All functions:
  Elements:
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2002
      start: 2001
    functionDepth: 0
    functionLinenumber: 2001
    functionLinenumberEnd: 2002
    functionName: wpa_config_debug_dump_networks
    functionSourceFile: /src/hostap/wpa_supplicant/config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: wpa_config_debug_dump_networks(c)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/offchannel.c:26,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/offchannel.c:30,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/offchannel.c:32,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/wpa_supplicant/offchannel.c:33,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/offchannel.c:41,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/offchannel.c:55,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/offchannel.c:60,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 2
    argNames:
    - wpa_s
    - src
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 67
    functionName: wpas_get_tx_interface
    functionSourceFile: /src/hostap/wpa_supplicant/offchannel.c
    functionUses: 0
    functionsReached:
    - wpabuf_len
    - wpa_printf
    - ether_addr_equal
    - wpabuf_head_u8
    linkageType: ''
    returnType: struct wpa_supplicant
    signature: 'struct wpa_supplicant *

      wpas_get_tx_interface(struct wpa_supplicant *wpa_s, const u8 *src)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/offchannel.c:79,1
    - Dst: wpas_get_tx_interface
      Src: /src/hostap/wpa_supplicant/offchannel.c:96,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/offchannel.c:101,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/offchannel.c:114,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/offchannel.c:118,1
    - Dst: wpa_drv_remain_on_channel
      Src: /src/hostap/wpa_supplicant/offchannel.c:125,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/offchannel.c:128,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/offchannel.c:141,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/offchannel.c:143,1
    - Dst: wpa_drv_send_action
      Src: /src/hostap/wpa_supplicant/offchannel.c:145,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/offchannel.c:149,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/offchannel.c:150,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/offchannel.c:153,1
    - Dst: offchannel_send_action_tx_status
      Src: /src/hostap/wpa_supplicant/offchannel.c:159,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/offchannel.c:161,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/offchannel.c:162,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 165
    functionName: wpas_send_action_cb
    functionSourceFile: /src/hostap/wpa_supplicant/offchannel.c
    functionUses: 0
    functionsReached:
    - wpas_get_tx_interface
    - wpa_printf
    - wpa_drv_send_action
    - wpabuf_len
    - wpa_drv_remain_on_channel
    - wpabuf_head
    - offchannel_send_action_tx_status
    - MAC2STR
    linkageType: ''
    returnType: void
    signature: void wpas_send_action_cb(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/offchannel.c:184,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/offchannel.c:189,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/offchannel.c:190,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/offchannel.c:196,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/offchannel.c:197,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/offchannel.c:197,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/offchannel.c:198,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/offchannel.c:199,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/offchannel.c:201,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/wpa_supplicant/offchannel.c:203,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/offchannel.c:208,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/offchannel.c:210,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/wpa_supplicant/offchannel.c:212,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/offchannel.c:214,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/offchannel.c:217,1
    - Dst: struct wpa_supplicant*::pending_action_tx_status_cb
      Src: /src/hostap/wpa_supplicant/offchannel.c:221,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/offchannel.c:231,1
    - Dst: wpas_p2p_listen_start
      Src: /src/hostap/wpa_supplicant/offchannel.c:232,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 5
    argNames:
    - wpa_s
    - dst
    - data
    - data_len
    - result
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - size_t
    - enum offchannel_send_action_result
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 235
    functionName: offchannel_send_action_tx_status
    functionSourceFile: /src/hostap/wpa_supplicant/offchannel.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - struct wpa_supplicant*::pending_action_tx_status_cb
    - wpa_hexdump
    - wpabuf_len
    - ether_addr_equal
    - wpabuf_free
    - wpabuf_head
    - MAC2STR
    - wpas_p2p_listen_start
    - os_memcmp
    - wpa_hexdump_buf
    linkageType: ''
    returnType: void
    signature: "void offchannel_send_action_tx_status(\n\tstruct wpa_supplicant *wpa_s,
      const u8 *dst, const u8 *data,\n\tsize_t data_len, enum offchannel_send_action_result
      result)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/offchannel.c:270,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/offchannel.c:272,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/offchannel.c:272,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/offchannel.c:272,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/offchannel.c:278,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/offchannel.c:280,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/wpa_supplicant/offchannel.c:282,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/offchannel.c:284,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/offchannel.c:287,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/offchannel.c:289,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/wpa_supplicant/offchannel.c:294,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/offchannel.c:295,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/offchannel.c:296,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/offchannel.c:297,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/offchannel.c:300,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/offchannel.c:303,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/wpa_supplicant/offchannel.c:304,1
    - Dst: wpas_get_tx_interface
      Src: /src/hostap/wpa_supplicant/offchannel.c:311,1
    - Dst: wpa_drv_send_action
      Src: /src/hostap/wpa_supplicant/offchannel.c:316,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/offchannel.c:320,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/offchannel.c:321,1
    - Dst: wpas_get_tx_interface
      Src: /src/hostap/wpa_supplicant/offchannel.c:330,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/offchannel.c:332,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/offchannel.c:340,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/offchannel.c:345,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/offchannel.c:346,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/offchannel.c:352,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/offchannel.c:358,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/offchannel.c:367,1
    - Dst: wpa_drv_remain_on_channel
      Src: /src/hostap/wpa_supplicant/offchannel.c:372,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/offchannel.c:373,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 67
    argCount: 9
    argNames:
    - wpa_s
    - freq
    - dst
    - src
    - bssid
    - buf
    - len
    - wait_time
    - no_cck
    argTypes:
    - struct wpa_supplicant*
    - unsigned int
    - u8*
    - u8*
    - u8*
    - u8*
    - size_t
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 259
    functionDepth: 2
    functionLinenumber: 259
    functionLinenumberEnd: 382
    functionName: offchannel_send_action
    functionSourceFile: /src/hostap/wpa_supplicant/offchannel.c
    functionUses: 0
    functionsReached:
    - wpas_get_tx_interface
    - wpa_printf
    - os_memcpy
    - wpa_drv_send_action
    - wpabuf_put_data
    - wpabuf_len
    - eloop_cancel_timeout
    - wpabuf_free
    - wpa_drv_remain_on_channel
    - wpabuf_head
    - MAC2STR
    - wpabuf_alloc
    - eloop_register_timeout
    - wpa_hexdump_buf
    linkageType: ''
    returnType: int
    signature: "int offchannel_send_action(struct wpa_supplicant *wpa_s, unsigned
      int freq,\n\t\t\t   const u8 *dst, const u8 *src, const u8 *bssid,\n\t\t\t   const
      u8 *buf, size_t len, unsigned int wait_time,\n\t\t\t   void (*tx_cb)(struct
      wpa_supplicant *wpa_s,\n\t\t\t\t\t unsigned int freq, const u8 *dst,\n\t\t\t\t\t
      const u8 *src, const u8 *bssid,\n\t\t\t\t\t const u8 *data, size_t data_len,\n\t\t\t\t\t
      enum offchannel_send_action_result\n\t\t\t\t\t result),\n\t\t\t   int no_cck)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/offchannel.c:394,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/offchannel.c:400,1
    - Dst: wpa_drv_send_action_cancel_wait
      Src: /src/hostap/wpa_supplicant/offchannel.c:404,1
    - Dst: wpa_drv_cancel_remain_on_channel
      Src: /src/hostap/wpa_supplicant/offchannel.c:406,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 411
    functionName: offchannel_send_action_done
    functionSourceFile: /src/hostap/wpa_supplicant/offchannel.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_free
    - wpa_drv_cancel_remain_on_channel
    - wpa_drv_send_action_cancel_wait
    linkageType: ''
    returnType: void
    signature: void offchannel_send_action_done(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_send_action_cb
      Src: /src/hostap/wpa_supplicant/offchannel.c:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - wpa_s
    - freq
    - duration
    argTypes:
    - struct wpa_supplicant*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 429
    functionName: offchannel_remain_on_channel_cb
    functionSourceFile: /src/hostap/wpa_supplicant/offchannel.c
    functionUses: 0
    functionsReached:
    - wpas_send_action_cb
    linkageType: ''
    returnType: void
    signature: "void offchannel_remain_on_channel_cb(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \    unsigned int freq, unsigned int duration)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - freq
    argTypes:
    - struct wpa_supplicant*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 444
    functionName: offchannel_cancel_remain_on_channel_cb
    functionSourceFile: /src/hostap/wpa_supplicant/offchannel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void offchannel_cancel_remain_on_channel_cb(struct wpa_supplicant
      *wpa_s,\n\t\t\t\t\t    unsigned int freq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 460
    functionName: offchannel_pending_action_tx
    functionSourceFile: /src/hostap/wpa_supplicant/offchannel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * offchannel_pending_action_tx(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/offchannel.c:469,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/offchannel.c:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 474
    functionName: offchannel_clear_pending_action_tx
    functionSourceFile: /src/hostap/wpa_supplicant/offchannel.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_free
    linkageType: ''
    returnType: void
    signature: void offchannel_clear_pending_action_tx(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: offchannel_clear_pending_action_tx
      Src: /src/hostap/wpa_supplicant/offchannel.c:486,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/offchannel.c:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 484
    functionDepth: 2
    functionLinenumber: 484
    functionLinenumberEnd: 488
    functionName: offchannel_deinit
    functionSourceFile: /src/hostap/wpa_supplicant/offchannel.c
    functionUses: 0
    functionsReached:
    - eloop_cancel_timeout
    - offchannel_clear_pending_action_tx
    linkageType: ''
    returnType: void
    signature: void offchannel_deinit(struct wpa_supplicant *wpa_s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_supplicant_get_ssid
      Src: /src/hostap/wpa_supplicant/scan.c:35,1
    - Dst: wpas_notify_network_changed
      Src: /src/hostap/wpa_supplicant/scan.c:41,1
    - Dst: wpa_supplicant_initiate_eapol
      Src: /src/hostap/wpa_supplicant/scan.c:43,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/scan.c:44,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/scan.c:46,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/wpa_supplicant/scan.c:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 48
    functionName: wpa_supplicant_gen_assoc_event
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - wpa_supplicant_get_ssid
    - wpas_notify_network_changed
    - wpa_supplicant_initiate_eapol
    - wpa_dbg
    - os_memset
    linkageType: ''
    returnType: void
    signature: void wpa_supplicant_gen_assoc_event(struct wpa_supplicant *wpa_s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpas_wps_get_req_type
      Src: /src/hostap/wpa_supplicant/scan.c:63,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/scan.c:64,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - wpa_s
    - req_type
    argTypes:
    - struct wpa_supplicant*
    - enum wps_request_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 80
    functionName: wpas_wps_in_use
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 0
    functionsReached:
    - os_strstr
    - wpas_wps_get_req_type
    linkageType: ''
    returnType: int
    signature: "int wpas_wps_in_use(struct wpa_supplicant *wpa_s,\n\t\t\t   enum wps_request_type
      *req_type)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/scan.c:102,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/scan.c:111,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/scan.c:115,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - wpa_s
    - params
    - mac_addr
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_driver_scan_params*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 119
    functionName: wpa_setup_mac_addr_rand_params
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 0
    functionsReached:
    - os_free
    - os_memcpy
    - os_malloc
    linkageType: ''
    returnType: int
    signature: "int wpa_setup_mac_addr_rand_params(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \ struct wpa_driver_scan_params *params,\n\t\t\t\t\t  const u8 *mac_addr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpas_network_disabled
      Src: /src/hostap/wpa_supplicant/scan.c:140,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/scan.c:150,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 154
    functionName: wpa_supplicant_enabled_networks
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 0
    functionsReached:
    - wpas_network_disabled
    - wpa_dbg
    linkageType: ''
    returnType: int
    signature: int wpa_supplicant_enabled_networks(struct wpa_supplicant *wpa_s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpas_network_disabled
      Src: /src/hostap/wpa_supplicant/scan.c:163,1
    - Dst: wpas_temp_disabled
      Src: /src/hostap/wpa_supplicant/scan.c:164,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/scan.c:178,1
    - Dst: wpa_supplicant_req_scan
      Src: /src/hostap/wpa_supplicant/scan.c:181,1
    - Dst: wpa_supplicant_associate
      Src: /src/hostap/wpa_supplicant/scan.c:191,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - wpa_s
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 192
    functionName: wpa_supplicant_assoc_try
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_associate
    - wpa_supplicant_req_scan
    - wpa_dbg
    - wpas_network_disabled
    - wpas_temp_disabled
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_assoc_try(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \    struct wpa_ssid *ssid)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: wpa_scan_free_params
      Src: /src/hostap/wpa_supplicant/scan.c:203,1
    - Dst: wpa_supplicant_notify_scanning
      Src: /src/hostap/wpa_supplicant/scan.c:206,1
    - Dst: wpas_notify_scan_done
      Src: /src/hostap/wpa_supplicant/scan.c:207,1
    - Dst: wpa_setup_mac_addr_rand_params
      Src: /src/hostap/wpa_supplicant/scan.c:213,1
    - Dst: wpas_update_random_addr_disassoc
      Src: /src/hostap/wpa_supplicant/scan.c:216,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/scan.c:217,1
    - Dst: wpa_scan_free_params
      Src: /src/hostap/wpa_supplicant/scan.c:219,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/scan.c:220,1
    - Dst: radio_work_done
      Src: /src/hostap/wpa_supplicant/scan.c:221,1
    - Dst: wpa_supplicant_notify_scanning
      Src: /src/hostap/wpa_supplicant/scan.c:225,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/scan.c:228,1
    - Dst: wpa_drv_scan
      Src: /src/hostap/wpa_supplicant/scan.c:232,1
    - Dst: wpa_scan_free_params
      Src: /src/hostap/wpa_supplicant/scan.c:244,1
    - Dst: wpa_supplicant_notify_scanning
      Src: /src/hostap/wpa_supplicant/scan.c:257,1
    - Dst: wpas_notify_scan_done
      Src: /src/hostap/wpa_supplicant/scan.c:258,1
    - Dst: wpa_supplicant_set_state
      Src: /src/hostap/wpa_supplicant/scan.c:260,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/scan.c:262,1
    - Dst: radio_work_done
      Src: /src/hostap/wpa_supplicant/scan.c:264,1
    - Dst: wpa_supplicant_req_scan
      Src: /src/hostap/wpa_supplicant/scan.c:269,1
    - Dst: wpas_rrm_refuse_request
      Src: /src/hostap/wpa_supplicant/scan.c:277,1
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/scan.c:283,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 58
    argCount: 2
    argNames:
    - work
    - deinit
    argTypes:
    - struct wpa_radio_work*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 289
    functionName: wpas_trigger_scan_cb
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 0
    functionsReached:
    - wpa_scan_free_params
    - wpa_printf
    - wpas_rrm_refuse_request
    - os_get_reltime
    - wpa_supplicant_req_scan
    - wpa_msg
    - wpa_drv_scan
    - wpa_supplicant_notify_scanning
    - wpas_update_random_addr_disassoc
    - radio_work_done
    - wpas_notify_scan_done
    - wpa_supplicant_set_state
    - wpa_setup_mac_addr_rand_params
    linkageType: ''
    returnType: void
    signature: void wpas_trigger_scan_cb(struct wpa_radio_work *work, int deinit)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/scan.c:312,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/scan.c:318,1
    - Dst: wpa_supplicant_extra_ies
      Src: /src/hostap/wpa_supplicant/scan.c:322,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/scan.c:324,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/scan.c:325,1
    - Dst: wpa_scan_clone_params
      Src: /src/hostap/wpa_supplicant/scan.c:328,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/scan.c:330,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/scan.c:338,1
    - Dst: radio_add_work
      Src: /src/hostap/wpa_supplicant/scan.c:343,1
    - Dst: wpa_scan_free_params
      Src: /src/hostap/wpa_supplicant/scan.c:345,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/scan.c:346,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 4
    argNames:
    - wpa_s
    - params
    - default_ies
    - next
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_driver_scan_params*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 353
    functionName: wpa_supplicant_trigger_scan
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 0
    functionsReached:
    - wpa_scan_free_params
    - wpa_printf
    - wpa_msg
    - wpabuf_len
    - wpabuf_free
    - wpa_scan_clone_params
    - wpabuf_head
    - radio_add_work
    - wpa_dbg
    - os_free
    - wpa_supplicant_extra_ies
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_trigger_scan(struct wpa_supplicant *wpa_s,\n\t\t\t\tstruct
      wpa_driver_scan_params *params,\n\t\t\t\tbool default_ies, bool next)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/scan.c:361,1
    - Dst: wpa_supplicant_req_sched_scan
      Src: /src/hostap/wpa_supplicant/scan.c:363,1
    - Dst: wpa_supplicant_req_scan
      Src: /src/hostap/wpa_supplicant/scan.c:364,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 365
    functionName: wpa_supplicant_delayed_sched_scan_timeout
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_req_sched_scan
    - wpa_supplicant_req_scan
    - wpa_dbg
    linkageType: ''
    returnType: void
    signature: void wpa_supplicant_delayed_sched_scan_timeout(void *eloop_ctx, void
      *timeout_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/scan.c:373,1
    - Dst: wpa_supplicant_cancel_sched_scan
      Src: /src/hostap/wpa_supplicant/scan.c:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 377
    functionName: wpa_supplicant_sched_scan_timeout
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_cancel_sched_scan
    - wpa_dbg
    linkageType: ''
    returnType: void
    signature: void wpa_supplicant_sched_scan_timeout(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_supplicant_notify_scanning
      Src: /src/hostap/wpa_supplicant/scan.c:386,1
    - Dst: wpa_drv_sched_scan
      Src: /src/hostap/wpa_supplicant/scan.c:387,1
    - Dst: wpa_supplicant_notify_scanning
      Src: /src/hostap/wpa_supplicant/scan.c:389,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - wpa_s
    - params
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_driver_scan_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 394
    functionName: wpa_supplicant_start_sched_scan
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_notify_scanning
    - wpa_drv_sched_scan
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_start_sched_scan(struct wpa_supplicant *wpa_s,\n\t\t\t\tstruct
      wpa_driver_scan_params *params)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_stop_sched_scan
      Src: /src/hostap/wpa_supplicant/scan.c:401,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/scan.c:403,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 409
    functionName: wpa_supplicant_stop_sched_scan
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 0
    functionsReached:
    - wpa_drv_stop_sched_scan
    - wpa_dbg
    linkageType: ''
    returnType: int
    signature: int wpa_supplicant_stop_sched_scan(struct wpa_supplicant *wpa_s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_calloc
      Src: /src/hostap/wpa_supplicant/scan.c:429,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/scan.c:436,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 2
    argNames:
    - conf
    - num_ssids
    argTypes:
    - struct wpa_config*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 442
    functionName: wpa_supplicant_build_filter_ssids
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - os_calloc
    linkageType: ''
    returnType: struct wpa_driver_scan_filter
    signature: 'struct wpa_driver_scan_filter *

      wpa_supplicant_build_filter_ssids(struct wpa_config *conf, size_t *num_ssids)'
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/scan.c:454,1
    - Dst: os_calloc
      Src: /src/hostap/wpa_supplicant/scan.c:457,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/scan.c:462,1
    - Dst: int_array_concat
      Src: /src/hostap/wpa_supplicant/scan.c:464,1
    - Dst: int_array_sort_unique
      Src: /src/hostap/wpa_supplicant/scan.c:467,1
    - Dst: dl_list_for_each
      Src: /src/hostap/wpa_supplicant/scan.c:487,1
    - Dst: wpa_bss_get
      Src: /src/hostap/wpa_supplicant/scan.c:489,1
    - Dst: disabled_freq
      Src: /src/hostap/wpa_supplicant/scan.c:494,1
    - Dst: os_calloc
      Src: /src/hostap/wpa_supplicant/scan.c:495,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/scan.c:497,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/scan.c:515,1
    - Dst: wpa_add_scan_freqs_list
      Src: /src/hostap/wpa_supplicant/scan.c:525,1
    - Dst: wpa_add_scan_freqs_list
      Src: /src/hostap/wpa_supplicant/scan.c:529,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/scan.c:533,1
    - Dst: os_calloc
      Src: /src/hostap/wpa_supplicant/scan.c:536,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/scan.c:550,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/scan.c:563,1
    - Dst: os_calloc
      Src: /src/hostap/wpa_supplicant/scan.c:565,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/scan.c:575,1
    - Dst: os_calloc
      Src: /src/hostap/wpa_supplicant/scan.c:577,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 71
    argCount: 2
    argNames:
    - wpa_s
    - params
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_driver_scan_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 583
    functionName: wpa_supplicant_optimize_freqs
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 0
    functionsReached:
    - os_calloc
    - int_array_concat
    - int_array_sort_unique
    - disabled_freq
    - dl_list_for_each
    - wpa_add_scan_freqs_list
    - wpa_dbg
    - wpa_bss_get
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_optimize_freqs(\n\tstruct wpa_supplicant *wpa_s,
      struct wpa_driver_scan_params *params)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/scan.c:590,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/scan.c:591,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/scan.c:591,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/scan.c:593,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/scan.c:595,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/wpa_supplicant/scan.c:596,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - wpa_s
    - buf
    argTypes:
    - struct wpa_supplicant*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 587
    functionDepth: 1
    functionLinenumber: 587
    functionLinenumberEnd: 597
    functionName: wpas_add_interworking_elements
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 0
    functionsReached:
    - is_zero_ether_addr
    - wpabuf_put_data
    - wpabuf_put_u8
    linkageType: ''
    returnType: void
    signature: "void wpas_add_interworking_elements(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \  struct wpabuf *buf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_resize
      Src: /src/hostap/wpa_supplicant/scan.c:605,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/scan.c:606,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/scan.c:612,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/scan.c:613,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/scan.c:614,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/scan.c:616,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/scan.c:623,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - wpa_s
    - ie
    argTypes:
    - struct wpa_supplicant*
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 602
    functionDepth: 1
    functionLinenumber: 602
    functionLinenumberEnd: 624
    functionName: wpas_fils_req_param_add_max_channel
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_resize
    - wpabuf_put_u8
    linkageType: ''
    returnType: void
    signature: "void wpas_fils_req_param_add_max_channel(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t\tstruct
      wpabuf **ie)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_get_ext_capa
      Src: /src/hostap/wpa_supplicant/scan.c:640,1
    - Dst: wpas_build_ext_capab
      Src: /src/hostap/wpa_supplicant/scan.c:642,1
    - Dst: wpabuf_resize
      Src: /src/hostap/wpa_supplicant/scan.c:645,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/wpa_supplicant/scan.c:646,1
    - Dst: wpas_fils_req_param_add_max_channel
      Src: /src/hostap/wpa_supplicant/scan.c:650,1
    - Dst: wpabuf_resize
      Src: /src/hostap/wpa_supplicant/scan.c:652,1
    - Dst: wpas_mbo_scan_ie
      Src: /src/hostap/wpa_supplicant/scan.c:653,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/scan.c:664,1
    - Dst: wpabuf_resize
      Src: /src/hostap/wpa_supplicant/scan.c:665,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/wpa_supplicant/scan.c:666,1
    - Dst: wpa_drv_set_default_scan_ies
      Src: /src/hostap/wpa_supplicant/scan.c:671,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/scan.c:671,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/scan.c:672,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/scan.c:673,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 628
    functionDepth: 2
    functionLinenumber: 628
    functionLinenumberEnd: 674
    functionName: wpa_supplicant_set_default_scan_ies
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 0
    functionsReached:
    - wpabuf_resize
    - wpabuf_put_data
    - wpabuf_len
    - wpabuf_free
    - wpabuf_head
    - wpa_drv_set_default_scan_ies
    - wpabuf_put_buf
    - wpa_drv_get_ext_capa
    - wpas_mbo_scan_ie
    - wpas_fils_req_param_add_max_channel
    - wpas_build_ext_capab
    linkageType: ''
    returnType: void
    signature: void wpa_supplicant_set_default_scan_ies(struct wpa_supplicant *wpa_s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/scan.c:690,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/scan.c:694,1
    - Dst: wpabuf_put
      Src: /src/hostap/wpa_supplicant/scan.c:695,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/scan.c:696,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/wpa_supplicant/scan.c:698,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/scan.c:702,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/scan.c:703,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/scan.c:705,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/scan.c:708,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/scan.c:710,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/scan.c:714,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/scan.c:716,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/scan.c:719,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/scan.c:722,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/wpa_supplicant/scan.c:726,1
    - Dst: wpabuf_put
      Src: /src/hostap/wpa_supplicant/scan.c:729,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 2
    argNames:
    - mld_id
    - links
    argTypes:
    - int
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 677
    functionDepth: 1
    functionLinenumber: 677
    functionLinenumberEnd: 732
    functionName: wpa_supplicant_ml_probe_ie
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put
    - wpabuf_put_u8
    - wpabuf_put_le16
    - wpabuf_alloc
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * wpa_supplicant_ml_probe_ie(int mld_id, u16 links)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/scan.c:719,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/scan.c:722,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/wpa_supplicant/scan.c:726,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 718
    functionDepth: 1
    functionLinenumber: 718
    functionLinenumberEnd: 727
    functionName: for_each_link
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 0
    functionsReached:
    - wpabuf_put_u8
    - wpabuf_put_le16
    linkageType: ''
    returnType: void
    signature: void for_each_link(links, link_id)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/scan.c:745,1
    - Dst: wpa_supplicant_ml_probe_ie
      Src: /src/hostap/wpa_supplicant/scan.c:746,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/scan.c:750,1
    - Dst: wpa_drv_get_ext_capa
      Src: /src/hostap/wpa_supplicant/scan.c:756,1
    - Dst: wpa_drv_get_ext_capa
      Src: /src/hostap/wpa_supplicant/scan.c:759,1
    - Dst: wpas_build_ext_capab
      Src: /src/hostap/wpa_supplicant/scan.c:761,1
    - Dst: wpabuf_resize
      Src: /src/hostap/wpa_supplicant/scan.c:765,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/wpa_supplicant/scan.c:766,1
    - Dst: wpabuf_resize
      Src: /src/hostap/wpa_supplicant/scan.c:771,1
    - Dst: wpas_add_interworking_elements
      Src: /src/hostap/wpa_supplicant/scan.c:772,1
    - Dst: wpas_fils_req_param_add_max_channel
      Src: /src/hostap/wpa_supplicant/scan.c:778,1
    - Dst: wpas_wps_in_use
      Src: /src/hostap/wpa_supplicant/scan.c:782,1
    - Dst: wps_build_probe_req_ie
      Src: /src/hostap/wpa_supplicant/scan.c:786,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/scan.c:792,1
    - Dst: wpabuf_resize
      Src: /src/hostap/wpa_supplicant/scan.c:793,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/scan.c:793,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/wpa_supplicant/scan.c:794,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/scan.c:795,1
    - Dst: p2p_scan_ie_buf_len
      Src: /src/hostap/wpa_supplicant/scan.c:800,1
    - Dst: wpabuf_resize
      Src: /src/hostap/wpa_supplicant/scan.c:803,1
    - Dst: wpas_p2p_scan_ie
      Src: /src/hostap/wpa_supplicant/scan.c:804,1
    - Dst: wpa_supplicant_mesh_add_scan_ie
      Src: /src/hostap/wpa_supplicant/scan.c:808,1
    - Dst: wpabuf_resize
      Src: /src/hostap/wpa_supplicant/scan.c:814,1
    - Dst: wpas_hs20_add_indication
      Src: /src/hostap/wpa_supplicant/scan.c:815,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/scan.c:820,1
    - Dst: wpabuf_resize
      Src: /src/hostap/wpa_supplicant/scan.c:821,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/scan.c:821,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/wpa_supplicant/scan.c:822,1
    - Dst: wpabuf_resize
      Src: /src/hostap/wpa_supplicant/scan.c:827,1
    - Dst: wpas_mbo_scan_ie
      Src: /src/hostap/wpa_supplicant/scan.c:828,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/scan.c:834,1
    - Dst: wpabuf_resize
      Src: /src/hostap/wpa_supplicant/scan.c:835,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/scan.c:835,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/wpa_supplicant/scan.c:836,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 39
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 735
    functionDepth: 2
    functionLinenumber: 735
    functionLinenumberEnd: 840
    functionName: wpa_supplicant_extra_ies
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 1
    functionsReached:
    - wpas_p2p_scan_ie
    - wps_build_probe_req_ie
    - wpa_drv_get_ext_capa
    - wpas_build_ext_capab
    - wpa_printf
    - wpas_add_interworking_elements
    - wpa_supplicant_mesh_add_scan_ie
    - wpabuf_put_data
    - wpas_fils_req_param_add_max_channel
    - wpas_hs20_add_indication
    - wpabuf_len
    - is_zero_ether_addr
    - wpas_wps_in_use
    - wpas_mbo_scan_ie
    - wpabuf_resize
    - wpa_supplicant_ml_probe_ie
    - wpabuf_free
    - p2p_scan_ie_buf_len
    - wpabuf_put_buf
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * wpa_supplicant_extra_ies(struct wpa_supplicant *wpa_s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpas_network_disabled
      Src: /src/hostap/wpa_supplicant/scan.c:854,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 849
    functionDepth: 1
    functionLinenumber: 849
    functionLinenumberEnd: 865
    functionName: non_p2p_network_enabled
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 0
    functionsReached:
    - wpas_network_disabled
    linkageType: ''
    returnType: int
    signature: int non_p2p_network_enabled(struct wpa_supplicant *wpa_s)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: get_mode
      Src: /src/hostap/wpa_supplicant/scan.c:881,1
    - Dst: os_realloc
      Src: /src/hostap/wpa_supplicant/scan.c:890,1
    - Dst: is_6ghz_psc_frequency
      Src: /src/hostap/wpa_supplicant/scan.c:904,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 23
    argCount: 6
    argNames:
    - wpa_s
    - band
    - params
    - is_6ghz
    - only_6ghz_psc
    - exclude_radar
    argTypes:
    - struct wpa_supplicant*
    - enum hostapd_hw_mode
    - struct wpa_driver_scan_params*
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 870
    functionDepth: 1
    functionLinenumber: 870
    functionLinenumberEnd: 912
    functionName: wpa_add_scan_freqs_list
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 1
    functionsReached:
    - os_realloc
    - get_mode
    - is_6ghz_psc_frequency
    linkageType: ''
    returnType: int
    signature: "int wpa_add_scan_freqs_list(struct wpa_supplicant *wpa_s,\n\t\t\t
      \   enum hostapd_hw_mode band,\n\t\t\t    struct wpa_driver_scan_params *params,\n\t\t\t
      \   bool is_6ghz, bool only_6ghz_psc,\n\t\t\t    bool exclude_radar)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_add_scan_freqs_list
      Src: /src/hostap/wpa_supplicant/scan.c:924,1
    - Dst: wpa_add_scan_freqs_list
      Src: /src/hostap/wpa_supplicant/scan.c:927,1
    - Dst: wpa_add_scan_freqs_list
      Src: /src/hostap/wpa_supplicant/scan.c:930,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - wpa_s
    - params
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_driver_scan_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 915
    functionDepth: 2
    functionLinenumber: 915
    functionLinenumberEnd: 932
    functionName: wpa_setband_scan_freqs
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 0
    functionsReached:
    - wpa_add_scan_freqs_list
    linkageType: ''
    returnType: void
    signature: "void wpa_setband_scan_freqs(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \  struct wpa_driver_scan_params *params)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/scan.c:944,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/scan.c:949,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/scan.c:953,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/wpa_supplicant/scan.c:954,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 5
    argNames:
    - wpa_s
    - params
    - max_ssids
    - ssid
    - ssid_len
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_driver_scan_params*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 935
    functionDepth: 1
    functionLinenumber: 935
    functionLinenumberEnd: 959
    functionName: wpa_add_scan_ssid
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 0
    functionsReached:
    - wpa_ssid_txt
    - wpa_printf
    - os_memcmp
    linkageType: ''
    returnType: void
    signature: "void wpa_add_scan_ssid(struct wpa_supplicant *wpa_s,\n\t\t\t      struct
      wpa_driver_scan_params *params,\n\t\t\t      size_t max_ssids, const u8 *ssid,
      size_t ssid_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/scan.c:972,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/wpa_supplicant/scan.c:973,1
    - Dst: dl_list_for_each
      Src: /src/hostap/wpa_supplicant/scan.c:975,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/scan.c:980,1
    - Dst: wpa_bss_get_vendor_ie
      Src: /src/hostap/wpa_supplicant/scan.c:983,1
    - Dst: wpas_get_owe_trans_network
      Src: /src/hostap/wpa_supplicant/scan.c:987,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/scan.c:991,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/wpa_supplicant/scan.c:993,1
    - Dst: wpa_add_scan_ssid
      Src: /src/hostap/wpa_supplicant/scan.c:995,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 4
    argNames:
    - wpa_s
    - params
    - ssid
    - max_ssids
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_driver_scan_params*
    - struct wpa_ssid*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 962
    functionDepth: 2
    functionLinenumber: 962
    functionLinenumberEnd: 1000
    functionName: wpa_add_owe_scan_ssid
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_ssid_txt
    - wpas_get_owe_trans_network
    - dl_list_for_each
    - os_memcmp
    - wpa_add_scan_ssid
    - wpa_bss_get_vendor_ie
    linkageType: ''
    returnType: void
    signature: "void wpa_add_owe_scan_ssid(struct wpa_supplicant *wpa_s,\n\t\t\t   struct
      wpa_driver_scan_params *params,\n\t\t\t   const struct wpa_ssid *ssid, size_t
      max_ssids)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_get_network
      Src: /src/hostap/wpa_supplicant/scan.c:1017,1
    - Dst: wpa_add_scan_ssid
      Src: /src/hostap/wpa_supplicant/scan.c:1021,1
    - Dst: wpa_add_owe_scan_ssid
      Src: /src/hostap/wpa_supplicant/scan.c:1027,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - wpa_s
    - params
    - max_ssids
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_driver_scan_params*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 1003
    functionDepth: 3
    functionLinenumber: 1003
    functionLinenumberEnd: 1031
    functionName: wpa_set_scan_ssids
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 0
    functionsReached:
    - wpa_add_scan_ssid
    - wpa_config_get_network
    - wpa_add_owe_scan_ssid
    linkageType: ''
    returnType: void
    signature: "void wpa_set_scan_ssids(struct wpa_supplicant *wpa_s,\n\t\t\t       struct
      wpa_driver_scan_params *params,\n\t\t\t       size_t max_ssids)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/scan.c:1046,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/wpa_supplicant/scan.c:1054,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - wpa_s
    - params
    - max_ssids
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_driver_scan_params*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1034
    functionDepth: 0
    functionLinenumber: 1034
    functionLinenumberEnd: 1062
    functionName: wpa_set_ssids_from_scan_req
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: int
    signature: "int wpa_set_ssids_from_scan_req(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \      struct wpa_driver_scan_params *params,\n\t\t\t\t       size_t max_ssids)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout_one
      Src: /src/hostap/wpa_supplicant/scan.c:1604,1
    - Dst: os_reltime_before
      Src: /src/hostap/wpa_supplicant/scan.c:1609,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/scan.c:1615,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - wpa_s
    - sec
    argTypes:
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1619
      start: 1599
    functionDepth: 1
    functionLinenumber: 1599
    functionLinenumberEnd: 1619
    functionName: wpa_supplicant_update_scan_int
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 0
    functionsReached:
    - eloop_cancel_timeout_one
    - eloop_register_timeout
    - os_reltime_before
    linkageType: ''
    returnType: void
    signature: void wpa_supplicant_update_scan_int(struct wpa_supplicant *wpa_s, int
      sec)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/scan.c:1636,1
    - Dst: eloop_deplete_timeout
      Src: /src/hostap/wpa_supplicant/scan.c:1642,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/scan.c:1645,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/scan.c:1648,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/scan.c:1651,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/scan.c:1653,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - wpa_s
    - sec
    - usec
    argTypes:
    - struct wpa_supplicant*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1655
      start: 1631
    functionDepth: 1
    functionLinenumber: 1631
    functionLinenumberEnd: 1655
    functionName: wpa_supplicant_req_scan
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 3
    functionsReached:
    - eloop_register_timeout
    - eloop_deplete_timeout
    - wpa_dbg
    linkageType: ''
    returnType: void
    signature: void wpa_supplicant_req_scan(struct wpa_supplicant *wpa_s, int sec,
      int usec)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/scan.c:1674,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - wpa_s
    - sec
    - usec
    argTypes:
    - struct wpa_supplicant*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1679
      start: 1668
    functionDepth: 0
    functionLinenumber: 1668
    functionLinenumberEnd: 1679
    functionName: wpa_supplicant_delayed_sched_scan
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 0
    functionsReached:
    - eloop_register_timeout
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_delayed_sched_scan(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \     int sec, int usec)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - wpa_s
    - params
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_driver_scan_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1699
      start: 1682
    functionDepth: 0
    functionLinenumber: 1682
    functionLinenumberEnd: 1699
    functionName: wpa_scan_set_relative_rssi_params
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpa_scan_set_relative_rssi_params(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \ struct wpa_driver_scan_params *params)"
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/scan.c:1736,1
    - Dst: wpas_network_disabled
      Src: /src/hostap/wpa_supplicant/scan.c:1742,1
    - Dst: wpas_network_disabled
      Src: /src/hostap/wpa_supplicant/scan.c:1745,1
    - Dst: wpas_network_disabled
      Src: /src/hostap/wpa_supplicant/scan.c:1750,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/scan.c:1758,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/scan.c:1777,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/scan.c:1783,1
    - Dst: os_calloc
      Src: /src/hostap/wpa_supplicant/scan.c:1786,1
    - Dst: wpa_supplicant_set_state
      Src: /src/hostap/wpa_supplicant/scan.c:1792,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/scan.c:1812,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/scan.c:1820,1
    - Dst: wpas_network_disabled
      Src: /src/hostap/wpa_supplicant/scan.c:1825,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/scan.c:1830,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/wpa_supplicant/scan.c:1831,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/scan.c:1832,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/scan.c:1839,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/scan.c:1841,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/scan.c:1849,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/wpa_supplicant/scan.c:1851,1
    - Dst: wpas_network_disabled
      Src: /src/hostap/wpa_supplicant/scan.c:1862,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/scan.c:1874,1
    - Dst: wpa_supplicant_extra_ies
      Src: /src/hostap/wpa_supplicant/scan.c:1878,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/scan.c:1880,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/scan.c:1881,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/scan.c:1889,1
    - Dst: int_array_concat
      Src: /src/hostap/wpa_supplicant/scan.c:1891,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/scan.c:1914,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/scan.c:1927,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/scan.c:1943,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/scan.c:1949,1
    - Dst: wpa_setband_scan_freqs
      Src: /src/hostap/wpa_supplicant/scan.c:1954,1
    - Dst: wpa_setup_mac_addr_rand_params
      Src: /src/hostap/wpa_supplicant/scan.c:1957,1
    - Dst: wpa_scan_set_relative_rssi_params
      Src: /src/hostap/wpa_supplicant/scan.c:1960,1
    - Dst: wpa_supplicant_start_sched_scan
      Src: /src/hostap/wpa_supplicant/scan.c:1962,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/scan.c:1963,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/scan.c:1964,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/scan.c:1965,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/scan.c:1967,1
    - Dst: wpa_supplicant_set_state
      Src: /src/hostap/wpa_supplicant/scan.c:1969,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/scan.c:1976,1
    CyclomaticComplexity: 70
    EdgeCount: 70
    ICount: 173
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1996
      start: 1710
    functionDepth: 3
    functionLinenumber: 1710
    functionLinenumberEnd: 1996
    functionName: wpa_supplicant_req_sched_scan
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 1
    functionsReached:
    - int_array_concat
    - wpa_setup_mac_addr_rand_params
    - wpa_printf
    - wpa_supplicant_start_sched_scan
    - wpa_ssid_txt
    - wpa_setband_scan_freqs
    - os_free
    - wpas_network_disabled
    - wpabuf_len
    - wpabuf_head
    - wpa_dbg
    - wpa_supplicant_extra_ies
    - os_memset
    - os_memcpy
    - os_calloc
    - wpa_msg
    - wpabuf_free
    - wpa_supplicant_set_state
    - wpa_scan_set_relative_rssi_params
    - eloop_register_timeout
    linkageType: ''
    returnType: int
    signature: int wpa_supplicant_req_sched_scan(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/scan.c:2008,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/scan.c:2009,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2010
      start: 2006
    functionDepth: 1
    functionLinenumber: 2006
    functionLinenumberEnd: 2010
    functionName: wpa_supplicant_cancel_scan
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 0
    functionsReached:
    - eloop_cancel_timeout
    - wpa_dbg
    linkageType: ''
    returnType: void
    signature: void wpa_supplicant_cancel_scan(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/scan.c:2024,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/scan.c:2025,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2027
      start: 2019
    functionDepth: 1
    functionLinenumber: 2019
    functionLinenumberEnd: 2027
    functionName: wpa_supplicant_cancel_delayed_sched_scan
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 0
    functionsReached:
    - eloop_cancel_timeout
    - wpa_dbg
    linkageType: ''
    returnType: void
    signature: void wpa_supplicant_cancel_delayed_sched_scan(struct wpa_supplicant
      *wpa_s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/scan.c:2044,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/scan.c:2045,1
    - Dst: wpa_supplicant_stop_sched_scan
      Src: /src/hostap/wpa_supplicant/scan.c:2046,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2047
      start: 2036
    functionDepth: 2
    functionLinenumber: 2036
    functionLinenumberEnd: 2047
    functionName: wpa_supplicant_cancel_sched_scan
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 1
    functionsReached:
    - eloop_cancel_timeout
    - wpa_supplicant_stop_sched_scan
    - wpa_dbg
    linkageType: ''
    returnType: void
    signature: void wpa_supplicant_cancel_sched_scan(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_notify_scanning
      Src: /src/hostap/wpa_supplicant/scan.c:2065,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - wpa_s
    - scanning
    argTypes:
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2067
      start: 2060
    functionDepth: 1
    functionLinenumber: 2060
    functionLinenumberEnd: 2067
    functionName: wpa_supplicant_notify_scanning
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 2
    functionsReached:
    - wpas_notify_scanning
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_notify_scanning(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \   int scanning)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_scan_get_ie
      Src: /src/hostap/wpa_supplicant/scan.c:2076,1
    - Dst: wpa_scan_get_ie
      Src: /src/hostap/wpa_supplicant/scan.c:2082,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - res
    argTypes:
    - struct wpa_scan_res*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2089
      start: 2070
    functionDepth: 0
    functionLinenumber: 2070
    functionLinenumberEnd: 2089
    functionName: wpa_scan_get_max_rate
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 0
    functionsReached:
    - wpa_scan_get_ie
    linkageType: ''
    returnType: int
    signature: int wpa_scan_get_max_rate(const struct wpa_scan_res *res)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_ie
      Src: /src/hostap/wpa_supplicant/scan.c:2109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - res
    - ie
    argTypes:
    - struct wpa_scan_res*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2110
      start: 2101
    functionDepth: 1
    functionLinenumber: 2101
    functionLinenumberEnd: 2110
    functionName: wpa_scan_get_ie
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 1
    functionsReached:
    - get_ie
    linkageType: ''
    returnType: u8
    signature: u8 * wpa_scan_get_ie(const struct wpa_scan_res *res, u8 ie)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_ml_ie
      Src: /src/hostap/wpa_supplicant/scan.c:2121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - res
    - type
    argTypes:
    - struct wpa_scan_res*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2122
      start: 2113
    functionDepth: 1
    functionLinenumber: 2113
    functionLinenumberEnd: 2122
    functionName: wpa_scan_get_ml_ie
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 0
    functionsReached:
    - get_ml_ie
    linkageType: ''
    returnType: u8
    signature: u8 * wpa_scan_get_ml_ie(const struct wpa_scan_res *res, u8 type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: for_each_element_id
      Src: /src/hostap/wpa_supplicant/scan.c:2142,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/wpa_supplicant/scan.c:2144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - res
    - vendor_type
    argTypes:
    - struct wpa_scan_res*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2149
      start: 2134
    functionDepth: 1
    functionLinenumber: 2134
    functionLinenumberEnd: 2149
    functionName: wpa_scan_get_vendor_ie
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 0
    functionsReached:
    - for_each_element_id
    - WPA_GET_BE32
    linkageType: ''
    returnType: u8
    signature: "u8 * wpa_scan_get_vendor_ie(const struct wpa_scan_res *res,\n\t\t\t\t
      \ u32 vendor_type)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: for_each_element_id
      Src: /src/hostap/wpa_supplicant/scan.c:2176,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/wpa_supplicant/scan.c:2179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - res
    - vendor_type
    argTypes:
    - struct wpa_scan_res*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2184
      start: 2164
    functionDepth: 1
    functionLinenumber: 2164
    functionLinenumberEnd: 2184
    functionName: wpa_scan_get_vendor_ie_beacon
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 0
    functionsReached:
    - for_each_element_id
    - WPA_GET_BE32
    linkageType: ''
    returnType: u8
    signature: "u8 * wpa_scan_get_vendor_ie_beacon(const struct wpa_scan_res *res,\n\t\t\t\t\t
      u32 vendor_type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/scan.c:2203,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/wpa_supplicant/scan.c:2219,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/wpa_supplicant/scan.c:2220,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/scan.c:2224,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/scan.c:2225,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - res
    - vendor_type
    argTypes:
    - struct wpa_scan_res*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2230
      start: 2197
    functionDepth: 1
    functionLinenumber: 2197
    functionLinenumberEnd: 2230
    functionName: wpa_scan_get_vendor_ie_multi
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 0
    functionsReached:
    - wpabuf_put_data
    - wpabuf_len
    - wpabuf_free
    - wpabuf_alloc
    - WPA_GET_BE32
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * wpa_scan_get_vendor_ie_multi(const struct wpa_scan_res
      *res,\n\t\t\t\t\t     u32 vendor_type)"
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - cw
    argTypes:
    - enum chan_width
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2248
      start: 2233
    functionDepth: 0
    functionLinenumber: 2233
    functionLinenumberEnd: 2248
    functionName: wpas_channel_width_offset
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpas_channel_width_offset(enum chan_width cw)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpas_channel_width_offset
      Src: /src/hostap/wpa_supplicant/scan.c:2273,1
    - Dst: MIN
      Src: /src/hostap/wpa_supplicant/scan.c:2303,1
    - Dst: MIN
      Src: /src/hostap/wpa_supplicant/scan.c:2304,1
    - Dst: MIN
      Src: /src/hostap/wpa_supplicant/scan.c:2317,1
    - Dst: MIN
      Src: /src/hostap/wpa_supplicant/scan.c:2343,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 30
    argCount: 3
    argNames:
    - ies
    - ies_len
    - cw
    argTypes:
    - u8*
    - size_t
    - enum chan_width
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2348
      start: 2270
    functionDepth: 1
    functionLinenumber: 2270
    functionLinenumberEnd: 2348
    functionName: wpas_channel_width_tx_pwr
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 0
    functionsReached:
    - wpas_channel_width_offset
    - MIN
    linkageType: ''
    returnType: int
    signature: "int wpas_channel_width_tx_pwr(const u8 *ies, size_t ies_len,\n\t\t\t\t
      \    enum chan_width cw)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/hostap/wpa_supplicant/scan.c:2303,1
    - Dst: MIN
      Src: /src/hostap/wpa_supplicant/scan.c:2304,1
    - Dst: MIN
      Src: /src/hostap/wpa_supplicant/scan.c:2317,1
    - Dst: MIN
      Src: /src/hostap/wpa_supplicant/scan.c:2343,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2345
      start: 2277
    functionDepth: 1
    functionLinenumber: 2277
    functionLinenumberEnd: 2345
    functionName: for_each_element_id
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 2
    functionsReached:
    - MIN
    linkageType: ''
    returnType: void
    signature: "void for_each_element_id(elem, WLAN_EID_TRANSMIT_POWER_ENVELOPE, ies,\n\t\t\t
      \   ies_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_channel_width_tx_pwr
      Src: /src/hostap/wpa_supplicant/scan.c:2358,1
    - Dst: wpas_channel_width_tx_pwr
      Src: /src/hostap/wpa_supplicant/scan.c:2360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - ies
    - ies_len
    - cw
    argTypes:
    - u8*
    - size_t
    - enum chan_width
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2365
      start: 2355
    functionDepth: 2
    functionLinenumber: 2355
    functionLinenumberEnd: 2365
    functionName: wpas_channel_width_rssi_bump
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 0
    functionsReached:
    - wpas_channel_width_tx_pwr
    linkageType: ''
    returnType: int
    signature: "int wpas_channel_width_rssi_bump(const u8 *ies, size_t ies_len,\n\t\t\t\t
      enum chan_width cw)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_channel_width_rssi_bump
      Src: /src/hostap/wpa_supplicant/scan.c:2371,1
    - Dst: wpas_channel_width_offset
      Src: /src/hostap/wpa_supplicant/scan.c:2379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ies
    - ies_len
    - max_cw
    - snr
    argTypes:
    - u8*
    - size_t
    - enum chan_width
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2382
      start: 2368
    functionDepth: 3
    functionLinenumber: 2368
    functionLinenumberEnd: 2382
    functionName: wpas_adjust_snr_by_chanwidth
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 0
    functionsReached:
    - wpas_channel_width_rssi_bump
    - wpas_channel_width_offset
    linkageType: ''
    returnType: int
    signature: "int wpas_adjust_snr_by_chanwidth(const u8 *ies, size_t ies_len,\n\t\t\t\t
      enum chan_width max_cw, int snr)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: wpa_scan_get_vendor_ie
      Src: /src/hostap/wpa_supplicant/scan.c:2401,1
    - Dst: wpa_scan_get_ie
      Src: /src/hostap/wpa_supplicant/scan.c:2402,1
    - Dst: wpa_scan_get_vendor_ie
      Src: /src/hostap/wpa_supplicant/scan.c:2403,1
    - Dst: wpa_scan_get_ie
      Src: /src/hostap/wpa_supplicant/scan.c:2404,1
    - Dst: wpas_adjust_snr_by_chanwidth
      Src: /src/hostap/wpa_supplicant/scan.c:2426,1
    - Dst: MIN
      Src: /src/hostap/wpa_supplicant/scan.c:2429,1
    - Dst: wpas_adjust_snr_by_chanwidth
      Src: /src/hostap/wpa_supplicant/scan.c:2431,1
    - Dst: MIN
      Src: /src/hostap/wpa_supplicant/scan.c:2434,1
    - Dst: wpa_scan_get_ie
      Src: /src/hostap/wpa_supplicant/scan.c:2446,1
    - Dst: wpa_scan_get_ie
      Src: /src/hostap/wpa_supplicant/scan.c:2447,1
    - Dst: wpa_parse_wpa_ie_rsn
      Src: /src/hostap/wpa_supplicant/scan.c:2452,1
    - Dst: wpa_key_mgmt_wpa_psk_no_sae
      Src: /src/hostap/wpa_supplicant/scan.c:2453,1
    - Dst: wpa_key_mgmt_sae
      Src: /src/hostap/wpa_supplicant/scan.c:2454,1
    - Dst: wpa_parse_wpa_ie_rsn
      Src: /src/hostap/wpa_supplicant/scan.c:2456,1
    - Dst: wpa_key_mgmt_wpa_psk_no_sae
      Src: /src/hostap/wpa_supplicant/scan.c:2457,1
    - Dst: wpa_key_mgmt_sae
      Src: /src/hostap/wpa_supplicant/scan.c:2458,1
    - Dst: abs
      Src: /src/hostap/wpa_supplicant/scan.c:2475,1
    - Dst: is_6ghz_freq
      Src: /src/hostap/wpa_supplicant/scan.c:2476,1
    - Dst: is_6ghz_freq
      Src: /src/hostap/wpa_supplicant/scan.c:2477,1
    - Dst: abs
      Src: /src/hostap/wpa_supplicant/scan.c:2482,1
    - Dst: abs
      Src: /src/hostap/wpa_supplicant/scan.c:2483,1
    - Dst: is_6ghz_freq
      Src: /src/hostap/wpa_supplicant/scan.c:2484,1
    - Dst: is_6ghz_freq
      Src: /src/hostap/wpa_supplicant/scan.c:2484,1
    - Dst: is_6ghz_freq
      Src: /src/hostap/wpa_supplicant/scan.c:2485,1
    - Dst: IS_5GHZ
      Src: /src/hostap/wpa_supplicant/scan.c:2486,1
    - Dst: IS_5GHZ
      Src: /src/hostap/wpa_supplicant/scan.c:2486,1
    - Dst: IS_5GHZ
      Src: /src/hostap/wpa_supplicant/scan.c:2487,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 51
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2496
      start: 2387
    functionDepth: 4
    functionLinenumber: 2387
    functionLinenumberEnd: 2496
    functionName: wpa_scan_result_compar
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 0
    functionsReached:
    - wpa_key_mgmt_sae
    - wpa_scan_get_vendor_ie
    - wpas_adjust_snr_by_chanwidth
    - is_6ghz_freq
    - wpa_key_mgmt_wpa_psk_no_sae
    - wpa_parse_wpa_ie_rsn
    - IS_5GHZ
    - wpa_scan_get_ie
    - MIN
    - abs
    linkageType: ''
    returnType: int
    signature: int wpa_scan_result_compar(const void *a, const void *b)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_scan_get_vendor_ie
      Src: /src/hostap/wpa_supplicant/scan.c:2514,1
    - Dst: wpa_scan_get_vendor_ie
      Src: /src/hostap/wpa_supplicant/scan.c:2515,1
    - Dst: wpa_scan_get_vendor_ie_multi
      Src: /src/hostap/wpa_supplicant/scan.c:2522,1
    - Dst: wpa_scan_get_vendor_ie_multi
      Src: /src/hostap/wpa_supplicant/scan.c:2523,1
    - Dst: wps_ap_priority_compar
      Src: /src/hostap/wpa_supplicant/scan.c:2524,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/scan.c:2525,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/scan.c:2526,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2543
      start: 2502
    functionDepth: 2
    functionLinenumber: 2502
    functionLinenumberEnd: 2543
    functionName: wpa_scan_result_wps_compar
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 0
    functionsReached:
    - wpa_scan_get_vendor_ie
    - wps_ap_priority_compar
    - wpabuf_free
    - wpa_scan_get_vendor_ie_multi
    linkageType: ''
    returnType: int
    signature: int wpa_scan_result_wps_compar(const void *a, const void *b)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/scan.c:2555,1
    - Dst: wpa_scan_get_ie
      Src: /src/hostap/wpa_supplicant/scan.c:2563,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/scan.c:2572,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/scan.c:2574,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/wpa_supplicant/scan.c:2575,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/scan.c:2582,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/scan.c:2584,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/wpa_supplicant/scan.c:2585,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/scan.c:2592,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/scan.c:2595,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - scan_res
    argTypes:
    - struct wpa_scan_results*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2599
      start: 2547
    functionDepth: 1
    functionLinenumber: 2547
    functionLinenumberEnd: 2599
    functionName: dump_scan_res
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    - wpa_ssid_txt
    - MAC2STR
    - wpa_scan_get_ie
    linkageType: ''
    returnType: void
    signature: void dump_scan_res(struct wpa_scan_results *scan_res)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/scan.c:2620,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - wpa_s
    - bssid
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2625
      start: 2611
    functionDepth: 1
    functionLinenumber: 2611
    functionLinenumberEnd: 2625
    functionName: wpa_supplicant_filter_bssid_match
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 0
    functionsReached:
    - ether_addr_equal
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_filter_bssid_match(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \     const u8 *bssid)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_supplicant_filter_bssid_match
      Src: /src/hostap/wpa_supplicant/scan.c:2637,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/scan.c:2641,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/scan.c:2647,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - wpa_s
    - res
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_scan_results*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2651
      start: 2628
    functionDepth: 2
    functionLinenumber: 2628
    functionLinenumberEnd: 2651
    functionName: filter_scan_res
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpa_printf
    - wpa_supplicant_filter_bssid_match
    linkageType: ''
    returnType: void
    signature: "void filter_scan_res(struct wpa_supplicant *wpa_s,\n\t\t\t    struct
      wpa_scan_results *res)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_6ghz_freq
      Src: /src/hostap/wpa_supplicant/scan.c:2657,1
    - Dst: IS_5GHZ
      Src: /src/hostap/wpa_supplicant/scan.c:2659,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - res
    argTypes:
    - struct wpa_scan_res*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2670
      start: 2654
    functionDepth: 1
    functionLinenumber: 2654
    functionLinenumberEnd: 2670
    functionName: scan_snr
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 0
    functionsReached:
    - IS_5GHZ
    - is_6ghz_freq
    linkageType: ''
    returnType: void
    signature: void scan_snr(struct wpa_scan_res *res)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - snr
    - snr0
    - snr1
    - rate0
    - rate1
    argTypes:
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2980
      start: 2976
    functionDepth: 0
    functionLinenumber: 2976
    functionLinenumberEnd: 2980
    functionName: interpolate_rate
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int interpolate_rate(int snr, int snr0, int snr1,\n\t\t\t\t
      \    int rate0, int rate1)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: interpolate_rate
      Src: /src/hostap/wpa_supplicant/scan.c:2997,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - table
    - snr
    - vht
    argTypes:
    - struct minsnr_bitrate_entry[]
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2999
      start: 2983
    functionDepth: 1
    functionLinenumber: 2983
    functionLinenumberEnd: 2999
    functionName: max_rate
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 0
    functionsReached:
    - interpolate_rate
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int max_rate(const struct minsnr_bitrate_entry table[],\n\t\t\t
      \    int snr, bool vht)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: max_rate
      Src: /src/hostap/wpa_supplicant/scan.c:3004,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - snr
    - vht
    argTypes:
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3005
      start: 3002
    functionDepth: 2
    functionLinenumber: 3002
    functionLinenumberEnd: 3005
    functionName: max_ht20_rate
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 0
    functionsReached:
    - max_rate
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int max_ht20_rate(int snr, bool vht)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: max_rate
      Src: /src/hostap/wpa_supplicant/scan.c:3010,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - snr
    - vht
    argTypes:
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3011
      start: 3008
    functionDepth: 2
    functionLinenumber: 3008
    functionLinenumberEnd: 3011
    functionName: max_ht40_rate
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 0
    functionsReached:
    - max_rate
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int max_ht40_rate(int snr, bool vht)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: max_rate
      Src: /src/hostap/wpa_supplicant/scan.c:3016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - snr
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3017
      start: 3014
    functionDepth: 2
    functionLinenumber: 3014
    functionLinenumberEnd: 3017
    functionName: max_vht80_rate
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 0
    functionsReached:
    - max_rate
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int max_vht80_rate(int snr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: max_rate
      Src: /src/hostap/wpa_supplicant/scan.c:3022,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - snr
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3023
      start: 3020
    functionDepth: 2
    functionLinenumber: 3020
    functionLinenumberEnd: 3023
    functionName: max_vht160_rate
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 0
    functionsReached:
    - max_rate
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int max_vht160_rate(int snr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: interpolate_rate
      Src: /src/hostap/wpa_supplicant/scan.c:3039,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - table
    - snr
    - eht
    argTypes:
    - struct minsnr_bitrate_entry[]
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3041
      start: 3026
    functionDepth: 1
    functionLinenumber: 3026
    functionLinenumberEnd: 3041
    functionName: max_he_eht_rate
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 0
    functionsReached:
    - interpolate_rate
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int max_he_eht_rate(const struct minsnr_bitrate_entry table[],\n\t\t\t\t
      \   int snr, bool eht)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: max_he_eht_rate
      Src: /src/hostap/wpa_supplicant/scan.c:3101,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 4
    argNames:
    - cw
    - num_punct_bits
    - adjusted_snr
    - boost
    argTypes:
    - enum chan_width
    - u8
    - int
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3102
      start: 3044
    functionDepth: 2
    functionLinenumber: 3044
    functionLinenumberEnd: 3102
    functionName: get_eht_punctured_rate
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 0
    functionsReached:
    - max_he_eht_rate
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int get_eht_punctured_rate(enum chan_width cw,\n\t\t\t\t\t
      \  u8 num_punct_bits, int adjusted_snr,\n\t\t\t\t\t   u8 boost)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_ie_ext
      Src: /src/hostap/wpa_supplicant/scan.c:3109,1
    - Dst: le_to_host16
      Src: /src/hostap/wpa_supplicant/scan.c:3120,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ies
    - ies_len
    argTypes:
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3131
      start: 3105
    functionDepth: 1
    functionLinenumber: 3105
    functionLinenumberEnd: 3131
    functionName: get_eht_num_punct_bits
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 0
    functionsReached:
    - le_to_host16
    - get_ie_ext
    linkageType: ''
    returnType: u8
    signature: u8 get_eht_num_punct_bits(const u8 *ies, size_t ies_len)
  - BBCount: 63
    BranchProfiles: []
    Callsites:
    - Dst: get_mode_with_freq
      Src: /src/hostap/wpa_supplicant/scan.c:3190,1
    - Dst: get_ie
      Src: /src/hostap/wpa_supplicant/scan.c:3194,1
    - Dst: max_ht20_rate
      Src: /src/hostap/wpa_supplicant/scan.c:3197,1
    - Dst: get_ie
      Src: /src/hostap/wpa_supplicant/scan.c:3203,1
    - Dst: wpas_channel_width_rssi_bump
      Src: /src/hostap/wpa_supplicant/scan.c:3213,1
    - Dst: max_ht40_rate
      Src: /src/hostap/wpa_supplicant/scan.c:3215,1
    - Dst: get_ie
      Src: /src/hostap/wpa_supplicant/scan.c:3223,1
    - Dst: abs
      Src: /src/hostap/wpa_supplicant/scan.c:3232,1
    - Dst: abs
      Src: /src/hostap/wpa_supplicant/scan.c:3235,1
    - Dst: abs
      Src: /src/hostap/wpa_supplicant/scan.c:3236,1
    - Dst: get_ie
      Src: /src/hostap/wpa_supplicant/scan.c:3242,1
    - Dst: max_ht20_rate
      Src: /src/hostap/wpa_supplicant/scan.c:3246,1
    - Dst: wpas_channel_width_rssi_bump
      Src: /src/hostap/wpa_supplicant/scan.c:3253,1
    - Dst: max_ht40_rate
      Src: /src/hostap/wpa_supplicant/scan.c:3255,1
    - Dst: wpas_channel_width_rssi_bump
      Src: /src/hostap/wpa_supplicant/scan.c:3263,1
    - Dst: max_vht80_rate
      Src: /src/hostap/wpa_supplicant/scan.c:3265,1
    - Dst: wpas_channel_width_rssi_bump
      Src: /src/hostap/wpa_supplicant/scan.c:3276,1
    - Dst: max_vht160_rate
      Src: /src/hostap/wpa_supplicant/scan.c:3278,1
    - Dst: get_ie_ext
      Src: /src/hostap/wpa_supplicant/scan.c:3295,1
    - Dst: get_ie_ext
      Src: /src/hostap/wpa_supplicant/scan.c:3303,1
    - Dst: max_he_eht_rate
      Src: /src/hostap/wpa_supplicant/scan.c:3314,1
    - Dst: IS_2P4GHZ
      Src: /src/hostap/wpa_supplicant/scan.c:3321,1
    - Dst: wpas_channel_width_rssi_bump
      Src: /src/hostap/wpa_supplicant/scan.c:3327,1
    - Dst: max_he_eht_rate
      Src: /src/hostap/wpa_supplicant/scan.c:3329,1
    - Dst: IS_2P4GHZ
      Src: /src/hostap/wpa_supplicant/scan.c:3335,1
    - Dst: IS_5GHZ
      Src: /src/hostap/wpa_supplicant/scan.c:3337,1
    - Dst: wpas_channel_width_rssi_bump
      Src: /src/hostap/wpa_supplicant/scan.c:3341,1
    - Dst: get_eht_num_punct_bits
      Src: /src/hostap/wpa_supplicant/scan.c:3344,1
    - Dst: get_eht_punctured_rate
      Src: /src/hostap/wpa_supplicant/scan.c:3346,1
    - Dst: max_he_eht_rate
      Src: /src/hostap/wpa_supplicant/scan.c:3351,1
    - Dst: IS_2P4GHZ
      Src: /src/hostap/wpa_supplicant/scan.c:3358,1
    - Dst: IS_5GHZ
      Src: /src/hostap/wpa_supplicant/scan.c:3361,1
    - Dst: wpas_channel_width_rssi_bump
      Src: /src/hostap/wpa_supplicant/scan.c:3365,1
    - Dst: get_eht_num_punct_bits
      Src: /src/hostap/wpa_supplicant/scan.c:3368,1
    - Dst: get_eht_punctured_rate
      Src: /src/hostap/wpa_supplicant/scan.c:3370,1
    - Dst: max_he_eht_rate
      Src: /src/hostap/wpa_supplicant/scan.c:3375,1
    - Dst: is_6ghz_freq
      Src: /src/hostap/wpa_supplicant/scan.c:3386,1
    - Dst: wpas_channel_width_rssi_bump
      Src: /src/hostap/wpa_supplicant/scan.c:3392,1
    - Dst: get_eht_num_punct_bits
      Src: /src/hostap/wpa_supplicant/scan.c:3395,1
    - Dst: get_eht_punctured_rate
      Src: /src/hostap/wpa_supplicant/scan.c:3397,1
    - Dst: max_he_eht_rate
      Src: /src/hostap/wpa_supplicant/scan.c:3402,1
    CyclomaticComplexity: 113
    EdgeCount: 113
    ICount: 167
    argCount: 7
    argNames:
    - wpa_s
    - ies
    - ies_len
    - rate
    - snr
    - freq
    - max_cw
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - size_t
    - int
    - int
    - int
    - enum chan_width*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3410
      start: 3134
    functionDepth: 3
    functionLinenumber: 3134
    functionLinenumberEnd: 3410
    functionName: wpas_get_est_tpt
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 0
    functionsReached:
    - wpas_channel_width_rssi_bump
    - get_eht_num_punct_bits
    - max_he_eht_rate
    - is_6ghz_freq
    - max_ht20_rate
    - IS_2P4GHZ
    - get_eht_punctured_rate
    - max_vht160_rate
    - IS_5GHZ
    - max_ht40_rate
    - get_ie
    - get_ie_ext
    - get_mode_with_freq
    - max_vht80_rate
    - abs
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int wpas_get_est_tpt(const struct wpa_supplicant *wpa_s,\n\t\t\t
      \     const u8 *ies, size_t ies_len, int rate,\n\t\t\t      int snr, int freq,
      enum chan_width *max_cw)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_scan_get_max_rate
      Src: /src/hostap/wpa_supplicant/scan.c:3425,1
    - Dst: wpas_get_est_tpt
      Src: /src/hostap/wpa_supplicant/scan.c:3429,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - wpa_s
    - res
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_scan_res*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3433
      start: 3413
    functionDepth: 4
    functionLinenumber: 3413
    functionLinenumberEnd: 3433
    functionName: scan_est_throughput
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 0
    functionsReached:
    - wpas_get_est_tpt
    - wpa_scan_get_max_rate
    linkageType: ''
    returnType: void
    signature: "void scan_est_throughput(struct wpa_supplicant *wpa_s,\n\t\t\t struct
      wpa_scan_res *res)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/scan.c:3446,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - scan_res
    - bssid
    argTypes:
    - struct wpa_scan_results*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3451
      start: 3438
    functionDepth: 1
    functionLinenumber: 3438
    functionLinenumberEnd: 3451
    functionName: wpa_scan_get_bssid
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 0
    functionsReached:
    - ether_addr_equal
    linkageType: ''
    returnType: struct wpa_scan_res
    signature: 'struct wpa_scan_res *

      wpa_scan_get_bssid(struct wpa_scan_results *scan_res, const u8 *bssid)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: RNR_TBTT_INFO_COUNT_VAL
      Src: /src/hostap/wpa_supplicant/scan.c:3470,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/scan.c:3492,1
    - Dst: wpa_scan_get_bssid
      Src: /src/hostap/wpa_supplicant/scan.c:3495,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/scan.c:3499,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 7
    argNames:
    - wpa_s
    - scan_res
    - res
    - mbssid_idx
    - ap_info
    - len
    - seen
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_scan_results*
    - struct wpa_scan_res*
    - u8
    - struct ieee80211_neighbor_ap_info*
    - size_t
    - u16*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3511
      start: 3454
    functionDepth: 2
    functionLinenumber: 3454
    functionLinenumberEnd: 3511
    functionName: get_partner_est_tput
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 0
    functionsReached:
    - wpa_scan_get_bssid
    - BIT
    - RNR_TBTT_INFO_COUNT_VAL
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int get_partner_est_tput(struct wpa_supplicant *wpa_s,\n\t\t
      \    struct wpa_scan_results *scan_res,\n\t\t     struct wpa_scan_res *res,
      u8 mbssid_idx,\n\t\t     const struct ieee80211_neighbor_ap_info *ap_info,\n\t\t
      \    size_t len, u16 *seen)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: wpa_scan_get_ml_ie
      Src: /src/hostap/wpa_supplicant/scan.c:3538,1
    - Dst: get_basic_mle_eml_capa
      Src: /src/hostap/wpa_supplicant/scan.c:3547,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wpa_supplicant/scan.c:3549,1
    - Dst: get_basic_mle_link_id
      Src: /src/hostap/wpa_supplicant/scan.c:3555,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/scan.c:3559,1
    - Dst: wpa_scan_get_ie
      Src: /src/hostap/wpa_supplicant/scan.c:3561,1
    - Dst: RNR_TBTT_INFO_COUNT_VAL
      Src: /src/hostap/wpa_supplicant/scan.c:3600,1
    - Dst: get_partner_est_tput
      Src: /src/hostap/wpa_supplicant/scan.c:3608,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 51
    argCount: 4
    argNames:
    - wpa_s
    - scan_res
    - res
    - sta_emlsr_support
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_scan_results*
    - struct wpa_scan_res*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3656
      start: 3514
    functionDepth: 3
    functionLinenumber: 3514
    functionLinenumberEnd: 3656
    functionName: mlo_scan_est_throughput
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 0
    functionsReached:
    - wpa_scan_get_ml_ie
    - WPA_GET_LE16
    - wpa_scan_get_ie
    - BIT
    - get_partner_est_tput
    - get_basic_mle_eml_capa
    - get_basic_mle_link_id
    - RNR_TBTT_INFO_COUNT_VAL
    linkageType: ''
    returnType: void
    signature: "void mlo_scan_est_throughput(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \   struct wpa_scan_results *scan_res,\n\t\t\t\t    struct wpa_scan_res *res,\n\t\t\t\t
      \   bool sta_emlsr_support)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: RNR_TBTT_INFO_COUNT_VAL
      Src: /src/hostap/wpa_supplicant/scan.c:3600,1
    - Dst: get_partner_est_tput
      Src: /src/hostap/wpa_supplicant/scan.c:3608,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3653
      start: 3586
    functionDepth: 3
    functionLinenumber: 3586
    functionLinenumberEnd: 3653
    functionName: for_each_element_id
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 2
    functionsReached:
    - get_partner_est_tput
    - RNR_TBTT_INFO_COUNT_VAL
    linkageType: ''
    returnType: void
    signature: "void for_each_element_id(elem, WLAN_EID_REDUCED_NEIGHBOR_REPORT,\n\t\t\t
      \   ies, ie_len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_get_scan_results
      Src: /src/hostap/wpa_supplicant/scan.c:3682,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/scan.c:3684,1
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/scan.c:3692,1
    - Dst: filter_scan_res
      Src: /src/hostap/wpa_supplicant/scan.c:3694,1
    - Dst: scan_snr
      Src: /src/hostap/wpa_supplicant/scan.c:3699,1
    - Dst: scan_est_throughput
      Src: /src/hostap/wpa_supplicant/scan.c:3700,1
    - Dst: wpas_wps_searching
      Src: /src/hostap/wpa_supplicant/scan.c:3704,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/scan.c:3705,1
    - Dst: mlo_scan_est_throughput
      Src: /src/hostap/wpa_supplicant/scan.c:3713,1
    - Dst: qsort
      Src: /src/hostap/wpa_supplicant/scan.c:3720,1
    - Dst: dump_scan_res
      Src: /src/hostap/wpa_supplicant/scan.c:3723,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/scan.c:3729,1
    - Dst: wpa_bss_update_start
      Src: /src/hostap/wpa_supplicant/scan.c:3735,1
    - Dst: wpa_bss_update_scan_res
      Src: /src/hostap/wpa_supplicant/scan.c:3737,1
    - Dst: wpa_bss_update_end
      Src: /src/hostap/wpa_supplicant/scan.c:3739,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 4
    argNames:
    - wpa_s
    - info
    - new_scan
    - bssid
    argTypes:
    - struct wpa_supplicant*
    - struct scan_info*
    - int
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3742
      start: 3673
    functionDepth: 5
    functionLinenumber: 3673
    functionLinenumberEnd: 3742
    functionName: wpa_supplicant_get_scan_results
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 0
    functionsReached:
    - mlo_scan_est_throughput
    - os_get_reltime
    - wpa_bss_update_scan_res
    - filter_scan_res
    - wpas_wps_searching
    - dump_scan_res
    - wpa_bss_update_end
    - wpa_bss_update_start
    - wpa_dbg
    - scan_est_throughput
    - wpa_drv_get_scan_results
    - qsort
    - scan_snr
    linkageType: ''
    returnType: struct wpa_scan_results
    signature: "struct wpa_scan_results *\nwpa_supplicant_get_scan_results(struct
      wpa_supplicant *wpa_s,\n\t\t\t\tstruct scan_info *info, int new_scan,\n\t\t\t\tconst
      u8 *bssid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_supplicant_get_scan_results
      Src: /src/hostap/wpa_supplicant/scan.c:3762,1
    - Dst: wpa_scan_results_free
      Src: /src/hostap/wpa_supplicant/scan.c:3765,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - wpa_s
    - bssid
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3768
      start: 3758
    functionDepth: 6
    functionLinenumber: 3758
    functionLinenumberEnd: 3768
    functionName: wpa_supplicant_update_scan_results
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 0
    functionsReached:
    - wpa_scan_results_free
    - wpa_supplicant_get_scan_results
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_update_scan_results(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \      const u8 *bssid)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/scan.c:3777,1
    - Dst: wpa_msg_ctrl
      Src: /src/hostap/wpa_supplicant/scan.c:3780,1
    - Dst: wpa_msg_ctrl
      Src: /src/hostap/wpa_supplicant/scan.c:3784,1
    - Dst: wpas_notify_scan_results
      Src: /src/hostap/wpa_supplicant/scan.c:3786,1
    - Dst: wpas_notify_scan_done
      Src: /src/hostap/wpa_supplicant/scan.c:3787,1
    - Dst: radio_work_done
      Src: /src/hostap/wpa_supplicant/scan.c:3791,1
    - Dst: wpa_supplicant_set_state
      Src: /src/hostap/wpa_supplicant/scan.c:3795,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - wpa_s
    - scan_res
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_scan_results*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3796
      start: 3774
    functionDepth: 1
    functionLinenumber: 3774
    functionLinenumberEnd: 3796
    functionName: scan_only_handler
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 0
    functionsReached:
    - radio_work_done
    - wpas_notify_scan_done
    - wpa_supplicant_set_state
    - wpa_msg_ctrl
    - wpa_dbg
    - wpas_notify_scan_results
    linkageType: ''
    returnType: void
    signature: "void scan_only_handler(struct wpa_supplicant *wpa_s,\n\t\t       struct
      wpa_scan_results *scan_res)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eloop_is_timeout_registered
      Src: /src/hostap/wpa_supplicant/scan.c:3801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3802
      start: 3799
    functionDepth: 0
    functionLinenumber: 3799
    functionLinenumberEnd: 3802
    functionName: wpas_scan_scheduled
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 0
    functionsReached:
    - eloop_is_timeout_registered
    linkageType: ''
    returnType: int
    signature: int wpas_scan_scheduled(struct wpa_supplicant *wpa_s)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/scan.c:3812,1
    - Dst: os_memdup
      Src: /src/hostap/wpa_supplicant/scan.c:3818,1
    - Dst: os_memdup
      Src: /src/hostap/wpa_supplicant/scan.c:3829,1
    - Dst: int_array_len
      Src: /src/hostap/wpa_supplicant/scan.c:3837,1
    - Dst: os_memdup
      Src: /src/hostap/wpa_supplicant/scan.c:3838,1
    - Dst: os_memdup
      Src: /src/hostap/wpa_supplicant/scan.c:3844,1
    - Dst: os_memdup
      Src: /src/hostap/wpa_supplicant/scan.c:3863,1
    - Dst: wpa_setup_mac_addr_rand_params
      Src: /src/hostap/wpa_supplicant/scan.c:3873,1
    - Dst: os_memdup
      Src: /src/hostap/wpa_supplicant/scan.c:3879,1
    - Dst: wpa_scan_free_params
      Src: /src/hostap/wpa_supplicant/scan.c:3895,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 73
    argCount: 1
    argNames:
    - src
    argTypes:
    - struct wpa_driver_scan_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3897
      start: 3805
    functionDepth: 1
    functionLinenumber: 3805
    functionLinenumberEnd: 3897
    functionName: wpa_scan_clone_params
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 1
    functionsReached:
    - wpa_scan_free_params
    - os_memdup
    - int_array_len
    - os_zalloc
    - wpa_setup_mac_addr_rand_params
    linkageType: ''
    returnType: struct wpa_driver_scan_params
    signature: 'struct wpa_driver_scan_params *

      wpa_scan_clone_params(const struct wpa_driver_scan_params *src)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/scan.c:3908,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/scan.c:3909,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/scan.c:3910,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/scan.c:3911,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/scan.c:3912,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/scan.c:3918,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/scan.c:3920,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/scan.c:3922,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - params
    argTypes:
    - struct wpa_driver_scan_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3923
      start: 3900
    functionDepth: 0
    functionLinenumber: 3900
    functionLinenumberEnd: 3923
    functionName: wpa_scan_free_params
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 3
    functionsReached:
    - os_free
    linkageType: ''
    returnType: void
    signature: void wpa_scan_free_params(struct wpa_driver_scan_params *params)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/scan.c:3950,1
    - Dst: wpa_supplicant_cancel_scan
      Src: /src/hostap/wpa_supplicant/scan.c:3955,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/scan.c:3957,1
    - Dst: wpa_supplicant_cancel_sched_scan
      Src: /src/hostap/wpa_supplicant/scan.c:3959,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/scan.c:3966,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/scan.c:3972,1
    - Dst: wpas_network_disabled
      Src: /src/hostap/wpa_supplicant/scan.c:3977,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/scan.c:3986,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/scan.c:3996,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/scan.c:4003,1
    - Dst: os_calloc
      Src: /src/hostap/wpa_supplicant/scan.c:4005,1
    - Dst: wpas_network_disabled
      Src: /src/hostap/wpa_supplicant/scan.c:4014,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/scan.c:4022,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/scan.c:4059,1
    - Dst: wpa_setup_mac_addr_rand_params
      Src: /src/hostap/wpa_supplicant/scan.c:4064,1
    - Dst: wpa_scan_set_relative_rssi_params
      Src: /src/hostap/wpa_supplicant/scan.c:4067,1
    - Dst: wpa_supplicant_start_sched_scan
      Src: /src/hostap/wpa_supplicant/scan.c:4069,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/scan.c:4070,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/scan.c:4071,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/scan.c:4075,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 109
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4077
      start: 3926
    functionDepth: 3
    functionLinenumber: 3926
    functionLinenumberEnd: 4077
    functionName: wpas_start_pno
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_cancel_sched_scan
    - wpa_printf
    - os_memcpy
    - os_calloc
    - wpa_msg
    - wpa_supplicant_start_sched_scan
    - os_free
    - wpa_scan_set_relative_rssi_params
    - wpa_dbg
    - wpa_supplicant_cancel_scan
    - wpas_network_disabled
    - wpa_setup_mac_addr_rand_params
    - os_memset
    linkageType: ''
    returnType: int
    signature: int wpas_start_pno(struct wpa_supplicant *wpa_s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_supplicant_stop_sched_scan
      Src: /src/hostap/wpa_supplicant/scan.c:4087,1
    - Dst: wpa_supplicant_req_scan
      Src: /src/hostap/wpa_supplicant/scan.c:4094,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4097
      start: 4080
    functionDepth: 2
    functionLinenumber: 4080
    functionLinenumberEnd: 4097
    functionName: wpas_stop_pno
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_stop_sched_scan
    - wpa_supplicant_req_scan
    linkageType: ''
    returnType: int
    signature: int wpas_stop_pno(struct wpa_supplicant *wpa_s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/scan.c:4107,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/scan.c:4112,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/scan.c:4117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - wpa_s
    - type
    argTypes:
    - struct wpa_supplicant*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4120
      start: 4100
    functionDepth: 0
    functionLinenumber: 4100
    functionLinenumberEnd: 4120
    functionName: wpas_mac_addr_rand_scan_clear
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 0
    functionsReached:
    - os_free
    linkageType: ''
    returnType: void
    signature: "void wpas_mac_addr_rand_scan_clear(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \   unsigned int type)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/scan.c:4130,1
    - Dst: wpas_mac_addr_rand_scan_clear
      Src: /src/hostap/wpa_supplicant/scan.c:4136,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/scan.c:4139,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/scan.c:4142,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/scan.c:4143,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/scan.c:4153,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/scan.c:4156,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 4
    argNames:
    - wpa_s
    - type
    - addr
    - mask
    argTypes:
    - struct wpa_supplicant*
    - unsigned int
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4162
      start: 4123
    functionDepth: 1
    functionLinenumber: 4123
    functionLinenumberEnd: 4162
    functionName: wpas_mac_addr_rand_scan_set
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpas_mac_addr_rand_scan_clear
    - os_malloc
    - os_free
    linkageType: ''
    returnType: int
    signature: "int wpas_mac_addr_rand_scan_set(struct wpa_supplicant *wpa_s,\n\t\t\t\tunsigned
      int type, const u8 *addr,\n\t\t\t\tconst u8 *mask)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/scan.c:4180,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/scan.c:4186,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - wpa_s
    - type
    - mask
    argTypes:
    - struct wpa_supplicant*
    - unsigned int
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4188
      start: 4165
    functionDepth: 0
    functionLinenumber: 4165
    functionLinenumberEnd: 4188
    functionName: wpas_mac_addr_rand_scan_get_mask
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    linkageType: ''
    returnType: int
    signature: "int wpas_mac_addr_rand_scan_get_mask(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \    unsigned int type, u8 *mask)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/wpa_supplicant/scan.c:4196,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/scan.c:4198,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/scan.c:4199,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/scan.c:4201,1
    - Dst: wpa_drv_abort_scan
      Src: /src/hostap/wpa_supplicant/scan.c:4202,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/scan.c:4205,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4207
      start: 4191
    functionDepth: 1
    functionLinenumber: 4191
    functionLinenumberEnd: 4207
    functionName: wpas_abort_ongoing_scan
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    - wpa_drv_abort_scan
    - os_strcmp
    - wpa_dbg
    linkageType: ''
    returnType: int
    signature: int wpas_abort_ongoing_scan(struct wpa_supplicant *wpa_s)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/scan.c:4220,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/scan.c:4221,1
    - Dst: cstr_token
      Src: /src/hostap/wpa_supplicant/scan.c:4227,1
    - Dst: os_realloc_array
      Src: /src/hostap/wpa_supplicant/scan.c:4231,1
    - Dst: sscanf
      Src: /src/hostap/wpa_supplicant/scan.c:4239,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/scan.c:4242,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/scan.c:4248,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/scan.c:4262,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/scan.c:4270,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/scan.c:4278,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/scan.c:4284,1
    - Dst: cstr_token
      Src: /src/hostap/wpa_supplicant/scan.c:4288,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/scan.c:4289,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/scan.c:4294,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/scan.c:4298,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/scan.c:4301,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/scan.c:4304,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/scan.c:4309,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/scan.c:4316,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/scan.c:4317,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 69
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4319
      start: 4210
    functionDepth: 1
    functionLinenumber: 4210
    functionLinenumberEnd: 4319
    functionName: wpas_sched_scan_plans_set
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - sscanf
    - cstr_token
    - os_free
    - os_realloc_array
    linkageType: ''
    returnType: int
    signature: int wpas_sched_scan_plans_set(struct wpa_supplicant *wpa_s, const char
      *cmd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_supplicant_cancel_sched_scan
      Src: /src/hostap/wpa_supplicant/scan.c:4336,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4338
      start: 4330
    functionDepth: 3
    functionLinenumber: 4330
    functionLinenumberEnd: 4338
    functionName: wpas_scan_reset_sched_scan
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_cancel_sched_scan
    linkageType: ''
    returnType: void
    signature: void wpas_scan_reset_sched_scan(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_supplicant_cancel_sched_scan
      Src: /src/hostap/wpa_supplicant/scan.c:4346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4347
      start: 4341
    functionDepth: 3
    functionLinenumber: 4341
    functionLinenumberEnd: 4347
    functionName: wpas_scan_restart_sched_scan
    functionSourceFile: /src/hostap/wpa_supplicant/scan.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_cancel_sched_scan
    linkageType: ''
    returnType: void
    signature: void wpas_scan_restart_sched_scan(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:97,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/eapol_test.c:98,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - ctx
    - addr
    - module
    - level
    - txt
    - len
    argTypes:
    - void*
    - u8*
    - unsigned int
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 101
    functionName: hostapd_logger_cb
    functionSourceFile: /src/hostap/wpa_supplicant/eapol_test.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: "void hostapd_logger_cb(void *ctx, const u8 *addr, unsigned int module,\n\t\t\t
      \     int level, const char *txt, size_t len)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:114,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/eapol_test.c:115,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/eapol_test.c:125,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:127,1
    - Dst: hexstr2bin
      Src: /src/hostap/wpa_supplicant/eapol_test.c:131,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:132,1
    - Dst: htonl
      Src: /src/hostap/wpa_supplicant/eapol_test.c:137,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/eapol_test.c:137,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/eapol_test.c:138,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:142,1
    - Dst: radius_msg_add_attr
      Src: /src/hostap/wpa_supplicant/eapol_test.c:146,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:147,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 2
    argNames:
    - msg
    - attr
    argTypes:
    - struct radius_msg*
    - struct extra_radius_attr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 152
    functionName: add_extra_attr
    functionSourceFile: /src/hostap/wpa_supplicant/eapol_test.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_memcpy
    - radius_msg_add_attr
    - hexstr2bin
    - htonl
    - printf
    - os_snprintf
    - atoi
    linkageType: ''
    returnType: int
    signature: "int add_extra_attr(struct radius_msg *msg,\n\t\t\t  struct extra_radius_attr
      *attr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: add_extra_attr
      Src: /src/hostap/wpa_supplicant/eapol_test.c:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - msg
    - attrs
    argTypes:
    - struct radius_msg*
    - struct extra_radius_attr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 164
    functionName: add_extra_attrs
    functionSourceFile: /src/hostap/wpa_supplicant/eapol_test.c
    functionUses: 0
    functionsReached:
    - add_extra_attr
    linkageType: ''
    returnType: int
    signature: "int add_extra_attrs(struct radius_msg *msg,\n\t\t\t   struct extra_radius_attr
      *attrs)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - attrs
    - type
    argTypes:
    - struct extra_radius_attr*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 176
    functionName: find_extra_attr
    functionSourceFile: /src/hostap/wpa_supplicant/eapol_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct extra_radius_attr
    signature: 'struct extra_radius_attr *

      find_extra_attr(struct extra_radius_attr *attrs, u8 type)'
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:187,1
    - Dst: radius_client_get_id
      Src: /src/hostap/wpa_supplicant/eapol_test.c:190,1
    - Dst: radius_msg_new
      Src: /src/hostap/wpa_supplicant/eapol_test.c:191,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:194,1
    - Dst: radius_msg_add_msg_auth
      Src: /src/hostap/wpa_supplicant/eapol_test.c:198,1
    - Dst: radius_msg_make_authenticator
      Src: /src/hostap/wpa_supplicant/eapol_test.c:201,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/eapol_test.c:208,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/eapol_test.c:210,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/eapol_test.c:212,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/eapol_test.c:213,1
    - Dst: radius_msg_add_attr
      Src: /src/hostap/wpa_supplicant/eapol_test.c:220,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:222,1
    - Dst: radius_msg_add_attr
      Src: /src/hostap/wpa_supplicant/eapol_test.c:227,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:229,1
    - Dst: find_extra_attr
      Src: /src/hostap/wpa_supplicant/eapol_test.c:233,1
    - Dst: radius_msg_add_attr
      Src: /src/hostap/wpa_supplicant/eapol_test.c:234,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:236,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:240,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/eapol_test.c:241,1
    - Dst: find_extra_attr
      Src: /src/hostap/wpa_supplicant/eapol_test.c:242,1
    - Dst: radius_msg_add_attr
      Src: /src/hostap/wpa_supplicant/eapol_test.c:244,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/eapol_test.c:245,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:246,1
    - Dst: find_extra_attr
      Src: /src/hostap/wpa_supplicant/eapol_test.c:253,1
    - Dst: radius_msg_add_attr_int32
      Src: /src/hostap/wpa_supplicant/eapol_test.c:254,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:255,1
    - Dst: find_extra_attr
      Src: /src/hostap/wpa_supplicant/eapol_test.c:259,1
    - Dst: radius_msg_add_attr_int32
      Src: /src/hostap/wpa_supplicant/eapol_test.c:260,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:262,1
    - Dst: find_extra_attr
      Src: /src/hostap/wpa_supplicant/eapol_test.c:266,1
    - Dst: radius_msg_add_attr_int32
      Src: /src/hostap/wpa_supplicant/eapol_test.c:267,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:269,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:273,1
    - Dst: find_extra_attr
      Src: /src/hostap/wpa_supplicant/eapol_test.c:274,1
    - Dst: radius_msg_add_attr
      Src: /src/hostap/wpa_supplicant/eapol_test.c:275,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/eapol_test.c:276,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:277,1
    - Dst: add_extra_attrs
      Src: /src/hostap/wpa_supplicant/eapol_test.c:281,1
    - Dst: radius_msg_add_eap
      Src: /src/hostap/wpa_supplicant/eapol_test.c:284,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:285,1
    - Dst: radius_msg_get_hdr
      Src: /src/hostap/wpa_supplicant/eapol_test.c:292,1
    - Dst: radius_msg_copy_attr
      Src: /src/hostap/wpa_supplicant/eapol_test.c:294,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:297,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:302,1
    - Dst: radius_client_send
      Src: /src/hostap/wpa_supplicant/eapol_test.c:307,1
    - Dst: radius_msg_free
      Src: /src/hostap/wpa_supplicant/eapol_test.c:313,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 91
    argCount: 3
    argNames:
    - e
    - eap
    - len
    argTypes:
    - struct eapol_test_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 179
    functionDepth: 3
    functionLinenumber: 179
    functionLinenumberEnd: 314
    functionName: ieee802_1x_encapsulate_radius
    functionSourceFile: /src/hostap/wpa_supplicant/eapol_test.c
    functionUses: 0
    functionsReached:
    - radius_client_send
    - wpa_hexdump
    - add_extra_attrs
    - os_snprintf
    - radius_msg_make_authenticator
    - os_strlen
    - wpa_printf
    - radius_msg_add_eap
    - radius_msg_new
    - radius_msg_copy_attr
    - os_free
    - os_malloc
    - printf
    - os_memcpy
    - radius_msg_get_hdr
    - radius_msg_add_attr
    - radius_client_get_id
    - MAC2STR
    - radius_msg_add_attr_int32
    - find_extra_attr
    - radius_msg_add_msg_auth
    - radius_msg_free
    linkageType: ''
    returnType: void
    signature: "void ieee802_1x_encapsulate_radius(struct eapol_test_data *e,\n\t\t\t\t\t
      \ const u8 *eap, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:320,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/eapol_test.c:323,1
    - Dst: ieee802_1x_encapsulate_radius
      Src: /src/hostap/wpa_supplicant/eapol_test.c:324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - type
    - buf
    - len
    argTypes:
    - void*
    - int
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 327
    functionName: eapol_test_eapol_send
    functionSourceFile: /src/hostap/wpa_supplicant/eapol_test.c
    functionUses: 0
    functionsReached:
    - ieee802_1x_encapsulate_radius
    - wpa_hexdump
    - printf
    linkageType: ''
    returnType: int
    signature: "int eapol_test_eapol_send(void *ctx, int type, const u8 *buf,\n\t\t\t\t
      size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_set_blob
      Src: /src/hostap/wpa_supplicant/eapol_test.c:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - blob
    argTypes:
    - void*
    - struct wpa_config_blob*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 335
    functionName: eapol_test_set_config_blob
    functionSourceFile: /src/hostap/wpa_supplicant/eapol_test.c
    functionUses: 0
    functionsReached:
    - wpa_config_set_blob
    linkageType: ''
    returnType: void
    signature: "void eapol_test_set_config_blob(void *ctx,\n\t\t\t\t       struct
      wpa_config_blob *blob)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_get_blob
      Src: /src/hostap/wpa_supplicant/eapol_test.c:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - name
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 343
    functionName: eapol_test_get_config_blob
    functionSourceFile: /src/hostap/wpa_supplicant/eapol_test.c
    functionUses: 0
    functionsReached:
    - wpa_config_get_blob
    linkageType: ''
    returnType: struct wpa_config_blob
    signature: 'struct wpa_config_blob *

      eapol_test_get_config_blob(void *ctx, const char *name)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:350,1
    - Dst: wpa_supplicant_cancel_auth_timeout
      Src: /src/hostap/wpa_supplicant/eapol_test.c:351,1
    - Dst: wpa_supplicant_set_state
      Src: /src/hostap/wpa_supplicant/eapol_test.c:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 353
    functionName: eapol_test_eapol_done_cb
    functionSourceFile: /src/hostap/wpa_supplicant/eapol_test.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_cancel_auth_timeout
    - wpa_supplicant_set_state
    - printf
    linkageType: ''
    returnType: void
    signature: void eapol_test_eapol_done_cb(void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:359,1
    - Dst: send_eap_request_identity
      Src: /src/hostap/wpa_supplicant/eapol_test.c:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 362
    functionName: eapol_sm_reauth
    functionSourceFile: /src/hostap/wpa_supplicant/eapol_test.c
    functionUses: 0
    functionsReached:
    - send_eap_request_identity
    - printf
    linkageType: ''
    returnType: void
    signature: void eapol_sm_reauth(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: eapol_sm_get_key
      Src: /src/hostap/wpa_supplicant/eapol_test.c:372,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/eapol_test.c:373,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/eapol_test.c:374,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:375,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/eapol_test.c:376,1
    - Dst: eapol_sm_get_key
      Src: /src/hostap/wpa_supplicant/eapol_test.c:381,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/eapol_test.c:382,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/eapol_test.c:383,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:384,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/eapol_test.c:385,1
    - Dst: eapol_sm_get_session_id
      Src: /src/hostap/wpa_supplicant/eapol_test.c:399,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:403,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/eapol_test.c:408,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:410,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/eapol_test.c:412,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/eapol_test.c:413,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:417,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 41
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct eapol_test_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 422
    functionName: eapol_test_compare_pmk
    functionSourceFile: /src/hostap/wpa_supplicant/eapol_test.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    - eapol_sm_get_key
    - printf
    - os_memcmp
    - eapol_sm_get_session_id
    linkageType: ''
    returnType: int
    signature: int eapol_test_compare_pmk(struct eapol_test_data *e)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:429,1
    - Dst: eloop_terminate
      Src: /src/hostap/wpa_supplicant/eapol_test.c:435,1
    - Dst: eapol_test_compare_pmk
      Src: /src/hostap/wpa_supplicant/eapol_test.c:437,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/eapol_test.c:438,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - eapol
    - result
    - ctx
    argTypes:
    - struct eapol_sm*
    - enum eapol_supp_result
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 440
    functionName: eapol_sm_cb
    functionSourceFile: /src/hostap/wpa_supplicant/eapol_test.c
    functionUses: 0
    functionsReached:
    - eloop_terminate
    - eloop_register_timeout
    - eapol_test_compare_pmk
    - printf
    linkageType: ''
    returnType: void
    signature: "void eapol_sm_cb(struct eapol_sm *eapol, enum eapol_supp_result result,\n\t\t\tvoid
      *ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: base64_encode
      Src: /src/hostap/wpa_supplicant/eapol_test.c:448,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/eapol_test.c:448,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/eapol_test.c:448,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:451,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/eapol_test.c:453,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - f
    - subject
    - cert
    argTypes:
    - FILE*
    - char*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 454
    functionName: eapol_test_write_cert
    functionSourceFile: /src/hostap/wpa_supplicant/eapol_test.c
    functionUses: 0
    functionsReached:
    - fprintf
    - wpabuf_len
    - wpabuf_head
    - os_free
    - base64_encode
    linkageType: ''
    returnType: void
    signature: "void eapol_test_write_cert(FILE *f, const char *subject,\n\t\t\t\t
      \ const struct wpabuf *cert)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_supplicant_ctrl_req_to_string
      Src: /src/hostap/wpa_supplicant/eapol_test.c:472,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:475,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/eapol_test.c:480,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/eapol_test.c:481,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:484,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/eapol_test.c:487,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/eapol_test.c:488,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/eapol_test.c:492,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/eapol_test.c:497,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/eapol_test.c:498,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - ctx
    - field
    - default_txt
    argTypes:
    - void*
    - enum wpa_ctrl_req_type
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 499
    functionName: eapol_test_eap_param_needed
    functionSourceFile: /src/hostap/wpa_supplicant/eapol_test.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - os_memcpy
    - wpa_msg
    - os_malloc
    - os_snprintf
    - os_free
    - wpa_supplicant_ctrl_req_to_string
    - os_snprintf_error
    linkageType: ''
    returnType: void
    signature: "void eapol_test_eap_param_needed(void *ctx, enum wpa_ctrl_req_type
      field,\n\t\t\t\t\tconst char *default_txt)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/eapol_test.c:511,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/eapol_test.c:519,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/eapol_test.c:520,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/wpa_supplicant/eapol_test.c:522,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/eapol_test.c:522,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/eapol_test.c:523,1
    - Dst: wpa_msg_ctrl
      Src: /src/hostap/wpa_supplicant/eapol_test.c:524,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/eapol_test.c:528,1
    - Dst: eapol_test_write_cert
      Src: /src/hostap/wpa_supplicant/eapol_test.c:532,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/eapol_test.c:537,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - ctx
    - cert
    - cert_hash
    argTypes:
    - void*
    - struct tls_cert_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 505
    functionDepth: 2
    functionLinenumber: 505
    functionLinenumberEnd: 539
    functionName: eapol_test_cert_cb
    functionSourceFile: /src/hostap/wpa_supplicant/eapol_test.c
    functionUses: 0
    functionsReached:
    - wpa_snprintf_hex
    - wpa_msg
    - wpabuf_len
    - os_malloc
    - wpabuf_head
    - wpa_msg_ctrl
    - eapol_test_write_cert
    - os_free
    linkageType: ''
    returnType: void
    signature: "void eapol_test_cert_cb(void *ctx, struct tls_cert_data *cert,\n\t\t\t
      \      const char *cert_hash)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/wpa_supplicant/eapol_test.c:549,1
    - Dst: wpa_config_set
      Src: /src/hostap/wpa_supplicant/eapol_test.c:556,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/eapol_test.c:560,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/wpa_supplicant/eapol_test.c:563,1
    - Dst: wpa_config_set
      Src: /src/hostap/wpa_supplicant/eapol_test.c:564,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/eapol_test.c:566,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - ctx
    - id
    - len
    argTypes:
    - void*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 542
    functionDepth: 1
    functionLinenumber: 542
    functionLinenumberEnd: 570
    functionName: eapol_test_set_anon_id
    functionSourceFile: /src/hostap/wpa_supplicant/eapol_test.c
    functionUses: 0
    functionsReached:
    - wpa_snprintf_hex
    - os_malloc
    - os_free
    - wpa_config_set
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: void
    signature: void eapol_test_set_anon_id(void *ctx, const u8 *id, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 579
    functionName: eapol_test_get_state
    functionSourceFile: /src/hostap/wpa_supplicant/eapol_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum wpa_states
    signature: enum wpa_states eapol_test_get_state(void *ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/eapol_test.c:589,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:591,1
    - Dst: eapol_sm_init
      Src: /src/hostap/wpa_supplicant/eapol_test.c:614,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/eapol_test.c:616,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:617,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/eapol_test.c:622,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/eapol_test.c:624,1
    - Dst: wpa_sm_init
      Src: /src/hostap/wpa_supplicant/eapol_test.c:630,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/eapol_test.c:632,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/eapol_test.c:633,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/eapol_test.c:641,1
    - Dst: eapol_sm_notify_config
      Src: /src/hostap/wpa_supplicant/eapol_test.c:647,1
    - Dst: eapol_sm_register_scard_ctx
      Src: /src/hostap/wpa_supplicant/eapol_test.c:648,1
    - Dst: eapol_sm_notify_portValid
      Src: /src/hostap/wpa_supplicant/eapol_test.c:651,1
    - Dst: eapol_sm_notify_portEnabled
      Src: /src/hostap/wpa_supplicant/eapol_test.c:653,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 60
    argCount: 3
    argNames:
    - e
    - wpa_s
    - ssid
    argTypes:
    - struct eapol_test_data*
    - struct wpa_supplicant*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 656
    functionName: test_eapol
    functionSourceFile: /src/hostap/wpa_supplicant/eapol_test.c
    functionUses: 0
    functionsReached:
    - wpa_sm_init
    - eapol_sm_notify_config
    - eapol_sm_notify_portValid
    - eapol_sm_notify_portEnabled
    - printf
    - eapol_sm_init
    - os_zalloc
    - eapol_sm_register_scard_ctx
    - os_free
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int test_eapol(struct eapol_test_data *e, struct wpa_supplicant *wpa_s,\n\t\t
      \     struct wpa_ssid *ssid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_sm_deinit
      Src: /src/hostap/wpa_supplicant/eapol_test.c:664,1
    - Dst: radius_client_deinit
      Src: /src/hostap/wpa_supplicant/eapol_test.c:666,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/eapol_test.c:667,1
    - Dst: radius_msg_free
      Src: /src/hostap/wpa_supplicant/eapol_test.c:668,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/eapol_test.c:670,1
    - Dst: eapol_sm_deinit
      Src: /src/hostap/wpa_supplicant/eapol_test.c:672,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/eapol_test.c:675,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/eapol_test.c:676,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/eapol_test.c:677,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/eapol_test.c:678,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/eapol_test.c:679,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/eapol_test.c:680,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/eapol_test.c:682,1
    - Dst: scard_deinit
      Src: /src/hostap/wpa_supplicant/eapol_test.c:684,1
    - Dst: wpa_supplicant_ctrl_iface_deinit
      Src: /src/hostap/wpa_supplicant/eapol_test.c:685,1
    - Dst: ext_password_deinit
      Src: /src/hostap/wpa_supplicant/eapol_test.c:688,1
    - Dst: wpa_config_free
      Src: /src/hostap/wpa_supplicant/eapol_test.c:691,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/eapol_test.c:697,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 2
    argNames:
    - e
    - wpa_s
    argTypes:
    - struct eapol_test_data*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 659
    functionDepth: 1
    functionLinenumber: 659
    functionLinenumberEnd: 699
    functionName: test_eapol_clean
    functionSourceFile: /src/hostap/wpa_supplicant/eapol_test.c
    functionUses: 0
    functionsReached:
    - wpa_config_free
    - radius_client_deinit
    - wpa_supplicant_ctrl_iface_deinit
    - wpabuf_free
    - eapol_sm_deinit
    - wpa_sm_deinit
    - radius_msg_free
    - os_free
    - scard_deinit
    - ext_password_deinit
    linkageType: ''
    returnType: void
    signature: "void test_eapol_clean(struct eapol_test_data *e,\n\t\t\t     struct
      wpa_supplicant *wpa_s)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: htons
      Src: /src/hostap/wpa_supplicant/eapol_test.c:712,1
    - Dst: os_get_random
      Src: /src/hostap/wpa_supplicant/eapol_test.c:716,1
    - Dst: os_random
      Src: /src/hostap/wpa_supplicant/eapol_test.c:717,1
    - Dst: htons
      Src: /src/hostap/wpa_supplicant/eapol_test.c:718,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:722,1
    - Dst: eapol_sm_rx_eapol
      Src: /src/hostap/wpa_supplicant/eapol_test.c:723,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 725
    functionName: send_eap_request_identity
    functionSourceFile: /src/hostap/wpa_supplicant/eapol_test.c
    functionUses: 1
    functionsReached:
    - os_random
    - os_get_random
    - printf
    - htons
    - eapol_sm_rx_eapol
    linkageType: ''
    returnType: void
    signature: void send_eap_request_identity(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:731,1
    - Dst: eloop_terminate
      Src: /src/hostap/wpa_supplicant/eapol_test.c:733,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 734
    functionName: eapol_test_timeout
    functionSourceFile: /src/hostap/wpa_supplicant/eapol_test.c
    functionUses: 0
    functionsReached:
    - eloop_terminate
    - printf
    linkageType: ''
    returnType: void
    signature: void eapol_test_timeout(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 25
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 51
    argCount: 1
    argNames:
    - type
    argTypes:
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 766
    functionName: eap_type_text
    functionSourceFile: /src/hostap/wpa_supplicant/eapol_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *eap_type_text(u8 type)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: radius_msg_get_eap
      Src: /src/hostap/wpa_supplicant/eapol_test.c:782,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:787,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/eapol_test.c:789,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/eapol_test.c:794,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:795,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/eapol_test.c:797,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/eapol_test.c:801,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/wpa_supplicant/eapol_test.c:802,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/eapol_test.c:804,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:807,1
    - Dst: eap_type_text
      Src: /src/hostap/wpa_supplicant/eapol_test.c:808,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:812,1
    - Dst: eap_type_text
      Src: /src/hostap/wpa_supplicant/eapol_test.c:813,1
    - Dst: os_strlcpy
      Src: /src/hostap/wpa_supplicant/eapol_test.c:817,1
    - Dst: os_strlcpy
      Src: /src/hostap/wpa_supplicant/eapol_test.c:822,1
    - Dst: eloop_terminate
      Src: /src/hostap/wpa_supplicant/eapol_test.c:825,1
    - Dst: os_strlcpy
      Src: /src/hostap/wpa_supplicant/eapol_test.c:828,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:829,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:833,1
    - Dst: be_to_host16
      Src: /src/hostap/wpa_supplicant/eapol_test.c:835,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/eapol_test.c:838,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/eapol_test.c:843,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/eapol_test.c:843,1
    - Dst: assert
      Src: /src/hostap/wpa_supplicant/eapol_test.c:844,1
    - Dst: htons
      Src: /src/hostap/wpa_supplicant/eapol_test.c:847,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/eapol_test.c:847,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/eapol_test.c:848,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/eapol_test.c:848,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/eapol_test.c:849,1
    - Dst: eapol_sm_rx_eapol
      Src: /src/hostap/wpa_supplicant/eapol_test.c:850,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/eapol_test.c:852,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/eapol_test.c:854,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 53
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct eapol_test_data*
    assertStmts:
    - condition: (dot1x != NULL)
      pos:
        line_end: 843
        line_start: 843
        source_file: /src/hostap/wpa_supplicant/eapol_test.c
    constantsTouched: []
    func_position:
      end: 856
      start: 769
    functionDepth: 1
    functionLinenumber: 769
    functionLinenumberEnd: 856
    functionName: ieee802_1x_decapsulate_radius
    functionSourceFile: /src/hostap/wpa_supplicant/eapol_test.c
    functionUses: 0
    functionsReached:
    - be_to_host16
    - radius_msg_get_eap
    - wpa_printf
    - os_memcpy
    - wpabuf_head_u8
    - assert
    - wpabuf_len
    - wpabuf_free
    - os_strlcpy
    - os_malloc
    - wpabuf_head
    - os_snprintf
    - eloop_terminate
    - os_free
    - htons
    - eap_type_text
    - eapol_sm_rx_eapol
    - wpa_hexdump_buf
    linkageType: ''
    returnType: void
    signature: void ieee802_1x_decapsulate_radius(struct eapol_test_data *e)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: radius_msg_get_ms_keys
      Src: /src/hostap/wpa_supplicant/eapol_test.c:868,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/eapol_test.c:871,1
    - Dst: radius_msg_get_cisco_keys
      Src: /src/hostap/wpa_supplicant/eapol_test.c:872,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/eapol_test.c:878,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/eapol_test.c:882,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/eapol_test.c:887,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:892,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/eapol_test.c:894,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/eapol_test.c:901,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/eapol_test.c:902,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/eapol_test.c:903,1
    - Dst: radius_msg_get_attr_ptr
      Src: /src/hostap/wpa_supplicant/eapol_test.c:906,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/eapol_test.c:908,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 5
    argNames:
    - e
    - msg
    - req
    - shared_secret
    - shared_secret_len
    argTypes:
    - struct eapol_test_data*
    - struct radius_msg*
    - struct radius_msg*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 859
    functionDepth: 1
    functionLinenumber: 859
    functionLinenumberEnd: 913
    functionName: ieee802_1x_get_keys
    functionSourceFile: /src/hostap/wpa_supplicant/eapol_test.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_printf
    - wpa_hexdump
    - radius_msg_get_cisco_keys
    - radius_msg_get_attr_ptr
    - os_free
    - radius_msg_get_ms_keys
    linkageType: ''
    returnType: void
    signature: "void ieee802_1x_get_keys(struct eapol_test_data *e,\n\t\t\t\tstruct
      radius_msg *msg, struct radius_msg *req,\n\t\t\t\tconst u8 *shared_secret,\n\t\t\t\tsize_t
      shared_secret_len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: radius_msg_get_hdr
      Src: /src/hostap/wpa_supplicant/eapol_test.c:923,1
    - Dst: radius_msg_get_attr
      Src: /src/hostap/wpa_supplicant/eapol_test.c:928,1
    - Dst: radius_msg_get_attr
      Src: /src/hostap/wpa_supplicant/eapol_test.c:930,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:931,1
    - Dst: radius_msg_verify
      Src: /src/hostap/wpa_supplicant/eapol_test.c:933,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:935,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:943,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:948,1
    - Dst: radius_msg_free
      Src: /src/hostap/wpa_supplicant/eapol_test.c:950,1
    - Dst: ieee802_1x_get_keys
      Src: /src/hostap/wpa_supplicant/eapol_test.c:956,1
    - Dst: ieee802_1x_decapsulate_radius
      Src: /src/hostap/wpa_supplicant/eapol_test.c:964,1
    - Dst: eloop_terminate
      Src: /src/hostap/wpa_supplicant/eapol_test.c:970,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 5
    argNames:
    - msg
    - req
    - shared_secret
    - shared_secret_len
    - data
    argTypes:
    - struct radius_msg*
    - struct radius_msg*
    - u8*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 917
    functionDepth: 1
    functionLinenumber: 917
    functionLinenumberEnd: 974
    functionName: ieee802_1x_receive_auth
    functionSourceFile: /src/hostap/wpa_supplicant/eapol_test.c
    functionUses: 0
    functionsReached:
    - radius_msg_get_hdr
    - wpa_printf
    - radius_msg_verify
    - ieee802_1x_get_keys
    - radius_msg_get_attr
    - eloop_terminate
    - radius_msg_free
    - ieee802_1x_decapsulate_radius
    linkageType: ''
    returnType: RadiusRxResult
    signature: "RadiusRxResult ieee802_1x_receive_auth(struct radius_msg *msg, struct
      radius_msg *req,\n\t\t\tconst u8 *shared_secret, size_t shared_secret_len,\n\t\t\tvoid
      *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - priv
    - ssid
    argTypes:
    - void*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 981
      start: 977
    functionDepth: 0
    functionLinenumber: 977
    functionLinenumberEnd: 981
    functionName: driver_get_ssid
    functionSourceFile: /src/hostap/wpa_supplicant/eapol_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int driver_get_ssid(void *priv, u8 *ssid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/eapol_test.c:989,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/eapol_test.c:994,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - priv
    - bssid
    argTypes:
    - void*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 984
    functionDepth: 0
    functionLinenumber: 984
    functionLinenumberEnd: 997
    functionName: driver_get_bssid
    functionSourceFile: /src/hostap/wpa_supplicant/eapol_test.c
    functionUses: 0
    functionsReached:
    - eloop_register_timeout
    - os_memset
    linkageType: ''
    returnType: int
    signature: int driver_get_bssid(void *priv, u8 *bssid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1002,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - priv
    - capa
    argTypes:
    - void*
    - struct wpa_driver_capa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 1000
    functionDepth: 0
    functionLinenumber: 1000
    functionLinenumberEnd: 1005
    functionName: driver_get_capa
    functionSourceFile: /src/hostap/wpa_supplicant/eapol_test.c
    functionUses: 0
    functionsReached:
    - os_memset
    linkageType: ''
    returnType: int
    signature: int driver_get_capa(void *priv, struct wpa_driver_capa *capa)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1029,1
    - Dst: htonl
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1030,1
    - Dst: os_strlcpy
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1031,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1033,1
    - Dst: assert
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1034,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1036,1
    - Dst: assert
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1037,1
    - Dst: sscanf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1042,1
    - Dst: hostapd_parse_ip_addr
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1051,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1052,1
    - Dst: assert
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1054,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1059,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1060,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1062,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1064,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1066,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1068,1
    - Dst: hostapd_parse_ip_addr
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1073,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1077,1
    - Dst: assert
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1079,1
    - Dst: radius_client_init
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1083,1
    - Dst: assert
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1084,1
    - Dst: radius_client_register
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1086,1
    - Dst: assert
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1088,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 50
    argCount: 12
    argNames:
    - e
    - wpa_s
    - authsrv
    - port
    - tls
    - secret
    - ca_cert
    - client_cert
    - private_key
    - private_key_passwd
    - cli_addr
    - ifname
    argTypes:
    - struct eapol_test_data*
    - struct wpa_supplicant*
    - char*
    - int
    - bool
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    assertStmts:
    - condition: (e->radius_conf != NULL)
      pos:
        line_end: 1033
        line_start: 1033
        source_file: /src/hostap/wpa_supplicant/eapol_test.c
    - condition: (0)
      pos:
        line_end: 1053
        line_start: 1053
        source_file: /src/hostap/wpa_supplicant/eapol_test.c
    - condition: (as != NULL)
      pos:
        line_end: 1036
        line_start: 1036
        source_file: /src/hostap/wpa_supplicant/eapol_test.c
    - condition: (0)
      pos:
        line_end: 1078
        line_start: 1078
        source_file: /src/hostap/wpa_supplicant/eapol_test.c
    - condition: (e->radius != NULL)
      pos:
        line_end: 1083
        line_start: 1083
        source_file: /src/hostap/wpa_supplicant/eapol_test.c
    - condition: (res == 0)
      pos:
        line_end: 1087
        line_start: 1087
        source_file: /src/hostap/wpa_supplicant/eapol_test.c
    constantsTouched: []
    func_position:
      end: 1089
      start: 1015
    functionDepth: 1
    functionLinenumber: 1015
    functionLinenumberEnd: 1089
    functionName: wpa_init_conf
    functionSourceFile: /src/hostap/wpa_supplicant/eapol_test.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_memcpy
    - wpa_printf
    - sscanf
    - htonl
    - os_strlcpy
    - radius_client_register
    - radius_client_init
    - os_zalloc
    - hostapd_parse_ip_addr
    - os_strdup
    - assert
    linkageType: ''
    returnType: void
    signature: "void wpa_init_conf(struct eapol_test_data *e,\n\t\t\t  struct wpa_supplicant
      *wpa_s, const char *authsrv,\n\t\t\t  int port, bool tls, const char *secret,\n\t\t\t
      \ const char *ca_cert, const char *client_cert,\n\t\t\t  const char *private_key,\n\t\t\t
      \ const char *private_key_passwd,\n\t\t\t  const char *cli_addr, const char
      *ifname)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: scard_init
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1123,1
    - Dst: scard_set_pin
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1126,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1127,1
    - Dst: scard_deinit
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1128,1
    - Dst: scard_get_imsi
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1133,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1135,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1138,1
    - Dst: scard_get_mnc_len
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1139,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1141,1
    - Dst: scard_gsm_auth
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1142,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1145,1
    - Dst: scard_gsm_auth
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1146,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1150,1
    - Dst: scard_gsm_auth
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1151,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1156,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1158,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1159,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1161,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1162,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1164,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1165,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1167,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1168,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1171,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1174,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1175,1
    - Dst: scard_umts_auth
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1178,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1181,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1182,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1183,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1184,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1186,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1188,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1190,1
    - Dst: scard_deinit
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1194,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 64
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct eapol_test_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1198
      start: 1092
    functionDepth: 0
    functionLinenumber: 1092
    functionLinenumberEnd: 1198
    functionName: scard_test
    functionSourceFile: /src/hostap/wpa_supplicant/eapol_test.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_hexdump
    - os_memset
    - scard_umts_auth
    - scard_set_pin
    - scard_gsm_auth
    - printf
    - scard_get_mnc_len
    - scard_init
    - scard_deinit
    - wpa_hexdump_ascii
    - scard_get_imsi
    linkageType: ''
    returnType: int
    signature: int scard_test(struct eapol_test_data *e)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1213,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1214,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1218,1
    - Dst: scard_init
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1223,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1225,1
    - Dst: scard_set_pin
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1228,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1229,1
    - Dst: scard_deinit
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1230,1
    - Dst: scard_get_imsi
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1235,1
    - Dst: scard_deinit
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1236,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1241,1
    - Dst: scard_gsm_auth
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1242,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1247,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1248,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1250,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1251,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1253,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1254,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1256,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1257,1
    - Dst: scard_deinit
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1260,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 3
    argNames:
    - e
    - argc
    - argv
    argTypes:
    - struct eapol_test_data*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1263
      start: 1201
    functionDepth: 0
    functionLinenumber: 1201
    functionLinenumberEnd: 1263
    functionName: scard_get_triplets
    functionSourceFile: /src/hostap/wpa_supplicant/eapol_test.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memset
    - scard_init
    - scard_set_pin
    - printf
    - scard_gsm_auth
    - atoi
    - scard_deinit
    - os_strcmp
    - scard_get_imsi
    linkageType: ''
    returnType: int
    signature: int scard_get_triplets(struct eapol_test_data *e, int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1269,1
    - Dst: eloop_terminate
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sig
    - signal_ctx
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1271
      start: 1266
    functionDepth: 0
    functionLinenumber: 1266
    functionLinenumberEnd: 1271
    functionName: eapol_test_terminate
    functionSourceFile: /src/hostap/wpa_supplicant/eapol_test.c
    functionUses: 0
    functionsReached:
    - eloop_terminate
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: void eapol_test_terminate(int sig, void *signal_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1276,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1329
      start: 1274
    functionDepth: 0
    functionLinenumber: 1274
    functionLinenumberEnd: 1329
    functionName: usage
    functionSourceFile: /src/hostap/wpa_supplicant/eapol_test.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 62
    BranchProfiles: []
    Callsites:
    - Dst: os_program_init
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1351,1
    - Dst: hostapd_logger_register_cb
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1354,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1356,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1358,1
    - Dst: getopt
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1365,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1403,1
    - Dst: usage
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1404,1
    - Dst: fclose
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1413,1
    - Dst: fopen
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1414,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1416,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1422,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1428,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1440,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1447,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1453,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1455,1
    - Dst: usage
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1458,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1463,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1472,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1473,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1482,1
    - Dst: usage
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1491,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1501,1
    - Dst: scard_test
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1502,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1505,1
    - Dst: scard_get_triplets
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1506,1
    - Dst: usage
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1511,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1512,1
    - Dst: eap_register_methods
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1516,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1517,1
    - Dst: eloop_init
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1521,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1522,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1526,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1527,1
    - Dst: dl_list_init
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1530,1
    - Dst: dl_list_init
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1531,1
    - Dst: dl_list_init
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1533,1
    - Dst: wpa_config_read
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1536,1
    - Dst: wpa_config_alloc_empty
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1538,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1540,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1544,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1549,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1550,1
    - Dst: wpa_init_conf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1553,1
    - Dst: wpa_supplicant_ctrl_iface_init
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1556,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1558,1
    - Dst: wpa_supplicant_scard_init
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1569,1
    - Dst: test_eapol
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1572,1
    - Dst: wpas_init_ext_pw
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1575,1
    - Dst: wpa_supplicant_ctrl_iface_wait
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1579,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1582,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1584,1
    - Dst: eloop_register_signal_terminate
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1587,1
    - Dst: eloop_register_signal_reconfig
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1588,1
    - Dst: eloop_run
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1589,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1591,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1592,1
    - Dst: eapol_test_compare_pmk
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1594,1
    - Dst: wpa_config_write
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1603,1
    - Dst: test_eapol_clean
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1605,1
    - Dst: eap_peer_unregister_methods
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1607,1
    - Dst: eap_server_unregister_methods
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1609,1
    - Dst: eloop_destroy
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1612,1
    - Dst: fclose
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1615,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1617,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1622,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1624,1
    - Dst: crypto_unload
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1626,1
    - Dst: os_program_deinit
      Src: /src/hostap/wpa_supplicant/eapol_test.c:1627,1
    CyclomaticComplexity: 72
    EdgeCount: 72
    ICount: 224
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1630
      start: 1332
    functionDepth: 1
    functionLinenumber: 1332
    functionLinenumberEnd: 1630
    functionName: main
    functionSourceFile: /src/hostap/wpa_supplicant/eapol_test.c
    functionUses: 0
    functionsReached:
    - os_program_init
    - dl_list_init
    - scard_test
    - atoi
    - fopen
    - os_program_deinit
    - eloop_run
    - wpa_printf
    - eap_server_unregister_methods
    - test_eapol
    - hwaddr_aton
    - getopt
    - fclose
    - os_free
    - wpa_supplicant_ctrl_iface_init
    - eloop_destroy
    - hostapd_logger_register_cb
    - wpa_config_write
    - os_strcmp
    - wpa_supplicant_ctrl_iface_wait
    - eap_peer_unregister_methods
    - usage
    - test_eapol_clean
    - eapol_test_compare_pmk
    - printf
    - wpa_config_read
    - wpas_init_ext_pw
    - os_strchr
    - os_strdup
    - os_memset
    - wpa_supplicant_scard_init
    - os_memcpy
    - eloop_cancel_timeout
    - wpa_config_alloc_empty
    - eloop_register_signal_terminate
    - os_zalloc
    - eloop_init
    - eap_register_methods
    - wpa_init_conf
    - eloop_register_timeout
    - eloop_register_signal_reconfig
    - crypto_unload
    - scard_get_triplets
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: RegOpenKeyEx
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:72,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:74,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:78,1
    - Dst: RegQueryValueEx
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:82,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:82,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:85,1
    - Dst: wpa_unicode2ascii_inplace
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:86,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:87,1
    - Dst: RegQueryValueEx
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:93,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:93,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:96,1
    - Dst: wpa_unicode2ascii_inplace
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:97,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:98,1
    - Dst: RegQueryValueEx
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:104,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:104,1
    - Dst: wpa_unicode2ascii_inplace
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:108,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:109,1
    - Dst: RegQueryValueEx
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:115,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:115,1
    - Dst: RegCloseKey
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:120,1
    - Dst: wpa_supplicant_add_iface
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:122,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:124,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 43
    argCount: 3
    argNames:
    - global
    - _hk
    - name
    argTypes:
    - struct wpa_global*
    - HKEY
    - TCHAR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 131
    functionName: read_interface
    functionSourceFile: /src/hostap/wpa_supplicant/main_winsvc.c
    functionUses: 0
    functionsReached:
    - RegCloseKey
    - wpa_printf
    - RegOpenKeyEx
    - wpa_supplicant_add_iface
    - TEXT
    - RegQueryValueEx
    - printf
    - wpa_unicode2ascii_inplace
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int read_interface(struct wpa_global *global, HKEY _hk,\n\t\t\t  const
      TCHAR *name)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: os_program_init
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:143,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:146,1
    - Dst: RegOpenKeyEx
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:149,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:152,1
    - Dst: RegQueryValueEx
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:157,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:157,1
    - Dst: RegQueryValueEx
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:164,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:164,1
    - Dst: RegQueryValueEx
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:171,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:171,1
    - Dst: RegQueryValueEx
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:178,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:178,1
    - Dst: wpa_supplicant_init
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:185,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:187,1
    - Dst: RegOpenKeyEx
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:191,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:191,1
    - Dst: RegCloseKey
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:193,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:195,1
    - Dst: RegEnumKeyEx
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:205,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:212,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:221,1
    - Dst: read_interface
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:222,1
    - Dst: RegCloseKey
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:226,1
    - Dst: wpa_supplicant_run
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:229,1
    - Dst: wpa_supplicant_deinit
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:231,1
    - Dst: os_program_deinit
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:233,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 64
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 236
    functionName: wpa_supplicant_thread
    functionSourceFile: /src/hostap/wpa_supplicant/main_winsvc.c
    functionUses: 0
    functionsReached:
    - RegCloseKey
    - os_program_init
    - wpa_printf
    - read_interface
    - wpa_supplicant_run
    - RegOpenKeyEx
    - RegEnumKeyEx
    - TEXT
    - RegQueryValueEx
    - wpa_supplicant_deinit
    - printf
    - wpa_supplicant_init
    - os_program_deinit
    - os_memset
    linkageType: ''
    returnType: int
    signature: int wpa_supplicant_thread(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_supplicant_thread
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:241,1
    - Dst: SetServiceStatus
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:245,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:246,1
    - Dst: GetLastError
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - param
    argTypes:
    - LPDWORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 239
    functionDepth: 3
    functionLinenumber: 239
    functionLinenumberEnd: 251
    functionName: svc_thread
    functionSourceFile: /src/hostap/wpa_supplicant/main_winsvc.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_thread
    - SetServiceStatus
    - GetLastError
    - printf
    linkageType: ''
    returnType: DWORD
    signature: DWORD svc_thread(LPDWORD param)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:259,1
    - Dst: OpenSCManager
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:261,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:263,1
    - Dst: GetLastError
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:263,1
    - Dst: CreateService
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:267,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:273,1
    - Dst: GetLastError
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:273,1
    - Dst: CloseServiceHandle
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:274,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:278,1
    - Dst: ChangeServiceConfig2
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:280,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:281,1
    - Dst: GetLastError
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:282,1
    - Dst: CloseServiceHandle
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:286,1
    - Dst: CloseServiceHandle
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:287,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:289,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - exe
    argTypes:
    - TCHAR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 292
    functionName: register_service
    functionSourceFile: /src/hostap/wpa_supplicant/main_winsvc.c
    functionUses: 0
    functionsReached:
    - CloseServiceHandle
    - GetLastError
    - OpenSCManager
    - printf
    - ChangeServiceConfig2
    - CreateService
    - os_memset
    linkageType: ''
    returnType: int
    signature: int register_service(const TCHAR *exe)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:300,1
    - Dst: OpenSCManager
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:302,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:304,1
    - Dst: GetLastError
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:304,1
    - Dst: OpenService
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:308,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:310,1
    - Dst: GetLastError
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:310,1
    - Dst: CloseServiceHandle
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:311,1
    - Dst: QueryServiceStatus
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:315,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:317,1
    - Dst: ControlService
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:319,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:321,1
    - Dst: GetLastError
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:322,1
    - Dst: Sleep
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:324,1
    - Dst: DeleteService
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:328,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:329,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:331,1
    - Dst: GetLastError
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:331,1
    - Dst: CloseServiceHandle
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:334,1
    - Dst: CloseServiceHandle
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:335,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 338
    functionName: unregister_service
    functionSourceFile: /src/hostap/wpa_supplicant/main_winsvc.c
    functionUses: 0
    functionsReached:
    - CloseServiceHandle
    - GetLastError
    - DeleteService
    - OpenSCManager
    - QueryServiceStatus
    - ControlService
    - printf
    - OpenService
    - Sleep
    linkageType: ''
    returnType: int
    signature: int unregister_service(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: eloop_terminate
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:350,1
    - Dst: SetEvent
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:351,1
    - Dst: SetServiceStatus
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:355,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:356,1
    - Dst: GetLastError
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:357,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - control_code
    argTypes:
    - DWORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 359
    functionName: service_ctrl_handler
    functionSourceFile: /src/hostap/wpa_supplicant/main_winsvc.c
    functionUses: 0
    functionsReached:
    - GetLastError
    - printf
    - SetServiceStatus
    - eloop_terminate
    - SetEvent
    linkageType: ''
    returnType: void
    signature: void service_ctrl_handler(DWORD control_code)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: RegisterServiceCtrlHandler
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:366,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:369,1
    - Dst: GetLastError
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:370,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:374,1
    - Dst: SetServiceStatus
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:379,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:380,1
    - Dst: GetLastError
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:381,1
    - Dst: CreateEvent
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:385,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:387,1
    - Dst: GetLastError
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:387,1
    - Dst: CreateThread
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:391,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:393,1
    - Dst: GetLastError
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:393,1
    - Dst: SetServiceStatus
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:404,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:405,1
    - Dst: GetLastError
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:406,1
    - Dst: WaitForSingleObject
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:411,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - DWORD
    - LPTSTR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 412
    functionName: service_start
    functionSourceFile: /src/hostap/wpa_supplicant/main_winsvc.c
    functionUses: 0
    functionsReached:
    - RegisterServiceCtrlHandler
    - GetLastError
    - WaitForSingleObject
    - printf
    - SetServiceStatus
    - CreateEvent
    - CreateThread
    - os_memset
    linkageType: ''
    returnType: void
    signature: void service_start(DWORD argc, LPTSTR *argv)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:423,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:428,1
    - Dst: GetModuleFileName
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:431,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:432,1
    - Dst: GetLastError
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:433,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:434,1
    - Dst: wpa_strdup_tchar
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:438,1
    - Dst: register_service
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:442,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:443,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:445,1
    - Dst: unregister_service
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:446,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:447,1
    - Dst: wpa_supplicant_thread
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:448,1
    - Dst: StartServiceCtrlDispatcher
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:452,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:453,1
    - Dst: GetLastError
      Src: /src/hostap/wpa_supplicant/main_winsvc.c:454,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 415
    functionDepth: 3
    functionLinenumber: 415
    functionLinenumberEnd: 458
    functionName: main
    functionSourceFile: /src/hostap/wpa_supplicant/main_winsvc.c
    functionUses: 0
    functionsReached:
    - StartServiceCtrlDispatcher
    - unregister_service
    - GetLastError
    - register_service
    - os_malloc
    - printf
    - GetModuleFileName
    - wpa_strdup_tchar
    - wpa_supplicant_thread
    - os_free
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - global
    - wpa_s
    argTypes:
    - struct wpa_global*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 259
    functionName: wpas_p2p_init
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpas_p2p_init(struct wpa_global *global, struct wpa_supplicant
      *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 263
    functionName: wpas_p2p_deinit
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wpas_p2p_deinit(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 267
    functionName: wpas_p2p_completed
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wpas_p2p_completed(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 271
    functionName: wpas_p2p_update_config
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wpas_p2p_update_config(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - wpa_s
    - addr
    - dst
    - bssid
    - ie
    - ie_len
    - rx_freq
    - ssi_signal
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - u8*
    - u8*
    - size_t
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 280
    functionName: wpas_p2p_probe_req_rx
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_probe_req_rx(struct wpa_supplicant *wpa_s,\n\t\t\t\t\tconst
      u8 *addr,\n\t\t\t\t\tconst u8 *dst, const u8 *bssid,\n\t\t\t\t\tconst u8 *ie,
      size_t ie_len,\n\t\t\t\t\tunsigned int rx_freq, int ssi_signal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - wpa_s
    - peer_addr
    - registrar
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: wpas_p2p_wps_success
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_p2p_wps_success(struct wpa_supplicant *wpa_s,\n\t\t\t\t\tconst
      u8 *peer_addr, int registrar)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - wpa_s
    - trig
    argTypes:
    - struct wpa_supplicant*
    - enum wpas_p2p_channel_update_trig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 291
    functionName: wpas_p2p_update_channel_list
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_p2p_update_channel_list(struct wpa_supplicant *wpa_s,\n\t\t\t
      \    enum wpas_p2p_channel_update_trig trig)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - wpa_s
    - freq_24
    - freq_5
    - freq_overall
    argTypes:
    - struct wpa_supplicant*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 297
    functionName: wpas_p2p_update_best_channels
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_p2p_update_best_channels(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t\t
      int freq_24, int freq_5,\n\t\t\t\t\t\t int freq_overall)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 8
    argNames:
    - wpa_s
    - da
    - sa
    - bssid
    - category
    - data
    - len
    - freq
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - u8*
    - u8
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 305
    functionName: wpas_p2p_rx_action
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_p2p_rx_action(struct wpa_supplicant *wpa_s,\n\t\t\t\t      const
      u8 *da,\n\t\t\t\t      const u8 *sa, const u8 *bssid,\n\t\t\t\t      u8 category,
      const u8 *data, size_t len,\n\t\t\t\t      int freq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - wpa_s
    - freq
    - duration
    argTypes:
    - struct wpa_supplicant*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 311
    functionName: wpas_p2p_remain_on_channel_cb
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_p2p_remain_on_channel_cb(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t\t
      unsigned int freq,\n\t\t\t\t\t\t unsigned int duration)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - wpa_s
    - freq
    argTypes:
    - struct wpa_supplicant*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 317
    functionName: wpas_p2p_cancel_remain_on_channel_cb
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_p2p_cancel_remain_on_channel_cb(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \    unsigned int freq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 321
    functionName: wpas_p2p_interface_unavailable
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wpas_p2p_interface_unavailable(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 325
    functionName: wpas_p2p_notif_connected
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wpas_p2p_notif_connected(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 329
    functionName: wpas_p2p_notif_disconnected
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wpas_p2p_notif_disconnected(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 334
    functionName: wpas_p2p_4way_hs_failed
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpas_p2p_4way_hs_failed(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 338
    functionName: wpas_p2p_ap_setup_failed
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wpas_p2p_ap_setup_failed(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 342
    functionName: wpas_p2p_indicate_state_change
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wpas_p2p_indicate_state_change(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 346
    functionName: wpas_p2p_deinit_iface
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wpas_p2p_deinit_iface(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 350
    functionName: wpas_p2p_ap_deinit
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wpas_p2p_ap_deinit(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - wpa_s
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 355
    functionName: wpas_p2p_network_removed
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_p2p_network_removed(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \   struct wpa_ssid *ssid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 360
    functionName: wpas_p2p_in_progress
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpas_p2p_in_progress(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 365
    functionName: wpas_p2p_wps_eapol_cb
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpas_p2p_wps_eapol_cb(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - wpa_s
    - fail
    argTypes:
    - struct wpa_supplicant*
    - struct wps_event_fail*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 370
    functionName: wpas_p2p_wps_failed
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_p2p_wps_failed(struct wpa_supplicant *wpa_s,\n\t\t\t\t       struct
      wps_event_fail *fail)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - ifname
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 376
    functionName: wpas_p2p_group_remove
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_group_remove(struct wpa_supplicant *wpa_s,\n\t\t\t\t\tconst
      char *ifname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - service_name
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 382
    functionName: wpas_p2p_usd_elems
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * wpas_p2p_usd_elems(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t\t
      const char *service_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 386
    functionName: wpas_p2p_update_dev_addr
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wpas_p2p_update_dev_addr(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - wpa_s
    - ptk
    - ptk_len
    argTypes:
    - struct wpa_supplicant*
    - u8**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 393
    functionName: wpas_p2p_get_pasn_ptk
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_get_pasn_ptk(struct wpa_supplicant *wpa_s,\n\t\t\t\t\tconst
      u8 **ptk, size_t *ptk_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_open
      Src: /src/hostap/wpa_supplicant/libwpa_test.c:17,1
    - Dst: wpa_ctrl_attach
      Src: /src/hostap/wpa_supplicant/libwpa_test.c:20,1
    - Dst: wpa_ctrl_detach
      Src: /src/hostap/wpa_supplicant/libwpa_test.c:21,1
    - Dst: wpa_ctrl_pending
      Src: /src/hostap/wpa_supplicant/libwpa_test.c:22,1
    - Dst: wpa_ctrl_recv
      Src: /src/hostap/wpa_supplicant/libwpa_test.c:27,1
    - Dst: wpa_ctrl_close
      Src: /src/hostap/wpa_supplicant/libwpa_test.c:29,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 32
    functionName: main
    functionSourceFile: /src/hostap/wpa_supplicant/libwpa_test.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_close
    - wpa_ctrl_pending
    - wpa_ctrl_open
    - wpa_ctrl_attach
    - wpa_ctrl_recv
    - wpa_ctrl_detach
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: os_program_init
      Src: /src/hostap/wpa_supplicant/main_winmain.c:30,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/main_winmain.c:33,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/main_winmain.c:38,1
    - Dst: wpa_supplicant_init
      Src: /src/hostap/wpa_supplicant/main_winmain.c:48,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/main_winmain.c:50,1
    - Dst: wpa_supplicant_add_iface
      Src: /src/hostap/wpa_supplicant/main_winmain.c:64,1
    - Dst: wpa_supplicant_run
      Src: /src/hostap/wpa_supplicant/main_winmain.c:69,1
    - Dst: wpa_supplicant_deinit
      Src: /src/hostap/wpa_supplicant/main_winmain.c:71,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/main_winmain.c:73,1
    - Dst: os_program_deinit
      Src: /src/hostap/wpa_supplicant/main_winmain.c:75,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 36
    argCount: 4
    argNames:
    - hInstance
    - hPrevInstance
    - lpCmdLine
    - nShowCmd
    argTypes:
    - HINSTANCE
    - HINSTANCE
    - CMDLINE
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 78
    functionName: WinMain
    functionSourceFile: /src/hostap/wpa_supplicant/main_winmain.c
    functionUses: 0
    functionsReached:
    - os_program_init
    - wpa_supplicant_run
    - wpa_supplicant_add_iface
    - wpa_supplicant_deinit
    - printf
    - os_zalloc
    - wpa_supplicant_init
    - os_free
    - os_program_deinit
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,\n\t\t   CMDLINE
      lpCmdLine, int nShowCmd)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config_file.c:33,1
    - Dst: wpa_config_update_psk
      Src: /src/hostap/wpa_supplicant/config_file.c:37,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config_file.c:48,1
    - Dst: is_6ghz_freq
      Src: /src/hostap/wpa_supplicant/config_file.c:54,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config_file.c:56,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config_file.c:64,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config_file.c:72,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 2
    argNames:
    - ssid
    - line
    argTypes:
    - struct wpa_ssid*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 80
    functionName: wpa_config_validate_network
    functionSourceFile: /src/hostap/wpa_supplicant/config_file.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_config_update_psk
    - is_6ghz_freq
    linkageType: ''
    returnType: int
    signature: int wpa_config_validate_network(struct wpa_ssid *ssid, int line)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config_file.c:89,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/config_file.c:91,1
    - Dst: dl_list_init
      Src: /src/hostap/wpa_supplicant/config_file.c:94,1
    - Dst: wpa_config_set_network_defaults
      Src: /src/hostap/wpa_supplicant/config_file.c:97,1
    - Dst: wpa_config_get_line
      Src: /src/hostap/wpa_supplicant/config_file.c:99,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config_file.c:100,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/config_file.c:105,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config_file.c:107,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/config_file.c:115,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config_file.c:116,1
    - Dst: wpa_config_set
      Src: /src/hostap/wpa_supplicant/config_file.c:123,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config_file.c:125,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config_file.c:126,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config_file.c:127,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config_file.c:128,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config_file.c:129,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config_file.c:130,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config_file.c:142,1
    - Dst: wpa_config_validate_network
      Src: /src/hostap/wpa_supplicant/config_file.c:147,1
    - Dst: wpa_config_free_ssid
      Src: /src/hostap/wpa_supplicant/config_file.c:150,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 46
    argCount: 3
    argNames:
    - f
    - line
    - id
    argTypes:
    - FILE*
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 155
    functionName: wpa_config_read_network
    functionSourceFile: /src/hostap/wpa_supplicant/config_file.c
    functionUses: 0
    functionsReached:
    - wpa_config_set_network_defaults
    - wpa_printf
    - wpa_config_get_line
    - wpa_config_set
    - os_zalloc
    - dl_list_init
    - wpa_config_free_ssid
    - os_strchr
    - os_strcmp
    - wpa_config_validate_network
    linkageType: ''
    returnType: struct wpa_ssid
    signature: struct wpa_ssid * wpa_config_read_network(FILE *f, int *line, int id)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config_file.c:164,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/config_file.c:165,1
    - Dst: wpa_config_get_line
      Src: /src/hostap/wpa_supplicant/config_file.c:171,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config_file.c:172,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/config_file.c:177,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config_file.c:179,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/config_file.c:187,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config_file.c:188,1
    - Dst: wpa_config_set_cred
      Src: /src/hostap/wpa_supplicant/config_file.c:195,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config_file.c:200,1
    - Dst: wpa_config_free_cred
      Src: /src/hostap/wpa_supplicant/config_file.c:206,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 3
    argNames:
    - f
    - line
    - id
    argTypes:
    - FILE*
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 211
    functionName: wpa_config_read_cred
    functionSourceFile: /src/hostap/wpa_supplicant/config_file.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_config_set_cred
    - wpa_config_get_line
    - os_zalloc
    - os_strchr
    - wpa_config_free_cred
    - os_strcmp
    linkageType: ''
    returnType: struct wpa_cred
    signature: struct wpa_cred * wpa_config_read_cred(FILE *f, int *line, int id)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config_file.c:224,1
    - Dst: wpa_config_get_line
      Src: /src/hostap/wpa_supplicant/config_file.c:227,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config_file.c:228,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/config_file.c:233,1
    - Dst: os_realloc
      Src: /src/hostap/wpa_supplicant/config_file.c:234,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config_file.c:236,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config_file.c:238,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/config_file.c:242,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config_file.c:247,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config_file.c:249,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/config_file.c:253,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config_file.c:255,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/config_file.c:258,1
    - Dst: base64_decode
      Src: /src/hostap/wpa_supplicant/config_file.c:259,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config_file.c:260,1
    - Dst: wpa_config_free_blob
      Src: /src/hostap/wpa_supplicant/config_file.c:263,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 3
    argNames:
    - f
    - line
    - name
    argTypes:
    - FILE*
    - int*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 268
    functionName: wpa_config_read_blob
    functionSourceFile: /src/hostap/wpa_supplicant/config_file.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_strdup
    - wpa_printf
    - os_memcpy
    - wpa_config_get_line
    - os_realloc
    - base64_decode
    - os_zalloc
    - os_free
    - wpa_config_free_blob
    - os_strcmp
    linkageType: ''
    returnType: struct wpa_config_blob
    signature: "struct wpa_config_blob * wpa_config_read_blob(FILE *f, int *line,\n\t\t\t\t\t\t
      \    const char *name)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/config_file.c:277,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config_file.c:279,1
    - Dst: wpa_config_read_blob
      Src: /src/hostap/wpa_supplicant/config_file.c:285,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config_file.c:287,1
    - Dst: wpa_config_set_blob
      Src: /src/hostap/wpa_supplicant/config_file.c:291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - config
    - f
    - line
    - bname
    argTypes:
    - struct wpa_config*
    - FILE*
    - int*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 293
    functionName: wpa_config_process_blob
    functionSourceFile: /src/hostap/wpa_supplicant/config_file.c
    functionUses: 0
    functionsReached:
    - os_strchr
    - wpa_printf
    - wpa_config_read_blob
    - wpa_config_set_blob
    linkageType: ''
    returnType: int
    signature: "int wpa_config_process_blob(struct wpa_config *config, FILE *f,\n\t\t\t\t
      \  int *line, char *bname)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config_file.c:303,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/config_file.c:305,1
    - Dst: wpa_config_get_line
      Src: /src/hostap/wpa_supplicant/config_file.c:310,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config_file.c:311,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/config_file.c:316,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config_file.c:318,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/config_file.c:327,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config_file.c:328,1
    - Dst: wpa_config_set_identity
      Src: /src/hostap/wpa_supplicant/config_file.c:336,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config_file.c:341,1
    - Dst: wpa_config_free_identity
      Src: /src/hostap/wpa_supplicant/config_file.c:348,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 3
    argNames:
    - f
    - line
    - id
    argTypes:
    - FILE*
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 353
    functionName: wpa_config_read_identity
    functionSourceFile: /src/hostap/wpa_supplicant/config_file.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_config_get_line
    - wpa_config_free_identity
    - wpa_config_set_identity
    - os_zalloc
    - os_strchr
    - os_strcmp
    linkageType: ''
    returnType: struct wpa_dev_ik
    signature: struct wpa_dev_ik * wpa_config_read_identity(FILE *f, int *line, int
      id)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_alloc_empty
      Src: /src/hostap/wpa_supplicant/config_file.c:376,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config_file.c:378,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config_file.c:392,1
    - Dst: fopen
      Src: /src/hostap/wpa_supplicant/config_file.c:393,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config_file.c:396,1
    - Dst: strerror
      Src: /src/hostap/wpa_supplicant/config_file.c:398,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config_file.c:400,1
    - Dst: wpa_config_get_line
      Src: /src/hostap/wpa_supplicant/config_file.c:404,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config_file.c:410,1
    - Dst: wpa_config_read_network
      Src: /src/hostap/wpa_supplicant/config_file.c:411,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config_file.c:413,1
    - Dst: wpa_config_add_prio_network
      Src: /src/hostap/wpa_supplicant/config_file.c:426,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config_file.c:427,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config_file.c:433,1
    - Dst: wpa_config_read_cred
      Src: /src/hostap/wpa_supplicant/config_file.c:434,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config_file.c:436,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/config_file.c:448,1
    - Dst: wpa_config_process_blob
      Src: /src/hostap/wpa_supplicant/config_file.c:449,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config_file.c:451,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config_file.c:457,1
    - Dst: wpa_config_read_identity
      Src: /src/hostap/wpa_supplicant/config_file.c:458,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config_file.c:461,1
    - Dst: wpa_config_process_global
      Src: /src/hostap/wpa_supplicant/config_file.c:473,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config_file.c:476,1
    - Dst: fclose
      Src: /src/hostap/wpa_supplicant/config_file.c:484,1
    - Dst: wpa_config_debug_dump_networks
      Src: /src/hostap/wpa_supplicant/config_file.c:487,1
    - Dst: wpa_config_free
      Src: /src/hostap/wpa_supplicant/config_file.c:496,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 107
    argCount: 4
    argNames:
    - name
    - cfgp
    - ro
    - show_details
    argTypes:
    - char*
    - struct wpa_config*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 356
    functionDepth: 3
    functionLinenumber: 356
    functionLinenumberEnd: 503
    functionName: wpa_config_read
    functionSourceFile: /src/hostap/wpa_supplicant/config_file.c
    functionUses: 1
    functionsReached:
    - wpa_config_read_identity
    - wpa_printf
    - wpa_config_read_cred
    - wpa_config_free
    - strerror
    - wpa_config_read_network
    - wpa_config_alloc_empty
    - wpa_config_get_line
    - wpa_config_process_global
    - os_strncmp
    - wpa_config_process_blob
    - fclose
    - wpa_config_debug_dump_networks
    - wpa_config_add_prio_network
    - os_free
    - fopen
    - os_strcmp
    linkageType: ''
    returnType: struct wpa_config
    signature: "struct wpa_config * wpa_config_read(const char *name, struct wpa_config
      *cfgp,\n\t\t\t\t    bool ro, bool show_details)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_get
      Src: /src/hostap/wpa_supplicant/config_file.c:510,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:513,1
    - Dst: str_clear_free
      Src: /src/hostap/wpa_supplicant/config_file.c:514,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - f
    - field
    - ssid
    argTypes:
    - FILE*
    - char*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 515
    functionName: write_str
    functionSourceFile: /src/hostap/wpa_supplicant/config_file.c
    functionUses: 0
    functionsReached:
    - str_clear_free
    - wpa_config_get
    - fprintf
    linkageType: ''
    returnType: void
    signature: void write_str(FILE *f, const char *field, struct wpa_ssid *ssid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:522,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - f
    - field
    - value
    - def
    argTypes:
    - FILE*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 523
    functionName: write_int
    functionSourceFile: /src/hostap/wpa_supplicant/config_file.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void write_int(FILE *f, const char *field, int value, int def)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_get
      Src: /src/hostap/wpa_supplicant/config_file.c:528,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:531,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config_file.c:532,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - f
    - ssid
    argTypes:
    - FILE*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 526
    functionDepth: 1
    functionLinenumber: 526
    functionLinenumberEnd: 533
    functionName: write_bssid
    functionSourceFile: /src/hostap/wpa_supplicant/config_file.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpa_config_get
    - fprintf
    linkageType: ''
    returnType: void
    signature: void write_bssid(FILE *f, struct wpa_ssid *ssid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_get
      Src: /src/hostap/wpa_supplicant/config_file.c:538,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:542,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config_file.c:543,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - f
    - ssid
    argTypes:
    - FILE*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 544
    functionName: write_bssid_hint
    functionSourceFile: /src/hostap/wpa_supplicant/config_file.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpa_config_get
    - fprintf
    linkageType: ''
    returnType: void
    signature: void write_bssid_hint(FILE *f, struct wpa_ssid *ssid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_get
      Src: /src/hostap/wpa_supplicant/config_file.c:554,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:557,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config_file.c:558,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - f
    - ssid
    argTypes:
    - FILE*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 547
    functionDepth: 1
    functionLinenumber: 547
    functionLinenumberEnd: 559
    functionName: write_psk
    functionSourceFile: /src/hostap/wpa_supplicant/config_file.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpa_config_get
    - fprintf
    linkageType: ''
    returnType: void
    signature: void write_psk(FILE *f, struct wpa_ssid *ssid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_get
      Src: /src/hostap/wpa_supplicant/config_file.c:569,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:573,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config_file.c:574,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - f
    - ssid
    argTypes:
    - FILE*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 575
    functionName: write_proto
    functionSourceFile: /src/hostap/wpa_supplicant/config_file.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpa_config_get
    - fprintf
    linkageType: ''
    returnType: void
    signature: void write_proto(FILE *f, struct wpa_ssid *ssid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_get
      Src: /src/hostap/wpa_supplicant/config_file.c:585,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:589,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config_file.c:590,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - f
    - ssid
    argTypes:
    - FILE*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 578
    functionDepth: 1
    functionLinenumber: 578
    functionLinenumberEnd: 591
    functionName: write_key_mgmt
    functionSourceFile: /src/hostap/wpa_supplicant/config_file.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpa_config_get
    - fprintf
    linkageType: ''
    returnType: void
    signature: void write_key_mgmt(FILE *f, struct wpa_ssid *ssid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_get
      Src: /src/hostap/wpa_supplicant/config_file.c:601,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:605,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config_file.c:606,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - f
    - ssid
    argTypes:
    - FILE*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 594
    functionDepth: 1
    functionLinenumber: 594
    functionLinenumberEnd: 607
    functionName: write_pairwise
    functionSourceFile: /src/hostap/wpa_supplicant/config_file.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpa_config_get
    - fprintf
    linkageType: ''
    returnType: void
    signature: void write_pairwise(FILE *f, struct wpa_ssid *ssid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_get
      Src: /src/hostap/wpa_supplicant/config_file.c:617,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:621,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config_file.c:622,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - f
    - ssid
    argTypes:
    - FILE*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 610
    functionDepth: 1
    functionLinenumber: 610
    functionLinenumberEnd: 623
    functionName: write_group
    functionSourceFile: /src/hostap/wpa_supplicant/config_file.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpa_config_get
    - fprintf
    linkageType: ''
    returnType: void
    signature: void write_group(FILE *f, struct wpa_ssid *ssid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_get
      Src: /src/hostap/wpa_supplicant/config_file.c:633,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:637,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config_file.c:638,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - f
    - ssid
    argTypes:
    - FILE*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 626
    functionDepth: 1
    functionLinenumber: 626
    functionLinenumberEnd: 639
    functionName: write_group_mgmt
    functionSourceFile: /src/hostap/wpa_supplicant/config_file.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpa_config_get
    - fprintf
    linkageType: ''
    returnType: void
    signature: void write_group_mgmt(FILE *f, struct wpa_ssid *ssid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_get
      Src: /src/hostap/wpa_supplicant/config_file.c:649,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:653,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config_file.c:654,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - f
    - ssid
    argTypes:
    - FILE*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 642
    functionDepth: 1
    functionLinenumber: 642
    functionLinenumberEnd: 655
    functionName: write_auth_alg
    functionSourceFile: /src/hostap/wpa_supplicant/config_file.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpa_config_get
    - fprintf
    linkageType: ''
    returnType: void
    signature: void write_auth_alg(FILE *f, struct wpa_ssid *ssid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_get
      Src: /src/hostap/wpa_supplicant/config_file.c:663,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:668,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config_file.c:669,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - f
    - ssid
    argTypes:
    - FILE*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 659
    functionDepth: 1
    functionLinenumber: 659
    functionLinenumberEnd: 670
    functionName: write_eap
    functionSourceFile: /src/hostap/wpa_supplicant/config_file.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpa_config_get
    - fprintf
    linkageType: ''
    returnType: void
    signature: void write_eap(FILE *f, struct wpa_ssid *ssid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:680,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/config_file.c:681,1
    - Dst: wpa_config_get
      Src: /src/hostap/wpa_supplicant/config_file.c:683,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:685,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config_file.c:686,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - f
    - idx
    - ssid
    argTypes:
    - FILE*
    - int
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 675
    functionDepth: 1
    functionLinenumber: 675
    functionLinenumberEnd: 688
    functionName: write_wep_key
    functionSourceFile: /src/hostap/wpa_supplicant/config_file.c
    functionUses: 0
    functionsReached:
    - wpa_config_get
    - fprintf
    - os_snprintf
    - os_free
    - os_snprintf_error
    linkageType: ''
    returnType: void
    signature: void write_wep_key(FILE *f, int idx, struct wpa_ssid *ssid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_get
      Src: /src/hostap/wpa_supplicant/config_file.c:696,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:699,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config_file.c:700,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - f
    - ssid
    argTypes:
    - FILE*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 694
    functionDepth: 1
    functionLinenumber: 694
    functionLinenumberEnd: 701
    functionName: write_go_p2p_dev_addr
    functionSourceFile: /src/hostap/wpa_supplicant/config_file.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpa_config_get
    - fprintf
    linkageType: ''
    returnType: void
    signature: void write_go_p2p_dev_addr(FILE *f, struct wpa_ssid *ssid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_get
      Src: /src/hostap/wpa_supplicant/config_file.c:705,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:708,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config_file.c:709,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - f
    - ssid
    argTypes:
    - FILE*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 703
    functionDepth: 1
    functionLinenumber: 703
    functionLinenumberEnd: 710
    functionName: write_p2p_client_list
    functionSourceFile: /src/hostap/wpa_supplicant/config_file.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpa_config_get
    - fprintf
    linkageType: ''
    returnType: void
    signature: void write_p2p_client_list(FILE *f, struct wpa_ssid *ssid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_get
      Src: /src/hostap/wpa_supplicant/config_file.c:715,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:719,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config_file.c:720,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - f
    - ssid
    argTypes:
    - FILE*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 713
    functionDepth: 1
    functionLinenumber: 713
    functionLinenumberEnd: 721
    functionName: write_p2p2_client_list
    functionSourceFile: /src/hostap/wpa_supplicant/config_file.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpa_config_get
    - fprintf
    linkageType: ''
    returnType: void
    signature: void write_p2p2_client_list(FILE *f, struct wpa_ssid *ssid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/wpa_supplicant/config_file.c:729,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/wpa_supplicant/config_file.c:730,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:731,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/config_file.c:732,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - f
    - ssid
    argTypes:
    - FILE*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 724
    functionDepth: 1
    functionLinenumber: 724
    functionLinenumberEnd: 734
    functionName: write_psk_list
    functionSourceFile: /src/hostap/wpa_supplicant/config_file.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    - MAC2STR
    - fprintf
    - wpa_snprintf_hex
    linkageType: ''
    returnType: void
    signature: void write_psk_list(FILE *f, struct wpa_ssid *ssid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_get
      Src: /src/hostap/wpa_supplicant/config_file.c:748,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:751,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config_file.c:752,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - f
    - ssid
    argTypes:
    - FILE*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 741
    functionDepth: 1
    functionLinenumber: 741
    functionLinenumberEnd: 753
    functionName: write_mka_cak
    functionSourceFile: /src/hostap/wpa_supplicant/config_file.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpa_config_get
    - fprintf
    linkageType: ''
    returnType: void
    signature: void write_mka_cak(FILE *f, struct wpa_ssid *ssid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_get
      Src: /src/hostap/wpa_supplicant/config_file.c:763,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:766,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config_file.c:767,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - f
    - ssid
    argTypes:
    - FILE*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 756
    functionDepth: 1
    functionLinenumber: 756
    functionLinenumberEnd: 768
    functionName: write_mka_ckn
    functionSourceFile: /src/hostap/wpa_supplicant/config_file.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpa_config_get
    - fprintf
    linkageType: ''
    returnType: void
    signature: void write_mka_ckn(FILE *f, struct wpa_ssid *ssid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_file.c:782,1
    - Dst: INT
      Src: /src/hostap/wpa_supplicant/config_file.c:783,1
    - Dst: write_bssid
      Src: /src/hostap/wpa_supplicant/config_file.c:784,1
    - Dst: write_bssid_hint
      Src: /src/hostap/wpa_supplicant/config_file.c:785,1
    - Dst: write_str
      Src: /src/hostap/wpa_supplicant/config_file.c:786,1
    - Dst: write_str
      Src: /src/hostap/wpa_supplicant/config_file.c:787,1
    - Dst: write_psk
      Src: /src/hostap/wpa_supplicant/config_file.c:788,1
    - Dst: INT
      Src: /src/hostap/wpa_supplicant/config_file.c:789,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_file.c:790,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_file.c:791,1
    - Dst: write_int
      Src: /src/hostap/wpa_supplicant/config_file.c:792,1
    - Dst: INT
      Src: /src/hostap/wpa_supplicant/config_file.c:793,1
    - Dst: write_proto
      Src: /src/hostap/wpa_supplicant/config_file.c:794,1
    - Dst: write_key_mgmt
      Src: /src/hostap/wpa_supplicant/config_file.c:795,1
    - Dst: INT_DEF
      Src: /src/hostap/wpa_supplicant/config_file.c:796,1
    - Dst: write_pairwise
      Src: /src/hostap/wpa_supplicant/config_file.c:797,1
    - Dst: write_group
      Src: /src/hostap/wpa_supplicant/config_file.c:798,1
    - Dst: write_group_mgmt
      Src: /src/hostap/wpa_supplicant/config_file.c:799,1
    - Dst: write_auth_alg
      Src: /src/hostap/wpa_supplicant/config_file.c:800,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_file.c:801,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_file.c:802,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_file.c:803,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_file.c:804,1
    - Dst: write_eap
      Src: /src/hostap/wpa_supplicant/config_file.c:806,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_file.c:807,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_file.c:808,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_file.c:809,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_file.c:810,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_file.c:811,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_file.c:812,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_file.c:813,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_file.c:814,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_file.c:815,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_file.c:816,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_file.c:817,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_file.c:818,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_file.c:819,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_file.c:820,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_file.c:821,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_file.c:822,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_file.c:823,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_file.c:824,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_file.c:825,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_file.c:826,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_file.c:827,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_file.c:828,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_file.c:829,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_file.c:830,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_file.c:831,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_file.c:832,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_file.c:833,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_file.c:834,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_file.c:835,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_file.c:836,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_file.c:837,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_file.c:838,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_file.c:839,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_file.c:840,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_file.c:841,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_file.c:842,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_file.c:843,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_file.c:844,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_file.c:845,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_file.c:846,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_file.c:847,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_file.c:848,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_file.c:849,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_file.c:850,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_file.c:851,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_file.c:852,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_file.c:853,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_file.c:854,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_file.c:855,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_file.c:856,1
    - Dst: INTe
      Src: /src/hostap/wpa_supplicant/config_file.c:857,1
    - Dst: INTe
      Src: /src/hostap/wpa_supplicant/config_file.c:858,1
    - Dst: INTe
      Src: /src/hostap/wpa_supplicant/config_file.c:859,1
    - Dst: INT_DEF
      Src: /src/hostap/wpa_supplicant/config_file.c:860,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_file.c:861,1
    - Dst: INTe
      Src: /src/hostap/wpa_supplicant/config_file.c:862,1
    - Dst: write_wep_key
      Src: /src/hostap/wpa_supplicant/config_file.c:869,1
    - Dst: INT
      Src: /src/hostap/wpa_supplicant/config_file.c:870,1
    - Dst: INT
      Src: /src/hostap/wpa_supplicant/config_file.c:873,1
    - Dst: INT_DEF
      Src: /src/hostap/wpa_supplicant/config_file.c:875,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_file.c:876,1
    - Dst: INT_DEFe
      Src: /src/hostap/wpa_supplicant/config_file.c:877,1
    - Dst: INTe
      Src: /src/hostap/wpa_supplicant/config_file.c:878,1
    - Dst: INTe
      Src: /src/hostap/wpa_supplicant/config_file.c:879,1
    - Dst: INTe
      Src: /src/hostap/wpa_supplicant/config_file.c:880,1
    - Dst: INT_DEFe
      Src: /src/hostap/wpa_supplicant/config_file.c:881,1
    - Dst: INT
      Src: /src/hostap/wpa_supplicant/config_file.c:883,1
    - Dst: INT
      Src: /src/hostap/wpa_supplicant/config_file.c:885,1
    - Dst: INT_DEF
      Src: /src/hostap/wpa_supplicant/config_file.c:886,1
    - Dst: INT
      Src: /src/hostap/wpa_supplicant/config_file.c:888,1
    - Dst: INT
      Src: /src/hostap/wpa_supplicant/config_file.c:889,1
    - Dst: INT
      Src: /src/hostap/wpa_supplicant/config_file.c:890,1
    - Dst: INT
      Src: /src/hostap/wpa_supplicant/config_file.c:891,1
    - Dst: INT
      Src: /src/hostap/wpa_supplicant/config_file.c:893,1
    - Dst: write_int
      Src: /src/hostap/wpa_supplicant/config_file.c:895,1
    - Dst: INT
      Src: /src/hostap/wpa_supplicant/config_file.c:896,1
    - Dst: INT
      Src: /src/hostap/wpa_supplicant/config_file.c:897,1
    - Dst: INT_DEF
      Src: /src/hostap/wpa_supplicant/config_file.c:898,1
    - Dst: INT_DEF
      Src: /src/hostap/wpa_supplicant/config_file.c:899,1
    - Dst: INT
      Src: /src/hostap/wpa_supplicant/config_file.c:900,1
    - Dst: INT_DEF
      Src: /src/hostap/wpa_supplicant/config_file.c:901,1
    - Dst: INT_DEF
      Src: /src/hostap/wpa_supplicant/config_file.c:902,1
    - Dst: INT
      Src: /src/hostap/wpa_supplicant/config_file.c:903,1
    - Dst: INT
      Src: /src/hostap/wpa_supplicant/config_file.c:904,1
    - Dst: INT
      Src: /src/hostap/wpa_supplicant/config_file.c:905,1
    - Dst: INT
      Src: /src/hostap/wpa_supplicant/config_file.c:906,1
    - Dst: INT
      Src: /src/hostap/wpa_supplicant/config_file.c:907,1
    - Dst: write_int
      Src: /src/hostap/wpa_supplicant/config_file.c:908,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_file.c:910,1
    - Dst: write_go_p2p_dev_addr
      Src: /src/hostap/wpa_supplicant/config_file.c:912,1
    - Dst: write_p2p_client_list
      Src: /src/hostap/wpa_supplicant/config_file.c:913,1
    - Dst: write_p2p2_client_list
      Src: /src/hostap/wpa_supplicant/config_file.c:914,1
    - Dst: write_psk_list
      Src: /src/hostap/wpa_supplicant/config_file.c:915,1
    - Dst: write_int
      Src: /src/hostap/wpa_supplicant/config_file.c:928,1
    - Dst: INT
      Src: /src/hostap/wpa_supplicant/config_file.c:931,1
    - Dst: INT
      Src: /src/hostap/wpa_supplicant/config_file.c:932,1
    - Dst: INT
      Src: /src/hostap/wpa_supplicant/config_file.c:933,1
    - Dst: INT
      Src: /src/hostap/wpa_supplicant/config_file.c:935,1
    - Dst: write_mka_cak
      Src: /src/hostap/wpa_supplicant/config_file.c:936,1
    - Dst: write_mka_ckn
      Src: /src/hostap/wpa_supplicant/config_file.c:937,1
    - Dst: INT
      Src: /src/hostap/wpa_supplicant/config_file.c:938,1
    - Dst: INT
      Src: /src/hostap/wpa_supplicant/config_file.c:939,1
    - Dst: INT
      Src: /src/hostap/wpa_supplicant/config_file.c:940,1
    - Dst: INT
      Src: /src/hostap/wpa_supplicant/config_file.c:941,1
    - Dst: INT
      Src: /src/hostap/wpa_supplicant/config_file.c:942,1
    - Dst: INT_DEF
      Src: /src/hostap/wpa_supplicant/config_file.c:943,1
    - Dst: INT
      Src: /src/hostap/wpa_supplicant/config_file.c:944,1
    - Dst: INT
      Src: /src/hostap/wpa_supplicant/config_file.c:945,1
    - Dst: INT
      Src: /src/hostap/wpa_supplicant/config_file.c:948,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_file.c:949,1
    - Dst: write_int
      Src: /src/hostap/wpa_supplicant/config_file.c:951,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_file.c:953,1
    - Dst: INT_DEF
      Src: /src/hostap/wpa_supplicant/config_file.c:954,1
    - Dst: INT_DEF
      Src: /src/hostap/wpa_supplicant/config_file.c:955,1
    - Dst: INT_DEF
      Src: /src/hostap/wpa_supplicant/config_file.c:956,1
    - Dst: INT_DEF
      Src: /src/hostap/wpa_supplicant/config_file.c:957,1
    - Dst: INT_DEF
      Src: /src/hostap/wpa_supplicant/config_file.c:958,1
    - Dst: INT
      Src: /src/hostap/wpa_supplicant/config_file.c:960,1
    - Dst: INT
      Src: /src/hostap/wpa_supplicant/config_file.c:961,1
    - Dst: INT
      Src: /src/hostap/wpa_supplicant/config_file.c:962,1
    - Dst: INT
      Src: /src/hostap/wpa_supplicant/config_file.c:963,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_file.c:965,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_file.c:966,1
    - Dst: INT
      Src: /src/hostap/wpa_supplicant/config_file.c:967,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_file.c:968,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_file.c:969,1
    - Dst: INT
      Src: /src/hostap/wpa_supplicant/config_file.c:970,1
    - Dst: INT
      Src: /src/hostap/wpa_supplicant/config_file.c:971,1
    - Dst: INT
      Src: /src/hostap/wpa_supplicant/config_file.c:973,1
    - Dst: INT
      Src: /src/hostap/wpa_supplicant/config_file.c:974,1
    - Dst: INT
      Src: /src/hostap/wpa_supplicant/config_file.c:975,1
    - Dst: INT
      Src: /src/hostap/wpa_supplicant/config_file.c:976,1
    - Dst: INT
      Src: /src/hostap/wpa_supplicant/config_file.c:977,1
    - Dst: INT
      Src: /src/hostap/wpa_supplicant/config_file.c:978,1
    - Dst: INT
      Src: /src/hostap/wpa_supplicant/config_file.c:979,1
    - Dst: INT
      Src: /src/hostap/wpa_supplicant/config_file.c:980,1
    - Dst: INT
      Src: /src/hostap/wpa_supplicant/config_file.c:981,1
    - Dst: INT_DEF
      Src: /src/hostap/wpa_supplicant/config_file.c:983,1
    - Dst: INT_DEF
      Src: /src/hostap/wpa_supplicant/config_file.c:984,1
    - Dst: INT_DEF
      Src: /src/hostap/wpa_supplicant/config_file.c:985,1
    - Dst: INT_DEF
      Src: /src/hostap/wpa_supplicant/config_file.c:986,1
    - Dst: INT
      Src: /src/hostap/wpa_supplicant/config_file.c:987,1
    - Dst: INT_DEF
      Src: /src/hostap/wpa_supplicant/config_file.c:988,1
    - Dst: INT_DEF
      Src: /src/hostap/wpa_supplicant/config_file.c:989,1
    - Dst: INT_DEF
      Src: /src/hostap/wpa_supplicant/config_file.c:990,1
    - Dst: INT_DEF
      Src: /src/hostap/wpa_supplicant/config_file.c:991,1
    - Dst: INT_DEF
      Src: /src/hostap/wpa_supplicant/config_file.c:992,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_file.c:993,1
    - Dst: INT
      Src: /src/hostap/wpa_supplicant/config_file.c:996,1
    - Dst: INT
      Src: /src/hostap/wpa_supplicant/config_file.c:997,1
    - Dst: INT
      Src: /src/hostap/wpa_supplicant/config_file.c:998,1
    - Dst: INT_DEF
      Src: /src/hostap/wpa_supplicant/config_file.c:999,1
    - Dst: INT_DEF
      Src: /src/hostap/wpa_supplicant/config_file.c:1000,1
    - Dst: INT_DEF
      Src: /src/hostap/wpa_supplicant/config_file.c:1001,1
    - Dst: INT_DEF
      Src: /src/hostap/wpa_supplicant/config_file.c:1002,1
    - Dst: INT_DEF
      Src: /src/hostap/wpa_supplicant/config_file.c:1003,1
    - Dst: INT_DEF
      Src: /src/hostap/wpa_supplicant/config_file.c:1004,1
    - Dst: INT_DEF
      Src: /src/hostap/wpa_supplicant/config_file.c:1005,1
    - Dst: INT_DEF
      Src: /src/hostap/wpa_supplicant/config_file.c:1006,1
    - Dst: INT_DEF
      Src: /src/hostap/wpa_supplicant/config_file.c:1007,1
    - Dst: INT_DEF
      Src: /src/hostap/wpa_supplicant/config_file.c:1008,1
    - Dst: INT_DEF
      Src: /src/hostap/wpa_supplicant/config_file.c:1009,1
    - Dst: INT_DEF
      Src: /src/hostap/wpa_supplicant/config_file.c:1010,1
    - Dst: INT_DEF
      Src: /src/hostap/wpa_supplicant/config_file.c:1011,1
    - Dst: INT_DEF
      Src: /src/hostap/wpa_supplicant/config_file.c:1012,1
    - Dst: INT_DEF
      Src: /src/hostap/wpa_supplicant/config_file.c:1013,1
    - Dst: INT_DEF
      Src: /src/hostap/wpa_supplicant/config_file.c:1014,1
    - Dst: INT
      Src: /src/hostap/wpa_supplicant/config_file.c:1017,1
    - Dst: INT
      Src: /src/hostap/wpa_supplicant/config_file.c:1019,1
    - Dst: INT
      Src: /src/hostap/wpa_supplicant/config_file.c:1020,1
    - Dst: INT
      Src: /src/hostap/wpa_supplicant/config_file.c:1021,1
    - Dst: INT
      Src: /src/hostap/wpa_supplicant/config_file.c:1022,1
    - Dst: INT
      Src: /src/hostap/wpa_supplicant/config_file.c:1023,1
    - Dst: INT_DEF
      Src: /src/hostap/wpa_supplicant/config_file.c:1024,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/wpa_supplicant/config_file.c:1032,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/config_file.c:1033,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/config_file.c:1034,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1035,1
    - Dst: INT
      Src: /src/hostap/wpa_supplicant/config_file.c:1040,1
    - Dst: INT
      Src: /src/hostap/wpa_supplicant/config_file.c:1043,1
    - Dst: INT_DEF
      Src: /src/hostap/wpa_supplicant/config_file.c:1045,1
    - Dst: INT_DEF
      Src: /src/hostap/wpa_supplicant/config_file.c:1046,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 218
    argCount: 3
    argNames:
    - f
    - ssid
    - config
    argTypes:
    - FILE*
    - struct wpa_ssid*
    - struct wpa_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 773
    functionDepth: 2
    functionLinenumber: 773
    functionLinenumberEnd: 1050
    functionName: wpa_config_write_network
    functionSourceFile: /src/hostap/wpa_supplicant/config_file.c
    functionUses: 0
    functionsReached:
    - write_psk_list
    - write_pairwise
    - write_bssid_hint
    - fprintf
    - write_psk
    - INT_DEF
    - write_go_p2p_dev_addr
    - write_eap
    - write_group
    - wpa_snprintf_hex
    - INTe
    - write_bssid
    - write_mka_ckn
    - write_auth_alg
    - INT
    - write_proto
    - write_group_mgmt
    - wpabuf_len
    - wpabuf_head
    - write_wep_key
    - write_p2p2_client_list
    - INT_DEFe
    - STR
    - write_int
    - write_p2p_client_list
    - write_key_mgmt
    - write_mka_cak
    - write_str
    linkageType: ''
    returnType: void
    signature: "void wpa_config_write_network(FILE *f, struct wpa_ssid *ssid,\n\t\t\t\t
      \    struct wpa_config *config)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 777
    functionName: STR
    functionSourceFile: /src/hostap/wpa_supplicant/config_file.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 778
    functionName: INT
    functionSourceFile: /src/hostap/wpa_supplicant/config_file.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INT(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - t
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 779
    functionName: INTe
    functionSourceFile: /src/hostap/wpa_supplicant/config_file.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INTe(t, m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - t
    - ','
    - def
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 780
    functionName: INT_DEF
    functionSourceFile: /src/hostap/wpa_supplicant/config_file.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INT_DEF(t, def)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - t
    - ','
    - m
    - ','
    - def
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 781
    functionName: INT_DEFe
    functionSourceFile: /src/hostap/wpa_supplicant/config_file.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INT_DEFe(t, m, def)
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1058,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1060,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1062,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1064,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1066,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1068,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1070,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1072,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1074,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1076,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1079,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1081,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1083,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1085,1
    - Dst: eap_get_name
      Src: /src/hostap/wpa_supplicant/config_file.c:1089,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1092,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1095,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1097,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1102,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1104,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1105,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1111,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1117,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1120,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1122,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1125,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1128,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1131,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1134,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1138,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1142,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1148,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1154,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1158,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1165,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1168,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1170,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1173,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1179,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1182,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1184,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1187,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1193,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1196,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1198,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1201,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1205,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1208,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1210,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1212,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1214,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1216,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1219,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1222,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 127
    argCount: 2
    argNames:
    - f
    - cred
    argTypes:
    - FILE*
    - struct wpa_cred*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1224
      start: 1053
    functionDepth: 0
    functionLinenumber: 1053
    functionLinenumberEnd: 1224
    functionName: wpa_config_write_cred
    functionSourceFile: /src/hostap/wpa_supplicant/config_file.c
    functionUses: 0
    functionsReached:
    - fprintf
    - eap_get_name
    linkageType: ''
    returnType: void
    signature: void wpa_config_write_cred(FILE *f, struct wpa_cred *cred)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: base64_encode
      Src: /src/hostap/wpa_supplicant/config_file.c:1232,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1236,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config_file.c:1237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - f
    - blob
    argTypes:
    - FILE*
    - struct wpa_config_blob*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1239
      start: 1228
    functionDepth: 1
    functionLinenumber: 1228
    functionLinenumberEnd: 1239
    functionName: wpa_config_write_blob
    functionSourceFile: /src/hostap/wpa_supplicant/config_file.c
    functionUses: 0
    functionsReached:
    - os_free
    - fprintf
    - base64_encode
    linkageType: ''
    returnType: int
    signature: int wpa_config_write_blob(FILE *f, struct wpa_config_blob *blob)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1252,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/config_file.c:1253,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/config_file.c:1254,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1255,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1256,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - f
    - field
    - val
    argTypes:
    - FILE*
    - char*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1243
    functionDepth: 1
    functionLinenumber: 1243
    functionLinenumberEnd: 1257
    functionName: write_global_bin
    functionSourceFile: /src/hostap/wpa_supplicant/config_file.c
    functionUses: 0
    functionsReached:
    - wpabuf_len
    - fprintf
    - wpabuf_head
    linkageType: ''
    returnType: void
    signature: "void write_global_bin(FILE *f, const char *field,\n\t\t\t     const
      struct wpabuf *val)"
  - BBCount: 171
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1264,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1266,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1270,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1272,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1274,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1277,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1280,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1285,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1290,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1294,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1296,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1298,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1300,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1302,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1305,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1308,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1311,1
    - Dst: is_nil_uuid
      Src: /src/hostap/wpa_supplicant/config_file.c:1313,1
    - Dst: uuid_bin2str
      Src: /src/hostap/wpa_supplicant/config_file.c:1315,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1316,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1319,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1321,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1323,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1325,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1327,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1329,1
    - Dst: wps_dev_type_bin2str
      Src: /src/hostap/wpa_supplicant/config_file.c:1332,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config_file.c:1334,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1335,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/wpa_supplicant/config_file.c:1337,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1338,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/wpa_supplicant/config_file.c:1339,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1341,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1343,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1346,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/config_file.c:1349,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/wpa_supplicant/config_file.c:1350,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1352,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1354,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1355,1
    - Dst: wps_dev_type_bin2str
      Src: /src/hostap/wpa_supplicant/config_file.c:1365,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1368,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1372,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1375,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1378,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1381,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1383,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1385,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1387,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1390,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1392,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1394,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1398,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1400,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1404,1
    - Dst: freq_range_list_str
      Src: /src/hostap/wpa_supplicant/config_file.c:1407,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1409,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config_file.c:1410,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1414,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1417,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1420,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1422,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1424,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1426,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1428,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1430,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1432,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1435,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1438,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1440,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1444,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1447,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1450,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1452,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1455,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1458,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1461,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1463,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/wpa_supplicant/config_file.c:1466,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1467,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/wpa_supplicant/config_file.c:1470,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1471,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/wpa_supplicant/config_file.c:1474,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1475,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/wpa_supplicant/config_file.c:1478,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1479,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1484,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1488,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1490,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1494,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1497,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1499,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1501,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1503,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1505,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1508,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1512,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/config_file.c:1513,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1514,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/config_file.c:1514,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1516,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1519,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1521,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1524,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1526,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1528,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1531,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1534,1
    - Dst: write_global_bin
      Src: /src/hostap/wpa_supplicant/config_file.c:1536,1
    - Dst: write_global_bin
      Src: /src/hostap/wpa_supplicant/config_file.c:1538,1
    - Dst: write_global_bin
      Src: /src/hostap/wpa_supplicant/config_file.c:1540,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1544,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1547,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1550,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1553,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1555,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1557,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1559,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1562,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1566,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1568,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1571,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1575,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1578,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/config_file.c:1582,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/wpa_supplicant/config_file.c:1583,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1585,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1587,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1588,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/config_file.c:1593,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/wpa_supplicant/config_file.c:1594,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1597,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1599,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1600,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1605,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1610,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1612,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1615,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1619,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1621,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1624,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1627,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1631,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1635,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1639,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1643,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1646,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1650,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1654,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1657,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1660,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1664,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1667,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1671,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1674,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1677,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1680,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1683,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1686,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1690,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1694,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1698,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1701,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1705,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1708,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1712,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1716,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1718,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1721,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1724,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1728,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1731,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1733,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1736,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1739,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1741,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1743,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1746,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1749,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1751,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1754,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1756,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1758,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1761,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1764,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1767,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1770,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/config_file.c:1772,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1773,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/config_file.c:1774,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1776,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1779,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1781,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1784,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1787,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1789,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1792,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/config_file.c:1794,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1795,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/config_file.c:1796,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1799,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1801,1
    - Dst: write_global_bin
      Src: /src/hostap/wpa_supplicant/config_file.c:1802,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1805,1
    - Dst: write_global_bin
      Src: /src/hostap/wpa_supplicant/config_file.c:1806,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1808,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1811,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1813,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1819,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1821,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1824,1
    CyclomaticComplexity: 182
    EdgeCount: 182
    ICount: 395
    argCount: 2
    argNames:
    - f
    - config
    argTypes:
    - FILE*
    - struct wpa_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1827
      start: 1260
    functionDepth: 2
    functionLinenumber: 1260
    functionLinenumberEnd: 1827
    functionName: wpa_config_write_global
    functionSourceFile: /src/hostap/wpa_supplicant/config_file.c
    functionUses: 0
    functionsReached:
    - fprintf
    - wpabuf_head_u8
    - wpabuf_len
    - wps_dev_type_bin2str
    - is_zero_ether_addr
    - WPA_GET_BE32
    - write_global_bin
    - is_nil_uuid
    - MAC2STR
    - os_free
    - uuid_bin2str
    - os_strcmp
    - freq_range_list_str
    linkageType: ''
    returnType: void
    signature: void wpa_config_write_global(FILE *f, struct wpa_config *config)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1831,1
    - Dst: write_global_bin
      Src: /src/hostap/wpa_supplicant/config_file.c:1834,1
    - Dst: write_global_bin
      Src: /src/hostap/wpa_supplicant/config_file.c:1837,1
    - Dst: write_global_bin
      Src: /src/hostap/wpa_supplicant/config_file.c:1840,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - f
    - dev_ik
    argTypes:
    - FILE*
    - struct wpa_dev_ik*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1841
      start: 1829
    functionDepth: 2
    functionLinenumber: 1829
    functionLinenumberEnd: 1841
    functionName: wpa_config_write_identity
    functionSourceFile: /src/hostap/wpa_supplicant/config_file.c
    functionUses: 0
    functionsReached:
    - fprintf
    - write_global_bin
    linkageType: ''
    returnType: void
    signature: void wpa_config_write_identity(FILE *f, struct wpa_dev_ik *dev_ik)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config_file.c:1865,1
    - Dst: os_get_random
      Src: /src/hostap/wpa_supplicant/config_file.c:1869,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/config_file.c:1872,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/config_file.c:1875,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1879,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/wpa_supplicant/config_file.c:1880,1
    - Dst: umask
      Src: /src/hostap/wpa_supplicant/config_file.c:1884,1
    - Dst: fopen
      Src: /src/hostap/wpa_supplicant/config_file.c:1885,1
    - Dst: umask
      Src: /src/hostap/wpa_supplicant/config_file.c:1886,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config_file.c:1888,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config_file.c:1889,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config_file.c:1893,1
    - Dst: stat
      Src: /src/hostap/wpa_supplicant/config_file.c:1895,1
    - Dst: chmod
      Src: /src/hostap/wpa_supplicant/config_file.c:1896,1
    - Dst: wpa_config_write_global
      Src: /src/hostap/wpa_supplicant/config_file.c:1900,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1905,1
    - Dst: wpa_config_write_cred
      Src: /src/hostap/wpa_supplicant/config_file.c:1906,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1907,1
    - Dst: wpa_key_mgmt_wpa_psk_no_sae
      Src: /src/hostap/wpa_supplicant/config_file.c:1914,1
    - Dst: wpa_key_mgmt_sae
      Src: /src/hostap/wpa_supplicant/config_file.c:1917,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1921,1
    - Dst: wpa_config_write_network
      Src: /src/hostap/wpa_supplicant/config_file.c:1922,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1923,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1927,1
    - Dst: wpa_config_write_identity
      Src: /src/hostap/wpa_supplicant/config_file.c:1928,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/config_file.c:1929,1
    - Dst: wpa_config_write_blob
      Src: /src/hostap/wpa_supplicant/config_file.c:1934,1
    - Dst: os_fdatasync
      Src: /src/hostap/wpa_supplicant/config_file.c:1940,1
    - Dst: fclose
      Src: /src/hostap/wpa_supplicant/config_file.c:1942,1
    - Dst: chmod
      Src: /src/hostap/wpa_supplicant/config_file.c:1946,1
    - Dst: rename
      Src: /src/hostap/wpa_supplicant/config_file.c:1949,1
    - Dst: unlink
      Src: /src/hostap/wpa_supplicant/config_file.c:1951,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config_file.c:1953,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config_file.c:1955,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 68
    argCount: 2
    argNames:
    - name
    - config
    argTypes:
    - char*
    - struct wpa_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1961
      start: 1846
    functionDepth: 3
    functionLinenumber: 1846
    functionLinenumberEnd: 1961
    functionName: wpa_config_write
    functionSourceFile: /src/hostap/wpa_supplicant/config_file.c
    functionUses: 1
    functionsReached:
    - fprintf
    - umask
    - os_snprintf
    - wpa_config_write_blob
    - stat
    - unlink
    - fopen
    - os_strlen
    - wpa_key_mgmt_sae
    - wpa_printf
    - wpa_snprintf_hex
    - wpa_key_mgmt_wpa_psk_no_sae
    - os_get_random
    - rename
    - wpa_config_write_cred
    - fclose
    - os_free
    - os_malloc
    - chmod
    - wpa_config_write_global
    - os_fdatasync
    - wpa_config_write_identity
    - wpa_config_write_network
    linkageType: ''
    returnType: int
    signature: int wpa_config_write(const char *name, struct wpa_config *config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/gas_query.c:90,1
    - Dst: os_reltime_sub
      Src: /src/hostap/wpa_supplicant/gas_query.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - last
    argTypes:
    - struct os_reltime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 93
    functionName: ms_from_time
    functionSourceFile: /src/hostap/wpa_supplicant/gas_query.c
    functionUses: 0
    functionsReached:
    - os_reltime_sub
    - os_get_reltime
    linkageType: ''
    returnType: int
    signature: int ms_from_time(struct os_reltime *last)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/gas_query.c:105,1
    - Dst: dl_list_init
      Src: /src/hostap/wpa_supplicant/gas_query.c:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 113
    functionName: gas_query_init
    functionSourceFile: /src/hostap/wpa_supplicant/gas_query.c
    functionUses: 0
    functionsReached:
    - os_zalloc
    - dl_list_init
    linkageType: ''
    returnType: struct gas_query
    signature: struct gas_query * gas_query_init(struct wpa_supplicant *wpa_s)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - result
    argTypes:
    - enum gas_query_result
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 136
    functionName: gas_result_txt
    functionSourceFile: /src/hostap/wpa_supplicant/gas_query.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * gas_result_txt(enum gas_query_result result)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_del
      Src: /src/hostap/wpa_supplicant/gas_query.c:144,1
    - Dst: radio_work_done
      Src: /src/hostap/wpa_supplicant/gas_query.c:150,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/gas_query.c:152,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/gas_query.c:153,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/gas_query.c:154,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/gas_query.c:156,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/gas_query.c:157,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/gas_query.c:158,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/gas_query.c:159,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - query
    - del_list
    argTypes:
    - struct gas_query_pending*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 160
    functionName: gas_query_free
    functionSourceFile: /src/hostap/wpa_supplicant/gas_query.c
    functionUses: 0
    functionsReached:
    - dl_list_del
    - eloop_cancel_timeout
    - wpabuf_free
    - radio_work_done
    - os_free
    linkageType: ''
    returnType: void
    signature: void gas_query_free(struct gas_query_pending *query, int del_list)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/gas_query.c:167,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/gas_query.c:169,1
    - Dst: gas_result_txt
      Src: /src/hostap/wpa_supplicant/gas_query.c:170,1
    - Dst: offchannel_send_action_done
      Src: /src/hostap/wpa_supplicant/gas_query.c:172,1
    - Dst: dl_list_del
      Src: /src/hostap/wpa_supplicant/gas_query.c:173,1
    - Dst: struct gas_query_pending*::cb
      Src: /src/hostap/wpa_supplicant/gas_query.c:174,1
    - Dst: gas_query_free
      Src: /src/hostap/wpa_supplicant/gas_query.c:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - gas
    - query
    - result
    argTypes:
    - struct gas_query*
    - struct gas_query_pending*
    - enum gas_query_result
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 177
    functionName: gas_query_done
    functionSourceFile: /src/hostap/wpa_supplicant/gas_query.c
    functionUses: 0
    functionsReached:
    - dl_list_del
    - offchannel_send_action_done
    - wpa_msg
    - gas_query_free
    - gas_result_txt
    - MAC2STR
    - struct gas_query_pending*::cb
    linkageType: ''
    returnType: void
    signature: "void gas_query_done(struct gas_query *gas,\n\t\t\t   struct gas_query_pending
      *query,\n\t\t\t   enum gas_query_result result)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/wpa_supplicant/gas_query.c:191,1
    - Dst: gas_query_done
      Src: /src/hostap/wpa_supplicant/gas_query.c:193,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/gas_query.c:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - gas
    argTypes:
    - struct gas_query*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 196
    functionName: gas_query_deinit
    functionSourceFile: /src/hostap/wpa_supplicant/gas_query.c
    functionUses: 0
    functionsReached:
    - os_free
    - gas_query_done
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: void gas_query_deinit(struct gas_query *gas)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/wpa_supplicant/gas_query.c:210,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/gas_query.c:213,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/gas_query.c:216,1
    - Dst: wpas_ap_link_address
      Src: /src/hostap/wpa_supplicant/gas_query.c:217,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 3
    argNames:
    - gas
    - addr
    - dialog_token
    argTypes:
    - struct gas_query*
    - u8*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 226
    functionName: gas_query_get_pending
    functionSourceFile: /src/hostap/wpa_supplicant/gas_query.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    - wpas_ap_link_address
    - ether_addr_equal
    linkageType: ''
    returnType: struct gas_query_pending
    signature: 'struct gas_query_pending *

      gas_query_get_pending(struct gas_query *gas, const u8 *addr, u8 dialog_token)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_resize
      Src: /src/hostap/wpa_supplicant/gas_query.c:232,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/gas_query.c:233,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/wpa_supplicant/gas_query.c:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - query
    - data
    - len
    argTypes:
    - struct gas_query_pending*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 238
    functionName: gas_query_append
    functionSourceFile: /src/hostap/wpa_supplicant/gas_query.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_resize
    - wpabuf_put_data
    linkageType: ''
    returnType: int
    signature: "int gas_query_append(struct gas_query_pending *query, const u8 *data,\n\t\t\t
      \   size_t len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/gas_query.c:252,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/gas_query.c:254,1
    - Dst: ms_from_time
      Src: /src/hostap/wpa_supplicant/gas_query.c:260,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/gas_query.c:261,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/gas_query.c:263,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/gas_query.c:264,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/gas_query.c:265,1
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/gas_query.c:268,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/gas_query.c:272,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/gas_query.c:274,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/gas_query.c:275,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/gas_query.c:278,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/gas_query.c:282,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/gas_query.c:284,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/gas_query.c:290,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/gas_query.c:291,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 8
    argNames:
    - wpa_s
    - freq
    - dst
    - src
    - bssid
    - data
    - data_len
    - result
    argTypes:
    - struct wpa_supplicant*
    - unsigned int
    - u8*
    - u8*
    - u8*
    - u8*
    - size_t
    - enum offchannel_send_action_result
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 293
    functionName: gas_query_tx_status
    functionSourceFile: /src/hostap/wpa_supplicant/gas_query.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_get_reltime
    - eloop_cancel_timeout
    - ether_addr_equal
    - MAC2STR
    - eloop_register_timeout
    - ms_from_time
    linkageType: ''
    returnType: void
    signature: "void gas_query_tx_status(struct wpa_supplicant *wpa_s,\n\t\t\t\tunsigned
      int freq, const u8 *dst,\n\t\t\t\tconst u8 *src, const u8 *bssid,\n\t\t\t\tconst
      u8 *data, size_t data_len,\n\t\t\t\tenum offchannel_send_action_result result)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pmf_in_use
      Src: /src/hostap/wpa_supplicant/gas_query.c:299,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/gas_query.c:305,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/gas_query.c:307,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/gas_query.c:307,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/gas_query.c:308,1
    - Dst: wpabuf_mhead_u8
      Src: /src/hostap/wpa_supplicant/gas_query.c:310,1
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/gas_query.c:313,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/gas_query.c:321,1
    - Dst: offchannel_send_action
      Src: /src/hostap/wpa_supplicant/gas_query.c:326,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/gas_query.c:327,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/gas_query.c:328,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 4
    argNames:
    - gas
    - query
    - req
    - wait_time
    argTypes:
    - struct gas_query*
    - struct gas_query_pending*
    - struct wpabuf*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 296
    functionDepth: 3
    functionLinenumber: 296
    functionLinenumberEnd: 336
    functionName: gas_query_tx
    functionSourceFile: /src/hostap/wpa_supplicant/gas_query.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_get_reltime
    - offchannel_send_action
    - wpabuf_len
    - wpabuf_mhead_u8
    - pmf_in_use
    - ether_addr_equal
    - wpabuf_head
    - MAC2STR
    linkageType: ''
    returnType: int
    signature: "int gas_query_tx(struct gas_query *gas, struct gas_query_pending *query,\n\t\t\tstruct
      wpabuf *req, unsigned int wait_time)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gas_build_comeback_req
      Src: /src/hostap/wpa_supplicant/gas_query.c:345,1
    - Dst: gas_query_done
      Src: /src/hostap/wpa_supplicant/gas_query.c:347,1
    - Dst: gas_query_tx
      Src: /src/hostap/wpa_supplicant/gas_query.c:354,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/gas_query.c:355,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/gas_query.c:356,1
    - Dst: gas_query_done
      Src: /src/hostap/wpa_supplicant/gas_query.c:357,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/gas_query.c:360,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - gas
    - query
    argTypes:
    - struct gas_query*
    - struct gas_query_pending*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 361
    functionName: gas_query_tx_comeback_req
    functionSourceFile: /src/hostap/wpa_supplicant/gas_query.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - gas_build_comeback_req
    - wpabuf_free
    - MAC2STR
    - gas_query_tx
    - gas_query_done
    linkageType: ''
    returnType: void
    signature: "void gas_query_tx_comeback_req(struct gas_query *gas,\n\t\t\t\t      struct
      gas_query_pending *query)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/gas_query.c:370,1
    - Dst: gas_query_new_dialog_token
      Src: /src/hostap/wpa_supplicant/gas_query.c:375,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/gas_query.c:378,1
    - Dst: wpabuf_mhead_u8
      Src: /src/hostap/wpa_supplicant/gas_query.c:382,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/gas_query.c:385,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/gas_query.c:387,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/gas_query.c:388,1
    - Dst: gas_query_tx_initial_req
      Src: /src/hostap/wpa_supplicant/gas_query.c:389,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - eloop_data
    - user_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 390
    functionName: gas_query_rx_comeback_timeout
    functionSourceFile: /src/hostap/wpa_supplicant/gas_query.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - gas_query_tx_initial_req
    - gas_query_new_dialog_token
    - wpabuf_mhead_u8
    - eloop_cancel_timeout
    - wpabuf_free
    linkageType: ''
    returnType: void
    signature: void gas_query_rx_comeback_timeout(void *eloop_data, void *user_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/gas_query.c:398,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/gas_query.c:399,1
    - Dst: gas_query_tx_comeback_req
      Src: /src/hostap/wpa_supplicant/gas_query.c:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - eloop_data
    - user_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 401
    functionName: gas_query_tx_comeback_timeout
    functionSourceFile: /src/hostap/wpa_supplicant/gas_query.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    - gas_query_tx_comeback_req
    linkageType: ''
    returnType: void
    signature: void gas_query_tx_comeback_timeout(void *eloop_data, void *user_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: offchannel_send_action_done
      Src: /src/hostap/wpa_supplicant/gas_query.c:411,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/gas_query.c:417,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/gas_query.c:418,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/gas_query.c:419,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/gas_query.c:420,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - gas
    - query
    - comeback_delay
    argTypes:
    - struct gas_query*
    - struct gas_query_pending*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 404
    functionDepth: 2
    functionLinenumber: 404
    functionLinenumberEnd: 422
    functionName: gas_query_tx_comeback_req_delay
    functionSourceFile: /src/hostap/wpa_supplicant/gas_query.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - offchannel_send_action_done
    - eloop_cancel_timeout
    - MAC2STR
    - eloop_register_timeout
    linkageType: ''
    returnType: void
    signature: "void gas_query_tx_comeback_req_delay(struct gas_query *gas,\n\t\t\t\t\t
      \   struct gas_query_pending *query,\n\t\t\t\t\t    u16 comeback_delay)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/gas_query.c:430,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/gas_query.c:432,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/wpa_supplicant/gas_query.c:434,1
    - Dst: gas_query_done
      Src: /src/hostap/wpa_supplicant/gas_query.c:436,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/gas_query.c:441,1
    - Dst: gas_query_tx_comeback_req_delay
      Src: /src/hostap/wpa_supplicant/gas_query.c:443,1
    - Dst: gas_query_append
      Src: /src/hostap/wpa_supplicant/gas_query.c:448,1
    - Dst: gas_query_done
      Src: /src/hostap/wpa_supplicant/gas_query.c:449,1
    - Dst: gas_query_done
      Src: /src/hostap/wpa_supplicant/gas_query.c:453,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 7
    argNames:
    - gas
    - query
    - adv_proto
    - adv_proto_len
    - resp
    - len
    - comeback_delay
    argTypes:
    - struct gas_query*
    - struct gas_query_pending*
    - u8*
    - size_t
    - u8*
    - size_t
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 454
    functionName: gas_query_rx_initial
    functionSourceFile: /src/hostap/wpa_supplicant/gas_query.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eloop_cancel_timeout
    - wpabuf_alloc_copy
    - MAC2STR
    - gas_query_append
    - gas_query_done
    - gas_query_tx_comeback_req_delay
    linkageType: ''
    returnType: void
    signature: "void gas_query_rx_initial(struct gas_query *gas,\n\t\t\t\t struct
      gas_query_pending *query,\n\t\t\t\t const u8 *adv_proto, size_t adv_proto_len,\n\t\t\t\t
      const u8 *resp, size_t len, u16 comeback_delay)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/gas_query.c:463,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/gas_query.c:466,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/gas_query.c:468,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/gas_query.c:470,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/gas_query.c:471,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/gas_query.c:471,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/gas_query.c:472,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/gas_query.c:473,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/gas_query.c:475,1
    - Dst: gas_query_done
      Src: /src/hostap/wpa_supplicant/gas_query.c:476,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/gas_query.c:482,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/gas_query.c:484,1
    - Dst: gas_query_done
      Src: /src/hostap/wpa_supplicant/gas_query.c:485,1
    - Dst: gas_query_tx_comeback_req_delay
      Src: /src/hostap/wpa_supplicant/gas_query.c:488,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/gas_query.c:493,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/gas_query.c:494,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/gas_query.c:496,1
    - Dst: gas_query_done
      Src: /src/hostap/wpa_supplicant/gas_query.c:500,1
    - Dst: gas_query_append
      Src: /src/hostap/wpa_supplicant/gas_query.c:505,1
    - Dst: gas_query_done
      Src: /src/hostap/wpa_supplicant/gas_query.c:506,1
    - Dst: gas_query_tx_comeback_req
      Src: /src/hostap/wpa_supplicant/gas_query.c:511,1
    - Dst: gas_query_done
      Src: /src/hostap/wpa_supplicant/gas_query.c:515,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 9
    argNames:
    - gas
    - query
    - adv_proto
    - adv_proto_len
    - resp
    - len
    - frag_id
    - more_frags
    - comeback_delay
    argTypes:
    - struct gas_query*
    - struct gas_query_pending*
    - u8*
    - size_t
    - u8*
    - size_t
    - u8
    - u8
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 516
    functionName: gas_query_rx_comeback
    functionSourceFile: /src/hostap/wpa_supplicant/gas_query.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - gas_query_tx_comeback_req
    - eloop_cancel_timeout
    - wpabuf_len
    - wpabuf_head
    - MAC2STR
    - os_memcmp
    - gas_query_append
    - gas_query_done
    - gas_query_tx_comeback_req_delay
    linkageType: ''
    returnType: void
    signature: "void gas_query_rx_comeback(struct gas_query *gas,\n\t\t\t\t  struct
      gas_query_pending *query,\n\t\t\t\t  const u8 *adv_proto, size_t adv_proto_len,\n\t\t\t\t
      \ const u8 *resp, size_t len, u8 frag_id,\n\t\t\t\t  u8 more_frags, u16 comeback_delay)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: pmf_in_use
      Src: /src/hostap/wpa_supplicant/gas_query.c:555,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/gas_query.c:557,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/gas_query.c:561,1
    - Dst: is_multicast_ether_addr
      Src: /src/hostap/wpa_supplicant/gas_query.c:565,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/gas_query.c:566,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/gas_query.c:569,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/gas_query.c:569,1
    - Dst: gas_query_get_pending
      Src: /src/hostap/wpa_supplicant/gas_query.c:573,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/gas_query.c:575,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/gas_query.c:576,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/gas_query.c:580,1
    - Dst: ms_from_time
      Src: /src/hostap/wpa_supplicant/gas_query.c:581,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/gas_query.c:581,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/gas_query.c:584,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/gas_query.c:586,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/gas_query.c:591,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/gas_query.c:593,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wpa_supplicant/gas_query.c:597,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/gas_query.c:602,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/gas_query.c:604,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/gas_query.c:606,1
    - Dst: gas_query_done
      Src: /src/hostap/wpa_supplicant/gas_query.c:607,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wpa_supplicant/gas_query.c:622,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/gas_query.c:631,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/gas_query.c:633,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/gas_query.c:638,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/gas_query.c:640,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/gas_query.c:651,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wpa_supplicant/gas_query.c:654,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/gas_query.c:659,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/gas_query.c:660,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/gas_query.c:665,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/gas_query.c:667,1
    - Dst: gas_query_rx_comeback
      Src: /src/hostap/wpa_supplicant/gas_query.c:671,1
    - Dst: gas_query_rx_initial
      Src: /src/hostap/wpa_supplicant/gas_query.c:675,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 91
    argCount: 8
    argNames:
    - gas
    - da
    - sa
    - bssid
    - categ
    - data
    - len
    - freq
    argTypes:
    - struct gas_query*
    - u8*
    - u8*
    - u8*
    - u8
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 531
    functionDepth: 1
    functionLinenumber: 531
    functionLinenumberEnd: 679
    functionName: gas_query_rx
    functionSourceFile: /src/hostap/wpa_supplicant/gas_query.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - is_multicast_ether_addr
    - gas_query_rx_comeback
    - pmf_in_use
    - WPA_GET_LE16
    - gas_query_rx_initial
    - MAC2STR
    - gas_query_get_pending
    - ms_from_time
    - gas_query_done
    linkageType: ''
    returnType: int
    signature: "int gas_query_rx(struct gas_query *gas, const u8 *da, const u8 *sa,\n\t\t
      const u8 *bssid, u8 categ, const u8 *data, size_t len,\n\t\t int freq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/gas_query.c:687,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/gas_query.c:689,1
    - Dst: gas_query_done
      Src: /src/hostap/wpa_supplicant/gas_query.c:690,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - eloop_data
    - user_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 682
    functionDepth: 1
    functionLinenumber: 682
    functionLinenumberEnd: 691
    functionName: gas_query_timeout
    functionSourceFile: /src/hostap/wpa_supplicant/gas_query.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    - gas_query_done
    linkageType: ''
    returnType: void
    signature: void gas_query_timeout(void *eloop_data, void *user_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/wpa_supplicant/gas_query.c:698,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/gas_query.c:699,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - gas
    - dst
    - dialog_token
    argTypes:
    - struct gas_query*
    - u8*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 694
    functionDepth: 1
    functionLinenumber: 694
    functionLinenumberEnd: 705
    functionName: gas_query_dialog_token_available
    functionSourceFile: /src/hostap/wpa_supplicant/gas_query.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    - ether_addr_equal
    linkageType: ''
    returnType: int
    signature: "int gas_query_dialog_token_available(struct gas_query *gas,\n\t\t\t\t\t
      \   const u8 *dst, u8 dialog_token)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gas_query_done
      Src: /src/hostap/wpa_supplicant/gas_query.c:716,1
    - Dst: gas_query_free
      Src: /src/hostap/wpa_supplicant/gas_query.c:720,1
    - Dst: wpas_update_random_addr_disassoc
      Src: /src/hostap/wpa_supplicant/gas_query.c:725,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/gas_query.c:726,1
    - Dst: gas_query_free
      Src: /src/hostap/wpa_supplicant/gas_query.c:728,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/gas_query.c:731,1
    - Dst: gas_query_tx_initial_req
      Src: /src/hostap/wpa_supplicant/gas_query.c:734,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - work
    - deinit
    argTypes:
    - struct wpa_radio_work*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 708
    functionDepth: 1
    functionLinenumber: 708
    functionLinenumberEnd: 735
    functionName: gas_query_start_cb
    functionSourceFile: /src/hostap/wpa_supplicant/gas_query.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - gas_query_tx_initial_req
    - wpa_msg
    - wpas_update_random_addr_disassoc
    - gas_query_free
    - gas_query_done
    linkageType: ''
    returnType: void
    signature: void gas_query_start_cb(struct wpa_radio_work *work, int deinit)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gas_query_tx
      Src: /src/hostap/wpa_supplicant/gas_query.c:741,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/gas_query.c:743,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/gas_query.c:744,1
    - Dst: gas_query_done
      Src: /src/hostap/wpa_supplicant/gas_query.c:745,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/gas_query.c:750,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/gas_query.c:752,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - gas
    - query
    argTypes:
    - struct gas_query*
    - struct gas_query_pending*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 738
    functionDepth: 1
    functionLinenumber: 738
    functionLinenumberEnd: 754
    functionName: gas_query_tx_initial_req
    functionSourceFile: /src/hostap/wpa_supplicant/gas_query.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - MAC2STR
    - eloop_register_timeout
    - gas_query_tx
    - gas_query_done
    linkageType: ''
    returnType: void
    signature: "void gas_query_tx_initial_req(struct gas_query *gas,\n\t\t\t\t     struct
      gas_query_pending *query)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_get_random
      Src: /src/hostap/wpa_supplicant/gas_query.c:770,1
    - Dst: gas_query_dialog_token_available
      Src: /src/hostap/wpa_supplicant/gas_query.c:772,1
    - Dst: os_get_random
      Src: /src/hostap/wpa_supplicant/gas_query.c:781,1
    - Dst: gas_query_dialog_token_available
      Src: /src/hostap/wpa_supplicant/gas_query.c:783,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - gas
    - dst
    argTypes:
    - struct gas_query*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 789
    functionName: gas_query_new_dialog_token
    functionSourceFile: /src/hostap/wpa_supplicant/gas_query.c
    functionUses: 1
    functionsReached:
    - gas_query_dialog_token_available
    - os_get_random
    linkageType: ''
    returnType: int
    signature: int gas_query_new_dialog_token(struct gas_query *gas, const u8 *dst)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/gas_query.c:805,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/gas_query.c:815,1
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/gas_query.c:819,1
    - Dst: os_reltime_expired
      Src: /src/hostap/wpa_supplicant/gas_query.c:823,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/gas_query.c:825,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/gas_query.c:827,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/gas_query.c:828,1
    - Dst: random_mac_addr
      Src: /src/hostap/wpa_supplicant/gas_query.c:833,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/gas_query.c:834,1
    - Dst: random_mac_addr_keep_oui
      Src: /src/hostap/wpa_supplicant/gas_query.c:839,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/gas_query.c:840,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/gas_query.c:845,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/gas_query.c:846,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/gas_query.c:847,1
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/gas_query.c:848,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 2
    argNames:
    - gas
    - query
    argTypes:
    - struct gas_query*
    - struct gas_query_pending*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 792
    functionDepth: 1
    functionLinenumber: 792
    functionLinenumberEnd: 852
    functionName: gas_query_set_sa
    functionSourceFile: /src/hostap/wpa_supplicant/gas_query.c
    functionUses: 0
    functionsReached:
    - os_get_reltime
    - wpa_printf
    - os_memcpy
    - random_mac_addr_keep_oui
    - MAC2STR
    - os_reltime_expired
    - random_mac_addr
    linkageType: ''
    returnType: int
    signature: "int gas_query_set_sa(struct gas_query *gas,\n\t\t\t    struct gas_query_pending
      *query)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/gas_query.c:880,1
    - Dst: gas_query_new_dialog_token
      Src: /src/hostap/wpa_supplicant/gas_query.c:883,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/gas_query.c:887,1
    - Dst: gas_query_set_sa
      Src: /src/hostap/wpa_supplicant/gas_query.c:893,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/gas_query.c:894,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/gas_query.c:897,1
    - Dst: dl_list_add
      Src: /src/hostap/wpa_supplicant/gas_query.c:904,1
    - Dst: wpabuf_mhead_u8
      Src: /src/hostap/wpa_supplicant/gas_query.c:906,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/gas_query.c:908,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/gas_query.c:910,1
    - Dst: radio_add_work
      Src: /src/hostap/wpa_supplicant/gas_query.c:912,1
    - Dst: gas_query_free
      Src: /src/hostap/wpa_supplicant/gas_query.c:916,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 7
    argNames:
    - gas
    - dst
    - freq
    - wildcard_bssid
    - maintain_addr
    - req
    - ctx
    argTypes:
    - struct gas_query*
    - u8*
    - int
    - int
    - int
    - struct wpabuf*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 869
    functionDepth: 2
    functionLinenumber: 869
    functionLinenumberEnd: 921
    functionName: gas_query_req
    functionSourceFile: /src/hostap/wpa_supplicant/gas_query.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - gas_query_new_dialog_token
    - wpa_msg
    - wpabuf_len
    - wpabuf_mhead_u8
    - gas_query_free
    - MAC2STR
    - os_zalloc
    - radio_add_work
    - dl_list_add
    - os_free
    - gas_query_set_sa
    linkageType: ''
    returnType: int
    signature: "int gas_query_req(struct gas_query *gas, const u8 *dst, int freq,\n\t\t
      \ int wildcard_bssid, int maintain_addr, struct wpabuf *req,\n\t\t  void (*cb)(void
      *ctx, const u8 *dst, u8 dialog_token,\n\t\t\t     enum gas_query_result result,\n\t\t\t
      \    const struct wpabuf *adv_proto,\n\t\t\t     const struct wpabuf *resp,
      u16 status_code),\n\t\t  void *ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/wpa_supplicant/gas_query.c:928,1
    - Dst: gas_query_done
      Src: /src/hostap/wpa_supplicant/gas_query.c:930,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - gas
    - dialog_token
    argTypes:
    - struct gas_query*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 924
    functionDepth: 0
    functionLinenumber: 924
    functionLinenumberEnd: 936
    functionName: gas_query_stop
    functionSourceFile: /src/hostap/wpa_supplicant/gas_query.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    - gas_query_done
    linkageType: ''
    returnType: int
    signature: int gas_query_stop(struct gas_query *gas, u8 dialog_token)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_bssid_ignore_clear
      Src: /src/hostap/wpa_supplicant/bssid_ignore.c:31,1
    - Dst: wpa_bssid_ignore_update
      Src: /src/hostap/wpa_supplicant/bssid_ignore.c:36,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/bssid_ignore.c:40,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - wpa_s
    - bssid
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 46
    functionName: wpa_bssid_ignore_get
    functionSourceFile: /src/hostap/wpa_supplicant/bssid_ignore.c
    functionUses: 0
    functionsReached:
    - wpa_bssid_ignore_update
    - wpa_bssid_ignore_clear
    - ether_addr_equal
    linkageType: ''
    returnType: struct wpa_bssid_ignore
    signature: "struct wpa_bssid_ignore * wpa_bssid_ignore_get(struct wpa_supplicant
      *wpa_s,\n\t\t\t\t\t       const u8 *bssid)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_bssid_ignore_get
      Src: /src/hostap/wpa_supplicant/bssid_ignore.c:73,1
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/bssid_ignore.c:74,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/bssid_ignore.c:88,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/bssid_ignore.c:90,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/bssid_ignore.c:94,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/bssid_ignore.c:97,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/bssid_ignore.c:103,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/bssid_ignore.c:105,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - wpa_s
    - bssid
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 108
    functionName: wpa_bssid_ignore_add
    functionSourceFile: /src/hostap/wpa_supplicant/bssid_ignore.c
    functionUses: 0
    functionsReached:
    - os_get_reltime
    - os_memcpy
    - wpa_msg
    - MAC2STR
    - os_zalloc
    - wpa_bssid_ignore_get
    linkageType: ''
    returnType: int
    signature: int wpa_bssid_ignore_add(struct wpa_supplicant *wpa_s, const u8 *bssid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/bssid_ignore.c:126,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/bssid_ignore.c:132,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/bssid_ignore.c:133,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/bssid_ignore.c:134,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - wpa_s
    - bssid
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 141
    functionName: wpa_bssid_ignore_del
    functionSourceFile: /src/hostap/wpa_supplicant/bssid_ignore.c
    functionUses: 0
    functionsReached:
    - os_free
    - MAC2STR
    - ether_addr_equal
    - wpa_msg
    linkageType: ''
    returnType: int
    signature: int wpa_bssid_ignore_del(struct wpa_supplicant *wpa_s, const u8 *bssid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_bssid_ignore_get
      Src: /src/hostap/wpa_supplicant/bssid_ignore.c:155,1
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/bssid_ignore.c:158,1
    - Dst: os_reltime_expired
      Src: /src/hostap/wpa_supplicant/bssid_ignore.c:159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - wpa_s
    - bssid
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 162
    functionName: wpa_bssid_ignore_is_listed
    functionSourceFile: /src/hostap/wpa_supplicant/bssid_ignore.c
    functionUses: 0
    functionsReached:
    - os_reltime_expired
    - os_get_reltime
    - wpa_bssid_ignore_get
    linkageType: ''
    returnType: int
    signature: int wpa_bssid_ignore_is_listed(struct wpa_supplicant *wpa_s, const
      u8 *bssid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/bssid_ignore.c:178,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/bssid_ignore.c:179,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/bssid_ignore.c:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 182
    functionName: wpa_bssid_ignore_clear
    functionSourceFile: /src/hostap/wpa_supplicant/bssid_ignore.c
    functionUses: 1
    functionsReached:
    - os_free
    - MAC2STR
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: void wpa_bssid_ignore_clear(struct wpa_supplicant *wpa_s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/bssid_ignore.c:199,1
    - Dst: os_reltime_expired
      Src: /src/hostap/wpa_supplicant/bssid_ignore.c:201,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/bssid_ignore.c:212,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/bssid_ignore.c:214,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/bssid_ignore.c:215,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 221
    functionName: wpa_bssid_ignore_update
    functionSourceFile: /src/hostap/wpa_supplicant/bssid_ignore.c
    functionUses: 1
    functionsReached:
    - os_get_reltime
    - wpa_msg
    - MAC2STR
    - os_reltime_expired
    - os_free
    linkageType: ''
    returnType: void
    signature: void wpa_bssid_ignore_update(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - wpa_s
    - mgmt
    - len
    argTypes:
    - struct wpa_supplicant*
    - struct ieee80211_mgmt*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: mesh_mpm_action_rx
    functionSourceFile: /src/hostap/wpa_supplicant/mesh_mpm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void mesh_mpm_action_rx(struct wpa_supplicant *wpa_s,\n\t\t\t\t      const
      struct ieee80211_mgmt *mgmt,\n\t\t\t\t      size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - wpa_s
    - rx_mgmt
    argTypes:
    - struct wpa_supplicant*
    - struct rx_mgmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: mesh_mpm_mgmt_rx
    functionSourceFile: /src/hostap/wpa_supplicant/mesh_mpm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void mesh_mpm_mgmt_rx(struct wpa_supplicant *wpa_s,\n\t\t\t\t    struct
      rx_mgmt *rx_mgmt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - radio
    argTypes:
    - struct wpa_radio*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 377
    functionName: external_scan_running
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant_i.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool external_scan_running(struct wpa_radio *radio)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ssid
    argTypes:
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2059
      start: 2056
    functionDepth: 0
    functionLinenumber: 2056
    functionLinenumberEnd: 2059
    functionName: network_is_persistent_group
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant_i.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int network_is_persistent_group(struct wpa_ssid *ssid)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - mode
    argTypes:
    - enum wpas_mode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2077
      start: 2062
    functionDepth: 0
    functionLinenumber: 2062
    functionLinenumberEnd: 2077
    functionName: wpas_mode_to_ieee80211_mode
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant_i.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpas_mode_to_ieee80211_mode(enum wpas_mode mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2231
      start: 2224
    functionDepth: 0
    functionLinenumber: 2224
    functionLinenumberEnd: 2231
    functionName: wpas_is_nan_iface
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant_i.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool wpas_is_nan_iface(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bss
    argTypes:
    - struct wpa_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: wpa_bss_ie_ptr
    functionSourceFile: /src/hostap/wpa_supplicant/bss.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 * wpa_bss_ie_ptr(const struct wpa_bss *bss)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bss
    argTypes:
    - struct wpa_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 206
    functionName: bss_is_dmg
    functionSourceFile: /src/hostap/wpa_supplicant/bss.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int bss_is_dmg(const struct wpa_bss *bss)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bss_is_dmg
      Src: /src/hostap/wpa_supplicant/bss.h:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - bss
    argTypes:
    - struct wpa_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 217
    functionName: bss_is_pbss
    functionSourceFile: /src/hostap/wpa_supplicant/bss.h
    functionUses: 0
    functionsReached:
    - bss_is_dmg
    linkageType: ''
    returnType: int
    signature: int bss_is_pbss(struct wpa_bss *bss)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - bss
    - new_level
    argTypes:
    - struct wpa_bss*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 223
    functionName: wpa_bss_update_level
    functionSourceFile: /src/hostap/wpa_supplicant/bss.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wpa_bss_update_level(struct wpa_bss *bss, int new_level)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/twt.c:40,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/twt.c:47,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/twt.c:49,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/twt.c:54,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/twt.c:58,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/twt.c:59,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/twt.c:60,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/twt.c:62,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/twt.c:63,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/twt.c:65,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/twt.c:68,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/twt.c:72,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/twt.c:74,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/twt.c:76,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/twt.c:80,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/wpa_supplicant/twt.c:81,1
    - Dst: wpabuf_put_le64
      Src: /src/hostap/wpa_supplicant/twt.c:82,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/twt.c:83,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/wpa_supplicant/twt.c:84,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/twt.c:85,1
    - Dst: wpa_drv_send_action
      Src: /src/hostap/wpa_supplicant/twt.c:87,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/twt.c:89,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/twt.c:89,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/twt.c:90,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/twt.c:94,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 15
    argNames:
    - wpa_s
    - dtok
    - exponent
    - mantissa
    - min_twt
    - setup_cmd
    - twt
    - requestor
    - trigger
    - implicit
    - flow_type
    - flow_id
    - protection
    - twt_channel
    - control
    argTypes:
    - struct wpa_supplicant*
    - u8
    - int
    - int
    - u8
    - int
    - u64
    - bool
    - bool
    - bool
    - bool
    - u8
    - bool
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 96
    functionName: wpas_twt_send_setup
    functionSourceFile: /src/hostap/wpa_supplicant/twt.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_drv_send_action
    - wpabuf_put_u8
    - wpabuf_len
    - wpabuf_free
    - wpabuf_put_le16
    - wpabuf_head
    - wpabuf_alloc
    - BIT
    - wpabuf_put_le64
    linkageType: ''
    returnType: int
    signature: "int wpas_twt_send_setup(struct wpa_supplicant *wpa_s, u8 dtok, int
      exponent,\n\t\t\tint mantissa, u8 min_twt, int setup_cmd, u64 twt,\n\t\t\tbool
      requestor, bool trigger, bool implicit,\n\t\t\tbool flow_type, u8 flow_id, bool
      protection,\n\t\t\tu8 twt_channel, u8 control)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/twt.c:112,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/twt.c:118,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/twt.c:120,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/twt.c:125,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/twt.c:127,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/twt.c:128,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/twt.c:129,1
    - Dst: wpa_drv_send_action
      Src: /src/hostap/wpa_supplicant/twt.c:131,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/twt.c:133,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/twt.c:133,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/twt.c:134,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/twt.c:138,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - wpa_s
    - flags
    argTypes:
    - struct wpa_supplicant*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 140
    functionName: wpas_twt_send_teardown
    functionSourceFile: /src/hostap/wpa_supplicant/twt.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_drv_send_action
    - wpabuf_put_u8
    - wpabuf_len
    - wpabuf_free
    - wpabuf_head
    - wpabuf_alloc
    linkageType: ''
    returnType: int
    signature: int wpas_twt_send_teardown(struct wpa_supplicant *wpa_s, u8 flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_set_key
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - wpa_s
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 161
    functionName: wpa_set_wep_keys
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_drv_set_key
    linkageType: ''
    returnType: int
    signature: int wpa_set_wep_keys(struct wpa_supplicant *wpa_s, struct wpa_ssid
      *ssid)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:178,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:184,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:191,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:196,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:202,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:203,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:208,1
    - Dst: wpa_drv_set_key
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:216,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:218,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 2
    argNames:
    - wpa_s
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 220
    functionName: wpa_supplicant_set_wpa_none_key
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - os_memset
    - wpa_drv_set_key
    - os_memcpy
    - wpa_msg
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_set_wpa_none_key(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \   struct wpa_ssid *ssid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:227,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:231,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:232,1
    - Dst: wpa_bssid_ignore_add
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:233,1
    - Dst: wpa_sm_notify_disassoc
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:234,1
    - Dst: wpa_supplicant_deauthenticate
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:235,1
    - Dst: wpa_supplicant_req_scan
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:242,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 223
    functionDepth: 3
    functionLinenumber: 223
    functionLinenumberEnd: 243
    functionName: wpa_supplicant_timeout
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_req_scan
    - wpa_msg
    - is_zero_ether_addr
    - wpa_bssid_ignore_add
    - MAC2STR
    - wpa_supplicant_deauthenticate
    - wpa_sm_notify_disassoc
    linkageType: ''
    returnType: void
    signature: void wpa_supplicant_timeout(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:262,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:264,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:266,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - wpa_s
    - sec
    - usec
    argTypes:
    - struct wpa_supplicant*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 267
    functionName: wpa_supplicant_req_auth_timeout
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - eloop_cancel_timeout
    - eloop_register_timeout
    - wpa_dbg
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_req_auth_timeout(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \    int sec, int usec)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eloop_is_timeout_registered
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:279,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:280,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:282,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - wpa_s
    - sec_diff
    argTypes:
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 286
    functionName: wpas_auth_timeout_restart
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - eloop_cancel_timeout
    - eloop_register_timeout
    - eloop_is_timeout_registered
    - wpa_dbg
    linkageType: ''
    returnType: void
    signature: void wpas_auth_timeout_restart(struct wpa_supplicant *wpa_s, int sec_diff)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:299,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:300,1
    - Dst: wpa_bssid_ignore_del
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:301,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 297
    functionDepth: 2
    functionLinenumber: 297
    functionLinenumberEnd: 305
    functionName: wpa_supplicant_cancel_auth_timeout
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 1
    functionsReached:
    - eloop_cancel_timeout
    - wpa_bssid_ignore_del
    - os_free
    - wpa_dbg
    linkageType: ''
    returnType: void
    signature: void wpa_supplicant_cancel_auth_timeout(struct wpa_supplicant *wpa_s)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: eapol_sm_notify_portControl
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:329,1
    - Dst: eapol_sm_notify_eap_success
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:330,1
    - Dst: eapol_sm_notify_eap_fail
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:331,1
    - Dst: eapol_sm_notify_eap_success
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:336,1
    - Dst: eapol_sm_notify_eap_fail
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:337,1
    - Dst: eapol_sm_notify_portControl
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:341,1
    - Dst: eapol_sm_notify_portControl
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:343,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:345,1
    - Dst: wpa_key_mgmt_wpa_ieee8021x
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:363,1
    - Dst: wpa_bss_get_vendor_ie_multi
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:373,1
    - Dst: wps_is_20
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:376,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:379,1
    - Dst: eapol_sm_notify_config
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:385,1
    - Dst: ieee802_1x_create_preshared_mka
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:389,1
    - Dst: ieee802_1x_alloc_kay_sm
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:391,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 44
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 394
    functionName: wpa_supplicant_initiate_eapol
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 1
    functionsReached:
    - ieee802_1x_alloc_kay_sm
    - ieee802_1x_create_preshared_mka
    - eapol_sm_notify_config
    - wpabuf_free
    - eapol_sm_notify_eap_success
    - eapol_sm_notify_eap_fail
    - wpa_key_mgmt_wpa_ieee8021x
    - eapol_sm_notify_portControl
    - wpa_bss_get_vendor_ie_multi
    - wps_is_20
    - os_memset
    linkageType: ''
    returnType: void
    signature: void wpa_supplicant_initiate_eapol(struct wpa_supplicant *wpa_s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_sm_set_ap_wpa_ie
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:420,1
    - Dst: wpa_sm_set_ap_rsn_ie
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:421,1
    - Dst: wpa_sm_set_ap_rsnxe
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:422,1
    - Dst: wpa_sm_set_ap_rsne_override
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:423,1
    - Dst: wpa_sm_set_ap_rsne_override_2
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:424,1
    - Dst: wpa_sm_set_ap_rsnxe_override
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:425,1
    - Dst: wpa_sm_set_assoc_wpa_ie
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:426,1
    - Dst: wpa_sm_set_assoc_rsnxe
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:428,1
    - Dst: wpa_sm_set_param
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:449,1
    - Dst: wpa_sm_set_param
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:450,1
    - Dst: wpa_sm_set_param
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:451,1
    - Dst: wpa_sm_set_param
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:453,1
    - Dst: wpa_sm_set_param
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:454,1
    - Dst: wpa_sm_set_param
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:456,1
    - Dst: wpa_sm_set_param
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:457,1
    - Dst: pmksa_cache_clear_current
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:459,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:460,1
    - Dst: wpa_sm_set_mlo_params
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:461,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 2
    argNames:
    - wpa_s
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 462
    functionName: wpa_supplicant_set_non_wpa_policy
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_sm_set_ap_rsnxe
    - wpa_sm_set_ap_rsn_ie
    - wpa_sm_set_ap_rsne_override
    - wpa_sm_set_ap_rsne_override_2
    - wpa_sm_set_param
    - wpa_sm_set_ap_rsnxe_override
    - wpa_sm_set_ap_wpa_ie
    - wpa_sm_set_assoc_wpa_ie
    - wpa_sm_set_assoc_rsnxe
    - wpa_sm_set_mlo_params
    - pmksa_cache_clear_current
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_set_non_wpa_policy(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \      struct wpa_ssid *ssid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:472,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:473,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:476,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 478
    functionName: free_hw_features
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - os_free
    linkageType: ''
    returnType: void
    signature: void free_hw_features(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:484,1
    - Dst: dl_list_del
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:485,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - bss
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_bss_tmp_disallowed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 481
    functionDepth: 1
    functionLinenumber: 481
    functionLinenumberEnd: 487
    functionName: remove_bss_tmp_disallowed_entry
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - eloop_cancel_timeout
    - os_free
    - dl_list_del
    linkageType: ''
    returnType: void
    signature: "void remove_bss_tmp_disallowed_entry(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \   struct wpa_bss_tmp_disallowed *bss)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:494,1
    - Dst: remove_bss_tmp_disallowed_entry
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 490
    functionDepth: 2
    functionLinenumber: 490
    functionLinenumberEnd: 497
    functionName: free_bss_tmp_disallowed
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - remove_bss_tmp_disallowed_entry
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: void free_bss_tmp_disallowed(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_first
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:504,1
    - Dst: dl_list_del
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:506,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:507,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:508,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 510
    functionName: wpas_flush_fils_hlp_req
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - os_free
    - dl_list_first
    - wpabuf_free
    - dl_list_del
    linkageType: ''
    returnType: void
    signature: void wpas_flush_fils_hlp_req(struct wpa_supplicant *wpa_s)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:524,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:527,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:528,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:529,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:530,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:531,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:532,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:533,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:534,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:537,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:538,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:543,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:547,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:548,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:549,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:550,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 513
    functionDepth: 1
    functionLinenumber: 513
    functionLinenumberEnd: 553
    functionName: wpas_wfa_gen_capab_attr
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpabuf_put_u8
    - wpabuf_put_data
    - wpabuf_len
    - wpabuf_head
    - wpabuf_alloc
    - BIT
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * wpas_wfa_gen_capab_attr(struct wpa_supplicant *wpa_s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pmf_in_use
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:565,1
    - Dst: wpas_wfa_gen_capab_attr
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:568,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:572,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:573,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:575,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:579,1
    - Dst: wpabuf_put_be32
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:580,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:581,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:582,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:583,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:585,1
    - Dst: wpa_drv_send_action
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:586,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:588,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:588,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:589,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:592,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 557
    functionDepth: 2
    functionLinenumber: 557
    functionLinenumberEnd: 593
    functionName: wpas_wfa_capab_tx
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_wfa_gen_capab_attr
    - wpa_printf
    - wpa_drv_send_action
    - wpabuf_put_u8
    - wpabuf_len
    - wpabuf_free
    - pmf_in_use
    - wpabuf_head
    - wpabuf_alloc
    - wpabuf_put_buf
    - wpabuf_put_be32
    linkageType: ''
    returnType: void
    signature: void wpas_wfa_capab_tx(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:602,1
    - Dst: wpa_bss_flush
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:603,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 596
    functionDepth: 1
    functionLinenumber: 596
    functionLinenumberEnd: 604
    functionName: wpas_clear_disabled_interface
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_bss_flush
    - wpa_dbg
    linkageType: ''
    returnType: void
    signature: void wpas_clear_disabled_interface(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_first
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:612,1
    - Dst: dl_list_del
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:614,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:615,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 608
    functionDepth: 1
    functionLinenumber: 608
    functionLinenumberEnd: 617
    functionName: wpas_clear_driver_signal_override
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - os_free
    - dl_list_first
    - dl_list_del
    linkageType: ''
    returnType: void
    signature: void wpas_clear_driver_signal_override(struct wpa_supplicant *wpa_s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bgscan_deinit
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:625,1
    - Dst: autoscan_deinit
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:626,1
    - Dst: scard_deinit
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:627,1
    - Dst: wpa_sm_set_scard_ctx
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:629,1
    - Dst: eapol_sm_register_scard_ctx
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:630,1
    - Dst: l2_packet_deinit
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:631,1
    - Dst: l2_packet_deinit
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:634,1
    - Dst: l2_packet_deinit
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:638,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:640,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:642,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:644,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:646,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:648,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:650,1
    - Dst: wpas_clear_driver_signal_override
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:652,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:654,1
    - Dst: wpas_notify_network_removed
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:662,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:665,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:668,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:671,1
    - Dst: wpa_sm_set_eapol
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:675,1
    - Dst: eapol_sm_deinit
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:676,1
    - Dst: rsn_preauth_deinit
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:679,1
    - Dst: wpa_tdls_deinit
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:682,1
    - Dst: wmm_ac_clear_saved_tspecs
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:686,1
    - Dst: pmksa_candidate_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:688,1
    - Dst: ptksa_cache_deinit
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:689,1
    - Dst: wpa_sm_deinit
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:691,1
    - Dst: wpa_bssid_ignore_clear
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:693,1
    - Dst: wpas_pasn_auth_stop
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:696,1
    - Dst: wpa_bss_deinit
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:699,1
    - Dst: wpa_supplicant_cancel_delayed_sched_scan
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:701,1
    - Dst: wpa_supplicant_cancel_scan
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:702,1
    - Dst: wpa_supplicant_cancel_auth_timeout
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:703,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:704,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:706,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:710,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:711,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:712,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:713,1
    - Dst: wpas_wps_deinit
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:715,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:717,1
    - Dst: ibss_rsn_deinit
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:721,1
    - Dst: sme_deinit
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:725,1
    - Dst: wpa_supplicant_ap_deinit
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:728,1
    - Dst: wpas_p2p_deinit
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:731,1
    - Dst: wpas_pr_deinit
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:733,1
    - Dst: offchannel_deinit
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:736,1
    - Dst: wpa_supplicant_cancel_sched_scan
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:739,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:741,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:744,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:746,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:749,1
    - Dst: wpas_mac_addr_rand_scan_clear
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:752,1
    - Dst: radio_remove_works
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:763,1
    - Dst: gas_query_deinit
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:764,1
    - Dst: gas_server_deinit
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:766,1
    - Dst: free_hw_features
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:769,1
    - Dst: ieee802_1x_dealloc_kay_sm
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:771,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:773,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:776,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:778,1
    - Dst: wnm_bss_keep_alive_deinit
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:781,1
    - Dst: wnm_btm_reset
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:782,1
    - Dst: ext_password_deinit
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:784,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:787,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:789,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:792,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:796,1
    - Dst: wpa_drv_configure_frame_filters
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:801,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:804,1
    - Dst: wmm_ac_notify_disassoc
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:809,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:813,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:818,1
    - Dst: free_bss_tmp_disallowed
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:822,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:824,1
    - Dst: wpas_clear_beacon_rep_data
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:827,1
    - Dst: dl_list_last
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:835,1
    - Dst: dl_list_del
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:838,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:839,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:840,1
    - Dst: wpas_flush_fils_hlp_req
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:846,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:848,1
    - Dst: wpas_dpp_deinit
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:852,1
    - Dst: dpp_global_deinit
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:853,1
    - Dst: wpas_nan_de_deinit
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:857,1
    - Dst: wpas_pasn_auth_stop
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:860,1
    - Dst: wpas_pasn_free_params
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:861,1
    - Dst: wpas_scs_deinit
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:864,1
    - Dst: wpas_dscp_deinit
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:865,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:869,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:874,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 152
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 621
    functionDepth: 3
    functionLinenumber: 621
    functionLinenumberEnd: 877
    functionName: wpa_supplicant_cleanup
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - sme_deinit
    - dpp_global_deinit
    - wpas_mac_addr_rand_scan_clear
    - wpa_sm_set_scard_ctx
    - wmm_ac_notify_disassoc
    - wpa_sm_deinit
    - wpa_sm_set_eapol
    - wpas_pasn_free_params
    - wnm_bss_keep_alive_deinit
    - ieee802_1x_dealloc_kay_sm
    - wpas_scs_deinit
    - wpa_supplicant_ap_deinit
    - ptksa_cache_deinit
    - dl_list_last
    - autoscan_deinit
    - wpa_tdls_deinit
    - wpa_supplicant_cancel_auth_timeout
    - os_free
    - scard_deinit
    - radio_remove_works
    - gas_query_deinit
    - wpas_clear_driver_signal_override
    - wpa_supplicant_cancel_delayed_sched_scan
    - wpas_flush_fils_hlp_req
    - wpas_dpp_deinit
    - free_bss_tmp_disallowed
    - wpas_wps_deinit
    - wpas_notify_network_removed
    - wpa_drv_configure_frame_filters
    - eapol_sm_register_scard_ctx
    - wpas_pr_deinit
    - wpa_supplicant_cancel_scan
    - gas_server_deinit
    - wpas_nan_de_deinit
    - ext_password_deinit
    - wpa_supplicant_cancel_sched_scan
    - dl_list_del
    - wpas_dscp_deinit
    - pmksa_candidate_free
    - l2_packet_deinit
    - eloop_cancel_timeout
    - wpabuf_free
    - free_hw_features
    - bgscan_deinit
    - wmm_ac_clear_saved_tspecs
    - eapol_sm_deinit
    - wpa_bssid_ignore_clear
    - wpa_bss_deinit
    - wpas_p2p_deinit
    - wnm_btm_reset
    - wpas_clear_beacon_rep_data
    - rsn_preauth_deinit
    - ibss_rsn_deinit
    - offchannel_deinit
    - wpas_pasn_auth_stop
    linkageType: ''
    returnType: void
    signature: void wpa_supplicant_cleanup(struct wpa_supplicant *wpa_s)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: for_each_link
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:903,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:905,1
    - Dst: wpa_drv_set_key
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:907,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:914,1
    - Dst: wpa_drv_set_key
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:916,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:921,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:921,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:922,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:923,1
    - Dst: wpa_drv_set_key
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:924,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:926,1
    - Dst: wpa_drv_set_key
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:927,1
    - Dst: wpa_drv_mlme_setprotection
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:930,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 2
    argNames:
    - wpa_s
    - addr
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 888
    functionDepth: 1
    functionLinenumber: 888
    functionLinenumberEnd: 936
    functionName: wpa_clear_keys
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_drv_mlme_setprotection
    - is_zero_ether_addr
    - for_each_link
    - BIT
    - wpa_drv_set_key
    linkageType: ''
    returnType: void
    signature: void wpa_clear_keys(struct wpa_supplicant *wpa_s, const u8 *addr)
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - state
    argTypes:
    - enum wpa_states
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 944
    functionDepth: 0
    functionLinenumber: 944
    functionLinenumberEnd: 970
    functionName: wpa_supplicant_state_txt
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * wpa_supplicant_state_txt(enum wpa_states state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bgscan_deinit
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:978,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 981
      start: 975
    functionDepth: 0
    functionLinenumber: 975
    functionLinenumberEnd: 981
    functionName: wpa_supplicant_stop_bgscan
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - bgscan_deinit
    linkageType: ''
    returnType: void
    signature: void wpa_supplicant_stop_bgscan(struct wpa_supplicant *wpa_s)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_supplicant_stop_bgscan
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:999,1
    - Dst: wpas_driver_bss_selection
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1002,1
    - Dst: bgscan_deinit
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1009,1
    - Dst: bgscan_init
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1011,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1012,1
    - Dst: wpa_supplicant_get_scan_results
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1022,1
    - Dst: bgscan_notify_scan
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1025,1
    - Dst: wpa_scan_results_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1026,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 990
    functionDepth: 6
    functionLinenumber: 990
    functionLinenumberEnd: 1031
    functionName: wpa_supplicant_reset_bgscan
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - bgscan_notify_scan
    - wpas_driver_bss_selection
    - wpa_scan_results_free
    - bgscan_init
    - bgscan_deinit
    - wpa_supplicant_get_scan_results
    - wpa_dbg
    - wpa_supplicant_stop_bgscan
    linkageType: ''
    returnType: void
    signature: void wpa_supplicant_reset_bgscan(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: autoscan_init
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1038,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1039,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1040
      start: 1036
    functionDepth: 1
    functionLinenumber: 1036
    functionLinenumberEnd: 1040
    functionName: wpa_supplicant_start_autoscan
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - autoscan_init
    - wpa_dbg
    linkageType: ''
    returnType: void
    signature: void wpa_supplicant_start_autoscan(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: autoscan_deinit
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1045,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1043
    functionDepth: 0
    functionLinenumber: 1043
    functionLinenumberEnd: 1046
    functionName: wpa_supplicant_stop_autoscan
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - autoscan_deinit
    linkageType: ''
    returnType: void
    signature: void wpa_supplicant_stop_autoscan(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: autoscan_deinit
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1053,1
    - Dst: wpa_supplicant_start_autoscan
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1054,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1056
      start: 1049
    functionDepth: 2
    functionLinenumber: 1049
    functionLinenumberEnd: 1056
    functionName: wpa_supplicant_reinit_autoscan
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - autoscan_deinit
    - wpa_supplicant_start_autoscan
    linkageType: ''
    returnType: void
    signature: void wpa_supplicant_reinit_autoscan(struct wpa_supplicant *wpa_s)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1074,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1081,1
    - Dst: wpa_supplicant_update_scan_results
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1083,1
    - Dst: wpa_bss_get_bssid_latest
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1093,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1096,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1101,1
    - Dst: wpa_bss_get_ie_beacon
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1105,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1107,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1108,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1118,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 34
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1122
      start: 1059
    functionDepth: 7
    functionLinenumber: 1059
    functionLinenumberEnd: 1122
    functionName: wpas_verify_ssid_beacon
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_bss_get_bssid_latest
    - os_memcmp
    - wpa_supplicant_update_scan_results
    - eloop_register_timeout
    - wpa_bss_get_ie_beacon
    linkageType: ''
    returnType: void
    signature: void wpas_verify_ssid_beacon(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1129,1
    - Dst: wpa_supplicant_update_scan_results
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1135,1
    - Dst: wpa_bss_get_bssid_latest
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1138,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1141,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1146,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1148
      start: 1125
    functionDepth: 7
    functionLinenumber: 1125
    functionLinenumberEnd: 1148
    functionName: wpas_verify_ssid_beacon_prot
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_bss_get_bssid_latest
    - eloop_cancel_timeout
    - eloop_register_timeout
    - wpa_supplicant_update_scan_results
    linkageType: ''
    returnType: void
    signature: void wpas_verify_ssid_beacon_prot(struct wpa_supplicant *wpa_s)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1168,1
    - Dst: wpa_supplicant_state_txt
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1169,1
    - Dst: wpa_supplicant_state_txt
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1170,1
    - Dst: os_reltime_initialized
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1173,1
    - Dst: os_reltime_age
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1174,1
    - Dst: wpas_notify_auth_changed
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1177,1
    - Dst: wpas_notify_roam_time
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1178,1
    - Dst: wpas_notify_roam_complete
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1179,1
    - Dst: os_reltime_initialized
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1181,1
    - Dst: wpas_notify_roam_complete
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1186,1
    - Dst: wpas_nan_deinit
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1200,1
    - Dst: wpas_connect_work_done
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1204,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1220,1
    - Dst: wpa_drv_probe_req_report
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1223,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1225,1
    - Dst: wpa_drv_probe_req_report
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1228,1
    - Dst: wpa_supplicant_notify_scanning
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1234,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1243,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1245,1
    - Dst: wpa_auth_alg_fils
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1249,1
    - Dst: wpa_auth_alg_fils
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1253,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1257,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1259,1
    - Dst: wpas_clear_temp_disabled
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1264,1
    - Dst: wpa_drv_set_operstate
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1267,1
    - Dst: wpa_drv_set_supp_port
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1269,1
    - Dst: wpas_p2p_completed
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1273,1
    - Dst: sme_sched_obss_scan
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1275,1
    - Dst: wpas_update_owe_connect_params
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1283,1
    - Dst: wpa_drv_set_operstate
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1288,1
    - Dst: wpa_drv_set_supp_port
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1290,1
    - Dst: sme_sched_obss_scan
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1292,1
    - Dst: pmf_in_use
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1298,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1299,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1300,1
    - Dst: dl_list_len
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1305,1
    - Dst: wpas_scs_reconfigure
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1307,1
    - Dst: wpa_supplicant_reset_bgscan
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1312,1
    - Dst: wpa_supplicant_stop_bgscan
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1314,1
    - Dst: wpa_supplicant_stop_autoscan
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1318,1
    - Dst: wpa_supplicant_start_autoscan
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1321,1
    - Dst: wnm_btm_reset
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1325,1
    - Dst: wmm_ac_notify_disassoc
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1329,1
    - Dst: wpas_notify_state_changed
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1333,1
    - Dst: wpas_p2p_indicate_state_change
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1339,1
    - Dst: wpas_notify_auth_changed
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1343,1
    - Dst: wpas_dpp_connected
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1346,1
    - Dst: wpas_verify_ssid_beacon_prot
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1351,1
    - Dst: wpas_update_fils_connect_params
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1355,1
    - Dst: wpas_nan_usd_state_change_notif
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1358,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 100
    argCount: 2
    argNames:
    - wpa_s
    - state
    argTypes:
    - struct wpa_supplicant*
    - enum wpa_states
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1359
      start: 1159
    functionDepth: 8
    functionLinenumber: 1159
    functionLinenumberEnd: 1359
    functionName: wpa_supplicant_set_state
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 4
    functionsReached:
    - wpa_drv_set_operstate
    - wpa_auth_alg_fils
    - wpas_scs_reconfigure
    - wpas_connect_work_done
    - os_snprintf
    - wpas_update_owe_connect_params
    - wmm_ac_notify_disassoc
    - wpa_supplicant_stop_bgscan
    - wpas_dpp_connected
    - dl_list_len
    - wpas_notify_roam_complete
    - wpas_clear_temp_disabled
    - wpa_supplicant_notify_scanning
    - wpa_drv_set_supp_port
    - os_reltime_age
    - wpa_supplicant_stop_autoscan
    - sme_sched_obss_scan
    - wpas_notify_auth_changed
    - os_reltime_initialized
    - wpa_supplicant_start_autoscan
    - pmf_in_use
    - wpa_supplicant_state_txt
    - wpas_p2p_indicate_state_change
    - wpas_p2p_completed
    - wpa_dbg
    - wpa_drv_probe_req_report
    - wpas_update_fils_connect_params
    - wpas_nan_usd_state_change_notif
    - wpas_nan_deinit
    - wpa_msg
    - eloop_cancel_timeout
    - wpa_supplicant_reset_bgscan
    - wpas_verify_ssid_beacon_prot
    - MAC2STR
    - wnm_btm_reset
    - eloop_register_timeout
    - wpas_notify_roam_time
    - wpas_notify_state_changed
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_set_state(struct wpa_supplicant *wpa_s,\n\t\t\t
      \     enum wpa_states state)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpas_wps_terminate_pending
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1369,1
    - Dst: wpas_p2p_disconnect
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1374,1
    - Dst: eloop_terminate
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1381,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - global
    argTypes:
    - struct wpa_global*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1382
      start: 1362
    functionDepth: 1
    functionLinenumber: 1362
    functionLinenumberEnd: 1382
    functionName: wpa_supplicant_terminate_proc
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - eloop_terminate
    - wpas_p2p_disconnect
    - wpas_wps_terminate_pending
    linkageType: ''
    returnType: void
    signature: void wpa_supplicant_terminate_proc(struct wpa_global *global)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_supplicant_terminate_proc
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sig
    - signal_ctx
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1389
      start: 1385
    functionDepth: 2
    functionLinenumber: 1385
    functionLinenumberEnd: 1389
    functionName: wpa_supplicant_terminate
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_terminate_proc
    linkageType: ''
    returnType: void
    signature: void wpa_supplicant_terminate(int sig, void *signal_ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_supplicant_set_state
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1408,1
    - Dst: wpas_notify_state_changed
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1411,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1412
      start: 1392
    functionDepth: 9
    functionLinenumber: 1392
    functionLinenumberEnd: 1412
    functionName: wpa_supplicant_clear_status
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_notify_state_changed
    - wpa_supplicant_set_state
    linkageType: ''
    returnType: void
    signature: void wpa_supplicant_clear_status(struct wpa_supplicant *wpa_s)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_read
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1434,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1437,1
    - Dst: wpa_config_read
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1442,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1444,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1454,1
    - Dst: wpa_supplicant_ctrl_iface_deinit
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1458,1
    - Dst: eapol_sm_invalidate_cached_session
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1462,1
    - Dst: wpa_supplicant_deauthenticate
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1466,1
    - Dst: wpa_key_mgmt_wpa_psk
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1474,1
    - Dst: eapol_sm_notify_eap_success
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1481,1
    - Dst: eapol_sm_notify_config
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1483,1
    - Dst: wpa_sm_set_config
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1484,1
    - Dst: wpa_sm_pmksa_cache_flush
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1485,1
    - Dst: wpa_sm_set_fast_reauth
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1486,1
    - Dst: rsn_preauth_deinit
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1487,1
    - Dst: wpa_config_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1490,1
    - Dst: wpas_notify_ap_scan_changed
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1493,1
    - Dst: wpa_supplicant_ctrl_iface_init
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1496,1
    - Dst: wpa_supplicant_update_config
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1498,1
    - Dst: wpa_supplicant_clear_status
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1500,1
    - Dst: wpa_supplicant_enabled_networks
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1501,1
    - Dst: wpa_supplicant_req_scan
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1503,1
    - Dst: wpa_bssid_ignore_clear
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1505,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1506,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1508
      start: 1426
    functionDepth: 10
    functionLinenumber: 1426
    functionLinenumberEnd: 1508
    functionName: wpa_supplicant_reload_configuration
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - eapol_sm_notify_config
    - wpa_supplicant_clear_status
    - wpa_key_mgmt_wpa_psk
    - wpa_supplicant_deauthenticate
    - wpa_sm_pmksa_cache_flush
    - wpa_supplicant_req_scan
    - wpa_sm_set_fast_reauth
    - wpa_supplicant_update_config
    - wpa_supplicant_ctrl_iface_init
    - os_strcmp
    - eapol_sm_invalidate_cached_session
    - wpa_config_free
    - wpas_notify_ap_scan_changed
    - wpa_config_read
    - eapol_sm_notify_eap_success
    - wpa_dbg
    - wpa_msg
    - wpa_supplicant_ctrl_iface_deinit
    - wpa_sm_set_config
    - wpa_supplicant_enabled_networks
    - wpa_bssid_ignore_clear
    - rsn_preauth_deinit
    linkageType: ''
    returnType: int
    signature: int wpa_supplicant_reload_configuration(struct wpa_supplicant *wpa_s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1516,1
    - Dst: wpa_supplicant_reload_configuration
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1518,1
    - Dst: wpa_supplicant_terminate_proc
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1519,1
    - Dst: wpa_debug_reopen_file
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1523,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1525,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - sig
    - signal_ctx
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1527
      start: 1511
    functionDepth: 11
    functionLinenumber: 1511
    functionLinenumberEnd: 1527
    functionName: wpa_supplicant_reconfig
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_supplicant_reload_configuration
    - wpa_debug_reopen_file
    - wpa_dbg
    - wpa_supplicant_terminate_proc
    linkageType: ''
    returnType: void
    signature: void wpa_supplicant_reconfig(int sig, void *signal_ctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_sm_parse_own_wpa_ie
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1534,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1537,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1543,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1546,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1552,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1558,1
    - Dst: wpas_get_ssid_pmf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1565,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1566,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - wpa_s
    - ssid
    - ie
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    - struct wpa_ie_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1573
      start: 1530
    functionDepth: 1
    functionLinenumber: 1530
    functionLinenumberEnd: 1573
    functionName: wpa_supplicant_suites_from_ai
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_dbg
    - wpa_sm_parse_own_wpa_ie
    - wpas_get_ssid_pmf
    - wpa_msg
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_suites_from_ai(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      struct wpa_ssid *ssid,\n\t\t\t\t\t struct wpa_ie_data *ie)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_default_rsn_cipher
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1580,1
    - Dst: wpa_default_rsn_cipher
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1582,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - ssid
    - ie
    - freq
    argTypes:
    - struct wpa_ssid*
    - struct wpa_ie_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1585
      start: 1576
    functionDepth: 1
    functionLinenumber: 1576
    functionLinenumberEnd: 1585
    functionName: matching_ciphers
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_default_rsn_cipher
    linkageType: ''
    returnType: int
    signature: "int matching_ciphers(struct wpa_ssid *ssid, struct wpa_ie_data *ie,\n\t\t\t
      \   int freq)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpas_get_ssid_pmf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1596,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1599,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1604,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1608,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1612,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1616,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1620,1
    - Dst: wpa_sm_set_param
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1622,1
    - Dst: wpa_sm_set_param
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1624,1
    - Dst: wpas_get_ssid_pmf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1625,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - wpa_s
    - ssid
    - ie
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    - struct wpa_ie_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1626
      start: 1588
    functionDepth: 1
    functionLinenumber: 1588
    functionLinenumberEnd: 1626
    functionName: wpas_set_mgmt_group_cipher
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_get_ssid_pmf
    - wpa_sm_set_param
    - wpa_dbg
    linkageType: ''
    returnType: void
    signature: "void wpas_set_mgmt_group_cipher(struct wpa_supplicant *wpa_s,\n\t\t\t\tstruct
      wpa_ssid *ssid, struct wpa_ie_data *ie)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump_key
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1644,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1646,1
    - Dst: pbkdf2_sha1
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1652,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1654,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1657,1
    - Dst: ext_password_get
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1665,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1670,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1675,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1675,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1676,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1678,1
    - Dst: ext_password_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1679,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1683,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1683,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1683,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1684,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1687,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1687,1
    - Dst: pbkdf2_sha1
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1689,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1691,1
    - Dst: forced_memzero
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1693,1
    - Dst: ext_password_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1694,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1697,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1702,1
    - Dst: hexstr2bin
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1703,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1704,1
    - Dst: forced_memzero
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1706,1
    - Dst: ext_password_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1707,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1710,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1713,1
    - Dst: forced_memzero
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1715,1
    - Dst: ext_password_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1716,1
    - Dst: forced_memzero
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1720,1
    - Dst: ext_password_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1721,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 54
    argCount: 4
    argNames:
    - wpa_s
    - bss
    - ssid
    - psk
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_bss*
    - struct wpa_ssid*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1728
      start: 1639
    functionDepth: 1
    functionLinenumber: 1639
    functionLinenumberEnd: 1728
    functionName: wpa_supplicant_get_psk
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_hexdump_key
    - os_memcpy
    - wpa_msg
    - wpabuf_len
    - hexstr2bin
    - forced_memzero
    - wpabuf_head
    - ext_password_get
    - pbkdf2_sha1
    - ext_password_free
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_get_psk(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \ struct wpa_bss *bss, struct wpa_ssid *ssid,\n\t\t\t\t  u8 *psk)"
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: wpas_get_ssid_sae_pwe
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1818,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1821,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:1824,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 87
    argCount: 2
    argNames:
    - wpa_s
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1840
      start: 1731
    functionDepth: 1
    functionLinenumber: 1731
    functionLinenumberEnd: 1840
    functionName: wpas_update_allowed_key_mgmt
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - BIT
    - wpas_get_ssid_sae_pwe
    linkageType: ''
    returnType: void
    signature: "void wpas_update_allowed_key_mgmt(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      struct wpa_ssid *ssid)"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: wpas_driver_bss_selection
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2474,1
    - Dst: wpa_bss_ext_capab
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2510,1
    - Dst: wpa_bss_ext_capab
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2543,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 62
    argCount: 4
    argNames:
    - wpa_s
    - pos
    - idx
    - bss
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - int
    - struct wpa_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2555
      start: 2453
    functionDepth: 1
    functionLinenumber: 2453
    functionLinenumberEnd: 2555
    functionName: wpas_ext_capab_byte
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_driver_bss_selection
    - wpa_bss_ext_capab
    linkageType: ''
    returnType: void
    signature: "void wpas_ext_capab_byte(struct wpa_supplicant *wpa_s, u8 *pos, int
      idx,\n\t\t\t\tstruct wpa_bss *bss)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2567,1
    - Dst: wpas_ext_capab_byte
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2575,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 4
    argNames:
    - wpa_s
    - buf
    - buflen
    - bss
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - size_t
    - struct wpa_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2591
      start: 2558
    functionDepth: 2
    functionLinenumber: 2558
    functionLinenumberEnd: 2591
    functionName: wpas_build_ext_capab
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - wpas_ext_capab_byte
    linkageType: ''
    returnType: int
    signature: "int wpas_build_ext_capab(struct wpa_supplicant *wpa_s, u8 *buf,\n\t\t\t
      \ size_t buflen, struct wpa_bss *bss)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2599,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - wpa_s
    - test_bss
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2605
      start: 2594
    functionDepth: 0
    functionLinenumber: 2594
    functionLinenumberEnd: 2605
    functionName: wpas_valid_bss
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    linkageType: ''
    returnType: int
    signature: "int wpas_valid_bss(struct wpa_supplicant *wpa_s,\n\t\t\t  struct wpa_bss
      *test_bss)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - wpa_s
    - test_ssid
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2619
      start: 2608
    functionDepth: 0
    functionLinenumber: 2608
    functionLinenumberEnd: 2619
    functionName: wpas_valid_ssid
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int wpas_valid_ssid(struct wpa_supplicant *wpa_s,\n\t\t\t   struct
      wpa_ssid *test_ssid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_valid_bss
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2625,1
    - Dst: wpas_valid_ssid
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2628,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - wpa_s
    - test_bss
    - test_ssid
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_bss*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2629
      start: 2622
    functionDepth: 1
    functionLinenumber: 2622
    functionLinenumberEnd: 2629
    functionName: wpas_valid_bss_ssid
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_valid_ssid
    - wpas_valid_bss
    linkageType: ''
    returnType: int
    signature: "int wpas_valid_bss_ssid(struct wpa_supplicant *wpa_s, struct wpa_bss
      *test_bss,\n\t\t\tstruct wpa_ssid *test_ssid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2636,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - cwork
    argTypes:
    - struct wpa_connect_work*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2637
      start: 2632
    functionDepth: 0
    functionLinenumber: 2632
    functionLinenumberEnd: 2637
    functionName: wpas_connect_work_free
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - os_free
    linkageType: ''
    returnType: void
    signature: void wpas_connect_work_free(struct wpa_connect_work *cwork)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_connect_work_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2651,1
    - Dst: radio_work_done
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2652,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2653
      start: 2640
    functionDepth: 1
    functionLinenumber: 2640
    functionLinenumberEnd: 2653
    functionName: wpas_connect_work_done
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 1
    functionsReached:
    - radio_work_done
    - wpas_connect_work_free
    linkageType: ''
    returnType: void
    signature: void wpas_connect_work_done(struct wpa_supplicant *wpa_s)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2663,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2671,1
    - Dst: os_reltime_expired
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2675,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2679,1
    - Dst: random_mac_addr
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2687,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2691,1
    - Dst: random_mac_addr_keep_oui
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2692,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2697,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2701,1
    - Dst: wpa_drv_set_mac_addr
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2707,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2708,1
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2713,1
    - Dst: wpa_supplicant_update_mac_addr
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2717,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2718,1
    - Dst: wpas_p2p_update_dev_addr
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2723,1
    - Dst: wpas_pr_update_dev_addr
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2724,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2726,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2727,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 3
    argNames:
    - wpa_s
    - style
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - enum wpas_mac_addr_style
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2730
      start: 2656
    functionDepth: 1
    functionLinenumber: 2656
    functionLinenumberEnd: 2730
    functionName: wpas_update_random_addr
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_pr_update_dev_addr
    - os_get_reltime
    - os_memcpy
    - random_mac_addr_keep_oui
    - wpa_drv_set_mac_addr
    - wpas_p2p_update_dev_addr
    - wpa_msg
    - ether_addr_equal
    - MAC2STR
    - wpa_supplicant_update_mac_addr
    - os_reltime_expired
    - random_mac_addr
    linkageType: ''
    returnType: int
    signature: "int wpas_update_random_addr(struct wpa_supplicant *wpa_s,\n\t\t\t
      \   enum wpas_mac_addr_style style,\n\t\t\t    struct wpa_ssid *ssid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_update_random_addr
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2739,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2741
      start: 2733
    functionDepth: 2
    functionLinenumber: 2733
    functionLinenumberEnd: 2741
    functionName: wpas_update_random_addr_disassoc
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 2
    functionsReached:
    - wpas_update_random_addr
    linkageType: ''
    returnType: int
    signature: int wpas_update_random_addr_disassoc(struct wpa_supplicant *wpa_s)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2755,1
    - Dst: wpas_get_ssid_sae_pwe
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2765,1
    - Dst: wpa_key_mgmt_sae
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2768,1
    - Dst: wpa_key_mgmt_sae_ext_key
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2770,1
    - Dst: sae_pk_valid_password
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2772,1
    - Dst: sae_deinit_pt
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2775,1
    - Dst: os_random
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2782,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2785,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2786,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2787,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2798,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2799,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2799,1
    - Dst: sae_deinit_pt
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2804,1
    - Dst: sae_derive_pt
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2807,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2808,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 29
    argCount: 3
    argNames:
    - wpa_s
    - ssid
    - force
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2811
      start: 2744
    functionDepth: 1
    functionLinenumber: 2744
    functionLinenumberEnd: 2811
    functionName: wpa_s_setup_sae_pt
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_key_mgmt_sae
    - sae_derive_pt
    - sae_deinit_pt
    - wpa_key_mgmt_sae_ext_key
    - wpa_hexdump
    - wpabuf_len
    - os_random
    - wpabuf_head
    - os_memcmp
    - sae_pk_valid_password
    - wpas_get_ssid_sae_pwe
    linkageType: ''
    returnType: void
    signature: "void wpa_s_setup_sae_pt(struct wpa_supplicant *wpa_s, struct wpa_ssid
      *ssid,\n\t\t\tbool force)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2817,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2824,1
    - Dst: int_array_add_unique
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2827,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2833
      start: 2814
    functionDepth: 1
    functionLinenumber: 2814
    functionLinenumberEnd: 2833
    functionName: wpa_s_clear_sae_rejected
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpa_printf
    - int_array_add_unique
    linkageType: ''
    returnType: void
    signature: void wpa_s_clear_sae_rejected(struct wpa_supplicant *wpa_s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_set_mac_addr
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2838,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2839,1
    - Dst: wpa_supplicant_update_mac_addr
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2844,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2845,1
    - Dst: wpas_p2p_update_dev_addr
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2850,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2852,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2854
      start: 2836
    functionDepth: 1
    functionLinenumber: 2836
    functionLinenumberEnd: 2854
    functionName: wpas_restore_permanent_mac_addr
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_update_mac_addr
    - wpa_drv_set_mac_addr
    - wpas_p2p_update_dev_addr
    - wpa_msg
    linkageType: ''
    returnType: int
    signature: int wpas_restore_permanent_mac_addr(struct wpa_supplicant *wpa_s)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2881,1
    - Dst: wmm_ac_clear_saved_tspecs
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2892,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2905,1
    - Dst: wmm_ac_save_tspecs
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2909,1
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2914,1
    - Dst: wpa_s_clear_sae_rejected
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2919,1
    - Dst: wpa_s_setup_sae_pt
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2922,1
    - Dst: wpas_update_random_addr
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2926,1
    - Dst: wpa_sm_pmksa_cache_flush
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2932,1
    - Dst: wpas_restore_permanent_mac_addr
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2935,1
    - Dst: ibss_rsn_deinit
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2941,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2946,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2956,1
    - Dst: wpa_supplicant_create_ap
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2960,1
    - Dst: wpa_supplicant_set_state
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2961,1
    - Dst: wpas_p2p_ap_setup_failed
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2963,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2968,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2977,1
    - Dst: wpa_supplicant_join_mesh
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2983,1
    - Dst: wpa_supplicant_set_state
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2984,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2985,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:2990,1
    - Dst: wpa_supplicant_rsn_supp_set_config
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3003,1
    - Dst: wpas_dpp_check_connect
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3006,1
    - Dst: wpa_tdls_ap_ies
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3012,1
    - Dst: wpa_bss_ie_ptr
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3012,1
    - Dst: wpas_mbo_check_pmf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3016,1
    - Dst: sme_authenticate
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3021,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3026,1
    - Dst: radio_work_pending
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3030,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3031,1
    - Dst: wpas_abort_ongoing_scan
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3042,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3044,1
    - Dst: radio_add_work
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3051,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3053,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 109
    argCount: 3
    argNames:
    - wpa_s
    - bss
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_bss*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3055
      start: 2867
    functionDepth: 9
    functionLinenumber: 2867
    functionLinenumberEnd: 3055
    functionName: wpa_supplicant_associate
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 1
    functionsReached:
    - radio_work_pending
    - wpa_sm_pmksa_cache_flush
    - wpa_tdls_ap_ies
    - wpas_mbo_check_pmf
    - radio_add_work
    - wpas_dpp_check_connect
    - wpa_supplicant_join_mesh
    - wpas_p2p_ap_setup_failed
    - os_free
    - sme_authenticate
    - wpa_supplicant_rsn_supp_set_config
    - os_get_reltime
    - wpa_s_clear_sae_rejected
    - wpas_update_random_addr
    - wpas_restore_permanent_mac_addr
    - wpa_dbg
    - wpa_s_setup_sae_pt
    - wpas_abort_ongoing_scan
    - wpa_msg
    - wpabuf_free
    - wpa_supplicant_set_state
    - wmm_ac_clear_saved_tspecs
    - wpa_supplicant_create_ap
    - os_zalloc
    - wpa_bss_ie_ptr
    - wmm_ac_save_tspecs
    - ibss_rsn_deinit
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_associate(struct wpa_supplicant *wpa_s,\n\t\t\t
      \     struct wpa_bss *bss, struct wpa_ssid *ssid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bss
    argTypes:
    - struct wpa_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3062
      start: 3058
    functionDepth: 0
    functionLinenumber: 3058
    functionLinenumberEnd: 3062
    functionName: bss_is_ibss
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int bss_is_ibss(struct wpa_bss *bss)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ieee80211_freq_to_chan
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3073,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - wpa_s
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3087
      start: 3065
    functionDepth: 1
    functionLinenumber: 3065
    functionLinenumberEnd: 3087
    functionName: drv_supports_vht
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - ieee80211_freq_to_chan
    linkageType: ''
    returnType: int
    signature: "int drv_supports_vht(struct wpa_supplicant *wpa_s,\n\t\t\t    const
      struct wpa_ssid *ssid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hw_get_channel_chan
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3097,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - channel
    - mode
    argTypes:
    - int
    - struct hostapd_hw_modes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3104
      start: 3090
    functionDepth: 1
    functionLinenumber: 3090
    functionLinenumberEnd: 3104
    functionName: ibss_mesh_is_80mhz_avail
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - hw_get_channel_chan
    linkageType: ''
    returnType: bool
    signature: bool ibss_mesh_is_80mhz_avail(int channel, struct hostapd_hw_modes
      *mode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bss_is_ibss
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3115,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3119,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - wpa_s
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3123
      start: 3107
    functionDepth: 1
    functionLinenumber: 3107
    functionLinenumberEnd: 3123
    functionName: ibss_find_existing_bss
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - os_memcmp
    - bss_is_ibss
    linkageType: ''
    returnType: struct wpa_bss
    signature: "struct wpa_bss * ibss_find_existing_bss(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \      const struct wpa_ssid *ssid)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3138,1
    - Dst: ht_supported
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3143,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - wpa_s
    - ssid
    - mode
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    - struct hostapd_hw_modes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3152
      start: 3126
    functionDepth: 1
    functionLinenumber: 3126
    functionLinenumberEnd: 3152
    functionName: ibss_mesh_can_use_ht
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - ht_supported
    linkageType: ''
    returnType: bool
    signature: "bool ibss_mesh_can_use_ht(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      const struct wpa_ssid *ssid,\n\t\t\t\t struct hostapd_hw_modes *mode)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: drv_supports_vht
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3162,1
    - Dst: vht_supported
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3170,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - wpa_s
    - ssid
    - mode
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    - struct hostapd_hw_modes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3179
      start: 3155
    functionDepth: 2
    functionLinenumber: 3155
    functionLinenumberEnd: 3179
    functionName: ibss_mesh_can_use_vht
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - vht_supported
    - drv_supports_vht
    linkageType: ''
    returnType: bool
    signature: "bool ibss_mesh_can_use_vht(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \ const struct wpa_ssid *ssid,\n\t\t\t\t  struct hostapd_hw_modes *mode)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - wpa_s
    - ssid
    - mode
    - ieee80211_mode
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    - struct hostapd_hw_modes*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3200
      start: 3182
    functionDepth: 0
    functionLinenumber: 3182
    functionLinenumberEnd: 3200
    functionName: ibss_mesh_can_use_he
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool ibss_mesh_can_use_he(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      const struct wpa_ssid *ssid,\n\t\t\t\t const struct hostapd_hw_modes *mode,\n\t\t\t\t
      int ieee80211_mode)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - wpa_s
    - ssid
    - mode
    - ieee80211_mode
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    - struct hostapd_hw_modes*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3219
      start: 3203
    functionDepth: 0
    functionLinenumber: 3203
    functionLinenumberEnd: 3219
    functionName: ibss_mesh_can_use_eht
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool ibss_mesh_can_use_eht(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \ const struct wpa_ssid *ssid,\n\t\t\t\t  const struct hostapd_hw_modes *mode,\n\t\t\t\t
      \ int ieee80211_mode)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3267,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3274,1
    - Dst: wpa_supplicant_get_scan_results
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3310,1
    - Dst: check_40mhz_5g
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3318,1
    - Dst: hw_get_freq
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3329,1
    - Dst: wpa_scan_results_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3338,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3341,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 75
    argCount: 6
    argNames:
    - wpa_s
    - ssid
    - mode
    - freq
    - obss_scan
    - is_6ghz
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    - struct hostapd_hw_modes*
    - struct hostapd_freq_params*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3344
      start: 3222
    functionDepth: 6
    functionLinenumber: 3222
    functionLinenumberEnd: 3344
    functionName: ibss_mesh_select_40mhz
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - hw_get_freq
    - wpa_printf
    - wpa_scan_results_free
    - check_40mhz_5g
    - wpa_supplicant_get_scan_results
    - ARRAY_SIZE
    linkageType: ''
    returnType: void
    signature: "void ibss_mesh_select_40mhz(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \  const struct wpa_ssid *ssid,\n\t\t\t\t   struct hostapd_hw_modes *mode,\n\t\t\t\t
      \  struct hostapd_freq_params *freq,\n\t\t\t\t   int obss_scan, bool is_6ghz)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 1
    argNames:
    - channel
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3365
      start: 3347
    functionDepth: 0
    functionLinenumber: 3347
    functionLinenumberEnd: 3365
    functionName: ibss_get_center_320mhz
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ibss_get_center_320mhz(int channel)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3415,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3421,1
    - Dst: ieee80211_freq_to_chan
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3422,1
    - Dst: ibss_mesh_is_80mhz_avail
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3426,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3433,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3444,1
    - Dst: ibss_mesh_is_80mhz_avail
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3468,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3469,1
    - Dst: ieee80211_freq_to_chan
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3475,1
    - Dst: ibss_mesh_is_80mhz_avail
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3490,1
    - Dst: ibss_mesh_is_80mhz_avail
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3492,1
    - Dst: ibss_mesh_is_80mhz_avail
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3494,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3496,1
    - Dst: ibss_get_center_320mhz
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3500,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3508,1
    - Dst: abs
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3510,1
    - Dst: ieee80211_freq_to_chan
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3513,1
    - Dst: hw_get_channel_chan
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3520,1
    - Dst: hostapd_set_freq_params
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3571,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3576,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 109
    argCount: 6
    argNames:
    - wpa_s
    - ssid
    - mode
    - freq
    - ieee80211_mode
    - is_6ghz
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    - struct hostapd_hw_modes*
    - struct hostapd_freq_params*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3579
      start: 3368
    functionDepth: 2
    functionLinenumber: 3368
    functionLinenumberEnd: 3579
    functionName: ibss_mesh_select_80_160mhz
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    - hw_get_channel_chan
    - ieee80211_freq_to_chan
    - wpa_printf
    - hostapd_set_freq_params
    - ibss_mesh_is_80mhz_avail
    - ibss_get_center_320mhz
    - abs
    linkageType: ''
    returnType: bool
    signature: "bool ibss_mesh_select_80_160mhz(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \      const struct wpa_ssid *ssid,\n\t\t\t\t       struct hostapd_hw_modes
      *mode,\n\t\t\t\t       struct hostapd_freq_params *freq,\n\t\t\t\t       int
      ieee80211_mode, bool is_6ghz)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpas_mode_to_ieee80211_mode
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3586,1
    - Dst: ibss_find_existing_bss
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3596,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3599,1
    - Dst: ieee80211_freq_to_chan
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3607,1
    - Dst: get_mode
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3608,1
    - Dst: is_6ghz_freq
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3609,1
    - Dst: is_6ghz_freq
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3617,1
    - Dst: ibss_mesh_can_use_ht
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3625,1
    - Dst: ibss_mesh_can_use_vht
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3627,1
    - Dst: ibss_mesh_can_use_he
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3629,1
    - Dst: ibss_mesh_select_40mhz
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3634,1
    - Dst: ibss_mesh_select_80_160mhz
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3636,1
    - Dst: ibss_mesh_can_use_eht
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3642,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 3
    argNames:
    - wpa_s
    - ssid
    - freq
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    - struct hostapd_freq_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3644
      start: 3582
    functionDepth: 7
    functionLinenumber: 3582
    functionLinenumberEnd: 3644
    functionName: ibss_mesh_setup_freq
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - get_mode
    - is_6ghz_freq
    - ibss_mesh_can_use_ht
    - wpas_mode_to_ieee80211_mode
    - ibss_find_existing_bss
    - ibss_mesh_select_80_160mhz
    - ibss_mesh_select_40mhz
    - ibss_mesh_can_use_eht
    - ibss_mesh_can_use_he
    - ibss_mesh_can_use_vht
    - ieee80211_freq_to_chan
    linkageType: ''
    returnType: void
    signature: "void ibss_mesh_setup_freq(struct wpa_supplicant *wpa_s,\n\t\t\t  const
      struct wpa_ssid *ssid,\n\t\t\t  struct hostapd_freq_params *freq)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3656,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3659,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3661,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3664,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3679,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3682,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3685,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3688,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3702,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 41
    argCount: 3
    argNames:
    - wpa_s
    - ie_buf
    - ie_buf_len
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3713
      start: 3648
    functionDepth: 1
    functionLinenumber: 3648
    functionLinenumberEnd: 3713
    functionName: wpas_add_fils_hlp_req
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpabuf_len
    - wpabuf_head
    - dl_list_for_each
    linkageType: ''
    returnType: size_t
    signature: "size_t wpas_add_fils_hlp_req(struct wpa_supplicant *wpa_s, u8 *ie_buf,\n\t\t\t\t
      \   size_t ie_buf_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3722
      start: 3716
    functionDepth: 0
    functionLinenumber: 3716
    functionLinenumberEnd: 3722
    functionName: wpa_is_fils_supported
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpa_is_fils_supported(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3733
      start: 3725
    functionDepth: 0
    functionLinenumber: 3725
    functionLinenumberEnd: 3733
    functionName: wpa_is_fils_sk_pfs_supported
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpa_is_fils_sk_pfs_supported(struct wpa_supplicant *wpa_s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_bss_get_vendor_ie
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3746,1
    - Dst: wpa_bss_get_vendor_ie_beacon
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3748,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - bss
    argTypes:
    - struct wpa_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3758
      start: 3738
    functionDepth: 1
    functionLinenumber: 3738
    functionLinenumberEnd: 3758
    functionName: wpa_is_non_eht_scs_traffic_desc_supported
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_bss_get_vendor_ie
    - wpa_bss_get_vendor_ie_beacon
    linkageType: ''
    returnType: bool
    signature: bool wpa_is_non_eht_scs_traffic_desc_supported(struct wpa_bss *bss)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3769,1
    - Dst: wpa_is_non_eht_scs_traffic_desc_supported
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3775,1
    - Dst: wpas_wfa_gen_capab_attr
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3782,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3794,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3795,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3797,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3801,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3802,1
    - Dst: wpabuf_put_be24
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3803,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3804,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3805,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3806,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3808,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3809,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3811,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3813,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3815,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3815,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3820,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 5
    argNames:
    - wpa_s
    - bss
    - wpa_ie
    - wpa_ie_len
    - max_wpa_ie_len
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_bss*
    - u8*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3822
      start: 3761
    functionDepth: 2
    functionLinenumber: 3761
    functionLinenumberEnd: 3822
    functionName: wpas_populate_wfa_capa
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_wfa_gen_capab_attr
    - os_memcpy
    - wpa_is_non_eht_scs_traffic_desc_supported
    - wpabuf_put_u8
    - wpabuf_put_data
    - wpabuf_len
    - wpa_hexdump_buf
    - wpabuf_free
    - wpabuf_head
    - wpabuf_alloc
    - wpabuf_put_buf
    - wpabuf_put_be24
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpas_populate_wfa_capa(struct wpa_supplicant *wpa_s, struct wpa_bss
      *bss,\n\t\t\t   u8 *wpa_ie, size_t wpa_ie_len, size_t max_wpa_ie_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_key_mgmt_wpa_ieee8021x
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3835,1
    - Dst: wpa_key_mgmt_wpa_ieee8021x
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3844,1
    - Dst: wpa_bss_get_ie
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3848,1
    - Dst: ieee802_11_rsnx_capab
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3849,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3851,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - wpa_s
    - bss
    - ssid
    - params
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_bss*
    - struct wpa_ssid*
    - struct wpa_driver_associate_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3857
      start: 3826
    functionDepth: 1
    functionLinenumber: 3826
    functionLinenumberEnd: 3857
    functionName: wpas_set_802_1x_auth_alg
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - ieee802_11_rsnx_capab
    - wpa_bss_get_ie
    - wpa_key_mgmt_wpa_ieee8021x
    - wpa_dbg
    linkageType: ''
    returnType: bool
    signature: "bool wpas_set_802_1x_auth_alg(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \    struct wpa_bss *bss,\n\t\t\t\t     struct wpa_ssid *ssid,\n\t\t\t\t     struct
      wpa_driver_associate_params *params)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3870,1
    - Dst: wpa_bss_get_rsnxe
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3875,1
    - Dst: ieee802_11_rsnx_capab
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3877,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3878,1
    - Dst: ieee802_11_rsnx_capab
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3882,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3884,1
    - Dst: ieee802_11_rsnx_capab
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3890,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3891,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - wpa_s
    - bss
    - unauth_eppke
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_bss*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3897
      start: 3863
    functionDepth: 1
    functionLinenumber: 3863
    functionLinenumberEnd: 3897
    functionName: wpas_eppke_ap_capable
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_bss_get_rsnxe
    - wpa_printf
    - ieee802_11_rsnx_capab
    linkageType: ''
    returnType: bool
    signature: "bool wpas_eppke_ap_capable(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \ struct wpa_bss *bss, bool unauth_eppke)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_key_mgmt_eppke
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3908,1
    - Dst: wpa_bss_get_rsne
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3917,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3919,1
    - Dst: wpa_parse_wpa_ie
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3924,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3925,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3930,1
    - Dst: wpa_key_mgmt_eppke
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3935,1
    - Dst: wpa_key_mgmt_sae_ext_key
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3936,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3937,1
    - Dst: wpas_eppke_ap_capable
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3942,1
    - Dst: wpa_key_mgmt_eppke
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3943,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3944,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:3949,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 4
    argNames:
    - wpa_s
    - bss
    - ssid
    - params
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_bss*
    - struct wpa_ssid*
    - struct wpa_driver_associate_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3952
      start: 3900
    functionDepth: 2
    functionLinenumber: 3900
    functionLinenumberEnd: 3952
    functionName: wpas_set_eppke_auth_alg
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_key_mgmt_sae_ext_key
    - wpas_eppke_ap_capable
    - wpa_key_mgmt_eppke
    - wpa_parse_wpa_ie
    - wpa_bss_get_rsne
    - wpa_dbg
    linkageType: ''
    returnType: bool
    signature: "bool wpas_set_eppke_auth_alg(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \   struct wpa_bss *bss,\n\t\t\t\t    struct wpa_ssid *ssid,\n\t\t\t\t    struct
      wpa_driver_associate_params *params)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:4537,1
    - Dst: wpas_populate_assoc_ies
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:4538,1
    - Dst: wpa_drv_update_connect_params
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:4543,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:4544,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4545
      start: 4532
    functionDepth: 1
    functionLinenumber: 4532
    functionLinenumberEnd: 4545
    functionName: wpas_update_owe_connect_params
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 1
    functionsReached:
    - os_free
    - wpa_drv_update_connect_params
    - wpas_populate_assoc_ies
    - os_memset
    linkageType: ''
    returnType: void
    signature: void wpas_update_owe_connect_params(struct wpa_supplicant *wpa_s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:4559,1
    - Dst: wpas_populate_assoc_ies
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:4560,1
    - Dst: wpa_drv_update_connect_params
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:4567,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:4570,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4571
      start: 4550
    functionDepth: 1
    functionLinenumber: 4550
    functionLinenumberEnd: 4571
    functionName: wpas_update_fils_connect_params
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 1
    functionsReached:
    - os_free
    - wpa_drv_update_connect_params
    - wpas_populate_assoc_ies
    - os_memset
    linkageType: ''
    returnType: void
    signature: void wpas_update_fils_connect_params(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - edmg_ie
    argTypes:
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4580
      start: 4575
    functionDepth: 0
    functionLinenumber: 4575
    functionLinenumberEnd: 4580
    functionName: wpa_ie_get_edmg_oper_chans
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 wpa_ie_get_edmg_oper_chans(const u8 *edmg_ie)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - edmg_ie
    argTypes:
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4588
      start: 4583
    functionDepth: 0
    functionLinenumber: 4583
    functionLinenumberEnd: 4588
    functionName: wpa_ie_get_edmg_oper_chan_width
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 wpa_ie_get_edmg_oper_chan_width(const u8 *edmg_ie)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:4608,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:4614,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:4615,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:4623,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:4642,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 3
    argNames:
    - a
    - b
    - primary_channel
    argTypes:
    - struct ieee80211_edmg_config
    - struct ieee80211_edmg_config
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4654
      start: 4597
    functionDepth: 0
    functionLinenumber: 4597
    functionLinenumberEnd: 4654
    functionName: get_edmg_intersection
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - BIT
    linkageType: ''
    returnType: struct ieee80211_edmg_config
    signature: "struct ieee80211_edmg_config get_edmg_intersection(struct ieee80211_edmg_config
      a,\n\t\t      struct ieee80211_edmg_config b,\n\t\t      u8 primary_channel)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ieee80211_freq_to_chan
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:4669,1
    - Dst: get_mode
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:4673,1
    - Dst: get_edmg_intersection
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:4677,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - wpa_s
    - freq
    - request_edmg
    argTypes:
    - struct wpa_supplicant*
    - struct hostapd_freq_params*
    - struct ieee80211_edmg_config
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4683
      start: 4657
    functionDepth: 1
    functionLinenumber: 4657
    functionLinenumberEnd: 4683
    functionName: get_supported_edmg
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - get_mode
    - get_edmg_intersection
    - ieee80211_freq_to_chan
    linkageType: ''
    returnType: struct ieee80211_edmg_config
    signature: "struct ieee80211_edmg_config get_supported_edmg(struct wpa_supplicant
      *wpa_s,\n\t\t   struct hostapd_freq_params *freq,\n\t\t   struct ieee80211_edmg_config
      request_edmg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_bss_get_vendor_ie
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:4699,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:4702,1
    - Dst: wpas_populate_assoc_ies
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:4703,1
    - Dst: wpa_drv_update_connect_params
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:4708,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:4709,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4710
      start: 4687
    functionDepth: 1
    functionLinenumber: 4687
    functionLinenumberEnd: 4710
    functionName: wpas_update_mbo_connect_params
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_drv_update_connect_params
    - os_free
    - wpa_bss_get_vendor_ie
    - wpas_populate_assoc_ies
    - os_memset
    linkageType: ''
    returnType: void
    signature: void wpas_update_mbo_connect_params(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_connect_work_done
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5270,1
    - Dst: wpa_clear_keys
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5271,1
    - Dst: wpa_supplicant_mark_disassoc
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5273,1
    - Dst: wpa_sm_set_config
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5274,1
    - Dst: eapol_sm_notify_config
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5275,1
    - Dst: wpas_notify_network_changed
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5277,1
    - Dst: wpas_scs_deinit
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5280,1
    - Dst: wpas_dscp_deinit
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5281,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - wpa_s
    - addr
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5284
      start: 5263
    functionDepth: 2
    functionLinenumber: 5263
    functionLinenumberEnd: 5284
    functionName: wpa_supplicant_clear_connection
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - eapol_sm_notify_config
    - wpas_dscp_deinit
    - wpas_scs_deinit
    - eloop_cancel_timeout
    - wpas_notify_network_changed
    - wpas_connect_work_done
    - wpa_sm_set_config
    - wpa_clear_keys
    - wpa_supplicant_mark_disassoc
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_clear_connection(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \   const u8 *addr)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5302,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5305,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5305,1
    - Dst: reason2str
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5306,1
    - Dst: wpa_supplicant_state_txt
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5307,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5308,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5310,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5312,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5316,1
    - Dst: wpa_drv_set_4addr_mode
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5329,1
    - Dst: wpa_tdls_teardown_peers
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5333,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5341,1
    - Dst: wpas_notify_mesh_group_removed
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5343,1
    - Dst: wpa_supplicant_leave_mesh
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5345,1
    - Dst: wpa_drv_deauthenticate
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5350,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5351,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5354,1
    - Dst: wpa_supplicant_clear_connection
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5359,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 2
    argNames:
    - wpa_s
    - reason_code
    argTypes:
    - struct wpa_supplicant*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5360
      start: 5295
    functionDepth: 3
    functionLinenumber: 5295
    functionLinenumberEnd: 5360
    functionName: wpa_supplicant_deauthenticate
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 2
    functionsReached:
    - wpa_supplicant_event
    - wpa_msg
    - wpa_supplicant_clear_connection
    - is_zero_ether_addr
    - wpa_drv_deauthenticate
    - wpas_notify_mesh_group_removed
    - wpa_supplicant_state_txt
    - MAC2STR
    - wpa_dbg
    - wpa_tdls_teardown_peers
    - wpa_drv_set_4addr_mode
    - reason2str
    - wpa_supplicant_leave_mesh
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_deauthenticate(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \  u16 reason_code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_supplicant_deauthenticate
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5368
      start: 5363
    functionDepth: 4
    functionLinenumber: 5363
    functionLinenumberEnd: 5368
    functionName: wpa_supplicant_reconnect
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_deauthenticate
    linkageType: ''
    returnType: void
    signature: void wpa_supplicant_reconnect(struct wpa_supplicant *wpa_s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpas_clear_temp_disabled
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5379,1
    - Dst: wpas_notify_network_enabled_changed
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5380,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - wpa_s
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5388
      start: 5371
    functionDepth: 1
    functionLinenumber: 5371
    functionLinenumberEnd: 5388
    functionName: wpa_supplicant_enable_one_network
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_notify_network_enabled_changed
    - wpas_clear_temp_disabled
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_enable_one_network(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \     struct wpa_ssid *ssid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_add_network
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5406,1
    - Dst: wpas_notify_network_added
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5409,1
    - Dst: wpa_config_set_network_defaults
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5411,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5414
      start: 5402
    functionDepth: 1
    functionLinenumber: 5402
    functionLinenumberEnd: 5414
    functionName: wpa_supplicant_add_network
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_config_set_network_defaults
    - wpa_config_add_network
    - wpas_notify_network_added
    linkageType: ''
    returnType: struct wpa_ssid
    signature: struct wpa_ssid * wpa_supplicant_add_network(struct wpa_supplicant
      *wpa_s)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_get_network
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5435,1
    - Dst: wpas_notify_network_removed
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5438,1
    - Dst: radio_remove_pending_connect
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5439,1
    - Dst: eapol_sm_invalidate_cached_session
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5449,1
    - Dst: wpa_sm_set_config
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5453,1
    - Dst: eapol_sm_notify_config
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5454,1
    - Dst: wpa_supplicant_deauthenticate
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5458,1
    - Dst: wpa_config_remove_network
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5464,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5468,1
    - Dst: wpa_supplicant_cancel_sched_scan
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5470,1
    - Dst: wpa_supplicant_req_scan
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5471,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - wpa_s
    - id
    argTypes:
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5475
      start: 5430
    functionDepth: 4
    functionLinenumber: 5430
    functionLinenumberEnd: 5475
    functionName: wpa_supplicant_remove_network
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_cancel_sched_scan
    - wpa_printf
    - wpa_config_remove_network
    - eapol_sm_notify_config
    - wpa_supplicant_req_scan
    - wpa_sm_set_config
    - wpas_notify_network_removed
    - wpa_supplicant_deauthenticate
    - radio_remove_pending_connect
    - wpa_config_get_network
    - eapol_sm_invalidate_cached_session
    linkageType: ''
    returnType: int
    signature: int wpa_supplicant_remove_network(struct wpa_supplicant *wpa_s, int
      id)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_flush_pmkid
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5496,1
    - Dst: wpa_supplicant_cancel_sched_scan
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5499,1
    - Dst: eapol_sm_invalidate_cached_session
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5501,1
    - Dst: wpa_sm_set_config
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5506,1
    - Dst: eapol_sm_notify_config
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5507,1
    - Dst: wpa_supplicant_deauthenticate
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5510,1
    - Dst: wpas_notify_network_removed
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5520,1
    - Dst: wpa_config_remove_network
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5521,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5524
      start: 5489
    functionDepth: 4
    functionLinenumber: 5489
    functionLinenumberEnd: 5524
    functionName: wpa_supplicant_remove_all_networks
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_cancel_sched_scan
    - wpa_config_remove_network
    - eapol_sm_notify_config
    - wpa_drv_flush_pmkid
    - wpa_sm_set_config
    - wpas_notify_network_removed
    - wpa_supplicant_deauthenticate
    - eapol_sm_invalidate_cached_session
    linkageType: ''
    returnType: int
    signature: int wpa_supplicant_remove_all_networks(struct wpa_supplicant *wpa_s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_supplicant_enable_one_network
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5539,1
    - Dst: wpa_supplicant_enable_one_network
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5541,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5548,1
    - Dst: wpa_supplicant_cancel_sched_scan
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5550,1
    - Dst: wpa_supplicant_fast_associate
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5553,1
    - Dst: wpa_supplicant_req_scan
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5555,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 2
    argNames:
    - wpa_s
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5558
      start: 5534
    functionDepth: 3
    functionLinenumber: 5534
    functionLinenumberEnd: 5558
    functionName: wpa_supplicant_enable_network
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_cancel_sched_scan
    - wpa_printf
    - wpa_supplicant_req_scan
    - wpa_supplicant_fast_associate
    - wpa_supplicant_enable_one_network
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_enable_network(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \  struct wpa_ssid *ssid)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: wpa_supplicant_cancel_sched_scan
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5576,1
    - Dst: wpas_notify_network_enabled_changed
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5588,1
    - Dst: wpa_supplicant_deauthenticate
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5594,1
    - Dst: wpa_supplicant_deauthenticate
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5601,1
    - Dst: wpas_notify_network_enabled_changed
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5610,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5612,1
    - Dst: wpa_supplicant_cancel_sched_scan
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5614,1
    - Dst: wpa_supplicant_req_scan
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5615,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 2
    argNames:
    - wpa_s
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5619
      start: 5568
    functionDepth: 4
    functionLinenumber: 5568
    functionLinenumberEnd: 5619
    functionName: wpa_supplicant_disable_network
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_cancel_sched_scan
    - wpa_printf
    - wpa_supplicant_req_scan
    - wpas_notify_network_enabled_changed
    - wpa_supplicant_deauthenticate
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_disable_network(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \   struct wpa_ssid *ssid)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5634,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - wpa_s
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5640
      start: 5622
    functionDepth: 0
    functionLinenumber: 5622
    functionLinenumberEnd: 5640
    functionName: ssid_in_last_scan
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - os_memcmp
    linkageType: ''
    returnType: bool
    signature: "bool ssid_in_last_scan(struct wpa_supplicant *wpa_s,\n\t\t\t      struct
      wpa_ssid *ssid)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5658,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - wpa_s
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5664
      start: 5649
    functionDepth: 0
    functionLinenumber: 5649
    functionLinenumberEnd: 5664
    functionName: ssid_in_last_scan_res
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - os_memcmp
    linkageType: ''
    returnType: bool
    signature: "bool ssid_in_last_scan_res(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \ struct wpa_ssid *ssid)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: wpa_supplicant_deauthenticate
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5683,1
    - Dst: wpas_clear_temp_disabled
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5689,1
    - Dst: wpas_clear_temp_disabled
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5703,1
    - Dst: wpas_notify_network_enabled_changed
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5706,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5712,1
    - Dst: eapol_sm_notify_config
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5719,1
    - Dst: ssid_in_last_scan
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5725,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5726,1
    - Dst: ssid_in_last_scan_res
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5728,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5729,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5733,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5740,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5749,1
    - Dst: wpa_s_clear_sae_rejected
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5757,1
    - Dst: wpa_s_setup_sae_pt
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5761,1
    - Dst: wpa_supplicant_fast_associate
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5765,1
    - Dst: wpas_scan_reset_sched_scan
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5767,1
    - Dst: wpa_supplicant_req_scan
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5768,1
    - Dst: wpas_notify_network_selected
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5772,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 61
    argCount: 2
    argNames:
    - wpa_s
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5773
      start: 5672
    functionDepth: 4
    functionLinenumber: 5672
    functionLinenumberEnd: 5773
    functionName: wpa_supplicant_select_network
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - ssid_in_last_scan_res
    - eapol_sm_notify_config
    - wpas_clear_temp_disabled
    - wpa_supplicant_req_scan
    - wpa_s_clear_sae_rejected
    - wpa_supplicant_fast_associate
    - wpas_notify_network_selected
    - wpas_notify_network_enabled_changed
    - wpa_supplicant_deauthenticate
    - wpas_scan_reset_sched_scan
    - os_free
    - ssid_in_last_scan
    - wpa_s_setup_sae_pt
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_select_network(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \  struct wpa_ssid *ssid)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5789,1
    - Dst: wpa_config_remove_cred
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5794,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5795,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5799,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5807,1
    - Dst: wpa_supplicant_remove_network
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5810,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5812,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - wpa_s
    - cred
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_cred*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5822
      start: 5783
    functionDepth: 5
    functionLinenumber: 5783
    functionLinenumberEnd: 5822
    functionName: wpas_remove_cred
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_remove_network
    - wpa_printf
    - wpa_msg
    - wpa_config_remove_cred
    linkageType: ''
    returnType: int
    signature: int wpas_remove_cred(struct wpa_supplicant *wpa_s, struct wpa_cred
      *cred)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_remove_cred
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5839,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5841,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5849
      start: 5830
    functionDepth: 6
    functionLinenumber: 5830
    functionLinenumberEnd: 5849
    functionName: wpas_remove_all_creds
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_remove_cred
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int wpas_remove_all_creds(struct wpa_supplicant *wpa_s)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5871,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5876,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5878,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5884,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5888,1
    - Dst: wpa_sm_set_eapol
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5892,1
    - Dst: eapol_sm_deinit
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5893,1
    - Dst: wpa_supplicant_init_eapol
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5895,1
    - Dst: wpas_set_pkcs11_engine_and_module_path
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5898,1
    - Dst: wpa_sm_set_eapol
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5903,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 3
    argNames:
    - wpa_s
    - pkcs11_engine_path
    - pkcs11_module_path
    argTypes:
    - struct wpa_supplicant*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5906
      start: 5863
    functionDepth: 1
    functionLinenumber: 5863
    functionLinenumberEnd: 5906
    functionName: wpas_set_pkcs11_engine_and_module_path
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 1
    functionsReached:
    - os_strdup
    - wpas_set_pkcs11_engine_and_module_path
    - eapol_sm_deinit
    - wpa_supplicant_init_eapol
    - os_free
    - wpa_sm_set_eapol
    linkageType: ''
    returnType: int
    signature: "int wpas_set_pkcs11_engine_and_module_path(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \  const char *pkcs11_engine_path,\n\t\t\t\t\t   const char *pkcs11_module_path)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5924,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5925,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5933,1
    - Dst: wpas_notify_ap_scan_changed
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5943,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 2
    argNames:
    - wpa_s
    - ap_scan
    argTypes:
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5946
      start: 5916
    functionDepth: 1
    functionLinenumber: 5916
    functionLinenumberEnd: 5946
    functionName: wpa_supplicant_set_ap_scan
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_notify_ap_scan_changed
    - wpa_printf
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: int wpa_supplicant_set_ap_scan(struct wpa_supplicant *wpa_s, int ap_scan)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5960,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5964,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - wpa_s
    - bss_expire_age
    argTypes:
    - struct wpa_supplicant*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5969
      start: 5956
    functionDepth: 0
    functionLinenumber: 5956
    functionLinenumberEnd: 5969
    functionName: wpa_supplicant_set_bss_expiration_age
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_msg
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_set_bss_expiration_age(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \ unsigned int bss_expire_age)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5983,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:5987,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - wpa_s
    - bss_expire_count
    argTypes:
    - struct wpa_supplicant*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5992
      start: 5979
    functionDepth: 0
    functionLinenumber: 5979
    functionLinenumberEnd: 5992
    functionName: wpa_supplicant_set_bss_expiration_count
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_msg
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_set_bss_expiration_count(struct wpa_supplicant
      *wpa_s,\n\t\t\t\t\t    unsigned int bss_expire_count)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6006,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6010,1
    - Dst: wpa_supplicant_update_scan_int
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6012,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - wpa_s
    - scan_interval
    argTypes:
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6015
      start: 6002
    functionDepth: 2
    functionLinenumber: 6002
    functionLinenumberEnd: 6015
    functionName: wpa_supplicant_set_scan_interval
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_update_scan_int
    - wpa_msg
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_set_scan_interval(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \    int scan_interval)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpas_notify_debug_level_changed
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6050,1
    - Dst: wpas_notify_debug_timestamp_changed
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6052,1
    - Dst: wpas_notify_debug_show_keys_changed
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6054,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 4
    argNames:
    - global
    - debug_level
    - debug_timestamp
    - debug_show_keys
    argTypes:
    - struct wpa_global*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6057
      start: 6026
    functionDepth: 1
    functionLinenumber: 6026
    functionLinenumberEnd: 6057
    functionName: wpa_supplicant_set_debug_params
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_notify_debug_level_changed
    - wpas_notify_debug_timestamp_changed
    - wpas_notify_debug_show_keys_changed
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_set_debug_params(struct wpa_global *global, int
      debug_level,\n\t\t\t\t    int debug_timestamp, int debug_show_keys)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_bss_get_bssid_latest
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6071,1
    - Dst: wpa_bss_get_vendor_ie
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6075,1
    - Dst: wpas_get_owe_trans_network
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6079,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6084,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - wpa_s
    - bssid
    - entry_ssid
    - entry_ssid_len
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6085
      start: 6061
    functionDepth: 1
    functionLinenumber: 6061
    functionLinenumberEnd: 6085
    functionName: owe_trans_ssid_match
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_bss_get_vendor_ie
    - wpas_get_owe_trans_network
    - os_memcmp
    - wpa_bss_get_bssid_latest
    linkageType: ''
    returnType: int
    signature: "int owe_trans_ssid_match(struct wpa_supplicant *wpa_s, const u8 *bssid,\n\t\t\t\tconst
      u8 *entry_ssid, size_t entry_ssid_len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_get_ssid
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6103,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6105,1
    - Dst: wpa_drv_get_bssid
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6111,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6112,1
    - Dst: wpas_network_disabled
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6122,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6125,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6128,1
    - Dst: wpas_network_disabled
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6131,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6135,1
    - Dst: wpas_network_disabled
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6140,1
    - Dst: owe_trans_ssid_match
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6142,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6145,1
    - Dst: wpas_network_disabled
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6149,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6151,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 25
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6158
      start: 6094
    functionDepth: 2
    functionLinenumber: 6094
    functionLinenumberEnd: 6158
    functionName: wpa_supplicant_get_ssid
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 1
    functionsReached:
    - wpa_msg
    - ether_addr_equal
    - wpa_drv_get_bssid
    - os_memcmp
    - owe_trans_ssid_match
    - wpa_drv_get_ssid
    - wpas_network_disabled
    linkageType: ''
    returnType: struct wpa_ssid
    signature: struct wpa_ssid * wpa_supplicant_get_ssid(struct wpa_supplicant *wpa_s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6166,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6168,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - wpa_s
    - i
    argTypes:
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6178
      start: 6161
    functionDepth: 0
    functionLinenumber: 6161
    functionLinenumberEnd: 6178
    functionName: select_driver
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - global_init
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int select_driver(struct wpa_supplicant *wpa_s, int i)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6192,1
    - Dst: select_driver
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6200,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6208,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6212,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6215,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6216,1
    - Dst: select_driver
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6219,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6227,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 2
    argNames:
    - wpa_s
    - name
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6229
      start: 6181
    functionDepth: 1
    functionLinenumber: 6181
    functionLinenumberEnd: 6229
    functionName: wpa_supplicant_set_driver
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_msg
    - os_strncmp
    - select_driver
    - os_strchr
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_set_driver(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \    const char *name)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6255,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6256,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6257,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6260,1
    - Dst: wpa_msg_ctrl
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6266,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6267,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6269,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6280,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6293,1
    - Dst: wpa_supplicant_state_txt
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6296,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6297,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6299,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6300,1
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6302,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6303,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6311,1
    - Dst: wpa_supplicant_ap_rx_eapol
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6315,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6322,1
    - Dst: wpa_key_mgmt_wpa_psk
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6329,1
    - Dst: wpa_key_mgmt_wpa_ieee8021x
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6336,1
    - Dst: eap_is_wps_pin_enrollee
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6346,1
    - Dst: wpa_bss_get_vendor_ie_multi
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6354,1
    - Dst: wps_is_addr_authorized
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6357,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6359,1
    - Dst: wpa_supplicant_req_auth_timeout
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6363,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6368,1
    - Dst: ibss_rsn_rx_eapol
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6376,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6388,1
    - Dst: wpa_key_mgmt_wpa_psk
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6389,1
    - Dst: eapol_sm_rx_eapol
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6392,1
    - Dst: wpa_drv_poll
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6395,1
    - Dst: wpa_sm_rx_eapol
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6397,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6405,1
    - Dst: wpa_supplicant_state_txt
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6408,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6409,1
    - Dst: wpa_key_mgmt_wpa_ieee8021x
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6412,1
    - Dst: eapol_sm_notify_portValid
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6419,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 69
    argCount: 5
    argNames:
    - ctx
    - src_addr
    - buf
    - len
    - encrypted
    argTypes:
    - void*
    - u8*
    - u8*
    - size_t
    - enum frame_encryption
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6421
      start: 6247
    functionDepth: 2
    functionLinenumber: 6247
    functionLinenumberEnd: 6421
    functionName: wpa_supplicant_rx_eapol
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_hexdump
    - wps_is_addr_authorized
    - wpa_supplicant_ap_rx_eapol
    - wpa_key_mgmt_wpa_psk
    - wpa_bss_get_vendor_ie_multi
    - wpa_printf
    - ether_addr_equal
    - eapol_sm_notify_portValid
    - wpa_msg_ctrl
    - ibss_rsn_rx_eapol
    - eapol_sm_rx_eapol
    - os_get_reltime
    - wpa_supplicant_req_auth_timeout
    - wpabuf_alloc_copy
    - wpa_supplicant_state_txt
    - wpa_dbg
    - wpa_sm_rx_eapol
    - os_memcpy
    - wpa_msg
    - wpabuf_free
    - MAC2STR
    - eap_is_wps_pin_enrollee
    - wpa_key_mgmt_wpa_ieee8021x
    - wpa_drv_poll
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_rx_eapol(void *ctx, const u8 *src_addr,\n\t\t\t
      \    const u8 *buf, size_t len,\n\t\t\t     enum frame_encryption encrypted)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_supplicant_rx_eapol
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - src_addr
    - buf
    - len
    argTypes:
    - void*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6429
      start: 6424
    functionDepth: 0
    functionLinenumber: 6424
    functionLinenumberEnd: 6429
    functionName: wpa_supplicant_rx_eapol_cb
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_rx_eapol
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_rx_eapol_cb(void *ctx, const u8 *src_addr,\n\t\t\t\t
      \      const u8 *buf, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6436
      start: 6432
    functionDepth: 0
    functionLinenumber: 6432
    functionLinenumberEnd: 6436
    functionName: wpas_eapol_needs_l2_packet
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpas_eapol_needs_l2_packet(struct wpa_supplicant *wpa_s)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6443,1
    - Dst: l2_packet_deinit
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6449,1
    - Dst: l2_packet_init
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6450,1
    - Dst: wpa_drv_get_mac_addr
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6451,1
    - Dst: wpas_eapol_needs_l2_packet
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6453,1
    - Dst: l2_packet_set_packet_filter
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6459,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6461,1
    - Dst: l2_packet_get_own_addr
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6464,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6465,1
    - Dst: wpa_drv_get_mac_addr
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6470,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6472,1
    - Dst: wpa_sm_set_own_addr
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6475,1
    - Dst: wpas_wps_update_mac_addr
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6476,1
    - Dst: nan_de_update_nmi
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6480,1
    - Dst: fst_update_mac_addr
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6485,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6488,1
    - Dst: wpas_notify_mac_address_changed
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6489,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6492
      start: 6439
    functionDepth: 1
    functionLinenumber: 6439
    functionLinenumberEnd: 6492
    functionName: wpa_supplicant_update_mac_addr
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 2
    functionsReached:
    - os_memcpy
    - wpas_notify_mac_address_changed
    - fst_update_mac_addr
    - wpa_msg
    - l2_packet_deinit
    - l2_packet_set_packet_filter
    - l2_packet_get_own_addr
    - wpas_eapol_needs_l2_packet
    - ether_addr_equal
    - nan_de_update_nmi
    - wpa_dbg
    - wpa_sm_set_own_addr
    - wpas_wps_update_mac_addr
    - l2_packet_init
    - wpa_drv_get_mac_addr
    linkageType: ''
    returnType: int
    signature: int wpa_supplicant_update_mac_addr(struct wpa_supplicant *wpa_s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6505,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6507,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6509,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6509,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6513,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6514,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6514,1
    - Dst: wpa_supplicant_rx_eapol
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6515,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - ctx
    - src_addr
    - buf
    - len
    argTypes:
    - void*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6517
      start: 6495
    functionDepth: 1
    functionLinenumber: 6495
    functionLinenumberEnd: 6517
    functionName: wpa_supplicant_rx_eapol_bridge
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_rx_eapol
    - MAC2STR
    - ether_addr_equal
    - wpa_dbg
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_rx_eapol_bridge(void *ctx, const u8 *src_addr,\n\t\t\t\t\t
      \  const u8 *buf, size_t len)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6527,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6533,1
    - Dst: l2_packet_deinit
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6537,1
    - Dst: os_strlcpy
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6541,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6545,1
    - Dst: l2_packet_init_bridge
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6548,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6552,1
    - Dst: wpa_tdls_init
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6560,1
    - Dst: l2_packet_deinit
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6568,1
    - Dst: wpa_tdls_init
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6573,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 2
    argNames:
    - wpa_s
    - bridge_ifname
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6576
      start: 6520
    functionDepth: 1
    functionLinenumber: 6520
    functionLinenumberEnd: 6576
    functionName: wpa_supplicant_update_bridge_ifname
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_msg
    - l2_packet_deinit
    - os_strlcpy
    - l2_packet_init_bridge
    - wpa_dbg
    - wpa_tdls_init
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_update_bridge_ifname(struct wpa_supplicant *wpa_s,\n\t\t\t\t\tconst
      char *bridge_ifname)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_supplicant_update_mac_addr
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6592,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6595,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6596,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6597,1
    - Dst: wpa_sm_set_own_addr
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6598,1
    - Dst: wpas_eapol_needs_l2_packet
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6600,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6601,1
    - Dst: l2_packet_init_bridge
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6603,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6607,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6615,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6616,1
    - Dst: wpa_clear_keys
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6620,1
    - Dst: wpa_drv_set_countermeasures
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6624,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6626,1
    - Dst: wpa_drv_flush_pmkid
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6627,1
    - Dst: wpa_supplicant_enabled_networks
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6632,1
    - Dst: wpa_supplicant_set_state
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6634,1
    - Dst: wpa_supplicant_delayed_sched_scan
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6639,1
    - Dst: wpa_supplicant_req_scan
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6642,1
    - Dst: wpa_supplicant_set_state
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6647,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6650
      start: 6588
    functionDepth: 9
    functionLinenumber: 6588
    functionLinenumberEnd: 6650
    functionName: wpa_supplicant_driver_init
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_printf
    - wpa_supplicant_req_scan
    - wpa_msg
    - wpa_drv_flush_pmkid
    - wpas_eapol_needs_l2_packet
    - wpa_supplicant_set_state
    - wpa_clear_keys
    - MAC2STR
    - wpa_supplicant_enabled_networks
    - wpa_supplicant_delayed_sched_scan
    - l2_packet_init_bridge
    - wpa_dbg
    - wpa_drv_set_countermeasures
    - wpa_sm_set_own_addr
    - wpa_supplicant_update_mac_addr
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: int wpa_supplicant_driver_init(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6655,1
    - Dst: os_daemonize
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pid_file
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6657
      start: 6653
    functionDepth: 0
    functionLinenumber: 6653
    functionLinenumberEnd: 6657
    functionName: wpa_supplicant_daemon
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_daemonize
    linkageType: ''
    returnType: int
    signature: int wpa_supplicant_daemon(const char *pid_file)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6665,1
    - Dst: dl_list_init
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6680,1
    - Dst: dl_list_init
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6681,1
    - Dst: dl_list_init
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6683,1
    - Dst: dl_list_init
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6687,1
    - Dst: dl_list_init
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6693,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - parent
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6698
      start: 6660
    functionDepth: 1
    functionLinenumber: 6660
    functionLinenumberEnd: 6698
    functionName: wpa_supplicant_alloc
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - os_zalloc
    - dl_list_init
    linkageType: ''
    returnType: struct wpa_supplicant
    signature: 'struct wpa_supplicant *

      wpa_supplicant_alloc(struct wpa_supplicant *parent)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6718,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6720,1
    - Dst: strtol
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6726,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6729,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6738,1
    - Dst: strerror
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6740,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6749,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 4
    argNames:
    - wpa_s
    - htcaps
    - htcaps_mask
    - ht_mcs
    argTypes:
    - struct wpa_supplicant*
    - struct ieee80211_ht_capabilities*
    - struct ieee80211_ht_capabilities*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6757
      start: 6703
    functionDepth: 0
    functionLinenumber: 6703
    functionLinenumberEnd: 6757
    functionName: wpa_set_htcap_mcs
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - strtol
    - wpa_msg
    - strerror
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpa_set_htcap_mcs(struct wpa_supplicant *wpa_s,\n\t\t\t     struct
      ieee80211_ht_capabilities *htcaps,\n\t\t\t     struct ieee80211_ht_capabilities
      *htcaps_mask,\n\t\t\t     const char *ht_mcs)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6770,1
    - Dst: host_to_le16
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6772,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - wpa_s
    - htcaps
    - htcaps_mask
    - disabled
    argTypes:
    - struct wpa_supplicant*
    - struct ieee80211_ht_capabilities*
    - struct ieee80211_ht_capabilities*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6780
      start: 6760
    functionDepth: 1
    functionLinenumber: 6760
    functionLinenumberEnd: 6780
    functionName: wpa_disable_max_amsdu
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - host_to_le16
    - wpa_msg
    linkageType: ''
    returnType: int
    signature: "int wpa_disable_max_amsdu(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      struct ieee80211_ht_capabilities *htcaps,\n\t\t\t\t struct ieee80211_ht_capabilities
      *htcaps_mask,\n\t\t\t\t int disabled)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6791,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6794,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - wpa_s
    - htcaps
    - htcaps_mask
    - factor
    argTypes:
    - struct wpa_supplicant*
    - struct ieee80211_ht_capabilities*
    - struct ieee80211_ht_capabilities*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6804
      start: 6783
    functionDepth: 0
    functionLinenumber: 6783
    functionLinenumberEnd: 6804
    functionName: wpa_set_ampdu_factor
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_msg
    linkageType: ''
    returnType: int
    signature: "int wpa_set_ampdu_factor(struct wpa_supplicant *wpa_s,\n\t\t\t\tstruct
      ieee80211_ht_capabilities *htcaps,\n\t\t\t\tstruct ieee80211_ht_capabilities
      *htcaps_mask,\n\t\t\t\tint factor)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6815,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6818,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - wpa_s
    - htcaps
    - htcaps_mask
    - density
    argTypes:
    - struct wpa_supplicant*
    - struct ieee80211_ht_capabilities*
    - struct ieee80211_ht_capabilities*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6829
      start: 6807
    functionDepth: 0
    functionLinenumber: 6807
    functionLinenumberEnd: 6829
    functionName: wpa_set_ampdu_density
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_msg
    linkageType: ''
    returnType: int
    signature: "int wpa_set_ampdu_density(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      struct ieee80211_ht_capabilities *htcaps,\n\t\t\t\t struct ieee80211_ht_capabilities
      *htcaps_mask,\n\t\t\t\t int density)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6838,1
    - Dst: set_disable_ht40
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6840,1
    - Dst: set_disable_ht40
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6841,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - wpa_s
    - htcaps
    - htcaps_mask
    - disabled
    argTypes:
    - struct wpa_supplicant*
    - struct ieee80211_ht_capabilities*
    - struct ieee80211_ht_capabilities*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6844
      start: 6832
    functionDepth: 1
    functionLinenumber: 6832
    functionLinenumberEnd: 6844
    functionName: wpa_set_disable_ht40
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - set_disable_ht40
    - wpa_msg
    linkageType: ''
    returnType: int
    signature: "int wpa_set_disable_ht40(struct wpa_supplicant *wpa_s,\n\t\t\t\tstruct
      ieee80211_ht_capabilities *htcaps,\n\t\t\t\tstruct ieee80211_ht_capabilities
      *htcaps_mask,\n\t\t\t\tint disabled)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: host_to_le16
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6853,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6857,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - wpa_s
    - htcaps
    - htcaps_mask
    - disabled
    argTypes:
    - struct wpa_supplicant*
    - struct ieee80211_ht_capabilities*
    - struct ieee80211_ht_capabilities*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6867
      start: 6847
    functionDepth: 1
    functionLinenumber: 6847
    functionLinenumberEnd: 6867
    functionName: wpa_set_disable_sgi
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - host_to_le16
    - wpa_msg
    linkageType: ''
    returnType: int
    signature: "int wpa_set_disable_sgi(struct wpa_supplicant *wpa_s,\n\t\t\t       struct
      ieee80211_ht_capabilities *htcaps,\n\t\t\t       struct ieee80211_ht_capabilities
      *htcaps_mask,\n\t\t\t       int disabled)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: host_to_le16
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6876,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6879,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - wpa_s
    - htcaps
    - htcaps_mask
    - disabled
    argTypes:
    - struct wpa_supplicant*
    - struct ieee80211_ht_capabilities*
    - struct ieee80211_ht_capabilities*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6889
      start: 6870
    functionDepth: 1
    functionLinenumber: 6870
    functionLinenumberEnd: 6889
    functionName: wpa_set_disable_ldpc
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - host_to_le16
    - wpa_msg
    linkageType: ''
    returnType: int
    signature: "int wpa_set_disable_ldpc(struct wpa_supplicant *wpa_s,\n\t\t\t       struct
      ieee80211_ht_capabilities *htcaps,\n\t\t\t       struct ieee80211_ht_capabilities
      *htcaps_mask,\n\t\t\t       int disabled)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: host_to_le16
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6897,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6902,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6905,1
    - Dst: host_to_le16
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6912,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - wpa_s
    - htcaps
    - htcaps_mask
    - tx_stbc
    argTypes:
    - struct wpa_supplicant*
    - struct ieee80211_ht_capabilities*
    - struct ieee80211_ht_capabilities*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6915
      start: 6892
    functionDepth: 1
    functionLinenumber: 6892
    functionLinenumberEnd: 6915
    functionName: wpa_set_tx_stbc
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - host_to_le16
    - wpa_msg
    linkageType: ''
    returnType: int
    signature: "int wpa_set_tx_stbc(struct wpa_supplicant *wpa_s,\n\t\t\t   struct
      ieee80211_ht_capabilities *htcaps,\n\t\t\t   struct ieee80211_ht_capabilities
      *htcaps_mask,\n\t\t\t   int tx_stbc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: host_to_le16
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6923,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6928,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6931,1
    - Dst: host_to_le16
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6938,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - wpa_s
    - htcaps
    - htcaps_mask
    - rx_stbc
    argTypes:
    - struct wpa_supplicant*
    - struct ieee80211_ht_capabilities*
    - struct ieee80211_ht_capabilities*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6941
      start: 6918
    functionDepth: 1
    functionLinenumber: 6918
    functionLinenumberEnd: 6941
    functionName: wpa_set_rx_stbc
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - host_to_le16
    - wpa_msg
    linkageType: ''
    returnType: int
    signature: "int wpa_set_rx_stbc(struct wpa_supplicant *wpa_s,\n\t\t\t   struct
      ieee80211_ht_capabilities *htcaps,\n\t\t\t   struct ieee80211_ht_capabilities
      *htcaps_mask,\n\t\t\t   int rx_stbc)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_set_htcap_mcs
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6960,1
    - Dst: wpa_disable_max_amsdu
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6961,1
    - Dst: wpa_set_ampdu_factor
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6963,1
    - Dst: wpa_set_ampdu_density
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6964,1
    - Dst: wpa_set_disable_ht40
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6965,1
    - Dst: wpa_set_disable_sgi
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6966,1
    - Dst: wpa_set_disable_ldpc
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6967,1
    - Dst: wpa_set_rx_stbc
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6968,1
    - Dst: wpa_set_tx_stbc
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6969,1
    - Dst: host_to_le16
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:6972,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - wpa_s
    - ssid
    - params
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    - struct wpa_driver_associate_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6976
      start: 6944
    functionDepth: 2
    functionLinenumber: 6944
    functionLinenumberEnd: 6976
    functionName: wpa_supplicant_apply_ht_overrides
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_set_disable_sgi
    - wpa_set_ampdu_factor
    - wpa_disable_max_amsdu
    - wpa_set_tx_stbc
    - wpa_set_htcap_mcs
    - wpa_set_disable_ht40
    - wpa_set_ampdu_density
    - wpa_set_disable_ldpc
    - wpa_set_rx_stbc
    - host_to_le16
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_apply_ht_overrides(\n\tstruct wpa_supplicant *wpa_s,
      struct wpa_ssid *ssid,\n\tstruct wpa_driver_associate_params *params)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: host_to_le32
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7000,1
    - Dst: host_to_le32
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7001,1
    - Dst: host_to_le32
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7006,1
    - Dst: host_to_le32
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7009,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7011,1
    - Dst: le_to_host32
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7013,1
    - Dst: wpa_set_ampdu_factor
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7025,1
    - Dst: OVERRIDE_MCS
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7048,1
    - Dst: OVERRIDE_MCS
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7049,1
    - Dst: OVERRIDE_MCS
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7050,1
    - Dst: OVERRIDE_MCS
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7051,1
    - Dst: OVERRIDE_MCS
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7052,1
    - Dst: OVERRIDE_MCS
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7053,1
    - Dst: OVERRIDE_MCS
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7054,1
    - Dst: OVERRIDE_MCS
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7055,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 3
    argNames:
    - wpa_s
    - ssid
    - params
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    - struct wpa_driver_associate_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7056
      start: 6982
    functionDepth: 1
    functionLinenumber: 6982
    functionLinenumberEnd: 7056
    functionName: wpa_supplicant_apply_vht_overrides
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - le_to_host32
    - wpa_set_ampdu_factor
    - wpa_msg
    - host_to_le32
    - OVERRIDE_MCS
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_apply_vht_overrides(\n\tstruct wpa_supplicant
      *wpa_s, struct wpa_ssid *ssid,\n\tstruct wpa_driver_associate_params *params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7047
      start: 7032
    functionDepth: 0
    functionLinenumber: 7032
    functionLinenumberEnd: 7047
    functionName: OVERRIDE_MCS
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OVERRIDE_MCS(i)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - wpa_s
    - ssid
    - params
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    - struct wpa_driver_associate_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7069
      start: 7061
    functionDepth: 0
    functionLinenumber: 7061
    functionLinenumberEnd: 7069
    functionName: wpa_supplicant_apply_he_overrides
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_apply_he_overrides(\n\tstruct wpa_supplicant *wpa_s,
      struct wpa_ssid *ssid,\n\tstruct wpa_driver_associate_params *params)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - wpa_s
    - ssid
    - params
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    - struct wpa_driver_associate_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7081
      start: 7073
    functionDepth: 0
    functionLinenumber: 7073
    functionLinenumberEnd: 7081
    functionName: wpa_supplicant_apply_eht_overrides
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_apply_eht_overrides(\n\tstruct wpa_supplicant
      *wpa_s, struct wpa_ssid *ssid,\n\tstruct wpa_driver_associate_params *params)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - wpa_s
    - ssid
    - params
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    - struct wpa_driver_associate_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7092
      start: 7084
    functionDepth: 0
    functionLinenumber: 7084
    functionLinenumberEnd: 7092
    functionName: wpa_supplicant_apply_uhr_overrides
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_apply_uhr_overrides(\n\tstruct wpa_supplicant
      *wpa_s, struct wpa_ssid *ssid,\n\tstruct wpa_driver_associate_params *params)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: scard_init
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7103,1
    - Dst: scard_set_pin
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7108,1
    - Dst: scard_deinit
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7109,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7111,1
    - Dst: scard_get_imsi
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7116,1
    - Dst: scard_deinit
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7117,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7119,1
    - Dst: scard_get_mnc_len
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7124,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7126,1
    - Dst: wpa_sm_set_scard_ctx
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7129,1
    - Dst: eapol_sm_register_scard_ctx
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7130,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7134
      start: 7095
    functionDepth: 0
    functionLinenumber: 7095
    functionLinenumberEnd: 7134
    functionName: pcsc_reader_init
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_msg
    - wpa_sm_set_scard_ctx
    - scard_set_pin
    - scard_get_mnc_len
    - eapol_sm_register_scard_ctx
    - scard_init
    - scard_deinit
    - scard_get_imsi
    linkageType: ''
    returnType: int
    signature: int pcsc_reader_init(struct wpa_supplicant *wpa_s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ext_password_deinit
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7141,1
    - Dst: eapol_sm_set_ext_pw_ctx
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7143,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7148,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7151,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7155,1
    - Dst: ext_password_init
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7157,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7158,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7160,1
    - Dst: eapol_sm_set_ext_pw_ctx
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7163,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7166
      start: 7137
    functionDepth: 0
    functionLinenumber: 7137
    functionLinenumberEnd: 7166
    functionName: wpas_init_ext_pw
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - eapol_sm_set_ext_pw_ctx
    - os_free
    - os_strchr
    - ext_password_init
    - os_strdup
    - ext_password_deinit
    linkageType: ''
    returnType: int
    signature: int wpas_init_ext_pw(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7177
      start: 7171
    functionDepth: 1
    functionLinenumber: 7171
    functionLinenumberEnd: 7177
    functionName: wpas_fst_get_bssid_cb
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - is_zero_ether_addr
    linkageType: ''
    returnType: u8
    signature: u8 * wpas_fst_get_bssid_cb(void *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ieee80211_freq_to_chan
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7187,1
    - Dst: WPA_ASSERT
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ctx
    - hw_mode
    - channel
    argTypes:
    - void*
    - enum hostapd_hw_mode*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7195
      start: 7180
    functionDepth: 1
    functionLinenumber: 7180
    functionLinenumberEnd: 7195
    functionName: wpas_fst_get_channel_info_cb
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - WPA_ASSERT
    - ieee80211_freq_to_chan
    linkageType: ''
    returnType: void
    signature: "void wpas_fst_get_channel_info_cb(void *ctx,\n\t\t\t\t\t enum hostapd_hw_mode
      *hw_mode,\n\t\t\t\t\t u8 *channel)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - modes
    argTypes:
    - void*
    - struct hostapd_hw_modes**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7204
      start: 7198
    functionDepth: 0
    functionLinenumber: 7198
    functionLinenumberEnd: 7204
    functionName: wpas_fst_get_hw_modes
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpas_fst_get_hw_modes(void *ctx, struct hostapd_hw_modes **modes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - fst_ies
    argTypes:
    - void*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7213
      start: 7207
    functionDepth: 1
    functionLinenumber: 7207
    functionLinenumberEnd: 7213
    functionName: wpas_fst_set_ies_cb
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_hexdump_buf
    linkageType: ''
    returnType: void
    signature: void wpas_fst_set_ies_cb(void *ctx, const struct wpabuf *fst_ies)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7220,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7221,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7222,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7222,1
    - Dst: wpa_drv_send_action
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7225,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7227,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - da
    - data
    argTypes:
    - void*
    - u8*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7229
      start: 7216
    functionDepth: 1
    functionLinenumber: 7216
    functionLinenumberEnd: 7229
    functionName: wpas_fst_send_action_cb
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_drv_send_action
    - wpabuf_len
    - ether_addr_equal
    - wpabuf_head
    - MAC2STR
    linkageType: ''
    returnType: int
    signature: int wpas_fst_send_action_cb(void *ctx, const u8 *da, struct wpabuf
      *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WPA_ASSERT
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7236,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - addr
    argTypes:
    - void*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7238
      start: 7232
    functionDepth: 1
    functionLinenumber: 7232
    functionLinenumberEnd: 7238
    functionName: wpas_fst_get_mb_ie_cb
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - ether_addr_equal
    - WPA_ASSERT
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * wpas_fst_get_mb_ie_cb(void *ctx, const u8 *addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WPA_ASSERT
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7247,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7247,1
    - Dst: mb_ies_info_by_ies
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7249,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7250,1
    - Dst: mb_ies_by_info
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - addr
    - buf
    - size
    argTypes:
    - void*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7253
      start: 7241
    functionDepth: 1
    functionLinenumber: 7241
    functionLinenumberEnd: 7253
    functionName: wpas_fst_update_mb_ie_cb
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpabuf_free
    - ether_addr_equal
    - mb_ies_by_info
    - mb_ies_info_by_ies
    - WPA_ASSERT
    linkageType: ''
    returnType: void
    signature: "void wpas_fst_update_mb_ie_cb(void *ctx, const u8 *addr,\n\t\t\t\t
      \    const u8 *buf, size_t size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7263,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - get_ctx
    - mb_only
    argTypes:
    - void*
    - struct fst_get_peer_ctx**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7267
      start: 7256
    functionDepth: 1
    functionLinenumber: 7256
    functionLinenumberEnd: 7267
    functionName: wpas_fst_get_peer_first
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - is_zero_ether_addr
    linkageType: ''
    returnType: u8
    signature: "u8 * wpas_fst_get_peer_first(void *ctx,\n\t\t\t\t\t  struct fst_get_peer_ctx
      **get_ctx,\n\t\t\t\t\t  bool mb_only)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - get_ctx
    - mb_only
    argTypes:
    - void*
    - struct fst_get_peer_ctx**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7275
      start: 7270
    functionDepth: 0
    functionLinenumber: 7270
    functionLinenumberEnd: 7275
    functionName: wpas_fst_get_peer_next
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: "u8 * wpas_fst_get_peer_next(void *ctx,\n\t\t\t\t\t struct fst_get_peer_ctx
      **get_ctx,\n\t\t\t\t\t bool mb_only)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - wpa_s
    - iface_obj
    argTypes:
    - struct wpa_supplicant*
    - struct fst_wpa_obj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7291
      start: 7277
    functionDepth: 0
    functionLinenumber: 7277
    functionLinenumberEnd: 7291
    functionName: fst_wpa_supplicant_fill_iface_obj
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void fst_wpa_supplicant_fill_iface_obj(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \      struct fst_wpa_obj *iface_obj)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_get_wowlan_triggers
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7303,1
    - Dst: wpa_drv_wowlan
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7305,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7306,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - wpa_s
    - capa
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_driver_capa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7309
      start: 7294
    functionDepth: 1
    functionLinenumber: 7294
    functionLinenumberEnd: 7309
    functionName: wpas_set_wowlan_triggers
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpa_drv_wowlan
    - wpa_get_wowlan_triggers
    linkageType: ''
    returnType: int
    signature: "int wpas_set_wowlan_triggers(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \   const struct wpa_driver_capa *capa)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - freq
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7319
      start: 7312
    functionDepth: 0
    functionLinenumber: 7312
    functionLinenumberEnd: 7319
    functionName: wpas_freq_to_band
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum wpa_radio_work_band
    signature: enum wpa_radio_work_band wpas_freq_to_band(int freq)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpas_freq_to_band
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7330,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - wpa_s
    - freqs
    argTypes:
    - struct wpa_supplicant*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7358
      start: 7322
    functionDepth: 1
    functionLinenumber: 7322
    functionLinenumberEnd: 7358
    functionName: wpas_get_bands
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_freq_to_band
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int wpas_get_bands(struct wpa_supplicant *wpa_s, const int
      *freqs)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7369,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7370,1
    - Dst: dl_list_add
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7372,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7379,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7381,1
    - Dst: os_strlcpy
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7386,1
    - Dst: dl_list_init
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7387,1
    - Dst: dl_list_init
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7388,1
    - Dst: dl_list_add
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7389,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - wpa_s
    - rn
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7392
      start: 7361
    functionDepth: 1
    functionLinenumber: 7361
    functionLinenumberEnd: 7392
    functionName: radio_add_interface
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_strlcpy
    - os_zalloc
    - dl_list_add
    - dl_list_init
    - os_strcmp
    linkageType: ''
    returnType: struct wpa_radio
    signature: "struct wpa_radio * radio_add_interface(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \     const char *rn)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7399,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7407,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7415,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7421,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - work
    argTypes:
    - struct wpa_radio_work*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7422
      start: 7395
    functionDepth: 1
    functionLinenumber: 7395
    functionLinenumberEnd: 7422
    functionName: radio_work_free
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpa_dbg
    linkageType: ''
    returnType: void
    signature: void radio_work_free(struct wpa_radio_work *work)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7427,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7428,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - work
    argTypes:
    - struct wpa_radio_work*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7429
      start: 7425
    functionDepth: 0
    functionLinenumber: 7425
    functionLinenumberEnd: 7429
    functionName: radio_work_is_connect
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: int radio_work_is_connect(struct wpa_radio_work *work)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7434,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7435,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - work
    argTypes:
    - struct wpa_radio_work*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7436
      start: 7432
    functionDepth: 0
    functionLinenumber: 7432
    functionLinenumberEnd: 7436
    functionName: radio_work_is_scan
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: int radio_work_is_scan(struct wpa_radio_work *work)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7445,1
    - Dst: dl_list_for_each
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7455,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7457,1
    - Dst: external_scan_running
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7458,1
    - Dst: radio_work_is_connect
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7468,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7473,1
    - Dst: dl_list_for_each
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7479,1
    - Dst: radio_work_is_connect
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7487,1
    - Dst: radio_work_is_scan
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7494,1
    - Dst: radio_work_is_scan
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7495,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7496,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7505,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7513,1
    - Dst: external_scan_running
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7514,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7520,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 37
    argCount: 1
    argNames:
    - radio
    argTypes:
    - struct wpa_radio*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7529
      start: 7439
    functionDepth: 1
    functionLinenumber: 7439
    functionLinenumberEnd: 7529
    functionName: radio_work_get_next_work
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - external_scan_running
    - radio_work_is_connect
    - radio_work_is_scan
    - dl_list_for_each
    - wpa_dbg
    - os_strcmp
    linkageType: ''
    returnType: struct wpa_radio_work
    signature: struct wpa_radio_work * radio_work_get_next_work(struct wpa_radio *radio)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_first
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7539,1
    - Dst: dl_list_first
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7545,1
    - Dst: external_scan_running
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7553,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7554,1
    - Dst: radio_work_get_next_work
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7561,1
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7568,1
    - Dst: os_reltime_sub
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7569,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7570,1
    - Dst: struct wpa_radio_work*::cb
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7577,1
    - Dst: radio_work_check_next
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7581,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7582
      start: 7532
    functionDepth: 2
    functionLinenumber: 7532
    functionLinenumberEnd: 7582
    functionName: radio_start_next_work
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - external_scan_running
    - os_get_reltime
    - wpa_printf
    - radio_work_get_next_work
    - dl_list_first
    - radio_work_check_next
    - os_reltime_sub
    - wpa_dbg
    - struct wpa_radio_work*::cb
    linkageType: ''
    returnType: void
    signature: void radio_start_next_work(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7602,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7604,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7611,1
    - Dst: dl_list_del
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7613,1
    - Dst: struct wpa_radio_work*::cb
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7614,1
    - Dst: radio_work_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7615,1
    - Dst: radio_work_check_next
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7619,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - wpa_s
    - type
    - remove_all
    argTypes:
    - struct wpa_supplicant*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7620
      start: 7596
    functionDepth: 2
    functionLinenumber: 7596
    functionLinenumberEnd: 7620
    functionName: radio_remove_works
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 1
    functionsReached:
    - dl_list_del
    - radio_work_free
    - radio_work_check_next
    - wpa_dbg
    - struct wpa_radio_work*::cb
    - os_strcmp
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: "void radio_remove_works(struct wpa_supplicant *wpa_s,\n\t\t\tconst
      char *type, int remove_all)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7630,1
    - Dst: radio_work_is_connect
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7632,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7639,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7641,1
    - Dst: dl_list_del
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7642,1
    - Dst: struct wpa_radio_work*::cb
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7643,1
    - Dst: radio_work_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7644,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - wpa_s
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7646
      start: 7623
    functionDepth: 2
    functionLinenumber: 7623
    functionLinenumberEnd: 7646
    functionName: radio_remove_pending_connect
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - dl_list_del
    - radio_work_is_connect
    - wpa_ssid_txt
    - radio_work_free
    - struct wpa_radio_work*::cb
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: "void radio_remove_pending_connect(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      const struct wpa_ssid *ssid)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7656,1
    - Dst: dl_list_del
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7658,1
    - Dst: radio_remove_works
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7659,1
    - Dst: dl_list_empty
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7665,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7668,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7669,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7670,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7671
      start: 7649
    functionDepth: 3
    functionLinenumber: 7649
    functionLinenumberEnd: 7671
    functionName: radio_remove_interface
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dl_list_del
    - dl_list_empty
    - eloop_cancel_timeout
    - os_free
    - radio_remove_works
    linkageType: ''
    returnType: void
    signature: void radio_remove_interface(struct wpa_supplicant *wpa_s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_empty
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7678,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7681,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7685,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7686,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7687
      start: 7674
    functionDepth: 1
    functionLinenumber: 7674
    functionLinenumberEnd: 7687
    functionName: radio_work_check_next
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 2
    functionsReached:
    - eloop_cancel_timeout
    - wpa_printf
    - eloop_register_timeout
    - dl_list_empty
    linkageType: ''
    returnType: void
    signature: void radio_work_check_next(struct wpa_supplicant *wpa_s)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7725,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7728,1
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7729,1
    - Dst: wpas_freq_to_band
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7737,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7738,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7739,1
    - Dst: wpas_get_bands
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7740,1
    - Dst: wpas_get_bands
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7744,1
    - Dst: dl_list_empty
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7746,1
    - Dst: dl_list_add
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7748,1
    - Dst: dl_list_add_tail
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7750,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7752,1
    - Dst: radio_work_check_next
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7753,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7756,1
    - Dst: radio_work_check_next
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7759,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 5
    argNames:
    - wpa_s
    - freq
    - type
    - next
    - ctx
    argTypes:
    - struct wpa_supplicant*
    - unsigned int
    - char*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7763
      start: 7715
    functionDepth: 2
    functionLinenumber: 7715
    functionLinenumberEnd: 7763
    functionName: radio_add_work
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 3
    functionsReached:
    - os_get_reltime
    - dl_list_empty
    - dl_list_add_tail
    - wpas_get_bands
    - radio_work_check_next
    - os_zalloc
    - dl_list_add
    - wpa_dbg
    - wpas_freq_to_band
    - os_strcmp
    linkageType: ''
    returnType: struct wpa_radio_work
    signature: "struct wpa_radio_work *\nradio_add_work(struct wpa_supplicant *wpa_s,
      unsigned int freq,\n\t       const char *type, int next,\n\t       void (*cb)(struct
      wpa_radio_work *work, int deinit),\n\t       void *ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7783,1
    - Dst: os_reltime_sub
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7784,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7785,1
    - Dst: dl_list_del
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7788,1
    - Dst: radio_work_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7789,1
    - Dst: radio_work_check_next
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7791,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - work
    argTypes:
    - struct wpa_radio_work*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7792
      start: 7773
    functionDepth: 2
    functionLinenumber: 7773
    functionLinenumberEnd: 7792
    functionName: radio_work_done
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 4
    functionsReached:
    - os_get_reltime
    - dl_list_del
    - radio_work_check_next
    - os_reltime_sub
    - wpa_dbg
    - radio_work_free
    linkageType: ''
    returnType: void
    signature: void radio_work_done(struct wpa_radio_work *work)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7804,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7805,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - wpa_s
    - type
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7810
      start: 7795
    functionDepth: 0
    functionLinenumber: 7795
    functionLinenumberEnd: 7810
    functionName: radio_work_pending
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 1
    functionsReached:
    - dl_list_for_each
    - os_strcmp
    linkageType: ''
    returnType: struct wpa_radio_work
    signature: 'struct wpa_radio_work *

      radio_work_pending(struct wpa_supplicant *wpa_s, const char *type)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_supplicant_set_driver
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7820,1
    - Dst: wpa_drv_init
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7823,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7828,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7830,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7840,1
    - Dst: wpa_drv_set_param
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7843,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7844,1
    - Dst: wpa_drv_get_ifname
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7849,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7850,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7851,1
    - Dst: os_strlcpy
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7853,1
    - Dst: wpa_driver_get_radio_name
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7856,1
    - Dst: radio_add_interface
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7860,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 2
    argNames:
    - wpa_s
    - iface
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_interface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7865
      start: 7813
    functionDepth: 2
    functionLinenumber: 7813
    functionLinenumberEnd: 7865
    functionName: wpas_init_driver
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_msg
    - radio_add_interface
    - wpa_supplicant_set_driver
    - os_strlcpy
    - wpa_driver_get_radio_name
    - wpa_drv_set_param
    - wpa_drv_get_ifname
    - os_strcmp
    - wpa_dbg
    - os_strchr
    - wpa_drv_init
    linkageType: ''
    returnType: int
    signature: "int wpas_init_driver(struct wpa_supplicant *wpa_s,\n\t\t\t    const
      struct wpa_interface *iface)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7876,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7878,1
    - Dst: gas_server_tx_status
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7882,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 8
    argNames:
    - wpa_s
    - freq
    - dst
    - src
    - bssid
    - data
    - data_len
    - result
    argTypes:
    - struct wpa_supplicant*
    - unsigned int
    - u8*
    - u8*
    - u8*
    - u8*
    - size_t
    - enum offchannel_send_action_result
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7884
      start: 7870
    functionDepth: 1
    functionLinenumber: 7870
    functionLinenumberEnd: 7884
    functionName: wpas_gas_server_tx_status
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - gas_server_tx_status
    - MAC2STR
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: "void wpas_gas_server_tx_status(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \     unsigned int freq, const u8 *dst,\n\t\t\t\t      const u8 *src, const
      u8 *bssid,\n\t\t\t\t      const u8 *data, size_t data_len,\n\t\t\t\t      enum
      offchannel_send_action_result result)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: offchannel_send_action
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7896,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7897,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7897,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - ctx
    - freq
    - da
    - buf
    - wait_time
    argTypes:
    - void*
    - int
    - u8*
    - struct wpabuf*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7899
      start: 7887
    functionDepth: 3
    functionLinenumber: 7887
    functionLinenumberEnd: 7899
    functionName: wpas_gas_server_tx
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpabuf_len
    - offchannel_send_action
    - wpabuf_head
    linkageType: ''
    returnType: void
    signature: "void wpas_gas_server_tx(void *ctx, int freq, const u8 *da,\n\t\t\t
      \      struct wpabuf *buf, unsigned int wait_time)"
  - BBCount: 60
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7910,1
    - Dst: os_rel2abs_path
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7919,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7921,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7926,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7929,1
    - Dst: wpa_config_read
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7931,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7935,1
    - Dst: os_rel2abs_path
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7939,1
    - Dst: wpa_config_read
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7941,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7943,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7954,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7956,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7958,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7966,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7968,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7970,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7978,1
    - Dst: wpa_config_alloc_empty
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7982,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7986,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7991,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7994,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7995,1
    - Dst: os_strlcpy
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:7999,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8005,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8007,1
    - Dst: os_strlcpy
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8011,1
    - Dst: eapol_sm_notify_portEnabled
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8016,1
    - Dst: eapol_sm_notify_portValid
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8017,1
    - Dst: wpas_init_driver
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8023,1
    - Dst: wpa_supplicant_init_wpa
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8026,1
    - Dst: wpa_sm_set_ifname
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8029,1
    - Dst: wpa_sm_set_fast_reauth
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8032,1
    - Dst: wpa_sm_set_param
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8035,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8037,1
    - Dst: wpa_sm_set_param
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8043,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8045,1
    - Dst: wpa_sm_set_param
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8051,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8053,1
    - Dst: wpa_sm_set_param
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8058,1
    - Dst: wpa_drv_get_hw_feature_data
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8061,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8068,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8078,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8081,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8083,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8085,1
    - Dst: wpas_is_6ghz_supported
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8087,1
    - Dst: wpa_drv_get_capa
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8090,1
    - Dst: wpa_drv_get_ext_capa
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8131,1
    - Dst: wpa_drv_get_mld_capa
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8137,1
    - Dst: wpa_pasn_sm_set_caps
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8146,1
    - Dst: wpa_sm_set_802_1x_auth_caps
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8150,1
    - Dst: wpa_sm_set_driver_bss_selection
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8153,1
    - Dst: wpa_supplicant_driver_init
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8177,1
    - Dst: wpa_tdls_init
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8181,1
    - Dst: wpa_drv_set_country
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8186,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8187,1
    - Dst: fst_wpa_supplicant_fill_iface_obj
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8196,1
    - Dst: os_strlcpy
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8197,1
    - Dst: fst_attach
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8202,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8205,1
    - Dst: wpas_wps_init
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8213,1
    - Dst: gas_server_init
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8217,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8219,1
    - Dst: wpas_dpp_init
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8225,1
    - Dst: wpas_nan_de_init
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8229,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8233,1
    - Dst: wpa_supplicant_init_eapol
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8237,1
    - Dst: wpa_sm_set_eapol
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8239,1
    - Dst: wpa_supplicant_ctrl_iface_init
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8241,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8243,1
    - Dst: gas_query_init
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8255,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8257,1
    - Dst: wpas_p2p_init
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8271,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8272,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8277,1
    - Dst: wpas_pr_init
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8279,1
    - Dst: wpa_bss_init
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8283,1
    - Dst: wpas_set_wowlan_triggers
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8291,1
    - Dst: eapol_sm_get_eap_proxy_imsi
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8297,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8301,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8304,1
    - Dst: pcsc_reader_init
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8309,1
    - Dst: wpas_init_ext_pw
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8312,1
    - Dst: wpas_rrm_reset
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8316,1
    - Dst: wpas_sched_scan_plans_set
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8319,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8329,1
    - Dst: wpas_mbo_update_non_pref_chan
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8333,1
    - Dst: wpa_supplicant_set_default_scan_ies
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8336,1
    - Dst: wpas_nan_init
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8338,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8339,1
    CyclomaticComplexity: 82
    EdgeCount: 82
    ICount: 246
    argCount: 2
    argNames:
    - wpa_s
    - iface
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_interface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8344
      start: 7903
    functionDepth: 10
    functionLinenumber: 7903
    functionLinenumberEnd: 8344
    functionName: wpa_supplicant_init_iface
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_drv_get_mld_capa
    - wpa_supplicant_driver_init
    - gas_server_init
    - eapol_sm_get_eap_proxy_imsi
    - os_strlcpy
    - BIT
    - wpa_drv_get_ext_capa
    - fst_wpa_supplicant_fill_iface_obj
    - wpa_supplicant_init_wpa
    - wpa_sm_set_driver_bss_selection
    - wpas_nan_de_init
    - wpas_sched_scan_plans_set
    - wpa_sm_set_ifname
    - fst_attach
    - wpa_drv_get_hw_feature_data
    - wpa_sm_set_eapol
    - os_strlen
    - wpa_pasn_sm_set_caps
    - wpa_printf
    - wpa_drv_set_country
    - wpa_drv_get_capa
    - wpas_is_6ghz_supported
    - eapol_sm_notify_portValid
    - wpa_sm_set_fast_reauth
    - eapol_sm_notify_portEnabled
    - wpas_rrm_reset
    - wpas_p2p_init
    - os_free
    - wpa_tdls_init
    - wpa_supplicant_ctrl_iface_init
    - wpas_mbo_update_non_pref_chan
    - wpa_supplicant_set_default_scan_ies
    - wpas_nan_init
    - wpa_sm_set_param
    - wpa_sm_set_802_1x_auth_caps
    - wpa_config_read
    - wpas_init_driver
    - wpas_set_wowlan_triggers
    - wpa_dbg
    - wpas_init_ext_pw
    - wpa_bss_init
    - os_strdup
    - wpas_pr_init
    - wpas_dpp_init
    - os_memcpy
    - wpa_msg
    - wpa_config_alloc_empty
    - wpa_supplicant_init_eapol
    - pcsc_reader_init
    - gas_query_init
    - os_rel2abs_path
    - wpas_wps_init
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_init_iface(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \    const struct wpa_interface *iface)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: wpas_p2p_group_remove
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8354,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8364,1
    - Dst: wpa_supplicant_remove_iface
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8369,1
    - Dst: wpa_drv_get_wowlan
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8378,1
    - Dst: wpa_supplicant_deauthenticate
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8380,1
    - Dst: wpa_drv_set_countermeasures
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8383,1
    - Dst: wpa_clear_keys
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8384,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8386,1
    - Dst: wpa_supplicant_cleanup
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8391,1
    - Dst: wpas_p2p_deinit_iface
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8392,1
    - Dst: wpas_nan_deinit
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8394,1
    - Dst: wpas_ctrl_radio_work_flush
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8396,1
    - Dst: radio_remove_interface
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8397,1
    - Dst: fst_detach
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8401,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8405,1
    - Dst: wpa_drv_deinit
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8411,1
    - Dst: wpas_notify_iface_removed
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8414,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8417,1
    - Dst: wpa_supplicant_ctrl_iface_deinit
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8419,1
    - Dst: wpa_supplicant_mesh_iface_deinit
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8424,1
    - Dst: wpa_config_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8430,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8434,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8435,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8437,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 58
    argCount: 3
    argNames:
    - wpa_s
    - notify
    - terminate
    argTypes:
    - struct wpa_supplicant*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8438
      start: 8347
    functionDepth: 4
    functionLinenumber: 8347
    functionLinenumberEnd: 8438
    functionName: wpa_supplicant_deinit_iface
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_p2p_group_remove
    - wpa_supplicant_mesh_iface_deinit
    - wpa_clear_keys
    - wpa_supplicant_deauthenticate
    - wpas_p2p_deinit_iface
    - wpas_ctrl_radio_work_flush
    - wpa_printf
    - wpa_drv_get_wowlan
    - radio_remove_interface
    - wpa_supplicant_cleanup
    - os_free
    - wpa_config_free
    - wpas_notify_iface_removed
    - wpa_drv_deinit
    - wpas_nan_deinit
    - wpa_msg
    - wpa_supplicant_ctrl_iface_deinit
    - wpabuf_free
    - fst_detach
    - wpa_supplicant_remove_iface
    - wpa_drv_set_countermeasures
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_deinit_iface(struct wpa_supplicant *wpa_s,\n\t\t\t\t\tint
      notify, int terminate)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fnmatch
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8458,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8459,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - global
    - ifname
    argTypes:
    - struct wpa_global*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8473
      start: 8449
    functionDepth: 0
    functionLinenumber: 8449
    functionLinenumberEnd: 8473
    functionName: wpa_supplicant_match_iface
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - fnmatch
    - os_zalloc
    linkageType: ''
    returnType: struct wpa_interface
    signature: "struct wpa_interface * wpa_supplicant_match_iface(struct wpa_global
      *global,\n\t\t\t\t\t\t  const char *ifname)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: if_nameindex
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8487,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8489,1
    - Dst: strerror
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8489,1
    - Dst: wpa_supplicant_get_iface
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8494,1
    - Dst: wpa_supplicant_match_iface
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8497,1
    - Dst: wpa_supplicant_add_iface
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8499,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8500,1
    - Dst: if_freenameindex
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8504,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - global
    argTypes:
    - struct wpa_global*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8506
      start: 8481
    functionDepth: 1
    functionLinenumber: 8481
    functionLinenumberEnd: 8506
    functionName: wpa_supplicant_match_existing
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - if_freenameindex
    - strerror
    - if_nameindex
    - wpa_supplicant_match_iface
    - os_free
    - wpa_supplicant_get_iface
    - wpa_supplicant_add_iface
    linkageType: ''
    returnType: int
    signature: int wpa_supplicant_match_existing(struct wpa_global *global)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_supplicant_alloc
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8535,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8543,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8549,1
    - Dst: wpa_supplicant_init_iface
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8556,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8557,1
    - Dst: wpa_supplicant_deinit_iface
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8559,1
    - Dst: wpas_notify_iface_added
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8565,1
    - Dst: wpa_supplicant_deinit_iface
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8566,1
    - Dst: wpas_notify_network_added
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8571,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8577,1
    - Dst: wpa_supplicant_set_state
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8578,1
    - Dst: wpas_is_nan_iface
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8581,1
    - Dst: wpas_p2p_add_p2pdev_interface
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8584,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8586,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 37
    argCount: 3
    argNames:
    - global
    - iface
    - parent
    argTypes:
    - struct wpa_global*
    - struct wpa_interface*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8593
      start: 8524
    functionDepth: 11
    functionLinenumber: 8524
    functionLinenumberEnd: 8593
    functionName: wpa_supplicant_add_iface
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 3
    functionsReached:
    - wpa_printf
    - wpas_p2p_add_p2pdev_interface
    - wpa_supplicant_init_iface
    - wpas_is_nan_iface
    - wpas_notify_iface_added
    - wpas_notify_network_added
    - wpa_supplicant_set_state
    - wpa_supplicant_deinit_iface
    - wpa_supplicant_alloc
    - wpa_dbg
    linkageType: ''
    returnType: struct wpa_supplicant
    signature: "struct wpa_supplicant * wpa_supplicant_add_iface(struct wpa_global
      *global,\n\t\t\t\t\t\t struct wpa_interface *iface,\n\t\t\t\t\t\t struct wpa_supplicant
      *parent)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8630,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8634,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8636,1
    - Dst: wpa_supplicant_deinit_iface
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8647,1
    - Dst: wpa_drv_if_remove
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8651,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8652,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 3
    argNames:
    - global
    - wpa_s
    - terminate
    argTypes:
    - struct wpa_global*
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8657
      start: 8607
    functionDepth: 5
    functionLinenumber: 8607
    functionLinenumberEnd: 8657
    functionName: wpa_supplicant_remove_iface
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 1
    functionsReached:
    - wpa_drv_if_remove
    - wpa_supplicant_deinit_iface
    - wpa_dbg
    - os_free
    - os_strdup
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_remove_iface(struct wpa_global *global,\n\t\t\t\tstruct
      wpa_supplicant *wpa_s,\n\t\t\t\tint terminate)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_key_mgmt_wpa_ieee8021x
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8669,1
    - Dst: eapol_sm_get_method_name
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8674,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8679
      start: 8665
    functionDepth: 1
    functionLinenumber: 8665
    functionLinenumberEnd: 8679
    functionName: wpa_supplicant_get_eap_mode
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - eapol_sm_get_method_name
    - wpa_key_mgmt_wpa_ieee8021x
    linkageType: ''
    returnType: char
    signature: char * wpa_supplicant_get_eap_mode(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8694,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - global
    - ifname
    argTypes:
    - struct wpa_global*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8698
      start: 8688
    functionDepth: 0
    functionLinenumber: 8688
    functionLinenumberEnd: 8698
    functionName: wpa_supplicant_get_iface
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 1
    functionsReached:
    - os_strcmp
    linkageType: ''
    returnType: struct wpa_supplicant
    signature: "struct wpa_supplicant * wpa_supplicant_get_iface(struct wpa_global
      *global,\n\t\t\t\t\t\t const char *ifname)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8708
      start: 8702
    functionDepth: 0
    functionLinenumber: 8702
    functionLinenumberEnd: 8708
    functionName: wpa_supplicant_msg_ifname_cb
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * wpa_supplicant_msg_ifname_cb(void *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8722,1
    - Dst: p2p_expire_peers
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8727,1
    - Dst: wpa_bss_flush_by_age
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8731,1
    - Dst: ap_periodic
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8733,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8736
      start: 8717
    functionDepth: 1
    functionLinenumber: 8717
    functionLinenumberEnd: 8736
    functionName: wpas_periodic
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_bss_flush_by_age
    - eloop_register_timeout
    - p2p_expire_peers
    - ap_periodic
    linkageType: ''
    returnType: void
    signature: void wpas_periodic(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: driver_ndis_init_ops
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8759,1
    - Dst: wpa_msg_register_ifname_cb
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8764,1
    - Dst: wpa_debug_open_file
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8768,1
    - Dst: wpa_debug_setup_stdout
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8770,1
    - Dst: wpa_debug_open_syslog
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8772,1
    - Dst: wpa_debug_open_linux_tracing
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8774,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8776,1
    - Dst: eap_register_methods
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8782,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8784,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8786,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8791,1
    - Dst: dl_list_init
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8794,1
    - Dst: dl_list_init
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8795,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8802,1
    - Dst: wpa_supplicant_deinit
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8804,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8811,1
    - Dst: wpa_supplicant_deinit
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8813,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8820,1
    - Dst: wpa_supplicant_deinit
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8822,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8829,1
    - Dst: wpa_supplicant_deinit
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8831,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8838,1
    - Dst: wpa_supplicant_deinit
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8840,1
    - Dst: os_calloc
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8849,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8852,1
    - Dst: wpa_supplicant_deinit
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8854,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8857,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8866,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8868,1
    - Dst: wpa_supplicant_deinit
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8869,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8881,1
    - Dst: eloop_init
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8883,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8884,1
    - Dst: wpa_supplicant_deinit
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8885,1
    - Dst: random_init
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8889,1
    - Dst: proc_coord_init
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8893,1
    - Dst: wpa_supplicant_deinit
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8895,1
    - Dst: wpa_supplicant_global_ctrl_iface_init
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8901,1
    - Dst: wpa_supplicant_deinit
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8903,1
    - Dst: wpas_notify_supplicant_initialized
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8907,1
    - Dst: wpa_supplicant_deinit
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8908,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8915,1
    - Dst: wpa_supplicant_deinit
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8916,1
    - Dst: os_calloc
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8919,1
    - Dst: wpa_supplicant_deinit
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8921,1
    - Dst: wifi_display_init
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8926,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8927,1
    - Dst: wpa_supplicant_deinit
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8928,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8933,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 133
    argCount: 1
    argNames:
    - params
    argTypes:
    - struct wpa_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8937
      start: 8748
    functionDepth: 1
    functionLinenumber: 8748
    functionLinenumberEnd: 8937
    functionName: wpa_supplicant_init
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 2
    functionsReached:
    - wpa_supplicant_global_ctrl_iface_init
    - wpa_debug_open_file
    - dl_list_init
    - wpa_debug_open_syslog
    - wpa_printf
    - wifi_display_init
    - wpa_supplicant_deinit
    - wpa_msg_register_ifname_cb
    - random_init
    - wpa_debug_open_linux_tracing
    - wpa_debug_setup_stdout
    - os_strdup
    - os_memcpy
    - proc_coord_init
    - os_calloc
    - driver_ndis_init_ops
    - os_zalloc
    - eloop_init
    - eap_register_methods
    - eloop_register_timeout
    - wpas_notify_supplicant_initialized
    linkageType: ''
    returnType: struct wpa_global
    signature: struct wpa_global * wpa_supplicant_init(struct wpa_params *params)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_supplicant_daemon
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8954,1
    - Dst: eloop_sock_requeue
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8955,1
    - Dst: wpa_supplicant_match_existing
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8959,1
    - Dst: wpa_supplicant_ctrl_iface_wait
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8966,1
    - Dst: eloop_register_signal_terminate
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8970,1
    - Dst: eloop_register_signal_reconfig
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8971,1
    - Dst: eloop_run
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8973,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 1
    argNames:
    - global
    argTypes:
    - struct wpa_global*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8976
      start: 8949
    functionDepth: 2
    functionLinenumber: 8949
    functionLinenumberEnd: 8976
    functionName: wpa_supplicant_run
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 2
    functionsReached:
    - eloop_sock_requeue
    - wpa_supplicant_match_existing
    - eloop_register_signal_terminate
    - eloop_register_signal_reconfig
    - wpa_supplicant_ctrl_iface_wait
    - wpa_supplicant_daemon
    - eloop_run
    linkageType: ''
    returnType: int
    signature: int wpa_supplicant_run(struct wpa_global *global)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8993,1
    - Dst: wifi_display_deinit
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:8996,1
    - Dst: wpa_supplicant_remove_iface
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9000,1
    - Dst: wpa_supplicant_global_ctrl_iface_deinit
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9003,1
    - Dst: wpas_notify_supplicant_deinitialized
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9005,1
    - Dst: eap_peer_unregister_methods
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9007,1
    - Dst: eap_server_unregister_methods
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9009,1
    - Dst: global_deinit
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9015,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9017,1
    - Dst: random_deinit
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9019,1
    - Dst: proc_coord_deinit
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9022,1
    - Dst: eloop_destroy
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9025,1
    - Dst: os_daemonize_terminate
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9028,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9029,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9031,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9032,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9033,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9034,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9036,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9039,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9042,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9043,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9044,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9046,1
    - Dst: wpa_debug_close_syslog
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9047,1
    - Dst: wpa_debug_close_file
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9048,1
    - Dst: wpa_debug_close_linux_tracing
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9049,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 1
    argNames:
    - global
    argTypes:
    - struct wpa_global*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9050
      start: 8986
    functionDepth: 6
    functionLinenumber: 8986
    functionLinenumberEnd: 9050
    functionName: wpa_supplicant_deinit
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 3
    functionsReached:
    - wpa_supplicant_global_ctrl_iface_deinit
    - wpas_notify_supplicant_deinitialized
    - eap_server_unregister_methods
    - eloop_cancel_timeout
    - eloop_destroy
    - random_deinit
    - wpa_debug_close_linux_tracing
    - wpa_debug_close_file
    - proc_coord_deinit
    - os_daemonize_terminate
    - wpa_supplicant_remove_iface
    - os_free
    - global_deinit
    - wifi_display_deinit
    - wpa_debug_close_syslog
    - eap_peer_unregister_methods
    linkageType: ''
    returnType: void
    signature: void wpa_supplicant_deinit(struct wpa_global *global)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9058,1
    - Dst: wpa_config_read
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9059,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9061,1
    - Dst: wpa_config_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9063,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9065,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9068
      start: 9053
    functionDepth: 1
    functionLinenumber: 9053
    functionLinenumberEnd: 9068
    functionName: wpa_supplicant_parse_config
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_config_read
    - wpa_printf
    - wpa_config_free
    linkageType: ''
    returnType: int
    signature: int wpa_supplicant_parse_config(const char *fname)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_set_country
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9079,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9080,1
    - Dst: wpas_init_ext_pw
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9086,1
    - Dst: wpas_sched_scan_plans_set
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9089,1
    - Dst: wpa_drv_get_capa
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9093,1
    - Dst: wpas_set_wowlan_triggers
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9095,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9096,1
    - Dst: wpa_supplicant_set_default_scan_ies
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9102,1
    - Dst: wpa_sm_set_param
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9105,1
    - Dst: wpas_p2p_disabled_changed
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9110,1
    - Dst: wpa_supplicant_reset_bgscan
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9122,1
    - Dst: wpas_wps_update_config
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9126,1
    - Dst: wpas_p2p_update_config
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9128,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 28
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9130
      start: 9071
    functionDepth: 7
    functionLinenumber: 9071
    functionLinenumberEnd: 9130
    functionName: wpa_supplicant_update_config
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 1
    functionsReached:
    - wpas_wps_update_config
    - wpa_printf
    - wpa_supplicant_set_default_scan_ies
    - wpa_drv_set_country
    - wpa_sm_set_param
    - wpa_drv_get_capa
    - wpa_supplicant_reset_bgscan
    - wpas_p2p_update_config
    - wpas_p2p_disabled_changed
    - wpas_sched_scan_plans_set
    - wpas_set_wowlan_triggers
    - wpas_init_ext_pw
    linkageType: ''
    returnType: void
    signature: void wpa_supplicant_update_config(struct wpa_supplicant *wpa_s)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpas_connect_work_done
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9139,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9144,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9152,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9157,1
    - Dst: wpa_bssid_ignore_add
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9165,1
    - Dst: wpa_bssid_ignore_add
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9173,1
    - Dst: wpa_supplicant_fast_associate
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9181,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9187,1
    - Dst: wpas_auth_failed
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9189,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9214,1
    - Dst: wpa_supplicant_req_scan
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9220,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 3
    argNames:
    - wpa_s
    - bssid
    - link_bssids
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9222
      start: 9133
    functionDepth: 3
    functionLinenumber: 9133
    functionLinenumberEnd: 9222
    functionName: wpas_connection_failed
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_supplicant_req_scan
    - eloop_cancel_timeout
    - wpa_supplicant_fast_associate
    - wpa_bssid_ignore_add
    - wpas_connect_work_done
    - wpa_dbg
    - wpas_auth_failed
    linkageType: ''
    returnType: void
    signature: "void wpas_connection_failed(struct wpa_supplicant *wpa_s, const u8
      *bssid,\n\t\t\t    const u8 **link_bssids)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_key_mgmt_fils
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9245,1
    - Dst: eapol_sm_get_erp_info
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9248,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9253,1
    - Dst: wpa_sm_aborted_external_cached
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9255,1
    - Dst: wpa_sm_external_pmksa_cache_flush
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9256,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9260,1
    - Dst: wpa_sm_aborted_cached
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9261,1
    - Dst: wpa_sm_pmksa_cache_flush
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9262,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9263
      start: 9227
    functionDepth: 1
    functionLinenumber: 9227
    functionLinenumberEnd: 9263
    functionName: fils_pmksa_cache_flush
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - eapol_sm_get_erp_info
    - wpa_sm_aborted_cached
    - wpa_sm_aborted_external_cached
    - wpa_sm_external_pmksa_cache_flush
    - wpa_sm_pmksa_cache_flush
    - wpa_dbg
    - wpa_key_mgmt_fils
    linkageType: ''
    returnType: void
    signature: void fils_pmksa_cache_flush(struct wpa_supplicant *wpa_s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_key_mgmt_fils
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9273,1
    - Dst: eapol_sm_get_erp_info
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9274,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9281,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9284,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9285,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9288,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9290
      start: 9266
    functionDepth: 1
    functionLinenumber: 9266
    functionLinenumberEnd: 9290
    functionName: fils_connection_failure
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - eapol_sm_get_erp_info
    - os_malloc
    - wpa_key_mgmt_fils
    - os_free
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: void
    signature: void fils_connection_failure(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9298
      start: 9294
    functionDepth: 0
    functionLinenumber: 9294
    functionLinenumberEnd: 9298
    functionName: wpas_driver_bss_selection
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpas_driver_bss_selection(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9304
      start: 9301
    functionDepth: 0
    functionLinenumber: 9301
    functionLinenumberEnd: 9304
    functionName: wpas_driver_rsn_override
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool wpas_driver_rsn_override(struct wpa_supplicant *wpa_s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpas_driver_bss_selection
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9323,1
    - Dst: wpas_driver_rsn_override
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9324,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - wpa_s
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9327
      start: 9307
    functionDepth: 1
    functionLinenumber: 9307
    functionLinenumberEnd: 9327
    functionName: wpas_rsn_overriding
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_driver_bss_selection
    - wpas_driver_rsn_override
    linkageType: ''
    returnType: bool
    signature: bool wpas_rsn_overriding(struct wpa_supplicant *wpa_s, struct wpa_ssid
      *ssid)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9339,1
    - Dst: wpa_hexdump_ascii_key
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9340,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9341,1
    - Dst: wpa_supplicant_ctrl_req_from_string
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9343,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9345,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9346,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9349,1
    - Dst: bin_clear_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9355,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9356,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9359,1
    - Dst: bin_clear_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9365,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9366,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9369,1
    - Dst: str_clear_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9375,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9376,1
    - Dst: bin_clear_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9384,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9385,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9388,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9389,1
    - Dst: str_clear_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9394,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9395,1
    - Dst: str_clear_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9403,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9404,1
    - Dst: wpa_config_set
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9410,1
    - Dst: wpa_config_update_psk
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9414,1
    - Dst: wpa_supplicant_req_scan
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9416,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9421,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9423,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9429,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9435,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 94
    argCount: 4
    argNames:
    - wpa_s
    - ssid
    - field
    - value
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9438
      start: 9331
    functionDepth: 2
    functionLinenumber: 9331
    functionLinenumberEnd: 9438
    functionName: wpa_supplicant_ctrl_iface_ctrl_rsp_handle
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - wpa_supplicant_req_scan
    - wpa_config_set
    - wpa_config_update_psk
    - str_clear_free
    - os_strcmp
    - wpa_hexdump_ascii_key
    - os_free
    - wpa_supplicant_ctrl_req_from_string
    - os_strdup
    - bin_clear_free
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_ctrl_iface_ctrl_rsp_handle(struct wpa_supplicant
      *wpa_s,\n\t\t\t\t\t      struct wpa_ssid *ssid,\n\t\t\t\t\t      const char
      *field,\n\t\t\t\t\t      const char *value)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: wpa_key_mgmt_wpa_psk
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9478,1
    - Dst: wpa_key_mgmt_sae
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9480,1
    - Dst: crypto_rsa_key_read
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9491,1
    - Dst: crypto_rsa_key_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9494,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9496,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 34
    argCount: 2
    argNames:
    - wpa_s
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9506
      start: 9442
    functionDepth: 1
    functionLinenumber: 9442
    functionLinenumberEnd: 9506
    functionName: wpas_network_disabled
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 6
    functionsReached:
    - wpa_key_mgmt_sae
    - wpa_printf
    - wpa_key_mgmt_wpa_psk
    - crypto_rsa_key_free
    - crypto_rsa_key_read
    linkageType: ''
    returnType: int
    signature: int wpas_network_disabled(struct wpa_supplicant *wpa_s, struct wpa_ssid
      *ssid)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 2
    argNames:
    - wpa_s
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9546
      start: 9509
    functionDepth: 0
    functionLinenumber: 9509
    functionLinenumberEnd: 9546
    functionName: wpas_get_ssid_pmf
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpas_get_ssid_pmf(struct wpa_supplicant *wpa_s, struct wpa_ssid
      *ssid)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9557
      start: 9551
    functionDepth: 0
    functionLinenumber: 9551
    functionLinenumberEnd: 9557
    functionName: wpas_get_ssid_sae_pwe
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: enum sae_pwe
    signature: "enum sae_pwe wpas_get_ssid_sae_pwe(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \  struct wpa_ssid *ssid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_get_ssid_pmf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9567,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - wpa_s
    - ssid
    - ie
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    - struct wpa_ie_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9568
      start: 9560
    functionDepth: 1
    functionLinenumber: 9560
    functionLinenumberEnd: 9568
    functionName: wpas_is_sae_avoided
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_get_ssid_pmf
    linkageType: ''
    returnType: bool
    signature: "bool wpas_is_sae_avoided(struct wpa_supplicant *wpa_s,\n\t\t\t struct
      wpa_ssid *ssid,\n\t\t\t const struct wpa_ie_data *ie)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9579,1
    - Dst: wpas_ap_link_address
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9580,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9583,1
    - Dst: wpa_sm_pmf_enabled
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9586,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - wpa_s
    - addr
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9587
      start: 9573
    functionDepth: 1
    functionLinenumber: 9573
    functionLinenumberEnd: 9587
    functionName: pmf_in_use
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 4
    functionsReached:
    - wpas_ap_link_address
    - ether_addr_equal
    - wpa_sm_pmf_enabled
    linkageType: ''
    returnType: int
    signature: int pmf_in_use(struct wpa_supplicant *wpa_s, const u8 *addr)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9597
      start: 9590
    functionDepth: 0
    functionLinenumber: 9590
    functionLinenumberEnd: 9597
    functionName: wpas_is_p2p_prioritized
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpas_is_p2p_prioritized(struct wpa_supplicant *wpa_s)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9608,1
    - Dst: wpa_key_mgmt_wpa_ieee8021x
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9645,1
    - Dst: os_random
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9646,1
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9648,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9654,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9656,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9660,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    argCount: 3
    argNames:
    - wpa_s
    - reason
    - bssid
    argTypes:
    - struct wpa_supplicant*
    - char*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9661
      start: 9600
    functionDepth: 1
    functionLinenumber: 9600
    functionLinenumberEnd: 9661
    functionName: wpas_auth_failed
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 1
    functionsReached:
    - os_get_reltime
    - wpa_printf
    - os_memcpy
    - wpa_msg
    - wpa_ssid_txt
    - os_random
    - wpa_key_mgmt_wpa_ieee8021x
    linkageType: ''
    returnType: void
    signature: "void wpas_auth_failed(struct wpa_supplicant *wpa_s, const char *reason,\n\t\t
      \     const u8 *bssid)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9671,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9673,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9679,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9680,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9682,1
    - Dst: wpa_bssid_ignore_add
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9683,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9684,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - wpa_s
    - ssid
    - clear_failures
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9686
      start: 9664
    functionDepth: 3
    functionLinenumber: 9664
    functionLinenumberEnd: 9686
    functionName: wpas_clear_temp_disabled
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 3
    functionsReached:
    - wpa_printf
    - wpa_msg
    - wpa_ssid_txt
    - is_zero_ether_addr
    - wpa_bssid_ignore_add
    - MAC2STR
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void wpas_clear_temp_disabled(struct wpa_supplicant *wpa_s,\n\t\t\t
      \     struct wpa_ssid *ssid, int clear_failures)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9697,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - wpa_s
    - bssid
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9703
      start: 9689
    functionDepth: 1
    functionLinenumber: 9689
    functionLinenumberEnd: 9703
    functionName: disallowed_bssid
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - ether_addr_equal
    linkageType: ''
    returnType: int
    signature: int disallowed_bssid(struct wpa_supplicant *wpa_s, const u8 *bssid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9717,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - wpa_s
    - ssid
    - ssid_len
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9722
      start: 9706
    functionDepth: 0
    functionLinenumber: 9706
    functionLinenumberEnd: 9722
    functionName: disallowed_ssid
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - os_memcmp
    linkageType: ''
    returnType: int
    signature: "int disallowed_ssid(struct wpa_supplicant *wpa_s, const u8 *ssid,\n\t\t
      \   size_t ssid_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_supplicant_reinit_autoscan
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9737,1
    - Dst: wpa_pasn_reset
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9742,1
    - Dst: wpa_supplicant_fast_associate
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9745,1
    - Dst: wpa_supplicant_req_scan
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9746,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9749
      start: 9733
    functionDepth: 3
    functionLinenumber: 9733
    functionLinenumberEnd: 9749
    functionName: wpas_request_connection
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_pasn_reset
    - wpa_supplicant_fast_associate
    - wpa_supplicant_reinit_autoscan
    - wpa_supplicant_req_scan
    linkageType: ''
    returnType: void
    signature: void wpas_request_connection(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_supplicant_cancel_sched_scan
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9766,1
    - Dst: wpa_supplicant_cancel_scan
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9767,1
    - Dst: wpas_abort_ongoing_scan
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9768,1
    - Dst: wpa_supplicant_deauthenticate
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9769,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9770,1
    - Dst: radio_remove_works
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9771,1
    - Dst: radio_remove_works
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9772,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9777
      start: 9759
    functionDepth: 4
    functionLinenumber: 9759
    functionLinenumberEnd: 9777
    functionName: wpas_request_disconnection
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_cancel_sched_scan
    - eloop_cancel_timeout
    - wpa_supplicant_deauthenticate
    - wpa_supplicant_cancel_scan
    - radio_remove_works
    - wpas_abort_ongoing_scan
    linkageType: ''
    returnType: void
    signature: void wpas_request_disconnection(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9786,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9790,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - wpa_s
    - title
    - freqs_data
    - len
    argTypes:
    - struct wpa_supplicant*
    - char*
    - struct wpa_used_freq_data*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9793
      start: 9780
    functionDepth: 1
    functionLinenumber: 9780
    functionLinenumberEnd: 9793
    functionName: dump_freq_data
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_dbg
    linkageType: ''
    returnType: void
    signature: "void dump_freq_data(struct wpa_supplicant *wpa_s, const char *title,\n\t\t
      \   struct wpa_used_freq_data *freqs_data,\n\t\t    unsigned int len)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9809,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9811,1
    - Dst: dl_list_for_each
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9813,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9835,1
    - Dst: wpas_drv_get_sta_mlo_info
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9837,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9838,1
    - Dst: for_each_link
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9846,1
    - Dst: wpa_drv_get_bssid
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9852,1
    - Dst: dump_freq_data
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9876,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 45
    argCount: 4
    argNames:
    - wpa_s
    - freqs_data
    - len
    - exclude_current
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_used_freq_data*
    - unsigned int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9878
      start: 9801
    functionDepth: 2
    functionLinenumber: 9801
    functionLinenumberEnd: 9878
    functionName: get_shared_radio_freqs_data
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - for_each_link
    - wpas_drv_get_sta_mlo_info
    - dl_list_for_each
    - wpa_drv_get_bssid
    - dump_freq_data
    - wpa_dbg
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int get_shared_radio_freqs_data(struct wpa_supplicant *wpa_s,\n\t\t\t\tstruct
      wpa_used_freq_data *freqs_data,\n\t\t\t\tunsigned int len, bool exclude_current)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9892,1
    - Dst: os_calloc
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9894,1
    - Dst: get_shared_radio_freqs_data
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9898,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9903,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - wpa_s
    - freq_array
    - len
    - exclude_current
    argTypes:
    - struct wpa_supplicant*
    - int*
    - unsigned int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9906
      start: 9885
    functionDepth: 3
    functionLinenumber: 9885
    functionLinenumberEnd: 9906
    functionName: get_shared_radio_freqs
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - os_free
    - get_shared_radio_freqs_data
    - os_calloc
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int get_shared_radio_freqs(struct wpa_supplicant *wpa_s,\n\t\t\t   int
      *freq_array, unsigned int len,\n\t\t\t   bool exclude_current)"
  - BBCount: 15
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 2
    argNames:
    - wpa_s
    - frame
    argTypes:
    - struct wpa_supplicant*
    - enum wpa_vendor_elem_frame
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9932
      start: 9909
    functionDepth: 0
    functionLinenumber: 9909
    functionLinenumberEnd: 9932
    functionName: wpas_vendor_elem
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct wpa_supplicant
    signature: 'struct wpa_supplicant *

      wpas_vendor_elem(struct wpa_supplicant *wpa_s, enum wpa_vendor_elem_frame frame)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9940,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9946,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9947,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9948,1
    - Dst: p2p_set_vendor_elems
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9958,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9960
      start: 9935
    functionDepth: 1
    functionLinenumber: 9935
    functionLinenumberEnd: 9960
    functionName: wpas_vendor_elem_update
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - p2p_set_vendor_elems
    - os_snprintf
    - os_snprintf_error
    - wpa_hexdump_buf
    linkageType: ''
    returnType: void
    signature: void wpas_vendor_elem_update(struct wpa_supplicant *wpa_s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_mhead_u8
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9968,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9969,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9974,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9977,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9978,1
    - Dst: os_memmove
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9981,1
    - Dst: wpas_vendor_elem_update
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:9984,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 4
    argNames:
    - wpa_s
    - frame
    - elem
    - len
    argTypes:
    - struct wpa_supplicant*
    - int
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9989
      start: 9963
    functionDepth: 2
    functionLinenumber: 9963
    functionLinenumberEnd: 9989
    functionName: wpas_vendor_elem_remove
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpabuf_mhead_u8
    - wpabuf_len
    - wpabuf_free
    - os_memmove
    - wpas_vendor_elem_update
    - os_memcmp
    linkageType: ''
    returnType: int
    signature: "int wpas_vendor_elem_remove(struct wpa_supplicant *wpa_s, int frame,\n\t\t\t
      \   const u8 *elem, size_t len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 4
    argNames:
    - modes
    - num_modes
    - mode
    - is_6ghz
    argTypes:
    - struct hostapd_hw_modes*
    - u16
    - enum hostapd_hw_mode
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10010
      start: 9992
    functionDepth: 0
    functionLinenumber: 9992
    functionLinenumberEnd: 10010
    functionName: get_mode
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: struct hostapd_hw_modes
    signature: "struct hostapd_hw_modes * get_mode(struct hostapd_hw_modes *modes,\n\t\t\t\t
      \  u16 num_modes, enum hostapd_hw_mode mode,\n\t\t\t\t   bool is_6ghz)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - modes
    - num_modes
    - freq
    argTypes:
    - struct hostapd_hw_modes*
    - u16
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10026
      start: 10013
    functionDepth: 0
    functionLinenumber: 10013
    functionLinenumberEnd: 10026
    functionName: get_mode_with_freq
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: struct hostapd_hw_modes
    signature: "struct hostapd_hw_modes * get_mode_with_freq(struct hostapd_hw_modes
      *modes,\n\t\t\t\t\t     u16 num_modes, int freq)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:10035,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:10037,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - wpa_s
    - bssid
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10042
      start: 10029
    functionDepth: 1
    functionLinenumber: 10029
    functionLinenumberEnd: 10042
    functionName: wpas_get_disallowed_bss
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    - ether_addr_equal
    linkageType: ''
    returnType: 'struct

      wpa_bss_tmp_disallowed'
    signature: "struct\nwpa_bss_tmp_disallowed * wpas_get_disallowed_bss(struct wpa_supplicant
      *wpa_s,\n\t\t\t\t\t\t const u8 *bssid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:10052,1
    - Dst: dl_list_len
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:10052,1
    - Dst: dl_list_for_each
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:10055,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:10057,1
    - Dst: wpa_drv_set_bssid_tmp_disallow
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:10061,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:10062,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10064
      start: 10045
    functionDepth: 1
    functionLinenumber: 10045
    functionLinenumberEnd: 10064
    functionName: wpa_set_driver_tmp_disallow_list
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_drv_set_bssid_tmp_disallow
    - os_malloc
    - dl_list_for_each
    - os_free
    - dl_list_len
    linkageType: ''
    returnType: int
    signature: int wpa_set_driver_tmp_disallow_list(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:10073,1
    - Dst: remove_bss_tmp_disallowed_entry
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:10076,1
    - Dst: wpa_set_driver_tmp_disallow_list
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:10077,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10081
      start: 10067
    functionDepth: 2
    functionLinenumber: 10067
    functionLinenumberEnd: 10081
    functionName: wpa_bss_tmp_disallow_timeout
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    - wpa_set_driver_tmp_disallow_list
    - remove_bss_tmp_disallowed_entry
    linkageType: ''
    returnType: void
    signature: void wpa_bss_tmp_disallow_timeout(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpas_get_disallowed_bss
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:10089,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:10091,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:10095,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:10097,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:10102,1
    - Dst: dl_list_add
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:10103,1
    - Dst: wpa_set_driver_tmp_disallow_list
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:10104,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:10108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 4
    argNames:
    - wpa_s
    - bssid
    - sec
    - rssi_threshold
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10110
      start: 10084
    functionDepth: 2
    functionLinenumber: 10084
    functionLinenumberEnd: 10110
    functionName: wpa_bss_tmp_disallow
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpas_get_disallowed_bss
    - os_memcpy
    - wpa_set_driver_tmp_disallow_list
    - eloop_cancel_timeout
    - os_malloc
    - dl_list_add
    - eloop_register_timeout
    linkageType: ''
    returnType: void
    signature: "void wpa_bss_tmp_disallow(struct wpa_supplicant *wpa_s, const u8 *bssid,\n\t\t\t
      \ unsigned int sec, int rssi_threshold)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:10118,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:10120,1
    - Dst: remove_bss_tmp_disallowed_entry
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:10130,1
    - Dst: wpa_set_driver_tmp_disallow_list
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:10131,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - wpa_s
    - bss
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10136
      start: 10113
    functionDepth: 2
    functionLinenumber: 10113
    functionLinenumberEnd: 10136
    functionName: wpa_is_bss_tmp_disallowed
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - ether_addr_equal
    - wpa_set_driver_tmp_disallow_list
    - remove_bss_tmp_disallowed_entry
    - dl_list_for_each_safe
    linkageType: ''
    returnType: int
    signature: "int wpa_is_bss_tmp_disallowed(struct wpa_supplicant *wpa_s,\n\t\t\t
      \     struct wpa_bss *bss)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:10144,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:10150,1
    - Dst: wpas_mac_addr_rand_scan_set
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:10156,1
    - Dst: wpas_mac_addr_rand_scan_set
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:10162,1
    - Dst: wpas_scan_restart_sched_scan
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:10167,1
    - Dst: wpas_mac_addr_rand_scan_set
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:10171,1
    - Dst: wpas_stop_pno
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:10176,1
    - Dst: wpas_start_pno
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:10177,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 28
    argCount: 4
    argNames:
    - wpa_s
    - type
    - addr
    - mask
    argTypes:
    - struct wpa_supplicant*
    - unsigned int
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10182
      start: 10139
    functionDepth: 4
    functionLinenumber: 10139
    functionLinenumberEnd: 10182
    functionName: wpas_enable_mac_addr_randomization
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpas_start_pno
    - wpas_mac_addr_rand_scan_set
    - wpas_stop_pno
    - wpas_scan_restart_sched_scan
    linkageType: ''
    returnType: int
    signature: "int wpas_enable_mac_addr_randomization(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \      unsigned int type, const u8 *addr,\n\t\t\t\t       const u8 *mask)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpas_mac_addr_rand_scan_clear
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:10188,1
    - Dst: wpas_stop_pno
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:10191,1
    - Dst: wpas_start_pno
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:10192,1
    - Dst: wpas_scan_restart_sched_scan
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:10195,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - wpa_s
    - type
    argTypes:
    - struct wpa_supplicant*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10199
      start: 10185
    functionDepth: 4
    functionLinenumber: 10185
    functionLinenumberEnd: 10199
    functionName: wpas_disable_mac_addr_randomization
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_scan_restart_sched_scan
    - wpas_mac_addr_rand_scan_clear
    - wpas_start_pno
    - wpas_stop_pno
    linkageType: ''
    returnType: int
    signature: "int wpas_disable_mac_addr_randomization(struct wpa_supplicant *wpa_s,\n\t\t\t\t\tunsigned
      int type)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::signal_poll
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:10210,1
    - Dst: dl_list_for_each
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:10216,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:10218,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:10220,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - wpa_s
    - si
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_signal_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10240
      start: 10202
    functionDepth: 1
    functionLinenumber: 10202
    functionLinenumberEnd: 10240
    functionName: wpa_drv_signal_poll
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    - wpa_printf
    - ether_addr_equal
    - struct wpa_supplicant*::driver::signal_poll
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_signal_poll(struct wpa_supplicant *wpa_s,\n\t\t\tstruct
      wpa_signal_info *si)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::get_scan_results
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:10252,1
    - Dst: struct wpa_supplicant*::driver::get_scan_results2
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:10255,1
    - Dst: dl_list_for_each
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:10265,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:10267,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:10269,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:10273,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - wpa_s
    - bssid
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10286
      start: 10243
    functionDepth: 1
    functionLinenumber: 10243
    functionLinenumberEnd: 10286
    functionName: wpa_drv_get_scan_results
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 1
    functionsReached:
    - struct wpa_supplicant*::driver::get_scan_results
    - wpa_printf
    - ether_addr_equal
    - struct wpa_supplicant*::driver::get_scan_results2
    - dl_list_for_each
    - MAC2STR
    linkageType: ''
    returnType: struct wpa_scan_results
    signature: 'struct wpa_scan_results *

      wpa_drv_get_scan_results(struct wpa_supplicant *wpa_s, const u8 *bssid)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: for_each_link
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:10296,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:10297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - wpa_s
    - addr
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10302
      start: 10289
    functionDepth: 1
    functionLinenumber: 10289
    functionLinenumberEnd: 10302
    functionName: wpas_ap_link_address
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 2
    functionsReached:
    - ether_addr_equal
    - for_each_link
    linkageType: ''
    returnType: bool
    signature: bool wpas_ap_link_address(struct wpa_supplicant *wpa_s, const u8 *addr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpas_ap_link_address
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:10314,1
    - Dst: wpas_ap_link_address
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:10317,1
    - Dst: struct wpa_supplicant*::driver::send_action
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:10321,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 9
    argNames:
    - wpa_s
    - freq
    - wait
    - dst
    - src
    - bssid
    - data
    - data_len
    - no_cck
    argTypes:
    - struct wpa_supplicant*
    - unsigned int
    - unsigned int
    - u8*
    - u8*
    - u8*
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10323
      start: 10305
    functionDepth: 2
    functionLinenumber: 10305
    functionLinenumberEnd: 10323
    functionName: wpa_drv_send_action
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 6
    functionsReached:
    - wpas_ap_link_address
    - struct wpa_supplicant*::driver::send_action
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_send_action(struct wpa_supplicant *wpa_s, unsigned int
      freq,\n\t\t\tunsigned int wait, const u8 *dst, const u8 *src,\n\t\t\tconst u8
      *bssid, const u8 *data, size_t data_len,\n\t\t\tint no_cck)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_6ghz_freq
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:10338,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - wpa_s
    - only_enabled
    argTypes:
    - struct wpa_supplicant*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10345
      start: 10326
    functionDepth: 1
    functionLinenumber: 10326
    functionLinenumberEnd: 10345
    functionName: wpas_is_6ghz_supported
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 1
    functionsReached:
    - is_6ghz_freq
    linkageType: ''
    returnType: bool
    signature: bool wpas_is_6ghz_supported(struct wpa_supplicant *wpa_s, bool only_enabled)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_bss_get_vendor_ie
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:10355,1
    - Dst: wpa_bss_get_vendor_ie
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:10356,1
    - Dst: for_each_link
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:10362,1
    - Dst: wpa_bss_get_vendor_ie
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:10364,1
    - Dst: wpa_bss_get_vendor_ie
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:10366,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - wpa_s
    - bss
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10372
      start: 10348
    functionDepth: 1
    functionLinenumber: 10348
    functionLinenumberEnd: 10372
    functionName: wpas_ap_supports_rsn_overriding
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_bss_get_vendor_ie
    - for_each_link
    linkageType: ''
    returnType: bool
    signature: "bool wpas_ap_supports_rsn_overriding(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \    struct wpa_bss *bss)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_bss_get_vendor_ie
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:10382,1
    - Dst: for_each_link
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:10388,1
    - Dst: wpa_bss_get_vendor_ie
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:10390,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - wpa_s
    - bss
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10396
      start: 10375
    functionDepth: 1
    functionLinenumber: 10375
    functionLinenumberEnd: 10396
    functionName: wpas_ap_supports_rsn_overriding_2
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_bss_get_vendor_ie
    - for_each_link
    linkageType: ''
    returnType: bool
    signature: "bool wpas_ap_supports_rsn_overriding_2(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \      struct wpa_bss *bss)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - owe_ie
    - bssid
    - ssid
    - ssid_len
    argTypes:
    - u8*
    - u8**
    - u8**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10427
      start: 10399
    functionDepth: 0
    functionLinenumber: 10399
    functionLinenumberEnd: 10427
    functionName: wpas_get_owe_trans_network
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int wpas_get_owe_trans_network(const u8 *owe_ie, const u8 **bssid,\n\t\t\t
      \      const u8 **ssid, size_t *ssid_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:10435,1
    - Dst: p2p_update_dfs_ap_info
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:10446,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - wpa_s
    - freq
    - ap_ch_width
    - disconnect_evt
    argTypes:
    - struct wpa_supplicant*
    - int
    - enum chan_width
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10449
      start: 10430
    functionDepth: 1
    functionLinenumber: 10430
    functionLinenumberEnd: 10449
    functionName: wpas_update_dfs_ap_info
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - p2p_update_dfs_ap_info
    linkageType: ''
    returnType: void
    signature: "void wpas_update_dfs_ap_info(struct wpa_supplicant *wpa_s, int freq,\n\t\t\t
      \    enum chan_width ap_ch_width,\n\t\t\t     bool disconnect_evt)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: is_hs20_network
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:10462,1
    - Dst: wpa_bss_get_vendor_ie
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:10478,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:10482,1
    - Dst: wpa_bss_ext_capab
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:10489,1
    - Dst: wpa_drv_configure_frame_filters
      Src: /src/hostap/wpa_supplicant/wpa_supplicant.c:10499,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 21
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10500
      start: 10452
    functionDepth: 1
    functionLinenumber: 10452
    functionLinenumberEnd: 10500
    functionName: wpas_configure_frame_filters
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_supplicant.c
    functionUses: 0
    functionsReached:
    - is_hs20_network
    - wpa_printf
    - wpa_drv_configure_frame_filters
    - wpa_bss_ext_capab
    - wpa_bss_get_vendor_ie
    linkageType: ''
    returnType: void
    signature: void wpas_configure_frame_filters(struct wpa_supplicant *wpa_s)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: RegOpenKeyEx
      Src: /src/hostap/wpa_supplicant/config_winreg.c:58,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/config_winreg.c:58,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config_winreg.c:60,1
    - Dst: RegEnumValue
      Src: /src/hostap/wpa_supplicant/config_winreg.c:73,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config_winreg.c:80,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/config_winreg.c:87,1
    - Dst: wpa_unicode2ascii_inplace
      Src: /src/hostap/wpa_supplicant/config_winreg.c:88,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config_winreg.c:93,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/config_winreg.c:96,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/config_winreg.c:101,1
    - Dst: os_memdup
      Src: /src/hostap/wpa_supplicant/config_winreg.c:102,1
    - Dst: wpa_config_free_blob
      Src: /src/hostap/wpa_supplicant/config_winreg.c:104,1
    - Dst: wpa_config_set_blob
      Src: /src/hostap/wpa_supplicant/config_winreg.c:110,1
    - Dst: RegCloseKey
      Src: /src/hostap/wpa_supplicant/config_winreg.c:113,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 2
    argNames:
    - config
    - hk
    argTypes:
    - struct wpa_config*
    - HKEY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 116
    functionName: wpa_config_read_blobs
    functionSourceFile: /src/hostap/wpa_supplicant/config_winreg.c
    functionUses: 0
    functionsReached:
    - RegCloseKey
    - wpa_printf
    - RegOpenKeyEx
    - TEXT
    - os_memdup
    - RegEnumValue
    - os_zalloc
    - wpa_config_free_blob
    - wpa_unicode2ascii_inplace
    - os_strdup
    - wpa_config_set_blob
    linkageType: ''
    returnType: int
    signature: int wpa_config_read_blobs(struct wpa_config *config, HKEY hk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RegQueryValueEx
      Src: /src/hostap/wpa_supplicant/config_winreg.c:125,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config_winreg.c:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - hk
    - name
    - _val
    argTypes:
    - HKEY
    - TCHAR*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 133
    functionName: wpa_config_read_reg_dword
    functionSourceFile: /src/hostap/wpa_supplicant/config_winreg.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - RegQueryValueEx
    linkageType: ''
    returnType: int
    signature: int wpa_config_read_reg_dword(HKEY hk, const TCHAR *name, int *_val)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RegQueryValueEx
      Src: /src/hostap/wpa_supplicant/config_winreg.c:143,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/config_winreg.c:146,1
    - Dst: RegQueryValueEx
      Src: /src/hostap/wpa_supplicant/config_winreg.c:150,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config_winreg.c:152,1
    - Dst: wpa_unicode2ascii_inplace
      Src: /src/hostap/wpa_supplicant/config_winreg.c:156,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config_winreg.c:157,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - hk
    - name
    argTypes:
    - HKEY
    - TCHAR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 159
    functionName: wpa_config_read_reg_string
    functionSourceFile: /src/hostap/wpa_supplicant/config_winreg.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_malloc
    - RegQueryValueEx
    - os_free
    - wpa_unicode2ascii_inplace
    linkageType: ''
    returnType: char
    signature: char * wpa_config_read_reg_string(HKEY hk, const TCHAR *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_read_reg_string
      Src: /src/hostap/wpa_supplicant/config_winreg.c:168,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/config_winreg.c:168,1
    - Dst: uuid_str2bin
      Src: /src/hostap/wpa_supplicant/config_winreg.c:172,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config_winreg.c:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - config
    - hk
    argTypes:
    - struct wpa_config*
    - HKEY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 178
    functionName: wpa_config_read_global_uuid
    functionSourceFile: /src/hostap/wpa_supplicant/config_winreg.c
    functionUses: 0
    functionsReached:
    - os_free
    - TEXT
    - uuid_str2bin
    - wpa_config_read_reg_string
    linkageType: ''
    returnType: int
    signature: int wpa_config_read_global_uuid(struct wpa_config *config, HKEY hk)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_read_reg_string
      Src: /src/hostap/wpa_supplicant/config_winreg.c:187,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/config_winreg.c:187,1
    - Dst: hexstr2bin
      Src: /src/hostap/wpa_supplicant/config_winreg.c:191,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config_winreg.c:194,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - config
    - hk
    argTypes:
    - struct wpa_config*
    - HKEY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 197
    functionName: wpa_config_read_global_os_version
    functionSourceFile: /src/hostap/wpa_supplicant/config_winreg.c
    functionUses: 0
    functionsReached:
    - hexstr2bin
    - TEXT
    - os_free
    - wpa_config_read_reg_string
    linkageType: ''
    returnType: int
    signature: "int wpa_config_read_global_os_version(struct wpa_config *config,\n\t\t\t\t\t
      \    HKEY hk)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_read_reg_dword
      Src: /src/hostap/wpa_supplicant/config_winreg.c:206,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/config_winreg.c:206,1
    - Dst: wpa_config_read_reg_dword
      Src: /src/hostap/wpa_supplicant/config_winreg.c:207,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/config_winreg.c:207,1
    - Dst: wpa_config_read_reg_dword
      Src: /src/hostap/wpa_supplicant/config_winreg.c:209,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/config_winreg.c:209,1
    - Dst: wpa_config_read_reg_dword
      Src: /src/hostap/wpa_supplicant/config_winreg.c:211,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/config_winreg.c:212,1
    - Dst: wpa_config_read_reg_dword
      Src: /src/hostap/wpa_supplicant/config_winreg.c:215,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/config_winreg.c:215,1
    - Dst: wpa_config_read_reg_dword
      Src: /src/hostap/wpa_supplicant/config_winreg.c:217,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/config_winreg.c:217,1
    - Dst: wpa_config_read_reg_dword
      Src: /src/hostap/wpa_supplicant/config_winreg.c:220,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/config_winreg.c:220,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config_winreg.c:224,1
    - Dst: wpa_config_read_reg_string
      Src: /src/hostap/wpa_supplicant/config_winreg.c:230,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/config_winreg.c:231,1
    - Dst: wpa_config_read_global_uuid
      Src: /src/hostap/wpa_supplicant/config_winreg.c:234,1
    - Dst: wpa_config_read_reg_dword
      Src: /src/hostap/wpa_supplicant/config_winreg.c:236,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/config_winreg.c:236,1
    - Dst: wpa_config_read_reg_string
      Src: /src/hostap/wpa_supplicant/config_winreg.c:237,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/config_winreg.c:238,1
    - Dst: wpa_config_read_reg_string
      Src: /src/hostap/wpa_supplicant/config_winreg.c:239,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/config_winreg.c:240,1
    - Dst: wpa_config_read_reg_string
      Src: /src/hostap/wpa_supplicant/config_winreg.c:241,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/config_winreg.c:242,1
    - Dst: wpa_config_read_reg_string
      Src: /src/hostap/wpa_supplicant/config_winreg.c:243,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/config_winreg.c:244,1
    - Dst: wpa_config_read_reg_string
      Src: /src/hostap/wpa_supplicant/config_winreg.c:246,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/config_winreg.c:247,1
    - Dst: wps_dev_type_str2bin
      Src: /src/hostap/wpa_supplicant/config_winreg.c:248,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config_winreg.c:250,1
    - Dst: wpa_config_read_reg_string
      Src: /src/hostap/wpa_supplicant/config_winreg.c:252,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/config_winreg.c:253,1
    - Dst: wpa_config_read_global_os_version
      Src: /src/hostap/wpa_supplicant/config_winreg.c:254,1
    - Dst: wpa_config_read_reg_dword
      Src: /src/hostap/wpa_supplicant/config_winreg.c:256,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/config_winreg.c:256,1
    - Dst: wpa_config_read_reg_dword
      Src: /src/hostap/wpa_supplicant/config_winreg.c:258,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/config_winreg.c:258,1
    - Dst: wpa_config_read_reg_string
      Src: /src/hostap/wpa_supplicant/config_winreg.c:262,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/config_winreg.c:263,1
    - Dst: wpa_config_read_reg_dword
      Src: /src/hostap/wpa_supplicant/config_winreg.c:264,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/config_winreg.c:264,1
    - Dst: wpa_config_read_reg_dword
      Src: /src/hostap/wpa_supplicant/config_winreg.c:268,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/config_winreg.c:268,1
    - Dst: wpa_config_read_reg_dword
      Src: /src/hostap/wpa_supplicant/config_winreg.c:270,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/config_winreg.c:270,1
    - Dst: wpa_config_read_reg_dword
      Src: /src/hostap/wpa_supplicant/config_winreg.c:272,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/config_winreg.c:272,1
    - Dst: wpa_config_read_reg_dword
      Src: /src/hostap/wpa_supplicant/config_winreg.c:274,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/config_winreg.c:274,1
    - Dst: wpa_config_read_reg_dword
      Src: /src/hostap/wpa_supplicant/config_winreg.c:277,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/config_winreg.c:277,1
    - Dst: wpa_config_read_reg_dword
      Src: /src/hostap/wpa_supplicant/config_winreg.c:278,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/config_winreg.c:278,1
    - Dst: wpa_config_read_reg_dword
      Src: /src/hostap/wpa_supplicant/config_winreg.c:280,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/config_winreg.c:280,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config_winreg.c:283,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 47
    argCount: 2
    argNames:
    - config
    - hk
    argTypes:
    - struct wpa_config*
    - HKEY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 291
    functionName: wpa_config_read_global
    functionSourceFile: /src/hostap/wpa_supplicant/config_winreg.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wps_dev_type_str2bin
    - wpa_config_read_reg_dword
    - TEXT
    - wpa_config_read_global_uuid
    - wpa_config_read_reg_string
    - os_free
    - wpa_config_read_global_os_version
    linkageType: ''
    returnType: int
    signature: int wpa_config_read_global(struct wpa_config *config, HKEY hk)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: RegOpenKeyEx
      Src: /src/hostap/wpa_supplicant/config_winreg.c:303,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config_winreg.c:305,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config_winreg.c:310,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/config_winreg.c:311,1
    - Dst: RegCloseKey
      Src: /src/hostap/wpa_supplicant/config_winreg.c:313,1
    - Dst: dl_list_init
      Src: /src/hostap/wpa_supplicant/config_winreg.c:316,1
    - Dst: wpa_config_set_network_defaults
      Src: /src/hostap/wpa_supplicant/config_winreg.c:319,1
    - Dst: RegEnumValue
      Src: /src/hostap/wpa_supplicant/config_winreg.c:327,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config_winreg.c:334,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/config_winreg.c:341,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/config_winreg.c:345,1
    - Dst: wpa_unicode2ascii_inplace
      Src: /src/hostap/wpa_supplicant/config_winreg.c:347,1
    - Dst: wpa_unicode2ascii_inplace
      Src: /src/hostap/wpa_supplicant/config_winreg.c:348,1
    - Dst: wpa_config_set
      Src: /src/hostap/wpa_supplicant/config_winreg.c:349,1
    - Dst: RegCloseKey
      Src: /src/hostap/wpa_supplicant/config_winreg.c:353,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config_winreg.c:357,1
    - Dst: wpa_config_update_psk
      Src: /src/hostap/wpa_supplicant/config_winreg.c:361,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config_winreg.c:368,1
    - Dst: wpa_config_free_ssid
      Src: /src/hostap/wpa_supplicant/config_winreg.c:375,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 3
    argNames:
    - hk
    - netw
    - id
    argTypes:
    - HKEY
    - TCHAR*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 380
    functionName: wpa_config_read_network
    functionSourceFile: /src/hostap/wpa_supplicant/config_winreg.c
    functionUses: 1
    functionsReached:
    - RegCloseKey
    - wpa_printf
    - wpa_config_set_network_defaults
    - RegOpenKeyEx
    - TEXT
    - wpa_config_update_psk
    - os_zalloc
    - dl_list_init
    - wpa_config_free_ssid
    - wpa_unicode2ascii_inplace
    - RegEnumValue
    - wpa_config_set
    linkageType: ''
    returnType: struct wpa_ssid
    signature: "struct wpa_ssid * wpa_config_read_network(HKEY hk, const TCHAR *netw,\n\t\t\t\t\t\t
      int id)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: RegOpenKeyEx
      Src: /src/hostap/wpa_supplicant/config_winreg.c:391,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/config_winreg.c:391,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config_winreg.c:394,1
    - Dst: RegEnumKeyEx
      Src: /src/hostap/wpa_supplicant/config_winreg.c:404,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config_winreg.c:411,1
    - Dst: wpa_config_read_network
      Src: /src/hostap/wpa_supplicant/config_winreg.c:420,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config_winreg.c:422,1
    - Dst: wpa_config_add_prio_network
      Src: /src/hostap/wpa_supplicant/config_winreg.c:433,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config_winreg.c:434,1
    - Dst: RegCloseKey
      Src: /src/hostap/wpa_supplicant/config_winreg.c:441,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 2
    argNames:
    - config
    - hk
    argTypes:
    - struct wpa_config*
    - HKEY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 446
    functionName: wpa_config_read_networks
    functionSourceFile: /src/hostap/wpa_supplicant/config_winreg.c
    functionUses: 0
    functionsReached:
    - RegCloseKey
    - wpa_printf
    - wpa_config_read_network
    - RegEnumKeyEx
    - RegOpenKeyEx
    - TEXT
    - wpa_config_add_prio_network
    linkageType: ''
    returnType: int
    signature: int wpa_config_read_networks(struct wpa_config *config, HKEY hk)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_alloc_empty
      Src: /src/hostap/wpa_supplicant/config_winreg.c:463,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config_winreg.c:466,1
    - Dst: _snwprintf
      Src: /src/hostap/wpa_supplicant/config_winreg.c:469,1
    - Dst: WPA_KEY_PREFIX TEXT
      Src: /src/hostap/wpa_supplicant/config_winreg.c:469,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/config_winreg.c:471,1
    - Dst: WPA_KEY_PREFIX TEXT
      Src: /src/hostap/wpa_supplicant/config_winreg.c:471,1
    - Dst: RegOpenKeyEx
      Src: /src/hostap/wpa_supplicant/config_winreg.c:474,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config_winreg.c:476,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config_winreg.c:478,1
    - Dst: wpa_config_read_global
      Src: /src/hostap/wpa_supplicant/config_winreg.c:482,1
    - Dst: wpa_config_read_networks
      Src: /src/hostap/wpa_supplicant/config_winreg.c:485,1
    - Dst: wpa_config_read_blobs
      Src: /src/hostap/wpa_supplicant/config_winreg.c:488,1
    - Dst: wpa_config_debug_dump_networks
      Src: /src/hostap/wpa_supplicant/config_winreg.c:491,1
    - Dst: RegCloseKey
      Src: /src/hostap/wpa_supplicant/config_winreg.c:493,1
    - Dst: wpa_config_free
      Src: /src/hostap/wpa_supplicant/config_winreg.c:496,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 4
    argNames:
    - name
    - cfgp
    - ro
    - show_details
    argTypes:
    - char*
    - struct wpa_config*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 449
    functionDepth: 3
    functionLinenumber: 449
    functionLinenumberEnd: 501
    functionName: wpa_config_read
    functionSourceFile: /src/hostap/wpa_supplicant/config_winreg.c
    functionUses: 4
    functionsReached:
    - RegCloseKey
    - wpa_printf
    - wpa_config_free
    - RegOpenKeyEx
    - wpa_config_read_networks
    - wpa_config_alloc_empty
    - wpa_config_read_blobs
    - _snwprintf
    - os_snprintf
    - wpa_config_debug_dump_networks
    - WPA_KEY_PREFIX TEXT
    - wpa_config_read_global
    - os_free
    linkageType: ''
    returnType: struct wpa_config
    signature: "struct wpa_config * wpa_config_read(const char *name, struct wpa_config
      *cfgp,\n\t\t\t\t    bool ro, bool show_details)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RegDeleteValue
      Src: /src/hostap/wpa_supplicant/config_winreg.c:511,1
    - Dst: RegSetValueEx
      Src: /src/hostap/wpa_supplicant/config_winreg.c:515,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config_winreg.c:518,1
    - Dst: GetLastError
      Src: /src/hostap/wpa_supplicant/config_winreg.c:519,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - hk
    - name
    - val
    - def
    argTypes:
    - HKEY
    - TCHAR*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 524
    functionName: wpa_config_write_reg_dword
    functionSourceFile: /src/hostap/wpa_supplicant/config_winreg.c
    functionUses: 0
    functionsReached:
    - RegSetValueEx
    - RegDeleteValue
    - wpa_printf
    - GetLastError
    linkageType: ''
    returnType: int
    signature: "int wpa_config_write_reg_dword(HKEY hk, const TCHAR *name, int val,\n\t\t\t\t
      \     int def)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_strdup_tchar
      Src: /src/hostap/wpa_supplicant/config_winreg.c:533,1
    - Dst: RegDeleteValue
      Src: /src/hostap/wpa_supplicant/config_winreg.c:538,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config_winreg.c:539,1
    - Dst: wpa_strdup_tchar
      Src: /src/hostap/wpa_supplicant/config_winreg.c:543,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config_winreg.c:545,1
    - Dst: RegSetValueEx
      Src: /src/hostap/wpa_supplicant/config_winreg.c:548,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/config_winreg.c:549,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config_winreg.c:551,1
    - Dst: GetLastError
      Src: /src/hostap/wpa_supplicant/config_winreg.c:552,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config_winreg.c:553,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config_winreg.c:554,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config_winreg.c:558,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config_winreg.c:559,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - hk
    - name
    - val
    argTypes:
    - HKEY
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 561
    functionName: wpa_config_write_reg_string
    functionSourceFile: /src/hostap/wpa_supplicant/config_winreg.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - RegSetValueEx
    - wpa_printf
    - GetLastError
    - RegDeleteValue
    - wpa_strdup_tchar
    - os_free
    linkageType: ''
    returnType: int
    signature: "int wpa_config_write_reg_string(HKEY hk, const char *name,\n\t\t\t\t
      \      const char *val)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_write_reg_string
      Src: /src/hostap/wpa_supplicant/config_winreg.c:567,1
    - Dst: wpa_config_write_reg_dword
      Src: /src/hostap/wpa_supplicant/config_winreg.c:571,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/config_winreg.c:571,1
    - Dst: wpa_config_write_reg_dword
      Src: /src/hostap/wpa_supplicant/config_winreg.c:574,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/config_winreg.c:574,1
    - Dst: wpa_config_write_reg_dword
      Src: /src/hostap/wpa_supplicant/config_winreg.c:576,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/config_winreg.c:576,1
    - Dst: wpa_config_write_reg_dword
      Src: /src/hostap/wpa_supplicant/config_winreg.c:578,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/config_winreg.c:578,1
    - Dst: wpa_config_write_reg_dword
      Src: /src/hostap/wpa_supplicant/config_winreg.c:580,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/config_winreg.c:581,1
    - Dst: wpa_config_write_reg_dword
      Src: /src/hostap/wpa_supplicant/config_winreg.c:584,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/config_winreg.c:584,1
    - Dst: wpa_config_write_reg_dword
      Src: /src/hostap/wpa_supplicant/config_winreg.c:586,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/config_winreg.c:586,1
    - Dst: is_nil_uuid
      Src: /src/hostap/wpa_supplicant/config_winreg.c:590,1
    - Dst: uuid_bin2str
      Src: /src/hostap/wpa_supplicant/config_winreg.c:592,1
    - Dst: wpa_config_write_reg_string
      Src: /src/hostap/wpa_supplicant/config_winreg.c:593,1
    - Dst: wpa_config_write_reg_dword
      Src: /src/hostap/wpa_supplicant/config_winreg.c:595,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/config_winreg.c:595,1
    - Dst: wpa_config_write_reg_string
      Src: /src/hostap/wpa_supplicant/config_winreg.c:597,1
    - Dst: wpa_config_write_reg_string
      Src: /src/hostap/wpa_supplicant/config_winreg.c:598,1
    - Dst: wpa_config_write_reg_string
      Src: /src/hostap/wpa_supplicant/config_winreg.c:599,1
    - Dst: wpa_config_write_reg_string
      Src: /src/hostap/wpa_supplicant/config_winreg.c:600,1
    - Dst: wpa_config_write_reg_string
      Src: /src/hostap/wpa_supplicant/config_winreg.c:601,1
    - Dst: wps_dev_type_bin2str
      Src: /src/hostap/wpa_supplicant/config_winreg.c:605,1
    - Dst: wpa_config_write_reg_string
      Src: /src/hostap/wpa_supplicant/config_winreg.c:607,1
    - Dst: wpa_config_write_reg_string
      Src: /src/hostap/wpa_supplicant/config_winreg.c:609,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/wpa_supplicant/config_winreg.c:611,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/config_winreg.c:613,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/wpa_supplicant/config_winreg.c:614,1
    - Dst: wpa_config_write_reg_string
      Src: /src/hostap/wpa_supplicant/config_winreg.c:615,1
    - Dst: wpa_config_write_reg_dword
      Src: /src/hostap/wpa_supplicant/config_winreg.c:617,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/config_winreg.c:617,1
    - Dst: wpa_config_write_reg_dword
      Src: /src/hostap/wpa_supplicant/config_winreg.c:619,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/config_winreg.c:619,1
    - Dst: wpa_config_write_reg_string
      Src: /src/hostap/wpa_supplicant/config_winreg.c:623,1
    - Dst: wpa_config_write_reg_dword
      Src: /src/hostap/wpa_supplicant/config_winreg.c:625,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/config_winreg.c:625,1
    - Dst: wpa_config_write_reg_dword
      Src: /src/hostap/wpa_supplicant/config_winreg.c:629,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/config_winreg.c:629,1
    - Dst: wpa_config_write_reg_dword
      Src: /src/hostap/wpa_supplicant/config_winreg.c:632,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/config_winreg.c:632,1
    - Dst: wpa_config_write_reg_dword
      Src: /src/hostap/wpa_supplicant/config_winreg.c:634,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/config_winreg.c:634,1
    - Dst: wpa_config_write_reg_dword
      Src: /src/hostap/wpa_supplicant/config_winreg.c:636,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/config_winreg.c:636,1
    - Dst: wpa_config_write_reg_dword
      Src: /src/hostap/wpa_supplicant/config_winreg.c:638,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/config_winreg.c:638,1
    - Dst: wpa_config_write_reg_dword
      Src: /src/hostap/wpa_supplicant/config_winreg.c:641,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/config_winreg.c:641,1
    - Dst: wpa_config_write_reg_dword
      Src: /src/hostap/wpa_supplicant/config_winreg.c:642,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/config_winreg.c:642,1
    - Dst: wpa_config_write_reg_dword
      Src: /src/hostap/wpa_supplicant/config_winreg.c:644,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/config_winreg.c:644,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 40
    argCount: 2
    argNames:
    - config
    - hk
    argTypes:
    - struct wpa_config*
    - HKEY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 564
    functionDepth: 1
    functionLinenumber: 564
    functionLinenumberEnd: 648
    functionName: wpa_config_write_global
    functionSourceFile: /src/hostap/wpa_supplicant/config_winreg.c
    functionUses: 1
    functionsReached:
    - TEXT
    - wpa_config_write_reg_dword
    - WPA_GET_BE32
    - is_nil_uuid
    - os_snprintf
    - wpa_config_write_reg_string
    - uuid_bin2str
    - wps_dev_type_bin2str
    linkageType: ''
    returnType: int
    signature: int wpa_config_write_global(struct wpa_config *config, HKEY hk)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: RegOpenKeyEx
      Src: /src/hostap/wpa_supplicant/config_winreg.c:657,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config_winreg.c:659,1
    - Dst: GetLastError
      Src: /src/hostap/wpa_supplicant/config_winreg.c:661,1
    - Dst: RegEnumKeyEx
      Src: /src/hostap/wpa_supplicant/config_winreg.c:670,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config_winreg.c:677,1
    - Dst: GetLastError
      Src: /src/hostap/wpa_supplicant/config_winreg.c:678,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/config_winreg.c:684,1
    - Dst: RegDeleteKey
      Src: /src/hostap/wpa_supplicant/config_winreg.c:686,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config_winreg.c:688,1
    - Dst: GetLastError
      Src: /src/hostap/wpa_supplicant/config_winreg.c:689,1
    - Dst: RegCloseKey
      Src: /src/hostap/wpa_supplicant/config_winreg.c:694,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - hk
    - key
    argTypes:
    - HKEY
    - TCHAR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 697
    functionName: wpa_config_delete_subkeys
    functionSourceFile: /src/hostap/wpa_supplicant/config_winreg.c
    functionUses: 0
    functionsReached:
    - RegCloseKey
    - wpa_printf
    - RegEnumKeyEx
    - GetLastError
    - TEXT
    - RegOpenKeyEx
    - RegDeleteKey
    linkageType: ''
    returnType: int
    signature: int wpa_config_delete_subkeys(HKEY hk, const TCHAR *key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_get
      Src: /src/hostap/wpa_supplicant/config_winreg.c:702,1
    - Dst: wpa_config_write_reg_string
      Src: /src/hostap/wpa_supplicant/config_winreg.c:705,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config_winreg.c:706,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - hk
    - field
    - ssid
    argTypes:
    - HKEY
    - char*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 700
    functionDepth: 1
    functionLinenumber: 700
    functionLinenumberEnd: 707
    functionName: write_str
    functionSourceFile: /src/hostap/wpa_supplicant/config_winreg.c
    functionUses: 1
    functionsReached:
    - os_free
    - wpa_config_get
    - wpa_config_write_reg_string
    linkageType: ''
    returnType: void
    signature: void write_str(HKEY hk, const char *field, struct wpa_ssid *ssid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/config_winreg.c:715,1
    - Dst: wpa_config_write_reg_string
      Src: /src/hostap/wpa_supplicant/config_winreg.c:716,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - hk
    - field
    - value
    - def
    argTypes:
    - HKEY
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 710
    functionDepth: 1
    functionLinenumber: 710
    functionLinenumberEnd: 717
    functionName: write_int
    functionSourceFile: /src/hostap/wpa_supplicant/config_winreg.c
    functionUses: 1
    functionsReached:
    - os_snprintf
    - wpa_config_write_reg_string
    linkageType: ''
    returnType: void
    signature: void write_int(HKEY hk, const char *field, int value, int def)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_get
      Src: /src/hostap/wpa_supplicant/config_winreg.c:722,1
    - Dst: wpa_config_write_reg_string
      Src: /src/hostap/wpa_supplicant/config_winreg.c:725,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config_winreg.c:726,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - hk
    - ssid
    argTypes:
    - HKEY
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 720
    functionDepth: 1
    functionLinenumber: 720
    functionLinenumberEnd: 727
    functionName: write_bssid
    functionSourceFile: /src/hostap/wpa_supplicant/config_winreg.c
    functionUses: 1
    functionsReached:
    - os_free
    - wpa_config_get
    - wpa_config_write_reg_string
    linkageType: ''
    returnType: void
    signature: void write_bssid(HKEY hk, struct wpa_ssid *ssid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_get
      Src: /src/hostap/wpa_supplicant/config_winreg.c:732,1
    - Dst: wpa_config_write_reg_string
      Src: /src/hostap/wpa_supplicant/config_winreg.c:735,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config_winreg.c:736,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - hk
    - ssid
    argTypes:
    - HKEY
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 730
    functionDepth: 1
    functionLinenumber: 730
    functionLinenumberEnd: 737
    functionName: write_psk
    functionSourceFile: /src/hostap/wpa_supplicant/config_winreg.c
    functionUses: 1
    functionsReached:
    - os_free
    - wpa_config_get
    - wpa_config_write_reg_string
    linkageType: ''
    returnType: void
    signature: void write_psk(HKEY hk, struct wpa_ssid *ssid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_get
      Src: /src/hostap/wpa_supplicant/config_winreg.c:747,1
    - Dst: wpa_config_write_reg_string
      Src: /src/hostap/wpa_supplicant/config_winreg.c:751,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config_winreg.c:752,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - hk
    - ssid
    argTypes:
    - HKEY
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 740
    functionDepth: 1
    functionLinenumber: 740
    functionLinenumberEnd: 753
    functionName: write_proto
    functionSourceFile: /src/hostap/wpa_supplicant/config_winreg.c
    functionUses: 1
    functionsReached:
    - os_free
    - wpa_config_get
    - wpa_config_write_reg_string
    linkageType: ''
    returnType: void
    signature: void write_proto(HKEY hk, struct wpa_ssid *ssid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_get
      Src: /src/hostap/wpa_supplicant/config_winreg.c:763,1
    - Dst: wpa_config_write_reg_string
      Src: /src/hostap/wpa_supplicant/config_winreg.c:767,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config_winreg.c:768,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - hk
    - ssid
    argTypes:
    - HKEY
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 756
    functionDepth: 1
    functionLinenumber: 756
    functionLinenumberEnd: 769
    functionName: write_key_mgmt
    functionSourceFile: /src/hostap/wpa_supplicant/config_winreg.c
    functionUses: 1
    functionsReached:
    - os_free
    - wpa_config_get
    - wpa_config_write_reg_string
    linkageType: ''
    returnType: void
    signature: void write_key_mgmt(HKEY hk, struct wpa_ssid *ssid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_get
      Src: /src/hostap/wpa_supplicant/config_winreg.c:779,1
    - Dst: wpa_config_write_reg_string
      Src: /src/hostap/wpa_supplicant/config_winreg.c:783,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config_winreg.c:784,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - hk
    - ssid
    argTypes:
    - HKEY
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 772
    functionDepth: 1
    functionLinenumber: 772
    functionLinenumberEnd: 785
    functionName: write_pairwise
    functionSourceFile: /src/hostap/wpa_supplicant/config_winreg.c
    functionUses: 1
    functionsReached:
    - os_free
    - wpa_config_get
    - wpa_config_write_reg_string
    linkageType: ''
    returnType: void
    signature: void write_pairwise(HKEY hk, struct wpa_ssid *ssid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_get
      Src: /src/hostap/wpa_supplicant/config_winreg.c:795,1
    - Dst: wpa_config_write_reg_string
      Src: /src/hostap/wpa_supplicant/config_winreg.c:799,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config_winreg.c:800,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - hk
    - ssid
    argTypes:
    - HKEY
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 788
    functionDepth: 1
    functionLinenumber: 788
    functionLinenumberEnd: 801
    functionName: write_group
    functionSourceFile: /src/hostap/wpa_supplicant/config_winreg.c
    functionUses: 1
    functionsReached:
    - os_free
    - wpa_config_get
    - wpa_config_write_reg_string
    linkageType: ''
    returnType: void
    signature: void write_group(HKEY hk, struct wpa_ssid *ssid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_get
      Src: /src/hostap/wpa_supplicant/config_winreg.c:811,1
    - Dst: wpa_config_write_reg_string
      Src: /src/hostap/wpa_supplicant/config_winreg.c:815,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config_winreg.c:816,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - hk
    - ssid
    argTypes:
    - HKEY
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 804
    functionDepth: 1
    functionLinenumber: 804
    functionLinenumberEnd: 817
    functionName: write_auth_alg
    functionSourceFile: /src/hostap/wpa_supplicant/config_winreg.c
    functionUses: 1
    functionsReached:
    - os_free
    - wpa_config_get
    - wpa_config_write_reg_string
    linkageType: ''
    returnType: void
    signature: void write_auth_alg(HKEY hk, struct wpa_ssid *ssid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_get
      Src: /src/hostap/wpa_supplicant/config_winreg.c:825,1
    - Dst: wpa_config_write_reg_string
      Src: /src/hostap/wpa_supplicant/config_winreg.c:830,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config_winreg.c:831,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - hk
    - ssid
    argTypes:
    - HKEY
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 821
    functionDepth: 1
    functionLinenumber: 821
    functionLinenumberEnd: 832
    functionName: write_eap
    functionSourceFile: /src/hostap/wpa_supplicant/config_winreg.c
    functionUses: 1
    functionsReached:
    - os_free
    - wpa_config_get
    - wpa_config_write_reg_string
    linkageType: ''
    returnType: void
    signature: void write_eap(HKEY hk, struct wpa_ssid *ssid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/config_winreg.c:841,1
    - Dst: wpa_config_get
      Src: /src/hostap/wpa_supplicant/config_winreg.c:842,1
    - Dst: wpa_config_write_reg_string
      Src: /src/hostap/wpa_supplicant/config_winreg.c:844,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config_winreg.c:845,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - hk
    - idx
    - ssid
    argTypes:
    - HKEY
    - int
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 837
    functionDepth: 1
    functionLinenumber: 837
    functionLinenumberEnd: 847
    functionName: write_wep_key
    functionSourceFile: /src/hostap/wpa_supplicant/config_winreg.c
    functionUses: 1
    functionsReached:
    - os_snprintf
    - os_free
    - wpa_config_get
    - wpa_config_write_reg_string
    linkageType: ''
    returnType: void
    signature: void write_wep_key(HKEY hk, int idx, struct wpa_ssid *ssid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RegOpenKeyEx
      Src: /src/hostap/wpa_supplicant/config_winreg.c:858,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/config_winreg.c:858,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config_winreg.c:860,1
    - Dst: GetLastError
      Src: /src/hostap/wpa_supplicant/config_winreg.c:862,1
    - Dst: wsprintf
      Src: /src/hostap/wpa_supplicant/config_winreg.c:867,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/config_winreg.c:869,1
    - Dst: RegCreateKeyEx
      Src: /src/hostap/wpa_supplicant/config_winreg.c:871,1
    - Dst: RegCloseKey
      Src: /src/hostap/wpa_supplicant/config_winreg.c:873,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config_winreg.c:875,1
    - Dst: GetLastError
      Src: /src/hostap/wpa_supplicant/config_winreg.c:877,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_winreg.c:887,1
    - Dst: INT
      Src: /src/hostap/wpa_supplicant/config_winreg.c:888,1
    - Dst: write_bssid
      Src: /src/hostap/wpa_supplicant/config_winreg.c:889,1
    - Dst: write_psk
      Src: /src/hostap/wpa_supplicant/config_winreg.c:890,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_winreg.c:891,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_winreg.c:892,1
    - Dst: write_proto
      Src: /src/hostap/wpa_supplicant/config_winreg.c:893,1
    - Dst: write_key_mgmt
      Src: /src/hostap/wpa_supplicant/config_winreg.c:894,1
    - Dst: write_pairwise
      Src: /src/hostap/wpa_supplicant/config_winreg.c:895,1
    - Dst: write_group
      Src: /src/hostap/wpa_supplicant/config_winreg.c:896,1
    - Dst: write_auth_alg
      Src: /src/hostap/wpa_supplicant/config_winreg.c:897,1
    - Dst: write_eap
      Src: /src/hostap/wpa_supplicant/config_winreg.c:899,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_winreg.c:900,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_winreg.c:901,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_winreg.c:902,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_winreg.c:903,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_winreg.c:904,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_winreg.c:905,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_winreg.c:906,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_winreg.c:907,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_winreg.c:908,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_winreg.c:909,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_winreg.c:910,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_winreg.c:911,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_winreg.c:912,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_winreg.c:913,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_winreg.c:914,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_winreg.c:915,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_winreg.c:916,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_winreg.c:917,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_winreg.c:918,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_winreg.c:919,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_winreg.c:920,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_winreg.c:921,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_winreg.c:922,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_winreg.c:923,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_winreg.c:924,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_winreg.c:925,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_winreg.c:926,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_winreg.c:927,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_winreg.c:928,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_winreg.c:929,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_winreg.c:930,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_winreg.c:931,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_winreg.c:932,1
    - Dst: INTe
      Src: /src/hostap/wpa_supplicant/config_winreg.c:933,1
    - Dst: INTe
      Src: /src/hostap/wpa_supplicant/config_winreg.c:934,1
    - Dst: INT_DEF
      Src: /src/hostap/wpa_supplicant/config_winreg.c:935,1
    - Dst: write_wep_key
      Src: /src/hostap/wpa_supplicant/config_winreg.c:942,1
    - Dst: INT
      Src: /src/hostap/wpa_supplicant/config_winreg.c:943,1
    - Dst: INT
      Src: /src/hostap/wpa_supplicant/config_winreg.c:946,1
    - Dst: INT_DEF
      Src: /src/hostap/wpa_supplicant/config_winreg.c:948,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_winreg.c:949,1
    - Dst: INT_DEFe
      Src: /src/hostap/wpa_supplicant/config_winreg.c:950,1
    - Dst: INT
      Src: /src/hostap/wpa_supplicant/config_winreg.c:952,1
    - Dst: write_int
      Src: /src/hostap/wpa_supplicant/config_winreg.c:953,1
    - Dst: INT
      Src: /src/hostap/wpa_supplicant/config_winreg.c:955,1
    - Dst: write_int
      Src: /src/hostap/wpa_supplicant/config_winreg.c:956,1
    - Dst: STR
      Src: /src/hostap/wpa_supplicant/config_winreg.c:958,1
    - Dst: INT
      Src: /src/hostap/wpa_supplicant/config_winreg.c:960,1
    - Dst: INT
      Src: /src/hostap/wpa_supplicant/config_winreg.c:962,1
    - Dst: INT
      Src: /src/hostap/wpa_supplicant/config_winreg.c:963,1
    - Dst: RegCloseKey
      Src: /src/hostap/wpa_supplicant/config_winreg.c:969,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 80
    argCount: 3
    argNames:
    - hk
    - ssid
    - id
    argTypes:
    - HKEY
    - struct wpa_ssid*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 851
    functionDepth: 0
    functionLinenumber: 851
    functionLinenumberEnd: 972
    functionName: wpa_config_write_network
    functionSourceFile: /src/hostap/wpa_supplicant/config_winreg.c
    functionUses: 1
    functionsReached:
    - write_pairwise
    - write_psk
    - os_snprintf
    - INT_DEF
    - write_eap
    - wpa_printf
    - write_group
    - GetLastError
    - INTe
    - write_bssid
    - write_auth_alg
    - INT
    - write_proto
    - RegCloseKey
    - write_wep_key
    - INT_DEFe
    - STR
    - write_int
    - RegOpenKeyEx
    - TEXT
    - write_key_mgmt
    - RegCreateKeyEx
    - wsprintf
    linkageType: ''
    returnType: int
    signature: int wpa_config_write_network(HKEY hk, struct wpa_ssid *ssid, int id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 882
    functionName: STR
    functionSourceFile: /src/hostap/wpa_supplicant/config_winreg.c
    functionUses: 38
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 882
    functionDepth: 0
    functionLinenumber: 882
    functionLinenumberEnd: 883
    functionName: INT
    functionSourceFile: /src/hostap/wpa_supplicant/config_winreg.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INT(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - t
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 883
    functionDepth: 0
    functionLinenumber: 883
    functionLinenumberEnd: 884
    functionName: INTe
    functionSourceFile: /src/hostap/wpa_supplicant/config_winreg.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INTe(t, m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - t
    - ','
    - def
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 885
    functionName: INT_DEF
    functionSourceFile: /src/hostap/wpa_supplicant/config_winreg.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INT_DEF(t, def)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - t
    - ','
    - m
    - ','
    - def
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 885
    functionDepth: 0
    functionLinenumber: 885
    functionLinenumberEnd: 886
    functionName: INT_DEFe
    functionSourceFile: /src/hostap/wpa_supplicant/config_winreg.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INT_DEFe(t, m, def)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RegCreateKeyEx
      Src: /src/hostap/wpa_supplicant/config_winreg.c:981,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/config_winreg.c:981,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config_winreg.c:984,1
    - Dst: GetLastError
      Src: /src/hostap/wpa_supplicant/config_winreg.c:986,1
    - Dst: wpa_strdup_tchar
      Src: /src/hostap/wpa_supplicant/config_winreg.c:990,1
    - Dst: RegSetValueEx
      Src: /src/hostap/wpa_supplicant/config_winreg.c:991,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config_winreg.c:994,1
    - Dst: GetLastError
      Src: /src/hostap/wpa_supplicant/config_winreg.c:996,1
    - Dst: RegCloseKey
      Src: /src/hostap/wpa_supplicant/config_winreg.c:997,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config_winreg.c:998,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config_winreg.c:1001,1
    - Dst: RegCloseKey
      Src: /src/hostap/wpa_supplicant/config_winreg.c:1003,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - hk
    - blob
    argTypes:
    - HKEY
    - struct wpa_config_blob*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 975
    functionDepth: 0
    functionLinenumber: 975
    functionLinenumberEnd: 1006
    functionName: wpa_config_write_blob
    functionSourceFile: /src/hostap/wpa_supplicant/config_winreg.c
    functionUses: 1
    functionsReached:
    - RegCloseKey
    - wpa_printf
    - RegSetValueEx
    - GetLastError
    - TEXT
    - RegCreateKeyEx
    - wpa_strdup_tchar
    - os_free
    linkageType: ''
    returnType: int
    signature: int wpa_config_write_blob(HKEY hk, struct wpa_config_blob *blob)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config_winreg.c:1019,1
    - Dst: _snwprintf
      Src: /src/hostap/wpa_supplicant/config_winreg.c:1022,1
    - Dst: WPA_KEY_PREFIX TEXT
      Src: /src/hostap/wpa_supplicant/config_winreg.c:1022,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/config_winreg.c:1024,1
    - Dst: WPA_KEY_PREFIX TEXT
      Src: /src/hostap/wpa_supplicant/config_winreg.c:1024,1
    - Dst: RegOpenKeyEx
      Src: /src/hostap/wpa_supplicant/config_winreg.c:1027,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config_winreg.c:1029,1
    - Dst: GetLastError
      Src: /src/hostap/wpa_supplicant/config_winreg.c:1031,1
    - Dst: wpa_config_write_global
      Src: /src/hostap/wpa_supplicant/config_winreg.c:1035,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config_winreg.c:1036,1
    - Dst: wpa_config_delete_subkeys
      Src: /src/hostap/wpa_supplicant/config_winreg.c:1041,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/config_winreg.c:1041,1
    - Dst: wpa_config_write_network
      Src: /src/hostap/wpa_supplicant/config_winreg.c:1045,1
    - Dst: RegDeleteKey
      Src: /src/hostap/wpa_supplicant/config_winreg.c:1049,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/config_winreg.c:1049,1
    - Dst: wpa_config_write_blob
      Src: /src/hostap/wpa_supplicant/config_winreg.c:1051,1
    - Dst: RegCloseKey
      Src: /src/hostap/wpa_supplicant/config_winreg.c:1055,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config_winreg.c:1057,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - name
    - config
    argTypes:
    - char*
    - struct wpa_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 1009
    functionDepth: 1
    functionLinenumber: 1009
    functionLinenumberEnd: 1060
    functionName: wpa_config_write
    functionSourceFile: /src/hostap/wpa_supplicant/config_winreg.c
    functionUses: 1
    functionsReached:
    - wpa_config_write_global
    - wpa_printf
    - RegCloseKey
    - RegOpenKeyEx
    - GetLastError
    - TEXT
    - _snwprintf
    - os_snprintf
    - RegDeleteKey
    - wpa_config_write_blob
    - WPA_KEY_PREFIX TEXT
    - wpa_config_delete_subkeys
    - wpa_config_write_network
    linkageType: ''
    returnType: int
    signature: int wpa_config_write(const char *name, struct wpa_config *config)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bgscan_deinit
      Src: /src/hostap/wpa_supplicant/bgscan.c:36,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/bgscan.c:38,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/bgscan.c:41,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/bgscan.c:48,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/bgscan.c:55,1
    - Dst: struct bgscan_ops*::init
      Src: /src/hostap/wpa_supplicant/bgscan.c:60,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/bgscan.c:64,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - wpa_s
    - ssid
    - name
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 68
    functionName: bgscan_init
    functionSourceFile: /src/hostap/wpa_supplicant/bgscan.c
    functionUses: 1
    functionsReached:
    - os_strlen
    - wpa_printf
    - os_strncmp
    - bgscan_deinit
    - struct bgscan_ops*::init
    - os_strchr
    linkageType: ''
    returnType: int
    signature: "int bgscan_init(struct wpa_supplicant *wpa_s, struct wpa_ssid *ssid,\n\t\tconst
      char *name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/bgscan.c:74,1
    - Dst: struct wpa_supplicant*::bgscan::deinit
      Src: /src/hostap/wpa_supplicant/bgscan.c:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 80
    functionName: bgscan_deinit
    functionSourceFile: /src/hostap/wpa_supplicant/bgscan.c
    functionUses: 4
    functionsReached:
    - wpa_printf
    - struct wpa_supplicant*::bgscan::deinit
    linkageType: ''
    returnType: void
    signature: void bgscan_deinit(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::bgscan::notify_scan
      Src: /src/hostap/wpa_supplicant/bgscan.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - scan_res
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_scan_results*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: bgscan_notify_scan
    functionSourceFile: /src/hostap/wpa_supplicant/bgscan.c
    functionUses: 1
    functionsReached:
    - struct wpa_supplicant*::bgscan::notify_scan
    linkageType: ''
    returnType: int
    signature: "int bgscan_notify_scan(struct wpa_supplicant *wpa_s,\n\t\t       struct
      wpa_scan_results *scan_res)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::bgscan::notify_beacon_loss
      Src: /src/hostap/wpa_supplicant/bgscan.c:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: bgscan_notify_beacon_loss
    functionSourceFile: /src/hostap/wpa_supplicant/bgscan.c
    functionUses: 0
    functionsReached:
    - struct wpa_supplicant*::bgscan::notify_beacon_loss
    linkageType: ''
    returnType: void
    signature: void bgscan_notify_beacon_loss(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::bgscan::notify_signal_change
      Src: /src/hostap/wpa_supplicant/bgscan.c:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 5
    argNames:
    - wpa_s
    - above
    - current_signal
    - current_noise
    - current_txrate
    argTypes:
    - struct wpa_supplicant*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 109
    functionName: bgscan_notify_signal_change
    functionSourceFile: /src/hostap/wpa_supplicant/bgscan.c
    functionUses: 0
    functionsReached:
    - struct wpa_supplicant*::bgscan::notify_signal_change
    linkageType: ''
    returnType: void
    signature: "void bgscan_notify_signal_change(struct wpa_supplicant *wpa_s, int
      above,\n\t\t\t\t int current_signal, int current_noise,\n\t\t\t\t int current_txrate)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - wpa_s
    - bss
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_bss*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: sme_authenticate
    functionSourceFile: /src/hostap/wpa_supplicant/sme.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void sme_authenticate(struct wpa_supplicant *wpa_s,\n\t\t\t\t    struct
      wpa_bss *bss,\n\t\t\t\t    struct wpa_ssid *ssid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - wpa_s
    - data
    argTypes:
    - struct wpa_supplicant*
    - union wpa_event_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: sme_event_auth
    functionSourceFile: /src/hostap/wpa_supplicant/sme.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void sme_event_auth(struct wpa_supplicant *wpa_s,\n\t\t\t\t  union
      wpa_event_data *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - wpa_s
    - md
    - ies
    - ies_len
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: sme_update_ft_ies
    functionSourceFile: /src/hostap/wpa_supplicant/sme.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int sme_update_ft_ies(struct wpa_supplicant *wpa_s, const u8 *md,\n\t\t\t\t
      \   const u8 *ies, size_t ies_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - wpa_s
    - data
    - link_bssids
    argTypes:
    - struct wpa_supplicant*
    - union wpa_event_data*
    - u8**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: sme_event_assoc_reject
    functionSourceFile: /src/hostap/wpa_supplicant/sme.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void sme_event_assoc_reject(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \ union wpa_event_data *data,\n\t\t\t\t\t  const u8 **link_bssids)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - wpa_s
    - data
    argTypes:
    - struct wpa_supplicant*
    - union wpa_event_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: sme_event_auth_timed_out
    functionSourceFile: /src/hostap/wpa_supplicant/sme.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void sme_event_auth_timed_out(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \   union wpa_event_data *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - wpa_s
    - data
    argTypes:
    - struct wpa_supplicant*
    - union wpa_event_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: sme_event_assoc_timed_out
    functionSourceFile: /src/hostap/wpa_supplicant/sme.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void sme_event_assoc_timed_out(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \    union wpa_event_data *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - wpa_s
    - info
    argTypes:
    - struct wpa_supplicant*
    - struct deauth_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: sme_event_deauth
    functionSourceFile: /src/hostap/wpa_supplicant/sme.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void sme_event_deauth(struct wpa_supplicant *wpa_s,\n\t\t\t\t    struct
      deauth_info *info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - wpa_s
    - info
    argTypes:
    - struct wpa_supplicant*
    - struct disassoc_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: sme_event_disassoc
    functionSourceFile: /src/hostap/wpa_supplicant/sme.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void sme_event_disassoc(struct wpa_supplicant *wpa_s,\n\t\t\t\t      struct
      disassoc_info *info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - wpa_s
    - sa
    - da
    - reason_code
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: sme_event_unprot_disconnect
    functionSourceFile: /src/hostap/wpa_supplicant/sme.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void sme_event_unprot_disconnect(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \      const u8 *sa, const u8 *da,\n\t\t\t\t\t       u16 reason_code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 103
    functionName: sme_event_ch_switch
    functionSourceFile: /src/hostap/wpa_supplicant/sme.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sme_event_ch_switch(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: sme_state_changed
    functionSourceFile: /src/hostap/wpa_supplicant/sme.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sme_state_changed(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 111
    functionName: sme_clear_on_disassoc
    functionSourceFile: /src/hostap/wpa_supplicant/sme.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sme_clear_on_disassoc(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 115
    functionName: sme_deinit
    functionSourceFile: /src/hostap/wpa_supplicant/sme.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sme_deinit(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: sme_proc_obss_scan
    functionSourceFile: /src/hostap/wpa_supplicant/sme.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int sme_proc_obss_scan(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - wpa_s
    - enable
    argTypes:
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: sme_sched_obss_scan
    functionSourceFile: /src/hostap/wpa_supplicant/sme.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void sme_sched_obss_scan(struct wpa_supplicant *wpa_s,\n\t\t\t\t       int
      enable)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - wpa_s
    - ext_auth
    argTypes:
    - struct wpa_supplicant*
    - struct external_auth*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: sme_external_auth_trigger
    functionSourceFile: /src/hostap/wpa_supplicant/sme.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void sme_external_auth_trigger(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \    struct external_auth *ext_auth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - wpa_s
    - auth_frame
    - len
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 135
    functionName: sme_external_auth_mgmt_rx
    functionSourceFile: /src/hostap/wpa_supplicant/sme.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void sme_external_auth_mgmt_rx(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \    const u8 *auth_frame, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - wpa_s
    - status
    argTypes:
    - struct wpa_supplicant*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: sme_send_external_auth_status
    functionSourceFile: /src/hostap/wpa_supplicant/sme.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void sme_send_external_auth_status(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t\t
      u16 status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: sme_get_ext_auth_pmkid
    functionSourceFile: /src/hostap/wpa_supplicant/sme.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 * sme_get_ext_auth_pmkid(struct wpa_supplicant *wpa_s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:38,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:40,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:41,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:42,1
    - Dst: mesh_rsn_auth_sae_sta
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:44,1
    - Dst: ap_free_sta
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:49,1
    - Dst: wpa_mesh_set_plink_state
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:54,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:56,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - eloop_ctx
    - user_data
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 63
    functionName: mesh_auth_timer
    functionSourceFile: /src/hostap/wpa_supplicant/mesh_rsn.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_msg
    - ap_free_sta
    - wpa_mesh_set_plink_state
    - MAC2STR
    - mesh_rsn_auth_sae_sta
    linkageType: ''
    returnType: void
    signature: void mesh_auth_timer(void *eloop_ctx, void *user_data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:70,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:71,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - ctx
    - addr
    - level
    - txt
    argTypes:
    - void*
    - u8*
    - logger_level
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 74
    functionName: auth_logger
    functionSourceFile: /src/hostap/wpa_supplicant/mesh_rsn.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: "void auth_logger(void *ctx, const u8 *addr, logger_level level,\n\t\t\tconst
      char *txt)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_sta
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:83,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:89,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:90,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 6
    argNames:
    - ctx
    - addr
    - p2p_dev_addr
    - prev_psk
    - psk_len
    - vlan_id
    argTypes:
    - void*
    - u8*
    - u8*
    - u8*
    - size_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 99
    functionName: auth_get_psk
    functionSourceFile: /src/hostap/wpa_supplicant/mesh_rsn.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    - ap_get_sta
    linkageType: ''
    returnType: u8
    signature: "u8 *auth_get_psk(void *ctx, const u8 *addr,\n\t\t\t      const u8
      *p2p_dev_addr, const u8 *prev_psk,\n\t\t\t      size_t *psk_len, int *vlan_id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:109,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:112,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:114,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:116,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:119,1
    - Dst: wpa_drv_set_key
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 8
    argNames:
    - ctx
    - vlan_id
    - alg
    - addr
    - idx
    - key
    - key_len
    - key_flag
    argTypes:
    - void*
    - int
    - enum wpa_alg
    - u8*
    - int
    - u8*
    - size_t
    - enum key_flag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 123
    functionName: auth_set_key
    functionSourceFile: /src/hostap/wpa_supplicant/mesh_rsn.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump_key
    - MAC2STR
    - wpa_drv_set_key
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int auth_set_key(void *ctx, int vlan_id, enum wpa_alg alg,\n\t\t\tconst
      u8 *addr, int idx, u8 *key, size_t key_len,\n\t\t\tenum key_flag key_flag)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_sta
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:136,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:138,1
    - Dst: mesh_mpm_auth_peer
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - addr
    argTypes:
    - void*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 142
    functionName: auth_start_ampe
    functionSourceFile: /src/hostap/wpa_supplicant/mesh_rsn.c
    functionUses: 0
    functionsReached:
    - eloop_cancel_timeout
    - mesh_mpm_auth_peer
    - ap_get_sta
    linkageType: ''
    returnType: int
    signature: int auth_start_ampe(void *ctx, const u8 *addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cb
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:155,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - cb_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 159
    functionName: auth_for_each_sta
    functionSourceFile: /src/hostap/wpa_supplicant/mesh_rsn.c
    functionUses: 0
    functionsReached:
    - cb
    linkageType: ''
    returnType: int
    signature: "int auth_for_each_sta(\n\tvoid *ctx, int (*cb)(struct wpa_state_machine
      *sm, void *ctx),\n\tvoid *cb_ctx)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:175,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:177,1
    - Dst: wpa_init
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:194,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:196,1
    - Dst: wpa_cipher_key_len
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:201,1
    - Dst: random_get_bytes
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:202,1
    - Dst: wpa_cipher_key_len
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:207,1
    - Dst: random_get_bytes
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:208,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:213,1
    - Dst: wpa_drv_set_key
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:215,1
    - Dst: wpa_cipher_to_alg
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:216,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:224,1
    - Dst: wpa_drv_set_key
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:226,1
    - Dst: wpa_cipher_to_alg
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:226,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 4
    argNames:
    - rsn
    - addr
    - ieee80211w
    - ocv
    argTypes:
    - struct mesh_rsn*
    - u8*
    - enum mfp_options
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 232
    functionName: __mesh_rsn_auth_init
    functionSourceFile: /src/hostap/wpa_supplicant/mesh_rsn.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - random_get_bytes
    - wpa_hexdump_key
    - wpa_cipher_key_len
    - wpa_cipher_to_alg
    - wpa_drv_set_key
    - wpa_init
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int __mesh_rsn_auth_init(struct mesh_rsn *rsn, const u8 *addr,\n\t\t\t\tenum
      mfp_options ieee80211w, int ocv)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:237,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:239,1
    - Dst: wpa_deinit
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - rsn
    argTypes:
    - struct mesh_rsn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 243
    functionName: mesh_rsn_deinit
    functionSourceFile: /src/hostap/wpa_supplicant/mesh_rsn.c
    functionUses: 0
    functionsReached:
    - wpa_deinit
    - os_memset
    linkageType: ''
    returnType: void
    signature: void mesh_rsn_deinit(struct mesh_rsn *rsn)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:257,1
    - Dst: __mesh_rsn_auth_init
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:265,1
    - Dst: mesh_rsn_deinit
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:267,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:268,1
    - Dst: dl_list_last
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:275,1
    - Dst: wpa_auth_pmksa_add_entry
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:280,1
    - Dst: dl_list_del
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:282,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:283,1
    - Dst: wpa_auth_get_wpa_ie
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:290,1
    - Dst: wpa_supplicant_rsn_supp_set_config
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:294,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - wpa_s
    - conf
    argTypes:
    - struct wpa_supplicant*
    - struct mesh_conf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 246
    functionDepth: 2
    functionLinenumber: 246
    functionLinenumberEnd: 297
    functionName: mesh_rsn_auth_init
    functionSourceFile: /src/hostap/wpa_supplicant/mesh_rsn.c
    functionUses: 1
    functionsReached:
    - wpa_supplicant_rsn_supp_set_config
    - dl_list_del
    - dl_list_last
    - os_zalloc
    - mesh_rsn_deinit
    - wpa_auth_pmksa_add_entry
    - os_free
    - __mesh_rsn_auth_init
    - wpa_auth_get_wpa_ie
    linkageType: ''
    returnType: struct mesh_rsn
    signature: "struct mesh_rsn *mesh_rsn_auth_init(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \   struct mesh_conf *conf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - array
    - idx
    argTypes:
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 310
    functionName: index_within_array
    functionSourceFile: /src/hostap/wpa_supplicant/mesh_rsn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int index_within_array(const int *array, int idx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: index_within_array
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:319,1
    - Dst: sae_set_group
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:327,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:328,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - wpa_s
    - sae
    argTypes:
    - struct wpa_supplicant*
    - struct sae_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 336
    functionName: mesh_rsn_sae_group
    functionSourceFile: /src/hostap/wpa_supplicant/mesh_rsn.c
    functionUses: 0
    functionsReached:
    - index_within_array
    - sae_set_group
    - wpa_dbg
    linkageType: ''
    returnType: int
    signature: "int mesh_rsn_sae_group(struct wpa_supplicant *wpa_s,\n\t\t\t      struct
      sae_data *sae)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:349,1
    - Dst: mesh_rsn_sae_group
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:353,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:354,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:359,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:362,1
    - Dst: sae_prepare_commit
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:364,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:365,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - wpa_s
    - ssid
    - sta
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 339
    functionDepth: 2
    functionLinenumber: 339
    functionLinenumberEnd: 367
    functionName: mesh_rsn_build_sae_commit
    functionSourceFile: /src/hostap/wpa_supplicant/mesh_rsn.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - sae_prepare_commit
    - wpa_msg
    - os_strdup
    - mesh_rsn_sae_group
    linkageType: ''
    returnType: int
    signature: "int mesh_rsn_build_sae_commit(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \    struct wpa_ssid *ssid,\n\t\t\t\t     struct sta_info *sta)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:381,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:387,1
    - Dst: wpa_auth_pmksa_get
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:392,1
    - Dst: wpa_auth_sta_init
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:395,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:398,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:403,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:406,1
    - Dst: wpa_auth_pmksa_set_to_sm
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:407,1
    - Dst: sae_accept_sta
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:410,1
    - Dst: mesh_rsn_build_sae_commit
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:416,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:419,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:421,1
    - Dst: auth_sae_init_committed
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:423,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:427,1
    - Dst: rand
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:428,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:429,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 2
    argNames:
    - wpa_s
    - sta
    argTypes:
    - struct wpa_supplicant*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 371
    functionDepth: 3
    functionLinenumber: 371
    functionLinenumberEnd: 432
    functionName: mesh_rsn_auth_sae_sta
    functionSourceFile: /src/hostap/wpa_supplicant/mesh_rsn.c
    functionUses: 1
    functionsReached:
    - wpa_auth_pmksa_get
    - wpa_printf
    - rand
    - wpa_msg
    - wpa_auth_pmksa_set_to_sm
    - eloop_cancel_timeout
    - sae_accept_sta
    - auth_sae_init_committed
    - MAC2STR
    - os_zalloc
    - mesh_rsn_build_sae_commit
    - eloop_register_timeout
    - wpa_auth_sta_init
    linkageType: ''
    returnType: int
    signature: "int mesh_rsn_auth_sae_sta(struct wpa_supplicant *wpa_s,\n\t\t\t  struct
      sta_info *sta)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - rsn
    - sta
    - pmkid
    argTypes:
    - struct mesh_rsn*
    - struct sta_info*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 438
    functionName: mesh_rsn_get_pmkid
    functionSourceFile: /src/hostap/wpa_supplicant/mesh_rsn.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    linkageType: ''
    returnType: void
    signature: void mesh_rsn_get_pmkid(struct mesh_rsn *rsn, struct sta_info *sta,
      u8 *pmkid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:454,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:457,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:464,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:466,1
    - Dst: sha256_prf
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:468,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - rsn
    - sta
    argTypes:
    - struct mesh_rsn*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 470
    functionName: mesh_rsn_derive_aek
    functionSourceFile: /src/hostap/wpa_supplicant/mesh_rsn.c
    functionUses: 0
    functionsReached:
    - sha256_prf
    - os_memcpy
    - RSN_SELECTOR_PUT
    - os_memcmp
    linkageType: ''
    returnType: void
    signature: void mesh_rsn_derive_aek(struct mesh_rsn *rsn, struct sta_info *sta)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:489,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:496,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:498,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:502,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:504,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:507,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:509,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:514,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:517,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:524,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:526,1
    - Dst: wpa_cipher_key_len
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:528,1
    - Dst: sha256_prf
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:529,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 39
    argCount: 2
    argNames:
    - wpa_s
    - sta
    argTypes:
    - struct wpa_supplicant*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 533
    functionName: mesh_rsn_derive_mtk
    functionSourceFile: /src/hostap/wpa_supplicant/mesh_rsn.c
    functionUses: 0
    functionsReached:
    - sha256_prf
    - os_memcpy
    - wpa_cipher_key_len
    - RSN_SELECTOR_PUT
    - os_memcmp
    - WPA_PUT_LE16
    linkageType: ''
    returnType: int
    signature: int mesh_rsn_derive_mtk(struct wpa_supplicant *wpa_s, struct sta_info
      *sta)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: random_get_bytes
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:538,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:539,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:542,1
    - Dst: mesh_rsn_derive_aek
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:543,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - wpa_s
    - sta
    argTypes:
    - struct wpa_supplicant*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 536
    functionDepth: 2
    functionLinenumber: 536
    functionLinenumberEnd: 544
    functionName: mesh_rsn_init_ampe_sta
    functionSourceFile: /src/hostap/wpa_supplicant/mesh_rsn.c
    functionUses: 0
    functionsReached:
    - mesh_rsn_derive_aek
    - random_get_bytes
    - wpa_printf
    - os_memset
    linkageType: ''
    returnType: void
    signature: void mesh_rsn_init_ampe_sta(struct wpa_supplicant *wpa_s, struct sta_info
      *sta)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_head_u8
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:557,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:557,1
    - Dst: wpabuf_tailroom
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:570,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:571,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:575,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:577,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:586,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:588,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:589,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:603,1
    - Dst: wpa_drv_get_seqnum
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:605,1
    - Dst: WPA_PUT_LE32
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:608,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:616,1
    - Dst: wpa_drv_get_seqnum
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:618,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:620,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:624,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:628,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:629,1
    - Dst: wpabuf_put
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:633,1
    - Dst: aes_siv_encrypt
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:635,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:637,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:641,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 50
    argCount: 4
    argNames:
    - rsn
    - sta
    - cat
    - buf
    argTypes:
    - struct mesh_rsn*
    - struct sta_info*
    - u8*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 553
    functionDepth: 1
    functionLinenumber: 553
    functionLinenumberEnd: 644
    functionName: mesh_rsn_protect_frame
    functionSourceFile: /src/hostap/wpa_supplicant/mesh_rsn.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_hexdump_key
    - wpabuf_head_u8
    - wpabuf_put_u8
    - wpabuf_put
    - wpabuf_len
    - wpabuf_tailroom
    - os_zalloc
    - RSN_SELECTOR_PUT
    - WPA_PUT_LE32
    - os_free
    - aes_siv_encrypt
    - wpa_drv_get_seqnum
    - WPA_PUT_LE16
    linkageType: ''
    returnType: int
    signature: "int mesh_rsn_protect_frame(struct mesh_rsn *rsn, struct sta_info *sta,\n\t\t\t
      \  const u8 *cat, struct wpabuf *buf)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: wpa_auth_pmksa_get
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:669,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:670,1
    - Dst: mesh_rsn_auth_sae_sta
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:674,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:679,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:680,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:686,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:693,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:698,1
    - Dst: aes_siv_decrypt
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:702,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:704,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:710,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:719,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:727,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:728,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:729,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:733,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:754,1
    - Dst: wpa_cipher_key_len
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:766,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:768,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:773,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:774,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:777,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:779,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:781,1
    - Dst: WPA_GET_LE32
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:783,1
    - Dst: wpa_cipher_key_len
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:790,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:792,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:793,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:796,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:797,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:800,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:802,1
    - Dst: bin_clear_free
      Src: /src/hostap/wpa_supplicant/mesh_rsn.c:807,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 92
    argCount: 7
    argNames:
    - wpa_s
    - sta
    - elems
    - cat
    - chosen_pmk
    - start
    - elems_len
    argTypes:
    - struct wpa_supplicant*
    - struct sta_info*
    - struct ieee802_11_elems*
    - u8*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 647
    functionDepth: 4
    functionLinenumber: 647
    functionLinenumberEnd: 809
    functionName: mesh_rsn_process_ampe
    functionSourceFile: /src/hostap/wpa_supplicant/mesh_rsn.c
    functionUses: 0
    functionsReached:
    - wpa_auth_pmksa_get
    - wpa_printf
    - wpa_hexdump_key
    - os_memcpy
    - wpa_cipher_key_len
    - wpa_hexdump
    - wpa_msg
    - WPA_GET_LE32
    - os_malloc
    - WPA_GET_LE16
    - bin_clear_free
    - os_memcmp
    - wpa_dbg
    - mesh_rsn_auth_sae_sta
    - aes_siv_decrypt
    linkageType: ''
    returnType: int
    signature: "int mesh_rsn_process_ampe(struct wpa_supplicant *wpa_s, struct sta_info
      *sta,\n\t\t\t  struct ieee802_11_elems *elems, const u8 *cat,\n\t\t\t  const
      u8 *chosen_pmk,\n\t\t\t  const u8 *start, size_t elems_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/main.c:25,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/main.c:61,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/main.c:67,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/main.c:116,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/main.c:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 123
    functionName: usage
    functionSourceFile: /src/hostap/wpa_supplicant/main.c
    functionUses: 1
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/main.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 137
    functionName: license
    functionSourceFile: /src/hostap/wpa_supplicant/main.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void license(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/hostap/wpa_supplicant/main.c:152,1
    - Dst: close
      Src: /src/hostap/wpa_supplicant/main.c:154,1
    - Dst: close
      Src: /src/hostap/wpa_supplicant/main.c:162,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - start
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 168
    functionName: wpa_supplicant_fd_workaround
    functionSourceFile: /src/hostap/wpa_supplicant/main.c
    functionUses: 0
    functionsReached:
    - open
    - close
    linkageType: ''
    returnType: void
    signature: void wpa_supplicant_fd_workaround(int start)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/hostap/wpa_supplicant/main.c:179,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/main.c:181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - global
    argTypes:
    - struct wpa_global*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 189
    functionName: wpa_supplicant_init_match
    functionSourceFile: /src/hostap/wpa_supplicant/main.c
    functionUses: 0
    functionsReached:
    - global_init
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int wpa_supplicant_init_match(struct wpa_global *global)
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: os_program_init
      Src: /src/hostap/wpa_supplicant/main.c:201,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/main.c:204,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/main.c:207,1
    - Dst: wpa_supplicant_fd_workaround
      Src: /src/hostap/wpa_supplicant/main.c:212,1
    - Dst: getopt
      Src: /src/hostap/wpa_supplicant/main.c:215,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/main.c:237,1
    - Dst: usage
      Src: /src/hostap/wpa_supplicant/main.c:260,1
    - Dst: license
      Src: /src/hostap/wpa_supplicant/main.c:273,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/main.c:278,1
    - Dst: os_rel2abs_path
      Src: /src/hostap/wpa_supplicant/main.c:279,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/main.c:292,1
    - Dst: os_rel2abs_path
      Src: /src/hostap/wpa_supplicant/main.c:293,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/main.c:317,1
    - Dst: os_realloc_array
      Src: /src/hostap/wpa_supplicant/main.c:326,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/main.c:334,1
    - Dst: os_realloc_array
      Src: /src/hostap/wpa_supplicant/main.c:339,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/main.c:345,1
    - Dst: usage
      Src: /src/hostap/wpa_supplicant/main.c:356,1
    - Dst: wpa_supplicant_init
      Src: /src/hostap/wpa_supplicant/main.c:363,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/main.c:365,1
    - Dst: wpa_supplicant_parse_config
      Src: /src/hostap/wpa_supplicant/main.c:375,1
    - Dst: wpa_supplicant_deinit
      Src: /src/hostap/wpa_supplicant/main.c:376,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/main.c:380,1
    - Dst: fst_global_init
      Src: /src/hostap/wpa_supplicant/main.c:382,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/main.c:383,1
    - Dst: wpa_supplicant_deinit
      Src: /src/hostap/wpa_supplicant/main.c:384,1
    - Dst: fst_global_add_ctrl
      Src: /src/hostap/wpa_supplicant/main.c:390,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/main.c:391,1
    - Dst: usage
      Src: /src/hostap/wpa_supplicant/main.c:406,1
    - Dst: wpa_supplicant_add_iface
      Src: /src/hostap/wpa_supplicant/main.c:410,1
    - Dst: wpa_supplicant_init_match
      Src: /src/hostap/wpa_supplicant/main.c:419,1
    - Dst: wpa_supplicant_run
      Src: /src/hostap/wpa_supplicant/main.c:423,1
    - Dst: wpa_supplicant_deinit
      Src: /src/hostap/wpa_supplicant/main.c:425,1
    - Dst: fst_global_deinit
      Src: /src/hostap/wpa_supplicant/main.c:427,1
    - Dst: wpa_supplicant_fd_workaround
      Src: /src/hostap/wpa_supplicant/main.c:430,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/main.c:431,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/main.c:433,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/main.c:435,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/main.c:437,1
    - Dst: crypto_unload
      Src: /src/hostap/wpa_supplicant/main.c:440,1
    - Dst: os_program_deinit
      Src: /src/hostap/wpa_supplicant/main.c:441,1
    CyclomaticComplexity: 70
    EdgeCount: 70
    ICount: 193
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 193
    functionDepth: 12
    functionLinenumber: 193
    functionLinenumberEnd: 444
    functionName: main
    functionSourceFile: /src/hostap/wpa_supplicant/main.c
    functionUses: 0
    functionsReached:
    - os_program_init
    - wpa_supplicant_parse_config
    - os_program_deinit
    - wpa_printf
    - wpa_supplicant_fd_workaround
    - wpa_supplicant_add_iface
    - wpa_supplicant_deinit
    - getopt
    - wpa_supplicant_init_match
    - os_free
    - usage
    - wpa_supplicant_run
    - printf
    - wpa_supplicant_init
    - fst_global_add_ctrl
    - os_memset
    - fst_global_deinit
    - license
    - os_zalloc
    - crypto_unload
    - os_rel2abs_path
    - fst_global_init
    - os_realloc_array
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_set_blob
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:40,1
    - Dst: wpa_config_write
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:42,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - blob
    argTypes:
    - void*
    - struct wpa_config_blob*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 48
    functionName: wpa_supplicant_set_config_blob
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_glue.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_config_write
    - wpa_config_set_blob
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_set_config_blob(void *ctx,\n\t\t\t\t\t   struct
      wpa_config_blob *blob)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_get_blob
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - name
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: wpa_supplicant_get_config_blob
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_glue.c
    functionUses: 0
    functionsReached:
    - wpa_config_get_blob
    linkageType: ''
    returnType: struct wpa_config_blob
    signature: 'struct wpa_config_blob *

      wpa_supplicant_get_config_blob(void *ctx, const char *name)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:69,1
    - Dst: host_to_be16
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:75,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:78,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 6
    argNames:
    - wpa_s
    - type
    - data
    - data_len
    - msg_len
    - data_pos
    argTypes:
    - struct wpa_supplicant*
    - u8
    - void*
    - u16
    - size_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 86
    functionName: wpa_alloc_eapol
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_glue.c
    functionUses: 0
    functionsReached:
    - host_to_be16
    - os_memcpy
    - os_malloc
    - os_memset
    linkageType: ''
    returnType: u8
    signature: "u8 * wpa_alloc_eapol(const struct wpa_supplicant *wpa_s, u8 type,\n\t\t\t
      \   const void *data, u16 data_len,\n\t\t\t    size_t *msg_len, void **data_pos)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:104,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:108,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:109,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:110,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:111,1
    - Dst: wpa_sm_has_ptk_installed
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:118,1
    - Dst: wpa_drv_tx_control_port
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:120,1
    - Dst: l2_packet_send
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:125,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 5
    argNames:
    - wpa_s
    - dest
    - proto
    - buf
    - len
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u16
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 129
    functionName: wpa_ether_send
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_glue.c
    functionUses: 0
    functionsReached:
    - wpa_drv_tx_control_port
    - wpa_sm_has_ptk_installed
    - wpa_snprintf_hex
    - wpa_msg
    - os_malloc
    - MAC2STR
    - l2_packet_send
    - os_free
    linkageType: ''
    returnType: int
    signature: "int wpa_ether_send(struct wpa_supplicant *wpa_s, const u8 *dest,\n\t\t
      \  u16 proto, const u8 *buf, size_t len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_key_mgmt_wpa_psk
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:158,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:165,1
    - Dst: pmksa_cache_get_current
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:171,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:189,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:192,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:198,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:199,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:201,1
    - Dst: wpa_drv_get_bssid
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:202,1
    - Dst: wpas_drv_get_sta_mlo_info
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:204,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:205,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:207,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:211,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:214,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:217,1
    - Dst: wpa_alloc_eapol
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:226,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:230,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:230,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:231,1
    - Dst: wpa_ether_send
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:232,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:233,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 4
    argNames:
    - ctx
    - type
    - buf
    - len
    argTypes:
    - void*
    - int
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 235
    functionName: wpa_supplicant_eapol_send
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_glue.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    - wpa_ether_send
    - pmksa_cache_get_current
    - is_zero_ether_addr
    - wpas_drv_get_sta_mlo_info
    - wpa_drv_get_bssid
    - wpa_key_mgmt_wpa_psk
    - MAC2STR
    - os_free
    - wpa_alloc_eapol
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_eapol_send(void *ctx, int type, const u8 *buf,\n\t\t\t\t
      \    size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_set_key
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:260,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - ctx
    - unicast
    - keyidx
    - key
    - keylen
    argTypes:
    - void*
    - int
    - int
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 265
    functionName: wpa_eapol_set_wep_key
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_glue.c
    functionUses: 0
    functionsReached:
    - wpa_drv_set_key
    linkageType: ''
    returnType: int
    signature: "int wpa_eapol_set_wep_key(void *ctx, int unicast, int keyidx,\n\t\t\t\t
      const u8 *key, size_t keylen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_sm_aborted_cached
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 273
    functionName: wpa_supplicant_aborted_cached
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_glue.c
    functionUses: 0
    functionsReached:
    - wpa_sm_aborted_cached
    linkageType: ''
    returnType: void
    signature: void wpa_supplicant_aborted_cached(void *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - result
    argTypes:
    - enum eapol_supp_result
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 287
    functionName: result_str
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_glue.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * result_str(enum eapol_supp_result result)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:298,1
    - Dst: result_str
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:299,1
    - Dst: wpas_wps_eapol_cb
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:301,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:315,1
    - Dst: wpa_supplicant_req_auth_timeout
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:320,1
    - Dst: ieee802_1x_notify_create_actor
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:323,1
    - Dst: wpa_key_mgmt_wpa_ieee8021x
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:330,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:333,1
    - Dst: wpa_key_mgmt_sha384
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:336,1
    - Dst: wpa_key_mgmt_ft
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:341,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:344,1
    - Dst: eapol_sm_get_key
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:346,1
    - Dst: wpa_key_mgmt_sha384
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:348,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:349,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:351,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:352,1
    - Dst: eapol_sm_get_key
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:358,1
    - Dst: eapol_sm_get_key
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:364,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:370,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:375,1
    - Dst: wpa_drv_set_key
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:378,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:380,1
    - Dst: wpa_supplicant_cancel_scan
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:383,1
    - Dst: wpa_supplicant_cancel_auth_timeout
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:384,1
    - Dst: wpa_supplicant_set_state
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:385,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 3
    argNames:
    - eapol
    - result
    - ctx
    argTypes:
    - struct eapol_sm*
    - enum eapol_supp_result
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 290
    functionDepth: 9
    functionLinenumber: 290
    functionLinenumberEnd: 387
    functionName: wpa_supplicant_eapol_cb
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_glue.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_hexdump_key
    - wpa_supplicant_req_auth_timeout
    - wpa_key_mgmt_sha384
    - wpa_key_mgmt_ft
    - wpa_supplicant_set_state
    - wpa_supplicant_cancel_auth_timeout
    - ieee802_1x_notify_create_actor
    - wpa_key_mgmt_wpa_ieee8021x
    - eapol_sm_get_key
    - wpa_supplicant_cancel_scan
    - wpa_drv_set_key
    - result_str
    - wpas_wps_eapol_cb
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_eapol_cb(struct eapol_sm *eapol,\n\t\t\t\t    enum
      eapol_supp_result result,\n\t\t\t\t    void *ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:393,1
    - Dst: wpa_key_mgmt_wpa_ieee8021x
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:394,1
    - Dst: wpa_supplicant_set_state
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:395,1
    - Dst: wpa_supplicant_cancel_auth_timeout
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:397,1
    - Dst: wpa_supplicant_set_state
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 390
    functionDepth: 9
    functionLinenumber: 390
    functionLinenumberEnd: 400
    functionName: wpa_supplicant_notify_eapol_done
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_glue.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_cancel_auth_timeout
    - wpa_supplicant_set_state
    - wpa_key_mgmt_wpa_ieee8021x
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: void wpa_supplicant_notify_eapol_done(void *ctx)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:414,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:415,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:419,1
    - Dst: wpa_bss_get_vendor_ie
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:434,1
    - Dst: wpa_sm_set_ap_wpa_ie
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:435,1
    - Dst: wpa_bss_get_ie
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:438,1
    - Dst: wpa_sm_set_ap_rsn_ie
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:439,1
    - Dst: wpa_bss_get_ie
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:442,1
    - Dst: wpa_sm_set_ap_rsnxe
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:443,1
    - Dst: wpa_bss_get_vendor_ie
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:446,1
    - Dst: wpa_sm_set_ap_rsne_override
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:447,1
    - Dst: wpa_bss_get_vendor_ie
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:451,1
    - Dst: wpa_sm_set_ap_rsne_override_2
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:453,1
    - Dst: wpa_bss_get_vendor_ie
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:457,1
    - Dst: wpa_sm_set_ap_rsnxe_override
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:458,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 36
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 466
    functionName: wpa_get_beacon_ie
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_glue.c
    functionUses: 0
    functionsReached:
    - wpa_sm_set_ap_rsnxe
    - wpa_sm_set_ap_rsn_ie
    - wpa_sm_set_ap_rsne_override
    - wpa_sm_set_ap_rsne_override_2
    - ether_addr_equal
    - wpa_sm_set_ap_rsnxe_override
    - wpa_sm_set_ap_wpa_ie
    - dl_list_for_each
    - os_memcmp
    - wpa_bss_get_vendor_ie
    - wpa_bss_get_ie
    linkageType: ''
    returnType: int
    signature: int wpa_get_beacon_ie(struct wpa_supplicant *wpa_s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_get_beacon_ie
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:472,1
    - Dst: wpa_supplicant_update_scan_results
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:478,1
    - Dst: wpa_get_beacon_ie
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:481,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 469
    functionDepth: 7
    functionLinenumber: 469
    functionLinenumberEnd: 482
    functionName: wpa_supplicant_get_beacon_ie
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_glue.c
    functionUses: 0
    functionsReached:
    - wpa_get_beacon_ie
    - wpa_supplicant_update_scan_results
    linkageType: ''
    returnType: int
    signature: int wpa_supplicant_get_beacon_ie(void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_alloc_eapol
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - wpa_s
    - type
    - data
    - data_len
    - msg_len
    - data_pos
    argTypes:
    - void*
    - u8
    - void*
    - u16
    - size_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 490
    functionName: _wpa_alloc_eapol
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_glue.c
    functionUses: 0
    functionsReached:
    - wpa_alloc_eapol
    linkageType: ''
    returnType: u8
    signature: "u8 * _wpa_alloc_eapol(void *wpa_s, u8 type,\n\t\t\t     const void
      *data, u16 data_len,\n\t\t\t     size_t *msg_len, void **data_pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ether_send
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - wpa_s
    - dest
    - proto
    - buf
    - len
    argTypes:
    - void*
    - u8*
    - u16
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 497
    functionName: _wpa_ether_send
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_glue.c
    functionUses: 0
    functionsReached:
    - wpa_ether_send
    linkageType: ''
    returnType: int
    signature: "int _wpa_ether_send(void *wpa_s, const u8 *dest, u16 proto,\n\t\t\t
      \  const u8 *buf, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_supplicant_cancel_auth_timeout
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 500
    functionDepth: 3
    functionLinenumber: 500
    functionLinenumberEnd: 503
    functionName: _wpa_supplicant_cancel_auth_timeout
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_glue.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_cancel_auth_timeout
    linkageType: ''
    returnType: void
    signature: void _wpa_supplicant_cancel_auth_timeout(void *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_supplicant_set_state
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - state
    argTypes:
    - void*
    - enum wpa_states
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 506
    functionDepth: 9
    functionLinenumber: 506
    functionLinenumberEnd: 509
    functionName: _wpa_supplicant_set_state
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_glue.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_set_state
    linkageType: ''
    returnType: void
    signature: void _wpa_supplicant_set_state(void *wpa_s, enum wpa_states state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 520
    functionName: wpa_supplicant_get_state
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_glue.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum wpa_states
    signature: enum wpa_states wpa_supplicant_get_state(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_supplicant_get_state
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 523
    functionDepth: 1
    functionLinenumber: 523
    functionLinenumberEnd: 526
    functionName: _wpa_supplicant_get_state
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_glue.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_get_state
    linkageType: ''
    returnType: enum wpa_states
    signature: enum wpa_states _wpa_supplicant_get_state(void *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_supplicant_deauthenticate
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:531,1
    - Dst: wpa_supplicant_req_scan
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - wpa_s
    - reason_code
    argTypes:
    - void*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 529
    functionDepth: 4
    functionLinenumber: 529
    functionLinenumberEnd: 534
    functionName: _wpa_supplicant_deauthenticate
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_glue.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_deauthenticate
    - wpa_supplicant_req_scan
    linkageType: ''
    returnType: void
    signature: void _wpa_supplicant_deauthenticate(void *wpa_s, u16 reason_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_supplicant_reconnect
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 537
    functionDepth: 5
    functionLinenumber: 537
    functionLinenumberEnd: 540
    functionName: _wpa_supplicant_reconnect
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_glue.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_reconnect
    linkageType: ''
    returnType: void
    signature: void _wpa_supplicant_reconnect(void *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_supplicant_get_ssid
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 543
    functionDepth: 3
    functionLinenumber: 543
    functionLinenumberEnd: 546
    functionName: wpa_supplicant_get_network_ctx
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_glue.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_get_ssid
    linkageType: ''
    returnType: void
    signature: void * wpa_supplicant_get_network_ctx(void *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_get_bssid
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - bssid
    argTypes:
    - void*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 549
    functionDepth: 1
    functionLinenumber: 549
    functionLinenumberEnd: 553
    functionName: wpa_supplicant_get_bssid
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_glue.c
    functionUses: 0
    functionsReached:
    - wpa_drv_get_bssid
    linkageType: ''
    returnType: int
    signature: int wpa_supplicant_get_bssid(void *ctx, u8 *bssid)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: is_broadcast_ether_addr
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:570,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:572,1
    - Dst: is_broadcast_ether_addr
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:577,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:580,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:583,1
    - Dst: wpa_drv_set_key
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:588,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 20
    argCount: 11
    argNames:
    - _wpa_s
    - link_id
    - alg
    - addr
    - key_idx
    - set_tx
    - seq
    - seq_len
    - key
    - key_len
    - key_flag
    argTypes:
    - void*
    - int
    - enum wpa_alg
    - u8*
    - int
    - int
    - u8*
    - size_t
    - u8*
    - size_t
    - enum key_flag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 556
    functionDepth: 1
    functionLinenumber: 556
    functionLinenumberEnd: 595
    functionName: wpa_supplicant_set_key
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_glue.c
    functionUses: 0
    functionsReached:
    - is_broadcast_ether_addr
    - wpa_drv_set_key
    - os_memcpy
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_set_key(void *_wpa_s, int link_id, enum wpa_alg
      alg,\n\t\t\t\t  const u8 *addr, int key_idx, int set_tx,\n\t\t\t\t  const u8
      *seq, size_t seq_len,\n\t\t\t\t  const u8 *key, size_t key_len,\n\t\t\t\t  enum
      key_flag key_flag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_mlme_setprotection
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:602,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - wpa_s
    - addr
    - protection_type
    - key_type
    argTypes:
    - void*
    - u8*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 598
    functionDepth: 1
    functionLinenumber: 598
    functionLinenumberEnd: 604
    functionName: wpa_supplicant_mlme_setprotection
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_glue.c
    functionUses: 0
    functionsReached:
    - wpa_drv_mlme_setprotection
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_mlme_setprotection(void *wpa_s, const u8 *addr,\n\t\t\t\t\t
      \    int protection_type,\n\t\t\t\t\t     int key_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - wpa_s
    - network_ctx
    argTypes:
    - struct wpa_supplicant*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 618
    functionName: wpas_get_network_ctx
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_glue.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct wpa_ssid
    signature: "struct wpa_ssid * wpas_get_network_ctx(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \     void *network_ctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:632,1
    - Dst: wpas_get_network_ctx
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:633,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:645,1
    - Dst: wpa_drv_add_pmkid
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:664,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 10
    argNames:
    - _wpa_s
    - network_ctx
    - bssid
    - pmkid
    - fils_cache_id
    - pmk
    - pmk_len
    - pmk_lifetime
    - pmk_reauth_threshold
    - akmp
    argTypes:
    - void*
    - void*
    - u8*
    - u8*
    - u8*
    - u8*
    - size_t
    - u32
    - u8
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 621
    functionDepth: 1
    functionLinenumber: 621
    functionLinenumberEnd: 665
    functionName: wpa_supplicant_add_pmkid
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_glue.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_drv_add_pmkid
    - wpas_get_network_ctx
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_add_pmkid(void *_wpa_s, void *network_ctx,\n\t\t\t\t
      \   const u8 *bssid, const u8 *pmkid,\n\t\t\t\t    const u8 *fils_cache_id,\n\t\t\t\t
      \   const u8 *pmk, size_t pmk_len,\n\t\t\t\t    u32 pmk_lifetime, u8 pmk_reauth_threshold,\n\t\t\t\t
      \   int akmp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:676,1
    - Dst: wpas_get_network_ctx
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:677,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:679,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:680,1
    - Dst: wpa_drv_remove_pmkid
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:691,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - _wpa_s
    - network_ctx
    - bssid
    - pmkid
    - fils_cache_id
    argTypes:
    - void*
    - void*
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 668
    functionDepth: 1
    functionLinenumber: 668
    functionLinenumberEnd: 692
    functionName: wpa_supplicant_remove_pmkid
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_glue.c
    functionUses: 0
    functionsReached:
    - wpa_drv_remove_pmkid
    - wpa_msg
    - MAC2STR
    - wpas_get_network_ctx
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_remove_pmkid(void *_wpa_s, void *network_ctx,\n\t\t\t\t
      \      const u8 *bssid, const u8 *pmkid,\n\t\t\t\t       const u8 *fils_cache_id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sme_update_ft_ies
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:701,1
    - Dst: wpa_drv_update_ft_ies
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:702,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - ctx
    - md
    - ies
    - ies_len
    argTypes:
    - void*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 696
    functionDepth: 1
    functionLinenumber: 696
    functionLinenumberEnd: 703
    functionName: wpa_supplicant_update_ft_ies
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_glue.c
    functionUses: 0
    functionsReached:
    - sme_update_ft_ies
    - wpa_drv_update_ft_ies
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_update_ft_ies(void *ctx, const u8 *md,\n\t\t\t\t\tconst
      u8 *ies, size_t ies_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:716,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:731,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:737,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:739,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:741,1
    - Dst: wpa_drv_send_action
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:743,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:746,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 5
    argNames:
    - ctx
    - action
    - target_ap
    - ies
    - ies_len
    argTypes:
    - void*
    - u8
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 706
    functionDepth: 3
    functionLinenumber: 706
    functionLinenumberEnd: 749
    functionName: wpa_supplicant_send_ft_action
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_glue.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_drv_send_action
    - os_malloc
    - os_free
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_send_ft_action(void *ctx, u8 action,\n\t\t\t\t\t
      const u8 *target_ap,\n\t\t\t\t\t const u8 *ies, size_t ies_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_bss_get_bssid
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:758,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:762,1
    - Dst: wpa_drv_authenticate
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:769,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - target_ap
    argTypes:
    - void*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 752
    functionDepth: 1
    functionLinenumber: 752
    functionLinenumberEnd: 770
    functionName: wpa_supplicant_mark_authenticated
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_glue.c
    functionUses: 0
    functionsReached:
    - wpa_bss_get_bssid
    - wpa_drv_authenticate
    - os_memset
    linkageType: ''
    returnType: int
    signature: int wpa_supplicant_mark_authenticated(void *ctx, const u8 *target_ap)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - ctx
    - tdls_supported
    - tdls_ext_setup
    - tdls_chan_switch
    argTypes:
    - void*
    - int*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 799
    functionName: wpa_supplicant_tdls_get_capa
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_glue.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_tdls_get_capa(void *ctx, int *tdls_supported,\n\t\t\t\t\tint
      *tdls_ext_setup,\n\t\t\t\t\tint *tdls_chan_switch)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_send_tdls_mgmt
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:809,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 10
    argNames:
    - ctx
    - dst
    - action_code
    - dialog_token
    - status_code
    - peer_capab
    - initiator
    - buf
    - len
    - link_id
    argTypes:
    - void*
    - u8*
    - u8
    - u8
    - u16
    - u32
    - int
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 802
    functionDepth: 1
    functionLinenumber: 802
    functionLinenumberEnd: 812
    functionName: wpa_supplicant_send_tdls_mgmt
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_glue.c
    functionUses: 0
    functionsReached:
    - wpa_drv_send_tdls_mgmt
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_send_tdls_mgmt(void *ctx, const u8 *dst,\n\t\t\t\t\t
      u8 action_code, u8 dialog_token,\n\t\t\t\t\t u16 status_code, u32 peer_capab,\n\t\t\t\t\t
      int initiator, const u8 *buf,\n\t\t\t\t\t size_t len, int link_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_tdls_oper
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:818,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - oper
    - peer
    argTypes:
    - void*
    - int
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 815
    functionDepth: 1
    functionLinenumber: 815
    functionLinenumberEnd: 819
    functionName: wpa_supplicant_tdls_oper
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_glue.c
    functionUses: 0
    functionsReached:
    - wpa_drv_tdls_oper
    linkageType: ''
    returnType: int
    signature: int wpa_supplicant_tdls_oper(void *ctx, int oper, const u8 *peer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:839,1
    - Dst: wpa_drv_sta_add
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:873,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 23
    argNames:
    - ctx
    - peer
    - add
    - aid
    - capability
    - supp_rates
    - supp_rates_len
    - ht_capab
    - vht_capab
    - he_capab
    - he_capab_len
    - he_6ghz_he_capab
    - qosinfo
    - wmm
    - ext_capab
    - ext_capab_len
    - supp_channels
    - supp_channels_len
    - supp_oper_classes
    - supp_oper_classes_len
    - eht_capab
    - eht_capab_len
    - mld_link_id
    argTypes:
    - void*
    - u8*
    - int
    - u16
    - u16
    - u8*
    - size_t
    - struct ieee80211_ht_capabilities*
    - struct ieee80211_vht_capabilities*
    - struct ieee80211_he_capabilities*
    - size_t
    - struct ieee80211_he_6ghz_band_cap*
    - u8
    - int
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    - struct ieee80211_eht_capabilities*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 822
    functionDepth: 1
    functionLinenumber: 822
    functionLinenumberEnd: 874
    functionName: wpa_supplicant_tdls_peer_addset
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_glue.c
    functionUses: 0
    functionsReached:
    - wpa_drv_sta_add
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_tdls_peer_addset(\n\tvoid *ctx, const u8 *peer,
      int add, u16 aid, u16 capability,\n\tconst u8 *supp_rates, size_t supp_rates_len,\n\tconst
      struct ieee80211_ht_capabilities *ht_capab,\n\tconst struct ieee80211_vht_capabilities
      *vht_capab,\n\tconst struct ieee80211_he_capabilities *he_capab,\n\tsize_t he_capab_len,\n\tconst
      struct ieee80211_he_6ghz_band_cap *he_6ghz_he_capab,\n\tu8 qosinfo, int wmm,
      const u8 *ext_capab, size_t ext_capab_len,\n\tconst u8 *supp_channels, size_t
      supp_channels_len,\n\tconst u8 *supp_oper_classes, size_t supp_oper_classes_len,\n\tconst
      struct ieee80211_eht_capabilities *eht_capab,\n\tsize_t eht_capab_len, int mld_link_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_tdls_enable_channel_switch
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:883,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - addr
    - oper_class
    - params
    argTypes:
    - void*
    - u8*
    - u8
    - struct hostapd_freq_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 877
    functionDepth: 1
    functionLinenumber: 877
    functionLinenumberEnd: 885
    functionName: wpa_supplicant_tdls_enable_channel_switch
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_glue.c
    functionUses: 0
    functionsReached:
    - wpa_drv_tdls_enable_channel_switch
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_tdls_enable_channel_switch(\n\tvoid *ctx, const
      u8 *addr, u8 oper_class,\n\tconst struct hostapd_freq_params *params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_tdls_disable_channel_switch
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:892,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - addr
    argTypes:
    - void*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 893
      start: 888
    functionDepth: 1
    functionLinenumber: 888
    functionLinenumberEnd: 893
    functionName: wpa_supplicant_tdls_disable_channel_switch
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_glue.c
    functionUses: 0
    functionsReached:
    - wpa_drv_tdls_disable_channel_switch
    linkageType: ''
    returnType: int
    signature: int wpa_supplicant_tdls_disable_channel_switch(void *ctx, const u8
      *addr)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:902,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:904,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:906,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:908,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:910,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:912,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:914,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:916,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:918,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 1
    argNames:
    - field
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 900
    functionDepth: 0
    functionLinenumber: 900
    functionLinenumberEnd: 921
    functionName: wpa_supplicant_ctrl_req_from_string
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_glue.c
    functionUses: 1
    functionsReached:
    - os_strcmp
    linkageType: ''
    returnType: enum wpa_ctrl_req_type
    signature: enum wpa_ctrl_req_type wpa_supplicant_ctrl_req_from_string(const char
      *field)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:973,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 3
    argNames:
    - field
    - default_txt
    - txt
    argTypes:
    - enum wpa_ctrl_req_type
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 924
    functionDepth: 0
    functionLinenumber: 924
    functionLinenumberEnd: 978
    functionName: wpa_supplicant_ctrl_req_to_string
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_glue.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: char
    signature: "char * wpa_supplicant_ctrl_req_to_string(enum wpa_ctrl_req_type field,\n\t\t\t\t\t
      \      const char *default_txt,\n\t\t\t\t\t       const char **txt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:984,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:986,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - wpa_s
    - ssid
    - field_name
    - txt
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 987
      start: 981
    functionDepth: 1
    functionLinenumber: 981
    functionLinenumberEnd: 987
    functionName: wpas_send_ctrl_req
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_glue.c
    functionUses: 0
    functionsReached:
    - wpa_ssid_txt
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: "void wpas_send_ctrl_req(struct wpa_supplicant *wpa_s, struct wpa_ssid
      *ssid,\n\t\t\tconst char *field_name, const char *txt)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpas_notify_network_request
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1005,1
    - Dst: wpa_supplicant_ctrl_req_to_string
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1007,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1010,1
    - Dst: wpas_notify_eap_status
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1015,1
    - Dst: wpas_send_ctrl_req
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1017,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - ctx
    - field
    - default_txt
    argTypes:
    - void*
    - enum wpa_ctrl_req_type
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 992
    functionDepth: 2
    functionLinenumber: 992
    functionLinenumberEnd: 1018
    functionName: wpa_supplicant_eap_param_needed
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_glue.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpas_notify_eap_status
    - wpas_notify_network_request
    - wpas_send_ctrl_req
    - wpa_supplicant_ctrl_req_to_string
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_eap_param_needed(void *ctx,\n\t\t\t\t\t    enum
      wpa_ctrl_req_type field,\n\t\t\t\t\t    const char *default_txt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eapol_sm_get_eap_proxy_imsi
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1031,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1035,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1038,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1040
      start: 1026
    functionDepth: 1
    functionLinenumber: 1026
    functionLinenumberEnd: 1040
    functionName: wpa_supplicant_eap_proxy_cb
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_glue.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eapol_sm_get_eap_proxy_imsi
    linkageType: ''
    returnType: void
    signature: void wpa_supplicant_eap_proxy_cb(void *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_sm_pmksa_cache_flush
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1062,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1067
      start: 1043
    functionDepth: 0
    functionLinenumber: 1043
    functionLinenumberEnd: 1067
    functionName: wpa_sm_sim_state_error_handler
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_glue.c
    functionUses: 0
    functionsReached:
    - wpa_sm_pmksa_cache_flush
    linkageType: ''
    returnType: void
    signature: void wpa_sm_sim_state_error_handler(struct wpa_supplicant *wpa_s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1076,1
    - Dst: wpa_sm_sim_state_error_handler
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1079,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1082,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - sim_state
    argTypes:
    - void*
    - enum eap_proxy_sim_state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1085
      start: 1070
    functionDepth: 1
    functionLinenumber: 1070
    functionLinenumberEnd: 1085
    functionName: wpa_supplicant_eap_proxy_notify_sim_status
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_glue.c
    functionUses: 0
    functionsReached:
    - wpa_sm_sim_state_error_handler
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_eap_proxy_notify_sim_status(void *ctx,\n\t\t\t\t\t
      \  enum eap_proxy_sim_state sim_state)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1095,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1101,1
    - Dst: wpa_drv_set_supp_port
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - authorized
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1104
      start: 1090
    functionDepth: 1
    functionLinenumber: 1090
    functionLinenumberEnd: 1104
    functionName: wpa_supplicant_port_cb
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_glue.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_drv_set_supp_port
    linkageType: ''
    returnType: void
    signature: void wpa_supplicant_port_cb(void *ctx, int authorized)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_notify_certification
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - cert
    - cert_hash
    argTypes:
    - void*
    - struct tls_cert_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1113
      start: 1107
    functionDepth: 1
    functionLinenumber: 1107
    functionLinenumberEnd: 1113
    functionName: wpa_supplicant_cert_cb
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_glue.c
    functionUses: 0
    functionsReached:
    - wpas_notify_certification
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_cert_cb(void *ctx, struct tls_cert_data *cert,\n\t\t\t\t
      \  const char *cert_hash)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_notify_eap_status
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - status
    - parameter
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1122
      start: 1116
    functionDepth: 1
    functionLinenumber: 1116
    functionLinenumberEnd: 1122
    functionName: wpa_supplicant_status_cb
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_glue.c
    functionUses: 0
    functionsReached:
    - wpas_notify_eap_status
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_status_cb(void *ctx, const char *status,\n\t\t\t\t
      \    const char *parameter)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_notify_eap_error
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - error_code
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 1125
    functionDepth: 1
    functionLinenumber: 1125
    functionLinenumberEnd: 1130
    functionName: wpa_supplicant_eap_error_cb
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_glue.c
    functionUses: 0
    functionsReached:
    - wpas_notify_eap_error
    linkageType: ''
    returnType: void
    signature: void wpa_supplicant_eap_error_cb(void *ctx, int error_code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_sm_ext_key_id_active
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1138,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1139,1
    - Dst: wpa_supplicant_reconnect
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1145
      start: 1133
    functionDepth: 5
    functionLinenumber: 1133
    functionLinenumberEnd: 1145
    functionName: wpa_supplicant_eap_auth_start_cb
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_glue.c
    functionUses: 0
    functionsReached:
    - wpa_sm_ext_key_id_active
    - wpa_supplicant_reconnect
    - wpa_msg
    linkageType: ''
    returnType: int
    signature: int wpa_supplicant_eap_auth_start_cb(void *ctx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1154,1
    - Dst: wpa_config_set
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1161,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1165,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1168,1
    - Dst: wpa_config_set
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1169,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1171,1
    - Dst: wpa_config_write
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1177,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1179,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - ctx
    - id
    - len
    argTypes:
    - void*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1183
      start: 1148
    functionDepth: 1
    functionLinenumber: 1148
    functionLinenumberEnd: 1183
    functionName: wpa_supplicant_set_anon_id
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_glue.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_snprintf_hex
    - os_malloc
    - os_free
    - wpa_config_write
    - wpa_config_set
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: void
    signature: void wpa_supplicant_set_anon_id(void *ctx, const u8 *id, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_sm_has_ptk_installed
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1191,1
    - Dst: wpa_sm_pmf_enabled
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1186
    functionDepth: 0
    functionLinenumber: 1186
    functionLinenumberEnd: 1193
    functionName: wpas_encryption_required
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_glue.c
    functionUses: 0
    functionsReached:
    - wpa_sm_has_ptk_installed
    - wpa_sm_pmf_enabled
    linkageType: ''
    returnType: bool
    signature: bool wpas_encryption_required(void *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1202,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1204,1
    - Dst: eapol_sm_init
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1249,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1251,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1252,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 41
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1259
      start: 1198
    functionDepth: 0
    functionLinenumber: 1198
    functionLinenumberEnd: 1259
    functionName: wpa_supplicant_init_eapol
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_glue.c
    functionUses: 2
    functionsReached:
    - os_free
    - eapol_sm_init
    - os_zalloc
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int wpa_supplicant_init_eapol(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_set_rekey_info
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ctx
    - kek
    - kek_len
    - kck
    - kck_len
    - replay_ctr
    argTypes:
    - void*
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1272
      start: 1264
    functionDepth: 1
    functionLinenumber: 1264
    functionLinenumberEnd: 1272
    functionName: wpa_supplicant_set_rekey_offload
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_glue.c
    functionUses: 0
    functionsReached:
    - wpa_drv_set_rekey_info
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_set_rekey_offload(void *ctx,\n\t\t\t\t\t     const
      u8 *kek, size_t kek_len,\n\t\t\t\t\t     const u8 *kck, size_t kck_len,\n\t\t\t\t\t
      \    const u8 *replay_ctr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_set_key
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - pmk
    - pmk_len
    argTypes:
    - void*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1275
    functionDepth: 1
    functionLinenumber: 1275
    functionLinenumberEnd: 1286
    functionName: wpa_supplicant_key_mgmt_set_pmk
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_glue.c
    functionUses: 0
    functionsReached:
    - wpa_drv_set_key
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_key_mgmt_set_pmk(void *ctx, const u8 *pmk,\n\t\t\t\t\t
      \  size_t pmk_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1297,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1300,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1301,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1302,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1302,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1303,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - ctx
    - dst
    - src
    - pkt
    - pkt_len
    argTypes:
    - void*
    - u8*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1304
      start: 1289
    functionDepth: 1
    functionLinenumber: 1289
    functionLinenumberEnd: 1304
    functionName: wpa_supplicant_fils_hlp_rx
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_glue.c
    functionUses: 0
    functionsReached:
    - wpa_snprintf_hex
    - wpa_msg
    - os_malloc
    - MAC2STR
    - os_free
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_fils_hlp_rx(void *ctx, const u8 *dst, const u8
      *src,\n\t\t\t\t       const u8 *pkt, size_t pkt_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_channel_info
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _wpa_s
    - ci
    argTypes:
    - void*
    - struct wpa_channel_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1313
      start: 1307
    functionDepth: 1
    functionLinenumber: 1307
    functionLinenumberEnd: 1313
    functionName: wpa_supplicant_channel_info
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_glue.c
    functionUses: 0
    functionsReached:
    - wpa_drv_channel_info
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_channel_info(void *_wpa_s,\n\t\t\t\t       struct
      wpa_channel_info *ci)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ssid
    argTypes:
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1327
      start: 1316
    functionDepth: 0
    functionLinenumber: 1316
    functionLinenumberEnd: 1327
    functionName: disable_wpa_wpa2
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_glue.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void disable_wpa_wpa2(struct wpa_ssid *ssid)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1335,1
    - Dst: wpa_key_mgmt_sae
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1343,1
    - Dst: wpa_key_mgmt_sae
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1344,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1347,1
    - Dst: disable_wpa_wpa2
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1349,1
    - Dst: wpa_key_mgmt_sae
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1354,1
    - Dst: wpa_key_mgmt_sae
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1359,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1363,1
    - Dst: disable_wpa_wpa2
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1365,1
    - Dst: wpa_key_mgmt_wpa_ieee8021x
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1372,1
    - Dst: disable_wpa_wpa2
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1379,1
    - Dst: wpa_config_write
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1396,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1397,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 28
    argCount: 2
    argNames:
    - wpa_s
    - bitmap
    argTypes:
    - struct wpa_supplicant*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1399
      start: 1330
    functionDepth: 1
    functionLinenumber: 1330
    functionLinenumberEnd: 1399
    functionName: wpas_transition_disable
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_glue.c
    functionUses: 0
    functionsReached:
    - wpa_key_mgmt_sae
    - wpa_printf
    - wpa_msg
    - disable_wpa_wpa2
    - wpa_key_mgmt_wpa_ieee8021x
    - wpa_config_write
    linkageType: ''
    returnType: void
    signature: void wpas_transition_disable(struct wpa_supplicant *wpa_s, u8 bitmap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_transition_disable
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _wpa_s
    - bitmap
    argTypes:
    - void*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1406
      start: 1402
    functionDepth: 2
    functionLinenumber: 1402
    functionLinenumberEnd: 1406
    functionName: wpa_supplicant_transition_disable
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_glue.c
    functionUses: 0
    functionsReached:
    - wpas_transition_disable
    linkageType: ''
    returnType: void
    signature: void wpa_supplicant_transition_disable(void *_wpa_s, u8 bitmap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ptksa_cache_add
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ctx
    - addr
    - cipher
    - life_time
    - ptk
    argTypes:
    - void*
    - u8*
    - int
    - u32
    - struct wpa_ptk*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1416
      start: 1409
    functionDepth: 1
    functionLinenumber: 1409
    functionLinenumberEnd: 1416
    functionName: wpa_supplicant_store_ptk
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_glue.c
    functionUses: 0
    functionsReached:
    - ptksa_cache_add
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_store_ptk(void *ctx, const u8 *addr, int cipher,\n\t\t\t\t
      \    u32 life_time, const struct wpa_ptk *ptk)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_set_secure_ranging_ctx
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - _wpa_s
    - own_addr
    - peer_addr
    - ltf_keyseed_len
    - ltf_keyseed
    argTypes:
    - void*
    - u8*
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1430
      start: 1420
    functionDepth: 1
    functionLinenumber: 1420
    functionLinenumberEnd: 1430
    functionName: wpa_supplicant_set_ltf_keyseed
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_glue.c
    functionUses: 0
    functionsReached:
    - wpa_drv_set_secure_ranging_ctx
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_set_ltf_keyseed(void *_wpa_s, const u8 *own_addr,\n\t\t\t\t\t
      \ const u8 *peer_addr,\n\t\t\t\t\t  size_t ltf_keyseed_len,\n\t\t\t\t\t  const
      u8 *ltf_keyseed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_notify_pmk_cache_added
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _wpa_s
    - entry
    argTypes:
    - void*
    - struct rsn_pmksa_cache_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1441
      start: 1434
    functionDepth: 1
    functionLinenumber: 1434
    functionLinenumberEnd: 1441
    functionName: wpa_supplicant_notify_pmksa_cache_entry
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_glue.c
    functionUses: 0
    functionsReached:
    - wpas_notify_pmk_cache_added
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_notify_pmksa_cache_entry(void *_wpa_s,\n\t\t\t\t\tstruct
      rsn_pmksa_cache_entry *entry)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - _wpa_s
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1450
      start: 1444
    functionDepth: 0
    functionLinenumber: 1444
    functionLinenumberEnd: 1450
    functionName: wpa_supplicant_ssid_verified
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_glue.c
    functionUses: 0
    functionsReached:
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: void wpa_supplicant_ssid_verified(void *_wpa_s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1459,1
    - Dst: wpabuf_array_free
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1462,1
    - Dst: wpabuf_array_free
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1466,1
    - Dst: wpa_config_write
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1471,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1472,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - _wpa_s
    - wa
    argTypes:
    - void*
    - struct wpabuf_array*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1474
      start: 1453
    functionDepth: 1
    functionLinenumber: 1453
    functionLinenumberEnd: 1474
    functionName: wpa_supplicant_sae_pw_id_change
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_glue.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_config_write
    - wpabuf_array_free
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_sae_pw_id_change(void *_wpa_s,\n\t\t\t\t\t    struct
      wpabuf_array *wa)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ptksa_cache_init
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1484,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1486,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1490,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1492,1
    - Dst: ptksa_cache_deinit
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1494,1
    - Dst: wpa_sm_init
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1548,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1550,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1552,1
    - Dst: ptksa_cache_deinit
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1553,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 59
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1560
      start: 1479
    functionDepth: 1
    functionLinenumber: 1479
    functionLinenumberEnd: 1560
    functionName: wpa_supplicant_init_wpa
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_glue.c
    functionUses: 1
    functionsReached:
    - wpa_sm_init
    - wpa_printf
    - ptksa_cache_deinit
    - os_zalloc
    - os_free
    - ptksa_cache_init
    linkageType: ''
    returnType: int
    signature: int wpa_supplicant_init_wpa(struct wpa_supplicant *wpa_s)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1568,1
    - Dst: wpa_bss_get_vendor_ie_multi
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1586,1
    - Dst: p2p_get_group_capab
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1590,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1594,1
    - Dst: wpa_key_mgmt_fils
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1600,1
    - Dst: wpa_bss_get_fils_cache_id
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1602,1
    - Dst: wpa_sm_set_config
      Src: /src/hostap/wpa_supplicant/wpas_glue.c:1615,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 2
    argNames:
    - wpa_s
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1616
      start: 1563
    functionDepth: 1
    functionLinenumber: 1563
    functionLinenumberEnd: 1616
    functionName: wpa_supplicant_rsn_supp_set_config
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_glue.c
    functionUses: 2
    functionsReached:
    - wpabuf_free
    - wpa_sm_set_config
    - wpa_bss_get_fils_cache_id
    - wpa_bss_get_vendor_ie_multi
    - wpa_key_mgmt_fils
    - p2p_get_group_capab
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_rsn_supp_set_config(struct wpa_supplicant *wpa_s,\n\t\t\t\t\tstruct
      wpa_ssid *ssid)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_alloc_empty
      Src: /src/hostap/wpa_supplicant/config_none.c:30,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - name
    - cfgp
    - ro
    - show_details
    argTypes:
    - char*
    - struct wpa_config*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 35
    functionName: wpa_config_read
    functionSourceFile: /src/hostap/wpa_supplicant/config_none.c
    functionUses: 4
    functionsReached:
    - wpa_config_alloc_empty
    linkageType: ''
    returnType: struct wpa_config
    signature: "struct wpa_config * wpa_config_read(const char *name, struct wpa_config
      *cfgp,\n\t\t\t\t    bool ro, bool show_details)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config_none.c:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - name
    - config
    argTypes:
    - char*
    - struct wpa_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 57
    functionName: wpa_config_write
    functionSourceFile: /src/hostap/wpa_supplicant/config_none.c
    functionUses: 5
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int wpa_config_write(const char *name, struct wpa_config *config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:47,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bss
    argTypes:
    - struct bgscan_learn_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: bss_free
    functionSourceFile: /src/hostap/wpa_supplicant/bgscan_learn.c
    functionUses: 0
    functionsReached:
    - os_free
    linkageType: ''
    returnType: void
    signature: void bss_free(struct bgscan_learn_bss *bss)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:60,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - array
    - array_len
    - bssid
    argTypes:
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 65
    functionName: bssid_in_array
    functionSourceFile: /src/hostap/wpa_supplicant/bgscan_learn.c
    functionUses: 0
    functionsReached:
    - ether_addr_equal
    linkageType: ''
    returnType: int
    signature: int bssid_in_array(u8 *array, size_t array_len, const u8 *bssid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:73,1
    - Dst: bssid_in_array
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:75,1
    - Dst: os_realloc_array
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:78,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - bss
    - bssid
    argTypes:
    - struct bgscan_learn_bss*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 85
    functionName: bgscan_learn_add_neighbor
    functionSourceFile: /src/hostap/wpa_supplicant/bgscan_learn.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - ether_addr_equal
    - os_realloc_array
    - bssid_in_array
    linkageType: ''
    returnType: void
    signature: "void bgscan_learn_add_neighbor(struct bgscan_learn_bss *bss,\n\t\t\t\t
      \     const u8 *bssid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:93,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - data
    - bssid
    argTypes:
    - struct bgscan_learn_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 98
    functionName: bgscan_learn_get_bss
    functionSourceFile: /src/hostap/wpa_supplicant/bgscan_learn.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    - ether_addr_equal
    linkageType: ''
    returnType: struct bgscan_learn_bss
    signature: "struct bgscan_learn_bss * bgscan_learn_get_bss(\n\tstruct bgscan_learn_data
      *data, const u8 *bssid)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:110,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:114,1
    - Dst: fgets
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:117,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:118,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:119,1
    - Dst: fclose
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:121,1
    - Dst: fgets
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:125,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:126,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:127,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:130,1
    - Dst: bss_free
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:131,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:134,1
    - Dst: dl_list_add
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:135,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:136,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:138,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:141,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:144,1
    - Dst: bgscan_learn_get_bss
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:146,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:149,1
    - Dst: bgscan_learn_add_neighbor
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:152,1
    - Dst: fclose
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:156,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 38
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct bgscan_learn_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 101
    functionDepth: 3
    functionLinenumber: 101
    functionLinenumberEnd: 158
    functionName: bgscan_learn_load
    functionSourceFile: /src/hostap/wpa_supplicant/bgscan_learn.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - bgscan_learn_add_neighbor
    - hwaddr_aton
    - os_strncmp
    - fclose
    - MAC2STR
    - os_zalloc
    - bss_free
    - dl_list_add
    - atoi
    - bgscan_learn_get_bss
    - fopen
    - fgets
    linkageType: ''
    returnType: int
    signature: int bgscan_learn_load(struct bgscan_learn_data *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:169,1
    - Dst: fopen
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:172,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:175,1
    - Dst: dl_list_for_each
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:177,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:178,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:179,1
    - Dst: dl_list_for_each
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:182,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:185,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:186,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:187,1
    - Dst: fclose
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:191,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct bgscan_learn_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 192
    functionName: bgscan_learn_save
    functionSourceFile: /src/hostap/wpa_supplicant/bgscan_learn.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - fprintf
    - dl_list_for_each
    - MAC2STR
    - fclose
    - fopen
    linkageType: ''
    returnType: void
    signature: void bgscan_learn_save(struct bgscan_learn_data *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - array
    - val
    argTypes:
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 208
    functionName: in_array
    functionSourceFile: /src/hostap/wpa_supplicant/bgscan_learn.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int in_array(int *array, int val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:219,1
    - Dst: in_array
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:220,1
    - Dst: os_realloc_array
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:222,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - data
    - count
    argTypes:
    - struct bgscan_learn_data*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 232
    functionName: bgscan_learn_get_freqs
    functionSourceFile: /src/hostap/wpa_supplicant/bgscan_learn.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    - in_array
    - os_realloc_array
    linkageType: ''
    returnType: int
    signature: "int * bgscan_learn_get_freqs(struct bgscan_learn_data *data,\n\t\t\t\t
      \   size_t *count)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: in_array
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:245,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:246,1
    - Dst: os_realloc_array
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:251,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - data
    - freqs
    - count
    argTypes:
    - struct bgscan_learn_data*
    - int*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 267
    functionName: bgscan_learn_get_probe_freq
    functionSourceFile: /src/hostap/wpa_supplicant/bgscan_learn.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - in_array
    - os_realloc_array
    linkageType: ''
    returnType: int
    signature: "int * bgscan_learn_get_probe_freq(struct bgscan_learn_data *data,\n\t\t\t\t\t
      int *freqs, size_t count)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:279,1
    - Dst: wpa_add_owe_scan_ssid
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:285,1
    - Dst: bgscan_learn_get_freqs
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:291,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:292,1
    - Dst: bgscan_learn_get_probe_freq
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:294,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:300,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:302,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:307,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:312,1
    - Dst: wpa_supplicant_trigger_scan
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:313,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:314,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:315,1
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:318,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:319,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 270
    functionDepth: 3
    functionLinenumber: 270
    functionLinenumberEnd: 320
    functionName: bgscan_learn_timeout
    functionSourceFile: /src/hostap/wpa_supplicant/bgscan_learn.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_supplicant_trigger_scan
    - os_get_reltime
    - wpa_add_owe_scan_ssid
    - os_snprintf
    - eloop_register_timeout
    - bgscan_learn_get_probe_freq
    - os_free
    - bgscan_learn_get_freqs
    - os_snprintf_error
    - os_memset
    linkageType: ''
    returnType: void
    signature: void bgscan_learn_timeout(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:328,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:330,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:334,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:335,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:337,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:342,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:343,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:346,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - data
    - params
    argTypes:
    - struct bgscan_learn_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 350
    functionName: bgscan_learn_get_params
    functionSourceFile: /src/hostap/wpa_supplicant/bgscan_learn.c
    functionUses: 0
    functionsReached:
    - atoi
    - os_strchr
    - wpa_printf
    - os_strdup
    linkageType: ''
    returnType: int
    signature: "int bgscan_learn_get_params(struct bgscan_learn_data *data,\n\t\t\t\t
      \  const char *params)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: in_array
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:368,1
    - Dst: os_realloc_array
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:370,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 382
    functionName: bgscan_learn_get_supp_freqs
    functionSourceFile: /src/hostap/wpa_supplicant/bgscan_learn.c
    functionUses: 0
    functionsReached:
    - in_array
    - os_realloc_array
    linkageType: ''
    returnType: int
    signature: int * bgscan_learn_get_supp_freqs(struct wpa_supplicant *wpa_s)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:391,1
    - Dst: dl_list_init
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:394,1
    - Dst: bgscan_learn_get_params
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:397,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:398,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:399,1
    - Dst: bgscan_learn_load
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:407,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:408,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:409,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:413,1
    - Dst: wpa_drv_signal_monitor
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:419,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:420,1
    - Dst: bgscan_learn_get_supp_freqs
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:424,1
    - Dst: wpa_drv_signal_poll
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:429,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:434,1
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:443,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 3
    argNames:
    - wpa_s
    - params
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - char*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 385
    functionDepth: 4
    functionLinenumber: 385
    functionLinenumberEnd: 446
    functionName: bgscan_learn_init
    functionSourceFile: /src/hostap/wpa_supplicant/bgscan_learn.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_get_reltime
    - wpa_drv_signal_poll
    - bgscan_learn_get_params
    - bgscan_learn_get_supp_freqs
    - os_zalloc
    - dl_list_init
    - eloop_register_timeout
    - wpa_drv_signal_monitor
    - os_free
    - bgscan_learn_load
    linkageType: ''
    returnType: void
    signature: "void * bgscan_learn_init(struct wpa_supplicant *wpa_s,\n\t\t\t\tconst
      char *params,\n\t\t\t\tconst struct wpa_ssid *ssid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bgscan_learn_save
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:454,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:455,1
    - Dst: wpa_drv_signal_monitor
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:457,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:458,1
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:459,1
    - Dst: dl_list_del
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:461,1
    - Dst: bss_free
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:462,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:464,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:465,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 449
    functionDepth: 2
    functionLinenumber: 449
    functionLinenumberEnd: 466
    functionName: bgscan_learn_deinit
    functionSourceFile: /src/hostap/wpa_supplicant/bgscan_learn.c
    functionUses: 0
    functionsReached:
    - dl_list_del
    - eloop_cancel_timeout
    - bss_free
    - bgscan_learn_save
    - wpa_drv_signal_monitor
    - os_free
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: void bgscan_learn_deinit(void *priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_scan_get_ie
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:474,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:479,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - data
    - bss
    argTypes:
    - struct bgscan_learn_data*
    - struct wpa_scan_res*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 483
    functionName: bgscan_learn_bss_match
    functionSourceFile: /src/hostap/wpa_supplicant/bgscan_learn.c
    functionUses: 0
    functionsReached:
    - wpa_scan_get_ie
    - os_memcmp
    linkageType: ''
    returnType: int
    signature: "int bgscan_learn_bss_match(struct bgscan_learn_data *data,\n\t\t\t\t
      \ struct wpa_scan_res *bss)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:495,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:497,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:498,1
    - Dst: bgscan_learn_bss_match
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:503,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:507,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:512,1
    - Dst: bgscan_learn_bss_match
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:519,1
    - Dst: bgscan_learn_get_bss
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:522,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:524,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:526,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:529,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:530,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:531,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:534,1
    - Dst: dl_list_add
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:536,1
    - Dst: bgscan_learn_add_neighbor
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:541,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 2
    argNames:
    - priv
    - scan_res
    argTypes:
    - void*
    - struct wpa_scan_results*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 486
    functionDepth: 3
    functionLinenumber: 486
    functionLinenumberEnd: 553
    functionName: bgscan_learn_notify_scan
    functionSourceFile: /src/hostap/wpa_supplicant/bgscan_learn.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_printf
    - bgscan_learn_bss_match
    - eloop_cancel_timeout
    - bgscan_learn_add_neighbor
    - MAC2STR
    - os_zalloc
    - dl_list_add
    - eloop_register_timeout
    - bgscan_learn_get_bss
    linkageType: ''
    returnType: int
    signature: "int bgscan_learn_notify_scan(void *priv,\n\t\t\t\t    struct wpa_scan_results
      *scan_res)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:558,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 560
    functionName: bgscan_learn_notify_beacon_loss
    functionSourceFile: /src/hostap/wpa_supplicant/bgscan_learn.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void bgscan_learn_notify_beacon_loss(void *priv)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:576,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:581,1
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:584,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:588,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:591,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:592,1
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:599,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:605,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:606,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/bgscan_learn.c:607,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 5
    argNames:
    - priv
    - above
    - current_signal
    - current_noise
    - current_txrate
    argTypes:
    - void*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 609
    functionName: bgscan_learn_notify_signal_change
    functionSourceFile: /src/hostap/wpa_supplicant/bgscan_learn.c
    functionUses: 0
    functionsReached:
    - eloop_cancel_timeout
    - os_get_reltime
    - wpa_printf
    - eloop_register_timeout
    linkageType: ''
    returnType: void
    signature: "void bgscan_learn_notify_signal_change(void *priv, int above,\n\t\t\t\t\t
      \     int current_signal,\n\t\t\t\t\t      int current_noise,\n\t\t\t\t\t      int
      current_txrate)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: str_clear_free
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - peer
    argTypes:
    - struct pasn_peer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: wpas_pasn_free_peer_password
    functionSourceFile: /src/hostap/wpa_supplicant/pasn_supplicant.c
    functionUses: 0
    functionsReached:
    - str_clear_free
    linkageType: ''
    returnType: void
    signature: void wpas_pasn_free_peer_password(struct pasn_peer *peer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - peer
    argTypes:
    - struct pasn_peer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: wpas_pasn_free_peer_comeback
    functionSourceFile: /src/hostap/wpa_supplicant/pasn_supplicant.c
    functionUses: 0
    functionsReached:
    - os_free
    linkageType: ''
    returnType: void
    signature: void wpas_pasn_free_peer_comeback(struct pasn_peer *peer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_pasn_free_peer_password
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:69,1
    - Dst: wpas_pasn_free_peer_comeback
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - peer
    argTypes:
    - struct pasn_peer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: wpas_pasn_free_peer
    functionSourceFile: /src/hostap/wpa_supplicant/pasn_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_pasn_free_peer_comeback
    - wpas_pasn_free_peer_password
    linkageType: ''
    returnType: void
    signature: void wpas_pasn_free_peer(struct pasn_peer *peer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_send_mlme
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ctx
    - data
    - data_len
    - noack
    - freq
    - wait
    argTypes:
    - void*
    - u8*
    - size_t
    - int
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: wpas_pasn_send_mlme
    functionSourceFile: /src/hostap/wpa_supplicant/pasn_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_drv_send_mlme
    linkageType: ''
    returnType: int
    signature: "int wpas_pasn_send_mlme(void *ctx, const u8 *data, size_t data_len,\n\t\t\t
      \      int noack, unsigned int freq, unsigned int wait)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:85,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:88,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - awork
    argTypes:
    - struct wpa_pasn_auth_work*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 92
    functionName: wpas_pasn_free_auth_work
    functionSourceFile: /src/hostap/wpa_supplicant/pasn_supplicant.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpabuf_free
    linkageType: ''
    returnType: void
    signature: void wpas_pasn_free_auth_work(struct wpa_pasn_auth_work *awork)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:99,1
    - Dst: wpas_pasn_auth_stop
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:101,1
    - Dst: wpas_pasn_auth_work_done
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 104
    functionName: wpas_pasn_auth_work_timeout
    functionSourceFile: /src/hostap/wpa_supplicant/pasn_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_pasn_auth_work_done
    - wpa_printf
    - wpas_pasn_auth_stop
    linkageType: ''
    returnType: void
    signature: void wpas_pasn_auth_work_timeout(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:109,1
    - Dst: radio_remove_works
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 3
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: wpas_pasn_cancel_auth_work
    functionSourceFile: /src/hostap/wpa_supplicant/pasn_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - radio_remove_works
    linkageType: ''
    returnType: void
    signature: void wpas_pasn_cancel_auth_work(struct wpa_supplicant *wpa_s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:123,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:125,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:128,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:129,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:133,1
    - Dst: wpa_key_mgmt_txt
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:134,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:137,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:144,1
    - Dst: wpa_key_mgmt_txt
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 7
    argNames:
    - wpa_s
    - peer_addr
    - akmp
    - cipher
    - status
    - comeback
    - comeback_after
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - int
    - int
    - u8
    - struct wpabuf*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 146
    functionName: wpas_pasn_auth_status
    functionSourceFile: /src/hostap/wpa_supplicant/pasn_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_snprintf_hex
    - wpabuf_len
    - os_malloc
    - wpabuf_head
    - MAC2STR
    - wpa_key_mgmt_txt
    - os_free
    linkageType: ''
    returnType: void
    signature: "void wpas_pasn_auth_status(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \ const u8 *peer_addr,\n\t\t\t\t  int akmp, int cipher, u8 status,\n\t\t\t\t
      \ struct wpabuf *comeback,\n\t\t\t\t  u16 comeback_after)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:161,1
    - Dst: sae_derive_pt
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:165,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:166,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ssid
    - group
    argTypes:
    - struct wpa_ssid*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 170
    functionName: wpas_pasn_sae_derive_pt
    functionSourceFile: /src/hostap/wpa_supplicant/pasn_supplicant.c
    functionUses: 0
    functionsReached:
    - sae_derive_pt
    - wpa_printf
    - os_strlen
    linkageType: ''
    returnType: struct sae_pt
    signature: 'struct sae_pt *

      wpas_pasn_sae_derive_pt(struct wpa_ssid *ssid, int group)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:186,1
    - Dst: os_random
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:193,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:196,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:197,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:198,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:205,1
    - Dst: sae_derive_pt
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:208,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:209,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - ssid
    - group
    argTypes:
    - struct wpa_ssid*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 211
    functionName: wpas_pasn_sae_derive_pt_for_eppke
    functionSourceFile: /src/hostap/wpa_supplicant/pasn_supplicant.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - sae_derive_pt
    - wpa_printf
    - wpa_hexdump
    - wpabuf_len
    - os_random
    - wpabuf_head
    linkageType: ''
    returnType: struct sae_pt
    signature: 'struct sae_pt *

      wpas_pasn_sae_derive_pt_for_eppke(struct wpa_ssid *ssid, int group)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:218,1
    - Dst: wpas_pasn_sae_derive_pt
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:225,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ssid
    - group
    argTypes:
    - struct wpa_ssid*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 228
    functionName: wpas_pasn_sae_setup_pt
    functionSourceFile: /src/hostap/wpa_supplicant/pasn_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpas_pasn_sae_derive_pt
    linkageType: ''
    returnType: int
    signature: int wpas_pasn_sae_setup_pt(struct wpa_ssid *ssid, int group)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dragonfly_suitable_group
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:251,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 32
    argCount: 3
    argNames:
    - wpa_s
    - ssid
    - pasn
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    - struct pasn_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 283
    functionName: wpas_pasn_get_group
    functionSourceFile: /src/hostap/wpa_supplicant/pasn_supplicant.c
    functionUses: 0
    functionsReached:
    - dragonfly_suitable_group
    linkageType: ''
    returnType: int
    signature: "int wpas_pasn_get_group(struct wpa_supplicant *wpa_s,\n\t\t\tstruct
      wpa_ssid *ssid, struct pasn_data *pasn)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ptksa_cache_get
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:438,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:440,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:441,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:445,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:446,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:449,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:449,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:453,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:454,1
    - Dst: wpa_drv_set_secure_ranging_ctx
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:455,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - wpa_s
    - own_addr
    - peer_addr
    - cipher
    - akmp
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 461
    functionName: wpas_pasn_set_keys_from_cache
    functionSourceFile: /src/hostap/wpa_supplicant/pasn_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - ether_addr_equal
    - MAC2STR
    - wpa_drv_set_secure_ranging_ctx
    - ptksa_cache_get
    linkageType: ''
    returnType: int
    signature: "int wpas_pasn_set_keys_from_cache(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      const u8 *own_addr,\n\t\t\t\t\t const u8 *peer_addr,\n\t\t\t\t\t int cipher,
      int akmp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_add_network
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:470,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:472,1
    - Dst: os_memdup
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:476,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:481,1
    - Dst: wpa_config_free_ssid
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:483,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:484,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:489,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:490,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - wpa_s
    - bss
    - password
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_bss*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 493
    functionName: wpas_pasn_add_temporary_network
    functionSourceFile: /src/hostap/wpa_supplicant/pasn_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memdup
    - wpa_config_add_network
    - MAC2STR
    - wpa_config_free_ssid
    - os_strdup
    linkageType: ''
    returnType: struct wpa_ssid
    signature: "struct wpa_ssid *\nwpas_pasn_add_temporary_network(struct wpa_supplicant
      *wpa_s,\n\t\t\t\tconst struct wpa_bss *bss, const char *password)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_bss_get_bssid
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:501,1
    - Dst: wpa_supplicant_update_scan_results
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:503,1
    - Dst: wpa_bss_get_bssid
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:504,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - wpa_s
    - peer_addr
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 496
    functionDepth: 7
    functionLinenumber: 496
    functionLinenumberEnd: 508
    functionName: wpas_pasn_get_bss
    functionSourceFile: /src/hostap/wpa_supplicant/pasn_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_bss_get_bssid
    - wpa_supplicant_update_scan_results
    linkageType: ''
    returnType: struct wpa_bss
    signature: "struct wpa_bss * wpas_pasn_get_bss(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \ const u8 *peer_addr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:524,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - wpa_s
    - bss
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 529
    functionName: wpas_pasn_get_network
    functionSourceFile: /src/hostap/wpa_supplicant/pasn_supplicant.c
    functionUses: 0
    functionsReached:
    - os_memcmp
    linkageType: ''
    returnType: struct wpa_ssid
    signature: "struct wpa_ssid * wpas_pasn_get_network(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \      struct wpa_bss *bss)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:547,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:548,1
    - Dst: wpas_pasn_get_bss
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:555,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:557,1
    - Dst: wpas_pasn_get_network
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:563,1
    - Dst: wpas_pasn_add_temporary_network
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:566,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:570,1
    - Dst: wpas_pasn_get_params_from_bss
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:580,1
    - Dst: wpas_pasn_set_keys_from_cache
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:587,1
    - Dst: wpas_pasn_auth_start
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:596,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:606,1
    - Dst: wpa_key_mgmt_txt
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:607,1
    - Dst: wpas_pasn_free_peer
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:610,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:613,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:614,1
    - Dst: wpa_drv_send_pasn_resp
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:621,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:622,1
    - Dst: wpas_pasn_free_peer
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:625,1
    - Dst: wpa_config_get_network
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:628,1
    - Dst: wpa_config_remove_network
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:632,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:634,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:636,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:640,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 66
    argCount: 2
    argNames:
    - wpa_s
    - pasn_params
    argTypes:
    - struct wpa_supplicant*
    - struct pasn_auth*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 532
    functionDepth: 8
    functionLinenumber: 532
    functionLinenumberEnd: 643
    functionName: wpas_pasn_configure_next_peer
    functionSourceFile: /src/hostap/wpa_supplicant/pasn_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpas_pasn_free_peer
    - wpa_config_remove_network
    - wpa_config_get_network
    - ether_addr_equal
    - wpas_pasn_add_temporary_network
    - wpas_pasn_get_params_from_bss
    - MAC2STR
    - wpas_pasn_get_bss
    - wpas_pasn_auth_start
    - wpa_key_mgmt_txt
    - wpas_pasn_get_network
    - os_free
    - wpa_drv_send_pasn_resp
    - wpas_pasn_set_keys_from_cache
    linkageType: ''
    returnType: void
    signature: "void wpas_pasn_configure_next_peer(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \ struct pasn_auth *pasn_params)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_pasn_configure_next_peer
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:653,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - wpa_s
    - status
    argTypes:
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 646
    functionDepth: 9
    functionLinenumber: 646
    functionLinenumberEnd: 654
    functionName: wpas_pasn_auth_work_done
    functionSourceFile: /src/hostap/wpa_supplicant/pasn_supplicant.c
    functionUses: 1
    functionsReached:
    - wpas_pasn_configure_next_peer
    linkageType: ''
    returnType: void
    signature: void wpas_pasn_auth_work_done(struct wpa_supplicant *wpa_s, int status)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ptksa_cache_flush
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:668,1
    - Dst: wpas_pasn_free_peer_password
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:670,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - wpa_s
    - pasn_params
    argTypes:
    - struct wpa_supplicant*
    - struct pasn_auth*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 657
    functionDepth: 2
    functionLinenumber: 657
    functionLinenumberEnd: 672
    functionName: wpas_pasn_delete_peers
    functionSourceFile: /src/hostap/wpa_supplicant/pasn_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_pasn_free_peer_password
    - ptksa_cache_flush
    linkageType: ''
    returnType: void
    signature: "void wpas_pasn_delete_peers(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \  struct pasn_auth *pasn_params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:681,1
    - Dst: eapol_sm_notify_eap_success
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:683,1
    - Dst: eapol_sm_notify_eap_fail
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:684,1
    - Dst: eapol_sm_notify_portControl
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:685,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:687,1
    - Dst: eapol_sm_notify_config
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:691,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - pasn
    - ssid
    argTypes:
    - struct pasn_data*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 692
    functionName: wpas_pasn_initiate_eapol
    functionSourceFile: /src/hostap/wpa_supplicant/pasn_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eapol_sm_notify_config
    - eapol_sm_notify_eap_success
    - eapol_sm_notify_eap_fail
    - eapol_sm_notify_portControl
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void wpas_pasn_initiate_eapol(struct pasn_data *pasn,\n\t\t\t\t     struct
      wpa_ssid *ssid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_pasn_cancel_auth_work
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:700,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:702,1
    - Dst: wpa_pasn_reset
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:704,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 696
    functionDepth: 4
    functionLinenumber: 696
    functionLinenumberEnd: 705
    functionName: wpas_pasn_reset
    functionSourceFile: /src/hostap/wpa_supplicant/pasn_supplicant.c
    functionUses: 0
    functionsReached:
    - eloop_cancel_timeout
    - wpa_pasn_reset
    - wpas_pasn_cancel_auth_work
    linkageType: ''
    returnType: void
    signature: void wpas_pasn_reset(struct wpa_supplicant *wpa_s)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:720,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:721,1
    - Dst: wpa_bss_get_bssid_latest
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:736,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:739,1
    - Dst: wpa_bss_get_bssid_latest
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:744,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:747,1
    - Dst: wpa_bss_get_rsne
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:751,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:753,1
    - Dst: wpa_parse_wpa_ie
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:757,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:759,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:765,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:774,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:780,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 7
    argNames:
    - wpa_s
    - peer_addr
    - akmp
    - cipher
    - auth_alg
    - group_cipher
    - group_mgmt_cipher
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 708
    functionDepth: 1
    functionLinenumber: 708
    functionLinenumberEnd: 788
    functionName: wpas_pasn_allowed
    functionSourceFile: /src/hostap/wpa_supplicant/pasn_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_bss_get_bssid_latest
    - ether_addr_equal
    - wpa_parse_wpa_ie
    - wpa_bss_get_rsne
    linkageType: ''
    returnType: struct wpa_bss
    signature: "struct wpa_bss * wpas_pasn_allowed(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \ const u8 *peer_addr, int akmp,\n\t\t\t\t\t  int cipher, int auth_alg,\n\t\t\t\t\t
      \ int group_cipher,\n\t\t\t\t\t  int group_mgmt_cipher)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_external_auth_add_rsne
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:802,1
    - Dst: sme_get_ext_auth_pmkid
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:807,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:809,1
    - Dst: pasn_set_rsne
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:813,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:817,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - wpa_s
    - pasn
    - awork
    argTypes:
    - struct wpa_supplicant*
    - struct pasn_data*
    - struct wpa_pasn_auth_work*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 795
    functionDepth: 1
    functionLinenumber: 795
    functionLinenumberEnd: 822
    functionName: wpas_eppke_set_rsne
    functionSourceFile: /src/hostap/wpa_supplicant/pasn_supplicant.c
    functionUses: 0
    functionsReached:
    - pasn_set_rsne
    - wpa_external_auth_add_rsne
    - wpa_printf
    - sme_get_ext_auth_pmkid
    linkageType: ''
    returnType: int
    signature: "int wpas_eppke_set_rsne(struct wpa_supplicant *wpa_s,\n\t\t\t       struct
      pasn_data *pasn,\n\t\t\t       struct wpa_pasn_auth_work *awork)"
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:842,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:846,1
    - Dst: wpas_pasn_free_auth_work
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:851,1
    - Dst: wpas_pasn_allowed
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:860,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:865,1
    - Dst: wpa_bss_get_ie
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:869,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:871,1
    - Dst: wpa_bss_get_rsnxe
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:876,1
    - Dst: ieee802_11_rsnx_capab
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:879,1
    - Dst: pasn_enable_kdk_derivation
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:886,1
    - Dst: pasn_disable_kdk_derivation
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:888,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:890,1
    - Dst: ieee802_11_rsnx_capab
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:893,1
    - Dst: wpa_key_mgmt_sae
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:902,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:903,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:905,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:907,1
    - Dst: wpa_sm_set_param
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:915,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:917,1
    - Dst: wpa_sm_set_param
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:918,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:921,1
    - Dst: wpa_sm_set_param
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:922,1
    - Dst: wpa_sm_set_param
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:925,1
    - Dst: ieee802_11_rsnx_capab
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:930,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:931,1
    - Dst: wpa_config_get_network
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:932,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:936,1
    - Dst: ieee802_11_rsnx_capab
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:940,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:942,1
    - Dst: ieee802_11_rsnx_capab
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:946,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:948,1
    - Dst: ieee802_11_rsnx_capab
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:953,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:955,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:961,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:962,1
    - Dst: wpa_key_mgmt_sae_ext_key
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:971,1
    - Dst: BIT_ULL
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:972,1
    - Dst: wpa_sm_set_param
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:974,1
    - Dst: ieee802_11_rsnx_capab
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:982,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:985,1
    - Dst: pasn_set_rsnxe_caps
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:992,1
    - Dst: pasn_register_callbacks
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:993,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1002,1
    - Dst: wpas_pasn_sae_derive_pt_for_eppke
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1008,1
    - Dst: wpas_pasn_sae_derive_pt
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1012,1
    - Dst: pasn_set_pt
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1013,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1015,1
    - Dst: wpa_bss_get_ie
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1026,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1028,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1030,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1033,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1034,1
    - Dst: wpas_pasn_initiate_eapol
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1037,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1040,1
    - Dst: pasn_set_initiator_pmksa
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1048,1
    - Dst: wpa_sm_get_pmksa_cache
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1048,1
    - Dst: wpa_key_mgmt_ft
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1050,1
    - Dst: wpa_pasn_ft_derive_pmk_r1
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1052,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1058,1
    - Dst: pasn_set_rsnxe_ie
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1072,1
    - Dst: wpas_eppke_set_rsne
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1083,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1084,1
    - Dst: wpa_bss_get_ie
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1092,1
    - Dst: wpas_pasn_start
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1094,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1100,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1104,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1107,1
    - Dst: wpas_pasn_free_auth_work
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1113,1
    - Dst: radio_work_done
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1115,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 171
    argCount: 2
    argNames:
    - work
    - deinit
    argTypes:
    - struct wpa_radio_work*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1116
      start: 826
    functionDepth: 3
    functionLinenumber: 826
    functionLinenumberEnd: 1116
    functionName: wpas_pasn_auth_start_cb
    functionSourceFile: /src/hostap/wpa_supplicant/pasn_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_key_mgmt_sae_ext_key
    - wpas_pasn_free_auth_work
    - WPA_GET_LE16
    - wpas_pasn_sae_derive_pt_for_eppke
    - BIT
    - wpa_pasn_ft_derive_pmk_r1
    - wpa_config_get_network
    - wpa_key_mgmt_sae
    - wpa_printf
    - pasn_set_rsnxe_caps
    - wpas_pasn_start
    - wpa_key_mgmt_ft
    - pasn_set_rsnxe_ie
    - wpas_eppke_set_rsne
    - wpas_pasn_allowed
    - pasn_disable_kdk_derivation
    - wpa_sm_set_param
    - pasn_set_initiator_pmksa
    - pasn_register_callbacks
    - pasn_set_pt
    - ieee802_11_rsnx_capab
    - BIT_ULL
    - wpa_sm_get_pmksa_cache
    - pasn_enable_kdk_derivation
    - wpas_pasn_initiate_eapol
    - eloop_cancel_timeout
    - wpa_bss_get_rsnxe
    - wpabuf_free
    - radio_work_done
    - eloop_register_timeout
    - wpas_pasn_sae_derive_pt
    - wpa_bss_get_ie
    linkageType: ''
    returnType: void
    signature: void wpas_pasn_auth_start_cb(struct wpa_radio_work *work, int deinit)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1130,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1131,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1139,1
    - Dst: radio_work_pending
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1144,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1145,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1151,1
    - Dst: wpas_pasn_allowed
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1155,1
    - Dst: wpas_pasn_reset
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1160,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1162,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1166,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1167,1
    - Dst: os_memdup
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1180,1
    - Dst: wpas_pasn_free_auth_work
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1182,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1189,1
    - Dst: wpas_pasn_free_auth_work
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1191,1
    - Dst: radio_add_work
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1196,1
    - Dst: wpas_pasn_free_auth_work
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1198,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1202,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 52
    argCount: 15
    argNames:
    - wpa_s
    - own_addr
    - peer_addr
    - akmp
    - cipher
    - group
    - network_id
    - comeback
    - comeback_len
    - auth_alg
    - group_cipher
    - group_mgmt_cipher
    - rsn_capab
    - rsnxe_data
    - is_ml_peer
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - int
    - int
    - u16
    - int
    - u8*
    - size_t
    - unsigned int
    - int
    - int
    - u16
    - u8*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1204
      start: 1119
    functionDepth: 5
    functionLinenumber: 1119
    functionLinenumberEnd: 1204
    functionName: wpas_pasn_auth_start
    functionSourceFile: /src/hostap/wpa_supplicant/pasn_supplicant.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - os_memcpy
    - radio_work_pending
    - os_memdup
    - wpas_pasn_free_auth_work
    - wpabuf_alloc_copy
    - MAC2STR
    - os_zalloc
    - radio_add_work
    - wpas_pasn_reset
    - wpas_pasn_allowed
    linkageType: ''
    returnType: int
    signature: "int wpas_pasn_auth_start(struct wpa_supplicant *wpa_s,\n\t\t\t const
      u8 *own_addr, const u8 *peer_addr,\n\t\t\t int akmp, int cipher, u16 group,
      int network_id,\n\t\t\t const u8 *comeback, size_t comeback_len,\n\t\t\t unsigned
      int auth_alg, int group_cipher,\n\t\t\t int group_mgmt_cipher, u16 rsn_capab,\n\t\t\t
      const u8 *rsnxe_data, bool is_ml_peer)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1214,1
    - Dst: wpas_pasn_auth_status
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1216,1
    - Dst: pasn_get_akmp
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1216,1
    - Dst: pasn_get_cipher
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1217,1
    - Dst: wpas_pasn_reset
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1221,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1207
    functionDepth: 5
    functionLinenumber: 1207
    functionLinenumberEnd: 1226
    functionName: wpas_pasn_auth_stop
    functionSourceFile: /src/hostap/wpa_supplicant/pasn_supplicant.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - pasn_get_cipher
    - wpas_pasn_auth_status
    - pasn_get_akmp
    - wpas_pasn_reset
    - os_memset
    linkageType: ''
    returnType: void
    signature: void wpas_pasn_auth_stop(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_pasn_free_peer
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1237,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1239,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1241
      start: 1229
    functionDepth: 3
    functionLinenumber: 1229
    functionLinenumberEnd: 1241
    functionName: wpas_pasn_free_params
    functionSourceFile: /src/hostap/wpa_supplicant/pasn_supplicant.c
    functionUses: 1
    functionsReached:
    - os_free
    - wpas_pasn_free_peer
    linkageType: ''
    returnType: void
    signature: void wpas_pasn_free_params(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pasn_get_akmp
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1248,1
    - Dst: pasn_get_cipher
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1249,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1256,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1257,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1258,1
    - Dst: wpas_pasn_reset
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1271,1
    - Dst: wpas_pasn_auth_start
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - wpa_s
    - pasn
    - params
    argTypes:
    - struct wpa_supplicant*
    - struct pasn_data*
    - struct wpa_pasn_params_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1244
    functionDepth: 6
    functionLinenumber: 1244
    functionLinenumberEnd: 1279
    functionName: wpas_pasn_immediate_retry
    functionSourceFile: /src/hostap/wpa_supplicant/pasn_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - pasn_get_cipher
    - os_memcpy
    - pasn_get_akmp
    - wpas_pasn_auth_start
    - wpas_pasn_reset
    linkageType: ''
    returnType: int
    signature: "int wpas_pasn_immediate_retry(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \    struct pasn_data *pasn,\n\t\t\t\t     struct wpa_pasn_params_data *params)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpas_pasn_get_group
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1294,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1296,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1301,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1306,1
    - Dst: wpas_pasn_immediate_retry
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1307,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - wpa_s
    - pasn
    argTypes:
    - struct wpa_supplicant*
    - struct pasn_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1308
      start: 1282
    functionDepth: 7
    functionLinenumber: 1282
    functionLinenumberEnd: 1308
    functionName: wpas_pasn_retry_with_next_group
    functionSourceFile: /src/hostap/wpa_supplicant/pasn_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_pasn_get_group
    - wpas_pasn_immediate_retry
    - wpa_printf
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpas_pasn_retry_with_next_group(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \  struct pasn_data *pasn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1319,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1320,1
    - Dst: wpas_pasn_deauthenticate
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - entry
    argTypes:
    - struct ptksa_cache_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1322
      start: 1311
    functionDepth: 1
    functionLinenumber: 1311
    functionLinenumberEnd: 1322
    functionName: wpas_pasn_deauth_cb
    functionSourceFile: /src/hostap/wpa_supplicant/pasn_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_pasn_deauthenticate
    - os_memcpy
    linkageType: ''
    returnType: void
    signature: void wpas_pasn_deauth_cb(struct ptksa_cache_entry *entry)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpas_pasn_free_peer_comeback
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1338,1
    - Dst: os_memdup
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1339,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1339,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1339,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1341,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1346,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - wpa_s
    - comeback
    - comeback_after
    argTypes:
    - struct wpa_supplicant*
    - struct wpabuf*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1348
      start: 1325
    functionDepth: 1
    functionLinenumber: 1325
    functionLinenumberEnd: 1348
    functionName: wpas_pasn_store_comeback_data
    functionSourceFile: /src/hostap/wpa_supplicant/pasn_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_pasn_free_peer_comeback
    - wpa_printf
    - wpabuf_len
    - os_memdup
    - wpabuf_head
    linkageType: ''
    returnType: void
    signature: "void wpas_pasn_store_comeback_data(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \ const struct wpabuf *comeback,\n\t\t\t\t\t  u16 comeback_after)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1361,1
    - Dst: pasn_register_callbacks
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1364,1
    - Dst: wpa_pasn_auth_rx
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1366,1
    - Dst: ptksa_cache_add
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1368,1
    - Dst: pasn_get_cipher
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1369,1
    - Dst: pasn_get_ptk
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1371,1
    - Dst: pasn_get_akmp
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1374,1
    - Dst: wpa_sm_set_cur_pmksa
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1377,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1381,1
    - Dst: wpa_sm_set_pmk
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1384,1
    - Dst: forced_memzero
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1389,1
    - Dst: pasn_get_ptk
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1389,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1393,1
    - Dst: wpas_pasn_store_comeback_data
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1394,1
    - Dst: wpas_pasn_auth_stop
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1396,1
    - Dst: wpas_pasn_auth_work_done
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1397,1
    - Dst: wpas_pasn_immediate_retry
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1401,1
    - Dst: wpas_pasn_retry_with_next_group
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1404,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1406,1
    - Dst: wpas_pasn_auth_stop
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1408,1
    - Dst: wpas_pasn_auth_work_done
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1409,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 3
    argNames:
    - wpa_s
    - mgmt
    - len
    argTypes:
    - struct wpa_supplicant*
    - struct ieee80211_mgmt*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1414
      start: 1351
    functionDepth: 10
    functionLinenumber: 1351
    functionLinenumberEnd: 1414
    functionName: wpas_pasn_auth_rx
    functionSourceFile: /src/hostap/wpa_supplicant/pasn_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_pasn_auth_work_done
    - pasn_get_ptk
    - pasn_get_cipher
    - os_memcpy
    - wpa_printf
    - wpabuf_len
    - forced_memzero
    - wpabuf_free
    - wpas_pasn_store_comeback_data
    - wpas_pasn_immediate_retry
    - wpas_pasn_retry_with_next_group
    - wpa_sm_set_cur_pmksa
    - pasn_register_callbacks
    - wpa_sm_set_pmk
    - pasn_get_akmp
    - wpas_pasn_auth_stop
    - ptksa_cache_add
    - wpa_pasn_auth_rx
    linkageType: ''
    returnType: int
    signature: "int wpas_pasn_auth_rx(struct wpa_supplicant *wpa_s,\n\t\t      const
      struct ieee80211_mgmt *mgmt, size_t len)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1424,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1430,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1435,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1437,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1448,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1449,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1455,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1457,1
    - Dst: os_memdup
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1463,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1466,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1473,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1474,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1475,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1476,1
    - Dst: wpas_pasn_delete_peers
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1481,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1482,1
    - Dst: wpas_pasn_configure_next_peer
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1485,1
    - Dst: wpas_pasn_free_params
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1491,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 59
    argCount: 2
    argNames:
    - wpa_s
    - pasn_auth
    argTypes:
    - struct wpa_supplicant*
    - struct pasn_auth*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1492
      start: 1417
    functionDepth: 9
    functionLinenumber: 1417
    functionLinenumberEnd: 1492
    functionName: wpas_pasn_auth_trigger
    functionSourceFile: /src/hostap/wpa_supplicant/pasn_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpas_pasn_delete_peers
    - wpas_pasn_free_params
    - os_memdup
    - is_zero_ether_addr
    - MAC2STR
    - os_zalloc
    - wpas_pasn_configure_next_peer
    - os_free
    - os_strdup
    linkageType: ''
    returnType: void
    signature: "void wpas_pasn_auth_trigger(struct wpa_supplicant *wpa_s,\n\t\t\t
      \   struct pasn_auth *pasn_auth)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1505,1
    - Dst: wpa_cipher_to_alg
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1510,1
    - Dst: pasn_get_cipher
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1510,1
    - Dst: ptksa_cache_get
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1511,1
    - Dst: pasn_get_cipher
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1512,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1514,1
    - Dst: wpa_drv_set_key
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1520,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1523,1
    - Dst: wpa_drv_set_secure_ranging_ctx
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1530,1
    - Dst: pasn_get_cipher
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1532,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1535,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - wpa_s
    - pasn
    - acked
    argTypes:
    - struct wpa_supplicant*
    - struct pasn_data*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1541
      start: 1497
    functionDepth: 1
    functionLinenumber: 1497
    functionLinenumberEnd: 1541
    functionName: wpas_eppke_external_auth_set_keys
    functionSourceFile: /src/hostap/wpa_supplicant/pasn_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - pasn_get_cipher
    - wpa_drv_set_secure_ranging_ctx
    - wpa_drv_set_key
    - ptksa_cache_get
    - wpa_cipher_to_alg
    linkageType: ''
    returnType: u16
    signature: "u16 wpas_eppke_external_auth_set_keys(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \    struct pasn_data *pasn, bool acked)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1555,1
    - Dst: wpa_pasn_auth_tx_status
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1560,1
    - Dst: wpas_eppke_external_auth_set_keys
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1569,1
    - Dst: sme_send_external_auth_status
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1573,1
    - Dst: wpas_pasn_auth_stop
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1581,1
    - Dst: wpas_pasn_set_keys_from_cache
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1585,1
    - Dst: pasn_get_cipher
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1586,1
    - Dst: pasn_get_akmp
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1587,1
    - Dst: wpas_pasn_auth_stop
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1589,1
    - Dst: wpas_pasn_auth_work_done
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1590,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 4
    argNames:
    - wpa_s
    - data
    - data_len
    - acked
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - size_t
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1593
      start: 1546
    functionDepth: 10
    functionLinenumber: 1546
    functionLinenumberEnd: 1593
    functionName: wpas_pasn_auth_tx_status
    functionSourceFile: /src/hostap/wpa_supplicant/pasn_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_pasn_auth_work_done
    - wpa_printf
    - pasn_get_cipher
    - sme_send_external_auth_status
    - wpas_eppke_external_auth_set_keys
    - wpa_pasn_auth_tx_status
    - pasn_get_akmp
    - wpas_pasn_auth_stop
    - wpas_pasn_set_keys_from_cache
    linkageType: ''
    returnType: int
    signature: "int wpas_pasn_auth_tx_status(struct wpa_supplicant *wpa_s,\n\t\t\t
      \    const u8 *data, size_t data_len, u8 acked)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1604,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1605,1
    - Dst: wpa_drv_set_secure_ranging_ctx
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1610,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1613,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1614,1
    - Dst: ptksa_cache_flush
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1615,1
    - Dst: wpa_bss_get_bssid
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1617,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1619,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1623,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1625,1
    - Dst: wpabuf_put
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1629,1
    - Dst: host_to_le16
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1632,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1635,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1636,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1637,1
    - Dst: host_to_le16
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1639,1
    - Dst: wpa_drv_send_mlme
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1646,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1646,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1646,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1649,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pasn_supplicant.c:1650,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 3
    argNames:
    - wpa_s
    - own_addr
    - peer_addr
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1653
      start: 1596
    functionDepth: 1
    functionLinenumber: 1596
    functionLinenumberEnd: 1653
    functionName: wpas_pasn_deauthenticate
    functionSourceFile: /src/hostap/wpa_supplicant/pasn_supplicant.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpabuf_put
    - os_memcpy
    - wpa_bss_get_bssid
    - wpabuf_len
    - ether_addr_equal
    - wpabuf_free
    - wpabuf_head
    - MAC2STR
    - wpabuf_alloc
    - wpa_drv_set_secure_ranging_ctx
    - wpa_drv_send_mlme
    - host_to_le16
    - ptksa_cache_flush
    linkageType: ''
    returnType: int
    signature: "int wpas_pasn_deauthenticate(struct wpa_supplicant *wpa_s, const u8
      *own_addr,\n\t\t\t     const u8 *peer_addr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: wnm_active_bss_trans_mgmt
    functionSourceFile: /src/hostap/wpa_supplicant/wnm_sta.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool wnm_active_bss_trans_mgmt(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - reply_on_fail
    argTypes:
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: wnm_scan_process
    functionSourceFile: /src/hostap/wpa_supplicant/wnm_sta.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int wnm_scan_process(struct wpa_supplicant *wpa_s,\n\t\t\t\t   int
      reply_on_fail)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: wnm_clear_coloc_intf_reporting
    functionSourceFile: /src/hostap/wpa_supplicant/wnm_sta.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wnm_clear_coloc_intf_reporting(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - bss
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: wnm_is_bss_excluded
    functionSourceFile: /src/hostap/wpa_supplicant/wnm_sta.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool wnm_is_bss_excluded(struct wpa_supplicant *wpa_s, struct wpa_bss
      *bss)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 111
    functionName: wnm_btm_reset
    functionSourceFile: /src/hostap/wpa_supplicant/wnm_sta.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wnm_btm_reset(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: wnm_active_bss_trans_mgmt
    functionSourceFile: /src/hostap/wpa_supplicant/wnm_sta.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool wnm_active_bss_trans_mgmt(struct wpa_supplicant *wpa_s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:92,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:93,1
    - Dst: os_realloc_array
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:96,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:98,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:102,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:105,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:110,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:111,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - wpa_s
    - val
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 116
    functionName: set_bssid_filter
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_hexdump
    - hwaddr_aton
    - os_free
    - os_strchr
    - os_realloc_array
    linkageType: ''
    returnType: int
    signature: int set_bssid_filter(struct wpa_supplicant *wpa_s, char *val)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:137,1
    - Dst: hwaddr_aton2
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:140,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:142,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:143,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:144,1
    - Dst: os_realloc_array
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:149,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:151,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:152,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:156,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:158,1
    - Dst: os_realloc_array
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:169,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:172,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:173,1
    - Dst: hexstr2bin
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:180,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:182,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:183,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:184,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:189,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:195,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:197,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:198,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:202,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:207,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:208,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:212,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:213,1
    - Dst: disallowed_bssid
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:224,1
    - Dst: disallowed_ssid
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:225,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:228,1
    - Dst: wpa_supplicant_deauthenticate
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:236,1
    - Dst: wpa_supplicant_req_scan
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:237,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 82
    argCount: 2
    argNames:
    - wpa_s
    - val
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 119
    functionDepth: 4
    functionLinenumber: 119
    functionLinenumberEnd: 240
    functionName: set_disallow_aps
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - disallowed_bssid
    - wpa_printf
    - os_memcpy
    - wpa_hexdump
    - wpa_supplicant_req_scan
    - hexstr2bin
    - os_strncmp
    - disallowed_ssid
    - wpa_supplicant_deauthenticate
    - os_free
    - os_strchr
    - hwaddr_aton2
    - wpa_hexdump_ascii
    - os_realloc_array
    linkageType: ''
    returnType: int
    signature: int set_disallow_aps(struct wpa_supplicant *wpa_s, char *val)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:250,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:254,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:258,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:259,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:262,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:263,1
    - Dst: wpa_config_free_blob
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:265,1
    - Dst: hexstr2bin
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:269,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:270,1
    - Dst: wpa_config_free_blob
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:271,1
    - Dst: wpa_config_set_blob
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:276,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - wpa_s
    - pos
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 279
    functionName: wpas_ctrl_set_blob
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - hexstr2bin
    - wpa_config_free_blob
    - os_malloc
    - os_zalloc
    - os_strchr
    - os_strdup
    - wpa_config_set_blob
    linkageType: ''
    returnType: int
    signature: int wpas_ctrl_set_blob(struct wpa_supplicant *wpa_s, char *pos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:290,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:291,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:292,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:295,1
    - Dst: freq_range_to_channel_list
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:297,1
    - Dst: wpas_start_pno
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:301,1
    - Dst: wpas_stop_pno
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:303,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 283
    functionDepth: 4
    functionLinenumber: 283
    functionLinenumberEnd: 306
    functionName: wpas_ctrl_pno
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - freq_range_to_channel_list
    - wpas_start_pno
    - os_strstr
    - wpas_stop_pno
    - atoi
    - os_strchr
    - os_free
    linkageType: ''
    returnType: int
    signature: int wpas_ctrl_pno(struct wpa_supplicant *wpa_s, char *cmd)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:320,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:321,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:323,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:325,1
    - Dst: wpa_drv_setband
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:332,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:333,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:336,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - wpa_s
    - bands
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 340
    functionName: wpas_ctrl_set_band
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strstr
    - wpa_drv_setband
    - wpa_supplicant_event
    - os_memset
    linkageType: ''
    returnType: int
    signature: int wpas_ctrl_set_band(struct wpa_supplicant *wpa_s, char *bands)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:348,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:349,1
    - Dst: wpabuf_parse_bin
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:354,1
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:358,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:359,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:363,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 367
    functionName: wpas_ctrl_iface_set_lci
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpabuf_parse_bin
    - os_get_reltime
    - wpabuf_free
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: "int wpas_ctrl_iface_set_lci(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \  const char *cmd)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:375,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:380,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 386
    functionName: wpas_ctrl_set_relative_rssi
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - atoi
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: int wpas_ctrl_set_relative_rssi(struct wpa_supplicant *wpa_s, const
      char *cmd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:396,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:400,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:404,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:406,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 414
    functionName: wpas_ctrl_set_relative_band_adjust
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - atoi
    - os_strchr
    - os_strncmp
    linkageType: ''
    returnType: int
    signature: "int wpas_ctrl_set_relative_band_adjust(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \     const char *cmd)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:422,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:423,1
    - Dst: wpabuf_parse_bin
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:428,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:432,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 436
    functionName: wpas_ctrl_iface_set_ric_ies
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpabuf_parse_bin
    - wpabuf_free
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: "int wpas_ctrl_iface_set_ric_ies(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \  const char *cmd)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:447,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:449,1
    - Dst: dl_list_for_each
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:451,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:453,1
    - Dst: dl_list_del
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:462,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:463,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:470,1
    - Dst: sscanf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:471,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:480,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:483,1
    - Dst: dl_list_add
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:484,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 2
    argNames:
    - wpa_s
    - val
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 440
    functionDepth: 1
    functionLinenumber: 440
    functionLinenumberEnd: 493
    functionName: wpas_ctrl_iface_set_dso
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - dl_list_del
    - sscanf
    - hwaddr_aton
    - ether_addr_equal
    - dl_list_for_each
    - os_zalloc
    - dl_list_add
    - os_free
    - os_strchr
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpas_ctrl_iface_set_dso(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \  const char *val)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1015,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1017,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1018,1
    - Dst: os_strcasecmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1019,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1020,1
    - Dst: os_strcasecmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1021,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1023,1
    - Dst: os_strcasecmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1027,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1034,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1037,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1040,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1044,1
    - Dst: tls_get_library_version
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1045,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1047,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1048,1
    - Dst: wpa_sm_get_anonce
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1049,1
    - Dst: os_strcasecmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1051,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1052,1
    - Dst: wpa_config_get_value
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1055,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1058,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 4
    argNames:
    - wpa_s
    - cmd
    - buf
    - buflen
    argTypes:
    - struct wpa_supplicant*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 1010
    functionDepth: 1
    functionLinenumber: 1010
    functionLinenumberEnd: 1061
    functionName: wpa_supplicant_ctrl_iface_get
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - tls_get_library_version
    - wpa_snprintf_hex
    - wpa_config_get_value
    - os_snprintf
    - wpa_sm_get_anonce
    - os_strcasecmp
    - os_strcmp
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_ctrl_iface_get(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      char *cmd, char *buf, size_t buflen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1071,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1072,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1077,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1077,1
    - Dst: rsn_preauth_deinit
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1078,1
    - Dst: rsn_preauth_init
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1079,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - wpa_s
    - addr
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1065
    functionDepth: 1
    functionLinenumber: 1065
    functionLinenumberEnd: 1083
    functionName: wpa_supplicant_ctrl_iface_preauth
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hwaddr_aton
    - rsn_preauth_init
    - MAC2STR
    - rsn_preauth_deinit
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_ctrl_iface_preauth(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \    char *addr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1095,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1096,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1101,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1102,1
    - Dst: wpa_tdls_is_external_setup
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1104,1
    - Dst: wpa_tdls_send_discovery_request
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1105,1
    - Dst: wpa_drv_tdls_oper
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - wpa_s
    - addr
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1110
      start: 1089
    functionDepth: 1
    functionLinenumber: 1089
    functionLinenumberEnd: 1110
    functionName: wpa_supplicant_ctrl_iface_tdls_discover
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hwaddr_aton
    - MAC2STR
    - wpa_drv_tdls_oper
    - wpa_tdls_send_discovery_request
    - wpa_tdls_is_external_setup
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_ctrl_iface_tdls_discover(\n\tstruct wpa_supplicant
      *wpa_s, char *addr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1119,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1120,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1125,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1126,1
    - Dst: wpa_tdls_is_external_setup
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1129,1
    - Dst: wpa_drv_tdls_oper
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1130,1
    - Dst: wpa_tdls_remove
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1132,1
    - Dst: wpa_tdls_is_external_setup
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1134,1
    - Dst: wpa_tdls_start
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1135,1
    - Dst: wpa_drv_tdls_oper
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1137,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - wpa_s
    - addr
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1140
      start: 1113
    functionDepth: 1
    functionLinenumber: 1113
    functionLinenumberEnd: 1140
    functionName: wpa_supplicant_ctrl_iface_tdls_setup
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_tdls_start
    - hwaddr_aton
    - MAC2STR
    - wpa_tdls_remove
    - wpa_drv_tdls_oper
    - wpa_tdls_is_external_setup
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_ctrl_iface_tdls_setup(\n\tstruct wpa_supplicant
      *wpa_s, char *addr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1149,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1151,1
    - Dst: wpa_tdls_teardown_peers
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1152,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1156,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1157,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1162,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1163,1
    - Dst: wpa_tdls_is_external_setup
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1166,1
    - Dst: wpa_drv_tdls_oper
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1167,1
    - Dst: wpa_tdls_is_external_setup
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1169,1
    - Dst: wpa_tdls_teardown_link
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1170,1
    - Dst: wpa_drv_tdls_oper
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1174,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - wpa_s
    - addr
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1143
    functionDepth: 1
    functionLinenumber: 1143
    functionLinenumberEnd: 1177
    functionName: wpa_supplicant_ctrl_iface_tdls_teardown
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_tdls_teardown_link
    - wpa_printf
    - hwaddr_aton
    - MAC2STR
    - wpa_drv_tdls_oper
    - wpa_tdls_teardown_peers
    - wpa_tdls_is_external_setup
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_ctrl_iface_tdls_teardown(\n\tstruct wpa_supplicant
      *wpa_s, char *addr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1185,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - wpa_s
    - buf
    - buflen
    argTypes:
    - struct wpa_supplicant*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1180
    functionDepth: 1
    functionLinenumber: 1180
    functionLinenumberEnd: 1193
    functionName: ctrl_iface_get_capability_tdls
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int ctrl_iface_get_capability_tdls(\n\tstruct wpa_supplicant *wpa_s,
      char *buf, size_t buflen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_tdls_is_external_setup
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1204,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1205,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1210,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1212,1
    - Dst: strtol
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1217,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1219,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1225,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1227,1
    - Dst: SET_FREQ_SETTING
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1240,1
    - Dst: SET_FREQ_SETTING
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1241,1
    - Dst: SET_FREQ_SETTING
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1242,1
    - Dst: SET_FREQ_SETTING
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1243,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1246,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1247,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1249,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1250,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1256,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1258,1
    - Dst: wpa_tdls_enable_chan_switch
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1264,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1266
      start: 1196
    functionDepth: 1
    functionLinenumber: 1196
    functionLinenumberEnd: 1266
    functionName: wpa_supplicant_ctrl_iface_tdls_chan_switch
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - strtol
    - wpa_printf
    - hwaddr_aton
    - os_strstr
    - atoi
    - SET_FREQ_SETTING
    - MAC2STR
    - wpa_tdls_is_external_setup
    - os_strchr
    - wpa_tdls_enable_chan_switch
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_ctrl_iface_tdls_chan_switch(\n\tstruct wpa_supplicant
      *wpa_s, char *cmd)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1239
      start: 1231
    functionDepth: 0
    functionLinenumber: 1231
    functionLinenumberEnd: 1239
    functionName: SET_FREQ_SETTING
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_FREQ_SETTING(str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_tdls_is_external_setup
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1274,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1275,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1280,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1281,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1287,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1288,1
    - Dst: wpa_tdls_disable_chan_switch
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1290,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1291
      start: 1269
    functionDepth: 1
    functionLinenumber: 1269
    functionLinenumberEnd: 1291
    functionName: wpa_supplicant_ctrl_iface_tdls_cancel_chan_switch
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hwaddr_aton
    - wpa_tdls_disable_chan_switch
    - MAC2STR
    - wpa_tdls_is_external_setup
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_ctrl_iface_tdls_cancel_chan_switch(\n\tstruct wpa_supplicant
      *wpa_s, char *cmd)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1302,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1303,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1308,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1309,1
    - Dst: wpa_tdls_get_link_status
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1311,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1312,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1313,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - wpa_s
    - addr
    - buf
    - buflen
    argTypes:
    - struct wpa_supplicant*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1318
      start: 1294
    functionDepth: 1
    functionLinenumber: 1294
    functionLinenumberEnd: 1318
    functionName: wpa_supplicant_ctrl_iface_tdls_link_status
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_tdls_get_link_status
    - wpa_printf
    - hwaddr_aton
    - os_snprintf
    - MAC2STR
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_ctrl_iface_tdls_link_status(\n\tstruct wpa_supplicant
      *wpa_s, const char *addr,\n\tchar *buf, size_t buflen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: str_token
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1333,1
    - Dst: sscanf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1334,1
    - Dst: sscanf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1335,1
    - Dst: sscanf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1336,1
    - Dst: sscanf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1338,1
    - Dst: sscanf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1340,1
    - Dst: sscanf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1342,1
    - Dst: os_strcasecmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1346,1
    - Dst: os_strcasecmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1348,1
    - Dst: os_strcasecmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1350,1
    - Dst: os_strcasecmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1352,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1355,1
    - Dst: wpas_wmm_ac_addts
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1363,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1364
      start: 1325
    functionDepth: 1
    functionLinenumber: 1325
    functionLinenumberEnd: 1364
    functionName: wmm_ac_ctrl_addts
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - str_token
    - sscanf
    - wpas_wmm_ac_addts
    - os_strcasecmp
    linkageType: ''
    returnType: int
    signature: int wmm_ac_ctrl_addts(struct wpa_supplicant *wpa_s, char *cmd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1369,1
    - Dst: wpas_wmm_ac_delts
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1372
      start: 1367
    functionDepth: 1
    functionLinenumber: 1367
    functionLinenumberEnd: 1372
    functionName: wmm_ac_ctrl_delts
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - atoi
    - wpas_wmm_ac_delts
    linkageType: ''
    returnType: int
    signature: int wmm_ac_ctrl_delts(struct wpa_supplicant *wpa_s, char *cmd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1384,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1386,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1387,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1392,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1392,1
    - Dst: wpa_bss_get_bssid
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1394,1
    - Dst: wpa_bss_get_ie
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1396,1
    - Dst: wpa_ft_start_over_ds
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1400,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - wpa_s
    - addr
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1401
      start: 1378
    functionDepth: 1
    functionLinenumber: 1378
    functionLinenumberEnd: 1401
    functionName: wpa_supplicant_ctrl_iface_ft_ds
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_bss_get_bssid
    - wpa_ft_start_over_ds
    - hwaddr_aton
    - os_strstr
    - MAC2STR
    - wpa_bss_get_ie
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_ctrl_iface_ft_ds(\n\tstruct wpa_supplicant *wpa_s,
      char *addr)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1419,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1420,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1423,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1424,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1425,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1432,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1434,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1435,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1436,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1442,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1445,1
    - Dst: wpa_supplicant_ap_wps_pbc
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1451,1
    - Dst: wpas_wps_start_pbc
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1454,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1455
      start: 1406
    functionDepth: 1
    functionLinenumber: 1406
    functionLinenumberEnd: 1455
    functionName: wpa_supplicant_ctrl_iface_wps_pbc
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hwaddr_aton
    - os_strncmp
    - os_strstr
    - wpas_wps_start_pbc
    - atoi
    - wpa_supplicant_ap_wps_pbc
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_ctrl_iface_wps_pbc(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \    char *cmd)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1466,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1470,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1472,1
    - Dst: wps_generate_pin
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1473,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1476,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1477,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1488,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1491,1
    - Dst: wpa_supplicant_ap_wps_pin
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1495,1
    - Dst: wpas_wps_start_pin
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1501,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1505,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1506,1
    - Dst: wpas_wps_start_pin
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1511,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1517,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1518,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 4
    argNames:
    - wpa_s
    - cmd
    - buf
    - buflen
    argTypes:
    - struct wpa_supplicant*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1521
      start: 1458
    functionDepth: 1
    functionLinenumber: 1458
    functionLinenumberEnd: 1521
    functionName: wpa_supplicant_ctrl_iface_wps_pin
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_ap_wps_pin
    - wpa_printf
    - hwaddr_aton
    - wps_generate_pin
    - os_snprintf
    - wpas_wps_start_pin
    - atoi
    - os_strchr
    - os_strcmp
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_ctrl_iface_wps_pin(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \    char *cmd, char *buf,\n\t\t\t\t\t     size_t buflen)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump_ascii_key
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1532,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1533,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1539,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1544,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1551,1
    - Dst: wps_pin_valid
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1552,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1553,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1554,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1555,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1561,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1562,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 4
    argNames:
    - wpa_s
    - cmd
    - buf
    - buflen
    argTypes:
    - struct wpa_supplicant*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1566
      start: 1524
    functionDepth: 1
    functionLinenumber: 1524
    functionLinenumberEnd: 1566
    functionName: wpa_supplicant_ctrl_iface_wps_check_pin
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - os_snprintf
    - wpa_hexdump_ascii_key
    - atoi
    - os_snprintf_error
    - wps_pin_valid
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_ctrl_iface_wps_check_pin(\n\tstruct wpa_supplicant
      *wpa_s, char *cmd, char *buf, size_t buflen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1578,1
    - Dst: wpas_wps_start_nfc
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1581,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1583
      start: 1571
    functionDepth: 1
    functionLinenumber: 1571
    functionLinenumberEnd: 1583
    functionName: wpa_supplicant_ctrl_iface_wps_nfc
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - hwaddr_aton
    - wpas_wps_start_nfc
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_ctrl_iface_wps_nfc(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \    char *cmd)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1594,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1597,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1599,1
    - Dst: wpas_wps_nfc_config_token
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1604,1
    - Dst: wpa_snprintf_hex_uppercase
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1608,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1608,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1609,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1613,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - wpa_s
    - cmd
    - reply
    - max_len
    argTypes:
    - struct wpa_supplicant*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1616
      start: 1586
    functionDepth: 1
    functionLinenumber: 1586
    functionLinenumberEnd: 1616
    functionName: wpa_supplicant_ctrl_iface_wps_nfc_config_token
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpas_wps_nfc_config_token
    - wpabuf_len
    - wpabuf_free
    - wpa_snprintf_hex_uppercase
    - wpabuf_head
    - os_strchr
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_ctrl_iface_wps_nfc_config_token(\n\tstruct wpa_supplicant
      *wpa_s, char *cmd, char *reply, size_t max_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1626,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1628,1
    - Dst: wpas_wps_nfc_token
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1633,1
    - Dst: wpa_snprintf_hex_uppercase
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1637,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1637,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1638,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1642,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - wpa_s
    - cmd
    - reply
    - max_len
    argTypes:
    - struct wpa_supplicant*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1645
      start: 1619
    functionDepth: 1
    functionLinenumber: 1619
    functionLinenumberEnd: 1645
    functionName: wpa_supplicant_ctrl_iface_wps_nfc_token
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpabuf_len
    - wpabuf_free
    - wpa_snprintf_hex_uppercase
    - wpas_wps_nfc_token
    - wpabuf_head
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_ctrl_iface_wps_nfc_token(\n\tstruct wpa_supplicant
      *wpa_s, char *cmd, char *reply, size_t max_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1657,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1661,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1664,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1669,1
    - Dst: hexstr2bin
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1672,1
    - Dst: wpabuf_put
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1672,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1673,1
    - Dst: wpas_wps_nfc_tag_read
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1677,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1678,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - wpa_s
    - pos
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1681
      start: 1648
    functionDepth: 1
    functionLinenumber: 1648
    functionLinenumberEnd: 1681
    functionName: wpa_supplicant_ctrl_iface_wps_nfc_tag_read
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpabuf_put
    - hexstr2bin
    - wpabuf_free
    - strstr
    - wpabuf_alloc
    - wpas_wps_nfc_tag_read
    - atoi
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_ctrl_iface_wps_nfc_tag_read(\n\tstruct wpa_supplicant
      *wpa_s, char *pos)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_wps_nfc_handover_req
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1691,1
    - Dst: wpa_snprintf_hex_uppercase
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1695,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1695,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1696,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1700,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - wpa_s
    - reply
    - max_len
    - ndef
    argTypes:
    - struct wpa_supplicant*
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1703
      start: 1684
    functionDepth: 1
    functionLinenumber: 1684
    functionLinenumberEnd: 1703
    functionName: wpas_ctrl_nfc_get_handover_req_wps
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpas_wps_nfc_handover_req
    - wpabuf_len
    - wpabuf_free
    - wpa_snprintf_hex_uppercase
    - wpabuf_head
    linkageType: ''
    returnType: int
    signature: "int wpas_ctrl_nfc_get_handover_req_wps(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \     char *reply, size_t max_len,\n\t\t\t\t\t      int ndef)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_p2p_nfc_handover_req
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1714,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1716,1
    - Dst: wpa_snprintf_hex_uppercase
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1720,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1720,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1721,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1725,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - wpa_s
    - reply
    - max_len
    - ndef
    argTypes:
    - struct wpa_supplicant*
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1728
      start: 1707
    functionDepth: 1
    functionLinenumber: 1707
    functionLinenumberEnd: 1728
    functionName: wpas_ctrl_nfc_get_handover_req_p2p
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_len
    - wpabuf_free
    - wpa_snprintf_hex_uppercase
    - wpabuf_head
    - wpas_p2p_nfc_handover_req
    linkageType: ''
    returnType: int
    signature: "int wpas_ctrl_nfc_get_handover_req_p2p(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \     char *reply, size_t max_len,\n\t\t\t\t\t      int ndef)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1739,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1744,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1746,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1751,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1751,1
    - Dst: wpas_ctrl_nfc_get_handover_req_wps
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1754,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1759,1
    - Dst: wpas_ctrl_nfc_get_handover_req_p2p
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1760,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 4
    argNames:
    - wpa_s
    - cmd
    - reply
    - max_len
    argTypes:
    - struct wpa_supplicant*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1766
      start: 1732
    functionDepth: 2
    functionLinenumber: 1732
    functionLinenumberEnd: 1766
    functionName: wpas_ctrl_nfc_get_handover_req
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strchr
    - wpas_ctrl_nfc_get_handover_req_p2p
    - os_strcmp
    - wpas_ctrl_nfc_get_handover_req_wps
    linkageType: ''
    returnType: int
    signature: "int wpas_ctrl_nfc_get_handover_req(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \ char *cmd, char *reply,\n\t\t\t\t\t  size_t max_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_wps_nfc_handover_sel
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1776,1
    - Dst: wpa_snprintf_hex_uppercase
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1780,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1780,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1781,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1785,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 6
    argNames:
    - wpa_s
    - reply
    - max_len
    - ndef
    - cr
    - uuid
    argTypes:
    - struct wpa_supplicant*
    - char*
    - size_t
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1788
      start: 1769
    functionDepth: 1
    functionLinenumber: 1769
    functionLinenumberEnd: 1788
    functionName: wpas_ctrl_nfc_get_handover_sel_wps
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpabuf_len
    - wpabuf_free
    - wpa_snprintf_hex_uppercase
    - wpabuf_head
    - wpas_wps_nfc_handover_sel
    linkageType: ''
    returnType: int
    signature: "int wpas_ctrl_nfc_get_handover_sel_wps(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \     char *reply, size_t max_len,\n\t\t\t\t\t      int ndef, int cr, char *uuid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_p2p_nfc_handover_sel
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1799,1
    - Dst: wpa_snprintf_hex_uppercase
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1803,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1803,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1804,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1808,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - wpa_s
    - reply
    - max_len
    - ndef
    - tag
    argTypes:
    - struct wpa_supplicant*
    - char*
    - size_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1811
      start: 1792
    functionDepth: 1
    functionLinenumber: 1792
    functionLinenumberEnd: 1811
    functionName: wpas_ctrl_nfc_get_handover_sel_p2p
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpabuf_len
    - wpabuf_free
    - wpa_snprintf_hex_uppercase
    - wpabuf_head
    - wpas_p2p_nfc_handover_sel
    linkageType: ''
    returnType: int
    signature: "int wpas_ctrl_nfc_get_handover_sel_p2p(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \     char *reply, size_t max_len,\n\t\t\t\t\t      int ndef, int tag)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1822,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1827,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1829,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1834,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1837,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1837,1
    - Dst: wpas_ctrl_nfc_get_handover_sel_wps
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1840,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1842,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1846,1
    - Dst: wpas_ctrl_nfc_get_handover_sel_p2p
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1847,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1851,1
    - Dst: wpas_ctrl_nfc_get_handover_sel_p2p
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1852,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 4
    argNames:
    - wpa_s
    - cmd
    - reply
    - max_len
    argTypes:
    - struct wpa_supplicant*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1858
      start: 1815
    functionDepth: 2
    functionLinenumber: 1815
    functionLinenumberEnd: 1858
    functionName: wpas_ctrl_nfc_get_handover_sel
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strchr
    - os_strcmp
    - wpas_ctrl_nfc_get_handover_sel_p2p
    - wpas_ctrl_nfc_get_handover_sel_wps
    linkageType: ''
    returnType: int
    signature: "int wpas_ctrl_nfc_get_handover_sel(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \ char *cmd, char *reply,\n\t\t\t\t\t  size_t max_len)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1872,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1876,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1881,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1883,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1889,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1891,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1896,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1898,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1903,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1905,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1910,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1912,1
    - Dst: hexstr2bin
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1915,1
    - Dst: wpabuf_put
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1915,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1916,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1917,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1921,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1923,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1924,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1929,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1931,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1932,1
    - Dst: hexstr2bin
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1935,1
    - Dst: wpabuf_put
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1935,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1936,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1937,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1938,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1942,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1943,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1943,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1945,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1945,1
    - Dst: wpas_wps_nfc_report_handover
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1946,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1948,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1948,1
    - Dst: wpas_ap_wps_nfc_report_handover
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1950,1
    - Dst: wpas_er_wps_nfc_report_handover
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1952,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1955,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1955,1
    - Dst: wpas_p2p_nfc_report_handover
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1957,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1958,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1958,1
    - Dst: wpas_p2p_nfc_report_handover
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1960,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1964,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1968,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1969,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1972,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 85
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1975
      start: 1861
    functionDepth: 1
    functionLinenumber: 1861
    functionLinenumberEnd: 1975
    functionName: wpas_ctrl_nfc_report_handover
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - wpabuf_put
    - wpas_p2p_nfc_report_handover
    - wpas_er_wps_nfc_report_handover
    - hexstr2bin
    - wpabuf_len
    - wpabuf_free
    - wpas_ap_wps_nfc_report_handover
    - strstr
    - wpabuf_alloc
    - atoi
    - os_strchr
    - wpas_wps_nfc_report_handover
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: "int wpas_ctrl_nfc_report_handover(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      char *cmd)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1991,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1996,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:1997,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2002,1
    - Dst: wpas_wps_start_reg
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2004,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2007,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2012,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2017,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2022,1
    - Dst: wpas_wps_start_reg
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2027,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2028
      start: 1980
    functionDepth: 1
    functionLinenumber: 1980
    functionLinenumberEnd: 2028
    functionName: wpa_supplicant_ctrl_iface_wps_reg
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hwaddr_aton
    - wpas_wps_start_reg
    - os_strchr
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_ctrl_iface_wps_reg(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \    char *cmd)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2043,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2047,1
    - Dst: wpas_wps_ap_pin_disable
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2048,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2049,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2052,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2054,1
    - Dst: wpas_wps_ap_pin_random
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2055,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2058,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2061,1
    - Dst: wpas_wps_ap_pin_get
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2062,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2065,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2068,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2073,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2076,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2078,1
    - Dst: wpas_wps_ap_pin_set
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2080,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2082,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 4
    argNames:
    - wpa_s
    - cmd
    - buf
    - buflen
    argTypes:
    - struct wpa_supplicant*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2086
      start: 2032
    functionDepth: 1
    functionLinenumber: 2032
    functionLinenumberEnd: 2086
    functionName: wpa_supplicant_ctrl_iface_wps_ap_pin
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_snprintf
    - wpas_wps_ap_pin_get
    - wpas_wps_ap_pin_set
    - atoi
    - os_strchr
    - wpas_wps_ap_pin_random
    - os_strcmp
    - wpas_wps_ap_pin_disable
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_ctrl_iface_wps_ap_pin(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t\tchar
      *cmd, char *buf,\n\t\t\t\t\t\tsize_t buflen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2096,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2100,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2103,1
    - Dst: wpas_wps_er_add_pin
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2107
      start: 2091
    functionDepth: 1
    functionLinenumber: 2091
    functionLinenumberEnd: 2107
    functionName: wpa_supplicant_ctrl_iface_wps_er_pin
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpas_wps_er_add_pin
    - os_strchr
    - hwaddr_aton
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_ctrl_iface_wps_er_pin(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t\tchar
      *cmd)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2114,1
    - Dst: wpas_wps_er_learn
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2119
      start: 2110
    functionDepth: 1
    functionLinenumber: 2110
    functionLinenumberEnd: 2119
    functionName: wpa_supplicant_ctrl_iface_wps_er_learn
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strchr
    - wpas_wps_er_learn
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_ctrl_iface_wps_er_learn(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t\t
      \ char *cmd)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2126,1
    - Dst: wpas_wps_er_set_config
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2130,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2131
      start: 2122
    functionDepth: 1
    functionLinenumber: 2122
    functionLinenumberEnd: 2131
    functionName: wpa_supplicant_ctrl_iface_wps_er_set_config
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - atoi
    - os_strchr
    - wpas_wps_er_set_config
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_ctrl_iface_wps_er_set_config(\n\tstruct wpa_supplicant
      *wpa_s, char *cmd)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2144,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2149,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2154,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2159,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2164,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2169,1
    - Dst: wpas_wps_er_config
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2174,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2175
      start: 2134
    functionDepth: 1
    functionLinenumber: 2134
    functionLinenumberEnd: 2175
    functionName: wpa_supplicant_ctrl_iface_wps_er_config
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strchr
    - wpas_wps_er_config
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_ctrl_iface_wps_er_config(\n\tstruct wpa_supplicant
      *wpa_s, char *cmd)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2187,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2192,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2194,1
    - Dst: wpas_wps_er_nfc_config_token
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2199,1
    - Dst: wpa_snprintf_hex_uppercase
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2203,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2203,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2204,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2208,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - wpa_s
    - cmd
    - reply
    - max_len
    argTypes:
    - struct wpa_supplicant*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2211
      start: 2179
    functionDepth: 1
    functionLinenumber: 2179
    functionLinenumberEnd: 2211
    functionName: wpa_supplicant_ctrl_iface_wps_er_nfc_config_token
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpabuf_len
    - wpabuf_free
    - wpa_snprintf_hex_uppercase
    - wpabuf_head
    - wpas_wps_er_nfc_config_token
    - os_strchr
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_ctrl_iface_wps_er_nfc_config_token(\n\tstruct wpa_supplicant
      *wpa_s, char *cmd, char *reply, size_t max_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2224,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2225,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2230,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2231,1
    - Dst: ibss_rsn_start
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - wpa_s
    - addr
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2234
      start: 2219
    functionDepth: 1
    functionLinenumber: 2219
    functionLinenumberEnd: 2234
    functionName: wpa_supplicant_ctrl_iface_ibss_rsn
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - hwaddr_aton
    - wpa_printf
    - MAC2STR
    - ibss_rsn_start
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_ctrl_iface_ibss_rsn(\n\tstruct wpa_supplicant *wpa_s,
      char *addr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2246,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2251,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2255,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2256,1
    - Dst: wpa_hexdump_ascii_key
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2257,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2258,1
    - Dst: wpa_config_get_network
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2260,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2262,1
    - Dst: wpa_supplicant_ctrl_iface_ctrl_rsp_handle
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2267,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2270,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - wpa_s
    - rsp
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2273
      start: 2238
    functionDepth: 3
    functionLinenumber: 2238
    functionLinenumberEnd: 2273
    functionName: wpa_supplicant_ctrl_iface_ctrl_rsp
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_supplicant_ctrl_iface_ctrl_rsp_handle
    - wpa_printf
    - wpa_hexdump_ascii_key
    - atoi
    - os_strchr
    - wpa_config_get_network
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_ctrl_iface_ctrl_rsp(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \     char *rsp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2685,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2689,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2690,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2691,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2692,1
    - Dst: wpa_config_get_network
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2696,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2698,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2703,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2704,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2707
      start: 2676
    functionDepth: 1
    functionLinenumber: 2676
    functionLinenumberEnd: 2707
    functionName: wpa_supplicant_ctrl_iface_bssid
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - hwaddr_aton
    - is_zero_ether_addr
    - atoi
    - os_strchr
    - wpa_config_get_network
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_ctrl_iface_bssid(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \  char *cmd)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2725,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2726,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2727,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2736,1
    - Dst: wpa_bssid_ignore_clear
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2737,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2738,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2742,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2743,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2744,1
    - Dst: wpa_bssid_ignore_add
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2752,1
    - Dst: wpa_bssid_ignore_add
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2755,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2758,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 4
    argNames:
    - wpa_s
    - cmd
    - buf
    - buflen
    argTypes:
    - struct wpa_supplicant*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2760
      start: 2710
    functionDepth: 3
    functionLinenumber: 2710
    functionLinenumberEnd: 2760
    functionName: wpa_supplicant_ctrl_iface_bssid_ignore
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_printf
    - hwaddr_aton
    - wpa_bssid_ignore_add
    - os_strncmp
    - os_snprintf
    - MAC2STR
    - wpa_bssid_ignore_clear
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_ctrl_iface_bssid_ignore(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t\t
      \ char *cmd, char *buf,\n\t\t\t\t\t\t  size_t buflen)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2774,1
    - Dst: debug_level_str
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2776,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2778,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2787,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2795,1
    - Dst: str_to_debug_level
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2796,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2802,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2803,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2805,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 4
    argNames:
    - wpa_s
    - cmd
    - buf
    - buflen
    argTypes:
    - struct wpa_supplicant*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2807
      start: 2763
    functionDepth: 1
    functionLinenumber: 2763
    functionLinenumberEnd: 2807
    functionName: wpa_supplicant_ctrl_iface_log_level
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_memcpy
    - debug_level_str
    - str_to_debug_level
    - os_snprintf
    - atoi
    - os_strchr
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_ctrl_iface_log_level(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \      char *cmd, char *buf,\n\t\t\t\t\t       size_t buflen)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2819,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2821,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2828,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2829,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2839,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2841,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2842,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2846,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2847,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2849,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2851,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2854,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2862,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2865,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2866,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 4
    argNames:
    - wpa_s
    - cmd
    - buf
    - buflen
    argTypes:
    - struct wpa_supplicant*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2874
      start: 2810
    functionDepth: 1
    functionLinenumber: 2810
    functionLinenumberEnd: 2874
    functionName: wpa_supplicant_ctrl_iface_list_networks
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_ssid_txt
    - os_strncmp
    - os_snprintf
    - MAC2STR
    - atoi
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_ctrl_iface_list_networks(\n\tstruct wpa_supplicant
      *wpa_s, char *cmd, char *buf, size_t buflen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2880,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2881,1
    - Dst: wpa_write_ciphers
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2884,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - pos
    - end
    - cipher
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2889
      start: 2877
    functionDepth: 1
    functionLinenumber: 2877
    functionLinenumberEnd: 2889
    functionName: wpa_supplicant_cipher_txt
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - wpa_write_ciphers
    - os_snprintf_error
    linkageType: ''
    returnType: char
    signature: char * wpa_supplicant_cipher_txt(char *pos, char *end, int cipher)
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2899,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2900,1
    - Dst: wpa_parse_wpa_ie
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2904,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2905,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2906,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2914,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2916,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2921,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2923,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2928,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2930,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2935,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2937,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2942,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2944,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2950,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2952,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2957,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2959,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2964,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2966,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2971,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2973,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2979,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2981,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2986,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2988,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2995,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:2997,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3005,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3007,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3015,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3017,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3022,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3024,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3030,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3032,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3037,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3039,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3048,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3050,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3058,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3060,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3068,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3070,1
    - Dst: wpa_supplicant_cipher_txt
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3076,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3079,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3080,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3085,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3086,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 145
    argCount: 5
    argNames:
    - pos
    - end
    - proto
    - ie
    - ie_len
    argTypes:
    - char*
    - char*
    - char*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3091
      start: 2892
    functionDepth: 2
    functionLinenumber: 2892
    functionLinenumberEnd: 3091
    functionName: wpa_supplicant_ie_txt
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - wpa_supplicant_cipher_txt
    - wpa_parse_wpa_ie
    - os_snprintf_error
    linkageType: ''
    returnType: char
    signature: "char * wpa_supplicant_ie_txt(char *pos, char *end, const char *proto,\n\t\t\t\t
      \   const u8 *ie, size_t ie_len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wps_is_selected_pbc_registrar
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3104,1
    - Dst: wps_is_addr_authorized
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3106,1
    - Dst: wps_is_selected_pin_registrar
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3108,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3113,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3114,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3116,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - wpa_s
    - pos
    - end
    - wps_ie
    argTypes:
    - struct wpa_supplicant*
    - char*
    - char*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3118
      start: 3095
    functionDepth: 1
    functionLinenumber: 3095
    functionLinenumberEnd: 3118
    functionName: wpa_supplicant_wps_ie_txt_buf
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpabuf_free
    - wps_is_selected_pbc_registrar
    - wps_is_addr_authorized
    - os_snprintf
    - wps_is_selected_pin_registrar
    - os_snprintf_error
    linkageType: ''
    returnType: char
    signature: "char * wpa_supplicant_wps_ie_txt_buf(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \   char *pos, char *end,\n\t\t\t\t\t    struct wpabuf *wps_ie)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_bss_get_vendor_ie_multi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3128,1
    - Dst: wpa_supplicant_wps_ie_txt_buf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - wpa_s
    - pos
    - end
    - bss
    argTypes:
    - struct wpa_supplicant*
    - char*
    - char*
    - struct wpa_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3133
      start: 3122
    functionDepth: 2
    functionLinenumber: 3122
    functionLinenumberEnd: 3133
    functionName: wpa_supplicant_wps_ie_txt
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_wps_ie_txt_buf
    - wpa_bss_get_vendor_ie_multi
    linkageType: ''
    returnType: char
    signature: "char * wpa_supplicant_wps_ie_txt(struct wpa_supplicant *wpa_s,\n\t\t\t\t\tchar
      *pos, char *end,\n\t\t\t\t\tconst struct wpa_bss *bss)"
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: wpa_bss_get_ie
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3145,1
    - Dst: wpa_bss_get_vendor_ie
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3146,1
    - Dst: wpa_bss_get_vendor_ie_beacon
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3148,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3150,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3157,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3158,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3159,1
    - Dst: wpa_bss_get_vendor_ie
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3162,1
    - Dst: wpa_supplicant_ie_txt
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3164,1
    - Dst: wpa_bss_get_rsne
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3165,1
    - Dst: wpa_supplicant_ie_txt
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3167,1
    - Dst: wpa_bss_get_rsnxe
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3170,1
    - Dst: ieee802_11_rsnx_capab
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3171,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3172,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3173,1
    - Dst: ieee802_11_rsnx_capab
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3177,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3178,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3179,1
    - Dst: wpa_bss_get_vendor_ie
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3183,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3185,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3187,1
    - Dst: wpa_supplicant_wps_ie_txt
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3191,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3193,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3194,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3199,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3200,1
    - Dst: bss_is_dmg
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3204,1
    - Dst: wpa_bss_get_ie_ext
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3207,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3208,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3209,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3214,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3215,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3232,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3233,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3238,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3239,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3244,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3245,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3251,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3252,1
    - Dst: wpa_bss_get_vendor_ie
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3257,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3258,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3259,1
    - Dst: wpa_bss_get_ie
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3265,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3266,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3267,1
    - Dst: wpa_bss_get_ie
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3273,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3274,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3275,1
    - Dst: wpa_bss_ext_capab
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3280,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3281,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3282,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3287,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3288,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3289,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3293,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3294,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 135
    argCount: 4
    argNames:
    - wpa_s
    - bss
    - buf
    - buflen
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_bss*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3299
      start: 3137
    functionDepth: 3
    functionLinenumber: 3137
    functionLinenumberEnd: 3299
    functionName: wpa_supplicant_ctrl_iface_scan_result
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_bss_get_rsnxe
    - wpa_supplicant_wps_ie_txt
    - wpa_ssid_txt
    - wpa_bss_get_vendor_ie_beacon
    - bss_is_dmg
    - wpa_bss_get_ie_ext
    - os_snprintf
    - MAC2STR
    - wpa_bss_get_rsne
    - ieee802_11_rsnx_capab
    - os_memcmp
    - wpa_supplicant_ie_txt
    - wpa_bss_ext_capab
    - wpa_bss_get_vendor_ie
    - wpa_bss_get_ie
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_ctrl_iface_scan_result(\n\tstruct wpa_supplicant
      *wpa_s,\n\tconst struct wpa_bss *bss, char *buf, size_t buflen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3311,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3313,1
    - Dst: dl_list_for_each
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3317,1
    - Dst: wpa_supplicant_ctrl_iface_scan_result
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3318,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - wpa_s
    - buf
    - buflen
    argTypes:
    - struct wpa_supplicant*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3326
      start: 3302
    functionDepth: 4
    functionLinenumber: 3302
    functionLinenumberEnd: 3326
    functionName: wpa_supplicant_ctrl_iface_scan_results
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - wpa_supplicant_ctrl_iface_scan_result
    - dl_list_for_each
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_ctrl_iface_scan_results(\n\tstruct wpa_supplicant
      *wpa_s, char *buf, size_t buflen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3338,1
    - Dst: os_strlcpy
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3341,1
    - Dst: wpas_mesh_add_interface
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3344,1
    - Dst: os_strlcpy
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3347,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3348,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - wpa_s
    - cmd
    - reply
    - max_len
    argTypes:
    - struct wpa_supplicant*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3349
      start: 3331
    functionDepth: 1
    functionLinenumber: 3331
    functionLinenumberEnd: 3349
    functionName: wpa_supplicant_ctrl_iface_mesh_interface_add
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strstr
    - wpas_mesh_add_interface
    - os_strlen
    - os_strlcpy
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_ctrl_iface_mesh_interface_add(\n\tstruct wpa_supplicant
      *wpa_s, char *cmd, char *reply, size_t max_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3358,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3359,1
    - Dst: wpa_config_get_network
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3361,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3363,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3368,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3375,1
    - Dst: wpa_supplicant_select_network
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3384,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3387
      start: 3352
    functionDepth: 5
    functionLinenumber: 3352
    functionLinenumberEnd: 3387
    functionName: wpa_supplicant_ctrl_iface_mesh_group_add
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - atoi
    - wpa_printf
    - wpa_config_get_network
    - wpa_supplicant_select_network
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_ctrl_iface_mesh_group_add(\n\tstruct wpa_supplicant
      *wpa_s, char *cmd)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3397,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3403,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3409,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3415,1
    - Dst: wpa_supplicant_cancel_sched_scan
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3422,1
    - Dst: wpa_supplicant_cancel_scan
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3423,1
    - Dst: wpa_supplicant_deauthenticate
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3429,1
    - Dst: wpa_supplicant_remove_iface
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3432,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3435
      start: 3390
    functionDepth: 6
    functionLinenumber: 3390
    functionLinenumberEnd: 3435
    functionName: wpa_supplicant_ctrl_iface_mesh_group_remove
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_cancel_sched_scan
    - wpa_printf
    - wpa_supplicant_remove_iface
    - wpa_supplicant_deauthenticate
    - wpa_supplicant_cancel_scan
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_ctrl_iface_mesh_group_remove(\n\tstruct wpa_supplicant
      *wpa_s, char *cmd)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3443,1
    - Dst: wpas_mesh_peer_remove
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3446,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3447
      start: 3438
    functionDepth: 1
    functionLinenumber: 3438
    functionLinenumberEnd: 3447
    functionName: wpa_supplicant_ctrl_iface_mesh_peer_remove
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - hwaddr_aton
    - wpas_mesh_peer_remove
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_ctrl_iface_mesh_peer_remove(\n\tstruct wpa_supplicant
      *wpa_s, char *cmd)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3457,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3460,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3465,1
    - Dst: wpas_mesh_peer_add
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3468,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3469
      start: 3450
    functionDepth: 1
    functionLinenumber: 3450
    functionLinenumberEnd: 3469
    functionName: wpa_supplicant_ctrl_iface_mesh_peer_add
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strstr
    - atoi
    - wpas_mesh_peer_add
    - hwaddr_aton
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_ctrl_iface_mesh_peer_add(\n\tstruct wpa_supplicant
      *wpa_s, char *cmd)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3482,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3485,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3488,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3496,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3501,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3502,1
    - Dst: htons
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3503,1
    - Dst: hexstr2bin
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3505,1
    - Dst: wpa_drv_mesh_link_probe
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3508,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3510,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3512
      start: 3472
    functionDepth: 1
    functionLinenumber: 3472
    functionLinenumberEnd: 3512
    functionName: wpa_supplicant_ctrl_iface_mesh_link_probe
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_memcpy
    - wpa_drv_mesh_link_probe
    - hexstr2bin
    - hwaddr_aton
    - os_malloc
    - os_strstr
    - os_free
    - htons
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_ctrl_iface_mesh_link_probe(\n\tstruct wpa_supplicant
      *wpa_s, char *cmd)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3525,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3526,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3529,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3530,1
    - Dst: wpa_config_get_network
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3532,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3534,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3539,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3545,1
    - Dst: freq_range_to_channel_list
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3547,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3549,1
    - Dst: wpa_supplicant_select_network
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3556,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3559
      start: 3517
    functionDepth: 5
    functionLinenumber: 3517
    functionLinenumberEnd: 3559
    functionName: wpa_supplicant_ctrl_iface_select_network
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_supplicant_select_network
    - os_strncmp
    - os_strstr
    - os_free
    - atoi
    - freq_range_to_channel_list
    - wpa_config_get_network
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_ctrl_iface_select_network(\n\tstruct wpa_supplicant
      *wpa_s, char *cmd)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3569,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3570,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3573,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3574,1
    - Dst: wpa_config_get_network
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3576,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3578,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3583,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3588,1
    - Dst: wpa_supplicant_enable_network
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3595,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3598
      start: 3562
    functionDepth: 4
    functionLinenumber: 3562
    functionLinenumberEnd: 3598
    functionName: wpa_supplicant_ctrl_iface_enable_network
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_strstr
    - wpa_supplicant_enable_network
    - atoi
    - wpa_config_get_network
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_ctrl_iface_enable_network(\n\tstruct wpa_supplicant
      *wpa_s, char *cmd)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3608,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3609,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3612,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3613,1
    - Dst: wpa_config_get_network
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3615,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3617,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3622,1
    - Dst: wpa_supplicant_disable_network
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3628,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3631
      start: 3601
    functionDepth: 5
    functionLinenumber: 3601
    functionLinenumberEnd: 3631
    functionName: wpa_supplicant_ctrl_iface_disable_network
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_supplicant_disable_network
    - atoi
    - wpa_config_get_network
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_ctrl_iface_disable_network(\n\tstruct wpa_supplicant
      *wpa_s, char *cmd)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3640,1
    - Dst: wpa_supplicant_add_network
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3642,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3646,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3647,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - wpa_s
    - buf
    - buflen
    argTypes:
    - struct wpa_supplicant*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3650
      start: 3634
    functionDepth: 2
    functionLinenumber: 3634
    functionLinenumberEnd: 3650
    functionName: wpa_supplicant_ctrl_iface_add_network
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - wpa_printf
    - wpa_supplicant_add_network
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_ctrl_iface_add_network(\n\tstruct wpa_supplicant
      *wpa_s, char *buf, size_t buflen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3660,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3661,1
    - Dst: wpa_supplicant_remove_all_networks
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3662,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3665,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3666,1
    - Dst: wpa_supplicant_remove_network
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3668,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3670,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3675,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3680
      start: 3653
    functionDepth: 5
    functionLinenumber: 3653
    functionLinenumberEnd: 3680
    functionName: wpa_supplicant_ctrl_iface_remove_network
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_remove_network
    - wpa_printf
    - wpa_supplicant_remove_all_networks
    - atoi
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_ctrl_iface_remove_network(\n\tstruct wpa_supplicant
      *wpa_s, char *cmd)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_set
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3689,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3691,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3699,1
    - Dst: wpa_supplicant_reset_bgscan
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3707,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3712,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3713,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3714,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3715,1
    - Dst: wpa_sm_pmksa_cache_flush
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3716,1
    - Dst: eapol_sm_invalidate_cached_session
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3724,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3728,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3730,1
    - Dst: wpa_config_update_psk
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3731,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3732,1
    - Dst: wpa_config_update_prio_list
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3733,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 24
    argCount: 4
    argNames:
    - wpa_s
    - ssid
    - name
    - value
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3736
      start: 3683
    functionDepth: 7
    functionLinenumber: 3683
    functionLinenumberEnd: 3736
    functionName: wpa_supplicant_ctrl_iface_update_network
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_supplicant_reset_bgscan
    - wpa_config_set
    - wpa_config_update_psk
    - os_strncmp
    - wpa_sm_pmksa_cache_flush
    - wpa_config_update_prio_list
    - os_strcmp
    - eapol_sm_invalidate_cached_session
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_ctrl_iface_update_network(\n\tstruct wpa_supplicant
      *wpa_s, struct wpa_ssid *ssid,\n\tchar *name, char *value)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3748,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3753,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3758,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3759,1
    - Dst: wpa_hexdump_ascii_key
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3761,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3762,1
    - Dst: wpa_config_get_network
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3764,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3766,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3773,1
    - Dst: wpa_supplicant_ctrl_iface_update_network
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3774,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3778,1
    - Dst: wpas_notify_network_bssid_set_changed
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3779,1
    - Dst: wpas_notify_network_type_changed
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3783,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3786
      start: 3739
    functionDepth: 8
    functionLinenumber: 3739
    functionLinenumberEnd: 3786
    functionName: wpa_supplicant_ctrl_iface_set_network
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - os_memcpy
    - wpas_notify_network_type_changed
    - ether_addr_equal
    - wpa_hexdump_ascii_key
    - wpa_supplicant_ctrl_iface_update_network
    - atoi
    - os_strchr
    - wpa_config_get_network
    - wpas_notify_network_bssid_set_changed
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_ctrl_iface_set_network(\n\tstruct wpa_supplicant
      *wpa_s, char *cmd)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3798,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3803,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3804,1
    - Dst: wpa_config_get_network
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3807,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3809,1
    - Dst: wpa_config_get_no_key
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3814,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3816,1
    - Dst: os_strlcpy
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3821,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3823,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3827,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 4
    argNames:
    - wpa_s
    - cmd
    - buf
    - buflen
    argTypes:
    - struct wpa_supplicant*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3830
      start: 3789
    functionDepth: 1
    functionLinenumber: 3789
    functionLinenumberEnd: 3830
    functionName: wpa_supplicant_ctrl_iface_get_network
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_strlcpy
    - wpa_config_get_no_key
    - atoi
    - os_strchr
    - os_free
    - wpa_config_get_network
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_ctrl_iface_get_network(\n\tstruct wpa_supplicant
      *wpa_s, char *cmd, char *buf, size_t buflen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3842,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3847,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3852,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3853,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3855,1
    - Dst: wpa_config_get_network
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3859,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3861,1
    - Dst: wpa_config_get_network
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3866,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3868,1
    - Dst: wpa_config_get
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3873,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3875,1
    - Dst: wpa_supplicant_ctrl_iface_update_network
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3880,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3883,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 3
    argNames:
    - wpa_s
    - cmd
    - dst_wpa_s
    argTypes:
    - struct wpa_supplicant*
    - char*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3886
      start: 3833
    functionDepth: 8
    functionLinenumber: 3833
    functionLinenumberEnd: 3886
    functionName: wpa_supplicant_ctrl_iface_dup_network
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_config_get
    - wpa_supplicant_ctrl_iface_update_network
    - atoi
    - os_strchr
    - os_free
    - wpa_config_get_network
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_ctrl_iface_dup_network(\n\tstruct wpa_supplicant
      *wpa_s, char *cmd,\n\tstruct wpa_supplicant *dst_wpa_s)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3898,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3900,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3906,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3911,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - wpa_s
    - buf
    - buflen
    argTypes:
    - struct wpa_supplicant*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3919
      start: 3889
    functionDepth: 1
    functionLinenumber: 3889
    functionLinenumberEnd: 3919
    functionName: wpa_supplicant_ctrl_iface_list_creds
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_ctrl_iface_list_creds(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t\tchar
      *buf, size_t buflen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3928,1
    - Dst: wpa_config_add_cred
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3930,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3934,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3936,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3937,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - wpa_s
    - buf
    - buflen
    argTypes:
    - struct wpa_supplicant*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3940
      start: 3922
    functionDepth: 1
    functionLinenumber: 3922
    functionLinenumberEnd: 3940
    functionName: wpa_supplicant_ctrl_iface_add_cred
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_msg
    - os_snprintf
    - wpa_config_add_cred
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_ctrl_iface_add_cred(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \     char *buf, size_t buflen)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3951,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3952,1
    - Dst: wpas_remove_all_creds
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3953,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3956,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3957,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3966,1
    - Dst: wpas_remove_cred
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3969,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3977,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3978,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3985,1
    - Dst: wpas_remove_cred
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3986,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3991,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3992,1
    - Dst: wpa_config_get_cred
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3994,1
    - Dst: wpas_remove_cred
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:3995,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3996
      start: 3943
    functionDepth: 7
    functionLinenumber: 3943
    functionLinenumberEnd: 3996
    functionName: wpa_supplicant_ctrl_iface_remove_cred
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpas_remove_cred
    - wpa_printf
    - wpas_remove_all_creds
    - os_strncmp
    - wpa_config_get_cred
    - atoi
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_ctrl_iface_remove_cred(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t\t
      char *cmd)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4007,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4012,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4017,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4018,1
    - Dst: wpa_hexdump_ascii_key
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4020,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4021,1
    - Dst: wpa_config_get_cred
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4023,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4025,1
    - Dst: wpa_config_set_cred
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4030,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4031,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4036,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4039
      start: 3999
    functionDepth: 1
    functionLinenumber: 3999
    functionLinenumberEnd: 4039
    functionName: wpa_supplicant_ctrl_iface_set_cred
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - wpa_config_set_cred
    - wpa_msg
    - wpa_config_get_cred
    - wpa_hexdump_ascii_key
    - atoi
    - os_strchr
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_ctrl_iface_set_cred(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \     char *cmd)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4052,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4057,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4058,1
    - Dst: wpa_config_get_cred
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4061,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4063,1
    - Dst: wpa_config_get_cred_no_key
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4068,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4070,1
    - Dst: os_strlcpy
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4075,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4077,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4081,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 4
    argNames:
    - wpa_s
    - cmd
    - buf
    - buflen
    argTypes:
    - struct wpa_supplicant*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4084
      start: 4042
    functionDepth: 1
    functionLinenumber: 4042
    functionLinenumberEnd: 4084
    functionName: wpa_supplicant_ctrl_iface_get_cred
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_config_get_cred_no_key
    - os_strlcpy
    - wpa_config_get_cred
    - atoi
    - os_strchr
    - os_free
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_ctrl_iface_get_cred(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \     char *cmd, char *buf,\n\t\t\t\t\t      size_t buflen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4093,1
    - Dst: wpa_config_write
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4098,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4100,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4108
      start: 4088
    functionDepth: 0
    functionLinenumber: 4088
    functionLinenumberEnd: 4108
    functionName: wpa_supplicant_ctrl_iface_save_config
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_config_write
    linkageType: ''
    returnType: int
    signature: int wpa_supplicant_ctrl_iface_save_config(struct wpa_supplicant *wpa_s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_strlcpy
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4157,1
    - Dst: os_strlcpy
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4159,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4166,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4168,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4171,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 5
    argNames:
    - res
    - strict
    - capa
    - buf
    - buflen
    argTypes:
    - int
    - bool
    - struct wpa_driver_capa*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4178
      start: 4141
    functionDepth: 1
    functionLinenumber: 4141
    functionLinenumberEnd: 4178
    functionName: ctrl_iface_get_capability_pairwise
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - os_strlcpy
    - ARRAY_SIZE
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int ctrl_iface_get_capability_pairwise(int res, bool strict,\n\t\t\t\t\t
      \     struct wpa_driver_capa *capa,\n\t\t\t\t\t      char *buf, size_t buflen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_strlcpy
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4198,1
    - Dst: os_strlcpy
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4200,1
    - Dst: os_strlcpy
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4204,1
    - Dst: os_strlcpy
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4206,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4214,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4216,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4219,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 5
    argNames:
    - res
    - strict
    - capa
    - buf
    - buflen
    argTypes:
    - int
    - bool
    - struct wpa_driver_capa*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4226
      start: 4181
    functionDepth: 1
    functionLinenumber: 4181
    functionLinenumberEnd: 4226
    functionName: ctrl_iface_get_capability_group
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - os_strlcpy
    - ARRAY_SIZE
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int ctrl_iface_get_capability_group(int res, bool strict,\n\t\t\t\t\t
      \  struct wpa_driver_capa *capa,\n\t\t\t\t\t   char *buf, size_t buflen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4243,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4245,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4248,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - res
    - strict
    - capa
    - buf
    - buflen
    argTypes:
    - int
    - bool
    - struct wpa_driver_capa*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4255
      start: 4229
    functionDepth: 1
    functionLinenumber: 4229
    functionLinenumberEnd: 4255
    functionName: ctrl_iface_get_capability_group_mgmt
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - ARRAY_SIZE
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int ctrl_iface_get_capability_group_mgmt(int res, bool strict,\n\t\t\t\t\t\tstruct
      wpa_driver_capa *capa,\n\t\t\t\t\t\tchar *buf, size_t buflen)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4263,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4266,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4269,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4272,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4275,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4278,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4281,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4284,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4287,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4290,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 1
    argNames:
    - iftype_str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4294
      start: 4258
    functionDepth: 0
    functionLinenumber: 4258
    functionLinenumberEnd: 4294
    functionName: iftype_str_to_index
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: int iftype_str_to_index(const char *iftype_str)
  - BBCount: 53
    BranchProfiles: []
    Callsites:
    - Dst: os_strlcpy
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4313,1
    - Dst: iftype_str_to_index
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4323,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4331,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4332,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4338,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4339,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4346,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4347,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4353,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4354,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4360,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4361,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4367,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4368,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4374,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4375,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4382,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4383,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4390,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4391,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4398,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4399,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4406,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4407,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4414,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4415,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4420,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4421,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4427,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4428,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4433,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4434,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4442,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4443,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4448,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4449,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4455,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4456,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4461,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4462,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4469,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4470,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4478,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4479,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4484,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4485,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4492,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4493,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4499,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4500,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 162
    argCount: 6
    argNames:
    - res
    - strict
    - capa
    - iftype_str
    - buf
    - buflen
    argTypes:
    - int
    - bool
    - struct wpa_driver_capa*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4507
      start: 4297
    functionDepth: 1
    functionLinenumber: 4297
    functionLinenumberEnd: 4507
    functionName: ctrl_iface_get_capability_key_mgmt
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - iftype_str_to_index
    - os_strlcpy
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int ctrl_iface_get_capability_key_mgmt(int res, bool strict,\n\t\t\t\t\t
      \     struct wpa_driver_capa *capa,\n\t\t\t\t\t      const char *iftype_str,\n\t\t\t\t\t
      \     char *buf, size_t buflen)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: os_strlcpy
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4524,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4532,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4534,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4541,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4543,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 5
    argNames:
    - res
    - strict
    - capa
    - buf
    - buflen
    argTypes:
    - int
    - bool
    - struct wpa_driver_capa*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4549
      start: 4510
    functionDepth: 1
    functionLinenumber: 4510
    functionLinenumberEnd: 4549
    functionName: ctrl_iface_get_capability_proto
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - os_strlcpy
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int ctrl_iface_get_capability_proto(int res, bool strict,\n\t\t\t\t\t
      \  struct wpa_driver_capa *capa,\n\t\t\t\t\t   char *buf, size_t buflen)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: os_strlcpy
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4567,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4574,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4576,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4582,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4584,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4590,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4592,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4599,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4601,1
    - Dst: wpa_is_fils_supported
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4608,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4609,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4611,1
    - Dst: wpa_is_fils_sk_pfs_supported
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4617,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4618,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4620,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4628,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4630,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4641,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4643,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 58
    argCount: 6
    argNames:
    - wpa_s
    - res
    - strict
    - capa
    - buf
    - buflen
    argTypes:
    - struct wpa_supplicant*
    - int
    - bool
    - struct wpa_driver_capa*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4650
      start: 4552
    functionDepth: 1
    functionLinenumber: 4552
    functionLinenumberEnd: 4650
    functionName: ctrl_iface_get_capability_auth_alg
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_is_fils_sk_pfs_supported
    - os_strlcpy
    - os_snprintf
    - wpa_is_fils_supported
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int ctrl_iface_get_capability_auth_alg(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \     int res, bool strict,\n\t\t\t\t\t      struct wpa_driver_capa *capa,\n\t\t\t\t\t
      \     char *buf, size_t buflen)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: os_strlcpy
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4667,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4674,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4676,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4682,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4684,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4691,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4693,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 5
    argNames:
    - res
    - strict
    - capa
    - buf
    - buflen
    argTypes:
    - int
    - bool
    - struct wpa_driver_capa*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4700
      start: 4653
    functionDepth: 1
    functionLinenumber: 4653
    functionLinenumberEnd: 4700
    functionName: ctrl_iface_get_capability_modes
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - os_strlcpy
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int ctrl_iface_get_capability_modes(int res, bool strict,\n\t\t\t\t\t
      \  struct wpa_driver_capa *capa,\n\t\t\t\t\t   char *buf, size_t buflen)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4730,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4731,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4738,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4739,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4743,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4744,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 3
    argNames:
    - wpa_s
    - buf
    - buflen
    argTypes:
    - struct wpa_supplicant*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4750
      start: 4703
    functionDepth: 1
    functionLinenumber: 4703
    functionLinenumberEnd: 4750
    functionName: ctrl_iface_get_capability_channels
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int ctrl_iface_get_capability_channels(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \     char *buf, size_t buflen)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4780,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4782,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4789,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4796,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4800,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4801,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 3
    argNames:
    - wpa_s
    - buf
    - buflen
    argTypes:
    - struct wpa_supplicant*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4807
      start: 4753
    functionDepth: 1
    functionLinenumber: 4753
    functionLinenumberEnd: 4807
    functionName: ctrl_iface_get_capability_freq
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int ctrl_iface_get_capability_freq(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \ char *buf, size_t buflen)"
  - BBCount: 49
    BranchProfiles: []
    Callsites:
    - Dst: os_strlcpy
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4822,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4826,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4830,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4835,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4837,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4843,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4847,1
    - Dst: eap_get_names
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4848,1
    - Dst: wpa_drv_get_capa
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4851,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4853,1
    - Dst: ctrl_iface_get_capability_pairwise
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4854,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4857,1
    - Dst: ctrl_iface_get_capability_group
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4858,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4861,1
    - Dst: ctrl_iface_get_capability_group_mgmt
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4862,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4865,1
    - Dst: ctrl_iface_get_capability_key_mgmt
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4866,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4869,1
    - Dst: ctrl_iface_get_capability_proto
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4870,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4873,1
    - Dst: ctrl_iface_get_capability_auth_alg
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4874,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4877,1
    - Dst: ctrl_iface_get_capability_modes
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4878,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4881,1
    - Dst: ctrl_iface_get_capability_channels
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4882,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4884,1
    - Dst: ctrl_iface_get_capability_freq
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4885,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4888,1
    - Dst: ctrl_iface_get_capability_tdls
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4889,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4893,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4894,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4895,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4902,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4903,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4904,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4911,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4912,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4913,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4920,1
    - Dst: wpa_is_fils_supported
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4922,1
    - Dst: wpa_is_fils_sk_pfs_supported
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4923,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4924,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4925,1
    - Dst: wpa_is_fils_supported
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4931,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4932,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4933,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4940,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4941,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4942,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4948,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4950,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4952,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4954,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4956,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4962,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4966,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4967,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4975,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4977,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4988,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4991,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4993,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:4995,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5002,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5005,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5007,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5008,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5014,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5018,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5020,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5021,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5027,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5029,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5031,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5032,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5037,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5039,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5041,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5042,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5048,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 144
    argCount: 4
    argNames:
    - wpa_s
    - _field
    - buf
    - buflen
    argTypes:
    - struct wpa_supplicant*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5052
      start: 4810
    functionDepth: 2
    functionLinenumber: 4810
    functionLinenumberEnd: 5052
    functionName: wpa_supplicant_ctrl_iface_get_capability
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strlcpy
    - os_snprintf
    - ctrl_iface_get_capability_channels
    - ctrl_iface_get_capability_group
    - ctrl_iface_get_capability_modes
    - wpa_printf
    - ctrl_iface_get_capability_proto
    - wpa_drv_get_capa
    - ctrl_iface_get_capability_pairwise
    - wpa_is_fils_supported
    - ctrl_iface_get_capability_tdls
    - os_strcmp
    - wpa_is_fils_sk_pfs_supported
    - ctrl_iface_get_capability_freq
    - os_strchr
    - ctrl_iface_get_capability_auth_alg
    - ctrl_iface_get_capability_group_mgmt
    - os_strncmp
    - eap_get_names
    - ctrl_iface_get_capability_key_mgmt
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_ctrl_iface_get_capability(\n\tstruct wpa_supplicant
      *wpa_s, const char *_field, char *buf,\n\tsize_t buflen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5067,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5068,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5072,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5073,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5074,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5075,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5080,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5081,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - pos
    - end
    - title
    - data
    argTypes:
    - char*
    - char*
    - char*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5086
      start: 5056
    functionDepth: 1
    functionLinenumber: 5056
    functionLinenumberEnd: 5086
    functionName: anqp_add_hex
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - wpabuf_len
    - wpabuf_head_u8
    - os_snprintf_error
    linkageType: ''
    returnType: char
    signature: "char * anqp_add_hex(char *pos, char *end, const char *title,\n\t\t\t
      \  struct wpabuf *data)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: wpa_bss_get_ie
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5098,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5106,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5108,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5109,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5113,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5117,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5119,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5125,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5129,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5130,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5131,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5137,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5137,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5137,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5141,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5142,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5146,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5151,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5152,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 51
    argCount: 3
    argNames:
    - bss
    - pos
    - end
    argTypes:
    - struct wpa_bss*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5158
      start: 5091
    functionDepth: 1
    functionLinenumber: 5091
    functionLinenumberEnd: 5158
    functionName: print_fils_indication
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_snprintf_hex
    - WPA_GET_LE16
    - os_snprintf
    - MAC2STR
    - BIT
    - wpa_bss_get_ie
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: int print_fils_indication(struct wpa_bss *bss, char *pos, char *end)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: RNR_TBTT_INFO_COUNT_VAL
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5184,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5194,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5199,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5204,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5206,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5214,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5216,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5217,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5225,1
    - Dst: WPA_GET_LE32
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5227,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5228,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5236,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5238,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5246,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5248,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5256,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5259,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5266,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5267,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 69
    argCount: 3
    argNames:
    - ie
    - pos
    - end
    argTypes:
    - u8*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5278
      start: 5162
    functionDepth: 1
    functionLinenumber: 5162
    functionLinenumberEnd: 5278
    functionName: print_rnr
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - WPA_GET_LE32
    - os_snprintf
    - MAC2STR
    - RNR_TBTT_INFO_COUNT_VAL
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: int print_rnr(const u8 *ie, char *pos, char *end)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: get_ml_ie
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5290,1
    - Dst: wpa_bss_ie_ptr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5290,1
    - Dst: le_to_host16
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5303,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5306,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5309,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5323,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5323,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5324,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5335,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5336,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5347,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5349,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5360,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5361,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5362,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5373,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5374,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5375,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5386,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5387,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5388,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5399,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5400,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5407,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5408,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 93
    argCount: 3
    argNames:
    - bss
    - pos
    - end
    argTypes:
    - struct wpa_bss*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5413
      start: 5281
    functionDepth: 1
    functionLinenumber: 5281
    functionLinenumberEnd: 5413
    functionName: print_ml
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - WPA_GET_LE16
    - os_snprintf
    - MAC2STR
    - wpa_bss_ie_ptr
    - le_to_host16
    - get_ml_ie
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: int print_ml(struct wpa_bss *bss, char *pos, char *end)
  - BBCount: 98
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5428,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5429,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5435,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5436,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5437,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5443,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5444,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5450,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5452,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5458,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5460,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5466,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5467,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5473,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5474,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5480,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5481,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5487,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5489,1
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5497,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5498,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5500,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5506,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5507,1
    - Dst: wpa_bss_ie_ptr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5511,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5513,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5514,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5519,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5520,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5526,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5527,1
    - Dst: wpa_bss_get_ie
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5531,1
    - Dst: wpa_bss_get_vendor_ie
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5533,1
    - Dst: wpa_supplicant_ie_txt
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5535,1
    - Dst: wpa_bss_get_rsne
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5537,1
    - Dst: wpa_supplicant_ie_txt
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5539,1
    - Dst: wpa_bss_get_rsnxe
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5542,1
    - Dst: ieee802_11_rsnx_capab
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5543,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5544,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5545,1
    - Dst: ieee802_11_rsnx_capab
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5549,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5550,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5551,1
    - Dst: wpa_bss_get_vendor_ie
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5555,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5557,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5560,1
    - Dst: wpa_supplicant_wps_ie_txt
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5564,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5567,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5568,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5574,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5575,1
    - Dst: bss_is_dmg
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5580,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5582,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5583,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5600,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5601,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5606,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5607,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5612,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5613,1
    - Dst: wpa_bss_get_vendor_ie
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5618,1
    - Dst: wpa_bss_get_vendor_ie_beacon
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5619,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5620,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5621,1
    - Dst: wpa_bss_get_vendor_ie
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5626,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5627,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5628,1
    - Dst: wpa_bss_get_ie
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5634,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5635,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5636,1
    - Dst: wpa_bss_get_ie
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5642,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5643,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5644,1
    - Dst: wpa_bss_ext_capab
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5649,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5650,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5651,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5656,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5657,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5663,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5664,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5665,1
    - Dst: wpa_bss_ie_ptr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5672,1
    - Dst: wpas_wps_scan_result_text
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5673,1
    - Dst: wpa_bss_ie_ptr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5683,1
    - Dst: wpas_p2p_scan_result_text
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5684,1
    - Dst: wpa_bss_ie_ptr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5696,1
    - Dst: ieee802_11_vendor_ie_concat
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5697,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5700,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5701,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5702,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5707,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5708,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5709,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5710,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5712,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5713,1
    - Dst: anqp_add_hex
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5725,1
    - Dst: anqp_add_hex
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5727,1
    - Dst: anqp_add_hex
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5729,1
    - Dst: anqp_add_hex
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5731,1
    - Dst: anqp_add_hex
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5733,1
    - Dst: anqp_add_hex
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5735,1
    - Dst: anqp_add_hex
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5737,1
    - Dst: anqp_add_hex
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5738,1
    - Dst: anqp_add_hex
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5740,1
    - Dst: anqp_add_hex
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5743,1
    - Dst: anqp_add_hex
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5745,1
    - Dst: anqp_add_hex
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5747,1
    - Dst: anqp_add_hex
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5749,1
    - Dst: anqp_add_hex
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5751,1
    - Dst: dl_list_for_each
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5755,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5759,1
    - Dst: anqp_add_hex
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5761,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5763,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5766,1
    - Dst: wpa_bss_ie_ptr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5776,1
    - Dst: wpas_mesh_scan_result_text
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5777,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5786,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5787,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5793,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5795,1
    - Dst: fst_ctrl_iface_mb_info
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5802,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5810,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5812,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5818,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5819,1
    - Dst: wpa_bss_ie_ptr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5823,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5826,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5827,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5832,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5833,1
    - Dst: print_fils_indication
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5840,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5845,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5847,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5849,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5850,1
    - Dst: for_each_element_id
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5859,1
    - Dst: wpa_bss_ie_ptr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5860,1
    - Dst: print_rnr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5861,1
    - Dst: print_ml
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5865,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5868,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5869,1
    CyclomaticComplexity: 107
    EdgeCount: 107
    ICount: 336
    argCount: 5
    argNames:
    - wpa_s
    - bss
    - mask
    - buf
    - buflen
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_bss*
    - unsigned long
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5875
      start: 5416
    functionDepth: 3
    functionLinenumber: 5416
    functionLinenumberEnd: 5875
    functionName: print_bss_info
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - fst_ctrl_iface_mb_info
    - wpas_p2p_scan_result_text
    - print_fils_indication
    - print_ml
    - wpa_snprintf_hex
    - anqp_add_hex
    - wpa_ssid_txt
    - wpas_mesh_scan_result_text
    - wpa_bss_get_vendor_ie_beacon
    - dl_list_for_each
    - os_get_reltime
    - wpabuf_len
    - is_zero_ether_addr
    - wpabuf_head
    - wpa_bss_get_rsne
    - ieee802_11_rsnx_capab
    - wpa_supplicant_ie_txt
    - wpa_bss_get_vendor_ie
    - print_rnr
    - wpas_wps_scan_result_text
    - for_each_element_id
    - ieee802_11_vendor_ie_concat
    - wpa_bss_get_rsnxe
    - wpa_supplicant_wps_ie_txt
    - wpabuf_free
    - bss_is_dmg
    - MAC2STR
    - wpa_bss_ie_ptr
    - wpa_bss_ext_capab
    - wpa_bss_get_ie
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int print_bss_info(struct wpa_supplicant *wpa_s, struct wpa_bss *bss,\n\t\t\t
      \ unsigned long mask, char *buf, size_t buflen)"
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5892,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5893,1
    - Dst: dl_list_first
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5894,1
    - Dst: dl_list_last
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5896,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5901,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5902,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5910,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5913,1
    - Dst: wpa_bss_get_id_range
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5916,1
    - Dst: dl_list_last
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5918,1
    - Dst: wpa_bss_get_id
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5922,1
    - Dst: dl_list_entry
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5929,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5939,1
    - Dst: dl_list_first
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5940,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5941,1
    - Dst: dl_list_last
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5942,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5943,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5944,1
    - Dst: wpa_bss_get_id
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5945,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5946,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5947,1
    - Dst: wpa_bss_get_id
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5948,1
    - Dst: dl_list_entry
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5954,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5957,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5960,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5961,1
    - Dst: wpa_bss_get_p2p_dev_addr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5962,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5966,1
    - Dst: wpa_bss_get_bssid
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5967,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5970,1
    - Dst: dl_list_for_each
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5972,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5982,1
    - Dst: strtoul
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5983,1
    - Dst: print_bss_info
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:5994,1
    - Dst: dl_list_last
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6000,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6004,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6006,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6007,1
    - Dst: dl_list_entry
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6016,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 102
    argCount: 4
    argNames:
    - wpa_s
    - cmd
    - buf
    - buflen
    argTypes:
    - struct wpa_supplicant*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6020
      start: 5878
    functionDepth: 4
    functionLinenumber: 5878
    functionLinenumberEnd: 6020
    functionName: wpa_supplicant_ctrl_iface_bss
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - dl_list_entry
    - wpa_printf
    - wpa_bss_get_bssid
    - print_bss_info
    - hwaddr_aton
    - dl_list_first
    - dl_list_last
    - os_strncmp
    - wpa_bss_get_id
    - wpa_bss_get_p2p_dev_addr
    - wpa_bss_get_id_range
    - dl_list_for_each
    - os_strstr
    - strtoul
    - os_snprintf
    - atoi
    - os_strchr
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_ctrl_iface_bss(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      const char *cmd, char *buf,\n\t\t\t\t\t size_t buflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6026,1
    - Dst: wpa_supplicant_set_ap_scan
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6027,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6028
      start: 6023
    functionDepth: 2
    functionLinenumber: 6023
    functionLinenumberEnd: 6028
    functionName: wpa_supplicant_ctrl_iface_ap_scan
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - atoi
    - wpa_supplicant_set_ap_scan
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_ctrl_iface_ap_scan(\n\tstruct wpa_supplicant *wpa_s,
      char *cmd)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6034,1
    - Dst: wpa_supplicant_set_scan_interval
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6035,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6036
      start: 6031
    functionDepth: 3
    functionLinenumber: 6031
    functionLinenumberEnd: 6036
    functionName: wpa_supplicant_ctrl_iface_scan_interval
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - atoi
    - wpa_supplicant_set_scan_interval
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_ctrl_iface_scan_interval(\n\tstruct wpa_supplicant
      *wpa_s, char *cmd)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6042,1
    - Dst: wpa_supplicant_set_bss_expiration_age
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6043,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6044
      start: 6039
    functionDepth: 1
    functionLinenumber: 6039
    functionLinenumberEnd: 6044
    functionName: wpa_supplicant_ctrl_iface_bss_expire_age
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - atoi
    - wpa_supplicant_set_bss_expiration_age
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_ctrl_iface_bss_expire_age(\n\tstruct wpa_supplicant
      *wpa_s, char *cmd)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6050,1
    - Dst: wpa_supplicant_set_bss_expiration_count
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6051,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6052
      start: 6047
    functionDepth: 1
    functionLinenumber: 6047
    functionLinenumberEnd: 6052
    functionName: wpa_supplicant_ctrl_iface_bss_expire_count
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - atoi
    - wpa_supplicant_set_bss_expiration_count
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_ctrl_iface_bss_expire_count(\n\tstruct wpa_supplicant
      *wpa_s, char *cmd)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6058,1
    - Dst: wpa_bss_flush
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6061,1
    - Dst: wpa_bss_flush_by_age
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6063,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6064
      start: 6055
    functionDepth: 1
    functionLinenumber: 6055
    functionLinenumberEnd: 6064
    functionName: wpa_supplicant_ctrl_iface_bss_flush
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - atoi
    - wpa_bss_flush_by_age
    - wpa_bss_flush
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_ctrl_iface_bss_flush(\n\tstruct wpa_supplicant
      *wpa_s, char *cmd)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6070,1
    - Dst: wpa_drv_set_key
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6072,1
    - Dst: wpa_drv_set_key
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6074,1
    - Dst: wpa_drv_set_key
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6076,1
    - Dst: wpa_drv_set_key
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6078,1
    - Dst: wpa_drv_set_key
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6080,1
    - Dst: wpa_drv_set_key
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6082,1
    - Dst: wpa_drv_set_key
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6085,1
    - Dst: wpa_sm_ext_key_id
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6087,1
    - Dst: wpa_drv_set_key
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6088,1
    - Dst: wpa_drv_mlme_setprotection
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6091,1
    - Dst: wpa_sm_drop_sa
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6094,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6095
      start: 6068
    functionDepth: 1
    functionLinenumber: 6068
    functionLinenumberEnd: 6095
    functionName: wpa_supplicant_ctrl_iface_drop_sa
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_drv_mlme_setprotection
    - wpa_printf
    - wpa_sm_drop_sa
    - wpa_sm_ext_key_id
    - wpa_drv_set_key
    linkageType: ''
    returnType: void
    signature: void wpa_supplicant_ctrl_iface_drop_sa(struct wpa_supplicant *wpa_s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6110,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6111,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6116,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6116,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6119,1
    - Dst: wpa_bss_get_connection
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6124,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6126,1
    - Dst: radio_work_pending
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6136,1
    - Dst: wpa_supplicant_connect
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6138,1
    - Dst: radio_work_pending
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6145,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - wpa_s
    - addr
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6150
      start: 6099
    functionDepth: 1
    functionLinenumber: 6099
    functionLinenumberEnd: 6150
    functionName: wpa_supplicant_ctrl_iface_roam
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - radio_work_pending
    - hwaddr_aton
    - MAC2STR
    - wpa_supplicant_connect
    - wpa_bss_get_connection
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_ctrl_iface_roam(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \ char *addr)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6156,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6168,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6173,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6175,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6177,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6180,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6183,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6188,1
    - Dst: wps_dev_type_str2bin
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6191,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6196,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6199,1
    - Dst: wpas_p2p_search_delay
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6201,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6203,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6206,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6212,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6220,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6224,1
    - Dst: wpas_p2p_find
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6233,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 57
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6236
      start: 6154
    functionDepth: 1
    functionLinenumber: 6154
    functionLinenumberEnd: 6236
    functionName: p2p_ctrl_find
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wps_dev_type_str2bin
    - wpas_p2p_find
    - hwaddr_aton
    - wpas_p2p_search_delay
    - os_strstr
    - wpa_dbg
    - atoi
    - os_strchr
    linkageType: ''
    returnType: int
    signature: int p2p_ctrl_find(struct wpa_supplicant *wpa_s, char *cmd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cstr_token
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6247,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6249,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6259,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6262,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6265,1
    - Dst: isblank
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6271,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - pos
    - cpt
    argTypes:
    - char*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6278
      start: 6239
    functionDepth: 1
    functionLinenumber: 6239
    functionLinenumberEnd: 6278
    functionName: p2ps_ctrl_parse_cpt_priority
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - isblank
    - wpa_printf
    - cstr_token
    - os_memcmp
    linkageType: ''
    returnType: int
    signature: int p2ps_ctrl_parse_cpt_priority(const char *pos, u8 *cpt)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6291,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6294,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6297,1
    - Dst: utf8_unescape
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6299,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6306,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6308,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6313,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6315,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6318,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6320,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6324,1
    - Dst: sscanf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6325,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6329,1
    - Dst: strtol
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6331,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6335,1
    - Dst: sscanf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6336,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6340,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6341,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6344,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6345,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6348,1
    - Dst: p2ps_ctrl_parse_cpt_priority
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6350,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6361,1
    - Dst: strtol
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6363,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6365,1
    - Dst: strtol
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6367,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6378,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 76
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6380
      start: 6281
    functionDepth: 2
    functionLinenumber: 6281
    functionLinenumberEnd: 6380
    functionName: p2p_parse_asp_provision_cmd
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - strtol
    - os_memcpy
    - p2ps_ctrl_parse_cpt_priority
    - sscanf
    - hwaddr_aton
    - os_malloc
    - os_strstr
    - atoi
    - os_zalloc
    - os_free
    - utf8_unescape
    linkageType: ''
    returnType: struct p2ps_provision
    signature: struct p2ps_provision * p2p_parse_asp_provision_cmd(const char *cmd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6391,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6393,1
    - Dst: p2p_parse_asp_provision_cmd
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6400,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6405,1
    - Dst: wpas_p2p_prov_disc
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6409,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6411
      start: 6383
    functionDepth: 3
    functionLinenumber: 6383
    functionLinenumberEnd: 6411
    functionName: p2p_ctrl_asp_provision_resp
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hwaddr_aton
    - p2p_parse_asp_provision_cmd
    - os_free
    - wpas_p2p_prov_disc
    linkageType: ''
    returnType: int
    signature: int p2p_ctrl_asp_provision_resp(struct wpa_supplicant *wpa_s, char
      *cmd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6424,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6425,1
    - Dst: p2p_parse_asp_provision_cmd
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6432,1
    - Dst: wpas_p2p_prov_disc
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6438,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6440
      start: 6414
    functionDepth: 3
    functionLinenumber: 6414
    functionLinenumberEnd: 6440
    functionName: p2p_ctrl_asp_provision
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - p2p_parse_asp_provision_cmd
    - hwaddr_aton
    - wpa_printf
    - wpas_p2p_prov_disc
    linkageType: ''
    returnType: int
    signature: int p2p_ctrl_asp_provision(struct wpa_supplicant *wpa_s, char *cmd)
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - bootstrap
    argTypes:
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6463
      start: 6443
    functionDepth: 0
    functionLinenumber: 6443
    functionLinenumberEnd: 6463
    functionName: bootstrap_pwd_required
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool bootstrap_pwd_required(u16 bootstrap)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6496,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6508,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6516,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6517,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6520,1
    - Dst: wpa_config_get_network
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6521,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6524,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6530,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6531,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6532,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6533,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6534,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6535,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6536,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6538,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6539,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6540,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6541,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6543,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6546,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6551,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6554,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6559,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6561,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6563,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6565,1
    - Dst: chwidth_freq2_to_ch_width
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6567,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6574,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6579,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6581,1
    - Dst: hexstr2bin
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6585,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6590,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6593,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6595,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6597,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6601,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6605,1
    - Dst: wps_pin_str_valid
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6608,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6609,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6614,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6617,1
    - Dst: str_token
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6620,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6621,1
    - Dst: bootstrap_pwd_required
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6627,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6628,1
    - Dst: wpas_p2p_connect
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6633,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6640,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6644,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6650,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6651,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6656,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 129
    argCount: 4
    argNames:
    - wpa_s
    - cmd
    - buf
    - buflen
    argTypes:
    - struct wpa_supplicant*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6658
      start: 6466
    functionDepth: 1
    functionLinenumber: 6466
    functionLinenumberEnd: 6658
    functionName: p2p_ctrl_connect
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - wps_pin_str_valid
    - os_memcpy
    - str_token
    - hexstr2bin
    - hwaddr_aton
    - os_strncmp
    - os_strstr
    - chwidth_freq2_to_ch_width
    - wpas_p2p_connect
    - os_snprintf
    - bootstrap_pwd_required
    - wpa_dbg
    - atoi
    - os_strchr
    - wpa_config_get_network
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int p2p_ctrl_connect(struct wpa_supplicant *wpa_s, char *cmd,\n\t\t\t
      \   char *buf, size_t buflen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6663,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6665,1
    - Dst: wpas_p2p_listen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6669,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6670
      start: 6661
    functionDepth: 1
    functionLinenumber: 6661
    functionLinenumberEnd: 6670
    functionName: p2p_ctrl_listen
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - atoi
    - wpas_p2p_listen
    - wpa_dbg
    linkageType: ''
    returnType: int
    signature: int p2p_ctrl_listen(struct wpa_supplicant *wpa_s, char *cmd)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6682,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6690,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6692,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6695,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6698,1
    - Dst: wpas_p2p_prov_disc
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6701,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6702
      start: 6673
    functionDepth: 1
    functionLinenumber: 6673
    functionLinenumberEnd: 6702
    functionName: p2p_ctrl_prov_disc
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strstr
    - hwaddr_aton
    - wpas_p2p_prov_disc
    - atoi
    linkageType: ''
    returnType: int
    signature: int p2p_ctrl_prov_disc(struct wpa_supplicant *wpa_s, char *cmd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_strlcpy
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6714,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6715,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - wpa_s
    - buf
    - buflen
    argTypes:
    - struct wpa_supplicant*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6716
      start: 6705
    functionDepth: 0
    functionLinenumber: 6705
    functionLinenumberEnd: 6716
    functionName: p2p_get_passphrase
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_strlcpy
    linkageType: ''
    returnType: int
    signature: "int p2p_get_passphrase(struct wpa_supplicant *wpa_s, char *buf,\n\t\t\t
      \     size_t buflen)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6729,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6736,1
    - Dst: hexstr2bin
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6739,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6745,1
    - Dst: hexstr2bin
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6748,1
    - Dst: wpas_p2p_validate_dira
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6754,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6758,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6759,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 4
    argNames:
    - wpa_s
    - cmd
    - buf
    - buflen
    argTypes:
    - struct wpa_supplicant*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6762
      start: 6719
    functionDepth: 1
    functionLinenumber: 6719
    functionLinenumberEnd: 6762
    functionName: p2p_ctrl_validate_dira
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpas_p2p_validate_dira
    - hexstr2bin
    - hwaddr_aton
    - os_strstr
    - os_snprintf
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int p2p_ctrl_validate_dira(struct wpa_supplicant *wpa_s, char *cmd,\n\t\t\t\t
      \ char *buf, size_t buflen)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6775,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6786,1
    - Dst: hexstr2bin
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6789,1
    - Dst: wpas_p2p_sd_request_upnp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6795,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6797,1
    - Dst: wpas_p2p_sd_request_wifi_display
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6798,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6800,1
    - Dst: sscanf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6806,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6809,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6815,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6822,1
    - Dst: utf8_unescape
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6825,1
    - Dst: wpas_p2p_sd_request_asp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6832,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6835,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6839,1
    - Dst: hexstr2bin
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6842,1
    - Dst: wpabuf_put
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6842,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6843,1
    - Dst: wpas_p2p_sd_request
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6847,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6848,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6852,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6853,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 63
    argCount: 4
    argNames:
    - wpa_s
    - cmd
    - buf
    - buflen
    argTypes:
    - struct wpa_supplicant*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6856
      start: 6765
    functionDepth: 1
    functionLinenumber: 6765
    functionLinenumberEnd: 6856
    functionName: p2p_ctrl_serv_disc_req
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpabuf_put
    - wpas_p2p_sd_request_upnp
    - hexstr2bin
    - hwaddr_aton
    - sscanf
    - wpas_p2p_sd_request_wifi_display
    - wpabuf_free
    - wpas_p2p_sd_request
    - os_strncmp
    - os_snprintf
    - wpabuf_alloc
    - wpas_p2p_sd_request_asp
    - os_strchr
    - utf8_unescape
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int p2p_ctrl_serv_disc_req(struct wpa_supplicant *wpa_s, char *cmd,\n\t\t\t\t
      \ char *buf, size_t buflen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6864,1
    - Dst: wpas_p2p_sd_cancel_request
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6867,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6868
      start: 6859
    functionDepth: 1
    functionLinenumber: 6859
    functionLinenumberEnd: 6868
    functionName: p2p_ctrl_serv_disc_cancel_req
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - sscanf
    - wpas_p2p_sd_cancel_request
    linkageType: ''
    returnType: int
    signature: "int p2p_ctrl_serv_disc_cancel_req(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      char *cmd)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6880,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6884,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6888,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6895,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6899,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6901,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6905,1
    - Dst: hexstr2bin
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6908,1
    - Dst: wpabuf_put
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6908,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6909,1
    - Dst: wpas_p2p_sd_response
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6913,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6914,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6916
      start: 6871
    functionDepth: 1
    functionLinenumber: 6871
    functionLinenumberEnd: 6916
    functionName: p2p_ctrl_serv_disc_resp
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpabuf_put
    - hexstr2bin
    - hwaddr_aton
    - wpabuf_free
    - wpas_p2p_sd_response
    - wpabuf_alloc
    - atoi
    - os_strchr
    linkageType: ''
    returnType: int
    signature: int p2p_ctrl_serv_disc_resp(struct wpa_supplicant *wpa_s, char *cmd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6922,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6922,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6924,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6926
      start: 6919
    functionDepth: 0
    functionLinenumber: 6919
    functionLinenumberEnd: 6926
    functionName: p2p_ctrl_serv_disc_external
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - atoi
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: "int p2p_ctrl_serv_disc_external(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \      char *cmd)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6937,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6942,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6946,1
    - Dst: hexstr2bin
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6949,1
    - Dst: wpabuf_put
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6949,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6953,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6957,1
    - Dst: hexstr2bin
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6960,1
    - Dst: wpabuf_put
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6960,1
    - Dst: wpas_p2p_service_add_bonjour
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6964,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6967,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6969,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6971
      start: 6929
    functionDepth: 1
    functionLinenumber: 6929
    functionLinenumberEnd: 6971
    functionName: p2p_ctrl_service_add_bonjour
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpabuf_put
    - hexstr2bin
    - wpabuf_free
    - wpabuf_alloc
    - os_strchr
    - wpas_p2p_service_add_bonjour
    linkageType: ''
    returnType: int
    signature: "int p2p_ctrl_service_add_bonjour(struct wpa_supplicant *wpa_s,\n\t\t\t\t\tchar
      *cmd)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6979,1
    - Dst: hexstr2bin
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6984,1
    - Dst: wpas_p2p_service_add_upnp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:6987,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6988
      start: 6974
    functionDepth: 1
    functionLinenumber: 6974
    functionLinenumberEnd: 6988
    functionName: p2p_ctrl_service_add_upnp
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - hexstr2bin
    - os_strchr
    - wpas_p2p_service_add_upnp
    linkageType: ''
    returnType: int
    signature: int p2p_ctrl_service_add_upnp(struct wpa_supplicant *wpa_s, char *cmd)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7001,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7008,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7021,1
    - Dst: sscanf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7027,1
    - Dst: wpas_p2p_service_p2ps_id_exists
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7031,1
    - Dst: sscanf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7040,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7043,1
    - Dst: sscanf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7049,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7056,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7068,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7072,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7074,1
    - Dst: p2ps_ctrl_parse_cpt_priority
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7078,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7091,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7095,1
    - Dst: utf8_unescape
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7096,1
    - Dst: wpas_p2p_service_add_asp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7100,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 69
    argCount: 3
    argNames:
    - wpa_s
    - replace
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - u8
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7103
      start: 6991
    functionDepth: 2
    functionLinenumber: 6991
    functionLinenumberEnd: 7103
    functionName: p2p_ctrl_service_add_asp
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - p2ps_ctrl_parse_cpt_priority
    - sscanf
    - wpas_p2p_service_p2ps_id_exists
    - os_strstr
    - wpas_p2p_service_add_asp
    - atoi
    - os_strchr
    - utf8_unescape
    linkageType: ''
    returnType: int
    signature: "int p2p_ctrl_service_add_asp(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \   u8 replace, char *cmd)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7110,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7115,1
    - Dst: p2p_ctrl_service_add_bonjour
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7116,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7117,1
    - Dst: p2p_ctrl_service_add_upnp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7118,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7119,1
    - Dst: p2p_ctrl_service_add_asp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7120,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7121,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7123
      start: 7106
    functionDepth: 3
    functionLinenumber: 7106
    functionLinenumberEnd: 7123
    functionName: p2p_ctrl_service_add
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - p2p_ctrl_service_add_asp
    - p2p_ctrl_service_add_upnp
    - wpa_printf
    - p2p_ctrl_service_add_bonjour
    - os_strchr
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: int p2p_ctrl_service_add(struct wpa_supplicant *wpa_s, char *cmd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7133,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7137,1
    - Dst: hexstr2bin
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7140,1
    - Dst: wpabuf_put
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7140,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7141,1
    - Dst: wpas_p2p_service_del_bonjour
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7145,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7146,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7148
      start: 7126
    functionDepth: 1
    functionLinenumber: 7126
    functionLinenumberEnd: 7148
    functionName: p2p_ctrl_service_del_bonjour
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpabuf_put
    - hexstr2bin
    - wpabuf_free
    - wpabuf_alloc
    - wpas_p2p_service_del_bonjour
    linkageType: ''
    returnType: int
    signature: "int p2p_ctrl_service_del_bonjour(struct wpa_supplicant *wpa_s,\n\t\t\t\t\tchar
      *cmd)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7156,1
    - Dst: hexstr2bin
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7161,1
    - Dst: wpas_p2p_service_del_upnp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7165
      start: 7151
    functionDepth: 1
    functionLinenumber: 7151
    functionLinenumberEnd: 7165
    functionName: p2p_ctrl_service_del_upnp
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - hexstr2bin
    - os_strchr
    - wpas_p2p_service_del_upnp
    linkageType: ''
    returnType: int
    signature: int p2p_ctrl_service_del_upnp(struct wpa_supplicant *wpa_s, char *cmd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7172,1
    - Dst: wpas_p2p_service_flush_asp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7173,1
    - Dst: sscanf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7177,1
    - Dst: wpas_p2p_service_del_asp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7181
      start: 7168
    functionDepth: 1
    functionLinenumber: 7168
    functionLinenumberEnd: 7181
    functionName: p2p_ctrl_service_del_asp
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - sscanf
    - wpas_p2p_service_flush_asp
    - os_strcmp
    - wpas_p2p_service_del_asp
    linkageType: ''
    returnType: int
    signature: int p2p_ctrl_service_del_asp(struct wpa_supplicant *wpa_s, char *cmd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7188,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7193,1
    - Dst: p2p_ctrl_service_del_bonjour
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7194,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7195,1
    - Dst: p2p_ctrl_service_del_upnp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7196,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7197,1
    - Dst: p2p_ctrl_service_del_asp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7198,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7199,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7201
      start: 7184
    functionDepth: 2
    functionLinenumber: 7184
    functionLinenumberEnd: 7201
    functionName: p2p_ctrl_service_del
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - p2p_ctrl_service_del_upnp
    - wpa_printf
    - p2p_ctrl_service_del_asp
    - os_strchr
    - p2p_ctrl_service_del_bonjour
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: int p2p_ctrl_service_del(struct wpa_supplicant *wpa_s, char *cmd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7208,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7213,1
    - Dst: p2p_ctrl_service_add_asp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7214,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7216,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7218
      start: 7204
    functionDepth: 3
    functionLinenumber: 7204
    functionLinenumberEnd: 7218
    functionName: p2p_ctrl_service_replace
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - p2p_ctrl_service_add_asp
    - os_strchr
    - wpa_printf
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: int p2p_ctrl_service_replace(struct wpa_supplicant *wpa_s, char *cmd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7227,1
    - Dst: wpas_p2p_reject
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7231
      start: 7221
    functionDepth: 1
    functionLinenumber: 7221
    functionLinenumberEnd: 7231
    functionName: p2p_ctrl_reject
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - hwaddr_aton
    - wpas_p2p_reject
    linkageType: ''
    returnType: int
    signature: int p2p_ctrl_reject(struct wpa_supplicant *wpa_s, char *cmd)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7246,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7248,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7251,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7256,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7257,1
    - Dst: wpa_config_get_network
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7258,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7260,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7266,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7271,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7274,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7279,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7282,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7287,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7288,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7290,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7291,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7293,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7295,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7297,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7299,1
    - Dst: chwidth_freq2_to_ch_width
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7301,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7305,1
    - Dst: wpas_p2p_invite
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7310,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 52
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7313
      start: 7234
    functionDepth: 1
    functionLinenumber: 7234
    functionLinenumberEnd: 7313
    functionName: p2p_ctrl_invite_persistent
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpas_p2p_invite
    - hwaddr_aton
    - os_strncmp
    - os_strstr
    - chwidth_freq2_to_ch_width
    - atoi
    - wpa_config_get_network
    linkageType: ''
    returnType: int
    signature: int p2p_ctrl_invite_persistent(struct wpa_supplicant *wpa_s, char *cmd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7322,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7328,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7329,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7333,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7335,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7338,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7339,1
    - Dst: wpas_p2p_invite_group
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7346,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7347
      start: 7316
    functionDepth: 1
    functionLinenumber: 7316
    functionLinenumberEnd: 7347
    functionName: p2p_ctrl_invite_group
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strstr
    - hwaddr_aton
    - wpa_printf
    - wpas_p2p_invite_group
    linkageType: ''
    returnType: int
    signature: int p2p_ctrl_invite_group(struct wpa_supplicant *wpa_s, char *cmd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7352,1
    - Dst: p2p_ctrl_invite_persistent
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7353,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7354,1
    - Dst: p2p_ctrl_invite_group
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7355,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7358
      start: 7350
    functionDepth: 2
    functionLinenumber: 7350
    functionLinenumberEnd: 7358
    functionName: p2p_ctrl_invite
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - p2p_ctrl_invite_group
    - os_strncmp
    - p2p_ctrl_invite_persistent
    linkageType: ''
    returnType: int
    signature: int p2p_ctrl_invite(struct wpa_supplicant *wpa_s, char *cmd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_get_network
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7371,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7373,1
    - Dst: wpas_p2p_group_add_persistent
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7384,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 13
    argNames:
    - wpa_s
    - id
    - freq
    - vht_center_freq2
    - ht40
    - vht
    - vht_chwidth
    - he
    - edmg
    - allow_6ghz
    - go_bssid
    - p2p2
    - p2p_mode
    argTypes:
    - struct wpa_supplicant*
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - bool
    - u8*
    - bool
    - enum wpa_p2p_mode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7390
      start: 7361
    functionDepth: 1
    functionLinenumber: 7361
    functionLinenumberEnd: 7390
    functionName: p2p_ctrl_group_add_persistent
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_config_get_network
    - wpas_p2p_group_add_persistent
    linkageType: ''
    returnType: int
    signature: "int p2p_ctrl_group_add_persistent(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      int id, int freq, int vht_center_freq2,\n\t\t\t\t\t int ht40, int vht, int vht_chwidth,\n\t\t\t\t\t
      int he, int edmg, bool allow_6ghz,\n\t\t\t\t\t const u8 *go_bssid, bool p2p2,\n\t\t\t\t\t
      enum wpa_p2p_mode p2p_mode)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: str_token
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7411,1
    - Dst: sscanf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7412,1
    - Dst: sscanf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7413,1
    - Dst: sscanf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7414,1
    - Dst: sscanf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7415,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7418,1
    - Dst: sscanf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7421,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7423,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7425,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7428,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7430,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7432,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7434,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7436,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7438,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7439,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7443,1
    - Dst: wpa_drv_get_pref_freq_list
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7457,1
    - Dst: chwidth_freq2_to_ch_width
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7481,1
    - Dst: p2p_ctrl_group_add_persistent
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7497,1
    - Dst: wpas_p2p_group_add
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7504,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 77
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7507
      start: 7393
    functionDepth: 2
    functionLinenumber: 7393
    functionLinenumberEnd: 7507
    functionName: p2p_ctrl_group_add
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - str_token
    - sscanf
    - hwaddr_aton
    - wpa_drv_get_pref_freq_list
    - os_strncmp
    - chwidth_freq2_to_ch_width
    - wpas_p2p_group_add
    - p2p_ctrl_group_add_persistent
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: int p2p_ctrl_group_add(struct wpa_supplicant *wpa_s, char *cmd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7520,1
    - Dst: p2p_group_get_client_interface_addr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7523,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7526,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7526,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7527,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 4
    argNames:
    - wpa_s
    - cmd
    - buf
    - buflen
    argTypes:
    - struct wpa_supplicant*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7530
      start: 7510
    functionDepth: 1
    functionLinenumber: 7510
    functionLinenumberEnd: 7530
    functionName: p2p_ctrl_group_member
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - p2p_group_get_client_interface_addr
    - hwaddr_aton
    - os_snprintf
    - MAC2STR
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int p2p_ctrl_group_member(struct wpa_supplicant *wpa_s, const char
      *cmd,\n\t\t\t\t char *buf, size_t buflen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_bss_get_p2p_dev_addr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7539,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - global
    - p2p_dev_addr
    argTypes:
    - struct wpa_global*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7544
      start: 7533
    functionDepth: 1
    functionLinenumber: 7533
    functionLinenumberEnd: 7544
    functionName: wpas_find_p2p_dev_addr_bss
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_bss_get_p2p_dev_addr
    linkageType: ''
    returnType: int
    signature: "int wpas_find_p2p_dev_addr_bss(struct wpa_global *global,\n\t\t\t\t
      \     const u8 *p2p_dev_addr)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7561,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7564,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7565,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7570,1
    - Dst: p2p_get_peer_info
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7576,1
    - Dst: wpas_find_p2p_dev_addr_bss
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7582,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7583,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7586,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7593,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7604,1
    - Dst: wps_dev_type_bin2str
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7605,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7616,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7624,1
    - Dst: wps_dev_type_bin2str
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7625,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7627,1
    - Dst: wpas_p2p_get_persistent
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7632,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7634,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7635,1
    - Dst: p2p_get_peer_info_txt
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7640,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7646,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7647,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7651,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7652,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7653,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7655,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7656,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 62
    argCount: 4
    argNames:
    - wpa_s
    - cmd
    - buf
    - buflen
    argTypes:
    - struct wpa_supplicant*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7662
      start: 7547
    functionDepth: 2
    functionLinenumber: 7547
    functionLinenumberEnd: 7662
    functionName: p2p_ctrl_peer
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_snprintf_hex
    - p2p_get_peer_info_txt
    - wpabuf_len
    - hwaddr_aton
    - wps_dev_type_bin2str
    - wpas_p2p_get_persistent
    - os_strncmp
    - wpabuf_head
    - os_snprintf
    - MAC2STR
    - p2p_get_peer_info
    - os_snprintf_error
    - os_strcmp
    - wpas_find_p2p_dev_addr_bss
    linkageType: ''
    returnType: int
    signature: "int p2p_ctrl_peer(struct wpa_supplicant *wpa_s, char *cmd,\n\t\t\t
      char *buf, size_t buflen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: freq_range_list_parse
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7673,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7679,1
    - Dst: wpas_p2p_update_channel_list
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7683,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - wpa_s
    - param
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7685
      start: 7665
    functionDepth: 1
    functionLinenumber: 7665
    functionLinenumberEnd: 7685
    functionName: p2p_ctrl_disallow_freq
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - freq_range_list_parse
    - wpas_p2p_update_channel_list
    linkageType: ''
    returnType: int
    signature: "int p2p_ctrl_disallow_freq(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \ const char *param)"
  - BBCount: 51
    BranchProfiles: []
    Callsites:
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7695,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7700,1
    - Dst: p2p_set_client_discoverability
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7701,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7702,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7706,1
    - Dst: p2p_set_managed_oper
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7707,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7707,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7711,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7715,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7716,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7717,1
    - Dst: p2p_set_listen_channel
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7719,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7723,1
    - Dst: p2p_set_ssid_postfix
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7724,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7725,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7728,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7732,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7733,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7737,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7738,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7742,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7747,1
    - Dst: wpas_p2p_set_noa
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7749,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7752,1
    - Dst: wpa_drv_set_p2p_powersave
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7753,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7753,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7755,1
    - Dst: wpa_drv_set_p2p_powersave
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7756,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7756,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7758,1
    - Dst: wpa_drv_set_p2p_powersave
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7759,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7759,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7761,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7762,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7763,1
    - Dst: wpas_p2p_stop_find
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7767,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7768,1
    - Dst: p2p_flush
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7769,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7774,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7775,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7777,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7780,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7783,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7788,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7789,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7793,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7795,1
    - Dst: p2p_set_peer_filter
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7797,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7801,1
    - Dst: wpas_p2p_set_cross_connect
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7802,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7802,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7804,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7805,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7809,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7814,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7815,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7821,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7822,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7826,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7827,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7831,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7832,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7836,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7842,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7844,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7846,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7848,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7853,1
    - Dst: p2p_ctrl_disallow_freq
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7854,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7856,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7862,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7863,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7868,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7869,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7874,1
    - Dst: p2p_set_disc_int
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7876,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7880,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7881,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7886,1
    - Dst: wpas_p2p_nfc_tag_enabled
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7887,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7887,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7890,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7891,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7895,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7898,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7899,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7903,1
    - Dst: p2p_set_override_pref_op_chan
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7904,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7909,1
    - Dst: p2p_set_bootstrapmethods
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7910,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7910,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7914,1
    - Dst: p2p_set_pasn_type
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7915,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7915,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7919,1
    - Dst: p2p_set_comeback_after
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7920,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7920,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7924,1
    - Dst: p2p_set_reg_info
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7925,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7925,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7929,1
    - Dst: p2p_set_twt_power_mgmt
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7930,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7930,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7934,1
    - Dst: p2p_set_chan_switch_req_enable
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7935,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7935,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7939,1
    - Dst: p2p_set_invitation_op_freq
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7940,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7940,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7944,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 189
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7948
      start: 7688
    functionDepth: 2
    functionLinenumber: 7688
    functionLinenumberEnd: 7948
    functionName: p2p_ctrl_set
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - p2p_set_invitation_op_freq
    - p2p_set_comeback_after
    - BIT
    - p2p_set_bootstrapmethods
    - p2p_flush
    - atoi
    - os_strlen
    - wpa_printf
    - wpas_p2p_stop_find
    - p2p_set_client_discoverability
    - hwaddr_aton
    - p2p_set_peer_filter
    - p2p_set_ssid_postfix
    - os_strcmp
    - p2p_set_managed_oper
    - p2p_set_disc_int
    - os_strchr
    - p2p_set_pasn_type
    - wpas_p2p_nfc_tag_enabled
    - os_memset
    - wpa_drv_set_p2p_powersave
    - p2p_set_override_pref_op_chan
    - p2p_set_chan_switch_req_enable
    - p2p_set_twt_power_mgmt
    - p2p_set_reg_info
    - wpas_p2p_set_cross_connect
    - p2p_ctrl_disallow_freq
    - wpas_p2p_set_noa
    - p2p_set_listen_channel
    linkageType: ''
    returnType: int
    signature: int p2p_ctrl_set(struct wpa_supplicant *wpa_s, char *cmd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7953,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7957,1
    - Dst: p2p_set_invitation_op_freq
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7960,1
    - Dst: wpas_p2p_stop_find
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7963,1
    - Dst: p2p_flush
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7966,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7969
      start: 7951
    functionDepth: 1
    functionLinenumber: 7951
    functionLinenumberEnd: 7969
    functionName: p2p_ctrl_flush
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - p2p_set_invitation_op_freq
    - wpas_p2p_stop_find
    - p2p_flush
    - os_free
    - os_memset
    linkageType: ''
    returnType: void
    signature: void p2p_ctrl_flush(struct wpa_supplicant *wpa_s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7978,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7982,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7984,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7987,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7992,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7996,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:7997,1
    - Dst: wpas_p2p_presence_req
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8000,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8001
      start: 7972
    functionDepth: 1
    functionLinenumber: 7972
    functionLinenumberEnd: 8001
    functionName: p2p_ctrl_presence_req
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - atoi
    - os_strchr
    - wpas_p2p_presence_req
    linkageType: ''
    returnType: int
    signature: int p2p_ctrl_presence_req(struct wpa_supplicant *wpa_s, char *cmd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8010,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8014,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8015,1
    - Dst: wpas_p2p_ext_listen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8018,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8019
      start: 8004
    functionDepth: 1
    functionLinenumber: 8004
    functionLinenumberEnd: 8019
    functionName: p2p_ctrl_ext_listen
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - atoi
    - os_strchr
    - wpas_p2p_ext_listen
    linkageType: ''
    returnType: int
    signature: int p2p_ctrl_ext_listen(struct wpa_supplicant *wpa_s, char *cmd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8029,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8033,1
    - Dst: wpas_p2p_remove_client
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8036,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8038
      start: 8022
    functionDepth: 1
    functionLinenumber: 8022
    functionLinenumberEnd: 8038
    functionName: p2p_ctrl_remove_client
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - hwaddr_aton
    - wpas_p2p_remove_client
    - os_strncmp
    linkageType: ''
    returnType: int
    signature: int p2p_ctrl_remove_client(struct wpa_supplicant *wpa_s, const char
      *cmd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8045,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8047,1
    - Dst: wpas_p2p_lo_start
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8052,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8053
      start: 8041
    functionDepth: 1
    functionLinenumber: 8041
    functionLinenumberEnd: 8053
    functionName: p2p_ctrl_iface_p2p_lo_start
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - sscanf
    - wpa_printf
    - wpas_p2p_lo_start
    linkageType: ''
    returnType: int
    signature: int p2p_ctrl_iface_p2p_lo_start(struct wpa_supplicant *wpa_s, char
      *cmd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8069,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8070,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8072,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - wpa_s
    - buf
    - buflen
    argTypes:
    - struct wpa_supplicant*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8073
      start: 8057
    functionDepth: 1
    functionLinenumber: 8057
    functionLinenumberEnd: 8073
    functionName: p2p_ctrl_pmk_get
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpabuf_len
    - wpa_snprintf_hex
    - wpabuf_head
    linkageType: ''
    returnType: int
    signature: "int p2p_ctrl_pmk_get(struct wpa_supplicant *wpa_s, char *buf,\n\t\t\t
      \   size_t buflen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8088,1
    - Dst: freq_range_list_parse
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8089,1
    - Dst: freq_range_list_includes
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8103,1
    - Dst: int_array_add_unique
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8106,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8110,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - wpa_s
    - val
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8112
      start: 8078
    functionDepth: 1
    functionLinenumber: 8078
    functionLinenumberEnd: 8112
    functionName: freq_range_to_channel_list
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 2
    functionsReached:
    - freq_range_list_includes
    - freq_range_list_parse
    - int_array_add_unique
    - os_free
    - os_memset
    linkageType: ''
    returnType: int
    signature: int * freq_range_to_channel_list(struct wpa_supplicant *wpa_s, char
      *val)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8125,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8127,1
    - Dst: freq_range_to_channel_list
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8129,1
    - Dst: interworking_select
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8136,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - wpa_s
    - param
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8137
      start: 8117
    functionDepth: 2
    functionLinenumber: 8117
    functionLinenumberEnd: 8137
    functionName: ctrl_interworking_select
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strstr
    - interworking_select
    - freq_range_to_channel_list
    linkageType: ''
    returnType: int
    signature: int ctrl_interworking_select(struct wpa_supplicant *wpa_s, char *param)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8146,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8147,1
    - Dst: wpa_bss_get_bssid_latest
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8151,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8153,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8154,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8161,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8162,1
    - Dst: dl_list_for_each_reverse
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8164,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8166,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8175,1
    - Dst: interworking_connect
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8179,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - wpa_s
    - dst
    - only_add
    argTypes:
    - struct wpa_supplicant*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8180
      start: 8140
    functionDepth: 1
    functionLinenumber: 8140
    functionLinenumberEnd: 8180
    functionName: ctrl_interworking_connect
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each_reverse
    - wpa_printf
    - interworking_connect
    - wpa_bss_get_bssid_latest
    - hwaddr_aton
    - ether_addr_equal
    - MAC2STR
    linkageType: ''
    returnType: int
    signature: "int ctrl_interworking_connect(struct wpa_supplicant *wpa_s, char *dst,\n\t\t\t\t
      \    int only_add)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: hwaddr_aton2
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8194,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8201,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8202,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8203,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8210,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8212,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8215,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8219,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8221,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8225,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8230,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8234,1
    - Dst: anqp_send_req
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8243,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 2
    argNames:
    - wpa_s
    - dst
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8245
      start: 8183
    functionDepth: 1
    functionLinenumber: 8183
    functionLinenumberEnd: 8245
    functionName: get_anqp
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - anqp_send_req
    - os_strncmp
    - BIT
    - atoi
    - os_strchr
    - hwaddr_aton2
    linkageType: ''
    returnType: int
    signature: int get_anqp(struct wpa_supplicant *wpa_s, char *dst)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: hwaddr_aton2
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8256,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8265,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8269,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8275,1
    - Dst: hexstr2bin
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8278,1
    - Dst: wpabuf_put
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8278,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8287,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8294,1
    - Dst: hexstr2bin
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8297,1
    - Dst: wpabuf_put
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8297,1
    - Dst: gas_send_request
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8302,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8305,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8306,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 50
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8309
      start: 8248
    functionDepth: 1
    functionLinenumber: 8248
    functionLinenumberEnd: 8309
    functionName: gas_request
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - gas_send_request
    - wpabuf_put
    - hexstr2bin
    - wpabuf_free
    - wpabuf_alloc
    - os_strchr
    - hwaddr_aton2
    linkageType: ''
    returnType: int
    signature: int gas_request(struct wpa_supplicant *wpa_s, char *cmd)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: hwaddr_aton2
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8323,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8330,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8333,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8337,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8343,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8347,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8349,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8351,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8352,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8356,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8358,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8362,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8364,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8364,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8373,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8376,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 4
    argNames:
    - wpa_s
    - cmd
    - buf
    - buflen
    argTypes:
    - struct wpa_supplicant*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8382
      start: 8312
    functionDepth: 1
    functionLinenumber: 8312
    functionLinenumberEnd: 8382
    functionName: gas_response_get
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_snprintf_hex
    - wpabuf_head_u8
    - wpabuf_len
    - ether_addr_equal
    - wpabuf_free
    - os_snprintf
    - atoi
    - os_strchr
    - hwaddr_aton2
    linkageType: ''
    returnType: int
    signature: "int gas_response_get(struct wpa_supplicant *wpa_s, char *cmd, char
      *buf,\n\t\t\t    size_t buflen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: hwaddr_aton2
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8395,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8402,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8405,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8406,1
    - Dst: hs20_anqp_send_req
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8415,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - wpa_s
    - dst
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8416
      start: 8388
    functionDepth: 1
    functionLinenumber: 8388
    functionLinenumberEnd: 8416
    functionName: get_hs20_anqp
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - hs20_anqp_send_req
    - BIT
    - atoi
    - os_strchr
    - hwaddr_aton2
    linkageType: ''
    returnType: int
    signature: int get_hs20_anqp(struct wpa_supplicant *wpa_s, char *dst)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8426,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8428,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8434,1
    - Dst: hs20_anqp_send_req
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8436,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8437,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8440,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - wpa_s
    - addr
    - realm
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8443
      start: 8419
    functionDepth: 1
    functionLinenumber: 8419
    functionLinenumberEnd: 8443
    functionName: hs20_nai_home_realm_list
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_memcpy
    - os_malloc
    - hs20_anqp_send_req
    - BIT
    - os_free
    linkageType: ''
    returnType: int
    signature: "int hs20_nai_home_realm_list(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \   const u8 *addr, const char *realm)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: hwaddr_aton2
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8456,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8462,1
    - Dst: hs20_nai_home_realm_list
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8463,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8466,1
    - Dst: hs20_nai_home_realm_list
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8469,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8474,1
    - Dst: hexstr2bin
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8477,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8478,1
    - Dst: hs20_anqp_send_req
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8482,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8483,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8485,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - wpa_s
    - dst
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8488
      start: 8446
    functionDepth: 2
    functionLinenumber: 8446
    functionLinenumberEnd: 8488
    functionName: hs20_get_nai_home_realm_list
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - hexstr2bin
    - os_malloc
    - hs20_anqp_send_req
    - os_strncmp
    - hs20_nai_home_realm_list
    - BIT
    - os_free
    - hwaddr_aton2
    linkageType: ''
    returnType: int
    signature: "int hs20_get_nai_home_realm_list(struct wpa_supplicant *wpa_s,\n\t\t\t\t\tchar
      *dst)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8501,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8502,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8507,1
    - Dst: autoscan_deinit
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8511,1
    - Dst: autoscan_init
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8513,1
    - Dst: wpa_supplicant_reinit_autoscan
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8515,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8517,1
    - Dst: wpa_supplicant_state_txt
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8518,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8521
      start: 8495
    functionDepth: 3
    functionLinenumber: 8495
    functionLinenumberEnd: 8521
    functionName: wpa_supplicant_ctrl_iface_autoscan
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - autoscan_init
    - wpa_printf
    - wpa_supplicant_reinit_autoscan
    - wpa_supplicant_state_txt
    - autoscan_deinit
    - os_free
    - os_strdup
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_ctrl_iface_autoscan(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \     char *cmd)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8536,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8538,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8543,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8545,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8547,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8552,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8556,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8560,1
    - Dst: hexstr2bin
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8563,1
    - Dst: wpabuf_put
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8563,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8564,1
    - Dst: ieee802_11_send_wnmsleep_req
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8569,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8572,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8575
      start: 8528
    functionDepth: 1
    functionLinenumber: 8528
    functionLinenumberEnd: 8575
    functionName: wpas_ctrl_iface_wnm_sleep
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpabuf_put
    - hexstr2bin
    - wpabuf_free
    - os_strncmp
    - os_strstr
    - wpabuf_alloc
    - atoi
    - os_strchr
    - ieee802_11_send_wnmsleep_req
    linkageType: ''
    returnType: int
    signature: int wpas_ctrl_iface_wnm_sleep(struct wpa_supplicant *wpa_s, char *cmd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8583,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8585,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8587,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8593,1
    - Dst: wnm_send_bss_transition_mgmt_query
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8597,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8600
      start: 8578
    functionDepth: 1
    functionLinenumber: 8578
    functionLinenumberEnd: 8600
    functionName: wpas_ctrl_iface_wnm_bss_query
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_strncmp
    - wnm_send_bss_transition_mgmt_query
    - atoi
    - os_strchr
    linkageType: ''
    returnType: int
    signature: int wpas_ctrl_iface_wnm_bss_query(struct wpa_supplicant *wpa_s, char
      *cmd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_parse_bin
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8609,1
    - Dst: wnm_send_coloc_intf_report
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8613,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8614,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8616
      start: 8603
    functionDepth: 1
    functionLinenumber: 8603
    functionLinenumberEnd: 8616
    functionName: wpas_ctrl_iface_coloc_intf_report
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpabuf_free
    - wnm_send_coloc_intf_report
    - wpabuf_parse_bin
    linkageType: ''
    returnType: int
    signature: "int wpas_ctrl_iface_coloc_intf_report(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \    char *cmd)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_signal_poll
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8628,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8635,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8639,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8644,1
    - Dst: channel_width_to_string
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8645,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8646,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8652,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8654,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8660,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8662,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8668,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8670,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8676,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8679,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 3
    argNames:
    - wpa_s
    - buf
    - buflen
    argTypes:
    - struct wpa_supplicant*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8685
      start: 8621
    functionDepth: 2
    functionLinenumber: 8621
    functionLinenumberEnd: 8685
    functionName: wpa_supplicant_signal_poll
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - channel_width_to_string
    - wpa_drv_signal_poll
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_signal_poll(struct wpa_supplicant *wpa_s, char
      *buf,\n\t\t\t\t      size_t buflen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8696,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8700,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8702,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8703,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8705,1
    - Dst: wpa_drv_signal_monitor
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8706,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8707
      start: 8688
    functionDepth: 1
    functionLinenumber: 8688
    functionLinenumberEnd: 8707
    functionName: wpas_ctrl_iface_signal_monitor
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strstr
    - atoi
    - wpa_printf
    - wpa_drv_signal_monitor
    linkageType: ''
    returnType: int
    signature: "int wpas_ctrl_iface_signal_monitor(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \ const char *cmd)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8724,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8726,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8732,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8736,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8738,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8740,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 4
    argNames:
    - wpa_s
    - if_type
    - num
    - freq_list
    argTypes:
    - struct wpa_supplicant*
    - enum wpa_driver_if_type
    - unsigned int*
    - struct weighted_pcl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8747
      start: 8711
    functionDepth: 0
    functionLinenumber: 8711
    functionLinenumberEnd: 8747
    functionName: wpas_ctrl_iface_get_pref_freq_list_override
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - atoi
    - os_strchr
    linkageType: ''
    returnType: int
    signature: "int wpas_ctrl_iface_get_pref_freq_list_override(struct wpa_supplicant
      *wpa_s,\n\t\t\t\t\t\tenum wpa_driver_if_type if_type,\n\t\t\t\t\t\tunsigned
      int *num,\n\t\t\t\t\t\tstruct weighted_pcl *freq_list)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8764,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8766,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8768,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8770,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8772,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8774,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8779,1
    - Dst: wpa_drv_get_pref_freq_list
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8783,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8788,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8790,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 4
    argNames:
    - wpa_s
    - cmd
    - buf
    - buflen
    argTypes:
    - struct wpa_supplicant*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8796
      start: 8751
    functionDepth: 1
    functionLinenumber: 8751
    functionLinenumberEnd: 8796
    functionName: wpas_ctrl_iface_get_pref_freq_list
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_drv_get_pref_freq_list
    - os_snprintf
    - os_strcmp
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int wpas_ctrl_iface_get_pref_freq_list(\n\tstruct wpa_supplicant *wpa_s,
      char *cmd, char *buf, size_t buflen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8805,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8807,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8815,1
    - Dst: driver_flag_to_string
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8816,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8817,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - wpa_s
    - buf
    - buflen
    argTypes:
    - struct wpa_supplicant*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8824
      start: 8799
    functionDepth: 1
    functionLinenumber: 8799
    functionLinenumberEnd: 8824
    functionName: wpas_ctrl_iface_driver_flags
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - driver_flag_to_string
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int wpas_ctrl_iface_driver_flags(struct wpa_supplicant *wpa_s,\n\t\t\t\t\tchar
      *buf, size_t buflen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8833,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8835,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8843,1
    - Dst: driver_flag2_to_string
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8844,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8845,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - wpa_s
    - buf
    - buflen
    argTypes:
    - struct wpa_supplicant*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8852
      start: 8827
    functionDepth: 1
    functionLinenumber: 8827
    functionLinenumberEnd: 8852
    functionName: wpas_ctrl_iface_driver_flags2
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - driver_flag2_to_string
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int wpas_ctrl_iface_driver_flags2(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      char *buf, size_t buflen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_pktcnt_poll
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8861,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8865,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8867,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - wpa_s
    - buf
    - buflen
    argTypes:
    - struct wpa_supplicant*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8870
      start: 8855
    functionDepth: 1
    functionLinenumber: 8855
    functionLinenumberEnd: 8870
    functionName: wpa_supplicant_pktcnt_poll
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - os_snprintf_error
    - wpa_drv_pktcnt_poll
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_pktcnt_poll(struct wpa_supplicant *wpa_s, char
      *buf,\n\t\t\t\t      size_t buflen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_driver_cmd
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8879,1
    - Dst: os_strncasecmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8882,1
    - Dst: p2p_set_country
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8889,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8893,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8894,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - wpa_s
    - cmd
    - buf
    - buflen
    argTypes:
    - struct wpa_supplicant*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8898
      start: 8874
    functionDepth: 1
    functionLinenumber: 8874
    functionLinenumberEnd: 8898
    functionName: wpa_supplicant_driver_cmd
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strncasecmp
    - os_snprintf
    - wpa_drv_driver_cmd
    - p2p_set_country
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_driver_cmd(struct wpa_supplicant *wpa_s, char *cmd,\n\t\t\t\t
      \    char *buf, size_t buflen)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strtoul
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8917,1
    - Dst: isblank
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8918,1
    - Dst: strtoul
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8921,1
    - Dst: isblank
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8924,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8927,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8928,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8933,1
    - Dst: hexstr2bin
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8937,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8938,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8940,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8945,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8947,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8950,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8952,1
    - Dst: wpa_drv_vendor_cmd
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8956,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8960,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8960,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8961,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8963,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8964,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 4
    argNames:
    - wpa_s
    - cmd
    - buf
    - buflen
    argTypes:
    - struct wpa_supplicant*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8967
      start: 8902
    functionDepth: 1
    functionLinenumber: 8902
    functionLinenumberEnd: 8967
    functionName: wpa_supplicant_vendor_cmd
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - wpa_drv_vendor_cmd
    - wpa_snprintf_hex
    - wpabuf_head_u8
    - hexstr2bin
    - wpabuf_len
    - wpabuf_free
    - os_malloc
    - os_strstr
    - atoi
    - wpabuf_alloc
    - strtoul
    - os_free
    - os_strchr
    - isblank
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_vendor_cmd(struct wpa_supplicant *wpa_s, char *cmd,\n\t\t\t\t
      \    char *buf, size_t buflen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8977,1
    - Dst: wpas_abort_ongoing_scan
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8979,1
    - Dst: wpa_supplicant_set_state
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8987,1
    - Dst: wpas_p2p_group_remove
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8991,1
    - Dst: wpas_p2p_cancel
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8992,1
    - Dst: p2p_ctrl_flush
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8993,1
    - Dst: wpas_p2p_service_flush
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8994,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:8999,1
    - Dst: wpas_wps_cancel
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9015,1
    - Dst: wps_registrar_flush
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9016,1
    - Dst: wpas_dpp_deinit
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9022,1
    - Dst: wpas_dpp_chirp_stop
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9029,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9046,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9047,1
    - Dst: wpa_drv_tdls_oper
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9065,1
    - Dst: wpa_tdls_enable
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9066,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9069,1
    - Dst: wpa_supplicant_stop_countermeasures
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9070,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9078,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9081,1
    - Dst: wpa_drv_radio_disable
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9090,1
    - Dst: wpa_bssid_ignore_clear
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9091,1
    - Dst: wpa_supplicant_ctrl_iface_remove_network
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9092,1
    - Dst: wpa_supplicant_ctrl_iface_remove_cred
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9093,1
    - Dst: wpa_config_flush_blobs
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9094,1
    - Dst: ptksa_cache_flush
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9098,1
    - Dst: wpa_sm_pmksa_cache_flush
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9099,1
    - Dst: rsn_preauth_deinit
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9100,1
    - Dst: wpa_sm_set_param
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9102,1
    - Dst: wpa_sm_set_param
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9103,1
    - Dst: wpa_sm_set_param
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9104,1
    - Dst: eapol_sm_notify_logoff
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9105,1
    - Dst: radio_remove_works
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9107,1
    - Dst: wnm_btm_reset
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9112,1
    - Dst: wpa_sm_set_test_assoc_ie
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9127,1
    - Dst: wpa_sm_set_test_eapol_m2_elems
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9128,1
    - Dst: wpa_sm_set_test_eapol_m4_elems
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9129,1
    - Dst: wpa_sm_set_test_rsnxe_data
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9130,1
    - Dst: wpa_sm_set_param
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9131,1
    - Dst: wpa_sm_set_param
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9132,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9133,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9135,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9137,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9139,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9141,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9143,1
    - Dst: wpas_clear_driver_signal_override
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9145,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9150,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9170,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9172,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9174,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9183,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9185,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9187,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9190,1
    - Dst: wpa_bss_flush
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9193,1
    - Dst: dl_list_empty
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9194,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9195,1
    - Dst: dl_list_len
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9198,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9199,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9200,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9203,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9211,1
    - Dst: wpa_supplicant_update_channel_list
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9214,1
    - Dst: free_bss_tmp_disallowed
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9216,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9219,1
    - Dst: wpas_pasn_auth_stop
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9223,1
    - Dst: wpas_restore_permanent_mac_addr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9227,1
    - Dst: wpas_nan_de_flush
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9231,1
    - Dst: wpas_pr_flush
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9233,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 174
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9234
      start: 8970
    functionDepth: 9
    functionLinenumber: 8970
    functionLinenumberEnd: 9234
    functionName: wpa_supplicant_ctrl_iface_flush
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - eapol_sm_notify_logoff
    - wpa_sm_set_test_eapol_m2_elems
    - wpas_p2p_group_remove
    - wpa_config_flush_blobs
    - wpa_sm_set_test_assoc_ie
    - wpas_p2p_cancel
    - wpa_sm_pmksa_cache_flush
    - wpa_sm_set_test_eapol_m4_elems
    - dl_list_len
    - wpa_printf
    - wpas_pr_flush
    - dl_list_empty
    - wpas_nan_de_flush
    - wpa_bss_flush
    - wpa_supplicant_ctrl_iface_remove_cred
    - wpas_dpp_chirp_stop
    - wpas_p2p_service_flush
    - os_free
    - wpa_supplicant_ctrl_iface_remove_network
    - wpas_wps_cancel
    - radio_remove_works
    - wpas_dpp_deinit
    - wpas_clear_driver_signal_override
    - wpa_sm_set_param
    - free_bss_tmp_disallowed
    - wpa_sm_set_test_rsnxe_data
    - wpas_restore_permanent_mac_addr
    - rsn_preauth_deinit
    - wpa_drv_tdls_oper
    - wpa_dbg
    - wpas_abort_ongoing_scan
    - os_memset
    - ptksa_cache_flush
    - wpa_supplicant_update_channel_list
    - wps_registrar_flush
    - eloop_cancel_timeout
    - wpabuf_free
    - wpa_supplicant_stop_countermeasures
    - wpa_supplicant_set_state
    - MAC2STR
    - wnm_btm_reset
    - wpa_bssid_ignore_clear
    - p2p_ctrl_flush
    - wpa_drv_radio_disable
    - wpa_tdls_enable
    - wpas_pasn_auth_stop
    linkageType: ''
    returnType: void
    signature: void wpa_supplicant_ctrl_iface_flush(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9247,1
    - Dst: dl_list_for_each
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9249,1
    - Dst: os_reltime_sub
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9253,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9254,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - wpa_s
    - buf
    - buflen
    argTypes:
    - struct wpa_supplicant*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9263
      start: 9237
    functionDepth: 1
    functionLinenumber: 9237
    functionLinenumberEnd: 9263
    functionName: wpas_ctrl_radio_work_show
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_get_reltime
    - dl_list_for_each
    - os_snprintf
    - os_reltime_sub
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int wpas_ctrl_radio_work_show(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \    char *buf, size_t buflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9271,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9274,1
    - Dst: radio_work_done
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9276,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9278
      start: 9266
    functionDepth: 3
    functionLinenumber: 9266
    functionLinenumberEnd: 9278
    functionName: wpas_ctrl_radio_work_timeout
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpa_msg
    - radio_work_done
    - wpa_dbg
    linkageType: ''
    returnType: void
    signature: void wpas_ctrl_radio_work_timeout(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9287,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9297,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9301,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9303,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9307,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - work
    - deinit
    argTypes:
    - struct wpa_radio_work*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9309
      start: 9281
    functionDepth: 1
    functionLinenumber: 9281
    functionLinenumberEnd: 9309
    functionName: wpas_ctrl_radio_work_cb
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_msg
    - eloop_cancel_timeout
    - eloop_register_timeout
    - wpa_dbg
    - os_free
    linkageType: ''
    returnType: void
    signature: void wpas_ctrl_radio_work_cb(struct wpa_radio_work *work, int deinit)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9323,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9327,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9332,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9334,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9336,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9338,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9340,1
    - Dst: os_strlcpy
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9344,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9345,1
    - Dst: radio_add_work
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9353,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9355,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9359,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9360,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 4
    argNames:
    - wpa_s
    - cmd
    - buf
    - buflen
    argTypes:
    - struct wpa_supplicant*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9363
      start: 9312
    functionDepth: 3
    functionLinenumber: 9312
    functionLinenumberEnd: 9363
    functionName: wpas_ctrl_radio_work_add
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_memcpy
    - os_strlcpy
    - os_strstr
    - os_snprintf
    - os_zalloc
    - radio_add_work
    - atoi
    - os_strchr
    - os_free
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int wpas_ctrl_radio_work_add(struct wpa_supplicant *wpa_s, char *cmd,\n\t\t\t\t
      \   char *buf, size_t buflen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9369,1
    - Dst: dl_list_for_each
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9371,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9375,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9380,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9383,1
    - Dst: radio_work_done
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9385,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9386,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9391
      start: 9366
    functionDepth: 3
    functionLinenumber: 9366
    functionLinenumberEnd: 9391
    functionName: wpas_ctrl_radio_work_done
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - eloop_cancel_timeout
    - radio_work_done
    - os_strncmp
    - dl_list_for_each
    - wpa_dbg
    - atoi
    - os_free
    linkageType: ''
    returnType: int
    signature: int wpas_ctrl_radio_work_done(struct wpa_supplicant *wpa_s, char *cmd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9397,1
    - Dst: wpas_ctrl_radio_work_show
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9398,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9399,1
    - Dst: wpas_ctrl_radio_work_add
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9400,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9401,1
    - Dst: wpas_ctrl_radio_work_done
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9402,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - wpa_s
    - cmd
    - buf
    - buflen
    argTypes:
    - struct wpa_supplicant*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9404
      start: 9394
    functionDepth: 4
    functionLinenumber: 9394
    functionLinenumberEnd: 9404
    functionName: wpas_ctrl_radio_work
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpas_ctrl_radio_work_add
    - os_strncmp
    - wpas_ctrl_radio_work_show
    - wpas_ctrl_radio_work_done
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: "int wpas_ctrl_radio_work(struct wpa_supplicant *wpa_s, char *cmd,\n\t\t\t\tchar
      *buf, size_t buflen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9414,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9418,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9421,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9426,1
    - Dst: radio_work_done
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9428,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9429,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9431
      start: 9407
    functionDepth: 3
    functionLinenumber: 9407
    functionLinenumberEnd: 9431
    functionName: wpas_ctrl_radio_work_flush
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 1
    functionsReached:
    - eloop_cancel_timeout
    - radio_work_done
    - os_strncmp
    - wpa_dbg
    - os_free
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: void wpas_ctrl_radio_work_flush(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eapol_sm_notify_ctrl_response
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9438
      start: 9434
    functionDepth: 0
    functionLinenumber: 9434
    functionLinenumberEnd: 9438
    functionName: wpas_ctrl_eapol_response
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - eapol_sm_notify_ctrl_response
    linkageType: ''
    returnType: void
    signature: void wpas_ctrl_eapol_response(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9451,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9452,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 4
    argNames:
    - wpa_s
    - value
    - scan_id_count
    - scan_id
    argTypes:
    - struct wpa_supplicant*
    - char*
    - unsigned int*
    - int[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9458
      start: 9441
    functionDepth: 0
    functionLinenumber: 9441
    functionLinenumberEnd: 9458
    functionName: scan_id_list_parse
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - atoi
    - os_strchr
    linkageType: ''
    returnType: int
    signature: "int scan_id_list_parse(struct wpa_supplicant *wpa_s, const char *value,\n\t\t\t
      \     unsigned int *scan_id_count, int scan_id[])"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: radio_work_pending
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9483,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9484,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9486,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9492,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9494,1
    - Dst: os_strncasecmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9500,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9503,1
    - Dst: freq_range_to_channel_list
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9505,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9513,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9515,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9517,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9519,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9521,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9525,1
    - Dst: scan_id_list_parse
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9526,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9532,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9537,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9538,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9542,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9545,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9548,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9550,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9554,1
    - Dst: os_realloc_array
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9565,1
    - Dst: hexstr2bin
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9576,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9578,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9585,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9592,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9599,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9622,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9624,1
    - Dst: wpa_supplicant_req_scan
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9632,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9635,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9637,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9646,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9648,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9652,1
    - Dst: wpa_supplicant_cancel_sched_scan
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9653,1
    - Dst: wpa_supplicant_req_scan
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9655,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9658,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9660,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9664,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9665,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9669,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9670,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 153
    argCount: 5
    argNames:
    - wpa_s
    - params
    - reply
    - reply_size
    - reply_len
    argTypes:
    - struct wpa_supplicant*
    - char*
    - char*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9671
      start: 9461
    functionDepth: 3
    functionLinenumber: 9461
    functionLinenumberEnd: 9671
    functionName: wpas_ctrl_scan
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - radio_work_pending
    - os_snprintf
    - atoi
    - scan_id_list_parse
    - wpa_hexdump_ascii
    - os_strncasecmp
    - wpa_printf
    - wpa_supplicant_req_scan
    - hwaddr_aton
    - os_strstr
    - os_free
    - freq_range_to_channel_list
    - hexstr2bin
    - wpa_dbg
    - os_strchr
    - wpa_supplicant_cancel_sched_scan
    - os_memcpy
    - os_strncmp
    - os_realloc_array
    linkageType: ''
    returnType: void
    signature: "void wpas_ctrl_scan(struct wpa_supplicant *wpa_s, char *params,\n\t\t\t
      \  char *reply, int reply_size, int *reply_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9683,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9685,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9685,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - wpa_s
    - freq
    - dst
    - src
    - bssid
    - data
    - data_len
    - result
    argTypes:
    - struct wpa_supplicant*
    - unsigned int
    - u8*
    - u8*
    - u8*
    - u8*
    - size_t
    - enum offchannel_send_action_result
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9689
      start: 9676
    functionDepth: 1
    functionLinenumber: 9676
    functionLinenumberEnd: 9689
    functionName: wpas_ctrl_iface_mgmt_tx_cb
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: "void wpas_ctrl_iface_mgmt_tx_cb(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \      unsigned int freq, const u8 *dst,\n\t\t\t\t       const u8 *src, const
      u8 *bssid,\n\t\t\t\t       const u8 *data, size_t data_len,\n\t\t\t\t       enum
      offchannel_send_action_result\n\t\t\t\t       result)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9703,1
    - Dst: hwaddr_aton2
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9706,1
    - Dst: hwaddr_aton2
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9712,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9717,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9720,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9723,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9726,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9729,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9732,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9735,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9740,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9745,1
    - Dst: hexstr2bin
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9749,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9750,1
    - Dst: offchannel_send_action
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9754,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9757,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 46
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9759
      start: 9692
    functionDepth: 3
    functionLinenumber: 9692
    functionLinenumberEnd: 9759
    functionName: wpas_ctrl_iface_mgmt_tx
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - offchannel_send_action
    - hexstr2bin
    - os_malloc
    - os_strstr
    - atoi
    - os_free
    - hwaddr_aton2
    linkageType: ''
    returnType: int
    signature: int wpas_ctrl_iface_mgmt_tx(struct wpa_supplicant *wpa_s, char *cmd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9764,1
    - Dst: offchannel_send_action_done
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9765,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9766
      start: 9762
    functionDepth: 2
    functionLinenumber: 9762
    functionLinenumberEnd: 9766
    functionName: wpas_ctrl_iface_mgmt_tx_done
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - offchannel_send_action_done
    linkageType: ''
    returnType: void
    signature: void wpas_ctrl_iface_mgmt_tx_done(struct wpa_supplicant *wpa_s)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9783,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9786,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9789,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9792,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9795,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9798,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9801,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9804,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9809,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9814,1
    - Dst: hexstr2bin
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9818,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9819,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9823,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9830,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9833,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 46
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9836
      start: 9769
    functionDepth: 1
    functionLinenumber: 9769
    functionLinenumberEnd: 9836
    functionName: wpas_ctrl_iface_mgmt_rx_process
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_supplicant_event
    - wpa_printf
    - hexstr2bin
    - os_malloc
    - os_strstr
    - atoi
    - os_free
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpas_ctrl_iface_mgmt_rx_process(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \  char *cmd)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9850,1
    - Dst: wpa_bss_update_start
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9851,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9855,1
    - Dst: wpa_bss_update_end
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9856,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9860,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9864,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9864,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9868,1
    - Dst: strtol
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9870,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9872,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9873,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9876,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9878,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9880,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9882,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9884,1
    - Dst: strtol
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9886,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9888,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9890,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9892,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9894,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9896,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9898,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9900,1
    - Dst: strtoll
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9902,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9904,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9906,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9908,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9910,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9912,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9914,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9916,1
    - Dst: strtoll
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9918,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9920,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9921,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9924,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9927,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9929,1
    - Dst: hexstr2bin
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9931,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9935,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9938,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9940,1
    - Dst: hexstr2bin
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9942,1
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9947,1
    - Dst: wpa_bss_update_scan_res
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9948,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9951,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 90
    argCount: 2
    argNames:
    - wpa_s
    - param
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9954
      start: 9839
    functionDepth: 1
    functionLinenumber: 9839
    functionLinenumberEnd: 9954
    functionName: wpas_ctrl_iface_driver_scan_res
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - strtol
    - os_get_reltime
    - wpa_bss_update_scan_res
    - hexstr2bin
    - hwaddr_aton
    - os_strncmp
    - wpa_bss_update_end
    - os_strstr
    - os_zalloc
    - wpa_bss_update_start
    - atoi
    - os_strchr
    - os_free
    - strtoll
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: "int wpas_ctrl_iface_driver_scan_res(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \  char *param)"
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9976,1
    - Dst: str_token
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9979,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9980,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9985,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9986,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9987,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9988,1
    - Dst: wpabuf_parse_bin
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9989,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9992,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9993,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9994,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9995,1
    - Dst: wpabuf_parse_bin
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9996,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:9999,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10000,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10001,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10002,1
    - Dst: wpabuf_parse_bin
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10003,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10006,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10007,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10008,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10009,1
    - Dst: wpabuf_parse_bin
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10010,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10013,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10014,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10015,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10016,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10017,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10018,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10019,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10020,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10021,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10022,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10025,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10026,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10027,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10028,1
    - Dst: wpabuf_parse_bin
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10029,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10032,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10033,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10034,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10035,1
    - Dst: wpabuf_parse_bin
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10036,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10039,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10040,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10041,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10042,1
    - Dst: wpabuf_parse_bin
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10043,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10046,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10047,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10048,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10049,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10050,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10051,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10052,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10053,1
    - Dst: wpabuf_parse_bin
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10054,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10057,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10058,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10059,1
    - Dst: hexstr2bin
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10060,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10068,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10071,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10072,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10073,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10074,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10075,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10076,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10077,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10078,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 131
    argCount: 2
    argNames:
    - wpa_s
    - param
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10080
      start: 9957
    functionDepth: 1
    functionLinenumber: 9957
    functionLinenumberEnd: 10080
    functionName: wpas_ctrl_iface_driver_event_assoc
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - str_token
    - wpabuf_len
    - hwaddr_aton
    - hexstr2bin
    - wpabuf_free
    - wpabuf_head
    - atoi
    - os_strchr
    - wpabuf_parse_bin
    - os_strcmp
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpas_ctrl_iface_driver_event_assoc(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \     char *param)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10091,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10094,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10098,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10100,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10102,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10104,1
    - Dst: freq_range_list_parse
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10108,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10110,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10111,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10113,1
    - Dst: wpas_ctrl_iface_driver_scan_res
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10114,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10115,1
    - Dst: wpas_ctrl_iface_driver_event_assoc
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10116,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10118,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10123,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10126
      start: 10083
    functionDepth: 2
    functionLinenumber: 10083
    functionLinenumberEnd: 10126
    functionName: wpas_ctrl_iface_driver_event
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - freq_range_list_parse
    - wpas_ctrl_iface_driver_event_assoc
    - wpas_ctrl_iface_driver_scan_res
    - wpa_dbg
    - os_free
    - os_strchr
    - os_strcmp
    - os_memset
    linkageType: ''
    returnType: int
    signature: int wpas_ctrl_iface_driver_event(struct wpa_supplicant *wpa_s, char
      *cmd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10136,1
    - Dst: hwaddr_aton2
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10139,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10146,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10151,1
    - Dst: hexstr2bin
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10155,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10156,1
    - Dst: wpa_supplicant_rx_eapol
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10160,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10161,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10164
      start: 10129
    functionDepth: 1
    functionLinenumber: 10129
    functionLinenumberEnd: 10164
    functionName: wpas_ctrl_iface_eapol_rx
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - hexstr2bin
    - os_malloc
    - wpa_supplicant_rx_eapol
    - os_free
    - hwaddr_aton2
    linkageType: ''
    returnType: int
    signature: int wpas_ctrl_iface_eapol_rx(struct wpa_supplicant *wpa_s, char *cmd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10175,1
    - Dst: hwaddr_aton2
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10178,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10185,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10190,1
    - Dst: hexstr2bin
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10191,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10192,1
    - Dst: wpa_ether_send
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10198,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10200,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10203
      start: 10167
    functionDepth: 1
    functionLinenumber: 10167
    functionLinenumberEnd: 10203
    functionName: wpas_ctrl_iface_eapol_tx
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - wpa_ether_send
    - hexstr2bin
    - os_malloc
    - os_free
    - hwaddr_aton2
    linkageType: ''
    returnType: int
    signature: int wpas_ctrl_iface_eapol_tx(struct wpa_supplicant *wpa_s, char *cmd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10219
      start: 10206
    functionDepth: 0
    functionLinenumber: 10206
    functionLinenumberEnd: 10219
    functionName: ipv4_hdr_checksum
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u16
    signature: u16 ipv4_hdr_checksum(const void *buf, size_t len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10236,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10243,1
    - Dst: ntohs
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10246,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10247,1
    - Dst: ntohs
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10252,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10254,1
    - Dst: ntohs
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10261,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10262,1
    - Dst: ntohs
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10262,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10263,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10264,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10264,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 4
    argNames:
    - ctx
    - src_addr
    - buf
    - len
    argTypes:
    - void*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10265
      start: 10225
    functionDepth: 1
    functionLinenumber: 10225
    functionLinenumberEnd: 10265
    functionName: wpas_data_test_rx
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_msg
    - os_snprintf
    - MAC2STR
    - ntohs
    linkageType: ''
    returnType: void
    signature: "void wpas_data_test_rx(void *ctx, const u8 *src_addr, const u8 *buf,\n\t\t\t
      \     size_t len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10271,1
    - Dst: l2_packet_deinit
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10277,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10279,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10287,1
    - Dst: l2_packet_init
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10293,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10299,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10302
      start: 10268
    functionDepth: 1
    functionLinenumber: 10268
    functionLinenumberEnd: 10302
    functionName: wpas_ctrl_iface_data_test_config
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - l2_packet_deinit
    - os_strstr
    - wpa_dbg
    - atoi
    - l2_packet_init
    linkageType: ''
    returnType: int
    signature: "int wpas_ctrl_iface_data_test_config(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \   char *cmd)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: hwaddr_aton2
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10325,1
    - Dst: hwaddr_aton2
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10331,1
    - Dst: strtol
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10336,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10341,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10343,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10350,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10351,1
    - Dst: htons
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10352,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10354,1
    - Dst: htons
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10359,1
    - Dst: htonl
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10361,1
    - Dst: htonl
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10362,1
    - Dst: ipv4_hdr_checksum
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10363,1
    - Dst: l2_packet_send
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10368,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10372,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10373,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10373,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10376
      start: 10305
    functionDepth: 1
    functionLinenumber: 10305
    functionLinenumberEnd: 10376
    functionName: wpas_ctrl_iface_data_test_tx
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - strtol
    - os_memcpy
    - htons
    - htonl
    - os_strstr
    - MAC2STR
    - l2_packet_send
    - wpa_dbg
    - atoi
    - hwaddr_aton2
    - ipv4_hdr_checksum
    - os_memset
    linkageType: ''
    returnType: int
    signature: int wpas_ctrl_iface_data_test_tx(struct wpa_supplicant *wpa_s, char
      *cmd)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10389,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10394,1
    - Dst: hexstr2bin
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10398,1
    - Dst: ntohs
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10402,1
    - Dst: l2_packet_init
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10404,1
    - Dst: l2_packet_send
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10409,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10410,1
    - Dst: l2_packet_deinit
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10413,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10414,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10417
      start: 10379
    functionDepth: 1
    functionLinenumber: 10379
    functionLinenumberEnd: 10417
    functionName: wpas_ctrl_iface_data_test_frame
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - hexstr2bin
    - l2_packet_deinit
    - os_malloc
    - l2_packet_send
    - wpa_dbg
    - os_free
    - ntohs
    - l2_packet_init
    linkageType: ''
    returnType: int
    signature: "int wpas_ctrl_iface_data_test_frame(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \  char *cmd)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10425,1
    - Dst: wpa_msg_ctrl
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10428,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10431
      start: 10420
    functionDepth: 0
    functionLinenumber: 10420
    functionLinenumberEnd: 10431
    functionName: wpas_ctrl_event_test_cb
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_msg_ctrl
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void wpas_ctrl_event_test_cb(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10438,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10442,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10444
      start: 10434
    functionDepth: 0
    functionLinenumber: 10434
    functionLinenumberEnd: 10444
    functionName: wpas_ctrl_event_test
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - atoi
    - eloop_register_timeout
    linkageType: ''
    returnType: int
    signature: int wpas_ctrl_event_test(struct wpa_supplicant *wpa_s, const char *cmd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10452,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10460,1
    - Dst: hexstr2bin
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10464,1
    - Dst: wpabuf_put
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10464,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10465,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - val
    - ret
    argTypes:
    - char*
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10472
      start: 10447
    functionDepth: 1
    functionLinenumber: 10447
    functionLinenumberEnd: 10472
    functionName: wpas_get_hex_buf
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpabuf_put
    - hexstr2bin
    - wpabuf_free
    - wpabuf_alloc
    linkageType: ''
    returnType: int
    signature: int wpas_get_hex_buf(const char *val, struct wpabuf **ret)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_get_hex_buf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10480,1
    - Dst: wpa_sm_set_test_assoc_ie
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10482,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10484
      start: 10475
    functionDepth: 2
    functionLinenumber: 10475
    functionLinenumberEnd: 10484
    functionName: wpas_ctrl_test_assoc_ie
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpas_get_hex_buf
    - wpa_sm_set_test_assoc_ie
    linkageType: ''
    returnType: int
    signature: "int wpas_ctrl_test_assoc_ie(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \  const char *cmd)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_get_hex_buf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10492,1
    - Dst: wpa_sm_set_test_eapol_m2_elems
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10494,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10496
      start: 10487
    functionDepth: 2
    functionLinenumber: 10487
    functionLinenumberEnd: 10496
    functionName: wpas_ctrl_test_eapol_m2_elems
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpas_get_hex_buf
    - wpa_sm_set_test_eapol_m2_elems
    linkageType: ''
    returnType: int
    signature: "int wpas_ctrl_test_eapol_m2_elems(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      const char *cmd)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_get_hex_buf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10504,1
    - Dst: wpa_sm_set_test_eapol_m4_elems
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10506,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10508
      start: 10499
    functionDepth: 2
    functionLinenumber: 10499
    functionLinenumberEnd: 10508
    functionName: wpas_ctrl_test_eapol_m4_elems
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpas_get_hex_buf
    - wpa_sm_set_test_eapol_m4_elems
    linkageType: ''
    returnType: int
    signature: "int wpas_ctrl_test_eapol_m4_elems(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      const char *cmd)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10517,1
    - Dst: wpas_get_hex_buf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10522,1
    - Dst: wpas_get_hex_buf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10523,1
    - Dst: wpa_sm_set_test_rsnxe_data
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10524,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10525,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10526,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10531
      start: 10511
    functionDepth: 2
    functionLinenumber: 10511
    functionLinenumberEnd: 10531
    functionName: wpas_ctrl_test_rsnxe_data
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strchr
    - wpabuf_free
    - wpas_get_hex_buf
    - wpa_sm_set_test_rsnxe_data
    linkageType: ''
    returnType: int
    signature: "int wpas_ctrl_test_rsnxe_data(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \    const char *cmd)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10541,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10542,1
    - Dst: wpa_drv_set_key
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10546,1
    - Dst: wpa_drv_set_key
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10553,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10558
      start: 10534
    functionDepth: 1
    functionLinenumber: 10534
    functionLinenumberEnd: 10558
    functionName: wpas_ctrl_reset_pn
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_drv_set_key
    - wpa_printf
    - os_memset
    linkageType: ''
    returnType: int
    signature: int wpas_ctrl_reset_pn(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10566,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10567,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10570,1
    - Dst: wpa_sm_key_request
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10571,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10573
      start: 10561
    functionDepth: 0
    functionLinenumber: 10561
    functionLinenumberEnd: 10573
    functionName: wpas_ctrl_key_request
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - atoi
    - os_strchr
    - wpa_sm_key_request
    linkageType: ''
    returnType: int
    signature: int wpas_ctrl_key_request(struct wpa_supplicant *wpa_s, const char
      *cmd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10582,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10588,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10589,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10601,1
    - Dst: wpa_drv_associate
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10602,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10608
      start: 10576
    functionDepth: 1
    functionLinenumber: 10576
    functionLinenumberEnd: 10608
    functionName: wpas_ctrl_resend_assoc
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_drv_associate
    - wpabuf_len
    - wpabuf_head
    - os_memset
    linkageType: ''
    returnType: int
    signature: int wpas_ctrl_resend_assoc(struct wpa_supplicant *wpa_s)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10627,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10632,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10634,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10634,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10636,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10638,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10638,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10640,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10642,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10642,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10644,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10646,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10646,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10648,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10650,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10650,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10652,1
    - Dst: sscanf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10654,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10654,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10657,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10659,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10659,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10661,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10663,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10663,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10665,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10667,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10667,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10669,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10671,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10671,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10673,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10675,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10675,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10677,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10679,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10679,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10681,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10683,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10683,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10685,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10687,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10687,1
    - Dst: wpas_twt_send_setup
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10689,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10693
      start: 10611
    functionDepth: 2
    functionLinenumber: 10611
    functionLinenumberEnd: 10693
    functionName: wpas_ctrl_iface_send_twt_setup
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - sscanf
    - os_strstr
    - BIT
    - atoi
    - wpas_twt_send_setup
    linkageType: ''
    returnType: int
    signature: "int wpas_ctrl_iface_send_twt_setup(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \ const char *cmd)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10702,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10704,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10704,1
    - Dst: wpas_twt_send_teardown
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10706,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10707
      start: 10696
    functionDepth: 2
    functionLinenumber: 10696
    functionLinenumberEnd: 10707
    functionName: wpas_ctrl_iface_send_twt_teardown
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strstr
    - atoi
    - os_strlen
    - wpas_twt_send_teardown
    linkageType: ''
    returnType: int
    signature: "int wpas_ctrl_iface_send_twt_teardown(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \    const char *cmd)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_sm_get_cached_tk
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10717,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10718,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10720,1
    - Dst: forced_memzero
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10721,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - wpa_s
    - buf
    - buflen
    argTypes:
    - struct wpa_supplicant*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10725
      start: 10710
    functionDepth: 1
    functionLinenumber: 10710
    functionLinenumberEnd: 10725
    functionName: wpas_ctrl_iface_get_tk
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - forced_memzero
    - wpa_snprintf_hex
    - wpa_sm_get_cached_tk
    linkageType: ''
    returnType: int
    signature: "int wpas_ctrl_iface_get_tk(struct wpa_supplicant *wpa_s, char *buf,\n\t\t\t\t
      \ size_t buflen)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10738,1
    - Dst: wpas_vendor_elem
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10741,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10743,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10748,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10755,1
    - Dst: hexstr2bin
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10759,1
    - Dst: wpabuf_put
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10759,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10760,1
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10764,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10764,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10766,1
    - Dst: wpabuf_resize
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10775,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10776,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10780,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10781,1
    - Dst: wpas_vendor_elem_update
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10784,1
    - Dst: wpa_supplicant_set_default_scan_ies
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10788,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10791
      start: 10730
    functionDepth: 3
    functionLinenumber: 10730
    functionLinenumberEnd: 10791
    functionName: wpas_ctrl_vendor_elem_add
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpabuf_put
    - wpa_supplicant_set_default_scan_ies
    - wpabuf_resize
    - wpabuf_head_u8
    - hexstr2bin
    - wpabuf_free
    - wpas_vendor_elem_update
    - wpabuf_alloc
    - wpabuf_put_buf
    - ieee802_11_parse_elems
    - atoi
    - os_strchr
    - wpas_vendor_elem
    linkageType: ''
    returnType: int
    signature: int wpas_ctrl_vendor_elem_add(struct wpa_supplicant *wpa_s, char *cmd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10797,1
    - Dst: wpas_vendor_elem
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10801,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10806,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10807,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10808,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - wpa_s
    - cmd
    - buf
    - buflen
    argTypes:
    - struct wpa_supplicant*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10809
      start: 10794
    functionDepth: 1
    functionLinenumber: 10794
    functionLinenumberEnd: 10809
    functionName: wpas_ctrl_vendor_elem_get
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_snprintf_hex
    - wpabuf_head_u8
    - wpabuf_len
    - atoi
    - wpas_vendor_elem
    linkageType: ''
    returnType: int
    signature: "int wpas_ctrl_vendor_elem_get(struct wpa_supplicant *wpa_s, char *cmd,\n\t\t\t\t
      \    char *buf, size_t buflen)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10821,1
    - Dst: wpas_vendor_elem
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10824,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10826,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10832,1
    - Dst: wpas_vendor_elem_update
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10834,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10841,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10848,1
    - Dst: hexstr2bin
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10852,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10853,1
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10857,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10858,1
    - Dst: wpas_vendor_elem_remove
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10862,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10863,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10865
      start: 10812
    functionDepth: 3
    functionLinenumber: 10812
    functionLinenumberEnd: 10865
    functionName: wpas_ctrl_vendor_elem_remove
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpas_vendor_elem_remove
    - hexstr2bin
    - wpas_vendor_elem_update
    - wpabuf_free
    - os_malloc
    - ieee802_11_parse_elems
    - atoi
    - os_strchr
    - os_free
    - wpas_vendor_elem
    linkageType: ''
    returnType: int
    signature: int wpas_ctrl_vendor_elem_remove(struct wpa_supplicant *wpa_s, char
      *cmd)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10887,1
    - Dst: wpa_msg_ctrl
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10888,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10892,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10893,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10904,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10911,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10940,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10946,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10955,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10958,1
    - Dst: WPA_GET_LE32
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10958,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10969,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 54
    argCount: 2
    argNames:
    - ctx
    - neighbor_rep
    argTypes:
    - void*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10970
      start: 10870
    functionDepth: 1
    functionLinenumber: 10870
    functionLinenumberEnd: 10970
    functionName: wpas_ctrl_neighbor_rep_cb
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_snprintf_hex
    - wpabuf_head_u8
    - wpa_msg
    - wpabuf_len
    - WPA_GET_LE32
    - wpabuf_free
    - wpa_msg_ctrl
    - MAC2STR
    - wpa_dbg
    linkageType: ''
    returnType: void
    signature: void wpas_ctrl_neighbor_rep_cb(void *ctx, struct wpabuf *neighbor_rep)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10980,1
    - Dst: ssid_parse
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10982,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10983,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:10994,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11000,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11003,1
    - Dst: wpas_rrm_send_neighbor_rep_request
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11006,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11011
      start: 10973
    functionDepth: 1
    functionLinenumber: 10973
    functionLinenumberEnd: 11011
    functionName: wpas_ctrl_iface_send_neighbor_rep
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_msg
    - wpas_rrm_send_neighbor_rep_request
    - ssid_parse
    - os_strstr
    - os_strchr
    linkageType: ''
    returnType: int
    signature: "int wpas_ctrl_iface_send_neighbor_rep(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \    char *cmd)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eapol_sm_erp_flush
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11018,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11020
      start: 11016
    functionDepth: 0
    functionLinenumber: 11016
    functionLinenumberEnd: 11020
    functionName: wpas_ctrl_iface_erp_flush
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - eapol_sm_erp_flush
    linkageType: ''
    returnType: int
    signature: int wpas_ctrl_iface_erp_flush(struct wpa_supplicant *wpa_s)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: str_token
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11031,1
    - Dst: os_strcasecmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11032,1
    - Dst: os_strcasecmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11034,1
    - Dst: os_strcasecmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11036,1
    - Dst: os_strcasecmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11038,1
    - Dst: os_strncasecmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11040,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11041,1
    - Dst: os_strncasecmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11042,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11044,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11045,1
    - Dst: os_strncasecmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11050,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11052,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11053,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11059,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11067,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11072,1
    - Dst: wpas_disable_mac_addr_randomization
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11078,1
    - Dst: wpas_enable_mac_addr_randomization
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11080,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11081
      start: 11023
    functionDepth: 5
    functionLinenumber: 11023
    functionLinenumberEnd: 11081
    functionName: wpas_ctrl_iface_mac_rand_scan
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strncasecmp
    - wpa_printf
    - str_token
    - hwaddr_aton
    - os_strcasecmp
    - wpas_enable_mac_addr_randomization
    - wpas_disable_mac_addr_randomization
    - atoi
    linkageType: ''
    returnType: int
    signature: "int wpas_ctrl_iface_mac_rand_scan(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      char *cmd)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_sm_pmksa_cache_list
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11089,1
    - Dst: wpas_ap_pmksa_cache_list
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11091,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - wpa_s
    - buf
    - buflen
    argTypes:
    - struct wpa_supplicant*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11095
      start: 11084
    functionDepth: 1
    functionLinenumber: 11084
    functionLinenumberEnd: 11095
    functionName: wpas_ctrl_iface_pmksa
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpas_ap_pmksa_cache_list
    - wpa_sm_pmksa_cache_list
    linkageType: ''
    returnType: int
    signature: "int wpas_ctrl_iface_pmksa(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      char *buf, size_t buflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ptksa_cache_flush
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11100,1
    - Dst: wpa_sm_pmksa_cache_flush
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11101,1
    - Dst: wpas_ap_pmksa_cache_flush
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11105
      start: 11098
    functionDepth: 1
    functionLinenumber: 11098
    functionLinenumberEnd: 11105
    functionName: wpas_ctrl_iface_pmksa_flush
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpas_ap_pmksa_cache_flush
    - wpa_sm_pmksa_cache_flush
    - ptksa_cache_flush
    linkageType: ''
    returnType: void
    signature: void wpas_ctrl_iface_pmksa_flush(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_p2p_get_pasn_ptk
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11117,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - wpa_s
    - buf
    - buflen
    argTypes:
    - struct wpa_supplicant*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11120
      start: 11111
    functionDepth: 1
    functionLinenumber: 11111
    functionLinenumberEnd: 11120
    functionName: p2p_ctrl_get_pasn_ptk
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_snprintf_hex
    - wpas_p2p_get_pasn_ptk
    linkageType: ''
    returnType: int
    signature: "int p2p_ctrl_get_pasn_ptk(struct wpa_supplicant *wpa_s, char *buf,\n\t\t\t\t
      size_t buflen)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_get_network
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11137,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11137,1
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11144,1
    - Dst: wpa_sm_pmksa_cache_head
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11153,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11159,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11160,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11161,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11165,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11168,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11169,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11173,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11176,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11181,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11186,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11189,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11194,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11195,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 4
    argNames:
    - wpa_s
    - cmd
    - buf
    - buflen
    argTypes:
    - struct wpa_supplicant*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11203
      start: 11128
    functionDepth: 1
    functionLinenumber: 11128
    functionLinenumberEnd: 11203
    functionName: wpas_ctrl_iface_pmksa_get
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_get_reltime
    - wpa_sm_pmksa_cache_head
    - wpa_snprintf_hex
    - os_snprintf
    - MAC2STR
    - atoi
    - wpa_config_get_network
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int wpas_ctrl_iface_pmksa_get(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \    const char *cmd, char *buf, size_t buflen)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_get_network
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11223,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11223,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11227,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11232,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11236,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11239,1
    - Dst: hexstr2bin
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11244,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11247,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11252,1
    - Dst: hexstr2bin
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11257,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11260,1
    - Dst: sscanf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11265,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11271,1
    - Dst: hexstr2bin
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11280,1
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11285,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11290,1
    - Dst: wpa_sm_pmksa_cache_add_entry
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11294,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11298,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 75
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11300
      start: 11206
    functionDepth: 1
    functionLinenumber: 11206
    functionLinenumberEnd: 11300
    functionName: wpas_ctrl_iface_pmksa_add
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_get_reltime
    - os_memcpy
    - hexstr2bin
    - hwaddr_aton
    - sscanf
    - wpa_sm_pmksa_cache_add_entry
    - os_zalloc
    - atoi
    - os_strchr
    - os_free
    - wpa_config_get_network
    linkageType: ''
    returnType: int
    signature: "int wpas_ctrl_iface_pmksa_add(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \    char *cmd)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_strcasecmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11314,1
    - Dst: wpas_ap_pmksa_cache_list_mesh
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11315,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11317,1
    - Dst: wpas_ap_pmksa_cache_list_mesh
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11320,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - wpa_s
    - cmd
    - buf
    - buflen
    argTypes:
    - struct wpa_supplicant*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11321
      start: 11305
    functionDepth: 1
    functionLinenumber: 11305
    functionLinenumberEnd: 11321
    functionName: wpas_ctrl_iface_mesh_pmksa_get
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - hwaddr_aton
    - os_strcasecmp
    - wpas_ap_pmksa_cache_list_mesh
    linkageType: ''
    returnType: int
    signature: "int wpas_ctrl_iface_mesh_pmksa_get(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \ const char *cmd, char *buf,\n\t\t\t\t\t  size_t buflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_ap_pmksa_cache_add_external
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11333
      start: 11324
    functionDepth: 1
    functionLinenumber: 11324
    functionLinenumberEnd: 11333
    functionName: wpas_ctrl_iface_mesh_pmksa_add
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpas_ap_pmksa_cache_add_external
    linkageType: ''
    returnType: int
    signature: "int wpas_ctrl_iface_mesh_pmksa_add(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \ char *cmd)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11348,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11352,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11355,1
    - Dst: wpabuf_parse_bin
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11359,1
    - Dst: dl_list_add_tail
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11363,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11366,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11367,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11369
      start: 11340
    functionDepth: 1
    functionLinenumber: 11340
    functionLinenumberEnd: 11369
    functionName: wpas_ctrl_iface_fils_hlp_req_add
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - dl_list_add_tail
    - hwaddr_aton
    - wpabuf_free
    - os_zalloc
    - os_free
    - os_strchr
    - wpabuf_parse_bin
    linkageType: ''
    returnType: int
    signature: "int wpas_ctrl_iface_fils_hlp_req_add(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \   const char *cmd)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11375,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11376,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11377,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11378,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11379,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11380,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11383
      start: 11373
    functionDepth: 0
    functionLinenumber: 11373
    functionLinenumberEnd: 11383
    functionName: wpas_ctrl_cmd_debug_level
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strcmp
    - os_strncmp
    linkageType: ''
    returnType: int
    signature: int wpas_ctrl_cmd_debug_level(const char *cmd)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11400,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11401,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11403,1
    - Dst: wpas_send_mscs_req
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11406,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11407,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11413,1
    - Dst: hex2byte
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11417,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11422,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11426,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11428,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11432,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11436,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11441,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11443,1
    - Dst: hexstr2bin
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11447,1
    - Dst: wpas_send_mscs_req
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11453,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11454
      start: 11387
    functionDepth: 1
    functionLinenumber: 11387
    functionLinenumberEnd: 11454
    functionName: wpas_ctrl_iface_configure_mscs
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpas_send_mscs_req
    - hex2byte
    - hexstr2bin
    - os_strncmp
    - os_strstr
    - atoi
    - os_strchr
    - os_strcmp
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpas_ctrl_iface_configure_mscs(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \ const char *cmd)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: str_token
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11473,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11474,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11475,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11478,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11481,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11483,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11485,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11489,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11491,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11495,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11497,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11500,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11502,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11504,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11506,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11508,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11509,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11510,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11511,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11512,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11513,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11518,1
    - Dst: hexstr2bin
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11520,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11523,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11531,1
    - Dst: wpas_pasn_auth_start
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11535,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11539,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 76
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11541
      start: 11459
    functionDepth: 6
    functionLinenumber: 11459
    functionLinenumberEnd: 11541
    functionName: wpas_ctrl_iface_pasn_start
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - str_token
    - hexstr2bin
    - hwaddr_aton
    - os_malloc
    - os_strncmp
    - wpas_pasn_auth_start
    - atoi
    - os_free
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: int wpas_ctrl_iface_pasn_start(struct wpa_supplicant *wpa_s, char *cmd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11549,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11549,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11550,1
    - Dst: wpas_pasn_deauthenticate
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11555,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11556
      start: 11544
    functionDepth: 2
    functionLinenumber: 11544
    functionLinenumberEnd: 11556
    functionName: wpas_ctrl_iface_pasn_deauthenticate
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpas_pasn_deauthenticate
    - hwaddr_aton
    - wpa_printf
    - os_strncmp
    linkageType: ''
    returnType: int
    signature: "int wpas_ctrl_iface_pasn_deauthenticate(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \      const char *cmd)"
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11569,1
    - Dst: str_token
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11572,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11573,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11574,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11577,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11579,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11581,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11583,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11585,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11587,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11588,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11589,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11590,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11591,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11592,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11593,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11594,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11595,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11596,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11597,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11598,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11599,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11600,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11601,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11602,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11603,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11605,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11606,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11608,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11609,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11610,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11611,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11613,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11615,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11618,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11619,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11620,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11622,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11624,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11626,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11628,1
    - Dst: atoll
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11629,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11630,1
    - Dst: atoll
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11631,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11632,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11634,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11635,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11639,1
    - Dst: os_strlcpy
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11644,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11647,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11648,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11651,1
    - Dst: hexstr2bin
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11656,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11657,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11663,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11686,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11694,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11699,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11703,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11704,1
    - Dst: wpas_pr_pasn_trigger
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11706,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 127
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11707
      start: 11561
    functionDepth: 1
    functionLinenumber: 11561
    functionLinenumberEnd: 11707
    functionName: wpas_ctrl_iface_pr_pasn_start
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - wpas_pr_pasn_trigger
    - str_token
    - hexstr2bin
    - hwaddr_aton
    - os_strlcpy
    - os_strncmp
    - atoll
    - MAC2STR
    - atoi
    - os_strcmp
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpas_ctrl_iface_pr_pasn_start(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      char *cmd)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: str_token
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11721,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11722,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11727,1
    - Dst: wpabuf_parse_bin
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11728,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11731,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11735,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11740,1
    - Dst: wpabuf_parse_bin
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11741,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11744,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11745,1
    - Dst: wpas_pr_set_dev_ik
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11753,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11756,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11757,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11759
      start: 11710
    functionDepth: 1
    functionLinenumber: 11710
    functionLinenumberEnd: 11759
    functionName: wpas_ctrl_iface_pr_set_dik_ctx
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpabuf_head_u8
    - str_token
    - wpabuf_len
    - os_strncmp
    - wpabuf_clear_free
    - wpabuf_parse_bin
    - os_strcmp
    - wpas_pr_set_dev_ik
    linkageType: ''
    returnType: int
    signature: "int wpas_ctrl_iface_pr_set_dik_ctx(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \ char *cmd)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11776,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11784,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11786,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11792,1
    - Dst: str_token
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11801,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11802,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11803,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11809,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11810,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11816,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11822,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11825,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11827,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11829,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11833,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11835,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11836,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11840,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11842,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11845,1
    - Dst: wpa_parse_cipher
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11846,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11847,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11848,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11849,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11850,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11851,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11852,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11857,1
    - Dst: hexstr2bin
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11859,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11862,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11863,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11867,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11874,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11881,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11882,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 96
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11886
      start: 11765
    functionDepth: 1
    functionLinenumber: 11765
    functionLinenumberEnd: 11886
    functionName: wpas_ctrl_iface_pasn_driver
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_strdup
    - os_memcpy
    - wpa_printf
    - wpa_supplicant_event
    - str_token
    - hexstr2bin
    - hwaddr_aton
    - os_malloc
    - os_strncmp
    - atoi
    - os_strchr
    - os_free
    - os_strcmp
    - wpa_parse_cipher
    - os_memset
    linkageType: ''
    returnType: int
    signature: int wpas_ctrl_iface_pasn_driver(struct wpa_supplicant *wpa_s, char
      *cmd)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11904,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11906,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11909,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11913,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11915,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11918,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11920,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11925,1
    - Dst: inet_pton
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11928,1
    - Dst: inet_pton
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11931,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11935,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11941,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11944,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11947,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11949,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11954,1
    - Dst: inet_pton
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11957,1
    - Dst: inet_pton
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11960,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11964,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11970,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11973,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11974,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11976,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11978,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11979,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11982,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11983,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11985,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11987,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11988,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11991,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11992,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11994,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11996,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:11997,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12001,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12003,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12005,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12007,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12010,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12013,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12016,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12018,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12020,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12022,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12025,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12029,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12032,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12035,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12037,1
    - Dst: hexstr2bin
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12040,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12043,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12047,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 121
    argCount: 2
    argNames:
    - cmd
    - param
    argTypes:
    - char*
    - struct type4_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12053
      start: 11895
    functionDepth: 1
    functionLinenumber: 11895
    functionLinenumberEnd: 12053
    functionName: set_type4_frame_classifier
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - os_memcpy
    - hexstr2bin
    - os_strstr
    - inet_pton
    - BIT
    - atoi
    - os_strchr
    linkageType: ''
    returnType: int
    signature: "int set_type4_frame_classifier(const char *cmd,\n\t\t\t\t      struct
      type4_params *param)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12062,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12064,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12067,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12069,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12071,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12074,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12076,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12078,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12081,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12085,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12087,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12093,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12095,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12098,1
    - Dst: hexstr2bin
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12102,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12103,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12107,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12109,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12115,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12117,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12120,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12126,1
    - Dst: hexstr2bin
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12130,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12131,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12132,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12140,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 75
    argCount: 2
    argNames:
    - cmd
    - param
    argTypes:
    - char*
    - struct type10_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12143
      start: 12056
    functionDepth: 1
    functionLinenumber: 12056
    functionLinenumberEnd: 12143
    functionName: set_type10_frame_classifier
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - hexstr2bin
    - os_malloc
    - os_strstr
    - atoi
    - os_strchr
    - os_free
    linkageType: ''
    returnType: int
    signature: "int set_type10_frame_classifier(const char *cmd,\n\t\t\t\t       struct
      type10_params *param)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: set_type4_frame_classifier
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12150,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12151,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - elem
    - pos
    argTypes:
    - struct tclas_element*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12158
      start: 12146
    functionDepth: 2
    functionLinenumber: 12146
    functionLinenumberEnd: 12158
    functionName: scs_parse_type4
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - set_type4_frame_classifier
    - wpa_printf
    - os_memcpy
    linkageType: ''
    returnType: int
    signature: int scs_parse_type4(struct tclas_element *elem, const char *pos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: set_type10_frame_classifier
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12165,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12166,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - elem
    - pos
    argTypes:
    - struct tclas_element*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12173
      start: 12161
    functionDepth: 2
    functionLinenumber: 12161
    functionLinenumberEnd: 12173
    functionName: scs_parse_type10
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - set_type10_frame_classifier
    - os_memcpy
    linkageType: ''
    returnType: int
    signature: int scs_parse_type10(struct tclas_element *elem, const char *pos)
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12186,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12207,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12209,1
    - Dst: free_up_scs_desc
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12213,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12223,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12226,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12230,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12232,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12233,1
    - Dst: dl_list_for_each
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12241,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12249,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12252,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12256,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12259,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12264,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12267,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12272,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12276,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12278,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12283,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12285,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12294,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12296,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12305,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12307,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12315,1
    - Dst: scs_parse_type4
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12323,1
    - Dst: scs_parse_type10
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12327,1
    - Dst: os_realloc
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12332,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12338,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12347,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12349,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12353,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12355,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12364,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12371,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12374,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12378,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12380,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12384,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12386,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12389,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12391,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12393,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12396,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12400,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12404,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12406,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12409,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12411,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12413,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12416,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12418,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12419,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12420,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12425,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12427,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12431,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12433,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12437,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12439,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12443,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12445,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12449,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12451,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12456,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12458,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12462,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12464,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12468,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12470,1
    - Dst: os_realloc
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12475,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12481,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12486,1
    - Dst: wpas_send_scs_req
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12489,1
    - Dst: free_up_tclas_elem
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12492,1
    - Dst: free_up_scs_desc
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12493,1
    CyclomaticComplexity: 78
    EdgeCount: 78
    ICount: 250
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12495
      start: 12176
    functionDepth: 3
    functionLinenumber: 12176
    functionLinenumberEnd: 12495
    functionName: wpas_ctrl_iface_configure_scs
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - scs_parse_type4
    - wpa_printf
    - os_memcpy
    - wpas_send_scs_req
    - os_realloc
    - os_strstr
    - os_snprintf
    - dl_list_for_each
    - BIT
    - free_up_tclas_elem
    - scs_parse_type10
    - free_up_scs_desc
    - atoi
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpas_ctrl_iface_configure_scs(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      char *cmd)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12511,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12513,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12515,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12521,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12523,1
    - Dst: os_realloc
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12525,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12531,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12533,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12537,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12539,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12545,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12548,1
    - Dst: wpas_send_dscp_response
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12554,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12556,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12558,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 46
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12560
      start: 12498
    functionDepth: 1
    functionLinenumber: 12498
    functionLinenumberEnd: 12560
    functionName: wpas_ctrl_iface_send_dscp_resp
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_realloc
    - os_strstr
    - atoi
    - wpas_send_dscp_response
    - os_free
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpas_ctrl_iface_send_dscp_resp(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \ const char *cmd)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12577,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12578,1
    - Dst: wpas_send_dscp_query
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12579,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12582,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12583,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12584,1
    - Dst: wpas_send_dscp_query
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12588,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12588,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12589
      start: 12563
    functionDepth: 1
    functionLinenumber: 12563
    functionLinenumberEnd: 12589
    functionName: wpas_ctrl_iface_send_dscp_query
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strstr
    - wpas_send_dscp_query
    - wpa_printf
    - os_strlen
    linkageType: ''
    returnType: int
    signature: "int wpas_ctrl_iface_send_dscp_query(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \  const char *cmd)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_mlo_signal_poll
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12604,1
    - Dst: for_each_link
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12611,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12612,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12619,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12624,1
    - Dst: channel_width_to_string
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12625,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12627,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12633,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12635,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12641,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12643,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12649,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12652,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12658,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12661,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 3
    argNames:
    - wpa_s
    - buf
    - buflen
    argTypes:
    - struct wpa_supplicant*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12668
      start: 12594
    functionDepth: 1
    functionLinenumber: 12594
    functionLinenumberEnd: 12668
    functionName: wpas_ctrl_iface_mlo_signal_poll
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - channel_width_to_string
    - for_each_link
    - os_snprintf
    - wpa_drv_mlo_signal_poll
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int wpas_ctrl_iface_mlo_signal_poll(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \  char *buf, size_t buflen)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12679,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12680,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12683,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12688,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12699,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12703,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12704,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12705,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12711,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12717,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12727,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12731,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12732,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12734,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12740,1
    - Dst: wpa_drv_setup_link_reconfig
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12746,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 49
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12747
      start: 12671
    functionDepth: 1
    functionLinenumber: 12671
    functionLinenumberEnd: 12747
    functionName: wpa_supplicant_ctrl_iface_setup_link_reconfig
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - os_strstr
    - BIT
    - wpa_drv_setup_link_reconfig
    - atoi
    - os_strchr
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_ctrl_iface_setup_link_reconfig(struct wpa_supplicant
      *wpa_s,\n\t\t\t\t\t      const char *cmd)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: for_each_link
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12762,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12763,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12767,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12768,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12769,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12774,1
    - Dst: channel_width_to_int
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12781,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12783,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - wpa_s
    - buf
    - buflen
    argTypes:
    - struct wpa_supplicant*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12790
      start: 12750
    functionDepth: 1
    functionLinenumber: 12750
    functionLinenumberEnd: 12790
    functionName: wpas_ctrl_iface_mlo_status
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - for_each_link
    - os_snprintf
    - MAC2STR
    - channel_width_to_int
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int wpas_ctrl_iface_mlo_status(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \     char *buf, size_t buflen)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12802,1
    - Dst: str_token
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12804,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12805,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12806,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12808,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12809,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12810,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12811,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12815,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12816,1
    - Dst: wpa_bss_get_bssid
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12821,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12823,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12824,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12831,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12836,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12848,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12851,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12854,1
    - Dst: wpa_supplicant_req_scan
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12860,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 49
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12863
      start: 12794
    functionDepth: 2
    functionLinenumber: 12794
    functionLinenumberEnd: 12863
    functionName: wpas_ctrl_ml_probe
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_bss_get_bssid
    - str_token
    - wpa_supplicant_req_scan
    - hwaddr_aton
    - is_zero_ether_addr
    - os_malloc
    - os_strncmp
    - MAC2STR
    - BIT
    - atoi
    - os_free
    - os_memset
    linkageType: ''
    returnType: int
    signature: int wpas_ctrl_ml_probe(struct wpa_supplicant *wpa_s, char *cmd)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - cipher_list
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12880
      start: 12869
    functionDepth: 0
    functionLinenumber: 12869
    functionLinenumberEnd: 12880
    functionName: wpas_nan_gtk_cs_supported
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool wpas_nan_gtk_cs_supported(const int *cipher_list)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12900,1
    - Dst: str_token
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12908,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12909,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12914,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12915,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12919,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12920,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12924,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12927,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12928,1
    - Dst: wpas_nan_usd_all_freqs
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12929,1
    - Dst: int_array_add_unique
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12935,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12935,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12936,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12945,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12946,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12950,1
    - Dst: wpabuf_parse_bin
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12953,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12959,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12964,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12969,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12974,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12979,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12984,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12989,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12994,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:12999,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13004,1
    - Dst: strtol
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13005,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13009,1
    - Dst: int_array_add_unique
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13013,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13013,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13014,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13023,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13025,1
    - Dst: hexstr2bin
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13030,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13031,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13040,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13045,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13050,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13051,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13052,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13060,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13066,1
    - Dst: wpas_nan_gtk_cs_supported
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13076,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13077,1
    - Dst: wpas_nan_publish
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13082,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13085,1
    - Dst: forced_memzero
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13088,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13090,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13091,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13092,1
    CyclomaticComplexity: 71
    EdgeCount: 71
    ICount: 157
    argCount: 4
    argNames:
    - wpa_s
    - cmd
    - buf
    - buflen
    argTypes:
    - struct wpa_supplicant*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13094
      start: 12883
    functionDepth: 1
    functionLinenumber: 12883
    functionLinenumberEnd: 13094
    functionName: wpas_ctrl_nan_publish
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - forced_memzero
    - os_snprintf
    - int_array_add_unique
    - wpas_nan_publish
    - atoi
    - wpabuf_parse_bin
    - wpa_printf
    - hwaddr_aton
    - os_free
    - os_strcmp
    - strtol
    - hexstr2bin
    - os_strchr
    - wpas_nan_gtk_cs_supported
    - os_memset
    - str_token
    - wpabuf_free
    - os_strncmp
    - wpas_nan_usd_all_freqs
    linkageType: ''
    returnType: int
    signature: "int wpas_ctrl_nan_publish(struct wpa_supplicant *wpa_s, char *cmd,\n\t\t\t\t
      char *buf, size_t buflen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: str_token
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13103,1
    - Dst: sscanf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13104,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13106,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13113,1
    - Dst: wpas_nan_cancel_publish
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13118,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13120
      start: 13097
    functionDepth: 1
    functionLinenumber: 13097
    functionLinenumberEnd: 13120
    functionName: wpas_ctrl_nan_cancel_publish
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - sscanf
    - wpa_printf
    - str_token
    - wpas_nan_cancel_publish
    linkageType: ''
    returnType: int
    signature: "int wpas_ctrl_nan_cancel_publish(struct wpa_supplicant *wpa_s,\n\t\t\t\t\tchar
      *cmd)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: str_token
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13131,1
    - Dst: sscanf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13132,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13134,1
    - Dst: wpabuf_parse_bin
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13137,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13142,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13149,1
    - Dst: wpas_nan_update_publish
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13154,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13156,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13158
      start: 13123
    functionDepth: 1
    functionLinenumber: 13123
    functionLinenumberEnd: 13158
    functionName: wpas_ctrl_nan_update_publish
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpas_nan_update_publish
    - str_token
    - sscanf
    - wpabuf_free
    - os_strncmp
    - wpabuf_parse_bin
    linkageType: ''
    returnType: int
    signature: "int wpas_ctrl_nan_update_publish(struct wpa_supplicant *wpa_s,\n\t\t\t\t\tchar
      *cmd)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: str_token
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13167,1
    - Dst: sscanf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13168,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13170,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13177,1
    - Dst: wpas_nan_usd_publish_stop_listen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13182,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13183
      start: 13161
    functionDepth: 1
    functionLinenumber: 13161
    functionLinenumberEnd: 13183
    functionName: wpas_ctrl_nan_publish_stop_listen
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - sscanf
    - wpa_printf
    - wpas_nan_usd_publish_stop_listen
    - str_token
    linkageType: ''
    returnType: int
    signature: "int wpas_ctrl_nan_publish_stop_listen(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \    char *cmd)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13200,1
    - Dst: str_token
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13203,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13204,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13209,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13214,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13215,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13219,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13220,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13224,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13227,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13228,1
    - Dst: wpas_nan_usd_all_freqs
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13229,1
    - Dst: int_array_add_unique
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13235,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13235,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13236,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13245,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13246,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13250,1
    - Dst: wpabuf_parse_bin
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13253,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13259,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13264,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13269,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13274,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13279,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13284,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13285,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13289,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13294,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13295,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13299,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13300,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13304,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13309,1
    - Dst: strtol
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13310,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13314,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13315,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13316,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13324,1
    - Dst: wpas_nan_subscribe
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13330,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13334,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13336,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13337,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 115
    argCount: 4
    argNames:
    - wpa_s
    - cmd
    - buf
    - buflen
    argTypes:
    - struct wpa_supplicant*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13339
      start: 13186
    functionDepth: 1
    functionLinenumber: 13186
    functionLinenumberEnd: 13339
    functionName: wpas_ctrl_nan_subscribe
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - strtol
    - wpa_printf
    - str_token
    - hwaddr_aton
    - wpabuf_free
    - wpas_nan_subscribe
    - os_strncmp
    - os_snprintf
    - wpas_nan_usd_all_freqs
    - int_array_add_unique
    - atoi
    - os_strchr
    - os_free
    - wpabuf_parse_bin
    - os_strcmp
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpas_ctrl_nan_subscribe(struct wpa_supplicant *wpa_s, char *cmd,\n\t\t\t\t
      \  char *buf, size_t buflen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: str_token
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13348,1
    - Dst: sscanf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13349,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13351,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13358,1
    - Dst: wpas_nan_cancel_subscribe
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13363,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13365
      start: 13342
    functionDepth: 1
    functionLinenumber: 13342
    functionLinenumberEnd: 13365
    functionName: wpas_ctrl_nan_cancel_subscribe
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - sscanf
    - wpa_printf
    - wpas_nan_cancel_subscribe
    - str_token
    linkageType: ''
    returnType: int
    signature: "int wpas_ctrl_nan_cancel_subscribe(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \ char *cmd)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: str_token
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13374,1
    - Dst: sscanf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13375,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13377,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13384,1
    - Dst: wpas_nan_usd_subscribe_stop_listen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13389,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13390
      start: 13368
    functionDepth: 1
    functionLinenumber: 13368
    functionLinenumberEnd: 13390
    functionName: wpas_ctrl_nan_subscribe_stop_listen
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - sscanf
    - wpa_printf
    - str_token
    - wpas_nan_usd_subscribe_stop_listen
    linkageType: ''
    returnType: int
    signature: "int wpas_ctrl_nan_subscribe_stop_listen(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \      char *cmd)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13404,1
    - Dst: str_token
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13406,1
    - Dst: sscanf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13407,1
    - Dst: sscanf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13410,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13413,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13414,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13419,1
    - Dst: wpabuf_parse_bin
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13422,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13428,1
    - Dst: strtoul
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13429,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13431,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13441,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13448,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13453,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13454,1
    - Dst: wpas_nan_transmit
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13459,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13462,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 51
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13464
      start: 13393
    functionDepth: 1
    functionLinenumber: 13393
    functionLinenumberEnd: 13464
    functionName: wpas_ctrl_nan_transmit
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpas_nan_transmit
    - str_token
    - sscanf
    - hwaddr_aton
    - is_zero_ether_addr
    - wpabuf_free
    - os_strncmp
    - strtoul
    - wpabuf_parse_bin
    - os_memset
    linkageType: ''
    returnType: int
    signature: int wpas_ctrl_nan_transmit(struct wpa_supplicant *wpa_s, char *cmd)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13475,1
    - Dst: str_token
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13477,1
    - Dst: sscanf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13478,1
    - Dst: sscanf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13481,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13485,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13486,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13491,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13498,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13503,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13504,1
    - Dst: wpas_nan_usd_unpause_publish
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:13509,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13511
      start: 13467
    functionDepth: 1
    functionLinenumber: 13467
    functionLinenumberEnd: 13511
    functionName: wpas_ctrl_nan_unpause_publish
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - str_token
    - sscanf
    - hwaddr_aton
    - is_zero_ether_addr
    - os_strncmp
    - wpas_nan_usd_unpause_publish
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpas_ctrl_nan_unpause_publish(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      char *cmd)"
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:14691,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:14693,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:14697,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:14706,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:14715,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:14724,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:14733,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:14742,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:14751,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:14757,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:14762,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:14766,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:14768,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:14770,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:14773,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:14777,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:14787,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:14788,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:14796,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:14804,1
    - Dst: wpa_drv_if_add
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:14808,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:14810,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:14815,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:14817,1
    - Dst: wpa_supplicant_get_iface
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:14820,1
    - Dst: wpa_supplicant_add_iface
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:14823,1
    - Dst: wpa_drv_if_remove
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:14833,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 120
    argCount: 2
    argNames:
    - global
    - cmd
    argTypes:
    - struct wpa_global*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14836
      start: 14676
    functionDepth: 12
    functionLinenumber: 14676
    functionLinenumberEnd: 14836
    functionName: wpa_supplicant_global_iface_add
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_drv_if_add
    - wpa_supplicant_add_iface
    - wpa_drv_if_remove
    - hwaddr_aton
    - MAC2STR
    - os_strchr
    - os_strcmp
    - wpa_supplicant_get_iface
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_global_iface_add(struct wpa_global *global,\n\t\t\t\t\t
      \  char *cmd)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:14846,1
    - Dst: wpa_supplicant_get_iface
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:14848,1
    - Dst: wpa_supplicant_remove_iface
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:14852,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:14854,1
    - Dst: wpa_drv_if_remove
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:14858,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - global
    - cmd
    argTypes:
    - struct wpa_global*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14861
      start: 14839
    functionDepth: 6
    functionLinenumber: 14839
    functionLinenumberEnd: 14861
    functionName: wpa_supplicant_global_iface_remove
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_remove_iface
    - wpa_printf
    - wpa_supplicant_get_iface
    - wpa_drv_if_remove
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_global_iface_remove(struct wpa_global *global,\n\t\t\t\t\t
      \     char *cmd)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:14872,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:14873,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:14874,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct wpa_interface_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14876
      start: 14864
    functionDepth: 0
    functionLinenumber: 14864
    functionLinenumberEnd: 14876
    functionName: wpa_free_iface_info
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_free
    linkageType: ''
    returnType: void
    signature: void wpa_free_iface_info(struct wpa_interface_info *iface)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_driver_ops*::get_interfaces
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:14890,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:14905,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:14908,1
    - Dst: wpa_free_iface_info
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:14915,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 3
    argNames:
    - global
    - buf
    - len
    argTypes:
    - struct wpa_global*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14918
      start: 14879
    functionDepth: 1
    functionLinenumber: 14879
    functionLinenumberEnd: 14918
    functionName: wpa_supplicant_global_iface_list
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - wpa_free_iface_info
    - struct wpa_driver_ops*::get_interfaces
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_global_iface_list(struct wpa_global *global,\n\t\t\t\t\t
      \   char *buf, int len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:14931,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:14939,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:14944,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:14947,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - global
    - input
    - buf
    - len
    argTypes:
    - struct wpa_global*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14955
      start: 14921
    functionDepth: 1
    functionLinenumber: 14921
    functionLinenumberEnd: 14955
    functionName: wpa_supplicant_global_iface_interfaces
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strstr
    - os_snprintf
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_global_iface_interfaces(struct wpa_global *global,\n\t\t\t\t\t\t
      \ const char *input,\n\t\t\t\t\t\t  char *buf, int len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:14965,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:14970,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:14972,1
    - Dst: wpa_supplicant_ctrl_iface_process
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:14978,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 4
    argNames:
    - global
    - ifname
    - cmd
    - resp_len
    argTypes:
    - struct wpa_global*
    - char*
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14979
      start: 14958
    functionDepth: 0
    functionLinenumber: 14958
    functionLinenumberEnd: 14979
    functionName: wpas_global_ctrl_iface_ifname
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strdup
    - os_strlen
    - wpa_supplicant_ctrl_iface_process
    - os_strcmp
    linkageType: ''
    returnType: char
    signature: "char * wpas_global_ctrl_iface_ifname(struct wpa_global *global,\n\t\t\t\t\t
      \   const char *ifname,\n\t\t\t\t\t    char *cmd, size_t *resp_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15056,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15061,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15061,1
    - Dst: wpa_supplicant_ctrl_iface_process
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15066,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - global
    - buf
    - resp_len
    argTypes:
    - struct wpa_global*
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15070
      start: 14982
    functionDepth: 0
    functionLinenumber: 14982
    functionLinenumberEnd: 15070
    functionName: wpas_global_ctrl_iface_redir_p2p
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_supplicant_ctrl_iface_process
    - os_strcmp
    - os_strncmp
    linkageType: ''
    returnType: char
    signature: "char * wpas_global_ctrl_iface_redir_p2p(struct wpa_global *global,\n\t\t\t\t\t
      \      char *buf, size_t *resp_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15079,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15080,1
    - Dst: wpa_supplicant_ctrl_iface_process
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15081,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - global
    - buf
    - resp_len
    argTypes:
    - struct wpa_global*
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15085
      start: 15073
    functionDepth: 0
    functionLinenumber: 15073
    functionLinenumberEnd: 15085
    functionName: wpas_global_ctrl_iface_redir_wfd
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_ctrl_iface_process
    - os_strncmp
    linkageType: ''
    returnType: char
    signature: "char * wpas_global_ctrl_iface_redir_wfd(struct wpa_global *global,\n\t\t\t\t\t
      \      char *buf, size_t *resp_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpas_global_ctrl_iface_redir_p2p
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15093,1
    - Dst: wpas_global_ctrl_iface_redir_wfd
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15097,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - global
    - buf
    - resp_len
    argTypes:
    - struct wpa_global*
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15102
      start: 15088
    functionDepth: 1
    functionLinenumber: 15088
    functionLinenumberEnd: 15102
    functionName: wpas_global_ctrl_iface_redir
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpas_global_ctrl_iface_redir_wfd
    - wpas_global_ctrl_iface_redir_p2p
    linkageType: ''
    returnType: char
    signature: "char * wpas_global_ctrl_iface_redir(struct wpa_global *global,\n\t\t\t\t\t
      \  char *buf, size_t *resp_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15109,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15114,1
    - Dst: os_strcasecmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15117,1
    - Dst: wifi_display_enable
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15118,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - global
    - cmd
    argTypes:
    - struct wpa_global*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15127
      start: 15105
    functionDepth: 1
    functionLinenumber: 15105
    functionLinenumberEnd: 15127
    functionName: wpas_global_ctrl_iface_set
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wifi_display_enable
    - os_strcasecmp
    - atoi
    - os_strchr
    linkageType: ''
    returnType: int
    signature: int wpas_global_ctrl_iface_set(struct wpa_global *global, char *cmd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15140,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15141,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15148,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15153,1
    - Dst: wpa_supplicant_ctrl_iface_dup_network
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15161,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - global
    - cmd
    argTypes:
    - struct wpa_global*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15162
      start: 15130
    functionDepth: 9
    functionLinenumber: 15130
    functionLinenumberEnd: 15162
    functionName: wpas_global_ctrl_iface_dup_network
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_supplicant_ctrl_iface_dup_network
    - os_strchr
    - os_strcmp
    - ARRAY_SIZE
    linkageType: ''
    returnType: int
    signature: "int wpas_global_ctrl_iface_dup_network(struct wpa_global *global,\n\t\t\t\t\t
      \     char *cmd)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15173,1
    - Dst: wpa_config_write
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15177,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15178,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15181,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15187,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - global
    argTypes:
    - struct wpa_global*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15193
      start: 15166
    functionDepth: 1
    functionLinenumber: 15166
    functionLinenumberEnd: 15193
    functionName: wpas_global_ctrl_iface_save_config
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_config_write
    - wpa_dbg
    linkageType: ''
    returnType: int
    signature: int wpas_global_ctrl_iface_save_config(struct wpa_global *global)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15209,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15212,1
    - Dst: p2p_get_state_txt
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15213,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15214,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15218,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15219,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15226,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15228,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15234,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15236,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15237,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - global
    - buf
    - buflen
    argTypes:
    - struct wpa_global*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15243
      start: 15197
    functionDepth: 1
    functionLinenumber: 15197
    functionLinenumberEnd: 15243
    functionName: wpas_global_ctrl_iface_status
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - MAC2STR
    - os_snprintf_error
    - p2p_get_state_txt
    linkageType: ''
    returnType: int
    signature: "int wpas_global_ctrl_iface_status(struct wpa_global *global,\n\t\t\t\t\t
      char *buf, size_t buflen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fst_parse_attach_command
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15257,1
    - Dst: wpa_supplicant_get_iface
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15258,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15261,1
    - Dst: fst_wpa_supplicant_fill_iface_obj
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15264,1
    - Dst: fst_attach
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15265,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15268,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - global
    - cmd
    - buf
    - reply_size
    argTypes:
    - struct wpa_global*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15273
      start: 15248
    functionDepth: 1
    functionLinenumber: 15248
    functionLinenumberEnd: 15273
    functionName: wpas_global_ctrl_iface_fst_attach
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_snprintf
    - fst_wpa_supplicant_fill_iface_obj
    - fst_attach
    - fst_parse_attach_command
    - wpa_supplicant_get_iface
    linkageType: ''
    returnType: int
    signature: "int wpas_global_ctrl_iface_fst_attach(struct wpa_global *global,\n\t\t\t\t\t
      \    char *cmd, char *buf,\n\t\t\t\t\t     size_t reply_size)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fst_parse_detach_command
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15283,1
    - Dst: wpa_supplicant_get_iface
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15284,1
    - Dst: fst_iface_detach
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15286,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15288,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - global
    - cmd
    - buf
    - reply_size
    argTypes:
    - struct wpa_global*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15294
      start: 15276
    functionDepth: 1
    functionLinenumber: 15276
    functionLinenumberEnd: 15294
    functionName: wpas_global_ctrl_iface_fst_detach
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - fst_parse_detach_command
    - fst_iface_detach
    - os_snprintf
    - wpa_supplicant_get_iface
    linkageType: ''
    returnType: int
    signature: "int wpas_global_ctrl_iface_fst_detach(struct wpa_global *global,\n\t\t\t\t\t
      \    char *cmd, char *buf,\n\t\t\t\t\t     size_t reply_size)"
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15307,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15308,1
    - Dst: wpas_global_ctrl_iface_ifname
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15311,1
    - Dst: wpas_global_ctrl_iface_redir
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15317,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15321,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15323,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15324,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15326,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15332,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15335,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15336,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15338,1
    - Dst: wpa_supplicant_global_iface_add
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15339,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15341,1
    - Dst: wpa_supplicant_global_iface_remove
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15342,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15344,1
    - Dst: wpa_supplicant_global_iface_list
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15345,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15347,1
    - Dst: wpa_supplicant_global_iface_interfaces
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15348,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15351,1
    - Dst: wpas_global_ctrl_iface_fst_attach
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15352,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15355,1
    - Dst: wpas_global_ctrl_iface_fst_detach
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15356,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15359,1
    - Dst: fst_ctrl_iface_receive
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15360,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15362,1
    - Dst: wpa_supplicant_terminate_proc
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15363,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15364,1
    - Dst: wpas_notify_suspend
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15365,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15366,1
    - Dst: wpas_notify_resume
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15367,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15368,1
    - Dst: wpas_global_ctrl_iface_set
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15369,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15372,1
    - Dst: wpa_supplicant_ctrl_iface_process
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15375,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15382,1
    - Dst: wpas_global_ctrl_iface_dup_network
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15383,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15386,1
    - Dst: wpas_global_ctrl_iface_save_config
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15387,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15390,1
    - Dst: wpas_global_ctrl_iface_status
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15391,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15394,1
    - Dst: wpas_module_tests
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15395,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15398,1
    - Dst: wpa_debug_reopen_file
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15399,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15401,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15402,1
    - Dst: wpa_trace_set_context
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15403,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15405,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/ctrl_iface.c:15410,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 97
    argCount: 3
    argNames:
    - global
    - buf
    - resp_len
    argTypes:
    - struct wpa_global*
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15416
      start: 15299
    functionDepth: 13
    functionLinenumber: 15299
    functionLinenumberEnd: 15416
    functionName: wpa_supplicant_global_ctrl_iface_process
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpas_global_ctrl_iface_status
    - wpas_global_ctrl_iface_ifname
    - wpas_global_ctrl_iface_set
    - wpa_supplicant_global_iface_list
    - wpa_supplicant_global_iface_remove
    - wpas_notify_suspend
    - wpa_supplicant_terminate_proc
    - wpas_module_tests
    - wpa_hexdump_ascii
    - os_strlen
    - wpa_printf
    - wpas_global_ctrl_iface_fst_detach
    - wpa_trace_set_context
    - wpas_global_ctrl_iface_fst_attach
    - wpas_notify_resume
    - fst_ctrl_iface_receive
    - wpa_supplicant_global_iface_interfaces
    - os_free
    - os_strcmp
    - wpa_supplicant_global_iface_add
    - os_malloc
    - wpas_global_ctrl_iface_dup_network
    - os_strchr
    - wpa_supplicant_ctrl_iface_process
    - wpas_global_ctrl_iface_save_config
    - os_memcpy
    - wpas_global_ctrl_iface_redir
    - wpa_debug_reopen_file
    - os_strncmp
    linkageType: ''
    returnType: char
    signature: "char * wpa_supplicant_global_ctrl_iface_process(struct wpa_global
      *global,\n\t\t\t\t\t\tchar *buf, size_t *resp_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_supplicant_req_sched_scan
      Src: /src/hostap/wpa_supplicant/autoscan.c:35,1
    - Dst: wpa_supplicant_req_scan
      Src: /src/hostap/wpa_supplicant/autoscan.c:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 31
    functionDepth: 4
    functionLinenumber: 31
    functionLinenumberEnd: 37
    functionName: request_scan
    functionSourceFile: /src/hostap/wpa_supplicant/autoscan.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_req_sched_scan
    - wpa_supplicant_req_scan
    linkageType: ''
    returnType: void
    signature: void request_scan(struct wpa_supplicant *wpa_s)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/autoscan.c:51,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/autoscan.c:57,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/autoscan.c:64,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/autoscan.c:67,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/autoscan.c:74,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/autoscan.c:81,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/autoscan.c:86,1
    - Dst: struct autoscan_ops*::init
      Src: /src/hostap/wpa_supplicant/autoscan.c:92,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/autoscan.c:94,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/autoscan.c:100,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/autoscan.c:105,1
    - Dst: wpa_supplicant_cancel_sched_scan
      Src: /src/hostap/wpa_supplicant/autoscan.c:113,1
    - Dst: wpa_supplicant_cancel_scan
      Src: /src/hostap/wpa_supplicant/autoscan.c:114,1
    - Dst: request_scan
      Src: /src/hostap/wpa_supplicant/autoscan.c:119,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 51
    argCount: 2
    argNames:
    - wpa_s
    - req_scan
    argTypes:
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 40
    functionDepth: 5
    functionLinenumber: 40
    functionLinenumberEnd: 122
    functionName: autoscan_init
    functionSourceFile: /src/hostap/wpa_supplicant/autoscan.c
    functionUses: 2
    functionsReached:
    - os_strlen
    - wpa_supplicant_cancel_sched_scan
    - wpa_printf
    - request_scan
    - os_malloc
    - os_strncmp
    - struct autoscan_ops*::init
    - wpa_supplicant_cancel_scan
    - os_free
    - os_strchr
    linkageType: ''
    returnType: int
    signature: int autoscan_init(struct wpa_supplicant *wpa_s, int req_scan)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/autoscan.c:128,1
    - Dst: struct wpa_supplicant*::autoscan::deinit
      Src: /src/hostap/wpa_supplicant/autoscan.c:130,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/autoscan.c:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 140
    functionName: autoscan_deinit
    functionSourceFile: /src/hostap/wpa_supplicant/autoscan.c
    functionUses: 4
    functionsReached:
    - os_free
    - wpa_printf
    - struct wpa_supplicant*::autoscan::deinit
    linkageType: ''
    returnType: void
    signature: void autoscan_deinit(struct wpa_supplicant *wpa_s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::autoscan::notify_scan
      Src: /src/hostap/wpa_supplicant/autoscan.c:149,1
    - Dst: request_scan
      Src: /src/hostap/wpa_supplicant/autoscan.c:158,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - wpa_s
    - scan_res
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_scan_results*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 143
    functionDepth: 5
    functionLinenumber: 143
    functionLinenumberEnd: 162
    functionName: autoscan_notify_scan
    functionSourceFile: /src/hostap/wpa_supplicant/autoscan.c
    functionUses: 0
    functionsReached:
    - request_scan
    - struct wpa_supplicant*::autoscan::notify_scan
    linkageType: ''
    returnType: int
    signature: "int autoscan_notify_scan(struct wpa_supplicant *wpa_s,\n\t\t\t struct
      wpa_scan_results *scan_res)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - external
    argTypes:
    - struct wpa_supplicant*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: sme_get_peer_addr
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 * sme_get_peer_addr(struct wpa_supplicant *wpa_s, bool external)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sme_get_peer_addr
      Src: /src/hostap/wpa_supplicant/sme.c:79,1
    - Dst: wpa_sm_get_pmksa_cache
      Src: /src/hostap/wpa_supplicant/sme.c:83,1
    - Dst: pmksa_cache_get
      Src: /src/hostap/wpa_supplicant/sme.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 91
    functionName: sme_get_ext_auth_pmkid
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 1
    functionsReached:
    - wpa_sm_get_pmksa_cache
    - pmksa_cache_get
    - sme_get_peer_addr
    linkageType: ''
    returnType: u8
    signature: u8 * sme_get_ext_auth_pmkid(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - external
    argTypes:
    - struct wpa_supplicant*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: sme_get_key_mgmt
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int sme_get_key_mgmt(struct wpa_supplicant *wpa_s, bool external)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - external
    argTypes:
    - struct wpa_supplicant*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: sme_get_pairwise_cipher
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int sme_get_pairwise_cipher(struct wpa_supplicant *wpa_s, bool external)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - external
    argTypes:
    - struct wpa_supplicant*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: sme_is_ml_auth
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool sme_is_ml_auth(struct wpa_supplicant *wpa_s, bool external)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - array
    - idx
    argTypes:
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 129
    functionName: index_within_array
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int index_within_array(const int *array, int idx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: index_within_array
      Src: /src/hostap/wpa_supplicant/sme.c:141,1
    - Dst: int_array_includes
      Src: /src/hostap/wpa_supplicant/sme.c:148,1
    - Dst: sae_set_group
      Src: /src/hostap/wpa_supplicant/sme.c:150,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/sme.c:151,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - wpa_s
    - external
    argTypes:
    - struct wpa_supplicant*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 161
    functionName: sme_set_sae_group
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 0
    functionsReached:
    - index_within_array
    - sae_set_group
    - int_array_includes
    - wpa_dbg
    linkageType: ''
    returnType: int
    signature: int sme_set_sae_group(struct wpa_supplicant *wpa_s, bool external)
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/sme.c:185,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:194,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/sme.c:195,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/sme.c:195,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/wpa_supplicant/sme.c:199,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/wpa_supplicant/sme.c:200,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/wpa_supplicant/sme.c:202,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/sme.c:208,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/sme.c:210,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/sme.c:216,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/sme.c:218,1
    - Dst: ext_password_get
      Src: /src/hostap/wpa_supplicant/sme.c:224,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/sme.c:228,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/sme.c:233,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/sme.c:233,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/sme.c:235,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/sme.c:239,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/sme.c:239,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/sme.c:239,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/sme.c:240,1
    - Dst: ext_password_free
      Src: /src/hostap/wpa_supplicant/sme.c:241,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:244,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/sme.c:249,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:250,1
    - Dst: sme_set_sae_group
      Src: /src/hostap/wpa_supplicant/sme.c:256,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:257,1
    - Dst: wpa_bss_get_bssid_latest
      Src: /src/hostap/wpa_supplicant/sme.c:261,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:263,1
    - Dst: wpa_supplicant_update_scan_results
      Src: /src/hostap/wpa_supplicant/sme.c:265,1
    - Dst: wpa_bss_get_bssid_latest
      Src: /src/hostap/wpa_supplicant/sme.c:266,1
    - Dst: wpa_bss_get_rsnxe
      Src: /src/hostap/wpa_supplicant/sme.c:271,1
    - Dst: wpas_get_ssid_sae_pwe
      Src: /src/hostap/wpa_supplicant/sme.c:279,1
    - Dst: wpa_key_mgmt_sae_ext_key
      Src: /src/hostap/wpa_supplicant/sme.c:284,1
    - Dst: is_6ghz_freq
      Src: /src/hostap/wpa_supplicant/sme.c:287,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/sme.c:291,1
    - Dst: sae_pk_valid_password
      Src: /src/hostap/wpa_supplicant/sme.c:294,1
    - Dst: sae_pk_valid_password
      Src: /src/hostap/wpa_supplicant/sme.c:296,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:302,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/sme.c:310,1
    - Dst: wpa_key_mgmt_sae_ext_key
      Src: /src/hostap/wpa_supplicant/sme.c:314,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:317,1
    - Dst: wpa_s_setup_sae_pt
      Src: /src/hostap/wpa_supplicant/sme.c:324,1
    - Dst: sae_prepare_commit_pt
      Src: /src/hostap/wpa_supplicant/sme.c:326,1
    - Dst: sae_prepare_commit
      Src: /src/hostap/wpa_supplicant/sme.c:331,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/sme.c:332,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:334,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/sme.c:338,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/sme.c:342,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/sme.c:344,1
    - Dst: sae_pk_set_password
      Src: /src/hostap/wpa_supplicant/sme.c:345,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/sme.c:350,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/sme.c:352,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/sme.c:353,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/wpa_supplicant/sme.c:357,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/wpa_supplicant/sme.c:359,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/wpa_supplicant/sme.c:361,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/wpa_supplicant/sme.c:363,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/sme.c:367,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/sme.c:368,1
    - Dst: sae_write_commit
      Src: /src/hostap/wpa_supplicant/sme.c:370,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/sme.c:372,1
    - Dst: str_clear_free
      Src: /src/hostap/wpa_supplicant/sme.c:380,1
    - Dst: str_clear_free
      Src: /src/hostap/wpa_supplicant/sme.c:384,1
    CyclomaticComplexity: 84
    EdgeCount: 84
    ICount: 158
    argCount: 8
    argNames:
    - wpa_s
    - ssid
    - bssid
    - mld_addr
    - external
    - reuse
    - ret_use_pt
    - ret_use_pk
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    - u8*
    - u8*
    - int
    - int
    - int*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 164
    functionDepth: 7
    functionLinenumber: 164
    functionLinenumberEnd: 386
    functionName: sme_auth_build_sae_commit
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 0
    functionsReached:
    - wpa_key_mgmt_sae_ext_key
    - is_6ghz_freq
    - wpabuf_alloc
    - BIT
    - wpa_supplicant_update_scan_results
    - os_strlen
    - wpa_printf
    - wpa_bss_get_bssid_latest
    - ether_addr_equal
    - str_clear_free
    - sme_set_sae_group
    - sae_pk_valid_password
    - ext_password_free
    - sae_prepare_commit_pt
    - wpabuf_len
    - os_malloc
    - wpabuf_head
    - ext_password_get
    - wpa_dbg
    - wpa_s_setup_sae_pt
    - os_strdup
    - sae_pk_set_password
    - sae_write_commit
    - sae_prepare_commit
    - os_memcpy
    - wpa_msg
    - wpa_bss_get_rsnxe
    - wpabuf_free
    - wpabuf_put_le16
    - wpabuf_put_buf
    - wpas_get_ssid_sae_pwe
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * sme_auth_build_sae_commit(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t\t
      struct wpa_ssid *ssid,\n\t\t\t\t\t\t const u8 *bssid,\n\t\t\t\t\t\t const u8
      *mld_addr,\n\t\t\t\t\t\t int external,\n\t\t\t\t\t\t int reuse, int *ret_use_pt,\n\t\t\t\t\t\t
      bool *ret_use_pk)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/sme.c:394,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/wpa_supplicant/sme.c:399,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/wpa_supplicant/sme.c:400,1
    - Dst: sae_write_confirm
      Src: /src/hostap/wpa_supplicant/sme.c:402,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - wpa_s
    - external
    argTypes:
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 405
    functionName: sme_auth_build_sae_confirm
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 0
    functionsReached:
    - wpabuf_alloc
    - sae_write_confirm
    - wpabuf_put_le16
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * sme_auth_build_sae_confirm(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t\t
      \ int external)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: crypto_ecdh_deinit
      Src: /src/hostap/wpa_supplicant/sme.c:418,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/wpa_supplicant/sme.c:422,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/sme.c:425,1
    - Dst: eapol_sm_set_eap_over_auth_frame
      Src: /src/hostap/wpa_supplicant/sme.c:429,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 430
    functionName: sme_802_1x_auth_data_free
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 0
    functionsReached:
    - os_free
    - crypto_ecdh_deinit
    - wpabuf_clear_free
    - eapol_sm_set_eap_over_auth_frame
    linkageType: ''
    returnType: void
    signature: void sme_802_1x_auth_data_free(struct wpa_supplicant *wpa_s)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: random_get_bytes
      Src: /src/hostap/wpa_supplicant/sme.c:442,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/sme.c:443,1
    - Dst: crypto_ecdh_init
      Src: /src/hostap/wpa_supplicant/sme.c:450,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/sme.c:452,1
    - Dst: crypto_ecdh_get_pubkey
      Src: /src/hostap/wpa_supplicant/sme.c:457,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/sme.c:459,1
    - Dst: wpa_external_auth_add_rsne
      Src: /src/hostap/wpa_supplicant/sme.c:465,1
    - Dst: sme_get_ext_auth_pmkid
      Src: /src/hostap/wpa_supplicant/sme.c:472,1
    - Dst: wpa_gen_wpa_ie_rsn
      Src: /src/hostap/wpa_supplicant/sme.c:474,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/sme.c:479,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/sme.c:487,1
    - Dst: wpa_gen_rsnxe
      Src: /src/hostap/wpa_supplicant/sme.c:491,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/sme.c:495,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/sme.c:501,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/sme.c:503,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/sme.c:505,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/sme.c:509,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/sme.c:510,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/sme.c:511,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/wpa_supplicant/sme.c:512,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/wpa_supplicant/sme.c:514,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/wpa_supplicant/sme.c:515,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/sme.c:517,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/sme.c:518,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/sme.c:518,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/sme.c:519,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/wpa_supplicant/sme.c:520,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/wpa_supplicant/sme.c:521,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/sme.c:523,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/sme.c:528,1
    - Dst: sme_802_1x_auth_data_free
      Src: /src/hostap/wpa_supplicant/sme.c:529,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 65
    argCount: 2
    argNames:
    - wpa_s
    - external
    argTypes:
    - struct wpa_supplicant*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 433
    functionDepth: 2
    functionLinenumber: 433
    functionLinenumberEnd: 531
    functionName: sme_build_802_1x_for_ptk
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 0
    functionsReached:
    - random_get_bytes
    - wpa_gen_wpa_ie_rsn
    - os_memcpy
    - wpabuf_put_u8
    - wpabuf_put_data
    - wpa_gen_rsnxe
    - wpabuf_len
    - wpa_external_auth_add_rsne
    - wpabuf_free
    - sme_802_1x_auth_data_free
    - sme_get_ext_auth_pmkid
    - wpabuf_put_le16
    - wpabuf_alloc
    - wpabuf_put_buf
    - crypto_ecdh_get_pubkey
    - wpa_dbg
    - crypto_ecdh_init
    linkageType: ''
    returnType: struct wpabuf
    signature: 'struct wpabuf *

      sme_build_802_1x_for_ptk(struct wpa_supplicant *wpa_s, bool external)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sme_get_key_mgmt
      Src: /src/hostap/wpa_supplicant/sme.c:542,1
    - Dst: wpa_key_mgmt_wpa_ieee8021x
      Src: /src/hostap/wpa_supplicant/sme.c:544,1
    - Dst: wpa_akm_to_suite
      Src: /src/hostap/wpa_supplicant/sme.c:545,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/sme.c:548,1
    - Dst: eapol_sm_get_eapol_pdu
      Src: /src/hostap/wpa_supplicant/sme.c:552,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/sme.c:557,1
    - Dst: sme_build_802_1x_for_ptk
      Src: /src/hostap/wpa_supplicant/sme.c:560,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/sme.c:562,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/sme.c:565,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/sme.c:570,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/sme.c:572,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/sme.c:573,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/wpa_supplicant/sme.c:577,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/wpa_supplicant/sme.c:578,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/wpa_supplicant/sme.c:579,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/sme.c:579,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/wpa_supplicant/sme.c:580,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/wpa_supplicant/sme.c:583,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/sme.c:584,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/sme.c:586,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/sme.c:587,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/sme.c:588,1
    - Dst: wpabuf_put_be32
      Src: /src/hostap/wpa_supplicant/sme.c:589,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/sme.c:592,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 3
    argNames:
    - wpa_s
    - ssid
    - external
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 534
    functionDepth: 3
    functionLinenumber: 534
    functionLinenumberEnd: 594
    functionName: sme_build_802_1x_auth_start
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 0
    functionsReached:
    - sme_get_key_mgmt
    - wpabuf_put_u8
    - wpa_akm_to_suite
    - wpabuf_len
    - wpabuf_free
    - eapol_sm_get_eapol_pdu
    - sme_build_802_1x_for_ptk
    - wpabuf_put_le16
    - wpabuf_alloc
    - wpabuf_put_buf
    - wpa_key_mgmt_wpa_ieee8021x
    - wpa_dbg
    - wpabuf_put_be32
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * sme_build_802_1x_auth_start(struct wpa_supplicant
      *wpa_s,\n\t\t\t\t\t\t   struct wpa_ssid *ssid,\n\t\t\t\t\t\t   bool external)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/sme.c:603,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/wpa_supplicant/sme.c:607,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/wpa_supplicant/sme.c:608,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/wpa_supplicant/sme.c:609,1
    - Dst: eapol_sm_get_eapol_pdu
      Src: /src/hostap/wpa_supplicant/sme.c:613,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/sme.c:618,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/sme.c:618,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/sme.c:620,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/wpa_supplicant/sme.c:625,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/wpa_supplicant/sme.c:626,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/wpa_supplicant/sme.c:627,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/sme.c:627,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/wpa_supplicant/sme.c:628,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/sme.c:629,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 597
    functionDepth: 1
    functionLinenumber: 597
    functionLinenumberEnd: 632
    functionName: sme_build_802_1x_auth_continue
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 0
    functionsReached:
    - wpabuf_len
    - wpabuf_free
    - eapol_sm_get_eapol_pdu
    - wpabuf_put_le16
    - wpabuf_alloc
    - wpabuf_put_buf
    linkageType: ''
    returnType: struct wpabuf
    signature: 'struct wpabuf *

      sme_build_802_1x_auth_continue(struct wpa_supplicant *wpa_s)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sme_get_peer_addr
      Src: /src/hostap/wpa_supplicant/sme.c:644,1
    - Dst: sme_get_key_mgmt
      Src: /src/hostap/wpa_supplicant/sme.c:645,1
    - Dst: wpa_bss_get_ie
      Src: /src/hostap/wpa_supplicant/sme.c:647,1
    - Dst: ieee802_11_rsnx_capab
      Src: /src/hostap/wpa_supplicant/sme.c:649,1
    - Dst: pmksa_cache_set_current
      Src: /src/hostap/wpa_supplicant/sme.c:656,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/sme.c:658,1
    - Dst: wpa_sm_set_pmk_from_pmksa
      Src: /src/hostap/wpa_supplicant/sme.c:660,1
    - Dst: pmksa_cache_get_current
      Src: /src/hostap/wpa_supplicant/sme.c:663,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/sme.c:665,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - wpa_s
    - bss
    - ssid
    - external
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_bss*
    - struct wpa_ssid*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 635
    functionDepth: 1
    functionLinenumber: 635
    functionLinenumberEnd: 668
    functionName: sme_check_802_1x_pmksa_caching
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - sme_get_key_mgmt
    - wpa_sm_set_pmk_from_pmksa
    - pmksa_cache_get_current
    - ieee802_11_rsnx_capab
    - pmksa_cache_set_current
    - wpa_dbg
    - wpa_bss_get_ie
    - sme_get_peer_addr
    linkageType: ''
    returnType: void
    signature: "void sme_check_802_1x_pmksa_caching(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \  struct wpa_bss *bss,\n\t\t\t\t\t   struct wpa_ssid *ssid,\n\t\t\t\t\t   bool
      external)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sme_802_1x_auth_data_free
      Src: /src/hostap/wpa_supplicant/sme.c:678,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/sme.c:679,1
    - Dst: sme_check_802_1x_pmksa_caching
      Src: /src/hostap/wpa_supplicant/sme.c:683,1
    - Dst: eapol_sm_set_eap_over_auth_frame
      Src: /src/hostap/wpa_supplicant/sme.c:686,1
    - Dst: eapol_sm_notify_portEnabled
      Src: /src/hostap/wpa_supplicant/sme.c:687,1
    - Dst: sme_build_802_1x_auth_start
      Src: /src/hostap/wpa_supplicant/sme.c:691,1
    - Dst: sme_build_802_1x_auth_continue
      Src: /src/hostap/wpa_supplicant/sme.c:694,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - wpa_s
    - bss
    - ssid
    - start
    - external
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_bss*
    - struct wpa_ssid*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 671
    functionDepth: 4
    functionLinenumber: 671
    functionLinenumberEnd: 695
    functionName: sme_build_802_1x_auth_request
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 0
    functionsReached:
    - sme_build_802_1x_auth_continue
    - sme_build_802_1x_auth_start
    - sme_802_1x_auth_data_free
    - eapol_sm_notify_portEnabled
    - eapol_sm_set_eap_over_auth_frame
    - os_zalloc
    - sme_check_802_1x_pmksa_caching
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf *\nsme_build_802_1x_auth_request(struct wpa_supplicant
      *wpa_s,\n\t\t\t      struct wpa_bss *bss,\n\t\t\t      struct wpa_ssid *ssid,
      bool start,\n\t\t\t      bool external)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:714,1
    - Dst: wpa_bss_get_ie
      Src: /src/hostap/wpa_supplicant/sme.c:718,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:720,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:728,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:735,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:740,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/sme.c:742,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - wpa_s
    - bss
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 705
    functionDepth: 1
    functionLinenumber: 705
    functionLinenumberEnd: 759
    functionName: sme_auth_handle_rrm
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_bss_get_ie
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void sme_auth_handle_rrm(struct wpa_supplicant *wpa_s,\n\t\t\t\tstruct
      wpa_bss *bss)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_bss_parse_reconf_ml_element
      Src: /src/hostap/wpa_supplicant/sme.c:765,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - bss
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 762
    functionDepth: 1
    functionLinenumber: 762
    functionLinenumberEnd: 768
    functionName: wpas_ml_handle_removed_links
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 0
    functionsReached:
    - wpa_bss_parse_reconf_ml_element
    linkageType: ''
    returnType: void
    signature: "void wpas_ml_handle_removed_links(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      struct wpa_bss *bss)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:778,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/sme.c:782,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/sme.c:788,1
    - Dst: for_each_link
      Src: /src/hostap/wpa_supplicant/sme.c:789,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/sme.c:793,1
    - Dst: for_each_link
      Src: /src/hostap/wpa_supplicant/sme.c:820,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:830,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:834,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/sme.c:836,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/sme.c:837,1
    - Dst: wpa_bss_get
      Src: /src/hostap/wpa_supplicant/sme.c:841,1
    - Dst: wpa_bss_get_bssid
      Src: /src/hostap/wpa_supplicant/sme.c:844,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 50
    argCount: 3
    argNames:
    - wpa_s
    - bss
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_bss*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 772
    functionDepth: 1
    functionLinenumber: 772
    functionLinenumberEnd: 848
    functionName: wpas_ml_connect_pref
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_bss_get_bssid
    - is_zero_ether_addr
    - for_each_link
    - ether_addr_equal
    - MAC2STR
    - wpa_bss_get
    linkageType: ''
    returnType: struct wpa_bss
    signature: "struct wpa_bss * wpas_ml_connect_pref(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \    struct wpa_bss *bss,\n\t\t\t\t\t     struct wpa_ssid *ssid)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/wpa_supplicant/sme.c:862,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:865,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:870,1
    - Dst: sme_validate_basic_mle
      Src: /src/hostap/wpa_supplicant/sme.c:881,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - wpa_s
    - data
    - ie_offset
    argTypes:
    - struct wpa_supplicant*
    - union wpa_event_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 852
    functionDepth: 1
    functionLinenumber: 852
    functionLinenumberEnd: 882
    functionName: wpas_sme_ml_auth
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 0
    functionsReached:
    - sme_validate_basic_mle
    - wpa_printf
    - ieee802_11_parse_elems
    linkageType: ''
    returnType: int
    signature: "int wpas_sme_ml_auth(struct wpa_supplicant *wpa_s,\n\t\t\t    union
      wpa_event_data *data,\n\t\t\t    int ie_offset)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpas_reset_mlo_info
      Src: /src/hostap/wpa_supplicant/sme.c:891,1
    - Dst: wpa_bss_get_usable_links
      Src: /src/hostap/wpa_supplicant/sme.c:896,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/sme.c:900,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/sme.c:907,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/sme.c:908,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/sme.c:911,1
    - Dst: wpabuf_dup
      Src: /src/hostap/wpa_supplicant/sme.c:915,1
    - Dst: wpa_bss_get
      Src: /src/hostap/wpa_supplicant/sme.c:921,1
    - Dst: wpa_bss_get_bssid
      Src: /src/hostap/wpa_supplicant/sme.c:925,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - wpa_s
    - bss
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_bss*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 885
    functionDepth: 1
    functionLinenumber: 885
    functionLinenumberEnd: 927
    functionName: wpas_sme_set_mlo_links
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 0
    functionsReached:
    - wpabuf_dup
    - os_memcpy
    - wpa_bss_get_bssid
    - wpabuf_free
    - BIT
    - wpa_bss_get
    - wpas_reset_mlo_info
    - wpa_bss_get_usable_links
    linkageType: ''
    returnType: void
    signature: "void wpas_sme_set_mlo_links(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \  struct wpa_bss *bss, struct wpa_ssid *ssid)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/sme.c:907,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/sme.c:908,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/sme.c:911,1
    - Dst: wpabuf_dup
      Src: /src/hostap/wpa_supplicant/sme.c:915,1
    - Dst: wpa_bss_get
      Src: /src/hostap/wpa_supplicant/sme.c:921,1
    - Dst: wpa_bss_get_bssid
      Src: /src/hostap/wpa_supplicant/sme.c:925,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 904
    functionDepth: 1
    functionLinenumber: 904
    functionLinenumberEnd: 926
    functionName: for_each_link
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 8
    functionsReached:
    - wpabuf_dup
    - os_memcpy
    - wpa_bss_get_bssid
    - wpabuf_free
    - BIT
    - wpa_bss_get
    linkageType: ''
    returnType: void
    signature: void for_each_link(usable_links, i)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/sme.c:944,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/sme.c:946,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/sme.c:946,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - wpa_s
    - buf
    argTypes:
    - struct wpa_supplicant*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 930
    functionDepth: 1
    functionLinenumber: 930
    functionLinenumberEnd: 949
    functionName: sme_add_assoc_req_ie
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 0
    functionsReached:
    - wpabuf_len
    - os_memcpy
    - wpabuf_head
    linkageType: ''
    returnType: void
    signature: "void sme_add_assoc_req_ie(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      const struct wpabuf *buf)"
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: wpas_pasn_get_group
      Src: /src/hostap/wpa_supplicant/sme.c:970,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:972,1
    - Dst: wpa_pasn_reset
      Src: /src/hostap/wpa_supplicant/sme.c:979,1
    - Dst: sae_set_group
      Src: /src/hostap/wpa_supplicant/sme.c:985,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:986,1
    - Dst: wpa_bss_get_ie
      Src: /src/hostap/wpa_supplicant/sme.c:994,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:996,1
    - Dst: wpa_bss_get_ie
      Src: /src/hostap/wpa_supplicant/sme.c:1000,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/sme.c:1005,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/sme.c:1006,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:1009,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/wpa_supplicant/sme.c:1014,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/wpa_supplicant/sme.c:1016,1
    - Dst: wpa_bss_get_rsnxe
      Src: /src/hostap/wpa_supplicant/sme.c:1021,1
    - Dst: ieee802_11_rsnx_capab
      Src: /src/hostap/wpa_supplicant/sme.c:1022,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:1023,1
    - Dst: ieee802_11_rsnx_capab
      Src: /src/hostap/wpa_supplicant/sme.c:1027,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:1029,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:1036,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/sme.c:1041,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/sme.c:1042,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/sme.c:1045,1
    - Dst: wpa_key_mgmt_sae_ext_key
      Src: /src/hostap/wpa_supplicant/sme.c:1051,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/sme.c:1052,1
    - Dst: ieee802_11_rsnx_capab
      Src: /src/hostap/wpa_supplicant/sme.c:1053,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:1054,1
    - Dst: sae_deinit_pt
      Src: /src/hostap/wpa_supplicant/sme.c:1059,1
    - Dst: pasn_set_pt
      Src: /src/hostap/wpa_supplicant/sme.c:1060,1
    - Dst: wpas_pasn_sae_derive_pt_for_eppke
      Src: /src/hostap/wpa_supplicant/sme.c:1060,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:1063,1
    - Dst: BIT_ULL
      Src: /src/hostap/wpa_supplicant/sme.c:1074,1
    - Dst: wpa_sm_set_param
      Src: /src/hostap/wpa_supplicant/sme.c:1075,1
    - Dst: wpa_key_mgmt_eppke
      Src: /src/hostap/wpa_supplicant/sme.c:1079,1
    - Dst: wpa_key_mgmt_only_enhanced_open
      Src: /src/hostap/wpa_supplicant/sme.c:1080,1
    - Dst: ieee802_11_rsnx_capab
      Src: /src/hostap/wpa_supplicant/sme.c:1083,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:1085,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/sme.c:1090,1
    - Dst: ieee802_11_rsnx_capab
      Src: /src/hostap/wpa_supplicant/sme.c:1096,1
    - Dst: pasn_enable_kdk_derivation
      Src: /src/hostap/wpa_supplicant/sme.c:1102,1
    - Dst: pasn_disable_kdk_derivation
      Src: /src/hostap/wpa_supplicant/sme.c:1104,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:1106,1
    - Dst: ieee802_11_rsnx_capab
      Src: /src/hostap/wpa_supplicant/sme.c:1109,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/sme.c:1119,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/sme.c:1121,1
    - Dst: wpa_sm_set_param
      Src: /src/hostap/wpa_supplicant/sme.c:1129,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/sme.c:1131,1
    - Dst: wpa_sm_set_param
      Src: /src/hostap/wpa_supplicant/sme.c:1132,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/sme.c:1135,1
    - Dst: wpa_sm_set_param
      Src: /src/hostap/wpa_supplicant/sme.c:1136,1
    - Dst: wpa_sm_set_param
      Src: /src/hostap/wpa_supplicant/sme.c:1139,1
    - Dst: ieee802_11_rsnx_capab
      Src: /src/hostap/wpa_supplicant/sme.c:1144,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/sme.c:1145,1
    - Dst: pasn_set_rsnxe_caps
      Src: /src/hostap/wpa_supplicant/sme.c:1147,1
    - Dst: pasn_set_initiator_pmksa
      Src: /src/hostap/wpa_supplicant/sme.c:1148,1
    - Dst: wpa_sm_get_pmksa_cache
      Src: /src/hostap/wpa_supplicant/sme.c:1148,1
    - Dst: crypto_ecdh_deinit
      Src: /src/hostap/wpa_supplicant/sme.c:1151,1
    - Dst: crypto_ecdh_init
      Src: /src/hostap/wpa_supplicant/sme.c:1152,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:1154,1
    - Dst: wpa_gen_wpa_ie
      Src: /src/hostap/wpa_supplicant/sme.c:1158,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:1160,1
    - Dst: pasn_set_rsne
      Src: /src/hostap/wpa_supplicant/sme.c:1163,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/sme.c:1164,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/sme.c:1172,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/sme.c:1176,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/sme.c:1178,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/sme.c:1180,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:1182,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/sme.c:1184,1
    - Dst: wpa_pasn_reset
      Src: /src/hostap/wpa_supplicant/sme.c:1190,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 155
    argCount: 3
    argNames:
    - wpa_s
    - bss
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_bss*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1192
      start: 954
    functionDepth: 2
    functionLinenumber: 954
    functionLinenumberEnd: 1192
    functionName: wpas_eppke_initialize
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 0
    functionsReached:
    - wpa_gen_wpa_ie
    - wpa_key_mgmt_sae_ext_key
    - wpa_hexdump
    - wpa_key_mgmt_eppke
    - wpas_pasn_sae_derive_pt_for_eppke
    - wpabuf_alloc
    - BIT
    - crypto_ecdh_init
    - pasn_set_rsne
    - wpa_printf
    - sae_deinit_pt
    - wpabuf_put_data
    - pasn_set_rsnxe_caps
    - wpa_key_mgmt_only_enhanced_open
    - wpas_pasn_get_group
    - pasn_disable_kdk_derivation
    - crypto_ecdh_deinit
    - wpa_sm_set_param
    - pasn_set_initiator_pmksa
    - pasn_set_pt
    - ieee802_11_rsnx_capab
    - BIT_ULL
    - wpa_sm_get_pmksa_cache
    - pasn_enable_kdk_derivation
    - os_memcpy
    - sae_set_group
    - wpa_msg
    - wpa_bss_get_rsnxe
    - wpabuf_free
    - MAC2STR
    - wpa_pasn_reset
    - wpa_bss_get_ie
    linkageType: ''
    returnType: int
    signature: "int wpas_eppke_initialize(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      struct wpa_bss *bss,\n\t\t\t\t struct wpa_ssid *ssid)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpas_connect_work_free
      Src: /src/hostap/wpa_supplicant/sme.c:1976,1
    - Dst: wpas_valid_bss_ssid
      Src: /src/hostap/wpa_supplicant/sme.c:1983,1
    - Dst: wpas_network_disabled
      Src: /src/hostap/wpa_supplicant/sme.c:1984,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/sme.c:1985,1
    - Dst: wpas_connect_work_done
      Src: /src/hostap/wpa_supplicant/sme.c:1986,1
    - Dst: wpa_sm_set_assoc_wpa_ie
      Src: /src/hostap/wpa_supplicant/sme.c:1992,1
    - Dst: wpa_sm_set_assoc_rsnxe
      Src: /src/hostap/wpa_supplicant/sme.c:1993,1
    - Dst: sme_send_authentication
      Src: /src/hostap/wpa_supplicant/sme.c:1996,1
    - Dst: wpas_notify_auth_changed
      Src: /src/hostap/wpa_supplicant/sme.c:1997,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - work
    - deinit
    argTypes:
    - struct wpa_radio_work*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1998
      start: 1962
    functionDepth: 2
    functionLinenumber: 1962
    functionLinenumberEnd: 1998
    functionName: sme_auth_start_cb
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 0
    functionsReached:
    - wpas_notify_auth_changed
    - sme_send_authentication
    - wpas_connect_work_done
    - wpas_valid_bss_ssid
    - wpa_sm_set_assoc_wpa_ie
    - wpa_sm_set_assoc_rsnxe
    - wpa_dbg
    - wpas_network_disabled
    - wpas_connect_work_free
    linkageType: ''
    returnType: void
    signature: void sme_auth_start_cb(struct wpa_radio_work *work, int deinit)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/sme.c:2009,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/sme.c:2014,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/sme.c:2020,1
    - Dst: radio_work_pending
      Src: /src/hostap/wpa_supplicant/sme.c:2025,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/sme.c:2031,1
    - Dst: radio_remove_works
      Src: /src/hostap/wpa_supplicant/sme.c:2033,1
    - Dst: wpas_abort_ongoing_scan
      Src: /src/hostap/wpa_supplicant/sme.c:2036,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/sme.c:2038,1
    - Dst: radio_add_work
      Src: /src/hostap/wpa_supplicant/sme.c:2051,1
    - Dst: wpas_connect_work_free
      Src: /src/hostap/wpa_supplicant/sme.c:2053,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 3
    argNames:
    - wpa_s
    - bss
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_bss*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2054
      start: 2001
    functionDepth: 3
    functionLinenumber: 2001
    functionLinenumberEnd: 2054
    functionName: sme_authenticate
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 1
    functionsReached:
    - radio_work_pending
    - os_zalloc
    - radio_add_work
    - wpa_dbg
    - wpas_connect_work_free
    - radio_remove_works
    - wpas_abort_ongoing_scan
    linkageType: ''
    returnType: void
    signature: "void sme_authenticate(struct wpa_supplicant *wpa_s,\n\t\t      struct
      wpa_bss *bss, struct wpa_ssid *ssid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/sme.c:2064,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/sme.c:2065,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/sme.c:2066,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/sme.c:2069,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/sme.c:2070,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/sme.c:2073,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/wpa_supplicant/sme.c:2074,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - buf
    - mld_addr
    argTypes:
    - struct wpabuf*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2075
      start: 2061
    functionDepth: 1
    functionLinenumber: 2061
    functionLinenumberEnd: 2075
    functionName: wpa_auth_ml_ie
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 0
    functionsReached:
    - wpabuf_put_data
    - wpabuf_put_u8
    linkageType: ''
    returnType: void
    signature: void wpa_auth_ml_ie(struct wpabuf *buf, const u8 *mld_addr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put
      Src: /src/hostap/wpa_supplicant/sme.c:2090,1
    - Dst: host_to_le16
      Src: /src/hostap/wpa_supplicant/sme.c:2093,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/sme.c:2095,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/sme.c:2096,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/sme.c:2097,1
    - Dst: host_to_le16
      Src: /src/hostap/wpa_supplicant/sme.c:2098,1
    - Dst: host_to_le16
      Src: /src/hostap/wpa_supplicant/sme.c:2099,1
    - Dst: host_to_le16
      Src: /src/hostap/wpa_supplicant/sme.c:2100,1
    - Dst: host_to_le16
      Src: /src/hostap/wpa_supplicant/sme.c:2101,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/wpa_supplicant/sme.c:2103,1
    - Dst: wpa_auth_ml_ie
      Src: /src/hostap/wpa_supplicant/sme.c:2106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 8
    argNames:
    - buf
    - params
    - sa
    - da
    - auth_transaction
    - seq_num
    - status_code
    - mld_addr
    argTypes:
    - struct wpabuf*
    - struct wpabuf*
    - u8*
    - u8*
    - u16
    - u16
    - u16
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2109
      start: 2082
    functionDepth: 2
    functionLinenumber: 2082
    functionLinenumberEnd: 2109
    functionName: sme_external_auth_build_buf
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 0
    functionsReached:
    - wpabuf_put
    - os_memcpy
    - wpabuf_put_buf
    - wpa_auth_ml_ie
    - host_to_le16
    linkageType: ''
    returnType: int
    signature: "int sme_external_auth_build_buf(struct wpabuf *buf,\n\t\t\t\t       struct
      wpabuf *params,\n\t\t\t\t       const u8 *sa, const u8 *da,\n\t\t\t\t       u16
      auth_transaction, u16 seq_num,\n\t\t\t\t       u16 status_code, const u8 *mld_addr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sme_auth_build_sae_commit
      Src: /src/hostap/wpa_supplicant/sme.c:2121,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:2126,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/sme.c:2131,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/sme.c:2131,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/sme.c:2135,1
    - Dst: sme_external_auth_build_buf
      Src: /src/hostap/wpa_supplicant/sme.c:2146,1
    - Dst: wpa_drv_send_mlme
      Src: /src/hostap/wpa_supplicant/sme.c:2152,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/sme.c:2152,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/sme.c:2152,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/sme.c:2154,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/sme.c:2155,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 3
    argNames:
    - wpa_s
    - bssid
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2158
      start: 2112
    functionDepth: 8
    functionLinenumber: 2112
    functionLinenumberEnd: 2158
    functionName: sme_external_auth_send_sae_commit
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - sme_auth_build_sae_commit
    - wpabuf_len
    - wpabuf_free
    - wpabuf_head
    - wpabuf_alloc
    - sme_external_auth_build_buf
    - wpa_drv_send_mlme
    linkageType: ''
    returnType: int
    signature: "int sme_external_auth_send_sae_commit(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \    const u8 *bssid,\n\t\t\t\t\t     struct wpa_ssid *ssid)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/sme.c:2168,1
    - Dst: pmksa_cache_get_current
      Src: /src/hostap/wpa_supplicant/sme.c:2183,1
    - Dst: ptksa_cache_get
      Src: /src/hostap/wpa_supplicant/sme.c:2194,1
    - Dst: sme_get_peer_addr
      Src: /src/hostap/wpa_supplicant/sme.c:2195,1
    - Dst: sme_get_pairwise_cipher
      Src: /src/hostap/wpa_supplicant/sme.c:2196,1
    - Dst: pmksa_cache_get_current
      Src: /src/hostap/wpa_supplicant/sme.c:2202,1
    - Dst: wpa_drv_send_external_auth_status
      Src: /src/hostap/wpa_supplicant/sme.c:2209,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 2
    argNames:
    - wpa_s
    - status
    argTypes:
    - struct wpa_supplicant*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2210
      start: 2163
    functionDepth: 1
    functionLinenumber: 2163
    functionLinenumberEnd: 2210
    functionName: sme_send_external_auth_status
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 1
    functionsReached:
    - sme_get_pairwise_cipher
    - pmksa_cache_get_current
    - os_memset
    - wpa_drv_send_external_auth_status
    - ptksa_cache_get
    - sme_get_peer_addr
    linkageType: ''
    returnType: void
    signature: void sme_send_external_auth_status(struct wpa_supplicant *wpa_s, u16
      status)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpas_network_disabled
      Src: /src/hostap/wpa_supplicant/sme.c:2225,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/sme.c:2227,1
    - Dst: wpa_key_mgmt_sae
      Src: /src/hostap/wpa_supplicant/sme.c:2228,1
    - Dst: wpa_s_setup_sae_pt
      Src: /src/hostap/wpa_supplicant/sme.c:2230,1
    - Dst: sme_external_auth_send_sae_commit
      Src: /src/hostap/wpa_supplicant/sme.c:2236,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - wpa_s
    - ext_auth
    argTypes:
    - struct wpa_supplicant*
    - struct external_auth*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2241
      start: 2215
    functionDepth: 9
    functionLinenumber: 2215
    functionLinenumberEnd: 2241
    functionName: sme_handle_external_auth_start
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 0
    functionsReached:
    - wpa_key_mgmt_sae
    - sme_external_auth_send_sae_commit
    - os_memcmp
    - wpas_network_disabled
    - wpa_s_setup_sae_pt
    linkageType: ''
    returnType: int
    signature: "int sme_handle_external_auth_start(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \ struct external_auth *ext_auth)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sme_auth_build_sae_confirm
      Src: /src/hostap/wpa_supplicant/sme.c:2249,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:2251,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/sme.c:2256,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/sme.c:2256,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:2260,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/sme.c:2261,1
    - Dst: sme_external_auth_build_buf
      Src: /src/hostap/wpa_supplicant/sme.c:2265,1
    - Dst: wpa_drv_send_mlme
      Src: /src/hostap/wpa_supplicant/sme.c:2271,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/sme.c:2271,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/sme.c:2271,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/sme.c:2273,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/sme.c:2274,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - wpa_s
    - da
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2275
      start: 2244
    functionDepth: 3
    functionLinenumber: 2244
    functionLinenumberEnd: 2275
    functionName: sme_external_auth_send_sae_confirm
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_len
    - wpabuf_free
    - sme_auth_build_sae_confirm
    - wpabuf_head
    - wpabuf_alloc
    - sme_external_auth_build_buf
    - wpa_drv_send_mlme
    linkageType: ''
    returnType: void
    signature: "void sme_external_auth_send_sae_confirm(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \      const u8 *da)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: RSN_SELECTOR_GET
      Src: /src/hostap/wpa_supplicant/sme.c:2286,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - wpa_s
    - suite
    argTypes:
    - struct wpa_supplicant*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2311
      start: 2278
    functionDepth: 1
    functionLinenumber: 2278
    functionLinenumberEnd: 2311
    functionName: is_sae_key_mgmt_suite
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 0
    functionsReached:
    - RSN_SELECTOR_GET
    linkageType: ''
    returnType: bool
    signature: bool is_sae_key_mgmt_suite(struct wpa_supplicant *wpa_s, u32 suite)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - wpa_s
    - suite
    argTypes:
    - struct wpa_supplicant*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2332
      start: 2318
    functionDepth: 0
    functionLinenumber: 2318
    functionLinenumberEnd: 2332
    functionName: is_eppke_auth_key_mgmt_suite
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool is_eppke_auth_key_mgmt_suite(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      u32 suite)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpas_network_disabled
      Src: /src/hostap/wpa_supplicant/sme.c:2348,1
    - Dst: wpa_key_mgmt_eppke
      Src: /src/hostap/wpa_supplicant/sme.c:2349,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/sme.c:2351,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:2357,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/sme.c:2366,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/sme.c:2369,1
    - Dst: wpas_pasn_get_group
      Src: /src/hostap/wpa_supplicant/sme.c:2372,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:2374,1
    - Dst: sae_set_group
      Src: /src/hostap/wpa_supplicant/sme.c:2381,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:2382,1
    - Dst: wpas_pasn_auth_start
      Src: /src/hostap/wpa_supplicant/sme.c:2387,1
    - Dst: rsn_key_mgmt_to_wpa_akm
      Src: /src/hostap/wpa_supplicant/sme.c:2388,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 2
    argNames:
    - wpa_s
    - ext_auth
    argTypes:
    - struct wpa_supplicant*
    - struct external_auth*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2398
      start: 2335
    functionDepth: 6
    functionLinenumber: 2335
    functionLinenumberEnd: 2398
    functionName: sme_handle_eppke_external_auth_start
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - sae_set_group
    - wpas_pasn_get_group
    - wpa_key_mgmt_eppke
    - rsn_key_mgmt_to_wpa_akm
    - os_memcmp
    - wpas_pasn_auth_start
    - wpas_network_disabled
    linkageType: ''
    returnType: int
    signature: "int sme_handle_eppke_external_auth_start(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t\tstruct
      external_auth *ext_auth)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_bss_get_bssid_latest
      Src: /src/hostap/wpa_supplicant/sme.c:2408,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:2410,1
    - Dst: wpa_supplicant_update_scan_results
      Src: /src/hostap/wpa_supplicant/sme.c:2412,1
    - Dst: wpa_bss_get_bssid_latest
      Src: /src/hostap/wpa_supplicant/sme.c:2413,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - wpa_s
    - bssid
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2416
      start: 2403
    functionDepth: 7
    functionLinenumber: 2403
    functionLinenumberEnd: 2416
    functionName: sme_ext_auth_get_freq
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_supplicant_update_scan_results
    - wpa_bss_get_bssid_latest
    linkageType: ''
    returnType: void
    signature: "void sme_ext_auth_get_freq(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \ const u8 *bssid)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put
      Src: /src/hostap/wpa_supplicant/sme.c:2428,1
    - Dst: host_to_le16
      Src: /src/hostap/wpa_supplicant/sme.c:2429,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/sme.c:2431,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/sme.c:2432,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/sme.c:2433,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/wpa_supplicant/sme.c:2435,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/wpa_supplicant/sme.c:2438,1
    - Dst: wpa_auth_ml_ie
      Src: /src/hostap/wpa_supplicant/sme.c:2441,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - buf
    - params
    - sa
    - da
    - mld_addr
    argTypes:
    - struct wpabuf*
    - struct wpabuf*
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2442
      start: 2421
    functionDepth: 2
    functionLinenumber: 2421
    functionLinenumberEnd: 2442
    functionName: sme_external_auth_build_802_1x_buf
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 0
    functionsReached:
    - wpabuf_put
    - os_memcpy
    - wpabuf_put_le16
    - wpabuf_put_buf
    - wpa_auth_ml_ie
    - host_to_le16
    linkageType: ''
    returnType: void
    signature: "void sme_external_auth_build_802_1x_buf(struct wpabuf *buf,\n\t\t\t\t\t
      \      struct wpabuf *params,\n\t\t\t\t\t       const u8 *sa, const u8 *da,\n\t\t\t\t\t
      \      const u8 *mld_addr)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_bss_get_bssid_latest
      Src: /src/hostap/wpa_supplicant/sme.c:2454,1
    - Dst: sme_build_802_1x_auth_request
      Src: /src/hostap/wpa_supplicant/sme.c:2457,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/sme.c:2462,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/sme.c:2466,1
    - Dst: sme_external_auth_build_802_1x_buf
      Src: /src/hostap/wpa_supplicant/sme.c:2470,1
    - Dst: wpa_drv_send_mlme
      Src: /src/hostap/wpa_supplicant/sme.c:2475,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/sme.c:2475,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/sme.c:2475,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:2477,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/sme.c:2484,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/sme.c:2485,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - wpa_s
    - ssid
    - start
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2487
      start: 2445
    functionDepth: 5
    functionLinenumber: 2445
    functionLinenumberEnd: 2487
    functionName: sme_external_auth_send_802_1x
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_bss_get_bssid_latest
    - wpabuf_len
    - wpabuf_free
    - wpabuf_head
    - wpabuf_alloc
    - sme_external_auth_build_802_1x_buf
    - wpa_drv_send_mlme
    - sme_build_802_1x_auth_request
    linkageType: ''
    returnType: int
    signature: "int sme_external_auth_send_802_1x(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      struct wpa_ssid *ssid, bool start)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpas_network_disabled
      Src: /src/hostap/wpa_supplicant/sme.c:2500,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/sme.c:2502,1
    - Dst: wpa_key_mgmt_wpa_ieee8021x
      Src: /src/hostap/wpa_supplicant/sme.c:2503,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/sme.c:2518,1
    - Dst: sme_external_auth_send_802_1x
      Src: /src/hostap/wpa_supplicant/sme.c:2523,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 2
    argNames:
    - wpa_s
    - ext_auth
    argTypes:
    - struct wpa_supplicant*
    - struct external_auth*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2527
      start: 2490
    functionDepth: 6
    functionLinenumber: 2490
    functionLinenumberEnd: 2527
    functionName: sme_external_auth_start_802_1x
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 0
    functionsReached:
    - sme_external_auth_send_802_1x
    - os_memcpy
    - os_memcmp
    - wpa_key_mgmt_wpa_ieee8021x
    - wpas_network_disabled
    linkageType: ''
    returnType: int
    signature: "int sme_external_auth_start_802_1x(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \ struct external_auth *ext_auth)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/hostap/wpa_supplicant/sme.c:2563,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - wpa_s
    - suite
    argTypes:
    - struct wpa_supplicant*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2571
      start: 2530
    functionDepth: 1
    functionLinenumber: 2530
    functionLinenumberEnd: 2571
    functionName: is_ieee8021x_key_mgmt_suite
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    linkageType: ''
    returnType: bool
    signature: bool is_ieee8021x_key_mgmt_suite(struct wpa_supplicant *wpa_s, u32
      suite)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: is_eppke_auth_key_mgmt_suite
      Src: /src/hostap/wpa_supplicant/sme.c:2582,1
    - Dst: is_ieee8021x_key_mgmt_suite
      Src: /src/hostap/wpa_supplicant/sme.c:2589,1
    - Dst: is_sae_key_mgmt_suite
      Src: /src/hostap/wpa_supplicant/sme.c:2596,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/sme.c:2607,1
    - Dst: sme_ext_auth_get_freq
      Src: /src/hostap/wpa_supplicant/sme.c:2609,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/sme.c:2610,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/sme.c:2615,1
    - Dst: sme_handle_eppke_external_auth_start
      Src: /src/hostap/wpa_supplicant/sme.c:2622,1
    - Dst: sme_send_external_auth_status
      Src: /src/hostap/wpa_supplicant/sme.c:2624,1
    - Dst: sme_external_auth_start_802_1x
      Src: /src/hostap/wpa_supplicant/sme.c:2631,1
    - Dst: sme_send_external_auth_status
      Src: /src/hostap/wpa_supplicant/sme.c:2632,1
    - Dst: sme_handle_external_auth_start
      Src: /src/hostap/wpa_supplicant/sme.c:2642,1
    - Dst: sme_send_external_auth_status
      Src: /src/hostap/wpa_supplicant/sme.c:2643,1
    - Dst: sme_send_external_auth_status
      Src: /src/hostap/wpa_supplicant/sme.c:2648,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 49
    argCount: 2
    argNames:
    - wpa_s
    - ext_auth
    argTypes:
    - struct wpa_supplicant*
    - struct external_auth*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2651
      start: 2576
    functionDepth: 10
    functionLinenumber: 2576
    functionLinenumberEnd: 2651
    functionName: sme_external_auth_trigger
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - sme_send_external_auth_status
    - is_eppke_auth_key_mgmt_suite
    - is_ieee8021x_key_mgmt_suite
    - sme_handle_eppke_external_auth_start
    - sme_external_auth_start_802_1x
    - sme_ext_auth_get_freq
    - is_sae_key_mgmt_suite
    - sme_handle_external_auth_start
    linkageType: ''
    returnType: void
    signature: "void sme_external_auth_trigger(struct wpa_supplicant *wpa_s,\n\t\t\t
      \      struct external_auth *ext_auth)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - wpa_s
    - group
    argTypes:
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2671
      start: 2656
    functionDepth: 0
    functionLinenumber: 2656
    functionLinenumberEnd: 2671
    functionName: sme_sae_is_group_enabled
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int sme_sae_is_group_enabled(struct wpa_supplicant *wpa_s, int group)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/sme.c:2683,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/sme.c:2684,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:2686,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wpa_supplicant/sme.c:2696,1
    - Dst: sme_sae_is_group_enabled
      Src: /src/hostap/wpa_supplicant/sme.c:2698,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:2699,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - wpa_s
    - groups
    argTypes:
    - struct wpa_supplicant*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2706
      start: 2674
    functionDepth: 1
    functionLinenumber: 2674
    functionLinenumberEnd: 2706
    functionName: sme_check_sae_rejected_groups
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_len
    - WPA_GET_LE16
    - wpabuf_head
    - sme_sae_is_group_enabled
    linkageType: ''
    returnType: int
    signature: "int sme_check_sae_rejected_groups(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      const struct wpabuf *groups)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/wpa_supplicant/sme.c:2715,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:2717,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:2722,1
    - Dst: sme_validate_basic_mle
      Src: /src/hostap/wpa_supplicant/sme.c:2733,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 5
    argNames:
    - wpa_s
    - data
    - len
    - ie_offset
    - status_code
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - size_t
    - int
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2734
      start: 2709
    functionDepth: 1
    functionLinenumber: 2709
    functionLinenumberEnd: 2734
    functionName: sme_external_ml_auth
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 0
    functionsReached:
    - sme_validate_basic_mle
    - wpa_printf
    - ieee802_11_parse_elems
    linkageType: ''
    returnType: int
    signature: "int sme_external_ml_auth(struct wpa_supplicant *wpa_s,\n\t\t\t\tconst
      u8 *data, size_t len, int ie_offset,\n\t\t\t\tu16 status_code)"
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/sme.c:2743,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/sme.c:2761,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/sme.c:2764,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wpa_supplicant/sme.c:2768,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/sme.c:2769,1
    - Dst: sae_group_allowed
      Src: /src/hostap/wpa_supplicant/sme.c:2772,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/sme.c:2774,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/sme.c:2779,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/sme.c:2787,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/sme.c:2797,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:2822,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/wpa_supplicant/sme.c:2830,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/sme.c:2832,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/wpa_supplicant/sme.c:2837,1
    - Dst: sme_send_authentication
      Src: /src/hostap/wpa_supplicant/sme.c:2840,1
    - Dst: sme_external_ml_auth
      Src: /src/hostap/wpa_supplicant/sme.c:2844,1
    - Dst: sme_external_auth_send_sae_commit
      Src: /src/hostap/wpa_supplicant/sme.c:2848,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/sme.c:2860,1
    - Dst: int_array_add_unique
      Src: /src/hostap/wpa_supplicant/sme.c:2861,1
    - Dst: sme_set_sae_group
      Src: /src/hostap/wpa_supplicant/sme.c:2864,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/sme.c:2866,1
    - Dst: sme_send_authentication
      Src: /src/hostap/wpa_supplicant/sme.c:2868,1
    - Dst: sme_external_ml_auth
      Src: /src/hostap/wpa_supplicant/sme.c:2872,1
    - Dst: sme_external_auth_send_sae_commit
      Src: /src/hostap/wpa_supplicant/sme.c:2876,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:2890,1
    - Dst: wpabuf_array_remove
      Src: /src/hostap/wpa_supplicant/sme.c:2893,1
    - Dst: wpa_config_write
      Src: /src/hostap/wpa_supplicant/sme.c:2898,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:2899,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/sme.c:2917,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/sme.c:2927,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:2933,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:2938,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:2944,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:2950,1
    - Dst: sae_parse_commit
      Src: /src/hostap/wpa_supplicant/sme.c:2957,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:2963,1
    - Dst: sme_check_sae_rejected_groups
      Src: /src/hostap/wpa_supplicant/sme.c:2971,1
    - Dst: sae_process_commit
      Src: /src/hostap/wpa_supplicant/sme.c:2976,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:2977,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/sme.c:2982,1
    - Dst: sme_send_authentication
      Src: /src/hostap/wpa_supplicant/sme.c:2985,1
    - Dst: sme_external_ml_auth
      Src: /src/hostap/wpa_supplicant/sme.c:2989,1
    - Dst: sme_external_auth_send_sae_confirm
      Src: /src/hostap/wpa_supplicant/sme.c:2993,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/sme.c:2999,1
    - Dst: sae_check_confirm
      Src: /src/hostap/wpa_supplicant/sme.c:3002,1
    - Dst: sme_external_ml_auth
      Src: /src/hostap/wpa_supplicant/sme.c:3006,1
    - Dst: sae_clear_temp_data
      Src: /src/hostap/wpa_supplicant/sme.c:3011,1
    - Dst: wpa_s_clear_sae_rejected
      Src: /src/hostap/wpa_supplicant/sme.c:3012,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/sme.c:3023,1
    - Dst: sme_send_external_auth_status
      Src: /src/hostap/wpa_supplicant/sme.c:3026,1
    CyclomaticComplexity: 85
    EdgeCount: 85
    ICount: 152
    argCount: 8
    argNames:
    - wpa_s
    - auth_transaction
    - status_code
    - data
    - len
    - external
    - sa
    - ie_offset
    argTypes:
    - struct wpa_supplicant*
    - u16
    - u16
    - u8*
    - size_t
    - int
    - u8*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3034
      start: 2737
    functionDepth: 9
    functionLinenumber: 2737
    functionLinenumberEnd: 3034
    functionName: sme_sae_auth
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 0
    functionsReached:
    - wpa_hexdump
    - WPA_GET_LE16
    - int_array_add_unique
    - sme_send_authentication
    - sae_group_allowed
    - sae_check_confirm
    - sae_parse_commit
    - wpa_printf
    - sme_external_auth_send_sae_commit
    - sae_process_commit
    - ether_addr_equal
    - sme_set_sae_group
    - sme_check_sae_rejected_groups
    - wpa_config_write
    - wpabuf_array_remove
    - wpa_hexdump_buf
    - sme_external_ml_auth
    - sae_clear_temp_data
    - sme_send_external_auth_status
    - wpa_s_clear_sae_rejected
    - wpabuf_alloc_copy
    - wpa_dbg
    - wpabuf_free
    - sme_external_auth_send_sae_confirm
    - MAC2STR
    linkageType: ''
    returnType: int
    signature: "int sme_sae_auth(struct wpa_supplicant *wpa_s, u16 auth_transaction,\n\t\t\tu16
      status_code, const u8 *data, size_t len,\n\t\t\tint external, const u8 *sa,
      int *ie_offset)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:3039,1
    - Dst: wpa_sm_set_pmk
      Src: /src/hostap/wpa_supplicant/sme.c:3041,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/sme.c:3050,1
    - Dst: wpa_insert_pmkid
      Src: /src/hostap/wpa_supplicant/sme.c:3054,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/sme.c:3058,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - wpa_s
    - bssid
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3065
      start: 3037
    functionDepth: 1
    functionLinenumber: 3037
    functionLinenumberEnd: 3065
    functionName: sme_sae_set_pmk
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    - wpa_insert_pmkid
    - wpa_msg
    - wpa_sm_set_pmk
    linkageType: ''
    returnType: int
    signature: int sme_sae_set_pmk(struct wpa_supplicant *wpa_s, const u8 *bssid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:3082,1
    - Dst: wpabuf_array_remove
      Src: /src/hostap/wpa_supplicant/sme.c:3085,1
    - Dst: wpa_config_write
      Src: /src/hostap/wpa_supplicant/sme.c:3090,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:3091,1
    - Dst: sme_send_external_auth_status
      Src: /src/hostap/wpa_supplicant/sme.c:3101,1
    - Dst: wpas_connection_failed
      Src: /src/hostap/wpa_supplicant/sme.c:3104,1
    - Dst: wpa_supplicant_set_state
      Src: /src/hostap/wpa_supplicant/sme.c:3105,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - wpa_s
    - external
    argTypes:
    - struct wpa_supplicant*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3107
      start: 3071
    functionDepth: 9
    functionLinenumber: 3071
    functionLinenumberEnd: 3107
    functionName: sme_handle_eppke_unknown_password_id
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - sme_send_external_auth_status
    - wpas_connection_failed
    - wpa_supplicant_set_state
    - wpa_config_write
    - wpabuf_array_remove
    linkageType: ''
    returnType: void
    signature: "void sme_handle_eppke_unknown_password_id(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t\t
      bool external)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: sme_send_external_auth_status
      Src: /src/hostap/wpa_supplicant/sme.c:3122,1
    - Dst: le_to_host16
      Src: /src/hostap/wpa_supplicant/sme.c:3128,1
    - Dst: sme_sae_auth
      Src: /src/hostap/wpa_supplicant/sme.c:3132,1
    - Dst: le_to_host16
      Src: /src/hostap/wpa_supplicant/sme.c:3133,1
    - Dst: le_to_host16
      Src: /src/hostap/wpa_supplicant/sme.c:3134,1
    - Dst: sme_send_external_auth_status
      Src: /src/hostap/wpa_supplicant/sme.c:3139,1
    - Dst: le_to_host16
      Src: /src/hostap/wpa_supplicant/sme.c:3142,1
    - Dst: sme_sae_set_pmk
      Src: /src/hostap/wpa_supplicant/sme.c:3149,1
    - Dst: le_to_host16
      Src: /src/hostap/wpa_supplicant/sme.c:3155,1
    - Dst: le_to_host16
      Src: /src/hostap/wpa_supplicant/sme.c:3157,1
    - Dst: sme_handle_eppke_unknown_password_id
      Src: /src/hostap/wpa_supplicant/sme.c:3165,1
    - Dst: wpas_pasn_auth_rx
      Src: /src/hostap/wpa_supplicant/sme.c:3169,1
    - Dst: sme_send_external_auth_status
      Src: /src/hostap/wpa_supplicant/sme.c:3172,1
    - Dst: le_to_host16
      Src: /src/hostap/wpa_supplicant/sme.c:3181,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/sme.c:3185,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/sme.c:3186,1
    - Dst: le_to_host16
      Src: /src/hostap/wpa_supplicant/sme.c:3187,1
    - Dst: le_to_host16
      Src: /src/hostap/wpa_supplicant/sme.c:3189,1
    - Dst: le_to_host16
      Src: /src/hostap/wpa_supplicant/sme.c:3190,1
    - Dst: sme_process_802_1x_auth_response
      Src: /src/hostap/wpa_supplicant/sme.c:3196,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 3
    argNames:
    - wpa_s
    - auth_frame
    - len
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3201
      start: 3111
    functionDepth: 11
    functionLinenumber: 3111
    functionLinenumberEnd: 3201
    functionName: sme_external_auth_mgmt_rx
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpas_pasn_auth_rx
    - sme_process_802_1x_auth_response
    - sme_send_external_auth_status
    - sme_handle_eppke_unknown_password_id
    - sme_sae_auth
    - sme_sae_set_pmk
    - le_to_host16
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void sme_external_auth_mgmt_rx(struct wpa_supplicant *wpa_s,\n\t\t\t
      \      const u8 *auth_frame, size_t len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:3210,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:3215,1
    - Dst: get_basic_mle_mld_addr
      Src: /src/hostap/wpa_supplicant/sme.c:3219,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:3222,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:3226,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/sme.c:3227,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/sme.c:3229,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:3230,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/sme.c:3232,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - elems
    - addr
    argTypes:
    - struct ieee802_11_elems*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3237
      start: 3204
    functionDepth: 1
    functionLinenumber: 3204
    functionLinenumberEnd: 3237
    functionName: sme_validate_basic_mle
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 2
    functionsReached:
    - get_basic_mle_mld_addr
    - MAC2STR
    - wpa_printf
    - ether_addr_equal
    linkageType: ''
    returnType: int
    signature: "int sme_validate_basic_mle(const struct ieee802_11_elems *elems,\n\t\t\t\t
      \ const u8 *addr)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: sme_get_peer_addr
      Src: /src/hostap/wpa_supplicant/sme.c:3248,1
    - Dst: sme_get_key_mgmt
      Src: /src/hostap/wpa_supplicant/sme.c:3252,1
    - Dst: wpa_bss_get_bssid
      Src: /src/hostap/wpa_supplicant/sme.c:3265,1
    - Dst: wpa_bss_get_bssid
      Src: /src/hostap/wpa_supplicant/sme.c:3267,1
    - Dst: wpa_bss_get_rsne
      Src: /src/hostap/wpa_supplicant/sme.c:3271,1
    - Dst: wpa_bss_get_rsnxe
      Src: /src/hostap/wpa_supplicant/sme.c:3272,1
    - Dst: get_ie
      Src: /src/hostap/wpa_supplicant/sme.c:3279,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/sme.c:3281,1
    - Dst: wpa_key_mgmt_sha384
      Src: /src/hostap/wpa_supplicant/sme.c:3287,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/sme.c:3289,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/sme.c:3299,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/sme.c:3304,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/sme.c:3306,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/sme.c:3308,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/sme.c:3310,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/sme.c:3312,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/sme.c:3318,1
    - Dst: wpa_key_mgmt_sha384
      Src: /src/hostap/wpa_supplicant/sme.c:3321,1
    - Dst: hmac_sha384
      Src: /src/hostap/wpa_supplicant/sme.c:3322,1
    - Dst: hmac_sha256
      Src: /src/hostap/wpa_supplicant/sme.c:3326,1
    - Dst: os_memcmp_const
      Src: /src/hostap/wpa_supplicant/sme.c:3332,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/sme.c:3333,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:3338,1
    - Dst: bin_clear_free
      Src: /src/hostap/wpa_supplicant/sme.c:3342,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 63
    argCount: 5
    argNames:
    - wpa_s
    - frame_data
    - frame_data_len
    - ptk
    - external
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - size_t
    - struct wpa_ptk*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3344
      start: 3242
    functionDepth: 1
    functionLinenumber: 3242
    functionLinenumberEnd: 3344
    functionName: sme_validate_802_1x_auth_mic
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_printf
    - wpa_bss_get_bssid
    - sme_get_key_mgmt
    - wpa_msg
    - hmac_sha256
    - wpa_bss_get_rsnxe
    - os_memset
    - wpa_key_mgmt_sha384
    - os_malloc
    - bin_clear_free
    - wpa_bss_get_rsne
    - get_ie
    - os_memcmp_const
    - hmac_sha384
    - sme_get_peer_addr
    linkageType: ''
    returnType: int
    signature: "int sme_validate_802_1x_auth_mic(struct wpa_supplicant *wpa_s,\n\t\t\t\t\tconst
      u8 *frame_data,\n\t\t\t\t\tsize_t frame_data_len,\n\t\t\t\t\tconst struct wpa_ptk
      *ptk,\n\t\t\t\t\tbool external)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/sme.c:3356,1
    - Dst: wpa_parse_wpa_ie
      Src: /src/hostap/wpa_supplicant/sme.c:3362,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/sme.c:3364,1
    - Dst: wpa_compare_rsne_params
      Src: /src/hostap/wpa_supplicant/sme.c:3369,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/sme.c:3373,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/sme.c:3380,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/sme.c:3386,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/sme.c:3392,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/sme.c:3394,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/sme.c:3400,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/sme.c:3407,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wpa_supplicant/sme.c:3413,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/sme.c:3415,1
    - Dst: crypto_ecdh_set_peerkey
      Src: /src/hostap/wpa_supplicant/sme.c:3422,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/sme.c:3426,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/sme.c:3431,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 3
    argNames:
    - wpa_s
    - elems
    - pdu
    argTypes:
    - struct wpa_supplicant*
    - struct ieee802_11_elems*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3434
      start: 3347
    functionDepth: 1
    functionLinenumber: 3347
    functionLinenumberEnd: 3434
    functionName: sme_validate_8021x_auth_elems
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_msg
    - WPA_GET_LE16
    - crypto_ecdh_set_peerkey
    - wpa_parse_wpa_ie
    - wpa_compare_rsne_params
    - os_memcmp
    linkageType: ''
    returnType: int
    signature: "int sme_validate_8021x_auth_elems(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      const struct ieee802_11_elems *elems,\n\t\t\t\t\t struct wpabuf *pdu)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ptksa_cache_get
      Src: /src/hostap/wpa_supplicant/sme.c:3450,1
    - Dst: get_ie
      Src: /src/hostap/wpa_supplicant/sme.c:3454,1
    - Dst: get_ie
      Src: /src/hostap/wpa_supplicant/sme.c:3456,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/sme.c:3464,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/wpa_supplicant/sme.c:3469,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/wpa_supplicant/sme.c:3470,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/wpa_supplicant/sme.c:3471,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/wpa_supplicant/sme.c:3472,1
    - Dst: wpa_key_mgmt_sha384
      Src: /src/hostap/wpa_supplicant/sme.c:3474,1
    - Dst: hmac_sha384
      Src: /src/hostap/wpa_supplicant/sme.c:3476,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/sme.c:3477,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/sme.c:3477,1
    - Dst: hmac_sha256
      Src: /src/hostap/wpa_supplicant/sme.c:3481,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/sme.c:3482,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/sme.c:3482,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/sme.c:3494,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/sme.c:3499,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 2
    argNames:
    - wpa_s
    - aa
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3501
      start: 3437
    functionDepth: 1
    functionLinenumber: 3437
    functionLinenumberEnd: 3501
    functionName: sme_add_802_1x_mic_in_assoc
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpabuf_put_data
    - hmac_sha256
    - wpabuf_len
    - wpa_key_mgmt_sha384
    - wpabuf_free
    - wpabuf_head
    - get_ie
    - wpabuf_alloc
    - hmac_sha384
    - ptksa_cache_get
    linkageType: ''
    returnType: int
    signature: "int sme_add_802_1x_mic_in_assoc(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \      const u8 *aa)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/sme.c:3515,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wpa_supplicant/sme.c:3520,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/sme.c:3525,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/wpa_supplicant/sme.c:3530,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/sme.c:3532,1
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/wpa_supplicant/sme.c:3540,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/sme.c:3541,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/sme.c:3543,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 5
    argNames:
    - wpa_s
    - ies
    - ies_len
    - elems
    - pdu
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - size_t
    - struct ieee802_11_elems*
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3549
      start: 3504
    functionDepth: 1
    functionLinenumber: 3504
    functionLinenumberEnd: 3549
    functionName: sme_parse_802_1x_auth_frame
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 0
    functionsReached:
    - wpa_msg
    - wpabuf_free
    - wpabuf_alloc_copy
    - WPA_GET_LE16
    - ieee802_11_parse_elems
    linkageType: ''
    returnType: int
    signature: "int sme_parse_802_1x_auth_frame(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \      const u8 *ies, size_t ies_len,\n\t\t\t\t       struct ieee802_11_elems
      *elems,\n\t\t\t\t       struct wpabuf **pdu)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_bss_get_ie
      Src: /src/hostap/wpa_supplicant/sme.c:3560,1
    - Dst: ieee802_11_rsnx_capab
      Src: /src/hostap/wpa_supplicant/sme.c:3562,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3566
      start: 3552
    functionDepth: 1
    functionLinenumber: 3552
    functionLinenumberEnd: 3566
    functionName: wpas_get_kdk_len
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 0
    functionsReached:
    - ieee802_11_rsnx_capab
    - wpa_bss_get_ie
    linkageType: ''
    returnType: size_t
    signature: size_t wpas_get_kdk_len(struct wpa_supplicant *wpa_s)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: sme_get_peer_addr
      Src: /src/hostap/wpa_supplicant/sme.c:3576,1
    - Dst: sme_get_key_mgmt
      Src: /src/hostap/wpa_supplicant/sme.c:3577,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/sme.c:3580,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/sme.c:3587,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/sme.c:3594,1
    - Dst: sme_parse_802_1x_auth_frame
      Src: /src/hostap/wpa_supplicant/sme.c:3603,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/sme.c:3605,1
    - Dst: sme_is_ml_auth
      Src: /src/hostap/wpa_supplicant/sme.c:3610,1
    - Dst: sme_validate_basic_mle
      Src: /src/hostap/wpa_supplicant/sme.c:3611,1
    - Dst: sme_validate_8021x_auth_elems
      Src: /src/hostap/wpa_supplicant/sme.c:3618,1
    - Dst: eapol_sm_set_eap_over_auth_frame
      Src: /src/hostap/wpa_supplicant/sme.c:3628,1
    - Dst: eapol_sm_notify_portEnabled
      Src: /src/hostap/wpa_supplicant/sme.c:3630,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/wpa_supplicant/sme.c:3635,1
    - Dst: wpa_akm_to_suite
      Src: /src/hostap/wpa_supplicant/sme.c:3636,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/sme.c:3637,1
    - Dst: sme_external_auth_send_802_1x
      Src: /src/hostap/wpa_supplicant/sme.c:3641,1
    - Dst: sme_send_authentication
      Src: /src/hostap/wpa_supplicant/sme.c:3645,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/sme.c:3653,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/sme.c:3661,1
    - Dst: eapol_sm_rx_eapol
      Src: /src/hostap/wpa_supplicant/sme.c:3666,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/sme.c:3667,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/sme.c:3667,1
    - Dst: eapol_sm_get_failure
      Src: /src/hostap/wpa_supplicant/sme.c:3670,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/sme.c:3671,1
    - Dst: eapol_sm_get_success
      Src: /src/hostap/wpa_supplicant/sme.c:3676,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/sme.c:3678,1
    - Dst: sme_get_pairwise_cipher
      Src: /src/hostap/wpa_supplicant/sme.c:3695,1
    - Dst: wpa_sm_get_pmk
      Src: /src/hostap/wpa_supplicant/sme.c:3697,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/sme.c:3702,1
    - Dst: wpas_get_kdk_len
      Src: /src/hostap/wpa_supplicant/sme.c:3707,1
    - Dst: wpa_auth_802_1x_pmk_to_ptk
      Src: /src/hostap/wpa_supplicant/sme.c:3710,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/sme.c:3715,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/sme.c:3716,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/sme.c:3718,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/wpa_supplicant/sme.c:3724,1
    - Dst: sme_validate_802_1x_auth_mic
      Src: /src/hostap/wpa_supplicant/sme.c:3727,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/sme.c:3731,1
    - Dst: forced_memzero
      Src: /src/hostap/wpa_supplicant/sme.c:3733,1
    - Dst: wpa_cipher_to_alg
      Src: /src/hostap/wpa_supplicant/sme.c:3737,1
    - Dst: wpa_drv_set_key
      Src: /src/hostap/wpa_supplicant/sme.c:3738,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/sme.c:3742,1
    - Dst: forced_memzero
      Src: /src/hostap/wpa_supplicant/sme.c:3744,1
    - Dst: ptksa_cache_add
      Src: /src/hostap/wpa_supplicant/sme.c:3748,1
    - Dst: forced_memzero
      Src: /src/hostap/wpa_supplicant/sme.c:3754,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/sme.c:3757,1
    - Dst: eapol_sm_set_eap_over_auth_frame
      Src: /src/hostap/wpa_supplicant/sme.c:3760,1
    - Dst: sme_send_external_auth_status
      Src: /src/hostap/wpa_supplicant/sme.c:3763,1
    - Dst: sme_802_1x_auth_data_free
      Src: /src/hostap/wpa_supplicant/sme.c:3765,1
    - Dst: sme_associate
      Src: /src/hostap/wpa_supplicant/sme.c:3768,1
    - Dst: sme_802_1x_auth_data_free
      Src: /src/hostap/wpa_supplicant/sme.c:3770,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:3775,1
    - Dst: sme_external_auth_send_802_1x
      Src: /src/hostap/wpa_supplicant/sme.c:3778,1
    - Dst: sme_send_authentication
      Src: /src/hostap/wpa_supplicant/sme.c:3782,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/sme.c:3788,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/sme.c:3792,1
    - Dst: sme_802_1x_auth_data_free
      Src: /src/hostap/wpa_supplicant/sme.c:3795,1
    - Dst: sme_send_external_auth_status
      Src: /src/hostap/wpa_supplicant/sme.c:3797,1
    - Dst: wpas_connection_failed
      Src: /src/hostap/wpa_supplicant/sme.c:3800,1
    - Dst: wpa_supplicant_set_state
      Src: /src/hostap/wpa_supplicant/sme.c:3802,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 145
    argCount: 3
    argNames:
    - wpa_s
    - auth
    - external
    argTypes:
    - struct wpa_supplicant*
    - struct auth_info*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3805
      start: 3569
    functionDepth: 9
    functionLinenumber: 3569
    functionLinenumberEnd: 3805
    functionName: sme_process_802_1x_auth_response
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 1
    functionsReached:
    - sme_validate_8021x_auth_elems
    - forced_memzero
    - sme_802_1x_auth_data_free
    - sme_send_authentication
    - wpa_auth_802_1x_pmk_to_ptk
    - ptksa_cache_add
    - sme_associate
    - sme_get_peer_addr
    - sme_get_pairwise_cipher
    - wpa_printf
    - wpa_akm_to_suite
    - eapol_sm_notify_portEnabled
    - wpa_sm_get_pmk
    - eapol_sm_get_failure
    - wpabuf_clear_free
    - eapol_sm_rx_eapol
    - sme_is_ml_auth
    - sme_external_auth_send_802_1x
    - wpas_get_kdk_len
    - sme_get_key_mgmt
    - sme_send_external_auth_status
    - sme_parse_802_1x_auth_frame
    - wpabuf_len
    - wpas_connection_failed
    - wpabuf_head
    - sme_validate_basic_mle
    - sme_validate_802_1x_auth_mic
    - eapol_sm_get_success
    - wpa_msg
    - wpabuf_free
    - eapol_sm_set_eap_over_auth_frame
    - wpa_supplicant_set_state
    - wpa_drv_set_key
    - WPA_GET_BE32
    - wpa_cipher_to_alg
    linkageType: ''
    returnType: void
    signature: "void sme_process_802_1x_auth_response(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \    struct auth_info *auth,\n\t\t\t\t\t     bool external)"
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/sme.c:3816,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/sme.c:3822,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/sme.c:3827,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/sme.c:3829,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/sme.c:3830,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/sme.c:3832,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/sme.c:3836,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/sme.c:3838,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/sme.c:3840,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/sme.c:3843,1
    - Dst: sme_process_802_1x_auth_response
      Src: /src/hostap/wpa_supplicant/sme.c:3847,1
    - Dst: sme_handle_eppke_unknown_password_id
      Src: /src/hostap/wpa_supplicant/sme.c:3867,1
    - Dst: wpas_parse_pasn_frame
      Src: /src/hostap/wpa_supplicant/sme.c:3871,1
    - Dst: wpas_connection_failed
      Src: /src/hostap/wpa_supplicant/sme.c:3877,1
    - Dst: wpa_supplicant_set_state
      Src: /src/hostap/wpa_supplicant/sme.c:3879,1
    - Dst: wpa_bss_get_bssid_latest
      Src: /src/hostap/wpa_supplicant/sme.c:3896,1
    - Dst: wpas_connection_failed
      Src: /src/hostap/wpa_supplicant/sme.c:3899,1
    - Dst: wpa_supplicant_mark_disassoc
      Src: /src/hostap/wpa_supplicant/sme.c:3902,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:3907,1
    - Dst: wpas_connect_work_done
      Src: /src/hostap/wpa_supplicant/sme.c:3910,1
    - Dst: wpa_supplicant_mark_disassoc
      Src: /src/hostap/wpa_supplicant/sme.c:3911,1
    - Dst: wpa_supplicant_connect
      Src: /src/hostap/wpa_supplicant/sme.c:3912,1
    - Dst: ptksa_cache_add
      Src: /src/hostap/wpa_supplicant/sme.c:3916,1
    - Dst: pasn_get_cipher
      Src: /src/hostap/wpa_supplicant/sme.c:3917,1
    - Dst: pasn_get_ptk
      Src: /src/hostap/wpa_supplicant/sme.c:3919,1
    - Dst: pasn_get_akmp
      Src: /src/hostap/wpa_supplicant/sme.c:3920,1
    - Dst: wpa_sm_set_cur_pmksa
      Src: /src/hostap/wpa_supplicant/sme.c:3923,1
    - Dst: wpa_sm_set_pmk
      Src: /src/hostap/wpa_supplicant/sme.c:3924,1
    - Dst: sme_send_authentication
      Src: /src/hostap/wpa_supplicant/sme.c:3927,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/sme.c:3933,1
    - Dst: wpa_insert_pmkid
      Src: /src/hostap/wpa_supplicant/sme.c:3937,1
    - Dst: wpa_cipher_to_alg
      Src: /src/hostap/wpa_supplicant/sme.c:3943,1
    - Dst: pasn_get_cipher
      Src: /src/hostap/wpa_supplicant/sme.c:3943,1
    - Dst: ptksa_cache_get
      Src: /src/hostap/wpa_supplicant/sme.c:3944,1
    - Dst: pasn_get_cipher
      Src: /src/hostap/wpa_supplicant/sme.c:3945,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:3947,1
    - Dst: wpa_drv_set_key
      Src: /src/hostap/wpa_supplicant/sme.c:3952,1
    - Dst: sme_sae_auth
      Src: /src/hostap/wpa_supplicant/sme.c:3963,1
    - Dst: wpas_notify_sae_password_mismatch
      Src: /src/hostap/wpa_supplicant/sme.c:3972,1
    - Dst: wpas_connection_failed
      Src: /src/hostap/wpa_supplicant/sme.c:3973,1
    - Dst: wpa_supplicant_set_state
      Src: /src/hostap/wpa_supplicant/sme.c:3975,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:3979,1
    - Dst: wpa_s_clear_sae_rejected
      Src: /src/hostap/wpa_supplicant/sme.c:3981,1
    - Dst: sme_sae_set_pmk
      Src: /src/hostap/wpa_supplicant/sme.c:3990,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/sme.c:4000,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/wpa_supplicant/sme.c:4002,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/sme.c:4008,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/sme.c:4012,1
    - Dst: fils_connection_failure
      Src: /src/hostap/wpa_supplicant/sme.c:4017,1
    - Dst: wpas_connection_failed
      Src: /src/hostap/wpa_supplicant/sme.c:4024,1
    - Dst: wpa_supplicant_set_state
      Src: /src/hostap/wpa_supplicant/sme.c:4026,1
    - Dst: wpas_connect_work_done
      Src: /src/hostap/wpa_supplicant/sme.c:4030,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/sme.c:4036,1
    - Dst: wpa_supplicant_associate
      Src: /src/hostap/wpa_supplicant/sme.c:4037,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/sme.c:4044,1
    - Dst: wpa_supplicant_associate
      Src: /src/hostap/wpa_supplicant/sme.c:4045,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/sme.c:4060,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/sme.c:4061,1
    - Dst: wpa_ft_process_response
      Src: /src/hostap/wpa_supplicant/sme.c:4063,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/sme.c:4067,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/sme.c:4069,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/sme.c:4072,1
    - Dst: wpas_connection_failed
      Src: /src/hostap/wpa_supplicant/sme.c:4074,1
    - Dst: wpa_supplicant_mark_disassoc
      Src: /src/hostap/wpa_supplicant/sme.c:4076,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/sme.c:4091,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/sme.c:4094,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/sme.c:4097,1
    - Dst: wpas_connection_failed
      Src: /src/hostap/wpa_supplicant/sme.c:4099,1
    - Dst: wpa_supplicant_mark_disassoc
      Src: /src/hostap/wpa_supplicant/sme.c:4101,1
    - Dst: fils_process_auth
      Src: /src/hostap/wpa_supplicant/sme.c:4105,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/sme.c:4107,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/sme.c:4109,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/sme.c:4112,1
    - Dst: wpas_connection_failed
      Src: /src/hostap/wpa_supplicant/sme.c:4114,1
    - Dst: wpa_supplicant_mark_disassoc
      Src: /src/hostap/wpa_supplicant/sme.c:4116,1
    - Dst: wpas_sme_ml_auth
      Src: /src/hostap/wpa_supplicant/sme.c:4125,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/sme.c:4126,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/sme.c:4128,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/sme.c:4130,1
    - Dst: wpas_connection_failed
      Src: /src/hostap/wpa_supplicant/sme.c:4132,1
    - Dst: wpa_supplicant_deauthenticate
      Src: /src/hostap/wpa_supplicant/sme.c:4133,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:4135,1
    - Dst: wpas_reset_mlo_info
      Src: /src/hostap/wpa_supplicant/sme.c:4137,1
    - Dst: sme_associate
      Src: /src/hostap/wpa_supplicant/sme.c:4141,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 158
    argCount: 2
    argNames:
    - wpa_s
    - data
    argTypes:
    - struct wpa_supplicant*
    - union wpa_event_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4143
      start: 3810
    functionDepth: 10
    functionLinenumber: 3810
    functionLinenumberEnd: 4143
    functionName: sme_event_auth
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_associate
    - wpa_hexdump
    - sme_handle_eppke_unknown_password_id
    - wpas_connect_work_done
    - wpa_sm_set_pmk
    - wpa_supplicant_connect
    - wpa_supplicant_deauthenticate
    - sme_sae_set_pmk
    - wpas_notify_sae_password_mismatch
    - sme_send_authentication
    - ptksa_cache_add
    - sme_associate
    - wpa_printf
    - pasn_get_ptk
    - wpa_snprintf_hex
    - sme_process_802_1x_auth_response
    - wpa_bss_get_bssid_latest
    - fils_process_auth
    - ether_addr_equal
    - fils_connection_failure
    - wpa_sm_set_cur_pmksa
    - pasn_get_akmp
    - os_free
    - wpas_reset_mlo_info
    - pasn_get_cipher
    - wpa_ft_process_response
    - wpa_insert_pmkid
    - wpabuf_len
    - wpa_s_clear_sae_rejected
    - wpas_connection_failed
    - os_malloc
    - wpabuf_head
    - wpa_dbg
    - wpa_supplicant_mark_disassoc
    - ptksa_cache_get
    - wpas_parse_pasn_frame
    - wpa_msg
    - eloop_cancel_timeout
    - wpa_supplicant_set_state
    - wpas_sme_ml_auth
    - MAC2STR
    - sme_sae_auth
    - wpa_drv_set_key
    - wpa_cipher_to_alg
    linkageType: ''
    returnType: void
    signature: void sme_event_auth(struct wpa_supplicant *wpa_s, union wpa_event_data
      *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_ie
      Src: /src/hostap/wpa_supplicant/sme.c:4151,1
    - Dst: os_memmove
      Src: /src/hostap/wpa_supplicant/sme.c:4156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - buf
    - len
    - eid
    argTypes:
    - u8*
    - size_t*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4158
      start: 4147
    functionDepth: 1
    functionLinenumber: 4147
    functionLinenumberEnd: 4158
    functionName: remove_ie
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 0
    functionsReached:
    - get_ie
    - os_memmove
    linkageType: ''
    returnType: void
    signature: void remove_ie(u8 *buf, size_t *len, u8 eid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/sme.c:4767,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/sme.c:4768,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/sme.c:4775,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/sme.c:4776,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/sme.c:4777,1
    - Dst: os_memdup
      Src: /src/hostap/wpa_supplicant/sme.c:4778,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - wpa_s
    - md
    - ies
    - ies_len
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4783
      start: 4763
    functionDepth: 1
    functionLinenumber: 4763
    functionLinenumberEnd: 4783
    functionName: sme_update_ft_ies
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    - wpa_hexdump
    - os_memdup
    - wpa_dbg
    - os_free
    linkageType: ''
    returnType: int
    signature: "int sme_update_ft_ies(struct wpa_supplicant *wpa_s, const u8 *md,\n\t\t
      \     const u8 *ies, size_t ies_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/sme.c:4791,1
    - Dst: wpa_drv_deauthenticate
      Src: /src/hostap/wpa_supplicant/sme.c:4798,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/sme.c:4800,1
    - Dst: wpas_connection_failed
      Src: /src/hostap/wpa_supplicant/sme.c:4805,1
    - Dst: wpa_supplicant_set_state
      Src: /src/hostap/wpa_supplicant/sme.c:4806,1
    - Dst: ptksa_cache_get
      Src: /src/hostap/wpa_supplicant/sme.c:4811,1
    - Dst: wpa_clear_keys
      Src: /src/hostap/wpa_supplicant/sme.c:4812,1
    - Dst: ptksa_cache_flush
      Src: /src/hostap/wpa_supplicant/sme.c:4813,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/sme.c:4817,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/sme.c:4818,1
    - Dst: wpas_notify_bssid_changed
      Src: /src/hostap/wpa_supplicant/sme.c:4820,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - wpa_s
    - link_bssids
    argTypes:
    - struct wpa_supplicant*
    - u8**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4821
      start: 4786
    functionDepth: 9
    functionLinenumber: 4786
    functionLinenumberEnd: 4821
    functionName: sme_deauth
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 0
    functionsReached:
    - wpa_msg
    - os_memset
    - is_zero_ether_addr
    - wpas_connection_failed
    - wpa_drv_deauthenticate
    - wpa_supplicant_set_state
    - wpa_clear_keys
    - wpas_notify_bssid_changed
    - ptksa_cache_get
    - ptksa_cache_flush
    linkageType: ''
    returnType: void
    signature: void sme_deauth(struct wpa_supplicant *wpa_s, const u8 **link_bssids)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/sme.c:4829,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/sme.c:4834,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/sme.c:4837,1
    - Dst: sme_associate
      Src: /src/hostap/wpa_supplicant/sme.c:4843,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4846
      start: 4824
    functionDepth: 1
    functionLinenumber: 4824
    functionLinenumberEnd: 4846
    functionName: sme_assoc_comeback_timer
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - sme_associate
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: void sme_assoc_comeback_timer(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/wpa_supplicant/sme.c:4862,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/sme.c:4865,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/sme.c:4871,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/sme.c:4877,1
    - Dst: WPA_GET_LE32
      Src: /src/hostap/wpa_supplicant/sme.c:4882,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/sme.c:4886,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/sme.c:4891,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/sme.c:4895,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - wpa_s
    - data
    argTypes:
    - struct wpa_supplicant*
    - union wpa_event_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4898
      start: 4849
    functionDepth: 1
    functionLinenumber: 4849
    functionLinenumberEnd: 4898
    functionName: sme_try_assoc_comeback
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 0
    functionsReached:
    - WPA_GET_LE32
    - ieee802_11_parse_elems
    - eloop_register_timeout
    - wpa_msg
    linkageType: ''
    returnType: bool
    signature: "bool sme_try_assoc_comeback(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \  union wpa_event_data *data)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/sme.c:4912,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/sme.c:4913,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/sme.c:4916,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/sme.c:4917,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/sme.c:4925,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/sme.c:4927,1
    - Dst: sme_try_assoc_comeback
      Src: /src/hostap/wpa_supplicant/sme.c:4928,1
    - Dst: wpa_key_mgmt_sae
      Src: /src/hostap/wpa_supplicant/sme.c:4936,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/sme.c:4940,1
    - Dst: wpa_sm_aborted_cached
      Src: /src/hostap/wpa_supplicant/sme.c:4942,1
    - Dst: wpa_sm_pmksa_cache_flush_addr
      Src: /src/hostap/wpa_supplicant/sme.c:4951,1
    - Dst: wpa_drv_deauthenticate
      Src: /src/hostap/wpa_supplicant/sme.c:4956,1
    - Dst: wpas_connect_work_done
      Src: /src/hostap/wpa_supplicant/sme.c:4958,1
    - Dst: wpa_supplicant_mark_disassoc
      Src: /src/hostap/wpa_supplicant/sme.c:4959,1
    - Dst: wpa_supplicant_connect
      Src: /src/hostap/wpa_supplicant/sme.c:4960,1
    - Dst: pmksa_cache_get_current
      Src: /src/hostap/wpa_supplicant/sme.c:4973,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/sme.c:4975,1
    - Dst: wpa_sm_pmksa_cache_remove
      Src: /src/hostap/wpa_supplicant/sme.c:4977,1
    - Dst: wpa_sm_aborted_cached
      Src: /src/hostap/wpa_supplicant/sme.c:4979,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/sme.c:4984,1
    - Dst: wpas_connect_work_done
      Src: /src/hostap/wpa_supplicant/sme.c:4986,1
    - Dst: wpa_supplicant_mark_disassoc
      Src: /src/hostap/wpa_supplicant/sme.c:4987,1
    - Dst: wpa_supplicant_connect
      Src: /src/hostap/wpa_supplicant/sme.c:4988,1
    - Dst: sme_deauth
      Src: /src/hostap/wpa_supplicant/sme.c:5001,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 3
    argNames:
    - wpa_s
    - data
    - link_bssids
    argTypes:
    - struct wpa_supplicant*
    - union wpa_event_data*
    - u8**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5002
      start: 4901
    functionDepth: 10
    functionLinenumber: 4901
    functionLinenumberEnd: 5002
    functionName: sme_event_assoc_reject
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 0
    functionsReached:
    - wpa_key_mgmt_sae
    - wpa_msg
    - eloop_cancel_timeout
    - wpa_sm_aborted_cached
    - wpas_connect_work_done
    - wpa_drv_deauthenticate
    - wpa_sm_pmksa_cache_flush_addr
    - pmksa_cache_get_current
    - MAC2STR
    - wpa_supplicant_connect
    - wpa_sm_pmksa_cache_remove
    - wpa_dbg
    - wpa_supplicant_mark_disassoc
    - sme_try_assoc_comeback
    - sme_deauth
    linkageType: ''
    returnType: void
    signature: "void sme_event_assoc_reject(struct wpa_supplicant *wpa_s,\n\t\t\t
      \   union wpa_event_data *data,\n\t\t\t    const u8 **link_bssids)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/sme.c:5008,1
    - Dst: wpas_connection_failed
      Src: /src/hostap/wpa_supplicant/sme.c:5009,1
    - Dst: wpa_supplicant_mark_disassoc
      Src: /src/hostap/wpa_supplicant/sme.c:5010,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - data
    argTypes:
    - struct wpa_supplicant*
    - union wpa_event_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5011
      start: 5005
    functionDepth: 4
    functionLinenumber: 5005
    functionLinenumberEnd: 5011
    functionName: sme_event_auth_timed_out
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_mark_disassoc
    - wpas_connection_failed
    - wpa_dbg
    linkageType: ''
    returnType: void
    signature: "void sme_event_auth_timed_out(struct wpa_supplicant *wpa_s,\n\t\t\t
      \     union wpa_event_data *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/sme.c:5017,1
    - Dst: wpas_connection_failed
      Src: /src/hostap/wpa_supplicant/sme.c:5018,1
    - Dst: wpa_supplicant_mark_disassoc
      Src: /src/hostap/wpa_supplicant/sme.c:5019,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - data
    argTypes:
    - struct wpa_supplicant*
    - union wpa_event_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5020
      start: 5014
    functionDepth: 4
    functionLinenumber: 5014
    functionLinenumberEnd: 5020
    functionName: sme_event_assoc_timed_out
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_mark_disassoc
    - wpas_connection_failed
    - wpa_dbg
    linkageType: ''
    returnType: void
    signature: "void sme_event_assoc_timed_out(struct wpa_supplicant *wpa_s,\n\t\t\t
      \      union wpa_event_data *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_key_mgmt_sae
      Src: /src/hostap/wpa_supplicant/sme.c:5038,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/sme.c:5049,1
    - Dst: wpa_sm_aborted_cached
      Src: /src/hostap/wpa_supplicant/sme.c:5051,1
    - Dst: wpa_sm_pmksa_cache_flush_addr
      Src: /src/hostap/wpa_supplicant/sme.c:5052,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 2
    argNames:
    - wpa_s
    - info
    argTypes:
    - struct wpa_supplicant*
    - struct deauth_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5054
      start: 5023
    functionDepth: 1
    functionLinenumber: 5023
    functionLinenumberEnd: 5054
    functionName: sme_event_deauth
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 0
    functionsReached:
    - wpa_key_mgmt_sae
    - wpa_sm_aborted_cached
    - wpa_sm_pmksa_cache_flush_addr
    - wpa_dbg
    linkageType: ''
    returnType: void
    signature: void sme_event_deauth(struct wpa_supplicant *wpa_s, struct deauth_info
      *info)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/sme.c:5060,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/sme.c:5068,1
    - Dst: wpa_drv_deauthenticate
      Src: /src/hostap/wpa_supplicant/sme.c:5070,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - wpa_s
    - info
    argTypes:
    - struct wpa_supplicant*
    - struct disassoc_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5073
      start: 5057
    functionDepth: 1
    functionLinenumber: 5057
    functionLinenumberEnd: 5073
    functionName: sme_event_disassoc
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 0
    functionsReached:
    - wpa_drv_deauthenticate
    - wpa_dbg
    linkageType: ''
    returnType: void
    signature: "void sme_event_disassoc(struct wpa_supplicant *wpa_s,\n\t\t\tstruct
      disassoc_info *info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/sme.c:5080,1
    - Dst: sme_deauth
      Src: /src/hostap/wpa_supplicant/sme.c:5081,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5083
      start: 5076
    functionDepth: 10
    functionLinenumber: 5076
    functionLinenumberEnd: 5083
    functionName: sme_auth_timer
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 0
    functionsReached:
    - sme_deauth
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: void sme_auth_timer(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/sme.c:5090,1
    - Dst: sme_deauth
      Src: /src/hostap/wpa_supplicant/sme.c:5091,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5093
      start: 5086
    functionDepth: 10
    functionLinenumber: 5086
    functionLinenumberEnd: 5093
    functionName: sme_assoc_timer
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 0
    functionsReached:
    - sme_deauth
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: void sme_assoc_timer(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/sme.c:5100,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/sme.c:5101,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/sme.c:5104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5105
      start: 5096
    functionDepth: 0
    functionLinenumber: 5096
    functionLinenumberEnd: 5105
    functionName: sme_state_changed
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 0
    functionsReached:
    - eloop_cancel_timeout
    linkageType: ''
    returnType: void
    signature: void sme_state_changed(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/sme.c:5112,1
    - Dst: sae_clear_data
      Src: /src/hostap/wpa_supplicant/sme.c:5114,1
    - Dst: sme_update_ft_ies
      Src: /src/hostap/wpa_supplicant/sme.c:5118,1
    - Dst: sme_802_1x_auth_data_free
      Src: /src/hostap/wpa_supplicant/sme.c:5121,1
    - Dst: sme_stop_sa_query
      Src: /src/hostap/wpa_supplicant/sme.c:5123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5124
      start: 5108
    functionDepth: 2
    functionLinenumber: 5108
    functionLinenumberEnd: 5124
    functionName: sme_clear_on_disassoc
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 0
    functionsReached:
    - sme_update_ft_ies
    - wpabuf_free
    - sme_802_1x_auth_data_free
    - sae_clear_data
    - sme_stop_sa_query
    linkageType: ''
    returnType: void
    signature: void sme_clear_on_disassoc(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sme_clear_on_disassoc
      Src: /src/hostap/wpa_supplicant/sme.c:5129,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/sme.c:5131,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/sme.c:5135,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/sme.c:5136,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/sme.c:5137,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/sme.c:5138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5139
      start: 5127
    functionDepth: 0
    functionLinenumber: 5127
    functionLinenumberEnd: 5139
    functionName: sme_deinit
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 1
    functionsReached:
    - sme_clear_on_disassoc
    - os_free
    - eloop_cancel_timeout
    linkageType: ''
    returnType: void
    signature: void sme_deinit(struct wpa_supplicant *wpa_s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:5150,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/sme.c:5152,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/sme.c:5153,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/sme.c:5156,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/sme.c:5163,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/sme.c:5164,1
    - Dst: wpabuf_put
      Src: /src/hostap/wpa_supplicant/sme.c:5166,1
    - Dst: wpabuf_put
      Src: /src/hostap/wpa_supplicant/sme.c:5173,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/sme.c:5177,1
    - Dst: wpabuf_put
      Src: /src/hostap/wpa_supplicant/sme.c:5177,1
    - Dst: wpa_drv_send_action
      Src: /src/hostap/wpa_supplicant/sme.c:5181,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/sme.c:5183,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/sme.c:5183,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/sme.c:5184,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/sme.c:5188,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 4
    argNames:
    - wpa_s
    - chan_list
    - num_channels
    - num_intol
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5189
      start: 5142
    functionDepth: 3
    functionLinenumber: 5142
    functionLinenumberEnd: 5189
    functionName: sme_send_2040_bss_coex
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put
    - os_memcpy
    - wpa_drv_send_action
    - wpabuf_put_u8
    - wpa_hexdump
    - wpabuf_len
    - wpa_msg
    - wpabuf_free
    - wpabuf_head
    - MAC2STR
    - wpabuf_alloc
    linkageType: ''
    returnType: void
    signature: "void sme_send_2040_bss_coex(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \  const u8 *chan_list, u8 num_channels,\n\t\t\t\t   u8 num_intol)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_bss_get_ie
      Src: /src/hostap/wpa_supplicant/sme.c:5220,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/sme.c:5224,1
    - Dst: dl_list_for_each
      Src: /src/hostap/wpa_supplicant/sme.c:5226,1
    - Dst: ieee80211_freq_to_chan
      Src: /src/hostap/wpa_supplicant/sme.c:5229,1
    - Dst: wpa_bss_get_ie
      Src: /src/hostap/wpa_supplicant/sme.c:5234,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wpa_supplicant/sme.c:5235,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:5236,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/sme.c:5238,1
    - Dst: sme_send_2040_bss_coex
      Src: /src/hostap/wpa_supplicant/sme.c:5256,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 31
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5258
      start: 5192
    functionDepth: 4
    functionLinenumber: 5192
    functionLinenumberEnd: 5258
    functionName: sme_proc_obss_scan
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - sme_send_2040_bss_coex
    - WPA_GET_LE16
    - dl_list_for_each
    - MAC2STR
    - wpa_bss_get_ie
    - ieee80211_freq_to_chan
    - os_memset
    linkageType: ''
    returnType: int
    signature: int sme_proc_obss_scan(struct wpa_supplicant *wpa_s)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: get_mode
      Src: /src/hostap/wpa_supplicant/sme.c:5269,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/sme.c:5273,1
    - Dst: wpa_bss_get_ie
      Src: /src/hostap/wpa_supplicant/sme.c:5281,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:5311,1
    - Dst: os_calloc
      Src: /src/hostap/wpa_supplicant/sme.c:5315,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 44
    argCount: 2
    argNames:
    - wpa_s
    - params
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_driver_scan_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5328
      start: 5261
    functionDepth: 1
    functionLinenumber: 5261
    functionLinenumberEnd: 5328
    functionName: wpa_obss_scan_freqs_list
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - get_mode
    - os_calloc
    - os_zalloc
    - wpa_bss_get_ie
    linkageType: ''
    returnType: void
    signature: "void wpa_obss_scan_freqs_list(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \    struct wpa_driver_scan_params *params)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:5337,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/sme.c:5341,1
    - Dst: wpa_obss_scan_freqs_list
      Src: /src/hostap/wpa_supplicant/sme.c:5342,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:5344,1
    - Dst: wpa_supplicant_trigger_scan
      Src: /src/hostap/wpa_supplicant/sme.c:5346,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:5347,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/sme.c:5350,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/sme.c:5352,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5354
      start: 5331
    functionDepth: 2
    functionLinenumber: 5331
    functionLinenumberEnd: 5354
    functionName: sme_obss_scan_timeout
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_supplicant_trigger_scan
    - wpa_obss_scan_freqs_list
    - eloop_register_timeout
    - os_free
    - os_memset
    linkageType: ''
    returnType: void
    signature: void sme_obss_scan_timeout(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/sme.c:5365,1
    - Dst: wpa_bss_get_ie
      Src: /src/hostap/wpa_supplicant/sme.c:5405,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wpa_supplicant/sme.c:5407,1
    - Dst: wpa_bss_get_ie
      Src: /src/hostap/wpa_supplicant/sme.c:5410,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wpa_supplicant/sme.c:5415,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:5417,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:5422,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/sme.c:5424,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 34
    argCount: 2
    argNames:
    - wpa_s
    - enable
    argTypes:
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5426
      start: 5357
    functionDepth: 1
    functionLinenumber: 5357
    functionLinenumberEnd: 5426
    functionName: sme_sched_obss_scan
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - eloop_cancel_timeout
    - WPA_GET_LE16
    - eloop_register_timeout
    - wpa_bss_get_ie
    linkageType: ''
    returnType: void
    signature: void sme_sched_obss_scan(struct wpa_supplicant *wpa_s, int enable)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/sme.c:5437,1
    - Dst: os_reltime_sub
      Src: /src/hostap/wpa_supplicant/sme.c:5438,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/sme.c:5441,1
    - Dst: sme_stop_sa_query
      Src: /src/hostap/wpa_supplicant/sme.c:5442,1
    - Dst: wpa_supplicant_deauthenticate
      Src: /src/hostap/wpa_supplicant/sme.c:5443,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5449
      start: 5433
    functionDepth: 4
    functionLinenumber: 5433
    functionLinenumberEnd: 5449
    functionName: sme_check_sa_query_timeout
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 0
    functionsReached:
    - os_get_reltime
    - os_reltime_sub
    - wpa_supplicant_deauthenticate
    - sme_stop_sa_query
    - wpa_dbg
    linkageType: ''
    returnType: int
    signature: int sme_check_sa_query_timeout(struct wpa_supplicant *wpa_s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/sme.c:5458,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/sme.c:5459,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/sme.c:5460,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/sme.c:5464,1
    - Dst: wpa_sm_ocv_enabled
      Src: /src/hostap/wpa_supplicant/sme.c:5467,1
    - Dst: wpa_drv_channel_info
      Src: /src/hostap/wpa_supplicant/sme.c:5470,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:5471,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:5478,1
    - Dst: ocv_insert_extended_oci
      Src: /src/hostap/wpa_supplicant/sme.c:5486,1
    - Dst: wpa_drv_send_action
      Src: /src/hostap/wpa_supplicant/sme.c:5493,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/sme.c:5496,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - wpa_s
    - trans_id
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5498
      start: 5452
    functionDepth: 3
    functionLinenumber: 5452
    functionLinenumberEnd: 5498
    functionName: sme_send_sa_query_req
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_drv_channel_info
    - wpa_sm_ocv_enabled
    - wpa_printf
    - wpa_hexdump
    - wpa_drv_send_action
    - wpa_msg
    - MAC2STR
    - ocv_insert_extended_oci
    - wpa_dbg
    linkageType: ''
    returnType: void
    signature: "void sme_send_sa_query_req(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \ const u8 *trans_id)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sme_check_sa_query_timeout
      Src: /src/hostap/wpa_supplicant/sme.c:5508,1
    - Dst: os_realloc_array
      Src: /src/hostap/wpa_supplicant/sme.c:5511,1
    - Dst: sme_stop_sa_query
      Src: /src/hostap/wpa_supplicant/sme.c:5515,1
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/sme.c:5520,1
    - Dst: os_get_random
      Src: /src/hostap/wpa_supplicant/sme.c:5526,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:5527,1
    - Dst: sme_stop_sa_query
      Src: /src/hostap/wpa_supplicant/sme.c:5528,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/sme.c:5535,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/sme.c:5537,1
    - Dst: sme_send_sa_query_req
      Src: /src/hostap/wpa_supplicant/sme.c:5540,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5541
      start: 5501
    functionDepth: 5
    functionLinenumber: 5501
    functionLinenumberEnd: 5541
    functionName: sme_sa_query_timer
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 0
    functionsReached:
    - os_get_reltime
    - wpa_printf
    - os_get_random
    - sme_check_sa_query_timeout
    - sme_send_sa_query_req
    - eloop_register_timeout
    - sme_stop_sa_query
    - wpa_dbg
    - os_realloc_array
    linkageType: ''
    returnType: void
    signature: void sme_sa_query_timer(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sme_sa_query_timer
      Src: /src/hostap/wpa_supplicant/sme.c:5546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5547
      start: 5544
    functionDepth: 6
    functionLinenumber: 5544
    functionLinenumberEnd: 5547
    functionName: sme_start_sa_query
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 0
    functionsReached:
    - sme_sa_query_timer
    linkageType: ''
    returnType: void
    signature: void sme_start_sa_query(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/sme.c:5553,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/sme.c:5554,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/sme.c:5555,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5558
      start: 5550
    functionDepth: 1
    functionLinenumber: 5550
    functionLinenumberEnd: 5558
    functionName: sme_stop_sa_query
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 3
    functionsReached:
    - eloop_cancel_timeout
    - os_free
    - wpa_dbg
    linkageType: ''
    returnType: void
    signature: void sme_stop_sa_query(struct wpa_supplicant *wpa_s)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpas_get_ssid_pmf
      Src: /src/hostap/wpa_supplicant/sme.c:5570,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/sme.c:5572,1
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/sme.c:5584,1
    - Dst: os_reltime_expired
      Src: /src/hostap/wpa_supplicant/sme.c:5586,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/sme.c:5590,1
    - Dst: sme_start_sa_query
      Src: /src/hostap/wpa_supplicant/sme.c:5592,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 4
    argNames:
    - wpa_s
    - sa
    - da
    - reason_code
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5593
      start: 5561
    functionDepth: 7
    functionLinenumber: 5561
    functionLinenumberEnd: 5593
    functionName: sme_event_unprot_disconnect
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 0
    functionsReached:
    - os_get_reltime
    - ether_addr_equal
    - sme_start_sa_query
    - wpa_dbg
    - os_reltime_expired
    - wpas_get_ssid_pmf
    linkageType: ''
    returnType: void
    signature: "void sme_event_unprot_disconnect(struct wpa_supplicant *wpa_s, const
      u8 *sa,\n\t\t\t\t const u8 *da, u16 reason_code)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_sm_ocv_enabled
      Src: /src/hostap/wpa_supplicant/sme.c:5602,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/sme.c:5605,1
    - Dst: sme_stop_sa_query
      Src: /src/hostap/wpa_supplicant/sme.c:5607,1
    - Dst: os_get_random
      Src: /src/hostap/wpa_supplicant/sme.c:5609,1
    - Dst: os_random
      Src: /src/hostap/wpa_supplicant/sme.c:5610,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/sme.c:5612,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5613
      start: 5596
    functionDepth: 2
    functionLinenumber: 5596
    functionLinenumberEnd: 5613
    functionName: sme_event_ch_switch
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 0
    functionsReached:
    - wpa_sm_ocv_enabled
    - os_random
    - os_get_random
    - eloop_register_timeout
    - sme_stop_sa_query
    - wpa_dbg
    linkageType: ''
    returnType: void
    signature: void sme_event_ch_switch(struct wpa_supplicant *wpa_s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/sme.c:5623,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/sme.c:5624,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/sme.c:5628,1
    - Dst: wpa_sm_ocv_enabled
      Src: /src/hostap/wpa_supplicant/sme.c:5631,1
    - Dst: wpa_drv_channel_info
      Src: /src/hostap/wpa_supplicant/sme.c:5634,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:5635,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:5642,1
    - Dst: ocv_insert_extended_oci
      Src: /src/hostap/wpa_supplicant/sme.c:5650,1
    - Dst: wpa_drv_send_action
      Src: /src/hostap/wpa_supplicant/sme.c:5657,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/sme.c:5660,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - wpa_s
    - sa
    - data
    - len
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5662
      start: 5616
    functionDepth: 3
    functionLinenumber: 5616
    functionLinenumberEnd: 5662
    functionName: sme_process_sa_query_request
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_drv_channel_info
    - wpa_sm_ocv_enabled
    - wpa_printf
    - wpa_drv_send_action
    - wpa_msg
    - MAC2STR
    - ocv_insert_extended_oci
    - wpa_dbg
    linkageType: ''
    returnType: void
    signature: "void sme_process_sa_query_request(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      const u8 *sa, const u8 *data,\n\t\t\t\t\t size_t len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/sme.c:5674,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/sme.c:5675,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/sme.c:5677,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/sme.c:5681,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/sme.c:5688,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/sme.c:5693,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/sme.c:5694,1
    - Dst: sme_stop_sa_query
      Src: /src/hostap/wpa_supplicant/sme.c:5695,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 4
    argNames:
    - wpa_s
    - sa
    - data
    - len
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5696
      start: 5665
    functionDepth: 2
    functionLinenumber: 5665
    functionLinenumberEnd: 5696
    functionName: sme_process_sa_query_response
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 0
    functionsReached:
    - ether_addr_equal
    - MAC2STR
    - os_memcmp
    - sme_stop_sa_query
    - wpa_dbg
    linkageType: ''
    returnType: void
    signature: "void sme_process_sa_query_response(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \ const u8 *sa, const u8 *data,\n\t\t\t\t\t  size_t len)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: is_multicast_ether_addr
      Src: /src/hostap/wpa_supplicant/sme.c:5704,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:5705,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/sme.c:5707,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/sme.c:5707,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/sme.c:5711,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/sme.c:5712,1
    - Dst: wpa_sm_ocv_enabled
      Src: /src/hostap/wpa_supplicant/sme.c:5715,1
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/wpa_supplicant/sme.c:5719,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:5722,1
    - Dst: wpa_drv_channel_info
      Src: /src/hostap/wpa_supplicant/sme.c:5727,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/sme.c:5728,1
    - Dst: ocv_verify_tx_params
      Src: /src/hostap/wpa_supplicant/sme.c:5733,1
    - Dst: channel_width_to_int
      Src: /src/hostap/wpa_supplicant/sme.c:5734,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/sme.c:5736,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/sme.c:5738,1
    - Dst: sme_process_sa_query_request
      Src: /src/hostap/wpa_supplicant/sme.c:5746,1
    - Dst: sme_process_sa_query_response
      Src: /src/hostap/wpa_supplicant/sme.c:5748,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 5
    argNames:
    - wpa_s
    - da
    - sa
    - data
    - len
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5749
      start: 5699
    functionDepth: 4
    functionLinenumber: 5699
    functionLinenumberEnd: 5749
    functionName: sme_sa_query_rx
    functionSourceFile: /src/hostap/wpa_supplicant/sme.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_drv_channel_info
    - is_multicast_ether_addr
    - wpa_sm_ocv_enabled
    - wpa_msg
    - MAC2STR
    - sme_process_sa_query_request
    - ieee802_11_parse_elems
    - ocv_verify_tx_params
    - wpa_dbg
    - sme_process_sa_query_response
    - channel_width_to_int
    linkageType: ''
    returnType: void
    signature: "void sme_sa_query_rx(struct wpa_supplicant *wpa_s, const u8 *da, const
      u8 *sa,\n\t\t     const u8 *data, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - dst
    argTypes:
    - struct wpa_ctrl_dst*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 74
    functionName: wpas_ctrl_iface_free_dst
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface_udp.c
    functionUses: 0
    functionsReached:
    - os_free
    linkageType: ''
    returnType: void
    signature: void wpas_ctrl_iface_free_dst(struct wpa_ctrl_dst *dst)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:90,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:93,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:99,1
    - Dst: inet_ntop
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:100,1
    - Dst: ntohs
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:101,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:103,1
    - Dst: inet_ntoa
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:104,1
    - Dst: ntohs
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - head
    - from
    - from
    - fromlen
    argTypes:
    - struct wpa_ctrl_dst**
    - CONFIG_CTRL_IFACE_UDP_IPV6*
    - struct sockaddr_in*
    - socklen_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 107
    functionName: wpa_supplicant_ctrl_iface_attach
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface_udp.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - inet_ntop
    - os_zalloc
    - inet_ntoa
    - ntohs
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_ctrl_iface_attach(struct wpa_ctrl_dst **head,\n#ifdef
      CONFIG_CTRL_IFACE_UDP_IPV6\n\t\t\t\t\t    struct sockaddr_in6 *from,\n#else
      /* CONFIG_CTRL_IFACE_UDP_IPV6 */\n\t\t\t\t\t    struct sockaddr_in *from,\n#endif
      /* CONFIG_CTRL_IFACE_UDP_IPV6 */\n\t\t\t\t\t    socklen_t fromlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:202,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:208,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - priv
    - reply_len
    argTypes:
    - struct ctrl_iface_priv*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 214
    functionName: wpa_supplicant_ctrl_iface_get_cookie
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface_udp.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_snprintf_hex
    - os_malloc
    linkageType: ''
    returnType: char
    signature: "char *\nwpa_supplicant_ctrl_iface_get_cookie(struct ctrl_iface_priv
      *priv,\n\t\t\t\t     size_t *reply_len)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:238,1
    - Dst: recvfrom
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:241,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:244,1
    - Dst: strerror
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:245,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:246,1
    - Dst: inet_ntop
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:252,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:253,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:254,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:256,1
    - Dst: htonl
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:260,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:267,1
    - Dst: inet_ntoa
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:268,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:269,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:276,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:277,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:282,1
    - Dst: wpa_supplicant_ctrl_iface_get_cookie
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:283,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:294,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:295,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:297,1
    - Dst: hexstr2bin
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:301,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:302,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:304,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:308,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:309,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:311,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:319,1
    - Dst: wpa_supplicant_ctrl_iface_attach
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:320,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:327,1
    - Dst: wpa_supplicant_ctrl_iface_detach
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:328,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:333,1
    - Dst: wpa_supplicant_ctrl_iface_level
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:334,1
    - Dst: wpa_supplicant_ctrl_iface_process
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:340,1
    - Dst: sendto
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:346,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:348,1
    - Dst: sendto
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:350,1
    - Dst: sendto
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:353,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:357,1
    - Dst: eapol_sm_notify_ctrl_attached
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:360,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 84
    argCount: 3
    argNames:
    - sock
    - eloop_ctx
    - sock_ctx
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 361
    functionName: wpa_supplicant_ctrl_iface_receive
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface_udp.c
    functionUses: 0
    functionsReached:
    - recvfrom
    - inet_ntop
    - wpa_printf
    - wpa_supplicant_ctrl_iface_attach
    - os_memcmp
    - eapol_sm_notify_ctrl_attached
    - os_free
    - inet_ntoa
    - os_strcmp
    - sendto
    - hexstr2bin
    - os_malloc
    - wpa_supplicant_ctrl_iface_get_cookie
    - wpa_supplicant_ctrl_iface_detach
    - wpa_supplicant_ctrl_iface_process
    - strerror
    - htonl
    - os_strncmp
    - wpa_supplicant_ctrl_iface_level
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_ctrl_iface_receive(int sock, void *eloop_ctx,\n\t\t\t\t\t
      \     void *sock_ctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_supplicant_ctrl_iface_send
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:377,1
    - Dst: wpa_supplicant_ctrl_iface_send
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:388,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 5
    argNames:
    - ctx
    - level
    - type
    - txt
    - len
    argTypes:
    - void*
    - int
    - enum wpa_msg_type
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 391
    functionName: wpa_supplicant_ctrl_iface_msg_cb
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface_udp.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_ctrl_iface_send
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_ctrl_iface_msg_cb(void *ctx, int level,\n\t\t\t\t\t
      \    enum wpa_msg_type type,\n\t\t\t\t\t     const char *txt, size_t len)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:409,1
    - Dst: os_get_random
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:414,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:419,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:422,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:424,1
    - Dst: socket
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:430,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:432,1
    - Dst: strerror
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:432,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:436,1
    - Dst: inet_pton
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:442,1
    - Dst: htonl
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:449,1
    - Dst: htons
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:454,1
    - Dst: htons
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:456,1
    - Dst: bind
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:458,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:462,1
    - Dst: strerror
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:462,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:467,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:468,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:469,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:471,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:476,1
    - Dst: eloop_register_read_sock
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:479,1
    - Dst: wpa_msg_register_cb
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:481,1
    - Dst: close
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:487,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:488,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 64
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 490
    functionName: wpa_supplicant_ctrl_iface_init
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface_udp.c
    functionUses: 3
    functionsReached:
    - eloop_register_read_sock
    - os_snprintf
    - atoi
    - wpa_printf
    - os_get_random
    - os_strstr
    - os_free
    - bind
    - inet_pton
    - htons
    - os_strdup
    - os_memset
    - wpa_msg_register_cb
    - strerror
    - wpa_msg
    - socket
    - htonl
    - os_zalloc
    - close
    linkageType: ''
    returnType: struct ctrl_iface_priv
    signature: 'struct ctrl_iface_priv *

      wpa_supplicant_ctrl_iface_init(struct wpa_supplicant *wpa_s)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: eloop_unregister_read_sock
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:500,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:507,1
    - Dst: os_sleep
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:509,1
    - Dst: close
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:511,1
    - Dst: wpas_ctrl_iface_free_dst
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:515,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:516,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - wpa_s
    - priv
    argTypes:
    - struct wpa_supplicant*
    - struct ctrl_iface_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 493
    functionDepth: 1
    functionLinenumber: 493
    functionLinenumberEnd: 517
    functionName: wpa_supplicant_ctrl_iface_deinit
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface_udp.c
    functionUses: 3
    functionsReached:
    - eloop_unregister_read_sock
    - wpa_printf
    - os_sleep
    - wpas_ctrl_iface_free_dst
    - close
    - os_free
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_ctrl_iface_deinit(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \     struct ctrl_iface_priv *priv)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:540,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:543,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:545,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:546,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:550,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:551,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:558,1
    - Dst: inet_ntop
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:559,1
    - Dst: ntohs
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:561,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:563,1
    - Dst: inet_ntoa
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:564,1
    - Dst: ntohs
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:565,1
    - Dst: sendto
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:567,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:570,1
    - Dst: strerror
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:572,1
    - Dst: wpa_supplicant_ctrl_iface_detach
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:575,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:585,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 7
    argNames:
    - wpa_s
    - ifname
    - sock
    - head
    - level
    - buf
    - len
    argTypes:
    - struct wpa_supplicant*
    - char*
    - int
    - struct wpa_ctrl_dst**
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 520
    functionDepth: 1
    functionLinenumber: 520
    functionLinenumberEnd: 586
    functionName: wpa_supplicant_ctrl_iface_send
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface_udp.c
    functionUses: 1
    functionsReached:
    - os_strlen
    - wpa_printf
    - os_memcpy
    - sendto
    - wpa_supplicant_ctrl_iface_detach
    - strerror
    - os_malloc
    - inet_ntop
    - os_snprintf
    - os_free
    - inet_ntoa
    - ntohs
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_ctrl_iface_send(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \  const char *ifname, int sock,\n\t\t\t\t\t   struct wpa_ctrl_dst **head,\n\t\t\t\t\t
      \  int level, const char *buf,\n\t\t\t\t\t   size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:591,1
    - Dst: eloop_wait_for_read_sock
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:593,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - priv
    argTypes:
    - struct ctrl_iface_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 594
    functionName: wpa_supplicant_ctrl_iface_wait
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface_udp.c
    functionUses: 2
    functionsReached:
    - eloop_wait_for_read_sock
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void wpa_supplicant_ctrl_iface_wait(struct ctrl_iface_priv *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:604,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:610,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:611,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - priv
    - reply_len
    argTypes:
    - struct ctrl_iface_global_priv*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 599
    functionDepth: 1
    functionLinenumber: 599
    functionLinenumberEnd: 616
    functionName: wpa_supplicant_global_get_cookie
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface_udp.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_snprintf_hex
    - os_malloc
    linkageType: ''
    returnType: char
    signature: "char *\nwpa_supplicant_global_get_cookie(struct ctrl_iface_global_priv
      *priv,\n\t\t\t\t size_t *reply_len)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:639,1
    - Dst: recvfrom
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:642,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:645,1
    - Dst: strerror
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:646,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:647,1
    - Dst: inet_ntop
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:653,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:654,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:655,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:657,1
    - Dst: htonl
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:661,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:668,1
    - Dst: inet_ntoa
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:669,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:670,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:677,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:678,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:683,1
    - Dst: wpa_supplicant_global_get_cookie
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:684,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:688,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:689,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:691,1
    - Dst: hexstr2bin
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:695,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:696,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:698,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:702,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:703,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:705,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:713,1
    - Dst: wpa_supplicant_ctrl_iface_attach
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:714,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:719,1
    - Dst: wpa_supplicant_ctrl_iface_detach
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:720,1
    - Dst: wpa_supplicant_global_ctrl_iface_process
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:726,1
    - Dst: sendto
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:732,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:734,1
    - Dst: sendto
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:736,1
    - Dst: sendto
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:739,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:743,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 75
    argCount: 3
    argNames:
    - sock
    - eloop_ctx
    - sock_ctx
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 619
    functionDepth: 14
    functionLinenumber: 619
    functionLinenumberEnd: 744
    functionName: wpa_supplicant_global_ctrl_iface_receive
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface_udp.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_global_ctrl_iface_process
    - wpa_printf
    - sendto
    - strerror
    - recvfrom
    - hexstr2bin
    - htonl
    - os_malloc
    - inet_ntop
    - os_strncmp
    - wpa_supplicant_ctrl_iface_attach
    - os_memcmp
    - wpa_supplicant_global_get_cookie
    - os_free
    - inet_ntoa
    - wpa_supplicant_ctrl_iface_detach
    - os_strcmp
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_global_ctrl_iface_receive(int sock, void *eloop_ctx,\n\t\t\t\t\t\t
      \    void *sock_ctx)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:755,1
    - Dst: os_get_random
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:759,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:764,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:767,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:770,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:772,1
    - Dst: socket
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:778,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:780,1
    - Dst: strerror
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:780,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:784,1
    - Dst: htonl
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:789,1
    - Dst: htons
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:792,1
    - Dst: bind
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:793,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:798,1
    - Dst: strerror
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:798,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:803,1
    - Dst: eloop_register_read_sock
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:806,1
    - Dst: wpa_msg_register_cb
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:809,1
    - Dst: close
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:815,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:816,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 51
    argCount: 1
    argNames:
    - global
    argTypes:
    - struct wpa_global*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 818
    functionName: wpa_supplicant_global_ctrl_iface_init
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface_udp.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpa_msg_register_cb
    - strerror
    - eloop_register_read_sock
    - socket
    - htonl
    - os_get_random
    - os_strstr
    - os_free
    - os_zalloc
    - close
    - atoi
    - bind
    - htons
    - os_memset
    linkageType: ''
    returnType: struct ctrl_iface_global_priv
    signature: 'struct ctrl_iface_global_priv *

      wpa_supplicant_global_ctrl_iface_init(struct wpa_global *global)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eloop_unregister_read_sock
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:825,1
    - Dst: close
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:826,1
    - Dst: wpas_ctrl_iface_free_dst
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:829,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_udp.c:830,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - priv
    argTypes:
    - struct ctrl_iface_global_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 821
    functionDepth: 1
    functionLinenumber: 821
    functionLinenumberEnd: 831
    functionName: wpa_supplicant_global_ctrl_iface_deinit
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface_udp.c
    functionUses: 1
    functionsReached:
    - os_free
    - eloop_unregister_read_sock
    - wpas_ctrl_iface_free_dst
    - close
    linkageType: ''
    returnType: void
    signature: void wpa_supplicant_global_ctrl_iface_deinit(struct ctrl_iface_global_priv
      *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - channel
    - center_channels
    - num_chan
    - width
    argTypes:
    - u8
    - u8*
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 78
    functionName: get_center
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int get_center(u8 channel, const u8 *center_channels,\n\t\t      unsigned
      int num_chan, int width)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: get_center
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:97,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:98,1
    - Dst: get_center
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:101,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 3
    argNames:
    - bw
    - channel
    - width
    argTypes:
    - int
    - u8
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 108
    functionName: get_center_and_width
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - get_center
    - ARRAY_SIZE
    linkageType: ''
    returnType: u8
    signature: u8 get_center_and_width(int bw, u8 channel, int *width)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: get_mode
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:119,1
    - Dst: get_center_and_width
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:123,1
    - Dst: ieee80211_chan_to_freq
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:132,1
    - Dst: freq_range_list_includes
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:137,1
    - Dst: ieee80211_is_dfs
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:141,1
    - Dst: verify_channel
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:151,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 6
    argNames:
    - wpa_s
    - mode
    - channel
    - bw
    - op_class
    - cf1
    argTypes:
    - struct wpa_supplicant*
    - enum hostapd_hw_mode
    - u8
    - int
    - u8
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 152
    functionName: wpas_nan_valid_chan
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - freq_range_list_includes
    - get_mode
    - ieee80211_chan_to_freq
    - get_center_and_width
    - verify_channel
    - ieee80211_is_dfs
    linkageType: ''
    returnType: bool
    signature: "bool wpas_nan_valid_chan(struct wpa_supplicant *wpa_s,\n\t\t\t\tenum
      hostapd_hw_mode mode,\n\t\t\t\tu8 channel, int bw, u8 op_class, u8 *cf1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_nan_start
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - config
    argTypes:
    - void*
    - struct nan_cluster_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 160
    functionName: wpas_nan_start_cb
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_drv_nan_start
    linkageType: ''
    returnType: int
    signature: int wpas_nan_start_cb(void *ctx, const struct nan_cluster_config *config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_nan_update_config
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - config
    argTypes:
    - void*
    - struct nan_cluster_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 169
    functionName: wpas_nan_update_config_cb
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_drv_nan_update_config
    linkageType: ''
    returnType: int
    signature: "int wpas_nan_update_config_cb(void *ctx,\n\t\t\t\t     const struct
      nan_cluster_config *config)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:177,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:179,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - sched_cfg
    argTypes:
    - struct nan_schedule_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 181
    functionName: clear_sched_config
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpabuf_free
    - os_memset
    linkageType: ''
    returnType: void
    signature: void clear_sched_config(struct nan_schedule_config *sched_cfg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_nan_config_schedule
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:191,1
    - Dst: clear_sched_config
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:192,1
    - Dst: wpa_drv_nan_stop
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:196,1
    - Dst: nan_de_set_cluster_id
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:197,1
    - Dst: wpas_notify_nan_stopped
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 199
    functionName: wpas_nan_stop_cb
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - nan_de_set_cluster_id
    - clear_sched_config
    - wpa_drv_nan_stop
    - wpa_drv_nan_config_schedule
    - wpas_notify_nan_stopped
    linkageType: ''
    returnType: void
    signature: void wpas_nan_stop_cb(void *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:214,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:216,1
    - Dst: nan_get_chan_entry
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:228,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:229,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:238,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 5
    argNames:
    - wpa_s
    - sched
    - i
    - j
    - sched_cfg
    argTypes:
    - struct wpa_supplicant*
    - struct nan_peer_schedule*
    - int
    - int
    - struct nan_schedule_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 244
    functionName: wpas_nan_set_peer_sched_chan
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - nan_get_chan_entry
    - wpa_printf
    - wpabuf_alloc_copy
    - wpa_hexdump
    linkageType: ''
    returnType: int
    signature: "int wpas_nan_set_peer_sched_chan(struct wpa_supplicant *wpa_s,\n\t\t\t\t\tconst
      struct nan_peer_schedule *sched,\n\t\t\t\t\tint i, int j,\n\t\t\t\t\tstruct
      nan_schedule_config *sched_cfg)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:257,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:259,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:265,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:266,1
    - Dst: wpa_drv_sta_add
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:270,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:272,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:277,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:279,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:280,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:286,1
    - Dst: wpas_nan_set_peer_sched_chan
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:294,1
    - Dst: wpa_drv_nan_config_peer_schedule
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:309,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:318,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:322,1
    - Dst: nan_pairing_unpair_peer
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:323,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:325,1
    - Dst: wpa_drv_sta_remove
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:326,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:328,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:339,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    argCount: 8
    argNames:
    - ctx
    - nmi_addr
    - new_sta
    - cdw
    - sequence_id
    - max_channel_switch_time
    - sched
    - ulw_elems
    argTypes:
    - void*
    - u8*
    - bool
    - u16
    - u8
    - u16
    - struct nan_peer_schedule*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 345
    functionName: wpas_nan_set_peer_schedule_cb
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_free
    - MAC2STR
    - wpa_drv_sta_remove
    - nan_pairing_unpair_peer
    - wpa_drv_sta_add
    - wpas_nan_set_peer_sched_chan
    - wpa_drv_nan_config_peer_schedule
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpas_nan_set_peer_schedule_cb(void *ctx, const u8 *nmi_addr,\n\t\t\t\t\t
      bool new_sta, u16 cdw, u8 sequence_id,\n\t\t\t\t\t u16 max_channel_switch_time,\n\t\t\t\t\t
      const struct nan_peer_schedule *sched,\n\t\t\t\t\t const struct wpabuf *ulw_elems)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_notify_nan_ndp_request
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:355,1
    - Dst: wpas_notify_nan_ndp_counter_request
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:362,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - void*
    - struct nan_ndp_action_notif_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 369
    functionName: wpas_nan_ndp_action_notif_cb
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_notify_nan_ndp_counter_request
    - wpas_notify_nan_ndp_request
    linkageType: ''
    returnType: void
    signature: "void wpas_nan_ndp_action_notif_cb(void *ctx,\n\t\t\t     struct nan_ndp_action_notif_params
      *params)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:380,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:391,1
    - Dst: wpa_drv_set_key
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:396,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 5
    argNames:
    - wpa_s
    - ndi_addr
    - csid
    - tk
    - tk_len
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - enum nan_cipher_suite_id
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 398
    functionName: wpas_nan_set_ndi_keys
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_drv_set_key
    - wpa_printf
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpas_nan_set_ndi_keys(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \ const u8 *ndi_addr,\n\t\t\t\t  enum nan_cipher_suite_id csid,\n\t\t\t\t  const
      u8 *tk, size_t tk_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_set_key
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - ndi_addr
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 406
    functionName: wpas_nan_remove_ndi_keys
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_drv_set_key
    linkageType: ''
    returnType: int
    signature: "int wpas_nan_remove_ndi_keys(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \   const u8 *ndi_addr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_set_key
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - wpa_s
    - key_id
    - ndi_addr
    argTypes:
    - struct wpa_supplicant*
    - int
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 414
    functionName: wpas_nan_remove_ndi_gtk
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_drv_set_key
    linkageType: ''
    returnType: int
    signature: "int wpas_nan_remove_ndi_gtk(struct wpa_supplicant *wpa_s, int key_id,\n\t\t\t\t
      \  const u8 *ndi_addr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_set_key
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:422,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:425,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:430,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 432
    functionName: wpas_nan_remove_ndi_local_gtk
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_drv_set_key
    - wpa_printf
    - os_memset
    linkageType: ''
    returnType: int
    signature: int wpas_nan_remove_ndi_local_gtk(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:443,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - wpa_s
    - ndi_addr
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 448
    functionName: wpas_nan_get_ndi_iface
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - ether_addr_equal
    linkageType: ''
    returnType: struct wpa_supplicant
    signature: 'struct wpa_supplicant *

      wpas_nan_get_ndi_iface(struct wpa_supplicant *wpa_s, const u8 *ndi_addr)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nan_get_peer_elems
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:459,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:461,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:466,1
    - Dst: get_ie
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:472,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:474,1
    - Dst: get_ie
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:480,1
    - Dst: wpa_drv_sta_add
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:483,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 2
    argNames:
    - wpa_s
    - nmi_addr
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 484
    functionName: wpas_nan_configure_nmi_sta_capa
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - nan_get_peer_elems
    - get_ie
    - wpa_drv_sta_add
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpas_nan_configure_nmi_sta_capa(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \ const u8 *nmi_addr)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:503,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - csid
    - alg
    argTypes:
    - enum nan_cipher_suite_id
    - enum wpa_alg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 508
    functionName: wpas_nan_csid_to_wpa_alg
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int wpas_nan_csid_to_wpa_alg(enum nan_cipher_suite_id csid,\n\t\t\t\t
      \   enum wpa_alg *alg)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpas_nan_csid_to_wpa_alg
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:520,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:521,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:527,1
    - Dst: wpa_drv_set_key
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:528,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:533,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:538,1
    - Dst: wpas_nan_csid_to_wpa_alg
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:543,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:544,1
    - Dst: wpa_drv_set_key
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:550,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:556,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - wpa_s
    - params
    argTypes:
    - struct wpa_supplicant*
    - struct nan_ndp_connection_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 511
    functionDepth: 1
    functionLinenumber: 511
    functionLinenumberEnd: 563
    functionName: wpas_nan_set_ndi_group_keys
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_nan_csid_to_wpa_alg
    - wpa_printf
    - os_memcpy
    - wpa_drv_set_key
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpas_nan_set_ndi_group_keys(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \      struct nan_ndp_connection_params *params)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: wpas_nan_get_ndi_iface
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:577,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:579,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:581,1
    - Dst: wpas_nan_configure_nmi_sta_capa
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:590,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:591,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:597,1
    - Dst: wpa_drv_sta_add
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:609,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:610,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:612,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:616,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:618,1
    - Dst: wpa_drv_sta_set_flags
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:621,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:623,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:625,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:630,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:631,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:635,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:638,1
    - Dst: nan_peer_get_tk
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:642,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:644,1
    - Dst: wpas_nan_set_ndi_keys
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:648,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:649,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:651,1
    - Dst: forced_memzero
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:652,1
    - Dst: forced_memzero
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:655,1
    - Dst: wpas_nan_set_ndi_group_keys
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:657,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:658,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:660,1
    - Dst: wpas_nan_remove_ndi_keys
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:661,1
    - Dst: wpa_drv_sta_set_flags
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:665,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:667,1
    - Dst: wpas_nan_remove_ndi_keys
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:669,1
    - Dst: wpas_nan_remove_ndi_gtk
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:670,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:677,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:681,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:681,1
    - Dst: wpa_drv_set_operstate
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:686,1
    - Dst: wpa_drv_sta_remove
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:698,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 72
    argCount: 2
    argNames:
    - wpa_s
    - params
    argTypes:
    - struct wpa_supplicant*
    - struct nan_ndp_connection_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 566
    functionDepth: 2
    functionLinenumber: 566
    functionLinenumberEnd: 700
    functionName: wpas_nan_add_ndi_sta
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_drv_set_operstate
    - wpas_nan_set_ndi_group_keys
    - wpas_nan_remove_ndi_keys
    - wpas_nan_get_ndi_iface
    - forced_memzero
    - nan_peer_get_tk
    - wpas_nan_remove_ndi_gtk
    - MAC2STR
    - wpas_nan_configure_nmi_sta_capa
    - wpas_nan_set_ndi_keys
    - wpa_drv_sta_remove
    - wpa_drv_sta_add
    - wpa_drv_sta_set_flags
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpas_nan_add_ndi_sta(struct wpa_supplicant *wpa_s,\n\t\t\t\tstruct
      nan_ndp_connection_params *params)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpas_nan_get_ndi_iface
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:710,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:712,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:714,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:722,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:724,1
    - Dst: wpa_drv_sta_set_flags
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:730,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:733,1
    - Dst: wpas_nan_remove_ndi_keys
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:736,1
    - Dst: wpas_nan_remove_ndi_gtk
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:738,1
    - Dst: wpa_drv_sta_remove
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:739,1
    - Dst: wpas_nan_remove_ndi_local_gtk
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:746,1
    - Dst: wpa_drv_set_operstate
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:747,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 5
    argNames:
    - wpa_s
    - local_ndi
    - peer_ndi
    - remove_sta
    - gtk_id
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 703
    functionDepth: 2
    functionLinenumber: 703
    functionLinenumberEnd: 749
    functionName: wpas_nan_remove_ndi_sta
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_drv_set_operstate
    - wpas_nan_remove_ndi_keys
    - wpas_nan_get_ndi_iface
    - wpas_nan_remove_ndi_local_gtk
    - wpas_nan_remove_ndi_gtk
    - MAC2STR
    - wpa_drv_sta_remove
    - wpa_drv_sta_set_flags
    linkageType: ''
    returnType: void
    signature: "void wpas_nan_remove_ndi_sta(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \   const u8 *local_ndi,\n\t\t\t\t    const u8 *peer_ndi,\n\t\t\t\t    bool
      remove_sta, int gtk_id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_nan_add_ndi_sta
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:758,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:760,1
    - Dst: wpas_notify_nan_ndp_connected
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:765,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - void*
    - struct nan_ndp_connection_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 752
    functionDepth: 3
    functionLinenumber: 752
    functionLinenumberEnd: 772
    functionName: wpas_nan_ndp_connected_cb
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpas_nan_add_ndi_sta
    - wpas_notify_nan_ndp_connected
    linkageType: ''
    returnType: int
    signature: "int wpas_nan_ndp_connected_cb(void *ctx,\n\t\t\t\t     struct nan_ndp_connection_params
      *params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_nan_remove_ndi_sta
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:785,1
    - Dst: wpas_notify_nan_ndp_disconnected
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - ctx
    - ndp_id
    - local_ndi
    - peer_ndi
    - reason
    - locally_generated
    - remove_sta
    - failure
    - gtk_id
    argTypes:
    - void*
    - struct nan_ndp_id*
    - u8*
    - u8*
    - enum nan_reason
    - bool
    - bool
    - bool
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 775
    functionDepth: 3
    functionLinenumber: 775
    functionLinenumberEnd: 789
    functionName: wpas_nan_ndp_disconnected_cb
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_notify_nan_ndp_disconnected
    - wpas_nan_remove_ndi_sta
    linkageType: ''
    returnType: void
    signature: "void wpas_nan_ndp_disconnected_cb(void *ctx, struct nan_ndp_id *ndp_id,\n\t\t\t\t\t
      const u8 *local_ndi,\n\t\t\t\t\t const u8 *peer_ndi,\n\t\t\t\t\t enum nan_reason
      reason,\n\t\t\t\t\t bool locally_generated,\n\t\t\t\t\t bool remove_sta,\n\t\t\t\t\t
      bool failure, u8 gtk_id)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:801,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:802,1
    - Dst: wpas_nan_get_ndi_iface
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:804,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:806,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:808,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:813,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:814,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:814,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:815,1
    - Dst: wpa_drv_send_action
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:817,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:818,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:818,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:820,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 5
    argNames:
    - ctx
    - dst
    - src
    - cluster_id
    - buf
    argTypes:
    - void*
    - u8*
    - u8*
    - u8*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 792
    functionDepth: 3
    functionLinenumber: 792
    functionLinenumberEnd: 823
    functionName: wpas_nan_send_naf_cb
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_drv_send_action
    - wpabuf_len
    - wpas_nan_get_ndi_iface
    - ether_addr_equal
    - wpabuf_head
    - MAC2STR
    linkageType: ''
    returnType: int
    signature: "int wpas_nan_send_naf_cb(void *ctx, const u8 *dst, const u8 *src,\n\t\t\t\tconst
      u8 *cluster_id, struct wpabuf *buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 832
    functionName: nan_chan_info_cmp
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int nan_chan_info_cmp(const void *a, const void *b)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:845,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:849,1
    - Dst: os_memdup
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:854,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:859,1
    - Dst: os_calloc
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:869,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:872,1
    - Dst: get_shared_radio_freqs
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:877,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:880,1
    - Dst: wpas_nan_valid_chan
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:903,1
    - Dst: ieee80211_chan_to_freq
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:907,1
    - Dst: int_array_includes
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:912,1
    - Dst: os_realloc_array
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:923,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:927,1
    - Dst: qsort
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:946,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:952,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:954,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:959,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:960,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 68
    argCount: 3
    argNames:
    - ctx
    - map_id
    - chans
    argTypes:
    - void*
    - u8
    - struct nan_channels*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 835
    functionDepth: 4
    functionLinenumber: 835
    functionLinenumberEnd: 964
    functionName: wpas_nan_get_chans_cb
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_calloc
    - ieee80211_chan_to_freq
    - int_array_includes
    - os_memdup
    - get_shared_radio_freqs
    - wpas_nan_valid_chan
    - os_free
    - qsort
    - os_realloc_array
    linkageType: ''
    returnType: int
    signature: "int wpas_nan_get_chans_cb(void *ctx, u8 map_id,\n\t\t\t\t struct nan_channels
      *chans)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:972,1
    - Dst: nan_de_is_valid_instance_id
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:975,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - instance_id
    - service_id
    argTypes:
    - void*
    - u8
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 967
    functionDepth: 1
    functionLinenumber: 967
    functionLinenumberEnd: 977
    functionName: wpas_nan_is_valid_publish_id_cb
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - nan_de_is_valid_instance_id
    linkageType: ''
    returnType: bool
    signature: "bool wpas_nan_is_valid_publish_id_cb(void *ctx, u8 instance_id,\n\t\t\t\t\t
      \   u8 *service_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_notify_nan_bootstrap_request
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:986,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ctx
    - peer_nmi
    - pbm
    - handle
    - requestor_instance_id
    argTypes:
    - void*
    - u8*
    - u16
    - int
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 980
    functionDepth: 1
    functionLinenumber: 980
    functionLinenumberEnd: 988
    functionName: wpas_nan_bootstrap_request_cb
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_notify_nan_bootstrap_request
    linkageType: ''
    returnType: void
    signature: "void wpas_nan_bootstrap_request_cb(void *ctx, const u8 *peer_nmi,\n\t\t\t\t\t
      \ u16 pbm, int handle,\n\t\t\t\t\t  u8 requestor_instance_id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_notify_nan_bootstrap_success
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:999,1
    - Dst: wpas_notify_nan_bootstrap_failure
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1002,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 7
    argNames:
    - ctx
    - peer_nmi
    - pbm
    - success
    - reason_code
    - handle
    - requestor_instance_id
    argTypes:
    - void*
    - u8*
    - u16
    - bool
    - u8
    - int
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 991
    functionDepth: 1
    functionLinenumber: 991
    functionLinenumberEnd: 1005
    functionName: wpas_nan_bootstrap_completed_cb
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_notify_nan_bootstrap_success
    - wpas_notify_nan_bootstrap_failure
    linkageType: ''
    returnType: void
    signature: "void wpas_nan_bootstrap_completed_cb(void *ctx, const u8 *peer_nmi,\n\t\t\t\t\t
      \   u16 pbm, bool success,\n\t\t\t\t\t    u8 reason_code, int handle,\n\t\t\t\t\t
      \   u8 requestor_instance_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_notify_nan_schedule_changed
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1012,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - peer_nmi
    argTypes:
    - void*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1013
      start: 1008
    functionDepth: 1
    functionLinenumber: 1008
    functionLinenumberEnd: 1013
    functionName: wpas_nan_schedule_changed_cb
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_notify_nan_schedule_changed
    linkageType: ''
    returnType: void
    signature: void wpas_nan_schedule_changed_cb(void *ctx, const u8 *peer_nmi)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nan_de_transmit
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1025,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - ctx
    - peer_nmi
    - attrs
    - handle
    - req_instance_id
    argTypes:
    - void*
    - u8*
    - struct wpabuf*
    - int
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 1016
    functionDepth: 1
    functionLinenumber: 1016
    functionLinenumberEnd: 1027
    functionName: wpas_nan_transmit_followup_cb
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - nan_de_transmit
    linkageType: ''
    returnType: int
    signature: "int wpas_nan_transmit_followup_cb(void *ctx, const u8 *peer_nmi,\n\t\t\t\t\t
      const struct wpabuf *attrs, int handle,\n\t\t\t\t\t u8 req_instance_id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nan_de_get_service_bootstrap_methods
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1037,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - handle
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1038
      start: 1030
    functionDepth: 1
    functionLinenumber: 1030
    functionLinenumberEnd: 1038
    functionName: wpas_nan_get_service_bootstrap_methods
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - nan_de_get_service_bootstrap_methods
    linkageType: ''
    returnType: u16
    signature: u16 wpas_nan_get_service_bootstrap_methods(void *ctx, int handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_send_mlme
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1047,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - data
    - data_len
    argTypes:
    - void*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 1043
    functionDepth: 1
    functionLinenumber: 1043
    functionLinenumberEnd: 1048
    functionName: wpas_nan_pasn_send_cb
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_drv_send_mlme
    linkageType: ''
    returnType: int
    signature: int wpas_nan_pasn_send_cb(void *ctx, const u8 *data, size_t data_len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpas_notify_nan_pairing_status
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1059,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1066,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1068,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1073,1
    - Dst: wpa_drv_set_key
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1074,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1076,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1078,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 7
    argNames:
    - ctx
    - peer_addr
    - akmp
    - cipher
    - status
    - ptk
    - nd_pmk
    argTypes:
    - void*
    - u8*
    - int
    - int
    - u16
    - struct wpa_ptk*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1051
    functionDepth: 1
    functionLinenumber: 1051
    functionLinenumberEnd: 1083
    functionName: wpas_nan_pasn_auth_status_cb
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - MAC2STR
    - wpas_notify_nan_pairing_status
    - wpa_drv_set_key
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpas_nan_pasn_auth_status_cb(void *ctx, const u8 *peer_addr,\n\t\t\t\t\tint
      akmp, int cipher, u16 status,\n\t\t\t\t\tstruct wpa_ptk *ptk, const u8 *nd_pmk)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1097,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1101,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1102,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1107,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1108,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1108,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1109,1
    - Dst: wpa_config_remove_identity
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1111,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1117,1
    - Dst: wpa_config_add_identity
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1119,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1121,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1126,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1131,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1139,1
    - Dst: wpas_notify_nan_nik_received
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1143,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1149,1
    - Dst: wpa_config_remove_identity
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1150,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 8
    argNames:
    - ctx
    - nik
    - nik_len
    - cipher_ver
    - nik_lifetime
    - akmp
    - npk
    - npk_len
    argTypes:
    - void*
    - u8*
    - size_t
    - int
    - int
    - int
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1086
    functionDepth: 1
    functionLinenumber: 1086
    functionLinenumberEnd: 1152
    functionName: wpas_nan_update_pairing_credentials_cb
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump_key
    - wpa_config_add_identity
    - wpabuf_len
    - wpabuf_alloc_copy
    - wpabuf_head
    - os_memcmp
    - wpas_notify_nan_nik_received
    - wpa_config_remove_identity
    linkageType: ''
    returnType: int
    signature: "int wpas_nan_update_pairing_credentials_cb(void *ctx, const u8 *nik,\n\t\t\t\t\t\t
      \ size_t nik_len,\n\t\t\t\t\t\t  int cipher_ver,\n\t\t\t\t\t\t  int nik_lifetime,
      int akmp,\n\t\t\t\t\t\t  const u8 *npk, size_t npk_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1163,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1167,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1168,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1169,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1180,1
    - Dst: nan_crypto_derive_nira_tag
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1188,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1188,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1195,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1195,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1197,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1201,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1204,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 4
    argNames:
    - wpa_s
    - peer_nmi
    - nonce
    - tag
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1209
      start: 1155
    functionDepth: 1
    functionLinenumber: 1155
    functionLinenumberEnd: 1209
    functionName: wpas_nan_find_ik_by_nonce_tag
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_head_u8
    - wpa_hexdump
    - nan_crypto_derive_nira_tag
    - wpabuf_len
    - wpabuf_free
    - wpabuf_head
    - os_memcmp
    linkageType: ''
    returnType: struct wpa_dev_ik
    signature: "struct wpa_dev_ik *\nwpas_nan_find_ik_by_nonce_tag(struct wpa_supplicant
      *wpa_s, const u8 *peer_nmi,\n\t\t\t      const u8 *nonce, const u8 *tag)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1221,1
    - Dst: wpas_nan_find_ik_by_nonce_tag
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1225,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1228,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - ctx
    - peer_nmi
    - nonce
    - tag
    - akmp
    argTypes:
    - void*
    - u8*
    - u8*
    - u8*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1235
      start: 1212
    functionDepth: 2
    functionLinenumber: 1212
    functionLinenumberEnd: 1235
    functionName: wpas_nan_get_npk_akmp_cb
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpas_nan_find_ik_by_nonce_tag
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * wpas_nan_get_npk_akmp_cb(void *ctx,\n\t\t\t\t\t\t
      \     const u8 *peer_nmi,\n\t\t\t\t\t\t      const u8 *nonce,\n\t\t\t\t\t\t
      \     const u8 *tag, int *akmp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_notify_nan_pairing_request
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ctx
    - peer_nmi
    - csid
    - instance_id
    - rsn_data
    argTypes:
    - void*
    - u8*
    - u8
    - u8
    - struct wpa_ie_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1248
      start: 1238
    functionDepth: 1
    functionLinenumber: 1238
    functionLinenumberEnd: 1248
    functionName: wpas_nan_pasn_pairing_request_cb
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_notify_nan_pairing_request
    linkageType: ''
    returnType: void
    signature: "void wpas_nan_pasn_pairing_request_cb(void *ctx, const u8 *peer_nmi,
      u8 csid,\n\t\t\t\t u8 instance_id,\n\t\t\t\t const struct wpa_ie_data *rsn_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_set_key
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - ctx
    - alg
    - addr
    - key_idx
    - seq
    - key
    - key_len
    - key_flags
    argTypes:
    - void*
    - enum wpa_alg
    - u8*
    - int
    - u8*
    - u8*
    - size_t
    - enum key_flag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1262
      start: 1253
    functionDepth: 1
    functionLinenumber: 1253
    functionLinenumberEnd: 1262
    functionName: wpas_nan_set_group_key_cb
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_drv_set_key
    linkageType: ''
    returnType: int
    signature: "int wpas_nan_set_group_key_cb(void *ctx, enum wpa_alg alg,\n\t\t\t\t
      \    const u8 *addr, int key_idx, const u8 *seq,\n\t\t\t\t     const u8 *key,
      size_t key_len,\n\t\t\t\t     enum key_flag key_flags)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpas_nan_get_ndi_iface
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1271,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1273,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1275,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1281,1
    - Dst: wpa_drv_get_seqnum
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1286,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - ctx
    - key_idx
    - seq
    - ndi_addr
    argTypes:
    - void*
    - int
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1287
      start: 1265
    functionDepth: 2
    functionLinenumber: 1265
    functionLinenumberEnd: 1287
    functionName: wpas_nan_get_seqnum_cb
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpas_nan_get_ndi_iface
    - MAC2STR
    - wpa_drv_get_seqnum
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpas_nan_get_seqnum_cb(void *ctx, int key_idx, u8 *seq,\n\t\t\t\t
      \ const u8 *ndi_addr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_nan_get_ndi_iface
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1295,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1297,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1299,1
    - Dst: wpa_drv_get_inact_sec
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1303,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - local_ndi
    - peer_ndi
    argTypes:
    - void*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1304
      start: 1290
    functionDepth: 2
    functionLinenumber: 1290
    functionLinenumberEnd: 1304
    functionName: wpas_nan_get_peer_inactivity
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_nan_get_ndi_iface
    - wpa_printf
    - MAC2STR
    - wpa_drv_get_inact_sec
    linkageType: ''
    returnType: int
    signature: "int wpas_nan_get_peer_inactivity(void *ctx, const u8 *local_ndi,\n\t\t\t\t\tconst
      u8 *peer_ndi)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1314,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1318,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1320,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1329,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1343,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1356,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1366,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1393,1
    - Dst: os_get_random
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1437,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1438,1
    - Dst: nan_init
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1445,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1447,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1452,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1457,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1487,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1488,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1490,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1491,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 94
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1495
      start: 1307
    functionDepth: 1
    functionLinenumber: 1307
    functionLinenumberEnd: 1495
    functionName: wpas_nan_init
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - os_memcpy
    - os_get_random
    - BIT
    - nan_init
    - os_memset
    linkageType: ''
    returnType: int
    signature: int wpas_nan_init(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear_sched_config
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1506,1
    - Dst: nan_deinit
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1508,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1509,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1510,1
    - Dst: clear_sched_config
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1512,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1513,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1516,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1521
      start: 1498
    functionDepth: 2
    functionLinenumber: 1498
    functionLinenumberEnd: 1521
    functionName: wpas_nan_deinit
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 2
    functionsReached:
    - nan_deinit
    - wpabuf_free
    - clear_sched_config
    - os_free
    - os_memset
    linkageType: ''
    returnType: void
    signature: void wpas_nan_deinit(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1528
      start: 1524
    functionDepth: 0
    functionLinenumber: 1524
    functionLinenumberEnd: 1528
    functionName: wpas_nan_ready
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool wpas_nan_ready(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_nan_ready
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1533,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1535
      start: 1531
    functionDepth: 1
    functionLinenumber: 1531
    functionLinenumberEnd: 1535
    functionName: wpas_nan_ndp_allowed
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_nan_ready
    linkageType: ''
    returnType: bool
    signature: bool wpas_nan_ndp_allowed(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_nan_ready
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1541,1
    - Dst: nan_start
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1544,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1545
      start: 1539
    functionDepth: 1
    functionLinenumber: 1539
    functionLinenumberEnd: 1545
    functionName: wpas_nan_start
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - nan_start
    - wpas_nan_ready
    linkageType: ''
    returnType: int
    signature: int wpas_nan_start(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_nan_ready
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1550,1
    - Dst: nan_stop
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1553,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1556
      start: 1548
    functionDepth: 1
    functionLinenumber: 1548
    functionLinenumberEnd: 1556
    functionName: wpas_nan_stop
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - nan_stop
    - wpas_nan_ready
    linkageType: ''
    returnType: int
    signature: int wpas_nan_stop(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_nan_ready
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1561,1
    - Dst: nan_flush
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1564,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1565
      start: 1559
    functionDepth: 1
    functionLinenumber: 1559
    functionLinenumberEnd: 1565
    functionName: wpas_nan_flush
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - nan_flush
    - wpas_nan_ready
    linkageType: ''
    returnType: void
    signature: void wpas_nan_flush(struct wpa_supplicant *wpa_s)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1577,1
    - Dst: sscanf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1590,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1592,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1595,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1600,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1602,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1615,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1618,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1626,1
    - Dst: op_class_idx_to_chan
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1629,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1631,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1634,1
    - Dst: wpas_nan_valid_chan
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1644,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1647,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1650,1
    - Dst: get_center_and_width
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1657,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1660,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1663,1
    - Dst: os_realloc_array
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1673,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1676,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1678,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1694,1
    - Dst: qsort
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1703,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1707,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1712,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 81
    argCount: 2
    argNames:
    - wpa_s
    - param
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1716
      start: 1568
    functionDepth: 3
    functionLinenumber: 1568
    functionLinenumberEnd: 1716
    functionName: wpas_nan_parse_override_potential_avail
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - get_center_and_width
    - sscanf
    - wpas_nan_valid_chan
    - BIT
    - op_class_idx_to_chan
    - os_free
    - os_strchr
    - qsort
    - os_realloc_array
    linkageType: ''
    returnType: int
    signature: "int wpas_nan_parse_override_potential_avail(struct wpa_supplicant
      *wpa_s,\n\t\t\t\t\t\t   char *param)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1722,1
    - Dst: NAN_PARSE_INT
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1768,1
    - Dst: NAN_PARSE_INT
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1769,1
    - Dst: NAN_PARSE_INT
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1770,1
    - Dst: NAN_PARSE_INT
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1771,1
    - Dst: NAN_PARSE_INT
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1772,1
    - Dst: NAN_PARSE_BAND
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1774,1
    - Dst: NAN_PARSE_BAND
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1775,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1777,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1780,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1781,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1787,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1791,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1795,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1796,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1800,1
    - Dst: freq_range_list_parse
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1801,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1803,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1811,1
    - Dst: wpas_nan_parse_override_potential_avail
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1812,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1814,1
    - Dst: sscanf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1817,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1819,1
    - Dst: nan_set_bootstrap_configuration
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1824,1
    - Dst: NAN_PARSE_PAIRING_BOOL
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1858,1
    - Dst: NAN_PARSE_PAIRING_BOOL
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1859,1
    - Dst: NAN_PARSE_PAIRING_BOOL
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1860,1
    - Dst: NAN_PARSE_PAIRING_INT
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1861,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1866,1
    - Dst: hexstr2bin
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1871,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1872,1
    - Dst: nan_pairing_set_nik
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1876,1
    - Dst: forced_memzero
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1877,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1881,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1882,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1885,1
    - Dst: nan_pairing_set_nik_lifetime
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1889,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1893,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1896,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1898,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1904,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1907,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1914,1
    - Dst: nan_set_mgmt_group_cipher
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1919,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1922,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1923,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1927,1
    - Dst: nan_set_beacon_prot
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1932,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1939,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1940,1
    - Dst: nan_de_set_tx_mcast_follow_up_prot
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1942,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1946,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1947,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1952,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1953,1
    - Dst: nan_set_max_ndl_idle_period
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1955,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1959,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 105
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1961
      start: 1719
    functionDepth: 4
    functionLinenumber: 1719
    functionLinenumberEnd: 1961
    functionName: wpas_nan_set
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - NAN_PARSE_INT
    - NAN_PARSE_PAIRING_BOOL
    - forced_memzero
    - nan_set_max_ndl_idle_period
    - nan_pairing_set_nik
    - nan_de_set_tx_mcast_follow_up_prot
    - wpas_nan_parse_override_potential_avail
    - atoi
    - nan_set_mgmt_group_cipher
    - wpa_printf
    - hwaddr_aton
    - nan_pairing_set_nik_lifetime
    - os_strcmp
    - freq_range_list_parse
    - nan_set_bootstrap_configuration
    - hexstr2bin
    - NAN_PARSE_PAIRING_INT
    - os_strchr
    - os_memcpy
    - sscanf
    - NAN_PARSE_BAND
    - nan_set_beacon_prot
    linkageType: ''
    returnType: int
    signature: int wpas_nan_set(struct wpa_supplicant *wpa_s, char *cmd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _str
    - ','
    - _min
    - ','
    - _max
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1741
      start: 1729
    functionDepth: 0
    functionLinenumber: 1729
    functionLinenumberEnd: 1741
    functionName: NAN_PARSE_INT
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NAN_PARSE_INT(_str, _min, _max)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _str
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1766
      start: 1742
    functionDepth: 0
    functionLinenumber: 1742
    functionLinenumberEnd: 1766
    functionName: NAN_PARSE_BAND
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NAN_PARSE_BAND(_str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _str
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1845
      start: 1834
    functionDepth: 0
    functionLinenumber: 1834
    functionLinenumberEnd: 1845
    functionName: NAN_PARSE_PAIRING_BOOL
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NAN_PARSE_PAIRING_BOOL(_str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _str
    - ','
    - _mask
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1857
      start: 1846
    functionDepth: 0
    functionLinenumber: 1846
    functionLinenumberEnd: 1857
    functionName: NAN_PARSE_PAIRING_INT
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NAN_PARSE_PAIRING_INT(_str, _mask)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_nan_ready
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1966,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1969,1
    - Dst: nan_update_config
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:1970,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1971
      start: 1964
    functionDepth: 1
    functionLinenumber: 1964
    functionLinenumberEnd: 1971
    functionName: wpas_nan_update_conf
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_nan_ready
    - nan_update_config
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int wpas_nan_update_conf(struct wpa_supplicant *wpa_s)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 3
    argNames:
    - chan
    - op_class
    - bw
    argTypes:
    - u8
    - u8*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2007
      start: 1974
    functionDepth: 0
    functionLinenumber: 1974
    functionLinenumberEnd: 2007
    functionName: nan_select_40mhz_channel
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 nan_select_40mhz_channel(u8 chan, u8 *op_class, int *bw)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ieee80211_freq_to_channel_ext
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2018,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2021,1
    - Dst: wpas_nan_valid_chan
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2025,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2026,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2038,1
    - Dst: wpas_nan_valid_chan
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2042,1
    - Dst: ieee80211_chan_to_freq
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2043,1
    - Dst: wpas_nan_valid_chan
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2049,1
    - Dst: ieee80211_chan_to_freq
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2050,1
    - Dst: nan_select_40mhz_channel
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2056,1
    - Dst: wpas_nan_valid_chan
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2057,1
    - Dst: ieee80211_chan_to_freq
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2059,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 5
    argNames:
    - wpa_s
    - freq
    - center_freq1
    - center_freq2
    - bandwidth
    argTypes:
    - struct wpa_supplicant*
    - int
    - int*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2072
      start: 2010
    functionDepth: 3
    functionLinenumber: 2010
    functionLinenumberEnd: 2072
    functionName: wpas_nan_select_channel_params
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - ieee80211_chan_to_freq
    - wpas_nan_valid_chan
    - nan_select_40mhz_channel
    - ieee80211_freq_to_channel_ext
    linkageType: ''
    returnType: int
    signature: "int wpas_nan_select_channel_params(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \ int freq, int *center_freq1,\n\t\t\t\t\t  int *center_freq2, int *bandwidth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2080,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2083,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2090,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - title
    - sched_cfg
    argTypes:
    - char*
    - struct nan_schedule_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2092
      start: 2075
    functionDepth: 1
    functionLinenumber: 2075
    functionLinenumberEnd: 2092
    functionName: nan_dump_sched_config
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpabuf_len
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: "void nan_dump_sched_config(const char *title,\n\t\t\t\t  struct nan_schedule_config
      *sched_cfg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_nan_fill_ndp_schedule
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2102,1
    - Dst: nan_local_sched_update
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2104
      start: 2098
    functionDepth: 1
    functionLinenumber: 2098
    functionLinenumberEnd: 2104
    functionName: wpas_nan_update_local_schedule
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_nan_fill_ndp_schedule
    - nan_local_sched_update
    linkageType: ''
    returnType: void
    signature: void wpas_nan_update_local_schedule(struct wpa_supplicant *wpa_s)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: wpas_nan_ndp_allowed
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2123,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2127,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2132,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2133,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2137,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2140,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2145,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2153,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2161,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2163,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2165,1
    - Dst: wpa_drv_nan_config_schedule
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2167,1
    - Dst: clear_sched_config
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2169,1
    - Dst: wpas_nan_update_local_schedule
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2170,1
    - Dst: os_calloc
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2176,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2179,1
    - Dst: get_shared_radio_freqs
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2185,1
    - Dst: bitfield_alloc
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2191,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2194,1
    - Dst: str_token
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2201,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2202,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2206,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2212,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2217,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2224,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2229,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2231,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2239,1
    - Dst: wpas_nan_select_channel_params
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2246,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2251,1
    - Dst: int_array_includes
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2257,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2260,1
    - Dst: wpabuf_parse_bin
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2270,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2272,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2278,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2280,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2282,1
    - Dst: bitfield_alloc_data
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2288,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2289,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2290,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2292,1
    - Dst: bitfield_intersects
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2297,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2298,1
    - Dst: bitfield_free
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2301,1
    - Dst: bitfield_union_in_place
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2309,1
    - Dst: bitfield_free
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2310,1
    - Dst: nan_get_chan_entry
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2318,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2319,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2326,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2328,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2335,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2338,1
    - Dst: wpas_nan_fill_ndp_schedule
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2339,1
    - Dst: nan_convert_sched_to_avail_attrs
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2341,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2343,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2349,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2352,1
    - Dst: nan_has_active_ndp
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2358,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2359,1
    - Dst: nan_set_sched_update_pending
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2362,1
    - Dst: nan_dump_sched_config
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2365,1
    - Dst: wpa_drv_nan_config_schedule
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2366,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2368,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2371,1
    - Dst: nan_set_sched_update_pending
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2373,1
    - Dst: clear_sched_config
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2380,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2381,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2383,1
    - Dst: wpas_nan_update_local_schedule
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2384,1
    - Dst: nan_set_cdw_overwrite
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2389,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2394,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2395,1
    - Dst: clear_sched_config
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2397,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 181
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2400
      start: 2109
    functionDepth: 4
    functionLinenumber: 2109
    functionLinenumberEnd: 2400
    functionName: wpas_nan_sched_config_map
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_nan_ndp_allowed
    - wpas_nan_fill_ndp_schedule
    - bitfield_alloc_data
    - wpabuf_alloc
    - BIT
    - bitfield_free
    - atoi
    - nan_set_cdw_overwrite
    - wpabuf_parse_bin
    - nan_get_chan_entry
    - wpa_printf
    - bitfield_alloc
    - clear_sched_config
    - nan_dump_sched_config
    - wpas_nan_update_local_schedule
    - os_free
    - os_strcmp
    - nan_convert_sched_to_avail_attrs
    - bitfield_intersects
    - wpabuf_len
    - bitfield_union_in_place
    - get_shared_radio_freqs
    - wpabuf_head
    - wpa_drv_nan_config_schedule
    - os_strchr
    - os_memset
    - os_memcpy
    - os_calloc
    - str_token
    - int_array_includes
    - os_strncmp
    - wpas_nan_select_channel_params
    - nan_set_sched_update_pending
    - nan_has_active_ndp
    linkageType: ''
    returnType: int
    signature: int wpas_nan_sched_config_map(struct wpa_supplicant *wpa_s, const char
      *cmd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2415,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2419,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2420,1
    - Dst: wpabuf_put
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2421,1
    - Dst: host_to_le16
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2422,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2424,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2430,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2431,1
    - Dst: wpabuf_put
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2432,1
    - Dst: host_to_le32
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2434,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2435,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2441
      start: 2403
    functionDepth: 1
    functionLinenumber: 2403
    functionLinenumberEnd: 2441
    functionName: wpas_nan_build_ndp_elems
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpabuf_put
    - wpabuf_put_u8
    - host_to_le32
    - wpabuf_alloc
    - host_to_le16
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * wpas_nan_build_ndp_elems(struct wpa_supplicant *wpa_s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2456,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2462,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2463,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2465,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2481,1
    - Dst: ffs
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2488,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2491,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2493,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 4
    argNames:
    - wpa_s
    - sched
    - map_id
    - chan
    argTypes:
    - struct wpa_supplicant*
    - struct nan_schedule*
    - int
    - struct nan_schedule_channel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2502
      start: 2444
    functionDepth: 1
    functionLinenumber: 2444
    functionLinenumberEnd: 2502
    functionName: wpas_nan_fill_ndp_schedule_chan
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - ffs
    - wpabuf_len
    - wpabuf_head
    linkageType: ''
    returnType: int
    signature: "int wpas_nan_fill_ndp_schedule_chan(struct wpa_supplicant *wpa_s,\n\t\t\t\tstruct
      nan_schedule *sched, int map_id,\n\t\t\t\tconst struct nan_schedule_channel
      *chan)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2510,1
    - Dst: wpas_nan_fill_ndp_schedule_chan
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2522,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2530,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - wpa_s
    - sched
    argTypes:
    - struct wpa_supplicant*
    - struct nan_schedule*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2531
      start: 2505
    functionDepth: 2
    functionLinenumber: 2505
    functionLinenumberEnd: 2531
    functionName: wpas_nan_fill_ndp_schedule
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 2
    functionsReached:
    - BIT
    - wpas_nan_fill_ndp_schedule_chan
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void wpas_nan_fill_ndp_schedule(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \      struct nan_schedule *sched)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nan_get_peer_ndc_freq
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2539,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2542,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2547,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2555,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - wpa_s
    - peer_sched
    - peer_map_id
    argTypes:
    - struct wpa_supplicant*
    - struct nan_peer_schedule*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2564
      start: 2534
    functionDepth: 1
    functionLinenumber: 2534
    functionLinenumberEnd: 2564
    functionName: wpas_nan_get_ndc_map_id
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - nan_get_peer_ndc_freq
    linkageType: ''
    returnType: int
    signature: "int wpas_nan_get_ndc_map_id(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \  const struct nan_peer_schedule *peer_sched,\n\t\t\t\t   u8 peer_map_id)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2575,1
    - Dst: nan_peer_get_schedule_info
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2576,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2579,1
    - Dst: wpas_nan_get_ndc_map_id
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2585,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2588,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2594,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2600,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - wpa_s
    - ndp
    argTypes:
    - struct wpa_supplicant*
    - struct nan_ndp_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2602
      start: 2568
    functionDepth: 2
    functionLinenumber: 2568
    functionLinenumberEnd: 2602
    functionName: wpas_nan_select_ndc_copy_peers
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - nan_peer_get_schedule_info
    - wpas_nan_get_ndc_map_id
    - os_memcpy
    linkageType: ''
    returnType: int
    signature: "int wpas_nan_select_ndc_copy_peers(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \ struct nan_ndp_params *ndp)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpas_nan_select_ndc_copy_peers
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2618,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2623,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2629,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2630,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2648,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2649,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 2
    argNames:
    - wpa_s
    - ndp
    argTypes:
    - struct wpa_supplicant*
    - struct nan_ndp_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2670
      start: 2605
    functionDepth: 3
    functionLinenumber: 2605
    functionLinenumberEnd: 2670
    functionName: wpas_nan_select_ndc
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - BIT
    - wpas_nan_select_ndc_copy_peers
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpas_nan_select_ndc(struct wpa_supplicant *wpa_s,\n\t\t\t       struct
      nan_ndp_params *ndp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpas_nan_fill_ndp_schedule
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2681,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2684,1
    - Dst: wpas_nan_build_ndp_elems
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2693,1
    - Dst: wpas_nan_select_ndc
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2698,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - wpa_s
    - ndp
    argTypes:
    - struct wpa_supplicant*
    - struct nan_ndp_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2699
      start: 2673
    functionDepth: 4
    functionLinenumber: 2673
    functionLinenumberEnd: 2699
    functionName: wpas_nan_set_ndp_schedule
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_nan_build_ndp_elems
    - wpas_nan_fill_ndp_schedule
    - wpa_printf
    - wpas_nan_select_ndc
    linkageType: ''
    returnType: int
    signature: "int wpas_nan_set_ndp_schedule(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \    struct nan_ndp_params *ndp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2704,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2710,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2716,1
    - Dst: hexstr2bin
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2720,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2721,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2722,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2729,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2732,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - hexstr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2739
      start: 2702
    functionDepth: 1
    functionLinenumber: 2702
    functionLinenumberEnd: 2739
    functionName: wpas_nan_parse_password_hex
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - hexstr2bin
    - os_malloc
    - os_free
    linkageType: ''
    returnType: char
    signature: char * wpas_nan_parse_password_hex(const char *hexstr)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2751,1
    - Dst: nan_de_is_valid_instance_id
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2760,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2763,1
    - Dst: nan_de_service_supports_csid
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2774,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2776,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2789,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2790,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2796,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2796,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2797,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2804,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2805,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2806,1
    - Dst: hexstr2bin
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2810,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2811,1
    - Dst: nan_crypto_derive_nd_pmk
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2819,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 6
    argNames:
    - wpa_s
    - ndp
    - handle
    - publisher_nmi
    - pwd
    - pmk
    argTypes:
    - struct wpa_supplicant*
    - struct nan_ndp_params*
    - int
    - u8*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2821
      start: 2742
    functionDepth: 1
    functionLinenumber: 2742
    functionLinenumberEnd: 2821
    functionName: wpas_nan_fill_nd_pmk
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - nan_crypto_derive_nd_pmk
    - wpa_printf
    - hexstr2bin
    - BIT
    - nan_de_is_valid_instance_id
    - nan_de_service_supports_csid
    linkageType: ''
    returnType: int
    signature: "int wpas_nan_fill_nd_pmk(struct wpa_supplicant *wpa_s,\n\t\t\t\tstruct
      nan_ndp_params *ndp,\n\t\t\t\tint handle,\n\t\t\t\tconst u8 *publisher_nmi,\n\t\t\t\tconst
      char *pwd, const char *pmk)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2829,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2835,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2848,1
    - Dst: os_get_random
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2853,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2854,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2860,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - ndi_wpa_s
    - ndp
    - gtk_csid
    argTypes:
    - struct wpa_supplicant*
    - struct nan_ndp_params*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2863
      start: 2824
    functionDepth: 0
    functionLinenumber: 2824
    functionLinenumberEnd: 2863
    functionName: wpas_nan_set_gtk
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_get_random
    - os_memcpy
    - wpa_hexdump_key
    linkageType: ''
    returnType: int
    signature: "int wpas_nan_set_gtk(struct wpa_supplicant *ndi_wpa_s,\n\t\t\t    struct
      nan_ndp_params *ndp, int gtk_csid)"
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2884,1
    - Dst: wpas_nan_ndp_allowed
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2886,1
    - Dst: str_token
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2894,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2895,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2897,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2904,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2905,1
    - Dst: nan_de_is_valid_instance_id
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2908,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2912,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2917,1
    - Dst: wpa_supplicant_get_iface
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2918,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2921,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2928,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2934,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2936,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2937,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2938,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2944,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2945,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2946,1
    - Dst: wpabuf_parse_bin
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2947,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2949,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2954,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2955,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2956,1
    - Dst: sscanf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2957,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2960,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2965,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2966,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2967,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2969,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2971,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2973,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2974,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2976,1
    - Dst: hexstr2bin
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2980,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2982,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2989,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2990,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2993,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:2999,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3007,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3012,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3017,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3018,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3022,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3023,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3029,1
    - Dst: wpas_nan_parse_password_hex
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3035,1
    - Dst: wpas_nan_fill_nd_pmk
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3040,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3042,1
    - Dst: wpas_nan_set_ndp_schedule
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3047,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3048,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3054,1
    - Dst: wpas_nan_set_gtk
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3059,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3060,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3065,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3066,1
    - Dst: nan_handle_ndp_setup
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3068,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3070,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3071,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3072,1
    - Dst: str_clear_free
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3073,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 164
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3076
      start: 2870
    functionDepth: 5
    functionLinenumber: 2870
    functionLinenumberEnd: 3076
    functionName: wpas_nan_ndp_request
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_nan_ndp_allowed
    - atoi
    - wpabuf_parse_bin
    - wpa_printf
    - wpas_nan_set_ndp_schedule
    - hwaddr_aton
    - str_clear_free
    - os_free
    - os_strcmp
    - wpabuf_len
    - hexstr2bin
    - is_zero_ether_addr
    - os_malloc
    - wpabuf_head
    - nan_handle_ndp_setup
    - wpas_nan_set_gtk
    - nan_de_is_valid_instance_id
    - os_strchr
    - os_memset
    - os_memcpy
    - wpas_nan_parse_password_hex
    - str_token
    - sscanf
    - wpabuf_free
    - MAC2STR
    - wpas_nan_fill_nd_pmk
    - wpa_supplicant_get_iface
    linkageType: ''
    returnType: int
    signature: int wpas_nan_ndp_request(struct wpa_supplicant *wpa_s, char *cmd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nan_ndp_requested_gtk_csid
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3085,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3087,1
    - Dst: nan_de_service_supports_csid
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3091,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3092,1
    - Dst: wpas_nan_set_gtk
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3098,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - wpa_s
    - ndi_wpa_s
    - handle
    - ndp
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_supplicant*
    - int
    - struct nan_ndp_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3099
      start: 3079
    functionDepth: 1
    functionLinenumber: 3079
    functionLinenumberEnd: 3099
    functionName: wpas_nan_ndp_response_set_gtk
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpas_nan_set_gtk
    - nan_de_service_supports_csid
    - nan_ndp_requested_gtk_csid
    linkageType: ''
    returnType: int
    signature: "int wpas_nan_ndp_response_set_gtk(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \ struct wpa_supplicant *ndi_wpa_s,\n\t\t\t\t  int handle, struct nan_ndp_params
      *ndp)"
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: wpas_nan_ndp_allowed
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3121,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3124,1
    - Dst: str_token
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3131,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3133,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3137,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3139,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3142,1
    - Dst: str_token
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3148,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3149,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3151,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3157,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3158,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3159,1
    - Dst: wpa_supplicant_get_iface
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3160,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3163,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3170,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3176,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3178,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3179,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3180,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3185,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3186,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3187,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3188,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3189,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3194,1
    - Dst: wpabuf_parse_bin
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3195,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3197,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3202,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3203,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3204,1
    - Dst: sscanf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3205,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3208,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3213,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3214,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3215,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3216,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3217,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3219,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3221,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3223,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3224,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3226,1
    - Dst: hexstr2bin
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3230,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3232,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3240,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3246,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3253,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3254,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3265,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3271,1
    - Dst: wpas_nan_parse_password_hex
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3277,1
    - Dst: wpas_nan_fill_nd_pmk
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3282,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3285,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3291,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3292,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3297,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3298,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3304,1
    - Dst: wpas_nan_ndp_response_set_gtk
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3310,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3311,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3316,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3320,1
    - Dst: wpas_nan_set_ndp_schedule
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3322,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3323,1
    - Dst: nan_handle_ndp_setup
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3328,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3330,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3333,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3334,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3335,1
    - Dst: str_clear_free
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3336,1
    CyclomaticComplexity: 68
    EdgeCount: 68
    ICount: 180
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3339
      start: 3108
    functionDepth: 5
    functionLinenumber: 3108
    functionLinenumberEnd: 3339
    functionName: wpas_nan_ndp_response
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_nan_ndp_allowed
    - atoi
    - wpabuf_parse_bin
    - wpa_printf
    - wpas_nan_set_ndp_schedule
    - hwaddr_aton
    - ether_addr_equal
    - str_clear_free
    - os_free
    - wpas_nan_ndp_response_set_gtk
    - os_strcmp
    - wpabuf_len
    - hexstr2bin
    - is_zero_ether_addr
    - os_malloc
    - wpabuf_head
    - nan_handle_ndp_setup
    - os_strchr
    - os_memset
    - os_memcpy
    - wpas_nan_parse_password_hex
    - str_token
    - sscanf
    - wpabuf_free
    - MAC2STR
    - wpas_nan_fill_nd_pmk
    - wpa_supplicant_get_iface
    linkageType: ''
    returnType: int
    signature: int wpas_nan_ndp_response(struct wpa_supplicant *wpa_s, char *cmd)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: wpas_nan_ndp_allowed
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3349,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3352,1
    - Dst: str_token
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3357,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3358,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3360,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3367,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3368,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3369,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3374,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3375,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3376,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3381,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3382,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3384,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3390,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3391,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3396,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3397,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3403,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3408,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3410,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3411,1
    - Dst: nan_handle_ndp_setup
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3413,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3414
      start: 3343
    functionDepth: 2
    functionLinenumber: 3343
    functionLinenumberEnd: 3414
    functionName: wpas_nan_ndp_terminate
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_nan_ndp_allowed
    - wpa_printf
    - str_token
    - hwaddr_aton
    - is_zero_ether_addr
    - MAC2STR
    - nan_handle_ndp_setup
    - atoi
    - os_strchr
    - os_strcmp
    - os_memset
    linkageType: ''
    returnType: int
    signature: int wpas_nan_ndp_terminate(struct wpa_supplicant *wpa_s, char *cmd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpas_nan_ready
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3424,1
    - Dst: nan_get_status
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3427,1
    - Dst: nan_de_get_status
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3431,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - wpa_s
    - reply
    - reply_size
    argTypes:
    - struct wpa_supplicant*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3435
      start: 3417
    functionDepth: 1
    functionLinenumber: 3417
    functionLinenumberEnd: 3435
    functionName: wpas_nan_status
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - nan_de_get_status
    - nan_get_status
    - wpas_nan_ready
    linkageType: ''
    returnType: int
    signature: "int wpas_nan_status(struct wpa_supplicant *wpa_s, char *reply,\n\t\t
      \   size_t reply_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_scnprintf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3445,1
    - Dst: wpa_scnprintf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3446,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3447,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3447,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3448,1
    - Dst: wpa_scnprintf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3449,1
    - Dst: wpa_scnprintf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3452,1
    - Dst: wpa_key_mgmt_txt
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3453,1
    - Dst: wpa_scnprintf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3454,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3455,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3455,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3456,1
    - Dst: wpa_scnprintf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3457,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - reply
    - reply_size
    - ik
    argTypes:
    - char*
    - size_t
    - struct wpa_dev_ik*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3461
      start: 3439
    functionDepth: 1
    functionLinenumber: 3439
    functionLinenumberEnd: 3461
    functionName: wpas_nan_append_ik_info
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_snprintf_hex
    - wpa_scnprintf
    - wpabuf_len
    - wpabuf_head
    - wpa_key_mgmt_txt
    linkageType: ''
    returnType: int
    signature: "int wpas_nan_append_ik_info(char *reply, size_t reply_size,\n\t\t\t\t
      \  const struct wpa_dev_ik *ik)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: wpas_nan_ready
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3474,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3477,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3478,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3482,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3484,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3488,1
    - Dst: nan_peer_get_schedule_info
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3491,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3492,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3494,1
    - Dst: nan_peer_dump_sched_to_buf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3498,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3499,1
    - Dst: nan_peer_get_pot_avail
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3502,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3503,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3505,1
    - Dst: nan_peer_dump_pot_avail_to_buf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3509,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3511,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3517,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3519,1
    - Dst: nan_peer_get_device_capabilities
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3521,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3524,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3526,1
    - Dst: wpa_scnprintf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3530,1
    - Dst: wpa_scnprintf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3533,1
    - Dst: wpa_scnprintf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3535,1
    - Dst: wpa_scnprintf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3537,1
    - Dst: wpa_scnprintf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3539,1
    - Dst: wpa_scnprintf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3542,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3546,1
    - Dst: nan_bootstrap_get_supported_methods
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3549,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3552,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3554,1
    - Dst: wpa_scnprintf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3558,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3562,1
    - Dst: nan_peer_get_pairing_cfg
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3568,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3571,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3573,1
    - Dst: wpa_scnprintf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3577,1
    - Dst: wpas_nan_find_ik_by_nonce_tag
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3589,1
    - Dst: wpas_nan_append_ik_info
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3593,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3596,1
    - Dst: nan_peer_dump_ndps_to_buf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3597,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3600,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3602,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3606,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 73
    argCount: 4
    argNames:
    - wpa_s
    - cmd
    - reply
    - reply_size
    argTypes:
    - struct wpa_supplicant*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3611
      start: 3467
    functionDepth: 2
    functionLinenumber: 3467
    functionLinenumberEnd: 3611
    functionName: wpas_nan_peer_info
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_nan_ready
    - wpa_printf
    - nan_peer_dump_sched_to_buf
    - nan_peer_get_device_capabilities
    - wpa_scnprintf
    - hwaddr_aton
    - nan_bootstrap_get_supported_methods
    - nan_peer_get_schedule_info
    - wpas_nan_find_ik_by_nonce_tag
    - os_strncmp
    - MAC2STR
    - nan_peer_get_pot_avail
    - nan_peer_dump_pot_avail_to_buf
    - atoi
    - os_strchr
    - nan_peer_get_pairing_cfg
    - nan_peer_dump_ndps_to_buf
    - wpas_nan_append_ik_info
    linkageType: ''
    returnType: int
    signature: "int wpas_nan_peer_info(struct wpa_supplicant *wpa_s, const char *cmd,\n\t\t
      \      char *reply, size_t reply_size)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: wpas_nan_ndp_allowed
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3627,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3631,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3635,1
    - Dst: str_token
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3640,1
    - Dst: sscanf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3641,1
    - Dst: sscanf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3644,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3647,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3648,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3652,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3657,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3664,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3669,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3674,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3675,1
    - Dst: nan_bootstrap_request
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3680,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3682
      start: 3618
    functionDepth: 2
    functionLinenumber: 3618
    functionLinenumberEnd: 3682
    functionName: wpas_nan_bootstrap_request
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_nan_ndp_allowed
    - wpa_printf
    - nan_bootstrap_request
    - str_token
    - sscanf
    - hwaddr_aton
    - is_zero_ether_addr
    - os_strncmp
    - atoi
    - os_strchr
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: int wpas_nan_bootstrap_request(struct wpa_supplicant *wpa_s, char *cmd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpas_nan_ndp_allowed
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3690,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3693,1
    - Dst: nan_bootstrap_peer_reset
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3696,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3697
      start: 3686
    functionDepth: 2
    functionLinenumber: 3686
    functionLinenumberEnd: 3697
    functionName: wpas_nan_bootstrap_reset
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_nan_ndp_allowed
    - hwaddr_aton
    - nan_bootstrap_peer_reset
    linkageType: ''
    returnType: int
    signature: int wpas_nan_bootstrap_reset(struct wpa_supplicant *wpa_s, char *cmd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3704,1
    - Dst: wpas_nan_ndp_allowed
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3707,1
    - Dst: wpas_nan_fill_ndp_schedule
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3710,1
    - Dst: nan_add_dev_capa_attr
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3711,1
    - Dst: nan_convert_sched_to_avail_attrs
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3712,1
    - Dst: nan_pairing_add_attrs
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3716,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3724,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - ctx
    - buf
    argTypes:
    - void*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3728
      start: 3700
    functionDepth: 3
    functionLinenumber: 3700
    functionLinenumberEnd: 3728
    functionName: wpas_nan_de_add_extra_attrs
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_nan_ndp_allowed
    - wpas_nan_fill_ndp_schedule
    - nan_add_dev_capa_attr
    - nan_convert_sched_to_avail_attrs
    - nan_pairing_add_attrs
    - wpabuf_put_buf
    - BIT
    linkageType: ''
    returnType: void
    signature: void wpas_nan_de_add_extra_attrs(void *ctx, struct wpabuf *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_nan_ready
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3735,1
    - Dst: wpas_notify_nan_cluster_join
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3738,1
    - Dst: nan_de_set_cluster_id
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3740,1
    - Dst: nan_set_cluster_id
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3741,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - wpa_s
    - cluster_id
    - new_cluster
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3742
      start: 3731
    functionDepth: 1
    functionLinenumber: 3731
    functionLinenumberEnd: 3742
    functionName: wpas_nan_cluster_join
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - nan_set_cluster_id
    - wpas_nan_ready
    - nan_de_set_cluster_id
    - wpas_notify_nan_cluster_join
    linkageType: ''
    returnType: void
    signature: "void wpas_nan_cluster_join(struct wpa_supplicant *wpa_s,\n\t\t\t   const
      u8 *cluster_id,\n\t\t\t   bool new_cluster)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_nan_ready
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3747,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3750,1
    - Dst: nan_de_dw_trigger
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3751,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - wpa_s
    - freq
    argTypes:
    - struct wpa_supplicant*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3752
      start: 3745
    functionDepth: 1
    functionLinenumber: 3745
    functionLinenumberEnd: 3752
    functionName: wpas_nan_next_dw
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - nan_de_dw_trigger
    - wpas_nan_ready
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void wpas_nan_next_dw(struct wpa_supplicant *wpa_s, u32 freq)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpas_nan_ready
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3761,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3765,1
    - Dst: nan_set_sched_update_pending
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3769,1
    - Dst: wpas_notify_nan_sched_update_done
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3770,1
    - Dst: clear_sched_config
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3773,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3774,1
    - Dst: clear_sched_config
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3778,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3779,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3782,1
    - Dst: wpas_nan_update_local_schedule
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3786,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - wpa_s
    - data
    argTypes:
    - struct wpa_supplicant*
    - union wpa_event_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3787
      start: 3755
    functionDepth: 2
    functionLinenumber: 3755
    functionLinenumberEnd: 3787
    functionName: wpas_nan_sched_update_done
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_nan_ready
    - wpa_printf
    - os_memcpy
    - wpas_notify_nan_sched_update_done
    - clear_sched_config
    - wpas_nan_update_local_schedule
    - nan_set_sched_update_pending
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void wpas_nan_sched_update_done(struct wpa_supplicant *wpa_s,\n\t\t\t\tconst
      union wpa_event_data *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpas_nan_ready
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3793,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3796,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3798,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3800,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3805,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3807,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - wpa_s
    - ulw
    - ulw_len
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3810
      start: 3790
    functionDepth: 1
    functionLinenumber: 3790
    functionLinenumberEnd: 3810
    functionName: wpas_nan_ulw_update
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_nan_ready
    - wpa_printf
    - wpa_hexdump
    - wpabuf_free
    - wpabuf_alloc_copy
    linkageType: ''
    returnType: void
    signature: "void wpas_nan_ulw_update(struct wpa_supplicant *wpa_s,\n\t\t\t const
      u8 *ulw, size_t ulw_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpas_nan_ready
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3819,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3822,1
    - Dst: wpas_notify_nan_chan_evacuation
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3833,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - wpa_s
    - info
    argTypes:
    - struct wpa_supplicant*
    - struct nan_chan_evacuation_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3837
      start: 3813
    functionDepth: 1
    functionLinenumber: 3813
    functionLinenumberEnd: 3837
    functionName: wpas_nan_chan_evacuation
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_nan_ready
    - wpa_printf
    - wpas_notify_nan_chan_evacuation
    linkageType: ''
    returnType: void
    signature: "void wpas_nan_chan_evacuation(struct wpa_supplicant *wpa_s,\n\t\t\t
      \     const struct nan_chan_evacuation_info *info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3847,1
    - Dst: wpa_drv_sta_add
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3852,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3853,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3854,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - wpa_s
    - nmi_addr
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3859
      start: 3842
    functionDepth: 1
    functionLinenumber: 3842
    functionLinenumberEnd: 3859
    functionName: wpas_nan_pasn_update_station
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_drv_sta_add
    - wpa_printf
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpas_nan_pasn_update_station(struct wpa_supplicant *wpa_s,\n\t\t\t\t\tconst
      u8 *nmi_addr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpas_nan_ndp_allowed
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3881,1
    - Dst: wpas_nan_fill_ndp_schedule
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3884,1
    - Dst: nan_pairing_initiate_pasn_auth
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3885,1
    - Dst: wpas_nan_pasn_update_station
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3889,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3891,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 8
    argNames:
    - wpa_s
    - peer_addr
    - auth_mode
    - cipher
    - handle
    - peer_instance_id
    - responder
    - password
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8
    - int
    - int
    - u8
    - bool
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3895
      start: 3874
    functionDepth: 3
    functionLinenumber: 3874
    functionLinenumberEnd: 3895
    functionName: wpas_nan_pair
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_nan_ndp_allowed
    - wpas_nan_fill_ndp_schedule
    - wpa_printf
    - nan_pairing_initiate_pasn_auth
    - wpas_nan_pasn_update_station
    linkageType: ''
    returnType: int
    signature: "int wpas_nan_pair(struct wpa_supplicant *wpa_s, const u8 *peer_addr,\n\t\t
      \ u8 auth_mode, int cipher, int handle, u8 peer_instance_id,\n\t\t  bool responder,
      const char *password)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3917,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3921,1
    - Dst: str_token
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3926,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3927,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3928,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3930,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3935,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3936,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3937,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3938,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3939,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3940,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3942,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3945,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3950,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3952,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3954,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3957,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3965,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3970,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3976,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3981,1
    - Dst: wpas_nan_parse_password_hex
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3987,1
    - Dst: wpas_nan_pair
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3992,1
    - Dst: str_clear_free
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3995,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:3996,1
    - Dst: str_clear_free
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4000,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 73
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4003
      start: 3903
    functionDepth: 4
    functionLinenumber: 3903
    functionLinenumberEnd: 4003
    functionName: wpas_nan_pairing_start
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpas_nan_parse_password_hex
    - str_token
    - hwaddr_aton
    - os_strncmp
    - str_clear_free
    - atoi
    - os_strchr
    - wpas_nan_pair
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: int wpas_nan_pairing_start(struct wpa_supplicant *wpa_s, char *cmd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nan_pairing_pasn_auth_tx_status
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4011,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - wpa_s
    - data
    - data_len
    - acked
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4012
      start: 4006
    functionDepth: 0
    functionLinenumber: 4006
    functionLinenumberEnd: 4012
    functionName: wpas_nan_pasn_auth_tx_status
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - nan_pairing_pasn_auth_tx_status
    linkageType: ''
    returnType: int
    signature: "int wpas_nan_pasn_auth_tx_status(struct wpa_supplicant *wpa_s, const
      u8 *data,\n\t\t\t\t size_t data_len, bool acked)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4021,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4025,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4026,1
    - Dst: nan_pairing_abort
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4031,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4032,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4034,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4039
      start: 4015
    functionDepth: 1
    functionLinenumber: 4015
    functionLinenumberEnd: 4039
    functionName: wpas_nan_pairing_abort
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - hwaddr_aton
    - wpa_printf
    - nan_pairing_abort
    - MAC2STR
    linkageType: ''
    returnType: int
    signature: int wpas_nan_pairing_abort(struct wpa_supplicant *wpa_s, const char
      *cmd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_nan_ndp_allowed
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4047,1
    - Dst: nan_pairing_auth_rx
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4050,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - wpa_s
    - mgmt
    - len
    argTypes:
    - struct wpa_supplicant*
    - struct ieee80211_mgmt*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4051
      start: 4042
    functionDepth: 2
    functionLinenumber: 4042
    functionLinenumberEnd: 4051
    functionName: wpas_nan_pasn_auth_rx
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_nan_ndp_allowed
    - nan_pairing_auth_rx
    linkageType: ''
    returnType: int
    signature: "int wpas_nan_pasn_auth_rx(struct wpa_supplicant *wpa_s,\n\t\t\t  const
      struct ieee80211_mgmt *mgmt, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nan_pairing_is_peer_paired
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4061,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - peer_addr
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4062
      start: 4056
    functionDepth: 0
    functionLinenumber: 4056
    functionLinenumberEnd: 4062
    functionName: wpas_nan_is_peer_paired
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - nan_pairing_is_peer_paired
    linkageType: ''
    returnType: bool
    signature: bool wpas_nan_is_peer_paired(struct wpa_supplicant *wpa_s, const u8
      *peer_addr)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - result
    argTypes:
    - enum offchannel_send_action_result
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4080
      start: 4067
    functionDepth: 0
    functionLinenumber: 4067
    functionLinenumberEnd: 4080
    functionName: tx_status_result_txt
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      tx_status_result_txt(enum offchannel_send_action_result result)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4092,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4094,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4094,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4094,1
    - Dst: tx_status_result_txt
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4095,1
    - Dst: nan_de_tx_status
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4097,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 8
    argNames:
    - wpa_s
    - freq
    - dst
    - src
    - bssid
    - data
    - data_len
    - result
    argTypes:
    - struct wpa_supplicant*
    - unsigned int
    - u8*
    - u8*
    - u8*
    - u8*
    - size_t
    - enum offchannel_send_action_result
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4099
      start: 4083
    functionDepth: 1
    functionLinenumber: 4083
    functionLinenumberEnd: 4099
    functionName: wpas_nan_de_tx_status
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - nan_de_tx_status
    - MAC2STR
    - wpa_printf
    - tx_status_result_txt
    linkageType: ''
    returnType: void
    signature: "void wpas_nan_de_tx_status(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \ unsigned int freq, const u8 *dst,\n\t\t\t\t  const u8 *src, const u8 *bssid,\n\t\t\t\t
      \ const u8 *data, size_t data_len,\n\t\t\t\t  enum offchannel_send_action_result
      result)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4116,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - twork
    argTypes:
    - struct wpas_nan_usd_tx_work*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4118
      start: 4112
    functionDepth: 1
    functionLinenumber: 4112
    functionLinenumberEnd: 4118
    functionName: wpas_nan_usd_tx_work_free
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpabuf_free
    linkageType: ''
    returnType: void
    signature: void wpas_nan_usd_tx_work_free(struct wpas_nan_usd_tx_work *twork)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_nan_usd_tx_work_free
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4129,1
    - Dst: radio_work_done
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4132
      start: 4121
    functionDepth: 3
    functionLinenumber: 4121
    functionLinenumberEnd: 4132
    functionName: wpas_nan_usd_tx_work_done
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_nan_usd_tx_work_free
    - radio_work_done
    linkageType: ''
    returnType: void
    signature: void wpas_nan_usd_tx_work_done(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4140,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4142,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4142,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4142,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4143,1
    - Dst: offchannel_send_action
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4145,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4146,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - wpa_s
    - freq
    - wait_time
    - dst
    - src
    - bssid
    - buf
    argTypes:
    - struct wpa_supplicant*
    - unsigned int
    - unsigned int
    - u8*
    - u8*
    - u8*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4148
      start: 4135
    functionDepth: 3
    functionLinenumber: 4135
    functionLinenumberEnd: 4148
    functionName: wpas_nan_de_tx_send
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - offchannel_send_action
    - wpabuf_len
    - wpabuf_head
    - MAC2STR
    linkageType: ''
    returnType: int
    signature: "int wpas_nan_de_tx_send(struct wpa_supplicant *wpa_s, unsigned int
      freq,\n\t\t\t       unsigned int wait_time, const u8 *dst,\n\t\t\t       const
      u8 *src, const u8 *bssid,\n\t\t\t       const struct wpabuf *buf)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: offchannel_send_action_done
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4159,1
    - Dst: wpas_nan_usd_tx_work_free
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4161,1
    - Dst: wpas_nan_de_tx_send
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4167,1
    - Dst: wpas_nan_usd_tx_work_done
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4170,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - work
    - deinit
    argTypes:
    - struct wpa_radio_work*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4171
      start: 4151
    functionDepth: 4
    functionLinenumber: 4151
    functionLinenumberEnd: 4171
    functionName: wpas_nan_usd_start_tx_cb
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_nan_usd_tx_work_free
    - wpas_nan_de_tx_send
    - wpas_nan_usd_tx_work_done
    - offchannel_send_action_done
    linkageType: ''
    returnType: void
    signature: void wpas_nan_usd_start_tx_cb(struct wpa_radio_work *work, int deinit)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4184,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4186,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4186,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4186,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4187,1
    - Dst: wpa_drv_send_action
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4188,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4189,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4189,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4192,1
    - Dst: wpas_nan_de_tx_send
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4200,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4204,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4209,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4210,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4211,1
    - Dst: wpabuf_dup
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4212,1
    - Dst: wpas_nan_usd_tx_work_free
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4214,1
    - Dst: radio_add_work
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4218,1
    - Dst: wpas_nan_usd_tx_work_free
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4220,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 7
    argNames:
    - ctx
    - freq
    - wait_time
    - dst
    - src
    - bssid
    - buf
    argTypes:
    - void*
    - unsigned int
    - unsigned int
    - u8*
    - u8*
    - u8*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4225
      start: 4174
    functionDepth: 4
    functionLinenumber: 4174
    functionLinenumberEnd: 4225
    functionName: wpas_nan_de_tx
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpabuf_dup
    - wpa_printf
    - os_memcpy
    - wpa_drv_send_action
    - wpabuf_len
    - wpabuf_head
    - MAC2STR
    - os_zalloc
    - radio_add_work
    - wpas_nan_usd_tx_work_free
    - wpas_nan_de_tx_send
    linkageType: ''
    returnType: int
    signature: "int wpas_nan_de_tx(void *ctx, unsigned int freq, unsigned int wait_time,\n\t\t\t
      \ const u8 *dst, const u8 *src, const u8 *bssid,\n\t\t\t  const struct wpabuf
      *buf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4244,1
    - Dst: radio_work_done
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4247
      start: 4236
    functionDepth: 3
    functionLinenumber: 4236
    functionLinenumberEnd: 4247
    functionName: wpas_nan_usd_listen_work_done
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - os_free
    - radio_work_done
    linkageType: ''
    returnType: void
    signature: void wpas_nan_usd_listen_work_done(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_nan_usd_cancel_remain_on_channel_cb
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4257
      start: 4250
    functionDepth: 0
    functionLinenumber: 4250
    functionLinenumberEnd: 4257
    functionName: wpas_nan_usd_remain_on_channel_timeout
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_nan_usd_cancel_remain_on_channel_cb
    linkageType: ''
    returnType: void
    signature: "void wpas_nan_usd_remain_on_channel_timeout(void *eloop_ctx,\n\t\t\t\t\t\t
      \  void *timeout_ctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_cancel_remain_on_channel
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4270,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4272,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4281,1
    - Dst: wpa_drv_remain_on_channel
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4283,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4288,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4291,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4294,1
    - Dst: wpas_nan_usd_listen_work_done
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4297,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - work
    - deinit
    argTypes:
    - struct wpa_radio_work*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4300
      start: 4260
    functionDepth: 4
    functionLinenumber: 4260
    functionLinenumberEnd: 4300
    functionName: wpas_nan_usd_start_listen_cb
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eloop_cancel_timeout
    - wpa_drv_remain_on_channel
    - wpas_nan_usd_listen_work_done
    - eloop_register_timeout
    - os_free
    - wpa_drv_cancel_remain_on_channel
    linkageType: ''
    returnType: void
    signature: "void wpas_nan_usd_start_listen_cb(struct wpa_radio_work *work,\n\t\t\t\t\t
      int deinit)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4309,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4315,1
    - Dst: radio_add_work
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4319,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4321,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - ctx
    - freq
    - duration
    - forced_addr
    argTypes:
    - void*
    - unsigned int
    - unsigned int
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4326
      start: 4303
    functionDepth: 3
    functionLinenumber: 4303
    functionLinenumberEnd: 4326
    functionName: wpas_nan_de_listen
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - os_free
    - os_zalloc
    - radio_add_work
    - os_memcpy
    linkageType: ''
    returnType: int
    signature: "int wpas_nan_de_listen(void *ctx, unsigned int freq,\n\t\t\t      unsigned
      int duration, const u8 *forced_addr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_notify_nan_discovery_result
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - res
    argTypes:
    - void*
    - struct nan_discovery_result*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4335
      start: 4329
    functionDepth: 1
    functionLinenumber: 4329
    functionLinenumberEnd: 4335
    functionName: wpas_nan_de_discovery_result
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_notify_nan_discovery_result
    linkageType: ''
    returnType: void
    signature: void wpas_nan_de_discovery_result(void *ctx, struct nan_discovery_result
      *res)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_notify_nan_replied
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ctx
    - publish_id
    - peer_addr
    - peer_subscribe_id
    - srv_proto_type
    - ssi
    - ssi_len
    argTypes:
    - void*
    - int
    - u8*
    - int
    - enum nan_service_protocol_type
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4347
      start: 4338
    functionDepth: 1
    functionLinenumber: 4338
    functionLinenumberEnd: 4347
    functionName: wpas_nan_de_replied
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_notify_nan_replied
    linkageType: ''
    returnType: void
    signature: "void wpas_nan_de_replied(void *ctx, int publish_id, const u8 *peer_addr,\n\t\t\t\tint
      peer_subscribe_id,\n\t\t\t\tenum nan_service_protocol_type srv_proto_type,\n\t\t\t\tconst
      u8 *ssi, size_t ssi_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_notify_nan_publish_terminated
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - publish_id
    - reason
    argTypes:
    - void*
    - int
    - enum nan_de_reason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4356
      start: 4350
    functionDepth: 1
    functionLinenumber: 4350
    functionLinenumberEnd: 4356
    functionName: wpas_nan_de_publish_terminated
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_notify_nan_publish_terminated
    linkageType: ''
    returnType: void
    signature: "void wpas_nan_de_publish_terminated(void *ctx, int publish_id,\n\t\t\t\t\t
      \  enum nan_de_reason reason)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_drv_nan_cancel_publish
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4364,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - publish_id
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4365
      start: 4359
    functionDepth: 1
    functionLinenumber: 4359
    functionLinenumberEnd: 4365
    functionName: wpas_nan_usd_offload_cancel_publish
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_drv_nan_cancel_publish
    linkageType: ''
    returnType: void
    signature: void wpas_nan_usd_offload_cancel_publish(void *ctx, int publish_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_notify_nan_subscribe_terminated
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - subscribe_id
    - reason
    argTypes:
    - void*
    - int
    - enum nan_de_reason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4374
      start: 4368
    functionDepth: 1
    functionLinenumber: 4368
    functionLinenumberEnd: 4374
    functionName: wpas_nan_de_subscribe_terminated
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_notify_nan_subscribe_terminated
    linkageType: ''
    returnType: void
    signature: "void wpas_nan_de_subscribe_terminated(void *ctx, int subscribe_id,\n\t\t\t\t\t
      \    enum nan_de_reason reason)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_drv_nan_cancel_subscribe
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4382,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - subscribe_id
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4383
      start: 4377
    functionDepth: 1
    functionLinenumber: 4377
    functionLinenumberEnd: 4383
    functionName: wpas_nan_usd_offload_cancel_subscribe
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_drv_nan_cancel_subscribe
    linkageType: ''
    returnType: void
    signature: void wpas_nan_usd_offload_cancel_subscribe(void *ctx, int subscribe_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nan_process_followup
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4394,1
    - Dst: wpas_notify_nan_receive
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4399,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 8
    argNames:
    - ctx
    - id
    - peer_instance_id
    - ssi
    - ssi_len
    - peer_addr
    - buf
    - len
    argTypes:
    - void*
    - int
    - int
    - u8*
    - size_t
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4401
      start: 4386
    functionDepth: 1
    functionLinenumber: 4386
    functionLinenumberEnd: 4401
    functionName: wpas_nan_de_receive
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - nan_process_followup
    - wpas_notify_nan_receive
    linkageType: ''
    returnType: void
    signature: "void wpas_nan_de_receive(void *ctx, int id, int peer_instance_id,\n\t\t\t\tconst
      u8 *ssi, size_t ssi_len,\n\t\t\t\tconst u8 *peer_addr,\n\t\t\t\tconst u8 *buf,
      size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_notify_nan_transmit_req_status
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - cookie
    - ack
    argTypes:
    - void*
    - u32
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4409
      start: 4404
    functionDepth: 1
    functionLinenumber: 4404
    functionLinenumberEnd: 4409
    functionName: wpas_nan_de_transmit_req_status
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_notify_nan_transmit_req_status
    linkageType: ''
    returnType: void
    signature: void wpas_nan_de_transmit_req_status(void *ctx, u32 cookie, bool ack)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_p2p_process_usd_elems
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ctx
    - buf
    - buf_len
    - peer_addr
    - freq
    argTypes:
    - void*
    - u8*
    - u16
    - u8*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4420
      start: 4413
    functionDepth: 1
    functionLinenumber: 4413
    functionLinenumberEnd: 4420
    functionName: wpas_nan_process_p2p_usd_elems
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_p2p_process_usd_elems
    linkageType: ''
    returnType: void
    signature: "void wpas_nan_process_p2p_usd_elems(void *ctx, const u8 *buf,\n\t\t\t\t\t
      \  u16 buf_len, const u8 *peer_addr,\n\t\t\t\t\t   unsigned int freq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_pr_process_usd_elems
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ctx
    - buf
    - buf_len
    - peer_addr
    - freq
    argTypes:
    - void*
    - u8*
    - u16
    - u8*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4432
      start: 4425
    functionDepth: 1
    functionLinenumber: 4425
    functionLinenumberEnd: 4432
    functionName: wpas_nan_process_pr_usd_elems
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_pr_process_usd_elems
    linkageType: ''
    returnType: void
    signature: "void wpas_nan_process_pr_usd_elems(void *ctx, const u8 *buf, u16 buf_len,\n\t\t\t\t\t
      \ const u8 *peer_addr,\n\t\t\t\t\t  unsigned int freq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_nan_is_peer_paired
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - peer_addr
    argTypes:
    - void*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4442
      start: 4437
    functionDepth: 0
    functionLinenumber: 4437
    functionLinenumberEnd: 4442
    functionName: wpas_nan_is_peer_paired_cb
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_nan_is_peer_paired
    linkageType: ''
    returnType: bool
    signature: bool wpas_nan_is_peer_paired_cb(void *ctx, const u8 *peer_addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4452,1
    - Dst: nan_de_init
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4477,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4482
      start: 4446
    functionDepth: 1
    functionLinenumber: 4446
    functionLinenumberEnd: 4482
    functionName: wpas_nan_de_init
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 1
    functionsReached:
    - nan_de_init
    - os_memset
    linkageType: ''
    returnType: int
    signature: int wpas_nan_de_init(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4487,1
    - Dst: nan_de_deinit
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4491
      start: 4485
    functionDepth: 1
    functionLinenumber: 4485
    functionLinenumberEnd: 4491
    functionName: wpas_nan_de_deinit
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 1
    functionsReached:
    - eloop_cancel_timeout
    - nan_de_deinit
    linkageType: ''
    returnType: void
    signature: void wpas_nan_de_deinit(struct wpa_supplicant *wpa_s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nan_de_rx_sdf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4503,1
    - Dst: wpas_nan_ready
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4510,1
    - Dst: nan_add_peer
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4513,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 7
    argNames:
    - wpa_s
    - src
    - a3
    - freq
    - buf
    - len
    - rssi
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - unsigned int
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4515
      start: 4494
    functionDepth: 1
    functionLinenumber: 4494
    functionLinenumberEnd: 4515
    functionName: wpas_nan_de_rx_sdf
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - nan_add_peer
    - wpas_nan_ready
    - nan_de_rx_sdf
    linkageType: ''
    returnType: void
    signature: "void wpas_nan_de_rx_sdf(struct wpa_supplicant *wpa_s, const u8 *src,\n\t\t\tconst
      u8 *a3, unsigned int freq,\n\t\t\tconst u8 *buf, size_t len, int rssi)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nan_de_flush
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4522,1
    - Dst: wpas_drv_nan_flush
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4524,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4525
      start: 4518
    functionDepth: 1
    functionLinenumber: 4518
    functionLinenumberEnd: 4525
    functionName: wpas_nan_de_flush
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 1
    functionsReached:
    - nan_de_flush
    - wpas_drv_nan_flush
    linkageType: ''
    returnType: void
    signature: void wpas_nan_de_flush(struct wpa_supplicant *wpa_s)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4541,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4552,1
    - Dst: wpas_nan_ready
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4557,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4558,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4564,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4570,1
    - Dst: wpas_p2p_usd_elems
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4578,1
    - Dst: wpas_pr_usd_elems
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4584,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4589,1
    - Dst: nan_de_publish
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4595,1
    - Dst: wpas_drv_nan_publish
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4599,1
    - Dst: nan_de_get_service_id
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4600,1
    - Dst: nan_de_cancel_publish
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4604,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4609,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4614,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 51
    argCount: 6
    argNames:
    - wpa_s
    - service_name
    - srv_proto_type
    - ssi
    - params
    - p2p
    argTypes:
    - struct wpa_supplicant*
    - char*
    - enum nan_service_protocol_type
    - struct wpabuf*
    - struct nan_publish_params*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4616
      start: 4528
    functionDepth: 1
    functionLinenumber: 4528
    functionLinenumberEnd: 4616
    functionName: wpas_nan_publish
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 1
    functionsReached:
    - nan_de_publish
    - wpa_printf
    - wpas_pr_usd_elems
    - wpas_nan_ready
    - wpas_p2p_usd_elems
    - wpabuf_free
    - wpas_drv_nan_publish
    - nan_de_get_service_id
    - nan_de_cancel_publish
    linkageType: ''
    returnType: int
    signature: "int wpas_nan_publish(struct wpa_supplicant *wpa_s, const char *service_name,\n\t\t
      \    enum nan_service_protocol_type srv_proto_type,\n\t\t     const struct wpabuf
      *ssi,\n\t\t     struct nan_publish_params *params, bool p2p)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nan_de_cancel_publish
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4623,1
    - Dst: wpas_drv_nan_cancel_publish
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4625,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - wpa_s
    - publish_id
    argTypes:
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4626
      start: 4619
    functionDepth: 1
    functionLinenumber: 4619
    functionLinenumberEnd: 4626
    functionName: wpas_nan_cancel_publish
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 1
    functionsReached:
    - nan_de_cancel_publish
    - wpas_drv_nan_cancel_publish
    linkageType: ''
    returnType: void
    signature: void wpas_nan_cancel_publish(struct wpa_supplicant *wpa_s, int publish_id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nan_de_update_publish
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4636,1
    - Dst: wpas_drv_nan_update_publish
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4639,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - wpa_s
    - publish_id
    - ssi
    argTypes:
    - struct wpa_supplicant*
    - int
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4642
      start: 4629
    functionDepth: 1
    functionLinenumber: 4629
    functionLinenumberEnd: 4642
    functionName: wpas_nan_update_publish
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 1
    functionsReached:
    - nan_de_update_publish
    - wpas_drv_nan_update_publish
    linkageType: ''
    returnType: int
    signature: "int wpas_nan_update_publish(struct wpa_supplicant *wpa_s, int publish_id,\n\t\t\t
      \   const struct wpabuf *ssi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nan_de_unpause_publish
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4650,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - wpa_s
    - publish_id
    - peer_instance_id
    - peer_addr
    argTypes:
    - struct wpa_supplicant*
    - int
    - u8
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4652
      start: 4645
    functionDepth: 1
    functionLinenumber: 4645
    functionLinenumberEnd: 4652
    functionName: wpas_nan_usd_unpause_publish
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 1
    functionsReached:
    - nan_de_unpause_publish
    linkageType: ''
    returnType: int
    signature: "int wpas_nan_usd_unpause_publish(struct wpa_supplicant *wpa_s, int
      publish_id,\n\t\t\t\t u8 peer_instance_id, const u8 *peer_addr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nan_de_stop_listen
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4660,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4664,1
    - Dst: wpa_drv_cancel_remain_on_channel
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4665,1
    - Dst: wpas_nan_usd_listen_work_done
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4666,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4670,1
    - Dst: offchannel_send_action_done
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4671,1
    - Dst: wpas_nan_usd_tx_work_done
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4672,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - wpa_s
    - id
    argTypes:
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4676
      start: 4655
    functionDepth: 4
    functionLinenumber: 4655
    functionLinenumberEnd: 4676
    functionName: wpas_nan_stop_listen
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - nan_de_stop_listen
    - wpa_printf
    - offchannel_send_action_done
    - wpas_nan_usd_listen_work_done
    - wpas_nan_usd_tx_work_done
    - wpa_drv_cancel_remain_on_channel
    linkageType: ''
    returnType: int
    signature: int wpas_nan_stop_listen(struct wpa_supplicant *wpa_s, int id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4685,1
    - Dst: wpas_nan_stop_listen
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4687,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - wpa_s
    - publish_id
    argTypes:
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4688
      start: 4679
    functionDepth: 5
    functionLinenumber: 4679
    functionLinenumberEnd: 4688
    functionName: wpas_nan_usd_publish_stop_listen
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpas_nan_stop_listen
    linkageType: ''
    returnType: int
    signature: "int wpas_nan_usd_publish_stop_listen(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \    int publish_id)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4705,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4716,1
    - Dst: wpas_nan_ready
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4721,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4722,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4727,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4733,1
    - Dst: wpas_p2p_usd_elems
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4741,1
    - Dst: wpas_pr_usd_elems
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4747,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4752,1
    - Dst: nan_de_subscribe
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4758,1
    - Dst: wpas_drv_nan_subscribe
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4763,1
    - Dst: nan_de_get_service_id
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4764,1
    - Dst: nan_de_cancel_subscribe
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4768,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4773,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4778,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 51
    argCount: 6
    argNames:
    - wpa_s
    - service_name
    - srv_proto_type
    - ssi
    - params
    - p2p
    argTypes:
    - struct wpa_supplicant*
    - char*
    - enum nan_service_protocol_type
    - struct wpabuf*
    - struct nan_subscribe_params*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4780
      start: 4691
    functionDepth: 1
    functionLinenumber: 4691
    functionLinenumberEnd: 4780
    functionName: wpas_nan_subscribe
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 1
    functionsReached:
    - nan_de_subscribe
    - wpa_printf
    - wpas_pr_usd_elems
    - wpas_nan_ready
    - wpas_p2p_usd_elems
    - nan_de_cancel_subscribe
    - wpabuf_free
    - wpas_drv_nan_subscribe
    - nan_de_get_service_id
    linkageType: ''
    returnType: int
    signature: "int wpas_nan_subscribe(struct wpa_supplicant *wpa_s,\n\t\t       const
      char *service_name,\n\t\t       enum nan_service_protocol_type srv_proto_type,\n\t\t
      \      const struct wpabuf *ssi,\n\t\t       struct nan_subscribe_params *params,
      bool p2p)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nan_de_cancel_subscribe
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4788,1
    - Dst: wpas_drv_nan_cancel_subscribe
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4790,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - wpa_s
    - subscribe_id
    argTypes:
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4791
      start: 4783
    functionDepth: 1
    functionLinenumber: 4783
    functionLinenumberEnd: 4791
    functionName: wpas_nan_cancel_subscribe
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 1
    functionsReached:
    - wpas_drv_nan_cancel_subscribe
    - nan_de_cancel_subscribe
    linkageType: ''
    returnType: void
    signature: "void wpas_nan_cancel_subscribe(struct wpa_supplicant *wpa_s,\n\t\t\t
      \      int subscribe_id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4800,1
    - Dst: wpas_nan_stop_listen
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4802,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - wpa_s
    - subscribe_id
    argTypes:
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4803
      start: 4794
    functionDepth: 5
    functionLinenumber: 4794
    functionLinenumberEnd: 4803
    functionName: wpas_nan_usd_subscribe_stop_listen
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpas_nan_stop_listen
    linkageType: ''
    returnType: int
    signature: "int wpas_nan_usd_subscribe_stop_listen(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \      int subscribe_id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nan_de_transmit
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4812,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 7
    argNames:
    - wpa_s
    - handle
    - ssi
    - elems
    - peer_addr
    - req_instance_id
    - cookie
    argTypes:
    - struct wpa_supplicant*
    - int
    - struct wpabuf*
    - struct wpabuf*
    - u8*
    - u8
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4814
      start: 4806
    functionDepth: 1
    functionLinenumber: 4806
    functionLinenumberEnd: 4814
    functionName: wpas_nan_transmit
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 1
    functionsReached:
    - nan_de_transmit
    linkageType: ''
    returnType: int
    signature: "int wpas_nan_transmit(struct wpa_supplicant *wpa_s, int handle,\n\t\t
      \     const struct wpabuf *ssi, const struct wpabuf *elems,\n\t\t      const
      u8 *peer_addr, u8 req_instance_id, u32 *cookie)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_nan_usd_listen_work_done
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4820,1
    - Dst: nan_de_listen_started
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4823,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - wpa_s
    - freq
    - duration
    argTypes:
    - struct wpa_supplicant*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4824
      start: 4817
    functionDepth: 4
    functionLinenumber: 4817
    functionLinenumberEnd: 4824
    functionName: wpas_nan_usd_remain_on_channel_cb
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_nan_usd_listen_work_done
    - nan_de_listen_started
    linkageType: ''
    returnType: void
    signature: "void wpas_nan_usd_remain_on_channel_cb(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \      unsigned int freq, unsigned int duration)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nan_de_listen_ended
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4831,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - wpa_s
    - freq
    argTypes:
    - struct wpa_supplicant*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4832
      start: 4827
    functionDepth: 1
    functionLinenumber: 4827
    functionLinenumberEnd: 4832
    functionName: wpas_nan_usd_cancel_remain_on_channel_cb
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 1
    functionsReached:
    - nan_de_listen_ended
    linkageType: ''
    returnType: void
    signature: "void wpas_nan_usd_cancel_remain_on_channel_cb(struct wpa_supplicant
      *wpa_s,\n\t\t\t\t\t      unsigned int freq)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_nan_usd_tx_work_done
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4837,1
    - Dst: nan_de_tx_wait_ended
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4840,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4841
      start: 4835
    functionDepth: 4
    functionLinenumber: 4835
    functionLinenumberEnd: 4841
    functionName: wpas_nan_usd_tx_wait_expire
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - nan_de_tx_wait_ended
    - wpas_nan_usd_tx_work_done
    linkageType: ''
    returnType: void
    signature: void wpas_nan_usd_tx_wait_expire(struct wpa_supplicant *wpa_s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: int_array_add_unique
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4868,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4873
      start: 4844
    functionDepth: 1
    functionLinenumber: 4844
    functionLinenumberEnd: 4873
    functionName: wpas_nan_usd_all_freqs
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 2
    functionsReached:
    - int_array_add_unique
    linkageType: ''
    returnType: int
    signature: int * wpas_nan_usd_all_freqs(struct wpa_supplicant *wpa_s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4885,1
    - Dst: dl_list_for_each
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4887,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4893,1
    - Dst: wpas_p2p_in_progress
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4895,1
    - Dst: wpas_p2p_in_progress
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4900,1
    - Dst: dl_list_for_each
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4917,1
    - Dst: nan_de_config
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4920,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4922
      start: 4876
    functionDepth: 1
    functionLinenumber: 4876
    functionLinenumberEnd: 4922
    functionName: wpas_nan_usd_state_change_notif
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpas_p2p_in_progress
    - dl_list_for_each
    - nan_de_config
    - os_memset
    linkageType: ''
    returnType: void
    signature: void wpas_nan_usd_state_change_notif(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4938
      start: 4926
    functionDepth: 0
    functionLinenumber: 4926
    functionLinenumberEnd: 4938
    functionName: wpas_nan_get_mgmt_iface
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct wpa_supplicant
    signature: 'struct wpa_supplicant *

      wpas_nan_get_mgmt_iface(struct wpa_supplicant *wpa_s)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpas_nan_get_mgmt_iface
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4949,1
    - Dst: nan_de_tx_status
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4952,1
    - Dst: wpas_nan_ndp_allowed
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4955,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4958,1
    - Dst: nan_tx_status
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4961,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4962,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - wpa_s
    - data
    - data_len
    - acked
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4968
      start: 4942
    functionDepth: 2
    functionLinenumber: 4942
    functionLinenumberEnd: 4968
    functionName: wpas_nan_tx_status
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - nan_de_tx_status
    - wpas_nan_ndp_allowed
    - wpa_printf
    - nan_tx_status
    - wpas_nan_get_mgmt_iface
    linkageType: ''
    returnType: int
    signature: "int wpas_nan_tx_status(struct wpa_supplicant *wpa_s,\n\t\t\tconst
      u8 *data, size_t data_len, int acked)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4976,1
    - Dst: wpas_nan_get_mgmt_iface
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4979,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4981,1
    - Dst: wpas_nan_ndp_allowed
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4985,1
    - Dst: nan_action_rx
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4988,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - wpa_s
    - mgmt
    - len
    argTypes:
    - struct wpa_supplicant*
    - struct ieee80211_mgmt*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4989
      start: 4972
    functionDepth: 2
    functionLinenumber: 4972
    functionLinenumberEnd: 4989
    functionName: wpas_nan_rx_naf
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_nan_ndp_allowed
    - wpa_printf
    - nan_action_rx
    - wpas_nan_get_mgmt_iface
    linkageType: ''
    returnType: void
    signature: "void wpas_nan_rx_naf(struct wpa_supplicant *wpa_s,\n\t\t     const
      struct ieee80211_mgmt *mgmt, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_nan_get_mgmt_iface
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4994,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4996,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:4998,1
    - Dst: nan_terminate_ndi_ndps
      Src: /src/hostap/wpa_supplicant/nan_supplicant.c:5001,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5002
      start: 4992
    functionDepth: 1
    functionLinenumber: 4992
    functionLinenumberEnd: 5002
    functionName: wpas_nan_data_interface_removed
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.c
    functionUses: 0
    functionsReached:
    - nan_terminate_ndi_ndps
    - MAC2STR
    - wpa_printf
    - wpas_nan_get_mgmt_iface
    linkageType: ''
    returnType: void
    signature: void wpas_nan_data_interface_removed(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: ieee802_1x_alloc_kay_sm
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_kay.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ieee802_1x_alloc_kay_sm(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \ struct wpa_ssid *ssid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - peer_addr
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: ieee802_1x_notify_create_actor
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_kay.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void *\nieee802_1x_notify_create_actor(struct wpa_supplicant *wpa_s,\n\t\t\t
      \      const u8 *peer_addr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: ieee802_1x_dealloc_kay_sm
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_kay.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ieee802_1x_dealloc_kay_sm(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 47
    functionName: ieee802_1x_create_preshared_mka
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_kay.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void *\nieee802_1x_create_preshared_mka(struct wpa_supplicant *wpa_s,\n\t\t\t\tstruct
      wpa_ssid *ssid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: gas_query_init
    functionSourceFile: /src/hostap/wpa_supplicant/gas_query.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: struct gas_query
    signature: struct gas_query * gas_query_init(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - gas
    argTypes:
    - struct gas_query*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: gas_query_deinit
    functionSourceFile: /src/hostap/wpa_supplicant/gas_query.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gas_query_deinit(struct gas_query *gas)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_bss_ext_capab
      Src: /src/hostap/wpa_supplicant/bgscan_simple.c:48,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/bgscan_simple.c:58,1
    - Dst: wnm_send_bss_transition_mgmt_query
      Src: /src/hostap/wpa_supplicant/bgscan_simple.c:61,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/bgscan_simple.c:63,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/bgscan_simple.c:71,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - wpa_s
    - data
    argTypes:
    - struct wpa_supplicant*
    - struct bgscan_simple_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 74
    functionName: bgscan_simple_btm_query
    functionSourceFile: /src/hostap/wpa_supplicant/bgscan_simple.c
    functionUses: 0
    functionsReached:
    - wpa_bss_ext_capab
    - wpa_printf
    - eloop_register_timeout
    - wnm_send_bss_transition_mgmt_query
    linkageType: ''
    returnType: bool
    signature: "bool bgscan_simple_btm_query(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \   struct bgscan_simple_data *data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: bgscan_simple_btm_query
      Src: /src/hostap/wpa_supplicant/bgscan_simple.c:83,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/bgscan_simple.c:86,1
    - Dst: wpa_add_owe_scan_ssid
      Src: /src/hostap/wpa_supplicant/bgscan_simple.c:93,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/bgscan_simple.c:102,1
    - Dst: wpa_supplicant_trigger_scan
      Src: /src/hostap/wpa_supplicant/bgscan_simple.c:103,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/bgscan_simple.c:104,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/bgscan_simple.c:105,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/bgscan_simple.c:113,1
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/bgscan_simple.c:125,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 77
    functionDepth: 3
    functionLinenumber: 77
    functionLinenumberEnd: 127
    functionName: bgscan_simple_timeout
    functionSourceFile: /src/hostap/wpa_supplicant/bgscan_simple.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_supplicant_trigger_scan
    - os_get_reltime
    - bgscan_simple_btm_query
    - wpa_add_owe_scan_ssid
    - eloop_register_timeout
    - os_memset
    linkageType: ''
    returnType: void
    signature: void bgscan_simple_timeout(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/bgscan_simple.c:137,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/bgscan_simple.c:139,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/bgscan_simple.c:143,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/bgscan_simple.c:144,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/bgscan_simple.c:146,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/bgscan_simple.c:151,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/bgscan_simple.c:152,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/bgscan_simple.c:155,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - data
    - params
    argTypes:
    - struct bgscan_simple_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 159
    functionName: bgscan_simple_get_params
    functionSourceFile: /src/hostap/wpa_supplicant/bgscan_simple.c
    functionUses: 0
    functionsReached:
    - atoi
    - os_strchr
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int bgscan_simple_get_params(struct bgscan_simple_data *data,\n\t\t\t\t
      \   const char *params)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/bgscan_simple.c:168,1
    - Dst: bgscan_simple_get_params
      Src: /src/hostap/wpa_supplicant/bgscan_simple.c:173,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/bgscan_simple.c:174,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/bgscan_simple.c:182,1
    - Dst: wpa_drv_signal_monitor
      Src: /src/hostap/wpa_supplicant/bgscan_simple.c:188,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/bgscan_simple.c:189,1
    - Dst: wpa_drv_signal_poll
      Src: /src/hostap/wpa_supplicant/bgscan_simple.c:199,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/bgscan_simple.c:203,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/bgscan_simple.c:205,1
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/bgscan_simple.c:214,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 3
    argNames:
    - wpa_s
    - params
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - char*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 162
    functionDepth: 2
    functionLinenumber: 162
    functionLinenumberEnd: 217
    functionName: bgscan_simple_init
    functionSourceFile: /src/hostap/wpa_supplicant/bgscan_simple.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_get_reltime
    - wpa_drv_signal_poll
    - os_zalloc
    - eloop_register_timeout
    - bgscan_simple_get_params
    - wpa_drv_signal_monitor
    - os_free
    linkageType: ''
    returnType: void
    signature: "void * bgscan_simple_init(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      const char *params,\n\t\t\t\t const struct wpa_ssid *ssid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/bgscan_simple.c:223,1
    - Dst: wpa_drv_signal_monitor
      Src: /src/hostap/wpa_supplicant/bgscan_simple.c:226,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/bgscan_simple.c:228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 229
    functionName: bgscan_simple_deinit
    functionSourceFile: /src/hostap/wpa_supplicant/bgscan_simple.c
    functionUses: 0
    functionsReached:
    - eloop_cancel_timeout
    - os_free
    - wpa_drv_signal_monitor
    linkageType: ''
    returnType: void
    signature: void bgscan_simple_deinit(void *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/bgscan_simple.c:237,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/bgscan_simple.c:239,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/bgscan_simple.c:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - priv
    - scan_res
    argTypes:
    - void*
    - struct wpa_scan_results*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 251
    functionName: bgscan_simple_notify_scan
    functionSourceFile: /src/hostap/wpa_supplicant/bgscan_simple.c
    functionUses: 0
    functionsReached:
    - eloop_cancel_timeout
    - wpa_printf
    - eloop_register_timeout
    linkageType: ''
    returnType: int
    signature: "int bgscan_simple_notify_scan(void *priv,\n\t\t\t\t     struct wpa_scan_results
      *scan_res)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/bgscan_simple.c:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 258
    functionName: bgscan_simple_notify_beacon_loss
    functionSourceFile: /src/hostap/wpa_supplicant/bgscan_simple.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void bgscan_simple_notify_beacon_loss(void *priv)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/bgscan_simple.c:274,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/bgscan_simple.c:279,1
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/bgscan_simple.c:282,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/bgscan_simple.c:298,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/bgscan_simple.c:300,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/bgscan_simple.c:305,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/bgscan_simple.c:308,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/bgscan_simple.c:309,1
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/bgscan_simple.c:316,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/bgscan_simple.c:322,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/bgscan_simple.c:323,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/bgscan_simple.c:324,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 5
    argNames:
    - priv
    - above
    - current_signal
    - current_noise
    - current_txrate
    argTypes:
    - void*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 327
    functionName: bgscan_simple_notify_signal_change
    functionSourceFile: /src/hostap/wpa_supplicant/bgscan_simple.c
    functionUses: 0
    functionsReached:
    - eloop_cancel_timeout
    - os_get_reltime
    - wpa_printf
    - eloop_register_timeout
    linkageType: ''
    returnType: void
    signature: "void bgscan_simple_notify_signal_change(void *priv, int above,\n\t\t\t\t\t
      \      int current_signal,\n\t\t\t\t\t       int current_noise,\n\t\t\t\t\t
      \      int current_txrate)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/nfc_pw_token.c:26,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/nfc_pw_token.c:28,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/nfc_pw_token.c:29,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/nfc_pw_token.c:31,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/nfc_pw_token.c:33,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - title
    - buf
    argTypes:
    - char*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 34
    functionName: print_bin
    functionSourceFile: /src/hostap/wpa_supplicant/nfc_pw_token.c
    functionUses: 0
    functionsReached:
    - wpabuf_len
    - wpabuf_head
    - printf
    linkageType: ''
    returnType: void
    signature: void print_bin(const char *title, const struct wpabuf *buf)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_program_init
      Src: /src/hostap/wpa_supplicant/nfc_pw_token.c:44,1
    - Dst: random_init
      Src: /src/hostap/wpa_supplicant/nfc_pw_token.c:46,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/nfc_pw_token.c:48,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/nfc_pw_token.c:49,1
    - Dst: wpas_wps_nfc_token
      Src: /src/hostap/wpa_supplicant/nfc_pw_token.c:53,1
    - Dst: ndef_build_wifi
      Src: /src/hostap/wpa_supplicant/nfc_pw_token.c:57,1
    - Dst: wpa_snprintf_hex_uppercase
      Src: /src/hostap/wpa_supplicant/nfc_pw_token.c:61,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/nfc_pw_token.c:61,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/nfc_pw_token.c:62,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/nfc_pw_token.c:63,1
    - Dst: wpa_snprintf_hex_uppercase
      Src: /src/hostap/wpa_supplicant/nfc_pw_token.c:65,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/nfc_pw_token.c:65,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/nfc_pw_token.c:66,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/nfc_pw_token.c:67,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/nfc_pw_token.c:69,1
    - Dst: print_bin
      Src: /src/hostap/wpa_supplicant/nfc_pw_token.c:70,1
    - Dst: print_bin
      Src: /src/hostap/wpa_supplicant/nfc_pw_token.c:71,1
    - Dst: print_bin
      Src: /src/hostap/wpa_supplicant/nfc_pw_token.c:72,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/nfc_pw_token.c:76,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/nfc_pw_token.c:77,1
    - Dst: wpa_config_free
      Src: /src/hostap/wpa_supplicant/nfc_pw_token.c:78,1
    - Dst: random_deinit
      Src: /src/hostap/wpa_supplicant/nfc_pw_token.c:79,1
    - Dst: os_program_deinit
      Src: /src/hostap/wpa_supplicant/nfc_pw_token.c:80,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 83
    functionName: main
    functionSourceFile: /src/hostap/wpa_supplicant/nfc_pw_token.c
    functionUses: 0
    functionsReached:
    - os_program_init
    - wpa_config_free
    - wpabuf_len
    - random_deinit
    - ndef_build_wifi
    - wpabuf_free
    - wpas_wps_nfc_token
    - wpa_snprintf_hex_uppercase
    - wpabuf_head
    - printf
    - print_bin
    - os_zalloc
    - random_init
    - os_program_deinit
    - os_memset
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ieee80211_chan_to_freq
      Src: /src/hostap/wpa_supplicant/mbo.c:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - oper_class
    - chan
    - reason
    argTypes:
    - u8
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 39
    functionName: wpas_mbo_validate_non_pref_chan
    functionSourceFile: /src/hostap/wpa_supplicant/mbo.c
    functionUses: 0
    functionsReached:
    - ieee80211_chan_to_freq
    linkageType: ''
    returnType: int
    signature: int wpas_mbo_validate_non_pref_chan(u8 oper_class, u8 chan, u8 reason)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_ie
      Src: /src/hostap/wpa_supplicant/mbo.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - mbo_ie
    - attr
    argTypes:
    - u8*
    - enum mbo_attr_id
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 52
    functionName: mbo_attr_from_mbo_ie
    functionSourceFile: /src/hostap/wpa_supplicant/mbo.c
    functionUses: 0
    functionsReached:
    - get_ie
    linkageType: ''
    returnType: u8
    signature: u8 * mbo_attr_from_mbo_ie(const u8 *mbo_ie, enum mbo_attr_id attr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_vendor_ie
      Src: /src/hostap/wpa_supplicant/mbo.c:60,1
    - Dst: mbo_attr_from_mbo_ie
      Src: /src/hostap/wpa_supplicant/mbo.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ies
    - ies_len
    - attr
    argTypes:
    - u8*
    - size_t
    - enum mbo_attr_id
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 65
    functionName: mbo_get_attr_from_ies
    functionSourceFile: /src/hostap/wpa_supplicant/mbo.c
    functionUses: 0
    functionsReached:
    - mbo_attr_from_mbo_ie
    - get_vendor_ie
    linkageType: ''
    returnType: u8
    signature: "u8 * mbo_get_attr_from_ies(const u8 *ies, size_t ies_len,\n\t\t\t\t
      enum mbo_attr_id attr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_bss_get_vendor_ie_beacon
      Src: /src/hostap/wpa_supplicant/mbo.c:77,1
    - Dst: wpa_bss_get_vendor_ie
      Src: /src/hostap/wpa_supplicant/mbo.c:79,1
    - Dst: get_ie
      Src: /src/hostap/wpa_supplicant/mbo.c:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - bss
    - attr
    - beacon
    argTypes:
    - struct wpa_bss*
    - enum mbo_attr_id
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 87
    functionName: wpas_mbo_get_bss_attr
    functionSourceFile: /src/hostap/wpa_supplicant/mbo.c
    functionUses: 0
    functionsReached:
    - get_ie
    - wpa_bss_get_vendor_ie
    - wpa_bss_get_vendor_ie_beacon
    linkageType: ''
    returnType: u8
    signature: "u8 * wpas_mbo_get_bss_attr(struct wpa_bss *bss,\n\t\t\t\t\tenum mbo_attr_id
      attr, bool beacon)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_mbo_get_bss_attr
      Src: /src/hostap/wpa_supplicant/mbo.c:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - bss
    argTypes:
    - struct wpa_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 100
    functionName: wpas_mbo_check_assoc_disallow
    functionSourceFile: /src/hostap/wpa_supplicant/mbo.c
    functionUses: 0
    functionsReached:
    - wpas_mbo_get_bss_attr
    linkageType: ''
    returnType: u8
    signature: u8 * wpas_mbo_check_assoc_disallow(struct wpa_bss *bss)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpas_mbo_get_bss_attr
      Src: /src/hostap/wpa_supplicant/mbo.c:112,1
    - Dst: wpas_mbo_get_bss_attr
      Src: /src/hostap/wpa_supplicant/mbo.c:113,1
    - Dst: wpa_bss_get_rsne
      Src: /src/hostap/wpa_supplicant/mbo.c:118,1
    - Dst: wpa_parse_wpa_ie
      Src: /src/hostap/wpa_supplicant/mbo.c:119,1
    - Dst: wpas_get_ssid_pmf
      Src: /src/hostap/wpa_supplicant/mbo.c:124,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mbo.c:127,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 3
    argNames:
    - wpa_s
    - bss
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_bss*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 129
    functionName: wpas_mbo_check_pmf
    functionSourceFile: /src/hostap/wpa_supplicant/mbo.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpa_parse_wpa_ie
    - wpa_bss_get_rsne
    - wpas_mbo_get_bss_attr
    - wpas_get_ssid_pmf
    linkageType: ''
    returnType: void
    signature: "void wpas_mbo_check_pmf(struct wpa_supplicant *wpa_s, struct wpa_bss
      *bss,\n\t\t\tstruct wpa_ssid *ssid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/mbo.c:138,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/mbo.c:141,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/mbo.c:143,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/mbo.c:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - wpa_s
    - mbo
    - start
    - end
    argTypes:
    - struct wpa_supplicant*
    - struct wpabuf*
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 145
    functionName: wpas_mbo_non_pref_chan_attr_body
    functionSourceFile: /src/hostap/wpa_supplicant/mbo.c
    functionUses: 0
    functionsReached:
    - wpabuf_put_u8
    linkageType: ''
    returnType: void
    signature: "void wpas_mbo_non_pref_chan_attr_body(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \    struct wpabuf *mbo,\n\t\t\t\t\t     u8 start, u8 end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/mbo.c:150,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/mbo.c:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - mbo
    - size
    argTypes:
    - struct wpabuf*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: wpas_mbo_non_pref_chan_attr_hdr
    functionSourceFile: /src/hostap/wpa_supplicant/mbo.c
    functionUses: 0
    functionsReached:
    - wpabuf_put_u8
    linkageType: ''
    returnType: void
    signature: void wpas_mbo_non_pref_chan_attr_hdr(struct wpabuf *mbo, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_tailroom
      Src: /src/hostap/wpa_supplicant/mbo.c:160,1
    - Dst: wpas_mbo_non_pref_chan_attr_hdr
      Src: /src/hostap/wpa_supplicant/mbo.c:163,1
    - Dst: wpas_mbo_non_pref_chan_attr_body
      Src: /src/hostap/wpa_supplicant/mbo.c:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - wpa_s
    - mbo
    - start
    - end
    argTypes:
    - struct wpa_supplicant*
    - struct wpabuf*
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 165
    functionName: wpas_mbo_non_pref_chan_attr
    functionSourceFile: /src/hostap/wpa_supplicant/mbo.c
    functionUses: 0
    functionsReached:
    - wpas_mbo_non_pref_chan_attr_hdr
    - wpas_mbo_non_pref_chan_attr_body
    - wpabuf_tailroom
    linkageType: ''
    returnType: void
    signature: "void wpas_mbo_non_pref_chan_attr(struct wpa_supplicant *wpa_s,\n\t\t\t\t\tstruct
      wpabuf *mbo, u8 start, u8 end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/mbo.c:170,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/mbo.c:171,1
    - Dst: wpabuf_put_be24
      Src: /src/hostap/wpa_supplicant/mbo.c:172,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/mbo.c:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - mbo
    - len
    argTypes:
    - struct wpabuf*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 174
    functionName: wpas_mbo_non_pref_chan_subelem_hdr
    functionSourceFile: /src/hostap/wpa_supplicant/mbo.c
    functionUses: 0
    functionsReached:
    - wpabuf_put_u8
    - wpabuf_put_be24
    linkageType: ''
    returnType: void
    signature: void wpas_mbo_non_pref_chan_subelem_hdr(struct wpabuf *mbo, u8 len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_tailroom
      Src: /src/hostap/wpa_supplicant/mbo.c:183,1
    - Dst: wpas_mbo_non_pref_chan_subelem_hdr
      Src: /src/hostap/wpa_supplicant/mbo.c:186,1
    - Dst: wpas_mbo_non_pref_chan_attr_body
      Src: /src/hostap/wpa_supplicant/mbo.c:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - wpa_s
    - mbo
    - start
    - end
    argTypes:
    - struct wpa_supplicant*
    - struct wpabuf*
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 188
    functionName: wpas_mbo_non_pref_chan_subelement
    functionSourceFile: /src/hostap/wpa_supplicant/mbo.c
    functionUses: 0
    functionsReached:
    - wpas_mbo_non_pref_chan_attr_body
    - wpas_mbo_non_pref_chan_subelem_hdr
    - wpabuf_tailroom
    linkageType: ''
    returnType: void
    signature: "void wpas_mbo_non_pref_chan_subelement(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \     struct wpabuf *mbo, u8 start,\n\t\t\t\t\t      u8 end)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpas_mbo_non_pref_chan_subelem_hdr
      Src: /src/hostap/wpa_supplicant/mbo.c:199,1
    - Dst: wpas_mbo_non_pref_chan_attr_hdr
      Src: /src/hostap/wpa_supplicant/mbo.c:201,1
    - Dst: wpas_mbo_non_pref_chan_subelement
      Src: /src/hostap/wpa_supplicant/mbo.c:216,1
    - Dst: wpas_mbo_non_pref_chan_attr
      Src: /src/hostap/wpa_supplicant/mbo.c:219,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 3
    argNames:
    - wpa_s
    - mbo
    - subelement
    argTypes:
    - struct wpa_supplicant*
    - struct wpabuf*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 191
    functionDepth: 3
    functionLinenumber: 191
    functionLinenumberEnd: 229
    functionName: wpas_mbo_non_pref_chan_attrs
    functionSourceFile: /src/hostap/wpa_supplicant/mbo.c
    functionUses: 0
    functionsReached:
    - wpas_mbo_non_pref_chan_attr_hdr
    - wpas_mbo_non_pref_chan_subelement
    - wpas_mbo_non_pref_chan_subelem_hdr
    - wpas_mbo_non_pref_chan_attr
    linkageType: ''
    returnType: void
    signature: "void wpas_mbo_non_pref_chan_attrs(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      struct wpabuf *mbo, int subelement)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/mbo.c:243,1
    - Dst: wpas_mbo_non_pref_chan_attrs
      Src: /src/hostap/wpa_supplicant/mbo.c:248,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/mbo.c:254,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/mbo.c:255,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/mbo.c:256,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/mbo.c:260,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/mbo.c:261,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/mbo.c:262,1
    - Dst: mbo_add_ie
      Src: /src/hostap/wpa_supplicant/mbo.c:265,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/wpa_supplicant/mbo.c:265,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/mbo.c:265,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mbo.c:267,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/mbo.c:269,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - wpa_s
    - buf
    - len
    - add_oce_capa
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 232
    functionDepth: 4
    functionLinenumber: 232
    functionLinenumberEnd: 271
    functionName: wpas_mbo_ie
    functionSourceFile: /src/hostap/wpa_supplicant/mbo.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_head_u8
    - wpabuf_put_u8
    - wpabuf_len
    - wpabuf_free
    - wpas_mbo_non_pref_chan_attrs
    - mbo_add_ie
    - wpabuf_alloc
    linkageType: ''
    returnType: int
    signature: "int wpas_mbo_ie(struct wpa_supplicant *wpa_s, u8 *buf, size_t len,\n\t\tint
      add_oce_capa)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_bss_get_vendor_ie
      Src: /src/hostap/wpa_supplicant/mbo.c:286,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/mbo.c:289,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/mbo.c:293,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/mbo.c:294,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/mbo.c:298,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/mbo.c:299,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/wpa_supplicant/mbo.c:301,1
    - Dst: wpa_drv_send_action
      Src: /src/hostap/wpa_supplicant/mbo.c:303,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/mbo.c:305,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/mbo.c:305,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mbo.c:307,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/mbo.c:310,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - wpa_s
    - data
    - len
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 274
    functionDepth: 3
    functionLinenumber: 274
    functionLinenumberEnd: 311
    functionName: wpas_mbo_send_wnm_notification
    functionSourceFile: /src/hostap/wpa_supplicant/mbo.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_drv_send_action
    - wpabuf_put_data
    - wpabuf_put_u8
    - wpabuf_len
    - wpabuf_free
    - wpabuf_head
    - wpabuf_alloc
    - wpa_bss_get_vendor_ie
    linkageType: ''
    returnType: void
    signature: "void wpas_mbo_send_wnm_notification(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \  const u8 *data, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/mbo.c:318,1
    - Dst: wpas_mbo_non_pref_chan_attrs
      Src: /src/hostap/wpa_supplicant/mbo.c:322,1
    - Dst: wpas_mbo_send_wnm_notification
      Src: /src/hostap/wpa_supplicant/mbo.c:323,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/wpa_supplicant/mbo.c:323,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/mbo.c:324,1
    - Dst: wpas_update_mbo_connect_params
      Src: /src/hostap/wpa_supplicant/mbo.c:325,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/mbo.c:326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 314
    functionDepth: 4
    functionLinenumber: 314
    functionLinenumberEnd: 327
    functionName: wpas_mbo_non_pref_chan_changed
    functionSourceFile: /src/hostap/wpa_supplicant/mbo.c
    functionUses: 0
    functionsReached:
    - wpabuf_head_u8
    - wpabuf_len
    - wpas_mbo_send_wnm_notification
    - wpabuf_free
    - wpas_mbo_non_pref_chan_attrs
    - wpabuf_alloc
    - wpas_update_mbo_connect_params
    linkageType: ''
    returnType: void
    signature: void wpas_mbo_non_pref_chan_changed(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct wpa_mbo_non_pref_channel*
    - struct wpa_mbo_non_pref_channel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 334
    functionName: wpa_non_pref_chan_is_eq
    functionSourceFile: /src/hostap/wpa_supplicant/mbo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int wpa_non_pref_chan_is_eq(struct wpa_mbo_non_pref_channel *a,\n\t\t\t\t
      \  struct wpa_mbo_non_pref_channel *b)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 355
    functionName: wpa_non_pref_chan_cmp
    functionSourceFile: /src/hostap/wpa_supplicant/mbo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpa_non_pref_chan_cmp(const void *_a, const void *_b)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mbo.c:366,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/mbo.c:373,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/mbo.c:376,1
    - Dst: str_token
      Src: /src/hostap/wpa_supplicant/mbo.c:380,1
    - Dst: os_realloc_array
      Src: /src/hostap/wpa_supplicant/mbo.c:390,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mbo.c:393,1
    - Dst: sscanf
      Src: /src/hostap/wpa_supplicant/mbo.c:402,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mbo.c:407,1
    - Dst: wpas_mbo_validate_non_pref_chan
      Src: /src/hostap/wpa_supplicant/mbo.c:416,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mbo.c:418,1
    - Dst: wpa_non_pref_chan_is_eq
      Src: /src/hostap/wpa_supplicant/mbo.c:425,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mbo.c:428,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/mbo.c:437,1
    - Dst: qsort
      Src: /src/hostap/wpa_supplicant/mbo.c:440,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/mbo.c:445,1
    - Dst: wpas_mbo_non_pref_chan_changed
      Src: /src/hostap/wpa_supplicant/mbo.c:448,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/mbo.c:453,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/mbo.c:454,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 61
    argCount: 2
    argNames:
    - wpa_s
    - non_pref_chan
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 358
    functionDepth: 5
    functionLinenumber: 358
    functionLinenumberEnd: 456
    functionName: wpas_mbo_update_non_pref_chan
    functionSourceFile: /src/hostap/wpa_supplicant/mbo.c
    functionUses: 1
    functionsReached:
    - os_strlen
    - wpa_printf
    - wpa_non_pref_chan_is_eq
    - str_token
    - wpas_mbo_non_pref_chan_changed
    - sscanf
    - wpas_mbo_validate_non_pref_chan
    - os_free
    - qsort
    - os_strdup
    - os_realloc_array
    linkageType: ''
    returnType: int
    signature: "int wpas_mbo_update_non_pref_chan(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \ const char *non_pref_chan)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/mbo.c:467,1
    - Dst: wpabuf_put
      Src: /src/hostap/wpa_supplicant/mbo.c:468,1
    - Dst: wpabuf_put_be24
      Src: /src/hostap/wpa_supplicant/mbo.c:470,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/mbo.c:471,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/mbo.c:473,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/mbo.c:474,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/mbo.c:475,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/mbo.c:477,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/mbo.c:478,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/mbo.c:479,1
    - Dst: wpabuf_put
      Src: /src/hostap/wpa_supplicant/mbo.c:481,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - wpa_s
    - ie
    argTypes:
    - struct wpa_supplicant*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 459
    functionDepth: 1
    functionLinenumber: 459
    functionLinenumberEnd: 482
    functionName: wpas_mbo_scan_ie
    functionSourceFile: /src/hostap/wpa_supplicant/mbo.c
    functionUses: 2
    functionsReached:
    - wpabuf_put
    - wpabuf_put_u8
    - wpabuf_put_be24
    linkageType: ''
    returnType: void
    signature: void wpas_mbo_scan_ie(struct wpa_supplicant *wpa_s, struct wpabuf *ie)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: WPA_GET_BE24
      Src: /src/hostap/wpa_supplicant/mbo.c:492,1
    - Dst: wpa_sm_pmf_enabled
      Src: /src/hostap/wpa_supplicant/mbo.c:502,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mbo.c:503,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mbo.c:528,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mbo.c:544,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wpa_supplicant/mbo.c:549,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mbo.c:550,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mbo.c:554,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mbo.c:564,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mbo.c:569,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/mbo.c:579,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/mbo.c:583,1
    - Dst: wpa_bss_tmp_disallow
      Src: /src/hostap/wpa_supplicant/mbo.c:587,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mbo.c:592,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 72
    argCount: 3
    argNames:
    - wpa_s
    - mbo_ie
    - len
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 485
    functionDepth: 3
    functionLinenumber: 485
    functionLinenumberEnd: 594
    functionName: wpas_mbo_ie_trans_req
    functionSourceFile: /src/hostap/wpa_supplicant/mbo.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_msg
    - WPA_GET_LE16
    - WPA_GET_BE24
    - wpa_sm_pmf_enabled
    - wpa_bss_tmp_disallow
    linkageType: ''
    returnType: void
    signature: "void wpas_mbo_ie_trans_req(struct wpa_supplicant *wpa_s, const u8
      *mbo_ie,\n\t\t\t   size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbo_add_ie
      Src: /src/hostap/wpa_supplicant/mbo.c:607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - wpa_s
    - pos
    - len
    - reason
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - size_t
    - enum mbo_transition_reject_reason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 597
    functionDepth: 1
    functionLinenumber: 597
    functionLinenumberEnd: 608
    functionName: wpas_mbo_ie_bss_trans_reject
    functionSourceFile: /src/hostap/wpa_supplicant/mbo.c
    functionUses: 0
    functionsReached:
    - mbo_add_ie
    linkageType: ''
    returnType: size_t
    signature: "size_t wpas_mbo_ie_bss_trans_reject(struct wpa_supplicant *wpa_s,
      u8 *pos,\n\t\t\t\t    size_t len,\n\t\t\t\t    enum mbo_transition_reject_reason
      reason)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mbo.c:616,1
    - Dst: WPA_PUT_BE24
      Src: /src/hostap/wpa_supplicant/mbo.c:626,1
    - Dst: wpas_mbo_send_wnm_notification
      Src: /src/hostap/wpa_supplicant/mbo.c:630,1
    - Dst: wpa_supplicant_set_default_scan_ies
      Src: /src/hostap/wpa_supplicant/mbo.c:631,1
    - Dst: wpas_update_mbo_connect_params
      Src: /src/hostap/wpa_supplicant/mbo.c:632,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - wpa_s
    - mbo_cell_capa
    argTypes:
    - struct wpa_supplicant*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 611
    functionDepth: 4
    functionLinenumber: 611
    functionLinenumberEnd: 633
    functionName: wpas_mbo_update_cell_capa
    functionSourceFile: /src/hostap/wpa_supplicant/mbo.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_supplicant_set_default_scan_ies
    - WPA_PUT_BE24
    - wpas_mbo_send_wnm_notification
    - wpas_update_mbo_connect_params
    linkageType: ''
    returnType: void
    signature: void wpas_mbo_update_cell_capa(struct wpa_supplicant *wpa_s, u8 mbo_cell_capa)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_bss_get_vendor_ie
      Src: /src/hostap/wpa_supplicant/mbo.c:643,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mbo.c:644,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/mbo.c:646,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/mbo.c:651,1
    - Dst: gas_anqp_add_element
      Src: /src/hostap/wpa_supplicant/mbo.c:655,1
    - Dst: wpabuf_put_be24
      Src: /src/hostap/wpa_supplicant/mbo.c:656,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/mbo.c:657,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/mbo.c:659,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/mbo.c:663,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/mbo.c:664,1
    - Dst: gas_anqp_set_element_len
      Src: /src/hostap/wpa_supplicant/mbo.c:667,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - wpa_s
    - bss
    - mbo_subtypes
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_bss*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 636
    functionDepth: 1
    functionLinenumber: 636
    functionLinenumberEnd: 670
    functionName: mbo_build_anqp_buf
    functionSourceFile: /src/hostap/wpa_supplicant/mbo.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put_u8
    - MAC2STR
    - wpabuf_alloc
    - BIT
    - gas_anqp_add_element
    - wpa_bss_get_vendor_ie
    - gas_anqp_set_element_len
    - wpabuf_put_be24
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * mbo_build_anqp_buf(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \  struct wpa_bss *bss, u32 mbo_subtypes)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/mbo.c:690,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/mbo.c:691,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mbo.c:694,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 5
    argNames:
    - wpa_s
    - bss
    - sa
    - data
    - slen
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_bss*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 673
    functionDepth: 1
    functionLinenumber: 673
    functionLinenumberEnd: 698
    functionName: mbo_parse_rx_anqp_resp
    functionSourceFile: /src/hostap/wpa_supplicant/mbo.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: "void mbo_parse_rx_anqp_resp(struct wpa_supplicant *wpa_s,\n\t\t\t
      \   struct wpa_bss *bss, const u8 *sa,\n\t\t\t    const u8 *data, size_t slen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - ndef
    argTypes:
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: wpas_ap_wps_nfc_handover_sel
    functionSourceFile: /src/hostap/wpa_supplicant/ap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf *\nwpas_ap_wps_nfc_handover_sel(struct wpa_supplicant
      *wpa_s,\n\t\t\t     int ndef)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::init2
      Src: /src/hostap/wpa_supplicant/driver_i.h:26,1
    - Dst: struct wpa_supplicant*::driver::init
      Src: /src/hostap/wpa_supplicant/driver_i.h:31,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - wpa_s
    - ifname
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 34
    functionName: wpa_drv_init
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 1
    functionsReached:
    - struct wpa_supplicant*::driver::init
    - struct wpa_supplicant*::driver::init2
    linkageType: ''
    returnType: void
    signature: "void * wpa_drv_init(struct wpa_supplicant *wpa_s,\n\t\t\t\t  const
      char *ifname)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::deinit
      Src: /src/hostap/wpa_supplicant/driver_i.h:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: wpa_drv_deinit
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 1
    functionsReached:
    - struct wpa_supplicant*::driver::deinit
    linkageType: ''
    returnType: void
    signature: void wpa_drv_deinit(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::set_param
      Src: /src/hostap/wpa_supplicant/driver_i.h:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - param
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: wpa_drv_set_param
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 1
    functionsReached:
    - struct wpa_supplicant*::driver::set_param
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_set_param(struct wpa_supplicant *wpa_s,\n\t\t\t\t    const
      char *param)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::set_countermeasures
      Src: /src/hostap/wpa_supplicant/driver_i.h:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - wpa_s
    - enabled
    argTypes:
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 58
    functionName: wpa_drv_set_countermeasures
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 2
    functionsReached:
    - struct wpa_supplicant*::driver::set_countermeasures
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_set_countermeasures(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \     int enabled)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::authenticate
      Src: /src/hostap/wpa_supplicant/driver_i.h:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - params
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_driver_auth_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: wpa_drv_authenticate
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 1
    functionsReached:
    - struct wpa_supplicant*::driver::authenticate
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_authenticate(struct wpa_supplicant *wpa_s,\n\t\t\t\t       struct
      wpa_driver_auth_params *params)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::associate
      Src: /src/hostap/wpa_supplicant/driver_i.h:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - wpa_s
    - params
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_driver_associate_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 78
    functionName: wpa_drv_associate
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 1
    functionsReached:
    - struct wpa_supplicant*::driver::associate
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_associate(struct wpa_supplicant *wpa_s,\n\t\t\t\t    struct
      wpa_driver_associate_params *params)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::init_mesh
      Src: /src/hostap/wpa_supplicant/driver_i.h:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 85
    functionName: wpa_drv_init_mesh
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 0
    functionsReached:
    - struct wpa_supplicant*::driver::init_mesh
    linkageType: ''
    returnType: int
    signature: int wpa_drv_init_mesh(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::join_mesh
      Src: /src/hostap/wpa_supplicant/driver_i.h:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - params
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_driver_mesh_join_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 93
    functionName: wpa_drv_join_mesh
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 0
    functionsReached:
    - struct wpa_supplicant*::driver::join_mesh
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_join_mesh(struct wpa_supplicant *wpa_s,\n\t\t\t\t    struct
      wpa_driver_mesh_join_params *params)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::leave_mesh
      Src: /src/hostap/wpa_supplicant/driver_i.h:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: wpa_drv_leave_mesh
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 0
    functionsReached:
    - struct wpa_supplicant*::driver::leave_mesh
    linkageType: ''
    returnType: int
    signature: int wpa_drv_leave_mesh(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::probe_mesh_link
      Src: /src/hostap/wpa_supplicant/driver_i.h:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - wpa_s
    - addr
    - eth
    - len
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 110
    functionName: wpa_drv_mesh_link_probe
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 1
    functionsReached:
    - struct wpa_supplicant*::driver::probe_mesh_link
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_mesh_link_probe(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \ const u8 *addr,\n\t\t\t\t\t  const u8 *eth, size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::scan2
      Src: /src/hostap/wpa_supplicant/driver_i.h:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - wpa_s
    - params
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_driver_scan_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 124
    functionName: wpa_drv_scan
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 1
    functionsReached:
    - struct wpa_supplicant*::driver::scan2
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_scan(struct wpa_supplicant *wpa_s,\n\t\t\t       struct
      wpa_driver_scan_params *params)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::sched_scan
      Src: /src/hostap/wpa_supplicant/driver_i.h:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - params
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_driver_scan_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 132
    functionName: wpa_drv_sched_scan
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 1
    functionsReached:
    - struct wpa_supplicant*::driver::sched_scan
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_sched_scan(struct wpa_supplicant *wpa_s,\n\t\t\t\t     struct
      wpa_driver_scan_params *params)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::stop_sched_scan
      Src: /src/hostap/wpa_supplicant/driver_i.h:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 139
    functionName: wpa_drv_stop_sched_scan
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 1
    functionsReached:
    - struct wpa_supplicant*::driver::stop_sched_scan
    linkageType: ''
    returnType: int
    signature: int wpa_drv_stop_sched_scan(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::get_bssid
      Src: /src/hostap/wpa_supplicant/driver_i.h:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - wpa_s
    - bssid
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 150
    functionName: wpa_drv_get_bssid
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 4
    functionsReached:
    - struct wpa_supplicant*::driver::get_bssid
    linkageType: ''
    returnType: int
    signature: int wpa_drv_get_bssid(struct wpa_supplicant *wpa_s, u8 *bssid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::get_ssid
      Src: /src/hostap/wpa_supplicant/driver_i.h:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - wpa_s
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 158
    functionName: wpa_drv_get_ssid
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 1
    functionsReached:
    - struct wpa_supplicant*::driver::get_ssid
    linkageType: ''
    returnType: int
    signature: int wpa_drv_get_ssid(struct wpa_supplicant *wpa_s, u8 *ssid)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/driver_i.h:169,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/driver_i.h:189,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/driver_i.h:191,1
    - Dst: struct wpa_supplicant*::driver::set_key
      Src: /src/hostap/wpa_supplicant/driver_i.h:196,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 11
    argNames:
    - wpa_s
    - link_id
    - alg
    - addr
    - key_idx
    - set_tx
    - seq
    - seq_len
    - key
    - key_len
    - key_flag
    argTypes:
    - struct wpa_supplicant*
    - int
    - enum wpa_alg
    - u8*
    - int
    - int
    - u8*
    - size_t
    - u8*
    - size_t
    - enum key_flag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 199
    functionName: wpa_drv_set_key
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 21
    functionsReached:
    - BIT
    - struct wpa_supplicant*::driver::set_key
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_set_key(struct wpa_supplicant *wpa_s, int link_id,\n\t\t\t\t
      \ enum wpa_alg alg, const u8 *addr,\n\t\t\t\t  int key_idx, int set_tx,\n\t\t\t\t
      \ const u8 *seq, size_t seq_len,\n\t\t\t\t  const u8 *key, size_t key_len,\n\t\t\t\t
      \ enum key_flag key_flag)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::get_seqnum
      Src: /src/hostap/wpa_supplicant/driver_i.h:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - wpa_s
    - addr
    - idx
    - seq
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - int
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 208
    functionName: wpa_drv_get_seqnum
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 2
    functionsReached:
    - struct wpa_supplicant*::driver::get_seqnum
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_get_seqnum(struct wpa_supplicant *wpa_s,\n\t\t\t\t     const
      u8 *addr, int idx, u8 *seq)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::sta_deauth
      Src: /src/hostap/wpa_supplicant/driver_i.h:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - wpa_s
    - addr
    - reason_code
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 219
    functionName: wpa_drv_sta_deauth
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 0
    functionsReached:
    - struct wpa_supplicant*::driver::sta_deauth
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_sta_deauth(struct wpa_supplicant *wpa_s,\n\t\t\t\t     const
      u8 *addr, u16 reason_code)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::deauthenticate
      Src: /src/hostap/wpa_supplicant/driver_i.h:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - wpa_s
    - addr
    - reason_code
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 229
    functionName: wpa_drv_deauthenticate
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 4
    functionsReached:
    - struct wpa_supplicant*::driver::deauthenticate
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_deauthenticate(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      const u8 *addr, u16 reason_code)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::add_pmkid
      Src: /src/hostap/wpa_supplicant/driver_i.h:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - wpa_s
    - params
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_pmkid_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 238
    functionName: wpa_drv_add_pmkid
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 1
    functionsReached:
    - struct wpa_supplicant*::driver::add_pmkid
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_add_pmkid(struct wpa_supplicant *wpa_s,\n\t\t\t\t    struct
      wpa_pmkid_params *params)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::remove_pmkid
      Src: /src/hostap/wpa_supplicant/driver_i.h:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - wpa_s
    - params
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_pmkid_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 247
    functionName: wpa_drv_remove_pmkid
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 1
    functionsReached:
    - struct wpa_supplicant*::driver::remove_pmkid
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_remove_pmkid(struct wpa_supplicant *wpa_s,\n\t\t\t\t       struct
      wpa_pmkid_params *params)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::flush_pmkid
      Src: /src/hostap/wpa_supplicant/driver_i.h:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 255
    functionName: wpa_drv_flush_pmkid
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 2
    functionsReached:
    - struct wpa_supplicant*::driver::flush_pmkid
    linkageType: ''
    returnType: int
    signature: int wpa_drv_flush_pmkid(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::get_capa
      Src: /src/hostap/wpa_supplicant/driver_i.h:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - wpa_s
    - capa
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_driver_capa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 264
    functionName: wpa_drv_get_capa
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 3
    functionsReached:
    - struct wpa_supplicant*::driver::get_capa
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_get_capa(struct wpa_supplicant *wpa_s,\n\t\t\t\t   struct
      wpa_driver_capa *capa)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::poll
      Src: /src/hostap/wpa_supplicant/driver_i.h:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 271
    functionName: wpa_drv_poll
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 1
    functionsReached:
    - struct wpa_supplicant*::driver::poll
    linkageType: ''
    returnType: void
    signature: void wpa_drv_poll(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::get_ifname
      Src: /src/hostap/wpa_supplicant/driver_i.h:276,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 279
    functionName: wpa_drv_get_ifname
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 1
    functionsReached:
    - struct wpa_supplicant*::driver::get_ifname
    linkageType: ''
    returnType: char
    signature: char * wpa_drv_get_ifname(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::get_radio_name
      Src: /src/hostap/wpa_supplicant/driver_i.h:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 287
    functionName: wpa_driver_get_radio_name
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 1
    functionsReached:
    - struct wpa_supplicant*::driver::get_radio_name
    linkageType: ''
    returnType: char
    signature: 'char *

      wpa_driver_get_radio_name(struct wpa_supplicant *wpa_s)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::get_mac_addr
      Src: /src/hostap/wpa_supplicant/driver_i.h:292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 295
    functionName: wpa_drv_get_mac_addr
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 1
    functionsReached:
    - struct wpa_supplicant*::driver::get_mac_addr
    linkageType: ''
    returnType: u8
    signature: u8 * wpa_drv_get_mac_addr(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::set_operstate
      Src: /src/hostap/wpa_supplicant/driver_i.h:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - state
    argTypes:
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 303
    functionName: wpa_drv_set_operstate
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 3
    functionsReached:
    - struct wpa_supplicant*::driver::set_operstate
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_set_operstate(struct wpa_supplicant *wpa_s,\n\t\t\t\t\tint
      state)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::mlme_setprotection
      Src: /src/hostap/wpa_supplicant/driver_i.h:310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - wpa_s
    - addr
    - protect_type
    - key_type
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 314
    functionName: wpa_drv_mlme_setprotection
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 3
    functionsReached:
    - struct wpa_supplicant*::driver::mlme_setprotection
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_mlme_setprotection(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \    const u8 *addr, int protect_type,\n\t\t\t\t\t     int key_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::get_hw_feature_data
      Src: /src/hostap/wpa_supplicant/driver_i.h:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - wpa_s
    - num_modes
    - flags
    - dfs_domain
    - alpha2
    - alpha2_len
    argTypes:
    - struct wpa_supplicant*
    - u16*
    - u16*
    - u8*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 327
    functionName: wpa_drv_get_hw_feature_data
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 1
    functionsReached:
    - struct wpa_supplicant*::driver::get_hw_feature_data
    linkageType: ''
    returnType: struct hostapd_hw_modes
    signature: "struct hostapd_hw_modes *\nwpa_drv_get_hw_feature_data(struct wpa_supplicant
      *wpa_s, u16 *num_modes,\n\t\t\t    u16 *flags, u8 *dfs_domain,\n\t\t\t    char
      *alpha2, size_t alpha2_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::set_country
      Src: /src/hostap/wpa_supplicant/driver_i.h:333,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - alpha2
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 335
    functionName: wpa_drv_set_country
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 2
    functionsReached:
    - struct wpa_supplicant*::driver::set_country
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_set_country(struct wpa_supplicant *wpa_s,\n\t\t\t\t      const
      char *alpha2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::send_mlme
      Src: /src/hostap/wpa_supplicant/driver_i.h:342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - wpa_s
    - data
    - data_len
    - noack
    - freq
    - wait
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - size_t
    - int
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 346
    functionName: wpa_drv_send_mlme
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 6
    functionsReached:
    - struct wpa_supplicant*::driver::send_mlme
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_send_mlme(struct wpa_supplicant *wpa_s,\n\t\t\t\t    const
      u8 *data, size_t data_len, int noack,\n\t\t\t\t    unsigned int freq, unsigned
      int wait)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::update_ft_ies
      Src: /src/hostap/wpa_supplicant/driver_i.h:353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - wpa_s
    - md
    - ies
    - ies_len
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 356
    functionName: wpa_drv_update_ft_ies
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 1
    functionsReached:
    - struct wpa_supplicant*::driver::update_ft_ies
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_update_ft_ies(struct wpa_supplicant *wpa_s,\n\t\t\t\t\tconst
      u8 *md,\n\t\t\t\t\tconst u8 *ies, size_t ies_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::sta_add
      Src: /src/hostap/wpa_supplicant/driver_i.h:365,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - wpa_s
    - params
    argTypes:
    - struct wpa_supplicant*
    - struct hostapd_sta_add_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 368
    functionName: wpa_drv_sta_add
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 5
    functionsReached:
    - struct wpa_supplicant*::driver::sta_add
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_sta_add(struct wpa_supplicant *wpa_s,\n\t\t\t\t  struct
      hostapd_sta_add_params *params)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::sta_remove
      Src: /src/hostap/wpa_supplicant/driver_i.h:374,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - addr
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 376
    functionName: wpa_drv_sta_remove
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 3
    functionsReached:
    - struct wpa_supplicant*::driver::sta_remove
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_sta_remove(struct wpa_supplicant *wpa_s,\n\t\t\t\t     const
      u8 *addr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::tx_control_port
      Src: /src/hostap/wpa_supplicant/driver_i.h:385,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - wpa_s
    - dest
    - proto
    - buf
    - len
    - no_encrypt
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u16
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 387
    functionName: wpa_drv_tx_control_port
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 1
    functionsReached:
    - struct wpa_supplicant*::driver::tx_control_port
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_tx_control_port(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \ const u8 *dest, u16 proto,\n\t\t\t\t\t  const u8 *buf, size_t len,\n\t\t\t\t\t
      \ int no_encrypt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::hapd_send_eapol
      Src: /src/hostap/wpa_supplicant/driver_i.h:395,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 7
    argNames:
    - wpa_s
    - addr
    - data
    - data_len
    - encrypt
    - own_addr
    - flags
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - size_t
    - int
    - u8*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 399
    functionName: wpa_drv_hapd_send_eapol
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 0
    functionsReached:
    - struct wpa_supplicant*::driver::hapd_send_eapol
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_hapd_send_eapol(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \ const u8 *addr, const u8 *data,\n\t\t\t\t\t  size_t data_len, int encrypt,\n\t\t\t\t\t
      \ const u8 *own_addr, u32 flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::sta_set_flags
      Src: /src/hostap/wpa_supplicant/driver_i.h:406,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - wpa_s
    - addr
    - total_flags
    - flags_or
    - flags_and
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 410
    functionName: wpa_drv_sta_set_flags
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 2
    functionsReached:
    - struct wpa_supplicant*::driver::sta_set_flags
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_sta_set_flags(struct wpa_supplicant *wpa_s,\n\t\t\t\t\tconst
      u8 *addr, int total_flags,\n\t\t\t\t\tint flags_or, int flags_and)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::set_supp_port
      Src: /src/hostap/wpa_supplicant/driver_i.h:416,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - wpa_s
    - authorized
    argTypes:
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 420
    functionName: wpa_drv_set_supp_port
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 2
    functionsReached:
    - struct wpa_supplicant*::driver::set_supp_port
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_set_supp_port(struct wpa_supplicant *wpa_s,\n\t\t\t\t\tint
      authorized)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::send_action_cancel_wait
      Src: /src/hostap/wpa_supplicant/driver_i.h:430,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 431
    functionName: wpa_drv_send_action_cancel_wait
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 1
    functionsReached:
    - struct wpa_supplicant*::driver::send_action_cancel_wait
    linkageType: ''
    returnType: void
    signature: void wpa_drv_send_action_cancel_wait(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::set_freq
      Src: /src/hostap/wpa_supplicant/driver_i.h:437,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - freq
    argTypes:
    - struct wpa_supplicant*
    - struct hostapd_freq_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 439
    functionName: wpa_drv_set_freq
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 0
    functionsReached:
    - struct wpa_supplicant*::driver::set_freq
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_set_freq(struct wpa_supplicant *wpa_s,\n\t\t\t\t   struct
      hostapd_freq_params *freq)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::if_add
      Src: /src/hostap/wpa_supplicant/driver_i.h:448,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 8
    argNames:
    - wpa_s
    - type
    - ifname
    - addr
    - bss_ctx
    - force_ifname
    - if_addr
    - bridge
    argTypes:
    - struct wpa_supplicant*
    - enum wpa_driver_if_type
    - char*
    - u8*
    - void*
    - char*
    - u8*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 452
    functionName: wpa_drv_if_add
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 1
    functionsReached:
    - struct wpa_supplicant*::driver::if_add
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_if_add(struct wpa_supplicant *wpa_s,\n\t\t\t\t enum wpa_driver_if_type
      type,\n\t\t\t\t const char *ifname, const u8 *addr,\n\t\t\t\t void *bss_ctx,
      char *force_ifname,\n\t\t\t\t u8 *if_addr, const char *bridge)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::if_remove
      Src: /src/hostap/wpa_supplicant/driver_i.h:459,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - wpa_s
    - type
    - ifname
    argTypes:
    - struct wpa_supplicant*
    - enum wpa_driver_if_type
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 461
    functionName: wpa_drv_if_remove
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 3
    functionsReached:
    - struct wpa_supplicant*::driver::if_remove
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_if_remove(struct wpa_supplicant *wpa_s,\n\t\t\t\t    enum
      wpa_driver_if_type type,\n\t\t\t\t    const char *ifname)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::remain_on_channel
      Src: /src/hostap/wpa_supplicant/driver_i.h:469,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - wpa_s
    - freq
    - duration
    - filter_addr
    argTypes:
    - struct wpa_supplicant*
    - unsigned int
    - unsigned int
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 472
    functionName: wpa_drv_remain_on_channel
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 3
    functionsReached:
    - struct wpa_supplicant*::driver::remain_on_channel
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_remain_on_channel(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \   unsigned int freq,\n\t\t\t\t\t    unsigned int duration,\n\t\t\t\t\t    const
      u8 *filter_addr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::cancel_remain_on_channel
      Src: /src/hostap/wpa_supplicant/driver_i.h:478,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 481
    functionName: wpa_drv_cancel_remain_on_channel
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 3
    functionsReached:
    - struct wpa_supplicant*::driver::cancel_remain_on_channel
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_cancel_remain_on_channel(\n\tstruct wpa_supplicant *wpa_s)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::probe_req_report
      Src: /src/hostap/wpa_supplicant/driver_i.h:487,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - report
    argTypes:
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 490
    functionName: wpa_drv_probe_req_report
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 1
    functionsReached:
    - struct wpa_supplicant*::driver::probe_req_report
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_probe_req_report(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \  int report)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::deinit_ap
      Src: /src/hostap/wpa_supplicant/driver_i.h:495,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 497
    functionName: wpa_drv_deinit_ap
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 0
    functionsReached:
    - struct wpa_supplicant*::driver::deinit_ap
    linkageType: ''
    returnType: int
    signature: int wpa_drv_deinit_ap(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::deinit_p2p_cli
      Src: /src/hostap/wpa_supplicant/driver_i.h:502,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 504
    functionName: wpa_drv_deinit_p2p_cli
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 0
    functionsReached:
    - struct wpa_supplicant*::driver::deinit_p2p_cli
    linkageType: ''
    returnType: int
    signature: int wpa_drv_deinit_p2p_cli(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::suspend
      Src: /src/hostap/wpa_supplicant/driver_i.h:509,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 510
    functionName: wpa_drv_suspend
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 0
    functionsReached:
    - struct wpa_supplicant*::driver::suspend
    linkageType: ''
    returnType: void
    signature: void wpa_drv_suspend(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::resume
      Src: /src/hostap/wpa_supplicant/driver_i.h:515,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 516
    functionName: wpa_drv_resume
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 0
    functionsReached:
    - struct wpa_supplicant*::driver::resume
    linkageType: ''
    returnType: void
    signature: void wpa_drv_resume(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::signal_monitor
      Src: /src/hostap/wpa_supplicant/driver_i.h:522,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - wpa_s
    - threshold
    - hysteresis
    argTypes:
    - struct wpa_supplicant*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 525
    functionName: wpa_drv_signal_monitor
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 5
    functionsReached:
    - struct wpa_supplicant*::driver::signal_monitor
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_signal_monitor(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      int threshold, int hysteresis)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::mlo_signal_poll
      Src: /src/hostap/wpa_supplicant/driver_i.h:534,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - mlo_si
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_mlo_signal_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 536
    functionName: wpa_drv_mlo_signal_poll
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 1
    functionsReached:
    - struct wpa_supplicant*::driver::mlo_signal_poll
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_mlo_signal_poll(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \ struct wpa_mlo_signal_info *mlo_si)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::setup_link_reconfig
      Src: /src/hostap/wpa_supplicant/driver_i.h:543,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - info
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_mlo_reconfig_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 546
    functionName: wpa_drv_setup_link_reconfig
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 1
    functionsReached:
    - struct wpa_supplicant*::driver::setup_link_reconfig
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_setup_link_reconfig(struct wpa_supplicant *wpa_s,\n\t\t\t
      \   struct wpa_mlo_reconfig_info *info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::channel_info
      Src: /src/hostap/wpa_supplicant/driver_i.h:552,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - ci
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_channel_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 554
    functionName: wpa_drv_channel_info
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 4
    functionsReached:
    - struct wpa_supplicant*::driver::channel_info
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_channel_info(struct wpa_supplicant *wpa_s,\n\t\t\t\t       struct
      wpa_channel_info *ci)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::read_sta_data
      Src: /src/hostap/wpa_supplicant/driver_i.h:560,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - sta
    argTypes:
    - struct wpa_supplicant*
    - struct hostap_sta_driver_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 563
    functionName: wpa_drv_pktcnt_poll
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 1
    functionsReached:
    - struct wpa_supplicant*::driver::read_sta_data
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_pktcnt_poll(struct wpa_supplicant *wpa_s,\n\t\t\t\t      struct
      hostap_sta_driver_data *sta)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::set_ap_wps_ie
      Src: /src/hostap/wpa_supplicant/driver_i.h:572,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - wpa_s
    - beacon
    - proberesp
    - assocresp
    argTypes:
    - struct wpa_supplicant*
    - struct wpabuf*
    - struct wpabuf*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 574
    functionName: wpa_drv_set_ap_wps_ie
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 0
    functionsReached:
    - struct wpa_supplicant*::driver::set_ap_wps_ie
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_set_ap_wps_ie(struct wpa_supplicant *wpa_s,\n\t\t\t\t\tconst
      struct wpabuf *beacon,\n\t\t\t\t\tconst struct wpabuf *proberesp,\n\t\t\t\t\tconst
      struct wpabuf *assocresp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::get_noa
      Src: /src/hostap/wpa_supplicant/driver_i.h:581,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - wpa_s
    - buf
    - buf_len
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 582
    functionName: wpa_drv_get_noa
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 0
    functionsReached:
    - struct wpa_supplicant*::driver::get_noa
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_get_noa(struct wpa_supplicant *wpa_s,\n\t\t\t\t  u8 *buf,
      size_t buf_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::set_p2p_powersave
      Src: /src/hostap/wpa_supplicant/driver_i.h:590,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - wpa_s
    - legacy_ps
    - opp_ps
    - ctwindow
    argTypes:
    - struct wpa_supplicant*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 592
    functionName: wpa_drv_set_p2p_powersave
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 1
    functionsReached:
    - struct wpa_supplicant*::driver::set_p2p_powersave
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_set_p2p_powersave(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \   int legacy_ps, int opp_ps,\n\t\t\t\t\t    int ctwindow)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::ampdu
      Src: /src/hostap/wpa_supplicant/driver_i.h:598,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - ampdu
    argTypes:
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 599
    functionName: wpa_drv_ampdu
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 0
    functionsReached:
    - struct wpa_supplicant*::driver::ampdu
    linkageType: ''
    returnType: int
    signature: int wpa_drv_ampdu(struct wpa_supplicant *wpa_s, int ampdu)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::send_tdls_mgmt
      Src: /src/hostap/wpa_supplicant/driver_i.h:608,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 10
    argNames:
    - wpa_s
    - dst
    - action_code
    - dialog_token
    - status_code
    - peer_capab
    - initiator
    - buf
    - len
    - link_id
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8
    - u8
    - u16
    - u32
    - int
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 615
    functionName: wpa_drv_send_tdls_mgmt
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 1
    functionsReached:
    - struct wpa_supplicant*::driver::send_tdls_mgmt
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_send_tdls_mgmt(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      const u8 *dst, u8 action_code,\n\t\t\t\t\t u8 dialog_token, u16 status_code,\n\t\t\t\t\t
      u32 peer_capab, int initiator,\n\t\t\t\t\t const u8 *buf, size_t len, int link_id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::tdls_oper
      Src: /src/hostap/wpa_supplicant/driver_i.h:622,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - wpa_s
    - oper
    - peer
    argTypes:
    - struct wpa_supplicant*
    - enum tdls_oper
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 623
    functionName: wpa_drv_tdls_oper
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 5
    functionsReached:
    - struct wpa_supplicant*::driver::tdls_oper
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_tdls_oper(struct wpa_supplicant *wpa_s,\n\t\t\t\t    enum
      tdls_oper oper, const u8 *peer)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::driver_cmd
      Src: /src/hostap/wpa_supplicant/driver_i.h:631,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - wpa_s
    - cmd
    - buf
    - buf_len
    argTypes:
    - struct wpa_supplicant*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 632
    functionName: wpa_drv_driver_cmd
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 1
    functionsReached:
    - struct wpa_supplicant*::driver::driver_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_driver_cmd(struct wpa_supplicant *wpa_s,\n\t\t\t\t     char
      *cmd, char *buf, size_t buf_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::set_rekey_info
      Src: /src/hostap/wpa_supplicant/driver_i.h:642,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - wpa_s
    - kek
    - kek_len
    - kck
    - kck_len
    - replay_ctr
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 644
    functionName: wpa_drv_set_rekey_info
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 1
    functionsReached:
    - struct wpa_supplicant*::driver::set_rekey_info
    linkageType: ''
    returnType: void
    signature: "void wpa_drv_set_rekey_info(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \ const u8 *kek, size_t kek_len,\n\t\t\t\t\t  const u8 *kck, size_t kck_len,\n\t\t\t\t\t
      \ const u8 *replay_ctr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::radio_disable
      Src: /src/hostap/wpa_supplicant/driver_i.h:651,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - disabled
    argTypes:
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 652
    functionName: wpa_drv_radio_disable
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 1
    functionsReached:
    - struct wpa_supplicant*::driver::radio_disable
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_radio_disable(struct wpa_supplicant *wpa_s,\n\t\t\t\t\tint
      disabled)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::switch_channel
      Src: /src/hostap/wpa_supplicant/driver_i.h:659,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - settings
    argTypes:
    - struct wpa_supplicant*
    - struct csa_settings*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 654
    functionDepth: 0
    functionLinenumber: 654
    functionLinenumberEnd: 660
    functionName: wpa_drv_switch_channel
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 0
    functionsReached:
    - struct wpa_supplicant*::driver::switch_channel
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_switch_channel(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      struct csa_settings *settings)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::add_tx_ts
      Src: /src/hostap/wpa_supplicant/driver_i.h:668,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - wpa_s
    - tsid
    - address
    - user_priority
    - admitted_time
    argTypes:
    - struct wpa_supplicant*
    - u8
    - u8*
    - u8
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 670
    functionName: wpa_drv_add_ts
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 0
    functionsReached:
    - struct wpa_supplicant*::driver::add_tx_ts
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_add_ts(struct wpa_supplicant *wpa_s, u8 tsid,\n\t\t\t\t
      const u8 *address, u8 user_priority,\n\t\t\t\t u16 admitted_time)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::del_tx_ts
      Src: /src/hostap/wpa_supplicant/driver_i.h:677,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - wpa_s
    - tid
    - address
    argTypes:
    - struct wpa_supplicant*
    - u8
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 678
    functionName: wpa_drv_del_ts
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 0
    functionsReached:
    - struct wpa_supplicant*::driver::del_tx_ts
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_del_ts(struct wpa_supplicant *wpa_s, u8 tid,\n\t\t\t\t
      const u8 *address)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::tdls_enable_channel_switch
      Src: /src/hostap/wpa_supplicant/driver_i.h:686,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - wpa_s
    - addr
    - oper_class
    - freq_params
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8
    - struct hostapd_freq_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 689
    functionName: wpa_drv_tdls_enable_channel_switch
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 1
    functionsReached:
    - struct wpa_supplicant*::driver::tdls_enable_channel_switch
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_tdls_enable_channel_switch(\n\tstruct wpa_supplicant *wpa_s,
      const u8 *addr, u8 oper_class,\n\tconst struct hostapd_freq_params *freq_params)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::tdls_disable_channel_switch
      Src: /src/hostap/wpa_supplicant/driver_i.h:697,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - addr
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 699
    functionName: wpa_drv_tdls_disable_channel_switch
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 1
    functionsReached:
    - struct wpa_supplicant*::driver::tdls_disable_channel_switch
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_tdls_disable_channel_switch(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \   const u8 *addr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::wnm_oper
      Src: /src/hostap/wpa_supplicant/driver_i.h:707,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - wpa_s
    - oper
    - peer
    - buf
    - buf_len
    argTypes:
    - struct wpa_supplicant*
    - enum wnm_oper
    - u8*
    - u8*
    - u16*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 709
    functionName: wpa_drv_wnm_oper
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 0
    functionsReached:
    - struct wpa_supplicant*::driver::wnm_oper
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_wnm_oper(struct wpa_supplicant *wpa_s,\n\t\t\t\t   enum
      wnm_oper oper, const u8 *peer,\n\t\t\t\t   u8 *buf, u16 *buf_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::status
      Src: /src/hostap/wpa_supplicant/driver_i.h:716,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - wpa_s
    - buf
    - buflen
    argTypes:
    - struct wpa_supplicant*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 717
    functionName: wpa_drv_status
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 0
    functionsReached:
    - struct wpa_supplicant*::driver::status
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_status(struct wpa_supplicant *wpa_s,\n\t\t\t\t char *buf,
      size_t buflen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::set_qos_map
      Src: /src/hostap/wpa_supplicant/driver_i.h:724,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - wpa_s
    - qos_map_set
    - qos_map_set_len
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 726
    functionName: wpa_drv_set_qos_map
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 0
    functionsReached:
    - struct wpa_supplicant*::driver::set_qos_map
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_set_qos_map(struct wpa_supplicant *wpa_s,\n\t\t\t\t      const
      u8 *qos_map_set, u8 qos_map_set_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::get_wowlan
      Src: /src/hostap/wpa_supplicant/driver_i.h:732,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 733
    functionName: wpa_drv_get_wowlan
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 1
    functionsReached:
    - struct wpa_supplicant*::driver::get_wowlan
    linkageType: ''
    returnType: int
    signature: int wpa_drv_get_wowlan(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::set_wowlan
      Src: /src/hostap/wpa_supplicant/driver_i.h:740,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - triggers
    argTypes:
    - struct wpa_supplicant*
    - struct wowlan_triggers*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 741
    functionName: wpa_drv_wowlan
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 1
    functionsReached:
    - struct wpa_supplicant*::driver::set_wowlan
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_wowlan(struct wpa_supplicant *wpa_s,\n\t\t\t\t const struct
      wowlan_triggers *triggers)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::pd_start
      Src: /src/hostap/wpa_supplicant/driver_i.h:750,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - wpa_s
    - addr
    - pd_addr
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 751
    functionName: wpa_drv_pd_start
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 0
    functionsReached:
    - struct wpa_supplicant*::driver::pd_start
    linkageType: ''
    returnType: int
    signature: int wpa_drv_pd_start(struct wpa_supplicant *wpa_s, const u8 *addr,
      u8 *pd_addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::pd_stop
      Src: /src/hostap/wpa_supplicant/driver_i.h:758,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 753
    functionDepth: 0
    functionLinenumber: 753
    functionLinenumberEnd: 759
    functionName: wpa_drv_pd_stop
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 0
    functionsReached:
    - struct wpa_supplicant*::driver::pd_stop
    linkageType: ''
    returnType: void
    signature: void wpa_drv_pd_stop(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::start_peer_measurement
      Src: /src/hostap/wpa_supplicant/driver_i.h:768,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - wpa_s
    - peer
    - freq
    - channel
    - bw
    - params
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - int
    - u8
    - int
    - struct pr_pasn_ranging_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 771
    functionName: wpa_drv_start_peer_measurement
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 0
    functionsReached:
    - struct wpa_supplicant*::driver::start_peer_measurement
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_start_peer_measurement(struct wpa_supplicant *wpa_s, const
      u8 *peer,\n\t\t\t       int freq, u8 channel, int bw,\n\t\t\t       struct pr_pasn_ranging_params
      *params)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::stop_peer_measurement
      Src: /src/hostap/wpa_supplicant/driver_i.h:778,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 779
    functionName: wpa_drv_stop_peer_measurement
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 0
    functionsReached:
    - struct wpa_supplicant*::driver::stop_peer_measurement
    linkageType: ''
    returnType: void
    signature: void wpa_drv_stop_peer_measurement(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::vendor_cmd
      Src: /src/hostap/wpa_supplicant/driver_i.h:791,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 7
    argNames:
    - wpa_s
    - vendor_id
    - subcmd
    - data
    - data_len
    - nested_attr_flag
    - buf
    argTypes:
    - struct wpa_supplicant*
    - int
    - int
    - u8*
    - size_t
    - enum nested_attr
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 783
    functionDepth: 0
    functionLinenumber: 783
    functionLinenumberEnd: 793
    functionName: wpa_drv_vendor_cmd
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 1
    functionsReached:
    - struct wpa_supplicant*::driver::vendor_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_vendor_cmd(struct wpa_supplicant *wpa_s,\n\t\t\t\t     int
      vendor_id, int subcmd, const u8 *data,\n\t\t\t\t     size_t data_len,\n\t\t\t\t
      \    enum nested_attr nested_attr_flag,\n\t\t\t\t     struct wpabuf *buf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::roaming
      Src: /src/hostap/wpa_supplicant/driver_i.h:800,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - wpa_s
    - allowed
    - bssid
    argTypes:
    - struct wpa_supplicant*
    - int
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 795
    functionDepth: 0
    functionLinenumber: 795
    functionLinenumberEnd: 801
    functionName: wpa_drv_roaming
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 0
    functionsReached:
    - struct wpa_supplicant*::driver::roaming
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_roaming(struct wpa_supplicant *wpa_s, int allowed,\n\t\t\t\t
      \ const u8 *bssid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::disable_fils
      Src: /src/hostap/wpa_supplicant/driver_i.h:808,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - disable
    argTypes:
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 803
    functionDepth: 0
    functionLinenumber: 803
    functionLinenumberEnd: 809
    functionName: wpa_drv_disable_fils
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 0
    functionsReached:
    - struct wpa_supplicant*::driver::disable_fils
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_disable_fils(struct wpa_supplicant *wpa_s,\n\t\t\t\t       int
      disable)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::set_mac_addr
      Src: /src/hostap/wpa_supplicant/driver_i.h:816,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - addr
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 817
    functionName: wpa_drv_set_mac_addr
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 2
    functionsReached:
    - struct wpa_supplicant*::driver::set_mac_addr
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_set_mac_addr(struct wpa_supplicant *wpa_s,\n\t\t\t\t       const
      u8 *addr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::macsec_init
      Src: /src/hostap/wpa_supplicant/driver_i.h:827,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - params
    argTypes:
    - struct wpa_supplicant*
    - struct macsec_init_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 828
    functionName: wpa_drv_macsec_init
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 0
    functionsReached:
    - struct wpa_supplicant*::driver::macsec_init
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_macsec_init(struct wpa_supplicant *wpa_s,\n\t\t\t\t      struct
      macsec_init_params *params)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::macsec_deinit
      Src: /src/hostap/wpa_supplicant/driver_i.h:834,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 835
    functionName: wpa_drv_macsec_deinit
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 0
    functionsReached:
    - struct wpa_supplicant*::driver::macsec_deinit
    linkageType: ''
    returnType: int
    signature: int wpa_drv_macsec_deinit(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::macsec_get_capability
      Src: /src/hostap/wpa_supplicant/driver_i.h:842,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - cap
    argTypes:
    - struct wpa_supplicant*
    - enum macsec_cap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 843
    functionName: wpa_drv_macsec_get_capability
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 0
    functionsReached:
    - struct wpa_supplicant*::driver::macsec_get_capability
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_macsec_get_capability(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t\tenum
      macsec_cap *cap)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::enable_protect_frames
      Src: /src/hostap/wpa_supplicant/driver_i.h:850,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - enabled
    argTypes:
    - struct wpa_supplicant*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 845
    functionDepth: 0
    functionLinenumber: 845
    functionLinenumberEnd: 851
    functionName: wpa_drv_enable_protect_frames
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 0
    functionsReached:
    - struct wpa_supplicant*::driver::enable_protect_frames
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_enable_protect_frames(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t\tbool
      enabled)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::enable_encrypt
      Src: /src/hostap/wpa_supplicant/driver_i.h:858,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - enabled
    argTypes:
    - struct wpa_supplicant*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 859
    functionName: wpa_drv_enable_encrypt
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 0
    functionsReached:
    - struct wpa_supplicant*::driver::enable_encrypt
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_enable_encrypt(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t\tbool
      enabled)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::set_replay_protect
      Src: /src/hostap/wpa_supplicant/driver_i.h:866,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - wpa_s
    - enabled
    - window
    argTypes:
    - struct wpa_supplicant*
    - bool
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 861
    functionDepth: 0
    functionLinenumber: 861
    functionLinenumberEnd: 868
    functionName: wpa_drv_set_replay_protect
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 0
    functionsReached:
    - struct wpa_supplicant*::driver::set_replay_protect
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_set_replay_protect(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \    bool enabled, u32 window)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::set_offload
      Src: /src/hostap/wpa_supplicant/driver_i.h:874,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - offload
    argTypes:
    - struct wpa_supplicant*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 870
    functionDepth: 0
    functionLinenumber: 870
    functionLinenumberEnd: 876
    functionName: wpa_drv_set_offload
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 0
    functionsReached:
    - struct wpa_supplicant*::driver::set_offload
    linkageType: ''
    returnType: int
    signature: int wpa_drv_set_offload(struct wpa_supplicant *wpa_s, u8 offload)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::set_current_cipher_suite
      Src: /src/hostap/wpa_supplicant/driver_i.h:883,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - cs
    argTypes:
    - struct wpa_supplicant*
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 878
    functionDepth: 0
    functionLinenumber: 878
    functionLinenumberEnd: 884
    functionName: wpa_drv_set_current_cipher_suite
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 0
    functionsReached:
    - struct wpa_supplicant*::driver::set_current_cipher_suite
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_set_current_cipher_suite(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t\t
      \  u64 cs)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::enable_controlled_port
      Src: /src/hostap/wpa_supplicant/driver_i.h:891,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - enabled
    argTypes:
    - struct wpa_supplicant*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 886
    functionDepth: 0
    functionLinenumber: 886
    functionLinenumberEnd: 892
    functionName: wpa_drv_enable_controlled_port
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 0
    functionsReached:
    - struct wpa_supplicant*::driver::enable_controlled_port
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_enable_controlled_port(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t\t
      bool enabled)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::get_receive_lowest_pn
      Src: /src/hostap/wpa_supplicant/driver_i.h:899,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - sa
    argTypes:
    - struct wpa_supplicant*
    - struct receive_sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 894
    functionDepth: 0
    functionLinenumber: 894
    functionLinenumberEnd: 900
    functionName: wpa_drv_get_receive_lowest_pn
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 0
    functionsReached:
    - struct wpa_supplicant*::driver::get_receive_lowest_pn
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_get_receive_lowest_pn(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t\tstruct
      receive_sa *sa)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::get_transmit_next_pn
      Src: /src/hostap/wpa_supplicant/driver_i.h:907,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - sa
    argTypes:
    - struct wpa_supplicant*
    - struct transmit_sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 908
    functionName: wpa_drv_get_transmit_next_pn
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 0
    functionsReached:
    - struct wpa_supplicant*::driver::get_transmit_next_pn
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_get_transmit_next_pn(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t\tstruct
      transmit_sa *sa)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::set_transmit_next_pn
      Src: /src/hostap/wpa_supplicant/driver_i.h:915,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - sa
    argTypes:
    - struct wpa_supplicant*
    - struct transmit_sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 910
    functionDepth: 0
    functionLinenumber: 910
    functionLinenumberEnd: 916
    functionName: wpa_drv_set_transmit_next_pn
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 0
    functionsReached:
    - struct wpa_supplicant*::driver::set_transmit_next_pn
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_set_transmit_next_pn(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t\tstruct
      transmit_sa *sa)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::set_receive_lowest_pn
      Src: /src/hostap/wpa_supplicant/driver_i.h:923,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - sa
    argTypes:
    - struct wpa_supplicant*
    - struct receive_sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 924
      start: 918
    functionDepth: 0
    functionLinenumber: 918
    functionLinenumberEnd: 924
    functionName: wpa_drv_set_receive_lowest_pn
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 0
    functionsReached:
    - struct wpa_supplicant*::driver::set_receive_lowest_pn
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_set_receive_lowest_pn(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t\tstruct
      receive_sa *sa)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::create_receive_sc
      Src: /src/hostap/wpa_supplicant/driver_i.h:932,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - wpa_s
    - sc
    - conf_offset
    - validation
    argTypes:
    - struct wpa_supplicant*
    - struct receive_sc*
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 926
    functionDepth: 0
    functionLinenumber: 926
    functionLinenumberEnd: 934
    functionName: wpa_drv_create_receive_sc
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 0
    functionsReached:
    - struct wpa_supplicant*::driver::create_receive_sc
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_create_receive_sc(struct wpa_supplicant *wpa_s, struct
      receive_sc *sc,\n\t\t\t  unsigned int conf_offset, int validation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::delete_receive_sc
      Src: /src/hostap/wpa_supplicant/driver_i.h:941,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - sc
    argTypes:
    - struct wpa_supplicant*
    - struct receive_sc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 936
    functionDepth: 0
    functionLinenumber: 936
    functionLinenumberEnd: 942
    functionName: wpa_drv_delete_receive_sc
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 0
    functionsReached:
    - struct wpa_supplicant*::driver::delete_receive_sc
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_delete_receive_sc(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \   struct receive_sc *sc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::create_receive_sa
      Src: /src/hostap/wpa_supplicant/driver_i.h:949,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - sa
    argTypes:
    - struct wpa_supplicant*
    - struct receive_sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 944
    functionDepth: 0
    functionLinenumber: 944
    functionLinenumberEnd: 950
    functionName: wpa_drv_create_receive_sa
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 0
    functionsReached:
    - struct wpa_supplicant*::driver::create_receive_sa
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_create_receive_sa(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \   struct receive_sa *sa)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::delete_receive_sa
      Src: /src/hostap/wpa_supplicant/driver_i.h:957,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - sa
    argTypes:
    - struct wpa_supplicant*
    - struct receive_sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 958
      start: 952
    functionDepth: 0
    functionLinenumber: 952
    functionLinenumberEnd: 958
    functionName: wpa_drv_delete_receive_sa
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 0
    functionsReached:
    - struct wpa_supplicant*::driver::delete_receive_sa
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_delete_receive_sa(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \   struct receive_sa *sa)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::enable_receive_sa
      Src: /src/hostap/wpa_supplicant/driver_i.h:965,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - sa
    argTypes:
    - struct wpa_supplicant*
    - struct receive_sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 960
    functionDepth: 0
    functionLinenumber: 960
    functionLinenumberEnd: 966
    functionName: wpa_drv_enable_receive_sa
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 0
    functionsReached:
    - struct wpa_supplicant*::driver::enable_receive_sa
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_enable_receive_sa(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \   struct receive_sa *sa)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::disable_receive_sa
      Src: /src/hostap/wpa_supplicant/driver_i.h:973,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - sa
    argTypes:
    - struct wpa_supplicant*
    - struct receive_sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 968
    functionDepth: 0
    functionLinenumber: 968
    functionLinenumberEnd: 974
    functionName: wpa_drv_disable_receive_sa
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 0
    functionsReached:
    - struct wpa_supplicant*::driver::disable_receive_sa
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_disable_receive_sa(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \    struct receive_sa *sa)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::create_transmit_sc
      Src: /src/hostap/wpa_supplicant/driver_i.h:982,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - wpa_s
    - sc
    - conf_offset
    argTypes:
    - struct wpa_supplicant*
    - struct transmit_sc*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 976
    functionDepth: 0
    functionLinenumber: 976
    functionLinenumberEnd: 984
    functionName: wpa_drv_create_transmit_sc
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 0
    functionsReached:
    - struct wpa_supplicant*::driver::create_transmit_sc
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_create_transmit_sc(struct wpa_supplicant *wpa_s, struct
      transmit_sc *sc,\n\t\t\t   unsigned int conf_offset)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::delete_transmit_sc
      Src: /src/hostap/wpa_supplicant/driver_i.h:991,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - sc
    argTypes:
    - struct wpa_supplicant*
    - struct transmit_sc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 986
    functionDepth: 0
    functionLinenumber: 986
    functionLinenumberEnd: 992
    functionName: wpa_drv_delete_transmit_sc
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 0
    functionsReached:
    - struct wpa_supplicant*::driver::delete_transmit_sc
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_delete_transmit_sc(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \    struct transmit_sc *sc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::create_transmit_sa
      Src: /src/hostap/wpa_supplicant/driver_i.h:999,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - sa
    argTypes:
    - struct wpa_supplicant*
    - struct transmit_sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 994
    functionDepth: 0
    functionLinenumber: 994
    functionLinenumberEnd: 1000
    functionName: wpa_drv_create_transmit_sa
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 0
    functionsReached:
    - struct wpa_supplicant*::driver::create_transmit_sa
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_create_transmit_sa(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \    struct transmit_sa *sa)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::delete_transmit_sa
      Src: /src/hostap/wpa_supplicant/driver_i.h:1007,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - sa
    argTypes:
    - struct wpa_supplicant*
    - struct transmit_sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 1002
    functionDepth: 0
    functionLinenumber: 1002
    functionLinenumberEnd: 1008
    functionName: wpa_drv_delete_transmit_sa
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 0
    functionsReached:
    - struct wpa_supplicant*::driver::delete_transmit_sa
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_delete_transmit_sa(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \    struct transmit_sa *sa)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::enable_transmit_sa
      Src: /src/hostap/wpa_supplicant/driver_i.h:1015,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - sa
    argTypes:
    - struct wpa_supplicant*
    - struct transmit_sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1016
      start: 1010
    functionDepth: 0
    functionLinenumber: 1010
    functionLinenumberEnd: 1016
    functionName: wpa_drv_enable_transmit_sa
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 0
    functionsReached:
    - struct wpa_supplicant*::driver::enable_transmit_sa
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_enable_transmit_sa(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \    struct transmit_sa *sa)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::disable_transmit_sa
      Src: /src/hostap/wpa_supplicant/driver_i.h:1023,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - sa
    argTypes:
    - struct wpa_supplicant*
    - struct transmit_sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 1018
    functionDepth: 0
    functionLinenumber: 1018
    functionLinenumberEnd: 1024
    functionName: wpa_drv_disable_transmit_sa
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 0
    functionsReached:
    - struct wpa_supplicant*::driver::disable_transmit_sa
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_disable_transmit_sa(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \     struct transmit_sa *sa)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::set_band
      Src: /src/hostap/wpa_supplicant/driver_i.h:1032,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - band_mask
    argTypes:
    - struct wpa_supplicant*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1033
      start: 1027
    functionDepth: 0
    functionLinenumber: 1027
    functionLinenumberEnd: 1033
    functionName: wpa_drv_setband
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 1
    functionsReached:
    - struct wpa_supplicant*::driver::set_band
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_setband(struct wpa_supplicant *wpa_s,\n\t\t\t\t  u32 band_mask)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpas_ctrl_iface_get_pref_freq_list_override
      Src: /src/hostap/wpa_supplicant/driver_i.h:1042,1
    - Dst: struct wpa_supplicant*::driver::get_pref_freq_list
      Src: /src/hostap/wpa_supplicant/driver_i.h:1047,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - wpa_s
    - if_type
    - num
    - freq_list
    argTypes:
    - struct wpa_supplicant*
    - enum wpa_driver_if_type
    - unsigned int*
    - struct weighted_pcl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1035
    functionDepth: 1
    functionLinenumber: 1035
    functionLinenumberEnd: 1049
    functionName: wpa_drv_get_pref_freq_list
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 2
    functionsReached:
    - wpas_ctrl_iface_get_pref_freq_list_override
    - struct wpa_supplicant*::driver::get_pref_freq_list
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_get_pref_freq_list(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \    enum wpa_driver_if_type if_type,\n\t\t\t\t\t     unsigned int *num,\n\t\t\t\t\t
      \    struct weighted_pcl *freq_list)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::set_prob_oper_freq
      Src: /src/hostap/wpa_supplicant/driver_i.h:1056,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - freq
    argTypes:
    - struct wpa_supplicant*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1057
      start: 1051
    functionDepth: 0
    functionLinenumber: 1051
    functionLinenumberEnd: 1057
    functionName: wpa_drv_set_prob_oper_freq
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 0
    functionsReached:
    - struct wpa_supplicant*::driver::set_prob_oper_freq
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_set_prob_oper_freq(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \    unsigned int freq)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::abort_scan
      Src: /src/hostap/wpa_supplicant/driver_i.h:1064,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - scan_cookie
    argTypes:
    - struct wpa_supplicant*
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1059
    functionDepth: 0
    functionLinenumber: 1059
    functionLinenumberEnd: 1065
    functionName: wpa_drv_abort_scan
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 1
    functionsReached:
    - struct wpa_supplicant*::driver::abort_scan
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_abort_scan(struct wpa_supplicant *wpa_s,\n\t\t\t\t     u64
      scan_cookie)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::configure_data_frame_filters
      Src: /src/hostap/wpa_supplicant/driver_i.h:1072,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - filters
    argTypes:
    - struct wpa_supplicant*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1067
    functionDepth: 0
    functionLinenumber: 1067
    functionLinenumberEnd: 1074
    functionName: wpa_drv_configure_frame_filters
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 2
    functionsReached:
    - struct wpa_supplicant*::driver::configure_data_frame_filters
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_configure_frame_filters(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t\t
      \ u32 filters)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::get_ext_capab
      Src: /src/hostap/wpa_supplicant/driver_i.h:1081,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - type
    argTypes:
    - struct wpa_supplicant*
    - enum wpa_driver_if_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1085
      start: 1076
    functionDepth: 0
    functionLinenumber: 1076
    functionLinenumberEnd: 1085
    functionName: wpa_drv_get_ext_capa
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 3
    functionsReached:
    - struct wpa_supplicant*::driver::get_ext_capab
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_get_ext_capa(struct wpa_supplicant *wpa_s,\n\t\t\t\t       enum
      wpa_driver_if_type type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::get_mld_capab
      Src: /src/hostap/wpa_supplicant/driver_i.h:1093,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - wpa_s
    - type
    - mld_eml_capa
    - mld_mld_capa
    argTypes:
    - struct wpa_supplicant*
    - enum wpa_driver_if_type
    - u16*
    - u16*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1095
      start: 1087
    functionDepth: 0
    functionLinenumber: 1087
    functionLinenumberEnd: 1095
    functionName: wpa_drv_get_mld_capa
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 1
    functionsReached:
    - struct wpa_supplicant*::driver::get_mld_capab
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_get_mld_capa(struct wpa_supplicant *wpa_s,\n\t\t\t\t       enum
      wpa_driver_if_type type,\n\t\t\t\t       u16 *mld_eml_capa, u16 *mld_mld_capa)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::p2p_lo_start
      Src: /src/hostap/wpa_supplicant/driver_i.h:1108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 9
    argNames:
    - wpa_s
    - channel
    - period
    - interval
    - count
    - device_types
    - dev_types_len
    - ies
    - ies_len
    argTypes:
    - struct wpa_supplicant*
    - unsigned int
    - unsigned int
    - unsigned int
    - unsigned int
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1111
      start: 1097
    functionDepth: 0
    functionLinenumber: 1097
    functionLinenumberEnd: 1111
    functionName: wpa_drv_p2p_lo_start
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 0
    functionsReached:
    - struct wpa_supplicant*::driver::p2p_lo_start
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_p2p_lo_start(struct wpa_supplicant *wpa_s,\n\t\t\t\t       unsigned
      int channel,\n\t\t\t\t       unsigned int period,\n\t\t\t\t       unsigned int
      interval,\n\t\t\t\t       unsigned int count,\n\t\t\t\t       const u8 *device_types,\n\t\t\t\t
      \      size_t dev_types_len,\n\t\t\t\t       const u8 *ies, size_t ies_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::p2p_lo_stop
      Src: /src/hostap/wpa_supplicant/driver_i.h:1117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1113
    functionDepth: 0
    functionLinenumber: 1113
    functionLinenumberEnd: 1118
    functionName: wpa_drv_p2p_lo_stop
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 0
    functionsReached:
    - struct wpa_supplicant*::driver::p2p_lo_stop
    linkageType: ''
    returnType: int
    signature: int wpa_drv_p2p_lo_stop(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::set_default_scan_ies
      Src: /src/hostap/wpa_supplicant/driver_i.h:1125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - wpa_s
    - ies
    - len
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1120
    functionDepth: 0
    functionLinenumber: 1120
    functionLinenumberEnd: 1126
    functionName: wpa_drv_set_default_scan_ies
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 1
    functionsReached:
    - struct wpa_supplicant*::driver::set_default_scan_ies
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_set_default_scan_ies(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \      const u8 *ies, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::set_tdls_mode
      Src: /src/hostap/wpa_supplicant/driver_i.h:1133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - tdls_external_control
    argTypes:
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1135
      start: 1128
    functionDepth: 0
    functionLinenumber: 1128
    functionLinenumberEnd: 1135
    functionName: wpa_drv_set_tdls_mode
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 0
    functionsReached:
    - struct wpa_supplicant*::driver::set_tdls_mode
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_set_tdls_mode(struct wpa_supplicant *wpa_s,\n\t\t\t\t\tint
      tdls_external_control)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::get_bss_transition_status
      Src: /src/hostap/wpa_supplicant/driver_i.h:1143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - params
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_bss_trans_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1145
      start: 1137
    functionDepth: 0
    functionLinenumber: 1137
    functionLinenumberEnd: 1145
    functionName: wpa_drv_get_bss_trans_status
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 0
    functionsReached:
    - struct wpa_supplicant*::driver::get_bss_transition_status
    linkageType: ''
    returnType: struct wpa_bss_candidate_info
    signature: "struct wpa_bss_candidate_info *\nwpa_drv_get_bss_trans_status(struct
      wpa_supplicant *wpa_s,\n\t\t\t     struct wpa_bss_trans_info *params)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::ignore_assoc_disallow
      Src: /src/hostap/wpa_supplicant/driver_i.h:1152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - val
    argTypes:
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1147
    functionDepth: 0
    functionLinenumber: 1147
    functionLinenumberEnd: 1153
    functionName: wpa_drv_ignore_assoc_disallow
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 0
    functionsReached:
    - struct wpa_supplicant*::driver::ignore_assoc_disallow
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_ignore_assoc_disallow(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t\tint
      val)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::set_bssid_tmp_disallow
      Src: /src/hostap/wpa_supplicant/driver_i.h:1161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - wpa_s
    - num_bssid
    - bssids
    argTypes:
    - struct wpa_supplicant*
    - unsigned int
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1163
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1163
    functionName: wpa_drv_set_bssid_tmp_disallow
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 1
    functionsReached:
    - struct wpa_supplicant*::driver::set_bssid_tmp_disallow
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_set_bssid_tmp_disallow(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t\t
      unsigned int num_bssid,\n\t\t\t\t\t\t const u8 *bssids)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::update_connect_params
      Src: /src/hostap/wpa_supplicant/driver_i.h:1176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - wpa_s
    - params
    - mask
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_driver_associate_params*
    - enum wpa_drv_update_connect_params_mask
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1178
      start: 1165
    functionDepth: 0
    functionLinenumber: 1165
    functionLinenumberEnd: 1178
    functionName: wpa_drv_update_connect_params
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 3
    functionsReached:
    - struct wpa_supplicant*::driver::update_connect_params
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_update_connect_params(\n\tstruct wpa_supplicant *wpa_s,\n\tstruct
      wpa_driver_associate_params *params,\n\tenum wpa_drv_update_connect_params_mask
      mask)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::send_external_auth_status
      Src: /src/hostap/wpa_supplicant/driver_i.h:1186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - params
    argTypes:
    - struct wpa_supplicant*
    - struct external_auth*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1188
      start: 1180
    functionDepth: 0
    functionLinenumber: 1180
    functionLinenumberEnd: 1188
    functionName: wpa_drv_send_external_auth_status
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 1
    functionsReached:
    - struct wpa_supplicant*::driver::send_external_auth_status
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_send_external_auth_status(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \ struct external_auth *params)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::set_4addr_mode
      Src: /src/hostap/wpa_supplicant/driver_i.h:1194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - val
    argTypes:
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1196
      start: 1190
    functionDepth: 0
    functionLinenumber: 1190
    functionLinenumberEnd: 1196
    functionName: wpa_drv_set_4addr_mode
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 1
    functionsReached:
    - struct wpa_supplicant*::driver::set_4addr_mode
    linkageType: ''
    returnType: int
    signature: int wpa_drv_set_4addr_mode(struct wpa_supplicant *wpa_s, int val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::dpp_listen
      Src: /src/hostap/wpa_supplicant/driver_i.h:1202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - enable
    argTypes:
    - struct wpa_supplicant*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1203
      start: 1198
    functionDepth: 0
    functionLinenumber: 1198
    functionLinenumberEnd: 1203
    functionName: wpa_drv_dpp_listen
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 0
    functionsReached:
    - struct wpa_supplicant*::driver::dpp_listen
    linkageType: ''
    returnType: int
    signature: int wpa_drv_dpp_listen(struct wpa_supplicant *wpa_s, bool enable)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::send_pasn_resp
      Src: /src/hostap/wpa_supplicant/driver_i.h:1210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - params
    argTypes:
    - struct wpa_supplicant*
    - struct pasn_auth*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1211
      start: 1205
    functionDepth: 0
    functionLinenumber: 1205
    functionLinenumberEnd: 1211
    functionName: wpa_drv_send_pasn_resp
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 1
    functionsReached:
    - struct wpa_supplicant*::driver::send_pasn_resp
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_send_pasn_resp(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      struct pasn_auth *params)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/driver_i.h:1229,1
    - Dst: struct wpa_supplicant*::driver::set_secure_ranging_ctx
      Src: /src/hostap/wpa_supplicant/driver_i.h:1239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 9
    argNames:
    - wpa_s
    - own_addr
    - peer_addr
    - cipher
    - tk_len
    - tk
    - ltf_keyseed_len
    - ltf_keyseed
    - action
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - u32
    - u8
    - u8*
    - u8
    - u8*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1240
      start: 1213
    functionDepth: 0
    functionLinenumber: 1213
    functionLinenumberEnd: 1240
    functionName: wpa_drv_set_secure_ranging_ctx
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 4
    functionsReached:
    - struct wpa_supplicant*::driver::set_secure_ranging_ctx
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_set_secure_ranging_ctx(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t\t
      const u8 *own_addr,\n\t\t\t\t\t\t const u8 *peer_addr,\n\t\t\t\t\t\t u32 cipher,
      u8 tk_len,\n\t\t\t\t\t\t const u8 *tk,\n\t\t\t\t\t\t u8 ltf_keyseed_len,\n\t\t\t\t\t\t
      const u8 *ltf_keyseed,\n\t\t\t\t\t\t u32 action)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::get_sta_mlo_info
      Src: /src/hostap/wpa_supplicant/driver_i.h:1249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - mlo_info
    argTypes:
    - struct wpa_supplicant*
    - struct driver_sta_mlo_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1250
      start: 1242
    functionDepth: 0
    functionLinenumber: 1242
    functionLinenumberEnd: 1250
    functionName: wpas_drv_get_sta_mlo_info
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 2
    functionsReached:
    - struct wpa_supplicant*::driver::get_sta_mlo_info
    linkageType: ''
    returnType: int
    signature: "int wpas_drv_get_sta_mlo_info(struct wpa_supplicant *wpa_s,\n\t\t\t
      \ struct driver_sta_mlo_info *mlo_info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::nan_flush
      Src: /src/hostap/wpa_supplicant/driver_i.h:1258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1259
      start: 1252
    functionDepth: 1
    functionLinenumber: 1252
    functionLinenumberEnd: 1259
    functionName: wpas_drv_nan_flush
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 1
    functionsReached:
    - struct wpa_supplicant*::driver::nan_flush
    linkageType: ''
    returnType: int
    signature: int wpas_drv_nan_flush(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::nan_publish
      Src: /src/hostap/wpa_supplicant/driver_i.h:1272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 10
    argNames:
    - wpa_s
    - addr
    - publish_id
    - service_name
    - service_id
    - srv_proto_type
    - ssi
    - elems
    - params
    - network_id
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - int
    - char*
    - u8*
    - enum nan_service_protocol_type
    - struct wpabuf*
    - struct wpabuf*
    - struct nan_publish_params*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1276
      start: 1261
    functionDepth: 0
    functionLinenumber: 1261
    functionLinenumberEnd: 1276
    functionName: wpas_drv_nan_publish
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 1
    functionsReached:
    - struct wpa_supplicant*::driver::nan_publish
    linkageType: ''
    returnType: int
    signature: "int wpas_drv_nan_publish(struct wpa_supplicant *wpa_s, const u8 *addr,\n\t\t
      \    int publish_id, const char *service_name,\n\t\t     const u8 *service_id,\n\t\t
      \    enum nan_service_protocol_type srv_proto_type,\n\t\t     const struct wpabuf
      *ssi, const struct wpabuf *elems,\n\t\t     struct nan_publish_params *params,
      const u8 *network_id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::nan_cancel_publish
      Src: /src/hostap/wpa_supplicant/driver_i.h:1284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - publish_id
    argTypes:
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1285
      start: 1278
    functionDepth: 0
    functionLinenumber: 1278
    functionLinenumberEnd: 1285
    functionName: wpas_drv_nan_cancel_publish
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 2
    functionsReached:
    - struct wpa_supplicant*::driver::nan_cancel_publish
    linkageType: ''
    returnType: int
    signature: int wpas_drv_nan_cancel_publish(struct wpa_supplicant *wpa_s, int publish_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::nan_update_publish
      Src: /src/hostap/wpa_supplicant/driver_i.h:1294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - wpa_s
    - publish_id
    - ssi
    argTypes:
    - struct wpa_supplicant*
    - int
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1296
      start: 1287
    functionDepth: 0
    functionLinenumber: 1287
    functionLinenumberEnd: 1296
    functionName: wpas_drv_nan_update_publish
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 1
    functionsReached:
    - struct wpa_supplicant*::driver::nan_update_publish
    linkageType: ''
    returnType: int
    signature: "int wpas_drv_nan_update_publish(struct wpa_supplicant *wpa_s, int
      publish_id,\n\t\t\t    const struct wpabuf *ssi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::nan_subscribe
      Src: /src/hostap/wpa_supplicant/driver_i.h:1310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 10
    argNames:
    - wpa_s
    - addr
    - subscribe_id
    - service_name
    - service_id
    - srv_proto_type
    - ssi
    - elems
    - params
    - network_id
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - int
    - char*
    - u8*
    - enum nan_service_protocol_type
    - struct wpabuf*
    - struct wpabuf*
    - struct nan_subscribe_params*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1314
      start: 1298
    functionDepth: 0
    functionLinenumber: 1298
    functionLinenumberEnd: 1314
    functionName: wpas_drv_nan_subscribe
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 1
    functionsReached:
    - struct wpa_supplicant*::driver::nan_subscribe
    linkageType: ''
    returnType: int
    signature: "int wpas_drv_nan_subscribe(struct wpa_supplicant *wpa_s, const u8
      *addr,\n\t\t       int subscribe_id, const char *service_name,\n\t\t       const
      u8 *service_id,\n\t\t       enum nan_service_protocol_type srv_proto_type,\n\t\t
      \      const struct wpabuf *ssi, const struct wpabuf *elems,\n\t\t       struct
      nan_subscribe_params *params,\n\t\t       const u8 *network_id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::nan_cancel_subscribe
      Src: /src/hostap/wpa_supplicant/driver_i.h:1322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - subscribe_id
    argTypes:
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1324
      start: 1316
    functionDepth: 0
    functionLinenumber: 1316
    functionLinenumberEnd: 1324
    functionName: wpas_drv_nan_cancel_subscribe
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 2
    functionsReached:
    - struct wpa_supplicant*::driver::nan_cancel_subscribe
    linkageType: ''
    returnType: int
    signature: int wpas_drv_nan_cancel_subscribe(struct wpa_supplicant *wpa_s, int
      subscribe_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::nan_start
      Src: /src/hostap/wpa_supplicant/driver_i.h:1334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - conf
    argTypes:
    - struct wpa_supplicant*
    - struct nan_cluster_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1335
      start: 1329
    functionDepth: 1
    functionLinenumber: 1329
    functionLinenumberEnd: 1335
    functionName: wpa_drv_nan_start
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 1
    functionsReached:
    - struct wpa_supplicant*::driver::nan_start
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_nan_start(struct wpa_supplicant *wpa_s,\n\t\t\t\t    const
      struct nan_cluster_config *conf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::nan_stop
      Src: /src/hostap/wpa_supplicant/driver_i.h:1341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1342
      start: 1337
    functionDepth: 1
    functionLinenumber: 1337
    functionLinenumberEnd: 1342
    functionName: wpa_drv_nan_stop
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 1
    functionsReached:
    - struct wpa_supplicant*::driver::nan_stop
    linkageType: ''
    returnType: void
    signature: void wpa_drv_nan_stop(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::nan_change_config
      Src: /src/hostap/wpa_supplicant/driver_i.h:1350,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - conf
    argTypes:
    - struct wpa_supplicant*
    - struct nan_cluster_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1351
      start: 1344
    functionDepth: 0
    functionLinenumber: 1344
    functionLinenumberEnd: 1351
    functionName: wpa_drv_nan_update_config
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 1
    functionsReached:
    - struct wpa_supplicant*::driver::nan_change_config
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_nan_update_config(struct wpa_supplicant *wpa_s,\n\t\t\t
      \ const struct nan_cluster_config *conf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::nan_config_schedule
      Src: /src/hostap/wpa_supplicant/driver_i.h:1359,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - wpa_s
    - map_id
    - conf
    argTypes:
    - struct wpa_supplicant*
    - u8
    - struct nan_schedule_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1361
      start: 1353
    functionDepth: 0
    functionLinenumber: 1353
    functionLinenumberEnd: 1361
    functionName: wpa_drv_nan_config_schedule
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 2
    functionsReached:
    - struct wpa_supplicant*::driver::nan_config_schedule
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_nan_config_schedule(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \     u8 map_id,\n\t\t\t\t\t      struct nan_schedule_config *conf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::nan_config_peer_schedule
      Src: /src/hostap/wpa_supplicant/driver_i.h:1372,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 7
    argNames:
    - wpa_s
    - peer
    - cdw
    - sequence_id
    - max_chan_switch_time
    - ulw
    - sched
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u16
    - u8
    - u16
    - struct wpabuf*
    - struct nan_peer_schedule_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1376
      start: 1363
    functionDepth: 0
    functionLinenumber: 1363
    functionLinenumberEnd: 1376
    functionName: wpa_drv_nan_config_peer_schedule
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 1
    functionsReached:
    - struct wpa_supplicant*::driver::nan_config_peer_schedule
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_nan_config_peer_schedule(struct wpa_supplicant *wpa_s,
      const u8 *peer,\n\t\t\t\t u16 cdw, u8 sequence_id,\n\t\t\t\t u16 max_chan_switch_time,\n\t\t\t\t
      const struct wpabuf *ulw,\n\t\t\t\t struct nan_peer_schedule_config *sched)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_supplicant*::driver::get_inact_sec
      Src: /src/hostap/wpa_supplicant/driver_i.h:1384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - addr
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1385
      start: 1378
    functionDepth: 0
    functionLinenumber: 1378
    functionLinenumberEnd: 1385
    functionName: wpa_drv_get_inact_sec
    functionSourceFile: /src/hostap/wpa_supplicant/driver_i.h
    functionUses: 1
    functionsReached:
    - struct wpa_supplicant*::driver::get_inact_sec
    linkageType: ''
    returnType: int
    signature: "int wpa_drv_get_inact_sec(struct wpa_supplicant *wpa_s,\n\t\t\t\t\tconst
      u8 *addr)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/interworking.c:64,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct wpa_cred*
    - struct wpa_cred*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 71
    functionName: cred_prio_cmp
    functionSourceFile: /src/hostap/wpa_supplicant/interworking.c
    functionUses: 0
    functionsReached:
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: int cred_prio_cmp(const struct wpa_cred *a, const struct wpa_cred *b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_supplicant_cancel_sched_scan
      Src: /src/hostap/wpa_supplicant/interworking.c:79,1
    - Dst: wpa_supplicant_deauthenticate
      Src: /src/hostap/wpa_supplicant/interworking.c:81,1
    - Dst: wpa_supplicant_fast_associate
      Src: /src/hostap/wpa_supplicant/interworking.c:89,1
    - Dst: wpa_supplicant_req_scan
      Src: /src/hostap/wpa_supplicant/interworking.c:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 74
    functionDepth: 4
    functionLinenumber: 74
    functionLinenumberEnd: 94
    functionName: interworking_reconnect
    functionSourceFile: /src/hostap/wpa_supplicant/interworking.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_fast_associate
    - wpa_supplicant_cancel_sched_scan
    - wpa_supplicant_deauthenticate
    - wpa_supplicant_req_scan
    linkageType: ''
    returnType: void
    signature: void interworking_reconnect(struct wpa_supplicant *wpa_s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gas_anqp_build_initial_req
      Src: /src/hostap/wpa_supplicant/interworking.c:104,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/interworking.c:105,1
    - Dst: gas_anqp_add_element
      Src: /src/hostap/wpa_supplicant/interworking.c:110,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/wpa_supplicant/interworking.c:112,1
    - Dst: gas_anqp_set_element_len
      Src: /src/hostap/wpa_supplicant/interworking.c:113,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/wpa_supplicant/interworking.c:116,1
    - Dst: gas_anqp_set_len
      Src: /src/hostap/wpa_supplicant/interworking.c:118,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - info_ids
    - num_ids
    - extra
    argTypes:
    - u16[]
    - size_t
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 121
    functionName: anqp_build_req
    functionSourceFile: /src/hostap/wpa_supplicant/interworking.c
    functionUses: 0
    functionsReached:
    - wpabuf_len
    - wpabuf_put_le16
    - gas_anqp_build_initial_req
    - wpabuf_put_buf
    - gas_anqp_add_element
    - gas_anqp_set_element_len
    - gas_anqp_set_len
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * anqp_build_req(u16 info_ids[], size_t num_ids,\n\t\t\t\t
      \     struct wpabuf *extra)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/interworking.c:133,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/interworking.c:135,1
    - Dst: anqp_resp_cb
      Src: /src/hostap/wpa_supplicant/interworking.c:136,1
    - Dst: interworking_next_anqp_fetch
      Src: /src/hostap/wpa_supplicant/interworking.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 7
    argNames:
    - ctx
    - dst
    - dialog_token
    - result
    - adv_proto
    - resp
    - status_code
    argTypes:
    - void*
    - u8*
    - u8
    - enum gas_query_result
    - struct wpabuf*
    - struct wpabuf*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 139
    functionName: interworking_anqp_resp_cb
    functionSourceFile: /src/hostap/wpa_supplicant/interworking.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    - anqp_resp_cb
    - interworking_next_anqp_fetch
    linkageType: ''
    returnType: void
    signature: "void interworking_anqp_resp_cb(void *ctx, const u8 *dst,\n\t\t\t\t
      \     u8 dialog_token,\n\t\t\t\t      enum gas_query_result result,\n\t\t\t\t
      \     const struct wpabuf *adv_proto,\n\t\t\t\t      const struct wpabuf *resp,\n\t\t\t\t
      \     u16 status_code)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 155
    functionName: cred_with_roaming_consortium
    functionSourceFile: /src/hostap/wpa_supplicant/interworking.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cred_with_roaming_consortium(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 167
    functionName: cred_with_3gpp
    functionSourceFile: /src/hostap/wpa_supplicant/interworking.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cred_with_3gpp(struct wpa_supplicant *wpa_s)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 183
    functionName: cred_with_nai_realm
    functionSourceFile: /src/hostap/wpa_supplicant/interworking.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cred_with_nai_realm(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 196
    functionName: cred_with_domain
    functionSourceFile: /src/hostap/wpa_supplicant/interworking.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cred_with_domain(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 213
    functionName: cred_with_min_backhaul
    functionSourceFile: /src/hostap/wpa_supplicant/interworking.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cred_with_min_backhaul(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 225
    functionName: cred_with_conn_capab
    functionSourceFile: /src/hostap/wpa_supplicant/interworking.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cred_with_conn_capab(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_bss_get_ie
      Src: /src/hostap/wpa_supplicant/interworking.c:233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - bss
    argTypes:
    - struct wpa_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 237
    functionName: additional_roaming_consortiums
    functionSourceFile: /src/hostap/wpa_supplicant/interworking.c
    functionUses: 0
    functionsReached:
    - wpa_bss_get_ie
    linkageType: ''
    returnType: int
    signature: int additional_roaming_consortiums(struct wpa_bss *bss)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: interworking_next_anqp_fetch
      Src: /src/hostap/wpa_supplicant/interworking.c:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - eloop_ctx
    - sock_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 244
    functionName: interworking_continue_anqp
    functionSourceFile: /src/hostap/wpa_supplicant/interworking.c
    functionUses: 0
    functionsReached:
    - interworking_next_anqp_fetch
    linkageType: ''
    returnType: void
    signature: void interworking_continue_anqp(void *eloop_ctx, void *sock_ctx)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/interworking.c:258,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/interworking.c:259,1
    - Dst: cred_with_roaming_consortium
      Src: /src/hostap/wpa_supplicant/interworking.c:267,1
    - Dst: additional_roaming_consortiums
      Src: /src/hostap/wpa_supplicant/interworking.c:268,1
    - Dst: cred_with_nai_realm
      Src: /src/hostap/wpa_supplicant/interworking.c:272,1
    - Dst: cred_with_3gpp
      Src: /src/hostap/wpa_supplicant/interworking.c:274,1
    - Dst: wpa_supplicant_scard_init
      Src: /src/hostap/wpa_supplicant/interworking.c:276,1
    - Dst: cred_with_domain
      Src: /src/hostap/wpa_supplicant/interworking.c:278,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/interworking.c:280,1
    - Dst: wpa_bss_get_vendor_ie
      Src: /src/hostap/wpa_supplicant/interworking.c:284,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/interworking.c:287,1
    - Dst: gas_anqp_add_element
      Src: /src/hostap/wpa_supplicant/interworking.c:291,1
    - Dst: wpabuf_put_be24
      Src: /src/hostap/wpa_supplicant/interworking.c:292,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/interworking.c:293,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/interworking.c:294,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/interworking.c:295,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/interworking.c:296,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/interworking.c:298,1
    - Dst: cred_with_min_backhaul
      Src: /src/hostap/wpa_supplicant/interworking.c:300,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/interworking.c:301,1
    - Dst: cred_with_conn_capab
      Src: /src/hostap/wpa_supplicant/interworking.c:302,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/interworking.c:303,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/interworking.c:305,1
    - Dst: gas_anqp_set_element_len
      Src: /src/hostap/wpa_supplicant/interworking.c:306,1
    - Dst: anqp_build_req
      Src: /src/hostap/wpa_supplicant/interworking.c:310,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/interworking.c:311,1
    - Dst: gas_query_req
      Src: /src/hostap/wpa_supplicant/interworking.c:315,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/interworking.c:318,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/interworking.c:319,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/interworking.c:321,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/interworking.c:324,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 54
    argCount: 2
    argNames:
    - wpa_s
    - bss
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 247
    functionDepth: 3
    functionLinenumber: 247
    functionLinenumberEnd: 328
    functionName: interworking_anqp_send_req
    functionSourceFile: /src/hostap/wpa_supplicant/interworking.c
    functionUses: 0
    functionsReached:
    - anqp_build_req
    - wpa_hexdump
    - gas_query_req
    - wpabuf_alloc
    - wpabuf_put_be24
    - cred_with_3gpp
    - cred_with_domain
    - gas_anqp_add_element
    - gas_anqp_set_element_len
    - wpabuf_put_u8
    - cred_with_min_backhaul
    - wpa_bss_get_vendor_ie
    - cred_with_conn_capab
    - wpa_supplicant_scard_init
    - cred_with_nai_realm
    - cred_with_roaming_consortium
    - wpa_msg
    - wpabuf_free
    - additional_roaming_consortiums
    - MAC2STR
    - eloop_register_timeout
    linkageType: ''
    returnType: int
    signature: "int interworking_anqp_send_req(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \     struct wpa_bss *bss)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/interworking.c:354,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/interworking.c:355,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/interworking.c:357,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - realms
    - count
    argTypes:
    - struct nai_realm*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 358
    functionName: nai_realm_free
    functionSourceFile: /src/hostap/wpa_supplicant/interworking.c
    functionUses: 0
    functionsReached:
    - os_free
    linkageType: ''
    returnType: void
    signature: void nai_realm_free(struct nai_realm *realms, u16 count)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/interworking.c:368,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/interworking.c:374,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/interworking.c:380,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/interworking.c:387,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/interworking.c:395,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/interworking.c:409,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/interworking.c:412,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/interworking.c:415,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/interworking.c:418,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/interworking.c:421,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/interworking.c:431,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/interworking.c:438,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/interworking.c:445,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/interworking.c:449,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/interworking.c:451,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 76
    argCount: 3
    argNames:
    - e
    - pos
    - end
    argTypes:
    - struct nai_realm_eap*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 460
    functionName: nai_realm_parse_eap
    functionSourceFile: /src/hostap/wpa_supplicant/interworking.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    linkageType: ''
    returnType: u8
    signature: "u8 * nai_realm_parse_eap(struct nai_realm_eap *e, const u8 *pos,\n\t\t\t\t
      \     const u8 *end)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/interworking.c:471,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wpa_supplicant/interworking.c:476,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/interworking.c:479,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/interworking.c:489,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/wpa_supplicant/interworking.c:494,1
    - Dst: dup_binstr
      Src: /src/hostap/wpa_supplicant/interworking.c:495,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/interworking.c:501,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/interworking.c:505,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/interworking.c:507,1
    - Dst: os_calloc
      Src: /src/hostap/wpa_supplicant/interworking.c:510,1
    - Dst: nai_realm_parse_eap
      Src: /src/hostap/wpa_supplicant/interworking.c:515,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 3
    argNames:
    - r
    - pos
    - end
    argTypes:
    - struct nai_realm*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 463
    functionDepth: 1
    functionLinenumber: 463
    functionLinenumberEnd: 521
    functionName: nai_realm_parse_realm
    functionSourceFile: /src/hostap/wpa_supplicant/interworking.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - nai_realm_parse_eap
    - os_calloc
    - WPA_GET_LE16
    - wpa_hexdump_ascii
    - dup_binstr
    linkageType: ''
    returnType: u8
    signature: "u8 * nai_realm_parse_realm(struct nai_realm *r, const u8 *pos,\n\t\t\t\t\tconst
      u8 *end)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/interworking.c:533,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/wpa_supplicant/interworking.c:537,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wpa_supplicant/interworking.c:539,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/interworking.c:540,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/interworking.c:545,1
    - Dst: os_calloc
      Src: /src/hostap/wpa_supplicant/interworking.c:551,1
    - Dst: nai_realm_parse_realm
      Src: /src/hostap/wpa_supplicant/interworking.c:556,1
    - Dst: nai_realm_free
      Src: /src/hostap/wpa_supplicant/interworking.c:558,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 2
    argNames:
    - anqp
    - count
    argTypes:
    - struct wpabuf*
    - u16*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 524
    functionDepth: 2
    functionLinenumber: 524
    functionLinenumberEnd: 565
    functionName: nai_realm_parse
    functionSourceFile: /src/hostap/wpa_supplicant/interworking.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - nai_realm_parse_realm
    - os_calloc
    - wpabuf_head_u8
    - wpabuf_len
    - nai_realm_free
    - WPA_GET_LE16
    linkageType: ''
    returnType: struct nai_realm
    signature: struct nai_realm * nai_realm_parse(struct wpabuf *anqp, u16 *count)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/interworking.c:576,1
    - Dst: os_strcasecmp
      Src: /src/hostap/wpa_supplicant/interworking.c:577,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/interworking.c:579,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/interworking.c:585,1
    - Dst: os_strcasecmp
      Src: /src/hostap/wpa_supplicant/interworking.c:588,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/interworking.c:597,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 2
    argNames:
    - realm
    - home_realm
    argTypes:
    - struct nai_realm*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 600
    functionName: nai_realm_match
    functionSourceFile: /src/hostap/wpa_supplicant/interworking.c
    functionUses: 0
    functionsReached:
    - os_strdup
    - os_strchr
    - os_free
    - os_strcasecmp
    linkageType: ''
    returnType: int
    signature: int nai_realm_match(struct nai_realm *realm, const char *home_realm)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: eap_get_name
      Src: /src/hostap/wpa_supplicant/interworking.c:606,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/interworking.c:607,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/interworking.c:616,1
    - Dst: eap_get_name
      Src: /src/hostap/wpa_supplicant/interworking.c:624,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/interworking.c:625,1
    - Dst: eap_get_name
      Src: /src/hostap/wpa_supplicant/interworking.c:631,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/interworking.c:632,1
    - Dst: eap_get_name
      Src: /src/hostap/wpa_supplicant/interworking.c:642,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/interworking.c:643,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/interworking.c:653,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/interworking.c:663,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 36
    argCount: 2
    argNames:
    - wpa_s
    - eap
    argTypes:
    - struct wpa_supplicant*
    - struct nai_realm_eap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 670
    functionName: nai_realm_cred_username
    functionSourceFile: /src/hostap/wpa_supplicant/interworking.c
    functionUses: 0
    functionsReached:
    - eap_get_name
    - wpa_msg
    linkageType: ''
    returnType: int
    signature: "int nai_realm_cred_username(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \  struct nai_realm_eap *eap)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eap_get_name
      Src: /src/hostap/wpa_supplicant/interworking.c:676,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/interworking.c:677,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/interworking.c:685,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - wpa_s
    - eap
    argTypes:
    - struct wpa_supplicant*
    - struct nai_realm_eap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 692
    functionName: nai_realm_cred_cert
    functionSourceFile: /src/hostap/wpa_supplicant/interworking.c
    functionUses: 0
    functionsReached:
    - eap_get_name
    - wpa_msg
    linkageType: ''
    returnType: int
    signature: "int nai_realm_cred_cert(struct wpa_supplicant *wpa_s,\n\t\t\t       struct
      nai_realm_eap *eap)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/interworking.c:708,1
    - Dst: nai_realm_cred_username
      Src: /src/hostap/wpa_supplicant/interworking.c:720,1
    - Dst: nai_realm_cred_cert
      Src: /src/hostap/wpa_supplicant/interworking.c:724,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 12
    argCount: 3
    argNames:
    - wpa_s
    - cred
    - realm
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_cred*
    - struct nai_realm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 695
    functionDepth: 1
    functionLinenumber: 695
    functionLinenumberEnd: 729
    functionName: nai_realm_find_eap
    functionSourceFile: /src/hostap/wpa_supplicant/interworking.c
    functionUses: 0
    functionsReached:
    - nai_realm_cred_cert
    - nai_realm_cred_username
    - wpa_msg
    linkageType: ''
    returnType: struct nai_realm_eap
    signature: "struct nai_realm_eap * nai_realm_find_eap(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t\t
      struct wpa_cred *cred,\n\t\t\t\t\t\t struct nai_realm *realm)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_head_u8
      Src: /src/hostap/wpa_supplicant/interworking.c:762,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/interworking.c:763,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/interworking.c:767,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/interworking.c:773,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/interworking.c:778,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/interworking.c:794,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/interworking.c:800,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/interworking.c:801,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/interworking.c:806,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 47
    argCount: 3
    argNames:
    - anqp
    - imsi
    - mnc_len
    argTypes:
    - struct wpabuf*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 734
    functionDepth: 1
    functionLinenumber: 734
    functionLinenumberEnd: 814
    functionName: plmn_id_match
    functionSourceFile: /src/hostap/wpa_supplicant/interworking.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_head_u8
    - wpa_hexdump
    - wpabuf_len
    - os_memcmp
    linkageType: ''
    returnType: int
    signature: int plmn_id_match(struct wpabuf *anqp, const char *imsi, int mnc_len)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/interworking.c:831,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/interworking.c:832,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/interworking.c:835,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/interworking.c:839,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/interworking.c:846,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/interworking.c:852,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/interworking.c:854,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/interworking.c:856,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/interworking.c:866,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 5
    argNames:
    - nai
    - nai_len
    - imsi
    - mnc_len
    - prefix
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 817
    functionDepth: 0
    functionLinenumber: 817
    functionLinenumberEnd: 870
    functionName: build_root_nai
    functionSourceFile: /src/hostap/wpa_supplicant/interworking.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - os_memcpy
    - os_snprintf
    - os_strchr
    linkageType: ''
    returnType: int
    signature: "int build_root_nai(char *nai, size_t nai_len, const char *imsi,\n\t\t\t
      \ size_t mnc_len, char prefix)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: build_root_nai
      Src: /src/hostap/wpa_supplicant/interworking.c:876,1
    - Dst: wpa_config_set_quoted
      Src: /src/hostap/wpa_supplicant/interworking.c:878,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ssid
    - imsi
    - prefix
    argTypes:
    - struct wpa_ssid*
    - char*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 873
    functionDepth: 1
    functionLinenumber: 873
    functionLinenumberEnd: 879
    functionName: set_root_nai
    functionSourceFile: /src/hostap/wpa_supplicant/interworking.c
    functionUses: 0
    functionsReached:
    - wpa_config_set_quoted
    - build_root_nai
    linkageType: ''
    returnType: int
    signature: int set_root_nai(struct wpa_ssid *ssid, const char *imsi, char prefix)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/interworking.c:898,1
    - Dst: wpa_supplicant_pick_network
      Src: /src/hostap/wpa_supplicant/interworking.c:902,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 3
    argNames:
    - wpa_s
    - cred
    - bss
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_cred*
    - struct wpa_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 884
    functionDepth: 1
    functionLinenumber: 884
    functionLinenumberEnd: 907
    functionName: already_connected
    functionSourceFile: /src/hostap/wpa_supplicant/interworking.c
    functionUses: 0
    functionsReached:
    - os_memcmp
    - wpa_supplicant_pick_network
    linkageType: ''
    returnType: int
    signature: "int already_connected(struct wpa_supplicant *wpa_s,\n\t\t\t     struct
      wpa_cred *cred, struct wpa_bss *bss)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/interworking.c:920,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/interworking.c:929,1
    - Dst: wpa_sm_set_config
      Src: /src/hostap/wpa_supplicant/interworking.c:932,1
    - Dst: eapol_sm_notify_config
      Src: /src/hostap/wpa_supplicant/interworking.c:933,1
    - Dst: wpa_supplicant_deauthenticate
      Src: /src/hostap/wpa_supplicant/interworking.c:935,1
    - Dst: wpas_notify_network_removed
      Src: /src/hostap/wpa_supplicant/interworking.c:939,1
    - Dst: wpa_config_remove_network
      Src: /src/hostap/wpa_supplicant/interworking.c:940,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - wpa_s
    - cred
    - bss
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_cred*
    - struct wpa_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 910
    functionDepth: 4
    functionLinenumber: 910
    functionLinenumberEnd: 941
    functionName: remove_duplicate_network
    functionSourceFile: /src/hostap/wpa_supplicant/interworking.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_config_remove_network
    - eapol_sm_notify_config
    - wpa_sm_set_config
    - wpas_notify_network_removed
    - wpa_supplicant_deauthenticate
    - os_memcmp
    linkageType: ''
    returnType: void
    signature: "void remove_duplicate_network(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \    struct wpa_cred *cred,\n\t\t\t\t     struct wpa_bss *bss)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_get_capa
      Src: /src/hostap/wpa_supplicant/interworking.c:952,1
    - Dst: wpa_config_set
      Src: /src/hostap/wpa_supplicant/interworking.c:964,1
    - Dst: wpa_config_set
      Src: /src/hostap/wpa_supplicant/interworking.c:965,1
    - Dst: wpa_config_set
      Src: /src/hostap/wpa_supplicant/interworking.c:966,1
    - Dst: wpa_config_set
      Src: /src/hostap/wpa_supplicant/interworking.c:969,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - wpa_s
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 944
    functionDepth: 1
    functionLinenumber: 944
    functionLinenumberEnd: 972
    functionName: interworking_set_hs20_params
    functionSourceFile: /src/hostap/wpa_supplicant/interworking.c
    functionUses: 0
    functionsReached:
    - wpa_drv_get_capa
    - wpa_config_set
    linkageType: ''
    returnType: int
    signature: "int interworking_set_hs20_params(struct wpa_supplicant *wpa_s,\n\t\t\t\t\tstruct
      wpa_ssid *ssid)"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/interworking.c:988,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/interworking.c:989,1
    - Dst: already_connected
      Src: /src/hostap/wpa_supplicant/interworking.c:991,1
    - Dst: remove_duplicate_network
      Src: /src/hostap/wpa_supplicant/interworking.c:997,1
    - Dst: wpa_config_add_network
      Src: /src/hostap/wpa_supplicant/interworking.c:999,1
    - Dst: wpas_notify_network_added
      Src: /src/hostap/wpa_supplicant/interworking.c:1004,1
    - Dst: wpa_config_set_network_defaults
      Src: /src/hostap/wpa_supplicant/interworking.c:1005,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/interworking.c:1008,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/interworking.c:1011,1
    - Dst: interworking_set_hs20_params
      Src: /src/hostap/wpa_supplicant/interworking.c:1015,1
    - Dst: scard_supports_umts
      Src: /src/hostap/wpa_supplicant/interworking.c:1019,1
    - Dst: wpa_config_set
      Src: /src/hostap/wpa_supplicant/interworking.c:1031,1
    - Dst: wpa_config_set
      Src: /src/hostap/wpa_supplicant/interworking.c:1035,1
    - Dst: wpa_config_set
      Src: /src/hostap/wpa_supplicant/interworking.c:1039,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/interworking.c:1046,1
    - Dst: set_root_nai
      Src: /src/hostap/wpa_supplicant/interworking.c:1051,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/interworking.c:1052,1
    - Dst: wpa_config_set_quoted
      Src: /src/hostap/wpa_supplicant/interworking.c:1057,1
    - Dst: wpa_config_set_quoted
      Src: /src/hostap/wpa_supplicant/interworking.c:1061,1
    - Dst: wpa_config_set_quoted
      Src: /src/hostap/wpa_supplicant/interworking.c:1064,1
    - Dst: wpa_config_set_quoted
      Src: /src/hostap/wpa_supplicant/interworking.c:1070,1
    - Dst: wpa_config_set_quoted
      Src: /src/hostap/wpa_supplicant/interworking.c:1076,1
    - Dst: wpa_config_update_prio_list
      Src: /src/hostap/wpa_supplicant/interworking.c:1082,1
    - Dst: interworking_reconnect
      Src: /src/hostap/wpa_supplicant/interworking.c:1084,1
    - Dst: wpas_notify_network_removed
      Src: /src/hostap/wpa_supplicant/interworking.c:1089,1
    - Dst: wpa_config_remove_network
      Src: /src/hostap/wpa_supplicant/interworking.c:1090,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 94
    argCount: 4
    argNames:
    - wpa_s
    - cred
    - bss
    - only_add
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_cred*
    - struct wpa_bss*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1093
      start: 975
    functionDepth: 5
    functionLinenumber: 975
    functionLinenumberEnd: 1093
    functionName: interworking_connect_3gpp
    functionSourceFile: /src/hostap/wpa_supplicant/interworking.c
    functionUses: 0
    functionsReached:
    - wpa_config_set_quoted
    - wpa_config_set_network_defaults
    - os_memcpy
    - interworking_set_hs20_params
    - interworking_reconnect
    - remove_duplicate_network
    - already_connected
    - wpa_msg
    - scard_supports_umts
    - wpa_config_remove_network
    - wpa_config_add_network
    - set_root_nai
    - wpas_notify_network_added
    - wpas_notify_network_removed
    - MAC2STR
    - os_zalloc
    - wpa_config_update_prio_list
    - wpa_config_set
    linkageType: ''
    returnType: int
    signature: "int interworking_connect_3gpp(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \    struct wpa_cred *cred,\n\t\t\t\t     struct wpa_bss *bss, int only_add)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/interworking.c:1121,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/interworking.c:1125,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/interworking.c:1130,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 3
    argNames:
    - ie
    - oi
    - oi_len
    argTypes:
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1134
      start: 1096
    functionDepth: 0
    functionLinenumber: 1096
    functionLinenumberEnd: 1134
    functionName: oi_element_match
    functionSourceFile: /src/hostap/wpa_supplicant/interworking.c
    functionUses: 0
    functionsReached:
    - os_memcmp
    linkageType: ''
    returnType: int
    signature: int oi_element_match(const u8 *ie, const u8 *oi, size_t oi_len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/interworking.c:1146,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/interworking.c:1147,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/interworking.c:1154,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - anqp
    - oi
    - oi_len
    argTypes:
    - struct wpabuf*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1160
      start: 1137
    functionDepth: 1
    functionLinenumber: 1137
    functionLinenumberEnd: 1160
    functionName: oi_anqp_match
    functionSourceFile: /src/hostap/wpa_supplicant/interworking.c
    functionUses: 0
    functionsReached:
    - wpabuf_len
    - os_memcmp
    - wpabuf_head
    linkageType: ''
    returnType: int
    signature: "int oi_anqp_match(const struct wpabuf *anqp, const u8 *oi,\n\t\t\t
      size_t oi_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: oi_element_match
      Src: /src/hostap/wpa_supplicant/interworking.c:1166,1
    - Dst: oi_anqp_match
      Src: /src/hostap/wpa_supplicant/interworking.c:1167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 4
    argNames:
    - ie
    - anqp
    - oi
    - oi_len
    argTypes:
    - u8*
    - struct wpabuf*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1168
      start: 1163
    functionDepth: 2
    functionLinenumber: 1163
    functionLinenumberEnd: 1168
    functionName: oi_match
    functionSourceFile: /src/hostap/wpa_supplicant/interworking.c
    functionUses: 0
    functionsReached:
    - oi_anqp_match
    - oi_element_match
    linkageType: ''
    returnType: int
    signature: "int oi_match(const u8 *ie, const struct wpabuf *anqp,\n\t\t    const
      u8 *oi, size_t oi_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: oi_match
      Src: /src/hostap/wpa_supplicant/interworking.c:1177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ie
    - anqp
    - cred
    argTypes:
    - u8*
    - struct wpabuf*
    - struct wpa_cred*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1183
      start: 1171
    functionDepth: 3
    functionLinenumber: 1171
    functionLinenumberEnd: 1183
    functionName: cred_home_ois_match
    functionSourceFile: /src/hostap/wpa_supplicant/interworking.c
    functionUses: 0
    functionsReached:
    - oi_match
    linkageType: ''
    returnType: int
    signature: "int cred_home_ois_match(const u8 *ie, const struct wpabuf *anqp,\n\t\t\t
      \      const struct wpa_cred *cred)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: oi_match
      Src: /src/hostap/wpa_supplicant/interworking.c:1193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ie
    - anqp
    - cred
    argTypes:
    - u8*
    - struct wpabuf*
    - struct wpa_cred*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1199
      start: 1186
    functionDepth: 3
    functionLinenumber: 1186
    functionLinenumberEnd: 1199
    functionName: cred_roaming_consortiums_match
    functionSourceFile: /src/hostap/wpa_supplicant/interworking.c
    functionUses: 0
    functionsReached:
    - oi_match
    linkageType: ''
    returnType: int
    signature: "int cred_roaming_consortiums_match(const u8 *ie,\n\t\t\t\t\t  const
      struct wpabuf *anqp,\n\t\t\t\t\t  const struct wpa_cred *cred)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_bss_get_ie
      Src: /src/hostap/wpa_supplicant/interworking.c:1210,1
    - Dst: oi_match
      Src: /src/hostap/wpa_supplicant/interworking.c:1219,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - cred
    - bss
    argTypes:
    - struct wpa_cred*
    - struct wpa_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1202
    functionDepth: 3
    functionLinenumber: 1202
    functionLinenumberEnd: 1226
    functionName: cred_no_required_oi_match
    functionSourceFile: /src/hostap/wpa_supplicant/interworking.c
    functionUses: 0
    functionsReached:
    - wpa_bss_get_ie
    - oi_match
    linkageType: ''
    returnType: int
    signature: int cred_no_required_oi_match(struct wpa_cred *cred, struct wpa_bss
      *bss)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/interworking.c:1239,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - cred
    - bss
    argTypes:
    - struct wpa_cred*
    - struct wpa_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1244
      start: 1229
    functionDepth: 0
    functionLinenumber: 1229
    functionLinenumberEnd: 1244
    functionName: cred_excluded_ssid
    functionSourceFile: /src/hostap/wpa_supplicant/interworking.c
    functionUses: 0
    functionsReached:
    - os_memcmp
    linkageType: ''
    returnType: int
    signature: int cred_excluded_ssid(struct wpa_cred *cred, struct wpa_bss *bss)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/interworking.c:1267,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/interworking.c:1269,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wpa_supplicant/interworking.c:1271,1
    - Dst: WPA_GET_LE32
      Src: /src/hostap/wpa_supplicant/interworking.c:1274,1
    - Dst: WPA_GET_LE32
      Src: /src/hostap/wpa_supplicant/interworking.c:1275,1
    - Dst: interworking_home_sp_cred
      Src: /src/hostap/wpa_supplicant/interworking.c:1289,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 3
    argNames:
    - wpa_s
    - cred
    - bss
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_cred*
    - struct wpa_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1305
      start: 1247
    functionDepth: 1
    functionLinenumber: 1247
    functionLinenumberEnd: 1305
    functionName: cred_below_min_backhaul
    functionSourceFile: /src/hostap/wpa_supplicant/interworking.c
    functionUses: 0
    functionsReached:
    - interworking_home_sp_cred
    - WPA_GET_LE32
    - WPA_GET_LE16
    - wpabuf_head
    - BIT
    linkageType: ''
    returnType: int
    signature: "int cred_below_min_backhaul(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \  struct wpa_cred *cred, struct wpa_bss *bss)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_bss_get_ie
      Src: /src/hostap/wpa_supplicant/interworking.c:1317,1
    - Dst: interworking_home_sp_cred
      Src: /src/hostap/wpa_supplicant/interworking.c:1321,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - wpa_s
    - cred
    - bss
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_cred*
    - struct wpa_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1327
      start: 1308
    functionDepth: 1
    functionLinenumber: 1308
    functionLinenumberEnd: 1327
    functionName: cred_over_max_bss_load
    functionSourceFile: /src/hostap/wpa_supplicant/interworking.c
    functionUses: 0
    functionsReached:
    - wpa_bss_get_ie
    - interworking_home_sp_cred
    linkageType: ''
    returnType: int
    signature: "int cred_over_max_bss_load(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \ struct wpa_cred *cred, struct wpa_bss *bss)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - pos
    - end
    - proto
    argTypes:
    - u8*
    - u8*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1341
      start: 1332
    functionDepth: 0
    functionLinenumber: 1332
    functionLinenumberEnd: 1341
    functionName: has_proto_match
    functionSourceFile: /src/hostap/wpa_supplicant/interworking.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int has_proto_match(const u8 *pos, const u8 *end, u8 proto)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wpa_supplicant/interworking.c:1348,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 4
    argNames:
    - pos
    - end
    - proto
    - port
    argTypes:
    - u8*
    - u8*
    - u8
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1355
      start: 1344
    functionDepth: 1
    functionLinenumber: 1344
    functionLinenumberEnd: 1355
    functionName: has_proto_port_match
    functionSourceFile: /src/hostap/wpa_supplicant/interworking.c
    functionUses: 0
    functionsReached:
    - WPA_GET_LE16
    linkageType: ''
    returnType: int
    signature: "int has_proto_port_match(const u8 *pos, const u8 *end, u8 proto,\n\t\t\t\tu16
      port)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: interworking_home_sp_cred
      Src: /src/hostap/wpa_supplicant/interworking.c:1376,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/interworking.c:1381,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/interworking.c:1382,1
    - Dst: has_proto_match
      Src: /src/hostap/wpa_supplicant/interworking.c:1387,1
    - Dst: has_proto_port_match
      Src: /src/hostap/wpa_supplicant/interworking.c:1392,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - wpa_s
    - cred
    - bss
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_cred*
    - struct wpa_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1403
      start: 1360
    functionDepth: 2
    functionLinenumber: 1360
    functionLinenumberEnd: 1403
    functionName: cred_conn_capab_missing
    functionSourceFile: /src/hostap/wpa_supplicant/interworking.c
    functionUses: 0
    functionsReached:
    - interworking_home_sp_cred
    - has_proto_match
    - wpabuf_len
    - wpabuf_head
    - has_proto_port_match
    linkageType: ''
    returnType: int
    signature: "int cred_conn_capab_missing(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \  struct wpa_cred *cred, struct wpa_bss *bss)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: wpa_bss_get_ie
      Src: /src/hostap/wpa_supplicant/interworking.c:1415,1
    - Dst: cred_no_required_oi_match
      Src: /src/hostap/wpa_supplicant/interworking.c:1436,1
    - Dst: cred_home_ois_match
      Src: /src/hostap/wpa_supplicant/interworking.c:1439,1
    - Dst: cred_roaming_consortiums_match
      Src: /src/hostap/wpa_supplicant/interworking.c:1440,1
    - Dst: cred_below_min_backhaul
      Src: /src/hostap/wpa_supplicant/interworking.c:1443,1
    - Dst: cred_over_max_bss_load
      Src: /src/hostap/wpa_supplicant/interworking.c:1445,1
    - Dst: cred_conn_capab_missing
      Src: /src/hostap/wpa_supplicant/interworking.c:1447,1
    - Dst: cred_excluded_ssid
      Src: /src/hostap/wpa_supplicant/interworking.c:1449,1
    - Dst: cred_prio_cmp
      Src: /src/hostap/wpa_supplicant/interworking.c:1458,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 39
    argCount: 4
    argNames:
    - wpa_s
    - bss
    - ignore_bw
    - excluded
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_bss*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1469
      start: 1406
    functionDepth: 4
    functionLinenumber: 1406
    functionLinenumberEnd: 1469
    functionName: interworking_credentials_available_roaming_consortium
    functionSourceFile: /src/hostap/wpa_supplicant/interworking.c
    functionUses: 0
    functionsReached:
    - cred_below_min_backhaul
    - cred_conn_capab_missing
    - cred_prio_cmp
    - cred_no_required_oi_match
    - cred_home_ois_match
    - cred_over_max_bss_load
    - cred_roaming_consortiums_match
    - wpa_bss_get_ie
    - cred_excluded_ssid
    linkageType: ''
    returnType: struct wpa_cred
    signature: "struct wpa_cred * interworking_credentials_available_roaming_consortium(\n\tstruct
      wpa_supplicant *wpa_s, struct wpa_bss *bss, int ignore_bw,\n\tint *excluded)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/interworking.c:1479,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/interworking.c:1481,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/interworking.c:1484,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/interworking.c:1494,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/interworking.c:1496,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/interworking.c:1497,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/interworking.c:1500,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/interworking.c:1502,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/interworking.c:1503,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/interworking.c:1506,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/interworking.c:1508,1
    - Dst: wpa_config_set_quoted
      Src: /src/hostap/wpa_supplicant/interworking.c:1512,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/interworking.c:1514,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/interworking.c:1517,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/interworking.c:1521,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/interworking.c:1526,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/interworking.c:1527,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/interworking.c:1529,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/interworking.c:1532,1
    - Dst: wpa_config_set_quoted
      Src: /src/hostap/wpa_supplicant/interworking.c:1533,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/interworking.c:1534,1
    - Dst: wpa_config_set_quoted
      Src: /src/hostap/wpa_supplicant/interworking.c:1538,1
    - Dst: wpa_config_set
      Src: /src/hostap/wpa_supplicant/interworking.c:1543,1
    - Dst: wpa_config_set_quoted
      Src: /src/hostap/wpa_supplicant/interworking.c:1546,1
    - Dst: wpa_config_set_quoted
      Src: /src/hostap/wpa_supplicant/interworking.c:1552,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/interworking.c:1557,1
    - Dst: wpa_config_set_quoted
      Src: /src/hostap/wpa_supplicant/interworking.c:1559,1
    - Dst: wpa_config_set_quoted
      Src: /src/hostap/wpa_supplicant/interworking.c:1560,1
    - Dst: wpa_config_set
      Src: /src/hostap/wpa_supplicant/interworking.c:1562,1
    - Dst: wpa_config_set_quoted
      Src: /src/hostap/wpa_supplicant/interworking.c:1567,1
    - Dst: wpa_config_set_quoted
      Src: /src/hostap/wpa_supplicant/interworking.c:1571,1
    - Dst: wpa_config_set_quoted
      Src: /src/hostap/wpa_supplicant/interworking.c:1576,1
    - Dst: wpa_config_set_quoted
      Src: /src/hostap/wpa_supplicant/interworking.c:1580,1
    - Dst: wpa_config_set_quoted
      Src: /src/hostap/wpa_supplicant/interworking.c:1584,1
    - Dst: wpa_config_set_quoted
      Src: /src/hostap/wpa_supplicant/interworking.c:1588,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/interworking.c:1594,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/interworking.c:1595,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/interworking.c:1598,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/interworking.c:1599,1
    - Dst: wpa_config_set_quoted
      Src: /src/hostap/wpa_supplicant/interworking.c:1603,1
    - Dst: wpa_config_set_quoted
      Src: /src/hostap/wpa_supplicant/interworking.c:1607,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 87
    argCount: 3
    argNames:
    - ssid
    - cred
    - ttls
    argTypes:
    - struct wpa_ssid*
    - struct wpa_cred*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1614
      start: 1472
    functionDepth: 1
    functionLinenumber: 1472
    functionLinenumberEnd: 1614
    functionName: interworking_set_eap_params
    functionSourceFile: /src/hostap/wpa_supplicant/interworking.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_config_set_quoted
    - os_memcpy
    - wpa_config_set
    - os_malloc
    - os_strncmp
    - os_snprintf
    - os_free
    - os_strchr
    - os_strdup
    linkageType: ''
    returnType: int
    signature: "int interworking_set_eap_params(struct wpa_ssid *ssid,\n\t\t\t\t       struct
      wpa_cred *cred, int ttls)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/interworking.c:1626,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/interworking.c:1627,1
    - Dst: already_connected
      Src: /src/hostap/wpa_supplicant/interworking.c:1629,1
    - Dst: remove_duplicate_network
      Src: /src/hostap/wpa_supplicant/interworking.c:1635,1
    - Dst: wpa_config_add_network
      Src: /src/hostap/wpa_supplicant/interworking.c:1637,1
    - Dst: wpas_notify_network_added
      Src: /src/hostap/wpa_supplicant/interworking.c:1641,1
    - Dst: wpa_config_set_network_defaults
      Src: /src/hostap/wpa_supplicant/interworking.c:1642,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/interworking.c:1645,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/interworking.c:1648,1
    - Dst: interworking_set_hs20_params
      Src: /src/hostap/wpa_supplicant/interworking.c:1651,1
    - Dst: wpa_bss_get_ie
      Src: /src/hostap/wpa_supplicant/interworking.c:1654,1
    - Dst: oi_match
      Src: /src/hostap/wpa_supplicant/interworking.c:1657,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/interworking.c:1662,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/interworking.c:1665,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/interworking.c:1674,1
    - Dst: interworking_set_eap_params
      Src: /src/hostap/wpa_supplicant/interworking.c:1679,1
    - Dst: wpa_config_update_prio_list
      Src: /src/hostap/wpa_supplicant/interworking.c:1686,1
    - Dst: interworking_reconnect
      Src: /src/hostap/wpa_supplicant/interworking.c:1688,1
    - Dst: wpas_notify_network_removed
      Src: /src/hostap/wpa_supplicant/interworking.c:1693,1
    - Dst: wpa_config_remove_network
      Src: /src/hostap/wpa_supplicant/interworking.c:1694,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 55
    argCount: 4
    argNames:
    - wpa_s
    - cred
    - bss
    - only_add
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_cred*
    - struct wpa_bss*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1696
      start: 1617
    functionDepth: 5
    functionLinenumber: 1617
    functionLinenumberEnd: 1696
    functionName: interworking_connect_roaming_consortium
    functionSourceFile: /src/hostap/wpa_supplicant/interworking.c
    functionUses: 0
    functionsReached:
    - wpa_config_set_network_defaults
    - os_memcpy
    - interworking_set_hs20_params
    - interworking_reconnect
    - remove_duplicate_network
    - already_connected
    - wpa_msg
    - wpa_config_remove_network
    - wpa_config_add_network
    - oi_match
    - os_malloc
    - wpas_notify_network_added
    - wpas_notify_network_removed
    - MAC2STR
    - os_zalloc
    - wpa_config_update_prio_list
    - interworking_set_eap_params
    - wpa_bss_get_ie
    linkageType: ''
    returnType: int
    signature: "int interworking_connect_roaming_consortium(\n\tstruct wpa_supplicant
      *wpa_s, struct wpa_cred *cred,\n\tstruct wpa_bss *bss, int only_add)"
  - BBCount: 52
    BranchProfiles: []
    Callsites:
    - Dst: disallowed_bssid
      Src: /src/hostap/wpa_supplicant/interworking.c:1713,1
    - Dst: disallowed_ssid
      Src: /src/hostap/wpa_supplicant/interworking.c:1714,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/interworking.c:1715,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/interworking.c:1717,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/interworking.c:1721,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/interworking.c:1723,1
    - Dst: wpa_bss_get_rsne
      Src: /src/hostap/wpa_supplicant/interworking.c:1725,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/interworking.c:1730,1
    - Dst: interworking_credentials_available_roaming_consortium
      Src: /src/hostap/wpa_supplicant/interworking.c:1735,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/interworking.c:1738,1
    - Dst: interworking_credentials_available_realm
      Src: /src/hostap/wpa_supplicant/interworking.c:1745,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/interworking.c:1747,1
    - Dst: interworking_credentials_available_3gpp
      Src: /src/hostap/wpa_supplicant/interworking.c:1754,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/interworking.c:1757,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/interworking.c:1765,1
    - Dst: interworking_credentials_available_roaming_consortium
      Src: /src/hostap/wpa_supplicant/interworking.c:1767,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/interworking.c:1770,1
    - Dst: interworking_credentials_available_realm
      Src: /src/hostap/wpa_supplicant/interworking.c:1777,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/interworking.c:1780,1
    - Dst: interworking_credentials_available_3gpp
      Src: /src/hostap/wpa_supplicant/interworking.c:1787,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/interworking.c:1790,1
    - Dst: cred_prio_cmp
      Src: /src/hostap/wpa_supplicant/interworking.c:1799,1
    - Dst: cred_prio_cmp
      Src: /src/hostap/wpa_supplicant/interworking.c:1800,1
    - Dst: interworking_connect_roaming_consortium
      Src: /src/hostap/wpa_supplicant/interworking.c:1801,1
    - Dst: cred_prio_cmp
      Src: /src/hostap/wpa_supplicant/interworking.c:1805,1
    - Dst: interworking_connect_3gpp
      Src: /src/hostap/wpa_supplicant/interworking.c:1806,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/interworking.c:1811,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/interworking.c:1813,1
    - Dst: nai_realm_parse
      Src: /src/hostap/wpa_supplicant/interworking.c:1817,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/interworking.c:1820,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/interworking.c:1822,1
    - Dst: nai_realm_match
      Src: /src/hostap/wpa_supplicant/interworking.c:1827,1
    - Dst: nai_realm_find_eap
      Src: /src/hostap/wpa_supplicant/interworking.c:1829,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/interworking.c:1835,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/interworking.c:1837,1
    - Dst: nai_realm_free
      Src: /src/hostap/wpa_supplicant/interworking.c:1838,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/interworking.c:1842,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/interworking.c:1843,1
    - Dst: already_connected
      Src: /src/hostap/wpa_supplicant/interworking.c:1845,1
    - Dst: nai_realm_free
      Src: /src/hostap/wpa_supplicant/interworking.c:1848,1
    - Dst: remove_duplicate_network
      Src: /src/hostap/wpa_supplicant/interworking.c:1852,1
    - Dst: wpa_config_add_network
      Src: /src/hostap/wpa_supplicant/interworking.c:1854,1
    - Dst: nai_realm_free
      Src: /src/hostap/wpa_supplicant/interworking.c:1856,1
    - Dst: wpas_notify_network_added
      Src: /src/hostap/wpa_supplicant/interworking.c:1860,1
    - Dst: wpa_config_set_network_defaults
      Src: /src/hostap/wpa_supplicant/interworking.c:1861,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/interworking.c:1864,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/interworking.c:1867,1
    - Dst: interworking_set_hs20_params
      Src: /src/hostap/wpa_supplicant/interworking.c:1870,1
    - Dst: wpa_config_set
      Src: /src/hostap/wpa_supplicant/interworking.c:1873,1
    - Dst: eap_get_name
      Src: /src/hostap/wpa_supplicant/interworking.c:1873,1
    - Dst: eap_get_name
      Src: /src/hostap/wpa_supplicant/interworking.c:1880,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/interworking.c:1883,1
    - Dst: wpa_config_set
      Src: /src/hostap/wpa_supplicant/interworking.c:1884,1
    - Dst: wpa_config_set
      Src: /src/hostap/wpa_supplicant/interworking.c:1890,1
    - Dst: wpa_config_set
      Src: /src/hostap/wpa_supplicant/interworking.c:1895,1
    - Dst: wpa_config_set
      Src: /src/hostap/wpa_supplicant/interworking.c:1900,1
    - Dst: wpa_config_set
      Src: /src/hostap/wpa_supplicant/interworking.c:1905,1
    - Dst: wpa_config_set
      Src: /src/hostap/wpa_supplicant/interworking.c:1911,1
    - Dst: wpa_config_set
      Src: /src/hostap/wpa_supplicant/interworking.c:1919,1
    - Dst: wpa_config_set
      Src: /src/hostap/wpa_supplicant/interworking.c:1922,1
    - Dst: eap_get_name
      Src: /src/hostap/wpa_supplicant/interworking.c:1925,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/interworking.c:1930,1
    - Dst: wpa_config_set
      Src: /src/hostap/wpa_supplicant/interworking.c:1931,1
    - Dst: interworking_set_eap_params
      Src: /src/hostap/wpa_supplicant/interworking.c:1938,1
    - Dst: nai_realm_free
      Src: /src/hostap/wpa_supplicant/interworking.c:1942,1
    - Dst: wpa_config_update_prio_list
      Src: /src/hostap/wpa_supplicant/interworking.c:1945,1
    - Dst: interworking_reconnect
      Src: /src/hostap/wpa_supplicant/interworking.c:1947,1
    - Dst: wpas_notify_network_removed
      Src: /src/hostap/wpa_supplicant/interworking.c:1952,1
    - Dst: wpa_config_remove_network
      Src: /src/hostap/wpa_supplicant/interworking.c:1953,1
    - Dst: nai_realm_free
      Src: /src/hostap/wpa_supplicant/interworking.c:1954,1
    CyclomaticComplexity: 87
    EdgeCount: 87
    ICount: 182
    argCount: 3
    argNames:
    - wpa_s
    - bss
    - only_add
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_bss*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1956
      start: 1699
    functionDepth: 6
    functionLinenumber: 1699
    functionLinenumberEnd: 1956
    functionName: interworking_connect
    functionSourceFile: /src/hostap/wpa_supplicant/interworking.c
    functionUses: 1
    functionsReached:
    - wpa_config_set_network_defaults
    - already_connected
    - wpa_config_remove_network
    - os_snprintf
    - eap_get_name
    - interworking_credentials_available_3gpp
    - nai_realm_parse
    - wpa_config_update_prio_list
    - wpa_config_set
    - nai_realm_find_eap
    - wpa_printf
    - remove_duplicate_network
    - cred_prio_cmp
    - wpa_config_add_network
    - nai_realm_free
    - interworking_credentials_available_realm
    - interworking_set_eap_params
    - disallowed_bssid
    - wpas_notify_network_added
    - wpas_notify_network_removed
    - wpa_bss_get_rsne
    - nai_realm_match
    - os_memcpy
    - interworking_set_hs20_params
    - interworking_credentials_available_roaming_consortium
    - interworking_reconnect
    - wpa_msg
    - disallowed_ssid
    - MAC2STR
    - interworking_connect_roaming_consortium
    - os_zalloc
    - interworking_connect_3gpp
    linkageType: ''
    returnType: int
    signature: "int interworking_connect(struct wpa_supplicant *wpa_s, struct wpa_bss
      *bss,\n\t\t\t int only_add)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: scard_get_imsi
      Src: /src/hostap/wpa_supplicant/interworking.c:1968,1
    - Dst: scard_deinit
      Src: /src/hostap/wpa_supplicant/interworking.c:1969,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/interworking.c:1971,1
    - Dst: scard_get_mnc_len
      Src: /src/hostap/wpa_supplicant/interworking.c:1975,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/interworking.c:1976,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1980
      start: 1960
    functionDepth: 0
    functionLinenumber: 1960
    functionLinenumberEnd: 1980
    functionName: interworking_pcsc_read_imsi
    functionSourceFile: /src/hostap/wpa_supplicant/interworking.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_msg
    - scard_get_mnc_len
    - scard_get_imsi
    - scard_deinit
    linkageType: ''
    returnType: int
    signature: int interworking_pcsc_read_imsi(struct wpa_supplicant *wpa_s)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/interworking.c:2124,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/interworking.c:2125,1
    - Dst: nai_realm_parse
      Src: /src/hostap/wpa_supplicant/interworking.c:2126,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/interworking.c:2128,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/interworking.c:2130,1
    - Dst: nai_realm_match
      Src: /src/hostap/wpa_supplicant/interworking.c:2139,1
    - Dst: nai_realm_find_eap
      Src: /src/hostap/wpa_supplicant/interworking.c:2141,1
    - Dst: cred_no_required_oi_match
      Src: /src/hostap/wpa_supplicant/interworking.c:2142,1
    - Dst: cred_below_min_backhaul
      Src: /src/hostap/wpa_supplicant/interworking.c:2145,1
    - Dst: cred_over_max_bss_load
      Src: /src/hostap/wpa_supplicant/interworking.c:2148,1
    - Dst: cred_conn_capab_missing
      Src: /src/hostap/wpa_supplicant/interworking.c:2151,1
    - Dst: cred_excluded_ssid
      Src: /src/hostap/wpa_supplicant/interworking.c:2153,1
    - Dst: cred_prio_cmp
      Src: /src/hostap/wpa_supplicant/interworking.c:2162,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/interworking.c:2170,1
    - Dst: nai_realm_free
      Src: /src/hostap/wpa_supplicant/interworking.c:2176,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 49
    argCount: 4
    argNames:
    - wpa_s
    - bss
    - ignore_bw
    - excluded
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_bss*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2182
      start: 2109
    functionDepth: 4
    functionLinenumber: 2109
    functionLinenumberEnd: 2182
    functionName: interworking_credentials_available_realm
    functionSourceFile: /src/hostap/wpa_supplicant/interworking.c
    functionUses: 1
    functionsReached:
    - nai_realm_match
    - wpa_msg
    - cred_below_min_backhaul
    - cred_prio_cmp
    - cred_no_required_oi_match
    - nai_realm_free
    - MAC2STR
    - cred_over_max_bss_load
    - nai_realm_parse
    - cred_conn_capab_missing
    - cred_excluded_ssid
    - nai_realm_find_eap
    linkageType: ''
    returnType: struct wpa_cred
    signature: "struct wpa_cred * interworking_credentials_available_realm(\n\tstruct
      wpa_supplicant *wpa_s, struct wpa_bss *bss, int ignore_bw,\n\tint *excluded)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: disallowed_bssid
      Src: /src/hostap/wpa_supplicant/interworking.c:2192,1
    - Dst: disallowed_ssid
      Src: /src/hostap/wpa_supplicant/interworking.c:2193,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/interworking.c:2194,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/interworking.c:2195,1
    - Dst: interworking_credentials_available_realm
      Src: /src/hostap/wpa_supplicant/interworking.c:2199,1
    - Dst: interworking_credentials_available_3gpp
      Src: /src/hostap/wpa_supplicant/interworking.c:2201,1
    - Dst: cred_prio_cmp
      Src: /src/hostap/wpa_supplicant/interworking.c:2204,1
    - Dst: interworking_credentials_available_roaming_consortium
      Src: /src/hostap/wpa_supplicant/interworking.c:2213,1
    - Dst: cred_prio_cmp
      Src: /src/hostap/wpa_supplicant/interworking.c:2216,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 4
    argNames:
    - wpa_s
    - bss
    - ignore_bw
    - excluded
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_bss*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2228
      start: 2185
    functionDepth: 5
    functionLinenumber: 2185
    functionLinenumberEnd: 2228
    functionName: interworking_credentials_available_helper
    functionSourceFile: /src/hostap/wpa_supplicant/interworking.c
    functionUses: 0
    functionsReached:
    - disallowed_bssid
    - wpa_printf
    - interworking_credentials_available_roaming_consortium
    - cred_prio_cmp
    - disallowed_ssid
    - MAC2STR
    - interworking_credentials_available_realm
    - interworking_credentials_available_3gpp
    linkageType: ''
    returnType: struct wpa_cred
    signature: "struct wpa_cred * interworking_credentials_available_helper(\n\tstruct
      wpa_supplicant *wpa_s, struct wpa_bss *bss, int ignore_bw,\n\tint *excluded)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: interworking_credentials_available_helper
      Src: /src/hostap/wpa_supplicant/interworking.c:2238,1
    - Dst: interworking_credentials_available_helper
      Src: /src/hostap/wpa_supplicant/interworking.c:2242,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - wpa_s
    - bss
    - excluded
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_bss*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2244
      start: 2231
    functionDepth: 6
    functionLinenumber: 2231
    functionLinenumberEnd: 2244
    functionName: interworking_credentials_available
    functionSourceFile: /src/hostap/wpa_supplicant/interworking.c
    functionUses: 0
    functionsReached:
    - interworking_credentials_available_helper
    linkageType: ''
    returnType: struct wpa_cred
    signature: "struct wpa_cred * interworking_credentials_available(\n\tstruct wpa_supplicant
      *wpa_s, struct wpa_bss *bss, int *excluded)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/interworking.c:2253,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/interworking.c:2254,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/interworking.c:2255,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/wpa_supplicant/interworking.c:2264,1
    - Dst: os_strncasecmp
      Src: /src/hostap/wpa_supplicant/interworking.c:2267,1
    - Dst: os_strncasecmp
      Src: /src/hostap/wpa_supplicant/interworking.c:2273,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 3
    argNames:
    - domain_names
    - domain
    - exact_match
    argTypes:
    - struct wpabuf*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2281
      start: 2247
    functionDepth: 1
    functionLinenumber: 2247
    functionLinenumberEnd: 2281
    functionName: domain_name_list_contains
    functionSourceFile: /src/hostap/wpa_supplicant/interworking.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_strncasecmp
    - wpabuf_len
    - wpabuf_head
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: int
    signature: "int domain_name_list_contains(struct wpabuf *domain_names,\n\t\t\t
      \     const char *domain, int exact_match)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: interworking_pcsc_read_imsi
      Src: /src/hostap/wpa_supplicant/interworking.c:2299,1
    - Dst: build_root_nai
      Src: /src/hostap/wpa_supplicant/interworking.c:2312,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/interworking.c:2313,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/interworking.c:2316,1
    - Dst: domain_name_list_contains
      Src: /src/hostap/wpa_supplicant/interworking.c:2320,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/interworking.c:2331,1
    - Dst: domain_name_list_contains
      Src: /src/hostap/wpa_supplicant/interworking.c:2334,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 29
    argCount: 3
    argNames:
    - wpa_s
    - cred
    - domain_names
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_cred*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2339
      start: 2284
    functionDepth: 2
    functionLinenumber: 2284
    functionLinenumberEnd: 2339
    functionName: interworking_home_sp_cred
    functionSourceFile: /src/hostap/wpa_supplicant/interworking.c
    functionUses: 3
    functionsReached:
    - wpa_msg
    - domain_name_list_contains
    - interworking_pcsc_read_imsi
    - build_root_nai
    - os_strchr
    linkageType: ''
    returnType: int
    signature: "int interworking_home_sp_cred(struct wpa_supplicant *wpa_s,\n\t\t\t
      \     struct wpa_cred *cred,\n\t\t\t      struct wpabuf *domain_names)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: interworking_home_sp_cred
      Src: /src/hostap/wpa_supplicant/interworking.c:2351,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - wpa_s
    - domain_names
    argTypes:
    - struct wpa_supplicant*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2357
      start: 2342
    functionDepth: 3
    functionLinenumber: 2342
    functionLinenumberEnd: 2357
    functionName: interworking_home_sp
    functionSourceFile: /src/hostap/wpa_supplicant/interworking.c
    functionUses: 0
    functionsReached:
    - interworking_home_sp_cred
    linkageType: ''
    returnType: int
    signature: "int interworking_home_sp(struct wpa_supplicant *wpa_s,\n\t\t\t\tstruct
      wpabuf *domain_names)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/wpa_supplicant/interworking.c:2365,1
    - Dst: wpas_network_disabled
      Src: /src/hostap/wpa_supplicant/interworking.c:2367,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/interworking.c:2371,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2383
      start: 2360
    functionDepth: 2
    functionLinenumber: 2360
    functionLinenumberEnd: 2383
    functionName: interworking_find_network_match
    functionSourceFile: /src/hostap/wpa_supplicant/interworking.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    - wpas_network_disabled
    - os_memcmp
    linkageType: ''
    returnType: int
    signature: int interworking_find_network_match(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/interworking.c:2390,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/wpa_supplicant/interworking.c:2393,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/interworking.c:2394,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/interworking.c:2395,1
    - Dst: domain_name_list_contains
      Src: /src/hostap/wpa_supplicant/interworking.c:2396,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - wpa_s
    - partner
    - domain_names
    argTypes:
    - struct wpa_supplicant*
    - struct roaming_partner*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2401
      start: 2386
    functionDepth: 2
    functionLinenumber: 2386
    functionLinenumberEnd: 2401
    functionName: roaming_partner_match
    functionSourceFile: /src/hostap/wpa_supplicant/interworking.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - domain_name_list_contains
    - wpabuf_len
    - wpabuf_head
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: int
    signature: "int roaming_partner_match(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      struct roaming_partner *partner,\n\t\t\t\t struct wpabuf *domain_names)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/interworking.c:2410,1
    - Dst: interworking_home_sp_cred
      Src: /src/hostap/wpa_supplicant/interworking.c:2414,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/interworking.c:2416,1
    - Dst: roaming_partner_match
      Src: /src/hostap/wpa_supplicant/interworking.c:2421,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/interworking.c:2423,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/interworking.c:2429,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - wpa_s
    - cred
    - bss
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_cred*
    - struct wpa_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2431
      start: 2404
    functionDepth: 3
    functionLinenumber: 2404
    functionLinenumberEnd: 2431
    functionName: roaming_prio
    functionSourceFile: /src/hostap/wpa_supplicant/interworking.c
    functionUses: 0
    functionsReached:
    - roaming_partner_match
    - wpa_printf
    - interworking_home_sp_cred
    linkageType: ''
    returnType: u8
    signature: "u8 roaming_prio(struct wpa_supplicant *wpa_s, struct wpa_cred *cred,\n\t\t
      \      struct wpa_bss *bss)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaming_prio
      Src: /src/hostap/wpa_supplicant/interworking.c:2447,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/interworking.c:2448,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/interworking.c:2449,1
    - Dst: dl_list_for_each
      Src: /src/hostap/wpa_supplicant/interworking.c:2452,1
    - Dst: interworking_credentials_available
      Src: /src/hostap/wpa_supplicant/interworking.c:2455,1
    - Dst: wpa_bss_get_rsne
      Src: /src/hostap/wpa_supplicant/interworking.c:2458,1
    - Dst: roaming_prio
      Src: /src/hostap/wpa_supplicant/interworking.c:2460,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/interworking.c:2461,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/interworking.c:2462,1
    - Dst: cred_below_min_backhaul
      Src: /src/hostap/wpa_supplicant/interworking.c:2466,1
    - Dst: cred_over_max_bss_load
      Src: /src/hostap/wpa_supplicant/interworking.c:2467,1
    - Dst: cred_conn_capab_missing
      Src: /src/hostap/wpa_supplicant/interworking.c:2468,1
    - Dst: cred_below_min_backhaul
      Src: /src/hostap/wpa_supplicant/interworking.c:2469,1
    - Dst: cred_over_max_bss_load
      Src: /src/hostap/wpa_supplicant/interworking.c:2470,1
    - Dst: cred_conn_capab_missing
      Src: /src/hostap/wpa_supplicant/interworking.c:2471,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/interworking.c:2472,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/interworking.c:2475,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/interworking.c:2475,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 3
    argNames:
    - wpa_s
    - selected
    - cred
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_bss*
    - struct wpa_cred*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2483
      start: 2434
    functionDepth: 7
    functionLinenumber: 2434
    functionLinenumberEnd: 2483
    functionName: pick_best_roaming_partner
    functionSourceFile: /src/hostap/wpa_supplicant/interworking.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - cred_below_min_backhaul
    - roaming_prio
    - dl_list_for_each
    - MAC2STR
    - wpa_bss_get_rsne
    - cred_over_max_bss_load
    - interworking_credentials_available
    - cred_conn_capab_missing
    linkageType: ''
    returnType: struct wpa_bss
    signature: "struct wpa_bss * pick_best_roaming_partner(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t\t
      \ struct wpa_bss *selected,\n\t\t\t\t\t\t  struct wpa_cred *cred)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/interworking.c:2500,1
    - Dst: dl_list_for_each
      Src: /src/hostap/wpa_supplicant/interworking.c:2502,1
    - Dst: interworking_credentials_available
      Src: /src/hostap/wpa_supplicant/interworking.c:2505,1
    - Dst: wpa_bss_get_rsne
      Src: /src/hostap/wpa_supplicant/interworking.c:2510,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/interworking.c:2515,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/interworking.c:2518,1
    - Dst: interworking_home_sp
      Src: /src/hostap/wpa_supplicant/interworking.c:2523,1
    - Dst: cred_below_min_backhaul
      Src: /src/hostap/wpa_supplicant/interworking.c:2531,1
    - Dst: cred_over_max_bss_load
      Src: /src/hostap/wpa_supplicant/interworking.c:2532,1
    - Dst: cred_conn_capab_missing
      Src: /src/hostap/wpa_supplicant/interworking.c:2533,1
    - Dst: wpas_notify_interworking_ap_added
      Src: /src/hostap/wpa_supplicant/interworking.c:2534,1
    - Dst: cred_prio_cmp
      Src: /src/hostap/wpa_supplicant/interworking.c:2544,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/interworking.c:2545,1
    - Dst: cred_prio_cmp
      Src: /src/hostap/wpa_supplicant/interworking.c:2551,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/interworking.c:2553,1
    - Dst: cred_prio_cmp
      Src: /src/hostap/wpa_supplicant/interworking.c:2559,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/interworking.c:2560,1
    - Dst: cred_prio_cmp
      Src: /src/hostap/wpa_supplicant/interworking.c:2566,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/interworking.c:2568,1
    - Dst: cred_prio_cmp
      Src: /src/hostap/wpa_supplicant/interworking.c:2579,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/interworking.c:2581,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/interworking.c:2588,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/interworking.c:2592,1
    - Dst: interworking_find_network_match
      Src: /src/hostap/wpa_supplicant/interworking.c:2604,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/interworking.c:2605,1
    - Dst: interworking_reconnect
      Src: /src/hostap/wpa_supplicant/interworking.c:2608,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/interworking.c:2614,1
    - Dst: wpa_supplicant_req_scan
      Src: /src/hostap/wpa_supplicant/interworking.c:2616,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/interworking.c:2621,1
    - Dst: wpa_supplicant_set_state
      Src: /src/hostap/wpa_supplicant/interworking.c:2624,1
    - Dst: wpas_notify_interworking_select_done
      Src: /src/hostap/wpa_supplicant/interworking.c:2627,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/interworking.c:2630,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/interworking.c:2631,1
    - Dst: pick_best_roaming_partner
      Src: /src/hostap/wpa_supplicant/interworking.c:2632,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/interworking.c:2634,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/interworking.c:2636,1
    - Dst: interworking_connect
      Src: /src/hostap/wpa_supplicant/interworking.c:2639,1
    - Dst: wpa_supplicant_set_state
      Src: /src/hostap/wpa_supplicant/interworking.c:2641,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 95
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2642
      start: 2486
    functionDepth: 9
    functionLinenumber: 2486
    functionLinenumberEnd: 2642
    functionName: interworking_select_network
    functionSourceFile: /src/hostap/wpa_supplicant/interworking.c
    functionUses: 0
    functionsReached:
    - interworking_connect
    - cred_below_min_backhaul
    - wpas_notify_interworking_select_done
    - interworking_credentials_available
    - cred_conn_capab_missing
    - wpa_printf
    - wpa_supplicant_req_scan
    - cred_prio_cmp
    - dl_list_for_each
    - interworking_find_network_match
    - cred_over_max_bss_load
    - pick_best_roaming_partner
    - interworking_home_sp
    - wpa_bss_get_rsne
    - wpas_notify_interworking_ap_added
    - interworking_reconnect
    - wpa_msg
    - wpa_supplicant_set_state
    - MAC2STR
    linkageType: ''
    returnType: void
    signature: void interworking_select_network(struct wpa_supplicant *wpa_s)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/interworking.c:2650,1
    - Dst: dl_list_for_each
      Src: /src/hostap/wpa_supplicant/interworking.c:2653,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/interworking.c:2665,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/interworking.c:2668,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/interworking.c:2671,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/interworking.c:2674,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/interworking.c:2674,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 21
    argCount: 2
    argNames:
    - wpa_s
    - bss
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2680
      start: 2645
    functionDepth: 1
    functionLinenumber: 2645
    functionLinenumberEnd: 2680
    functionName: interworking_match_anqp_info
    functionSourceFile: /src/hostap/wpa_supplicant/interworking.c
    functionUses: 0
    functionsReached:
    - wpa_msg
    - is_zero_ether_addr
    - ether_addr_equal
    - dl_list_for_each
    - MAC2STR
    - os_memcmp
    linkageType: ''
    returnType: struct wpa_bss_anqp
    signature: 'struct wpa_bss_anqp *

      interworking_match_anqp_info(struct wpa_supplicant *wpa_s, struct wpa_bss *bss)'
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/interworking.c:2688,1
    - Dst: eloop_terminated
      Src: /src/hostap/wpa_supplicant/interworking.c:2692,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/interworking.c:2693,1
    - Dst: dl_list_for_each
      Src: /src/hostap/wpa_supplicant/interworking.c:2697,1
    - Dst: wpa_bss_ext_capab
      Src: /src/hostap/wpa_supplicant/interworking.c:2700,1
    - Dst: disallowed_bssid
      Src: /src/hostap/wpa_supplicant/interworking.c:2702,1
    - Dst: disallowed_ssid
      Src: /src/hostap/wpa_supplicant/interworking.c:2703,1
    - Dst: interworking_match_anqp_info
      Src: /src/hostap/wpa_supplicant/interworking.c:2708,1
    - Dst: wpa_bss_anqp_alloc
      Src: /src/hostap/wpa_supplicant/interworking.c:2714,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/interworking.c:2720,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/interworking.c:2722,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/interworking.c:2722,1
    - Dst: interworking_anqp_send_req
      Src: /src/hostap/wpa_supplicant/interworking.c:2723,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/interworking.c:2729,1
    - Dst: interworking_select_network
      Src: /src/hostap/wpa_supplicant/interworking.c:2732,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 36
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2734
      start: 2683
    functionDepth: 10
    functionLinenumber: 2683
    functionLinenumberEnd: 2734
    functionName: interworking_next_anqp_fetch
    functionSourceFile: /src/hostap/wpa_supplicant/interworking.c
    functionUses: 2
    functionsReached:
    - disallowed_bssid
    - interworking_anqp_send_req
    - wpa_printf
    - interworking_match_anqp_info
    - wpa_msg
    - dl_list_for_each
    - disallowed_ssid
    - MAC2STR
    - interworking_select_network
    - eloop_terminated
    - wpa_bss_ext_capab
    - wpa_bss_anqp_alloc
    linkageType: ''
    returnType: void
    signature: void interworking_next_anqp_fetch(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/wpa_supplicant/interworking.c:2741,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/interworking.c:2750,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2751
      start: 2737
    functionDepth: 0
    functionLinenumber: 2737
    functionLinenumberEnd: 2751
    functionName: interworking_start_fetch_anqp
    functionSourceFile: /src/hostap/wpa_supplicant/interworking.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    - eloop_register_timeout
    linkageType: ''
    returnType: void
    signature: void interworking_start_fetch_anqp(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: interworking_start_fetch_anqp
      Src: /src/hostap/wpa_supplicant/interworking.c:2762,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2765
      start: 2754
    functionDepth: 1
    functionLinenumber: 2754
    functionLinenumberEnd: 2765
    functionName: interworking_fetch_anqp
    functionSourceFile: /src/hostap/wpa_supplicant/interworking.c
    functionUses: 0
    functionsReached:
    - interworking_start_fetch_anqp
    linkageType: ''
    returnType: int
    signature: int interworking_fetch_anqp(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2774
      start: 2768
    functionDepth: 0
    functionLinenumber: 2768
    functionLinenumberEnd: 2774
    functionName: interworking_stop_fetch_anqp
    functionSourceFile: /src/hostap/wpa_supplicant/interworking.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void interworking_stop_fetch_anqp(struct wpa_supplicant *wpa_s)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: wpa_bss_get_bssid_latest
      Src: /src/hostap/wpa_supplicant/interworking.c:2787,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/interworking.c:2789,1
    - Dst: wpa_bss_anqp_unshare_alloc
      Src: /src/hostap/wpa_supplicant/interworking.c:2795,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/interworking.c:2799,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/interworking.c:2801,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/interworking.c:2805,1
    - Dst: hs20_put_anqp_req
      Src: /src/hostap/wpa_supplicant/interworking.c:2808,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/interworking.c:2817,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/interworking.c:2819,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/interworking.c:2820,1
    - Dst: mbo_build_anqp_buf
      Src: /src/hostap/wpa_supplicant/interworking.c:2824,1
    - Dst: wpabuf_resize
      Src: /src/hostap/wpa_supplicant/interworking.c:2826,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/interworking.c:2826,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/interworking.c:2827,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/interworking.c:2828,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/wpa_supplicant/interworking.c:2831,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/interworking.c:2832,1
    - Dst: anqp_build_req
      Src: /src/hostap/wpa_supplicant/interworking.c:2837,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/interworking.c:2838,1
    - Dst: gas_query_req
      Src: /src/hostap/wpa_supplicant/interworking.c:2842,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/interworking.c:2845,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/interworking.c:2846,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/interworking.c:2849,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 47
    argCount: 7
    argNames:
    - wpa_s
    - dst
    - freq
    - info_ids
    - num_ids
    - subtypes
    - mbo_subtypes
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - int
    - u16[]
    - size_t
    - u32
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2854
      start: 2777
    functionDepth: 3
    functionLinenumber: 2777
    functionLinenumberEnd: 2854
    functionName: anqp_send_req
    functionSourceFile: /src/hostap/wpa_supplicant/interworking.c
    functionUses: 5
    functionsReached:
    - wpa_printf
    - wpa_bss_anqp_unshare_alloc
    - wpabuf_resize
    - anqp_build_req
    - wpa_bss_get_bssid_latest
    - wpa_msg
    - wpabuf_len
    - mbo_build_anqp_buf
    - wpabuf_free
    - gas_query_req
    - MAC2STR
    - wpabuf_alloc
    - wpabuf_put_buf
    - hs20_put_anqp_req
    linkageType: ''
    returnType: int
    signature: "int anqp_send_req(struct wpa_supplicant *wpa_s, const u8 *dst, int
      freq,\n\t\t  u16 info_ids[], size_t num_ids, u32 subtypes,\n\t\t  u32 mbo_subtypes)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/wpa_supplicant/interworking.c:2866,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/interworking.c:2875,1
    - Dst: dl_list_add
      Src: /src/hostap/wpa_supplicant/interworking.c:2879,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/interworking.c:2881,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/wpa_supplicant/interworking.c:2885,1
    - Dst: dl_list_del
      Src: /src/hostap/wpa_supplicant/interworking.c:2887,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/interworking.c:2888,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 6
    argNames:
    - wpa_s
    - anqp
    - info_id
    - data
    - slen
    - protected_response
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_bss_anqp*
    - u16
    - u8*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2890
      start: 2857
    functionDepth: 1
    functionLinenumber: 2857
    functionLinenumberEnd: 2890
    functionName: anqp_add_extra
    functionSourceFile: /src/hostap/wpa_supplicant/interworking.c
    functionUses: 0
    functionsReached:
    - dl_list_del
    - wpabuf_free
    - wpabuf_alloc_copy
    - dl_list_for_each
    - os_zalloc
    - dl_list_add
    - os_free
    linkageType: ''
    returnType: void
    signature: "void anqp_add_extra(struct wpa_supplicant *wpa_s,\n\t\t\t   struct
      wpa_bss_anqp *anqp, u16 info_id,\n\t\t\t   const u8 *data, size_t slen, bool
      protected_response)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/interworking.c:2904,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/interworking.c:2910,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/interworking.c:2912,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - wpa_s
    - data
    - len
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2915
      start: 2893
    functionDepth: 0
    functionLinenumber: 2893
    functionLinenumberEnd: 2915
    functionName: interworking_parse_venue_url
    functionSourceFile: /src/hostap/wpa_supplicant/interworking.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: "void interworking_parse_venue_url(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      const u8 *data, size_t len)"
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/interworking.c:2934,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/interworking.c:2935,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/wpa_supplicant/interworking.c:2936,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/interworking.c:2939,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/wpa_supplicant/interworking.c:2940,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/interworking.c:2944,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/interworking.c:2945,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/wpa_supplicant/interworking.c:2946,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/interworking.c:2948,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/wpa_supplicant/interworking.c:2949,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/interworking.c:2953,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/interworking.c:2955,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/wpa_supplicant/interworking.c:2956,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/interworking.c:2959,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/wpa_supplicant/interworking.c:2960,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/interworking.c:2964,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/interworking.c:2965,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/wpa_supplicant/interworking.c:2966,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/interworking.c:2969,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/wpa_supplicant/interworking.c:2970,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/interworking.c:2974,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/interworking.c:2976,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/interworking.c:2977,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/interworking.c:2980,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/wpa_supplicant/interworking.c:2982,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/interworking.c:2986,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/interworking.c:2987,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/wpa_supplicant/interworking.c:2988,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/interworking.c:2990,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/wpa_supplicant/interworking.c:2991,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/interworking.c:2995,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/interworking.c:2996,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/wpa_supplicant/interworking.c:2997,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/interworking.c:3000,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/wpa_supplicant/interworking.c:3001,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/interworking.c:3005,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/interworking.c:3006,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/wpa_supplicant/interworking.c:3007,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/interworking.c:3009,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/wpa_supplicant/interworking.c:3010,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/interworking.c:3015,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/interworking.c:3016,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/wpa_supplicant/interworking.c:3017,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/interworking.c:3020,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/wpa_supplicant/interworking.c:3021,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/interworking.c:3026,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/interworking.c:3027,1
    - Dst: pmf_in_use
      Src: /src/hostap/wpa_supplicant/interworking.c:3028,1
    - Dst: anqp_add_extra
      Src: /src/hostap/wpa_supplicant/interworking.c:3029,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/interworking.c:3033,1
    - Dst: interworking_parse_venue_url
      Src: /src/hostap/wpa_supplicant/interworking.c:3037,1
    - Dst: WPA_GET_BE24
      Src: /src/hostap/wpa_supplicant/interworking.c:3043,1
    - Dst: hs20_parse_rx_hs20_anqp_resp
      Src: /src/hostap/wpa_supplicant/interworking.c:3056,1
    - Dst: mbo_parse_rx_anqp_resp
      Src: /src/hostap/wpa_supplicant/interworking.c:3063,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/interworking.c:3068,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/interworking.c:3075,1
    - Dst: WPA_GET_BE24
      Src: /src/hostap/wpa_supplicant/interworking.c:3077,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/interworking.c:3082,1
    - Dst: anqp_add_extra
      Src: /src/hostap/wpa_supplicant/interworking.c:3084,1
    - Dst: pmf_in_use
      Src: /src/hostap/wpa_supplicant/interworking.c:3085,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 119
    argCount: 7
    argNames:
    - wpa_s
    - bss
    - sa
    - info_id
    - data
    - slen
    - dialog_token
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_bss*
    - u8*
    - u16
    - u8*
    - size_t
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3088
      start: 2918
    functionDepth: 2
    functionLinenumber: 2918
    functionLinenumberEnd: 3088
    functionName: interworking_parse_rx_anqp_resp
    functionSourceFile: /src/hostap/wpa_supplicant/interworking.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    - wpa_msg
    - anqp_add_extra
    - wpabuf_free
    - pmf_in_use
    - wpabuf_alloc_copy
    - mbo_parse_rx_anqp_resp
    - WPA_GET_BE24
    - MAC2STR
    - interworking_parse_venue_url
    - hs20_parse_rx_hs20_anqp_resp
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: void
    signature: "void interworking_parse_rx_anqp_resp(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \   struct wpa_bss *bss, const u8 *sa,\n\t\t\t\t\t    u16 info_id,\n\t\t\t\t\t
      \   const u8 *data, size_t slen,\n\t\t\t\t\t    u8 dialog_token)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/interworking.c:3104,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/interworking.c:3106,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/interworking.c:3112,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/interworking.c:3113,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/interworking.c:3115,1
    - Dst: dl_list_for_each_reverse
      Src: /src/hostap/wpa_supplicant/interworking.c:3126,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/interworking.c:3128,1
    - Dst: wpa_bss_get_bssid_latest
      Src: /src/hostap/wpa_supplicant/interworking.c:3134,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/interworking.c:3136,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/interworking.c:3137,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/interworking.c:3143,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wpa_supplicant/interworking.c:3147,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wpa_supplicant/interworking.c:3149,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/interworking.c:3153,1
    - Dst: interworking_parse_rx_anqp_resp
      Src: /src/hostap/wpa_supplicant/interworking.c:3159,1
    - Dst: wpas_notify_bss_anqp_changed
      Src: /src/hostap/wpa_supplicant/interworking.c:3166,1
    - Dst: wpas_notify_anqp_query_done
      Src: /src/hostap/wpa_supplicant/interworking.c:3168,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 52
    argCount: 7
    argNames:
    - ctx
    - dst
    - dialog_token
    - result
    - adv_proto
    - resp
    - status_code
    argTypes:
    - void*
    - u8*
    - u8
    - enum gas_query_result
    - struct wpabuf*
    - struct wpabuf*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3169
      start: 3091
    functionDepth: 3
    functionLinenumber: 3091
    functionLinenumberEnd: 3169
    functionName: anqp_resp_cb
    functionSourceFile: /src/hostap/wpa_supplicant/interworking.c
    functionUses: 1
    functionsReached:
    - dl_list_for_each_reverse
    - wpa_printf
    - wpas_notify_anqp_query_done
    - wpa_bss_get_bssid_latest
    - wpa_msg
    - wpabuf_len
    - wpas_notify_bss_anqp_changed
    - ether_addr_equal
    - WPA_GET_LE16
    - interworking_parse_rx_anqp_resp
    - wpabuf_head
    - MAC2STR
    linkageType: ''
    returnType: void
    signature: "void anqp_resp_cb(void *ctx, const u8 *dst, u8 dialog_token,\n\t\t
      \ enum gas_query_result result,\n\t\t  const struct wpabuf *adv_proto,\n\t\t
      \ const struct wpabuf *resp, u16 status_code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/interworking.c:3175,1
    - Dst: interworking_start_fetch_anqp
      Src: /src/hostap/wpa_supplicant/interworking.c:3177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - wpa_s
    - scan_res
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_scan_results*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3178
      start: 3172
    functionDepth: 1
    functionLinenumber: 3172
    functionLinenumberEnd: 3178
    functionName: interworking_scan_res_handler
    functionSourceFile: /src/hostap/wpa_supplicant/interworking.c
    functionUses: 0
    functionsReached:
    - interworking_start_fetch_anqp
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: "void interworking_scan_res_handler(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \ struct wpa_scan_results *scan_res)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: interworking_stop_fetch_anqp
      Src: /src/hostap/wpa_supplicant/interworking.c:3184,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/interworking.c:3189,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/interworking.c:3194,1
    - Dst: wpa_supplicant_req_scan
      Src: /src/hostap/wpa_supplicant/interworking.c:3198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 3
    argNames:
    - wpa_s
    - auto_select
    - freqs
    argTypes:
    - struct wpa_supplicant*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3201
      start: 3181
    functionDepth: 2
    functionLinenumber: 3181
    functionLinenumberEnd: 3201
    functionName: interworking_select
    functionSourceFile: /src/hostap/wpa_supplicant/interworking.c
    functionUses: 1
    functionsReached:
    - os_free
    - interworking_stop_fetch_anqp
    - wpa_supplicant_req_scan
    - wpa_msg
    linkageType: ''
    returnType: int
    signature: "int interworking_select(struct wpa_supplicant *wpa_s, int auto_select,\n\t\t\tint
      *freqs)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/interworking.c:3212,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/interworking.c:3214,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/interworking.c:3215,1
    - Dst: wpabuf_dup
      Src: /src/hostap/wpa_supplicant/interworking.c:3219,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/interworking.c:3222,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/interworking.c:3224,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/interworking.c:3227,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 7
    argNames:
    - ctx
    - addr
    - dialog_token
    - result
    - adv_proto
    - resp
    - status_code
    argTypes:
    - void*
    - u8*
    - u8
    - enum gas_query_result
    - struct wpabuf*
    - struct wpabuf*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3229
      start: 3204
    functionDepth: 1
    functionLinenumber: 3204
    functionLinenumberEnd: 3229
    functionName: gas_resp_cb
    functionSourceFile: /src/hostap/wpa_supplicant/interworking.c
    functionUses: 0
    functionsReached:
    - wpabuf_dup
    - os_memcpy
    - wpa_msg
    - wpabuf_len
    - wpabuf_free
    - MAC2STR
    linkageType: ''
    returnType: void
    signature: "void gas_resp_cb(void *ctx, const u8 *addr, u8 dialog_token,\n\t\t\tenum
      gas_query_result result,\n\t\t\tconst struct wpabuf *adv_proto,\n\t\t\tconst
      struct wpabuf *resp, u16 status_code)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_bss_get_bssid_latest
      Src: /src/hostap/wpa_supplicant/interworking.c:3245,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/interworking.c:3251,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/interworking.c:3252,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/wpa_supplicant/interworking.c:3253,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/wpa_supplicant/interworking.c:3254,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/interworking.c:3256,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/interworking.c:3258,1
    - Dst: gas_build_initial_req
      Src: /src/hostap/wpa_supplicant/interworking.c:3259,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/interworking.c:3264,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/interworking.c:3265,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/interworking.c:3265,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/interworking.c:3266,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/wpa_supplicant/interworking.c:3267,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/wpa_supplicant/interworking.c:3271,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/interworking.c:3271,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/wpa_supplicant/interworking.c:3272,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/wpa_supplicant/interworking.c:3274,1
    - Dst: gas_query_req
      Src: /src/hostap/wpa_supplicant/interworking.c:3276,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/interworking.c:3279,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/interworking.c:3280,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/interworking.c:3283,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 4
    argNames:
    - wpa_s
    - dst
    - adv_proto
    - query
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - struct wpabuf*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3287
      start: 3232
    functionDepth: 3
    functionLinenumber: 3232
    functionLinenumberEnd: 3287
    functionName: gas_send_request
    functionSourceFile: /src/hostap/wpa_supplicant/interworking.c
    functionUses: 1
    functionsReached:
    - wpa_bss_get_bssid_latest
    - wpa_msg
    - wpabuf_len
    - wpabuf_put_u8
    - wpabuf_free
    - gas_build_initial_req
    - gas_query_req
    - wpabuf_put_le16
    - MAC2STR
    - wpabuf_put_buf
    - wpa_hexdump_buf
    linkageType: ''
    returnType: int
    signature: "int gas_send_request(struct wpa_supplicant *wpa_s, const u8 *dst,\n\t\t
      \    const struct wpabuf *adv_proto,\n\t\t     const struct wpabuf *query)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: wpas_nan_init
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpas_nan_init(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: wpas_nan_deinit
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wpas_nan_deinit(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: wpas_nan_start
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpas_nan_start(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: wpas_nan_set
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpas_nan_set(struct wpa_supplicant *wpa_s, char *cmd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: wpas_nan_update_conf
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpas_nan_update_conf(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: wpas_nan_stop
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpas_nan_stop(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 89
    functionName: wpas_nan_flush
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wpas_nan_flush(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - wpa_s
    - cluster_id
    - new_cluster
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: wpas_nan_cluster_join
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_nan_cluster_join(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      const u8 *cluster_id,\n\t\t\t\t\t bool new_cluster)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - wpa_s
    - freq
    argTypes:
    - struct wpa_supplicant*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    functionName: wpas_nan_next_dw
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wpas_nan_next_dw(struct wpa_supplicant *wpa_s, u32 freq)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - wpa_s
    - data
    argTypes:
    - struct wpa_supplicant*
    - union wpa_event_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: wpas_nan_sched_update_done
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_nan_sched_update_done(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \     const union wpa_event_data *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - wpa_s
    - ulw
    - ulw_len
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: wpas_nan_ulw_update
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_nan_ulw_update(struct wpa_supplicant *wpa_s,\n\t\t\t\t       const
      u8 *ulw, size_t ulw_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - wpa_s
    - mgmt
    - len
    argTypes:
    - struct wpa_supplicant*
    - struct ieee80211_mgmt*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: wpas_nan_rx_naf
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_nan_rx_naf(struct wpa_supplicant *wpa_s,\n\t\t\t\t   const
      struct ieee80211_mgmt *mgmt,\n\t\t\t\t   size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - peer_addr
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 116
    functionName: wpas_nan_is_peer_paired
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool wpas_nan_is_peer_paired(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \ const u8 *peer_addr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - wpa_s
    - data
    argTypes:
    - struct wpa_supplicant*
    - union wpa_event_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: wpas_nan_chan_evacuation
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_nan_chan_evacuation(struct wpa_supplicant *wpa_s,\n\t\t\t
      union wpa_event_data *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 163
    functionName: wpas_nan_de_init
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpas_nan_de_init(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 166
    functionName: wpas_nan_de_deinit
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wpas_nan_de_deinit(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 7
    argNames:
    - wpa_s
    - src
    - a3
    - freq
    - buf
    - len
    - rssi
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - unsigned int
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: wpas_nan_de_rx_sdf
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_nan_de_rx_sdf(struct wpa_supplicant *wpa_s, const u8 *src,\n\t\t\tconst
      u8 *a3, unsigned int freq,\n\t\t\tconst u8 *buf, size_t len, int rssi)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 175
    functionName: wpas_nan_de_flush
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wpas_nan_de_flush(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - wpa_s
    - data
    - data_len
    - acked
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - size_t
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 182
    functionName: wpas_nan_tx_status
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int wpas_nan_tx_status(struct wpa_supplicant *wpa_s,\n\t\t\t\t     const
      u8 *data, size_t data_len,\n\t\t\t\t     u8 acked)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - wpa_s
    - freq
    - duration
    argTypes:
    - struct wpa_supplicant*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 210
    functionName: wpas_nan_usd_remain_on_channel_cb
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_nan_usd_remain_on_channel_cb(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \      unsigned int freq,\n\t\t\t\t       unsigned int duration)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - wpa_s
    - freq
    argTypes:
    - struct wpa_supplicant*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 215
    functionName: wpas_nan_usd_cancel_remain_on_channel_cb
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_nan_usd_cancel_remain_on_channel_cb(struct wpa_supplicant
      *wpa_s,\n\t\t\t\t\t      unsigned int freq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 218
    functionName: wpas_nan_usd_tx_wait_expire
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wpas_nan_usd_tx_wait_expire(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 224
    functionName: wpas_nan_usd_all_freqs
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int * wpas_nan_usd_all_freqs(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - wpa_s
    - publish_id
    - peer_instance_id
    - peer_addr
    argTypes:
    - struct wpa_supplicant*
    - int
    - u8
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 231
    functionName: wpas_nan_usd_unpause_publish
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int wpas_nan_usd_unpause_publish(struct wpa_supplicant *wpa_s, int
      publish_id,\n\t\t\t\t u8 peer_instance_id, const u8 *peer_addr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - publish_id
    argTypes:
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 238
    functionName: wpas_nan_usd_publish_stop_listen
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int wpas_nan_usd_publish_stop_listen(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \    int publish_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - subscribe_id
    argTypes:
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 245
    functionName: wpas_nan_usd_subscribe_stop_listen
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int wpas_nan_usd_subscribe_stop_listen(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \      int subscribe_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 248
    functionName: wpas_nan_usd_state_change_notif
    functionSourceFile: /src/hostap/wpa_supplicant/nan_supplicant.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wpas_nan_usd_state_change_notif(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:33,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - ibss_rsn
    - addr
    argTypes:
    - struct ibss_rsn*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 36
    functionName: ibss_rsn_get_peer
    functionSourceFile: /src/hostap/wpa_supplicant/ibss_rsn.c
    functionUses: 0
    functionsReached:
    - ether_addr_equal
    linkageType: ''
    returnType: struct ibss_rsn_peer
    signature: "struct ibss_rsn_peer * ibss_rsn_get_peer(struct ibss_rsn *ibss_rsn,\n\t\t\t\t\t\tconst
      u8 *addr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:41,1
    - Dst: wpa_auth_sta_deinit
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:42,1
    - Dst: wpa_sm_deinit
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:43,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - peer
    argTypes:
    - struct ibss_rsn_peer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: ibss_rsn_free
    functionSourceFile: /src/hostap/wpa_supplicant/ibss_rsn.c
    functionUses: 0
    functionsReached:
    - eloop_cancel_timeout
    - wpa_sm_deinit
    - os_free
    - wpa_auth_sta_deinit
    linkageType: ''
    returnType: void
    signature: void ibss_rsn_free(struct ibss_rsn_peer *peer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - state
    argTypes:
    - void*
    - enum wpa_states
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: supp_set_state
    functionSourceFile: /src/hostap/wpa_supplicant/ibss_rsn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void supp_set_state(void *ctx, enum wpa_states state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: supp_get_state
    functionSourceFile: /src/hostap/wpa_supplicant/ibss_rsn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum wpa_states
    signature: enum wpa_states supp_get_state(void *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:69,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:71,1
    - Dst: wpa_drv_tx_control_port
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:75,1
    - Dst: l2_packet_send
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - ctx
    - dest
    - proto
    - buf
    - len
    argTypes:
    - void*
    - u8*
    - u16
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 82
    functionName: supp_ether_send
    functionSourceFile: /src/hostap/wpa_supplicant/ibss_rsn.c
    functionUses: 0
    functionsReached:
    - wpa_drv_tx_control_port
    - MAC2STR
    - wpa_printf
    - l2_packet_send
    linkageType: ''
    returnType: int
    signature: "int supp_ether_send(void *ctx, const u8 *dest, u16 proto, const u8
      *buf,\n\t\t\t   size_t len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:90,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:94,1
    - Dst: host_to_be16
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:100,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:103,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 6
    argNames:
    - ctx
    - type
    - data
    - data_len
    - msg_len
    - data_pos
    argTypes:
    - void*
    - u8
    - void*
    - u16
    - size_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 111
    functionName: supp_alloc_eapol
    functionSourceFile: /src/hostap/wpa_supplicant/ibss_rsn.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - host_to_be16
    - os_malloc
    - os_memset
    linkageType: ''
    returnType: u8
    signature: "u8 * supp_alloc_eapol(void *ctx, u8 type, const void *data,\n\t\t\t
      \    u16 data_len, size_t *msg_len, void **data_pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:118,1
    - Dst: wpa_sm_set_ap_rsnxe
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:120,1
    - Dst: wpa_sm_set_ap_rsn_ie
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 127
    functionName: supp_get_beacon_ie
    functionSourceFile: /src/hostap/wpa_supplicant/ibss_rsn.c
    functionUses: 0
    functionsReached:
    - wpa_sm_set_ap_rsnxe
    - wpa_sm_set_ap_rsn_ie
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int supp_get_beacon_ie(void *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - peer
    argTypes:
    - struct ibss_rsn_peer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 143
    functionName: ibss_check_rsn_completed
    functionSourceFile: /src/hostap/wpa_supplicant/ibss_rsn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ibss_check_rsn_completed(struct ibss_rsn_peer *peer)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:154,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:159,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:161,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:162,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:163,1
    - Dst: ibss_check_rsn_completed
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:167,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:172,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:174,1
    - Dst: is_broadcast_ether_addr
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:179,1
    - Dst: wpa_drv_set_key
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:181,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 11
    argNames:
    - ctx
    - link_id
    - alg
    - addr
    - key_idx
    - set_tx
    - seq
    - seq_len
    - key
    - key_len
    - key_flag
    argTypes:
    - void*
    - int
    - enum wpa_alg
    - u8*
    - int
    - int
    - u8*
    - size_t
    - u8*
    - size_t
    - enum key_flag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 184
    functionName: supp_set_key
    functionSourceFile: /src/hostap/wpa_supplicant/ibss_rsn.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump_key
    - wpa_hexdump
    - is_broadcast_ether_addr
    - MAC2STR
    - os_memcmp
    - wpa_drv_set_key
    - ibss_check_rsn_completed
    linkageType: ''
    returnType: int
    signature: "int supp_set_key(void *ctx, int link_id, enum wpa_alg alg,\n\t\t\tconst
      u8 *addr, int key_idx, int set_tx,\n\t\t\tconst u8 *seq, size_t seq_len,\n\t\t\tconst
      u8 *key, size_t key_len, enum key_flag key_flag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_supplicant_get_ssid
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 187
    functionDepth: 3
    functionLinenumber: 187
    functionLinenumberEnd: 191
    functionName: supp_get_network_ctx
    functionSourceFile: /src/hostap/wpa_supplicant/ibss_rsn.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_get_ssid
    linkageType: ''
    returnType: void
    signature: void * supp_get_network_ctx(void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:197,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ctx
    - addr
    - protection_type
    - key_type
    argTypes:
    - void*
    - u8*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 201
    functionName: supp_mlme_setprotection
    functionSourceFile: /src/hostap/wpa_supplicant/ibss_rsn.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int supp_mlme_setprotection(void *ctx, const u8 *addr,\n\t\t\t\t   int
      protection_type, int key_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 207
    functionName: supp_cancel_auth_timeout
    functionSourceFile: /src/hostap/wpa_supplicant/ibss_rsn.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void supp_cancel_auth_timeout(void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - reason_code
    argTypes:
    - void*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: supp_deauthenticate
    functionSourceFile: /src/hostap/wpa_supplicant/ibss_rsn.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void supp_deauthenticate(void *ctx, u16 reason_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 219
    functionName: supp_reconnect
    functionSourceFile: /src/hostap/wpa_supplicant/ibss_rsn.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void supp_reconnect(void *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:225,1
    - Dst: wpa_sm_init
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:242,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:244,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:245,1
    - Dst: wpa_sm_set_own_addr
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:249,1
    - Dst: wpa_sm_set_param
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:250,1
    - Dst: wpa_sm_set_param
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:251,1
    - Dst: wpa_sm_set_param
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:252,1
    - Dst: wpa_sm_set_param
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:253,1
    - Dst: wpa_sm_set_param
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:254,1
    - Dst: wpa_sm_set_pmk
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:255,1
    - Dst: wpa_sm_set_assoc_wpa_ie_default
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:258,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:260,1
    - Dst: wpa_sm_notify_assoc
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:265,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 36
    argCount: 3
    argNames:
    - peer
    - own_addr
    - psk
    argTypes:
    - struct ibss_rsn_peer*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 268
    functionName: ibss_rsn_supp_init
    functionSourceFile: /src/hostap/wpa_supplicant/ibss_rsn.c
    functionUses: 0
    functionsReached:
    - wpa_sm_init
    - wpa_printf
    - wpa_sm_set_param
    - wpa_sm_set_assoc_wpa_ie_default
    - wpa_sm_set_pmk
    - os_zalloc
    - os_free
    - wpa_sm_set_own_addr
    - wpa_sm_notify_assoc
    linkageType: ''
    returnType: int
    signature: "int ibss_rsn_supp_init(struct ibss_rsn_peer *peer, const u8 *own_addr,\n\t\t\t
      \     const u8 *psk)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:275,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:276,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - ctx
    - addr
    - level
    - txt
    argTypes:
    - void*
    - u8*
    - logger_level
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 279
    functionName: auth_logger
    functionSourceFile: /src/hostap/wpa_supplicant/ibss_rsn.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: "void auth_logger(void *ctx, const u8 *addr, logger_level level,\n\t\t\tconst
      char *txt)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:292,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:293,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 6
    argNames:
    - ctx
    - addr
    - p2p_dev_addr
    - prev_psk
    - psk_len
    - vlan_id
    argTypes:
    - void*
    - u8*
    - u8*
    - u8*
    - size_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 297
    functionName: auth_get_psk
    functionSourceFile: /src/hostap/wpa_supplicant/ibss_rsn.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    linkageType: ''
    returnType: u8
    signature: "u8 * auth_get_psk(void *ctx, const u8 *addr,\n\t\t\t       const u8
      *p2p_dev_addr, const u8 *prev_psk,\n\t\t\t       size_t *psk_len, int *vlan_id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:306,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:308,1
    - Dst: wpa_drv_tx_control_port
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:311,1
    - Dst: l2_packet_send
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:315,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - ctx
    - addr
    - data
    - data_len
    - encrypt
    argTypes:
    - void*
    - u8*
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 319
    functionName: auth_send_eapol
    functionSourceFile: /src/hostap/wpa_supplicant/ibss_rsn.c
    functionUses: 0
    functionsReached:
    - wpa_drv_tx_control_port
    - MAC2STR
    - wpa_printf
    - l2_packet_send
    linkageType: ''
    returnType: int
    signature: "int auth_send_eapol(void *ctx, const u8 *addr, const u8 *data,\n\t\t\t
      \  size_t data_len, int encrypt)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:330,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:335,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:338,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:340,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:342,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:345,1
    - Dst: ibss_rsn_get_peer
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:350,1
    - Dst: ibss_check_rsn_completed
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:354,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:362,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:363,1
    - Dst: wpa_drv_set_key
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:368,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 8
    argNames:
    - ctx
    - vlan_id
    - alg
    - addr
    - idx
    - key
    - key_len
    - key_flag
    argTypes:
    - void*
    - int
    - enum wpa_alg
    - u8*
    - int
    - u8*
    - size_t
    - enum key_flag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 322
    functionDepth: 2
    functionLinenumber: 322
    functionLinenumberEnd: 370
    functionName: auth_set_key
    functionSourceFile: /src/hostap/wpa_supplicant/ibss_rsn.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump_key
    - ibss_rsn_get_peer
    - MAC2STR
    - os_memcmp
    - wpa_drv_set_key
    - ibss_check_rsn_completed
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int auth_set_key(void *ctx, int vlan_id, enum wpa_alg alg,\n\t\t\tconst
      u8 *addr, int idx, u8 *key, size_t key_len,\n\t\t\tenum key_flag key_flag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_sta_deauth
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - addr
    - reason
    argTypes:
    - void*
    - u8*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 377
    functionName: ibss_rsn_disconnect
    functionSourceFile: /src/hostap/wpa_supplicant/ibss_rsn.c
    functionUses: 0
    functionsReached:
    - wpa_drv_sta_deauth
    linkageType: ''
    returnType: void
    signature: void ibss_rsn_disconnect(void *ctx, const u8 *addr, u16 reason)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:387,1
    - Dst: cb
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:390,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - cb_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 395
    functionName: auth_for_each_sta
    functionSourceFile: /src/hostap/wpa_supplicant/ibss_rsn.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - cb
    linkageType: ''
    returnType: int
    signature: "int auth_for_each_sta(void *ctx, int (*cb)(struct wpa_state_machine
      *sm,\n\t\t\t\t\t\t  void *ctx),\n\t\t\t     void *cb_ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_sta_set_flags
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:404,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:407,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:408,1
    - Dst: wpa_drv_sta_set_flags
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:410,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:412,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:413,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:417,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:419,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ibss_rsn
    - peer
    - authorized
    argTypes:
    - struct ibss_rsn*
    - struct ibss_rsn_peer*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 421
    functionName: ibss_set_sta_authorized
    functionSourceFile: /src/hostap/wpa_supplicant/ibss_rsn.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    - wpa_drv_sta_set_flags
    linkageType: ''
    returnType: void
    signature: "void ibss_set_sta_authorized(struct ibss_rsn *ibss_rsn,\n\t\t\t\t
      \   struct ibss_rsn_peer *peer, int authorized)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ibss_rsn_get_peer
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:428,1
    - Dst: ibss_set_sta_authorized
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:435,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:439,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - ctx
    - addr
    - var
    - value
    argTypes:
    - void*
    - u8*
    - wpa_eapol_variable
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 424
    functionDepth: 2
    functionLinenumber: 424
    functionLinenumberEnd: 442
    functionName: auth_set_eapol
    functionSourceFile: /src/hostap/wpa_supplicant/ibss_rsn.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - ibss_set_sta_authorized
    - ibss_rsn_get_peer
    linkageType: ''
    returnType: void
    signature: "void auth_set_eapol(void *ctx, const u8 *addr,\n\t\t\t\t       wpa_eapol_variable
      var, int value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:459,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:461,1
    - Dst: wpa_init
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:472,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:474,1
    - Dst: wpa_init_keys
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:478,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 3
    argNames:
    - ibss_rsn
    - own_addr
    - ssid
    argTypes:
    - struct ibss_rsn*
    - u8*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 481
    functionName: ibss_rsn_auth_init_group
    functionSourceFile: /src/hostap/wpa_supplicant/ibss_rsn.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_init
    - wpa_init_keys
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int ibss_rsn_auth_init_group(struct ibss_rsn *ibss_rsn,\n\t\t\t\t
      \   const u8 *own_addr, struct wpa_ssid *ssid)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_auth_sta_init
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:487,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:489,1
    - Dst: wpa_validate_wpa_ie
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:494,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:501,1
    - Dst: wpa_auth_sm_event
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:505,1
    - Dst: wpa_auth_sta_associated
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:508,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - ibss_rsn
    - peer
    argTypes:
    - struct ibss_rsn*
    - struct ibss_rsn_peer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 512
    functionName: ibss_rsn_auth_init
    functionSourceFile: /src/hostap/wpa_supplicant/ibss_rsn.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_auth_sta_associated
    - wpa_auth_sm_event
    - wpa_auth_sta_init
    - wpa_validate_wpa_ie
    linkageType: ''
    returnType: int
    signature: "int ibss_rsn_auth_init(struct ibss_rsn *ibss_rsn,\n\t\t\t      struct
      ibss_rsn_peer *peer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:521,1
    - Dst: IEEE80211_FC
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:523,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:525,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:526,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:527,1
    - Dst: host_to_le16
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:529,1
    - Dst: host_to_le16
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:530,1
    - Dst: host_to_le16
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:531,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:533,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:534,1
    - Dst: wpa_drv_send_mlme
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - ibss_rsn
    - da
    - seq
    argTypes:
    - struct ibss_rsn*
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 515
    functionDepth: 1
    functionLinenumber: 515
    functionLinenumberEnd: 537
    functionName: ibss_rsn_send_auth
    functionSourceFile: /src/hostap/wpa_supplicant/ibss_rsn.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_printf
    - MAC2STR
    - IEEE80211_FC
    - wpa_drv_send_mlme
    - host_to_le16
    - os_memset
    linkageType: ''
    returnType: int
    signature: int ibss_rsn_send_auth(struct ibss_rsn *ibss_rsn, const u8 *da, int
      seq)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - peer
    argTypes:
    - struct ibss_rsn_peer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 544
    functionName: ibss_rsn_is_auth_started
    functionSourceFile: /src/hostap/wpa_supplicant/ibss_rsn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ibss_rsn_is_auth_started(struct ibss_rsn_peer * peer)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ibss_rsn_get_peer
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:554,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:556,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:557,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:561,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:562,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:564,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:566,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:571,1
    - Dst: ibss_rsn_supp_init
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:574,1
    - Dst: ibss_rsn_free
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:576,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - ibss_rsn
    - addr
    argTypes:
    - struct ibss_rsn*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 547
    functionDepth: 2
    functionLinenumber: 547
    functionLinenumberEnd: 584
    functionName: ibss_rsn_peer_init
    functionSourceFile: /src/hostap/wpa_supplicant/ibss_rsn.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - ibss_rsn_get_peer
    - ibss_rsn_supp_init
    - MAC2STR
    - os_zalloc
    - ibss_rsn_free
    linkageType: ''
    returnType: struct ibss_rsn_peer
    signature: 'struct ibss_rsn_peer *

      ibss_rsn_peer_init(struct ibss_rsn *ibss_rsn, const u8 *addr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:595,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:597,1
    - Dst: ibss_rsn_auth_init
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 587
    functionDepth: 2
    functionLinenumber: 587
    functionLinenumberEnd: 601
    functionName: ibss_rsn_auth_timeout
    functionSourceFile: /src/hostap/wpa_supplicant/ibss_rsn.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    - ibss_rsn_auth_init
    linkageType: ''
    returnType: void
    signature: void ibss_rsn_auth_timeout(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ibss_rsn_get_peer
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:613,1
    - Dst: ibss_rsn_peer_init
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:617,1
    - Dst: ibss_rsn_send_auth
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:622,1
    - Dst: ibss_rsn_auth_init
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:629,1
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:631,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:632,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - ibss_rsn
    - addr
    argTypes:
    - struct ibss_rsn*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 604
    functionDepth: 3
    functionLinenumber: 604
    functionLinenumberEnd: 636
    functionName: ibss_rsn_start
    functionSourceFile: /src/hostap/wpa_supplicant/ibss_rsn.c
    functionUses: 1
    functionsReached:
    - os_get_reltime
    - ibss_rsn_send_auth
    - ibss_rsn_get_peer
    - ibss_rsn_auth_init
    - eloop_register_timeout
    - ibss_rsn_peer_init
    linkageType: ''
    returnType: int
    signature: int ibss_rsn_start(struct ibss_rsn *ibss_rsn, const u8 *addr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ibss_rsn_is_auth_started
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:647,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:651,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:652,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:656,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:657,1
    - Dst: ibss_rsn_auth_init
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:659,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ibss_rsn
    - peer
    - reason
    argTypes:
    - struct ibss_rsn*
    - struct ibss_rsn_peer*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 639
    functionDepth: 2
    functionLinenumber: 639
    functionLinenumberEnd: 660
    functionName: ibss_rsn_peer_authenticated
    functionSourceFile: /src/hostap/wpa_supplicant/ibss_rsn.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    - ibss_rsn_auth_init
    - ibss_rsn_is_auth_started
    linkageType: ''
    returnType: int
    signature: "int ibss_rsn_peer_authenticated(struct ibss_rsn *ibss_rsn,\n\t\t\t\t
      \      struct ibss_rsn_peer *peer, int reason)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:672,1
    - Dst: ibss_rsn_free
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:677,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:682,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:683,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:687,1
    - Dst: ibss_rsn_free
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:692,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:693,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - ibss_rsn
    - peermac
    argTypes:
    - struct ibss_rsn*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 663
    functionDepth: 2
    functionLinenumber: 663
    functionLinenumberEnd: 700
    functionName: ibss_rsn_stop
    functionSourceFile: /src/hostap/wpa_supplicant/ibss_rsn.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    - ether_addr_equal
    - ibss_rsn_free
    linkageType: ''
    returnType: void
    signature: void ibss_rsn_stop(struct ibss_rsn *ibss_rsn, const u8 *peermac)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:708,1
    - Dst: ibss_rsn_auth_init_group
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:713,1
    - Dst: ibss_rsn_deinit
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:714,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - wpa_s
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 703
    functionDepth: 2
    functionLinenumber: 703
    functionLinenumberEnd: 719
    functionName: ibss_rsn_init
    functionSourceFile: /src/hostap/wpa_supplicant/ibss_rsn.c
    functionUses: 0
    functionsReached:
    - os_zalloc
    - ibss_rsn_deinit
    - ibss_rsn_auth_init_group
    linkageType: ''
    returnType: struct ibss_rsn
    signature: "struct ibss_rsn * ibss_rsn_init(struct wpa_supplicant *wpa_s,\n\t\t\t\tstruct
      wpa_ssid *ssid)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ibss_rsn_free
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:733,1
    - Dst: wpa_deinit
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:737,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:738,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ibss_rsn
    argTypes:
    - struct ibss_rsn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 722
    functionDepth: 2
    functionLinenumber: 722
    functionLinenumberEnd: 740
    functionName: ibss_rsn_deinit
    functionSourceFile: /src/hostap/wpa_supplicant/ibss_rsn.c
    functionUses: 3
    functionsReached:
    - os_free
    - wpa_deinit
    - ibss_rsn_free
    linkageType: ''
    returnType: void
    signature: void ibss_rsn_deinit(struct ibss_rsn *ibss_rsn)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: be_to_host16
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:757,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:763,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:768,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:775,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:780,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 743
    functionDepth: 1
    functionLinenumber: 743
    functionLinenumberEnd: 783
    functionName: ibss_rsn_eapol_dst_supp
    functionSourceFile: /src/hostap/wpa_supplicant/ibss_rsn.c
    functionUses: 0
    functionsReached:
    - be_to_host16
    - wpa_printf
    - WPA_GET_BE16
    linkageType: ''
    returnType: int
    signature: int ibss_rsn_eapol_dst_supp(const u8 *buf, size_t len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ibss_rsn_eapol_dst_supp
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:794,1
    - Dst: os_memdup
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:798,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:803,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:804,1
    - Dst: wpa_sm_rx_eapol
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:805,1
    - Dst: ibss_rsn_is_auth_started
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:807,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:808,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:810,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:811,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:815,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:816,1
    - Dst: wpa_receive
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:817,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:819,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 5
    argNames:
    - ibss_rsn
    - peer
    - buf
    - len
    - encrypted
    argTypes:
    - struct ibss_rsn*
    - struct ibss_rsn_peer*
    - u8*
    - size_t
    - enum frame_encryption
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 786
    functionDepth: 2
    functionLinenumber: 786
    functionLinenumberEnd: 822
    functionName: ibss_rsn_process_rx_eapol
    functionSourceFile: /src/hostap/wpa_supplicant/ibss_rsn.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_receive
    - os_memdup
    - ibss_rsn_is_auth_started
    - MAC2STR
    - os_free
    - ibss_rsn_eapol_dst_supp
    - wpa_sm_rx_eapol
    linkageType: ''
    returnType: int
    signature: "int ibss_rsn_process_rx_eapol(struct ibss_rsn *ibss_rsn,\n\t\t\t\t
      \    struct ibss_rsn_peer *peer,\n\t\t\t\t     const u8 *buf, size_t len,\n\t\t\t\t
      \    enum frame_encryption encrypted)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ibss_rsn_get_peer
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:834,1
    - Dst: ibss_rsn_process_rx_eapol
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:836,1
    - Dst: ibss_rsn_eapol_dst_supp
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:839,1
    - Dst: ibss_rsn_peer_init
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:844,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:849,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:850,1
    - Dst: ibss_rsn_peer_authenticated
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:851,1
    - Dst: ibss_rsn_process_rx_eapol
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:854,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 5
    argNames:
    - ibss_rsn
    - src_addr
    - buf
    - len
    - encrypted
    argTypes:
    - struct ibss_rsn*
    - u8*
    - u8*
    - size_t
    - enum frame_encryption
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 825
    functionDepth: 3
    functionLinenumber: 825
    functionLinenumberEnd: 859
    functionName: ibss_rsn_rx_eapol
    functionSourceFile: /src/hostap/wpa_supplicant/ibss_rsn.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - ibss_rsn_process_rx_eapol
    - ibss_rsn_get_peer
    - MAC2STR
    - ibss_rsn_peer_init
    - ibss_rsn_peer_authenticated
    - ibss_rsn_eapol_dst_supp
    linkageType: ''
    returnType: int
    signature: "int ibss_rsn_rx_eapol(struct ibss_rsn *ibss_rsn, const u8 *src_addr,\n\t\t
      \     const u8 *buf, size_t len,\n\t\t      enum frame_encryption encrypted)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:865,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ibss_rsn
    - psk
    argTypes:
    - struct ibss_rsn*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 861
    functionDepth: 0
    functionLinenumber: 861
    functionLinenumberEnd: 866
    functionName: ibss_rsn_set_psk
    functionSourceFile: /src/hostap/wpa_supplicant/ibss_rsn.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    linkageType: ''
    returnType: void
    signature: void ibss_rsn_set_psk(struct ibss_rsn *ibss_rsn, const u8 *psk)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:873,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:874,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:882,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:883,1
    - Dst: wpa_drv_set_key
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:884,1
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:892,1
    - Dst: os_reltime_sub
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:893,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:895,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:906,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:907,1
    - Dst: ibss_rsn_stop
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:909,1
    - Dst: ibss_rsn_peer_init
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:914,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:918,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:919,1
    - Dst: ibss_rsn_send_auth
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:924,1
    - Dst: ibss_rsn_peer_authenticated
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:926,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 3
    argNames:
    - ibss_rsn
    - peer
    - addr
    argTypes:
    - struct ibss_rsn*
    - struct ibss_rsn_peer*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 869
    functionDepth: 3
    functionLinenumber: 869
    functionLinenumberEnd: 927
    functionName: ibss_rsn_handle_auth_1_of_2
    functionSourceFile: /src/hostap/wpa_supplicant/ibss_rsn.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_get_reltime
    - ibss_rsn_send_auth
    - ibss_rsn_stop
    - MAC2STR
    - os_reltime_sub
    - wpa_drv_set_key
    - ibss_rsn_peer_init
    - ibss_rsn_peer_authenticated
    linkageType: ''
    returnType: void
    signature: "void ibss_rsn_handle_auth_1_of_2(struct ibss_rsn *ibss_rsn,\n\t\t\t\t\tstruct
      ibss_rsn_peer *peer,\n\t\t\t\t\tconst u8* addr)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: le_to_host16
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:943,1
    - Dst: le_to_host16
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:944,1
    - Dst: ibss_rsn_get_peer
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:947,1
    - Dst: le_to_host16
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:949,1
    - Dst: ibss_rsn_handle_auth_1_of_2
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:951,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:954,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:955,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:957,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:958,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:963,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:964,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:965,1
    - Dst: ibss_rsn_peer_authenticated
      Src: /src/hostap/wpa_supplicant/ibss_rsn.c:966,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - ibss_rsn
    - auth_frame
    - len
    argTypes:
    - struct ibss_rsn*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 930
    functionDepth: 4
    functionLinenumber: 930
    functionLinenumberEnd: 970
    functionName: ibss_rsn_handle_auth
    functionSourceFile: /src/hostap/wpa_supplicant/ibss_rsn.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eloop_cancel_timeout
    - ibss_rsn_get_peer
    - MAC2STR
    - ibss_rsn_handle_auth_1_of_2
    - le_to_host16
    - ibss_rsn_peer_authenticated
    linkageType: ''
    returnType: void
    signature: "void ibss_rsn_handle_auth(struct ibss_rsn *ibss_rsn, const u8 *auth_frame,\n\t\t\t
      \ size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _Function
    - ','
    - _Method
    - ','
    - _Access
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: _NDISUIO_CTL_CODE
    functionSourceFile: /src/hostap/wpa_supplicant/win_if_list.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _NDISUIO_CTL_CODE(_Function, _Method, _Access)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CreateFile
      Src: /src/hostap/wpa_supplicant/win_if_list.c:53,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/win_if_list.c:53,1
    - Dst: DeviceIoControl
      Src: /src/hostap/wpa_supplicant/win_if_list.c:61,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/win_if_list.c:63,1
    - Dst: GetLastError
      Src: /src/hostap/wpa_supplicant/win_if_list.c:64,1
    - Dst: CloseHandle
      Src: /src/hostap/wpa_supplicant/win_if_list.c:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 71
    functionName: ndisuio_open
    functionSourceFile: /src/hostap/wpa_supplicant/win_if_list.c
    functionUses: 0
    functionsReached:
    - GetLastError
    - TEXT
    - printf
    - DeviceIoControl
    - CloseHandle
    - CreateFile
    linkageType: ''
    returnType: HANDLE
    signature: HANDLE ndisuio_open(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/hostap/wpa_supplicant/win_if_list.c:84,1
    - Dst: memset
      Src: /src/hostap/wpa_supplicant/win_if_list.c:89,1
    - Dst: DeviceIoControl
      Src: /src/hostap/wpa_supplicant/win_if_list.c:91,1
    - Dst: GetLastError
      Src: /src/hostap/wpa_supplicant/win_if_list.c:94,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/win_if_list.c:97,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/win_if_list.c:118,1
    - Dst: free
      Src: /src/hostap/wpa_supplicant/win_if_list.c:121,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 1
    argNames:
    - ndisuio
    argTypes:
    - HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 122
    functionName: ndisuio_query_bindings
    functionSourceFile: /src/hostap/wpa_supplicant/win_if_list.c
    functionUses: 0
    functionsReached:
    - malloc
    - GetLastError
    - printf
    - DeviceIoControl
    - memset
    - free
    linkageType: ''
    returnType: void
    signature: void ndisuio_query_bindings(HANDLE ndisuio)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndisuio_open
      Src: /src/hostap/wpa_supplicant/win_if_list.c:127,1
    - Dst: ndisuio_query_bindings
      Src: /src/hostap/wpa_supplicant/win_if_list.c:131,1
    - Dst: CloseHandle
      Src: /src/hostap/wpa_supplicant/win_if_list.c:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 133
    functionName: ndisuio_enum_bindings
    functionSourceFile: /src/hostap/wpa_supplicant/win_if_list.c
    functionUses: 0
    functionsReached:
    - ndisuio_open
    - CloseHandle
    - ndisuio_query_bindings
    linkageType: ''
    returnType: void
    signature: void ndisuio_enum_bindings(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/win_if_list.c:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dev
    argTypes:
    - pcap_if_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: show_dev
    functionSourceFile: /src/hostap/wpa_supplicant/win_if_list.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void show_dev(pcap_if_t *dev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcap_findalldevs
      Src: /src/hostap/wpa_supplicant/win_if_list.c:149,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/win_if_list.c:150,1
    - Dst: show_dev
      Src: /src/hostap/wpa_supplicant/win_if_list.c:155,1
    - Dst: pcap_freealldevs
      Src: /src/hostap/wpa_supplicant/win_if_list.c:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 159
    functionName: pcap_enum_devs
    functionSourceFile: /src/hostap/wpa_supplicant/win_if_list.c
    functionUses: 0
    functionsReached:
    - pcap_findalldevs
    - fprintf
    - show_dev
    - pcap_freealldevs
    linkageType: ''
    returnType: void
    signature: void pcap_enum_devs(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndisuio_enum_bindings
      Src: /src/hostap/wpa_supplicant/win_if_list.c:167,1
    - Dst: pcap_enum_devs
      Src: /src/hostap/wpa_supplicant/win_if_list.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 173
    functionName: main
    functionSourceFile: /src/hostap/wpa_supplicant/win_if_list.c
    functionUses: 1
    functionsReached:
    - ndisuio_enum_bindings
    - pcap_enum_devs
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_supplicant_deauthenticate
      Src: /src/hostap/wpa_supplicant/preauth_test.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - reason_code
    argTypes:
    - void*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 4
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: _wpa_supplicant_deauthenticate
    functionSourceFile: /src/hostap/wpa_supplicant/preauth_test.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_deauthenticate
    linkageType: ''
    returnType: void
    signature: void _wpa_supplicant_deauthenticate(void *wpa_s, u16 reason_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_supplicant_reconnect
      Src: /src/hostap/wpa_supplicant/preauth_test.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 5
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: _wpa_supplicant_reconnect
    functionSourceFile: /src/hostap/wpa_supplicant/preauth_test.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_reconnect
    linkageType: ''
    returnType: void
    signature: void _wpa_supplicant_reconnect(void *wpa_s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/preauth_test.c:58,1
    - Dst: htons
      Src: /src/hostap/wpa_supplicant/preauth_test.c:64,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/preauth_test.c:67,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/preauth_test.c:69,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 6
    argNames:
    - wpa_s
    - type
    - data
    - data_len
    - msg_len
    - data_pos
    argTypes:
    - struct wpa_supplicant*
    - u8
    - void*
    - u16
    - size_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 75
    functionName: wpa_alloc_eapol
    functionSourceFile: /src/hostap/wpa_supplicant/preauth_test.c
    functionUses: 2
    functionsReached:
    - os_memcpy
    - htons
    - os_malloc
    - os_memset
    linkageType: ''
    returnType: u8
    signature: "u8 * wpa_alloc_eapol(const struct wpa_supplicant *wpa_s, u8 type,\n\t\t\t
      \   const void *data, u16 data_len,\n\t\t\t    size_t *msg_len, void **data_pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_alloc_eapol
      Src: /src/hostap/wpa_supplicant/preauth_test.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - wpa_s
    - type
    - data
    - data_len
    - msg_len
    - data_pos
    argTypes:
    - void*
    - u8
    - void*
    - u16
    - size_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: _wpa_alloc_eapol
    functionSourceFile: /src/hostap/wpa_supplicant/preauth_test.c
    functionUses: 0
    functionsReached:
    - wpa_alloc_eapol
    linkageType: ''
    returnType: u8
    signature: "u8 * _wpa_alloc_eapol(void *wpa_s, u8 type,\n\t\t\t     const void
      *data, u16 data_len,\n\t\t\t     size_t *msg_len, void **data_pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - state
    argTypes:
    - void*
    - enum wpa_states
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: _wpa_supplicant_set_state
    functionSourceFile: /src/hostap/wpa_supplicant/preauth_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _wpa_supplicant_set_state(void *ctx, enum wpa_states state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: _wpa_supplicant_get_state
    functionSourceFile: /src/hostap/wpa_supplicant/preauth_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum wpa_states
    signature: enum wpa_states _wpa_supplicant_get_state(void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/preauth_test.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - wpa_s
    - dest
    - proto
    - buf
    - len
    argTypes:
    - void*
    - u8*
    - u16
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 105
    functionName: wpa_ether_send
    functionSourceFile: /src/hostap/wpa_supplicant/preauth_test.c
    functionUses: 3
    functionsReached:
    - printf
    linkageType: ''
    returnType: int
    signature: "int wpa_ether_send(void *wpa_s, const u8 *dest, u16 proto,\n\t\t\t
      \ const u8 *buf, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_supplicant_get_ssid
      Src: /src/hostap/wpa_supplicant/preauth_test.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 3
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: wpa_supplicant_get_network_ctx
    functionSourceFile: /src/hostap/wpa_supplicant/preauth_test.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_get_ssid
    linkageType: ''
    returnType: void
    signature: void * wpa_supplicant_get_network_ctx(void *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_supplicant_cancel_auth_timeout
      Src: /src/hostap/wpa_supplicant/preauth_test.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 3
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: _wpa_supplicant_cancel_auth_timeout
    functionSourceFile: /src/hostap/wpa_supplicant/preauth_test.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_cancel_auth_timeout
    linkageType: ''
    returnType: void
    signature: void _wpa_supplicant_cancel_auth_timeout(void *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/preauth_test.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: wpa_supplicant_get_beacon_ie
    functionSourceFile: /src/hostap/wpa_supplicant/preauth_test.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: int
    signature: int wpa_supplicant_get_beacon_ie(void *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/preauth_test.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - wpa_s
    - bssid
    argTypes:
    - void*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 131
    functionName: wpa_supplicant_get_bssid
    functionSourceFile: /src/hostap/wpa_supplicant/preauth_test.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: int
    signature: int wpa_supplicant_get_bssid(void *wpa_s, u8 *bssid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/preauth_test.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 11
    argNames:
    - wpa_s
    - link_id
    - alg
    - addr
    - key_idx
    - set_tx
    - seq
    - seq_len
    - key
    - key_len
    - key_flag
    argTypes:
    - void*
    - int
    - enum wpa_alg
    - u8*
    - int
    - int
    - u8*
    - size_t
    - u8*
    - size_t
    - enum key_flag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 142
    functionName: wpa_supplicant_set_key
    functionSourceFile: /src/hostap/wpa_supplicant/preauth_test.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_set_key(void *wpa_s, int link_id, enum wpa_alg
      alg,\n\t\t\t\t  const u8 *addr, int key_idx, int set_tx,\n\t\t\t\t  const u8
      *seq, size_t seq_len,\n\t\t\t\t  const u8 *key, size_t key_len,\n\t\t\t\t  enum
      key_flag key_flag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/preauth_test.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - wpa_s
    - addr
    - protection_type
    - key_type
    argTypes:
    - void*
    - u8*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 151
    functionName: wpa_supplicant_mlme_setprotection
    functionSourceFile: /src/hostap/wpa_supplicant/preauth_test.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_mlme_setprotection(void *wpa_s, const u8 *addr,\n\t\t\t\t\t
      \    int protection_type,\n\t\t\t\t\t     int key_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/preauth_test.c:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 10
    argNames:
    - wpa_s
    - network_ctx
    - bssid
    - pmkid
    - fils_cache_id
    - pmk
    - pmk_len
    - pmk_lifetime
    - pmk_reauth_threshold
    - akmp
    argTypes:
    - void*
    - void*
    - u8*
    - u8*
    - u8*
    - u8*
    - size_t
    - u32
    - u8
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 163
    functionName: wpa_supplicant_add_pmkid
    functionSourceFile: /src/hostap/wpa_supplicant/preauth_test.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_add_pmkid(void *wpa_s, void *network_ctx,\n\t\t\t\t
      \   const u8 *bssid, const u8 *pmkid,\n\t\t\t\t    const u8 *fils_cache_id,\n\t\t\t\t
      \   const u8 *pmk, size_t pmk_len,\n\t\t\t\t    u32 pmk_lifetime, u8 pmk_reauth_threshold,\n\t\t\t\t
      \   int akmp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/preauth_test.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - wpa_s
    - network_ctx
    - bssid
    - pmkid
    - fils_cache_id
    argTypes:
    - void*
    - void*
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 172
    functionName: wpa_supplicant_remove_pmkid
    functionSourceFile: /src/hostap/wpa_supplicant/preauth_test.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_remove_pmkid(void *wpa_s, void *network_ctx,\n\t\t\t\t
      \      const u8 *bssid, const u8 *pmkid,\n\t\t\t\t       const u8 *fils_cache_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_set_blob
      Src: /src/hostap/wpa_supplicant/preauth_test.c:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - blob
    argTypes:
    - void*
    - struct wpa_config_blob*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 180
    functionName: wpa_supplicant_set_config_blob
    functionSourceFile: /src/hostap/wpa_supplicant/preauth_test.c
    functionUses: 0
    functionsReached:
    - wpa_config_set_blob
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_set_config_blob(void *ctx,\n\t\t\t\t\t   struct
      wpa_config_blob *blob)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_get_blob
      Src: /src/hostap/wpa_supplicant/preauth_test.c:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - name
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 188
    functionName: wpa_supplicant_get_config_blob
    functionSourceFile: /src/hostap/wpa_supplicant/preauth_test.c
    functionUses: 0
    functionsReached:
    - wpa_config_get_blob
    linkageType: ''
    returnType: struct wpa_config_blob
    signature: 'struct wpa_config_blob *

      wpa_supplicant_get_config_blob(void *ctx, const char *name)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rsn_preauth_deinit
      Src: /src/hostap/wpa_supplicant/preauth_test.c:193,1
    - Dst: pmksa_candidate_free
      Src: /src/hostap/wpa_supplicant/preauth_test.c:194,1
    - Dst: wpa_sm_deinit
      Src: /src/hostap/wpa_supplicant/preauth_test.c:195,1
    - Dst: scard_deinit
      Src: /src/hostap/wpa_supplicant/preauth_test.c:196,1
    - Dst: wpa_supplicant_ctrl_iface_deinit
      Src: /src/hostap/wpa_supplicant/preauth_test.c:197,1
    - Dst: wpa_config_free
      Src: /src/hostap/wpa_supplicant/preauth_test.c:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 200
    functionName: test_eapol_clean
    functionSourceFile: /src/hostap/wpa_supplicant/preauth_test.c
    functionUses: 1
    functionsReached:
    - wpa_config_free
    - pmksa_candidate_free
    - wpa_supplicant_ctrl_iface_deinit
    - rsn_preauth_deinit
    - wpa_sm_deinit
    - scard_deinit
    linkageType: ''
    returnType: void
    signature: void test_eapol_clean(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/preauth_test.c:206,1
    - Dst: eloop_terminate
      Src: /src/hostap/wpa_supplicant/preauth_test.c:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 209
    functionName: eapol_test_timeout
    functionSourceFile: /src/hostap/wpa_supplicant/preauth_test.c
    functionUses: 0
    functionsReached:
    - eloop_terminate
    - printf
    linkageType: ''
    returnType: void
    signature: void eapol_test_timeout(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rsn_preauth_in_progress
      Src: /src/hostap/wpa_supplicant/preauth_test.c:215,1
    - Dst: eloop_terminate
      Src: /src/hostap/wpa_supplicant/preauth_test.c:216,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/preauth_test.c:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 221
    functionName: eapol_test_poll
    functionSourceFile: /src/hostap/wpa_supplicant/preauth_test.c
    functionUses: 0
    functionsReached:
    - eloop_terminate
    - rsn_preauth_in_progress
    - eloop_register_timeout
    linkageType: ''
    returnType: void
    signature: void eapol_test_poll(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/preauth_test.c:232,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/preauth_test.c:235,1
    - Dst: assert
      Src: /src/hostap/wpa_supplicant/preauth_test.c:236,1
    - Dst: wpa_sm_init
      Src: /src/hostap/wpa_supplicant/preauth_test.c:257,1
    - Dst: assert
      Src: /src/hostap/wpa_supplicant/preauth_test.c:258,1
    - Dst: wpa_sm_set_param
      Src: /src/hostap/wpa_supplicant/preauth_test.c:259,1
    - Dst: os_strlcpy
      Src: /src/hostap/wpa_supplicant/preauth_test.c:261,1
    - Dst: wpa_sm_set_ifname
      Src: /src/hostap/wpa_supplicant/preauth_test.c:262,1
    - Dst: l2_packet_init
      Src: /src/hostap/wpa_supplicant/preauth_test.c:264,1
    - Dst: assert
      Src: /src/hostap/wpa_supplicant/preauth_test.c:266,1
    - Dst: l2_packet_get_own_addr
      Src: /src/hostap/wpa_supplicant/preauth_test.c:267,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/preauth_test.c:268,1
    - Dst: exit
      Src: /src/hostap/wpa_supplicant/preauth_test.c:269,1
    - Dst: l2_packet_deinit
      Src: /src/hostap/wpa_supplicant/preauth_test.c:271,1
    - Dst: wpa_sm_set_own_addr
      Src: /src/hostap/wpa_supplicant/preauth_test.c:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 36
    argCount: 2
    argNames:
    - wpa_s
    - ifname
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts:
    - condition: (wpa_s->wpa != NULL)
      pos:
        line_end: 257
        line_start: 257
        source_file: /src/hostap/wpa_supplicant/preauth_test.c
    - condition: (ctx != NULL)
      pos:
        line_end: 235
        line_start: 235
        source_file: /src/hostap/wpa_supplicant/preauth_test.c
    - condition: (l2 != NULL)
      pos:
        line_end: 265
        line_start: 265
        source_file: /src/hostap/wpa_supplicant/preauth_test.c
    constantsTouched: []
    func_position:
      end: 273
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 273
    functionName: wpa_init_conf
    functionSourceFile: /src/hostap/wpa_supplicant/preauth_test.c
    functionUses: 1
    functionsReached:
    - wpa_sm_init
    - wpa_printf
    - wpa_sm_set_param
    - l2_packet_deinit
    - os_memset
    - os_strlcpy
    - exit
    - os_zalloc
    - wpa_sm_set_own_addr
    - wpa_sm_set_ifname
    - l2_packet_init
    - l2_packet_get_own_addr
    - assert
    linkageType: ''
    returnType: void
    signature: void wpa_init_conf(struct wpa_supplicant *wpa_s, const char *ifname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/preauth_test.c:279,1
    - Dst: eloop_terminate
      Src: /src/hostap/wpa_supplicant/preauth_test.c:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sig
    - signal_ctx
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 281
    functionName: eapol_test_terminate
    functionSourceFile: /src/hostap/wpa_supplicant/preauth_test.c
    functionUses: 0
    functionsReached:
    - eloop_terminate
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: void eapol_test_terminate(int sig, void *signal_ctx)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: os_program_init
      Src: /src/hostap/wpa_supplicant/preauth_test.c:291,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/preauth_test.c:294,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/preauth_test.c:300,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/preauth_test.c:305,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/preauth_test.c:306,1
    - Dst: eap_register_methods
      Src: /src/hostap/wpa_supplicant/preauth_test.c:310,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/preauth_test.c:311,1
    - Dst: eloop_init
      Src: /src/hostap/wpa_supplicant/preauth_test.c:315,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/preauth_test.c:316,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/preauth_test.c:320,1
    - Dst: wpa_config_read
      Src: /src/hostap/wpa_supplicant/preauth_test.c:321,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/preauth_test.c:323,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/preauth_test.c:327,1
    - Dst: wpa_init_conf
      Src: /src/hostap/wpa_supplicant/preauth_test.c:331,1
    - Dst: wpa_supplicant_ctrl_iface_init
      Src: /src/hostap/wpa_supplicant/preauth_test.c:332,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/preauth_test.c:334,1
    - Dst: wpa_supplicant_scard_init
      Src: /src/hostap/wpa_supplicant/preauth_test.c:344,1
    - Dst: rsn_preauth_init
      Src: /src/hostap/wpa_supplicant/preauth_test.c:347,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/preauth_test.c:350,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/preauth_test.c:351,1
    - Dst: eloop_register_signal_terminate
      Src: /src/hostap/wpa_supplicant/preauth_test.c:352,1
    - Dst: eloop_register_signal_reconfig
      Src: /src/hostap/wpa_supplicant/preauth_test.c:353,1
    - Dst: eloop_run
      Src: /src/hostap/wpa_supplicant/preauth_test.c:354,1
    - Dst: pmksa_cache_set_current
      Src: /src/hostap/wpa_supplicant/preauth_test.c:359,1
    - Dst: test_eapol_clean
      Src: /src/hostap/wpa_supplicant/preauth_test.c:363,1
    - Dst: eap_peer_unregister_methods
      Src: /src/hostap/wpa_supplicant/preauth_test.c:365,1
    - Dst: eloop_destroy
      Src: /src/hostap/wpa_supplicant/preauth_test.c:367,1
    - Dst: crypto_unload
      Src: /src/hostap/wpa_supplicant/preauth_test.c:369,1
    - Dst: os_program_deinit
      Src: /src/hostap/wpa_supplicant/preauth_test.c:370,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 57
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 373
    functionName: main
    functionSourceFile: /src/hostap/wpa_supplicant/preauth_test.c
    functionUses: 1
    functionsReached:
    - os_program_init
    - pmksa_cache_set_current
    - os_program_deinit
    - eloop_run
    - wpa_printf
    - hwaddr_aton
    - rsn_preauth_init
    - wpa_supplicant_ctrl_iface_init
    - eloop_destroy
    - eap_peer_unregister_methods
    - test_eapol_clean
    - printf
    - wpa_config_read
    - wpa_supplicant_scard_init
    - os_memset
    - eloop_register_signal_terminate
    - wpa_init_conf
    - eloop_init
    - eap_register_methods
    - eloop_register_timeout
    - eloop_register_signal_reconfig
    - crypto_unload
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - global
    - wpa_s
    - capa
    argTypes:
    - struct wpa_global*
    - struct wpa_supplicant*
    - struct wpa_driver_capa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: wpas_pr_init
    functionSourceFile: /src/hostap/wpa_supplicant/pr_supplicant.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int wpas_pr_init(struct wpa_global *global,\n\t\t\t       struct wpa_supplicant
      *wpa_s,\n\t\t\t       const struct wpa_driver_capa *capa)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: wpas_pr_flush
    functionSourceFile: /src/hostap/wpa_supplicant/pr_supplicant.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wpas_pr_flush(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: wpas_pr_deinit
    functionSourceFile: /src/hostap/wpa_supplicant/pr_supplicant.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wpas_pr_deinit(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: wpas_pr_pd_stop
    functionSourceFile: /src/hostap/wpa_supplicant/pr_supplicant.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wpas_pr_pd_stop(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: wpas_pr_update_dev_addr
    functionSourceFile: /src/hostap/wpa_supplicant/pr_supplicant.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wpas_pr_update_dev_addr(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: wpas_pr_clear_dev_iks
    functionSourceFile: /src/hostap/wpa_supplicant/pr_supplicant.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wpas_pr_clear_dev_iks(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 6
    argNames:
    - wpa_s
    - dik
    - password
    - pmk
    - pmk_len
    - own
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - char*
    - u8*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: wpas_pr_set_dev_ik
    functionSourceFile: /src/hostap/wpa_supplicant/pr_supplicant.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_pr_set_dev_ik(struct wpa_supplicant *wpa_s,\n\t\t\t\t      const
      u8 *dik, const char *password,\n\t\t\t\t      const u8 *pmk, size_t pmk_len,
      bool own)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - src_addr
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: wpas_pr_usd_elems
    functionSourceFile: /src/hostap/wpa_supplicant/pr_supplicant.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * wpas_pr_usd_elems(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t\tconst
      u8 *src_addr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - wpa_s
    - peer_addr
    - freq
    - auth_mode
    - ranging_role
    - ranging_type
    - forced_pr_freq
    - src_addr
    - pasn_role
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - int
    - u8
    - u8
    - u8
    - int
    - u8*
    - enum pr_pasn_role
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 101
    functionName: wpas_pr_initiate_pasn_auth
    functionSourceFile: /src/hostap/wpa_supplicant/pr_supplicant.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int wpas_pr_initiate_pasn_auth(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \    const u8 *peer_addr, int freq,\n\t\t\t\t\t     u8 auth_mode, u8 ranging_role,\n\t\t\t\t\t
      \    u8 ranging_type,\n\t\t\t\t\t     int forced_pr_freq,\n\t\t\t\t\t     const
      u8 *src_addr,\n\t\t\t\t\t     enum pr_pasn_role pasn_role)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - wpa_s
    - data
    - data_len
    - acked
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 108
    functionName: wpas_pr_pasn_auth_tx_status
    functionSourceFile: /src/hostap/wpa_supplicant/pr_supplicant.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int wpas_pr_pasn_auth_tx_status(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \     const u8 *data, size_t data_len,\n\t\t\t\t\t      bool acked)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - wpa_s
    - mgmt
    - len
    - freq
    argTypes:
    - struct wpa_supplicant*
    - struct ieee80211_mgmt*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 115
    functionName: wpas_pr_pasn_auth_rx
    functionSourceFile: /src/hostap/wpa_supplicant/pr_supplicant.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int wpas_pr_pasn_auth_rx(struct wpa_supplicant *wpa_s,\n\t\t\t\t       const
      struct ieee80211_mgmt *mgmt,\n\t\t\t\t       size_t len, int freq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - wpa_s
    - freq
    argTypes:
    - struct wpa_supplicant*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: wpas_pr_cancel_remain_on_channel_cb
    functionSourceFile: /src/hostap/wpa_supplicant/pr_supplicant.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_pr_cancel_remain_on_channel_cb(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \   unsigned int freq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - pr_pasn_params
    argTypes:
    - struct wpa_supplicant*
    - struct pr_pasn_ranging_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 128
    functionName: wpas_pr_pasn_trigger
    functionSourceFile: /src/hostap/wpa_supplicant/pr_supplicant.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int wpas_pr_pasn_trigger(struct wpa_supplicant *wpa_s,\n\t\t     struct
      pr_pasn_ranging_params *pr_pasn_params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 132
    functionName: wpas_pr_abort_ranging
    functionSourceFile: /src/hostap/wpa_supplicant/pr_supplicant.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wpas_pr_abort_ranging(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - wpa_s
    - complete
    argTypes:
    - struct wpa_supplicant*
    - struct peer_measurement_complete*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 138
    functionName: wpas_pr_measurement_complete
    functionSourceFile: /src/hostap/wpa_supplicant/pr_supplicant.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_pr_measurement_complete(struct wpa_supplicant *wpa_s,\n\t\t\t
      \    struct peer_measurement_complete *complete)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - wpa_s
    - result
    argTypes:
    - struct wpa_supplicant*
    - struct peer_measurement_result*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 144
    functionName: wpas_pr_measurement_result
    functionSourceFile: /src/hostap/wpa_supplicant/pr_supplicant.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_pr_measurement_result(struct wpa_supplicant *wpa_s,\n\t\t\t
      \  struct peer_measurement_result *result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - global
    argTypes:
    - struct wpa_global*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: wifi_display_init
    functionSourceFile: /src/hostap/wpa_supplicant/wifi_display.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wifi_display_init(struct wpa_global *global)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wifi_display.c:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - global
    argTypes:
    - struct wpa_global*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 36
    functionName: wifi_display_deinit
    functionSourceFile: /src/hostap/wpa_supplicant/wifi_display.c
    functionUses: 1
    functionsReached:
    - wpabuf_free
    linkageType: ''
    returnType: void
    signature: void wifi_display_deinit(struct wpa_global *global)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/wifi_display.c:51,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/wifi_display.c:54,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/wpa_supplicant/wifi_display.c:60,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - global
    argTypes:
    - struct wpa_global*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 64
    functionName: wifi_display_get_wfd_ie
    functionSourceFile: /src/hostap/wpa_supplicant/wifi_display.c
    functionUses: 0
    functionsReached:
    - wpabuf_len
    - wpabuf_alloc
    - wpabuf_put_buf
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * wifi_display_get_wfd_ie(struct wpa_global *global)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wifi_display.c:75,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wifi_display.c:78,1
    - Dst: p2p_set_wfd_ie_beacon
      Src: /src/hostap/wpa_supplicant/wifi_display.c:80,1
    - Dst: p2p_set_wfd_ie_probe_req
      Src: /src/hostap/wpa_supplicant/wifi_display.c:81,1
    - Dst: p2p_set_wfd_ie_probe_resp
      Src: /src/hostap/wpa_supplicant/wifi_display.c:82,1
    - Dst: p2p_set_wfd_ie_assoc_req
      Src: /src/hostap/wpa_supplicant/wifi_display.c:83,1
    - Dst: p2p_set_wfd_ie_invitation
      Src: /src/hostap/wpa_supplicant/wifi_display.c:84,1
    - Dst: p2p_set_wfd_ie_prov_disc_req
      Src: /src/hostap/wpa_supplicant/wifi_display.c:85,1
    - Dst: p2p_set_wfd_ie_prov_disc_resp
      Src: /src/hostap/wpa_supplicant/wifi_display.c:86,1
    - Dst: p2p_set_wfd_ie_go_neg
      Src: /src/hostap/wpa_supplicant/wifi_display.c:87,1
    - Dst: p2p_set_wfd_dev_info
      Src: /src/hostap/wpa_supplicant/wifi_display.c:88,1
    - Dst: p2p_set_wfd_r2_dev_info
      Src: /src/hostap/wpa_supplicant/wifi_display.c:89,1
    - Dst: p2p_set_wfd_assoc_bssid
      Src: /src/hostap/wpa_supplicant/wifi_display.c:90,1
    - Dst: p2p_set_wfd_coupled_sink_info
      Src: /src/hostap/wpa_supplicant/wifi_display.c:91,1
    - Dst: p2p_set_wfd_dev_info
      Src: /src/hostap/wpa_supplicant/wifi_display.c:95,1
    - Dst: p2p_set_wfd_r2_dev_info
      Src: /src/hostap/wpa_supplicant/wifi_display.c:97,1
    - Dst: p2p_set_wfd_assoc_bssid
      Src: /src/hostap/wpa_supplicant/wifi_display.c:99,1
    - Dst: p2p_set_wfd_coupled_sink_info
      Src: /src/hostap/wpa_supplicant/wifi_display.c:102,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/wifi_display.c:137,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/wifi_display.c:141,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/wifi_display.c:145,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/wifi_display.c:148,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/wifi_display.c:151,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/wifi_display.c:154,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/wifi_display.c:155,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/wpa_supplicant/wifi_display.c:160,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/wpa_supplicant/wifi_display.c:164,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/wpa_supplicant/wifi_display.c:168,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/wpa_supplicant/wifi_display.c:171,1
    - Dst: wifi_display_encaps
      Src: /src/hostap/wpa_supplicant/wifi_display.c:174,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/wpa_supplicant/wifi_display.c:175,1
    - Dst: p2p_set_wfd_ie_beacon
      Src: /src/hostap/wpa_supplicant/wifi_display.c:176,1
    - Dst: wifi_display_encaps
      Src: /src/hostap/wpa_supplicant/wifi_display.c:178,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/wpa_supplicant/wifi_display.c:179,1
    - Dst: p2p_set_wfd_ie_assoc_req
      Src: /src/hostap/wpa_supplicant/wifi_display.c:181,1
    - Dst: wifi_display_encaps
      Src: /src/hostap/wpa_supplicant/wifi_display.c:183,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/wpa_supplicant/wifi_display.c:184,1
    - Dst: p2p_set_wfd_ie_go_neg
      Src: /src/hostap/wpa_supplicant/wifi_display.c:185,1
    - Dst: wifi_display_encaps
      Src: /src/hostap/wpa_supplicant/wifi_display.c:187,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/wpa_supplicant/wifi_display.c:188,1
    - Dst: p2p_set_wfd_ie_prov_disc_req
      Src: /src/hostap/wpa_supplicant/wifi_display.c:190,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/wpa_supplicant/wifi_display.c:194,1
    - Dst: wifi_display_encaps
      Src: /src/hostap/wpa_supplicant/wifi_display.c:197,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/wpa_supplicant/wifi_display.c:198,1
    - Dst: p2p_set_wfd_ie_probe_req
      Src: /src/hostap/wpa_supplicant/wifi_display.c:199,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/wpa_supplicant/wifi_display.c:202,1
    - Dst: wifi_display_encaps
      Src: /src/hostap/wpa_supplicant/wifi_display.c:204,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/wpa_supplicant/wifi_display.c:205,1
    - Dst: p2p_set_wfd_ie_probe_resp
      Src: /src/hostap/wpa_supplicant/wifi_display.c:206,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/wpa_supplicant/wifi_display.c:211,1
    - Dst: wifi_display_encaps
      Src: /src/hostap/wpa_supplicant/wifi_display.c:214,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/wpa_supplicant/wifi_display.c:215,1
    - Dst: p2p_set_wfd_ie_invitation
      Src: /src/hostap/wpa_supplicant/wifi_display.c:216,1
    - Dst: wifi_display_encaps
      Src: /src/hostap/wpa_supplicant/wifi_display.c:218,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/wpa_supplicant/wifi_display.c:219,1
    - Dst: p2p_set_wfd_ie_prov_disc_resp
      Src: /src/hostap/wpa_supplicant/wifi_display.c:221,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wifi_display.c:223,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 82
    argCount: 1
    argNames:
    - global
    argTypes:
    - struct wpa_global*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 226
    functionName: wifi_display_update_wfd_ie
    functionSourceFile: /src/hostap/wpa_supplicant/wifi_display.c
    functionUses: 0
    functionsReached:
    - p2p_set_wfd_r2_dev_info
    - p2p_set_wfd_dev_info
    - wpabuf_alloc
    - p2p_set_wfd_ie_go_neg
    - wpa_printf
    - p2p_set_wfd_ie_beacon
    - p2p_set_wfd_assoc_bssid
    - p2p_set_wfd_ie_invitation
    - p2p_set_wfd_ie_assoc_req
    - p2p_set_wfd_ie_probe_resp
    - p2p_set_wfd_ie_prov_disc_resp
    - wpa_hexdump_buf
    - wpabuf_len
    - wifi_display_encaps
    - p2p_set_wfd_ie_probe_req
    - wpabuf_free
    - p2p_set_wfd_ie_prov_disc_req
    - wpabuf_put_buf
    - p2p_set_wfd_coupled_sink_info
    linkageType: ''
    returnType: int
    signature: int wifi_display_update_wfd_ie(struct wpa_global *global)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wifi_display.c:231,1
    - Dst: wifi_display_update_wfd_ie
      Src: /src/hostap/wpa_supplicant/wifi_display.c:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - global
    - enabled
    argTypes:
    - struct wpa_global*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 235
    functionName: wifi_display_enable
    functionSourceFile: /src/hostap/wpa_supplicant/wifi_display.c
    functionUses: 1
    functionsReached:
    - wifi_display_update_wfd_ie
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void wifi_display_enable(struct wpa_global *global, int enabled)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/wifi_display.c:245,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/wifi_display.c:250,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/wifi_display.c:255,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/wifi_display.c:258,1
    - Dst: hexstr2bin
      Src: /src/hostap/wpa_supplicant/wifi_display.c:261,1
    - Dst: wpabuf_put
      Src: /src/hostap/wpa_supplicant/wifi_display.c:261,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wifi_display.c:262,1
    - Dst: wifi_display_subelem_set_from_ies
      Src: /src/hostap/wpa_supplicant/wifi_display.c:265,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wifi_display.c:266,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/wifi_display.c:270,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wifi_display.c:277,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/wifi_display.c:279,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/wifi_display.c:282,1
    - Dst: hexstr2bin
      Src: /src/hostap/wpa_supplicant/wifi_display.c:283,1
    - Dst: wpabuf_put
      Src: /src/hostap/wpa_supplicant/wifi_display.c:283,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wifi_display.c:284,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wifi_display.c:287,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wifi_display.c:290,1
    - Dst: wifi_display_update_wfd_ie
      Src: /src/hostap/wpa_supplicant/wifi_display.c:292,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 2
    argNames:
    - global
    - cmd
    argTypes:
    - struct wpa_global*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 238
    functionDepth: 2
    functionLinenumber: 238
    functionLinenumberEnd: 295
    functionName: wifi_display_subelem_set
    functionSourceFile: /src/hostap/wpa_supplicant/wifi_display.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpabuf_put
    - wpa_printf
    - wpabuf_put_u8
    - hexstr2bin
    - wifi_display_update_wfd_ie
    - wpabuf_free
    - wpabuf_alloc
    - atoi
    - os_strchr
    - os_strcmp
    - wifi_display_subelem_set_from_ies
    linkageType: ''
    returnType: int
    signature: int wifi_display_subelem_set(struct wpa_global *global, char *cmd)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wifi_display.c:306,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/wifi_display.c:307,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/wifi_display.c:309,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/wifi_display.c:312,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/wifi_display.c:313,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/wpa_supplicant/wifi_display.c:319,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wifi_display.c:321,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/wpa_supplicant/wifi_display.c:329,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wifi_display.c:333,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wifi_display.c:343,1
    - Dst: wifi_display_update_wfd_ie
      Src: /src/hostap/wpa_supplicant/wifi_display.c:348,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 2
    argNames:
    - global
    - ie
    argTypes:
    - struct wpa_global*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 349
    functionName: wifi_display_subelem_set_from_ies
    functionSourceFile: /src/hostap/wpa_supplicant/wifi_display.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - WPA_GET_BE16
    - wpabuf_len
    - wifi_display_update_wfd_ie
    - wpabuf_free
    - wpabuf_alloc_copy
    - wpabuf_head
    linkageType: ''
    returnType: int
    signature: "int wifi_display_subelem_set_from_ies(struct wpa_global *global,\n\t\t\t\t
      \     struct wpabuf *ie)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/wifi_display.c:357,1
    - Dst: wifi_display_get_wfd_ie
      Src: /src/hostap/wpa_supplicant/wifi_display.c:361,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/wpa_supplicant/wifi_display.c:364,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/wifi_display.c:364,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/wifi_display.c:365,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wifi_display.c:366,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/wifi_display.c:370,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/wpa_supplicant/wifi_display.c:377,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/wpa_supplicant/wifi_display.c:378,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/wifi_display.c:380,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - global
    - cmd
    - buf
    - buflen
    argTypes:
    - struct wpa_global*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 352
    functionDepth: 2
    functionLinenumber: 352
    functionLinenumberEnd: 381
    functionName: wifi_display_subelem_get
    functionSourceFile: /src/hostap/wpa_supplicant/wifi_display.c
    functionUses: 0
    functionsReached:
    - wpa_snprintf_hex
    - wpabuf_head_u8
    - wpabuf_len
    - wpabuf_free
    - wpabuf_head
    - atoi
    - os_strcmp
    - wifi_display_get_wfd_ie
    linkageType: ''
    returnType: int
    signature: "int wifi_display_subelem_get(struct wpa_global *global, char *cmd,\n\t\t\t
      \    char *buf, size_t buflen)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_head_u8
      Src: /src/hostap/wpa_supplicant/wifi_display.c:395,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/wifi_display.c:399,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/wpa_supplicant/wifi_display.c:402,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/wifi_display.c:417,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/wpa_supplicant/wifi_display.c:420,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 2
    argNames:
    - wfd_subelems
    - id
    argTypes:
    - struct wpabuf*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 431
    functionName: wifi_display_subelem_hex
    functionSourceFile: /src/hostap/wpa_supplicant/wifi_display.c
    functionUses: 0
    functionsReached:
    - WPA_GET_BE16
    - wpa_snprintf_hex
    - wpabuf_head_u8
    - wpabuf_len
    - os_zalloc
    linkageType: ''
    returnType: char
    signature: char * wifi_display_subelem_hex(const struct wpabuf *wfd_subelems,
      u8 id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/robust_av.c:30,1
    - Dst: wpabuf_put
      Src: /src/hostap/wpa_supplicant/robust_av.c:31,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/robust_av.c:32,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/robust_av.c:33,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/robust_av.c:34,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/robust_av.c:35,1
    - Dst: wpabuf_put_le32
      Src: /src/hostap/wpa_supplicant/robust_av.c:36,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/robust_av.c:40,1
    - Dst: wpabuf_put
      Src: /src/hostap/wpa_supplicant/robust_av.c:41,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/robust_av.c:42,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/wpa_supplicant/robust_av.c:45,1
    - Dst: wpabuf_put
      Src: /src/hostap/wpa_supplicant/robust_av.c:47,1
    - Dst: wpabuf_put
      Src: /src/hostap/wpa_supplicant/robust_av.c:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - robust_av
    - buf
    argTypes:
    - struct robust_av_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 51
    functionName: wpas_populate_mscs_descriptor_ie
    functionSourceFile: /src/hostap/wpa_supplicant/robust_av.c
    functionUses: 0
    functionsReached:
    - wpabuf_put
    - wpabuf_put_le32
    - wpabuf_put_data
    - wpabuf_put_u8
    linkageType: ''
    returnType: void
    signature: "void wpas_populate_mscs_descriptor_ie(struct robust_av_data *robust_av,\n\t\t\t\t
      \     struct wpabuf *buf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/robust_av.c:58,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/robust_av.c:60,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/wpa_supplicant/robust_av.c:61,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/wpa_supplicant/robust_av.c:63,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/wpa_supplicant/robust_av.c:65,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/wpa_supplicant/robust_av.c:66,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/robust_av.c:67,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/robust_av.c:68,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/robust_av.c:69,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/robust_av.c:71,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/wpa_supplicant/robust_av.c:72,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/wpa_supplicant/robust_av.c:74,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/wpa_supplicant/robust_av.c:76,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/wpa_supplicant/robust_av.c:77,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/robust_av.c:78,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/robust_av.c:79,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/wpa_supplicant/robust_av.c:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 2
    argNames:
    - type4_param
    - buf
    argTypes:
    - struct type4_params*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 84
    functionName: wpas_populate_type4_classifier
    functionSourceFile: /src/hostap/wpa_supplicant/robust_av.c
    functionUses: 0
    functionsReached:
    - wpabuf_put_data
    - wpabuf_put_be16
    - wpabuf_put_u8
    linkageType: ''
    returnType: int
    signature: "int wpas_populate_type4_classifier(struct type4_params *type4_param,\n\t\t\t\t\t
      \ struct wpabuf *buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/robust_av.c:91,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/robust_av.c:92,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/wpa_supplicant/robust_av.c:93,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/wpa_supplicant/robust_av.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - type10_param
    - buf
    argTypes:
    - struct type10_params*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 98
    functionName: wpas_populate_type10_classifier
    functionSourceFile: /src/hostap/wpa_supplicant/robust_av.c
    functionUses: 0
    functionsReached:
    - wpabuf_put_data
    - wpabuf_put_u8
    linkageType: ''
    returnType: int
    signature: "int wpas_populate_type10_classifier(struct type10_params *type10_param,\n\t\t\t\t\t
      \  struct wpabuf *buf)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - qos_elem
    argTypes:
    - struct qos_characteristics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 110
    functionName: tclas_elem_required
    functionSourceFile: /src/hostap/wpa_supplicant/robust_av.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool tclas_elem_required(const struct qos_characteristics *qos_elem)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/robust_av.c:124,1
    - Dst: wpabuf_put
      Src: /src/hostap/wpa_supplicant/robust_av.c:125,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/robust_av.c:126,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/robust_av.c:127,1
    - Dst: tclas_elem_required
      Src: /src/hostap/wpa_supplicant/robust_av.c:131,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/robust_av.c:135,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/robust_av.c:136,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/robust_av.c:137,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/robust_av.c:149,1
    - Dst: wpabuf_put
      Src: /src/hostap/wpa_supplicant/robust_av.c:150,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/robust_av.c:151,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/robust_av.c:153,1
    - Dst: wpas_populate_type4_classifier
      Src: /src/hostap/wpa_supplicant/robust_av.c:157,1
    - Dst: wpas_populate_type10_classifier
      Src: /src/hostap/wpa_supplicant/robust_av.c:162,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/robust_av.c:171,1
    - Dst: wpabuf_put
      Src: /src/hostap/wpa_supplicant/robust_av.c:176,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/robust_av.c:181,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/robust_av.c:182,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/robust_av.c:183,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/robust_av.c:190,1
    - Dst: wpabuf_put
      Src: /src/hostap/wpa_supplicant/robust_av.c:191,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/robust_av.c:192,1
    - Dst: wpabuf_put_le32
      Src: /src/hostap/wpa_supplicant/robust_av.c:222,1
    - Dst: wpabuf_put_le32
      Src: /src/hostap/wpa_supplicant/robust_av.c:224,1
    - Dst: wpabuf_put_le32
      Src: /src/hostap/wpa_supplicant/robust_av.c:226,1
    - Dst: wpabuf_put_le24
      Src: /src/hostap/wpa_supplicant/robust_av.c:228,1
    - Dst: wpabuf_put_le24
      Src: /src/hostap/wpa_supplicant/robust_av.c:230,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/wpa_supplicant/robust_av.c:234,1
    - Dst: wpabuf_put_le32
      Src: /src/hostap/wpa_supplicant/robust_av.c:237,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/robust_av.c:240,1
    - Dst: wpabuf_put_le24
      Src: /src/hostap/wpa_supplicant/robust_av.c:244,1
    - Dst: wpabuf_put_le32
      Src: /src/hostap/wpa_supplicant/robust_av.c:247,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/wpa_supplicant/robust_av.c:250,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/robust_av.c:253,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/wpa_supplicant/robust_av.c:256,1
    - Dst: wpabuf_put
      Src: /src/hostap/wpa_supplicant/robust_av.c:258,1
    - Dst: wpabuf_put
      Src: /src/hostap/wpa_supplicant/robust_av.c:262,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 87
    argCount: 3
    argNames:
    - desc_elem
    - buf
    - allow_scs_traffic_desc
    argTypes:
    - struct scs_desc_elem*
    - struct wpabuf*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 264
    functionName: wpas_populate_scs_descriptor_ie
    functionSourceFile: /src/hostap/wpa_supplicant/robust_av.c
    functionUses: 0
    functionsReached:
    - wpas_populate_type10_classifier
    - wpabuf_put
    - wpa_printf
    - wpabuf_put_le32
    - wpabuf_put_le24
    - wpabuf_put_u8
    - wpabuf_put_le16
    - wpas_populate_type4_classifier
    - tclas_elem_required
    linkageType: ''
    returnType: int
    signature: "int wpas_populate_scs_descriptor_ie(struct scs_desc_elem *desc_elem,\n\t\t\t\t\t
      \  struct wpabuf *buf,\n\t\t\t\t\t   bool allow_scs_traffic_desc)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_memdup
      Src: /src/hostap/wpa_supplicant/robust_av.c:290,1
    - Dst: os_memdup
      Src: /src/hostap/wpa_supplicant/robust_av.c:296,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/robust_av.c:300,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 3
    argNames:
    - src
    - dst
    - num_tclas_elem
    argTypes:
    - struct tclas_element*
    - struct tclas_element*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 309
    functionName: populate_type10_classifier_data
    functionSourceFile: /src/hostap/wpa_supplicant/robust_av.c
    functionUses: 0
    functionsReached:
    - os_free
    - os_memdup
    linkageType: ''
    returnType: int
    signature: "int populate_type10_classifier_data(const struct tclas_element *src,\n\t\t\t\t\t
      \  struct tclas_element *dst,\n\t\t\t\t\t   unsigned int num_tclas_elem)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_bss_ext_capab
      Src: /src/hostap/wpa_supplicant/robust_av.c:321,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/robust_av.c:322,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/robust_av.c:329,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/robust_av.c:336,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/robust_av.c:349,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/robust_av.c:351,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/robust_av.c:355,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/robust_av.c:356,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/robust_av.c:358,1
    - Dst: wpas_populate_mscs_descriptor_ie
      Src: /src/hostap/wpa_supplicant/robust_av.c:361,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/wpa_supplicant/robust_av.c:363,1
    - Dst: wpa_drv_send_action
      Src: /src/hostap/wpa_supplicant/robust_av.c:364,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/robust_av.c:366,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/robust_av.c:366,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/robust_av.c:368,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/robust_av.c:370,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 312
    functionDepth: 3
    functionLinenumber: 312
    functionLinenumberEnd: 372
    functionName: wpas_send_mscs_req
    functionSourceFile: /src/hostap/wpa_supplicant/robust_av.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpa_drv_send_action
    - wpabuf_put_u8
    - wpa_msg
    - wpabuf_len
    - wpas_populate_mscs_descriptor_ie
    - wpabuf_free
    - wpabuf_head
    - wpabuf_alloc
    - wpa_dbg
    - wpa_bss_ext_capab
    - wpa_hexdump_buf
    linkageType: ''
    returnType: int
    signature: int wpas_send_mscs_req(struct wpa_supplicant *wpa_s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/robust_av.c:404,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/robust_av.c:413,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - elem
    argTypes:
    - struct tclas_element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 419
    functionName: tclas_elem_len
    functionSourceFile: /src/hostap/wpa_supplicant/robust_av.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: size_t
    signature: size_t tclas_elem_len(const struct tclas_element *elem)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 1
    argNames:
    - qos_elem
    argTypes:
    - struct qos_characteristics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 461
    functionName: qos_char_len
    functionSourceFile: /src/hostap/wpa_supplicant/robust_av.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t qos_char_len(const struct qos_characteristics *qos_elem)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: qos_char_len
      Src: /src/hostap/wpa_supplicant/robust_av.c:486,1
    - Dst: tclas_elem_required
      Src: /src/hostap/wpa_supplicant/robust_av.c:488,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/robust_av.c:496,1
    - Dst: tclas_elem_len
      Src: /src/hostap/wpa_supplicant/robust_av.c:504,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/robust_av.c:517,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/robust_av.c:519,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 3
    argNames:
    - desc_elem
    - num_scs_desc
    - allow_scs_traffic_desc
    argTypes:
    - struct scs_desc_elem*
    - unsigned int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 524
    functionName: allocate_scs_buf
    functionSourceFile: /src/hostap/wpa_supplicant/robust_av.c
    functionUses: 0
    functionsReached:
    - qos_char_len
    - wpa_printf
    - wpabuf_alloc
    - tclas_elem_len
    - tclas_elem_required
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * allocate_scs_buf(struct scs_desc_elem *desc_elem,\n\t\t\t\t\tunsigned
      int num_scs_desc,\n\t\t\t\t\tbool allow_scs_traffic_desc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_del
      Src: /src/hostap/wpa_supplicant/robust_av.c:531,1
    - Dst: free_up_tclas_elem
      Src: /src/hostap/wpa_supplicant/robust_av.c:532,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/robust_av.c:533,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - scs_elem
    argTypes:
    - struct active_scs_elem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 527
    functionDepth: 1
    functionLinenumber: 527
    functionLinenumberEnd: 534
    functionName: scs_cleanup_descriptors
    functionSourceFile: /src/hostap/wpa_supplicant/robust_av.c
    functionUses: 0
    functionsReached:
    - os_free
    - free_up_tclas_elem
    - dl_list_del
    linkageType: ''
    returnType: void
    signature: void scs_cleanup_descriptors(struct active_scs_elem *scs_elem)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/wpa_supplicant/robust_av.c:546,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/robust_av.c:559,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/robust_av.c:560,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/robust_av.c:563,1
    - Dst: scs_cleanup_descriptors
      Src: /src/hostap/wpa_supplicant/robust_av.c:565,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/robust_av.c:568,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 537
    functionDepth: 2
    functionLinenumber: 537
    functionLinenumberEnd: 570
    functionName: scs_request_timer
    functionSourceFile: /src/hostap/wpa_supplicant/robust_av.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_msg
    - eloop_cancel_timeout
    - scs_cleanup_descriptors
    - MAC2STR
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: void scs_request_timer(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: wpa_bss_ext_capab
      Src: /src/hostap/wpa_supplicant/robust_av.c:588,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/robust_av.c:589,1
    - Dst: wpa_is_non_eht_scs_traffic_desc_supported
      Src: /src/hostap/wpa_supplicant/robust_av.c:594,1
    - Dst: wpa_bss_get_ie_ext
      Src: /src/hostap/wpa_supplicant/robust_av.c:598,1
    - Dst: le_to_host16
      Src: /src/hostap/wpa_supplicant/robust_av.c:603,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/robust_av.c:608,1
    - Dst: allocate_scs_buf
      Src: /src/hostap/wpa_supplicant/robust_av.c:613,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/robust_av.c:617,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/robust_av.c:618,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/robust_av.c:622,1
    - Dst: wpas_populate_scs_descriptor_ie
      Src: /src/hostap/wpa_supplicant/robust_av.c:626,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/wpa_supplicant/robust_av.c:631,1
    - Dst: wpa_drv_send_action
      Src: /src/hostap/wpa_supplicant/robust_av.c:632,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/robust_av.c:634,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/robust_av.c:634,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/robust_av.c:636,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/robust_av.c:645,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/robust_av.c:650,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 47
    argCount: 3
    argNames:
    - wpa_s
    - desc_elem
    - num_scs_desc
    argTypes:
    - struct wpa_supplicant*
    - struct scs_desc_elem*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 573
    functionDepth: 3
    functionLinenumber: 573
    functionLinenumberEnd: 652
    functionName: _wpa_send_scs_req
    functionSourceFile: /src/hostap/wpa_supplicant/robust_av.c
    functionUses: 0
    functionsReached:
    - allocate_scs_buf
    - wpa_is_non_eht_scs_traffic_desc_supported
    - wpa_drv_send_action
    - wpabuf_put_u8
    - wpabuf_len
    - wpabuf_free
    - wpabuf_head
    - wpas_populate_scs_descriptor_ie
    - eloop_register_timeout
    - wpa_dbg
    - le_to_host16
    - wpa_bss_ext_capab
    - wpa_bss_get_ie_ext
    - wpa_hexdump_buf
    linkageType: ''
    returnType: int
    signature: "int _wpa_send_scs_req(struct wpa_supplicant *wpa_s,\n\t\t\t     struct
      scs_desc_elem *desc_elem,\n\t\t\t     unsigned int num_scs_desc)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_len
      Src: /src/hostap/wpa_supplicant/robust_av.c:667,1
    - Dst: os_calloc
      Src: /src/hostap/wpa_supplicant/robust_av.c:671,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/robust_av.c:673,1
    - Dst: dl_list_for_each
      Src: /src/hostap/wpa_supplicant/robust_av.c:678,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/robust_av.c:680,1
    - Dst: os_memdup
      Src: /src/hostap/wpa_supplicant/robust_av.c:685,1
    - Dst: populate_type10_classifier_data
      Src: /src/hostap/wpa_supplicant/robust_av.c:691,1
    - Dst: free_up_tclas_elem
      Src: /src/hostap/wpa_supplicant/robust_av.c:695,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/robust_av.c:700,1
    - Dst: _wpa_send_scs_req
      Src: /src/hostap/wpa_supplicant/robust_av.c:705,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/robust_av.c:706,1
    - Dst: dl_list_for_each
      Src: /src/hostap/wpa_supplicant/robust_av.c:709,1
    - Dst: free_up_tclas_elem
      Src: /src/hostap/wpa_supplicant/robust_av.c:721,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/robust_av.c:723,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 655
    functionDepth: 4
    functionLinenumber: 655
    functionLinenumberEnd: 727
    functionName: wpas_scs_reconfigure
    functionSourceFile: /src/hostap/wpa_supplicant/robust_av.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    - wpa_printf
    - os_calloc
    - os_memdup
    - _wpa_send_scs_req
    - dl_list_for_each
    - free_up_tclas_elem
    - populate_type10_classifier_data
    - os_free
    - dl_list_len
    linkageType: ''
    returnType: int
    signature: int wpas_scs_reconfigure(struct wpa_supplicant *wpa_s)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _wpa_send_scs_req
      Src: /src/hostap/wpa_supplicant/robust_av.c:736,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/robust_av.c:751,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/robust_av.c:755,1
    - Dst: os_memdup
      Src: /src/hostap/wpa_supplicant/robust_av.c:759,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/robust_av.c:763,1
    - Dst: populate_type10_classifier_data
      Src: /src/hostap/wpa_supplicant/robust_av.c:769,1
    - Dst: free_up_tclas_elem
      Src: /src/hostap/wpa_supplicant/robust_av.c:772,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/robust_av.c:773,1
    - Dst: dl_list_add
      Src: /src/hostap/wpa_supplicant/robust_av.c:780,1
    - Dst: free_up_scs_desc
      Src: /src/hostap/wpa_supplicant/robust_av.c:785,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 730
    functionDepth: 4
    functionLinenumber: 730
    functionLinenumberEnd: 787
    functionName: wpas_send_scs_req
    functionSourceFile: /src/hostap/wpa_supplicant/robust_av.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    - os_memdup
    - _wpa_send_scs_req
    - free_up_tclas_elem
    - os_zalloc
    - dl_list_add
    - free_up_scs_desc
    - os_free
    - populate_type10_classifier_data
    linkageType: ''
    returnType: int
    signature: int wpas_send_scs_req(struct wpa_supplicant *wpa_s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/robust_av.c:808,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/robust_av.c:809,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/robust_av.c:812,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - elem
    argTypes:
    - struct scs_desc_elem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 813
    functionName: free_up_tclas_elem
    functionSourceFile: /src/hostap/wpa_supplicant/robust_av.c
    functionUses: 4
    functionsReached:
    - os_free
    linkageType: ''
    returnType: void
    signature: void free_up_tclas_elem(struct scs_desc_elem *elem)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free_up_tclas_elem
      Src: /src/hostap/wpa_supplicant/robust_av.c:835,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/robust_av.c:837,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct scs_robust_av_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 816
    functionDepth: 1
    functionLinenumber: 816
    functionLinenumberEnd: 838
    functionName: free_up_scs_desc
    functionSourceFile: /src/hostap/wpa_supplicant/robust_av.c
    functionUses: 2
    functionsReached:
    - os_free
    - free_up_tclas_elem
    linkageType: ''
    returnType: void
    signature: void free_up_scs_desc(struct scs_robust_av_data *data)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/robust_av.c:857,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/robust_av.c:863,1
    - Dst: WPA_GET_LE32
      Src: /src/hostap/wpa_supplicant/robust_av.c:878,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/robust_av.c:879,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/robust_av.c:881,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/robust_av.c:892,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/robust_av.c:899,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/robust_av.c:900,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 4
    argNames:
    - wpa_s
    - status
    - bssid
    - mscs_desc_ie
    argTypes:
    - struct wpa_supplicant*
    - u16
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 845
    functionDepth: 1
    functionLinenumber: 845
    functionLinenumberEnd: 902
    functionName: wpas_parse_mscs_resp
    functionSourceFile: /src/hostap/wpa_supplicant/robust_av.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_msg
    - WPA_GET_LE32
    - MAC2STR
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void wpas_parse_mscs_resp(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      u16 status, const u8 *bssid,\n\t\t\t\t const u8 *mscs_desc_ie)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/robust_av.c:921,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/robust_av.c:927,1
    - Dst: is_multicast_ether_addr
      Src: /src/hostap/wpa_supplicant/robust_av.c:933,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/robust_av.c:934,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/robust_av.c:937,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/robust_av.c:937,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wpa_supplicant/robust_av.c:941,1
    - Dst: get_ie_ext
      Src: /src/hostap/wpa_supplicant/robust_av.c:945,1
    - Dst: wpas_parse_mscs_resp
      Src: /src/hostap/wpa_supplicant/robust_av.c:946,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 5
    argNames:
    - wpa_s
    - dst
    - src
    - buf
    - len
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 947
      start: 905
    functionDepth: 2
    functionLinenumber: 905
    functionLinenumberEnd: 947
    functionName: wpas_handle_robust_av_recv_action
    functionSourceFile: /src/hostap/wpa_supplicant/robust_av.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - is_multicast_ether_addr
    - WPA_GET_LE16
    - get_ie_ext
    - MAC2STR
    - wpas_parse_mscs_resp
    linkageType: ''
    returnType: void
    signature: "void wpas_handle_robust_av_recv_action(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \      const u8 *dst, const u8 *src,\n\t\t\t\t       const u8 *buf, size_t len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_ie_ext
      Src: /src/hostap/wpa_supplicant/robust_av.c:961,1
    - Dst: get_ie
      Src: /src/hostap/wpa_supplicant/robust_av.c:966,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wpa_supplicant/robust_av.c:972,1
    - Dst: wpas_parse_mscs_resp
      Src: /src/hostap/wpa_supplicant/robust_av.c:974,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 4
    argNames:
    - wpa_s
    - bssid
    - ies
    - ies_len
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 975
      start: 950
    functionDepth: 2
    functionLinenumber: 950
    functionLinenumberEnd: 975
    functionName: wpas_handle_assoc_resp_mscs
    functionSourceFile: /src/hostap/wpa_supplicant/robust_av.c
    functionUses: 0
    functionsReached:
    - get_ie
    - wpas_parse_mscs_resp
    - WPA_GET_LE16
    - get_ie_ext
    linkageType: ''
    returnType: void
    signature: "void wpas_handle_assoc_resp_mscs(struct wpa_supplicant *wpa_s, const
      u8 *bssid,\n\t\t\t\t const u8 *ies, size_t ies_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/robust_av.c:983,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/robust_av.c:986,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 987
      start: 978
    functionDepth: 0
    functionLinenumber: 978
    functionLinenumberEnd: 987
    functionName: wpas_wait_for_dscp_req_timer
    functionSourceFile: /src/hostap/wpa_supplicant/robust_av.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: void wpas_wait_for_dscp_req_timer(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/robust_av.c:997,1
    - Dst: get_vendor_ie
      Src: /src/hostap/wpa_supplicant/robust_av.c:1002,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/robust_av.c:1014,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/robust_av.c:1015,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 3
    argNames:
    - wpa_s
    - ies
    - ies_len
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 990
    functionDepth: 1
    functionLinenumber: 990
    functionLinenumberEnd: 1017
    functionName: wpas_handle_assoc_resp_qos_mgmt
    functionSourceFile: /src/hostap/wpa_supplicant/robust_av.c
    functionUses: 0
    functionsReached:
    - eloop_cancel_timeout
    - get_vendor_ie
    - eloop_register_timeout
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: "void wpas_handle_assoc_resp_qos_mgmt(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \    const u8 *ies, size_t ies_len)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/robust_av.c:1031,1
    - Dst: is_multicast_ether_addr
      Src: /src/hostap/wpa_supplicant/robust_av.c:1036,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/robust_av.c:1037,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/robust_av.c:1040,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/robust_av.c:1040,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/robust_av.c:1047,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/robust_av.c:1060,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wpa_supplicant/robust_av.c:1072,1
    - Dst: dl_list_for_each
      Src: /src/hostap/wpa_supplicant/robust_av.c:1076,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/robust_av.c:1085,1
    - Dst: scs_cleanup_descriptors
      Src: /src/hostap/wpa_supplicant/robust_av.c:1092,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/robust_av.c:1094,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/robust_av.c:1095,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/robust_av.c:1098,1
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/wpa_supplicant/robust_av.c:1101,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/robust_av.c:1104,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/robust_av.c:1107,1
    - Dst: scs_cleanup_descriptors
      Src: /src/hostap/wpa_supplicant/robust_av.c:1108,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 51
    argCount: 5
    argNames:
    - wpa_s
    - dst
    - src
    - buf
    - len
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1111
      start: 1020
    functionDepth: 2
    functionLinenumber: 1020
    functionLinenumberEnd: 1111
    functionName: wpas_handle_robust_av_scs_recv_action
    functionSourceFile: /src/hostap/wpa_supplicant/robust_av.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - is_multicast_ether_addr
    - wpa_msg
    - eloop_cancel_timeout
    - scs_cleanup_descriptors
    - WPA_GET_LE16
    - dl_list_for_each
    - MAC2STR
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: "void wpas_handle_robust_av_scs_recv_action(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \  const u8 *dst, const u8 *src,\n\t\t\t\t\t   const u8 *buf, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_first
      Src: /src/hostap/wpa_supplicant/robust_av.c:1118,1
    - Dst: scs_cleanup_descriptors
      Src: /src/hostap/wpa_supplicant/robust_av.c:1120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1122
      start: 1114
    functionDepth: 2
    functionLinenumber: 1114
    functionLinenumberEnd: 1122
    functionName: wpas_clear_active_scs_ids
    functionSourceFile: /src/hostap/wpa_supplicant/robust_av.c
    functionUses: 0
    functionsReached:
    - dl_list_first
    - scs_cleanup_descriptors
    linkageType: ''
    returnType: void
    signature: void wpas_clear_active_scs_ids(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_up_scs_desc
      Src: /src/hostap/wpa_supplicant/robust_av.c:1127,1
    - Dst: wpas_clear_active_scs_ids
      Src: /src/hostap/wpa_supplicant/robust_av.c:1129,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/robust_av.c:1130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1125
    functionDepth: 3
    functionLinenumber: 1125
    functionLinenumberEnd: 1133
    functionName: wpas_scs_deinit
    functionSourceFile: /src/hostap/wpa_supplicant/robust_av.c
    functionUses: 2
    functionsReached:
    - eloop_cancel_timeout
    - wpas_clear_active_scs_ids
    - free_up_scs_desc
    linkageType: ''
    returnType: void
    signature: void wpas_scs_deinit(struct wpa_supplicant *wpa_s)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/robust_av.c:1145,1
    - Dst: inet_ntop
      Src: /src/hostap/wpa_supplicant/robust_av.c:1146,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/robust_av.c:1147,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/robust_av.c:1152,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/robust_av.c:1153,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/robust_av.c:1160,1
    - Dst: inet_ntop
      Src: /src/hostap/wpa_supplicant/robust_av.c:1161,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/robust_av.c:1162,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/robust_av.c:1167,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/robust_av.c:1168,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/robust_av.c:1175,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/robust_av.c:1176,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/robust_av.c:1177,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/robust_av.c:1184,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/robust_av.c:1185,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/robust_av.c:1186,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/robust_av.c:1193,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/robust_av.c:1194,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/robust_av.c:1195,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 4
    argNames:
    - pos
    - total_len
    - v4
    - classifier_mask
    argTypes:
    - char*
    - int
    - struct ipv4_params*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1203
      start: 1136
    functionDepth: 1
    functionLinenumber: 1136
    functionLinenumberEnd: 1203
    functionName: write_ipv4_info
    functionSourceFile: /src/hostap/wpa_supplicant/robust_av.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - inet_ntop
    - os_snprintf
    - BIT
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int write_ipv4_info(char *pos, int total_len,\n\t\t\t   const struct
      ipv4_params *v4,\n\t\t\t   u8 classifier_mask)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/robust_av.c:1215,1
    - Dst: inet_ntop
      Src: /src/hostap/wpa_supplicant/robust_av.c:1216,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/robust_av.c:1217,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/robust_av.c:1222,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/robust_av.c:1223,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/robust_av.c:1230,1
    - Dst: inet_ntop
      Src: /src/hostap/wpa_supplicant/robust_av.c:1231,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/robust_av.c:1232,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/robust_av.c:1237,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/robust_av.c:1238,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/robust_av.c:1245,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/robust_av.c:1246,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/robust_av.c:1247,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/robust_av.c:1254,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/robust_av.c:1255,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/robust_av.c:1256,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/robust_av.c:1263,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/robust_av.c:1264,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/robust_av.c:1266,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 4
    argNames:
    - pos
    - total_len
    - v6
    - classifier_mask
    argTypes:
    - char*
    - int
    - struct ipv6_params*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1206
    functionDepth: 1
    functionLinenumber: 1206
    functionLinenumberEnd: 1274
    functionName: write_ipv6_info
    functionSourceFile: /src/hostap/wpa_supplicant/robust_av.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - inet_ntop
    - os_snprintf
    - BIT
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int write_ipv6_info(char *pos, int total_len,\n\t\t\t   const struct
      ipv6_params *v6,\n\t\t\t   u8 classifier_mask)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/robust_av.c:1300,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/robust_av.c:1309,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/robust_av.c:1310,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/robust_av.c:1311,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/robust_av.c:1316,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/robust_av.c:1318,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/robust_av.c:1323,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/robust_av.c:1324,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/robust_av.c:1329,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/robust_av.c:1330,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/wpa_supplicant/robust_av.c:1332,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/robust_av.c:1336,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/robust_av.c:1338,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/robust_av.c:1343,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/wpa_supplicant/robust_av.c:1345,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/robust_av.c:1351,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/robust_av.c:1352,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 1
    argNames:
    - policy
    argTypes:
    - struct dscp_policy_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1357
      start: 1293
    functionDepth: 1
    functionLinenumber: 1293
    functionLinenumberEnd: 1357
    functionName: set_frame_classifier_type4_ipv4
    functionSourceFile: /src/hostap/wpa_supplicant/robust_av.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - BIT
    - WPA_GET_BE16
    - os_memcpy
    linkageType: ''
    returnType: int
    signature: int set_frame_classifier_type4_ipv4(struct dscp_policy_data *policy)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/robust_av.c:1367,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/robust_av.c:1376,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/robust_av.c:1377,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/robust_av.c:1378,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/robust_av.c:1383,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/robust_av.c:1385,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/robust_av.c:1389,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/robust_av.c:1390,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/robust_av.c:1395,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/robust_av.c:1396,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/wpa_supplicant/robust_av.c:1398,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/robust_av.c:1402,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/robust_av.c:1404,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/robust_av.c:1409,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/wpa_supplicant/robust_av.c:1411,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/robust_av.c:1417,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/robust_av.c:1418,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 1
    argNames:
    - policy
    argTypes:
    - struct dscp_policy_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1423
      start: 1360
    functionDepth: 1
    functionLinenumber: 1360
    functionLinenumberEnd: 1423
    functionName: set_frame_classifier_type4_ipv6
    functionSourceFile: /src/hostap/wpa_supplicant/robust_av.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - BIT
    - WPA_GET_BE16
    - os_memcpy
    linkageType: ''
    returnType: int
    signature: int set_frame_classifier_type4_ipv6(struct dscp_policy_data *policy)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/robust_av.c:1432,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/robust_av.c:1440,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/robust_av.c:1447,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/robust_av.c:1448,1
    - Dst: set_frame_classifier_type4_ipv4
      Src: /src/hostap/wpa_supplicant/robust_av.c:1455,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/robust_av.c:1456,1
    - Dst: set_frame_classifier_type4_ipv6
      Src: /src/hostap/wpa_supplicant/robust_av.c:1463,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/robust_av.c:1464,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/robust_av.c:1471,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 1
    argNames:
    - policy
    argTypes:
    - struct dscp_policy_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1478
      start: 1426
    functionDepth: 0
    functionLinenumber: 1426
    functionLinenumberEnd: 1478
    functionName: wpas_set_frame_classifier_params
    functionSourceFile: /src/hostap/wpa_supplicant/robust_av.c
    functionUses: 0
    functionsReached:
    - set_frame_classifier_type4_ipv4
    - wpa_printf
    - BIT
    - set_frame_classifier_type4_ipv6
    linkageType: ''
    returnType: int
    signature: int wpas_set_frame_classifier_params(struct dscp_policy_data *policy)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_ctrl_char
      Src: /src/hostap/wpa_supplicant/robust_av.c:1487,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1493
      start: 1481
    functionDepth: 1
    functionLinenumber: 1481
    functionLinenumberEnd: 1493
    functionName: dscp_valid_domain_name
    functionSourceFile: /src/hostap/wpa_supplicant/robust_av.c
    functionUses: 0
    functionsReached:
    - is_ctrl_char
    linkageType: ''
    returnType: bool
    signature: bool dscp_valid_domain_name(const char *str)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/robust_av.c:1505,1
    - Dst: wpas_set_frame_classifier_params
      Src: /src/hostap/wpa_supplicant/robust_av.c:1517,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/robust_av.c:1518,1
    - Dst: write_ipv4_info
      Src: /src/hostap/wpa_supplicant/robust_av.c:1524,1
    - Dst: write_ipv6_info
      Src: /src/hostap/wpa_supplicant/robust_av.c:1527,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/robust_av.c:1531,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/robust_av.c:1543,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/robust_av.c:1545,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/robust_av.c:1546,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/robust_av.c:1560,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/robust_av.c:1564,1
    - Dst: dscp_valid_domain_name
      Src: /src/hostap/wpa_supplicant/robust_av.c:1567,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/robust_av.c:1568,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/robust_av.c:1571,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/robust_av.c:1572,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/robust_av.c:1573,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/robust_av.c:1580,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/robust_av.c:1585,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 62
    argCount: 2
    argNames:
    - wpa_s
    - policy
    argTypes:
    - struct wpa_supplicant*
    - struct dscp_policy_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1587
      start: 1496
    functionDepth: 2
    functionLinenumber: 1496
    functionLinenumberEnd: 1587
    functionName: wpas_add_dscp_policy
    functionSourceFile: /src/hostap/wpa_supplicant/robust_av.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_msg
    - write_ipv4_info
    - dscp_valid_domain_name
    - os_snprintf
    - wpas_set_frame_classifier_params
    - os_snprintf_error
    - write_ipv6_info
    linkageType: ''
    returnType: void
    signature: "void wpas_add_dscp_policy(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      struct dscp_policy_data *policy)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/robust_av.c:1592,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/robust_av.c:1593,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/robust_av.c:1599,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1601
      start: 1590
    functionDepth: 0
    functionLinenumber: 1590
    functionLinenumberEnd: 1601
    functionName: wpas_dscp_deinit
    functionSourceFile: /src/hostap/wpa_supplicant/robust_av.c
    functionUses: 2
    functionsReached:
    - eloop_cancel_timeout
    - wpa_printf
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: void wpas_dscp_deinit(struct wpa_supplicant *wpa_s)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/robust_av.c:1610,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/wpa_supplicant/robust_av.c:1615,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/wpa_supplicant/robust_av.c:1616,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/robust_av.c:1621,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/robust_av.c:1633,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/robust_av.c:1643,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/robust_av.c:1652,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 4
    argNames:
    - policy
    - attr_id
    - attr_len
    - attr_data
    argTypes:
    - struct dscp_policy_data*
    - u8
    - u8
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1656
      start: 1604
    functionDepth: 1
    functionLinenumber: 1604
    functionLinenumberEnd: 1656
    functionName: wpas_fill_dscp_policy
    functionSourceFile: /src/hostap/wpa_supplicant/robust_av.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - WPA_GET_BE16
    linkageType: ''
    returnType: void
    signature: "void wpas_fill_dscp_policy(struct dscp_policy_data *policy, u8 attr_id,\n\t\t\t\t
      \ u8 attr_len, const u8 *attr_data)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/robust_av.c:1668,1
    - Dst: pmf_in_use
      Src: /src/hostap/wpa_supplicant/robust_av.c:1673,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/robust_av.c:1674,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/robust_av.c:1680,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/robust_av.c:1690,1
    - Dst: is_multicast_ether_addr
      Src: /src/hostap/wpa_supplicant/robust_av.c:1695,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/robust_av.c:1696,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/robust_av.c:1699,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/robust_av.c:1699,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/robust_av.c:1704,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/robust_av.c:1713,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/robust_av.c:1720,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/wpa_supplicant/robust_av.c:1735,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/robust_av.c:1741,1
    - Dst: wpas_fill_dscp_policy
      Src: /src/hostap/wpa_supplicant/robust_av.c:1753,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/robust_av.c:1762,1
    - Dst: wpas_add_dscp_policy
      Src: /src/hostap/wpa_supplicant/robust_av.c:1768,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/robust_av.c:1770,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/robust_av.c:1773,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/robust_av.c:1777,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 72
    argCount: 5
    argNames:
    - wpa_s
    - dst
    - src
    - buf
    - len
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1778
      start: 1659
    functionDepth: 3
    functionLinenumber: 1659
    functionLinenumberEnd: 1778
    functionName: wpas_handle_qos_mgmt_recv_action
    functionSourceFile: /src/hostap/wpa_supplicant/robust_av.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - is_multicast_ether_addr
    - wpa_msg
    - eloop_cancel_timeout
    - pmf_in_use
    - MAC2STR
    - wpas_fill_dscp_policy
    - wpas_add_dscp_policy
    - WPA_GET_BE32
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void wpas_handle_qos_mgmt_recv_action(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \     const u8 *dst, const u8 *src,\n\t\t\t\t      const u8 *buf, size_t len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/robust_av.c:1790,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/robust_av.c:1796,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/robust_av.c:1801,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/robust_av.c:1815,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/robust_av.c:1817,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/robust_av.c:1822,1
    - Dst: wpabuf_put_be24
      Src: /src/hostap/wpa_supplicant/robust_av.c:1823,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/robust_av.c:1824,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/robust_av.c:1825,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/robust_av.c:1827,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/robust_av.c:1834,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/robust_av.c:1836,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/robust_av.c:1838,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/robust_av.c:1839,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/wpa_supplicant/robust_av.c:1842,1
    - Dst: wpa_drv_send_action
      Src: /src/hostap/wpa_supplicant/robust_av.c:1843,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/robust_av.c:1845,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/robust_av.c:1845,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/robust_av.c:1847,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/robust_av.c:1858,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 2
    argNames:
    - wpa_s
    - resp_data
    argTypes:
    - struct wpa_supplicant*
    - struct dscp_resp_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1860
      start: 1781
    functionDepth: 3
    functionLinenumber: 1781
    functionLinenumberEnd: 1860
    functionName: wpas_send_dscp_response
    functionSourceFile: /src/hostap/wpa_supplicant/robust_av.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpa_drv_send_action
    - wpabuf_put_u8
    - wpa_msg
    - wpabuf_len
    - wpabuf_free
    - wpabuf_head
    - wpabuf_alloc
    - wpabuf_put_be24
    - wpa_hexdump_buf
    linkageType: ''
    returnType: int
    signature: "int wpas_send_dscp_response(struct wpa_supplicant *wpa_s,\n\t\t\t
      \   struct dscp_resp_data *resp_data)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/robust_av.c:1873,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/robust_av.c:1879,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/robust_av.c:1886,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/robust_av.c:1899,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/robust_av.c:1901,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/robust_av.c:1905,1
    - Dst: wpabuf_put_be32
      Src: /src/hostap/wpa_supplicant/robust_av.c:1906,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/robust_av.c:1907,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/robust_av.c:1911,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/robust_av.c:1915,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/robust_av.c:1916,1
    - Dst: wpabuf_put_be32
      Src: /src/hostap/wpa_supplicant/robust_av.c:1917,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/robust_av.c:1918,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/robust_av.c:1919,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/wpa_supplicant/robust_av.c:1920,1
    - Dst: wpa_drv_send_action
      Src: /src/hostap/wpa_supplicant/robust_av.c:1924,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/robust_av.c:1926,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/robust_av.c:1926,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/robust_av.c:1928,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/robust_av.c:1932,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 3
    argNames:
    - wpa_s
    - domain_name
    - domain_name_length
    argTypes:
    - struct wpa_supplicant*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1934
      start: 1863
    functionDepth: 3
    functionLinenumber: 1863
    functionLinenumberEnd: 1934
    functionName: wpas_send_dscp_query
    functionSourceFile: /src/hostap/wpa_supplicant/robust_av.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpa_drv_send_action
    - wpabuf_put_data
    - wpabuf_put_u8
    - wpabuf_len
    - wpabuf_free
    - wpabuf_head
    - wpabuf_alloc
    - wpa_dbg
    - wpabuf_put_be32
    linkageType: ''
    returnType: int
    signature: "int wpas_send_dscp_query(struct wpa_supplicant *wpa_s, const char
      *domain_name,\n\t\t\t size_t domain_name_length)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/autoscan_exponential.c:32,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/autoscan_exponential.c:34,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/autoscan_exponential.c:39,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - data
    - params
    argTypes:
    - struct autoscan_exponential_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 42
    functionName: autoscan_exponential_get_params
    functionSourceFile: /src/hostap/wpa_supplicant/autoscan_exponential.c
    functionUses: 0
    functionsReached:
    - atoi
    - os_strchr
    linkageType: ''
    returnType: int
    signature: "int autoscan_exponential_get_params(struct autoscan_exponential_data
      *data,\n\t\t\t\tconst char *params)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/autoscan_exponential.c:50,1
    - Dst: autoscan_exponential_get_params
      Src: /src/hostap/wpa_supplicant/autoscan_exponential.c:54,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/autoscan_exponential.c:55,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/autoscan_exponential.c:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - wpa_s
    - params
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 65
    functionName: autoscan_exponential_init
    functionSourceFile: /src/hostap/wpa_supplicant/autoscan_exponential.c
    functionUses: 0
    functionsReached:
    - os_free
    - os_zalloc
    - autoscan_exponential_get_params
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: "void * autoscan_exponential_init(struct wpa_supplicant *wpa_s,\n\t\t\t\t\tconst
      char *params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/autoscan_exponential.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: autoscan_exponential_deinit
    functionSourceFile: /src/hostap/wpa_supplicant/autoscan_exponential.c
    functionUses: 0
    functionsReached:
    - os_free
    linkageType: ''
    returnType: void
    signature: void autoscan_exponential_deinit(void *priv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/autoscan_exponential.c:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - priv
    - scan_res
    argTypes:
    - void*
    - struct wpa_scan_results*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 96
    functionName: autoscan_exponential_notify_scan
    functionSourceFile: /src/hostap/wpa_supplicant/autoscan_exponential.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int autoscan_exponential_notify_scan(void *priv,\n\t\t\t\t\t    struct
      wpa_scan_results *scan_res)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:41,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:52,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:59,1
    - Dst: p2p_sd_dns_uncompress_label
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:66,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:78,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:87,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 5
    argNames:
    - upos
    - uend
    - start
    - spos
    - end
    argTypes:
    - char**
    - char*
    - u8*
    - u8**
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 96
    functionName: p2p_sd_dns_uncompress_label
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c
    functionUses: 1
    functionsReached:
    - p2p_sd_dns_uncompress_label
    - wpa_printf
    - os_memcpy
    linkageType: ''
    returnType: int
    signature: "int p2p_sd_dns_uncompress_label(char **upos, char *uend, u8 *start,\n\t\t\t\t
      \      u8 **spos, const u8 *end)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:117,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:124,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:125,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:126,1
    - Dst: p2p_sd_dns_uncompress_label
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:131,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:133,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:143,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 5
    argNames:
    - buf
    - buf_len
    - msg
    - msg_len
    - offset
    argTypes:
    - char*
    - size_t
    - u8*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 145
    functionName: p2p_sd_dns_uncompress
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - p2p_sd_dns_uncompress_label
    - os_malloc
    - os_free
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int p2p_sd_dns_uncompress(char *buf, size_t buf_len, const u8 *msg,\n\t\t\t\t
      size_t msg_len, size_t offset)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:155,1
    - Dst: dl_list_for_each
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:156,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:158,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:159,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:159,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - wpa_s
    - query
    argTypes:
    - struct wpa_supplicant*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 164
    functionName: wpas_p2p_service_get_bonjour
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c
    functionUses: 0
    functionsReached:
    - wpabuf_len
    - os_memcmp
    - dl_list_for_each
    - wpabuf_head
    linkageType: ''
    returnType: struct p2p_srv_bonjour
    signature: "struct p2p_srv_bonjour *\nwpas_p2p_service_get_bonjour(struct wpa_supplicant
      *wpa_s,\n\t\t\t     const struct wpabuf *query)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:173,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - wpa_s
    - version
    - service
    argTypes:
    - struct wpa_supplicant*
    - u8
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 180
    functionName: wpas_p2p_service_get_upnp
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    - os_strcmp
    linkageType: ''
    returnType: struct p2p_srv_upnp
    signature: "struct p2p_srv_upnp *\nwpas_p2p_service_get_upnp(struct wpa_supplicant
      *wpa_s, u8 version,\n\t\t\t  const char *service)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_tailroom
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:188,1
    - Dst: wpabuf_put
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:192,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:193,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:194,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:196,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:198,1
    - Dst: wpabuf_put
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - resp
    - srv_proto
    - srv_trans_id
    - status
    argTypes:
    - struct wpabuf*
    - u8
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 199
    functionName: wpas_sd_add_empty
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c
    functionUses: 0
    functionsReached:
    - WPA_PUT_LE16
    - wpabuf_put
    - wpabuf_put_u8
    - wpabuf_tailroom
    linkageType: ''
    returnType: void
    signature: "void wpas_sd_add_empty(struct wpabuf *resp, u8 srv_proto,\n\t\t\t
      \     u8 srv_trans_id, u8 status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_sd_add_empty
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - resp
    - srv_proto
    - srv_trans_id
    argTypes:
    - struct wpabuf*
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 202
    functionDepth: 2
    functionLinenumber: 202
    functionLinenumberEnd: 207
    functionName: wpas_sd_add_proto_not_avail
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c
    functionUses: 0
    functionsReached:
    - wpas_sd_add_empty
    linkageType: ''
    returnType: void
    signature: "void wpas_sd_add_proto_not_avail(struct wpabuf *resp, u8 srv_proto,\n\t\t\t\t\tu8
      srv_trans_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_sd_add_empty
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - resp
    - srv_proto
    - srv_trans_id
    argTypes:
    - struct wpabuf*
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 214
    functionName: wpas_sd_add_bad_request
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c
    functionUses: 0
    functionsReached:
    - wpas_sd_add_empty
    linkageType: ''
    returnType: void
    signature: "void wpas_sd_add_bad_request(struct wpabuf *resp, u8 srv_proto,\n\t\t\t\t
      \   u8 srv_trans_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_sd_add_empty
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - resp
    - srv_proto
    - srv_trans_id
    argTypes:
    - struct wpabuf*
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 222
    functionName: wpas_sd_add_not_found
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c
    functionUses: 0
    functionsReached:
    - wpas_sd_add_empty
    linkageType: ''
    returnType: void
    signature: "void wpas_sd_add_not_found(struct wpabuf *resp, u8 srv_proto,\n\t\t\t\t
      \ u8 srv_trans_id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:231,1
    - Dst: dl_list_empty
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:233,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:234,1
    - Dst: dl_list_for_each
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:238,1
    - Dst: wpabuf_tailroom
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:240,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:241,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:241,1
    - Dst: wpabuf_put
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:244,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:245,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:246,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:248,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:249,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:250,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:251,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:253,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:254,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:255,1
    - Dst: wpabuf_put
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:255,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - wpa_s
    - resp
    - srv_trans_id
    argTypes:
    - struct wpa_supplicant*
    - struct wpabuf*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 258
    functionName: wpas_sd_all_bonjour
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put
    - wpabuf_put_u8
    - dl_list_empty
    - wpabuf_len
    - wpabuf_tailroom
    - dl_list_for_each
    - wpabuf_head
    - wpabuf_put_buf
    - wpa_hexdump_ascii
    - WPA_PUT_LE16
    linkageType: ''
    returnType: void
    signature: "void wpas_sd_all_bonjour(struct wpa_supplicant *wpa_s,\n\t\t\t\tstruct
      wpabuf *resp, u8 srv_trans_id)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:266,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:268,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:269,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:269,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:272,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:273,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:273,1
    - Dst: p2p_sd_dns_uncompress
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:276,1
    - Dst: p2p_sd_dns_uncompress
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:279,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:280,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:281,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:284,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - bsrv
    - query
    - query_len
    argTypes:
    - struct p2p_srv_bonjour*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 261
    functionDepth: 3
    functionLinenumber: 261
    functionLinenumberEnd: 285
    functionName: match_bonjour_query
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c
    functionUses: 0
    functionsReached:
    - wpabuf_head_u8
    - wpabuf_len
    - wpabuf_head
    - os_memcmp
    - p2p_sd_dns_uncompress
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: "int match_bonjour_query(struct p2p_srv_bonjour *bsrv, const u8 *query,\n\t\t\t
      \      size_t query_len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:296,1
    - Dst: dl_list_empty
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:298,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:299,1
    - Dst: wpas_sd_add_proto_not_avail
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:300,1
    - Dst: wpas_sd_all_bonjour
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:306,1
    - Dst: dl_list_for_each
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:310,1
    - Dst: match_bonjour_query
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:312,1
    - Dst: wpabuf_tailroom
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:315,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:316,1
    - Dst: wpabuf_put
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:322,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:323,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:324,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:327,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:328,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:329,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:330,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:333,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:334,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:336,1
    - Dst: wpabuf_put
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:336,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:340,1
    - Dst: wpabuf_tailroom
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:342,1
    - Dst: wpabuf_put
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:346,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:347,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:348,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:351,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:353,1
    - Dst: wpabuf_put
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:353,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 5
    argNames:
    - wpa_s
    - resp
    - srv_trans_id
    - query
    - query_len
    argTypes:
    - struct wpa_supplicant*
    - struct wpabuf*
    - u8
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 288
    functionDepth: 4
    functionLinenumber: 288
    functionLinenumberEnd: 356
    functionName: wpas_sd_req_bonjour
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - match_bonjour_query
    - wpabuf_put
    - wpabuf_put_u8
    - dl_list_empty
    - wpabuf_len
    - wpabuf_put_data
    - wpas_sd_add_proto_not_avail
    - wpabuf_tailroom
    - dl_list_for_each
    - wpabuf_head
    - wpabuf_put_buf
    - wpas_sd_all_bonjour
    - wpa_hexdump_ascii
    - WPA_PUT_LE16
    linkageType: ''
    returnType: void
    signature: "void wpas_sd_req_bonjour(struct wpa_supplicant *wpa_s,\n\t\t\t\tstruct
      wpabuf *resp, u8 srv_trans_id,\n\t\t\t\tconst u8 *query, size_t query_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:365,1
    - Dst: dl_list_empty
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:367,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:368,1
    - Dst: dl_list_for_each
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:372,1
    - Dst: wpabuf_tailroom
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:374,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:374,1
    - Dst: wpabuf_put
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:378,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:379,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:380,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:383,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:385,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:386,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:388,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:389,1
    - Dst: wpabuf_put
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:389,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - wpa_s
    - resp
    - srv_trans_id
    argTypes:
    - struct wpa_supplicant*
    - struct wpabuf*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 392
    functionName: wpas_sd_all_upnp
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - wpabuf_put
    - wpabuf_put_u8
    - dl_list_empty
    - wpabuf_put_str
    - wpabuf_tailroom
    - dl_list_for_each
    - WPA_PUT_LE16
    linkageType: ''
    returnType: void
    signature: "void wpas_sd_all_upnp(struct wpa_supplicant *wpa_s,\n\t\t\t     struct
      wpabuf *resp, u8 srv_trans_id)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:405,1
    - Dst: dl_list_empty
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:408,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:409,1
    - Dst: wpas_sd_add_proto_not_avail
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:410,1
    - Dst: wpas_sd_all_upnp
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:416,1
    - Dst: wpabuf_tailroom
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:420,1
    - Dst: wpabuf_put
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:424,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:425,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:426,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:429,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:432,1
    - Dst: dl_list_for_each
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:435,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:440,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:441,1
    - Dst: wpabuf_tailroom
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:444,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:448,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:450,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:452,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:456,1
    - Dst: wpabuf_tailroom
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:458,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:458,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:460,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:462,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:465,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:468,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:472,1
    - Dst: wpabuf_put
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:472,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 5
    argNames:
    - wpa_s
    - resp
    - srv_trans_id
    - query
    - query_len
    argTypes:
    - struct wpa_supplicant*
    - struct wpabuf*
    - u8
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 395
    functionDepth: 3
    functionLinenumber: 395
    functionLinenumberEnd: 473
    functionName: wpas_sd_req_upnp
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - wpabuf_put
    - os_memcpy
    - wpabuf_put_u8
    - dl_list_empty
    - wpabuf_put_str
    - wpas_sd_add_proto_not_avail
    - os_malloc
    - wpabuf_tailroom
    - dl_list_for_each
    - os_strstr
    - os_strcmp
    - wpas_sd_all_upnp
    - os_free
    - wpa_hexdump_ascii
    - WPA_PUT_LE16
    linkageType: ''
    returnType: void
    signature: "void wpas_sd_req_upnp(struct wpa_supplicant *wpa_s,\n\t\t\t     struct
      wpabuf *resp, u8 srv_trans_id,\n\t\t\t     const u8 *query, size_t query_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:485,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:488,1
    - Dst: wpas_sd_add_proto_not_avail
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:489,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:495,1
    - Dst: wpabuf_tailroom
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:500,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:505,1
    - Dst: wpabuf_put
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:510,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:511,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:512,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:513,1
    - Dst: wpabuf_tailroom
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:518,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:519,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:520,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:522,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:527,1
    - Dst: wpabuf_put
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:527,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 5
    argNames:
    - wpa_s
    - resp
    - srv_trans_id
    - query
    - query_len
    argTypes:
    - struct wpa_supplicant*
    - struct wpabuf*
    - u8
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 477
    functionDepth: 3
    functionLinenumber: 477
    functionLinenumberEnd: 528
    functionName: wpas_sd_req_wfd
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put
    - wpa_hexdump
    - wpabuf_put_u8
    - wpabuf_len
    - wpas_sd_add_proto_not_avail
    - wpabuf_tailroom
    - wpabuf_put_buf
    - WPA_PUT_LE16
    linkageType: ''
    returnType: void
    signature: "void wpas_sd_req_wfd(struct wpa_supplicant *wpa_s,\n\t\t\t    struct
      wpabuf *resp, u8 srv_trans_id,\n\t\t\t    const u8 *query, size_t query_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:545,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:549,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - adv_data
    - needle
    - needle_len
    argTypes:
    - struct p2ps_advertisement*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 554
    functionName: find_p2ps_substr
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_memcmp
    linkageType: ''
    returnType: int
    signature: "int find_p2ps_substr(struct p2ps_advertisement *adv_data,\n\t\t\t
      \   const u8 *needle, size_t needle_len)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:570,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:573,1
    - Dst: wpas_sd_add_proto_not_avail
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:574,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:586,1
    - Dst: wpas_sd_add_bad_request
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:587,1
    - Dst: p2p_get_p2ps_adv_list
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:597,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:600,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:604,1
    - Dst: find_p2ps_substr
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:605,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:606,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:610,1
    - Dst: wpabuf_tailroom
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:617,1
    - Dst: wpabuf_put
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:621,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:622,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:623,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:625,1
    - Dst: wpabuf_put
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:626,1
    - Dst: wpabuf_tailroom
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:628,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:633,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:638,1
    - Dst: wpabuf_put_le32
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:643,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:646,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:649,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:650,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:653,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:656,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:657,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:661,1
    - Dst: wpabuf_put
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:662,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:668,1
    - Dst: wpas_sd_add_not_found
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:669,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 60
    argCount: 5
    argNames:
    - wpa_s
    - resp
    - srv_trans_id
    - query
    - query_len
    argTypes:
    - struct wpa_supplicant*
    - struct wpabuf*
    - u8
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 557
    functionDepth: 3
    functionLinenumber: 557
    functionLinenumberEnd: 671
    functionName: wpas_sd_req_asp
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpas_sd_add_bad_request
    - wpa_printf
    - wpabuf_put
    - wpabuf_put_le32
    - wpas_sd_add_not_found
    - wpa_hexdump
    - wpabuf_put_u8
    - p2p_get_p2ps_adv_list
    - wpabuf_put_data
    - wpas_sd_add_proto_not_avail
    - wpabuf_put_be16
    - wpabuf_tailroom
    - wpabuf_put_le16
    - find_p2ps_substr
    - os_memcmp
    - WPA_PUT_LE16
    linkageType: ''
    returnType: void
    signature: "void wpas_sd_req_asp(struct wpa_supplicant *wpa_s,\n\t\t\t    struct
      wpabuf *resp, u8 srv_trans_id,\n\t\t\t    const u8 *query, size_t query_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: p2p_get_p2ps_adv_list
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:684,1
    - Dst: wpas_sd_req_asp
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:685,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - wpa_s
    - resp
    - srv_trans_id
    argTypes:
    - struct wpa_supplicant*
    - struct wpabuf*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 674
    functionDepth: 4
    functionLinenumber: 674
    functionLinenumberEnd: 686
    functionName: wpas_sd_all_asp
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c
    functionUses: 0
    functionsReached:
    - p2p_get_p2ps_adv_list
    - wpas_sd_req_asp
    linkageType: ''
    returnType: void
    signature: "void wpas_sd_all_asp(struct wpa_supplicant *wpa_s,\n\t\t\t    struct
      wpabuf *resp, u8 srv_trans_id)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:702,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:705,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:707,1
    - Dst: wpa_msg_ctrl
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:708,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:710,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:712,1
    - Dst: wpas_notify_p2p_sd_request
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:716,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:721,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:726,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:727,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:730,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:732,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:738,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:741,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:744,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:749,1
    - Dst: wpas_sd_all_bonjour
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:751,1
    - Dst: wpas_sd_all_upnp
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:752,1
    - Dst: wpas_sd_all_asp
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:753,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:759,1
    - Dst: dl_list_empty
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:761,1
    - Dst: dl_list_empty
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:762,1
    - Dst: p2p_get_p2ps_adv_list
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:763,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:764,1
    - Dst: wpas_sd_add_proto_not_avail
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:766,1
    - Dst: wpas_sd_all_bonjour
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:771,1
    - Dst: wpas_sd_all_upnp
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:772,1
    - Dst: wpas_sd_all_asp
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:773,1
    - Dst: wpas_sd_req_bonjour
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:776,1
    - Dst: wpas_sd_req_upnp
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:780,1
    - Dst: wpas_sd_req_wfd
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:785,1
    - Dst: wpas_sd_req_asp
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:790,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:794,1
    - Dst: wpas_sd_add_proto_not_avail
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:796,1
    - Dst: wpas_notify_p2p_sd_request
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:805,1
    - Dst: wpas_p2p_sd_response
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:808,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:810,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 75
    argCount: 7
    argNames:
    - ctx
    - freq
    - sa
    - dialog_token
    - update_indic
    - tlvs
    - tlvs_len
    argTypes:
    - void*
    - int
    - u8*
    - u8
    - u16
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 689
    functionDepth: 5
    functionLinenumber: 689
    functionLinenumberEnd: 811
    functionName: wpas_sd_request
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c
    functionUses: 0
    functionsReached:
    - wpas_sd_req_asp
    - wpas_sd_req_bonjour
    - wpa_hexdump
    - wpas_sd_req_upnp
    - wpas_sd_add_proto_not_avail
    - WPA_GET_LE16
    - wpabuf_alloc
    - wpa_printf
    - wpa_snprintf_hex
    - wpas_notify_p2p_sd_request
    - dl_list_empty
    - wpa_msg_ctrl
    - wpas_p2p_sd_response
    - os_free
    - wpas_sd_all_bonjour
    - p2p_get_p2ps_adv_list
    - os_malloc
    - wpas_sd_all_asp
    - wpas_sd_all_upnp
    - wpas_sd_req_wfd
    - wpabuf_free
    - MAC2STR
    linkageType: ''
    returnType: void
    signature: "void wpas_sd_request(void *ctx, int freq, const u8 *sa, u8 dialog_token,\n\t\t
      \    u16 update_indic, const u8 *tlvs, size_t tlvs_len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: WPA_GET_LE32
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:837,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:841,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:846,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:854,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:862,1
    - Dst: utf8_escape
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:864,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:874,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:877,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:881,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 5
    argNames:
    - wpa_s
    - sa
    - srv_trans_id
    - pos
    - tlv_end
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 814
    functionDepth: 1
    functionLinenumber: 814
    functionLinenumberEnd: 885
    functionName: wpas_sd_p2ps_serv_response
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c
    functionUses: 0
    functionsReached:
    - WPA_GET_BE16
    - os_memcpy
    - WPA_GET_LE32
    - WPA_GET_LE16
    - MAC2STR
    - os_zalloc
    - os_free
    - utf8_escape
    linkageType: ''
    returnType: void
    signature: "void wpas_sd_p2ps_serv_response(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \      const u8 *sa, u8 srv_trans_id,\n\t\t\t\t       const u8 *pos, const u8
      *tlv_end)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:899,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:906,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:910,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:912,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:916,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:923,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:924,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:927,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:934,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:937,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:940,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:943,1
    - Dst: wpas_sd_p2ps_serv_response
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:947,1
    - Dst: wpas_notify_p2p_sd_response
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:954,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 5
    argNames:
    - ctx
    - sa
    - update_indic
    - tlvs
    - tlvs_len
    argTypes:
    - void*
    - u8*
    - u16
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 888
    functionDepth: 2
    functionLinenumber: 888
    functionLinenumberEnd: 955
    functionName: wpas_sd_response
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c
    functionUses: 0
    functionsReached:
    - wpas_notify_p2p_sd_response
    - wpa_printf
    - wpa_snprintf_hex
    - wpa_hexdump
    - os_malloc
    - WPA_GET_LE16
    - MAC2STR
    - os_free
    - wpas_sd_p2ps_serv_response
    linkageType: ''
    returnType: void
    signature: "void wpas_sd_response(void *ctx, const u8 *sa, u16 update_indic,\n\t\t
      \     const u8 *tlvs, size_t tlvs_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: p2p_sd_request
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:963,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - wpa_s
    - dst
    - tlvs
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 958
    functionDepth: 1
    functionLinenumber: 958
    functionLinenumberEnd: 964
    functionName: wpas_p2p_sd_request
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c
    functionUses: 1
    functionsReached:
    - p2p_sd_request
    linkageType: ''
    returnType: u64
    signature: "u64 wpas_p2p_sd_request(struct wpa_supplicant *wpa_s, const u8 *dst,\n\t\t\tconst
      struct wpabuf *tlvs)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:973,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:973,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:976,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:976,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:977,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:978,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:979,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:980,1
    - Dst: wpas_p2p_sd_request
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:981,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:982,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - wpa_s
    - dst
    - version
    - query
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 967
    functionDepth: 2
    functionLinenumber: 967
    functionLinenumberEnd: 984
    functionName: wpas_p2p_sd_request_upnp
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c
    functionUses: 1
    functionsReached:
    - os_strlen
    - wpabuf_put_u8
    - wpabuf_put_str
    - wpas_p2p_sd_request
    - wpabuf_free
    - wpabuf_put_le16
    - wpabuf_alloc
    linkageType: ''
    returnType: u64
    signature: "u64 wpas_p2p_sd_request_upnp(struct wpa_supplicant *wpa_s, const u8
      *dst,\n\t\t\t     u8 version, const char *query)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:994,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:996,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:1002,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:1006,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:1007,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:1008,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:1009,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:1010,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:1011,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:1012,1
    - Dst: wpas_p2p_sd_request
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:1013,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:1014,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 5
    argNames:
    - wpa_s
    - dst
    - id
    - svc_str
    - info_substr
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 987
    functionDepth: 2
    functionLinenumber: 987
    functionLinenumberEnd: 1017
    functionName: wpas_p2p_sd_request_asp
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c
    functionUses: 1
    functionsReached:
    - os_strlen
    - wpabuf_put_data
    - wpabuf_put_u8
    - wpas_p2p_sd_request
    - wpabuf_free
    - wpabuf_put_le16
    - wpabuf_alloc
    linkageType: ''
    returnType: u64
    signature: "u64 wpas_p2p_sd_request_asp(struct wpa_supplicant *wpa_s, const u8
      *dst, u8 id,\n\t\t\t    const char *svc_str, const char *info_substr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: p2p_sd_request_wfd
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:1027,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - wpa_s
    - dst
    - tlvs
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 1022
    functionDepth: 1
    functionLinenumber: 1022
    functionLinenumberEnd: 1028
    functionName: wpas_p2p_sd_request_wfd
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c
    functionUses: 0
    functionsReached:
    - p2p_sd_request_wfd
    linkageType: ''
    returnType: u64
    signature: "u64 wpas_p2p_sd_request_wfd(struct wpa_supplicant *wpa_s, const u8
      *dst,\n\t\t\t\t   const struct wpabuf *tlvs)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:1041,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:1042,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:1043,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:1045,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:1049,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:1051,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:1056,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:1062,1
    - Dst: wpabuf_put
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:1062,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 4
    argNames:
    - tlvs
    - id
    - role
    - subelems
    argTypes:
    - struct wpabuf*
    - u8
    - u8
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1033
    functionDepth: 1
    functionLinenumber: 1033
    functionLinenumberEnd: 1063
    functionName: wfd_add_sd_req_role
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c
    functionUses: 0
    functionsReached:
    - wpabuf_put
    - wpabuf_put_u8
    - atoi
    - os_strchr
    - WPA_PUT_LE16
    linkageType: ''
    returnType: void
    signature: "void wfd_add_sd_req_role(struct wpabuf *tlvs, u8 id, u8 role,\n\t\t\t\tconst
      char *subelems)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:1074,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:1079,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:1083,1
    - Dst: wfd_add_sd_req_role
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:1084,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:1085,1
    - Dst: wfd_add_sd_req_role
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:1086,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:1087,1
    - Dst: wfd_add_sd_req_role
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:1088,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:1089,1
    - Dst: wfd_add_sd_req_role
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:1090,1
    - Dst: wpas_p2p_sd_request_wfd
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:1092,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:1093,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - wpa_s
    - dst
    - role
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1095
      start: 1066
    functionDepth: 2
    functionLinenumber: 1066
    functionLinenumberEnd: 1095
    functionName: wpas_p2p_sd_request_wifi_display
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c
    functionUses: 1
    functionsReached:
    - wfd_add_sd_req_role
    - wpas_p2p_sd_request_wfd
    - wpabuf_free
    - os_strstr
    - wpabuf_alloc
    - os_strchr
    linkageType: ''
    returnType: u64
    signature: "u64 wpas_p2p_sd_request_wifi_display(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \    const u8 *dst, const char *role)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: p2p_sd_cancel_request
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:1104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - req
    argTypes:
    - struct wpa_supplicant*
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 1100
    functionDepth: 1
    functionLinenumber: 1100
    functionLinenumberEnd: 1106
    functionName: wpas_p2p_sd_cancel_request
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c
    functionUses: 1
    functionsReached:
    - p2p_sd_cancel_request
    linkageType: ''
    returnType: int
    signature: int wpas_p2p_sd_cancel_request(struct wpa_supplicant *wpa_s, u64 req)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: p2p_sd_response
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:1115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 5
    argNames:
    - wpa_s
    - freq
    - dst
    - dialog_token
    - resp_tlvs
    argTypes:
    - struct wpa_supplicant*
    - int
    - u8*
    - u8
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1109
    functionDepth: 1
    functionLinenumber: 1109
    functionLinenumberEnd: 1117
    functionName: wpas_p2p_sd_response
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c
    functionUses: 2
    functionsReached:
    - p2p_sd_response
    linkageType: ''
    returnType: void
    signature: "void wpas_p2p_sd_response(struct wpa_supplicant *wpa_s, int freq,\n\t\t\t
      \ const u8 *dst, u8 dialog_token,\n\t\t\t  const struct wpabuf *resp_tlvs)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: p2p_sd_service_update
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:1123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1124
      start: 1120
    functionDepth: 1
    functionLinenumber: 1120
    functionLinenumberEnd: 1124
    functionName: wpas_p2p_sd_service_update
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c
    functionUses: 0
    functionsReached:
    - p2p_sd_service_update
    linkageType: ''
    returnType: void
    signature: void wpas_p2p_sd_service_update(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_del
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:1129,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:1130,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:1131,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:1132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - bsrv
    argTypes:
    - struct p2p_srv_bonjour*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1127
    functionDepth: 1
    functionLinenumber: 1127
    functionLinenumberEnd: 1133
    functionName: wpas_p2p_srv_bonjour_free
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpabuf_free
    - dl_list_del
    linkageType: ''
    returnType: void
    signature: void wpas_p2p_srv_bonjour_free(struct p2p_srv_bonjour *bsrv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_del
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:1138,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:1139,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:1140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - usrv
    argTypes:
    - struct p2p_srv_upnp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 1136
    functionDepth: 1
    functionLinenumber: 1136
    functionLinenumberEnd: 1141
    functionName: wpas_p2p_srv_upnp_free
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c
    functionUses: 0
    functionsReached:
    - os_free
    - dl_list_del
    linkageType: ''
    returnType: void
    signature: void wpas_p2p_srv_upnp_free(struct p2p_srv_upnp *usrv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:1149,1
    - Dst: wpas_p2p_srv_bonjour_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:1151,1
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:1153,1
    - Dst: wpas_p2p_srv_upnp_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:1155,1
    - Dst: wpas_p2p_service_flush_asp
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:1157,1
    - Dst: wpas_p2p_sd_service_update
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:1158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1159
      start: 1144
    functionDepth: 2
    functionLinenumber: 1144
    functionLinenumberEnd: 1159
    functionName: wpas_p2p_service_flush
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c
    functionUses: 1
    functionsReached:
    - wpas_p2p_srv_bonjour_free
    - wpas_p2p_srv_upnp_free
    - wpas_p2p_sd_service_update
    - wpas_p2p_service_flush_asp
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: void wpas_p2p_service_flush(struct wpa_supplicant *wpa_s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: p2p_service_p2ps_id
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:1167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - wpa_s
    - adv_id
    argTypes:
    - struct wpa_supplicant*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1171
      start: 1162
    functionDepth: 1
    functionLinenumber: 1162
    functionLinenumberEnd: 1171
    functionName: wpas_p2p_service_p2ps_id_exists
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c
    functionUses: 1
    functionsReached:
    - p2p_service_p2ps_id
    linkageType: ''
    returnType: int
    signature: int wpas_p2p_service_p2ps_id_exists(struct wpa_supplicant *wpa_s, u32
      adv_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: p2p_service_del_asp
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:1178,1
    - Dst: wpas_p2p_sd_service_update
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:1180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - wpa_s
    - adv_id
    argTypes:
    - struct wpa_supplicant*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1182
      start: 1174
    functionDepth: 2
    functionLinenumber: 1174
    functionLinenumberEnd: 1182
    functionName: wpas_p2p_service_del_asp
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c
    functionUses: 1
    functionsReached:
    - wpas_p2p_sd_service_update
    - p2p_service_del_asp
    linkageType: ''
    returnType: int
    signature: int wpas_p2p_service_del_asp(struct wpa_supplicant *wpa_s, u32 adv_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: p2p_service_add_asp
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:1193,1
    - Dst: wpas_p2p_sd_service_update
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:1197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 8
    argNames:
    - wpa_s
    - auto_accept
    - adv_id
    - adv_str
    - svc_state
    - config_methods
    - svc_info
    - cpt_priority
    argTypes:
    - struct wpa_supplicant*
    - int
    - u32
    - char*
    - u8
    - u16
    - char*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1199
      start: 1185
    functionDepth: 2
    functionLinenumber: 1185
    functionLinenumberEnd: 1199
    functionName: wpas_p2p_service_add_asp
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c
    functionUses: 1
    functionsReached:
    - wpas_p2p_sd_service_update
    - p2p_service_add_asp
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_service_add_asp(struct wpa_supplicant *wpa_s,\n\t\t\t
      \    int auto_accept, u32 adv_id,\n\t\t\t     const char *adv_str, u8 svc_state,\n\t\t\t
      \    u16 config_methods, const char *svc_info,\n\t\t\t     const u8 *cpt_priority)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: p2p_service_flush_asp
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:1204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1202
    functionDepth: 1
    functionLinenumber: 1202
    functionLinenumberEnd: 1205
    functionName: wpas_p2p_service_flush_asp
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c
    functionUses: 2
    functionsReached:
    - p2p_service_flush_asp
    linkageType: ''
    returnType: void
    signature: void wpas_p2p_service_flush_asp(struct wpa_supplicant *wpa_s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:1213,1
    - Dst: wpabuf_dup
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:1216,1
    - Dst: wpabuf_dup
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:1219,1
    - Dst: dl_list_add
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:1222,1
    - Dst: wpas_p2p_sd_service_update
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:1224,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:1228,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:1230,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - wpa_s
    - query
    - resp
    argTypes:
    - struct wpa_supplicant*
    - struct wpabuf*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1232
      start: 1208
    functionDepth: 2
    functionLinenumber: 1208
    functionLinenumberEnd: 1232
    functionName: wpas_p2p_service_add_bonjour
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c
    functionUses: 1
    functionsReached:
    - wpabuf_dup
    - wpabuf_free
    - os_zalloc
    - dl_list_add
    - wpas_p2p_sd_service_update
    - os_free
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_service_add_bonjour(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      struct wpabuf *query, struct wpabuf *resp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_p2p_service_get_bonjour
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:1240,1
    - Dst: wpas_p2p_srv_bonjour_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:1243,1
    - Dst: wpas_p2p_sd_service_update
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:1244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - wpa_s
    - query
    argTypes:
    - struct wpa_supplicant*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1246
      start: 1235
    functionDepth: 2
    functionLinenumber: 1235
    functionLinenumberEnd: 1246
    functionName: wpas_p2p_service_del_bonjour
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c
    functionUses: 1
    functionsReached:
    - wpas_p2p_sd_service_update
    - wpas_p2p_service_get_bonjour
    - wpas_p2p_srv_bonjour_free
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_service_del_bonjour(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      const struct wpabuf *query)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpas_p2p_service_get_upnp
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:1254,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:1256,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:1260,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:1262,1
    - Dst: dl_list_add
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:1265,1
    - Dst: wpas_p2p_sd_service_update
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:1267,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - wpa_s
    - version
    - service
    argTypes:
    - struct wpa_supplicant*
    - u8
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1269
      start: 1249
    functionDepth: 2
    functionLinenumber: 1249
    functionLinenumberEnd: 1269
    functionName: wpas_p2p_service_add_upnp
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c
    functionUses: 1
    functionsReached:
    - wpas_p2p_sd_service_update
    - os_zalloc
    - wpas_p2p_service_get_upnp
    - dl_list_add
    - os_free
    - os_strdup
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_service_add_upnp(struct wpa_supplicant *wpa_s, u8 version,\n\t\t\t
      \     const char *service)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_p2p_service_get_upnp
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:1277,1
    - Dst: wpas_p2p_srv_upnp_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:1280,1
    - Dst: wpas_p2p_sd_service_update
      Src: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c:1281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - wpa_s
    - version
    - service
    argTypes:
    - struct wpa_supplicant*
    - u8
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1283
      start: 1272
    functionDepth: 2
    functionLinenumber: 1272
    functionLinenumberEnd: 1283
    functionName: wpas_p2p_service_del_upnp
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c
    functionUses: 1
    functionsReached:
    - wpas_p2p_sd_service_update
    - wpas_p2p_service_get_upnp
    - wpas_p2p_srv_upnp_free
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_service_del_upnp(struct wpa_supplicant *wpa_s, u8 version,\n\t\t\t
      \     const char *service)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:43,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:44,1
    - Dst: wpabuf_put_be24
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:45,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:46,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:50,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:52,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - buf
    - pps_mo_id
    - ap_release
    argTypes:
    - struct wpabuf*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 53
    functionName: wpas_hs20_add_indication
    functionSourceFile: /src/hostap/wpa_supplicant/hs20_supplicant.c
    functionUses: 1
    functionsReached:
    - wpabuf_put_le16
    - wpabuf_put_u8
    - wpabuf_put_be24
    linkageType: ''
    returnType: void
    signature: void wpas_hs20_add_indication(struct wpabuf *buf, int pps_mo_id, int
      ap_release)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:63,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:64,1
    - Dst: wpabuf_put_be24
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:65,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:66,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - buf
    - ssid
    argTypes:
    - struct wpabuf*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 69
    functionName: wpas_hs20_add_roam_cons_sel
    functionSourceFile: /src/hostap/wpa_supplicant/hs20_supplicant.c
    functionUses: 0
    functionsReached:
    - wpabuf_put_data
    - wpabuf_put_u8
    - wpabuf_put_be24
    linkageType: ''
    returnType: void
    signature: "void wpas_hs20_add_roam_cons_sel(struct wpabuf *buf,\n\t\t\t\t const
      struct wpa_ssid *ssid)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_bss_get_vendor_ie
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - bss
    argTypes:
    - struct wpa_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 84
    functionName: get_hs20_version
    functionSourceFile: /src/hostap/wpa_supplicant/hs20_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_bss_get_vendor_ie
    linkageType: ''
    returnType: int
    signature: int get_hs20_version(struct wpa_bss *bss)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_bss_get_vendor_ie
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:96,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - wpa_s
    - ssid
    - bss
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    - struct wpa_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 113
    functionName: is_hs20_network
    functionSourceFile: /src/hostap/wpa_supplicant/hs20_supplicant.c
    functionUses: 1
    functionsReached:
    - wpa_bss_get_vendor_ie
    linkageType: ''
    returnType: int
    signature: "int is_hs20_network(struct wpa_supplicant *wpa_s, struct wpa_ssid
      *ssid,\n\t\t    struct wpa_bss *bss)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - wpa_s
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 135
    functionName: hs20_get_pps_mo_id
    functionSourceFile: /src/hostap/wpa_supplicant/hs20_supplicant.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int hs20_get_pps_mo_id(struct wpa_supplicant *wpa_s, struct wpa_ssid
      *ssid)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gas_anqp_add_element
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:146,1
    - Dst: wpabuf_put_be24
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:147,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:148,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:149,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:150,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:151,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:153,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:156,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:157,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:159,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:160,1
    - Dst: gas_anqp_set_element_len
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:163,1
    - Dst: gas_anqp_set_len
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:165,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - stypes
    - payload
    - payload_len
    - buf
    argTypes:
    - u32
    - u8*
    - size_t
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 166
    functionName: hs20_put_anqp_req
    functionSourceFile: /src/hostap/wpa_supplicant/hs20_supplicant.c
    functionUses: 1
    functionsReached:
    - wpabuf_put_u8
    - wpabuf_put_data
    - BIT
    - gas_anqp_add_element
    - gas_anqp_set_element_len
    - gas_anqp_set_len
    - wpabuf_put_be24
    linkageType: ''
    returnType: void
    signature: "void hs20_put_anqp_req(u32 stypes, const u8 *payload, size_t payload_len,\n\t\t
      \      struct wpabuf *buf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gas_anqp_build_initial_req
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:174,1
    - Dst: hs20_put_anqp_req
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - stypes
    - payload
    - payload_len
    argTypes:
    - u32
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 181
    functionName: hs20_build_anqp_req
    functionSourceFile: /src/hostap/wpa_supplicant/hs20_supplicant.c
    functionUses: 0
    functionsReached:
    - hs20_put_anqp_req
    - gas_anqp_build_initial_req
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * hs20_build_anqp_req(u32 stypes, const u8 *payload,\n\t\t\t\t\t
      \  size_t payload_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_bss_get_bssid
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:193,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:195,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:197,1
    - Dst: wpa_bss_anqp_unshare_alloc
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:201,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:204,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:205,1
    - Dst: hs20_build_anqp_req
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:207,1
    - Dst: gas_query_req
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:211,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:214,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:215,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:218,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 5
    argNames:
    - wpa_s
    - dst
    - stypes
    - payload
    - payload_len
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u32
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 184
    functionDepth: 3
    functionLinenumber: 184
    functionLinenumberEnd: 222
    functionName: hs20_anqp_send_req
    functionSourceFile: /src/hostap/wpa_supplicant/hs20_supplicant.c
    functionUses: 3
    functionsReached:
    - wpa_printf
    - wpa_bss_anqp_unshare_alloc
    - wpa_bss_get_bssid
    - wpabuf_free
    - gas_query_req
    - MAC2STR
    - hs20_build_anqp_req
    linkageType: ''
    returnType: int
    signature: "int hs20_anqp_send_req(struct wpa_supplicant *wpa_s, const u8 *dst,
      u32 stypes,\n\t\t       const u8 *payload, size_t payload_len)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:247,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:248,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:249,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:251,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:253,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:257,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:258,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:259,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:261,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:263,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:267,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:269,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:270,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:273,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:274,1
    - Dst: WPA_GET_LE32
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:275,1
    - Dst: WPA_GET_LE32
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:275,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:276,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:278,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:279,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:283,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:284,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:285,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:287,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:289,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:293,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:294,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:295,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:297,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:299,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:303,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 58
    argCount: 6
    argNames:
    - wpa_s
    - bss
    - sa
    - data
    - slen
    - dialog_token
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_bss*
    - u8*
    - u8*
    - size_t
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 306
    functionName: hs20_parse_rx_hs20_anqp_resp
    functionSourceFile: /src/hostap/wpa_supplicant/hs20_supplicant.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    - wpa_msg
    - wpabuf_free
    - WPA_GET_LE32
    - wpabuf_alloc_copy
    - WPA_GET_LE16
    - MAC2STR
    - wpa_dbg
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: void
    signature: "void hs20_parse_rx_hs20_anqp_resp(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \ struct wpa_bss *bss, const u8 *sa,\n\t\t\t\t  const u8 *data, size_t slen,
      u8 dialog_token)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_sm_pmf_enabled
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:312,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:313,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:317,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:321,1
    - Dst: wpa_bssid_ignore_add
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:322,1
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:327,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:331,1
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:340,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:344,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 4
    argNames:
    - wpa_s
    - code
    - reauth_delay
    - url
    argTypes:
    - struct wpa_supplicant*
    - u8
    - u16
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 309
    functionDepth: 3
    functionLinenumber: 309
    functionLinenumberEnd: 349
    functionName: hs20_rx_deauth_imminent_notice
    functionSourceFile: /src/hostap/wpa_supplicant/hs20_supplicant.c
    functionUses: 0
    functionsReached:
    - os_get_reltime
    - wpa_printf
    - wpa_msg
    - wpa_bssid_ignore_add
    - wpa_sm_pmf_enabled
    linkageType: ''
    returnType: void
    signature: "void hs20_rx_deauth_imminent_notice(struct wpa_supplicant *wpa_s,
      u8 code,\n\t\t\t\t    u16 reauth_delay, const char *url)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_sm_pmf_enabled
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:354,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:355,1
    - Dst: wpas_notify_hs20_t_c_acceptance
      Src: /src/hostap/wpa_supplicant/hs20_supplicant.c:360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - wpa_s
    - url
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 361
    functionName: hs20_rx_t_c_acceptance
    functionSourceFile: /src/hostap/wpa_supplicant/hs20_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_notify_hs20_t_c_acceptance
    - wpa_printf
    - wpa_sm_pmf_enabled
    linkageType: ''
    returnType: void
    signature: void hs20_rx_t_c_acceptance(struct wpa_supplicant *wpa_s, const char
      *url)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - wpa_s
    - addr
    - ies
    - ie_len
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: wpa_mesh_notify_peer
    functionSourceFile: /src/hostap/wpa_supplicant/mesh.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpa_mesh_notify_peer(struct wpa_supplicant *wpa_s,\n\t\t\t\t\tconst
      u8 *addr,\n\t\t\t\t\tconst u8 *ies, size_t ie_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - wpa_s
    - extra_ie
    argTypes:
    - struct wpa_supplicant*
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: wpa_supplicant_mesh_add_scan_ie
    functionSourceFile: /src/hostap/wpa_supplicant/mesh.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_mesh_add_scan_ie(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t\t
      \  struct wpabuf **extra_ie)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_bss_get_ie
      Src: /src/hostap/wpa_supplicant/bss.c:27,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/bss.c:29,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/bss.c:33,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/bss.c:35,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - bss
    argTypes:
    - struct wpa_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 37
    functionName: wpa_bss_set_hessid
    functionSourceFile: /src/hostap/wpa_supplicant/bss.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_bss_get_ie
    - os_memset
    linkageType: ''
    returnType: void
    signature: void wpa_bss_set_hessid(struct wpa_bss *bss)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/bss.c:51,1
    - Dst: dl_list_init
      Src: /src/hostap/wpa_supplicant/bss.c:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 59
    functionName: wpa_bss_anqp_alloc
    functionSourceFile: /src/hostap/wpa_supplicant/bss.c
    functionUses: 1
    functionsReached:
    - os_zalloc
    - dl_list_init
    linkageType: ''
    returnType: struct wpa_bss_anqp
    signature: struct wpa_bss_anqp * wpa_bss_anqp_alloc(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/bss.c:71,1
    - Dst: dl_list_init
      Src: /src/hostap/wpa_supplicant/bss.c:77,1
    - Dst: ANQP_DUP
      Src: /src/hostap/wpa_supplicant/bss.c:78,1
    - Dst: ANQP_DUP
      Src: /src/hostap/wpa_supplicant/bss.c:79,1
    - Dst: ANQP_DUP
      Src: /src/hostap/wpa_supplicant/bss.c:80,1
    - Dst: ANQP_DUP
      Src: /src/hostap/wpa_supplicant/bss.c:81,1
    - Dst: ANQP_DUP
      Src: /src/hostap/wpa_supplicant/bss.c:82,1
    - Dst: ANQP_DUP
      Src: /src/hostap/wpa_supplicant/bss.c:83,1
    - Dst: ANQP_DUP
      Src: /src/hostap/wpa_supplicant/bss.c:84,1
    - Dst: ANQP_DUP
      Src: /src/hostap/wpa_supplicant/bss.c:85,1
    - Dst: ANQP_DUP
      Src: /src/hostap/wpa_supplicant/bss.c:86,1
    - Dst: ANQP_DUP
      Src: /src/hostap/wpa_supplicant/bss.c:89,1
    - Dst: ANQP_DUP
      Src: /src/hostap/wpa_supplicant/bss.c:90,1
    - Dst: ANQP_DUP
      Src: /src/hostap/wpa_supplicant/bss.c:91,1
    - Dst: ANQP_DUP
      Src: /src/hostap/wpa_supplicant/bss.c:92,1
    - Dst: ANQP_DUP
      Src: /src/hostap/wpa_supplicant/bss.c:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - anqp
    argTypes:
    - struct wpa_bss_anqp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 98
    functionName: wpa_bss_anqp_clone
    functionSourceFile: /src/hostap/wpa_supplicant/bss.c
    functionUses: 0
    functionsReached:
    - os_zalloc
    - ANQP_DUP
    - dl_list_init
    linkageType: ''
    returnType: struct wpa_bss_anqp
    signature: struct wpa_bss_anqp * wpa_bss_anqp_clone(struct wpa_bss_anqp *anqp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: ANQP_DUP
    functionSourceFile: /src/hostap/wpa_supplicant/bss.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ANQP_DUP(f)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_bss_anqp_clone
      Src: /src/hostap/wpa_supplicant/bss.c:115,1
    - Dst: wpa_bss_anqp_alloc
      Src: /src/hostap/wpa_supplicant/bss.c:128,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - bss
    argTypes:
    - struct wpa_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 130
    functionName: wpa_bss_anqp_unshare_alloc
    functionSourceFile: /src/hostap/wpa_supplicant/bss.c
    functionUses: 2
    functionsReached:
    - wpa_bss_anqp_clone
    - wpa_bss_anqp_alloc
    linkageType: ''
    returnType: int
    signature: int wpa_bss_anqp_unshare_alloc(struct wpa_bss *bss)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/bss.c:153,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/bss.c:154,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/bss.c:155,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/bss.c:156,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/bss.c:157,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/bss.c:158,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/bss.c:159,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/bss.c:160,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/bss.c:161,1
    - Dst: dl_list_first
      Src: /src/hostap/wpa_supplicant/bss.c:163,1
    - Dst: dl_list_del
      Src: /src/hostap/wpa_supplicant/bss.c:165,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/bss.c:166,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/bss.c:167,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/bss.c:171,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/bss.c:172,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/bss.c:173,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/bss.c:174,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/bss.c:175,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/bss.c:178,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 1
    argNames:
    - anqp
    argTypes:
    - struct wpa_bss_anqp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 179
    functionName: wpa_bss_anqp_free
    functionSourceFile: /src/hostap/wpa_supplicant/bss.c
    functionUses: 0
    functionsReached:
    - os_free
    - dl_list_first
    - wpabuf_free
    - dl_list_del
    linkageType: ''
    returnType: void
    signature: void wpa_bss_anqp_free(struct wpa_bss_anqp *anqp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: radio_work_pending
      Src: /src/hostap/wpa_supplicant/bss.c:188,1
    - Dst: radio_work_pending
      Src: /src/hostap/wpa_supplicant/bss.c:190,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - wpa_s
    - bss
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 199
    functionName: wpa_bss_check_pending_connect
    functionSourceFile: /src/hostap/wpa_supplicant/bss.c
    functionUses: 0
    functionsReached:
    - radio_work_pending
    linkageType: ''
    returnType: struct wpa_connect_work
    signature: 'struct wpa_connect_work *

      wpa_bss_check_pending_connect(struct wpa_supplicant *wpa_s, struct wpa_bss *bss)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/bss.c:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - cwork
    - new_bss
    argTypes:
    - struct wpa_connect_work*
    - struct wpa_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 210
    functionName: wpa_bss_update_pending_connect
    functionSourceFile: /src/hostap/wpa_supplicant/bss.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: "void wpa_bss_update_pending_connect(struct wpa_connect_work *cwork,\n\t\t\t\t\t
      \  struct wpa_bss *new_bss)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: os_memmove
      Src: /src/hostap/wpa_supplicant/bss.c:223,1
    - Dst: wpa_bss_check_pending_connect
      Src: /src/hostap/wpa_supplicant/bss.c:232,1
    - Dst: wpa_bss_update_pending_connect
      Src: /src/hostap/wpa_supplicant/bss.c:234,1
    - Dst: dl_list_del
      Src: /src/hostap/wpa_supplicant/bss.c:235,1
    - Dst: dl_list_del
      Src: /src/hostap/wpa_supplicant/bss.c:236,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/bss.c:238,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/bss.c:239,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/wpa_supplicant/bss.c:240,1
    - Dst: wpas_notify_bss_removed
      Src: /src/hostap/wpa_supplicant/bss.c:241,1
    - Dst: wpa_bss_anqp_free
      Src: /src/hostap/wpa_supplicant/bss.c:242,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/bss.c:245,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/bss.c:252,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/bss.c:260,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/bss.c:267,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/bss.c:274,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/bss.c:277,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/bss.c:282,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 3
    argNames:
    - wpa_s
    - bss
    - reason
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_bss*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 283
    functionName: wpa_bss_remove
    functionSourceFile: /src/hostap/wpa_supplicant/bss.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dl_list_del
    - wpas_notify_bss_removed
    - wpa_bss_check_pending_connect
    - wpa_ssid_txt
    - os_memmove
    - wpa_bss_anqp_free
    - MAC2STR
    - BIT
    - wpa_dbg
    - wpa_bss_update_pending_connect
    - os_free
    linkageType: ''
    returnType: void
    signature: "void wpa_bss_remove(struct wpa_supplicant *wpa_s, struct wpa_bss *bss,\n\t\t
      \   const char *reason)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_supplicant_filter_bssid_match
      Src: /src/hostap/wpa_supplicant/bss.c:299,1
    - Dst: dl_list_for_each
      Src: /src/hostap/wpa_supplicant/bss.c:301,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/bss.c:302,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/bss.c:304,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 4
    argNames:
    - wpa_s
    - bssid
    - ssid
    - ssid_len
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 294
    functionDepth: 2
    functionLinenumber: 294
    functionLinenumberEnd: 308
    functionName: wpa_bss_get
    functionSourceFile: /src/hostap/wpa_supplicant/bss.c
    functionUses: 4
    functionsReached:
    - dl_list_for_each
    - wpa_supplicant_filter_bssid_match
    - ether_addr_equal
    - os_memcmp
    linkageType: ''
    returnType: struct wpa_bss
    signature: "struct wpa_bss * wpa_bss_get(struct wpa_supplicant *wpa_s, const u8
      *bssid,\n\t\t\t     const u8 *ssid, size_t ssid_len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_supplicant_filter_bssid_match
      Src: /src/hostap/wpa_supplicant/bss.c:332,1
    - Dst: dl_list_for_each
      Src: /src/hostap/wpa_supplicant/bss.c:334,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/bss.c:335,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/bss.c:339,1
    - Dst: wpa_bss_get_vendor_ie
      Src: /src/hostap/wpa_supplicant/bss.c:345,1
    - Dst: wpas_get_owe_trans_network
      Src: /src/hostap/wpa_supplicant/bss.c:349,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/bss.c:355,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 17
    argCount: 4
    argNames:
    - wpa_s
    - bssid
    - ssid
    - ssid_len
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 322
    functionDepth: 2
    functionLinenumber: 322
    functionLinenumberEnd: 360
    functionName: wpa_bss_get_connection
    functionSourceFile: /src/hostap/wpa_supplicant/bss.c
    functionUses: 1
    functionsReached:
    - ether_addr_equal
    - wpas_get_owe_trans_network
    - dl_list_for_each
    - os_memcmp
    - wpa_bss_get_vendor_ie
    - wpa_supplicant_filter_bssid_match
    linkageType: ''
    returnType: struct wpa_bss
    signature: "struct wpa_bss * wpa_bss_get_connection(struct wpa_supplicant *wpa_s,\n\t\t\t\t\tconst
      u8 *bssid,\n\t\t\t\t\tconst u8 *ssid, size_t ssid_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - fetch_time
    - age_ms
    - update_time
    argTypes:
    - struct os_reltime*
    - unsigned int
    - struct os_reltime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 378
    functionName: calculate_update_time
    functionSourceFile: /src/hostap/wpa_supplicant/bss.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void calculate_update_time(const struct os_reltime *fetch_time,\n\t\t\t
      \  unsigned int age_ms,\n\t\t\t   struct os_reltime *update_time)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/bss.c:385,1
    - Dst: calculate_update_time
      Src: /src/hostap/wpa_supplicant/bss.c:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 3
    argNames:
    - dst
    - src
    - fetch_time
    argTypes:
    - struct wpa_bss*
    - struct wpa_scan_res*
    - struct os_reltime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 399
    functionName: wpa_bss_copy_res
    functionSourceFile: /src/hostap/wpa_supplicant/bss.c
    functionUses: 0
    functionsReached:
    - calculate_update_time
    - os_memcpy
    linkageType: ''
    returnType: void
    signature: "void wpa_bss_copy_res(struct wpa_bss *dst, struct wpa_scan_res *src,\n\t\t\t
      \    struct os_reltime *fetch_time)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_bss_get_vendor_ie_multi
      Src: /src/hostap/wpa_supplicant/bss.c:410,1
    - Dst: wps_is_selected_pbc_registrar
      Src: /src/hostap/wpa_supplicant/bss.c:414,1
    - Dst: wps_is_addr_authorized
      Src: /src/hostap/wpa_supplicant/bss.c:416,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/bss.c:417,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/bss.c:426,1
    - Dst: eap_is_wps_pbc_enrollee
      Src: /src/hostap/wpa_supplicant/bss.c:430,1
    - Dst: eap_is_wps_pin_enrollee
      Src: /src/hostap/wpa_supplicant/bss.c:432,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/bss.c:433,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/bss.c:436,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 2
    argNames:
    - wpa_s
    - bss
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 440
    functionName: wpa_bss_is_wps_candidate
    functionSourceFile: /src/hostap/wpa_supplicant/bss.c
    functionUses: 0
    functionsReached:
    - wpabuf_free
    - wps_is_selected_pbc_registrar
    - wps_is_addr_authorized
    - eap_is_wps_pin_enrollee
    - os_memcmp
    - wpa_bss_get_vendor_ie_multi
    - eap_is_wps_pbc_enrollee
    linkageType: ''
    returnType: int
    signature: "int wpa_bss_is_wps_candidate(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \   struct wpa_bss *bss)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/bss.c:449,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/bss.c:451,1
    - Dst: p2p_parse_dev_addr
      Src: /src/hostap/wpa_supplicant/bss.c:452,1
    - Dst: wpa_bss_ie_ptr
      Src: /src/hostap/wpa_supplicant/bss.c:452,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/bss.c:453,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - wpa_s
    - bss
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 457
    functionName: is_p2p_pending_bss
    functionSourceFile: /src/hostap/wpa_supplicant/bss.c
    functionUses: 0
    functionsReached:
    - is_zero_ether_addr
    - ether_addr_equal
    - p2p_parse_dev_addr
    - wpa_bss_ie_ptr
    linkageType: ''
    returnType: bool
    signature: "bool is_p2p_pending_bss(struct wpa_supplicant *wpa_s,\n\t\t\t       struct
      wpa_bss *bss)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_bss_get_vendor_ie
      Src: /src/hostap/wpa_supplicant/bss.c:468,1
    - Dst: wpas_get_owe_trans_network
      Src: /src/hostap/wpa_supplicant/bss.c:472,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/bss.c:477,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - wpa_s
    - bss
    - entry_ssid
    - entry_ssid_len
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_bss*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 478
    functionName: wpa_bss_owe_trans_known
    functionSourceFile: /src/hostap/wpa_supplicant/bss.c
    functionUses: 0
    functionsReached:
    - wpa_bss_get_vendor_ie
    - wpas_get_owe_trans_network
    - os_memcmp
    linkageType: ''
    returnType: int
    signature: "int wpa_bss_owe_trans_known(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \  struct wpa_bss *bss,\n\t\t\t\t   const u8 *entry_ssid, size_t entry_ssid_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: is_p2p_pending_bss
      Src: /src/hostap/wpa_supplicant/bss.c:486,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/bss.c:493,1
    - Dst: wpa_bss_owe_trans_known
      Src: /src/hostap/wpa_supplicant/bss.c:496,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - wpa_s
    - bss
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 503
    functionName: wpa_bss_known
    functionSourceFile: /src/hostap/wpa_supplicant/bss.c
    functionUses: 0
    functionsReached:
    - is_p2p_pending_bss
    - os_memcmp
    - wpa_bss_owe_trans_known
    linkageType: ''
    returnType: int
    signature: int wpa_bss_known(struct wpa_supplicant *wpa_s, struct wpa_bss *bss)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/bss.c:523,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/bss.c:527,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/bss.c:528,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/bss.c:529,1
    - Dst: for_each_link
      Src: /src/hostap/wpa_supplicant/bss.c:535,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/bss.c:536,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 2
    argNames:
    - wpa_s
    - bss
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 506
    functionDepth: 1
    functionLinenumber: 506
    functionLinenumberEnd: 541
    functionName: wpa_bss_in_use
    functionSourceFile: /src/hostap/wpa_supplicant/bss.c
    functionUses: 0
    functionsReached:
    - is_zero_ether_addr
    - for_each_link
    - os_memcmp
    - ether_addr_equal
    linkageType: ''
    returnType: int
    signature: int wpa_bss_in_use(struct wpa_supplicant *wpa_s, struct wpa_bss *bss)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/wpa_supplicant/bss.c:548,1
    - Dst: wpa_bss_known
      Src: /src/hostap/wpa_supplicant/bss.c:549,1
    - Dst: wpa_bss_in_use
      Src: /src/hostap/wpa_supplicant/bss.c:550,1
    - Dst: wpa_bss_is_wps_candidate
      Src: /src/hostap/wpa_supplicant/bss.c:551,1
    - Dst: wpa_bss_remove
      Src: /src/hostap/wpa_supplicant/bss.c:552,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 544
    functionDepth: 3
    functionLinenumber: 544
    functionLinenumberEnd: 558
    functionName: wpa_bss_remove_oldest_unknown
    functionSourceFile: /src/hostap/wpa_supplicant/bss.c
    functionUses: 0
    functionsReached:
    - wpa_bss_is_wps_candidate
    - wpa_bss_remove
    - dl_list_for_each
    - wpa_bss_known
    - wpa_bss_in_use
    linkageType: ''
    returnType: int
    signature: int wpa_bss_remove_oldest_unknown(struct wpa_supplicant *wpa_s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_bss_remove_oldest_unknown
      Src: /src/hostap/wpa_supplicant/bss.c:569,1
    - Dst: dl_list_for_each
      Src: /src/hostap/wpa_supplicant/bss.c:575,1
    - Dst: wpa_bss_in_use
      Src: /src/hostap/wpa_supplicant/bss.c:576,1
    - Dst: wpa_bss_remove
      Src: /src/hostap/wpa_supplicant/bss.c:577,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 561
    functionDepth: 4
    functionLinenumber: 561
    functionLinenumberEnd: 583
    functionName: wpa_bss_remove_oldest
    functionSourceFile: /src/hostap/wpa_supplicant/bss.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    - wpa_bss_in_use
    - wpa_bss_remove_oldest_unknown
    - wpa_bss_remove
    linkageType: ''
    returnType: int
    signature: int wpa_bss_remove_oldest(struct wpa_supplicant *wpa_s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/bss.c:596,1
    - Dst: wpa_bss_copy_res
      Src: /src/hostap/wpa_supplicant/bss.c:601,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/bss.c:602,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/bss.c:606,1
    - Dst: wpa_bss_set_hessid
      Src: /src/hostap/wpa_supplicant/bss.c:607,1
    - Dst: wpa_bss_parse_basic_ml_element
      Src: /src/hostap/wpa_supplicant/bss.c:609,1
    - Dst: wpa_bss_remove_oldest
      Src: /src/hostap/wpa_supplicant/bss.c:612,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/bss.c:613,1
    - Dst: dl_list_add_tail
      Src: /src/hostap/wpa_supplicant/bss.c:619,1
    - Dst: dl_list_add_tail
      Src: /src/hostap/wpa_supplicant/bss.c:620,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/bss.c:626,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/bss.c:627,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/bss.c:628,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/bss.c:630,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/bss.c:631,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/bss.c:633,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/bss.c:634,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/bss.c:637,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/bss.c:639,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/wpa_supplicant/bss.c:639,1
    - Dst: wpas_notify_bss_added
      Src: /src/hostap/wpa_supplicant/bss.c:641,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 5
    argNames:
    - wpa_s
    - ssid
    - ssid_len
    - res
    - fetch_time
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - size_t
    - struct wpa_scan_res*
    - struct os_reltime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 586
    functionDepth: 5
    functionLinenumber: 586
    functionLinenumberEnd: 643
    functionName: wpa_bss_add
    functionSourceFile: /src/hostap/wpa_supplicant/bss.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_printf
    - wpa_bss_copy_res
    - dl_list_add_tail
    - wpas_notify_bss_added
    - wpa_ssid_txt
    - is_zero_ether_addr
    - os_snprintf
    - MAC2STR
    - os_zalloc
    - wpa_dbg
    - wpa_bss_remove_oldest
    - wpa_bss_parse_basic_ml_element
    - wpa_bss_set_hessid
    - os_snprintf_error
    linkageType: ''
    returnType: struct wpa_bss
    signature: "struct wpa_bss * wpa_bss_add(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \   const u8 *ssid, size_t ssid_len,\n\t\t\t\t    struct wpa_scan_res *res,\n\t\t\t\t
      \   struct os_reltime *fetch_time)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_bss_get_vendor_ie
      Src: /src/hostap/wpa_supplicant/bss.c:656,1
    - Dst: wpa_scan_get_vendor_ie
      Src: /src/hostap/wpa_supplicant/bss.c:657,1
    - Dst: wpa_bss_get_vendor_ie_multi
      Src: /src/hostap/wpa_supplicant/bss.c:661,1
    - Dst: wpa_scan_get_vendor_ie_multi
      Src: /src/hostap/wpa_supplicant/bss.c:662,1
    - Dst: wpa_bss_get_ie
      Src: /src/hostap/wpa_supplicant/bss.c:668,1
    - Dst: wpa_scan_get_ie
      Src: /src/hostap/wpa_supplicant/bss.c:669,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/bss.c:673,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/wpa_supplicant/bss.c:679,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/wpa_supplicant/bss.c:680,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/bss.c:681,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/bss.c:682,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/bss.c:693,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/bss.c:695,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/bss.c:696,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 3
    argNames:
    - old
    - new_res
    - ie
    argTypes:
    - struct wpa_bss*
    - struct wpa_scan_res*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 646
    functionDepth: 2
    functionLinenumber: 646
    functionLinenumberEnd: 699
    functionName: are_ies_equal
    functionSourceFile: /src/hostap/wpa_supplicant/bss.c
    functionUses: 0
    functionsReached:
    - wpa_scan_get_vendor_ie
    - wpa_printf
    - wpabuf_head_u8
    - wpabuf_len
    - wpabuf_free
    - wpa_scan_get_vendor_ie_multi
    - wpa_scan_get_ie
    - os_memcmp
    - wpa_bss_get_vendor_ie_multi
    - wpa_bss_get_vendor_ie
    - wpa_bss_get_ie
    linkageType: ''
    returnType: int
    signature: "int are_ies_equal(const struct wpa_bss *old,\n\t\t\t const struct
      wpa_scan_res *new_res, u32 ie)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/bss.c:721,1
    - Dst: wpa_bss_ie_ptr
      Src: /src/hostap/wpa_supplicant/bss.c:721,1
    - Dst: are_ies_equal
      Src: /src/hostap/wpa_supplicant/bss.c:725,1
    - Dst: are_ies_equal
      Src: /src/hostap/wpa_supplicant/bss.c:728,1
    - Dst: are_ies_equal
      Src: /src/hostap/wpa_supplicant/bss.c:731,1
    - Dst: are_ies_equal
      Src: /src/hostap/wpa_supplicant/bss.c:734,1
    - Dst: are_ies_equal
      Src: /src/hostap/wpa_supplicant/bss.c:735,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 2
    argNames:
    - old
    - new_res
    argTypes:
    - struct wpa_bss*
    - struct wpa_scan_res*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 702
    functionDepth: 3
    functionLinenumber: 702
    functionLinenumberEnd: 739
    functionName: wpa_bss_compare_res
    functionSourceFile: /src/hostap/wpa_supplicant/bss.c
    functionUses: 0
    functionsReached:
    - are_ies_equal
    - os_memcmp
    - wpa_bss_ie_ptr
    linkageType: ''
    returnType: u32
    signature: "u32 wpa_bss_compare_res(const struct wpa_bss *old,\n\t\t\t       const
      struct wpa_scan_res *new_res)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpas_notify_bss_freq_changed
      Src: /src/hostap/wpa_supplicant/bss.c:746,1
    - Dst: wpas_notify_bss_signal_changed
      Src: /src/hostap/wpa_supplicant/bss.c:749,1
    - Dst: wpas_notify_bss_privacy_changed
      Src: /src/hostap/wpa_supplicant/bss.c:752,1
    - Dst: wpas_notify_bss_mode_changed
      Src: /src/hostap/wpa_supplicant/bss.c:755,1
    - Dst: wpas_notify_bss_wpaie_changed
      Src: /src/hostap/wpa_supplicant/bss.c:758,1
    - Dst: wpas_notify_bss_rsnie_changed
      Src: /src/hostap/wpa_supplicant/bss.c:761,1
    - Dst: wpas_notify_bss_wps_changed
      Src: /src/hostap/wpa_supplicant/bss.c:764,1
    - Dst: wpas_notify_bss_ies_changed
      Src: /src/hostap/wpa_supplicant/bss.c:767,1
    - Dst: wpas_notify_bss_rates_changed
      Src: /src/hostap/wpa_supplicant/bss.c:770,1
    - Dst: wpas_notify_bss_seen
      Src: /src/hostap/wpa_supplicant/bss.c:772,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - wpa_s
    - changes
    - bss
    argTypes:
    - struct wpa_supplicant*
    - u32
    - struct wpa_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 742
    functionDepth: 1
    functionLinenumber: 742
    functionLinenumberEnd: 773
    functionName: notify_bss_changes
    functionSourceFile: /src/hostap/wpa_supplicant/bss.c
    functionUses: 0
    functionsReached:
    - wpas_notify_bss_ies_changed
    - wpas_notify_bss_wps_changed
    - wpas_notify_bss_freq_changed
    - wpas_notify_bss_mode_changed
    - wpas_notify_bss_privacy_changed
    - wpas_notify_bss_rsnie_changed
    - wpas_notify_bss_signal_changed
    - wpas_notify_bss_seen
    - wpas_notify_bss_rates_changed
    - wpas_notify_bss_wpaie_changed
    linkageType: ''
    returnType: void
    signature: "void notify_bss_changes(struct wpa_supplicant *wpa_s, u32 changes,\n\t\t\tconst
      struct wpa_bss *bss)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/bss.c:792,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/bss.c:794,1
    - Dst: calculate_update_time
      Src: /src/hostap/wpa_supplicant/bss.c:795,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/bss.c:796,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/bss.c:802,1
    - Dst: os_reltime_before
      Src: /src/hostap/wpa_supplicant/bss.c:809,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/bss.c:810,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/bss.c:814,1
    - Dst: wpa_bss_compare_res
      Src: /src/hostap/wpa_supplicant/bss.c:818,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/bss.c:820,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/bss.c:821,1
    - Dst: wpa_bss_copy_res
      Src: /src/hostap/wpa_supplicant/bss.c:824,1
    - Dst: dl_list_del
      Src: /src/hostap/wpa_supplicant/bss.c:826,1
    - Dst: wpa_bss_get_vendor_ie
      Src: /src/hostap/wpa_supplicant/bss.c:828,1
    - Dst: wpa_scan_get_vendor_ie
      Src: /src/hostap/wpa_supplicant/bss.c:829,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/bss.c:839,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/bss.c:841,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/bss.c:846,1
    - Dst: wpa_bss_check_pending_connect
      Src: /src/hostap/wpa_supplicant/bss.c:871,1
    - Dst: dl_list_del
      Src: /src/hostap/wpa_supplicant/bss.c:878,1
    - Dst: os_realloc
      Src: /src/hostap/wpa_supplicant/bss.c:879,1
    - Dst: wpa_bss_update_pending_connect
      Src: /src/hostap/wpa_supplicant/bss.c:904,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/bss.c:907,1
    - Dst: dl_list_add
      Src: /src/hostap/wpa_supplicant/bss.c:912,1
    - Dst: wpa_bss_set_hessid
      Src: /src/hostap/wpa_supplicant/bss.c:915,1
    - Dst: wpa_bss_parse_basic_ml_element
      Src: /src/hostap/wpa_supplicant/bss.c:917,1
    - Dst: dl_list_add_tail
      Src: /src/hostap/wpa_supplicant/bss.c:919,1
    - Dst: notify_bss_changes
      Src: /src/hostap/wpa_supplicant/bss.c:921,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 69
    argCount: 4
    argNames:
    - wpa_s
    - bss
    - res
    - fetch_time
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_bss*
    - struct wpa_scan_res*
    - struct os_reltime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 924
      start: 776
    functionDepth: 4
    functionLinenumber: 776
    functionLinenumberEnd: 924
    functionName: wpa_bss_update
    functionSourceFile: /src/hostap/wpa_supplicant/bss.c
    functionUses: 0
    functionsReached:
    - wpa_bss_check_pending_connect
    - os_realloc
    - calculate_update_time
    - wpa_bss_parse_basic_ml_element
    - wpa_bss_set_hessid
    - wpa_printf
    - wpa_bss_copy_res
    - dl_list_add_tail
    - notify_bss_changes
    - wpa_dbg
    - wpa_bss_update_pending_connect
    - wpa_bss_get_vendor_ie
    - wpa_bss_compare_res
    - wpa_scan_get_vendor_ie
    - os_memcpy
    - dl_list_del
    - MAC2STR
    - dl_list_add
    - os_reltime_before
    linkageType: ''
    returnType: struct wpa_bss
    signature: "struct wpa_bss *\nwpa_bss_update(struct wpa_supplicant *wpa_s, struct
      wpa_bss *bss,\n\t       struct wpa_scan_res *res, struct os_reltime *fetch_time)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/bss.c:939,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 936
    functionDepth: 1
    functionLinenumber: 936
    functionLinenumberEnd: 942
    functionName: wpa_bss_update_start
    functionSourceFile: /src/hostap/wpa_supplicant/bss.c
    functionUses: 2
    functionsReached:
    - wpa_dbg
    linkageType: ''
    returnType: void
    signature: void wpa_bss_update_start(struct wpa_supplicant *wpa_s)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: calculate_update_time
      Src: /src/hostap/wpa_supplicant/bss.c:964,1
    - Dst: os_reltime_before
      Src: /src/hostap/wpa_supplicant/bss.c:965,1
    - Dst: os_reltime_sub
      Src: /src/hostap/wpa_supplicant/bss.c:967,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/bss.c:969,1
    - Dst: wpa_scan_get_ie
      Src: /src/hostap/wpa_supplicant/bss.c:978,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/bss.c:980,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/bss.c:981,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/bss.c:985,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/bss.c:986,1
    - Dst: wpa_scan_get_vendor_ie
      Src: /src/hostap/wpa_supplicant/bss.c:990,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/bss.c:998,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/bss.c:999,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/bss.c:1004,1
    - Dst: wpa_scan_get_ie
      Src: /src/hostap/wpa_supplicant/bss.c:1010,1
    - Dst: wpa_bss_get
      Src: /src/hostap/wpa_supplicant/bss.c:1014,1
    - Dst: wpa_bss_add
      Src: /src/hostap/wpa_supplicant/bss.c:1016,1
    - Dst: wpa_bss_update
      Src: /src/hostap/wpa_supplicant/bss.c:1018,1
    - Dst: os_realloc_array
      Src: /src/hostap/wpa_supplicant/bss.c:1039,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 54
    argCount: 3
    argNames:
    - wpa_s
    - res
    - fetch_time
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_scan_res*
    - struct os_reltime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 955
    functionDepth: 6
    functionLinenumber: 955
    functionLinenumberEnd: 1049
    functionName: wpa_bss_update_scan_res
    functionSourceFile: /src/hostap/wpa_supplicant/bss.c
    functionUses: 2
    functionsReached:
    - wpa_scan_get_vendor_ie
    - wpa_printf
    - calculate_update_time
    - MAC2STR
    - os_reltime_sub
    - wpa_scan_get_ie
    - wpa_bss_update
    - os_memcmp
    - wpa_dbg
    - wpa_bss_get
    - wpa_bss_add
    - os_reltime_before
    - os_realloc_array
    linkageType: ''
    returnType: void
    signature: "void wpa_bss_update_scan_res(struct wpa_supplicant *wpa_s,\n\t\t\t
      \    struct wpa_scan_res *res,\n\t\t\t     struct os_reltime *fetch_time)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/bss.c:1079,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 2
    argNames:
    - bss
    - info
    argTypes:
    - struct wpa_bss*
    - struct scan_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1090
      start: 1052
    functionDepth: 0
    functionLinenumber: 1052
    functionLinenumberEnd: 1090
    functionName: wpa_bss_included_in_scan
    functionSourceFile: /src/hostap/wpa_supplicant/bss.c
    functionUses: 0
    functionsReached:
    - os_memcmp
    linkageType: ''
    returnType: int
    signature: "int wpa_bss_included_in_scan(const struct wpa_bss *bss,\n\t\t\t\t
      \   const struct scan_info *info)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/bss.c:1108,1
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/wpa_supplicant/bss.c:1112,1
    - Dst: wpa_bss_in_use
      Src: /src/hostap/wpa_supplicant/bss.c:1113,1
    - Dst: wpa_bss_included_in_scan
      Src: /src/hostap/wpa_supplicant/bss.c:1115,1
    - Dst: wpa_bss_remove
      Src: /src/hostap/wpa_supplicant/bss.c:1121,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/bss.c:1125,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 3
    argNames:
    - wpa_s
    - info
    - new_scan
    argTypes:
    - struct wpa_supplicant*
    - struct scan_info*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1103
    functionDepth: 3
    functionLinenumber: 1103
    functionLinenumberEnd: 1127
    functionName: wpa_bss_update_end
    functionSourceFile: /src/hostap/wpa_supplicant/bss.c
    functionUses: 2
    functionsReached:
    - os_get_reltime
    - wpa_printf
    - wpa_bss_remove
    - wpa_bss_included_in_scan
    - wpa_bss_in_use
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: "void wpa_bss_update_end(struct wpa_supplicant *wpa_s, struct scan_info
      *info,\n\t\t\tint new_scan)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_empty
      Src: /src/hostap/wpa_supplicant/bss.c:1142,1
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/bss.c:1145,1
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/wpa_supplicant/bss.c:1152,1
    - Dst: wpa_bss_in_use
      Src: /src/hostap/wpa_supplicant/bss.c:1153,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/bss.c:1161,1
    - Dst: os_reltime_before
      Src: /src/hostap/wpa_supplicant/bss.c:1165,1
    - Dst: wpa_bss_remove
      Src: /src/hostap/wpa_supplicant/bss.c:1166,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    argCount: 2
    argNames:
    - wpa_s
    - age
    argTypes:
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1170
      start: 1137
    functionDepth: 3
    functionLinenumber: 1137
    functionLinenumberEnd: 1170
    functionName: wpa_bss_flush_by_age
    functionSourceFile: /src/hostap/wpa_supplicant/bss.c
    functionUses: 2
    functionsReached:
    - os_get_reltime
    - dl_list_empty
    - wpa_bss_remove
    - os_memcmp
    - wpa_bss_in_use
    - os_reltime_before
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: void wpa_bss_flush_by_age(struct wpa_supplicant *wpa_s, int age)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_init
      Src: /src/hostap/wpa_supplicant/bss.c:1183,1
    - Dst: dl_list_init
      Src: /src/hostap/wpa_supplicant/bss.c:1184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1186
      start: 1181
    functionDepth: 1
    functionLinenumber: 1181
    functionLinenumberEnd: 1186
    functionName: wpa_bss_init
    functionSourceFile: /src/hostap/wpa_supplicant/bss.c
    functionUses: 1
    functionsReached:
    - dl_list_init
    linkageType: ''
    returnType: int
    signature: int wpa_bss_init(struct wpa_supplicant *wpa_s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/wpa_supplicant/bss.c:1202,1
    - Dst: wpa_bss_in_use
      Src: /src/hostap/wpa_supplicant/bss.c:1203,1
    - Dst: wpa_bss_remove
      Src: /src/hostap/wpa_supplicant/bss.c:1205,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1193
    functionDepth: 3
    functionLinenumber: 1193
    functionLinenumberEnd: 1207
    functionName: wpa_bss_flush
    functionSourceFile: /src/hostap/wpa_supplicant/bss.c
    functionUses: 3
    functionsReached:
    - wpa_bss_remove
    - wpa_bss_in_use
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: void wpa_bss_flush(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_bss_flush
      Src: /src/hostap/wpa_supplicant/bss.c:1216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1217
      start: 1214
    functionDepth: 4
    functionLinenumber: 1214
    functionLinenumberEnd: 1217
    functionName: wpa_bss_deinit
    functionSourceFile: /src/hostap/wpa_supplicant/bss.c
    functionUses: 1
    functionsReached:
    - wpa_bss_flush
    linkageType: ''
    returnType: void
    signature: void wpa_bss_deinit(struct wpa_supplicant *wpa_s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_supplicant_filter_bssid_match
      Src: /src/hostap/wpa_supplicant/bss.c:1230,1
    - Dst: dl_list_for_each_reverse
      Src: /src/hostap/wpa_supplicant/bss.c:1232,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/bss.c:1233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - wpa_s
    - bssid
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1237
      start: 1226
    functionDepth: 2
    functionLinenumber: 1226
    functionLinenumberEnd: 1237
    functionName: wpa_bss_get_bssid
    functionSourceFile: /src/hostap/wpa_supplicant/bss.c
    functionUses: 11
    functionsReached:
    - dl_list_for_each_reverse
    - wpa_supplicant_filter_bssid_match
    - ether_addr_equal
    linkageType: ''
    returnType: struct wpa_bss
    signature: "struct wpa_bss * wpa_bss_get_bssid(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \  const u8 *bssid)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_supplicant_filter_bssid_match
      Src: /src/hostap/wpa_supplicant/bss.c:1255,1
    - Dst: dl_list_for_each_reverse
      Src: /src/hostap/wpa_supplicant/bss.c:1257,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/bss.c:1258,1
    - Dst: os_reltime_before
      Src: /src/hostap/wpa_supplicant/bss.c:1261,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - wpa_s
    - bssid
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1251
    functionDepth: 2
    functionLinenumber: 1251
    functionLinenumberEnd: 1265
    functionName: wpa_bss_get_bssid_latest
    functionSourceFile: /src/hostap/wpa_supplicant/bss.c
    functionUses: 12
    functionsReached:
    - dl_list_for_each_reverse
    - wpa_supplicant_filter_bssid_match
    - ether_addr_equal
    - os_reltime_before
    linkageType: ''
    returnType: struct wpa_bss
    signature: "struct wpa_bss * wpa_bss_get_bssid_latest(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \ const u8 *bssid)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each_reverse
      Src: /src/hostap/wpa_supplicant/bss.c:1283,1
    - Dst: p2p_parse_dev_addr
      Src: /src/hostap/wpa_supplicant/bss.c:1285,1
    - Dst: wpa_bss_ie_ptr
      Src: /src/hostap/wpa_supplicant/bss.c:1285,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/bss.c:1287,1
    - Dst: os_reltime_before
      Src: /src/hostap/wpa_supplicant/bss.c:1290,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - wpa_s
    - dev_addr
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1279
    functionDepth: 1
    functionLinenumber: 1279
    functionLinenumberEnd: 1294
    functionName: wpa_bss_get_p2p_dev_addr
    functionSourceFile: /src/hostap/wpa_supplicant/bss.c
    functionUses: 2
    functionsReached:
    - dl_list_for_each_reverse
    - ether_addr_equal
    - wpa_bss_ie_ptr
    - p2p_parse_dev_addr
    - os_reltime_before
    linkageType: ''
    returnType: struct wpa_bss
    signature: "struct wpa_bss * wpa_bss_get_p2p_dev_addr(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \ const u8 *dev_addr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/wpa_supplicant/bss.c:1307,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - wpa_s
    - id
    argTypes:
    - struct wpa_supplicant*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1312
      start: 1304
    functionDepth: 0
    functionLinenumber: 1304
    functionLinenumberEnd: 1312
    functionName: wpa_bss_get_id
    functionSourceFile: /src/hostap/wpa_supplicant/bss.c
    functionUses: 1
    functionsReached:
    - dl_list_for_each
    linkageType: ''
    returnType: struct wpa_bss
    signature: struct wpa_bss * wpa_bss_get_id(struct wpa_supplicant *wpa_s, unsigned
      int id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/wpa_supplicant/bss.c:1330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - wpa_s
    - idf
    - idl
    argTypes:
    - struct wpa_supplicant*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1335
      start: 1326
    functionDepth: 0
    functionLinenumber: 1326
    functionLinenumberEnd: 1335
    functionName: wpa_bss_get_id_range
    functionSourceFile: /src/hostap/wpa_supplicant/bss.c
    functionUses: 1
    functionsReached:
    - dl_list_for_each
    linkageType: ''
    returnType: struct wpa_bss
    signature: "struct wpa_bss * wpa_bss_get_id_range(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \     unsigned int idf, unsigned int idl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_ie
      Src: /src/hostap/wpa_supplicant/bss.c:1349,1
    - Dst: wpa_bss_ie_ptr
      Src: /src/hostap/wpa_supplicant/bss.c:1349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bss
    - ie
    argTypes:
    - struct wpa_bss*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1350
      start: 1347
    functionDepth: 1
    functionLinenumber: 1347
    functionLinenumberEnd: 1350
    functionName: wpa_bss_get_ie
    functionSourceFile: /src/hostap/wpa_supplicant/bss.c
    functionUses: 21
    functionsReached:
    - get_ie
    - wpa_bss_ie_ptr
    linkageType: ''
    returnType: u8
    signature: u8 * wpa_bss_get_ie(const struct wpa_bss *bss, u8 ie)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_bss_ie_ptr
      Src: /src/hostap/wpa_supplicant/bss.c:1372,1
    - Dst: get_ie
      Src: /src/hostap/wpa_supplicant/bss.c:1374,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - bss
    - ie
    argTypes:
    - struct wpa_bss*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1375
      start: 1365
    functionDepth: 1
    functionLinenumber: 1365
    functionLinenumberEnd: 1375
    functionName: wpa_bss_get_ie_beacon
    functionSourceFile: /src/hostap/wpa_supplicant/bss.c
    functionUses: 1
    functionsReached:
    - get_ie
    - wpa_bss_ie_ptr
    linkageType: ''
    returnType: u8
    signature: u8 * wpa_bss_get_ie_beacon(const struct wpa_bss *bss, u8 ie)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_ie_ext
      Src: /src/hostap/wpa_supplicant/bss.c:1389,1
    - Dst: wpa_bss_ie_ptr
      Src: /src/hostap/wpa_supplicant/bss.c:1389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bss
    - ext
    argTypes:
    - struct wpa_bss*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1390
      start: 1387
    functionDepth: 1
    functionLinenumber: 1387
    functionLinenumberEnd: 1390
    functionName: wpa_bss_get_ie_ext
    functionSourceFile: /src/hostap/wpa_supplicant/bss.c
    functionUses: 2
    functionsReached:
    - wpa_bss_ie_ptr
    - get_ie_ext
    linkageType: ''
    returnType: u8
    signature: u8 * wpa_bss_get_ie_ext(const struct wpa_bss *bss, u8 ext)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_bss_ie_ptr
      Src: /src/hostap/wpa_supplicant/bss.c:1407,1
    - Dst: for_each_element_id
      Src: /src/hostap/wpa_supplicant/bss.c:1409,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/wpa_supplicant/bss.c:1411,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - bss
    - vendor_type
    argTypes:
    - struct wpa_bss*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1416
      start: 1402
    functionDepth: 1
    functionLinenumber: 1402
    functionLinenumberEnd: 1416
    functionName: wpa_bss_get_vendor_ie
    functionSourceFile: /src/hostap/wpa_supplicant/bss.c
    functionUses: 20
    functionsReached:
    - for_each_element_id
    - WPA_GET_BE32
    - wpa_bss_ie_ptr
    linkageType: ''
    returnType: u8
    signature: u8 * wpa_bss_get_vendor_ie(const struct wpa_bss *bss, u32 vendor_type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_bss_ie_ptr
      Src: /src/hostap/wpa_supplicant/bss.c:1440,1
    - Dst: for_each_element_id
      Src: /src/hostap/wpa_supplicant/bss.c:1443,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/wpa_supplicant/bss.c:1446,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - bss
    - vendor_type
    argTypes:
    - struct wpa_bss*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1451
      start: 1431
    functionDepth: 1
    functionLinenumber: 1431
    functionLinenumberEnd: 1451
    functionName: wpa_bss_get_vendor_ie_beacon
    functionSourceFile: /src/hostap/wpa_supplicant/bss.c
    functionUses: 4
    functionsReached:
    - for_each_element_id
    - WPA_GET_BE32
    - wpa_bss_ie_ptr
    linkageType: ''
    returnType: u8
    signature: "u8 * wpa_bss_get_vendor_ie_beacon(const struct wpa_bss *bss,\n\t\t\t\t\tu32
      vendor_type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/bss.c:1470,1
    - Dst: wpa_bss_ie_ptr
      Src: /src/hostap/wpa_supplicant/bss.c:1474,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/wpa_supplicant/bss.c:1486,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/wpa_supplicant/bss.c:1487,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/bss.c:1491,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/bss.c:1492,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - bss
    - vendor_type
    argTypes:
    - struct wpa_bss*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1497
      start: 1464
    functionDepth: 1
    functionLinenumber: 1464
    functionLinenumberEnd: 1497
    functionName: wpa_bss_get_vendor_ie_multi
    functionSourceFile: /src/hostap/wpa_supplicant/bss.c
    functionUses: 6
    functionsReached:
    - wpabuf_put_data
    - wpabuf_len
    - wpabuf_free
    - wpabuf_alloc
    - wpa_bss_ie_ptr
    - WPA_GET_BE32
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * wpa_bss_get_vendor_ie_multi(const struct wpa_bss *bss,\n\t\t\t\t\t
      \   u32 vendor_type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/bss.c:1519,1
    - Dst: wpa_bss_ie_ptr
      Src: /src/hostap/wpa_supplicant/bss.c:1523,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/wpa_supplicant/bss.c:1535,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/wpa_supplicant/bss.c:1536,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/bss.c:1540,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/bss.c:1541,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - bss
    - vendor_type
    argTypes:
    - struct wpa_bss*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1546
      start: 1513
    functionDepth: 1
    functionLinenumber: 1513
    functionLinenumberEnd: 1546
    functionName: wpa_bss_get_vendor_ie_multi_beacon
    functionSourceFile: /src/hostap/wpa_supplicant/bss.c
    functionUses: 0
    functionsReached:
    - wpabuf_put_data
    - wpabuf_len
    - wpabuf_free
    - wpabuf_alloc
    - wpa_bss_ie_ptr
    - WPA_GET_BE32
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * wpa_bss_get_vendor_ie_multi_beacon(const struct wpa_bss
      *bss,\n\t\t\t\t\t\t   u32 vendor_type)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_bss_get_ie
      Src: /src/hostap/wpa_supplicant/bss.c:1560,1
    - Dst: wpa_bss_get_ie
      Src: /src/hostap/wpa_supplicant/bss.c:1566,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - bss
    argTypes:
    - struct wpa_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1573
      start: 1554
    functionDepth: 2
    functionLinenumber: 1554
    functionLinenumberEnd: 1573
    functionName: wpa_bss_get_max_rate
    functionSourceFile: /src/hostap/wpa_supplicant/bss.c
    functionUses: 0
    functionsReached:
    - wpa_bss_get_ie
    linkageType: ''
    returnType: int
    signature: int wpa_bss_get_max_rate(const struct wpa_bss *bss)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_bss_get_ie
      Src: /src/hostap/wpa_supplicant/bss.c:1592,1
    - Dst: wpa_bss_get_ie
      Src: /src/hostap/wpa_supplicant/bss.c:1593,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/bss.c:1597,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - bss
    - rates
    argTypes:
    - struct wpa_bss*
    - u8**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1609
      start: 1585
    functionDepth: 2
    functionLinenumber: 1585
    functionLinenumberEnd: 1609
    functionName: wpa_bss_get_bit_rates
    functionSourceFile: /src/hostap/wpa_supplicant/bss.c
    functionUses: 0
    functionsReached:
    - wpa_bss_get_ie
    - os_malloc
    linkageType: ''
    returnType: int
    signature: int wpa_bss_get_bit_rates(const struct wpa_bss *bss, u8 **rates)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_bss_get_ie
      Src: /src/hostap/wpa_supplicant/bss.c:1618,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wpa_supplicant/bss.c:1619,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/bss.c:1619,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - bss
    argTypes:
    - struct wpa_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1624
      start: 1613
    functionDepth: 2
    functionLinenumber: 1613
    functionLinenumberEnd: 1624
    functionName: wpa_bss_get_fils_cache_id
    functionSourceFile: /src/hostap/wpa_supplicant/bss.c
    functionUses: 1
    functionsReached:
    - BIT
    - wpa_bss_get_ie
    - WPA_GET_LE16
    linkageType: ''
    returnType: u8
    signature: u8 * wpa_bss_get_fils_cache_id(const struct wpa_bss *bss)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_11_ext_capab
      Src: /src/hostap/wpa_supplicant/bss.c:1632,1
    - Dst: wpa_bss_get_ie
      Src: /src/hostap/wpa_supplicant/bss.c:1632,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - bss
    - capab
    argTypes:
    - struct wpa_bss*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1634
      start: 1628
    functionDepth: 2
    functionLinenumber: 1628
    functionLinenumberEnd: 1634
    functionName: wpa_bss_ext_capab
    functionSourceFile: /src/hostap/wpa_supplicant/bss.c
    functionUses: 8
    functionsReached:
    - ieee802_11_ext_capab
    - wpa_bss_get_ie
    linkageType: ''
    returnType: int
    signature: int wpa_bss_ext_capab(const struct wpa_bss *bss, unsigned int capab)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: RNR_TBTT_INFO_COUNT_VAL
      Src: /src/hostap/wpa_supplicant/bss.c:1648,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/bss.c:1675,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/bss.c:1677,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/bss.c:1680,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/bss.c:1681,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/bss.c:1684,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/bss.c:1686,1
    - Dst: ieee80211_chan_to_freq
      Src: /src/hostap/wpa_supplicant/bss.c:1689,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 6
    argNames:
    - wpa_s
    - bss
    - ap_mld_id
    - ap_info
    - len
    - seen
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_bss*
    - u8
    - struct ieee80211_neighbor_ap_info*
    - size_t
    - u16*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1694
      start: 1637
    functionDepth: 1
    functionLinenumber: 1637
    functionLinenumberEnd: 1694
    functionName: wpa_bss_parse_ml_rnr_ap_info
    functionSourceFile: /src/hostap/wpa_supplicant/bss.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_printf
    - ieee80211_chan_to_freq
    - BIT
    - RNR_TBTT_INFO_COUNT_VAL
    linkageType: ''
    returnType: void
    signature: "void wpa_bss_parse_ml_rnr_ap_info(struct wpa_supplicant *wpa_s,\n\t\t\t
      \    struct wpa_bss *bss, u8 ap_mld_id,\n\t\t\t     const struct ieee80211_neighbor_ap_info
      *ap_info,\n\t\t\t     size_t len, u16 *seen)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: wpa_bss_ie_ptr
      Src: /src/hostap/wpa_supplicant/bss.c:1720,1
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/wpa_supplicant/bss.c:1723,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/bss.c:1725,1
    - Dst: wpas_rsn_overriding
      Src: /src/hostap/wpa_supplicant/bss.c:1729,1
    - Dst: wpas_rsn_overriding
      Src: /src/hostap/wpa_supplicant/bss.c:1733,1
    - Dst: wpa_parse_wpa_ie
      Src: /src/hostap/wpa_supplicant/bss.c:1744,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/bss.c:1745,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/bss.c:1750,1
    - Dst: wpas_get_ssid_pmf
      Src: /src/hostap/wpa_supplicant/bss.c:1756,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/bss.c:1757,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/bss.c:1765,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/bss.c:1768,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/bss.c:1773,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/bss.c:1778,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/bss.c:1784,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/bss.c:1790,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 5
    argNames:
    - wpa_s
    - ssid
    - bss
    - rsne_type_p
    - ref_rsne
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    - struct wpa_bss*
    - int*
    - struct wpa_ie_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1797
      start: 1710
    functionDepth: 2
    functionLinenumber: 1710
    functionLinenumberEnd: 1797
    functionName: wpa_bss_validate_rsne_ml
    functionSourceFile: /src/hostap/wpa_supplicant/bss.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_parse_wpa_ie
    - ieee802_11_parse_elems
    - wpa_bss_ie_ptr
    - wpa_dbg
    - wpas_get_ssid_pmf
    - wpas_rsn_overriding
    linkageType: ''
    returnType: bool
    signature: "bool wpa_bss_validate_rsne_ml(struct wpa_supplicant *wpa_s, struct
      wpa_ssid *ssid,\n\t\t\t struct wpa_bss *bss, int *rsne_type_p,\n\t\t\t struct
      wpa_ie_data *ref_rsne)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/bss.c:1837,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/bss.c:1840,1
    - Dst: wpa_bss_validate_rsne_ml
      Src: /src/hostap/wpa_supplicant/bss.c:1842,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/bss.c:1843,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/bss.c:1847,1
    - Dst: for_each_link
      Src: /src/hostap/wpa_supplicant/bss.c:1849,1
    - Dst: wpa_bss_get
      Src: /src/hostap/wpa_supplicant/bss.c:1857,1
    - Dst: wpa_bss_get_bssid
      Src: /src/hostap/wpa_supplicant/bss.c:1862,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/bss.c:1867,1
    - Dst: os_reltime_expired
      Src: /src/hostap/wpa_supplicant/bss.c:1871,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/bss.c:1873,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/bss.c:1876,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/bss.c:1878,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/bss.c:1885,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/bss.c:1891,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/bss.c:1897,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/bss.c:1898,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/bss.c:1901,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/bss.c:1902,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/bss.c:1908,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/bss.c:1916,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/bss.c:1935,1
    - Dst: wpa_bss_validate_rsne_ml
      Src: /src/hostap/wpa_supplicant/bss.c:1949,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/bss.c:1951,1
    - Dst: wpa_scan_res_match
      Src: /src/hostap/wpa_supplicant/bss.c:1959,1
    - Dst: wpa_bssid_ignore_is_listed
      Src: /src/hostap/wpa_supplicant/bss.c:1961,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/bss.c:1962,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 64
    argCount: 4
    argNames:
    - wpa_s
    - bss
    - ssid
    - missing_links
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_bss*
    - struct wpa_ssid*
    - u16*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1967
      start: 1825
    functionDepth: 3
    functionLinenumber: 1825
    functionLinenumberEnd: 1967
    functionName: wpa_bss_get_usable_links
    functionSourceFile: /src/hostap/wpa_supplicant/bss.c
    functionUses: 1
    functionsReached:
    - os_get_reltime
    - wpa_printf
    - wpa_bss_get_bssid
    - wpa_bssid_ignore_is_listed
    - ether_addr_equal
    - for_each_link
    - wpa_bss_validate_rsne_ml
    - wpa_scan_res_match
    - MAC2STR
    - BIT
    - wpa_dbg
    - os_reltime_expired
    - wpa_bss_get
    - os_memset
    linkageType: ''
    returnType: u16
    signature: "u16 wpa_bss_get_usable_links(struct wpa_supplicant *wpa_s, struct
      wpa_bss *bss,\n\t\t\t     struct wpa_ssid *ssid, u16 *missing_links)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: wpa_bss_ie_ptr
      Src: /src/hostap/wpa_supplicant/bss.c:2001,1
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/wpa_supplicant/bss.c:2005,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/bss.c:2007,1
    - Dst: ieee802_11_defrag
      Src: /src/hostap/wpa_supplicant/bss.c:2011,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/bss.c:2013,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/bss.c:2017,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/bss.c:2025,1
    - Dst: le_to_host16
      Src: /src/hostap/wpa_supplicant/bss.c:2026,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/bss.c:2027,1
    - Dst: le_to_host16
      Src: /src/hostap/wpa_supplicant/bss.c:2029,1
    - Dst: le_to_host16
      Src: /src/hostap/wpa_supplicant/bss.c:2050,1
    - Dst: le_to_host16
      Src: /src/hostap/wpa_supplicant/bss.c:2060,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wpa_supplicant/bss.c:2066,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wpa_supplicant/bss.c:2074,1
    - Dst: le_to_host16
      Src: /src/hostap/wpa_supplicant/bss.c:2078,1
    - Dst: le_to_host16
      Src: /src/hostap/wpa_supplicant/bss.c:2093,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wpa_supplicant/bss.c:2100,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/bss.c:2110,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/bss.c:2115,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/bss.c:2118,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/bss.c:2122,1
    - Dst: wpa_bss_get_ie
      Src: /src/hostap/wpa_supplicant/bss.c:2153,1
    - Dst: le_to_host16
      Src: /src/hostap/wpa_supplicant/bss.c:2155,1
    - Dst: for_each_element_id
      Src: /src/hostap/wpa_supplicant/bss.c:2161,1
    - Dst: wpa_bss_ie_ptr
      Src: /src/hostap/wpa_supplicant/bss.c:2162,1
    - Dst: RNR_TBTT_INFO_COUNT_VAL
      Src: /src/hostap/wpa_supplicant/bss.c:2175,1
    - Dst: wpa_bss_parse_ml_rnr_ap_info
      Src: /src/hostap/wpa_supplicant/bss.c:2181,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/bss.c:2189,1
    - Dst: for_each_link
      Src: /src/hostap/wpa_supplicant/bss.c:2192,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/bss.c:2193,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/bss.c:2194,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/bss.c:2197,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/bss.c:2201,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/bss.c:2203,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 113
    argCount: 2
    argNames:
    - wpa_s
    - bss
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2204
      start: 1979
    functionDepth: 2
    functionLinenumber: 1979
    functionLinenumberEnd: 2204
    functionName: wpa_bss_parse_basic_ml_element
    functionSourceFile: /src/hostap/wpa_supplicant/bss.c
    functionUses: 2
    functionsReached:
    - WPA_GET_LE16
    - BIT
    - wpa_bss_parse_ml_rnr_ap_info
    - wpa_printf
    - ieee802_11_parse_elems
    - ieee802_11_defrag
    - wpabuf_len
    - wpabuf_head
    - wpa_dbg
    - RNR_TBTT_INFO_COUNT_VAL
    - os_memset
    - for_each_element_id
    - os_memcpy
    - wpabuf_free
    - for_each_link
    - MAC2STR
    - wpa_bss_ie_ptr
    - le_to_host16
    - wpa_bss_get_ie
    linkageType: ''
    returnType: void
    signature: "void wpa_bss_parse_basic_ml_element(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \   struct wpa_bss *bss)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: wpa_bss_ie_ptr
      Src: /src/hostap/wpa_supplicant/bss.c:2218,1
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/wpa_supplicant/bss.c:2225,1
    - Dst: ieee802_11_defrag
      Src: /src/hostap/wpa_supplicant/bss.c:2231,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/bss.c:2235,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/bss.c:2236,1
    - Dst: le_to_host16
      Src: /src/hostap/wpa_supplicant/bss.c:2244,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/bss.c:2250,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/bss.c:2257,1
    - Dst: ieee802_11_defrag_mle_subelem
      Src: /src/hostap/wpa_supplicant/bss.c:2271,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/bss.c:2274,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/bss.c:2284,1
    - Dst: le_to_host16
      Src: /src/hostap/wpa_supplicant/bss.c:2295,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/bss.c:2300,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/bss.c:2307,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/bss.c:2310,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 57
    argCount: 2
    argNames:
    - wpa_s
    - bss
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2312
      start: 2213
    functionDepth: 1
    functionLinenumber: 2213
    functionLinenumberEnd: 2312
    functionName: wpa_bss_parse_reconf_ml_element
    functionSourceFile: /src/hostap/wpa_supplicant/bss.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpabuf_len
    - wpabuf_free
    - wpabuf_head
    - ieee802_11_defrag_mle_subelem
    - BIT
    - ieee802_11_parse_elems
    - wpa_bss_ie_ptr
    - le_to_host16
    - ieee802_11_defrag
    linkageType: ''
    returnType: u16
    signature: "u16 wpa_bss_parse_reconf_ml_element(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \   struct wpa_bss *bss)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 2
    argNames:
    - wpa_s
    - pairwise_cipher
    argTypes:
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2340
      start: 2317
    functionDepth: 0
    functionLinenumber: 2317
    functionLinenumberEnd: 2340
    functionName: wpa_bss_supported_cipher
    functionSourceFile: /src/hostap/wpa_supplicant/bss.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool wpa_bss_supported_cipher(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \    int pairwise_cipher)"
  - BBCount: 21
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 42
    argCount: 2
    argNames:
    - wpa_s
    - key_mgmt
    argTypes:
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2408
      start: 2343
    functionDepth: 0
    functionLinenumber: 2343
    functionLinenumberEnd: 2408
    functionName: wpa_bss_supported_key_mgmt
    functionSourceFile: /src/hostap/wpa_supplicant/bss.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool wpa_bss_supported_key_mgmt(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \      int key_mgmt)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_parse_wpa_ie_rsn
      Src: /src/hostap/wpa_supplicant/bss.c:2416,1
    - Dst: wpa_bss_supported_cipher
      Src: /src/hostap/wpa_supplicant/bss.c:2425,1
    - Dst: wpa_bss_supported_key_mgmt
      Src: /src/hostap/wpa_supplicant/bss.c:2426,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 3
    argNames:
    - wpa_s
    - ssid
    - ie
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2440
      start: 2411
    functionDepth: 1
    functionLinenumber: 2411
    functionLinenumberEnd: 2440
    functionName: wpa_bss_supported_rsne
    functionSourceFile: /src/hostap/wpa_supplicant/bss.c
    functionUses: 0
    functionsReached:
    - wpa_bss_supported_cipher
    - wpa_parse_wpa_ie_rsn
    - wpa_bss_supported_key_mgmt
    linkageType: ''
    returnType: bool
    signature: "bool wpa_bss_supported_rsne(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \  struct wpa_ssid *ssid, const u8 *ie)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpas_rsn_overriding
      Src: /src/hostap/wpa_supplicant/bss.c:2452,1
    - Dst: wpa_bss_get_vendor_ie
      Src: /src/hostap/wpa_supplicant/bss.c:2458,1
    - Dst: wpa_bss_get_vendor_ie
      Src: /src/hostap/wpa_supplicant/bss.c:2460,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/bss.c:2462,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/bss.c:2464,1
    - Dst: wpa_bss_supported_rsne
      Src: /src/hostap/wpa_supplicant/bss.c:2465,1
    - Dst: wpa_bss_get_vendor_ie
      Src: /src/hostap/wpa_supplicant/bss.c:2470,1
    - Dst: wpa_bss_supported_rsne
      Src: /src/hostap/wpa_supplicant/bss.c:2472,1
    - Dst: wpa_bss_get_ie
      Src: /src/hostap/wpa_supplicant/bss.c:2478,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 4
    argNames:
    - wpa_s
    - bss
    - ssid
    - mlo
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_bss*
    - struct wpa_ssid*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2479
      start: 2445
    functionDepth: 2
    functionLinenumber: 2445
    functionLinenumberEnd: 2479
    functionName: wpa_bss_get_rsne
    functionSourceFile: /src/hostap/wpa_supplicant/bss.c
    functionUses: 9
    functionsReached:
    - wpa_printf
    - MAC2STR
    - wpa_bss_supported_rsne
    - wpa_bss_get_vendor_ie
    - wpa_bss_get_ie
    - wpas_rsn_overriding
    linkageType: ''
    returnType: u8
    signature: "u8 * wpa_bss_get_rsne(struct wpa_supplicant *wpa_s,\n\t\t\t    const
      struct wpa_bss *bss, struct wpa_ssid *ssid,\n\t\t\t    bool mlo)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpas_rsn_overriding
      Src: /src/hostap/wpa_supplicant/bss.c:2488,1
    - Dst: wpa_bss_get_vendor_ie
      Src: /src/hostap/wpa_supplicant/bss.c:2489,1
    - Dst: wpa_bss_get_rsne
      Src: /src/hostap/wpa_supplicant/bss.c:2493,1
    - Dst: wpa_bss_get_vendor_ie
      Src: /src/hostap/wpa_supplicant/bss.c:2505,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/bss.c:2507,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/bss.c:2509,1
    - Dst: wpa_bss_get_ie
      Src: /src/hostap/wpa_supplicant/bss.c:2515,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 4
    argNames:
    - wpa_s
    - bss
    - ssid
    - mlo
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_bss*
    - struct wpa_ssid*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2516
      start: 2482
    functionDepth: 3
    functionLinenumber: 2482
    functionLinenumberEnd: 2516
    functionName: wpa_bss_get_rsnxe
    functionSourceFile: /src/hostap/wpa_supplicant/bss.c
    functionUses: 7
    functionsReached:
    - wpa_printf
    - wpa_bss_get_rsne
    - MAC2STR
    - wpa_bss_get_vendor_ie
    - wpa_bss_get_ie
    - wpas_rsn_overriding
    linkageType: ''
    returnType: u8
    signature: "u8 * wpa_bss_get_rsnxe(struct wpa_supplicant *wpa_s,\n\t\t\t     const
      struct wpa_bss *bss, struct wpa_ssid *ssid,\n\t\t\t     bool mlo)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/events.c:77,1
    - Dst: wpas_clear_temp_disabled
      Src: /src/hostap/wpa_supplicant/events.c:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - wpa_s
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 70
    functionDepth: 4
    functionLinenumber: 70
    functionLinenumberEnd: 84
    functionName: wpas_temp_disabled
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 1
    functionsReached:
    - os_get_reltime
    - wpas_clear_temp_disabled
    linkageType: ''
    returnType: int
    signature: int wpas_temp_disabled(struct wpa_supplicant *wpa_s, struct wpa_ssid
      *ssid)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpas_temp_disabled
      Src: /src/hostap/wpa_supplicant/events.c:113,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 98
    functionDepth: 5
    functionLinenumber: 98
    functionLinenumberEnd: 122
    functionName: wpas_reenabled_network_time
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - wpas_temp_disabled
    linkageType: ''
    returnType: int
    signature: int wpas_reenabled_network_time(struct wpa_supplicant *wpa_s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:133,1
    - Dst: wpa_supplicant_fast_associate
      Src: /src/hostap/wpa_supplicant/events.c:135,1
    - Dst: wpa_supplicant_cancel_sched_scan
      Src: /src/hostap/wpa_supplicant/events.c:136,1
    - Dst: wpa_supplicant_req_scan
      Src: /src/hostap/wpa_supplicant/events.c:137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 126
    functionDepth: 3
    functionLinenumber: 126
    functionLinenumberEnd: 139
    functionName: wpas_network_reenabled
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_cancel_sched_scan
    - wpa_supplicant_fast_associate
    - wpa_supplicant_req_scan
    - wpa_dbg
    linkageType: ''
    returnType: void
    signature: void wpas_network_reenabled(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_bss_get
      Src: /src/hostap/wpa_supplicant/events.c:147,1
    - Dst: wpa_bss_get_bssid
      Src: /src/hostap/wpa_supplicant/events.c:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - wpa_s
    - bssid
    - ssid
    - ssid_len
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 142
    functionDepth: 3
    functionLinenumber: 142
    functionLinenumberEnd: 150
    functionName: __wpa_supplicant_get_new_bss
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - wpa_bss_get
    - wpa_bss_get_bssid
    linkageType: ''
    returnType: struct wpa_bss
    signature: "struct wpa_bss * __wpa_supplicant_get_new_bss(\n\tstruct wpa_supplicant
      *wpa_s, const u8 *bssid, const u8 *ssid,\n\tsize_t ssid_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __wpa_supplicant_get_new_bss
      Src: /src/hostap/wpa_supplicant/events.c:157,1
    - Dst: wpa_supplicant_update_scan_results
      Src: /src/hostap/wpa_supplicant/events.c:163,1
    - Dst: __wpa_supplicant_get_new_bss
      Src: /src/hostap/wpa_supplicant/events.c:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 5
    argNames:
    - wpa_s
    - bssid
    - ssid
    - ssid_len
    - try_update_scan_results
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 153
    functionDepth: 7
    functionLinenumber: 153
    functionLinenumberEnd: 166
    functionName: _wpa_supplicant_get_new_bss
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 1
    functionsReached:
    - wpa_supplicant_update_scan_results
    - __wpa_supplicant_get_new_bss
    linkageType: ''
    returnType: struct wpa_bss
    signature: "struct wpa_bss * _wpa_supplicant_get_new_bss(\n\tstruct wpa_supplicant
      *wpa_s, const u8 *bssid, const u8 *ssid,\n\tsize_t ssid_len, bool try_update_scan_results)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_get_ssid
      Src: /src/hostap/wpa_supplicant/events.c:178,1
    - Dst: _wpa_supplicant_get_new_bss
      Src: /src/hostap/wpa_supplicant/events.c:180,1
    - Dst: _wpa_supplicant_get_new_bss
      Src: /src/hostap/wpa_supplicant/events.c:185,1
    - Dst: _wpa_supplicant_get_new_bss
      Src: /src/hostap/wpa_supplicant/events.c:191,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - wpa_s
    - bssid
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 169
    functionDepth: 8
    functionLinenumber: 169
    functionLinenumberEnd: 195
    functionName: wpa_supplicant_get_new_bss
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 2
    functionsReached:
    - wpa_drv_get_ssid
    - _wpa_supplicant_get_new_bss
    linkageType: ''
    returnType: struct wpa_bss
    signature: "struct wpa_bss * wpa_supplicant_get_new_bss(\n\tstruct wpa_supplicant
      *wpa_s, const u8 *bssid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_supplicant_get_new_bss
      Src: /src/hostap/wpa_supplicant/events.c:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - bssid
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 198
    functionDepth: 9
    functionLinenumber: 198
    functionLinenumberEnd: 207
    functionName: wpa_supplicant_update_current_bss
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_get_new_bss
    linkageType: ''
    returnType: struct wpa_bss
    signature: 'struct wpa_bss *

      wpa_supplicant_update_current_bss(struct wpa_supplicant *wpa_s, const u8 *bssid)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_supplicant_get_new_bss
      Src: /src/hostap/wpa_supplicant/events.c:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - wpa_s
    - link_id
    - bssid
    argTypes:
    - struct wpa_supplicant*
    - u8
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 210
    functionDepth: 9
    functionLinenumber: 210
    functionLinenumberEnd: 217
    functionName: wpa_supplicant_update_link_bss
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_get_new_bss
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_update_link_bss(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \  u8 link_id, const u8 *bssid)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: wpa_supplicant_update_current_bss
      Src: /src/hostap/wpa_supplicant/events.c:230,1
    - Dst: wpa_drv_get_ssid
      Src: /src/hostap/wpa_supplicant/events.c:234,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/events.c:236,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/events.c:243,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/events.c:252,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/events.c:257,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/wpa_supplicant/events.c:259,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:263,1
    - Dst: wpa_supplicant_get_ssid
      Src: /src/hostap/wpa_supplicant/events.c:265,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/events.c:267,1
    - Dst: wpas_network_disabled
      Src: /src/hostap/wpa_supplicant/events.c:272,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:273,1
    - Dst: disallowed_bssid
      Src: /src/hostap/wpa_supplicant/events.c:277,1
    - Dst: disallowed_ssid
      Src: /src/hostap/wpa_supplicant/events.c:278,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:279,1
    - Dst: wpas_temp_disabled
      Src: /src/hostap/wpa_supplicant/events.c:283,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:285,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:290,1
    - Dst: wpa_supplicant_update_current_bss
      Src: /src/hostap/wpa_supplicant/events.c:292,1
    - Dst: wpa_key_mgmt_wpa_any
      Src: /src/hostap/wpa_supplicant/events.c:293,1
    - Dst: wpa_supplicant_set_suites
      Src: /src/hostap/wpa_supplicant/events.c:302,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:305,1
    - Dst: wpa_supplicant_set_non_wpa_policy
      Src: /src/hostap/wpa_supplicant/events.c:307,1
    - Dst: eapol_sm_invalidate_cached_session
      Src: /src/hostap/wpa_supplicant/events.c:311,1
    - Dst: wpa_supplicant_rsn_supp_set_config
      Src: /src/hostap/wpa_supplicant/events.c:315,1
    - Dst: wpa_supplicant_initiate_eapol
      Src: /src/hostap/wpa_supplicant/events.c:316,1
    - Dst: wpas_notify_network_changed
      Src: /src/hostap/wpa_supplicant/events.c:318,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 54
    argCount: 2
    argNames:
    - wpa_s
    - data
    argTypes:
    - struct wpa_supplicant*
    - union wpa_event_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 220
    functionDepth: 10
    functionLinenumber: 220
    functionLinenumberEnd: 321
    functionName: wpa_supplicant_select_config
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - disallowed_bssid
    - wpa_supplicant_rsn_supp_set_config
    - wpa_supplicant_get_ssid
    - wpa_msg
    - wpa_ssid_txt
    - wpas_notify_network_changed
    - wpa_supplicant_initiate_eapol
    - disallowed_ssid
    - wpa_supplicant_update_current_bss
    - wpa_supplicant_set_suites
    - wpa_supplicant_set_non_wpa_policy
    - os_memcmp
    - wpa_dbg
    - wpa_key_mgmt_wpa_any
    - wpa_drv_get_ssid
    - wpas_network_disabled
    - wpas_temp_disabled
    - eapol_sm_invalidate_cached_session
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_select_config(struct wpa_supplicant *wpa_s,\n\t\t\t\t\tunion
      wpa_event_data *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_set_countermeasures
      Src: /src/hostap/wpa_supplicant/events.c:330,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/events.c:331,1
    - Dst: wpa_supplicant_cancel_sched_scan
      Src: /src/hostap/wpa_supplicant/events.c:340,1
    - Dst: wpa_supplicant_req_scan
      Src: /src/hostap/wpa_supplicant/events.c:341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - eloop_ctx
    - sock_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 324
    functionDepth: 3
    functionLinenumber: 324
    functionLinenumberEnd: 343
    functionName: wpa_supplicant_stop_countermeasures
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 1
    functionsReached:
    - wpa_supplicant_cancel_sched_scan
    - wpa_drv_set_countermeasures
    - wpa_supplicant_req_scan
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: void wpa_supplicant_stop_countermeasures(void *eloop_ctx, void *sock_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/events.c:355,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/events.c:357,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/events.c:358,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 359
    functionName: wpas_reset_mlo_info
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 2
    functionsReached:
    - wpabuf_free
    - os_memset
    linkageType: ''
    returnType: void
    signature: void wpas_reset_mlo_info(struct wpa_supplicant *wpa_s)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wnm_bss_keep_alive_deinit
      Src: /src/hostap/wpa_supplicant/events.c:366,1
    - Dst: ibss_rsn_deinit
      Src: /src/hostap/wpa_supplicant/events.c:369,1
    - Dst: wpa_supplicant_ap_deinit
      Src: /src/hostap/wpa_supplicant/events.c:374,1
    - Dst: wpa_drv_configure_frame_filters
      Src: /src/hostap/wpa_supplicant/events.c:379,1
    - Dst: os_reltime_initialized
      Src: /src/hostap/wpa_supplicant/events.c:385,1
    - Dst: os_reltime_age
      Src: /src/hostap/wpa_supplicant/events.c:386,1
    - Dst: wpas_notify_session_length
      Src: /src/hostap/wpa_supplicant/events.c:389,1
    - Dst: wpa_supplicant_set_state
      Src: /src/hostap/wpa_supplicant/events.c:392,1
    - Dst: ptksa_cache_get
      Src: /src/hostap/wpa_supplicant/events.c:397,1
    - Dst: wpa_clear_keys
      Src: /src/hostap/wpa_supplicant/events.c:398,1
    - Dst: ptksa_cache_flush
      Src: /src/hostap/wpa_supplicant/events.c:399,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/events.c:403,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/events.c:404,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/events.c:405,1
    - Dst: sme_clear_on_disassoc
      Src: /src/hostap/wpa_supplicant/events.c:406,1
    - Dst: wpas_notify_bssid_changed
      Src: /src/hostap/wpa_supplicant/events.c:412,1
    - Dst: eapol_sm_notify_portEnabled
      Src: /src/hostap/wpa_supplicant/events.c:414,1
    - Dst: eapol_sm_notify_portValid
      Src: /src/hostap/wpa_supplicant/events.c:415,1
    - Dst: wpa_key_mgmt_wpa_psk
      Src: /src/hostap/wpa_supplicant/events.c:416,1
    - Dst: eapol_sm_notify_eap_success
      Src: /src/hostap/wpa_supplicant/events.c:419,1
    - Dst: eapol_sm_notify_config
      Src: /src/hostap/wpa_supplicant/events.c:423,1
    - Dst: wpas_rrm_reset
      Src: /src/hostap/wpa_supplicant/events.c:428,1
    - Dst: wnm_clear_coloc_intf_reporting
      Src: /src/hostap/wpa_supplicant/events.c:434,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/events.c:439,1
    - Dst: wpa_drv_set_4addr_mode
      Src: /src/hostap/wpa_supplicant/events.c:443,1
    - Dst: wpas_reset_mlo_info
      Src: /src/hostap/wpa_supplicant/events.c:447,1
    - Dst: wpas_scs_deinit
      Src: /src/hostap/wpa_supplicant/events.c:449,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/events.c:459,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 57
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 362
    functionDepth: 9
    functionLinenumber: 362
    functionLinenumberEnd: 462
    functionName: wpa_supplicant_mark_disassoc
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 5
    functionsReached:
    - eapol_sm_notify_config
    - wpa_clear_keys
    - wpa_key_mgmt_wpa_psk
    - wpa_drv_set_4addr_mode
    - wnm_bss_keep_alive_deinit
    - wnm_clear_coloc_intf_reporting
    - wpas_scs_deinit
    - wpa_supplicant_ap_deinit
    - eapol_sm_notify_portValid
    - eapol_sm_notify_portEnabled
    - wpas_rrm_reset
    - sme_clear_on_disassoc
    - os_reltime_age
    - wpas_reset_mlo_info
    - os_reltime_initialized
    - is_zero_ether_addr
    - wpa_drv_configure_frame_filters
    - eapol_sm_notify_eap_success
    - ptksa_cache_get
    - os_memset
    - ptksa_cache_flush
    - wpabuf_free
    - wpa_supplicant_set_state
    - wpas_notify_session_length
    - ibss_rsn_deinit
    - wpas_notify_bssid_changed
    linkageType: ''
    returnType: void
    signature: void wpa_supplicant_mark_disassoc(struct wpa_supplicant *wpa_s)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:481,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:487,1
    - Dst: wpa_key_mgmt_sae
      Src: /src/hostap/wpa_supplicant/events.c:496,1
    - Dst: wpa_key_mgmt_fils
      Src: /src/hostap/wpa_supplicant/events.c:497,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:498,1
    - Dst: wpa_drv_get_bssid
      Src: /src/hostap/wpa_supplicant/events.c:506,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/events.c:506,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:507,1
    - Dst: pmksa_cache_get
      Src: /src/hostap/wpa_supplicant/events.c:519,1
    - Dst: wpa_sm_get_pmksa_cache
      Src: /src/hostap/wpa_supplicant/events.c:519,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:522,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:527,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/events.c:529,1
    - Dst: pmksa_cache_derive_pmkid
      Src: /src/hostap/wpa_supplicant/events.c:531,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/events.c:534,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:540,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/events.c:542,1
    - Dst: pmksa_cache_clone_entry
      Src: /src/hostap/wpa_supplicant/events.c:543,1
    - Dst: wpa_sm_get_pmksa_cache
      Src: /src/hostap/wpa_supplicant/events.c:544,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:555,1
    - Dst: pmksa_cache_set_current
      Src: /src/hostap/wpa_supplicant/events.c:559,1
    - Dst: eapol_sm_notify_pmkid_attempt
      Src: /src/hostap/wpa_supplicant/events.c:561,1
    - Dst: wpa_sm_set_pmk_from_pmksa
      Src: /src/hostap/wpa_supplicant/events.c:562,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:566,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 4
    argNames:
    - wpa_s
    - ie
    - cur_pmksa
    - authorized
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ie_data*
    - struct rsn_pmksa_cache_entry*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 465
    functionDepth: 2
    functionLinenumber: 465
    functionLinenumberEnd: 570
    functionName: wpa_find_assoc_pmkid_okc
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - wpa_key_mgmt_sae
    - pmksa_cache_derive_pmkid
    - eapol_sm_notify_pmkid_attempt
    - pmksa_cache_clone_entry
    - wpa_sm_set_pmk_from_pmksa
    - is_zero_ether_addr
    - wpa_drv_get_bssid
    - wpa_dbg
    - MAC2STR
    - pmksa_cache_set_current
    - os_memcmp
    - wpa_key_mgmt_fils
    - wpa_sm_get_pmksa_cache
    - pmksa_cache_get
    linkageType: ''
    returnType: int
    signature: "int wpa_find_assoc_pmkid_okc(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \    struct wpa_ie_data *ie,\n\t\t\t\t     struct rsn_pmksa_cache_entry *cur_pmksa,\n\t\t\t\t
      \    int authorized)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pmksa_cache_get_current
      Src: /src/hostap/wpa_supplicant/events.c:583,1
    - Dst: wpa_key_mgmt_sae
      Src: /src/hostap/wpa_supplicant/events.c:584,1
    - Dst: pmksa_cache_clear_current
      Src: /src/hostap/wpa_supplicant/events.c:585,1
    - Dst: wpa_sm_parse_own_wpa_ie
      Src: /src/hostap/wpa_supplicant/events.c:587,1
    - Dst: pmksa_cache_set_current
      Src: /src/hostap/wpa_supplicant/events.c:592,1
    - Dst: eapol_sm_notify_pmkid_attempt
      Src: /src/hostap/wpa_supplicant/events.c:597,1
    - Dst: wpa_sm_set_pmk_from_pmksa
      Src: /src/hostap/wpa_supplicant/events.c:598,1
    - Dst: wpa_find_assoc_pmkid_okc
      Src: /src/hostap/wpa_supplicant/events.c:605,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:608,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - wpa_s
    - authorized
    argTypes:
    - struct wpa_supplicant*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 573
    functionDepth: 3
    functionLinenumber: 573
    functionLinenumberEnd: 610
    functionName: wpa_find_assoc_pmkid
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - wpa_key_mgmt_sae
    - eapol_sm_notify_pmkid_attempt
    - wpa_sm_parse_own_wpa_ie
    - wpa_sm_set_pmk_from_pmksa
    - pmksa_cache_get_current
    - pmksa_cache_set_current
    - wpa_find_assoc_pmkid_okc
    - wpa_dbg
    - pmksa_cache_clear_current
    linkageType: ''
    returnType: void
    signature: void wpa_find_assoc_pmkid(struct wpa_supplicant *wpa_s, bool authorized)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:617,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:621,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/events.c:623,1
    - Dst: pmksa_candidate_add
      Src: /src/hostap/wpa_supplicant/events.c:627,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - wpa_s
    - data
    argTypes:
    - struct wpa_supplicant*
    - union wpa_event_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 613
    functionDepth: 1
    functionLinenumber: 613
    functionLinenumberEnd: 630
    functionName: wpa_supplicant_event_pmkid_candidate
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - pmksa_candidate_add
    - wpa_dbg
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_event_pmkid_candidate(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t\t
      union wpa_event_data *data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 652
    functionName: wpa_supplicant_dynamic_keys
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpa_supplicant_dynamic_keys(struct wpa_supplicant *wpa_s)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: eap_peer_get_eap_method
      Src: /src/hostap/wpa_supplicant/events.c:693,1
    - Dst: eap_peer_get_eap_method
      Src: /src/hostap/wpa_supplicant/events.c:695,1
    - Dst: eap_peer_get_eap_method
      Src: /src/hostap/wpa_supplicant/events.c:696,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:701,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:707,1
    - Dst: scard_init
      Src: /src/hostap/wpa_supplicant/events.c:710,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/events.c:712,1
    - Dst: wpa_sm_set_scard_ctx
      Src: /src/hostap/wpa_supplicant/events.c:716,1
    - Dst: eapol_sm_register_scard_ctx
      Src: /src/hostap/wpa_supplicant/events.c:717,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 34
    argCount: 2
    argNames:
    - wpa_s
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 664
    functionDepth: 1
    functionLinenumber: 664
    functionLinenumberEnd: 722
    functionName: wpa_supplicant_scard_init
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 3
    functionsReached:
    - wpa_msg
    - wpa_sm_set_scard_ctx
    - eap_peer_get_eap_method
    - eapol_sm_register_scard_ctx
    - wpa_dbg
    - scard_init
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_scard_init(struct wpa_supplicant *wpa_s,\n\t\t\t
      \     struct wpa_ssid *ssid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ssid
    argTypes:
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 738
    functionName: has_wep_key
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int has_wep_key(struct wpa_ssid *ssid)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: has_wep_key
      Src: /src/hostap/wpa_supplicant/events.c:761,1
    - Dst: wpa_key_mgmt_wpa
      Src: /src/hostap/wpa_supplicant/events.c:772,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 2
    argNames:
    - bss
    - ssid
    argTypes:
    - struct wpa_bss*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 742
    functionDepth: 1
    functionLinenumber: 742
    functionLinenumberEnd: 778
    functionName: wpa_supplicant_match_privacy
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - wpa_key_mgmt_wpa
    - has_wep_key
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_match_privacy(struct wpa_bss *bss,\n\t\t\t\t\tstruct
      wpa_ssid *ssid)"
  - BBCount: 59
    BranchProfiles: []
    Callsites:
    - Dst: is_6ghz_freq
      Src: /src/hostap/wpa_supplicant/events.c:792,1
    - Dst: wpas_wps_ssid_bss_match
      Src: /src/hostap/wpa_supplicant/events.c:794,1
    - Dst: wpa_key_mgmt_wpa
      Src: /src/hostap/wpa_supplicant/events.c:800,1
    - Dst: wpa_bss_get_rsne
      Src: /src/hostap/wpa_supplicant/events.c:806,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:809,1
    - Dst: wpa_parse_wpa_ie
      Src: /src/hostap/wpa_supplicant/events.c:817,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:819,1
    - Dst: wpa_default_rsn_cipher
      Src: /src/hostap/wpa_supplicant/events.c:824,1
    - Dst: wpa_default_rsn_cipher
      Src: /src/hostap/wpa_supplicant/events.c:826,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/events.c:828,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:843,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:851,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:858,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:865,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:873,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:882,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:895,1
    - Dst: wpas_get_ssid_pmf
      Src: /src/hostap/wpa_supplicant/events.c:901,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:904,1
    - Dst: wpas_get_ssid_pmf
      Src: /src/hostap/wpa_supplicant/events.c:909,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:912,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:918,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:925,1
    - Dst: wpa_bss_get_vendor_ie
      Src: /src/hostap/wpa_supplicant/events.c:930,1
    - Dst: wpas_get_ssid_pmf
      Src: /src/hostap/wpa_supplicant/events.c:932,1
    - Dst: wpa_bss_get_vendor_ie
      Src: /src/hostap/wpa_supplicant/events.c:938,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:943,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:952,1
    - Dst: wpa_parse_wpa_ie
      Src: /src/hostap/wpa_supplicant/events.c:960,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:962,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:972,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:980,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:987,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:994,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:1001,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:1007,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:1015,1
    - Dst: wpa_bss_get_vendor_ie
      Src: /src/hostap/wpa_supplicant/events.c:1024,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:1029,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:1037,1
    - Dst: wpa_key_mgmt_wpa
      Src: /src/hostap/wpa_supplicant/events.c:1044,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:1046,1
    - Dst: wpa_key_mgmt_wpa
      Src: /src/hostap/wpa_supplicant/events.c:1051,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:1053,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:1058,1
    CyclomaticComplexity: 103
    EdgeCount: 103
    ICount: 162
    argCount: 4
    argNames:
    - wpa_s
    - ssid
    - bss
    - debug_print
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    - struct wpa_bss*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 781
    functionDepth: 3
    functionLinenumber: 781
    functionLinenumberEnd: 1062
    functionName: wpa_supplicant_ssid_bss_match
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - wpa_key_mgmt_wpa
    - wpa_bss_get_vendor_ie
    - is_6ghz_freq
    - is_zero_ether_addr
    - wpas_wps_ssid_bss_match
    - wpa_parse_wpa_ie
    - wpa_bss_get_rsne
    - wpa_dbg
    - wpa_default_rsn_cipher
    - wpas_get_ssid_pmf
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_ssid_bss_match(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      struct wpa_ssid *ssid,\n\t\t\t\t\t struct wpa_bss *bss, int debug_print)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - freqs
    - freq
    argTypes:
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1065
    functionDepth: 0
    functionLinenumber: 1065
    functionLinenumberEnd: 1076
    functionName: freq_allowed
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int freq_allowed(int *freqs, int freq)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: wpa_bss_get_ie
      Src: /src/hostap/wpa_supplicant/events.c:1118,1
    - Dst: ht_supported
      Src: /src/hostap/wpa_supplicant/events.c:1136,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:1138,1
    - Dst: vht_supported
      Src: /src/hostap/wpa_supplicant/events.c:1148,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:1150,1
    - Dst: he_supported
      Src: /src/hostap/wpa_supplicant/events.c:1159,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:1161,1
    - Dst: eht_supported
      Src: /src/hostap/wpa_supplicant/events.c:1170,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:1173,1
    - Dst: uhr_supported
      Src: /src/hostap/wpa_supplicant/events.c:1182,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:1185,1
    - Dst: wpas_get_ssid_sae_pwe
      Src: /src/hostap/wpa_supplicant/events.c:1195,1
    - Dst: is_6ghz_freq
      Src: /src/hostap/wpa_supplicant/events.c:1198,1
    - Dst: wpa_key_mgmt_sae
      Src: /src/hostap/wpa_supplicant/events.c:1199,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:1201,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:1205,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:1231,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 90
    argCount: 4
    argNames:
    - wpa_s
    - ssid
    - bss
    - debug_print
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    - struct wpa_bss*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1241
      start: 1079
    functionDepth: 2
    functionLinenumber: 1079
    functionLinenumberEnd: 1241
    functionName: rate_match
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - wpa_key_mgmt_sae
    - is_6ghz_freq
    - ht_supported
    - vht_supported
    - he_supported
    - wpa_dbg
    - eht_supported
    - wpa_bss_get_ie
    - uhr_supported
    - wpas_get_ssid_sae_pwe
    linkageType: ''
    returnType: int
    signature: "int rate_match(struct wpa_supplicant *wpa_s, struct wpa_ssid *ssid,\n\t\t
      \     struct wpa_bss *bss, int debug_print)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bss_is_dmg
      Src: /src/hostap/wpa_supplicant/events.c:1250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - bss
    argTypes:
    - struct wpa_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1248
    functionDepth: 1
    functionLinenumber: 1248
    functionLinenumberEnd: 1257
    functionName: bss_is_ess
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - bss_is_dmg
    linkageType: ''
    returnType: int
    signature: int bss_is_ess(struct wpa_bss *bss)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - addr_a
    - addr_b
    - mask
    argTypes:
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1269
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1269
    functionName: match_mac_mask
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int match_mac_mask(const u8 *addr_a, const u8 *addr_b, const u8 *mask)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: match_mac_mask
      Src: /src/hostap/wpa_supplicant/events.c:1280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - addr
    - list
    - num
    argTypes:
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1272
    functionDepth: 1
    functionLinenumber: 1272
    functionLinenumberEnd: 1284
    functionName: addr_in_list
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - match_mac_mask
    linkageType: ''
    returnType: int
    signature: int addr_in_list(const u8 *addr, const u8 *list, size_t num)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_bss_get_vendor_ie
      Src: /src/hostap/wpa_supplicant/events.c:1293,1
    - Dst: wpa_bss_get_rsne
      Src: /src/hostap/wpa_supplicant/events.c:1294,1
    - Dst: wpas_get_owe_trans_network
      Src: /src/hostap/wpa_supplicant/events.c:1297,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:1302,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/events.c:1303,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/wpa_supplicant/events.c:1304,1
    - Dst: wpas_network_disabled
      Src: /src/hostap/wpa_supplicant/events.c:1310,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/events.c:1313,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:1317,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 4
    argNames:
    - wpa_s
    - bss
    - ret_ssid
    - ret_ssid_len
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_bss*
    - u8**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1287
    functionDepth: 3
    functionLinenumber: 1287
    functionLinenumberEnd: 1325
    functionName: owe_trans_ssid
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - wpa_ssid_txt
    - wpas_get_owe_trans_network
    - wpa_bss_get_rsne
    - MAC2STR
    - wpas_network_disabled
    - os_memcmp
    - wpa_dbg
    - wpa_bss_get_vendor_ie
    linkageType: ''
    returnType: void
    signature: "void owe_trans_ssid(struct wpa_supplicant *wpa_s, struct wpa_bss *bss,\n\t\t\t
      \  const u8 **ret_ssid, size_t *ret_ssid_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_bss_parse_reconf_ml_element
      Src: /src/hostap/wpa_supplicant/events.c:1336,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/events.c:1337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - wpa_s
    - bss
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1341
      start: 1328
    functionDepth: 2
    functionLinenumber: 1328
    functionLinenumberEnd: 1341
    functionName: wpas_valid_ml_bss
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - BIT
    - wpa_bss_parse_reconf_ml_element
    linkageType: ''
    returnType: bool
    signature: bool wpas_valid_ml_bss(struct wpa_supplicant *wpa_s, struct wpa_bss
      *bss)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - wpa_s
    - freq
    argTypes:
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1363
      start: 1344
    functionDepth: 0
    functionLinenumber: 1344
    functionLinenumberEnd: 1363
    functionName: disabled_freq
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int disabled_freq(struct wpa_supplicant *wpa_s, int freq)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/wpa_supplicant/events.c:1381,1
    - Dst: wpa_bss_get_rsnxe
      Src: /src/hostap/wpa_supplicant/events.c:1387,1
    - Dst: ieee802_11_rsnx_capab
      Src: /src/hostap/wpa_supplicant/events.c:1388,1
    - Dst: wpa_bssid_ignore_is_listed
      Src: /src/hostap/wpa_supplicant/events.c:1397,1
    - Dst: wpa_scan_res_ok
      Src: /src/hostap/wpa_supplicant/events.c:1398,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 5
    argNames:
    - wpa_s
    - orig_bss
    - ssid
    - match_ssid
    - match_ssid_len
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_bss*
    - struct wpa_ssid*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1404
      start: 1373
    functionDepth: 4
    functionLinenumber: 1373
    functionLinenumberEnd: 1404
    functionName: sae_pk_acceptable_bss_with_pk
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - wpa_bss_get_rsnxe
    - wpa_bssid_ignore_is_listed
    - dl_list_for_each
    - ieee802_11_rsnx_capab
    - wpa_scan_res_ok
    linkageType: ''
    returnType: bool
    signature: "bool sae_pk_acceptable_bss_with_pk(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \ struct wpa_bss *orig_bss,\n\t\t\t\t\t  struct wpa_ssid *ssid,\n\t\t\t\t\t
      \ const u8 *match_ssid,\n\t\t\t\t\t  size_t match_ssid_len)"
  - BBCount: 69
    BranchProfiles: []
    Callsites:
    - Dst: wpa_bss_get_vendor_ie
      Src: /src/hostap/wpa_supplicant/events.c:1424,1
    - Dst: wpa_bss_get_rsne
      Src: /src/hostap/wpa_supplicant/events.c:1426,1
    - Dst: wpa_bss_get_rsnxe
      Src: /src/hostap/wpa_supplicant/events.c:1430,1
    - Dst: wpas_network_disabled
      Src: /src/hostap/wpa_supplicant/events.c:1439,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:1441,1
    - Dst: wpas_temp_disabled
      Src: /src/hostap/wpa_supplicant/events.c:1445,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:1448,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:1457,1
    - Dst: wpas_wps_ssid_wildcard_ok
      Src: /src/hostap/wpa_supplicant/events.c:1463,1
    - Dst: wpas_wps_ssid_wildcard_ok
      Src: /src/hostap/wpa_supplicant/events.c:1470,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/events.c:1475,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/events.c:1480,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:1482,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/events.c:1487,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:1489,1
    - Dst: addr_in_list
      Src: /src/hostap/wpa_supplicant/events.c:1495,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:1498,1
    - Dst: addr_in_list
      Src: /src/hostap/wpa_supplicant/events.c:1505,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:1508,1
    - Dst: wpa_supplicant_ssid_bss_match
      Src: /src/hostap/wpa_supplicant/events.c:1513,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:1522,1
    - Dst: wpa_key_mgmt_wpa
      Src: /src/hostap/wpa_supplicant/events.c:1528,1
    - Dst: has_wep_key
      Src: /src/hostap/wpa_supplicant/events.c:1528,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:1530,1
    - Dst: wpa_supplicant_match_privacy
      Src: /src/hostap/wpa_supplicant/events.c:1536,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:1538,1
    - Dst: bss_is_ess
      Src: /src/hostap/wpa_supplicant/events.c:1542,1
    - Dst: bss_is_pbss
      Src: /src/hostap/wpa_supplicant/events.c:1543,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:1545,1
    - Dst: bss_is_pbss
      Src: /src/hostap/wpa_supplicant/events.c:1550,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:1552,1
    - Dst: bss_is_pbss
      Src: /src/hostap/wpa_supplicant/events.c:1554,1
    - Dst: freq_allowed
      Src: /src/hostap/wpa_supplicant/events.c:1558,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:1560,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:1569,1
    - Dst: rate_match
      Src: /src/hostap/wpa_supplicant/events.c:1575,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:1577,1
    - Dst: wpas_get_ssid_sae_pwe
      Src: /src/hostap/wpa_supplicant/events.c:1585,1
    - Dst: wpa_key_mgmt_only_sae_ext_key
      Src: /src/hostap/wpa_supplicant/events.c:1587,1
    - Dst: is_6ghz_freq
      Src: /src/hostap/wpa_supplicant/events.c:1588,1
    - Dst: wpa_key_mgmt_only_sae
      Src: /src/hostap/wpa_supplicant/events.c:1590,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/events.c:1591,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:1593,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/events.c:1601,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:1603,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:1613,1
    - Dst: wpa_bss_get_vendor_ie
      Src: /src/hostap/wpa_supplicant/events.c:1621,1
    - Dst: wpa_bss_get_vendor_ie_beacon
      Src: /src/hostap/wpa_supplicant/events.c:1622,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:1624,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/events.c:1628,1
    - Dst: wpa_bss_get_vendor_ie
      Src: /src/hostap/wpa_supplicant/events.c:1632,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:1635,1
    - Dst: wpa_bss_get_vendor_ie_multi
      Src: /src/hostap/wpa_supplicant/events.c:1639,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:1642,1
    - Dst: p2p_parse_dev_addr_in_p2p_ie
      Src: /src/hostap/wpa_supplicant/events.c:1647,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/events.c:1648,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:1650,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/events.c:1652,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/events.c:1655,1
    - Dst: os_reltime_before
      Src: /src/hostap/wpa_supplicant/events.c:1665,1
    - Dst: os_reltime_sub
      Src: /src/hostap/wpa_supplicant/events.c:1668,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:1670,1
    - Dst: wpas_mbo_check_assoc_disallow
      Src: /src/hostap/wpa_supplicant/events.c:1681,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:1684,1
    - Dst: wpa_is_bss_tmp_disallowed
      Src: /src/hostap/wpa_supplicant/events.c:1690,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:1692,1
    - Dst: wpa_sm_pmksa_exists
      Src: /src/hostap/wpa_supplicant/events.c:1703,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:1708,1
    - Dst: wpa_key_mgmt_sae
      Src: /src/hostap/wpa_supplicant/events.c:1716,1
    - Dst: sae_pk_valid_password
      Src: /src/hostap/wpa_supplicant/events.c:1718,1
    - Dst: sae_pk_valid_password
      Src: /src/hostap/wpa_supplicant/events.c:1720,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/events.c:1721,1
    - Dst: sae_pk_acceptable_bss_with_pk
      Src: /src/hostap/wpa_supplicant/events.c:1722,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:1725,1
    - Dst: owe_trans_ssid
      Src: /src/hostap/wpa_supplicant/events.c:1736,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/events.c:1739,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:1741,1
    - Dst: int_array_add_unique
      Src: /src/hostap/wpa_supplicant/events.c:1743,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:1749,1
    - Dst: wpas_valid_ml_bss
      Src: /src/hostap/wpa_supplicant/events.c:1754,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:1756,1
    CyclomaticComplexity: 127
    EdgeCount: 127
    ICount: 189
    argCount: 8
    argNames:
    - wpa_s
    - ssid
    - match_ssid
    - match_ssid_len
    - bss
    - bssid_ignore_count
    - debug_print
    - link
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    - u8*
    - size_t
    - struct wpa_bss*
    - int
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1763
      start: 1408
    functionDepth: 5
    functionLinenumber: 1408
    functionLinenumberEnd: 1763
    functionName: wpa_scan_res_ok
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 1
    functionsReached:
    - owe_trans_ssid
    - is_6ghz_freq
    - p2p_parse_dev_addr_in_p2p_ie
    - BIT
    - wpa_bss_get_vendor_ie_multi
    - int_array_add_unique
    - wpa_sm_pmksa_exists
    - bss_is_pbss
    - wpa_key_mgmt_sae
    - rate_match
    - wpa_key_mgmt_only_sae
    - wpas_mbo_check_assoc_disallow
    - wpas_valid_ml_bss
    - ether_addr_equal
    - wpa_bss_get_vendor_ie_beacon
    - wpas_wps_ssid_wildcard_ok
    - wpa_supplicant_match_privacy
    - sae_pk_acceptable_bss_with_pk
    - os_memcmp
    - wpas_network_disabled
    - os_reltime_before
    - wpas_temp_disabled
    - sae_pk_valid_password
    - bss_is_ess
    - wpa_key_mgmt_wpa
    - wpa_key_mgmt_only_sae_ext_key
    - addr_in_list
    - is_zero_ether_addr
    - wpa_bss_get_rsne
    - freq_allowed
    - os_reltime_sub
    - wpa_dbg
    - wpa_bss_get_vendor_ie
    - wpa_bss_get_rsnxe
    - wpabuf_free
    - wpa_supplicant_ssid_bss_match
    - wpa_is_bss_tmp_disallowed
    - has_wep_key
    - wpas_get_ssid_sae_pwe
    linkageType: ''
    returnType: bool
    signature: "bool wpa_scan_res_ok(struct wpa_supplicant *wpa_s, struct wpa_ssid
      *ssid,\n\t\t\t    const u8 *match_ssid, size_t match_ssid_len,\n\t\t\t    struct
      wpa_bss *bss, int bssid_ignore_count,\n\t\t\t    bool debug_print, bool link)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: wpa_bss_get_vendor_ie
      Src: /src/hostap/wpa_supplicant/events.c:1779,1
    - Dst: wpa_bss_get_rsne
      Src: /src/hostap/wpa_supplicant/events.c:1782,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:1786,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/events.c:1788,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/wpa_supplicant/events.c:1789,1
    - Dst: wpa_bss_get_vendor_ie
      Src: /src/hostap/wpa_supplicant/events.c:1792,1
    - Dst: wpa_bss_get_vendor_ie
      Src: /src/hostap/wpa_supplicant/events.c:1794,1
    - Dst: wpa_bss_get_vendor_ie_beacon
      Src: /src/hostap/wpa_supplicant/events.c:1795,1
    - Dst: wpa_bssid_ignore_is_listed
      Src: /src/hostap/wpa_supplicant/events.c:1799,1
    - Dst: wpa_supplicant_enabled_networks
      Src: /src/hostap/wpa_supplicant/events.c:1802,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:1815,1
    - Dst: owe_trans_ssid
      Src: /src/hostap/wpa_supplicant/events.c:1825,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:1829,1
    - Dst: disallowed_bssid
      Src: /src/hostap/wpa_supplicant/events.c:1833,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:1835,1
    - Dst: disallowed_ssid
      Src: /src/hostap/wpa_supplicant/events.c:1839,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:1841,1
    - Dst: disabled_freq
      Src: /src/hostap/wpa_supplicant/events.c:1845,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:1847,1
    - Dst: wnm_is_bss_excluded
      Src: /src/hostap/wpa_supplicant/events.c:1851,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:1853,1
    - Dst: wpa_scan_res_ok
      Src: /src/hostap/wpa_supplicant/events.c:1858,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 53
    argCount: 7
    argNames:
    - wpa_s
    - i
    - bss
    - group
    - only_first_ssid
    - debug_print
    - link
    argTypes:
    - struct wpa_supplicant*
    - int
    - struct wpa_bss*
    - struct wpa_ssid*
    - int
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1865
      start: 1766
    functionDepth: 6
    functionLinenumber: 1766
    functionLinenumberEnd: 1865
    functionName: wpa_scan_res_match
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 1
    functionsReached:
    - disallowed_bssid
    - owe_trans_ssid
    - wpa_ssid_txt
    - wpa_bssid_ignore_is_listed
    - wpa_bss_get_vendor_ie_beacon
    - disabled_freq
    - wpa_scan_res_ok
    - wpa_bss_get_rsne
    - MAC2STR
    - wpa_supplicant_enabled_networks
    - disallowed_ssid
    - wpa_dbg
    - wpa_bss_get_vendor_ie
    - wnm_is_bss_excluded
    linkageType: ''
    returnType: struct wpa_ssid
    signature: "struct wpa_ssid * wpa_scan_res_match(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \    int i, struct wpa_bss *bss,\n\t\t\t\t     struct wpa_ssid *group,\n\t\t\t\t
      \    int only_first_ssid, int debug_print,\n\t\t\t\t     bool link)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:1879,1
    - Dst: wpa_scan_res_match
      Src: /src/hostap/wpa_supplicant/events.c:1884,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:1888,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/events.c:1890,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:1896,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:1899,1
    - Dst: wpa_scan_res_match
      Src: /src/hostap/wpa_supplicant/events.c:1906,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:1911,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/events.c:1914,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/wpa_supplicant/events.c:1915,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 4
    argNames:
    - wpa_s
    - group
    - selected_ssid
    - only_first_ssid
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    - struct wpa_ssid**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1920
      start: 1868
    functionDepth: 7
    functionLinenumber: 1868
    functionLinenumberEnd: 1920
    functionName: wpa_supplicant_select_bss
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - wpa_ssid_txt
    - MAC2STR
    - wpa_scan_res_match
    - wpa_dbg
    linkageType: ''
    returnType: struct wpa_bss
    signature: "struct wpa_bss *\nwpa_supplicant_select_bss(struct wpa_supplicant
      *wpa_s,\n\t\t\t  struct wpa_ssid *group,\n\t\t\t  struct wpa_ssid **selected_ssid,\n\t\t\t
      \ int only_first_ssid)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: wpa_supplicant_select_bss
      Src: /src/hostap/wpa_supplicant/events.c:1950,1
    - Dst: wpa_supplicant_select_bss
      Src: /src/hostap/wpa_supplicant/events.c:1955,1
    - Dst: wnm_active_bss_trans_mgmt
      Src: /src/hostap/wpa_supplicant/events.c:1963,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:1965,1
    - Dst: wnm_btm_reset
      Src: /src/hostap/wpa_supplicant/events.c:1967,1
    - Dst: wpa_bssid_ignore_clear
      Src: /src/hostap/wpa_supplicant/events.c:1968,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:1979,1
    - Dst: wpas_notify_network_request
      Src: /src/hostap/wpa_supplicant/events.c:1982,1
    - Dst: wpa_supplicant_ctrl_req_to_string
      Src: /src/hostap/wpa_supplicant/events.c:1985,1
    - Dst: wpas_send_ctrl_req
      Src: /src/hostap/wpa_supplicant/events.c:1990,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 42
    argCount: 3
    argNames:
    - wpa_s
    - selected_ssid
    - clear_ignorelist
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1996
      start: 1923
    functionDepth: 8
    functionLinenumber: 1923
    functionLinenumberEnd: 1996
    functionName: wpa_supplicant_pick_network
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 1
    functionsReached:
    - wpas_notify_network_request
    - wpas_send_ctrl_req
    - wnm_btm_reset
    - wpa_bssid_ignore_clear
    - wpa_supplicant_select_bss
    - wpa_dbg
    - wpa_supplicant_ctrl_req_to_string
    - wnm_active_bss_trans_mgmt
    linkageType: ''
    returnType: struct wpa_bss
    signature: "struct wpa_bss * wpa_supplicant_pick_network(struct wpa_supplicant
      *wpa_s,\n\t\t\t\t\t     struct wpa_ssid **selected_ssid,\n\t\t\t\t\t     bool
      clear_ignorelist)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_supplicant_enabled_networks
      Src: /src/hostap/wpa_supplicant/events.c:2002,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:2008,1
    - Dst: wpa_supplicant_set_state
      Src: /src/hostap/wpa_supplicant/events.c:2010,1
    - Dst: wpa_supplicant_req_scan
      Src: /src/hostap/wpa_supplicant/events.c:2015,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - wpa_s
    - timeout_sec
    - timeout_usec
    argTypes:
    - struct wpa_supplicant*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2016
      start: 1999
    functionDepth: 9
    functionLinenumber: 1999
    functionLinenumberEnd: 2016
    functionName: wpa_supplicant_req_new_scan
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_enabled_networks
    - wpa_supplicant_set_state
    - wpa_supplicant_req_scan
    - wpa_dbg
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_req_new_scan(struct wpa_supplicant *wpa_s,\n\t\t\t\t\tint
      timeout_sec, int timeout_usec)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/events.c:2024,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/events.c:2026,1
    - Dst: wpa_supplicant_associate
      Src: /src/hostap/wpa_supplicant/events.c:2028,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2035
      start: 2019
    functionDepth: 10
    functionLinenumber: 2019
    functionLinenumberEnd: 2035
    functionName: ml_link_probe_scan
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_supplicant_associate
    - wpa_msg
    linkageType: ''
    returnType: bool
    signature: bool ml_link_probe_scan(struct wpa_supplicant *wpa_s)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_bss_get_usable_links
      Src: /src/hostap/wpa_supplicant/events.c:2050,1
    - Dst: wpa_bss_parse_reconf_ml_element
      Src: /src/hostap/wpa_supplicant/events.c:2055,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:2061,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/events.c:2065,1
    - Dst: int_array_add_unique
      Src: /src/hostap/wpa_supplicant/events.c:2087,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/events.c:2094,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/events.c:2097,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/events.c:2112,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/events.c:2116,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:2118,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/events.c:2123,1
    - Dst: wpa_supplicant_req_scan
      Src: /src/hostap/wpa_supplicant/events.c:2134,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 49
    argCount: 3
    argNames:
    - wpa_s
    - selected
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_bss*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2137
      start: 2038
    functionDepth: 4
    functionLinenumber: 2038
    functionLinenumberEnd: 2137
    functionName: wpa_supplicant_connect_ml_missing
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_printf
    - wpa_bss_parse_reconf_ml_element
    - wpa_supplicant_req_scan
    - os_malloc
    - os_zalloc
    - int_array_add_unique
    - wpa_dbg
    - os_free
    - wpa_bss_get_usable_links
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_connect_ml_missing(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \    struct wpa_bss *selected,\n\t\t\t\t\t     struct wpa_ssid *ssid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: int_array_add_unique
      Src: /src/hostap/wpa_supplicant/events.c:2087,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2088
      start: 2083
    functionDepth: 1
    functionLinenumber: 2083
    functionLinenumberEnd: 2088
    functionName: for_each_link
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 11
    functionsReached:
    - int_array_add_unique
    linkageType: ''
    returnType: void
    signature: void for_each_link(missing_links, link_id)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: eap_is_wps_pbc_enrollee
      Src: /src/hostap/wpa_supplicant/events.c:2145,1
    - Dst: wpas_wps_partner_link_overlap_detect
      Src: /src/hostap/wpa_supplicant/events.c:2146,1
    - Dst: wpas_wps_scan_pbc_overlap
      Src: /src/hostap/wpa_supplicant/events.c:2147,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/events.c:2148,1
    - Dst: wpas_notify_wps_event_pbc_overlap
      Src: /src/hostap/wpa_supplicant/events.c:2150,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/events.c:2155,1
    - Dst: wpas_wps_pbc_overlap
      Src: /src/hostap/wpa_supplicant/events.c:2162,1
    - Dst: wpas_wps_cancel
      Src: /src/hostap/wpa_supplicant/events.c:2163,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/events.c:2169,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/events.c:2173,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/events.c:2174,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/events.c:2174,1
    - Dst: wpa_supplicant_state_txt
      Src: /src/hostap/wpa_supplicant/events.c:2175,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/events.c:2184,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/events.c:2187,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/events.c:2188,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/events.c:2189,1
    - Dst: wpa_supplicant_scard_init
      Src: /src/hostap/wpa_supplicant/events.c:2191,1
    - Dst: wpa_supplicant_req_new_scan
      Src: /src/hostap/wpa_supplicant/events.c:2192,1
    - Dst: wpa_supplicant_connect_ml_missing
      Src: /src/hostap/wpa_supplicant/events.c:2196,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/events.c:2199,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/events.c:2200,1
    - Dst: wpa_supplicant_associate
      Src: /src/hostap/wpa_supplicant/events.c:2201,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:2203,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 3
    argNames:
    - wpa_s
    - selected
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_bss*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2208
      start: 2140
    functionDepth: 10
    functionLinenumber: 2140
    functionLinenumberEnd: 2208
    functionName: wpa_supplicant_connect
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 3
    functionsReached:
    - wpa_supplicant_associate
    - wpas_notify_wps_event_pbc_overlap
    - wpa_msg
    - ether_addr_equal
    - is_zero_ether_addr
    - wpas_wps_pbc_overlap
    - wpa_supplicant_state_txt
    - wpas_wps_partner_link_overlap_detect
    - MAC2STR
    - wpa_dbg
    - wpas_wps_scan_pbc_overlap
    - eloop_register_timeout
    - wpa_supplicant_req_new_scan
    - wpa_supplicant_connect_ml_missing
    - wpas_wps_cancel
    - eap_is_wps_pbc_enrollee
    - wpa_supplicant_scard_init
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_connect(struct wpa_supplicant *wpa_s,\n\t\t\t   struct
      wpa_bss *selected,\n\t\t\t   struct wpa_ssid *ssid)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpas_network_disabled
      Src: /src/hostap/wpa_supplicant/events.c:2220,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/events.c:2226,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/wpa_supplicant/events.c:2228,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2240
      start: 2211
    functionDepth: 2
    functionLinenumber: 2211
    functionLinenumberEnd: 2240
    functionName: wpa_supplicant_pick_new_network
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - wpa_ssid_txt
    - wpas_network_disabled
    - wpa_msg
    linkageType: ''
    returnType: struct wpa_ssid
    signature: 'struct wpa_ssid *

      wpa_supplicant_pick_new_network(struct wpa_supplicant *wpa_s)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rsn_preauth_scan_results
      Src: /src/hostap/wpa_supplicant/events.c:2250,1
    - Dst: dl_list_for_each
      Src: /src/hostap/wpa_supplicant/events.c:2253,1
    - Dst: wpa_bss_get_ie
      Src: /src/hostap/wpa_supplicant/events.c:2256,1
    - Dst: wpa_bss_get_rsne
      Src: /src/hostap/wpa_supplicant/events.c:2260,1
    - Dst: rsn_preauth_scan_result
      Src: /src/hostap/wpa_supplicant/events.c:2264,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2267
      start: 2245
    functionDepth: 3
    functionLinenumber: 2245
    functionLinenumberEnd: 2267
    functionName: wpa_supplicant_rsn_preauth_scan_results
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - rsn_preauth_scan_results
    - wpa_bss_get_rsne
    - dl_list_for_each
    - rsn_preauth_scan_result
    - wpa_bss_get_ie
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_rsn_preauth_scan_results(\n\tstruct wpa_supplicant
      *wpa_s)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IS_5GHZ
      Src: /src/hostap/wpa_supplicant/events.c:2275,1
    - Dst: is_6ghz_freq
      Src: /src/hostap/wpa_supplicant/events.c:2277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - frequency
    - avg_signal
    - noise
    argTypes:
    - u32
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2284
      start: 2272
    functionDepth: 1
    functionLinenumber: 2272
    functionLinenumberEnd: 2284
    functionName: wpas_get_snr_signal_info
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - IS_5GHZ
    - is_6ghz_freq
    linkageType: ''
    returnType: int
    signature: int wpas_get_snr_signal_info(u32 frequency, int avg_signal, int noise)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_bss_get_max_rate
      Src: /src/hostap/wpa_supplicant/events.c:2291,1
    - Dst: wpa_bss_ie_ptr
      Src: /src/hostap/wpa_supplicant/events.c:2292,1
    - Dst: wpas_get_est_tpt
      Src: /src/hostap/wpa_supplicant/events.c:2296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - wpa_s
    - bss
    - snr
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_bss*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2298
      start: 2287
    functionDepth: 4
    functionLinenumber: 2287
    functionLinenumberEnd: 2298
    functionName: wpas_get_est_throughput_from_bss_snr
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - wpas_get_est_tpt
    - wpa_bss_ie_ptr
    - wpa_bss_get_max_rate
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int wpas_get_est_throughput_from_bss_snr(const struct wpa_supplicant
      *wpa_s,\n\t\t\t\t     const struct wpa_bss *bss, int snr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_6ghz_freq
      Src: /src/hostap/wpa_supplicant/events.c:2303,1
    - Dst: IS_5GHZ
      Src: /src/hostap/wpa_supplicant/events.c:2305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - frequency
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2308
      start: 2301
    functionDepth: 1
    functionLinenumber: 2301
    functionLinenumberEnd: 2308
    functionName: wpas_evaluate_band_score
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - IS_5GHZ
    - is_6ghz_freq
    linkageType: ''
    returnType: int
    signature: int wpas_evaluate_band_score(int frequency)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: wpa_bss_ie_ptr
      Src: /src/hostap/wpa_supplicant/events.c:2324,1
    - Dst: wpa_bss_ie_ptr
      Src: /src/hostap/wpa_supplicant/events.c:2325,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:2331,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:2332,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/events.c:2334,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:2337,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/events.c:2339,1
    - Dst: wpas_ap_link_address
      Src: /src/hostap/wpa_supplicant/events.c:2342,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:2343,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/events.c:2348,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:2349,1
    - Dst: wpa_drv_signal_poll
      Src: /src/hostap/wpa_supplicant/events.c:2369,1
    - Dst: wpas_channel_width_rssi_bump
      Src: /src/hostap/wpa_supplicant/events.c:2378,1
    - Dst: wpas_get_snr_signal_info
      Src: /src/hostap/wpa_supplicant/events.c:2380,1
    - Dst: wpas_get_est_throughput_from_bss_snr
      Src: /src/hostap/wpa_supplicant/events.c:2383,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:2386,1
    - Dst: wpas_channel_width_rssi_bump
      Src: /src/hostap/wpa_supplicant/events.c:2397,1
    - Dst: wpas_adjust_snr_by_chanwidth
      Src: /src/hostap/wpa_supplicant/events.c:2399,1
    - Dst: wpas_channel_width_rssi_bump
      Src: /src/hostap/wpa_supplicant/events.c:2404,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:2408,1
    - Dst: is_6ghz_freq
      Src: /src/hostap/wpa_supplicant/events.c:2414,1
    - Dst: is_6ghz_freq
      Src: /src/hostap/wpa_supplicant/events.c:2415,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:2420,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:2426,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:2432,1
    - Dst: wpas_evaluate_band_score
      Src: /src/hostap/wpa_supplicant/events.c:2468,1
    - Dst: wpas_evaluate_band_score
      Src: /src/hostap/wpa_supplicant/events.c:2469,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:2476,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:2481,1
    - Dst: wpa_msg_ctrl
      Src: /src/hostap/wpa_supplicant/events.c:2486,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/events.c:2490,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/events.c:2492,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 86
    argCount: 4
    argNames:
    - wpa_s
    - current_bss
    - selected
    - poll_current
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_bss*
    - struct wpa_bss*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2495
      start: 2311
    functionDepth: 5
    functionLinenumber: 2311
    functionLinenumberEnd: 2495
    functionName: wpa_supplicant_need_to_roam_within_ess
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - wpas_channel_width_rssi_bump
    - wpas_ap_link_address
    - wpas_adjust_snr_by_chanwidth
    - wpa_drv_signal_poll
    - wpas_get_snr_signal_info
    - is_6ghz_freq
    - ether_addr_equal
    - MAC2STR
    - wpa_msg_ctrl
    - wpa_bss_ie_ptr
    - wpa_dbg
    - wpas_get_est_throughput_from_bss_snr
    - wpas_evaluate_band_score
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_need_to_roam_within_ess(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \  struct wpa_bss *current_bss,\n\t\t\t\t\t   struct wpa_bss *selected,\n\t\t\t\t\t
      \  bool poll_current)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: wpas_driver_bss_selection
      Src: /src/hostap/wpa_supplicant/events.c:2516,1
    - Dst: wpa_bss_get
      Src: /src/hostap/wpa_supplicant/events.c:2525,1
    - Dst: wpa_bss_get_bssid
      Src: /src/hostap/wpa_supplicant/events.c:2529,1
    - Dst: wpa_supplicant_need_to_roam_within_ess
      Src: /src/hostap/wpa_supplicant/events.c:2541,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 3
    argNames:
    - wpa_s
    - selected
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_bss*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2546
      start: 2500
    functionDepth: 6
    functionLinenumber: 2500
    functionLinenumberEnd: 2546
    functionName: wpa_supplicant_need_to_roam
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - wpas_driver_bss_selection
    - wpa_bss_get
    - wpa_supplicant_need_to_roam_within_ess
    - wpa_bss_get_bssid
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_need_to_roam(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \      struct wpa_bss *selected,\n\t\t\t\t       struct wpa_ssid *ssid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:2555,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/events.c:2556,1
    - Dst: wpa_add_scan_freqs_list
      Src: /src/hostap/wpa_supplicant/events.c:2561,1
    - Dst: wpa_supplicant_trigger_scan
      Src: /src/hostap/wpa_supplicant/events.c:2563,1
    - Dst: wpas_notify_scan_in_progress_6ghz
      Src: /src/hostap/wpa_supplicant/events.c:2565,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/events.c:2566,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:2569,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/events.c:2570,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - wpa_s
    - data
    argTypes:
    - struct wpa_supplicant*
    - union wpa_event_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2572
      start: 2549
    functionDepth: 2
    functionLinenumber: 2549
    functionLinenumberEnd: 2572
    functionName: wpas_trigger_6ghz_scan
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_trigger_scan
    - wpa_add_scan_freqs_list
    - wpa_dbg
    - wpas_notify_scan_in_progress_6ghz
    - os_free
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpas_trigger_6ghz_scan(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \ union wpa_event_data *data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ieee80211_crc32
      Src: /src/hostap/wpa_supplicant/events.c:2580,1
    - Dst: wpa_scan_get_ie
      Src: /src/hostap/wpa_supplicant/events.c:2588,1
    - Dst: WPA_GET_LE32
      Src: /src/hostap/wpa_supplicant/events.c:2607,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 2
    argNames:
    - wpa_s
    - scan_res
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_scan_results*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2618
      start: 2575
    functionDepth: 1
    functionLinenumber: 2575
    functionLinenumberEnd: 2618
    functionName: wpas_short_ssid_match
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - ieee80211_crc32
    - wpa_scan_get_ie
    - WPA_GET_LE32
    linkageType: ''
    returnType: bool
    signature: "bool wpas_short_ssid_match(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \ struct wpa_scan_results *scan_res)"
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: wpa_supplicant_notify_scanning
      Src: /src/hostap/wpa_supplicant/events.c:2653,1
    - Dst: wpa_supplicant_get_scan_results
      Src: /src/hostap/wpa_supplicant/events.c:2655,1
    - Dst: wpas_notify_scan_in_progress_6ghz
      Src: /src/hostap/wpa_supplicant/events.c:2661,1
    - Dst: handler
      Src: /src/hostap/wpa_supplicant/events.c:2677,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:2679,1
    - Dst: wpa_supplicant_req_new_scan
      Src: /src/hostap/wpa_supplicant/events.c:2681,1
    - Dst: random_add_randomness
      Src: /src/hostap/wpa_supplicant/events.c:2700,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/events.c:2715,1
    - Dst: scan_res_handler
      Src: /src/hostap/wpa_supplicant/events.c:2738,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:2743,1
    - Dst: wpa_msg_ctrl
      Src: /src/hostap/wpa_supplicant/events.c:2749,1
    - Dst: wpa_msg_ctrl
      Src: /src/hostap/wpa_supplicant/events.c:2753,1
    - Dst: wpas_notify_scan_results
      Src: /src/hostap/wpa_supplicant/events.c:2755,1
    - Dst: wpas_notify_scan_done
      Src: /src/hostap/wpa_supplicant/events.c:2757,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:2760,1
    - Dst: struct wpa_supplicant*::ap_iface::scan_cb
      Src: /src/hostap/wpa_supplicant/events.c:2763,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:2769,1
    - Dst: wpa_scan_results_free
      Src: /src/hostap/wpa_supplicant/events.c:2770,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:2775,1
    - Dst: sme_proc_obss_scan
      Src: /src/hostap/wpa_supplicant/events.c:2780,1
    - Dst: wpas_beacon_rep_scan_process
      Src: /src/hostap/wpa_supplicant/events.c:2785,1
    - Dst: ml_link_probe_scan
      Src: /src/hostap/wpa_supplicant/events.c:2789,1
    - Dst: wpas_wps_searching
      Src: /src/hostap/wpa_supplicant/events.c:2792,1
    - Dst: autoscan_notify_scan
      Src: /src/hostap/wpa_supplicant/events.c:2795,1
    - Dst: wpa_supplicant_set_state
      Src: /src/hostap/wpa_supplicant/events.c:2799,1
    - Dst: wpas_driver_bss_selection
      Src: /src/hostap/wpa_supplicant/events.c:2803,1
    - Dst: bgscan_notify_scan
      Src: /src/hostap/wpa_supplicant/events.c:2804,1
    - Dst: wpas_wps_update_ap_info
      Src: /src/hostap/wpa_supplicant/events.c:2807,1
    - Dst: wnm_scan_process
      Src: /src/hostap/wpa_supplicant/events.c:2809,1
    - Dst: wpas_short_ssid_match
      Src: /src/hostap/wpa_supplicant/events.c:2817,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:2818,1
    - Dst: wpa_scan_results_free
      Src: /src/hostap/wpa_supplicant/events.c:2822,1
    - Dst: radio_work_done
      Src: /src/hostap/wpa_supplicant/events.c:2827,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/events.c:2830,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/events.c:2835,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/events.c:2838,1
    - Dst: wpas_wps_partner_link_scan_done
      Src: /src/hostap/wpa_supplicant/events.c:2845,1
    - Dst: wpas_trigger_6ghz_scan
      Src: /src/hostap/wpa_supplicant/events.c:2848,1
    - Dst: wpas_select_network_from_last_scan
      Src: /src/hostap/wpa_supplicant/events.c:2851,1
    - Dst: wpa_scan_results_free
      Src: /src/hostap/wpa_supplicant/events.c:2855,1
    - Dst: radio_work_done
      Src: /src/hostap/wpa_supplicant/events.c:2859,1
    CyclomaticComplexity: 81
    EdgeCount: 81
    ICount: 155
    argCount: 4
    argNames:
    - wpa_s
    - data
    - own_request
    - update_only
    argTypes:
    - struct wpa_supplicant*
    - union wpa_event_data*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2862
      start: 2630
    functionDepth: 11
    functionLinenumber: 2630
    functionLinenumberEnd: 2862
    functionName: _wpa_supplicant_event_scan_results
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - wpas_wps_update_ap_info
    - wpas_notify_scan_done
    - wpa_supplicant_req_new_scan
    - sme_proc_obss_scan
    - autoscan_notify_scan
    - wpa_supplicant_notify_scanning
    - wpas_wps_partner_link_scan_done
    - wpas_wps_searching
    - wpa_msg_ctrl
    - os_free
    - bgscan_notify_scan
    - wpas_notify_scan_results
    - wnm_scan_process
    - wpas_beacon_rep_scan_process
    - wpas_short_ssid_match
    - os_malloc
    - handler
    - wpa_dbg
    - wpa_supplicant_get_scan_results
    - wpas_notify_scan_in_progress_6ghz
    - wpas_select_network_from_last_scan
    - os_memcpy
    - wpas_driver_bss_selection
    - ml_link_probe_scan
    - struct wpa_supplicant*::ap_iface::scan_cb
    - wpa_scan_results_free
    - radio_work_done
    - wpa_supplicant_set_state
    - wpas_trigger_6ghz_scan
    - random_add_randomness
    - scan_res_handler
    linkageType: ''
    returnType: int
    signature: "int _wpa_supplicant_event_scan_results(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \     union wpa_event_data *data,\n\t\t\t\t\t      int own_request, int update_only)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: wpas_reenabled_network_time
      Src: /src/hostap/wpa_supplicant/events.c:2882,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:2885,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/events.c:2888,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/events.c:2889,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/events.c:2899,1
    - Dst: wpa_supplicant_pick_network
      Src: /src/hostap/wpa_supplicant/events.c:2902,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/events.c:2906,1
    - Dst: wpa_supplicant_need_to_roam
      Src: /src/hostap/wpa_supplicant/events.c:2914,1
    - Dst: wpa_supplicant_rsn_preauth_scan_results
      Src: /src/hostap/wpa_supplicant/events.c:2917,1
    - Dst: wpa_supplicant_deauthenticate
      Src: /src/hostap/wpa_supplicant/events.c:2926,1
    - Dst: wpa_supplicant_connect
      Src: /src/hostap/wpa_supplicant/events.c:2930,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:2931,1
    - Dst: wpa_supplicant_rsn_preauth_scan_results
      Src: /src/hostap/wpa_supplicant/events.c:2937,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:2946,1
    - Dst: wpa_supplicant_pick_new_network
      Src: /src/hostap/wpa_supplicant/events.c:2947,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:2949,1
    - Dst: wpa_supplicant_associate
      Src: /src/hostap/wpa_supplicant/events.c:2950,1
    - Dst: wpa_supplicant_rsn_preauth_scan_results
      Src: /src/hostap/wpa_supplicant/events.c:2952,1
    - Dst: wpas_trigger_6ghz_scan
      Src: /src/hostap/wpa_supplicant/events.c:2955,1
    - Dst: wpas_p2p_scan_no_go_seen
      Src: /src/hostap/wpa_supplicant/events.c:2968,1
    - Dst: wpas_p2p_retry_limit_exceeded
      Src: /src/hostap/wpa_supplicant/events.c:2974,1
    - Dst: wpa_supplicant_req_new_scan
      Src: /src/hostap/wpa_supplicant/events.c:2987,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:2996,1
    - Dst: interworking_start_fetch_anqp
      Src: /src/hostap/wpa_supplicant/events.c:3001,1
    - Dst: wpas_wps_searching
      Src: /src/hostap/wpa_supplicant/events.c:3006,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:3007,1
    - Dst: wpa_supplicant_req_new_scan
      Src: /src/hostap/wpa_supplicant/events.c:3010,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:3017,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/events.c:3022,1
    - Dst: wpa_supplicant_req_new_scan
      Src: /src/hostap/wpa_supplicant/events.c:3028,1
    - Dst: wpa_supplicant_req_sched_scan
      Src: /src/hostap/wpa_supplicant/events.c:3033,1
    - Dst: wpa_supplicant_req_new_scan
      Src: /src/hostap/wpa_supplicant/events.c:3034,1
    - Dst: wpa_msg_ctrl
      Src: /src/hostap/wpa_supplicant/events.c:3037,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 96
    argCount: 5
    argNames:
    - wpa_s
    - new_scan
    - own_request
    - trigger_6ghz_scan
    - data
    argTypes:
    - struct wpa_supplicant*
    - int
    - int
    - bool
    - union wpa_event_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3042
      start: 2875
    functionDepth: 11
    functionLinenumber: 2875
    functionLinenumberEnd: 3042
    functionName: wpas_select_network_from_last_scan
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 1
    functionsReached:
    - wpa_supplicant_associate
    - wpa_supplicant_rsn_preauth_scan_results
    - wpas_p2p_retry_limit_exceeded
    - wpa_supplicant_connect
    - wpa_supplicant_deauthenticate
    - wpa_supplicant_req_new_scan
    - wpa_supplicant_pick_network
    - wpa_supplicant_need_to_roam
    - wpas_wps_searching
    - wpa_msg_ctrl
    - os_free
    - interworking_start_fetch_anqp
    - wpa_dbg
    - wpas_reenabled_network_time
    - wpa_supplicant_req_sched_scan
    - wpas_p2p_scan_no_go_seen
    - wpa_msg
    - eloop_cancel_timeout
    - wpas_trigger_6ghz_scan
    - eloop_register_timeout
    - wpa_supplicant_pick_new_network
    linkageType: ''
    returnType: int
    signature: "int wpas_select_network_from_last_scan(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \     int new_scan, int own_request,\n\t\t\t\t\t      bool trigger_6ghz_scan,\n\t\t\t\t\t
      \     union wpa_event_data *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: int_array_equal
      Src: /src/hostap/wpa_supplicant/events.c:3055,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - self
    - other
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3056
      start: 3045
    functionDepth: 1
    functionLinenumber: 3045
    functionLinenumberEnd: 3056
    functionName: equal_scan_freq_list
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - int_array_equal
    linkageType: ''
    returnType: bool
    signature: "bool equal_scan_freq_list(struct wpa_supplicant *self,\n\t\t\t\t struct
      wpa_supplicant *other)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _wpa_supplicant_event_scan_results
      Src: /src/hostap/wpa_supplicant/events.c:3065,1
    - Dst: dl_list_for_each
      Src: /src/hostap/wpa_supplicant/events.c:3096,1
    - Dst: equal_scan_freq_list
      Src: /src/hostap/wpa_supplicant/events.c:3098,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:3099,1
    - Dst: _wpa_supplicant_event_scan_results
      Src: /src/hostap/wpa_supplicant/events.c:3101,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - wpa_s
    - data
    argTypes:
    - struct wpa_supplicant*
    - union wpa_event_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3109
      start: 3059
    functionDepth: 12
    functionLinenumber: 3059
    functionLinenumberEnd: 3109
    functionName: wpa_supplicant_event_scan_results
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 1
    functionsReached:
    - dl_list_for_each
    - wpa_printf
    - equal_scan_freq_list
    - _wpa_supplicant_event_scan_results
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_event_scan_results(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \    union wpa_event_data *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/events.c:3126,1
    - Dst: os_reltime_expired
      Src: /src/hostap/wpa_supplicant/events.c:3127,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:3129,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:3132,1
    - Dst: wpas_select_network_from_last_scan
      Src: /src/hostap/wpa_supplicant/events.c:3136,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3138
      start: 3114
    functionDepth: 12
    functionLinenumber: 3114
    functionLinenumberEnd: 3138
    functionName: wpa_supplicant_fast_associate
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 6
    functionsReached:
    - os_reltime_expired
    - os_get_reltime
    - wpa_printf
    - wpas_select_network_from_last_scan
    linkageType: ''
    returnType: int
    signature: int wpa_supplicant_fast_associate(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_select_network_from_last_scan
      Src: /src/hostap/wpa_supplicant/events.c:3146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3148
      start: 3141
    functionDepth: 12
    functionLinenumber: 3141
    functionLinenumberEnd: 3148
    functionName: wpa_wps_supplicant_fast_associate
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - wpas_select_network_from_last_scan
    linkageType: ''
    returnType: int
    signature: int wpa_wps_supplicant_fast_associate(struct wpa_supplicant *wpa_s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:3161,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/events.c:3162,1
    - Dst: l2_packet_send
      Src: /src/hostap/wpa_supplicant/events.c:3167,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/events.c:3177,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - eloop_ctx
    - sock_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3181
      start: 3153
    functionDepth: 1
    functionLinenumber: 3153
    functionLinenumberEnd: 3181
    functionName: wnm_bss_keep_alive
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    - l2_packet_send
    - eloop_register_timeout
    linkageType: ''
    returnType: void
    signature: void wnm_bss_keep_alive(void *eloop_ctx, void *sock_ctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/wpa_supplicant/events.c:3192,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wpa_supplicant/events.c:3199,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:3200,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/events.c:3207,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/events.c:3212,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - wpa_s
    - ies
    - ies_len
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3220
      start: 3184
    functionDepth: 1
    functionLinenumber: 3184
    functionLinenumberEnd: 3220
    functionName: wnm_process_assoc_resp
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eloop_cancel_timeout
    - WPA_GET_LE16
    - ieee802_11_parse_elems
    - eloop_register_timeout
    linkageType: ''
    returnType: void
    signature: "void wnm_process_assoc_resp(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \  const u8 *ies, size_t ies_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/events.c:3228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3230
      start: 3225
    functionDepth: 0
    functionLinenumber: 3225
    functionLinenumberEnd: 3230
    functionName: wnm_bss_keep_alive_deinit
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 2
    functionsReached:
    - eloop_cancel_timeout
    linkageType: ''
    returnType: void
    signature: void wnm_bss_keep_alive_deinit(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/events.c:3238,1
    - Dst: wpa_drv_set_qos_map
      Src: /src/hostap/wpa_supplicant/events.c:3239,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:3241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - wpa_s
    - qos_map
    - len
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3245
      start: 3233
    functionDepth: 1
    functionLinenumber: 3233
    functionLinenumberEnd: 3245
    functionName: wpas_qos_map_set
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    - wpa_drv_set_qos_map
    linkageType: ''
    returnType: int
    signature: "int wpas_qos_map_set(struct wpa_supplicant *wpa_s, const u8 *qos_map,\n\t\t\t
      \   size_t len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/wpa_supplicant/events.c:3256,1
    - Dst: wpas_qos_map_set
      Src: /src/hostap/wpa_supplicant/events.c:3260,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - wpa_s
    - ies
    - ies_len
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3263
      start: 3248
    functionDepth: 2
    functionLinenumber: 3248
    functionLinenumberEnd: 3263
    functionName: interworking_process_assoc_resp
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - wpas_qos_map_set
    - ieee802_11_parse_elems
    linkageType: ''
    returnType: void
    signature: "void interworking_process_assoc_resp(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \   const u8 *ies, size_t ies_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:3269,1
    - Dst: wpa_drv_set_4addr_mode
      Src: /src/hostap/wpa_supplicant/events.c:3273,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/events.c:3274,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:3278,1
    - Dst: wpa_supplicant_deauthenticate
      Src: /src/hostap/wpa_supplicant/events.c:3282,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3283
      start: 3266
    functionDepth: 4
    functionLinenumber: 3266
    functionLinenumberEnd: 3283
    functionName: wpa_supplicant_set_4addr_mode
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_msg
    - wpa_supplicant_deauthenticate
    - wpa_dbg
    - wpa_drv_set_4addr_mode
    linkageType: ''
    returnType: void
    signature: void wpa_supplicant_set_4addr_mode(struct wpa_supplicant *wpa_s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/wpa_supplicant/events.c:3296,1
    - Dst: check_multi_ap_ie
      Src: /src/hostap/wpa_supplicant/events.c:3300,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - wpa_s
    - ies
    - ies_len
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3310
      start: 3286
    functionDepth: 1
    functionLinenumber: 3286
    functionLinenumberEnd: 3310
    functionName: multi_ap_process_assoc_resp
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - ieee802_11_parse_elems
    - check_multi_ap_ie
    linkageType: ''
    returnType: void
    signature: "void multi_ap_process_assoc_resp(struct wpa_supplicant *wpa_s,\n\t\t\t\t\tconst
      u8 *ies, size_t ies_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:3320,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:3328,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:3333,1
    - Dst: wpa_supplicant_set_4addr_mode
      Src: /src/hostap/wpa_supplicant/events.c:3337,1
    - Dst: wpa_supplicant_deauthenticate
      Src: /src/hostap/wpa_supplicant/events.c:3341,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3342
      start: 3313
    functionDepth: 5
    functionLinenumber: 3313
    functionLinenumberEnd: 3342
    functionName: multi_ap_set_4addr_mode
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_set_4addr_mode
    - wpa_printf
    - wpa_supplicant_deauthenticate
    linkageType: ''
    returnType: void
    signature: void multi_ap_set_4addr_mode(struct wpa_supplicant *wpa_s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/events.c:3354,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/events.c:3361,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:3367,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/events.c:3379,1
    - Dst: mb_ies_by_info
      Src: /src/hostap/wpa_supplicant/events.c:3380,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 3
    argNames:
    - wpa_s
    - ie
    - ie_len
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3385
      start: 3346
    functionDepth: 1
    functionLinenumber: 3346
    functionLinenumberEnd: 3385
    functionName: wpas_fst_update_mbie
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    - wpabuf_free
    - mb_ies_by_info
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpas_fst_update_mbie(struct wpa_supplicant *wpa_s,\n\t\t\t\tconst
      u8 *ie, size_t ie_len)"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/events.c:3410,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/events.c:3415,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/events.c:3417,1
    - Dst: wpa_parse_wpa_ie
      Src: /src/hostap/wpa_supplicant/events.c:3426,1
    - Dst: wpa_sm_set_param
      Src: /src/hostap/wpa_supplicant/events.c:3427,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/events.c:3431,1
    - Dst: wpa_sm_set_param
      Src: /src/hostap/wpa_supplicant/events.c:3437,1
    - Dst: wpa_sm_set_param
      Src: /src/hostap/wpa_supplicant/events.c:3438,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:3446,1
    - Dst: wpa_supplicant_deauthenticate
      Src: /src/hostap/wpa_supplicant/events.c:3450,1
    - Dst: wpa_sm_set_param
      Src: /src/hostap/wpa_supplicant/events.c:3458,1
    - Dst: wpa_key_mgmt_wpa_psk_no_sae
      Src: /src/hostap/wpa_supplicant/events.c:3467,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:3469,1
    - Dst: wpas_auth_failed
      Src: /src/hostap/wpa_supplicant/events.c:3471,1
    - Dst: wpa_sm_set_pmk
      Src: /src/hostap/wpa_supplicant/events.c:3475,1
    - Dst: wpa_drv_set_key
      Src: /src/hostap/wpa_supplicant/events.c:3478,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:3480,1
    - Dst: wpa_sm_set_param
      Src: /src/hostap/wpa_supplicant/events.c:3485,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:3486,1
    - Dst: wpa_key_mgmt_txt
      Src: /src/hostap/wpa_supplicant/events.c:3487,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:3495,1
    - Dst: wpa_supplicant_deauthenticate
      Src: /src/hostap/wpa_supplicant/events.c:3499,1
    - Dst: wpa_sm_set_param
      Src: /src/hostap/wpa_supplicant/events.c:3505,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:3507,1
    - Dst: wpa_cipher_txt
      Src: /src/hostap/wpa_supplicant/events.c:3508,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:3512,1
    - Dst: wpa_bss_get_rsne
      Src: /src/hostap/wpa_supplicant/events.c:3523,1
    - Dst: wpa_bss_get_vendor_ie
      Src: /src/hostap/wpa_supplicant/events.c:3533,1
    - Dst: wpa_parse_wpa_ie
      Src: /src/hostap/wpa_supplicant/events.c:3541,1
    - Dst: wpas_get_ssid_pmf
      Src: /src/hostap/wpa_supplicant/events.c:3544,1
    - Dst: wpa_supplicant_deauthenticate
      Src: /src/hostap/wpa_supplicant/events.c:3548,1
    - Dst: wpa_supplicant_deauthenticate
      Src: /src/hostap/wpa_supplicant/events.c:3555,1
    - Dst: wpa_sm_set_param
      Src: /src/hostap/wpa_supplicant/events.c:3562,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:3569,1
    - Dst: wpa_supplicant_deauthenticate
      Src: /src/hostap/wpa_supplicant/events.c:3573,1
    - Dst: wpa_sm_set_param
      Src: /src/hostap/wpa_supplicant/events.c:3579,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:3580,1
    - Dst: wpa_cipher_txt
      Src: /src/hostap/wpa_supplicant/events.c:3581,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:3588,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:3594,1
    - Dst: wpa_supplicant_deauthenticate
      Src: /src/hostap/wpa_supplicant/events.c:3601,1
    - Dst: wpa_sm_set_param
      Src: /src/hostap/wpa_supplicant/events.c:3607,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:3610,1
    - Dst: wpa_cipher_txt
      Src: /src/hostap/wpa_supplicant/events.c:3611,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:3613,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 122
    argCount: 2
    argNames:
    - wpa_s
    - data
    argTypes:
    - struct wpa_supplicant*
    - union wpa_event_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3616
      start: 3389
    functionDepth: 4
    functionLinenumber: 3389
    functionLinenumberEnd: 3616
    functionName: wpa_supplicant_use_own_rsne_params
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - wpas_get_ssid_pmf
    - wpa_cipher_txt
    - wpa_hexdump
    - wpa_sm_set_param
    - wpa_key_mgmt_wpa_psk_no_sae
    - wpa_parse_wpa_ie
    - wpa_sm_set_pmk
    - wpa_bss_get_rsne
    - wpa_supplicant_deauthenticate
    - os_memcmp
    - wpa_key_mgmt_txt
    - wpa_dbg
    - wpa_drv_set_key
    - wpa_bss_get_vendor_ie
    - wpas_auth_failed
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_use_own_rsne_params(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \     union wpa_event_data *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_11_parse_link_assoc_req
      Src: /src/hostap/wpa_supplicant/events.c:3631,1
    - Dst: ieee802_11_parse_link_assoc_resp
      Src: /src/hostap/wpa_supplicant/events.c:3633,1
    - Dst: get_supported_channel_width
      Src: /src/hostap/wpa_supplicant/events.c:3642,1
    - Dst: get_operation_channel_width
      Src: /src/hostap/wpa_supplicant/events.c:3644,1
    - Dst: get_sta_operation_chan_width
      Src: /src/hostap/wpa_supplicant/events.c:3649,1
    - Dst: MIN
      Src: /src/hostap/wpa_supplicant/events.c:3658,1
    - Dst: get_max_nss_capability
      Src: /src/hostap/wpa_supplicant/events.c:3658,1
    - Dst: get_max_nss_capability
      Src: /src/hostap/wpa_supplicant/events.c:3660,1
    - Dst: MIN
      Src: /src/hostap/wpa_supplicant/events.c:3664,1
    - Dst: get_max_nss_capability
      Src: /src/hostap/wpa_supplicant/events.c:3664,1
    - Dst: get_max_nss_capability
      Src: /src/hostap/wpa_supplicant/events.c:3666,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 6
    argNames:
    - wpa_s
    - i
    - req_elems
    - resp_elems
    - req_mlbuf
    - resp_mlbuf
    argTypes:
    - struct wpa_supplicant*
    - int
    - struct ieee802_11_elems*
    - struct ieee802_11_elems*
    - struct wpabuf*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3669
      start: 3619
    functionDepth: 1
    functionLinenumber: 3619
    functionLinenumberEnd: 3669
    functionName: wpas_parse_connection_info_link
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - get_max_nss_capability
    - ieee802_11_parse_link_assoc_req
    - MIN
    - ieee802_11_parse_link_assoc_resp
    - get_sta_operation_chan_width
    - get_operation_channel_width
    - get_supported_channel_width
    linkageType: ''
    returnType: void
    signature: "void wpas_parse_connection_info_link(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \   int i,\n\t\t\t\t\t    struct ieee802_11_elems *req_elems,\n\t\t\t\t\t    struct
      ieee802_11_elems *resp_elems,\n\t\t\t\t\t    struct wpabuf *req_mlbuf,\n\t\t\t\t\t
      \   struct wpabuf *resp_mlbuf)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/wpa_supplicant/events.c:3686,1
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/wpa_supplicant/events.c:3688,1
    - Dst: wpas_freq_to_band
      Src: /src/hostap/wpa_supplicant/events.c:3700,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/events.c:3712,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/events.c:3714,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/events.c:3719,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/events.c:3721,1
    - Dst: get_supported_channel_width
      Src: /src/hostap/wpa_supplicant/events.c:3727,1
    - Dst: get_operation_channel_width
      Src: /src/hostap/wpa_supplicant/events.c:3729,1
    - Dst: get_sta_operation_chan_width
      Src: /src/hostap/wpa_supplicant/events.c:3733,1
    - Dst: get_max_nss_capability
      Src: /src/hostap/wpa_supplicant/events.c:3743,1
    - Dst: get_max_nss_capability
      Src: /src/hostap/wpa_supplicant/events.c:3745,1
    - Dst: get_max_nss_capability
      Src: /src/hostap/wpa_supplicant/events.c:3747,1
    - Dst: get_max_nss_capability
      Src: /src/hostap/wpa_supplicant/events.c:3749,1
    - Dst: MIN
      Src: /src/hostap/wpa_supplicant/events.c:3752,1
    - Dst: MIN
      Src: /src/hostap/wpa_supplicant/events.c:3753,1
    - Dst: ieee802_11_defrag
      Src: /src/hostap/wpa_supplicant/events.c:3755,1
    - Dst: ieee802_11_defrag
      Src: /src/hostap/wpa_supplicant/events.c:3757,1
    - Dst: for_each_link
      Src: /src/hostap/wpa_supplicant/events.c:3762,1
    - Dst: wpabuf_dup
      Src: /src/hostap/wpa_supplicant/events.c:3772,1
    - Dst: wpabuf_dup
      Src: /src/hostap/wpa_supplicant/events.c:3773,1
    - Dst: wpas_parse_connection_info_link
      Src: /src/hostap/wpa_supplicant/events.c:3775,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/events.c:3778,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/events.c:3779,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/events.c:3782,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/events.c:3783,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 52
    argCount: 6
    argNames:
    - wpa_s
    - freq
    - req_ies
    - req_ies_len
    - resp_ies
    - resp_ies_len
    argTypes:
    - struct wpa_supplicant*
    - unsigned int
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3784
      start: 3672
    functionDepth: 2
    functionLinenumber: 3672
    functionLinenumberEnd: 3784
    functionName: wpas_parse_connection_info
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - wpabuf_dup
    - ieee802_11_defrag
    - os_memcpy
    - wpa_hexdump
    - get_max_nss_capability
    - wpabuf_free
    - for_each_link
    - ieee802_11_parse_elems
    - MIN
    - wpas_parse_connection_info_link
    - get_sta_operation_chan_width
    - wpas_freq_to_band
    - get_operation_channel_width
    - get_supported_channel_width
    linkageType: ''
    returnType: void
    signature: "void wpas_parse_connection_info(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \      unsigned int freq,\n\t\t\t\t       const u8 *req_ies, size_t req_ies_len,\n\t\t\t\t
      \      const u8 *resp_ies, size_t resp_ies_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - country
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3792
      start: 3789
    functionDepth: 0
    functionLinenumber: 3789
    functionLinenumberEnd: 3792
    functionName: is_assisted_dfs_p2p_allowed_cc
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_assisted_dfs_p2p_allowed_cc(const char *country)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_bss_get_ie
      Src: /src/hostap/wpa_supplicant/events.c:3806,1
    - Dst: is_assisted_dfs_p2p_allowed_cc
      Src: /src/hostap/wpa_supplicant/events.c:3817,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - wpa_s
    - bss
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3818
      start: 3795
    functionDepth: 2
    functionLinenumber: 3795
    functionLinenumberEnd: 3818
    functionName: is_assisted_p2p_dfs_allowed
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - wpa_bss_get_ie
    - is_assisted_dfs_p2p_allowed_cc
    linkageType: ''
    returnType: bool
    signature: "bool is_assisted_p2p_dfs_allowed(struct wpa_supplicant *wpa_s,\n\t\t\t\t\tstruct
      wpa_bss *bss)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_bss_get_vendor_ie
      Src: /src/hostap/wpa_supplicant/events.c:3827,1
    - Dst: wpa_bss_get_vendor_ie_beacon
      Src: /src/hostap/wpa_supplicant/events.c:3828,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - wpa_s
    - bss
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3842
      start: 3821
    functionDepth: 2
    functionLinenumber: 3821
    functionLinenumberEnd: 3842
    functionName: is_dfs_owner_ap
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - wpa_bss_get_vendor_ie
    - wpa_bss_get_vendor_ie_beacon
    linkageType: ''
    returnType: bool
    signature: bool is_dfs_owner_ap(struct wpa_supplicant *wpa_s, struct wpa_bss *bss)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ptksa_cache_get
      Src: /src/hostap/wpa_supplicant/events.c:3853,1
    - Dst: wpa_sm_set_ptk_kck_kek
      Src: /src/hostap/wpa_supplicant/events.c:3858,1
    - Dst: wpa_sm_set_ptk_tk
      Src: /src/hostap/wpa_supplicant/events.c:3863,1
    - Dst: process_encrypted_assoc_resp
      Src: /src/hostap/wpa_supplicant/events.c:3866,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 4
    argNames:
    - wpa_s
    - aa
    - resp_ies
    - resp_ies_len
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3872
      start: 3848
    functionDepth: 1
    functionLinenumber: 3848
    functionLinenumberEnd: 3872
    functionName: wpas_rx_enc_assoc_resp
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - process_encrypted_assoc_resp
    - wpa_sm_set_ptk_kck_kek
    - ptksa_cache_get
    - wpa_sm_set_ptk_tk
    linkageType: ''
    returnType: int
    signature: "int wpas_rx_enc_assoc_resp(struct wpa_supplicant *wpa_s, const u8
      *aa,\n\t\t\t\t  const u8 *resp_ies, size_t resp_ies_len)"
  - BBCount: 60
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:3888,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wpa_supplicant/events.c:3899,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:3902,1
    - Dst: wpa_drv_get_bssid
      Src: /src/hostap/wpa_supplicant/events.c:3916,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/events.c:3918,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/events.c:3921,1
    - Dst: wpa_tdls_assoc_resp_ies
      Src: /src/hostap/wpa_supplicant/events.c:3924,1
    - Dst: wnm_process_assoc_resp
      Src: /src/hostap/wpa_supplicant/events.c:3928,1
    - Dst: interworking_process_assoc_resp
      Src: /src/hostap/wpa_supplicant/events.c:3931,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/events.c:3933,1
    - Dst: get_ie
      Src: /src/hostap/wpa_supplicant/events.c:3934,1
    - Dst: multi_ap_process_assoc_resp
      Src: /src/hostap/wpa_supplicant/events.c:3938,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/events.c:3942,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:3946,1
    - Dst: wpas_parse_connection_info
      Src: /src/hostap/wpa_supplicant/events.c:3949,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/events.c:3962,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/events.c:3968,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/events.c:3970,1
    - Dst: wpa_sm_set_assoc_wpa_ie
      Src: /src/hostap/wpa_supplicant/events.c:3972,1
    - Dst: wpa_find_assoc_pmkid
      Src: /src/hostap/wpa_supplicant/events.c:3975,1
    - Dst: wpa_sm_set_assoc_rsnxe
      Src: /src/hostap/wpa_supplicant/events.c:3980,1
    - Dst: wpa_sm_set_assoc_wpa_ie
      Src: /src/hostap/wpa_supplicant/events.c:3989,1
    - Dst: wpa_sm_set_assoc_rsnxe
      Src: /src/hostap/wpa_supplicant/events.c:3992,1
    - Dst: get_vendor_ie
      Src: /src/hostap/wpa_supplicant/events.c:3996,1
    - Dst: wpa_sm_set_param
      Src: /src/hostap/wpa_supplicant/events.c:4012,1
    - Dst: fils_process_assoc_resp
      Src: /src/hostap/wpa_supplicant/events.c:4019,1
    - Dst: wpa_supplicant_deauthenticate
      Src: /src/hostap/wpa_supplicant/events.c:4023,1
    - Dst: wpa_sm_set_reset_fils_completed
      Src: /src/hostap/wpa_supplicant/events.c:4038,1
    - Dst: wpas_rx_enc_assoc_resp
      Src: /src/hostap/wpa_supplicant/events.c:4045,1
    - Dst: wpa_supplicant_deauthenticate
      Src: /src/hostap/wpa_supplicant/events.c:4049,1
    - Dst: owe_process_assoc_resp
      Src: /src/hostap/wpa_supplicant/events.c:4058,1
    - Dst: wpa_supplicant_deauthenticate
      Src: /src/hostap/wpa_supplicant/events.c:4063,1
    - Dst: wpa_sm_set_dpp_z
      Src: /src/hostap/wpa_supplicant/events.c:4069,1
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/wpa_supplicant/events.c:4074,1
    - Dst: dpp_pfs_process
      Src: /src/hostap/wpa_supplicant/events.c:4079,1
    - Dst: wpa_supplicant_deauthenticate
      Src: /src/hostap/wpa_supplicant/events.c:4081,1
    - Dst: wpa_sm_set_dpp_z
      Src: /src/hostap/wpa_supplicant/events.c:4086,1
    - Dst: wpa_ft_validate_reassoc_resp
      Src: /src/hostap/wpa_supplicant/events.c:4095,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:4099,1
    - Dst: wpa_supplicant_deauthenticate
      Src: /src/hostap/wpa_supplicant/events.c:4101,1
    - Dst: ieee802_11_vendor_ie_concat
      Src: /src/hostap/wpa_supplicant/events.c:4117,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/events.c:4119,1
    - Dst: wps_validate_assoc_resp
      Src: /src/hostap/wpa_supplicant/events.c:4124,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/events.c:4125,1
    - Dst: wpa_supplicant_deauthenticate
      Src: /src/hostap/wpa_supplicant/events.c:4126,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/events.c:4130,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/events.c:4138,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/events.c:4145,1
    - Dst: wpa_ft_is_completed
      Src: /src/hostap/wpa_supplicant/events.c:4156,1
    - Dst: wpa_ft_validate_reassoc_resp
      Src: /src/hostap/wpa_supplicant/events.c:4158,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:4162,1
    - Dst: wpa_supplicant_deauthenticate
      Src: /src/hostap/wpa_supplicant/events.c:4164,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:4168,1
    - Dst: wpa_sm_set_ft_params
      Src: /src/hostap/wpa_supplicant/events.c:4174,1
    - Dst: wpas_handle_assoc_resp_mscs
      Src: /src/hostap/wpa_supplicant/events.c:4180,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/events.c:4195,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/events.c:4201,1
    - Dst: wpa_sm_set_ap_wpa_ie
      Src: /src/hostap/wpa_supplicant/events.c:4203,1
    - Dst: wpa_sm_set_ap_rsn_ie
      Src: /src/hostap/wpa_supplicant/events.c:4209,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/wpa_supplicant/events.c:4213,1
    - Dst: wpa_sm_set_ap_rsne_override_2
      Src: /src/hostap/wpa_supplicant/events.c:4214,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/wpa_supplicant/events.c:4217,1
    - Dst: wpa_sm_set_ap_rsne_override
      Src: /src/hostap/wpa_supplicant/events.c:4218,1
    - Dst: wpa_sm_set_ap_rsnxe
      Src: /src/hostap/wpa_supplicant/events.c:4221,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/wpa_supplicant/events.c:4224,1
    - Dst: wpa_sm_set_ap_rsnxe_override
      Src: /src/hostap/wpa_supplicant/events.c:4225,1
    - Dst: wpa_sm_set_ap_wpa_ie
      Src: /src/hostap/wpa_supplicant/events.c:4232,1
    - Dst: wpa_sm_set_ap_rsn_ie
      Src: /src/hostap/wpa_supplicant/events.c:4234,1
    - Dst: wpa_sm_set_ap_rsnxe
      Src: /src/hostap/wpa_supplicant/events.c:4235,1
    - Dst: wpa_sm_set_ap_rsne_override
      Src: /src/hostap/wpa_supplicant/events.c:4236,1
    - Dst: wpa_sm_set_ap_rsne_override_2
      Src: /src/hostap/wpa_supplicant/events.c:4237,1
    - Dst: wpa_sm_set_ap_rsnxe_override
      Src: /src/hostap/wpa_supplicant/events.c:4238,1
    - Dst: wpa_bss_get_bssid_latest
      Src: /src/hostap/wpa_supplicant/events.c:4248,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:4253,1
    - Dst: wpa_supplicant_update_scan_results
      Src: /src/hostap/wpa_supplicant/events.c:4256,1
    - Dst: ieee80211_is_dfs
      Src: /src/hostap/wpa_supplicant/events.c:4264,1
    - Dst: wpa_bss_get_bssid_latest
      Src: /src/hostap/wpa_supplicant/events.c:4269,1
    - Dst: is_assisted_p2p_dfs_allowed
      Src: /src/hostap/wpa_supplicant/events.c:4271,1
    - Dst: is_dfs_owner_ap
      Src: /src/hostap/wpa_supplicant/events.c:4272,1
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/wpa_supplicant/events.c:4280,1
    - Dst: get_operation_channel_width
      Src: /src/hostap/wpa_supplicant/events.c:4285,1
    - Dst: wpas_update_dfs_ap_info
      Src: /src/hostap/wpa_supplicant/events.c:4289,1
    - Dst: for_each_link
      Src: /src/hostap/wpa_supplicant/events.c:4296,1
    - Dst: ieee80211_is_dfs
      Src: /src/hostap/wpa_supplicant/events.c:4302,1
    - Dst: wpa_bss_get_bssid
      Src: /src/hostap/wpa_supplicant/events.c:4307,1
    - Dst: is_assisted_p2p_dfs_allowed
      Src: /src/hostap/wpa_supplicant/events.c:4311,1
    - Dst: is_dfs_owner_ap
      Src: /src/hostap/wpa_supplicant/events.c:4313,1
    - Dst: wpas_update_dfs_ap_info
      Src: /src/hostap/wpa_supplicant/events.c:4315,1
    - Dst: wpas_handle_assoc_resp_qos_mgmt
      Src: /src/hostap/wpa_supplicant/events.c:4327,1
    CyclomaticComplexity: 133
    EdgeCount: 133
    ICount: 230
    argCount: 2
    argNames:
    - wpa_s
    - data
    argTypes:
    - struct wpa_supplicant*
    - union wpa_event_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4332
      start: 3876
    functionDepth: 7
    functionLinenumber: 3876
    functionLinenumberEnd: 4332
    functionName: wpa_supplicant_event_associnfo
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - wpa_sm_set_reset_fils_completed
    - wpa_hexdump
    - get_vendor_ie
    - WPA_GET_LE16
    - owe_process_assoc_resp
    - wpas_handle_assoc_resp_mscs
    - BIT
    - wpa_supplicant_deauthenticate
    - wpa_supplicant_update_scan_results
    - wpa_sm_set_ap_rsnxe
    - wpa_sm_set_ap_rsn_ie
    - wpa_printf
    - wpa_sm_set_ft_params
    - wpa_bss_get_bssid_latest
    - wpa_tdls_assoc_resp_ies
    - wpa_sm_set_ap_rsnxe_override
    - wpa_sm_set_assoc_wpa_ie
    - wpa_drv_get_bssid
    - ieee802_11_parse_elems
    - os_memcmp
    - wpa_sm_set_dpp_z
    - wpas_handle_assoc_resp_qos_mgmt
    - ieee80211_is_dfs
    - get_operation_channel_width
    - wpa_sm_set_ap_rsne_override
    - wpa_bss_get_bssid
    - wpa_sm_set_param
    - is_dfs_owner_ap
    - wpas_parse_connection_info
    - fils_process_assoc_resp
    - wpa_dbg
    - wnm_process_assoc_resp
    - os_memcpy
    - ieee802_11_vendor_ie_concat
    - wpa_sm_set_ap_rsne_override_2
    - wpas_rx_enc_assoc_resp
    - dpp_pfs_process
    - wpa_msg
    - wpabuf_free
    - for_each_link
    - wps_validate_assoc_resp
    - wpa_sm_set_ap_wpa_ie
    - get_ie
    - multi_ap_process_assoc_resp
    - interworking_process_assoc_resp
    - wpa_sm_set_assoc_rsnxe
    - wpas_update_dfs_ap_info
    - wpa_ft_validate_reassoc_resp
    - wpa_find_assoc_pmkid
    - is_assisted_p2p_dfs_allowed
    - WPA_GET_BE32
    - wpa_ft_is_completed
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_event_associnfo(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \ union wpa_event_data *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_key_mgmt_wpa_any
      Src: /src/hostap/wpa_supplicant/events.c:4343,1
    - Dst: wpa_bss_get_vendor_ie
      Src: /src/hostap/wpa_supplicant/events.c:4346,1
    - Dst: wpa_bss_get_ie
      Src: /src/hostap/wpa_supplicant/events.c:4348,1
    - Dst: wpa_bss_get_ie
      Src: /src/hostap/wpa_supplicant/events.c:4349,1
    - Dst: wpa_bss_get_vendor_ie
      Src: /src/hostap/wpa_supplicant/events.c:4350,1
    - Dst: wpa_bss_get_vendor_ie
      Src: /src/hostap/wpa_supplicant/events.c:4352,1
    - Dst: wpa_bss_get_vendor_ie
      Src: /src/hostap/wpa_supplicant/events.c:4354,1
    - Dst: wpa_sm_set_ap_wpa_ie
      Src: /src/hostap/wpa_supplicant/events.c:4357,1
    - Dst: wpa_sm_set_ap_rsn_ie
      Src: /src/hostap/wpa_supplicant/events.c:4359,1
    - Dst: wpa_sm_set_ap_rsnxe
      Src: /src/hostap/wpa_supplicant/events.c:4361,1
    - Dst: wpa_sm_set_ap_rsne_override
      Src: /src/hostap/wpa_supplicant/events.c:4363,1
    - Dst: wpa_sm_set_ap_rsne_override_2
      Src: /src/hostap/wpa_supplicant/events.c:4365,1
    - Dst: wpa_sm_set_ap_rsnxe_override
      Src: /src/hostap/wpa_supplicant/events.c:4367,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4372
      start: 4335
    functionDepth: 2
    functionLinenumber: 4335
    functionLinenumberEnd: 4372
    functionName: wpa_supplicant_assoc_update_ie
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - wpa_sm_set_ap_rsnxe
    - wpa_sm_set_ap_rsn_ie
    - wpa_sm_set_ap_rsne_override
    - wpa_sm_set_ap_rsne_override_2
    - wpa_sm_set_ap_rsnxe_override
    - wpa_sm_set_ap_wpa_ie
    - wpa_key_mgmt_wpa_any
    - wpa_bss_get_vendor_ie
    - wpa_bss_get_ie
    linkageType: ''
    returnType: int
    signature: int wpa_supplicant_assoc_update_ie(struct wpa_supplicant *wpa_s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/events.c:4383,1
    - Dst: wpas_fst_update_mbie
      Src: /src/hostap/wpa_supplicant/events.c:4387,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:4388,1
    - Dst: wpas_fst_update_mbie
      Src: /src/hostap/wpa_supplicant/events.c:4394,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:4395,1
    - Dst: wpa_bss_ie_ptr
      Src: /src/hostap/wpa_supplicant/events.c:4403,1
    - Dst: wpas_fst_update_mbie
      Src: /src/hostap/wpa_supplicant/events.c:4406,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:4407,1
    - Dst: wpas_fst_update_mbie
      Src: /src/hostap/wpa_supplicant/events.c:4408,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:4409,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - wpa_s
    - data
    argTypes:
    - struct wpa_supplicant*
    - union wpa_event_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4411
      start: 4375
    functionDepth: 2
    functionLinenumber: 4375
    functionLinenumberEnd: 4411
    functionName: wpas_fst_update_mb_assoc
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - wpas_fst_update_mbie
    - wpa_printf
    - wpabuf_free
    - wpa_bss_ie_ptr
    linkageType: ''
    returnType: void
    signature: "void wpas_fst_update_mb_assoc(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \    union wpa_event_data *data)"
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_11_defrag
      Src: /src/hostap/wpa_supplicant/events.c:4434,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/events.c:4438,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/events.c:4439,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/events.c:4443,1
    - Dst: le_to_host16
      Src: /src/hostap/wpa_supplicant/events.c:4445,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:4448,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:4454,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:4459,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:4464,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:4470,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:4476,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:4484,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:4491,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:4497,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/events.c:4498,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/events.c:4500,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:4501,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/events.c:4502,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:4511,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wpa_supplicant/events.c:4525,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wpa_supplicant/events.c:4530,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:4534,1
    - Dst: ieee802_11_defrag_mle_subelem
      Src: /src/hostap/wpa_supplicant/events.c:4550,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:4553,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:4562,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:4565,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:4576,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:4583,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wpa_supplicant/events.c:4598,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:4604,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:4610,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:4616,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:4622,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:4628,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:4641,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:4651,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:4660,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:4667,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/events.c:4669,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:4673,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/events.c:4676,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:4681,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:4686,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/events.c:4690,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wpa_supplicant/events.c:4691,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/events.c:4701,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/events.c:4704,1
    CyclomaticComplexity: 67
    EdgeCount: 67
    ICount: 198
    argCount: 3
    argNames:
    - wpa_s
    - elems
    - ml_info
    argTypes:
    - struct wpa_supplicant*
    - struct ieee802_11_elems*
    - struct ml_sta_link_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4706
      start: 4414
    functionDepth: 1
    functionLinenumber: 4414
    functionLinenumberEnd: 4706
    functionName: wpas_ml_parse_assoc
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - ieee802_11_defrag
    - wpa_printf
    - os_memcpy
    - wpa_hexdump
    - wpabuf_len
    - ether_addr_equal
    - wpabuf_free
    - WPA_GET_LE16
    - wpabuf_head
    - MAC2STR
    - ieee802_11_defrag_mle_subelem
    - le_to_host16
    - os_memset
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int wpas_ml_parse_assoc(struct wpa_supplicant *wpa_s,\n\t\t\t\t\tstruct
      ieee802_11_elems *elems,\n\t\t\t\t\tstruct ml_sta_link_info *ml_info)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/events.c:4714,1
    - Dst: wpas_drv_get_sta_mlo_info
      Src: /src/hostap/wpa_supplicant/events.c:4715,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:4716,1
    - Dst: wpa_supplicant_deauthenticate
      Src: /src/hostap/wpa_supplicant/events.c:4717,1
    - Dst: for_each_link
      Src: /src/hostap/wpa_supplicant/events.c:4728,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/events.c:4729,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/events.c:4731,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/events.c:4739,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/events.c:4745,1
    - Dst: for_each_link
      Src: /src/hostap/wpa_supplicant/events.c:4746,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/events.c:4747,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/events.c:4748,1
    - Dst: wpa_supplicant_update_link_bss
      Src: /src/hostap/wpa_supplicant/events.c:4750,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4754
      start: 4709
    functionDepth: 10
    functionLinenumber: 4709
    functionLinenumberEnd: 4754
    functionName: wpa_drv_get_mlo_info
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - ether_addr_equal
    - for_each_link
    - wpas_drv_get_sta_mlo_info
    - wpa_supplicant_deauthenticate
    - wpa_dbg
    - wpa_supplicant_update_link_bss
    - os_memset
    linkageType: ''
    returnType: int
    signature: int wpa_drv_get_mlo_info(struct wpa_supplicant *wpa_s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/events.c:4763,1
    - Dst: wpas_drv_get_sta_mlo_info
      Src: /src/hostap/wpa_supplicant/events.c:4764,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:4765,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/events.c:4769,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/events.c:4773,1
    - Dst: for_each_link
      Src: /src/hostap/wpa_supplicant/events.c:4778,1
    - Dst: wpa_supplicant_get_new_bss
      Src: /src/hostap/wpa_supplicant/events.c:4782,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:4784,1
    - Dst: wpa_bss_get_ie
      Src: /src/hostap/wpa_supplicant/events.c:4789,1
    - Dst: wpa_bss_get_ie
      Src: /src/hostap/wpa_supplicant/events.c:4790,1
    - Dst: wpa_bss_get_vendor_ie
      Src: /src/hostap/wpa_supplicant/events.c:4791,1
    - Dst: wpa_bss_get_vendor_ie
      Src: /src/hostap/wpa_supplicant/events.c:4793,1
    - Dst: wpa_bss_get_vendor_ie
      Src: /src/hostap/wpa_supplicant/events.c:4795,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/events.c:4809,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/events.c:4811,1
    - Dst: wpa_sm_set_mlo_params
      Src: /src/hostap/wpa_supplicant/events.c:4816,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 41
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4817
      start: 4757
    functionDepth: 9
    functionLinenumber: 4757
    functionLinenumberEnd: 4817
    functionName: wpa_sm_set_ml_info
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_bss_get_ie
    - for_each_link
    - wpas_drv_get_sta_mlo_info
    - wpa_sm_set_mlo_params
    - wpa_dbg
    - wpa_bss_get_vendor_ie
    - wpa_supplicant_get_new_bss
    - os_memset
    linkageType: ''
    returnType: int
    signature: int wpa_sm_set_ml_info(struct wpa_supplicant *wpa_s)
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_notif_assoc
      Src: /src/hostap/wpa_supplicant/events.c:4834,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/events.c:4843,1
    - Dst: wpa_ft_is_completed
      Src: /src/hostap/wpa_supplicant/events.c:4846,1
    - Dst: wpa_drv_get_bssid
      Src: /src/hostap/wpa_supplicant/events.c:4848,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:4849,1
    - Dst: wpa_supplicant_deauthenticate
      Src: /src/hostap/wpa_supplicant/events.c:4850,1
    - Dst: wpa_drv_get_mlo_info
      Src: /src/hostap/wpa_supplicant/events.c:4855,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:4856,1
    - Dst: wpa_supplicant_deauthenticate
      Src: /src/hostap/wpa_supplicant/events.c:4857,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/events.c:4864,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/events.c:4865,1
    - Dst: wpa_supplicant_update_current_bss
      Src: /src/hostap/wpa_supplicant/events.c:4866,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:4867,1
    - Dst: wpa_supplicant_assoc_update_ie
      Src: /src/hostap/wpa_supplicant/events.c:4871,1
    - Dst: wpa_supplicant_event_associnfo
      Src: /src/hostap/wpa_supplicant/events.c:4874,1
    - Dst: wpa_fils_is_completed
      Src: /src/hostap/wpa_supplicant/events.c:4882,1
    - Dst: wpa_eppke_is_completed
      Src: /src/hostap/wpa_supplicant/events.c:4885,1
    - Dst: wpa_eap_over_auth_frame_is_completed
      Src: /src/hostap/wpa_supplicant/events.c:4888,1
    - Dst: wpa_supplicant_set_state
      Src: /src/hostap/wpa_supplicant/events.c:4890,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/events.c:4891,1
    - Dst: os_reltime_initialized
      Src: /src/hostap/wpa_supplicant/events.c:4892,1
    - Dst: os_reltime_age
      Src: /src/hostap/wpa_supplicant/events.c:4893,1
    - Dst: wpas_notify_session_length
      Src: /src/hostap/wpa_supplicant/events.c:4897,1
    - Dst: wpas_notify_auth_changed
      Src: /src/hostap/wpa_supplicant/events.c:4899,1
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/events.c:4900,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:4902,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/events.c:4903,1
    - Dst: random_add_randomness
      Src: /src/hostap/wpa_supplicant/events.c:4905,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/events.c:4906,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/events.c:4907,1
    - Dst: wpas_notify_bssid_changed
      Src: /src/hostap/wpa_supplicant/events.c:4908,1
    - Dst: wpa_supplicant_dynamic_keys
      Src: /src/hostap/wpa_supplicant/events.c:4910,1
    - Dst: wpa_clear_keys
      Src: /src/hostap/wpa_supplicant/events.c:4911,1
    - Dst: wpa_supplicant_select_config
      Src: /src/hostap/wpa_supplicant/events.c:4913,1
    - Dst: wpa_supplicant_deauthenticate
      Src: /src/hostap/wpa_supplicant/events.c:4914,1
    - Dst: wpa_supplicant_use_own_rsne_params
      Src: /src/hostap/wpa_supplicant/events.c:4921,1
    - Dst: multi_ap_set_4addr_mode
      Src: /src/hostap/wpa_supplicant/events.c:4924,1
    - Dst: wpa_supplicant_assoc_update_ie
      Src: /src/hostap/wpa_supplicant/events.c:4928,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/events.c:4929,1
    - Dst: wpas_fst_update_mb_assoc
      Src: /src/hostap/wpa_supplicant/events.c:4933,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/events.c:4941,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/events.c:4947,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/events.c:4947,1
    - Dst: wpa_supplicant_scard_init
      Src: /src/hostap/wpa_supplicant/events.c:4953,1
    - Dst: wpa_sm_notify_assoc
      Src: /src/hostap/wpa_supplicant/events.c:4955,1
    - Dst: wpa_sm_pmksa_privacy_supported
      Src: /src/hostap/wpa_supplicant/events.c:4960,1
    - Dst: wpa_sm_get_pmksa_cache
      Src: /src/hostap/wpa_supplicant/events.c:4965,1
    - Dst: pmksa_cache_get
      Src: /src/hostap/wpa_supplicant/events.c:4970,1
    - Dst: rsn_pmkid_privacy
      Src: /src/hostap/wpa_supplicant/events.c:4973,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:4978,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/events.c:4980,1
    - Dst: wpa_sm_set_ml_info
      Src: /src/hostap/wpa_supplicant/events.c:4987,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:4988,1
    - Dst: wpa_supplicant_deauthenticate
      Src: /src/hostap/wpa_supplicant/events.c:4990,1
    - Dst: l2_packet_notify_auth_start
      Src: /src/hostap/wpa_supplicant/events.c:4996,1
    - Dst: eapol_sm_notify_portEnabled
      Src: /src/hostap/wpa_supplicant/events.c:5009,1
    - Dst: eapol_sm_notify_portValid
      Src: /src/hostap/wpa_supplicant/events.c:5010,1
    - Dst: wpa_key_mgmt_wpa_psk
      Src: /src/hostap/wpa_supplicant/events.c:5012,1
    - Dst: eapol_sm_notify_eap_success
      Src: /src/hostap/wpa_supplicant/events.c:5016,1
    - Dst: eapol_sm_notify_portEnabled
      Src: /src/hostap/wpa_supplicant/events.c:5018,1
    - Dst: wpa_supplicant_set_wpa_none_key
      Src: /src/hostap/wpa_supplicant/events.c:5032,1
    - Dst: wpa_supplicant_cancel_auth_timeout
      Src: /src/hostap/wpa_supplicant/events.c:5035,1
    - Dst: wpa_supplicant_set_state
      Src: /src/hostap/wpa_supplicant/events.c:5036,1
    - Dst: wpa_supplicant_req_auth_timeout
      Src: /src/hostap/wpa_supplicant/events.c:5039,1
    - Dst: wpa_supplicant_cancel_scan
      Src: /src/hostap/wpa_supplicant/events.c:5041,1
    - Dst: wpa_supplicant_cancel_auth_timeout
      Src: /src/hostap/wpa_supplicant/events.c:5048,1
    - Dst: wpa_supplicant_set_state
      Src: /src/hostap/wpa_supplicant/events.c:5049,1
    - Dst: eapol_sm_notify_portValid
      Src: /src/hostap/wpa_supplicant/events.c:5050,1
    - Dst: eapol_sm_notify_eap_success
      Src: /src/hostap/wpa_supplicant/events.c:5051,1
    - Dst: wpa_key_mgmt_wpa_psk
      Src: /src/hostap/wpa_supplicant/events.c:5053,1
    - Dst: wpa_supplicant_cancel_auth_timeout
      Src: /src/hostap/wpa_supplicant/events.c:5061,1
    - Dst: wpa_supplicant_set_state
      Src: /src/hostap/wpa_supplicant/events.c:5062,1
    - Dst: eapol_sm_notify_portValid
      Src: /src/hostap/wpa_supplicant/events.c:5063,1
    - Dst: eapol_sm_notify_eap_success
      Src: /src/hostap/wpa_supplicant/events.c:5064,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/events.c:5070,1
    - Dst: wpa_key_mgmt_wpa_ieee8021x
      Src: /src/hostap/wpa_supplicant/events.c:5074,1
    - Dst: eapol_sm_notify_portValid
      Src: /src/hostap/wpa_supplicant/events.c:5080,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:5088,1
    - Dst: wpa_sm_set_assoc_wpa_ie
      Src: /src/hostap/wpa_supplicant/events.c:5090,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/events.c:5091,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/events.c:5092,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:5095,1
    - Dst: wpa_sm_set_assoc_rsnxe
      Src: /src/hostap/wpa_supplicant/events.c:5097,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/events.c:5098,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/events.c:5099,1
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/events.c:5105,1
    - Dst: os_reltime_sub
      Src: /src/hostap/wpa_supplicant/events.c:5106,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/events.c:5108,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:5111,1
    - Dst: wpa_supplicant_rx_eapol
      Src: /src/hostap/wpa_supplicant/events.c:5114,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/events.c:5116,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/events.c:5117,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/events.c:5120,1
    - Dst: wpa_set_wep_keys
      Src: /src/hostap/wpa_supplicant/events.c:5130,1
    - Dst: ibss_rsn_init
      Src: /src/hostap/wpa_supplicant/events.c:5140,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/events.c:5142,1
    - Dst: wpa_supplicant_deauthenticate
      Src: /src/hostap/wpa_supplicant/events.c:5143,1
    - Dst: ibss_rsn_set_psk
      Src: /src/hostap/wpa_supplicant/events.c:5148,1
    - Dst: wpas_wps_notify_assoc
      Src: /src/hostap/wpa_supplicant/events.c:5152,1
    - Dst: wmm_ac_notify_assoc
      Src: /src/hostap/wpa_supplicant/events.c:5156,1
    - Dst: wmm_ac_restore_tspecs
      Src: /src/hostap/wpa_supplicant/events.c:5161,1
    - Dst: wpa_bss_get_bssid
      Src: /src/hostap/wpa_supplicant/events.c:5166,1
    - Dst: wpa_key_mgmt_fils
      Src: /src/hostap/wpa_supplicant/events.c:5169,1
    - Dst: wpa_bss_get_fils_cache_id
      Src: /src/hostap/wpa_supplicant/events.c:5170,1
    - Dst: wpa_sm_set_fils_cache_id
      Src: /src/hostap/wpa_supplicant/events.c:5173,1
    - Dst: wpas_mbo_check_pmf
      Src: /src/hostap/wpa_supplicant/events.c:5178,1
    - Dst: wpa_supplicant_set_4addr_mode
      Src: /src/hostap/wpa_supplicant/events.c:5186,1
    CyclomaticComplexity: 86
    EdgeCount: 86
    ICount: 181
    argCount: 2
    argNames:
    - wpa_s
    - data
    argTypes:
    - struct wpa_supplicant*
    - union wpa_event_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5189
      start: 4820
    functionDepth: 11
    functionLinenumber: 4820
    functionLinenumberEnd: 5189
    functionName: wpa_supplicant_event_assoc
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - wpa_eppke_is_completed
    - wpa_supplicant_set_wpa_none_key
    - wpa_clear_keys
    - wpa_supplicant_rx_eapol
    - wpa_key_mgmt_wpa_psk
    - wpa_supplicant_deauthenticate
    - multi_ap_set_4addr_mode
    - wpas_mbo_check_pmf
    - wpa_sm_notify_assoc
    - wpa_supplicant_assoc_update_ie
    - wpa_supplicant_event_associnfo
    - wpa_printf
    - wpa_fils_is_completed
    - ether_addr_equal
    - eapol_sm_notify_portValid
    - eapol_sm_notify_portEnabled
    - wpa_sm_set_assoc_wpa_ie
    - wpa_drv_get_bssid
    - wpa_supplicant_cancel_auth_timeout
    - wpas_notify_bssid_changed
    - wpas_fst_update_mb_assoc
    - os_reltime_age
    - wpa_sm_pmksa_privacy_supported
    - l2_packet_notify_auth_start
    - wpas_notify_auth_changed
    - os_reltime_initialized
    - os_get_reltime
    - wpa_set_wep_keys
    - ibss_rsn_init
    - wpa_bss_get_bssid
    - wpa_drv_get_mlo_info
    - wpa_supplicant_req_auth_timeout
    - wpabuf_len
    - wmm_ac_notify_assoc
    - wpa_sm_set_fils_cache_id
    - wpabuf_head
    - wpa_supplicant_select_config
    - eapol_sm_notify_eap_success
    - wpa_supplicant_update_current_bss
    - os_reltime_sub
    - wpa_bss_get_fils_cache_id
    - wpa_supplicant_set_4addr_mode
    - wpa_dbg
    - wpa_sm_get_pmksa_cache
    - wpa_supplicant_use_own_rsne_params
    - wpa_supplicant_cancel_scan
    - wmm_ac_restore_tspecs
    - pmksa_cache_get
    - ibss_rsn_set_psk
    - os_memset
    - wpa_supplicant_scard_init
    - wpa_supplicant_dynamic_keys
    - os_memcpy
    - wpas_wps_notify_assoc
    - wpa_eap_over_auth_frame_is_completed
    - wpa_sm_set_ml_info
    - wpa_msg
    - eloop_cancel_timeout
    - rsn_pmkid_privacy
    - wpabuf_free
    - hostapd_notif_assoc
    - wpa_supplicant_set_state
    - MAC2STR
    - wpas_notify_session_length
    - random_add_randomness
    - wpa_key_mgmt_wpa_ieee8021x
    - wpa_sm_set_assoc_rsnxe
    - wpa_key_mgmt_fils
    - wpa_ft_is_completed
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_event_assoc(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \     union wpa_event_data *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - reason_code
    argTypes:
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5197
      start: 5192
    functionDepth: 0
    functionLinenumber: 5192
    functionLinenumberEnd: 5197
    functionName: disconnect_reason_recoverable
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int disconnect_reason_recoverable(u16 reason_code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/events.c:5207,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/events.c:5210,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/events.c:5212,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/events.c:5214,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - wpa_s
    - reason_code
    - locally_generated
    argTypes:
    - struct wpa_supplicant*
    - u16
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5217
      start: 5200
    functionDepth: 1
    functionLinenumber: 5200
    functionLinenumberEnd: 5217
    functionName: wpa_supplicant_event_disassoc
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - is_zero_ether_addr
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_event_disassoc(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \ u16 reason_code,\n\t\t\t\t\t  int locally_generated)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_key_mgmt_wpa_psk
      Src: /src/hostap/wpa_supplicant/events.c:5225,1
    - Dst: wpa_key_mgmt_sae
      Src: /src/hostap/wpa_supplicant/events.c:5226,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - wpa_s
    - reason_code
    - locally_generated
    argTypes:
    - struct wpa_supplicant*
    - u16
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5243
      start: 5220
    functionDepth: 1
    functionLinenumber: 5220
    functionLinenumberEnd: 5243
    functionName: could_be_psk_mismatch
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - wpa_key_mgmt_sae
    - wpa_key_mgmt_wpa_psk
    linkageType: ''
    returnType: int
    signature: "int could_be_psk_mismatch(struct wpa_supplicant *wpa_s, u16 reason_code,\n\t\t\t\t
      int locally_generated)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: could_be_psk_mismatch
      Src: /src/hostap/wpa_supplicant/events.c:5268,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/events.c:5269,1
    - Dst: wpas_p2p_4way_hs_failed
      Src: /src/hostap/wpa_supplicant/events.c:5271,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/events.c:5274,1
    - Dst: wpa_bssid_ignore_add
      Src: /src/hostap/wpa_supplicant/events.c:5276,1
    - Dst: wpas_auth_failed
      Src: /src/hostap/wpa_supplicant/events.c:5277,1
    - Dst: wpas_notify_psk_mismatch
      Src: /src/hostap/wpa_supplicant/events.c:5278,1
    - Dst: wpas_wps_searching
      Src: /src/hostap/wpa_supplicant/events.c:5283,1
    - Dst: wpas_wps_reenable_networks_pending
      Src: /src/hostap/wpa_supplicant/events.c:5284,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:5285,1
    - Dst: wpas_wps_searching
      Src: /src/hostap/wpa_supplicant/events.c:5288,1
    - Dst: disconnect_reason_recoverable
      Src: /src/hostap/wpa_supplicant/events.c:5295,1
    - Dst: wpa_supplicant_req_scan
      Src: /src/hostap/wpa_supplicant/events.c:5307,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:5309,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:5313,1
    - Dst: wpa_supplicant_cancel_sched_scan
      Src: /src/hostap/wpa_supplicant/events.c:5318,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/events.c:5321,1
    - Dst: wpas_connection_failed
      Src: /src/hostap/wpa_supplicant/events.c:5324,1
    - Dst: wpa_sm_notify_disassoc
      Src: /src/hostap/wpa_supplicant/events.c:5325,1
    - Dst: ptksa_cache_flush
      Src: /src/hostap/wpa_supplicant/events.c:5326,1
    - Dst: wpas_update_dfs_ap_info
      Src: /src/hostap/wpa_supplicant/events.c:5328,1
    - Dst: wpas_notify_disconnect_reason
      Src: /src/hostap/wpa_supplicant/events.c:5334,1
    - Dst: wpas_dpp_send_conn_status_result
      Src: /src/hostap/wpa_supplicant/events.c:5336,1
    - Dst: wpa_supplicant_mark_disassoc
      Src: /src/hostap/wpa_supplicant/events.c:5338,1
    - Dst: wpa_supplicant_dynamic_keys
      Src: /src/hostap/wpa_supplicant/events.c:5339,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:5340,1
    - Dst: wpa_clear_keys
      Src: /src/hostap/wpa_supplicant/events.c:5341,1
    - Dst: wpa_bss_remove
      Src: /src/hostap/wpa_supplicant/events.c:5345,1
    - Dst: wpas_network_disabled
      Src: /src/hostap/wpa_supplicant/events.c:5348,1
    - Dst: disallowed_bssid
      Src: /src/hostap/wpa_supplicant/events.c:5349,1
    - Dst: disallowed_ssid
      Src: /src/hostap/wpa_supplicant/events.c:5350,1
    - Dst: wpas_temp_disabled
      Src: /src/hostap/wpa_supplicant/events.c:5352,1
    - Dst: wpa_is_bss_tmp_disallowed
      Src: /src/hostap/wpa_supplicant/events.c:5353,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:5355,1
    - Dst: wpa_supplicant_connect
      Src: /src/hostap/wpa_supplicant/events.c:5356,1
    - Dst: wpa_supplicant_req_scan
      Src: /src/hostap/wpa_supplicant/events.c:5359,1
    - Dst: wpa_supplicant_req_scan
      Src: /src/hostap/wpa_supplicant/events.c:5369,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 61
    argCount: 3
    argNames:
    - wpa_s
    - reason_code
    - locally_generated
    argTypes:
    - struct wpa_supplicant*
    - u16
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5371
      start: 5246
    functionDepth: 11
    functionLinenumber: 5246
    functionLinenumberEnd: 5371
    functionName: wpa_supplicant_event_disassoc_finish
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - wpas_notify_psk_mismatch
    - wpa_bss_remove
    - wpa_clear_keys
    - wpa_supplicant_connect
    - could_be_psk_mismatch
    - wpa_sm_notify_disassoc
    - wpas_p2p_4way_hs_failed
    - wpas_dpp_send_conn_status_result
    - disconnect_reason_recoverable
    - wpa_supplicant_req_scan
    - wpa_bssid_ignore_add
    - wpas_wps_searching
    - wpas_notify_disconnect_reason
    - wpas_wps_reenable_networks_pending
    - wpas_network_disabled
    - wpas_temp_disabled
    - disallowed_bssid
    - is_zero_ether_addr
    - wpas_connection_failed
    - wpa_dbg
    - wpa_supplicant_mark_disassoc
    - wpas_auth_failed
    - ptksa_cache_flush
    - wpa_supplicant_cancel_sched_scan
    - wpa_supplicant_dynamic_keys
    - wpa_msg
    - wpas_update_dfs_ap_info
    - disallowed_ssid
    - wpa_is_bss_tmp_disallowed
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_event_disassoc_finish(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t\t
      u16 reason_code,\n\t\t\t\t\t\t int locally_generated)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:5382,1
    - Dst: wpa_sm_key_request
      Src: /src/hostap/wpa_supplicant/events.c:5383,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - eloop_ctx
    - sock_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5385
      start: 5375
    functionDepth: 1
    functionLinenumber: 5375
    functionLinenumberEnd: 5385
    functionName: wpa_supplicant_delayed_mic_error_report
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - wpa_sm_key_request
    - wpa_dbg
    linkageType: ''
    returnType: void
    signature: void wpa_supplicant_delayed_mic_error_report(void *eloop_ctx, void
      *sock_ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/events.c:5396,1
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/events.c:5398,1
    - Dst: os_reltime_initialized
      Src: /src/hostap/wpa_supplicant/events.c:5399,1
    - Dst: os_reltime_expired
      Src: /src/hostap/wpa_supplicant/events.c:5400,1
    - Dst: wpa_sm_key_request
      Src: /src/hostap/wpa_supplicant/events.c:5408,1
    - Dst: wpa_sm_key_request
      Src: /src/hostap/wpa_supplicant/events.c:5415,1
    - Dst: wpa_bssid_ignore_add
      Src: /src/hostap/wpa_supplicant/events.c:5420,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/events.c:5422,1
    - Dst: os_sleep
      Src: /src/hostap/wpa_supplicant/events.c:5428,1
    - Dst: wpa_drv_set_countermeasures
      Src: /src/hostap/wpa_supplicant/events.c:5430,1
    - Dst: wpa_supplicant_deauthenticate
      Src: /src/hostap/wpa_supplicant/events.c:5431,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/events.c:5433,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/events.c:5435,1
    - Dst: os_get_random
      Src: /src/hostap/wpa_supplicant/events.c:5456,1
    - Dst: os_random
      Src: /src/hostap/wpa_supplicant/events.c:5457,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/wpa_supplicant/events.c:5459,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:5460,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/events.c:5464,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/events.c:5467,1
    - Dst: os_random
      Src: /src/hostap/wpa_supplicant/events.c:5468,1
    - Dst: wpa_sm_key_request
      Src: /src/hostap/wpa_supplicant/events.c:5472,1
    - Dst: wpa_sm_key_request
      Src: /src/hostap/wpa_supplicant/events.c:5475,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 2
    argNames:
    - wpa_s
    - data
    argTypes:
    - struct wpa_supplicant*
    - union wpa_event_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5480
      start: 5389
    functionDepth: 4
    functionLinenumber: 5389
    functionLinenumberEnd: 5480
    functionName: wpa_supplicant_event_michael_mic_failure
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - os_reltime_initialized
    - os_get_reltime
    - wpa_sm_key_request
    - wpa_msg
    - eloop_cancel_timeout
    - os_sleep
    - wpa_bssid_ignore_add
    - os_get_random
    - os_random
    - wpa_supplicant_deauthenticate
    - eloop_register_timeout
    - wpa_dbg
    - os_reltime_expired
    - wpa_drv_set_countermeasures
    - WPA_GET_BE32
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_event_michael_mic_failure(struct wpa_supplicant
      *wpa_s,\n\t\t\t\t\t union wpa_event_data *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - head
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5492
      start: 5484
    functionDepth: 0
    functionLinenumber: 5484
    functionLinenumberEnd: 5492
    functionName: any_interfaces
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int any_interfaces(struct wpa_supplicant *head)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/events.c:5500,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:5508,1
    - Dst: wpa_supplicant_driver_init
      Src: /src/hostap/wpa_supplicant/events.c:5509,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/events.c:5510,1
    - Dst: wpas_is_nan_iface
      Src: /src/hostap/wpa_supplicant/events.c:5518,1
    - Dst: wpas_p2p_add_p2pdev_interface
      Src: /src/hostap/wpa_supplicant/events.c:5521,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:5523,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:5531,1
    - Dst: wpa_supplicant_mark_disassoc
      Src: /src/hostap/wpa_supplicant/events.c:5533,1
    - Dst: wpa_supplicant_set_state
      Src: /src/hostap/wpa_supplicant/events.c:5534,1
    - Dst: l2_packet_deinit
      Src: /src/hostap/wpa_supplicant/events.c:5535,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:5543,1
    - Dst: wpa_supplicant_remove_iface
      Src: /src/hostap/wpa_supplicant/events.c:5545,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:5554,1
    - Dst: wpas_nan_data_interface_removed
      Src: /src/hostap/wpa_supplicant/events.c:5557,1
    - Dst: wpa_supplicant_remove_iface
      Src: /src/hostap/wpa_supplicant/events.c:5558,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:5563,1
    - Dst: wpa_supplicant_remove_iface
      Src: /src/hostap/wpa_supplicant/events.c:5571,1
    - Dst: wpa_supplicant_remove_iface
      Src: /src/hostap/wpa_supplicant/events.c:5578,1
    - Dst: any_interfaces
      Src: /src/hostap/wpa_supplicant/events.c:5585,1
    - Dst: eloop_terminate
      Src: /src/hostap/wpa_supplicant/events.c:5586,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 47
    argCount: 2
    argNames:
    - wpa_s
    - data
    argTypes:
    - struct wpa_supplicant*
    - union wpa_event_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5590
      start: 5496
    functionDepth: 10
    functionLinenumber: 5496
    functionLinenumberEnd: 5590
    functionName: wpa_supplicant_event_interface_status
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - wpas_p2p_add_p2pdev_interface
    - wpa_printf
    - any_interfaces
    - wpa_supplicant_driver_init
    - wpa_msg
    - wpas_is_nan_iface
    - l2_packet_deinit
    - eloop_terminate
    - wpa_supplicant_set_state
    - wpa_dbg
    - wpa_supplicant_remove_iface
    - wpa_supplicant_mark_disassoc
    - wpas_nan_data_interface_removed
    - os_strcmp
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_event_interface_status(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \     union wpa_event_data *data)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_tdls_remove
      Src: /src/hostap/wpa_supplicant/events.c:5601,1
    - Dst: wpa_tdls_is_external_setup
      Src: /src/hostap/wpa_supplicant/events.c:5602,1
    - Dst: wpa_tdls_start
      Src: /src/hostap/wpa_supplicant/events.c:5603,1
    - Dst: wpa_drv_tdls_oper
      Src: /src/hostap/wpa_supplicant/events.c:5605,1
    - Dst: wpa_tdls_is_external_setup
      Src: /src/hostap/wpa_supplicant/events.c:5608,1
    - Dst: wpa_tdls_teardown_link
      Src: /src/hostap/wpa_supplicant/events.c:5609,1
    - Dst: wpa_drv_tdls_oper
      Src: /src/hostap/wpa_supplicant/events.c:5612,1
    - Dst: wpa_tdls_send_discovery_request
      Src: /src/hostap/wpa_supplicant/events.c:5616,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - wpa_s
    - data
    argTypes:
    - struct wpa_supplicant*
    - union wpa_event_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5620
      start: 5594
    functionDepth: 1
    functionLinenumber: 5594
    functionLinenumberEnd: 5620
    functionName: wpa_supplicant_event_tdls
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - wpa_tdls_teardown_link
    - wpa_tdls_start
    - wpa_tdls_remove
    - wpa_drv_tdls_oper
    - wpa_tdls_send_discovery_request
    - wpa_tdls_is_external_setup
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_event_tdls(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \     union wpa_event_data *data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:5632,1
    - Dst: ieee802_11_send_wnmsleep_req
      Src: /src/hostap/wpa_supplicant/events.c:5635,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - wpa_s
    - data
    argTypes:
    - struct wpa_supplicant*
    - union wpa_event_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5639
      start: 5625
    functionDepth: 1
    functionLinenumber: 5625
    functionLinenumberEnd: 5639
    functionName: wpa_supplicant_event_wnm
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - ieee802_11_send_wnmsleep_req
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_event_wnm(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \    union wpa_event_data *data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ft_process_response
      Src: /src/hostap/wpa_supplicant/events.c:5651,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - wpa_s
    - data
    argTypes:
    - struct wpa_supplicant*
    - union wpa_event_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5659
      start: 5644
    functionDepth: 0
    functionLinenumber: 5644
    functionLinenumberEnd: 5659
    functionName: wpa_supplicant_event_ft_response
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - wpa_ft_process_response
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_event_ft_response(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      union wpa_event_data *data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_key_mgmt_wpa
      Src: /src/hostap/wpa_supplicant/events.c:5675,1
    - Dst: ibss_rsn_start
      Src: /src/hostap/wpa_supplicant/events.c:5678,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - wpa_s
    - data
    argTypes:
    - struct wpa_supplicant*
    - union wpa_event_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5679
      start: 5664
    functionDepth: 4
    functionLinenumber: 5664
    functionLinenumberEnd: 5679
    functionName: wpa_supplicant_event_ibss_rsn_start
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - wpa_key_mgmt_wpa
    - ibss_rsn_start
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_event_ibss_rsn_start(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t\tunion
      wpa_event_data *data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_key_mgmt_wpa
      Src: /src/hostap/wpa_supplicant/events.c:5691,1
    - Dst: ibss_rsn_handle_auth
      Src: /src/hostap/wpa_supplicant/events.c:5694,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - wpa_s
    - data
    argTypes:
    - struct wpa_supplicant*
    - union wpa_event_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5696
      start: 5682
    functionDepth: 5
    functionLinenumber: 5682
    functionLinenumberEnd: 5696
    functionName: wpa_supplicant_event_ibss_auth
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - wpa_key_mgmt_wpa
    - ibss_rsn_handle_auth
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_event_ibss_auth(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \  union wpa_event_data *data)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/events.c:5707,1
    - Dst: is_multicast_ether_addr
      Src: /src/hostap/wpa_supplicant/events.c:5708,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:5709,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/events.c:5711,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/events.c:5711,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wpa_supplicant/events.c:5722,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:5723,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/events.c:5725,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/events.c:5725,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/events.c:5727,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:5728,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/events.c:5729,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:5734,1
    - Dst: wpa_ft_process_response
      Src: /src/hostap/wpa_supplicant/events.c:5740,1
    - Dst: wpa_bss_get_bssid
      Src: /src/hostap/wpa_supplicant/events.c:5748,1
    - Dst: sme_associate
      Src: /src/hostap/wpa_supplicant/events.c:5752,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 5
    argNames:
    - wpa_s
    - da
    - sa
    - data
    - len
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5756
      start: 5701
    functionDepth: 3
    functionLinenumber: 5701
    functionLinenumberEnd: 5756
    functionName: ft_rx_action
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_ft_process_response
    - is_multicast_ether_addr
    - wpa_bss_get_bssid
    - wpa_hexdump
    - ether_addr_equal
    - WPA_GET_LE16
    - MAC2STR
    - wpa_dbg
    - sme_associate
    linkageType: ''
    returnType: void
    signature: "void ft_rx_action(struct wpa_supplicant *wpa_s, const u8 *da,\n\t\t\t
      const u8 *sa, const u8 *data, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:5763,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/events.c:5766,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/events.c:5766,1
    - Dst: sme_event_unprot_disconnect
      Src: /src/hostap/wpa_supplicant/events.c:5767,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - wpa_s
    - e
    argTypes:
    - struct wpa_supplicant*
    - struct unprot_deauth*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5768
      start: 5760
    functionDepth: 1
    functionLinenumber: 5760
    functionLinenumberEnd: 5768
    functionName: wpa_supplicant_event_unprot_deauth
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    - sme_event_unprot_disconnect
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_event_unprot_deauth(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \      struct unprot_deauth *e)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:5774,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/events.c:5777,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/events.c:5777,1
    - Dst: sme_event_unprot_disconnect
      Src: /src/hostap/wpa_supplicant/events.c:5778,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - wpa_s
    - e
    argTypes:
    - struct wpa_supplicant*
    - struct unprot_disassoc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5779
      start: 5771
    functionDepth: 1
    functionLinenumber: 5771
    functionLinenumberEnd: 5779
    functionName: wpa_supplicant_event_unprot_disassoc
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    - sme_event_unprot_disconnect
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_event_unprot_disassoc(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t\t
      struct unprot_disassoc *e)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_notif_disassoc
      Src: /src/hostap/wpa_supplicant/events.c:5788,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:5793,1
    - Dst: wpa_supplicant_event_disassoc
      Src: /src/hostap/wpa_supplicant/events.c:5801,1
    - Dst: wpa_key_mgmt_wpa_ieee8021x
      Src: /src/hostap/wpa_supplicant/events.c:5804,1
    - Dst: eapol_sm_failed
      Src: /src/hostap/wpa_supplicant/events.c:5806,1
    - Dst: wpas_auth_failed
      Src: /src/hostap/wpa_supplicant/events.c:5808,1
    - Dst: wpas_p2p_deauth_notif
      Src: /src/hostap/wpa_supplicant/events.c:5812,1
    - Dst: wpa_supplicant_event_disassoc_finish
      Src: /src/hostap/wpa_supplicant/events.c:5823,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 7
    argNames:
    - wpa_s
    - addr
    - reason_code
    - locally_generated
    - ie
    - ie_len
    - deauth
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u16
    - int
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5825
      start: 5782
    functionDepth: 12
    functionLinenumber: 5782
    functionLinenumberEnd: 5825
    functionName: wpas_event_disconnect
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - hostapd_notif_disassoc
    - wpa_supplicant_event_disassoc
    - eapol_sm_failed
    - wpas_p2p_deauth_notif
    - wpa_key_mgmt_wpa_ieee8021x
    - wpa_dbg
    - wpa_supplicant_event_disassoc_finish
    - wpas_auth_failed
    linkageType: ''
    returnType: void
    signature: "void wpas_event_disconnect(struct wpa_supplicant *wpa_s, const u8
      *addr,\n\t\t\t\t  u16 reason_code, int locally_generated,\n\t\t\t\t  const u8
      *ie, size_t ie_len, int deauth)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:5837,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:5845,1
    - Dst: reason2str
      Src: /src/hostap/wpa_supplicant/events.c:5846,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:5849,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/events.c:5850,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/events.c:5851,1
    - Dst: hostapd_notif_disassoc
      Src: /src/hostap/wpa_supplicant/events.c:5857,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:5862,1
    - Dst: wpas_p2p_disassoc_notif
      Src: /src/hostap/wpa_supplicant/events.c:5869,1
    - Dst: sme_event_disassoc
      Src: /src/hostap/wpa_supplicant/events.c:5876,1
    - Dst: wpas_event_disconnect
      Src: /src/hostap/wpa_supplicant/events.c:5878,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - wpa_s
    - info
    argTypes:
    - struct wpa_supplicant*
    - struct disassoc_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5880
      start: 5828
    functionDepth: 13
    functionLinenumber: 5828
    functionLinenumberEnd: 5880
    functionName: wpas_event_disassoc
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - hostapd_notif_disassoc
    - wpa_hexdump
    - sme_event_disassoc
    - MAC2STR
    - wpas_event_disconnect
    - wpa_dbg
    - wpas_p2p_disassoc_notif
    - reason2str
    linkageType: ''
    returnType: void
    signature: "void wpas_event_disassoc(struct wpa_supplicant *wpa_s,\n\t\t\t\tstruct
      disassoc_info *info)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:5892,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:5900,1
    - Dst: reason2str
      Src: /src/hostap/wpa_supplicant/events.c:5901,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:5904,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/events.c:5905,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/events.c:5907,1
    - Dst: wpa_reset_ft_completed
      Src: /src/hostap/wpa_supplicant/events.c:5911,1
    - Dst: sme_event_deauth
      Src: /src/hostap/wpa_supplicant/events.c:5914,1
    - Dst: wpas_event_disconnect
      Src: /src/hostap/wpa_supplicant/events.c:5916,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - wpa_s
    - info
    argTypes:
    - struct wpa_supplicant*
    - struct deauth_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5918
      start: 5883
    functionDepth: 13
    functionLinenumber: 5883
    functionLinenumberEnd: 5918
    functionName: wpas_event_deauth
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - wpa_hexdump
    - MAC2STR
    - wpas_event_disconnect
    - wpa_dbg
    - sme_event_deauth
    - wpa_reset_ft_completed
    - reason2str
    linkageType: ''
    returnType: void
    signature: "void wpas_event_deauth(struct wpa_supplicant *wpa_s,\n\t\t\t      struct
      deauth_info *info)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - init
    argTypes:
    - enum reg_change_initiator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5936
      start: 5921
    functionDepth: 0
    functionLinenumber: 5921
    functionLinenumberEnd: 5936
    functionName: reg_init_str
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * reg_init_str(enum reg_change_initiator init)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - type
    argTypes:
    - enum reg_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5954
      start: 5939
    functionDepth: 0
    functionLinenumber: 5939
    functionLinenumberEnd: 5954
    functionName: reg_type_str
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * reg_type_str(enum reg_type type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/events.c:5962,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - wpa_s
    - title
    - attrs
    argTypes:
    - struct wpa_supplicant*
    - char*
    - struct frequency_attrs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5968
      start: 5957
    functionDepth: 0
    functionLinenumber: 5957
    functionLinenumberEnd: 5968
    functionName: wpas_beacon_hint
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: "void wpas_beacon_hint(struct wpa_supplicant *wpa_s, const char *title,\n\t\t\t
      \    struct frequency_attrs *attrs)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/events.c:5987,1
    - Dst: reg_init_str
      Src: /src/hostap/wpa_supplicant/events.c:5989,1
    - Dst: reg_type_str
      Src: /src/hostap/wpa_supplicant/events.c:5989,1
    - Dst: wpas_beacon_hint
      Src: /src/hostap/wpa_supplicant/events.c:5994,1
    - Dst: wpas_beacon_hint
      Src: /src/hostap/wpa_supplicant/events.c:5996,1
    - Dst: dl_list_for_each
      Src: /src/hostap/wpa_supplicant/events.c:6004,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:6009,1
    - Dst: free_hw_features
      Src: /src/hostap/wpa_supplicant/events.c:6018,1
    - Dst: wpa_drv_get_hw_feature_data
      Src: /src/hostap/wpa_supplicant/events.c:6019,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:6037,1
    - Dst: wpas_is_6ghz_supported
      Src: /src/hostap/wpa_supplicant/events.c:6043,1
    - Dst: wpas_stop_pno
      Src: /src/hostap/wpa_supplicant/events.c:6047,1
    - Dst: wpas_start_pno
      Src: /src/hostap/wpa_supplicant/events.c:6048,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:6050,1
    - Dst: wpas_scan_restart_sched_scan
      Src: /src/hostap/wpa_supplicant/events.c:6052,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:6054,1
    - Dst: wpas_p2p_update_channel_list
      Src: /src/hostap/wpa_supplicant/events.c:6061,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 2
    argNames:
    - wpa_s
    - info
    argTypes:
    - struct wpa_supplicant*
    - struct channel_list_changed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6062
      start: 5971
    functionDepth: 4
    functionLinenumber: 5971
    functionLinenumberEnd: 6062
    functionName: wpa_supplicant_update_channel_list
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 1
    functionsReached:
    - wpas_p2p_update_channel_list
    - wpa_printf
    - wpas_start_pno
    - wpa_msg
    - wpas_is_6ghz_supported
    - wpas_beacon_hint
    - free_hw_features
    - reg_type_str
    - reg_init_str
    - dl_list_for_each
    - wpa_dbg
    - wpas_stop_pno
    - wpa_drv_get_hw_feature_data
    - wpas_scan_restart_sched_scan
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_update_channel_list(struct wpa_supplicant *wpa_s,\n\t\t\t\t\tstruct
      channel_list_changed *info)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:6082,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/events.c:6084,1
    - Dst: wmm_ac_rx_action
      Src: /src/hostap/wpa_supplicant/events.c:6088,1
    - Dst: ft_rx_action
      Src: /src/hostap/wpa_supplicant/events.c:6095,1
    - Dst: sme_sa_query_rx
      Src: /src/hostap/wpa_supplicant/events.c:6102,1
    - Dst: ieee802_11_rx_wnm_action
      Src: /src/hostap/wpa_supplicant/events.c:6109,1
    - Dst: gas_query_rx
      Src: /src/hostap/wpa_supplicant/events.c:6117,1
    - Dst: gas_server_rx
      Src: /src/hostap/wpa_supplicant/events.c:6126,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:6135,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/events.c:6137,1
    - Dst: wpa_tdls_process_discovery_response
      Src: /src/hostap/wpa_supplicant/events.c:6139,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:6141,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/events.c:6143,1
    - Dst: is_multicast_ether_addr
      Src: /src/hostap/wpa_supplicant/events.c:6154,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:6155,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/events.c:6158,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/events.c:6158,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:6162,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/events.c:6163,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/events.c:6164,1
    - Dst: wpas_qos_map_set
      Src: /src/hostap/wpa_supplicant/events.c:6167,1
    - Dst: wpas_rrm_handle_radio_measurement_request
      Src: /src/hostap/wpa_supplicant/events.c:6175,1
    - Dst: wpas_rrm_process_neighbor_rep
      Src: /src/hostap/wpa_supplicant/events.c:6184,1
    - Dst: wpas_rrm_handle_link_measurement_request
      Src: /src/hostap/wpa_supplicant/events.c:6191,1
    - Dst: fst_rx_action
      Src: /src/hostap/wpa_supplicant/events.c:6200,1
    - Dst: is_multicast_ether_addr
      Src: /src/hostap/wpa_supplicant/events.c:6210,1
    - Dst: wpas_nan_is_peer_paired
      Src: /src/hostap/wpa_supplicant/events.c:6211,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/wpa_supplicant/events.c:6214,1
    - Dst: wpas_nan_de_rx_sdf
      Src: /src/hostap/wpa_supplicant/events.c:6217,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/wpa_supplicant/events.c:6222,1
    - Dst: wpas_nan_rx_naf
      Src: /src/hostap/wpa_supplicant/events.c:6223,1
    - Dst: WPA_GET_BE24
      Src: /src/hostap/wpa_supplicant/events.c:6231,1
    - Dst: wpas_dpp_rx_action
      Src: /src/hostap/wpa_supplicant/events.c:6235,1
    - Dst: wpas_handle_robust_av_scs_recv_action
      Src: /src/hostap/wpa_supplicant/events.c:6243,1
    - Dst: wpas_handle_robust_av_recv_action
      Src: /src/hostap/wpa_supplicant/events.c:6250,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/wpa_supplicant/events.c:6256,1
    - Dst: wpas_handle_qos_mgmt_recv_action
      Src: /src/hostap/wpa_supplicant/events.c:6257,1
    - Dst: wpas_p2p_rx_action
      Src: /src/hostap/wpa_supplicant/events.c:6263,1
    - Dst: mesh_mpm_action_rx
      Src: /src/hostap/wpa_supplicant/events.c:6266,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 95
    argCount: 5
    argNames:
    - wpa_s
    - frame
    - len
    - freq
    - rssi
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - size_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6267
      start: 6065
    functionDepth: 5
    functionLinenumber: 6065
    functionLinenumberEnd: 6267
    functionName: wpas_event_rx_mgmt_action
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - ieee802_11_rx_wnm_action
    - wpas_handle_robust_av_scs_recv_action
    - gas_server_rx
    - wpas_rrm_process_neighbor_rep
    - wpas_nan_is_peer_paired
    - wpas_dpp_rx_action
    - ft_rx_action
    - wpa_printf
    - is_multicast_ether_addr
    - ether_addr_equal
    - wpas_qos_map_set
    - wmm_ac_rx_action
    - WPA_GET_BE24
    - mesh_mpm_action_rx
    - wpas_nan_de_rx_sdf
    - wpas_p2p_rx_action
    - wpas_rrm_handle_radio_measurement_request
    - wpas_handle_qos_mgmt_recv_action
    - fst_rx_action
    - wpa_tdls_process_discovery_response
    - wpa_dbg
    - wpas_handle_robust_av_recv_action
    - gas_query_rx
    - wpas_rrm_handle_link_measurement_request
    - MAC2STR
    - wpas_nan_rx_naf
    - sme_sa_query_rx
    - WPA_GET_BE32
    linkageType: ''
    returnType: void
    signature: "void wpas_event_rx_mgmt_action(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \     const u8 *frame, size_t len, int freq,\n\t\t\t\t      int rssi)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: freq_range_list_str
      Src: /src/hostap/wpa_supplicant/events.c:6279,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/events.c:6280,1
    - Dst: freq_range_list_parse
      Src: /src/hostap/wpa_supplicant/events.c:6284,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:6285,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:6288,1
    - Dst: wpas_p2p_update_channel_list
      Src: /src/hostap/wpa_supplicant/events.c:6294,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/events.c:6299,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - wpa_s
    - event
    argTypes:
    - struct wpa_supplicant*
    - union wpa_event_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6300
      start: 6270
    functionDepth: 1
    functionLinenumber: 6270
    functionLinenumberEnd: 6300
    functionName: wpa_supplicant_notify_avoid_freq
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - freq_range_list_parse
    - wpa_msg
    - wpa_dbg
    - os_free
    - freq_range_list_str
    - wpas_p2p_update_channel_list
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_notify_avoid_freq(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \    union wpa_event_data *event)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_supplicant_cancel_auth_timeout
      Src: /src/hostap/wpa_supplicant/events.c:6306,1
    - Dst: wpa_supplicant_set_state
      Src: /src/hostap/wpa_supplicant/events.c:6307,1
    - Dst: eapol_sm_notify_portValid
      Src: /src/hostap/wpa_supplicant/events.c:6308,1
    - Dst: eapol_sm_notify_eap_success
      Src: /src/hostap/wpa_supplicant/events.c:6309,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6312
      start: 6303
    functionDepth: 9
    functionLinenumber: 6303
    functionLinenumberEnd: 6312
    functionName: wpa_supplicant_event_port_authorized
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - eapol_sm_notify_eap_success
    - wpa_supplicant_cancel_auth_timeout
    - eapol_sm_notify_portValid
    - wpa_supplicant_set_state
    linkageType: ''
    returnType: void
    signature: void wpa_supplicant_event_port_authorized(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - wpa_s
    - freq
    argTypes:
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6334
      start: 6315
    functionDepth: 0
    functionLinenumber: 6315
    functionLinenumberEnd: 6334
    functionName: wpas_event_cac_ms
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int wpas_event_cac_ms(const struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \     int freq)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpas_ap_event_dfs_cac_started
      Src: /src/hostap/wpa_supplicant/events.c:6342,1
    - Dst: wpas_event_cac_ms
      Src: /src/hostap/wpa_supplicant/events.c:6346,1
    - Dst: wpas_auth_timeout_restart
      Src: /src/hostap/wpa_supplicant/events.c:6353,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - wpa_s
    - radar
    argTypes:
    - struct wpa_supplicant*
    - struct dfs_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6355
      start: 6337
    functionDepth: 2
    functionLinenumber: 6337
    functionLinenumberEnd: 6355
    functionName: wpas_event_dfs_cac_started
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - wpas_event_cac_ms
    - wpas_ap_event_dfs_cac_started
    - wpas_auth_timeout_restart
    linkageType: ''
    returnType: void
    signature: "void wpas_event_dfs_cac_started(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \      struct dfs_event *radar)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_ap_event_dfs_cac_finished
      Src: /src/hostap/wpa_supplicant/events.c:6363,1
    - Dst: wpas_auth_timeout_restart
      Src: /src/hostap/wpa_supplicant/events.c:6369,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - wpa_s
    - radar
    argTypes:
    - struct wpa_supplicant*
    - struct dfs_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6371
      start: 6358
    functionDepth: 2
    functionLinenumber: 6358
    functionLinenumberEnd: 6371
    functionName: wpas_event_dfs_cac_finished
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - wpas_ap_event_dfs_cac_finished
    - wpas_auth_timeout_restart
    linkageType: ''
    returnType: void
    signature: "void wpas_event_dfs_cac_finished(struct wpa_supplicant *wpa_s,\n\t\t\t\t\tstruct
      dfs_event *radar)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_ap_event_dfs_cac_aborted
      Src: /src/hostap/wpa_supplicant/events.c:6379,1
    - Dst: wpas_auth_timeout_restart
      Src: /src/hostap/wpa_supplicant/events.c:6385,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - wpa_s
    - radar
    argTypes:
    - struct wpa_supplicant*
    - struct dfs_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6387
      start: 6374
    functionDepth: 2
    functionLinenumber: 6374
    functionLinenumberEnd: 6387
    functionName: wpas_event_dfs_cac_aborted
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - wpas_ap_event_dfs_cac_aborted
    - wpas_auth_timeout_restart
    linkageType: ''
    returnType: void
    signature: "void wpas_event_dfs_cac_aborted(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \      struct dfs_event *radar)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:6393,1
    - Dst: wpa_supplicant_event_port_authorized
      Src: /src/hostap/wpa_supplicant/events.c:6397,1
    - Dst: wpa_sm_set_rx_replay_ctr
      Src: /src/hostap/wpa_supplicant/events.c:6401,1
    - Dst: wpa_sm_set_ptk_kck_kek
      Src: /src/hostap/wpa_supplicant/events.c:6402,1
    - Dst: wpa_bss_get_bssid
      Src: /src/hostap/wpa_supplicant/events.c:6409,1
    - Dst: wpa_bss_get_fils_cache_id
      Src: /src/hostap/wpa_supplicant/events.c:6410,1
    - Dst: eapol_sm_update_erp_next_seq_num
      Src: /src/hostap/wpa_supplicant/events.c:6413,1
    - Dst: wpa_sm_pmksa_cache_add
      Src: /src/hostap/wpa_supplicant/events.c:6418,1
    - Dst: pmksa_cache_set_current
      Src: /src/hostap/wpa_supplicant/events.c:6428,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - wpa_s
    - data
    argTypes:
    - struct wpa_supplicant*
    - union wpa_event_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6434
      start: 6390
    functionDepth: 10
    functionLinenumber: 6390
    functionLinenumberEnd: 6434
    functionName: wpa_supplicant_event_assoc_auth
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - wpa_sm_pmksa_cache_add
    - wpa_bss_get_bssid
    - wpa_supplicant_event_port_authorized
    - eapol_sm_update_erp_next_seq_num
    - wpa_bss_get_fils_cache_id
    - wpa_dbg
    - pmksa_cache_set_current
    - wpa_sm_set_rx_replay_ctr
    - wpa_sm_set_ptk_kck_kek
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_event_assoc_auth(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \   union wpa_event_data *data)"
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 1
    argNames:
    - code
    argTypes:
    - enum sta_connect_fail_reason_codes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6459
      start: 6437
    functionDepth: 0
    functionLinenumber: 6437
    functionLinenumberEnd: 6459
    functionName: connect_fail_reason
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * connect_fail_reason(enum sta_connect_fail_reason_codes code)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/events.c:6473,1
    - Dst: wpa_bss_get_bssid
      Src: /src/hostap/wpa_supplicant/events.c:6479,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/events.c:6483,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/events.c:6485,1
    - Dst: connect_fail_reason
      Src: /src/hostap/wpa_supplicant/events.c:6494,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/events.c:6496,1
    - Dst: connect_fail_reason
      Src: /src/hostap/wpa_supplicant/events.c:6506,1
    - Dst: wpas_notify_assoc_status_code
      Src: /src/hostap/wpa_supplicant/events.c:6508,1
    - Dst: wpa_supplicant_get_new_bss
      Src: /src/hostap/wpa_supplicant/events.c:6521,1
    - Dst: wpas_connection_failed
      Src: /src/hostap/wpa_supplicant/events.c:6523,1
    - Dst: wpa_supplicant_mark_disassoc
      Src: /src/hostap/wpa_supplicant/events.c:6524,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:6528,1
    - Dst: wpas_connect_work_done
      Src: /src/hostap/wpa_supplicant/events.c:6529,1
    - Dst: wpa_supplicant_mark_disassoc
      Src: /src/hostap/wpa_supplicant/events.c:6530,1
    - Dst: wpa_supplicant_connect
      Src: /src/hostap/wpa_supplicant/events.c:6531,1
    - Dst: wpa_supplicant_get_new_bss
      Src: /src/hostap/wpa_supplicant/events.c:6554,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:6556,1
    - Dst: wpas_connection_failed
      Src: /src/hostap/wpa_supplicant/events.c:6558,1
    - Dst: wpa_supplicant_mark_disassoc
      Src: /src/hostap/wpa_supplicant/events.c:6559,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:6562,1
    - Dst: wpas_connect_work_done
      Src: /src/hostap/wpa_supplicant/events.c:6564,1
    - Dst: wpa_supplicant_mark_disassoc
      Src: /src/hostap/wpa_supplicant/events.c:6565,1
    - Dst: wpa_supplicant_connect
      Src: /src/hostap/wpa_supplicant/events.c:6566,1
    - Dst: mbo_get_attr_from_ies
      Src: /src/hostap/wpa_supplicant/events.c:6577,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:6582,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/events.c:6585,1
    - Dst: wpa_bss_tmp_disallow
      Src: /src/hostap/wpa_supplicant/events.c:6587,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/events.c:6596,1
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/wpa_supplicant/events.c:6597,1
    - Dst: wpas_ml_parse_assoc
      Src: /src/hostap/wpa_supplicant/events.c:6603,1
    - Dst: sme_event_assoc_reject
      Src: /src/hostap/wpa_supplicant/events.c:6621,1
    - Dst: wpa_key_mgmt_sae
      Src: /src/hostap/wpa_supplicant/events.c:6629,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:6631,1
    - Dst: wpa_sm_aborted_cached
      Src: /src/hostap/wpa_supplicant/events.c:6632,1
    - Dst: wpa_sm_pmksa_cache_flush
      Src: /src/hostap/wpa_supplicant/events.c:6633,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:6641,1
    - Dst: wpa_sm_aborted_cached
      Src: /src/hostap/wpa_supplicant/events.c:6642,1
    - Dst: wpa_sm_pmksa_cache_flush
      Src: /src/hostap/wpa_supplicant/events.c:6643,1
    - Dst: fils_pmksa_cache_flush
      Src: /src/hostap/wpa_supplicant/events.c:6650,1
    - Dst: eapol_sm_update_erp_next_seq_num
      Src: /src/hostap/wpa_supplicant/events.c:6651,1
    - Dst: fils_connection_failure
      Src: /src/hostap/wpa_supplicant/events.c:6654,1
    - Dst: wpas_connection_failed
      Src: /src/hostap/wpa_supplicant/events.c:6658,1
    - Dst: wpa_supplicant_mark_disassoc
      Src: /src/hostap/wpa_supplicant/events.c:6659,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 82
    argCount: 2
    argNames:
    - wpa_s
    - data
    argTypes:
    - struct wpa_supplicant*
    - union wpa_event_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6660
      start: 6462
    functionDepth: 11
    functionLinenumber: 6462
    functionLinenumberEnd: 6660
    functionName: wpas_event_assoc_reject
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - mbo_get_attr_from_ies
    - wpas_connect_work_done
    - wpa_supplicant_connect
    - wpa_sm_pmksa_cache_flush
    - connect_fail_reason
    - wpa_key_mgmt_sae
    - wpa_printf
    - fils_connection_failure
    - ieee802_11_parse_elems
    - wpa_bss_tmp_disallow
    - wpa_bss_get_bssid
    - wpa_sm_aborted_cached
    - is_zero_ether_addr
    - wpas_connection_failed
    - eapol_sm_update_erp_next_seq_num
    - wpas_notify_assoc_status_code
    - wpa_dbg
    - wpa_supplicant_mark_disassoc
    - wpa_supplicant_get_new_bss
    - sme_event_assoc_reject
    - os_memset
    - fils_pmksa_cache_flush
    - wpa_msg
    - MAC2STR
    - wpas_ml_parse_assoc
    linkageType: ''
    returnType: void
    signature: "void wpas_event_assoc_reject(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \   union wpa_event_data *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/events.c:6670,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/events.c:6675,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/events.c:6679,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/events.c:6680,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/events.c:6681,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/events.c:6682,1
    - Dst: wpa_drv_send_action
      Src: /src/hostap/wpa_supplicant/events.c:6684,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/events.c:6686,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/events.c:6686,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:6688,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/events.c:6691,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - wpa_s
    - data
    argTypes:
    - struct wpa_supplicant*
    - struct unprot_beacon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6692
      start: 6663
    functionDepth: 3
    functionLinenumber: 6663
    functionLinenumberEnd: 6692
    functionName: wpas_event_unprot_beacon
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_drv_send_action
    - wpabuf_put_u8
    - wpabuf_len
    - ether_addr_equal
    - wpabuf_free
    - wpabuf_head
    - wpabuf_alloc
    linkageType: ''
    returnType: void
    signature: "void wpas_event_unprot_beacon(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \    struct unprot_beacon *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/events.c:6701,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - value
    - buf
    argTypes:
    - u8
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6705
      start: 6695
    functionDepth: 0
    functionLinenumber: 6695
    functionLinenumberEnd: 6705
    functionName: bitmap_to_str
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - BIT
    linkageType: ''
    returnType: char
    signature: char * bitmap_to_str(u8 value, char *buf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/events.c:6716,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/events.c:6718,1
    - Dst: for_each_link
      Src: /src/hostap/wpa_supplicant/events.c:6723,1
    - Dst: bitmap_to_str
      Src: /src/hostap/wpa_supplicant/events.c:6727,1
    - Dst: bitmap_to_str
      Src: /src/hostap/wpa_supplicant/events.c:6728,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/events.c:6731,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/events.c:6735,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/events.c:6741,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - wpa_s
    - info
    argTypes:
    - struct wpa_supplicant*
    - struct tid_link_map_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6742
      start: 6708
    functionDepth: 1
    functionLinenumber: 6708
    functionLinenumberEnd: 6742
    functionName: wpas_tid_link_map
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - bitmap_to_str
    - wpa_msg
    - for_each_link
    - os_snprintf
    - os_snprintf_error
    linkageType: ''
    returnType: void
    signature: "void wpas_tid_link_map(struct wpa_supplicant *wpa_s,\n\t\t\t      struct
      tid_link_map_info *info)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:6755,1
    - Dst: wpa_drv_get_mlo_info
      Src: /src/hostap/wpa_supplicant/events.c:6759,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:6760,1
    - Dst: wpa_sm_set_ml_info
      Src: /src/hostap/wpa_supplicant/events.c:6765,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:6766,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/events.c:6771,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wpa_supplicant/events.c:6774,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:6786,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/wpa_supplicant/events.c:6793,1
    - Dst: wpa_sm_install_mlo_group_keys
      Src: /src/hostap/wpa_supplicant/events.c:6797,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:6800,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/events.c:6808,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/events.c:6810,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 2
    argNames:
    - wpa_s
    - info
    argTypes:
    - struct wpa_supplicant*
    - struct reconfig_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6812
      start: 6745
    functionDepth: 11
    functionLinenumber: 6745
    functionLinenumberEnd: 6812
    functionName: wpas_setup_link_reconfig
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump_key
    - wpa_sm_set_ml_info
    - wpa_hexdump
    - wpa_drv_get_mlo_info
    - wpa_msg
    - WPA_GET_LE16
    - wpa_sm_install_mlo_group_keys
    linkageType: ''
    returnType: void
    signature: "void wpas_setup_link_reconfig(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \    struct reconfig_info *info)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_get_bssid
      Src: /src/hostap/wpa_supplicant/events.c:6819,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:6820,1
    - Dst: wpa_supplicant_deauthenticate
      Src: /src/hostap/wpa_supplicant/events.c:6821,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/events.c:6826,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/events.c:6827,1
    - Dst: wpa_supplicant_update_current_bss
      Src: /src/hostap/wpa_supplicant/events.c:6828,1
    - Dst: wpas_notify_bssid_changed
      Src: /src/hostap/wpa_supplicant/events.c:6829,1
    - Dst: wpa_drv_get_mlo_info
      Src: /src/hostap/wpa_supplicant/events.c:6832,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:6833,1
    - Dst: wpa_supplicant_deauthenticate
      Src: /src/hostap/wpa_supplicant/events.c:6835,1
    - Dst: wpa_sm_set_ml_info
      Src: /src/hostap/wpa_supplicant/events.c:6840,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:6841,1
    - Dst: wpa_supplicant_deauthenticate
      Src: /src/hostap/wpa_supplicant/events.c:6843,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/events.c:6848,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6850
      start: 6815
    functionDepth: 11
    functionLinenumber: 6815
    functionLinenumberEnd: 6850
    functionName: wpas_link_reconfig
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_sm_set_ml_info
    - wpa_drv_get_mlo_info
    - wpa_msg
    - ether_addr_equal
    - wpa_drv_get_bssid
    - wpa_supplicant_update_current_bss
    - wpa_supplicant_deauthenticate
    - wpas_notify_bssid_changed
    linkageType: ''
    returnType: void
    signature: void wpas_link_reconfig(struct wpa_supplicant *wpa_s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:6864,1
    - Dst: le_to_host16
      Src: /src/hostap/wpa_supplicant/events.c:6868,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:6869,1
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/wpa_supplicant/events.c:6874,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:6878,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - wpa_s
    - mgmt
    - len
    - freq
    argTypes:
    - struct wpa_supplicant*
    - struct ieee80211_mgmt*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6881
      start: 6854
    functionDepth: 1
    functionLinenumber: 6854
    functionLinenumberEnd: 6881
    functionName: wpas_pasn_auth
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - le_to_host16
    - wpa_printf
    - ieee802_11_parse_elems
    linkageType: ''
    returnType: int
    signature: "int wpas_pasn_auth(struct wpa_supplicant *wpa_s,\n\t\t\t  const struct
      ieee80211_mgmt *mgmt, size_t len,\n\t\t\t  int freq)"
  - BBCount: 174
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:6916,1
    - Dst: event_to_string
      Src: /src/hostap/wpa_supplicant/events.c:6918,1
    - Dst: le_to_host16
      Src: /src/hostap/wpa_supplicant/events.c:6927,1
    - Dst: WLAN_FC_GET_TYPE
      Src: /src/hostap/wpa_supplicant/events.c:6928,1
    - Dst: WLAN_FC_GET_STYPE
      Src: /src/hostap/wpa_supplicant/events.c:6929,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:6933,1
    - Dst: event_to_string
      Src: /src/hostap/wpa_supplicant/events.c:6934,1
    - Dst: wpas_fst_update_mbie
      Src: /src/hostap/wpa_supplicant/events.c:6940,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:6942,1
    - Dst: sme_event_auth
      Src: /src/hostap/wpa_supplicant/events.c:6945,1
    - Dst: wpas_notify_auth_status_code
      Src: /src/hostap/wpa_supplicant/events.c:6947,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:6952,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:6957,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:6963,1
    - Dst: dl_list_len
      Src: /src/hostap/wpa_supplicant/events.c:6968,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:6969,1
    - Dst: wpa_supplicant_event_assoc
      Src: /src/hostap/wpa_supplicant/events.c:6974,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:6975,1
    - Dst: wpa_fils_is_completed
      Src: /src/hostap/wpa_supplicant/events.c:6983,1
    - Dst: wpa_supplicant_event_assoc_auth
      Src: /src/hostap/wpa_supplicant/events.c:6984,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/events.c:6986,1
    - Dst: wpas_event_disassoc
      Src: /src/hostap/wpa_supplicant/events.c:6992,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:6998,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:7003,1
    - Dst: wpas_event_deauth
      Src: /src/hostap/wpa_supplicant/events.c:7008,1
    - Dst: wpas_link_reconfig
      Src: /src/hostap/wpa_supplicant/events.c:7012,1
    - Dst: wpa_supplicant_event_michael_mic_failure
      Src: /src/hostap/wpa_supplicant/events.c:7015,1
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/events.c:7023,1
    - Dst: os_reltime_sub
      Src: /src/hostap/wpa_supplicant/events.c:7024,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:7026,1
    - Dst: wpa_msg_ctrl
      Src: /src/hostap/wpa_supplicant/events.c:7032,1
    - Dst: wpa_msg_ctrl
      Src: /src/hostap/wpa_supplicant/events.c:7036,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:7040,1
    - Dst: wpa_msg_ctrl
      Src: /src/hostap/wpa_supplicant/events.c:7042,1
    - Dst: os_reltime_initialized
      Src: /src/hostap/wpa_supplicant/events.c:7055,1
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/events.c:7057,1
    - Dst: os_reltime_sub
      Src: /src/hostap/wpa_supplicant/events.c:7058,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:7062,1
    - Dst: wpa_supplicant_event_scan_results
      Src: /src/hostap/wpa_supplicant/events.c:7065,1
    - Dst: radio_work_check_next
      Src: /src/hostap/wpa_supplicant/events.c:7071,1
    - Dst: wpa_supplicant_event_associnfo
      Src: /src/hostap/wpa_supplicant/events.c:7075,1
    - Dst: wpa_supplicant_event_interface_status
      Src: /src/hostap/wpa_supplicant/events.c:7078,1
    - Dst: wpa_supplicant_event_pmkid_candidate
      Src: /src/hostap/wpa_supplicant/events.c:7081,1
    - Dst: wpa_supplicant_event_tdls
      Src: /src/hostap/wpa_supplicant/events.c:7085,1
    - Dst: wpa_supplicant_event_wnm
      Src: /src/hostap/wpa_supplicant/events.c:7090,1
    - Dst: wpa_supplicant_event_ft_response
      Src: /src/hostap/wpa_supplicant/events.c:7095,1
    - Dst: wpa_supplicant_event_ibss_rsn_start
      Src: /src/hostap/wpa_supplicant/events.c:7100,1
    - Dst: wpas_event_assoc_reject
      Src: /src/hostap/wpa_supplicant/events.c:7104,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:7110,1
    - Dst: sme_event_auth_timed_out
      Src: /src/hostap/wpa_supplicant/events.c:7115,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:7121,1
    - Dst: sme_event_assoc_timed_out
      Src: /src/hostap/wpa_supplicant/events.c:7126,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:7129,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/events.c:7131,1
    - Dst: wnm_btm_resp_tx_status
      Src: /src/hostap/wpa_supplicant/events.c:7136,1
    - Dst: wpas_p2p_pasn_auth_tx_status
      Src: /src/hostap/wpa_supplicant/events.c:7146,1
    - Dst: wpas_pr_pasn_auth_tx_status
      Src: /src/hostap/wpa_supplicant/events.c:7157,1
    - Dst: wpas_nan_pasn_auth_tx_status
      Src: /src/hostap/wpa_supplicant/events.c:7168,1
    - Dst: wpas_pasn_auth_tx_status
      Src: /src/hostap/wpa_supplicant/events.c:7175,1
    - Dst: wpas_is_nan_iface
      Src: /src/hostap/wpa_supplicant/events.c:7181,1
    - Dst: wpas_nan_tx_status
      Src: /src/hostap/wpa_supplicant/events.c:7184,1
    - Dst: offchannel_send_action_tx_status
      Src: /src/hostap/wpa_supplicant/events.c:7194,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:7206,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/events.c:7207,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/events.c:7217,1
    - Dst: offchannel_send_action_tx_status
      Src: /src/hostap/wpa_supplicant/events.c:7219,1
    - Dst: ap_mgmt_tx_cb
      Src: /src/hostap/wpa_supplicant/events.c:7232,1
    - Dst: ap_tx_status
      Src: /src/hostap/wpa_supplicant/events.c:7238,1
    - Dst: ap_eapol_tx_status
      Src: /src/hostap/wpa_supplicant/events.c:7248,1
    - Dst: ap_client_poll_ok
      Src: /src/hostap/wpa_supplicant/events.c:7254,1
    - Dst: ap_rx_from_unknown_sta
      Src: /src/hostap/wpa_supplicant/events.c:7259,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/events.c:7267,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/events.c:7270,1
    - Dst: channel_width_to_string
      Src: /src/hostap/wpa_supplicant/events.c:7279,1
    - Dst: notify_bss_changes
      Src: /src/hostap/wpa_supplicant/events.c:7292,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/events.c:7302,1
    - Dst: channel_width_to_string
      Src: /src/hostap/wpa_supplicant/events.c:7309,1
    - Dst: notify_bss_changes
      Src: /src/hostap/wpa_supplicant/events.c:7320,1
    - Dst: wpas_ap_ch_switch
      Src: /src/hostap/wpa_supplicant/events.c:7344,1
    - Dst: sme_event_ch_switch
      Src: /src/hostap/wpa_supplicant/events.c:7356,1
    - Dst: wpas_p2p_update_channel_list
      Src: /src/hostap/wpa_supplicant/events.c:7358,1
    - Dst: wnm_clear_coloc_intf_reporting
      Src: /src/hostap/wpa_supplicant/events.c:7359,1
    - Dst: wpas_ap_event_dfs_radar_detected
      Src: /src/hostap/wpa_supplicant/events.c:7365,1
    - Dst: wpas_ap_event_dfs_cac_nop_finished
      Src: /src/hostap/wpa_supplicant/events.c:7370,1
    - Dst: wpas_event_dfs_cac_started
      Src: /src/hostap/wpa_supplicant/events.c:7377,1
    - Dst: wpas_event_dfs_cac_finished
      Src: /src/hostap/wpa_supplicant/events.c:7381,1
    - Dst: wpas_event_dfs_cac_aborted
      Src: /src/hostap/wpa_supplicant/events.c:7385,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/events.c:7395,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/wpa_supplicant/events.c:7397,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/events.c:7399,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/events.c:7402,1
    - Dst: le_to_host16
      Src: /src/hostap/wpa_supplicant/events.c:7410,1
    - Dst: WLAN_FC_GET_STYPE
      Src: /src/hostap/wpa_supplicant/events.c:7411,1
    - Dst: wpas_p2p_probe_req_rx
      Src: /src/hostap/wpa_supplicant/events.c:7426,1
    - Dst: wpa_supplicant_event_ibss_auth
      Src: /src/hostap/wpa_supplicant/events.c:7439,1
    - Dst: wpas_event_rx_mgmt_action
      Src: /src/hostap/wpa_supplicant/events.c:7445,1
    - Dst: mesh_mpm_mgmt_rx
      Src: /src/hostap/wpa_supplicant/events.c:7454,1
    - Dst: wpas_pasn_auth
      Src: /src/hostap/wpa_supplicant/events.c:7459,1
    - Dst: sme_external_auth_mgmt_rx
      Src: /src/hostap/wpa_supplicant/events.c:7469,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:7475,1
    - Dst: wpas_notify_preq
      Src: /src/hostap/wpa_supplicant/events.c:7489,1
    - Dst: ap_mgmt_rx
      Src: /src/hostap/wpa_supplicant/events.c:7494,1
    - Dst: hostapd_probe_req_rx
      Src: /src/hostap/wpa_supplicant/events.c:7504,1
    - Dst: wpas_p2p_probe_req_rx
      Src: /src/hostap/wpa_supplicant/events.c:7514,1
    - Dst: offchannel_remain_on_channel_cb
      Src: /src/hostap/wpa_supplicant/events.c:7524,1
    - Dst: wpas_p2p_remain_on_channel_cb
      Src: /src/hostap/wpa_supplicant/events.c:7528,1
    - Dst: wpas_dpp_remain_on_channel_cb
      Src: /src/hostap/wpa_supplicant/events.c:7532,1
    - Dst: wpas_nan_usd_remain_on_channel_cb
      Src: /src/hostap/wpa_supplicant/events.c:7536,1
    - Dst: offchannel_cancel_remain_on_channel_cb
      Src: /src/hostap/wpa_supplicant/events.c:7542,1
    - Dst: wpas_p2p_cancel_remain_on_channel_cb
      Src: /src/hostap/wpa_supplicant/events.c:7545,1
    - Dst: wpas_dpp_cancel_remain_on_channel_cb
      Src: /src/hostap/wpa_supplicant/events.c:7548,1
    - Dst: wpas_nan_usd_cancel_remain_on_channel_cb
      Src: /src/hostap/wpa_supplicant/events.c:7551,1
    - Dst: wpas_pr_cancel_remain_on_channel_cb
      Src: /src/hostap/wpa_supplicant/events.c:7554,1
    - Dst: wpa_supplicant_rx_eapol
      Src: /src/hostap/wpa_supplicant/events.c:7559,1
    - Dst: wpa_msg_ctrl
      Src: /src/hostap/wpa_supplicant/events.c:7565,1
    - Dst: wpa_bss_update_level
      Src: /src/hostap/wpa_supplicant/events.c:7571,1
    - Dst: bgscan_notify_signal_change
      Src: /src/hostap/wpa_supplicant/events.c:7573,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/events.c:7578,1
    - Dst: wpas_notify_signal_change
      Src: /src/hostap/wpa_supplicant/events.c:7580,1
    - Dst: wpa_supplicant_update_mac_addr
      Src: /src/hostap/wpa_supplicant/events.c:7583,1
    - Dst: wpa_sm_pmksa_cache_flush
      Src: /src/hostap/wpa_supplicant/events.c:7584,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:7587,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/events.c:7591,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/events.c:7593,1
    - Dst: wpa_supplicant_update_mac_addr
      Src: /src/hostap/wpa_supplicant/events.c:7594,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/events.c:7595,1
    - Dst: wpa_sm_pmksa_cache_flush
      Src: /src/hostap/wpa_supplicant/events.c:7596,1
    - Dst: wpa_sm_pmksa_cache_reconfig
      Src: /src/hostap/wpa_supplicant/events.c:7598,1
    - Dst: wpa_supplicant_set_default_scan_ies
      Src: /src/hostap/wpa_supplicant/events.c:7599,1
    - Dst: wpa_supplicant_set_state
      Src: /src/hostap/wpa_supplicant/events.c:7601,1
    - Dst: wpa_supplicant_set_state
      Src: /src/hostap/wpa_supplicant/events.c:7608,1
    - Dst: wpa_supplicant_req_scan
      Src: /src/hostap/wpa_supplicant/events.c:7611,1
    - Dst: wpa_supplicant_set_state
      Src: /src/hostap/wpa_supplicant/events.c:7613,1
    - Dst: wpa_supplicant_set_state
      Src: /src/hostap/wpa_supplicant/events.c:7616,1
    - Dst: wpa_supplicant_req_scan
      Src: /src/hostap/wpa_supplicant/events.c:7617,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:7622,1
    - Dst: wpas_nan_flush
      Src: /src/hostap/wpa_supplicant/events.c:7624,1
    - Dst: wpa_supplicant_set_state
      Src: /src/hostap/wpa_supplicant/events.c:7625,1
    - Dst: wpa_supplicant_set_state
      Src: /src/hostap/wpa_supplicant/events.c:7637,1
    - Dst: wpas_p2p_interface_unavailable
      Src: /src/hostap/wpa_supplicant/events.c:7645,1
    - Dst: wpas_p2p_disconnect
      Src: /src/hostap/wpa_supplicant/events.c:7647,1
    - Dst: p2p_in_progress
      Src: /src/hostap/wpa_supplicant/events.c:7655,1
    - Dst: p2p_stop_find
      Src: /src/hostap/wpa_supplicant/events.c:7659,1
    - Dst: wpa_supplicant_event_disassoc
      Src: /src/hostap/wpa_supplicant/events.c:7668,1
    - Dst: wpa_supplicant_mark_disassoc
      Src: /src/hostap/wpa_supplicant/events.c:7671,1
    - Dst: os_reltime_age
      Src: /src/hostap/wpa_supplicant/events.c:7672,1
    - Dst: os_reltime_sub
      Src: /src/hostap/wpa_supplicant/events.c:7681,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/events.c:7683,1
    - Dst: radio_remove_works
      Src: /src/hostap/wpa_supplicant/events.c:7686,1
    - Dst: wpa_supplicant_set_state
      Src: /src/hostap/wpa_supplicant/events.c:7688,1
    - Dst: wpa_supplicant_update_channel_list
      Src: /src/hostap/wpa_supplicant/events.c:7691,1
    - Dst: wpas_p2p_interface_unavailable
      Src: /src/hostap/wpa_supplicant/events.c:7695,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:7698,1
    - Dst: wpas_p2p_update_best_channels
      Src: /src/hostap/wpa_supplicant/events.c:7705,1
    - Dst: wpa_supplicant_event_unprot_deauth
      Src: /src/hostap/wpa_supplicant/events.c:7710,1
    - Dst: wpa_supplicant_event_unprot_disassoc
      Src: /src/hostap/wpa_supplicant/events.c:7714,1
    - Dst: hostapd_event_sta_low_ack
      Src: /src/hostap/wpa_supplicant/events.c:7720,1
    - Dst: wpa_tdls_disable_unreachable_link
      Src: /src/hostap/wpa_supplicant/events.c:7725,1
    - Dst: ibss_rsn_stop
      Src: /src/hostap/wpa_supplicant/events.c:7731,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/events.c:7735,1
    - Dst: wpa_sm_update_replay_ctr
      Src: /src/hostap/wpa_supplicant/events.c:7740,1
    - Dst: wpas_scan_scheduled
      Src: /src/hostap/wpa_supplicant/events.c:7745,1
    - Dst: wpa_supplicant_notify_scanning
      Src: /src/hostap/wpa_supplicant/events.c:7746,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:7757,1
    - Dst: wpa_supplicant_req_scan
      Src: /src/hostap/wpa_supplicant/events.c:7759,1
    - Dst: wpa_supplicant_req_sched_scan
      Src: /src/hostap/wpa_supplicant/events.c:7770,1
    - Dst: wpas_start_pno
      Src: /src/hostap/wpa_supplicant/events.c:7773,1
    - Dst: wpa_supplicant_req_scan
      Src: /src/hostap/wpa_supplicant/events.c:7775,1
    - Dst: wpas_wps_start_pbc
      Src: /src/hostap/wpa_supplicant/events.c:7781,1
    - Dst: wpa_supplicant_notify_avoid_freq
      Src: /src/hostap/wpa_supplicant/events.c:7785,1
    - Dst: hostapd_event_connect_failed_reason
      Src: /src/hostap/wpa_supplicant/events.c:7791,1
    - Dst: wpa_mesh_notify_peer
      Src: /src/hostap/wpa_supplicant/events.c:7801,1
    - Dst: hostapd_event_get_survey
      Src: /src/hostap/wpa_supplicant/events.c:7810,1
    - Dst: hostapd_acs_channel_selected
      Src: /src/hostap/wpa_supplicant/events.c:7819,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/events.c:7835,1
    - Dst: bgscan_notify_beacon_loss
      Src: /src/hostap/wpa_supplicant/events.c:7836,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:7840,1
    - Dst: sme_external_auth_trigger
      Src: /src/hostap/wpa_supplicant/events.c:7844,1
    - Dst: wpas_pasn_auth_trigger
      Src: /src/hostap/wpa_supplicant/events.c:7848,1
    - Dst: ap_get_sta
      Src: /src/hostap/wpa_supplicant/events.c:7856,1
    - Dst: ap_sta_set_authorized
      Src: /src/hostap/wpa_supplicant/events.c:7859,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:7862,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/events.c:7869,1
    - Dst: wpas_transition_disable
      Src: /src/hostap/wpa_supplicant/events.c:7872,1
    - Dst: wpa_supplicant_event_port_authorized
      Src: /src/hostap/wpa_supplicant/events.c:7876,1
    - Dst: hostapd_event_sta_opmode_changed
      Src: /src/hostap/wpa_supplicant/events.c:7883,1
    - Dst: wpas_event_unprot_beacon
      Src: /src/hostap/wpa_supplicant/events.c:7891,1
    - Dst: wpas_dpp_tx_wait_expire
      Src: /src/hostap/wpa_supplicant/events.c:7895,1
    - Dst: wpas_nan_usd_tx_wait_expire
      Src: /src/hostap/wpa_supplicant/events.c:7897,1
    - Dst: wpas_tid_link_map
      Src: /src/hostap/wpa_supplicant/events.c:7901,1
    - Dst: wpas_setup_link_reconfig
      Src: /src/hostap/wpa_supplicant/events.c:7905,1
    - Dst: wpas_pr_measurement_result
      Src: /src/hostap/wpa_supplicant/events.c:7909,1
    - Dst: wpas_pr_measurement_complete
      Src: /src/hostap/wpa_supplicant/events.c:7913,1
    - Dst: wpas_nan_cluster_join
      Src: /src/hostap/wpa_supplicant/events.c:7919,1
    - Dst: wpas_nan_next_dw
      Src: /src/hostap/wpa_supplicant/events.c:7923,1
    - Dst: wpas_nan_sched_update_done
      Src: /src/hostap/wpa_supplicant/events.c:7926,1
    - Dst: wpas_nan_ulw_update
      Src: /src/hostap/wpa_supplicant/events.c:7929,1
    - Dst: wpas_nan_chan_evacuation
      Src: /src/hostap/wpa_supplicant/events.c:7933,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/events.c:7938,1
    - Dst: wpa_supplicant_get_iface
      Src: /src/hostap/wpa_supplicant/events.c:7952,1
    - Dst: struct wpa_supplicant*::driver::get_ifindex
      Src: /src/hostap/wpa_supplicant/events.c:7956,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:7958,1
    - Dst: wpa_supplicant_match_iface
      Src: /src/hostap/wpa_supplicant/events.c:7968,1
    - Dst: wpa_supplicant_add_iface
      Src: /src/hostap/wpa_supplicant/events.c:7972,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/events.c:7973,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/wpa_supplicant/events.c:7978,1
    CyclomaticComplexity: 296
    EdgeCount: 296
    ICount: 583
    argCount: 3
    argNames:
    - ctx
    - event
    - data
    argTypes:
    - void*
    - enum wpa_event_type
    - union wpa_event_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7979
      start: 6901
    functionDepth: 14
    functionLinenumber: 6901
    functionLinenumberEnd: 7979
    functionName: wpa_supplicant_event
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 8
    functionsReached:
    - wpa_supplicant_event_interface_status
    - wpas_p2p_interface_unavailable
    - ap_mgmt_rx
    - wpas_notify_preq
    - wpas_p2p_update_best_channels
    - radio_work_check_next
    - offchannel_send_action_tx_status
    - sme_external_auth_mgmt_rx
    - sme_event_auth_timed_out
    - event_to_string
    - hostapd_event_sta_opmode_changed
    - wpa_supplicant_event_associnfo
    - wnm_clear_coloc_intf_reporting
    - wpa_printf
    - ap_client_poll_ok
    - wpa_sm_pmksa_cache_reconfig
    - channel_width_to_string
    - wpas_p2p_disconnect
    - wpas_notify_auth_status_code
    - wpa_msg_ctrl
    - os_free
    - wpa_bss_update_level
    - wpas_nan_cluster_join
    - WLAN_FC_GET_STYPE
    - wpas_transition_disable
    - wpas_pasn_auth_tx_status
    - wpa_supplicant_mark_disassoc
    - wpas_nan_pasn_auth_tx_status
    - wpa_supplicant_update_channel_list
    - wpas_nan_flush
    - wpas_link_reconfig
    - wpa_msg
    - hostapd_event_sta_low_ack
    - bgscan_notify_beacon_loss
    - wpas_nan_usd_cancel_remain_on_channel_cb
    - ibss_rsn_stop
    - MAC2STR
    - wpa_supplicant_event_tdls
    - wpas_wps_start_pbc
    - ap_sta_set_authorized
    - wpas_event_disassoc
    - ap_rx_from_unknown_sta
    - le_to_host16
    - wpa_supplicant_event_assoc
    - wpas_pasn_auth
    - hostapd_probe_req_rx
    - wpas_pr_cancel_remain_on_channel_cb
    - wpa_supplicant_rx_eapol
    - wpa_supplicant_event_ft_response
    - sme_event_auth
    - wpas_fst_update_mbie
    - wpas_p2p_update_channel_list
    - wpa_supplicant_event_ibss_auth
    - wpa_supplicant_event_ibss_rsn_start
    - wpa_snprintf_hex
    - wpas_dpp_tx_wait_expire
    - wpas_p2p_cancel_remain_on_channel_cb
    - wpa_supplicant_event_unprot_deauth
    - wnm_btm_resp_tx_status
    - wpa_supplicant_event_wnm
    - os_get_reltime
    - wpas_nan_usd_tx_wait_expire
    - wpas_p2p_pasn_auth_tx_status
    - os_reltime_sub
    - wpa_supplicant_event_unprot_disassoc
    - wpas_nan_tx_status
    - hostapd_event_connect_failed_reason
    - wpas_event_dfs_cac_finished
    - wpa_supplicant_event_michael_mic_failure
    - wpas_pasn_auth_trigger
    - wpas_ap_ch_switch
    - os_memcpy
    - wpas_start_pno
    - eloop_cancel_timeout
    - wpa_supplicant_notify_avoid_freq
    - wpa_supplicant_set_state
    - wpa_supplicant_update_mac_addr
    - wpas_event_dfs_cac_aborted
    - wpa_mesh_notify_peer
    - wpas_dpp_remain_on_channel_cb
    - wpas_nan_sched_update_done
    - wpa_supplicant_event
    - wpa_supplicant_event_disassoc
    - BIT
    - wpa_sm_update_replay_ctr
    - p2p_in_progress
    - wpas_ap_event_dfs_cac_nop_finished
    - wpa_sm_pmksa_cache_flush
    - ap_get_sta
    - wpas_event_dfs_cac_started
    - offchannel_remain_on_channel_cb
    - wpa_supplicant_event_port_authorized
    - wpas_pr_pasn_auth_tx_status
    - ap_eapol_tx_status
    - wpas_event_rx_mgmt_action
    - wpas_ap_event_dfs_radar_detected
    - sme_event_assoc_timed_out
    - mesh_mpm_mgmt_rx
    - notify_bss_changes
    - os_reltime_age
    - p2p_stop_find
    - wpa_supplicant_event_pmkid_candidate
    - wpas_nan_usd_remain_on_channel_cb
    - wpa_supplicant_set_default_scan_ies
    - wpas_scan_scheduled
    - wpas_nan_next_dw
    - wpas_notify_signal_change
    - ap_tx_status
    - hostapd_acs_channel_selected
    - wpas_pr_measurement_result
    - wpas_is_nan_iface
    - ap_mgmt_tx_cb
    - wpa_supplicant_add_iface
    - wpas_setup_link_reconfig
    - wpas_event_assoc_reject
    - hostapd_event_get_survey
    - dl_list_len
    - wpa_supplicant_event_scan_results
    - sme_external_auth_trigger
    - wpa_fils_is_completed
    - wpa_supplicant_req_scan
    - wpas_tid_link_map
    - wpas_p2p_remain_on_channel_cb
    - wpa_supplicant_event_assoc_auth
    - ether_addr_equal
    - wpas_p2p_probe_req_rx
    - wpas_dpp_cancel_remain_on_channel_cb
    - wpa_supplicant_notify_scanning
    - wpas_pr_measurement_complete
    - sme_event_ch_switch
    - wpa_tdls_disable_unreachable_link
    - wpas_event_unprot_beacon
    - wpas_nan_chan_evacuation
    - radio_remove_works
    - os_reltime_initialized
    - os_malloc
    - offchannel_cancel_remain_on_channel_cb
    - WLAN_FC_GET_TYPE
    - wpa_dbg
    - wpa_supplicant_req_sched_scan
    - wpas_event_deauth
    - bgscan_notify_signal_change
    - eloop_register_timeout
    - wpas_nan_ulw_update
    - struct wpa_supplicant*::driver::get_ifindex
    - wpa_supplicant_match_iface
    - wpa_supplicant_get_iface
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_event(void *ctx, enum wpa_event_type event,\n\t\t\t
      \ union wpa_event_data *data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_supplicant_get_iface
      Src: /src/hostap/wpa_supplicant/events.c:7952,1
    - Dst: struct wpa_supplicant*::driver::get_ifindex
      Src: /src/hostap/wpa_supplicant/events.c:7956,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/events.c:7958,1
    - Dst: wpa_supplicant_match_iface
      Src: /src/hostap/wpa_supplicant/events.c:7968,1
    - Dst: wpa_supplicant_add_iface
      Src: /src/hostap/wpa_supplicant/events.c:7972,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/events.c:7973,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/wpa_supplicant/events.c:7978,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - ctx
    - event
    - data
    argTypes:
    - void*
    - enum wpa_event_type
    - union wpa_event_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7979
      start: 7944
    functionDepth: 12
    functionLinenumber: 7944
    functionLinenumberEnd: 7979
    functionName: wpa_supplicant_event_global
    functionSourceFile: /src/hostap/wpa_supplicant/events.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - wpa_dbg
    - struct wpa_supplicant*::driver::get_ifindex
    - wpa_supplicant_match_iface
    - os_free
    - wpa_supplicant_get_iface
    - wpa_supplicant_add_iface
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_event_global(void *ctx, enum wpa_event_type event,\n\t\t\t\t
      union wpa_event_data *data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: is_6ghz_op_class
      Src: /src/hostap/wpa_supplicant/op_classes.c:26,1
    - Dst: is_6ghz_freq
      Src: /src/hostap/wpa_supplicant/op_classes.c:31,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 4
    argNames:
    - mode
    - op_class
    - chan
    - flags
    argTypes:
    - struct hostapd_hw_modes*
    - u8
    - u8
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 47
    functionName: allow_channel
    functionSourceFile: /src/hostap/wpa_supplicant/op_classes.c
    functionUses: 0
    functionsReached:
    - is_6ghz_op_class
    - is_6ghz_freq
    linkageType: ''
    returnType: enum chan_allowed
    signature: "enum chan_allowed allow_channel(struct hostapd_hw_modes *mode,\n\t\t\t\t
      \      u8 op_class, u8 chan,\n\t\t\t\t       unsigned int *flags)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 4
    argNames:
    - mode
    - channel
    - center_channels
    - num_chan
    argTypes:
    - struct hostapd_hw_modes*
    - u8
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 69
    functionName: get_center_80mhz
    functionSourceFile: /src/hostap/wpa_supplicant/op_classes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int get_center_80mhz(struct hostapd_hw_modes *mode, u8 channel,\n\t\t\t
      \   const u8 *center_channels, size_t num_chan)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: is_6ghz_op_class
      Src: /src/hostap/wpa_supplicant/op_classes.c:84,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/wpa_supplicant/op_classes.c:86,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/wpa_supplicant/op_classes.c:89,1
    - Dst: get_center_80mhz
      Src: /src/hostap/wpa_supplicant/op_classes.c:92,1
    - Dst: allow_channel
      Src: /src/hostap/wpa_supplicant/op_classes.c:102,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - mode
    - op_class
    - channel
    argTypes:
    - struct hostapd_hw_modes*
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 117
    functionName: verify_80mhz
    functionSourceFile: /src/hostap/wpa_supplicant/op_classes.c
    functionUses: 0
    functionsReached:
    - is_6ghz_op_class
    - get_center_80mhz
    - ARRAY_SIZE
    - allow_channel
    linkageType: ''
    returnType: enum chan_allowed
    signature: "enum chan_allowed verify_80mhz(struct hostapd_hw_modes *mode,\n\t\t\t\t
      \     u8 op_class, u8 channel)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 4
    argNames:
    - mode
    - channel
    - center_channels
    - num_chan
    argTypes:
    - struct hostapd_hw_modes*
    - u8
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 139
    functionName: get_center_160mhz
    functionSourceFile: /src/hostap/wpa_supplicant/op_classes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int get_center_160mhz(struct hostapd_hw_modes *mode, u8 channel,\n\t\t\t
      \    const u8 *center_channels, size_t num_chan)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: is_6ghz_op_class
      Src: /src/hostap/wpa_supplicant/op_classes.c:153,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/wpa_supplicant/op_classes.c:155,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/wpa_supplicant/op_classes.c:158,1
    - Dst: get_center_160mhz
      Src: /src/hostap/wpa_supplicant/op_classes.c:161,1
    - Dst: allow_channel
      Src: /src/hostap/wpa_supplicant/op_classes.c:171,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - mode
    - op_class
    - channel
    argTypes:
    - struct hostapd_hw_modes*
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 188
    functionName: verify_160mhz
    functionSourceFile: /src/hostap/wpa_supplicant/op_classes.c
    functionUses: 0
    functionsReached:
    - is_6ghz_op_class
    - get_center_160mhz
    - ARRAY_SIZE
    - allow_channel
    linkageType: ''
    returnType: enum chan_allowed
    signature: "enum chan_allowed verify_160mhz(struct hostapd_hw_modes *mode,\n\t\t\t\t
      \      u8 op_class, u8 channel)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 4
    argNames:
    - mode
    - channel
    - center_channels
    - num_chan
    argTypes:
    - struct hostapd_hw_modes*
    - u8
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 210
    functionName: get_center_320mhz
    functionSourceFile: /src/hostap/wpa_supplicant/op_classes.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int get_center_320mhz(struct hostapd_hw_modes *mode, u8 channel,\n\t\t\t
      \    const u8 *center_channels, size_t num_chan)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/hostap/wpa_supplicant/op_classes.c:224,1
    - Dst: get_center_320mhz
      Src: /src/hostap/wpa_supplicant/op_classes.c:226,1
    - Dst: allow_channel
      Src: /src/hostap/wpa_supplicant/op_classes.c:236,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - mode
    - op_class
    - channel
    argTypes:
    - struct hostapd_hw_modes*
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 251
    functionName: verify_320mhz
    functionSourceFile: /src/hostap/wpa_supplicant/op_classes.c
    functionUses: 0
    functionsReached:
    - allow_channel
    - get_center_320mhz
    - ARRAY_SIZE
    linkageType: ''
    returnType: enum chan_allowed
    signature: "enum chan_allowed verify_320mhz(struct hostapd_hw_modes *mode,\n\t\t\t\t
      \      u8 op_class, u8 channel)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: allow_channel
      Src: /src/hostap/wpa_supplicant/op_classes.c:260,1
    - Dst: allow_channel
      Src: /src/hostap/wpa_supplicant/op_classes.c:264,1
    - Dst: allow_channel
      Src: /src/hostap/wpa_supplicant/op_classes.c:268,1
    - Dst: is_6ghz_op_class
      Src: /src/hostap/wpa_supplicant/op_classes.c:269,1
    - Dst: get_6ghz_sec_channel
      Src: /src/hostap/wpa_supplicant/op_classes.c:270,1
    - Dst: allow_channel
      Src: /src/hostap/wpa_supplicant/op_classes.c:271,1
    - Dst: allow_channel
      Src: /src/hostap/wpa_supplicant/op_classes.c:273,1
    - Dst: verify_80mhz
      Src: /src/hostap/wpa_supplicant/op_classes.c:280,1
    - Dst: verify_160mhz
      Src: /src/hostap/wpa_supplicant/op_classes.c:287,1
    - Dst: verify_80mhz
      Src: /src/hostap/wpa_supplicant/op_classes.c:294,1
    - Dst: verify_320mhz
      Src: /src/hostap/wpa_supplicant/op_classes.c:301,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 34
    argCount: 4
    argNames:
    - mode
    - op_class
    - channel
    - bw
    argTypes:
    - struct hostapd_hw_modes*
    - u8
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 254
    functionDepth: 3
    functionLinenumber: 254
    functionLinenumberEnd: 311
    functionName: verify_channel
    functionSourceFile: /src/hostap/wpa_supplicant/op_classes.c
    functionUses: 1
    functionsReached:
    - get_6ghz_sec_channel
    - is_6ghz_op_class
    - verify_80mhz
    - verify_320mhz
    - allow_channel
    - verify_160mhz
    linkageType: ''
    returnType: enum chan_allowed
    signature: "enum chan_allowed verify_channel(struct hostapd_hw_modes *mode, u8
      op_class,\n\t\t\t\t u8 channel, u8 bw)"
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: get_mode
      Src: /src/hostap/wpa_supplicant/op_classes.c:327,1
    - Dst: is_6ghz_op_class
      Src: /src/hostap/wpa_supplicant/op_classes.c:328,1
    - Dst: is_6ghz_freq
      Src: /src/hostap/wpa_supplicant/op_classes.c:340,1
    - Dst: is_6ghz_op_class
      Src: /src/hostap/wpa_supplicant/op_classes.c:354,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/wpa_supplicant/op_classes.c:397,1
    - Dst: verify_channel
      Src: /src/hostap/wpa_supplicant/op_classes.c:398,1
    - Dst: verify_channel
      Src: /src/hostap/wpa_supplicant/op_classes.c:409,1
    - Dst: verify_channel
      Src: /src/hostap/wpa_supplicant/op_classes.c:411,1
    - Dst: verify_channel
      Src: /src/hostap/wpa_supplicant/op_classes.c:413,1
    - Dst: verify_channel
      Src: /src/hostap/wpa_supplicant/op_classes.c:421,1
    - Dst: verify_channel
      Src: /src/hostap/wpa_supplicant/op_classes.c:423,1
    - Dst: verify_channel
      Src: /src/hostap/wpa_supplicant/op_classes.c:426,1
    - Dst: verify_channel
      Src: /src/hostap/wpa_supplicant/op_classes.c:428,1
    - Dst: verify_channel
      Src: /src/hostap/wpa_supplicant/op_classes.c:430,1
    - Dst: verify_channel
      Src: /src/hostap/wpa_supplicant/op_classes.c:432,1
    - Dst: verify_channel
      Src: /src/hostap/wpa_supplicant/op_classes.c:434,1
    - Dst: verify_channel
      Src: /src/hostap/wpa_supplicant/op_classes.c:437,1
    - Dst: verify_channel
      Src: /src/hostap/wpa_supplicant/op_classes.c:439,1
    - Dst: verify_channel
      Src: /src/hostap/wpa_supplicant/op_classes.c:442,1
    - Dst: verify_channel
      Src: /src/hostap/wpa_supplicant/op_classes.c:444,1
    - Dst: verify_channel
      Src: /src/hostap/wpa_supplicant/op_classes.c:447,1
    - Dst: verify_channel
      Src: /src/hostap/wpa_supplicant/op_classes.c:449,1
    - Dst: verify_channel
      Src: /src/hostap/wpa_supplicant/op_classes.c:469,1
    - Dst: verify_channel
      Src: /src/hostap/wpa_supplicant/op_classes.c:497,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 100
    argCount: 3
    argNames:
    - wpa_s
    - ssid
    - op_class
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    - struct oper_class_map*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 314
    functionDepth: 4
    functionLinenumber: 314
    functionLinenumberEnd: 505
    functionName: wpas_op_class_supported
    functionSourceFile: /src/hostap/wpa_supplicant/op_classes.c
    functionUses: 0
    functionsReached:
    - get_mode
    - is_6ghz_freq
    - is_6ghz_op_class
    - verify_channel
    - ARRAY_SIZE
    linkageType: ''
    returnType: int
    signature: "int wpas_op_class_supported(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \  struct wpa_ssid *ssid,\n\t\t\t\t   const struct oper_class_map *op_class)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_bss_ie_ptr
      Src: /src/hostap/wpa_supplicant/op_classes.c:518,1
    - Dst: wpas_get_op_chan_phy
      Src: /src/hostap/wpa_supplicant/op_classes.c:520,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - bss
    - current
    - channel
    argTypes:
    - struct wpa_bss*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 522
    functionName: wpas_sta_secondary_channel_offset
    functionSourceFile: /src/hostap/wpa_supplicant/op_classes.c
    functionUses: 0
    functionsReached:
    - wpas_get_op_chan_phy
    - wpa_bss_ie_ptr
    linkageType: ''
    returnType: int
    signature: "int wpas_sta_secondary_channel_offset(struct wpa_bss *bss, u8 *current,\n\t\t\t\t\t
      \    u8 *channel)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: wpas_sta_secondary_channel_offset
      Src: /src/hostap/wpa_supplicant/op_classes.c:543,1
    - Dst: ieee80211_freq_to_channel_ext
      Src: /src/hostap/wpa_supplicant/op_classes.c:544,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/op_classes.c:553,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/op_classes.c:557,1
    - Dst: wpabuf_put
      Src: /src/hostap/wpa_supplicant/op_classes.c:559,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/op_classes.c:560,1
    - Dst: wpas_op_class_supported
      Src: /src/hostap/wpa_supplicant/op_classes.c:566,1
    - Dst: is_80plus_op_class
      Src: /src/hostap/wpa_supplicant/op_classes.c:584,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/op_classes.c:588,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/op_classes.c:597,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/op_classes.c:601,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/op_classes.c:602,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/op_classes.c:605,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/op_classes.c:606,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/op_classes.c:610,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/op_classes.c:612,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/op_classes.c:615,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/op_classes.c:616,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/op_classes.c:620,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/op_classes.c:620,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/op_classes.c:620,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/op_classes.c:621,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/wpa_supplicant/op_classes.c:622,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/op_classes.c:626,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 57
    argCount: 5
    argNames:
    - wpa_s
    - ssid
    - bss
    - pos
    - len
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    - struct wpa_bss*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 525
    functionDepth: 5
    functionLinenumber: 525
    functionLinenumberEnd: 628
    functionName: wpas_supp_op_class_ie
    functionSourceFile: /src/hostap/wpa_supplicant/op_classes.c
    functionUses: 0
    functionsReached:
    - wpabuf_put
    - wpas_op_class_supported
    - wpa_printf
    - os_memcpy
    - wpabuf_put_u8
    - wpas_sta_secondary_channel_offset
    - wpabuf_len
    - wpabuf_free
    - is_80plus_op_class
    - wpabuf_head
    - wpabuf_alloc
    - ieee80211_freq_to_channel_ext
    - wpa_hexdump_buf
    linkageType: ''
    returnType: size_t
    signature: "size_t wpas_supp_op_class_ie(struct wpa_supplicant *wpa_s,\n\t\t\t
      \    struct wpa_ssid *ssid,\n\t\t\t     struct wpa_bss *bss, u8 *pos, size_t
      len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/op_classes.c:639,1
    - Dst: wpas_op_class_supported
      Src: /src/hostap/wpa_supplicant/op_classes.c:644,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 631
    functionDepth: 5
    functionLinenumber: 631
    functionLinenumberEnd: 649
    functionName: wpas_supp_op_classes
    functionSourceFile: /src/hostap/wpa_supplicant/op_classes.c
    functionUses: 0
    functionsReached:
    - os_zalloc
    - wpas_op_class_supported
    linkageType: ''
    returnType: int
    signature: int * wpas_supp_op_classes(struct wpa_supplicant *wpa_s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/autoscan_periodic.c:29,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - data
    - params
    argTypes:
    - struct autoscan_periodic_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 37
    functionName: autoscan_periodic_get_params
    functionSourceFile: /src/hostap/wpa_supplicant/autoscan_periodic.c
    functionUses: 0
    functionsReached:
    - atoi
    linkageType: ''
    returnType: int
    signature: "int autoscan_periodic_get_params(struct autoscan_periodic_data *data,\n\t\t\t\t\tconst
      char *params)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/autoscan_periodic.c:45,1
    - Dst: autoscan_periodic_get_params
      Src: /src/hostap/wpa_supplicant/autoscan_periodic.c:49,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/autoscan_periodic.c:50,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/autoscan_periodic.c:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - wpa_s
    - params
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 58
    functionName: autoscan_periodic_init
    functionSourceFile: /src/hostap/wpa_supplicant/autoscan_periodic.c
    functionUses: 0
    functionsReached:
    - os_free
    - os_zalloc
    - wpa_printf
    - autoscan_periodic_get_params
    linkageType: ''
    returnType: void
    signature: "void * autoscan_periodic_init(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \    const char *params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/autoscan_periodic.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: autoscan_periodic_deinit
    functionSourceFile: /src/hostap/wpa_supplicant/autoscan_periodic.c
    functionUses: 0
    functionsReached:
    - os_free
    linkageType: ''
    returnType: void
    signature: void autoscan_periodic_deinit(void *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/autoscan_periodic.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - priv
    - scan_res
    argTypes:
    - void*
    - struct wpa_scan_results*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 77
    functionName: autoscan_periodic_notify_scan
    functionSourceFile: /src/hostap/wpa_supplicant/autoscan_periodic.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int autoscan_periodic_notify_scan(void *priv,\n\t\t\t\t\t struct wpa_scan_results
      *scan_res)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_supplicant_mesh_iface_deinit
      Src: /src/hostap/wpa_supplicant/mesh.c:34,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/mesh.c:40,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/mesh.c:44,1
    - Dst: wpa_supplicant_leave_mesh
      Src: /src/hostap/wpa_supplicant/mesh.c:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - wpa_s
    - also_clear_hostapd
    argTypes:
    - struct wpa_supplicant*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 49
    functionName: wpa_supplicant_mesh_deinit
    functionSourceFile: /src/hostap/wpa_supplicant/mesh.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpa_supplicant_mesh_iface_deinit
    - wpa_supplicant_leave_mesh
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_mesh_deinit(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \      bool also_clear_hostapd)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mesh_mpm_deinit
      Src: /src/hostap/wpa_supplicant/mesh.c:60,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/mesh.c:70,1
    - Dst: hostapd_interface_deinit
      Src: /src/hostap/wpa_supplicant/mesh.c:76,1
    - Dst: hostapd_interface_free
      Src: /src/hostap/wpa_supplicant/mesh.c:77,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - wpa_s
    - ifmsh
    - also_clear_hostapd
    argTypes:
    - struct wpa_supplicant*
    - struct hostapd_iface*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 79
    functionName: wpa_supplicant_mesh_iface_deinit
    functionSourceFile: /src/hostap/wpa_supplicant/mesh.c
    functionUses: 2
    functionsReached:
    - os_free
    - mesh_mpm_deinit
    - hostapd_interface_deinit
    - hostapd_interface_free
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_mesh_iface_deinit(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \     struct hostapd_iface *ifmsh,\n\t\t\t\t      bool also_clear_hostapd)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/mesh.c:88,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/mesh.c:92,1
    - Dst: wpa_pick_pairwise_cipher
      Src: /src/hostap/wpa_supplicant/mesh.c:111,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/mesh.c:113,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/mesh.c:114,1
    - Dst: wpa_pick_group_cipher
      Src: /src/hostap/wpa_supplicant/mesh.c:119,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/mesh.c:122,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/mesh.c:123,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 2
    argNames:
    - wpa_s
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 150
    functionName: mesh_config_create
    functionSourceFile: /src/hostap/wpa_supplicant/mesh.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_msg
    - wpa_pick_pairwise_cipher
    - os_zalloc
    - os_free
    - wpa_pick_group_cipher
    linkageType: ''
    returnType: struct mesh_conf
    signature: "struct mesh_conf * mesh_config_create(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \    struct wpa_ssid *ssid)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mesh.c:166,1
    - Dst: int_array_dup
      Src: /src/hostap/wpa_supplicant/mesh.c:175,1
    - Dst: int_array_dup
      Src: /src/hostap/wpa_supplicant/mesh.c:177,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/mesh.c:181,1
    - Dst: dup_binstr
      Src: /src/hostap/wpa_supplicant/mesh.c:182,1
    - Dst: mesh_rsn_auth_init
      Src: /src/hostap/wpa_supplicant/mesh.c:184,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 153
    functionDepth: 3
    functionLinenumber: 153
    functionLinenumberEnd: 186
    functionName: wpas_mesh_init_rsn
    functionSourceFile: /src/hostap/wpa_supplicant/mesh.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - int_array_dup
    - wpa_printf
    - mesh_rsn_auth_init
    - dup_binstr
    linkageType: ''
    returnType: int
    signature: int wpas_mesh_init_rsn(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_get_oper_chwidth
      Src: /src/hostap/wpa_supplicant/mesh.c:204,1
    - Dst: hostapd_get_oper_centr_freq_seg0_idx
      Src: /src/hostap/wpa_supplicant/mesh.c:206,1
    - Dst: hostapd_get_oper_centr_freq_seg1_idx
      Src: /src/hostap/wpa_supplicant/mesh.c:208,1
    - Dst: hostapd_set_freq_params
      Src: /src/hostap/wpa_supplicant/mesh.c:214,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mesh.c:215,1
    - Dst: wpa_supplicant_mesh_deinit
      Src: /src/hostap/wpa_supplicant/mesh.c:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 221
    functionName: wpas_mesh_update_freq_params
    functionSourceFile: /src/hostap/wpa_supplicant/mesh.c
    functionUses: 0
    functionsReached:
    - hostapd_get_oper_centr_freq_seg1_idx
    - wpa_printf
    - hostapd_get_oper_centr_freq_seg0_idx
    - hostapd_set_freq_params
    - wpa_supplicant_mesh_deinit
    - hostapd_get_oper_chwidth
    linkageType: ''
    returnType: int
    signature: int wpas_mesh_update_freq_params(struct wpa_supplicant *wpa_s)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mesh.c:232,1
    - Dst: wpas_mesh_update_freq_params
      Src: /src/hostap/wpa_supplicant/mesh.c:244,1
    - Dst: wpas_mesh_init_rsn
      Src: /src/hostap/wpa_supplicant/mesh.c:249,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mesh.c:250,1
    - Dst: wpa_supplicant_mesh_deinit
      Src: /src/hostap/wpa_supplicant/mesh.c:252,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/mesh.c:268,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/wpa_supplicant/mesh.c:269,1
    - Dst: wpa_drv_join_mesh
      Src: /src/hostap/wpa_supplicant/mesh.c:270,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/mesh.c:272,1
    - Dst: wpa_drv_set_operstate
      Src: /src/hostap/wpa_supplicant/mesh.c:275,1
    - Dst: wpa_supplicant_set_state
      Src: /src/hostap/wpa_supplicant/mesh.c:278,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/mesh.c:280,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/wpa_supplicant/mesh.c:281,1
    - Dst: wpas_notify_mesh_group_started
      Src: /src/hostap/wpa_supplicant/mesh.c:283,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 224
    functionDepth: 9
    functionLinenumber: 224
    functionLinenumberEnd: 287
    functionName: wpas_mesh_complete
    functionSourceFile: /src/hostap/wpa_supplicant/mesh.c
    functionUses: 0
    functionsReached:
    - wpas_notify_mesh_group_started
    - wpa_printf
    - wpa_drv_set_operstate
    - wpa_msg
    - wpas_mesh_update_freq_params
    - wpa_drv_join_mesh
    - wpa_ssid_txt
    - wpas_mesh_init_rsn
    - wpa_supplicant_set_state
    - wpa_supplicant_mesh_deinit
    linkageType: ''
    returnType: int
    signature: int wpas_mesh_complete(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_mesh_complete
      Src: /src/hostap/wpa_supplicant/mesh.c:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 290
    functionDepth: 10
    functionLinenumber: 290
    functionLinenumberEnd: 295
    functionName: wpas_mesh_complete_cb
    functionSourceFile: /src/hostap/wpa_supplicant/mesh.c
    functionUses: 0
    functionsReached:
    - wpas_mesh_complete
    linkageType: ''
    returnType: void
    signature: void wpas_mesh_complete_cb(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mesh_config_create
      Src: /src/hostap/wpa_supplicant/mesh.c:303,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/mesh.c:307,1
    - Dst: wpa_drv_init_mesh
      Src: /src/hostap/wpa_supplicant/mesh.c:319,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/mesh.c:320,1
    - Dst: hostapd_setup_interface
      Src: /src/hostap/wpa_supplicant/mesh.c:324,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mesh.c:325,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 1
    argNames:
    - ifmsh
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 331
    functionName: wpa_supplicant_mesh_enable_iface_cb
    functionSourceFile: /src/hostap/wpa_supplicant/mesh.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_printf
    - wpa_drv_init_mesh
    - mesh_config_create
    - wpa_msg
    - hostapd_setup_interface
    linkageType: ''
    returnType: int
    signature: int wpa_supplicant_mesh_enable_iface_cb(struct hostapd_iface *ifmsh)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_supplicant_mesh_deinit
      Src: /src/hostap/wpa_supplicant/mesh.c:339,1
    - Dst: hostapd_cleanup_cs_params
      Src: /src/hostap/wpa_supplicant/mesh.c:343,1
    - Dst: hostapd_bss_deinit_no_free
      Src: /src/hostap/wpa_supplicant/mesh.c:351,1
    - Dst: hostapd_free_hapd_data
      Src: /src/hostap/wpa_supplicant/mesh.c:352,1
    - Dst: hostapd_cleanup_iface_partial
      Src: /src/hostap/wpa_supplicant/mesh.c:355,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ifmsh
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 334
    functionDepth: 2
    functionLinenumber: 334
    functionLinenumberEnd: 358
    functionName: wpa_supplicant_mesh_disable_iface_cb
    functionSourceFile: /src/hostap/wpa_supplicant/mesh.c
    functionUses: 0
    functionsReached:
    - hostapd_free_hapd_data
    - hostapd_cleanup_cs_params
    - wpa_supplicant_mesh_deinit
    - hostapd_bss_deinit_no_free
    - hostapd_cleanup_iface_partial
    linkageType: ''
    returnType: int
    signature: int wpa_supplicant_mesh_disable_iface_cb(struct hostapd_iface *ifmsh)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/mesh.c:376,1
    - Dst: hostapd_alloc_iface
      Src: /src/hostap/wpa_supplicant/mesh.c:381,1
    - Dst: os_calloc
      Src: /src/hostap/wpa_supplicant/mesh.c:391,1
    - Dst: hostapd_alloc_bss_data
      Src: /src/hostap/wpa_supplicant/mesh.c:396,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/mesh.c:401,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mesh.c:411,1
    - Dst: hostapd_config_defaults
      Src: /src/hostap/wpa_supplicant/mesh.c:419,1
    - Dst: is_6ghz_freq
      Src: /src/hostap/wpa_supplicant/mesh.c:423,1
    - Dst: ieee80211_freq_to_chan
      Src: /src/hostap/wpa_supplicant/mesh.c:463,1
    - Dst: ieee80211_is_dfs
      Src: /src/hostap/wpa_supplicant/mesh.c:482,1
    - Dst: ieee80211_is_dfs
      Src: /src/hostap/wpa_supplicant/mesh.c:487,1
    - Dst: os_strlcpy
      Src: /src/hostap/wpa_supplicant/mesh.c:506,1
    - Dst: mesh_config_create
      Src: /src/hostap/wpa_supplicant/mesh.c:508,1
    - Dst: ieee80211_freq_to_chan
      Src: /src/hostap/wpa_supplicant/mesh.c:514,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mesh.c:516,1
    - Dst: os_memdup
      Src: /src/hostap/wpa_supplicant/mesh.c:530,1
    - Dst: int_array_dup
      Src: /src/hostap/wpa_supplicant/mesh.c:537,1
    - Dst: wpa_supplicant_conf_ap_ht
      Src: /src/hostap/wpa_supplicant/mesh.c:565,1
    - Dst: wpa_drv_init_mesh
      Src: /src/hostap/wpa_supplicant/mesh.c:567,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/mesh.c:568,1
    - Dst: hostapd_setup_interface
      Src: /src/hostap/wpa_supplicant/mesh.c:572,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mesh.c:573,1
    - Dst: wpa_supplicant_mesh_deinit
      Src: /src/hostap/wpa_supplicant/mesh.c:580,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 142
    argCount: 3
    argNames:
    - wpa_s
    - ssid
    - freq
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    - struct hostapd_freq_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 361
    functionDepth: 2
    functionLinenumber: 361
    functionLinenumberEnd: 582
    functionName: wpa_supplicant_mesh_init
    functionSourceFile: /src/hostap/wpa_supplicant/mesh.c
    functionUses: 0
    functionsReached:
    - int_array_dup
    - os_memcpy
    - wpa_printf
    - os_calloc
    - hostapd_alloc_iface
    - wpa_msg
    - hostapd_alloc_bss_data
    - is_6ghz_freq
    - mesh_config_create
    - os_strlcpy
    - os_memdup
    - wpa_drv_init_mesh
    - wpa_supplicant_mesh_deinit
    - wpa_supplicant_conf_ap_ht
    - hostapd_setup_interface
    - ieee80211_is_dfs
    - ieee80211_freq_to_chan
    - hostapd_config_defaults
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_mesh_init(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \   struct wpa_ssid *ssid,\n\t\t\t\t    struct hostapd_freq_params *freq)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/mesh.c:590,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/mesh.c:591,1
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/wpa_supplicant/mesh.c:593,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/mesh.c:594,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/mesh.c:595,1
    - Dst: wpa_mesh_new_mesh_peer
      Src: /src/hostap/wpa_supplicant/mesh.c:598,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - wpa_s
    - addr
    - ies
    - ie_len
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 585
    functionDepth: 1
    functionLinenumber: 585
    functionLinenumberEnd: 599
    functionName: wpa_mesh_notify_peer
    functionSourceFile: /src/hostap/wpa_supplicant/mesh.c
    functionUses: 1
    functionsReached:
    - MAC2STR
    - wpa_mesh_new_mesh_peer
    - ieee802_11_parse_elems
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: "void wpa_mesh_notify_peer(struct wpa_supplicant *wpa_s, const u8 *addr,\n\t\t\t
      \ const u8 *ies, size_t ie_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_resize
      Src: /src/hostap/wpa_supplicant/mesh.c:609,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/mesh.c:610,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/mesh.c:611,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - wpa_s
    - extra_ie
    argTypes:
    - struct wpa_supplicant*
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 602
    functionDepth: 1
    functionLinenumber: 602
    functionLinenumberEnd: 613
    functionName: wpa_supplicant_mesh_add_scan_ie
    functionSourceFile: /src/hostap/wpa_supplicant/mesh.c
    functionUses: 1
    functionsReached:
    - wpabuf_resize
    - wpabuf_put_u8
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_mesh_add_scan_ie(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \    struct wpabuf **extra_ie)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/mesh.c:619,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/mesh.c:625,1
    - Dst: wpa_supplicant_mesh_deinit
      Src: /src/hostap/wpa_supplicant/mesh.c:629,1
    - Dst: ibss_mesh_setup_freq
      Src: /src/hostap/wpa_supplicant/mesh.c:637,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/mesh.c:705,1
    - Dst: wpa_supplicant_mesh_init
      Src: /src/hostap/wpa_supplicant/mesh.c:707,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/mesh.c:708,1
    - Dst: wpa_supplicant_leave_mesh
      Src: /src/hostap/wpa_supplicant/mesh.c:709,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 84
    argCount: 2
    argNames:
    - wpa_s
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 616
    functionDepth: 8
    functionLinenumber: 616
    functionLinenumberEnd: 716
    functionName: wpa_supplicant_join_mesh
    functionSourceFile: /src/hostap/wpa_supplicant/mesh.c
    functionUses: 1
    functionsReached:
    - wpa_msg
    - ibss_mesh_setup_freq
    - wpa_supplicant_mesh_deinit
    - os_zalloc
    - wpa_supplicant_mesh_init
    - os_free
    - wpa_supplicant_leave_mesh
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_join_mesh(struct wpa_supplicant *wpa_s,\n\t\t\t
      \    struct wpa_ssid *ssid)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/mesh.c:723,1
    - Dst: wpa_supplicant_mesh_deinit
      Src: /src/hostap/wpa_supplicant/mesh.c:727,1
    - Dst: wpa_drv_leave_mesh
      Src: /src/hostap/wpa_supplicant/mesh.c:729,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/mesh.c:731,1
    - Dst: wpa_drv_set_operstate
      Src: /src/hostap/wpa_supplicant/mesh.c:733,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - wpa_s
    - need_deinit
    argTypes:
    - struct wpa_supplicant*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 719
    functionDepth: 2
    functionLinenumber: 719
    functionLinenumberEnd: 736
    functionName: wpa_supplicant_leave_mesh
    functionSourceFile: /src/hostap/wpa_supplicant/mesh.c
    functionUses: 3
    functionsReached:
    - wpa_supplicant_mesh_deinit
    - wpa_drv_leave_mesh
    - wpa_drv_set_operstate
    - wpa_msg
    linkageType: ''
    returnType: int
    signature: int wpa_supplicant_leave_mesh(struct wpa_supplicant *wpa_s, bool need_deinit)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/wpa_supplicant/mesh.c:746,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/mesh.c:752,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/mesh.c:756,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/mesh.c:758,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/mesh.c:759,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/mesh.c:760,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/mesh.c:765,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/mesh.c:777,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/mesh.c:782,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/mesh.c:801,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/mesh.c:803,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/mesh.c:808,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/mesh.c:810,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/mesh.c:815,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/mesh.c:816,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/mesh.c:821,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 58
    argCount: 4
    argNames:
    - ies
    - ies_len
    - buf
    - end
    argTypes:
    - u8*
    - size_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 739
    functionDepth: 1
    functionLinenumber: 739
    functionLinenumberEnd: 824
    functionName: mesh_attr_text
    functionSourceFile: /src/hostap/wpa_supplicant/mesh.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - os_malloc
    - os_snprintf
    - ieee802_11_parse_elems
    - os_free
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: int mesh_attr_text(const u8 *ies, size_t ies_len, char *buf, char *end)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mesh_attr_text
      Src: /src/hostap/wpa_supplicant/mesh.c:830,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ies
    - ies_len
    - buf
    - end
    argTypes:
    - u8*
    - size_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 827
    functionDepth: 2
    functionLinenumber: 827
    functionLinenumberEnd: 831
    functionName: wpas_mesh_scan_result_text
    functionSourceFile: /src/hostap/wpa_supplicant/mesh.c
    functionUses: 1
    functionsReached:
    - mesh_attr_text
    linkageType: ''
    returnType: int
    signature: "int wpas_mesh_scan_result_text(const u8 *ies, size_t ies_len, char
      *buf,\n\t\t\t       char *end)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/mesh.c:840,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/mesh.c:842,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/mesh.c:843,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/mesh.c:844,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/mesh.c:846,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/mesh.c:847,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - wpa_s
    - ifname
    - len
    argTypes:
    - struct wpa_supplicant*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 834
    functionDepth: 1
    functionLinenumber: 834
    functionLinenumberEnd: 852
    functionName: wpas_mesh_get_ifname
    functionSourceFile: /src/hostap/wpa_supplicant/mesh.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - os_strlen
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int wpas_mesh_get_ifname(struct wpa_supplicant *wpa_s, char *ifname,\n\t\t\t\tsize_t
      len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpas_mesh_get_ifname
      Src: /src/hostap/wpa_supplicant/mesh.c:862,1
    - Dst: wpa_drv_if_add
      Src: /src/hostap/wpa_supplicant/mesh.c:865,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mesh.c:867,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mesh.c:871,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/mesh.c:872,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/mesh.c:874,1
    - Dst: wpa_supplicant_add_iface
      Src: /src/hostap/wpa_supplicant/mesh.c:880,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mesh.c:882,1
    - Dst: wpa_drv_if_remove
      Src: /src/hostap/wpa_supplicant/mesh.c:884,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - wpa_s
    - ifname
    - len
    argTypes:
    - struct wpa_supplicant*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 855
    functionDepth: 12
    functionLinenumber: 855
    functionLinenumberEnd: 889
    functionName: wpas_mesh_add_interface
    functionSourceFile: /src/hostap/wpa_supplicant/mesh.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpa_drv_if_add
    - wpa_supplicant_add_iface
    - wpa_drv_if_remove
    - MAC2STR
    - wpas_mesh_get_ifname
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpas_mesh_add_interface(struct wpa_supplicant *wpa_s, char *ifname,\n\t\t\t
      \   size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mesh_mpm_close_peer
      Src: /src/hostap/wpa_supplicant/mesh.c:894,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - addr
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 892
    functionDepth: 1
    functionLinenumber: 892
    functionLinenumberEnd: 895
    functionName: wpas_mesh_peer_remove
    functionSourceFile: /src/hostap/wpa_supplicant/mesh.c
    functionUses: 1
    functionsReached:
    - mesh_mpm_close_peer
    linkageType: ''
    returnType: int
    signature: int wpas_mesh_peer_remove(struct wpa_supplicant *wpa_s, const u8 *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mesh_mpm_connect_peer
      Src: /src/hostap/wpa_supplicant/mesh.c:901,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - wpa_s
    - addr
    - duration
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 898
    functionDepth: 1
    functionLinenumber: 898
    functionLinenumberEnd: 902
    functionName: wpas_mesh_peer_add
    functionSourceFile: /src/hostap/wpa_supplicant/mesh.c
    functionUses: 1
    functionsReached:
    - mesh_mpm_connect_peer
    linkageType: ''
    returnType: int
    signature: "int wpas_mesh_peer_add(struct wpa_supplicant *wpa_s, const u8 *addr,\n\t\t
      \      int duration)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_macsec_init
      Src: /src/hostap/wpa_supplicant/wpas_kay.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - priv
    - params
    argTypes:
    - void*
    - struct macsec_init_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: wpas_macsec_init
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_kay.c
    functionUses: 0
    functionsReached:
    - wpa_drv_macsec_init
    linkageType: ''
    returnType: int
    signature: int wpas_macsec_init(void *priv, struct macsec_init_params *params)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_macsec_deinit
      Src: /src/hostap/wpa_supplicant/wpas_kay.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: wpas_macsec_deinit
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_kay.c
    functionUses: 0
    functionsReached:
    - wpa_drv_macsec_deinit
    linkageType: ''
    returnType: int
    signature: int wpas_macsec_deinit(void *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_macsec_get_capability
      Src: /src/hostap/wpa_supplicant/wpas_kay.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - priv
    - cap
    argTypes:
    - void*
    - enum macsec_cap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: wpas_macsec_get_capability
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_kay.c
    functionUses: 0
    functionsReached:
    - wpa_drv_macsec_get_capability
    linkageType: ''
    returnType: int
    signature: int wpas_macsec_get_capability(void *priv, enum macsec_cap *cap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_enable_protect_frames
      Src: /src/hostap/wpa_supplicant/wpas_kay.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - enabled
    argTypes:
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: wpas_enable_protect_frames
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_kay.c
    functionUses: 0
    functionsReached:
    - wpa_drv_enable_protect_frames
    linkageType: ''
    returnType: int
    signature: int wpas_enable_protect_frames(void *wpa_s, bool enabled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_enable_encrypt
      Src: /src/hostap/wpa_supplicant/wpas_kay.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - enabled
    argTypes:
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: wpas_enable_encrypt
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_kay.c
    functionUses: 0
    functionsReached:
    - wpa_drv_enable_encrypt
    linkageType: ''
    returnType: int
    signature: int wpas_enable_encrypt(void *wpa_s, bool enabled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_set_replay_protect
      Src: /src/hostap/wpa_supplicant/wpas_kay.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - wpa_s
    - enabled
    - window
    argTypes:
    - void*
    - bool
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: wpas_set_replay_protect
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_kay.c
    functionUses: 0
    functionsReached:
    - wpa_drv_set_replay_protect
    linkageType: ''
    returnType: int
    signature: int wpas_set_replay_protect(void *wpa_s, bool enabled, u32 window)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_set_current_cipher_suite
      Src: /src/hostap/wpa_supplicant/wpas_kay.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - cs
    argTypes:
    - void*
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: wpas_set_current_cipher_suite
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_kay.c
    functionUses: 0
    functionsReached:
    - wpa_drv_set_current_cipher_suite
    linkageType: ''
    returnType: int
    signature: int wpas_set_current_cipher_suite(void *wpa_s, u64 cs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_enable_controlled_port
      Src: /src/hostap/wpa_supplicant/wpas_kay.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - enabled
    argTypes:
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: wpas_enable_controlled_port
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_kay.c
    functionUses: 0
    functionsReached:
    - wpa_drv_enable_controlled_port
    linkageType: ''
    returnType: int
    signature: int wpas_enable_controlled_port(void *wpa_s, bool enabled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_get_receive_lowest_pn
      Src: /src/hostap/wpa_supplicant/wpas_kay.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - sa
    argTypes:
    - void*
    - struct receive_sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: wpas_get_receive_lowest_pn
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_kay.c
    functionUses: 0
    functionsReached:
    - wpa_drv_get_receive_lowest_pn
    linkageType: ''
    returnType: int
    signature: int wpas_get_receive_lowest_pn(void *wpa_s, struct receive_sa *sa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_get_transmit_next_pn
      Src: /src/hostap/wpa_supplicant/wpas_kay.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - sa
    argTypes:
    - void*
    - struct transmit_sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: wpas_get_transmit_next_pn
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_kay.c
    functionUses: 0
    functionsReached:
    - wpa_drv_get_transmit_next_pn
    linkageType: ''
    returnType: int
    signature: int wpas_get_transmit_next_pn(void *wpa_s, struct transmit_sa *sa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_set_transmit_next_pn
      Src: /src/hostap/wpa_supplicant/wpas_kay.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - sa
    argTypes:
    - void*
    - struct transmit_sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: wpas_set_transmit_next_pn
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_kay.c
    functionUses: 0
    functionsReached:
    - wpa_drv_set_transmit_next_pn
    linkageType: ''
    returnType: int
    signature: int wpas_set_transmit_next_pn(void *wpa_s, struct transmit_sa *sa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_set_receive_lowest_pn
      Src: /src/hostap/wpa_supplicant/wpas_kay.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - sa
    argTypes:
    - void*
    - struct receive_sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: wpas_set_receive_lowest_pn
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_kay.c
    functionUses: 0
    functionsReached:
    - wpa_drv_set_receive_lowest_pn
    linkageType: ''
    returnType: int
    signature: int wpas_set_receive_lowest_pn(void *wpa_s, struct receive_sa *sa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_set_offload
      Src: /src/hostap/wpa_supplicant/wpas_kay.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - offload
    argTypes:
    - void*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: wpas_set_offload
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_kay.c
    functionUses: 0
    functionsReached:
    - wpa_drv_set_offload
    linkageType: ''
    returnType: int
    signature: int wpas_set_offload(void *wpa_s, u8 offload)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - co
    argTypes:
    - enum confidentiality_offset
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 117
    functionName: conf_offset_val
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_kay.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int conf_offset_val(enum confidentiality_offset co)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_create_receive_sc
      Src: /src/hostap/wpa_supplicant/wpas_kay.c:124,1
    - Dst: conf_offset_val
      Src: /src/hostap/wpa_supplicant/wpas_kay.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - wpa_s
    - sc
    - vf
    - co
    argTypes:
    - void*
    - struct receive_sc*
    - enum validate_frames
    - enum confidentiality_offset
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 125
    functionName: wpas_create_receive_sc
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_kay.c
    functionUses: 0
    functionsReached:
    - wpa_drv_create_receive_sc
    - conf_offset_val
    linkageType: ''
    returnType: int
    signature: "int wpas_create_receive_sc(void *wpa_s, struct receive_sc *sc,\n\t\t\t\t
      \ enum validate_frames vf,\n\t\t\t\t  enum confidentiality_offset co)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_delete_receive_sc
      Src: /src/hostap/wpa_supplicant/wpas_kay.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - sc
    argTypes:
    - void*
    - struct receive_sc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: wpas_delete_receive_sc
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_kay.c
    functionUses: 0
    functionsReached:
    - wpa_drv_delete_receive_sc
    linkageType: ''
    returnType: int
    signature: int wpas_delete_receive_sc(void *wpa_s, struct receive_sc *sc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_create_receive_sa
      Src: /src/hostap/wpa_supplicant/wpas_kay.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - sa
    argTypes:
    - void*
    - struct receive_sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: wpas_create_receive_sa
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_kay.c
    functionUses: 0
    functionsReached:
    - wpa_drv_create_receive_sa
    linkageType: ''
    returnType: int
    signature: int wpas_create_receive_sa(void *wpa_s, struct receive_sa *sa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_delete_receive_sa
      Src: /src/hostap/wpa_supplicant/wpas_kay.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - sa
    argTypes:
    - void*
    - struct receive_sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: wpas_delete_receive_sa
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_kay.c
    functionUses: 0
    functionsReached:
    - wpa_drv_delete_receive_sa
    linkageType: ''
    returnType: int
    signature: int wpas_delete_receive_sa(void *wpa_s, struct receive_sa *sa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_enable_receive_sa
      Src: /src/hostap/wpa_supplicant/wpas_kay.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - sa
    argTypes:
    - void*
    - struct receive_sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: wpas_enable_receive_sa
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_kay.c
    functionUses: 0
    functionsReached:
    - wpa_drv_enable_receive_sa
    linkageType: ''
    returnType: int
    signature: int wpas_enable_receive_sa(void *wpa_s, struct receive_sa *sa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_disable_receive_sa
      Src: /src/hostap/wpa_supplicant/wpas_kay.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - sa
    argTypes:
    - void*
    - struct receive_sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: wpas_disable_receive_sa
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_kay.c
    functionUses: 0
    functionsReached:
    - wpa_drv_disable_receive_sa
    linkageType: ''
    returnType: int
    signature: int wpas_disable_receive_sa(void *wpa_s, struct receive_sa *sa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_create_transmit_sc
      Src: /src/hostap/wpa_supplicant/wpas_kay.c:162,1
    - Dst: conf_offset_val
      Src: /src/hostap/wpa_supplicant/wpas_kay.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - wpa_s
    - sc
    - co
    argTypes:
    - void*
    - struct transmit_sc*
    - enum confidentiality_offset
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 163
    functionName: wpas_create_transmit_sc
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_kay.c
    functionUses: 0
    functionsReached:
    - conf_offset_val
    - wpa_drv_create_transmit_sc
    linkageType: ''
    returnType: int
    signature: "int wpas_create_transmit_sc(void *wpa_s, struct transmit_sc *sc,\n\t\t\tenum
      confidentiality_offset co)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_delete_transmit_sc
      Src: /src/hostap/wpa_supplicant/wpas_kay.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - sc
    argTypes:
    - void*
    - struct transmit_sc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: wpas_delete_transmit_sc
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_kay.c
    functionUses: 0
    functionsReached:
    - wpa_drv_delete_transmit_sc
    linkageType: ''
    returnType: int
    signature: int wpas_delete_transmit_sc(void *wpa_s, struct transmit_sc *sc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_create_transmit_sa
      Src: /src/hostap/wpa_supplicant/wpas_kay.c:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - sa
    argTypes:
    - void*
    - struct transmit_sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 175
    functionName: wpas_create_transmit_sa
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_kay.c
    functionUses: 0
    functionsReached:
    - wpa_drv_create_transmit_sa
    linkageType: ''
    returnType: int
    signature: int wpas_create_transmit_sa(void *wpa_s, struct transmit_sa *sa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_delete_transmit_sa
      Src: /src/hostap/wpa_supplicant/wpas_kay.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - sa
    argTypes:
    - void*
    - struct transmit_sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: wpas_delete_transmit_sa
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_kay.c
    functionUses: 0
    functionsReached:
    - wpa_drv_delete_transmit_sa
    linkageType: ''
    returnType: int
    signature: int wpas_delete_transmit_sa(void *wpa_s, struct transmit_sa *sa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_enable_transmit_sa
      Src: /src/hostap/wpa_supplicant/wpas_kay.c:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - sa
    argTypes:
    - void*
    - struct transmit_sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 187
    functionName: wpas_enable_transmit_sa
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_kay.c
    functionUses: 0
    functionsReached:
    - wpa_drv_enable_transmit_sa
    linkageType: ''
    returnType: int
    signature: int wpas_enable_transmit_sa(void *wpa_s, struct transmit_sa *sa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_disable_transmit_sa
      Src: /src/hostap/wpa_supplicant/wpas_kay.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - sa
    argTypes:
    - void*
    - struct transmit_sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: wpas_disable_transmit_sa
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_kay.c
    functionUses: 0
    functionsReached:
    - wpa_drv_disable_transmit_sa
    linkageType: ''
    returnType: int
    signature: int wpas_disable_transmit_sa(void *wpa_s, struct transmit_sa *sa)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_1x_dealloc_kay_sm
      Src: /src/hostap/wpa_supplicant/wpas_kay.c:202,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/wpas_kay.c:216,1
    - Dst: ieee802_1x_kay_init
      Src: /src/hostap/wpa_supplicant/wpas_kay.c:248,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 45
    argCount: 2
    argNames:
    - wpa_s
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 261
    functionName: ieee802_1x_alloc_kay_sm
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_kay.c
    functionUses: 1
    functionsReached:
    - os_zalloc
    - ieee802_1x_kay_init
    - ieee802_1x_dealloc_kay_sm
    linkageType: ''
    returnType: int
    signature: int ieee802_1x_alloc_kay_sm(struct wpa_supplicant *wpa_s, struct wpa_ssid
      *ssid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_1x_kay_deinit
      Src: /src/hostap/wpa_supplicant/wpas_kay.c:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 271
    functionName: ieee802_1x_dealloc_kay_sm
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_kay.c
    functionUses: 2
    functionsReached:
    - ieee802_1x_kay_deinit
    linkageType: ''
    returnType: void
    signature: void ieee802_1x_dealloc_kay_sm(struct wpa_supplicant *wpa_s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: eapol_sm_get_key
      Src: /src/hostap/wpa_supplicant/wpas_kay.c:287,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpas_kay.c:289,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wpas_kay.c:296,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - wpa_s
    - addr
    - msk
    - len
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 300
    functionName: ieee802_1x_auth_get_msk
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_kay.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - eapol_sm_get_key
    linkageType: ''
    returnType: int
    signature: "int ieee802_1x_auth_get_msk(struct wpa_supplicant *wpa_s, const u8
      *addr,\n\t\t\t\t   u8 *msk, size_t *len)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpas_kay.c:316,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wpas_kay.c:318,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/wpas_kay.c:320,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/wpas_kay.c:321,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/wpas_kay.c:322,1
    - Dst: ieee802_1x_auth_get_msk
      Src: /src/hostap/wpa_supplicant/wpas_kay.c:327,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpas_kay.c:328,1
    - Dst: eapol_sm_get_session_id
      Src: /src/hostap/wpa_supplicant/wpas_kay.c:332,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpas_kay.c:334,1
    - Dst: ieee802_1x_cak_aes_cmac
      Src: /src/hostap/wpa_supplicant/wpas_kay.c:341,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpas_kay.c:343,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/wpa_supplicant/wpas_kay.c:347,1
    - Dst: ieee802_1x_ckn_aes_cmac
      Src: /src/hostap/wpa_supplicant/wpas_kay.c:351,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpas_kay.c:353,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/wpas_kay.c:357,1
    - Dst: ieee802_1x_kay_create_mka
      Src: /src/hostap/wpa_supplicant/wpas_kay.c:359,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/wpas_kay.c:364,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpas_kay.c:365,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpas_kay.c:367,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/wpas_kay.c:369,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpas_kay.c:370,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 49
    argCount: 2
    argNames:
    - wpa_s
    - peer_addr
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 374
    functionName: ieee802_1x_notify_create_actor
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_kay.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpa_hexdump_key
    - ieee802_1x_ckn_aes_cmac
    - wpa_hexdump
    - ieee802_1x_auth_get_msk
    - ieee802_1x_kay_create_mka
    - MAC2STR
    - os_zalloc
    - ieee802_1x_cak_aes_cmac
    - eapol_sm_get_session_id
    - os_free
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void * ieee802_1x_notify_create_actor(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \     const u8 *peer_addr)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/wpas_kay.c:387,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/wpas_kay.c:391,1
    - Dst: ieee802_1x_alloc_kay_sm
      Src: /src/hostap/wpa_supplicant/wpas_kay.c:395,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wpas_kay.c:402,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wpas_kay.c:405,1
    - Dst: ieee802_1x_kay_create_mka
      Src: /src/hostap/wpa_supplicant/wpas_kay.c:407,1
    - Dst: ieee802_1x_dealloc_kay_sm
      Src: /src/hostap/wpa_supplicant/wpas_kay.c:413,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpas_kay.c:415,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpas_kay.c:417,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 2
    argNames:
    - wpa_s
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 420
    functionName: ieee802_1x_create_preshared_mka
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_kay.c
    functionUses: 1
    functionsReached:
    - ieee802_1x_alloc_kay_sm
    - os_memcpy
    - ieee802_1x_dealloc_kay_sm
    - ieee802_1x_kay_create_mka
    - os_zalloc
    - os_free
    linkageType: ''
    returnType: void
    signature: "void * ieee802_1x_create_preshared_mka(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \      struct wpa_ssid *ssid)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:71,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:72,1
    - Dst: wpa_config_parse_string
      Src: /src/hostap/wpa_supplicant/config.c:79,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:81,1
    - Dst: wpa_hexdump_ascii_key
      Src: /src/hostap/wpa_supplicant/config.c:88,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/wpa_supplicant/config.c:91,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:96,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:99,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:104,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:107,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/config.c:118,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/config.c:123,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:125,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:129,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    argCount: 4
    argNames:
    - data
    - ssid
    - line
    - value
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 135
    functionName: wpa_config_parse_str
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - os_strcmp
    - wpa_config_parse_string
    - wpa_hexdump_ascii_key
    - os_memcmp
    - os_free
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: int
    signature: "int wpa_config_parse_str(const struct parse_data *data,\n\t\t\t\tstruct
      wpa_ssid *ssid,\n\t\t\t\tint line, const char *value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/config.c:143,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/config.c:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - value
    - len
    argTypes:
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 152
    functionName: wpa_config_write_string_ascii
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - os_malloc
    linkageType: ''
    returnType: char
    signature: char * wpa_config_write_string_ascii(const u8 *value, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/config.c:159,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/wpa_supplicant/config.c:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - value
    - len
    argTypes:
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 165
    functionName: wpa_config_write_string_hex
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - os_zalloc
    - wpa_snprintf_hex
    linkageType: ''
    returnType: char
    signature: char * wpa_config_write_string_hex(const u8 *value, size_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_hex
      Src: /src/hostap/wpa_supplicant/config.c:173,1
    - Dst: wpa_config_write_string_hex
      Src: /src/hostap/wpa_supplicant/config.c:174,1
    - Dst: wpa_config_write_string_ascii
      Src: /src/hostap/wpa_supplicant/config.c:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - value
    - len
    argTypes:
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 177
    functionName: wpa_config_write_string
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - wpa_config_write_string_ascii
    - is_hex
    - wpa_config_write_string_hex
    linkageType: ''
    returnType: char
    signature: char * wpa_config_write_string(const u8 *value, size_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/config.c:193,1
    - Dst: wpa_config_write_string
      Src: /src/hostap/wpa_supplicant/config.c:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - data
    - ssid
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 180
    functionDepth: 3
    functionLinenumber: 180
    functionLinenumberEnd: 196
    functionName: wpa_config_write_str
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_config_write_string
    linkageType: ''
    returnType: char
    signature: "char * wpa_config_write_str(const struct parse_data *data,\n\t\t\t\t
      \  struct wpa_ssid *ssid)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/hostap/wpa_supplicant/config.c:209,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:211,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:217,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:224,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:234,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 5
    argNames:
    - data
    - ssid
    - line
    - value
    - check_range
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    - int
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 237
    functionName: wpa_config_parse_int_impl
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - strtol
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int wpa_config_parse_int_impl(const struct parse_data *data,\n\t\t\t\t
      \    struct wpa_ssid *ssid,\n\t\t\t\t     int line, const char *value,\n\t\t\t\t
      \    bool check_range)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_parse_int_impl
      Src: /src/hostap/wpa_supplicant/config.c:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - data
    - ssid
    - line
    - value
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 245
    functionName: wpa_config_parse_int
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - wpa_config_parse_int_impl
    linkageType: ''
    returnType: int
    signature: "int wpa_config_parse_int(const struct parse_data *data,\n\t\t\t\tstruct
      wpa_ssid *ssid,\n\t\t\t\tint line, const char *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_parse_int_impl
      Src: /src/hostap/wpa_supplicant/config.c:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - data
    - ssid
    - line
    - value
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 253
    functionName: wpa_config_parse_int_range
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - wpa_config_parse_int_impl
    linkageType: ''
    returnType: int
    signature: "int wpa_config_parse_int_range(const struct parse_data *data,\n\t\t\t\t
      \     struct wpa_ssid *ssid,\n\t\t\t\t      int line, const char *value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/config.c:265,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/config.c:268,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/config.c:269,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:270,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - data
    - ssid
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 275
    functionName: wpa_config_write_int
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - os_free
    - os_malloc
    - os_snprintf_error
    linkageType: ''
    returnType: char
    signature: "char * wpa_config_write_int(const struct parse_data *data,\n\t\t\t\t
      \  struct wpa_ssid *ssid)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/hostap/wpa_supplicant/config.c:288,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:290,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:296,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:303,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:313,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - data
    - ssid
    - line
    - value
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 316
    functionName: wpa_config_parse_bool
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - strtol
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int wpa_config_parse_bool(const struct parse_data *data,\n\t\t\t\t
      struct wpa_ssid *ssid,\n\t\t\t\t int line, const char *value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/config.c:328,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/config.c:331,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/config.c:332,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:333,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - data
    - ssid
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 338
    functionName: wpa_config_write_bool
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - os_free
    - os_malloc
    - os_snprintf_error
    linkageType: ''
    returnType: char
    signature: "char * wpa_config_write_bool(const struct parse_data *data,\n\t\t\t\t
      \  struct wpa_ssid *ssid)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hwaddr_masked_aton
      Src: /src/hostap/wpa_supplicant/config.c:359,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:361,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:364,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:369,1
    - Dst: os_realloc_array
      Src: /src/hostap/wpa_supplicant/config.c:373,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:375,1
    - Dst: os_memmove
      Src: /src/hostap/wpa_supplicant/config.c:379,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/config.c:381,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:383,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/config.c:385,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/config.c:386,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/config.c:389,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:392,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 8
    argNames:
    - data
    - line
    - value
    - list
    - num
    - name
    - abort_on_error
    - masked
    argTypes:
    - struct parse_data*
    - int
    - char*
    - u8**
    - size_t*
    - char*
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 397
    functionName: wpa_config_parse_addr_list
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - os_memmove
    - MAC2STR
    - os_free
    - os_strchr
    - hwaddr_masked_aton
    - os_realloc_array
    linkageType: ''
    returnType: int
    signature: "int wpa_config_parse_addr_list(const struct parse_data *data,\n\t\t\t\t
      \     int line, const char *value,\n\t\t\t\t      u8 **list, size_t *num, char
      *name,\n\t\t\t\t      u8 abort_on_error, u8 masked)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/config.c:411,1
    - Dst: hwaddr_mask_txt
      Src: /src/hostap/wpa_supplicant/config.c:423,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:425,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 4
    argNames:
    - data
    - list
    - num
    - name
    argTypes:
    - struct parse_data*
    - u8*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 432
    functionName: wpa_config_write_addr_list
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - os_free
    - os_malloc
    - hwaddr_mask_txt
    linkageType: ''
    returnType: char
    signature: "char * wpa_config_write_addr_list(const struct parse_data *data,\n\t\t\t\t\t
      const u8 *list, size_t num, char *name)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:439,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:440,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:442,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/config.c:445,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:446,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/config.c:451,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - data
    - ssid
    - line
    - value
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 453
    functionName: wpa_config_parse_bssid
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - hwaddr_aton
    - wpa_printf
    - os_strcmp
    - wpa_hexdump
    linkageType: ''
    returnType: int
    signature: "int wpa_config_parse_bssid(const struct parse_data *data,\n\t\t\t\t
      \ struct wpa_ssid *ssid, int line,\n\t\t\t\t  const char *value)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/config.c:466,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/config.c:469,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/config.c:469,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/config.c:470,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:471,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - data
    - ssid
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 476
    functionName: wpa_config_write_bssid
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - os_malloc
    - os_snprintf
    - MAC2STR
    - os_free
    - os_snprintf_error
    linkageType: ''
    returnType: char
    signature: "char * wpa_config_write_bssid(const struct parse_data *data,\n\t\t\t\t
      \    struct wpa_ssid *ssid)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:484,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:485,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:487,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/config.c:490,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:491,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/config.c:496,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - data
    - ssid
    - line
    - value
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 498
    functionName: wpa_config_parse_bssid_hint
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - hwaddr_aton
    - wpa_printf
    - os_strcmp
    - wpa_hexdump
    linkageType: ''
    returnType: int
    signature: "int wpa_config_parse_bssid_hint(const struct parse_data *data,\n\t\t\t\t
      \      struct wpa_ssid *ssid, int line,\n\t\t\t\t       const char *value)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/config.c:511,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/config.c:514,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/config.c:514,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/config.c:515,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:516,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - data
    - ssid
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 520
    functionName: wpa_config_write_bssid_hint
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - os_malloc
    - os_snprintf
    - MAC2STR
    - os_free
    - os_snprintf_error
    linkageType: ''
    returnType: char
    signature: "char * wpa_config_write_bssid_hint(const struct parse_data *data,\n\t\t\t\t\t
      \ struct wpa_ssid *ssid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_parse_addr_list
      Src: /src/hostap/wpa_supplicant/config.c:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - data
    - ssid
    - line
    - value
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 524
    functionDepth: 2
    functionLinenumber: 524
    functionLinenumberEnd: 532
    functionName: wpa_config_parse_bssid_ignore
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - wpa_config_parse_addr_list
    linkageType: ''
    returnType: int
    signature: "int wpa_config_parse_bssid_ignore(const struct parse_data *data,\n\t\t\t\t\t
      struct wpa_ssid *ssid, int line,\n\t\t\t\t\t const char *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_parse_addr_list
      Src: /src/hostap/wpa_supplicant/config.c:540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - data
    - ssid
    - line
    - value
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 536
    functionDepth: 2
    functionLinenumber: 536
    functionLinenumberEnd: 544
    functionName: wpa_config_parse_bssid_blacklist
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - wpa_config_parse_addr_list
    linkageType: ''
    returnType: int
    signature: "int wpa_config_parse_bssid_blacklist(const struct parse_data *data,\n\t\t\t\t\t
      \   struct wpa_ssid *ssid, int line,\n\t\t\t\t\t    const char *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_write_addr_list
      Src: /src/hostap/wpa_supplicant/config.c:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - ssid
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 549
    functionDepth: 2
    functionLinenumber: 549
    functionLinenumberEnd: 555
    functionName: wpa_config_write_bssid_ignore
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - wpa_config_write_addr_list
    linkageType: ''
    returnType: char
    signature: "char * wpa_config_write_bssid_ignore(const struct parse_data *data,\n\t\t\t\t\t
      \   struct wpa_ssid *ssid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_write_addr_list
      Src: /src/hostap/wpa_supplicant/config.c:562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - ssid
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 559
    functionDepth: 2
    functionLinenumber: 559
    functionLinenumberEnd: 565
    functionName: wpa_config_write_bssid_blacklist
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - wpa_config_write_addr_list
    linkageType: ''
    returnType: char
    signature: "char * wpa_config_write_bssid_blacklist(const struct parse_data *data,\n\t\t\t\t\t
      \      struct wpa_ssid *ssid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_parse_addr_list
      Src: /src/hostap/wpa_supplicant/config.c:574,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - data
    - ssid
    - line
    - value
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 570
    functionDepth: 2
    functionLinenumber: 570
    functionLinenumberEnd: 578
    functionName: wpa_config_parse_bssid_accept
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - wpa_config_parse_addr_list
    linkageType: ''
    returnType: int
    signature: "int wpa_config_parse_bssid_accept(const struct parse_data *data,\n\t\t\t\t\t
      struct wpa_ssid *ssid, int line,\n\t\t\t\t\t const char *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_parse_addr_list
      Src: /src/hostap/wpa_supplicant/config.c:586,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - data
    - ssid
    - line
    - value
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 582
    functionDepth: 2
    functionLinenumber: 582
    functionLinenumberEnd: 590
    functionName: wpa_config_parse_bssid_whitelist
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - wpa_config_parse_addr_list
    linkageType: ''
    returnType: int
    signature: "int wpa_config_parse_bssid_whitelist(const struct parse_data *data,\n\t\t\t\t\t
      \   struct wpa_ssid *ssid, int line,\n\t\t\t\t\t    const char *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_write_addr_list
      Src: /src/hostap/wpa_supplicant/config.c:598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - ssid
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 595
    functionDepth: 2
    functionLinenumber: 595
    functionLinenumberEnd: 601
    functionName: wpa_config_write_bssid_accept
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - wpa_config_write_addr_list
    linkageType: ''
    returnType: char
    signature: "char * wpa_config_write_bssid_accept(const struct parse_data *data,\n\t\t\t\t\t
      \   struct wpa_ssid *ssid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_write_addr_list
      Src: /src/hostap/wpa_supplicant/config.c:608,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - ssid
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 605
    functionDepth: 2
    functionLinenumber: 605
    functionLinenumberEnd: 611
    functionName: wpa_config_write_bssid_whitelist
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - wpa_config_write_addr_list
    linkageType: ''
    returnType: char
    signature: "char * wpa_config_write_bssid_whitelist(const struct parse_data *data,\n\t\t\t\t\t
      \      struct wpa_ssid *ssid)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/config.c:625,1
    - Dst: str_clear_free
      Src: /src/hostap/wpa_supplicant/config.c:626,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:629,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/config.c:630,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:633,1
    - Dst: os_strrchr
      Src: /src/hostap/wpa_supplicant/config.c:645,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/config.c:649,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:651,1
    - Dst: wpa_hexdump_ascii_key
      Src: /src/hostap/wpa_supplicant/config.c:656,1
    - Dst: has_ctrl_char
      Src: /src/hostap/wpa_supplicant/config.c:658,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:659,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/config.c:664,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/config.c:665,1
    - Dst: str_clear_free
      Src: /src/hostap/wpa_supplicant/config.c:670,1
    - Dst: dup_binstr
      Src: /src/hostap/wpa_supplicant/config.c:671,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:676,1
    - Dst: hexstr2bin
      Src: /src/hostap/wpa_supplicant/config.c:682,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:684,1
    - Dst: str_clear_free
      Src: /src/hostap/wpa_supplicant/config.c:689,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/wpa_supplicant/config.c:693,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 4
    argNames:
    - data
    - ssid
    - line
    - value
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 620
    functionDepth: 1
    functionLinenumber: 620
    functionLinenumberEnd: 695
    functionName: wpa_config_parse_psk
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - has_ctrl_char
    - wpa_printf
    - wpa_hexdump_key
    - hexstr2bin
    - os_strncmp
    - str_clear_free
    - os_memcmp
    - os_strrchr
    - wpa_hexdump_ascii_key
    - os_free
    - os_strdup
    - dup_binstr
    linkageType: ''
    returnType: int
    signature: "int wpa_config_parse_psk(const struct parse_data *data,\n\t\t\t\tstruct
      wpa_ssid *ssid, int line,\n\t\t\t\tconst char *value)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/config.c:704,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/config.c:705,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/config.c:710,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/config.c:711,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:712,1
    - Dst: wpa_config_write_string_ascii
      Src: /src/hostap/wpa_supplicant/config.c:720,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/config.c:722,1
    - Dst: wpa_config_write_string_hex
      Src: /src/hostap/wpa_supplicant/config.c:725,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - data
    - ssid
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 699
    functionDepth: 2
    functionLinenumber: 699
    functionLinenumberEnd: 728
    functionName: wpa_config_write_psk
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_config_write_string_hex
    - wpa_config_write_string_ascii
    - os_malloc
    - os_snprintf
    - os_free
    - os_snprintf_error
    linkageType: ''
    returnType: char
    signature: "char * wpa_config_write_psk(const struct parse_data *data,\n\t\t\t\t
      \  struct wpa_ssid *ssid)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_array_free
      Src: /src/hostap/wpa_supplicant/config.c:739,1
    - Dst: wpabuf_parse_bin
      Src: /src/hostap/wpa_supplicant/config.c:744,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:746,1
    - Dst: wpabuf_array_alloc
      Src: /src/hostap/wpa_supplicant/config.c:752,1
    - Dst: wpabuf_array_add
      Src: /src/hostap/wpa_supplicant/config.c:753,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - data
    - ssid
    - line
    - value
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 732
    functionDepth: 1
    functionLinenumber: 732
    functionLinenumberEnd: 756
    functionName: wpa_config_parse_alt_sae_password_ids
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_array_alloc
    - wpabuf_array_free
    - wpabuf_parse_bin
    - wpabuf_array_add
    linkageType: ''
    returnType: int
    signature: "int wpa_config_parse_alt_sae_password_ids(const struct parse_data
      *data,\n\t\t\t\t\t\t struct wpa_ssid *ssid,\n\t\t\t\t\t\t int line, const char
      *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - ssid
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 765
    functionName: wpa_config_write_alt_sae_password_ids
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\nwpa_config_write_alt_sae_password_ids(const struct parse_data
      *data,\n\t\t\t\t      struct wpa_ssid *ssid)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/config.c:776,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:791,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:793,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:794,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:797,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:806,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:809,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:816,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 36
    argCount: 4
    argNames:
    - data
    - ssid
    - line
    - value
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 819
    functionName: wpa_config_parse_proto
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpa_printf
    - os_strcmp
    - os_strdup
    linkageType: ''
    returnType: int
    signature: "int wpa_config_parse_proto(const struct parse_data *data,\n\t\t\t\t
      \ struct wpa_ssid *ssid, int line,\n\t\t\t\t  const char *value)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/config.c:829,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/config.c:835,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/config.c:837,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/config.c:843,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/config.c:845,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:851,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - data
    - ssid
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 823
    functionDepth: 1
    functionLinenumber: 823
    functionLinenumberEnd: 856
    functionName: wpa_config_write_proto
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - os_free
    - os_zalloc
    - os_snprintf_error
    linkageType: ''
    returnType: char
    signature: "char * wpa_config_write_proto(const struct parse_data *data,\n\t\t\t\t
      \    struct wpa_ssid *ssid)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/config.c:867,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:882,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:884,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:886,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:888,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:890,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:893,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:895,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:898,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:903,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:906,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:908,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:911,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:915,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:917,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:919,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:921,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:925,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:929,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:933,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:935,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:938,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:940,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:945,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:949,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:953,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:957,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 51
    argCount: 4
    argNames:
    - data
    - ssid
    - line
    - value
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 965
    functionName: wpa_config_parse_key_mgmt
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_strcmp
    - os_strdup
    linkageType: ''
    returnType: int
    signature: "int wpa_config_parse_key_mgmt(const struct parse_data *data,\n\t\t\t\t
      \    struct wpa_ssid *ssid, int line,\n\t\t\t\t     const char *value)"
  - BBCount: 53
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/config.c:989,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/config.c:995,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/config.c:997,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/config.c:1005,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/config.c:1007,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/config.c:1015,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/config.c:1017,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/config.c:1025,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/config.c:1027,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/config.c:1035,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/config.c:1037,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/config.c:1046,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/config.c:1048,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/config.c:1056,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/config.c:1058,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/config.c:1067,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/config.c:1069,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/config.c:1080,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/config.c:1082,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/config.c:1091,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/config.c:1093,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/config.c:1101,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/config.c:1103,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/config.c:1112,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/config.c:1114,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/config.c:1124,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/config.c:1126,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/config.c:1134,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/config.c:1136,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/config.c:1144,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/config.c:1146,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/config.c:1154,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/config.c:1156,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/config.c:1166,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/config.c:1168,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/config.c:1178,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/config.c:1180,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/config.c:1190,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/config.c:1192,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/config.c:1199,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/config.c:1201,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/config.c:1209,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/config.c:1211,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/config.c:1218,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/config.c:1220,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/config.c:1231,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/config.c:1233,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/config.c:1243,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/config.c:1245,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/config.c:1255,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/config.c:1257,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:1266,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 210
    argCount: 2
    argNames:
    - data
    - ssid
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1271
      start: 983
    functionDepth: 1
    functionLinenumber: 983
    functionLinenumberEnd: 1271
    functionName: wpa_config_write_key_mgmt
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - os_free
    - os_zalloc
    - os_snprintf_error
    linkageType: ''
    returnType: char
    signature: "char * wpa_config_write_key_mgmt(const struct parse_data *data,\n\t\t\t\t\tstruct
      wpa_ssid *ssid)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_parse_cipher
      Src: /src/hostap/wpa_supplicant/config.c:1280,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:1282,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:1287,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - line
    - value
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1293
      start: 1275
    functionDepth: 1
    functionLinenumber: 1275
    functionLinenumberEnd: 1293
    functionName: wpa_config_parse_cipher
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_parse_cipher
    linkageType: ''
    returnType: int
    signature: int wpa_config_parse_cipher(int line, const char *value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/config.c:1302,1
    - Dst: wpa_write_ciphers
      Src: /src/hostap/wpa_supplicant/config.c:1306,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:1307,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1313
      start: 1297
    functionDepth: 1
    functionLinenumber: 1297
    functionLinenumberEnd: 1313
    functionName: wpa_config_write_cipher
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - os_free
    - os_zalloc
    - wpa_write_ciphers
    linkageType: ''
    returnType: char
    signature: char * wpa_config_write_cipher(int cipher)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_parse_cipher
      Src: /src/hostap/wpa_supplicant/config.c:1322,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:1326,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:1333,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - data
    - ssid
    - line
    - value
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1336
      start: 1317
    functionDepth: 2
    functionLinenumber: 1317
    functionLinenumberEnd: 1336
    functionName: wpa_config_parse_pairwise
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_config_parse_cipher
    linkageType: ''
    returnType: int
    signature: "int wpa_config_parse_pairwise(const struct parse_data *data,\n\t\t\t\t
      \    struct wpa_ssid *ssid, int line,\n\t\t\t\t     const char *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_write_cipher
      Src: /src/hostap/wpa_supplicant/config.c:1343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - ssid
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1344
      start: 1340
    functionDepth: 2
    functionLinenumber: 1340
    functionLinenumberEnd: 1344
    functionName: wpa_config_write_pairwise
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - wpa_config_write_cipher
    linkageType: ''
    returnType: char
    signature: "char * wpa_config_write_pairwise(const struct parse_data *data,\n\t\t\t\t\tstruct
      wpa_ssid *ssid)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_parse_cipher
      Src: /src/hostap/wpa_supplicant/config.c:1353,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:1364,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:1371,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - data
    - ssid
    - line
    - value
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1374
      start: 1348
    functionDepth: 2
    functionLinenumber: 1348
    functionLinenumberEnd: 1374
    functionName: wpa_config_parse_group
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_config_parse_cipher
    linkageType: ''
    returnType: int
    signature: "int wpa_config_parse_group(const struct parse_data *data,\n\t\t\t\t
      \ struct wpa_ssid *ssid, int line,\n\t\t\t\t  const char *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_write_cipher
      Src: /src/hostap/wpa_supplicant/config.c:1381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - ssid
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1382
      start: 1378
    functionDepth: 2
    functionLinenumber: 1378
    functionLinenumberEnd: 1382
    functionName: wpa_config_write_group
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - wpa_config_write_cipher
    linkageType: ''
    returnType: char
    signature: "char * wpa_config_write_group(const struct parse_data *data,\n\t\t\t\t
      \    struct wpa_ssid *ssid)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_parse_cipher
      Src: /src/hostap/wpa_supplicant/config.c:1392,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:1397,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:1405,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - data
    - ssid
    - line
    - value
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1408
      start: 1386
    functionDepth: 2
    functionLinenumber: 1386
    functionLinenumberEnd: 1408
    functionName: wpa_config_parse_group_mgmt
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_config_parse_cipher
    linkageType: ''
    returnType: int
    signature: "int wpa_config_parse_group_mgmt(const struct parse_data *data,\n\t\t\t\t
      \      struct wpa_ssid *ssid, int line,\n\t\t\t\t       const char *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_write_cipher
      Src: /src/hostap/wpa_supplicant/config.c:1415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - ssid
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1416
      start: 1412
    functionDepth: 2
    functionLinenumber: 1412
    functionLinenumberEnd: 1416
    functionName: wpa_config_write_group_mgmt
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - wpa_config_write_cipher
    linkageType: ''
    returnType: char
    signature: "char * wpa_config_write_group_mgmt(const struct parse_data *data,\n\t\t\t\t\t
      \ struct wpa_ssid *ssid)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/config.c:1427,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:1442,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:1444,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:1446,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:1449,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:1458,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:1461,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:1468,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 38
    argCount: 4
    argNames:
    - data
    - ssid
    - line
    - value
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1471
      start: 1420
    functionDepth: 0
    functionLinenumber: 1420
    functionLinenumberEnd: 1471
    functionName: wpa_config_parse_auth_alg
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpa_printf
    - os_strcmp
    - os_strdup
    linkageType: ''
    returnType: int
    signature: "int wpa_config_parse_auth_alg(const struct parse_data *data,\n\t\t\t\t
      \    struct wpa_ssid *ssid, int line,\n\t\t\t\t     const char *value)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/config.c:1481,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/config.c:1487,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/config.c:1489,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/config.c:1497,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/config.c:1499,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/config.c:1507,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/config.c:1509,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:1517,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 2
    argNames:
    - data
    - ssid
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1522
      start: 1475
    functionDepth: 1
    functionLinenumber: 1475
    functionLinenumberEnd: 1522
    functionName: wpa_config_write_auth_alg
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - os_free
    - os_zalloc
    - os_snprintf_error
    linkageType: ''
    returnType: char
    signature: "char * wpa_config_write_auth_alg(const struct parse_data *data,\n\t\t\t\t\tstruct
      wpa_ssid *ssid)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_calloc
      Src: /src/hostap/wpa_supplicant/config.c:1534,1
    - Dst: os_realloc_array
      Src: /src/hostap/wpa_supplicant/config.c:1545,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:1547,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/config.c:1556,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/config.c:1560,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1564
      start: 1526
    functionDepth: 1
    functionLinenumber: 1526
    functionLinenumberEnd: 1564
    functionName: wpa_config_parse_int_array
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - os_calloc
    - atoi
    - os_free
    - os_strchr
    - os_realloc_array
    linkageType: ''
    returnType: int
    signature: int * wpa_config_parse_int_array(const char *value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/config.c:1576,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/config.c:1577,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - buf
    - buflen
    - array
    argTypes:
    - char*
    - size_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1587
      start: 1567
    functionDepth: 1
    functionLinenumber: 1567
    functionLinenumberEnd: 1587
    functionName: wpa_config_print_int_array
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: int wpa_config_print_int_array(char *buf, size_t buflen, int *array)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_parse_int_array
      Src: /src/hostap/wpa_supplicant/config.c:1596,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:1600,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:1603,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - data
    - ssid
    - line
    - value
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1607
      start: 1590
    functionDepth: 2
    functionLinenumber: 1590
    functionLinenumberEnd: 1607
    functionName: wpa_config_parse_scan_freq
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpa_config_parse_int_array
    linkageType: ''
    returnType: int
    signature: "int wpa_config_parse_scan_freq(const struct parse_data *data,\n\t\t\t\t
      \     struct wpa_ssid *ssid, int line,\n\t\t\t\t      const char *value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_parse_int_array
      Src: /src/hostap/wpa_supplicant/config.c:1616,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:1620,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:1623,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - data
    - ssid
    - line
    - value
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1627
      start: 1610
    functionDepth: 2
    functionLinenumber: 1610
    functionLinenumberEnd: 1627
    functionName: wpa_config_parse_freq_list
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpa_config_parse_int_array
    linkageType: ''
    returnType: int
    signature: "int wpa_config_parse_freq_list(const struct parse_data *data,\n\t\t\t\t
      \     struct wpa_ssid *ssid, int line,\n\t\t\t\t      const char *value)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/config.c:1645,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/config.c:1651,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/config.c:1653,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - data
    - freqs
    argTypes:
    - struct parse_data*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1661
      start: 1631
    functionDepth: 1
    functionLinenumber: 1631
    functionLinenumberEnd: 1661
    functionName: wpa_config_write_freqs
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - os_zalloc
    - os_snprintf_error
    linkageType: ''
    returnType: char
    signature: "char * wpa_config_write_freqs(const struct parse_data *data,\n\t\t\t\t
      \    const int *freqs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_write_freqs
      Src: /src/hostap/wpa_supplicant/config.c:1667,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - ssid
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1668
      start: 1664
    functionDepth: 2
    functionLinenumber: 1664
    functionLinenumberEnd: 1668
    functionName: wpa_config_write_scan_freq
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - wpa_config_write_freqs
    linkageType: ''
    returnType: char
    signature: "char * wpa_config_write_scan_freq(const struct parse_data *data,\n\t\t\t\t\t
      struct wpa_ssid *ssid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_write_freqs
      Src: /src/hostap/wpa_supplicant/config.c:1674,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - ssid
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1675
      start: 1671
    functionDepth: 2
    functionLinenumber: 1671
    functionLinenumberEnd: 1675
    functionName: wpa_config_write_freq_list
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - wpa_config_write_freqs
    linkageType: ''
    returnType: char
    signature: "char * wpa_config_write_freq_list(const struct parse_data *data,\n\t\t\t\t\t
      struct wpa_ssid *ssid)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/config.c:1689,1
    - Dst: os_realloc_array
      Src: /src/hostap/wpa_supplicant/config.c:1705,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:1708,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:1709,1
    - Dst: eap_peer_get_type
      Src: /src/hostap/wpa_supplicant/config.c:1712,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:1716,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:1718,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:1733,1
    - Dst: os_realloc_array
      Src: /src/hostap/wpa_supplicant/config.c:1736,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:1738,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:1767,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/config.c:1771,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:1773,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 68
    argCount: 4
    argNames:
    - data
    - ssid
    - line
    - value
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1776
      start: 1680
    functionDepth: 1
    functionLinenumber: 1680
    functionLinenumberEnd: 1776
    functionName: wpa_config_parse_eap
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    - eap_peer_get_type
    - os_free
    - os_strdup
    - os_realloc_array
    linkageType: ''
    returnType: int
    signature: "int wpa_config_parse_eap(const struct parse_data *data,\n\t\t\t\tstruct
      wpa_ssid *ssid, int line,\n\t\t\t\tconst char *value)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/config.c:1791,1
    - Dst: eap_get_name
      Src: /src/hostap/wpa_supplicant/config.c:1798,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/config.c:1801,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/config.c:1803,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - data
    - ssid
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1812
      start: 1780
    functionDepth: 1
    functionLinenumber: 1780
    functionLinenumberEnd: 1812
    functionName: wpa_config_write_eap
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - os_zalloc
    - eap_get_name
    - os_snprintf_error
    linkageType: ''
    returnType: char
    signature: "char * wpa_config_write_eap(const struct parse_data *data,\n\t\t\t\t
      \  struct wpa_ssid *ssid)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:1822,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:1825,1
    - Dst: bin_clear_free
      Src: /src/hostap/wpa_supplicant/config.c:1826,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/config.c:1833,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/config.c:1834,1
    - Dst: bin_clear_free
      Src: /src/hostap/wpa_supplicant/config.c:1837,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/config.c:1839,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/config.c:1846,1
    - Dst: wpa_config_parse_string
      Src: /src/hostap/wpa_supplicant/config.c:1850,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:1852,1
    - Dst: wpa_hexdump_ascii_key
      Src: /src/hostap/wpa_supplicant/config.c:1856,1
    - Dst: bin_clear_free
      Src: /src/hostap/wpa_supplicant/config.c:1859,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/config.c:1870,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:1871,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/config.c:1877,1
    - Dst: hexstr2bin
      Src: /src/hostap/wpa_supplicant/config.c:1881,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:1882,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:1883,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/wpa_supplicant/config.c:1887,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/config.c:1890,1
    - Dst: bin_clear_free
      Src: /src/hostap/wpa_supplicant/config.c:1892,1
    - Dst: bin_clear_free
      Src: /src/hostap/wpa_supplicant/config.c:1895,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 57
    argCount: 4
    argNames:
    - data
    - ssid
    - line
    - value
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1902
      start: 1816
    functionDepth: 1
    functionLinenumber: 1816
    functionLinenumberEnd: 1902
    functionName: wpa_config_parse_password
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - wpa_hexdump_key
    - hexstr2bin
    - os_malloc
    - os_strncmp
    - os_strcmp
    - wpa_config_parse_string
    - wpa_hexdump_ascii_key
    - os_memcmp
    - os_free
    - os_strdup
    - bin_clear_free
    linkageType: ''
    returnType: int
    signature: "int wpa_config_parse_password(const struct parse_data *data,\n\t\t\t\t
      \    struct wpa_ssid *ssid, int line,\n\t\t\t\t     const char *value)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:1911,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:1914,1
    - Dst: bin_clear_free
      Src: /src/hostap/wpa_supplicant/config.c:1916,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/config.c:1924,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/config.c:1925,1
    - Dst: bin_clear_free
      Src: /src/hostap/wpa_supplicant/config.c:1929,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/config.c:1932,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/config.c:1939,1
    - Dst: wpa_config_parse_string
      Src: /src/hostap/wpa_supplicant/config.c:1943,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:1945,1
    - Dst: wpa_hexdump_ascii_key
      Src: /src/hostap/wpa_supplicant/config.c:1950,1
    - Dst: bin_clear_free
      Src: /src/hostap/wpa_supplicant/config.c:1953,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/config.c:1965,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:1966,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/config.c:1972,1
    - Dst: hexstr2bin
      Src: /src/hostap/wpa_supplicant/config.c:1976,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:1977,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:1978,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/wpa_supplicant/config.c:1983,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/config.c:1987,1
    - Dst: bin_clear_free
      Src: /src/hostap/wpa_supplicant/config.c:1989,1
    - Dst: bin_clear_free
      Src: /src/hostap/wpa_supplicant/config.c:1992,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 57
    argCount: 4
    argNames:
    - data
    - ssid
    - line
    - value
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2000
      start: 1905
    functionDepth: 1
    functionLinenumber: 1905
    functionLinenumberEnd: 2000
    functionName: wpa_config_parse_machine_password
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - wpa_hexdump_key
    - hexstr2bin
    - os_malloc
    - os_strncmp
    - os_strcmp
    - wpa_config_parse_string
    - wpa_hexdump_ascii_key
    - os_memcmp
    - os_free
    - os_strdup
    - bin_clear_free
    linkageType: ''
    returnType: int
    signature: "int wpa_config_parse_machine_password(const struct parse_data *data,\n\t\t\t\t\t
      \    struct wpa_ssid *ssid, int line,\n\t\t\t\t\t     const char *value)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/config.c:2015,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/config.c:2018,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/config.c:2019,1
    - Dst: wpa_config_write_string
      Src: /src/hostap/wpa_supplicant/config.c:2025,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/config.c:2029,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/config.c:2033,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/wpa_supplicant/config.c:2034,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - data
    - ssid
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2037
      start: 2005
    functionDepth: 3
    functionLinenumber: 2005
    functionLinenumberEnd: 2037
    functionName: wpa_config_write_password
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_snprintf_hex
    - os_malloc
    - os_zalloc
    - wpa_config_write_string
    linkageType: ''
    returnType: char
    signature: "char * wpa_config_write_password(const struct parse_data *data,\n\t\t\t\t\tstruct
      wpa_ssid *ssid)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/config.c:2050,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/config.c:2053,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/config.c:2054,1
    - Dst: wpa_config_write_string
      Src: /src/hostap/wpa_supplicant/config.c:2061,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/config.c:2066,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/config.c:2070,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/wpa_supplicant/config.c:2071,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - data
    - ssid
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2074
      start: 2040
    functionDepth: 3
    functionLinenumber: 2040
    functionLinenumberEnd: 2074
    functionName: wpa_config_write_machine_password
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_snprintf_hex
    - os_malloc
    - os_zalloc
    - wpa_config_write_string
    linkageType: ''
    returnType: char
    signature: "char * wpa_config_write_machine_password(const struct parse_data *data,\n\t\t\t\t\t\tstruct
      wpa_ssid *ssid)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_parse_string
      Src: /src/hostap/wpa_supplicant/config.c:2088,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:2090,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:2095,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:2097,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:2101,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/config.c:2105,1
    - Dst: str_clear_free
      Src: /src/hostap/wpa_supplicant/config.c:2106,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/config.c:2107,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/config.c:2108,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/wpa_supplicant/config.c:2109,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 5
    argNames:
    - key
    - len
    - line
    - value
    - idx
    argTypes:
    - u8*
    - size_t*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2111
      start: 2082
    functionDepth: 1
    functionLinenumber: 2082
    functionLinenumberEnd: 2111
    functionName: wpa_config_parse_wep_key
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_printf
    - wpa_hexdump_key
    - os_snprintf
    - str_clear_free
    - wpa_config_parse_string
    - os_free
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int wpa_config_parse_wep_key(u8 *key, size_t *len, int line,\n\t\t\t\t
      \   const char *value, int idx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_parse_wep_key
      Src: /src/hostap/wpa_supplicant/config.c:2118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - data
    - ssid
    - line
    - value
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2121
      start: 2114
    functionDepth: 2
    functionLinenumber: 2114
    functionLinenumberEnd: 2121
    functionName: wpa_config_parse_wep_key0
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - wpa_config_parse_wep_key
    linkageType: ''
    returnType: int
    signature: "int wpa_config_parse_wep_key0(const struct parse_data *data,\n\t\t\t\t
      \    struct wpa_ssid *ssid, int line,\n\t\t\t\t     const char *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_parse_wep_key
      Src: /src/hostap/wpa_supplicant/config.c:2128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - data
    - ssid
    - line
    - value
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2131
      start: 2124
    functionDepth: 2
    functionLinenumber: 2124
    functionLinenumberEnd: 2131
    functionName: wpa_config_parse_wep_key1
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - wpa_config_parse_wep_key
    linkageType: ''
    returnType: int
    signature: "int wpa_config_parse_wep_key1(const struct parse_data *data,\n\t\t\t\t
      \    struct wpa_ssid *ssid, int line,\n\t\t\t\t     const char *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_parse_wep_key
      Src: /src/hostap/wpa_supplicant/config.c:2138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - data
    - ssid
    - line
    - value
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2141
      start: 2134
    functionDepth: 2
    functionLinenumber: 2134
    functionLinenumberEnd: 2141
    functionName: wpa_config_parse_wep_key2
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - wpa_config_parse_wep_key
    linkageType: ''
    returnType: int
    signature: "int wpa_config_parse_wep_key2(const struct parse_data *data,\n\t\t\t\t
      \    struct wpa_ssid *ssid, int line,\n\t\t\t\t     const char *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_parse_wep_key
      Src: /src/hostap/wpa_supplicant/config.c:2148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - data
    - ssid
    - line
    - value
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2151
      start: 2144
    functionDepth: 2
    functionLinenumber: 2144
    functionLinenumberEnd: 2151
    functionName: wpa_config_parse_wep_key3
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - wpa_config_parse_wep_key
    linkageType: ''
    returnType: int
    signature: "int wpa_config_parse_wep_key3(const struct parse_data *data,\n\t\t\t\t
      \    struct wpa_ssid *ssid, int line,\n\t\t\t\t     const char *value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_write_string
      Src: /src/hostap/wpa_supplicant/config.c:2159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ssid
    - idx
    argTypes:
    - struct wpa_ssid*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2161
      start: 2155
    functionDepth: 3
    functionLinenumber: 2155
    functionLinenumberEnd: 2161
    functionName: wpa_config_write_wep_key
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - wpa_config_write_string
    linkageType: ''
    returnType: char
    signature: char * wpa_config_write_wep_key(struct wpa_ssid *ssid, int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_write_wep_key
      Src: /src/hostap/wpa_supplicant/config.c:2167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - ssid
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2168
      start: 2164
    functionDepth: 4
    functionLinenumber: 2164
    functionLinenumberEnd: 2168
    functionName: wpa_config_write_wep_key0
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - wpa_config_write_wep_key
    linkageType: ''
    returnType: char
    signature: "char * wpa_config_write_wep_key0(const struct parse_data *data,\n\t\t\t\t\tstruct
      wpa_ssid *ssid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_write_wep_key
      Src: /src/hostap/wpa_supplicant/config.c:2174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - ssid
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2175
      start: 2171
    functionDepth: 4
    functionLinenumber: 2171
    functionLinenumberEnd: 2175
    functionName: wpa_config_write_wep_key1
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - wpa_config_write_wep_key
    linkageType: ''
    returnType: char
    signature: "char * wpa_config_write_wep_key1(const struct parse_data *data,\n\t\t\t\t\tstruct
      wpa_ssid *ssid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_write_wep_key
      Src: /src/hostap/wpa_supplicant/config.c:2181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - ssid
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2182
      start: 2178
    functionDepth: 4
    functionLinenumber: 2178
    functionLinenumberEnd: 2182
    functionName: wpa_config_write_wep_key2
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - wpa_config_write_wep_key
    linkageType: ''
    returnType: char
    signature: "char * wpa_config_write_wep_key2(const struct parse_data *data,\n\t\t\t\t\tstruct
      wpa_ssid *ssid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_write_wep_key
      Src: /src/hostap/wpa_supplicant/config.c:2188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - ssid
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2189
      start: 2185
    functionDepth: 4
    functionLinenumber: 2185
    functionLinenumberEnd: 2189
    functionName: wpa_config_write_wep_key3
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - wpa_config_write_wep_key
    linkageType: ''
    returnType: char
    signature: "char * wpa_config_write_wep_key3(const struct parse_data *data,\n\t\t\t\t\tstruct
      wpa_ssid *ssid)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:2201,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:2202,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/config.c:2203,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:2204,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/config.c:2207,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:2208,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:2213,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/config.c:2214,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - data
    - ssid
    - line
    - value
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2216
      start: 2197
    functionDepth: 1
    functionLinenumber: 2197
    functionLinenumberEnd: 2216
    functionName: wpa_config_parse_go_p2p_dev_addr
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hwaddr_aton
    - MAC2STR
    - os_strcmp
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpa_config_parse_go_p2p_dev_addr(const struct parse_data *data,\n\t\t\t\t\t
      \   struct wpa_ssid *ssid, int line,\n\t\t\t\t\t    const char *value)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/config.c:2226,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/config.c:2229,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/config.c:2232,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/config.c:2232,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/config.c:2233,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:2234,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - data
    - ssid
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2239
      start: 2220
    functionDepth: 1
    functionLinenumber: 2220
    functionLinenumberEnd: 2239
    functionName: wpa_config_write_go_p2p_dev_addr
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - is_zero_ether_addr
    - os_malloc
    - os_snprintf
    - MAC2STR
    - os_free
    - os_snprintf_error
    linkageType: ''
    returnType: char
    signature: "char * wpa_config_write_go_p2p_dev_addr(const struct parse_data *data,\n\t\t\t\t\t
      \      struct wpa_ssid *ssid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_parse_addr_list
      Src: /src/hostap/wpa_supplicant/config.c:2247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - data
    - ssid
    - line
    - value
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2251
      start: 2243
    functionDepth: 2
    functionLinenumber: 2243
    functionLinenumberEnd: 2251
    functionName: wpa_config_parse_p2p_client_list
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - wpa_config_parse_addr_list
    linkageType: ''
    returnType: int
    signature: "int wpa_config_parse_p2p_client_list(const struct parse_data *data,\n\t\t\t\t\t
      \   struct wpa_ssid *ssid, int line,\n\t\t\t\t\t    const char *value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_parse_int_array
      Src: /src/hostap/wpa_supplicant/config.c:2258,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:2261,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:2266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - data
    - ssid
    - line
    - value
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2270
      start: 2254
    functionDepth: 2
    functionLinenumber: 2254
    functionLinenumberEnd: 2270
    functionName: wpa_config_parse_p2p2_client_list
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpa_printf
    - wpa_config_parse_int_array
    linkageType: ''
    returnType: int
    signature: "int wpa_config_parse_p2p2_client_list(const struct parse_data *data,\n\t\t\t\t\t
      \    struct wpa_ssid *ssid, int line,\n\t\t\t\t\t     const char *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_write_addr_list
      Src: /src/hostap/wpa_supplicant/config.c:2278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - ssid
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2281
      start: 2275
    functionDepth: 2
    functionLinenumber: 2275
    functionLinenumberEnd: 2281
    functionName: wpa_config_write_p2p_client_list
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - wpa_config_write_addr_list
    linkageType: ''
    returnType: char
    signature: "char * wpa_config_write_p2p_client_list(const struct parse_data *data,\n\t\t\t\t\t
      \      struct wpa_ssid *ssid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_write_freqs
      Src: /src/hostap/wpa_supplicant/config.c:2287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - ssid
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2288
      start: 2284
    functionDepth: 2
    functionLinenumber: 2284
    functionLinenumberEnd: 2288
    functionName: wpa_config_write_p2p2_client_list
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - wpa_config_write_freqs
    linkageType: ''
    returnType: char
    signature: "char * wpa_config_write_p2p2_client_list(const struct parse_data *data,\n\t\t\t\t\t\tstruct
      wpa_ssid *ssid)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/config.c:2300,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/config.c:2305,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/config.c:2310,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:2311,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:2313,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:2318,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:2320,1
    - Dst: hexstr2bin
      Src: /src/hostap/wpa_supplicant/config.c:2325,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:2326,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:2328,1
    - Dst: dl_list_add
      Src: /src/hostap/wpa_supplicant/config.c:2332,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 4
    argNames:
    - data
    - ssid
    - line
    - value
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2335
      start: 2293
    functionDepth: 1
    functionLinenumber: 2293
    functionLinenumberEnd: 2335
    functionName: wpa_config_parse_psk_list
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hexstr2bin
    - hwaddr_aton
    - os_strncmp
    - os_zalloc
    - dl_list_add
    - os_free
    linkageType: ''
    returnType: int
    signature: "int wpa_config_parse_psk_list(const struct parse_data *data,\n\t\t\t\t
      \    struct wpa_ssid *ssid, int line,\n\t\t\t\t     const char *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - ssid
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2343
      start: 2339
    functionDepth: 0
    functionLinenumber: 2339
    functionLinenumberEnd: 2343
    functionName: wpa_config_write_psk_list
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char * wpa_config_write_psk_list(const struct parse_data *data,\n\t\t\t\t\tstruct
      wpa_ssid *ssid)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_parse_int_array
      Src: /src/hostap/wpa_supplicant/config.c:2355,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:2358,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:2363,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:2367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - data
    - ssid
    - line
    - value
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2371
      start: 2351
    functionDepth: 2
    functionLinenumber: 2351
    functionLinenumberEnd: 2371
    functionName: wpa_config_parse_mesh_basic_rates
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpa_printf
    - wpa_config_parse_int_array
    linkageType: ''
    returnType: int
    signature: "int wpa_config_parse_mesh_basic_rates(const struct parse_data *data,\n\t\t\t\t\t
      \    struct wpa_ssid *ssid, int line,\n\t\t\t\t\t     const char *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_write_freqs
      Src: /src/hostap/wpa_supplicant/config.c:2379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - ssid
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2380
      start: 2376
    functionDepth: 2
    functionLinenumber: 2376
    functionLinenumberEnd: 2380
    functionName: wpa_config_write_mesh_basic_rates
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - wpa_config_write_freqs
    linkageType: ''
    returnType: char
    signature: "char * wpa_config_write_mesh_basic_rates(const struct parse_data *data,\n\t\t\t\t\t\tstruct
      wpa_ssid *ssid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/config.c:2395,1
    - Dst: hexstr2bin
      Src: /src/hostap/wpa_supplicant/config.c:2398,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:2399,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/wpa_supplicant/config.c:2406,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - data
    - ssid
    - line
    - value
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2409
      start: 2389
    functionDepth: 1
    functionLinenumber: 2389
    functionLinenumberEnd: 2409
    functionName: wpa_config_parse_mka_cak
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - hexstr2bin
    - wpa_hexdump_key
    linkageType: ''
    returnType: int
    signature: "int wpa_config_parse_mka_cak(const struct parse_data *data,\n\t\t\t\t
      \   struct wpa_ssid *ssid, int line,\n\t\t\t\t    const char *value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/config.c:2418,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:2422,1
    - Dst: hexstr2bin
      Src: /src/hostap/wpa_supplicant/config.c:2427,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:2428,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/wpa_supplicant/config.c:2435,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - data
    - ssid
    - line
    - value
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2438
      start: 2412
    functionDepth: 1
    functionLinenumber: 2412
    functionLinenumberEnd: 2438
    functionName: wpa_config_parse_mka_ckn
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - hexstr2bin
    - wpa_hexdump_key
    linkageType: ''
    returnType: int
    signature: "int wpa_config_parse_mka_ckn(const struct parse_data *data,\n\t\t\t\t
      \   struct wpa_ssid *ssid, int line,\n\t\t\t\t    const char *value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_write_string_hex
      Src: /src/hostap/wpa_supplicant/config.c:2449,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - data
    - ssid
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2450
      start: 2443
    functionDepth: 2
    functionLinenumber: 2443
    functionLinenumberEnd: 2450
    functionName: wpa_config_write_mka_cak
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - wpa_config_write_string_hex
    linkageType: ''
    returnType: char
    signature: "char * wpa_config_write_mka_cak(const struct parse_data *data,\n\t\t\t\t
      \      struct wpa_ssid *ssid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_write_string_hex
      Src: /src/hostap/wpa_supplicant/config.c:2458,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - data
    - ssid
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2459
      start: 2453
    functionDepth: 2
    functionLinenumber: 2453
    functionLinenumberEnd: 2459
    functionName: wpa_config_write_mka_ckn
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - wpa_config_write_string_hex
    linkageType: ''
    returnType: char
    signature: "char * wpa_config_write_mka_ckn(const struct parse_data *data,\n\t\t\t\t
      \      struct wpa_ssid *ssid)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/hostap/wpa_supplicant/config.c:2474,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:2476,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 4
    argNames:
    - data
    - ssid
    - line
    - value
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2483
      start: 2468
    functionDepth: 0
    functionLinenumber: 2468
    functionLinenumberEnd: 2483
    functionName: wpa_config_parse_ocv
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - strtol
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int wpa_config_parse_ocv(const struct parse_data *data,\n\t\t\t\tstruct
      wpa_ssid *ssid, int line,\n\t\t\t\tconst char *value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/config.c:2490,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/config.c:2494,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - data
    - ssid
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2497
      start: 2487
    functionDepth: 0
    functionLinenumber: 2487
    functionLinenumberEnd: 2497
    functionName: wpa_config_write_ocv
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - os_malloc
    linkageType: ''
    returnType: char
    signature: "char * wpa_config_write_ocv(const struct parse_data *data,\n\t\t\t\t
      \  struct wpa_ssid *ssid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:2507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - data
    - ssid
    - line
    - value
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2509
      start: 2503
    functionDepth: 0
    functionLinenumber: 2503
    functionLinenumberEnd: 2509
    functionName: wpa_config_parse_peerkey
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int wpa_config_parse_peerkey(const struct parse_data *data,\n\t\t\t\t
      \   struct wpa_ssid *ssid, int line,\n\t\t\t\t    const char *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - ssid
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2517
      start: 2513
    functionDepth: 0
    functionLinenumber: 2513
    functionLinenumberEnd: 2517
    functionName: wpa_config_write_peerkey
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char * wpa_config_write_peerkey(const struct parse_data *data,\n\t\t\t\t
      \      struct wpa_ssid *ssid)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/config.c:2527,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/config.c:2528,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/config.c:2530,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:2534,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - data
    - ssid
    - line
    - value
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2537
      start: 2521
    functionDepth: 1
    functionLinenumber: 2521
    functionLinenumberEnd: 2537
    functionName: wpa_config_parse_mac_value
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - hwaddr_aton
    - os_memcpy
    - ether_addr_equal
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int wpa_config_parse_mac_value(const struct parse_data *data,\n\t\t\t\t
      \     struct wpa_ssid *ssid, int line,\n\t\t\t\t      const char *value)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/config.c:2551,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/config.c:2554,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/config.c:2554,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/config.c:2555,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:2556,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - data
    - ssid
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2561
      start: 2541
    functionDepth: 1
    functionLinenumber: 2541
    functionLinenumberEnd: 2561
    functionName: wpa_config_write_mac_value
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - os_malloc
    - os_snprintf
    - MAC2STR
    - os_free
    - os_snprintf_error
    linkageType: ''
    returnType: char
    signature: "char * wpa_config_write_mac_value(const struct parse_data *data,\n\t\t\t\t\t
      struct wpa_ssid *ssid)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_parse_int_array
      Src: /src/hostap/wpa_supplicant/config.c:2572,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:2576,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:2579,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - data
    - ssid
    - line
    - value
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2583
      start: 2566
    functionDepth: 2
    functionLinenumber: 2566
    functionLinenumberEnd: 2583
    functionName: wpa_config_parse_pasn_groups
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpa_config_parse_int_array
    linkageType: ''
    returnType: int
    signature: "int wpa_config_parse_pasn_groups(const struct parse_data *data,\n\t\t\t\t\tstruct
      wpa_ssid *ssid, int line,\n\t\t\t\t\tconst char *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_write_freqs
      Src: /src/hostap/wpa_supplicant/config.c:2590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - ssid
    argTypes:
    - struct parse_data*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2591
      start: 2587
    functionDepth: 2
    functionLinenumber: 2587
    functionLinenumberEnd: 2591
    functionName: wpa_config_write_pasn_groups
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - wpa_config_write_freqs
    linkageType: ''
    returnType: char
    signature: "char * wpa_config_write_pasn_groups(const struct parse_data *data,\n\t\t\t\t\t
      struct wpa_ssid *ssid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2603
      start: 2602
    functionDepth: 0
    functionLinenumber: 2602
    functionLinenumberEnd: 2603
    functionName: OFFSET
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OFFSET(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2607
      start: 2606
    functionDepth: 0
    functionLinenumber: 2606
    functionLinenumberEnd: 2607
    functionName: _STR
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _STR(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - f
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2608
      start: 2607
    functionDepth: 0
    functionLinenumber: 2607
    functionLinenumberEnd: 2608
    functionName: _STRe
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _STRe(f, m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2610
      start: 2609
    functionDepth: 0
    functionLinenumber: 2609
    functionLinenumberEnd: 2610
    functionName: _STR
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _STR(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - f
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2612
      start: 2610
    functionDepth: 0
    functionLinenumber: 2610
    functionLinenumberEnd: 2612
    functionName: _STRe
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _STRe(f, m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2614
      start: 2613
    functionDepth: 0
    functionLinenumber: 2613
    functionLinenumberEnd: 2614
    functionName: STR
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 200
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - f
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2615
      start: 2614
    functionDepth: 0
    functionLinenumber: 2614
    functionLinenumberEnd: 2615
    functionName: STRe
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRe(f, m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2616
      start: 2615
    functionDepth: 0
    functionLinenumber: 2615
    functionLinenumberEnd: 2616
    functionName: STR_KEY
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR_KEY(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - f
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2617
      start: 2616
    functionDepth: 0
    functionLinenumber: 2616
    functionLinenumberEnd: 2617
    functionName: STR_KEYe
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR_KEYe(f, m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2622
      start: 2621
    functionDepth: 0
    functionLinenumber: 2621
    functionLinenumberEnd: 2622
    functionName: _STR_LEN
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _STR_LEN(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - f
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2623
      start: 2622
    functionDepth: 0
    functionLinenumber: 2622
    functionLinenumberEnd: 2623
    functionName: _STR_LENe
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _STR_LENe(f, m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2624
      start: 2623
    functionDepth: 0
    functionLinenumber: 2623
    functionLinenumberEnd: 2624
    functionName: STR_LEN
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR_LEN(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - f
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2625
      start: 2624
    functionDepth: 0
    functionLinenumber: 2624
    functionLinenumberEnd: 2625
    functionName: STR_LENe
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR_LENe(f, m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2626
      start: 2625
    functionDepth: 0
    functionLinenumber: 2625
    functionLinenumberEnd: 2626
    functionName: STR_LEN_KEY
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR_LEN_KEY(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - f
    - ','
    - min
    - ','
    - max
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2630
      start: 2629
    functionDepth: 0
    functionLinenumber: 2629
    functionLinenumberEnd: 2630
    functionName: _STR_RANGE
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _STR_RANGE(f, min, max)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - f
    - ','
    - min
    - ','
    - max
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2631
      start: 2630
    functionDepth: 0
    functionLinenumber: 2630
    functionLinenumberEnd: 2631
    functionName: STR_RANGE
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR_RANGE(f, min, max)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - f
    - ','
    - min
    - ','
    - max
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2632
      start: 2631
    functionDepth: 0
    functionLinenumber: 2631
    functionLinenumberEnd: 2632
    functionName: STR_RANGE_KEY
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR_RANGE_KEY(f, min, max)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2635
      start: 2634
    functionDepth: 0
    functionLinenumber: 2634
    functionLinenumberEnd: 2635
    functionName: _INT
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _INT(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - f
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2636
      start: 2635
    functionDepth: 0
    functionLinenumber: 2635
    functionLinenumberEnd: 2636
    functionName: _INTe
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _INTe(f, m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2639
      start: 2637
    functionDepth: 0
    functionLinenumber: 2637
    functionLinenumberEnd: 2639
    functionName: _INT
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _INT(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - f
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2641
      start: 2639
    functionDepth: 0
    functionLinenumber: 2639
    functionLinenumberEnd: 2641
    functionName: _INTe
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _INTe(f, m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2645
      start: 2644
    functionDepth: 0
    functionLinenumber: 2644
    functionLinenumberEnd: 2645
    functionName: INT
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INT(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - f
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2646
      start: 2645
    functionDepth: 0
    functionLinenumber: 2645
    functionLinenumberEnd: 2646
    functionName: INTe
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INTe(f, m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - f
    - ','
    - min
    - ','
    - max
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2651
      start: 2649
    functionDepth: 0
    functionLinenumber: 2649
    functionLinenumberEnd: 2651
    functionName: INT_RANGE
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INT_RANGE(f, min, max)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - f
    - ','
    - min
    - ','
    - max
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2655
      start: 2652
    functionDepth: 0
    functionLinenumber: 2652
    functionLinenumberEnd: 2655
    functionName: INT_RANGE
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INT_RANGE(f, min, max)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2659
      start: 2658
    functionDepth: 0
    functionLinenumber: 2658
    functionLinenumberEnd: 2659
    functionName: _BOOL
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _BOOL(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - f
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2660
      start: 2659
    functionDepth: 0
    functionLinenumber: 2659
    functionLinenumberEnd: 2660
    functionName: _BOOLe
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _BOOLe(f, m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2663
      start: 2661
    functionDepth: 0
    functionLinenumber: 2661
    functionLinenumberEnd: 2663
    functionName: _BOOL
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _BOOL(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - f
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2665
      start: 2663
    functionDepth: 0
    functionLinenumber: 2663
    functionLinenumberEnd: 2665
    functionName: _BOOLe
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _BOOLe(f, m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2669
      start: 2668
    functionDepth: 0
    functionLinenumber: 2668
    functionLinenumberEnd: 2669
    functionName: BOOL
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BOOL(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - f
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2670
      start: 2669
    functionDepth: 0
    functionLinenumber: 2669
    functionLinenumberEnd: 2670
    functionName: BOOLe
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BOOLe(f, m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2675
      start: 2674
    functionDepth: 0
    functionLinenumber: 2674
    functionLinenumberEnd: 2675
    functionName: _FUNC
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _FUNC(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2678
      start: 2676
    functionDepth: 0
    functionLinenumber: 2676
    functionLinenumberEnd: 2678
    functionName: _FUNC
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _FUNC(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2680
      start: 2679
    functionDepth: 0
    functionLinenumber: 2679
    functionLinenumberEnd: 2680
    functionName: FUNC
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FUNC(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2681
      start: 2680
    functionDepth: 0
    functionLinenumber: 2680
    functionLinenumberEnd: 2681
    functionName: FUNC_KEY
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FUNC_KEY(f)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_realloc_array
      Src: /src/hostap/wpa_supplicant/config.c:3021,1
    - Dst: os_memmove
      Src: /src/hostap/wpa_supplicant/config.c:3028,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - config
    - ssid
    argTypes:
    - struct wpa_config*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3040
      start: 3000
    functionDepth: 1
    functionLinenumber: 3000
    functionLinenumberEnd: 3040
    functionName: wpa_config_add_prio_network
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 2
    functionsReached:
    - os_memmove
    - os_realloc_array
    linkageType: ''
    returnType: int
    signature: "int wpa_config_add_prio_network(struct wpa_config *config,\n\t\t\t\tstruct
      wpa_ssid *ssid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3057,1
    - Dst: wpa_config_add_prio_network
      Src: /src/hostap/wpa_supplicant/config.c:3064,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - config
    argTypes:
    - struct wpa_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3070
      start: 3052
    functionDepth: 2
    functionLinenumber: 3052
    functionLinenumberEnd: 3070
    functionName: wpa_config_update_prio_list
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 4
    functionsReached:
    - os_free
    - wpa_config_add_prio_network
    linkageType: ''
    returnType: int
    signature: int wpa_config_update_prio_list(struct wpa_config *config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3077,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3078,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3079,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3080,1
    - Dst: str_clear_free
      Src: /src/hostap/wpa_supplicant/config.c:3081,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3082,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3083,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3084,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3085,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3086,1
    - Dst: str_clear_free
      Src: /src/hostap/wpa_supplicant/config.c:3087,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3088,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3089,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3090,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3091,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - cert
    argTypes:
    - struct eap_peer_cert_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3092
      start: 3075
    functionDepth: 1
    functionLinenumber: 3075
    functionLinenumberEnd: 3092
    functionName: eap_peer_config_free_cert
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - os_free
    - str_clear_free
    linkageType: ''
    returnType: void
    signature: void eap_peer_config_free_cert(struct eap_peer_cert_config *cert)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3097,1
    - Dst: bin_clear_free
      Src: /src/hostap/wpa_supplicant/config.c:3098,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3099,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3100,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3101,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3102,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3103,1
    - Dst: bin_clear_free
      Src: /src/hostap/wpa_supplicant/config.c:3104,1
    - Dst: bin_clear_free
      Src: /src/hostap/wpa_supplicant/config.c:3105,1
    - Dst: eap_peer_config_free_cert
      Src: /src/hostap/wpa_supplicant/config.c:3106,1
    - Dst: eap_peer_config_free_cert
      Src: /src/hostap/wpa_supplicant/config.c:3107,1
    - Dst: eap_peer_config_free_cert
      Src: /src/hostap/wpa_supplicant/config.c:3108,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3109,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3110,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3111,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3112,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3113,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3114,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3115,1
    - Dst: bin_clear_free
      Src: /src/hostap/wpa_supplicant/config.c:3116,1
    - Dst: str_clear_free
      Src: /src/hostap/wpa_supplicant/config.c:3117,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 1
    argNames:
    - eap
    argTypes:
    - struct eap_peer_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3119
      start: 3095
    functionDepth: 2
    functionLinenumber: 3095
    functionLinenumberEnd: 3119
    functionName: eap_peer_config_free
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - os_free
    - str_clear_free
    - eap_peer_config_free_cert
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: void eap_peer_config_free(struct eap_peer_config *eap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3135,1
    - Dst: str_clear_free
      Src: /src/hostap/wpa_supplicant/config.c:3136,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3137,1
    - Dst: str_clear_free
      Src: /src/hostap/wpa_supplicant/config.c:3138,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3139,1
    - Dst: wpabuf_array_free
      Src: /src/hostap/wpa_supplicant/config.c:3140,1
    - Dst: eap_peer_config_free
      Src: /src/hostap/wpa_supplicant/config.c:3142,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3144,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3145,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3146,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3147,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3148,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3149,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3150,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3151,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3153,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3156,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3159,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3161,1
    - Dst: bin_clear_free
      Src: /src/hostap/wpa_supplicant/config.c:3162,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3163,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3164,1
    - Dst: dl_list_first
      Src: /src/hostap/wpa_supplicant/config.c:3165,1
    - Dst: dl_list_del
      Src: /src/hostap/wpa_supplicant/config.c:3167,1
    - Dst: bin_clear_free
      Src: /src/hostap/wpa_supplicant/config.c:3168,1
    - Dst: sae_deinit_pt
      Src: /src/hostap/wpa_supplicant/config.c:3171,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3174,1
    - Dst: bin_clear_free
      Src: /src/hostap/wpa_supplicant/config.c:3176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 1
    argNames:
    - ssid
    argTypes:
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3177
      start: 3131
    functionDepth: 3
    functionLinenumber: 3131
    functionLinenumberEnd: 3177
    functionName: wpa_config_free_ssid
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 3
    functionsReached:
    - sae_deinit_pt
    - dl_list_del
    - eap_peer_config_free
    - dl_list_first
    - wpabuf_array_free
    - str_clear_free
    - os_free
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: void wpa_config_free_ssid(struct wpa_ssid *ssid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3184,1
    - Dst: str_clear_free
      Src: /src/hostap/wpa_supplicant/config.c:3185,1
    - Dst: str_clear_free
      Src: /src/hostap/wpa_supplicant/config.c:3186,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3187,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3188,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3189,1
    - Dst: str_clear_free
      Src: /src/hostap/wpa_supplicant/config.c:3190,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3191,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3192,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3193,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3194,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3195,1
    - Dst: str_clear_free
      Src: /src/hostap/wpa_supplicant/config.c:3196,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3198,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3199,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3200,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3201,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3202,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3203,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3204,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3205,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3206,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3208,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3209,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3210,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3211,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3212,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 1
    argNames:
    - cred
    argTypes:
    - struct wpa_cred*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3214
      start: 3180
    functionDepth: 1
    functionLinenumber: 3180
    functionLinenumberEnd: 3214
    functionName: wpa_config_free_cred
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 1
    functionsReached:
    - os_free
    - str_clear_free
    linkageType: ''
    returnType: void
    signature: void wpa_config_free_cred(struct wpa_cred *cred)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_free_blob
      Src: /src/hostap/wpa_supplicant/config.c:3227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - config
    argTypes:
    - struct wpa_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3230
      start: 3217
    functionDepth: 1
    functionLinenumber: 3217
    functionLinenumberEnd: 3230
    functionName: wpa_config_flush_blobs
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 1
    functionsReached:
    - wpa_config_free_blob
    linkageType: ''
    returnType: void
    signature: void wpa_config_flush_blobs(struct wpa_config *config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_free_ssid
      Src: /src/hostap/wpa_supplicant/config.c:3251,1
    - Dst: wpa_config_free_cred
      Src: /src/hostap/wpa_supplicant/config.c:3258,1
    - Dst: wpa_config_free_identity
      Src: /src/hostap/wpa_supplicant/config.c:3265,1
    - Dst: wpa_config_flush_blobs
      Src: /src/hostap/wpa_supplicant/config.c:3268,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/config.c:3270,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/config.c:3272,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3273,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3274,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3276,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3279,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3282,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3284,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3285,1
    - Dst: str_clear_free
      Src: /src/hostap/wpa_supplicant/config.c:3286,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3287,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3288,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3289,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3290,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3291,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3292,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3293,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3294,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3295,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3296,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3297,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3298,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3299,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3300,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/config.c:3301,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/config.c:3302,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/config.c:3303,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3304,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3305,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3307,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/config.c:3309,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/config.c:3310,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3311,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3312,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3313,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3314,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3316,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3318,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3319,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3320,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3321,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/config.c:3322,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/config.c:3323,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3325,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 65
    argCount: 1
    argNames:
    - config
    argTypes:
    - struct wpa_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3326
      start: 3240
    functionDepth: 4
    functionLinenumber: 3240
    functionLinenumberEnd: 3326
    functionName: wpa_config_free
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 8
    functionsReached:
    - wpa_config_free_identity
    - wpa_config_flush_blobs
    - wpabuf_free
    - str_clear_free
    - wpa_config_free_ssid
    - os_free
    - wpa_config_free_cred
    linkageType: ''
    returnType: void
    signature: void wpa_config_free(struct wpa_config *config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: func
      Src: /src/hostap/wpa_supplicant/config.c:3348,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - config
    - arg
    argTypes:
    - struct wpa_config*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3351
      start: 3339
    functionDepth: 0
    functionLinenumber: 3339
    functionLinenumberEnd: 3351
    functionName: wpa_config_foreach_network
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - func
    linkageType: ''
    returnType: void
    signature: "void wpa_config_foreach_network(struct wpa_config *config,\n\t\t\t\tvoid
      (*func)(void *, struct wpa_ssid *),\n\t\t\t\tvoid *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - config
    - id
    argTypes:
    - struct wpa_config*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3372
      start: 3360
    functionDepth: 0
    functionLinenumber: 3360
    functionLinenumberEnd: 3372
    functionName: wpa_config_get_network
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: struct wpa_ssid
    signature: struct wpa_ssid * wpa_config_get_network(struct wpa_config *config,
      int id)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: int_array_includes
      Src: /src/hostap/wpa_supplicant/config.c:3395,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - config
    - dik_id
    argTypes:
    - struct wpa_config*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3400
      start: 3383
    functionDepth: 1
    functionLinenumber: 3383
    functionLinenumberEnd: 3400
    functionName: wpa_config_get_network_with_dik_id
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - int_array_includes
    linkageType: ''
    returnType: struct wpa_ssid
    signature: "struct wpa_ssid * wpa_config_get_network_with_dik_id(struct wpa_config
      *config,\n\t\t\t\t\t\t     int dik_id)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/config.c:3424,1
    - Dst: dl_list_init
      Src: /src/hostap/wpa_supplicant/config.c:3428,1
    - Dst: wpa_config_update_prio_list
      Src: /src/hostap/wpa_supplicant/config.c:3434,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - config
    argTypes:
    - struct wpa_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3437
      start: 3409
    functionDepth: 3
    functionLinenumber: 3409
    functionLinenumberEnd: 3437
    functionName: wpa_config_add_network
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 5
    functionsReached:
    - wpa_config_update_prio_list
    - os_zalloc
    - dl_list_init
    linkageType: ''
    returnType: struct wpa_ssid
    signature: struct wpa_ssid * wpa_config_add_network(struct wpa_config *config)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_update_prio_list
      Src: /src/hostap/wpa_supplicant/config.c:3466,1
    - Dst: wpa_config_free_ssid
      Src: /src/hostap/wpa_supplicant/config.c:3467,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - config
    - id
    argTypes:
    - struct wpa_config*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3469
      start: 3446
    functionDepth: 4
    functionLinenumber: 3446
    functionLinenumberEnd: 3469
    functionName: wpa_config_remove_network
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 7
    functionsReached:
    - wpa_config_update_prio_list
    - wpa_config_free_ssid
    linkageType: ''
    returnType: int
    signature: int wpa_config_remove_network(struct wpa_config *config, int id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 53
    argCount: 1
    argNames:
    - ssid
    argTypes:
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3540
      start: 3476
    functionDepth: 0
    functionLinenumber: 3476
    functionLinenumberEnd: 3540
    functionName: wpa_config_set_network_defaults
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wpa_config_set_network_defaults(struct wpa_ssid *ssid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:3555,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - field
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3560
      start: 3550
    functionDepth: 0
    functionLinenumber: 3550
    functionLinenumberEnd: 3560
    functionName: removed_field
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - os_strcmp
    linkageType: ''
    returnType: bool
    signature: bool removed_field(const char *field)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:3588,1
    - Dst: struct parse_data*::parser
      Src: /src/hostap/wpa_supplicant/config.c:3591,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:3594,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:3600,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:3601,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:3602,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:3603,1
    - Dst: sae_deinit_pt
      Src: /src/hostap/wpa_supplicant/config.c:3604,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:3607,1
    - Dst: wpabuf_array_free
      Src: /src/hostap/wpa_supplicant/config.c:3609,1
    - Dst: removed_field
      Src: /src/hostap/wpa_supplicant/config.c:3616,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:3617,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:3623,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 35
    argCount: 4
    argNames:
    - ssid
    - var
    - value
    - line
    argTypes:
    - struct wpa_ssid*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3631
      start: 3577
    functionDepth: 1
    functionLinenumber: 3577
    functionLinenumberEnd: 3631
    functionName: wpa_config_set
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 10
    functionsReached:
    - struct parse_data*::parser
    - sae_deinit_pt
    - wpa_printf
    - removed_field
    - wpabuf_array_free
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: "int wpa_config_set(struct wpa_ssid *ssid, const char *var, const char
      *value,\n\t\t   int line)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/config.c:3641,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/config.c:3642,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/config.c:3646,1
    - Dst: wpa_config_set
      Src: /src/hostap/wpa_supplicant/config.c:3649,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3650,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - ssid
    - var
    - value
    argTypes:
    - struct wpa_ssid*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3652
      start: 3634
    functionDepth: 2
    functionLinenumber: 3634
    functionLinenumberEnd: 3652
    functionName: wpa_config_set_quoted
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 3
    functionsReached:
    - os_strlen
    - os_memcpy
    - os_malloc
    - os_free
    - wpa_config_set
    linkageType: ''
    returnType: int
    signature: "int wpa_config_set_quoted(struct wpa_ssid *ssid, const char *var,\n\t\t\t
      \ const char *value)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_calloc
      Src: /src/hostap/wpa_supplicant/config.c:3680,1
    - Dst: struct parse_data*::writer
      Src: /src/hostap/wpa_supplicant/config.c:3689,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/config.c:3692,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3693,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/config.c:3697,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3699,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3713,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3714,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3717
      start: 3667
    functionDepth: 1
    functionLinenumber: 3667
    functionLinenumberEnd: 3717
    functionName: wpa_config_get_all
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_calloc
    - struct parse_data*::writer
    - os_free
    - os_strdup
    linkageType: ''
    returnType: char
    signature: char ** wpa_config_get_all(struct wpa_ssid *ssid, int get_keys)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:3742,1
    - Dst: struct parse_data*::writer
      Src: /src/hostap/wpa_supplicant/config.c:3743,1
    - Dst: has_newline
      Src: /src/hostap/wpa_supplicant/config.c:3745,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:3746,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3749,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - ssid
    - var
    argTypes:
    - struct wpa_ssid*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3758
      start: 3733
    functionDepth: 1
    functionLinenumber: 3733
    functionLinenumberEnd: 3758
    functionName: wpa_config_get
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 28
    functionsReached:
    - wpa_printf
    - struct parse_data*::writer
    - os_free
    - os_strcmp
    - has_newline
    linkageType: ''
    returnType: char
    signature: char * wpa_config_get(struct wpa_ssid *ssid, const char *var)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:3786,1
    - Dst: struct parse_data*::writer
      Src: /src/hostap/wpa_supplicant/config.c:3787,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:3790,1
    - Dst: str_clear_free
      Src: /src/hostap/wpa_supplicant/config.c:3793,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/config.c:3794,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3797,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - ssid
    - var
    argTypes:
    - struct wpa_ssid*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3805
      start: 3777
    functionDepth: 1
    functionLinenumber: 3777
    functionLinenumberEnd: 3805
    functionName: wpa_config_get_no_key
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 1
    functionsReached:
    - os_strdup
    - wpa_printf
    - struct parse_data*::writer
    - str_clear_free
    - os_free
    - os_strcmp
    linkageType: ''
    returnType: char
    signature: char * wpa_config_get_no_key(struct wpa_ssid *ssid, const char *var)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pbkdf2_sha1
      Src: /src/hostap/wpa_supplicant/config.c:3819,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:3821,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/wpa_supplicant/config.c:3824,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ssid
    argTypes:
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3828
      start: 3816
    functionDepth: 0
    functionLinenumber: 3816
    functionLinenumberEnd: 3828
    functionName: wpa_config_update_psk
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 4
    functionsReached:
    - pbkdf2_sha1
    - wpa_printf
    - wpa_hexdump_key
    linkageType: ''
    returnType: void
    signature: void wpa_config_update_psk(struct wpa_ssid *ssid)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_realloc_array
      Src: /src/hostap/wpa_supplicant/config.c:3840,1
    - Dst: os_realloc_array
      Src: /src/hostap/wpa_supplicant/config.c:3846,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/config.c:3852,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/config.c:3854,1
    - Dst: os_realloc_array
      Src: /src/hostap/wpa_supplicant/config.c:3866,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3868,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/config.c:3872,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/config.c:3874,1
    - Dst: os_realloc_array
      Src: /src/hostap/wpa_supplicant/config.c:3880,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3882,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 2
    argNames:
    - cred
    - value
    argTypes:
    - struct wpa_cred*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3891
      start: 3831
    functionDepth: 1
    functionLinenumber: 3831
    functionLinenumberEnd: 3891
    functionName: wpa_config_set_cred_req_conn_capab
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - atoi
    - os_strchr
    - os_free
    - os_realloc_array
    linkageType: ''
    returnType: int
    signature: "int wpa_config_set_cred_req_conn_capab(struct wpa_cred *cred,\n\t\t\t\t\t
      \     const char *value)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/config.c:3906,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:3908,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/config.c:3914,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/config.c:3915,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/config.c:3918,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/config.c:3919,1
    - Dst: hexstr2bin
      Src: /src/hostap/wpa_supplicant/config.c:3924,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:3927,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:3939,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/config.c:3947,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/config.c:3948,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 4
    argNames:
    - cred_ois
    - cred_ois_len
    - cred_num_ois
    - value
    argTypes:
    - u8[][]
    - size_t[]
    - unsigned int*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3952
      start: 3894
    functionDepth: 1
    functionLinenumber: 3894
    functionLinenumberEnd: 3952
    functionName: wpa_config_set_cred_ois
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - os_memcpy
    - hexstr2bin
    - os_strchr
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpa_config_set_cred_ois(u8 cred_ois[MAX_ROAMING_CONS][MAX_ROAMING_CONS_OI_LEN],\n\t\t\tsize_t
      cred_ois_len[MAX_ROAMING_CONS],\n\t\t\tunsigned int *cred_num_ois,\n\t\t\tconst
      char *value)"
  - BBCount: 64
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:3962,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/config.c:3963,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:3967,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/config.c:3968,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:3972,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/config.c:3973,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:3980,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/config.c:3981,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:3985,1
    - Dst: eap_peer_get_type
      Src: /src/hostap/wpa_supplicant/config.c:3987,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:3990,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:3994,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/config.c:3995,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/config.c:3998,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4002,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/config.c:4003,1
    - Dst: has_newline
      Src: /src/hostap/wpa_supplicant/config.c:4004,1
    - Dst: str_clear_free
      Src: /src/hostap/wpa_supplicant/config.c:4006,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/config.c:4007,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4012,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/config.c:4013,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4017,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/config.c:4018,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4022,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/config.c:4023,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4027,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/config.c:4028,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4032,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/config.c:4033,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4037,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/config.c:4038,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4042,1
    - Dst: wpa_config_set_cred_req_conn_capab
      Src: /src/hostap/wpa_supplicant/config.c:4043,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4045,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/config.c:4046,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4050,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/config.c:4051,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4055,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/config.c:4056,1
    - Dst: wpa_config_parse_string
      Src: /src/hostap/wpa_supplicant/config.c:4060,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4062,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4063,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4064,1
    - Dst: has_newline
      Src: /src/hostap/wpa_supplicant/config.c:4065,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:4066,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:4068,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4072,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:4073,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4078,1
    - Dst: str_clear_free
      Src: /src/hostap/wpa_supplicant/config.c:4079,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4084,1
    - Dst: str_clear_free
      Src: /src/hostap/wpa_supplicant/config.c:4085,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4091,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:4092,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4097,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:4098,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4103,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:4104,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4109,1
    - Dst: str_clear_free
      Src: /src/hostap/wpa_supplicant/config.c:4110,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4115,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:4116,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4121,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:4122,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4127,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:4128,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4133,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:4134,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4139,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:4140,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4145,1
    - Dst: str_clear_free
      Src: /src/hostap/wpa_supplicant/config.c:4146,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4151,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:4152,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4157,1
    - Dst: os_realloc_array
      Src: /src/hostap/wpa_supplicant/config.c:4159,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:4163,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4171,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:4172,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4177,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:4178,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4183,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:4185,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:4188,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:4191,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/config.c:4194,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:4197,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4201,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:4203,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:4206,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:4209,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/config.c:4212,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:4215,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4219,1
    - Dst: wpa_config_set_cred_ois
      Src: /src/hostap/wpa_supplicant/config.c:4220,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:4225,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:4227,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4231,1
    - Dst: wpa_config_set_cred_ois
      Src: /src/hostap/wpa_supplicant/config.c:4232,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:4237,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:4239,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4243,1
    - Dst: wpa_config_set_cred_ois
      Src: /src/hostap/wpa_supplicant/config.c:4244,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:4249,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:4252,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4256,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:4260,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:4262,1
    - Dst: os_realloc_array
      Src: /src/hostap/wpa_supplicant/config.c:4266,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:4270,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/config.c:4276,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:4279,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4284,1
    - Dst: os_realloc_array
      Src: /src/hostap/wpa_supplicant/config.c:4288,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:4292,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/config.c:4299,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:4301,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:4306,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/config.c:4309,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/config.c:4311,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/config.c:4313,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:4315,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/config.c:4320,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/config.c:4322,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:4324,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/config.c:4329,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:4330,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/config.c:4333,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/config.c:4333,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:4336,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4341,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:4342,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4347,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:4348,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4353,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:4354,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:4360,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:4364,1
    CyclomaticComplexity: 72
    EdgeCount: 72
    ICount: 302
    argCount: 4
    argNames:
    - cred
    - var
    - value
    - line
    argTypes:
    - struct wpa_cred*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4367
      start: 3955
    functionDepth: 2
    functionLinenumber: 3955
    functionLinenumberEnd: 4367
    functionName: wpa_config_set_cred
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 2
    functionsReached:
    - os_strdup
    - os_strlen
    - wpa_printf
    - os_memcpy
    - wpa_config_set_cred_ois
    - wpa_config_set_cred_req_conn_capab
    - os_malloc
    - os_strncmp
    - str_clear_free
    - eap_peer_get_type
    - wpa_config_parse_string
    - atoi
    - os_strchr
    - os_free
    - os_strcmp
    - has_newline
    - os_realloc_array
    linkageType: ''
    returnType: int
    signature: "int wpa_config_set_cred(struct wpa_cred *cred, const char *var,\n\t\t\tconst
      char *value, int line)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/config.c:4376,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/config.c:4379,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/config.c:4380,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:4381,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - val
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4385
      start: 4370
    functionDepth: 1
    functionLinenumber: 4370
    functionLinenumberEnd: 4385
    functionName: alloc_int_str
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - os_free
    - os_malloc
    - os_snprintf_error
    linkageType: ''
    returnType: char
    signature: char * alloc_int_str(int val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/config.c:4392,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4393
      start: 4388
    functionDepth: 0
    functionLinenumber: 4388
    functionLinenumberEnd: 4393
    functionName: alloc_strdup
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - os_strdup
    linkageType: ''
    returnType: char
    signature: char * alloc_strdup(const char *str)
  - BBCount: 68
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4398,1
    - Dst: alloc_int_str
      Src: /src/hostap/wpa_supplicant/config.c:4399,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4401,1
    - Dst: alloc_int_str
      Src: /src/hostap/wpa_supplicant/config.c:4402,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4404,1
    - Dst: alloc_int_str
      Src: /src/hostap/wpa_supplicant/config.c:4405,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4407,1
    - Dst: alloc_int_str
      Src: /src/hostap/wpa_supplicant/config.c:4408,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4410,1
    - Dst: alloc_strdup
      Src: /src/hostap/wpa_supplicant/config.c:4413,1
    - Dst: eap_get_name
      Src: /src/hostap/wpa_supplicant/config.c:4413,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4417,1
    - Dst: alloc_int_str
      Src: /src/hostap/wpa_supplicant/config.c:4418,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4420,1
    - Dst: alloc_int_str
      Src: /src/hostap/wpa_supplicant/config.c:4421,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4423,1
    - Dst: alloc_int_str
      Src: /src/hostap/wpa_supplicant/config.c:4424,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4426,1
    - Dst: alloc_int_str
      Src: /src/hostap/wpa_supplicant/config.c:4427,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4429,1
    - Dst: alloc_int_str
      Src: /src/hostap/wpa_supplicant/config.c:4430,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4432,1
    - Dst: alloc_int_str
      Src: /src/hostap/wpa_supplicant/config.c:4433,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4435,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/config.c:4443,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/config.c:4451,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/config.c:4454,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/config.c:4462,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/config.c:4466,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4476,1
    - Dst: alloc_int_str
      Src: /src/hostap/wpa_supplicant/config.c:4477,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4479,1
    - Dst: alloc_strdup
      Src: /src/hostap/wpa_supplicant/config.c:4480,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4482,1
    - Dst: alloc_strdup
      Src: /src/hostap/wpa_supplicant/config.c:4483,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4485,1
    - Dst: alloc_strdup
      Src: /src/hostap/wpa_supplicant/config.c:4488,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4491,1
    - Dst: alloc_strdup
      Src: /src/hostap/wpa_supplicant/config.c:4492,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4494,1
    - Dst: alloc_strdup
      Src: /src/hostap/wpa_supplicant/config.c:4495,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4497,1
    - Dst: alloc_strdup
      Src: /src/hostap/wpa_supplicant/config.c:4498,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4500,1
    - Dst: alloc_strdup
      Src: /src/hostap/wpa_supplicant/config.c:4503,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4506,1
    - Dst: alloc_strdup
      Src: /src/hostap/wpa_supplicant/config.c:4507,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4509,1
    - Dst: alloc_strdup
      Src: /src/hostap/wpa_supplicant/config.c:4510,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4512,1
    - Dst: alloc_strdup
      Src: /src/hostap/wpa_supplicant/config.c:4513,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4515,1
    - Dst: alloc_strdup
      Src: /src/hostap/wpa_supplicant/config.c:4518,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4521,1
    - Dst: alloc_strdup
      Src: /src/hostap/wpa_supplicant/config.c:4522,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4524,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/config.c:4532,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/config.c:4539,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/config.c:4541,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4549,1
    - Dst: alloc_strdup
      Src: /src/hostap/wpa_supplicant/config.c:4550,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4552,1
    - Dst: alloc_strdup
      Src: /src/hostap/wpa_supplicant/config.c:4553,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4555,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/config.c:4562,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/wpa_supplicant/config.c:4565,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4570,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/config.c:4578,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/wpa_supplicant/config.c:4581,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4586,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/config.c:4594,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/wpa_supplicant/config.c:4601,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4610,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/config.c:4619,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/wpa_supplicant/config.c:4626,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4635,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/config.c:4644,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/wpa_supplicant/config.c:4651,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4660,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/config.c:4667,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/config.c:4678,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/wpa_supplicant/config.c:4680,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/config.c:4681,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4689,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/config.c:4696,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/config.c:4707,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/config.c:4711,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4719,1
    - Dst: alloc_strdup
      Src: /src/hostap/wpa_supplicant/config.c:4720,1
    CyclomaticComplexity: 77
    EdgeCount: 77
    ICount: 211
    argCount: 2
    argNames:
    - cred
    - var
    argTypes:
    - struct wpa_cred*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4723
      start: 4396
    functionDepth: 2
    functionLinenumber: 4396
    functionLinenumberEnd: 4723
    functionName: wpa_config_get_cred_no_key
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 1
    functionsReached:
    - wpa_snprintf_hex
    - wpa_ssid_txt
    - os_malloc
    - alloc_int_str
    - os_snprintf
    - os_strcmp
    - eap_get_name
    - alloc_strdup
    - os_snprintf_error
    linkageType: ''
    returnType: char
    signature: char * wpa_config_get_cred_no_key(struct wpa_cred *cred, const char
      *var)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - config
    - id
    argTypes:
    - struct wpa_config*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4738
      start: 4726
    functionDepth: 0
    functionLinenumber: 4726
    functionLinenumberEnd: 4738
    functionName: wpa_config_get_cred
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: struct wpa_cred
    signature: struct wpa_cred * wpa_config_get_cred(struct wpa_config *config, int
      id)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/config.c:4756,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - config
    argTypes:
    - struct wpa_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4767
      start: 4741
    functionDepth: 0
    functionLinenumber: 4741
    functionLinenumberEnd: 4767
    functionName: wpa_config_add_cred
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 1
    functionsReached:
    - os_zalloc
    linkageType: ''
    returnType: struct wpa_cred
    signature: struct wpa_cred * wpa_config_add_cred(struct wpa_config *config)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_free_cred
      Src: /src/hostap/wpa_supplicant/config.c:4790,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - config
    - id
    argTypes:
    - struct wpa_config*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4792
      start: 4770
    functionDepth: 2
    functionLinenumber: 4770
    functionLinenumberEnd: 4792
    functionName: wpa_config_remove_cred
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 1
    functionsReached:
    - wpa_config_free_cred
    linkageType: ''
    returnType: int
    signature: int wpa_config_remove_cred(struct wpa_config *config, int id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4808,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - config
    - name
    argTypes:
    - struct wpa_config*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4813
      start: 4802
    functionDepth: 0
    functionLinenumber: 4802
    functionLinenumberEnd: 4813
    functionName: wpa_config_get_blob
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 3
    functionsReached:
    - os_strcmp
    linkageType: ''
    returnType: struct wpa_config_blob
    signature: "struct wpa_config_blob * wpa_config_get_blob(struct wpa_config *config,\n\t\t\t\t\t\t
      \  const char *name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_remove_blob
      Src: /src/hostap/wpa_supplicant/config.c:4827,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - config
    - blob
    argTypes:
    - struct wpa_config*
    - struct wpa_config_blob*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4830
      start: 4824
    functionDepth: 1
    functionLinenumber: 4824
    functionLinenumberEnd: 4830
    functionName: wpa_config_set_blob
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 6
    functionsReached:
    - wpa_config_remove_blob
    linkageType: ''
    returnType: void
    signature: "void wpa_config_set_blob(struct wpa_config *config,\n\t\t\t struct
      wpa_config_blob *blob)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:4840,1
    - Dst: bin_clear_free
      Src: /src/hostap/wpa_supplicant/config.c:4841,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:4842,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - blob
    argTypes:
    - struct wpa_config_blob*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4844
      start: 4837
    functionDepth: 1
    functionLinenumber: 4837
    functionLinenumberEnd: 4844
    functionName: wpa_config_free_blob
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 4
    functionsReached:
    - os_free
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: void wpa_config_free_blob(struct wpa_config_blob *blob)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:4858,1
    - Dst: wpa_config_free_blob
      Src: /src/hostap/wpa_supplicant/config.c:4863,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - config
    - name
    argTypes:
    - struct wpa_config*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4871
      start: 4853
    functionDepth: 2
    functionLinenumber: 4853
    functionLinenumberEnd: 4871
    functionName: wpa_config_remove_blob
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 1
    functionsReached:
    - wpa_config_free_blob
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: int wpa_config_remove_blob(struct wpa_config *config, const char *name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ecw2cw
      Src: /src/hostap/wpa_supplicant/config.c:4898,1
    - Dst: ecw2cw
      Src: /src/hostap/wpa_supplicant/config.c:4898,1
    - Dst: ecw2cw
      Src: /src/hostap/wpa_supplicant/config.c:4900,1
    - Dst: ecw2cw
      Src: /src/hostap/wpa_supplicant/config.c:4900,1
    - Dst: ecw2cw
      Src: /src/hostap/wpa_supplicant/config.c:4902,1
    - Dst: ecw2cw
      Src: /src/hostap/wpa_supplicant/config.c:4902,1
    - Dst: ecw2cw
      Src: /src/hostap/wpa_supplicant/config.c:4904,1
    - Dst: ecw2cw
      Src: /src/hostap/wpa_supplicant/config.c:4905,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/config.c:4909,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/config.c:4958,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/config.c:4960,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 50
    argCount: 2
    argNames:
    - ctrl_interface
    - driver_param
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4968
      start: 4882
    functionDepth: 0
    functionLinenumber: 4882
    functionLinenumberEnd: 4968
    functionName: wpa_config_alloc_empty
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 5
    functionsReached:
    - ecw2cw
    - os_strdup
    - os_zalloc
    linkageType: ''
    returnType: struct wpa_config
    signature: "struct wpa_config * wpa_config_alloc_empty(const char *ctrl_interface,\n\t\t\t\t\t
      \  const char *driver_param)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ecw
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4886
      start: 4885
    functionDepth: 0
    functionLinenumber: 4885
    functionLinenumberEnd: 4886
    functionName: ecw2cw
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ecw2cw(ecw)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:4983,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:4986,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/wpa_supplicant/config.c:4988,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - config
    argTypes:
    - struct wpa_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4992
      start: 4976
    functionDepth: 1
    functionLinenumber: 4976
    functionLinenumberEnd: 4992
    functionName: wpa_config_debug_dump_networks
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 2
    functionsReached:
    - wpa_ssid_txt
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void wpa_config_debug_dump_networks(struct wpa_config *config)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/hostap/wpa_supplicant/config.c:5035,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:5037,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:5043,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:5050,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:5059,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 5
    argNames:
    - data
    - config
    - line
    - pos
    - check_range
    argTypes:
    - struct global_parse_data*
    - struct wpa_config*
    - int
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5062
      start: 5025
    functionDepth: 0
    functionLinenumber: 5025
    functionLinenumberEnd: 5062
    functionName: wpa_global_config_parse_int_impl
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - strtol
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int wpa_global_config_parse_int_impl(const struct global_parse_data
      *data,\n\t\t\t\t struct wpa_config *config, int line,\n\t\t\t\t const char *pos,
      bool check_range)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_global_config_parse_int_impl
      Src: /src/hostap/wpa_supplicant/config.c:5069,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - data
    - config
    - line
    - pos
    argTypes:
    - struct global_parse_data*
    - struct wpa_config*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5070
      start: 5065
    functionDepth: 1
    functionLinenumber: 5065
    functionLinenumberEnd: 5070
    functionName: wpa_global_config_parse_int
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - wpa_global_config_parse_int_impl
    linkageType: ''
    returnType: int
    signature: "int wpa_global_config_parse_int(const struct global_parse_data *data,\n\t\t\t\t
      \      struct wpa_config *config, int line,\n\t\t\t\t       const char *pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_global_config_parse_int_impl
      Src: /src/hostap/wpa_supplicant/config.c:5078,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - data
    - config
    - line
    - pos
    argTypes:
    - struct global_parse_data*
    - struct wpa_config*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5079
      start: 5073
    functionDepth: 1
    functionLinenumber: 5073
    functionLinenumberEnd: 5079
    functionName: wpa_global_config_parse_int_range
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - wpa_global_config_parse_int_impl
    linkageType: ''
    returnType: int
    signature: "int wpa_global_config_parse_int_range(const struct global_parse_data
      *data,\n\t\t\t\t  struct wpa_config *config, int line,\n\t\t\t\t  const char
      *pos)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/hostap/wpa_supplicant/config.c:5092,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:5094,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:5100,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:5107,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:5116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 4
    argNames:
    - data
    - config
    - line
    - pos
    argTypes:
    - struct global_parse_data*
    - struct wpa_config*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5119
      start: 5082
    functionDepth: 0
    functionLinenumber: 5082
    functionLinenumberEnd: 5119
    functionName: wpa_global_config_parse_bool
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - strtol
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int wpa_global_config_parse_bool(const struct global_parse_data *data,\n\t\t\t\t\tstruct
      wpa_config *config, int line,\n\t\t\t\t\tconst char *pos)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/config.c:5129,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:5131,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:5138,1
    - Dst: has_newline
      Src: /src/hostap/wpa_supplicant/config.c:5144,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:5145,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/config.c:5152,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/config.c:5157,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/config.c:5160,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:5164,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:5166,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 4
    argNames:
    - data
    - config
    - line
    - pos
    argTypes:
    - struct global_parse_data*
    - struct wpa_config*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5169
      start: 5122
    functionDepth: 1
    functionLinenumber: 5122
    functionLinenumberEnd: 5169
    functionName: wpa_global_config_parse_str
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - os_memcmp
    - os_free
    - os_strdup
    - has_newline
    linkageType: ''
    returnType: int
    signature: "int wpa_global_config_parse_str(const struct global_parse_data *data,\n\t\t\t\t
      \      struct wpa_config *config, int line,\n\t\t\t\t       const char *pos)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_parse_string
      Src: /src/hostap/wpa_supplicant/config.c:5180,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:5182,1
    - Dst: wpa_global_config_parse_str
      Src: /src/hostap/wpa_supplicant/config.c:5187,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:5188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - data
    - config
    - line
    - pos
    argTypes:
    - struct global_parse_data*
    - struct wpa_config*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5190
      start: 5172
    functionDepth: 2
    functionLinenumber: 5172
    functionLinenumberEnd: 5190
    functionName: wpa_config_process_bgscan
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - wpa_global_config_parse_str
    - os_free
    - wpa_printf
    - wpa_config_parse_string
    linkageType: ''
    returnType: int
    signature: "int wpa_config_process_bgscan(const struct global_parse_data *data,\n\t\t\t\t
      \    struct wpa_config *config, int line,\n\t\t\t\t     const char *pos)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_parse_bin
      Src: /src/hostap/wpa_supplicant/config.c:5199,1
    - Dst: wpabuf_cmp
      Src: /src/hostap/wpa_supplicant/config.c:5204,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/config.c:5205,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/config.c:5208,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:5210,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - data
    - config
    - line
    - pos
    argTypes:
    - struct global_parse_data*
    - struct wpa_config*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5213
      start: 5193
    functionDepth: 1
    functionLinenumber: 5193
    functionLinenumberEnd: 5213
    functionName: wpa_global_config_parse_bin
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - wpabuf_free
    - wpa_printf
    - wpabuf_parse_bin
    - wpabuf_cmp
    linkageType: ''
    returnType: int
    signature: "int wpa_global_config_parse_bin(const struct global_parse_data *data,\n\t\t\t\t
      \      struct wpa_config *config, int line,\n\t\t\t\t       const char *pos)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_parse_int_array
      Src: /src/hostap/wpa_supplicant/config.c:5222,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:5226,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:5229,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - data
    - config
    - line
    - value
    argTypes:
    - struct global_parse_data*
    - struct wpa_config*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5232
      start: 5216
    functionDepth: 2
    functionLinenumber: 5216
    functionLinenumberEnd: 5232
    functionName: wpa_config_process_freq_list
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpa_config_parse_int_array
    linkageType: ''
    returnType: int
    signature: "int wpa_config_process_freq_list(const struct global_parse_data *data,\n\t\t\t\t\tstruct
      wpa_config *config, int line,\n\t\t\t\t\tconst char *value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_parse_int_array
      Src: /src/hostap/wpa_supplicant/config.c:5242,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:5246,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:5249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - data
    - config
    - line
    - value
    argTypes:
    - struct global_parse_data*
    - struct wpa_config*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5252
      start: 5235
    functionDepth: 2
    functionLinenumber: 5235
    functionLinenumberEnd: 5252
    functionName: wpa_config_process_initial_freq_list
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpa_config_parse_int_array
    linkageType: ''
    returnType: int
    signature: "int wpa_config_process_initial_freq_list(const struct global_parse_data
      *data,\n\t\t\t\t     struct wpa_config *config, int line,\n\t\t\t\t     const
      char *value)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_parse_ip_addr
      Src: /src/hostap/wpa_supplicant/config.c:5263,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/config.c:5269,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/config.c:5271,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:5272,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/wpa_supplicant/config.c:5273,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - data
    - config
    - line
    - pos
    argTypes:
    - struct global_parse_data*
    - struct wpa_config*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5276
      start: 5256
    functionDepth: 1
    functionLinenumber: 5256
    functionLinenumberEnd: 5276
    functionName: wpa_global_config_parse_ipv4
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_printf
    - os_memcmp
    - hostapd_parse_ip_addr
    - WPA_GET_BE32
    linkageType: ''
    returnType: int
    signature: "int wpa_global_config_parse_ipv4(const struct global_parse_data *data,\n\t\t\t\t\tstruct
      wpa_config *config, int line,\n\t\t\t\t\tconst char *pos)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:5285,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:5292,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - data
    - config
    - line
    - pos
    argTypes:
    - struct global_parse_data*
    - struct wpa_config*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5295
      start: 5280
    functionDepth: 0
    functionLinenumber: 5280
    functionLinenumberEnd: 5295
    functionName: wpa_config_process_country
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int wpa_config_process_country(const struct global_parse_data *data,\n\t\t\t\t
      \     struct wpa_config *config, int line,\n\t\t\t\t      const char *pos)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:5304,1
    - Dst: eap_peer_method_load
      Src: /src/hostap/wpa_supplicant/config.c:5305,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:5307,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:5310,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - data
    - config
    - line
    - so
    argTypes:
    - struct global_parse_data*
    - struct wpa_config*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5316
      start: 5299
    functionDepth: 0
    functionLinenumber: 5299
    functionLinenumberEnd: 5316
    functionName: wpa_config_process_load_dynamic_eap
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_peer_method_load
    linkageType: ''
    returnType: int
    signature: "int wpa_config_process_load_dynamic_eap(\n\tconst struct global_parse_data
      *data, struct wpa_config *config,\n\tint line, const char *so)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uuid_str2bin
      Src: /src/hostap/wpa_supplicant/config.c:5327,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:5328,1
    - Dst: uuid_bin2str
      Src: /src/hostap/wpa_supplicant/config.c:5331,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:5332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - data
    - config
    - line
    - pos
    argTypes:
    - struct global_parse_data*
    - struct wpa_config*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5334
      start: 5322
    functionDepth: 1
    functionLinenumber: 5322
    functionLinenumberEnd: 5334
    functionName: wpa_config_process_uuid
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - uuid_bin2str
    - wpa_printf
    - uuid_str2bin
    linkageType: ''
    returnType: int
    signature: "int wpa_config_process_uuid(const struct global_parse_data *data,\n\t\t\t\t
      \  struct wpa_config *config, int line,\n\t\t\t\t   const char *pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wps_dev_type_str2bin
      Src: /src/hostap/wpa_supplicant/config.c:5341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - data
    - config
    - line
    - pos
    argTypes:
    - struct global_parse_data*
    - struct wpa_config*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5342
      start: 5337
    functionDepth: 1
    functionLinenumber: 5337
    functionLinenumberEnd: 5342
    functionName: wpa_config_process_device_type
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - wps_dev_type_str2bin
    linkageType: ''
    returnType: int
    signature: "int wpa_config_process_device_type(\n\tconst struct global_parse_data
      *data,\n\tstruct wpa_config *config, int line, const char *pos)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hexstr2bin
      Src: /src/hostap/wpa_supplicant/config.c:5349,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:5350,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:5353,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/wpa_supplicant/config.c:5354,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - data
    - config
    - line
    - pos
    argTypes:
    - struct global_parse_data*
    - struct wpa_config*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5356
      start: 5345
    functionDepth: 1
    functionLinenumber: 5345
    functionLinenumberEnd: 5356
    functionName: wpa_config_process_os_version
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - hexstr2bin
    - wpa_printf
    - WPA_GET_BE32
    linkageType: ''
    returnType: int
    signature: "int wpa_config_process_os_version(const struct global_parse_data *data,\n\t\t\t\t\t
      struct wpa_config *config, int line,\n\t\t\t\t\t const char *pos)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/config.c:5364,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:5368,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/config.c:5373,1
    - Dst: wpabuf_put
      Src: /src/hostap/wpa_supplicant/config.c:5375,1
    - Dst: hexstr2bin
      Src: /src/hostap/wpa_supplicant/config.c:5377,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:5378,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/config.c:5380,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/config.c:5384,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:5387,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 4
    argNames:
    - data
    - config
    - line
    - pos
    argTypes:
    - struct global_parse_data*
    - struct wpa_config*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5393
      start: 5359
    functionDepth: 1
    functionLinenumber: 5359
    functionLinenumberEnd: 5393
    functionName: wpa_config_process_wps_vendor_ext_m1
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - wpabuf_put
    - hexstr2bin
    - wpabuf_free
    - wpabuf_alloc
    linkageType: ''
    returnType: int
    signature: "int wpa_config_process_wps_vendor_ext_m1(\n\tconst struct global_parse_data
      *data,\n\tstruct wpa_config *config, int line, const char *pos)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:5405,1
    - Dst: wps_dev_type_str2bin
      Src: /src/hostap/wpa_supplicant/config.c:5412,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - data
    - config
    - line
    - pos
    argTypes:
    - struct global_parse_data*
    - struct wpa_config*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5417
      start: 5398
    functionDepth: 1
    functionLinenumber: 5398
    functionLinenumberEnd: 5417
    functionName: wpa_config_process_sec_device_type
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wps_dev_type_str2bin
    linkageType: ''
    returnType: int
    signature: "int wpa_config_process_sec_device_type(\n\tconst struct global_parse_data
      *data,\n\tstruct wpa_config *config, int line, const char *pos)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/config.c:5432,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/config.c:5433,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/config.c:5437,1
    - Dst: os_realloc_array
      Src: /src/hostap/wpa_supplicant/config.c:5439,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/config.c:5448,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:5454,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/config.c:5457,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:5464,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:5465,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 4
    argNames:
    - data
    - config
    - line
    - pos
    argTypes:
    - struct global_parse_data*
    - struct wpa_config*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5467
      start: 5420
    functionDepth: 1
    functionLinenumber: 5420
    functionLinenumberEnd: 5467
    functionName: wpa_config_process_p2p_pref_chan
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    - atoi
    - os_strchr
    - os_free
    - os_realloc_array
    linkageType: ''
    returnType: int
    signature: "int wpa_config_process_p2p_pref_chan(\n\tconst struct global_parse_data
      *data,\n\tstruct wpa_config *config, int line, const char *pos)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: freq_range_list_parse
      Src: /src/hostap/wpa_supplicant/config.c:5476,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:5478,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:5482,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - data
    - config
    - line
    - pos
    argTypes:
    - struct global_parse_data*
    - struct wpa_config*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5486
      start: 5470
    functionDepth: 1
    functionLinenumber: 5470
    functionLinenumberEnd: 5486
    functionName: wpa_config_process_p2p_no_go_freq
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - freq_range_list_parse
    linkageType: ''
    returnType: int
    signature: "int wpa_config_process_p2p_no_go_freq(\n\tconst struct global_parse_data
      *data,\n\tstruct wpa_config *config, int line, const char *pos)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hwaddr_aton2
      Src: /src/hostap/wpa_supplicant/config.c:5493,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:5494,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - data
    - config
    - line
    - pos
    argTypes:
    - struct global_parse_data*
    - struct wpa_config*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5501
      start: 5489
    functionDepth: 1
    functionLinenumber: 5489
    functionLinenumberEnd: 5501
    functionName: wpa_config_process_p2p_device_persistent_mac_addr
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hwaddr_aton2
    linkageType: ''
    returnType: int
    signature: "int wpa_config_process_p2p_device_persistent_mac_addr(\n\tconst struct
      global_parse_data *data,\n\tstruct wpa_config *config, int line, const char
      *pos)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hwaddr_aton2
      Src: /src/hostap/wpa_supplicant/config.c:5510,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:5511,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - data
    - config
    - line
    - pos
    argTypes:
    - struct global_parse_data*
    - struct wpa_config*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5517
      start: 5506
    functionDepth: 1
    functionLinenumber: 5506
    functionLinenumberEnd: 5517
    functionName: wpa_config_process_hessid
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hwaddr_aton2
    linkageType: ''
    returnType: int
    signature: "int wpa_config_process_hessid(\n\tconst struct global_parse_data *data,\n\tstruct
      wpa_config *config, int line, const char *pos)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_parse_int_array
      Src: /src/hostap/wpa_supplicant/config.c:5524,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:5526,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:5531,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - data
    - config
    - line
    - pos
    argTypes:
    - struct global_parse_data*
    - struct wpa_config*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5535
      start: 5520
    functionDepth: 2
    functionLinenumber: 5520
    functionLinenumberEnd: 5535
    functionName: wpa_config_process_sae_groups
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpa_printf
    - wpa_config_parse_int_array
    linkageType: ''
    returnType: int
    signature: "int wpa_config_process_sae_groups(\n\tconst struct global_parse_data
      *data,\n\tstruct wpa_config *config, int line, const char *pos)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:5548,1
    - Dst: wpa_config_parse_int_array
      Src: /src/hostap/wpa_supplicant/config.c:5554,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:5556,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:5561,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - data
    - config
    - line
    - pos
    argTypes:
    - struct global_parse_data*
    - struct wpa_config*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5565
      start: 5539
    functionDepth: 2
    functionLinenumber: 5539
    functionLinenumberEnd: 5565
    functionName: wpa_config_process_pasn_groups
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpa_printf
    - wpa_config_parse_int_array
    linkageType: ''
    returnType: int
    signature: "int wpa_config_process_pasn_groups(\n\tconst struct global_parse_data
      *data,\n\tstruct wpa_config *config, int line, const char *pos)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/config.c:5576,1
    - Dst: wpabuf_parse_bin
      Src: /src/hostap/wpa_supplicant/config.c:5581,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:5583,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/config.c:5587,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - data
    - config
    - line
    - pos
    argTypes:
    - struct global_parse_data*
    - struct wpa_config*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5591
      start: 5569
    functionDepth: 1
    functionLinenumber: 5569
    functionLinenumberEnd: 5591
    functionName: wpa_config_process_ap_vendor_elements
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - wpabuf_parse_bin
    - wpa_printf
    - wpabuf_free
    linkageType: ''
    returnType: int
    signature: "int wpa_config_process_ap_vendor_elements(\n\tconst struct global_parse_data
      *data,\n\tstruct wpa_config *config, int line, const char *pos)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/config.c:5601,1
    - Dst: wpabuf_parse_bin
      Src: /src/hostap/wpa_supplicant/config.c:5606,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:5608,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/config.c:5612,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - data
    - config
    - line
    - pos
    argTypes:
    - struct global_parse_data*
    - struct wpa_config*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5616
      start: 5594
    functionDepth: 1
    functionLinenumber: 5594
    functionLinenumberEnd: 5616
    functionName: wpa_config_process_ap_assocresp_elements
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - wpabuf_parse_bin
    - wpa_printf
    - wpabuf_free
    linkageType: ''
    returnType: int
    signature: "int wpa_config_process_ap_assocresp_elements(\n\tconst struct global_parse_data
      *data,\n\tstruct wpa_config *config, int line, const char *pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:5624,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:5625,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - data
    - config
    - line
    - pos
    argTypes:
    - struct global_parse_data*
    - struct wpa_config*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5628
      start: 5620
    functionDepth: 0
    functionLinenumber: 5620
    functionLinenumberEnd: 5628
    functionName: wpa_config_process_no_ctrl_interface
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int wpa_config_process_no_ctrl_interface(\n\tconst struct global_parse_data
      *data,\n\tstruct wpa_config *config, int line, const char *pos)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/config.c:5639,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/config.c:5640,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - name
    - config
    - offset
    - buf
    - buflen
    - pretty_print
    argTypes:
    - char*
    - struct wpa_config*
    - long
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5641
      start: 5632
    functionDepth: 0
    functionLinenumber: 5632
    functionLinenumberEnd: 5641
    functionName: wpa_config_get_int
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    linkageType: ''
    returnType: int
    signature: "int wpa_config_get_int(const char *name, struct wpa_config *config,\n\t\t\t
      \     long offset, char *buf, size_t buflen,\n\t\t\t      int pretty_print)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/config.c:5651,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/config.c:5652,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - name
    - config
    - offset
    - buf
    - buflen
    - pretty_print
    argTypes:
    - char*
    - struct wpa_config*
    - long
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5653
      start: 5644
    functionDepth: 0
    functionLinenumber: 5644
    functionLinenumberEnd: 5653
    functionName: wpa_config_get_bool
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    linkageType: ''
    returnType: int
    signature: "int wpa_config_get_bool(const char *name, struct wpa_config *config,\n\t\t\t
      \      long offset, char *buf, size_t buflen,\n\t\t\t       int pretty_print)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/config.c:5664,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/config.c:5669,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/config.c:5670,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 6
    argNames:
    - name
    - config
    - offset
    - buf
    - buflen
    - pretty_print
    argTypes:
    - char*
    - struct wpa_config*
    - long
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5674
      start: 5656
    functionDepth: 1
    functionLinenumber: 5656
    functionLinenumberEnd: 5674
    functionName: wpa_config_get_str
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int wpa_config_get_str(const char *name, struct wpa_config *config,\n\t\t\t
      \     long offset, char *buf, size_t buflen,\n\t\t\t      int pretty_print)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/config.c:5686,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/config.c:5689,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/config.c:5693,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/config.c:5695,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 6
    argNames:
    - name
    - config
    - offset
    - buf
    - buflen
    - pretty_print
    argTypes:
    - char*
    - struct wpa_config*
    - long
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5699
      start: 5677
    functionDepth: 1
    functionLinenumber: 5677
    functionLinenumberEnd: 5699
    functionName: wpa_config_get_bgscan
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int wpa_config_get_bgscan(const char *name, struct wpa_config *config,\n\t\t\t\t
      long offset, char *buf, size_t buflen,\n\t\t\t\t int pretty_print)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/config.c:5711,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/config.c:5712,1
    - Dst: wpa_config_print_int_array
      Src: /src/hostap/wpa_supplicant/config.c:5715,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/config.c:5721,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/config.c:5722,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/config.c:5726,1
    - Dst: wpa_config_print_int_array
      Src: /src/hostap/wpa_supplicant/config.c:5732,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/config.c:5734,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 6
    argNames:
    - name
    - config
    - offset
    - buf
    - buflen
    - pretty_print
    argTypes:
    - char*
    - struct wpa_config*
    - long
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5738
      start: 5702
    functionDepth: 2
    functionLinenumber: 5702
    functionLinenumberEnd: 5738
    functionName: wpa_config_get_freq_list
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - wpa_config_print_int_array
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int wpa_config_get_freq_list(const char *name, struct wpa_config *config,\n\t\t\t\t
      \   long offset, char *buf, size_t buflen,\n\t\t\t\t    int pretty_print)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: inet_ntop
      Src: /src/hostap/wpa_supplicant/config.c:5750,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/config.c:5754,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/config.c:5756,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/config.c:5758,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 6
    argNames:
    - name
    - config
    - offset
    - buf
    - buflen
    - pretty_print
    argTypes:
    - char*
    - struct wpa_config*
    - long
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5762
      start: 5742
    functionDepth: 1
    functionLinenumber: 5742
    functionLinenumberEnd: 5762
    functionName: wpa_config_get_ipv4
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - inet_ntop
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int wpa_config_get_ipv4(const char *name, struct wpa_config *config,\n\t\t\t
      \      long offset, char *buf, size_t buflen,\n\t\t\t       int pretty_print)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hwaddr_aton2
      Src: /src/hostap/wpa_supplicant/config.c:5771,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:5772,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - data
    - config
    - line
    - pos
    argTypes:
    - struct global_parse_data*
    - struct wpa_config*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5779
      start: 5767
    functionDepth: 1
    functionLinenumber: 5767
    functionLinenumberEnd: 5779
    functionName: wpa_config_process_mld_connect_bssid_pref
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hwaddr_aton2
    linkageType: ''
    returnType: int
    signature: "int wpa_config_process_mld_connect_bssid_pref(\n\tconst struct global_parse_data
      *data,\n\tstruct wpa_config *config, int line, const char *pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5788
      start: 5787
    functionDepth: 0
    functionLinenumber: 5787
    functionLinenumberEnd: 5788
    functionName: OFFSET
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OFFSET(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5790
      start: 5789
    functionDepth: 0
    functionLinenumber: 5789
    functionLinenumberEnd: 5790
    functionName: FUNC
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FUNC(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5792
      start: 5790
    functionDepth: 0
    functionLinenumber: 5790
    functionLinenumberEnd: 5792
    functionName: FUNC_WITH_GET
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FUNC_WITH_GET(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5793
      start: 5792
    functionDepth: 0
    functionLinenumber: 5792
    functionLinenumberEnd: 5793
    functionName: FUNC_NO_VAR
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FUNC_NO_VAR(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5794
      start: 5793
    functionDepth: 0
    functionLinenumber: 5793
    functionLinenumberEnd: 5794
    functionName: _INT
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _INT(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5795
      start: 5794
    functionDepth: 0
    functionLinenumber: 5794
    functionLinenumberEnd: 5795
    functionName: INT
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INT(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - f
    - ','
    - min
    - ','
    - max
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5797
      start: 5795
    functionDepth: 0
    functionLinenumber: 5795
    functionLinenumberEnd: 5797
    functionName: INT_RANGE
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INT_RANGE(f, min, max)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5799
      start: 5797
    functionDepth: 0
    functionLinenumber: 5797
    functionLinenumberEnd: 5799
    functionName: BOOL
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BOOL(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5800
      start: 5799
    functionDepth: 0
    functionLinenumber: 5799
    functionLinenumberEnd: 5800
    functionName: _STR
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _STR(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5801
      start: 5800
    functionDepth: 0
    functionLinenumber: 5800
    functionLinenumberEnd: 5801
    functionName: STR
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 200
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - f
    - ','
    - min
    - ','
    - max
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5802
      start: 5801
    functionDepth: 0
    functionLinenumber: 5801
    functionLinenumberEnd: 5802
    functionName: STR_RANGE
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR_RANGE(f, min, max)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5803
      start: 5802
    functionDepth: 0
    functionLinenumber: 5802
    functionLinenumberEnd: 5803
    functionName: BIN
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIN(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5805
      start: 5803
    functionDepth: 0
    functionLinenumber: 5803
    functionLinenumberEnd: 5805
    functionName: IPV4
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IPV4(f)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct global_parse_data*::get
      Src: /src/hostap/wpa_supplicant/config.c:6054,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - config
    - buf
    - buflen
    argTypes:
    - struct wpa_config*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6063
      start: 6042
    functionDepth: 0
    functionLinenumber: 6042
    functionLinenumberEnd: 6063
    functionName: wpa_config_dump_values
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached:
    - struct global_parse_data*::get
    linkageType: ''
    returnType: int
    signature: int wpa_config_dump_values(struct wpa_config *config, char *buf, size_t
      buflen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:6074,1
    - Dst: struct global_parse_data*::get
      Src: /src/hostap/wpa_supplicant/config.c:6078,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 4
    argNames:
    - name
    - config
    - buf
    - buflen
    argTypes:
    - char*
    - struct wpa_config*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6083
      start: 6066
    functionDepth: 0
    functionLinenumber: 6066
    functionLinenumberEnd: 6083
    functionName: wpa_config_get_value
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 1
    functionsReached:
    - struct global_parse_data*::get
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: "int wpa_config_get_value(const char *name, struct wpa_config *config,\n\t\t\t
      char *buf, size_t buflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6089
      start: 6086
    functionDepth: 0
    functionLinenumber: 6086
    functionLinenumberEnd: 6089
    functionName: wpa_config_get_num_global_field_names
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpa_config_get_num_global_field_names(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - i
    - no_var
    argTypes:
    - unsigned int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6100
      start: 6092
    functionDepth: 0
    functionLinenumber: 6092
    functionLinenumberEnd: 6100
    functionName: wpa_config_get_global_field_name
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * wpa_config_get_global_field_name(unsigned int i, int *no_var)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/config.c:6125,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/config.c:6126,1
    - Dst: struct global_parse_data*::parser
      Src: /src/hostap/wpa_supplicant/config.c:6130,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:6133,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/config.c:6147,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/config.c:6148,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:6152,1
    - Dst: hostapd_config_tx_queue
      Src: /src/hostap/wpa_supplicant/config.c:6158,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:6161,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/config.c:6169,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/config.c:6170,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:6175,1
    - Dst: hostapd_config_wmm_ac
      Src: /src/hostap/wpa_supplicant/config.c:6181,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:6184,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:6195,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 55
    argCount: 4
    argNames:
    - config
    - pos
    - line
    - show_details
    argTypes:
    - struct wpa_config*
    - char*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6202
      start: 6117
    functionDepth: 1
    functionLinenumber: 6117
    functionLinenumberEnd: 6202
    functionName: wpa_config_process_global
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 1
    functionsReached:
    - os_strlen
    - hostapd_config_tx_queue
    - wpa_printf
    - struct global_parse_data*::parser
    - os_strncmp
    - hostapd_config_wmm_ac
    - os_strchr
    linkageType: ''
    returnType: int
    signature: "int wpa_config_process_global(struct wpa_config *config, char *pos,
      int line,\n\t\t\t      bool show_details)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:6212,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/config.c:6213,1
    - Dst: wpa_config_parse_string
      Src: /src/hostap/wpa_supplicant/config.c:6217,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:6219,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:6225,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/config.c:6226,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/wpa_supplicant/config.c:6227,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:6230,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/config.c:6231,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/wpa_supplicant/config.c:6232,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/config.c:6235,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/config.c:6237,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/wpa_supplicant/config.c:6238,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:6242,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/config.c:6248,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:6253,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 4
    argNames:
    - identity
    - var
    - value
    - line
    argTypes:
    - struct wpa_dev_ik*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6255
      start: 6205
    functionDepth: 1
    functionLinenumber: 6205
    functionLinenumberEnd: 6255
    functionName: wpa_config_set_identity
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpabuf_free
    - wpabuf_alloc_copy
    - wpa_config_parse_string
    - atoi
    - os_free
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: "int wpa_config_set_identity(struct wpa_dev_ik *identity, const char
      *var,\n\t\t\t    const char *value, int line)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_clear_free
      Src: /src/hostap/wpa_supplicant/config.c:6260,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/wpa_supplicant/config.c:6261,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/config.c:6262,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/config.c:6263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - identity
    argTypes:
    - struct wpa_dev_ik*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6264
      start: 6258
    functionDepth: 1
    functionLinenumber: 6258
    functionLinenumberEnd: 6264
    functionName: wpa_config_free_identity
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 2
    functionsReached:
    - os_free
    - wpabuf_free
    - wpabuf_clear_free
    linkageType: ''
    returnType: void
    signature: void wpa_config_free_identity(struct wpa_dev_ik *identity)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/config.c:6287,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - config
    argTypes:
    - struct wpa_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6297
      start: 6272
    functionDepth: 0
    functionLinenumber: 6272
    functionLinenumberEnd: 6297
    functionName: wpa_config_add_identity
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 1
    functionsReached:
    - os_zalloc
    linkageType: ''
    returnType: struct wpa_dev_ik
    signature: struct wpa_dev_ik * wpa_config_add_identity(struct wpa_config *config)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_free_identity
      Src: /src/hostap/wpa_supplicant/config.c:6326,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - config
    - id
    argTypes:
    - struct wpa_config*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6328
      start: 6306
    functionDepth: 2
    functionLinenumber: 6306
    functionLinenumberEnd: 6328
    functionName: wpa_config_remove_identity
    functionSourceFile: /src/hostap/wpa_supplicant/config.c
    functionUses: 1
    functionsReached:
    - wpa_config_free_identity
    linkageType: ''
    returnType: int
    signature: int wpa_config_remove_identity(struct wpa_config *config, int id)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - mode
    - conf
    argTypes:
    - struct hostapd_hw_modes*
    - struct hostapd_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 66
    functionName: is_chanwidth160_supported
    functionSourceFile: /src/hostap/wpa_supplicant/ap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool is_chanwidth160_supported(struct hostapd_hw_modes *mode,\n\t\t\t\t
      \     struct hostapd_config *conf)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_set_oper_chwidth
      Src: /src/hostap/wpa_supplicant/ap.c:86,1
    - Dst: hostapd_get_oper_chwidth
      Src: /src/hostap/wpa_supplicant/ap.c:87,1
    - Dst: ieee80211_freq_to_channel_ext
      Src: /src/hostap/wpa_supplicant/ap.c:88,1
    - Dst: hostapd_get_oper_chwidth
      Src: /src/hostap/wpa_supplicant/ap.c:89,1
    - Dst: hostapd_get_oper_chwidth
      Src: /src/hostap/wpa_supplicant/ap.c:93,1
    - Dst: ieee80211_freq_to_chan
      Src: /src/hostap/wpa_supplicant/ap.c:94,1
    - Dst: hostapd_set_oper_centr_freq_seg1_idx
      Src: /src/hostap/wpa_supplicant/ap.c:96,1
    - Dst: ieee80211_freq_to_chan
      Src: /src/hostap/wpa_supplicant/ap.c:102,1
    - Dst: hostapd_set_oper_centr_freq_seg0_idx
      Src: /src/hostap/wpa_supplicant/ap.c:104,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ap.c:106,1
    - Dst: hostapd_get_oper_centr_freq_seg0_idx
      Src: /src/hostap/wpa_supplicant/ap.c:108,1
    - Dst: hostapd_get_oper_centr_freq_seg1_idx
      Src: /src/hostap/wpa_supplicant/ap.c:109,1
    - Dst: hostapd_get_oper_chwidth
      Src: /src/hostap/wpa_supplicant/ap.c:114,1
    - Dst: wpas_p2p_get_vht80_center
      Src: /src/hostap/wpa_supplicant/ap.c:117,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ap.c:119,1
    - Dst: wpas_p2p_get_vht160_center
      Src: /src/hostap/wpa_supplicant/ap.c:124,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ap.c:126,1
    - Dst: hostapd_set_oper_chwidth
      Src: /src/hostap/wpa_supplicant/ap.c:136,1
    - Dst: ieee80211_freq_to_channel_ext
      Src: /src/hostap/wpa_supplicant/ap.c:137,1
    - Dst: wpas_p2p_get_vht160_center
      Src: /src/hostap/wpa_supplicant/ap.c:141,1
    - Dst: is_chanwidth160_supported
      Src: /src/hostap/wpa_supplicant/ap.c:143,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ap.c:144,1
    - Dst: hostapd_set_oper_chwidth
      Src: /src/hostap/wpa_supplicant/ap.c:148,1
    - Dst: ieee80211_freq_to_channel_ext
      Src: /src/hostap/wpa_supplicant/ap.c:149,1
    - Dst: wpas_p2p_get_vht80_center
      Src: /src/hostap/wpa_supplicant/ap.c:153,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ap.c:156,1
    - Dst: hostapd_set_oper_centr_freq_seg0_idx
      Src: /src/hostap/wpa_supplicant/ap.c:165,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ap.c:166,1
    - Dst: hostapd_get_oper_centr_freq_seg0_idx
      Src: /src/hostap/wpa_supplicant/ap.c:167,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ap.c:172,1
    - Dst: hostapd_set_oper_centr_freq_seg0_idx
      Src: /src/hostap/wpa_supplicant/ap.c:175,1
    - Dst: hostapd_set_oper_chwidth
      Src: /src/hostap/wpa_supplicant/ap.c:177,1
    - Dst: ieee80211_freq_to_channel_ext
      Src: /src/hostap/wpa_supplicant/ap.c:178,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 57
    argCount: 4
    argNames:
    - wpa_s
    - ssid
    - conf
    - mode
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    - struct hostapd_config*
    - struct hostapd_hw_modes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 181
    functionName: wpas_conf_ap_vht
    functionSourceFile: /src/hostap/wpa_supplicant/ap.c
    functionUses: 0
    functionsReached:
    - hostapd_get_oper_centr_freq_seg1_idx
    - hostapd_set_oper_chwidth
    - wpa_printf
    - wpas_p2p_get_vht80_center
    - is_chanwidth160_supported
    - hostapd_get_oper_centr_freq_seg0_idx
    - ieee80211_freq_to_channel_ext
    - hostapd_set_oper_centr_freq_seg0_idx
    - hostapd_set_oper_centr_freq_seg1_idx
    - wpas_p2p_get_vht160_center
    - ieee80211_freq_to_chan
    - hostapd_get_oper_chwidth
    linkageType: ''
    returnType: void
    signature: "void wpas_conf_ap_vht(struct wpa_supplicant *wpa_s,\n\t\t\t     struct
      wpa_ssid *ssid,\n\t\t\t     struct hostapd_config *conf,\n\t\t\t     struct
      hostapd_hw_modes *mode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - wpa_s
    - hw_mode
    argTypes:
    - struct wpa_supplicant*
    - enum hostapd_hw_mode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 199
    functionName: wpa_supplicant_find_hw_mode
    functionSourceFile: /src/hostap/wpa_supplicant/ap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct hostapd_hw_modes
    signature: "struct hostapd_hw_modes *\nwpa_supplicant_find_hw_mode(struct wpa_supplicant
      *wpa_s,\n\t\t\t    enum hostapd_hw_mode hw_mode)"
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - chwidth
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 219
    functionName: get_max_oper_chwidth_6ghz
    functionSourceFile: /src/hostap/wpa_supplicant/ap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_max_oper_chwidth_6ghz(int chwidth)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpas_mode_to_ieee80211_mode
      Src: /src/hostap/wpa_supplicant/ap.c:231,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ap.c:238,1
    - Dst: wpas_mode_to_ieee80211_mode
      Src: /src/hostap/wpa_supplicant/ap.c:242,1
    - Dst: get_max_oper_chwidth_6ghz
      Src: /src/hostap/wpa_supplicant/ap.c:248,1
    - Dst: wpas_p2p_get_sec_channel_offset_40mhz
      Src: /src/hostap/wpa_supplicant/ap.c:250,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ap.c:252,1
    - Dst: get_max_oper_chwidth_6ghz
      Src: /src/hostap/wpa_supplicant/ap.c:260,1
    - Dst: wpas_conf_ap_vht
      Src: /src/hostap/wpa_supplicant/ap.c:261,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 4
    argNames:
    - wpa_s
    - mode
    - ssid
    - conf
    argTypes:
    - struct wpa_supplicant*
    - struct hostapd_hw_modes*
    - struct wpa_ssid*
    - struct hostapd_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 262
    functionName: wpas_conf_ap_he_6ghz
    functionSourceFile: /src/hostap/wpa_supplicant/ap.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpas_mode_to_ieee80211_mode
    - get_max_oper_chwidth_6ghz
    - wpas_p2p_get_sec_channel_offset_40mhz
    - wpas_conf_ap_vht
    linkageType: ''
    returnType: void
    signature: "void wpas_conf_ap_he_6ghz(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      struct hostapd_hw_modes *mode,\n\t\t\t\t struct wpa_ssid *ssid,\n\t\t\t\t struct
      hostapd_config *conf)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: ieee80211_freq_to_channel_ext
      Src: /src/hostap/wpa_supplicant/ap.c:271,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ap.c:276,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ap.c:291,1
    - Dst: get_mode
      Src: /src/hostap/wpa_supplicant/ap.c:295,1
    - Dst: is_6ghz_freq
      Src: /src/hostap/wpa_supplicant/ap.c:296,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ap.c:302,1
    - Dst: wpa_supplicant_find_hw_mode
      Src: /src/hostap/wpa_supplicant/ap.c:304,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ap.c:309,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ap.c:335,1
    - Dst: is_6ghz_freq
      Src: /src/hostap/wpa_supplicant/ap.c:342,1
    - Dst: wpas_mode_to_ieee80211_mode
      Src: /src/hostap/wpa_supplicant/ap.c:344,1
    - Dst: wpas_mode_to_ieee80211_mode
      Src: /src/hostap/wpa_supplicant/ap.c:349,1
    - Dst: wpas_conf_ap_he_6ghz
      Src: /src/hostap/wpa_supplicant/ap.c:355,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ap.c:358,1
    - Dst: wpas_p2p_get_sec_channel_offset_40mhz
      Src: /src/hostap/wpa_supplicant/ap.c:381,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ap.c:383,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ap.c:393,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ap.c:403,1
    - Dst: wpas_mode_to_ieee80211_mode
      Src: /src/hostap/wpa_supplicant/ap.c:428,1
    - Dst: wpas_mode_to_ieee80211_mode
      Src: /src/hostap/wpa_supplicant/ap.c:433,1
    - Dst: wpas_conf_ap_vht
      Src: /src/hostap/wpa_supplicant/ap.c:441,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 85
    argCount: 3
    argNames:
    - wpa_s
    - ssid
    - conf
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    - struct hostapd_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 267
    functionDepth: 3
    functionLinenumber: 267
    functionLinenumberEnd: 477
    functionName: wpa_supplicant_conf_ap_ht
    functionSourceFile: /src/hostap/wpa_supplicant/ap.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - get_mode
    - wpas_conf_ap_he_6ghz
    - is_6ghz_freq
    - wpas_mode_to_ieee80211_mode
    - wpas_p2p_get_sec_channel_offset_40mhz
    - wpas_conf_ap_vht
    - ieee80211_freq_to_channel_ext
    - wpa_supplicant_find_hw_mode
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_conf_ap_ht(struct wpa_supplicant *wpa_s,\n\t\t\t
      \     struct wpa_ssid *ssid,\n\t\t\t      struct hostapd_config *conf)"
  - BBCount: 62
    BranchProfiles: []
    Callsites:
    - Dst: os_strlcpy
      Src: /src/hostap/wpa_supplicant/ap.c:488,1
    - Dst: wpa_supplicant_conf_ap_ht
      Src: /src/hostap/wpa_supplicant/ap.c:490,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ap.c:494,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ap.c:504,1
    - Dst: ieee80211_is_dfs
      Src: /src/hostap/wpa_supplicant/ap.c:508,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/ap.c:522,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/ap.c:531,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/ap.c:552,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/ap.c:553,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/ap.c:555,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/ap.c:557,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ap.c:563,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/ap.c:566,1
    - Dst: wpa_key_mgmt_wpa_psk
      Src: /src/hostap/wpa_supplicant/ap.c:575,1
    - Dst: wpa_key_mgmt_sae
      Src: /src/hostap/wpa_supplicant/ap.c:595,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/ap.c:596,1
    - Dst: bin_clear_free
      Src: /src/hostap/wpa_supplicant/ap.c:598,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/ap.c:599,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/ap.c:602,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/ap.c:606,1
    - Dst: os_memdup
      Src: /src/hostap/wpa_supplicant/ap.c:615,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/ap.c:629,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/ap.c:632,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/ap.c:633,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ap.c:635,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/ap.c:639,1
    - Dst: str_clear_free
      Src: /src/hostap/wpa_supplicant/ap.c:641,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ap.c:642,1
    - Dst: wpas_get_ssid_sae_pwe
      Src: /src/hostap/wpa_supplicant/ap.c:651,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ap.c:655,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ap.c:662,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ap.c:689,1
    - Dst: wpa_select_ap_group_cipher
      Src: /src/hostap/wpa_supplicant/ap.c:702,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/ap.c:782,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/ap.c:783,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/ap.c:786,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/ap.c:787,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/ap.c:790,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/ap.c:792,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/ap.c:794,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/ap.c:796,1
    - Dst: is_nil_uuid
      Src: /src/hostap/wpa_supplicant/ap.c:797,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/ap.c:798,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/ap.c:800,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/ap.c:801,1
    - Dst: wpabuf_dup
      Src: /src/hostap/wpa_supplicant/ap.c:821,1
    - Dst: wpabuf_dup
      Src: /src/hostap/wpa_supplicant/ap.c:825,1
    CyclomaticComplexity: 85
    EdgeCount: 85
    ICount: 252
    argCount: 3
    argNames:
    - wpa_s
    - ssid
    - conf
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    - struct hostapd_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 480
    functionDepth: 4
    functionLinenumber: 480
    functionLinenumberEnd: 834
    functionName: wpa_supplicant_conf_ap
    functionSourceFile: /src/hostap/wpa_supplicant/ap.c
    functionUses: 0
    functionsReached:
    - os_strlcpy
    - is_nil_uuid
    - wpa_key_mgmt_wpa_psk
    - wpa_key_mgmt_sae
    - wpa_printf
    - os_memdup
    - str_clear_free
    - wpa_supplicant_conf_ap_ht
    - os_free
    - ieee80211_is_dfs
    - wpabuf_dup
    - os_malloc
    - os_strdup
    - os_memset
    - os_memcpy
    - os_zalloc
    - wpa_select_ap_group_cipher
    - wpas_get_ssid_sae_pwe
    - bin_clear_free
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_conf_ap(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \ struct wpa_ssid *ssid,\n\t\t\t\t  struct hostapd_config *conf)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpas_p2p_rx_action
      Src: /src/hostap/wpa_supplicant/ap.c:848,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - buf
    - len
    - freq
    argTypes:
    - void*
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 853
    functionName: ap_public_action_rx
    functionSourceFile: /src/hostap/wpa_supplicant/ap.c
    functionUses: 0
    functionsReached:
    - wpas_p2p_rx_action
    linkageType: ''
    returnType: void
    signature: void ap_public_action_rx(void *ctx, const u8 *buf, size_t len, int
      freq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/ap.c:872,1
    - Dst: wpas_p2p_wps_failed
      Src: /src/hostap/wpa_supplicant/ap.c:876,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - event
    - data
    argTypes:
    - void*
    - enum wps_event
    - union wps_event_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 879
    functionName: ap_wps_event_cb
    functionSourceFile: /src/hostap/wpa_supplicant/ap.c
    functionUses: 0
    functionsReached:
    - wpas_p2p_wps_failed
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: "void ap_wps_event_cb(void *ctx, enum wps_event event,\n\t\t\t    union
      wps_event_data *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_notify_sta_authorized
      Src: /src/hostap/wpa_supplicant/ap.c:886,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ctx
    - mac_addr
    - authorized
    - p2p_dev_addr
    - ip
    argTypes:
    - void*
    - u8*
    - int
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 882
    functionDepth: 1
    functionLinenumber: 882
    functionLinenumberEnd: 887
    functionName: ap_sta_authorized_cb
    functionSourceFile: /src/hostap/wpa_supplicant/ap.c
    functionUses: 0
    functionsReached:
    - wpas_notify_sta_authorized
    linkageType: ''
    returnType: void
    signature: "void ap_sta_authorized_cb(void *ctx, const u8 *mac_addr,\n\t\t\t\t
      int authorized, const u8 *p2p_dev_addr,\n\t\t\t\t const u8 *ip)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_p2p_new_psk_cb
      Src: /src/hostap/wpa_supplicant/ap.c:898,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 5
    argNames:
    - ctx
    - mac_addr
    - p2p_dev_addr
    - psk
    - psk_len
    argTypes:
    - void*
    - u8*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 891
    functionDepth: 1
    functionLinenumber: 891
    functionLinenumberEnd: 899
    functionName: ap_new_psk_cb
    functionSourceFile: /src/hostap/wpa_supplicant/ap.c
    functionUses: 0
    functionsReached:
    - wpas_p2p_new_psk_cb
    linkageType: ''
    returnType: void
    signature: "void ap_new_psk_cb(void *ctx, const u8 *mac_addr, const u8 *p2p_dev_addr,\n\t\t\t
      \ const u8 *psk, size_t psk_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_p2p_rx_action
      Src: /src/hostap/wpa_supplicant/ap.c:912,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - buf
    - len
    - freq
    argTypes:
    - void*
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 903
    functionDepth: 0
    functionLinenumber: 903
    functionLinenumberEnd: 918
    functionName: ap_vendor_action_rx
    functionSourceFile: /src/hostap/wpa_supplicant/ap.c
    functionUses: 0
    functionsReached:
    - wpas_p2p_rx_action
    linkageType: ''
    returnType: int
    signature: int ap_vendor_action_rx(void *ctx, const u8 *buf, size_t len, int freq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_p2p_probe_req_rx
      Src: /src/hostap/wpa_supplicant/ap.c:931,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 7
    argNames:
    - ctx
    - sa
    - da
    - bssid
    - ie
    - ie_len
    - ssi_signal
    argTypes:
    - void*
    - u8*
    - u8*
    - u8*
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 921
    functionDepth: 0
    functionLinenumber: 921
    functionLinenumberEnd: 933
    functionName: ap_probe_req_rx
    functionSourceFile: /src/hostap/wpa_supplicant/ap.c
    functionUses: 0
    functionsReached:
    - wpas_p2p_probe_req_rx
    linkageType: ''
    returnType: int
    signature: "int ap_probe_req_rx(void *ctx, const u8 *sa, const u8 *da,\n\t\t\t
      \  const u8 *bssid, const u8 *ie, size_t ie_len,\n\t\t\t   int ssi_signal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_p2p_wps_success
      Src: /src/hostap/wpa_supplicant/ap.c:940,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - mac_addr
    - uuid_e
    argTypes:
    - void*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 936
    functionDepth: 0
    functionLinenumber: 936
    functionLinenumberEnd: 941
    functionName: ap_wps_reg_success_cb
    functionSourceFile: /src/hostap/wpa_supplicant/ap.c
    functionUses: 0
    functionsReached:
    - wpas_p2p_wps_success
    linkageType: ''
    returnType: void
    signature: "void ap_wps_reg_success_cb(void *ctx, const u8 *mac_addr,\n\t\t\t\t
      \ const u8 *uuid_e)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ap.c:948,1
    - Dst: hostapd_state_text
      Src: /src/hostap/wpa_supplicant/ap.c:949,1
    - Dst: wpa_supplicant_ap_deinit
      Src: /src/hostap/wpa_supplicant/ap.c:951,1
    - Dst: wpa_supplicant_set_state
      Src: /src/hostap/wpa_supplicant/ap.c:968,1
    - Dst: struct wpa_supplicant*::ap_configured_cb
      Src: /src/hostap/wpa_supplicant/ap.c:971,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 944
    functionDepth: 9
    functionLinenumber: 944
    functionLinenumberEnd: 973
    functionName: wpas_ap_configured_cb
    functionSourceFile: /src/hostap/wpa_supplicant/ap.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - struct wpa_supplicant*::ap_configured_cb
    - wpa_supplicant_ap_deinit
    - hostapd_state_text
    - wpa_supplicant_set_state
    linkageType: ''
    returnType: void
    signature: void wpas_ap_configured_cb(void *ctx)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ap.c:985,1
    - Dst: wpa_supplicant_ap_deinit
      Src: /src/hostap/wpa_supplicant/ap.c:989,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ap.c:991,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/wpa_supplicant/ap.c:992,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/ap.c:994,1
    - Dst: ieee80211_freq_to_chan
      Src: /src/hostap/wpa_supplicant/ap.c:1014,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ap.c:1016,1
    - Dst: hostapd_encode_edmg_chan
      Src: /src/hostap/wpa_supplicant/ap.c:1021,1
    - Dst: wpa_pick_pairwise_cipher
      Src: /src/hostap/wpa_supplicant/ap.c:1034,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ap.c:1037,1
    - Dst: ieee80211_is_dfs
      Src: /src/hostap/wpa_supplicant/ap.c:1059,1
    - Dst: wpa_drv_get_ext_capa
      Src: /src/hostap/wpa_supplicant/ap.c:1064,1
    - Dst: wpa_drv_get_ext_capa
      Src: /src/hostap/wpa_supplicant/ap.c:1066,1
    - Dst: wpa_drv_associate
      Src: /src/hostap/wpa_supplicant/ap.c:1068,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/ap.c:1069,1
    - Dst: hostapd_alloc_iface
      Src: /src/hostap/wpa_supplicant/ap.c:1073,1
    - Dst: hostapd_config_defaults
      Src: /src/hostap/wpa_supplicant/ap.c:1086,1
    - Dst: wpa_supplicant_ap_deinit
      Src: /src/hostap/wpa_supplicant/ap.c:1088,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/ap.c:1092,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/ap.c:1096,1
    - Dst: wpa_supplicant_conf_ap
      Src: /src/hostap/wpa_supplicant/ap.c:1104,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ap.c:1105,1
    - Dst: wpa_supplicant_ap_deinit
      Src: /src/hostap/wpa_supplicant/ap.c:1106,1
    - Dst: os_calloc
      Src: /src/hostap/wpa_supplicant/ap.c:1119,1
    - Dst: wpa_supplicant_ap_deinit
      Src: /src/hostap/wpa_supplicant/ap.c:1122,1
    - Dst: hostapd_alloc_bss_data
      Src: /src/hostap/wpa_supplicant/ap.c:1128,1
    - Dst: wpa_supplicant_ap_deinit
      Src: /src/hostap/wpa_supplicant/ap.c:1131,1
    - Dst: hostapd_register_probereq_cb
      Src: /src/hostap/wpa_supplicant/ap.c:1141,1
    - Dst: wpas_p2p_group_init
      Src: /src/hostap/wpa_supplicant/ap.c:1153,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/ap.c:1177,1
    - Dst: eapol_sm_notify_config
      Src: /src/hostap/wpa_supplicant/ap.c:1182,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/ap.c:1183,1
    - Dst: hostapd_setup_interface
      Src: /src/hostap/wpa_supplicant/ap.c:1196,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ap.c:1197,1
    - Dst: wpa_supplicant_ap_deinit
      Src: /src/hostap/wpa_supplicant/ap.c:1198,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 149
    argCount: 2
    argNames:
    - wpa_s
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1203
      start: 976
    functionDepth: 5
    functionLinenumber: 976
    functionLinenumberEnd: 1203
    functionName: wpa_supplicant_create_ap
    functionSourceFile: /src/hostap/wpa_supplicant/ap.c
    functionUses: 1
    functionsReached:
    - eapol_sm_notify_config
    - wpa_drv_get_ext_capa
    - wpa_printf
    - wpa_pick_pairwise_cipher
    - hostapd_alloc_bss_data
    - wpas_p2p_group_init
    - wpa_supplicant_ap_deinit
    - wpa_ssid_txt
    - hostapd_register_probereq_cb
    - hostapd_encode_edmg_chan
    - wpa_supplicant_conf_ap
    - wpa_drv_associate
    - hostapd_alloc_iface
    - hostapd_setup_interface
    - ieee80211_freq_to_chan
    - hostapd_config_defaults
    - os_memset
    - os_memcpy
    - os_calloc
    - wpa_msg
    - ieee80211_is_dfs
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_create_ap(struct wpa_supplicant *wpa_s,\n\t\t\t
      \    struct wpa_ssid *ssid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/ap.c:1209,1
    - Dst: eapol_sm_notify_config
      Src: /src/hostap/wpa_supplicant/ap.c:1216,1
    - Dst: wpas_p2p_ap_deinit
      Src: /src/hostap/wpa_supplicant/ap.c:1218,1
    - Dst: hostapd_interface_deinit
      Src: /src/hostap/wpa_supplicant/ap.c:1222,1
    - Dst: hostapd_interface_free
      Src: /src/hostap/wpa_supplicant/ap.c:1223,1
    - Dst: wpa_drv_deinit_ap
      Src: /src/hostap/wpa_supplicant/ap.c:1225,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/ap.c:1226,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/ap.c:1228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1229
      start: 1206
    functionDepth: 1
    functionLinenumber: 1206
    functionLinenumberEnd: 1229
    functionName: wpa_supplicant_ap_deinit
    functionSourceFile: /src/hostap/wpa_supplicant/ap.c
    functionUses: 4
    functionsReached:
    - hostapd_interface_free
    - hostapd_interface_deinit
    - eapol_sm_notify_config
    - wpa_msg
    - eloop_cancel_timeout
    - wpa_drv_deinit_ap
    - MAC2STR
    - wpas_p2p_ap_deinit
    linkageType: ''
    returnType: void
    signature: void wpa_supplicant_ap_deinit(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_tx_status
      Src: /src/hostap/wpa_supplicant/ap.c:1237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ctx
    - addr
    - buf
    - len
    - ack
    argTypes:
    - void*
    - u8*
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1239
      start: 1232
    functionDepth: 1
    functionLinenumber: 1232
    functionLinenumberEnd: 1239
    functionName: ap_tx_status
    functionSourceFile: /src/hostap/wpa_supplicant/ap.c
    functionUses: 1
    functionsReached:
    - hostapd_tx_status
    linkageType: ''
    returnType: void
    signature: "void ap_tx_status(void *ctx, const u8 *addr,\n\t\t  const u8 *buf,
      size_t len, int ack)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_tx_status
      Src: /src/hostap/wpa_supplicant/ap.c:1249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - ctx
    - dst
    - data
    - len
    - ack
    argTypes:
    - void*
    - u8*
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1251
      start: 1242
    functionDepth: 1
    functionLinenumber: 1242
    functionLinenumberEnd: 1251
    functionName: ap_eapol_tx_status
    functionSourceFile: /src/hostap/wpa_supplicant/ap.c
    functionUses: 1
    functionsReached:
    - hostapd_tx_status
    linkageType: ''
    returnType: void
    signature: "void ap_eapol_tx_status(void *ctx, const u8 *dst,\n\t\t\tconst u8
      *data, size_t len, int ack)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_client_poll_ok
      Src: /src/hostap/wpa_supplicant/ap.c:1259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - addr
    argTypes:
    - void*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1261
      start: 1254
    functionDepth: 1
    functionLinenumber: 1254
    functionLinenumberEnd: 1261
    functionName: ap_client_poll_ok
    functionSourceFile: /src/hostap/wpa_supplicant/ap.c
    functionUses: 1
    functionsReached:
    - hostapd_client_poll_ok
    linkageType: ''
    returnType: void
    signature: void ap_client_poll_ok(void *ctx, const u8 *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_11_rx_from_unknown
      Src: /src/hostap/wpa_supplicant/ap.c:1268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - addr
    - wds
    argTypes:
    - void*
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1270
      start: 1264
    functionDepth: 1
    functionLinenumber: 1264
    functionLinenumberEnd: 1270
    functionName: ap_rx_from_unknown_sta
    functionSourceFile: /src/hostap/wpa_supplicant/ap.c
    functionUses: 1
    functionsReached:
    - ieee802_11_rx_from_unknown
    linkageType: ''
    returnType: void
    signature: void ap_rx_from_unknown_sta(void *ctx, const u8 *addr, int wds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/ap.c:1278,1
    - Dst: ieee802_11_mgmt
      Src: /src/hostap/wpa_supplicant/ap.c:1282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - rx_mgmt
    argTypes:
    - void*
    - struct rx_mgmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1285
      start: 1273
    functionDepth: 0
    functionLinenumber: 1273
    functionLinenumberEnd: 1285
    functionName: ap_mgmt_rx
    functionSourceFile: /src/hostap/wpa_supplicant/ap.c
    functionUses: 1
    functionsReached:
    - ieee802_11_mgmt
    - os_memset
    linkageType: ''
    returnType: void
    signature: void ap_mgmt_rx(void *ctx, struct rx_mgmt *rx_mgmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_11_mgmt_cb
      Src: /src/hostap/wpa_supplicant/ap.c:1292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ctx
    - buf
    - len
    - stype
    - ok
    argTypes:
    - void*
    - u8*
    - size_t
    - u16
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1288
    functionDepth: 1
    functionLinenumber: 1288
    functionLinenumberEnd: 1294
    functionName: ap_mgmt_tx_cb
    functionSourceFile: /src/hostap/wpa_supplicant/ap.c
    functionUses: 1
    functionsReached:
    - ieee802_11_mgmt_cb
    linkageType: ''
    returnType: void
    signature: void ap_mgmt_tx_cb(void *ctx, const u8 *buf, size_t len, u16 stype,
      int ok)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_1x_receive
      Src: /src/hostap/wpa_supplicant/ap.c:1301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - wpa_s
    - src_addr
    - buf
    - len
    - encrypted
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - size_t
    - enum frame_encryption
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1303
      start: 1297
    functionDepth: 1
    functionLinenumber: 1297
    functionLinenumberEnd: 1303
    functionName: wpa_supplicant_ap_rx_eapol
    functionSourceFile: /src/hostap/wpa_supplicant/ap.c
    functionUses: 1
    functionsReached:
    - ieee802_1x_receive
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_ap_rx_eapol(struct wpa_supplicant *wpa_s,\n\t\t\t\tconst
      u8 *src_addr, const u8 *buf, size_t len,\n\t\t\t\tenum frame_encryption encrypted)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_wps_button_pushed
      Src: /src/hostap/wpa_supplicant/ap.c:1313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - wpa_s
    - bssid
    - p2p_dev_addr
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1315
      start: 1308
    functionDepth: 0
    functionLinenumber: 1308
    functionLinenumberEnd: 1315
    functionName: wpa_supplicant_ap_wps_pbc
    functionSourceFile: /src/hostap/wpa_supplicant/ap.c
    functionUses: 1
    functionsReached:
    - hostapd_wps_button_pushed
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_ap_wps_pbc(struct wpa_supplicant *wpa_s, const
      u8 *bssid,\n\t\t\t      const u8 *p2p_dev_addr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wps_registrar_wps_cancel
      Src: /src/hostap/wpa_supplicant/ap.c:1327,1
    - Dst: ap_for_each_sta
      Src: /src/hostap/wpa_supplicant/ap.c:1328,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ap.c:1332,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1345
      start: 1318
    functionDepth: 1
    functionLinenumber: 1318
    functionLinenumberEnd: 1345
    functionName: wpa_supplicant_ap_wps_cancel
    functionSourceFile: /src/hostap/wpa_supplicant/ap.c
    functionUses: 0
    functionsReached:
    - wps_registrar_wps_cancel
    - wpa_printf
    - ap_for_each_sta
    linkageType: ''
    returnType: int
    signature: int wpa_supplicant_ap_wps_cancel(struct wpa_supplicant *wpa_s)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wps_generate_pin
      Src: /src/hostap/wpa_supplicant/ap.c:1360,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ap.c:1362,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ap.c:1363,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ap.c:1367,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ap.c:1368,1
    - Dst: hostapd_wps_add_pin
      Src: /src/hostap/wpa_supplicant/ap.c:1372,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 6
    argNames:
    - wpa_s
    - bssid
    - pin
    - buf
    - buflen
    - timeout
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - char*
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1377
      start: 1348
    functionDepth: 1
    functionLinenumber: 1348
    functionLinenumberEnd: 1377
    functionName: wpa_supplicant_ap_wps_pin
    functionSourceFile: /src/hostap/wpa_supplicant/ap.c
    functionUses: 1
    functionsReached:
    - os_snprintf
    - wps_generate_pin
    - hostapd_wps_add_pin
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_ap_wps_pin(struct wpa_supplicant *wpa_s, const
      u8 *bssid,\n\t\t\t      const char *pin, char *buf, size_t buflen,\n\t\t\t      int
      timeout)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ap.c:1383,1
    - Dst: wpas_wps_ap_pin_disable
      Src: /src/hostap/wpa_supplicant/ap.c:1384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - eloop_data
    - user_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1385
      start: 1380
    functionDepth: 1
    functionLinenumber: 1380
    functionLinenumberEnd: 1385
    functionName: wpas_wps_ap_pin_timeout
    functionSourceFile: /src/hostap/wpa_supplicant/ap.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpas_wps_ap_pin_disable
    linkageType: ''
    returnType: void
    signature: void wpas_wps_ap_pin_timeout(void *eloop_data, void *user_ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ap.c:1395,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/ap.c:1397,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/ap.c:1399,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - wpa_s
    - timeout
    argTypes:
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1401
      start: 1388
    functionDepth: 0
    functionLinenumber: 1388
    functionLinenumberEnd: 1401
    functionName: wpas_wps_ap_pin_enable
    functionSourceFile: /src/hostap/wpa_supplicant/ap.c
    functionUses: 0
    functionsReached:
    - eloop_cancel_timeout
    - wpa_printf
    - eloop_register_timeout
    linkageType: ''
    returnType: void
    signature: void wpas_wps_ap_pin_enable(struct wpa_supplicant *wpa_s, int timeout)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ap.c:1410,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ap.c:1412,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/ap.c:1414,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1415
      start: 1404
    functionDepth: 0
    functionLinenumber: 1404
    functionLinenumberEnd: 1415
    functionName: wpas_wps_ap_pin_disable
    functionSourceFile: /src/hostap/wpa_supplicant/ap.c
    functionUses: 2
    functionsReached:
    - os_free
    - wpa_printf
    - eloop_cancel_timeout
    linkageType: ''
    returnType: void
    signature: void wpas_wps_ap_pin_disable(struct wpa_supplicant *wpa_s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wps_generate_pin
      Src: /src/hostap/wpa_supplicant/ap.c:1427,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ap.c:1429,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ap.c:1430,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/ap.c:1431,1
    - Dst: wpas_wps_ap_pin_enable
      Src: /src/hostap/wpa_supplicant/ap.c:1434,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - wpa_s
    - timeout
    argTypes:
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1437
      start: 1418
    functionDepth: 1
    functionLinenumber: 1418
    functionLinenumberEnd: 1437
    functionName: wpas_wps_ap_pin_random
    functionSourceFile: /src/hostap/wpa_supplicant/ap.c
    functionUses: 1
    functionsReached:
    - wps_generate_pin
    - os_snprintf
    - wpas_wps_ap_pin_enable
    - os_free
    - os_strdup
    linkageType: ''
    returnType: char
    signature: char * wpas_wps_ap_pin_random(struct wpa_supplicant *wpa_s, int timeout)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1447
      start: 1440
    functionDepth: 0
    functionLinenumber: 1440
    functionLinenumberEnd: 1447
    functionName: wpas_wps_ap_pin_get
    functionSourceFile: /src/hostap/wpa_supplicant/ap.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * wpas_wps_ap_pin_get(struct wpa_supplicant *wpa_s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ap.c:1460,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ap.c:1461,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ap.c:1463,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/ap.c:1464,1
    - Dst: wpas_wps_ap_pin_enable
      Src: /src/hostap/wpa_supplicant/ap.c:1467,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - wpa_s
    - pin
    - timeout
    argTypes:
    - struct wpa_supplicant*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1470
      start: 1450
    functionDepth: 1
    functionLinenumber: 1450
    functionLinenumberEnd: 1470
    functionName: wpas_wps_ap_pin_set
    functionSourceFile: /src/hostap/wpa_supplicant/ap.c
    functionUses: 1
    functionsReached:
    - os_snprintf
    - wpas_wps_ap_pin_enable
    - os_free
    - os_strdup
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int wpas_wps_ap_pin_set(struct wpa_supplicant *wpa_s, const char *pin,\n\t\t\tint
      timeout)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ap.c:1486,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ap.c:1491,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ap.c:1493,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1495
      start: 1473
    functionDepth: 0
    functionLinenumber: 1473
    functionLinenumberEnd: 1495
    functionName: wpa_supplicant_ap_pwd_auth_fail
    functionSourceFile: /src/hostap/wpa_supplicant/ap.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void wpa_supplicant_ap_pwd_auth_fail(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_wps_nfc_config_token
      Src: /src/hostap/wpa_supplicant/ap.c:1508,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - wpa_s
    - ndef
    argTypes:
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1509
      start: 1500
    functionDepth: 1
    functionLinenumber: 1500
    functionLinenumberEnd: 1509
    functionName: wpas_ap_wps_nfc_config_token
    functionSourceFile: /src/hostap/wpa_supplicant/ap.c
    functionUses: 0
    functionsReached:
    - hostapd_wps_nfc_config_token
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * wpas_ap_wps_nfc_config_token(struct wpa_supplicant
      *wpa_s,\n\t\t\t\t\t     int ndef)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_wps_nfc_hs_cr
      Src: /src/hostap/wpa_supplicant/ap.c:1520,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - wpa_s
    - ndef
    argTypes:
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1521
      start: 1512
    functionDepth: 1
    functionLinenumber: 1512
    functionLinenumberEnd: 1521
    functionName: wpas_ap_wps_nfc_handover_sel
    functionSourceFile: /src/hostap/wpa_supplicant/ap.c
    functionUses: 0
    functionsReached:
    - hostapd_wps_nfc_hs_cr
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * wpas_ap_wps_nfc_handover_sel(struct wpa_supplicant
      *wpa_s,\n\t\t\t\t\t     int ndef)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_wps_nfc_report_handover
      Src: /src/hostap/wpa_supplicant/ap.c:1533,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - wpa_s
    - req
    - sel
    argTypes:
    - struct wpa_supplicant*
    - struct wpabuf*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1534
      start: 1524
    functionDepth: 1
    functionLinenumber: 1524
    functionLinenumberEnd: 1534
    functionName: wpas_ap_wps_nfc_report_handover
    functionSourceFile: /src/hostap/wpa_supplicant/ap.c
    functionUses: 1
    functionsReached:
    - hostapd_wps_nfc_report_handover
    linkageType: ''
    returnType: int
    signature: "int wpas_ap_wps_nfc_report_handover(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \   const struct wpabuf *req,\n\t\t\t\t    const struct wpabuf *sel)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_ctrl_iface_sta_first
      Src: /src/hostap/wpa_supplicant/ap.c:1554,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - wpa_s
    - buf
    - buflen
    argTypes:
    - struct wpa_supplicant*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1555
      start: 1543
    functionDepth: 1
    functionLinenumber: 1543
    functionLinenumberEnd: 1555
    functionName: ap_ctrl_iface_sta_first
    functionSourceFile: /src/hostap/wpa_supplicant/ap.c
    functionUses: 0
    functionsReached:
    - hostapd_ctrl_iface_sta_first
    linkageType: ''
    returnType: int
    signature: "int ap_ctrl_iface_sta_first(struct wpa_supplicant *wpa_s,\n\t\t\t
      \   char *buf, size_t buflen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_ctrl_iface_sta
      Src: /src/hostap/wpa_supplicant/ap.c:1569,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - wpa_s
    - txtaddr
    - buf
    - buflen
    argTypes:
    - struct wpa_supplicant*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1570
      start: 1558
    functionDepth: 1
    functionLinenumber: 1558
    functionLinenumberEnd: 1570
    functionName: ap_ctrl_iface_sta
    functionSourceFile: /src/hostap/wpa_supplicant/ap.c
    functionUses: 0
    functionsReached:
    - hostapd_ctrl_iface_sta
    linkageType: ''
    returnType: int
    signature: "int ap_ctrl_iface_sta(struct wpa_supplicant *wpa_s, const char *txtaddr,\n\t\t
      \     char *buf, size_t buflen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_ctrl_iface_sta_next
      Src: /src/hostap/wpa_supplicant/ap.c:1584,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - wpa_s
    - txtaddr
    - buf
    - buflen
    argTypes:
    - struct wpa_supplicant*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1585
      start: 1573
    functionDepth: 1
    functionLinenumber: 1573
    functionLinenumberEnd: 1585
    functionName: ap_ctrl_iface_sta_next
    functionSourceFile: /src/hostap/wpa_supplicant/ap.c
    functionUses: 0
    functionsReached:
    - hostapd_ctrl_iface_sta_next
    linkageType: ''
    returnType: int
    signature: "int ap_ctrl_iface_sta_next(struct wpa_supplicant *wpa_s, const char
      *txtaddr,\n\t\t\t   char *buf, size_t buflen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_ctrl_iface_disassociate
      Src: /src/hostap/wpa_supplicant/ap.c:1593,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - txtaddr
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1595
      start: 1588
    functionDepth: 1
    functionLinenumber: 1588
    functionLinenumberEnd: 1595
    functionName: ap_ctrl_iface_sta_disassociate
    functionSourceFile: /src/hostap/wpa_supplicant/ap.c
    functionUses: 0
    functionsReached:
    - hostapd_ctrl_iface_disassociate
    linkageType: ''
    returnType: int
    signature: "int ap_ctrl_iface_sta_disassociate(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \  const char *txtaddr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_ctrl_iface_deauthenticate
      Src: /src/hostap/wpa_supplicant/ap.c:1603,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - txtaddr
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1605
      start: 1598
    functionDepth: 1
    functionLinenumber: 1598
    functionLinenumberEnd: 1605
    functionName: ap_ctrl_iface_sta_deauthenticate
    functionSourceFile: /src/hostap/wpa_supplicant/ap.c
    functionUses: 0
    functionsReached:
    - hostapd_ctrl_iface_deauthenticate
    linkageType: ''
    returnType: int
    signature: "int ap_ctrl_iface_sta_deauthenticate(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \    const char *txtaddr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ap.c:1622,1
    - Dst: wpa_cipher_txt
      Src: /src/hostap/wpa_supplicant/ap.c:1626,1
    - Dst: wpa_cipher_txt
      Src: /src/hostap/wpa_supplicant/ap.c:1627,1
    - Dst: wpa_key_mgmt_txt
      Src: /src/hostap/wpa_supplicant/ap.c:1628,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ap.c:1630,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - wpa_s
    - buf
    - buflen
    - verbose
    argTypes:
    - struct wpa_supplicant*
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1634
      start: 1608
    functionDepth: 1
    functionLinenumber: 1608
    functionLinenumberEnd: 1634
    functionName: ap_ctrl_iface_wpa_get_status
    functionSourceFile: /src/hostap/wpa_supplicant/ap.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - wpa_cipher_txt
    - wpa_key_mgmt_txt
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int ap_ctrl_iface_wpa_get_status(struct wpa_supplicant *wpa_s, char
      *buf,\n\t\t\t\t size_t buflen, int verbose)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_ctrl_iface_disassoc_imminent
      Src: /src/hostap/wpa_supplicant/ap.c:1648,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - wpa_s
    - buf
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1649
      start: 1639
    functionDepth: 1
    functionLinenumber: 1639
    functionLinenumberEnd: 1649
    functionName: ap_ctrl_iface_disassoc_imminent
    functionSourceFile: /src/hostap/wpa_supplicant/ap.c
    functionUses: 0
    functionsReached:
    - hostapd_ctrl_iface_disassoc_imminent
    linkageType: ''
    returnType: int
    signature: "int ap_ctrl_iface_disassoc_imminent(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \   const char *buf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_ctrl_iface_ess_disassoc
      Src: /src/hostap/wpa_supplicant/ap.c:1660,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - wpa_s
    - buf
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1661
      start: 1652
    functionDepth: 1
    functionLinenumber: 1652
    functionLinenumberEnd: 1661
    functionName: ap_ctrl_iface_ess_disassoc
    functionSourceFile: /src/hostap/wpa_supplicant/ap.c
    functionUses: 0
    functionsReached:
    - hostapd_ctrl_iface_ess_disassoc
    linkageType: ''
    returnType: int
    signature: int ap_ctrl_iface_ess_disassoc(struct wpa_supplicant *wpa_s, const
      char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_ctrl_iface_bss_tm_req
      Src: /src/hostap/wpa_supplicant/ap.c:1672,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - wpa_s
    - buf
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1673
      start: 1664
    functionDepth: 1
    functionLinenumber: 1664
    functionLinenumberEnd: 1673
    functionName: ap_ctrl_iface_bss_tm_req
    functionSourceFile: /src/hostap/wpa_supplicant/ap.c
    functionUses: 0
    functionsReached:
    - hostapd_ctrl_iface_bss_tm_req
    linkageType: ''
    returnType: int
    signature: int ap_ctrl_iface_bss_tm_req(struct wpa_supplicant *wpa_s, const char
      *buf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_ctrl_iface_acl_add_mac
      Src: /src/hostap/wpa_supplicant/ap.c:1692,1
    - Dst: hostapd_ctrl_iface_acl_add_mac
      Src: /src/hostap/wpa_supplicant/ap.c:1696,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - wpa_s
    - acl_type
    - buf
    argTypes:
    - struct wpa_supplicant*
    - enum macaddr_acl
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1701
      start: 1678
    functionDepth: 1
    functionLinenumber: 1678
    functionLinenumberEnd: 1701
    functionName: ap_ctrl_iface_acl_add_mac
    functionSourceFile: /src/hostap/wpa_supplicant/ap.c
    functionUses: 0
    functionsReached:
    - hostapd_ctrl_iface_acl_add_mac
    linkageType: ''
    returnType: int
    signature: "int ap_ctrl_iface_acl_add_mac(struct wpa_supplicant *wpa_s,\n\t\t\t
      \     enum macaddr_acl acl_type,\n\t\t\t      const char *buf)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_ctrl_iface_acl_del_mac
      Src: /src/hostap/wpa_supplicant/ap.c:1718,1
    - Dst: hostapd_ctrl_iface_acl_del_mac
      Src: /src/hostap/wpa_supplicant/ap.c:1722,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - wpa_s
    - acl_type
    - buf
    argTypes:
    - struct wpa_supplicant*
    - enum macaddr_acl
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1727
      start: 1704
    functionDepth: 1
    functionLinenumber: 1704
    functionLinenumberEnd: 1727
    functionName: ap_ctrl_iface_acl_del_mac
    functionSourceFile: /src/hostap/wpa_supplicant/ap.c
    functionUses: 0
    functionsReached:
    - hostapd_ctrl_iface_acl_del_mac
    linkageType: ''
    returnType: int
    signature: "int ap_ctrl_iface_acl_del_mac(struct wpa_supplicant *wpa_s,\n\t\t\t
      \     enum macaddr_acl acl_type,\n\t\t\t      const char *buf)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_ctrl_iface_acl_show_mac
      Src: /src/hostap/wpa_supplicant/ap.c:1742,1
    - Dst: hostapd_ctrl_iface_acl_show_mac
      Src: /src/hostap/wpa_supplicant/ap.c:1746,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - wpa_s
    - acl_type
    - buf
    - buflen
    argTypes:
    - struct wpa_supplicant*
    - enum macaddr_acl
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1751
      start: 1730
    functionDepth: 1
    functionLinenumber: 1730
    functionLinenumberEnd: 1751
    functionName: ap_ctrl_iface_acl_show_mac
    functionSourceFile: /src/hostap/wpa_supplicant/ap.c
    functionUses: 0
    functionsReached:
    - hostapd_ctrl_iface_acl_show_mac
    linkageType: ''
    returnType: int
    signature: "int ap_ctrl_iface_acl_show_mac(struct wpa_supplicant *wpa_s,\n\t\t\t
      \      enum macaddr_acl acl_type, char *buf,\n\t\t\t       size_t buflen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_ctrl_iface_acl_clear_list
      Src: /src/hostap/wpa_supplicant/ap.c:1767,1
    - Dst: hostapd_ctrl_iface_acl_clear_list
      Src: /src/hostap/wpa_supplicant/ap.c:1770,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - wpa_s
    - acl_type
    argTypes:
    - struct wpa_supplicant*
    - enum macaddr_acl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1772
      start: 1754
    functionDepth: 1
    functionLinenumber: 1754
    functionLinenumberEnd: 1772
    functionName: ap_ctrl_iface_acl_clear_list
    functionSourceFile: /src/hostap/wpa_supplicant/ap.c
    functionUses: 0
    functionsReached:
    - hostapd_ctrl_iface_acl_clear_list
    linkageType: ''
    returnType: void
    signature: "void ap_ctrl_iface_acl_clear_list(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \ enum macaddr_acl acl_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_disassoc_deny_mac
      Src: /src/hostap/wpa_supplicant/ap.c:1784,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1785
      start: 1775
    functionDepth: 1
    functionLinenumber: 1775
    functionLinenumberEnd: 1785
    functionName: ap_ctrl_iface_disassoc_deny_mac
    functionSourceFile: /src/hostap/wpa_supplicant/ap.c
    functionUses: 0
    functionsReached:
    - hostapd_disassoc_deny_mac
    linkageType: ''
    returnType: int
    signature: int ap_ctrl_iface_disassoc_deny_mac(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_disassoc_accept_mac
      Src: /src/hostap/wpa_supplicant/ap.c:1797,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1798
      start: 1788
    functionDepth: 1
    functionLinenumber: 1788
    functionLinenumberEnd: 1798
    functionName: ap_ctrl_iface_disassoc_accept_mac
    functionSourceFile: /src/hostap/wpa_supplicant/ap.c
    functionUses: 0
    functionsReached:
    - hostapd_disassoc_accept_mac
    linkageType: ''
    returnType: int
    signature: int ap_ctrl_iface_disassoc_accept_mac(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_set_acl
      Src: /src/hostap/wpa_supplicant/ap.c:1810,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1811
      start: 1801
    functionDepth: 1
    functionLinenumber: 1801
    functionLinenumberEnd: 1811
    functionName: ap_ctrl_iface_set_acl
    functionSourceFile: /src/hostap/wpa_supplicant/ap.c
    functionUses: 0
    functionsReached:
    - hostapd_set_acl
    linkageType: ''
    returnType: int
    signature: int ap_ctrl_iface_set_acl(struct wpa_supplicant *wpa_s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_11_set_beacons
      Src: /src/hostap/wpa_supplicant/ap.c:1838,1
    - Dst: hostapd_set_ap_wps_ie
      Src: /src/hostap/wpa_supplicant/ap.c:1839,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1842
      start: 1816
    functionDepth: 1
    functionLinenumber: 1816
    functionLinenumberEnd: 1842
    functionName: wpa_supplicant_ap_update_beacon
    functionSourceFile: /src/hostap/wpa_supplicant/ap.c
    functionUses: 0
    functionsReached:
    - ieee802_11_set_beacons
    - hostapd_set_ap_wps_ie
    linkageType: ''
    returnType: int
    signature: int wpa_supplicant_ap_update_beacon(struct wpa_supplicant *wpa_s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_chan_switch_config
      Src: /src/hostap/wpa_supplicant/ap.c:1859,1
    - Dst: hostapd_switch_channel
      Src: /src/hostap/wpa_supplicant/ap.c:1861,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - wpa_s
    - settings
    argTypes:
    - struct wpa_supplicant*
    - struct csa_settings*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1865
      start: 1845
    functionDepth: 1
    functionLinenumber: 1845
    functionLinenumberEnd: 1865
    functionName: ap_switch_channel
    functionSourceFile: /src/hostap/wpa_supplicant/ap.c
    functionUses: 0
    functionsReached:
    - hostapd_switch_channel
    - hostapd_chan_switch_config
    linkageType: ''
    returnType: int
    signature: "int ap_switch_channel(struct wpa_supplicant *wpa_s,\n\t\t      struct
      csa_settings *settings)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_parse_csa_settings
      Src: /src/hostap/wpa_supplicant/ap.c:1887,1
    - Dst: ap_switch_channel
      Src: /src/hostap/wpa_supplicant/ap.c:1893,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - wpa_s
    - pos
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1894
      start: 1869
    functionDepth: 2
    functionLinenumber: 1869
    functionLinenumberEnd: 1894
    functionName: ap_ctrl_iface_chanswitch
    functionSourceFile: /src/hostap/wpa_supplicant/ap.c
    functionUses: 0
    functionsReached:
    - ap_switch_channel
    - hostapd_parse_csa_settings
    linkageType: ''
    returnType: int
    signature: int ap_ctrl_iface_chanswitch(struct wpa_supplicant *wpa_s, const char
      *pos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_event_ch_switch
      Src: /src/hostap/wpa_supplicant/ap.c:1911,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 9
    argNames:
    - wpa_s
    - freq
    - ht
    - offset
    - width
    - cf1
    - cf2
    - punct_bitmap
    - finished
    argTypes:
    - struct wpa_supplicant*
    - int
    - int
    - int
    - int
    - int
    - int
    - u16
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1914
      start: 1898
    functionDepth: 1
    functionLinenumber: 1898
    functionLinenumberEnd: 1914
    functionName: wpas_ap_ch_switch
    functionSourceFile: /src/hostap/wpa_supplicant/ap.c
    functionUses: 1
    functionsReached:
    - hostapd_event_ch_switch
    linkageType: ''
    returnType: void
    signature: "void wpas_ap_ch_switch(struct wpa_supplicant *wpa_s, int freq, int
      ht,\n\t\t       int offset, int width, int cf1, int cf2,\n\t\t       u16 punct_bitmap,
      int finished)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ap.c:1927,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/ap.c:1928,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ap.c:1930,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ap.c:1935,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ap.c:1938,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/ap.c:1948,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/ap.c:1951,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - wpa_s
    - addr
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1955
      start: 1917
    functionDepth: 1
    functionLinenumber: 1917
    functionLinenumberEnd: 1955
    functionName: wpa_supplicant_ap_mac_addr_filter
    functionSourceFile: /src/hostap/wpa_supplicant/ap.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - MAC2STR
    - os_zalloc
    - os_free
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_ap_mac_addr_filter(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \     const u8 *addr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ap.c:1972,1
    - Dst: dh5_free
      Src: /src/hostap/wpa_supplicant/ap.c:1976,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ap.c:1977,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ap.c:1978,1
    - Dst: wpabuf_dup
      Src: /src/hostap/wpa_supplicant/ap.c:1979,1
    - Dst: wpabuf_dup
      Src: /src/hostap/wpa_supplicant/ap.c:1981,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ap.c:1985,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ap.c:1987,1
    - Dst: dh5_init_fixed
      Src: /src/hostap/wpa_supplicant/ap.c:1991,1
    - Dst: wps_registrar_add_nfc_pw_token
      Src: /src/hostap/wpa_supplicant/ap.c:1995,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/ap.c:1997,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/ap.c:1998,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 4
    argNames:
    - wpa_s
    - pw_id
    - pw
    - pubkey_hash
    argTypes:
    - struct wpa_supplicant*
    - u16
    - struct wpabuf*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1999
      start: 1959
    functionDepth: 1
    functionLinenumber: 1959
    functionLinenumberEnd: 1999
    functionName: wpas_ap_wps_add_nfc_pw
    functionSourceFile: /src/hostap/wpa_supplicant/ap.c
    functionUses: 0
    functionsReached:
    - wpabuf_dup
    - wpa_printf
    - dh5_free
    - wpabuf_len
    - wpabuf_free
    - dh5_init_fixed
    - wpabuf_head
    - wps_registrar_add_nfc_pw_token
    linkageType: ''
    returnType: int
    signature: "int wpas_ap_wps_add_nfc_pw(struct wpa_supplicant *wpa_s, u16 pw_id,\n\t\t\t
      \  const struct wpabuf *pw, const u8 *pubkey_hash)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_ctrl_iface_stop_ap
      Src: /src/hostap/wpa_supplicant/ap.c:2011,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2012
      start: 2004
    functionDepth: 1
    functionLinenumber: 2004
    functionLinenumberEnd: 2012
    functionName: wpas_ap_stop_ap
    functionSourceFile: /src/hostap/wpa_supplicant/ap.c
    functionUses: 0
    functionsReached:
    - hostapd_ctrl_iface_stop_ap
    linkageType: ''
    returnType: int
    signature: int wpas_ap_stop_ap(struct wpa_supplicant *wpa_s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ap.c:2024,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/ap.c:2027,1
    - Dst: hostapd_ctrl_iface_pmksa_list
      Src: /src/hostap/wpa_supplicant/ap.c:2031,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ap.c:2038,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/ap.c:2041,1
    - Dst: hostapd_ctrl_iface_pmksa_list
      Src: /src/hostap/wpa_supplicant/ap.c:2044,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - wpa_s
    - buf
    - len
    argTypes:
    - struct wpa_supplicant*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2050
      start: 2015
    functionDepth: 1
    functionLinenumber: 2015
    functionLinenumberEnd: 2050
    functionName: wpas_ap_pmksa_cache_list
    functionSourceFile: /src/hostap/wpa_supplicant/ap.c
    functionUses: 1
    functionsReached:
    - os_strlen
    - os_memcpy
    - hostapd_ctrl_iface_pmksa_list
    linkageType: ''
    returnType: int
    signature: "int wpas_ap_pmksa_cache_list(struct wpa_supplicant *wpa_s, char *buf,\n\t\t\t
      \    size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_ctrl_iface_pmksa_flush
      Src: /src/hostap/wpa_supplicant/ap.c:2059,1
    - Dst: hostapd_ctrl_iface_pmksa_flush
      Src: /src/hostap/wpa_supplicant/ap.c:2063,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2064
      start: 2053
    functionDepth: 1
    functionLinenumber: 2053
    functionLinenumberEnd: 2064
    functionName: wpas_ap_pmksa_cache_flush
    functionSourceFile: /src/hostap/wpa_supplicant/ap.c
    functionUses: 1
    functionsReached:
    - hostapd_ctrl_iface_pmksa_flush
    linkageType: ''
    returnType: void
    signature: void wpas_ap_pmksa_cache_flush(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_ctrl_iface_pmksa_list_mesh
      Src: /src/hostap/wpa_supplicant/ap.c:2073,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - wpa_s
    - addr
    - buf
    - len
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2075
      start: 2070
    functionDepth: 1
    functionLinenumber: 2070
    functionLinenumberEnd: 2075
    functionName: wpas_ap_pmksa_cache_list_mesh
    functionSourceFile: /src/hostap/wpa_supplicant/ap.c
    functionUses: 1
    functionsReached:
    - hostapd_ctrl_iface_pmksa_list_mesh
    linkageType: ''
    returnType: int
    signature: "int wpas_ap_pmksa_cache_list_mesh(struct wpa_supplicant *wpa_s, const
      u8 *addr,\n\t\t\t\t  char *buf, size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_ctrl_iface_pmksa_create_entry
      Src: /src/hostap/wpa_supplicant/ap.c:2083,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/ap.c:2088,1
    - Dst: dl_list_add
      Src: /src/hostap/wpa_supplicant/ap.c:2094,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2097
      start: 2078
    functionDepth: 1
    functionLinenumber: 2078
    functionLinenumberEnd: 2097
    functionName: wpas_ap_pmksa_cache_add_external
    functionSourceFile: /src/hostap/wpa_supplicant/ap.c
    functionUses: 1
    functionsReached:
    - hostapd_ctrl_iface_pmksa_create_entry
    - dl_list_add
    - os_zalloc
    linkageType: ''
    returnType: int
    signature: int wpas_ap_pmksa_cache_add_external(struct wpa_supplicant *wpa_s,
      char *cmd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ap.c:2111,1
    - Dst: wpabuf_dup
      Src: /src/hostap/wpa_supplicant/ap.c:2115,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/ap.c:2118,1
    - Dst: wpabuf_dup
      Src: /src/hostap/wpa_supplicant/ap.c:2122,1
    - Dst: ieee802_11_set_beacon
      Src: /src/hostap/wpa_supplicant/ap.c:2125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2126
      start: 2103
    functionDepth: 1
    functionLinenumber: 2103
    functionLinenumberEnd: 2126
    functionName: wpas_ap_update_beacon
    functionSourceFile: /src/hostap/wpa_supplicant/ap.c
    functionUses: 0
    functionsReached:
    - wpabuf_dup
    - ieee802_11_set_beacon
    - wpabuf_free
    linkageType: ''
    returnType: int
    signature: int wpas_ap_update_beacon(struct wpa_supplicant *wpa_s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ap.c:2141,1
    - Dst: hostapd_dfs_radar_detected
      Src: /src/hostap/wpa_supplicant/ap.c:2142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - wpa_s
    - radar
    argTypes:
    - struct wpa_supplicant*
    - struct dfs_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2146
      start: 2132
    functionDepth: 1
    functionLinenumber: 2132
    functionLinenumberEnd: 2146
    functionName: wpas_ap_event_dfs_radar_detected
    functionSourceFile: /src/hostap/wpa_supplicant/ap.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - hostapd_dfs_radar_detected
    linkageType: ''
    returnType: void
    signature: "void wpas_ap_event_dfs_radar_detected(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \     struct dfs_event *radar)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ap.c:2158,1
    - Dst: hostapd_dfs_start_cac
      Src: /src/hostap/wpa_supplicant/ap.c:2159,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - wpa_s
    - radar
    argTypes:
    - struct wpa_supplicant*
    - struct dfs_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2162
      start: 2149
    functionDepth: 1
    functionLinenumber: 2149
    functionLinenumberEnd: 2162
    functionName: wpas_ap_event_dfs_cac_started
    functionSourceFile: /src/hostap/wpa_supplicant/ap.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - hostapd_dfs_start_cac
    linkageType: ''
    returnType: void
    signature: "void wpas_ap_event_dfs_cac_started(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \  struct dfs_event *radar)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ap.c:2174,1
    - Dst: hostapd_dfs_complete_cac
      Src: /src/hostap/wpa_supplicant/ap.c:2175,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - wpa_s
    - radar
    argTypes:
    - struct wpa_supplicant*
    - struct dfs_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2178
      start: 2165
    functionDepth: 1
    functionLinenumber: 2165
    functionLinenumberEnd: 2178
    functionName: wpas_ap_event_dfs_cac_finished
    functionSourceFile: /src/hostap/wpa_supplicant/ap.c
    functionUses: 1
    functionsReached:
    - hostapd_dfs_complete_cac
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: "void wpas_ap_event_dfs_cac_finished(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \   struct dfs_event *radar)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ap.c:2190,1
    - Dst: hostapd_dfs_complete_cac
      Src: /src/hostap/wpa_supplicant/ap.c:2191,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - wpa_s
    - radar
    argTypes:
    - struct wpa_supplicant*
    - struct dfs_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2194
      start: 2181
    functionDepth: 1
    functionLinenumber: 2181
    functionLinenumberEnd: 2194
    functionName: wpas_ap_event_dfs_cac_aborted
    functionSourceFile: /src/hostap/wpa_supplicant/ap.c
    functionUses: 1
    functionsReached:
    - hostapd_dfs_complete_cac
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: "void wpas_ap_event_dfs_cac_aborted(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \  struct dfs_event *radar)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ap.c:2206,1
    - Dst: hostapd_dfs_nop_finished
      Src: /src/hostap/wpa_supplicant/ap.c:2207,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - wpa_s
    - radar
    argTypes:
    - struct wpa_supplicant*
    - struct dfs_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2210
      start: 2197
    functionDepth: 1
    functionLinenumber: 2197
    functionLinenumberEnd: 2210
    functionName: wpas_ap_event_dfs_cac_nop_finished
    functionSourceFile: /src/hostap/wpa_supplicant/ap.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - hostapd_dfs_nop_finished
    linkageType: ''
    returnType: void
    signature: "void wpas_ap_event_dfs_cac_nop_finished(struct wpa_supplicant *wpa_s,\n\t\t\t\t\tstruct
      dfs_event *radar)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_periodic_iface
      Src: /src/hostap/wpa_supplicant/ap.c:2217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2218
      start: 2214
    functionDepth: 1
    functionLinenumber: 2214
    functionLinenumberEnd: 2218
    functionName: ap_periodic
    functionSourceFile: /src/hostap/wpa_supplicant/ap.c
    functionUses: 1
    functionsReached:
    - hostapd_periodic_iface
    linkageType: ''
    returnType: void
    signature: void ap_periodic(struct wpa_supplicant *wpa_s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/hostap/wpa_supplicant/main_none.c:21,1
    - Dst: wpa_supplicant_init
      Src: /src/hostap/wpa_supplicant/main_none.c:24,1
    - Dst: memset
      Src: /src/hostap/wpa_supplicant/main_none.c:28,1
    - Dst: wpa_supplicant_add_iface
      Src: /src/hostap/wpa_supplicant/main_none.c:31,1
    - Dst: wpa_supplicant_run
      Src: /src/hostap/wpa_supplicant/main_none.c:35,1
    - Dst: wpa_supplicant_deinit
      Src: /src/hostap/wpa_supplicant/main_none.c:37,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 14
    functionDepth: 12
    functionLinenumber: 14
    functionLinenumberEnd: 40
    functionName: main
    functionSourceFile: /src/hostap/wpa_supplicant/main_none.c
    functionUses: 1
    functionsReached:
    - wpa_supplicant_run
    - wpa_supplicant_deinit
    - memset
    - wpa_supplicant_init
    - wpa_supplicant_add_iface
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PeekNamedPipe
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:104,1
    - Dst: GetLastError
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:107,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - pipe
    - used
    argTypes:
    - HANDLE
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 111
    functionName: ctrl_broken_pipe
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c
    functionUses: 0
    functionsReached:
    - GetLastError
    - PeekNamedPipe
    linkageType: ''
    returnType: int
    signature: int ctrl_broken_pipe(HANDLE pipe, int used)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ctrl_broken_pipe
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:122,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:123,1
    - Dst: ctrl_close_pipe
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - priv
    argTypes:
    - struct ctrl_iface_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 129
    functionName: ctrl_flush_broken_pipes
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - ctrl_broken_pipe
    - ctrl_close_pipe
    linkageType: ''
    returnType: void
    signature: void ctrl_flush_broken_pipes(struct ctrl_iface_priv *priv)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:138,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:141,1
    - Dst: CreateEvent
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:147,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:149,1
    - Dst: GetLastError
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:150,1
    - Dst: eloop_register_event
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:154,1
    - Dst: _snwprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:159,1
    - Dst: NAMED_PIPE_PREFIX TEXT
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:159,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:162,1
    - Dst: CreateNamedPipe
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:167,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:176,1
    - Dst: GetLastError
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:177,1
    - Dst: ConnectNamedPipe
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:181,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:182,1
    - Dst: GetLastError
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:183,1
    - Dst: CloseHandle
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:184,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:185,1
    - Dst: GetLastError
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:189,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:192,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:196,1
    - Dst: SetEvent
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:198,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:202,1
    - Dst: CloseHandle
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:204,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:205,1
    - Dst: ctrl_close_pipe
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:217,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 53
    argCount: 1
    argNames:
    - priv
    argTypes:
    - struct ctrl_iface_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 219
    functionName: ctrl_open_pipe
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - GetLastError
    - SetEvent
    - CreateNamedPipe
    - ctrl_close_pipe
    - _snwprintf
    - os_snprintf
    - os_zalloc
    - NAMED_PIPE_PREFIX TEXT
    - CreateEvent
    - ConnectNamedPipe
    - eloop_register_event
    - CloseHandle
    - os_free
    linkageType: ''
    returnType: int
    signature: int ctrl_open_pipe(struct ctrl_iface_priv *priv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:224,1
    - Dst: eloop_unregister_event
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:227,1
    - Dst: CloseHandle
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:229,1
    - Dst: CloseHandle
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:239,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:249,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:250,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - dst
    argTypes:
    - struct wpa_ctrl_dst*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 251
    functionName: ctrl_close_pipe
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c
    functionUses: 2
    functionsReached:
    - os_free
    - wpa_printf
    - CloseHandle
    - eloop_unregister_event
    linkageType: ''
    returnType: void
    signature: void ctrl_close_pipe(struct wpa_ctrl_dst *dst)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:258,1
    - Dst: ctrl_close_pipe
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:261,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:265,1
    - Dst: ReadFileEx
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:268,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:270,1
    - Dst: GetLastError
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:271,1
    - Dst: ctrl_close_pipe
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:272,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:275,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - err
    - bytes
    - overlap
    argTypes:
    - DWORD
    - DWORD
    - LPOVERLAPPED
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 254
    functionDepth: 2
    functionLinenumber: 254
    functionLinenumberEnd: 276
    functionName: ctrl_iface_write_completed
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - GetLastError
    - ReadFileEx
    - ctrl_close_pipe
    - os_free
    linkageType: ''
    returnType: VOID
    signature: "VOID ctrl_iface_write_completed(DWORD err, DWORD bytes,\n\t\t\t\t\t
      \     LPOVERLAPPED overlap)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:292,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:294,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:297,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:299,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:301,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:302,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:303,1
    - Dst: wpa_supplicant_ctrl_iface_process
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:306,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:321,1
    - Dst: os_memdup
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:322,1
    - Dst: ctrl_close_pipe
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:324,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:325,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:328,1
    - Dst: WriteFileEx
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:330,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:332,1
    - Dst: GetLastError
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:333,1
    - Dst: ctrl_close_pipe
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:334,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:336,1
    - Dst: eapol_sm_notify_ctrl_attached
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:341,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 50
    argCount: 2
    argNames:
    - dst
    - len
    argTypes:
    - struct wpa_ctrl_dst*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 279
    functionDepth: 2
    functionLinenumber: 279
    functionLinenumberEnd: 342
    functionName: wpa_supplicant_ctrl_iface_rx
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - GetLastError
    - os_memdup
    - WriteFileEx
    - os_strncmp
    - os_strcmp
    - eapol_sm_notify_ctrl_attached
    - ctrl_close_pipe
    - atoi
    - os_free
    - wpa_supplicant_ctrl_iface_process
    linkageType: ''
    returnType: void
    signature: void wpa_supplicant_ctrl_iface_rx(struct wpa_ctrl_dst *dst, size_t
      len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:349,1
    - Dst: wpa_supplicant_ctrl_iface_rx
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:352,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - err
    - bytes
    - overlap
    argTypes:
    - DWORD
    - DWORD
    - LPOVERLAPPED
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 345
    functionDepth: 3
    functionLinenumber: 345
    functionLinenumberEnd: 353
    functionName: ctrl_iface_read_completed
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_ctrl_iface_rx
    - wpa_printf
    linkageType: ''
    returnType: VOID
    signature: "VOID ctrl_iface_read_completed(DWORD err, DWORD bytes,\n\t\t\t\t\t
      \    LPOVERLAPPED overlap)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:362,1
    - Dst: ResetEvent
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:363,1
    - Dst: GetOverlappedResult
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:365,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:366,1
    - Dst: GetLastError
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:367,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:370,1
    - Dst: ctrl_open_pipe
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:374,1
    - Dst: ctrl_iface_write_completed
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:377,1
    - Dst: ctrl_flush_broken_pipes
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:379,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - eloop_data
    - user_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 356
    functionDepth: 3
    functionLinenumber: 356
    functionLinenumberEnd: 380
    functionName: wpa_supplicant_ctrl_iface_receive
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - ctrl_iface_write_completed
    - GetLastError
    - ctrl_flush_broken_pipes
    - GetOverlappedResult
    - ResetEvent
    - ctrl_open_pipe
    linkageType: ''
    returnType: void
    signature: void wpa_supplicant_ctrl_iface_receive(void *eloop_data, void *user_ctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:388,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:391,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:399,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:400,1
    - Dst: wpa_strdup_tchar
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:403,1
    - Dst: ConvertStringSecurityDescriptorToSecurityDescriptor
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:406,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:411,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:412,1
    - Dst: GetLastError
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:414,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:417,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - priv
    - params
    argTypes:
    - struct ctrl_iface_priv*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 422
    functionName: ctrl_iface_parse
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c
    functionUses: 0
    functionsReached:
    - ConvertStringSecurityDescriptorToSecurityDescriptor
    - wpa_printf
    - GetLastError
    - os_strncmp
    - os_strstr
    - wpa_strdup_tchar
    - os_free
    - os_memset
    linkageType: ''
    returnType: int
    signature: int ctrl_iface_parse(struct ctrl_iface_priv *priv, const char *params)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_supplicant_ctrl_iface_send
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:432,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 5
    argNames:
    - ctx
    - level
    - type
    - txt
    - len
    argTypes:
    - void*
    - int
    - enum wpa_msg_type
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 433
    functionName: wpa_supplicant_ctrl_iface_msg_cb
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_ctrl_iface_send
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_ctrl_iface_msg_cb(void *ctx, int level,\n\t\t\t\t\t
      \    enum wpa_msg_type type,\n\t\t\t\t\t     const char *txt, size_t len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:441,1
    - Dst: ctrl_iface_parse
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:449,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:450,1
    - Dst: ctrl_open_pipe
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:454,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:455,1
    - Dst: wpa_msg_register_cb
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:459,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 436
    functionDepth: 2
    functionLinenumber: 436
    functionLinenumberEnd: 462
    functionName: wpa_supplicant_ctrl_iface_init
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c
    functionUses: 4
    functionsReached:
    - wpa_msg_register_cb
    - os_zalloc
    - ctrl_iface_parse
    - os_free
    - ctrl_open_pipe
    linkageType: ''
    returnType: struct ctrl_iface_priv
    signature: 'struct ctrl_iface_priv *

      wpa_supplicant_ctrl_iface_init(struct wpa_supplicant *wpa_s)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ctrl_close_pipe
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:471,1
    - Dst: LocalFree
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:473,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:474,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - wpa_s
    - priv
    argTypes:
    - struct wpa_supplicant*
    - struct ctrl_iface_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 465
    functionDepth: 2
    functionLinenumber: 465
    functionLinenumberEnd: 475
    functionName: wpa_supplicant_ctrl_iface_deinit
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c
    functionUses: 4
    functionsReached:
    - os_free
    - LocalFree
    - ctrl_close_pipe
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_ctrl_iface_deinit(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \     struct ctrl_iface_priv *priv)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:493,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:495,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:496,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:500,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:501,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:507,1
    - Dst: WriteFile
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:509,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:511,1
    - Dst: GetLastError
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:513,1
    - Dst: ctrl_close_pipe
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:516,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:523,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 4
    argNames:
    - priv
    - level
    - buf
    - len
    argTypes:
    - struct ctrl_iface_priv*
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 478
    functionDepth: 2
    functionLinenumber: 478
    functionLinenumberEnd: 524
    functionName: wpa_supplicant_ctrl_iface_send
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c
    functionUses: 2
    functionsReached:
    - os_strlen
    - wpa_printf
    - os_memcpy
    - GetLastError
    - os_malloc
    - WriteFile
    - os_snprintf
    - ctrl_close_pipe
    - os_free
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_ctrl_iface_send(struct ctrl_iface_priv *priv,\n\t\t\t\t\t
      \  int level, const char *buf,\n\t\t\t\t\t   size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:529,1
    - Dst: WaitForSingleObject
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:533,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - priv
    argTypes:
    - struct ctrl_iface_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 534
    functionName: wpa_supplicant_ctrl_iface_wait
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - WaitForSingleObject
    linkageType: ''
    returnType: void
    signature: void wpa_supplicant_ctrl_iface_wait(struct ctrl_iface_priv *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ctrl_broken_pipe
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:567,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:568,1
    - Dst: global_close_pipe
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:570,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - priv
    argTypes:
    - struct ctrl_iface_global_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 559
    functionDepth: 1
    functionLinenumber: 559
    functionLinenumberEnd: 574
    functionName: global_flush_broken_pipes
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - ctrl_broken_pipe
    - global_close_pipe
    linkageType: ''
    returnType: void
    signature: void global_flush_broken_pipes(struct ctrl_iface_global_priv *priv)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:582,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:585,1
    - Dst: CreateEvent
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:590,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:592,1
    - Dst: GetLastError
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:593,1
    - Dst: eloop_register_event
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:597,1
    - Dst: CreateNamedPipe
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:602,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:610,1
    - Dst: GetLastError
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:611,1
    - Dst: ConnectNamedPipe
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:615,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:616,1
    - Dst: GetLastError
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:617,1
    - Dst: CloseHandle
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:618,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:619,1
    - Dst: GetLastError
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:623,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:626,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:630,1
    - Dst: SetEvent
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:632,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:636,1
    - Dst: CloseHandle
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:638,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:639,1
    - Dst: global_close_pipe
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:651,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 50
    argCount: 1
    argNames:
    - priv
    argTypes:
    - struct ctrl_iface_global_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 577
    functionDepth: 1
    functionLinenumber: 577
    functionLinenumberEnd: 653
    functionName: global_open_pipe
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - GetLastError
    - CreateNamedPipe
    - os_zalloc
    - ConnectNamedPipe
    - CreateEvent
    - CloseHandle
    - eloop_register_event
    - SetEvent
    - os_free
    - global_close_pipe
    linkageType: ''
    returnType: int
    signature: int global_open_pipe(struct ctrl_iface_global_priv *priv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:658,1
    - Dst: eloop_unregister_event
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:661,1
    - Dst: CloseHandle
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:663,1
    - Dst: CloseHandle
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:673,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:683,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:684,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - dst
    argTypes:
    - struct wpa_global_dst*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 656
    functionDepth: 1
    functionLinenumber: 656
    functionLinenumberEnd: 685
    functionName: global_close_pipe
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c
    functionUses: 2
    functionsReached:
    - os_free
    - wpa_printf
    - CloseHandle
    - eloop_unregister_event
    linkageType: ''
    returnType: void
    signature: void global_close_pipe(struct wpa_global_dst *dst)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:692,1
    - Dst: global_close_pipe
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:695,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:699,1
    - Dst: ReadFileEx
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:702,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:704,1
    - Dst: GetLastError
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:705,1
    - Dst: global_close_pipe
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:706,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:712,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - err
    - bytes
    - overlap
    argTypes:
    - DWORD
    - DWORD
    - LPOVERLAPPED
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 688
    functionDepth: 2
    functionLinenumber: 688
    functionLinenumberEnd: 713
    functionName: global_iface_write_completed
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - GetLastError
    - ReadFileEx
    - os_free
    - global_close_pipe
    linkageType: ''
    returnType: VOID
    signature: "VOID global_iface_write_completed(DWORD err, DWORD bytes,\n\t\t\t\t\t\tLPOVERLAPPED
      overlap)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_supplicant_global_ctrl_iface_process
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:729,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:738,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:743,1
    - Dst: os_memdup
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:744,1
    - Dst: global_close_pipe
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:746,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:747,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:750,1
    - Dst: WriteFileEx
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:752,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:754,1
    - Dst: GetLastError
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:755,1
    - Dst: global_close_pipe
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:756,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:758,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 2
    argNames:
    - dst
    - len
    argTypes:
    - struct wpa_global_dst*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 716
    functionDepth: 14
    functionLinenumber: 716
    functionLinenumberEnd: 761
    functionName: wpa_supplicant_global_iface_rx
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_global_ctrl_iface_process
    - wpa_printf
    - GetLastError
    - os_memdup
    - WriteFileEx
    - os_free
    - global_close_pipe
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_global_iface_rx(struct wpa_global_dst *dst,\n\t\t\t\t\t
      \  size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:768,1
    - Dst: wpa_supplicant_global_iface_rx
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:771,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - err
    - bytes
    - overlap
    argTypes:
    - DWORD
    - DWORD
    - LPOVERLAPPED
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 764
    functionDepth: 15
    functionLinenumber: 764
    functionLinenumberEnd: 772
    functionName: global_iface_read_completed
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_supplicant_global_iface_rx
    linkageType: ''
    returnType: VOID
    signature: "VOID global_iface_read_completed(DWORD err, DWORD bytes,\n\t\t\t\t\t
      \      LPOVERLAPPED overlap)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:782,1
    - Dst: ResetEvent
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:783,1
    - Dst: GetOverlappedResult
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:785,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:786,1
    - Dst: GetLastError
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:787,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:790,1
    - Dst: global_open_pipe
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:794,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:795,1
    - Dst: global_iface_write_completed
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:800,1
    - Dst: global_flush_broken_pipes
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:802,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - eloop_data
    - user_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 775
    functionDepth: 3
    functionLinenumber: 775
    functionLinenumberEnd: 803
    functionName: wpa_supplicant_global_iface_receive
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - global_iface_write_completed
    - GetLastError
    - GetOverlappedResult
    - ResetEvent
    - global_open_pipe
    - global_flush_broken_pipes
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_global_iface_receive(void *eloop_data,\n\t\t\t\t\t\tvoid
      *user_ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:811,1
    - Dst: global_open_pipe
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:816,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:817,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - global
    argTypes:
    - struct wpa_global*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 806
    functionDepth: 2
    functionLinenumber: 806
    functionLinenumberEnd: 822
    functionName: wpa_supplicant_global_ctrl_iface_init
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c
    functionUses: 1
    functionsReached:
    - os_free
    - os_zalloc
    - global_open_pipe
    linkageType: ''
    returnType: struct ctrl_iface_global_priv
    signature: 'struct ctrl_iface_global_priv *

      wpa_supplicant_global_ctrl_iface_init(struct wpa_global *global)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: global_close_pipe
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:829,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c:830,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - priv
    argTypes:
    - struct ctrl_iface_global_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 825
    functionDepth: 2
    functionLinenumber: 825
    functionLinenumberEnd: 831
    functionName: wpa_supplicant_global_ctrl_iface_deinit
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c
    functionUses: 1
    functionsReached:
    - os_free
    - global_close_pipe
    linkageType: ''
    returnType: void
    signature: void wpa_supplicant_global_ctrl_iface_deinit(struct ctrl_iface_global_priv
      *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/rrm.c:26,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/rrm.c:31,1
    - Dst: struct rrm_data*::notify_neighbor_rep
      Src: /src/hostap/wpa_supplicant/rrm.c:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - data
    - user_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 36
    functionName: wpas_rrm_neighbor_rep_timeout_handler
    functionSourceFile: /src/hostap/wpa_supplicant/rrm.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - struct rrm_data*::notify_neighbor_rep
    linkageType: ''
    returnType: void
    signature: void wpas_rrm_neighbor_rep_timeout_handler(void *data, void *user_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/rrm.c:47,1
    - Dst: wpas_rrm_neighbor_rep_timeout_handler
      Src: /src/hostap/wpa_supplicant/rrm.c:50,1
    - Dst: wpas_clear_beacon_rep_data
      Src: /src/hostap/wpa_supplicant/rrm.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 53
    functionName: wpas_rrm_reset
    functionSourceFile: /src/hostap/wpa_supplicant/rrm.c
    functionUses: 2
    functionsReached:
    - eloop_cancel_timeout
    - wpas_clear_beacon_rep_data
    - wpas_rrm_neighbor_rep_timeout_handler
    linkageType: ''
    returnType: void
    signature: void wpas_rrm_reset(struct wpa_supplicant *wpa_s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: is_multicast_ether_addr
      Src: /src/hostap/wpa_supplicant/rrm.c:70,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/rrm.c:71,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/rrm.c:74,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/rrm.c:74,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/rrm.c:78,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/rrm.c:83,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/rrm.c:89,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/rrm.c:93,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/rrm.c:98,1
    - Dst: wpas_rrm_neighbor_rep_timeout_handler
      Src: /src/hostap/wpa_supplicant/rrm.c:100,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/wpa_supplicant/rrm.c:103,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/rrm.c:104,1
    - Dst: struct wpa_supplicant*::rrm::notify_neighbor_rep
      Src: /src/hostap/wpa_supplicant/rrm.c:106,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 5
    argNames:
    - wpa_s
    - da
    - sa
    - report
    - report_len
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 110
    functionName: wpas_rrm_process_neighbor_rep
    functionSourceFile: /src/hostap/wpa_supplicant/rrm.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - is_multicast_ether_addr
    - wpa_hexdump
    - wpa_msg
    - eloop_cancel_timeout
    - wpabuf_put_data
    - struct wpa_supplicant*::rrm::notify_neighbor_rep
    - MAC2STR
    - wpabuf_alloc
    - wpa_dbg
    - wpas_rrm_neighbor_rep_timeout_handler
    linkageType: ''
    returnType: void
    signature: "void wpas_rrm_process_neighbor_rep(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \  const u8 *da, const u8 *sa,\n\t\t\t\t   const u8 *report, size_t report_len)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/rrm.c:162,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/rrm.c:167,1
    - Dst: wpa_bss_get_ie
      Src: /src/hostap/wpa_supplicant/rrm.c:171,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/rrm.c:176,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/rrm.c:183,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/rrm.c:189,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/rrm.c:193,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/rrm.c:198,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/wpa_supplicant/rrm.c:200,1
    - Dst: wpa_bss_get_ie
      Src: /src/hostap/wpa_supplicant/rrm.c:210,1
    - Dst: ieee802_11_ext_capab
      Src: /src/hostap/wpa_supplicant/rrm.c:212,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/rrm.c:214,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/rrm.c:221,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/rrm.c:222,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/rrm.c:223,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/rrm.c:225,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/rrm.c:226,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/wpa_supplicant/rrm.c:227,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/rrm.c:234,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/rrm.c:235,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/rrm.c:241,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/rrm.c:247,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/rrm.c:248,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/rrm.c:252,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/rrm.c:262,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/rrm.c:263,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/wpa_supplicant/rrm.c:264,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/rrm.c:266,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/rrm.c:273,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/rrm.c:274,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/rrm.c:280,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/rrm.c:286,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/rrm.c:288,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/rrm.c:292,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/rrm.c:293,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/rrm.c:295,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/wpa_supplicant/rrm.c:298,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/rrm.c:301,1
    - Dst: wpa_drv_send_action
      Src: /src/hostap/wpa_supplicant/rrm.c:307,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/rrm.c:309,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/rrm.c:309,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/rrm.c:310,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/rrm.c:312,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/rrm.c:318,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/rrm.c:322,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 79
    argCount: 5
    argNames:
    - wpa_s
    - ssid
    - lci
    - civic
    - cb_ctx
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid_value*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 151
    functionDepth: 3
    functionLinenumber: 151
    functionLinenumberEnd: 324
    functionName: wpas_rrm_send_neighbor_rep_request
    functionSourceFile: /src/hostap/wpa_supplicant/rrm.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpa_drv_send_action
    - wpabuf_put_u8
    - wpabuf_put_data
    - wpabuf_len
    - wpa_ssid_txt
    - wpabuf_free
    - wpabuf_put_le16
    - wpabuf_head
    - wpabuf_alloc
    - eloop_register_timeout
    - wpa_dbg
    - ieee802_11_ext_capab
    - wpa_bss_get_ie
    linkageType: ''
    returnType: int
    signature: "int wpas_rrm_send_neighbor_rep_request(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \      const struct wpa_ssid_value *ssid,\n\t\t\t\t       int lci, int civic,\n\t\t\t\t
      \      void (*cb)(void *ctx,\n\t\t\t\t\t\t  struct wpabuf *neighbor_rep),\n\t\t\t\t
      \      void *cb_ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_resize
      Src: /src/hostap/wpa_supplicant/rrm.c:330,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/rrm.c:333,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/rrm.c:334,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/rrm.c:335,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/rrm.c:336,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/rrm.c:337,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/wpa_supplicant/rrm.c:340,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 6
    argNames:
    - buf
    - token
    - mode
    - type
    - data
    - data_len
    argTypes:
    - struct wpabuf**
    - u8
    - u8
    - u8
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 343
    functionName: wpas_rrm_report_elem
    functionSourceFile: /src/hostap/wpa_supplicant/rrm.c
    functionUses: 0
    functionsReached:
    - wpabuf_resize
    - wpabuf_put_u8
    - wpabuf_put_data
    linkageType: ''
    returnType: int
    signature: "int wpas_rrm_report_elem(struct wpabuf **buf, u8 token, u8 mode, u8
      type,\n\t\t\t\tconst u8 *data, size_t data_len)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/rrm.c:368,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/rrm.c:372,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/rrm.c:378,1
    - Dst: get_ie
      Src: /src/hostap/wpa_supplicant/rrm.c:379,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wpa_supplicant/rrm.c:381,1
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/rrm.c:383,1
    - Dst: os_reltime_sub
      Src: /src/hostap/wpa_supplicant/rrm.c:386,1
    - Dst: wpas_rrm_report_elem
      Src: /src/hostap/wpa_supplicant/rrm.c:393,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/wpa_supplicant/rrm.c:395,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/rrm.c:396,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/rrm.c:397,1
    - Dst: is_multicast_ether_addr
      Src: /src/hostap/wpa_supplicant/rrm.c:404,1
    - Dst: wpas_rrm_report_elem
      Src: /src/hostap/wpa_supplicant/rrm.c:405,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/rrm.c:408,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 3
    argNames:
    - wpa_s
    - req
    - buf
    argTypes:
    - struct wpa_supplicant*
    - struct rrm_measurement_request_element*
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 346
    functionDepth: 2
    functionLinenumber: 346
    functionLinenumberEnd: 413
    functionName: wpas_rrm_build_lci_report
    functionSourceFile: /src/hostap/wpa_supplicant/rrm.c
    functionUses: 0
    functionsReached:
    - wpas_rrm_report_elem
    - os_get_reltime
    - wpa_printf
    - is_multicast_ether_addr
    - wpabuf_head_u8
    - wpa_hexdump
    - wpabuf_len
    - WPA_GET_LE16
    - get_ie
    - os_reltime_sub
    linkageType: ''
    returnType: int
    signature: "int wpas_rrm_build_lci_report(struct wpa_supplicant *wpa_s,\n\t\t\t
      \ const struct rrm_measurement_request_element *req,\n\t\t\t  struct wpabuf
      **buf)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/rrm.c:419,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/rrm.c:424,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/rrm.c:425,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/rrm.c:426,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/wpa_supplicant/rrm.c:428,1
    - Dst: wpa_drv_send_action
      Src: /src/hostap/wpa_supplicant/rrm.c:430,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/rrm.c:432,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/rrm.c:432,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/rrm.c:433,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/rrm.c:437,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - wpa_s
    - data
    - len
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 416
    functionDepth: 3
    functionLinenumber: 416
    functionLinenumberEnd: 438
    functionName: wpas_rrm_send_msr_report_mpdu
    functionSourceFile: /src/hostap/wpa_supplicant/rrm.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_drv_send_action
    - wpabuf_put_data
    - wpabuf_put_u8
    - wpabuf_len
    - wpabuf_free
    - wpabuf_head
    - wpabuf_alloc
    linkageType: ''
    returnType: void
    signature: "void wpas_rrm_send_msr_report_mpdu(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \ const u8 *data, size_t len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/rrm.c:457,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 2
    argNames:
    - pos
    - len
    argTypes:
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 484
    functionName: wpas_rrm_beacon_rep_update_last_frame
    functionSourceFile: /src/hostap/wpa_supplicant/rrm.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int wpas_rrm_beacon_rep_update_last_frame(u8 *pos, size_t len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/rrm.c:490,1
    - Dst: wpabuf_mhead_u8
      Src: /src/hostap/wpa_supplicant/rrm.c:491,1
    - Dst: wpas_rrm_beacon_rep_update_last_frame
      Src: /src/hostap/wpa_supplicant/rrm.c:499,1
    - Dst: wpas_rrm_send_msr_report_mpdu
      Src: /src/hostap/wpa_supplicant/rrm.c:503,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - wpa_s
    - buf
    argTypes:
    - struct wpa_supplicant*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 487
    functionDepth: 4
    functionLinenumber: 487
    functionLinenumberEnd: 512
    functionName: wpas_rrm_send_msr_report
    functionSourceFile: /src/hostap/wpa_supplicant/rrm.c
    functionUses: 0
    functionsReached:
    - wpabuf_len
    - wpas_rrm_beacon_rep_update_last_frame
    - wpas_rrm_send_msr_report_mpdu
    - wpabuf_mhead_u8
    linkageType: ''
    returnType: void
    signature: "void wpas_rrm_send_msr_report(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \    struct wpabuf *buf)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ieee80211_chan_to_freq
      Src: /src/hostap/wpa_supplicant/rrm.c:523,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/rrm.c:531,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 4
    argNames:
    - op_class
    - chan
    - num_primary_channels
    - freqs
    argTypes:
    - u8
    - u8
    - u8
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 515
    functionDepth: 1
    functionLinenumber: 515
    functionLinenumberEnd: 539
    functionName: wpas_add_channel
    functionSourceFile: /src/hostap/wpa_supplicant/rrm.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - ieee80211_chan_to_freq
    linkageType: ''
    returnType: int
    signature: "int wpas_add_channel(u8 op_class, u8 chan, u8 num_primary_channels,\n\t\t\t
      \   int *freqs)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: os_calloc
      Src: /src/hostap/wpa_supplicant/rrm.c:563,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/rrm.c:565,1
    - Dst: verify_channel
      Src: /src/hostap/wpa_supplicant/rrm.c:573,1
    - Dst: wpas_add_channel
      Src: /src/hostap/wpa_supplicant/rrm.c:579,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/rrm.c:581,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/rrm.c:589,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 4
    argNames:
    - op
    - mode
    - channels
    - size
    argTypes:
    - struct oper_class_map*
    - struct hostapd_hw_modes*
    - u8*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 542
    functionDepth: 4
    functionLinenumber: 542
    functionLinenumberEnd: 594
    functionName: wpas_add_channels
    functionSourceFile: /src/hostap/wpa_supplicant/rrm.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_calloc
    - wpas_add_channel
    - os_free
    - verify_channel
    linkageType: ''
    returnType: int
    signature: "int * wpas_add_channels(const struct oper_class_map *op,\n\t\t\t       struct
      hostapd_hw_modes *mode,\n\t\t\t       const u8 *channels, const u8 size)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_6ghz_op_class
      Src: /src/hostap/wpa_supplicant/rrm.c:608,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/wpa_supplicant/rrm.c:617,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/wpa_supplicant/rrm.c:618,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/wpa_supplicant/rrm.c:622,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/wpa_supplicant/rrm.c:623,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/wpa_supplicant/rrm.c:626,1
    - Dst: wpas_add_channels
      Src: /src/hostap/wpa_supplicant/rrm.c:629,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - op
    - mode
    argTypes:
    - struct oper_class_map*
    - struct hostapd_hw_modes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 597
    functionDepth: 5
    functionLinenumber: 597
    functionLinenumberEnd: 630
    functionName: wpas_op_class_freqs
    functionSourceFile: /src/hostap/wpa_supplicant/rrm.c
    functionUses: 0
    functionsReached:
    - is_6ghz_op_class
    - ARRAY_SIZE
    - wpas_add_channels
    linkageType: ''
    returnType: int
    signature: "int * wpas_op_class_freqs(const struct oper_class_map *op,\n\t\t\t\t
      struct hostapd_hw_modes *mode)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: get_ie
      Src: /src/hostap/wpa_supplicant/rrm.c:646,1
    - Dst: get_oper_class
      Src: /src/hostap/wpa_supplicant/rrm.c:656,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/rrm.c:658,1
    - Dst: get_mode
      Src: /src/hostap/wpa_supplicant/rrm.c:666,1
    - Dst: is_6ghz_op_class
      Src: /src/hostap/wpa_supplicant/rrm.c:667,1
    - Dst: wpas_add_channels
      Src: /src/hostap/wpa_supplicant/rrm.c:681,1
    - Dst: int_array_concat
      Src: /src/hostap/wpa_supplicant/rrm.c:683,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/rrm.c:685,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/rrm.c:690,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 4
    argNames:
    - wpa_s
    - country
    - subelems
    - len
    argTypes:
    - struct wpa_supplicant*
    - char*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 633
    functionDepth: 5
    functionLinenumber: 633
    functionLinenumberEnd: 692
    functionName: wpas_channel_report_freqs
    functionSourceFile: /src/hostap/wpa_supplicant/rrm.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - get_mode
    - int_array_concat
    - is_6ghz_op_class
    - get_ie
    - get_oper_class
    - os_free
    - wpas_add_channels
    linkageType: ''
    returnType: int
    signature: "int * wpas_channel_report_freqs(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \      const char *country, const u8 *subelems,\n\t\t\t\t       size_t len)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: wpa_bss_get_ie
      Src: /src/hostap/wpa_supplicant/rrm.c:707,1
    - Dst: get_oper_class
      Src: /src/hostap/wpa_supplicant/rrm.c:711,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/rrm.c:713,1
    - Dst: get_mode
      Src: /src/hostap/wpa_supplicant/rrm.c:719,1
    - Dst: is_6ghz_op_class
      Src: /src/hostap/wpa_supplicant/rrm.c:720,1
    - Dst: wpas_op_class_freqs
      Src: /src/hostap/wpa_supplicant/rrm.c:726,1
    - Dst: wpas_add_channels
      Src: /src/hostap/wpa_supplicant/rrm.c:734,1
    - Dst: wpas_channel_report_freqs
      Src: /src/hostap/wpa_supplicant/rrm.c:740,1
    - Dst: int_array_concat
      Src: /src/hostap/wpa_supplicant/rrm.c:742,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/rrm.c:743,1
    - Dst: int_array_sort_unique
      Src: /src/hostap/wpa_supplicant/rrm.c:744,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 5
    argNames:
    - wpa_s
    - op_class
    - chan
    - subelems
    - len
    argTypes:
    - struct wpa_supplicant*
    - u8
    - u8
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 695
    functionDepth: 6
    functionLinenumber: 695
    functionLinenumberEnd: 748
    functionName: wpas_beacon_request_freqs
    functionSourceFile: /src/hostap/wpa_supplicant/rrm.c
    functionUses: 0
    functionsReached:
    - wpas_channel_report_freqs
    - wpa_printf
    - get_mode
    - int_array_concat
    - is_6ghz_op_class
    - int_array_sort_unique
    - wpas_op_class_freqs
    - get_oper_class
    - os_free
    - wpa_bss_get_ie
    - wpas_add_channels
    linkageType: ''
    returnType: int
    signature: "int * wpas_beacon_request_freqs(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \      u8 op_class, u8 chan,\n\t\t\t\t       const u8 *subelems, size_t len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/wpa_supplicant/rrm.c:758,1
    - Dst: get_operation_channel_width
      Src: /src/hostap/wpa_supplicant/rrm.c:761,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/rrm.c:763,1
    - Dst: ieee80211_chaninfo_to_channel
      Src: /src/hostap/wpa_supplicant/rrm.c:778,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/rrm.c:780,1
    - Dst: ieee80211_get_phy_type
      Src: /src/hostap/wpa_supplicant/rrm.c:785,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/rrm.c:789,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 6
    argNames:
    - freq
    - ies
    - ies_len
    - op_class
    - chan
    - phy_type
    argTypes:
    - int
    - u8*
    - size_t
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 751
    functionDepth: 1
    functionLinenumber: 751
    functionLinenumberEnd: 794
    functionName: wpas_get_op_chan_phy
    functionSourceFile: /src/hostap/wpa_supplicant/rrm.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - ieee80211_chaninfo_to_channel
    - ieee802_11_parse_elems
    - ieee80211_get_phy_type
    - get_operation_channel_width
    linkageType: ''
    returnType: int
    signature: "int wpas_get_op_chan_phy(int freq, const u8 *ies, size_t ies_len,\n\t\t\t
      u8 *op_class, u8 *chan, u8 *phy_type)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/rrm.c:814,1
    - Dst: WPA_PUT_LE64
      Src: /src/hostap/wpa_supplicant/rrm.c:835,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/wpa_supplicant/rrm.c:837,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/wpa_supplicant/rrm.c:839,1
    - Dst: bitfield_is_set
      Src: /src/hostap/wpa_supplicant/rrm.c:855,1
    - Dst: bitfield_is_set
      Src: /src/hostap/wpa_supplicant/rrm.c:857,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/rrm.c:866,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 38
    argCount: 9
    argNames:
    - eids
    - ext_eids
    - detail
    - bss
    - buf
    - buf_len
    - ies_buf
    - ie_len
    - add_fixed
    argTypes:
    - struct bitfield*
    - struct bitfield*
    - enum beacon_report_detail
    - struct wpa_bss*
    - u8*
    - size_t
    - u8**
    - size_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 797
    functionDepth: 1
    functionLinenumber: 797
    functionLinenumberEnd: 881
    functionName: wpas_beacon_rep_add_frame_body
    functionSourceFile: /src/hostap/wpa_supplicant/rrm.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - WPA_PUT_LE64
    - bitfield_is_set
    - WPA_PUT_LE16
    linkageType: ''
    returnType: int
    signature: "int wpas_beacon_rep_add_frame_body(struct bitfield *eids,\n\t\t\t\t\t
      \ struct bitfield *ext_eids,\n\t\t\t\t\t  enum beacon_report_detail detail,\n\t\t\t\t\t
      \ struct wpa_bss *bss, u8 *buf,\n\t\t\t\t\t  size_t buf_len, const u8 **ies_buf,\n\t\t\t\t\t
      \ size_t *ie_len, int add_fixed)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/rrm.c:899,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/rrm.c:903,1
    - Dst: wpas_beacon_rep_add_frame_body
      Src: /src/hostap/wpa_supplicant/rrm.c:905,1
    - Dst: wpas_rrm_report_elem
      Src: /src/hostap/wpa_supplicant/rrm.c:941,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/rrm.c:946,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 7
    argNames:
    - data
    - bss
    - wpa_buf
    - rep
    - ie
    - ie_len
    - idx
    argTypes:
    - struct beacon_rep_data*
    - struct wpa_bss*
    - struct wpabuf**
    - struct rrm_measurement_beacon_report*
    - u8**
    - size_t*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 884
    functionDepth: 2
    functionLinenumber: 884
    functionLinenumberEnd: 948
    functionName: wpas_add_beacon_rep_elem
    functionSourceFile: /src/hostap/wpa_supplicant/rrm.c
    functionUses: 0
    functionsReached:
    - wpas_rrm_report_elem
    - os_memcpy
    - os_malloc
    - os_free
    - wpas_beacon_rep_add_frame_body
    linkageType: ''
    returnType: int
    signature: "int wpas_add_beacon_rep_elem(struct beacon_rep_data *data,\n\t\t\t\t
      \   struct wpa_bss *bss,\n\t\t\t\t    struct wpabuf **wpa_buf,\n\t\t\t\t    struct
      rrm_measurement_beacon_report *rep,\n\t\t\t\t    const u8 **ie, size_t *ie_len,
      u8 idx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_bss_ie_ptr
      Src: /src/hostap/wpa_supplicant/rrm.c:956,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/rrm.c:962,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/rrm.c:963,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/rrm.c:968,1
    - Dst: wpas_get_op_chan_phy
      Src: /src/hostap/wpa_supplicant/rrm.c:971,1
    - Dst: host_to_le64
      Src: /src/hostap/wpa_supplicant/rrm.c:975,1
    - Dst: host_to_le16
      Src: /src/hostap/wpa_supplicant/rrm.c:976,1
    - Dst: rssi_to_rcpi
      Src: /src/hostap/wpa_supplicant/rrm.c:977,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/rrm.c:979,1
    - Dst: host_to_le32
      Src: /src/hostap/wpa_supplicant/rrm.c:981,1
    - Dst: wpas_add_beacon_rep_elem
      Src: /src/hostap/wpa_supplicant/rrm.c:986,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 5
    argNames:
    - wpa_s
    - wpa_buf
    - bss
    - start
    - parent_tsf
    argTypes:
    - struct wpa_supplicant*
    - struct wpabuf**
    - struct wpa_bss*
    - u64
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 951
    functionDepth: 3
    functionLinenumber: 951
    functionLinenumberEnd: 994
    functionName: wpas_add_beacon_rep
    functionSourceFile: /src/hostap/wpa_supplicant/rrm.c
    functionUses: 0
    functionsReached:
    - wpas_get_op_chan_phy
    - os_memcpy
    - host_to_le64
    - ether_addr_equal
    - host_to_le32
    - wpas_add_beacon_rep_elem
    - os_memcmp
    - wpa_bss_ie_ptr
    - rssi_to_rcpi
    - host_to_le16
    linkageType: ''
    returnType: int
    signature: "int wpas_add_beacon_rep(struct wpa_supplicant *wpa_s,\n\t\t\t       struct
      wpabuf **wpa_buf, struct wpa_bss *bss,\n\t\t\t       u64 start, u64 parent_tsf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_rrm_report_elem
      Src: /src/hostap/wpa_supplicant/rrm.c:1000,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - buf
    argTypes:
    - struct wpa_supplicant*
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 997
    functionDepth: 2
    functionLinenumber: 997
    functionLinenumberEnd: 1003
    functionName: wpas_beacon_rep_no_results
    functionSourceFile: /src/hostap/wpa_supplicant/rrm.c
    functionUses: 0
    functionsReached:
    - wpas_rrm_report_elem
    linkageType: ''
    returnType: int
    signature: "int wpas_beacon_rep_no_results(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \     struct wpabuf **buf)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpas_add_beacon_rep
      Src: /src/hostap/wpa_supplicant/rrm.c:1012,1
    - Dst: wpas_beacon_rep_no_results
      Src: /src/hostap/wpa_supplicant/rrm.c:1018,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/wpa_supplicant/rrm.c:1020,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - wpa_s
    - buf
    argTypes:
    - struct wpa_supplicant*
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 1006
    functionDepth: 4
    functionLinenumber: 1006
    functionLinenumberEnd: 1021
    functionName: wpas_beacon_rep_table
    functionSourceFile: /src/hostap/wpa_supplicant/rrm.c
    functionUses: 0
    functionsReached:
    - wpas_add_beacon_rep
    - wpas_beacon_rep_no_results
    - wpa_hexdump_buf
    linkageType: ''
    returnType: void
    signature: "void wpas_beacon_rep_table(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \ struct wpabuf **buf)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_multicast_ether_addr
      Src: /src/hostap/wpa_supplicant/rrm.c:1026,1
    - Dst: wpas_rrm_report_elem
      Src: /src/hostap/wpa_supplicant/rrm.c:1029,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/rrm.c:1032,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/rrm.c:1033,1
    - Dst: wpas_rrm_send_msr_report
      Src: /src/hostap/wpa_supplicant/rrm.c:1037,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/rrm.c:1038,1
    - Dst: wpas_clear_beacon_rep_data
      Src: /src/hostap/wpa_supplicant/rrm.c:1041,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 1024
    functionDepth: 5
    functionLinenumber: 1024
    functionLinenumberEnd: 1042
    functionName: wpas_rrm_refuse_request
    functionSourceFile: /src/hostap/wpa_supplicant/rrm.c
    functionUses: 1
    functionsReached:
    - wpas_rrm_report_elem
    - wpas_rrm_send_msr_report
    - wpa_printf
    - is_multicast_ether_addr
    - wpabuf_free
    - wpas_clear_beacon_rep_data
    linkageType: ''
    returnType: void
    signature: void wpas_rrm_refuse_request(struct wpa_supplicant *wpa_s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/rrm.c:1057,1
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/rrm.c:1061,1
    - Dst: wpas_p2p_in_progress
      Src: /src/hostap/wpa_supplicant/rrm.c:1062,1
    - Dst: wpa_supplicant_trigger_scan
      Src: /src/hostap/wpa_supplicant/rrm.c:1063,1
    - Dst: wpas_rrm_refuse_request
      Src: /src/hostap/wpa_supplicant/rrm.c:1064,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1045
    functionDepth: 6
    functionLinenumber: 1045
    functionLinenumberEnd: 1066
    functionName: wpas_rrm_scan_timeout
    functionSourceFile: /src/hostap/wpa_supplicant/rrm.c
    functionUses: 0
    functionsReached:
    - os_get_reltime
    - wpa_printf
    - wpa_supplicant_trigger_scan
    - wpas_rrm_refuse_request
    - wpas_p2p_in_progress
    linkageType: ''
    returnType: void
    signature: void wpas_rrm_scan_timeout(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/rrm.c:1079,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/rrm.c:1085,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/rrm.c:1091,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/rrm.c:1095,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/rrm.c:1103,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/rrm.c:1111,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/rrm.c:1120,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/rrm.c:1130,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/rrm.c:1137,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/rrm.c:1145,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/rrm.c:1150,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/rrm.c:1165,1
    - Dst: bitfield_alloc
      Src: /src/hostap/wpa_supplicant/rrm.c:1170,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/rrm.c:1172,1
    - Dst: bitfield_set
      Src: /src/hostap/wpa_supplicant/rrm.c:1182,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/rrm.c:1189,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/rrm.c:1198,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 87
    argCount: 5
    argNames:
    - wpa_s
    - data
    - sid
    - slen
    - subelem
    argTypes:
    - struct wpa_supplicant*
    - struct beacon_rep_data*
    - u8
    - u8
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1204
      start: 1069
    functionDepth: 1
    functionLinenumber: 1069
    functionLinenumberEnd: 1204
    functionName: wpas_rm_handle_beacon_req_subelem
    functionSourceFile: /src/hostap/wpa_supplicant/rrm.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - bitfield_alloc
    - os_memcpy
    - bitfield_set
    linkageType: ''
    returnType: int
    signature: "int wpas_rm_handle_beacon_req_subelem(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \    struct beacon_rep_data *data,\n\t\t\t\t\t     u8 sid, u8 slen, const u8
      *subelem)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: le_to_host16
      Src: /src/hostap/wpa_supplicant/rrm.c:1238,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/rrm.c:1240,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/rrm.c:1241,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/rrm.c:1248,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/rrm.c:1252,1
    - Dst: wpas_rm_handle_beacon_req_subelem
      Src: /src/hostap/wpa_supplicant/rrm.c:1258,1
    - Dst: wpas_beacon_rep_table
      Src: /src/hostap/wpa_supplicant/rrm.c:1273,1
    - Dst: wpas_beacon_request_freqs
      Src: /src/hostap/wpa_supplicant/rrm.c:1277,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/rrm.c:1281,1
    - Dst: le_to_host16
      Src: /src/hostap/wpa_supplicant/rrm.c:1286,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/rrm.c:1289,1
    - Dst: os_get_random
      Src: /src/hostap/wpa_supplicant/rrm.c:1301,1
    - Dst: os_random
      Src: /src/hostap/wpa_supplicant/rrm.c:1302,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/rrm.c:1304,1
    - Dst: is_multicast_ether_addr
      Src: /src/hostap/wpa_supplicant/rrm.c:1308,1
    - Dst: wpas_rrm_report_elem
      Src: /src/hostap/wpa_supplicant/rrm.c:1309,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/rrm.c:1311,1
    - Dst: wpas_clear_beacon_rep_data
      Src: /src/hostap/wpa_supplicant/rrm.c:1315,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 74
    argCount: 6
    argNames:
    - wpa_s
    - elem_token
    - duration_mandatory
    - req
    - len
    - buf
    argTypes:
    - struct wpa_supplicant*
    - u8
    - int
    - struct rrm_measurement_beacon_request*
    - size_t
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1317
      start: 1212
    functionDepth: 7
    functionLinenumber: 1212
    functionLinenumberEnd: 1317
    functionName: wpas_rm_handle_beacon_req
    functionSourceFile: /src/hostap/wpa_supplicant/rrm.c
    functionUses: 0
    functionsReached:
    - wpas_rrm_report_elem
    - wpa_printf
    - os_memcpy
    - is_multicast_ether_addr
    - wpas_rm_handle_beacon_req_subelem
    - wpas_beacon_rep_table
    - os_get_random
    - os_random
    - wpas_clear_beacon_rep_data
    - wpas_beacon_request_freqs
    - eloop_register_timeout
    - le_to_host16
    - os_free
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpas_rm_handle_beacon_req(struct wpa_supplicant *wpa_s,\n\t\t\t
      \ u8 elem_token, int duration_mandatory,\n\t\t\t  const struct rrm_measurement_beacon_request
      *req,\n\t\t\t  size_t len, struct wpabuf **buf)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/rrm.c:1328,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/rrm.c:1333,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/rrm.c:1340,1
    - Dst: wpas_rrm_build_lci_report
      Src: /src/hostap/wpa_supplicant/rrm.c:1350,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/rrm.c:1355,1
    - Dst: wpas_rm_handle_beacon_req
      Src: /src/hostap/wpa_supplicant/rrm.c:1359,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/rrm.c:1364,1
    - Dst: is_multicast_ether_addr
      Src: /src/hostap/wpa_supplicant/rrm.c:1371,1
    - Dst: wpas_rrm_report_elem
      Src: /src/hostap/wpa_supplicant/rrm.c:1372,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/rrm.c:1375,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 3
    argNames:
    - wpa_s
    - req
    - buf
    argTypes:
    - struct wpa_supplicant*
    - struct rrm_measurement_request_element*
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1380
      start: 1320
    functionDepth: 8
    functionLinenumber: 1320
    functionLinenumberEnd: 1380
    functionName: wpas_rrm_handle_msr_req_element
    functionSourceFile: /src/hostap/wpa_supplicant/rrm.c
    functionUses: 0
    functionsReached:
    - wpas_rrm_report_elem
    - wpa_printf
    - is_multicast_ether_addr
    - wpas_rrm_build_lci_report
    - wpas_rm_handle_beacon_req
    linkageType: ''
    returnType: int
    signature: "int wpas_rrm_handle_msr_req_element(\n\tstruct wpa_supplicant *wpa_s,\n\tconst
      struct rrm_measurement_request_element *req,\n\tstruct wpabuf **buf)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/rrm.c:1394,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/rrm.c:1400,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/rrm.c:1407,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/rrm.c:1412,1
    - Dst: wpas_rrm_handle_msr_req_element
      Src: /src/hostap/wpa_supplicant/rrm.c:1416,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/rrm.c:1427,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 3
    argNames:
    - wpa_s
    - pos
    - len
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1429
      start: 1383
    functionDepth: 9
    functionLinenumber: 1383
    functionLinenumberEnd: 1429
    functionName: wpas_rrm_process_msr_req_elems
    functionSourceFile: /src/hostap/wpa_supplicant/rrm.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_free
    - wpas_rrm_handle_msr_req_element
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf *\nwpas_rrm_process_msr_req_elems(struct wpa_supplicant
      *wpa_s, const u8 *pos,\n\t\t\t       size_t len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/rrm.c:1439,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/rrm.c:1445,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/rrm.c:1451,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/rrm.c:1457,1
    - Dst: wpas_rrm_process_msr_req_elems
      Src: /src/hostap/wpa_supplicant/rrm.c:1461,1
    - Dst: wpas_rrm_send_msr_report
      Src: /src/hostap/wpa_supplicant/rrm.c:1465,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/rrm.c:1466,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 5
    argNames:
    - wpa_s
    - src
    - dst
    - frame
    - len
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1467
      start: 1432
    functionDepth: 10
    functionLinenumber: 1432
    functionLinenumberEnd: 1467
    functionName: wpas_rrm_handle_radio_measurement_request
    functionSourceFile: /src/hostap/wpa_supplicant/rrm.c
    functionUses: 1
    functionsReached:
    - wpas_rrm_send_msr_report
    - wpas_rrm_process_msr_req_elems
    - wpa_printf
    - os_memcpy
    - wpabuf_free
    linkageType: ''
    returnType: void
    signature: "void wpas_rrm_handle_radio_measurement_request(struct wpa_supplicant
      *wpa_s,\n\t\t\t\t\t       const u8 *src, const u8 *dst,\n\t\t\t\t\t       const
      u8 *frame, size_t len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/rrm.c:1480,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/rrm.c:1486,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/rrm.c:1492,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/rrm.c:1499,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/rrm.c:1504,1
    - Dst: rssi_to_rcpi
      Src: /src/hostap/wpa_supplicant/rrm.c:1513,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/rrm.c:1516,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/rrm.c:1518,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/rrm.c:1523,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/rrm.c:1524,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/wpa_supplicant/rrm.c:1525,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/wpa_supplicant/rrm.c:1526,1
    - Dst: wpa_drv_send_action
      Src: /src/hostap/wpa_supplicant/rrm.c:1528,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/rrm.c:1530,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/rrm.c:1530,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/rrm.c:1531,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/rrm.c:1534,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 5
    argNames:
    - wpa_s
    - src
    - frame
    - len
    - rssi
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1535
      start: 1470
    functionDepth: 3
    functionLinenumber: 1470
    functionLinenumberEnd: 1535
    functionName: wpas_rrm_handle_link_measurement_request
    functionSourceFile: /src/hostap/wpa_supplicant/rrm.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpa_drv_send_action
    - wpabuf_put_u8
    - wpabuf_put_data
    - wpabuf_len
    - wpa_hexdump_buf
    - wpabuf_free
    - wpabuf_head
    - wpabuf_alloc
    - rssi_to_rcpi
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void wpas_rrm_handle_link_measurement_request(struct wpa_supplicant
      *wpa_s,\n\t\t\t\t\t      const u8 *src,\n\t\t\t\t\t      const u8 *frame, size_t
      len,\n\t\t\t\t\t      int rssi)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/rrm.c:1544,1
    - Dst: for_each_link
      Src: /src/hostap/wpa_supplicant/rrm.c:1546,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/rrm.c:1547,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/rrm.c:1551,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/rrm.c:1552,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - wpa_s
    - bssid
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1555
      start: 1538
    functionDepth: 1
    functionLinenumber: 1538
    functionLinenumberEnd: 1555
    functionName: wpas_beacon_rep_scan_match
    functionSourceFile: /src/hostap/wpa_supplicant/rrm.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    - ether_addr_equal
    - for_each_link
    linkageType: ''
    returnType: bool
    signature: "bool wpas_beacon_rep_scan_match(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \      const u8 *bssid)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/rrm.c:1575,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/rrm.c:1576,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/rrm.c:1577,1
    - Dst: wpas_beacon_rep_scan_match
      Src: /src/hostap/wpa_supplicant/rrm.c:1579,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/rrm.c:1580,1
    - Dst: wpa_bss_get_bssid
      Src: /src/hostap/wpa_supplicant/rrm.c:1587,1
    - Dst: wpas_beacon_rep_scan_match
      Src: /src/hostap/wpa_supplicant/rrm.c:1594,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/rrm.c:1596,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/rrm.c:1599,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/rrm.c:1600,1
    - Dst: calculate_update_time
      Src: /src/hostap/wpa_supplicant/rrm.c:1617,1
    - Dst: os_reltime_sub
      Src: /src/hostap/wpa_supplicant/rrm.c:1620,1
    - Dst: os_reltime_before
      Src: /src/hostap/wpa_supplicant/rrm.c:1622,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/rrm.c:1625,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/rrm.c:1628,1
    - Dst: wpas_add_beacon_rep
      Src: /src/hostap/wpa_supplicant/rrm.c:1639,1
    - Dst: wpas_beacon_rep_no_results
      Src: /src/hostap/wpa_supplicant/rrm.c:1644,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/wpa_supplicant/rrm.c:1647,1
    - Dst: wpas_rrm_send_msr_report
      Src: /src/hostap/wpa_supplicant/rrm.c:1649,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/rrm.c:1650,1
    - Dst: wpas_rrm_refuse_request
      Src: /src/hostap/wpa_supplicant/rrm.c:1655,1
    - Dst: wpas_clear_beacon_rep_data
      Src: /src/hostap/wpa_supplicant/rrm.c:1657,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 51
    argCount: 3
    argNames:
    - wpa_s
    - scan_res
    - info
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_scan_results*
    - struct scan_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1659
      start: 1558
    functionDepth: 6
    functionLinenumber: 1558
    functionLinenumberEnd: 1659
    functionName: wpas_beacon_rep_scan_process
    functionSourceFile: /src/hostap/wpa_supplicant/rrm.c
    functionUses: 1
    functionsReached:
    - wpas_rrm_send_msr_report
    - wpa_printf
    - wpas_add_beacon_rep
    - wpas_rrm_refuse_request
    - wpa_bss_get_bssid
    - wpas_beacon_rep_scan_match
    - wpabuf_free
    - calculate_update_time
    - MAC2STR
    - os_reltime_sub
    - wpas_clear_beacon_rep_data
    - wpas_beacon_rep_no_results
    - os_reltime_before
    - wpa_hexdump_buf
    linkageType: ''
    returnType: int
    signature: "int wpas_beacon_rep_scan_process(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      struct wpa_scan_results *scan_res,\n\t\t\t\t struct scan_info *info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/rrm.c:1666,1
    - Dst: bitfield_free
      Src: /src/hostap/wpa_supplicant/rrm.c:1667,1
    - Dst: bitfield_free
      Src: /src/hostap/wpa_supplicant/rrm.c:1668,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/rrm.c:1669,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/rrm.c:1670,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1671
      start: 1662
    functionDepth: 1
    functionLinenumber: 1662
    functionLinenumberEnd: 1671
    functionName: wpas_clear_beacon_rep_data
    functionSourceFile: /src/hostap/wpa_supplicant/rrm.c
    functionUses: 5
    functionsReached:
    - eloop_cancel_timeout
    - os_free
    - os_memset
    - bitfield_free
    linkageType: ''
    returnType: void
    signature: void wpas_clear_beacon_rep_data(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: wpas_wps_clear_ap_info
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 0
    functionsReached:
    - os_free
    linkageType: ''
    returnType: void
    signature: void wpas_wps_clear_ap_info(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:68,1
    - Dst: wpa_supplicant_fast_associate
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:70,1
    - Dst: wpa_supplicant_req_scan
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 63
    functionDepth: 13
    functionLinenumber: 63
    functionLinenumberEnd: 72
    functionName: wpas_wps_assoc_with_cred
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_fast_associate
    - wpa_printf
    - wpa_supplicant_req_scan
    linkageType: ''
    returnType: void
    signature: void wpas_wps_assoc_with_cred(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:77,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: wpas_wps_assoc_with_cred_cancel
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 0
    functionsReached:
    - eloop_cancel_timeout
    linkageType: ''
    returnType: void
    signature: void wpas_wps_assoc_with_cred_cancel(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_bss_get_vendor_ie_multi_beacon
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:88,1
    - Dst: wpa_bss_get_vendor_ie_multi
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - bss
    argTypes:
    - struct wpa_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 91
    functionName: wpas_wps_get_wps_ie
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_bss_get_vendor_ie_multi
    - wpa_bss_get_vendor_ie_multi_beacon
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * wpas_wps_get_wps_ie(struct wpa_bss *bss)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpas_p2p_wps_eapol_cb
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:96,1
    - Dst: eap_is_wps_pin_enrollee
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:101,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:103,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:106,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:108,1
    - Dst: wpa_bssid_ignore_add
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:109,1
    - Dst: wpa_supplicant_deauthenticate
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:111,1
    - Dst: wpa_supplicant_req_scan
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:114,1
    - Dst: wpas_wps_clear_ap_info
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:120,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:121,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:123,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:133,1
    - Dst: wpa_supplicant_deauthenticate
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:137,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:140,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:149,1
    - Dst: wpa_supplicant_pick_network
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:151,1
    - Dst: wpas_wps_get_wps_ie
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:156,1
    - Dst: wps_parse_msg
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:157,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:161,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:170,1
    - Dst: wpas_wps_assoc_with_cred_cancel
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:171,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:172,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:180,1
    - Dst: wpas_clear_wps
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:182,1
    - Dst: wpa_supplicant_deauthenticate
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:184,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 51
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 94
    functionDepth: 9
    functionLinenumber: 94
    functionLinenumberEnd: 190
    functionName: wpas_wps_eapol_cb
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 1
    functionsReached:
    - wpas_wps_get_wps_ie
    - wpa_printf
    - wpas_p2p_wps_eapol_cb
    - wpa_supplicant_req_scan
    - wpa_msg
    - eloop_cancel_timeout
    - is_zero_ether_addr
    - wpa_bssid_ignore_add
    - wpabuf_free
    - wpas_clear_wps
    - MAC2STR
    - wpa_supplicant_deauthenticate
    - eap_is_wps_pin_enrollee
    - wpas_wps_clear_ap_info
    - wpas_wps_assoc_with_cred_cancel
    - eloop_register_timeout
    - wpa_supplicant_pick_network
    - wps_parse_msg
    linkageType: ''
    returnType: int
    signature: int wpas_wps_eapol_cb(struct wpa_supplicant *wpa_s)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_get_capa
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:212,1
    - Dst: wpa_bss_get
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:217,1
    - Dst: wpa_bss_get
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:219,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:222,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:227,1
    - Dst: wpa_bss_get_rsne
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:229,1
    - Dst: wpa_parse_wpa_ie
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:230,1
    - Dst: wpa_bss_get_vendor_ie
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:235,1
    - Dst: wpa_parse_wpa_ie
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:236,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:249,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:260,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:271,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 40
    argCount: 3
    argNames:
    - wpa_s
    - ssid
    - cred
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    - struct wps_credential*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 193
    functionDepth: 3
    functionLinenumber: 193
    functionLinenumberEnd: 278
    functionName: wpas_wps_security_workaround
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_drv_get_capa
    - wpa_parse_wpa_ie
    - wpa_bss_get_rsne
    - wpa_bss_get
    - wpa_bss_get_vendor_ie
    linkageType: ''
    returnType: void
    signature: "void wpas_wps_security_workaround(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      struct wpa_ssid *ssid,\n\t\t\t\t\t const struct wps_credential *cred)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:298,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:307,1
    - Dst: wpa_key_mgmt_wpa_psk
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:328,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:330,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:332,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:339,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:340,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:347,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:352,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:367,1
    - Dst: wpas_notify_network_removed
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:368,1
    - Dst: wpa_config_remove_network
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:369,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 44
    argCount: 2
    argNames:
    - wpa_s
    - new_ssid
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 281
    functionDepth: 5
    functionLinenumber: 281
    functionLinenumberEnd: 371
    functionName: wpas_wps_remove_dup_network
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_config_remove_network
    - ether_addr_equal
    - wpas_notify_network_removed
    - wpa_key_mgmt_wpa_psk
    - os_memcmp
    - os_strcmp
    linkageType: ''
    returnType: void
    signature: "void wpas_wps_remove_dup_network(struct wpa_supplicant *wpa_s,\n\t\t\t\t\tstruct
      wpa_ssid *new_ssid)"
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:388,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:390,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:392,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:394,1
    - Dst: wpas_notify_wps_credential
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:397,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:399,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:401,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:407,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:408,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:410,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:411,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:412,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:414,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:415,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:419,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:427,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:435,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:443,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:448,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:452,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:455,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:457,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:467,1
    - Dst: wpa_config_add_network
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:469,1
    - Dst: wpas_notify_network_added
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:483,1
    - Dst: wpa_config_set_network_defaults
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:486,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:489,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:490,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:492,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:529,1
    - Dst: is_p2p_6ghz_capable
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:548,1
    - Dst: hexstr2bin
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:562,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:564,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:571,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:572,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:575,1
    - Dst: wpa_config_update_psk
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:577,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:580,1
    - Dst: wpas_wps_security_workaround
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:588,1
    - Dst: wpas_wps_remove_dup_network
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:590,1
    - Dst: wpa_config_write
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:594,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:595,1
    - Dst: wpa_config_update_prio_list
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:601,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 157
    argCount: 2
    argNames:
    - ctx
    - cred
    argTypes:
    - void*
    - struct wps_credential*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 374
    functionDepth: 6
    functionLinenumber: 374
    functionLinenumberEnd: 611
    functionName: wpa_supplicant_wps_cred
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_config_set_network_defaults
    - wpa_config_update_psk
    - wpa_config_update_prio_list
    - wpa_hexdump_ascii
    - wpa_printf
    - wpa_snprintf_hex
    - wpa_config_add_network
    - wpas_wps_security_workaround
    - os_memcmp
    - os_free
    - wpa_config_write
    - wpa_hexdump_key
    - hexstr2bin
    - os_malloc
    - wpas_notify_network_added
    - wpas_wps_remove_dup_network
    - is_p2p_6ghz_capable
    - os_memcpy
    - wpa_msg
    - wpas_notify_wps_credential
    - MAC2STR
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_wps_cred(void *ctx,\n\t\t\t\t   const struct wps_credential
      *cred)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:617,1
    - Dst: wpas_notify_wps_event_m2d
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:620,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:623,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:632,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - wpa_s
    - m2d
    argTypes:
    - struct wpa_supplicant*
    - struct wps_event_m2d*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 614
    functionDepth: 1
    functionLinenumber: 614
    functionLinenumberEnd: 636
    functionName: wpa_supplicant_wps_event_m2d
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_notify_wps_event_m2d
    - eloop_register_timeout
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_wps_event_m2d(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      struct wps_event_m2d *m2d)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:642,1
    - Dst: wpas_clear_wps
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:643,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 639
    functionDepth: 1
    functionLinenumber: 639
    functionLinenumberEnd: 644
    functionName: wpas_wps_clear_timeout
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpas_clear_wps
    linkageType: ''
    returnType: void
    signature: void wpas_wps_clear_timeout(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:652,1
    - Dst: wps_ei_str
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:655,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:657,1
    - Dst: wps_ei_str
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:661,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:663,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:667,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:675,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:676,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:677,1
    - Dst: wpas_notify_wps_event_fail
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:679,1
    - Dst: wpas_p2p_wps_failed
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:680,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - wpa_s
    - fail
    argTypes:
    - struct wpa_supplicant*
    - struct wps_event_fail*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 647
    functionDepth: 1
    functionLinenumber: 647
    functionLinenumberEnd: 681
    functionName: wpa_supplicant_wps_event_fail
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpas_p2p_wps_failed
    - wpa_msg
    - eloop_cancel_timeout
    - eloop_register_timeout
    - wpas_notify_wps_event_fail
    - wps_ei_str
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_wps_event_fail(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \ struct wps_event_fail *fail)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:691,1
    - Dst: wpas_notify_network_enabled_changed
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:697,1
    - Dst: wpa_config_write
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:705,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:706,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 686
    functionDepth: 1
    functionLinenumber: 686
    functionLinenumberEnd: 711
    functionName: wpas_wps_reenable_networks
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 0
    functionsReached:
    - eloop_cancel_timeout
    - wpa_printf
    - wpa_config_write
    - wpas_notify_network_enabled_changed
    linkageType: ''
    returnType: void
    signature: void wpas_wps_reenable_networks(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_wps_reenable_networks
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:718,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 714
    functionDepth: 2
    functionLinenumber: 714
    functionLinenumberEnd: 719
    functionName: wpas_wps_reenable_networks_cb
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_wps_reenable_networks
    linkageType: ''
    returnType: void
    signature: void wpas_wps_reenable_networks_cb(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eloop_is_timeout_registered
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 726
    functionName: wpas_wps_reenable_networks_pending
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 1
    functionsReached:
    - eloop_is_timeout_registered
    linkageType: ''
    returnType: int
    signature: int wpas_wps_reenable_networks_pending(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:731,1
    - Dst: wpas_notify_wps_event_success
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:733,1
    - Dst: wpas_clear_temp_disabled
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:735,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:743,1
    - Dst: wpas_p2p_wps_success
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:746,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 729
    functionDepth: 4
    functionLinenumber: 729
    functionLinenumberEnd: 747
    functionName: wpa_supplicant_wps_event_success
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_clear_temp_disabled
    - wpa_msg
    - wpas_p2p_wps_success
    - eloop_register_timeout
    - wpas_notify_wps_event_success
    linkageType: ''
    returnType: void
    signature: void wpa_supplicant_wps_event_success(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uuid_bin2str
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:756,1
    - Dst: wps_dev_type_bin2str
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:758,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:763,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:765,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - wpa_s
    - ap
    argTypes:
    - struct wpa_supplicant*
    - struct wps_event_er_ap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 750
    functionDepth: 1
    functionLinenumber: 750
    functionLinenumberEnd: 772
    functionName: wpa_supplicant_wps_event_er_ap_add
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - uuid_bin2str
    - wps_dev_type_bin2str
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_wps_event_er_ap_add(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \      struct wps_event_er_ap *ap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uuid_bin2str
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:779,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:780,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - wpa_s
    - ap
    argTypes:
    - struct wpa_supplicant*
    - struct wps_event_er_ap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 775
    functionDepth: 1
    functionLinenumber: 775
    functionLinenumberEnd: 781
    functionName: wpa_supplicant_wps_event_er_ap_remove
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 0
    functionsReached:
    - uuid_bin2str
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_wps_event_er_ap_remove(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t\t
      \ struct wps_event_er_ap *ap)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uuid_bin2str
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:790,1
    - Dst: wps_dev_type_bin2str
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:792,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:797,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:800,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - wpa_s
    - enrollee
    argTypes:
    - struct wpa_supplicant*
    - struct wps_event_er_enrollee*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 784
    functionDepth: 1
    functionLinenumber: 784
    functionLinenumberEnd: 807
    functionName: wpa_supplicant_wps_event_er_enrollee_add
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - uuid_bin2str
    - wps_dev_type_bin2str
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_wps_event_er_enrollee_add(\n\tstruct wpa_supplicant
      *wpa_s, struct wps_event_er_enrollee *enrollee)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uuid_bin2str
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:814,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:815,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - wpa_s
    - enrollee
    argTypes:
    - struct wpa_supplicant*
    - struct wps_event_er_enrollee*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 810
    functionDepth: 1
    functionLinenumber: 810
    functionLinenumberEnd: 817
    functionName: wpa_supplicant_wps_event_er_enrollee_remove
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - uuid_bin2str
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_wps_event_er_enrollee_remove(\n\tstruct wpa_supplicant
      *wpa_s, struct wps_event_er_enrollee *enrollee)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:831,1
    - Dst: uuid_bin2str
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:836,1
    - Dst: wpa_msg_ctrl
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:838,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:841,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - wpa_s
    - ap_settings
    argTypes:
    - struct wpa_supplicant*
    - struct wps_event_er_ap_settings*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 820
    functionDepth: 1
    functionLinenumber: 820
    functionLinenumberEnd: 843
    functionName: wpa_supplicant_wps_event_er_ap_settings
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_ssid_txt
    - wpa_msg_ctrl
    - os_memcpy
    - uuid_bin2str
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_wps_event_er_ap_settings(\n\tstruct wpa_supplicant
      *wpa_s,\n\tstruct wps_event_er_ap_settings *ap_settings)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: uuid_bin2str
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:852,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:855,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:862,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:866,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - wpa_s
    - ev
    argTypes:
    - struct wpa_supplicant*
    - struct wps_event_er_set_selected_registrar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 846
    functionDepth: 1
    functionLinenumber: 846
    functionLinenumberEnd: 870
    functionName: wpa_supplicant_wps_event_er_set_sel_reg
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 0
    functionsReached:
    - uuid_bin2str
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_wps_event_er_set_sel_reg(\n\tstruct wpa_supplicant
      *wpa_s,\n\tstruct wps_event_er_set_selected_registrar *ev)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: wpa_supplicant_wps_event_m2d
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:879,1
    - Dst: wpa_supplicant_wps_event_fail
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:882,1
    - Dst: wpa_supplicant_wps_event_success
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:885,1
    - Dst: wpa_supplicant_ap_pwd_auth_fail
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:890,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:898,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:901,1
    - Dst: wpa_supplicant_wps_event_er_ap_add
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:904,1
    - Dst: wpa_supplicant_wps_event_er_ap_remove
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:907,1
    - Dst: wpa_supplicant_wps_event_er_enrollee_add
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:910,1
    - Dst: wpa_supplicant_wps_event_er_enrollee_remove
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:914,1
    - Dst: wpa_supplicant_wps_event_er_ap_settings
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:918,1
    - Dst: wpa_supplicant_wps_event_er_set_sel_reg
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:922,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 46
    argCount: 3
    argNames:
    - ctx
    - event
    - data
    argTypes:
    - void*
    - enum wps_event
    - union wps_event_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 873
    functionDepth: 5
    functionLinenumber: 873
    functionLinenumberEnd: 928
    functionName: wpa_supplicant_wps_event
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_ap_pwd_auth_fail
    - wpa_supplicant_wps_event_er_enrollee_add
    - wpa_supplicant_wps_event_m2d
    - wpa_supplicant_wps_event_er_ap_remove
    - wpa_msg
    - wpa_supplicant_wps_event_fail
    - wpa_supplicant_wps_event_er_ap_add
    - wpa_supplicant_wps_event_er_ap_settings
    - wpa_supplicant_wps_event_er_set_sel_reg
    - wpa_supplicant_wps_event_success
    - wpa_supplicant_wps_event_er_enrollee_remove
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_wps_event(void *ctx, enum wps_event event,\n\t\t\t\t
      \    union wps_event_data *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 940
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 940
    functionName: wpa_supplicant_wps_rf_band
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpa_supplicant_wps_rf_band(void *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_is_wps_pbc_enrollee
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:945,1
    - Dst: eap_is_wps_pin_enrollee
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:946,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ssid
    argTypes:
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 943
    functionDepth: 1
    functionLinenumber: 943
    functionLinenumberEnd: 950
    functionName: wpas_wps_get_req_type
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 1
    functionsReached:
    - eap_is_wps_pin_enrollee
    - eap_is_wps_pbc_enrollee
    linkageType: ''
    returnType: enum wps_request_type
    signature: enum wps_request_type wpas_wps_get_req_type(struct wpa_ssid *ssid)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpas_wps_reenable_networks
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:964,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:966,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:967,1
    - Dst: wpa_supplicant_deauthenticate
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:975,1
    - Dst: wpa_sm_set_config
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:985,1
    - Dst: eapol_sm_notify_config
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:986,1
    - Dst: wpas_notify_network_removed
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:989,1
    - Dst: wpa_config_remove_network
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:990,1
    - Dst: wpas_wps_clear_ap_info
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:994,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 953
    functionDepth: 5
    functionLinenumber: 953
    functionLinenumberEnd: 995
    functionName: wpas_clear_wps
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 2
    functionsReached:
    - wpa_config_remove_network
    - eapol_sm_notify_config
    - wpas_wps_reenable_networks
    - eloop_cancel_timeout
    - wpa_sm_set_config
    - wpas_notify_network_removed
    - wpa_supplicant_deauthenticate
    - wpas_wps_clear_ap_info
    linkageType: ''
    returnType: void
    signature: void wpas_clear_wps(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1003,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1005,1
    - Dst: wpas_notify_wps_event_fail
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1014,1
    - Dst: wpas_clear_wps
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1017,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 998
    functionDepth: 6
    functionLinenumber: 998
    functionLinenumberEnd: 1018
    functionName: wpas_wps_timeout
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_clear_wps
    - os_memset
    - wpas_notify_wps_event_fail
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: void wpas_wps_timeout(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_add_network
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1027,1
    - Dst: wpas_notify_network_added
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1030,1
    - Dst: wpa_config_set_network_defaults
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1031,1
    - Dst: wpa_config_set
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1033,1
    - Dst: wpa_config_set
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1034,1
    - Dst: wpa_config_set
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1035,1
    - Dst: wpas_notify_network_removed
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1038,1
    - Dst: wpa_config_remove_network
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1039,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1045,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1054,1
    - Dst: dl_list_for_each
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1063,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1064,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1067,1
    - Dst: os_memdup
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1068,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1072,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1079,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1081,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 4
    argNames:
    - wpa_s
    - registrar
    - dev_addr
    - bssid
    argTypes:
    - struct wpa_supplicant*
    - int
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1089
      start: 1021
    functionDepth: 5
    functionLinenumber: 1021
    functionLinenumberEnd: 1089
    functionName: wpas_wps_add_network
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_config_set_network_defaults
    - os_memcpy
    - wpa_printf
    - wpa_config_remove_network
    - os_memdup
    - wpa_config_add_network
    - ether_addr_equal
    - wpas_notify_network_added
    - wpas_notify_network_removed
    - dl_list_for_each
    - os_free
    - wpa_config_set
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: struct wpa_ssid
    signature: "struct wpa_ssid * wpas_wps_add_network(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \     int registrar, const u8 *dev_addr,\n\t\t\t\t\t      const u8 *bssid)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_supplicant_deauthenticate
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1099,1
    - Dst: wpas_notify_network_enabled_changed
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1119,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - wpa_s
    - selected
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1092
    functionDepth: 4
    functionLinenumber: 1092
    functionLinenumberEnd: 1125
    functionName: wpas_wps_temp_disable
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_deauthenticate
    - wpas_notify_network_enabled_changed
    linkageType: ''
    returnType: void
    signature: "void wpas_wps_temp_disable(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \ struct wpa_ssid *selected)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_bss_get_bssid_latest
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1143,1
    - Dst: wpas_wps_temp_disable
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1150,1
    - Dst: wpa_supplicant_cancel_sched_scan
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1159,1
    - Dst: wpa_supplicant_req_scan
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1160,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 4
    argNames:
    - wpa_s
    - selected
    - bssid
    - freq
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1161
      start: 1128
    functionDepth: 5
    functionLinenumber: 1128
    functionLinenumberEnd: 1161
    functionName: wpas_wps_reassoc
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_cancel_sched_scan
    - wpa_supplicant_req_scan
    - wpas_wps_temp_disable
    - wpa_bss_get_bssid_latest
    linkageType: ''
    returnType: void
    signature: "void wpas_wps_reassoc(struct wpa_supplicant *wpa_s,\n\t\t\t     struct
      wpa_ssid *selected, const u8 *bssid,\n\t\t\t     int freq)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1172,1
    - Dst: wpas_clear_wps
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1177,1
    - Dst: wpas_wps_add_network
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1178,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1192,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1195,1
    - Dst: wpas_p2p_try_edmg_channel
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1202,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1206,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1212,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1215,1
    - Dst: wpa_config_set_quoted
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1216,1
    - Dst: wpa_supplicant_wps_event
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1226,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1227,1
    - Dst: wpas_wps_reassoc
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1229,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 4
    argNames:
    - wpa_s
    - bssid
    - p2p_group
    - multi_ap_backhaul_sta
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1231
      start: 1164
    functionDepth: 6
    functionLinenumber: 1164
    functionLinenumberEnd: 1231
    functionName: wpas_wps_start_pbc
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 2
    functionsReached:
    - wpa_config_set_quoted
    - wpa_printf
    - os_memcpy
    - wpa_supplicant_wps_event
    - wpas_wps_reassoc
    - wpas_clear_wps
    - os_snprintf
    - os_zalloc
    - eloop_register_timeout
    - wpas_p2p_try_edmg_channel
    - wpa_hexdump_ascii
    - wpas_wps_add_network
    linkageType: ''
    returnType: int
    signature: "int wpas_wps_start_pbc(struct wpa_supplicant *wpa_s, const u8 *bssid,\n\t\t
      \      int p2p_group, int multi_ap_backhaul_sta)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1247,1
    - Dst: wpas_clear_wps
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1252,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1253,1
    - Dst: wpas_wps_add_network
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1255,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1257,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1270,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1272,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1277,1
    - Dst: wpa_snprintf_hex_uppercase
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1278,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1286,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1287,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1290,1
    - Dst: wpas_p2p_try_edmg_channel
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1297,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1301,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1307,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1310,1
    - Dst: wps_generate_pin
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1313,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1314,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1317,1
    - Dst: wpa_config_set
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1320,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1321,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1326,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1330,1
    - Dst: wpas_wps_reassoc
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1333,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 67
    argCount: 10
    argNames:
    - wpa_s
    - dev_addr
    - bssid
    - pin
    - p2p_group
    - dev_pw_id
    - peer_pubkey_hash
    - ssid_val
    - ssid_len
    - freq
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - char*
    - int
    - u16
    - u8*
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1335
      start: 1234
    functionDepth: 6
    functionLinenumber: 1234
    functionLinenumberEnd: 1335
    functionName: wpas_wps_start_dev_pw
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_msg
    - wpas_wps_reassoc
    - wpa_config_set
    - is_zero_ether_addr
    - os_malloc
    - wpa_snprintf_hex_uppercase
    - wps_generate_pin
    - wpas_clear_wps
    - os_snprintf
    - os_zalloc
    - eloop_register_timeout
    - wpas_p2p_try_edmg_channel
    - os_free
    - wpa_hexdump_ascii
    - wpas_wps_add_network
    linkageType: ''
    returnType: int
    signature: "int wpas_wps_start_dev_pw(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      const u8 *dev_addr, const u8 *bssid,\n\t\t\t\t const char *pin, int p2p_group,
      u16 dev_pw_id,\n\t\t\t\t const u8 *peer_pubkey_hash,\n\t\t\t\t const u8 *ssid_val,
      size_t ssid_len, int freq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1341,1
    - Dst: wpas_wps_start_dev_pw
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - wpa_s
    - bssid
    - pin
    - p2p_group
    - dev_pw_id
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - char*
    - int
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1344
      start: 1338
    functionDepth: 7
    functionLinenumber: 1338
    functionLinenumberEnd: 1344
    functionName: wpas_wps_start_pin
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 1
    functionsReached:
    - os_get_reltime
    - wpas_wps_start_dev_pw
    linkageType: ''
    returnType: int
    signature: "int wpas_wps_start_pin(struct wpa_supplicant *wpa_s, const u8 *bssid,\n\t\t
      \      const char *pin, int p2p_group, u16 dev_pw_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1351,1
    - Dst: wpas_notify_wps_event_fail
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1361
      start: 1347
    functionDepth: 1
    functionLinenumber: 1347
    functionLinenumberEnd: 1361
    functionName: wpas_wps_pbc_overlap
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 1
    functionsReached:
    - wpas_notify_wps_event_fail
    - os_memset
    linkageType: ''
    returnType: void
    signature: void wpas_wps_pbc_overlap(struct wpa_supplicant *wpa_s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1368,1
    - Dst: wpa_supplicant_ap_wps_cancel
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1369,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1375,1
    - Dst: wpa_supplicant_cancel_scan
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1376,1
    - Dst: wpas_clear_wps
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1377,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1379,1
    - Dst: wpa_supplicant_deauthenticate
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1382,1
    - Dst: wpas_clear_wps
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1384,1
    - Dst: wpas_wps_reenable_networks
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1386,1
    - Dst: wpas_wps_clear_ap_info
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1387,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1388,1
    - Dst: wpas_clear_wps
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1390,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1395,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1399
      start: 1364
    functionDepth: 6
    functionLinenumber: 1364
    functionLinenumberEnd: 1399
    functionName: wpas_wps_cancel
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - wpas_wps_reenable_networks
    - wpa_msg
    - eloop_cancel_timeout
    - wpas_clear_wps
    - wpa_supplicant_deauthenticate
    - wpas_wps_clear_ap_info
    - wpa_supplicant_ap_wps_cancel
    - wpa_supplicant_cancel_scan
    linkageType: ''
    returnType: int
    signature: int wpas_wps_cancel(struct wpa_supplicant *wpa_s)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1412,1
    - Dst: wpas_clear_wps
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1419,1
    - Dst: wpas_wps_add_network
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1420,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1426,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1427,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1431,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1435,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1439,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1440,1
    - Dst: wpa_config_set
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1442,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1446,1
    - Dst: wpas_wps_reassoc
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1448,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 4
    argNames:
    - wpa_s
    - bssid
    - pin
    - settings
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - char*
    - struct wps_new_ap_settings*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1450
      start: 1402
    functionDepth: 6
    functionLinenumber: 1402
    functionLinenumberEnd: 1450
    functionName: wpas_wps_start_reg
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpas_wps_reassoc
    - wpas_clear_wps
    - os_snprintf
    - eloop_register_timeout
    - os_snprintf_error
    - wpa_config_set
    - wpas_wps_add_network
    linkageType: ''
    returnType: int
    signature: "int wpas_wps_start_reg(struct wpa_supplicant *wpa_s, const u8 *bssid,\n\t\t
      \      const char *pin, struct wps_new_ap_settings *settings)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1457,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1458,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1460,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1462,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1465,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1465,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1467,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - ctx
    - mac_addr
    - p2p_dev_addr
    - psk
    - psk_len
    argTypes:
    - void*
    - u8*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1472
      start: 1453
    functionDepth: 1
    functionLinenumber: 1453
    functionLinenumberEnd: 1472
    functionName: wpas_wps_new_psk_cb
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    - is_zero_ether_addr
    - wpa_hexdump_key
    linkageType: ''
    returnType: int
    signature: "int wpas_wps_new_psk_cb(void *ctx, const u8 *mac_addr,\n\t\t\t       const
      u8 *p2p_dev_addr, const u8 *psk,\n\t\t\t       size_t psk_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: uuid_bin2str
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1481,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1483,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1484,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1486,1
    - Dst: wps_dev_type_bin2str
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1489,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1491,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1492,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - uuid_e
    - dev
    argTypes:
    - void*
    - u8*
    - struct wps_device_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1493
      start: 1475
    functionDepth: 1
    functionLinenumber: 1475
    functionLinenumberEnd: 1493
    functionName: wpas_wps_pin_needed_cb
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_snprintf
    - MAC2STR
    - uuid_bin2str
    - wps_dev_type_bin2str
    - os_snprintf_error
    linkageType: ''
    returnType: void
    signature: "void wpas_wps_pin_needed_cb(void *ctx, const u8 *uuid_e,\n\t\t\t\t
      \  const struct wps_device_data *dev)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1504,1
    - Dst: wps_er_set_sel_reg
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1507,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - sel_reg
    - dev_passwd_id
    - sel_reg_config_methods
    argTypes:
    - void*
    - int
    - u16
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1510
      start: 1496
    functionDepth: 1
    functionLinenumber: 1496
    functionLinenumberEnd: 1510
    functionName: wpas_wps_set_sel_reg_cb
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wps_er_set_sel_reg
    linkageType: ''
    returnType: void
    signature: "void wpas_wps_set_sel_reg_cb(void *ctx, int sel_reg, u16 dev_passwd_id,\n\t\t\t\t
      \   u16 sel_reg_config_methods)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1518,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1525,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - config_methods
    argTypes:
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1531
      start: 1513
    functionDepth: 0
    functionLinenumber: 1513
    functionLinenumberEnd: 1531
    functionName: wps_fix_config_methods
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: u16
    signature: u16 wps_fix_config_methods(u16 config_methods)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: is_nil_uuid
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1540,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1547,1
    - Dst: uuid_random
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1552,1
    - Dst: uuid_gen_mac_addr
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1555,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1559,1
    - Dst: uuid_bin2str
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1563,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1564,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - wpa_s
    - wps
    argTypes:
    - struct wpa_supplicant*
    - struct wps_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1565
      start: 1534
    functionDepth: 1
    functionLinenumber: 1534
    functionLinenumberEnd: 1565
    functionName: wpas_wps_set_uuid
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - is_nil_uuid
    - uuid_gen_mac_addr
    - wpa_dbg
    - uuid_random
    - uuid_bin2str
    linkageType: ''
    returnType: void
    signature: "void wpas_wps_set_uuid(struct wpa_supplicant *wpa_s,\n\t\t\t      struct
      wps_context *wps)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1571,1
    - Dst: wpabuf_dup
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1576,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1578,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - wpa_s
    - wps
    argTypes:
    - struct wpa_supplicant*
    - struct wps_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1582
      start: 1568
    functionDepth: 1
    functionLinenumber: 1568
    functionLinenumberEnd: 1582
    functionName: wpas_wps_set_vendor_ext_m1
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 0
    functionsReached:
    - wpabuf_dup
    - wpa_printf
    - wpabuf_free
    linkageType: ''
    returnType: void
    signature: "void wpas_wps_set_vendor_ext_m1(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \      struct wps_context *wps)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1592,1
    - Dst: wps_config_methods_str2bin
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1607,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1610,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1612,1
    - Dst: wps_fix_config_methods
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1615,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1617,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1621,1
    - Dst: wpas_wps_set_vendor_ext_m1
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1624,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1626,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1646,1
    - Dst: wpas_wps_set_uuid
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1647,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1657,1
    - Dst: wps_registrar_init
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1663,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1665,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1666,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 59
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1673
      start: 1585
    functionDepth: 2
    functionLinenumber: 1585
    functionLinenumberEnd: 1673
    functionName: wpas_wps_init
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 1
    functionsReached:
    - wps_fix_config_methods
    - wpa_printf
    - os_memcpy
    - wps_registrar_init
    - wpas_wps_set_uuid
    - wps_config_methods_str2bin
    - os_zalloc
    - wpas_wps_set_vendor_ext_m1
    - os_free
    - WPA_GET_BE32
    - os_memset
    linkageType: ''
    returnType: int
    signature: int wpas_wps_init(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1680,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1682,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - wps
    argTypes:
    - struct wps_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1686
      start: 1677
    functionDepth: 1
    functionLinenumber: 1677
    functionLinenumberEnd: 1686
    functionName: wpas_wps_nfc_clear
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 0
    functionsReached:
    - wpabuf_free
    linkageType: ''
    returnType: void
    signature: void wpas_wps_nfc_clear(struct wps_context *wps)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_wps_assoc_with_cred_cancel
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1692,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1693,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1694,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1695,1
    - Dst: wpas_wps_clear_ap_info
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1696,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1699,1
    - Dst: wps_er_deinit
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1706,1
    - Dst: wpas_wps_nfc_clear
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1708,1
    - Dst: wps_registrar_deinit
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1711,1
    - Dst: dh5_free
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1712,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1713,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1714,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1715,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1716,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1717,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1719
      start: 1690
    functionDepth: 2
    functionLinenumber: 1690
    functionLinenumberEnd: 1719
    functionName: wpas_wps_deinit
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 1
    functionsReached:
    - wps_registrar_deinit
    - dh5_free
    - eloop_cancel_timeout
    - wpabuf_free
    - wps_er_deinit
    - wpas_wps_assoc_with_cred_cancel
    - wpas_wps_clear_ap_info
    - wpas_wps_nfc_clear
    - os_free
    linkageType: ''
    returnType: void
    signature: void wpas_wps_deinit(struct wpa_supplicant *wpa_s)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpas_wps_get_wps_ie
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1730,1
    - Dst: eap_is_wps_pbc_enrollee
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1731,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1733,1
    - Dst: wps_is_selected_pbc_registrar
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1737,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1738,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1740,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1745,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1747,1
    - Dst: eap_is_wps_pin_enrollee
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1751,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1753,1
    - Dst: wps_is_addr_authorized
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1764,1
    - Dst: os_reltime_age
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1767,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1771,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1774,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1777,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1779,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1782,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1787,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1788,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 3
    argNames:
    - wpa_s
    - ssid
    - bss
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    - struct wpa_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1793
      start: 1722
    functionDepth: 3
    functionLinenumber: 1722
    functionLinenumberEnd: 1793
    functionName: wpas_wps_ssid_bss_match
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 1
    functionsReached:
    - wpas_wps_get_wps_ie
    - wpa_printf
    - wpabuf_free
    - wps_is_selected_pbc_registrar
    - wps_is_addr_authorized
    - eap_is_wps_pin_enrollee
    - os_reltime_age
    - eap_is_wps_pbc_enrollee
    linkageType: ''
    returnType: int
    signature: "int wpas_wps_ssid_bss_match(struct wpa_supplicant *wpa_s,\n\t\t\t
      \   struct wpa_ssid *ssid, struct wpa_bss *bss)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: eap_is_wps_pbc_enrollee
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1803,1
    - Dst: wpas_wps_get_wps_ie
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1804,1
    - Dst: wps_is_selected_pbc_registrar
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1805,1
    - Dst: eap_is_wps_pin_enrollee
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1809,1
    - Dst: wpas_wps_get_wps_ie
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1810,1
    - Dst: wps_is_addr_authorized
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1812,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1820,1
    - Dst: wps_validate_beacon_probe_resp
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1827,1
    - Dst: wpa_bss_get_vendor_ie_multi_beacon
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1832,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1835,1
    - Dst: wps_validate_beacon
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1839,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1841,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1847,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    argCount: 3
    argNames:
    - wpa_s
    - ssid
    - bss
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    - struct wpa_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1850
      start: 1796
    functionDepth: 3
    functionLinenumber: 1796
    functionLinenumberEnd: 1850
    functionName: wpas_wps_ssid_wildcard_ok
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 1
    functionsReached:
    - wpas_wps_get_wps_ie
    - wpa_printf
    - ether_addr_equal
    - wps_validate_beacon
    - wpabuf_free
    - wps_is_selected_pbc_registrar
    - wps_is_addr_authorized
    - eap_is_wps_pin_enrollee
    - wpa_bss_get_vendor_ie_multi_beacon
    - wps_validate_beacon_probe_resp
    - eap_is_wps_pbc_enrollee
    linkageType: ''
    returnType: int
    signature: "int wpas_wps_ssid_wildcard_ok(struct wpa_supplicant *wpa_s,\n\t\t\t
      \     struct wpa_ssid *ssid,\n\t\t\t      struct wpa_bss *bss)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1859,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1862,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1863,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1864,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1866,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1870,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1871,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1872,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1874,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 4
    argNames:
    - ap
    - selected
    - ssid
    - sel_uuid
    argTypes:
    - struct wps_ap_info*
    - struct wpa_bss*
    - struct wpa_ssid*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1880
      start: 1853
    functionDepth: 1
    functionLinenumber: 1853
    functionLinenumberEnd: 1880
    functionName: wpas_wps_is_pbc_overlap
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    - is_zero_ether_addr
    - ether_addr_equal
    - MAC2STR
    - os_memcmp
    linkageType: ''
    returnType: bool
    signature: "bool wpas_wps_is_pbc_overlap(struct wps_ap_info *ap,\n\t\t\t\t    struct
      wpa_bss *selected,\n\t\t\t\t    struct wpa_ssid *ssid,\n\t\t\t\t    const u8
      *sel_uuid)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: eap_is_wps_pbc_enrollee
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1892,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1895,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1897,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1898,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1899,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1901,1
    - Dst: wpa_bss_get_vendor_ie_multi
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1904,1
    - Dst: wps_get_uuid_e
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1906,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1907,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1910,1
    - Dst: wpas_wps_is_pbc_overlap
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1919,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1922,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1925,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1926,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1932,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - wpa_s
    - selected
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_bss*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1935
      start: 1883
    functionDepth: 2
    functionLinenumber: 1883
    functionLinenumberEnd: 1935
    functionName: wpas_wps_scan_pbc_overlap
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 1
    functionsReached:
    - wpas_wps_is_pbc_overlap
    - wpa_printf
    - wpa_hexdump
    - wpa_msg
    - is_zero_ether_addr
    - wpabuf_free
    - wps_get_uuid_e
    - MAC2STR
    - wpa_bss_get_vendor_ie_multi
    - eap_is_wps_pbc_enrollee
    linkageType: ''
    returnType: int
    signature: "int wpas_wps_scan_pbc_overlap(struct wpa_supplicant *wpa_s,\n\t\t\t
      \     struct wpa_bss *selected, struct wpa_ssid *ssid)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1946,1
    - Dst: wpas_wps_get_wps_ie
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1949,1
    - Dst: wps_is_selected_pbc_registrar
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1952,1
    - Dst: wps_is_addr_authorized
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1954,1
    - Dst: wps_is_selected_pin_registrar
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1956,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1960,1
    - Dst: wpa_msg_ctrl
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1964,1
    - Dst: wpa_msg_ctrl
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1966,1
    - Dst: wpa_msg_ctrl
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1968,1
    - Dst: wpa_msg_ctrl
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1970,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1971
      start: 1938
    functionDepth: 3
    functionLinenumber: 1938
    functionLinenumberEnd: 1971
    functionName: wpas_wps_notify_scan_results
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_wps_get_wps_ie
    - wpabuf_free
    - wps_is_selected_pbc_registrar
    - wps_is_addr_authorized
    - dl_list_for_each
    - wpa_msg_ctrl
    - wps_is_selected_pin_registrar
    linkageType: ''
    returnType: void
    signature: void wpas_wps_notify_scan_results(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1984
      start: 1974
    functionDepth: 0
    functionLinenumber: 1974
    functionLinenumberEnd: 1984
    functionName: wpas_wps_searching
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpas_wps_searching(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_11_vendor_ie_concat
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1993,1
    - Dst: wps_attr_text
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1997,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:1998,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - ies
    - ies_len
    - buf
    - end
    argTypes:
    - u8*
    - size_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2000
      start: 1987
    functionDepth: 1
    functionLinenumber: 1987
    functionLinenumberEnd: 2000
    functionName: wpas_wps_scan_result_text
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 1
    functionsReached:
    - wps_attr_text
    - wpabuf_free
    - ieee802_11_vendor_ie_concat
    linkageType: ''
    returnType: int
    signature: "int wpas_wps_scan_result_text(const u8 *ies, size_t ies_len, char
      *buf,\n\t\t\t      char *end)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wps_er_refresh
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2007,1
    - Dst: wps_er_init
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2010,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - wpa_s
    - filter
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2017
      start: 2003
    functionDepth: 1
    functionLinenumber: 2003
    functionLinenumberEnd: 2017
    functionName: wpas_wps_er_start
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 0
    functionsReached:
    - wps_er_init
    - wps_er_refresh
    linkageType: ''
    returnType: int
    signature: int wpas_wps_er_start(struct wpa_supplicant *wpa_s, const char *filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wps_er_deinit
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2023,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2026
      start: 2020
    functionDepth: 1
    functionLinenumber: 2020
    functionLinenumberEnd: 2026
    functionName: wpas_wps_er_stop
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 0
    functionsReached:
    - wps_er_deinit
    linkageType: ''
    returnType: void
    signature: void wpas_wps_er_stop(struct wpa_supplicant *wpa_s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2037,1
    - Dst: uuid_str2bin
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2038,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2040,1
    - Dst: wps_er_get_sta_uuid
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2041,1
    - Dst: wps_registrar_add_pin
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2046,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2048,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - wpa_s
    - addr
    - uuid
    - pin
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2049
      start: 2030
    functionDepth: 1
    functionLinenumber: 2030
    functionLinenumberEnd: 2049
    functionName: wpas_wps_er_add_pin
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 1
    functionsReached:
    - os_strlen
    - hwaddr_aton
    - wps_er_get_sta_uuid
    - wps_registrar_add_pin
    - uuid_str2bin
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: "int wpas_wps_er_add_pin(struct wpa_supplicant *wpa_s, const u8 *addr,\n\t\t\tconst
      char *uuid, const char *pin)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: uuid_str2bin
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2057,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2059,1
    - Dst: wps_er_pbc
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2063,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - wpa_s
    - uuid
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2064
      start: 2052
    functionDepth: 1
    functionLinenumber: 2052
    functionLinenumberEnd: 2064
    functionName: wpas_wps_er_pbc
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 0
    functionsReached:
    - hwaddr_aton
    - uuid_str2bin
    - wps_er_pbc
    linkageType: ''
    returnType: int
    signature: int wpas_wps_er_pbc(struct wpa_supplicant *wpa_s, const char *uuid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: uuid_str2bin
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2073,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2075,1
    - Dst: wps_er_learn
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2080,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2081,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - wpa_s
    - uuid
    - pin
    argTypes:
    - struct wpa_supplicant*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2082
      start: 2067
    functionDepth: 1
    functionLinenumber: 2067
    functionLinenumberEnd: 2082
    functionName: wpas_wps_er_learn
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 1
    functionsReached:
    - os_strlen
    - hwaddr_aton
    - wps_er_learn
    - uuid_str2bin
    linkageType: ''
    returnType: int
    signature: "int wpas_wps_er_learn(struct wpa_supplicant *wpa_s, const char *uuid,\n\t\t
      \     const char *pin)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2088,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2091,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2101,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2104,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2107,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - ssid
    - cred
    argTypes:
    - struct wpa_ssid*
    - struct wps_credential*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2116
      start: 2085
    functionDepth: 0
    functionLinenumber: 2085
    functionLinenumberEnd: 2116
    functionName: wpas_wps_network_to_cred
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_memcpy
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpas_wps_network_to_cred(struct wpa_ssid *ssid,\n\t\t\t\t    struct
      wps_credential *cred)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: uuid_str2bin
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2128,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2130,1
    - Dst: wpa_config_get_network
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2134,1
    - Dst: wpas_wps_network_to_cred
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2138,1
    - Dst: wps_er_set_config
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2140,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2141,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - wpa_s
    - uuid
    - id
    argTypes:
    - struct wpa_supplicant*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2143
      start: 2119
    functionDepth: 1
    functionLinenumber: 2119
    functionLinenumberEnd: 2143
    functionName: wpas_wps_er_set_config
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 1
    functionsReached:
    - wpas_wps_network_to_cred
    - hwaddr_aton
    - uuid_str2bin
    - wps_er_set_config
    - wpa_config_get_network
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpas_wps_er_set_config(struct wpa_supplicant *wpa_s, const char
      *uuid,\n\t\t\t   int id)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: uuid_str2bin
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2154,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2156,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2164,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2165,1
    - Dst: hexstr2bin
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2167,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2171,1
    - Dst: hexstr2bin
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2173,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2177,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2179,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2181,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2186,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2189,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2192,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2194,1
    - Dst: wps_er_config
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2199,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2200,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 30
    argCount: 4
    argNames:
    - wpa_s
    - uuid
    - pin
    - settings
    argTypes:
    - struct wpa_supplicant*
    - char*
    - char*
    - struct wps_new_ap_settings*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2201
      start: 2146
    functionDepth: 1
    functionLinenumber: 2146
    functionLinenumberEnd: 2201
    functionName: wpas_wps_er_config
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 1
    functionsReached:
    - os_strlen
    - hexstr2bin
    - hwaddr_aton
    - uuid_str2bin
    - wps_er_config
    - os_strcmp
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpas_wps_er_config(struct wpa_supplicant *wpa_s, const char *uuid,\n\t\t
      \      const char *pin, struct wps_new_ap_settings *settings)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: uuid_str2bin
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2215,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2217,1
    - Dst: wps_er_nfc_config_token
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2222,1
    - Dst: ndef_build_wifi
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2225,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2226,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - wpa_s
    - ndef
    - uuid
    argTypes:
    - struct wpa_supplicant*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2233
      start: 2205
    functionDepth: 1
    functionLinenumber: 2205
    functionLinenumberEnd: 2233
    functionName: wpas_wps_er_nfc_config_token
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 1
    functionsReached:
    - hwaddr_aton
    - wpabuf_free
    - ndef_build_wifi
    - wps_er_nfc_config_token
    - uuid_str2bin
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * wpas_wps_er_nfc_config_token(struct wpa_supplicant
      *wpa_s,\n\t\t\t\t\t     int ndef, const char *uuid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2241,1
    - Dst: eloop_terminate
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2244
      start: 2239
    functionDepth: 0
    functionLinenumber: 2239
    functionLinenumberEnd: 2244
    functionName: wpas_wps_terminate_cb
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 0
    functionsReached:
    - eloop_terminate
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void wpas_wps_terminate_cb(void *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wps_er_deinit
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2259
      start: 2248
    functionDepth: 1
    functionLinenumber: 2248
    functionLinenumberEnd: 2259
    functionName: wpas_wps_terminate_pending
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 1
    functionsReached:
    - wps_er_deinit
    linkageType: ''
    returnType: int
    signature: int wpas_wps_terminate_pending(struct wpa_supplicant *wpa_s)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wps_config_methods_str2bin
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2270,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2275,1
    - Dst: wps_fix_config_methods
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2281,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2285,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2290,1
    - Dst: wpas_wps_set_vendor_ext_m1
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2295,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2298,1
    - Dst: wpas_wps_set_uuid
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2301,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2312
      start: 2262
    functionDepth: 2
    functionLinenumber: 2262
    functionLinenumberEnd: 2312
    functionName: wpas_wps_update_config
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 1
    functionsReached:
    - wps_fix_config_methods
    - wpa_printf
    - os_memcpy
    - wpas_wps_set_uuid
    - wps_config_methods_str2bin
    - wpas_wps_set_vendor_ext_m1
    - WPA_GET_BE32
    linkageType: ''
    returnType: void
    signature: void wpas_wps_update_config(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2321,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2322
      start: 2315
    functionDepth: 0
    functionLinenumber: 2315
    functionLinenumberEnd: 2322
    functionName: wpas_wps_update_mac_addr
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    linkageType: ''
    returnType: void
    signature: void wpas_wps_update_mac_addr(struct wpa_supplicant *wpa_s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpas_wps_network_to_cred
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2335,1
    - Dst: wps_er_config_token_from_cred
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2338,1
    - Dst: ndef_build_wifi
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2342,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2343,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - wpa_s
    - ndef
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - int
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2350
      start: 2328
    functionDepth: 1
    functionLinenumber: 2328
    functionLinenumberEnd: 2350
    functionName: wpas_wps_network_config_token
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_wps_network_to_cred
    - wpabuf_free
    - ndef_build_wifi
    - wps_er_config_token_from_cred
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf *\nwpas_wps_network_config_token(struct wpa_supplicant
      *wpa_s, int ndef,\n\t\t\t      struct wpa_ssid *ssid)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2363,1
    - Dst: wpa_config_get_network
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2367,1
    - Dst: wpas_wps_network_config_token
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2370,1
    - Dst: wpas_ap_wps_nfc_config_token
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2375,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - wpa_s
    - ndef
    - id_str
    argTypes:
    - struct wpa_supplicant*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2378
      start: 2354
    functionDepth: 2
    functionLinenumber: 2354
    functionLinenumberEnd: 2378
    functionName: wpas_wps_nfc_config_token
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 1
    functionsReached:
    - strtol
    - wpa_config_get_network
    - wpas_wps_network_config_token
    - wpas_ap_wps_nfc_config_token
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * wpas_wps_nfc_config_token(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \ int ndef, const char *id_str)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wps_nfc_token_build
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2384,1
    - Dst: wps_nfc_token_gen
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2390,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - wpa_s
    - ndef
    argTypes:
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2394
      start: 2381
    functionDepth: 1
    functionLinenumber: 2381
    functionLinenumberEnd: 2394
    functionName: wpas_wps_nfc_token
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 2
    functionsReached:
    - wps_nfc_token_build
    - wps_nfc_token_gen
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * wpas_wps_nfc_token(struct wpa_supplicant *wpa_s, int
      ndef)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2413,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2419,1
    - Dst: dh5_free
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2424,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2425,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2426,1
    - Dst: wpabuf_dup
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2427,1
    - Dst: wpabuf_dup
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2428,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2431,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2433,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2435,1
    - Dst: dh5_init_fixed
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2438,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2440,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2442,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2444,1
    - Dst: wpa_snprintf_hex_uppercase
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2449,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2450,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2451,1
    - Dst: wpas_wps_start_dev_pw
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2453,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 10
    argNames:
    - wpa_s
    - go_dev_addr
    - bssid
    - dev_pw
    - dev_pw_id
    - p2p_group
    - peer_pubkey_hash
    - ssid
    - ssid_len
    - freq
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - struct wpabuf*
    - u16
    - int
    - u8*
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2457
      start: 2397
    functionDepth: 7
    functionLinenumber: 2397
    functionLinenumberEnd: 2457
    functionName: wpas_wps_start_nfc
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 1
    functionsReached:
    - wpabuf_dup
    - wpa_printf
    - dh5_free
    - wpabuf_len
    - wpabuf_free
    - wpa_snprintf_hex_uppercase
    - dh5_init_fixed
    - wpabuf_head
    - wpas_wps_start_dev_pw
    linkageType: ''
    returnType: int
    signature: "int wpas_wps_start_nfc(struct wpa_supplicant *wpa_s, const u8 *go_dev_addr,\n\t\t
      \      const u8 *bssid,\n\t\t       const struct wpabuf *dev_pw, u16 dev_pw_id,\n\t\t
      \      int p2p_group, const u8 *peer_pubkey_hash,\n\t\t       const u8 *ssid,
      size_t ssid_len, int freq)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpas_wps_temp_disable
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2468,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2469,1
    - Dst: wps_oob_use_cred
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2472,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2479,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2490,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2497,1
    - Dst: wpa_supplicant_reinit_autoscan
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2500,1
    - Dst: wpa_supplicant_cancel_sched_scan
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2504,1
    - Dst: wpa_supplicant_req_scan
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2505,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - wpa_s
    - attr
    argTypes:
    - struct wpa_supplicant*
    - struct wps_parse_attr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2508
      start: 2460
    functionDepth: 5
    functionLinenumber: 2460
    functionLinenumberEnd: 2508
    functionName: wpas_wps_use_cred
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_cancel_sched_scan
    - WPA_GET_BE16
    - wpa_printf
    - wpa_supplicant_req_scan
    - wpa_supplicant_reinit_autoscan
    - wps_oob_use_cred
    - eloop_register_timeout
    - wpas_wps_temp_disable
    linkageType: ''
    returnType: int
    signature: "int wpas_wps_use_cred(struct wpa_supplicant *wpa_s,\n\t\t\t     struct
      wps_parse_attr *attr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wps_registrar_add_nfc_password_token
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - attr
    argTypes:
    - struct wpa_supplicant*
    - struct wps_parse_attr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2518
      start: 2512
    functionDepth: 1
    functionLinenumber: 2512
    functionLinenumberEnd: 2518
    functionName: wpas_wps_add_nfc_password_token
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 0
    functionsReached:
    - wps_registrar_add_nfc_password_token
    linkageType: ''
    returnType: int
    signature: "int wpas_wps_add_nfc_password_token(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \  struct wps_parse_attr *attr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2527,1
    - Dst: wps_parse_msg
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2529,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2530,1
    - Dst: wpas_wps_use_cred
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2535,1
    - Dst: wpas_wps_add_nfc_password_token
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2539,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2542,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - wpa_s
    - wps
    argTypes:
    - struct wpa_supplicant*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2544
      start: 2522
    functionDepth: 6
    functionLinenumber: 2522
    functionLinenumberEnd: 2544
    functionName: wpas_wps_nfc_tag_process
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump_buf
    - wpas_wps_use_cred
    - wpas_wps_add_nfc_password_token
    - wps_parse_msg
    linkageType: ''
    returnType: int
    signature: "int wpas_wps_nfc_tag_process(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \   const struct wpabuf *wps)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2554,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2557,1
    - Dst: ndef_parse_wifi
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2559,1
    - Dst: ndef_parse_p2p
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2562,1
    - Dst: wpas_p2p_nfc_tag_process
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2564,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2566,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2570,1
    - Dst: wpas_wps_nfc_tag_process
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2576,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2577,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - wpa_s
    - data
    - forced_freq
    argTypes:
    - struct wpa_supplicant*
    - struct wpabuf*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2579
      start: 2547
    functionDepth: 7
    functionLinenumber: 2547
    functionLinenumberEnd: 2579
    functionName: wpas_wps_nfc_tag_read
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpas_wps_nfc_tag_process
    - wpabuf_head_u8
    - wpabuf_len
    - wpabuf_free
    - ndef_parse_p2p
    - wpas_p2p_nfc_tag_process
    - ndef_parse_wifi
    linkageType: ''
    returnType: int
    signature: "int wpas_wps_nfc_tag_read(struct wpa_supplicant *wpa_s,\n\t\t\t  const
      struct wpabuf *data, int forced_freq)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wps_nfc_gen_dh
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2588,1
    - Dst: wps_build_nfc_handover_req
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2592,1
    - Dst: ndef_build_wifi
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2597,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2598,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - wpa_s
    - ndef
    argTypes:
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2605
      start: 2582
    functionDepth: 1
    functionLinenumber: 2582
    functionLinenumberEnd: 2605
    functionName: wpas_wps_nfc_handover_req
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 1
    functionsReached:
    - wpabuf_free
    - wps_build_nfc_handover_req
    - ndef_build_wifi
    - wps_nfc_gen_dh
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * wpas_wps_nfc_handover_req(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \ int ndef)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: uuid_str2bin
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2625,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2627,1
    - Dst: wps_nfc_gen_dh
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2633,1
    - Dst: wpas_wps_nfc_clear
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2638,1
    - Dst: wpabuf_dup
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2640,1
    - Dst: wpabuf_dup
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2641,1
    - Dst: wpas_wps_nfc_clear
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2643,1
    - Dst: wps_er_nfc_handover_sel
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2647,1
    - Dst: ndef_build_wifi
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2651,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2652,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - wpa_s
    - ndef
    - uuid
    argTypes:
    - struct wpa_supplicant*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2662
      start: 2610
    functionDepth: 2
    functionLinenumber: 2610
    functionLinenumberEnd: 2662
    functionName: wpas_wps_er_nfc_handover_sel
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 0
    functionsReached:
    - wpabuf_dup
    - hwaddr_aton
    - wps_er_nfc_handover_sel
    - ndef_build_wifi
    - wpabuf_free
    - uuid_str2bin
    - wpas_wps_nfc_clear
    - wps_nfc_gen_dh
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf *\nwpas_wps_er_nfc_handover_sel(struct wpa_supplicant
      *wpa_s, int ndef,\n\t\t\t     const char *uuid)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpas_ap_wps_nfc_handover_sel
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2672,1
    - Dst: wpas_wps_er_nfc_handover_sel
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2675,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - wpa_s
    - ndef
    - cr
    - uuid
    argTypes:
    - struct wpa_supplicant*
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2676
      start: 2666
    functionDepth: 3
    functionLinenumber: 2666
    functionLinenumberEnd: 2676
    functionName: wpas_wps_nfc_handover_sel
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 1
    functionsReached:
    - wpas_ap_wps_nfc_handover_sel
    - wpas_wps_er_nfc_handover_sel
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * wpas_wps_nfc_handover_sel(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \ int ndef, int cr, const char *uuid)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ndef_parse_wifi
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2692,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2695,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2697,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2698,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2699,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2703,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2704,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2705,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2706,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2712,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2715,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2716,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2718,1
    - Dst: wpabuf_set
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2721,1
    - Dst: wps_parse_msg
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2722,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2724,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2731,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2738,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2744,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2748,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2749,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2753,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2756,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2758,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2777,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2783,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2785,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2788,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2793,1
    - Dst: wpas_wps_start_nfc
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2796,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2801,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 77
    argCount: 2
    argNames:
    - wpa_s
    - data
    argTypes:
    - struct wpa_supplicant*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2803
      start: 2679
    functionDepth: 8
    functionLinenumber: 2679
    functionLinenumberEnd: 2803
    functionName: wpas_wps_nfc_rx_handover_sel
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - WPA_GET_BE16
    - wpas_wps_start_nfc
    - wpa_hexdump
    - wpabuf_len
    - wpabuf_free
    - wps_parse_msg
    - wpabuf_head
    - wpabuf_set
    - MAC2STR
    - ndef_parse_wifi
    - wpa_hexdump_ascii
    - wpa_hexdump_buf
    linkageType: ''
    returnType: int
    signature: "int wpas_wps_nfc_rx_handover_sel(struct wpa_supplicant *wpa_s,\n\t\t\t\t\tconst
      struct wpabuf *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2810,1
    - Dst: wpa_hexdump_buf_key
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2811,1
    - Dst: wpa_hexdump_buf_key
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2812,1
    - Dst: wpas_wps_nfc_rx_handover_sel
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2813,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - wpa_s
    - req
    - sel
    argTypes:
    - struct wpa_supplicant*
    - struct wpabuf*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2814
      start: 2806
    functionDepth: 9
    functionLinenumber: 2806
    functionLinenumberEnd: 2814
    functionName: wpas_wps_nfc_report_handover
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpa_hexdump_buf_key
    - wpas_wps_nfc_rx_handover_sel
    linkageType: ''
    returnType: int
    signature: "int wpas_wps_nfc_report_handover(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      const struct wpabuf *req,\n\t\t\t\t const struct wpabuf *sel)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ndef_parse_wifi
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2833,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2836,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2838,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2839,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2840,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2844,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2845,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2846,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2847,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2853,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2856,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2857,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2859,1
    - Dst: wpabuf_set
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2862,1
    - Dst: wps_parse_msg
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2863,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2865,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2872,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2879,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2885,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2887,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2889,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2892,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2897,1
    - Dst: wps_registrar_add_nfc_pw_token
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2900,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2906,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 57
    argCount: 3
    argNames:
    - wpa_s
    - req
    - sel
    argTypes:
    - struct wpa_supplicant*
    - struct wpabuf*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2908
      start: 2817
    functionDepth: 1
    functionLinenumber: 2817
    functionLinenumberEnd: 2908
    functionName: wpas_er_wps_nfc_report_handover
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - WPA_GET_BE16
    - wpa_hexdump
    - wpabuf_len
    - wpabuf_free
    - wps_parse_msg
    - wpabuf_head
    - wpabuf_set
    - wps_registrar_add_nfc_pw_token
    - ndef_parse_wifi
    - wpa_hexdump_buf
    linkageType: ''
    returnType: int
    signature: "int wpas_er_wps_nfc_report_handover(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \   const struct wpabuf *req,\n\t\t\t\t    const struct wpabuf *sel)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2924,1
    - Dst: wpa_bssid_ignore_get
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2928,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2931,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2933,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2938
      start: 2913
    functionDepth: 2
    functionLinenumber: 2913
    functionLinenumberEnd: 2938
    functionName: wpas_wps_dump_ap_info
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_bssid_ignore_get
    - MAC2STR
    - os_get_reltime
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void wpas_wps_dump_ap_info(struct wpa_supplicant *wpa_s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2951,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - wpa_s
    - bssid
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2956
      start: 2941
    functionDepth: 1
    functionLinenumber: 2941
    functionLinenumberEnd: 2956
    functionName: wpas_wps_get_ap_info
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 0
    functionsReached:
    - ether_addr_equal
    linkageType: ''
    returnType: struct wps_ap_info
    signature: "struct wps_ap_info * wpas_wps_get_ap_info(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t\t
      const u8 *bssid)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: wpa_scan_get_vendor_ie
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2968,1
    - Dst: wpa_scan_get_vendor_ie_multi
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2971,1
    - Dst: wps_is_addr_authorized
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2975,1
    - Dst: wps_get_uuid_e
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2983,1
    - Dst: wps_is_selected_pbc_registrar
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2984,1
    - Dst: wpas_wps_get_ap_info
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2986,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2989,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2991,1
    - Dst: wpa_bssid_ignore_del
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2994,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:2998,1
    - Dst: os_realloc_array
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:3002,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:3011,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:3012,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:3016,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:3017,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:3018,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:3021,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 2
    argNames:
    - wpa_s
    - res
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_scan_res*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3022
      start: 2959
    functionDepth: 2
    functionLinenumber: 2959
    functionLinenumberEnd: 3022
    functionName: wpas_wps_update_ap_info_bss
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_scan_get_vendor_ie
    - wpa_printf
    - os_memcpy
    - os_memset
    - wpabuf_free
    - wpa_scan_get_vendor_ie_multi
    - wps_is_selected_pbc_registrar
    - wps_get_uuid_e
    - wps_is_addr_authorized
    - MAC2STR
    - wpa_bssid_ignore_del
    - wpas_wps_get_ap_info
    - os_realloc_array
    linkageType: ''
    returnType: void
    signature: "void wpas_wps_update_ap_info_bss(struct wpa_supplicant *wpa_s,\n\t\t\t\t\tstruct
      wpa_scan_res *res)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_wps_update_ap_info_bss
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:3031,1
    - Dst: wpas_wps_dump_ap_info
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:3033,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - scan_res
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_scan_results*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3034
      start: 3025
    functionDepth: 3
    functionLinenumber: 3025
    functionLinenumberEnd: 3034
    functionName: wpas_wps_update_ap_info
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 1
    functionsReached:
    - wpas_wps_update_ap_info_bss
    - wpas_wps_dump_ap_info
    linkageType: ''
    returnType: void
    signature: "void wpas_wps_update_ap_info(struct wpa_supplicant *wpa_s,\n\t\t\t
      \    struct wpa_scan_results *scan_res)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_wps_supplicant_fast_associate
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:3054,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3060
      start: 3037
    functionDepth: 13
    functionLinenumber: 3037
    functionLinenumberEnd: 3060
    functionName: wpas_wps_partner_link_scan_done
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 1
    functionsReached:
    - wpa_wps_supplicant_fast_associate
    linkageType: ''
    returnType: bool
    signature: bool wpas_wps_partner_link_scan_done(struct wpa_supplicant *wpa_s)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3076
      start: 3063
    functionDepth: 0
    functionLinenumber: 3063
    functionLinenumberEnd: 3076
    functionName: wpas_wps_partner_link_overlap_detect
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool wpas_wps_partner_link_overlap_detect(struct wpa_supplicant *wpa_s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpas_wps_get_ap_info
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:3087,1
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/wps_supplicant.c:3091,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - wpa_s
    - bssid
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3092
      start: 3079
    functionDepth: 2
    functionLinenumber: 3079
    functionLinenumberEnd: 3092
    functionName: wpas_wps_notify_assoc
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.c
    functionUses: 1
    functionsReached:
    - os_get_reltime
    - wpas_wps_get_ap_info
    linkageType: ''
    returnType: void
    signature: void wpas_wps_notify_assoc(struct wpa_supplicant *wpa_s, const u8 *bssid)
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: eap_peer_md5_register
      Src: /src/hostap/wpa_supplicant/eap_register.c:30,1
    - Dst: eap_peer_tls_register
      Src: /src/hostap/wpa_supplicant/eap_register.c:35,1
    - Dst: eap_peer_unauth_tls_register
      Src: /src/hostap/wpa_supplicant/eap_register.c:40,1
    - Dst: eap_peer_mschapv2_register
      Src: /src/hostap/wpa_supplicant/eap_register.c:45,1
    - Dst: eap_peer_peap_register
      Src: /src/hostap/wpa_supplicant/eap_register.c:50,1
    - Dst: eap_peer_ttls_register
      Src: /src/hostap/wpa_supplicant/eap_register.c:55,1
    - Dst: eap_peer_gtc_register
      Src: /src/hostap/wpa_supplicant/eap_register.c:60,1
    - Dst: eap_peer_otp_register
      Src: /src/hostap/wpa_supplicant/eap_register.c:65,1
    - Dst: eap_peer_sim_register
      Src: /src/hostap/wpa_supplicant/eap_register.c:70,1
    - Dst: eap_peer_leap_register
      Src: /src/hostap/wpa_supplicant/eap_register.c:75,1
    - Dst: eap_peer_psk_register
      Src: /src/hostap/wpa_supplicant/eap_register.c:80,1
    - Dst: eap_peer_aka_register
      Src: /src/hostap/wpa_supplicant/eap_register.c:85,1
    - Dst: eap_peer_aka_prime_register
      Src: /src/hostap/wpa_supplicant/eap_register.c:90,1
    - Dst: eap_peer_fast_register
      Src: /src/hostap/wpa_supplicant/eap_register.c:95,1
    - Dst: eap_peer_teap_register
      Src: /src/hostap/wpa_supplicant/eap_register.c:100,1
    - Dst: eap_peer_pax_register
      Src: /src/hostap/wpa_supplicant/eap_register.c:105,1
    - Dst: eap_peer_sake_register
      Src: /src/hostap/wpa_supplicant/eap_register.c:110,1
    - Dst: eap_peer_gpsk_register
      Src: /src/hostap/wpa_supplicant/eap_register.c:115,1
    - Dst: eap_peer_wsc_register
      Src: /src/hostap/wpa_supplicant/eap_register.c:120,1
    - Dst: eap_peer_ikev2_register
      Src: /src/hostap/wpa_supplicant/eap_register.c:125,1
    - Dst: eap_peer_vendor_test_register
      Src: /src/hostap/wpa_supplicant/eap_register.c:130,1
    - Dst: eap_peer_tnc_register
      Src: /src/hostap/wpa_supplicant/eap_register.c:135,1
    - Dst: eap_peer_pwd_register
      Src: /src/hostap/wpa_supplicant/eap_register.c:140,1
    - Dst: eap_peer_eke_register
      Src: /src/hostap/wpa_supplicant/eap_register.c:145,1
    - Dst: eap_server_identity_register
      Src: /src/hostap/wpa_supplicant/eap_register.c:150,1
    - Dst: eap_server_md5_register
      Src: /src/hostap/wpa_supplicant/eap_register.c:155,1
    - Dst: eap_server_tls_register
      Src: /src/hostap/wpa_supplicant/eap_register.c:160,1
    - Dst: eap_server_unauth_tls_register
      Src: /src/hostap/wpa_supplicant/eap_register.c:165,1
    - Dst: eap_server_mschapv2_register
      Src: /src/hostap/wpa_supplicant/eap_register.c:170,1
    - Dst: eap_server_peap_register
      Src: /src/hostap/wpa_supplicant/eap_register.c:175,1
    - Dst: eap_server_tlv_register
      Src: /src/hostap/wpa_supplicant/eap_register.c:180,1
    - Dst: eap_server_gtc_register
      Src: /src/hostap/wpa_supplicant/eap_register.c:185,1
    - Dst: eap_server_ttls_register
      Src: /src/hostap/wpa_supplicant/eap_register.c:190,1
    - Dst: eap_server_sim_register
      Src: /src/hostap/wpa_supplicant/eap_register.c:195,1
    - Dst: eap_server_aka_register
      Src: /src/hostap/wpa_supplicant/eap_register.c:200,1
    - Dst: eap_server_aka_prime_register
      Src: /src/hostap/wpa_supplicant/eap_register.c:205,1
    - Dst: eap_server_pax_register
      Src: /src/hostap/wpa_supplicant/eap_register.c:210,1
    - Dst: eap_server_psk_register
      Src: /src/hostap/wpa_supplicant/eap_register.c:215,1
    - Dst: eap_server_sake_register
      Src: /src/hostap/wpa_supplicant/eap_register.c:220,1
    - Dst: eap_server_gpsk_register
      Src: /src/hostap/wpa_supplicant/eap_register.c:225,1
    - Dst: eap_server_vendor_test_register
      Src: /src/hostap/wpa_supplicant/eap_register.c:230,1
    - Dst: eap_server_fast_register
      Src: /src/hostap/wpa_supplicant/eap_register.c:235,1
    - Dst: eap_server_teap_register
      Src: /src/hostap/wpa_supplicant/eap_register.c:240,1
    - Dst: eap_server_wsc_register
      Src: /src/hostap/wpa_supplicant/eap_register.c:245,1
    - Dst: eap_server_ikev2_register
      Src: /src/hostap/wpa_supplicant/eap_register.c:250,1
    - Dst: eap_server_tnc_register
      Src: /src/hostap/wpa_supplicant/eap_register.c:255,1
    - Dst: eap_server_pwd_register
      Src: /src/hostap/wpa_supplicant/eap_register.c:260,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 96
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 264
    functionName: eap_register_methods
    functionSourceFile: /src/hostap/wpa_supplicant/eap_register.c
    functionUses: 3
    functionsReached:
    - eap_peer_peap_register
    - eap_server_psk_register
    - eap_peer_teap_register
    - eap_peer_pax_register
    - eap_peer_aka_prime_register
    - eap_peer_ikev2_register
    - eap_server_gpsk_register
    - eap_server_tnc_register
    - eap_server_pax_register
    - eap_server_pwd_register
    - eap_peer_unauth_tls_register
    - eap_peer_gpsk_register
    - eap_server_ttls_register
    - eap_peer_mschapv2_register
    - eap_server_gtc_register
    - eap_server_teap_register
    - eap_peer_ttls_register
    - eap_server_aka_prime_register
    - eap_server_sim_register
    - eap_peer_otp_register
    - eap_server_aka_register
    - eap_peer_aka_register
    - eap_peer_vendor_test_register
    - eap_peer_psk_register
    - eap_server_ikev2_register
    - eap_server_tls_register
    - eap_peer_eke_register
    - eap_server_tlv_register
    - eap_peer_pwd_register
    - eap_server_peap_register
    - eap_server_sake_register
    - eap_server_identity_register
    - eap_peer_tls_register
    - eap_peer_sim_register
    - eap_server_fast_register
    - eap_peer_tnc_register
    - eap_peer_gtc_register
    - eap_peer_leap_register
    - eap_server_wsc_register
    - eap_server_mschapv2_register
    - eap_server_unauth_tls_register
    - eap_server_vendor_test_register
    - eap_server_md5_register
    - eap_peer_wsc_register
    - eap_peer_sake_register
    - eap_peer_fast_register
    - eap_peer_md5_register
    linkageType: ''
    returnType: int
    signature: int eap_register_methods(void)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_passphrase.c:25,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/wpa_passphrase.c:38,1
    - Dst: tcgetattr
      Src: /src/hostap/wpa_supplicant/wpa_passphrase.c:39,1
    - Dst: perror
      Src: /src/hostap/wpa_supplicant/wpa_passphrase.c:44,1
    - Dst: tcsetattr
      Src: /src/hostap/wpa_supplicant/wpa_passphrase.c:49,1
    - Dst: perror
      Src: /src/hostap/wpa_supplicant/wpa_passphrase.c:50,1
    - Dst: fgets
      Src: /src/hostap/wpa_supplicant/wpa_passphrase.c:54,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/wpa_passphrase.c:55,1
    - Dst: tcsetattr
      Src: /src/hostap/wpa_supplicant/wpa_passphrase.c:60,1
    - Dst: perror
      Src: /src/hostap/wpa_supplicant/wpa_passphrase.c:61,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/wpa_passphrase.c:76,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/wpa_passphrase.c:78,1
    - Dst: has_ctrl_char
      Src: /src/hostap/wpa_supplicant/wpa_passphrase.c:81,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/wpa_passphrase.c:82,1
    - Dst: pbkdf2_sha1
      Src: /src/hostap/wpa_supplicant/wpa_passphrase.c:86,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/wpa_passphrase.c:86,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/wpa_passphrase.c:88,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_passphrase.c:92,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_passphrase.c:93,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_passphrase.c:94,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_passphrase.c:95,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_passphrase.c:97,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_passphrase.c:98,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_passphrase.c:99,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 69
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 102
    functionName: main
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_passphrase.c
    functionUses: 1
    functionsReached:
    - os_strlen
    - has_ctrl_char
    - fprintf
    - perror
    - tcsetattr
    - printf
    - pbkdf2_sha1
    - tcgetattr
    - fgets
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:41,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:42,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:44,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:45,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:47,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:48,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:50,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:51,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:53,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:54,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:56,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:57,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 14
    argCount: 2
    argNames:
    - bw_bitmap
    - preamble_bitmap
    argTypes:
    - u32
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 60
    functionName: wpas_pr_best_edca_format_bw
    functionSourceFile: /src/hostap/wpa_supplicant/pr_supplicant.c
    functionUses: 0
    functionsReached:
    - BIT
    linkageType: ''
    returnType: u8
    signature: u8 wpas_pr_best_edca_format_bw(u32 bw_bitmap, u32 preamble_bitmap)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:65,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:68,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:70,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:72,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:74,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:76,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - bw_bitmap
    - preamble_bitmap
    argTypes:
    - u32
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 79
    functionName: wpas_pr_best_ntb_format_bw
    functionSourceFile: /src/hostap/wpa_supplicant/pr_supplicant.c
    functionUses: 0
    functionsReached:
    - BIT
    linkageType: ''
    returnType: u8
    signature: u8 wpas_pr_best_ntb_format_bw(u32 bw_bitmap, u32 preamble_bitmap)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:91,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:92,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:96,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:97,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:98,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:100,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:101,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:103,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:104,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:106,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:107,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - bw_bitmap
    - preamble_bitmap
    - op_class_map
    argTypes:
    - u32
    - u32
    - struct oper_class_map*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 111
    functionName: wpas_pr_edca_is_valid_op_class
    functionSourceFile: /src/hostap/wpa_supplicant/pr_supplicant.c
    functionUses: 0
    functionsReached:
    - BIT
    linkageType: ''
    returnType: bool
    signature: "bool wpas_pr_edca_is_valid_op_class(u32 bw_bitmap, u32 preamble_bitmap,\n\t\t\t
      \      const struct oper_class_map *op_class_map)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:122,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:127,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:131,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:133,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:135,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - bw_bitmap
    - preamble_bitmap
    - op_class_map
    argTypes:
    - u32
    - u32
    - struct oper_class_map*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 141
    functionName: wpas_pr_ntb_is_valid_op_class
    functionSourceFile: /src/hostap/wpa_supplicant/pr_supplicant.c
    functionUses: 0
    functionsReached:
    - BIT
    linkageType: ''
    returnType: bool
    signature: "bool wpas_pr_ntb_is_valid_op_class(u32 bw_bitmap, u32 preamble_bitmap,\n\t\t\t
      \     const struct oper_class_map *op_class_map)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:164,1
    - Dst: ieee80211_chan_to_freq
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:170,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:172,1
    - Dst: op_class_to_bandwidth
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:177,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:226,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 5
    argNames:
    - op_class
    - op_channel
    - center_freq1
    - center_freq2
    - channel_width
    argTypes:
    - u8
    - u8
    - u32*
    - u32*
    - u16*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 230
    functionName: wpas_pr_op_class_to_chan_params
    functionSourceFile: /src/hostap/wpa_supplicant/pr_supplicant.c
    functionUses: 0
    functionsReached:
    - op_class_to_bandwidth
    - wpa_printf
    - ieee80211_chan_to_freq
    linkageType: ''
    returnType: int
    signature: "int wpas_pr_op_class_to_chan_params(u8 op_class, u8 op_channel,\n\t\t\t\t\t
      \  u32 *center_freq1,\n\t\t\t\t\t   u32 *center_freq2,\n\t\t\t\t\t   u16 *channel_width)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: get_mode
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:247,1
    - Dst: is_6ghz_op_class
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:248,1
    - Dst: is_6ghz_op_class
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:249,1
    - Dst: wpas_pr_edca_is_valid_op_class
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:250,1
    - Dst: verify_channel
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:264,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:271,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:286,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 28
    argCount: 5
    argNames:
    - wpa_s
    - chan
    - bw_bitmap
    - preamble_bitmap
    - allow_6ghz
    argTypes:
    - struct wpa_supplicant*
    - struct pr_channels*
    - u32
    - u32
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 233
    functionDepth: 4
    functionLinenumber: 233
    functionLinenumberEnd: 291
    functionName: wpas_pr_setup_edca_channels
    functionSourceFile: /src/hostap/wpa_supplicant/pr_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - get_mode
    - wpa_hexdump
    - is_6ghz_op_class
    - wpas_pr_edca_is_valid_op_class
    - verify_channel
    linkageType: ''
    returnType: void
    signature: "void wpas_pr_setup_edca_channels(struct wpa_supplicant *wpa_s,\n\t\t\t
      \   struct pr_channels *chan,\n\t\t\t    u32 bw_bitmap, u32 preamble_bitmap,\n\t\t\t
      \   bool allow_6ghz)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: get_mode
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:308,1
    - Dst: is_6ghz_op_class
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:309,1
    - Dst: is_6ghz_op_class
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:310,1
    - Dst: wpas_pr_ntb_is_valid_op_class
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:311,1
    - Dst: verify_channel
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:325,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:331,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:345,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 29
    argCount: 5
    argNames:
    - wpa_s
    - chan
    - bw_bitmap
    - preamble_bitmap
    - allow_6ghz
    argTypes:
    - struct wpa_supplicant*
    - struct pr_channels*
    - u32
    - u32
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 294
    functionDepth: 4
    functionLinenumber: 294
    functionLinenumberEnd: 351
    functionName: wpas_pr_setup_ntb_channels
    functionSourceFile: /src/hostap/wpa_supplicant/pr_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - get_mode
    - wpa_hexdump
    - is_6ghz_op_class
    - wpas_pr_ntb_is_valid_op_class
    - verify_channel
    linkageType: ''
    returnType: void
    signature: "void wpas_pr_setup_ntb_channels(struct wpa_supplicant *wpa_s,\n\t\t\t
      \  struct pr_channels *chan,\n\t\t\t   u32 bw_bitmap, u32 preamble_bitmap,\n\t\t\t
      \  bool allow_6ghz)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_send_mlme
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ctx
    - data
    - data_len
    - noack
    - freq
    - wait
    argTypes:
    - void*
    - u8*
    - size_t
    - int
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 361
    functionName: wpas_pr_pasn_send_mgmt
    functionSourceFile: /src/hostap/wpa_supplicant/pr_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_drv_send_mlme
    linkageType: ''
    returnType: int
    signature: "int wpas_pr_pasn_send_mgmt(void *ctx, const u8 *data, size_t data_len,\n\t\t\t\t
      \ int noack, unsigned int freq,\n\t\t\t\t  unsigned int wait)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_notify_pr_device_found
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - dev
    argTypes:
    - void*
    - struct pr_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 369
    functionName: wpas_pr_device_found
    functionSourceFile: /src/hostap/wpa_supplicant/pr_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_notify_pr_device_found
    linkageType: ''
    returnType: void
    signature: void wpas_pr_device_found(void *ctx, const struct pr_device *dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_notify_pr_negotiation_started
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - peer_addr
    - role
    - protocol_type
    argTypes:
    - void*
    - u8*
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 379
    functionName: wpas_pr_pasn_negotiation_started
    functionSourceFile: /src/hostap/wpa_supplicant/pr_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_notify_pr_negotiation_started
    linkageType: ''
    returnType: void
    signature: "void wpas_pr_pasn_negotiation_started(void *ctx, const u8 *peer_addr,\n\t\t\t\t\t
      \    u8 role, u8 protocol_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_notify_pr_pasn_result
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ctx
    - role
    - protocol_type
    - op_class
    - op_channel
    - country
    argTypes:
    - void*
    - u8
    - u8
    - u8
    - u8
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 389
    functionName: wpas_pr_pasn_result
    functionSourceFile: /src/hostap/wpa_supplicant/pr_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_notify_pr_pasn_result
    linkageType: ''
    returnType: void
    signature: "void wpas_pr_pasn_result(void *ctx, u8 role, u8 protocol_type,\n\t\t\t\tu8
      op_class, u8 op_channel, const char *country)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:395,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pr
    argTypes:
    - struct pr_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 399
    functionName: wpas_pr_clear_ranging_params
    functionSourceFile: /src/hostap/wpa_supplicant/pr_supplicant.c
    functionUses: 0
    functionsReached:
    - os_free
    linkageType: ''
    returnType: void
    signature: void wpas_pr_clear_ranging_params(struct pr_data *pr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:407,1
    - Dst: wpa_drv_stop_peer_measurement
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:410,1
    - Dst: wpas_pr_clear_ranging_params
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:413,1
    - Dst: wpas_pr_pd_stop
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:415,1
    - Dst: wpas_notify_pr_ranging_terminated
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 417
    functionName: wpas_pr_ranging_session_timeout
    functionSourceFile: /src/hostap/wpa_supplicant/pr_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_pr_pd_stop
    - wpa_printf
    - wpas_notify_pr_ranging_terminated
    - wpas_pr_clear_ranging_params
    - wpa_drv_stop_peer_measurement
    linkageType: ''
    returnType: void
    signature: void wpas_pr_ranging_session_timeout(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:435,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:437,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:443,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:445,1
    - Dst: wpas_pr_op_class_to_chan_params
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:448,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:452,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:469,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:478,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:485,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:490,1
    - Dst: wpa_drv_start_peer_measurement
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:497,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:499,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:503,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:510,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:517,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:519,1
    - Dst: wpas_pr_clear_ranging_params
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:527,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 55
    argCount: 7
    argNames:
    - wpa_s
    - peer_addr
    - freq
    - op_class
    - op_channel
    - format_bw
    - protocol_type
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - int
    - u8
    - u8
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 423
    functionDepth: 2
    functionLinenumber: 423
    functionLinenumberEnd: 529
    functionName: wpas_pr_trigger_ranging
    functionSourceFile: /src/hostap/wpa_supplicant/pr_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eloop_cancel_timeout
    - wpas_pr_op_class_to_chan_params
    - wpas_pr_clear_ranging_params
    - MAC2STR
    - eloop_register_timeout
    - wpa_drv_start_peer_measurement
    linkageType: ''
    returnType: int
    signature: "int wpas_pr_trigger_ranging(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \  const u8 *peer_addr, int freq, u8 op_class,\n\t\t\t\t   u8 op_channel, u8
      format_bw,\n\t\t\t\t   u8 protocol_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: op_class_to_bandwidth
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:540,1
    - Dst: ieee80211_chan_to_freq
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:543,1
    - Dst: wpas_notify_pr_ranging_params
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:545,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:554,1
    - Dst: wpas_pr_pasn_auth_work_done
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:555,1
    - Dst: wpas_pr_trigger_ranging
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:558,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:560,1
    - Dst: wpas_pr_pd_stop
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:562,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 9
    argNames:
    - ctx
    - dev_addr
    - peer_addr
    - ranging_role
    - protocol_type
    - op_class
    - op_channel
    - self_format_bw
    - peer_format_bw
    argTypes:
    - void*
    - u8*
    - u8*
    - u8
    - u8
    - u8
    - u8
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 532
    functionDepth: 3
    functionLinenumber: 532
    functionLinenumberEnd: 564
    functionName: wpas_pr_ranging_params
    functionSourceFile: /src/hostap/wpa_supplicant/pr_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_pr_pd_stop
    - wpa_printf
    - wpas_pr_trigger_ranging
    - ieee80211_chan_to_freq
    - eloop_cancel_timeout
    - wpas_pr_pasn_auth_work_done
    - op_class_to_bandwidth
    - wpas_notify_pr_ranging_params
    linkageType: ''
    returnType: void
    signature: "void wpas_pr_ranging_params(void *ctx, const u8 *dev_addr,\n\t\t\t\t
      \  const u8 *peer_addr, u8 ranging_role,\n\t\t\t\t   u8 protocol_type, u8 op_class,
      u8 op_channel,\n\t\t\t\t   u8 self_format_bw, u8 peer_format_bw)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:574,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:575,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:580,1
    - Dst: wpa_cipher_to_alg
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:583,1
    - Dst: struct wpa_supplicant*::driver::set_key
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:594,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:595,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 6
    argNames:
    - ctx
    - own_addr
    - peer_addr
    - cipher
    - akmp
    - ptk
    argTypes:
    - void*
    - u8*
    - u8*
    - int
    - int
    - struct wpa_ptk*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 567
    functionDepth: 1
    functionLinenumber: 567
    functionLinenumberEnd: 600
    functionName: wpas_pr_pasn_set_keys
    functionSourceFile: /src/hostap/wpa_supplicant/pr_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memset
    - MAC2STR
    - struct wpa_supplicant*::driver::set_key
    - wpa_cipher_to_alg
    linkageType: ''
    returnType: int
    signature: "int wpas_pr_pasn_set_keys(void *ctx, const u8 *own_addr,\n\t\t\t\t
      const u8 *peer_addr, int cipher, int akmp,\n\t\t\t\t struct wpa_ptk *ptk)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:609,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:610,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:615,1
    - Dst: struct wpa_supplicant*::driver::set_key
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:623,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:624,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - ctx
    - own_addr
    - peer_addr
    argTypes:
    - void*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 625
    functionName: wpas_pr_pasn_clear_keys
    functionSourceFile: /src/hostap/wpa_supplicant/pr_supplicant.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    - struct wpa_supplicant*::driver::set_key
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void wpas_pr_pasn_clear_keys(void *ctx, const u8 *own_addr,\n\t\t\t\t
      \   const u8 *peer_addr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pr_prepare_usd_elems
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:634,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - src_addr
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 628
    functionDepth: 1
    functionLinenumber: 628
    functionLinenumberEnd: 635
    functionName: wpas_pr_usd_elems
    functionSourceFile: /src/hostap/wpa_supplicant/pr_supplicant.c
    functionUses: 2
    functionsReached:
    - pr_prepare_usd_elems
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * wpas_pr_usd_elems(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \ const u8 *src_addr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pr_process_usd_elems
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:646,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - wpa_s
    - buf
    - buf_len
    - peer_addr
    - freq
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u16
    - u8*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 638
    functionDepth: 1
    functionLinenumber: 638
    functionLinenumberEnd: 647
    functionName: wpas_pr_process_usd_elems
    functionSourceFile: /src/hostap/wpa_supplicant/pr_supplicant.c
    functionUses: 1
    functionsReached:
    - pr_process_usd_elems
    linkageType: ''
    returnType: void
    signature: "void wpas_pr_process_usd_elems(struct wpa_supplicant *wpa_s, const
      u8 *buf,\n\t\t\t       u16 buf_len, const u8 *peer_addr,\n\t\t\t       unsigned
      int freq)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:658,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:660,1
    - Dst: wpas_pr_best_edca_format_bw
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:669,1
    - Dst: wpas_pr_setup_edca_channels
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:682,1
    - Dst: wpas_pr_best_ntb_format_bw
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:687,1
    - Dst: wpas_pr_setup_ntb_channels
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:722,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:727,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:730,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:734,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:736,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:737,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:737,1
    - Dst: os_get_random
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:744,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:748,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:754,1
    - Dst: wpa_config_write
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:757,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:758,1
    - Dst: pr_init
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:762,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:764,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 77
    argCount: 3
    argNames:
    - global
    - wpa_s
    - capa
    argTypes:
    - struct wpa_global*
    - struct wpa_supplicant*
    - struct wpa_driver_capa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 650
    functionDepth: 5
    functionLinenumber: 650
    functionLinenumberEnd: 770
    functionName: wpas_pr_init
    functionSourceFile: /src/hostap/wpa_supplicant/pr_supplicant.c
    functionUses: 1
    functionsReached:
    - wpas_pr_best_edca_format_bw
    - os_memcpy
    - wpas_pr_best_ntb_format_bw
    - wpa_printf
    - wpabuf_len
    - os_get_random
    - wpabuf_alloc_copy
    - wpabuf_head
    - wpas_pr_setup_ntb_channels
    - wpas_pr_setup_edca_channels
    - wpa_config_write
    - pr_init
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpas_pr_init(struct wpa_global *global, struct wpa_supplicant
      *wpa_s,\n\t\t const struct wpa_driver_capa *capa)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pr_flush
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:778,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 773
    functionDepth: 1
    functionLinenumber: 773
    functionLinenumberEnd: 779
    functionName: wpas_pr_flush
    functionSourceFile: /src/hostap/wpa_supplicant/pr_supplicant.c
    functionUses: 1
    functionsReached:
    - pr_flush
    linkageType: ''
    returnType: void
    signature: void wpas_pr_flush(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pr_deinit
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:784,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:790,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:791,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:792,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:794,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 781
    functionDepth: 1
    functionLinenumber: 781
    functionLinenumberEnd: 795
    functionName: wpas_pr_deinit
    functionSourceFile: /src/hostap/wpa_supplicant/pr_supplicant.c
    functionUses: 1
    functionsReached:
    - eloop_cancel_timeout
    - pr_deinit
    linkageType: ''
    returnType: void
    signature: void wpas_pr_deinit(struct wpa_supplicant *wpa_s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:803,1
    - Dst: wpa_drv_stop_peer_measurement
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:804,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:806,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:807,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:811,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:812,1
    - Dst: wpa_drv_pd_stop
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:814,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:815,1
    - Dst: pr_set_dev_addr
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:819,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:821,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:822,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 798
    functionDepth: 1
    functionLinenumber: 798
    functionLinenumberEnd: 823
    functionName: wpas_pr_pd_stop
    functionSourceFile: /src/hostap/wpa_supplicant/pr_supplicant.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - wpa_drv_pd_stop
    - eloop_cancel_timeout
    - is_zero_ether_addr
    - MAC2STR
    - pr_set_dev_addr
    - wpa_drv_stop_peer_measurement
    - os_memset
    linkageType: ''
    returnType: void
    signature: void wpas_pr_pd_stop(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pr_set_dev_addr
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:828,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 826
    functionDepth: 1
    functionLinenumber: 826
    functionLinenumberEnd: 829
    functionName: wpas_pr_update_dev_addr
    functionSourceFile: /src/hostap/wpa_supplicant/pr_supplicant.c
    functionUses: 1
    functionsReached:
    - pr_set_dev_addr
    linkageType: ''
    returnType: void
    signature: void wpas_pr_update_dev_addr(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pr_clear_dev_iks
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:839,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 832
    functionDepth: 1
    functionLinenumber: 832
    functionLinenumberEnd: 840
    functionName: wpas_pr_clear_dev_iks
    functionSourceFile: /src/hostap/wpa_supplicant/pr_supplicant.c
    functionUses: 0
    functionsReached:
    - pr_clear_dev_iks
    linkageType: ''
    returnType: void
    signature: void wpas_pr_clear_dev_iks(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pr_add_dev_ik
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:852,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 6
    argNames:
    - wpa_s
    - dik
    - password
    - pmk
    - pmk_len
    - own
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - char*
    - u8*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 843
    functionDepth: 1
    functionLinenumber: 843
    functionLinenumberEnd: 853
    functionName: wpas_pr_set_dev_ik
    functionSourceFile: /src/hostap/wpa_supplicant/pr_supplicant.c
    functionUses: 1
    functionsReached:
    - pr_add_dev_ik
    linkageType: ''
    returnType: void
    signature: "void wpas_pr_set_dev_ik(struct wpa_supplicant *wpa_s, const u8 *dik,\n\t\t\tconst
      char *password, const u8 *pmk, size_t pmk_len,\n\t\t\tbool own)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:862,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:867,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:874,1
    - Dst: wpas_notify_pr_ranging_complete
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:881,1
    - Dst: wpas_pr_clear_ranging_params
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:882,1
    - Dst: wpas_pr_pd_stop
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:883,1
    - Dst: wpas_notify_pr_ranging_terminated
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:884,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - wpa_s
    - complete
    argTypes:
    - struct wpa_supplicant*
    - struct peer_measurement_complete*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 856
    functionDepth: 1
    functionLinenumber: 856
    functionLinenumberEnd: 886
    functionName: wpas_pr_measurement_complete
    functionSourceFile: /src/hostap/wpa_supplicant/pr_supplicant.c
    functionUses: 1
    functionsReached:
    - wpas_pr_pd_stop
    - wpa_printf
    - wpas_notify_pr_ranging_terminated
    - wpas_pr_clear_ranging_params
    - wpas_notify_pr_ranging_complete
    linkageType: ''
    returnType: void
    signature: "void wpas_pr_measurement_complete(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \ struct peer_measurement_complete *complete)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:895,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:901,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:903,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:910,1
    - Dst: wpas_notify_pr_measurement_result
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:919,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:923,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:926,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 2
    argNames:
    - wpa_s
    - result
    argTypes:
    - struct wpa_supplicant*
    - struct peer_measurement_result*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 889
    functionDepth: 1
    functionLinenumber: 889
    functionLinenumberEnd: 930
    functionName: wpas_pr_measurement_result
    functionSourceFile: /src/hostap/wpa_supplicant/pr_supplicant.c
    functionUses: 1
    functionsReached:
    - MAC2STR
    - wpa_printf
    - wpas_notify_pr_measurement_result
    linkageType: ''
    returnType: void
    signature: "void wpas_pr_measurement_result(struct wpa_supplicant *wpa_s,\n\t\t\t\tstruct
      peer_measurement_result *result)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:939,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:940,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:944,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:945,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:946,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:950,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:951,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:953,1
    - Dst: wpa_drv_pd_start
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:954,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:955,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:959,1
    - Dst: pr_set_dev_addr
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:960,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:962,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:963,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - wpa_s
    - src_addr
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 935
    functionDepth: 1
    functionLinenumber: 935
    functionLinenumberEnd: 965
    functionName: wpas_pr_start_pd
    functionSourceFile: /src/hostap/wpa_supplicant/pr_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - is_zero_ether_addr
    - MAC2STR
    - wpa_drv_pd_start
    - pr_set_dev_addr
    - os_memset
    linkageType: ''
    returnType: int
    signature: int wpas_pr_start_pd(struct wpa_supplicant *wpa_s, const u8 *src_addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:992,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:993,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - awork
    argTypes:
    - struct wpa_pr_pasn_auth_work*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 988
    functionDepth: 0
    functionLinenumber: 988
    functionLinenumberEnd: 994
    functionName: wpas_pr_pasn_free_auth_work
    functionSourceFile: /src/hostap/wpa_supplicant/pr_supplicant.c
    functionUses: 0
    functionsReached:
    - os_free
    linkageType: ''
    returnType: void
    signature: void wpas_pr_pasn_free_auth_work(struct wpa_pr_pasn_auth_work *awork)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:999,1
    - Dst: radio_remove_works
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1002,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 997
    functionDepth: 3
    functionLinenumber: 997
    functionLinenumberEnd: 1003
    functionName: wpas_pr_pasn_cancel_auth_work
    functionSourceFile: /src/hostap/wpa_supplicant/pr_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - radio_remove_works
    linkageType: ''
    returnType: void
    signature: void wpas_pr_pasn_cancel_auth_work(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_pr_pasn_free_auth_work
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1017,1
    - Dst: radio_work_done
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1019,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1021,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1022
      start: 1009
    functionDepth: 3
    functionLinenumber: 1009
    functionLinenumberEnd: 1022
    functionName: wpas_pr_pasn_auth_work_done
    functionSourceFile: /src/hostap/wpa_supplicant/pr_supplicant.c
    functionUses: 1
    functionsReached:
    - eloop_cancel_timeout
    - radio_work_done
    - wpas_pr_pasn_free_auth_work
    linkageType: ''
    returnType: void
    signature: void wpas_pr_pasn_auth_work_done(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1036,1
    - Dst: radio_work_done
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1038,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1040
      start: 1028
    functionDepth: 3
    functionLinenumber: 1028
    functionLinenumberEnd: 1040
    functionName: wpas_pr_pasn_roc_work_done
    functionSourceFile: /src/hostap/wpa_supplicant/pr_supplicant.c
    functionUses: 0
    functionsReached:
    - os_free
    - radio_work_done
    linkageType: ''
    returnType: void
    signature: void wpas_pr_pasn_roc_work_done(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_cancel_remain_on_channel
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1055,1
    - Dst: wpas_pr_pasn_roc_work_done
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1058,1
    - Dst: radio_remove_works
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1059,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 1053
    functionDepth: 4
    functionLinenumber: 1053
    functionLinenumberEnd: 1060
    functionName: wpas_pr_cancel_roc
    functionSourceFile: /src/hostap/wpa_supplicant/pr_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_pr_pasn_roc_work_done
    - wpa_drv_cancel_remain_on_channel
    - radio_remove_works
    linkageType: ''
    returnType: void
    signature: void wpas_pr_cancel_roc(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1070,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1072,1
    - Dst: wpas_pr_clear_ranging_params
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1073,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1068
    functionDepth: 1
    functionLinenumber: 1068
    functionLinenumberEnd: 1074
    functionName: wpas_pr_pasn_abort_responder
    functionSourceFile: /src/hostap/wpa_supplicant/pr_supplicant.c
    functionUses: 0
    functionsReached:
    - eloop_cancel_timeout
    - wpas_pr_clear_ranging_params
    - os_memset
    linkageType: ''
    returnType: void
    signature: void wpas_pr_pasn_abort_responder(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1084,1
    - Dst: wpas_pr_cancel_roc
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1087,1
    - Dst: wpas_pr_pasn_abort_responder
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1088,1
    - Dst: wpas_notify_pr_ranging_terminated
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1089,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1090
      start: 1080
    functionDepth: 5
    functionLinenumber: 1080
    functionLinenumberEnd: 1090
    functionName: wpas_pr_pasn_roc_total_timeout
    functionSourceFile: /src/hostap/wpa_supplicant/pr_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpas_notify_pr_ranging_terminated
    - wpas_pr_cancel_roc
    - wpas_pr_pasn_abort_responder
    linkageType: ''
    returnType: void
    signature: void wpas_pr_pasn_roc_total_timeout(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_cancel_remain_on_channel
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1110,1
    - Dst: wpas_pr_pasn_abort_responder
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1119,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1120,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1130,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1133,1
    - Dst: wpa_drv_remain_on_channel
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1136,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1137,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1139,1
    - Dst: wpas_pr_pasn_roc_work_done
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1141,1
    - Dst: wpas_pr_pasn_abort_responder
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1142,1
    - Dst: wpas_notify_pr_ranging_terminated
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1143,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - work
    - deinit
    argTypes:
    - struct wpa_radio_work*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1150
      start: 1096
    functionDepth: 4
    functionLinenumber: 1096
    functionLinenumberEnd: 1150
    functionName: wpas_pr_pasn_roc_start_cb
    functionSourceFile: /src/hostap/wpa_supplicant/pr_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - is_zero_ether_addr
    - wpa_drv_remain_on_channel
    - wpas_notify_pr_ranging_terminated
    - wpas_pr_pasn_roc_work_done
    - os_free
    - wpa_drv_cancel_remain_on_channel
    - wpas_pr_pasn_abort_responder
    linkageType: ''
    returnType: void
    signature: void wpas_pr_pasn_roc_start_cb(struct wpa_radio_work *work, int deinit)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1161,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1163,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1169,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1170,1
    - Dst: radio_add_work
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1173,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1175,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1176,1
    - Dst: wpas_pr_pasn_abort_responder
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1182,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - wpa_s
    - freq
    argTypes:
    - struct wpa_supplicant*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1183
      start: 1156
    functionDepth: 3
    functionLinenumber: 1156
    functionLinenumberEnd: 1183
    functionName: wpas_pr_schedule_responder_roc
    functionSourceFile: /src/hostap/wpa_supplicant/pr_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - is_zero_ether_addr
    - os_zalloc
    - radio_add_work
    - os_free
    - wpas_pr_pasn_abort_responder
    linkageType: ''
    returnType: void
    signature: "void wpas_pr_schedule_responder_roc(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \  unsigned int freq)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1192,1
    - Dst: wpas_pr_pasn_roc_work_done
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1198,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1202,1
    - Dst: wpas_pr_schedule_responder_roc
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1204,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - wpa_s
    - freq
    argTypes:
    - struct wpa_supplicant*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1210
      start: 1189
    functionDepth: 4
    functionLinenumber: 1189
    functionLinenumberEnd: 1210
    functionName: wpas_pr_cancel_remain_on_channel_cb
    functionSourceFile: /src/hostap/wpa_supplicant/pr_supplicant.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpas_pr_pasn_roc_work_done
    - wpas_pr_schedule_responder_roc
    linkageType: ''
    returnType: void
    signature: "void wpas_pr_cancel_remain_on_channel_cb(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      unsigned int freq)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1217,1
    - Dst: wpas_pr_pasn_cancel_auth_work
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1220,1
    - Dst: wpas_pr_pd_stop
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1230,1
    - Dst: wpas_pr_clear_ranging_params
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1232,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1234,1
    - Dst: wpas_notify_pr_ranging_terminated
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1236
      start: 1213
    functionDepth: 4
    functionLinenumber: 1213
    functionLinenumberEnd: 1236
    functionName: wpas_pr_pasn_timeout
    functionSourceFile: /src/hostap/wpa_supplicant/pr_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_pr_pd_stop
    - wpas_pr_pasn_cancel_auth_work
    - wpa_printf
    - eloop_cancel_timeout
    - wpas_notify_pr_ranging_terminated
    - wpas_pr_clear_ranging_params
    linkageType: ''
    returnType: void
    signature: void wpas_pr_pasn_timeout(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1249,1
    - Dst: wpas_pr_pasn_free_auth_work
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1251,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1256,1
    - Dst: pr_initiate_pasn_auth
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1259,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1263,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1268,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1269,1
    - Dst: wpas_pr_pasn_free_auth_work
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1275,1
    - Dst: radio_work_done
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1277,1
    - Dst: wpas_pr_pd_stop
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1279,1
    - Dst: wpas_pr_clear_ranging_params
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1280,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - work
    - deinit
    argTypes:
    - struct wpa_radio_work*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1281
      start: 1239
    functionDepth: 3
    functionLinenumber: 1239
    functionLinenumberEnd: 1281
    functionName: wpas_pr_pasn_auth_start_cb
    functionSourceFile: /src/hostap/wpa_supplicant/pr_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_pr_pd_stop
    - wpa_printf
    - eloop_cancel_timeout
    - pr_initiate_pasn_auth
    - is_zero_ether_addr
    - radio_work_done
    - wpas_pr_clear_ranging_params
    - eloop_register_timeout
    - wpas_pr_pasn_free_auth_work
    linkageType: ''
    returnType: void
    signature: void wpas_pr_pasn_auth_start_cb(struct wpa_radio_work *work, int deinit)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: pr_ensure_oob_peer
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1294,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1300,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1302,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1306,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1312,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1324,1
    - Dst: radio_add_work
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1328,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1330,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1332,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1334,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1348,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1359,1
    - Dst: wpas_pr_start_pd
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1360,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1361,1
    - Dst: wpas_pr_pasn_cancel_auth_work
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1367,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1370,1
    - Dst: wpas_pr_pd_stop
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1372,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1377,1
    - Dst: radio_add_work
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1383,1
    - Dst: wpas_pr_pasn_free_auth_work
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1385,1
    - Dst: wpas_pr_pd_stop
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1386,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1390,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    argCount: 9
    argNames:
    - wpa_s
    - peer_addr
    - freq
    - auth_mode
    - ranging_role
    - ranging_type
    - forced_pr_freq
    - src_addr
    - pasn_role
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - int
    - u8
    - u8
    - u8
    - int
    - u8*
    - enum pr_pasn_role
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1393
      start: 1284
    functionDepth: 4
    functionLinenumber: 1284
    functionLinenumberEnd: 1393
    functionName: wpas_pr_initiate_pasn_auth
    functionSourceFile: /src/hostap/wpa_supplicant/pr_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_pr_pd_stop
    - wpa_printf
    - os_memcpy
    - wpas_pr_pasn_cancel_auth_work
    - wpas_pr_start_pd
    - is_zero_ether_addr
    - pr_ensure_oob_peer
    - os_zalloc
    - radio_add_work
    - wpas_pr_pasn_free_auth_work
    - eloop_register_timeout
    - os_free
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpas_pr_initiate_pasn_auth(struct wpa_supplicant *wpa_s,\n\t\t\t
      \      const u8 *peer_addr, int freq, u8 auth_mode,\n\t\t\t       u8 ranging_role,
      u8 ranging_type,\n\t\t\t       int forced_pr_freq, const u8 *src_addr,\n\t\t\t
      \      enum pr_pasn_role pasn_role)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1408,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1415,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1416,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1422,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1431,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1440,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1454,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1459,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1467,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1472,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1481,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1491,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1501,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1506,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 59
    argCount: 2
    argNames:
    - wpa_s
    - pr_pasn_params
    argTypes:
    - struct wpa_supplicant*
    - struct pr_pasn_ranging_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1508
      start: 1399
    functionDepth: 1
    functionLinenumber: 1399
    functionLinenumberEnd: 1508
    functionName: wpas_pr_validate_ranging_request
    functionSourceFile: /src/hostap/wpa_supplicant/pr_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - is_zero_ether_addr
    linkageType: ''
    returnType: int
    signature: "int wpas_pr_validate_ranging_request(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      struct pr_pasn_ranging_params *pr_pasn_params)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1520,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1525,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1530,1
    - Dst: wpas_pr_validate_ranging_request
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1537,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1538,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1544,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1547,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1554,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1556,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1562,1
    - Dst: pr_ensure_oob_peer
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1568,1
    - Dst: pr_set_peer_credentials
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1570,1
    - Dst: wpas_pr_clear_ranging_params
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1579,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1586,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1599,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1610,1
    - Dst: wpas_pr_initiate_pasn_auth
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1617,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1625,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1628,1
    - Dst: wpas_pr_clear_ranging_params
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1630,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1635,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 56
    argCount: 2
    argNames:
    - wpa_s
    - pr_pasn_params
    argTypes:
    - struct wpa_supplicant*
    - struct pr_pasn_ranging_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1641
      start: 1514
    functionDepth: 2
    functionLinenumber: 1514
    functionLinenumberEnd: 1641
    functionName: wpas_pr_pasn_trigger
    functionSourceFile: /src/hostap/wpa_supplicant/pr_supplicant.c
    functionUses: 1
    functionsReached:
    - wpas_pr_validate_ranging_request
    - wpa_printf
    - os_memcpy
    - pr_ensure_oob_peer
    - wpas_pr_clear_ranging_params
    - MAC2STR
    - os_zalloc
    - pr_set_peer_credentials
    - wpas_pr_initiate_pasn_auth
    linkageType: ''
    returnType: int
    signature: "int wpas_pr_pasn_trigger(struct wpa_supplicant *wpa_s,\n\t\t\t struct
      pr_pasn_ranging_params *pr_pasn_params)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1650,1
    - Dst: pr_pasn_auth_tx_status
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1653,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1655,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1657,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - wpa_s
    - data
    - data_len
    - acked
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1665
      start: 1644
    functionDepth: 1
    functionLinenumber: 1644
    functionLinenumberEnd: 1665
    functionName: wpas_pr_pasn_auth_tx_status
    functionSourceFile: /src/hostap/wpa_supplicant/pr_supplicant.c
    functionUses: 1
    functionsReached:
    - eloop_cancel_timeout
    - is_zero_ether_addr
    - eloop_register_timeout
    - pr_pasn_auth_tx_status
    linkageType: ''
    returnType: int
    signature: "int wpas_pr_pasn_auth_tx_status(struct wpa_supplicant *wpa_s, const
      u8 *data,\n\t\t\t\tsize_t data_len, bool acked)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pr_pasn_auth_retransmit
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1676,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1677
      start: 1668
    functionDepth: 1
    functionLinenumber: 1668
    functionLinenumberEnd: 1677
    functionName: wpas_pr_pasn_auth_retry_timeout
    functionSourceFile: /src/hostap/wpa_supplicant/pr_supplicant.c
    functionUses: 0
    functionsReached:
    - pr_pasn_auth_retransmit
    linkageType: ''
    returnType: void
    signature: void wpas_pr_pasn_auth_retry_timeout(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1682,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1683,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1688,1
    - Dst: wpas_pr_start_pd
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1691,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1692,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1698
      start: 1680
    functionDepth: 2
    functionLinenumber: 1680
    functionLinenumberEnd: 1698
    functionName: wpas_pr_check_pd_wdev_create
    functionSourceFile: /src/hostap/wpa_supplicant/pr_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_pr_start_pd
    - wpa_printf
    - is_zero_ether_addr
    linkageType: ''
    returnType: int
    signature: int wpas_pr_check_pd_wdev_create(struct wpa_supplicant *wpa_s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: le_to_host16
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1720,1
    - Dst: wpas_pr_check_pd_wdev_create
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1723,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1731,1
    - Dst: wpas_pr_cancel_roc
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1743,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1747,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1749,1
    - Dst: pr_pasn_auth_rx
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1754,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1757,1
    - Dst: wpas_pr_pasn_auth_work_done
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1758,1
    - Dst: wpas_pr_pd_stop
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1759,1
    - Dst: wpas_pr_clear_ranging_params
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1760,1
    - Dst: wpas_notify_pr_ranging_terminated
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1761,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 4
    argNames:
    - wpa_s
    - mgmt
    - len
    - freq
    argTypes:
    - struct wpa_supplicant*
    - struct ieee80211_mgmt*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1766
      start: 1701
    functionDepth: 5
    functionLinenumber: 1701
    functionLinenumberEnd: 1766
    functionName: wpas_pr_pasn_auth_rx
    functionSourceFile: /src/hostap/wpa_supplicant/pr_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_pr_pd_stop
    - wpa_printf
    - wpas_pr_cancel_roc
    - wpas_pr_check_pd_wdev_create
    - eloop_cancel_timeout
    - wpas_notify_pr_ranging_terminated
    - wpas_pr_clear_ranging_params
    - wpas_pr_pasn_auth_work_done
    - le_to_host16
    - pr_pasn_auth_rx
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpas_pr_pasn_auth_rx(struct wpa_supplicant *wpa_s,\n\t\t\t const
      struct ieee80211_mgmt *mgmt, size_t len,\n\t\t\t int freq)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1774,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1779,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1780,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1785,1
    - Dst: wpas_pr_pasn_cancel_auth_work
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1791,1
    - Dst: wpas_pr_cancel_roc
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1794,1
    - Dst: wpas_pr_pasn_abort_responder
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1795,1
    - Dst: wpas_pr_pd_stop
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1799,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1801,1
    - Dst: wpas_pr_clear_ranging_params
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1803,1
    - Dst: wpas_notify_pr_ranging_terminated
      Src: /src/hostap/wpa_supplicant/pr_supplicant.c:1804,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1805
      start: 1769
    functionDepth: 5
    functionLinenumber: 1769
    functionLinenumberEnd: 1805
    functionName: wpas_pr_abort_ranging
    functionSourceFile: /src/hostap/wpa_supplicant/pr_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_pr_pd_stop
    - wpa_printf
    - wpas_pr_pasn_cancel_auth_work
    - wpas_pr_cancel_roc
    - eloop_cancel_timeout
    - is_zero_ether_addr
    - wpas_notify_pr_ranging_terminated
    - wpas_pr_clear_ranging_params
    - wpas_pr_pasn_abort_responder
    linkageType: ''
    returnType: void
    signature: void wpas_pr_abort_ranging(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: wpas_wps_init
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpas_wps_init(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: wpas_wps_deinit
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wpas_wps_deinit(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: wpas_wps_eapol_cb
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpas_wps_eapol_cb(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ssid
    argTypes:
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: wpas_wps_get_req_type
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 wpas_wps_get_req_type(struct wpa_ssid *ssid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - wpa_s
    - ssid
    - bss
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    - struct wpa_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 119
    functionName: wpas_wps_ssid_bss_match
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int wpas_wps_ssid_bss_match(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \ struct wpa_ssid *ssid,\n\t\t\t\t\t  struct wpa_bss *bss)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - wpa_s
    - ssid
    - bss
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    - struct wpa_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 126
    functionName: wpas_wps_ssid_wildcard_ok
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int wpas_wps_ssid_wildcard_ok(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \   struct wpa_ssid *ssid,\n\t\t\t\t\t    struct wpa_bss *bss)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - wpa_s
    - selected
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_bss*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: wpas_wps_scan_pbc_overlap
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int wpas_wps_scan_pbc_overlap(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \   struct wpa_bss *selected,\n\t\t\t\t\t    struct wpa_ssid *ssid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 137
    functionName: wpas_wps_notify_scan_results
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wpas_wps_notify_scan_results(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: wpas_wps_searching
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpas_wps_searching(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - wpa_s
    - scan_res
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_scan_results*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: wpas_wps_update_ap_info
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_wps_update_ap_info(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \  struct wpa_scan_results *scan_res)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: wpas_wps_partner_link_scan_done
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool wpas_wps_partner_link_scan_done(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 158
    functionName: wpas_wps_partner_link_overlap_detect
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool wpas_wps_partner_link_overlap_detect(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - wpa_s
    - bssid
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 163
    functionName: wpas_wps_notify_assoc
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_wps_notify_assoc(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      const u8 *bssid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionName: wpas_wps_reenable_networks_pending
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpas_wps_reenable_networks_pending(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 173
    functionName: wpas_wps_update_mac_addr
    functionSourceFile: /src/hostap/wpa_supplicant/wps_supplicant.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wpas_wps_update_mac_addr(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - req_scan
    argTypes:
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: autoscan_init
    functionSourceFile: /src/hostap/wpa_supplicant/autoscan.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int autoscan_init(struct wpa_supplicant *wpa_s, int req_scan)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: autoscan_deinit
    functionSourceFile: /src/hostap/wpa_supplicant/autoscan.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void autoscan_deinit(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - scan_res
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_scan_results*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: autoscan_notify_scan
    functionSourceFile: /src/hostap/wpa_supplicant/autoscan.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int autoscan_notify_scan(struct wpa_supplicant *wpa_s,\n\t\t\t\t       struct
      wpa_scan_results *scan_res)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_init
      Src: /src/hostap/wpa_supplicant/notify.c:36,1
    - Dst: wpas_binder_init
      Src: /src/hostap/wpa_supplicant/notify.c:43,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - global
    argTypes:
    - struct wpa_global*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 49
    functionName: wpas_notify_supplicant_initialized
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - wpas_binder_init
    - wpas_dbus_init
    linkageType: ''
    returnType: int
    signature: int wpas_notify_supplicant_initialized(struct wpa_global *global)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_deinit
      Src: /src/hostap/wpa_supplicant/notify.c:56,1
    - Dst: wpas_binder_deinit
      Src: /src/hostap/wpa_supplicant/notify.c:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - global
    argTypes:
    - struct wpa_global*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 63
    functionName: wpas_notify_supplicant_deinitialized
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - wpas_binder_deinit
    - wpas_dbus_deinit
    linkageType: ''
    returnType: void
    signature: void wpas_notify_supplicant_deinitialized(struct wpa_global *global)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_register_interface
      Src: /src/hostap/wpa_supplicant/notify.c:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 75
    functionName: wpas_notify_iface_added
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - wpas_dbus_register_interface
    linkageType: ''
    returnType: int
    signature: int wpas_notify_iface_added(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_unregister_interface
      Src: /src/hostap/wpa_supplicant/notify.c:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 85
    functionName: wpas_notify_iface_removed
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - wpas_dbus_unregister_interface
    linkageType: ''
    returnType: void
    signature: void wpas_notify_iface_removed(struct wpa_supplicant *wpa_s)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_signal_prop_changed
      Src: /src/hostap/wpa_supplicant/notify.c:98,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/notify.c:101,1
    - Dst: fst_notify_peer_connected
      Src: /src/hostap/wpa_supplicant/notify.c:103,1
    - Dst: fst_notify_peer_disconnected
      Src: /src/hostap/wpa_supplicant/notify.c:106,1
    - Dst: wpas_p2p_notif_connected
      Src: /src/hostap/wpa_supplicant/notify.c:111,1
    - Dst: wpa_drv_roaming
      Src: /src/hostap/wpa_supplicant/notify.c:113,1
    - Dst: wpas_p2p_notif_disconnected
      Src: /src/hostap/wpa_supplicant/notify.c:116,1
    - Dst: sme_state_changed
      Src: /src/hostap/wpa_supplicant/notify.c:119,1
    - Dst: wpa_msg_ctrl
      Src: /src/hostap/wpa_supplicant/notify.c:122,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/notify.c:126,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/wpa_supplicant/notify.c:128,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 3
    argNames:
    - wpa_s
    - new_state
    - old_state
    argTypes:
    - struct wpa_supplicant*
    - enum wpa_states
    - enum wpa_states
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 131
    functionName: wpas_notify_state_changed
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 2
    functionsReached:
    - fst_notify_peer_disconnected
    - is_zero_ether_addr
    - wpas_p2p_notif_connected
    - wpa_ssid_txt
    - wpas_p2p_notif_disconnected
    - wpa_msg_ctrl
    - MAC2STR
    - wpa_drv_roaming
    - wpas_dbus_signal_prop_changed
    - fst_notify_peer_connected
    - sme_state_changed
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_state_changed(struct wpa_supplicant *wpa_s,\n\t\t\t
      \      enum wpa_states new_state,\n\t\t\t       enum wpa_states old_state)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_signal_prop_changed
      Src: /src/hostap/wpa_supplicant/notify.c:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 140
    functionName: wpas_notify_disconnect_reason
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - wpas_dbus_signal_prop_changed
    linkageType: ''
    returnType: void
    signature: void wpas_notify_disconnect_reason(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_signal_prop_changed
      Src: /src/hostap/wpa_supplicant/notify.c:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 149
    functionName: wpas_notify_auth_status_code
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - wpas_dbus_signal_prop_changed
    linkageType: ''
    returnType: void
    signature: void wpas_notify_auth_status_code(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_signal_prop_changed
      Src: /src/hostap/wpa_supplicant/notify.c:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 158
    functionName: wpas_notify_assoc_status_code
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - wpas_dbus_signal_prop_changed
    linkageType: ''
    returnType: void
    signature: void wpas_notify_assoc_status_code(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_signal_prop_changed
      Src: /src/hostap/wpa_supplicant/notify.c:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 167
    functionName: wpas_notify_roam_time
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - wpas_dbus_signal_prop_changed
    linkageType: ''
    returnType: void
    signature: void wpas_notify_roam_time(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_signal_prop_changed
      Src: /src/hostap/wpa_supplicant/notify.c:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 176
    functionName: wpas_notify_roam_complete
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - wpas_dbus_signal_prop_changed
    linkageType: ''
    returnType: void
    signature: void wpas_notify_roam_complete(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_signal_prop_changed
      Src: /src/hostap/wpa_supplicant/notify.c:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 186
    functionName: wpas_notify_scan_in_progress_6ghz
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 2
    functionsReached:
    - wpas_dbus_signal_prop_changed
    linkageType: ''
    returnType: void
    signature: void wpas_notify_scan_in_progress_6ghz(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_signal_prop_changed
      Src: /src/hostap/wpa_supplicant/notify.c:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 195
    functionName: wpas_notify_session_length
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 2
    functionsReached:
    - wpas_dbus_signal_prop_changed
    linkageType: ''
    returnType: void
    signature: void wpas_notify_session_length(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_signal_prop_changed
      Src: /src/hostap/wpa_supplicant/notify.c:203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 204
    functionName: wpas_notify_bss_tm_status
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_signal_prop_changed
    linkageType: ''
    returnType: void
    signature: void wpas_notify_bss_tm_status(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_signal_prop_changed
      Src: /src/hostap/wpa_supplicant/notify.c:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 213
    functionName: wpas_notify_network_changed
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 3
    functionsReached:
    - wpas_dbus_signal_prop_changed
    linkageType: ''
    returnType: void
    signature: void wpas_notify_network_changed(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_signal_prop_changed
      Src: /src/hostap/wpa_supplicant/notify.c:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 222
    functionName: wpas_notify_ap_scan_changed
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 2
    functionsReached:
    - wpas_dbus_signal_prop_changed
    linkageType: ''
    returnType: void
    signature: void wpas_notify_ap_scan_changed(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_signal_prop_changed
      Src: /src/hostap/wpa_supplicant/notify.c:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 231
    functionName: wpas_notify_bssid_changed
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 4
    functionsReached:
    - wpas_dbus_signal_prop_changed
    linkageType: ''
    returnType: void
    signature: void wpas_notify_bssid_changed(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_signal_prop_changed
      Src: /src/hostap/wpa_supplicant/notify.c:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 240
    functionName: wpas_notify_mac_address_changed
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - wpas_dbus_signal_prop_changed
    linkageType: ''
    returnType: void
    signature: void wpas_notify_mac_address_changed(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_signal_prop_changed
      Src: /src/hostap/wpa_supplicant/notify.c:248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 249
    functionName: wpas_notify_auth_changed
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 3
    functionsReached:
    - wpas_dbus_signal_prop_changed
    linkageType: ''
    returnType: void
    signature: void wpas_notify_auth_changed(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_signal_network_enabled_changed
      Src: /src/hostap/wpa_supplicant/notify.c:258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 259
    functionName: wpas_notify_network_enabled_changed
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 5
    functionsReached:
    - wpas_dbus_signal_network_enabled_changed
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_network_enabled_changed(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      struct wpa_ssid *ssid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_signal_network_selected
      Src: /src/hostap/wpa_supplicant/notify.c:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 269
    functionName: wpas_notify_network_selected
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - wpas_dbus_signal_network_selected
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_network_selected(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \ struct wpa_ssid *ssid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_signal_network_request
      Src: /src/hostap/wpa_supplicant/notify.c:280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - wpa_s
    - ssid
    - rtype
    - default_txt
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    - enum wpa_ctrl_req_type
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 281
    functionName: wpas_notify_network_request
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 2
    functionsReached:
    - wpas_dbus_signal_network_request
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_network_request(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      struct wpa_ssid *ssid,\n\t\t\t\t enum wpa_ctrl_req_type rtype,\n\t\t\t\t const
      char *default_txt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_signal_prop_changed
      Src: /src/hostap/wpa_supplicant/notify.c:290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 291
    functionName: wpas_notify_scanning
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - wpas_dbus_signal_prop_changed
    linkageType: ''
    returnType: void
    signature: void wpas_notify_scanning(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_signal_scan_done
      Src: /src/hostap/wpa_supplicant/notify.c:299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - success
    argTypes:
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 300
    functionName: wpas_notify_scan_done
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 3
    functionsReached:
    - wpas_dbus_signal_scan_done
    linkageType: ''
    returnType: void
    signature: void wpas_notify_scan_done(struct wpa_supplicant *wpa_s, int success)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_wps_notify_scan_results
      Src: /src/hostap/wpa_supplicant/notify.c:308,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 309
    functionName: wpas_notify_scan_results
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 2
    functionsReached:
    - wpas_wps_notify_scan_results
    linkageType: ''
    returnType: void
    signature: void wpas_notify_scan_results(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_signal_wps_cred
      Src: /src/hostap/wpa_supplicant/notify.c:320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - cred
    argTypes:
    - struct wpa_supplicant*
    - struct wps_credential*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 322
    functionName: wpas_notify_wps_credential
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - wpas_dbus_signal_wps_cred
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_wps_credential(struct wpa_supplicant *wpa_s,\n\t\t\t\tconst
      struct wps_credential *cred)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_signal_wps_event_m2d
      Src: /src/hostap/wpa_supplicant/notify.c:332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - m2d
    argTypes:
    - struct wpa_supplicant*
    - struct wps_event_m2d*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 334
    functionName: wpas_notify_wps_event_m2d
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - wpas_dbus_signal_wps_event_m2d
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_wps_event_m2d(struct wpa_supplicant *wpa_s,\n\t\t\t
      \      struct wps_event_m2d *m2d)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_signal_wps_event_fail
      Src: /src/hostap/wpa_supplicant/notify.c:344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - fail
    argTypes:
    - struct wpa_supplicant*
    - struct wps_event_fail*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 346
    functionName: wpas_notify_wps_event_fail
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 3
    functionsReached:
    - wpas_dbus_signal_wps_event_fail
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_wps_event_fail(struct wpa_supplicant *wpa_s,\n\t\t\t\tstruct
      wps_event_fail *fail)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_signal_wps_event_success
      Src: /src/hostap/wpa_supplicant/notify.c:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 357
    functionName: wpas_notify_wps_event_success
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - wpas_dbus_signal_wps_event_success
    linkageType: ''
    returnType: void
    signature: void wpas_notify_wps_event_success(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_signal_wps_event_pbc_overlap
      Src: /src/hostap/wpa_supplicant/notify.c:365,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 367
    functionName: wpas_notify_wps_event_pbc_overlap
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - wpas_dbus_signal_wps_event_pbc_overlap
    linkageType: ''
    returnType: void
    signature: void wpas_notify_wps_event_pbc_overlap(struct wpa_supplicant *wpa_s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_register_network
      Src: /src/hostap/wpa_supplicant/notify.c:383,1
    - Dst: wpa_msg_ctrl
      Src: /src/hostap/wpa_supplicant/notify.c:384,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - wpa_s
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 387
    functionName: wpas_notify_network_added
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 7
    functionsReached:
    - wpa_msg_ctrl
    - wpas_dbus_register_network
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_network_added(struct wpa_supplicant *wpa_s,\n\t\t\t
      \      struct wpa_ssid *ssid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_register_persistent_group
      Src: /src/hostap/wpa_supplicant/notify.c:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 396
    functionName: wpas_notify_persistent_group_added
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_register_persistent_group
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_persistent_group_added(struct wpa_supplicant *wpa_s,\n\t\t\t\t\tstruct
      wpa_ssid *ssid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_unregister_persistent_group
      Src: /src/hostap/wpa_supplicant/notify.c:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 405
    functionName: wpas_notify_persistent_group_removed
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_unregister_persistent_group
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_persistent_group_removed(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \ struct wpa_ssid *ssid)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: wpa_key_mgmt_sae
      Src: /src/hostap/wpa_supplicant/notify.c:428,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/notify.c:435,1
    - Dst: wpa_drv_remove_pmkid
      Src: /src/hostap/wpa_supplicant/notify.c:438,1
    - Dst: wpa_sm_pmksa_cache_flush
      Src: /src/hostap/wpa_supplicant/notify.c:440,1
    - Dst: wpas_dbus_unregister_network
      Src: /src/hostap/wpa_supplicant/notify.c:444,1
    - Dst: wpa_msg_ctrl
      Src: /src/hostap/wpa_supplicant/notify.c:445,1
    - Dst: network_is_persistent_group
      Src: /src/hostap/wpa_supplicant/notify.c:448,1
    - Dst: wpas_notify_persistent_group_removed
      Src: /src/hostap/wpa_supplicant/notify.c:449,1
    - Dst: wpas_p2p_network_removed
      Src: /src/hostap/wpa_supplicant/notify.c:451,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 31
    argCount: 2
    argNames:
    - wpa_s
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 452
    functionName: wpas_notify_network_removed
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 10
    functionsReached:
    - wpa_key_mgmt_sae
    - wpa_drv_remove_pmkid
    - wpa_msg_ctrl
    - wpas_p2p_network_removed
    - network_is_persistent_group
    - wpas_dbus_unregister_network
    - wpa_sm_pmksa_cache_flush
    - wpas_notify_persistent_group_removed
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_network_removed(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      struct wpa_ssid *ssid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_register_bss
      Src: /src/hostap/wpa_supplicant/notify.c:461,1
    - Dst: wpa_msg_ctrl
      Src: /src/hostap/wpa_supplicant/notify.c:462,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/notify.c:463,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - wpa_s
    - bssid
    - id
    argTypes:
    - struct wpa_supplicant*
    - u8[]
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 455
    functionDepth: 1
    functionLinenumber: 455
    functionLinenumberEnd: 464
    functionName: wpas_notify_bss_added
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - wpa_msg_ctrl
    - wpas_dbus_register_bss
    - MAC2STR
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_bss_added(struct wpa_supplicant *wpa_s,\n\t\t\t   u8
      bssid[], unsigned int id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_unregister_bss
      Src: /src/hostap/wpa_supplicant/notify.c:473,1
    - Dst: wpa_msg_ctrl
      Src: /src/hostap/wpa_supplicant/notify.c:474,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/notify.c:475,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - wpa_s
    - bssid
    - id
    argTypes:
    - struct wpa_supplicant*
    - u8[]
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 476
    functionName: wpas_notify_bss_removed
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - wpas_dbus_unregister_bss
    - MAC2STR
    - wpa_msg_ctrl
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_bss_removed(struct wpa_supplicant *wpa_s,\n\t\t\t
      \    u8 bssid[], unsigned int id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_bss_signal_prop_changed
      Src: /src/hostap/wpa_supplicant/notify.c:485,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - id
    argTypes:
    - struct wpa_supplicant*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 486
    functionName: wpas_notify_bss_freq_changed
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - wpas_dbus_bss_signal_prop_changed
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_bss_freq_changed(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \ unsigned int id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_bss_signal_prop_changed
      Src: /src/hostap/wpa_supplicant/notify.c:495,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - id
    argTypes:
    - struct wpa_supplicant*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 497
    functionName: wpas_notify_bss_signal_changed
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - wpas_dbus_bss_signal_prop_changed
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_bss_signal_changed(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \   unsigned int id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_bss_signal_prop_changed
      Src: /src/hostap/wpa_supplicant/notify.c:506,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - id
    argTypes:
    - struct wpa_supplicant*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 508
    functionName: wpas_notify_bss_privacy_changed
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - wpas_dbus_bss_signal_prop_changed
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_bss_privacy_changed(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \    unsigned int id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_bss_signal_prop_changed
      Src: /src/hostap/wpa_supplicant/notify.c:517,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - id
    argTypes:
    - struct wpa_supplicant*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 518
    functionName: wpas_notify_bss_mode_changed
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - wpas_dbus_bss_signal_prop_changed
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_bss_mode_changed(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \ unsigned int id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_bss_signal_prop_changed
      Src: /src/hostap/wpa_supplicant/notify.c:527,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - id
    argTypes:
    - struct wpa_supplicant*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 528
    functionName: wpas_notify_bss_wpaie_changed
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - wpas_dbus_bss_signal_prop_changed
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_bss_wpaie_changed(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \  unsigned int id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_bss_signal_prop_changed
      Src: /src/hostap/wpa_supplicant/notify.c:537,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - id
    argTypes:
    - struct wpa_supplicant*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 538
    functionName: wpas_notify_bss_rsnie_changed
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - wpas_dbus_bss_signal_prop_changed
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_bss_rsnie_changed(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \  unsigned int id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_bss_signal_prop_changed
      Src: /src/hostap/wpa_supplicant/notify.c:548,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - id
    argTypes:
    - struct wpa_supplicant*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 550
    functionName: wpas_notify_bss_wps_changed
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - wpas_dbus_bss_signal_prop_changed
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_bss_wps_changed(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      unsigned int id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_bss_signal_prop_changed
      Src: /src/hostap/wpa_supplicant/notify.c:559,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - id
    argTypes:
    - struct wpa_supplicant*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 560
    functionName: wpas_notify_bss_ies_changed
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - wpas_dbus_bss_signal_prop_changed
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_bss_ies_changed(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \  unsigned int id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_bss_signal_prop_changed
      Src: /src/hostap/wpa_supplicant/notify.c:569,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - id
    argTypes:
    - struct wpa_supplicant*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 570
    functionName: wpas_notify_bss_rates_changed
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - wpas_dbus_bss_signal_prop_changed
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_bss_rates_changed(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \  unsigned int id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_bss_signal_prop_changed
      Src: /src/hostap/wpa_supplicant/notify.c:578,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - id
    argTypes:
    - struct wpa_supplicant*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 579
    functionName: wpas_notify_bss_seen
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - wpas_dbus_bss_signal_prop_changed
    linkageType: ''
    returnType: void
    signature: void wpas_notify_bss_seen(struct wpa_supplicant *wpa_s, unsigned int
      id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_bss_signal_prop_changed
      Src: /src/hostap/wpa_supplicant/notify.c:587,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - id
    argTypes:
    - struct wpa_supplicant*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 588
    functionName: wpas_notify_bss_anqp_changed
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - wpas_dbus_bss_signal_prop_changed
    linkageType: ''
    returnType: void
    signature: void wpas_notify_bss_anqp_changed(struct wpa_supplicant *wpa_s, unsigned
      int id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_signal_blob_added
      Src: /src/hostap/wpa_supplicant/notify.c:596,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - name
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 597
    functionName: wpas_notify_blob_added
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_signal_blob_added
    linkageType: ''
    returnType: void
    signature: void wpas_notify_blob_added(struct wpa_supplicant *wpa_s, const char
      *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_signal_blob_removed
      Src: /src/hostap/wpa_supplicant/notify.c:605,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - name
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 606
    functionName: wpas_notify_blob_removed
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_signal_blob_removed
    linkageType: ''
    returnType: void
    signature: void wpas_notify_blob_removed(struct wpa_supplicant *wpa_s, const char
      *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_signal_debug_level_changed
      Src: /src/hostap/wpa_supplicant/notify.c:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - global
    argTypes:
    - struct wpa_global*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 612
    functionName: wpas_notify_debug_level_changed
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - wpas_dbus_signal_debug_level_changed
    linkageType: ''
    returnType: void
    signature: void wpas_notify_debug_level_changed(struct wpa_global *global)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_signal_debug_timestamp_changed
      Src: /src/hostap/wpa_supplicant/notify.c:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - global
    argTypes:
    - struct wpa_global*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 618
    functionName: wpas_notify_debug_timestamp_changed
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - wpas_dbus_signal_debug_timestamp_changed
    linkageType: ''
    returnType: void
    signature: void wpas_notify_debug_timestamp_changed(struct wpa_global *global)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_signal_debug_show_keys_changed
      Src: /src/hostap/wpa_supplicant/notify.c:623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - global
    argTypes:
    - struct wpa_global*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 624
    functionName: wpas_notify_debug_show_keys_changed
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - wpas_dbus_signal_debug_show_keys_changed
    linkageType: ''
    returnType: void
    signature: void wpas_notify_debug_show_keys_changed(struct wpa_global *global)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_get_time
      Src: /src/hostap/wpa_supplicant/notify.c:631,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/notify.c:632,1
    - Dst: wpa_drv_suspend
      Src: /src/hostap/wpa_supplicant/notify.c:634,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - global
    argTypes:
    - struct wpa_global*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 627
    functionDepth: 1
    functionLinenumber: 627
    functionLinenumberEnd: 635
    functionName: wpas_notify_suspend
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - os_get_time
    - wpa_drv_suspend
    linkageType: ''
    returnType: void
    signature: void wpas_notify_suspend(struct wpa_global *global)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_get_time
      Src: /src/hostap/wpa_supplicant/notify.c:647,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/notify.c:650,1
    - Dst: wpa_drv_resume
      Src: /src/hostap/wpa_supplicant/notify.c:654,1
    - Dst: wpa_supplicant_req_scan
      Src: /src/hostap/wpa_supplicant/notify.c:656,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - global
    argTypes:
    - struct wpa_global*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 638
    functionDepth: 2
    functionLinenumber: 638
    functionLinenumberEnd: 658
    functionName: wpas_notify_resume
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpa_drv_resume
    - os_get_time
    - wpa_supplicant_req_scan
    linkageType: ''
    returnType: void
    signature: void wpas_notify_resume(struct wpa_global *global)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_signal_p2p_find_stopped
      Src: /src/hostap/wpa_supplicant/notify.c:666,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 667
    functionName: wpas_notify_p2p_find_stopped
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_signal_p2p_find_stopped
    linkageType: ''
    returnType: void
    signature: void wpas_notify_p2p_find_stopped(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_register_peer
      Src: /src/hostap/wpa_supplicant/notify.c:675,1
    - Dst: wpas_dbus_signal_peer_device_found
      Src: /src/hostap/wpa_supplicant/notify.c:679,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - wpa_s
    - dev_addr
    - new_device
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 680
    functionName: wpas_notify_p2p_device_found
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_register_peer
    - wpas_dbus_signal_peer_device_found
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_p2p_device_found(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \ const u8 *dev_addr, int new_device)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_unregister_peer
      Src: /src/hostap/wpa_supplicant/notify.c:686,1
    - Dst: wpas_dbus_signal_peer_device_lost
      Src: /src/hostap/wpa_supplicant/notify.c:689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - wpa_s
    - dev_addr
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 690
    functionName: wpas_notify_p2p_device_lost
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_signal_peer_device_lost
    - wpas_dbus_unregister_peer
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_p2p_device_lost(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      const u8 *dev_addr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_signal_p2p_group_removed
      Src: /src/hostap/wpa_supplicant/notify.c:697,1
    - Dst: wpas_dbus_unregister_p2p_group
      Src: /src/hostap/wpa_supplicant/notify.c:699,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - wpa_s
    - ssid
    - role
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 700
    functionName: wpas_notify_p2p_group_removed
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_signal_p2p_group_removed
    - wpas_dbus_unregister_p2p_group
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_p2p_group_removed(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \  const struct wpa_ssid *ssid,\n\t\t\t\t   const char *role)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_signal_p2p_go_neg_req
      Src: /src/hostap/wpa_supplicant/notify.c:706,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - wpa_s
    - src
    - dev_passwd_id
    - go_intent
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u16
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 707
    functionName: wpas_notify_p2p_go_neg_req
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_signal_p2p_go_neg_req
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_p2p_go_neg_req(struct wpa_supplicant *wpa_s,\n\t\t\t\tconst
      u8 *src, u16 dev_passwd_id, u8 go_intent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_signal_p2p_go_neg_resp
      Src: /src/hostap/wpa_supplicant/notify.c:713,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - res
    argTypes:
    - struct wpa_supplicant*
    - struct p2p_go_neg_results*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 714
    functionName: wpas_notify_p2p_go_neg_completed
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_signal_p2p_go_neg_resp
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_p2p_go_neg_completed(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \     struct p2p_go_neg_results *res)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_signal_p2p_invitation_result
      Src: /src/hostap/wpa_supplicant/notify.c:720,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - wpa_s
    - status
    - bssid
    argTypes:
    - struct wpa_supplicant*
    - int
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 721
    functionName: wpas_notify_p2p_invitation_result
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_signal_p2p_invitation_result
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_p2p_invitation_result(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \      int status, const u8 *bssid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_signal_p2p_sd_request
      Src: /src/hostap/wpa_supplicant/notify.c:729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - wpa_s
    - freq
    - sa
    - dialog_token
    - update_indic
    - tlvs
    - tlvs_len
    argTypes:
    - struct wpa_supplicant*
    - int
    - u8*
    - u8
    - u16
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 731
    functionName: wpas_notify_p2p_sd_request
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - wpas_dbus_signal_p2p_sd_request
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_p2p_sd_request(struct wpa_supplicant *wpa_s,\n\t\t\t\tint
      freq, const u8 *sa, u8 dialog_token,\n\t\t\t\tu16 update_indic, const u8 *tlvs,\n\t\t\t\tsize_t
      tlvs_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_signal_p2p_sd_response
      Src: /src/hostap/wpa_supplicant/notify.c:738,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - wpa_s
    - sa
    - update_indic
    - tlvs
    - tlvs_len
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u16
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 740
    functionName: wpas_notify_p2p_sd_response
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - wpas_dbus_signal_p2p_sd_response
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_p2p_sd_response(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      const u8 *sa, u16 update_indic,\n\t\t\t\t const u8 *tlvs, size_t tlvs_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_signal_p2p_provision_discovery
      Src: /src/hostap/wpa_supplicant/notify.c:762,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - wpa_s
    - dev_addr
    - request
    - status
    - config_methods
    - generated_pin
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - int
    - enum p2p_prov_disc_status
    - u16
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 765
    functionName: wpas_notify_p2p_provision_discovery
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_signal_p2p_provision_discovery
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_p2p_provision_discovery(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      const u8 *dev_addr, int request,\n\t\t\t\t\t enum p2p_prov_disc_status status,\n\t\t\t\t\t
      u16 config_methods,\n\t\t\t\t\t unsigned int generated_pin)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_register_p2p_group
      Src: /src/hostap/wpa_supplicant/notify.c:773,1
    - Dst: wpas_dbus_signal_p2p_group_started
      Src: /src/hostap/wpa_supplicant/notify.c:775,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - wpa_s
    - ssid
    - persistent
    - client
    - ip
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    - int
    - int
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 776
    functionName: wpas_notify_p2p_group_started
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_signal_p2p_group_started
    - wpas_dbus_register_p2p_group
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_p2p_group_started(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \  struct wpa_ssid *ssid, int persistent,\n\t\t\t\t   int client, const u8 *ip)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_signal_p2p_group_formation_failure
      Src: /src/hostap/wpa_supplicant/notify.c:783,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - reason
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 784
    functionName: wpas_notify_p2p_group_formation_failure
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_signal_p2p_group_formation_failure
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_p2p_group_formation_failure(struct wpa_supplicant
      *wpa_s,\n\t\t\t\t\t     const char *reason)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_signal_p2p_wps_failed
      Src: /src/hostap/wpa_supplicant/notify.c:790,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - fail
    argTypes:
    - struct wpa_supplicant*
    - struct wps_event_fail*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 791
    functionName: wpas_notify_p2p_wps_failed
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_signal_p2p_wps_failed
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_p2p_wps_failed(struct wpa_supplicant *wpa_s,\n\t\t\t\tstruct
      wps_event_fail *fail)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_signal_p2p_invitation_received
      Src: /src/hostap/wpa_supplicant/notify.c:799,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - wpa_s
    - sa
    - go_dev_addr
    - bssid
    - id
    - op_freq
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - u8*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 801
    functionName: wpas_notify_p2p_invitation_received
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_signal_p2p_invitation_received
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_p2p_invitation_received(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      const u8 *sa, const u8 *go_dev_addr,\n\t\t\t\t\t const u8 *bssid, int id, int
      op_freq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_signal_p2p_bootstrap_req
      Src: /src/hostap/wpa_supplicant/notify.c:806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - wpa_s
    - src
    - bootstrap_method
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 803
    functionDepth: 0
    functionLinenumber: 803
    functionLinenumberEnd: 807
    functionName: wpas_notify_p2p_bootstrap_req
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_signal_p2p_bootstrap_req
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_p2p_bootstrap_req(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \  const u8 *src, u16 bootstrap_method)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_signal_p2p_bootstrap_rsp
      Src: /src/hostap/wpa_supplicant/notify.c:813,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - wpa_s
    - src
    - status
    - bootstrap_method
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - int
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 815
    functionName: wpas_notify_p2p_bootstrap_rsp
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_signal_p2p_bootstrap_rsp
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_p2p_bootstrap_rsp(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \  const u8 *src, int status,\n\t\t\t\t   u16 bootstrap_method)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_p2p_notify_ap_sta_authorized
      Src: /src/hostap/wpa_supplicant/notify.c:825,1
    - Dst: wpas_dbus_signal_p2p_peer_joined
      Src: /src/hostap/wpa_supplicant/notify.c:832,1
    - Dst: wpas_dbus_register_sta
      Src: /src/hostap/wpa_supplicant/notify.c:836,1
    - Dst: wpas_dbus_signal_sta_authorized
      Src: /src/hostap/wpa_supplicant/notify.c:839,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - wpa_s
    - sta
    - p2p_dev_addr
    - ip
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 820
    functionDepth: 1
    functionLinenumber: 820
    functionLinenumberEnd: 840
    functionName: wpas_notify_ap_sta_authorized
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_signal_p2p_peer_joined
    - wpas_dbus_register_sta
    - wpas_dbus_signal_sta_authorized
    - wpas_p2p_notify_ap_sta_authorized
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_ap_sta_authorized(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \ const u8 *sta,\n\t\t\t\t\t  const u8 *p2p_dev_addr, const u8 *ip)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_signal_p2p_peer_disconnected
      Src: /src/hostap/wpa_supplicant/notify.c:853,1
    - Dst: wpas_dbus_signal_sta_deauthorized
      Src: /src/hostap/wpa_supplicant/notify.c:857,1
    - Dst: wpas_dbus_unregister_sta
      Src: /src/hostap/wpa_supplicant/notify.c:860,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - wpa_s
    - sta
    - p2p_dev_addr
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 861
    functionName: wpas_notify_ap_sta_deauthorized
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_signal_sta_deauthorized
    - wpas_dbus_unregister_sta
    - wpas_dbus_signal_p2p_peer_disconnected
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_ap_sta_deauthorized(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \   const u8 *sta,\n\t\t\t\t\t    const u8 *p2p_dev_addr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_notify_ap_sta_authorized
      Src: /src/hostap/wpa_supplicant/notify.c:869,1
    - Dst: wpas_notify_ap_sta_deauthorized
      Src: /src/hostap/wpa_supplicant/notify.c:872,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - wpa_s
    - mac_addr
    - authorized
    - p2p_dev_addr
    - ip
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - int
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 864
    functionDepth: 2
    functionLinenumber: 864
    functionLinenumberEnd: 873
    functionName: wpas_notify_sta_authorized
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - wpas_notify_ap_sta_authorized
    - wpas_notify_ap_sta_deauthorized
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_sta_authorized(struct wpa_supplicant *wpa_s,\n\t\t\t\tconst
      u8 *mac_addr, int authorized,\n\t\t\t\tconst u8 *p2p_dev_addr, const u8 *ip)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/notify.c:882,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/notify.c:891,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/notify.c:892,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/wpa_supplicant/notify.c:894,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/notify.c:894,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/notify.c:895,1
    - Dst: wpa_msg_ctrl
      Src: /src/hostap/wpa_supplicant/notify.c:896,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/notify.c:900,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/notify.c:905,1
    - Dst: wpas_dbus_signal_certification
      Src: /src/hostap/wpa_supplicant/notify.c:909,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - wpa_s
    - cert
    - cert_hash
    argTypes:
    - struct wpa_supplicant*
    - struct tls_cert_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 876
    functionDepth: 1
    functionLinenumber: 876
    functionLinenumberEnd: 912
    functionName: wpas_notify_certification
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - wpa_snprintf_hex
    - wpa_msg
    - wpabuf_len
    - os_malloc
    - wpas_dbus_signal_certification
    - wpabuf_head
    - wpa_msg_ctrl
    - os_free
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_certification(struct wpa_supplicant *wpa_s,\n\t\t\t
      \      struct tls_cert_data *cert,\n\t\t\t       const char *cert_hash)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_signal_preq
      Src: /src/hostap/wpa_supplicant/notify.c:920,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - wpa_s
    - addr
    - dst
    - bssid
    - ie
    - ie_len
    - ssi_signal
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - u8*
    - u8*
    - size_t
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 922
    functionName: wpas_notify_preq
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - wpas_dbus_signal_preq
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_preq(struct wpa_supplicant *wpa_s,\n\t\t      const
      u8 *addr, const u8 *dst, const u8 *bssid,\n\t\t      const u8 *ie, size_t ie_len,
      u32 ssi_signal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_signal_eap_status
      Src: /src/hostap/wpa_supplicant/notify.c:928,1
    - Dst: wpa_msg_ctrl
      Src: /src/hostap/wpa_supplicant/notify.c:929,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - wpa_s
    - status
    - parameter
    argTypes:
    - struct wpa_supplicant*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 925
    functionDepth: 0
    functionLinenumber: 925
    functionLinenumberEnd: 932
    functionName: wpas_notify_eap_status
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 2
    functionsReached:
    - wpa_msg_ctrl
    - wpas_dbus_signal_eap_status
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_eap_status(struct wpa_supplicant *wpa_s, const char
      *status,\n\t\t\t    const char *parameter)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/notify.c:937,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - error_code
    argTypes:
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 935
    functionDepth: 0
    functionLinenumber: 935
    functionLinenumberEnd: 938
    functionName: wpas_notify_eap_error
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: void wpas_notify_eap_error(struct wpa_supplicant *wpa_s, int error_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_signal_psk_mismatch
      Src: /src/hostap/wpa_supplicant/notify.c:943,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 941
    functionDepth: 0
    functionLinenumber: 941
    functionLinenumberEnd: 944
    functionName: wpas_notify_psk_mismatch
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - wpas_dbus_signal_psk_mismatch
    linkageType: ''
    returnType: void
    signature: void wpas_notify_psk_mismatch(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_signal_sae_password_mismatch
      Src: /src/hostap/wpa_supplicant/notify.c:949,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 947
    functionDepth: 0
    functionLinenumber: 947
    functionLinenumberEnd: 950
    functionName: wpas_notify_sae_password_mismatch
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - wpas_dbus_signal_sae_password_mismatch
    linkageType: ''
    returnType: void
    signature: void wpas_notify_sae_password_mismatch(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/notify.c:959,1
    - Dst: wpa_drv_roaming
      Src: /src/hostap/wpa_supplicant/notify.c:963,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - wpa_s
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 953
    functionDepth: 1
    functionLinenumber: 953
    functionLinenumberEnd: 965
    functionName: wpas_notify_network_bssid_set_changed
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - wpa_drv_roaming
    - wpa_dbg
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_network_bssid_set_changed(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \  struct wpa_ssid *ssid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_unregister_network
      Src: /src/hostap/wpa_supplicant/notify.c:975,1
    - Dst: wpas_dbus_register_persistent_group
      Src: /src/hostap/wpa_supplicant/notify.c:978,1
    - Dst: wpas_dbus_unregister_persistent_group
      Src: /src/hostap/wpa_supplicant/notify.c:981,1
    - Dst: wpas_dbus_register_network
      Src: /src/hostap/wpa_supplicant/notify.c:983,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - wpa_s
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 968
    functionDepth: 0
    functionLinenumber: 968
    functionLinenumberEnd: 986
    functionName: wpas_notify_network_type_changed
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - wpas_dbus_register_persistent_group
    - wpas_dbus_register_network
    - wpas_dbus_unregister_persistent_group
    - wpas_dbus_unregister_network
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_network_type_changed(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \     struct wpa_ssid *ssid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_signal_mesh_group_started
      Src: /src/hostap/wpa_supplicant/notify.c:997,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 991
    functionDepth: 0
    functionLinenumber: 991
    functionLinenumberEnd: 998
    functionName: wpas_notify_mesh_group_started
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - wpas_dbus_signal_mesh_group_started
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_mesh_group_started(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \   struct wpa_ssid *ssid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_signal_mesh_group_removed
      Src: /src/hostap/wpa_supplicant/notify.c:1008,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - wpa_s
    - meshid
    - meshid_len
    - reason_code
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 1001
    functionDepth: 0
    functionLinenumber: 1001
    functionLinenumberEnd: 1010
    functionName: wpas_notify_mesh_group_removed
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - wpas_dbus_signal_mesh_group_removed
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_mesh_group_removed(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \   const u8 *meshid, u8 meshid_len,\n\t\t\t\t    u16 reason_code)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_signal_mesh_peer_connected
      Src: /src/hostap/wpa_supplicant/notify.c:1021,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - wpa_s
    - peer_addr
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1022
      start: 1013
    functionDepth: 0
    functionLinenumber: 1013
    functionLinenumberEnd: 1022
    functionName: wpas_notify_mesh_peer_connected
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_signal_mesh_peer_connected
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_mesh_peer_connected(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \    const u8 *peer_addr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_signal_mesh_peer_disconnected
      Src: /src/hostap/wpa_supplicant/notify.c:1033,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - wpa_s
    - peer_addr
    - reason_code
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1034
      start: 1025
    functionDepth: 0
    functionLinenumber: 1025
    functionLinenumberEnd: 1034
    functionName: wpas_notify_mesh_peer_disconnected
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_signal_mesh_peer_disconnected
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_mesh_peer_disconnected(struct wpa_supplicant *wpa_s,\n\t\t\t\t\tconst
      u8 *peer_addr, u16 reason_code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/notify.c:1047,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/notify.c:1049,1
    - Dst: wpas_dbus_signal_interworking_ap_added
      Src: /src/hostap/wpa_supplicant/notify.c:1055,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 8
    argNames:
    - wpa_s
    - bss
    - cred
    - excluded
    - type
    - bh
    - bss_load
    - conn_capab
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_bss*
    - struct wpa_cred*
    - int
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1057
      start: 1041
    functionDepth: 1
    functionLinenumber: 1041
    functionLinenumberEnd: 1057
    functionName: wpas_notify_interworking_ap_added
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - MAC2STR
    - wpas_dbus_signal_interworking_ap_added
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_interworking_ap_added(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \      struct wpa_bss *bss,\n\t\t\t\t       struct wpa_cred *cred, int excluded,\n\t\t\t\t
      \      const char *type, int bh, int bss_load,\n\t\t\t\t       int conn_capab)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_signal_interworking_select_done
      Src: /src/hostap/wpa_supplicant/notify.c:1062,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1060
    functionDepth: 0
    functionLinenumber: 1060
    functionLinenumberEnd: 1063
    functionName: wpas_notify_interworking_select_done
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - wpas_dbus_signal_interworking_select_done
    linkageType: ''
    returnType: void
    signature: void wpas_notify_interworking_select_done(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/notify.c:1069,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/notify.c:1070,1
    - Dst: wpas_dbus_signal_anqp_query_done
      Src: /src/hostap/wpa_supplicant/notify.c:1072,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - wpa_s
    - dst
    - result
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1073
      start: 1066
    functionDepth: 1
    functionLinenumber: 1066
    functionLinenumberEnd: 1073
    functionName: wpas_notify_anqp_query_done
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - MAC2STR
    - wpas_dbus_signal_anqp_query_done
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_anqp_query_done(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      const u8 *dst, const char *result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - wpa_s
    - entry
    argTypes:
    - struct wpa_supplicant*
    - struct rsn_pmksa_cache_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1078
    functionDepth: 0
    functionLinenumber: 1078
    functionLinenumberEnd: 1082
    functionName: wpas_notify_pmk_cache_added
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_pmk_cache_added(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      struct rsn_pmksa_cache_entry *entry)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_signal_prop_changed
      Src: /src/hostap/wpa_supplicant/notify.c:1087,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 1085
    functionDepth: 0
    functionLinenumber: 1085
    functionLinenumberEnd: 1088
    functionName: wpas_notify_signal_change
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - wpas_dbus_signal_prop_changed
    linkageType: ''
    returnType: void
    signature: void wpas_notify_signal_change(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/notify.c:1095,1
    - Dst: wpas_dbus_signal_hs20_t_c_acceptance
      Src: /src/hostap/wpa_supplicant/notify.c:1096,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - wpa_s
    - url
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1097
      start: 1092
    functionDepth: 0
    functionLinenumber: 1092
    functionLinenumberEnd: 1097
    functionName: wpas_notify_hs20_t_c_acceptance
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - wpas_dbus_signal_hs20_t_c_acceptance
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_hs20_t_c_acceptance(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \    const char *url)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/notify.c:1109,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/wpa_supplicant/notify.c:1113,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/notify.c:1120,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/wpa_supplicant/notify.c:1125,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/notify.c:1140,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/notify.c:1151,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/notify.c:1153,1
    - Dst: wpa_msg_global
      Src: /src/hostap/wpa_supplicant/notify.c:1160,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/notify.c:1164,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/notify.c:1172,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/notify.c:1173,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/notify.c:1174,1
    - Dst: wpas_dbus_signal_nan_discovery_result
      Src: /src/hostap/wpa_supplicant/notify.c:1176,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 2
    argNames:
    - wpa_s
    - res
    argTypes:
    - struct wpa_supplicant*
    - struct nan_discovery_result*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1183
      start: 1103
    functionDepth: 1
    functionLinenumber: 1103
    functionLinenumberEnd: 1183
    functionName: wpas_notify_nan_discovery_result
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - wpa_snprintf_hex
    - os_snprintf
    - MAC2STR
    - os_zalloc
    - wpas_dbus_signal_nan_discovery_result
    - os_free
    - wpa_msg_global
    - os_snprintf_error
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_nan_discovery_result(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \     struct nan_discovery_result *res)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/notify.c:1194,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/wpa_supplicant/notify.c:1198,1
    - Dst: wpa_msg_global
      Src: /src/hostap/wpa_supplicant/notify.c:1199,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/notify.c:1202,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/notify.c:1204,1
    - Dst: wpas_dbus_signal_nan_replied
      Src: /src/hostap/wpa_supplicant/notify.c:1206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 7
    argNames:
    - wpa_s
    - srv_proto_type
    - publish_id
    - peer_subscribe_id
    - peer_addr
    - ssi
    - ssi_len
    argTypes:
    - struct wpa_supplicant*
    - enum nan_service_protocol_type
    - int
    - int
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1209
      start: 1186
    functionDepth: 1
    functionLinenumber: 1186
    functionLinenumberEnd: 1209
    functionName: wpas_notify_nan_replied
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - wpa_snprintf_hex
    - MAC2STR
    - os_zalloc
    - wpas_dbus_signal_nan_replied
    - os_free
    - wpa_msg_global
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_nan_replied(struct wpa_supplicant *wpa_s,\n\t\t\t
      \    enum nan_service_protocol_type srv_proto_type,\n\t\t\t     int publish_id,
      int peer_subscribe_id,\n\t\t\t     const u8 *peer_addr,\n\t\t\t     const u8
      *ssi, size_t ssi_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/notify.c:1218,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/wpa_supplicant/notify.c:1222,1
    - Dst: wpa_msg_global
      Src: /src/hostap/wpa_supplicant/notify.c:1223,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/notify.c:1225,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/notify.c:1226,1
    - Dst: wpas_dbus_signal_nan_receive
      Src: /src/hostap/wpa_supplicant/notify.c:1228,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 6
    argNames:
    - wpa_s
    - id
    - peer_instance_id
    - peer_addr
    - ssi
    - ssi_len
    argTypes:
    - struct wpa_supplicant*
    - int
    - int
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1230
      start: 1212
    functionDepth: 1
    functionLinenumber: 1212
    functionLinenumberEnd: 1230
    functionName: wpas_notify_nan_receive
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - wpa_snprintf_hex
    - MAC2STR
    - os_zalloc
    - wpas_dbus_signal_nan_receive
    - os_free
    - wpa_msg_global
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_nan_receive(struct wpa_supplicant *wpa_s, int id,\n\t\t\t
      \    int peer_instance_id, const u8 *peer_addr,\n\t\t\t     const u8 *ssi, size_t
      ssi_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - reason
    argTypes:
    - enum nan_de_reason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1233
    functionDepth: 0
    functionLinenumber: 1233
    functionLinenumberEnd: 1245
    functionName: nan_reason_txt
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * nan_reason_txt(enum nan_de_reason reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg_global
      Src: /src/hostap/wpa_supplicant/notify.c:1252,1
    - Dst: nan_reason_txt
      Src: /src/hostap/wpa_supplicant/notify.c:1254,1
    - Dst: wpas_dbus_signal_nan_publish_terminated
      Src: /src/hostap/wpa_supplicant/notify.c:1255,1
    - Dst: nan_reason_txt
      Src: /src/hostap/wpa_supplicant/notify.c:1256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - wpa_s
    - publish_id
    - reason
    argTypes:
    - struct wpa_supplicant*
    - int
    - enum nan_de_reason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1248
    functionDepth: 0
    functionLinenumber: 1248
    functionLinenumberEnd: 1257
    functionName: wpas_notify_nan_publish_terminated
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - wpa_msg_global
    - nan_reason_txt
    - wpas_dbus_signal_nan_publish_terminated
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_nan_publish_terminated(struct wpa_supplicant *wpa_s,\n\t\t\t\t\tint
      publish_id,\n\t\t\t\t\tenum nan_de_reason reason)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg_global
      Src: /src/hostap/wpa_supplicant/notify.c:1264,1
    - Dst: nan_reason_txt
      Src: /src/hostap/wpa_supplicant/notify.c:1266,1
    - Dst: wpas_dbus_signal_nan_subscribe_terminated
      Src: /src/hostap/wpa_supplicant/notify.c:1267,1
    - Dst: nan_reason_txt
      Src: /src/hostap/wpa_supplicant/notify.c:1268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - wpa_s
    - subscribe_id
    - reason
    argTypes:
    - struct wpa_supplicant*
    - int
    - enum nan_de_reason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1269
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1269
    functionName: wpas_notify_nan_subscribe_terminated
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - wpa_msg_global
    - nan_reason_txt
    - wpas_dbus_signal_nan_subscribe_terminated
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_nan_subscribe_terminated(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \ int subscribe_id,\n\t\t\t\t\t  enum nan_de_reason reason)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg_global
      Src: /src/hostap/wpa_supplicant/notify.c:1275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - wpa_s
    - cookie
    - acked
    argTypes:
    - struct wpa_supplicant*
    - u32
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1277
      start: 1272
    functionDepth: 0
    functionLinenumber: 1272
    functionLinenumberEnd: 1277
    functionName: wpas_notify_nan_transmit_req_status
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - wpa_msg_global
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_nan_transmit_req_status(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      u32 cookie, bool acked)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg_global
      Src: /src/hostap/wpa_supplicant/notify.c:1284,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/notify.c:1287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - wpa_s
    - peer_nmi
    - pbm
    - handle
    - requestor_instance_id
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u16
    - int
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1288
      start: 1280
    functionDepth: 1
    functionLinenumber: 1280
    functionLinenumberEnd: 1288
    functionName: wpas_notify_nan_bootstrap_request
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - MAC2STR
    - wpa_msg_global
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_nan_bootstrap_request(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \      const u8 *peer_nmi, u16 pbm,\n\t\t\t\t       int handle, u8 requestor_instance_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg_global
      Src: /src/hostap/wpa_supplicant/notify.c:1295,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/notify.c:1298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - wpa_s
    - peer_nmi
    - pbm
    - handle
    - requestor_instance_id
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u16
    - int
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1299
      start: 1291
    functionDepth: 1
    functionLinenumber: 1291
    functionLinenumberEnd: 1299
    functionName: wpas_notify_nan_bootstrap_success
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - MAC2STR
    - wpa_msg_global
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_nan_bootstrap_success(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \      const u8 *peer_nmi, u16 pbm,\n\t\t\t\t       int handle, u8 requestor_instance_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg_global
      Src: /src/hostap/wpa_supplicant/notify.c:1307,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/notify.c:1310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - wpa_s
    - peer_nmi
    - pbm
    - reason
    - handle
    - requestor_instance_id
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u16
    - u8
    - int
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1312
      start: 1302
    functionDepth: 1
    functionLinenumber: 1302
    functionLinenumberEnd: 1312
    functionName: wpas_notify_nan_bootstrap_failure
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - MAC2STR
    - wpa_msg_global
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_nan_bootstrap_failure(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \      const u8 *peer_nmi, u16 pbm,\n\t\t\t\t       u8 reason, int handle,\n\t\t\t\t
      \      u8 requestor_instance_id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/notify.c:1327,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/notify.c:1328,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/notify.c:1330,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/wpa_supplicant/notify.c:1335,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/wpa_supplicant/notify.c:1336,1
    - Dst: wpa_msg_global
      Src: /src/hostap/wpa_supplicant/notify.c:1338,1
    - Dst: wpa_key_mgmt_txt
      Src: /src/hostap/wpa_supplicant/notify.c:1341,1
    - Dst: bin_clear_free
      Src: /src/hostap/wpa_supplicant/notify.c:1345,1
    - Dst: bin_clear_free
      Src: /src/hostap/wpa_supplicant/notify.c:1346,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 9
    argNames:
    - wpa_s
    - nik
    - nik_len
    - cipher_ver
    - akmp
    - npk
    - npk_len
    - nik_lifetime
    - identity_id
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - size_t
    - int
    - int
    - u8*
    - size_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1347
      start: 1317
    functionDepth: 1
    functionLinenumber: 1317
    functionLinenumberEnd: 1347
    functionName: wpas_notify_nan_nik_received
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpa_snprintf_hex
    - os_malloc
    - wpa_key_mgmt_txt
    - wpa_msg_global
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_nan_nik_received(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \ const u8 *nik, size_t nik_len,\n\t\t\t\t  int cipher_ver, int akmp,\n\t\t\t\t
      \ const u8 *npk, size_t npk_len,\n\t\t\t\t  int nik_lifetime, int identity_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg_global
      Src: /src/hostap/wpa_supplicant/notify.c:1355,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/notify.c:1358,1
    - Dst: wpa_key_mgmt_txt
      Src: /src/hostap/wpa_supplicant/notify.c:1359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - wpa_s
    - peer_nmi
    - csid
    - instance_id
    - key_mgmt
    - verify
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8
    - u8
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1361
      start: 1350
    functionDepth: 1
    functionLinenumber: 1350
    functionLinenumberEnd: 1361
    functionName: wpas_notify_nan_pairing_request
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - MAC2STR
    - wpa_msg_global
    - wpa_key_mgmt_txt
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_nan_pairing_request(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \    const u8 *peer_nmi, u8 csid,\n\t\t\t\t     u8 instance_id, int key_mgmt,\n\t\t\t\t
      \    bool verify)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/notify.c:1374,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/wpa_supplicant/notify.c:1378,1
    - Dst: wpa_msg_global
      Src: /src/hostap/wpa_supplicant/notify.c:1381,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/notify.c:1384,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/notify.c:1384,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/notify.c:1388,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 8
    argNames:
    - wpa_s
    - peer_nmi
    - init_ndi
    - ndp_id
    - publish_inst_id
    - ssi
    - ssi_len
    - csid
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - u32
    - u8
    - u8*
    - size_t
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1389
      start: 1366
    functionDepth: 1
    functionLinenumber: 1366
    functionLinenumberEnd: 1389
    functionName: wpas_notify_nan_ndp_request
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - wpa_snprintf_hex
    - MAC2STR
    - os_zalloc
    - os_free
    - wpa_msg_global
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_nan_ndp_request(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      const u8 *peer_nmi, const u8 *init_ndi,\n\t\t\t\t u32 ndp_id, u8 publish_inst_id,\n\t\t\t\t
      const u8 *ssi, size_t ssi_len, u32 csid)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/notify.c:1400,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/wpa_supplicant/notify.c:1404,1
    - Dst: wpa_msg_global
      Src: /src/hostap/wpa_supplicant/notify.c:1407,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/notify.c:1410,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/notify.c:1410,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/notify.c:1413,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 6
    argNames:
    - wpa_s
    - peer_nmi
    - init_ndi
    - ndp_id
    - ssi
    - ssi_len
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - u32
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1414
      start: 1392
    functionDepth: 1
    functionLinenumber: 1392
    functionLinenumberEnd: 1414
    functionName: wpas_notify_nan_ndp_counter_request
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - wpa_snprintf_hex
    - MAC2STR
    - os_zalloc
    - os_free
    - wpa_msg_global
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_nan_ndp_counter_request(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      const u8 *peer_nmi,\n\t\t\t\t\t const u8 *init_ndi, u32 ndp_id,\n\t\t\t\t\t
      const u8 *ssi, size_t ssi_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/notify.c:1427,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/wpa_supplicant/notify.c:1431,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/notify.c:1436,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/wpa_supplicant/notify.c:1440,1
    - Dst: wpa_msg_global
      Src: /src/hostap/wpa_supplicant/notify.c:1446,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/notify.c:1449,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/notify.c:1450,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/notify.c:1450,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/notify.c:1454,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/notify.c:1455,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 8
    argNames:
    - wpa_s
    - peer_nmi
    - ndp_id
    - local_ndi
    - peer_ndi
    - ssi
    - ssi_len
    - interface_id
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u32
    - u8*
    - u8*
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1456
      start: 1417
    functionDepth: 1
    functionLinenumber: 1417
    functionLinenumberEnd: 1456
    functionName: wpas_notify_nan_ndp_connected
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - wpa_snprintf_hex
    - MAC2STR
    - os_zalloc
    - os_free
    - wpa_msg_global
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_nan_ndp_connected(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \  const u8 *peer_nmi, u32 ndp_id,\n\t\t\t\t   const u8 *local_ndi,\n\t\t\t\t
      \  const u8 *peer_ndi,\n\t\t\t\t   const u8 *ssi, size_t ssi_len,\n\t\t\t\t
      \  const u8 *interface_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg_global
      Src: /src/hostap/wpa_supplicant/notify.c:1467,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/notify.c:1471,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/notify.c:1472,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/notify.c:1472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - wpa_s
    - peer_nmi
    - ndp_id
    - local_ndi
    - peer_ndi
    - reason
    - locally_generated
    - failure
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u32
    - u8*
    - u8*
    - enum nan_reason
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1474
      start: 1459
    functionDepth: 1
    functionLinenumber: 1459
    functionLinenumberEnd: 1474
    functionName: wpas_notify_nan_ndp_disconnected
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - MAC2STR
    - wpa_msg_global
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_nan_ndp_disconnected(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \     const u8 *peer_nmi, u32 ndp_id,\n\t\t\t\t      const u8 *local_ndi,\n\t\t\t\t
      \     const u8 *peer_ndi,\n\t\t\t\t      enum nan_reason reason,\n\t\t\t\t      bool
      locally_generated,\n\t\t\t\t      bool failure)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg_global
      Src: /src/hostap/wpa_supplicant/notify.c:1480,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/notify.c:1481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - wpa_s
    - cluster_id
    - new_cluster
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1482
      start: 1477
    functionDepth: 1
    functionLinenumber: 1477
    functionLinenumberEnd: 1482
    functionName: wpas_notify_nan_cluster_join
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - MAC2STR
    - wpa_msg_global
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_nan_cluster_join(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \ const u8 *cluster_id, bool new_cluster)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg_global
      Src: /src/hostap/wpa_supplicant/notify.c:1488,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/notify.c:1490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - peer_nmi
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1491
      start: 1485
    functionDepth: 1
    functionLinenumber: 1485
    functionLinenumberEnd: 1491
    functionName: wpas_notify_nan_schedule_changed
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - MAC2STR
    - wpa_msg_global
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_nan_schedule_changed(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \     const u8 *peer_nmi)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg_global
      Src: /src/hostap/wpa_supplicant/notify.c:1497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - success
    argTypes:
    - struct wpa_supplicant*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1499
      start: 1494
    functionDepth: 0
    functionLinenumber: 1494
    functionLinenumberEnd: 1499
    functionName: wpas_notify_nan_sched_update_done
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - wpa_msg_global
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_nan_sched_update_done(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \      bool success)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/wpa_supplicant/notify.c:1510,1
    - Dst: wpa_msg_global
      Src: /src/hostap/wpa_supplicant/notify.c:1515,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/notify.c:1517,1
    - Dst: wpa_key_mgmt_txt
      Src: /src/hostap/wpa_supplicant/notify.c:1518,1
    - Dst: wpa_cipher_txt
      Src: /src/hostap/wpa_supplicant/notify.c:1519,1
    - Dst: forced_memzero
      Src: /src/hostap/wpa_supplicant/notify.c:1523,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - wpa_s
    - peer_addr
    - akmp
    - cipher
    - status
    - nd_pmk
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - int
    - int
    - u16
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1524
      start: 1502
    functionDepth: 1
    functionLinenumber: 1502
    functionLinenumberEnd: 1524
    functionName: wpas_notify_nan_pairing_status
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - wpa_snprintf_hex
    - forced_memzero
    - MAC2STR
    - wpa_key_mgmt_txt
    - wpa_cipher_txt
    - wpa_msg_global
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_nan_pairing_status(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \   const u8 *peer_addr, int akmp,\n\t\t\t\t    int cipher, u16 status,\n\t\t\t\t
      \   const u8 *nd_pmk)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg_global
      Src: /src/hostap/wpa_supplicant/notify.c:1530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - wpa_s
    - map_id
    - freq
    argTypes:
    - struct wpa_supplicant*
    - u8
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1533
      start: 1527
    functionDepth: 0
    functionLinenumber: 1527
    functionLinenumberEnd: 1533
    functionName: wpas_notify_nan_chan_evacuation
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - wpa_msg_global
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_nan_chan_evacuation(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \    u8 map_id, int freq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg_global
      Src: /src/hostap/wpa_supplicant/notify.c:1538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1540
      start: 1536
    functionDepth: 0
    functionLinenumber: 1536
    functionLinenumberEnd: 1540
    functionName: wpas_notify_nan_stopped
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - wpa_msg_global
    linkageType: ''
    returnType: void
    signature: void wpas_notify_nan_stopped(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg_global
      Src: /src/hostap/wpa_supplicant/notify.c:1551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - wpa_s
    - role
    - protocol_type
    - op_class
    - op_channel
    - country
    argTypes:
    - struct wpa_supplicant*
    - u8
    - u8
    - u8
    - u8
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1555
      start: 1547
    functionDepth: 0
    functionLinenumber: 1547
    functionLinenumberEnd: 1555
    functionName: wpas_notify_pr_pasn_result
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - wpa_msg_global
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_pr_pasn_result(struct wpa_supplicant *wpa_s, u8 role,\n\t\t\t\tu8
      protocol_type, u8 op_class, u8 op_channel,\n\t\t\t\tconst char *country)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg_global
      Src: /src/hostap/wpa_supplicant/notify.c:1562,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/notify.c:1564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - wpa_s
    - peer_addr
    - role
    - protocol_type
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1565
      start: 1558
    functionDepth: 1
    functionLinenumber: 1558
    functionLinenumberEnd: 1565
    functionName: wpas_notify_pr_negotiation_started
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - MAC2STR
    - wpa_msg_global
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_pr_negotiation_started(struct wpa_supplicant *wpa_s,\n\t\t\t\t\tconst
      u8 *peer_addr, u8 role,\n\t\t\t\t\tu8 protocol_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg_global
      Src: /src/hostap/wpa_supplicant/notify.c:1573,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/notify.c:1576,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/notify.c:1576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - wpa_s
    - dev_addr
    - peer_addr
    - ranging_role
    - protocol_type
    - freq
    - channel
    - bw
    - format_bw
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - u8
    - u8
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1578
      start: 1568
    functionDepth: 1
    functionLinenumber: 1568
    functionLinenumberEnd: 1578
    functionName: wpas_notify_pr_ranging_params
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - MAC2STR
    - wpa_msg_global
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_pr_ranging_params(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \  const u8 *dev_addr, const u8 *peer_addr,\n\t\t\t\t   u8 ranging_role, u8
      protocol_type, int freq,\n\t\t\t\t   int channel, int bw, int format_bw)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg_global
      Src: /src/hostap/wpa_supplicant/notify.c:1589,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/notify.c:1592,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/notify.c:1599,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/notify.c:1602,1
    - Dst: wpa_msg_global
      Src: /src/hostap/wpa_supplicant/notify.c:1605,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/notify.c:1607,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - wpa_s
    - result
    argTypes:
    - struct wpa_supplicant*
    - struct peer_measurement_result*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1609
      start: 1581
    functionDepth: 1
    functionLinenumber: 1581
    functionLinenumberEnd: 1609
    functionName: wpas_notify_pr_measurement_result
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - os_snprintf
    - MAC2STR
    - wpa_msg_global
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_pr_measurement_result(\n\tstruct wpa_supplicant *wpa_s,\n\tconst
      struct peer_measurement_result *result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg_global
      Src: /src/hostap/wpa_supplicant/notify.c:1614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - cookie
    argTypes:
    - struct wpa_supplicant*
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1616
      start: 1612
    functionDepth: 0
    functionLinenumber: 1612
    functionLinenumberEnd: 1616
    functionName: wpas_notify_pr_ranging_complete
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - wpa_msg_global
    linkageType: ''
    returnType: void
    signature: void wpas_notify_pr_ranging_complete(struct wpa_supplicant *wpa_s,
      u64 cookie)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg_global
      Src: /src/hostap/wpa_supplicant/notify.c:1622,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/notify.c:1625,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - dev
    argTypes:
    - struct wpa_supplicant*
    - struct pr_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1638
      start: 1619
    functionDepth: 1
    functionLinenumber: 1619
    functionLinenumberEnd: 1638
    functionName: wpas_notify_pr_device_found
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 1
    functionsReached:
    - MAC2STR
    - wpa_msg_global
    linkageType: ''
    returnType: void
    signature: "void wpas_notify_pr_device_found(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      const struct pr_device *dev)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg_global
      Src: /src/hostap/wpa_supplicant/notify.c:1643,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - reason
    argTypes:
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1645
      start: 1641
    functionDepth: 0
    functionLinenumber: 1641
    functionLinenumberEnd: 1645
    functionName: wpas_notify_pr_ranging_terminated
    functionSourceFile: /src/hostap/wpa_supplicant/notify.c
    functionUses: 7
    functionsReached:
    - wpa_msg_global
    linkageType: ''
    returnType: void
    signature: void wpas_notify_pr_ranging_terminated(struct wpa_supplicant *wpa_s,
      int reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: wpa_supplicant_ctrl_iface_init
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: struct ctrl_iface_priv
    signature: 'struct ctrl_iface_priv *

      wpa_supplicant_ctrl_iface_init(struct wpa_supplicant *wpa_s)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - wpa_s
    - priv
    argTypes:
    - struct wpa_supplicant*
    - struct ctrl_iface_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: wpa_supplicant_ctrl_iface_deinit
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_ctrl_iface_deinit(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      struct ctrl_iface_priv *priv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - priv
    - level
    - buf
    - len
    argTypes:
    - struct ctrl_iface_priv*
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: wpa_supplicant_ctrl_iface_send
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_ctrl_iface_send(struct ctrl_iface_priv *priv,
      int level,\n\t\t\t       char *buf, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - priv
    argTypes:
    - struct ctrl_iface_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: wpa_supplicant_ctrl_iface_wait
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wpa_supplicant_ctrl_iface_wait(struct ctrl_iface_priv *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - global
    argTypes:
    - struct wpa_global*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: wpa_supplicant_global_ctrl_iface_init
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: struct ctrl_iface_global_priv
    signature: 'struct ctrl_iface_global_priv *

      wpa_supplicant_global_ctrl_iface_init(struct wpa_global *global)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - priv
    argTypes:
    - struct ctrl_iface_global_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 161
    functionName: wpa_supplicant_global_ctrl_iface_deinit
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wpa_supplicant_global_ctrl_iface_deinit(struct ctrl_iface_global_priv
      *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 165
    functionName: wpas_ctrl_radio_work_flush
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wpas_ctrl_radio_work_flush(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tspec
    argTypes:
    - struct wmm_tspec_element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: wmm_ac_get_tsid
    functionSourceFile: /src/hostap/wpa_supplicant/wmm_ac.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 wmm_ac_get_tsid(const struct wmm_tspec_element *tspec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tspec
    argTypes:
    - struct wmm_tspec_element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: wmm_ac_get_direction
    functionSourceFile: /src/hostap/wpa_supplicant/wmm_ac.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 wmm_ac_get_direction(const struct wmm_tspec_element *tspec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tspec
    argTypes:
    - struct wmm_tspec_element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: wmm_ac_get_user_priority
    functionSourceFile: /src/hostap/wpa_supplicant/wmm_ac.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 wmm_ac_get_user_priority(const struct wmm_tspec_element *tspec)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - direction
    argTypes:
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 66
    functionName: wmm_ac_direction_to_idx
    functionSourceFile: /src/hostap/wpa_supplicant/wmm_ac.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: u8
    signature: u8 wmm_ac_direction_to_idx(u8 direction)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: le_to_host16
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:74,1
    - Dst: wmm_ac_get_user_priority
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:75,1
    - Dst: wmm_ac_get_direction
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:77,1
    - Dst: wmm_ac_get_tsid
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:78,1
    - Dst: wmm_ac_direction_to_idx
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:79,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:83,1
    - Dst: os_memdup
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:90,1
    - Dst: wpa_drv_add_ts
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:95,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:96,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:99,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:101,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:108,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:110,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:112,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - wpa_s
    - addr
    - tspec
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - struct wmm_tspec_element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 115
    functionName: wmm_ac_add_ts
    functionSourceFile: /src/hostap/wpa_supplicant/wmm_ac.c
    functionUses: 0
    functionsReached:
    - wmm_ac_get_tsid
    - wpa_printf
    - wmm_ac_get_user_priority
    - wpa_msg
    - os_memdup
    - wmm_ac_get_direction
    - wpa_drv_add_ts
    - MAC2STR
    - le_to_host16
    - os_free
    - wmm_ac_direction_to_idx
    linkageType: ''
    returnType: int
    signature: "int wmm_ac_add_ts(struct wpa_supplicant *wpa_s, const u8 *addr,\n\t\t\t
      const struct wmm_tspec_element *tspec)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wmm_ac_get_tsid
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:127,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:128,1
    - Dst: wmm_ac_get_direction
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:131,1
    - Dst: wpa_drv_del_ts
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:132,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:134,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:135,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - wpa_s
    - ac
    - dir
    argTypes:
    - struct wpa_supplicant*
    - u8
    - enum ts_dir_idx
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 139
    functionName: wmm_ac_del_ts_idx
    functionSourceFile: /src/hostap/wpa_supplicant/wmm_ac.c
    functionUses: 0
    functionsReached:
    - wmm_ac_get_tsid
    - wpa_printf
    - wpa_msg
    - wpa_drv_del_ts
    - wmm_ac_get_direction
    - MAC2STR
    - os_free
    linkageType: ''
    returnType: void
    signature: "void wmm_ac_del_ts_idx(struct wpa_supplicant *wpa_s, u8 ac,\n\t\t\t
      \     enum ts_dir_idx dir)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:150,1
    - Dst: wmm_ac_get_tsid
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:151,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:153,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - wpa_s
    - failed
    argTypes:
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 156
    functionName: wmm_ac_del_req
    functionSourceFile: /src/hostap/wpa_supplicant/wmm_ac.c
    functionUses: 0
    functionsReached:
    - eloop_cancel_timeout
    - wmm_ac_get_tsid
    - os_free
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: void wmm_ac_del_req(struct wpa_supplicant *wpa_s, int failed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:164,1
    - Dst: wmm_ac_get_tsid
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:166,1
    - Dst: wmm_ac_get_user_priority
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:167,1
    - Dst: wmm_ac_del_req
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 170
    functionName: wmm_ac_addts_req_timeout
    functionSourceFile: /src/hostap/wpa_supplicant/wmm_ac.c
    functionUses: 0
    functionsReached:
    - wmm_ac_del_req
    - wmm_ac_get_tsid
    - wpa_printf
    - wmm_ac_get_user_priority
    linkageType: ''
    returnType: void
    signature: void wmm_ac_addts_req_timeout(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:179,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:180,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:183,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:185,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:189,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:190,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:191,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:192,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:193,1
    - Dst: wpa_drv_send_action
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:195,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:197,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:197,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:199,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - wpa_s
    - req
    argTypes:
    - struct wpa_supplicant*
    - struct wmm_ac_addts_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 173
    functionDepth: 3
    functionLinenumber: 173
    functionLinenumberEnd: 205
    functionName: wmm_ac_send_addts_request
    functionSourceFile: /src/hostap/wpa_supplicant/wmm_ac.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_drv_send_action
    - wpabuf_put_data
    - wpabuf_put_u8
    - wpabuf_len
    - wpabuf_free
    - wpabuf_head
    - MAC2STR
    - wpabuf_alloc
    linkageType: ''
    returnType: int
    signature: "int wmm_ac_send_addts_request(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \    const struct wmm_ac_addts_request *req)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:216,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:220,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:220,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:223,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:224,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:225,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:226,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:227,1
    - Dst: wpa_drv_send_action
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:229,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:231,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:231,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:233,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:235,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - wpa_s
    - tspec
    - address
    argTypes:
    - struct wpa_supplicant*
    - struct wmm_tspec_element*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 208
    functionDepth: 3
    functionLinenumber: 208
    functionLinenumberEnd: 237
    functionName: wmm_ac_send_delts
    functionSourceFile: /src/hostap/wpa_supplicant/wmm_ac.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_drv_send_action
    - wpabuf_put_u8
    - wpabuf_put_data
    - wpabuf_len
    - wpabuf_free
    - wpabuf_head
    - MAC2STR
    - wpabuf_alloc
    linkageType: ''
    returnType: int
    signature: "int wmm_ac_send_delts(struct wpa_supplicant *wpa_s,\n\t\t\t     const
      struct wmm_tspec_element *tspec,\n\t\t\t     const u8 *address)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wmm_ac_get_tsid
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:250,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - wpa_s
    - tsid
    - dir
    argTypes:
    - struct wpa_supplicant*
    - u8
    - enum ts_dir_idx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 259
    functionName: wmm_ac_find_tsid
    functionSourceFile: /src/hostap/wpa_supplicant/wmm_ac.c
    functionUses: 0
    functionsReached:
    - wmm_ac_get_tsid
    linkageType: ''
    returnType: int
    signature: "int wmm_ac_find_tsid(struct wpa_supplicant *wpa_s, u8 tsid,\n\t\t\t
      \   enum ts_dir_idx *dir)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:272,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:277,1
    - Dst: host_to_le16
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:300,1
    - Dst: host_to_le16
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:303,1
    - Dst: host_to_le32
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:305,1
    - Dst: host_to_le32
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:306,1
    - Dst: host_to_le16
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:308,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 3
    argNames:
    - wpa_s
    - params
    - address
    argTypes:
    - struct wpa_supplicant*
    - struct wmm_ac_ts_setup_params*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 311
    functionName: wmm_ac_build_addts_req
    functionSourceFile: /src/hostap/wpa_supplicant/wmm_ac.c
    functionUses: 0
    functionsReached:
    - os_zalloc
    - host_to_le32
    - os_memcpy
    - host_to_le16
    linkageType: ''
    returnType: struct wmm_ac_addts_request
    signature: "struct wmm_ac_addts_request *\nwmm_ac_build_addts_req(struct wpa_supplicant
      *wpa_s,\n\t\t       const struct wmm_ac_ts_setup_params *params,\n\t\t       const
      u8 *address)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:318,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - name
    - value
    - min_val
    - max_val
    argTypes:
    - char*
    - long
    - long
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 325
    functionName: param_in_range
    functionSourceFile: /src/hostap/wpa_supplicant/wmm_ac.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int param_in_range(const char *name, long value,\n\t\t\t  long min_val,
      long max_val)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wmm_ac_find_tsid
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:334,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:337,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:344,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:349,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:355,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:356,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:360,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:361,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 4
    argNames:
    - wpa_s
    - tsid
    - ac
    - dir
    argTypes:
    - struct wpa_supplicant*
    - u8
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 328
    functionDepth: 2
    functionLinenumber: 328
    functionLinenumberEnd: 372
    functionName: wmm_ac_should_replace_ts
    functionSourceFile: /src/hostap/wpa_supplicant/wmm_ac.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - BIT
    - wmm_ac_find_tsid
    linkageType: ''
    returnType: int
    signature: "int wmm_ac_should_replace_ts(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \   u8 tsid, u8 ac, u8 dir)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PARAM_IN_RANGE
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:383,1
    - Dst: PARAM_IN_RANGE
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:384,1
    - Dst: PARAM_IN_RANGE
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:385,1
    - Dst: PARAM_IN_RANGE
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:386,1
    - Dst: PARAM_IN_RANGE
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:387,1
    - Dst: PARAM_IN_RANGE
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:388,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:396,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:405,1
    - Dst: wmm_ac_should_replace_ts
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:409,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 2
    argNames:
    - wpa_s
    - params
    argTypes:
    - struct wpa_supplicant*
    - struct wmm_ac_ts_setup_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 375
    functionDepth: 3
    functionLinenumber: 375
    functionLinenumberEnd: 414
    functionName: wmm_ac_ts_req_is_valid
    functionSourceFile: /src/hostap/wpa_supplicant/wmm_ac.c
    functionUses: 0
    functionsReached:
    - PARAM_IN_RANGE
    - wmm_ac_should_replace_ts
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int wmm_ac_ts_req_is_valid(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \ const struct wmm_ac_ts_setup_params *params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - field
    - ','
    - min_value
    - ','
    - max_value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 382
    functionName: PARAM_IN_RANGE
    functionSourceFile: /src/hostap/wpa_supplicant/wmm_ac.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PARAM_IN_RANGE(field, min_value, max_value)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:427,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:428,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:433,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:438,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:444,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:452,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - wpa_s
    - ies
    - ies_len
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 460
    functionName: wmm_ac_process_param_elem
    functionSourceFile: /src/hostap/wpa_supplicant/wmm_ac.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - ieee802_11_parse_elems
    - os_zalloc
    linkageType: ''
    returnType: struct wmm_ac_assoc_data
    signature: "struct wmm_ac_assoc_data *\nwmm_ac_process_param_elem(struct wpa_supplicant
      *wpa_s, const u8 *ies,\n\t\t\t  size_t ies_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:470,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:479,1
    - Dst: wmm_ac_process_param_elem
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:483,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:487,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:492,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - wpa_s
    - ies
    - ies_len
    - wmm_params
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - size_t
    - struct wmm_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 463
    functionDepth: 2
    functionLinenumber: 463
    functionLinenumberEnd: 497
    functionName: wmm_ac_init
    functionSourceFile: /src/hostap/wpa_supplicant/wmm_ac.c
    functionUses: 0
    functionsReached:
    - wmm_ac_process_param_elem
    - wpa_printf
    - BIT
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wmm_ac_init(struct wpa_supplicant *wpa_s, const u8 *ies,\n\t\t
      \      size_t ies_len, const struct wmm_params *wmm_params)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:505,1
    - Dst: wmm_ac_del_ts_idx
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:508,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - wpa_s
    - ac
    - dir_bitmap
    argTypes:
    - struct wpa_supplicant*
    - u8
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 500
    functionDepth: 2
    functionLinenumber: 500
    functionLinenumberEnd: 510
    functionName: wmm_ac_del_ts
    functionSourceFile: /src/hostap/wpa_supplicant/wmm_ac.c
    functionUses: 0
    functionsReached:
    - BIT
    - wmm_ac_del_ts_idx
    linkageType: ''
    returnType: void
    signature: void wmm_ac_del_ts(struct wpa_supplicant *wpa_s, u8 ac, int dir_bitmap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wmm_ac_del_ts
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:518,1
    - Dst: wmm_ac_del_req
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:521,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:523,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 513
    functionDepth: 3
    functionLinenumber: 513
    functionLinenumberEnd: 525
    functionName: wmm_ac_deinit
    functionSourceFile: /src/hostap/wpa_supplicant/wmm_ac.c
    functionUses: 0
    functionsReached:
    - wmm_ac_del_ts
    - os_free
    - wmm_ac_del_req
    linkageType: ''
    returnType: void
    signature: void wmm_ac_deinit(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wmm_ac_init
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:531,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:534,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - wpa_s
    - ies
    - ies_len
    - wmm_params
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - size_t
    - struct wmm_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 528
    functionDepth: 3
    functionLinenumber: 528
    functionLinenumberEnd: 536
    functionName: wmm_ac_notify_assoc
    functionSourceFile: /src/hostap/wpa_supplicant/wmm_ac.c
    functionUses: 1
    functionsReached:
    - wmm_ac_init
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: "void wmm_ac_notify_assoc(struct wpa_supplicant *wpa_s, const u8 *ies,\n\t\t\t
      size_t ies_len, const struct wmm_params *wmm_params)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wmm_ac_deinit
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:544,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:545,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 539
    functionDepth: 4
    functionLinenumber: 539
    functionLinenumberEnd: 546
    functionName: wmm_ac_notify_disassoc
    functionSourceFile: /src/hostap/wpa_supplicant/wmm_ac.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - wmm_ac_deinit
    linkageType: ''
    returnType: void
    signature: void wmm_ac_notify_disassoc(struct wpa_supplicant *wpa_s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:556,1
    - Dst: wmm_ac_find_tsid
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:561,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:563,1
    - Dst: wmm_ac_del_ts_idx
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:569,1
    - Dst: wmm_ac_send_delts
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:571,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - wpa_s
    - tsid
    argTypes:
    - struct wpa_supplicant*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 549
    functionDepth: 4
    functionLinenumber: 549
    functionLinenumberEnd: 574
    functionName: wpas_wmm_ac_delts
    functionSourceFile: /src/hostap/wpa_supplicant/wmm_ac.c
    functionUses: 1
    functionsReached:
    - wmm_ac_send_delts
    - wpa_printf
    - wmm_ac_del_ts_idx
    - wmm_ac_find_tsid
    linkageType: ''
    returnType: int
    signature: int wpas_wmm_ac_delts(struct wpa_supplicant *wpa_s, u8 tsid)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:583,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:589,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:600,1
    - Dst: wmm_ac_ts_req_is_valid
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:605,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:608,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:610,1
    - Dst: wmm_ac_build_addts_req
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:613,1
    - Dst: wmm_ac_send_addts_request
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:617,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:622,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:626,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - wpa_s
    - params
    argTypes:
    - struct wpa_supplicant*
    - struct wmm_ac_ts_setup_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 577
    functionDepth: 4
    functionLinenumber: 577
    functionLinenumberEnd: 628
    functionName: wpas_wmm_ac_addts
    functionSourceFile: /src/hostap/wpa_supplicant/wmm_ac.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wmm_ac_ts_req_is_valid
    - MAC2STR
    - wmm_ac_send_addts_request
    - eloop_register_timeout
    - os_free
    - wmm_ac_build_addts_req
    linkageType: ''
    returnType: int
    signature: "int wpas_wmm_ac_addts(struct wpa_supplicant *wpa_s,\n\t\t      struct
      wmm_ac_ts_setup_params *params)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wmm_ac_get_tsid
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:638,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:640,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:642,1
    - Dst: wmm_ac_find_tsid
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:644,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:646,1
    - Dst: wmm_ac_del_ts_idx
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:651,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:653,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:655,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - wpa_s
    - sa
    - tspec
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - struct wmm_tspec_element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 631
    functionDepth: 2
    functionLinenumber: 631
    functionLinenumberEnd: 656
    functionName: wmm_ac_handle_delts
    functionSourceFile: /src/hostap/wpa_supplicant/wmm_ac.c
    functionUses: 0
    functionsReached:
    - wmm_ac_get_tsid
    - wpa_printf
    - wmm_ac_find_tsid
    - wmm_ac_del_ts_idx
    - MAC2STR
    linkageType: ''
    returnType: void
    signature: "void wmm_ac_handle_delts(struct wpa_supplicant *wpa_s, const u8 *sa,\n\t\t\t\tconst
      struct wmm_tspec_element *tspec)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wmm_ac_get_tsid
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:667,1
    - Dst: wmm_ac_get_direction
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:668,1
    - Dst: wmm_ac_get_user_priority
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:669,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:674,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:681,1
    - Dst: wmm_ac_get_tsid
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:682,1
    - Dst: wmm_ac_get_user_priority
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:683,1
    - Dst: wmm_ac_get_direction
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:684,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:685,1
    - Dst: wmm_ac_del_req
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:691,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:693,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:698,1
    - Dst: wmm_ac_should_replace_ts
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:702,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:706,1
    - Dst: wmm_ac_del_ts
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:709,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:712,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:715,1
    - Dst: le_to_host16
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:716,1
    - Dst: wmm_ac_add_ts
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:718,1
    - Dst: wmm_ac_send_delts
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:725,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:727,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 5
    argNames:
    - wpa_s
    - sa
    - resp_dialog_token
    - status_code
    - tspec
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8
    - u8
    - struct wmm_tspec_element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 659
    functionDepth: 4
    functionLinenumber: 659
    functionLinenumberEnd: 729
    functionName: wmm_ac_handle_addts_resp
    functionSourceFile: /src/hostap/wpa_supplicant/wmm_ac.c
    functionUses: 0
    functionsReached:
    - wmm_ac_del_ts
    - wmm_ac_get_tsid
    - wpa_printf
    - wmm_ac_get_user_priority
    - wmm_ac_add_ts
    - wpa_msg
    - ether_addr_equal
    - wmm_ac_should_replace_ts
    - wmm_ac_send_delts
    - wmm_ac_get_direction
    - MAC2STR
    - wmm_ac_del_req
    - le_to_host16
    linkageType: ''
    returnType: void
    signature: "void wmm_ac_handle_addts_resp(struct wpa_supplicant *wpa_s, const
      u8 *sa,\n\t\tconst u8 resp_dialog_token, const u8 status_code,\n\t\tconst struct
      wmm_tspec_element *tspec)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:742,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:751,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:758,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:759,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:760,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:764,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:765,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:766,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:771,1
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:782,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:783,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:785,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:791,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:797,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:798,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:799,1
    - Dst: wmm_ac_handle_addts_resp
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:803,1
    - Dst: wmm_ac_handle_delts
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:807,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 5
    argNames:
    - wpa_s
    - da
    - sa
    - data
    - len
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 732
    functionDepth: 5
    functionLinenumber: 732
    functionLinenumberEnd: 812
    functionName: wmm_ac_rx_action
    functionSourceFile: /src/hostap/wpa_supplicant/wmm_ac.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    - wmm_ac_handle_delts
    - ether_addr_equal
    - MAC2STR
    - ieee802_11_parse_elems
    - wmm_ac_handle_addts_resp
    linkageType: ''
    returnType: void
    signature: "void wmm_ac_rx_action(struct wpa_supplicant *wpa_s, const u8 *da,\n\t\t\tconst
      u8 *sa, const u8 *data, size_t len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - ac
    argTypes:
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 829
    functionName: get_ac_str
    functionSourceFile: /src/hostap/wpa_supplicant/wmm_ac.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * get_ac_str(u8 ac)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - direction
    argTypes:
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 844
    functionName: get_direction_str
    functionSourceFile: /src/hostap/wpa_supplicant/wmm_ac.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * get_direction_str(u8 direction)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_scnprintf
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:855,1
    - Dst: wpa_scnprintf
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:859,1
    - Dst: wpa_scnprintf
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:864,1
    - Dst: get_ac_str
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:866,1
    - Dst: wmm_ac_get_direction
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:881,1
    - Dst: get_direction_str
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:882,1
    - Dst: wmm_ac_get_tsid
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:883,1
    - Dst: wmm_ac_get_user_priority
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:884,1
    - Dst: wpa_scnprintf
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:886,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:892,1
    - Dst: le_to_host16
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:894,1
    - Dst: wpa_scnprintf
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:898,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - wpa_s
    - buf
    - buflen
    argTypes:
    - struct wpa_supplicant*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 904
      start: 847
    functionDepth: 1
    functionLinenumber: 847
    functionLinenumberEnd: 904
    functionName: wpas_wmm_ac_status
    functionSourceFile: /src/hostap/wpa_supplicant/wmm_ac.c
    functionUses: 0
    functionsReached:
    - get_direction_str
    - wmm_ac_get_tsid
    - wpa_scnprintf
    - wmm_ac_get_user_priority
    - get_ac_str
    - wmm_ac_get_direction
    - MAC2STR
    - le_to_host16
    linkageType: ''
    returnType: int
    signature: int wpas_wmm_ac_status(struct wpa_supplicant *wpa_s, char *buf, size_t
      buflen)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 919
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 919
    functionName: wmm_ac_get_tspecs_count
    functionSourceFile: /src/hostap/wpa_supplicant/wmm_ac.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 wmm_ac_get_tspecs_count(struct wpa_supplicant *wpa_s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:926,1
    - Dst: wmm_ac_get_tspecs_count
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:931,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:933,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:937,1
    - Dst: wmm_ac_clear_saved_tspecs
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:939,1
    - Dst: os_calloc
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:940,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:943,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:957,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 922
    functionDepth: 1
    functionLinenumber: 922
    functionLinenumberEnd: 959
    functionName: wmm_ac_save_tspecs
    functionSourceFile: /src/hostap/wpa_supplicant/wmm_ac.c
    functionUses: 1
    functionsReached:
    - wmm_ac_clear_saved_tspecs
    - wpa_printf
    - os_calloc
    - wmm_ac_get_tspecs_count
    linkageType: ''
    returnType: void
    signature: void wmm_ac_save_tspecs(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:965,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:966,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 962
    functionDepth: 0
    functionLinenumber: 962
    functionLinenumberEnd: 970
    functionName: wmm_ac_clear_saved_tspecs
    functionSourceFile: /src/hostap/wpa_supplicant/wmm_ac.c
    functionUses: 3
    functionsReached:
    - os_free
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void wmm_ac_clear_saved_tspecs(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:980,1
    - Dst: wmm_ac_add_ts
      Src: /src/hostap/wpa_supplicant/wmm_ac.c:984,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 987
      start: 973
    functionDepth: 2
    functionLinenumber: 973
    functionLinenumberEnd: 987
    functionName: wmm_ac_restore_tspecs
    functionSourceFile: /src/hostap/wpa_supplicant/wmm_ac.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wmm_ac_add_ts
    linkageType: ''
    returnType: int
    signature: int wmm_ac_restore_tspecs(struct wpa_supplicant *wpa_s)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:62,1
    - Dst: struct wpa_priv_interface*::driver::deinit
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:64,1
    - Dst: struct wpa_priv_interface*::driver::global_deinit
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:67,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:75,1
    - Dst: l2_packet_deinit
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:77,1
    - Dst: struct wpa_priv_interface*::driver::global_init
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:85,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:87,1
    - Dst: struct wpa_priv_interface*::driver::init2
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:94,1
    - Dst: struct wpa_priv_interface*::driver::init
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:97,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:102,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:106,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:109,1
    - Dst: struct wpa_priv_interface*::driver::set_param
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:114,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:115,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 3
    argNames:
    - iface
    - from
    - fromlen
    argTypes:
    - struct wpa_priv_interface*
    - struct sockaddr_un*
    - socklen_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 117
    functionName: wpa_priv_cmd_register
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_priv.c
    functionUses: 0
    functionsReached:
    - struct wpa_priv_interface*::driver::global_deinit
    - wpa_printf
    - struct wpa_priv_interface*::driver::init2
    - struct wpa_priv_interface*::driver::init
    - os_memcpy
    - struct wpa_priv_interface*::driver::set_param
    - l2_packet_deinit
    - struct wpa_priv_interface*::driver::deinit
    - struct wpa_priv_interface*::driver::global_init
    linkageType: ''
    returnType: void
    signature: "void wpa_priv_cmd_register(struct wpa_priv_interface *iface,\n\t\t\t\t
      \ struct sockaddr_un *from, socklen_t fromlen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_priv_interface*::driver::deinit
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:125,1
    - Dst: struct wpa_priv_interface*::driver::global_deinit
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - iface
    - from
    argTypes:
    - struct wpa_priv_interface*
    - struct sockaddr_un*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 133
    functionName: wpa_priv_cmd_unregister
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_priv.c
    functionUses: 0
    functionsReached:
    - struct wpa_priv_interface*::driver::global_deinit
    - struct wpa_priv_interface*::driver::deinit
    linkageType: ''
    returnType: void
    signature: "void wpa_priv_cmd_unregister(struct wpa_priv_interface *iface,\n\t\t\t\t
      \   struct sockaddr_un *from)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:148,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:154,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:156,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:166,1
    - Dst: struct wpa_priv_interface*::driver::scan2
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:177,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 3
    argNames:
    - iface
    - buf
    - len
    argTypes:
    - struct wpa_priv_interface*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 178
    functionName: wpa_priv_cmd_scan
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_priv.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - struct wpa_priv_interface*::driver::scan2
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void wpa_priv_cmd_scan(struct wpa_priv_interface *iface,\n\t\t\t      void
      *buf, size_t len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_priv_interface*::driver::get_scan_results
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:191,1
    - Dst: struct wpa_priv_interface*::driver::get_scan_results2
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:193,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:197,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:203,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:211,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:213,1
    - Dst: sendto
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:217,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:219,1
    - Dst: wpa_scan_results_free
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:220,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:224,1
    - Dst: wpa_scan_results_free
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:225,1
    - Dst: sendto
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:226,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 3
    argNames:
    - iface
    - from
    - fromlen
    argTypes:
    - struct wpa_priv_interface*
    - struct sockaddr_un*
    - socklen_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 227
    functionName: wpa_priv_get_scan_results2
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_priv.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - sendto
    - os_malloc
    - wpa_scan_results_free
    - struct wpa_priv_interface*::driver::get_scan_results
    - struct wpa_priv_interface*::driver::get_scan_results2
    - os_free
    linkageType: ''
    returnType: void
    signature: "void wpa_priv_get_scan_results2(struct wpa_priv_interface *iface,\n\t\t\t\t
      \      struct sockaddr_un *from,\n\t\t\t\t       socklen_t fromlen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_priv_get_scan_results2
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:238,1
    - Dst: sendto
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:240,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - iface
    - from
    - fromlen
    argTypes:
    - struct wpa_priv_interface*
    - struct sockaddr_un*
    - socklen_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 230
    functionDepth: 2
    functionLinenumber: 230
    functionLinenumberEnd: 241
    functionName: wpa_priv_cmd_get_scan_results
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_priv.c
    functionUses: 0
    functionsReached:
    - sendto
    - wpa_priv_get_scan_results2
    linkageType: ''
    returnType: void
    signature: "void wpa_priv_cmd_get_scan_results(struct wpa_priv_interface *iface,\n\t\t\t\t\t
      \ struct sockaddr_un *from,\n\t\t\t\t\t  socklen_t fromlen)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:255,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:261,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:265,1
    - Dst: struct wpa_priv_interface*::driver::authenticate
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:291,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:292,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 3
    argNames:
    - iface
    - buf
    - len
    argTypes:
    - struct wpa_priv_interface*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 293
    functionName: wpa_priv_cmd_authenticate
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_priv.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - struct wpa_priv_interface*::driver::authenticate
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void wpa_priv_cmd_authenticate(struct wpa_priv_interface *iface,\n\t\t\t\t
      \     void *buf, size_t len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:308,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:314,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:318,1
    - Dst: struct wpa_priv_interface*::driver::associate
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:339,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:340,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 3
    argNames:
    - iface
    - buf
    - len
    argTypes:
    - struct wpa_priv_interface*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 341
    functionName: wpa_priv_cmd_associate
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_priv.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - struct wpa_priv_interface*::driver::associate
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void wpa_priv_cmd_associate(struct wpa_priv_interface *iface,\n\t\t\t\t
      \  void *buf, size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_priv_interface*::driver::get_bssid
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:353,1
    - Dst: sendto
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:356,1
    - Dst: sendto
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:361,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - iface
    - from
    - fromlen
    argTypes:
    - struct wpa_priv_interface*
    - struct sockaddr_un*
    - socklen_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 362
    functionName: wpa_priv_cmd_get_bssid
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_priv.c
    functionUses: 0
    functionsReached:
    - sendto
    - struct wpa_priv_interface*::driver::get_bssid
    linkageType: ''
    returnType: void
    signature: "void wpa_priv_cmd_get_bssid(struct wpa_priv_interface *iface,\n\t\t\t\t
      \  struct sockaddr_un *from, socklen_t fromlen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:377,1
    - Dst: struct wpa_priv_interface*::driver::get_ssid
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:378,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:381,1
    - Dst: sendto
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:383,1
    - Dst: sendto
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:388,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - iface
    - from
    - fromlen
    argTypes:
    - struct wpa_priv_interface*
    - struct sockaddr_un*
    - socklen_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 389
    functionName: wpa_priv_cmd_get_ssid
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_priv.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - sendto
    - struct wpa_priv_interface*::driver::get_ssid
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void wpa_priv_cmd_get_ssid(struct wpa_priv_interface *iface,\n\t\t\t\t
      \ struct sockaddr_un *from, socklen_t fromlen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:403,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:409,1
    - Dst: struct wpa_priv_interface*::driver::set_key
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:422,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:423,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - iface
    - buf
    - len
    argTypes:
    - struct wpa_priv_interface*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 424
    functionName: wpa_priv_cmd_set_key
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_priv.c
    functionUses: 0
    functionsReached:
    - struct wpa_priv_interface*::driver::set_key
    - wpa_printf
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void wpa_priv_cmd_set_key(struct wpa_priv_interface *iface,\n\t\t\t\t
      void *buf, size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_priv_interface*::driver::get_capa
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:436,1
    - Dst: sendto
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:443,1
    - Dst: sendto
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:448,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - iface
    - from
    - fromlen
    argTypes:
    - struct wpa_priv_interface*
    - struct sockaddr_un*
    - socklen_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 449
    functionName: wpa_priv_cmd_get_capa
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_priv.c
    functionUses: 0
    functionsReached:
    - struct wpa_priv_interface*::driver::get_capa
    - sendto
    linkageType: ''
    returnType: void
    signature: "void wpa_priv_cmd_get_capa(struct wpa_priv_interface *iface,\n\t\t\t\t
      \ struct sockaddr_un *from, socklen_t fromlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:465,1
    - Dst: sendmsg
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:471,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:472,1
    - Dst: strerror
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:472,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - ctx
    - src_addr
    - buf
    - len
    argTypes:
    - void*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 474
    functionName: wpa_priv_l2_rx
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_priv.c
    functionUses: 0
    functionsReached:
    - sendmsg
    - wpa_printf
    - strerror
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void wpa_priv_l2_rx(void *ctx, const u8 *src_addr, const u8 *buf,\n\t\t\t
      \  size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - proto
    argTypes:
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 481
    functionName: wpa_priv_allowed_l2_proto
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_priv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpa_priv_allowed_l2_proto(u16 proto)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:496,1
    - Dst: wpa_priv_allowed_l2_proto
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:502,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:503,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:513,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:517,1
    - Dst: l2_packet_init
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:522,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:526,1
    - Dst: l2_packet_get_own_addr
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:531,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:532,1
    - Dst: l2_packet_deinit
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:534,1
    - Dst: sendto
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:539,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:541,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 5
    argNames:
    - iface
    - from
    - fromlen
    - buf
    - len
    argTypes:
    - struct wpa_priv_interface*
    - struct sockaddr_un*
    - socklen_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 542
    functionName: wpa_priv_cmd_l2_register
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_priv.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - sendto
    - l2_packet_deinit
    - wpa_priv_allowed_l2_proto
    - l2_packet_init
    - l2_packet_get_own_addr
    linkageType: ''
    returnType: void
    signature: "void wpa_priv_cmd_l2_register(struct wpa_priv_interface *iface,\n\t\t\t\t
      \    struct sockaddr_un *from,\n\t\t\t\t     socklen_t fromlen,\n\t\t\t\t     void
      *buf, size_t len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:553,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:557,1
    - Dst: l2_packet_deinit
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:563,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - iface
    - from
    - fromlen
    argTypes:
    - struct wpa_priv_interface*
    - struct sockaddr_un*
    - socklen_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 566
    functionName: wpa_priv_cmd_l2_unregister
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_priv.c
    functionUses: 0
    functionsReached:
    - l2_packet_deinit
    - wpa_printf
    - os_memcmp
    linkageType: ''
    returnType: void
    signature: "void wpa_priv_cmd_l2_unregister(struct wpa_priv_interface *iface,\n\t\t\t\t
      \      struct sockaddr_un *from,\n\t\t\t\t       socklen_t fromlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: l2_packet_notify_auth_start
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:576,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - iface
    - from
    argTypes:
    - struct wpa_priv_interface*
    - struct sockaddr_un*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 578
    functionName: wpa_priv_cmd_l2_notify_auth_start
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_priv.c
    functionUses: 0
    functionsReached:
    - l2_packet_notify_auth_start
    linkageType: ''
    returnType: void
    signature: "void wpa_priv_cmd_l2_notify_auth_start(struct wpa_priv_interface *iface,\n\t\t\t\t\t
      \     struct sockaddr_un *from)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:592,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:596,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:605,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:611,1
    - Dst: wpa_priv_allowed_l2_proto
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:613,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:614,1
    - Dst: l2_packet_send
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:619,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:622,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 5
    argNames:
    - iface
    - from
    - fromlen
    - buf
    - len
    argTypes:
    - struct wpa_priv_interface*
    - struct sockaddr_un*
    - socklen_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 581
    functionDepth: 1
    functionLinenumber: 581
    functionLinenumberEnd: 623
    functionName: wpa_priv_cmd_l2_send
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_priv.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_printf
    - l2_packet_send
    - os_memcmp
    - wpa_priv_allowed_l2_proto
    linkageType: ''
    returnType: void
    signature: "void wpa_priv_cmd_l2_send(struct wpa_priv_interface *iface,\n\t\t\t\t
      struct sockaddr_un *from, socklen_t fromlen,\n\t\t\t\t void *buf, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_priv_interface*::driver::set_country
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:633,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - buf
    argTypes:
    - struct wpa_priv_interface*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 634
    functionName: wpa_priv_cmd_set_country
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_priv.c
    functionUses: 0
    functionsReached:
    - struct wpa_priv_interface*::driver::set_country
    linkageType: ''
    returnType: void
    signature: "void wpa_priv_cmd_set_country(struct wpa_priv_interface *iface,\n\t\t\t\t
      \    char *buf)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: recvfrom
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:647,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:650,1
    - Dst: strerror
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:650,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:655,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:659,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:660,1
    - Dst: wpa_priv_cmd_register
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:667,1
    - Dst: wpa_priv_cmd_unregister
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:670,1
    - Dst: wpa_priv_cmd_scan
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:673,1
    - Dst: wpa_priv_cmd_get_scan_results
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:676,1
    - Dst: wpa_priv_cmd_associate
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:679,1
    - Dst: wpa_priv_cmd_get_bssid
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:682,1
    - Dst: wpa_priv_cmd_get_ssid
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:685,1
    - Dst: wpa_priv_cmd_set_key
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:688,1
    - Dst: wpa_priv_cmd_get_capa
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:691,1
    - Dst: wpa_priv_cmd_l2_register
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:694,1
    - Dst: wpa_priv_cmd_l2_unregister
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:698,1
    - Dst: wpa_priv_cmd_l2_notify_auth_start
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:701,1
    - Dst: wpa_priv_cmd_l2_send
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:704,1
    - Dst: wpa_priv_cmd_set_country
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:711,1
    - Dst: wpa_priv_cmd_authenticate
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:714,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 65
    argCount: 3
    argNames:
    - sock
    - eloop_ctx
    - sock_ctx
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 637
    functionDepth: 3
    functionLinenumber: 637
    functionLinenumberEnd: 717
    functionName: wpa_priv_receive
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_priv.c
    functionUses: 0
    functionsReached:
    - wpa_priv_cmd_register
    - recvfrom
    - wpa_priv_cmd_unregister
    - wpa_priv_cmd_get_capa
    - wpa_priv_cmd_l2_register
    - wpa_printf
    - wpa_priv_cmd_associate
    - wpa_priv_cmd_l2_notify_auth_start
    - wpa_priv_cmd_authenticate
    - wpa_priv_cmd_get_bssid
    - wpa_priv_cmd_get_ssid
    - wpa_priv_cmd_get_scan_results
    - wpa_priv_cmd_l2_send
    - wpa_priv_cmd_scan
    - os_memcpy
    - strerror
    - wpa_priv_cmd_set_country
    - wpa_priv_cmd_set_key
    - wpa_priv_cmd_l2_unregister
    linkageType: ''
    returnType: void
    signature: void wpa_priv_receive(int sock, void *eloop_ctx, void *sock_ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_priv_interface*::driver::deinit
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:726,1
    - Dst: struct wpa_priv_interface*::driver::global_deinit
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:728,1
    - Dst: eloop_unregister_read_sock
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:732,1
    - Dst: close
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:733,1
    - Dst: unlink
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:734,1
    - Dst: l2_packet_deinit
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:739,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:742,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:743,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:744,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:745,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct wpa_priv_interface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 746
    functionName: wpa_priv_interface_deinit
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_priv.c
    functionUses: 0
    functionsReached:
    - struct wpa_priv_interface*::driver::global_deinit
    - eloop_unregister_read_sock
    - l2_packet_deinit
    - struct wpa_priv_interface*::driver::deinit
    - close
    - unlink
    - os_free
    linkageType: ''
    returnType: void
    signature: void wpa_priv_interface_deinit(struct wpa_priv_interface *iface)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:758,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:762,1
    - Dst: dup_binstr
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:769,1
    - Dst: wpa_priv_interface_deinit
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:771,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:776,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:783,1
    - Dst: wpa_priv_interface_deinit
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:785,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:790,1
    - Dst: wpa_priv_interface_deinit
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:792,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:796,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:796,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:797,1
    - Dst: wpa_priv_interface_deinit
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:799,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:803,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:804,1
    - Dst: wpa_priv_interface_deinit
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:805,1
    - Dst: socket
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:809,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:811,1
    - Dst: strerror
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:811,1
    - Dst: wpa_priv_interface_deinit
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:812,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:816,1
    - Dst: os_strlcpy
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:818,1
    - Dst: bind
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:820,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:821,1
    - Dst: strerror
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:822,1
    - Dst: connect
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:823,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:825,1
    - Dst: unlink
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:828,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:829,1
    - Dst: strerror
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:831,1
    - Dst: bind
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:834,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:836,1
    - Dst: strerror
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:838,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:841,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:844,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:846,1
    - Dst: chmod
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:852,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:853,1
    - Dst: strerror
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:853,1
    - Dst: eloop_register_read_sock
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:857,1
    - Dst: wpa_priv_interface_deinit
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:862,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 85
    argCount: 3
    argNames:
    - ctx
    - dir
    - params
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 749
    functionDepth: 1
    functionLinenumber: 749
    functionLinenumberEnd: 864
    functionName: wpa_priv_interface_init
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_priv.c
    functionUses: 0
    functionsReached:
    - eloop_register_read_sock
    - os_strlcpy
    - os_snprintf
    - unlink
    - os_strlen
    - wpa_printf
    - connect
    - bind
    - wpa_priv_interface_deinit
    - os_strcmp
    - os_malloc
    - os_strchr
    - chmod
    - os_strdup
    - os_memset
    - strerror
    - socket
    - os_zalloc
    - dup_binstr
    linkageType: ''
    returnType: struct wpa_priv_interface
    signature: 'struct wpa_priv_interface *

      wpa_priv_interface_init(void *ctx, const char *dir, const char *params)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:878,1
    - Dst: sendmsg
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:884,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:885,1
    - Dst: strerror
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:886,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 4
    argNames:
    - iface
    - event
    - data
    - data_len
    argTypes:
    - struct wpa_priv_interface*
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 867
    functionDepth: 0
    functionLinenumber: 867
    functionLinenumberEnd: 891
    functionName: wpa_priv_send_event
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_priv.c
    functionUses: 0
    functionsReached:
    - sendmsg
    - wpa_printf
    - strerror
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpa_priv_send_event(struct wpa_priv_interface *iface, int event,\n\t\t\t
      \      const void *data, size_t data_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:901,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:908,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:909,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:914,1
    - Dst: wpa_priv_send_event
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:918,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:920,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - iface
    - data
    argTypes:
    - struct wpa_priv_interface*
    - union wpa_event_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 894
    functionDepth: 1
    functionLinenumber: 894
    functionLinenumberEnd: 921
    functionName: wpa_priv_send_auth
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_priv.c
    functionUses: 0
    functionsReached:
    - os_free
    - os_zalloc
    - os_memcpy
    - wpa_priv_send_event
    linkageType: ''
    returnType: void
    signature: "void wpa_priv_send_auth(struct wpa_priv_interface *iface,\n\t\t\t
      \      union wpa_event_data *data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:937,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:945,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:947,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:951,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:957,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:959,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:963,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:969,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:971,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:975,1
    - Dst: wpa_priv_send_event
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:979,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:981,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 43
    argCount: 3
    argNames:
    - iface
    - event
    - data
    argTypes:
    - struct wpa_priv_interface*
    - int
    - union wpa_event_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 924
    functionDepth: 1
    functionLinenumber: 924
    functionLinenumberEnd: 982
    functionName: wpa_priv_send_assoc
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_priv.c
    functionUses: 0
    functionsReached:
    - os_free
    - os_memcpy
    - os_malloc
    - wpa_priv_send_event
    linkageType: ''
    returnType: void
    signature: "void wpa_priv_send_assoc(struct wpa_priv_interface *iface, int event,\n\t\t\t\tunion
      wpa_event_data *data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:1002,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:1006,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:1007,1
    - Dst: wpa_priv_send_event
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:1009,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:1012,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - iface
    - data
    argTypes:
    - struct wpa_priv_interface*
    - union wpa_event_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 985
    functionDepth: 1
    functionLinenumber: 985
    functionLinenumberEnd: 1014
    functionName: wpa_priv_send_interface_status
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_priv.c
    functionUses: 0
    functionsReached:
    - os_free
    - os_memcpy
    - os_malloc
    - wpa_priv_send_event
    linkageType: ''
    returnType: void
    signature: "void wpa_priv_send_interface_status(struct wpa_priv_interface *iface,\n\t\t\t\t\t
      \  union wpa_event_data *data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:1027,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:1032,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:1034,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:1036,1
    - Dst: wpa_priv_send_event
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:1038,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:1040,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - iface
    - data
    argTypes:
    - struct wpa_priv_interface*
    - union wpa_event_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 1017
    functionDepth: 1
    functionLinenumber: 1017
    functionLinenumberEnd: 1042
    functionName: wpa_priv_send_ft_response
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_priv.c
    functionUses: 0
    functionsReached:
    - os_free
    - os_memcpy
    - os_malloc
    - wpa_priv_send_event
    linkageType: ''
    returnType: void
    signature: "void wpa_priv_send_ft_response(struct wpa_priv_interface *iface,\n\t\t\t\t
      \     union wpa_event_data *data)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:1050,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:1053,1
    - Dst: wpa_priv_send_assoc
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:1060,1
    - Dst: wpa_priv_send_event
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:1063,1
    - Dst: wpa_priv_send_assoc
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:1068,1
    - Dst: wpa_priv_send_event
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:1073,1
    - Dst: wpa_priv_send_event
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:1078,1
    - Dst: wpa_priv_send_event
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:1082,1
    - Dst: wpa_priv_send_interface_status
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:1086,1
    - Dst: wpa_priv_send_event
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:1091,1
    - Dst: wpa_priv_send_ft_response
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:1096,1
    - Dst: wpa_priv_send_auth
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:1099,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:1102,1
    - Dst: event_to_string
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:1103,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 3
    argNames:
    - ctx
    - event
    - data
    argTypes:
    - void*
    - enum wpa_event_type
    - union wpa_event_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 1045
    functionDepth: 2
    functionLinenumber: 1045
    functionLinenumberEnd: 1106
    functionName: wpa_supplicant_event
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_priv.c
    functionUses: 9
    functionsReached:
    - wpa_printf
    - wpa_priv_send_event
    - wpa_priv_send_assoc
    - event_to_string
    - wpa_priv_send_ft_response
    - wpa_priv_send_interface_status
    - wpa_priv_send_auth
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_event(void *ctx, enum wpa_event_type event,\n\t\t\t
      \ union wpa_event_data *data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:1119,1
    - Dst: struct wpa_priv_interface*::driver::get_ifindex
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:1126,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:1128,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:1136,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - ctx
    - event
    - data
    argTypes:
    - void*
    - enum wpa_event_type
    - union wpa_event_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1109
    functionDepth: 0
    functionLinenumber: 1109
    functionLinenumberEnd: 1137
    functionName: wpa_supplicant_event_global
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_priv.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - wpa_printf
    - struct wpa_priv_interface*::driver::get_ifindex
    - os_strcmp
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_event_global(void *ctx, enum wpa_event_type event,\n\t\t\t\t
      union wpa_event_data *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:1149,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:1157,1
    - Dst: sendmsg
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:1163,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:1164,1
    - Dst: strerror
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:1165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 5
    argNames:
    - ctx
    - src_addr
    - buf
    - len
    - encrypted
    argTypes:
    - void*
    - u8*
    - u8*
    - size_t
    - enum frame_encryption
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1166
      start: 1140
    functionDepth: 0
    functionLinenumber: 1140
    functionLinenumberEnd: 1166
    functionName: wpa_supplicant_rx_eapol
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_priv.c
    functionUses: 5
    functionsReached:
    - sendmsg
    - wpa_printf
    - strerror
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_rx_eapol(void *ctx, const u8 *src_addr,\n\t\t\t
      \    const u8 *buf, size_t len,\n\t\t\t     enum frame_encryption encrypted)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:1171,1
    - Dst: eloop_terminate
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:1172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sig
    - signal_ctx
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1173
      start: 1169
    functionDepth: 0
    functionLinenumber: 1169
    functionLinenumberEnd: 1173
    functionName: wpa_priv_terminate
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_priv.c
    functionUses: 0
    functionsReached:
    - eloop_terminate
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void wpa_priv_terminate(int sig, void *signal_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:1186,1
    - Dst: close
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:1188,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1176
    functionDepth: 0
    functionLinenumber: 1176
    functionLinenumberEnd: 1193
    functionName: wpa_priv_fd_workaround
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_priv.c
    functionUses: 0
    functionsReached:
    - open
    - close
    linkageType: ''
    returnType: void
    signature: void wpa_priv_fd_workaround(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:1198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1196
    functionDepth: 0
    functionLinenumber: 1196
    functionLinenumberEnd: 1207
    functionName: usage
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_priv.c
    functionUses: 2
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: os_program_init
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:1220,1
    - Dst: wpa_priv_fd_workaround
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:1223,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:1225,1
    - Dst: getopt
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:1229,1
    - Dst: os_rel2abs_path
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:1243,1
    - Dst: usage
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:1246,1
    - Dst: usage
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:1252,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:1256,1
    - Dst: eloop_init
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:1258,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:1259,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:1264,1
    - Dst: wpa_priv_interface_init
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:1265,1
    - Dst: os_daemonize
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:1272,1
    - Dst: eloop_sock_requeue
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:1272,1
    - Dst: eloop_register_signal_terminate
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:1275,1
    - Dst: eloop_run
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:1276,1
    - Dst: wpa_priv_interface_deinit
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:1285,1
    - Dst: eloop_destroy
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:1288,1
    - Dst: os_daemonize_terminate
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:1292,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:1293,1
    - Dst: os_program_deinit
      Src: /src/hostap/wpa_supplicant/wpa_priv.c:1294,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 70
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1297
      start: 1210
    functionDepth: 2
    functionLinenumber: 1210
    functionLinenumberEnd: 1297
    functionName: main
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_priv.c
    functionUses: 1
    functionsReached:
    - eloop_run
    - os_program_init
    - usage
    - wpa_printf
    - eloop_sock_requeue
    - eloop_register_signal_terminate
    - getopt
    - eloop_init
    - os_daemonize_terminate
    - os_daemonize
    - wpa_priv_fd_workaround
    - wpa_priv_interface_init
    - os_free
    - os_rel2abs_path
    - eloop_destroy
    - os_program_deinit
    - wpa_priv_interface_deinit
    - os_memset
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - wpa_s
    - ssid
    - name
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: bgscan_init
    functionSourceFile: /src/hostap/wpa_supplicant/bgscan.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int bgscan_init(struct wpa_supplicant *wpa_s,\n\t\t\t      struct
      wpa_ssid *ssid, const char *name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: bgscan_deinit
    functionSourceFile: /src/hostap/wpa_supplicant/bgscan.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bgscan_deinit(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - scan_res
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_scan_results*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: bgscan_notify_scan
    functionSourceFile: /src/hostap/wpa_supplicant/bgscan.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int bgscan_notify_scan(struct wpa_supplicant *wpa_s,\n\t\t\t\t     struct
      wpa_scan_results *scan_res)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: bgscan_notify_beacon_loss
    functionSourceFile: /src/hostap/wpa_supplicant/bgscan.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bgscan_notify_beacon_loss(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - wpa_s
    - above
    - current_signal
    - current_noise
    - current_txrate
    argTypes:
    - struct wpa_supplicant*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionName: bgscan_notify_signal_change
    functionSourceFile: /src/hostap/wpa_supplicant/bgscan.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void bgscan_notify_signal_change(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \      int above, int current_signal,\n\t\t\t\t\t       int current_noise,\n\t\t\t\t\t
      \      int current_txrate)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/wpas_module_tests.c:23,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/wpas_module_tests.c:24,1
    - Dst: wpa_bssid_ignore_clear
      Src: /src/hostap/wpa_supplicant/wpas_module_tests.c:27,1
    - Dst: wpa_bssid_ignore_get
      Src: /src/hostap/wpa_supplicant/wpas_module_tests.c:29,1
    - Dst: wpa_bssid_ignore_get
      Src: /src/hostap/wpa_supplicant/wpas_module_tests.c:30,1
    - Dst: wpa_bssid_ignore_get
      Src: /src/hostap/wpa_supplicant/wpas_module_tests.c:31,1
    - Dst: wpa_bssid_ignore_get
      Src: /src/hostap/wpa_supplicant/wpas_module_tests.c:32,1
    - Dst: wpa_bssid_ignore_add
      Src: /src/hostap/wpa_supplicant/wpas_module_tests.c:35,1
    - Dst: wpa_bssid_ignore_add
      Src: /src/hostap/wpa_supplicant/wpas_module_tests.c:36,1
    - Dst: wpa_bssid_ignore_add
      Src: /src/hostap/wpa_supplicant/wpas_module_tests.c:37,1
    - Dst: wpa_bssid_ignore_del
      Src: /src/hostap/wpa_supplicant/wpas_module_tests.c:40,1
    - Dst: wpa_bssid_ignore_del
      Src: /src/hostap/wpa_supplicant/wpas_module_tests.c:41,1
    - Dst: wpa_bssid_ignore_del
      Src: /src/hostap/wpa_supplicant/wpas_module_tests.c:42,1
    - Dst: wpa_bssid_ignore_del
      Src: /src/hostap/wpa_supplicant/wpas_module_tests.c:43,1
    - Dst: wpa_bssid_ignore_add
      Src: /src/hostap/wpa_supplicant/wpas_module_tests.c:46,1
    - Dst: wpa_bssid_ignore_add
      Src: /src/hostap/wpa_supplicant/wpas_module_tests.c:47,1
    - Dst: wpa_bssid_ignore_add
      Src: /src/hostap/wpa_supplicant/wpas_module_tests.c:48,1
    - Dst: wpa_bssid_ignore_add
      Src: /src/hostap/wpa_supplicant/wpas_module_tests.c:49,1
    - Dst: wpa_bssid_ignore_add
      Src: /src/hostap/wpa_supplicant/wpas_module_tests.c:50,1
    - Dst: wpa_bssid_ignore_del
      Src: /src/hostap/wpa_supplicant/wpas_module_tests.c:51,1
    - Dst: wpa_bssid_ignore_del
      Src: /src/hostap/wpa_supplicant/wpas_module_tests.c:52,1
    - Dst: wpa_bssid_ignore_get
      Src: /src/hostap/wpa_supplicant/wpas_module_tests.c:53,1
    - Dst: wpa_bssid_ignore_get
      Src: /src/hostap/wpa_supplicant/wpas_module_tests.c:54,1
    - Dst: wpa_bssid_ignore_get
      Src: /src/hostap/wpa_supplicant/wpas_module_tests.c:55,1
    - Dst: wpa_bssid_ignore_get
      Src: /src/hostap/wpa_supplicant/wpas_module_tests.c:56,1
    - Dst: wpa_bssid_ignore_del
      Src: /src/hostap/wpa_supplicant/wpas_module_tests.c:57,1
    - Dst: wpa_bssid_ignore_del
      Src: /src/hostap/wpa_supplicant/wpas_module_tests.c:58,1
    - Dst: wpa_bssid_ignore_del
      Src: /src/hostap/wpa_supplicant/wpas_module_tests.c:59,1
    - Dst: wpa_bssid_ignore_add
      Src: /src/hostap/wpa_supplicant/wpas_module_tests.c:60,1
    - Dst: wpa_bssid_ignore_add
      Src: /src/hostap/wpa_supplicant/wpas_module_tests.c:61,1
    - Dst: wpa_bssid_ignore_add
      Src: /src/hostap/wpa_supplicant/wpas_module_tests.c:62,1
    - Dst: wpa_bssid_ignore_clear
      Src: /src/hostap/wpa_supplicant/wpas_module_tests.c:65,1
    - Dst: wpa_bssid_ignore_add
      Src: /src/hostap/wpa_supplicant/wpas_module_tests.c:67,1
    - Dst: wpa_bssid_ignore_add
      Src: /src/hostap/wpa_supplicant/wpas_module_tests.c:68,1
    - Dst: wpa_bssid_ignore_add
      Src: /src/hostap/wpa_supplicant/wpas_module_tests.c:69,1
    - Dst: wpa_bssid_ignore_add
      Src: /src/hostap/wpa_supplicant/wpas_module_tests.c:70,1
    - Dst: wpa_bssid_ignore_is_listed
      Src: /src/hostap/wpa_supplicant/wpas_module_tests.c:71,1
    - Dst: wpa_bssid_ignore_del
      Src: /src/hostap/wpa_supplicant/wpas_module_tests.c:72,1
    - Dst: wpa_bssid_ignore_is_listed
      Src: /src/hostap/wpa_supplicant/wpas_module_tests.c:73,1
    - Dst: wpa_bssid_ignore_add
      Src: /src/hostap/wpa_supplicant/wpas_module_tests.c:74,1
    - Dst: wpa_bssid_ignore_update
      Src: /src/hostap/wpa_supplicant/wpas_module_tests.c:77,1
    - Dst: wpa_bssid_ignore_is_listed
      Src: /src/hostap/wpa_supplicant/wpas_module_tests.c:79,1
    - Dst: wpa_bssid_ignore_clear
      Src: /src/hostap/wpa_supplicant/wpas_module_tests.c:84,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpas_module_tests.c:87,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 17
    functionDepth: 3
    functionLinenumber: 17
    functionLinenumberEnd: 90
    functionName: wpas_bssid_ignore_module_tests
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_module_tests.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_bssid_ignore_update
    - wpa_bssid_ignore_is_listed
    - wpa_bssid_ignore_add
    - wpa_bssid_ignore_del
    - wpa_bssid_ignore_clear
    - wpa_bssid_ignore_get
    - os_memset
    linkageType: ''
    returnType: int
    signature: int wpas_bssid_ignore_module_tests(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wpas_module_tests.c:97,1
    - Dst: wpas_bssid_ignore_module_tests
      Src: /src/hostap/wpa_supplicant/wpas_module_tests.c:99,1
    - Dst: wps_module_tests
      Src: /src/hostap/wpa_supplicant/wpas_module_tests.c:103,1
    - Dst: utils_module_tests
      Src: /src/hostap/wpa_supplicant/wpas_module_tests.c:107,1
    - Dst: common_module_tests
      Src: /src/hostap/wpa_supplicant/wpas_module_tests.c:110,1
    - Dst: crypto_module_tests
      Src: /src/hostap/wpa_supplicant/wpas_module_tests.c:113,1
    - Dst: nan_module_tests
      Src: /src/hostap/wpa_supplicant/wpas_module_tests.c:117,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 93
    functionDepth: 4
    functionLinenumber: 93
    functionLinenumberEnd: 122
    functionName: wpas_module_tests
    functionSourceFile: /src/hostap/wpa_supplicant/wpas_module_tests.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - utils_module_tests
    - common_module_tests
    - crypto_module_tests
    - wpas_bssid_ignore_module_tests
    - wps_module_tests
    - nan_module_tests
    linkageType: ''
    returnType: int
    signature: int wpas_module_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - mode
    argTypes:
    - struct hostapd_hw_modes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 182
    functionName: wpas_get_6ghz_he_chwidth_capab
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpas_get_6ghz_he_chwidth_capab(struct hostapd_hw_modes *mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_calloc
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:194,1
    - Dst: get_shared_radio_freqs
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:198,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:200,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 189
    functionDepth: 4
    functionLinenumber: 189
    functionLinenumberEnd: 205
    functionName: wpas_p2p_num_unused_channels
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - os_free
    - get_shared_radio_freqs
    - os_calloc
    - wpa_dbg
    linkageType: ''
    returnType: int
    signature: int wpas_p2p_num_unused_channels(struct wpa_supplicant *wpa_s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_calloc
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:220,1
    - Dst: get_shared_radio_freqs_data
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:225,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:229,1
    - Dst: p2p_supported_freq
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:232,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:236,1
    - Dst: dump_freq_data
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:238,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - wpa_s
    - p2p_freqs
    - len
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_used_freq_data*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 212
    functionDepth: 3
    functionLinenumber: 212
    functionLinenumberEnd: 241
    functionName: wpas_p2p_valid_oper_freqs
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - os_calloc
    - p2p_supported_freq
    - get_shared_radio_freqs_data
    - dump_freq_data
    - os_free
    - os_memset
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int wpas_p2p_valid_oper_freqs(struct wpa_supplicant *wpa_s,\n\t\t\t
      \ struct wpa_used_freq_data *p2p_freqs,\n\t\t\t  unsigned int len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpas_p2p_num_unused_channels
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:255,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:256,1
    - Dst: p2p_set_own_freq_preference
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:260,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - wpa_s
    - freq
    argTypes:
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 244
    functionDepth: 5
    functionLinenumber: 244
    functionLinenumberEnd: 261
    functionName: wpas_p2p_set_own_freq_preference
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpas_p2p_num_unused_channels
    - p2p_set_own_freq_preference
    linkageType: ''
    returnType: void
    signature: "void wpas_p2p_set_own_freq_preference(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \    int freq)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_p2p_search_delay
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:266,1
    - Dst: external_scan_running
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:269,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:271,1
    - Dst: p2p_scan_res_handled
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:276,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 277
    functionName: wpas_p2p_scan_res_handled
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - external_scan_running
    - wpas_p2p_search_delay
    - wpa_printf
    - p2p_scan_res_handled
    linkageType: ''
    returnType: void
    signature: void wpas_p2p_scan_res_handled(struct wpa_supplicant *wpa_s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: radio_work_done
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:288,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:294,1
    - Dst: os_reltime_sub
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:305,1
    - Dst: wpa_scan_get_vendor_ie
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:310,1
    - Dst: wpa_scan_get_vendor_ie_beacon
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:311,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:312,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:313,1
    - Dst: p2p_scan_res_handler
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:319,1
    - Dst: wpas_p2p_scan_res_handled
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:325,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - wpa_s
    - scan_res
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_scan_results*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 280
    functionDepth: 3
    functionLinenumber: 280
    functionLinenumberEnd: 326
    functionName: wpas_p2p_scan_res_handler
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_scan_get_vendor_ie
    - wpa_printf
    - p2p_scan_res_handler
    - wpa_scan_get_vendor_ie_beacon
    - radio_work_done
    - MAC2STR
    - os_reltime_sub
    - wpas_p2p_scan_res_handled
    linkageType: ''
    returnType: void
    signature: "void wpas_p2p_scan_res_handler(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \     struct wpa_scan_results *scan_res)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: radio_work_done
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:335,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:341,1
    - Dst: wpas_p2p_scan_res_handled
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:343,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 329
    functionDepth: 3
    functionLinenumber: 329
    functionLinenumberEnd: 344
    functionName: wpas_p2p_scan_res_fail_handler
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_p2p_scan_res_handled
    - radio_work_done
    - wpa_dbg
    linkageType: ''
    returnType: void
    signature: void wpas_p2p_scan_res_fail_handler(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_add_scan_freqs_list
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:351,1
    - Dst: wpa_add_scan_freqs_list
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:353,1
    - Dst: wpa_add_scan_freqs_list
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:355,1
    - Dst: is_p2p_allow_6ghz
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:358,1
    - Dst: wpa_add_scan_freqs_list
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:359,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - wpa_s
    - params
    - include_6ghz
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_driver_scan_params*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 361
    functionName: wpas_p2p_scan_freqs
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - is_p2p_allow_6ghz
    - wpa_add_scan_freqs_list
    linkageType: ''
    returnType: void
    signature: "void wpas_p2p_scan_freqs(struct wpa_supplicant *wpa_s,\n\t\t\t struct
      wpa_driver_scan_params *params,\n\t\t\t bool include_6ghz)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_scan_free_params
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:372,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:381,1
    - Dst: wpas_p2p_scan_freqs
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:387,1
    - Dst: wpa_drv_scan
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:389,1
    - Dst: wpa_scan_free_params
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:392,1
    - Dst: radio_work_done
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:395,1
    - Dst: p2p_notify_scan_trigger_status
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:396,1
    - Dst: p2p_notify_scan_trigger_status
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:400,1
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:401,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 2
    argNames:
    - work
    - deinit
    argTypes:
    - struct wpa_radio_work*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 364
    functionDepth: 3
    functionLinenumber: 364
    functionLinenumberEnd: 407
    functionName: wpas_p2p_trigger_scan_cb
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_scan_free_params
    - wpa_printf
    - os_get_reltime
    - wpa_drv_scan
    - radio_work_done
    - p2p_notify_scan_trigger_status
    - wpas_p2p_scan_freqs
    linkageType: ''
    returnType: void
    signature: void wpas_p2p_trigger_scan_cb(struct wpa_radio_work *work, int deinit)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: p2p_supported_freq
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:422,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - wpa_s
    - freq
    argTypes:
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 423
    functionName: wpas_p2p_search_social_channel
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - p2p_supported_freq
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_search_social_channel(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \ int freq)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:444,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:448,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:454,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:457,1
    - Dst: wps_build_probe_req_ie
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:462,1
    - Dst: os_calloc
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:478,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:478,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:482,1
    - Dst: wpas_p2p_search_social_channel
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:483,1
    - Dst: os_calloc
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:493,1
    - Dst: os_calloc
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:500,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:500,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:504,1
    - Dst: wpas_p2p_search_social_channel
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:505,1
    - Dst: p2p_supported_freq
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:510,1
    - Dst: p2p_scan_ie_buf_len
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:516,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:517,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:517,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:519,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:522,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:523,1
    - Dst: wpas_get_bands
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:525,1
    - Dst: p2p_scan_ie
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:526,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:529,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:529,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:531,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:534,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:534,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:534,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:536,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:537,1
    - Dst: radio_remove_works
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:539,1
    - Dst: radio_add_work
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:540,1
    - Dst: wpa_scan_free_params
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:546,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 92
    argCount: 8
    argNames:
    - ctx
    - type
    - freq
    - num_req_dev_types
    - req_dev_types
    - dev_id
    - pw_id
    - include_6ghz
    argTypes:
    - void*
    - enum p2p_scan_type
    - int
    - unsigned int
    - u8*
    - u8*
    - u16
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 426
    functionDepth: 3
    functionLinenumber: 426
    functionLinenumberEnd: 548
    functionName: wpas_p2p_scan
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - p2p_supported_freq
    - wpas_get_bands
    - wps_build_probe_req_ie
    - wpabuf_alloc
    - wpa_scan_free_params
    - wpas_p2p_search_social_channel
    - radio_add_work
    - radio_remove_works
    - wpabuf_len
    - os_malloc
    - wpabuf_head
    - wpa_dbg
    - p2p_scan_ie
    - os_memcpy
    - os_calloc
    - wpabuf_free
    - p2p_scan_ie_buf_len
    - os_zalloc
    - wpabuf_put_buf
    - ARRAY_SIZE
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_scan(void *ctx, enum p2p_scan_type type, int freq,\n\t\t\t
      unsigned int num_req_dev_types,\n\t\t\t const u8 *req_dev_types, const u8 *dev_id,
      u16 pw_id,\n\t\t\t bool include_6ghz)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - p2p_group_interface
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 563
    functionName: wpas_p2p_if_type
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum wpa_driver_if_type
    signature: enum wpa_driver_if_type wpas_p2p_if_type(int p2p_group_interface)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:576,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 4
    argNames:
    - wpa_s
    - ssid
    - ssid_len
    - go
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - size_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 588
    functionName: wpas_get_p2p_group
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - os_memcmp
    linkageType: ''
    returnType: struct wpa_supplicant
    signature: "struct wpa_supplicant * wpas_get_p2p_group(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t\t
      \ const u8 *ssid,\n\t\t\t\t\t\t  size_t ssid_len, int *go)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:594,1
    - Dst: wpas_p2p_disconnect
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 591
    functionDepth: 1
    functionLinenumber: 591
    functionLinenumberEnd: 598
    functionName: run_wpas_p2p_disconnect
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpas_p2p_disconnect
    linkageType: ''
    returnType: void
    signature: void run_wpas_p2p_disconnect(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:612,1
    - Dst: wpas_p2p_disconnect
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:618,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - wpa_s
    - calling_wpa_s
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 601
    functionDepth: 1
    functionLinenumber: 601
    functionLinenumberEnd: 619
    functionName: wpas_p2p_disconnect_safely
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_p2p_disconnect
    - eloop_register_timeout
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_disconnect_safely(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \     struct wpa_supplicant *calling_wpa_s)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:630,1
    - Dst: p2p_get_group_num_members
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:636,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 623
    functionDepth: 1
    functionLinenumber: 623
    functionLinenumberEnd: 643
    functionName: p2p_group_go_member_count
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - p2p_get_group_num_members
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int p2p_group_go_member_count(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 652
    functionName: p2p_is_active_persistent_group
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int p2p_is_active_persistent_group(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: p2p_is_active_persistent_group
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:657,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 655
    functionDepth: 1
    functionLinenumber: 655
    functionLinenumberEnd: 659
    functionName: p2p_is_active_persistent_go
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - p2p_is_active_persistent_group
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int p2p_is_active_persistent_go(struct wpa_supplicant *wpa_s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: p2p_is_active_persistent_go
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:672,1
    - Dst: p2p_get_group_num_members
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:676,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 663
    functionDepth: 2
    functionLinenumber: 663
    functionLinenumberEnd: 683
    functionName: wpas_p2p_get_go_group
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - p2p_is_active_persistent_go
    - p2p_get_group_num_members
    linkageType: ''
    returnType: struct wpa_supplicant
    signature: 'struct wpa_supplicant *

      wpas_p2p_get_go_group(struct wpa_supplicant *wpa_s)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: p2p_is_active_persistent_group
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:688,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 686
    functionDepth: 1
    functionLinenumber: 686
    functionLinenumberEnd: 690
    functionName: p2p_is_active_persistent_cli
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - p2p_is_active_persistent_group
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int p2p_is_active_persistent_cli(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: p2p_is_active_persistent_cli
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:698,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 694
    functionDepth: 2
    functionLinenumber: 694
    functionLinenumberEnd: 703
    functionName: wpas_p2p_get_cli_group
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - p2p_is_active_persistent_cli
    linkageType: ''
    returnType: struct wpa_supplicant
    signature: 'struct wpa_supplicant *

      wpas_p2p_get_cli_group(struct wpa_supplicant *wpa_s)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 718
    functionName: wpas_p2p_get_persistent_go
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct wpa_ssid
    signature: 'struct wpa_ssid *

      wpas_p2p_get_persistent_go(struct wpa_supplicant *wpa_s)'
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:735,1
    - Dst: wpas_p2p_setup_freqs
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:744,1
    - Dst: wpas_p2p_set_own_freq_preference
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:746,1
    - Dst: wpas_p2p_get_go_group
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:756,1
    - Dst: p2p_get_group_num_members
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:758,1
    - Dst: wpas_p2p_get_persistent_go
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:759,1
    - Dst: wpas_p2p_create_iface
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:760,1
    - Dst: wpas_p2p_get_cli_group
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:761,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:763,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:769,1
    - Dst: p2p_client_limit_reached
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:777,1
    - Dst: os_get_random
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:791,1
    - Dst: os_get_random
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:878,1
    - Dst: p2p_client_limit_reached
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:893,1
    - Dst: wpas_p2p_get_persistent_go
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:896,1
    - Dst: p2p_set_intended_addr
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:898,1
    - Dst: wpas_p2p_add_group_interface
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:903,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:905,1
    - Dst: p2p_set_intended_addr
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:910,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 111
    argCount: 5
    argNames:
    - ctx
    - incoming
    - role
    - force_freq
    - pref_freq
    argTypes:
    - void*
    - u8
    - u8
    - unsigned int*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 721
    functionDepth: 6
    functionLinenumber: 721
    functionLinenumberEnd: 916
    functionName: p2ps_group_capability
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpas_p2p_setup_freqs
    - p2p_set_intended_addr
    - wpas_p2p_get_go_group
    - p2p_client_limit_reached
    - os_get_random
    - wpas_p2p_add_group_interface
    - wpas_p2p_create_iface
    - p2p_get_group_num_members
    - wpas_p2p_get_persistent_go
    - wpas_p2p_set_own_freq_preference
    - wpas_p2p_get_cli_group
    linkageType: ''
    returnType: u8
    signature: "u8 p2ps_group_capability(void *ctx, u8 incoming, u8 role,\n\t\t\t\tunsigned
      int *force_freq,\n\t\t\t\tunsigned int *pref_freq)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:942,1
    - Dst: wpas_notify_p2p_group_removed
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:958,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:960,1
    - Dst: wpa_supplicant_deauthenticate
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:961,1
    - Dst: eloop_is_timeout_registered
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:962,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:964,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:967,1
    - Dst: wpa_msg_global
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:974,1
    - Dst: wpa_msg_global
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1005,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1010,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1011,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1012,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1013,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1014,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1016,1
    - Dst: wpas_p2p_group_formation_failed
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1019,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1024,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1025,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1037,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1040,1
    - Dst: wpas_p2p_if_type
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1041,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1042,1
    - Dst: wpa_supplicant_remove_iface
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1043,1
    - Dst: wpa_drv_if_remove
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1046,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1047,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1063,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1066,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1075,1
    - Dst: wpa_sm_set_config
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1081,1
    - Dst: eapol_sm_notify_config
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1082,1
    - Dst: wpas_notify_network_removed
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1094,1
    - Dst: wpa_config_remove_network
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1095,1
    - Dst: wpa_supplicant_clear_status
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1096,1
    - Dst: wpa_supplicant_cancel_sched_scan
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1097,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1099,1
    - Dst: wpa_supplicant_ap_deinit
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1103,1
    - Dst: wpa_drv_deinit_p2p_cli
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1105,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1107,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 127
    argCount: 2
    argNames:
    - wpa_s
    - removal_reason
    argTypes:
    - struct wpa_supplicant*
    - enum p2p_group_removal_reason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1112
      start: 919
    functionDepth: 10
    functionLinenumber: 919
    functionLinenumberEnd: 1112
    functionName: wpas_p2p_group_delete
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_config_remove_network
    - eapol_sm_notify_config
    - wpa_drv_if_remove
    - wpa_drv_deinit_p2p_cli
    - wpa_supplicant_clear_status
    - wpa_supplicant_deauthenticate
    - wpas_p2p_if_type
    - wpa_printf
    - wpa_supplicant_ap_deinit
    - os_free
    - os_strcmp
    - wpas_notify_p2p_group_removed
    - wpas_notify_network_removed
    - eloop_is_timeout_registered
    - os_strdup
    - os_memset
    - wpa_supplicant_cancel_sched_scan
    - eloop_cancel_timeout
    - wpa_sm_set_config
    - wpa_supplicant_remove_iface
    - wpa_msg_global
    - wpas_p2p_group_formation_failed
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_group_delete(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      enum p2p_group_removal_reason removal_reason)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_bss_get
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1130,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1132,1
    - Dst: wpa_bss_get_p2p_dev_addr
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1133,1
    - Dst: p2p_get_interface_addr
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1137,1
    - Dst: wpa_bss_get
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1139,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1142,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1144,1
    - Dst: wpa_bss_get_vendor_ie_multi
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1148,1
    - Dst: wpa_bss_get_vendor_ie_multi_beacon
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1150,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1153,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1155,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1156,1
    - Dst: wpa_bss_ie_ptr
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1157,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1158,1
    - Dst: wpa_bss_ie_ptr
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1159,1
    - Dst: p2p_get_group_capab
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1164,1
    - Dst: p2p_get_go_dev_addr
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1165,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1166,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1169,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1170,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1171,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1173,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1174,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1176,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1178,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1178,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 4
    argNames:
    - wpa_s
    - go_dev_addr
    - ssid
    - ssid_len
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1181
      start: 1115
    functionDepth: 3
    functionLinenumber: 1115
    functionLinenumberEnd: 1181
    functionName: wpas_p2p_persistent_group
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - p2p_get_group_capab
    - wpa_hexdump
    - p2p_get_go_dev_addr
    - p2p_get_interface_addr
    - is_zero_ether_addr
    - wpabuf_free
    - wpa_bss_get_p2p_dev_addr
    - MAC2STR
    - wpa_bss_get_vendor_ie_multi
    - wpa_bss_get_vendor_ie_multi_beacon
    - wpa_bss_ie_ptr
    - wpa_bss_get
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_persistent_group(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \    u8 *go_dev_addr,\n\t\t\t\t     const u8 *ssid, size_t ssid_len)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1191,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1192,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1195,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1197,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1205,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1210,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1213,1
    - Dst: wpa_config_add_network
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1216,1
    - Dst: wpas_notify_persistent_group_added
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1228,1
    - Dst: wpa_config_set_network_defaults
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1229,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1236,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1248,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1249,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1252,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1253,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1257,1
    - Dst: wpa_config_update_psk
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1260,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1262,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1263,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1267,1
    - Dst: dl_list_add
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1270,1
    - Dst: wpa_config_write
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1276,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1277,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 70
    argCount: 4
    argNames:
    - wpa_s
    - ssid
    - go_dev_addr
    - dik_id
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1281
      start: 1184
    functionDepth: 4
    functionLinenumber: 1184
    functionLinenumberEnd: 1281
    functionName: wpas_p2p_store_persistent_group
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - os_strdup
    - wpa_config_set_network_defaults
    - wpa_printf
    - os_memcpy
    - wpas_notify_persistent_group_added
    - ether_addr_equal
    - wpa_config_add_network
    - wpa_config_update_psk
    - os_malloc
    - MAC2STR
    - dl_list_add
    - os_memcmp
    - os_free
    - wpa_config_write
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_store_persistent_group(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \  struct wpa_ssid *ssid,\n\t\t\t\t\t   const u8 *go_dev_addr, int dik_id)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: int_array_len
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1288,1
    - Dst: os_memmove
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1298,1
    - Dst: int_array_add_unique
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1307,1
    - Dst: os_memmove
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1312,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - s
    - dik_id
    argTypes:
    - struct wpa_ssid*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1316
      start: 1284
    functionDepth: 1
    functionLinenumber: 1284
    functionLinenumberEnd: 1316
    functionName: wpas_p2p2_add_group_client_dik_id
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - int_array_len
    - os_memmove
    - int_array_add_unique
    linkageType: ''
    returnType: void
    signature: void wpas_p2p2_add_group_client_dik_id(struct wpa_ssid *s, int dik_id)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1338,1
    - Dst: wpas_p2p2_add_group_client_dik_id
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1346,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1351,1
    - Dst: os_memmove
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1359,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1362,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1365,1
    - Dst: os_realloc_array
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1373,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1377,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1379,1
    - Dst: os_memmove
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1386,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1389,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1392,1
    - Dst: wpa_config_write
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1399,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1400,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 46
    argCount: 3
    argNames:
    - wpa_s
    - addr
    - dik_id
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1401
      start: 1319
    functionDepth: 2
    functionLinenumber: 1319
    functionLinenumberEnd: 1401
    functionName: wpas_p2p_add_persistent_group_client
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - os_realloc_array
    - wpa_printf
    - ether_addr_equal
    - os_memmove
    - wpa_config_write
    - os_memcmp
    - wpas_p2p2_add_group_client_dik_id
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void wpas_p2p_add_persistent_group_client(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t\t
      const u8 *addr, int dik_id)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1414,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1419,1
    - Dst: wpa_msg_global_ctrl
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1430,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1439,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1441,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1444,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1447,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1448,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 9
    argNames:
    - wpa_s
    - go
    - ssid
    - freq
    - psk
    - passphrase
    - go_dev_addr
    - persistent
    - extra
    argTypes:
    - struct wpa_supplicant*
    - int
    - struct wpa_ssid*
    - int
    - u8*
    - char*
    - u8*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1449
      start: 1404
    functionDepth: 1
    functionLinenumber: 1404
    functionLinenumberEnd: 1449
    functionName: wpas_p2p_group_started
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_snprintf_hex
    - wpa_ssid_txt
    - is_zero_ether_addr
    - MAC2STR
    - wpa_msg_global_ctrl
    linkageType: ''
    returnType: void
    signature: "void wpas_p2p_group_started(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \  int go, struct wpa_ssid *ssid, int freq,\n\t\t\t\t   const u8 *psk, const
      char *passphrase,\n\t\t\t\t   const u8 *go_dev_addr, int persistent,\n\t\t\t\t
      \  const char *extra)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_remove_identity
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1457,1
    - Dst: wpa_config_write
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1460,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1461,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1465
      start: 1452
    functionDepth: 3
    functionLinenumber: 1452
    functionLinenumberEnd: 1465
    functionName: wpas_p2p_remove_all_identity
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_config_write
    - wpa_config_remove_identity
    linkageType: ''
    returnType: int
    signature: int wpas_p2p_remove_all_identity(struct wpa_supplicant *wpa_s)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1476,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1477,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1477,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1478,1
    - Dst: wpa_config_remove_identity
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1480,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1485,1
    - Dst: wpa_config_add_identity
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1486,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1490,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1493,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1496,1
    - Dst: wpa_config_write
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1503,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1504,1
    - Dst: wpa_config_remove_identity
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1510,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 7
    argNames:
    - wpa_s
    - cipher
    - dik_data
    - dik_len
    - pmk
    - pmk_len
    - pmkid
    argTypes:
    - struct wpa_supplicant*
    - u8
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1512
      start: 1468
    functionDepth: 3
    functionLinenumber: 1468
    functionLinenumberEnd: 1512
    functionName: wpas_p2p_store_identity
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_config_add_identity
    - wpabuf_len
    - wpabuf_alloc_copy
    - wpabuf_head
    - os_memcmp
    - wpa_config_write
    - wpa_config_remove_identity
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_store_identity(struct wpa_supplicant *wpa_s, u8 cipher,\n\t\t\t\t
      \  const u8 *dik_data, size_t dik_len,\n\t\t\t\t   const u8 *pmk, size_t pmk_len,\n\t\t\t\t
      \  const u8 *pmkid)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: p2p_get_dev_identity_key
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1528,1
    - Dst: p2p_get_interface_addr
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1533,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1536,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1538,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1539,1
    - Dst: wpa_sm_pmksa_get_pmk
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1541,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1546,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1549,1
    - Dst: wpas_p2p_store_identity
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1550,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - wpa_s
    - go_dev_addr
    - bssid
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1552
      start: 1515
    functionDepth: 4
    functionLinenumber: 1515
    functionLinenumberEnd: 1552
    functionName: wpas_p2p_store_go_identity
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_p2p_store_identity
    - wpa_printf
    - os_memcpy
    - p2p_get_interface_addr
    - MAC2STR
    - wpa_sm_pmksa_get_pmk
    - p2p_get_dev_identity_key
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_store_go_identity(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \     const u8 *go_dev_addr, const u8 *bssid)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1575,1
    - Dst: wpa_msg_global
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1584,1
    - Dst: wpas_notify_p2p_group_formation_failure
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1586,1
    - Dst: wpas_p2p_group_delete
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1589,1
    - Dst: wpa_msg_global
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1594,1
    - Dst: p2p_group_notif_formation_done
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1600,1
    - Dst: wpa_supplicant_ap_mac_addr_filter
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1601,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1609,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1612,1
    - Dst: wpas_p2p_persistent_group
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1613,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1621,1
    - Dst: wpas_p2p_group_started
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1633,1
    - Dst: wpas_p2p_cross_connect_setup
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1639,1
    - Dst: wpas_p2p_set_group_idle_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1640,1
    - Dst: wpas_p2p_store_persistent_group
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1644,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1647,1
    - Dst: wpas_notify_p2p_group_started
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1652,1
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1653,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 60
    argCount: 3
    argNames:
    - wpa_s
    - already_deleted
    - failure_reason
    argTypes:
    - struct wpa_supplicant*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1655
      start: 1555
    functionDepth: 11
    functionLinenumber: 1555
    functionLinenumberEnd: 1655
    functionName: wpas_group_formation_completed
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_notify_p2p_group_formation_failure
    - wpas_p2p_store_persistent_group
    - os_memcpy
    - os_get_reltime
    - wpas_p2p_group_delete
    - wpa_msg
    - wpas_p2p_group_started
    - wpas_p2p_set_group_idle_timeout
    - wpas_notify_p2p_group_started
    - wpa_supplicant_ap_mac_addr_filter
    - os_free
    - wpas_p2p_cross_connect_setup
    - wpa_msg_global
    - p2p_group_notif_formation_done
    - wpas_p2p_persistent_group
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void wpas_group_formation_completed(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \  int already_deleted,\n\t\t\t\t\t   const char *failure_reason)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1673,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1677,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1677,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1678,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1679,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1681,1
    - Dst: radio_work_done
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1683,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1685
      start: 1669
    functionDepth: 3
    functionLinenumber: 1669
    functionLinenumberEnd: 1685
    functionName: wpas_p2p_free_send_action_work
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    - radio_work_done
    - MAC2STR
    - os_free
    linkageType: ''
    returnType: void
    signature: void wpas_p2p_free_send_action_work(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1696,1
    - Dst: wpas_p2p_free_send_action_work
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1697,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1698
      start: 1688
    functionDepth: 4
    functionLinenumber: 1688
    functionLinenumberEnd: 1698
    functionName: wpas_p2p_send_action_work_timeout
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpas_p2p_free_send_action_work
    linkageType: ''
    returnType: void
    signature: "void wpas_p2p_send_action_work_timeout(void *eloop_ctx,\n\t\t\t\t\t
      \     void *timeout_ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1707,1
    - Dst: wpas_p2p_free_send_action_work
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1711,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1719,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1721,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1727
      start: 1701
    functionDepth: 4
    functionLinenumber: 1701
    functionLinenumberEnd: 1727
    functionName: wpas_p2p_action_tx_clear
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - eloop_cancel_timeout
    - wpa_printf
    - eloop_register_timeout
    - wpas_p2p_free_send_action_work
    linkageType: ''
    returnType: void
    signature: void wpas_p2p_action_tx_clear(struct wpa_supplicant *wpa_s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpas_p2p_action_tx_clear
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1740,1
    - Dst: p2p_send_action_cb
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1757,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1761,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1762,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1765,1
    - Dst: wpa_msg_global
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1767,1
    - Dst: wpas_p2p_fallback_to_go_neg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1770,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 8
    argNames:
    - wpa_s
    - freq
    - dst
    - src
    - bssid
    - data
    - data_len
    - result
    argTypes:
    - struct wpa_supplicant*
    - unsigned int
    - u8*
    - u8*
    - u8*
    - u8*
    - size_t
    - enum offchannel_send_action_result
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1773
      start: 1730
    functionDepth: 5
    functionLinenumber: 1730
    functionLinenumberEnd: 1773
    functionName: wpas_p2p_send_action_tx_status
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - p2p_send_action_cb
    - wpas_p2p_action_tx_clear
    - ether_addr_equal
    - wpa_dbg
    - wpa_msg_global
    - wpas_p2p_fallback_to_go_neg
    linkageType: ''
    returnType: void
    signature: "void wpas_p2p_send_action_tx_status(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \  unsigned int freq,\n\t\t\t\t\t   const u8 *dst, const u8 *src,\n\t\t\t\t\t
      \  const u8 *bssid,\n\t\t\t\t\t   const u8 *data, size_t data_len,\n\t\t\t\t\t
      \  enum offchannel_send_action_result\n\t\t\t\t\t   result)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1783,1
    - Dst: offchannel_send_action_done
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1786,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1788,1
    - Dst: offchannel_send_action
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1792,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1796,1
    - Dst: radio_work_done
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1797,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - work
    - deinit
    argTypes:
    - struct wpa_radio_work*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1801
      start: 1776
    functionDepth: 3
    functionLinenumber: 1776
    functionLinenumberEnd: 1801
    functionName: wpas_send_action_cb
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 1
    functionsReached:
    - offchannel_send_action
    - offchannel_send_action_done
    - eloop_cancel_timeout
    - radio_work_done
    - os_free
    linkageType: ''
    returnType: void
    signature: void wpas_send_action_cb(struct wpa_radio_work *work, int deinit)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: radio_work_pending
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1811,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1812,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1816,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1821,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1822,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1823,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1826,1
    - Dst: radio_add_work
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1828,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1830,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 8
    argNames:
    - wpa_s
    - freq
    - dst
    - src
    - bssid
    - buf
    - len
    - wait_time
    argTypes:
    - struct wpa_supplicant*
    - unsigned int
    - u8*
    - u8*
    - u8*
    - u8*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1835
      start: 1804
    functionDepth: 3
    functionLinenumber: 1804
    functionLinenumberEnd: 1835
    functionName: wpas_send_action_work
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - radio_work_pending
    - radio_add_work
    - os_zalloc
    - os_free
    linkageType: ''
    returnType: int
    signature: "int wpas_send_action_work(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      unsigned int freq, const u8 *dst,\n\t\t\t\t const u8 *src, const u8 *bssid,
      const u8 *buf,\n\t\t\t\t size_t len, unsigned int wait_time)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1854,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1857,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1858,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1858,1
    - Dst: wpas_send_action_work
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1859,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1866,1
    - Dst: offchannel_send_action
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1867,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 9
    argNames:
    - ctx
    - freq
    - dst
    - src
    - bssid
    - buf
    - len
    - wait_time
    - scheduled
    argTypes:
    - void*
    - unsigned int
    - u8*
    - u8*
    - u8*
    - u8*
    - size_t
    - unsigned int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1870
      start: 1838
    functionDepth: 4
    functionLinenumber: 1838
    functionLinenumberEnd: 1870
    functionName: wpas_send_action
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    - wpas_send_action_work
    - offchannel_send_action
    linkageType: ''
    returnType: int
    signature: "int wpas_send_action(void *ctx, unsigned int freq, const u8 *dst,\n\t\t\t
      \   const u8 *src, const u8 *bssid, const u8 *buf,\n\t\t\t    size_t len, unsigned
      int wait_time, int *scheduled)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1878,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1880,1
    - Dst: radio_work_done
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1881,1
    - Dst: offchannel_send_action_done
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1885,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1886
      start: 1873
    functionDepth: 3
    functionLinenumber: 1873
    functionLinenumberEnd: 1886
    functionName: wpas_send_action_done
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - eloop_cancel_timeout
    - os_free
    - radio_work_done
    - offchannel_send_action_done
    linkageType: ''
    returnType: void
    signature: void wpas_send_action_done(void *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1909,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1910,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - awork
    argTypes:
    - struct wpa_p2p_pasn_auth_work*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1911
      start: 1905
    functionDepth: 0
    functionLinenumber: 1905
    functionLinenumberEnd: 1911
    functionName: wpas_p2p_pasn_free_auth_work
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - os_free
    linkageType: ''
    returnType: void
    signature: void wpas_p2p_pasn_free_auth_work(struct wpa_p2p_pasn_auth_work *awork)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1916,1
    - Dst: radio_remove_works
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1919,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1920
      start: 1914
    functionDepth: 3
    functionLinenumber: 1914
    functionLinenumberEnd: 1920
    functionName: wpas_p2p_pasn_cancel_auth_work
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - radio_remove_works
    linkageType: ''
    returnType: void
    signature: void wpas_p2p_pasn_cancel_auth_work(struct wpa_supplicant *wpa_s)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1935,1
    - Dst: wpas_p2p_pasn_free_auth_work
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1938,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1942,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1944,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1946,1
    - Dst: p2p_initiate_pasn_verify
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1951,1
    - Dst: p2p_initiate_pasn_auth
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1957,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1960,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1964,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1966,1
    - Dst: wpas_p2p_pasn_free_auth_work
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1973,1
    - Dst: radio_work_done
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1975,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - work
    - deinit
    argTypes:
    - struct wpa_radio_work*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1976
      start: 1923
    functionDepth: 3
    functionLinenumber: 1923
    functionLinenumberEnd: 1976
    functionName: wpas_p2p_pasn_auth_start_cb
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eloop_cancel_timeout
    - p2p_initiate_pasn_auth
    - is_zero_ether_addr
    - radio_work_done
    - eloop_register_timeout
    - wpas_p2p_pasn_free_auth_work
    - p2p_initiate_pasn_verify
    linkageType: ''
    returnType: void
    signature: void wpas_p2p_pasn_auth_start_cb(struct wpa_radio_work *work, int deinit)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpas_p2p_pasn_cancel_auth_work
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1984,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1987,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1992,1
    - Dst: radio_add_work
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1994,1
    - Dst: wpas_p2p_pasn_free_auth_work
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:1996,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2000,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - wpa_s
    - peer_addr
    - freq
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2003
      start: 1979
    functionDepth: 4
    functionLinenumber: 1979
    functionLinenumberEnd: 2003
    functionName: wpas_p2p_initiate_pasn_auth
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_printf
    - os_zalloc
    - radio_add_work
    - wpas_p2p_pasn_free_auth_work
    - wpas_p2p_pasn_cancel_auth_work
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_initiate_pasn_auth(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \      const u8 *peer_addr, int freq)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2012,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2016,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - wpa_s
    - params
    argTypes:
    - struct wpa_supplicant*
    - struct p2p_go_neg_results*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2018
      start: 2008
    functionDepth: 0
    functionLinenumber: 2008
    functionLinenumberEnd: 2018
    functionName: wpas_copy_go_neg_results
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - os_malloc
    linkageType: ''
    returnType: int
    signature: "int wpas_copy_go_neg_results(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \   struct p2p_go_neg_results *params)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2029,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2034,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2036,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2037,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2038,1
    - Dst: wpa_supplicant_ap_deinit
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2040,1
    - Dst: wpas_copy_go_neg_results
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2041,1
    - Dst: wpa_config_add_network
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2043,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2045,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2049,1
    - Dst: wpa_config_set_network_defaults
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2050,1
    - Dst: os_memdup
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2054,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2059,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2063,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2068,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2071,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2072,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2074,1
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2076,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2080,1
    - Dst: wpa_sm_pmksa_cache_add_entry
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2083,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2085,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2091,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2097,1
    - Dst: wpa_supplicant_update_scan_results
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2119,1
    - Dst: wpa_supplicant_select_network
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2120,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 82
    argCount: 2
    argNames:
    - wpa_s
    - res
    argTypes:
    - struct wpa_supplicant*
    - struct p2p_go_neg_results*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2121
      start: 2021
    functionDepth: 7
    functionLinenumber: 2021
    functionLinenumberEnd: 2121
    functionName: wpas_start_gc
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - os_strdup
    - wpa_config_set_network_defaults
    - wpa_printf
    - os_memcpy
    - os_get_reltime
    - wpa_supplicant_select_network
    - wpas_copy_go_neg_results
    - os_memdup
    - wpa_supplicant_ap_deinit
    - wpa_config_add_network
    - wpa_sm_pmksa_cache_add_entry
    - MAC2STR
    - os_zalloc
    - wpa_supplicant_update_scan_results
    - wpa_dbg
    - os_free
    - wpa_hexdump_ascii
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void wpas_start_gc(struct wpa_supplicant *wpa_s,\n\t\t\t  struct p2p_go_neg_results
      *res)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2128,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2130,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2131,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2132,1
    - Dst: wpa_supplicant_ap_deinit
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2134,1
    - Dst: wpas_copy_go_neg_results
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2135,1
    - Dst: wpas_wps_start_pbc
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2137,1
    - Dst: wpas_wps_start_nfc
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2140,1
    - Dst: wpas_wps_start_pin
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - wpa_s
    - res
    argTypes:
    - struct wpa_supplicant*
    - struct p2p_go_neg_results*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2159
      start: 2124
    functionDepth: 8
    functionLinenumber: 2124
    functionLinenumberEnd: 2159
    functionName: wpas_start_wps_enrollee
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpas_wps_start_nfc
    - wpas_copy_go_neg_results
    - wpa_supplicant_ap_deinit
    - MAC2STR
    - wpas_wps_start_pbc
    - wpas_wps_start_pin
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: void
    signature: "void wpas_start_wps_enrollee(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \   struct p2p_go_neg_results *res)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpas_p2p_get_persistent
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2172,1
    - Dst: dl_list_for_each
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2179,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2183,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2185,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2186,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2189,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2191,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2193,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - wpa_s
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2197
      start: 2162
    functionDepth: 1
    functionLinenumber: 2162
    functionLinenumberEnd: 2197
    functionName: wpas_p2p_add_psk_list
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpas_p2p_get_persistent
    - dl_list_for_each
    - MAC2STR
    - os_zalloc
    - wpa_dbg
    linkageType: ''
    returnType: void
    signature: "void wpas_p2p_add_psk_list(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \ struct wpa_ssid *ssid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2210,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2212,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2218,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2219
      start: 2200
    functionDepth: 1
    functionLinenumber: 2200
    functionLinenumberEnd: 2219
    functionName: p2p_go_dump_common_freqs
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - wpa_dbg
    - os_snprintf_error
    linkageType: ''
    returnType: void
    signature: void p2p_go_dump_common_freqs(struct wpa_supplicant *wpa_s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: int_array_len
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2225,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2228,1
    - Dst: os_calloc
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2229,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - wpa_s
    - params
    argTypes:
    - struct wpa_supplicant*
    - struct p2p_go_neg_results*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2240
      start: 2222
    functionDepth: 1
    functionLinenumber: 2222
    functionLinenumberEnd: 2240
    functionName: p2p_go_save_group_common_freqs
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - os_free
    - int_array_len
    - os_calloc
    linkageType: ''
    returnType: void
    signature: "void p2p_go_save_group_common_freqs(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \  struct p2p_go_neg_results *params)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_write
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2247,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2250
      start: 2243
    functionDepth: 0
    functionLinenumber: 2243
    functionLinenumberEnd: 2250
    functionName: p2p_config_write
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_config_write
    linkageType: ''
    returnType: void
    signature: void p2p_config_write(struct wpa_supplicant *wpa_s)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2263,1
    - Dst: wpa_auth_pmksa_add_sae
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2272,1
    - Dst: hostapd_add_pmkid
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2277,1
    - Dst: p2p_go_save_group_common_freqs
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2282,1
    - Dst: p2p_go_dump_common_freqs
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2283,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2287,1
    - Dst: wpas_p2p_group_started
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2290,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2299,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2300,1
    - Dst: wpa_supplicant_ap_wps_pin
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2302,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2306,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2308,1
    - Dst: wpa_supplicant_ap_wps_pin
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2309,1
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2316,1
    - Dst: wpas_p2p_store_persistent_group
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2318,1
    - Dst: wpas_p2p_add_psk_list
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2321,1
    - Dst: wpas_notify_p2p_group_started
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2324,1
    - Dst: wpas_p2p_cross_connect_setup
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2327,1
    - Dst: wpas_p2p_set_group_idle_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2328,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2331,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2336,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2338,1
    - Dst: wpa_supplicant_ap_mac_addr_filter
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2347,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2349,1
    - Dst: wpas_group_formation_completed
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2355,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2356,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2361,1
    - Dst: wpa_supplicant_ap_wps_pbc
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2363,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2370,1
    - Dst: wpas_ap_wps_add_nfc_pw
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2373,1
    - Dst: wpa_supplicant_ap_wps_pin
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2380,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2383,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 75
    argCount: 2
    argNames:
    - ctx
    - data
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2385
      start: 2253
    functionDepth: 12
    functionLinenumber: 2253
    functionLinenumberEnd: 2385
    functionName: p2p_go_configured
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_ap_wps_add_nfc_pw
    - wpas_notify_p2p_group_started
    - wpas_p2p_cross_connect_setup
    - wpa_printf
    - wpa_auth_pmksa_add_sae
    - os_free
    - wpas_p2p_store_persistent_group
    - wpa_supplicant_ap_wps_pin
    - os_get_reltime
    - wpas_p2p_group_started
    - is_zero_ether_addr
    - wpas_group_formation_completed
    - wpa_supplicant_ap_mac_addr_filter
    - wpa_dbg
    - p2p_go_save_group_common_freqs
    - p2p_go_dump_common_freqs
    - eloop_cancel_timeout
    - wpas_p2p_set_group_idle_timeout
    - MAC2STR
    - wpas_p2p_add_psk_list
    - eloop_register_timeout
    - hostapd_add_pmkid
    - wpa_supplicant_ap_wps_pbc
    linkageType: ''
    returnType: void
    signature: void p2p_go_configured(void *ctx, void *data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_mode
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2414,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2417,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2423,1
    - Dst: ieee80211_chaninfo_to_channel
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2424,1
    - Dst: hostapd_encode_edmg_chan
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2429,1
    - Dst: ieee802_edmg_is_allowed
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2431,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2432,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - wpa_s
    - freq
    - op_class
    - op_edmg_channel
    argTypes:
    - struct wpa_supplicant*
    - unsigned int
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2440
      start: 2398
    functionDepth: 1
    functionLinenumber: 2398
    functionLinenumberEnd: 2440
    functionName: wpas_p2p_freq_to_edmg_channel
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - get_mode
    - ieee80211_chaninfo_to_channel
    - ieee802_edmg_is_allowed
    - ARRAY_SIZE
    - hostapd_encode_edmg_chan
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_freq_to_edmg_channel(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      unsigned int freq,\n\t\t\t\t\t u8 *op_class, u8 *op_edmg_channel)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_p2p_freq_to_edmg_channel
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2452,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2454,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - wpa_s
    - params
    argTypes:
    - struct wpa_supplicant*
    - struct p2p_go_neg_results*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2462
      start: 2443
    functionDepth: 2
    functionLinenumber: 2443
    functionLinenumberEnd: 2462
    functionName: wpas_p2p_try_edmg_channel
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - wpas_p2p_freq_to_edmg_channel
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_try_edmg_channel(struct wpa_supplicant *wpa_s,\n\t\t\t
      \     struct p2p_go_neg_results *params)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2471,1
    - Dst: wpas_copy_go_neg_results
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2472,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2473,1
    - Dst: wpa_config_add_network
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2478,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2480,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2487,1
    - Dst: wpa_config_set_network_defaults
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2489,1
    - Dst: wpas_p2p_freq_to_edmg_channel
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2504,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2509,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2515,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2517,1
    - Dst: is_6ghz_freq
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2522,1
    - Dst: is_p2p_6ghz_capable
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2523,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2528,1
    - Dst: p2p_set_6ghz_dev_capab
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2530,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2545,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2546,1
    - Dst: wpa_msg_global
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2548,1
    - Dst: wpa_config_remove_network
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2550,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2557,1
    - Dst: wpa_config_update_psk
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2559,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2570,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2588,1
    - Dst: wpa_supplicant_req_scan
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2590,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 96
    argCount: 4
    argNames:
    - wpa_s
    - params
    - group_formation
    - p2p_mode
    argTypes:
    - struct wpa_supplicant*
    - struct p2p_go_neg_results*
    - int
    - enum wpa_p2p_mode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2591
      start: 2465
    functionDepth: 5
    functionLinenumber: 2465
    functionLinenumberEnd: 2591
    functionName: wpas_start_go
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_config_set_network_defaults
    - os_memcpy
    - p2p_set_6ghz_dev_capab
    - os_strdup
    - wpa_config_remove_network
    - is_6ghz_freq
    - wpa_supplicant_req_scan
    - wpas_copy_go_neg_results
    - wpa_config_add_network
    - is_p2p_6ghz_capable
    - wpa_config_update_psk
    - os_zalloc
    - wpa_dbg
    - wpa_msg_global
    - wpas_p2p_freq_to_edmg_channel
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void wpas_start_go(struct wpa_supplicant *wpa_s,\n\t\t\t  struct p2p_go_neg_results
      *params,\n\t\t\t  int group_formation, enum wpa_p2p_mode p2p_mode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: C
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2609,1
    - Dst: C
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2610,1
    - Dst: C
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2611,1
    - Dst: C
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2612,1
    - Dst: C
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2613,1
    - Dst: C
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2614,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2617,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2618,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2641,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2642,1
    - Dst: wpabuf_dup
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2643,1
    - Dst: wpabuf_dup
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2644,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 42
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2654
      start: 2594
    functionDepth: 1
    functionLinenumber: 2594
    functionLinenumberEnd: 2654
    functionName: wpas_p2p_clone_config
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpabuf_dup
    - os_memcpy
    - wpabuf_free
    - C
    linkageType: ''
    returnType: void
    signature: "void wpas_p2p_clone_config(struct wpa_supplicant *dst,\n\t\t\t\t  const
      struct wpa_supplicant *src)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2608
      start: 2603
    functionDepth: 0
    functionLinenumber: 2603
    functionLinenumberEnd: 2608
    functionName: C
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: C(n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2662,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2663,1
    - Dst: os_strrchr
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2664,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2667,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2668,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2669,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2673,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2674,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - wpa_s
    - ifname
    - len
    argTypes:
    - struct wpa_supplicant*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2677
      start: 2657
    functionDepth: 1
    functionLinenumber: 2657
    functionLinenumberEnd: 2677
    functionName: wpas_p2p_get_group_ifname
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_strncmp
    - os_snprintf
    - os_strrchr
    - os_snprintf_error
    linkageType: ''
    returnType: void
    signature: "void wpas_p2p_get_group_ifname(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \     char *ifname, size_t len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2686,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2688,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2689,1
    - Dst: wpas_p2p_get_group_ifname
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2697,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2700,1
    - Dst: wpa_drv_if_add
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2705,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2707,1
    - Dst: random_mac_addr
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2713,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2714,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2716,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2720,1
    - Dst: os_strlcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2722,1
    - Dst: os_strlcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2725,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2727,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2729,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 2
    argNames:
    - wpa_s
    - type
    argTypes:
    - struct wpa_supplicant*
    - enum wpa_driver_if_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2732
      start: 2680
    functionDepth: 2
    functionLinenumber: 2680
    functionLinenumberEnd: 2732
    functionName: wpas_p2p_add_group_interface
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpa_drv_if_add
    - is_zero_ether_addr
    - os_strlcpy
    - MAC2STR
    - random_mac_addr
    - wpas_p2p_get_group_ifname
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_add_group_interface(struct wpa_supplicant *wpa_s,\n\t\t\t\t\tenum
      wpa_driver_if_type type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2739,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2742,1
    - Dst: wpa_drv_if_remove
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2744,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2746,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2749
      start: 2735
    functionDepth: 1
    functionLinenumber: 2735
    functionLinenumberEnd: 2749
    functionName: wpas_p2p_remove_pending_group_interface
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - os_memset
    - wpa_printf
    - is_zero_ether_addr
    - wpa_drv_if_remove
    linkageType: ''
    returnType: void
    signature: "void wpas_p2p_remove_pending_group_interface(\n\tstruct wpa_supplicant
      *wpa_s)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2759,1
    - Dst: wpas_p2p_create_iface
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2760,1
    - Dst: wpas_p2p_add_group_interface
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2767,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2772,1
    - Dst: wpa_supplicant_add_iface
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2783,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2785,1
    - Dst: wpas_p2p_clone_config
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2795,1
    - Dst: wpa_drv_set_mac_addr
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2800,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2802,1
    - Dst: wpa_supplicant_remove_iface
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2804,1
    - Dst: wpa_supplicant_update_mac_addr
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2809,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2810,1
    - Dst: wpa_supplicant_remove_iface
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2812,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2817,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2819,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 2
    argNames:
    - wpa_s
    - go
    argTypes:
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2823
      start: 2752
    functionDepth: 12
    functionLinenumber: 2752
    functionLinenumberEnd: 2823
    functionName: wpas_p2p_init_group_interface
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_msg
    - os_memset
    - wpas_p2p_clone_config
    - MAC2STR
    - wpas_p2p_add_group_interface
    - wpas_p2p_create_iface
    - wpa_supplicant_update_mac_addr
    - wpa_supplicant_remove_iface
    - wpa_drv_set_mac_addr
    - wpa_supplicant_add_iface
    linkageType: ''
    returnType: struct wpa_supplicant
    signature: 'struct wpa_supplicant *

      wpas_p2p_init_group_interface(struct wpa_supplicant *wpa_s, int go)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_p2p_pasn_cancel_auth_work
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2833,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2838,1
    - Dst: wpas_p2p_group_formation_failed
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2839,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2840
      start: 2826
    functionDepth: 4
    functionLinenumber: 2826
    functionLinenumberEnd: 2840
    functionName: wpas_p2p_group_formation_timeout
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpas_p2p_group_formation_failed
    - wpas_p2p_pasn_cancel_auth_work
    linkageType: ''
    returnType: void
    signature: "void wpas_p2p_group_formation_timeout(void *eloop_ctx,\n\t\t\t\t\t
      \    void *timeout_ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2853,1
    - Dst: p2p_group_formation_failed
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2856,1
    - Dst: wpas_group_formation_completed
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2857,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - wpa_s
    - already_deleted
    - reason
    argTypes:
    - struct wpa_supplicant*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2858
      start: 2843
    functionDepth: 12
    functionLinenumber: 2843
    functionLinenumberEnd: 2858
    functionName: wpas_p2p_group_formation_failed
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 2
    functionsReached:
    - eloop_cancel_timeout
    - wpas_group_formation_completed
    - p2p_group_formation_failed
    linkageType: ''
    returnType: void
    signature: "void wpas_p2p_group_formation_failed(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \   int already_deleted,\n\t\t\t\t\t    const char *reason)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2863,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2864,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2866,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2869
      start: 2861
    functionDepth: 0
    functionLinenumber: 2861
    functionLinenumberEnd: 2869
    functionName: wpas_p2p_grpform_fail_after_wps
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - eloop_cancel_timeout
    - wpa_printf
    - eloop_register_timeout
    linkageType: ''
    returnType: void
    signature: void wpas_p2p_grpform_fail_after_wps(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2877,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2879,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2881
      start: 2872
    functionDepth: 0
    functionLinenumber: 2872
    functionLinenumberEnd: 2881
    functionName: wpas_p2p_ap_setup_failed
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 1
    functionsReached:
    - eloop_cancel_timeout
    - eloop_register_timeout
    linkageType: ''
    returnType: void
    signature: void wpas_p2p_ap_setup_failed(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2890,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2891,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2893,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2896
      start: 2884
    functionDepth: 0
    functionLinenumber: 2884
    functionLinenumberEnd: 2896
    functionName: wpas_p2p_retry_limit_exceeded
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 1
    functionsReached:
    - eloop_cancel_timeout
    - wpa_printf
    - eloop_register_timeout
    linkageType: ''
    returnType: bool
    signature: bool wpas_p2p_retry_limit_exceeded(struct wpa_supplicant *wpa_s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2906,1
    - Dst: wpas_nan_usd_state_change_notif
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2909,1
    - Dst: dl_list_for_each
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2915,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2921,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2935,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2936,1
    - Dst: wpa_auth_pmksa_add_sae
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2937,1
    - Dst: hostapd_add_pmkid
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2942,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - void*
    - struct p2p_go_neg_results*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2946
      start: 2899
    functionDepth: 1
    functionLinenumber: 2899
    functionLinenumberEnd: 2946
    functionName: wpas_set_go_security_config
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dl_list_for_each
    - MAC2STR
    - wpa_auth_pmksa_add_sae
    - os_memcmp
    - wpas_nan_usd_state_change_notif
    - hostapd_add_pmkid
    linkageType: ''
    returnType: void
    signature: "void wpas_set_go_security_config(void *ctx,\n\t\t\t\t\tstruct p2p_go_neg_results
      *params)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_cancel_remain_on_channel
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2955,1
    - Dst: wpas_p2p_pasn_cancel_auth_work
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2962,1
    - Dst: wpas_nan_usd_state_change_notif
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2968,1
    - Dst: wpa_msg_global
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2972,1
    - Dst: wpas_notify_p2p_go_neg_completed
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2975,1
    - Dst: wpas_p2p_remove_pending_group_interface
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2976,1
    - Dst: wpa_drv_set_prob_oper_freq
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2982,1
    - Dst: wpa_msg_global
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:2996,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3000,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3001,1
    - Dst: p2p_wps_method_text
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3002,1
    - Dst: wpas_notify_p2p_go_neg_completed
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3003,1
    - Dst: wpa_config_get_network
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3007,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3011,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3012,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3014,1
    - Dst: wpas_p2p_init_group_interface
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3021,1
    - Dst: wpas_p2p_remove_pending_group_interface
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3023,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3024,1
    - Dst: wpas_p2p_group_formation_failed
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3026,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3030,1
    - Dst: wpas_p2p_clone_config
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3036,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3042,1
    - Dst: wpas_start_go
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3050,1
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3052,1
    - Dst: wpas_start_gc
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3054,1
    - Dst: wpas_start_wps_enrollee
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3056,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3060,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3062,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3063,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 76
    argCount: 2
    argNames:
    - ctx
    - res
    argTypes:
    - void*
    - struct p2p_go_neg_results*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3066
      start: 2949
    functionDepth: 13
    functionLinenumber: 2949
    functionLinenumberEnd: 3066
    functionName: wpas_go_neg_completed
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - p2p_wps_method_text
    - wpa_config_get_network
    - wpa_drv_cancel_remain_on_channel
    - wpas_start_gc
    - os_strlen
    - wpa_printf
    - wpa_drv_set_prob_oper_freq
    - wpas_p2p_init_group_interface
    - wpas_notify_p2p_go_neg_completed
    - wpas_start_wps_enrollee
    - os_get_reltime
    - wpas_start_go
    - wpas_nan_usd_state_change_notif
    - wpas_p2p_remove_pending_group_interface
    - os_memset
    - os_memcpy
    - eloop_cancel_timeout
    - wpas_p2p_clone_config
    - MAC2STR
    - eloop_register_timeout
    - wpa_msg_global
    - wpas_p2p_group_formation_failed
    - wpas_p2p_pasn_cancel_auth_work
    linkageType: ''
    returnType: void
    signature: void wpas_go_neg_completed(void *ctx, struct p2p_go_neg_results *res)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3074,1
    - Dst: wpas_notify_p2p_go_neg_req
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3077,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ctx
    - src
    - dev_passwd_id
    - go_intent
    argTypes:
    - void*
    - u8*
    - u16
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3078
      start: 3069
    functionDepth: 1
    functionLinenumber: 3069
    functionLinenumberEnd: 3078
    functionName: wpas_go_neg_req_rx
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpas_notify_p2p_go_neg_req
    linkageType: ''
    returnType: void
    signature: "void wpas_go_neg_req_rx(void *ctx, const u8 *src, u16 dev_passwd_id,\n\t\t\t
      \      u8 go_intent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg_global
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3168,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3169,1
    - Dst: wpas_notify_p2p_device_lost
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - dev_addr
    argTypes:
    - void*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3172
      start: 3164
    functionDepth: 1
    functionLinenumber: 3164
    functionLinenumberEnd: 3172
    functionName: wpas_dev_lost
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_msg_global
    - wpas_notify_p2p_device_lost
    linkageType: ''
    returnType: void
    signature: void wpas_dev_lost(void *ctx, const u8 *dev_addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_abort_ongoing_scan
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3179,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3180,1
    - Dst: wpa_msg_global
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3182,1
    - Dst: wpas_notify_p2p_find_stopped
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3184
      start: 3175
    functionDepth: 2
    functionLinenumber: 3175
    functionLinenumberEnd: 3184
    functionName: wpas_find_stopped
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_notify_p2p_find_stopped
    - wpa_printf
    - wpas_abort_ongoing_scan
    - wpa_msg_global
    linkageType: ''
    returnType: void
    signature: void wpas_find_stopped(void *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3198,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - lwork
    argTypes:
    - struct wpas_p2p_listen_work*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3200
      start: 3194
    functionDepth: 1
    functionLinenumber: 3194
    functionLinenumberEnd: 3200
    functionName: wpas_p2p_listen_work_free
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpabuf_free
    linkageType: ''
    returnType: void
    signature: void wpas_p2p_listen_work_free(struct wpas_p2p_listen_work *lwork)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_p2p_listen_work_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3211,1
    - Dst: radio_work_done
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3214
      start: 3203
    functionDepth: 3
    functionLinenumber: 3203
    functionLinenumberEnd: 3214
    functionName: wpas_p2p_listen_work_done
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - radio_work_done
    - wpas_p2p_listen_work_free
    linkageType: ''
    returnType: void
    signature: void wpas_p2p_listen_work_done(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_stop_listen
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - work
    argTypes:
    - struct wpa_radio_work*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3228
      start: 3217
    functionDepth: 1
    functionLinenumber: 3217
    functionLinenumberEnd: 3228
    functionName: wpas_stop_started_listen_work
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_stop_listen
    linkageType: ''
    returnType: void
    signature: void wpas_stop_started_listen_work(struct wpa_radio_work *work)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpas_stop_started_listen_work
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3239,1
    - Dst: wpas_p2p_listen_work_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3240,1
    - Dst: wpa_drv_set_ap_wps_ie
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3246,1
    - Dst: wpa_drv_probe_req_report
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3248,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3249,1
    - Dst: p2p_listen_failed
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3251,1
    - Dst: wpas_p2p_listen_work_done
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3252,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3262,1
    - Dst: wpa_drv_remain_on_channel
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3268,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3269,1
    - Dst: p2p_listen_failed
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3272,1
    - Dst: wpas_p2p_listen_work_done
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3273,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 2
    argNames:
    - work
    - deinit
    argTypes:
    - struct wpa_radio_work*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3279
      start: 3231
    functionDepth: 4
    functionLinenumber: 3231
    functionLinenumberEnd: 3279
    functionName: wpas_start_listen_cb
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - p2p_listen_failed
    - wpas_stop_started_listen_work
    - wpas_p2p_listen_work_done
    - wpa_drv_remain_on_channel
    - wpa_drv_probe_req_report
    - wpas_p2p_listen_work_free
    - wpa_drv_set_ap_wps_ie
    linkageType: ''
    returnType: void
    signature: void wpas_start_listen_cb(struct wpa_radio_work *work, int deinit)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3290,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3294,1
    - Dst: wpabuf_dup
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3300,1
    - Dst: wpas_p2p_listen_work_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3302,1
    - Dst: radio_add_work
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3307,1
    - Dst: wpas_p2p_listen_work_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3309,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 4
    argNames:
    - ctx
    - freq
    - duration
    - probe_resp_ie
    argTypes:
    - void*
    - unsigned int
    - unsigned int
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3314
      start: 3282
    functionDepth: 3
    functionLinenumber: 3282
    functionLinenumberEnd: 3314
    functionName: wpas_start_listen
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpabuf_dup
    - wpa_printf
    - radio_add_work
    - os_zalloc
    - wpas_p2p_listen_work_free
    linkageType: ''
    returnType: int
    signature: "int wpas_start_listen(void *ctx, unsigned int freq,\n\t\t\t     unsigned
      int duration,\n\t\t\t     const struct wpabuf *probe_resp_ie)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_cancel_remain_on_channel
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3321,1
    - Dst: wpa_drv_set_ap_wps_ie
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3325,1
    - Dst: wpa_drv_probe_req_report
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3332,1
    - Dst: wpas_p2p_listen_work_done
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3334,1
    - Dst: radio_work_pending
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3337,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3339,1
    - Dst: radio_remove_works
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3341,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3344
      start: 3317
    functionDepth: 4
    functionLinenumber: 3317
    functionLinenumberEnd: 3344
    functionName: wpas_stop_listen
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpas_p2p_listen_work_done
    - radio_work_pending
    - wpa_drv_probe_req_report
    - wpa_drv_cancel_remain_on_channel
    - radio_remove_works
    - wpa_drv_set_ap_wps_ie
    linkageType: ''
    returnType: void
    signature: void wpas_stop_listen(void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_send_mlme
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3351,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3351,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - buf
    - freq
    argTypes:
    - void*
    - struct wpabuf*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3353
      start: 3347
    functionDepth: 1
    functionLinenumber: 3347
    functionLinenumberEnd: 3353
    functionName: wpas_send_probe_resp
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpabuf_len
    - wpa_drv_send_mlme
    - wpabuf_head
    linkageType: ''
    returnType: int
    signature: "int wpas_send_probe_resp(void *ctx, const struct wpabuf *buf,\n\t\t\t\tunsigned
      int freq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - wpa_s
    - peer
    - params
    - generated_pin
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3362
      start: 3356
    functionDepth: 1
    functionLinenumber: 3356
    functionLinenumberEnd: 3362
    functionName: wpas_prov_disc_local_display
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    linkageType: ''
    returnType: void
    signature: "void wpas_prov_disc_local_display(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      const u8 *peer, const char *params,\n\t\t\t\t\t unsigned int generated_pin)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - wpa_s
    - peer
    - params
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3370
      start: 3365
    functionDepth: 0
    functionLinenumber: 3365
    functionLinenumberEnd: 3370
    functionName: wpas_prov_disc_local_keypad
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_prov_disc_local_keypad(struct wpa_supplicant *wpa_s,\n\t\t\t\t\tconst
      u8 *peer, const char *params)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3394,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3401,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3404,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3407,1
    - Dst: wps_dev_type_bin2str
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3408,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3413,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3414,1
    - Dst: wps_generate_pin
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3418,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3419,1
    - Dst: wpas_notify_p2p_provision_discovery
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3420,1
    - Dst: wpas_prov_disc_local_display
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3425,1
    - Dst: wpas_prov_disc_local_keypad
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3428,1
    - Dst: wpa_msg_global
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3430,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3431,1
    - Dst: wpas_notify_p2p_provision_discovery
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3433,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 11
    argNames:
    - ctx
    - peer
    - config_methods
    - dev_addr
    - pri_dev_type
    - dev_name
    - supp_config_methods
    - dev_capab
    - group_capab
    - group_id
    - group_id_len
    argTypes:
    - void*
    - u8*
    - u16
    - u8*
    - u8*
    - char*
    - u16
    - u8
    - u8
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3436
      start: 3373
    functionDepth: 2
    functionLinenumber: 3373
    functionLinenumberEnd: 3436
    functionName: wpas_prov_disc_req
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_prov_disc_local_keypad
    - wpa_printf
    - wpas_prov_disc_local_display
    - wpas_notify_p2p_provision_discovery
    - wps_generate_pin
    - os_snprintf
    - MAC2STR
    - os_memcmp
    - wpa_msg_global
    - os_snprintf_error
    - wps_dev_type_bin2str
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void wpas_prov_disc_req(void *ctx, const u8 *peer, u16 config_methods,\n\t\t\t
      \      const u8 *dev_addr, const u8 *pri_dev_type,\n\t\t\t       const char
      *dev_name, u16 supp_config_methods,\n\t\t\t       u8 dev_capab, u8 group_capab,
      const u8 *group_id,\n\t\t\t       size_t group_id_len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3446,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3447,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3449,1
    - Dst: wpas_p2p_join_start
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3451,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3459,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3461,1
    - Dst: wpas_prov_disc_local_keypad
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3467,1
    - Dst: wps_generate_pin
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3469,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3470,1
    - Dst: wpas_notify_p2p_provision_discovery
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3471,1
    - Dst: wpas_prov_disc_local_display
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3476,1
    - Dst: wpa_msg_global
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3479,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3480,1
    - Dst: wpas_notify_p2p_provision_discovery
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3482,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 3
    argNames:
    - ctx
    - peer
    - config_methods
    argTypes:
    - void*
    - u8*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3485
      start: 3439
    functionDepth: 2
    functionLinenumber: 3439
    functionLinenumberEnd: 3485
    functionName: wpas_prov_disc_resp
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_p2p_join_start
    - wpa_printf
    - wpas_prov_disc_local_keypad
    - wpas_prov_disc_local_display
    - wpas_notify_p2p_provision_discovery
    - ether_addr_equal
    - wps_generate_pin
    - os_snprintf
    - MAC2STR
    - wpa_msg_global
    - os_snprintf_error
    linkageType: ''
    returnType: void
    signature: void wpas_prov_disc_resp(void *ctx, const u8 *peer, u16 config_methods)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3496,1
    - Dst: wpa_msg_global
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3498,1
    - Dst: wpas_p2p_fallback_to_go_neg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3501,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3507,1
    - Dst: wpas_p2p_join_start
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3510,1
    - Dst: wpa_msg_global
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3515,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3518,1
    - Dst: wpa_msg_global
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3521,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3523,1
    - Dst: wpa_msg_global
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3525,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3527,1
    - Dst: wpas_notify_p2p_provision_discovery
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3530,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 6
    argNames:
    - ctx
    - peer
    - status
    - adv_id
    - adv_mac
    - deferred_session_resp
    argTypes:
    - void*
    - u8*
    - enum p2p_prov_disc_status
    - u32
    - u8*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3532
      start: 3488
    functionDepth: 1
    functionLinenumber: 3488
    functionLinenumberEnd: 3532
    functionName: wpas_prov_disc_fail
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_p2p_join_start
    - wpa_printf
    - wpas_notify_p2p_provision_discovery
    - MAC2STR
    - wpa_dbg
    - wpa_msg_global
    - wpas_p2p_fallback_to_go_neg
    linkageType: ''
    returnType: void
    signature: "void wpas_prov_disc_fail(void *ctx, const u8 *peer,\n\t\t\t\tenum
      p2p_prov_disc_status status,\n\t\t\t\tu32 adv_id, const u8 *adv_mac,\n\t\t\t\tconst
      char *deferred_session_resp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: p2p_channels_includes_freq
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3539,1
    - Dst: wpas_p2p_go_is_peer_freq
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3540,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - wpa_s
    - channels
    - freq
    argTypes:
    - struct wpa_supplicant*
    - struct p2p_channels*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3543
      start: 3535
    functionDepth: 1
    functionLinenumber: 3535
    functionLinenumberEnd: 3543
    functionName: freq_included
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - p2p_channels_includes_freq
    - wpas_p2p_go_is_peer_freq
    linkageType: ''
    returnType: int
    signature: "int freq_included(struct wpa_supplicant *wpa_s,\n\t\t\t const struct
      p2p_channels *channels,\n\t\t\t unsigned int freq)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: p2p_go_dump_common_freqs
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3552,1
    - Dst: os_calloc
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3553,1
    - Dst: p2p_group_get_common_freqs
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3557,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3559,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3561,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3565,1
    - Dst: p2p_go_dump_common_freqs
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3568,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3569
      start: 3546
    functionDepth: 2
    functionLinenumber: 3546
    functionLinenumberEnd: 3569
    functionName: wpas_p2p_go_update_common_freqs
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - os_calloc
    - p2p_go_dump_common_freqs
    - p2p_group_get_common_freqs
    - wpa_dbg
    - os_free
    linkageType: ''
    returnType: void
    signature: void wpas_p2p_go_update_common_freqs(struct wpa_supplicant *wpa_s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: p2p_go_dump_common_freqs
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3580,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - wpa_s
    - freq
    argTypes:
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3591
      start: 3576
    functionDepth: 2
    functionLinenumber: 3576
    functionLinenumberEnd: 3591
    functionName: wpas_p2p_go_is_peer_freq
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 1
    functionsReached:
    - p2p_go_dump_common_freqs
    linkageType: ''
    returnType: int
    signature: int wpas_p2p_go_is_peer_freq(struct wpa_supplicant *wpa_s, int freq)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - hapd
    - sta
    - ctx
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3602
      start: 3594
    functionDepth: 0
    functionLinenumber: 3594
    functionLinenumberEnd: 3602
    functionName: wpas_sta_check_ecsa
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int wpas_sta_check_ecsa(struct hostapd_data *hapd,\n\t\t\t       struct
      sta_info *sta, void *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_for_each_sta
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3610,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3614
      start: 3606
    functionDepth: 1
    functionLinenumber: 3606
    functionLinenumberEnd: 3614
    functionName: wpas_p2p_go_clients_support_ecsa
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - ap_for_each_sta
    linkageType: ''
    returnType: int
    signature: int wpas_p2p_go_clients_support_ecsa(struct wpa_supplicant *wpa_s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: p2p_supported_freq
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3628,1
    - Dst: p2p_supported_freq
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3636,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 3
    argNames:
    - wpa_s
    - freqs
    - num
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_used_freq_data*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3653
      start: 3620
    functionDepth: 1
    functionLinenumber: 3620
    functionLinenumberEnd: 3653
    functionName: wpas_p2p_pick_best_used_freq
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - p2p_supported_freq
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_pick_best_used_freq(struct wpa_supplicant *wpa_s,\n\t\t\t\t\tstruct
      wpa_used_freq_data *freqs,\n\t\t\t\t\tunsigned int num)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_get_pref_freq_list
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3680,1
    - Dst: is_p2p_allow_6ghz
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3682,1
    - Dst: p2p_remove_6ghz_channels
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3683,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3686,1
    - Dst: p2p_supported_freq
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3694,1
    - Dst: wpas_p2p_disallowed_freq
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3696,1
    - Dst: p2p_pref_freq_allowed
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3698,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3699,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3706,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3709,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 4
    argNames:
    - wpa_s
    - go
    - pref_freq_list
    - num_pref_freq
    argTypes:
    - struct wpa_supplicant*
    - bool
    - struct weighted_pcl*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3715
      start: 3663
    functionDepth: 2
    functionLinenumber: 3663
    functionLinenumberEnd: 3715
    functionName: wpas_p2p_pick_best_pref_freq
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - p2p_remove_6ghz_channels
    - wpa_printf
    - wpas_p2p_disallowed_freq
    - p2p_supported_freq
    - wpa_drv_get_pref_freq_list
    - is_p2p_allow_6ghz
    - p2p_pref_freq_allowed
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_pick_best_pref_freq(struct wpa_supplicant *wpa_s, bool
      go,\n\t\t\t\t\tstruct weighted_pcl *pref_freq_list,\n\t\t\t\t\tunsigned int
      *num_pref_freq)"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3737,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3739,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3739,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3740,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3741,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3742,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3743,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3751,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3754,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3756,1
    - Dst: wpas_get_p2p_group
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3769,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3771,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3774,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3778,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3779,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3780,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3782,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3788,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3790,1
    - Dst: p2p_get_dik_id
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3798,1
    - Dst: wpa_config_get_network_with_dik_id
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3799,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3801,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3803,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3806,1
    - Dst: p2p_build_ssid
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3808,1
    - Dst: os_memdup
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3810,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3815,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3817,1
    - Dst: os_memdup
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3822,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3829,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3831,1
    - Dst: wpas_p2p_create_iface
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3835,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3838,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3844,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3847,1
    - Dst: wpas_p2p_add_group_interface
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3850,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3852,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3856,1
    - Dst: wpas_p2p_set_own_freq_preference
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3861,1
    - Dst: os_calloc
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3864,1
    - Dst: wpas_p2p_valid_oper_freqs
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3868,1
    - Dst: wpas_p2p_pick_best_used_freq
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3869,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3870,1
    - Dst: wpas_p2p_pick_best_pref_freq
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3874,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3881,1
    - Dst: wpas_p2p_set_own_freq_preference
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3882,1
    - Dst: wpas_p2p_num_unused_channels
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3885,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3886,1
    - Dst: wpas_p2p_num_unused_channels
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3892,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3895,1
    - Dst: freq_included
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3899,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3902,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 118
    argCount: 15
    argNames:
    - ctx
    - sa
    - bssid
    - go_dev_addr
    - ssid
    - ssid_len
    - go
    - group_bssid
    - force_freq
    - persistent_group
    - channels
    - dev_pw_id
    - p2p2
    - new_ssid
    - new_ssid_len
    argTypes:
    - void*
    - u8*
    - u8*
    - u8*
    - u8*
    - size_t
    - int*
    - u8*
    - int*
    - int
    - struct p2p_channels*
    - int
    - bool
    - u8**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3911
      start: 3718
    functionDepth: 6
    functionLinenumber: 3718
    functionLinenumberEnd: 3911
    functionName: wpas_invitation_process
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_p2p_pick_best_used_freq
    - wpas_p2p_set_own_freq_preference
    - wpa_printf
    - p2p_build_ssid
    - wpas_p2p_valid_oper_freqs
    - os_memdup
    - wpa_ssid_txt
    - ether_addr_equal
    - os_memcmp
    - wpas_p2p_add_group_interface
    - os_free
    - p2p_get_dik_id
    - wpa_config_get_network_with_dik_id
    - wpas_get_p2p_group
    - is_zero_ether_addr
    - wpas_p2p_num_unused_channels
    - os_memset
    - os_memcpy
    - os_calloc
    - freq_included
    - MAC2STR
    - wpas_p2p_create_iface
    - wpas_p2p_pick_best_pref_freq
    linkageType: ''
    returnType: u8
    signature: "u8 wpas_invitation_process(void *ctx, const u8 *sa, const u8 *bssid,\n\t\t\t\t
      \ const u8 *go_dev_addr, const u8 *ssid,\n\t\t\t\t  size_t ssid_len, int *go,
      u8 *group_bssid,\n\t\t\t\t  int *force_freq, int persistent_group,\n\t\t\t\t
      \ const struct p2p_channels *channels,\n\t\t\t\t  int dev_pw_id, bool p2p2,
      const u8 **new_ssid,\n\t\t\t\t  size_t *new_ssid_len)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3926,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3931,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3933,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3933,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3937,1
    - Dst: wpa_msg_global
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3940,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3944,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3946,1
    - Dst: wpa_msg_global
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3948,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3952,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3953,1
    - Dst: wpas_p2p_group_add_persistent
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3955,1
    - Dst: is_p2p_allow_6ghz
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3963,1
    - Dst: wpa_msg_global
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3967,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3971,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3971,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3972,1
    - Dst: wpas_p2p_join
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3973,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3981,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3982,1
    - Dst: wpa_msg_global
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3988,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3992,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3992,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3993,1
    - Dst: wpa_msg_global
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3995,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3999,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:3999,1
    - Dst: wpas_notify_p2p_invitation_received
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4001,1
    - Dst: wpa_msg_global
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4007,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4009,1
    - Dst: wpa_msg_global
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4011,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4013,1
    - Dst: wpas_notify_p2p_invitation_received
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4015,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 11
    argNames:
    - ctx
    - sa
    - bssid
    - ssid
    - ssid_len
    - go_dev_addr
    - status
    - op_freq
    - pmkid
    - pmk
    - pmk_len
    argTypes:
    - void*
    - u8*
    - u8*
    - u8*
    - size_t
    - u8*
    - u8
    - int
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4017
      start: 3914
    functionDepth: 1
    functionLinenumber: 3914
    functionLinenumberEnd: 4017
    functionName: wpas_invitation_received
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_ssid_txt
    - wpas_p2p_group_add_persistent
    - is_p2p_allow_6ghz
    - MAC2STR
    - wpas_p2p_join
    - os_memcmp
    - wpas_notify_p2p_invitation_received
    - wpa_msg_global
    linkageType: ''
    returnType: void
    signature: "void wpas_invitation_received(void *ctx, const u8 *sa, const u8 *bssid,\n\t\t\t\t
      \    const u8 *ssid, size_t ssid_len,\n\t\t\t\t     const u8 *go_dev_addr, u8
      status,\n\t\t\t\t     int op_freq, const u8 *pmkid,\n\t\t\t\t     const u8 *pmk,
      size_t pmk_len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4031,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4037,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4038,1
    - Dst: wpas_notify_network_removed
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4040,1
    - Dst: wpa_config_remove_network
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4041,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4047,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4049,1
    - Dst: os_memmove
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4051,1
    - Dst: wpa_config_write
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4056,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4057,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 4
    argNames:
    - wpa_s
    - ssid
    - peer
    - inv
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4058
      start: 4020
    functionDepth: 5
    functionLinenumber: 4020
    functionLinenumberEnd: 4058
    functionName: wpas_remove_persistent_peer
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_config_remove_network
    - ether_addr_equal
    - os_memmove
    - wpas_notify_network_removed
    - MAC2STR
    - wpa_config_write
    linkageType: ''
    returnType: void
    signature: "void wpas_remove_persistent_peer(struct wpa_supplicant *wpa_s,\n\t\t\t\t\tstruct
      wpa_ssid *ssid,\n\t\t\t\t\tconst u8 *peer, int inv)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpas_p2p_get_persistent
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4073,1
    - Dst: wpas_remove_persistent_peer
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4075,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - wpa_s
    - peer
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4076
      start: 4061
    functionDepth: 6
    functionLinenumber: 4061
    functionLinenumberEnd: 4076
    functionName: wpas_remove_persistent_client
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_remove_persistent_peer
    - wpas_p2p_get_persistent
    linkageType: ''
    returnType: void
    signature: "void wpas_remove_persistent_client(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \ const u8 *peer)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ssid_txt
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4093,1
    - Dst: wpa_config_get_network
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4097,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4100,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4103,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4104,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4109,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4109,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4110,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4116,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4117,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4123,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4124,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4125,1
    - Dst: wpa_msg_global
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4130,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4134,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 42
    argCount: 6
    argNames:
    - wpa_s
    - status
    - new_ssid
    - new_ssid_len
    - bssid
    - go_dev_addr
    argTypes:
    - struct wpa_supplicant*
    - int
    - u8*
    - size_t
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4136
      start: 4079
    functionDepth: 1
    functionLinenumber: 4079
    functionLinenumberEnd: 4136
    functionName: wpas_msg_p2p_invitation_result
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_ssid_txt
    - os_snprintf
    - MAC2STR
    - wpa_msg_global
    - wpa_config_get_network
    - os_snprintf_error
    linkageType: ''
    returnType: void
    signature: "void wpas_msg_p2p_invitation_result(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \  int status, const u8 *new_ssid,\n\t\t\t\t\t   size_t new_ssid_len, const
      u8 *bssid,\n\t\t\t\t\t   const u8 *go_dev_addr)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: wpas_p2p_pasn_cancel_auth_work
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4153,1
    - Dst: wpas_msg_p2p_invitation_result
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4158,1
    - Dst: wpas_notify_p2p_invitation_result
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4160,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4162,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4163,1
    - Dst: wpas_remove_persistent_client
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4169,1
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4180,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4183,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4185,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4188,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4199,1
    - Dst: wpa_config_get_network
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4206,1
    - Dst: wpas_remove_persistent_peer
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4208,1
    - Dst: wpas_p2p_remove_pending_group_interface
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4210,1
    - Dst: wpa_config_get_network
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4214,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4217,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4223,1
    - Dst: os_memdup
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4224,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4240,1
    - Dst: os_sleep
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4242,1
    - Dst: freq_included
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4245,1
    - Dst: freq_included
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4248,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4253,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4254,1
    - Dst: wpas_p2p_group_add_persistent
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4255,1
    - Dst: is_p2p_allow_6ghz
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4268,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 55
    argCount: 13
    argNames:
    - ctx
    - status
    - new_ssid
    - new_ssid_len
    - bssid
    - channels
    - peer
    - neg_freq
    - peer_oper_freq
    - pmkid
    - pmk
    - pmk_len
    - go_dev_addr
    argTypes:
    - void*
    - int
    - u8*
    - size_t
    - u8*
    - struct p2p_channels*
    - u8*
    - int
    - int
    - u8*
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4271
      start: 4139
    functionDepth: 7
    functionLinenumber: 4139
    functionLinenumberEnd: 4271
    functionName: wpas_invitation_result
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - os_sleep
    - wpas_p2p_group_add_persistent
    - wpa_config_get_network
    - wpa_printf
    - os_memdup
    - wpa_ssid_txt
    - wpas_remove_persistent_peer
    - os_free
    - wpas_remove_persistent_client
    - os_get_reltime
    - wpa_dbg
    - wpas_p2p_remove_pending_group_interface
    - wpas_notify_p2p_invitation_result
    - eloop_cancel_timeout
    - freq_included
    - wpas_msg_p2p_invitation_result
    - MAC2STR
    - is_p2p_allow_6ghz
    - eloop_register_timeout
    - wpas_p2p_pasn_cancel_auth_work
    linkageType: ''
    returnType: void
    signature: "void wpas_invitation_result(void *ctx, int status, const u8 *new_ssid,\n\t\t\t\t
      \  size_t new_ssid_len, const u8 *bssid,\n\t\t\t\t   const struct p2p_channels
      *channels,\n\t\t\t\t   const u8 *peer, int neg_freq,\n\t\t\t\t   int peer_oper_freq,
      const u8 *pmkid,\n\t\t\t\t   const u8 *pmk, size_t pmk_len,\n\t\t\t\t   const
      u8 *go_dev_addr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: freq_range_list_includes
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4277,1
    - Dst: freq_range_list_includes
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - global
    - freq
    argTypes:
    - struct wpa_global*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4280
      start: 4274
    functionDepth: 1
    functionLinenumber: 4274
    functionLinenumberEnd: 4280
    functionName: wpas_p2p_disallowed_freq
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 1
    functionsReached:
    - freq_range_list_includes
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_disallowed_freq(struct wpa_global *global,\n\t\t\t\t
      \   unsigned int freq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - reg
    - chan
    argTypes:
    - struct p2p_reg_class*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4287
      start: 4283
    functionDepth: 0
    functionLinenumber: 4283
    functionLinenumberEnd: 4287
    functionName: wpas_p2p_add_chan
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wpas_p2p_add_chan(struct p2p_reg_class *reg, u8 chan)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4298,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4300,1
    - Dst: wpas_p2p_disallowed_freq
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4307,1
    - Dst: wpas_p2p_add_chan
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4308,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4313,1
    - Dst: wpas_p2p_disallowed_freq
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4319,1
    - Dst: wpas_p2p_add_chan
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4320,1
    - Dst: wpas_p2p_disallowed_freq
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4321,1
    - Dst: wpas_p2p_add_chan
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4322,1
    - Dst: wpas_p2p_disallowed_freq
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4323,1
    - Dst: wpas_p2p_add_chan
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4324,1
    - Dst: wpas_p2p_disallowed_freq
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4325,1
    - Dst: wpas_p2p_add_chan
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4326,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4330,1
    - Dst: wpas_p2p_disallowed_freq
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4336,1
    - Dst: wpas_p2p_add_chan
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4337,1
    - Dst: wpas_p2p_disallowed_freq
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4338,1
    - Dst: wpas_p2p_add_chan
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4339,1
    - Dst: wpas_p2p_disallowed_freq
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4340,1
    - Dst: wpas_p2p_add_chan
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4341,1
    - Dst: wpas_p2p_disallowed_freq
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4342,1
    - Dst: wpas_p2p_add_chan
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4343,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 3
    argNames:
    - wpa_s
    - chan
    - cli_chan
    argTypes:
    - struct wpa_supplicant*
    - struct p2p_channels*
    - struct p2p_channels*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4349
      start: 4290
    functionDepth: 2
    functionLinenumber: 4290
    functionLinenumberEnd: 4349
    functionName: wpas_p2p_default_channels
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpas_p2p_add_chan
    - wpas_p2p_disallowed_freq
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_default_channels(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \    struct p2p_channels *chan,\n\t\t\t\t     struct p2p_channels *cli_chan)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ieee80211_chan_to_freq
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4359,1
    - Dst: wpas_p2p_disallowed_freq
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4360,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 5
    argNames:
    - global
    - mode
    - op_class
    - chan
    - flags
    argTypes:
    - struct wpa_global*
    - struct hostapd_hw_modes*
    - u8
    - u8
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4378
      start: 4352
    functionDepth: 2
    functionLinenumber: 4352
    functionLinenumberEnd: 4378
    functionName: has_channel
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_p2p_disallowed_freq
    - ieee80211_chan_to_freq
    linkageType: ''
    returnType: enum chan_allowed
    signature: "enum chan_allowed has_channel(struct wpa_global *global,\n\t\t\t\t
      \    struct hostapd_hw_modes *mode, u8 op_class,\n\t\t\t\t     u8 chan, int
      *flags)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 5
    argNames:
    - wpa_s
    - mode
    - channel
    - center_channels
    - num_chan
    argTypes:
    - struct wpa_supplicant*
    - struct hostapd_hw_modes*
    - u8
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4401
      start: 4381
    functionDepth: 0
    functionLinenumber: 4381
    functionLinenumberEnd: 4401
    functionName: wpas_p2p_get_center_80mhz
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_get_center_80mhz(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \    struct hostapd_hw_modes *mode,\n\t\t\t\t     u8 channel, const u8 *center_channels,\n\t\t\t\t
      \    size_t num_chan)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: is_6ghz_op_class
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4419,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4423,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4426,1
    - Dst: wpas_p2p_get_center_80mhz
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4428,1
    - Dst: has_channel
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4440,1
    - Dst: wpas_get_6ghz_he_chwidth_capab
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4452,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 5
    argNames:
    - wpa_s
    - mode
    - op_class
    - channel
    - bw
    argTypes:
    - struct wpa_supplicant*
    - struct hostapd_hw_modes*
    - u8
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4459
      start: 4410
    functionDepth: 3
    functionLinenumber: 4410
    functionLinenumberEnd: 4459
    functionName: wpas_p2p_verify_80mhz
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - has_channel
    - wpas_get_6ghz_he_chwidth_capab
    - ARRAY_SIZE
    - is_6ghz_op_class
    - wpas_p2p_get_center_80mhz
    linkageType: ''
    returnType: enum chan_allowed
    signature: "enum chan_allowed wpas_p2p_verify_80mhz(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \      struct hostapd_hw_modes *mode,\n\t\t\t\t\t       u8 op_class, u8 channel,
      u8 bw)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 5
    argNames:
    - wpa_s
    - mode
    - channel
    - center_channels
    - num_chan
    argTypes:
    - struct wpa_supplicant*
    - struct hostapd_hw_modes*
    - u8
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4482
      start: 4462
    functionDepth: 0
    functionLinenumber: 4462
    functionLinenumberEnd: 4482
    functionName: wpas_p2p_get_center_160mhz
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_get_center_160mhz(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \    struct hostapd_hw_modes *mode,\n\t\t\t\t     u8 channel, const u8 *center_channels,\n\t\t\t\t
      \    size_t num_chan)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: is_6ghz_op_class
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4499,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4501,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4504,1
    - Dst: wpas_p2p_get_center_160mhz
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4506,1
    - Dst: has_channel
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4516,1
    - Dst: is_6ghz_op_class
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4526,1
    - Dst: is_6ghz_op_class
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4531,1
    - Dst: wpas_get_6ghz_he_chwidth_capab
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4532,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 5
    argNames:
    - wpa_s
    - mode
    - op_class
    - channel
    - bw
    argTypes:
    - struct wpa_supplicant*
    - struct hostapd_hw_modes*
    - u8
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4539
      start: 4489
    functionDepth: 3
    functionLinenumber: 4489
    functionLinenumberEnd: 4539
    functionName: wpas_p2p_verify_160mhz
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - has_channel
    - wpas_get_6ghz_he_chwidth_capab
    - wpas_p2p_get_center_160mhz
    - is_6ghz_op_class
    - ARRAY_SIZE
    linkageType: ''
    returnType: enum chan_allowed
    signature: "enum chan_allowed wpas_p2p_verify_160mhz(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \      struct hostapd_hw_modes *mode,\n\t\t\t\t\t       u8 op_class, u8 channel,
      u8 bw)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_encode_edmg_chan
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4548,1
    - Dst: ieee802_edmg_is_allowed
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4549,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - wpa_s
    - mode
    - channel
    argTypes:
    - struct wpa_supplicant*
    - struct hostapd_hw_modes*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4553
      start: 4542
    functionDepth: 1
    functionLinenumber: 4542
    functionLinenumberEnd: 4553
    functionName: wpas_p2p_verify_edmg
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - ieee802_edmg_is_allowed
    - hostapd_encode_edmg_chan
    linkageType: ''
    returnType: enum chan_allowed
    signature: "enum chan_allowed wpas_p2p_verify_edmg(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \     struct hostapd_hw_modes *mode,\n\t\t\t\t\t      u8 channel)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: is_6ghz_op_class
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4563,1
    - Dst: is_6ghz_psc_frequency
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4563,1
    - Dst: p2p_channel_to_freq
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4564,1
    - Dst: has_channel
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4567,1
    - Dst: has_channel
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4571,1
    - Dst: has_channel
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4576,1
    - Dst: is_6ghz_op_class
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4578,1
    - Dst: get_6ghz_sec_channel
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4581,1
    - Dst: has_channel
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4582,1
    - Dst: has_channel
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4585,1
    - Dst: wpas_p2p_verify_80mhz
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4588,1
    - Dst: wpas_p2p_verify_160mhz
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4591,1
    - Dst: wpas_p2p_verify_edmg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4594,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 37
    argCount: 5
    argNames:
    - wpa_s
    - mode
    - op_class
    - channel
    - bw
    argTypes:
    - struct wpa_supplicant*
    - struct hostapd_hw_modes*
    - u8
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4604
      start: 4556
    functionDepth: 4
    functionLinenumber: 4556
    functionLinenumberEnd: 4604
    functionName: wpas_p2p_verify_channel
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - has_channel
    - get_6ghz_sec_channel
    - is_6ghz_op_class
    - p2p_channel_to_freq
    - wpas_p2p_verify_edmg
    - wpas_p2p_verify_160mhz
    - is_6ghz_psc_frequency
    - wpas_p2p_verify_80mhz
    linkageType: ''
    returnType: enum chan_allowed
    signature: "enum chan_allowed wpas_p2p_verify_channel(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t\t
      struct hostapd_hw_modes *mode,\n\t\t\t\t\t\t u8 op_class, u8 channel, u8 bw)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ieee80211_chan_to_freq
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4614,1
    - Dst: ieee80211_is_dfs
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4616,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - wpa_s
    - op_class
    - chan
    argTypes:
    - struct wpa_supplicant*
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4621
      start: 4607
    functionDepth: 1
    functionLinenumber: 4607
    functionLinenumberEnd: 4621
    functionName: is_dfs_chan_supported
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - ieee80211_chan_to_freq
    - ieee80211_is_dfs
    linkageType: ''
    returnType: bool
    signature: "bool is_dfs_chan_supported(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \ u8 op_class, u8 chan)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4633,1
    - Dst: wpas_p2p_default_channels
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4636,1
    - Dst: is_dfs_global_op_class
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4645,1
    - Dst: is_6ghz_op_class
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4649,1
    - Dst: get_mode
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4652,1
    - Dst: is_6ghz_op_class
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4653,1
    - Dst: is_dfs_chan_supported
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4661,1
    - Dst: wpas_p2p_verify_channel
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4669,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4676,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4691,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4705,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4709,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 57
    argCount: 4
    argNames:
    - wpa_s
    - chan
    - cli_chan
    - p2p_disable_6ghz
    argTypes:
    - struct wpa_supplicant*
    - struct p2p_channels*
    - struct p2p_channels*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4718
      start: 4624
    functionDepth: 5
    functionLinenumber: 4624
    functionLinenumberEnd: 4718
    functionName: wpas_p2p_setup_channels
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - is_dfs_global_op_class
    - wpas_p2p_default_channels
    - wpa_printf
    - get_mode
    - wpa_hexdump
    - is_6ghz_op_class
    - is_dfs_chan_supported
    - wpas_p2p_verify_channel
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_setup_channels(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \  struct p2p_channels *chan,\n\t\t\t\t   struct p2p_channels *cli_chan,\n\t\t\t\t
      \  bool p2p_disable_6ghz)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: is_dfs_global_op_class
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4735,1
    - Dst: is_6ghz_op_class
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4738,1
    - Dst: is_6ghz_op_class
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4749,1
    - Dst: get_6ghz_sec_channel
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4750,1
    - Dst: wpas_p2p_verify_channel
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4759,1
    - Dst: is_6ghz_op_class
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4762,1
    - Dst: get_6ghz_sec_channel
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4764,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 21
    argCount: 3
    argNames:
    - wpa_s
    - mode
    - channel
    argTypes:
    - struct wpa_supplicant*
    - struct hostapd_hw_modes*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4776
      start: 4721
    functionDepth: 5
    functionLinenumber: 4721
    functionLinenumberEnd: 4776
    functionName: wpas_p2p_get_sec_channel_offset_40mhz
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 2
    functionsReached:
    - is_dfs_global_op_class
    - is_6ghz_op_class
    - get_6ghz_sec_channel
    - wpas_p2p_verify_channel
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_get_sec_channel_offset_40mhz(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \ struct hostapd_hw_modes *mode,\n\t\t\t\t\t  u8 channel)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpas_p2p_verify_channel
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4787,1
    - Dst: is_6ghz_op_class
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4793,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4795,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4798,1
    - Dst: wpas_p2p_get_center_80mhz
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4800,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 4
    argNames:
    - wpa_s
    - mode
    - channel
    - op_class
    argTypes:
    - struct wpa_supplicant*
    - struct hostapd_hw_modes*
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4802
      start: 4779
    functionDepth: 5
    functionLinenumber: 4779
    functionLinenumberEnd: 4802
    functionName: wpas_p2p_get_vht80_center
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 1
    functionsReached:
    - wpas_p2p_verify_channel
    - is_6ghz_op_class
    - wpas_p2p_get_center_80mhz
    - ARRAY_SIZE
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_get_vht80_center(struct wpa_supplicant *wpa_s,\n\t\t\t
      \     struct hostapd_hw_modes *mode, u8 channel,\n\t\t\t      u8 op_class)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpas_p2p_verify_channel
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4813,1
    - Dst: is_6ghz_op_class
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4835,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4837,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4840,1
    - Dst: wpas_p2p_get_center_160mhz
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4842,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 4
    argNames:
    - wpa_s
    - mode
    - channel
    - op_class
    argTypes:
    - struct wpa_supplicant*
    - struct hostapd_hw_modes*
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4844
      start: 4805
    functionDepth: 5
    functionLinenumber: 4805
    functionLinenumberEnd: 4844
    functionName: wpas_p2p_get_vht160_center
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 1
    functionsReached:
    - wpas_p2p_verify_channel
    - is_6ghz_op_class
    - ARRAY_SIZE
    - wpas_p2p_get_center_160mhz
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_get_vht160_center(struct wpa_supplicant *wpa_s,\n\t\t\t
      \      struct hostapd_hw_modes *mode, u8 channel,\n\t\t\t       u8 op_class)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4853,1
    - Dst: wpa_drv_get_noa
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4859,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 4
    argNames:
    - ctx
    - interface_addr
    - buf
    - buf_len
    argTypes:
    - void*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4860
      start: 4847
    functionDepth: 1
    functionLinenumber: 4847
    functionLinenumberEnd: 4860
    functionName: wpas_get_noa
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_drv_get_noa
    - ether_addr_equal
    linkageType: ''
    returnType: int
    signature: "int wpas_get_noa(void *ctx, const u8 *interface_addr, u8 *buf,\n\t\t\tsize_t
      buf_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4875,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 3
    argNames:
    - wpa_s
    - ssid
    - ssid_len
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4882
      start: 4863
    functionDepth: 0
    functionLinenumber: 4863
    functionLinenumberEnd: 4882
    functionName: wpas_get_p2p_go_iface
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - os_memcmp
    linkageType: ''
    returnType: struct wpa_supplicant
    signature: "struct wpa_supplicant * wpas_get_p2p_go_iface(struct wpa_supplicant
      *wpa_s,\n\t\t\t\t\t      const u8 *ssid, size_t ssid_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4892,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - wpa_s
    - peer_dev_addr
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4897
      start: 4885
    functionDepth: 1
    functionLinenumber: 4885
    functionLinenumberEnd: 4897
    functionName: wpas_get_p2p_client_iface
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - ether_addr_equal
    linkageType: ''
    returnType: struct wpa_supplicant
    signature: "struct wpa_supplicant * wpas_get_p2p_client_iface(struct wpa_supplicant
      *wpa_s,\n\t\t\t\t\t\t  const u8 *peer_dev_addr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_get_p2p_client_iface
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4904,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - dev_addr
    argTypes:
    - void*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4905
      start: 4900
    functionDepth: 2
    functionLinenumber: 4900
    functionLinenumberEnd: 4905
    functionName: wpas_go_connected
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_get_p2p_client_iface
    linkageType: ''
    returnType: int
    signature: int wpas_go_connected(void *ctx, const u8 *dev_addr)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4920
      start: 4908
    functionDepth: 0
    functionLinenumber: 4908
    functionLinenumberEnd: 4920
    functionName: wpas_is_concurrent_session_active
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpas_is_concurrent_session_active(void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg_global
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4926,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - level
    - msg
    argTypes:
    - void*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4927
      start: 4923
    functionDepth: 0
    functionLinenumber: 4923
    functionLinenumberEnd: 4927
    functionName: wpas_p2p_debug_print
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_msg_global
    linkageType: ''
    returnType: void
    signature: void wpas_p2p_debug_print(void *ctx, int level, const char *msg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4940,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4942,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4952,1
    - Dst: wpa_drv_if_add
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4955,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4958,1
    - Dst: os_strlcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4961,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4964,1
    - Dst: wpa_supplicant_add_iface
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4982,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:4984,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 2
    argNames:
    - wpa_s
    - conf_p2p_dev
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4991
      start: 4930
    functionDepth: 12
    functionLinenumber: 4930
    functionLinenumberEnd: 4991
    functionName: wpas_p2p_add_p2pdev_interface
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - wpa_drv_if_add
    - wpa_supplicant_add_iface
    - os_memset
    - is_zero_ether_addr
    - os_strlcpy
    - os_snprintf
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_add_p2pdev_interface(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \ const char *conf_p2p_dev)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5005,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5010,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5011,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5012,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 5
    argNames:
    - ctx
    - src
    - status
    - noa
    - noa_len
    argTypes:
    - void*
    - u8*
    - u8
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5013
      start: 4994
    functionDepth: 1
    functionLinenumber: 4994
    functionLinenumberEnd: 5013
    functionName: wpas_presence_resp
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_msg
    - wpa_snprintf_hex
    - wpa_dbg
    linkageType: ''
    returnType: void
    signature: "void wpas_presence_resp(void *ctx, const u8 *src, u8 status,\n\t\t\t
      \      const u8 *noa, size_t noa_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpas_p2p_get_persistent
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5024,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5026,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5028,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5031,1
    - Dst: wpas_p2p_create_iface
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5032,1
    - Dst: wpas_p2p_add_group_interface
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5033,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5036,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5039,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 8
    argNames:
    - ctx
    - addr
    - ssid
    - ssid_len
    - go_dev_addr
    - ret_ssid
    - ret_ssid_len
    - intended_iface_addr
    argTypes:
    - void*
    - u8*
    - u8*
    - size_t
    - u8*
    - u8*
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5046
      start: 5016
    functionDepth: 3
    functionLinenumber: 5016
    functionLinenumberEnd: 5046
    functionName: wpas_get_persistent_group
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpas_p2p_get_persistent
    - wpas_p2p_add_group_interface
    - wpas_p2p_create_iface
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpas_get_persistent_group(void *ctx, const u8 *addr, const u8
      *ssid,\n\t\t\t\t     size_t ssid_len, u8 *go_dev_addr,\n\t\t\t\t     u8 *ret_ssid,
      size_t *ret_ssid_len,\n\t\t\t\t     u8 *intended_iface_addr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpas_p2p_get_go_group
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5069,1
    - Dst: wpas_p2p_get_persistent_go
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5071,1
    - Dst: wpas_p2p_create_iface
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5072,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5074,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5079,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5084,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 6
    argNames:
    - ctx
    - intended_addr
    - ssid
    - ssid_len
    - group_iface
    - freq
    argTypes:
    - void*
    - u8*
    - u8*
    - size_t*
    - int*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5088
      start: 5049
    functionDepth: 3
    functionLinenumber: 5049
    functionLinenumberEnd: 5088
    functionName: wpas_get_go_info
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpas_p2p_get_persistent_go
    - wpas_p2p_get_go_group
    - wpas_p2p_create_iface
    linkageType: ''
    returnType: int
    signature: "int wpas_get_go_info(void *ctx, u8 *intended_addr,\n\t\t\t    u8 *ssid,
      size_t *ssid_len, int *group_iface,\n\t\t\t    unsigned int *freq)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpas_p2p_get_persistent
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5100,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5103,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5104,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5109,1
    - Dst: wpas_notify_persistent_group_removed
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5112,1
    - Dst: wpa_config_remove_network
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5113,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5119,1
    - Dst: os_memmove
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5123,1
    - Dst: p2p_config_write
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5133,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 23
    argCount: 5
    argNames:
    - ctx
    - peer
    - go
    - ssid
    - ssid_len
    argTypes:
    - void*
    - u8*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5137
      start: 5091
    functionDepth: 5
    functionLinenumber: 5091
    functionLinenumberEnd: 5137
    functionName: wpas_remove_stale_groups
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - p2p_config_write
    - wpa_config_remove_network
    - wpas_p2p_get_persistent
    - ether_addr_equal
    - os_memmove
    - os_memcmp
    - wpa_dbg
    - wpas_notify_persistent_group_removed
    linkageType: ''
    returnType: int
    signature: "int wpas_remove_stale_groups(void *ctx, const u8 *peer, const u8 *go,\n\t\t\t\t
      \   const u8 *ssid, size_t ssid_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5158,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5159,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5164,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 4
    argNames:
    - buf
    - buf_len
    - feat_cap
    - feat_cap_len
    argTypes:
    - char*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5165
      start: 5140
    functionDepth: 1
    functionLinenumber: 5140
    functionLinenumberEnd: 5165
    functionName: wpas_p2ps_get_feat_cap_str
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_snprintf_hex
    linkageType: ''
    returnType: void
    signature: "void wpas_p2ps_get_feat_cap_str(char *buf, size_t buf_len,\n\t\t\t\t
      \      const u8 *feat_cap, size_t feat_cap_len)"
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5190,1
    - Dst: wpas_p2ps_get_feat_cap_str
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5198,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5209,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5210,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5211,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5220,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5221,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5222,1
    - Dst: wpas_p2p_get_go_group
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5228,1
    - Dst: wpas_p2p_get_persistent_go
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5229,1
    - Dst: p2p_group_go_member_count
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5232,1
    - Dst: wpas_p2p_group_remove
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5233,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5237,1
    - Dst: wpas_notify_persistent_group_removed
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5240,1
    - Dst: wpa_config_remove_network
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5242,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5251,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5252,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5253,1
    - Dst: wpas_p2p_get_persistent
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5259,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5263,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5264,1
    - Dst: wpas_p2p_get_persistent
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5270,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5275,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5276,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5282,1
    - Dst: wpas_notify_persistent_group_removed
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5285,1
    - Dst: wpa_config_remove_network
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5286,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5291,1
    - Dst: os_memmove
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5293,1
    - Dst: p2p_config_write
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5308,1
    - Dst: p2p_group_go_member_count
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5311,1
    - Dst: wpas_p2p_group_remove
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5312,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5317,1
    - Dst: wpas_notify_persistent_group_removed
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5320,1
    - Dst: wpa_config_remove_network
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5322,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5333,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5334,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5335,1
    - Dst: wpas_p2p_create_iface
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5357,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5358,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5361,1
    - Dst: wpas_p2ps_prov_complete
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5366,1
    - Dst: wpas_p2p_group_add_persistent
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5377,1
    - Dst: wpas_p2p_group_add
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5386,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5393,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5398,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5401,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5402,1
    - Dst: wpa_supplicant_ap_wps_pin
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5404,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5408,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5410,1
    - Dst: wpa_supplicant_ap_wps_pin
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5411,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5416,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5426,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5427,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5428,1
    - Dst: p2p_group_go_member_count
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5433,1
    - Dst: wpas_p2p_group_remove
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5434,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5438,1
    - Dst: wpas_notify_persistent_group_removed
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5441,1
    - Dst: wpa_config_remove_network
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5442,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5449,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5459,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5460,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5461,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5462,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5471,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5472,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5473,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 130
    argCount: 20
    argNames:
    - ctx
    - status
    - dev
    - adv_mac
    - ses_mac
    - grp_mac
    - adv_id
    - ses_id
    - conncap
    - passwd_id
    - persist_ssid
    - persist_ssid_size
    - response_done
    - prov_start
    - session_info
    - feat_cap
    - feat_cap_len
    - freq
    - group_ssid
    - group_ssid_len
    argTypes:
    - void*
    - enum p2p_status_code
    - u8*
    - u8*
    - u8*
    - u8*
    - u32
    - u32
    - u8
    - int
    - u8*
    - size_t
    - int
    - int
    - char*
    - u8*
    - size_t
    - unsigned int
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5476
      start: 5168
    functionDepth: 5
    functionLinenumber: 5168
    functionLinenumberEnd: 5476
    functionName: wpas_p2ps_prov_complete
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 1
    functionsReached:
    - p2p_config_write
    - wpa_config_remove_network
    - wpas_p2p_group_remove
    - wpas_p2p_group_add_persistent
    - p2p_group_go_member_count
    - wpas_p2p_group_add
    - wpa_snprintf_hex
    - ether_addr_equal
    - os_memmove
    - os_memcmp
    - wpas_notify_persistent_group_removed
    - wpas_p2p_get_persistent_go
    - wpas_p2ps_prov_complete
    - wpa_supplicant_ap_wps_pin
    - wpas_p2ps_get_feat_cap_str
    - wpas_p2p_get_persistent
    - wpas_p2p_get_go_group
    - is_zero_ether_addr
    - wpa_dbg
    - os_memset
    - os_memcpy
    - MAC2STR
    - wpas_p2p_create_iface
    linkageType: ''
    returnType: void
    signature: "void wpas_p2ps_prov_complete(void *ctx, enum p2p_status_code status,\n\t\t\t\t
      \   const u8 *dev,\n\t\t\t\t    const u8 *adv_mac, const u8 *ses_mac,\n\t\t\t\t
      \   const u8 *grp_mac, u32 adv_id, u32 ses_id,\n\t\t\t\t    u8 conncap, int
      passwd_id,\n\t\t\t\t    const u8 *persist_ssid,\n\t\t\t\t    size_t persist_ssid_size,
      int response_done,\n\t\t\t\t    int prov_start, const char *session_info,\n\t\t\t\t
      \   const u8 *feat_cap, size_t feat_cap_len,\n\t\t\t\t    unsigned int freq,\n\t\t\t\t
      \   const u8 *group_ssid, size_t group_ssid_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_p2p_in_progress
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5483
      start: 5479
    functionDepth: 0
    functionLinenumber: 5479
    functionLinenumberEnd: 5483
    functionName: _wpas_p2p_in_progress
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_p2p_in_progress
    linkageType: ''
    returnType: int
    signature: int _wpas_p2p_in_progress(void *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpas_p2p_get_go_group
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5499,1
    - Dst: wpas_p2p_get_persistent_go
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5501,1
    - Dst: wpas_p2p_group_add_persistent
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5504,1
    - Dst: is_p2p_allow_6ghz
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5509,1
    - Dst: wpas_p2p_group_add
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5512,1
    - Dst: is_p2p_allow_6ghz
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5513,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5518
      start: 5486
    functionDepth: 3
    functionLinenumber: 5486
    functionLinenumberEnd: 5518
    functionName: wpas_prov_disc_resp_cb
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_p2p_get_go_group
    - wpas_p2p_group_add_persistent
    - is_p2p_allow_6ghz
    - wpas_p2p_group_add
    - wpas_p2p_get_persistent_go
    linkageType: ''
    returnType: int
    signature: int wpas_prov_disc_resp_cb(void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_get_pref_freq_list
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - go
    - len
    - freq_list
    argTypes:
    - void*
    - int
    - unsigned int*
    - struct weighted_pcl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5529
      start: 5521
    functionDepth: 2
    functionLinenumber: 5521
    functionLinenumberEnd: 5529
    functionName: wpas_p2p_get_pref_freq_list
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_drv_get_pref_freq_list
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_get_pref_freq_list(void *ctx, int go,\n\t\t\t\t       unsigned
      int *len,\n\t\t\t\t       struct weighted_pcl *freq_list)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5536,1
    - Dst: wpas_p2p_connect
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5539,1
    - Dst: is_p2p_allow_6ghz
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5550,1
    - Dst: p2p_prov_disc_req
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5554,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5558
      start: 5532
    functionDepth: 1
    functionLinenumber: 5532
    functionLinenumberEnd: 5558
    functionName: wpas_p2p_send_bootstrap_comeback
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - is_p2p_allow_6ghz
    - wpa_printf
    - p2p_prov_disc_req
    - wpas_p2p_connect
    linkageType: ''
    returnType: void
    signature: void wpas_p2p_send_bootstrap_comeback(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5568,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5570,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - addr
    - comeback_after
    argTypes:
    - void*
    - u8*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5573
      start: 5561
    functionDepth: 0
    functionLinenumber: 5561
    functionLinenumberEnd: 5573
    functionName: wpas_p2p_register_bootstrap_comeback
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - eloop_cancel_timeout
    - os_memcpy
    - eloop_register_timeout
    linkageType: ''
    returnType: void
    signature: "void wpas_p2p_register_bootstrap_comeback(void *ctx, const u8 *addr,\n\t\t\t\t\t\t
      u16 comeback_after)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_notify_p2p_bootstrap_req
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - addr
    - bootstrap_method
    argTypes:
    - void*
    - u8*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5585
      start: 5576
    functionDepth: 1
    functionLinenumber: 5576
    functionLinenumberEnd: 5585
    functionName: wpas_bootstrap_req_rx
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_notify_p2p_bootstrap_req
    linkageType: ''
    returnType: void
    signature: "void wpas_bootstrap_req_rx(void *ctx, const u8 *addr,\n\t\t\t\t  u16
      bootstrap_method)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpas_notify_p2p_bootstrap_rsp
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5594,1
    - Dst: wpas_p2p_initiate_pasn_auth
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5609,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - ctx
    - addr
    - status
    - freq
    - bootstrap_method
    argTypes:
    - void*
    - u8*
    - enum p2p_status_code
    - int
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5611
      start: 5588
    functionDepth: 5
    functionLinenumber: 5588
    functionLinenumberEnd: 5611
    functionName: wpas_bootstrap_rsp_rx
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_p2p_initiate_pasn_auth
    - wpas_notify_p2p_bootstrap_rsp
    linkageType: ''
    returnType: void
    signature: "void wpas_bootstrap_rsp_rx(void *ctx, const u8 *addr,\n\t\t\t\t  enum
      p2p_status_code status, int freq,\n\t\t\t\t  u16 bootstrap_method)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: p2p_pasn_pmksa_set_pmk
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5626,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5628,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5628,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5629,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - peer_addr
    - dik_id
    argTypes:
    - void*
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5632
      start: 5614
    functionDepth: 1
    functionLinenumber: 5614
    functionLinenumberEnd: 5632
    functionName: wpas_set_pmksa
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpabuf_len
    - p2p_pasn_pmksa_set_pmk
    - wpabuf_head
    linkageType: ''
    returnType: int
    signature: int wpas_set_pmksa(void *ctx, const u8 *peer_addr, int dik_id)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5654,1
    - Dst: hmac_sha256_vector
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5658,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5658,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5662,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5667,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5668,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 4
    argNames:
    - ctx
    - peer_addr
    - dira_nonce
    - dira_tag
    argTypes:
    - void*
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5677
      start: 5635
    functionDepth: 1
    functionLinenumber: 5635
    functionLinenumberEnd: 5677
    functionName: wpas_validate_dira
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_len
    - wpabuf_head
    - os_memcmp
    - hmac_sha256_vector
    linkageType: ''
    returnType: int
    signature: "int wpas_validate_dira(void *ctx, const u8 *peer_addr,\n\t\t\t      const
      u8 *dira_nonce, const u8 *dira_tag)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpas_p2p_pasn_cancel_auth_work
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5694,1
    - Dst: p2p_get_listen_freq
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5697,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5701,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5710,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5712,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5714,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5716,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5718,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5721,1
    - Dst: radio_add_work
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5725,1
    - Dst: wpas_p2p_pasn_free_auth_work
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5727,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5731,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 9
    argNames:
    - wpa_s
    - peer
    - role
    - bssid
    - ssid
    - ssid_len
    - force_freq
    - go_dev_addr
    - pref_freq
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - enum p2p_invite_role
    - u8*
    - u8*
    - size_t
    - unsigned int
    - u8*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5733
      start: 5682
    functionDepth: 4
    functionLinenumber: 5682
    functionLinenumberEnd: 5733
    functionName: wpas_p2p_initiate_pasn_verify
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_printf
    - p2p_get_listen_freq
    - wpas_p2p_pasn_free_auth_work
    - os_zalloc
    - radio_add_work
    - os_free
    - wpas_p2p_pasn_cancel_auth_work
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_initiate_pasn_verify(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      const u8 *peer,\n\t\t\t\t\t enum p2p_invite_role role,\n\t\t\t\t\t const u8
      *bssid, const u8 *ssid,\n\t\t\t\t\t size_t ssid_len,\n\t\t\t\t\t unsigned int
      force_freq,\n\t\t\t\t\t const u8 *go_dev_addr,\n\t\t\t\t\t unsigned int pref_freq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_send_mlme
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5742,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ctx
    - data
    - data_len
    - noack
    - freq
    - wait
    argTypes:
    - void*
    - u8*
    - size_t
    - int
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5743
      start: 5736
    functionDepth: 1
    functionLinenumber: 5736
    functionLinenumberEnd: 5743
    functionName: wpas_p2p_pasn_send_mgmt
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_drv_send_mlme
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_pasn_send_mgmt(void *ctx, const u8 *data, size_t data_len,\n\t\t\t\t
      \  int noack, unsigned int freq,\n\t\t\t\t   unsigned int wait)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: p2p_prepare_data_element
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5751,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - peer_addr
    argTypes:
    - void*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5752
      start: 5746
    functionDepth: 1
    functionLinenumber: 5746
    functionLinenumberEnd: 5752
    functionName: wpas_p2p_prepare_data_element
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - p2p_prepare_data_element
    linkageType: ''
    returnType: int
    signature: int wpas_p2p_prepare_data_element(void *ctx, const u8 *peer_addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: p2p_parse_data_element
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - data
    - len
    argTypes:
    - void*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5761
      start: 5755
    functionDepth: 1
    functionLinenumber: 5755
    functionLinenumberEnd: 5761
    functionName: wpas_p2p_parse_data_element
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - p2p_parse_data_element
    linkageType: ''
    returnType: int
    signature: int wpas_p2p_parse_data_element(void *ctx, const u8 *data, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: p2p_pasn_validate_and_update_pmkid
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5769,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - addr
    - rsn_pmkid
    argTypes:
    - void*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5771
      start: 5764
    functionDepth: 1
    functionLinenumber: 5764
    functionLinenumberEnd: 5771
    functionName: wpas_p2p_pasn_validate_pmkid
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - p2p_pasn_validate_and_update_pmkid
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_pasn_validate_pmkid(void *ctx, const u8 *addr,\n\t\t\t\t\tconst
      u8 *rsn_pmkid)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5784,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5786,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5787,1
    - Dst: random_mac_addr
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5794,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5795,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5801,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5807,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5810,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5812,1
    - Dst: wpa_drv_set_mac_addr
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5815,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5816,1
    - Dst: wpa_supplicant_update_mac_addr
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5821,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5822,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5827,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5828,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5831
      start: 5776
    functionDepth: 2
    functionLinenumber: 5776
    functionLinenumberEnd: 5831
    functionName: wpas_p2p_mac_setup
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_msg
    - random_mac_addr
    - is_zero_ether_addr
    - MAC2STR
    - wpa_supplicant_update_mac_addr
    - wpa_drv_set_mac_addr
    linkageType: ''
    returnType: int
    signature: int wpas_p2p_mac_setup(struct wpa_supplicant *wpa_s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ieee80211_chan_to_freq
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5839,1
    - Dst: ieee80211_is_dfs
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5844,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - freq
    - op_class
    - chan
    argTypes:
    - void*
    - int
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5845
      start: 5834
    functionDepth: 1
    functionLinenumber: 5834
    functionLinenumberEnd: 5845
    functionName: wpas_p2p_dfs_chan
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - ieee80211_chan_to_freq
    - ieee80211_is_dfs
    linkageType: ''
    returnType: bool
    signature: bool wpas_p2p_dfs_chan(void *ctx, int freq, u8 op_class, u8 chan)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: wpas_p2p_mac_setup
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5869,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5870,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5875,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5924,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5925,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5932,1
    - Dst: wpas_p2p_setup_channels
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5936,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5938,1
    - Dst: p2p_config_get_random_social
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5953,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5958,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5964,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5972,1
    - Dst: p2p_config_get_random_social
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5981,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5984,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:5992,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6002,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6005,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6007,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6011,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6021,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6024,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6039,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6041,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6042,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6043,1
    - Dst: os_get_random
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6048,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6053,1
    - Dst: wpa_config_write
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6061,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6062,1
    - Dst: p2p_init
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6077,1
    - Dst: p2p_update_dfs_ap_info
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6084,1
    - Dst: p2p_add_wps_vendor_extension
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6095,1
    - Dst: p2p_set_no_go_freq
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6099,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 165
    argCount: 2
    argNames:
    - global
    - wpa_s
    argTypes:
    - struct wpa_global*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6102
      start: 5854
    functionDepth: 6
    functionLinenumber: 5854
    functionLinenumberEnd: 6102
    functionName: wpas_p2p_init
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 1
    functionsReached:
    - os_strlen
    - os_memcpy
    - wpa_printf
    - p2p_config_get_random_social
    - wpas_p2p_setup_channels
    - wpa_msg
    - wpabuf_len
    - os_get_random
    - wpabuf_alloc_copy
    - p2p_init
    - wpabuf_head
    - wpas_p2p_mac_setup
    - p2p_add_wps_vendor_extension
    - p2p_update_dfs_ap_info
    - wpa_config_write
    - p2p_set_no_go_freq
    - os_memset
    linkageType: ''
    returnType: int
    signature: int wpas_p2p_init(struct wpa_global *global, struct wpa_supplicant
      *wpa_s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_probe_req_report
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6114,1
    - Dst: p2p_clear_provisioning_info
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6118,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6123,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6125,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6126,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6127,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6129,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6130,1
    - Dst: wpas_p2p_remove_pending_group_interface
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6131,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6132,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6133,1
    - Dst: wpas_p2p_listen_work_done
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6134,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6136,1
    - Dst: radio_work_done
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6137,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6140,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6141,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6143,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6146,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6152
      start: 6111
    functionDepth: 4
    functionLinenumber: 6111
    functionLinenumberEnd: 6152
    functionName: wpas_p2p_deinit
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 1
    functionsReached:
    - eloop_cancel_timeout
    - wpas_p2p_listen_work_done
    - p2p_clear_provisioning_info
    - wpabuf_free
    - radio_work_done
    - wpa_drv_probe_req_report
    - os_free
    - wpas_p2p_remove_pending_group_interface
    linkageType: ''
    returnType: void
    signature: void wpas_p2p_deinit(struct wpa_supplicant *wpa_s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpas_p2p_service_flush
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6167,1
    - Dst: wpas_p2p_disconnect
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6182,1
    - Dst: wpas_p2p_group_deinit
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6191,1
    - Dst: p2p_deinit
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6194,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 1
    argNames:
    - global
    argTypes:
    - struct wpa_global*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6197
      start: 6161
    functionDepth: 3
    functionLinenumber: 6161
    functionLinenumberEnd: 6197
    functionName: wpas_p2p_deinit_global
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_p2p_group_deinit
    - wpas_p2p_disconnect
    - p2p_deinit
    - wpas_p2p_service_flush
    linkageType: ''
    returnType: void
    signature: void wpas_p2p_deinit_global(struct wpa_global *global)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6216
      start: 6200
    functionDepth: 0
    functionLinenumber: 6200
    functionLinenumberEnd: 6216
    functionName: wpas_p2p_create_iface
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpas_p2p_create_iface(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: p2p_config_sae_password
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6228,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6229
      start: 6220
    functionDepth: 1
    functionLinenumber: 6220
    functionLinenumberEnd: 6229
    functionName: wpas_p2p_config_sae_password
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - p2p_config_sae_password
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_config_sae_password(struct wpa_supplicant *wpa_s,\n\t\t\t\t\tstruct
      wpa_ssid *ssid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: p2p_set_config_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6248,1
    - Dst: p2p_connect
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6251,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 12
    argNames:
    - wpa_s
    - peer_addr
    - wps_method
    - go_intent
    - own_interface_addr
    - force_freq
    - persistent_group
    - ssid
    - pref_freq
    - p2p2
    - bootstrap
    - password
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - enum p2p_wps_method
    - int
    - u8*
    - unsigned int
    - int
    - struct wpa_ssid*
    - unsigned int
    - bool
    - u16
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6258
      start: 6233
    functionDepth: 1
    functionLinenumber: 6233
    functionLinenumberEnd: 6258
    functionName: wpas_p2p_start_go_neg
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - p2p_connect
    - p2p_set_config_timeout
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_start_go_neg(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      const u8 *peer_addr,\n\t\t\t\t enum p2p_wps_method wps_method,\n\t\t\t\t int
      go_intent, const u8 *own_interface_addr,\n\t\t\t\t unsigned int force_freq,
      int persistent_group,\n\t\t\t\t struct wpa_ssid *ssid, unsigned int pref_freq,\n\t\t\t\t
      bool p2p2, u16 bootstrap, const char *password)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: p2p_authorize
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6274,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6281,1
    - Dst: wpas_nan_usd_state_change_notif
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6283,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 11
    argNames:
    - wpa_s
    - peer_addr
    - wps_method
    - go_intent
    - own_interface_addr
    - force_freq
    - persistent_group
    - ssid
    - pref_freq
    - bootstrap
    - password
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - enum p2p_wps_method
    - int
    - u8*
    - unsigned int
    - int
    - struct wpa_ssid*
    - unsigned int
    - u16
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6287
      start: 6261
    functionDepth: 1
    functionLinenumber: 6261
    functionLinenumberEnd: 6287
    functionName: wpas_p2p_auth_go_neg
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - p2p_authorize
    - wpa_printf
    - wpas_nan_usd_state_change_notif
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_auth_go_neg(struct wpa_supplicant *wpa_s,\n\t\t\t\tconst
      u8 *peer_addr,\n\t\t\t\tenum p2p_wps_method wps_method,\n\t\t\t\tint go_intent,
      const u8 *own_interface_addr,\n\t\t\t\tunsigned int force_freq, int persistent_group,\n\t\t\t\tstruct
      wpa_ssid *ssid, unsigned int pref_freq,\n\t\t\t\tu16 bootstrap, const char *password)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6293,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6296,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6298,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6299,1
    - Dst: wpa_msg_global
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6302,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6305,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6309,1
    - Dst: wpa_msg_global
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6311,1
    - Dst: wpas_p2p_fallback_to_go_neg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6314,1
    - Dst: wpa_msg_global
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6317,1
    - Dst: wpas_notify_p2p_group_formation_failure
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6319,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6321
      start: 6290
    functionDepth: 1
    functionLinenumber: 6290
    functionLinenumberEnd: 6321
    functionName: wpas_p2p_check_join_scan_limit
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_notify_p2p_group_formation_failure
    - wpa_printf
    - eloop_cancel_timeout
    - MAC2STR
    - wpa_dbg
    - wpa_msg_global
    - wpas_p2p_fallback_to_go_neg
    linkageType: ''
    returnType: void
    signature: void wpas_p2p_check_join_scan_limit(struct wpa_supplicant *wpa_s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpas_p2p_num_unused_channels
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6330,1
    - Dst: os_calloc
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6335,1
    - Dst: wpas_p2p_valid_oper_freqs
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6340,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6345,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6352,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6356,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - wpa_s
    - freq
    argTypes:
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6358
      start: 6324
    functionDepth: 5
    functionLinenumber: 6324
    functionLinenumberEnd: 6358
    functionName: wpas_check_freq_conflict
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_calloc
    - wpas_p2p_valid_oper_freqs
    - wpas_p2p_num_unused_channels
    - os_free
    linkageType: ''
    returnType: int
    signature: int wpas_check_freq_conflict(struct wpa_supplicant *wpa_s, int freq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_bss_get_p2p_dev_addr
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6367,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6371,1
    - Dst: os_reltime_before
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6376,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6378,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - wpa_s
    - peer_dev_addr
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6384
      start: 6361
    functionDepth: 2
    functionLinenumber: 6361
    functionLinenumberEnd: 6384
    functionName: wpas_p2p_peer_go
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_reltime_before
    - wpa_bss_get_p2p_dev_addr
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_peer_go(struct wpa_supplicant *wpa_s,\n\t\t\t    const
      u8 *peer_dev_addr)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6394,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6399,1
    - Dst: wpas_p2p_scan_res_handler
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6404,1
    - Dst: wpas_p2p_peer_go
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6407,1
    - Dst: wpa_bss_get_bssid_latest
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6412,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6416,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6419,1
    - Dst: wpas_p2p_join_scan_req
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6422,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6432,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6433,1
    - Dst: p2p_prov_disc_req
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6434,1
    - Dst: wpa_msg_global
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6439,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6442,1
    - Dst: wpas_p2p_peer_go
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6448,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6453,1
    - Dst: wpa_msg_global
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6455,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6461,1
    - Dst: wpas_p2p_connect
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6463,1
    - Dst: is_p2p_allow_6ghz
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6477,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6485,1
    - Dst: wpa_msg_global
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6489,1
    - Dst: p2p_get_oper_freq
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6495,1
    - Dst: p2p_get_interface_addr
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6498,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6501,1
    - Dst: wpa_bss_get_bssid
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6502,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6503,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6506,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6507,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6508,1
    - Dst: p2p_get_oper_freq
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6511,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6515,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6519,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6521,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6522,1
    - Dst: wpa_bss_get
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6524,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6528,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6529,1
    - Dst: wpa_bss_get_bssid_latest
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6530,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6537,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6539,1
    - Dst: p2p_parse_dev_addr
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6540,1
    - Dst: wpa_bss_ie_ptr
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6540,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6542,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6544,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6545,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6547,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6548,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6549,1
    - Dst: wpas_check_freq_conflict
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6556,1
    - Dst: wpa_msg_global
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6557,1
    - Dst: wpas_notify_p2p_group_formation_failure
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6560,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6565,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6568,1
    - Dst: p2p_get_provisioning_info
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6589,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6596,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6599,1
    - Dst: p2p_prov_disc_req
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6604,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6608,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6617,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6618,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6619,1
    - Dst: wpas_p2p_check_join_scan_limit
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6620,1
    - Dst: wpas_p2p_join_start
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6625,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 118
    argCount: 2
    argNames:
    - wpa_s
    - scan_res
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_scan_results*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6627
      start: 6387
    functionDepth: 6
    functionLinenumber: 6387
    functionLinenumberEnd: 6627
    functionName: wpas_p2p_scan_res_join
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_p2p_scan_res_handler
    - wpas_notify_p2p_group_formation_failure
    - wpas_p2p_check_join_scan_limit
    - wpa_printf
    - wpa_bss_get_bssid_latest
    - wpa_ssid_txt
    - ether_addr_equal
    - p2p_prov_disc_req
    - p2p_get_oper_freq
    - wpas_p2p_join_start
    - wpa_bss_get_bssid
    - p2p_get_provisioning_info
    - p2p_get_interface_addr
    - wpas_check_freq_conflict
    - p2p_parse_dev_addr
    - wpas_p2p_join_scan_req
    - os_memcpy
    - eloop_cancel_timeout
    - wpas_p2p_peer_go
    - is_p2p_allow_6ghz
    - MAC2STR
    - wpas_p2p_connect
    - eloop_register_timeout
    - wpa_bss_ie_ptr
    - wpa_bss_get
    - wpa_msg_global
    linkageType: ''
    returnType: void
    signature: "void wpas_p2p_scan_res_join(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \  struct wpa_scan_results *scan_res)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6640,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6647,1
    - Dst: wps_build_probe_req_ie
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6657,1
    - Dst: wpas_p2p_scan_res_join
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6662,1
    - Dst: p2p_get_oper_freq
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6673,1
    - Dst: wpas_p2p_scan_freqs
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6682,1
    - Dst: p2p_scan_ie_buf_len
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6685,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6688,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6690,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6692,1
    - Dst: wpas_p2p_scan_res_join
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6693,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6698,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6699,1
    - Dst: wpas_get_bands
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6702,1
    - Dst: p2p_scan_ie
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6703,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6706,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6707,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6710,1
    - Dst: wpa_drv_scan
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6719,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6721,1
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6723,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6729,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6732,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6734,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6735,1
    - Dst: wpas_p2p_check_join_scan_limit
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6736,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 70
    argCount: 4
    argNames:
    - wpa_s
    - freq
    - ssid
    - ssid_len
    argTypes:
    - struct wpa_supplicant*
    - int
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6738
      start: 6630
    functionDepth: 7
    functionLinenumber: 6630
    functionLinenumberEnd: 6738
    functionName: wpas_p2p_join_scan_req
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 1
    functionsReached:
    - wpa_drv_scan
    - wpas_get_bands
    - wps_build_probe_req_ie
    - wpabuf_alloc
    - wpas_p2p_check_join_scan_limit
    - wpa_printf
    - wpas_p2p_scan_res_join
    - p2p_get_oper_freq
    - os_free
    - wpas_p2p_scan_freqs
    - os_get_reltime
    - wpabuf_len
    - wpabuf_head
    - os_memset
    - p2p_scan_ie
    - os_memcpy
    - eloop_cancel_timeout
    - wpabuf_free
    - p2p_scan_ie_buf_len
    - wpabuf_put_buf
    - eloop_register_timeout
    linkageType: ''
    returnType: void
    signature: "void wpas_p2p_join_scan_req(struct wpa_supplicant *wpa_s, int freq,\n\t\t\t\t
      \  const u8 *ssid, size_t ssid_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_p2p_join_scan_req
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6744,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6745
      start: 6741
    functionDepth: 8
    functionLinenumber: 6741
    functionLinenumberEnd: 6745
    functionName: wpas_p2p_join_scan
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_p2p_join_scan_req
    linkageType: ''
    returnType: void
    signature: void wpas_p2p_join_scan(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6753,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6755,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6755,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6758,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6759,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6764,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6765,1
    - Dst: wpas_p2p_stop_find
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6769,1
    - Dst: wpas_p2p_join_scan_req
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6772,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 8
    argNames:
    - wpa_s
    - iface_addr
    - dev_addr
    - wps_method
    - auto_join
    - op_freq
    - ssid
    - ssid_len
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - enum p2p_wps_method
    - int
    - int
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6774
      start: 6748
    functionDepth: 8
    functionLinenumber: 6748
    functionLinenumberEnd: 6774
    functionName: wpas_p2p_join
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpas_p2p_stop_find
    - wpa_ssid_txt
    - MAC2STR
    - wpas_p2p_join_scan_req
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_join(struct wpa_supplicant *wpa_s, const u8 *iface_addr,\n\t\t\t
      const u8 *dev_addr, enum p2p_wps_method wps_method,\n\t\t\t int auto_join, int
      op_freq,\n\t\t\t const u8 *ssid, size_t ssid_len)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: wpas_p2p_get_group_iface
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6785,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6789,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6807,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6808,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6809,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6811,1
    - Dst: os_strlcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6819,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6821,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6831,1
    - Dst: wpa_bss_get
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6834,1
    - Dst: wpa_bss_get_bssid_latest
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6836,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6842,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6843,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6845,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6847,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6850,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6851,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6852,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6857,1
    - Dst: wpa_drv_cancel_remain_on_channel
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6859,1
    - Dst: wpas_start_gc
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6864,1
    - Dst: wpas_start_wps_enrollee
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6866,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6873,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6874,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 62
    argCount: 4
    argNames:
    - wpa_s
    - freq
    - ssid
    - ssid_len
    argTypes:
    - struct wpa_supplicant*
    - int
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6878
      start: 6777
    functionDepth: 9
    functionLinenumber: 6777
    functionLinenumberEnd: 6878
    functionName: wpas_p2p_join_start
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 3
    functionsReached:
    - os_memcpy
    - wpa_printf
    - wpa_bss_get_bssid_latest
    - eloop_cancel_timeout
    - wpa_ssid_txt
    - os_strlcpy
    - is_zero_ether_addr
    - wpas_start_wps_enrollee
    - wpa_drv_cancel_remain_on_channel
    - eloop_register_timeout
    - wpa_bss_get
    - wpas_start_gc
    - wpas_p2p_get_group_iface
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_join_start(struct wpa_supplicant *wpa_s, int freq,\n\t\t\t
      \      const u8 *ssid, size_t ssid_len)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: os_calloc
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6893,1
    - Dst: wpas_p2p_valid_oper_freqs
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6898,1
    - Dst: wpas_p2p_num_unused_channels
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6906,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6908,1
    - Dst: p2p_supported_freq
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6915,1
    - Dst: p2p_supported_freq_cli
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6917,1
    - Dst: ieee80211_is_dfs
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6922,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6929,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6933,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6947,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6952,1
    - Dst: wpas_p2p_pick_best_used_freq
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6958,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6961,1
    - Dst: wpas_p2p_pick_best_pref_freq
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6965,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6974,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6978,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6983,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6987,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:6996,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 71
    argCount: 7
    argNames:
    - wpa_s
    - freq
    - force_freq
    - pref_freq
    - go
    - pref_freq_list
    - num_pref_freq
    argTypes:
    - struct wpa_supplicant*
    - int
    - int*
    - int*
    - int
    - struct weighted_pcl*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6998
      start: 6881
    functionDepth: 5
    functionLinenumber: 6881
    functionLinenumberEnd: 6998
    functionName: wpas_p2p_setup_freqs
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpas_p2p_pick_best_used_freq
    - os_calloc
    - wpas_p2p_valid_oper_freqs
    - p2p_supported_freq
    - p2p_supported_freq_cli
    - wpas_p2p_num_unused_channels
    - os_free
    - wpas_p2p_pick_best_pref_freq
    - ieee80211_is_dfs
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_setup_freqs(struct wpa_supplicant *wpa_s, int freq,\n\t\t\t\tint
      *force_freq, int *pref_freq, int go,\n\t\t\t\tstruct weighted_pcl *pref_freq_list,\n\t\t\t\tunsigned
      int *num_pref_freq)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_mode
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7005,1
    - Dst: p2p_wfd_enabled
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7012,1
    - Dst: p2p_peer_wfd_enabled
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7014,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - wpa_s
    - peer_addr
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7018
      start: 7001
    functionDepth: 1
    functionLinenumber: 7001
    functionLinenumberEnd: 7018
    functionName: is_p2p_6ghz_supported
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - p2p_wfd_enabled
    - p2p_peer_wfd_enabled
    - get_mode
    linkageType: ''
    returnType: bool
    signature: "bool is_p2p_6ghz_supported(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \ const u8 *peer_addr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_p2p_6ghz_supported
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7024,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7025,1
    - Dst: p2p_set_6ghz_dev_capab
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7027,1
    - Dst: is_6ghz_freq
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7029,1
    - Dst: p2p_set_6ghz_dev_capab
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7031,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - wpa_s
    - peer_addr
    - allow_6ghz
    - freq
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7035
      start: 7021
    functionDepth: 2
    functionLinenumber: 7021
    functionLinenumberEnd: 7035
    functionName: wpas_p2p_check_6ghz
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - is_p2p_6ghz_supported
    - wpa_printf
    - p2p_set_6ghz_dev_capab
    - is_6ghz_freq
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_check_6ghz(struct wpa_supplicant *wpa_s,\n\t\t\t       const
      u8 *peer_addr, bool allow_6ghz, int freq)"
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_get_network
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7094,1
    - Dst: wpas_p2p_check_6ghz
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7103,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7106,1
    - Dst: p2p_set_go_role
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7109,1
    - Dst: os_strlcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7137,1
    - Dst: wps_generate_pin
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7139,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7141,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7143,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7145,1
    - Dst: os_strlcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7149,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7154,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7164,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7166,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7167,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7179,1
    - Dst: dl_list_for_each
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7187,1
    - Dst: wpas_p2p_config_sae_password
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7198,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7208,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7213,1
    - Dst: p2p_set_go_role
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7218,1
    - Dst: wpas_p2p_auth_go_neg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7219,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7229,1
    - Dst: p2p_get_interface_addr
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7230,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7232,1
    - Dst: p2p_get_dev_addr
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7233,1
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7237,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7238,1
    - Dst: os_strlcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7245,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7250,1
    - Dst: wpas_p2p_join_start
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7255,1
    - Dst: wpas_p2p_join
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7258,1
    - Dst: wpas_p2p_setup_freqs
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7266,1
    - Dst: wpas_p2p_set_own_freq_preference
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7270,1
    - Dst: p2p_set_own_pref_freq_list
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7273,1
    - Dst: wpas_p2p_create_iface
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7275,1
    - Dst: wpas_p2p_add_group_interface
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7282,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7283,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7294,1
    - Dst: wpas_p2p_auth_go_neg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7298,1
    - Dst: wpas_p2p_start_go_neg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7306,1
    - Dst: wpas_p2p_remove_pending_group_interface
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7311,1
    - Dst: p2p_get_listen_freq
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7317,1
    - Dst: wpas_p2p_initiate_pasn_auth
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7320,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 144
    argCount: 25
    argNames:
    - wpa_s
    - peer_addr
    - pin
    - wps_method
    - persistent_group
    - auto_join
    - join
    - auth
    - go_intent
    - freq
    - vht_center_freq2
    - persistent_id
    - pd
    - ht40
    - vht
    - vht_chwidth
    - he
    - edmg
    - group_ssid
    - group_ssid_len
    - allow_6ghz
    - p2p2
    - bootstrap
    - password
    - skip_prov
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - char*
    - enum p2p_wps_method
    - int
    - int
    - int
    - int
    - int
    - int
    - unsigned int
    - int
    - int
    - int
    - int
    - unsigned int
    - int
    - int
    - u8*
    - size_t
    - bool
    - bool
    - u16
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7325
      start: 7072
    functionDepth: 10
    functionLinenumber: 7072
    functionLinenumberEnd: 7325
    functionName: wpas_p2p_connect
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 3
    functionsReached:
    - p2p_get_dev_addr
    - p2p_get_listen_freq
    - os_strlcpy
    - os_snprintf
    - wpas_p2p_initiate_pasn_auth
    - wpa_config_get_network
    - wpas_p2p_set_own_freq_preference
    - wpa_printf
    - dl_list_for_each
    - wpas_p2p_config_sae_password
    - wpas_p2p_join
    - wpas_p2p_add_group_interface
    - os_free
    - wpas_p2p_auth_go_neg
    - wpas_p2p_join_start
    - os_get_reltime
    - wpas_p2p_check_6ghz
    - p2p_get_interface_addr
    - wpas_p2p_setup_freqs
    - p2p_set_go_role
    - wpas_p2p_remove_pending_group_interface
    - wpas_p2p_start_go_neg
    - os_memset
    - os_memcpy
    - p2p_set_own_pref_freq_list
    - wps_generate_pin
    - MAC2STR
    - wpas_p2p_create_iface
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_connect(struct wpa_supplicant *wpa_s, const u8 *peer_addr,\n\t\t
      \    const char *pin, enum p2p_wps_method wps_method,\n\t\t     int persistent_group,
      int auto_join, int join, int auth,\n\t\t     int go_intent, int freq, unsigned
      int vht_center_freq2,\n\t\t     int persistent_id, int pd, int ht40, int vht,\n\t\t
      \    unsigned int vht_chwidth, int he, int edmg,\n\t\t     const u8 *group_ssid,
      size_t group_ssid_len,\n\t\t     bool allow_6ghz, bool p2p2, u16 bootstrap,\n\t\t
      \    const char *password, bool skip_prov)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7342,1
    - Dst: p2p_listen_cb
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7347,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7351,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - wpa_s
    - freq
    - duration
    argTypes:
    - struct wpa_supplicant*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7355
      start: 7337
    functionDepth: 1
    functionLinenumber: 7337
    functionLinenumberEnd: 7355
    functionName: wpas_p2p_remain_on_channel_cb
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - p2p_listen_cb
    linkageType: ''
    returnType: void
    signature: "void wpas_p2p_remain_on_channel_cb(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \  unsigned int freq, unsigned int duration)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: p2p_listen
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7364,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - timeout
    argTypes:
    - struct wpa_supplicant*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7365
      start: 7358
    functionDepth: 1
    functionLinenumber: 7358
    functionLinenumberEnd: 7365
    functionName: wpas_p2p_listen_start
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 1
    functionsReached:
    - p2p_listen
    linkageType: ''
    returnType: int
    signature: int wpas_p2p_listen_start(struct wpa_supplicant *wpa_s, unsigned int
      timeout)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7380,1
    - Dst: offchannel_pending_action_tx
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7383,1
    - Dst: wpas_p2p_listen_work_done
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7384,1
    - Dst: p2p_listen_end
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7389,1
    - Dst: offchannel_pending_action_tx
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7391,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7394,1
    - Dst: wpas_p2p_listen_start
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7395,1
    - Dst: p2p_stop_listen
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7401,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - wpa_s
    - freq
    argTypes:
    - struct wpa_supplicant*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7403
      start: 7377
    functionDepth: 4
    functionLinenumber: 7377
    functionLinenumberEnd: 7403
    functionName: wpas_p2p_cancel_remain_on_channel_cb
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - p2p_stop_listen
    - offchannel_pending_action_tx
    - wpas_p2p_listen_work_done
    - wpas_p2p_listen_start
    - p2p_listen_end
    linkageType: ''
    returnType: void
    signature: "void wpas_p2p_cancel_remain_on_channel_cb(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \ unsigned int freq)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7424,1
    - Dst: wpas_p2p_disconnect_safely
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7436,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7447,1
    - Dst: wpas_p2p_disconnect_safely
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7448,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7456,1
    - Dst: wpas_p2p_disconnect_safely
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7460,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 2
    argNames:
    - wpa_s
    - ifname
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7461
      start: 7419
    functionDepth: 2
    functionLinenumber: 7419
    functionLinenumberEnd: 7461
    functionName: wpas_p2p_group_remove
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 3
    functionsReached:
    - wpas_p2p_disconnect_safely
    - wpa_printf
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: int wpas_p2p_group_remove(struct wpa_supplicant *wpa_s, const char
      *ifname)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_get_pref_freq_list
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7471,1
    - Dst: is_p2p_allow_6ghz
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7473,1
    - Dst: p2p_remove_6ghz_channels
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7474,1
    - Dst: p2p_supported_freq
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7479,1
    - Dst: wpas_p2p_disallowed_freq
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7481,1
    - Dst: p2p_pref_freq_allowed
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7484,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7486,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7493,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7497,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7501,1
    - Dst: wpa_drv_get_pref_freq_list
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7507,1
    - Dst: is_p2p_allow_6ghz
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7509,1
    - Dst: p2p_remove_6ghz_channels
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7510,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7514,1
    - Dst: p2p_supported_freq_go
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7517,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7520,1
    - Dst: is_24ghz_freq
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7525,1
    - Dst: p2p_supported_freq
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7526,1
    - Dst: wpas_p2p_disallowed_freq
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7528,1
    - Dst: p2p_pref_freq_allowed
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7530,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7536,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7541,1
    - Dst: os_get_random
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7545,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7548,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7554,1
    - Dst: p2p_supported_freq_go
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7557,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7560,1
    - Dst: is_5ghz_freq
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7565,1
    - Dst: p2p_supported_freq
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7566,1
    - Dst: wpas_p2p_disallowed_freq
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7568,1
    - Dst: p2p_pref_freq_allowed
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7570,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7576,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7580,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7590,1
    - Dst: os_get_random
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7592,1
    - Dst: p2p_supported_freq_go
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7604,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7610,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7614,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7620,1
    - Dst: is_6ghz_freq
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7624,1
    - Dst: p2p_supported_freq
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7625,1
    - Dst: wpas_p2p_disallowed_freq
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7627,1
    - Dst: p2p_pref_freq_allowed
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7629,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7635,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7640,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7644,1
    - Dst: p2p_supported_freq_go
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7649,1
    - Dst: ieee80211_is_dfs
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7651,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7657,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7662,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 108
    argCount: 2
    argNames:
    - wpa_s
    - freq
    argTypes:
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7669
      start: 7464
    functionDepth: 2
    functionLinenumber: 7464
    functionLinenumberEnd: 7669
    functionName: wpas_p2p_select_go_freq
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - p2p_remove_6ghz_channels
    - wpa_printf
    - wpas_p2p_disallowed_freq
    - is_6ghz_freq
    - p2p_supported_freq
    - is_5ghz_freq
    - wpa_drv_get_pref_freq_list
    - os_get_random
    - p2p_supported_freq_go
    - is_p2p_allow_6ghz
    - p2p_pref_freq_allowed
    - is_24ghz_freq
    - ARRAY_SIZE
    - ieee80211_is_dfs
    linkageType: ''
    returnType: int
    signature: int wpas_p2p_select_go_freq(struct wpa_supplicant *wpa_s, int freq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_6ghz_freq
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7676,1
    - Dst: is_p2p_6ghz_capable
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7677,1
    - Dst: wpas_p2p_disallowed_freq
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7680,1
    - Dst: p2p_supported_freq_go
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7681,1
    - Dst: freq_included
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7682,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - wpa_s
    - channels
    - freq
    argTypes:
    - struct wpa_supplicant*
    - struct p2p_channels*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7685
      start: 7672
    functionDepth: 2
    functionLinenumber: 7672
    functionLinenumberEnd: 7685
    functionName: wpas_p2p_supported_freq_go
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_p2p_disallowed_freq
    - is_6ghz_freq
    - freq_included
    - p2p_supported_freq_go
    - is_p2p_6ghz_capable
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_supported_freq_go(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \     const struct p2p_channels *channels,\n\t\t\t\t      int freq)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpas_p2p_supported_freq_go
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7697,1
    - Dst: wpas_p2p_supported_freq_go
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7704,1
    - Dst: wpas_p2p_supported_freq_go
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7710,1
    - Dst: wpas_p2p_supported_freq_go
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7716,1
    - Dst: os_get_random
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7721,1
    - Dst: wpas_p2p_supported_freq_go
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7726,1
    - Dst: wpas_p2p_supported_freq_go
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7740,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7745,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7748,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 45
    argCount: 3
    argNames:
    - wpa_s
    - params
    - channels
    argTypes:
    - struct wpa_supplicant*
    - struct p2p_go_neg_results*
    - struct p2p_channels*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7750
      start: 7688
    functionDepth: 3
    functionLinenumber: 7688
    functionLinenumberEnd: 7750
    functionName: wpas_p2p_select_go_freq_no_pref
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpas_p2p_supported_freq_go
    - os_get_random
    linkageType: ''
    returnType: void
    signature: "void wpas_p2p_select_go_freq_no_pref(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \   struct p2p_go_neg_results *params,\n\t\t\t\t\t    const struct p2p_channels
      *channels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ieee80211_freq_to_chan
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7758,1
    - Dst: ieee80211_freq_to_chan
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7759,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - freq1
    - freq2
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7763
      start: 7753
    functionDepth: 1
    functionLinenumber: 7753
    functionLinenumberEnd: 7763
    functionName: wpas_same_band
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - ieee80211_freq_to_chan
    linkageType: ''
    returnType: int
    signature: int wpas_same_band(int freq1, int freq2)
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: wpas_p2p_num_unused_channels
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7777,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7779,1
    - Dst: os_calloc
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7789,1
    - Dst: get_shared_radio_freqs_data
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7794,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7801,1
    - Dst: wpas_p2p_try_edmg_channel
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7821,1
    - Dst: wpas_p2p_disallowed_freq
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7828,1
    - Dst: freq_included
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7829,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7830,1
    - Dst: p2p_supported_freq_go
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7835,1
    - Dst: ieee80211_is_dfs
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7837,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7843,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7847,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7856,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7865,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7871,1
    - Dst: wpas_p2p_pick_best_used_freq
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7881,1
    - Dst: wpas_p2p_supported_freq_go
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7882,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7883,1
    - Dst: wpas_p2p_supported_freq_go
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7892,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7894,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7904,1
    - Dst: wpas_p2p_supported_freq_go
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7913,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7917,1
    - Dst: wpas_p2p_supported_freq_go
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7929,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7933,1
    - Dst: wpas_p2p_supported_freq_go
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7941,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7944,1
    - Dst: wpas_p2p_supported_freq_go
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7951,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7954,1
    - Dst: wpas_p2p_supported_freq_go
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7961,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7964,1
    - Dst: p2p_get_pref_freq
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7970,1
    - Dst: wpas_p2p_supported_freq_go
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7971,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7973,1
    - Dst: is_6ghz_freq
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7987,1
    - Dst: ieee80211_freq_to_chan
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7988,1
    - Dst: get_mode
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7989,1
    - Dst: is_6ghz_freq
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7990,1
    - Dst: wpas_p2p_verify_channel
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7992,1
    - Dst: wpas_p2p_supported_freq_go
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7995,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:7997,1
    - Dst: is_6ghz_freq
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8015,1
    - Dst: ieee80211_freq_to_chan
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8017,1
    - Dst: get_mode
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8018,1
    - Dst: wpas_same_band
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8020,1
    - Dst: wpas_p2p_verify_channel
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8025,1
    - Dst: ieee80211_freq_to_channel_ext
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8030,1
    - Dst: wpas_p2p_verify_channel
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8033,1
    - Dst: ieee80211_freq_to_channel_ext
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8039,1
    - Dst: wpas_p2p_verify_channel
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8042,1
    - Dst: wpas_p2p_supported_freq_go
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8050,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8052,1
    - Dst: wpas_same_band
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8065,1
    - Dst: wpas_p2p_supported_freq_go
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8068,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8070,1
    - Dst: wpas_p2p_supported_freq_go
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8082,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8084,1
    - Dst: wpas_p2p_select_go_freq_no_pref
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8093,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8096,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8101,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8104,1
    CyclomaticComplexity: 107
    EdgeCount: 107
    ICount: 199
    argCount: 10
    argNames:
    - wpa_s
    - params
    - freq
    - vht_center_freq2
    - ht40
    - vht
    - max_oper_chwidth
    - he
    - edmg
    - channels
    argTypes:
    - struct wpa_supplicant*
    - struct p2p_go_neg_results*
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - struct p2p_channels*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8106
      start: 7766
    functionDepth: 5
    functionLinenumber: 7766
    functionLinenumberEnd: 8106
    functionName: wpas_p2p_init_go_params
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_p2p_pick_best_used_freq
    - get_mode
    - is_6ghz_freq
    - wpas_same_band
    - ieee80211_freq_to_channel_ext
    - wpa_printf
    - get_shared_radio_freqs_data
    - wpas_p2p_select_go_freq_no_pref
    - wpas_p2p_try_edmg_channel
    - os_free
    - wpas_p2p_disallowed_freq
    - wpas_p2p_num_unused_channels
    - wpas_p2p_verify_channel
    - ieee80211_freq_to_chan
    - os_memset
    - os_calloc
    - wpas_p2p_supported_freq_go
    - freq_included
    - p2p_supported_freq_go
    - p2p_get_pref_freq
    - ieee80211_is_dfs
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_init_go_params(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \  struct p2p_go_neg_results *params,\n\t\t\t\t   int freq, int vht_center_freq2,
      int ht40,\n\t\t\t\t   int vht, int max_oper_chwidth, int he,\n\t\t\t\t   int
      edmg,\n\t\t\t\t   const struct p2p_channels *channels)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpas_p2p_create_iface
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8115,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8125,1
    - Dst: wpas_p2p_clone_config
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8129,1
    - Dst: wpas_p2p_add_group_interface
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8133,1
    - Dst: wpa_msg_global
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8135,1
    - Dst: wpas_p2p_init_group_interface
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8139,1
    - Dst: wpa_msg_global
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8141,1
    - Dst: wpas_p2p_remove_pending_group_interface
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8143,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8158,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 3
    argNames:
    - wpa_s
    - addr_allocated
    - go
    argTypes:
    - struct wpa_supplicant*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8162
      start: 8109
    functionDepth: 13
    functionLinenumber: 8109
    functionLinenumberEnd: 8162
    functionName: wpas_p2p_get_group_iface
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 1
    functionsReached:
    - wpas_p2p_init_group_interface
    - wpas_p2p_clone_config
    - wpas_p2p_add_group_interface
    - wpas_p2p_create_iface
    - wpa_dbg
    - wpa_msg_global
    - wpas_p2p_remove_pending_group_interface
    linkageType: ''
    returnType: struct wpa_supplicant
    signature: "struct wpa_supplicant *\nwpas_p2p_get_group_iface(struct wpa_supplicant
      *wpa_s, int addr_allocated,\n\t\t\t int go)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpas_p2p_check_6ghz
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8192,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8195,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8201,1
    - Dst: wpas_p2p_stop_find_oper
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8202,1
    - Dst: wpas_p2p_select_go_freq
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8205,1
    - Dst: wpas_p2p_init_go_params
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8210,1
    - Dst: p2p_go_params
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8216,1
    - Dst: wpas_p2p_get_group_iface
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8219,1
    - Dst: wpas_start_go
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8225,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 12
    argNames:
    - wpa_s
    - persistent_group
    - freq
    - vht_center_freq2
    - ht40
    - vht
    - max_oper_chwidth
    - he
    - edmg
    - allow_6ghz
    - p2p2
    - p2p_mode
    argTypes:
    - struct wpa_supplicant*
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - bool
    - bool
    - enum wpa_p2p_mode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8228
      start: 8182
    functionDepth: 14
    functionLinenumber: 8182
    functionLinenumberEnd: 8228
    functionName: wpas_p2p_group_add
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 3
    functionsReached:
    - wpa_printf
    - wpas_p2p_check_6ghz
    - wpas_p2p_select_go_freq
    - p2p_go_params
    - wpas_p2p_init_go_params
    - wpas_start_go
    - wpas_p2p_stop_find_oper
    - os_free
    - wpas_p2p_get_group_iface
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_group_add(struct wpa_supplicant *wpa_s, int persistent_group,\n\t\t
      \      int freq, int vht_center_freq2, int ht40, int vht,\n\t\t       int max_oper_chwidth,
      int he, int edmg,\n\t\t       bool allow_6ghz, bool p2p2, enum wpa_p2p_mode
      p2p_mode)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: wpas_p2p_get_group_iface
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8243,1
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8247,1
    - Dst: wpa_supplicant_ap_deinit
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8250,1
    - Dst: wpa_config_add_network
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8252,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8255,1
    - Dst: wpa_config_set_network_defaults
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8256,1
    - Dst: is_6ghz_freq
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8264,1
    - Dst: is_p2p_6ghz_capable
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8265,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8270,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8274,1
    - Dst: wpa_config_remove_network
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8276,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8279,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8284,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8288,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8292,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8303,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8306,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8307,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8309,1
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8311,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8315,1
    - Dst: wpa_sm_pmksa_cache_add_entry
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8318,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8320,1
    - Dst: wpa_supplicant_update_scan_results
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8342,1
    - Dst: dl_list_for_each
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8343,1
    - Dst: os_reltime_before
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8347,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8355,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8357,1
    - Dst: wpa_supplicant_select_network
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8360,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 95
    argCount: 11
    argNames:
    - wpa_s
    - params
    - addr_allocated
    - freq
    - force_scan
    - retry_limit
    - go_bssid
    - p2p2
    - pmkid
    - pmk
    - pmk_len
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    - int
    - int
    - int
    - int
    - u8*
    - bool
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8363
      start: 8231
    functionDepth: 14
    functionLinenumber: 8231
    functionLinenumberEnd: 8363
    functionName: wpas_start_p2p_client
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_config_set_network_defaults
    - wpa_config_remove_network
    - is_6ghz_freq
    - wpa_supplicant_update_scan_results
    - wpa_supplicant_select_network
    - wpa_supplicant_ap_deinit
    - wpa_config_add_network
    - dl_list_for_each
    - os_free
    - wpas_p2p_get_group_iface
    - os_get_reltime
    - os_malloc
    - wpa_dbg
    - os_strdup
    - is_p2p_6ghz_capable
    - os_memset
    - os_memcpy
    - eloop_cancel_timeout
    - wpa_sm_pmksa_cache_add_entry
    - os_zalloc
    - eloop_register_timeout
    - os_reltime_before
    linkageType: ''
    returnType: int
    signature: "int wpas_start_p2p_client(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      struct wpa_ssid *params, int addr_allocated,\n\t\t\t\t int freq, int force_scan,
      int retry_limit,\n\t\t\t\t const u8 *go_bssid, bool p2p2, const u8 *pmkid,\n\t\t\t\t
      const u8 *pmk, size_t pmk_len)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: wpas_get_p2p_group
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8386,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8388,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8391,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8401,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8403,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8410,1
    - Dst: wpas_p2p_stop_find_oper
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8414,1
    - Dst: wpas_p2p_select_go_freq
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8420,1
    - Dst: wpas_p2p_select_go_freq
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8425,1
    - Dst: freq_included
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8427,1
    - Dst: os_strlcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8435,1
    - Dst: wpas_p2p_join_start
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8438,1
    - Dst: freq_included
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8442,1
    - Dst: wpa_bss_get_p2p_dev_addr
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8445,1
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8447,1
    - Dst: os_reltime_expired
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8449,1
    - Dst: freq_included
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8450,1
    - Dst: wpas_start_p2p_client
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8456,1
    - Dst: wpas_p2p_init_go_params
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8463,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8471,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8473,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8474,1
    - Dst: os_strlcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8478,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8481,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8486,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8487,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8488,1
    - Dst: wpas_p2p_get_group_iface
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8494,1
    - Dst: p2p_channels_to_freqs
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8498,1
    - Dst: wpas_start_go
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8503,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 77
    argCount: 23
    argNames:
    - wpa_s
    - ssid
    - addr_allocated
    - force_freq
    - neg_freq
    - vht_center_freq2
    - ht40
    - vht
    - max_oper_chwidth
    - he
    - edmg
    - channels
    - connection_timeout
    - force_scan
    - allow_6ghz
    - retry_limit
    - go_bssid
    - dev_addr
    - pmkid
    - pmk
    - pmk_len
    - join
    - is_invitation
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - struct p2p_channels*
    - int
    - int
    - bool
    - int
    - u8*
    - u8*
    - u8*
    - u8*
    - size_t
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8506
      start: 8366
    functionDepth: 15
    functionLinenumber: 8366
    functionLinenumberEnd: 8506
    functionName: wpas_p2p_group_add_persistent
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 5
    functionsReached:
    - os_strlcpy
    - wpas_p2p_init_go_params
    - os_reltime_expired
    - os_strlen
    - wpa_printf
    - wpa_bss_get_p2p_dev_addr
    - wpas_start_p2p_client
    - wpas_p2p_select_go_freq
    - os_free
    - wpas_p2p_get_group_iface
    - wpas_p2p_join_start
    - os_get_reltime
    - wpas_get_p2p_group
    - wpas_start_go
    - os_memcpy
    - p2p_channels_to_freqs
    - eloop_cancel_timeout
    - freq_included
    - eloop_register_timeout
    - wpas_p2p_stop_find_oper
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_group_add_persistent(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \ struct wpa_ssid *ssid, int addr_allocated,\n\t\t\t\t  int force_freq, int
      neg_freq,\n\t\t\t\t  int vht_center_freq2, int ht40,\n\t\t\t\t  int vht, int
      max_oper_chwidth, int he,\n\t\t\t\t  int edmg,\n\t\t\t\t  const struct p2p_channels
      *channels,\n\t\t\t\t  int connection_timeout, int force_scan,\n\t\t\t\t  bool
      allow_6ghz, int retry_limit,\n\t\t\t\t  const u8 *go_bssid, const u8 *dev_addr,\n\t\t\t\t
      \ const u8 *pmkid, const u8 *pmk,\n\t\t\t\t  size_t pmk_len, bool join,\n\t\t\t\t
      \ bool is_invitation)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8516,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8517,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8521,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8524,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8533,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8534,1
    - Dst: wpa_supplicant_ap_update_beacon
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8536,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - ctx
    - beacon_ies
    - proberesp_ies
    argTypes:
    - void*
    - struct wpabuf*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8537
      start: 8509
    functionDepth: 2
    functionLinenumber: 8509
    functionLinenumberEnd: 8537
    functionName: wpas_p2p_ie_update
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpabuf_free
    - wpa_supplicant_ap_update_beacon
    linkageType: ''
    returnType: void
    signature: "void wpas_p2p_ie_update(void *ctx, struct wpabuf *beacon_ies,\n\t\t\t
      \      struct wpabuf *proberesp_ies)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8545,1
    - Dst: wpas_p2p_grpform_fail_after_wps
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8549,1
    - Dst: wpas_p2p_set_group_idle_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8552,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8554,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - idle
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8555
      start: 8540
    functionDepth: 1
    functionLinenumber: 8540
    functionLinenumberEnd: 8555
    functionName: wpas_p2p_idle_update
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - eloop_cancel_timeout
    - wpa_printf
    - wpas_p2p_set_group_idle_timeout
    - wpas_p2p_grpform_fail_after_wps
    linkageType: ''
    returnType: void
    signature: void wpas_p2p_idle_update(void *ctx, int idle)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8568,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8576,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8582,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8588,1
    - Dst: p2p_group_init
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8592,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8594,1
    - Dst: p2p_group_notif_formation_done
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8596,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 2
    argNames:
    - wpa_s
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8599
      start: 8558
    functionDepth: 1
    functionLinenumber: 8558
    functionLinenumberEnd: 8599
    functionName: wpas_p2p_group_init
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 1
    functionsReached:
    - p2p_group_init
    - os_memcpy
    - os_zalloc
    - os_free
    - p2p_group_notif_formation_done
    - WPA_GET_BE32
    linkageType: ''
    returnType: struct p2p_group
    signature: "struct p2p_group * wpas_p2p_group_init(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \      struct wpa_ssid *ssid)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8608,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8615,1
    - Dst: wpas_p2p_persistent_group
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8616,1
    - Dst: p2p_clear_provisioning_info
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8619,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8622,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8632,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8635,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8646,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8649,1
    - Dst: p2p_wps_success_cb
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8658,1
    - Dst: wpas_group_formation_completed
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8659,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - wpa_s
    - peer_addr
    - registrar
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8660
      start: 8602
    functionDepth: 12
    functionLinenumber: 8602
    functionLinenumberEnd: 8660
    functionName: wpas_p2p_wps_success
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - os_memcpy
    - eloop_cancel_timeout
    - p2p_wps_success_cb
    - p2p_clear_provisioning_info
    - wpas_group_formation_completed
    - eloop_register_timeout
    - wpa_dbg
    - wpas_p2p_persistent_group
    linkageType: ''
    returnType: void
    signature: "void wpas_p2p_wps_success(struct wpa_supplicant *wpa_s, const u8 *peer_addr,\n\t\t\t
      \ int registrar)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8667,1
    - Dst: p2p_clear_provisioning_info
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8673,1
    - Dst: wpas_notify_p2p_wps_failed
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8678,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8686,1
    - Dst: eloop_deplete_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8688,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - wpa_s
    - fail
    argTypes:
    - struct wpa_supplicant*
    - struct wps_event_fail*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8692
      start: 8663
    functionDepth: 1
    functionLinenumber: 8663
    functionLinenumberEnd: 8692
    functionName: wpas_p2p_wps_failed
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - wpas_notify_p2p_wps_failed
    - eloop_deplete_timeout
    - p2p_clear_provisioning_info
    linkageType: ''
    returnType: void
    signature: "void wpas_p2p_wps_failed(struct wpa_supplicant *wpa_s,\n\t\t\t struct
      wps_event_fail *fail)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_p2p_grpform_fail_after_wps
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8701,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8704
      start: 8695
    functionDepth: 1
    functionLinenumber: 8695
    functionLinenumberEnd: 8704
    functionName: wpas_p2p_wps_eapol_cb
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 1
    functionsReached:
    - wpas_p2p_grpform_fail_after_wps
    linkageType: ''
    returnType: int
    signature: int wpas_p2p_wps_eapol_cb(struct wpa_supplicant *wpa_s)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: p2ps_group_capability
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8719,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8723,1
    - Dst: p2p_set_req_bootstrap_method
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8734,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8736,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8738,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8740,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8741,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8744,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8745,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8750,1
    - Dst: wpas_p2p_stop_find
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8756,1
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8758,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8759,1
    - Dst: wpas_p2p_join_scan
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8762,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8767,1
    - Dst: p2p_prov_disc_req
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8771,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 6
    argNames:
    - wpa_s
    - peer_addr
    - config_method
    - bootstrap
    - use
    - p2ps_prov
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - char*
    - u16
    - enum wpas_p2p_prov_disc_use
    - struct p2ps_provision*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8774
      start: 8707
    functionDepth: 9
    functionLinenumber: 8707
    functionLinenumberEnd: 8774
    functionName: wpas_p2p_prov_disc
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 3
    functionsReached:
    - p2ps_group_capability
    - wpa_printf
    - os_memcpy
    - wpas_p2p_stop_find
    - os_get_reltime
    - wpas_p2p_join_scan
    - os_strncmp
    - p2p_prov_disc_req
    - os_free
    - p2p_set_req_bootstrap_method
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_prov_disc(struct wpa_supplicant *wpa_s, const u8 *peer_addr,\n\t\t
      \      const char *config_method, u16 bootstrap,\n\t\t       enum wpas_p2p_prov_disc_use
      use,\n\t\t       struct p2ps_provision *p2ps_prov)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: p2p_scan_result_text
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8780,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ies
    - ies_len
    - buf
    - end
    argTypes:
    - u8*
    - size_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8781
      start: 8777
    functionDepth: 1
    functionLinenumber: 8777
    functionLinenumberEnd: 8781
    functionName: wpas_p2p_scan_result_text
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 1
    functionsReached:
    - p2p_scan_result_text
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_scan_result_text(const u8 *ies, size_t ies_len, char
      *buf,\n\t\t\t      char *end)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: offchannel_pending_action_tx
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8787,1
    - Dst: wpas_p2p_free_send_action_work
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8791,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8792,1
    - Dst: offchannel_send_action_done
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8794,1
    - Dst: offchannel_pending_action_tx
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8797,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8799,1
    - Dst: offchannel_clear_pending_action_tx
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8801,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - wpa_s
    - force
    argTypes:
    - struct wpa_supplicant*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8802
      start: 8784
    functionDepth: 4
    functionLinenumber: 8784
    functionLinenumberEnd: 8802
    functionName: wpas_p2p_clear_pending_action_tx
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - offchannel_clear_pending_action_tx
    - offchannel_send_action_done
    - offchannel_pending_action_tx
    - eloop_cancel_timeout
    - wpas_p2p_free_send_action_work
    linkageType: ''
    returnType: void
    signature: "void wpas_p2p_clear_pending_action_tx(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \    bool force)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_p2p_clear_pending_action_tx
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8812,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8817,1
    - Dst: wpa_supplicant_cancel_sched_scan
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8825,1
    - Dst: p2p_find
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8827,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 11
    argNames:
    - wpa_s
    - timeout
    - type
    - num_req_dev_types
    - req_dev_types
    - dev_id
    - search_delay
    - seek_cnt
    - seek_string
    - freq
    - include_6ghz
    argTypes:
    - struct wpa_supplicant*
    - unsigned int
    - enum p2p_discovery_type
    - unsigned int
    - u8*
    - u8*
    - unsigned int
    - u8
    - char**
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8831
      start: 8805
    functionDepth: 5
    functionLinenumber: 8805
    functionLinenumberEnd: 8831
    functionName: wpas_p2p_find
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 1
    functionsReached:
    - p2p_find
    - wpa_supplicant_cancel_sched_scan
    - wpa_dbg
    - wpas_p2p_clear_pending_action_tx
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_find(struct wpa_supplicant *wpa_s, unsigned int timeout,\n\t\t
      \ enum p2p_discovery_type type,\n\t\t  unsigned int num_req_dev_types, const
      u8 *req_dev_types,\n\t\t  const u8 *dev_id, unsigned int search_delay,\n\t\t
      \ u8 seek_cnt, const char **seek_string, int freq,\n\t\t  bool include_6ghz)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8837,1
    - Dst: radio_work_done
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8842,1
    - Dst: wpas_p2p_scan_res_handled
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8852,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - wpa_s
    - scan_res
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_scan_results*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8853
      start: 8834
    functionDepth: 3
    functionLinenumber: 8834
    functionLinenumberEnd: 8853
    functionName: wpas_p2p_scan_res_ignore_search
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpas_p2p_scan_res_handled
    - radio_work_done
    linkageType: ''
    returnType: void
    signature: "void wpas_p2p_scan_res_ignore_search(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \   struct wpa_scan_results *scan_res)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpas_p2p_clear_pending_action_tx
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8858,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8860,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8861,1
    - Dst: p2p_stop_find
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8864,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8867,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8871
      start: 8856
    functionDepth: 5
    functionLinenumber: 8856
    functionLinenumberEnd: 8871
    functionName: wpas_p2p_stop_find_oper
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 2
    functionsReached:
    - eloop_cancel_timeout
    - wpa_printf
    - p2p_stop_find
    - wpas_p2p_clear_pending_action_tx
    linkageType: ''
    returnType: void
    signature: void wpas_p2p_stop_find_oper(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_p2p_stop_find_oper
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8876,1
    - Dst: wpas_p2p_remove_pending_group_interface
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8878,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8879
      start: 8874
    functionDepth: 6
    functionLinenumber: 8874
    functionLinenumberEnd: 8879
    functionName: wpas_p2p_stop_find
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 4
    functionsReached:
    - wpas_p2p_remove_pending_group_interface
    - wpas_p2p_stop_find_oper
    linkageType: ''
    returnType: void
    signature: void wpas_p2p_stop_find(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8886
      start: 8882
    functionDepth: 0
    functionLinenumber: 8882
    functionLinenumberEnd: 8886
    functionName: wpas_p2p_long_listen_timeout
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wpas_p2p_long_listen_timeout(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8897,1
    - Dst: wpa_supplicant_cancel_sched_scan
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8902,1
    - Dst: wpas_p2p_clear_pending_action_tx
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8903,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8913,1
    - Dst: p2p_stop_find
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8922,1
    - Dst: wpas_p2p_listen_start
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8924,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8927,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - wpa_s
    - timeout
    argTypes:
    - struct wpa_supplicant*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8933
      start: 8889
    functionDepth: 5
    functionLinenumber: 8889
    functionLinenumberEnd: 8933
    functionName: wpas_p2p_listen
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 1
    functionsReached:
    - wpa_supplicant_cancel_sched_scan
    - wpa_printf
    - eloop_cancel_timeout
    - wpas_p2p_clear_pending_action_tx
    - wpas_p2p_listen_start
    - eloop_register_timeout
    - p2p_stop_find
    linkageType: ''
    returnType: int
    signature: int wpas_p2p_listen(struct wpa_supplicant *wpa_s, unsigned int timeout)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_bss_get_vendor_ie_multi
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8955,1
    - Dst: p2p_assoc_req_ie
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8956,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8958,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 5
    argNames:
    - wpa_s
    - bss
    - buf
    - len
    - p2p_group
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_bss*
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8961
      start: 8936
    functionDepth: 2
    functionLinenumber: 8936
    functionLinenumberEnd: 8961
    functionName: wpas_p2p_assoc_req_ie
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpabuf_free
    - p2p_assoc_req_ie
    - wpa_bss_get_vendor_ie_multi
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_assoc_req_ie(struct wpa_supplicant *wpa_s, struct wpa_bss
      *bss,\n\t\t\t  u8 *buf, size_t len, int p2p_group)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: p2p_probe_req_rx
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8974,1
    - Dst: wpas_notify_preq
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:8977,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 8
    argNames:
    - wpa_s
    - addr
    - dst
    - bssid
    - ie
    - ie_len
    - rx_freq
    - ssi_signal
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - u8*
    - u8*
    - size_t
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8988
      start: 8964
    functionDepth: 1
    functionLinenumber: 8964
    functionLinenumberEnd: 8988
    functionName: wpas_p2p_probe_req_rx
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 2
    functionsReached:
    - p2p_probe_req_rx
    - wpas_notify_preq
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_probe_req_rx(struct wpa_supplicant *wpa_s, const u8 *addr,\n\t\t\t
      \ const u8 *dst, const u8 *bssid,\n\t\t\t  const u8 *ie, size_t ie_len,\n\t\t\t
      \ unsigned int rx_freq, int ssi_signal)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: p2p_rx_action
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9000,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 8
    argNames:
    - wpa_s
    - da
    - sa
    - bssid
    - category
    - data
    - len
    - freq
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - u8*
    - u8
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9002
      start: 8991
    functionDepth: 1
    functionLinenumber: 8991
    functionLinenumberEnd: 9002
    functionName: wpas_p2p_rx_action
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 3
    functionsReached:
    - p2p_rx_action
    linkageType: ''
    returnType: void
    signature: "void wpas_p2p_rx_action(struct wpa_supplicant *wpa_s, const u8 *da,\n\t\t\tconst
      u8 *sa, const u8 *bssid,\n\t\t\tu8 category, const u8 *data, size_t len, int
      freq)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpas_get_bands
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9014,1
    - Dst: p2p_scan_ie
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9015,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - wpa_s
    - ies
    argTypes:
    - struct wpa_supplicant*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9016
      start: 9005
    functionDepth: 2
    functionLinenumber: 9005
    functionLinenumberEnd: 9016
    functionName: wpas_p2p_scan_ie
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 1
    functionsReached:
    - p2p_scan_ie
    - wpas_get_bands
    linkageType: ''
    returnType: void
    signature: void wpas_p2p_scan_ie(struct wpa_supplicant *wpa_s, struct wpabuf *ies)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: p2p_group_deinit
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9021,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9028
      start: 9019
    functionDepth: 1
    functionLinenumber: 9019
    functionLinenumberEnd: 9028
    functionName: wpas_p2p_group_deinit
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 1
    functionsReached:
    - p2p_group_deinit
    linkageType: ''
    returnType: void
    signature: void wpas_p2p_group_deinit(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: p2p_reject
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9038,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - wpa_s
    - addr
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9039
      start: 9031
    functionDepth: 1
    functionLinenumber: 9031
    functionLinenumberEnd: 9039
    functionName: wpas_p2p_reject
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 1
    functionsReached:
    - p2p_reject
    linkageType: ''
    returnType: int
    signature: int wpas_p2p_reject(struct wpa_supplicant *wpa_s, const u8 *addr)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: wpas_p2p_check_6ghz
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9056,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9061,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9063,1
    - Dst: p2p_get_dik_id
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9068,1
    - Dst: wpa_config_get_network_with_dik_id
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9069,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9071,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9073,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9092,1
    - Dst: wpas_p2p_create_iface
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9096,1
    - Dst: wpas_p2p_add_group_interface
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9097,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9099,1
    - Dst: wpas_p2p_setup_freqs
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9117,1
    - Dst: p2p_set_own_pref_freq_list
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9126,1
    - Dst: wpas_p2p_num_unused_channels
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9131,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9132,1
    - Dst: wpas_p2p_stop_find_oper
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9141,1
    - Dst: wpas_p2p_initiate_pasn_verify
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9146,1
    - Dst: wpas_p2p_remove_pending_group_interface
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9151,1
    - Dst: p2p_invite
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9158,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 68
    argCount: 14
    argNames:
    - wpa_s
    - peer_addr
    - ssid
    - go_dev_addr
    - freq
    - vht_center_freq2
    - ht40
    - vht
    - max_chwidth
    - pref_freq
    - he
    - edmg
    - allow_6ghz
    - p2p2
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - struct wpa_ssid*
    - u8*
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9161
      start: 9043
    functionDepth: 6
    functionLinenumber: 9043
    functionLinenumberEnd: 9161
    functionName: wpas_p2p_invite
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    - wpa_printf
    - p2p_set_own_pref_freq_list
    - wpas_p2p_check_6ghz
    - wpas_p2p_setup_freqs
    - os_memset
    - wpas_p2p_remove_pending_group_interface
    - MAC2STR
    - wpas_p2p_initiate_pasn_verify
    - p2p_invite
    - wpas_p2p_num_unused_channels
    - wpas_p2p_add_group_interface
    - wpas_p2p_create_iface
    - wpas_p2p_stop_find_oper
    - p2p_get_dik_id
    - wpa_config_get_network_with_dik_id
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_invite(struct wpa_supplicant *wpa_s, const u8 *peer_addr,\n\t\t
      \   struct wpa_ssid *ssid, const u8 *go_dev_addr, int freq,\n\t\t    int vht_center_freq2,
      int ht40, int vht, int max_chwidth,\n\t\t    int pref_freq, int he, int edmg,
      bool allow_6ghz, bool p2p2)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9187,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9191,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9197,1
    - Dst: wpas_p2p_get_persistent
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9204,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9216,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9222,1
    - Dst: wpas_p2p_check_6ghz
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9231,1
    - Dst: wpas_p2p_setup_freqs
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9235,1
    - Dst: wpas_p2p_set_own_freq_preference
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9240,1
    - Dst: p2p_invite
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9242,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 5
    argNames:
    - wpa_s
    - ifname
    - peer_addr
    - go_dev_addr
    - allow_6ghz
    argTypes:
    - struct wpa_supplicant*
    - char*
    - u8*
    - u8*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9245
      start: 9165
    functionDepth: 6
    functionLinenumber: 9165
    functionLinenumberEnd: 9245
    functionName: wpas_p2p_invite_group
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpas_p2p_check_6ghz
    - wpas_p2p_setup_freqs
    - wpas_p2p_get_persistent
    - is_zero_ether_addr
    - p2p_invite
    - wpas_p2p_set_own_freq_preference
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_invite_group(struct wpa_supplicant *wpa_s, const char
      *ifname,\n\t\t\t  const u8 *peer_addr, const u8 *go_dev_addr,\n\t\t\t  bool
      allow_6ghz)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9259,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9274,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9283,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9285,1
    - Dst: wpas_p2p_persistent_group
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9286,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9288,1
    - Dst: wpa_sm_get_p2p_ip_addr
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9297,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9300,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9306,1
    - Dst: wpas_p2p_group_started
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9311,1
    - Dst: wpas_p2p_store_go_identity
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9318,1
    - Dst: wpas_p2p_store_persistent_group
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9319,1
    - Dst: wpas_notify_p2p_group_started
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9323,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9324
      start: 9248
    functionDepth: 5
    functionLinenumber: 9248
    functionLinenumberEnd: 9324
    functionName: wpas_p2p_completed
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 1
    functionsReached:
    - wpas_p2p_store_persistent_group
    - os_memcpy
    - wpas_p2p_group_started
    - eloop_cancel_timeout
    - os_snprintf
    - wpas_notify_p2p_group_started
    - wpa_sm_get_p2p_ip_addr
    - wpa_dbg
    - wpas_p2p_store_go_identity
    - os_snprintf_error
    - wpas_p2p_persistent_group
    - os_memset
    linkageType: ''
    returnType: void
    signature: void wpas_p2p_completed(struct wpa_supplicant *wpa_s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: p2p_presence_req
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9340,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 5
    argNames:
    - wpa_s
    - duration1
    - interval1
    - duration2
    - interval2
    argTypes:
    - struct wpa_supplicant*
    - u32
    - u32
    - u32
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9347
      start: 9327
    functionDepth: 1
    functionLinenumber: 9327
    functionLinenumberEnd: 9347
    functionName: wpas_p2p_presence_req
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 1
    functionsReached:
    - p2p_presence_req
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_presence_req(struct wpa_supplicant *wpa_s, u32 duration1,\n\t\t\t
      \ u32 interval1, u32 duration2, u32 interval2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: p2p_ext_listen
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9356,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - wpa_s
    - period
    - interval
    argTypes:
    - struct wpa_supplicant*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9357
      start: 9350
    functionDepth: 1
    functionLinenumber: 9350
    functionLinenumberEnd: 9357
    functionName: wpas_p2p_ext_listen
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 1
    functionsReached:
    - p2p_ext_listen
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_ext_listen(struct wpa_supplicant *wpa_s, unsigned int
      period,\n\t\t\tunsigned int interval)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9372
      start: 9360
    functionDepth: 0
    functionLinenumber: 9360
    functionLinenumberEnd: 9372
    functionName: wpas_p2p_is_client
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpas_p2p_is_client(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_p2p_is_client
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9379,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9380,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9385,1
    - Dst: wpas_p2p_group_delete
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9387,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9388
      start: 9375
    functionDepth: 11
    functionLinenumber: 9375
    functionLinenumberEnd: 9388
    functionName: wpas_p2p_group_idle_timeout
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_p2p_is_client
    - wpa_printf
    - wpas_p2p_group_delete
    linkageType: ''
    returnType: void
    signature: void wpas_p2p_group_idle_timeout(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9395,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9396,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9422,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9434,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9440,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9442,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9444
      start: 9391
    functionDepth: 0
    functionLinenumber: 9391
    functionLinenumberEnd: 9444
    functionName: wpas_p2p_set_group_idle_timeout
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 3
    functionsReached:
    - eloop_cancel_timeout
    - wpa_printf
    - eloop_register_timeout
    linkageType: ''
    returnType: void
    signature: void wpas_p2p_set_group_idle_timeout(struct wpa_supplicant *wpa_s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: p2p_deauth_notif
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9456,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9463,1
    - Dst: wpas_p2p_group_delete
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9465,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 6
    argNames:
    - wpa_s
    - bssid
    - reason_code
    - ie
    - ie_len
    - locally_generated
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u16
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9472
      start: 9448
    functionDepth: 11
    functionLinenumber: 9448
    functionLinenumberEnd: 9472
    functionName: wpas_p2p_deauth_notif
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 1
    functionsReached:
    - p2p_deauth_notif
    - wpa_printf
    - wpas_p2p_group_delete
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_deauth_notif(struct wpa_supplicant *wpa_s, const u8 *bssid,\n\t\t\t
      \ u16 reason_code, const u8 *ie, size_t ie_len,\n\t\t\t  int locally_generated)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: p2p_disassoc_notif
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9483,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 6
    argNames:
    - wpa_s
    - bssid
    - reason_code
    - ie
    - ie_len
    - locally_generated
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u16
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9485
      start: 9475
    functionDepth: 1
    functionLinenumber: 9475
    functionLinenumberEnd: 9485
    functionName: wpas_p2p_disassoc_notif
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 1
    functionsReached:
    - p2p_disassoc_notif
    linkageType: ''
    returnType: void
    signature: "void wpas_p2p_disassoc_notif(struct wpa_supplicant *wpa_s, const u8
      *bssid,\n\t\t\t     u16 reason_code, const u8 *ie, size_t ie_len,\n\t\t\t     int
      locally_generated)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: p2p_set_dev_name
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9499,1
    - Dst: p2p_set_pri_dev_type
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9502,1
    - Dst: p2p_set_config_methods
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9506,1
    - Dst: p2p_set_uuid
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9509,1
    - Dst: p2p_set_manufacturer
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9512,1
    - Dst: p2p_set_model_name
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9513,1
    - Dst: p2p_set_model_number
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9514,1
    - Dst: p2p_set_serial_number
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9515,1
    - Dst: p2p_set_sec_dev_types
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9519,1
    - Dst: p2p_remove_wps_vendor_extensions
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9525,1
    - Dst: p2p_add_wps_vendor_extension
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9529,1
    - Dst: p2p_set_country
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9540,1
    - Dst: p2p_set_ssid_postfix
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9544,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9546,1
    - Dst: p2p_set_intra_bss_dist
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9551,1
    - Dst: os_get_random
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9570,1
    - Dst: p2p_set_listen_channel
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9576,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9579,1
    - Dst: os_get_random
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9597,1
    - Dst: p2p_set_oper_channel
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9603,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9606,1
    - Dst: p2p_set_pref_chan
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9611,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9613,1
    - Dst: p2p_set_no_go_freq
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9617,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9618,1
    - Dst: p2p_set_passphrase_len
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9624,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 82
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9625
      start: 9488
    functionDepth: 1
    functionLinenumber: 9488
    functionLinenumberEnd: 9625
    functionName: wpas_p2p_update_config
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 1
    functionsReached:
    - p2p_set_pri_dev_type
    - p2p_set_intra_bss_dist
    - os_strlen
    - p2p_set_dev_name
    - wpa_printf
    - p2p_set_passphrase_len
    - os_get_random
    - p2p_set_manufacturer
    - p2p_set_model_number
    - p2p_set_country
    - p2p_set_config_methods
    - p2p_set_ssid_postfix
    - p2p_set_no_go_freq
    - p2p_set_model_name
    - p2p_remove_wps_vendor_extensions
    - p2p_set_uuid
    - p2p_set_pref_chan
    - p2p_set_oper_channel
    - p2p_set_serial_number
    - p2p_add_wps_vendor_extension
    - p2p_set_sec_dev_types
    - p2p_set_listen_channel
    linkageType: ''
    returnType: void
    signature: void wpas_p2p_update_config(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_p2p_set_noa
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9633,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - wpa_s
    - count
    - start
    - duration
    argTypes:
    - struct wpa_supplicant*
    - u8
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9635
      start: 9628
    functionDepth: 1
    functionLinenumber: 9628
    functionLinenumberEnd: 9635
    functionName: wpas_p2p_set_noa
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 1
    functionsReached:
    - hostapd_p2p_set_noa
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_set_noa(struct wpa_supplicant *wpa_s, u8 count, int start,\n\t\t
      \    int duration)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: p2p_set_cross_connect
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9644,1
    - Dst: wpa_msg_global
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9656,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - wpa_s
    - enabled
    argTypes:
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9664
      start: 9638
    functionDepth: 1
    functionLinenumber: 9638
    functionLinenumberEnd: 9664
    functionName: wpas_p2p_set_cross_connect
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 1
    functionsReached:
    - wpa_msg_global
    - p2p_set_cross_connect
    linkageType: ''
    returnType: int
    signature: int wpas_p2p_set_cross_connect(struct wpa_supplicant *wpa_s, int enabled)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9677,1
    - Dst: wpa_msg_global
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9686,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 1
    argNames:
    - uplink
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9690
      start: 9667
    functionDepth: 0
    functionLinenumber: 9667
    functionLinenumberEnd: 9690
    functionName: wpas_p2p_enable_cross_connect
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_msg_global
    - os_strcmp
    linkageType: ''
    returnType: void
    signature: void wpas_p2p_enable_cross_connect(struct wpa_supplicant *uplink)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9700,1
    - Dst: wpa_msg_global
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9706,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - uplink
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9711
      start: 9693
    functionDepth: 0
    functionLinenumber: 9693
    functionLinenumberEnd: 9711
    functionName: wpas_p2p_disable_cross_connect
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_msg_global
    - os_strcmp
    linkageType: ''
    returnType: void
    signature: void wpas_p2p_disable_cross_connect(struct wpa_supplicant *uplink)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpas_p2p_disable_cross_connect
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9719,1
    - Dst: wpas_p2p_enable_cross_connect
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9721,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9723,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9724,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9725
      start: 9714
    functionDepth: 1
    functionLinenumber: 9714
    functionLinenumberEnd: 9725
    functionName: wpas_p2p_notif_connected
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 1
    functionsReached:
    - wpas_p2p_enable_cross_connect
    - eloop_cancel_timeout
    - wpa_printf
    - wpas_p2p_disable_cross_connect
    linkageType: ''
    returnType: void
    signature: void wpas_p2p_notif_connected(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_p2p_disable_cross_connect
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9730,1
    - Dst: eloop_is_timeout_registered
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9732,1
    - Dst: wpas_p2p_set_group_idle_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9734,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9735
      start: 9728
    functionDepth: 1
    functionLinenumber: 9728
    functionLinenumberEnd: 9735
    functionName: wpas_p2p_notif_disconnected
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 1
    functionsReached:
    - wpas_p2p_set_group_idle_timeout
    - eloop_is_timeout_registered
    - wpas_p2p_disable_cross_connect
    linkageType: ''
    returnType: void
    signature: void wpas_p2p_notif_disconnected(struct wpa_supplicant *wpa_s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_strlcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9756,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9758,1
    - Dst: wpa_msg_global
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9769,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 19
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9774
      start: 9738
    functionDepth: 0
    functionLinenumber: 9738
    functionLinenumberEnd: 9774
    functionName: wpas_p2p_cross_connect_setup
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - os_strlcpy
    - wpa_msg_global
    linkageType: ''
    returnType: void
    signature: void wpas_p2p_cross_connect_setup(struct wpa_supplicant *wpa_s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9783,1
    - Dst: wpa_msg_ctrl
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9786,1
    - Dst: wpas_p2p_group_formation_failed
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9787,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9789
      start: 9777
    functionDepth: 13
    functionLinenumber: 9777
    functionLinenumberEnd: 9789
    functionName: wpas_p2p_notif_pbc_overlap
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_msg_ctrl
    - wpa_printf
    - wpas_p2p_group_formation_failed
    linkageType: ''
    returnType: int
    signature: int wpas_p2p_notif_pbc_overlap(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_p2p_notif_pbc_overlap
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9795,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9796
      start: 9792
    functionDepth: 14
    functionLinenumber: 9792
    functionLinenumberEnd: 9796
    functionName: wpas_p2p_pbc_overlap_cb
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_p2p_notif_pbc_overlap
    linkageType: ''
    returnType: void
    signature: void wpas_p2p_pbc_overlap_cb(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_calloc
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9810,1
    - Dst: get_shared_radio_freqs_data
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9814,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9819,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9820,1
    - Dst: wpas_p2p_setup_channels
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9821,1
    - Dst: is_p2p_6ghz_disabled
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9822,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9823,1
    - Dst: p2p_update_channel_list
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9828,1
    - Dst: wpas_p2p_optimize_listen_channel
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9830,1
    - Dst: wpas_p2p_consider_moving_gos
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9838,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9840,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - wpa_s
    - trig
    argTypes:
    - struct wpa_supplicant*
    - enum wpas_p2p_channel_update_trig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9841
      start: 9799
    functionDepth: 6
    functionLinenumber: 9799
    functionLinenumberEnd: 9841
    functionName: wpas_p2p_update_channel_list
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 4
    functionsReached:
    - wpa_printf
    - os_calloc
    - wpas_p2p_setup_channels
    - wpas_p2p_consider_moving_gos
    - is_p2p_6ghz_disabled
    - wpas_p2p_optimize_listen_channel
    - get_shared_radio_freqs_data
    - os_free
    - p2p_update_channel_list
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void wpas_p2p_update_channel_list(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \ enum wpas_p2p_channel_update_trig trig)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9847,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - scan_res
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_scan_results*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9848
      start: 9844
    functionDepth: 0
    functionLinenumber: 9844
    functionLinenumberEnd: 9848
    functionName: wpas_p2p_scan_res_ignore
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: "void wpas_p2p_scan_res_ignore(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \    struct wpa_scan_results *scan_res)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9860,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9863,1
    - Dst: p2p_get_go_neg_peer
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9866,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9868,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9869,1
    - Dst: p2p_unauthorize
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9870,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9875,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9881,1
    - Dst: wpas_p2p_stop_find
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9886,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9893,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9897,1
    - Dst: wpas_group_formation_completed
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9900,1
    - Dst: wpas_p2p_group_delete
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9904,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9908,1
    - Dst: wpas_p2p_group_formation_failed
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9911,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9917,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9922
      start: 9851
    functionDepth: 13
    functionLinenumber: 9851
    functionLinenumberEnd: 9922
    functionName: wpas_p2p_cancel
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpas_p2p_stop_find
    - p2p_get_go_neg_peer
    - wpas_p2p_group_delete
    - eloop_cancel_timeout
    - p2p_unauthorize
    - is_zero_ether_addr
    - wpas_group_formation_completed
    - MAC2STR
    - wpas_p2p_group_formation_failed
    linkageType: ''
    returnType: int
    signature: int wpas_p2p_cancel(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9930,1
    - Dst: wpas_p2p_group_delete
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9932,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9933
      start: 9925
    functionDepth: 11
    functionLinenumber: 9925
    functionLinenumberEnd: 9933
    functionName: wpas_p2p_interface_unavailable
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpas_p2p_group_delete
    linkageType: ''
    returnType: void
    signature: void wpas_p2p_interface_unavailable(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: p2p_set_best_channels
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9942,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - wpa_s
    - freq_24
    - freq_5
    - freq_overall
    argTypes:
    - struct wpa_supplicant*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9943
      start: 9936
    functionDepth: 1
    functionLinenumber: 9936
    functionLinenumberEnd: 9943
    functionName: wpas_p2p_update_best_channels
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 1
    functionsReached:
    - p2p_set_best_channels
    linkageType: ''
    returnType: void
    signature: "void wpas_p2p_update_best_channels(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \  int freq_24, int freq_5, int freq_overall)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9954,1
    - Dst: p2p_unauthorize
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9957,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - wpa_s
    - addr
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9958
      start: 9946
    functionDepth: 1
    functionLinenumber: 9946
    functionLinenumberEnd: 9958
    functionName: wpas_p2p_unauthorize
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - hwaddr_aton
    - p2p_unauthorize
    linkageType: ''
    returnType: int
    signature: int wpas_p2p_unauthorize(struct wpa_supplicant *wpa_s, const char *addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_p2p_group_delete
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9978,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9980
      start: 9972
    functionDepth: 11
    functionLinenumber: 9972
    functionLinenumberEnd: 9980
    functionName: wpas_p2p_disconnect
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 5
    functionsReached:
    - wpas_p2p_group_delete
    linkageType: ''
    returnType: int
    signature: int wpas_p2p_disconnect(struct wpa_supplicant *wpa_s)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: p2p_in_progress
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:9990,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10000,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10005,1
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10013,1
    - Dst: os_reltime_expired
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10014,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10019,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10025
      start: 9983
    functionDepth: 1
    functionLinenumber: 9983
    functionLinenumberEnd: 10025
    functionName: wpas_p2p_in_progress
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 3
    functionsReached:
    - os_reltime_expired
    - os_get_reltime
    - p2p_in_progress
    - wpa_dbg
    linkageType: ''
    returnType: int
    signature: int wpas_p2p_in_progress(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10032,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10042,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10044,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - wpa_s
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10047
      start: 10028
    functionDepth: 0
    functionLinenumber: 10028
    functionLinenumberEnd: 10047
    functionName: wpas_p2p_network_removed
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 1
    functionsReached:
    - eloop_cancel_timeout
    - wpa_printf
    - eloop_register_timeout
    linkageType: ''
    returnType: void
    signature: "void wpas_p2p_network_removed(struct wpa_supplicant *wpa_s,\n\t\t\t
      \     struct wpa_ssid *ssid)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10062,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10069,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10074,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 21
    argCount: 4
    argNames:
    - wpa_s
    - addr
    - ssid
    - ssid_len
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10082
      start: 10050
    functionDepth: 1
    functionLinenumber: 10050
    functionLinenumberEnd: 10082
    functionName: wpas_p2p_get_persistent
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 7
    functionsReached:
    - ether_addr_equal
    - os_memcmp
    linkageType: ''
    returnType: struct wpa_ssid
    signature: "struct wpa_ssid * wpas_p2p_get_persistent(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \ const u8 *addr, const u8 *ssid,\n\t\t\t\t\t  size_t ssid_len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: p2p_get_dev_identity_key
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10104,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10108,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10109,1
    - Dst: wpa_auth_pmksa_get_pmk
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10110,1
    - Dst: p2p_get_interface_addr
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10112,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10115,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10117,1
    - Dst: wpa_auth_pmksa_get_pmk
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10118,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10123,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10125,1
    - Dst: wpas_p2p_store_identity
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10126,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - wpa_s
    - addr
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10128
      start: 10085
    functionDepth: 4
    functionLinenumber: 10085
    functionLinenumberEnd: 10128
    functionName: wpas_p2p_store_client_identity
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_p2p_store_identity
    - wpa_printf
    - p2p_get_interface_addr
    - MAC2STR
    - wpa_auth_pmksa_get_pmk
    - p2p_get_dev_identity_key
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_store_client_identity(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \ const u8 *addr)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10136,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10147,1
    - Dst: p2p_wps_success_cb
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10159,1
    - Dst: wpas_group_formation_completed
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10160,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10164,1
    - Dst: wpas_p2p_store_client_identity
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10175,1
    - Dst: wpas_p2p_add_persistent_group_client
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10176,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - wpa_s
    - addr
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10177
      start: 10131
    functionDepth: 12
    functionLinenumber: 10131
    functionLinenumberEnd: 10177
    functionName: wpas_p2p_notify_ap_sta_authorized
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 1
    functionsReached:
    - wpas_p2p_store_client_identity
    - wpa_printf
    - wpas_p2p_add_persistent_group_client
    - eloop_cancel_timeout
    - p2p_wps_success_cb
    - wpas_group_formation_completed
    - wpa_dbg
    linkageType: ''
    returnType: void
    signature: "void wpas_p2p_notify_ap_sta_authorized(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \      const u8 *addr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: offchannel_send_action_done
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10189,1
    - Dst: wpas_p2p_group_delete
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10191,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10192,1
    - Dst: wpas_p2p_connect
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10193,1
    - Dst: is_p2p_allow_6ghz
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - wpa_s
    - group_added
    argTypes:
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10207
      start: 10180
    functionDepth: 11
    functionLinenumber: 10180
    functionLinenumberEnd: 10207
    functionName: wpas_p2p_fallback_to_go_neg
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 3
    functionsReached:
    - wpas_p2p_group_delete
    - offchannel_send_action_done
    - is_p2p_allow_6ghz
    - wpas_p2p_connect
    - wpa_dbg
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_fallback_to_go_neg(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \      int group_added)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpas_p2p_peer_go
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10218,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10221,1
    - Dst: wpa_msg_global
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10223,1
    - Dst: wpas_p2p_fallback_to_go_neg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10225,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10228
      start: 10210
    functionDepth: 12
    functionLinenumber: 10210
    functionLinenumberEnd: 10228
    functionName: wpas_p2p_scan_no_go_seen
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 1
    functionsReached:
    - wpas_p2p_peer_go
    - wpa_msg_global
    - wpas_p2p_fallback_to_go_neg
    - wpa_dbg
    linkageType: ''
    returnType: int
    signature: int wpas_p2p_scan_no_go_seen(struct wpa_supplicant *wpa_s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10236,1
    - Dst: dl_list_for_each
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10242,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10245,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10255
      start: 10231
    functionDepth: 1
    functionLinenumber: 10231
    functionLinenumberEnd: 10255
    functionName: wpas_p2p_search_delay
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 2
    functionsReached:
    - dl_list_for_each
    - wpa_dbg
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int wpas_p2p_search_delay(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10265,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10268,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10270,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10271,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10274,1
    - Dst: dl_list_del
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10275,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10276,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 4
    argNames:
    - wpa_s
    - s
    - addr
    - iface_addr
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10282
      start: 10258
    functionDepth: 1
    functionLinenumber: 10258
    functionLinenumberEnd: 10282
    functionName: wpas_p2p_remove_psk_entry
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - dl_list_del
    - ether_addr_equal
    - MAC2STR
    - wpa_dbg
    - os_free
    - dl_list_for_each_safe
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_remove_psk_entry(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \    struct wpa_ssid *s, const u8 *addr,\n\t\t\t\t     int iface_addr)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10297,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10299,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10299,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10300,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10303,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10304,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10308,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10311,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10318,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10321,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10323,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10328,1
    - Dst: wpas_p2p_get_persistent
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10332,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10335,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10339,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10344,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10347,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10349,1
    - Dst: dl_list_len
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10351,1
    - Dst: dl_list_last
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10352,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10354,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10356,1
    - Dst: dl_list_del
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10357,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10358,1
    - Dst: wpas_p2p_remove_psk_entry
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10361,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10365,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10366,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10368,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10369,1
    - Dst: dl_list_add
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10371,1
    - Dst: wpa_config_write
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10374,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10375,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 62
    argCount: 5
    argNames:
    - wpa_s
    - mac_addr
    - p2p_dev_addr
    - psk
    - psk_len
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10376
      start: 10285
    functionDepth: 2
    functionLinenumber: 10285
    functionLinenumberEnd: 10376
    functionName: wpas_p2p_new_psk_cb
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    - wpa_printf
    - dl_list_del
    - is_zero_ether_addr
    - wpas_p2p_get_persistent
    - dl_list_last
    - wpas_p2p_remove_psk_entry
    - MAC2STR
    - os_zalloc
    - wpa_config_write
    - dl_list_add
    - wpa_dbg
    - os_free
    - dl_list_len
    linkageType: ''
    returnType: void
    signature: "void wpas_p2p_new_psk_cb(struct wpa_supplicant *wpa_s, const u8 *mac_addr,\n\t\t\t
      const u8 *p2p_dev_addr,\n\t\t\t const u8 *psk, size_t psk_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_p2p_remove_psk_entry
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10385,1
    - Dst: wpa_config_write
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10387,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10388,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 4
    argNames:
    - wpa_s
    - s
    - addr
    - iface_addr
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10390
      start: 10379
    functionDepth: 2
    functionLinenumber: 10379
    functionLinenumberEnd: 10390
    functionName: wpas_p2p_remove_psk
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_config_write
    - wpas_p2p_remove_psk_entry
    - wpa_dbg
    linkageType: ''
    returnType: void
    signature: "void wpas_p2p_remove_psk(struct wpa_supplicant *wpa_s,\n\t\t\t\tstruct
      wpa_ssid *s, const u8 *addr,\n\t\t\t\tint iface_addr)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10409,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10411,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10412,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10414,1
    - Dst: bin_clear_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10421,1
    - Dst: ap_get_sta
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10430,1
    - Dst: ap_get_sta_p2p
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10432,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10434,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10436,1
    - Dst: hostapd_drv_sta_deauth
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10437,1
    - Dst: ap_sta_deauthenticate
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10439,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 3
    argNames:
    - wpa_s
    - peer
    - iface_addr
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10441
      start: 10393
    functionDepth: 1
    functionLinenumber: 10393
    functionLinenumberEnd: 10441
    functionName: wpas_p2p_remove_client_go
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - ap_get_sta_p2p
    - ap_sta_deauthenticate
    - ether_addr_equal
    - hostapd_drv_sta_deauth
    - MAC2STR
    - ap_get_sta
    - wpa_dbg
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: "void wpas_p2p_remove_client_go(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \     const u8 *peer, int iface_addr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10451,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10451,1
    - Dst: wpas_remove_persistent_peer
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10458,1
    - Dst: wpas_p2p_remove_psk
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10459,1
    - Dst: wpas_p2p_remove_client_go
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10464,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - wpa_s
    - peer
    - iface_addr
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10465
      start: 10444
    functionDepth: 6
    functionLinenumber: 10444
    functionLinenumberEnd: 10465
    functionName: wpas_p2p_remove_client
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 1
    functionsReached:
    - wpas_p2p_remove_client_go
    - wpas_p2p_remove_psk
    - wpas_remove_persistent_peer
    - MAC2STR
    - wpa_dbg
    linkageType: ''
    returnType: void
    signature: "void wpas_p2p_remove_client(struct wpa_supplicant *wpa_s, const u8
      *peer,\n\t\t\t    int iface_addr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_p2p_group_delete
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10472
      start: 10468
    functionDepth: 11
    functionLinenumber: 10468
    functionLinenumberEnd: 10472
    functionName: wpas_p2p_psk_failure_removal
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_p2p_group_delete
    linkageType: ''
    returnType: void
    signature: void wpas_p2p_psk_failure_removal(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10479,1
    - Dst: wpas_p2p_group_delete
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10481
      start: 10475
    functionDepth: 11
    functionLinenumber: 10475
    functionLinenumberEnd: 10481
    functionName: wpas_p2p_group_freq_conflict
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpas_p2p_group_delete
    linkageType: ''
    returnType: void
    signature: void wpas_p2p_group_freq_conflict(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpas_is_p2p_prioritized
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10497,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10500,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10501,1
    - Dst: wpa_supplicant_disable_network
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10513,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10515,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10517,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - wpa_s
    - freq
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - int
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10529
      start: 10484
    functionDepth: 5
    functionLinenumber: 10484
    functionLinenumberEnd: 10529
    functionName: wpas_p2p_handle_frequency_conflicts
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_msg
    - wpas_is_p2p_prioritized
    - eloop_register_timeout
    - wpa_supplicant_disable_network
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_handle_frequency_conflicts(struct wpa_supplicant *wpa_s,
      int freq,\n\t\t\t\t\tstruct wpa_ssid *ssid)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpas_p2p_persistent_group
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10544,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10547,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10551,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10552,1
    - Dst: wpas_p2p_get_persistent
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10553,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10557,1
    - Dst: wpa_msg_global
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10560,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10570,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10577
      start: 10532
    functionDepth: 4
    functionLinenumber: 10532
    functionLinenumberEnd: 10577
    functionName: wpas_p2p_4way_hs_failed
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 1
    functionsReached:
    - wpas_p2p_get_persistent
    - MAC2STR
    - eloop_register_timeout
    - wpa_dbg
    - wpa_msg_global
    - wpas_p2p_persistent_group
    linkageType: ''
    returnType: int
    signature: int wpas_p2p_4way_hs_failed(struct wpa_supplicant *wpa_s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10589,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10590,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10594,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10595,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10595,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10597,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10598,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10602,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10604,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10605,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10605,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10606,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10608,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10609,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10610,1
    - Dst: ndef_build_p2p
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10615,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10616,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10618,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 3
    argNames:
    - ndef
    - wsc
    - p2p
    argTypes:
    - int
    - struct wpabuf*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10625
      start: 10582
    functionDepth: 1
    functionLinenumber: 10582
    functionLinenumberEnd: 10625
    functionName: wpas_p2p_nfc_handover
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_len
    - wpabuf_free
    - wpabuf_put_be16
    - wpabuf_alloc
    - wpabuf_put_buf
    - ndef_build_p2p
    - wpa_hexdump_buf
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * wpas_p2p_nfc_handover(int ndef, struct wpabuf *wsc,\n\t\t\t\t\t
      \    struct wpabuf *p2p)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10634,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10646,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 3
    argNames:
    - wpa_s
    - ssid
    - go_dev_addr
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid**
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10650
      start: 10628
    functionDepth: 0
    functionLinenumber: 10628
    functionLinenumberEnd: 10650
    functionName: wpas_p2p_cli_freq
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_cli_freq(struct wpa_supplicant *wpa_s,\n\t\t\t     struct
      wpa_ssid **ssid, u8 *go_dev_addr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpas_p2p_cli_freq
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10659,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10662,1
    - Dst: wps_nfc_gen_dh
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10667,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10669,1
    - Dst: wps_build_nfc_handover_req_p2p
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10676,1
    - Dst: p2p_build_nfc_handover_req
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10680,1
    - Dst: wpas_p2p_nfc_handover
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10684,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - wpa_s
    - ndef
    argTypes:
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10685
      start: 10653
    functionDepth: 2
    functionLinenumber: 10653
    functionLinenumberEnd: 10685
    functionName: wpas_p2p_nfc_handover_req
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 1
    functionsReached:
    - wpas_p2p_cli_freq
    - wpa_printf
    - p2p_build_nfc_handover_req
    - wpas_p2p_nfc_handover
    - wpa_dbg
    - wps_build_nfc_handover_req_p2p
    - wps_nfc_gen_dh
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * wpas_p2p_nfc_handover_req(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \ int ndef)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpas_p2p_cli_freq
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10694,1
    - Dst: wps_nfc_gen_dh
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10700,1
    - Dst: wps_build_nfc_handover_sel_p2p
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10707,1
    - Dst: p2p_build_nfc_handover_sel
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10715,1
    - Dst: wpas_p2p_nfc_handover
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10719,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - wpa_s
    - ndef
    - tag
    argTypes:
    - struct wpa_supplicant*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10720
      start: 10688
    functionDepth: 2
    functionLinenumber: 10688
    functionLinenumberEnd: 10720
    functionName: wpas_p2p_nfc_handover_sel
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 1
    functionsReached:
    - wpas_p2p_cli_freq
    - wpas_p2p_nfc_handover
    - wps_build_nfc_handover_sel_p2p
    - wps_nfc_gen_dh
    - p2p_build_nfc_handover_sel
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * wpas_p2p_nfc_handover_sel(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \ int ndef, int tag)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10726,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10733,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10734,1
    - Dst: wpas_p2p_join_start
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10736,1
    - Dst: wpas_p2p_connect
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10741,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - wpa_s
    - params
    argTypes:
    - struct wpa_supplicant*
    - struct p2p_nfc_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10749
      start: 10723
    functionDepth: 11
    functionLinenumber: 10723
    functionLinenumberEnd: 10749
    functionName: wpas_p2p_nfc_join_group
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_p2p_join_start
    - wpa_printf
    - os_memcpy
    - wpas_p2p_connect
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_nfc_join_group(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \  struct p2p_nfc_params *params)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10758,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10771,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10778,1
    - Dst: wpas_ap_wps_add_nfc_pw
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10781,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10790,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10798,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10799,1
    - Dst: wpas_p2p_get_persistent
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10803,1
    - Dst: p2p_invite
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10808,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 34
    argCount: 3
    argNames:
    - wpa_s
    - params
    - tag
    argTypes:
    - struct wpa_supplicant*
    - struct p2p_nfc_params*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10813
      start: 10752
    functionDepth: 2
    functionLinenumber: 10752
    functionLinenumberEnd: 10813
    functionName: wpas_p2p_nfc_auth_join
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpas_ap_wps_add_nfc_pw
    - wpas_p2p_get_persistent
    - MAC2STR
    - p2p_invite
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_nfc_auth_join(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \ struct p2p_nfc_params *params, int tag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10820,1
    - Dst: wpas_p2p_connect
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10822,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - wpa_s
    - params
    - forced_freq
    argTypes:
    - struct wpa_supplicant*
    - struct p2p_nfc_params*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10829
      start: 10816
    functionDepth: 11
    functionLinenumber: 10816
    functionLinenumberEnd: 10829
    functionName: wpas_p2p_nfc_init_go_neg
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpas_p2p_connect
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_nfc_init_go_neg(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \   struct p2p_nfc_params *params,\n\t\t\t\t    int forced_freq)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10838,1
    - Dst: wpas_p2p_connect
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10840,1
    - Dst: wpas_p2p_listen
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10850,1
    - Dst: p2p_unauthorize
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10852,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - wpa_s
    - params
    - forced_freq
    argTypes:
    - struct wpa_supplicant*
    - struct p2p_nfc_params*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10857
      start: 10832
    functionDepth: 11
    functionLinenumber: 10832
    functionLinenumberEnd: 10857
    functionName: wpas_p2p_nfc_resp_go_neg
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_p2p_listen
    - wpa_printf
    - p2p_unauthorize
    - wpas_p2p_connect
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_nfc_resp_go_neg(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \   struct p2p_nfc_params *params,\n\t\t\t\t    int forced_freq)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10869,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10872,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10874,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10875,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10878,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10882,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10885,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10894,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10898,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10901,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10909,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10911,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10914,1
    - Dst: p2p_process_nfc_connection_handover
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10919,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10927,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10928,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10933,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10934,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10937,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10939,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10940,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10943,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10945,1
    - Dst: wpas_p2p_cli_freq
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10951,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10952,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10953,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10957,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10961,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10966,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10967,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10968,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10970,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10978,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10982,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10984,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10989,1
    - Dst: wps_nfc_gen_dh
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:10997,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11001,1
    - Dst: wpas_p2p_nfc_join_group
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11013,1
    - Dst: wpas_p2p_nfc_auth_join
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11015,1
    - Dst: wpas_p2p_nfc_init_go_neg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11017,1
    - Dst: wpas_p2p_nfc_resp_go_neg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11020,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 102
    argCount: 5
    argNames:
    - wpa_s
    - data
    - sel
    - tag
    - forced_freq
    argTypes:
    - struct wpa_supplicant*
    - struct wpabuf*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11024
      start: 10860
    functionDepth: 12
    functionLinenumber: 10860
    functionLinenumberEnd: 11024
    functionName: wpas_p2p_nfc_connection_handover
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_hexdump
    - wpa_printf
    - WPA_GET_BE16
    - wpas_p2p_nfc_join_group
    - wpa_ssid_txt
    - wpas_p2p_nfc_auth_join
    - wpas_p2p_nfc_init_go_neg
    - wpa_hexdump_buf
    - wpa_hexdump_key
    - wpabuf_len
    - is_zero_ether_addr
    - wpabuf_alloc_copy
    - wpabuf_head
    - p2p_process_nfc_connection_handover
    - wps_nfc_gen_dh
    - os_memset
    - wpas_p2p_cli_freq
    - os_memcpy
    - wpa_msg
    - wpabuf_free
    - MAC2STR
    - wpas_p2p_nfc_resp_go_neg
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_nfc_connection_handover(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \   const struct wpabuf *data,\n\t\t\t\t\t    int sel, int tag, int forced_freq)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_p2p_nfc_connection_handover
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11033,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - wpa_s
    - data
    - forced_freq
    argTypes:
    - struct wpa_supplicant*
    - struct wpabuf*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11034
      start: 11027
    functionDepth: 13
    functionLinenumber: 11027
    functionLinenumberEnd: 11034
    functionName: wpas_p2p_nfc_tag_process
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 1
    functionsReached:
    - wpas_p2p_nfc_connection_handover
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_nfc_tag_process(struct wpa_supplicant *wpa_s,\n\t\t\t
      \    const struct wpabuf *data, int forced_freq)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11047,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11049,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11050,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11050,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11051,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11052,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11052,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11054,1
    - Dst: ndef_parse_p2p
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11055,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11057,1
    - Dst: wpas_p2p_nfc_connection_handover
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11061,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11063,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 5
    argNames:
    - wpa_s
    - init
    - req
    - sel
    - forced_freq
    argTypes:
    - struct wpa_supplicant*
    - int
    - struct wpabuf*
    - struct wpabuf*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11066
      start: 11037
    functionDepth: 13
    functionLinenumber: 11037
    functionLinenumberEnd: 11066
    functionName: wpas_p2p_nfc_report_handover
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpabuf_len
    - wpabuf_free
    - wpabuf_head
    - wpas_p2p_nfc_connection_handover
    - ndef_parse_p2p
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_nfc_report_handover(struct wpa_supplicant *wpa_s, int
      init,\n\t\t\t\t const struct wpabuf *req,\n\t\t\t\t const struct wpabuf *sel,
      int forced_freq)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11079,1
    - Dst: hostapd_wps_nfc_token_disable
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11084,1
    - Dst: p2p_set_authorized_oob_dev_pw_id
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11086,1
    - Dst: wpas_p2p_remove_pending_group_interface
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11089,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11101,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11106,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11109,1
    - Dst: wpabuf_dup
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11110,1
    - Dst: wpas_p2p_create_iface
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11123,1
    - Dst: wpas_p2p_add_group_interface
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11132,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11133,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11151,1
    - Dst: wpabuf_dup
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11153,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11154,1
    - Dst: wpabuf_dup
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11156,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11157,1
    - Dst: wpabuf_dup
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11159,1
    - Dst: hostapd_wps_nfc_token_enable
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11162,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11163,1
    - Dst: p2p_set_authorized_oob_dev_pw_id
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11167,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 65
    argCount: 2
    argNames:
    - wpa_s
    - enabled
    argTypes:
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11172
      start: 11069
    functionDepth: 3
    functionLinenumber: 11069
    functionLinenumberEnd: 11172
    functionName: wpas_p2p_nfc_tag_enabled
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 1
    functionsReached:
    - wpabuf_dup
    - wpa_printf
    - hostapd_wps_nfc_token_disable
    - wpabuf_free
    - hostapd_wps_nfc_token_enable
    - wpas_p2p_add_group_interface
    - wpas_p2p_create_iface
    - wpa_dbg
    - p2p_set_authorized_oob_dev_pw_id
    - wpas_p2p_remove_pending_group_interface
    linkageType: ''
    returnType: int
    signature: int wpas_p2p_nfc_tag_enabled(struct wpa_supplicant *wpa_s, int enabled)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: p2p_get_listen_channel
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11191,1
    - Dst: ieee80211_freq_to_chan
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11193,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11204,1
    - Dst: p2p_set_listen_channel
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11207,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - wpa_s
    - freqs
    - num
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_used_freq_data*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11209
      start: 11177
    functionDepth: 1
    functionLinenumber: 11177
    functionLinenumberEnd: 11209
    functionName: wpas_p2p_optimize_listen_channel
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 1
    functionsReached:
    - wpa_dbg
    - p2p_set_listen_channel
    - ieee80211_freq_to_chan
    - p2p_get_listen_channel
    linkageType: ''
    returnType: void
    signature: "void wpas_p2p_optimize_listen_channel(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \    struct wpa_used_freq_data *freqs,\n\t\t\t\t\t     unsigned int num)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11222,1
    - Dst: wpas_p2p_init_go_params
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11230,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11232,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11238,1
    - Dst: hostapd_config_defaults
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11243,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11245,1
    - Dst: wpa_supplicant_conf_ap_ht
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11251,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11252,1
    - Dst: is_6ghz_freq
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11260,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11262,1
    - Dst: is_6ghz_freq
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11265,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11271,1
    - Dst: ieee80211_freq_to_channel_ext
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11284,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11289,1
    - Dst: ieee80211_chan_to_freq
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11295,1
    - Dst: ieee80211_chan_to_freq
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11300,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11305,1
    - Dst: ap_switch_channel
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11328,1
    - Dst: hostapd_config_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11331,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 77
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11333
      start: 11212
    functionDepth: 6
    functionLinenumber: 11212
    functionLinenumberEnd: 11333
    functionName: wpas_p2p_move_go_csa
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - is_6ghz_freq
    - ieee80211_chan_to_freq
    - os_memset
    - ap_switch_channel
    - hostapd_config_free
    - wpas_p2p_init_go_params
    - ieee80211_freq_to_channel_ext
    - wpa_supplicant_conf_ap_ht
    - wpa_dbg
    - hostapd_config_defaults
    linkageType: ''
    returnType: int
    signature: int wpas_p2p_move_go_csa(struct wpa_supplicant *wpa_s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg_global
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11343,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11345,1
    - Dst: wpa_supplicant_ap_deinit
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11358,1
    - Dst: wpas_p2p_init_go_params
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11361,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11363,1
    - Dst: wpas_p2p_group_delete
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11364,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11368,1
    - Dst: p2p_supported_freq_go
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11372,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11373,1
    - Dst: wpas_p2p_group_delete
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11376,1
    - Dst: wpa_supplicant_req_scan
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11391,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11392
      start: 11336
    functionDepth: 11
    functionLinenumber: 11336
    functionLinenumberEnd: 11392
    functionName: wpas_p2p_move_go_no_csa
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpas_p2p_group_delete
    - wpa_supplicant_req_scan
    - wpa_supplicant_ap_deinit
    - p2p_supported_freq_go
    - wpas_p2p_init_go_params
    - wpa_dbg
    - wpa_msg_global
    linkageType: ''
    returnType: void
    signature: void wpas_p2p_move_go_no_csa(struct wpa_supplicant *wpa_s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpas_p2p_go_update_common_freqs
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11402,1
    - Dst: hostapd_csa_in_progress
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11405,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11406,1
    - Dst: wpas_p2p_move_go_csa
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11415,1
    - Dst: wpas_p2p_move_go_no_csa
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11416,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11417
      start: 11395
    functionDepth: 12
    functionLinenumber: 11395
    functionLinenumberEnd: 11417
    functionName: wpas_p2p_move_go
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpas_p2p_move_go_csa
    - wpas_p2p_move_go_no_csa
    - wpas_p2p_go_update_common_freqs
    - hostapd_csa_in_progress
    linkageType: ''
    returnType: void
    signature: void wpas_p2p_move_go(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_calloc
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11426,1
    - Dst: get_shared_radio_freqs_data
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11430,1
    - Dst: wpas_p2p_consider_moving_gos
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11433,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11436,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11437
      start: 11420
    functionDepth: 3
    functionLinenumber: 11420
    functionLinenumberEnd: 11437
    functionName: wpas_p2p_reconsider_moving_go
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_p2p_consider_moving_gos
    - os_free
    - get_shared_radio_freqs_data
    - os_calloc
    linkageType: ''
    returnType: void
    signature: void wpas_p2p_reconsider_moving_go(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: wpas_p2p_go_update_common_freqs
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11460,1
    - Dst: ieee80211_is_dfs
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11464,1
    - Dst: p2p_supported_freq_go
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11470,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11472,1
    - Dst: p2p_supported_freq
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11480,1
    - Dst: wpas_p2p_go_is_peer_freq
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11489,1
    - Dst: wpas_p2p_go_is_peer_freq
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11493,1
    - Dst: p2p_get_group_num_members
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11494,1
    - Dst: wpas_p2p_go_clients_support_ecsa
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11498,1
    - Dst: ieee80211_freq_to_chan
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11506,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11513,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11522,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11524,1
    - Dst: wpas_p2p_in_progress
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11526,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11527,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11529,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11531,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11539,1
    - Dst: hostapd_csa_in_progress
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11548,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11549,1
    - Dst: wpas_p2p_disallowed_freq
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11554,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11559,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11561,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11562,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 59
    argCount: 3
    argNames:
    - wpa_s
    - freqs
    - num
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_used_freq_data*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11563
      start: 11451
    functionDepth: 3
    functionLinenumber: 11451
    functionLinenumberEnd: 11563
    functionName: wpas_p2p_consider_moving_one_go
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_p2p_go_is_peer_freq
    - wpas_p2p_disallowed_freq
    - wpas_p2p_go_update_common_freqs
    - p2p_supported_freq
    - eloop_cancel_timeout
    - wpas_p2p_in_progress
    - hostapd_csa_in_progress
    - p2p_supported_freq_go
    - p2p_get_group_num_members
    - wpas_p2p_go_clients_support_ecsa
    - eloop_register_timeout
    - wpa_dbg
    - ieee80211_freq_to_chan
    - ieee80211_is_dfs
    linkageType: ''
    returnType: void
    signature: "void wpas_p2p_consider_moving_one_go(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \   struct wpa_used_freq_data *freqs,\n\t\t\t\t\t    unsigned int num)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11573,1
    - Dst: dl_list_for_each
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11581,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11594,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11596,1
    - Dst: wpas_p2p_consider_moving_one_go
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11602,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 4
    argNames:
    - wpa_s
    - freqs
    - num
    - trig
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_used_freq_data*
    - unsigned int
    - enum wpas_p2p_channel_update_trig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11604
      start: 11566
    functionDepth: 4
    functionLinenumber: 11566
    functionLinenumberEnd: 11604
    functionName: wpas_p2p_consider_moving_gos
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 2
    functionsReached:
    - eloop_cancel_timeout
    - dl_list_for_each
    - eloop_register_timeout
    - wpa_dbg
    - wpas_p2p_consider_moving_one_go
    linkageType: ''
    returnType: void
    signature: "void wpas_p2p_consider_moving_gos(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      struct wpa_used_freq_data *freqs,\n\t\t\t\t\t unsigned int num,\n\t\t\t\t\t
      enum wpas_p2p_channel_update_trig trig)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_p2p_update_channel_list
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11612,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11614
      start: 11607
    functionDepth: 0
    functionLinenumber: 11607
    functionLinenumberEnd: 11614
    functionName: wpas_p2p_indicate_state_change
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 1
    functionsReached:
    - wpas_p2p_update_channel_list
    linkageType: ''
    returnType: void
    signature: void wpas_p2p_indicate_state_change(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11620,1
    - Dst: wpas_p2p_deinit_global
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11622,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11624
      start: 11617
    functionDepth: 4
    functionLinenumber: 11617
    functionLinenumberEnd: 11624
    functionName: wpas_p2p_deinit_iface
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 1
    functionsReached:
    - wpas_p2p_deinit_global
    - wpa_dbg
    linkageType: ''
    returnType: void
    signature: void wpas_p2p_deinit_iface(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_p2p_group_deinit
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11631,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11632
      start: 11627
    functionDepth: 2
    functionLinenumber: 11627
    functionLinenumberEnd: 11632
    functionName: wpas_p2p_ap_deinit
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 1
    functionsReached:
    - wpas_p2p_group_deinit
    linkageType: ''
    returnType: void
    signature: void wpas_p2p_ap_deinit(struct wpa_supplicant *wpa_s)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11646,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11653,1
    - Dst: p2p_supported_freq
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11657,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11658,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11666,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11669,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11670,1
    - Dst: p2p_build_probe_resp_template
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11674,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11676,1
    - Dst: wpa_drv_p2p_lo_start
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11680,1
    - Dst: wpabuf_mhead_u8
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11682,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11682,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11684,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11687,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11688,1
    - Dst: wpas_stop_listen
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11694,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 5
    argNames:
    - wpa_s
    - freq
    - period
    - interval
    - count
    argTypes:
    - struct wpa_supplicant*
    - unsigned int
    - unsigned int
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11698
      start: 11635
    functionDepth: 5
    functionLinenumber: 11635
    functionLinenumberEnd: 11698
    functionName: wpas_p2p_lo_start
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpas_stop_listen
    - wpabuf_mhead_u8
    - p2p_supported_freq
    - wpa_drv_p2p_lo_start
    - wpabuf_len
    - os_malloc
    - wpabuf_free
    - p2p_build_probe_resp_template
    - wpa_dbg
    - os_free
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_lo_start(struct wpa_supplicant *wpa_s, unsigned int freq,\n\t\t
      \     unsigned int period, unsigned int interval,\n\t\t      unsigned int count)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_p2p_lo_stop
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11708,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11710,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11715
      start: 11701
    functionDepth: 1
    functionLinenumber: 11701
    functionLinenumberEnd: 11715
    functionName: wpas_p2p_lo_stop
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_drv_p2p_lo_stop
    - wpa_dbg
    linkageType: ''
    returnType: int
    signature: int wpas_p2p_lo_stop(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: p2p_usd_service_hash
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11725,1
    - Dst: p2p_usd_elems
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11726,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - wpa_s
    - service_name
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11727
      start: 11718
    functionDepth: 1
    functionLinenumber: 11718
    functionLinenumberEnd: 11727
    functionName: wpas_p2p_usd_elems
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 2
    functionsReached:
    - p2p_usd_service_hash
    - p2p_usd_elems
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * wpas_p2p_usd_elems(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \  const char *service_name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: p2p_process_usd_elems
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11738,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 5
    argNames:
    - wpa_s
    - buf
    - buf_len
    - peer_addr
    - freq
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u16
    - u8*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11739
      start: 11730
    functionDepth: 1
    functionLinenumber: 11730
    functionLinenumberEnd: 11739
    functionName: wpas_p2p_process_usd_elems
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 1
    functionsReached:
    - p2p_process_usd_elems
    linkageType: ''
    returnType: void
    signature: "void wpas_p2p_process_usd_elems(struct wpa_supplicant *wpa_s, const
      u8 *buf,\n\t\t\t\tu16 buf_len, const u8 *peer_addr,\n\t\t\t\tunsigned int freq)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: p2p_pasn_auth_rx
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11756,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - wpa_s
    - mgmt
    - len
    - freq
    argTypes:
    - struct wpa_supplicant*
    - struct ieee80211_mgmt*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11757
      start: 11744
    functionDepth: 1
    functionLinenumber: 11744
    functionLinenumberEnd: 11757
    functionName: wpas_p2p_pasn_auth_rx
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - p2p_pasn_auth_rx
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_pasn_auth_rx(struct wpa_supplicant *wpa_s,\n\t\t\t  const
      struct ieee80211_mgmt *mgmt, size_t len,\n\t\t\t  int freq)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: p2p_pasn_auth_tx_status
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11770,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - wpa_s
    - data
    - data_len
    - acked
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11772
      start: 11760
    functionDepth: 1
    functionLinenumber: 11760
    functionLinenumberEnd: 11772
    functionName: wpas_p2p_pasn_auth_tx_status
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 1
    functionsReached:
    - p2p_pasn_auth_tx_status
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_pasn_auth_tx_status(struct wpa_supplicant *wpa_s, const
      u8 *data,\n\t\t\t\t size_t data_len, bool acked)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: p2p_pasn_get_ptk
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11783,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - wpa_s
    - ptk
    - ptk_len
    argTypes:
    - struct wpa_supplicant*
    - u8**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11784
      start: 11776
    functionDepth: 1
    functionLinenumber: 11776
    functionLinenumberEnd: 11784
    functionName: wpas_p2p_get_pasn_ptk
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 1
    functionsReached:
    - p2p_pasn_get_ptk
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_get_pasn_ptk(struct wpa_supplicant *wpa_s, const u8 **ptk,\n\t\t\t
      \ size_t *ptk_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: p2p_get_dira_info
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11796,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - wpa_s
    - buf
    - buf_len
    argTypes:
    - struct wpa_supplicant*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11797
      start: 11790
    functionDepth: 1
    functionLinenumber: 11790
    functionLinenumberEnd: 11797
    functionName: wpas_p2p_get_dira
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - p2p_get_dira_info
    linkageType: ''
    returnType: int
    signature: int wpas_p2p_get_dira(struct wpa_supplicant *wpa_s, char *buf, size_t
      buf_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11804,1
    - Dst: wpas_validate_dira
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11809,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - wpa_s
    - addr
    - cipher
    - nonce
    - tag
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11810
      start: 11800
    functionDepth: 2
    functionLinenumber: 11800
    functionLinenumberEnd: 11810
    functionName: wpas_p2p_validate_dira
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpas_validate_dira
    linkageType: ''
    returnType: int
    signature: "int wpas_p2p_validate_dira(struct wpa_supplicant *wpa_s, const u8
      *addr,\n\t\t\t   u8 cipher, const u8 *nonce, const u8 *tag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11815,1
    - Dst: p2p_set_dev_addr
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11817
      start: 11813
    functionDepth: 1
    functionLinenumber: 11813
    functionLinenumberEnd: 11817
    functionName: wpas_p2p_update_dev_addr
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 2
    functionsReached:
    - p2p_set_dev_addr
    - os_memcpy
    linkageType: ''
    returnType: void
    signature: void wpas_p2p_update_dev_addr(struct wpa_supplicant *wpa_s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11822,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11826,1
    - Dst: wpa_supplicant_remove_iface
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11832,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11836,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11839
      start: 11820
    functionDepth: 6
    functionLinenumber: 11820
    functionLinenumberEnd: 11839
    functionName: wpas_p2p_set_disabled
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_remove_iface
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void wpas_p2p_set_disabled(struct wpa_supplicant *wpa_s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11844,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11848,1
    - Dst: wpas_p2p_add_p2pdev_interface
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11852,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11854,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11858,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11861
      start: 11842
    functionDepth: 13
    functionLinenumber: 11842
    functionLinenumberEnd: 11861
    functionName: wpas_p2p_set_enabled
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpas_p2p_add_p2pdev_interface
    linkageType: ''
    returnType: void
    signature: void wpas_p2p_set_enabled(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_p2p_set_disabled
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11867,1
    - Dst: wpas_p2p_set_enabled
      Src: /src/hostap/wpa_supplicant/p2p_supplicant.c:11869,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11870
      start: 11864
    functionDepth: 14
    functionLinenumber: 11864
    functionLinenumberEnd: 11870
    functionName: wpas_p2p_disabled_changed
    functionSourceFile: /src/hostap/wpa_supplicant/p2p_supplicant.c
    functionUses: 1
    functionsReached:
    - wpas_p2p_set_enabled
    - wpas_p2p_set_disabled
    linkageType: ''
    returnType: void
    signature: void wpas_p2p_disabled_changed(struct wpa_supplicant *wpa_s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dpp_add_qr_code
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:83,1
    - Dst: dpp_notify_new_qr_code
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:88,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:89,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:91,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:93,1
    - Dst: offchannel_send_action
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:95,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:98,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:99,1
    - Dst: dpp_controller_new_qr_code
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 78
    functionDepth: 3
    functionLinenumber: 78
    functionLinenumberEnd: 108
    functionName: wpas_dpp_qr_code
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - dpp_add_qr_code
    - dpp_notify_new_qr_code
    - wpa_printf
    - offchannel_send_action
    - wpa_msg
    - wpabuf_len
    - wpabuf_head
    - MAC2STR
    - dpp_controller_new_qr_code
    linkageType: ''
    returnType: int
    signature: int wpas_dpp_qr_code(struct wpa_supplicant *wpa_s, const char *cmd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dpp_add_nfc_uri
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 126
    functionName: wpas_dpp_nfc_uri
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - dpp_add_nfc_uri
    linkageType: ''
    returnType: int
    signature: int wpas_dpp_nfc_uri(struct wpa_supplicant *wpa_s, const char *cmd)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:134,1
    - Dst: dpp_bootstrap_get_id
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:138,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:138,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:143,1
    - Dst: dpp_add_nfc_uri
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:147,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:149,1
    - Dst: dpp_nfc_update_bi
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:154,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 158
    functionName: wpas_dpp_nfc_handover_req
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dpp_add_nfc_uri
    - os_strstr
    - dpp_nfc_update_bi
    - atoi
    - dpp_bootstrap_get_id
    linkageType: ''
    returnType: int
    signature: int wpas_dpp_nfc_handover_req(struct wpa_supplicant *wpa_s, const char
      *cmd)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:166,1
    - Dst: dpp_bootstrap_get_id
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:170,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:170,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:175,1
    - Dst: dpp_add_nfc_uri
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:179,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:181,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:187,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 193
    functionName: wpas_dpp_nfc_handover_sel
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dpp_add_nfc_uri
    - os_strstr
    - atoi
    - dpp_bootstrap_get_id
    linkageType: ''
    returnType: int
    signature: int wpas_dpp_nfc_handover_sel(struct wpa_supplicant *wpa_s, const char
      *cmd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:204,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:206,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:208,1
    - Dst: offchannel_send_action
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:210,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:212,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 196
    functionDepth: 3
    functionLinenumber: 196
    functionLinenumberEnd: 215
    functionName: wpas_dpp_auth_resp_retry_timeout
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - offchannel_send_action
    - wpa_msg
    - wpabuf_len
    - wpabuf_head
    - MAC2STR
    linkageType: ''
    returnType: void
    signature: void wpas_dpp_auth_resp_retry_timeout(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:232,1
    - Dst: offchannel_send_action_done
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:233,1
    - Dst: dpp_auth_deinit
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:234,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:249,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:252,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:253,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 256
    functionName: wpas_dpp_auth_resp_retry
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dpp_auth_deinit
    - offchannel_send_action_done
    - eloop_cancel_timeout
    - eloop_register_timeout
    linkageType: ''
    returnType: void
    signature: void wpas_dpp_auth_resp_retry(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:261,1
    - Dst: wpa_supplicant_cancel_sched_scan
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:268,1
    - Dst: wpa_supplicant_req_scan
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 259
    functionDepth: 3
    functionLinenumber: 259
    functionLinenumberEnd: 270
    functionName: wpas_dpp_try_to_connect
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_cancel_sched_scan
    - wpa_printf
    - wpa_supplicant_req_scan
    linkageType: ''
    returnType: void
    signature: void wpas_dpp_try_to_connect(struct wpa_supplicant *wpa_s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:285,1
    - Dst: os_reltime_before
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:286,1
    - Dst: os_reltime_sub
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:287,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:295,1
    - Dst: wpas_dpp_listen_stop
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:298,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - wpa_s
    - freq
    - wait_time
    argTypes:
    - struct wpa_supplicant*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 301
    functionName: wpas_dpp_stop_listen_for_tx
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - os_get_reltime
    - wpa_printf
    - os_reltime_sub
    - wpas_dpp_listen_stop
    - os_reltime_before
    linkageType: ''
    returnType: void
    signature: "void wpas_dpp_stop_listen_for_tx(struct wpa_supplicant *wpa_s,\n\t\t\t\t\tunsigned
      int freq,\n\t\t\t\t\tunsigned int wait_time)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dpp_tcp_conn_status_requested
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:312,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:315,1
    - Dst: wpas_abort_ongoing_scan
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:324,1
    - Dst: wpas_dpp_send_conn_status_result
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:325,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 304
    functionDepth: 2
    functionLinenumber: 304
    functionLinenumberEnd: 326
    functionName: wpas_dpp_conn_status_result_timeout
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - dpp_tcp_conn_status_requested
    - wpa_printf
    - wpas_dpp_send_conn_status_result
    - wpas_abort_ongoing_scan
    linkageType: ''
    returnType: void
    signature: "void wpas_dpp_conn_status_result_timeout(void *eloop_ctx,\n\t\t\t\t\t\tvoid
      *timeout_ctx)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: int_array_len
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:337,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:341,1
    - Dst: ieee80211_freq_to_channel_ext
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:351,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:356,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:358,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:361,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:370,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 374
    functionName: wpas_dpp_scan_channel_list
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - int_array_len
    - ieee80211_freq_to_channel_ext
    - os_zalloc
    - os_free
    - os_snprintf_error
    linkageType: ''
    returnType: char
    signature: char * wpas_dpp_scan_channel_list(struct wpa_supplicant *wpa_s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:386,1
    - Dst: dpp_tcp_conn_status_requested
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:389,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:392,1
    - Dst: wpas_dpp_scan_channel_list
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:396,1
    - Dst: dpp_tcp_send_conn_status
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:401,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:407,1
    - Dst: dpp_build_conn_status_result
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:413,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:419,1
    - Dst: dpp_auth_deinit
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:421,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:426,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:428,1
    - Dst: offchannel_send_action
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:430,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:432,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:432,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:434,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - wpa_s
    - result
    argTypes:
    - struct wpa_supplicant*
    - enum dpp_status_error
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 377
    functionDepth: 3
    functionLinenumber: 377
    functionLinenumberEnd: 440
    functionName: wpas_dpp_send_conn_status_result
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 2
    functionsReached:
    - dpp_tcp_conn_status_requested
    - wpa_printf
    - dpp_tcp_send_conn_status
    - dpp_auth_deinit
    - offchannel_send_action
    - wpa_msg
    - eloop_cancel_timeout
    - wpabuf_len
    - wpabuf_free
    - wpabuf_head
    - MAC2STR
    - wpas_dpp_scan_channel_list
    - dpp_build_conn_status_result
    - os_free
    linkageType: ''
    returnType: void
    signature: "void wpas_dpp_send_conn_status_result(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \     enum dpp_status_error result)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dpp_tcp_conn_status_requested
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:449,1
    - Dst: wpas_dpp_send_conn_status_result
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:450,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 443
    functionDepth: 4
    functionLinenumber: 443
    functionLinenumberEnd: 451
    functionName: wpas_dpp_connected_timeout
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - dpp_tcp_conn_status_requested
    - wpas_dpp_send_conn_status_result
    linkageType: ''
    returnType: void
    signature: void wpas_dpp_connected_timeout(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dpp_tcp_conn_status_requested
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:459,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:464,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 467
    functionName: wpas_dpp_connected
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 1
    functionsReached:
    - dpp_tcp_conn_status_requested
    - eloop_register_timeout
    linkageType: ''
    returnType: void
    signature: void wpas_dpp_connected(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:478,1
    - Dst: wpas_dpp_auth_init_next
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:481,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:483,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 472
    functionDepth: 1
    functionLinenumber: 472
    functionLinenumberEnd: 486
    functionName: wpas_dpp_drv_wait_timeout
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_dpp_auth_init_next
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void wpas_dpp_drv_wait_timeout(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:497,1
    - Dst: wpas_dpp_listen_start
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:500,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 489
    functionDepth: 1
    functionLinenumber: 489
    functionLinenumberEnd: 501
    functionName: wpas_dpp_neg_freq_timeout
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpas_dpp_listen_start
    linkageType: ''
    returnType: void
    signature: void wpas_dpp_neg_freq_timeout(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:516,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:517,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:518,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:519,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:522,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:530,1
    - Dst: wpas_dpp_try_to_connect
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:532,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:534,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:536,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:539,1
    - Dst: dpp_auth_deinit
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:543,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:551,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:553,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:554,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:555,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:557,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:560,1
    - Dst: offchannel_send_action_done
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:563,1
    - Dst: dpp_auth_deinit
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:564,1
    - Dst: wpas_dpp_auth_success
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:570,1
    - Dst: is_broadcast_ether_addr
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:572,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:574,1
    - Dst: offchannel_send_action_done
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:579,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:583,1
    - Dst: wpas_dpp_auth_resp_retry
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:589,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:599,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:601,1
    - Dst: is_broadcast_ether_addr
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:605,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:614,1
    - Dst: offchannel_send_action_done
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:618,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:620,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 63
    argCount: 8
    argNames:
    - wpa_s
    - freq
    - dst
    - src
    - bssid
    - data
    - data_len
    - result
    argTypes:
    - struct wpa_supplicant*
    - unsigned int
    - u8*
    - u8*
    - u8*
    - u8*
    - size_t
    - enum offchannel_send_action_result
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 504
    functionDepth: 4
    functionLinenumber: 504
    functionLinenumberEnd: 626
    functionName: wpas_dpp_tx_status
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dpp_auth_deinit
    - wpas_dpp_auth_success
    - wpa_msg
    - eloop_cancel_timeout
    - offchannel_send_action_done
    - is_broadcast_ether_addr
    - wpas_dpp_try_to_connect
    - wpas_dpp_auth_resp_retry
    - MAC2STR
    - eloop_register_timeout
    linkageType: ''
    returnType: void
    signature: "void wpas_dpp_tx_status(struct wpa_supplicant *wpa_s,\n\t\t\t       unsigned
      int freq, const u8 *dst,\n\t\t\t       const u8 *src, const u8 *bssid,\n\t\t\t
      \      const u8 *data, size_t data_len,\n\t\t\t       enum offchannel_send_action_result
      result)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:642,1
    - Dst: os_reltime_sub
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:643,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:645,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:652,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:654,1
    - Dst: offchannel_send_action_done
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:655,1
    - Dst: wpas_dpp_listen_stop
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:656,1
    - Dst: dpp_auth_deinit
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:657,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:665,1
    - Dst: offchannel_send_action_done
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:667,1
    - Dst: wpas_dpp_listen_stop
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:668,1
    - Dst: wpas_dpp_auth_init_next
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:669,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:684,1
    - Dst: wpas_dpp_listen_start
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:688,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:690,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 629
    functionDepth: 2
    functionLinenumber: 629
    functionLinenumberEnd: 692
    functionName: wpas_dpp_reply_wait_timeout
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - os_get_reltime
    - wpa_printf
    - dpp_auth_deinit
    - offchannel_send_action_done
    - wpa_msg
    - wpas_dpp_listen_start
    - wpas_dpp_auth_init_next
    - os_reltime_sub
    - wpas_dpp_listen_stop
    - eloop_register_timeout
    linkageType: ''
    returnType: void
    signature: void wpas_dpp_reply_wait_timeout(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:703,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:705,1
    - Dst: offchannel_send_action_done
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:706,1
    - Dst: dpp_auth_deinit
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:707,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 695
    functionDepth: 2
    functionLinenumber: 695
    functionLinenumberEnd: 709
    functionName: wpas_dpp_auth_conf_wait_timeout
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - dpp_auth_deinit
    - wpa_printf
    - offchannel_send_action_done
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: void wpas_dpp_auth_conf_wait_timeout(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:718,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:721,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:724,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - wpa_s
    - auth
    argTypes:
    - struct wpa_supplicant*
    - struct dpp_authentication*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 728
    functionName: wpas_dpp_set_testing_options
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - os_strdup
    linkageType: ''
    returnType: void
    signature: "void wpas_dpp_set_testing_options(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      struct dpp_authentication *auth)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:737,1
    - Dst: wpas_dpp_auth_init_next
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:738,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 731
    functionDepth: 1
    functionLinenumber: 731
    functionLinenumberEnd: 739
    functionName: wpas_dpp_init_timeout
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_dpp_auth_init_next
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void wpas_dpp_init_timeout(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:749,1
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:756,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:765,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:767,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:768,1
    - Dst: offchannel_send_action_done
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:770,1
    - Dst: dpp_auth_deinit
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:771,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:776,1
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:781,1
    - Dst: os_reltime_sub
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:782,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:788,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:790,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:799,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:801,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:806,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:813,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:818,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:822,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:823,1
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:825,1
    - Dst: offchannel_send_action
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:826,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:828,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:829,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 59
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 742
    functionDepth: 3
    functionLinenumber: 742
    functionLinenumberEnd: 831
    functionName: wpas_dpp_auth_init_next
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 3
    functionsReached:
    - os_get_reltime
    - wpa_printf
    - dpp_auth_deinit
    - offchannel_send_action
    - offchannel_send_action_done
    - eloop_cancel_timeout
    - wpa_msg
    - wpabuf_len
    - is_zero_ether_addr
    - wpabuf_head
    - MAC2STR
    - os_reltime_sub
    - eloop_register_timeout
    linkageType: ''
    returnType: int
    signature: int wpas_dpp_auth_init_next(struct wpa_supplicant *wpa_s)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:851,1
    - Dst: dpp_bootstrap_get_id
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:855,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:855,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:857,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:863,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:866,1
    - Dst: get_param
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:869,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:870,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:871,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:873,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:878,1
    - Dst: hostapd_parse_ip_addr
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:883,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:884,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:891,1
    - Dst: dpp_bootstrap_get_id
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:894,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:894,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:896,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:902,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:909,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:912,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:914,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:916,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:923,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:926,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:928,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:936,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:938,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:941,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:942,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:943,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:945,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:948,1
    - Dst: offchannel_send_action_done
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:951,1
    - Dst: dpp_auth_deinit
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:952,1
    - Dst: dpp_auth_init
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:956,1
    - Dst: wpas_dpp_set_testing_options
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:960,1
    - Dst: dpp_set_configurator
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:961,1
    - Dst: dpp_auth_deinit
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:962,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:968,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:969,1
    - Dst: dpp_tcp_init
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:973,1
    - Dst: wpas_dpp_auth_init_next
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:983,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 104
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 834
    functionDepth: 4
    functionLinenumber: 834
    functionLinenumberEnd: 986
    functionName: wpas_dpp_auth_init
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - dpp_auth_deinit
    - atoi
    - hostapd_parse_ip_addr
    - wpa_printf
    - os_strstr
    - dpp_auth_init
    - dpp_set_configurator
    - os_free
    - dpp_bootstrap_get_id
    - os_strcmp
    - dpp_tcp_init
    - is_zero_ether_addr
    - wpas_dpp_auth_init_next
    - get_param
    - os_memcpy
    - wpas_dpp_set_testing_options
    - offchannel_send_action_done
    - eloop_cancel_timeout
    - os_strncmp
    linkageType: ''
    returnType: int
    signature: int wpas_dpp_auth_init(struct wpa_supplicant *wpa_s, const char *cmd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1000,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - lwork
    argTypes:
    - struct wpas_dpp_listen_work*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 996
    functionDepth: 0
    functionLinenumber: 996
    functionLinenumberEnd: 1001
    functionName: wpas_dpp_listen_work_free
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - os_free
    linkageType: ''
    returnType: void
    signature: void wpas_dpp_listen_work_free(struct wpas_dpp_listen_work *lwork)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dpp_listen_work_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1012,1
    - Dst: radio_work_done
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1013,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 1004
    functionDepth: 3
    functionLinenumber: 1004
    functionLinenumberEnd: 1015
    functionName: wpas_dpp_listen_work_done
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - radio_work_done
    - wpas_dpp_listen_work_free
    linkageType: ''
    returnType: void
    signature: void wpas_dpp_listen_work_done(struct wpa_supplicant *wpa_s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dpp_listen_stop
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1026,1
    - Dst: wpas_dpp_listen_work_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1028,1
    - Dst: wpa_drv_remain_on_channel
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1036,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1038,1
    - Dst: wpas_dpp_listen_work_done
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1042,1
    - Dst: wpa_drv_dpp_listen
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1048,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - work
    - deinit
    argTypes:
    - struct wpa_radio_work*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1018
    functionDepth: 4
    functionLinenumber: 1018
    functionLinenumberEnd: 1051
    functionName: dpp_start_listen_cb
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpas_dpp_listen_work_done
    - wpa_drv_remain_on_channel
    - wpas_dpp_listen_stop
    - wpa_drv_dpp_listen
    - wpas_dpp_listen_work_free
    linkageType: ''
    returnType: void
    signature: void dpp_start_listen_cb(struct wpa_radio_work *work, int deinit)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1060,1
    - Dst: wpas_dpp_listen_stop
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1066,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1069,1
    - Dst: radio_add_work
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1074,1
    - Dst: wpas_dpp_listen_work_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1076,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - wpa_s
    - freq
    argTypes:
    - struct wpa_supplicant*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1054
    functionDepth: 3
    functionLinenumber: 1054
    functionLinenumberEnd: 1081
    functionName: wpas_dpp_listen_start
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - radio_add_work
    - os_zalloc
    - wpas_dpp_listen_stop
    - wpas_dpp_listen_work_free
    linkageType: ''
    returnType: int
    signature: "int wpas_dpp_listen_start(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      unsigned int freq)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1088,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1092,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1094,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1099,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1100,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1102,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1107,1
    - Dst: wpas_dpp_listen_start
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1112,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1113
      start: 1084
    functionDepth: 4
    functionLinenumber: 1084
    functionLinenumberEnd: 1113
    functionName: wpas_dpp_listen
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - atoi
    - wpa_printf
    - wpas_dpp_listen_start
    - os_strstr
    linkageType: ''
    returnType: int
    signature: int wpas_dpp_listen(struct wpa_supplicant *wpa_s, const char *cmd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1122,1
    - Dst: wpa_drv_cancel_remain_on_channel
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1124,1
    - Dst: wpa_drv_dpp_listen
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1125,1
    - Dst: wpas_dpp_listen_work_done
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1127,1
    - Dst: radio_remove_works
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1129
      start: 1116
    functionDepth: 4
    functionLinenumber: 1116
    functionLinenumberEnd: 1129
    functionName: wpas_dpp_listen_stop
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 4
    functionsReached:
    - wpa_printf
    - wpas_dpp_listen_work_done
    - wpa_drv_dpp_listen
    - wpa_drv_cancel_remain_on_channel
    - radio_remove_works
    linkageType: ''
    returnType: void
    signature: void wpas_dpp_listen_stop(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1138,1
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - wpa_s
    - freq
    - duration
    argTypes:
    - struct wpa_supplicant*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1147
      start: 1132
    functionDepth: 0
    functionLinenumber: 1132
    functionLinenumberEnd: 1147
    functionName: wpas_dpp_remain_on_channel_cb
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 1
    functionsReached:
    - os_get_reltime
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: "void wpas_dpp_remain_on_channel_cb(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \  unsigned int freq, unsigned int duration)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1157,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1158,1
    - Dst: offchannel_send_action
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1160,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1162,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1165
      start: 1150
    functionDepth: 3
    functionLinenumber: 1150
    functionLinenumberEnd: 1165
    functionName: wpas_dpp_tx_auth_resp
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - offchannel_send_action
    - wpa_msg
    - wpabuf_len
    - wpabuf_head
    - MAC2STR
    linkageType: ''
    returnType: void
    signature: void wpas_dpp_tx_auth_resp(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1179,1
    - Dst: wpas_dpp_tx_auth_resp
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1182
      start: 1168
    functionDepth: 4
    functionLinenumber: 1168
    functionLinenumberEnd: 1182
    functionName: wpas_dpp_tx_auth_resp_roc_timeout
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_dpp_tx_auth_resp
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: "void wpas_dpp_tx_auth_resp_roc_timeout(void *eloop_ctx,\n\t\t\t\t\t
      \     void *timeout_ctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1188,1
    - Dst: wpas_dpp_listen_work_done
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1189,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1192,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1196,1
    - Dst: wpas_dpp_tx_auth_resp
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1198,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1210,1
    - Dst: wpas_dpp_listen_start
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1213,1
    - Dst: wpas_dpp_listen_start
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1219,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - wpa_s
    - freq
    argTypes:
    - struct wpa_supplicant*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1221
      start: 1185
    functionDepth: 4
    functionLinenumber: 1185
    functionLinenumberEnd: 1221
    functionName: wpas_dpp_cancel_remain_on_channel_cb
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 1
    functionsReached:
    - wpas_dpp_tx_auth_resp
    - wpa_printf
    - wpas_dpp_listen_work_done
    - eloop_cancel_timeout
    - wpas_dpp_listen_start
    linkageType: ''
    returnType: void
    signature: "void wpas_dpp_cancel_remain_on_channel_cb(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \ unsigned int freq)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1235,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1236,1
    - Dst: wpas_dpp_chirp_stop
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1239,1
    - Dst: dpp_get_attr
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1242,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1245,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1249,1
    - Dst: dpp_get_attr
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1252,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1255,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1259,1
    - Dst: dpp_bootstrap_find_pair
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1264,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1267,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1274,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1279,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1281,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1288,1
    - Dst: dpp_auth_req_rx
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1297,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1302,1
    - Dst: wpas_dpp_set_testing_options
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1305,1
    - Dst: dpp_set_configurator
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1306,1
    - Dst: dpp_auth_deinit
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1308,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1312,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1316,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1320,1
    - Dst: wpas_dpp_listen_stop
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1323,1
    - Dst: wpas_dpp_tx_auth_resp
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1329,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 62
    argCount: 6
    argNames:
    - wpa_s
    - src
    - hdr
    - buf
    - len
    - freq
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - u8*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1224
    functionDepth: 5
    functionLinenumber: 1224
    functionLinenumberEnd: 1330
    functionName: wpas_dpp_rx_auth_req
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_dpp_tx_auth_resp
    - wpa_printf
    - dpp_auth_deinit
    - os_memcpy
    - wpas_dpp_set_testing_options
    - wpa_hexdump
    - wpa_msg
    - dpp_bootstrap_find_pair
    - MAC2STR
    - dpp_set_configurator
    - dpp_get_attr
    - wpas_dpp_chirp_stop
    - os_memcmp
    - dpp_auth_req_rx
    - eloop_register_timeout
    - wpas_dpp_listen_stop
    linkageType: ''
    returnType: void
    signature: "void wpas_dpp_rx_auth_req(struct wpa_supplicant *wpa_s, const u8 *src,\n\t\t\t\t
      const u8 *hdr, const u8 *buf, size_t len,\n\t\t\t\t unsigned int freq)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1340,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1342,1
    - Dst: wpas_dpp_push_button_stop
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1344,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1349,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1352,1
    - Dst: wpas_dpp_listen_start
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1353,1
    - Dst: eloop_is_timeout_registered
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1359,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1361,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1363,1
    - Dst: wpas_dpp_auth_init_next
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1366,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1375,1
    - Dst: wpas_dpp_listen_start
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1377,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1378
      start: 1333
    functionDepth: 4
    functionLinenumber: 1333
    functionLinenumberEnd: 1378
    functionName: wpas_dpp_tx_wait_expire
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - eloop_cancel_timeout
    - wpas_dpp_listen_start
    - wpas_dpp_auth_init_next
    - eloop_register_timeout
    - eloop_is_timeout_registered
    - wpas_dpp_push_button_stop
    linkageType: ''
    returnType: void
    signature: void wpas_dpp_tx_wait_expire(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1390
      start: 1381
    functionDepth: 0
    functionLinenumber: 1381
    functionLinenumberEnd: 1390
    functionName: wpas_dpp_start_gas_server
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void wpas_dpp_start_gas_server(struct wpa_supplicant *wpa_s)
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_get_capa
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1405,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1411,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1416,1
    - Dst: wpa_config_add_network
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1422,1
    - Dst: wpas_notify_network_added
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1425,1
    - Dst: wpa_config_set_network_defaults
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1426,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1444,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1447,1
    - Dst: wpa_bss_get
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1450,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1455,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1457,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1460,1
    - Dst: dpp_akm_dpp
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1465,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1469,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1478,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1478,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1481,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1481,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1482,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1483,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1487,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1487,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1490,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1490,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1491,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1492,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1497,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1497,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1500,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1501,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1502,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1503,1
    - Dst: dpp_akm_psk
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1507,1
    - Dst: dpp_akm_sae
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1508,1
    - Dst: dpp_akm_dpp
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1509,1
    - Dst: dpp_akm_psk
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1511,1
    - Dst: dpp_akm_sae
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1514,1
    - Dst: dpp_akm_psk
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1517,1
    - Dst: dpp_akm_psk
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1521,1
    - Dst: wpa_config_set_quoted
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1522,1
    - Dst: wpa_config_update_psk
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1525,1
    - Dst: dpp_akm_sae
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1527,1
    - Dst: wpa_config_set_quoted
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1528,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1534,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1558,1
    - Dst: wpa_config_get_blob
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1560,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1564,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1567,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1568,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1569,1
    - Dst: wpa_config_free_blob
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1571,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1574,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1574,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1576,1
    - Dst: wpa_config_set_blob
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1578,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1579,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1581,1
    - Dst: wpa_config_set
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1586,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1593,1
    - Dst: wpa_config_get_blob
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1595,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1599,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1602,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1603,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1604,1
    - Dst: wpa_config_free_blob
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1606,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1609,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1609,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1611,1
    - Dst: wpa_config_set_blob
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1613,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1614,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1616,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1623,1
    - Dst: wpa_config_set
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1629,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1634,1
    - Dst: wpas_notify_network_removed
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1639,1
    - Dst: wpa_config_remove_network
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1640,1
    CyclomaticComplexity: 80
    EdgeCount: 80
    ICount: 186
    argCount: 3
    argNames:
    - wpa_s
    - auth
    - conf
    argTypes:
    - struct wpa_supplicant*
    - struct dpp_authentication*
    - struct dpp_config_obj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1642
      start: 1393
    functionDepth: 5
    functionLinenumber: 1393
    functionLinenumberEnd: 1642
    functionName: wpas_dpp_add_network
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_config_set_network_defaults
    - wpa_config_remove_network
    - wpa_config_update_psk
    - os_snprintf
    - wpa_config_free_blob
    - dpp_akm_sae
    - wpa_config_set
    - os_strlen
    - wpa_printf
    - wpa_drv_get_capa
    - wpa_config_add_network
    - dpp_akm_psk
    - wpa_config_set_quoted
    - wpabuf_len
    - os_malloc
    - wpas_notify_network_added
    - wpabuf_head
    - wpas_notify_network_removed
    - wpa_config_get_blob
    - os_strdup
    - wpa_config_set_blob
    - os_memcpy
    - dpp_akm_dpp
    - os_zalloc
    - wpa_bss_get
    linkageType: ''
    returnType: struct wpa_ssid
    signature: "struct wpa_ssid * wpas_dpp_add_network(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \     struct dpp_authentication *auth,\n\t\t\t\t\t      struct dpp_config_obj
      *conf)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dpp_add_network
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1654,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1658,1
    - Dst: wpa_config_write
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1664,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1665,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - wpa_s
    - auth
    - conf
    argTypes:
    - struct wpa_supplicant*
    - struct dpp_authentication*
    - struct dpp_config_obj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1669
      start: 1645
    functionDepth: 6
    functionLinenumber: 1645
    functionLinenumberEnd: 1669
    functionName: wpas_dpp_process_config
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_dpp_add_network
    - wpa_config_write
    - wpa_printf
    - wpa_msg
    linkageType: ''
    returnType: int
    signature: "int wpas_dpp_process_config(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \  struct dpp_authentication *auth,\n\t\t\t\t   struct dpp_config_obj *conf)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_get_network
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1677,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1679,1
    - Dst: wpas_notify_network_removed
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1681,1
    - Dst: wpa_config_remove_network
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1682,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1694,1
    - Dst: wpas_dpp_try_to_connect
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1701,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - wpa_s
    - auth
    argTypes:
    - struct wpa_supplicant*
    - struct dpp_authentication*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1702
      start: 1672
    functionDepth: 5
    functionLinenumber: 1672
    functionLinenumberEnd: 1702
    functionName: wpas_dpp_post_process_config
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_config_remove_network
    - wpas_dpp_try_to_connect
    - wpas_notify_network_removed
    - wpa_config_get_network
    linkageType: ''
    returnType: void
    signature: "void wpas_dpp_post_process_config(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      struct dpp_authentication *auth)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1709,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1710,1
    - Dst: dpp_akm_str
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1711,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1713,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1714,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1716,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1724,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1730,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1732,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1733,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1738,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1739,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1744,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1752,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1753,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1755,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1756,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1757,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1758,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1760,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1767,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1768,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1770,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1771,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1772,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1773,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1774,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1781,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1782,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1784,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1785,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1786,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1788,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1793,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1795,1
    - Dst: base64_encode_no_lf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1803,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1803,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1804,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1806,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1807,1
    - Dst: base64_encode_no_lf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1813,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1813,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1814,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1816,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1817,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1821,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1827,1
    - Dst: wpas_dpp_push_button_stop
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1829,1
    - Dst: wpas_dpp_process_config
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1834,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 70
    argCount: 3
    argNames:
    - wpa_s
    - auth
    - conf
    argTypes:
    - struct wpa_supplicant*
    - struct dpp_authentication*
    - struct dpp_config_obj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1835
      start: 1705
    functionDepth: 7
    functionLinenumber: 1705
    functionLinenumberEnd: 1835
    functionName: wpas_dpp_handle_config_obj
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_snprintf_hex
    - wpa_msg
    - dpp_akm_str
    - wpabuf_len
    - wpa_ssid_txt
    - os_malloc
    - base64_encode_no_lf
    - wpabuf_head
    - wpas_dpp_process_config
    - os_free
    - wpas_dpp_push_button_stop
    linkageType: ''
    returnType: int
    signature: "int wpas_dpp_handle_config_obj(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \     struct dpp_authentication *auth,\n\t\t\t\t      struct dpp_config_obj
      *conf)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1847,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1848,1
    - Dst: dpp_configurator_from_backup
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1852,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1855,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - wpa_s
    - key
    argTypes:
    - struct wpa_supplicant*
    - struct dpp_asymmetric_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1862
      start: 1838
    functionDepth: 1
    functionLinenumber: 1838
    functionLinenumberEnd: 1862
    functionName: wpas_dpp_handle_key_pkg
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dpp_configurator_from_backup
    - wpa_msg
    linkageType: ''
    returnType: int
    signature: "int wpas_dpp_handle_key_pkg(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \  struct dpp_asymmetric_key *key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1874,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1875,1
    - Dst: dpp_build_csr
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1877,1
    - Dst: dpp_auth_deinit
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1880,1
    - Dst: wpas_dpp_start_gas_client
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1885,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1886
      start: 1866
    functionDepth: 1
    functionLinenumber: 1866
    functionLinenumberEnd: 1886
    functionName: wpas_dpp_build_csr
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dpp_auth_deinit
    - wpas_dpp_start_gas_client
    - wpabuf_free
    - dpp_build_csr
    linkageType: ''
    returnType: void
    signature: void wpas_dpp_build_csr(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1899,1
    - Dst: wpas_dpp_start_gas_client
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1900,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1901
      start: 1891
    functionDepth: 1
    functionLinenumber: 1891
    functionLinenumberEnd: 1901
    functionName: wpas_dpp_build_new_key
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpas_dpp_start_gas_client
    linkageType: ''
    returnType: void
    signature: void wpas_dpp_build_new_key(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1917,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1921,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1922,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1927,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1931,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1933,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1936,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1937,1
    - Dst: WPA_GET_BE24
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1942,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1945,1
    - Dst: dpp_conf_resp_rx
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1950,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1953,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1954,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1960,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1961,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1967,1
    - Dst: wpas_dpp_handle_config_obj
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1973,1
    - Dst: wpas_dpp_post_process_config
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1979,1
    - Dst: wpas_dpp_handle_key_pkg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1980,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1986,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1992,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1998,1
    - Dst: dpp_build_conf_result
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:1999,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2003,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2005,1
    - Dst: offchannel_send_action
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2007,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2009,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2010,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2012,1
    - Dst: dpp_auth_deinit
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2022,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 74
    argCount: 7
    argNames:
    - ctx
    - addr
    - dialog_token
    - result
    - adv_proto
    - resp
    - status_code
    argTypes:
    - void*
    - u8*
    - u8
    - enum gas_query_result
    - struct wpabuf*
    - struct wpabuf*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2024
      start: 1905
    functionDepth: 8
    functionLinenumber: 1905
    functionLinenumberEnd: 2024
    functionName: wpas_dpp_gas_resp_cb
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dpp_auth_deinit
    - offchannel_send_action
    - wpa_msg
    - eloop_cancel_timeout
    - wpabuf_len
    - ether_addr_equal
    - wpabuf_free
    - wpas_dpp_handle_config_obj
    - wpas_dpp_post_process_config
    - wpabuf_head
    - WPA_GET_BE24
    - dpp_conf_resp_rx
    - dpp_build_conf_result
    - MAC2STR
    - wpas_dpp_handle_key_pkg
    - eloop_register_timeout
    - wpa_hexdump_buf
    linkageType: ''
    returnType: void
    signature: "void wpas_dpp_gas_resp_cb(void *ctx, const u8 *addr, u8 dialog_token,\n\t\t\t\t
      enum gas_query_result result,\n\t\t\t\t const struct wpabuf *adv_proto,\n\t\t\t\t
      const struct wpabuf *resp, u16 status_code)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2036,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2037,1
    - Dst: dpp_auth_deinit
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2038,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2040
      start: 2027
    functionDepth: 1
    functionLinenumber: 2027
    functionLinenumberEnd: 2040
    functionName: wpas_dpp_gas_client_timeout
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dpp_auth_deinit
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: void wpas_dpp_gas_client_timeout(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: offchannel_send_action_done
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2051,1
    - Dst: wpas_dpp_listen_stop
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2052,1
    - Dst: wpas_supp_op_classes
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2057,1
    - Dst: dpp_build_conf_req_helper
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2059,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2065,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2067,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2072,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2073,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2082,1
    - Dst: gas_query_req
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2085,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2088,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2089,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2091,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2095
      start: 2043
    functionDepth: 6
    functionLinenumber: 2043
    functionLinenumberEnd: 2095
    functionName: wpas_dpp_start_gas_client
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - offchannel_send_action_done
    - wpa_msg
    - dpp_build_conf_req_helper
    - wpabuf_free
    - gas_query_req
    - MAC2STR
    - wpas_supp_op_classes
    - wpas_dpp_listen_stop
    - eloop_register_timeout
    - os_free
    linkageType: ''
    returnType: void
    signature: void wpas_dpp_start_gas_client(struct wpa_supplicant *wpa_s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2100,1
    - Dst: dpp_notify_auth_success
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2101,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2104,1
    - Dst: wpas_dpp_start_gas_server
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2115,1
    - Dst: wpas_dpp_start_gas_client
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - wpa_s
    - initiator
    argTypes:
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2118
      start: 2098
    functionDepth: 7
    functionLinenumber: 2098
    functionLinenumberEnd: 2118
    functionName: wpas_dpp_auth_success
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 1
    functionsReached:
    - wpas_dpp_start_gas_client
    - wpa_printf
    - dpp_notify_auth_success
    - wpas_dpp_start_gas_server
    linkageType: ''
    returnType: void
    signature: void wpas_dpp_auth_success(struct wpa_supplicant *wpa_s, int initiator)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2128,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2129,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2132,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2137,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2138,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2139,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2140,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2144,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2147,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2152,1
    - Dst: dpp_auth_resp_rx
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2153,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2156,1
    - Dst: offchannel_send_action_done
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2158,1
    - Dst: wpas_dpp_listen_start
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2159,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2162,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2165,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2167,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2168,1
    - Dst: offchannel_send_action
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2169,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2171,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2171,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2173,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 6
    argNames:
    - wpa_s
    - src
    - hdr
    - buf
    - len
    - freq
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - u8*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2175
      start: 2121
    functionDepth: 4
    functionLinenumber: 2121
    functionLinenumberEnd: 2175
    functionName: wpas_dpp_rx_auth_resp
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - offchannel_send_action
    - offchannel_send_action_done
    - eloop_cancel_timeout
    - wpa_msg
    - wpabuf_len
    - is_zero_ether_addr
    - ether_addr_equal
    - wpas_dpp_listen_start
    - wpabuf_free
    - dpp_auth_resp_rx
    - wpabuf_head
    - MAC2STR
    linkageType: ''
    returnType: void
    signature: "void wpas_dpp_rx_auth_resp(struct wpa_supplicant *wpa_s, const u8
      *src,\n\t\t\t\t  const u8 *hdr, const u8 *buf, size_t len,\n\t\t\t\t  unsigned
      int freq)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2183,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2184,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2187,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2192,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2193,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2194,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2198,1
    - Dst: dpp_auth_conf_rx
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2200,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2201,1
    - Dst: wpas_dpp_auth_success
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2205,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 5
    argNames:
    - wpa_s
    - src
    - hdr
    - buf
    - len
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2206
      start: 2178
    functionDepth: 8
    functionLinenumber: 2178
    functionLinenumberEnd: 2206
    functionName: wpas_dpp_rx_auth_conf
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpas_dpp_auth_success
    - eloop_cancel_timeout
    - ether_addr_equal
    - MAC2STR
    - dpp_auth_conf_rx
    linkageType: ''
    returnType: void
    signature: "void wpas_dpp_rx_auth_conf(struct wpa_supplicant *wpa_s, const u8
      *src,\n\t\t\t\t  const u8 *hdr, const u8 *buf, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2220,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2222,1
    - Dst: dpp_auth_deinit
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2225
      start: 2211
    functionDepth: 1
    functionLinenumber: 2211
    functionLinenumberEnd: 2225
    functionName: wpas_dpp_config_result_wait_timeout
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dpp_auth_deinit
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: "void wpas_dpp_config_result_wait_timeout(void *eloop_ctx,\n\t\t\t\t\t\tvoid
      *timeout_ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2237,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2239,1
    - Dst: wpas_dpp_listen_stop
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2240,1
    - Dst: dpp_auth_deinit
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2241,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2243
      start: 2228
    functionDepth: 5
    functionLinenumber: 2228
    functionLinenumberEnd: 2243
    functionName: wpas_dpp_conn_status_result_wait_timeout
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dpp_auth_deinit
    - wpas_dpp_listen_stop
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: "void wpas_dpp_conn_status_result_wait_timeout(void *eloop_ctx,\n\t\t\t\t\t\t
      \    void *timeout_ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2252
      start: 2248
    functionDepth: 0
    functionLinenumber: 2248
    functionLinenumberEnd: 2252
    functionName: wpas_dpp_pb_active
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool wpas_dpp_pb_active(struct wpa_supplicant *wpa_s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2266,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2273,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2277
      start: 2255
    functionDepth: 0
    functionLinenumber: 2255
    functionLinenumberEnd: 2277
    functionName: wpas_dpp_remove_pb_hash
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcmp
    linkageType: ''
    returnType: void
    signature: void wpas_dpp_remove_pb_hash(struct wpa_supplicant *wpa_s)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2288,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2289,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2293,1
    - Dst: gas_server_response_sent
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2294,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2300,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2304,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2310,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2311,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2312,1
    - Dst: dpp_conf_result_rx
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2316,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2321,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2324,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2325,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2328,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2330,1
    - Dst: offchannel_send_action_done
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2333,1
    - Dst: wpas_dpp_listen_start
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2337,1
    - Dst: offchannel_send_action_done
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2340,1
    - Dst: wpas_dpp_listen_stop
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2341,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2343,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2346,1
    - Dst: dpp_auth_deinit
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2347,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2349,1
    - Dst: wpas_dpp_pb_active
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2351,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2353,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2356,1
    - Dst: wpas_dpp_remove_pb_hash
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2360,1
    - Dst: wpas_dpp_push_button_stop
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2361,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 5
    argNames:
    - wpa_s
    - src
    - hdr
    - buf
    - len
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2364
      start: 2282
    functionDepth: 5
    functionLinenumber: 2282
    functionLinenumberEnd: 2364
    functionName: wpas_dpp_rx_conf_result
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - gas_server_response_sent
    - dpp_auth_deinit
    - wpa_msg
    - eloop_cancel_timeout
    - offchannel_send_action_done
    - wpas_dpp_remove_pb_hash
    - ether_addr_equal
    - wpas_dpp_push_button_stop
    - wpas_dpp_listen_start
    - MAC2STR
    - wpas_dpp_listen_stop
    - eloop_register_timeout
    - dpp_conf_result_rx
    - wpas_dpp_pb_active
    linkageType: ''
    returnType: void
    signature: "void wpas_dpp_rx_conf_result(struct wpa_supplicant *wpa_s, const u8
      *src,\n\t\t\t\t    const u8 *hdr, const u8 *buf, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2377,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2380,1
    - Dst: dpp_conn_status_result_rx
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2385,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2387,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2389,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2391,1
    - Dst: offchannel_send_action_done
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2392,1
    - Dst: wpas_dpp_listen_stop
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2393,1
    - Dst: dpp_auth_deinit
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2394,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2396,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - wpa_s
    - src
    - hdr
    - buf
    - len
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2398
      start: 2367
    functionDepth: 5
    functionLinenumber: 2367
    functionLinenumberEnd: 2398
    functionName: wpas_dpp_rx_conn_status_result
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dpp_auth_deinit
    - dpp_conn_status_result_rx
    - wpa_msg
    - offchannel_send_action_done
    - eloop_cancel_timeout
    - wpa_ssid_txt
    - wpas_dpp_listen_stop
    - os_free
    linkageType: ''
    returnType: void
    signature: "void wpas_dpp_rx_conn_status_result(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \  const u8 *src, const u8 *hdr,\n\t\t\t\t\t   const u8 *buf, size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dpp_handle_config_obj
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2409,1
    - Dst: wpas_dpp_post_process_config
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2415,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - auth
    argTypes:
    - void*
    - struct dpp_authentication*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2418
      start: 2401
    functionDepth: 8
    functionLinenumber: 2401
    functionLinenumberEnd: 2418
    functionName: wpas_dpp_process_conf_obj
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_dpp_post_process_config
    - wpas_dpp_handle_config_obj
    linkageType: ''
    returnType: int
    signature: "int wpas_dpp_process_conf_obj(void *ctx,\n\t\t\t\t     struct dpp_authentication
      *auth)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2425,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2429,1
    - Dst: wpas_dpp_try_to_connect
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2431,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2433,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2435,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2438,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - ctx
    - auth
    argTypes:
    - void*
    - struct dpp_authentication*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2446
      start: 2421
    functionDepth: 4
    functionLinenumber: 2421
    functionLinenumberEnd: 2446
    functionName: wpas_dpp_tcp_msg_sent
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - eloop_cancel_timeout
    - wpa_printf
    - wpas_dpp_try_to_connect
    - eloop_register_timeout
    linkageType: ''
    returnType: bool
    signature: bool wpas_dpp_tcp_msg_sent(void *ctx, struct dpp_authentication *auth)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dpp_chirp_stop
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2454,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - bi
    argTypes:
    - void*
    - struct dpp_bootstrap_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2455
      start: 2449
    functionDepth: 1
    functionLinenumber: 2449
    functionLinenumberEnd: 2455
    functionName: wpas_dpp_remove_bi
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_dpp_chirp_stop
    linkageType: ''
    returnType: void
    signature: void wpas_dpp_remove_bi(void *ctx, struct dpp_bootstrap_info *bi)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2473,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2478,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2479,1
    - Dst: dpp_get_attr
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2481,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2484,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2488,1
    - Dst: dpp_bootstrap_find_chirp
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2490,1
    - Dst: dpp_notify_chirp_received
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2491,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2494,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2499,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2501,1
    - Dst: dpp_auth_init
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2502,1
    - Dst: wpas_dpp_set_testing_options
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2506,1
    - Dst: dpp_set_configurator
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2507,1
    - Dst: dpp_auth_deinit
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2508,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2516,1
    - Dst: wpas_dpp_stop_listen_for_tx
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2523,1
    - Dst: wpas_dpp_auth_init_next
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2526,1
    - Dst: dpp_auth_deinit
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2527,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 6
    argNames:
    - wpa_s
    - src
    - hdr
    - buf
    - len
    - freq
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - u8*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2530
      start: 2458
    functionDepth: 4
    functionLinenumber: 2458
    functionLinenumberEnd: 2530
    functionName: wpas_dpp_rx_presence_announcement
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dpp_auth_deinit
    - os_memcpy
    - wpas_dpp_set_testing_options
    - wpa_hexdump
    - wpa_msg
    - dpp_bootstrap_find_chirp
    - wpas_dpp_auth_init_next
    - MAC2STR
    - dpp_auth_init
    - dpp_set_configurator
    - dpp_get_attr
    - dpp_notify_chirp_received
    - wpas_dpp_stop_listen_for_tx
    linkageType: ''
    returnType: void
    signature: "void wpas_dpp_rx_presence_announcement(struct wpa_supplicant *wpa_s,
      const u8 *src,\n\t\t\t\t  const u8 *hdr, const u8 *buf, size_t len,\n\t\t\t\t
      \ unsigned int freq)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2542,1
    - Dst: offchannel_send_action_done
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2543,1
    - Dst: wpas_dpp_listen_stop
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2544,1
    - Dst: dpp_auth_deinit
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2545,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2547
      start: 2533
    functionDepth: 5
    functionLinenumber: 2533
    functionLinenumberEnd: 2547
    functionName: wpas_dpp_reconfig_reply_wait_timeout
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dpp_auth_deinit
    - wpas_dpp_listen_stop
    - offchannel_send_action_done
    linkageType: ''
    returnType: void
    signature: "void wpas_dpp_reconfig_reply_wait_timeout(void *eloop_ctx,\n\t\t\t\t\t\t
      void *timeout_ctx)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2566,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2571,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2572,1
    - Dst: dpp_get_attr
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2574,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2577,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2581,1
    - Dst: dpp_configurator_find_kid
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2583,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2585,1
    - Dst: dpp_get_attr
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2590,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2593,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2597,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2598,1
    - Dst: dpp_get_attr
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2600,1
    - Dst: dpp_get_attr
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2601,1
    - Dst: dpp_reconfig_init
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2603,1
    - Dst: wpas_dpp_set_testing_options
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2607,1
    - Dst: dpp_set_configurator
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2608,1
    - Dst: dpp_auth_deinit
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2609,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2613,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2624,1
    - Dst: wpas_dpp_stop_listen_for_tx
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2629,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2631,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2632,1
    - Dst: offchannel_send_action
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2633,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2634,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2635,1
    - Dst: dpp_auth_deinit
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2637,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 53
    argCount: 6
    argNames:
    - wpa_s
    - src
    - hdr
    - buf
    - len
    - freq
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - u8*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2640
      start: 2550
    functionDepth: 3
    functionLinenumber: 2550
    functionLinenumberEnd: 2640
    functionName: wpas_dpp_rx_reconfig_announcement
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dpp_reconfig_init
    - dpp_auth_deinit
    - wpas_dpp_set_testing_options
    - wpa_hexdump
    - wpa_msg
    - os_memcpy
    - offchannel_send_action
    - wpabuf_len
    - WPA_GET_LE16
    - wpabuf_head
    - MAC2STR
    - dpp_set_configurator
    - dpp_get_attr
    - eloop_register_timeout
    - wpas_dpp_stop_listen_for_tx
    - dpp_configurator_find_kid
    linkageType: ''
    returnType: void
    signature: "void wpas_dpp_rx_reconfig_announcement(struct wpa_supplicant *wpa_s,
      const u8 *src,\n\t\t\t\t  const u8 *hdr, const u8 *buf, size_t len,\n\t\t\t\t
      \ unsigned int freq)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2651,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2652,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2657,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2662,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2673,1
    - Dst: dpp_reconfig_auth_req_rx
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2678,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2685,1
    - Dst: wpas_dpp_chirp_stop
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2688,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2690,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2691,1
    - Dst: offchannel_send_action
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2692,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2693,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2694,1
    - Dst: dpp_auth_deinit
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2696,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 6
    argNames:
    - wpa_s
    - src
    - hdr
    - buf
    - len
    - freq
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - u8*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2699
      start: 2643
    functionDepth: 3
    functionLinenumber: 2643
    functionLinenumberEnd: 2699
    functionName: wpas_dpp_rx_reconfig_auth_req
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - dpp_auth_deinit
    - offchannel_send_action
    - wpa_msg
    - wpabuf_len
    - dpp_reconfig_auth_req_rx
    - wpabuf_head
    - MAC2STR
    - wpas_dpp_chirp_stop
    linkageType: ''
    returnType: void
    signature: "void wpas_dpp_rx_reconfig_auth_req(struct wpa_supplicant *wpa_s, const
      u8 *src,\n\t\t\t      const u8 *hdr, const u8 *buf, size_t len,\n\t\t\t      unsigned
      int freq)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2710,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2711,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2714,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2719,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2720,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2721,1
    - Dst: dpp_reconfig_auth_resp_rx
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2725,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2729,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2731,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2732,1
    - Dst: offchannel_send_action
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2733,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2734,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2734,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2736,1
    - Dst: dpp_auth_deinit
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2737,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2741,1
    - Dst: wpas_dpp_start_gas_server
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2743,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 6
    argNames:
    - wpa_s
    - src
    - hdr
    - buf
    - len
    - freq
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - u8*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2744
      start: 2702
    functionDepth: 3
    functionLinenumber: 2702
    functionLinenumberEnd: 2744
    functionName: wpas_dpp_rx_reconfig_auth_resp
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dpp_auth_deinit
    - dpp_reconfig_auth_resp_rx
    - wpa_msg
    - eloop_cancel_timeout
    - offchannel_send_action
    - wpabuf_len
    - ether_addr_equal
    - wpabuf_free
    - wpabuf_head
    - wpas_dpp_start_gas_server
    - MAC2STR
    linkageType: ''
    returnType: void
    signature: "void wpas_dpp_rx_reconfig_auth_resp(struct wpa_supplicant *wpa_s,
      const u8 *src,\n\t\t\t       const u8 *hdr, const u8 *buf, size_t len,\n\t\t\t
      \      unsigned int freq)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2754,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2755,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2758,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2763,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2764,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2765,1
    - Dst: dpp_reconfig_auth_conf_rx
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2769,1
    - Dst: wpas_dpp_start_gas_client
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2772,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 6
    argNames:
    - wpa_s
    - src
    - hdr
    - buf
    - len
    - freq
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - u8*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2773
      start: 2747
    functionDepth: 7
    functionLinenumber: 2747
    functionLinenumberEnd: 2773
    functionName: wpas_dpp_rx_reconfig_auth_conf
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpas_dpp_start_gas_client
    - dpp_reconfig_auth_conf_rx
    - ether_addr_equal
    - MAC2STR
    linkageType: ''
    returnType: void
    signature: "void wpas_dpp_rx_reconfig_auth_conf(struct wpa_supplicant *wpa_s,
      const u8 *src,\n\t\t\t       const u8 *hdr, const u8 *buf, size_t len,\n\t\t\t
      \      unsigned int freq)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2798,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2799,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2800,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2801,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2802,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2803,1
    - Dst: offchannel_send_action_done
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2806,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2814,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2819,1
    - Dst: dpp_get_attr
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2821,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2824,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2826,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2827,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2831,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2834,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2835,1
    - Dst: dpp_get_attr
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2839,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2841,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2842,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2843,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2847,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2850,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2851,1
    - Dst: wpas_dpp_send_conn_status_result
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2853,1
    - Dst: dpp_get_attr
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2858,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2860,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2862,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2863,1
    - Dst: dpp_peer_intro
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2867,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2874,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2876,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2877,1
    - Dst: wpas_dpp_send_conn_status_result
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2879,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2884,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2887,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2888,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2889,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2890,1
    - Dst: dpp_get_attr
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2894,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2901,1
    - Dst: wpas_dpp_send_conn_status_result
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2904,1
    - Dst: os_get_time
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2911,1
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2916,1
    - Dst: wpa_sm_pmksa_cache_add_entry
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2920,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2922,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2923,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2925,1
    - Dst: wpa_supplicant_fast_associate
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2927,1
    - Dst: wpa_supplicant_cancel_sched_scan
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2928,1
    - Dst: wpa_supplicant_req_scan
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2929,1
    - Dst: dpp_peer_intro_deinit
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2932,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 98
    argCount: 4
    argNames:
    - wpa_s
    - src
    - buf
    - len
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2933
      start: 2778
    functionDepth: 13
    functionLinenumber: 2778
    functionLinenumberEnd: 2933
    functionName: wpas_dpp_rx_peer_disc_resp
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpas_dpp_send_conn_status_result
    - wpa_supplicant_req_scan
    - ether_addr_equal
    - os_get_reltime
    - is_zero_ether_addr
    - os_get_time
    - os_memset
    - wpa_supplicant_cancel_sched_scan
    - os_memcpy
    - offchannel_send_action_done
    - wpa_msg
    - wpa_supplicant_fast_associate
    - dpp_peer_intro_deinit
    - wpa_sm_pmksa_cache_add_entry
    - MAC2STR
    - os_zalloc
    - dpp_get_attr
    - dpp_peer_intro
    linkageType: ''
    returnType: void
    signature: "void wpas_dpp_rx_peer_disc_resp(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \      const u8 *src,\n\t\t\t\t       const u8 *buf, size_t len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2961,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - wpa_s
    - freq
    argTypes:
    - struct wpa_supplicant*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2966
      start: 2936
    functionDepth: 0
    functionLinenumber: 2936
    functionLinenumberEnd: 2966
    functionName: wpas_dpp_allow_ir
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int wpas_dpp_allow_ir(struct wpa_supplicant *wpa_s, unsigned int freq)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dpp_allow_ir
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2981,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2982,1
    - Dst: wpas_dpp_pkex_next_channel
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:2988,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - wpa_s
    - pkex
    argTypes:
    - struct wpa_supplicant*
    - struct dpp_pkex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2989
      start: 2969
    functionDepth: 1
    functionLinenumber: 2969
    functionLinenumberEnd: 2989
    functionName: wpas_dpp_pkex_next_channel
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 1
    functionsReached:
    - wpas_dpp_allow_ir
    - wpa_printf
    - wpas_dpp_pkex_next_channel
    linkageType: ''
    returnType: int
    signature: "int wpas_dpp_pkex_next_channel(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \     struct dpp_pkex *pkex)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3000,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3001,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3003,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3006
      start: 2992
    functionDepth: 0
    functionLinenumber: 2992
    functionLinenumberEnd: 3006
    functionName: wpas_dpp_pkex_clear_code
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void wpas_dpp_pkex_clear_code(struct wpa_supplicant *wpa_s)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dpp_pkex_clear_code
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3020,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3022,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3024,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3027,1
    - Dst: dpp_bootstrap_get_id
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3030,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3030,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3032,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3038,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3045,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3048,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3050,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3052,1
    - Dst: dpp_auth_init
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3059,1
    - Dst: wpas_dpp_set_testing_options
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3064,1
    - Dst: dpp_set_configurator
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3065,1
    - Dst: dpp_auth_deinit
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3066,1
    - Dst: dpp_tcp_auth
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3070,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 3
    argNames:
    - ctx
    - conn
    - peer_bi
    argTypes:
    - void*
    - void*
    - struct dpp_bootstrap_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3077
      start: 3010
    functionDepth: 1
    functionLinenumber: 3010
    functionLinenumberEnd: 3077
    functionName: wpas_dpp_pkex_done
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - dpp_tcp_auth
    - wpa_printf
    - dpp_auth_deinit
    - wpas_dpp_set_testing_options
    - os_strncmp
    - wpas_dpp_pkex_clear_code
    - os_snprintf
    - os_strstr
    - dpp_auth_init
    - dpp_set_configurator
    - atoi
    - dpp_bootstrap_get_id
    linkageType: ''
    returnType: int
    signature: "int wpas_dpp_pkex_done(void *ctx, void *conn,\n\t\t\t      struct
      dpp_bootstrap_info *peer_bi)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3091,1
    - Dst: dpp_pkex_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3092,1
    - Dst: dpp_pkex_init
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3094,1
    - Dst: dpp_tcp_pkex_init
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3104,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3117,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3119,1
    - Dst: offchannel_send_action
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3122,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3124,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3124,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 4
    argNames:
    - wpa_s
    - ver
    - ipaddr
    - tcp_port
    argTypes:
    - struct wpa_supplicant*
    - enum dpp_pkex_ver
    - struct hostapd_ip_addr*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3132
      start: 3081
    functionDepth: 3
    functionLinenumber: 3081
    functionLinenumberEnd: 3132
    functionName: wpas_dpp_pkex_init
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - offchannel_send_action
    - wpa_msg
    - wpabuf_len
    - dpp_tcp_pkex_init
    - wpabuf_head
    - MAC2STR
    - dpp_pkex_free
    - dpp_pkex_init
    linkageType: ''
    returnType: int
    signature: "int wpas_dpp_pkex_init(struct wpa_supplicant *wpa_s,\n\t\t\t      enum
      dpp_pkex_ver ver,\n\t\t\t      const struct hostapd_ip_addr *ipaddr,\n\t\t\t
      \     int tcp_port)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dpp_pkex_next_channel
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3143,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3146,1
    - Dst: wpas_dpp_pkex_init
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3148,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3153,1
    - Dst: dpp_pkex_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3155,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3163,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3165,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3166,1
    - Dst: offchannel_send_action
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3169,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3171,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3172,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3175
      start: 3135
    functionDepth: 4
    functionLinenumber: 3135
    functionLinenumberEnd: 3175
    functionName: wpas_dpp_pkex_retry_timeout
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - offchannel_send_action
    - wpa_msg
    - wpas_dpp_pkex_next_channel
    - wpabuf_len
    - wpabuf_head
    - MAC2STR
    - dpp_pkex_free
    - wpas_dpp_pkex_init
    linkageType: ''
    returnType: void
    signature: void wpas_dpp_pkex_retry_timeout(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3191,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3193,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3194,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3195,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3198,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3204,1
    - Dst: dpp_pkex_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3208,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3216,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3217,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 8
    argNames:
    - wpa_s
    - freq
    - dst
    - src
    - bssid
    - data
    - data_len
    - result
    argTypes:
    - struct wpa_supplicant*
    - unsigned int
    - u8*
    - u8*
    - u8*
    - u8*
    - size_t
    - enum offchannel_send_action_result
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3222
      start: 3178
    functionDepth: 1
    functionLinenumber: 3178
    functionLinenumberEnd: 3222
    functionName: wpas_dpp_tx_pkex_status
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_msg
    - eloop_cancel_timeout
    - MAC2STR
    - dpp_pkex_free
    - eloop_register_timeout
    linkageType: ''
    returnType: void
    signature: "void wpas_dpp_tx_pkex_status(struct wpa_supplicant *wpa_s,\n\t\t\tunsigned
      int freq, const u8 *dst,\n\t\t\tconst u8 *src, const u8 *bssid,\n\t\t\tconst
      u8 *data, size_t data_len,\n\t\t\tenum offchannel_send_action_result result)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3233,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3234,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3237,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3242,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3251,1
    - Dst: dpp_controller_is_own_pkex_req
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3257,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3258,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3266,1
    - Dst: dpp_pkex_rx_exchange_req
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3271,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3278,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3285,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3287,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3296,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3297,1
    - Dst: offchannel_send_action
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3298,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3300,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3300,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 6
    argNames:
    - wpa_s
    - src
    - buf
    - len
    - freq
    - v2
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - size_t
    - unsigned int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3302
      start: 3225
    functionDepth: 3
    functionLinenumber: 3225
    functionLinenumberEnd: 3302
    functionName: wpas_dpp_rx_pkex_exchange_req
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - offchannel_send_action
    - wpa_msg
    - wpabuf_len
    - wpabuf_free
    - dpp_controller_is_own_pkex_req
    - wpabuf_head
    - MAC2STR
    - dpp_pkex_rx_exchange_req
    linkageType: ''
    returnType: void
    signature: "void wpas_dpp_rx_pkex_exchange_req(struct wpa_supplicant *wpa_s, const
      u8 *src,\n\t\t\t      const u8 *buf, size_t len, unsigned int freq,\n\t\t\t
      \     bool v2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3312,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3313,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3320,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3324,1
    - Dst: dpp_pkex_rx_exchange_resp
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3327,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3329,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3333,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3334,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3339,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3340,1
    - Dst: offchannel_send_action
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3341,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3343,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3343,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3345,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 5
    argNames:
    - wpa_s
    - src
    - buf
    - len
    - freq
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3346
      start: 3305
    functionDepth: 3
    functionLinenumber: 3305
    functionLinenumberEnd: 3346
    functionName: wpas_dpp_rx_pkex_exchange_resp
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - offchannel_send_action
    - wpa_msg
    - eloop_cancel_timeout
    - wpabuf_len
    - wpabuf_free
    - wpabuf_head
    - MAC2STR
    - dpp_pkex_rx_exchange_resp
    linkageType: ''
    returnType: void
    signature: "void wpas_dpp_rx_pkex_exchange_resp(struct wpa_supplicant *wpa_s,
      const u8 *src,\n\t\t\t       const u8 *buf, size_t len, unsigned int freq)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dpp_pkex_clear_code
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3355,1
    - Dst: dpp_pkex_finish
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3356,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3364,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3368,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3370,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3373,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3377,1
    - Dst: dpp_bootstrap_remove
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3378,1
    - Dst: wpas_dpp_push_button_stop
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3379,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - wpa_s
    - peer
    - freq
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3385
      start: 3349
    functionDepth: 1
    functionLinenumber: 3349
    functionLinenumberEnd: 3385
    functionName: wpas_dpp_pkex_finish
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    - dpp_bootstrap_remove
    - wpas_dpp_pkex_clear_code
    - os_snprintf
    - os_memcmp
    - wpas_dpp_push_button_stop
    - dpp_pkex_finish
    linkageType: ''
    returnType: struct dpp_bootstrap_info
    signature: "struct dpp_bootstrap_info *\nwpas_dpp_pkex_finish(struct wpa_supplicant
      *wpa_s, const u8 *peer,\n\t\t     unsigned int freq)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3397,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3398,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3401,1
    - Dst: dpp_pkex_rx_commit_reveal_req
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3405,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3407,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3409,1
    - Dst: dpp_pkex_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3412,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3418,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3419,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3424,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3425,1
    - Dst: offchannel_send_action
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3426,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3428,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3428,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3430,1
    - Dst: wpas_dpp_pkex_finish
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3432,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 6
    argNames:
    - wpa_s
    - src
    - hdr
    - buf
    - len
    - freq
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - u8*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3434
      start: 3388
    functionDepth: 3
    functionLinenumber: 3388
    functionLinenumberEnd: 3434
    functionName: wpas_dpp_rx_pkex_commit_reveal_req
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - offchannel_send_action
    - wpa_msg
    - wpabuf_len
    - wpas_dpp_pkex_finish
    - wpabuf_free
    - wpabuf_head
    - dpp_pkex_rx_commit_reveal_req
    - MAC2STR
    - dpp_pkex_free
    linkageType: ''
    returnType: void
    signature: "void wpas_dpp_rx_pkex_commit_reveal_req(struct wpa_supplicant *wpa_s,
      const u8 *src,\n\t\t\t\t   const u8 *hdr, const u8 *buf, size_t len,\n\t\t\t\t
      \  unsigned int freq)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3447,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3448,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3451,1
    - Dst: dpp_pkex_rx_commit_reveal_resp
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3455,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3457,1
    - Dst: wpas_dpp_pkex_finish
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3461,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3467,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3471,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3473,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3476,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3480,1
    - Dst: dpp_bootstrap_remove
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3481,1
    - Dst: wpas_dpp_push_button_stop
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3482,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3487,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3490,1
    - Dst: wpas_dpp_auth_init
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3493,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3494,1
    - Dst: offchannel_send_action_done
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3496,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 6
    argNames:
    - wpa_s
    - src
    - hdr
    - buf
    - len
    - freq
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - u8*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3499
      start: 3437
    functionDepth: 5
    functionLinenumber: 3437
    functionLinenumberEnd: 3499
    functionName: wpas_dpp_rx_pkex_commit_reveal_resp
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    - dpp_bootstrap_remove
    - offchannel_send_action_done
    - wpas_dpp_pkex_finish
    - os_snprintf
    - MAC2STR
    - dpp_pkex_rx_commit_reveal_resp
    - os_memcmp
    - wpas_dpp_push_button_stop
    - wpas_dpp_auth_init
    linkageType: ''
    returnType: void
    signature: "void wpas_dpp_rx_pkex_commit_reveal_resp(struct wpa_supplicant *wpa_s,
      const u8 *src,\n\t\t\t\t    const u8 *hdr, const u8 *buf, size_t len,\n\t\t\t\t
      \   unsigned int freq)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3514,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3516,1
    - Dst: offchannel_send_action
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3521,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3523,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3523,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3528,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3529,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3532,1
    - Dst: wpas_dpp_push_button_stop
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3534,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3539,1
    - Dst: dpp_pkex_init
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3541,1
    - Dst: wpas_dpp_push_button_stop
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3546,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3553,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3554,1
    - Dst: offchannel_send_action
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3559,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3561,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3561,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3567,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3568,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3569,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3571,1
    - Dst: wpas_dpp_push_button_stop
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3574,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 39
    argCount: 4
    argNames:
    - wpa_s
    - freq
    - src
    - r_hash
    argTypes:
    - struct wpa_supplicant*
    - unsigned int
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3575
      start: 3504
    functionDepth: 3
    functionLinenumber: 3504
    functionLinenumberEnd: 3575
    functionName: wpas_dpp_pb_pkex_init
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - os_memcpy
    - offchannel_send_action
    - wpa_msg
    - wpabuf_len
    - os_malloc
    - wpabuf_head
    - os_snprintf
    - MAC2STR
    - dpp_pkex_init
    - os_free
    - wpas_dpp_push_button_stop
    linkageType: ''
    returnType: void
    signature: "void wpas_dpp_pb_pkex_init(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \ unsigned int freq, const u8 *src,\n\t\t\t\t  const u8 *r_hash)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3592,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3593,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3594,1
    - Dst: dpp_get_attr
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3596,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3599,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3603,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3609,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3611,1
    - Dst: os_reltime_expired
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3623,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3624,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3632,1
    - Dst: wpas_dpp_pb_active
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3636,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3637,1
    - Dst: wpas_dpp_push_button_stop
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3641,1
    - Dst: os_reltime_before
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3649,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3652,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3653,1
    - Dst: wpas_dpp_pb_active
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3657,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3658,1
    - Dst: dpp_bootstrap_gen
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3672,1
    - Dst: dpp_bootstrap_get_id
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3675,1
    - Dst: random_get_bytes
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3679,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3681,1
    - Dst: wpas_dpp_push_button_stop
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3683,1
    - Dst: os_reltime_sub
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3691,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3693,1
    - Dst: dpp_build_pb_announcement_resp
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3698,1
    - Dst: wpas_dpp_push_button_stop
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3702,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3706,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3708,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3711,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3712,1
    - Dst: offchannel_send_action
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3713,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3714,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3714,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3716,1
    - Dst: os_reltime_expired
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3718,1
    - Dst: wpas_dpp_pb_pkex_init
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3719,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 83
    argCount: 6
    argNames:
    - wpa_s
    - src
    - hdr
    - buf
    - len
    - freq
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - u8*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3720
      start: 3578
    functionDepth: 4
    functionLinenumber: 3578
    functionLinenumberEnd: 3720
    functionName: wpas_dpp_rx_pb_presence_announcement
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_hexdump
    - offchannel_send_action
    - os_reltime_expired
    - wpa_printf
    - os_memcmp
    - wpas_dpp_push_button_stop
    - wpas_dpp_pb_active
    - dpp_bootstrap_get_id
    - wpas_dpp_pb_pkex_init
    - os_get_reltime
    - wpabuf_len
    - dpp_bootstrap_gen
    - dpp_build_pb_announcement_resp
    - wpabuf_head
    - os_reltime_sub
    - os_memcpy
    - random_get_bytes
    - wpa_msg
    - wpabuf_free
    - MAC2STR
    - dpp_get_attr
    - os_reltime_before
    linkageType: ''
    returnType: void
    signature: "void wpas_dpp_rx_pb_presence_announcement(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \    const u8 *src, const u8 *hdr,\n\t\t\t\t     const u8 *buf, size_t len,\n\t\t\t\t
      \    unsigned int freq)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3735,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3737,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3741,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3743,1
    - Dst: dpp_get_attr
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3745,1
    - Dst: dpp_get_attr
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3747,1
    - Dst: dpp_get_attr
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3749,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3754,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3758,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3760,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3762,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3767,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3771,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3773,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3782,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3783,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3790,1
    - Dst: wpas_dpp_push_button_stop
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3794,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3799,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3801,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3803,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3804,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 46
    argCount: 6
    argNames:
    - wpa_s
    - src
    - hdr
    - buf
    - len
    - freq
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - u8*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3811
      start: 3723
    functionDepth: 1
    functionLinenumber: 3723
    functionLinenumberEnd: 3811
    functionName: wpas_dpp_rx_pb_presence_announcement_resp
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_hexdump
    - wpa_msg
    - MAC2STR
    - os_memcmp
    - dpp_get_attr
    - wpas_dpp_push_button_stop
    linkageType: ''
    returnType: void
    signature: "void wpas_dpp_rx_pb_presence_announcement_resp(struct wpa_supplicant
      *wpa_s,\n\t\t\t\t\t  const u8 *src, const u8 *hdr,\n\t\t\t\t\t  const u8 *buf,
      size_t len,\n\t\t\t\t\t  unsigned int freq)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3826,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3828,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3829,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3830,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3832,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3833,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3835,1
    - Dst: wpa_supplicant_fast_associate
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3837,1
    - Dst: wpa_supplicant_cancel_sched_scan
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3838,1
    - Dst: wpa_supplicant_req_scan
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3839,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 8
    argNames:
    - wpa_s
    - freq
    - dst
    - src
    - bssid
    - data
    - data_len
    - result
    argTypes:
    - struct wpa_supplicant*
    - unsigned int
    - u8*
    - u8*
    - u8*
    - u8*
    - size_t
    - enum offchannel_send_action_result
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3841
      start: 3814
    functionDepth: 13
    functionLinenumber: 3814
    functionLinenumberEnd: 3841
    functionName: wpas_dpp_tx_priv_intro_status
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_cancel_sched_scan
    - wpa_printf
    - wpa_supplicant_req_scan
    - wpa_msg
    - wpa_supplicant_fast_associate
    - MAC2STR
    linkageType: ''
    returnType: void
    signature: "void wpas_dpp_tx_priv_intro_status(struct wpa_supplicant *wpa_s,\n\t\t\t
      \     unsigned int freq, const u8 *dst,\n\t\t\t      const u8 *src, const u8
      *bssid,\n\t\t\t      const u8 *data, size_t data_len,\n\t\t\t      enum offchannel_send_action_result
      result)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3858,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3862,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3863,1
    - Dst: dpp_get_connector_version
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3868,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3870,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3875,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3876,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3877,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3880,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3881,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3881,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3882,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3883,1
    - Dst: dpp_alloc_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3886,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3888,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3891,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3893,1
    - Dst: hpke_base_seal
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3895,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3897,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3897,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3898,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3899,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3901,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3904,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3907,1
    - Dst: dpp_alloc_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3908,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3910,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3915,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3916,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3917,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3920,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3921,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3921,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3922,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3923,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3925,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3931,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3932,1
    - Dst: offchannel_send_action
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3933,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3934,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3934,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3936,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 55
    argCount: 5
    argNames:
    - wpa_s
    - intro
    - ssid
    - dst
    - freq
    argTypes:
    - struct wpa_supplicant*
    - struct dpp_introduction*
    - struct wpa_ssid*
    - u8*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3939
      start: 3844
    functionDepth: 3
    functionLinenumber: 3844
    functionLinenumberEnd: 3939
    functionName: wpas_dpp_send_private_peer_intro_update
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_hexdump
    - offchannel_send_action
    - wpabuf_put_str
    - wpabuf_alloc
    - os_strlen
    - wpa_printf
    - wpa_hexdump_buf
    - wpabuf_head_u8
    - wpabuf_put_u8
    - wpabuf_len
    - wpabuf_head
    - dpp_get_connector_version
    - wpa_msg
    - dpp_alloc_msg
    - wpabuf_free
    - wpabuf_put_le16
    - MAC2STR
    - wpabuf_put_buf
    - hpke_base_seal
    linkageType: ''
    returnType: int
    signature: "int wpas_dpp_send_private_peer_intro_update(struct wpa_supplicant
      *wpa_s,\n\t\t\t\t\tstruct dpp_introduction *intro,\n\t\t\t\t\tstruct wpa_ssid
      *ssid,\n\t\t\t\t\tconst u8 *dst, unsigned int freq)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3960,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3962,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3963,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3964,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3965,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3966,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3967,1
    - Dst: offchannel_send_action_done
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3970,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3978,1
    - Dst: dpp_get_attr
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3983,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3986,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3988,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3989,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3993,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3996,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:3997,1
    - Dst: dpp_get_attr
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4001,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4003,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4005,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4006,1
    - Dst: dpp_get_attr
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4010,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4013,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4015,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4016,1
    - Dst: dpp_peer_intro
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4020,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4027,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4029,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4030,1
    - Dst: wpas_dpp_send_conn_status_result
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4031,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4038,1
    - Dst: wpas_dpp_send_conn_status_result
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4041,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4046,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4050,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4051,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4052,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4053,1
    - Dst: os_get_time
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4057,1
    - Dst: wpas_dpp_send_private_peer_intro_update
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4063,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4065,1
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4069,1
    - Dst: wpa_sm_pmksa_cache_add_entry
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4073,1
    - Dst: dpp_peer_intro_deinit
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4079,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 89
    argCount: 6
    argNames:
    - wpa_s
    - src
    - hdr
    - buf
    - len
    - freq
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - u8*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4080
      start: 3942
    functionDepth: 4
    functionLinenumber: 3942
    functionLinenumberEnd: 4080
    functionName: wpas_dpp_rx_priv_peer_intro_notify
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpas_dpp_send_conn_status_result
    - os_get_reltime
    - offchannel_send_action_done
    - wpa_msg
    - is_zero_ether_addr
    - ether_addr_equal
    - dpp_peer_intro_deinit
    - wpa_sm_pmksa_cache_add_entry
    - MAC2STR
    - os_zalloc
    - wpas_dpp_send_private_peer_intro_update
    - os_get_time
    - dpp_get_attr
    - dpp_peer_intro
    - os_free
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void wpas_dpp_rx_priv_peer_intro_notify(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \  const u8 *src, const u8 *hdr,\n\t\t\t\t   const u8 *buf, size_t len,\n\t\t\t\t
      \  unsigned int freq)"
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: WPA_GET_BE24
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4095,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4104,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4107,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4112,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4118,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4120,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4122,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4125,1
    - Dst: dpp_check_attrs
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4126,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4127,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4129,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4132,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4133,1
    - Dst: wpas_dpp_rx_auth_req
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4137,1
    - Dst: wpas_dpp_rx_auth_resp
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4140,1
    - Dst: wpas_dpp_rx_auth_conf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4143,1
    - Dst: wpas_dpp_rx_peer_disc_resp
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4146,1
    - Dst: wpas_dpp_rx_pkex_exchange_req
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4153,1
    - Dst: wpas_dpp_rx_pkex_exchange_req
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4157,1
    - Dst: wpas_dpp_rx_pkex_exchange_resp
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4161,1
    - Dst: wpas_dpp_rx_pkex_commit_reveal_req
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4164,1
    - Dst: wpas_dpp_rx_pkex_commit_reveal_resp
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4168,1
    - Dst: wpas_dpp_rx_conf_result
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4173,1
    - Dst: wpas_dpp_rx_conn_status_result
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4176,1
    - Dst: wpas_dpp_rx_presence_announcement
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4179,1
    - Dst: wpas_dpp_rx_reconfig_announcement
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4183,1
    - Dst: wpas_dpp_rx_reconfig_auth_req
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4187,1
    - Dst: wpas_dpp_rx_reconfig_auth_resp
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4190,1
    - Dst: wpas_dpp_rx_reconfig_auth_conf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4193,1
    - Dst: wpas_dpp_rx_pb_presence_announcement
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4198,1
    - Dst: wpas_dpp_rx_pb_presence_announcement_resp
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4202,1
    - Dst: wpas_dpp_rx_priv_peer_intro_notify
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4206,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4211,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4223,1
    - Dst: wpas_dpp_pkex_remove
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4224,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 98
    argCount: 5
    argNames:
    - wpa_s
    - src
    - buf
    - len
    - freq
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4226
      start: 4085
    functionDepth: 14
    functionLinenumber: 4085
    functionLinenumberEnd: 4226
    functionName: wpas_dpp_rx_action
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 1
    functionsReached:
    - wpas_dpp_rx_pkex_exchange_resp
    - wpa_hexdump
    - wpas_dpp_rx_auth_req
    - wpas_dpp_rx_reconfig_auth_resp
    - wpas_dpp_rx_auth_conf
    - wpas_dpp_rx_conf_result
    - wpas_dpp_rx_conn_status_result
    - wpa_printf
    - wpas_dpp_rx_priv_peer_intro_notify
    - WPA_GET_BE24
    - wpas_dpp_pkex_remove
    - wpas_dpp_rx_pb_presence_announcement_resp
    - wpas_dpp_rx_presence_announcement
    - wpas_dpp_rx_peer_disc_resp
    - wpas_dpp_rx_pb_presence_announcement
    - wpas_dpp_rx_reconfig_announcement
    - wpas_dpp_rx_pkex_commit_reveal_req
    - dpp_check_attrs
    - wpa_msg
    - wpas_dpp_rx_auth_resp
    - wpas_dpp_rx_reconfig_auth_req
    - wpas_dpp_rx_pkex_commit_reveal_resp
    - MAC2STR
    - wpas_dpp_rx_pkex_exchange_req
    - wpas_dpp_rx_reconfig_auth_conf
    linkageType: ''
    returnType: void
    signature: "void wpas_dpp_rx_action(struct wpa_supplicant *wpa_s, const u8 *src,\n\t\t\tconst
      u8 *buf, size_t len, unsigned int freq)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4238,1
    - Dst: gas_server_set_comeback_delay
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4240,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4242
      start: 4229
    functionDepth: 1
    functionLinenumber: 4229
    functionLinenumberEnd: 4242
    functionName: wpas_dpp_gas_initial_resp_timeout
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - gas_server_set_comeback_delay
    linkageType: ''
    returnType: void
    signature: "void wpas_dpp_gas_initial_resp_timeout(void *eloop_ctx,\n\t\t\t\t\t
      \     void *timeout_ctx)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4253,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4254,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4256,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4257,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4262,1
    - Dst: dpp_notify_auth_success
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4268,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4272,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4279,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4282,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4283,1
    - Dst: dpp_conf_req_rx
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4284,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4290,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4304,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4308,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4310,1
    - Dst: printf_encode
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4312,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4321,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4323,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4330,1
    - Dst: has_ctrl_char
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4332,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4335,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4338,1
    - Dst: dpp_netrole_str
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4339,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4340,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4342,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4344,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4352,1
    - Dst: dpp_auth_deinit
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4353,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 64
    argCount: 6
    argNames:
    - ctx
    - resp_ctx
    - sa
    - query
    - query_len
    - comeback_delay
    argTypes:
    - void*
    - void*
    - u8*
    - u8*
    - size_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4357
      start: 4245
    functionDepth: 1
    functionLinenumber: 4245
    functionLinenumberEnd: 4357
    functionName: wpas_dpp_gas_req_handler
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - has_ctrl_char
    - wpa_printf
    - dpp_auth_deinit
    - wpa_hexdump
    - wpa_msg
    - eloop_cancel_timeout
    - ether_addr_equal
    - os_malloc
    - printf_encode
    - MAC2STR
    - os_snprintf
    - dpp_netrole_str
    - dpp_notify_auth_success
    - eloop_register_timeout
    - dpp_conf_req_rx
    - os_free
    - os_snprintf_error
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf *\nwpas_dpp_gas_req_handler(void *ctx, void *resp_ctx,
      const u8 *sa,\n\t\t\t const u8 *query, size_t query_len, int *comeback_delay)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4367,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4371,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4374,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4380,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4381,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4388,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4389,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4394,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4396,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4397,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4398,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4403,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4406,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4407,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4409,1
    - Dst: offchannel_send_action_done
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4415,1
    - Dst: wpas_dpp_listen_stop
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4416,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4418,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4421,1
    - Dst: dpp_auth_deinit
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4422,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4424,1
    - Dst: wpas_dpp_pb_active
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4426,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4428,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4431,1
    - Dst: wpas_dpp_remove_pb_hash
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4435,1
    - Dst: wpas_dpp_push_button_stop
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4436,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 3
    argNames:
    - ctx
    - resp
    - ok
    argTypes:
    - void*
    - struct wpabuf*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4439
      start: 4360
    functionDepth: 5
    functionLinenumber: 4360
    functionLinenumberEnd: 4439
    functionName: wpas_dpp_gas_status_handler
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dpp_auth_deinit
    - offchannel_send_action_done
    - eloop_cancel_timeout
    - wpa_msg
    - wpas_dpp_remove_pb_hash
    - wpabuf_free
    - wpas_dpp_push_button_stop
    - wpas_dpp_listen_stop
    - eloop_register_timeout
    - wpas_dpp_pb_active
    linkageType: ''
    returnType: void
    signature: void wpas_dpp_gas_status_handler(void *ctx, struct wpabuf *resp, int
      ok)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dpp_alloc_auth
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4448,1
    - Dst: get_param
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4452,1
    - Dst: wpas_dpp_set_testing_options
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4453,1
    - Dst: dpp_set_configurator
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4454,1
    - Dst: dpp_configurator_own_config
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4455,1
    - Dst: wpas_dpp_handle_config_obj
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4456,1
    - Dst: wpas_dpp_post_process_config
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4459,1
    - Dst: dpp_auth_deinit
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4461,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4462,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4465
      start: 4442
    functionDepth: 8
    functionLinenumber: 4442
    functionLinenumberEnd: 4465
    functionName: wpas_dpp_configurator_sign
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - dpp_auth_deinit
    - wpas_dpp_set_testing_options
    - wpas_dpp_handle_config_obj
    - wpas_dpp_post_process_config
    - get_param
    - dpp_set_configurator
    - dpp_configurator_own_config
    - os_free
    - dpp_alloc_auth
    linkageType: ''
    returnType: int
    signature: int wpas_dpp_configurator_sign(struct wpa_supplicant *wpa_s, const
      char *cmd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4480,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4482,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4483,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 8
    argNames:
    - wpa_s
    - freq
    - dst
    - src
    - bssid
    - data
    - data_len
    - result
    argTypes:
    - struct wpa_supplicant*
    - unsigned int
    - u8*
    - u8*
    - u8*
    - u8*
    - size_t
    - enum offchannel_send_action_result
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4486
      start: 4468
    functionDepth: 1
    functionLinenumber: 4468
    functionLinenumberEnd: 4486
    functionName: wpas_dpp_tx_introduction_status
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: "void wpas_dpp_tx_introduction_status(struct wpa_supplicant *wpa_s,\n\t\t\t\tunsigned
      int freq, const u8 *dst,\n\t\t\t\tconst u8 *src, const u8 *bssid,\n\t\t\t\tconst
      u8 *data, size_t data_len,\n\t\t\t\tenum offchannel_send_action_result result)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dpp_alloc_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4501,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4506,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4507,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4508,1
    - Dst: dpp_get_connector_version
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4510,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4512,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4519,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4520,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4521,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4523,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4529,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4530,1
    - Dst: offchannel_send_action
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4531,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4533,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4533,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4535,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4539,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 3
    argNames:
    - wpa_s
    - ssid
    - bss
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    - struct wpa_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4542
      start: 4490
    functionDepth: 3
    functionLinenumber: 4490
    functionLinenumberEnd: 4542
    functionName: wpas_dpp_start_private_peer_intro
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpabuf_put_u8
    - wpa_msg
    - offchannel_send_action
    - dpp_alloc_msg
    - wpabuf_len
    - wpabuf_free
    - wpabuf_put_le16
    - wpabuf_head
    - MAC2STR
    - dpp_get_connector_version
    - wpa_hexdump_buf
    linkageType: ''
    returnType: int
    signature: "int wpas_dpp_start_private_peer_intro(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \    struct wpa_ssid *ssid,\n\t\t\t\t\t     struct wpa_bss *bss)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: wpa_bss_get_rsne
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4558,1
    - Dst: wpa_parse_wpa_ie
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4559,1
    - Dst: wpa_sm_pmksa_exists
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4562,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4567,1
    - Dst: os_get_time
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4575,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4579,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4584,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4588,1
    - Dst: wpa_supplicant_set_state
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4590,1
    - Dst: wpas_dpp_start_private_peer_intro
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4594,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4597,1
    - Dst: dpp_alloc_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4601,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4607,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4611,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4612,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4613,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4619,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4620,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4621,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4626,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4632,1
    - Dst: dpp_corrupt_connector_signature
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4633,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4636,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4639,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4640,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4640,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4641,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4642,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4648,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4649,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4649,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4650,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4655,1
    - Dst: dpp_get_connector_version
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4666,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4668,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4677,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4683,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4684,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4685,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4697,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4698,1
    - Dst: offchannel_send_action
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4699,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4701,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4701,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4703,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4707,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 99
    argCount: 3
    argNames:
    - wpa_s
    - ssid
    - bss
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    - struct wpa_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4710
      start: 4546
    functionDepth: 9
    functionLinenumber: 4546
    functionLinenumberEnd: 4710
    functionName: wpas_dpp_check_connect
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 1
    functionsReached:
    - dpp_corrupt_connector_signature
    - offchannel_send_action
    - wpabuf_put_str
    - wpa_sm_pmksa_exists
    - os_strlen
    - wpa_printf
    - os_free
    - wpabuf_put_u8
    - wpabuf_len
    - wpabuf_head
    - wpa_bss_get_rsne
    - os_get_time
    - dpp_get_connector_version
    - os_memcpy
    - wpa_msg
    - dpp_alloc_msg
    - wpabuf_free
    - wpa_parse_wpa_ie
    - wpa_supplicant_set_state
    - MAC2STR
    - wpabuf_put_le16
    - wpas_dpp_start_private_peer_intro
    linkageType: ''
    returnType: int
    signature: "int wpas_dpp_check_connect(struct wpa_supplicant *wpa_s, struct wpa_ssid
      *ssid,\n\t\t\t   struct wpa_bss *bss)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4728,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4731,1
    - Dst: get_param
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4734,1
    - Dst: hostapd_parse_ip_addr
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4738,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4739,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4746,1
    - Dst: dpp_bootstrap_get_id
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4750,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4750,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4752,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4757,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4764,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4766,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4769,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4772,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4775,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4779,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4782,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4783,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4786,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4788,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4793,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4803,1
    - Dst: wpas_dpp_pkex_init
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4804,1
    - Dst: dpp_controller_pkex_add
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4808,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4816,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4817,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 71
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4820
      start: 4713
    functionDepth: 4
    functionLinenumber: 4713
    functionLinenumberEnd: 4820
    functionName: wpas_dpp_pkex_add
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - os_strchr
    - os_strlen
    - wpa_printf
    - os_memcpy
    - dpp_controller_pkex_add
    - os_malloc
    - os_strstr
    - get_param
    - atoi
    - hostapd_parse_ip_addr
    - os_free
    - dpp_bootstrap_get_id
    - wpas_dpp_pkex_init
    - os_strdup
    linkageType: ''
    returnType: int
    signature: int wpas_dpp_pkex_add(struct wpa_supplicant *wpa_s, const char *cmd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4827,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4830,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4839,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4841,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4843,1
    - Dst: dpp_pkex_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4847,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - wpa_s
    - id
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4850
      start: 4823
    functionDepth: 1
    functionLinenumber: 4823
    functionLinenumberEnd: 4850
    functionName: wpas_dpp_pkex_remove
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 1
    functionsReached:
    - atoi
    - os_free
    - dpp_pkex_free
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: int wpas_dpp_pkex_remove(struct wpa_supplicant *wpa_s, const char *id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: offchannel_send_action_done
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4856,1
    - Dst: dpp_auth_deinit
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4857,1
    - Dst: dpp_pkex_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4859,1
    - Dst: gas_query_stop
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4863,1
    - Dst: wpas_dpp_push_button_stop
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4865,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4867
      start: 4853
    functionDepth: 2
    functionLinenumber: 4853
    functionLinenumberEnd: 4867
    functionName: wpas_dpp_stop
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - dpp_auth_deinit
    - gas_query_stop
    - offchannel_send_action_done
    - dpp_pkex_free
    - wpas_dpp_push_button_stop
    linkageType: ''
    returnType: void
    signature: void wpas_dpp_stop(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WPA_PUT_BE24
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4877,1
    - Dst: gas_server_register
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4881,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4886,1
    - Dst: dpp_global_init
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4891,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4893
      start: 4870
    functionDepth: 1
    functionLinenumber: 4870
    functionLinenumberEnd: 4893
    functionName: wpas_dpp_init
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 1
    functionsReached:
    - gas_server_register
    - WPA_PUT_BE24
    - dpp_global_init
    - os_memset
    linkageType: ''
    returnType: int
    signature: int wpas_dpp_init(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4899,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4901,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4903,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4909,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4910,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4911,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4912,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4913,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4914,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4915,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4916,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4917,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4918,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4920,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4921,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4923,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4924,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4926,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4927,1
    - Dst: dpp_pfs_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4928,1
    - Dst: wpas_dpp_chirp_stop
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4930,1
    - Dst: dpp_free_reconfig_id
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4931,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4935,1
    - Dst: offchannel_send_action_done
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4937,1
    - Dst: wpas_dpp_listen_stop
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4938,1
    - Dst: wpas_dpp_stop
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4939,1
    - Dst: wpas_dpp_pkex_remove
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4940,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4941,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4942,1
    - Dst: dpp_global_clear
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4944,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 40
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4945
      start: 4896
    functionDepth: 5
    functionLinenumber: 4896
    functionLinenumberEnd: 4945
    functionName: wpas_dpp_deinit
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 2
    functionsReached:
    - dpp_pfs_free
    - offchannel_send_action_done
    - eloop_cancel_timeout
    - wpas_dpp_stop
    - dpp_global_clear
    - dpp_free_reconfig_id
    - wpas_dpp_listen_stop
    - wpas_dpp_chirp_stop
    - wpas_dpp_pkex_remove
    - os_free
    - os_memset
    linkageType: ''
    returnType: void
    signature: void wpas_dpp_deinit(struct wpa_supplicant *wpa_s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dpp_build_conf_resp
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4953,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4963,1
    - Dst: gas_server_set_resp
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4964,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4966,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4968,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - wpa_s
    - auth
    - tcp
    argTypes:
    - struct wpa_supplicant*
    - struct dpp_authentication*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4973
      start: 4948
    functionDepth: 1
    functionLinenumber: 4948
    functionLinenumberEnd: 4973
    functionName: wpas_dpp_build_conf_resp
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eloop_cancel_timeout
    - wpabuf_free
    - gas_server_set_resp
    - dpp_build_conf_resp
    linkageType: ''
    returnType: int
    signature: "int wpas_dpp_build_conf_resp(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \   struct dpp_authentication *auth, bool tcp)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4983,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4986,1
    - Dst: dpp_controller_get_auth
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4991,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:4997,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5006,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5010,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5012,1
    - Dst: gas_server_set_comeback_delay
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5014,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5016,1
    - Dst: dpp_set_configurator
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5020,1
    - Dst: wpas_dpp_build_conf_resp
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5025,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5026
      start: 4976
    functionDepth: 2
    functionLinenumber: 4976
    functionLinenumberEnd: 5026
    functionName: wpas_dpp_conf_set
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpas_dpp_build_conf_resp
    - gas_server_set_comeback_delay
    - eloop_cancel_timeout
    - os_strstr
    - dpp_set_configurator
    - atoi
    - dpp_controller_get_auth
    linkageType: ''
    returnType: int
    signature: int wpas_dpp_conf_set(struct wpa_supplicant *wpa_s, const char *cmd)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5036,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5044,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5047,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5050,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5053,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5055,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5057,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5064,1
    - Dst: dpp_controller_start
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5067,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5068
      start: 5031
    functionDepth: 1
    functionLinenumber: 5031
    functionLinenumberEnd: 5068
    functionName: wpas_dpp_controller_start
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - dpp_controller_start
    - os_strncmp
    - os_strstr
    - atoi
    - os_memset
    linkageType: ''
    returnType: int
    signature: int wpas_dpp_controller_start(struct wpa_supplicant *wpa_s, const char
      *cmd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5077,1
    - Dst: offchannel_send_action_done
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5078,1
    - Dst: wpas_dpp_chirp_next
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5079,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5080
      start: 5073
    functionDepth: 2
    functionLinenumber: 5073
    functionLinenumberEnd: 5080
    functionName: wpas_dpp_chirp_timeout
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_dpp_chirp_next
    - wpa_printf
    - offchannel_send_action_done
    linkageType: ''
    returnType: void
    signature: void wpas_dpp_chirp_timeout(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5090,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5092,1
    - Dst: wpas_dpp_chirp_stop
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5094,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5098,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5099,1
    - Dst: wpas_dpp_chirp_stop
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 8
    argNames:
    - wpa_s
    - freq
    - dst
    - src
    - bssid
    - data
    - data_len
    - result
    argTypes:
    - struct wpa_supplicant*
    - unsigned int
    - u8*
    - u8*
    - u8*
    - u8*
    - size_t
    - enum offchannel_send_action_result
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5102
      start: 5083
    functionDepth: 1
    functionLinenumber: 5083
    functionLinenumberEnd: 5102
    functionName: wpas_dpp_chirp_tx_status
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eloop_register_timeout
    - wpas_dpp_chirp_stop
    linkageType: ''
    returnType: void
    signature: "void wpas_dpp_chirp_tx_status(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \    unsigned int freq, const u8 *dst,\n\t\t\t\t     const u8 *src, const u8
      *bssid,\n\t\t\t\t     const u8 *data, size_t data_len,\n\t\t\t\t     enum offchannel_send_action_result
      result)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_get_network
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5116,1
    - Dst: dpp_build_reconfig_announcement
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5119,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5131,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5132,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5133,1
    - Dst: offchannel_send_action
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5134,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5137,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5137,1
    - Dst: wpas_dpp_chirp_stop
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5139,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5141,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5142
      start: 5105
    functionDepth: 3
    functionLinenumber: 5105
    functionLinenumberEnd: 5142
    functionName: wpas_dpp_chirp_start
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - dpp_build_reconfig_announcement
    - wpa_printf
    - offchannel_send_action
    - wpa_msg
    - wpabuf_len
    - wpabuf_free
    - wpabuf_head
    - MAC2STR
    - wpas_dpp_chirp_stop
    - wpa_config_get_network
    linkageType: ''
    returnType: void
    signature: void wpas_dpp_chirp_start(struct wpa_supplicant *wpa_s)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: int_array_add_unique
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5158,1
    - Dst: get_mode
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5162,1
    - Dst: int_array_add_unique
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5176,1
    - Dst: get_mode
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5178,1
    - Dst: int_array_add_unique
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5195,1
    - Dst: int_array_add_unique
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5197,1
    - Dst: get_mode
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5200,1
    - Dst: int_array_add_unique
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5210,1
    - Dst: dl_list_for_each
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5217,1
    - Dst: wpa_bss_get_vendor_ie
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5218,1
    - Dst: int_array_add_unique
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5219,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 45
    argCount: 2
    argNames:
    - wpa_s
    - bi
    argTypes:
    - struct wpa_supplicant*
    - struct dpp_bootstrap_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5223
      start: 5145
    functionDepth: 2
    functionLinenumber: 5145
    functionLinenumberEnd: 5223
    functionName: wpas_dpp_presence_ann_channels
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    - wpa_bss_get_vendor_ie
    - get_mode
    - int_array_add_unique
    linkageType: ''
    returnType: int
    signature: "int * wpas_dpp_presence_ann_channels(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \   struct dpp_bootstrap_info *bi)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5236,1
    - Dst: wpas_dpp_presence_ann_channels
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5237,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5240,1
    - Dst: wpas_dpp_chirp_stop
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5241,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - wpa_s
    - scan_res
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_scan_results*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5242
      start: 5226
    functionDepth: 3
    functionLinenumber: 5226
    functionLinenumberEnd: 5242
    functionName: wpas_dpp_chirp_scan_res_handler
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - os_free
    - eloop_register_timeout
    - wpas_dpp_chirp_stop
    - wpas_dpp_presence_ann_channels
    linkageType: ''
    returnType: void
    signature: "void wpas_dpp_chirp_scan_res_handler(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \   struct wpa_scan_results *scan_res)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dpp_listen_stop
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5251,1
    - Dst: wpas_scan_scheduled
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5256,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5257,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5259,1
    - Dst: wpas_dpp_chirp_stop
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5262,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5267,1
    - Dst: wpa_supplicant_req_scan
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5272,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5277,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5284,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5295,1
    - Dst: wpas_dpp_chirp_stop
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5297,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5302,1
    - Dst: wpas_dpp_chirp_stop
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5304,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5308,1
    - Dst: wpas_dpp_listen_start
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5311,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5314,1
    - Dst: wpas_dpp_chirp_start
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5321,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 56
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5322
      start: 5245
    functionDepth: 5
    functionLinenumber: 5245
    functionLinenumberEnd: 5322
    functionName: wpas_dpp_chirp_next
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpas_scan_scheduled
    - wpa_supplicant_req_scan
    - wpas_dpp_listen_start
    - wpas_dpp_listen_stop
    - eloop_register_timeout
    - wpas_dpp_chirp_stop
    - wpas_dpp_chirp_start
    linkageType: ''
    returnType: void
    signature: void wpas_dpp_chirp_next(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5331,1
    - Dst: dpp_bootstrap_get_id
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5335,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5335,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5337,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5342,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5344,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5349,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5351,1
    - Dst: wpas_dpp_chirp_stop
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5356,1
    - Dst: dpp_build_presence_announcement
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5361,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5369,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5370
      start: 5325
    functionDepth: 1
    functionLinenumber: 5325
    functionLinenumberEnd: 5370
    functionName: wpas_dpp_chirp
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - dpp_build_presence_announcement
    - wpa_printf
    - os_strstr
    - eloop_register_timeout
    - wpas_dpp_chirp_stop
    - atoi
    - dpp_bootstrap_get_id
    linkageType: ''
    returnType: int
    signature: int wpas_dpp_chirp(struct wpa_supplicant *wpa_s, const char *cmd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: offchannel_send_action_done
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5377,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5378,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5381,1
    - Dst: wpas_dpp_listen_stop
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5384,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5387,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5389,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5390,1
    - Dst: wpas_abort_ongoing_scan
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5392,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5395
      start: 5373
    functionDepth: 5
    functionLinenumber: 5373
    functionLinenumberEnd: 5395
    functionName: wpas_dpp_chirp_stop
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 10
    functionsReached:
    - wpa_msg
    - offchannel_send_action_done
    - eloop_cancel_timeout
    - wpabuf_free
    - wpas_dpp_listen_stop
    - os_free
    - wpas_abort_ongoing_scan
    linkageType: ''
    returnType: void
    signature: void wpas_dpp_chirp_stop(struct wpa_supplicant *wpa_s)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_get_network
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5404,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5404,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5407,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5412,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5414,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5420,1
    - Dst: dpp_free_reconfig_id
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5425,1
    - Dst: dpp_gen_reconfig_id
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5426,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5431,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5436,1
    - Dst: wpa_supplicant_deauthenticate
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5438,1
    - Dst: wpas_dpp_chirp_stop
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5441,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5452,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5453
      start: 5398
    functionDepth: 6
    functionLinenumber: 5398
    functionLinenumberEnd: 5453
    functionName: wpas_dpp_reconfig
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dpp_gen_reconfig_id
    - os_strstr
    - dpp_free_reconfig_id
    - wpa_supplicant_deauthenticate
    - eloop_register_timeout
    - wpas_dpp_chirp_stop
    - atoi
    - wpa_config_get_network
    linkageType: ''
    returnType: int
    signature: int wpas_dpp_reconfig(struct wpa_supplicant *wpa_s, const char *cmd)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5466,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5468,1
    - Dst: dpp_controller_get_auth
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5472,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5478,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5488,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5492,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5497,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5502,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5503,1
    - Dst: wpas_dpp_build_conf_resp
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5504,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5507,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5508,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5509,1
    - Dst: base64_decode
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5513,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5513,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5516,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5517,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5519,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5520,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5525,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5526,1
    - Dst: wpas_dpp_build_conf_resp
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5528,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5531,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 51
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5533
      start: 5456
    functionDepth: 2
    functionLinenumber: 5456
    functionLinenumberEnd: 5533
    functionName: wpas_dpp_ca_set
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - wpas_dpp_build_conf_resp
    - wpabuf_free
    - wpabuf_alloc_copy
    - os_strncmp
    - os_strstr
    - base64_decode
    - atoi
    - os_free
    - dpp_controller_get_auth
    - os_strdup
    linkageType: ''
    returnType: int
    signature: int wpas_dpp_ca_set(struct wpa_supplicant *wpa_s, const char *cmd)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5552,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5555,1
    - Dst: wpas_dpp_push_button_stop
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5557,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5561,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5565,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5568,1
    - Dst: wpas_dpp_push_button_stop
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5570,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5573,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5576,1
    - Dst: wpas_dpp_push_button_stop
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5578,1
    - Dst: wpas_dpp_pb_announce
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5582,1
    - Dst: wpas_dpp_push_button_stop
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5583,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 8
    argNames:
    - wpa_s
    - freq
    - dst
    - src
    - bssid
    - data
    - data_len
    - result
    argTypes:
    - struct wpa_supplicant*
    - unsigned int
    - u8*
    - u8*
    - u8*
    - u8*
    - size_t
    - enum offchannel_send_action_result
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5584
      start: 5545
    functionDepth: 1
    functionLinenumber: 5545
    functionLinenumberEnd: 5584
    functionName: wpas_dpp_pb_tx_status
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_dpp_push_button_stop
    - wpa_printf
    - wpas_dpp_pb_announce
    - eloop_register_timeout
    linkageType: ''
    returnType: void
    signature: "void wpas_dpp_pb_tx_status(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \ unsigned int freq, const u8 *dst,\n\t\t\t\t  const u8 *src, const u8 *bssid,\n\t\t\t\t
      \ const u8 *data, size_t data_len,\n\t\t\t\t  enum offchannel_send_action_result
      result)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5597,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5604,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5606,1
    - Dst: offchannel_send_action
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5607,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5609,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5609,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - wpa_s
    - freq
    argTypes:
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5614
      start: 5587
    functionDepth: 3
    functionLinenumber: 5587
    functionLinenumberEnd: 5614
    functionName: wpas_dpp_pb_announce
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - offchannel_send_action
    - wpa_msg
    - wpabuf_len
    - wpabuf_head
    - MAC2STR
    linkageType: ''
    returnType: int
    signature: int wpas_dpp_pb_announce(struct wpa_supplicant *wpa_s, int freq)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5626,1
    - Dst: offchannel_send_action_done
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5627,1
    - Dst: os_reltime_expired
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5629,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5630,1
    - Dst: wpas_dpp_push_button_stop
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5631,1
    - Dst: int_array_len
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5635,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5636,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5643,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5645,1
    - Dst: wpas_dpp_push_button_stop
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5648,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5655,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5662,1
    - Dst: os_memdup
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5663,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5669,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5671,1
    - Dst: wpas_dpp_push_button_stop
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5675,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5681,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5693,1
    - Dst: wpas_dpp_pb_announce
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5696,1
    - Dst: wpas_dpp_push_button_stop
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5697,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 54
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5700
      start: 5617
    functionDepth: 4
    functionLinenumber: 5617
    functionLinenumberEnd: 5700
    functionName: wpas_dpp_pb_next
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - os_get_reltime
    - wpa_printf
    - offchannel_send_action_done
    - wpa_msg
    - os_memdup
    - int_array_len
    - eloop_register_timeout
    - os_reltime_expired
    - wpas_dpp_push_button_stop
    - os_free
    - wpas_dpp_pb_announce
    - os_strdup
    linkageType: ''
    returnType: void
    signature: void wpas_dpp_pb_next(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5707,1
    - Dst: wpas_dpp_push_button_stop
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5709,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5710
      start: 5703
    functionDepth: 1
    functionLinenumber: 5703
    functionLinenumberEnd: 5710
    functionName: wpas_dpp_push_button_expire
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - wpas_dpp_push_button_stop
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void wpas_dpp_push_button_expire(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: str_clear_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5719,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5722,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5726,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5729,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5731
      start: 5713
    functionDepth: 1
    functionLinenumber: 5713
    functionLinenumberEnd: 5731
    functionName: wpas_dpp_push_button_configurator
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - eloop_register_timeout
    - str_clear_free
    - os_strdup
    - wpa_msg
    linkageType: ''
    returnType: int
    signature: "int wpas_dpp_push_button_configurator(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \    const char *cmd)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5740,1
    - Dst: wpas_dpp_presence_ann_channels
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5741,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5743,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5745,1
    - Dst: wpas_dpp_push_button_stop
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5746,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - wpa_s
    - scan_res
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_scan_results*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5747
      start: 5734
    functionDepth: 3
    functionLinenumber: 5734
    functionLinenumberEnd: 5747
    functionName: wpas_dpp_pb_scan_res_handler
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpas_dpp_presence_ann_channels
    - eloop_register_timeout
    - os_free
    - wpas_dpp_push_button_stop
    linkageType: ''
    returnType: void
    signature: "void wpas_dpp_pb_scan_res_handler(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      struct wpa_scan_results *scan_res)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dpp_push_button_stop
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5756,1
    - Dst: wpas_dpp_stop
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5757,1
    - Dst: wpas_dpp_chirp_stop
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5758,1
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5760,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5763,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5764,1
    - Dst: wpas_dpp_push_button_configurator
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5765,1
    - Dst: dpp_bootstrap_gen
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5771,1
    - Dst: dpp_bootstrap_get_id
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5774,1
    - Dst: dpp_build_pb_announcement
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5782,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5786,1
    - Dst: wpa_supplicant_cancel_sched_scan
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5790,1
    - Dst: wpa_drv_dpp_listen
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5791,1
    - Dst: wpa_supplicant_req_scan
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5792,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5793,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 2
    argNames:
    - wpa_s
    - cmd
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5795
      start: 5750
    functionDepth: 6
    functionLinenumber: 5750
    functionLinenumberEnd: 5795
    functionName: wpas_dpp_push_button
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_cancel_sched_scan
    - os_get_reltime
    - wpas_dpp_push_button_configurator
    - wpa_printf
    - wpa_supplicant_req_scan
    - wpa_msg
    - wpas_dpp_stop
    - dpp_bootstrap_gen
    - os_strstr
    - dpp_build_pb_announcement
    - wpa_drv_dpp_listen
    - wpas_dpp_chirp_stop
    - wpas_dpp_push_button_stop
    - dpp_bootstrap_get_id
    linkageType: ''
    returnType: int
    signature: int wpas_dpp_push_button(struct wpa_supplicant *wpa_s, const char *cmd)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5802,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5804,1
    - Dst: wpa_drv_dpp_listen
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5809,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5813,1
    - Dst: dpp_bootstrap_remove
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5814,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5817,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5825,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5828,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5829,1
    - Dst: wpas_dpp_pb_active
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5830,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5831,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5833,1
    - Dst: dpp_pkex_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5837,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5839,1
    - Dst: str_clear_free
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5844,1
    - Dst: wpas_abort_ongoing_scan
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5848,1
    - Dst: offchannel_send_action_done
      Src: /src/hostap/wpa_supplicant/dpp_supplicant.c:5852,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 45
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5853
      start: 5798
    functionDepth: 2
    functionLinenumber: 5798
    functionLinenumberEnd: 5853
    functionName: wpas_dpp_push_button_stop
    functionSourceFile: /src/hostap/wpa_supplicant/dpp_supplicant.c
    functionUses: 15
    functionsReached:
    - wpa_printf
    - dpp_bootstrap_remove
    - wpa_msg
    - eloop_cancel_timeout
    - offchannel_send_action_done
    - wpabuf_free
    - os_snprintf
    - str_clear_free
    - dpp_pkex_free
    - wpa_drv_dpp_listen
    - os_free
    - wpas_dpp_pb_active
    - wpas_abort_ongoing_scan
    linkageType: ''
    returnType: void
    signature: void wpas_dpp_push_button_stop(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:84,1
    - Dst: print_help
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 101
    functionName: usage
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 3
    functionsReached:
    - print_help
    - printf
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:108,1
    - Dst: str_starts
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:117,1
    - Dst: str_starts
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - event
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 122
    functionName: wpa_cli_show_event
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - os_strchr
    - str_starts
    linkageType: ''
    returnType: int
    signature: int wpa_cli_show_event(const char *event)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_open
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:128,1
    - Dst: wpa_ctrl_open
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:133,1
    - Dst: access
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:144,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:145,1
    - Dst: access
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:152,1
    - Dst: perror
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:153,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:154,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:159,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:159,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:160,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:163,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:165,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:166,1
    - Dst: wpa_ctrl_open2
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:171,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:173,1
    - Dst: wpa_ctrl_open2
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:178,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:181,1
    - Dst: wpa_ctrl_attach
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:185,1
    - Dst: eloop_register_read_sock
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:188,1
    - Dst: wpa_ctrl_get_fd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:189,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:192,1
    - Dst: wpa_cli_close_connection
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:194,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 51
    argCount: 2
    argNames:
    - ifname
    - attach
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 200
    functionName: wpa_cli_open_connection
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_ctrl_open2
    - eloop_register_read_sock
    - access
    - os_malloc
    - perror
    - wpa_ctrl_open
    - os_snprintf
    - printf
    - wpa_cli_close_connection
    - wpa_ctrl_attach
    - os_free
    - wpa_ctrl_get_fd
    - os_strdup
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: int wpa_cli_open_connection(const char *ifname, int attach)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_detach
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:209,1
    - Dst: wpa_ctrl_close
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:212,1
    - Dst: eloop_unregister_read_sock
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:215,1
    - Dst: wpa_ctrl_get_fd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:215,1
    - Dst: wpa_ctrl_close
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:216,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 219
    functionName: wpa_cli_close_connection
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 1
    functionsReached:
    - wpa_ctrl_close
    - wpa_ctrl_detach
    - eloop_unregister_read_sock
    - wpa_ctrl_get_fd
    linkageType: ''
    returnType: void
    signature: void wpa_cli_close_connection(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 225
    functionName: wpa_cli_msg_cb
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void wpa_cli_msg_cb(char *msg, size_t len)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:235,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:239,1
    - Dst: wpa_ctrl_request
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:245,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:245,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:248,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:251,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:256,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:258,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 3
    argNames:
    - ctrl
    - cmd
    - print
    argTypes:
    - struct wpa_ctrl*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 261
    functionName: _wpa_ctrl_command
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - os_strlen
    - wpa_ctrl_request
    - printf
    linkageType: ''
    returnType: int
    signature: int _wpa_ctrl_command(struct wpa_ctrl *ctrl, const char *cmd, int print)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctrl
    - cmd
    argTypes:
    - struct wpa_ctrl*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 267
    functionName: wpa_ctrl_command
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 1
    functionsReached:
    - _wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: int wpa_ctrl_command(struct wpa_ctrl *ctrl, const char *cmd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:275,1
    - Dst: write_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:280,1
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - ctrl
    - cmd
    - min_args
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - char*
    - int
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 283
    functionName: wpa_cli_cmd
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    - write_cmd
    - printf
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd(struct wpa_ctrl *ctrl, const char *cmd, int min_args,\n\t\t
      \      int argc, char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 289
    functionName: wpa_cli_cmd_ifname
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: int wpa_cli_cmd_ifname(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:294,1
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:295,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:296,1
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:297,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:298,1
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:299,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:301,1
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:302,1
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:304,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 305
    functionName: wpa_cli_cmd_status
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: int wpa_cli_cmd_status(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 311
    functionName: wpa_cli_cmd_ping
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: int wpa_cli_cmd_ping(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 317
    functionName: wpa_cli_cmd_relog
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: int wpa_cli_cmd_relog(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 320
    functionDepth: 2
    functionLinenumber: 320
    functionLinenumberEnd: 323
    functionName: wpa_cli_cmd_note
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: int wpa_cli_cmd_note(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 329
    functionName: wpa_cli_cmd_mib
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: int wpa_cli_cmd_mib(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 335
    functionName: wpa_cli_cmd_pmksa
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: int wpa_cli_cmd_pmksa(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 342
    functionName: wpa_cli_cmd_pmksa_flush
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_pmksa_flush(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \  char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 350
    functionName: wpa_cli_cmd_pmksa_get
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: int wpa_cli_cmd_pmksa_get(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 353
    functionDepth: 2
    functionLinenumber: 353
    functionLinenumberEnd: 356
    functionName: wpa_cli_cmd_pmksa_add
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: int wpa_cli_cmd_pmksa_add(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 361
    functionDepth: 2
    functionLinenumber: 361
    functionLinenumberEnd: 365
    functionName: wpa_cli_mesh_cmd_pmksa_get
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_mesh_cmd_pmksa_get(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \     char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 368
    functionDepth: 2
    functionLinenumber: 368
    functionLinenumberEnd: 372
    functionName: wpa_cli_mesh_cmd_pmksa_add
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_mesh_cmd_pmksa_add(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \     char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_help
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 382
    functionName: wpa_cli_cmd_help
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - print_help
    linkageType: ''
    returnType: int
    signature: int wpa_cli_cmd_help(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_cmd_arg_num
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:387,1
    - Dst: wpa_list_cmd_list
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:392,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 397
    functionName: wpa_cli_complete_help
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_list_cmd_list
    - get_cmd_arg_num
    linkageType: ''
    returnType: char
    signature: char ** wpa_cli_complete_help(const char *str, int pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 404
    functionName: wpa_cli_cmd_license
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: int
    signature: int wpa_cli_cmd_license(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eloop_terminate
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:411,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 413
    functionName: wpa_cli_cmd_quit
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - eloop_terminate
    linkageType: ''
    returnType: int
    signature: int wpa_cli_cmd_quit(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 419
    functionName: wpa_cli_cmd_mlo_status
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: int wpa_cli_cmd_mlo_status(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 425
    functionName: wpa_cli_cmd_mlo_signal_poll
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: int wpa_cli_cmd_mlo_signal_poll(struct wpa_ctrl *ctrl, int argc, char
      *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 432
    functionName: wpa_cli_cmd_setup_link_reconfig
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_setup_link_reconfig(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\t
      \  char *argv[])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:441,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:442,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:443,1
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:446,1
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:449,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 435
    functionDepth: 2
    functionLinenumber: 435
    functionLinenumberEnd: 450
    functionName: wpa_cli_cmd_set
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    - wpa_ctrl_command
    - printf
    - os_snprintf
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: int wpa_cli_cmd_set(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_cmd_arg_num
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:455,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:529,1
    - Dst: os_calloc
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:532,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:536,1
    - Dst: os_strncasecmp
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:543,1
    - Dst: cli_txt_list_array
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:544,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 547
    functionName: wpa_cli_complete_set
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - os_strncasecmp
    - os_calloc
    - cli_txt_list_array
    - get_cmd_arg_num
    - os_strdup
    - ARRAY_SIZE
    linkageType: ''
    returnType: char
    signature: char ** wpa_cli_complete_set(const char *str, int pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 552
    functionName: wpa_cli_cmd_dump
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: int wpa_cli_cmd_dump(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:558,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 559
    functionName: wpa_cli_cmd_driver_flags
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_driver_flags(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \   char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 566
    functionName: wpa_cli_cmd_driver_flags2
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_driver_flags2(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \    char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 569
    functionDepth: 2
    functionLinenumber: 569
    functionLinenumberEnd: 572
    functionName: wpa_cli_cmd_get
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: int wpa_cli_cmd_get(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_cmd_arg_num
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:577,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:631,1
    - Dst: os_calloc
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:634,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:638,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 575
    functionDepth: 1
    functionLinenumber: 575
    functionLinenumberEnd: 646
    functionName: wpa_cli_complete_get
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - os_strdup
    - os_calloc
    - get_cmd_arg_num
    - ARRAY_SIZE
    linkageType: ''
    returnType: char
    signature: char ** wpa_cli_complete_get(const char *str, int pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 652
    functionName: wpa_cli_cmd_logoff
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: int wpa_cli_cmd_logoff(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 658
    functionName: wpa_cli_cmd_logon
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: int wpa_cli_cmd_logon(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 665
    functionName: wpa_cli_cmd_reassociate
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_reassociate(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \  char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:670,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 671
    functionName: wpa_cli_cmd_reattach
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: int wpa_cli_cmd_reattach(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 674
    functionDepth: 2
    functionLinenumber: 674
    functionLinenumberEnd: 678
    functionName: wpa_cli_cmd_preauthenticate
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_preauthenticate(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \      char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:683,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 681
    functionDepth: 2
    functionLinenumber: 681
    functionLinenumberEnd: 684
    functionName: wpa_cli_cmd_ap_scan
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: int wpa_cli_cmd_ap_scan(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:690,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 687
    functionDepth: 2
    functionLinenumber: 687
    functionLinenumberEnd: 691
    functionName: wpa_cli_cmd_scan_interval
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_scan_interval(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \    char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:697,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 694
    functionDepth: 2
    functionLinenumber: 694
    functionLinenumberEnd: 698
    functionName: wpa_cli_cmd_bss_expire_age
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_bss_expire_age(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \     char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:704,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 701
    functionDepth: 2
    functionLinenumber: 701
    functionLinenumberEnd: 705
    functionName: wpa_cli_cmd_bss_expire_count
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_bss_expire_count(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \       char *argv[])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:714,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:716,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:717,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:718,1
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:721,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 708
    functionDepth: 1
    functionLinenumber: 708
    functionLinenumberEnd: 722
    functionName: wpa_cli_cmd_bss_flush
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - printf
    - wpa_ctrl_command
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: int wpa_cli_cmd_bss_flush(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:727,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 725
    functionDepth: 2
    functionLinenumber: 725
    functionLinenumberEnd: 728
    functionName: wpa_cli_cmd_ft_ds
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: int wpa_cli_cmd_ft_ds(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:733,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 731
    functionDepth: 2
    functionLinenumber: 731
    functionLinenumberEnd: 734
    functionName: wpa_cli_cmd_wps_pbc
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: int wpa_cli_cmd_wps_pbc(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:740,1
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:747,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 737
    functionDepth: 2
    functionLinenumber: 737
    functionLinenumberEnd: 748
    functionName: wpa_cli_cmd_wps_pin
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    - printf
    linkageType: ''
    returnType: int
    signature: int wpa_cli_cmd_wps_pin(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:754,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 751
    functionDepth: 2
    functionLinenumber: 751
    functionLinenumberEnd: 755
    functionName: wpa_cli_cmd_wps_check_pin
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_wps_check_pin(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \    char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 762
    functionName: wpa_cli_cmd_wps_cancel
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_wps_cancel(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \ char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:769,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 767
    functionDepth: 2
    functionLinenumber: 767
    functionLinenumberEnd: 770
    functionName: wpa_cli_cmd_wps_nfc
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: int wpa_cli_cmd_wps_nfc(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 773
    functionDepth: 2
    functionLinenumber: 773
    functionLinenumberEnd: 777
    functionName: wpa_cli_cmd_wps_nfc_config_token
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_wps_nfc_config_token(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\t
      \   char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:783,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 780
    functionDepth: 2
    functionLinenumber: 780
    functionLinenumberEnd: 784
    functionName: wpa_cli_cmd_wps_nfc_token
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_wps_nfc_token(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \    char *argv[])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:795,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:800,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:801,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:804,1
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:806,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:807,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 810
    functionName: wpa_cli_cmd_wps_nfc_tag_read
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_ctrl_command
    - os_malloc
    - printf
    - os_snprintf
    - os_free
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_wps_nfc_tag_read(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\tchar
      *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 813
    functionDepth: 2
    functionLinenumber: 813
    functionLinenumberEnd: 817
    functionName: wpa_cli_cmd_nfc_get_handover_req
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_nfc_get_handover_req(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\t
      \   char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 820
    functionDepth: 2
    functionLinenumber: 820
    functionLinenumberEnd: 824
    functionName: wpa_cli_cmd_nfc_get_handover_sel
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_nfc_get_handover_sel(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\t
      \   char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:830,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 827
    functionDepth: 2
    functionLinenumber: 827
    functionLinenumberEnd: 831
    functionName: wpa_cli_cmd_nfc_report_handover
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_nfc_report_handover(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\t
      \  char *argv[])"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:842,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:853,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:861,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:866,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:871,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:874,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:885,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:886,1
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:889,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 836
    functionDepth: 1
    functionLinenumber: 836
    functionLinenumberEnd: 890
    functionName: wpa_cli_cmd_wps_reg
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - os_snprintf_error
    - wpa_ctrl_command
    - printf
    linkageType: ''
    returnType: int
    signature: int wpa_cli_cmd_wps_reg(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:896,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 893
    functionDepth: 2
    functionLinenumber: 893
    functionLinenumberEnd: 897
    functionName: wpa_cli_cmd_wps_ap_pin
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_wps_ap_pin(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \ char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:903,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 904
      start: 900
    functionDepth: 2
    functionLinenumber: 900
    functionLinenumberEnd: 904
    functionName: wpa_cli_cmd_wps_er_start
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_wps_er_start(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \   char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:910,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 912
    functionName: wpa_cli_cmd_wps_er_stop
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_wps_er_stop(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \  char *argv[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:919,1
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:927,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 915
    functionDepth: 2
    functionLinenumber: 915
    functionLinenumberEnd: 928
    functionName: wpa_cli_cmd_wps_er_pin
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    - printf
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_wps_er_pin(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \ char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:934,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 931
    functionDepth: 2
    functionLinenumber: 931
    functionLinenumberEnd: 935
    functionName: wpa_cli_cmd_wps_er_pbc
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_wps_er_pbc(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \ char *argv[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:942,1
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:948,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 938
    functionDepth: 2
    functionLinenumber: 938
    functionLinenumberEnd: 949
    functionName: wpa_cli_cmd_wps_er_learn
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    - printf
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_wps_er_learn(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \   char *argv[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:956,1
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:963,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 952
    functionDepth: 2
    functionLinenumber: 952
    functionLinenumberEnd: 964
    functionName: wpa_cli_cmd_wps_er_set_config
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    - printf
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_wps_er_set_config(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\t
      char *argv[])"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:982,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:990,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:995,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1000,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1010,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1011,1
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1014,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 967
    functionDepth: 1
    functionLinenumber: 967
    functionLinenumberEnd: 1015
    functionName: wpa_cli_cmd_wps_er_config
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - os_snprintf_error
    - wpa_ctrl_command
    - printf
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_wps_er_config(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \    char *argv[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1023,1
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1030,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 1019
    functionDepth: 2
    functionLinenumber: 1019
    functionLinenumberEnd: 1031
    functionName: wpa_cli_cmd_wps_er_nfc_config_token
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    - printf
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_wps_er_nfc_config_token(struct wpa_ctrl *ctrl, int
      argc,\n\t\t\t\t\t       char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1037,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1038
      start: 1035
    functionDepth: 2
    functionLinenumber: 1035
    functionLinenumberEnd: 1038
    functionName: wpa_cli_cmd_ibss_rsn
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: int wpa_cli_cmd_ibss_rsn(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1043,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1041
    functionDepth: 2
    functionLinenumber: 1041
    functionLinenumberEnd: 1044
    functionName: wpa_cli_cmd_level
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: int wpa_cli_cmd_level(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1053,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1060,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1062,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1063,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1068,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1069,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1070,1
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1076,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1077
      start: 1047
    functionDepth: 1
    functionLinenumber: 1047
    functionLinenumberEnd: 1077
    functionName: wpa_cli_cmd_identity
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - os_snprintf_error
    - wpa_ctrl_command
    - printf
    linkageType: ''
    returnType: int
    signature: int wpa_cli_cmd_identity(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1086,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1093,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1095,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1096,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1101,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1102,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1103,1
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1109,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1110
      start: 1080
    functionDepth: 1
    functionLinenumber: 1080
    functionLinenumberEnd: 1110
    functionName: wpa_cli_cmd_password
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - os_snprintf_error
    - wpa_ctrl_command
    - printf
    linkageType: ''
    returnType: int
    signature: int wpa_cli_cmd_password(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1120,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1127,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1129,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1130,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1135,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1136,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1137,1
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1143,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1144
      start: 1113
    functionDepth: 1
    functionLinenumber: 1113
    functionLinenumberEnd: 1144
    functionName: wpa_cli_cmd_new_password
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - os_snprintf_error
    - wpa_ctrl_command
    - printf
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_new_password(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \   char *argv[])"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1153,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1160,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1162,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1163,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1168,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1169,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1170,1
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1175,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1176
      start: 1147
    functionDepth: 1
    functionLinenumber: 1147
    functionLinenumberEnd: 1176
    functionName: wpa_cli_cmd_pin
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - os_snprintf_error
    - wpa_ctrl_command
    - printf
    linkageType: ''
    returnType: int
    signature: int wpa_cli_cmd_pin(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1185,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1192,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1194,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1195,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1200,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1201,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1202,1
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1208,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1209
      start: 1179
    functionDepth: 1
    functionLinenumber: 1179
    functionLinenumberEnd: 1209
    functionName: wpa_cli_cmd_otp
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - os_snprintf_error
    - wpa_ctrl_command
    - printf
    linkageType: ''
    returnType: int
    signature: int wpa_cli_cmd_otp(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1218,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1225,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1227,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1228,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1233,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1234,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1235,1
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1240,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1241
      start: 1212
    functionDepth: 1
    functionLinenumber: 1212
    functionLinenumberEnd: 1241
    functionName: wpa_cli_cmd_sim
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - os_snprintf_error
    - wpa_ctrl_command
    - printf
    linkageType: ''
    returnType: int
    signature: int wpa_cli_cmd_sim(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1251,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1257,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1259,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1260,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1265,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1266,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1267,1
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1273,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1244
    functionDepth: 1
    functionLinenumber: 1244
    functionLinenumberEnd: 1274
    functionName: wpa_cli_cmd_psk_passphrase
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - os_snprintf_error
    - wpa_ctrl_command
    - printf
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_psk_passphrase(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \     char *argv[])"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1284,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1291,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1293,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1294,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1299,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1300,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1301,1
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1307,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1308
      start: 1277
    functionDepth: 1
    functionLinenumber: 1277
    functionLinenumberEnd: 1308
    functionName: wpa_cli_cmd_passphrase
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - os_snprintf_error
    - wpa_ctrl_command
    - printf
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_passphrase(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \ char *argv[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1314,1
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1320
      start: 1311
    functionDepth: 2
    functionLinenumber: 1311
    functionLinenumberEnd: 1320
    functionName: wpa_cli_cmd_bssid
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    - printf
    linkageType: ''
    returnType: int
    signature: int wpa_cli_cmd_bssid(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1327
      start: 1323
    functionDepth: 2
    functionLinenumber: 1323
    functionLinenumberEnd: 1327
    functionName: wpa_cli_cmd_bssid_ignore
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_bssid_ignore(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \   char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1333
      start: 1330
    functionDepth: 2
    functionLinenumber: 1330
    functionLinenumberEnd: 1333
    functionName: wpa_cli_cmd_log_level
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: int wpa_cli_cmd_log_level(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1340
      start: 1336
    functionDepth: 2
    functionLinenumber: 1336
    functionLinenumberEnd: 1340
    functionName: wpa_cli_cmd_list_networks
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_list_networks(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \    char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1347
      start: 1343
    functionDepth: 2
    functionLinenumber: 1343
    functionLinenumberEnd: 1347
    functionName: wpa_cli_cmd_select_network
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_select_network(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \     char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1354
      start: 1350
    functionDepth: 2
    functionLinenumber: 1350
    functionLinenumberEnd: 1354
    functionName: wpa_cli_cmd_enable_network
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_enable_network(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \     char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1361
      start: 1357
    functionDepth: 2
    functionLinenumber: 1357
    functionLinenumberEnd: 1361
    functionName: wpa_cli_cmd_disable_network
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_disable_network(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \      char *argv[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1367,1
    - Dst: update_networks
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1369,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1371
      start: 1364
    functionDepth: 1
    functionLinenumber: 1364
    functionLinenumberEnd: 1371
    functionName: wpa_cli_cmd_add_network
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    - update_networks
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_add_network(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \  char *argv[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1377,1
    - Dst: update_networks
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1379,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1381
      start: 1374
    functionDepth: 2
    functionLinenumber: 1374
    functionLinenumberEnd: 1381
    functionName: wpa_cli_cmd_remove_network
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    - update_networks
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_remove_network(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \     char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1402
      start: 1384
    functionDepth: 0
    functionLinenumber: 1384
    functionLinenumberEnd: 1402
    functionName: wpa_cli_show_network_variables
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void wpa_cli_show_network_variables(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_show_network_variables
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1409,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1414,1
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1419,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1420
      start: 1405
    functionDepth: 2
    functionLinenumber: 1405
    functionLinenumberEnd: 1420
    functionName: wpa_cli_cmd_set_network
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - printf
    - wpa_cli_cmd
    - wpa_cli_show_network_variables
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_set_network(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \  char *argv[])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_show_network_variables
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1427,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1432,1
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1437,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1438
      start: 1423
    functionDepth: 2
    functionLinenumber: 1423
    functionLinenumberEnd: 1438
    functionName: wpa_cli_cmd_get_network
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - printf
    - wpa_cli_cmd
    - wpa_cli_show_network_variables
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_get_network(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \  char *argv[])"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_cmd_arg_num
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1520,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1521,1
    - Dst: cli_txt_list_array
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1526,1
    - Dst: os_calloc
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1529,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1533,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1539
      start: 1518
    functionDepth: 1
    functionLinenumber: 1518
    functionLinenumberEnd: 1539
    functionName: wpa_cli_complete_network
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - os_calloc
    - cli_txt_list_array
    - get_cmd_arg_num
    - os_strdup
    - ARRAY_SIZE
    linkageType: ''
    returnType: char
    signature: char ** wpa_cli_complete_network(const char *str, int pos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_cmd_arg_num
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1544,1
    - Dst: cli_txt_list_array
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1546,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1548
      start: 1542
    functionDepth: 1
    functionLinenumber: 1542
    functionLinenumberEnd: 1548
    functionName: wpa_cli_complete_network_id
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - cli_txt_list_array
    - get_cmd_arg_num
    linkageType: ''
    returnType: char
    signature: char ** wpa_cli_complete_network_id(const char *str, int pos)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_show_network_variables
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1555,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1560,1
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1565,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1566
      start: 1551
    functionDepth: 2
    functionLinenumber: 1551
    functionLinenumberEnd: 1566
    functionName: wpa_cli_cmd_dup_network
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - printf
    - wpa_cli_cmd
    - wpa_cli_show_network_variables
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_dup_network(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \  char *argv[])"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: get_cmd_arg_num
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1571,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1572,1
    - Dst: cli_txt_list_array
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1578,1
    - Dst: os_calloc
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1581,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1585,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1591
      start: 1569
    functionDepth: 1
    functionLinenumber: 1569
    functionLinenumberEnd: 1591
    functionName: wpa_cli_complete_dup_network
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - os_calloc
    - cli_txt_list_array
    - get_cmd_arg_num
    - os_strdup
    - ARRAY_SIZE
    linkageType: ''
    returnType: char
    signature: char ** wpa_cli_complete_dup_network(const char *str, int pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1598
      start: 1594
    functionDepth: 0
    functionLinenumber: 1594
    functionLinenumberEnd: 1598
    functionName: wpa_cli_cmd_list_creds
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_list_creds(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \ char *argv[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1603,1
    - Dst: update_creds
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1605,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1607
      start: 1601
    functionDepth: 1
    functionLinenumber: 1601
    functionLinenumberEnd: 1607
    functionName: wpa_cli_cmd_add_cred
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    - update_creds
    linkageType: ''
    returnType: int
    signature: int wpa_cli_cmd_add_cred(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1613,1
    - Dst: update_creds
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1615,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1617
      start: 1610
    functionDepth: 2
    functionLinenumber: 1610
    functionLinenumberEnd: 1617
    functionName: wpa_cli_cmd_remove_cred
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    - update_creds
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_remove_cred(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \  char *argv[])"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_cmd_arg_num
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1635,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1636,1
    - Dst: cli_txt_list_array
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1641,1
    - Dst: os_calloc
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1644,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1648,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1654
      start: 1633
    functionDepth: 1
    functionLinenumber: 1633
    functionLinenumberEnd: 1654
    functionName: wpa_cli_complete_cred
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - os_calloc
    - cli_txt_list_array
    - get_cmd_arg_num
    - os_strdup
    - ARRAY_SIZE
    linkageType: ''
    returnType: char
    signature: char ** wpa_cli_complete_cred(const char *str, int pos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1660,1
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1665,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1666
      start: 1657
    functionDepth: 2
    functionLinenumber: 1657
    functionLinenumberEnd: 1666
    functionName: wpa_cli_cmd_set_cred
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    - printf
    linkageType: ''
    returnType: int
    signature: int wpa_cli_cmd_set_cred(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1672,1
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1677,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1678
      start: 1669
    functionDepth: 2
    functionLinenumber: 1669
    functionLinenumberEnd: 1678
    functionName: wpa_cli_cmd_get_cred
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    - printf
    linkageType: ''
    returnType: int
    signature: int wpa_cli_cmd_get_cred(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1685
      start: 1681
    functionDepth: 0
    functionLinenumber: 1681
    functionLinenumberEnd: 1685
    functionName: wpa_cli_cmd_disconnect
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_disconnect(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \ char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1691,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1692
      start: 1688
    functionDepth: 0
    functionLinenumber: 1688
    functionLinenumberEnd: 1692
    functionName: wpa_cli_cmd_reconnect
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_reconnect(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \ char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1698,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1699
      start: 1695
    functionDepth: 0
    functionLinenumber: 1695
    functionLinenumberEnd: 1699
    functionName: wpa_cli_cmd_save_config
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_save_config(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \  char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1704,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1705
      start: 1702
    functionDepth: 2
    functionLinenumber: 1702
    functionLinenumberEnd: 1705
    functionName: wpa_cli_cmd_scan
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: int wpa_cli_cmd_scan(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1711,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1712
      start: 1708
    functionDepth: 0
    functionLinenumber: 1708
    functionLinenumberEnd: 1712
    functionName: wpa_cli_cmd_scan_results
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_scan_results(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \   char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1718,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1719
      start: 1715
    functionDepth: 0
    functionLinenumber: 1715
    functionLinenumberEnd: 1719
    functionName: wpa_cli_cmd_abort_scan
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_abort_scan(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \ char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1725
      start: 1722
    functionDepth: 2
    functionLinenumber: 1722
    functionLinenumberEnd: 1725
    functionName: wpa_cli_cmd_bss
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: int wpa_cli_cmd_bss(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_cmd_arg_num
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1730,1
    - Dst: cli_txt_list_array
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1735,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1740
      start: 1728
    functionDepth: 1
    functionLinenumber: 1728
    functionLinenumberEnd: 1740
    functionName: wpa_cli_complete_bss
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - cli_txt_list_array
    - get_cmd_arg_num
    linkageType: ''
    returnType: char
    signature: char ** wpa_cli_complete_bss(const char *str, int pos)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1747,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1751,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1752,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1753,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1757,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1758,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1759,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1763,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1764,1
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1768,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1769
      start: 1743
    functionDepth: 2
    functionLinenumber: 1743
    functionLinenumberEnd: 1769
    functionName: wpa_cli_cmd_get_capability
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    - os_strcmp
    - os_strncmp
    - printf
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_get_capability(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \     char *argv[])"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: get_cmd_arg_num
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1774,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1796,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1797,1
    - Dst: os_calloc
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1801,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1805,1
    - Dst: os_calloc
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1813,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1816,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1820,1
    - Dst: os_calloc
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1826,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1829,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1832
      start: 1772
    functionDepth: 1
    functionLinenumber: 1772
    functionLinenumberEnd: 1832
    functionName: wpa_cli_complete_get_capability
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - os_strdup
    - os_calloc
    - get_cmd_arg_num
    - ARRAY_SIZE
    linkageType: ''
    returnType: char
    signature: char ** wpa_cli_complete_get_capability(const char *str, int pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1837,1
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1838,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - struct wpa_ctrl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1839
      start: 1835
    functionDepth: 0
    functionLinenumber: 1835
    functionLinenumberEnd: 1839
    functionName: wpa_cli_list_interfaces
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    - printf
    linkageType: ''
    returnType: int
    signature: int wpa_cli_list_interfaces(struct wpa_ctrl *ctrl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_list_interfaces
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1845,1
    - Dst: wpa_cli_close_connection
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1849,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1850,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1851,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1853,1
    - Dst: wpa_cli_open_connection
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1857,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1858,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1860,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1864
      start: 1842
    functionDepth: 2
    functionLinenumber: 1842
    functionLinenumberEnd: 1864
    functionName: wpa_cli_cmd_interface
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_list_interfaces
    - printf
    - wpa_cli_close_connection
    - os_free
    - os_strdup
    - wpa_cli_open_connection
    linkageType: ''
    returnType: int
    signature: int wpa_cli_cmd_interface(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1870,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1871
      start: 1867
    functionDepth: 0
    functionLinenumber: 1867
    functionLinenumberEnd: 1871
    functionName: wpa_cli_cmd_reconfigure
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_reconfigure(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \  char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1877,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1878
      start: 1874
    functionDepth: 0
    functionLinenumber: 1874
    functionLinenumberEnd: 1878
    functionName: wpa_cli_cmd_terminate
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_terminate(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      char *argv[])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1888,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1899,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1906,1
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1909,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1910
      start: 1881
    functionDepth: 1
    functionLinenumber: 1881
    functionLinenumberEnd: 1910
    functionName: wpa_cli_cmd_interface_add
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - os_snprintf_error
    - wpa_ctrl_command
    - printf
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_interface_add(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \    char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1916,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1917
      start: 1913
    functionDepth: 2
    functionLinenumber: 1913
    functionLinenumberEnd: 1917
    functionName: wpa_cli_cmd_interface_remove
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_interface_remove(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\tchar
      *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1923,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1924
      start: 1920
    functionDepth: 0
    functionLinenumber: 1920
    functionLinenumberEnd: 1924
    functionName: wpa_cli_cmd_interface_list
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_interface_list(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \     char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1930,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1931
      start: 1928
    functionDepth: 2
    functionLinenumber: 1928
    functionLinenumberEnd: 1931
    functionName: wpa_cli_cmd_sta
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: int wpa_cli_cmd_sta(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_cmd_arg_num
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1936,1
    - Dst: cli_txt_list_array
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1941,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1946
      start: 1934
    functionDepth: 1
    functionLinenumber: 1934
    functionLinenumberEnd: 1946
    functionName: wpa_cli_complete_sta
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - cli_txt_list_array
    - get_cmd_arg_num
    linkageType: ''
    returnType: char
    signature: char ** wpa_cli_complete_sta(const char *str, int pos)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1957,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1961,1
    - Dst: wpa_ctrl_request
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1967,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1967,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1970,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1973,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1978,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1979,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1982,1
    - Dst: os_strlcpy
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1988,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 5
    argNames:
    - ctrl
    - cmd
    - addr
    - addr_len
    - print
    argTypes:
    - struct wpa_ctrl*
    - char*
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1990
      start: 1949
    functionDepth: 1
    functionLinenumber: 1949
    functionLinenumberEnd: 1990
    functionName: wpa_ctrl_command_sta
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_strlcpy
    - wpa_ctrl_request
    - printf
    - os_snprintf
    - os_memcmp
    linkageType: ''
    returnType: int
    signature: "int wpa_ctrl_command_sta(struct wpa_ctrl *ctrl, const char *cmd,\n\t\t\t\tchar
      *addr, size_t addr_len, int print)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command_sta
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:1997,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2000,1
    - Dst: wpa_ctrl_command_sta
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2001,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2004
      start: 1993
    functionDepth: 0
    functionLinenumber: 1993
    functionLinenumberEnd: 2004
    functionName: wpa_cli_cmd_all_sta
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - wpa_ctrl_command_sta
    linkageType: ''
    returnType: int
    signature: int wpa_cli_cmd_all_sta(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command_sta
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2012,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2015,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2016,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2017,1
    - Dst: wpa_ctrl_command_sta
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2018,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2021
      start: 2007
    functionDepth: 0
    functionLinenumber: 2007
    functionLinenumberEnd: 2021
    functionName: wpa_cli_cmd_list_sta
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - printf
    - os_strcmp
    - wpa_ctrl_command_sta
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_list_sta(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\tchar
      *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2027,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2028
      start: 2024
    functionDepth: 2
    functionLinenumber: 2024
    functionLinenumberEnd: 2028
    functionName: wpa_cli_cmd_deauthenticate
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_deauthenticate(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \     char *argv[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_cmd_arg_num
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2033,1
    - Dst: cli_txt_list_array
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2038,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2043
      start: 2031
    functionDepth: 1
    functionLinenumber: 2031
    functionLinenumberEnd: 2043
    functionName: wpa_cli_complete_deauthenticate
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - cli_txt_list_array
    - get_cmd_arg_num
    linkageType: ''
    returnType: char
    signature: char ** wpa_cli_complete_deauthenticate(const char *str, int pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2049,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2050
      start: 2046
    functionDepth: 2
    functionLinenumber: 2046
    functionLinenumberEnd: 2050
    functionName: wpa_cli_cmd_disassociate
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_disassociate(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \   char *argv[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_cmd_arg_num
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2055,1
    - Dst: cli_txt_list_array
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2060,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2065
      start: 2053
    functionDepth: 1
    functionLinenumber: 2053
    functionLinenumberEnd: 2065
    functionName: wpa_cli_complete_disassociate
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - cli_txt_list_array
    - get_cmd_arg_num
    linkageType: ''
    returnType: char
    signature: char ** wpa_cli_complete_disassociate(const char *str, int pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2071,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2072
      start: 2068
    functionDepth: 2
    functionLinenumber: 2068
    functionLinenumberEnd: 2072
    functionName: wpa_cli_cmd_chanswitch
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_chanswitch(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \   char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2078,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2079
      start: 2075
    functionDepth: 0
    functionLinenumber: 2075
    functionLinenumberEnd: 2079
    functionName: wpa_cli_cmd_update_beacon
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_update_beacon(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \    char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2085,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2086
      start: 2082
    functionDepth: 2
    functionLinenumber: 2082
    functionLinenumberEnd: 2086
    functionName: wpa_cli_cmd_accept_macacl
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_accept_macacl(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \    char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2092,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2093
      start: 2089
    functionDepth: 2
    functionLinenumber: 2089
    functionLinenumberEnd: 2093
    functionName: wpa_cli_cmd_deny_macacl
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_deny_macacl(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \  char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2101
      start: 2098
    functionDepth: 0
    functionLinenumber: 2098
    functionLinenumberEnd: 2101
    functionName: wpa_cli_cmd_suspend
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: int wpa_cli_cmd_suspend(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2107
      start: 2104
    functionDepth: 0
    functionLinenumber: 2104
    functionLinenumberEnd: 2107
    functionName: wpa_cli_cmd_resume
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: int wpa_cli_cmd_resume(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2115
      start: 2112
    functionDepth: 0
    functionLinenumber: 2112
    functionLinenumberEnd: 2115
    functionName: wpa_cli_cmd_drop_sa
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: int wpa_cli_cmd_drop_sa(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2122
      start: 2118
    functionDepth: 2
    functionLinenumber: 2118
    functionLinenumberEnd: 2122
    functionName: wpa_cli_cmd_ml_probe_req
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_ml_probe_req(struct wpa_ctrl *ctrl,\n\t\t\t\t    int
      argc, char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2130
      start: 2127
    functionDepth: 2
    functionLinenumber: 2127
    functionLinenumberEnd: 2130
    functionName: wpa_cli_cmd_roam
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: int wpa_cli_cmd_roam(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2139
      start: 2135
    functionDepth: 2
    functionLinenumber: 2135
    functionLinenumberEnd: 2139
    functionName: wpa_cli_cmd_mesh_interface_add
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_mesh_interface_add(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\t
      \ char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2146
      start: 2142
    functionDepth: 2
    functionLinenumber: 2142
    functionLinenumberEnd: 2146
    functionName: wpa_cli_cmd_mesh_group_add
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_mesh_group_add(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \     char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2153
      start: 2149
    functionDepth: 2
    functionLinenumber: 2149
    functionLinenumberEnd: 2153
    functionName: wpa_cli_cmd_mesh_group_remove
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_mesh_group_remove(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\t
      char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2160
      start: 2156
    functionDepth: 2
    functionLinenumber: 2156
    functionLinenumberEnd: 2160
    functionName: wpa_cli_cmd_mesh_peer_remove
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_mesh_peer_remove(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\tchar
      *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2167
      start: 2163
    functionDepth: 2
    functionLinenumber: 2163
    functionLinenumberEnd: 2167
    functionName: wpa_cli_cmd_mesh_peer_add
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_mesh_peer_add(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \    char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2174
      start: 2170
    functionDepth: 2
    functionLinenumber: 2170
    functionLinenumberEnd: 2174
    functionName: wpa_cli_cmd_mesh_link_probe
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_mesh_link_probe(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \      char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2184
      start: 2181
    functionDepth: 2
    functionLinenumber: 2181
    functionLinenumberEnd: 2184
    functionName: wpa_cli_cmd_p2p_find
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: int wpa_cli_cmd_p2p_find(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: get_cmd_arg_num
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2190,1
    - Dst: os_calloc
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2192,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2195,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2197,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2200,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2203,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2206,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2210,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2213
      start: 2187
    functionDepth: 1
    functionLinenumber: 2187
    functionLinenumberEnd: 2213
    functionName: wpa_cli_complete_p2p_find
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - os_strdup
    - os_free
    - os_calloc
    - get_cmd_arg_num
    linkageType: ''
    returnType: char
    signature: char ** wpa_cli_complete_p2p_find(const char *str, int pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2220
      start: 2216
    functionDepth: 0
    functionLinenumber: 2216
    functionLinenumberEnd: 2220
    functionName: wpa_cli_cmd_p2p_stop_find
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_p2p_stop_find(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \    char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2227
      start: 2223
    functionDepth: 2
    functionLinenumber: 2223
    functionLinenumberEnd: 2227
    functionName: wpa_cli_cmd_p2p_asp_provision
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_p2p_asp_provision(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\t
      char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2234
      start: 2230
    functionDepth: 2
    functionLinenumber: 2230
    functionLinenumberEnd: 2234
    functionName: wpa_cli_cmd_p2p_asp_provision_resp
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_p2p_asp_provision_resp(struct wpa_ctrl *ctrl, int
      argc,\n\t\t\t\t\t      char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2241
      start: 2237
    functionDepth: 2
    functionLinenumber: 2237
    functionLinenumberEnd: 2241
    functionName: wpa_cli_cmd_p2p_connect
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_p2p_connect(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \  char *argv[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_cmd_arg_num
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2246,1
    - Dst: cli_txt_list_array
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2251,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2256
      start: 2244
    functionDepth: 1
    functionLinenumber: 2244
    functionLinenumberEnd: 2256
    functionName: wpa_cli_complete_p2p_connect
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - cli_txt_list_array
    - get_cmd_arg_num
    linkageType: ''
    returnType: char
    signature: char ** wpa_cli_complete_p2p_connect(const char *str, int pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2263
      start: 2259
    functionDepth: 2
    functionLinenumber: 2259
    functionLinenumberEnd: 2263
    functionName: wpa_cli_cmd_p2p_listen
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_p2p_listen(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \ char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2270
      start: 2266
    functionDepth: 2
    functionLinenumber: 2266
    functionLinenumberEnd: 2270
    functionName: wpa_cli_cmd_p2p_group_remove
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_p2p_group_remove(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\tchar
      *argv[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_cmd_arg_num
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2275,1
    - Dst: cli_txt_list_array
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2285
      start: 2273
    functionDepth: 1
    functionLinenumber: 2273
    functionLinenumberEnd: 2285
    functionName: wpa_cli_complete_p2p_group_remove
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - cli_txt_list_array
    - get_cmd_arg_num
    linkageType: ''
    returnType: char
    signature: char ** wpa_cli_complete_p2p_group_remove(const char *str, int pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2292
      start: 2288
    functionDepth: 2
    functionLinenumber: 2288
    functionLinenumberEnd: 2292
    functionName: wpa_cli_cmd_p2p_group_add
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_p2p_group_add(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\tchar
      *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2299
      start: 2295
    functionDepth: 2
    functionLinenumber: 2295
    functionLinenumberEnd: 2299
    functionName: wpa_cli_cmd_p2p_group_member
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_p2p_group_member(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\tchar
      *argv[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2306,1
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2312,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2313
      start: 2302
    functionDepth: 2
    functionLinenumber: 2302
    functionLinenumberEnd: 2313
    functionName: wpa_cli_cmd_p2p_prov_disc
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    - printf
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_p2p_prov_disc(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \    char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2320
      start: 2316
    functionDepth: 0
    functionLinenumber: 2316
    functionLinenumberEnd: 2320
    functionName: wpa_cli_cmd_p2p_get_passphrase
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_p2p_get_passphrase(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\t
      \ char *argv[])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2329,1
    - Dst: write_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2334,1
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2336,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2337
      start: 2323
    functionDepth: 1
    functionLinenumber: 2323
    functionLinenumberEnd: 2337
    functionName: wpa_cli_cmd_p2p_serv_disc_req
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    - write_cmd
    - printf
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_p2p_serv_disc_req(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\t
      char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2344
      start: 2340
    functionDepth: 2
    functionLinenumber: 2340
    functionLinenumberEnd: 2344
    functionName: wpa_cli_cmd_p2p_serv_disc_cancel_req
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_p2p_serv_disc_cancel_req(struct wpa_ctrl *ctrl,\n\t\t\t\t\t\tint
      argc, char *argv[])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2354,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2359,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2361,1
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2364,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2365
      start: 2347
    functionDepth: 1
    functionLinenumber: 2347
    functionLinenumberEnd: 2365
    functionName: wpa_cli_cmd_p2p_serv_disc_resp
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - os_snprintf_error
    - wpa_ctrl_command
    - printf
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_p2p_serv_disc_resp(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\t
      \ char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2372
      start: 2368
    functionDepth: 0
    functionLinenumber: 2368
    functionLinenumberEnd: 2372
    functionName: wpa_cli_cmd_p2p_service_update
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_p2p_service_update(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\t
      \ char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2379
      start: 2375
    functionDepth: 2
    functionLinenumber: 2375
    functionLinenumberEnd: 2379
    functionName: wpa_cli_cmd_p2p_serv_disc_external
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_p2p_serv_disc_external(struct wpa_ctrl *ctrl,\n\t\t\t\t\t
      \     int argc, char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2386
      start: 2382
    functionDepth: 0
    functionLinenumber: 2382
    functionLinenumberEnd: 2386
    functionName: wpa_cli_cmd_p2p_service_flush
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_p2p_service_flush(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\t
      char *argv[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2393,1
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2397,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2398
      start: 2389
    functionDepth: 2
    functionLinenumber: 2389
    functionLinenumberEnd: 2398
    functionName: wpa_cli_cmd_p2p_service_add
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    - printf
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_p2p_service_add(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \      char *argv[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2405,1
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2410,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2411
      start: 2401
    functionDepth: 2
    functionLinenumber: 2401
    functionLinenumberEnd: 2411
    functionName: wpa_cli_cmd_p2p_service_rep
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    - printf
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_p2p_service_rep(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \      char *argv[])"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2421,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2427,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2431,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2434,1
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2437,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2438
      start: 2414
    functionDepth: 1
    functionLinenumber: 2414
    functionLinenumberEnd: 2438
    functionName: wpa_cli_cmd_p2p_service_del
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - os_snprintf_error
    - wpa_ctrl_command
    - printf
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_p2p_service_del(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \      char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2445
      start: 2441
    functionDepth: 2
    functionLinenumber: 2441
    functionLinenumberEnd: 2445
    functionName: wpa_cli_cmd_p2p_reject
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_p2p_reject(struct wpa_ctrl *ctrl,\n\t\t\t\t  int argc,
      char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2452
      start: 2448
    functionDepth: 2
    functionLinenumber: 2448
    functionLinenumberEnd: 2452
    functionName: wpa_cli_cmd_p2p_invite
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_p2p_invite(struct wpa_ctrl *ctrl,\n\t\t\t\t  int argc,
      char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2458
      start: 2455
    functionDepth: 2
    functionLinenumber: 2455
    functionLinenumberEnd: 2458
    functionName: wpa_cli_cmd_p2p_peer
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: int wpa_cli_cmd_p2p_peer(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_cmd_arg_num
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2463,1
    - Dst: cli_txt_list_array
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2468,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2473
      start: 2461
    functionDepth: 1
    functionLinenumber: 2461
    functionLinenumberEnd: 2473
    functionName: wpa_cli_complete_p2p_peer
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - cli_txt_list_array
    - get_cmd_arg_num
    linkageType: ''
    returnType: char
    signature: char ** wpa_cli_complete_p2p_peer(const char *str, int pos)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_request
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2487,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2487,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2490,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2493,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2498,1
    - Dst: os_strlcpy
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2505,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2506,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2507,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 5
    argNames:
    - ctrl
    - cmd
    - addr
    - addr_len
    - discovered
    argTypes:
    - struct wpa_ctrl*
    - char*
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2509
      start: 2476
    functionDepth: 1
    functionLinenumber: 2476
    functionLinenumberEnd: 2509
    functionName: wpa_ctrl_command_p2p_peer
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_strlcpy
    - wpa_ctrl_request
    - printf
    - os_strstr
    - os_memcmp
    linkageType: ''
    returnType: int
    signature: "int wpa_ctrl_command_p2p_peer(struct wpa_ctrl *ctrl, const char *cmd,\n\t\t\t\t
      \    char *addr, size_t addr_len,\n\t\t\t\t     int discovered)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2517,1
    - Dst: wpa_ctrl_command_p2p_peer
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2519,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2523,1
    - Dst: wpa_ctrl_command_p2p_peer
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2524,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2528
      start: 2512
    functionDepth: 2
    functionLinenumber: 2512
    functionLinenumberEnd: 2528
    functionName: wpa_cli_cmd_p2p_peers
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - wpa_ctrl_command_p2p_peer
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: int wpa_cli_cmd_p2p_peers(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2534
      start: 2531
    functionDepth: 2
    functionLinenumber: 2531
    functionLinenumberEnd: 2534
    functionName: wpa_cli_cmd_p2p_set
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: int wpa_cli_cmd_p2p_set(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_cmd_arg_num
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2539,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2560,1
    - Dst: os_calloc
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2563,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2567,1
    - Dst: os_strncasecmp
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2574,1
    - Dst: cli_txt_list_array
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2575,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2578
      start: 2537
    functionDepth: 1
    functionLinenumber: 2537
    functionLinenumberEnd: 2578
    functionName: wpa_cli_complete_p2p_set
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - os_strncasecmp
    - os_calloc
    - cli_txt_list_array
    - get_cmd_arg_num
    - os_strdup
    - ARRAY_SIZE
    linkageType: ''
    returnType: char
    signature: char ** wpa_cli_complete_p2p_set(const char *str, int pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2584
      start: 2581
    functionDepth: 0
    functionLinenumber: 2581
    functionLinenumberEnd: 2584
    functionName: wpa_cli_cmd_p2p_flush
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: int wpa_cli_cmd_p2p_flush(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2591
      start: 2587
    functionDepth: 0
    functionLinenumber: 2587
    functionLinenumberEnd: 2591
    functionName: wpa_cli_cmd_p2p_cancel
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_p2p_cancel(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \ char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2598
      start: 2594
    functionDepth: 2
    functionLinenumber: 2594
    functionLinenumberEnd: 2598
    functionName: wpa_cli_cmd_p2p_unauthorize
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_p2p_unauthorize(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \      char *argv[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2605,1
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2612,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2613
      start: 2601
    functionDepth: 2
    functionLinenumber: 2601
    functionLinenumberEnd: 2613
    functionName: wpa_cli_cmd_p2p_presence_req
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    - printf
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_p2p_presence_req(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\tchar
      *argv[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2620,1
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2628,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2629
      start: 2616
    functionDepth: 2
    functionLinenumber: 2616
    functionLinenumberEnd: 2629
    functionName: wpa_cli_cmd_p2p_ext_listen
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    - printf
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_p2p_ext_listen(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \     char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2635,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2636
      start: 2632
    functionDepth: 2
    functionLinenumber: 2632
    functionLinenumberEnd: 2636
    functionName: wpa_cli_cmd_p2p_remove_client
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_p2p_remove_client(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\t
      char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2645
      start: 2641
    functionDepth: 2
    functionLinenumber: 2641
    functionLinenumberEnd: 2645
    functionName: wpa_cli_cmd_vendor_elem_add
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_vendor_elem_add(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \      char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2652
      start: 2648
    functionDepth: 2
    functionLinenumber: 2648
    functionLinenumberEnd: 2652
    functionName: wpa_cli_cmd_vendor_elem_get
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_vendor_elem_get(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \      char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2658,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2659
      start: 2655
    functionDepth: 2
    functionLinenumber: 2655
    functionLinenumberEnd: 2659
    functionName: wpa_cli_cmd_vendor_elem_remove
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_vendor_elem_remove(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\t
      \ char *argv[])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2671,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2676,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2678,1
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2681,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2682
      start: 2664
    functionDepth: 1
    functionLinenumber: 2664
    functionLinenumberEnd: 2682
    functionName: wpa_cli_cmd_wfd_subelem_set
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - os_snprintf_error
    - wpa_ctrl_command
    - printf
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_wfd_subelem_set(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \      char *argv[])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2692,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2697,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2699,1
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2702,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2703
      start: 2685
    functionDepth: 1
    functionLinenumber: 2685
    functionLinenumberEnd: 2703
    functionName: wpa_cli_cmd_wfd_subelem_get
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - os_snprintf_error
    - wpa_ctrl_command
    - printf
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_wfd_subelem_get(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \      char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2711,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2712
      start: 2708
    functionDepth: 0
    functionLinenumber: 2708
    functionLinenumberEnd: 2712
    functionName: wpa_cli_cmd_fetch_anqp
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_fetch_anqp(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \ char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2718,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2719
      start: 2715
    functionDepth: 0
    functionLinenumber: 2715
    functionLinenumberEnd: 2719
    functionName: wpa_cli_cmd_stop_fetch_anqp
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_stop_fetch_anqp(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \      char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2725,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2726
      start: 2722
    functionDepth: 2
    functionLinenumber: 2722
    functionLinenumberEnd: 2726
    functionName: wpa_cli_cmd_interworking_select
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_interworking_select(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\t
      \  char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2732,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2733
      start: 2729
    functionDepth: 2
    functionLinenumber: 2729
    functionLinenumberEnd: 2733
    functionName: wpa_cli_cmd_interworking_connect
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_interworking_connect(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\t
      \   char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2739,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2740
      start: 2736
    functionDepth: 2
    functionLinenumber: 2736
    functionLinenumberEnd: 2740
    functionName: wpa_cli_cmd_interworking_add_network
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_interworking_add_network(struct wpa_ctrl *ctrl, int
      argc,\n\t\t\t\t\t\tchar *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2745,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2746
      start: 2743
    functionDepth: 2
    functionLinenumber: 2743
    functionLinenumberEnd: 2746
    functionName: wpa_cli_cmd_anqp_get
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: int wpa_cli_cmd_anqp_get(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2752,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2753
      start: 2749
    functionDepth: 2
    functionLinenumber: 2749
    functionLinenumberEnd: 2753
    functionName: wpa_cli_cmd_gas_request
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_gas_request(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \  char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2759,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2760
      start: 2756
    functionDepth: 2
    functionLinenumber: 2756
    functionLinenumberEnd: 2760
    functionName: wpa_cli_cmd_gas_response_get
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_gas_response_get(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\tchar
      *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2769,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2770
      start: 2766
    functionDepth: 2
    functionLinenumber: 2766
    functionLinenumberEnd: 2770
    functionName: wpa_cli_cmd_hs20_anqp_get
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_hs20_anqp_get(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \    char *argv[])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2779,1
    - Dst: write_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2784,1
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2788,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2789
      start: 2773
    functionDepth: 1
    functionLinenumber: 2773
    functionLinenumberEnd: 2789
    functionName: wpa_cli_cmd_get_nai_home_realm_list
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    - write_cmd
    - printf
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_get_nai_home_realm_list(struct wpa_ctrl *ctrl, int
      argc,\n\t\t\t\t\t       char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2798
      start: 2794
    functionDepth: 2
    functionLinenumber: 2794
    functionLinenumberEnd: 2798
    functionName: wpa_cli_cmd_sta_autoconnect
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_sta_autoconnect(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \      char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2804,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2805
      start: 2801
    functionDepth: 2
    functionLinenumber: 2801
    functionLinenumberEnd: 2805
    functionName: wpa_cli_cmd_tdls_discover
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_tdls_discover(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \    char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2811,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2812
      start: 2808
    functionDepth: 2
    functionLinenumber: 2808
    functionLinenumberEnd: 2812
    functionName: wpa_cli_cmd_tdls_setup
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_tdls_setup(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \ char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2818,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2819
      start: 2815
    functionDepth: 2
    functionLinenumber: 2815
    functionLinenumberEnd: 2819
    functionName: wpa_cli_cmd_tdls_teardown
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_tdls_teardown(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \    char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2825,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2826
      start: 2822
    functionDepth: 2
    functionLinenumber: 2822
    functionLinenumberEnd: 2826
    functionName: wpa_cli_cmd_tdls_link_status
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_tdls_link_status(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\tchar
      *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2834,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2835
      start: 2831
    functionDepth: 2
    functionLinenumber: 2831
    functionLinenumberEnd: 2835
    functionName: wpa_cli_cmd_wmm_ac_addts
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_wmm_ac_addts(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \   char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2841,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2842
      start: 2838
    functionDepth: 2
    functionLinenumber: 2838
    functionLinenumberEnd: 2842
    functionName: wpa_cli_cmd_wmm_ac_delts
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_wmm_ac_delts(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \   char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2848,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2849
      start: 2845
    functionDepth: 0
    functionLinenumber: 2845
    functionLinenumberEnd: 2849
    functionName: wpa_cli_cmd_wmm_ac_status
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_wmm_ac_status(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \   char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2857,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2858
      start: 2854
    functionDepth: 2
    functionLinenumber: 2854
    functionLinenumberEnd: 2858
    functionName: wpa_cli_cmd_tdls_chan_switch
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_tdls_chan_switch(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\tchar
      *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2864,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2865
      start: 2861
    functionDepth: 2
    functionLinenumber: 2861
    functionLinenumberEnd: 2865
    functionName: wpa_cli_cmd_tdls_cancel_chan_switch
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_tdls_cancel_chan_switch(struct wpa_ctrl *ctrl, int
      argc,\n\t\t\t\t\t       char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2871,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2872
      start: 2868
    functionDepth: 0
    functionLinenumber: 2868
    functionLinenumberEnd: 2872
    functionName: wpa_cli_cmd_signal_poll
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_signal_poll(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \  char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2878,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2879
      start: 2875
    functionDepth: 2
    functionLinenumber: 2875
    functionLinenumberEnd: 2879
    functionName: wpa_cli_cmd_signal_monitor
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_signal_monitor(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \  char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2885,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2886
      start: 2882
    functionDepth: 0
    functionLinenumber: 2882
    functionLinenumberEnd: 2886
    functionName: wpa_cli_cmd_pktcnt_poll
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_pktcnt_poll(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \  char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2892,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2893
      start: 2889
    functionDepth: 0
    functionLinenumber: 2889
    functionLinenumberEnd: 2893
    functionName: wpa_cli_cmd_reauthenticate
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_reauthenticate(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \     char *argv[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2901,1
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2903,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2904
      start: 2898
    functionDepth: 2
    functionLinenumber: 2898
    functionLinenumberEnd: 2904
    functionName: wpa_cli_cmd_autoscan
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: int wpa_cli_cmd_autoscan(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2913,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2914
      start: 2911
    functionDepth: 2
    functionLinenumber: 2911
    functionLinenumberEnd: 2914
    functionName: wpa_cli_cmd_wnm_sleep
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: int wpa_cli_cmd_wnm_sleep(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2919,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2920
      start: 2917
    functionDepth: 2
    functionLinenumber: 2917
    functionLinenumberEnd: 2920
    functionName: wpa_cli_cmd_wnm_bss_query
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: int wpa_cli_cmd_wnm_bss_query(struct wpa_ctrl *ctrl, int argc, char
      *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2930,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2931
      start: 2927
    functionDepth: 2
    functionLinenumber: 2927
    functionLinenumberEnd: 2931
    functionName: wpa_cli_cmd_disassoc_imminent
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_disassoc_imminent(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\t
      char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2937,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2938
      start: 2934
    functionDepth: 2
    functionLinenumber: 2934
    functionLinenumberEnd: 2938
    functionName: wpa_cli_cmd_ess_disassoc
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_ess_disassoc(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \   char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2944,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2945
      start: 2941
    functionDepth: 2
    functionLinenumber: 2941
    functionLinenumberEnd: 2945
    functionName: wpa_cli_cmd_bss_tm_req
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_bss_tm_req(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \ char *argv[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2954,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2955
      start: 2950
    functionDepth: 2
    functionLinenumber: 2950
    functionLinenumberEnd: 2955
    functionName: wpa_cli_cmd_raw
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: int wpa_cli_cmd_raw(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2961,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2962
      start: 2959
    functionDepth: 2
    functionLinenumber: 2959
    functionLinenumberEnd: 2962
    functionName: wpa_cli_cmd_driver
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: int wpa_cli_cmd_driver(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2968,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2969
      start: 2966
    functionDepth: 2
    functionLinenumber: 2966
    functionLinenumberEnd: 2969
    functionName: wpa_cli_cmd_vendor
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: int wpa_cli_cmd_vendor(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2974,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2975
      start: 2972
    functionDepth: 0
    functionLinenumber: 2972
    functionLinenumberEnd: 2975
    functionName: wpa_cli_cmd_flush
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: int wpa_cli_cmd_flush(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2980,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2981
      start: 2978
    functionDepth: 2
    functionLinenumber: 2978
    functionLinenumberEnd: 2981
    functionName: wpa_cli_cmd_radio_work
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: int wpa_cli_cmd_radio_work(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2987,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2988
      start: 2984
    functionDepth: 2
    functionLinenumber: 2984
    functionLinenumberEnd: 2988
    functionName: wpa_cli_cmd_neighbor_rep_request
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_neighbor_rep_request(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\t
      \   char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:2994,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2995
      start: 2991
    functionDepth: 2
    functionLinenumber: 2991
    functionLinenumberEnd: 2995
    functionName: wpa_cli_cmd_twt_setup
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_twt_setup(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3001,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3002
      start: 2998
    functionDepth: 2
    functionLinenumber: 2998
    functionLinenumberEnd: 3002
    functionName: wpa_cli_cmd_twt_teardown
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_twt_teardown(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \   char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3007,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3008
      start: 3005
    functionDepth: 0
    functionLinenumber: 3005
    functionLinenumberEnd: 3008
    functionName: wpa_cli_cmd_erp_flush
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: int wpa_cli_cmd_erp_flush(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3014,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3015
      start: 3011
    functionDepth: 2
    functionLinenumber: 3011
    functionLinenumberEnd: 3015
    functionName: wpa_cli_cmd_mac_rand_scan
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_mac_rand_scan(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \    char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3021,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3022
      start: 3018
    functionDepth: 2
    functionLinenumber: 3018
    functionLinenumberEnd: 3022
    functionName: wpa_cli_cmd_get_pref_freq_list
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_get_pref_freq_list(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\t
      \ char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3028,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3029
      start: 3025
    functionDepth: 2
    functionLinenumber: 3025
    functionLinenumberEnd: 3029
    functionName: wpa_cli_cmd_p2p_lo_start
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_p2p_lo_start(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \   char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3035,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3036
      start: 3032
    functionDepth: 2
    functionLinenumber: 3032
    functionLinenumberEnd: 3036
    functionName: wpa_cli_cmd_p2p_lo_stop
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_p2p_lo_stop(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \  char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3044,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3045
      start: 3041
    functionDepth: 2
    functionLinenumber: 3041
    functionLinenumberEnd: 3045
    functionName: wpa_cli_cmd_dpp_qr_code
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_dpp_qr_code(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \  char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3051,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3052
      start: 3048
    functionDepth: 2
    functionLinenumber: 3048
    functionLinenumberEnd: 3052
    functionName: wpa_cli_cmd_dpp_bootstrap_gen
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_dpp_bootstrap_gen(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\t
      char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3058,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3059
      start: 3055
    functionDepth: 2
    functionLinenumber: 3055
    functionLinenumberEnd: 3059
    functionName: wpa_cli_cmd_dpp_bootstrap_remove
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_dpp_bootstrap_remove(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\t
      \   char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3065,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3066
      start: 3062
    functionDepth: 2
    functionLinenumber: 3062
    functionLinenumberEnd: 3066
    functionName: wpa_cli_cmd_dpp_bootstrap_get_uri
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_dpp_bootstrap_get_uri(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\t
      \    char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3072,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3073
      start: 3069
    functionDepth: 2
    functionLinenumber: 3069
    functionLinenumberEnd: 3073
    functionName: wpa_cli_cmd_dpp_bootstrap_info
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_dpp_bootstrap_info(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\t
      \ char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3079,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3080
      start: 3076
    functionDepth: 2
    functionLinenumber: 3076
    functionLinenumberEnd: 3080
    functionName: wpa_cli_cmd_dpp_bootstrap_set
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_dpp_bootstrap_set(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\t
      char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3086,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3087
      start: 3083
    functionDepth: 2
    functionLinenumber: 3083
    functionLinenumberEnd: 3087
    functionName: wpa_cli_cmd_dpp_auth_init
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_dpp_auth_init(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \    char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3093,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3094
      start: 3090
    functionDepth: 2
    functionLinenumber: 3090
    functionLinenumberEnd: 3094
    functionName: wpa_cli_cmd_dpp_listen
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_dpp_listen(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \ char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3101
      start: 3097
    functionDepth: 0
    functionLinenumber: 3097
    functionLinenumberEnd: 3101
    functionName: wpa_cli_cmd_dpp_stop_listen
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_dpp_stop_listen(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \      char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3108
      start: 3104
    functionDepth: 2
    functionLinenumber: 3104
    functionLinenumberEnd: 3108
    functionName: wpa_cli_cmd_dpp_configurator_add
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_dpp_configurator_add(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\t
      \   char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3115
      start: 3111
    functionDepth: 2
    functionLinenumber: 3111
    functionLinenumberEnd: 3115
    functionName: wpa_cli_cmd_dpp_configurator_remove
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_dpp_configurator_remove(struct wpa_ctrl *ctrl, int
      argc,\n\t\t\t\t\t       char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3122
      start: 3118
    functionDepth: 2
    functionLinenumber: 3118
    functionLinenumberEnd: 3122
    functionName: wpa_cli_cmd_dpp_configurator_get_key
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_dpp_configurator_get_key(struct wpa_ctrl *ctrl, int
      argc,\n\t\t\t\t\t\tchar *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3129
      start: 3125
    functionDepth: 2
    functionLinenumber: 3125
    functionLinenumberEnd: 3129
    functionName: wpa_cli_cmd_dpp_configurator_sign
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_dpp_configurator_sign(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\t
      \    char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3136
      start: 3132
    functionDepth: 2
    functionLinenumber: 3132
    functionLinenumberEnd: 3136
    functionName: wpa_cli_cmd_dpp_pkex_add
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_dpp_pkex_add(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \   char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3143
      start: 3139
    functionDepth: 2
    functionLinenumber: 3139
    functionLinenumberEnd: 3143
    functionName: wpa_cli_cmd_dpp_pkex_remove
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_dpp_pkex_remove(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \      char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3152
      start: 3148
    functionDepth: 2
    functionLinenumber: 3148
    functionLinenumberEnd: 3152
    functionName: wpa_cli_cmd_dpp_controller_start
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_dpp_controller_start(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\t
      \   char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3159
      start: 3155
    functionDepth: 0
    functionLinenumber: 3155
    functionLinenumberEnd: 3159
    functionName: wpa_cli_cmd_dpp_controller_stop
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_dpp_controller_stop(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\t
      \   char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3166
      start: 3162
    functionDepth: 2
    functionLinenumber: 3162
    functionLinenumberEnd: 3166
    functionName: wpa_cli_cmd_dpp_chirp
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_dpp_chirp(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3173
      start: 3169
    functionDepth: 0
    functionLinenumber: 3169
    functionLinenumberEnd: 3173
    functionName: wpa_cli_cmd_dpp_stop_chirp
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_dpp_stop_chirp(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \     char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3183
      start: 3179
    functionDepth: 2
    functionLinenumber: 3179
    functionLinenumberEnd: 3183
    functionName: wpa_cli_cmd_dpp_push_button
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_dpp_push_button(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \      char *argv[])"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_request
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3198,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3198,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3201,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3204,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3209,1
    - Dst: str_starts
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3214,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3215,1
    - Dst: str_starts
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3216,1
    - Dst: str_starts
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3218,1
    - Dst: str_starts
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3220,1
    - Dst: str_starts
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3222,1
    - Dst: str_starts
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3224,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3232,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 2
    argNames:
    - ctrl
    - cmd
    argTypes:
    - struct wpa_ctrl*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3236
      start: 3188
    functionDepth: 1
    functionLinenumber: 3188
    functionLinenumberEnd: 3236
    functionName: wpa_ctrl_command_bss
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_ctrl_request
    - printf
    - os_memcmp
    - atoi
    - str_starts
    linkageType: ''
    returnType: int
    signature: int wpa_ctrl_command_bss(struct wpa_ctrl *ctrl, const char *cmd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3245,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3251,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3254,1
    - Dst: wpa_ctrl_command_bss
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3256,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3260
      start: 3239
    functionDepth: 2
    functionLinenumber: 3239
    functionLinenumberEnd: 3260
    functionName: wpa_cli_cmd_all_bss
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - wpa_ctrl_command_bss
    - printf
    linkageType: ''
    returnType: int
    signature: int wpa_cli_cmd_all_bss(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3268
      start: 3265
    functionDepth: 2
    functionLinenumber: 3265
    functionLinenumberEnd: 3268
    functionName: wpa_cli_cmd_pasn_start
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: int wpa_cli_cmd_pasn_start(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3274
      start: 3271
    functionDepth: 2
    functionLinenumber: 3271
    functionLinenumberEnd: 3274
    functionName: wpa_cli_cmd_pasn_stop
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: int wpa_cli_cmd_pasn_stop(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3281
      start: 3277
    functionDepth: 2
    functionLinenumber: 3277
    functionLinenumberEnd: 3281
    functionName: wpa_cli_cmd_ptksa_cache_list
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_ptksa_cache_list(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\tchar
      *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3288
      start: 3284
    functionDepth: 2
    functionLinenumber: 3284
    functionLinenumberEnd: 3288
    functionName: wpa_cli_cmd_pasn_deauth
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_pasn_deauth(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \  char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3297
      start: 3293
    functionDepth: 2
    functionLinenumber: 3293
    functionLinenumberEnd: 3297
    functionName: wpa_cli_cmd_pr_pasn_start
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_pr_pasn_start(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \    char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3304
      start: 3300
    functionDepth: 2
    functionLinenumber: 3300
    functionLinenumberEnd: 3304
    functionName: wpa_cli_cmd_pr_set_dik_context
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_pr_set_dik_context(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\t
      \ char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3311
      start: 3307
    functionDepth: 0
    functionLinenumber: 3307
    functionLinenumberEnd: 3311
    functionName: wpa_cli_cmd_pr_clear_dik_context
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_pr_clear_dik_context(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\t
      \   char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3318
      start: 3314
    functionDepth: 0
    functionLinenumber: 3314
    functionLinenumberEnd: 3318
    functionName: wpa_cli_cmd_pr_ranging_abort
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_pr_ranging_abort(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\tchar
      *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3328
      start: 3325
    functionDepth: 2
    functionLinenumber: 3325
    functionLinenumberEnd: 3328
    functionName: wpa_cli_cmd_mscs
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: int wpa_cli_cmd_mscs(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3334
      start: 3331
    functionDepth: 2
    functionLinenumber: 3331
    functionLinenumberEnd: 3334
    functionName: wpa_cli_cmd_scs
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: int wpa_cli_cmd_scs(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3340
      start: 3337
    functionDepth: 2
    functionLinenumber: 3337
    functionLinenumberEnd: 3340
    functionName: wpa_cli_cmd_dscp_resp
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: int wpa_cli_cmd_dscp_resp(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3346
      start: 3343
    functionDepth: 2
    functionLinenumber: 3343
    functionLinenumberEnd: 3346
    functionName: wpa_cli_cmd_dscp_query
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: int wpa_cli_cmd_dscp_query(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3355
      start: 3351
    functionDepth: 2
    functionLinenumber: 3351
    functionLinenumberEnd: 3355
    functionName: wpa_cli_cmd_nan_publish
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_nan_publish(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \  char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3362
      start: 3358
    functionDepth: 2
    functionLinenumber: 3358
    functionLinenumberEnd: 3362
    functionName: wpa_cli_cmd_nan_cancel_publish
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_nan_cancel_publish(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\t
      \ char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3369
      start: 3365
    functionDepth: 2
    functionLinenumber: 3365
    functionLinenumberEnd: 3369
    functionName: wpa_cli_cmd_nan_update_publish
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_nan_update_publish(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\t
      \ char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3376
      start: 3372
    functionDepth: 2
    functionLinenumber: 3372
    functionLinenumberEnd: 3376
    functionName: wpa_cli_cmd_nan_subscribe
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_nan_subscribe(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \    char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3383
      start: 3379
    functionDepth: 2
    functionLinenumber: 3379
    functionLinenumberEnd: 3383
    functionName: wpa_cli_cmd_nan_cancel_subscribe
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_nan_cancel_subscribe(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\t
      \   char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3390
      start: 3386
    functionDepth: 2
    functionLinenumber: 3386
    functionLinenumberEnd: 3390
    functionName: wpa_cli_cmd_nan_transmit
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_nan_transmit(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \   char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3397
      start: 3393
    functionDepth: 0
    functionLinenumber: 3393
    functionLinenumberEnd: 3397
    functionName: wpa_cli_cmd_nan_flush
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_nan_flush(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3408
      start: 3404
    functionDepth: 2
    functionLinenumber: 3404
    functionLinenumberEnd: 3408
    functionName: wpa_cli_cmd_nan_start
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_nan_start(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3415
      start: 3411
    functionDepth: 2
    functionLinenumber: 3411
    functionLinenumberEnd: 3415
    functionName: wpa_cli_cmd_nan_stop
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_nan_stop(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\tchar
      *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3422
      start: 3418
    functionDepth: 2
    functionLinenumber: 3418
    functionLinenumberEnd: 3422
    functionName: wpa_cli_cmd_nan_set
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_nan_set(struct wpa_ctrl *ctrl, int argc,\n\t\t\t       char
      *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3429
      start: 3425
    functionDepth: 2
    functionLinenumber: 3425
    functionLinenumberEnd: 3429
    functionName: wpa_cli_cmd_nan_update_conf
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_nan_update_conf(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \      char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3436
      start: 3432
    functionDepth: 2
    functionLinenumber: 3432
    functionLinenumberEnd: 3436
    functionName: wpa_cli_cmd_nan_sched_config_map
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_nan_sched_config_map(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\t
      \    char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3443
      start: 3439
    functionDepth: 2
    functionLinenumber: 3439
    functionLinenumberEnd: 3443
    functionName: wpa_cli_cmd_nan_ndp_request
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_nan_ndp_request(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \      char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3450
      start: 3446
    functionDepth: 2
    functionLinenumber: 3446
    functionLinenumberEnd: 3450
    functionName: wpa_cli_cmd_nan_ndp_response
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_nan_ndp_response(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\tchar
      *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3457
      start: 3453
    functionDepth: 2
    functionLinenumber: 3453
    functionLinenumberEnd: 3457
    functionName: wpa_cli_cmd_nan_ndp_terminate
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_nan_ndp_terminate(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\t
      char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3464
      start: 3460
    functionDepth: 2
    functionLinenumber: 3460
    functionLinenumberEnd: 3464
    functionName: wpa_cli_cmd_nan_peer_info
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_nan_peer_info(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \    char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3470
      start: 3467
    functionDepth: 0
    functionLinenumber: 3467
    functionLinenumberEnd: 3470
    functionName: wpa_cli_cmd_nan_status
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: int wpa_cli_cmd_nan_status(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3477
      start: 3473
    functionDepth: 2
    functionLinenumber: 3473
    functionLinenumberEnd: 3477
    functionName: wpa_cli_cmd_nan_bootstrap
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_nan_bootstrap(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \    char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3484
      start: 3480
    functionDepth: 2
    functionLinenumber: 3480
    functionLinenumberEnd: 3484
    functionName: wpa_cli_cmd_nan_bootstrap_reset
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_nan_bootstrap_reset(struct wpa_ctrl *ctrl,\n\t\t\t\t\t
      \  int argc, char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3492
      start: 3489
    functionDepth: 2
    functionLinenumber: 3489
    functionLinenumberEnd: 3492
    functionName: wpa_cli_cmd_nan_pair
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: int wpa_cli_cmd_nan_pair(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3499
      start: 3495
    functionDepth: 2
    functionLinenumber: 3495
    functionLinenumberEnd: 3499
    functionName: wpa_cli_cmd_nan_pair_abort
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_nan_pair_abort(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \     char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:3509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3510
      start: 3506
    functionDepth: 0
    functionLinenumber: 3506
    functionLinenumberEnd: 3510
    functionName: wpa_cli_cmd_generate_new_mac
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_cmd_generate_new_mac(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\tchar
      *argv[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4342,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4344,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4346,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4348,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - cmd
    - pad
    argTypes:
    - struct wpa_cli_cmd*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4349
      start: 4337
    functionDepth: 0
    functionLinenumber: 4337
    functionLinenumberEnd: 4349
    functionName: print_cmd_help
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void print_cmd_help(const struct wpa_cli_cmd *cmd, const char *pad)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4355,1
    - Dst: str_starts
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4357,1
    - Dst: print_cmd_help
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4358,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4360
      start: 4352
    functionDepth: 1
    functionLinenumber: 4352
    functionLinenumberEnd: 4360
    functionName: print_help
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 2
    functionsReached:
    - print_cmd_help
    - str_starts
    - printf
    linkageType: ''
    returnType: void
    signature: void print_help(const char *cmd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4369,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4373,1
    - Dst: os_strncasecmp
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4376,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4376,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - cmd
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4381
      start: 4363
    functionDepth: 0
    functionLinenumber: 4363
    functionLinenumberEnd: 4381
    functionName: wpa_cli_edit_filter_history_cb
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_strchr
    - os_strncasecmp
    linkageType: ''
    returnType: int
    signature: int wpa_cli_edit_filter_history_cb(void *ctx, const char *cmd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4390,1
    - Dst: dl_list_len
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4391,1
    - Dst: dl_list_len
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4392,1
    - Dst: os_calloc
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4393,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4398,1
    - Dst: dl_list_for_each
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4403,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4404,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4405,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4408,1
    - Dst: dl_list_for_each
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4412,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4413,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4420
      start: 4384
    functionDepth: 1
    functionLinenumber: 4384
    functionLinenumberEnd: 4420
    functionName: wpa_list_cmd_list
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 1
    functionsReached:
    - os_strlen
    - os_calloc
    - os_malloc
    - dl_list_for_each
    - os_snprintf
    - dl_list_len
    - os_strdup
    - ARRAY_SIZE
    linkageType: ''
    returnType: char
    signature: char ** wpa_list_cmd_list(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_strcasecmp
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4429,1
    - Dst: completion
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4431,1
    - Dst: edit_clear_line
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4433,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4434,1
    - Dst: edit_redraw
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4435,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4441
      start: 4423
    functionDepth: 0
    functionLinenumber: 4423
    functionLinenumberEnd: 4441
    functionName: wpa_cli_cmd_completion
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - completion
    - edit_clear_line
    - printf
    - edit_redraw
    - os_strcasecmp
    linkageType: ''
    returnType: char
    signature: "char ** wpa_cli_cmd_completion(const char *cmd, const char *str,\n\t\t\t\t
      \     int pos)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_strncasecmp
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4450,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4451,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4458,1
    - Dst: wpa_list_cmd_list
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4460,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4462,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4465,1
    - Dst: wpa_cli_cmd_completion
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4467,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4468,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4470
      start: 4444
    functionDepth: 2
    functionLinenumber: 4444
    functionLinenumberEnd: 4470
    functionName: wpa_cli_edit_completion_cb
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - os_strncasecmp
    - wpa_cli_cmd_completion
    - os_memcpy
    - os_malloc
    - wpa_list_cmd_list
    - os_free
    - os_strchr
    linkageType: ''
    returnType: char
    signature: char ** wpa_cli_edit_completion_cb(void *ctx, const char *str, int
      pos)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: os_strncasecmp
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4479,1
    - Dst: os_strncasecmp
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4492,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4492,1
    - Dst: os_strcasecmp
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4495,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4506,1
    - Dst: os_strncasecmp
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4509,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4510,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4511,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4515,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4518,1
    - Dst: handler
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4521,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4525
      start: 4473
    functionDepth: 0
    functionLinenumber: 4473
    functionLinenumberEnd: 4525
    functionName: wpa_request
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - os_strncasecmp
    - os_strlen
    - printf
    - os_strcasecmp
    - handler
    linkageType: ''
    returnType: int
    signature: int wpa_request(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4539,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4539,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4540,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4543,1
    - Dst: os_exec
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4544,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4545,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - program
    - arg1
    - arg2
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4548
      start: 4528
    functionDepth: 0
    functionLinenumber: 4528
    functionLinenumberEnd: 4548
    functionName: wpa_cli_exec
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_malloc
    - os_snprintf
    - os_exec
    - os_free
    linkageType: ''
    returnType: int
    signature: "int wpa_cli_exec(const char *program, const char *arg1,\n\t\t\tconst
      char *arg2)"
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: eloop_terminated
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4558,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4562,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4564,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4567,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4576,1
    - Dst: str_starts
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4583,1
    - Dst: os_unsetenv
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4585,1
    - Dst: os_unsetenv
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4586,1
    - Dst: os_unsetenv
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4587,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4589,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4591,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4598,1
    - Dst: os_setenv
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4599,1
    - Dst: os_setenv
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4608,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4609,1
    - Dst: os_setenv
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4612,1
    - Dst: wpa_cli_exec
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4617,1
    - Dst: str_starts
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4619,1
    - Dst: wpa_cli_exec
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4622,1
    - Dst: str_starts
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4624,1
    - Dst: wpa_cli_exec
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4625,1
    - Dst: str_starts
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4626,1
    - Dst: wpa_cli_exec
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4627,1
    - Dst: str_starts
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4628,1
    - Dst: wpa_cli_exec
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4629,1
    - Dst: str_starts
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4630,1
    - Dst: wpa_cli_exec
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4631,1
    - Dst: str_starts
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4632,1
    - Dst: wpa_cli_exec
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4633,1
    - Dst: str_starts
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4634,1
    - Dst: wpa_cli_exec
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4635,1
    - Dst: str_starts
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4636,1
    - Dst: wpa_cli_exec
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4637,1
    - Dst: str_starts
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4638,1
    - Dst: wpa_cli_exec
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4639,1
    - Dst: str_starts
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4640,1
    - Dst: wpa_cli_exec
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4641,1
    - Dst: str_starts
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4642,1
    - Dst: wpa_cli_exec
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4643,1
    - Dst: str_starts
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4644,1
    - Dst: wpa_cli_exec
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4645,1
    - Dst: str_starts
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4646,1
    - Dst: wpa_cli_exec
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4647,1
    - Dst: str_starts
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4648,1
    - Dst: wpa_cli_exec
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4649,1
    - Dst: str_starts
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4650,1
    - Dst: wpa_cli_exec
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4651,1
    - Dst: str_starts
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4652,1
    - Dst: wpa_cli_exec
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4653,1
    - Dst: str_starts
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4654,1
    - Dst: wpa_cli_exec
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4655,1
    - Dst: str_starts
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4656,1
    - Dst: wpa_cli_exec
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4657,1
    - Dst: str_starts
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4658,1
    - Dst: wpa_cli_exec
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4659,1
    - Dst: str_starts
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4660,1
    - Dst: wpa_cli_exec
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4661,1
    - Dst: str_starts
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4662,1
    - Dst: wpa_cli_exec
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4663,1
    - Dst: str_starts
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4664,1
    - Dst: wpa_cli_exec
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4665,1
    - Dst: str_starts
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4666,1
    - Dst: wpa_cli_exec
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4667,1
    - Dst: str_starts
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4668,1
    - Dst: wpa_cli_exec
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4669,1
    - Dst: str_starts
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4670,1
    - Dst: wpa_cli_exec
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4671,1
    - Dst: str_starts
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4672,1
    - Dst: wpa_cli_exec
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4673,1
    - Dst: str_starts
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4674,1
    - Dst: wpa_cli_exec
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4675,1
    - Dst: str_starts
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4676,1
    - Dst: wpa_cli_exec
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4677,1
    - Dst: str_starts
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4678,1
    - Dst: wpa_cli_exec
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4679,1
    - Dst: str_starts
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4680,1
    - Dst: wpa_cli_exec
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4681,1
    - Dst: str_starts
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4682,1
    - Dst: wpa_cli_exec
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4683,1
    - Dst: str_starts
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4684,1
    - Dst: wpa_cli_exec
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4685,1
    - Dst: str_starts
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4686,1
    - Dst: wpa_cli_exec
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4687,1
    - Dst: str_starts
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4688,1
    - Dst: wpa_cli_exec
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4689,1
    - Dst: str_starts
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4690,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4691,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 162
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4695
      start: 4551
    functionDepth: 1
    functionLinenumber: 4551
    functionLinenumberEnd: 4695
    functionName: wpa_cli_action_process
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - os_strdup
    - os_memcpy
    - wpa_cli_exec
    - os_unsetenv
    - os_strncmp
    - printf
    - os_strstr
    - atoi
    - eloop_terminated
    - os_strchr
    - os_free
    - str_starts
    - os_setenv
    linkageType: ''
    returnType: void
    signature: void wpa_cli_action_process(const char *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_action_process
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4701,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4702
      start: 4699
    functionDepth: 2
    functionLinenumber: 4699
    functionLinenumberEnd: 4702
    functionName: wpa_cli_action_cb
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_action_process
    linkageType: ''
    returnType: void
    signature: void wpa_cli_action_cb(char *msg, size_t len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_open
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4709,1
    - Dst: wpa_ctrl_open
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4711,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4714,1
    - Dst: strerror
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4716,1
    - Dst: update_ifnames
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4721,1
    - Dst: wpa_ctrl_open
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4722,1
    - Dst: wpa_ctrl_attach
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4724,1
    - Dst: eloop_register_read_sock
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4726,1
    - Dst: wpa_ctrl_get_fd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4727,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4731,1
    - Dst: update_stations
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4734,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4738
      start: 4706
    functionDepth: 1
    functionLinenumber: 4706
    functionLinenumberEnd: 4738
    functionName: wpa_cli_open_global_ctrl
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - fprintf
    - update_stations
    - strerror
    - eloop_register_read_sock
    - update_ifnames
    - wpa_ctrl_open
    - printf
    - wpa_ctrl_attach
    - wpa_ctrl_get_fd
    linkageType: ''
    returnType: int
    signature: int wpa_cli_open_global_ctrl(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_close_connection
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4743,1
    - Dst: wpa_cli_open_global_ctrl
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4744,1
    - Dst: wpa_cli_open_connection
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4745,1
    - Dst: edit_clear_line
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4749,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4750,1
    - Dst: edit_redraw
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4751,1
    - Dst: update_stations
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4752,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4754
      start: 4741
    functionDepth: 2
    functionLinenumber: 4741
    functionLinenumberEnd: 4754
    functionName: wpa_cli_reconnect
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - update_stations
    - wpa_cli_open_global_ctrl
    - edit_clear_line
    - printf
    - wpa_cli_close_connection
    - edit_redraw
    - wpa_cli_open_connection
    linkageType: ''
    returnType: void
    signature: void wpa_cli_reconnect(void)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4761,1
    - Dst: str_starts
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4767,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4768,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4771,1
    - Dst: cli_txt_list_add
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4774,1
    - Dst: str_starts
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4778,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4779,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4782,1
    - Dst: cli_txt_list_del_addr
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4785,1
    - Dst: str_starts
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4790,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4791,1
    - Dst: cli_txt_list_add_addr
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4794,1
    - Dst: str_starts
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4798,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4799,1
    - Dst: cli_txt_list_del_addr
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4802,1
    - Dst: str_starts
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4806,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4807,1
    - Dst: cli_txt_list_add_word
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4810,1
    - Dst: str_starts
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4814,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4815,1
    - Dst: cli_txt_list_del_word
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4818,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 53
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4822
      start: 4757
    functionDepth: 1
    functionLinenumber: 4757
    functionLinenumberEnd: 4822
    functionName: cli_event
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - cli_txt_list_add_addr
    - cli_txt_list_add_word
    - os_strstr
    - cli_txt_list_del_word
    - cli_txt_list_add
    - os_strchr
    - str_starts
    - cli_txt_list_del_addr
    linkageType: ''
    returnType: void
    signature: void cli_event(const char *str)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4831,1
    - Dst: str_starts
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4838,1
    - Dst: edit_clear_line
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4839,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4840,1
    - Dst: edit_redraw
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4842,1
    - Dst: wpa_cli_close_connection
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4844,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4849
      start: 4825
    functionDepth: 2
    functionLinenumber: 4825
    functionLinenumberEnd: 4849
    functionName: check_terminating
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - edit_clear_line
    - printf
    - wpa_cli_close_connection
    - edit_redraw
    - os_strchr
    - str_starts
    linkageType: ''
    returnType: int
    signature: int check_terminating(const char *msg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_reconnect
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4855,1
    - Dst: wpa_ctrl_pending
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4858,1
    - Dst: wpa_ctrl_recv
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4861,1
    - Dst: wpa_cli_action_process
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4864,1
    - Dst: cli_event
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4866,1
    - Dst: wpa_cli_show_event
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4867,1
    - Dst: edit_clear_line
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4868,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4869,1
    - Dst: edit_redraw
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4870,1
    - Dst: check_terminating
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4873,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4877,1
    - Dst: wpa_ctrl_pending
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4882,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4883,1
    - Dst: eloop_terminate
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4886,1
    - Dst: wpa_cli_reconnect
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4889,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 2
    argNames:
    - ctrl
    - action_monitor
    argTypes:
    - struct wpa_ctrl*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4891
      start: 4852
    functionDepth: 3
    functionLinenumber: 4852
    functionLinenumberEnd: 4891
    functionName: wpa_cli_recv_pending
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_pending
    - wpa_cli_action_process
    - edit_clear_line
    - printf
    - check_terminating
    - wpa_cli_show_event
    - edit_redraw
    - wpa_ctrl_recv
    - cli_event
    - eloop_terminate
    - wpa_cli_reconnect
    linkageType: ''
    returnType: void
    signature: void wpa_cli_recv_pending(struct wpa_ctrl *ctrl, int action_monitor)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _wpa_ctrl_command
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4901,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4904,1
    - Dst: wpa_cli_close_connection
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4906,1
    - Dst: wpa_cli_reconnect
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4910,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4911,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4912
      start: 4894
    functionDepth: 3
    functionLinenumber: 4894
    functionLinenumberEnd: 4912
    functionName: wpa_cli_ping
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - _wpa_ctrl_command
    - printf
    - wpa_cli_close_connection
    - eloop_register_timeout
    - wpa_cli_reconnect
    linkageType: ''
    returnType: void
    signature: void wpa_cli_ping(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_recv_pending
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4917,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sock
    - eloop_ctx
    - sock_ctx
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4918
      start: 4915
    functionDepth: 4
    functionLinenumber: 4915
    functionLinenumberEnd: 4918
    functionName: wpa_cli_mon_receive
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_recv_pending
    linkageType: ''
    returnType: void
    signature: void wpa_cli_mon_receive(int sock, void *eloop_ctx, void *sock_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tokenize_cmd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4925,1
    - Dst: wpa_request
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4927,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - cmd
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4928
      start: 4921
    functionDepth: 1
    functionLinenumber: 4921
    functionLinenumberEnd: 4928
    functionName: wpa_cli_edit_cmd_cb
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_request
    - tokenize_cmd
    linkageType: ''
    returnType: void
    signature: void wpa_cli_edit_cmd_cb(void *ctx, char *cmd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eloop_terminate
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4933,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4934
      start: 4931
    functionDepth: 0
    functionLinenumber: 4931
    functionLinenumberEnd: 4934
    functionName: wpa_cli_edit_eof_cb
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - eloop_terminate
    linkageType: ''
    returnType: void
    signature: void wpa_cli_edit_eof_cb(void *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_get_remote_ifname
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4947,1
    - Dst: getenv
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4953,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4957,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4957,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4958,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4960,1
    - Dst: edit_init
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4963,1
    - Dst: eloop_terminate
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4965,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4970,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4971
      start: 4941
    functionDepth: 1
    functionLinenumber: 4941
    functionLinenumberEnd: 4971
    functionName: start_edit
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - edit_init
    - getenv
    - os_malloc
    - os_snprintf
    - eloop_register_timeout
    - eloop_terminate
    - wpa_ctrl_get_remote_ifname
    linkageType: ''
    returnType: void
    signature: void start_edit(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_request
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4984,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4984,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4991,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4995,1
    - Dst: cli_txt_list_add
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:4999,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - struct wpa_ctrl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5002
      start: 4974
    functionDepth: 1
    functionLinenumber: 4974
    functionLinenumberEnd: 5002
    functionName: update_bssid_list
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_ctrl_request
    - os_strstr
    - cli_txt_list_add
    - os_strchr
    linkageType: ''
    returnType: void
    signature: void update_bssid_list(struct wpa_ctrl *ctrl)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cli_txt_list_flush
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5014,1
    - Dst: wpa_ctrl_request
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5018,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5018,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5025,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5029,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5030,1
    - Dst: cli_txt_list_add
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5031,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - struct wpa_ctrl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5034
      start: 5005
    functionDepth: 1
    functionLinenumber: 5005
    functionLinenumberEnd: 5034
    functionName: update_ifnames
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 1
    functionsReached:
    - os_strlen
    - cli_txt_list_flush
    - wpa_ctrl_request
    - os_snprintf
    - cli_txt_list_add
    - os_strchr
    - os_snprintf_error
    linkageType: ''
    returnType: void
    signature: void update_ifnames(struct wpa_ctrl *ctrl)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cli_txt_list_flush
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5046,1
    - Dst: wpa_ctrl_request
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5050,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5050,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5057,1
    - Dst: cli_txt_list_add_word
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5062,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - struct wpa_ctrl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5066
      start: 5037
    functionDepth: 1
    functionLinenumber: 5037
    functionLinenumberEnd: 5066
    functionName: update_creds
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 2
    functionsReached:
    - os_strlen
    - cli_txt_list_flush
    - wpa_ctrl_request
    - cli_txt_list_add_word
    - os_strchr
    linkageType: ''
    returnType: void
    signature: void update_creds(struct wpa_ctrl *ctrl)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cli_txt_list_flush
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5078,1
    - Dst: wpa_ctrl_request
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5082,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5082,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5089,1
    - Dst: cli_txt_list_add_word
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5094,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - struct wpa_ctrl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5098
      start: 5069
    functionDepth: 1
    functionLinenumber: 5069
    functionLinenumberEnd: 5098
    functionName: update_networks
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 2
    functionsReached:
    - os_strlen
    - cli_txt_list_flush
    - wpa_ctrl_request
    - cli_txt_list_add_word
    - os_strchr
    linkageType: ''
    returnType: void
    signature: void update_networks(struct wpa_ctrl *ctrl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cli_txt_list_flush
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5109,1
    - Dst: wpa_ctrl_command_sta
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5111,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5114,1
    - Dst: cli_txt_list_add
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5115,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5116,1
    - Dst: wpa_ctrl_command_sta
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5117,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - struct wpa_ctrl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5119
      start: 5101
    functionDepth: 1
    functionLinenumber: 5101
    functionLinenumberEnd: 5119
    functionName: update_stations
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 2
    functionsReached:
    - cli_txt_list_flush
    - wpa_ctrl_command_sta
    - os_snprintf
    - cli_txt_list_add
    - os_strcmp
    linkageType: ''
    returnType: void
    signature: void update_stations(struct wpa_ctrl *ctrl)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_get_default_ifname
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5128,1
    - Dst: wpa_cli_open_connection
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5130,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5132,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5137,1
    - Dst: update_bssid_list
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5141,1
    - Dst: update_creds
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5142,1
    - Dst: update_networks
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5143,1
    - Dst: update_stations
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5144,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5147,1
    - Dst: start_edit
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5150,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5151
      start: 5122
    functionDepth: 2
    functionLinenumber: 5122
    functionLinenumberEnd: 5151
    functionName: try_connection
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - update_stations
    - update_networks
    - update_creds
    - printf
    - update_bssid_list
    - eloop_register_timeout
    - wpa_cli_get_default_ifname
    - start_edit
    - wpa_cli_open_connection
    linkageType: ''
    returnType: void
    signature: void try_connection(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5156,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5158,1
    - Dst: eloop_run
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5159,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5160,1
    - Dst: cli_txt_list_flush
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5162,1
    - Dst: cli_txt_list_flush
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5163,1
    - Dst: cli_txt_list_flush
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5164,1
    - Dst: cli_txt_list_flush
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5165,1
    - Dst: cli_txt_list_flush
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5166,1
    - Dst: cli_txt_list_flush
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5167,1
    - Dst: edit_deinit
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5169,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5170,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5171,1
    - Dst: wpa_cli_close_connection
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5173
      start: 5154
    functionDepth: 2
    functionLinenumber: 5154
    functionLinenumberEnd: 5173
    functionName: wpa_cli_interactive
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - cli_txt_list_flush
    - edit_deinit
    - eloop_cancel_timeout
    - printf
    - wpa_cli_close_connection
    - eloop_register_timeout
    - os_free
    - eloop_run
    linkageType: ''
    returnType: void
    signature: void wpa_cli_interactive(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_request
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5184,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5186,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5187,1
    - Dst: eloop_terminate
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5188,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5191,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5193
      start: 5176
    functionDepth: 1
    functionLinenumber: 5176
    functionLinenumberEnd: 5193
    functionName: wpa_cli_action_ping
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_request
    - printf
    - eloop_register_timeout
    - os_memcmp
    - eloop_terminate
    linkageType: ''
    returnType: void
    signature: void wpa_cli_action_ping(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_recv_pending
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sock
    - eloop_ctx
    - sock_ctx
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5201
      start: 5196
    functionDepth: 4
    functionLinenumber: 5196
    functionLinenumberEnd: 5201
    functionName: wpa_cli_action_receive
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_recv_pending
    linkageType: ''
    returnType: void
    signature: void wpa_cli_action_receive(int sock, void *eloop_ctx, void *sock_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5208,1
    - Dst: wpa_ctrl_get_fd
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5212,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5213,1
    - Dst: eloop_register_read_sock
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5215,1
    - Dst: eloop_run
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5216,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5217,1
    - Dst: eloop_unregister_read_sock
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - struct wpa_ctrl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5220
      start: 5204
    functionDepth: 1
    functionLinenumber: 5204
    functionLinenumberEnd: 5220
    functionName: wpa_cli_action
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - eloop_unregister_read_sock
    - eloop_register_read_sock
    - eloop_cancel_timeout
    - printf
    - eloop_register_timeout
    - wpa_ctrl_get_fd
    - eloop_run
    linkageType: ''
    returnType: void
    signature: void wpa_cli_action(struct wpa_ctrl *ctrl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cli_close_connection
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5225,1
    - Dst: os_daemonize_terminate
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5227,1
    - Dst: os_program_deinit
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5230
      start: 5223
    functionDepth: 2
    functionLinenumber: 5223
    functionLinenumberEnd: 5230
    functionName: wpa_cli_cleanup
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - wpa_cli_close_connection
    - os_daemonize_terminate
    - os_program_deinit
    linkageType: ''
    returnType: void
    signature: void wpa_cli_cleanup(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eloop_terminate
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - sig
    - ctx
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5238
      start: 5233
    functionDepth: 0
    functionLinenumber: 5233
    functionLinenumberEnd: 5238
    functionName: wpa_cli_terminate
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 0
    functionsReached:
    - eloop_terminate
    linkageType: ''
    returnType: void
    signature: void wpa_cli_terminate(int sig, void *ctx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: property_get
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5247,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5248,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5249,1
    - Dst: opendir
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5254,1
    - Dst: readdir
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5258,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5270,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5271,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5272,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5274,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5275,1
    - Dst: closedir
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5278,1
    - Dst: wpa_ctrl_open
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5287,1
    - Dst: wpa_ctrl_request
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5292,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5295,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5298,1
    - Dst: wpa_ctrl_close
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5300,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5305
      start: 5241
    functionDepth: 1
    functionLinenumber: 5241
    functionLinenumberEnd: 5305
    functionName: wpa_cli_get_default_ifname
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 1
    functionsReached:
    - closedir
    - wpa_ctrl_close
    - wpa_ctrl_request
    - os_strncmp
    - printf
    - wpa_ctrl_open
    - os_strcmp
    - opendir
    - os_strchr
    - readdir
    - property_get
    - os_strdup
    linkageType: ''
    returnType: char
    signature: char * wpa_cli_get_default_ifname(void)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: os_program_init
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5314,1
    - Dst: getopt
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5318,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5332,1
    - Dst: usage
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5335,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5338,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5341,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5342,1
    - Dst: usage
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5357,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5365,1
    - Dst: eloop_init
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5367,1
    - Dst: wpa_cli_open_global_ctrl
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5370,1
    - Dst: eloop_register_signal_terminate
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5373,1
    - Dst: wpa_cli_get_default_ifname
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5376,1
    - Dst: wpa_cli_action
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5381,1
    - Dst: os_sleep
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5383,1
    - Dst: wpa_cli_close_connection
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5384,1
    - Dst: wpa_cli_open_connection
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5385,1
    - Dst: wpa_ctrl_attach
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5387,1
    - Dst: wpa_cli_close_connection
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5388,1
    - Dst: wpa_cli_interactive
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5394,1
    - Dst: wpa_cli_open_connection
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5397,1
    - Dst: fprintf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5398,1
    - Dst: strerror
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5401,1
    - Dst: wpa_ctrl_attach
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5406,1
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5409,1
    - Dst: os_daemonize
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5415,1
    - Dst: eloop_sock_requeue
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5415,1
    - Dst: wpa_cli_action
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5419,1
    - Dst: wpa_request
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5421,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5425,1
    - Dst: eloop_destroy
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5426,1
    - Dst: wpa_cli_cleanup
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5427,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 96
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5430
      start: 5308
    functionDepth: 3
    functionLinenumber: 5308
    functionLinenumberEnd: 5430
    functionName: main
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 1
    functionsReached:
    - wpa_cli_action
    - os_program_init
    - fprintf
    - wpa_cli_open_global_ctrl
    - os_sleep
    - atoi
    - getopt
    - os_free
    - eloop_destroy
    - usage
    - printf
    - os_strdup
    - wpa_cli_open_connection
    - wpa_request
    - wpa_cli_cleanup
    - eloop_sock_requeue
    - wpa_cli_interactive
    - strerror
    - eloop_register_signal_terminate
    - wpa_cli_close_connection
    - eloop_init
    - wpa_ctrl_attach
    - os_daemonize
    - wpa_cli_get_default_ifname
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wpa_supplicant/wpa_cli.c:5435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5437
      start: 5433
    functionDepth: 0
    functionLinenumber: 5433
    functionLinenumberEnd: 5437
    functionName: main
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_cli.c
    functionUses: 1
    functionsReached:
    - printf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:35,1
    - Dst: wpa_drv_wnm_oper
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - wpa_s
    - buf
    - buf_len
    - oper
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u16*
    - enum wnm_oper
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 38
    functionName: ieee80211_11_get_tfs_ie
    functionSourceFile: /src/hostap/wpa_supplicant/wnm_sta.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_drv_wnm_oper
    linkageType: ''
    returnType: int
    signature: "int ieee80211_11_get_tfs_ie(struct wpa_supplicant *wpa_s, u8 *buf,\n\t\t\t\t
      \  u16 *buf_len, enum wnm_oper oper)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:48,1
    - Dst: wpa_drv_wnm_oper
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - wpa_s
    - addr
    - buf
    - buf_len
    - oper
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - u16
    - enum wnm_oper
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 51
    functionName: ieee80211_11_set_tfs_ie
    functionSourceFile: /src/hostap/wpa_supplicant/wnm_sta.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_drv_wnm_oper
    linkageType: ''
    returnType: int
    signature: "int ieee80211_11_set_tfs_ie(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \  const u8 *addr, const u8 *buf, u16 buf_len,\n\t\t\t\t   enum wnm_oper oper)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:68,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:71,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:75,1
    - Dst: host_to_le16
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:82,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:83,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:88,1
    - Dst: os_memdup
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:89,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:89,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:91,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:95,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:97,1
    - Dst: ieee80211_11_get_tfs_ie
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:100,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:103,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:107,1
    - Dst: wpa_sm_ocv_enabled
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:113,1
    - Dst: wpa_drv_channel_info
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:116,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:117,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:119,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:120,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:125,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:134,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:136,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:138,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:139,1
    - Dst: ocv_insert_extended_oci
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:143,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:144,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:145,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:146,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:152,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:155,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:157,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:158,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:162,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:163,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:164,1
    - Dst: IEEE80211_FC
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:165,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:170,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:174,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:181,1
    - Dst: wpa_drv_send_action
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:189,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:193,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:198,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:199,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:200,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:201,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 91
    argCount: 4
    argNames:
    - wpa_s
    - action
    - intval
    - tfs_req
    argTypes:
    - struct wpa_supplicant*
    - u8
    - u16
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 55
    functionDepth: 3
    functionLinenumber: 55
    functionLinenumberEnd: 204
    functionName: ieee802_11_send_wnmsleep_req
    functionSourceFile: /src/hostap/wpa_supplicant/wnm_sta.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - wpa_drv_channel_info
    - wpa_sm_ocv_enabled
    - os_memcpy
    - wpa_hexdump
    - wpa_drv_send_action
    - wpabuf_len
    - os_memdup
    - wpabuf_head
    - MAC2STR
    - os_zalloc
    - ieee80211_11_get_tfs_ie
    - ocv_insert_extended_oci
    - IEEE80211_FC
    - os_free
    - host_to_le16
    linkageType: ''
    returnType: int
    signature: "int ieee802_11_send_wnmsleep_req(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      u8 action, u16 intval, struct wpabuf *tfs_req)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_wnm_oper
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:211,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:221,1
    - Dst: ieee80211_11_set_tfs_ie
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:223,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:227,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - wpa_s
    - tfsresp_ie_start
    - tfsresp_ie_end
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 229
    functionName: wnm_sleep_mode_enter_success
    functionSourceFile: /src/hostap/wpa_supplicant/wnm_sta.c
    functionUses: 0
    functionsReached:
    - ieee80211_11_set_tfs_ie
    - wpa_printf
    - wpa_drv_wnm_oper
    linkageType: ''
    returnType: void
    signature: "void wnm_sleep_mode_enter_success(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      const u8 *tfsresp_ie_start,\n\t\t\t\t\t const u8 *tfsresp_ie_end)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_wnm_oper
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:238,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:246,1
    - Dst: wpa_sm_pmf_enabled
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:248,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:249,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:256,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:259,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:266,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:273,1
    - Dst: wpa_wnmsleep_install_key
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:277,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:284,1
    - Dst: wpa_wnmsleep_install_key
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:288,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:293,1
    - Dst: wpa_wnmsleep_install_key
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:297,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 48
    argCount: 3
    argNames:
    - wpa_s
    - frm
    - key_len_total
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 303
    functionName: wnm_sleep_mode_exit_success
    functionSourceFile: /src/hostap/wpa_supplicant/wnm_sta.c
    functionUses: 0
    functionsReached:
    - wpa_hexdump_key
    - wpa_printf
    - wpa_hexdump
    - wpa_msg
    - wpa_drv_wnm_oper
    - wpa_sm_pmf_enabled
    - wpa_wnmsleep_install_key
    linkageType: ''
    returnType: void
    signature: "void wnm_sleep_mode_exit_success(struct wpa_supplicant *wpa_s,\n\t\t\t\t\tconst
      u8 *frm, u16 key_len_total)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:327,1
    - Dst: is_multicast_ether_addr
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:332,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:333,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:336,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:336,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:342,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:344,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:348,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:355,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:358,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:372,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:377,1
    - Dst: wpa_sm_ocv_enabled
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:383,1
    - Dst: wpa_drv_channel_info
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:386,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:387,1
    - Dst: ocv_verify_tx_params
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:392,1
    - Dst: channel_width_to_int
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:393,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:395,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:406,1
    - Dst: wnm_sleep_mode_enter_success
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:410,1
    - Dst: wnm_sleep_mode_exit_success
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:413,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:416,1
    - Dst: wpa_drv_wnm_oper
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:420,1
    - Dst: wpa_drv_wnm_oper
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:423,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 69
    argCount: 5
    argNames:
    - wpa_s
    - da
    - sa
    - frm
    - len
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 306
    functionDepth: 2
    functionLinenumber: 306
    functionLinenumberEnd: 426
    functionName: ieee802_11_rx_wnmsleep_resp
    functionSourceFile: /src/hostap/wpa_supplicant/wnm_sta.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_drv_channel_info
    - is_multicast_ether_addr
    - wpa_sm_ocv_enabled
    - wpa_hexdump
    - wpa_msg
    - WPA_GET_LE16
    - wpa_drv_wnm_oper
    - MAC2STR
    - wnm_sleep_mode_enter_success
    - ocv_verify_tx_params
    - channel_width_to_int
    - wnm_sleep_mode_exit_success
    linkageType: ''
    returnType: void
    signature: "void ieee802_11_rx_wnmsleep_resp(struct wpa_supplicant *wpa_s,\n\t\t\t\t\tconst
      u8 *da, const u8 *sa,\n\t\t\t\t\tconst u8 *frm, int len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:434,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:435,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:439,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 455
    functionName: wnm_btm_reset
    functionSourceFile: /src/hostap/wpa_supplicant/wnm_sta.c
    functionUses: 4
    functionsReached:
    - os_free
    linkageType: ''
    returnType: void
    signature: void wnm_btm_reset(struct wpa_supplicant *wpa_s)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:470,1
    - Dst: le_to_host16
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:476,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:478,1
    - Dst: le_to_host16
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:480,1
    - Dst: le_to_host16
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:483,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:489,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:495,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:501,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:509,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:514,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:524,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:539,1
    - Dst: le_to_host16
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:546,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:550,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:558,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 51
    argCount: 4
    argNames:
    - rep
    - id
    - elen
    - pos
    argTypes:
    - struct neighbor_report*
    - u8
    - u8
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 563
    functionName: wnm_parse_neighbor_report_multi_link
    functionSourceFile: /src/hostap/wpa_supplicant/wnm_sta.c
    functionUses: 0
    functionsReached:
    - le_to_host16
    - wpa_printf
    - BIT
    - os_memcpy
    linkageType: ''
    returnType: void
    signature: "void wnm_parse_neighbor_report_multi_link(struct neighbor_report *rep,\n\t\t\t\t\t\t
      u8 id, u8 elen, const u8 *pos)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:572,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:575,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:576,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:581,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:585,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:590,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:599,1
    - Dst: WPA_GET_LE64
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:603,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:604,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:609,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:613,1
    - Dst: WPA_GET_LE32
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:614,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:615,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:620,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:624,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:625,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:630,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:634,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:638,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:643,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:646,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:647,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:652,1
    - Dst: wnm_parse_neighbor_report_multi_link
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:655,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:658,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 87
    argCount: 4
    argNames:
    - rep
    - id
    - elen
    - pos
    argTypes:
    - struct neighbor_report*
    - u8
    - u8
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 566
    functionDepth: 2
    functionLinenumber: 566
    functionLinenumberEnd: 663
    functionName: wnm_parse_neighbor_report_elem
    functionSourceFile: /src/hostap/wpa_supplicant/wnm_sta.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_printf
    - WPA_GET_LE64
    - wnm_parse_neighbor_report_multi_link
    - WPA_GET_LE32
    - WPA_GET_LE16
    - os_zalloc
    - os_free
    linkageType: ''
    returnType: void
    signature: "void wnm_parse_neighbor_report_elem(struct neighbor_report *rep,\n\t\t\t\t\t
      \  u8 id, u8 elen, const u8 *pos)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_bss_get_ie
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:673,1
    - Dst: ieee80211_chan_to_freq
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:679,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 3
    argNames:
    - wpa_s
    - op_class
    - chan
    argTypes:
    - struct wpa_supplicant*
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 666
    functionDepth: 2
    functionLinenumber: 666
    functionLinenumberEnd: 694
    functionName: wnm_nei_get_chan
    functionSourceFile: /src/hostap/wpa_supplicant/wnm_sta.c
    functionUses: 0
    functionsReached:
    - wpa_bss_get_ie
    - ieee80211_chan_to_freq
    linkageType: ''
    returnType: int
    signature: int wnm_nei_get_chan(struct wpa_supplicant *wpa_s, u8 op_class, u8
      chan)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:704,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:708,1
    - Dst: WPA_GET_LE32
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:709,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:722,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:725,1
    - Dst: wnm_parse_neighbor_report_elem
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:729,1
    - Dst: wnm_nei_get_chan
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:734,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 4
    argNames:
    - wpa_s
    - pos
    - len
    - rep
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8
    - struct neighbor_report*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 697
    functionDepth: 3
    functionLinenumber: 697
    functionLinenumberEnd: 736
    functionName: wnm_parse_neighbor_report
    functionSourceFile: /src/hostap/wpa_supplicant/wnm_sta.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wnm_nei_get_chan
    - WPA_GET_LE32
    - wnm_parse_neighbor_report_elem
    linkageType: ''
    returnType: void
    signature: "void wnm_parse_neighbor_report(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \     const u8 *pos, u8 len,\n\t\t\t\t      struct neighbor_report *rep)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: os_calloc
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:755,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:770,1
    - Dst: wpa_drv_get_bss_trans_status
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:778,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:788,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:803,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:805,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:806,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 43
    argCount: 2
    argNames:
    - wpa_s
    - reason
    argTypes:
    - struct wpa_supplicant*
    - enum mbo_transition_reject_reason*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 739
    functionDepth: 1
    functionLinenumber: 739
    functionLinenumberEnd: 809
    functionName: fetch_drv_mbo_candidate_info
    functionSourceFile: /src/hostap/wpa_supplicant/wnm_sta.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - os_calloc
    - ether_addr_equal
    - wpa_drv_get_bss_trans_status
    - os_free
    linkageType: ''
    returnType: void
    signature: "void fetch_drv_mbo_candidate_info(struct wpa_supplicant *wpa_s,\n\t\t\t
      \    enum mbo_transition_reject_reason *reason)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_bss_get_ie
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:819,1
    - Dst: wpa_bss_get_ie
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:820,1
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:825,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - a
    - b
    - eid
    argTypes:
    - struct wpa_bss*
    - struct wpa_bss*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 812
    functionDepth: 2
    functionLinenumber: 812
    functionLinenumberEnd: 826
    functionName: wpa_bss_ies_eq
    functionSourceFile: /src/hostap/wpa_supplicant/wnm_sta.c
    functionUses: 0
    functionsReached:
    - wpa_bss_get_ie
    - os_memcmp
    linkageType: ''
    returnType: int
    signature: int wpa_bss_ies_eq(struct wpa_bss *a, struct wpa_bss *b, u8 eid)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_bss_ies_eq
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:848,1
    - Dst: wpa_bss_ies_eq
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:850,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - wpa_s
    - bss
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 829
    functionDepth: 3
    functionLinenumber: 829
    functionLinenumberEnd: 854
    functionName: wnm_get_bss_info
    functionSourceFile: /src/hostap/wpa_supplicant/wnm_sta.c
    functionUses: 0
    functionsReached:
    - wpa_bss_ies_eq
    linkageType: ''
    returnType: u32
    signature: u32 wnm_get_bss_info(struct wpa_supplicant *wpa_s, struct wpa_bss *bss)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:861,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:863,1
    - Dst: wpabuf_resize
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:868,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:869,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:874,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:876,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:877,1
    - Dst: wpabuf_put_le32
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:878,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:879,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:880,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:881,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:882,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:883,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:884,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 7
    argNames:
    - buf
    - bssid
    - bss_info
    - op_class
    - chan
    - phy_type
    - pref
    argTypes:
    - struct wpabuf**
    - u8*
    - u32
    - u8
    - u8
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 857
    functionDepth: 1
    functionLinenumber: 857
    functionLinenumberEnd: 886
    functionName: wnm_add_nei_rep
    functionSourceFile: /src/hostap/wpa_supplicant/wnm_sta.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put_le32
    - wpabuf_resize
    - wpabuf_put_u8
    - wpabuf_put_data
    - wpabuf_len
    linkageType: ''
    returnType: int
    signature: "int wnm_add_nei_rep(struct wpabuf **buf, const u8 *bssid,\n\t\t\t
      \  u32 bss_info, u8 op_class, u8 chan, u8 phy_type,\n\t\t\t   u8 pref)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:900,1
    - Dst: wpa_bss_ie_ptr
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:900,1
    - Dst: get_operation_channel_width
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:904,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:906,1
    - Dst: ieee80211_freq_to_channel_ext
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:921,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:924,1
    - Dst: ieee80211_get_phy_type
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:929,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:933,1
    - Dst: wnm_get_bss_info
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:938,1
    - Dst: wnm_add_nei_rep
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:940,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 4
    argNames:
    - wpa_s
    - bss
    - buf
    - pref
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_bss*
    - struct wpabuf**
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 889
    functionDepth: 4
    functionLinenumber: 889
    functionLinenumberEnd: 942
    functionName: wnm_nei_rep_add_bss
    functionSourceFile: /src/hostap/wpa_supplicant/wnm_sta.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wnm_get_bss_info
    - wnm_add_nei_rep
    - ieee80211_freq_to_channel_ext
    - ieee802_11_parse_elems
    - wpa_bss_ie_ptr
    - ieee80211_get_phy_type
    - get_operation_channel_width
    linkageType: ''
    returnType: int
    signature: "int wnm_nei_rep_add_bss(struct wpa_supplicant *wpa_s,\n\t\t\t       struct
      wpa_bss *bss, struct wpabuf **buf,\n\t\t\t       u8 pref)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:958,1
    - Dst: os_reltime_expired
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:959,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:962,1
    - Dst: wpa_scan_res_match
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:968,1
    - Dst: wnm_nei_rep_add_bss
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:969,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:979,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 2
    argNames:
    - wpa_s
    - buf
    argTypes:
    - struct wpa_supplicant*
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 945
    functionDepth: 7
    functionLinenumber: 945
    functionLinenumberEnd: 982
    functionName: wnm_add_cand_list
    functionSourceFile: /src/hostap/wpa_supplicant/wnm_sta.c
    functionUses: 0
    functionsReached:
    - os_get_reltime
    - wpa_printf
    - wpa_scan_res_match
    - os_reltime_expired
    - wnm_nei_rep_add_bss
    - wpa_hexdump_buf
    linkageType: ''
    returnType: void
    signature: void wnm_add_cand_list(struct wpa_supplicant *wpa_s, struct wpabuf
      **buf)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:998,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1001,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1004,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1009,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1011,1
    - Dst: wpas_notify_bss_tm_status
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1017,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1019,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1020,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1021,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1022,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1023,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1025,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1033,1
    - Dst: wnm_add_cand_list
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1037,1
    - Dst: wpa_bss_get_vendor_ie
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1041,1
    - Dst: wpas_mbo_ie_bss_trans_reject
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1045,1
    - Dst: wpabuf_resize
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1048,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1049,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1050,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1055,1
    - Dst: wpa_drv_send_action
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1060,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1062,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1062,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1064,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1068,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 5
    argNames:
    - wpa_s
    - status
    - reason
    - delay
    - target_bssid
    argTypes:
    - struct wpa_supplicant*
    - enum bss_trans_mgmt_status_code
    - enum mbo_transition_reject_reason
    - u8
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 987
    functionDepth: 8
    functionLinenumber: 987
    functionLinenumberEnd: 1071
    functionName: wnm_send_bss_transition_mgmt_resp
    functionSourceFile: /src/hostap/wpa_supplicant/wnm_sta.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_resize
    - wpa_drv_send_action
    - wpabuf_put_u8
    - wpabuf_put_data
    - wpas_notify_bss_tm_status
    - wnm_add_cand_list
    - wpabuf_head_u8
    - wpabuf_free
    - wpabuf_len
    - MAC2STR
    - wpabuf_alloc
    - wpas_mbo_ie_bss_trans_reject
    - wpa_bss_get_vendor_ie
    linkageType: ''
    returnType: int
    signature: "int wnm_send_bss_transition_mgmt_resp(\n\tstruct wpa_supplicant *wpa_s,\n\tenum
      bss_trans_mgmt_status_code status,\n\tenum mbo_transition_reject_reason reason,\n\tu8
      delay, const u8 *target_bssid)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1080,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1084,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1084,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1089,1
    - Dst: wnm_send_bss_transition_mgmt_resp
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1095,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1103,1
    - Dst: wnm_btm_reset
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1105,1
    - Dst: radio_work_pending
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1109,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1111,1
    - Dst: wpa_supplicant_connect
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1112,1
    - Dst: radio_work_pending
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1119,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - wpa_s
    - bss
    - ssid
    - after_new_scan
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_bss*
    - struct wpa_ssid*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1074
    functionDepth: 11
    functionLinenumber: 1074
    functionLinenumberEnd: 1121
    functionName: wnm_bss_tm_connect
    functionSourceFile: /src/hostap/wpa_supplicant/wnm_sta.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - radio_work_pending
    - wnm_send_bss_transition_mgmt_resp
    - MAC2STR
    - wnm_btm_reset
    - wpa_supplicant_connect
    - wpa_dbg
    linkageType: ''
    returnType: void
    signature: "void wnm_bss_tm_connect(struct wpa_supplicant *wpa_s,\n\t\t\t       struct
      wpa_bss *bss, struct wpa_ssid *ssid,\n\t\t\t       int after_new_scan)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1136,1
    - Dst: os_reltime_initialized
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1139,1
    - Dst: os_reltime_before
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1140,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1142,1
    - Dst: fetch_drv_mbo_candidate_info
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1152,1
    - Dst: wpa_supplicant_select_bss
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1155,1
    - Dst: wpa_bss_get_bssid
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1174,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1183,1
    - Dst: wpa_supplicant_select_bss
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1185,1
    - Dst: os_reltime_age
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1207,1
    - Dst: wpa_supplicant_need_to_roam_within_ess
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1213,1
    - Dst: wpa_scan_res_match
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1222,1
    - Dst: wpa_supplicant_need_to_roam_within_ess
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1224,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1230,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1235,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1238,1
    - Dst: wnm_bss_tm_connect
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1242,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1251,1
    - Dst: wnm_send_bss_transition_mgmt_resp
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1256,1
    - Dst: wnm_btm_reset
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1260,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 59
    argCount: 2
    argNames:
    - wpa_s
    - pre_scan_check
    argTypes:
    - struct wpa_supplicant*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1263
      start: 1124
    functionDepth: 12
    functionLinenumber: 1124
    functionLinenumberEnd: 1263
    functionName: wnm_scan_process
    functionSourceFile: /src/hostap/wpa_supplicant/wnm_sta.c
    functionUses: 1
    functionsReached:
    - wnm_bss_tm_connect
    - os_reltime_initialized
    - wpa_printf
    - wpa_bss_get_bssid
    - wpa_scan_res_match
    - wnm_send_bss_transition_mgmt_resp
    - MAC2STR
    - wnm_btm_reset
    - wpa_dbg
    - os_reltime_age
    - wpa_supplicant_need_to_roam_within_ess
    - fetch_drv_mbo_candidate_info
    - os_reltime_before
    - wpa_supplicant_select_bss
    linkageType: ''
    returnType: int
    signature: int wnm_scan_process(struct wpa_supplicant *wpa_s, bool pre_scan_check)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1287
      start: 1266
    functionDepth: 0
    functionLinenumber: 1266
    functionLinenumberEnd: 1287
    functionName: cand_pref_compar
    functionSourceFile: /src/hostap/wpa_supplicant/wnm_sta.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cand_pref_compar(const void *a, const void *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qsort
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1297
      start: 1290
    functionDepth: 0
    functionLinenumber: 1290
    functionLinenumberEnd: 1297
    functionName: wnm_sort_cand_list
    functionSourceFile: /src/hostap/wpa_supplicant/wnm_sta.c
    functionUses: 0
    functionsReached:
    - qsort
    linkageType: ''
    returnType: void
    signature: void wnm_sort_cand_list(struct wpa_supplicant *wpa_s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1304,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1313,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1314,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1316,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1318,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1320,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1326
      start: 1300
    functionDepth: 1
    functionLinenumber: 1300
    functionLinenumberEnd: 1326
    functionName: wnm_dump_cand_list
    functionSourceFile: /src/hostap/wpa_supplicant/wnm_sta.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - MAC2STR
    - wpa_printf
    - is_zero_ether_addr
    linkageType: ''
    returnType: void
    signature: void wnm_dump_cand_list(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - wpa_s
    - freq
    argTypes:
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1348
      start: 1329
    functionDepth: 0
    functionLinenumber: 1329
    functionLinenumberEnd: 1348
    functionName: chan_supported
    functionSourceFile: /src/hostap/wpa_supplicant/wnm_sta.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int chan_supported(struct wpa_supplicant *wpa_s, int freq)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1362,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1374,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1377,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1378,1
    - Dst: chan_supported
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1382,1
    - Dst: int_array_add_unique
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1383,1
    - Dst: is_6ghz_freq
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1385,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1391,1
    - Dst: int_array_len
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1393,1
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1409,1
    - Dst: os_reltime_initialized
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1412,1
    - Dst: os_reltime_before
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1413,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1414,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1417,1
    - Dst: int_array_len
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1421,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1422,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1430,1
    - Dst: int_array_add_unique
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1449,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1454,1
    - Dst: int_array_len
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1456,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 50
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1458
      start: 1351
    functionDepth: 1
    functionLinenumber: 1351
    functionLinenumberEnd: 1458
    functionName: wnm_set_scan_freqs
    functionSourceFile: /src/hostap/wpa_supplicant/wnm_sta.c
    functionUses: 0
    functionsReached:
    - os_reltime_initialized
    - wpa_printf
    - os_get_reltime
    - os_memcpy
    - chan_supported
    - is_6ghz_freq
    - MAC2STR
    - int_array_len
    - int_array_add_unique
    - os_free
    - os_reltime_before
    linkageType: ''
    returnType: void
    signature: void wnm_set_scan_freqs(struct wpa_supplicant *wpa_s)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1472,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1474,1
    - Dst: os_calloc
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1481,1
    - Dst: wnm_parse_neighbor_report
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1490,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1493,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 4
    argNames:
    - wpa_s
    - pos
    - end
    - num_valid_candidates
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1506
      start: 1461
    functionDepth: 4
    functionLinenumber: 1461
    functionLinenumberEnd: 1506
    functionName: wnm_parse_candidate_list
    functionSourceFile: /src/hostap/wpa_supplicant/wnm_sta.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wnm_parse_neighbor_report
    - os_calloc
    - ether_addr_equal
    linkageType: ''
    returnType: int
    signature: "int wnm_parse_candidate_list(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \   const u8 *pos, const u8 *end,\n\t\t\t\t    int *num_valid_candidates)"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: wnm_btm_reset
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1532,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1536,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1541,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1548,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1554,1
    - Dst: wnm_send_bss_transition_mgmt_resp
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1557,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1568,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1571,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1580,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1586,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1590,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1594,1
    - Dst: wpa_sm_pmf_enabled
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1595,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1619,1
    - Dst: wnm_send_bss_transition_mgmt_resp
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1623,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1633,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1638,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1642,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1646,1
    - Dst: get_ie
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1650,1
    - Dst: wpas_mbo_ie_trans_req
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1652,1
    - Dst: wnm_parse_candidate_list
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1655,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1661,1
    - Dst: wnm_send_bss_transition_mgmt_resp
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1663,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1669,1
    - Dst: wnm_sort_cand_list
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1675,1
    - Dst: wnm_dump_cand_list
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1676,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1678,1
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1680,1
    - Dst: os_reltime_add_ms
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1681,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1691,1
    - Dst: wnm_send_bss_transition_mgmt_resp
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1696,1
    - Dst: wpa_supplicant_update_scan_results
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1713,1
    - Dst: wnm_scan_process
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1714,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1716,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1725,1
    - Dst: wnm_send_bss_transition_mgmt_resp
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1728,1
    - Dst: wnm_set_scan_freqs
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1736,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1739,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1742,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1744,1
    - Dst: wpa_supplicant_req_scan
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1747,1
    - Dst: wnm_btm_reset
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1753,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 132
    argCount: 4
    argNames:
    - wpa_s
    - pos
    - end
    - reply
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1754
      start: 1509
    functionDepth: 9
    functionLinenumber: 1509
    functionLinenumberEnd: 1754
    functionName: ieee802_11_rx_bss_trans_mgmt_req
    functionSourceFile: /src/hostap/wpa_supplicant/wnm_sta.c
    functionUses: 0
    functionsReached:
    - os_reltime_add_ms
    - WPA_GET_LE16
    - wpa_supplicant_update_scan_results
    - wnm_set_scan_freqs
    - wpa_printf
    - wpa_supplicant_req_scan
    - wnm_sort_cand_list
    - wnm_dump_cand_list
    - wpa_sm_pmf_enabled
    - wnm_scan_process
    - os_get_reltime
    - wnm_send_bss_transition_mgmt_resp
    - os_memcpy
    - wpa_msg
    - get_ie
    - MAC2STR
    - wnm_btm_reset
    - wpas_mbo_ie_trans_req
    - wnm_parse_candidate_list
    linkageType: ''
    returnType: void
    signature: "void ieee802_11_rx_bss_trans_mgmt_req(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \    const u8 *pos, const u8 *end,\n\t\t\t\t\t     int reply)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1775,1
    - Dst: wnm_bss_tm_connect
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1782,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - wpa_s
    - data
    - data_len
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1787
      start: 1757
    functionDepth: 12
    functionLinenumber: 1757
    functionLinenumberEnd: 1787
    functionName: wnm_btm_resp_tx_status
    functionSourceFile: /src/hostap/wpa_supplicant/wnm_sta.c
    functionUses: 1
    functionsReached:
    - wnm_bss_tm_connect
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int wnm_btm_resp_tx_status(struct wpa_supplicant *wpa_s, const u8
      *data,\n\t\t\t   size_t data_len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1800,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1802,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1805,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1809,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1810,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1811,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1812,1
    - Dst: wnm_add_cand_list
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1815,1
    - Dst: wpabuf_resize
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1820,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1822,1
    - Dst: ieee802_11_parse_candidate_list
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1826,1
    - Dst: wpabuf_put
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1827,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1830,1
    - Dst: wpabuf_put
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1834,1
    - Dst: wpa_drv_send_action
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1837,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1839,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1839,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1841,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 4
    argNames:
    - wpa_s
    - query_reason
    - btm_candidates
    - cand_list
    argTypes:
    - struct wpa_supplicant*
    - u8
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1843
      start: 1792
    functionDepth: 8
    functionLinenumber: 1792
    functionLinenumberEnd: 1843
    functionName: wnm_send_bss_transition_mgmt_query
    functionSourceFile: /src/hostap/wpa_supplicant/wnm_sta.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - wpabuf_put
    - wpabuf_resize
    - wpa_drv_send_action
    - wpabuf_put_u8
    - wnm_add_cand_list
    - wpabuf_head_u8
    - wpabuf_len
    - wpabuf_free
    - ieee802_11_parse_candidate_list
    - MAC2STR
    - wpabuf_alloc
    linkageType: ''
    returnType: int
    signature: "int wnm_send_bss_transition_mgmt_query(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \      u8 query_reason,\n\t\t\t\t       const char *btm_candidates,\n\t\t\t\t
      \      int cand_list)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1859,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1862,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1871,1
    - Dst: WPA_GET_BE24
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1872,1
    - Dst: WPA_GET_BE24
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1876,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1887,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1890,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1896,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1899,1
    - Dst: hs20_rx_deauth_imminent_notice
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1901,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1903,1
    - Dst: WPA_GET_BE24
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1909,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1918,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1923,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1926,1
    - Dst: hs20_rx_t_c_acceptance
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1928,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1929,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 56
    argCount: 4
    argNames:
    - wpa_s
    - sa
    - data
    - len
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1937
      start: 1846
    functionDepth: 4
    functionLinenumber: 1846
    functionLinenumberEnd: 1937
    functionName: ieee802_11_rx_wnm_notif_req_wfa
    functionSourceFile: /src/hostap/wpa_supplicant/wnm_sta.c
    functionUses: 0
    functionsReached:
    - hs20_rx_t_c_acceptance
    - os_memcpy
    - wpa_printf
    - hs20_rx_deauth_imminent_notice
    - os_malloc
    - WPA_GET_LE16
    - WPA_GET_BE24
    - os_free
    linkageType: ''
    returnType: void
    signature: "void ieee802_11_rx_wnm_notif_req_wfa(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \   const u8 *sa, const u8 *data,\n\t\t\t\t\t    int len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: is_multicast_ether_addr
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1947,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1948,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1951,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1951,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1964,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1966,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1967,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1971,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1973,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1974,1
    - Dst: ieee802_11_rx_wnm_notif_req_wfa
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1981,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:1984,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 5
    argNames:
    - wpa_s
    - da
    - sa
    - frm
    - len
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1988
      start: 1940
    functionDepth: 5
    functionLinenumber: 1940
    functionLinenumberEnd: 1988
    functionName: ieee802_11_rx_wnm_notif_req
    functionSourceFile: /src/hostap/wpa_supplicant/wnm_sta.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - is_multicast_ether_addr
    - wpa_hexdump
    - ieee802_11_rx_wnm_notif_req_wfa
    - ether_addr_equal
    - MAC2STR
    - wpa_dbg
    linkageType: ''
    returnType: void
    signature: "void ieee802_11_rx_wnm_notif_req(struct wpa_supplicant *wpa_s,\n\t\t\t\t\tconst
      u8 *da, const u8 *sa,\n\t\t\t\t\tconst u8 *frm, int len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:2009,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:2011,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:2017,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:2019,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:2020,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:2025,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 4
    argNames:
    - wpa_s
    - sa
    - frm
    - len
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2030
      start: 1991
    functionDepth: 1
    functionLinenumber: 1991
    functionLinenumberEnd: 2030
    functionName: ieee802_11_rx_wnm_coloc_intf_req
    functionSourceFile: /src/hostap/wpa_supplicant/wnm_sta.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_msg
    - ether_addr_equal
    - wpa_dbg
    linkageType: ''
    returnType: void
    signature: "void ieee802_11_rx_wnm_coloc_intf_req(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \    const u8 *sa, const u8 *frm,\n\t\t\t\t\t     int len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:2046,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:2047,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:2049,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:2051,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:2052,1
    - Dst: ieee802_11_rx_bss_trans_mgmt_req
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:2059,1
    - Dst: ieee802_11_rx_wnmsleep_resp
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:2063,1
    - Dst: ieee802_11_rx_wnm_notif_req
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:2067,1
    - Dst: ieee802_11_rx_wnm_coloc_intf_req
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:2071,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:2075,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 3
    argNames:
    - wpa_s
    - mgmt
    - len
    argTypes:
    - struct wpa_supplicant*
    - struct ieee80211_mgmt*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2078
      start: 2033
    functionDepth: 10
    functionLinenumber: 2033
    functionLinenumberEnd: 2078
    functionName: ieee802_11_rx_wnm_action
    functionSourceFile: /src/hostap/wpa_supplicant/wnm_sta.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - ether_addr_equal
    - ieee802_11_rx_bss_trans_mgmt_req
    - ieee802_11_rx_wnmsleep_resp
    - MAC2STR
    - ieee802_11_rx_wnm_coloc_intf_req
    - ieee802_11_rx_wnm_notif_req
    linkageType: ''
    returnType: void
    signature: "void ieee802_11_rx_wnm_action(struct wpa_supplicant *wpa_s,\n\t\t\t
      \     const struct ieee80211_mgmt *mgmt, size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:2090,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:2092,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:2094,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:2094,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:2098,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:2099,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:2100,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:2101,1
    - Dst: wpa_drv_send_action
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:2103,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:2105,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:2105,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:2106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - wpa_s
    - dialog_token
    - elems
    argTypes:
    - struct wpa_supplicant*
    - u8
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2108
      start: 2081
    functionDepth: 3
    functionLinenumber: 2081
    functionLinenumberEnd: 2108
    functionName: wnm_send_coloc_intf_report
    functionSourceFile: /src/hostap/wpa_supplicant/wnm_sta.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpa_drv_send_action
    - wpabuf_put_u8
    - wpabuf_head_u8
    - wpabuf_len
    - wpabuf_free
    - MAC2STR
    - wpabuf_alloc
    - wpabuf_put_buf
    linkageType: ''
    returnType: int
    signature: "int wnm_send_coloc_intf_report(struct wpa_supplicant *wpa_s, u8 dialog_token,\n\t\t\t
      \      const struct wpabuf *elems)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:2114,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:2115,1
    - Dst: wnm_send_coloc_intf_report
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:2128,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:2133,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - wpa_s
    - elems
    argTypes:
    - struct wpa_supplicant*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2134
      start: 2111
    functionDepth: 4
    functionLinenumber: 2111
    functionLinenumberEnd: 2134
    functionName: wnm_set_coloc_intf_elems
    functionSourceFile: /src/hostap/wpa_supplicant/wnm_sta.c
    functionUses: 0
    functionsReached:
    - wpabuf_len
    - wnm_send_coloc_intf_report
    - wpabuf_free
    linkageType: ''
    returnType: void
    signature: "void wnm_set_coloc_intf_elems(struct wpa_supplicant *wpa_s,\n\t\t\t
      \     struct wpabuf *elems)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2141
      start: 2137
    functionDepth: 0
    functionLinenumber: 2137
    functionLinenumberEnd: 2141
    functionName: wnm_clear_coloc_intf_reporting
    functionSourceFile: /src/hostap/wpa_supplicant/wnm_sta.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wnm_clear_coloc_intf_reporting(struct wpa_supplicant *wpa_s)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:2154,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:2158,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:2168,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:2169,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:2170,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/wnm_sta.c:2189,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 25
    argCount: 2
    argNames:
    - wpa_s
    - bss
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2201
      start: 2144
    functionDepth: 1
    functionLinenumber: 2144
    functionLinenumberEnd: 2201
    functionName: wnm_is_bss_excluded
    functionSourceFile: /src/hostap/wpa_supplicant/wnm_sta.c
    functionUses: 1
    functionsReached:
    - BIT
    - is_zero_ether_addr
    - ether_addr_equal
    linkageType: ''
    returnType: bool
    signature: bool wnm_is_bss_excluded(struct wpa_supplicant *wpa_s, struct wpa_bss
      *bss)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:75,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:86,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 5
    argNames:
    - wpa_s
    - action_field
    - ie
    - len
    - mpm_ie
    argTypes:
    - struct wpa_supplicant*
    - u8
    - u8*
    - size_t
    - struct mesh_peer_mgmt_ie*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 111
    functionName: mesh_mpm_parse_peer_mgmt
    functionSourceFile: /src/hostap/wpa_supplicant/mesh_mpm.c
    functionUses: 0
    functionsReached:
    - wpa_msg
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int mesh_mpm_parse_peer_mgmt(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \   u8 action_field,\n\t\t\t\t    const u8 *ie, size_t len,\n\t\t\t\t    struct
      mesh_peer_mgmt_ie *mpm_ie)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 119
    functionName: plink_free_count
    functionSourceFile: /src/hostap/wpa_supplicant/mesh_mpm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int plink_free_count(struct hostapd_data *hapd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:127,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:128,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:134,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:136,1
    - Dst: merge_byte_arrays
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - wpa_s
    - sta
    - elems
    argTypes:
    - struct wpa_supplicant*
    - struct sta_info*
    - struct ieee802_11_elems*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 147
    functionName: copy_supp_rates
    functionSourceFile: /src/hostap/wpa_supplicant/mesh_mpm.c
    functionUses: 0
    functionsReached:
    - merge_byte_arrays
    - MAC2STR
    - wpa_msg
    linkageType: ''
    returnType: u16
    signature: "u16 copy_supp_rates(struct wpa_supplicant *wpa_s,\n\t\t\t   struct
      sta_info *sta,\n\t\t\t   struct ieee802_11_elems *elems)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:160,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 2
    argNames:
    - wpa_s
    - elems
    argTypes:
    - struct wpa_supplicant*
    - struct ieee802_11_elems*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 167
    functionName: matches_local
    functionSourceFile: /src/hostap/wpa_supplicant/mesh_mpm.c
    functionUses: 0
    functionsReached:
    - os_memcmp
    linkageType: ''
    returnType: bool
    signature: "bool matches_local(struct wpa_supplicant *wpa_s,\n\t\t\t  struct ieee802_11_elems
      *elems)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - wpa_s
    - llid
    argTypes:
    - struct wpa_supplicant*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 182
    functionName: llid_in_use
    functionSourceFile: /src/hostap/wpa_supplicant/mesh_mpm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool llid_in_use(struct wpa_supplicant *wpa_s, u16 llid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_get_random
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:192,1
    - Dst: llid_in_use
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:194,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - wpa_s
    - sta
    argTypes:
    - struct wpa_supplicant*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 205
    functionName: mesh_mpm_init_link
    functionSourceFile: /src/hostap/wpa_supplicant/mesh_mpm.c
    functionUses: 0
    functionsReached:
    - os_get_random
    - llid_in_use
    linkageType: ''
    returnType: void
    signature: "void mesh_mpm_init_link(struct wpa_supplicant *wpa_s,\n\t\t\t       struct
      sta_info *sta)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: is_6ghz_op_class
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:255,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:275,1
    - Dst: wpabuf_mhead_u8
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:279,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:280,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:281,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:287,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:291,1
    - Dst: hostapd_eid_supp_rates
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:294,1
    - Dst: hostapd_eid_ext_supp_rates
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:295,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:296,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:299,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:302,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:303,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:304,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:307,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:308,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:309,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:310,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:311,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:312,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:313,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:316,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:319,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:323,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:324,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:325,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:346,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:347,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:350,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:352,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:353,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:355,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:357,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:360,1
    - Dst: mesh_rsn_get_pmkid
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:363,1
    - Dst: wpabuf_put
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:364,1
    - Dst: hostapd_eid_ht_capabilities
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:370,1
    - Dst: hostapd_eid_ht_operation
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:371,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:372,1
    - Dst: hostapd_eid_vht_capabilities
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:378,1
    - Dst: hostapd_eid_vht_operation
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:379,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:380,1
    - Dst: hostapd_eid_he_capab
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:394,1
    - Dst: hostapd_eid_he_operation
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:396,1
    - Dst: hostapd_eid_he_6ghz_band_cap
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:397,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:398,1
    - Dst: wpa_drv_channel_info
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:405,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:406,1
    - Dst: wpabuf_put
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:411,1
    - Dst: ocv_insert_extended_oci
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:412,1
    - Dst: hostapd_eid_eht_capab
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:425,1
    - Dst: hostapd_eid_eht_operation
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:427,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:428,1
    - Dst: mesh_rsn_protect_frame
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:432,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:433,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:438,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:440,1
    - Dst: wpa_drv_send_action
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:441,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:443,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:443,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:445,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:449,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 134
    argCount: 4
    argNames:
    - wpa_s
    - sta
    - type
    - close_reason
    argTypes:
    - struct wpa_supplicant*
    - struct sta_info*
    - enum plink_action_field
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 208
    functionDepth: 3
    functionLinenumber: 208
    functionLinenumberEnd: 450
    functionName: mesh_mpm_send_plink_action
    functionSourceFile: /src/hostap/wpa_supplicant/mesh_mpm.c
    functionUses: 0
    functionsReached:
    - hostapd_eid_ext_supp_rates
    - wpa_drv_channel_info
    - hostapd_eid_ht_capabilities
    - hostapd_eid_vht_operation
    - wpabuf_alloc
    - mesh_rsn_get_pmkid
    - hostapd_eid_eht_operation
    - hostapd_eid_eht_capab
    - hostapd_eid_he_operation
    - wpa_printf
    - wpabuf_put_data
    - hostapd_eid_ht_operation
    - ocv_insert_extended_oci
    - hostapd_eid_supp_rates
    - mesh_rsn_protect_frame
    - wpa_drv_send_action
    - wpabuf_put_u8
    - wpabuf_len
    - is_6ghz_op_class
    - wpabuf_head
    - wpabuf_put
    - wpa_msg
    - wpabuf_mhead_u8
    - wpabuf_free
    - wpabuf_put_le16
    - MAC2STR
    - hostapd_eid_he_6ghz_band_cap
    - hostapd_eid_he_capab
    - hostapd_eid_vht_capabilities
    linkageType: ''
    returnType: void
    signature: "void mesh_mpm_send_plink_action(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \      struct sta_info *sta,\n\t\t\t\t       enum plink_action_field type,\n\t\t\t\t
      \      u16 close_reason)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:461,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:462,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:466,1
    - Dst: wpa_drv_sta_add
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:473,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:475,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:476,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - wpa_s
    - sta
    - state
    argTypes:
    - struct wpa_supplicant*
    - struct sta_info*
    - enum mesh_plink_state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 478
    functionName: wpa_mesh_set_plink_state
    functionSourceFile: /src/hostap/wpa_supplicant/mesh_mpm.c
    functionUses: 1
    functionsReached:
    - MAC2STR
    - os_memset
    - wpa_drv_sta_add
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: "void wpa_mesh_set_plink_state(struct wpa_supplicant *wpa_s,\n\t\t\t
      \     struct sta_info *sta,\n\t\t\t      enum mesh_plink_state state)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:486,1
    - Dst: ap_free_sta
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - wpa_s
    - sta
    argTypes:
    - struct wpa_supplicant*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 481
    functionDepth: 1
    functionLinenumber: 481
    functionLinenumberEnd: 489
    functionName: mesh_mpm_fsm_restart
    functionSourceFile: /src/hostap/wpa_supplicant/mesh_mpm.c
    functionUses: 0
    functionsReached:
    - eloop_cancel_timeout
    - ap_free_sta
    linkageType: ''
    returnType: void
    signature: "void mesh_mpm_fsm_restart(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      struct sta_info *sta)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:505,1
    - Dst: mesh_mpm_send_plink_action
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:509,1
    - Dst: wpa_mesh_set_plink_state
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:520,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:521,1
    - Dst: mesh_mpm_send_plink_action
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:524,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:530,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:532,1
    - Dst: wpa_auth_pmksa_remove
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:533,1
    - Dst: mesh_mpm_fsm_restart
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:535,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - eloop_ctx
    - user_data
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 492
    functionDepth: 4
    functionLinenumber: 492
    functionLinenumberEnd: 540
    functionName: plink_timer
    functionSourceFile: /src/hostap/wpa_supplicant/mesh_mpm.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_mesh_set_plink_state
    - mesh_mpm_send_plink_action
    - mesh_mpm_fsm_restart
    - MAC2STR
    - eloop_register_timeout
    - wpa_auth_pmksa_remove
    linkageType: ''
    returnType: void
    signature: void plink_timer(void *eloop_ctx, void *user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:550,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:551,1
    - Dst: mesh_mpm_send_plink_action
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:554,1
    - Dst: wpa_mesh_set_plink_state
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - wpa_s
    - sta
    - next_state
    argTypes:
    - struct wpa_supplicant*
    - struct sta_info*
    - enum mesh_plink_state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 544
    functionDepth: 4
    functionLinenumber: 544
    functionLinenumberEnd: 556
    functionName: mesh_mpm_plink_open
    functionSourceFile: /src/hostap/wpa_supplicant/mesh_mpm.c
    functionUses: 0
    functionsReached:
    - eloop_cancel_timeout
    - mesh_mpm_send_plink_action
    - eloop_register_timeout
    - wpa_mesh_set_plink_state
    linkageType: ''
    returnType: void
    signature: "void mesh_mpm_plink_open(struct wpa_supplicant *wpa_s, struct sta_info
      *sta,\n\t\t    enum mesh_plink_state next_state)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpas_notify_mesh_peer_disconnected
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:568,1
    - Dst: wpa_mesh_set_plink_state
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:571,1
    - Dst: mesh_mpm_send_plink_action
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:572,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:573,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:574,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:575,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:576,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - hapd
    - sta
    - ctx
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 559
    functionDepth: 4
    functionLinenumber: 559
    functionLinenumberEnd: 581
    functionName: mesh_mpm_plink_close
    functionSourceFile: /src/hostap/wpa_supplicant/mesh_mpm.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_mesh_set_plink_state
    - eloop_cancel_timeout
    - mesh_mpm_send_plink_action
    - MAC2STR
    - wpas_notify_mesh_peer_disconnected
    linkageType: ''
    returnType: int
    signature: "int mesh_mpm_plink_close(struct hostapd_data *hapd, struct sta_info
      *sta,\n\t\t\t\tvoid *ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:590,1
    - Dst: ap_get_sta
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:595,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:597,1
    - Dst: mesh_mpm_plink_close
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:601,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - wpa_s
    - addr
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 584
    functionDepth: 5
    functionLinenumber: 584
    functionLinenumberEnd: 602
    functionName: mesh_mpm_close_peer
    functionSourceFile: /src/hostap/wpa_supplicant/mesh_mpm.c
    functionUses: 1
    functionsReached:
    - mesh_mpm_plink_close
    - ap_get_sta
    - wpa_msg
    linkageType: ''
    returnType: int
    signature: int mesh_mpm_close_peer(struct wpa_supplicant *wpa_s, const u8 *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:610,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - eloop_ctx
    - user_data
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 611
    functionName: peer_add_timer
    functionSourceFile: /src/hostap/wpa_supplicant/mesh_mpm.c
    functionUses: 0
    functionsReached:
    - os_memset
    linkageType: ''
    returnType: void
    signature: void peer_add_timer(void *eloop_ctx, void *user_data)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:623,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:628,1
    - Dst: ap_get_sta
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:636,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:638,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:645,1
    - Dst: mesh_mpm_plink_open
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:651,1
    - Dst: mesh_rsn_auth_sae_sta
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:653,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:654,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:655,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 3
    argNames:
    - wpa_s
    - addr
    - duration
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 614
    functionDepth: 5
    functionLinenumber: 614
    functionLinenumberEnd: 660
    functionName: mesh_mpm_connect_peer
    functionSourceFile: /src/hostap/wpa_supplicant/mesh_mpm.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    - mesh_mpm_plink_open
    - wpa_msg
    - eloop_register_timeout
    - mesh_rsn_auth_sae_sta
    - ap_get_sta
    linkageType: ''
    returnType: int
    signature: "int mesh_mpm_connect_peer(struct wpa_supplicant *wpa_s, const u8 *addr,\n\t\t\t
      \ int duration)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_for_each_sta
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:668,1
    - Dst: hostapd_free_stas
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:671,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:672,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - wpa_s
    - ifmsh
    argTypes:
    - struct wpa_supplicant*
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 663
    functionDepth: 1
    functionLinenumber: 663
    functionLinenumberEnd: 673
    functionName: mesh_mpm_deinit
    functionSourceFile: /src/hostap/wpa_supplicant/mesh_mpm.c
    functionUses: 1
    functionsReached:
    - eloop_cancel_timeout
    - ap_for_each_sta
    - hostapd_free_stas
    linkageType: ''
    returnType: void
    signature: void mesh_mpm_deinit(struct wpa_supplicant *wpa_s, struct hostapd_iface
      *ifmsh)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_sta
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:685,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:687,1
    - Dst: mesh_rsn_init_ampe_sta
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:695,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:697,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:703,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:704,1
    - Dst: wpa_drv_sta_add
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:705,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:707,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:709,1
    - Dst: mesh_mpm_init_link
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:713,1
    - Dst: mesh_mpm_plink_open
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:715,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - wpa_s
    - addr
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 678
    functionDepth: 5
    functionLinenumber: 678
    functionLinenumberEnd: 716
    functionName: mesh_mpm_auth_peer
    functionSourceFile: /src/hostap/wpa_supplicant/mesh_mpm.c
    functionUses: 1
    functionsReached:
    - mesh_rsn_init_ampe_sta
    - mesh_mpm_plink_open
    - wpa_msg
    - mesh_mpm_init_link
    - MAC2STR
    - ap_get_sta
    - wpa_drv_sta_add
    - os_memset
    linkageType: ''
    returnType: void
    signature: void mesh_mpm_auth_peer(struct wpa_supplicant *wpa_s, const u8 *addr)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:737,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:739,1
    - Dst: ap_get_sta
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:743,1
    - Dst: ap_sta_add
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:747,1
    - Dst: copy_supp_rates
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:755,1
    - Dst: ap_free_sta
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:756,1
    - Dst: mesh_mpm_init_link
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:761,1
    - Dst: copy_sta_ht_capab
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:763,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:769,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:771,1
    - Dst: set_disable_ht40
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:772,1
    - Dst: update_ht_state
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:775,1
    - Dst: ieee802_11_update_beacons
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:776,1
    - Dst: copy_sta_vht_capab
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:779,1
    - Dst: copy_sta_vht_oper
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:780,1
    - Dst: set_sta_vht_opmode
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:781,1
    - Dst: copy_sta_he_capab
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:785,1
    - Dst: copy_sta_he_6ghz_capab
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:787,1
    - Dst: copy_sta_eht_capab
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:790,1
    - Dst: hostapd_get_aid
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:797,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:798,1
    - Dst: ap_free_sta
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:799,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:804,1
    - Dst: wpa_drv_sta_add
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:830,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:832,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:834,1
    - Dst: ap_free_sta
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:835,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 69
    argCount: 3
    argNames:
    - wpa_s
    - addr
    - elems
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - struct ieee802_11_elems*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 724
    functionDepth: 2
    functionLinenumber: 724
    functionLinenumberEnd: 840
    functionName: mesh_mpm_add_peer
    functionSourceFile: /src/hostap/wpa_supplicant/mesh_mpm.c
    functionUses: 0
    functionsReached:
    - ap_free_sta
    - set_disable_ht40
    - copy_sta_eht_capab
    - copy_sta_vht_capab
    - copy_sta_vht_oper
    - ap_get_sta
    - ap_sta_add
    - copy_sta_ht_capab
    - ieee802_11_update_beacons
    - wpa_drv_sta_add
    - copy_sta_he_capab
    - hostapd_get_aid
    - mesh_mpm_init_link
    - copy_sta_he_6ghz_capab
    - set_sta_vht_opmode
    - os_memset
    - copy_supp_rates
    - update_ht_state
    - wpa_msg
    - MAC2STR
    linkageType: ''
    returnType: struct sta_info
    signature: "struct sta_info * mesh_mpm_add_peer(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \  const u8 *addr,\n\t\t\t\t\t   struct ieee802_11_elems *elems)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mesh_mpm_add_peer
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:851,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:856,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:857,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:858,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:859,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:865,1
    - Dst: os_reltime_age
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:866,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:868,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:869,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:873,1
    - Dst: ieee802_11_mgmt
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:874,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:876,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:877,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:880,1
    - Dst: mesh_mpm_plink_open
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:889,1
    - Dst: mesh_rsn_auth_sae_sta
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:891,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 3
    argNames:
    - wpa_s
    - addr
    - elems
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - struct ieee802_11_elems*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 893
      start: 843
    functionDepth: 5
    functionLinenumber: 843
    functionLinenumberEnd: 893
    functionName: wpa_mesh_new_mesh_peer
    functionSourceFile: /src/hostap/wpa_supplicant/mesh_mpm.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - mesh_mpm_plink_open
    - mesh_rsn_auth_sae_sta
    - wpa_msg
    - wpabuf_len
    - mesh_mpm_add_peer
    - is_zero_ether_addr
    - ether_addr_equal
    - wpabuf_free
    - wpabuf_head
    - MAC2STR
    - ieee802_11_mgmt
    - os_reltime_age
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void wpa_mesh_new_mesh_peer(struct wpa_supplicant *wpa_s, const u8
      *addr,\n\t\t\t    struct ieee802_11_elems *elems)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:900,1
    - Dst: ieee802_11_mgmt
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:903,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - wpa_s
    - rx_mgmt
    argTypes:
    - struct wpa_supplicant*
    - struct rx_mgmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 896
    functionDepth: 0
    functionLinenumber: 896
    functionLinenumberEnd: 905
    functionName: mesh_mpm_mgmt_rx
    functionSourceFile: /src/hostap/wpa_supplicant/mesh_mpm.c
    functionUses: 1
    functionsReached:
    - ieee802_11_mgmt
    - os_memset
    linkageType: ''
    returnType: void
    signature: void mesh_mpm_mgmt_rx(struct wpa_supplicant *wpa_s, struct rx_mgmt
      *rx_mgmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:915,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:916,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:919,1
    - Dst: wpa_drv_set_key
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:920,1
    - Dst: wpa_cipher_to_alg
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:921,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:926,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:928,1
    - Dst: wpa_drv_set_key
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:930,1
    - Dst: wpa_cipher_to_alg
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:931,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:938,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:940,1
    - Dst: wpa_drv_set_key
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:942,1
    - Dst: wpa_cipher_to_alg
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:944,1
    - Dst: wpa_mesh_set_plink_state
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:952,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:958,1
    - Dst: peer_add_timer
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:959,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:960,1
    - Dst: wpas_notify_mesh_peer_connected
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:962,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 2
    argNames:
    - wpa_s
    - sta
    argTypes:
    - struct wpa_supplicant*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 963
      start: 908
    functionDepth: 2
    functionLinenumber: 908
    functionLinenumberEnd: 963
    functionName: mesh_mpm_plink_estab
    functionSourceFile: /src/hostap/wpa_supplicant/mesh_mpm.c
    functionUses: 0
    functionsReached:
    - wpa_hexdump_key
    - peer_add_timer
    - wpa_msg
    - wpa_mesh_set_plink_state
    - eloop_cancel_timeout
    - MAC2STR
    - wpa_drv_set_key
    - wpas_notify_mesh_peer_connected
    - wpa_cipher_to_alg
    linkageType: ''
    returnType: void
    signature: "void mesh_mpm_plink_estab(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      struct sta_info *sta)"
  - BBCount: 49
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:972,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:973,1
    - Dst: mesh_mpm_fsm_restart
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:980,1
    - Dst: mesh_mpm_plink_open
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:983,1
    - Dst: mesh_mpm_send_plink_action
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:984,1
    - Dst: mesh_mpm_send_plink_action
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:988,1
    - Dst: wpa_mesh_set_plink_state
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1003,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1006,1
    - Dst: mesh_mpm_send_plink_action
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1010,1
    - Dst: wpa_mesh_set_plink_state
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1015,1
    - Dst: mesh_mpm_send_plink_action
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1016,1
    - Dst: wpa_mesh_set_plink_state
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1020,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1021,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1022,1
    - Dst: wpa_mesh_set_plink_state
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1039,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1042,1
    - Dst: mesh_mpm_send_plink_action
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1047,1
    - Dst: mesh_mpm_send_plink_action
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1051,1
    - Dst: mesh_rsn_derive_mtk
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1056,1
    - Dst: mesh_mpm_plink_estab
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1057,1
    - Dst: wpa_mesh_set_plink_state
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1071,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1074,1
    - Dst: mesh_mpm_send_plink_action
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1079,1
    - Dst: mesh_rsn_derive_mtk
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1084,1
    - Dst: mesh_mpm_plink_estab
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1085,1
    - Dst: mesh_mpm_send_plink_action
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1086,1
    - Dst: wpa_mesh_set_plink_state
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1098,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1102,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1108,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1110,1
    - Dst: wpas_notify_mesh_peer_disconnected
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1112,1
    - Dst: mesh_mpm_send_plink_action
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1117,1
    - Dst: mesh_mpm_send_plink_action
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1121,1
    - Dst: mesh_mpm_fsm_restart
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1131,1
    - Dst: mesh_mpm_send_plink_action
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1138,1
    - Dst: wpa_msg
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1146,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 137
    argCount: 4
    argNames:
    - wpa_s
    - sta
    - event
    - reason
    argTypes:
    - struct wpa_supplicant*
    - struct sta_info*
    - enum plink_event
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1151
      start: 966
    functionDepth: 5
    functionLinenumber: 966
    functionLinenumberEnd: 1151
    functionName: mesh_mpm_fsm
    functionSourceFile: /src/hostap/wpa_supplicant/mesh_mpm.c
    functionUses: 0
    functionsReached:
    - mesh_mpm_plink_open
    - mesh_mpm_plink_estab
    - wpa_msg
    - wpa_mesh_set_plink_state
    - eloop_cancel_timeout
    - mesh_mpm_send_plink_action
    - mesh_mpm_fsm_restart
    - MAC2STR
    - wpas_notify_mesh_peer_disconnected
    - eloop_register_timeout
    - mesh_rsn_derive_mtk
    linkageType: ''
    returnType: void
    signature: "void mesh_mpm_fsm(struct wpa_supplicant *wpa_s, struct sta_info *sta,\n\t\t\t
      enum plink_event event, u16 reason)"
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1185,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1190,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1193,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1194,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1199,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1200,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1206,1
    - Dst: ieee802_11_parse_elems_ctrl
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1208,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1209,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1213,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1219,1
    - Dst: matches_local
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1224,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1225,1
    - Dst: mesh_mpm_parse_peer_mgmt
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1231,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1236,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1241,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1243,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1244,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1247,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1248,1
    - Dst: ap_get_sta
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1250,1
    - Dst: wpa_auth_pmksa_get
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1258,1
    - Dst: mesh_mpm_add_peer
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1259,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1262,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1269,1
    - Dst: mesh_mpm_init_link
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1275,1
    - Dst: mesh_rsn_process_ampe
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1280,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1285,1
    - Dst: mesh_mpm_fsm
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1290,1
    - Dst: wpa_parse_wpa_ie_rsn
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1301,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1305,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1308,1
    - Dst: wpa_auth_set_ocv
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1313,1
    - Dst: wpa_auth_uses_ocv
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1319,1
    - Dst: wpa_drv_channel_info
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1324,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1325,1
    - Dst: get_tx_parameters
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1330,1
    - Dst: channel_width_to_int
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1331,1
    - Dst: ocv_verify_tx_params
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1336,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1339,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1348,1
    - Dst: plink_free_count
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1355,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1358,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1362,1
    - Dst: plink_free_count
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1372,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1375,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1380,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1404,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1409,1
    - Dst: mesh_mpm_fsm
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1425,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 152
    argCount: 3
    argNames:
    - wpa_s
    - mgmt
    - len
    argTypes:
    - struct wpa_supplicant*
    - struct ieee80211_mgmt*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1426
      start: 1154
    functionDepth: 6
    functionLinenumber: 1154
    functionLinenumberEnd: 1426
    functionName: mesh_mpm_action_rx
    functionSourceFile: /src/hostap/wpa_supplicant/mesh_mpm.c
    functionUses: 1
    functionsReached:
    - wpa_drv_channel_info
    - wpa_hexdump
    - mesh_mpm_fsm
    - WPA_GET_LE16
    - ocv_verify_tx_params
    - ap_get_sta
    - wpa_printf
    - wpa_auth_set_ocv
    - mesh_mpm_add_peer
    - get_tx_parameters
    - channel_width_to_int
    - matches_local
    - mesh_mpm_init_link
    - ieee802_11_parse_elems_ctrl
    - wpa_auth_uses_ocv
    - plink_free_count
    - os_memset
    - wpa_auth_pmksa_get
    - wpa_parse_wpa_ie_rsn
    - mesh_mpm_parse_peer_mgmt
    - mesh_rsn_process_ampe
    linkageType: ''
    returnType: void
    signature: "void mesh_mpm_action_rx(struct wpa_supplicant *wpa_s,\n\t\t\tconst
      struct ieee80211_mgmt *mgmt, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_notify_mesh_peer_disconnected
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1436,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1439,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/mesh_mpm.c:1440,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1441
      start: 1430
    functionDepth: 1
    functionLinenumber: 1430
    functionLinenumberEnd: 1441
    functionName: mesh_mpm_free_sta
    functionSourceFile: /src/hostap/wpa_supplicant/mesh_mpm.c
    functionUses: 0
    functionsReached:
    - eloop_cancel_timeout
    - wpas_notify_mesh_peer_disconnected
    linkageType: ''
    returnType: void
    signature: void mesh_mpm_free_sta(struct hostapd_data *hapd, struct sta_info *sta)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:88,1
    - Dst: getsockopt
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:93,1
    - Dst: ioctl
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:96,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:99,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - title
    - sock
    - buf
    - len
    argTypes:
    - char*
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 103
    functionName: wpas_ctrl_sock_debug
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface_unix.c
    functionUses: 0
    functionsReached:
    - ioctl
    - wpa_printf
    - os_strncmp
    - getsockopt
    linkageType: ''
    returnType: void
    signature: "void wpas_ctrl_sock_debug(const char *title, int sock, const char
      *buf,\n\t\t\t\t size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctrl_iface_attach
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctrl_dst
    - from
    - fromlen
    - global
    argTypes:
    - struct dl_list*
    - struct sockaddr_storage*
    - socklen_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 111
    functionName: wpa_supplicant_ctrl_iface_attach
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface_unix.c
    functionUses: 2
    functionsReached:
    - ctrl_iface_attach
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_ctrl_iface_attach(struct dl_list *ctrl_dst,\n\t\t\t\t\t
      \   struct sockaddr_storage *from,\n\t\t\t\t\t    socklen_t fromlen, int global)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctrl_iface_detach
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl_dst
    - from
    - fromlen
    argTypes:
    - struct dl_list*
    - struct sockaddr_storage*
    - socklen_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 119
    functionName: wpa_supplicant_ctrl_iface_detach
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface_unix.c
    functionUses: 3
    functionsReached:
    - ctrl_iface_detach
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_ctrl_iface_detach(struct dl_list *ctrl_dst,\n\t\t\t\t\t
      \   struct sockaddr_storage *from,\n\t\t\t\t\t    socklen_t fromlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:127,1
    - Dst: ctrl_iface_level
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - priv
    - from
    - fromlen
    - level
    argTypes:
    - struct ctrl_iface_priv*
    - struct sockaddr_storage*
    - socklen_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 130
    functionName: wpa_supplicant_ctrl_iface_level
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface_unix.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - ctrl_iface_level
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_ctrl_iface_level(struct ctrl_iface_priv *priv,\n\t\t\t\t\t
      \  struct sockaddr_storage *from,\n\t\t\t\t\t   socklen_t fromlen,\n\t\t\t\t\t
      \  char *level)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:146,1
    - Dst: recvfrom
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:149,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:152,1
    - Dst: strerror
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:153,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:154,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:158,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:159,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:164,1
    - Dst: wpa_supplicant_ctrl_iface_attach
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:165,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:172,1
    - Dst: wpa_supplicant_ctrl_iface_detach
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:173,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:178,1
    - Dst: wpa_supplicant_ctrl_iface_level
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:179,1
    - Dst: sockaddr_print
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:185,1
    - Dst: wpas_ctrl_cmd_debug_level
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:185,1
    - Dst: wpa_supplicant_ctrl_iface_process
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:188,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:197,1
    - Dst: wpas_ctrl_sock_debug
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:209,1
    - Dst: sendto
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:211,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:214,1
    - Dst: strerror
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:216,1
    - Dst: wpas_ctrl_iface_reinit
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:226,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:228,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:232,1
    - Dst: wpa_supplicant_ctrl_iface_detach
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:234,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:239,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:240,1
    - Dst: eapol_sm_notify_ctrl_attached
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:243,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 67
    argCount: 3
    argNames:
    - sock
    - eloop_ctx
    - sock_ctx
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 244
    functionName: wpa_supplicant_ctrl_iface_receive
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface_unix.c
    functionUses: 0
    functionsReached:
    - recvfrom
    - wpas_ctrl_iface_reinit
    - sockaddr_print
    - wpa_printf
    - wpa_supplicant_ctrl_iface_attach
    - eapol_sm_notify_ctrl_attached
    - os_free
    - os_strcmp
    - sendto
    - os_malloc
    - wpas_ctrl_cmd_debug_level
    - wpa_dbg
    - wpa_supplicant_ctrl_iface_detach
    - wpa_supplicant_ctrl_iface_process
    - os_memset
    - strerror
    - wpas_ctrl_sock_debug
    - os_strncmp
    - wpa_supplicant_ctrl_iface_level
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_ctrl_iface_receive(int sock, void *eloop_ctx,\n\t\t\t\t\t
      \     void *sock_ctx)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:257,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:260,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:263,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:269,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:269,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:270,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:272,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:276,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:277,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:278,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:279,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:294,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 296
    functionName: wpa_supplicant_ctrl_iface_path
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface_unix.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_malloc
    - os_strncmp
    - os_strstr
    - os_snprintf
    - os_free
    - os_strdup
    - os_snprintf_error
    linkageType: ''
    returnType: char
    signature: char * wpa_supplicant_ctrl_iface_path(struct wpa_supplicant *wpa_s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getsockopt
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:307,1
    - Dst: ioctl
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:308,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - sock
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 315
    functionName: wpas_ctrl_iface_throttle
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface_unix.c
    functionUses: 0
    functionsReached:
    - ioctl
    - getsockopt
    linkageType: ''
    returnType: int
    signature: int wpas_ctrl_iface_throttle(int sock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_empty
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:324,1
    - Dst: wpas_ctrl_iface_throttle
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:325,1
    - Dst: dl_list_first
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:326,1
    - Dst: dl_list_del
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:330,1
    - Dst: wpa_supplicant_ctrl_iface_send
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:331,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:337,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - global
    argTypes:
    - struct wpa_global*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 339
    functionName: wpas_ctrl_msg_send_pending_global
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface_unix.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_ctrl_iface_send
    - dl_list_del
    - dl_list_empty
    - dl_list_first
    - wpas_ctrl_iface_throttle
    - os_free
    linkageType: ''
    returnType: void
    signature: void wpas_ctrl_msg_send_pending_global(struct wpa_global *global)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_empty
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:348,1
    - Dst: wpas_ctrl_iface_throttle
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:349,1
    - Dst: dl_list_first
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:350,1
    - Dst: dl_list_del
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:354,1
    - Dst: wpa_supplicant_ctrl_iface_send
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:355,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:358,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 360
    functionName: wpas_ctrl_msg_send_pending_iface
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface_unix.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_ctrl_iface_send
    - dl_list_del
    - dl_list_empty
    - dl_list_first
    - wpas_ctrl_iface_throttle
    - os_free
    linkageType: ''
    returnType: void
    signature: void wpas_ctrl_msg_send_pending_iface(struct wpa_supplicant *wpa_s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpas_ctrl_msg_send_pending_global
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:370,1
    - Dst: wpas_ctrl_msg_send_pending_iface
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:371,1
    - Dst: dl_list_empty
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:374,1
    - Dst: dl_list_empty
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:378,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:383,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:386,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 363
    functionDepth: 2
    functionLinenumber: 363
    functionLinenumberEnd: 389
    functionName: wpas_ctrl_msg_queue_timeout
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface_unix.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dl_list_empty
    - wpas_ctrl_msg_send_pending_iface
    - wpas_ctrl_msg_send_pending_global
    - eloop_register_timeout
    linkageType: ''
    returnType: void
    signature: void wpas_ctrl_msg_queue_timeout(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:399,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:406,1
    - Dst: dl_list_add_tail
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:409,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:410,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:411,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 6
    argNames:
    - queue
    - wpa_s
    - level
    - type
    - txt
    - len
    argTypes:
    - struct dl_list*
    - struct wpa_supplicant*
    - int
    - enum wpa_msg_type
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 412
    functionName: wpas_ctrl_msg_queue
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface_unix.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - dl_list_add_tail
    - eloop_cancel_timeout
    - os_zalloc
    - eloop_register_timeout
    linkageType: ''
    returnType: void
    signature: "void wpas_ctrl_msg_queue(struct dl_list *queue,\n\t\t\t\tstruct wpa_supplicant
      *wpa_s, int level,\n\t\t\t\tenum wpa_msg_type type,\n\t\t\t\tconst char *txt,
      size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_first
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:423,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:425,1
    - Dst: dl_list_del
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:426,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:427,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - throttle_count
    - queue
    argTypes:
    - unsigned int
    - struct dl_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 429
    functionName: wpas_ctrl_msg_queue_limit
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface_unix.c
    functionUses: 0
    functionsReached:
    - os_free
    - dl_list_first
    - wpa_printf
    - dl_list_del
    linkageType: ''
    returnType: void
    signature: "void wpas_ctrl_msg_queue_limit(unsigned int throttle_count,\n\t\t\t\t
      \     struct dl_list *queue)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_empty
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:446,1
    - Dst: dl_list_empty
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:447,1
    - Dst: wpas_ctrl_iface_throttle
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:448,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:450,1
    - Dst: wpas_ctrl_msg_queue_limit
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:455,1
    - Dst: wpas_ctrl_msg_queue
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:457,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:461,1
    - Dst: wpa_supplicant_ctrl_iface_send
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:466,1
    - Dst: dl_list_empty
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:478,1
    - Dst: wpas_ctrl_iface_throttle
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:479,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:481,1
    - Dst: wpas_ctrl_msg_queue_limit
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:486,1
    - Dst: wpas_ctrl_msg_queue
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:488,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:492,1
    - Dst: wpa_supplicant_ctrl_iface_send
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:497,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 5
    argNames:
    - ctx
    - level
    - type
    - txt
    - len
    argTypes:
    - void*
    - int
    - enum wpa_msg_type
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 432
    functionDepth: 2
    functionLinenumber: 432
    functionLinenumberEnd: 502
    functionName: wpa_supplicant_ctrl_iface_msg_cb
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface_unix.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpas_ctrl_msg_queue_limit
    - wpa_supplicant_ctrl_iface_send
    - dl_list_empty
    - wpas_ctrl_msg_queue
    - wpas_ctrl_iface_throttle
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_ctrl_iface_msg_cb(void *ctx, int level,\n\t\t\t\t\t
      \    enum wpa_msg_type type,\n\t\t\t\t\t     const char *txt, size_t len)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:517,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:521,1
    - Dst: android_get_control_socket
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:523,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:529,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:531,1
    - Dst: mkdir
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:541,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:543,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:546,1
    - Dst: strerror
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:547,1
    - Dst: chmod
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:561,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:562,1
    - Dst: strerror
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:563,1
    - Dst: getgrnam
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:569,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:573,1
    - Dst: strtol
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:578,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:580,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:585,1
    - Dst: lchown
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:590,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:591,1
    - Dst: strerror
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:592,1
    - Dst: chmod
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:598,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:599,1
    - Dst: strerror
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:600,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:604,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:604,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:606,1
    - Dst: socket
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:610,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:612,1
    - Dst: strerror
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:612,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:616,1
    - Dst: wpa_supplicant_ctrl_iface_path
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:621,1
    - Dst: os_strlcpy
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:624,1
    - Dst: bind
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:625,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:626,1
    - Dst: strerror
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:627,1
    - Dst: connect
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:628,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:630,1
    - Dst: unlink
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:633,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:634,1
    - Dst: strerror
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:636,1
    - Dst: bind
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:639,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:641,1
    - Dst: strerror
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:642,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:645,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:648,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:650,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:652,1
    - Dst: lchown
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:658,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:659,1
    - Dst: strerror
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:660,1
    - Dst: chmod
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:664,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:665,1
    - Dst: strerror
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:666,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:669,1
    - Dst: fcntl
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:679,1
    - Dst: fcntl
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:682,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:683,1
    - Dst: strerror
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:684,1
    - Dst: eloop_register_read_sock
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:689,1
    - Dst: wpa_msg_register_cb
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:691,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:693,1
    - Dst: close
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:698,1
    - Dst: unlink
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:702,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:703,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:705,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 142
    argCount: 2
    argNames:
    - wpa_s
    - priv
    argTypes:
    - struct wpa_supplicant*
    - struct ctrl_iface_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 505
    functionDepth: 2
    functionLinenumber: 505
    functionLinenumberEnd: 707
    functionName: wpas_ctrl_iface_open_sock
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface_unix.c
    functionUses: 0
    functionsReached:
    - eloop_register_read_sock
    - os_strlcpy
    - os_snprintf
    - unlink
    - android_get_control_socket
    - os_strlen
    - wpa_printf
    - connect
    - os_strstr
    - os_free
    - bind
    - wpa_supplicant_ctrl_iface_path
    - strtol
    - getgrnam
    - lchown
    - chmod
    - os_strdup
    - os_memset
    - mkdir
    - fcntl
    - wpa_msg_register_cb
    - strerror
    - socket
    - os_strncmp
    - close
    linkageType: ''
    returnType: int
    signature: "int wpas_ctrl_iface_open_sock(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \    struct ctrl_iface_priv *priv)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:715,1
    - Dst: dl_list_init
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:718,1
    - Dst: dl_list_init
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:719,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:731,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:734,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:736,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:746,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:749,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:764,1
    - Dst: wpas_ctrl_iface_open_sock
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:773,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:774,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 710
    functionDepth: 3
    functionLinenumber: 710
    functionLinenumberEnd: 779
    functionName: wpa_supplicant_ctrl_iface_init
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface_unix.c
    functionUses: 4
    functionsReached:
    - wpa_printf
    - os_strncmp
    - os_zalloc
    - dl_list_init
    - os_free
    - os_strchr
    - wpas_ctrl_iface_open_sock
    - os_strcmp
    linkageType: ''
    returnType: struct ctrl_iface_priv
    signature: 'struct ctrl_iface_priv *

      wpa_supplicant_ctrl_iface_init(struct wpa_supplicant *wpa_s)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: eloop_unregister_read_sock
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:800,1
    - Dst: close
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:801,1
    - Dst: wpas_ctrl_iface_open_sock
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:803,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - wpa_s
    - priv
    argTypes:
    - struct wpa_supplicant*
    - struct ctrl_iface_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 782
    functionDepth: 3
    functionLinenumber: 782
    functionLinenumberEnd: 807
    functionName: wpas_ctrl_iface_reinit
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface_unix.c
    functionUses: 1
    functionsReached:
    - eloop_unregister_read_sock
    - wpas_ctrl_iface_open_sock
    - close
    linkageType: ''
    returnType: int
    signature: "int wpas_ctrl_iface_reinit(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \ struct ctrl_iface_priv *priv)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:822,1
    - Dst: dl_list_del
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:826,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:827,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:832,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - global
    - wpa_s
    argTypes:
    - struct wpa_global*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 810
    functionDepth: 1
    functionLinenumber: 810
    functionLinenumberEnd: 836
    functionName: wpas_global_ctrl_iface_flush_queued_msg
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface_unix.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpa_printf
    - dl_list_del
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: "void wpas_global_ctrl_iface_flush_queued_msg(struct wpa_global *global,\n\t\t\t\t\tstruct
      wpa_supplicant *wpa_s)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: wpas_global_ctrl_iface_flush_queued_msg
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:851,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:852,1
    - Dst: eloop_unregister_read_sock
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:859,1
    - Dst: dl_list_empty
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:860,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:866,1
    - Dst: os_sleep
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:868,1
    - Dst: close
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:870,1
    - Dst: wpa_supplicant_ctrl_iface_path
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:872,1
    - Dst: unlink
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:874,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:875,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:880,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:883,1
    - Dst: os_strstr
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:886,1
    - Dst: rmdir
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:892,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:894,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:898,1
    - Dst: strerror
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:900,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:903,1
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:907,1
    - Dst: dl_list_del
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:909,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:910,1
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:912,1
    - Dst: dl_list_del
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:914,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:915,1
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:919,1
    - Dst: dl_list_del
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:922,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:923,1
    - Dst: wpas_global_ctrl_iface_flush_queued_msg
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:927,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:928,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:929,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 64
    argCount: 2
    argNames:
    - wpa_s
    - priv
    argTypes:
    - struct wpa_supplicant*
    - struct ctrl_iface_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 839
    functionDepth: 2
    functionLinenumber: 839
    functionLinenumberEnd: 930
    functionName: wpa_supplicant_ctrl_iface_deinit
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface_unix.c
    functionUses: 4
    functionsReached:
    - eloop_unregister_read_sock
    - wpa_printf
    - dl_list_del
    - strerror
    - dl_list_empty
    - eloop_cancel_timeout
    - os_sleep
    - os_strncmp
    - os_strstr
    - os_free
    - rmdir
    - close
    - unlink
    - wpa_supplicant_ctrl_iface_path
    - wpas_global_ctrl_iface_flush_queued_msg
    - os_strdup
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_ctrl_iface_deinit(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \     struct ctrl_iface_priv *priv)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_empty
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:958,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:961,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:962,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:970,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:977,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:982,1
    - Dst: wpas_ctrl_sock_debug
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:995,1
    - Dst: sendmsg
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:996,1
    - Dst: sockaddr_print
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:997,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1005,1
    - Dst: strerror
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1006,1
    - Dst: sockaddr_print
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1007,1
    - Dst: sockaddr_print
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1011,1
    - Dst: wpa_supplicant_ctrl_iface_detach
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1013,1
    - Dst: wpas_ctrl_iface_reinit
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1026,1
    - Dst: wpas_ctrl_iface_global_reinit
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1028,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1033,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 57
    argCount: 9
    argNames:
    - wpa_s
    - ifname
    - sock
    - ctrl_dst
    - level
    - buf
    - len
    - priv
    - gp
    argTypes:
    - struct wpa_supplicant*
    - char*
    - int
    - struct dl_list*
    - int
    - char*
    - size_t
    - struct ctrl_iface_priv*
    - struct ctrl_iface_global_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 944
    functionDepth: 4
    functionLinenumber: 944
    functionLinenumberEnd: 1039
    functionName: wpa_supplicant_ctrl_iface_send
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface_unix.c
    functionUses: 5
    functionsReached:
    - os_strlen
    - wpa_supplicant_ctrl_iface_detach
    - strerror
    - dl_list_empty
    - sendmsg
    - os_memset
    - wpas_ctrl_sock_debug
    - os_snprintf
    - wpas_ctrl_iface_reinit
    - wpa_dbg
    - sockaddr_print
    - wpas_ctrl_iface_global_reinit
    - os_snprintf_error
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_ctrl_iface_send(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \  const char *ifname, int sock,\n\t\t\t\t\t   struct dl_list *ctrl_dst,\n\t\t\t\t\t
      \  int level, const char *buf,\n\t\t\t\t\t   size_t len,\n\t\t\t\t\t   struct
      ctrl_iface_priv *priv,\n\t\t\t\t\t   struct ctrl_iface_global_priv *gp)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpas_ctrl_sock_debug
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:995,1
    - Dst: sendmsg
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:996,1
    - Dst: sockaddr_print
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:997,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1005,1
    - Dst: strerror
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1006,1
    - Dst: sockaddr_print
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1007,1
    - Dst: sockaddr_print
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1011,1
    - Dst: wpa_supplicant_ctrl_iface_detach
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1013,1
    - Dst: wpas_ctrl_iface_reinit
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1026,1
    - Dst: wpas_ctrl_iface_global_reinit
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1028,1
    - Dst: wpa_dbg
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1033,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1038
      start: 986
    functionDepth: 4
    functionLinenumber: 986
    functionLinenumberEnd: 1038
    functionName: dl_list_for_each_safe
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface_unix.c
    functionUses: 16
    functionsReached:
    - wpa_supplicant_ctrl_iface_detach
    - strerror
    - sendmsg
    - wpas_ctrl_sock_debug
    - os_snprintf
    - wpas_ctrl_iface_reinit
    - wpa_dbg
    - sockaddr_print
    - wpas_ctrl_iface_global_reinit
    linkageType: ''
    returnType: void
    signature: void dl_list_for_each_safe(dst, next, ctrl_dst, struct wpa_ctrl_dst,
      list)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1053,1
    - Dst: eloop_wait_for_read_sock
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1055,1
    - Dst: recvfrom
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1057,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1060,1
    - Dst: strerror
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1061,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1066,1
    - Dst: wpa_supplicant_ctrl_iface_attach
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1068,1
    - Dst: sendto
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1071,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1074,1
    - Dst: strerror
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1075,1
    - Dst: sendto
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1080,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1083,1
    - Dst: strerror
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1084,1
    - Dst: sendto
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1089,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1091,1
    - Dst: strerror
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1093,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 1
    argNames:
    - priv
    argTypes:
    - struct ctrl_iface_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1097
      start: 1042
    functionDepth: 0
    functionLinenumber: 1042
    functionLinenumberEnd: 1097
    functionName: wpa_supplicant_ctrl_iface_wait
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface_unix.c
    functionUses: 2
    functionsReached:
    - eloop_wait_for_read_sock
    - wpa_printf
    - sendto
    - strerror
    - recvfrom
    - wpa_supplicant_ctrl_iface_attach
    - os_strcmp
    linkageType: ''
    returnType: void
    signature: void wpa_supplicant_ctrl_iface_wait(struct ctrl_iface_priv *priv)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1114,1
    - Dst: recvfrom
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1117,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1120,1
    - Dst: strerror
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1121,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1122,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1126,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1127,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1132,1
    - Dst: wpa_supplicant_ctrl_iface_attach
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1133,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1138,1
    - Dst: wpa_supplicant_ctrl_iface_detach
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1139,1
    - Dst: wpa_supplicant_global_ctrl_iface_process
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1145,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1154,1
    - Dst: wpas_ctrl_sock_debug
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1166,1
    - Dst: sendto
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1168,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1170,1
    - Dst: strerror
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1171,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1174,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1175,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 3
    argNames:
    - sock
    - eloop_ctx
    - sock_ctx
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1176
      start: 1102
    functionDepth: 14
    functionLinenumber: 1102
    functionLinenumberEnd: 1176
    functionName: wpa_supplicant_global_ctrl_iface_receive
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface_unix.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_global_ctrl_iface_process
    - wpa_printf
    - sendto
    - strerror
    - recvfrom
    - os_malloc
    - wpas_ctrl_sock_debug
    - wpa_supplicant_ctrl_iface_attach
    - os_free
    - wpa_supplicant_ctrl_iface_detach
    - os_strcmp
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_global_ctrl_iface_receive(int sock, void *eloop_ctx,\n\t\t\t\t\t\t
      \    void *sock_ctx)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1186,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1189,1
    - Dst: android_get_control_socket
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1190,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1192,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1196,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1202,1
    - Dst: android_get_control_socket
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1208,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1210,1
    - Dst: socket
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1219,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1221,1
    - Dst: strerror
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1221,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1225,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1231,1
    - Dst: os_strlcpy
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1233,1
    - Dst: bind
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1235,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1237,1
    - Dst: strerror
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1239,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1242,1
    - Dst: os_strlcpy
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1247,1
    - Dst: bind
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1248,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1249,1
    - Dst: strerror
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1250,1
    - Dst: connect
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1251,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1253,1
    - Dst: unlink
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1256,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1257,1
    - Dst: strerror
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1259,1
    - Dst: bind
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1262,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1264,1
    - Dst: strerror
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1265,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1268,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1272,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1274,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1281,1
    - Dst: getgrnam
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1289,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1292,1
    - Dst: strtol
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1297,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1299,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1303,1
    - Dst: lchown
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1306,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1307,1
    - Dst: strerror
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1309,1
    - Dst: chmod
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1313,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1314,1
    - Dst: strerror
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1316,1
    - Dst: chmod
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1320,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1321,1
    - Dst: strerror
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1323,1
    - Dst: fcntl
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1335,1
    - Dst: fcntl
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1338,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1339,1
    - Dst: strerror
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1340,1
    - Dst: eloop_register_read_sock
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1345,1
    - Dst: close
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1353,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 115
    argCount: 2
    argNames:
    - global
    - priv
    argTypes:
    - struct wpa_global*
    - struct ctrl_iface_global_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1357
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1357
    functionName: wpas_global_ctrl_iface_open_sock
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface_unix.c
    functionUses: 0
    functionsReached:
    - strtol
    - wpa_printf
    - fcntl
    - strerror
    - connect
    - getgrnam
    - eloop_register_read_sock
    - socket
    - os_memset
    - os_strlcpy
    - os_strncmp
    - close
    - unlink
    - bind
    - lchown
    - chmod
    - android_get_control_socket
    linkageType: ''
    returnType: int
    signature: "int wpas_global_ctrl_iface_open_sock(struct wpa_global *global,\n\t\t\t\t\t
      \   struct ctrl_iface_global_priv *priv)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1365,1
    - Dst: dl_list_init
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1368,1
    - Dst: dl_list_init
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1369,1
    - Dst: wpas_global_ctrl_iface_open_sock
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1376,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1377,1
    - Dst: wpa_msg_register_cb
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1381,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - global
    argTypes:
    - struct wpa_global*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1384
      start: 1360
    functionDepth: 1
    functionLinenumber: 1360
    functionLinenumberEnd: 1384
    functionName: wpa_supplicant_global_ctrl_iface_init
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface_unix.c
    functionUses: 1
    functionsReached:
    - wpa_msg_register_cb
    - os_zalloc
    - dl_list_init
    - os_free
    - wpas_global_ctrl_iface_open_sock
    linkageType: ''
    returnType: struct ctrl_iface_global_priv
    signature: 'struct ctrl_iface_global_priv *

      wpa_supplicant_global_ctrl_iface_init(struct wpa_global *global)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: eloop_unregister_read_sock
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1405,1
    - Dst: close
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1406,1
    - Dst: wpas_global_ctrl_iface_open_sock
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1408,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - global
    - priv
    argTypes:
    - struct wpa_global*
    - struct ctrl_iface_global_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1412
      start: 1387
    functionDepth: 1
    functionLinenumber: 1387
    functionLinenumberEnd: 1412
    functionName: wpas_ctrl_iface_global_reinit
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface_unix.c
    functionUses: 2
    functionsReached:
    - eloop_unregister_read_sock
    - close
    - wpas_global_ctrl_iface_open_sock
    linkageType: ''
    returnType: int
    signature: "int wpas_ctrl_iface_global_reinit(struct wpa_global *global,\n\t\t\t\t\t
      struct ctrl_iface_global_priv *priv)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eloop_unregister_read_sock
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1422,1
    - Dst: close
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1423,1
    - Dst: unlink
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1426,1
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1427,1
    - Dst: dl_list_del
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1429,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1430,1
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1432,1
    - Dst: dl_list_del
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1434,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1435,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/ctrl_iface_unix.c:1437,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - priv
    argTypes:
    - struct ctrl_iface_global_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1438
      start: 1415
    functionDepth: 1
    functionLinenumber: 1415
    functionLinenumberEnd: 1438
    functionName: wpa_supplicant_global_ctrl_iface_deinit
    functionSourceFile: /src/hostap/wpa_supplicant/ctrl_iface_unix.c
    functionUses: 1
    functionsReached:
    - eloop_unregister_read_sock
    - dl_list_del
    - close
    - unlink
    - os_free
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: void wpa_supplicant_global_ctrl_iface_deinit(struct ctrl_iface_global_priv
      *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupUi
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:33,1
    - Dst: setEnabled
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:35,1
    - Dst: connect
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:38,1
    - Dst: SIGNAL
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:38,1
    - Dst: clicked
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:38,1
    - Dst: SLOT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:38,1
    - Dst: close
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:38,1
    - Dst: connect
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:39,1
    - Dst: SIGNAL
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:39,1
    - Dst: clicked
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:39,1
    - Dst: SLOT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:39,1
    - Dst: NetworkConfig::addNetwork
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:39,1
    - Dst: connect
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:42,1
    - Dst: SIGNAL
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:42,1
    - Dst: clicked
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:42,1
    - Dst: SLOT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:42,1
    - Dst: NetworkConfig::removeNetwork
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:42,1
    - Dst: connect
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:45,1
    - Dst: SIGNAL
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:45,1
    - Dst: clicked
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:45,1
    - Dst: SLOT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:45,1
    - Dst: NetworkConfig::useWps
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 49
    functionName: NetworkConfig::NetworkConfig
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp
    functionUses: 0
    functionsReached:
    - connect
    - setEnabled
    - SLOT
    - setupUi
    - NetworkConfig::addNetwork
    - close
    - NetworkConfig::removeNetwork
    - clicked
    - SIGNAL
    - NetworkConfig::useWps
    linkageType: ''
    returnType: void
    signature: "void NetworkConfig::NetworkConfig(QWidget *parent, const char *, bool,\n\t\t\t
      \    Qt::WindowFlags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: NetworkConfig::~NetworkConfig()
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NetworkConfig::~NetworkConfig()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: retranslateUi
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: NetworkConfig::languageChange
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp
    functionUses: 0
    functionsReached:
    - retranslateUi
    linkageType: ''
    returnType: void
    signature: void NetworkConfig::languageChange()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: setWindowTitle
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:68,1
    - Dst: QTreeWidgetItem*::text
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:68,1
    - Dst: setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:69,1
    - Dst: QTreeWidgetItem*::text
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:69,1
    - Dst: QTreeWidgetItem*::text
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:71,1
    - Dst: QString::indexOf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:73,1
    - Dst: QString::indexOf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:75,1
    - Dst: QString::indexOf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:77,1
    - Dst: QString::indexOf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:79,1
    - Dst: QString::indexOf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:84,1
    - Dst: QString::indexOf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:86,1
    - Dst: QString::indexOf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:88,1
    - Dst: setCurrentIndex
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:95,1
    - Dst: NetworkConfig::authChanged
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:96,1
    - Dst: setCurrentIndex
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:97,1
    - Dst: NetworkConfig::wepEnabled
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:99,1
    - Dst: NetworkConfig::getEapCapa
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:101,1
    - Dst: QString::indexOf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:103,1
    - Dst: setEnabled
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:104,1
    - Dst: QTreeWidgetItem*::text
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:105,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 1
    argNames:
    - sel
    argTypes:
    - QTreeWidgetItem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 106
    functionName: NetworkConfig::paramsFromScanResults
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp
    functionUses: 0
    functionsReached:
    - QTreeWidgetItem*::text
    - setWindowTitle
    - setCurrentIndex
    - NetworkConfig::authChanged
    - QString::indexOf
    - setText
    - NetworkConfig::wepEnabled
    - setEnabled
    - NetworkConfig::getEapCapa
    linkageType: ''
    returnType: void
    signature: void NetworkConfig::paramsFromScanResults(QTreeWidgetItem *sel)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setEnabled
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:111,1
    - Dst: setEnabled
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:113,1
    - Dst: setEnabled
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:116,1
    - Dst: setEnabled
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:117,1
    - Dst: setEnabled
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:118,1
    - Dst: setEnabled
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:119,1
    - Dst: setEnabled
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:120,1
    - Dst: NetworkConfig::eapChanged
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:122,1
    - Dst: currentIndex
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:122,1
    - Dst: count
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:124,1
    - Dst: removeItem
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:125,1
    - Dst: addItem
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:129,1
    - Dst: addItem
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:130,1
    - Dst: setCurrentIndex
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:131,1
    - Dst: addItem
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:133,1
    - Dst: addItem
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:134,1
    - Dst: setCurrentIndex
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:135,1
    - Dst: NetworkConfig::wepEnabled
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:139,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 1
    argNames:
    - sel
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 140
    functionName: NetworkConfig::authChanged
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp
    functionUses: 1
    functionsReached:
    - currentIndex
    - addItem
    - setCurrentIndex
    - setEnabled
    - NetworkConfig::wepEnabled
    - removeItem
    - NetworkConfig::eapChanged
    - count
    linkageType: ''
    returnType: void
    signature: void NetworkConfig::authChanged(int sel)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: currentText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:145,1
    - Dst: count
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:146,1
    - Dst: removeItem
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:147,1
    - Dst: QStringList::contains
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:151,1
    - Dst: itemText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:151,1
    - Dst: addItem
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:154,1
    - Dst: currentText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:157,1
    - Dst: addItem
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:158,1
    - Dst: addItem
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:159,1
    - Dst: addItem
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:160,1
    - Dst: addItem
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:161,1
    - Dst: currentText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:162,1
    - Dst: addItem
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:163,1
    - Dst: count
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:170,1
    - Dst: QStringList::contains
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:171,1
    - Dst: itemText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:171,1
    - Dst: addItem
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:172,1
    - Dst: itemText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:172,1
    - Dst: count
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:176,1
    - Dst: itemText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:177,1
    - Dst: setCurrentIndex
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:178,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 1
    argNames:
    - sel
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 182
    functionName: NetworkConfig::eapChanged
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp
    functionUses: 1
    functionsReached:
    - addItem
    - itemText
    - currentText
    - setCurrentIndex
    - QStringList::contains
    - removeItem
    - count
    linkageType: ''
    returnType: void
    signature: void NetworkConfig::eapChanged(int sel)
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: text
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:190,1
    - Dst: currentIndex
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:191,1
    - Dst: QMessageBox::warning
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:195,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:197,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:198,1
    - Dst: setFocus
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:201,1
    - Dst: isEnabled
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:206,1
    - Dst: text
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:206,1
    - Dst: QRegularExpression::match
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:208,1
    - Dst: text
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:208,1
    - Dst: QMessageBox::warning
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:209,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:210,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:211,1
    - Dst: setFocus
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:217,1
    - Dst: memset
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:225,1
    - Dst: ctrlRequest
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:229,1
    - Dst: QMessageBox::warning
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:231,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:232,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:237,1
    - Dst: NetworkConfig::setNetworkParam
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:241,1
    - Dst: text
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:241,1
    - Dst: NetworkConfig::setNetworkParam
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:273,1
    - Dst: NetworkConfig::setNetworkParam
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:275,1
    - Dst: currentIndex
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:279,1
    - Dst: NetworkConfig::setNetworkParam
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:287,1
    - Dst: NetworkConfig::setNetworkParam
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:289,1
    - Dst: NetworkConfig::setNetworkParam
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:291,1
    - Dst: NetworkConfig::setNetworkParam
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:292,1
    - Dst: isEnabled
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:294,1
    - Dst: strcmp
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:295,1
    - Dst: text
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:295,1
    - Dst: NetworkConfig::setNetworkParam
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:297,1
    - Dst: text
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:298,1
    - Dst: isEnabled
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:300,1
    - Dst: currentText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:302,1
    - Dst: NetworkConfig::setNetworkParam
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:303,1
    - Dst: strcmp
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:304,1
    - Dst: strcmp
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:304,1
    - Dst: NetworkConfig::setNetworkParam
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:305,1
    - Dst: NetworkConfig::setNetworkParam
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:307,1
    - Dst: isEnabled
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:309,1
    - Dst: currentText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:310,1
    - Dst: currentText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:311,1
    - Dst: QString::compare
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:314,1
    - Dst: QString::startsWith
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:315,1
    - Dst: snprintf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:316,1
    - Dst: QString::right
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:317,1
    - Dst: QString::size
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:317,1
    - Dst: QString::compare
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:319,1
    - Dst: QString::startsWith
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:320,1
    - Dst: snprintf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:321,1
    - Dst: QString::right
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:322,1
    - Dst: QString::size
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:322,1
    - Dst: snprintf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:325,1
    - Dst: QString::toLocal8Bit
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:326,1
    - Dst: QString::compare
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:327,1
    - Dst: QString::startsWith
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:329,1
    - Dst: snprintf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:330,1
    - Dst: QString::right
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:331,1
    - Dst: QString::size
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:331,1
    - Dst: QString::compare
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:334,1
    - Dst: snprintf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:336,1
    - Dst: NetworkConfig::setNetworkParam
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:343,1
    - Dst: snprintf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:345,1
    - Dst: NetworkConfig::setNetworkParam
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:347,1
    - Dst: NetworkConfig::setNetworkParam
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:351,1
    - Dst: NetworkConfig::setNetworkParam
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:353,1
    - Dst: NetworkConfig::setNetworkParam
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:355,1
    - Dst: isEnabled
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:356,1
    - Dst: text
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:356,1
    - Dst: NetworkConfig::setNetworkParam
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:357,1
    - Dst: text
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:358,1
    - Dst: NetworkConfig::setNetworkParam
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:361,1
    - Dst: isEnabled
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:362,1
    - Dst: text
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:362,1
    - Dst: strcmp
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:363,1
    - Dst: text
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:363,1
    - Dst: NetworkConfig::setNetworkParam
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:365,1
    - Dst: text
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:366,1
    - Dst: text
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:368,1
    - Dst: NetworkConfig::setNetworkParam
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:369,1
    - Dst: isEnabled
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:370,1
    - Dst: text
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:370,1
    - Dst: NetworkConfig::setNetworkParam
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:371,1
    - Dst: text
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:372,1
    - Dst: NetworkConfig::setNetworkParam
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:375,1
    - Dst: NetworkConfig::writeWepKey
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:376,1
    - Dst: NetworkConfig::writeWepKey
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:377,1
    - Dst: NetworkConfig::writeWepKey
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:378,1
    - Dst: NetworkConfig::writeWepKey
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:379,1
    - Dst: isEnabled
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:381,1
    - Dst: isChecked
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:381,1
    - Dst: NetworkConfig::setNetworkParam
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:382,1
    - Dst: isEnabled
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:383,1
    - Dst: isChecked
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:383,1
    - Dst: NetworkConfig::setNetworkParam
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:384,1
    - Dst: isEnabled
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:385,1
    - Dst: isChecked
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:385,1
    - Dst: NetworkConfig::setNetworkParam
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:386,1
    - Dst: isEnabled
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:387,1
    - Dst: isChecked
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:387,1
    - Dst: NetworkConfig::setNetworkParam
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:388,1
    - Dst: isEnabled
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:390,1
    - Dst: text
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:390,1
    - Dst: NetworkConfig::setNetworkParam
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:391,1
    - Dst: text
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:392,1
    - Dst: NetworkConfig::setNetworkParam
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:395,1
    - Dst: isEnabled
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:397,1
    - Dst: QString::setNum
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:399,1
    - Dst: value
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:399,1
    - Dst: NetworkConfig::setNetworkParam
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:400,1
    - Dst: QString::toLocal8Bit
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:400,1
    - Dst: snprintf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:404,1
    - Dst: ctrlRequest
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:406,1
    - Dst: strncmp
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:407,1
    - Dst: QMessageBox::warning
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:408,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:409,1
    - Dst: triggerUpdate
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:414,1
    - Dst: ctrlRequest
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:415,1
    - Dst: close
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:417,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 149
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 418
    functionName: NetworkConfig::addNetwork
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp
    functionUses: 1
    functionsReached:
    - QString::startsWith
    - strncmp
    - ctrlRequest
    - isChecked
    - triggerUpdate
    - atoi
    - tr
    - QRegularExpression::match
    - QString::compare
    - strcmp
    - QString::right
    - QString::toLocal8Bit
    - value
    - QMessageBox::warning
    - isEnabled
    - QString::size
    - memset
    - NetworkConfig::writeWepKey
    - setFocus
    - text
    - currentIndex
    - QString::setNum
    - snprintf
    - currentText
    - close
    - NetworkConfig::setNetworkParam
    linkageType: ''
    returnType: void
    signature: void NetworkConfig::addNetwork()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _wpagui
    argTypes:
    - WpaGui*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 424
    functionName: NetworkConfig::setWpaGui
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NetworkConfig::setWpaGui(WpaGui *_wpagui)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:432,1
    - Dst: ctrlRequest
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:435,1
    - Dst: strncmp
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - id
    - field
    - value
    - quote
    argTypes:
    - int
    - char*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 437
    functionName: NetworkConfig::setNetworkParam
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp
    functionUses: 1
    functionsReached:
    - strncmp
    - snprintf
    - ctrlRequest
    linkageType: ''
    returnType: int
    signature: "int NetworkConfig::setNetworkParam(int id, const char *field,\n\t\t\t\t
      \  const char *value, bool quote)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 442
    functionName: NetworkConfig::encrChanged
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NetworkConfig::encrChanged(const QString &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setEnabled
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:447,1
    - Dst: setEnabled
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:448,1
    - Dst: setEnabled
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:449,1
    - Dst: setEnabled
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:450,1
    - Dst: setEnabled
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:451,1
    - Dst: setEnabled
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:452,1
    - Dst: setEnabled
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:453,1
    - Dst: setEnabled
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - enabled
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 455
    functionName: NetworkConfig::wepEnabled
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp
    functionUses: 2
    functionsReached:
    - setEnabled
    linkageType: ''
    returnType: void
    signature: void NetworkConfig::wepEnabled(bool enabled)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: QLineEdit*::isEnabled
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:465,1
    - Dst: QLineEdit*::text
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:465,1
    - Dst: QLineEdit*::text
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:472,1
    - Dst: strcmp
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:473,1
    - Dst: strlen
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:475,1
    - Dst: snprintf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:491,1
    - Dst: NetworkConfig::setNetworkParam
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:492,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 22
    argCount: 3
    argNames:
    - network_id
    - edit
    - id
    argTypes:
    - int
    - QLineEdit*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 493
    functionName: NetworkConfig::writeWepKey
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp
    functionUses: 1
    functionsReached:
    - snprintf
    - QLineEdit*::text
    - QLineEdit*::isEnabled
    - NetworkConfig::setNetworkParam
    - strlen
    - strcmp
    linkageType: ''
    returnType: void
    signature: void NetworkConfig::writeWepKey(int network_id, QLineEdit *edit, int
      id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:498,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - reply
    - reply_len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 499
    functionName: key_value_isset
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int key_value_isset(const char *reply, size_t reply_len)
  - BBCount: 65
    BranchProfiles: []
    Callsites:
    - Dst: NetworkConfig::getEapCapa
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:507,1
    - Dst: snprintf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:512,1
    - Dst: ctrlRequest
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:514,1
    - Dst: strchr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:517,1
    - Dst: setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:520,1
    - Dst: snprintf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:523,1
    - Dst: ctrlRequest
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:526,1
    - Dst: strstr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:528,1
    - Dst: strstr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:528,1
    - Dst: strstr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:530,1
    - Dst: snprintf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:535,1
    - Dst: ctrlRequest
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:537,1
    - Dst: strstr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:539,1
    - Dst: strstr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:541,1
    - Dst: strstr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:543,1
    - Dst: snprintf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:549,1
    - Dst: ctrlRequest
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:551,1
    - Dst: strstr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:553,1
    - Dst: strstr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:556,1
    - Dst: strstr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:558,1
    - Dst: snprintf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:564,1
    - Dst: ctrlRequest
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:566,1
    - Dst: strchr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:569,1
    - Dst: setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:572,1
    - Dst: key_value_isset
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:573,1
    - Dst: setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:574,1
    - Dst: snprintf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:577,1
    - Dst: ctrlRequest
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:579,1
    - Dst: strchr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:582,1
    - Dst: setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:585,1
    - Dst: snprintf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:588,1
    - Dst: ctrlRequest
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:590,1
    - Dst: strchr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:593,1
    - Dst: setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:596,1
    - Dst: key_value_isset
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:597,1
    - Dst: setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:598,1
    - Dst: snprintf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:601,1
    - Dst: ctrlRequest
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:603,1
    - Dst: strchr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:606,1
    - Dst: setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:609,1
    - Dst: snprintf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:613,1
    - Dst: ctrlRequest
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:615,1
    - Dst: count
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:618,1
    - Dst: itemText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:619,1
    - Dst: setCurrentIndex
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:620,1
    - Dst: strcmp
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:621,1
    - Dst: strcmp
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:623,1
    - Dst: strcmp
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:625,1
    - Dst: snprintf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:633,1
    - Dst: ctrlRequest
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:636,1
    - Dst: NetworkConfig::eapChanged
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:639,1
    - Dst: currentIndex
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:639,1
    - Dst: strncmp
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:653,1
    - Dst: memcpy
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:656,1
    - Dst: strncmp
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:659,1
    - Dst: memcpy
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:661,1
    - Dst: strncmp
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:662,1
    - Dst: strncmp
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:666,1
    - Dst: strcmp
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:668,1
    - Dst: memcpy
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:673,1
    - Dst: count
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:679,1
    - Dst: itemText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:680,1
    - Dst: setCurrentIndex
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:681,1
    - Dst: snprintf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:703,1
    - Dst: ctrlRequest
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:706,1
    - Dst: strchr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:709,1
    - Dst: QLineEdit*::setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:718,1
    - Dst: key_value_isset
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:719,1
    - Dst: QLineEdit*::setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:725,1
    - Dst: snprintf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:730,1
    - Dst: ctrlRequest
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:733,1
    - Dst: strcmp
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:735,1
    - Dst: snprintf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:740,1
    - Dst: ctrlRequest
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:742,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:745,1
    - Dst: setChecked
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:747,1
    - Dst: setChecked
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:750,1
    - Dst: setChecked
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:753,1
    - Dst: setChecked
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:756,1
    - Dst: snprintf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:761,1
    - Dst: ctrlRequest
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:763,1
    - Dst: strchr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:766,1
    - Dst: setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:769,1
    - Dst: snprintf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:772,1
    - Dst: ctrlRequest
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:774,1
    - Dst: setValue
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:777,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:777,1
    - Dst: setCurrentIndex
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:780,1
    - Dst: NetworkConfig::authChanged
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:781,1
    - Dst: setCurrentIndex
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:782,1
    - Dst: NetworkConfig::wepEnabled
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:783,1
    - Dst: setEnabled
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:785,1
    - Dst: setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:786,1
    CyclomaticComplexity: 103
    EdgeCount: 103
    ICount: 244
    argCount: 1
    argNames:
    - network_id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 502
    functionDepth: 2
    functionLinenumber: 502
    functionLinenumberEnd: 787
    functionName: NetworkConfig::paramsFromConfig
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp
    functionUses: 0
    functionsReached:
    - strncmp
    - ctrlRequest
    - setChecked
    - strstr
    - atoi
    - strcmp
    - key_value_isset
    - itemText
    - setValue
    - memcpy
    - setEnabled
    - count
    - QLineEdit*::setText
    - currentIndex
    - snprintf
    - setCurrentIndex
    - NetworkConfig::authChanged
    - setText
    - NetworkConfig::wepEnabled
    - NetworkConfig::getEapCapa
    - NetworkConfig::eapChanged
    - strchr
    linkageType: ''
    returnType: void
    signature: void NetworkConfig::paramsFromConfig(int network_id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_new_from_signal_information
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:795,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:797,1
    - Dst: snprintf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:803,1
    - Dst: ctrlRequest
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:805,1
    - Dst: strncmp
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:806,1
    - Dst: QMessageBox::warning
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:807,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:808,1
    - Dst: triggerUpdate
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:812,1
    - Dst: ctrlRequest
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:813,1
    - Dst: close
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:816,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 790
    functionDepth: 1
    functionLinenumber: 790
    functionLinenumberEnd: 817
    functionName: NetworkConfig::removeNetwork
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp
    functionUses: 1
    functionsReached:
    - wpas_dbus_new_from_signal_information
    - strncmp
    - snprintf
    - ctrlRequest
    - QMessageBox::warning
    - triggerUpdate
    - close
    - tr
    linkageType: ''
    returnType: void
    signature: void NetworkConfig::removeNetwork()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NetworkConfig::getEapCapa
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 820
    functionDepth: 1
    functionLinenumber: 820
    functionLinenumberEnd: 824
    functionName: NetworkConfig::newNetwork
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp
    functionUses: 0
    functionsReached:
    - NetworkConfig::getEapCapa
    linkageType: ''
    returnType: void
    signature: void NetworkConfig::newNetwork()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ctrlRequest
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:836,1
    - Dst: QString::split
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:841,1
    - Dst: QChar
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:841,1
    - Dst: insertItems
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:842,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 827
    functionDepth: 0
    functionLinenumber: 827
    functionLinenumberEnd: 843
    functionName: NetworkConfig::getEapCapa
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp
    functionUses: 3
    functionsReached:
    - QString::split
    - insertItems
    - ctrlRequest
    - QChar
    linkageType: ''
    returnType: void
    signature: void NetworkConfig::getEapCapa()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setBssFromScan
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:850,1
    - Dst: wpsDialog
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:851,1
    - Dst: close
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp:852,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 846
    functionDepth: 0
    functionLinenumber: 846
    functionLinenumberEnd: 853
    functionName: NetworkConfig::useWps
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp
    functionUses: 1
    functionsReached:
    - wpsDialog
    - close
    - setBssFromScan
    linkageType: ''
    returnType: void
    signature: void NetworkConfig::useWps()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setupUi
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:68,1
    - Dst: QImageReader::supportedImageFormats
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:70,1
    - Dst: QByteArray
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:70,1
    - Dst: QIcon::QIcon
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:72,1
    - Dst: QIcon::QIcon
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:73,1
    - Dst: QIcon::QIcon
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:74,1
    - Dst: QIcon::QIcon
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:75,1
    - Dst: QIcon::QIcon
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:76,1
    - Dst: QIcon::QIcon
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:78,1
    - Dst: QIcon::QIcon
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:79,1
    - Dst: QIcon::QIcon
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:80,1
    - Dst: QIcon::QIcon
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:81,1
    - Dst: QIcon::QIcon
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:82,1
    - Dst: setModel
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:85,1
    - Dst: setResizeMode
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:86,1
    - Dst: setDragEnabled
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:87,1
    - Dst: setSelectionMode
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:88,1
    - Dst: setContextMenuPolicy
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 96
    functionName: Peers::Peers
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp
    functionUses: 0
    functionsReached:
    - setDragEnabled
    - setModel
    - QImageReader::supportedImageFormats
    - setResizeMode
    - QByteArray
    - setupUi
    - setSelectionMode
    - setContextMenuPolicy
    - QIcon::QIcon
    linkageType: ''
    returnType: void
    signature: void Peers::Peers(QWidget *parent, const char *, bool, Qt::WindowFlags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Peers::update_peers
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - _wpagui
    argTypes:
    - WpaGui*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: Peers::setWpaGui
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp
    functionUses: 0
    functionsReached:
    - Peers::update_peers
    linkageType: ''
    returnType: void
    signature: void Peers::setWpaGui(WpaGui *_wpagui)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 113
    functionName: Peers::~Peers()
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Peers::~Peers()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: retranslateUi
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: Peers::languageChange
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp
    functionUses: 0
    functionsReached:
    - retranslateUi
    linkageType: ''
    returnType: void
    signature: void Peers::languageChange()
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:127,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:130,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:133,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:136,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:139,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:142,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:145,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:148,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:151,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:154,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:157,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:160,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:163,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:166,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 170
    functionName: Peers::ItemType
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp
    functionUses: 0
    functionsReached:
    - tr
    linkageType: ''
    returnType: QString
    signature: QString Peers::ItemType(int type)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: QMenu::QMenu
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:175,1
    - Dst: indexAt
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:179,1
    - Dst: QModelIndex::isValid
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:180,1
    - Dst: itemFromIndex
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:181,1
    - Dst: data
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:182,1
    - Dst: QMenu*::addAction
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:183,1
    - Dst: Peers::ItemType
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:183,1
    - Dst: QMenu*::addSeparator
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:184,1
    - Dst: data
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:187,1
    - Dst: QVariant::isValid
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:188,1
    - Dst: QVariant::toInt
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:189,1
    - Dst: data
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:192,1
    - Dst: QVariant::isValid
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:193,1
    - Dst: QVariant::toInt
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:194,1
    - Dst: QMenu*::addAction
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:202,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:202,1
    - Dst: SLOT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:203,1
    - Dst: Peers::enter_pin
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:203,1
    - Dst: QMenu*::addAction
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:207,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:207,1
    - Dst: SLOT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:208,1
    - Dst: Peers::ctx_p2p_connect
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:208,1
    - Dst: QMenu*::addAction
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:213,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:213,1
    - Dst: SLOT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:214,1
    - Dst: Peers::connect_pbc
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:214,1
    - Dst: QMenu*::addAction
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:216,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:216,1
    - Dst: SLOT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:217,1
    - Dst: Peers::ctx_p2p_req_pin
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:217,1
    - Dst: QMenu*::addAction
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:218,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:218,1
    - Dst: SLOT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:219,1
    - Dst: Peers::ctx_p2p_show_pin
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:219,1
    - Dst: QMenu*::addAction
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:224,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:224,1
    - Dst: SLOT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:225,1
    - Dst: Peers::ctx_p2p_display_pin
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:225,1
    - Dst: QMenu*::addAction
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:230,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:230,1
    - Dst: SLOT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:231,1
    - Dst: Peers::ctx_p2p_enter_pin
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:231,1
    - Dst: QMenu*::addAction
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:236,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:236,1
    - Dst: SLOT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:237,1
    - Dst: Peers::ctx_p2p_show_passphrase
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:237,1
    - Dst: QMenu*::addAction
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:238,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:238,1
    - Dst: SLOT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:239,1
    - Dst: Peers::ctx_p2p_remove_group
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:239,1
    - Dst: QMenu*::addAction
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:245,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:245,1
    - Dst: SLOT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:246,1
    - Dst: Peers::ctx_p2p_start_persistent
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:246,1
    - Dst: QMenu*::addAction
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:251,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:251,1
    - Dst: SLOT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:252,1
    - Dst: Peers::ctx_p2p_invite
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:252,1
    - Dst: QMenu*::addAction
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:256,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:256,1
    - Dst: SLOT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:257,1
    - Dst: Peers::ctx_p2p_delete
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:257,1
    - Dst: QMenu*::addAction
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:261,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:261,1
    - Dst: SLOT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:262,1
    - Dst: Peers::connect_pbc
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:262,1
    - Dst: QMenu*::addAction
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:269,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:269,1
    - Dst: SLOT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:270,1
    - Dst: Peers::connect_pbc
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:270,1
    - Dst: QMenu*::addAction
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:274,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:274,1
    - Dst: SLOT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:275,1
    - Dst: Peers::learn_ap_config
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:275,1
    - Dst: QMenu*::addAction
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:278,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:278,1
    - Dst: SLOT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:278,1
    - Dst: Peers::properties
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:278,1
    - Dst: QMenu*::addAction
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:281,1
    - Dst: QString
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:281,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:281,1
    - Dst: SLOT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:282,1
    - Dst: Peers::ctx_refresh
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:282,1
    - Dst: QMenu*::addAction
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:283,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:283,1
    - Dst: SLOT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:284,1
    - Dst: Peers::ctx_p2p_start
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:284,1
    - Dst: QMenu*::addAction
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:285,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:285,1
    - Dst: SLOT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:286,1
    - Dst: Peers::ctx_p2p_stop
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:286,1
    - Dst: QMenu*::addAction
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:287,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:287,1
    - Dst: SLOT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:288,1
    - Dst: Peers::ctx_p2p_listen
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:288,1
    - Dst: QMenu*::addAction
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:289,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:289,1
    - Dst: SLOT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:290,1
    - Dst: Peers::ctx_p2p_start_group
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:290,1
    - Dst: QMenu*::addAction
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:292,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:292,1
    - Dst: SLOT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:293,1
    - Dst: Peers::ctx_show_ap
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:293,1
    - Dst: QMenu*::addAction
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:295,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:295,1
    - Dst: SLOT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:296,1
    - Dst: Peers::ctx_hide_ap
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:296,1
    - Dst: QMenu*::exec
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:299,1
    - Dst: mapToGlobal
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:299,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 65
    argCount: 1
    argNames:
    - pos
    argTypes:
    - QPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 300
    functionName: Peers::context_menu
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp
    functionUses: 0
    functionsReached:
    - QMenu::QMenu
    - Peers::ctx_p2p_listen
    - Peers::ctx_p2p_connect
    - QMenu*::addAction
    - Peers::ctx_p2p_stop
    - QMenu*::addSeparator
    - Peers::ctx_p2p_enter_pin
    - tr
    - Peers::ctx_p2p_delete
    - Peers::ctx_p2p_start_persistent
    - QModelIndex::isValid
    - data
    - Peers::ctx_p2p_start_group
    - QMenu*::exec
    - Peers::ctx_p2p_req_pin
    - indexAt
    - Peers::ctx_p2p_display_pin
    - Peers::ctx_show_ap
    - Peers::properties
    - QString
    - Peers::ctx_p2p_show_passphrase
    - SLOT
    - Peers::ctx_p2p_show_pin
    - itemFromIndex
    - Peers::ctx_refresh
    - QVariant::isValid
    - QVariant::toInt
    - Peers::ctx_p2p_remove_group
    - Peers::ItemType
    - Peers::enter_pin
    - Peers::learn_ap_config
    - Peers::connect_pbc
    - Peers::ctx_hide_ap
    - Peers::ctx_p2p_start
    - Peers::ctx_p2p_invite
    - mapToGlobal
    linkageType: ''
    returnType: void
    signature: void Peers::context_menu(const QPoint &pos)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:308,1
    - Dst: data
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:311,1
    - Dst: data
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:313,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:315,1
    - Dst: StringQuery::setWindowTitle
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:316,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:316,1
    - Dst: text
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:316,1
    - Dst: StringQuery::exec
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:317,1
    - Dst: snprintf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:325,1
    - Dst: QString::toLocal8Bit
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:326,1
    - Dst: StringQuery::get_string
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:327,1
    - Dst: QString::toLocal8Bit
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:328,1
    - Dst: snprintf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:330,1
    - Dst: QString::toLocal8Bit
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:331,1
    - Dst: StringQuery::get_string
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:332,1
    - Dst: ctrlRequest
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:335,1
    - Dst: QMessageBox::setIcon
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:337,1
    - Dst: QMessageBox::setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:338,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:338,1
    - Dst: QMessageBox::exec
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:339,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 341
    functionName: Peers::enter_pin
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp
    functionUses: 1
    functionsReached:
    - snprintf
    - QString::toLocal8Bit
    - ctrlRequest
    - QMessageBox::exec
    - StringQuery::get_string
    - QMessageBox::setIcon
    - StringQuery::setWindowTitle
    - QMessageBox::setText
    - StringQuery::exec
    - data
    - tr
    - text
    linkageType: ''
    returnType: void
    signature: void Peers::enter_pin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Peers::update_peers
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 347
    functionName: Peers::ctx_refresh
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp
    functionUses: 1
    functionsReached:
    - Peers::update_peers
    linkageType: ''
    returnType: void
    signature: void Peers::ctx_refresh()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ctrlRequest
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:355,1
    - Dst: memcmp
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:356,1
    - Dst: QMessageBox::setIcon
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:358,1
    - Dst: QMessageBox::setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:359,1
    - Dst: QMessageBox::exec
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:360,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 362
    functionName: Peers::ctx_p2p_start
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp
    functionUses: 1
    functionsReached:
    - ctrlRequest
    - QMessageBox::exec
    - QMessageBox::setIcon
    - QMessageBox::setText
    - memcmp
    linkageType: ''
    returnType: void
    signature: void Peers::ctx_p2p_start()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctrlRequest
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 371
    functionName: Peers::ctx_p2p_stop
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp
    functionUses: 1
    functionsReached:
    - ctrlRequest
    linkageType: ''
    returnType: void
    signature: void Peers::ctx_p2p_stop()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ctrlRequest
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:379,1
    - Dst: memcmp
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:380,1
    - Dst: QMessageBox::setIcon
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:382,1
    - Dst: QMessageBox::setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:383,1
    - Dst: QMessageBox::exec
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:384,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 386
    functionName: Peers::ctx_p2p_listen
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp
    functionUses: 1
    functionsReached:
    - ctrlRequest
    - QMessageBox::exec
    - QMessageBox::setIcon
    - QMessageBox::setText
    - memcmp
    linkageType: ''
    returnType: void
    signature: void Peers::ctx_p2p_listen()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ctrlRequest
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:394,1
    - Dst: memcmp
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:395,1
    - Dst: QMessageBox::setIcon
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:397,1
    - Dst: QMessageBox::setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:398,1
    - Dst: QMessageBox::exec
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:399,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 401
    functionName: Peers::ctx_p2p_start_group
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp
    functionUses: 1
    functionsReached:
    - ctrlRequest
    - QMessageBox::exec
    - QMessageBox::setIcon
    - QMessageBox::setText
    - memcmp
    linkageType: ''
    returnType: void
    signature: void Peers::ctx_p2p_start_group()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: QString::split
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:406,1
    - Dst: QRegularExpression
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:406,1
    - Dst: QStringList::begin
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:409,1
    - Dst: QStringList::end
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:410,1
    - Dst: indexOf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:411,1
    - Dst: startsWith
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:415,1
    - Dst: mid
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:416,1
    - Dst: startsWith
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:417,1
    - Dst: mid
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:418,1
    - Dst: QString::isEmpty
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:421,1
    - Dst: QStandardItem::QStandardItem
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:424,1
    - Dst: rowCount
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:427,1
    - Dst: match
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:428,1
    - Dst: index
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:428,1
    - Dst: QModelIndexList::size
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:431,1
    - Dst: itemFromIndex
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:433,1
    - Dst: QStandardItem*::data
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:436,1
    - Dst: removeRow
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:438,1
    - Dst: row
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:438,1
    - Dst: QStandardItem*::setData
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:444,1
    - Dst: QStandardItem*::setData
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:445,1
    - Dst: QStandardItem*::setData
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:447,1
    - Dst: QStandardItem*::setToolTip
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:448,1
    - Dst: Peers::ItemType
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:448,1
    - Dst: appendRow
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:449,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 1
    argNames:
    - info
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 451
    functionName: Peers::add_station
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp
    functionUses: 0
    functionsReached:
    - QStringList::begin
    - QString::split
    - index
    - QStandardItem*::data
    - QStringList::end
    - QStandardItem*::setToolTip
    - row
    - startsWith
    - removeRow
    - mid
    - rowCount
    - indexOf
    - itemFromIndex
    - QStandardItem*::setData
    - QModelIndexList::size
    - Peers::ItemType
    - QRegularExpression
    - match
    - QString::isEmpty
    - appendRow
    - QStandardItem::QStandardItem
    linkageType: ''
    returnType: void
    signature: void Peers::add_station(QString info)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ctrlRequest
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:462,1
    - Dst: strncmp
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:472,1
    - Dst: strncmp
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:473,1
    - Dst: Peers::add_station
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:476,1
    - Dst: snprintf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:479,1
    - Dst: ctrlRequest
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:482,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 454
    functionDepth: 2
    functionLinenumber: 454
    functionLinenumberEnd: 484
    functionName: Peers::add_stations
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp
    functionUses: 0
    functionsReached:
    - strncmp
    - Peers::add_station
    - ctrlRequest
    - snprintf
    linkageType: ''
    returnType: void
    signature: void Peers::add_stations()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:494,1
    - Dst: ctrlRequest
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:495,1
    - Dst: strncmp
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:504,1
    - Dst: strncmp
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:505,1
    - Dst: Peers::add_station
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:508,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - addr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 509
    functionName: Peers::add_single_station
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp
    functionUses: 0
    functionsReached:
    - strncmp
    - snprintf
    - ctrlRequest
    - Peers::add_station
    linkageType: ''
    returnType: void
    signature: void Peers::add_single_station(const char *addr)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: QString::split
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:521,1
    - Dst: QRegularExpression
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:521,1
    - Dst: QStringList::size
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:527,1
    - Dst: QStringList::at
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:528,1
    - Dst: QString::indexOf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:529,1
    - Dst: QString::startsWith
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:530,1
    - Dst: QString::section
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:531,1
    - Dst: QString::startsWith
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:532,1
    - Dst: QString::section
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:534,1
    - Dst: QString::startsWith
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:535,1
    - Dst: QString::mid
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:536,1
    - Dst: QString::startsWith
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:537,1
    - Dst: QString::isEmpty
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:537,1
    - Dst: QString::mid
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:538,1
    - Dst: Peers::find_addr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:541,1
    - Dst: QStandardItem::QStandardItem
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:545,1
    - Dst: QStandardItem*::setData
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:549,1
    - Dst: QStandardItem*::setData
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:550,1
    - Dst: QStandardItem*::setData
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:551,1
    - Dst: QString::isEmpty
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:552,1
    - Dst: QStandardItem*::setData
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:553,1
    - Dst: QStandardItem*::setData
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:554,1
    - Dst: QStringList::join
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:554,1
    - Dst: QString
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:554,1
    - Dst: QStandardItem*::setToolTip
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:555,1
    - Dst: Peers::ItemType
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:555,1
    - Dst: appendRow
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:556,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 1
    argNames:
    - params
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 558
    functionName: Peers::add_p2p_group_client
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp
    functionUses: 0
    functionsReached:
    - Peers::ItemType
    - QString::startsWith
    - QRegularExpression
    - QString
    - QString::section
    - QStringList::join
    - QString::indexOf
    - QString::isEmpty
    - QString::split
    - Peers::find_addr
    - QStandardItem*::setToolTip
    - appendRow
    - QStandardItem*::setData
    - QString::mid
    - QStringList::at
    - QStandardItem::QStandardItem
    - QStringList::size
    linkageType: ''
    returnType: void
    signature: void Peers::add_p2p_group_client(QStandardItem * /*parent*/, QString
      params)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rowCount
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:563,1
    - Dst: match
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:566,1
    - Dst: index
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:566,1
    - Dst: QModelIndexList::size
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:568,1
    - Dst: removeRow
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:570,1
    - Dst: row
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:570,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 571
    functionName: Peers::remove_bss
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp
    functionUses: 0
    functionsReached:
    - row
    - removeRow
    - match
    - index
    - rowCount
    - QModelIndexList::size
    linkageType: ''
    returnType: void
    signature: void Peers::remove_bss(int id)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: ctrlRequest
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:583,1
    - Dst: QString::isEmpty
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:588,1
    - Dst: QString::startsWith
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:588,1
    - Dst: QString::split
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:594,1
    - Dst: QRegularExpression
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:594,1
    - Dst: QStringList::begin
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:595,1
    - Dst: QStringList::end
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:596,1
    - Dst: indexOf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:597,1
    - Dst: startsWith
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:601,1
    - Dst: mid
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:602,1
    - Dst: startsWith
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:603,1
    - Dst: mid
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:604,1
    - Dst: startsWith
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:605,1
    - Dst: mid
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:606,1
    - Dst: startsWith
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:607,1
    - Dst: mid
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:608,1
    - Dst: startsWith
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:609,1
    - Dst: mid
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:610,1
    - Dst: startsWith
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:611,1
    - Dst: mid
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:612,1
    - Dst: QString::isEmpty
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:616,1
    - Dst: QStandardItem::QStandardItem
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:619,1
    - Dst: QStandardItem*::setData
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:621,1
    - Dst: QStandardItem*::setData
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:623,1
    - Dst: contains
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:625,1
    - Dst: QStandardItem*::setData
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:629,1
    - Dst: QStringList::size
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:631,1
    - Dst: length
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:632,1
    - Dst: remove
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:633,1
    - Dst: length
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:633,1
    - Dst: QStandardItem*::setToolTip
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:637,1
    - Dst: Peers::ItemType
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:637,1
    - Dst: QStandardItem*::setData
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:638,1
    - Dst: QStringList::join
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:638,1
    - Dst: isEmpty
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:639,1
    - Dst: QStandardItem*::setData
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:640,1
    - Dst: QString::isEmpty
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:642,1
    - Dst: QStandardItem*::setData
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:643,1
    - Dst: appendRow
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:644,1
    - Dst: QString::split
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:646,1
    - Dst: QRegularExpression
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:646,1
    - Dst: QStringList::begin
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:647,1
    - Dst: QStringList::end
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:648,1
    - Dst: startsWith
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:649,1
    - Dst: Peers::add_p2p_group_client
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:650,1
    - Dst: mid
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:651,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 55
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 574
    functionDepth: 2
    functionLinenumber: 574
    functionLinenumberEnd: 656
    functionName: Peers::add_bss
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp
    functionUses: 0
    functionsReached:
    - QString::startsWith
    - ctrlRequest
    - QStringList::begin
    - isEmpty
    - QString::split
    - QStringList::size
    - QStringList::end
    - QStandardItem*::setToolTip
    - Peers::add_p2p_group_client
    - startsWith
    - mid
    - QStringList::join
    - indexOf
    - contains
    - QStandardItem*::setData
    - Peers::ItemType
    - QRegularExpression
    - QString::isEmpty
    - appendRow
    - length
    - QStandardItem::QStandardItem
    - remove
    linkageType: ''
    returnType: bool
    signature: bool Peers::add_bss(const char *cmd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:666,1
    - Dst: Peers::add_bss
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:670,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 659
    functionDepth: 3
    functionLinenumber: 659
    functionLinenumberEnd: 673
    functionName: Peers::add_scan_results
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp
    functionUses: 0
    functionsReached:
    - snprintf
    - Peers::add_bss
    linkageType: ''
    returnType: void
    signature: void Peers::add_scan_results()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:683,1
    - Dst: ctrlRequest
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:684,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:687,1
    - Dst: QStandardItem::QStandardItem
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:692,1
    - Dst: QStandardItem*::setData
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:701,1
    - Dst: QStandardItem*::setToolTip
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:702,1
    - Dst: Peers::ItemType
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:702,1
    - Dst: QStandardItem*::setData
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:703,1
    - Dst: strcmp
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:704,1
    - Dst: QStandardItem*::setData
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:707,1
    - Dst: QStandardItem*::setData
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:708,1
    - Dst: QStandardItem*::setBackground
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:709,1
    - Dst: appendRow
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:711,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - id
    - ssid
    - bssid
    argTypes:
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 676
    functionDepth: 1
    functionLinenumber: 676
    functionLinenumberEnd: 712
    functionName: Peers::add_persistent
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp
    functionUses: 0
    functionsReached:
    - Peers::ItemType
    - snprintf
    - ctrlRequest
    - QStandardItem*::setToolTip
    - appendRow
    - QStandardItem*::setData
    - atoi
    - QStandardItem::QStandardItem
    - QStandardItem*::setBackground
    - strcmp
    linkageType: ''
    returnType: void
    signature: void Peers::add_persistent(int id, const char *ssid, const char *bssid)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ctrlRequest
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:721,1
    - Dst: strchr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:725,1
    - Dst: strchr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:732,1
    - Dst: strchr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:742,1
    - Dst: strchr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:746,1
    - Dst: strchr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:750,1
    - Dst: strstr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:755,1
    - Dst: Peers::add_persistent
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:756,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:756,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 715
    functionDepth: 2
    functionLinenumber: 715
    functionLinenumberEnd: 762
    functionName: Peers::add_persistent_groups
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp
    functionUses: 0
    functionsReached:
    - ctrlRequest
    - strstr
    - Peers::add_persistent
    - atoi
    - strchr
    linkageType: ''
    returnType: void
    signature: void Peers::add_persistent_groups()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:767,1
    - Dst: ctrlRequest
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:773,1
    - Dst: Peers::add_stations
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:775,1
    - Dst: Peers::add_scan_results
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:776,1
    - Dst: Peers::add_persistent_groups
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:777,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 765
    functionDepth: 4
    functionLinenumber: 765
    functionLinenumberEnd: 778
    functionName: Peers::update_peers
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp
    functionUses: 2
    functionsReached:
    - ctrlRequest
    - clear
    - Peers::add_scan_results
    - Peers::add_stations
    - Peers::add_persistent_groups
    linkageType: ''
    returnType: void
    signature: void Peers::update_peers()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rowCount
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:783,1
    - Dst: match
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:786,1
    - Dst: index
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:786,1
    - Dst: QModelIndexList::size
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:788,1
    - Dst: itemFromIndex
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:790,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - addr
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 791
    functionName: Peers::find_addr
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp
    functionUses: 1
    functionsReached:
    - match
    - index
    - rowCount
    - itemFromIndex
    - QModelIndexList::size
    linkageType: ''
    returnType: QStandardItem
    signature: QStandardItem * Peers::find_addr(QString addr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rowCount
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:796,1
    - Dst: match
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:799,1
    - Dst: index
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:799,1
    - Dst: QModelIndexList::size
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:801,1
    - Dst: itemFromIndex
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:802,1
    - Dst: QStandardItem*::data
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:803,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - addr
    - type
    argTypes:
    - QString
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 807
    functionName: Peers::find_addr_type
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp
    functionUses: 0
    functionsReached:
    - match
    - index
    - rowCount
    - QStandardItem*::data
    - itemFromIndex
    - QModelIndexList::size
    linkageType: ''
    returnType: QStandardItem
    signature: QStandardItem * Peers::find_addr_type(QString addr, int type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rowCount
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:812,1
    - Dst: match
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:815,1
    - Dst: index
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:815,1
    - Dst: QModelIndexList::size
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:817,1
    - Dst: itemFromIndex
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:819,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - uuid
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 820
    functionName: Peers::find_uuid
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp
    functionUses: 0
    functionsReached:
    - match
    - index
    - rowCount
    - itemFromIndex
    - QModelIndexList::size
    linkageType: ''
    returnType: QStandardItem
    signature: QStandardItem * Peers::find_uuid(QString uuid)
  - BBCount: 85
    BranchProfiles: []
    Callsites:
    - Dst: WpaMsg::getMsg
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:825,1
    - Dst: QString::startsWith
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:827,1
    - Dst: QString::split
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:833,1
    - Dst: Peers::find_addr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:838,1
    - Dst: QString::indexOf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:842,1
    - Dst: QString::lastIndexOf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:844,1
    - Dst: QString::mid
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:846,1
    - Dst: QStringList::append
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:849,1
    - Dst: QStandardItem::QStandardItem
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:853,1
    - Dst: QStandardItem*::setData
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:855,1
    - Dst: QStandardItem*::setData
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:856,1
    - Dst: QStandardItem*::setToolTip
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:858,1
    - Dst: Peers::ItemType
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:858,1
    - Dst: QStandardItem*::setData
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:859,1
    - Dst: QStringList::join
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:859,1
    - Dst: QStandardItem*::setData
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:860,1
    - Dst: appendRow
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:861,1
    - Dst: QString::startsWith
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:866,1
    - Dst: QString::split
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:868,1
    - Dst: Peers::find_addr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:870,1
    - Dst: QStandardItem*::data
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:871,1
    - Dst: Peers::add_single_station
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:873,1
    - Dst: QString::toLocal8Bit
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:873,1
    - Dst: QString::startsWith
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:877,1
    - Dst: QString::split
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:879,1
    - Dst: rowCount
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:882,1
    - Dst: match
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:885,1
    - Dst: index
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:885,1
    - Dst: QModelIndexList::size
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:887,1
    - Dst: itemFromIndex
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:888,1
    - Dst: QStandardItem*::data
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:889,1
    - Dst: removeRow
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:891,1
    - Dst: row
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:891,1
    - Dst: QString::startsWith
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:898,1
    - Dst: QString::split
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:906,1
    - Dst: QRegularExpression
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:906,1
    - Dst: QStringList::size
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:911,1
    - Dst: QStringList::at
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:912,1
    - Dst: QString::startsWith
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:913,1
    - Dst: QString::section
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:914,1
    - Dst: QString::startsWith
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:915,1
    - Dst: QString::section
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:917,1
    - Dst: QString::startsWith
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:918,1
    - Dst: QString::section
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:919,1
    - Dst: Peers::find_addr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:922,1
    - Dst: QStandardItem*::data
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:924,1
    - Dst: QStandardItem::QStandardItem
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:929,1
    - Dst: QStandardItem*::setData
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:931,1
    - Dst: QStandardItem*::setData
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:932,1
    - Dst: QStandardItem*::setData
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:934,1
    - Dst: QString::isEmpty
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:935,1
    - Dst: QStandardItem*::setData
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:936,1
    - Dst: QStandardItem*::setData
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:938,1
    - Dst: QStringList::join
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:938,1
    - Dst: QString
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:938,1
    - Dst: QStandardItem*::setToolTip
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:940,1
    - Dst: Peers::ItemType
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:940,1
    - Dst: appendRow
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:941,1
    - Dst: Peers::find_addr_type
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:944,1
    - Dst: QStandardItem*::setBackground
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:947,1
    - Dst: QString::startsWith
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:950,1
    - Dst: QString::split
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:954,1
    - Dst: QStringList::size
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:955,1
    - Dst: QString::indexOf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:958,1
    - Dst: QString::mid
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:961,1
    - Dst: QString::indexOf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:962,1
    - Dst: QString::indexOf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:964,1
    - Dst: QString::truncate
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:966,1
    - Dst: QString::lastIndexOf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:967,1
    - Dst: QString::truncate
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:969,1
    - Dst: QStandardItem::QStandardItem
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:971,1
    - Dst: QStandardItem*::setData
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:973,1
    - Dst: QStandardItem*::setData
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:974,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:977,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:980,1
    - Dst: QString::contains
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:983,1
    - Dst: QStandardItem*::setData
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:985,1
    - Dst: QStandardItem*::setToolTip
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:986,1
    - Dst: Peers::ItemType
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:986,1
    - Dst: appendRow
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:987,1
    - Dst: QString::startsWith
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:991,1
    - Dst: QString::split
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:993,1
    - Dst: QStringList::size
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:994,1
    - Dst: rowCount
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:997,1
    - Dst: match
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1000,1
    - Dst: index
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1000,1
    - Dst: QModelIndexList::size
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1002,1
    - Dst: removeRow
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1003,1
    - Dst: row
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1003,1
    - Dst: QString::startsWith
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1007,1
    - Dst: QString::split
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1009,1
    - Dst: QStringList::size
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1010,1
    - Dst: Peers::find_addr_type
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1015,1
    - Dst: QStandardItem*::setData
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1018,1
    - Dst: QStandardItem*::setData
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1020,1
    - Dst: QStandardItem*::data
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1021,1
    - Dst: QVariant::isValid
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1022,1
    - Dst: QVariant::toInt
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1023,1
    - Dst: Peers::ctx_p2p_display_pin_pd
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1025,1
    - Dst: QString::startsWith
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1030,1
    - Dst: QString::split
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1032,1
    - Dst: QStringList::size
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1033,1
    - Dst: Peers::find_addr_type
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1037,1
    - Dst: QStandardItem*::setData
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1040,1
    - Dst: QStandardItem*::data
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1042,1
    - Dst: QVariant::isValid
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1043,1
    - Dst: QVariant::toInt
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1044,1
    - Dst: Peers::ctx_p2p_connect
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1046,1
    - Dst: QString::startsWith
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1051,1
    - Dst: QString::split
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1053,1
    - Dst: QStringList::size
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1054,1
    - Dst: startsWith
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1056,1
    - Dst: startsWith
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1057,1
    - Dst: mid
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1059,1
    - Dst: mid
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1060,1
    - Dst: snprintf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1066,1
    - Dst: ctrlRequest
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1068,1
    - Dst: strrchr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1072,1
    - Dst: Peers::find_addr_type
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1080,1
    - Dst: removeRow
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1082,1
    - Dst: QStandardItem*::row
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1082,1
    - Dst: QStandardItem::QStandardItem
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1084,1
    - Dst: QStandardItem*::setData
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1087,1
    - Dst: QStandardItem*::setToolTip
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1088,1
    - Dst: Peers::ItemType
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1088,1
    - Dst: QStandardItem*::setData
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1089,1
    - Dst: QStandardItem*::setData
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1090,1
    - Dst: appendRow
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1092,1
    - Dst: Peers::enable_persistent
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1094,1
    - Dst: QString::startsWith
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1099,1
    - Dst: QString::startsWith
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1105,1
    - Dst: QString::split
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1112,1
    - Dst: QStringList::size
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1113,1
    - Dst: mid
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1117,1
    - Dst: mid
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1118,1
    - Dst: QString::indexOf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1120,1
    - Dst: QString::mid
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1123,1
    - Dst: QStringList::size
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1124,1
    - Dst: Peers::find_uuid
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1127,1
    - Dst: QStandardItem::QStandardItem
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1131,1
    - Dst: QStandardItem*::setData
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1133,1
    - Dst: QStandardItem*::setData
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1134,1
    - Dst: QStandardItem*::setData
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1137,1
    - Dst: QStandardItem*::setToolTip
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1138,1
    - Dst: Peers::ItemType
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1138,1
    - Dst: QStandardItem*::setData
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1139,1
    - Dst: QStandardItem*::setData
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1140,1
    - Dst: QStringList::join
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1140,1
    - Dst: QString
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1140,1
    - Dst: appendRow
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1142,1
    - Dst: QString::startsWith
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1148,1
    - Dst: QString::split
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1150,1
    - Dst: QStringList::size
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1151,1
    - Dst: rowCount
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1153,1
    - Dst: match
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1156,1
    - Dst: index
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1156,1
    - Dst: QModelIndexList::size
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1158,1
    - Dst: itemFromIndex
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1159,1
    - Dst: QStandardItem*::data
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1161,1
    - Dst: QStandardItem*::data
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1163,1
    - Dst: removeRow
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1165,1
    - Dst: row
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1165,1
    - Dst: QString::startsWith
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1170,1
    - Dst: QString::split
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1177,1
    - Dst: QStringList::size
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1178,1
    - Dst: mid
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1182,1
    - Dst: QStringList::size
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1186,1
    - Dst: indexOf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1187,1
    - Dst: mid
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1190,1
    - Dst: startsWith
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1191,1
    - Dst: QString::toInt
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1192,1
    - Dst: startsWith
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1193,1
    - Dst: QString::toInt
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1194,1
    - Dst: QString::indexOf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1198,1
    - Dst: QString::mid
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1201,1
    - Dst: QStringList::size
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1202,1
    - Dst: QString::length
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1205,1
    - Dst: Peers::remove_enrollee_uuid
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1208,1
    - Dst: QStandardItem::QStandardItem
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1211,1
    - Dst: QStandardItem*::setData
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1213,1
    - Dst: QStandardItem*::setData
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1214,1
    - Dst: QStandardItem*::setData
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1215,1
    - Dst: QStandardItem*::setToolTip
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1217,1
    - Dst: Peers::ItemType
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1217,1
    - Dst: QStandardItem*::setData
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1218,1
    - Dst: QStringList::join
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1218,1
    - Dst: QString
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1218,1
    - Dst: QStandardItem*::setData
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1220,1
    - Dst: QStandardItem*::setData
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1222,1
    - Dst: QStandardItem*::setData
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1225,1
    - Dst: appendRow
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1227,1
    - Dst: QString::startsWith
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1233,1
    - Dst: QString::split
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1238,1
    - Dst: QStringList::size
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1239,1
    - Dst: Peers::remove_enrollee_uuid
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1241,1
    - Dst: QString::startsWith
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1245,1
    - Dst: QString::split
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1255,1
    - Dst: QStringList::size
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1256,1
    - Dst: toInt
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1261,1
    - Dst: toInt
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1262,1
    - Dst: Peers::find_addr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1265,1
    - Dst: QStandardItem*::data
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1267,1
    - Dst: QString::indexOf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1272,1
    - Dst: QString::lastIndexOf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1274,1
    - Dst: QString::mid
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1277,1
    - Dst: QString::isEmpty
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1282,1
    - Dst: Peers::find_uuid
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1285,1
    - Dst: QStandardItem*::data
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1287,1
    - Dst: QStandardItem*::data
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1288,1
    - Dst: QVariant::isValid
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1289,1
    - Dst: QVariant::toInt
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1289,1
    - Dst: QVariant::isValid
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1290,1
    - Dst: QVariant::toInt
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1290,1
    - Dst: Peers::remove_enrollee_uuid
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1291,1
    - Dst: QStandardItem::QStandardItem
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1296,1
    - Dst: QStandardItem*::setData
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1298,1
    - Dst: QStandardItem*::setData
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1299,1
    - Dst: QStandardItem*::setData
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1300,1
    - Dst: QStandardItem*::setToolTip
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1302,1
    - Dst: Peers::ItemType
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1302,1
    - Dst: QStandardItem*::setData
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1303,1
    - Dst: QStringList::join
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1303,1
    - Dst: QString
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1303,1
    - Dst: QStandardItem*::setData
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1305,1
    - Dst: QStandardItem*::setData
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1306,1
    - Dst: QStandardItem*::setData
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1308,1
    - Dst: appendRow
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1309,1
    - Dst: QString::startsWith
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1315,1
    - Dst: QString::split
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1317,1
    - Dst: QStringList::size
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1318,1
    - Dst: snprintf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1321,1
    - Dst: toInt
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1321,1
    - Dst: Peers::add_bss
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1322,1
    - Dst: QString::startsWith
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1326,1
    - Dst: QString::split
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1328,1
    - Dst: QStringList::size
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1329,1
    - Dst: Peers::remove_bss
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1331,1
    - Dst: toInt
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1331,1
    CyclomaticComplexity: 102
    EdgeCount: 102
    ICount: 283
    argCount: 1
    argNames:
    - msg
    argTypes:
    - WpaMsg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1334
      start: 823
    functionDepth: 3
    functionLinenumber: 823
    functionLinenumberEnd: 1334
    functionName: Peers::event_notify
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp
    functionUses: 0
    functionsReached:
    - QString::startsWith
    - ctrlRequest
    - Peers::ctx_p2p_display_pin_pd
    - Peers::ctx_p2p_connect
    - WpaMsg::getMsg
    - Peers::add_single_station
    - QString::split
    - toInt
    - QStringList::append
    - tr
    - Peers::add_bss
    - QString::lastIndexOf
    - strrchr
    - QString::toInt
    - index
    - QStandardItem*::data
    - QString::truncate
    - QStandardItem*::setToolTip
    - QStringList::at
    - QString::contains
    - QStandardItem*::setBackground
    - QString::mid
    - QString::toLocal8Bit
    - row
    - startsWith
    - QString::length
    - removeRow
    - Peers::find_uuid
    - mid
    - QString
    - rowCount
    - Peers::remove_enrollee_uuid
    - Peers::remove_bss
    - QStringList::join
    - QString::indexOf
    - indexOf
    - Peers::find_addr
    - itemFromIndex
    - QStandardItem*::setData
    - QModelIndexList::size
    - Peers::enable_persistent
    - QVariant::isValid
    - QVariant::toInt
    - Peers::ItemType
    - Peers::find_addr_type
    - snprintf
    - QRegularExpression
    - match
    - QString::section
    - QString::isEmpty
    - QStandardItem*::row
    - appendRow
    - QStandardItem::QStandardItem
    - QStringList::size
    linkageType: ''
    returnType: void
    signature: void Peers::event_notify(WpaMsg msg)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1341,1
    - Dst: data
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1344,1
    - Dst: data
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1346,1
    - Dst: QVariant::isValid
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1347,1
    - Dst: QVariant::toInt
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1348,1
    - Dst: data
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1350,1
    - Dst: snprintf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1354,1
    - Dst: QString::toLocal8Bit
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1355,1
    - Dst: QString::toLocal8Bit
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1356,1
    - Dst: ctrlRequest
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1358,1
    - Dst: QMessageBox::setIcon
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1360,1
    - Dst: QMessageBox::setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1361,1
    - Dst: QMessageBox::exec
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1362,1
    - Dst: wpas_dbus_new_from_signal_information
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1365,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1366,1
    - Dst: text
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1366,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1367,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1370,1
    - Dst: StringQuery::setWindowTitle
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1371,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1371,1
    - Dst: text
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1371,1
    - Dst: StringQuery::exec
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1372,1
    - Dst: StringQuery::get_string
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1374,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1378,1
    - Dst: StringQuery::setWindowTitle
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1379,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1379,1
    - Dst: text
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1379,1
    - Dst: StringQuery::exec
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1380,1
    - Dst: StringQuery::get_string
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1382,1
    - Dst: snprintf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1388,1
    - Dst: QString::toLocal8Bit
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1389,1
    - Dst: QString::toLocal8Bit
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1390,1
    - Dst: ctrlRequest
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1392,1
    - Dst: QMessageBox::setIcon
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1394,1
    - Dst: QMessageBox::setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1395,1
    - Dst: QMessageBox::exec
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1396,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1398
      start: 1337
    functionDepth: 1
    functionLinenumber: 1337
    functionLinenumberEnd: 1398
    functionName: Peers::ctx_p2p_connect
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp
    functionUses: 2
    functionsReached:
    - wpas_dbus_new_from_signal_information
    - snprintf
    - QString::toLocal8Bit
    - ctrlRequest
    - QMessageBox::exec
    - text
    - QMessageBox::setIcon
    - StringQuery::get_string
    - StringQuery::setWindowTitle
    - QMessageBox::setText
    - StringQuery::exec
    - data
    - tr
    - QVariant::isValid
    - QVariant::toInt
    linkageType: ''
    returnType: void
    signature: void Peers::ctx_p2p_connect()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1405,1
    - Dst: setData
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1406,1
    - Dst: snprintf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1412,1
    - Dst: QString::toLocal8Bit
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1413,1
    - Dst: ctrlRequest
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1415,1
    - Dst: QMessageBox::setIcon
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1417,1
    - Dst: QMessageBox::setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1418,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1418,1
    - Dst: QMessageBox::exec
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1419,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1421
      start: 1401
    functionDepth: 0
    functionLinenumber: 1401
    functionLinenumberEnd: 1421
    functionName: Peers::ctx_p2p_req_pin
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp
    functionUses: 1
    functionsReached:
    - snprintf
    - QString::toLocal8Bit
    - ctrlRequest
    - QMessageBox::exec
    - setData
    - QMessageBox::setIcon
    - QMessageBox::setText
    - data
    - tr
    linkageType: ''
    returnType: void
    signature: void Peers::ctx_p2p_req_pin()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1428,1
    - Dst: setData
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1429,1
    - Dst: snprintf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1435,1
    - Dst: QString::toLocal8Bit
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1436,1
    - Dst: ctrlRequest
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1438,1
    - Dst: QMessageBox::setIcon
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1440,1
    - Dst: QMessageBox::setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1441,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1441,1
    - Dst: QMessageBox::exec
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1442,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1444
      start: 1424
    functionDepth: 0
    functionLinenumber: 1424
    functionLinenumberEnd: 1444
    functionName: Peers::ctx_p2p_show_pin
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp
    functionUses: 1
    functionsReached:
    - snprintf
    - QString::toLocal8Bit
    - ctrlRequest
    - QMessageBox::exec
    - setData
    - QMessageBox::setIcon
    - QMessageBox::setText
    - data
    - tr
    linkageType: ''
    returnType: void
    signature: void Peers::ctx_p2p_show_pin()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1451,1
    - Dst: snprintf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1456,1
    - Dst: QString::toLocal8Bit
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1457,1
    - Dst: ctrlRequest
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1459,1
    - Dst: QMessageBox::setIcon
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1461,1
    - Dst: QMessageBox::setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1462,1
    - Dst: QMessageBox::exec
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1463,1
    - Dst: wpas_dbus_new_from_signal_information
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1467,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1468,1
    - Dst: text
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1468,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1469,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1471
      start: 1447
    functionDepth: 1
    functionLinenumber: 1447
    functionLinenumberEnd: 1471
    functionName: Peers::ctx_p2p_display_pin
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp
    functionUses: 1
    functionsReached:
    - wpas_dbus_new_from_signal_information
    - snprintf
    - QString::toLocal8Bit
    - ctrlRequest
    - QMessageBox::exec
    - QMessageBox::setIcon
    - QMessageBox::setText
    - data
    - tr
    - text
    linkageType: ''
    returnType: void
    signature: void Peers::ctx_p2p_display_pin()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1478,1
    - Dst: data
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1479,1
    - Dst: snprintf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1484,1
    - Dst: QString::toLocal8Bit
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1485,1
    - Dst: QString::toLocal8Bit
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1486,1
    - Dst: ctrlRequest
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1488,1
    - Dst: QMessageBox::setIcon
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1490,1
    - Dst: QMessageBox::setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1491,1
    - Dst: QMessageBox::exec
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1492,1
    - Dst: wpas_dbus_new_from_signal_information
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1496,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1497,1
    - Dst: text
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1497,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1498,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1500
      start: 1474
    functionDepth: 1
    functionLinenumber: 1474
    functionLinenumberEnd: 1500
    functionName: Peers::ctx_p2p_display_pin_pd
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp
    functionUses: 1
    functionsReached:
    - wpas_dbus_new_from_signal_information
    - snprintf
    - QString::toLocal8Bit
    - ctrlRequest
    - QMessageBox::exec
    - QMessageBox::setIcon
    - QMessageBox::setText
    - data
    - tr
    - text
    linkageType: ''
    returnType: void
    signature: void Peers::ctx_p2p_display_pin_pd()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1507,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1510,1
    - Dst: StringQuery::setWindowTitle
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1511,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1511,1
    - Dst: text
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1511,1
    - Dst: StringQuery::exec
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1512,1
    - Dst: StringQuery::get_string
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1514,1
    - Dst: snprintf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1519,1
    - Dst: QString::toLocal8Bit
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1520,1
    - Dst: QString::toLocal8Bit
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1521,1
    - Dst: ctrlRequest
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1523,1
    - Dst: QMessageBox::setIcon
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1525,1
    - Dst: QMessageBox::setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1526,1
    - Dst: QMessageBox::exec
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1527,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1529
      start: 1503
    functionDepth: 1
    functionLinenumber: 1503
    functionLinenumberEnd: 1529
    functionName: Peers::ctx_p2p_enter_pin
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp
    functionUses: 1
    functionsReached:
    - snprintf
    - QString::toLocal8Bit
    - ctrlRequest
    - QMessageBox::exec
    - StringQuery::get_string
    - QMessageBox::setIcon
    - StringQuery::setWindowTitle
    - QMessageBox::setText
    - StringQuery::exec
    - data
    - tr
    - text
    linkageType: ''
    returnType: void
    signature: void Peers::ctx_p2p_enter_pin()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1539,1
    - Dst: data
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1540,1
    - Dst: ctrlRequest
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1543,1
    - Dst: QMessageBox::setIcon
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1545,1
    - Dst: QMessageBox::setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1546,1
    - Dst: QMessageBox::exec
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1547,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1549
      start: 1532
    functionDepth: 0
    functionLinenumber: 1532
    functionLinenumberEnd: 1549
    functionName: Peers::ctx_p2p_remove_group
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp
    functionUses: 1
    functionsReached:
    - snprintf
    - ctrlRequest
    - QMessageBox::exec
    - QMessageBox::setIcon
    - QMessageBox::setText
    - data
    linkageType: ''
    returnType: void
    signature: void Peers::ctx_p2p_remove_group()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ctrlRequest
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1557,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1559
      start: 1552
    functionDepth: 0
    functionLinenumber: 1552
    functionLinenumberEnd: 1559
    functionName: Peers::closeEvent
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp
    functionUses: 0
    functionsReached:
    - ctrlRequest
    linkageType: ''
    returnType: void
    signature: void Peers::closeEvent(QCloseEvent *)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: offchannel_send_action_done
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1564,1
    - Dst: close
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1566
      start: 1562
    functionDepth: 2
    functionLinenumber: 1562
    functionLinenumberEnd: 1566
    functionName: Peers::done
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp
    functionUses: 0
    functionsReached:
    - close
    - offchannel_send_action_done
    linkageType: ''
    returnType: void
    signature: void Peers::done(int r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rowCount
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1571,1
    - Dst: match
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1574,1
    - Dst: index
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1574,1
    - Dst: QModelIndexList::size
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1576,1
    - Dst: itemFromIndex
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1577,1
    - Dst: QStandardItem*::data
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1580,1
    - Dst: removeRow
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1583,1
    - Dst: row
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1583,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - uuid
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1585
      start: 1569
    functionDepth: 0
    functionLinenumber: 1569
    functionLinenumberEnd: 1585
    functionName: Peers::remove_enrollee_uuid
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp
    functionUses: 1
    functionsReached:
    - row
    - match
    - removeRow
    - index
    - rowCount
    - QStandardItem*::data
    - itemFromIndex
    - QModelIndexList::size
    linkageType: ''
    returnType: void
    signature: void Peers::remove_enrollee_uuid(QString uuid)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: QMessageBox::setStandardButtons
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1594,1
    - Dst: QMessageBox::setDefaultButton
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1595,1
    - Dst: QMessageBox::setEscapeButton
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1596,1
    - Dst: QMessageBox::setWindowTitle
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1597,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1597,1
    - Dst: data
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1599,1
    - Dst: Peers::ItemType
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1600,1
    - Dst: QMessageBox::setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1602,1
    - Dst: QString
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1602,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1602,1
    - Dst: text
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1602,1
    - Dst: data
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1607,1
    - Dst: QVariant::isValid
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1608,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1609,1
    - Dst: QVariant::toString
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1609,1
    - Dst: QString
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1609,1
    - Dst: data
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1611,1
    - Dst: QVariant::isValid
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1612,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1613,1
    - Dst: QVariant::toString
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1613,1
    - Dst: QString
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1613,1
    - Dst: data
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1615,1
    - Dst: QVariant::isValid
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1616,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1617,1
    - Dst: QVariant::toString
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1617,1
    - Dst: QString
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1618,1
    - Dst: data
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1620,1
    - Dst: QVariant::isValid
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1621,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1622,1
    - Dst: QVariant::toString
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1622,1
    - Dst: QString
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1622,1
    - Dst: data
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1624,1
    - Dst: QVariant::isValid
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1625,1
    - Dst: QVariant::toInt
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1626,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1627,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1629,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1631,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1633,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1635,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1637,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1639,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1641,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1643,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1645,1
    - Dst: data
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1649,1
    - Dst: QVariant::isValid
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1650,1
    - Dst: QVariant::toInt
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1652,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1657,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1660,1
    - Dst: data
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1665,1
    - Dst: QVariant::isValid
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1666,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1667,1
    - Dst: QVariant::toString
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1667,1
    - Dst: data
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1670,1
    - Dst: QVariant::isValid
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1671,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1672,1
    - Dst: QVariant::toString
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1672,1
    - Dst: QVariant::toInt
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1673,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1675,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1678,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1681,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1684,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1687,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1690,1
    - Dst: QMessageBox::setInformativeText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1696,1
    - Dst: data
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1698,1
    - Dst: QVariant::isValid
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1699,1
    - Dst: QMessageBox::setDetailedText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1700,1
    - Dst: QVariant::toString
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1700,1
    - Dst: QMessageBox::exec
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1702,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 90
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1703
      start: 1588
    functionDepth: 1
    functionLinenumber: 1588
    functionLinenumberEnd: 1703
    functionName: Peers::properties
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp
    functionUses: 1
    functionsReached:
    - Peers::ItemType
    - QMessageBox::setEscapeButton
    - QMessageBox::setWindowTitle
    - QMessageBox::exec
    - QString
    - QMessageBox::setInformativeText
    - QMessageBox::setDefaultButton
    - QVariant::toString
    - QMessageBox::setText
    - QVariant::isValid
    - QMessageBox::setDetailedText
    - data
    - QMessageBox::setStandardButtons
    - tr
    - text
    - QVariant::toInt
    linkageType: ''
    returnType: void
    signature: void Peers::properties()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1715,1
    - Dst: snprintf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1717,1
    - Dst: data
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1718,1
    - Dst: snprintf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1722,1
    - Dst: data
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1723,1
    - Dst: snprintf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1726,1
    - Dst: ctrlRequest
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1729,1
    - Dst: QMessageBox::setIcon
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1731,1
    - Dst: QMessageBox::setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1732,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1732,1
    - Dst: QMessageBox::exec
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1733,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1735
      start: 1706
    functionDepth: 0
    functionLinenumber: 1706
    functionLinenumberEnd: 1735
    functionName: Peers::connect_pbc
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp
    functionUses: 1
    functionsReached:
    - snprintf
    - ctrlRequest
    - QMessageBox::exec
    - QMessageBox::setIcon
    - QMessageBox::setText
    - data
    - tr
    linkageType: ''
    returnType: void
    signature: void Peers::connect_pbc()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1743,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1745,1
    - Dst: StringQuery::setWindowTitle
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1746,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1746,1
    - Dst: text
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1746,1
    - Dst: StringQuery::exec
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1747,1
    - Dst: snprintf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1754,1
    - Dst: QString::toLocal8Bit
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1755,1
    - Dst: StringQuery::get_string
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1756,1
    - Dst: ctrlRequest
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1758,1
    - Dst: QMessageBox::setIcon
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1760,1
    - Dst: QMessageBox::setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1761,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1761,1
    - Dst: QMessageBox::exec
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1762,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1764
      start: 1738
    functionDepth: 1
    functionLinenumber: 1738
    functionLinenumberEnd: 1764
    functionName: Peers::learn_ap_config
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp
    functionUses: 1
    functionsReached:
    - snprintf
    - QString::toLocal8Bit
    - ctrlRequest
    - QMessageBox::exec
    - StringQuery::get_string
    - QMessageBox::setIcon
    - StringQuery::setWindowTitle
    - QMessageBox::setText
    - StringQuery::exec
    - data
    - tr
    - text
    linkageType: ''
    returnType: void
    signature: void Peers::learn_ap_config()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rowCount
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1771,1
    - Dst: match
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1776,1
    - Dst: index
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1776,1
    - Dst: QModelIndexList::size
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1778,1
    - Dst: match
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1779,1
    - Dst: index
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1779,1
    - Dst: QModelIndexList::size
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1781,1
    - Dst: removeRow
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1785,1
    - Dst: row
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1785,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1787
      start: 1767
    functionDepth: 0
    functionLinenumber: 1767
    functionLinenumberEnd: 1787
    functionName: Peers::ctx_hide_ap
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp
    functionUses: 1
    functionsReached:
    - row
    - removeRow
    - match
    - index
    - rowCount
    - QModelIndexList::size
    linkageType: ''
    returnType: void
    signature: void Peers::ctx_hide_ap()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Peers::add_scan_results
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1794
      start: 1790
    functionDepth: 4
    functionLinenumber: 1790
    functionLinenumberEnd: 1794
    functionName: Peers::ctx_show_ap
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp
    functionUses: 1
    functionsReached:
    - Peers::add_scan_results
    linkageType: ''
    returnType: void
    signature: void Peers::ctx_show_ap()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ctrlRequest
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1803,1
    - Dst: memcmp
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1804,1
    - Dst: QMessageBox::setIcon
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1806,1
    - Dst: QMessageBox::setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1807,1
    - Dst: QMessageBox::exec
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1808,1
    - Dst: wpas_dbus_new_from_signal_information
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1811,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1811,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1812,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1815
      start: 1797
    functionDepth: 1
    functionLinenumber: 1797
    functionLinenumberEnd: 1815
    functionName: Peers::ctx_p2p_show_passphrase
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp
    functionUses: 1
    functionsReached:
    - wpas_dbus_new_from_signal_information
    - tr
    - ctrlRequest
    - QMessageBox::exec
    - QMessageBox::setIcon
    - QMessageBox::setText
    - memcmp
    linkageType: ''
    returnType: void
    signature: void Peers::ctx_p2p_show_passphrase()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1827,1
    - Dst: data
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1828,1
    - Dst: ctrlRequest
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1829,1
    - Dst: memcmp
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1830,1
    - Dst: QMessageBox::setIcon
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1832,1
    - Dst: QMessageBox::setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1833,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1833,1
    - Dst: QMessageBox::exec
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1834,1
    - Dst: data
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1835,1
    - Dst: removeRow
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1837,1
    - Dst: row
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1837,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1838
      start: 1818
    functionDepth: 0
    functionLinenumber: 1818
    functionLinenumberEnd: 1838
    functionName: Peers::ctx_p2p_start_persistent
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp
    functionUses: 1
    functionsReached:
    - tr
    - snprintf
    - row
    - ctrlRequest
    - removeRow
    - QMessageBox::exec
    - QMessageBox::setIcon
    - QMessageBox::setText
    - data
    - memcmp
    linkageType: ''
    returnType: void
    signature: void Peers::ctx_p2p_start_persistent()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1850,1
    - Dst: data
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1851,1
    - Dst: ctrlRequest
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1852,1
    - Dst: memcmp
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1853,1
    - Dst: QMessageBox::setIcon
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1855,1
    - Dst: QMessageBox::setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1856,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1856,1
    - Dst: QMessageBox::exec
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1858,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1860
      start: 1841
    functionDepth: 0
    functionLinenumber: 1841
    functionLinenumberEnd: 1860
    functionName: Peers::ctx_p2p_invite
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp
    functionUses: 1
    functionsReached:
    - tr
    - snprintf
    - ctrlRequest
    - QMessageBox::exec
    - QMessageBox::setIcon
    - QMessageBox::setText
    - data
    - memcmp
    linkageType: ''
    returnType: void
    signature: void Peers::ctx_p2p_invite()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: removeRow
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1867,1
    - Dst: row
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1867,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1868
      start: 1863
    functionDepth: 0
    functionLinenumber: 1863
    functionLinenumberEnd: 1868
    functionName: Peers::ctx_p2p_delete
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp
    functionUses: 1
    functionsReached:
    - row
    - removeRow
    linkageType: ''
    returnType: void
    signature: void Peers::ctx_p2p_delete()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rowCount
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1873,1
    - Dst: match
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1876,1
    - Dst: index
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1876,1
    - Dst: QModelIndexList::size
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1878,1
    - Dst: itemFromIndex
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1879,1
    - Dst: QStandardItem*::data
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1880,1
    - Dst: QStandardItem*::setBackground
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp:1883,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1885
      start: 1871
    functionDepth: 0
    functionLinenumber: 1871
    functionLinenumberEnd: 1885
    functionName: Peers::enable_persistent
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp
    functionUses: 1
    functionsReached:
    - match
    - index
    - rowCount
    - QStandardItem*::data
    - itemFromIndex
    - QModelIndexList::size
    - QStandardItem*::setBackground
    linkageType: ''
    returnType: void
    signature: void Peers::enable_persistent(int id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - tree
    argTypes:
    - QTreeWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 17
    functionName: ScanResultsItem::ScanResultsItem
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/scanresultsitem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ScanResultsItem(QTreeWidget *tree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EventListModel
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/eventhistory.h:21,1
    - Dst: QAbstractTableModel
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/eventhistory.h:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 22
    functionName: EventListModel::public
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/eventhistory.h
    functionUses: 0
    functionsReached:
    - EventListModel
    - QAbstractTableModel
    linkageType: ''
    returnType: Q_OBJECT
    signature: Q_OBJECT public
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: treeWidget
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/scanresultsitem.cpp:13,1
    - Dst: text
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/scanresultsitem.cpp:15,1
    - Dst: QTreeWidgetItem::text
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/scanresultsitem.cpp:15,1
    - Dst: text
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/scanresultsitem.cpp:17,1
    - Dst: QTreeWidgetItem::text
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/scanresultsitem.cpp:17,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - other
    argTypes:
    - QTreeWidgetItem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 18
    functionName: ScanResultsItem::operator< (const QTreeWidgetItem &other) const
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/scanresultsitem.cpp
    functionUses: 0
    functionsReached:
    - treeWidget
    - QTreeWidgetItem::text
    - text
    linkageType: ''
    returnType: bool
    signature: bool ScanResultsItem::operator< (const QTreeWidgetItem &other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupUi
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/scanresults.cpp:21,1
    - Dst: connect
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/scanresults.cpp:23,1
    - Dst: SIGNAL
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/scanresults.cpp:23,1
    - Dst: clicked
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/scanresults.cpp:23,1
    - Dst: SLOT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/scanresults.cpp:23,1
    - Dst: close
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/scanresults.cpp:23,1
    - Dst: connect
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/scanresults.cpp:24,1
    - Dst: SIGNAL
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/scanresults.cpp:24,1
    - Dst: clicked
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/scanresults.cpp:24,1
    - Dst: SLOT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/scanresults.cpp:24,1
    - Dst: ScanResults::scanRequest
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/scanresults.cpp:24,1
    - Dst: setItemsExpandable
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/scanresults.cpp:30,1
    - Dst: setRootIsDecorated
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/scanresults.cpp:31,1
    - Dst: setItemDelegate
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/scanresults.cpp:32,1
    - Dst: SignalBar::SignalBar
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/scanresults.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 33
    functionName: ScanResults::ScanResults
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/scanresults.cpp
    functionUses: 0
    functionsReached:
    - SignalBar::SignalBar
    - setItemsExpandable
    - connect
    - setRootIsDecorated
    - SLOT
    - setItemDelegate
    - setupUi
    - ScanResults::scanRequest
    - close
    - clicked
    - SIGNAL
    linkageType: ''
    returnType: void
    signature: void ScanResults::ScanResults(QWidget *parent, const char *, bool,
      Qt::WindowFlags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: ScanResults::~ScanResults()
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/scanresults.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ScanResults::~ScanResults()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: retranslateUi
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/scanresults.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: ScanResults::languageChange
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/scanresults.cpp
    functionUses: 0
    functionsReached:
    - retranslateUi
    linkageType: ''
    returnType: void
    signature: void ScanResults::languageChange()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ScanResults::updateResults
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/scanresults.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - _wpagui
    argTypes:
    - WpaGui*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: ScanResults::setWpaGui
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/scanresults.cpp
    functionUses: 0
    functionsReached:
    - ScanResults::updateResults
    linkageType: ''
    returnType: void
    signature: void ScanResults::setWpaGui(WpaGui *_wpagui)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/scanresults.cpp:61,1
    - Dst: snprintf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/scanresults.cpp:65,1
    - Dst: ctrlRequest
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/scanresults.cpp:70,1
    - Dst: QString::isEmpty
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/scanresults.cpp:75,1
    - Dst: QString::startsWith
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/scanresults.cpp:75,1
    - Dst: QString::split
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/scanresults.cpp:80,1
    - Dst: QRegularExpression
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/scanresults.cpp:80,1
    - Dst: QStringList::begin
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/scanresults.cpp:81,1
    - Dst: QStringList::end
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/scanresults.cpp:82,1
    - Dst: indexOf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/scanresults.cpp:83,1
    - Dst: startsWith
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/scanresults.cpp:87,1
    - Dst: mid
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/scanresults.cpp:88,1
    - Dst: startsWith
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/scanresults.cpp:89,1
    - Dst: mid
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/scanresults.cpp:90,1
    - Dst: startsWith
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/scanresults.cpp:91,1
    - Dst: mid
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/scanresults.cpp:92,1
    - Dst: startsWith
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/scanresults.cpp:93,1
    - Dst: mid
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/scanresults.cpp:94,1
    - Dst: startsWith
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/scanresults.cpp:95,1
    - Dst: mid
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/scanresults.cpp:96,1
    - Dst: ScanResultsItem::ScanResultsItem
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/scanresults.cpp:99,1
    - Dst: ScanResultsItem*::setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/scanresults.cpp:101,1
    - Dst: ScanResultsItem*::setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/scanresults.cpp:102,1
    - Dst: ScanResultsItem*::setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/scanresults.cpp:103,1
    - Dst: ScanResultsItem*::setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/scanresults.cpp:104,1
    - Dst: ScanResultsItem*::setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/scanresults.cpp:105,1
    - Dst: isEmpty
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/scanresults.cpp:108,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 111
    functionName: ScanResults::updateResults
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/scanresults.cpp
    functionUses: 1
    functionsReached:
    - QString::startsWith
    - snprintf
    - startsWith
    - ctrlRequest
    - QRegularExpression
    - clear
    - QStringList::begin
    - mid
    - ScanResultsItem::ScanResultsItem
    - ScanResultsItem*::setText
    - isEmpty
    - QString::isEmpty
    - QStringList::end
    - QString::split
    - indexOf
    linkageType: ''
    returnType: void
    signature: void ScanResults::updateResults()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ctrlRequest
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/scanresults.cpp:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 123
    functionName: ScanResults::scanRequest
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/scanresults.cpp
    functionUses: 1
    functionsReached:
    - ctrlRequest
    linkageType: ''
    returnType: void
    signature: void ScanResults::scanRequest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ScanResults::updateResults
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/scanresults.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: ScanResults::getResults
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/scanresults.cpp
    functionUses: 0
    functionsReached:
    - ScanResults::updateResults
    linkageType: ''
    returnType: void
    signature: void ScanResults::getResults()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NetworkConfig::NetworkConfig
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/scanresults.cpp:134,1
    - Dst: NetworkConfig*::setWpaGui
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/scanresults.cpp:137,1
    - Dst: NetworkConfig*::paramsFromScanResults
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/scanresults.cpp:138,1
    - Dst: NetworkConfig*::show
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/scanresults.cpp:139,1
    - Dst: NetworkConfig*::exec
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/scanresults.cpp:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - sel
    argTypes:
    - QTreeWidgetItem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 141
    functionName: ScanResults::bssSelected
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/scanresults.cpp
    functionUses: 0
    functionsReached:
    - NetworkConfig*::setWpaGui
    - NetworkConfig*::show
    - NetworkConfig::NetworkConfig
    - NetworkConfig*::paramsFromScanResults
    - NetworkConfig*::exec
    linkageType: ''
    returnType: void
    signature: void ScanResults::bssSelected(QTreeWidgetItem *sel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setWindowTitle
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:32,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:32,1
    - Dst: resize
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:33,1
    - Dst: QVBoxLayout::QVBoxLayout
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:34,1
    - Dst: QTreeWidget::QTreeWidget
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:36,1
    - Dst: setEditTriggers
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:37,1
    - Dst: setUniformRowHeights
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:38,1
    - Dst: setSortingEnabled
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:39,1
    - Dst: setColumnCount
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:40,1
    - Dst: headerItem
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:41,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:41,1
    - Dst: headerItem
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:42,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:42,1
    - Dst: headerItem
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:43,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:43,1
    - Dst: setItemsExpandable
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:44,1
    - Dst: setRootIsDecorated
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:45,1
    - Dst: addWidget
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:46,1
    - Dst: AddInterface::addInterfaces
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 2
    argNames:
    - _wpagui
    - parent
    argTypes:
    - WpaGui*
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 53
    functionName: AddInterface::AddInterface
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp
    functionUses: 0
    functionsReached:
    - setUniformRowHeights
    - addWidget
    - setItemsExpandable
    - AddInterface::addInterfaces
    - QVBoxLayout::QVBoxLayout
    - setWindowTitle
    - setColumnCount
    - setRootIsDecorated
    - setEditTriggers
    - setSortingEnabled
    - headerItem
    - QTreeWidget::QTreeWidget
    - tr
    - resize
    linkageType: ''
    returnType: void
    signature: void AddInterface::AddInterface(WpaGui *_wpagui, QWidget *parent)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_open
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:64,1
    - Dst: wpa_ctrl_request
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:69,1
    - Dst: wpa_ctrl_close
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:71,1
    - Dst: wpa_ctrl_close
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:76,1
    - Dst: QString::split
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:79,1
    - Dst: QRegExp
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:79,1
    - Dst: QStringList::begin
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:80,1
    - Dst: QStringList::end
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:81,1
    - Dst: split
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:82,1
    - Dst: QChar
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:82,1
    - Dst: QStringList::size
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:83,1
    - Dst: QTreeWidgetItem::QTreeWidgetItem
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:85,1
    - Dst: QTreeWidgetItem*::setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:89,1
    - Dst: QTreeWidgetItem*::setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:90,1
    - Dst: QTreeWidgetItem*::setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:91,1
    - Dst: resizeColumnToContents
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:94,1
    - Dst: resizeColumnToContents
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:95,1
    - Dst: resizeColumnToContents
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:96,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 98
    functionName: AddInterface::addInterfaces
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp
    functionUses: 1
    functionsReached:
    - QStringList::begin
    - wpa_ctrl_close
    - wpa_ctrl_request
    - resizeColumnToContents
    - wpa_ctrl_open
    - QRegExp
    - QString::split
    - QStringList::end
    - QTreeWidgetItem::QTreeWidgetItem
    - QChar
    - split
    - QTreeWidgetItem*::setText
    - QStringList::size
    linkageType: ''
    returnType: void
    signature: void AddInterface::addInterfaces()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: RegOpenKeyEx
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:110,1
    - Dst: WPA_KEY_PREFIX TEXT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:110,1
    - Dst: RegEnumKeyEx
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:123,1
    - Dst: QString::toInt
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:141,1
    - Dst: wsprintf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:149,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:151,1
    - Dst: RegCreateKeyEx
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:153,1
    - Dst: RegCloseKey
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:155,1
    - Dst: RegSetValueEx
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:160,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:160,1
    - Dst: QString::unicode
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:161,1
    - Dst: QString::length
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:162,1
    - Dst: RegSetValueEx
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:165,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:165,1
    - Dst: QString::toLocal8Bit
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:166,1
    - Dst: QString::length
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:166,1
    - Dst: RegSetValueEx
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:168,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:168,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:169,1
    - Dst: RegSetValueEx
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:170,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:170,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:171,1
    - Dst: RegSetValueEx
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:173,1
    - Dst: TEXT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:173,1
    - Dst: RegCloseKey
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:176,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 1
    argNames:
    - ifname
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 178
    functionName: AddInterface::addRegistryInterface
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp
    functionUses: 0
    functionsReached:
    - RegCloseKey
    - RegSetValueEx
    - QString::toInt
    - QString::length
    - QString::toLocal8Bit
    - RegEnumKeyEx
    - RegOpenKeyEx
    - TEXT
    - QString::unicode
    - RegCreateKeyEx
    - os_snprintf
    - wsprintf
    - WPA_KEY_PREFIX TEXT
    linkageType: ''
    returnType: bool
    signature: bool AddInterface::addRegistryInterface(const QString &ifname)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:197,1
    - Dst: QTreeWidgetItem*::text
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:199,1
    - Dst: QTreeWidgetItem*::text
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:201,1
    - Dst: wpa_ctrl_open
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:205,1
    - Dst: wpa_ctrl_request
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:210,1
    - Dst: strlen
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:210,1
    - Dst: wpa_ctrl_close
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:211,1
    - Dst: QMessageBox::warning
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:214,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:215,1
    - Dst: QMessageBox::warning
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:222,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:223,1
    - Dst: AddInterface::addRegistryInterface
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:230,1
    - Dst: QTreeWidgetItem*::text
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:230,1
    - Dst: wpas_dbus_new_from_signal_information
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:231,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:232,1
    - Dst: selectAdapter
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:237,1
    - Dst: QTreeWidgetItem*::text
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:237,1
    - Dst: close
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp:238,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - sel
    argTypes:
    - QTreeWidgetItem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 239
    functionName: AddInterface::interfaceSelected
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp
    functionUses: 0
    functionsReached:
    - QTreeWidgetItem*::text
    - wpas_dbus_new_from_signal_information
    - snprintf
    - selectAdapter
    - QMessageBox::warning
    - wpa_ctrl_close
    - wpa_ctrl_request
    - wpa_ctrl_open
    - close
    - tr
    - strlen
    - AddInterface::addRegistryInterface
    linkageType: ''
    returnType: void
    signature: void AddInterface::interfaceSelected(QTreeWidgetItem *sel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: count
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/eventhistory.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 18
    functionName: EventListModel::rowCount
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/eventhistory.cpp
    functionUses: 0
    functionsReached:
    - count
    linkageType: ''
    returnType: int
    signature: int EventListModel::rowCount(const QModelIndex &) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: EventListModel::columnCount
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/eventhistory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int EventListModel::columnCount(const QModelIndex &) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: QModelIndex::isValid
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/eventhistory.cpp:29,1
    - Dst: QVariant
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/eventhistory.cpp:30,1
    - Dst: QModelIndex::column
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/eventhistory.cpp:33,1
    - Dst: QModelIndex::row
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/eventhistory.cpp:34,1
    - Dst: size
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/eventhistory.cpp:34,1
    - Dst: QVariant
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/eventhistory.cpp:35,1
    - Dst: at
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/eventhistory.cpp:36,1
    - Dst: QModelIndex::row
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/eventhistory.cpp:36,1
    - Dst: QModelIndex::row
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/eventhistory.cpp:38,1
    - Dst: size
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/eventhistory.cpp:38,1
    - Dst: QVariant
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/eventhistory.cpp:39,1
    - Dst: at
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/eventhistory.cpp:40,1
    - Dst: QModelIndex::row
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/eventhistory.cpp:40,1
    - Dst: QVariant
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/eventhistory.cpp:43,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - index
    - role
    argTypes:
    - QModelIndex
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 44
    functionName: EventListModel::data
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/eventhistory.cpp
    functionUses: 0
    functionsReached:
    - QModelIndex::row
    - QModelIndex::column
    - QVariant
    - QModelIndex::isValid
    - size
    - at
    linkageType: ''
    returnType: QVariant
    signature: QVariant EventListModel::data(const QModelIndex &index, int role) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: QVariant
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/eventhistory.cpp:51,1
    - Dst: QString
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/eventhistory.cpp:56,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/eventhistory.cpp:56,1
    - Dst: QString
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/eventhistory.cpp:58,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/eventhistory.cpp:58,1
    - Dst: QVariant
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/eventhistory.cpp:60,1
    - Dst: QString
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/eventhistory.cpp:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - section
    - orientation
    - role
    argTypes:
    - int
    - Qt::Orientation
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 64
    functionName: EventListModel::headerData
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/eventhistory.cpp
    functionUses: 0
    functionsReached:
    - QString
    - QVariant
    - tr
    linkageType: ''
    returnType: QVariant
    signature: "QVariant EventListModel::headerData(int section, Qt::Orientation orientation,\n\t\t\t\t
      \   int role) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: beginInsertRows
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/eventhistory.cpp:69,1
    - Dst: QModelIndex
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/eventhistory.cpp:69,1
    - Dst: size
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/eventhistory.cpp:69,1
    - Dst: size
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/eventhistory.cpp:69,1
    - Dst: endInsertRows
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/eventhistory.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - time
    - msg
    argTypes:
    - QString
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 73
    functionName: EventListModel::addEvent
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/eventhistory.cpp
    functionUses: 0
    functionsReached:
    - endInsertRows
    - size
    - beginInsertRows
    - QModelIndex
    linkageType: ''
    returnType: void
    signature: void EventListModel::addEvent(QString time, QString msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupUi
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/eventhistory.cpp:79,1
    - Dst: connect
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/eventhistory.cpp:81,1
    - Dst: SIGNAL
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/eventhistory.cpp:81,1
    - Dst: clicked
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/eventhistory.cpp:81,1
    - Dst: SLOT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/eventhistory.cpp:81,1
    - Dst: close
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/eventhistory.cpp:81,1
    - Dst: setItemsExpandable
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/eventhistory.cpp:83,1
    - Dst: setRootIsDecorated
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/eventhistory.cpp:84,1
    - Dst: EventListModel::EventListModel
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/eventhistory.cpp:85,1
    - Dst: setModel
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/eventhistory.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 87
    functionName: EventHistory::EventHistory
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/eventhistory.cpp
    functionUses: 0
    functionsReached:
    - setItemsExpandable
    - EventListModel::EventListModel
    - connect
    - setModel
    - setRootIsDecorated
    - SLOT
    - setupUi
    - close
    - clicked
    - SIGNAL
    linkageType: ''
    returnType: void
    signature: void EventHistory::EventHistory(QWidget *parent, const char *, bool,
      Qt::WindowFlags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: destroy
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/eventhistory.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: EventHistory::~EventHistory()
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/eventhistory.cpp
    functionUses: 0
    functionsReached:
    - destroy
    linkageType: ''
    returnType: void
    signature: void EventHistory::~EventHistory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: retranslateUi
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/eventhistory.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: EventHistory::languageChange
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/eventhistory.cpp
    functionUses: 0
    functionsReached:
    - retranslateUi
    linkageType: ''
    returnType: void
    signature: void EventHistory::languageChange()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WpaMsgList::begin
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/eventhistory.cpp:106,1
    - Dst: WpaMsgList::end
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/eventhistory.cpp:106,1
    - Dst: EventHistory::addEvent
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/eventhistory.cpp:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - msgs
    argTypes:
    - WpaMsgList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 108
    functionName: EventHistory::addEvents
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/eventhistory.cpp
    functionUses: 0
    functionsReached:
    - WpaMsgList::end
    - EventHistory::addEvent
    - WpaMsgList::begin
    linkageType: ''
    returnType: void
    signature: void EventHistory::addEvents(WpaMsgList msgs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: verticalScrollBar
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/eventhistory.cpp:115,1
    - Dst: verticalScrollBar
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/eventhistory.cpp:116,1
    - Dst: EventHistory::addEvent
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/eventhistory.cpp:119,1
    - Dst: WpaMsg::getTimestamp
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/eventhistory.cpp:119,1
    - Dst: WpaMsg::getMsg
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/eventhistory.cpp:120,1
    - Dst: scrollToBottom
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/eventhistory.cpp:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - msg
    argTypes:
    - WpaMsg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 124
    functionName: EventHistory::addEvent
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/eventhistory.cpp
    functionUses: 2
    functionsReached:
    - WpaMsg::getTimestamp
    - WpaMsg::getMsg
    - EventHistory::addEvent
    - scrollToBottom
    - verticalScrollBar
    linkageType: ''
    returnType: void
    signature: void EventHistory::addEvent(WpaMsg msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 18
    functionName: SignalBar::SignalBar
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/signalbar.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SignalBar::SignalBar(QObject *parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: SignalBar::~SignalBar()
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/signalbar.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SignalBar::~SignalBar()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QModelIndex::column
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/signalbar.cpp:33,1
    - Dst: SignalBar::paint
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/signalbar.cpp:34,1
    - Dst: QModelIndex::data
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/signalbar.cpp:38,1
    - Dst: QModelIndex::data
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/signalbar.cpp:39,1
    - Dst: QModelIndex::data
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/signalbar.cpp:41,1
    - Dst: wpas_dbus_getter_p2p_peer_modelnumber
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/signalbar.cpp:52,1
    - Dst: QApplication::style
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/signalbar.cpp:56,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - painter
    - option
    - index
    argTypes:
    - QPainter*
    - QStyleOptionViewItem
    - QModelIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 58
    functionName: SignalBar::paint
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/signalbar.cpp
    functionUses: 1
    functionsReached:
    - QApplication::style
    - QModelIndex::column
    - QModelIndex::data
    - wpas_dbus_getter_p2p_peer_modelnumber
    - SignalBar::paint
    linkageType: ''
    returnType: void
    signature: "void SignalBar::paint(QPainter *painter,\n\t\t      const QStyleOptionViewItem
      &option,\n\t\t      const QModelIndex &index) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - M
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: debug
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: debug(M, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - M
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: debug
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: debug(M, ...)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: setupUi
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:40,1
    - Dst: WpaGui::setWindowFlags
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:41,1
    - Dst: QAction::QAction
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:44,1
    - Dst: setObjectName
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:45,1
    - Dst: setIconText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:46,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:46,1
    - Dst: insertAction
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:47,1
    - Dst: QAction::QAction
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:49,1
    - Dst: setObjectName
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:50,1
    - Dst: setIconText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:51,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:51,1
    - Dst: insertAction
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:52,1
    - Dst: connect
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:54,1
    - Dst: SIGNAL
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:54,1
    - Dst: triggered
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:54,1
    - Dst: SLOT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:55,1
    - Dst: WpaGui::startService
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:55,1
    - Dst: connect
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:56,1
    - Dst: SIGNAL
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:56,1
    - Dst: triggered
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:56,1
    - Dst: SLOT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:57,1
    - Dst: WpaGui::stopService
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:57,1
    - Dst: QAction::QAction
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:59,1
    - Dst: setIconText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:60,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:60,1
    - Dst: insertAction
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:61,1
    - Dst: connect
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:63,1
    - Dst: SIGNAL
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:63,1
    - Dst: triggered
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:63,1
    - Dst: SLOT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:64,1
    - Dst: WpaGui::addInterface
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:64,1
    - Dst: statusBar
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:67,1
    - Dst: setEnabled
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:73,1
    - Dst: setTabEnabled
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:74,1
    - Dst: indexOf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:74,1
    - Dst: connect
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:76,1
    - Dst: SIGNAL
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:76,1
    - Dst: triggered
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:76,1
    - Dst: SLOT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:77,1
    - Dst: WpaGui::eventHistory
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:77,1
    - Dst: connect
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:78,1
    - Dst: SIGNAL
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:78,1
    - Dst: triggered
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:78,1
    - Dst: SLOT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:79,1
    - Dst: WpaGui::saveConfig
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:79,1
    - Dst: connect
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:80,1
    - Dst: SIGNAL
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:80,1
    - Dst: triggered
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:80,1
    - Dst: SLOT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:80,1
    - Dst: WpaGui::wpsDialog
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:80,1
    - Dst: connect
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:81,1
    - Dst: SIGNAL
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:81,1
    - Dst: triggered
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:81,1
    - Dst: SLOT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:81,1
    - Dst: WpaGui::peersDialog
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:81,1
    - Dst: connect
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:82,1
    - Dst: SIGNAL
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:82,1
    - Dst: triggered
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:82,1
    - Dst: SLOT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:82,1
    - Dst: quit
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:82,1
    - Dst: connect
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:83,1
    - Dst: SIGNAL
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:83,1
    - Dst: triggered
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:83,1
    - Dst: SLOT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:84,1
    - Dst: WpaGui::addNetwork
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:84,1
    - Dst: connect
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:85,1
    - Dst: SIGNAL
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:85,1
    - Dst: triggered
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:85,1
    - Dst: SLOT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:86,1
    - Dst: WpaGui::editSelectedNetwork
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:86,1
    - Dst: connect
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:87,1
    - Dst: SIGNAL
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:87,1
    - Dst: triggered
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:87,1
    - Dst: SLOT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:88,1
    - Dst: WpaGui::removeSelectedNetwork
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:88,1
    - Dst: connect
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:89,1
    - Dst: SIGNAL
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:89,1
    - Dst: triggered
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:89,1
    - Dst: SLOT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:90,1
    - Dst: WpaGui::enableAllNetworks
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:90,1
    - Dst: connect
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:91,1
    - Dst: SIGNAL
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:91,1
    - Dst: triggered
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:91,1
    - Dst: SLOT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:92,1
    - Dst: WpaGui::disableAllNetworks
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:92,1
    - Dst: connect
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:93,1
    - Dst: SIGNAL
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:93,1
    - Dst: triggered
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:93,1
    - Dst: SLOT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:94,1
    - Dst: WpaGui::removeAllNetworks
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:94,1
    - Dst: connect
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:95,1
    - Dst: SIGNAL
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:95,1
    - Dst: triggered
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:95,1
    - Dst: SLOT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:95,1
    - Dst: WpaGui::helpIndex
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:95,1
    - Dst: connect
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:96,1
    - Dst: SIGNAL
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:96,1
    - Dst: triggered
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:96,1
    - Dst: SLOT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:97,1
    - Dst: WpaGui::helpContents
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:97,1
    - Dst: connect
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:98,1
    - Dst: SIGNAL
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:98,1
    - Dst: triggered
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:98,1
    - Dst: SLOT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:98,1
    - Dst: WpaGui::helpAbout
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:98,1
    - Dst: connect
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:99,1
    - Dst: SIGNAL
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:99,1
    - Dst: clicked
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:99,1
    - Dst: SLOT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:99,1
    - Dst: WpaGui::disconnect
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:99,1
    - Dst: connect
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:100,1
    - Dst: SIGNAL
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:100,1
    - Dst: clicked
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:100,1
    - Dst: SLOT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:100,1
    - Dst: WpaGui::scan
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:100,1
    - Dst: connect
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:101,1
    - Dst: SIGNAL
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:101,1
    - Dst: clicked
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:101,1
    - Dst: SLOT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:101,1
    - Dst: WpaGui::connectB
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:101,1
    - Dst: connect
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:106,1
    - Dst: SIGNAL
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:106,1
    - Dst: clicked
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:106,1
    - Dst: SLOT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:106,1
    - Dst: WpaGui::addNetwork
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:106,1
    - Dst: connect
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:107,1
    - Dst: SIGNAL
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:107,1
    - Dst: clicked
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:107,1
    - Dst: SLOT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:108,1
    - Dst: WpaGui::editListedNetwork
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:108,1
    - Dst: connect
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:109,1
    - Dst: SIGNAL
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:109,1
    - Dst: clicked
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:109,1
    - Dst: SLOT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:110,1
    - Dst: WpaGui::removeListedNetwork
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:110,1
    - Dst: connect
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:111,1
    - Dst: SIGNAL
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:111,1
    - Dst: itemSelectionChanged
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:111,1
    - Dst: SLOT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:112,1
    - Dst: WpaGui::updateNetworkDisabledStatus
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:112,1
    - Dst: connect
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:117,1
    - Dst: SIGNAL
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:117,1
    - Dst: clicked
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:117,1
    - Dst: SLOT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:117,1
    - Dst: WpaGui::scan
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:117,1
    - Dst: connect
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:122,1
    - Dst: SIGNAL
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:122,1
    - Dst: clicked
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:122,1
    - Dst: SLOT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:122,1
    - Dst: WpaGui::wpsPbc
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:122,1
    - Dst: connect
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:123,1
    - Dst: SIGNAL
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:123,1
    - Dst: clicked
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:123,1
    - Dst: SLOT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:123,1
    - Dst: WpaGui::wpsGeneratePin
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:123,1
    - Dst: connect
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:126,1
    - Dst: SIGNAL
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:126,1
    - Dst: clicked
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:126,1
    - Dst: SLOT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:126,1
    - Dst: WpaGui::wpsApPin
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:126,1
    - Dst: strdup
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:140,1
    - Dst: WpaGui::parse_argv
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:143,1
    - Dst: isSessionRestored
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:146,1
    - Dst: QSettings::beginGroup
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:148,1
    - Dst: sessionId
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:149,1
    - Dst: QSettings::value
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:149,1
    - Dst: QSettings::value
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:151,1
    - Dst: QSettings::endGroup
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:152,1
    - Dst: QSystemTrayIcon::isSystemTrayAvailable
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:156,1
    - Dst: WpaGui::createTrayIcon
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:157,1
    - Dst: show
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:159,1
    - Dst: setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:162,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:162,1
    - Dst: QTimer::QTimer
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:163,1
    - Dst: connect
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:164,1
    - Dst: SIGNAL
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:164,1
    - Dst: timeout
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:164,1
    - Dst: SLOT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:164,1
    - Dst: WpaGui::ping
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:164,1
    - Dst: setSingleShot
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:165,1
    - Dst: start
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:166,1
    - Dst: QTimer::QTimer
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:168,1
    - Dst: setInterval
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:169,1
    - Dst: connect
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:170,1
    - Dst: SIGNAL
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:170,1
    - Dst: timeout
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:170,1
    - Dst: SLOT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:170,1
    - Dst: WpaGui::signalMeterUpdate
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:170,1
    - Dst: WpaGui::openCtrlConnection
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:172,1
    - Dst: debug
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:173,1
    - Dst: WpaGui::updateStatus
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:177,1
    - Dst: WpaGui::updateNetworks
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:179,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 91
    argCount: 2
    argNames:
    - _app
    - parent
    argTypes:
    - QApplication*
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 180
    functionName: WpaGui::WpaGui
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp
    functionUses: 0
    functionsReached:
    - WpaGui::removeListedNetwork
    - WpaGui::removeAllNetworks
    - WpaGui::createTrayIcon
    - WpaGui::saveConfig
    - WpaGui::editSelectedNetwork
    - isSessionRestored
    - WpaGui::updateNetworkDisabledStatus
    - WpaGui::wpsDialog
    - WpaGui::enableAllNetworks
    - WpaGui::helpIndex
    - show
    - WpaGui::scan
    - tr
    - setInterval
    - WpaGui::editListedNetwork
    - WpaGui::disconnect
    - statusBar
    - WpaGui::helpAbout
    - timeout
    - debug
    - connect
    - setObjectName
    - QAction::QAction
    - quit
    - setEnabled
    - triggered
    - setupUi
    - insertAction
    - WpaGui::addNetwork
    - WpaGui::connectB
    - WpaGui::wpsPbc
    - WpaGui::eventHistory
    - WpaGui::ping
    - WpaGui::disableAllNetworks
    - strdup
    - WpaGui::addInterface
    - sessionId
    - start
    - QSettings::beginGroup
    - WpaGui::updateStatus
    - setTabEnabled
    - SLOT
    - indexOf
    - WpaGui::peersDialog
    - setSingleShot
    - WpaGui::wpsGeneratePin
    - WpaGui::wpsApPin
    - WpaGui::removeSelectedNetwork
    - WpaGui::setWindowFlags
    - QTimer::QTimer
    - clicked
    - WpaGui::openCtrlConnection
    - setIconText
    - WpaGui::updateNetworks
    - WpaGui::signalMeterUpdate
    - QSystemTrayIcon::isSystemTrayAvailable
    - WpaGui::helpContents
    - itemSelectionChanged
    - setText
    - QSettings::endGroup
    - WpaGui::stopService
    - WpaGui::startService
    - SIGNAL
    - QSettings::value
    - WpaGui::parse_argv
    linkageType: ''
    returnType: void
    signature: "void WpaGui::WpaGui(QApplication *_app, QWidget *parent, const char
      *,\n\t       Qt::WindowFlags)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_detach
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:188,1
    - Dst: wpa_ctrl_close
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:189,1
    - Dst: wpa_ctrl_close
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:193,1
    - Dst: close
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:198,1
    - Dst: close
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:204,1
    - Dst: close
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:210,1
    - Dst: close
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:216,1
    - Dst: close
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:222,1
    - Dst: free
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:227,1
    - Dst: free
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:230,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 232
    functionName: WpaGui::~WpaGui()
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp
    functionUses: 0
    functionsReached:
    - close
    - wpa_ctrl_close
    - free
    - wpa_ctrl_detach
    linkageType: ''
    returnType: void
    signature: void WpaGui::~WpaGui()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: retranslateUi
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 238
    functionName: WpaGui::languageChange
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp
    functionUses: 0
    functionsReached:
    - retranslateUi
    linkageType: ''
    returnType: void
    signature: void WpaGui::languageChange()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: qobject_cast<WpaGuiApp*>
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:244,1
    - Dst: getopt
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:246,1
    - Dst: free
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:251,1
    - Dst: strdup
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:252,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:255,1
    - Dst: free
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:258,1
    - Dst: strdup
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:259,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 269
    functionName: WpaGui::parse_argv
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp
    functionUses: 1
    functionsReached:
    - qobject_cast<WpaGuiApp*>
    - strdup
    - getopt
    - atoi
    - free
    linkageType: ''
    returnType: void
    signature: void WpaGui::parse_argv()
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:281,1
    - Dst: strdup
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:282,1
    - Dst: free
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:286,1
    - Dst: strdup
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:287,1
    - Dst: opendir
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:291,1
    - Dst: free
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:292,1
    - Dst: readdir
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:295,1
    - Dst: strcmp
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:306,1
    - Dst: strcmp
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:307,1
    - Dst: debug
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:309,1
    - Dst: strdup
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:311,1
    - Dst: closedir
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:314,1
    - Dst: free
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:321,1
    - Dst: wpa_ctrl_open
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:324,1
    - Dst: wpa_ctrl_request
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:327,1
    - Dst: strchr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:332,1
    - Dst: strdup
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:335,1
    - Dst: wpa_ctrl_close
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:337,1
    - Dst: WpaGui::serviceRunning
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:345,1
    - Dst: QMessageBox::warning
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:347,1
    - Dst: qAppName
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:348,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:349,1
    - Dst: WpaGui::startService
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:354,1
    - Dst: strlen
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:361,1
    - Dst: strlen
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:361,1
    - Dst: malloc
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:362,1
    - Dst: snprintf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:365,1
    - Dst: strlen
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:367,1
    - Dst: malloc
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:368,1
    - Dst: snprintf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:371,1
    - Dst: wpa_ctrl_close
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:375,1
    - Dst: wpa_ctrl_detach
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:382,1
    - Dst: wpa_ctrl_close
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:383,1
    - Dst: debug
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:387,1
    - Dst: wpa_ctrl_open
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:388,1
    - Dst: free
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:390,1
    - Dst: wpa_ctrl_open
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:393,1
    - Dst: free
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:394,1
    - Dst: wpa_ctrl_close
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:396,1
    - Dst: wpa_ctrl_attach
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:399,1
    - Dst: debug
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:400,1
    - Dst: wpa_ctrl_close
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:401,1
    - Dst: wpa_ctrl_close
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:403,1
    - Dst: wpa_ctrl_get_fd
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:409,1
    - Dst: QSocketNotifier::QSocketNotifier
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:409,1
    - Dst: clear
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:414,1
    - Dst: addItem
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:415,1
    - Dst: setCurrentIndex
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:416,1
    - Dst: wpa_ctrl_request
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:419,1
    - Dst: strchr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:424,1
    - Dst: strcmp
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:427,1
    - Dst: addItem
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:428,1
    - Dst: wpa_ctrl_request
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:437,1
    - Dst: QString::split
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:442,1
    - Dst: QChar
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:442,1
    - Dst: QStringList::contains
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:443,1
    - Dst: setEnabled
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:444,1
    - Dst: setEnabled
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:445,1
    - Dst: setTabEnabled
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:446,1
    - Dst: indexOf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:446,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 117
    argCount: 1
    argNames:
    - ifname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 450
    functionName: WpaGui::openCtrlConnection
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp
    functionUses: 1
    functionsReached:
    - closedir
    - QSocketNotifier::QSocketNotifier
    - clear
    - wpa_ctrl_close
    - WpaGui::serviceRunning
    - QString::split
    - qAppName
    - opendir
    - tr
    - readdir
    - free
    - strcmp
    - debug
    - setEnabled
    - wpa_ctrl_detach
    - strdup
    - QMessageBox::warning
    - setTabEnabled
    - QStringList::contains
    - indexOf
    - QChar
    - strlen
    - wpa_ctrl_get_fd
    - snprintf
    - malloc
    - addItem
    - setCurrentIndex
    - wpa_ctrl_request
    - wpa_ctrl_open
    - wpa_ctrl_attach
    - WpaGui::startService
    - strchr
    linkageType: ''
    returnType: int
    signature: int WpaGui::openCtrlConnection(const char *ifname)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_request
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:459,1
    - Dst: strlen
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:459,1
    - Dst: debug
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:461,1
    - Dst: debug
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:463,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - cmd
    - buf
    - buflen
    argTypes:
    - char*
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 466
    functionName: WpaGui::ctrlRequest
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp
    functionUses: 0
    functionsReached:
    - debug
    - strlen
    - wpa_ctrl_request
    linkageType: ''
    returnType: int
    signature: int WpaGui::ctrlRequest(const char *cmd, char *buf, size_t *buflen)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:471,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:472,1
    - Dst: strcmp
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:473,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:474,1
    - Dst: strcmp
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:475,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:476,1
    - Dst: strcmp
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:477,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:478,1
    - Dst: strcmp
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:479,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:480,1
    - Dst: strcmp
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:481,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:482,1
    - Dst: strcmp
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:483,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:484,1
    - Dst: strcmp
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:485,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:486,1
    - Dst: strcmp
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:487,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:488,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:490,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 1
    argNames:
    - state
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 491
    functionName: WpaGui::wpaStateTranslate
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp
    functionUses: 0
    functionsReached:
    - tr
    - strcmp
    linkageType: ''
    returnType: QString
    signature: QString WpaGui::wpaStateTranslate(char *state)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: WpaGui::ctrlRequest
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:502,1
    - Dst: setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:503,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:503,1
    - Dst: clear
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:505,1
    - Dst: clear
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:506,1
    - Dst: clear
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:507,1
    - Dst: clear
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:508,1
    - Dst: clear
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:509,1
    - Dst: WpaGui::updateTrayToolTip
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:510,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:510,1
    - Dst: WpaGui::updateTrayIcon
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:511,1
    - Dst: stop
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:512,1
    - Dst: wpas_dbus_new_from_signal_information
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:519,1
    - Dst: qAppName
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:520,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:521,1
    - Dst: WpaGui::addInterface
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:525,1
    - Dst: strchr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:542,1
    - Dst: strchr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:551,1
    - Dst: strcmp
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:554,1
    - Dst: setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:556,1
    - Dst: strcmp
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:557,1
    - Dst: setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:559,1
    - Dst: WpaGui::updateTrayToolTip
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:560,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:560,1
    - Dst: WpaGui::updateTrayIcon
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:564,1
    - Dst: strcmp
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:566,1
    - Dst: setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:568,1
    - Dst: strcmp
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:569,1
    - Dst: setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:571,1
    - Dst: WpaGui::wpaStateTranslate
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:571,1
    - Dst: strcmp
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:572,1
    - Dst: setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:574,1
    - Dst: strcmp
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:576,1
    - Dst: strcmp
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:578,1
    - Dst: strcmp
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:580,1
    - Dst: setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:590,1
    - Dst: text
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:590,1
    - Dst: strcmp
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:595,1
    - Dst: QString::append
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:596,1
    - Dst: QString::append
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:597,1
    - Dst: QString::append
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:598,1
    - Dst: QString::append
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:600,1
    - Dst: QString::append
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:602,1
    - Dst: QString::append
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:603,1
    - Dst: setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:605,1
    - Dst: clear
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:607,1
    - Dst: isActive
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:617,1
    - Dst: WpaGui::updateTrayIcon
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:618,1
    - Dst: start
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:619,1
    - Dst: stop
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:622,1
    - Dst: clear
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:627,1
    - Dst: clear
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:629,1
    - Dst: clear
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:631,1
    - Dst: WpaGui::updateTrayToolTip
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:632,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:632,1
    - Dst: WpaGui::updateTrayIcon
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:633,1
    - Dst: clear
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:636,1
    - Dst: clear
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:638,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 112
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 494
    functionDepth: 2
    functionLinenumber: 494
    functionLinenumberEnd: 639
    functionName: WpaGui::updateStatus
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp
    functionUses: 1
    functionsReached:
    - wpas_dbus_new_from_signal_information
    - WpaGui::updateTrayIcon
    - isActive
    - WpaGui::wpaStateTranslate
    - stop
    - WpaGui::addInterface
    - clear
    - QString::append
    - WpaGui::ctrlRequest
    - start
    - WpaGui::updateTrayToolTip
    - setText
    - qAppName
    - tr
    - strchr
    - text
    - strcmp
    linkageType: ''
    returnType: void
    signature: void WpaGui::updateStatus()
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: currentRow
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:653,1
    - Dst: currentRow
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:654,1
    - Dst: clear
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:656,1
    - Dst: clear
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:657,1
    - Dst: WpaGui::ctrlRequest
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:663,1
    - Dst: strchr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:667,1
    - Dst: strchr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:674,1
    - Dst: strchr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:684,1
    - Dst: strchr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:688,1
    - Dst: strchr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:692,1
    - Dst: strstr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:697,1
    - Dst: QString::append
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:705,1
    - Dst: QString::append
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:706,1
    - Dst: addItem
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:707,1
    - Dst: addItem
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:708,1
    - Dst: strstr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:710,1
    - Dst: setCurrentIndex
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:711,1
    - Dst: count
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:711,1
    - Dst: strstr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:715,1
    - Dst: count
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:716,1
    - Dst: strchr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:719,1
    - Dst: std::this_thread::sleep_for
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:723,1
    - Dst: std::chrono::milliseconds
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:723,1
    - Dst: QString::append
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:725,1
    - Dst: WpaGui::ctrlRequest
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:726,1
    - Dst: QString::toLocal8Bit
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:726,1
    - Dst: strchr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:730,1
    - Dst: count
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:736,1
    - Dst: addItem
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:737,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:737,1
    - Dst: setCurrentIndex
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:740,1
    - Dst: count
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:742,1
    - Dst: count
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:743,1
    - Dst: setCurrentRow
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:744,1
    - Dst: setCurrentRow
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:746,1
    - Dst: count
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:746,1
    - Dst: setCurrentRow
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:749,1
    - Dst: currentIndex
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:749,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 79
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 642
    functionDepth: 2
    functionLinenumber: 642
    functionLinenumberEnd: 752
    functionName: WpaGui::updateNetworks
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp
    functionUses: 1
    functionsReached:
    - std::chrono::milliseconds
    - currentIndex
    - QString::toLocal8Bit
    - clear
    - QString::append
    - WpaGui::ctrlRequest
    - addItem
    - std::this_thread::sleep_for
    - setCurrentRow
    - setCurrentIndex
    - strstr
    - tr
    - strchr
    - count
    - currentRow
    linkageType: ''
    returnType: void
    signature: void WpaGui::updateNetworks()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:757,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 755
    functionDepth: 1
    functionLinenumber: 755
    functionLinenumberEnd: 758
    functionName: WpaGui::helpIndex
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp
    functionUses: 1
    functionsReached:
    - debug
    linkageType: ''
    returnType: void
    signature: void WpaGui::helpIndex()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:763,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 761
    functionDepth: 1
    functionLinenumber: 761
    functionLinenumberEnd: 764
    functionName: WpaGui::helpContents
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp
    functionUses: 1
    functionsReached:
    - debug
    linkageType: ''
    returnType: void
    signature: void WpaGui::helpContents()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QMessageBox::about
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:769,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 781
    functionName: WpaGui::helpAbout
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp
    functionUses: 1
    functionsReached:
    - QMessageBox::about
    linkageType: ''
    returnType: void
    signature: void WpaGui::helpAbout()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WpaGui::ctrlRequest
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:788,1
    - Dst: WpaGui::stopWpsRun
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:789,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 784
    functionDepth: 2
    functionLinenumber: 784
    functionLinenumberEnd: 790
    functionName: WpaGui::disconnect
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp
    functionUses: 1
    functionsReached:
    - WpaGui::ctrlRequest
    - WpaGui::stopWpsRun
    linkageType: ''
    returnType: void
    signature: void WpaGui::disconnect()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:796,1
    - Dst: ScanResults::ScanResults
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:800,1
    - Dst: setWpaGui
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:803,1
    - Dst: show
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:804,1
    - Dst: exec
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:805,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 793
    functionDepth: 2
    functionLinenumber: 793
    functionLinenumberEnd: 806
    functionName: WpaGui::scan
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp
    functionUses: 1
    functionsReached:
    - exec
    - setWpaGui
    - ScanResults::ScanResults
    - close
    - show
    linkageType: ''
    returnType: void
    signature: void WpaGui::scan()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:812,1
    - Dst: EventHistory::EventHistory
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:816,1
    - Dst: addEvents
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:819,1
    - Dst: show
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:820,1
    - Dst: exec
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:821,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 809
    functionDepth: 1
    functionLinenumber: 809
    functionLinenumberEnd: 822
    functionName: WpaGui::eventHistory
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp
    functionUses: 1
    functionsReached:
    - exec
    - EventHistory::EventHistory
    - close
    - show
    - addEvents
    linkageType: ''
    returnType: void
    signature: void WpaGui::eventHistory()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: WpaGui::receiveMsgs
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:838,1
    - Dst: isVisible
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:841,1
    - Dst: isVisible
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:846,1
    - Dst: isVisible
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:851,1
    - Dst: WpaGui::ctrlRequest
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:857,1
    - Dst: debug
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:858,1
    - Dst: WpaGui::openCtrlConnection
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:859,1
    - Dst: debug
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:860,1
    - Dst: WpaGui::updateStatus
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:867,1
    - Dst: WpaGui::updateNetworks
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:868,1
    - Dst: isHidden
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:874,1
    - Dst: interval
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:875,1
    - Dst: setInterval
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:876,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 825
    functionDepth: 3
    functionLinenumber: 825
    functionLinenumberEnd: 878
    functionName: WpaGui::ping
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp
    functionUses: 1
    functionsReached:
    - WpaGui::receiveMsgs
    - debug
    - WpaGui::ctrlRequest
    - WpaGui::updateStatus
    - isVisible
    - interval
    - setInterval
    - WpaGui::updateNetworks
    - WpaGui::openCtrlConnection
    - isHidden
    linkageType: ''
    returnType: void
    signature: void WpaGui::ping()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: WpaGui::ctrlRequest
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:888,1
    - Dst: strstr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:892,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:893,1
    - Dst: strstr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:894,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:895,1
    - Dst: debug
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:897,1
    - Dst: WpaGui::updateTrayIcon
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:898,1
    - Dst: debug
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:902,1
    - Dst: WpaGui::updateTrayIcon
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:916,1
    - Dst: WpaGui::updateTrayIcon
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:918,1
    - Dst: WpaGui::updateTrayIcon
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:920,1
    - Dst: WpaGui::updateTrayIcon
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:922,1
    - Dst: WpaGui::updateTrayIcon
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:924,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 881
    functionDepth: 2
    functionLinenumber: 881
    functionLinenumberEnd: 925
    functionName: WpaGui::signalMeterUpdate
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp
    functionUses: 1
    functionsReached:
    - WpaGui::updateTrayIcon
    - debug
    - WpaGui::ctrlRequest
    - strstr
    - atoi
    linkageType: ''
    returnType: void
    signature: void WpaGui::signalMeterUpdate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:930,1
    - Dst: strlen
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:930,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 928
    functionDepth: 0
    functionLinenumber: 928
    functionLinenumberEnd: 931
    functionName: str_match
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp
    functionUses: 0
    functionsReached:
    - strncmp
    - strlen
    linkageType: ''
    returnType: int
    signature: int str_match(const char *a, const char *b)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:942,1
    - Dst: strchr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:943,1
    - Dst: addEvent
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:952,1
    - Dst: event_notify
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:954,1
    - Dst: append
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:955,1
    - Dst: count
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:956,1
    - Dst: pop_front
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:957,1
    - Dst: strncmp
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:960,1
    - Dst: strchr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:961,1
    - Dst: str_match
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:961,1
    - Dst: QString::truncate
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:969,1
    - Dst: setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:970,1
    - Dst: str_match
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:975,1
    - Dst: WpaGui::processCtrlReq
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:976,1
    - Dst: strlen
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:976,1
    - Dst: str_match
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:977,1
    - Dst: updateResults
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:978,1
    - Dst: str_match
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:979,1
    - Dst: WpaGui::showTrayMessage
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:980,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:981,1
    - Dst: str_match
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:982,1
    - Dst: WpaGui::showTrayMessage
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:983,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:984,1
    - Dst: QTimer::singleShot
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:985,1
    - Dst: SLOT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:985,1
    - Dst: WpaGui::showTrayStatus
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:985,1
    - Dst: WpaGui::stopWpsRun
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:986,1
    - Dst: str_match
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:987,1
    - Dst: setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:988,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:988,1
    - Dst: text
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:989,1
    - Dst: text
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:990,1
    - Dst: setCurrentWidget
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:991,1
    - Dst: setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:992,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:992,1
    - Dst: str_match
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:994,1
    - Dst: setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:995,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:995,1
    - Dst: text
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:997,1
    - Dst: text
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:998,1
    - Dst: setCurrentWidget
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:999,1
    - Dst: str_match
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1000,1
    - Dst: WpaGui::showTrayMessage
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1001,1
    - Dst: setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1004,1
    - Dst: text
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1006,1
    - Dst: text
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1007,1
    - Dst: setCurrentWidget
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1008,1
    - Dst: str_match
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1009,1
    - Dst: setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1010,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1010,1
    - Dst: str_match
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1011,1
    - Dst: setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1012,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1012,1
    - Dst: setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1013,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1013,1
    - Dst: setCurrentWidget
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1016,1
    - Dst: str_match
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1017,1
    - Dst: setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1018,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1018,1
    - Dst: setCurrentWidget
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1019,1
    - Dst: str_match
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1020,1
    - Dst: strstr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1021,1
    - Dst: setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1022,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1022,1
    - Dst: str_match
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1023,1
    - Dst: setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1024,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1024,1
    - Dst: str_match
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1025,1
    - Dst: setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1026,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1026,1
    - Dst: str_match
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1027,1
    - Dst: setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1028,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1028,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 80
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1030
      start: 934
    functionDepth: 1
    functionLinenumber: 934
    functionLinenumberEnd: 1030
    functionName: WpaGui::processMsg
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp
    functionUses: 0
    functionsReached:
    - strncmp
    - strstr
    - tr
    - atoi
    - updateResults
    - addEvent
    - QString::truncate
    - WpaGui::showTrayStatus
    - count
    - append
    - WpaGui::stopWpsRun
    - setCurrentWidget
    - SLOT
    - pop_front
    - WpaGui::showTrayMessage
    - strlen
    - text
    - WpaGui::processCtrlReq
    - setText
    - QTimer::singleShot
    - str_match
    - strchr
    - event_notify
    linkageType: ''
    returnType: void
    signature: void WpaGui::processMsg(char *msg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1036,1
    - Dst: UserDataRequest::UserDataRequest
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1039,1
    - Dst: setParams
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1042,1
    - Dst: show
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1047,1
    - Dst: exec
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1048,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - req
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1033
    functionDepth: 1
    functionLinenumber: 1033
    functionLinenumberEnd: 1049
    functionName: WpaGui::processCtrlReq
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp
    functionUses: 1
    functionsReached:
    - exec
    - setParams
    - UserDataRequest::UserDataRequest
    - close
    - show
    linkageType: ''
    returnType: void
    signature: void WpaGui::processCtrlReq(const char *req)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_pending
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1057,1
    - Dst: wpa_ctrl_recv
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1059,1
    - Dst: WpaGui::processMsg
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1061,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1064
      start: 1052
    functionDepth: 2
    functionLinenumber: 1052
    functionLinenumberEnd: 1064
    functionName: WpaGui::receiveMsgs
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp
    functionUses: 1
    functionsReached:
    - WpaGui::processMsg
    - wpa_ctrl_pending
    - wpa_ctrl_recv
    linkageType: ''
    returnType: void
    signature: void WpaGui::receiveMsgs()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WpaGui::ctrlRequest
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1071,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1067
    functionDepth: 2
    functionLinenumber: 1067
    functionLinenumberEnd: 1072
    functionName: WpaGui::connectB
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp
    functionUses: 1
    functionsReached:
    - WpaGui::ctrlRequest
    linkageType: ''
    returnType: void
    signature: void WpaGui::connectB()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QString::contains
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1081,1
    - Dst: QRegularExpression
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1081,1
    - Dst: QString::truncate
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1082,1
    - Dst: QString::indexOf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1082,1
    - Dst: QString::prepend
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1085,1
    - Dst: WpaGui::ctrlRequest
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1086,1
    - Dst: QString::toLocal8Bit
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1086,1
    - Dst: WpaGui::triggerUpdate
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1087,1
    - Dst: WpaGui::stopWpsRun
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1088,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - sel
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1089
      start: 1075
    functionDepth: 2
    functionLinenumber: 1075
    functionLinenumberEnd: 1089
    functionName: WpaGui::selectNetwork
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp
    functionUses: 0
    functionsReached:
    - QString::toLocal8Bit
    - QRegularExpression
    - WpaGui::ctrlRequest
    - WpaGui::triggerUpdate
    - QString::indexOf
    - QString::truncate
    - QString::prepend
    - QString::contains
    - WpaGui::stopWpsRun
    linkageType: ''
    returnType: void
    signature: void WpaGui::selectNetwork( const QString &sel )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QString::contains
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1098,1
    - Dst: QRegularExpression
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1098,1
    - Dst: QString::truncate
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1099,1
    - Dst: QString::indexOf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1099,1
    - Dst: QString::startsWith
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1100,1
    - Dst: debug
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1101,1
    - Dst: QString::toLocal8Bit
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1102,1
    - Dst: QString::prepend
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1105,1
    - Dst: WpaGui::ctrlRequest
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1106,1
    - Dst: QString::toLocal8Bit
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1106,1
    - Dst: WpaGui::triggerUpdate
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - sel
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1092
    functionDepth: 2
    functionLinenumber: 1092
    functionLinenumberEnd: 1108
    functionName: WpaGui::enableNetwork
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp
    functionUses: 0
    functionsReached:
    - QString::startsWith
    - debug
    - QString::toLocal8Bit
    - QRegularExpression
    - WpaGui::ctrlRequest
    - WpaGui::triggerUpdate
    - QString::indexOf
    - QString::truncate
    - QString::prepend
    - QString::contains
    linkageType: ''
    returnType: void
    signature: void WpaGui::enableNetwork(const QString &sel)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QString::contains
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1117,1
    - Dst: QRegularExpression
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1117,1
    - Dst: QString::truncate
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1118,1
    - Dst: QString::indexOf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1118,1
    - Dst: QString::startsWith
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1119,1
    - Dst: debug
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1120,1
    - Dst: QString::toLocal8Bit
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1121,1
    - Dst: QString::prepend
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1124,1
    - Dst: WpaGui::ctrlRequest
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1125,1
    - Dst: QString::toLocal8Bit
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1125,1
    - Dst: WpaGui::triggerUpdate
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - sel
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1111
    functionDepth: 2
    functionLinenumber: 1111
    functionLinenumberEnd: 1127
    functionName: WpaGui::disableNetwork
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp
    functionUses: 0
    functionsReached:
    - QString::startsWith
    - debug
    - QString::toLocal8Bit
    - QRegularExpression
    - WpaGui::ctrlRequest
    - WpaGui::triggerUpdate
    - QString::indexOf
    - QString::truncate
    - QString::prepend
    - QString::contains
    linkageType: ''
    returnType: void
    signature: void WpaGui::disableNetwork(const QString &sel)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QString::contains
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1135,1
    - Dst: QRegularExpression
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1135,1
    - Dst: QString::truncate
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1136,1
    - Dst: QString::indexOf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1136,1
    - Dst: QString::toInt
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1137,1
    - Dst: NetworkConfig::NetworkConfig
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1140,1
    - Dst: NetworkConfig*::setWpaGui
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1143,1
    - Dst: NetworkConfig*::paramsFromConfig
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1146,1
    - Dst: NetworkConfig*::newNetwork
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1148,1
    - Dst: NetworkConfig*::show
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1150,1
    - Dst: NetworkConfig*::exec
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - sel
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1130
    functionDepth: 2
    functionLinenumber: 1130
    functionLinenumberEnd: 1152
    functionName: WpaGui::editNetwork
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp
    functionUses: 0
    functionsReached:
    - NetworkConfig*::setWpaGui
    - QString::toInt
    - QRegularExpression
    - NetworkConfig*::newNetwork
    - QString::indexOf
    - QString::truncate
    - NetworkConfig*::paramsFromConfig
    - NetworkConfig*::show
    - NetworkConfig::NetworkConfig
    - QString::contains
    - NetworkConfig*::exec
    linkageType: ''
    returnType: void
    signature: void WpaGui::editNetwork(const QString &sel)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: count
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1157,1
    - Dst: wpas_dbus_new_from_signal_information
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1158,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1159,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1160,1
    - Dst: currentText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1163,1
    - Dst: WpaGui::editNetwork
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1165
      start: 1155
    functionDepth: 3
    functionLinenumber: 1155
    functionLinenumberEnd: 1165
    functionName: WpaGui::editSelectedNetwork
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp
    functionUses: 1
    functionsReached:
    - wpas_dbus_new_from_signal_information
    - currentText
    - WpaGui::editNetwork
    - tr
    - count
    linkageType: ''
    returnType: void
    signature: void WpaGui::editSelectedNetwork()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: currentRow
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1170,1
    - Dst: wpas_dbus_new_from_signal_information
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1171,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1171,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1172,1
    - Dst: currentItem
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1176,1
    - Dst: WpaGui::editNetwork
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1178
      start: 1168
    functionDepth: 3
    functionLinenumber: 1168
    functionLinenumberEnd: 1178
    functionName: WpaGui::editListedNetwork
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp
    functionUses: 1
    functionsReached:
    - wpas_dbus_new_from_signal_information
    - WpaGui::editNetwork
    - tr
    - currentRow
    - currentItem
    linkageType: ''
    returnType: void
    signature: void WpaGui::editListedNetwork()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WpaGui::updateStatus
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1183,1
    - Dst: WpaGui::updateNetworks
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1186
      start: 1181
    functionDepth: 3
    functionLinenumber: 1181
    functionLinenumberEnd: 1186
    functionName: WpaGui::triggerUpdate
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp
    functionUses: 3
    functionsReached:
    - WpaGui::updateNetworks
    - WpaGui::updateStatus
    linkageType: ''
    returnType: void
    signature: void WpaGui::triggerUpdate()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NetworkConfig::NetworkConfig
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1191,1
    - Dst: NetworkConfig*::setWpaGui
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1194,1
    - Dst: NetworkConfig*::newNetwork
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1195,1
    - Dst: NetworkConfig*::show
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1196,1
    - Dst: NetworkConfig*::exec
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1198
      start: 1189
    functionDepth: 2
    functionLinenumber: 1189
    functionLinenumberEnd: 1198
    functionName: WpaGui::addNetwork
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp
    functionUses: 1
    functionsReached:
    - NetworkConfig*::setWpaGui
    - NetworkConfig*::newNetwork
    - NetworkConfig*::show
    - NetworkConfig::NetworkConfig
    - NetworkConfig*::exec
    linkageType: ''
    returnType: void
    signature: void WpaGui::addNetwork()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QString::contains
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1207,1
    - Dst: QRegularExpression
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1207,1
    - Dst: QString::truncate
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1208,1
    - Dst: QString::indexOf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1208,1
    - Dst: QString::startsWith
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1209,1
    - Dst: debug
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1210,1
    - Dst: QString::toLocal8Bit
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1211,1
    - Dst: QString::prepend
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1214,1
    - Dst: WpaGui::ctrlRequest
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1215,1
    - Dst: QString::toLocal8Bit
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1215,1
    - Dst: WpaGui::triggerUpdate
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1216,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - sel
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1217
      start: 1201
    functionDepth: 4
    functionLinenumber: 1201
    functionLinenumberEnd: 1217
    functionName: WpaGui::removeNetwork
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp
    functionUses: 0
    functionsReached:
    - QString::startsWith
    - debug
    - QString::toLocal8Bit
    - QRegularExpression
    - WpaGui::ctrlRequest
    - WpaGui::triggerUpdate
    - QString::indexOf
    - QString::truncate
    - QString::prepend
    - QString::contains
    linkageType: ''
    returnType: void
    signature: void WpaGui::removeNetwork(const QString &sel)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: count
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1222,1
    - Dst: wpas_dbus_new_from_signal_information
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1223,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1223,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1224,1
    - Dst: currentText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1228,1
    - Dst: WpaGui::removeNetwork
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1230
      start: 1220
    functionDepth: 5
    functionLinenumber: 1220
    functionLinenumberEnd: 1230
    functionName: WpaGui::removeSelectedNetwork
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp
    functionUses: 1
    functionsReached:
    - wpas_dbus_new_from_signal_information
    - currentText
    - WpaGui::removeNetwork
    - tr
    - count
    linkageType: ''
    returnType: void
    signature: void WpaGui::removeSelectedNetwork()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: currentRow
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1235,1
    - Dst: wpas_dbus_new_from_signal_information
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1236,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1236,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1237,1
    - Dst: currentItem
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1241,1
    - Dst: WpaGui::removeNetwork
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1243
      start: 1233
    functionDepth: 5
    functionLinenumber: 1233
    functionLinenumberEnd: 1243
    functionName: WpaGui::removeListedNetwork
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp
    functionUses: 1
    functionsReached:
    - wpas_dbus_new_from_signal_information
    - WpaGui::removeNetwork
    - tr
    - currentRow
    - currentItem
    linkageType: ''
    returnType: void
    signature: void WpaGui::removeListedNetwork()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WpaGui::enableNetwork
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1250
      start: 1246
    functionDepth: 3
    functionLinenumber: 1246
    functionLinenumberEnd: 1250
    functionName: WpaGui::enableAllNetworks
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp
    functionUses: 1
    functionsReached:
    - WpaGui::enableNetwork
    linkageType: ''
    returnType: void
    signature: void WpaGui::enableAllNetworks()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WpaGui::disableNetwork
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1253
    functionDepth: 3
    functionLinenumber: 1253
    functionLinenumberEnd: 1257
    functionName: WpaGui::disableAllNetworks
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp
    functionUses: 1
    functionsReached:
    - WpaGui::disableNetwork
    linkageType: ''
    returnType: void
    signature: void WpaGui::disableAllNetworks()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WpaGui::removeNetwork
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1264
      start: 1260
    functionDepth: 5
    functionLinenumber: 1260
    functionLinenumberEnd: 1264
    functionName: WpaGui::removeAllNetworks
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp
    functionUses: 1
    functionsReached:
    - WpaGui::removeNetwork
    linkageType: ''
    returnType: void
    signature: void WpaGui::removeAllNetworks()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QString::indexOf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1272,1
    - Dst: debug
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1274,1
    - Dst: QString::toLocal8Bit
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1275,1
    - Dst: QString::truncate
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1278,1
    - Dst: QString::prepend
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1279,1
    - Dst: QString::append
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1280,1
    - Dst: WpaGui::ctrlRequest
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1282,1
    - Dst: QString::toLocal8Bit
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1282,1
    - Dst: str_match
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1285,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1286,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - sel
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1290
      start: 1267
    functionDepth: 2
    functionLinenumber: 1267
    functionLinenumberEnd: 1290
    functionName: WpaGui::getNetworkDisabled
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp
    functionUses: 0
    functionsReached:
    - debug
    - QString::toLocal8Bit
    - QString::append
    - WpaGui::ctrlRequest
    - QString::indexOf
    - QString::truncate
    - atoi
    - QString::prepend
    - str_match
    linkageType: ''
    returnType: int
    signature: int WpaGui::getNetworkDisabled(const QString &sel)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: currentRow
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1295,1
    - Dst: currentItem
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1298,1
    - Dst: WpaGui::getNetworkDisabled
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1300,1
    - Dst: isChecked
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1302,1
    - Dst: setChecked
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1303,1
    - Dst: isChecked
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1306,1
    - Dst: setChecked
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1307,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1310
      start: 1293
    functionDepth: 3
    functionLinenumber: 1293
    functionLinenumberEnd: 1310
    functionName: WpaGui::updateNetworkDisabledStatus
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp
    functionUses: 1
    functionsReached:
    - isChecked
    - WpaGui::getNetworkDisabled
    - setChecked
    - currentRow
    - currentItem
    linkageType: ''
    returnType: void
    signature: void WpaGui::updateNetworkDisabledStatus()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: currentRow
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1315,1
    - Dst: currentItem
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1318,1
    - Dst: WpaGui::getNetworkDisabled
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1320,1
    - Dst: WpaGui::enableNetwork
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1321,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - enabled
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1322
      start: 1313
    functionDepth: 3
    functionLinenumber: 1313
    functionLinenumberEnd: 1322
    functionName: WpaGui::enableListedNetwork
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp
    functionUses: 0
    functionsReached:
    - WpaGui::enableNetwork
    - WpaGui::getNetworkDisabled
    - currentRow
    - currentItem
    linkageType: ''
    returnType: void
    signature: void WpaGui::enableListedNetwork(bool enabled)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: currentRow
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1327,1
    - Dst: currentItem
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1330,1
    - Dst: WpaGui::getNetworkDisabled
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1332,1
    - Dst: WpaGui::disableNetwork
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1333,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - disabled
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1334
      start: 1325
    functionDepth: 3
    functionLinenumber: 1325
    functionLinenumberEnd: 1334
    functionName: WpaGui::disableListedNetwork
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp
    functionUses: 0
    functionsReached:
    - WpaGui::disableNetwork
    - WpaGui::getNetworkDisabled
    - currentRow
    - currentItem
    linkageType: ''
    returnType: void
    signature: void WpaGui::disableListedNetwork(bool disabled)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WpaGui::ctrlRequest
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1343,1
    - Dst: str_match
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1347,1
    - Dst: QMessageBox::warning
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1348,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1349,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1350,1
    - Dst: wpas_dbus_new_from_signal_information
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1356,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1357,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1360
      start: 1337
    functionDepth: 2
    functionLinenumber: 1337
    functionLinenumberEnd: 1360
    functionName: WpaGui::saveConfig
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp
    functionUses: 1
    functionsReached:
    - wpas_dbus_new_from_signal_information
    - WpaGui::ctrlRequest
    - QMessageBox::warning
    - tr
    - str_match
    linkageType: ''
    returnType: void
    signature: void WpaGui::saveConfig()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WpaGui::openCtrlConnection
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1365,1
    - Dst: toLocal8Bit
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1365,1
    - Dst: debug
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1366,1
    - Dst: WpaGui::updateStatus
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1368,1
    - Dst: WpaGui::updateNetworks
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1369,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' sel'
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1370
      start: 1363
    functionDepth: 3
    functionLinenumber: 1363
    functionLinenumberEnd: 1370
    functionName: WpaGui::selectAdapter
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp
    functionUses: 0
    functionsReached:
    - debug
    - WpaGui::updateStatus
    - toLocal8Bit
    - WpaGui::updateNetworks
    - WpaGui::openCtrlConnection
    linkageType: ''
    returnType: void
    signature: void WpaGui::selectAdapter( const QString & sel )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QApplication::setQuitOnLastWindowClosed
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1375,1
    - Dst: QSystemTrayIcon::QSystemTrayIcon
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1377,1
    - Dst: WpaGui::updateTrayIcon
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1378,1
    - Dst: connect
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1380,1
    - Dst: SIGNAL
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1381,1
    - Dst: activated
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1381,1
    - Dst: SLOT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1382,1
    - Dst: WpaGui::trayActivated
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1382,1
    - Dst: QMenu::QMenu
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1386,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1388,1
    - Dst: QAction::QAction
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1388,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1389,1
    - Dst: QAction::QAction
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1389,1
    - Dst: connect
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1390,1
    - Dst: SIGNAL
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1390,1
    - Dst: triggered
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1390,1
    - Dst: SLOT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1391,1
    - Dst: WpaGui::disconnect
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1391,1
    - Dst: connect
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1392,1
    - Dst: SIGNAL
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1392,1
    - Dst: triggered
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1392,1
    - Dst: SLOT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1393,1
    - Dst: WpaGui::connectB
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1393,1
    - Dst: addAction
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1394,1
    - Dst: addAction
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1395,1
    - Dst: addSeparator
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1396,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1398,1
    - Dst: QAction::QAction
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1398,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1399,1
    - Dst: QAction::QAction
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1399,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1400,1
    - Dst: QAction::QAction
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1400,1
    - Dst: connect
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1401,1
    - Dst: SIGNAL
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1401,1
    - Dst: triggered
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1401,1
    - Dst: SLOT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1401,1
    - Dst: WpaGui::eventHistory
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1401,1
    - Dst: connect
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1402,1
    - Dst: SIGNAL
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1402,1
    - Dst: triggered
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1402,1
    - Dst: SLOT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1402,1
    - Dst: WpaGui::scan
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1402,1
    - Dst: connect
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1403,1
    - Dst: SIGNAL
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1403,1
    - Dst: triggered
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1403,1
    - Dst: SLOT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1403,1
    - Dst: WpaGui::showTrayStatus
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1403,1
    - Dst: addAction
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1404,1
    - Dst: addAction
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1405,1
    - Dst: addAction
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1406,1
    - Dst: addSeparator
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1407,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1409,1
    - Dst: QAction::QAction
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1409,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1410,1
    - Dst: QAction::QAction
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1410,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1411,1
    - Dst: QAction::QAction
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1411,1
    - Dst: connect
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1412,1
    - Dst: SIGNAL
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1412,1
    - Dst: triggered
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1412,1
    - Dst: SLOT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1412,1
    - Dst: show
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1412,1
    - Dst: connect
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1413,1
    - Dst: SIGNAL
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1413,1
    - Dst: triggered
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1413,1
    - Dst: SLOT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1413,1
    - Dst: hide
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1413,1
    - Dst: connect
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1414,1
    - Dst: SIGNAL
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1414,1
    - Dst: triggered
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1414,1
    - Dst: SLOT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1414,1
    - Dst: quit
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1414,1
    - Dst: addAction
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1415,1
    - Dst: addAction
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1416,1
    - Dst: addSeparator
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1417,1
    - Dst: addAction
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1418,1
    - Dst: setContextMenu
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1420,1
    - Dst: show
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1422,1
    - Dst: show
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1425,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 39
    argCount: 1
    argNames:
    - trayOnly
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1427
      start: 1373
    functionDepth: 3
    functionLinenumber: 1373
    functionLinenumberEnd: 1427
    functionName: WpaGui::createTrayIcon
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp
    functionUses: 1
    functionsReached:
    - QMenu::QMenu
    - show
    - QSystemTrayIcon::QSystemTrayIcon
    - WpaGui::scan
    - tr
    - WpaGui::disconnect
    - connect
    - QAction::QAction
    - quit
    - triggered
    - addSeparator
    - WpaGui::showTrayStatus
    - WpaGui::connectB
    - WpaGui::trayActivated
    - setContextMenu
    - WpaGui::eventHistory
    - QApplication::setQuitOnLastWindowClosed
    - hide
    - addAction
    - SLOT
    - activated
    - WpaGui::updateTrayIcon
    - SIGNAL
    linkageType: ''
    returnType: void
    signature: void WpaGui::createTrayIcon(bool trayOnly)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QSystemTrayIcon::supportsMessages
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1433,1
    - Dst: isVisible
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1436,1
    - Dst: isVisible
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1436,1
    - Dst: showMessage
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1439,1
    - Dst: qAppName
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1439,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - type
    - sec
    - ' msg'
    argTypes:
    - QSystemTrayIcon::MessageIcon
    - int
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1440
      start: 1430
    functionDepth: 0
    functionLinenumber: 1430
    functionLinenumberEnd: 1440
    functionName: WpaGui::showTrayMessage
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp
    functionUses: 1
    functionsReached:
    - isVisible
    - showMessage
    - qAppName
    - QSystemTrayIcon::supportsMessages
    linkageType: ''
    returnType: void
    signature: "void WpaGui::showTrayMessage(QSystemTrayIcon::MessageIcon type, int
      sec,\n\t\t\t     const QString & msg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isVisible
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1450,1
    - Dst: close
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1451,1
    - Dst: show
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1454,1
    - Dst: WpaGui::showTrayStatus
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1459,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - how
    argTypes:
    - QSystemTrayIcon::ActivationReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1464
      start: 1443
    functionDepth: 1
    functionLinenumber: 1443
    functionLinenumberEnd: 1464
    functionName: WpaGui::trayActivated
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp
    functionUses: 1
    functionsReached:
    - close
    - WpaGui::showTrayStatus
    - isVisible
    - show
    linkageType: ''
    returnType: void
    signature: void WpaGui::trayActivated(QSystemTrayIcon::ActivationReason how)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: WpaGui::ctrlRequest
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1473,1
    - Dst: split
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1479,1
    - Dst: QRegularExpression
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1479,1
    - Dst: QStringList::begin
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1480,1
    - Dst: QStringList::end
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1481,1
    - Dst: indexOf
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1482,1
    - Dst: startsWith
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1486,1
    - Dst: QString::append
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1487,1
    - Dst: mid
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1487,1
    - Dst: startsWith
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1488,1
    - Dst: QString::append
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1489,1
    - Dst: mid
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1489,1
    - Dst: startsWith
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1490,1
    - Dst: QString::append
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1491,1
    - Dst: mid
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1491,1
    - Dst: startsWith
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1492,1
    - Dst: QString::append
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1493,1
    - Dst: mid
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1493,1
    - Dst: startsWith
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1494,1
    - Dst: QString::append
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1495,1
    - Dst: mid
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1495,1
    - Dst: startsWith
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1496,1
    - Dst: QString::append
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1497,1
    - Dst: mid
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1497,1
    - Dst: startsWith
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1498,1
    - Dst: QString::append
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1499,1
    - Dst: mid
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1499,1
    - Dst: startsWith
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1500,1
    - Dst: QString::append
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1501,1
    - Dst: mid
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1501,1
    - Dst: startsWith
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1502,1
    - Dst: QString::append
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1503,1
    - Dst: mid
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1503,1
    - Dst: QString::isEmpty
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1506,1
    - Dst: WpaGui::showTrayMessage
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1507,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1508
      start: 1467
    functionDepth: 2
    functionLinenumber: 1467
    functionLinenumberEnd: 1508
    functionName: WpaGui::showTrayStatus
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp
    functionUses: 3
    functionsReached:
    - startsWith
    - QRegularExpression
    - QStringList::begin
    - QString::append
    - WpaGui::ctrlRequest
    - mid
    - QStringList::end
    - QString::isEmpty
    - indexOf
    - split
    - WpaGui::showTrayMessage
    linkageType: ''
    returnType: void
    signature: void WpaGui::showTrayStatus()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setToolTip
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1514,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - msg
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1515
      start: 1511
    functionDepth: 0
    functionLinenumber: 1511
    functionLinenumberEnd: 1515
    functionName: WpaGui::updateTrayToolTip
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp
    functionUses: 1
    functionsReached:
    - setToolTip
    linkageType: ''
    returnType: void
    signature: void WpaGui::updateTrayToolTip(const QString &msg)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: QImageReader::supportedImageFormats
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1526,1
    - Dst: QByteArray
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1526,1
    - Dst: QIcon
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1527,1
    - Dst: QIcon
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1529,1
    - Dst: setIcon
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1569,1
    - Dst: WpaGui::loadThemedIcon
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1569,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 1
    argNames:
    - type
    argTypes:
    - TrayIconType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1570
      start: 1518
    functionDepth: 1
    functionLinenumber: 1518
    functionLinenumberEnd: 1570
    functionName: WpaGui::updateTrayIcon
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp
    functionUses: 3
    functionsReached:
    - QImageReader::supportedImageFormats
    - WpaGui::loadThemedIcon
    - setIcon
    - QIcon
    - QByteArray
    linkageType: ''
    returnType: void
    signature: void WpaGui::updateTrayIcon(TrayIconType type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QStringList::begin
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1578,1
    - Dst: QStringList::end
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1579,1
    - Dst: QIcon::fromTheme
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1580,1
    - Dst: QIcon::isNull
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1581,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - names
    - fallback
    argTypes:
    - QStringList
    - QIcon
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1586
      start: 1573
    functionDepth: 0
    functionLinenumber: 1573
    functionLinenumberEnd: 1586
    functionName: WpaGui::loadThemedIcon
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp
    functionUses: 1
    functionsReached:
    - QIcon::fromTheme
    - QIcon::isNull
    - QStringList::begin
    - QStringList::end
    linkageType: ''
    returnType: QIcon
    signature: "QIcon WpaGui::loadThemedIcon(const QStringList &names,\n\t\t\t     const
      QIcon &fallback)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1592,1
    - Dst: close
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1598,1
    - Dst: close
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1604,1
    - Dst: close
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1610,1
    - Dst: QSystemTrayIcon::supportsMessages
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1617,1
    - Dst: hide
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1618,1
    - Dst: WpaGui::showTrayMessage
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1619,1
    - Dst: qAppName
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1620,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1621,1
    - Dst: wpas_dbus_new_from_signal_information
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1624,1
    - Dst: qAppName
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1624,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1625,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1626,1
    - Dst: QCloseEvent*::accept
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1633,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 1
    argNames:
    - event
    argTypes:
    - QCloseEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1634
      start: 1589
    functionDepth: 1
    functionLinenumber: 1589
    functionLinenumberEnd: 1634
    functionName: WpaGui::closeEvent
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp
    functionUses: 0
    functionsReached:
    - wpas_dbus_new_from_signal_information
    - hide
    - QSystemTrayIcon::supportsMessages
    - QCloseEvent*::accept
    - qAppName
    - close
    - tr
    - WpaGui::showTrayMessage
    linkageType: ''
    returnType: void
    signature: void WpaGui::closeEvent(QCloseEvent *event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setCurrentWidget
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1640
      start: 1637
    functionDepth: 0
    functionLinenumber: 1637
    functionLinenumberEnd: 1640
    functionName: WpaGui::wpsDialog
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp
    functionUses: 1
    functionsReached:
    - setCurrentWidget
    linkageType: ''
    returnType: void
    signature: void WpaGui::wpsDialog()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1646,1
    - Dst: Peers::Peers
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1650,1
    - Dst: setWpaGui
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1653,1
    - Dst: show
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1654,1
    - Dst: exec
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1655,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1656
      start: 1643
    functionDepth: 1
    functionLinenumber: 1643
    functionLinenumberEnd: 1656
    functionName: WpaGui::peersDialog
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp
    functionUses: 1
    functionsReached:
    - exec
    - setWpaGui
    - Peers::Peers
    - close
    - show
    linkageType: ''
    returnType: void
    signature: void WpaGui::peersDialog()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: setEnabled
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1667,1
    - Dst: isEmpty
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1667,1
    - Dst: isEmpty
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1668,1
    - Dst: setEnabled
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1669,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1670
      start: 1659
    functionDepth: 0
    functionLinenumber: 1659
    functionLinenumberEnd: 1670
    functionName: WpaGui::tabChanged
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp
    functionUses: 0
    functionsReached:
    - setEnabled
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void WpaGui::tabChanged(int index)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WpaGui::ctrlRequest
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1678,1
    - Dst: setEnabled
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1681,1
    - Dst: text
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1682,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1682,1
    - Dst: setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1683,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1683,1
    - Dst: setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1686,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1686,1
    - Dst: setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1690,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1690,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1692
      start: 1673
    functionDepth: 2
    functionLinenumber: 1673
    functionLinenumberEnd: 1692
    functionName: WpaGui::wpsPbc
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp
    functionUses: 1
    functionsReached:
    - WpaGui::ctrlRequest
    - setText
    - setEnabled
    - tr
    - text
    linkageType: ''
    returnType: void
    signature: void WpaGui::wpsPbc()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WpaGui::ctrlRequest
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1700,1
    - Dst: setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1705,1
    - Dst: setEnabled
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1706,1
    - Dst: setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1707,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1707,1
    - Dst: setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1710,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1710,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1712
      start: 1695
    functionDepth: 2
    functionLinenumber: 1695
    functionLinenumberEnd: 1712
    functionName: WpaGui::wpsGeneratePin
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp
    functionUses: 1
    functionsReached:
    - WpaGui::ctrlRequest
    - tr
    - setEnabled
    - setText
    linkageType: ''
    returnType: void
    signature: void WpaGui::wpsGeneratePin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setEnabled
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1718,1
    - Dst: isEmpty
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1718,1
    - Dst: setEnabled
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1719,1
    - Dst: text
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1719,1
    - Dst: setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1720,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1720,1
    - Dst: setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1721,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1721,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - bssid
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1724
      start: 1715
    functionDepth: 0
    functionLinenumber: 1715
    functionLinenumberEnd: 1724
    functionName: WpaGui::setBssFromScan
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp
    functionUses: 0
    functionsReached:
    - isEmpty
    - setText
    - setEnabled
    - tr
    - text
    linkageType: ''
    returnType: void
    signature: void WpaGui::setBssFromScan(const QString &bssid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setEnabled
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1729,1
    - Dst: QString::length
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - text
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1730
      start: 1727
    functionDepth: 0
    functionLinenumber: 1727
    functionLinenumberEnd: 1730
    functionName: WpaGui::wpsApPinChanged
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp
    functionUses: 0
    functionsReached:
    - setEnabled
    - QString::length
    linkageType: ''
    returnType: void
    signature: void WpaGui::wpsApPinChanged(const QString &text)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: text
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1738,1
    - Dst: WpaGui::ctrlRequest
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1739,1
    - Dst: QString::toLocal8Bit
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1739,1
    - Dst: setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1742,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1742,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1744
      start: 1733
    functionDepth: 2
    functionLinenumber: 1733
    functionLinenumberEnd: 1744
    functionName: WpaGui::wpsApPin
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp
    functionUses: 1
    functionsReached:
    - QString::toLocal8Bit
    - WpaGui::ctrlRequest
    - setText
    - tr
    - text
    linkageType: ''
    returnType: void
    signature: void WpaGui::wpsApPin()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1750,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1750,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1751,1
    - Dst: setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1753,1
    - Dst: setEnabled
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1754,1
    - Dst: setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1755,1
    - Dst: setEnabled
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1758,1
    - Dst: setEnabled
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1759,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - success
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1760
      start: 1747
    functionDepth: 0
    functionLinenumber: 1747
    functionLinenumberEnd: 1760
    functionName: WpaGui::stopWpsRun
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp
    functionUses: 3
    functionsReached:
    - tr
    - setEnabled
    - setText
    linkageType: ''
    returnType: void
    signature: void WpaGui::stopWpsRun(bool success)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setWindowTitle
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1780,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1780,1
    - Dst: setIcon
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - parent
    - last_err
    argTypes:
    - QWidget*
    - DWORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1782
      start: 1777
    functionDepth: 0
    functionLinenumber: 1777
    functionLinenumberEnd: 1782
    functionName: ErrorMsg::ErrorMsg
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp
    functionUses: 0
    functionsReached:
    - tr
    - setIcon
    - setWindowTitle
    linkageType: ''
    returnType: void
    signature: void ErrorMsg::ErrorMsg(QWidget *parent, DWORD last_err)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1788,1
    - Dst: FormatMessage
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1789,1
    - Dst: QString::fromWCharArray
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1793,1
    - Dst: setInformativeText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1794,1
    - Dst: QString
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1794,1
    - Dst: LocalFree
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1795,1
    - Dst: setInformativeText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1797,1
    - Dst: QString
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1797,1
    - Dst: exec
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1800,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - msg
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1801
      start: 1784
    functionDepth: 0
    functionLinenumber: 1784
    functionLinenumberEnd: 1801
    functionName: ErrorMsg::showMsg
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp
    functionUses: 0
    functionsReached:
    - FormatMessage
    - exec
    - QString
    - setText
    - setInformativeText
    - QString::fromWCharArray
    - LocalFree
    linkageType: ''
    returnType: void
    signature: void ErrorMsg::showMsg(QString msg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OpenSCManager
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1808,1
    - Dst: ErrorMsg
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1810,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1810,1
    - Dst: OpenService
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1814,1
    - Dst: ErrorMsg
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1816,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1816,1
    - Dst: CloseServiceHandle
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1817,1
    - Dst: StartService
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1821,1
    - Dst: ErrorMsg
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1822,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1822,1
    - Dst: CloseServiceHandle
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1826,1
    - Dst: CloseServiceHandle
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1827,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1828
      start: 1804
    functionDepth: 0
    functionLinenumber: 1804
    functionLinenumberEnd: 1828
    functionName: WpaGui::startService
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp
    functionUses: 2
    functionsReached:
    - CloseServiceHandle
    - StartService
    - OpenSCManager
    - tr
    - ErrorMsg
    - OpenService
    linkageType: ''
    returnType: void
    signature: void WpaGui::startService()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OpenSCManager
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1836,1
    - Dst: ErrorMsg
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1838,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1838,1
    - Dst: OpenService
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1842,1
    - Dst: ErrorMsg
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1844,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1844,1
    - Dst: CloseServiceHandle
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1845,1
    - Dst: ControlService
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1849,1
    - Dst: ErrorMsg
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1850,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1850,1
    - Dst: CloseServiceHandle
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1854,1
    - Dst: CloseServiceHandle
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1855,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1856
      start: 1831
    functionDepth: 0
    functionLinenumber: 1831
    functionLinenumberEnd: 1856
    functionName: WpaGui::stopService
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp
    functionUses: 1
    functionsReached:
    - CloseServiceHandle
    - OpenSCManager
    - ControlService
    - tr
    - ErrorMsg
    - OpenService
    linkageType: ''
    returnType: void
    signature: void WpaGui::stopService()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OpenSCManager
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1865,1
    - Dst: debug
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1867,1
    - Dst: GetLastError
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1867,1
    - Dst: OpenService
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1871,1
    - Dst: debug
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1873,1
    - Dst: GetLastError
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1873,1
    - Dst: CloseServiceHandle
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1874,1
    - Dst: QueryServiceStatus
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1878,1
    - Dst: CloseServiceHandle
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1883,1
    - Dst: CloseServiceHandle
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1884,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1887
      start: 1859
    functionDepth: 1
    functionLinenumber: 1859
    functionLinenumberEnd: 1887
    functionName: WpaGui::serviceRunning
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp
    functionUses: 1
    functionsReached:
    - CloseServiceHandle
    - debug
    - GetLastError
    - OpenSCManager
    - QueryServiceStatus
    - OpenService
    linkageType: ''
    returnType: bool
    signature: bool WpaGui::serviceRunning()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1895,1
    - Dst: AddInterface::AddInterface
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1898,1
    - Dst: show
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1899,1
    - Dst: exec
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1900,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1901
      start: 1892
    functionDepth: 2
    functionLinenumber: 1892
    functionLinenumberEnd: 1901
    functionName: WpaGui::addInterface
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp
    functionUses: 2
    functionsReached:
    - exec
    - close
    - show
    - AddInterface::AddInterface
    linkageType: ''
    returnType: void
    signature: void WpaGui::addInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QSettings::beginGroup
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1908,1
    - Dst: QSettings::setValue
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1909,1
    - Dst: sessionId
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1909,1
    - Dst: QSettings::setValue
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1910,1
    - Dst: QSettings::endGroup
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp:1911,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1912
      start: 1905
    functionDepth: 0
    functionLinenumber: 1905
    functionLinenumberEnd: 1912
    functionName: WpaGui::saveState
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp
    functionUses: 0
    functionsReached:
    - QSettings::endGroup
    - QSettings::setValue
    - QSettings::beginGroup
    - sessionId
    linkageType: ''
    returnType: void
    signature: void WpaGui::saveState()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 23
    functionName: WpaGuiApp::WpaGuiApp
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WpaGuiApp::WpaGuiApp(int &argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WpaGui::saveState
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/main.cpp:28,1
    - Dst: WpaGuiApp::saveState
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/main.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - manager
    argTypes:
    - QSessionManager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: WpaGuiApp::saveState
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/main.cpp
    functionUses: 1
    functionsReached:
    - WpaGuiApp::saveState
    - WpaGui::saveState
    linkageType: ''
    returnType: void
    signature: void WpaGuiApp::saveState(QSessionManager &manager)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QLocale::system
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/main.cpp:42,1
    - Dst: wpas_set_pkcs11_engine_and_module_path
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/main.cpp:43,1
    - Dst: QTranslator::load
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/main.cpp:44,1
    - Dst: QTranslator::load
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/main.cpp:45,1
    - Dst: WpaGuiApp::installTranslator
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/main.cpp:46,1
    - Dst: WSAStartup
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/main.cpp:52,1
    - Dst: MAKEWORD
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/main.cpp:52,1
    - Dst: WpaGuiApp::exec
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/main.cpp:60,1
    - Dst: WSACleanup
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/main.cpp:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 67
    functionName: main
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/main.cpp
    functionUses: 1
    functionsReached:
    - WpaGuiApp::exec
    - QTranslator::load
    - WpaGuiApp::installTranslator
    - WSAStartup
    - WSACleanup
    - wpas_set_pkcs11_engine_and_module_path
    - QLocale::system
    - MAKEWORD
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupUi
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/userdatarequest.cpp:18,1
    - Dst: connect
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/userdatarequest.cpp:20,1
    - Dst: SIGNAL
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/userdatarequest.cpp:20,1
    - Dst: clicked
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/userdatarequest.cpp:20,1
    - Dst: SLOT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/userdatarequest.cpp:20,1
    - Dst: UserDataRequest::sendReply
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/userdatarequest.cpp:20,1
    - Dst: connect
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/userdatarequest.cpp:21,1
    - Dst: SIGNAL
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/userdatarequest.cpp:21,1
    - Dst: clicked
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/userdatarequest.cpp:21,1
    - Dst: SLOT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/userdatarequest.cpp:21,1
    - Dst: reject
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/userdatarequest.cpp:21,1
    - Dst: connect
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/userdatarequest.cpp:22,1
    - Dst: SIGNAL
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/userdatarequest.cpp:22,1
    - Dst: returnPressed
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/userdatarequest.cpp:22,1
    - Dst: SLOT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/userdatarequest.cpp:22,1
    - Dst: UserDataRequest::sendReply
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/userdatarequest.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 23
    functionName: UserDataRequest::UserDataRequest
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/userdatarequest.cpp
    functionUses: 1
    functionsReached:
    - reject
    - connect
    - SLOT
    - setupUi
    - returnPressed
    - UserDataRequest::sendReply
    - clicked
    - SIGNAL
    linkageType: ''
    returnType: void
    signature: "void UserDataRequest::UserDataRequest(QWidget *parent, const char
      *, bool,\n\t\t\t\t Qt::WindowFlags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 28
    functionName: UserDataRequest::~UserDataRequest()
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/userdatarequest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UserDataRequest::~UserDataRequest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: retranslateUi
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/userdatarequest.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: UserDataRequest::languageChange
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/userdatarequest.cpp
    functionUses: 0
    functionsReached:
    - retranslateUi
    linkageType: ''
    returnType: void
    signature: void UserDataRequest::languageChange()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/userdatarequest.cpp:41,1
    - Dst: strchr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/userdatarequest.cpp:44,1
    - Dst: free
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/userdatarequest.cpp:46,1
    - Dst: strchr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/userdatarequest.cpp:51,1
    - Dst: free
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/userdatarequest.cpp:53,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/userdatarequest.cpp:58,1
    - Dst: setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/userdatarequest.cpp:59,1
    - Dst: strcmp
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/userdatarequest.cpp:60,1
    - Dst: setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/userdatarequest.cpp:61,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/userdatarequest.cpp:61,1
    - Dst: setEchoMode
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/userdatarequest.cpp:62,1
    - Dst: strcmp
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/userdatarequest.cpp:63,1
    - Dst: setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/userdatarequest.cpp:64,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/userdatarequest.cpp:64,1
    - Dst: setEchoMode
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/userdatarequest.cpp:65,1
    - Dst: strcmp
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/userdatarequest.cpp:66,1
    - Dst: setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/userdatarequest.cpp:67,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/userdatarequest.cpp:67,1
    - Dst: strcmp
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/userdatarequest.cpp:68,1
    - Dst: setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/userdatarequest.cpp:69,1
    - Dst: tr
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/userdatarequest.cpp:69,1
    - Dst: setEchoMode
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/userdatarequest.cpp:70,1
    - Dst: setText
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/userdatarequest.cpp:72,1
    - Dst: free
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/userdatarequest.cpp:73,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 2
    argNames:
    - _wpagui
    - reqMsg
    argTypes:
    - WpaGui*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 76
    functionName: UserDataRequest::setParams
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/userdatarequest.cpp
    functionUses: 0
    functionsReached:
    - tr
    - strdup
    - setEchoMode
    - setText
    - strchr
    - atoi
    - free
    - strcmp
    linkageType: ''
    returnType: int
    signature: int UserDataRequest::setParams(WpaGui *_wpagui, const char *reqMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reject
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/userdatarequest.cpp:85,1
    - Dst: QString
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/userdatarequest.cpp:89,1
    - Dst: wpas_dbus_getter_p2p_peer_modelnumber
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/userdatarequest.cpp:90,1
    - Dst: text
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/userdatarequest.cpp:91,1
    - Dst: ctrlRequest
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/userdatarequest.cpp:92,1
    - Dst: QString::toLocal8Bit
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/userdatarequest.cpp:92,1
    - Dst: accept
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/userdatarequest.cpp:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 94
    functionName: UserDataRequest::sendReply
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/userdatarequest.cpp
    functionUses: 1
    functionsReached:
    - QString::toLocal8Bit
    - ctrlRequest
    - reject
    - QString
    - wpas_dbus_getter_p2p_peer_modelnumber
    - accept
    - text
    linkageType: ''
    returnType: void
    signature: void UserDataRequest::sendReply()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QDateTime::currentDateTime
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpamsg.h:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _msg
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 21
    functionName: WpaMsg::WpaMsg
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpamsg.h
    functionUses: 0
    functionsReached:
    - QDateTime::currentDateTime
    linkageType: ''
    returnType: void
    signature: void WpaMsg(const QString &_msg, int _priority = 2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: WpaMsg::getMsg
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpamsg.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString getMsg() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: WpaMsg::getPriority
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpamsg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getPriority() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: WpaMsg::getTimestamp
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpamsg.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: QDateTime
    signature: QDateTime getTimestamp() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QLineEdit::QLineEdit
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/stringquery.cpp:17,1
    - Dst: setFocus
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/stringquery.cpp:18,1
    - Dst: QGridLayout::QGridLayout
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/stringquery.cpp:19,1
    - Dst: QGridLayout*::addWidget
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/stringquery.cpp:20,1
    - Dst: QLabel::QLabel
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/stringquery.cpp:20,1
    - Dst: QGridLayout*::addWidget
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/stringquery.cpp:21,1
    - Dst: setLayout
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/stringquery.cpp:22,1
    - Dst: connect
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/stringquery.cpp:24,1
    - Dst: SIGNAL
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/stringquery.cpp:24,1
    - Dst: returnPressed
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/stringquery.cpp:24,1
    - Dst: SLOT
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/stringquery.cpp:24,1
    - Dst: accept
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/stringquery.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - label
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 25
    functionName: StringQuery::StringQuery
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/stringquery.cpp
    functionUses: 0
    functionsReached:
    - SIGNAL
    - QLineEdit::QLineEdit
    - connect
    - returnPressed
    - QGridLayout::QGridLayout
    - SLOT
    - accept
    - QGridLayout*::addWidget
    - setLayout
    - setFocus
    - QLabel::QLabel
    linkageType: ''
    returnType: void
    signature: void StringQuery::StringQuery(QString label)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: text
      Src: /src/hostap/wpa_supplicant/wpa_gui-qt4/stringquery.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: StringQuery::get_string
    functionSourceFile: /src/hostap/wpa_supplicant/wpa_gui-qt4/stringquery.cpp
    functionUses: 4
    functionsReached:
    - text
    linkageType: ''
    returnType: QString
    signature: QString StringQuery::get_string()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - global
    argTypes:
    - struct wpa_global*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 15
    functionName: wpa_supplicant_binder::Supplicant::Supplicant
    functionSourceFile: /src/hostap/wpa_supplicant/binder/supplicant.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Supplicant::Supplicant(struct wpa_global *global)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: android::os::PersistableBundle::getString
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:24,1
    - Dst: android::String16
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:24,1
    - Dst: android::binder::Status::fromServiceSpecificError
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:25,1
    - Dst: android::String8
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:27,1
    - Dst: android::os::PersistableBundle::getString
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:29,1
    - Dst: android::String16
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:29,1
    - Dst: android::os::PersistableBundle::getString
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:30,1
    - Dst: android::String16
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:30,1
    - Dst: android::os::PersistableBundle::getString
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:31,1
    - Dst: android::String16
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:31,1
    - Dst: wpa_supplicant_get_iface
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:37,1
    - Dst: android::String8
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:38,1
    - Dst: android::binder::Status::fromServiceSpecificError
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:39,1
    - Dst: android::String8
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:41,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:48,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:49,1
    - Dst: android::String8
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:49,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:50,1
    - Dst: android::String8
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:50,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:51,1
    - Dst: android::String8
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:51,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:53,1
    - Dst: android::String8
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:53,1
    - Dst: wpa_supplicant_add_iface
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:55,1
    - Dst: android::binder::Status::fromServiceSpecificError
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:59,1
    - Dst: android::String8
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:61,1
    - Dst: wpa_supplicant_binder::BinderManager::getInstance
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:64,1
    - Dst: BinderManager*::getIfaceBinderObjectByKey
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:67,1
    - Dst: android::binder::Status::fromServiceSpecificError
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:70,1
    - Dst: android::String8
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:72,1
    - Dst: wpa_scan_res_ok
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:75,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:77,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:78,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:79,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:80,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - params
    - aidl_return
    argTypes:
    - android::os::PersistableBundle
    - android::sp<fi::w1::wpa_supplicant::IIface>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 17
    functionDepth: 12
    functionLinenumber: 17
    functionLinenumberEnd: 82
    functionName: wpa_supplicant_binder::Supplicant::CreateInterface
    functionSourceFile: /src/hostap/wpa_supplicant/binder/supplicant.cpp
    functionUses: 0
    functionsReached:
    - os_strdup
    - android::String8
    - wpa_supplicant_add_iface
    - wpa_supplicant_binder::BinderManager::getInstance
    - BinderManager*::getIfaceBinderObjectByKey
    - android::binder::Status::fromServiceSpecificError
    - android::os::PersistableBundle::getString
    - os_free
    - wpa_scan_res_ok
    - android::String16
    - wpa_supplicant_get_iface
    - os_memset
    linkageType: ''
    returnType: android::binder::Status
    signature: "android::binder::Status Supplicant::CreateInterface(\n    const android::os::PersistableBundle
      &params,\n    android::sp<fi::w1::wpa_supplicant::IIface> *aidl_return)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_supplicant_get_iface
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:88,1
    - Dst: std::string::c_str
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:88,1
    - Dst: android::binder::Status::fromServiceSpecificError
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:90,1
    - Dst: android::String8
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:92,1
    - Dst: wpa_supplicant_remove_iface
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:94,1
    - Dst: android::binder::Status::fromServiceSpecificError
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:95,1
    - Dst: android::String8
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:97,1
    - Dst: wpa_scan_res_ok
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ifname
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 84
    functionDepth: 6
    functionLinenumber: 84
    functionLinenumberEnd: 100
    functionName: wpa_supplicant_binder::Supplicant::RemoveInterface
    functionSourceFile: /src/hostap/wpa_supplicant/binder/supplicant.cpp
    functionUses: 0
    functionsReached:
    - android::String8
    - android::binder::Status::fromServiceSpecificError
    - wpa_supplicant_remove_iface
    - wpa_scan_res_ok
    - std::string::c_str
    - wpa_supplicant_get_iface
    linkageType: ''
    returnType: android::binder::Status
    signature: android::binder::Status Supplicant::RemoveInterface(const std::string
      &ifname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_supplicant_get_iface
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:108,1
    - Dst: std::string::c_str
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:108,1
    - Dst: android::binder::Status::fromServiceSpecificError
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:110,1
    - Dst: android::String8
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:112,1
    - Dst: wpa_supplicant_binder::BinderManager::getInstance
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:115,1
    - Dst: BinderManager*::getIfaceBinderObjectByKey
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:117,1
    - Dst: android::binder::Status::fromServiceSpecificError
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:119,1
    - Dst: android::String8
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:121,1
    - Dst: wpa_scan_res_ok
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:124,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - ifname
    - aidl_return
    argTypes:
    - std::string
    - android::sp<fi::w1::wpa_supplicant::IIface>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 102
    functionDepth: 6
    functionLinenumber: 102
    functionLinenumberEnd: 125
    functionName: wpa_supplicant_binder::Supplicant::GetInterface
    functionSourceFile: /src/hostap/wpa_supplicant/binder/supplicant.cpp
    functionUses: 0
    functionsReached:
    - android::String8
    - wpa_supplicant_binder::BinderManager::getInstance
    - BinderManager*::getIfaceBinderObjectByKey
    - android::binder::Status::fromServiceSpecificError
    - wpa_scan_res_ok
    - std::string::c_str
    - wpa_supplicant_get_iface
    linkageType: ''
    returnType: android::binder::Status
    signature: "android::binder::Status Supplicant::GetInterface(\n    const std::string
      &ifname,\n    android::sp<fi::w1::wpa_supplicant::IIface> *aidl_return)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - global
    argTypes:
    - struct wpa_global*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 15
    functionName: wpa_supplicant_binder::Supplicant::Supplicant
    functionSourceFile: /src/hostap/wpa_supplicant/binder/supplicant.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Supplicant::Supplicant(struct wpa_global *global)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: android::os::PersistableBundle::getString
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:24,1
    - Dst: android::String16
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:24,1
    - Dst: android::binder::Status::fromServiceSpecificError
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:25,1
    - Dst: android::String8
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:27,1
    - Dst: android::os::PersistableBundle::getString
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:29,1
    - Dst: android::String16
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:29,1
    - Dst: android::os::PersistableBundle::getString
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:30,1
    - Dst: android::String16
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:30,1
    - Dst: android::os::PersistableBundle::getString
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:31,1
    - Dst: android::String16
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:31,1
    - Dst: wpa_supplicant_get_iface
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:37,1
    - Dst: android::String8
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:38,1
    - Dst: android::binder::Status::fromServiceSpecificError
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:39,1
    - Dst: android::String8
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:41,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:48,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:49,1
    - Dst: android::String8
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:49,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:50,1
    - Dst: android::String8
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:50,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:51,1
    - Dst: android::String8
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:51,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:53,1
    - Dst: android::String8
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:53,1
    - Dst: wpa_supplicant_add_iface
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:55,1
    - Dst: android::binder::Status::fromServiceSpecificError
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:59,1
    - Dst: android::String8
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:61,1
    - Dst: wpa_supplicant_binder::BinderManager::getInstance
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:64,1
    - Dst: BinderManager*::getIfaceBinderObjectByKey
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:67,1
    - Dst: android::binder::Status::fromServiceSpecificError
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:70,1
    - Dst: android::String8
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:72,1
    - Dst: wpa_scan_res_ok
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:75,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:77,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:78,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:79,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:80,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - params
    - aidl_return
    argTypes:
    - android::os::PersistableBundle
    - android::sp<fi::w1::wpa_supplicant::IIface>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 17
    functionDepth: 12
    functionLinenumber: 17
    functionLinenumberEnd: 82
    functionName: wpa_supplicant_binder::Supplicant::CreateInterface
    functionSourceFile: /src/hostap/wpa_supplicant/binder/supplicant.cpp
    functionUses: 0
    functionsReached:
    - os_strdup
    - android::String8
    - wpa_supplicant_add_iface
    - wpa_supplicant_binder::BinderManager::getInstance
    - BinderManager*::getIfaceBinderObjectByKey
    - android::binder::Status::fromServiceSpecificError
    - android::os::PersistableBundle::getString
    - os_free
    - wpa_scan_res_ok
    - android::String16
    - wpa_supplicant_get_iface
    - os_memset
    linkageType: ''
    returnType: android::binder::Status
    signature: "android::binder::Status Supplicant::CreateInterface(\n    const android::os::PersistableBundle
      &params,\n    android::sp<fi::w1::wpa_supplicant::IIface> *aidl_return)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_supplicant_get_iface
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:88,1
    - Dst: std::string::c_str
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:88,1
    - Dst: android::binder::Status::fromServiceSpecificError
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:90,1
    - Dst: android::String8
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:92,1
    - Dst: wpa_supplicant_remove_iface
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:94,1
    - Dst: android::binder::Status::fromServiceSpecificError
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:95,1
    - Dst: android::String8
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:97,1
    - Dst: wpa_scan_res_ok
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ifname
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 84
    functionDepth: 6
    functionLinenumber: 84
    functionLinenumberEnd: 100
    functionName: wpa_supplicant_binder::Supplicant::RemoveInterface
    functionSourceFile: /src/hostap/wpa_supplicant/binder/supplicant.cpp
    functionUses: 0
    functionsReached:
    - android::String8
    - android::binder::Status::fromServiceSpecificError
    - wpa_supplicant_remove_iface
    - wpa_scan_res_ok
    - std::string::c_str
    - wpa_supplicant_get_iface
    linkageType: ''
    returnType: android::binder::Status
    signature: android::binder::Status Supplicant::RemoveInterface(const std::string
      &ifname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_supplicant_get_iface
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:108,1
    - Dst: std::string::c_str
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:108,1
    - Dst: android::binder::Status::fromServiceSpecificError
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:110,1
    - Dst: android::String8
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:112,1
    - Dst: wpa_supplicant_binder::BinderManager::getInstance
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:115,1
    - Dst: BinderManager*::getIfaceBinderObjectByKey
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:117,1
    - Dst: android::binder::Status::fromServiceSpecificError
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:119,1
    - Dst: android::String8
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:121,1
    - Dst: wpa_scan_res_ok
      Src: /src/hostap/wpa_supplicant/binder/supplicant.cpp:124,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - ifname
    - aidl_return
    argTypes:
    - std::string
    - android::sp<fi::w1::wpa_supplicant::IIface>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 102
    functionDepth: 6
    functionLinenumber: 102
    functionLinenumberEnd: 125
    functionName: wpa_supplicant_binder::Supplicant::GetInterface
    functionSourceFile: /src/hostap/wpa_supplicant/binder/supplicant.cpp
    functionUses: 0
    functionsReached:
    - android::String8
    - wpa_supplicant_binder::BinderManager::getInstance
    - BinderManager*::getIfaceBinderObjectByKey
    - android::binder::Status::fromServiceSpecificError
    - wpa_scan_res_ok
    - std::string::c_str
    - wpa_supplicant_get_iface
    linkageType: ''
    returnType: android::binder::Status
    signature: "android::binder::Status Supplicant::GetInterface(\n    const std::string
      &ifname,\n    android::sp<fi::w1::wpa_supplicant::IIface> *aidl_return)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: ~Supplicant()
    functionSourceFile: /src/hostap/wpa_supplicant/binder/supplicant.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Supplicant()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: ~Supplicant()
    functionSourceFile: /src/hostap/wpa_supplicant/binder/supplicant.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Supplicant()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BinderManager::BinderManager
      Src: /src/hostap/wpa_supplicant/binder/binder_manager.cpp:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 29
    functionName: wpa_supplicant_binder::BinderManager::getInstance
    functionSourceFile: /src/hostap/wpa_supplicant/binder/binder_manager.cpp
    functionUses: 4
    functionsReached:
    - BinderManager::BinderManager
    linkageType: ''
    returnType: BinderManager
    signature: BinderManager *BinderManager::getInstance()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: wpa_supplicant_binder::BinderManager::destroyInstance
    functionSourceFile: /src/hostap/wpa_supplicant/binder/binder_manager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BinderManager::destroyInstance()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Supplicant::Supplicant
      Src: /src/hostap/wpa_supplicant/binder/binder_manager.cpp:42,1
    - Dst: android::defaultServiceManager
      Src: /src/hostap/wpa_supplicant/binder/binder_manager.cpp:44,1
    - Dst: android::IInterface::asBinder
      Src: /src/hostap/wpa_supplicant/binder/binder_manager.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - global
    argTypes:
    - struct wpa_global*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 47
    functionName: wpa_supplicant_binder::BinderManager::registerBinderService
    functionSourceFile: /src/hostap/wpa_supplicant/binder/binder_manager.cpp
    functionUses: 0
    functionsReached:
    - android::defaultServiceManager
    - android::IInterface::asBinder
    - Supplicant::Supplicant
    linkageType: ''
    returnType: int
    signature: int BinderManager::registerBinderService(struct wpa_global *global)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/hostap/wpa_supplicant/binder/binder_manager.cpp:59,1
    - Dst: end
      Src: /src/hostap/wpa_supplicant/binder/binder_manager.cpp:59,1
    - Dst: Iface::Iface
      Src: /src/hostap/wpa_supplicant/binder/binder_manager.cpp:62,1
    - Dst: get
      Src: /src/hostap/wpa_supplicant/binder/binder_manager.cpp:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 69
    functionName: wpa_supplicant_binder::BinderManager::registerInterface
    functionSourceFile: /src/hostap/wpa_supplicant/binder/binder_manager.cpp
    functionUses: 0
    functionsReached:
    - get
    - find
    - Iface::Iface
    - end
    linkageType: ''
    returnType: int
    signature: int BinderManager::registerInterface(struct wpa_supplicant *wpa_s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/hostap/wpa_supplicant/binder/binder_manager.cpp:77,1
    - Dst: end
      Src: /src/hostap/wpa_supplicant/binder/binder_manager.cpp:77,1
    - Dst: erase
      Src: /src/hostap/wpa_supplicant/binder/binder_manager.cpp:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 84
    functionName: wpa_supplicant_binder::BinderManager::unregisterInterface
    functionSourceFile: /src/hostap/wpa_supplicant/binder/binder_manager.cpp
    functionUses: 0
    functionsReached:
    - find
    - erase
    - end
    linkageType: ''
    returnType: int
    signature: int BinderManager::unregisterInterface(struct wpa_supplicant *wpa_s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/hostap/wpa_supplicant/binder/binder_manager.cpp:93,1
    - Dst: end
      Src: /src/hostap/wpa_supplicant/binder/binder_manager.cpp:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - iface_object_key
    - iface_object
    argTypes:
    - void*
    - android::sp<fi::w1::wpa_supplicant::IIface>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 98
    functionName: wpa_supplicant_binder::BinderManager::getIfaceBinderObjectByKey
    functionSourceFile: /src/hostap/wpa_supplicant/binder/binder_manager.cpp
    functionUses: 0
    functionsReached:
    - find
    - end
    linkageType: ''
    returnType: int
    signature: "int BinderManager::getIfaceBinderObjectByKey(\n    const void *iface_object_key,\n
      \   android::sp<fi::w1::wpa_supplicant::IIface> *iface_object)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BinderManager::BinderManager
      Src: /src/hostap/wpa_supplicant/binder/binder_manager.cpp:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 29
    functionName: wpa_supplicant_binder::BinderManager::getInstance
    functionSourceFile: /src/hostap/wpa_supplicant/binder/binder_manager.cpp
    functionUses: 4
    functionsReached:
    - BinderManager::BinderManager
    linkageType: ''
    returnType: BinderManager
    signature: BinderManager *BinderManager::getInstance()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: wpa_supplicant_binder::BinderManager::destroyInstance
    functionSourceFile: /src/hostap/wpa_supplicant/binder/binder_manager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BinderManager::destroyInstance()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Supplicant::Supplicant
      Src: /src/hostap/wpa_supplicant/binder/binder_manager.cpp:42,1
    - Dst: android::defaultServiceManager
      Src: /src/hostap/wpa_supplicant/binder/binder_manager.cpp:44,1
    - Dst: android::IInterface::asBinder
      Src: /src/hostap/wpa_supplicant/binder/binder_manager.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - global
    argTypes:
    - struct wpa_global*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 47
    functionName: wpa_supplicant_binder::BinderManager::registerBinderService
    functionSourceFile: /src/hostap/wpa_supplicant/binder/binder_manager.cpp
    functionUses: 0
    functionsReached:
    - android::defaultServiceManager
    - android::IInterface::asBinder
    - Supplicant::Supplicant
    linkageType: ''
    returnType: int
    signature: int BinderManager::registerBinderService(struct wpa_global *global)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/hostap/wpa_supplicant/binder/binder_manager.cpp:59,1
    - Dst: end
      Src: /src/hostap/wpa_supplicant/binder/binder_manager.cpp:59,1
    - Dst: Iface::Iface
      Src: /src/hostap/wpa_supplicant/binder/binder_manager.cpp:62,1
    - Dst: get
      Src: /src/hostap/wpa_supplicant/binder/binder_manager.cpp:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 69
    functionName: wpa_supplicant_binder::BinderManager::registerInterface
    functionSourceFile: /src/hostap/wpa_supplicant/binder/binder_manager.cpp
    functionUses: 0
    functionsReached:
    - get
    - find
    - Iface::Iface
    - end
    linkageType: ''
    returnType: int
    signature: int BinderManager::registerInterface(struct wpa_supplicant *wpa_s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/hostap/wpa_supplicant/binder/binder_manager.cpp:77,1
    - Dst: end
      Src: /src/hostap/wpa_supplicant/binder/binder_manager.cpp:77,1
    - Dst: erase
      Src: /src/hostap/wpa_supplicant/binder/binder_manager.cpp:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 84
    functionName: wpa_supplicant_binder::BinderManager::unregisterInterface
    functionSourceFile: /src/hostap/wpa_supplicant/binder/binder_manager.cpp
    functionUses: 0
    functionsReached:
    - find
    - erase
    - end
    linkageType: ''
    returnType: int
    signature: int BinderManager::unregisterInterface(struct wpa_supplicant *wpa_s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/hostap/wpa_supplicant/binder/binder_manager.cpp:93,1
    - Dst: end
      Src: /src/hostap/wpa_supplicant/binder/binder_manager.cpp:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - iface_object_key
    - iface_object
    argTypes:
    - void*
    - android::sp<fi::w1::wpa_supplicant::IIface>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 98
    functionName: wpa_supplicant_binder::BinderManager::getIfaceBinderObjectByKey
    functionSourceFile: /src/hostap/wpa_supplicant/binder/binder_manager.cpp
    functionUses: 0
    functionsReached:
    - find
    - end
    linkageType: ''
    returnType: int
    signature: "int BinderManager::getIfaceBinderObjectByKey(\n    const void *iface_object_key,\n
      \   android::sp<fi::w1::wpa_supplicant::IIface> *iface_object)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 14
    functionName: wpa_supplicant_binder::Iface::Iface
    functionSourceFile: /src/hostap/wpa_supplicant/binder/iface.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Iface::Iface(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 14
    functionName: wpa_supplicant_binder::Iface::Iface
    functionSourceFile: /src/hostap/wpa_supplicant/binder/iface.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Iface::Iface(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/binder/binder.cpp:29,1
    - Dst: ieee802_1x_cp_set_electedself
      Src: /src/hostap/wpa_supplicant/binder/binder.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - sock
    - eloop_ctx
    - sock_ctx
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 32
    functionName: wpas_binder_sock_handler
    functionSourceFile: /src/hostap/wpa_supplicant/binder/binder.cpp
    functionUses: 0
    functionsReached:
    - wpa_printf
    - ieee802_1x_cp_set_electedself
    linkageType: ''
    returnType: void
    signature: void wpas_binder_sock_handler(int sock, void *eloop_ctx, void *sock_ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/binder/binder.cpp:39,1
    - Dst: ieee802_1x_cp_set_electedself
      Src: /src/hostap/wpa_supplicant/binder/binder.cpp:44,1
    - Dst: ieee802_1x_cp_set_electedself
      Src: /src/hostap/wpa_supplicant/binder/binder.cpp:45,1
    - Dst: ieee802_1x_cp_set_electedself
      Src: /src/hostap/wpa_supplicant/binder/binder.cpp:46,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/binder/binder.cpp:47,1
    - Dst: eloop_register_read_sock
      Src: /src/hostap/wpa_supplicant/binder/binder.cpp:51,1
    - Dst: wpa_supplicant_binder::BinderManager::getInstance
      Src: /src/hostap/wpa_supplicant/binder/binder.cpp:55,1
    - Dst: wpa_supplicant_binder::BinderManager*::registerBinderService
      Src: /src/hostap/wpa_supplicant/binder/binder.cpp:58,1
    - Dst: wpas_binder_deinit
      Src: /src/hostap/wpa_supplicant/binder/binder.cpp:66,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - global
    argTypes:
    - struct wpa_global*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 68
    functionName: wpas_binder_init
    functionSourceFile: /src/hostap/wpa_supplicant/binder/binder.cpp
    functionUses: 1
    functionsReached:
    - wpa_printf
    - ieee802_1x_cp_set_electedself
    - eloop_register_read_sock
    - wpa_supplicant_binder::BinderManager*::registerBinderService
    - wpas_binder_deinit
    - wpa_supplicant_binder::BinderManager::getInstance
    - os_zalloc
    linkageType: ''
    returnType: struct wpas_binder_priv
    signature: struct wpas_binder_priv *wpas_binder_init(struct wpa_global *global)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_supplicant_binder::BinderManager::destroyInstance
      Src: /src/hostap/wpa_supplicant/binder/binder.cpp:75,1
    - Dst: eloop_unregister_read_sock
      Src: /src/hostap/wpa_supplicant/binder/binder.cpp:76,1
    - Dst: tls_connection_shutdown
      Src: /src/hostap/wpa_supplicant/binder/binder.cpp:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - priv
    argTypes:
    - struct wpas_binder_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 78
    functionName: wpas_binder_deinit
    functionSourceFile: /src/hostap/wpa_supplicant/binder/binder.cpp
    functionUses: 2
    functionsReached:
    - eloop_unregister_read_sock
    - wpa_supplicant_binder::BinderManager::destroyInstance
    - tls_connection_shutdown
    linkageType: ''
    returnType: void
    signature: void wpas_binder_deinit(struct wpas_binder_priv *priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_supplicant_binder::BinderManager::getInstance
      Src: /src/hostap/wpa_supplicant/binder/binder.cpp:86,1
    - Dst: wpa_supplicant_binder::BinderManager*::registerInterface
      Src: /src/hostap/wpa_supplicant/binder/binder.cpp:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 91
    functionName: wpas_binder_register_interface
    functionSourceFile: /src/hostap/wpa_supplicant/binder/binder.cpp
    functionUses: 0
    functionsReached:
    - wpa_supplicant_binder::BinderManager*::registerInterface
    - wpa_supplicant_binder::BinderManager::getInstance
    linkageType: ''
    returnType: int
    signature: int wpas_binder_register_interface(struct wpa_supplicant *wpa_s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_supplicant_binder::BinderManager::getInstance
      Src: /src/hostap/wpa_supplicant/binder/binder.cpp:99,1
    - Dst: wpa_supplicant_binder::BinderManager*::unregisterInterface
      Src: /src/hostap/wpa_supplicant/binder/binder.cpp:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 104
    functionName: wpas_binder_unregister_interface
    functionSourceFile: /src/hostap/wpa_supplicant/binder/binder.cpp
    functionUses: 0
    functionsReached:
    - wpa_supplicant_binder::BinderManager*::unregisterInterface
    - wpa_supplicant_binder::BinderManager::getInstance
    linkageType: ''
    returnType: int
    signature: int wpas_binder_unregister_interface(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: wpas_binder_register_interface
    functionSourceFile: /src/hostap/wpa_supplicant/binder/binder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpas_binder_register_interface(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: wpas_binder_unregister_interface
    functionSourceFile: /src/hostap/wpa_supplicant/binder/binder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpas_binder_unregister_interface(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: wpa_supplicant_binder::BinderManager::BinderManager
    functionSourceFile: /src/hostap/wpa_supplicant/binder/binder_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BinderManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: ~BinderManager()
    functionSourceFile: /src/hostap/wpa_supplicant/binder/binder_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BinderManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: wpa_supplicant_binder::BinderManager::BinderManager
    functionSourceFile: /src/hostap/wpa_supplicant/binder/binder_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BinderManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: ~BinderManager()
    functionSourceFile: /src/hostap/wpa_supplicant/binder/binder_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BinderManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: ~Iface()
    functionSourceFile: /src/hostap/wpa_supplicant/binder/iface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Iface()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: ~Iface()
    functionSourceFile: /src/hostap/wpa_supplicant/binder/iface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Iface()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: DECLARE_ACCESSOR
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_ACCESSOR(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 323
    functionName: wpas_dbus_register_interface
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpas_dbus_register_interface(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 328
    functionName: wpas_dbus_unregister_interface
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpas_dbus_unregister_interface(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - w
    - ','
    - n
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 331
    functionName: wpas_dbus_signal_state_changed
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: wpas_dbus_signal_state_changed(w, n, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - wpa_s
    - property
    argTypes:
    - struct wpa_supplicant*
    - enum wpas_dbus_prop
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 335
    functionName: wpas_dbus_signal_prop_changed
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_prop_changed(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t\t
      enum wpas_dbus_prop property)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - wpa_s
    - property
    - id
    argTypes:
    - struct wpa_supplicant*
    - enum wpas_dbus_bss_prop
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 341
    functionName: wpas_dbus_bss_signal_prop_changed
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_bss_signal_prop_changed(\n\tstruct wpa_supplicant *wpa_s,
      enum wpas_dbus_bss_prop property,\n\tunsigned int id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - wpa_s
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 346
    functionName: wpas_dbus_signal_network_enabled_changed
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_network_enabled_changed(\n\tstruct wpa_supplicant
      *wpa_s, struct wpa_ssid *ssid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - wpa_s
    - id
    argTypes:
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 351
    functionName: wpas_dbus_signal_network_selected
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_network_selected(\n\tstruct wpa_supplicant *wpa_s,
      int id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - wpa_s
    - ssid
    - rtype
    - default_txt
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    - enum wpa_ctrl_req_type
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 357
    functionName: wpas_dbus_signal_network_request
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_network_request(\n\tstruct wpa_supplicant *wpa_s,
      struct wpa_ssid *ssid,\n\tenum wpa_ctrl_req_type rtype, const char *default_txt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - wpa_s
    - success
    argTypes:
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 362
    functionName: wpas_dbus_signal_scan_done
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_scan_done(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \     int success)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - wpa_s
    - cred
    argTypes:
    - struct wpa_supplicant*
    - struct wps_credential*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 367
    functionName: wpas_dbus_signal_wps_cred
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_wps_cred(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \    const struct wps_credential *cred)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - wpa_s
    - m2d
    argTypes:
    - struct wpa_supplicant*
    - struct wps_event_m2d*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 372
    functionName: wpas_dbus_signal_wps_event_m2d
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_wps_event_m2d(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t\t
      \ struct wps_event_m2d *m2d)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - wpa_s
    - fail
    argTypes:
    - struct wpa_supplicant*
    - struct wps_event_fail*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 377
    functionName: wpas_dbus_signal_wps_event_fail
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_wps_event_fail(\n\tstruct wpa_supplicant *wpa_s,
      struct wps_event_fail *fail)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 382
    functionName: wpas_dbus_signal_wps_event_success
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_wps_event_success(\n\tstruct wpa_supplicant
      *wpa_s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 387
    functionName: wpas_dbus_signal_wps_event_pbc_overlap
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_wps_event_pbc_overlap(\n\tstruct wpa_supplicant
      *wpa_s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 393
    functionName: wpas_dbus_register_network
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int wpas_dbus_register_network(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \    struct wpa_ssid *ssid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - nid
    argTypes:
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 399
    functionName: wpas_dbus_unregister_network
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int wpas_dbus_unregister_network(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \      int nid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - wpa_s
    - bssid
    - id
    argTypes:
    - struct wpa_supplicant*
    - u8[]
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 405
    functionName: wpas_dbus_unregister_bss
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int wpas_dbus_unregister_bss(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \  u8 bssid[ETH_ALEN], unsigned int id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - wpa_s
    - bssid
    - id
    argTypes:
    - struct wpa_supplicant*
    - u8[]
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 411
    functionName: wpas_dbus_register_bss
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int wpas_dbus_register_bss(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      u8 bssid[ETH_ALEN], unsigned int id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - sta
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 417
    functionName: wpas_dbus_unregister_sta
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int wpas_dbus_unregister_sta(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \  const u8 *sta)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - sta
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 423
    functionName: wpas_dbus_register_sta
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int wpas_dbus_register_sta(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      const u8 *sta)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - wpa_s
    - name
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 428
    functionName: wpas_dbus_signal_blob_added
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_blob_added(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \      const char *name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - wpa_s
    - name
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 433
    functionName: wpas_dbus_signal_blob_removed
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_blob_removed(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t\t
      const char *name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - global
    argTypes:
    - struct wpa_global*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 438
    functionName: wpas_dbus_signal_debug_level_changed
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_debug_level_changed(\n\tstruct wpa_global *global)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - global
    argTypes:
    - struct wpa_global*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 443
    functionName: wpas_dbus_signal_debug_timestamp_changed
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_debug_timestamp_changed(\n\tstruct wpa_global
      *global)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - global
    argTypes:
    - struct wpa_global*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 448
    functionName: wpas_dbus_signal_debug_show_keys_changed
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_debug_show_keys_changed(\n\tstruct wpa_global
      *global)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - dev_addr
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 454
    functionName: wpas_dbus_register_peer
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int wpas_dbus_register_peer(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \ const u8 *dev_addr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - dev_addr
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 460
    functionName: wpas_dbus_unregister_peer
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int wpas_dbus_unregister_peer(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \   const u8 *dev_addr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - wpa_s
    - dev_addr
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 466
    functionName: wpas_dbus_signal_peer_groups_changed
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_peer_groups_changed(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \    const u8 *dev_addr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - wpa_s
    - role
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 472
    functionName: wpas_dbus_signal_p2p_group_removed
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_p2p_group_removed(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \  const char *role)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 6
    argNames:
    - wpa_s
    - dev_addr
    - request
    - status
    - config_methods
    - generated_pin
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - int
    - enum p2p_prov_disc_status
    - u16
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 481
    functionName: wpas_dbus_signal_p2p_provision_discovery
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_p2p_provision_discovery(struct wpa_supplicant
      *wpa_s,\n\t\t\t\t\t const u8 *dev_addr, int request,\n\t\t\t\t\t enum p2p_prov_disc_status
      status,\n\t\t\t\t\t u16 config_methods,\n\t\t\t\t\t unsigned int generated_pin)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - wpa_s
    - src
    - dev_passwd_id
    - go_intent
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u16
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 488
    functionName: wpas_dbus_signal_p2p_go_neg_req
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_p2p_go_neg_req(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t\t
      \  const u8 *src,\n\t\t\t\t\t\t   u16 dev_passwd_id,\n\t\t\t\t\t\t   u8 go_intent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - wpa_s
    - client
    - persistent
    - ip
    argTypes:
    - struct wpa_supplicant*
    - int
    - int
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 495
    functionName: wpas_dbus_signal_p2p_group_started
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_p2p_group_started(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \  int client, int persistent,\n\t\t\t\t   const u8 *ip)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - wpa_s
    - reason
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 501
    functionName: wpas_dbus_signal_p2p_group_formation_failure
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_p2p_group_formation_failure(struct wpa_supplicant
      *wpa_s,\n\t\t\t\t\t     const char *reason)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - wpa_s
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 507
    functionName: wpas_dbus_register_p2p_group
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_register_p2p_group(struct wpa_supplicant *wpa_s,\n\t\t\t
      \    struct wpa_ssid *ssid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 513
    functionName: wpas_dbus_register_persistent_group
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int wpas_dbus_register_persistent_group(\n\tstruct wpa_supplicant
      *wpa_s, struct wpa_ssid *ssid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - nid
    argTypes:
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 519
    functionName: wpas_dbus_unregister_persistent_group
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int wpas_dbus_unregister_persistent_group(\n\tstruct wpa_supplicant
      *wpa_s, int nid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - wpa_s
    - res
    argTypes:
    - struct wpa_supplicant*
    - struct p2p_go_neg_results*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 525
    functionName: wpas_dbus_signal_p2p_go_neg_resp
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_p2p_go_neg_resp(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      struct p2p_go_neg_results *res)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - wpa_s
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 531
    functionName: wpas_dbus_unregister_p2p_group
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_unregister_p2p_group(struct wpa_supplicant *wpa_s,\n\t\t\t
      \      const struct wpa_ssid *ssid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - wpa_s
    - status
    - bssid
    argTypes:
    - struct wpa_supplicant*
    - int
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 537
    functionName: wpas_dbus_signal_p2p_invitation_result
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_p2p_invitation_result(\n\t\t\t\tstruct wpa_supplicant
      *wpa_s, int status,\n\t\t\t\tconst u8 *bssid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - wpa_s
    - p2p_if_addr
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 543
    functionName: wpas_dbus_register_p2p_groupmember
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_register_p2p_groupmember(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \  const u8 *p2p_if_addr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 7
    argNames:
    - wpa_s
    - freq
    - sa
    - dialog_token
    - update_indic
    - tlvs
    - tlvs_len
    argTypes:
    - struct wpa_supplicant*
    - int
    - u8*
    - u8
    - u16
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 550
    functionName: wpas_dbus_signal_p2p_sd_request
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_p2p_sd_request(struct wpa_supplicant *wpa_s,
      int freq,\n\t\t\t\tconst u8 *sa, u8 dialog_token, u16 update_indic,\n\t\t\t\tconst
      u8 *tlvs, size_t tlvs_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - wpa_s
    - sa
    - update_indic
    - tlvs
    - tlvs_len
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u16
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 557
    functionName: wpas_dbus_signal_p2p_sd_response
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_p2p_sd_response(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      const u8 *sa, u16 update_indic,\n\t\t\t\t const u8 *tlvs, size_t tlvs_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - wpa_s
    - p2p_if_addr
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 563
    functionName: wpas_dbus_unregister_p2p_groupmember
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_unregister_p2p_groupmember(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \    const u8 *p2p_if_addr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - wpa_s
    - member
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 569
    functionName: wpas_dbus_signal_p2p_peer_joined
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_p2p_peer_joined(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      const u8 *member)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 574
    functionName: wpas_dbus_signal_p2p_find_stopped
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wpas_dbus_signal_p2p_find_stopped(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - wpa_s
    - dev_addr
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 580
    functionName: wpas_dbus_signal_peer_device_found
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_peer_device_found(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \  const u8 *dev_addr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - wpa_s
    - dev_addr
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 586
    functionName: wpas_dbus_signal_peer_device_lost
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_peer_device_lost(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \ const u8 *dev_addr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - wpa_s
    - member
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 592
    functionName: wpas_dbus_signal_p2p_peer_disconnected
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_p2p_peer_disconnected(struct wpa_supplicant
      *wpa_s,\n\t\t\t\t       const u8 *member)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - wpa_s
    - fail
    argTypes:
    - struct wpa_supplicant*
    - struct wps_event_fail*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 598
    functionName: wpas_dbus_signal_p2p_wps_failed
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_p2p_wps_failed(struct wpa_supplicant *wpa_s,\n\t\t\t\tstruct
      wps_event_fail *fail)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 7
    argNames:
    - wpa_s
    - depth
    - subject
    - altsubject
    - num_altsubject
    - cert_hash
    - cert
    argTypes:
    - struct wpa_supplicant*
    - int
    - char*
    - char*[]
    - int
    - char*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 608
    functionName: wpas_dbus_signal_certification
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_certification(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t\t
      \ int depth,\n\t\t\t\t\t\t  const char *subject,\n\t\t\t\t\t\t  const char *altsubject[],\n\t\t\t\t\t\t
      \ int num_altsubject,\n\t\t\t\t\t\t  const char *cert_hash,\n\t\t\t\t\t\t  const
      struct wpabuf *cert)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 7
    argNames:
    - wpa_s
    - addr
    - dst
    - bssid
    - ie
    - ie_len
    - ssi_signal
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - u8*
    - u8*
    - size_t
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 616
    functionName: wpas_dbus_signal_preq
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_preq(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      const u8 *addr, const u8 *dst,\n\t\t\t\t\t const u8 *bssid,\n\t\t\t\t\t const
      u8 *ie, size_t ie_len,\n\t\t\t\t\t u32 ssi_signal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - wpa_s
    - status
    - parameter
    argTypes:
    - struct wpa_supplicant*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 622
    functionName: wpas_dbus_signal_eap_status
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_eap_status(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \      const char *status,\n\t\t\t\t\t       const char *parameter)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 626
    functionName: wpas_dbus_signal_psk_mismatch
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wpas_dbus_signal_psk_mismatch(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 631
    functionName: wpas_dbus_signal_sae_password_mismatch
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wpas_dbus_signal_sae_password_mismatch(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - wpa_s
    - sta
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 637
    functionName: wpas_dbus_signal_sta_authorized
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_sta_authorized(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \    const u8 *sta)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - wpa_s
    - sta
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 643
    functionName: wpas_dbus_signal_sta_deauthorized
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_sta_deauthorized(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \      const u8 *sta)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 6
    argNames:
    - wpa_s
    - sa
    - dev_addr
    - bssid
    - id
    - op_freq
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - u8*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 651
    functionName: wpas_dbus_signal_p2p_invitation_received
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_p2p_invitation_received(struct wpa_supplicant
      *wpa_s,\n\t\t\t\t\t      const u8 *sa, const u8 *dev_addr,\n\t\t\t\t\t      const
      u8 *bssid, int id,\n\t\t\t\t\t      int op_freq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - wpa_s
    - src
    - bootstrap_method
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 657
    functionName: wpas_dbus_signal_p2p_bootstrap_req
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_p2p_bootstrap_req(struct wpa_supplicant *wpa_s,\n\t\t\t\t\tconst
      u8 *src, u16 bootstrap_method)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - wpa_s
    - src
    - status
    - bootstrap_method
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - int
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 664
    functionName: wpas_dbus_signal_p2p_bootstrap_rsp
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_p2p_bootstrap_rsp(struct wpa_supplicant *wpa_s,\n\t\t\t\t\tconst
      u8 *src, int status,\n\t\t\t\t\tu16 bootstrap_method)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - wpa_s
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 670
    functionName: wpas_dbus_signal_mesh_group_started
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_mesh_group_started(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      struct wpa_ssid *ssid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - wpa_s
    - meshid
    - meshid_len
    - reason
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 677
    functionName: wpas_dbus_signal_mesh_group_removed
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_mesh_group_removed(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      const u8 *meshid, u8 meshid_len,\n\t\t\t\t\t int reason)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - wpa_s
    - peer_addr
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 683
    functionName: wpas_dbus_signal_mesh_peer_connected
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_mesh_peer_connected(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \ const u8 *peer_addr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - wpa_s
    - peer_addr
    - reason
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 689
    functionName: wpas_dbus_signal_mesh_peer_disconnected
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_mesh_peer_disconnected(struct wpa_supplicant
      *wpa_s,\n\t\t\t\t\t     const u8 *peer_addr, int reason)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 8
    argNames:
    - wpa_s
    - bss
    - cred
    - type
    - excluded
    - bh
    - bss_load
    - conn_capab
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_bss*
    - struct wpa_cred*
    - char*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 699
    functionName: wpas_dbus_signal_interworking_ap_added
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_interworking_ap_added(struct wpa_supplicant
      *wpa_s,\n\t\t\t\t\t    struct wpa_bss *bss,\n\t\t\t\t\t    struct wpa_cred *cred,\n\t\t\t\t\t
      \   const char *type, int excluded,\n\t\t\t\t\t    int bh, int bss_load,\n\t\t\t\t\t
      \   int conn_capab)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 704
    functionName: wpas_dbus_signal_interworking_select_done
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wpas_dbus_signal_interworking_select_done(struct wpa_supplicant
      *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - wpa_s
    - dst
    - result
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 710
    functionName: wpas_dbus_signal_anqp_query_done
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_anqp_query_done(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \     const u8 *dst, const char *result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - wpa_s
    - url
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 716
    functionName: wpas_dbus_signal_hs20_t_c_acceptance
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_hs20_t_c_acceptance(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \ const char *url)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 9
    argNames:
    - wpa_s
    - srv_proto_type
    - subscribe_id
    - peer_publish_id
    - peer_addr
    - fsd
    - fsd_gas
    - ssi
    - ssi_len
    argTypes:
    - struct wpa_supplicant*
    - enum nan_service_protocol_type
    - int
    - int
    - u8*
    - bool
    - bool
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 727
    functionName: wpas_dbus_signal_nan_discovery_result
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_nan_discovery_result(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \     enum nan_service_protocol_type\n\t\t\t\t      srv_proto_type,\n\t\t\t\t
      \     int subscribe_id,\n\t\t\t\t      int peer_publish_id, const u8 *peer_addr,\n\t\t\t\t
      \     bool fsd, bool fsd_gas,\n\t\t\t\t      const u8 *ssi, size_t ssi_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 7
    argNames:
    - wpa_s
    - srv_proto_type
    - publish_id
    - peer_subscribe_id
    - peer_addr
    - ssi
    - ssi_len
    argTypes:
    - struct wpa_supplicant*
    - enum nan_service_protocol_type
    - int
    - int
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 735
    functionName: wpas_dbus_signal_nan_replied
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_nan_replied(struct wpa_supplicant *wpa_s,\n\t\t\t
      \    enum nan_service_protocol_type srv_proto_type,\n\t\t\t     int publish_id,
      int peer_subscribe_id,\n\t\t\t     const u8 *peer_addr, const u8 *ssi, size_t
      ssi_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 6
    argNames:
    - wpa_s
    - id
    - peer_id
    - peer_addr
    - ssi
    - ssi_len
    argTypes:
    - struct wpa_supplicant*
    - int
    - int
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 743
    functionName: wpas_dbus_signal_nan_receive
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_nan_receive(struct wpa_supplicant *wpa_s,\n\t\t\t
      \    int id, int peer_id, const u8 *peer_addr,\n\t\t\t     const u8 *ssi, size_t
      ssi_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - wpa_s
    - publish_id
    - reason
    argTypes:
    - struct wpa_supplicant*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 749
    functionName: wpas_dbus_signal_nan_publish_terminated
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_nan_publish_terminated(struct wpa_supplicant
      *wpa_s,\n\t\t\t\t\tint publish_id, const char *reason)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - wpa_s
    - subscribe_id
    - reason
    argTypes:
    - struct wpa_supplicant*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 751
    functionDepth: 0
    functionLinenumber: 751
    functionLinenumberEnd: 755
    functionName: wpas_dbus_signal_nan_subscribe_terminated
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_nan_subscribe_terminated(struct wpa_supplicant
      *wpa_s,\n\t\t\t\t\t  int subscribe_id, const char *reason)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - entry
    argTypes:
    - struct wpa_dbus_dict_entry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 41
    functionName: wpas_dbus_validate_dbus_ipaddr
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpas_dbus_validate_dbus_ipaddr(struct wpa_dbus_dict_entry entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dbus_set_error_const
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - error
    argTypes:
    - DBusError*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: no_p2p_mgmt_interface
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
    functionUses: 0
    functionsReached:
    - dbus_set_error_const
    linkageType: ''
    returnType: dbus_bool_t
    signature: dbus_bool_t no_p2p_mgmt_interface(DBusError *error)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_strrchr
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:65,1
    - Dst: hwaddr_compact_aton
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - peer_path
    - addr
    argTypes:
    - char*
    - u8[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 70
    functionName: parse_peer_object_path
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
    functionUses: 0
    functionsReached:
    - hwaddr_compact_aton
    - os_strrchr
    linkageType: ''
    returnType: int
    signature: int parse_peer_object_path(const char *peer_path, u8 addr[ETH_ALEN])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_new_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message
    argTypes:
    - DBusMessage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: wpas_dbus_error_persistent_group_unknown
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
    functionUses: 0
    functionsReached:
    - dbus_message_new_error
    linkageType: ''
    returnType: DBusMessage
    signature: 'DBusMessage *

      wpas_dbus_error_persistent_group_unknown(DBusMessage *message)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:100,1
    - Dst: dbus_message_new_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - message
    argTypes:
    - DBusMessage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: wpas_dbus_error_no_p2p_mgmt_iface
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dbus_message_new_error
    linkageType: ''
    returnType: DBusMessage
    signature: DBusMessage * wpas_dbus_error_no_p2p_mgmt_iface(DBusMessage *message)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_iter_init
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:120,1
    - Dst: wpa_dbus_dict_open_read
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:123,1
    - Dst: wpa_dbus_dict_has_dict_entry
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:126,1
    - Dst: wpa_dbus_dict_get_entry
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:127,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:130,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:133,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:138,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:140,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:145,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:148,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:149,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:153,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:155,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:157,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:159,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:163,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:169,1
    - Dst: wpas_dbus_error_no_p2p_mgmt_iface
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:174,1
    - Dst: wpas_p2p_find
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:178,1
    - Dst: wpas_dbus_error_unknown_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:180,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:183,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:187,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:189,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:191,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 67
    argCount: 2
    argNames:
    - message
    - wpa_s
    argTypes:
    - DBusMessage*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 106
    functionDepth: 6
    functionLinenumber: 106
    functionLinenumberEnd: 193
    functionName: wpas_dbus_handler_p2p_find
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpas_dbus_error_invalid_args
    - wpabuf_len
    - wpas_dbus_error_no_p2p_mgmt_iface
    - wpa_dbus_dict_open_read
    - os_malloc
    - wpa_dbus_dict_get_entry
    - wpabuf_head
    - wpa_dbus_dict_has_dict_entry
    - wpa_dbus_dict_entry_clear
    - wpas_dbus_error_unknown_error
    - wpas_p2p_find
    - os_free
    - dbus_message_iter_init
    - os_strcmp
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * wpas_dbus_handler_p2p_find(DBusMessage *message,\n\t\t\t\t\t
      struct wpa_supplicant *wpa_s)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_p2p_stop_find
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - message
    - wpa_s
    argTypes:
    - DBusMessage*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 196
    functionDepth: 7
    functionLinenumber: 196
    functionLinenumberEnd: 203
    functionName: wpas_dbus_handler_p2p_stop_find
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
    functionUses: 0
    functionsReached:
    - wpas_p2p_stop_find
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * wpas_dbus_handler_p2p_stop_find(DBusMessage *message,\n\t\t\t\t\t
      \     struct wpa_supplicant *wpa_s)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_iter_init
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:213,1
    - Dst: dbus_message_iter_get_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:214,1
    - Dst: parse_peer_object_path
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:216,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:217,1
    - Dst: wpas_dbus_error_no_p2p_mgmt_iface
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:221,1
    - Dst: wpas_p2p_reject
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:223,1
    - Dst: wpas_dbus_error_unknown_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:224,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - message
    - wpa_s
    argTypes:
    - DBusMessage*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 206
    functionDepth: 2
    functionLinenumber: 206
    functionLinenumberEnd: 228
    functionName: wpas_dbus_handler_p2p_rejectpeer
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
    functionUses: 0
    functionsReached:
    - dbus_message_iter_get_basic
    - wpas_dbus_error_invalid_args
    - wpas_p2p_reject
    - wpas_dbus_error_no_p2p_mgmt_iface
    - wpas_dbus_error_unknown_error
    - parse_peer_object_path
    - dbus_message_iter_init
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * wpas_dbus_handler_p2p_rejectpeer(DBusMessage *message,\n\t\t\t\t\t
      \      struct wpa_supplicant *wpa_s)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_get_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:236,1
    - Dst: wpas_dbus_error_no_memory
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:238,1
    - Dst: wpas_dbus_error_no_p2p_mgmt_iface
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:242,1
    - Dst: wpas_p2p_listen
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:244,1
    - Dst: dbus_message_new_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:245,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - message
    - wpa_s
    argTypes:
    - DBusMessage*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 231
    functionDepth: 6
    functionLinenumber: 231
    functionLinenumberEnd: 251
    functionName: wpas_dbus_handler_p2p_listen
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
    functionUses: 0
    functionsReached:
    - dbus_message_get_args
    - wpas_p2p_listen
    - wpas_dbus_error_no_p2p_mgmt_iface
    - dbus_message_new_error
    - wpas_dbus_error_no_memory
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * wpas_dbus_handler_p2p_listen(DBusMessage *message,\n\t\t\t\t\t
      \  struct wpa_supplicant *wpa_s)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_iter_init
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:262,1
    - Dst: wpa_dbus_dict_open_read
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:265,1
    - Dst: wpa_dbus_dict_has_dict_entry
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:268,1
    - Dst: wpa_dbus_dict_get_entry
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:269,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:272,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:275,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:280,1
    - Dst: wpas_dbus_error_no_p2p_mgmt_iface
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:285,1
    - Dst: wpas_p2p_ext_listen
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:287,1
    - Dst: wpas_dbus_error_unknown_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:288,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:294,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:296,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 2
    argNames:
    - message
    - wpa_s
    argTypes:
    - DBusMessage*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 254
    functionDepth: 2
    functionLinenumber: 254
    functionLinenumberEnd: 297
    functionName: wpas_dbus_handler_p2p_extendedlisten
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_error_invalid_args
    - wpas_dbus_error_no_p2p_mgmt_iface
    - wpa_dbus_dict_open_read
    - wpa_dbus_dict_get_entry
    - wpa_dbus_dict_has_dict_entry
    - wpa_dbus_dict_entry_clear
    - wpas_p2p_ext_listen
    - wpas_dbus_error_unknown_error
    - dbus_message_iter_init
    - os_strcmp
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * wpas_dbus_handler_p2p_extendedlisten(\n\tDBusMessage
      *message, struct wpa_supplicant *wpa_s)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_iter_init
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:308,1
    - Dst: wpa_dbus_dict_open_read
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:311,1
    - Dst: wpa_dbus_dict_has_dict_entry
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:314,1
    - Dst: wpa_dbus_dict_get_entry
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:315,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:318,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:321,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:324,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:327,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:333,1
    - Dst: wpas_p2p_presence_req
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:336,1
    - Dst: wpas_dbus_error_unknown_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:337,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:343,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:345,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 2
    argNames:
    - message
    - wpa_s
    argTypes:
    - DBusMessage*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 300
    functionDepth: 2
    functionLinenumber: 300
    functionLinenumberEnd: 346
    functionName: wpas_dbus_handler_p2p_presence_request
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
    functionUses: 0
    functionsReached:
    - wpas_p2p_presence_req
    - wpas_dbus_error_invalid_args
    - wpa_dbus_dict_open_read
    - wpa_dbus_dict_get_entry
    - wpa_dbus_dict_has_dict_entry
    - wpa_dbus_dict_entry_clear
    - wpas_dbus_error_unknown_error
    - dbus_message_iter_init
    - os_strcmp
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * wpas_dbus_handler_p2p_presence_request(\n\tDBusMessage
      *message, struct wpa_supplicant *wpa_s)"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_iter_init
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:371,1
    - Dst: wpa_dbus_dict_open_read
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:373,1
    - Dst: wpa_dbus_dict_has_dict_entry
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:376,1
    - Dst: wpa_dbus_dict_get_entry
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:377,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:380,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:383,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:388,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:393,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:396,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:397,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:399,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:402,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:405,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:409,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:412,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:415,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:418,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:421,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:428,1
    - Dst: chwidth_freq2_to_ch_width
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:431,1
    - Dst: wpas_dbus_error_no_p2p_mgmt_iface
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:440,1
    - Dst: wpas_dbus_new_decompose_object_path
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:452,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:457,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:459,1
    - Dst: strtoul
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:464,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:466,1
    - Dst: wpa_config_get_network
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:472,1
    - Dst: wpas_p2p_group_add_persistent
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:476,1
    - Dst: wpas_dbus_error_unknown_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:483,1
    - Dst: wpas_p2p_group_add
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:488,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:494,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:495,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:498,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:500,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 111
    argCount: 2
    argNames:
    - message
    - wpa_s
    argTypes:
    - DBusMessage*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 349
    functionDepth: 16
    functionLinenumber: 349
    functionLinenumberEnd: 502
    functionName: wpas_dbus_handler_p2p_group_add
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
    functionUses: 0
    functionsReached:
    - os_strdup
    - wpas_dbus_error_invalid_args
    - hwaddr_aton
    - wpas_dbus_error_no_p2p_mgmt_iface
    - wpa_dbus_dict_open_read
    - wpas_dbus_new_decompose_object_path
    - wpa_dbus_dict_get_entry
    - wpas_p2p_group_add_persistent
    - chwidth_freq2_to_ch_width
    - wpa_dbus_dict_has_dict_entry
    - wpa_dbus_dict_entry_clear
    - strtoul
    - wpas_dbus_error_unknown_error
    - wpas_p2p_group_add
    - os_free
    - dbus_message_iter_init
    - wpa_config_get_network
    - os_strcmp
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * wpas_dbus_handler_p2p_group_add(DBusMessage *message,\n\t\t\t\t\t
      \     struct wpa_supplicant *wpa_s)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_p2p_disconnect
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:508,1
    - Dst: wpas_dbus_error_unknown_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:509,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - message
    - wpa_s
    argTypes:
    - DBusMessage*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 505
    functionDepth: 12
    functionLinenumber: 505
    functionLinenumberEnd: 513
    functionName: wpas_dbus_handler_p2p_disconnect
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
    functionUses: 0
    functionsReached:
    - wpas_p2p_disconnect
    - wpas_dbus_error_unknown_error
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * wpas_dbus_handler_p2p_disconnect(DBusMessage *message,\n\t\t\t\t\t
      \      struct wpa_supplicant *wpa_s)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_new_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:524,1
    - Dst: dbus_set_error_const
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:528,1
    - Dst: wpas_dbus_error_no_p2p_mgmt_iface
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:534,1
    - Dst: no_p2p_mgmt_interface
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:536,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - wpa_s
    - message
    - out_reply
    - error
    argTypes:
    - struct wpa_supplicant*
    - DBusMessage*
    - DBusMessage**
    - DBusError*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 516
    functionDepth: 1
    functionLinenumber: 516
    functionLinenumberEnd: 539
    functionName: wpa_dbus_p2p_check_enabled
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_error_no_p2p_mgmt_iface
    - no_p2p_mgmt_interface
    - dbus_message_new_error
    - dbus_set_error_const
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpa_dbus_p2p_check_enabled(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \     DBusMessage *message,\n\t\t\t\t\t      DBusMessage **out_reply,\n\t\t\t\t\t
      \     DBusError *error)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbus_p2p_check_enabled
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:553,1
    - Dst: dbus_message_iter_init
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:556,1
    - Dst: wpa_dbus_dict_open_read
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:558,1
    - Dst: wpa_dbus_dict_has_dict_entry
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:561,1
    - Dst: wpa_dbus_dict_get_entry
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:562,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:565,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:567,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:568,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:569,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:570,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:572,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:573,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:574,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:576,1
    - Dst: parse_peer_object_path
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:583,1
    - Dst: p2p_peer_known
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:584,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:585,1
    - Dst: wpas_p2p_remove_client
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:588,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:591,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:592,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:595,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 41
    argCount: 2
    argNames:
    - message
    - wpa_s
    argTypes:
    - DBusMessage*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 542
    functionDepth: 7
    functionLinenumber: 542
    functionLinenumberEnd: 597
    functionName: wpas_dbus_handler_p2p_remove_client
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
    functionUses: 0
    functionsReached:
    - os_strdup
    - wpas_dbus_error_invalid_args
    - hwaddr_aton
    - wpa_dbus_dict_open_read
    - parse_peer_object_path
    - wpa_dbus_dict_get_entry
    - p2p_peer_known
    - wpa_dbus_dict_has_dict_entry
    - wpa_dbus_p2p_check_enabled
    - wpa_dbus_dict_entry_clear
    - os_free
    - wpas_p2p_remove_client
    - dbus_message_iter_init
    - os_strcmp
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * wpas_dbus_handler_p2p_remove_client(DBusMessage *message,\n\t\t\t\t\t\t
      \ struct wpa_supplicant *wpa_s)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbus_p2p_check_enabled
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:605,1
    - Dst: wpas_p2p_stop_find
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:610,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:611,1
    - Dst: p2p_flush
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:613,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - message
    - wpa_s
    argTypes:
    - DBusMessage*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 600
    functionDepth: 7
    functionLinenumber: 600
    functionLinenumberEnd: 616
    functionName: wpas_dbus_handler_p2p_flush
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
    functionUses: 0
    functionsReached:
    - wpas_p2p_stop_find
    - wpa_dbus_p2p_check_enabled
    - p2p_flush
    - os_memset
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * wpas_dbus_handler_p2p_flush(DBusMessage *message,\n\t\t\t\t\t
      \ struct wpa_supplicant *wpa_s)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbus_p2p_check_enabled
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:641,1
    - Dst: dbus_message_iter_init
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:644,1
    - Dst: wpa_dbus_dict_open_read
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:646,1
    - Dst: wpa_dbus_dict_has_dict_entry
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:649,1
    - Dst: wpa_dbus_dict_get_entry
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:650,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:653,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:655,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:656,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:659,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:662,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:665,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:668,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:673,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:678,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:680,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:682,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:684,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:686,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:690,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:692,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:696,1
    - Dst: parse_peer_object_path
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:700,1
    - Dst: p2p_peer_known
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:701,1
    - Dst: wpas_p2p_connect
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:712,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:722,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:723,1
    - Dst: wpas_dbus_error_unknown_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:724,1
    - Dst: dbus_message_new_method_return
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:729,1
    - Dst: dbus_message_append_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:730,1
    - Dst: dbus_message_new_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:757,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:761,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:762,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:765,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:767,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 105
    argCount: 2
    argNames:
    - message
    - wpa_s
    argTypes:
    - DBusMessage*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 619
    functionDepth: 11
    functionLinenumber: 619
    functionLinenumberEnd: 769
    functionName: wpas_dbus_handler_p2p_connect
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - dbus_message_append_args
    - wpas_dbus_error_invalid_args
    - p2p_peer_known
    - wpa_dbus_dict_has_dict_entry
    - wpas_dbus_error_unknown_error
    - os_free
    - dbus_message_iter_init
    - os_strcmp
    - dbus_message_new_method_return
    - dbus_message_new_error
    - wpa_dbus_dict_get_entry
    - parse_peer_object_path
    - os_strdup
    - wpa_dbus_dict_open_read
    - wpas_p2p_connect
    - wpa_dbus_p2p_check_enabled
    - wpa_dbus_dict_entry_clear
    - os_snprintf_error
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * wpas_dbus_handler_p2p_connect(DBusMessage *message,\n\t\t\t\t\t
      \   struct wpa_supplicant *wpa_s)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_p2p_cancel
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:784,1
    - Dst: wpas_dbus_error_unknown_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:785,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - message
    - wpa_s
    argTypes:
    - DBusMessage*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 781
    functionDepth: 14
    functionLinenumber: 781
    functionLinenumberEnd: 789
    functionName: wpas_dbus_handler_p2p_cancel
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_error_unknown_error
    - wpas_p2p_cancel
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * wpas_dbus_handler_p2p_cancel(DBusMessage *message,\n\t\t\t\t\t
      \  struct wpa_supplicant *wpa_s)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbus_p2p_check_enabled
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:808,1
    - Dst: dbus_message_iter_init
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:811,1
    - Dst: wpa_dbus_dict_open_read
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:813,1
    - Dst: wpa_dbus_dict_has_dict_entry
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:816,1
    - Dst: wpa_dbus_dict_get_entry
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:817,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:820,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:822,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:823,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:824,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:827,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:829,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:831,1
    - Dst: parse_peer_object_path
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:836,1
    - Dst: p2p_peer_known
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:837,1
    - Dst: wpas_dbus_new_decompose_object_path
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:851,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:857,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:858,1
    - Dst: strtoul
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:863,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:865,1
    - Dst: wpa_config_get_network
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:871,1
    - Dst: wpas_p2p_invite
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:875,1
    - Dst: wpas_dbus_error_unknown_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:877,1
    - Dst: wpas_p2p_invite_group
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:886,1
    - Dst: wpas_dbus_error_unknown_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:888,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:895,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:896,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:897,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:901,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 70
    argCount: 2
    argNames:
    - message
    - wpa_s
    argTypes:
    - DBusMessage*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 792
    functionDepth: 7
    functionLinenumber: 792
    functionLinenumberEnd: 903
    functionName: wpas_dbus_handler_p2p_invite
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
    functionUses: 0
    functionsReached:
    - os_strdup
    - wpas_p2p_invite
    - wpas_dbus_error_invalid_args
    - wpa_dbus_dict_open_read
    - wpas_dbus_new_decompose_object_path
    - wpa_dbus_dict_get_entry
    - p2p_peer_known
    - wpa_dbus_dict_has_dict_entry
    - wpa_dbus_p2p_check_enabled
    - wpa_dbus_dict_entry_clear
    - strtoul
    - wpas_dbus_error_unknown_error
    - wpas_p2p_invite_group
    - parse_peer_object_path
    - os_free
    - dbus_message_iter_init
    - wpa_config_get_network
    - os_strcmp
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * wpas_dbus_handler_p2p_invite(DBusMessage *message,\n\t\t\t\t\t
      \  struct wpa_supplicant *wpa_s)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_iter_init
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:914,1
    - Dst: dbus_message_iter_get_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:915,1
    - Dst: parse_peer_object_path
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:917,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:918,1
    - Dst: dbus_message_iter_next
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:920,1
    - Dst: dbus_message_iter_get_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:921,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:928,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:929,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:930,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:931,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:932,1
    - Dst: wpas_dbus_error_no_p2p_mgmt_iface
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:936,1
    - Dst: wpas_p2p_prov_disc
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:938,1
    - Dst: wpas_dbus_error_unknown_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:940,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - message
    - wpa_s
    argTypes:
    - DBusMessage*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 906
    functionDepth: 10
    functionLinenumber: 906
    functionLinenumberEnd: 944
    functionName: wpas_dbus_handler_p2p_prov_disc_req
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
    functionUses: 0
    functionsReached:
    - dbus_message_iter_get_basic
    - wpas_dbus_error_invalid_args
    - wpas_p2p_prov_disc
    - wpas_dbus_error_no_p2p_mgmt_iface
    - dbus_message_iter_next
    - wpas_dbus_error_unknown_error
    - parse_peer_object_path
    - dbus_message_iter_init
    - os_strcmp
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * wpas_dbus_handler_p2p_prov_disc_req(DBusMessage *message,\n\t\t\t\t\t\t
      \ struct wpa_supplicant *wpa_s)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbus_p2p_check_enabled
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:964,1
    - Dst: dbus_message_iter_open_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:969,1
    - Dst: wpa_dbus_dict_open_write
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:971,1
    - Dst: wpa_dbus_dict_append_string
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:977,1
    - Dst: wpa_dbus_dict_append_byte_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:981,1
    - Dst: wpa_dbus_dict_begin_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:988,1
    - Dst: wpa_dbus_dict_bin_array_add_element
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:998,1
    - Dst: wpa_dbus_dict_end_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1003,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1011,1
    - Dst: wpa_dbus_dict_append_byte_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1012,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1018,1
    - Dst: wpa_dbus_dict_append_byte_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1019,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1025,1
    - Dst: wpa_dbus_dict_append_byte_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1026,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1033,1
    - Dst: wpa_dbus_dict_append_byte_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1034,1
    - Dst: wpa_dbus_dict_append_wpabuf_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1048,1
    - Dst: wpa_dbus_dict_append_uint32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1052,1
    - Dst: wpa_dbus_dict_append_bool
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1054,1
    - Dst: wpa_dbus_dict_append_uint32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1056,1
    - Dst: wpa_dbus_dict_append_uint32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1058,1
    - Dst: wpa_dbus_dict_append_uint32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1060,1
    - Dst: wpa_dbus_dict_append_uint32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1062,1
    - Dst: wpa_dbus_dict_append_string
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1065,1
    - Dst: wpa_dbus_dict_append_bool
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1067,1
    - Dst: wpa_dbus_dict_append_uint32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1069,1
    - Dst: wpa_dbus_dict_append_uint32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1071,1
    - Dst: wpa_dbus_dict_append_bool
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1073,1
    - Dst: wpa_dbus_dict_append_uint32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1075,1
    - Dst: wpa_dbus_dict_close_write
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1077,1
    - Dst: dbus_message_iter_close_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1078,1
    - Dst: dbus_set_error_const
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1084,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 49
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 951
    functionDepth: 2
    functionLinenumber: 951
    functionLinenumberEnd: 1086
    functionName: wpas_dbus_getter_p2p_device_config
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
    functionUses: 0
    functionsReached:
    - wpa_dbus_dict_append_bool
    - wpa_dbus_dict_append_uint32
    - wpa_dbus_dict_open_write
    - wpa_dbus_dict_append_wpabuf_array
    - wpa_dbus_dict_close_write
    - wpa_dbus_dict_end_array
    - dbus_set_error_const
    - wpa_dbus_p2p_check_enabled
    - wpa_dbus_dict_bin_array_add_element
    - wpa_dbus_dict_append_string
    - dbus_message_iter_open_container
    - wpa_dbus_dict_append_byte_array
    - dbus_message_iter_close_container
    - WPA_GET_BE32
    - wpa_dbus_dict_begin_array
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_p2p_device_config(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbus_p2p_check_enabled
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1098,1
    - Dst: dbus_message_iter_recurse
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1103,1
    - Dst: wpa_dbus_dict_open_read
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1104,1
    - Dst: wpa_dbus_dict_has_dict_entry
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1107,1
    - Dst: wpa_dbus_dict_get_entry
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1108,1
    - Dst: dbus_set_error_const
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1109,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1114,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1118,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1121,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1125,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1130,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1136,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1141,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1148,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1152,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1153,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1158,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1168,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1176,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1180,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1183,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1188,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1193,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1198,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1203,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1209,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1213,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1218,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1223,1
    - Dst: wpas_dbus_validate_dbus_ipaddr
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1224,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1226,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1228,1
    - Dst: wpas_dbus_validate_dbus_ipaddr
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1229,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1231,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1233,1
    - Dst: wpas_dbus_validate_dbus_ipaddr
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1234,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1236,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1238,1
    - Dst: wpas_dbus_validate_dbus_ipaddr
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1239,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1241,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1243,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1246,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1249,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1252,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1258,1
    - Dst: wpa_supplicant_update_config
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1263,1
    - Dst: dbus_set_error_const
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1269,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1271,1
    - Dst: dbus_set_error_const
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1275,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1276,1
    CyclomaticComplexity: 73
    EdgeCount: 73
    ICount: 144
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1278
      start: 1089
    functionDepth: 8
    functionLinenumber: 1089
    functionLinenumberEnd: 1278
    functionName: wpas_dbus_setter_p2p_device_config
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_strdup
    - os_memcpy
    - wpabuf_len
    - wpa_dbus_dict_open_read
    - wpabuf_free
    - wpa_dbus_dict_get_entry
    - wpabuf_head
    - wpa_dbus_dict_has_dict_entry
    - wpa_dbus_p2p_check_enabled
    - wpa_supplicant_update_config
    - wpas_dbus_validate_dbus_ipaddr
    - os_free
    - wpa_dbus_dict_entry_clear
    - dbus_set_error_const
    - os_strcmp
    - dbus_message_iter_recurse
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_setter_p2p_device_config(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbus_p2p_check_enabled
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1301,1
    - Dst: dl_list_init
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1305,1
    - Dst: p2p_get_peer_found
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1308,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1313,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1320,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1324,1
    - Dst: dl_list_add_tail
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1325,1
    - Dst: p2p_get_peer_found
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1328,1
    - Dst: os_calloc
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1335,1
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1342,1
    - Dst: wpas_dbus_simple_array_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1346,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1353,1
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1355,1
    - Dst: dl_list_del
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1357,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1358,1
    - Dst: dbus_set_error_const
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1361,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1364
      start: 1281
    functionDepth: 2
    functionLinenumber: 1281
    functionLinenumberEnd: 1364
    functionName: wpas_dbus_getter_p2p_peers
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
    functionUses: 0
    functionsReached:
    - os_calloc
    - dl_list_del
    - dl_list_add_tail
    - p2p_get_peer_found
    - os_snprintf
    - MAC2STR
    - os_zalloc
    - wpa_dbus_p2p_check_enabled
    - wpas_dbus_simple_array_property_getter
    - dl_list_init
    - os_free
    - dbus_set_error_const
    - dl_list_for_each_safe
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_p2p_peers(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1393
      start: 1373
    functionDepth: 0
    functionLinenumber: 1373
    functionLinenumberEnd: 1393
    functionName: wpas_get_p2p_role
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum wpas_p2p_role
    signature: enum wpas_p2p_role wpas_get_p2p_role(struct wpa_supplicant *wpa_s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpas_get_p2p_role
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1403,1
    - Dst: wpas_dbus_simple_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1415,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1417
      start: 1396
    functionDepth: 1
    functionLinenumber: 1396
    functionLinenumberEnd: 1417
    functionName: wpas_dbus_getter_p2p_role
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
    functionUses: 0
    functionsReached:
    - wpas_get_p2p_role
    - wpas_dbus_simple_property_getter
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_p2p_role(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1429,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1432,1
    - Dst: wpas_dbus_simple_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1435,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1437
      start: 1420
    functionDepth: 1
    functionLinenumber: 1420
    functionLinenumberEnd: 1437
    functionName: wpas_dbus_getter_p2p_group
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - wpas_dbus_simple_property_getter
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_p2p_group(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpas_get_p2p_role
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1450,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1451,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1453,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1457,1
    - Dst: wpas_dbus_simple_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1460,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1462
      start: 1440
    functionDepth: 1
    functionLinenumber: 1440
    functionLinenumberEnd: 1462
    functionName: wpas_dbus_getter_p2p_peergo
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - wpas_get_p2p_role
    - MAC2STR
    - wpas_dbus_simple_property_getter
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_p2p_peergo(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbus_p2p_check_enabled
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1470,1
    - Dst: wpas_dbus_simple_array_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1475,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1478
      start: 1464
    functionDepth: 2
    functionLinenumber: 1464
    functionLinenumberEnd: 1478
    functionName: wpas_dbus_getter_p2p_device_address
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_simple_array_property_getter
    - wpa_dbus_p2p_check_enabled
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_p2p_device_address(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbus_p2p_check_enabled
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1492,1
    - Dst: p2p_get_peer_found
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1496,1
    - Dst: dbus_set_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1499,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1504,1
    - Dst: dbus_set_error_const
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1506,1
    - Dst: wpas_dbus_simple_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1510,1
    - Dst: dbus_set_error_const
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1512,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1513,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1517,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1519
      start: 1484
    functionDepth: 2
    functionLinenumber: 1484
    functionLinenumberEnd: 1519
    functionName: wpas_dbus_getter_p2p_peer_device_name
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
    functionUses: 0
    functionsReached:
    - dbus_set_error
    - p2p_get_peer_found
    - wpas_dbus_simple_property_getter
    - wpa_dbus_p2p_check_enabled
    - os_free
    - dbus_set_error_const
    - os_strdup
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_p2p_peer_device_name(\n\tconst struct
      wpa_dbus_property_desc *property_desc,\n\tDBusMessageIter *iter, DBusError *error,
      void *user_data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbus_p2p_check_enabled
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1530,1
    - Dst: p2p_get_peer_found
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1534,1
    - Dst: dbus_set_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1537,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1541,1
    - Dst: dbus_set_error_const
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1543,1
    - Dst: wpas_dbus_simple_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1547,1
    - Dst: dbus_set_error_const
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1549,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1550,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1554,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1556
      start: 1522
    functionDepth: 2
    functionLinenumber: 1522
    functionLinenumberEnd: 1556
    functionName: wpas_dbus_getter_p2p_peer_manufacturer
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
    functionUses: 0
    functionsReached:
    - dbus_set_error
    - p2p_get_peer_found
    - wpas_dbus_simple_property_getter
    - wpa_dbus_p2p_check_enabled
    - os_free
    - dbus_set_error_const
    - os_strdup
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_p2p_peer_manufacturer(\n\tconst struct
      wpa_dbus_property_desc *property_desc,\n\tDBusMessageIter *iter, DBusError *error,
      void *user_data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbus_p2p_check_enabled
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1567,1
    - Dst: p2p_get_peer_found
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1571,1
    - Dst: dbus_set_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1574,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1578,1
    - Dst: dbus_set_error_const
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1580,1
    - Dst: wpas_dbus_simple_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1584,1
    - Dst: dbus_set_error_const
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1586,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1587,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1591,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1593
      start: 1559
    functionDepth: 2
    functionLinenumber: 1559
    functionLinenumberEnd: 1593
    functionName: wpas_dbus_getter_p2p_peer_modelname
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
    functionUses: 0
    functionsReached:
    - dbus_set_error
    - p2p_get_peer_found
    - wpas_dbus_simple_property_getter
    - wpa_dbus_p2p_check_enabled
    - os_free
    - dbus_set_error_const
    - os_strdup
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_p2p_peer_modelname(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbus_p2p_check_enabled
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1604,1
    - Dst: p2p_get_peer_found
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1608,1
    - Dst: dbus_set_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1611,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1615,1
    - Dst: dbus_set_error_const
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1617,1
    - Dst: wpas_dbus_simple_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1621,1
    - Dst: dbus_set_error_const
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1623,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1624,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1628,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1630
      start: 1596
    functionDepth: 2
    functionLinenumber: 1596
    functionLinenumberEnd: 1630
    functionName: wpas_dbus_getter_p2p_peer_modelnumber
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
    functionUses: 2
    functionsReached:
    - dbus_set_error
    - p2p_get_peer_found
    - wpas_dbus_simple_property_getter
    - wpa_dbus_p2p_check_enabled
    - os_free
    - dbus_set_error_const
    - os_strdup
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_p2p_peer_modelnumber(\n\tconst struct
      wpa_dbus_property_desc *property_desc,\n\tDBusMessageIter *iter, DBusError *error,
      void *user_data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbus_p2p_check_enabled
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1641,1
    - Dst: p2p_get_peer_found
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1645,1
    - Dst: dbus_set_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1648,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1652,1
    - Dst: dbus_set_error_const
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1654,1
    - Dst: wpas_dbus_simple_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1658,1
    - Dst: dbus_set_error_const
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1660,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1661,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1665,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1667
      start: 1633
    functionDepth: 2
    functionLinenumber: 1633
    functionLinenumberEnd: 1667
    functionName: wpas_dbus_getter_p2p_peer_serialnumber
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
    functionUses: 0
    functionsReached:
    - dbus_set_error
    - p2p_get_peer_found
    - wpas_dbus_simple_property_getter
    - wpa_dbus_p2p_check_enabled
    - os_free
    - dbus_set_error_const
    - os_strdup
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_p2p_peer_serialnumber(\n\tconst struct
      wpa_dbus_property_desc *property_desc,\n\tDBusMessageIter *iter, DBusError *error,
      void *user_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: p2p_get_peer_found
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1677,1
    - Dst: dbus_set_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1680,1
    - Dst: wpas_dbus_simple_array_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1685,1
    - Dst: dbus_set_error_const
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1689,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1694
      start: 1670
    functionDepth: 1
    functionLinenumber: 1670
    functionLinenumberEnd: 1694
    functionName: wpas_dbus_getter_p2p_peer_primary_device_type
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
    functionUses: 0
    functionsReached:
    - dbus_set_error
    - wpas_dbus_simple_array_property_getter
    - dbus_set_error_const
    - p2p_get_peer_found
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_p2p_peer_primary_device_type(\n\tconst
      struct wpa_dbus_property_desc *property_desc,\n\tDBusMessageIter *iter, DBusError
      *error, void *user_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: p2p_get_peer_found
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1704,1
    - Dst: dbus_set_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1707,1
    - Dst: wpas_dbus_simple_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1712,1
    - Dst: dbus_set_error_const
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1714,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1719
      start: 1697
    functionDepth: 1
    functionLinenumber: 1697
    functionLinenumberEnd: 1719
    functionName: wpas_dbus_getter_p2p_peer_config_method
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
    functionUses: 0
    functionsReached:
    - dbus_set_error
    - wpas_dbus_simple_property_getter
    - dbus_set_error_const
    - p2p_get_peer_found
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_p2p_peer_config_method(\n\tconst struct
      wpa_dbus_property_desc *property_desc,\n\tDBusMessageIter *iter, DBusError *error,
      void *user_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: p2p_get_peer_found
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1729,1
    - Dst: dbus_set_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1732,1
    - Dst: wpas_dbus_simple_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1737,1
    - Dst: dbus_set_error_const
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1739,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1744
      start: 1722
    functionDepth: 1
    functionLinenumber: 1722
    functionLinenumberEnd: 1744
    functionName: wpas_dbus_getter_p2p_peer_level
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
    functionUses: 0
    functionsReached:
    - dbus_set_error
    - wpas_dbus_simple_property_getter
    - dbus_set_error_const
    - p2p_get_peer_found
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_p2p_peer_level(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: p2p_get_peer_found
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1754,1
    - Dst: dbus_set_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1757,1
    - Dst: wpas_dbus_simple_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1762,1
    - Dst: dbus_set_error_const
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1764,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1769
      start: 1747
    functionDepth: 1
    functionLinenumber: 1747
    functionLinenumberEnd: 1769
    functionName: wpas_dbus_getter_p2p_peer_device_capability
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
    functionUses: 0
    functionsReached:
    - dbus_set_error
    - wpas_dbus_simple_property_getter
    - dbus_set_error_const
    - p2p_get_peer_found
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_p2p_peer_device_capability(\n\tconst
      struct wpa_dbus_property_desc *property_desc,\n\tDBusMessageIter *iter, DBusError
      *error, void *user_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: p2p_get_peer_found
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1779,1
    - Dst: dbus_set_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1782,1
    - Dst: wpas_dbus_simple_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1787,1
    - Dst: dbus_set_error_const
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1789,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1794
      start: 1772
    functionDepth: 1
    functionLinenumber: 1772
    functionLinenumberEnd: 1794
    functionName: wpas_dbus_getter_p2p_peer_group_capability
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
    functionUses: 0
    functionsReached:
    - dbus_set_error
    - wpas_dbus_simple_property_getter
    - dbus_set_error_const
    - p2p_get_peer_found
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_p2p_peer_group_capability(\n\tconst struct
      wpa_dbus_property_desc *property_desc,\n\tDBusMessageIter *iter, DBusError *error,
      void *user_data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: p2p_get_peer_found
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1805,1
    - Dst: dbus_set_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1808,1
    - Dst: dbus_message_iter_open_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1812,1
    - Dst: dbus_message_iter_open_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1817,1
    - Dst: dbus_set_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1821,1
    - Dst: dbus_message_iter_open_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1834,1
    - Dst: dbus_message_iter_append_fixed_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1838,1
    - Dst: dbus_message_iter_close_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1841,1
    - Dst: dbus_set_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1843,1
    - Dst: dbus_message_iter_close_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1853,1
    - Dst: dbus_message_iter_close_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1854,1
    - Dst: dbus_set_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1855,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1861
      start: 1797
    functionDepth: 1
    functionLinenumber: 1797
    functionLinenumberEnd: 1861
    functionName: wpas_dbus_getter_p2p_peer_secondary_device_types
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
    functionUses: 0
    functionsReached:
    - dbus_set_error
    - p2p_get_peer_found
    - dbus_message_iter_append_fixed_array
    - dbus_message_iter_open_container
    - dbus_message_iter_close_container
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_p2p_peer_secondary_device_types(\n\tconst
      struct wpa_dbus_property_desc *property_desc,\n\tDBusMessageIter *iter, DBusError
      *error, void *user_data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: p2p_get_peer_found
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1873,1
    - Dst: dbus_set_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1876,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1882,1
    - Dst: wpas_dbus_simple_array_array_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1890,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1896
      start: 1864
    functionDepth: 1
    functionLinenumber: 1864
    functionLinenumberEnd: 1896
    functionName: wpas_dbus_getter_p2p_peer_vendor_extension
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
    functionUses: 0
    functionsReached:
    - dbus_set_error
    - os_memset
    - wpas_dbus_simple_array_array_property_getter
    - p2p_get_peer_found
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_p2p_peer_vendor_extension(\n\tconst struct
      wpa_dbus_property_desc *property_desc,\n\tDBusMessageIter *iter, DBusError *error,
      void *user_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: p2p_get_peer_found
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1906,1
    - Dst: dbus_set_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1909,1
    - Dst: wpas_dbus_simple_array_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1915,1
    - Dst: wpas_dbus_simple_array_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1919,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1922
      start: 1899
    functionDepth: 1
    functionLinenumber: 1899
    functionLinenumberEnd: 1922
    functionName: wpas_dbus_getter_p2p_peer_ies
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
    functionUses: 0
    functionsReached:
    - dbus_set_error
    - wpas_dbus_simple_array_property_getter
    - p2p_get_peer_found
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_p2p_peer_ies(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: p2p_get_peer_found
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1932,1
    - Dst: dbus_set_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1935,1
    - Dst: wpas_dbus_simple_array_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1940,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1943
      start: 1925
    functionDepth: 1
    functionLinenumber: 1925
    functionLinenumberEnd: 1943
    functionName: wpas_dbus_getter_p2p_peer_device_address
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
    functionUses: 0
    functionsReached:
    - dbus_set_error
    - wpas_dbus_simple_array_property_getter
    - p2p_get_peer_found
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_p2p_peer_device_address(\n\tconst struct
      wpa_dbus_property_desc *property_desc,\n\tDBusMessageIter *iter, DBusError *error,
      void *user_data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: p2p_group_is_client_connected
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1963,1
    - Dst: p2p_group_get_config
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1966,1
    - Dst: wpas_get_p2p_go_iface
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1968,1
    - Dst: os_realloc_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:1973,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - group
    - user_data
    argTypes:
    - struct p2p_group*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1987
      start: 1955
    functionDepth: 1
    functionLinenumber: 1955
    functionLinenumberEnd: 1987
    functionName: match_group_where_peer_is_client
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
    functionUses: 0
    functionsReached:
    - p2p_group_is_client_connected
    - p2p_group_get_config
    - wpas_get_p2p_go_iface
    - os_realloc_array
    linkageType: ''
    returnType: int
    signature: "int match_group_where_peer_is_client(struct p2p_group *group,\n\t\t\t\t\t
      \   void *user_data)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: p2p_get_peer_found
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2000,1
    - Dst: dbus_set_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2003,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2008,1
    - Dst: no_p2p_mgmt_interface
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2013,1
    - Dst: wpas_get_p2p_client_iface
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2015,1
    - Dst: os_calloc
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2017,1
    - Dst: p2p_loop_on_all_groups
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2027,1
    - Dst: wpas_dbus_simple_array_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2033,1
    - Dst: wpas_dbus_simple_array_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2037,1
    - Dst: dbus_set_error_const
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2044,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2046,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2048
      start: 1990
    functionDepth: 2
    functionLinenumber: 1990
    functionLinenumberEnd: 2048
    functionName: wpas_dbus_getter_p2p_peer_groups
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
    functionUses: 0
    functionsReached:
    - os_calloc
    - dbus_set_error
    - no_p2p_mgmt_interface
    - p2p_get_peer_found
    - wpas_dbus_simple_array_property_getter
    - wpas_get_p2p_client_iface
    - os_free
    - p2p_loop_on_all_groups
    - dbus_set_error_const
    - os_memset
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_p2p_peer_groups(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: p2p_get_peer_found
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2057,1
    - Dst: dbus_set_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2060,1
    - Dst: wpas_dbus_simple_array_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2065,1
    - Dst: wpas_dbus_simple_array_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2069,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2072
      start: 2050
    functionDepth: 1
    functionLinenumber: 2050
    functionLinenumberEnd: 2072
    functionName: wpas_dbus_getter_p2p_peer_vsie
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
    functionUses: 0
    functionsReached:
    - dbus_set_error
    - wpas_dbus_simple_array_property_getter
    - p2p_get_peer_found
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_p2p_peer_vsie(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: no_p2p_mgmt_interface
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2096,1
    - Dst: network_is_persistent_group
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2102,1
    - Dst: os_calloc
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2105,1
    - Dst: dbus_set_error_const
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2107,1
    - Dst: network_is_persistent_group
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2113,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2115,1
    - Dst: dbus_set_error_const
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2117,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2122,1
    - Dst: wpas_dbus_simple_array_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2127,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2133,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2134,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2136
      start: 2084
    functionDepth: 1
    functionLinenumber: 2084
    functionLinenumberEnd: 2136
    functionName: wpas_dbus_getter_persistent_groups
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
    functionUses: 0
    functionsReached:
    - os_calloc
    - no_p2p_mgmt_interface
    - os_snprintf
    - wpas_dbus_simple_array_property_getter
    - os_zalloc
    - network_is_persistent_group
    - os_free
    - dbus_set_error_const
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_persistent_groups(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_getter_network_properties
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2159
      start: 2149
    functionDepth: 1
    functionLinenumber: 2149
    functionLinenumberEnd: 2159
    functionName: wpas_dbus_getter_persistent_group_properties
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_getter_network_properties
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_persistent_group_properties(\n\tconst
      struct wpa_dbus_property_desc *property_desc,\n\tDBusMessageIter *iter, DBusError
      *error, void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_iter_recurse
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2184,1
    - Dst: set_network_properties
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2186
      start: 2172
    functionDepth: 1
    functionLinenumber: 2172
    functionLinenumberEnd: 2186
    functionName: wpas_dbus_setter_persistent_group_properties
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
    functionUses: 0
    functionsReached:
    - set_network_properties
    - dbus_message_iter_recurse
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_setter_persistent_group_properties(\n\tconst
      struct wpa_dbus_property_desc *property_desc,\n\tDBusMessageIter *iter, DBusError
      *error, void *user_data)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_iter_init
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2209,1
    - Dst: wpas_dbus_error_no_p2p_mgmt_iface
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2213,1
    - Dst: wpa_config_add_network
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2218,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2220,1
    - Dst: wpas_dbus_error_unknown_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2223,1
    - Dst: wpas_notify_persistent_group_added
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2232,1
    - Dst: wpa_config_set_network_defaults
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2234,1
    - Dst: dbus_error_init
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2236,1
    - Dst: set_network_properties
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2237,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2238,1
    - Dst: wpas_dbus_reply_new_from_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2241,1
    - Dst: dbus_error_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2244,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2249,1
    - Dst: dbus_message_new_method_return
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2253,1
    - Dst: wpas_dbus_error_no_memory
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2255,1
    - Dst: dbus_message_append_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2258,1
    - Dst: dbus_message_unref
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2260,1
    - Dst: wpas_dbus_error_no_memory
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2261,1
    - Dst: wpas_notify_persistent_group_removed
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2269,1
    - Dst: wpa_config_remove_network
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2270,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 2
    argNames:
    - message
    - wpa_s
    argTypes:
    - DBusMessage*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2273
      start: 2200
    functionDepth: 5
    functionLinenumber: 2200
    functionLinenumberEnd: 2273
    functionName: wpas_dbus_handler_add_persistent_group
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
    functionUses: 0
    functionsReached:
    - wpa_config_set_network_defaults
    - wpa_printf
    - dbus_error_free
    - dbus_message_append_args
    - wpas_notify_persistent_group_removed
    - wpa_config_remove_network
    - wpas_notify_persistent_group_added
    - dbus_message_new_method_return
    - wpas_dbus_error_no_p2p_mgmt_iface
    - wpa_config_add_network
    - os_snprintf
    - dbus_message_unref
    - set_network_properties
    - wpas_dbus_reply_new_from_error
    - wpas_dbus_error_unknown_error
    - dbus_message_iter_init
    - wpas_dbus_error_no_memory
    - dbus_error_init
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * wpas_dbus_handler_add_persistent_group(\n\tDBusMessage
      *message, struct wpa_supplicant *wpa_s)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_get_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2295,1
    - Dst: wpas_dbus_error_no_p2p_mgmt_iface
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2300,1
    - Dst: wpas_dbus_new_decompose_object_path
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2308,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2313,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2314,1
    - Dst: strtoul
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2318,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2320,1
    - Dst: wpa_config_get_network
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2324,1
    - Dst: wpas_dbus_error_persistent_group_unknown
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2326,1
    - Dst: wpas_notify_persistent_group_removed
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2330,1
    - Dst: wpa_config_remove_network
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2332,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2333,1
    - Dst: wpas_dbus_error_unknown_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2336,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2343,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 2
    argNames:
    - message
    - wpa_s
    argTypes:
    - DBusMessage*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2345
      start: 2286
    functionDepth: 5
    functionLinenumber: 2286
    functionLinenumberEnd: 2345
    functionName: wpas_dbus_handler_remove_persistent_group
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpas_dbus_error_invalid_args
    - wpa_config_remove_network
    - dbus_message_get_args
    - wpas_dbus_error_no_p2p_mgmt_iface
    - wpas_dbus_new_decompose_object_path
    - strtoul
    - wpas_dbus_error_unknown_error
    - os_free
    - wpas_notify_persistent_group_removed
    - wpa_config_get_network
    - os_strcmp
    - wpas_dbus_error_persistent_group_unknown
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * wpas_dbus_handler_remove_persistent_group(\n\tDBusMessage
      *message, struct wpa_supplicant *wpa_s)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_notify_persistent_group_removed
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2351,1
    - Dst: wpa_config_remove_network
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2353,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2354,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - wpa_s
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2359
      start: 2348
    functionDepth: 5
    functionLinenumber: 2348
    functionLinenumberEnd: 2359
    functionName: remove_persistent_group
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpas_notify_persistent_group_removed
    - wpa_config_remove_network
    linkageType: ''
    returnType: void
    signature: "void remove_persistent_group(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \   struct wpa_ssid *ssid)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_error_no_p2p_mgmt_iface
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2380,1
    - Dst: network_is_persistent_group
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2386,1
    - Dst: remove_persistent_group
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2387,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - message
    - wpa_s
    argTypes:
    - DBusMessage*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2391
      start: 2372
    functionDepth: 6
    functionLinenumber: 2372
    functionLinenumberEnd: 2391
    functionName: wpas_dbus_handler_remove_all_persistent_groups
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_error_no_p2p_mgmt_iface
    - network_is_persistent_group
    - remove_persistent_group
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * wpas_dbus_handler_remove_all_persistent_groups(\n\tDBusMessage
      *message, struct wpa_supplicant *wpa_s)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpas_get_p2p_role
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2415,1
    - Dst: wpas_dbus_simple_array_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2416,1
    - Dst: p2p_get_group_num_members
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2427,1
    - Dst: os_calloc
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2429,1
    - Dst: p2p_iterate_group_members
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2434,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2435,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2438,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2442,1
    - Dst: wpas_dbus_simple_array_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2446,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2452,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2453,1
    - Dst: dbus_set_error_const
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2457,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2460,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2461,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2464
      start: 2398
    functionDepth: 1
    functionLinenumber: 2398
    functionLinenumberEnd: 2464
    functionName: wpas_dbus_getter_p2p_group_members
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
    functionUses: 0
    functionsReached:
    - os_calloc
    - wpas_dbus_simple_array_property_getter
    - os_snprintf
    - os_zalloc
    - MAC2STR
    - p2p_get_group_num_members
    - os_free
    - wpas_get_p2p_role
    - dbus_set_error_const
    - p2p_iterate_group_members
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_p2p_group_members(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_simple_array_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2475,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2478
      start: 2467
    functionDepth: 1
    functionLinenumber: 2467
    functionLinenumberEnd: 2478
    functionName: wpas_dbus_getter_p2p_group_ssid
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_simple_array_property_getter
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_p2p_group_ssid(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpas_get_p2p_role
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2486,1
    - Dst: wpas_dbus_simple_array_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2499,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2502
      start: 2481
    functionDepth: 1
    functionLinenumber: 2481
    functionLinenumberEnd: 2502
    functionName: wpas_dbus_getter_p2p_group_bssid
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_simple_array_property_getter
    - wpas_get_p2p_role
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_p2p_group_bssid(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpas_get_p2p_role
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2511,1
    - Dst: wpas_dbus_simple_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2523,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2525
      start: 2505
    functionDepth: 1
    functionLinenumber: 2505
    functionLinenumberEnd: 2525
    functionName: wpas_dbus_getter_p2p_group_frequency
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
    functionUses: 0
    functionsReached:
    - wpas_get_p2p_role
    - wpas_dbus_simple_property_getter
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_p2p_group_frequency(\n\tconst struct
      wpa_dbus_property_desc *property_desc,\n\tDBusMessageIter *iter, DBusError *error,
      void *user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_string_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2538,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2539
      start: 2528
    functionDepth: 1
    functionLinenumber: 2528
    functionLinenumberEnd: 2539
    functionName: wpas_dbus_getter_p2p_group_passphrase
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_string_property_getter
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_p2p_group_passphrase(\n\tconst struct
      wpa_dbus_property_desc *property_desc,\n\tDBusMessageIter *iter, DBusError *error,
      void *user_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_simple_array_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2559,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2561
      start: 2542
    functionDepth: 1
    functionLinenumber: 2542
    functionLinenumberEnd: 2561
    functionName: wpas_dbus_getter_p2p_group_psk
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_simple_array_property_getter
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_p2p_group_psk(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2573,1
    - Dst: wpas_get_p2p_role
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2576,1
    - Dst: wpas_dbus_simple_array_array_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2591,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2596
      start: 2564
    functionDepth: 1
    functionLinenumber: 2564
    functionLinenumberEnd: 2596
    functionName: wpas_dbus_getter_p2p_group_vendor_ext
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_simple_array_array_property_getter
    - wpas_get_p2p_role
    - os_memset
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_p2p_group_vendor_ext(\n\tconst struct
      wpa_dbus_property_desc *property_desc,\n\tDBusMessageIter *iter, DBusError *error,
      void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_simple_array_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2604,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2607
      start: 2599
    functionDepth: 1
    functionLinenumber: 2599
    functionLinenumberEnd: 2607
    functionName: wpas_dbus_getter_p2p_group_go_device_address
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_simple_array_property_getter
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_p2p_group_go_device_address(\n\tconst
      struct wpa_dbus_property_desc *property_desc,\n\tDBusMessageIter *iter, DBusError
      *error, void *user_data)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: wpas_get_p2p_role
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2620,1
    - Dst: dbus_message_iter_recurse
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2626,1
    - Dst: dbus_message_iter_get_arg_type
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2627,1
    - Dst: dbus_message_iter_get_element_type
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2637,1
    - Dst: dbus_message_iter_recurse
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2642,1
    - Dst: dbus_message_iter_get_arg_type
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2644,1
    - Dst: dbus_message_iter_get_element_type
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2646,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2648,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2654,1
    - Dst: dbus_message_iter_get_arg_type
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2656,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2662,1
    - Dst: dbus_message_iter_recurse
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2668,1
    - Dst: dbus_message_iter_get_fixed_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2669,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2670,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2672,1
    - Dst: dbus_message_iter_next
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2678,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2683,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2688,1
    - Dst: hostapd_update_wps
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2692,1
    - Dst: dbus_message_iter_get_element_type
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2697,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2701,1
    - Dst: wpa_dbus_dict_open_read
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2703,1
    - Dst: wpa_dbus_dict_has_dict_entry
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2706,1
    - Dst: wpa_dbus_dict_get_entry
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2707,1
    - Dst: dbus_set_error_const
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2708,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2713,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2720,1
    - Dst: hostapd_update_wps
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2729,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2733,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2739,1
    - Dst: dbus_set_error_const
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2740,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 78
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2743
      start: 2610
    functionDepth: 1
    functionLinenumber: 2610
    functionLinenumberEnd: 2743
    functionName: wpas_dbus_setter_p2p_group_vendor_ext
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
    functionUses: 0
    functionsReached:
    - dbus_message_iter_get_arg_type
    - wpa_printf
    - dbus_message_iter_get_element_type
    - wpa_hexdump
    - dbus_message_iter_get_fixed_array
    - wpabuf_free
    - wpa_dbus_dict_open_read
    - wpabuf_alloc_copy
    - wpa_dbus_dict_get_entry
    - dbus_message_iter_next
    - wpa_dbus_dict_has_dict_entry
    - hostapd_update_wps
    - wpas_get_p2p_role
    - wpa_dbus_dict_entry_clear
    - dbus_set_error_const
    - os_strcmp
    - dbus_message_iter_recurse
    - os_memset
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_setter_p2p_group_vendor_ext(\n\tconst struct
      wpa_dbus_property_desc *property_desc,\n\tDBusMessageIter *iter, DBusError *error,
      void *user_data)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_iter_init
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2760,1
    - Dst: wpa_dbus_dict_open_read
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2762,1
    - Dst: wpa_dbus_dict_has_dict_entry
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2765,1
    - Dst: wpa_dbus_dict_get_entry
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2766,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2769,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2771,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2773,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2777,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2780,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2782,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2783,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2784,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2788,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2791,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2795,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2798,1
    - Dst: wpas_p2p_service_add_upnp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2805,1
    - Dst: wpas_p2p_service_add_bonjour
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2812,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2818,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2819,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2820,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2824,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2826,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 70
    argCount: 2
    argNames:
    - message
    - wpa_s
    argTypes:
    - DBusMessage*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2828
      start: 2746
    functionDepth: 3
    functionLinenumber: 2746
    functionLinenumberEnd: 2828
    functionName: wpas_dbus_handler_p2p_add_service
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
    functionUses: 0
    functionsReached:
    - os_strdup
    - wpas_p2p_service_add_upnp
    - wpas_dbus_error_invalid_args
    - wpas_p2p_service_add_bonjour
    - wpa_dbus_dict_open_read
    - wpabuf_free
    - wpabuf_alloc_copy
    - wpa_dbus_dict_get_entry
    - wpa_dbus_dict_has_dict_entry
    - wpa_dbus_dict_entry_clear
    - os_free
    - dbus_message_iter_init
    - os_strcmp
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * wpas_dbus_handler_p2p_add_service(DBusMessage *message,\n\t\t\t\t\t\tstruct
      wpa_supplicant *wpa_s)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_iter_init
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2845,1
    - Dst: wpa_dbus_dict_open_read
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2847,1
    - Dst: wpa_dbus_dict_has_dict_entry
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2850,1
    - Dst: wpa_dbus_dict_get_entry
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2851,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2854,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2856,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2858,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2862,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2865,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2867,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2868,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2869,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2873,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2874,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2880,1
    - Dst: wpas_p2p_service_del_upnp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2886,1
    - Dst: wpas_p2p_service_del_bonjour
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2893,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2899,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2900,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2903,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2905,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2906,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2907,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 67
    argCount: 2
    argNames:
    - message
    - wpa_s
    argTypes:
    - DBusMessage*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2908
      start: 2831
    functionDepth: 3
    functionLinenumber: 2831
    functionLinenumberEnd: 2908
    functionName: wpas_dbus_handler_p2p_delete_service
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
    functionUses: 0
    functionsReached:
    - os_strdup
    - wpas_dbus_error_invalid_args
    - wpa_dbus_dict_open_read
    - wpabuf_free
    - wpabuf_alloc_copy
    - wpa_dbus_dict_get_entry
    - wpas_p2p_service_del_bonjour
    - wpa_dbus_dict_has_dict_entry
    - wpa_dbus_dict_entry_clear
    - os_free
    - wpas_p2p_service_del_upnp
    - dbus_message_iter_init
    - os_strcmp
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * wpas_dbus_handler_p2p_delete_service(\n\tDBusMessage
      *message, struct wpa_supplicant *wpa_s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_p2p_service_flush
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2914,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - message
    - wpa_s
    argTypes:
    - DBusMessage*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2916
      start: 2911
    functionDepth: 3
    functionLinenumber: 2911
    functionLinenumberEnd: 2916
    functionName: wpas_dbus_handler_p2p_flush_service
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
    functionUses: 0
    functionsReached:
    - wpas_p2p_service_flush
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * wpas_dbus_handler_p2p_flush_service(DBusMessage *message,\n\t\t\t\t\t\t
      \ struct wpa_supplicant *wpa_s)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_iter_init
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2934,1
    - Dst: wpa_dbus_dict_open_read
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2936,1
    - Dst: wpa_dbus_dict_has_dict_entry
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2939,1
    - Dst: wpa_dbus_dict_get_entry
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2940,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2942,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2944,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2945,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2947,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2951,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2954,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2956,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2957,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2961,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2962,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2967,1
    - Dst: parse_peer_object_path
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2973,1
    - Dst: p2p_peer_known
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2974,1
    - Dst: wpas_p2p_sd_request_upnp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2984,1
    - Dst: wpas_p2p_sd_request
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2988,1
    - Dst: dbus_message_new_method_return
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2992,1
    - Dst: dbus_message_append_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2993,1
    - Dst: wpas_dbus_error_unknown_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:2996,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:3000,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:3001,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:3002,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:3005,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:3007,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 74
    argCount: 2
    argNames:
    - message
    - wpa_s
    argTypes:
    - DBusMessage*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3009
      start: 2919
    functionDepth: 3
    functionLinenumber: 2919
    functionLinenumberEnd: 3009
    functionName: wpas_dbus_handler_p2p_service_sd_req
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
    functionUses: 0
    functionsReached:
    - os_strdup
    - dbus_message_append_args
    - wpas_dbus_error_invalid_args
    - wpas_p2p_sd_request_upnp
    - wpas_p2p_sd_request
    - dbus_message_new_method_return
    - wpa_dbus_dict_open_read
    - wpabuf_free
    - wpabuf_alloc_copy
    - wpa_dbus_dict_get_entry
    - p2p_peer_known
    - wpa_dbus_dict_has_dict_entry
    - wpa_dbus_dict_entry_clear
    - wpas_dbus_error_unknown_error
    - parse_peer_object_path
    - os_free
    - dbus_message_iter_init
    - os_strcmp
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * wpas_dbus_handler_p2p_service_sd_req(\n\tDBusMessage
      *message, struct wpa_supplicant *wpa_s)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_iter_init
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:3025,1
    - Dst: wpa_dbus_dict_open_read
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:3027,1
    - Dst: wpa_dbus_dict_has_dict_entry
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:3030,1
    - Dst: wpa_dbus_dict_get_entry
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:3031,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:3034,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:3036,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:3037,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:3040,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:3044,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:3048,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:3049,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:3054,1
    - Dst: parse_peer_object_path
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:3056,1
    - Dst: p2p_peer_known
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:3057,1
    - Dst: wpas_p2p_sd_response
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:3061,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:3063,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:3064,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:3067,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:3069,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 46
    argCount: 2
    argNames:
    - message
    - wpa_s
    argTypes:
    - DBusMessage*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3071
      start: 3012
    functionDepth: 2
    functionLinenumber: 3012
    functionLinenumberEnd: 3071
    functionName: wpas_dbus_handler_p2p_service_sd_res
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
    functionUses: 0
    functionsReached:
    - os_strdup
    - wpas_dbus_error_invalid_args
    - wpa_dbus_dict_open_read
    - wpabuf_free
    - wpabuf_alloc_copy
    - wpa_dbus_dict_get_entry
    - p2p_peer_known
    - wpa_dbus_dict_has_dict_entry
    - wpa_dbus_dict_entry_clear
    - wpas_p2p_sd_response
    - parse_peer_object_path
    - os_free
    - dbus_message_iter_init
    - os_strcmp
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * wpas_dbus_handler_p2p_service_sd_res(\n\tDBusMessage
      *message, struct wpa_supplicant *wpa_s)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_iter_init
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:3080,1
    - Dst: dbus_message_iter_get_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:3081,1
    - Dst: wpas_p2p_sd_cancel_request
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:3086,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:3091,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - message
    - wpa_s
    argTypes:
    - DBusMessage*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3092
      start: 3074
    functionDepth: 2
    functionLinenumber: 3074
    functionLinenumberEnd: 3092
    functionName: wpas_dbus_handler_p2p_service_sd_cancel_req
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
    functionUses: 0
    functionsReached:
    - dbus_message_iter_get_basic
    - wpas_dbus_error_invalid_args
    - wpas_p2p_sd_cancel_request
    - dbus_message_iter_init
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * wpas_dbus_handler_p2p_service_sd_cancel_req(\n\tDBusMessage
      *message, struct wpa_supplicant *wpa_s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_p2p_sd_service_update
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:3098,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - message
    - wpa_s
    argTypes:
    - DBusMessage*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3100
      start: 3095
    functionDepth: 2
    functionLinenumber: 3095
    functionLinenumberEnd: 3100
    functionName: wpas_dbus_handler_p2p_service_update
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
    functionUses: 0
    functionsReached:
    - wpas_p2p_sd_service_update
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * wpas_dbus_handler_p2p_service_update(\n\tDBusMessage
      *message, struct wpa_supplicant *wpa_s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_iter_init
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:3109,1
    - Dst: dbus_message_iter_get_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:3110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - message
    - wpa_s
    argTypes:
    - DBusMessage*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3116
      start: 3103
    functionDepth: 0
    functionLinenumber: 3103
    functionLinenumberEnd: 3116
    functionName: wpas_dbus_handler_p2p_serv_disc_external
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
    functionUses: 0
    functionsReached:
    - dbus_message_iter_get_basic
    - dbus_message_iter_init
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * wpas_dbus_handler_p2p_serv_disc_external(\n\tDBusMessage
      *message, struct wpa_supplicant *wpa_s)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wifi_display_get_wfd_ie
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:3129,1
    - Dst: wpas_dbus_simple_array_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:3131,1
    - Dst: wpas_dbus_simple_array_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:3135,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:3136,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:3137,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:3138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3141
      start: 3121
    functionDepth: 2
    functionLinenumber: 3121
    functionLinenumberEnd: 3141
    functionName: wpas_dbus_getter_global_wfd_ies
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
    functionUses: 0
    functionsReached:
    - wpabuf_len
    - wpabuf_free
    - wpabuf_head
    - wpas_dbus_simple_array_property_getter
    - wifi_display_get_wfd_ie
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_global_wfd_ies(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_iter_get_arg_type
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:3154,1
    - Dst: dbus_message_iter_recurse
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:3157,1
    - Dst: dbus_message_iter_get_arg_type
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:3158,1
    - Dst: dbus_message_iter_recurse
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:3161,1
    - Dst: dbus_message_iter_get_fixed_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:3162,1
    - Dst: wifi_display_enable
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:3164,1
    - Dst: wifi_display_deinit
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:3165,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:3170,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:3174,1
    - Dst: wifi_display_subelem_set_from_ies
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:3175,1
    - Dst: wifi_display_enable
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:3179,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:3181,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:3185,1
    - Dst: dbus_set_error_const
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c:3187,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3190
      start: 3144
    functionDepth: 3
    functionLinenumber: 3144
    functionLinenumberEnd: 3190
    functionName: wpas_dbus_setter_global_wfd_ies
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
    functionUses: 0
    functionsReached:
    - dbus_message_iter_get_arg_type
    - wpabuf_put_data
    - dbus_message_iter_get_fixed_array
    - wpabuf_free
    - dbus_set_error_const
    - wpabuf_alloc
    - wifi_display_subelem_set_from_ies
    - wifi_display_enable
    - wifi_display_deinit
    - dbus_message_iter_recurse
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_setter_global_wfd_ies(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_iter_open_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - iter
    - iter_dict
    argTypes:
    - DBusMessageIter*
    - DBusMessageIter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 43
    functionName: wpa_dbus_dict_open_write
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c
    functionUses: 1
    functionsReached:
    - dbus_message_iter_open_container
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpa_dbus_dict_open_write(DBusMessageIter *iter,\n\t\t\t\t
      \    DBusMessageIter *iter_dict)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_iter_close_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - iter
    - iter_dict
    argTypes:
    - DBusMessageIter*
    - DBusMessageIter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: wpa_dbus_dict_close_write
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c
    functionUses: 1
    functionsReached:
    - dbus_message_iter_close_container
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpa_dbus_dict_close_write(DBusMessageIter *iter,\n\t\t\t\t
      \     DBusMessageIter *iter_dict)"
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 97
    functionName: wpa_dbus_type_as_string
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * wpa_dbus_type_as_string(const int type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_iter_open_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:104,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - iter_dict
    - iter_dict_entry
    - key
    - value_type
    argTypes:
    - DBusMessageIter*
    - DBusMessageIter*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 111
    functionName: _wpa_dbus_add_dict_entry_start
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c
    functionUses: 0
    functionsReached:
    - dbus_message_iter_open_container
    - dbus_message_iter_append_basic
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t _wpa_dbus_add_dict_entry_start(\n\tDBusMessageIter *iter_dict,
      DBusMessageIter *iter_dict_entry,\n\tconst char *key, const int value_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_iter_close_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:118,1
    - Dst: dbus_message_iter_close_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - iter_dict
    - iter_dict_entry
    - iter_dict_val
    argTypes:
    - DBusMessageIter*
    - DBusMessageIter*
    - DBusMessageIter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 122
    functionName: _wpa_dbus_add_dict_entry_end
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c
    functionUses: 0
    functionsReached:
    - dbus_message_iter_close_container
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t _wpa_dbus_add_dict_entry_end(\n\tDBusMessageIter *iter_dict,
      DBusMessageIter *iter_dict_entry,\n\tDBusMessageIter *iter_dict_val)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbus_type_as_string
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:136,1
    - Dst: _wpa_dbus_add_dict_entry_start
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:140,1
    - Dst: dbus_message_iter_open_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:142,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:145,1
    - Dst: _wpa_dbus_add_dict_entry_end
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:148,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 4
    argNames:
    - iter_dict
    - key
    - value_type
    - value
    argTypes:
    - DBusMessageIter*
    - char*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 150
    functionName: _wpa_dbus_add_dict_entry_basic
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c
    functionUses: 0
    functionsReached:
    - _wpa_dbus_add_dict_entry_start
    - _wpa_dbus_add_dict_entry_end
    - dbus_message_iter_append_basic
    - wpa_dbus_type_as_string
    - dbus_message_iter_open_container
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t _wpa_dbus_add_dict_entry_basic(DBusMessageIter *iter_dict,\n\t\t\t\t\t\t
      \ const char *key,\n\t\t\t\t\t\t  const int value_type,\n\t\t\t\t\t\t  const
      void *value)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _wpa_dbus_add_dict_entry_start
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:160,1
    - Dst: dbus_message_iter_open_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:162,1
    - Dst: dbus_message_iter_open_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:167,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:173,1
    - Dst: dbus_message_iter_close_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:179,1
    - Dst: _wpa_dbus_add_dict_entry_end
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:182,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 4
    argNames:
    - iter_dict
    - key
    - value
    - value_len
    argTypes:
    - DBusMessageIter*
    - char*
    - char*
    - dbus_uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 184
    functionName: _wpa_dbus_add_dict_entry_byte_array
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c
    functionUses: 0
    functionsReached:
    - _wpa_dbus_add_dict_entry_start
    - _wpa_dbus_add_dict_entry_end
    - dbus_message_iter_append_basic
    - dbus_message_iter_open_container
    - dbus_message_iter_close_container
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t _wpa_dbus_add_dict_entry_byte_array(\n\tDBusMessageIter
      *iter_dict, const char *key,\n\tconst char *value, const dbus_uint32_t value_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _wpa_dbus_add_dict_entry_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - iter_dict
    - key
    - value
    argTypes:
    - DBusMessageIter*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 204
    functionName: wpa_dbus_dict_append_string
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c
    functionUses: 1
    functionsReached:
    - _wpa_dbus_add_dict_entry_basic
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpa_dbus_dict_append_string(DBusMessageIter *iter_dict,\n\t\t\t\t\tconst
      char *key, const char *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _wpa_dbus_add_dict_entry_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - iter_dict
    - key
    - value
    argTypes:
    - DBusMessageIter*
    - char*
    - dbus_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 222
    functionName: wpa_dbus_dict_append_bool
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c
    functionUses: 1
    functionsReached:
    - _wpa_dbus_add_dict_entry_basic
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpa_dbus_dict_append_bool(DBusMessageIter *iter_dict,\n\t\t\t\t
      \     const char *key, const dbus_bool_t value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _wpa_dbus_add_dict_entry_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - iter_dict
    - key
    - value
    argTypes:
    - DBusMessageIter*
    - char*
    - dbus_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 241
    functionName: wpa_dbus_dict_append_int16
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c
    functionUses: 0
    functionsReached:
    - _wpa_dbus_add_dict_entry_basic
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpa_dbus_dict_append_int16(DBusMessageIter *iter_dict,\n\t\t\t\t
      \      const char *key,\n\t\t\t\t       const dbus_int16_t value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _wpa_dbus_add_dict_entry_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - iter_dict
    - key
    - value
    argTypes:
    - DBusMessageIter*
    - char*
    - dbus_uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 254
    functionDepth: 2
    functionLinenumber: 254
    functionLinenumberEnd: 260
    functionName: wpa_dbus_dict_append_uint16
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c
    functionUses: 0
    functionsReached:
    - _wpa_dbus_add_dict_entry_basic
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpa_dbus_dict_append_uint16(DBusMessageIter *iter_dict,\n\t\t\t\t\tconst
      char *key,\n\t\t\t\t\tconst dbus_uint16_t value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _wpa_dbus_add_dict_entry_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - iter_dict
    - key
    - value
    argTypes:
    - DBusMessageIter*
    - char*
    - dbus_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 273
    functionDepth: 2
    functionLinenumber: 273
    functionLinenumberEnd: 279
    functionName: wpa_dbus_dict_append_int32
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c
    functionUses: 0
    functionsReached:
    - _wpa_dbus_add_dict_entry_basic
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpa_dbus_dict_append_int32(DBusMessageIter *iter_dict,\n\t\t\t\t
      \      const char *key,\n\t\t\t\t       const dbus_int32_t value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _wpa_dbus_add_dict_entry_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - iter_dict
    - key
    - value
    argTypes:
    - DBusMessageIter*
    - char*
    - dbus_uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 292
    functionDepth: 2
    functionLinenumber: 292
    functionLinenumberEnd: 298
    functionName: wpa_dbus_dict_append_uint32
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c
    functionUses: 1
    functionsReached:
    - _wpa_dbus_add_dict_entry_basic
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpa_dbus_dict_append_uint32(DBusMessageIter *iter_dict,\n\t\t\t\t\tconst
      char *key,\n\t\t\t\t\tconst dbus_uint32_t value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _wpa_dbus_add_dict_entry_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - iter_dict
    - key
    - value
    argTypes:
    - DBusMessageIter*
    - char*
    - dbus_uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 311
    functionDepth: 2
    functionLinenumber: 311
    functionLinenumberEnd: 317
    functionName: wpa_dbus_dict_append_uint64
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c
    functionUses: 0
    functionsReached:
    - _wpa_dbus_add_dict_entry_basic
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpa_dbus_dict_append_uint64(DBusMessageIter *iter_dict,\n\t\t\t\t\tconst
      char *key,\n\t\t\t\t\tconst dbus_uint64_t value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _wpa_dbus_add_dict_entry_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:336,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - iter_dict
    - key
    - value
    argTypes:
    - DBusMessageIter*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 330
    functionDepth: 2
    functionLinenumber: 330
    functionLinenumberEnd: 338
    functionName: wpa_dbus_dict_append_object_path
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c
    functionUses: 0
    functionsReached:
    - _wpa_dbus_add_dict_entry_basic
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpa_dbus_dict_append_object_path(DBusMessageIter *iter_dict,\n\t\t\t\t\t
      \    const char *key,\n\t\t\t\t\t     const char *value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _wpa_dbus_add_dict_entry_byte_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:359,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 4
    argNames:
    - iter_dict
    - key
    - value
    - value_len
    argTypes:
    - DBusMessageIter*
    - char*
    - char*
    - dbus_uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 352
    functionDepth: 2
    functionLinenumber: 352
    functionLinenumberEnd: 361
    functionName: wpa_dbus_dict_append_byte_array
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c
    functionUses: 1
    functionsReached:
    - _wpa_dbus_add_dict_entry_byte_array
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpa_dbus_dict_append_byte_array(DBusMessageIter *iter_dict,\n\t\t\t\t\t
      \   const char *key,\n\t\t\t\t\t    const char *value,\n\t\t\t\t\t    const
      dbus_uint32_t value_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _wpa_dbus_add_dict_entry_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:380,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - iter_dict
    - key
    - value
    argTypes:
    - DBusMessageIter*
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 374
    functionDepth: 2
    functionLinenumber: 374
    functionLinenumberEnd: 382
    functionName: wpa_dbus_dict_append_double
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c
    functionUses: 0
    functionsReached:
    - _wpa_dbus_add_dict_entry_basic
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpa_dbus_dict_append_double(DBusMessageIter *iter_dict,\n\t\t\t\t\tconst
      char *key,\n\t\t\t\t\tconst double value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:410,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:413,1
    - Dst: _wpa_dbus_add_dict_entry_start
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:417,1
    - Dst: dbus_message_iter_open_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:419,1
    - Dst: dbus_message_iter_open_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:425,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 6
    argNames:
    - iter_dict
    - key
    - type
    - iter_dict_entry
    - iter_dict_val
    - iter_array
    argTypes:
    - DBusMessageIter*
    - char*
    - char*
    - DBusMessageIter*
    - DBusMessageIter*
    - DBusMessageIter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 427
    functionName: wpa_dbus_dict_begin_array
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c
    functionUses: 1
    functionsReached:
    - os_snprintf
    - dbus_message_iter_open_container
    - _wpa_dbus_add_dict_entry_start
    - os_snprintf_error
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpa_dbus_dict_begin_array(DBusMessageIter *iter_dict,\n\t\t\t\t
      \     const char *key, const char *type,\n\t\t\t\t      DBusMessageIter *iter_dict_entry,\n\t\t\t\t
      \     DBusMessageIter *iter_dict_val,\n\t\t\t\t      DBusMessageIter *iter_array)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbus_dict_begin_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - iter_dict
    - key
    - iter_dict_entry
    - iter_dict_val
    - iter_array
    argTypes:
    - DBusMessageIter*
    - char*
    - DBusMessageIter*
    - DBusMessageIter*
    - DBusMessageIter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 430
    functionDepth: 2
    functionLinenumber: 430
    functionLinenumberEnd: 440
    functionName: wpa_dbus_dict_begin_string_array
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c
    functionUses: 0
    functionsReached:
    - wpa_dbus_dict_begin_array
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpa_dbus_dict_begin_string_array(DBusMessageIter *iter_dict,\n\t\t\t\t\t
      \    const char *key,\n\t\t\t\t\t     DBusMessageIter *iter_dict_entry,\n\t\t\t\t\t
      \    DBusMessageIter *iter_dict_val,\n\t\t\t\t\t     DBusMessageIter *iter_array)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_iter_append_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:459,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - iter_array
    - elem
    argTypes:
    - DBusMessageIter*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 461
    functionName: wpa_dbus_dict_string_array_add_element
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c
    functionUses: 0
    functionsReached:
    - dbus_message_iter_append_basic
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpa_dbus_dict_string_array_add_element(DBusMessageIter
      *iter_array,\n\t\t\t\t\t\t   const char *elem)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_iter_open_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:484,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:490,1
    - Dst: dbus_message_iter_close_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:496,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - iter_array
    - value
    - value_len
    argTypes:
    - DBusMessageIter*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 497
    functionName: wpa_dbus_dict_bin_array_add_element
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c
    functionUses: 1
    functionsReached:
    - dbus_message_iter_open_container
    - dbus_message_iter_close_container
    - dbus_message_iter_append_basic
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpa_dbus_dict_bin_array_add_element(DBusMessageIter *iter_array,\n\t\t\t\t\t\tconst
      u8 *value,\n\t\t\t\t\t\tsize_t value_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_iter_close_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:523,1
    - Dst: _wpa_dbus_add_dict_entry_end
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:526,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 4
    argNames:
    - iter_dict
    - iter_dict_entry
    - iter_dict_val
    - iter_array
    argTypes:
    - DBusMessageIter*
    - DBusMessageIter*
    - DBusMessageIter*
    - DBusMessageIter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 517
    functionDepth: 1
    functionLinenumber: 517
    functionLinenumberEnd: 528
    functionName: wpa_dbus_dict_end_array
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c
    functionUses: 1
    functionsReached:
    - _wpa_dbus_add_dict_entry_end
    - dbus_message_iter_close_container
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpa_dbus_dict_end_array(DBusMessageIter *iter_dict,\n\t\t\t\t
      \   DBusMessageIter *iter_dict_entry,\n\t\t\t\t    DBusMessageIter *iter_dict_val,\n\t\t\t\t
      \   DBusMessageIter *iter_array)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbus_dict_begin_string_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:551,1
    - Dst: wpa_dbus_dict_string_array_add_element
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:557,1
    - Dst: wpa_dbus_dict_end_string_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:562,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 4
    argNames:
    - iter_dict
    - key
    - items
    - num_items
    argTypes:
    - DBusMessageIter*
    - char*
    - char**
    - dbus_uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 542
    functionDepth: 3
    functionLinenumber: 542
    functionLinenumberEnd: 564
    functionName: wpa_dbus_dict_append_string_array
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c
    functionUses: 0
    functionsReached:
    - wpa_dbus_dict_string_array_add_element
    - wpa_dbus_dict_end_string_array
    - wpa_dbus_dict_begin_string_array
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpa_dbus_dict_append_string_array(DBusMessageIter *iter_dict,\n\t\t\t\t\t
      \     const char *key,\n\t\t\t\t\t      const char **items,\n\t\t\t\t\t      const
      dbus_uint32_t num_items)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbus_dict_begin_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:588,1
    - Dst: wpa_dbus_dict_bin_array_add_element
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:596,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:597,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:598,1
    - Dst: wpa_dbus_dict_end_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:602,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 4
    argNames:
    - iter_dict
    - key
    - items
    - num_items
    argTypes:
    - DBusMessageIter*
    - char*
    - struct wpabuf**
    - dbus_uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 578
    functionDepth: 2
    functionLinenumber: 578
    functionLinenumberEnd: 604
    functionName: wpa_dbus_dict_append_wpabuf_array
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c
    functionUses: 1
    functionsReached:
    - wpabuf_len
    - wpa_dbus_dict_end_array
    - wpabuf_head
    - wpa_dbus_dict_bin_array_add_element
    - wpa_dbus_dict_begin_array
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpa_dbus_dict_append_wpabuf_array(DBusMessageIter *iter_dict,\n\t\t\t\t\t
      \     const char *key,\n\t\t\t\t\t      const struct wpabuf **items,\n\t\t\t\t\t
      \     const dbus_uint32_t num_items)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:627,1
    - Dst: dbus_set_error_const
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:629,1
    - Dst: dbus_message_iter_get_arg_type
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:634,1
    - Dst: dbus_message_iter_get_element_type
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:636,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:637,1
    - Dst: dbus_message_iter_get_element_type
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:641,1
    - Dst: dbus_set_error_const
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:642,1
    - Dst: dbus_message_iter_recurse
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:647,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - iter
    - iter_dict
    - error
    argTypes:
    - DBusMessageIter*
    - DBusMessageIter*
    - DBusError*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 649
    functionName: wpa_dbus_dict_open_read
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c
    functionUses: 13
    functionsReached:
    - dbus_message_iter_get_arg_type
    - wpa_printf
    - dbus_message_iter_get_element_type
    - dbus_set_error_const
    - dbus_message_iter_recurse
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpa_dbus_dict_open_read(DBusMessageIter *iter,\n\t\t\t\t
      \   DBusMessageIter *iter_dict,\n\t\t\t\t    DBusError *error)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_calloc
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:665,1
    - Dst: dbus_message_iter_get_arg_type
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:670,1
    - Dst: os_realloc_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:674,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:678,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:679,1
    - Dst: dbus_message_iter_get_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:687,1
    - Dst: dbus_message_iter_next
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:690,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:693,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:698,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 2
    argNames:
    - iter
    - entry
    argTypes:
    - DBusMessageIter*
    - struct wpa_dbus_dict_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 655
    functionDepth: 1
    functionLinenumber: 655
    functionLinenumberEnd: 706
    functionName: _wpa_dbus_dict_entry_get_byte_array
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c
    functionUses: 0
    functionsReached:
    - dbus_message_iter_get_basic
    - dbus_message_iter_get_arg_type
    - wpa_printf
    - wpa_hexdump_key
    - os_calloc
    - dbus_message_iter_next
    - os_free
    - os_realloc_array
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t _wpa_dbus_dict_entry_get_byte_array(\n\tDBusMessageIter
      *iter, struct wpa_dbus_dict_entry *entry)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_calloc
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:721,1
    - Dst: dbus_message_iter_get_arg_type
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:726,1
    - Dst: os_realloc_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:730,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:734,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:735,1
    - Dst: dbus_message_iter_get_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:743,1
    - Dst: dbus_message_iter_next
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:746,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:749,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:754,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - iter
    - entry
    argTypes:
    - DBusMessageIter*
    - struct wpa_dbus_dict_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 712
    functionDepth: 1
    functionLinenumber: 712
    functionLinenumberEnd: 759
    functionName: _wpa_dbus_dict_entry_get_uint16_array
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c
    functionUses: 0
    functionsReached:
    - dbus_message_iter_get_basic
    - dbus_message_iter_get_arg_type
    - wpa_printf
    - wpa_hexdump_key
    - os_calloc
    - dbus_message_iter_next
    - os_free
    - os_realloc_array
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t _wpa_dbus_dict_entry_get_uint16_array(\n\tDBusMessageIter
      *iter, struct wpa_dbus_dict_entry *entry)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_calloc
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:776,1
    - Dst: dbus_message_iter_get_arg_type
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:780,1
    - Dst: os_realloc_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:785,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:789,1
    - Dst: dbus_message_iter_get_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:797,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:798,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:800,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:802,1
    - Dst: dbus_message_iter_next
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:808,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:812,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:817,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:826,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:828,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 3
    argNames:
    - iter
    - array_type
    - entry
    argTypes:
    - DBusMessageIter*
    - int
    - struct wpa_dbus_dict_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 765
    functionDepth: 1
    functionLinenumber: 765
    functionLinenumberEnd: 830
    functionName: _wpa_dbus_dict_entry_get_string_array
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c
    functionUses: 0
    functionsReached:
    - dbus_message_iter_get_basic
    - dbus_message_iter_get_arg_type
    - wpa_printf
    - os_calloc
    - dbus_message_iter_next
    - os_free
    - os_strdup
    - os_realloc_array
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t _wpa_dbus_dict_entry_get_string_array(\n\tDBusMessageIter
      *iter, int array_type,\n\tstruct wpa_dbus_dict_entry *entry)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_iter_get_arg_type
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:847,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:848,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:854,1
    - Dst: dbus_message_iter_get_element_type
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:859,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:861,1
    - Dst: dbus_message_iter_get_arg_type
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:866,1
    - Dst: os_realloc_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:874,1
    - Dst: dbus_message_iter_recurse
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:881,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:882,1
    - Dst: _wpa_dbus_dict_entry_get_byte_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:884,1
    - Dst: wpabuf_alloc_ext_data
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:889,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:892,1
    - Dst: dbus_message_iter_next
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:896,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:898,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:905,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:906,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 52
    argCount: 2
    argNames:
    - iter
    - entry
    argTypes:
    - DBusMessageIter*
    - struct wpa_dbus_dict_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 836
    functionDepth: 2
    functionLinenumber: 836
    functionLinenumberEnd: 910
    functionName: _wpa_dbus_dict_entry_get_binarray
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c
    functionUses: 0
    functionsReached:
    - dbus_message_iter_get_arg_type
    - wpa_printf
    - dbus_message_iter_get_element_type
    - wpabuf_alloc_ext_data
    - os_memset
    - wpabuf_free
    - _wpa_dbus_dict_entry_get_byte_array
    - dbus_message_iter_next
    - os_free
    - wpa_dbus_dict_entry_clear
    - dbus_message_iter_recurse
    - os_realloc_array
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t _wpa_dbus_dict_entry_get_binarray(\n\tDBusMessageIter
      *iter, struct wpa_dbus_dict_entry *entry)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_iter_get_element_type
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:916,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:920,1
    - Dst: dbus_message_iter_recurse
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:922,1
    - Dst: _wpa_dbus_dict_entry_get_byte_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:926,1
    - Dst: _wpa_dbus_dict_entry_get_uint16_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:930,1
    - Dst: _wpa_dbus_dict_entry_get_string_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:934,1
    - Dst: _wpa_dbus_dict_entry_get_binarray
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:939,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:942,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - iter_dict_val
    - entry
    argTypes:
    - DBusMessageIter*
    - struct wpa_dbus_dict_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 913
    functionDepth: 3
    functionLinenumber: 913
    functionLinenumberEnd: 948
    functionName: _wpa_dbus_dict_entry_get_array
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c
    functionUses: 0
    functionsReached:
    - _wpa_dbus_dict_entry_get_uint16_array
    - dbus_message_iter_get_element_type
    - wpa_printf
    - _wpa_dbus_dict_entry_get_string_array
    - _wpa_dbus_dict_entry_get_byte_array
    - _wpa_dbus_dict_entry_get_binarray
    - dbus_message_iter_recurse
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t _wpa_dbus_dict_entry_get_array(\n\tDBusMessageIter *iter_dict_val,
      struct wpa_dbus_dict_entry *entry)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_iter_get_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:958,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:959,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:961,1
    - Dst: dbus_message_iter_get_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:966,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:967,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:969,1
    - Dst: dbus_message_iter_get_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:974,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:975,1
    - Dst: dbus_message_iter_get_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:979,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:980,1
    - Dst: dbus_message_iter_get_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:984,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:985,1
    - Dst: dbus_message_iter_get_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:989,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:990,1
    - Dst: dbus_message_iter_get_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:994,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:995,1
    - Dst: dbus_message_iter_get_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:999,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:1000,1
    - Dst: dbus_message_iter_get_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:1004,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:1005,1
    - Dst: dbus_message_iter_get_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:1009,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:1010,1
    - Dst: dbus_message_iter_get_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:1015,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:1016,1
    - Dst: _wpa_dbus_dict_entry_get_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:1020,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:1022,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 59
    argCount: 2
    argNames:
    - entry
    - iter
    argTypes:
    - struct wpa_dbus_dict_entry*
    - DBusMessageIter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 951
    functionDepth: 4
    functionLinenumber: 951
    functionLinenumberEnd: 1028
    functionName: _wpa_dbus_dict_fill_value_from_variant
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c
    functionUses: 0
    functionsReached:
    - dbus_message_iter_get_basic
    - wpa_printf
    - os_strdup
    - _wpa_dbus_dict_entry_get_array
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t _wpa_dbus_dict_fill_value_from_variant(\n\tstruct wpa_dbus_dict_entry
      *entry, DBusMessageIter *iter)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_iter_get_arg_type
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:1055,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:1056,1
    - Dst: dbus_message_iter_recurse
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:1060,1
    - Dst: dbus_message_iter_get_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:1061,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:1062,1
    - Dst: dbus_message_iter_next
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:1065,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:1066,1
    - Dst: dbus_message_iter_get_arg_type
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:1069,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:1071,1
    - Dst: dbus_message_iter_recurse
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:1077,1
    - Dst: dbus_message_iter_get_arg_type
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:1078,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:1079,1
    - Dst: _wpa_dbus_dict_fill_value_from_variant
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:1082,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:1083,1
    - Dst: dbus_message_iter_next
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:1089,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:1094,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 2
    argNames:
    - iter_dict
    - entry
    argTypes:
    - DBusMessageIter*
    - struct wpa_dbus_dict_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1100
      start: 1047
    functionDepth: 5
    functionLinenumber: 1047
    functionLinenumberEnd: 1100
    functionName: wpa_dbus_dict_get_entry
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c
    functionUses: 13
    functionsReached:
    - dbus_message_iter_get_basic
    - dbus_message_iter_get_arg_type
    - wpa_printf
    - dbus_message_iter_next
    - _wpa_dbus_dict_fill_value_from_variant
    - wpa_dbus_dict_entry_clear
    - dbus_message_iter_recurse
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpa_dbus_dict_get_entry(DBusMessageIter *iter_dict,\n\t\t\t\t
      \   struct wpa_dbus_dict_entry * entry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_iter_get_arg_type
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:1115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - iter_dict
    argTypes:
    - DBusMessageIter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1111
    functionDepth: 0
    functionLinenumber: 1111
    functionLinenumberEnd: 1117
    functionName: wpa_dbus_dict_has_dict_entry
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c
    functionUses: 13
    functionsReached:
    - dbus_message_iter_get_arg_type
    linkageType: ''
    returnType: dbus_bool_t
    signature: dbus_bool_t wpa_dbus_dict_has_dict_entry(DBusMessageIter *iter_dict)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:1134,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:1139,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:1142,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:1148,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:1149,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:1153,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:1154,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c:1160,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 1
    argNames:
    - entry
    argTypes:
    - struct wpa_dbus_dict_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1161
      start: 1125
    functionDepth: 1
    functionLinenumber: 1125
    functionLinenumberEnd: 1161
    functionName: wpa_dbus_dict_entry_clear
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c
    functionUses: 15
    functionsReached:
    - os_free
    - wpabuf_free
    - os_memset
    linkageType: ''
    returnType: void
    signature: void wpa_dbus_dict_entry_clear(struct wpa_dbus_dict_entry *entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - struct wpa_dbus_dict_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1173
      start: 1164
    functionDepth: 0
    functionLinenumber: 1164
    functionLinenumberEnd: 1173
    functionName: wpa_dbus_dict_entry_is_int
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: dbus_bool_t
    signature: dbus_bool_t wpa_dbus_dict_entry_is_int(const struct wpa_dbus_dict_entry
      *entry)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - entry
    argTypes:
    - struct wpa_dbus_dict_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1196
      start: 1176
    functionDepth: 0
    functionLinenumber: 1176
    functionLinenumberEnd: 1196
    functionName: wpa_dbus_dict_entry_get_int
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpa_dbus_dict_entry_get_int(const struct wpa_dbus_dict_entry *entry)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_get_type
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:56,1
    - Dst: dbus_message_is_signal
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:59,1
    - Dst: dbus_error_init
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:67,1
    - Dst: dbus_message_get_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:69,1
    - Dst: dbus_error_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:75,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:81,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:82,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:84,1
    - Dst: wpas_dbus_unsubscribe_noc
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:86,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 3
    argNames:
    - conn
    - message
    - data
    argTypes:
    - DBusConnection*
    - DBusMessage*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 92
    functionName: noc_filter
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - dbus_error_free
    - dbus_message_get_type
    - wpas_dbus_unsubscribe_noc
    - dbus_message_get_args
    - dbus_message_is_signal
    - os_free
    - os_strcmp
    - dbus_error_init
    linkageType: ''
    returnType: DBusHandlerResult
    signature: "DBusHandlerResult noc_filter(DBusConnection *conn,\n\t\t\t\t    DBusMessage
      *message, void *data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dbus_connection_add_filter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:101,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:102,1
    - Dst: dbus_bus_add_match
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - priv
    argTypes:
    - struct wpas_dbus_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 107
    functionName: wpas_dbus_subscribe_noc
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dbus_connection_add_filter
    - dbus_bus_add_match
    linkageType: ''
    returnType: void
    signature: void wpas_dbus_subscribe_noc(struct wpas_dbus_priv *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dbus_bus_remove_match
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:116,1
    - Dst: dbus_connection_remove_filter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - priv
    argTypes:
    - struct wpas_dbus_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 118
    functionName: wpas_dbus_unsubscribe_noc
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 1
    functionsReached:
    - dbus_connection_remove_filter
    - dbus_bus_remove_match
    linkageType: ''
    returnType: void
    signature: void wpas_dbus_unsubscribe_noc(struct wpas_dbus_priv *priv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_new_signal
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:145,1
    - Dst: dbus_message_iter_init_append
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:150,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:151,1
    - Dst: wpa_dbus_get_object_properties
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:154,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:157,1
    - Dst: dbus_connection_send
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:159,1
    - Dst: dbus_message_unref
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:160,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - wpa_s
    - sig_name
    - properties
    argTypes:
    - struct wpa_supplicant*
    - char*
    - dbus_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 161
    functionName: wpas_dbus_signal_interface
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dbus_message_new_signal
    - dbus_connection_send
    - dbus_message_iter_append_basic
    - dbus_message_iter_init_append
    - dbus_message_unref
    - wpa_dbus_get_object_properties
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_interface(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \      const char *sig_name,\n\t\t\t\t       dbus_bool_t properties)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_signal_interface
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 173
    functionName: wpas_dbus_signal_interface_added
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_signal_interface
    linkageType: ''
    returnType: void
    signature: void wpas_dbus_signal_interface_added(struct wpa_supplicant *wpa_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_signal_interface
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 182
    functionDepth: 2
    functionLinenumber: 182
    functionLinenumberEnd: 186
    functionName: wpas_dbus_signal_interface_removed
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_signal_interface
    linkageType: ''
    returnType: void
    signature: void wpas_dbus_signal_interface_removed(struct wpa_supplicant *wpa_s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_new_signal
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:208,1
    - Dst: dbus_message_append_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:215,1
    - Dst: dbus_connection_send
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:217,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:219,1
    - Dst: dbus_message_unref
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:220,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - wpa_s
    - success
    argTypes:
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 221
    functionName: wpas_dbus_signal_scan_done
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 1
    functionsReached:
    - dbus_message_append_args
    - wpa_printf
    - dbus_message_new_signal
    - dbus_connection_send
    - dbus_message_unref
    linkageType: ''
    returnType: void
    signature: void wpas_dbus_signal_scan_done(struct wpa_supplicant *wpa_s, int success)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_new_signal
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:247,1
    - Dst: dbus_message_iter_init_append
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:253,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:254,1
    - Dst: wpa_dbus_get_object_properties
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:257,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:260,1
    - Dst: dbus_connection_send
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:262,1
    - Dst: dbus_message_unref
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:263,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 4
    argNames:
    - wpa_s
    - bss_obj_path
    - sig_name
    - properties
    argTypes:
    - struct wpa_supplicant*
    - char*
    - char*
    - dbus_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 264
    functionName: wpas_dbus_signal_bss
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dbus_message_new_signal
    - dbus_connection_send
    - dbus_message_iter_append_basic
    - dbus_message_iter_init_append
    - dbus_message_unref
    - wpa_dbus_get_object_properties
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_bss(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      const char *bss_obj_path,\n\t\t\t\t const char *sig_name, dbus_bool_t properties)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_signal_bss
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - bss_obj_path
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 278
    functionName: wpas_dbus_signal_bss_added
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_signal_bss
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_bss_added(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \      const char *bss_obj_path)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_signal_bss
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - bss_obj_path
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 292
    functionName: wpas_dbus_signal_bss_removed
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_signal_bss
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_bss_removed(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      const char *bss_obj_path)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_new_signal
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:315,1
    - Dst: dbus_message_append_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:321,1
    - Dst: dbus_connection_send
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:323,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:325,1
    - Dst: dbus_message_unref
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:326,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - wpa_s
    - name
    - sig_name
    argTypes:
    - struct wpa_supplicant*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 327
    functionName: wpas_dbus_signal_blob
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 0
    functionsReached:
    - dbus_message_append_args
    - wpa_printf
    - dbus_message_new_signal
    - dbus_connection_send
    - dbus_message_unref
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_blob(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \ const char *name, const char *sig_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_signal_blob
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - name
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 341
    functionName: wpas_dbus_signal_blob_added
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 1
    functionsReached:
    - wpas_dbus_signal_blob
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_blob_added(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      const char *name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_signal_blob
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - name
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 355
    functionName: wpas_dbus_signal_blob_removed
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 1
    functionsReached:
    - wpas_dbus_signal_blob
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_blob_removed(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \  const char *name)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:382,1
    - Dst: dbus_message_new_signal
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:386,1
    - Dst: dbus_message_iter_init_append
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:392,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:394,1
    - Dst: wpa_dbus_get_object_properties
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:397,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:400,1
    - Dst: dbus_connection_send
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:402,1
    - Dst: dbus_message_unref
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:403,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - wpa_s
    - id
    - sig_name
    - properties
    argTypes:
    - struct wpa_supplicant*
    - int
    - char*
    - dbus_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 404
    functionName: wpas_dbus_signal_network
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dbus_message_new_signal
    - dbus_connection_send
    - dbus_message_iter_append_basic
    - dbus_message_iter_init_append
    - os_snprintf
    - dbus_message_unref
    - wpa_dbus_get_object_properties
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_network(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \    int id, const char *sig_name,\n\t\t\t\t     dbus_bool_t properties)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_signal_network
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - id
    argTypes:
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 414
    functionDepth: 2
    functionLinenumber: 414
    functionLinenumberEnd: 418
    functionName: wpas_dbus_signal_network_added
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_signal_network
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_network_added(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \  int id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_signal_network
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - id
    argTypes:
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 432
    functionName: wpas_dbus_signal_network_removed
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_signal_network
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_network_removed(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \    int id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_signal_network
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - id
    argTypes:
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 442
    functionDepth: 2
    functionLinenumber: 442
    functionLinenumberEnd: 445
    functionName: wpas_dbus_signal_network_selected
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 1
    functionsReached:
    - wpas_dbus_signal_network
    linkageType: ''
    returnType: void
    signature: void wpas_dbus_signal_network_selected(struct wpa_supplicant *wpa_s,
      int id)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_supplicant_ctrl_req_to_string
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:475,1
    - Dst: dbus_message_new_signal
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:479,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:485,1
    - Dst: dbus_message_iter_init_append
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:490,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:491,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:493,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:494,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:495,1
    - Dst: dbus_connection_send
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:497,1
    - Dst: dbus_message_unref
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:498,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 4
    argNames:
    - wpa_s
    - ssid
    - rtype
    - default_txt
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    - enum wpa_ctrl_req_type
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 499
    functionName: wpas_dbus_signal_network_request
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - dbus_message_new_signal
    - dbus_connection_send
    - dbus_message_iter_append_basic
    - dbus_message_iter_init_append
    - os_snprintf
    - dbus_message_unref
    - wpa_supplicant_ctrl_req_to_string
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_network_request(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \     struct wpa_ssid *ssid,\n\t\t\t\t      enum wpa_ctrl_req_type rtype,\n\t\t\t\t
      \     const char *default_txt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:518,1
    - Dst: wpa_dbus_mark_property_changed
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:522,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - wpa_s
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 524
    functionName: wpas_dbus_signal_network_enabled_changed
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 1
    functionsReached:
    - os_snprintf
    - wpa_dbus_mark_property_changed
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_network_enabled_changed(struct wpa_supplicant
      *wpa_s,\n\t\t\t\t\t      struct wpa_ssid *ssid)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_new_signal
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:549,1
    - Dst: dbus_message_iter_init_append
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:554,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:556,1
    - Dst: wpa_dbus_dict_open_write
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:557,1
    - Dst: wpa_dbus_dict_close_write
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:558,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:559,1
    - Dst: dbus_connection_send
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:561,1
    - Dst: dbus_message_unref
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:563,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 535
    functionDepth: 1
    functionLinenumber: 535
    functionLinenumberEnd: 564
    functionName: wpas_dbus_signal_wps_event_pbc_overlap
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - dbus_message_new_signal
    - wpa_dbus_dict_open_write
    - dbus_connection_send
    - wpa_dbus_dict_close_write
    - dbus_message_iter_append_basic
    - dbus_message_iter_init_append
    - dbus_message_unref
    linkageType: ''
    returnType: void
    signature: void wpas_dbus_signal_wps_event_pbc_overlap(struct wpa_supplicant *wpa_s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_new_signal
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:587,1
    - Dst: dbus_message_iter_init_append
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:592,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:594,1
    - Dst: wpa_dbus_dict_open_write
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:595,1
    - Dst: wpa_dbus_dict_close_write
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:596,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:597,1
    - Dst: dbus_connection_send
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:599,1
    - Dst: dbus_message_unref
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:601,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 602
    functionName: wpas_dbus_signal_wps_event_success
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - dbus_message_new_signal
    - wpa_dbus_dict_open_write
    - dbus_connection_send
    - wpa_dbus_dict_close_write
    - dbus_message_iter_append_basic
    - dbus_message_iter_init_append
    - dbus_message_unref
    linkageType: ''
    returnType: void
    signature: void wpas_dbus_signal_wps_event_success(struct wpa_supplicant *wpa_s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_new_signal
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:628,1
    - Dst: dbus_message_iter_init_append
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:633,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:635,1
    - Dst: wpa_dbus_dict_open_write
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:636,1
    - Dst: wpa_dbus_dict_append_int32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:637,1
    - Dst: wpa_dbus_dict_append_int32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:638,1
    - Dst: wpa_dbus_dict_append_int32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:640,1
    - Dst: wpa_dbus_dict_close_write
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:642,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:643,1
    - Dst: dbus_connection_send
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:645,1
    - Dst: dbus_message_unref
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:647,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 2
    argNames:
    - wpa_s
    - fail
    argTypes:
    - struct wpa_supplicant*
    - struct wps_event_fail*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 613
    functionDepth: 3
    functionLinenumber: 613
    functionLinenumberEnd: 648
    functionName: wpas_dbus_signal_wps_event_fail
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - dbus_message_new_signal
    - wpa_dbus_dict_open_write
    - dbus_connection_send
    - wpa_dbus_dict_close_write
    - dbus_message_iter_append_basic
    - dbus_message_iter_init_append
    - dbus_message_unref
    - wpa_dbus_dict_append_int32
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_wps_event_fail(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \    struct wps_event_fail *fail)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_new_signal
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:674,1
    - Dst: dbus_message_iter_init_append
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:679,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:681,1
    - Dst: wpa_dbus_dict_open_write
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:682,1
    - Dst: wpa_dbus_dict_append_uint16
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:683,1
    - Dst: wpa_dbus_dict_append_byte_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:685,1
    - Dst: wpa_dbus_dict_append_byte_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:688,1
    - Dst: wpa_dbus_dict_append_byte_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:691,1
    - Dst: wpa_dbus_dict_append_byte_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:694,1
    - Dst: wpa_dbus_dict_append_byte_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:698,1
    - Dst: wpa_dbus_dict_append_byte_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:701,1
    - Dst: wpa_dbus_dict_append_uint16
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:704,1
    - Dst: wpa_dbus_dict_append_uint16
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:706,1
    - Dst: wpa_dbus_dict_close_write
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:708,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:709,1
    - Dst: dbus_connection_send
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:711,1
    - Dst: dbus_message_unref
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:713,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 12
    argCount: 2
    argNames:
    - wpa_s
    - m2d
    argTypes:
    - struct wpa_supplicant*
    - struct wps_event_m2d*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 659
    functionDepth: 3
    functionLinenumber: 659
    functionLinenumberEnd: 714
    functionName: wpas_dbus_signal_wps_event_m2d
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 1
    functionsReached:
    - wpa_dbus_dict_append_uint16
    - wpa_printf
    - dbus_message_new_signal
    - wpa_dbus_dict_open_write
    - dbus_connection_send
    - wpa_dbus_dict_close_write
    - dbus_message_iter_append_basic
    - dbus_message_iter_init_append
    - dbus_message_unref
    - wpa_dbus_dict_append_byte_array
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_wps_event_m2d(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \   struct wps_event_m2d *m2d)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_new_signal
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:741,1
    - Dst: dbus_message_iter_init_append
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:747,1
    - Dst: wpa_dbus_dict_open_write
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:748,1
    - Dst: wpa_dbus_dict_append_byte_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:774,1
    - Dst: wpa_dbus_dict_append_byte_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:777,1
    - Dst: wpa_dbus_dict_append_string_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:780,1
    - Dst: wpa_dbus_dict_append_string_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:783,1
    - Dst: wpa_dbus_dict_append_byte_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:786,1
    - Dst: wpa_dbus_dict_append_uint32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:789,1
    - Dst: wpa_dbus_dict_close_write
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:791,1
    - Dst: dbus_connection_send
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:794,1
    - Dst: dbus_message_unref
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:797,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 34
    argCount: 2
    argNames:
    - wpa_s
    - cred
    argTypes:
    - struct wpa_supplicant*
    - struct wps_credential*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 724
    functionDepth: 4
    functionLinenumber: 724
    functionLinenumberEnd: 798
    functionName: wpas_dbus_signal_wps_cred
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 1
    functionsReached:
    - dbus_message_new_signal
    - wpa_dbus_dict_append_uint32
    - wpa_dbus_dict_open_write
    - dbus_connection_send
    - wpa_dbus_dict_close_write
    - dbus_message_iter_init_append
    - dbus_message_unref
    - wpa_dbus_dict_append_string_array
    - wpa_dbus_dict_append_byte_array
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_wps_cred(struct wpa_supplicant *wpa_s,\n\t\t\t
      \      const struct wps_credential *cred)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_new_signal
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:818,1
    - Dst: dbus_message_iter_init_append
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:824,1
    - Dst: wpa_dbus_dict_open_write
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:825,1
    - Dst: wpa_dbus_dict_append_byte_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:826,1
    - Dst: wpa_dbus_dict_close_write
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:829,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:830,1
    - Dst: dbus_connection_send
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:832,1
    - Dst: dbus_message_unref
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:833,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - wpa_s
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 805
    functionDepth: 3
    functionLinenumber: 805
    functionLinenumberEnd: 834
    functionName: wpas_dbus_signal_mesh_group_started
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - dbus_message_new_signal
    - wpa_dbus_dict_open_write
    - dbus_connection_send
    - wpa_dbus_dict_close_write
    - dbus_message_iter_init_append
    - dbus_message_unref
    - wpa_dbus_dict_append_byte_array
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_mesh_group_started(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      struct wpa_ssid *ssid)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_new_signal
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:851,1
    - Dst: dbus_message_iter_init_append
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:857,1
    - Dst: wpa_dbus_dict_open_write
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:858,1
    - Dst: wpa_dbus_dict_append_byte_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:859,1
    - Dst: wpa_dbus_dict_append_int32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:862,1
    - Dst: wpa_dbus_dict_close_write
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:864,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:865,1
    - Dst: dbus_connection_send
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:867,1
    - Dst: dbus_message_unref
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:868,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 4
    argNames:
    - wpa_s
    - meshid
    - meshid_len
    - reason
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 837
    functionDepth: 3
    functionLinenumber: 837
    functionLinenumberEnd: 869
    functionName: wpas_dbus_signal_mesh_group_removed
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 1
    functionsReached:
    - wpa_dbus_dict_append_byte_array
    - wpa_printf
    - dbus_message_new_signal
    - wpa_dbus_dict_open_write
    - dbus_connection_send
    - wpa_dbus_dict_close_write
    - dbus_message_iter_init_append
    - dbus_message_unref
    - wpa_dbus_dict_append_int32
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_mesh_group_removed(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      const u8 *meshid, u8 meshid_len,\n\t\t\t\t\t int reason)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_new_signal
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:885,1
    - Dst: dbus_message_iter_init_append
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:891,1
    - Dst: wpa_dbus_dict_open_write
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:892,1
    - Dst: wpa_dbus_dict_append_byte_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:893,1
    - Dst: wpa_dbus_dict_close_write
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:896,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:897,1
    - Dst: dbus_connection_send
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:899,1
    - Dst: dbus_message_unref
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:900,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - wpa_s
    - peer_addr
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 872
    functionDepth: 3
    functionLinenumber: 872
    functionLinenumberEnd: 901
    functionName: wpas_dbus_signal_mesh_peer_connected
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - dbus_message_new_signal
    - wpa_dbus_dict_open_write
    - dbus_connection_send
    - wpa_dbus_dict_close_write
    - dbus_message_iter_init_append
    - dbus_message_unref
    - wpa_dbus_dict_append_byte_array
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_mesh_peer_connected(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \ const u8 *peer_addr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_new_signal
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:917,1
    - Dst: dbus_message_iter_init_append
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:923,1
    - Dst: wpa_dbus_dict_open_write
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:924,1
    - Dst: wpa_dbus_dict_append_byte_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:925,1
    - Dst: wpa_dbus_dict_append_int32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:928,1
    - Dst: wpa_dbus_dict_close_write
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:930,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:931,1
    - Dst: dbus_connection_send
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:933,1
    - Dst: dbus_message_unref
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:934,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - wpa_s
    - peer_addr
    - reason
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 904
    functionDepth: 3
    functionLinenumber: 904
    functionLinenumberEnd: 935
    functionName: wpas_dbus_signal_mesh_peer_disconnected
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 1
    functionsReached:
    - wpa_dbus_dict_append_byte_array
    - wpa_printf
    - dbus_message_new_signal
    - wpa_dbus_dict_open_write
    - dbus_connection_send
    - wpa_dbus_dict_close_write
    - dbus_message_iter_init_append
    - dbus_message_unref
    - wpa_dbus_dict_append_int32
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_mesh_peer_disconnected(struct wpa_supplicant
      *wpa_s,\n\t\t\t\t\t     const u8 *peer_addr, int reason)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_new_signal
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:963,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:969,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:974,1
    - Dst: dbus_message_iter_init_append
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:979,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:980,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:982,1
    - Dst: wpa_dbus_dict_open_write
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:984,1
    - Dst: wpa_dbus_dict_append_string
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:985,1
    - Dst: wpa_dbus_dict_append_int32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:986,1
    - Dst: wpa_dbus_dict_append_int32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:987,1
    - Dst: wpa_dbus_dict_append_int32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:989,1
    - Dst: wpa_dbus_dict_append_int32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:991,1
    - Dst: wpa_dbus_dict_append_int32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:992,1
    - Dst: wpa_dbus_dict_append_int32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:994,1
    - Dst: wpa_dbus_dict_close_write
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:996,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:997,1
    - Dst: dbus_connection_send
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:999,1
    - Dst: dbus_message_unref
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1000,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 16
    argCount: 8
    argNames:
    - wpa_s
    - bss
    - cred
    - type
    - excluded
    - bh
    - bss_load
    - conn_capab
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_bss*
    - struct wpa_cred*
    - char*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 942
    functionDepth: 3
    functionLinenumber: 942
    functionLinenumberEnd: 1001
    functionName: wpas_dbus_signal_interworking_ap_added
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - dbus_message_new_signal
    - wpa_dbus_dict_open_write
    - dbus_connection_send
    - wpa_dbus_dict_close_write
    - dbus_message_iter_append_basic
    - dbus_message_iter_init_append
    - os_snprintf
    - dbus_message_unref
    - wpa_dbus_dict_append_string
    - wpa_dbus_dict_append_int32
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_interworking_ap_added(struct wpa_supplicant
      *wpa_s,\n\t\t\t\t\t    struct wpa_bss *bss,\n\t\t\t\t\t    struct wpa_cred *cred,\n\t\t\t\t\t
      \   const char *type,\n\t\t\t\t\t    int excluded,\n\t\t\t\t\t    int bh,\n\t\t\t\t\t
      \   int bss_load,\n\t\t\t\t\t    int conn_capab)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_new_signal
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1015,1
    - Dst: dbus_connection_send
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1021,1
    - Dst: dbus_message_unref
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1023,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 1004
    functionDepth: 0
    functionLinenumber: 1004
    functionLinenumberEnd: 1024
    functionName: wpas_dbus_signal_interworking_select_done
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 1
    functionsReached:
    - dbus_connection_send
    - dbus_message_unref
    - dbus_message_new_signal
    linkageType: ''
    returnType: void
    signature: void wpas_dbus_signal_interworking_select_done(struct wpa_supplicant
      *wpa_s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1035,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1035,1
    - Dst: dbus_message_new_signal
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1044,1
    - Dst: dbus_message_iter_init_append
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1050,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1052,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1053,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1054,1
    - Dst: dbus_connection_send
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1056,1
    - Dst: dbus_message_unref
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1057,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - wpa_s
    - dst
    - result
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1027
    functionDepth: 1
    functionLinenumber: 1027
    functionLinenumberEnd: 1058
    functionName: wpas_dbus_signal_anqp_query_done
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - dbus_message_new_signal
    - dbus_connection_send
    - dbus_message_iter_append_basic
    - dbus_message_iter_init_append
    - os_snprintf
    - MAC2STR
    - dbus_message_unref
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_anqp_query_done(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \     const u8 *dst, const char *result)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_new_signal
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1080,1
    - Dst: dbus_message_iter_init_append
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1086,1
    - Dst: wpa_dbus_dict_open_write
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1087,1
    - Dst: wpa_dbus_dict_append_uint32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1088,1
    - Dst: wpa_dbus_dict_append_string
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1089,1
    - Dst: wpa_dbus_dict_append_string_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1091,1
    - Dst: wpa_dbus_dict_append_string
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1094,1
    - Dst: wpa_dbus_dict_append_byte_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1097,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1098,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1099,1
    - Dst: wpa_dbus_dict_close_write
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1100,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1101,1
    - Dst: dbus_connection_send
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1103,1
    - Dst: dbus_message_unref
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1104,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 12
    argCount: 7
    argNames:
    - wpa_s
    - depth
    - subject
    - altsubject
    - num_altsubject
    - cert_hash
    - cert
    argTypes:
    - struct wpa_supplicant*
    - int
    - char*
    - char*[]
    - int
    - char*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 1063
    functionDepth: 4
    functionLinenumber: 1063
    functionLinenumberEnd: 1105
    functionName: wpas_dbus_signal_certification
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - dbus_message_new_signal
    - wpa_dbus_dict_append_uint32
    - wpa_dbus_dict_open_write
    - wpabuf_len
    - dbus_connection_send
    - wpa_dbus_dict_close_write
    - dbus_message_iter_init_append
    - wpabuf_head
    - dbus_message_unref
    - wpa_dbus_dict_append_string_array
    - wpa_dbus_dict_append_string
    - wpa_dbus_dict_append_byte_array
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_certification(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \   int depth, const char *subject,\n\t\t\t\t    const char *altsubject[],\n\t\t\t\t
      \   int num_altsubject,\n\t\t\t\t    const char *cert_hash,\n\t\t\t\t    const
      struct wpabuf *cert)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_new_signal
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1121,1
    - Dst: dbus_message_iter_init_append
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1127,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1129,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1130,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1132,1
    - Dst: dbus_connection_send
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1134,1
    - Dst: dbus_message_unref
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1135,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - wpa_s
    - status
    - parameter
    argTypes:
    - struct wpa_supplicant*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1108
    functionDepth: 0
    functionLinenumber: 1108
    functionLinenumberEnd: 1136
    functionName: wpas_dbus_signal_eap_status
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - dbus_message_new_signal
    - dbus_connection_send
    - dbus_message_iter_append_basic
    - dbus_message_iter_init_append
    - dbus_message_unref
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_eap_status(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      const char *status, const char *parameter)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_new_signal
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1150,1
    - Dst: dbus_connection_send
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1156,1
    - Dst: dbus_message_unref
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1158,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1159
      start: 1139
    functionDepth: 0
    functionLinenumber: 1139
    functionLinenumberEnd: 1159
    functionName: wpas_dbus_signal_psk_mismatch
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 1
    functionsReached:
    - dbus_connection_send
    - dbus_message_unref
    - dbus_message_new_signal
    linkageType: ''
    returnType: void
    signature: void wpas_dbus_signal_psk_mismatch(struct wpa_supplicant *wpa_s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_new_signal
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1173,1
    - Dst: dbus_connection_send
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1179,1
    - Dst: dbus_message_unref
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1182
      start: 1162
    functionDepth: 0
    functionLinenumber: 1162
    functionLinenumberEnd: 1182
    functionName: wpas_dbus_signal_sae_password_mismatch
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 1
    functionsReached:
    - dbus_connection_send
    - dbus_message_unref
    - dbus_message_new_signal
    linkageType: ''
    returnType: void
    signature: void wpas_dbus_signal_sae_password_mismatch(struct wpa_supplicant *wpa_s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1201,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1201,1
    - Dst: dbus_message_new_signal
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1210,1
    - Dst: dbus_message_append_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1215,1
    - Dst: dbus_connection_send
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1217,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1219,1
    - Dst: dbus_message_unref
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1220,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1222,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - wpa_s
    - sta
    - sig_name
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1224
      start: 1193
    functionDepth: 1
    functionLinenumber: 1193
    functionLinenumberEnd: 1224
    functionName: wpas_dbus_signal_sta
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 0
    functionsReached:
    - dbus_message_append_args
    - wpa_printf
    - dbus_message_new_signal
    - dbus_connection_send
    - os_snprintf
    - MAC2STR
    - dbus_message_unref
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_sta(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      const u8 *sta, const char *sig_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_signal_sta
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - sta
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1234
    functionDepth: 2
    functionLinenumber: 1234
    functionLinenumberEnd: 1238
    functionName: wpas_dbus_signal_sta_authorized
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 1
    functionsReached:
    - wpas_dbus_signal_sta
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_sta_authorized(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \    const u8 *sta)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_signal_sta
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - sta
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1252
      start: 1248
    functionDepth: 2
    functionLinenumber: 1248
    functionLinenumberEnd: 1252
    functionName: wpas_dbus_signal_sta_deauthorized
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 1
    functionsReached:
    - wpas_dbus_signal_sta
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_sta_deauthorized(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \      const u8 *sta)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1279,1
    - Dst: dbus_message_new_signal
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1280,1
    - Dst: dbus_message_iter_init_append
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1285,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1286,1
    - Dst: wpa_dbus_get_object_properties
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1289,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1292,1
    - Dst: dbus_connection_send
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1294,1
    - Dst: dbus_message_unref
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1295,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 4
    argNames:
    - wpa_s
    - station_obj_path
    - sig_name
    - properties
    argTypes:
    - struct wpa_supplicant*
    - char*
    - char*
    - dbus_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1296
      start: 1264
    functionDepth: 1
    functionLinenumber: 1264
    functionLinenumberEnd: 1296
    functionName: wpas_dbus_signal_station
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dbus_message_new_signal
    - dbus_connection_send
    - dbus_message_iter_append_basic
    - dbus_message_iter_init_append
    - dbus_message_unref
    - wpa_dbus_get_object_properties
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_station(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \    const char *station_obj_path,\n\t\t\t\t     const char *sig_name,\n\t\t\t\t
      \    dbus_bool_t properties)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_signal_station
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - station_obj_path
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1310
      start: 1306
    functionDepth: 2
    functionLinenumber: 1306
    functionLinenumberEnd: 1310
    functionName: wpas_dbus_signal_station_added
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_signal_station
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_station_added(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \  const char *station_obj_path)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_signal_station
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - station_obj_path
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1320
    functionDepth: 2
    functionLinenumber: 1320
    functionLinenumberEnd: 1325
    functionName: wpas_dbus_signal_station_removed
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_signal_station
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_station_removed(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \    const char *station_obj_path)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_new_signal
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1356,1
    - Dst: dbus_message_iter_init_append
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1362,1
    - Dst: wpa_dbus_dict_open_write
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1363,1
    - Dst: wpa_dbus_dict_append_object_path
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1364,1
    - Dst: wpa_dbus_dict_append_string
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1367,1
    - Dst: wpa_dbus_dict_append_object_path
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1368,1
    - Dst: wpa_dbus_dict_close_write
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1370,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1371,1
    - Dst: dbus_connection_send
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1373,1
    - Dst: dbus_message_unref
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1374,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 2
    argNames:
    - wpa_s
    - role
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1375
      start: 1336
    functionDepth: 3
    functionLinenumber: 1336
    functionLinenumberEnd: 1375
    functionName: wpas_dbus_signal_p2p_group_removed
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - dbus_message_new_signal
    - wpa_dbus_dict_open_write
    - dbus_connection_send
    - wpa_dbus_dict_close_write
    - dbus_message_iter_init_append
    - dbus_message_unref
    - wpa_dbus_dict_append_string
    - wpa_dbus_dict_append_object_path
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_p2p_group_removed(struct wpa_supplicant *wpa_s,\n\t\t\t\t\tconst
      char *role)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1448,1
    - Dst: dbus_message_new_signal
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1452,1
    - Dst: p2p_peer_known
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1458,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1461,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1464,1
    - Dst: dbus_message_iter_init_append
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1468,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1470,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1477,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1482,1
    - Dst: dbus_connection_send
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1488,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1490,1
    - Dst: dbus_message_unref
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1492,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 45
    argCount: 6
    argNames:
    - wpa_s
    - dev_addr
    - request
    - status
    - config_methods
    - generated_pin
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - int
    - enum p2p_prov_disc_status
    - u16
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1493
      start: 1398
    functionDepth: 1
    functionLinenumber: 1398
    functionLinenumberEnd: 1493
    functionName: wpas_dbus_signal_p2p_provision_discovery
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - dbus_message_new_signal
    - dbus_connection_send
    - dbus_message_iter_append_basic
    - dbus_message_iter_init_append
    - os_snprintf
    - p2p_peer_known
    - MAC2STR
    - dbus_message_unref
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_p2p_provision_discovery(struct wpa_supplicant
      *wpa_s,\n\t\t\t\t\t      const u8 *dev_addr, int request,\n\t\t\t\t\t      enum
      p2p_prov_disc_status status,\n\t\t\t\t\t      u16 config_methods,\n\t\t\t\t\t
      \     unsigned int generated_pin)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1526,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1528,1
    - Dst: dbus_message_new_signal
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1531,1
    - Dst: dbus_message_iter_init_append
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1537,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1539,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1541,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1543,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1545,1
    - Dst: dbus_connection_send
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1547,1
    - Dst: dbus_message_unref
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1549,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - wpa_s
    - src
    - dev_passwd_id
    - go_intent
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u16
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1550
      start: 1506
    functionDepth: 1
    functionLinenumber: 1506
    functionLinenumberEnd: 1550
    functionName: wpas_dbus_signal_p2p_go_neg_req
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - dbus_message_new_signal
    - dbus_connection_send
    - dbus_message_iter_append_basic
    - dbus_message_iter_init_append
    - os_snprintf
    - MAC2STR
    - dbus_message_unref
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_p2p_go_neg_req(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \    const u8 *src, u16 dev_passwd_id,\n\t\t\t\t     u8 go_intent)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1560,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1563,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1566,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - wpa_s
    - ssid
    - group_obj_path
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1571
      start: 1553
    functionDepth: 0
    functionLinenumber: 1553
    functionLinenumberEnd: 1571
    functionName: wpas_dbus_get_group_obj_path
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - os_memcpy
    - os_memcmp
    linkageType: ''
    returnType: int
    signature: "int wpas_dbus_get_group_obj_path(struct wpa_supplicant *wpa_s,\n\t\t\t\t\tconst
      struct wpa_ssid *ssid,\n\t\t\t\t\tchar *group_obj_path)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: p2p_group_is_client_connected
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1587,1
    - Dst: p2p_group_get_config
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1590,1
    - Dst: wpas_get_p2p_go_iface
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1592,1
    - Dst: wpas_dbus_signal_peer_groups_changed
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1595,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - group
    - user_data
    argTypes:
    - struct p2p_group*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1601
      start: 1580
    functionDepth: 1
    functionLinenumber: 1580
    functionLinenumberEnd: 1601
    functionName: match_group_where_peer_is_client
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 0
    functionsReached:
    - p2p_group_is_client_connected
    - wpas_dbus_signal_peer_groups_changed
    - p2p_group_get_config
    - wpas_get_p2p_go_iface
    linkageType: ''
    returnType: int
    signature: "int match_group_where_peer_is_client(struct p2p_group *group,\n\t\t\t\t\t
      \   void *user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_get_p2p_client_iface
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1610,1
    - Dst: wpas_dbus_signal_peer_groups_changed
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1613,1
    - Dst: p2p_loop_on_all_groups
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1619,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - info
    - user_data
    argTypes:
    - struct p2p_peer_info*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1622
      start: 1604
    functionDepth: 2
    functionLinenumber: 1604
    functionLinenumberEnd: 1622
    functionName: signal_peer_groups_changed
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 2
    functionsReached:
    - wpas_get_p2p_client_iface
    - p2p_loop_on_all_groups
    - wpas_dbus_signal_peer_groups_changed
    linkageType: ''
    returnType: void
    signature: "void signal_peer_groups_changed(struct p2p_peer_info *info,\n\t\t\t\t
      \      void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1629,1
    - Dst: p2p_loop_on_known_peers
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1634
      start: 1625
    functionDepth: 1
    functionLinenumber: 1625
    functionLinenumberEnd: 1634
    functionName: peer_groups_changed
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 2
    functionsReached:
    - p2p_loop_on_known_peers
    - os_memset
    linkageType: ''
    returnType: void
    signature: void peer_groups_changed(struct wpa_supplicant *wpa_s)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_new_signal
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1671,1
    - Dst: dbus_message_iter_init_append
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1677,1
    - Dst: wpa_dbus_dict_open_write
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1683,1
    - Dst: wpa_dbus_dict_append_object_path
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1684,1
    - Dst: wpa_dbus_dict_append_string
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1687,1
    - Dst: wpa_dbus_dict_append_bool
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1689,1
    - Dst: wpa_dbus_dict_append_object_path
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1691,1
    - Dst: wpa_dbus_dict_append_byte_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1694,1
    - Dst: wpa_dbus_dict_append_byte_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1696,1
    - Dst: wpa_dbus_dict_append_byte_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1698,1
    - Dst: wpa_dbus_dict_close_write
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1700,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1701,1
    - Dst: dbus_connection_send
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1703,1
    - Dst: peer_groups_changed
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1705,1
    - Dst: dbus_message_unref
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1707,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 21
    argCount: 4
    argNames:
    - wpa_s
    - client
    - persistent
    - ip
    argTypes:
    - struct wpa_supplicant*
    - int
    - int
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1708
      start: 1648
    functionDepth: 3
    functionLinenumber: 1648
    functionLinenumberEnd: 1708
    functionName: wpas_dbus_signal_p2p_group_started
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 1
    functionsReached:
    - wpa_dbus_dict_append_bool
    - wpa_printf
    - dbus_message_new_signal
    - wpa_dbus_dict_open_write
    - dbus_connection_send
    - wpa_dbus_dict_close_write
    - dbus_message_iter_init_append
    - dbus_message_unref
    - peer_groups_changed
    - wpa_dbus_dict_append_string
    - wpa_dbus_dict_append_object_path
    - wpa_dbus_dict_append_byte_array
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_p2p_group_started(struct wpa_supplicant *wpa_s,\n\t\t\t\t\tint
      client, int persistent,\n\t\t\t\t\tconst u8 *ip)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1733,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1738,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1740,1
    - Dst: dbus_message_new_signal
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1743,1
    - Dst: dbus_message_iter_init_append
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1750,1
    - Dst: wpa_dbus_dict_open_write
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1751,1
    - Dst: wpa_dbus_dict_append_object_path
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1752,1
    - Dst: wpa_dbus_dict_append_int32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1754,1
    - Dst: wpa_dbus_dict_append_string
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1762,1
    - Dst: wpa_dbus_dict_append_string
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1764,1
    - Dst: wpa_dbus_dict_append_int32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1767,1
    - Dst: wpa_dbus_dict_append_byte_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1769,1
    - Dst: wpa_dbus_dict_append_byte_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1772,1
    - Dst: wpa_dbus_dict_append_byte_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1777,1
    - Dst: wpa_dbus_dict_append_string
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1782,1
    - Dst: p2p_wps_method_text
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1783,1
    - Dst: wpa_dbus_dict_begin_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1794,1
    - Dst: dbus_message_iter_append_fixed_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1800,1
    - Dst: wpa_dbus_dict_end_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1804,1
    - Dst: wpa_dbus_dict_append_int32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1808,1
    - Dst: wpa_dbus_dict_append_uint32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1810,1
    - Dst: wpa_dbus_dict_close_write
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1816,1
    - Dst: dbus_connection_send
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1819,1
    - Dst: dbus_message_unref
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1821,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 37
    argCount: 2
    argNames:
    - wpa_s
    - res
    argTypes:
    - struct wpa_supplicant*
    - struct p2p_go_neg_results*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1822
      start: 1716
    functionDepth: 3
    functionLinenumber: 1716
    functionLinenumberEnd: 1822
    functionName: wpas_dbus_signal_p2p_go_neg_resp
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 1
    functionsReached:
    - wpa_dbus_dict_append_byte_array
    - wpa_dbus_dict_begin_array
    - dbus_message_new_signal
    - wpa_dbus_dict_append_uint32
    - wpa_dbus_dict_open_write
    - dbus_connection_send
    - wpa_dbus_dict_close_write
    - wpa_dbus_dict_end_array
    - dbus_message_iter_init_append
    - os_snprintf
    - MAC2STR
    - dbus_message_unref
    - dbus_message_iter_append_fixed_array
    - wpa_dbus_dict_append_string
    - p2p_wps_method_text
    - wpa_dbus_dict_append_object_path
    - wpa_dbus_dict_append_int32
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_p2p_go_neg_resp(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \     struct p2p_go_neg_results *res)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1838,1
    - Dst: dbus_message_new_signal
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1850,1
    - Dst: dbus_message_iter_init_append
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1857,1
    - Dst: wpa_dbus_dict_open_write
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1858,1
    - Dst: wpa_dbus_dict_append_int32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1859,1
    - Dst: wpa_dbus_dict_append_byte_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1861,1
    - Dst: wpa_dbus_dict_close_write
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1864,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1865,1
    - Dst: dbus_connection_send
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1867,1
    - Dst: dbus_message_unref
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1868,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 3
    argNames:
    - wpa_s
    - status
    - bssid
    argTypes:
    - struct wpa_supplicant*
    - int
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1869
      start: 1831
    functionDepth: 3
    functionLinenumber: 1831
    functionLinenumberEnd: 1869
    functionName: wpas_dbus_signal_p2p_invitation_result
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 1
    functionsReached:
    - wpa_dbus_dict_append_byte_array
    - wpa_printf
    - dbus_message_new_signal
    - wpa_dbus_dict_open_write
    - dbus_connection_send
    - wpa_dbus_dict_close_write
    - dbus_message_iter_init_append
    - dbus_message_unref
    - wpa_dbus_dict_append_int32
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_p2p_invitation_result(struct wpa_supplicant
      *wpa_s,\n\t\t\t\t\t    int status, const u8 *bssid)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1905,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1908,1
    - Dst: dbus_message_new_signal
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1910,1
    - Dst: dbus_message_iter_init_append
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1916,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1918,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1920,1
    - Dst: dbus_connection_send
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1922,1
    - Dst: wpas_dbus_signal_peer_groups_changed
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1923,1
    - Dst: dbus_message_unref
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1925,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - wpa_s
    - peer_addr
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1926
      start: 1881
    functionDepth: 1
    functionLinenumber: 1881
    functionLinenumberEnd: 1926
    functionName: wpas_dbus_signal_p2p_peer_joined
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - dbus_message_new_signal
    - dbus_connection_send
    - wpas_dbus_signal_peer_groups_changed
    - dbus_message_iter_append_basic
    - dbus_message_iter_init_append
    - os_snprintf
    - MAC2STR
    - dbus_message_unref
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_p2p_peer_joined(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \     const u8 *peer_addr)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1962,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1965,1
    - Dst: dbus_message_new_signal
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1967,1
    - Dst: dbus_message_iter_init_append
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1973,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1975,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1977,1
    - Dst: dbus_connection_send
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1980,1
    - Dst: wpas_dbus_signal_peer_groups_changed
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1981,1
    - Dst: dbus_message_unref
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:1983,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - wpa_s
    - peer_addr
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1984
      start: 1938
    functionDepth: 1
    functionLinenumber: 1938
    functionLinenumberEnd: 1984
    functionName: wpas_dbus_signal_p2p_peer_disconnected
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - dbus_message_new_signal
    - dbus_connection_send
    - wpas_dbus_signal_peer_groups_changed
    - dbus_message_iter_append_basic
    - dbus_message_iter_init_append
    - os_snprintf
    - MAC2STR
    - dbus_message_unref
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_p2p_peer_disconnected(struct wpa_supplicant
      *wpa_s,\n\t\t\t\t\t    const u8 *peer_addr)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: p2p_peer_known
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2022,1
    - Dst: dbus_message_new_signal
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2025,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2031,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2033,1
    - Dst: dbus_message_iter_init_append
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2037,1
    - Dst: wpa_dbus_dict_open_write
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2038,1
    - Dst: wpa_dbus_dict_append_object_path
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2039,1
    - Dst: wpa_dbus_dict_append_int32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2041,1
    - Dst: wpa_dbus_dict_append_int32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2042,1
    - Dst: wpa_dbus_dict_append_uint16
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2044,1
    - Dst: wpa_dbus_dict_append_byte_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2046,1
    - Dst: wpa_dbus_dict_close_write
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2049,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2050,1
    - Dst: dbus_connection_send
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2052,1
    - Dst: dbus_message_unref
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2053,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 7
    argNames:
    - wpa_s
    - freq
    - sa
    - dialog_token
    - update_indic
    - tlvs
    - tlvs_len
    argTypes:
    - struct wpa_supplicant*
    - int
    - u8*
    - u8
    - u16
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2054
      start: 2000
    functionDepth: 3
    functionLinenumber: 2000
    functionLinenumberEnd: 2054
    functionName: wpas_dbus_signal_p2p_sd_request
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 1
    functionsReached:
    - wpa_dbus_dict_append_uint16
    - wpa_dbus_dict_append_byte_array
    - wpa_printf
    - dbus_message_new_signal
    - wpa_dbus_dict_open_write
    - dbus_connection_send
    - wpa_dbus_dict_close_write
    - dbus_message_iter_init_append
    - os_snprintf
    - p2p_peer_known
    - MAC2STR
    - dbus_message_unref
    - wpa_dbus_dict_append_object_path
    - wpa_dbus_dict_append_int32
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_p2p_sd_request(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \    int freq, const u8 *sa, u8 dialog_token,\n\t\t\t\t     u16 update_indic,
      const u8 *tlvs,\n\t\t\t\t     size_t tlvs_len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: p2p_peer_known
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2090,1
    - Dst: dbus_message_new_signal
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2093,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2099,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2101,1
    - Dst: dbus_message_iter_init_append
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2105,1
    - Dst: wpa_dbus_dict_open_write
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2106,1
    - Dst: wpa_dbus_dict_append_object_path
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2107,1
    - Dst: wpa_dbus_dict_append_uint16
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2109,1
    - Dst: wpa_dbus_dict_append_byte_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2111,1
    - Dst: wpa_dbus_dict_close_write
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2114,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2115,1
    - Dst: dbus_connection_send
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2117,1
    - Dst: dbus_message_unref
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2118,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 5
    argNames:
    - wpa_s
    - sa
    - update_indic
    - tlvs
    - tlvs_len
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u16
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2119
      start: 2069
    functionDepth: 3
    functionLinenumber: 2069
    functionLinenumberEnd: 2119
    functionName: wpas_dbus_signal_p2p_sd_response
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 1
    functionsReached:
    - wpa_dbus_dict_append_uint16
    - wpa_printf
    - dbus_message_new_signal
    - wpa_dbus_dict_open_write
    - dbus_connection_send
    - wpa_dbus_dict_close_write
    - dbus_message_iter_init_append
    - os_snprintf
    - p2p_peer_known
    - MAC2STR
    - dbus_message_unref
    - wpa_dbus_dict_append_object_path
    - wpa_dbus_dict_append_byte_array
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_p2p_sd_response(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \     const u8 *sa, u16 update_indic,\n\t\t\t\t      const u8 *tlvs, size_t
      tlvs_len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2152,1
    - Dst: dbus_message_new_signal
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2156,1
    - Dst: dbus_message_iter_init_append
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2162,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2164,1
    - Dst: wpa_dbus_get_object_properties
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2167,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2170,1
    - Dst: dbus_connection_send
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2172,1
    - Dst: dbus_message_unref
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2174,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - wpa_s
    - id
    - sig_name
    - properties
    argTypes:
    - struct wpa_supplicant*
    - int
    - char*
    - dbus_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2175
      start: 2132
    functionDepth: 1
    functionLinenumber: 2132
    functionLinenumberEnd: 2175
    functionName: wpas_dbus_signal_persistent_group
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dbus_message_new_signal
    - dbus_connection_send
    - dbus_message_iter_append_basic
    - dbus_message_iter_init_append
    - os_snprintf
    - dbus_message_unref
    - wpa_dbus_get_object_properties
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_persistent_group(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \     int id, const char *sig_name,\n\t\t\t\t\t      dbus_bool_t properties)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_signal_persistent_group
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - id
    argTypes:
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2191
      start: 2186
    functionDepth: 2
    functionLinenumber: 2186
    functionLinenumberEnd: 2191
    functionName: wpas_dbus_signal_persistent_group_added
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_signal_persistent_group
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_persistent_group_added(\n\tstruct wpa_supplicant
      *wpa_s, int id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_signal_persistent_group
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - id
    argTypes:
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2207
      start: 2202
    functionDepth: 2
    functionLinenumber: 2202
    functionLinenumberEnd: 2207
    functionName: wpas_dbus_signal_persistent_group_removed
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_signal_persistent_group
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_persistent_group_removed(\n\tstruct wpa_supplicant
      *wpa_s, int id)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_new_signal
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2238,1
    - Dst: dbus_message_iter_init_append
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2244,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2246,1
    - Dst: wpa_dbus_dict_open_write
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2247,1
    - Dst: wpa_dbus_dict_append_int32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2248,1
    - Dst: wpa_dbus_dict_append_int16
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2249,1
    - Dst: wpa_dbus_dict_close_write
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2251,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2252,1
    - Dst: dbus_connection_send
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2254,1
    - Dst: dbus_message_unref
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2256,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 2
    argNames:
    - wpa_s
    - fail
    argTypes:
    - struct wpa_supplicant*
    - struct wps_event_fail*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2257
      start: 2218
    functionDepth: 3
    functionLinenumber: 2218
    functionLinenumberEnd: 2257
    functionName: wpas_dbus_signal_p2p_wps_failed
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - dbus_message_new_signal
    - wpa_dbus_dict_open_write
    - dbus_connection_send
    - wpa_dbus_dict_close_write
    - dbus_message_iter_append_basic
    - dbus_message_iter_init_append
    - dbus_message_unref
    - wpa_dbus_dict_append_int16
    - wpa_dbus_dict_append_int32
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_p2p_wps_failed(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \    struct wps_event_fail *fail)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_new_signal
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2282,1
    - Dst: dbus_message_append_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2288,1
    - Dst: dbus_connection_send
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2290,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2292,1
    - Dst: dbus_message_unref
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2294,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - wpa_s
    - reason
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2295
      start: 2267
    functionDepth: 0
    functionLinenumber: 2267
    functionLinenumberEnd: 2295
    functionName: wpas_dbus_signal_p2p_group_formation_failure
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 1
    functionsReached:
    - dbus_message_append_args
    - wpa_printf
    - dbus_message_new_signal
    - dbus_connection_send
    - dbus_message_unref
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_p2p_group_formation_failure(struct wpa_supplicant
      *wpa_s,\n\t\t\t\t\t\t  const char *reason)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_new_signal
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2326,1
    - Dst: dbus_message_iter_init_append
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2332,1
    - Dst: wpa_dbus_dict_open_write
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2333,1
    - Dst: wpa_dbus_dict_append_byte_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2335,1
    - Dst: wpa_dbus_dict_append_byte_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2338,1
    - Dst: wpa_dbus_dict_append_byte_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2342,1
    - Dst: wpa_dbus_dict_append_int32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2346,1
    - Dst: wpa_dbus_dict_append_int32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2347,1
    - Dst: wpa_dbus_dict_close_write
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2348,1
    - Dst: dbus_message_unref
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2349,1
    - Dst: dbus_connection_send
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2353,1
    - Dst: dbus_message_unref
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2354,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 16
    argCount: 6
    argNames:
    - wpa_s
    - sa
    - dev_addr
    - bssid
    - id
    - op_freq
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - u8*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2355
      start: 2308
    functionDepth: 3
    functionLinenumber: 2308
    functionLinenumberEnd: 2355
    functionName: wpas_dbus_signal_p2p_invitation_received
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 1
    functionsReached:
    - wpa_dbus_dict_append_byte_array
    - dbus_message_new_signal
    - wpa_dbus_dict_open_write
    - dbus_connection_send
    - wpa_dbus_dict_close_write
    - dbus_message_iter_init_append
    - dbus_message_unref
    - wpa_dbus_dict_append_int32
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_p2p_invitation_received(struct wpa_supplicant
      *wpa_s,\n\t\t\t\t\t      const u8 *sa, const u8 *dev_addr,\n\t\t\t\t\t      const
      u8 *bssid, int id,\n\t\t\t\t\t      int op_freq)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2386,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2388,1
    - Dst: dbus_message_new_signal
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2391,1
    - Dst: dbus_message_iter_init_append
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2397,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2399,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2401,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2403,1
    - Dst: dbus_connection_send
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2405,1
    - Dst: dbus_message_unref
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2407,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - wpa_s
    - src
    - bootstrap_method
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2408
      start: 2367
    functionDepth: 1
    functionLinenumber: 2367
    functionLinenumberEnd: 2408
    functionName: wpas_dbus_signal_p2p_bootstrap_req
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - dbus_message_new_signal
    - dbus_connection_send
    - dbus_message_iter_append_basic
    - dbus_message_iter_init_append
    - os_snprintf
    - MAC2STR
    - dbus_message_unref
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_p2p_bootstrap_req(struct wpa_supplicant *wpa_s,\n\t\t\t\t\tconst
      u8 *src, u16 bootstrap_method)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2441,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2443,1
    - Dst: dbus_message_new_signal
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2446,1
    - Dst: dbus_message_iter_init_append
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2452,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2454,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2456,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2458,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2460,1
    - Dst: dbus_connection_send
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2462,1
    - Dst: dbus_message_unref
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2464,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - wpa_s
    - src
    - status
    - bootstrap_method
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - int
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2465
      start: 2421
    functionDepth: 1
    functionLinenumber: 2421
    functionLinenumberEnd: 2465
    functionName: wpas_dbus_signal_p2p_bootstrap_rsp
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - dbus_message_new_signal
    - dbus_connection_send
    - dbus_message_iter_append_basic
    - dbus_message_iter_init_append
    - os_snprintf
    - MAC2STR
    - dbus_message_unref
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_p2p_bootstrap_rsp(struct wpa_supplicant *wpa_s,\n\t\t\t\t\tconst
      u8 *src, int status,\n\t\t\t\t\tu16 bootstrap_method)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2549,1
    - Dst: wpa_dbus_mark_property_changed
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2554,1
    - Dst: wpa_dbus_flush_object_changed_properties
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2558,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 71
    argCount: 2
    argNames:
    - wpa_s
    - property
    argTypes:
    - struct wpa_supplicant*
    - enum wpas_dbus_prop
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2561
      start: 2479
    functionDepth: 1
    functionLinenumber: 2479
    functionLinenumberEnd: 2561
    functionName: wpas_dbus_signal_prop_changed
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 16
    functionsReached:
    - wpa_printf
    - wpa_dbus_flush_object_changed_properties
    - wpa_dbus_mark_property_changed
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_prop_changed(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \  enum wpas_dbus_prop property)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2618,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2623,1
    - Dst: wpa_dbus_mark_property_changed
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2627,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 3
    argNames:
    - wpa_s
    - property
    - id
    argTypes:
    - struct wpa_supplicant*
    - enum wpas_dbus_bss_prop
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2629
      start: 2573
    functionDepth: 1
    functionLinenumber: 2573
    functionLinenumberEnd: 2629
    functionName: wpas_dbus_bss_signal_prop_changed
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 11
    functionsReached:
    - os_snprintf
    - wpa_printf
    - wpa_dbus_mark_property_changed
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_bss_signal_prop_changed(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \      enum wpas_dbus_bss_prop property,\n\t\t\t\t       unsigned int id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbus_mark_property_changed
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2640,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - global
    argTypes:
    - struct wpa_global*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2643
      start: 2638
    functionDepth: 1
    functionLinenumber: 2638
    functionLinenumberEnd: 2643
    functionName: wpas_dbus_signal_debug_level_changed
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 1
    functionsReached:
    - wpa_dbus_mark_property_changed
    linkageType: ''
    returnType: void
    signature: void wpas_dbus_signal_debug_level_changed(struct wpa_global *global)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbus_mark_property_changed
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2654,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - global
    argTypes:
    - struct wpa_global*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2657
      start: 2652
    functionDepth: 1
    functionLinenumber: 2652
    functionLinenumberEnd: 2657
    functionName: wpas_dbus_signal_debug_timestamp_changed
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 1
    functionsReached:
    - wpa_dbus_mark_property_changed
    linkageType: ''
    returnType: void
    signature: void wpas_dbus_signal_debug_timestamp_changed(struct wpa_global *global)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbus_mark_property_changed
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2668,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - global
    argTypes:
    - struct wpa_global*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2671
      start: 2666
    functionDepth: 1
    functionLinenumber: 2666
    functionLinenumberEnd: 2671
    functionName: wpas_dbus_signal_debug_show_keys_changed
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 1
    functionsReached:
    - wpa_dbus_mark_property_changed
    linkageType: ''
    returnType: void
    signature: void wpas_dbus_signal_debug_show_keys_changed(struct wpa_global *global)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2692,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2694,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 6
    argNames:
    - obj_desc
    - priv
    - priv_free
    - methods
    - properties
    - signals
    argTypes:
    - struct wpa_dbus_object_desc*
    - void*
    - WPADBusArgumentFreeFunction
    - struct wpa_dbus_method_desc*
    - struct wpa_dbus_property_desc*
    - struct wpa_dbus_signal_desc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2696
      start: 2674
    functionDepth: 0
    functionLinenumber: 2674
    functionLinenumberEnd: 2696
    functionName: wpas_dbus_register
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 0
    functionsReached:
    - os_zalloc
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_register(struct wpa_dbus_object_desc *obj_desc,\n\t\t\t
      \      void *priv,\n\t\t\t       WPADBusArgumentFreeFunction priv_free,\n\t\t\t
      \      const struct wpa_dbus_method_desc *methods,\n\t\t\t       const struct
      wpa_dbus_property_desc *properties,\n\t\t\t       const struct wpa_dbus_signal_desc
      *signals)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2804,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2804,1
    - Dst: toupper
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2811,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - uscore
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2818
      start: 2798
    functionDepth: 0
    functionLinenumber: 2798
    functionLinenumberEnd: 2818
    functionName: uscore_to_dbus
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_zalloc
    - toupper
    linkageType: ''
    returnType: char
    signature: char * uscore_to_dbus(const char *uscore)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2830,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2832,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - priv
    argTypes:
    - struct wpas_dbus_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2833
      start: 2824
    functionDepth: 0
    functionLinenumber: 2824
    functionLinenumberEnd: 2833
    functionName: wpa_dbus_ctrl_iface_props_deinit
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 0
    functionsReached:
    - os_free
    linkageType: ''
    returnType: void
    signature: void wpa_dbus_ctrl_iface_props_deinit(struct wpas_dbus_priv *priv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbus_ctrl_iface_props_init
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2849,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2851,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2856,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2858,1
    - Dst: wpas_dbus_register
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2863,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2868,1
    - Dst: wpa_dbus_ctrl_iface_init
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2870,1
    - Dst: free_dbus_object_desc
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2874,1
    - Dst: wpa_dbus_ctrl_iface_props_deinit
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2882,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 1
    argNames:
    - priv
    argTypes:
    - struct wpas_dbus_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2884
      start: 2844
    functionDepth: 1
    functionLinenumber: 2844
    functionLinenumberEnd: 2884
    functionName: wpas_dbus_ctrl_iface_init
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 0
    functionsReached:
    - wpa_dbus_ctrl_iface_init
    - wpa_printf
    - wpa_dbus_ctrl_iface_props_deinit
    - wpas_dbus_register
    - os_zalloc
    - wpa_dbus_ctrl_iface_props_init
    - free_dbus_object_desc
    linkageType: ''
    returnType: int
    signature: int wpas_dbus_ctrl_iface_init(struct wpas_dbus_priv *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2899,1
    - Dst: dbus_connection_unregister_object_path
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2901,1
    - Dst: wpa_dbus_ctrl_iface_props_deinit
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2902,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - priv
    argTypes:
    - struct wpas_dbus_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2903
      start: 2895
    functionDepth: 1
    functionLinenumber: 2895
    functionLinenumberEnd: 2903
    functionName: wpas_dbus_ctrl_iface_deinit
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 0
    functionsReached:
    - wpa_dbus_ctrl_iface_props_deinit
    - wpa_printf
    - dbus_connection_unregister_object_path
    linkageType: ''
    returnType: void
    signature: void wpas_dbus_ctrl_iface_deinit(struct wpas_dbus_priv *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2908,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2909
      start: 2906
    functionDepth: 0
    functionLinenumber: 2906
    functionLinenumberEnd: 2909
    functionName: wpa_dbus_free
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 0
    functionsReached:
    - os_free
    linkageType: ''
    returnType: void
    signature: void wpa_dbus_free(void *ptr)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: network_is_persistent_group
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2961,1
    - Dst: wpas_dbus_register_persistent_group
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2962,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2972,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2976,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2978,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2980,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2986,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2988,1
    - Dst: wpas_dbus_register
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:2996,1
    - Dst: wpa_dbus_register_object_per_iface
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:3000,1
    - Dst: wpas_dbus_signal_network_added
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:3004,1
    - Dst: free_dbus_object_desc
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:3009,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 2
    argNames:
    - wpa_s
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3011
      start: 2947
    functionDepth: 3
    functionLinenumber: 2947
    functionLinenumberEnd: 3011
    functionName: wpas_dbus_register_network
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - wpas_dbus_signal_network_added
    - wpas_dbus_register
    - wpa_dbus_register_object_per_iface
    - wpas_dbus_register_persistent_group
    - os_snprintf
    - os_zalloc
    - network_is_persistent_group
    - free_dbus_object_desc
    linkageType: ''
    returnType: int
    signature: "int wpas_dbus_register_network(struct wpa_supplicant *wpa_s,\n\t\t\t
      \      struct wpa_ssid *ssid)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_get_network
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:3030,1
    - Dst: network_is_persistent_group
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:3033,1
    - Dst: wpas_dbus_unregister_persistent_group
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:3034,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:3044,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:3048,1
    - Dst: wpa_dbus_unregister_object_per_iface
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:3050,1
    - Dst: wpas_dbus_signal_network_removed
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:3053,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - wpa_s
    - nid
    argTypes:
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3056
      start: 3022
    functionDepth: 3
    functionLinenumber: 3022
    functionLinenumberEnd: 3056
    functionName: wpas_dbus_unregister_network
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - wpas_dbus_unregister_persistent_group
    - os_snprintf
    - network_is_persistent_group
    - wpa_dbus_unregister_object_per_iface
    - wpas_dbus_signal_network_removed
    - wpa_config_get_network
    linkageType: ''
    returnType: int
    signature: int wpas_dbus_unregister_network(struct wpa_supplicant *wpa_s, int
      nid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:3163,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:3167,1
    - Dst: wpa_dbus_unregister_object_per_iface
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:3169,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:3170,1
    - Dst: wpas_dbus_signal_bss_removed
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:3175,1
    - Dst: wpas_dbus_signal_prop_changed
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:3176,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - wpa_s
    - bssid
    - id
    argTypes:
    - struct wpa_supplicant*
    - u8[]
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3179
      start: 3150
    functionDepth: 3
    functionLinenumber: 3150
    functionLinenumberEnd: 3179
    functionName: wpas_dbus_unregister_bss
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpa_dbus_unregister_object_per_iface
    - os_snprintf
    - wpas_dbus_signal_prop_changed
    - wpas_dbus_signal_bss_removed
    linkageType: ''
    returnType: int
    signature: "int wpas_dbus_unregister_bss(struct wpa_supplicant *wpa_s,\n\t\t\t
      \    u8 bssid[ETH_ALEN], unsigned int id)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:3206,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:3210,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:3212,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:3217,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:3219,1
    - Dst: wpas_dbus_register
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:3226,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:3230,1
    - Dst: wpa_dbus_register_object_per_iface
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:3232,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:3234,1
    - Dst: wpas_dbus_signal_bss_added
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:3240,1
    - Dst: wpas_dbus_signal_prop_changed
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:3241,1
    - Dst: free_dbus_object_desc
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:3246,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 3
    argNames:
    - wpa_s
    - bssid
    - id
    argTypes:
    - struct wpa_supplicant*
    - u8[]
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3248
      start: 3191
    functionDepth: 3
    functionLinenumber: 3191
    functionLinenumberEnd: 3248
    functionName: wpas_dbus_register_bss
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpas_dbus_signal_bss_added
    - wpas_dbus_register
    - wpa_dbus_register_object_per_iface
    - os_snprintf
    - os_zalloc
    - wpas_dbus_signal_prop_changed
    - free_dbus_object_desc
    linkageType: ''
    returnType: int
    signature: "int wpas_dbus_register_bss(struct wpa_supplicant *wpa_s,\n\t\t\t   u8
      bssid[ETH_ALEN], unsigned int id)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:3316,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:3318,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:3320,1
    - Dst: wpa_dbus_unregister_object_per_iface
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:3322,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:3324,1
    - Dst: wpas_dbus_signal_station_removed
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:3329,1
    - Dst: wpas_dbus_signal_prop_changed
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:3330,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - wpa_s
    - sta
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3333
      start: 3304
    functionDepth: 3
    functionLinenumber: 3304
    functionLinenumberEnd: 3333
    functionName: wpas_dbus_unregister_sta
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpas_dbus_signal_prop_changed
    - wpas_dbus_signal_station_removed
    - os_snprintf
    - MAC2STR
    - wpa_dbus_unregister_object_per_iface
    linkageType: ''
    returnType: int
    signature: int wpas_dbus_unregister_sta(struct wpa_supplicant *wpa_s, const u8
      *sta)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:3358,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:3360,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:3362,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:3364,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:3369,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:3371,1
    - Dst: wpas_dbus_register
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:3378,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:3381,1
    - Dst: wpa_dbus_register_object_per_iface
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:3383,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:3385,1
    - Dst: wpas_dbus_signal_station_added
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:3391,1
    - Dst: wpas_dbus_signal_prop_changed
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:3392,1
    - Dst: free_dbus_object_desc
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:3397,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 2
    argNames:
    - wpa_s
    - sta
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3399
      start: 3344
    functionDepth: 3
    functionLinenumber: 3344
    functionLinenumberEnd: 3399
    functionName: wpas_dbus_register_sta
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpas_dbus_register
    - wpa_dbus_register_object_per_iface
    - os_snprintf
    - MAC2STR
    - os_zalloc
    - wpas_dbus_signal_prop_changed
    - wpas_dbus_signal_station_added
    - free_dbus_object_desc
    linkageType: ''
    returnType: int
    signature: int wpas_dbus_register_sta(struct wpa_supplicant *wpa_s, const u8 *sta)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:4614,1
    - Dst: wpa_config_get_num_global_field_names
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:4616,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:4622,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:4624,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:4630,1
    - Dst: wpa_config_get_global_field_name
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:4640,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:4644,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:4645,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:4648,1
    - Dst: uscore_to_dbus
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:4652,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:4654,1
    - Dst: wpa_dbus_ctrl_iface_props_deinit
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:4668,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 1
    argNames:
    - priv
    argTypes:
    - struct wpas_dbus_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4670
      start: 4602
    functionDepth: 1
    functionLinenumber: 4602
    functionLinenumberEnd: 4670
    functionName: wpa_dbus_ctrl_iface_props_init
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    - wpa_printf
    - uscore_to_dbus
    - wpa_config_get_num_global_field_names
    - wpa_config_get_global_field_name
    - os_zalloc
    - wpa_dbus_ctrl_iface_props_deinit
    - os_strcmp
    - ARRAY_SIZE
    linkageType: ''
    returnType: int
    signature: int wpa_dbus_ctrl_iface_props_init(struct wpas_dbus_priv *priv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:4689,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:4693,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:4697,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:4699,1
    - Dst: wpas_dbus_register
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:4704,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:4708,1
    - Dst: wpa_dbus_register_object_per_iface
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:4710,1
    - Dst: wpas_dbus_signal_interface_added
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:4715,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:4720,1
    - Dst: free_dbus_object_desc
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:4722,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4724
      start: 4678
    functionDepth: 3
    functionLinenumber: 4678
    functionLinenumberEnd: 4724
    functionName: wpas_dbus_register_interface
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpas_dbus_signal_interface_added
    - wpas_dbus_register
    - wpa_dbus_register_object_per_iface
    - os_snprintf
    - os_zalloc
    - os_free
    - free_dbus_object_desc
    linkageType: ''
    returnType: int
    signature: int wpas_dbus_register_interface(struct wpa_supplicant *wpa_s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:4743,1
    - Dst: wpas_dbus_unsubscribe_noc
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:4748,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:4749,1
    - Dst: wpa_dbus_unregister_object_per_iface
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:4754,1
    - Dst: wpas_dbus_signal_interface_removed
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:4758,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:4760,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4764
      start: 4732
    functionDepth: 3
    functionLinenumber: 4732
    functionLinenumberEnd: 4764
    functionName: wpas_dbus_unregister_interface
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpas_dbus_unsubscribe_noc
    - wpas_dbus_signal_interface_removed
    - wpa_dbus_unregister_object_per_iface
    - os_free
    linkageType: ''
    returnType: int
    signature: int wpas_dbus_unregister_interface(struct wpa_supplicant *wpa_s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:4893,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:4895,1
    - Dst: dbus_message_new_signal
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:4897,1
    - Dst: dbus_message_iter_init_append
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:4902,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:4904,1
    - Dst: wpa_dbus_get_object_properties
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:4906,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:4909,1
    - Dst: dbus_connection_send
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:4911,1
    - Dst: dbus_message_unref
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:4913,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 5
    argNames:
    - wpa_s
    - dev_addr
    - interface
    - sig_name
    - properties
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - char*
    - char*
    - dbus_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4914
      start: 4875
    functionDepth: 1
    functionLinenumber: 4875
    functionLinenumberEnd: 4914
    functionName: wpas_dbus_signal_peer
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dbus_message_new_signal
    - dbus_connection_send
    - dbus_message_iter_append_basic
    - dbus_message_iter_init_append
    - os_snprintf
    - MAC2STR
    - dbus_message_unref
    - wpa_dbus_get_object_properties
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_peer(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \ const u8 *dev_addr, const char *interface,\n\t\t\t\t  const char *sig_name,
      dbus_bool_t properties)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_signal_peer
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:4927,1
    - Dst: wpas_dbus_signal_peer
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:4931,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - wpa_s
    - dev_addr
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4934
      start: 4924
    functionDepth: 2
    functionLinenumber: 4924
    functionLinenumberEnd: 4934
    functionName: wpas_dbus_signal_peer_device_found
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 1
    functionsReached:
    - wpas_dbus_signal_peer
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_peer_device_found(struct wpa_supplicant *wpa_s,\n\t\t\t\t\tconst
      u8 *dev_addr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_signal_peer
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:4946,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_s
    - dev_addr
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4949
      start: 4943
    functionDepth: 2
    functionLinenumber: 4943
    functionLinenumberEnd: 4949
    functionName: wpas_dbus_signal_peer_device_lost
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 1
    functionsReached:
    - wpas_dbus_signal_peer
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_peer_device_lost(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \      const u8 *dev_addr)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:4978,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:4980,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:4982,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:4984,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:4986,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:4992,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:4994,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5000,1
    - Dst: wpas_dbus_register
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5002,1
    - Dst: wpa_dbus_register_object_per_iface
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5007,1
    - Dst: free_dbus_object_desc
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5014,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 2
    argNames:
    - wpa_s
    - dev_addr
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5016
      start: 4959
    functionDepth: 1
    functionLinenumber: 4959
    functionLinenumberEnd: 5016
    functionName: wpas_dbus_register_peer
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpas_dbus_register
    - wpa_dbus_register_object_per_iface
    - os_snprintf
    - MAC2STR
    - os_zalloc
    - free_dbus_object_desc
    linkageType: ''
    returnType: int
    signature: int wpas_dbus_register_peer(struct wpa_supplicant *wpa_s, const u8
      *dev_addr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5045,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5047,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5049,1
    - Dst: wpa_dbus_unregister_object_per_iface
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5051,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - wpa_s
    - dev_addr
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5054
      start: 5026
    functionDepth: 1
    functionLinenumber: 5026
    functionLinenumberEnd: 5054
    functionName: wpas_dbus_unregister_peer
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 1
    functionsReached:
    - os_snprintf
    - MAC2STR
    - wpa_printf
    - wpa_dbus_unregister_object_per_iface
    linkageType: ''
    returnType: int
    signature: "int wpas_dbus_unregister_peer(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \ const u8 *dev_addr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_new_signal
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5080,1
    - Dst: dbus_connection_send
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5086,1
    - Dst: dbus_message_unref
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5088,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - wpa_s
    argTypes:
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5089
      start: 5063
    functionDepth: 0
    functionLinenumber: 5063
    functionLinenumberEnd: 5089
    functionName: wpas_dbus_signal_p2p_find_stopped
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 1
    functionsReached:
    - dbus_connection_send
    - dbus_message_unref
    - dbus_message_new_signal
    linkageType: ''
    returnType: void
    signature: void wpas_dbus_signal_p2p_find_stopped(struct wpa_supplicant *wpa_s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5109,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5111,1
    - Dst: wpa_dbus_mark_property_changed
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - wpa_s
    - dev_addr
    argTypes:
    - struct wpa_supplicant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5115
      start: 5099
    functionDepth: 1
    functionLinenumber: 5099
    functionLinenumberEnd: 5115
    functionName: wpas_dbus_signal_peer_groups_changed
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 4
    functionsReached:
    - os_snprintf
    - MAC2STR
    - wpa_dbus_mark_property_changed
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_peer_groups_changed(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \ const u8 *dev_addr)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5212,1
    - Dst: wpas_dbus_get_group_obj_path
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5217,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5220,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5224,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5226,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5228,1
    - Dst: wpas_dbus_register
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5233,1
    - Dst: wpa_dbus_register_object_per_iface
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5237,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5245,1
    - Dst: free_dbus_object_desc
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5249,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 2
    argNames:
    - wpa_s
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5250
      start: 5196
    functionDepth: 1
    functionLinenumber: 5196
    functionLinenumberEnd: 5250
    functionName: wpas_dbus_register_p2p_group
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpas_dbus_register
    - wpa_dbus_register_object_per_iface
    - os_zalloc
    - os_free
    - wpas_dbus_get_group_obj_path
    - os_strdup
    - free_dbus_object_desc
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_register_p2p_group(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \ struct wpa_ssid *ssid)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5274,1
    - Dst: peer_groups_changed
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5280,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5282,1
    - Dst: wpa_dbus_unregister_object_per_iface
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5285,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5288,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - wpa_s
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5290
      start: 5257
    functionDepth: 2
    functionLinenumber: 5257
    functionLinenumberEnd: 5290
    functionName: wpas_dbus_unregister_p2p_group
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 1
    functionsReached:
    - os_free
    - wpa_printf
    - peer_groups_changed
    - wpa_dbus_unregister_object_per_iface
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_unregister_p2p_group(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \   const struct wpa_ssid *ssid)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5344,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5348,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5350,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5352,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5362,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5364,1
    - Dst: wpas_dbus_register
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5372,1
    - Dst: wpa_dbus_register_object_per_iface
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5376,1
    - Dst: wpas_dbus_signal_persistent_group_added
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5380,1
    - Dst: free_dbus_object_desc
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5385,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 2
    argNames:
    - wpa_s
    - ssid
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5387
      start: 5314
    functionDepth: 3
    functionLinenumber: 5314
    functionLinenumberEnd: 5387
    functionName: wpas_dbus_register_persistent_group
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 3
    functionsReached:
    - wpa_printf
    - wpas_dbus_register
    - wpa_dbus_register_object_per_iface
    - os_snprintf
    - wpas_dbus_signal_persistent_group_added
    - os_zalloc
    - free_dbus_object_desc
    linkageType: ''
    returnType: int
    signature: "int wpas_dbus_register_persistent_group(struct wpa_supplicant *wpa_s,\n\t\t\t\t\tstruct
      wpa_ssid *ssid)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5421,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5425,1
    - Dst: wpa_dbus_unregister_object_per_iface
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5427,1
    - Dst: wpas_dbus_signal_persistent_group_removed
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5430,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - wpa_s
    - nid
    argTypes:
    - struct wpa_supplicant*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5433
      start: 5404
    functionDepth: 3
    functionLinenumber: 5404
    functionLinenumberEnd: 5433
    functionName: wpas_dbus_unregister_persistent_group
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 3
    functionsReached:
    - os_snprintf
    - wpas_dbus_signal_persistent_group_removed
    - wpa_printf
    - wpa_dbus_unregister_object_per_iface
    linkageType: ''
    returnType: int
    signature: "int wpas_dbus_unregister_persistent_group(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \ int nid)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_new_signal
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5458,1
    - Dst: dbus_message_append_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5464,1
    - Dst: dbus_connection_send
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5466,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5468,1
    - Dst: dbus_message_unref
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5469,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - wpa_s
    - url
    argTypes:
    - struct wpa_supplicant*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5470
      start: 5446
    functionDepth: 0
    functionLinenumber: 5446
    functionLinenumberEnd: 5470
    functionName: wpas_dbus_signal_hs20_t_c_acceptance
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 1
    functionsReached:
    - dbus_message_append_args
    - wpa_printf
    - dbus_message_new_signal
    - dbus_connection_send
    - dbus_message_unref
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_hs20_t_c_acceptance(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \ const char *url)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_new_signal
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5506,1
    - Dst: snprintf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5512,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5512,1
    - Dst: dbus_message_iter_init_append
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5514,1
    - Dst: wpa_dbus_dict_open_write
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5516,1
    - Dst: wpa_dbus_dict_append_uint32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5517,1
    - Dst: wpa_dbus_dict_append_uint32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5519,1
    - Dst: wpa_dbus_dict_append_string
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5521,1
    - Dst: wpa_dbus_dict_append_bool
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5522,1
    - Dst: wpa_dbus_dict_append_bool
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5523,1
    - Dst: wpa_dbus_dict_append_uint32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5524,1
    - Dst: wpa_dbus_dict_append_byte_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5527,1
    - Dst: wpa_dbus_dict_close_write
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5531,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5532,1
    - Dst: dbus_connection_send
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5534,1
    - Dst: dbus_message_unref
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5535,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 13
    argCount: 9
    argNames:
    - wpa_s
    - srv_proto_type
    - subscribe_id
    - peer_publish_id
    - peer_addr
    - fsd
    - fsd_gas
    - ssi
    - ssi_len
    argTypes:
    - struct wpa_supplicant*
    - enum nan_service_protocol_type
    - int
    - int
    - u8*
    - bool
    - bool
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5536
      start: 5488
    functionDepth: 3
    functionLinenumber: 5488
    functionLinenumberEnd: 5536
    functionName: wpas_dbus_signal_nan_discovery_result
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 1
    functionsReached:
    - wpa_dbus_dict_append_bool
    - snprintf
    - wpa_printf
    - dbus_message_new_signal
    - wpa_dbus_dict_append_uint32
    - wpa_dbus_dict_open_write
    - dbus_connection_send
    - wpa_dbus_dict_close_write
    - dbus_message_iter_init_append
    - MAC2STR
    - dbus_message_unref
    - wpa_dbus_dict_append_string
    - wpa_dbus_dict_append_byte_array
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_nan_discovery_result(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
      \  enum nan_service_protocol_type\n\t\t\t\t\t   srv_proto_type,\n\t\t\t\t\t
      \  int subscribe_id,\n\t\t\t\t\t   int peer_publish_id,\n\t\t\t\t\t   const
      u8 *peer_addr,\n\t\t\t\t\t   bool fsd, bool fsd_gas,\n\t\t\t\t\t   const u8
      *ssi, size_t ssi_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_new_signal
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5568,1
    - Dst: snprintf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5574,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5574,1
    - Dst: dbus_message_iter_init_append
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5576,1
    - Dst: wpa_dbus_dict_open_write
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5578,1
    - Dst: wpa_dbus_dict_append_uint32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5579,1
    - Dst: wpa_dbus_dict_append_uint32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5581,1
    - Dst: wpa_dbus_dict_append_string
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5583,1
    - Dst: wpa_dbus_dict_append_uint32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5584,1
    - Dst: wpa_dbus_dict_append_byte_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5587,1
    - Dst: wpa_dbus_dict_close_write
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5590,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5591,1
    - Dst: dbus_connection_send
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5593,1
    - Dst: dbus_message_unref
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5594,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 7
    argNames:
    - wpa_s
    - srv_proto_type
    - publish_id
    - peer_subscribe_id
    - peer_addr
    - ssi
    - ssi_len
    argTypes:
    - struct wpa_supplicant*
    - enum nan_service_protocol_type
    - int
    - int
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5595
      start: 5551
    functionDepth: 3
    functionLinenumber: 5551
    functionLinenumberEnd: 5595
    functionName: wpas_dbus_signal_nan_replied
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 1
    functionsReached:
    - snprintf
    - wpa_printf
    - dbus_message_new_signal
    - wpa_dbus_dict_append_uint32
    - wpa_dbus_dict_open_write
    - dbus_connection_send
    - wpa_dbus_dict_close_write
    - dbus_message_iter_init_append
    - MAC2STR
    - dbus_message_unref
    - wpa_dbus_dict_append_string
    - wpa_dbus_dict_append_byte_array
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_nan_replied(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \ enum nan_service_protocol_type srv_proto_type,\n\t\t\t\t  int publish_id,\n\t\t\t\t
      \ int peer_subscribe_id,\n\t\t\t\t  const u8 *peer_addr,\n\t\t\t\t  const u8
      *ssi, size_t ssi_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_new_signal
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5624,1
    - Dst: snprintf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5630,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5630,1
    - Dst: dbus_message_iter_init_append
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5632,1
    - Dst: wpa_dbus_dict_open_write
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5634,1
    - Dst: wpa_dbus_dict_append_uint32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5635,1
    - Dst: wpa_dbus_dict_append_uint32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5636,1
    - Dst: wpa_dbus_dict_append_string
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5637,1
    - Dst: wpa_dbus_dict_append_byte_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5639,1
    - Dst: wpa_dbus_dict_close_write
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5642,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5643,1
    - Dst: dbus_connection_send
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5645,1
    - Dst: dbus_message_unref
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5646,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 6
    argNames:
    - wpa_s
    - id
    - peer_id
    - peer_addr
    - ssi
    - ssi_len
    argTypes:
    - struct wpa_supplicant*
    - int
    - int
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5647
      start: 5610
    functionDepth: 3
    functionLinenumber: 5610
    functionLinenumberEnd: 5647
    functionName: wpas_dbus_signal_nan_receive
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 1
    functionsReached:
    - snprintf
    - wpa_printf
    - dbus_message_new_signal
    - wpa_dbus_dict_append_uint32
    - wpa_dbus_dict_open_write
    - dbus_connection_send
    - wpa_dbus_dict_close_write
    - dbus_message_iter_init_append
    - MAC2STR
    - dbus_message_unref
    - wpa_dbus_dict_append_string
    - wpa_dbus_dict_append_byte_array
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_nan_receive(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \ int id, int peer_id, const u8 *peer_addr,\n\t\t\t\t  const u8 *ssi, size_t
      ssi_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_new_signal
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5672,1
    - Dst: dbus_message_append_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5678,1
    - Dst: dbus_message_append_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5680,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5682,1
    - Dst: dbus_connection_send
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5684,1
    - Dst: dbus_message_unref
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5685,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - wpa_s
    - publish_id
    - reason
    argTypes:
    - struct wpa_supplicant*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5686
      start: 5659
    functionDepth: 0
    functionLinenumber: 5659
    functionLinenumberEnd: 5686
    functionName: wpas_dbus_signal_nan_publish_terminated
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 1
    functionsReached:
    - dbus_message_append_args
    - wpa_printf
    - dbus_message_new_signal
    - dbus_connection_send
    - dbus_message_unref
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_nan_publish_terminated(struct wpa_supplicant
      *wpa_s,\n\t\t\t\t\t     int publish_id,\n\t\t\t\t\t     const char *reason)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_new_signal
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5711,1
    - Dst: dbus_message_append_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5717,1
    - Dst: dbus_message_append_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5719,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5721,1
    - Dst: dbus_connection_send
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5723,1
    - Dst: dbus_message_unref
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new.c:5724,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - wpa_s
    - subscribe_id
    - reason
    argTypes:
    - struct wpa_supplicant*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5725
      start: 5698
    functionDepth: 0
    functionLinenumber: 5698
    functionLinenumberEnd: 5725
    functionName: wpas_dbus_signal_nan_subscribe_terminated
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    functionUses: 1
    functionsReached:
    - dbus_message_append_args
    - wpa_printf
    - dbus_message_new_signal
    - dbus_connection_send
    - dbus_message_unref
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_nan_subscribe_terminated(struct wpa_supplicant
      *wpa_s,\n\t\t\t\t\t       int subscribe_id,\n\t\t\t\t\t       const char *reason)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dbus_connection_get_dispatch_status
      Src: /src/hostap/wpa_supplicant/dbus/dbus_common.c:35,1
    - Dst: dbus_connection_dispatch
      Src: /src/hostap/wpa_supplicant/dbus/dbus_common.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - con
    argTypes:
    - DBusConnection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: dispatch_data
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_common.c
    functionUses: 0
    functionsReached:
    - dbus_connection_get_dispatch_status
    - dbus_connection_dispatch
    linkageType: ''
    returnType: void
    signature: void dispatch_data(DBusConnection *con)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dispatch_data
      Src: /src/hostap/wpa_supplicant/dbus/dbus_common.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: dispatch_initial_dbus_messages
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_common.c
    functionUses: 0
    functionsReached:
    - dispatch_data
    linkageType: ''
    returnType: void
    signature: void dispatch_initial_dbus_messages(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dbus_connection_ref
      Src: /src/hostap/wpa_supplicant/dbus/dbus_common.c:61,1
    - Dst: dbus_watch_handle
      Src: /src/hostap/wpa_supplicant/dbus/dbus_common.c:66,1
    - Dst: dbus_watch_handle
      Src: /src/hostap/wpa_supplicant/dbus/dbus_common.c:68,1
    - Dst: dbus_watch_handle
      Src: /src/hostap/wpa_supplicant/dbus/dbus_common.c:70,1
    - Dst: dispatch_data
      Src: /src/hostap/wpa_supplicant/dbus/dbus_common.c:73,1
    - Dst: dbus_connection_unref
      Src: /src/hostap/wpa_supplicant/dbus/dbus_common.c:77,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - priv
    - watch
    - type
    argTypes:
    - struct wpas_dbus_priv*
    - DBusWatch*
    - eloop_event_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 78
    functionName: process_watch
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_common.c
    functionUses: 0
    functionsReached:
    - dbus_connection_unref
    - dbus_connection_ref
    - dispatch_data
    - dbus_watch_handle
    linkageType: ''
    returnType: void
    signature: "void process_watch(struct wpas_dbus_priv *priv,\n\t\t\t  DBusWatch
      *watch, eloop_event_type type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: process_watch
      Src: /src/hostap/wpa_supplicant/dbus/dbus_common.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sock
    - eloop_ctx
    - sock_ctx
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: process_watch_exception
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_common.c
    functionUses: 0
    functionsReached:
    - process_watch
    linkageType: ''
    returnType: void
    signature: void process_watch_exception(int sock, void *eloop_ctx, void *sock_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: process_watch
      Src: /src/hostap/wpa_supplicant/dbus/dbus_common.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sock
    - eloop_ctx
    - sock_ctx
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: process_watch_read
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_common.c
    functionUses: 0
    functionsReached:
    - process_watch
    linkageType: ''
    returnType: void
    signature: void process_watch_read(int sock, void *eloop_ctx, void *sock_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: process_watch
      Src: /src/hostap/wpa_supplicant/dbus/dbus_common.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sock
    - eloop_ctx
    - sock_ctx
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: process_watch_write
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_common.c
    functionUses: 0
    functionsReached:
    - process_watch
    linkageType: ''
    returnType: void
    signature: void process_watch_write(int sock, void *eloop_ctx, void *sock_ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dbus_watch_get_enabled
      Src: /src/hostap/wpa_supplicant/dbus/dbus_common.c:105,1
    - Dst: dbus_watch_get_flags
      Src: /src/hostap/wpa_supplicant/dbus/dbus_common.c:108,1
    - Dst: dbus_watch_get_unix_fd
      Src: /src/hostap/wpa_supplicant/dbus/dbus_common.c:109,1
    - Dst: eloop_register_sock
      Src: /src/hostap/wpa_supplicant/dbus/dbus_common.c:111,1
    - Dst: eloop_register_sock
      Src: /src/hostap/wpa_supplicant/dbus/dbus_common.c:116,1
    - Dst: eloop_register_sock
      Src: /src/hostap/wpa_supplicant/dbus/dbus_common.c:120,1
    - Dst: dbus_watch_set_data
      Src: /src/hostap/wpa_supplicant/dbus/dbus_common.c:124,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - watch
    - data
    argTypes:
    - DBusWatch*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 127
    functionName: add_watch
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_common.c
    functionUses: 0
    functionsReached:
    - dbus_watch_get_enabled
    - eloop_register_sock
    - dbus_watch_get_flags
    - dbus_watch_get_unix_fd
    - dbus_watch_set_data
    linkageType: ''
    returnType: dbus_bool_t
    signature: dbus_bool_t add_watch(DBusWatch *watch, void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dbus_watch_get_flags
      Src: /src/hostap/wpa_supplicant/dbus/dbus_common.c:135,1
    - Dst: dbus_watch_get_unix_fd
      Src: /src/hostap/wpa_supplicant/dbus/dbus_common.c:136,1
    - Dst: eloop_unregister_sock
      Src: /src/hostap/wpa_supplicant/dbus/dbus_common.c:138,1
    - Dst: eloop_unregister_sock
      Src: /src/hostap/wpa_supplicant/dbus/dbus_common.c:141,1
    - Dst: eloop_unregister_sock
      Src: /src/hostap/wpa_supplicant/dbus/dbus_common.c:143,1
    - Dst: dbus_watch_set_data
      Src: /src/hostap/wpa_supplicant/dbus/dbus_common.c:145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - watch
    - data
    argTypes:
    - DBusWatch*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 146
    functionName: remove_watch
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_common.c
    functionUses: 0
    functionsReached:
    - dbus_watch_get_flags
    - eloop_unregister_sock
    - dbus_watch_get_unix_fd
    - dbus_watch_set_data
    linkageType: ''
    returnType: void
    signature: void remove_watch(DBusWatch *watch, void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dbus_watch_get_enabled
      Src: /src/hostap/wpa_supplicant/dbus/dbus_common.c:151,1
    - Dst: add_watch
      Src: /src/hostap/wpa_supplicant/dbus/dbus_common.c:152,1
    - Dst: remove_watch
      Src: /src/hostap/wpa_supplicant/dbus/dbus_common.c:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - watch
    - data
    argTypes:
    - DBusWatch*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 155
    functionName: watch_toggled
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_common.c
    functionUses: 0
    functionsReached:
    - remove_watch
    - add_watch
    - dbus_watch_get_enabled
    linkageType: ''
    returnType: void
    signature: void watch_toggled(DBusWatch *watch, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dbus_timeout_handle
      Src: /src/hostap/wpa_supplicant/dbus/dbus_common.c:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - eloop_ctx
    - sock_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 162
    functionName: process_timeout
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_common.c
    functionUses: 0
    functionsReached:
    - dbus_timeout_handle
    linkageType: ''
    returnType: void
    signature: void process_timeout(void *eloop_ctx, void *sock_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dbus_timeout_get_enabled
      Src: /src/hostap/wpa_supplicant/dbus/dbus_common.c:169,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/dbus/dbus_common.c:172,1
    - Dst: dbus_timeout_get_interval
      Src: /src/hostap/wpa_supplicant/dbus/dbus_common.c:172,1
    - Dst: dbus_timeout_set_data
      Src: /src/hostap/wpa_supplicant/dbus/dbus_common.c:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - timeout
    - data
    argTypes:
    - DBusTimeout*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 178
    functionName: add_timeout
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_common.c
    functionUses: 0
    functionsReached:
    - dbus_timeout_get_enabled
    - dbus_timeout_get_interval
    - dbus_timeout_set_data
    - eloop_register_timeout
    linkageType: ''
    returnType: dbus_bool_t
    signature: dbus_bool_t add_timeout(DBusTimeout *timeout, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/dbus/dbus_common.c:185,1
    - Dst: dbus_timeout_set_data
      Src: /src/hostap/wpa_supplicant/dbus/dbus_common.c:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - timeout
    - data
    argTypes:
    - DBusTimeout*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 187
    functionName: remove_timeout
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_common.c
    functionUses: 0
    functionsReached:
    - eloop_cancel_timeout
    - dbus_timeout_set_data
    linkageType: ''
    returnType: void
    signature: void remove_timeout(DBusTimeout *timeout, void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dbus_timeout_get_enabled
      Src: /src/hostap/wpa_supplicant/dbus/dbus_common.c:192,1
    - Dst: add_timeout
      Src: /src/hostap/wpa_supplicant/dbus/dbus_common.c:193,1
    - Dst: remove_timeout
      Src: /src/hostap/wpa_supplicant/dbus/dbus_common.c:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - timeout
    - data
    argTypes:
    - DBusTimeout*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 196
    functionName: timeout_toggled
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_common.c
    functionUses: 0
    functionsReached:
    - remove_timeout
    - dbus_timeout_get_enabled
    - add_timeout
    linkageType: ''
    returnType: void
    signature: void timeout_toggled(DBusTimeout *timeout, void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dbus_connection_get_dispatch_status
      Src: /src/hostap/wpa_supplicant/dbus/dbus_common.c:206,1
    - Dst: dbus_connection_ref
      Src: /src/hostap/wpa_supplicant/dbus/dbus_common.c:211,1
    - Dst: dbus_connection_dispatch
      Src: /src/hostap/wpa_supplicant/dbus/dbus_common.c:212,1
    - Dst: dbus_connection_unref
      Src: /src/hostap/wpa_supplicant/dbus/dbus_common.c:213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - sig
    - signal_ctx
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 214
    functionName: process_wakeup_main
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_common.c
    functionUses: 0
    functionsReached:
    - dbus_connection_ref
    - dbus_connection_get_dispatch_status
    - dbus_connection_dispatch
    - dbus_connection_unref
    linkageType: ''
    returnType: void
    signature: void process_wakeup_main(int sig, void *signal_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: raise
      Src: /src/hostap/wpa_supplicant/dbus/dbus_common.c:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 231
    functionName: wakeup_main
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_common.c
    functionUses: 0
    functionsReached:
    - raise
    linkageType: ''
    returnType: void
    signature: void wakeup_main(void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dbus_connection_set_watch_functions
      Src: /src/hostap/wpa_supplicant/dbus/dbus_common.c:242,1
    - Dst: dbus_connection_set_timeout_functions
      Src: /src/hostap/wpa_supplicant/dbus/dbus_common.c:245,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_common.c:249,1
    - Dst: eloop_register_signal
      Src: /src/hostap/wpa_supplicant/dbus/dbus_common.c:253,1
    - Dst: dbus_connection_set_wakeup_main_function
      Src: /src/hostap/wpa_supplicant/dbus/dbus_common.c:255,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - priv
    argTypes:
    - struct wpas_dbus_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 259
    functionName: integrate_with_eloop
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_common.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dbus_connection_set_timeout_functions
    - dbus_connection_set_watch_functions
    - eloop_register_signal
    - dbus_connection_set_wakeup_main_function
    linkageType: ''
    returnType: int
    signature: int integrate_with_eloop(struct wpas_dbus_priv *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_is_signal
      Src: /src/hostap/wpa_supplicant/dbus/dbus_common.c:267,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_common.c:269,1
    - Dst: dbus_connection_set_exit_on_disconnect
      Src: /src/hostap/wpa_supplicant/dbus/dbus_common.c:270,1
    - Dst: wpa_supplicant_terminate_proc
      Src: /src/hostap/wpa_supplicant/dbus/dbus_common.c:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - conn
    - message
    - data
    argTypes:
    - DBusConnection*
    - DBusMessage*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 275
    functionName: disconnect_filter
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_common.c
    functionUses: 0
    functionsReached:
    - dbus_connection_set_exit_on_disconnect
    - wpa_supplicant_terminate_proc
    - wpa_printf
    - dbus_message_is_signal
    linkageType: ''
    returnType: DBusHandlerResult
    signature: "DBusHandlerResult disconnect_filter(DBusConnection *conn,\n\t\t\t\t\t
      \  DBusMessage *message, void *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dbus_error_init
      Src: /src/hostap/wpa_supplicant/dbus/dbus_common.c:284,1
    - Dst: dbus_bus_get
      Src: /src/hostap/wpa_supplicant/dbus/dbus_common.c:285,1
    - Dst: dbus_connection_add_filter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_common.c:287,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_common.c:290,1
    - Dst: dbus_error_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_common.c:295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - priv
    argTypes:
    - struct wpas_dbus_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 298
    functionName: wpas_dbus_init_common
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_common.c
    functionUses: 0
    functionsReached:
    - dbus_error_free
    - wpa_printf
    - dbus_connection_add_filter
    - dbus_bus_get
    - dbus_error_init
    linkageType: ''
    returnType: int
    signature: int wpas_dbus_init_common(struct wpas_dbus_priv *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: integrate_with_eloop
      Src: /src/hostap/wpa_supplicant/dbus/dbus_common.c:304,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/dbus/dbus_common.c:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - priv
    argTypes:
    - struct wpas_dbus_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 317
    functionName: wpas_dbus_init_common_finish
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_common.c
    functionUses: 0
    functionsReached:
    - integrate_with_eloop
    - eloop_register_timeout
    linkageType: ''
    returnType: int
    signature: int wpas_dbus_init_common_finish(struct wpas_dbus_priv *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/dbus/dbus_common.c:323,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/dbus/dbus_common.c:325,1
    - Dst: dbus_connection_set_watch_functions
      Src: /src/hostap/wpa_supplicant/dbus/dbus_common.c:327,1
    - Dst: dbus_connection_set_timeout_functions
      Src: /src/hostap/wpa_supplicant/dbus/dbus_common.c:329,1
    - Dst: dbus_connection_remove_filter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_common.c:331,1
    - Dst: dbus_connection_unref
      Src: /src/hostap/wpa_supplicant/dbus/dbus_common.c:334,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_common.c:337,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - priv
    argTypes:
    - struct wpas_dbus_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 338
    functionName: wpas_dbus_deinit_common
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_common.c
    functionUses: 0
    functionsReached:
    - dbus_connection_unref
    - dbus_connection_set_timeout_functions
    - eloop_cancel_timeout
    - dbus_connection_set_watch_functions
    - dbus_connection_remove_filter
    - os_free
    linkageType: ''
    returnType: void
    signature: void wpas_dbus_deinit_common(struct wpas_dbus_priv *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/dbus/dbus_common.c:345,1
    - Dst: wpas_dbus_init_common
      Src: /src/hostap/wpa_supplicant/dbus/dbus_common.c:350,1
    - Dst: wpas_dbus_ctrl_iface_init
      Src: /src/hostap/wpa_supplicant/dbus/dbus_common.c:352,1
    - Dst: wpas_dbus_init_common_finish
      Src: /src/hostap/wpa_supplicant/dbus/dbus_common.c:354,1
    - Dst: wpas_dbus_deinit
      Src: /src/hostap/wpa_supplicant/dbus/dbus_common.c:355,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - global
    argTypes:
    - struct wpa_global*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 360
    functionName: wpas_dbus_init
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_common.c
    functionUses: 1
    functionsReached:
    - wpas_dbus_init_common
    - wpas_dbus_deinit
    - wpas_dbus_ctrl_iface_init
    - os_zalloc
    - wpas_dbus_init_common_finish
    linkageType: ''
    returnType: struct wpas_dbus_priv
    signature: struct wpas_dbus_priv * wpas_dbus_init(struct wpa_global *global)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_ctrl_iface_deinit
      Src: /src/hostap/wpa_supplicant/dbus/dbus_common.c:369,1
    - Dst: wpas_dbus_deinit_common
      Src: /src/hostap/wpa_supplicant/dbus/dbus_common.c:372,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - priv
    argTypes:
    - struct wpas_dbus_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 363
    functionDepth: 2
    functionLinenumber: 363
    functionLinenumberEnd: 373
    functionName: wpas_dbus_deinit
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_common.c
    functionUses: 2
    functionsReached:
    - wpas_dbus_ctrl_iface_deinit
    - wpas_dbus_deinit_common
    linkageType: ''
    returnType: void
    signature: void wpas_dbus_deinit(struct wpas_dbus_priv *priv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_iter_recurse
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:41,1
    - Dst: dbus_message_iter_get_arg_type
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:42,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:44,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:46,1
    - Dst: dbus_message_iter_get_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:50,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:51,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:53,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:56,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - message
    - entry_iter
    - params
    - reply
    argTypes:
    - DBusMessage*
    - DBusMessageIter*
    - struct wps_start_params*
    - DBusMessage**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 61
    functionName: wpas_dbus_handler_wps_role
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c
    functionUses: 0
    functionsReached:
    - dbus_message_iter_get_basic
    - dbus_message_iter_get_arg_type
    - wpa_printf
    - wpas_dbus_error_invalid_args
    - os_strcmp
    - dbus_message_iter_recurse
    linkageType: ''
    returnType: int
    signature: "int wpas_dbus_handler_wps_role(DBusMessage *message,\n\t\t\t\t      DBusMessageIter
      *entry_iter,\n\t\t\t\t      struct wps_start_params *params,\n\t\t\t\t      DBusMessage
      **reply)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_iter_recurse
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:72,1
    - Dst: dbus_message_iter_get_arg_type
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:73,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:74,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:76,1
    - Dst: dbus_message_iter_get_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:80,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:81,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:83,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:86,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - message
    - entry_iter
    - params
    - reply
    argTypes:
    - DBusMessage*
    - DBusMessageIter*
    - struct wps_start_params*
    - DBusMessage**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 92
    functionName: wpas_dbus_handler_wps_type
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c
    functionUses: 0
    functionsReached:
    - dbus_message_iter_get_basic
    - dbus_message_iter_get_arg_type
    - wpa_printf
    - wpas_dbus_error_invalid_args
    - os_strcmp
    - dbus_message_iter_recurse
    linkageType: ''
    returnType: int
    signature: "int wpas_dbus_handler_wps_type(DBusMessage *message,\n\t\t\t\t      DBusMessageIter
      *entry_iter,\n\t\t\t\t      struct wps_start_params *params,\n\t\t\t\t      DBusMessage
      **reply)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_iter_recurse
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:103,1
    - Dst: dbus_message_iter_get_arg_type
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:104,1
    - Dst: dbus_message_iter_get_element_type
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:105,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:107,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:109,1
    - Dst: dbus_message_iter_recurse
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:113,1
    - Dst: dbus_message_iter_get_fixed_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:114,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:116,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - message
    - entry_iter
    - params
    - reply
    argTypes:
    - DBusMessage*
    - DBusMessageIter*
    - struct wps_start_params*
    - DBusMessage**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 123
    functionName: wpas_dbus_handler_wps_bssid
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c
    functionUses: 0
    functionsReached:
    - dbus_message_iter_get_arg_type
    - dbus_message_iter_get_element_type
    - wpas_dbus_error_invalid_args
    - wpa_printf
    - dbus_message_iter_get_fixed_array
    - dbus_message_iter_recurse
    linkageType: ''
    returnType: int
    signature: "int wpas_dbus_handler_wps_bssid(DBusMessage *message,\n\t\t\t\t       DBusMessageIter
      *entry_iter,\n\t\t\t\t       struct wps_start_params *params,\n\t\t\t\t       DBusMessage
      **reply)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_iter_recurse
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:133,1
    - Dst: dbus_message_iter_get_arg_type
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:134,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:135,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:137,1
    - Dst: dbus_message_iter_get_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - message
    - entry_iter
    - params
    - reply
    argTypes:
    - DBusMessage*
    - DBusMessageIter*
    - struct wps_start_params*
    - DBusMessage**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 143
    functionName: wpas_dbus_handler_wps_pin
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c
    functionUses: 0
    functionsReached:
    - dbus_message_iter_get_basic
    - dbus_message_iter_get_arg_type
    - wpa_printf
    - wpas_dbus_error_invalid_args
    - dbus_message_iter_recurse
    linkageType: ''
    returnType: int
    signature: "int wpas_dbus_handler_wps_pin(DBusMessage *message,\n\t\t\t\t     DBusMessageIter
      *entry_iter,\n\t\t\t\t     struct wps_start_params *params,\n\t\t\t\t     DBusMessage
      **reply)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_iter_recurse
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:155,1
    - Dst: dbus_message_iter_get_arg_type
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:156,1
    - Dst: dbus_message_iter_get_element_type
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:157,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:159,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:161,1
    - Dst: dbus_message_iter_recurse
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:165,1
    - Dst: dbus_message_iter_get_fixed_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:166,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:169,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - message
    - entry_iter
    - params
    - reply
    argTypes:
    - DBusMessage*
    - DBusMessageIter*
    - struct wps_start_params*
    - DBusMessage**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 177
    functionName: wpas_dbus_handler_wps_p2p_dev_addr
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c
    functionUses: 0
    functionsReached:
    - dbus_message_iter_get_arg_type
    - dbus_message_iter_get_element_type
    - wpas_dbus_error_invalid_args
    - wpa_printf
    - dbus_message_iter_get_fixed_array
    - dbus_message_iter_recurse
    linkageType: ''
    returnType: int
    signature: "int wpas_dbus_handler_wps_p2p_dev_addr(DBusMessage *message,\n\t\t\t\t\t
      \     DBusMessageIter *entry_iter,\n\t\t\t\t\t      struct wps_start_params
      *params,\n\t\t\t\t\t      DBusMessage **reply)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:186,1
    - Dst: wpas_dbus_handler_wps_role
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:187,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:189,1
    - Dst: wpas_dbus_handler_wps_type
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:190,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:192,1
    - Dst: wpas_dbus_handler_wps_bssid
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:193,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:195,1
    - Dst: wpas_dbus_handler_wps_pin
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:196,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:199,1
    - Dst: wpas_dbus_handler_wps_p2p_dev_addr
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:200,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:204,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:205,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 5
    argNames:
    - message
    - key
    - entry_iter
    - params
    - reply
    argTypes:
    - DBusMessage*
    - char*
    - DBusMessageIter*
    - struct wps_start_params*
    - DBusMessage**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 207
    functionName: wpas_dbus_handler_wps_start_entry
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_handler_wps_pin
    - wpas_dbus_handler_wps_role
    - wpa_printf
    - wpas_dbus_error_invalid_args
    - wpas_dbus_handler_wps_type
    - wpas_dbus_handler_wps_bssid
    - os_strcmp
    - wpas_dbus_handler_wps_p2p_dev_addr
    linkageType: ''
    returnType: int
    signature: "int wpas_dbus_handler_wps_start_entry(DBusMessage *message, char *key,\n\t\t\t\t\t
      \    DBusMessageIter *entry_iter,\n\t\t\t\t\t     struct wps_start_params *params,\n\t\t\t\t\t
      \    DBusMessage **reply)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:231,1
    - Dst: dbus_message_iter_init
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:232,1
    - Dst: dbus_message_iter_recurse
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:234,1
    - Dst: dbus_message_iter_get_arg_type
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:235,1
    - Dst: dbus_message_iter_recurse
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:237,1
    - Dst: dbus_message_iter_get_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:239,1
    - Dst: dbus_message_iter_next
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:240,1
    - Dst: wpas_dbus_handler_wps_start_entry
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:242,1
    - Dst: dbus_message_iter_next
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:247,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:253,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:255,1
    - Dst: wpa_supplicant_ap_wps_pin
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:258,1
    - Dst: wpa_supplicant_ap_wps_pbc
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:263,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:269,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:270,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:274,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:276,1
    - Dst: wpas_wps_start_reg
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:279,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:282,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:283,1
    - Dst: wpas_wps_start_pin
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:286,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:290,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:291,1
    - Dst: wpas_dbus_error_unknown_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:292,1
    - Dst: wpas_wps_start_pbc
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:296,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:300,1
    - Dst: wpas_dbus_error_unknown_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:305,1
    - Dst: dbus_message_new_method_return
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:309,1
    - Dst: wpas_dbus_error_no_memory
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:311,1
    - Dst: dbus_message_iter_init_append
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:313,1
    - Dst: wpa_dbus_dict_open_write
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:314,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:315,1
    - Dst: wpa_dbus_dict_append_string
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:316,1
    - Dst: wpa_dbus_dict_close_write
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:317,1
    - Dst: dbus_message_unref
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:318,1
    - Dst: wpas_dbus_error_no_memory
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:319,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 60
    argCount: 2
    argNames:
    - message
    - wpa_s
    argTypes:
    - DBusMessage*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 221
    functionDepth: 8
    functionLinenumber: 221
    functionLinenumberEnd: 323
    functionName: wpas_dbus_handler_wps_start
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - wpas_dbus_handler_wps_start_entry
    - wpa_dbus_dict_append_string
    - dbus_message_iter_recurse
    - os_strlen
    - wpa_printf
    - wpas_dbus_error_invalid_args
    - wpa_dbus_dict_close_write
    - wpas_wps_start_reg
    - dbus_message_iter_init_append
    - dbus_message_iter_next
    - wpas_dbus_error_unknown_error
    - dbus_message_iter_init
    - dbus_message_iter_get_basic
    - dbus_message_iter_get_arg_type
    - wpa_supplicant_ap_wps_pin
    - wpa_dbus_dict_open_write
    - dbus_message_new_method_return
    - wpas_wps_start_pin
    - wpas_dbus_error_no_memory
    - os_memset
    - dbus_message_unref
    - wpas_wps_start_pbc
    - wpa_supplicant_ap_wps_pbc
    - os_snprintf_error
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * wpas_dbus_handler_wps_start(DBusMessage *message,\n\t\t\t\t\t
      \ struct wpa_supplicant *wpa_s)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_wps_cancel
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:338,1
    - Dst: wpas_dbus_error_unknown_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - message
    - wpa_s
    argTypes:
    - DBusMessage*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 335
    functionDepth: 7
    functionLinenumber: 335
    functionLinenumberEnd: 343
    functionName: wpas_dbus_handler_wps_cancel
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c
    functionUses: 0
    functionsReached:
    - wpas_wps_cancel
    - wpas_dbus_error_unknown_error
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * wpas_dbus_handler_wps_cancel(DBusMessage *message,\n\t\t\t\t\t
      \  struct wpa_supplicant *wpa_s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_simple_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 365
    functionName: wpas_dbus_getter_process_credentials
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_simple_property_getter
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_process_credentials(\n\tconst struct
      wpa_dbus_property_desc *property_desc,\n\tDBusMessageIter *iter, DBusError *error,
      void *user_data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_simple_property_setter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:387,1
    - Dst: wpa_dbus_mark_property_changed
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:395,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 401
    functionName: wpas_dbus_setter_process_credentials
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_simple_property_setter
    - wpa_dbus_mark_property_changed
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_setter_process_credentials(\n\tconst struct
      wpa_dbus_property_desc *property_desc,\n\tDBusMessageIter *iter, DBusError *error,
      void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_string_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 423
    functionName: wpas_dbus_getter_config_methods
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_string_property_getter
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_config_methods(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_simple_property_setter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:443,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:447,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:451,1
    - Dst: wpa_supplicant_update_config
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:455,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 436
    functionDepth: 8
    functionLinenumber: 436
    functionLinenumberEnd: 458
    functionName: wpas_dbus_setter_config_methods
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpa_supplicant_update_config
    - wpas_dbus_simple_property_setter
    - os_strdup
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_setter_config_methods(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_string_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 478
    functionName: wpas_dbus_getter_wps_device_name
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_string_property_getter
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_wps_device_name(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_simple_property_setter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:497,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:501,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:504,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:508,1
    - Dst: wpa_supplicant_update_config
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:511,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 490
    functionDepth: 8
    functionLinenumber: 490
    functionLinenumberEnd: 514
    functionName: wpas_dbus_setter_wps_device_name
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_supplicant_update_config
    - wpas_dbus_simple_property_setter
    - os_free
    - os_strdup
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_setter_wps_device_name(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_string_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 526
    functionDepth: 1
    functionLinenumber: 526
    functionLinenumberEnd: 534
    functionName: wpas_dbus_getter_wps_manufacturer
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_string_property_getter
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_wps_manufacturer(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_simple_property_setter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:553,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:557,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:560,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:564,1
    - Dst: wpa_supplicant_update_config
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:567,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 546
    functionDepth: 8
    functionLinenumber: 546
    functionLinenumberEnd: 570
    functionName: wpas_dbus_setter_wps_manufacturer
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_supplicant_update_config
    - wpas_dbus_simple_property_setter
    - os_free
    - os_strdup
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_setter_wps_manufacturer(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_string_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 582
    functionDepth: 1
    functionLinenumber: 582
    functionLinenumberEnd: 590
    functionName: wpas_dbus_getter_wps_device_model_name
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_string_property_getter
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_wps_device_model_name(\n\tconst struct
      wpa_dbus_property_desc *property_desc,\n\tDBusMessageIter *iter, DBusError *error,
      void *user_data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_simple_property_setter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:609,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:613,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:616,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:619,1
    - Dst: wpa_supplicant_update_config
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:622,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 602
    functionDepth: 8
    functionLinenumber: 602
    functionLinenumberEnd: 625
    functionName: wpas_dbus_setter_wps_device_model_name
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_supplicant_update_config
    - wpas_dbus_simple_property_setter
    - os_free
    - os_strdup
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_setter_wps_device_model_name(\n\tconst struct
      wpa_dbus_property_desc *property_desc,\n\tDBusMessageIter *iter, DBusError *error,
      void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_string_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:643,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 637
    functionDepth: 1
    functionLinenumber: 637
    functionLinenumberEnd: 645
    functionName: wpas_dbus_getter_wps_device_model_number
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_string_property_getter
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_wps_device_model_number(\n\tconst struct
      wpa_dbus_property_desc *property_desc,\n\tDBusMessageIter *iter, DBusError *error,
      void *user_data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_simple_property_setter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:664,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:668,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:671,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:675,1
    - Dst: wpa_supplicant_update_config
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:678,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 657
    functionDepth: 8
    functionLinenumber: 657
    functionLinenumberEnd: 681
    functionName: wpas_dbus_setter_wps_device_model_number
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_supplicant_update_config
    - wpas_dbus_simple_property_setter
    - os_free
    - os_strdup
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_setter_wps_device_model_number(\n\tconst struct
      wpa_dbus_property_desc *property_desc,\n\tDBusMessageIter *iter, DBusError *error,
      void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_string_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:699,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 693
    functionDepth: 1
    functionLinenumber: 693
    functionLinenumberEnd: 702
    functionName: wpas_dbus_getter_wps_device_serial_number
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_string_property_getter
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_wps_device_serial_number(\n\tconst struct
      wpa_dbus_property_desc *property_desc,\n\tDBusMessageIter *iter, DBusError *error,
      void *user_data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_simple_property_setter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:721,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:725,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:728,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:731,1
    - Dst: wpa_supplicant_update_config
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:734,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 714
    functionDepth: 8
    functionLinenumber: 714
    functionLinenumberEnd: 737
    functionName: wpas_dbus_setter_wps_device_serial_number
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_supplicant_update_config
    - wpas_dbus_simple_property_setter
    - os_free
    - os_strdup
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_setter_wps_device_serial_number(\n\tconst struct
      wpa_dbus_property_desc *property_desc,\n\tDBusMessageIter *iter, DBusError *error,
      void *user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_simple_array_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:755,1
    - Dst: dbus_set_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:759,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 749
    functionDepth: 1
    functionLinenumber: 749
    functionLinenumberEnd: 765
    functionName: wpas_dbus_getter_wps_device_device_type
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_simple_array_property_getter
    - dbus_set_error
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_wps_device_device_type(\n\tconst struct
      wpa_dbus_property_desc *property_desc,\n\tDBusMessageIter *iter, DBusError *error,
      void *user_data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_iter_get_arg_type
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:786,1
    - Dst: dbus_message_iter_recurse
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:789,1
    - Dst: dbus_message_iter_get_arg_type
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:790,1
    - Dst: dbus_message_iter_recurse
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:793,1
    - Dst: dbus_message_iter_get_fixed_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:794,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:799,1
    - Dst: wpa_supplicant_update_config
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c:801,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 777
    functionDepth: 8
    functionLinenumber: 777
    functionLinenumberEnd: 804
    functionName: wpas_dbus_setter_wps_device_device_type
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c
    functionUses: 0
    functionsReached:
    - dbus_message_iter_get_arg_type
    - os_memcpy
    - dbus_message_iter_get_fixed_array
    - wpa_supplicant_update_config
    - dbus_message_iter_recurse
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_setter_wps_device_device_type(\n\tconst struct
      wpa_dbus_property_desc *property_desc,\n\tDBusMessageIter *iter, DBusError *error,
      void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbus_dict_end_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.h:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - iter_dict
    - iter_dict_entry
    - iter_dict_val
    - iter_array
    argTypes:
    - DBusMessageIter*
    - DBusMessageIter*
    - DBusMessageIter*
    - DBusMessageIter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 99
    functionName: wpa_dbus_dict_end_string_array
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.h
    functionUses: 1
    functionsReached:
    - wpa_dbus_dict_end_array
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpa_dbus_dict_end_string_array(DBusMessageIter *iter_dict,\n\t\t\t
      \      DBusMessageIter *iter_dict_entry,\n\t\t\t       DBusMessageIter *iter_dict_val,\n\t\t\t
      \      DBusMessageIter *iter_array)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_new_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - message
    - arg
    argTypes:
    - DBusMessage*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: wpas_dbus_error_unknown_error
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 15
    functionsReached:
    - dbus_message_new_error
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * wpas_dbus_error_unknown_error(DBusMessage *message,\n\t\t\t\t\t
      \   const char *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_new_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message
    argTypes:
    - DBusMessage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: wpas_dbus_error_iface_unknown
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - dbus_message_new_error
    linkageType: ''
    returnType: DBusMessage
    signature: DBusMessage * wpas_dbus_error_iface_unknown(DBusMessage *message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_new_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message
    argTypes:
    - DBusMessage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 91
    functionName: wpas_dbus_error_network_unknown
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - dbus_message_new_error
    linkageType: ''
    returnType: DBusMessage
    signature: DBusMessage * wpas_dbus_error_network_unknown(DBusMessage *message)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_new_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:106,1
    - Dst: dbus_message_append_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - message
    - arg
    argTypes:
    - DBusMessage*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 114
    functionName: wpas_dbus_error_invalid_args
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 22
    functionsReached:
    - dbus_message_append_args
    - dbus_message_new_error
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * wpas_dbus_error_invalid_args(DBusMessage *message,\n\t\t\t\t\t
      \ const char *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_new_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - message
    - error
    argTypes:
    - DBusMessage*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: wpas_dbus_error_scan_error
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - dbus_message_new_error
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * wpas_dbus_error_scan_error(DBusMessage *message,\n\t\t\t\t\t\tconst
      char *error)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:136,1
    - Dst: dbus_message_new_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - message
    argTypes:
    - DBusMessage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 138
    functionName: wpas_dbus_error_no_memory
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 3
    functionsReached:
    - wpa_printf
    - dbus_message_new_error
    linkageType: ''
    returnType: DBusMessage
    signature: DBusMessage * wpas_dbus_error_no_memory(DBusMessage *message)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - key
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 170
    functionName: should_quote_opt
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - os_strcmp
    linkageType: ''
    returnType: dbus_bool_t
    signature: dbus_bool_t should_quote_opt(const char *key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:185,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - global
    - path
    argTypes:
    - struct wpa_global*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 189
    functionName: get_iface_by_dbus_path
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - os_strcmp
    linkageType: ''
    returnType: struct wpa_supplicant
    signature: "struct wpa_supplicant * get_iface_by_dbus_path(\n\tstruct wpa_global
      *global, const char *path)"
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbus_dict_open_read
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:214,1
    - Dst: wpa_dbus_dict_has_dict_entry
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:217,1
    - Dst: wpa_dbus_dict_get_entry
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:221,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:231,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:235,1
    - Dst: should_quote_opt
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:241,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:242,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:245,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:249,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:251,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:254,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:259,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:263,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:265,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:268,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:272,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:274,1
    - Dst: wpa_config_set
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:279,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:286,1
    - Dst: wpa_supplicant_reset_bgscan
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:294,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:295,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:297,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:302,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:303,1
    - Dst: wpa_sm_pmksa_cache_flush
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:304,1
    - Dst: eapol_sm_invalidate_cached_session
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:312,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:315,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:317,1
    - Dst: wpa_config_update_psk
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:318,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:319,1
    - Dst: wpa_config_update_prio_list
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:320,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:327,1
    - Dst: atoi
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:328,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:330,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:334,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:336,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:340,1
    - Dst: dbus_set_error_const
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:341,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:349,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:350,1
    - Dst: dbus_set_error_const
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:351,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 109
    argCount: 4
    argNames:
    - wpa_s
    - ssid
    - iter
    - error
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_ssid*
    - DBusMessageIter*
    - DBusError*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 203
    functionDepth: 7
    functionLinenumber: 203
    functionLinenumberEnd: 354
    functionName: set_network_properties
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 2
    functionsReached:
    - should_quote_opt
    - wpa_config_update_psk
    - os_snprintf
    - wpa_sm_pmksa_cache_flush
    - wpa_config_update_prio_list
    - atoi
    - wpa_config_set
    - os_strlen
    - wpa_printf
    - wpa_snprintf_hex
    - wpa_dbus_dict_has_dict_entry
    - os_free
    - os_strcmp
    - eapol_sm_invalidate_cached_session
    - wpa_dbus_dict_get_entry
    - dbus_set_error_const
    - os_strdup
    - wpa_supplicant_reset_bgscan
    - wpa_dbus_dict_open_read
    - os_zalloc
    - wpa_dbus_dict_entry_clear
    - os_snprintf_error
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t set_network_properties(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \  struct wpa_ssid *ssid,\n\t\t\t\t   DBusMessageIter *iter,\n\t\t\t\t   DBusError
      *error)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: should_quote_opt
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:372,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:373,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:376,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:380,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:382,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:383,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:387,1
    - Dst: wpa_config_set_cred
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:392,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:393,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:406,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:410,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:414,1
    - Dst: should_quote_opt
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:418,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:419,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:422,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:426,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:428,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:429,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:433,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:439,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:443,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:444,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:445,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:450,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:454,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:455,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:456,1
    - Dst: wpa_config_set_cred
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:463,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:464,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 86
    argCount: 2
    argNames:
    - cred
    - entry
    argTypes:
    - struct wpa_cred*
    - struct wpa_dbus_dict_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 357
    functionDepth: 3
    functionLinenumber: 357
    functionLinenumberEnd: 466
    functionName: set_cred_property
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_snprintf_hex
    - wpa_config_set_cred
    - should_quote_opt
    - os_snprintf
    - os_zalloc
    - os_free
    - os_strdup
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int set_cred_property(struct wpa_cred *cred,\n\t\t\t     struct wpa_dbus_dict_entry
      *entry)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbus_dict_open_read
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:486,1
    - Dst: wpa_dbus_dict_has_dict_entry
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:489,1
    - Dst: wpa_dbus_dict_get_entry
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:492,1
    - Dst: set_cred_property
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:495,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:496,1
    - Dst: dbus_set_error_const
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:500,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - wpa_s
    - cred
    - iter
    - error
    argTypes:
    - struct wpa_supplicant*
    - struct wpa_cred*
    - DBusMessageIter*
    - DBusError*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 478
    functionDepth: 6
    functionLinenumber: 478
    functionLinenumberEnd: 507
    functionName: set_cred_properties
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpa_dbus_dict_open_read
    - wpa_dbus_dict_get_entry
    - set_cred_property
    - wpa_dbus_dict_has_dict_entry
    - wpa_dbus_dict_entry_clear
    - dbus_set_error_const
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t set_cred_properties(struct wpa_supplicant *wpa_s,\n\t\t\t\t
      \      struct wpa_cred *cred,\n\t\t\t\t       DBusMessageIter *iter,\n\t\t\t\t
      \      DBusError *error)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dbus_type_is_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:527,1
    - Dst: dbus_set_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:528,1
    - Dst: dbus_message_iter_open_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:533,1
    - Dst: wpa_dbus_type_as_string
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:534,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:536,1
    - Dst: dbus_message_iter_close_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:537,1
    - Dst: dbus_set_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:538,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - iter
    - type
    - val
    - error
    argTypes:
    - DBusMessageIter*
    - int
    - void*
    - DBusError*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 520
    functionDepth: 1
    functionLinenumber: 520
    functionLinenumberEnd: 544
    functionName: wpas_dbus_simple_property_getter
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 14
    functionsReached:
    - dbus_set_error
    - dbus_message_iter_append_basic
    - dbus_type_is_basic
    - wpa_dbus_type_as_string
    - dbus_message_iter_open_container
    - dbus_message_iter_close_container
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_simple_property_getter(DBusMessageIter *iter,\n\t\t\t\t\t
      \    const int type,\n\t\t\t\t\t     const void *val,\n\t\t\t\t\t     DBusError
      *error)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dbus_type_is_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:562,1
    - Dst: dbus_set_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:563,1
    - Dst: dbus_message_iter_recurse
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:569,1
    - Dst: dbus_message_iter_get_arg_type
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:570,1
    - Dst: dbus_set_error_const
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:571,1
    - Dst: dbus_message_iter_get_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:575,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - iter
    - error
    - type
    - val
    argTypes:
    - DBusMessageIter*
    - DBusError*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 578
    functionName: wpas_dbus_simple_property_setter
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 7
    functionsReached:
    - dbus_message_iter_get_basic
    - dbus_message_iter_get_arg_type
    - dbus_set_error
    - dbus_type_is_basic
    - dbus_set_error_const
    - dbus_message_iter_recurse
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_simple_property_setter(DBusMessageIter *iter,\n\t\t\t\t\t
      \    DBusError *error,\n\t\t\t\t\t     const int type, void *val)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: dbus_type_is_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:604,1
    - Dst: dbus_set_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:605,1
    - Dst: wpa_dbus_type_as_string
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:610,1
    - Dst: dbus_message_iter_open_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:613,1
    - Dst: dbus_message_iter_open_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:615,1
    - Dst: dbus_set_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:617,1
    - Dst: dbus_set_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:647,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:653,1
    - Dst: dbus_set_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:656,1
    - Dst: dbus_message_iter_close_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:663,1
    - Dst: dbus_message_iter_close_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:664,1
    - Dst: dbus_set_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:665,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 50
    argCount: 5
    argNames:
    - iter
    - type
    - array
    - array_len
    - error
    argTypes:
    - DBusMessageIter*
    - int
    - void*
    - size_t
    - DBusError*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 593
    functionDepth: 1
    functionLinenumber: 593
    functionLinenumberEnd: 671
    functionName: wpas_dbus_simple_array_property_getter
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 15
    functionsReached:
    - dbus_set_error
    - dbus_message_iter_append_basic
    - dbus_type_is_basic
    - wpa_dbus_type_as_string
    - dbus_message_iter_open_container
    - dbus_message_iter_close_container
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_simple_array_property_getter(DBusMessageIter
      *iter,\n\t\t\t\t\t\t   const int type,\n\t\t\t\t\t\t   const void *array,\n\t\t\t\t\t\t
      \  size_t array_len,\n\t\t\t\t\t\t   DBusError *error)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dbus_type_is_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:698,1
    - Dst: dbus_set_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:699,1
    - Dst: wpa_dbus_type_as_string
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:704,1
    - Dst: dbus_message_iter_open_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:708,1
    - Dst: dbus_message_iter_open_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:710,1
    - Dst: dbus_set_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:712,1
    - Dst: wpa_dbus_dict_bin_array_add_element
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:718,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:719,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:720,1
    - Dst: dbus_message_iter_close_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:724,1
    - Dst: dbus_message_iter_close_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:725,1
    - Dst: dbus_set_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:726,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 5
    argNames:
    - iter
    - type
    - array
    - array_len
    - error
    argTypes:
    - DBusMessageIter*
    - int
    - struct wpabuf**
    - size_t
    - DBusError*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 686
    functionDepth: 1
    functionLinenumber: 686
    functionLinenumberEnd: 732
    functionName: wpas_dbus_simple_array_array_property_getter
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 2
    functionsReached:
    - dbus_set_error
    - wpabuf_len
    - wpabuf_head
    - wpa_dbus_dict_bin_array_add_element
    - dbus_type_is_basic
    - wpa_dbus_type_as_string
    - dbus_message_iter_open_container
    - dbus_message_iter_close_container
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_simple_array_array_property_getter(DBusMessageIter
      *iter,\n\t\t\t\t\t\t\t const int type,\n\t\t\t\t\t\t\t struct wpabuf **array,\n\t\t\t\t\t\t\t
      size_t array_len,\n\t\t\t\t\t\t\t DBusError *error)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_simple_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:751,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - iter
    - val
    - error
    argTypes:
    - DBusMessageIter*
    - void*
    - DBusError*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 745
    functionDepth: 2
    functionLinenumber: 745
    functionLinenumberEnd: 753
    functionName: wpas_dbus_string_property_getter
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 7
    functionsReached:
    - wpas_dbus_simple_property_getter
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_string_property_getter(DBusMessageIter *iter,\n\t\t\t\t\t
      \    const void *val,\n\t\t\t\t\t     DBusError *error)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_iter_init
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:782,1
    - Dst: wpa_dbus_dict_open_read
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:784,1
    - Dst: wpa_dbus_dict_has_dict_entry
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:786,1
    - Dst: wpa_dbus_dict_get_entry
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:787,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:789,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:791,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:792,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:793,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:796,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:798,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:799,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:800,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:803,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:805,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:806,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:807,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:810,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:812,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:813,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:814,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:817,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:820,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:821,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:823,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:825,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:828,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:831,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:832,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:834,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:836,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:839,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:840,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:843,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:845,1
    - Dst: wpa_supplicant_get_iface
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:857,1
    - Dst: dbus_message_new_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:858,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:868,1
    - Dst: wpa_drv_if_add
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:872,1
    - Dst: wpas_dbus_error_unknown_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:875,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:882,1
    - Dst: wpa_supplicant_add_iface
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:888,1
    - Dst: dbus_message_new_method_return
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:893,1
    - Dst: dbus_message_append_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:894,1
    - Dst: wpas_dbus_error_unknown_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:897,1
    - Dst: wpa_drv_if_remove
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:904,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:911,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:912,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:913,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:914,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:915,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:919,1
    - Dst: wpas_dbus_error_no_memory
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:922,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 126
    argCount: 2
    argNames:
    - message
    - global
    argTypes:
    - DBusMessage*
    - struct wpa_global*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 924
      start: 767
    functionDepth: 12
    functionLinenumber: 767
    functionLinenumberEnd: 924
    functionName: wpas_dbus_handler_create_interface
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpa_drv_if_remove
    - wpa_printf
    - dbus_message_append_args
    - wpas_dbus_error_invalid_args
    - hwaddr_aton
    - wpa_dbus_dict_has_dict_entry
    - wpas_dbus_error_unknown_error
    - os_free
    - dbus_message_iter_init
    - os_strcmp
    - dbus_message_new_method_return
    - os_malloc
    - dbus_message_new_error
    - wpa_dbus_dict_get_entry
    - wpas_dbus_error_no_memory
    - os_strdup
    - os_memset
    - wpa_drv_if_add
    - wpa_dbus_dict_open_read
    - wpa_dbus_dict_entry_clear
    - wpa_supplicant_get_iface
    - wpa_supplicant_add_iface
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * wpas_dbus_handler_create_interface(DBusMessage *message,\n\t\t\t\t\t\t
      struct wpa_global *global)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_get_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:946,1
    - Dst: get_iface_by_dbus_path
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:949,1
    - Dst: wpas_dbus_error_iface_unknown
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:951,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:957,1
    - Dst: wpa_supplicant_remove_iface
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:959,1
    - Dst: wpas_dbus_error_unknown_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:960,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:967,1
    - Dst: wpa_drv_if_remove
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:971,1
    - Dst: wpas_dbus_error_unknown_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:973,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:980,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - message
    - global
    argTypes:
    - DBusMessage*
    - struct wpa_global*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 938
    functionDepth: 6
    functionLinenumber: 938
    functionLinenumberEnd: 982
    functionName: wpas_dbus_handler_remove_interface
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_drv_if_remove
    - dbus_message_get_args
    - get_iface_by_dbus_path
    - wpas_dbus_error_iface_unknown
    - wpas_dbus_error_unknown_error
    - wpa_supplicant_remove_iface
    - os_free
    - os_strdup
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * wpas_dbus_handler_remove_interface(DBusMessage *message,\n\t\t\t\t\t\t
      struct wpa_global *global)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_get_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1002,1
    - Dst: wpa_supplicant_get_iface
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1005,1
    - Dst: wpas_dbus_error_iface_unknown
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1007,1
    - Dst: dbus_message_new_method_return
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1010,1
    - Dst: wpas_dbus_error_no_memory
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1012,1
    - Dst: dbus_message_append_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1013,1
    - Dst: dbus_message_unref
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1015,1
    - Dst: wpas_dbus_error_no_memory
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1016,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - message
    - global
    argTypes:
    - DBusMessage*
    - struct wpa_global*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1020
      start: 994
    functionDepth: 1
    functionLinenumber: 994
    functionLinenumberEnd: 1020
    functionName: wpas_dbus_handler_get_interface
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - dbus_message_append_args
    - dbus_message_get_args
    - dbus_message_new_method_return
    - dbus_message_unref
    - wpas_dbus_error_iface_unknown
    - wpas_dbus_error_no_memory
    - wpa_supplicant_get_iface
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * wpas_dbus_handler_get_interface(DBusMessage *message,\n\t\t\t\t\t
      \     struct wpa_global *global)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_simple_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1044,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1032
    functionDepth: 2
    functionLinenumber: 1032
    functionLinenumberEnd: 1046
    functionName: wpas_dbus_getter_debug_level
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_simple_property_getter
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_debug_level(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_simple_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1064,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1067
      start: 1058
    functionDepth: 2
    functionLinenumber: 1058
    functionLinenumberEnd: 1067
    functionName: wpas_dbus_getter_debug_timestamp
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_simple_property_getter
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_debug_timestamp(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_simple_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1085,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 1079
    functionDepth: 2
    functionLinenumber: 1079
    functionLinenumberEnd: 1088
    functionName: wpas_dbus_getter_debug_show_keys
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_simple_property_getter
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_debug_show_keys(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_simple_property_setter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1107,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1112,1
    - Dst: wpa_supplicant_set_debug_params
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1118,1
    - Dst: dbus_set_error_const
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1120,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1099
    functionDepth: 2
    functionLinenumber: 1099
    functionLinenumberEnd: 1126
    functionName: wpas_dbus_setter_debug_level
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_set_debug_params
    - wpas_dbus_simple_property_setter
    - os_strcmp
    - dbus_set_error_const
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_setter_debug_level(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_simple_property_setter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1145,1
    - Dst: wpa_supplicant_set_debug_params
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1138
    functionDepth: 2
    functionLinenumber: 1138
    functionLinenumberEnd: 1152
    functionName: wpas_dbus_setter_debug_timestamp
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_set_debug_params
    - wpas_dbus_simple_property_setter
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_setter_debug_timestamp(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_simple_property_setter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1171,1
    - Dst: wpa_supplicant_set_debug_params
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1164
    functionDepth: 2
    functionLinenumber: 1164
    functionLinenumberEnd: 1179
    functionName: wpas_dbus_setter_debug_show_keys
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_set_debug_params
    - wpas_dbus_simple_property_setter
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_setter_debug_show_keys(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_calloc
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1208,1
    - Dst: dbus_set_error_const
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1210,1
    - Dst: wpas_dbus_simple_array_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1219,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1223,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1193
    functionDepth: 2
    functionLinenumber: 1193
    functionLinenumberEnd: 1225
    functionName: wpas_dbus_getter_interfaces
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_simple_array_property_getter
    - os_free
    - dbus_set_error_const
    - os_calloc
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_interfaces(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_get_names_as_string_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1246,1
    - Dst: dbus_set_error_const
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1248,1
    - Dst: wpas_dbus_simple_array_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1252,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1258,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1259,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1261
      start: 1238
    functionDepth: 2
    functionLinenumber: 1238
    functionLinenumberEnd: 1261
    functionName: wpas_dbus_getter_eap_methods
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_simple_array_property_getter
    - os_free
    - eap_get_names_as_string_array
    - dbus_set_error_const
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_eap_methods(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_is_fils_supported
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1290,1
    - Dst: wpa_is_fils_sk_pfs_supported
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1292,1
    - Dst: wpas_dbus_simple_array_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1339,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1343
      start: 1275
    functionDepth: 2
    functionLinenumber: 1275
    functionLinenumberEnd: 1343
    functionName: wpas_dbus_getter_global_capabilities
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_simple_array_property_getter
    - wpa_is_fils_sk_pfs_supported
    - wpa_is_fils_supported
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_global_capabilities(\n\tconst struct
      wpa_dbus_property_desc *property_desc,\n\tDBusMessageIter *iter, DBusError *error,
      void *user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_iter_get_arg_type
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1349,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1350,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1352,1
    - Dst: dbus_message_iter_get_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1356,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - message
    - var
    - type
    - reply
    argTypes:
    - DBusMessage*
    - DBusMessageIter*
    - char**
    - DBusMessage**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1358
      start: 1346
    functionDepth: 1
    functionLinenumber: 1346
    functionLinenumberEnd: 1358
    functionName: wpas_dbus_get_scan_type
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - dbus_message_iter_get_basic
    - dbus_message_iter_get_arg_type
    - wpa_printf
    - wpas_dbus_error_invalid_args
    linkageType: ''
    returnType: int
    signature: "int wpas_dbus_get_scan_type(DBusMessage *message, DBusMessageIter
      *var,\n\t\t\t\t   char **type, DBusMessage **reply)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_iter_get_arg_type
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1372,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1373,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1376,1
    - Dst: dbus_message_iter_recurse
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1382,1
    - Dst: dbus_message_iter_get_arg_type
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1384,1
    - Dst: dbus_message_iter_get_element_type
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1385,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1386,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1389,1
    - Dst: dbus_message_iter_get_arg_type
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1395,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1397,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1400,1
    - Dst: dbus_message_iter_recurse
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1406,1
    - Dst: dbus_message_iter_get_fixed_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1408,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1411,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1414,1
    - Dst: os_memdup
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1420,1
    - Dst: wpas_dbus_error_no_memory
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1422,1
    - Dst: dbus_message_iter_next
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1433,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 4
    argNames:
    - message
    - var
    - params
    - reply
    argTypes:
    - DBusMessage*
    - DBusMessageIter*
    - struct wpa_driver_scan_params*
    - DBusMessage**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1439
      start: 1361
    functionDepth: 1
    functionLinenumber: 1361
    functionLinenumberEnd: 1439
    functionName: wpas_dbus_get_scan_ssids
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - dbus_message_iter_get_arg_type
    - wpa_printf
    - wpas_dbus_error_invalid_args
    - dbus_message_iter_get_element_type
    - dbus_message_iter_get_fixed_array
    - os_memdup
    - dbus_message_iter_next
    - wpas_dbus_error_no_memory
    - dbus_message_iter_recurse
    linkageType: ''
    returnType: int
    signature: "int wpas_dbus_get_scan_ssids(DBusMessage *message, DBusMessageIter
      *var,\n\t\t\t\t    struct wpa_driver_scan_params *params,\n\t\t\t\t    DBusMessage
      **reply)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_iter_get_arg_type
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1452,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1453,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1456,1
    - Dst: dbus_message_iter_recurse
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1462,1
    - Dst: dbus_message_iter_get_arg_type
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1464,1
    - Dst: dbus_message_iter_get_element_type
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1465,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1466,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1469,1
    - Dst: dbus_message_iter_get_arg_type
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1474,1
    - Dst: dbus_message_iter_recurse
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1475,1
    - Dst: dbus_message_iter_get_fixed_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1477,1
    - Dst: dbus_message_iter_next
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1479,1
    - Dst: os_realloc
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1483,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1485,1
    - Dst: wpas_dbus_error_no_memory
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1486,1
    - Dst: os_memcpy
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1490,1
    - Dst: dbus_message_iter_next
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1493,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 4
    argNames:
    - message
    - var
    - params
    - reply
    argTypes:
    - DBusMessage*
    - DBusMessageIter*
    - struct wpa_driver_scan_params*
    - DBusMessage**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1499
      start: 1442
    functionDepth: 1
    functionLinenumber: 1442
    functionLinenumberEnd: 1499
    functionName: wpas_dbus_get_scan_ies
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - dbus_message_iter_get_arg_type
    - wpa_printf
    - wpas_dbus_error_invalid_args
    - dbus_message_iter_get_element_type
    - os_memcpy
    - dbus_message_iter_get_fixed_array
    - os_realloc
    - dbus_message_iter_next
    - os_free
    - wpas_dbus_error_no_memory
    - dbus_message_iter_recurse
    linkageType: ''
    returnType: int
    signature: "int wpas_dbus_get_scan_ies(DBusMessage *message, DBusMessageIter *var,\n\t\t\t\t
      \ struct wpa_driver_scan_params *params,\n\t\t\t\t  DBusMessage **reply)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_iter_get_arg_type
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1511,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1512,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1515,1
    - Dst: dbus_message_iter_recurse
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1521,1
    - Dst: dbus_message_iter_get_arg_type
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1523,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1524,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1527,1
    - Dst: dbus_message_iter_get_arg_type
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1533,1
    - Dst: dbus_message_iter_recurse
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1537,1
    - Dst: dbus_message_iter_get_arg_type
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1539,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1541,1
    - Dst: dbus_message_iter_get_arg_type
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1544,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1546,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1549,1
    - Dst: dbus_message_iter_get_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1552,1
    - Dst: dbus_message_iter_next
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1554,1
    - Dst: dbus_message_iter_get_arg_type
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1555,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1557,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1560,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1563,1
    - Dst: dbus_message_iter_get_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1567,1
    - Dst: os_realloc_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1571,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1575,1
    - Dst: wpas_dbus_error_no_memory
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1579,1
    - Dst: dbus_message_iter_next
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1586,1
    - Dst: os_realloc_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1589,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1591,1
    - Dst: wpas_dbus_error_no_memory
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1594,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 53
    argCount: 4
    argNames:
    - message
    - var
    - params
    - reply
    argTypes:
    - DBusMessage*
    - DBusMessageIter*
    - struct wpa_driver_scan_params*
    - DBusMessage**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1601
      start: 1502
    functionDepth: 1
    functionLinenumber: 1502
    functionLinenumberEnd: 1601
    functionName: wpas_dbus_get_scan_channels
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - dbus_message_iter_get_basic
    - dbus_message_iter_get_arg_type
    - wpa_printf
    - wpas_dbus_error_invalid_args
    - dbus_message_iter_next
    - os_free
    - wpas_dbus_error_no_memory
    - dbus_message_iter_recurse
    - os_realloc_array
    linkageType: ''
    returnType: int
    signature: "int wpas_dbus_get_scan_channels(DBusMessage *message,\n\t\t\t\t       DBusMessageIter
      *var,\n\t\t\t\t       struct wpa_driver_scan_params *params,\n\t\t\t\t       DBusMessage
      **reply)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_iter_get_arg_type
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1609,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1610,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1612,1
    - Dst: dbus_message_iter_get_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1616,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - message
    - var
    - allow
    - reply
    argTypes:
    - DBusMessage*
    - DBusMessageIter*
    - dbus_bool_t*
    - DBusMessage**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1618
      start: 1604
    functionDepth: 1
    functionLinenumber: 1604
    functionLinenumberEnd: 1618
    functionName: wpas_dbus_get_scan_boolean
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - dbus_message_iter_get_basic
    - dbus_message_iter_get_arg_type
    - wpa_printf
    - wpas_dbus_error_invalid_args
    linkageType: ''
    returnType: int
    signature: "int wpas_dbus_get_scan_boolean(DBusMessage *message,\n\t\t\t\t      DBusMessageIter
      *var,\n\t\t\t\t      dbus_bool_t *allow,\n\t\t\t\t      DBusMessage **reply)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1644,1
    - Dst: dbus_message_iter_init
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1646,1
    - Dst: dbus_message_iter_recurse
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1648,1
    - Dst: dbus_message_iter_get_arg_type
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1650,1
    - Dst: dbus_message_iter_recurse
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1652,1
    - Dst: dbus_message_iter_get_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1653,1
    - Dst: dbus_message_iter_next
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1654,1
    - Dst: dbus_message_iter_recurse
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1655,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1657,1
    - Dst: wpas_dbus_get_scan_type
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1658,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1661,1
    - Dst: wpas_dbus_get_scan_ssids
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1662,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1665,1
    - Dst: wpas_dbus_get_scan_ies
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1666,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1670,1
    - Dst: wpas_dbus_get_scan_channels
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1671,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1674,1
    - Dst: wpas_dbus_get_scan_boolean
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1675,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1680,1
    - Dst: wpas_dbus_get_scan_boolean
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1681,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1686,1
    - Dst: wpas_dbus_get_scan_boolean
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1687,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1693,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1695,1
    - Dst: dbus_message_iter_next
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1699,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1703,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1705,1
    - Dst: wpa_add_scan_freqs_list
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1713,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1716,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1718,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1721,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1727,1
    - Dst: wpa_supplicant_cancel_sched_scan
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1730,1
    - Dst: wpa_supplicant_trigger_scan
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1735,1
    - Dst: wpas_dbus_error_scan_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1738,1
    - Dst: wpa_supplicant_req_scan
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1745,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1748,1
    - Dst: autoscan_deinit
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1754,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1757,1
    - Dst: wpa_supplicant_cancel_sched_scan
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1760,1
    - Dst: wpa_supplicant_trigger_scan
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1764,1
    - Dst: wpas_dbus_error_scan_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1766,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1771,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1773,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1783,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1784,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1785,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 116
    argCount: 2
    argNames:
    - message
    - wpa_s
    argTypes:
    - DBusMessage*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1787
      start: 1631
    functionDepth: 3
    functionLinenumber: 1631
    functionLinenumberEnd: 1787
    functionName: wpas_dbus_handler_scan
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_get_scan_channels
    - wpas_dbus_get_scan_ies
    - dbus_message_iter_recurse
    - wpa_printf
    - wpas_dbus_error_invalid_args
    - wpa_supplicant_req_scan
    - wpas_dbus_error_scan_error
    - wpas_dbus_get_scan_type
    - dbus_message_iter_next
    - autoscan_deinit
    - os_free
    - dbus_message_iter_init
    - os_strcmp
    - dbus_message_iter_get_basic
    - dbus_message_iter_get_arg_type
    - os_memset
    - wpa_supplicant_cancel_sched_scan
    - wpa_supplicant_trigger_scan
    - wpas_dbus_get_scan_boolean
    - wpa_add_scan_freqs_list
    - wpas_dbus_get_scan_ssids
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * wpas_dbus_handler_scan(DBusMessage *message,\n\t\t\t\t
      \    struct wpa_supplicant *wpa_s)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_abort_ongoing_scan
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1802,1
    - Dst: dbus_message_new_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1803,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - message
    - wpa_s
    argTypes:
    - DBusMessage*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1808
      start: 1799
    functionDepth: 2
    functionLinenumber: 1799
    functionLinenumberEnd: 1808
    functionName: wpas_dbus_handler_abort_scan
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - dbus_message_new_error
    - wpas_abort_ongoing_scan
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * wpas_dbus_handler_abort_scan(DBusMessage *message,\n\t\t\t\t\t
      \  struct wpa_supplicant *wpa_s)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_iter_init
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1828,1
    - Dst: wpa_config_add_cred
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1831,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1833,1
    - Dst: wpas_dbus_error_unknown_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1835,1
    - Dst: dbus_error_init
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1841,1
    - Dst: set_cred_properties
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1842,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1843,1
    - Dst: wpas_dbus_reply_new_from_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1846,1
    - Dst: dbus_error_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1849,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1854,1
    - Dst: dbus_message_new_method_return
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1858,1
    - Dst: wpas_dbus_error_no_memory
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1860,1
    - Dst: dbus_message_append_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1863,1
    - Dst: dbus_message_unref
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1865,1
    - Dst: wpas_dbus_error_no_memory
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1866,1
    - Dst: wpa_config_remove_cred
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1874,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 2
    argNames:
    - message
    - wpa_s
    argTypes:
    - DBusMessage*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1876
      start: 1819
    functionDepth: 7
    functionLinenumber: 1819
    functionLinenumberEnd: 1876
    functionName: wpas_dbus_handler_add_cred
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - dbus_error_free
    - wpa_printf
    - dbus_message_append_args
    - dbus_message_new_method_return
    - os_snprintf
    - dbus_message_unref
    - wpas_dbus_reply_new_from_error
    - wpas_dbus_error_unknown_error
    - set_cred_properties
    - wpa_config_remove_cred
    - dbus_message_iter_init
    - wpas_dbus_error_no_memory
    - wpa_config_add_cred
    - dbus_error_init
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * wpas_dbus_handler_add_cred(DBusMessage *message,\n\t\t\t\t\t
      struct wpa_supplicant *wpa_s)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_get_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1896,1
    - Dst: wpas_dbus_new_decompose_object_path
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1901,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1904,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1905,1
    - Dst: strtoul
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1910,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1912,1
    - Dst: wpa_config_get_cred
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1916,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1918,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1920,1
    - Dst: wpas_remove_cred
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1925,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1926,1
    - Dst: wpas_dbus_error_unknown_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1929,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1936,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 2
    argNames:
    - message
    - wpa_s
    argTypes:
    - DBusMessage*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1938
      start: 1887
    functionDepth: 6
    functionLinenumber: 1887
    functionLinenumberEnd: 1938
    functionName: wpas_dbus_handler_remove_cred
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpas_remove_cred
    - wpa_printf
    - wpas_dbus_error_invalid_args
    - dbus_message_get_args
    - wpas_dbus_new_decompose_object_path
    - wpa_config_get_cred
    - strtoul
    - wpas_dbus_error_unknown_error
    - os_free
    - os_strcmp
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * wpas_dbus_handler_remove_cred(DBusMessage *message,\n\t\t\t\t\t
      \   struct wpa_supplicant *wpa_s)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_remove_all_creds
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1955,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1957,1
    - Dst: wpas_dbus_error_unknown_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1960,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - message
    - wpa_s
    argTypes:
    - DBusMessage*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1965
      start: 1949
    functionDepth: 7
    functionLinenumber: 1949
    functionLinenumberEnd: 1965
    functionName: wpas_dbus_handler_remove_all_creds
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpas_remove_all_creds
    - wpas_dbus_error_unknown_error
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * wpas_dbus_handler_remove_all_creds(DBusMessage *message,\n\t\t\t\t\t\t
      struct wpa_supplicant *wpa_s)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: interworking_select
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1978,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1980,1
    - Dst: wpas_dbus_error_scan_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:1983,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - message
    - wpa_s
    argTypes:
    - DBusMessage*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1989
      start: 1970
    functionDepth: 3
    functionLinenumber: 1970
    functionLinenumberEnd: 1989
    functionName: wpas_dbus_handler_interworking_select
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - interworking_select
    - wpa_printf
    - wpas_dbus_error_scan_error
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage *\nwpas_dbus_handler_interworking_select(DBusMessage *message,\n\t\t\t\t
      \     struct wpa_supplicant *wpa_s)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_iter_init
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2008,1
    - Dst: wpa_dbus_dict_open_read
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2010,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2011,1
    - Dst: wpa_dbus_dict_has_dict_entry
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2013,1
    - Dst: wpa_dbus_dict_get_entry
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2014,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2015,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2017,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2019,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2020,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2023,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2024,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2029,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2032,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2040,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2047,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2048,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2052,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2054,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2061,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2062,1
    - Dst: BIT
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2065,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2068,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2069,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2073,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2077,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2079,1
    - Dst: anqp_send_req
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2083,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2086,1
    - Dst: wpas_dbus_error_unknown_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2088,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 57
    argCount: 2
    argNames:
    - message
    - wpa_s
    argTypes:
    - DBusMessage*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2093
      start: 1992
    functionDepth: 6
    functionLinenumber: 1992
    functionLinenumberEnd: 2093
    functionName: wpas_dbus_handler_anqp_get
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpas_dbus_error_invalid_args
    - hwaddr_aton
    - wpa_dbus_dict_open_read
    - anqp_send_req
    - wpa_dbus_dict_get_entry
    - wpa_dbus_dict_has_dict_entry
    - wpa_dbus_dict_entry_clear
    - BIT
    - wpas_dbus_error_unknown_error
    - dbus_message_iter_init
    - os_strcmp
    linkageType: ''
    returnType: DBusMessage
    signature: 'DBusMessage *

      wpas_dbus_handler_anqp_get(DBusMessage *message, struct wpa_supplicant *wpa_s)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_drv_signal_poll
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2116,1
    - Dst: dbus_message_new_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2118,1
    - Dst: dbus_message_new_method_return
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2122,1
    - Dst: dbus_message_iter_init_append
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2126,1
    - Dst: wpas_dbus_new_from_signal_information
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2128,1
    - Dst: dbus_message_unref
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2135,1
    - Dst: wpas_dbus_error_no_memory
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2136,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - message
    - wpa_s
    argTypes:
    - DBusMessage*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2137
      start: 2108
    functionDepth: 2
    functionLinenumber: 2108
    functionLinenumberEnd: 2137
    functionName: wpas_dbus_handler_signal_poll
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_new_from_signal_information
    - wpa_drv_signal_poll
    - dbus_message_new_method_return
    - dbus_message_new_error
    - dbus_message_iter_init_append
    - dbus_message_unref
    - wpas_dbus_error_no_memory
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * wpas_dbus_handler_signal_poll(DBusMessage *message,\n\t\t\t\t\t
      \   struct wpa_supplicant *wpa_s)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_request_disconnection
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2153,1
    - Dst: dbus_message_new_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - message
    - wpa_s
    argTypes:
    - DBusMessage*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2159
      start: 2149
    functionDepth: 5
    functionLinenumber: 2149
    functionLinenumberEnd: 2159
    functionName: wpas_dbus_handler_disconnect
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpas_request_disconnection
    - dbus_message_new_error
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * wpas_dbus_handler_disconnect(DBusMessage *message,\n\t\t\t\t\t
      \  struct wpa_supplicant *wpa_s)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_iter_init
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2179,1
    - Dst: wpa_supplicant_add_network
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2182,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2184,1
    - Dst: wpas_dbus_error_unknown_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2186,1
    - Dst: dbus_error_init
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2192,1
    - Dst: set_network_properties
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2193,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2194,1
    - Dst: wpas_dbus_reply_new_from_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2197,1
    - Dst: dbus_error_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2200,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2205,1
    - Dst: dbus_message_new_method_return
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2209,1
    - Dst: wpas_dbus_error_no_memory
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2211,1
    - Dst: dbus_message_append_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2214,1
    - Dst: dbus_message_unref
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2216,1
    - Dst: wpas_dbus_error_no_memory
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2217,1
    - Dst: wpas_notify_network_removed
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2225,1
    - Dst: wpa_config_remove_network
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2226,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 2
    argNames:
    - message
    - wpa_s
    argTypes:
    - DBusMessage*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2229
      start: 2170
    functionDepth: 8
    functionLinenumber: 2170
    functionLinenumberEnd: 2229
    functionName: wpas_dbus_handler_add_network
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - dbus_error_free
    - wpa_printf
    - dbus_message_append_args
    - wpa_config_remove_network
    - wpa_supplicant_add_network
    - dbus_message_new_method_return
    - wpas_notify_network_removed
    - os_snprintf
    - dbus_message_unref
    - set_network_properties
    - wpas_dbus_reply_new_from_error
    - wpas_dbus_error_unknown_error
    - dbus_message_iter_init
    - wpas_dbus_error_no_memory
    - dbus_error_init
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * wpas_dbus_handler_add_network(DBusMessage *message,\n\t\t\t\t\t
      \   struct wpa_supplicant *wpa_s)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_request_connection
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2245,1
    - Dst: dbus_message_new_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - message
    - wpa_s
    argTypes:
    - DBusMessage*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2251
      start: 2241
    functionDepth: 4
    functionLinenumber: 2241
    functionLinenumberEnd: 2251
    functionName: wpas_dbus_handler_reassociate
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - dbus_message_new_error
    - wpas_request_connection
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * wpas_dbus_handler_reassociate(DBusMessage *message,\n\t\t\t\t\t
      \   struct wpa_supplicant *wpa_s)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - message
    - global
    argTypes:
    - DBusMessage*
    - struct wpa_global*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2273
      start: 2264
    functionDepth: 0
    functionLinenumber: 2264
    functionLinenumberEnd: 2273
    functionName: wpas_dbus_handler_expect_disconnect
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * wpas_dbus_handler_expect_disconnect(DBusMessage *message,\n\t\t\t\t\t\t
      \ struct wpa_global *global)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_request_connection
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2290,1
    - Dst: dbus_message_new_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - message
    - wpa_s
    argTypes:
    - DBusMessage*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2296
      start: 2285
    functionDepth: 4
    functionLinenumber: 2285
    functionLinenumberEnd: 2296
    functionName: wpas_dbus_handler_reattach
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - dbus_message_new_error
    - wpas_request_connection
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * wpas_dbus_handler_reattach(DBusMessage *message,\n\t\t\t\t\t
      struct wpa_supplicant *wpa_s)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_new_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2312,1
    - Dst: wpas_request_connection
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2318,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - message
    - wpa_s
    argTypes:
    - DBusMessage*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2320
      start: 2308
    functionDepth: 4
    functionLinenumber: 2308
    functionLinenumberEnd: 2320
    functionName: wpas_dbus_handler_reconnect
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - dbus_message_new_error
    - wpas_request_connection
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * wpas_dbus_handler_reconnect(DBusMessage *message,\n\t\tstruct
      wpa_supplicant *wpa_s)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_get_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2340,1
    - Dst: wpas_dbus_new_decompose_object_path
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2345,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2349,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2350,1
    - Dst: strtoul
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2355,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2357,1
    - Dst: wpa_supplicant_remove_network
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2361,1
    - Dst: wpas_dbus_error_network_unknown
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2363,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2367,1
    - Dst: wpas_dbus_error_unknown_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2370,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2377,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 2
    argNames:
    - message
    - wpa_s
    argTypes:
    - DBusMessage*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2379
      start: 2331
    functionDepth: 5
    functionLinenumber: 2331
    functionLinenumberEnd: 2379
    functionName: wpas_dbus_handler_remove_network
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_remove_network
    - wpas_dbus_error_invalid_args
    - wpa_printf
    - dbus_message_get_args
    - wpas_dbus_new_decompose_object_path
    - wpas_dbus_error_network_unknown
    - strtoul
    - wpas_dbus_error_unknown_error
    - os_free
    - os_strcmp
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * wpas_dbus_handler_remove_network(DBusMessage *message,\n\t\t\t\t\t
      \      struct wpa_supplicant *wpa_s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_supplicant_remove_all_networks
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - message
    - wpa_s
    argTypes:
    - DBusMessage*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2396
      start: 2390
    functionDepth: 5
    functionLinenumber: 2390
    functionLinenumberEnd: 2396
    functionName: wpas_dbus_handler_remove_all_networks
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_remove_all_networks
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * wpas_dbus_handler_remove_all_networks(\n\tDBusMessage
      *message, struct wpa_supplicant *wpa_s)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_get_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2416,1
    - Dst: wpas_dbus_new_decompose_object_path
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2421,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2425,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2426,1
    - Dst: strtoul
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2431,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2433,1
    - Dst: wpa_config_get_network
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2437,1
    - Dst: wpas_dbus_error_network_unknown
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2439,1
    - Dst: wpa_supplicant_select_network
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2444,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2447,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 2
    argNames:
    - message
    - wpa_s
    argTypes:
    - DBusMessage*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2449
      start: 2407
    functionDepth: 5
    functionLinenumber: 2407
    functionLinenumberEnd: 2449
    functionName: wpas_dbus_handler_select_network
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_error_invalid_args
    - wpa_supplicant_select_network
    - dbus_message_get_args
    - wpas_dbus_new_decompose_object_path
    - wpas_dbus_error_network_unknown
    - strtoul
    - os_free
    - wpa_config_get_network
    - os_strcmp
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * wpas_dbus_handler_select_network(DBusMessage *message,\n\t\t\t\t\t
      \      struct wpa_supplicant *wpa_s)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_get_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2470,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2475,1
    - Dst: wpas_dbus_new_decompose_object_path
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2479,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2483,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2484,1
    - Dst: strtoul
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2489,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2491,1
    - Dst: wpa_config_get_network
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2495,1
    - Dst: wpas_dbus_error_network_unknown
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2497,1
    - Dst: wpa_supplicant_ctrl_iface_ctrl_rsp_handle
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2501,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2503,1
    - Dst: eapol_sm_notify_ctrl_response
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2506,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2510,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2513,1
    - Dst: wpas_dbus_error_unknown_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2514,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 2
    argNames:
    - message
    - wpa_s
    argTypes:
    - DBusMessage*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2516
      start: 2460
    functionDepth: 3
    functionLinenumber: 2460
    functionLinenumberEnd: 2516
    functionName: wpas_dbus_handler_network_reply
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpas_dbus_error_invalid_args
    - dbus_message_get_args
    - wpas_dbus_new_decompose_object_path
    - wpas_dbus_error_network_unknown
    - strtoul
    - eapol_sm_notify_ctrl_response
    - wpas_dbus_error_unknown_error
    - wpa_supplicant_ctrl_iface_ctrl_rsp_handle
    - os_free
    - wpa_config_get_network
    - os_strcmp
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * wpas_dbus_handler_network_reply(DBusMessage *message,\n\t\t\t\t\t
      \     struct wpa_supplicant *wpa_s)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_error_unknown_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2531,1
    - Dst: dbus_message_get_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2540,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2542,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2544,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2545,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2548,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2548,1
    - Dst: dbus_message_new_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2551,1
    - Dst: wpa_bss_get
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2555,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2557,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2558,1
    - Dst: radio_work_pending
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2562,1
    - Dst: wpa_supplicant_connect
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2564,1
    - Dst: radio_work_pending
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2571,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - message
    - wpa_s
    argTypes:
    - DBusMessage*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2576
      start: 2527
    functionDepth: 11
    functionLinenumber: 2527
    functionLinenumberEnd: 2576
    functionName: wpas_dbus_handler_roam
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpas_dbus_error_invalid_args
    - dbus_message_get_args
    - hwaddr_aton
    - radio_work_pending
    - dbus_message_new_error
    - MAC2STR
    - wpa_supplicant_connect
    - wpas_dbus_error_unknown_error
    - wpa_bss_get
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * wpas_dbus_handler_roam(DBusMessage *message,\n\t\t\t\t
      \    struct wpa_supplicant *wpa_s)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_iter_init
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2599,1
    - Dst: dbus_message_iter_get_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2600,1
    - Dst: wpa_config_get_blob
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2602,1
    - Dst: dbus_message_new_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2603,1
    - Dst: dbus_message_iter_next
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2608,1
    - Dst: dbus_message_iter_recurse
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2609,1
    - Dst: dbus_message_iter_get_fixed_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2611,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2613,1
    - Dst: wpas_dbus_error_no_memory
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2615,1
    - Dst: os_memdup
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2619,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2620,1
    - Dst: wpas_dbus_error_no_memory
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2622,1
    - Dst: wpa_config_set_blob
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2627,1
    - Dst: wpas_notify_blob_added
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2628,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2634,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2635,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2636,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 2
    argNames:
    - message
    - wpa_s
    argTypes:
    - DBusMessage*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2639
      start: 2588
    functionDepth: 2
    functionLinenumber: 2588
    functionLinenumberEnd: 2639
    functionName: wpas_dbus_handler_add_blob
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - dbus_message_iter_get_basic
    - os_strdup
    - wpas_notify_blob_added
    - wpa_config_set_blob
    - dbus_message_iter_get_fixed_array
    - os_memdup
    - dbus_message_new_error
    - dbus_message_iter_next
    - os_zalloc
    - os_free
    - wpa_config_get_blob
    - wpas_dbus_error_no_memory
    - dbus_message_iter_init
    - dbus_message_iter_recurse
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * wpas_dbus_handler_add_blob(DBusMessage *message,\n\t\t\t\t\t
      struct wpa_supplicant *wpa_s)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_get_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2659,1
    - Dst: wpa_config_get_blob
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2662,1
    - Dst: dbus_message_new_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2664,1
    - Dst: dbus_message_new_method_return
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2669,1
    - Dst: wpas_dbus_error_no_memory
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2671,1
    - Dst: dbus_message_iter_init_append
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2673,1
    - Dst: dbus_message_iter_open_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2675,1
    - Dst: dbus_message_iter_append_fixed_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2678,1
    - Dst: dbus_message_iter_close_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2680,1
    - Dst: dbus_message_unref
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2681,1
    - Dst: wpas_dbus_error_no_memory
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2682,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - message
    - wpa_s
    argTypes:
    - DBusMessage*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2686
      start: 2650
    functionDepth: 1
    functionLinenumber: 2650
    functionLinenumberEnd: 2686
    functionName: wpas_dbus_handler_get_blob
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - dbus_message_get_args
    - dbus_message_new_method_return
    - dbus_message_new_error
    - dbus_message_iter_init_append
    - dbus_message_unref
    - dbus_message_iter_append_fixed_array
    - dbus_message_iter_open_container
    - wpa_config_get_blob
    - wpas_dbus_error_no_memory
    - dbus_message_iter_close_container
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * wpas_dbus_handler_get_blob(DBusMessage *message,\n\t\t\t\t\t
      struct wpa_supplicant *wpa_s)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_get_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2703,1
    - Dst: wpa_config_remove_blob
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2706,1
    - Dst: dbus_message_new_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2707,1
    - Dst: wpas_notify_blob_removed
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2711,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - message
    - wpa_s
    argTypes:
    - DBusMessage*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2715
      start: 2697
    functionDepth: 3
    functionLinenumber: 2697
    functionLinenumberEnd: 2715
    functionName: wpas_dbus_handler_remove_blob
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - dbus_message_get_args
    - wpas_notify_blob_removed
    - dbus_message_new_error
    - wpa_config_remove_blob
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * wpas_dbus_handler_remove_blob(DBusMessage *message,\n\t\t\t\t\t
      \   struct wpa_supplicant *wpa_s)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_get_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2733,1
    - Dst: wpa_bss_flush
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2737,1
    - Dst: wpa_bss_flush_by_age
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2739,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - message
    - wpa_s
    argTypes:
    - DBusMessage*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2742
      start: 2728
    functionDepth: 4
    functionLinenumber: 2728
    functionLinenumberEnd: 2742
    functionName: wpas_dbus_handler_flush_bss
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - dbus_message_get_args
    - wpa_bss_flush_by_age
    - wpa_bss_flush
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * wpas_dbus_handler_flush_bss(DBusMessage *message,\n\t\t\t\t\t
      \ struct wpa_supplicant *wpa_s)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_get_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2761,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2764,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2767,1
    - Dst: wpas_dbus_error_no_memory
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2769,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2771,1
    - Dst: autoscan_init
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2774,1
    - Dst: wpa_supplicant_reinit_autoscan
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2776,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2778,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2779,1
    - Dst: autoscan_deinit
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2781,1
    - Dst: dbus_message_new_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2783,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - message
    - wpa_s
    argTypes:
    - DBusMessage*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2788
      start: 2754
    functionDepth: 3
    functionLinenumber: 2754
    functionLinenumberEnd: 2788
    functionName: wpas_dbus_handler_autoscan
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - autoscan_init
    - dbus_message_get_args
    - wpa_supplicant_reinit_autoscan
    - dbus_message_new_error
    - autoscan_deinit
    - os_free
    - wpas_dbus_error_no_memory
    - os_strdup
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * wpas_dbus_handler_autoscan(DBusMessage *message,\n\t\t\t\t\t
      struct wpa_supplicant *wpa_s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eapol_sm_notify_logoff
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2803,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - message
    - wpa_s
    argTypes:
    - DBusMessage*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2805
      start: 2800
    functionDepth: 0
    functionLinenumber: 2800
    functionLinenumberEnd: 2805
    functionName: wpas_dbus_handler_eap_logoff
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - eapol_sm_notify_logoff
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * wpas_dbus_handler_eap_logoff(DBusMessage *message,\n\t\t\t\t\t
      \  struct wpa_supplicant *wpa_s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eapol_sm_notify_logoff
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2819,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - message
    - wpa_s
    argTypes:
    - DBusMessage*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2821
      start: 2816
    functionDepth: 0
    functionLinenumber: 2816
    functionLinenumberEnd: 2821
    functionName: wpas_dbus_handler_eap_logon
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - eapol_sm_notify_logoff
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * wpas_dbus_handler_eap_logon(DBusMessage *message,\n\t\t\t\t\t
      \ struct wpa_supplicant *wpa_s)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_get_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2833,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2836,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2840,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2841,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2843,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - message
    - func_name
    - peer_address
    - error
    argTypes:
    - DBusMessage*
    - char*
    - u8*
    - DBusMessage**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2849
      start: 2826
    functionDepth: 1
    functionLinenumber: 2826
    functionLinenumberEnd: 2849
    functionName: get_peer_hwaddr_helper
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - dbus_message_get_args
    - hwaddr_aton
    - wpa_printf
    - wpas_dbus_error_invalid_args
    linkageType: ''
    returnType: int
    signature: "int get_peer_hwaddr_helper(DBusMessage *message, const char *func_name,\n\t\t\t\t
      \ u8 *peer_address, DBusMessage **error)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_peer_hwaddr_helper
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2867,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2870,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2870,1
    - Dst: wpa_tdls_is_external_setup
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2872,1
    - Dst: wpa_tdls_send_discovery_request
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2873,1
    - Dst: wpa_drv_tdls_oper
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2875,1
    - Dst: wpas_dbus_error_unknown_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2878,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - message
    - wpa_s
    argTypes:
    - DBusMessage*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2883
      start: 2860
    functionDepth: 2
    functionLinenumber: 2860
    functionLinenumberEnd: 2883
    functionName: wpas_dbus_handler_tdls_discover
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - MAC2STR
    - wpa_drv_tdls_oper
    - get_peer_hwaddr_helper
    - wpa_tdls_send_discovery_request
    - wpas_dbus_error_unknown_error
    - wpa_tdls_is_external_setup
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * wpas_dbus_handler_tdls_discover(DBusMessage *message,\n\t\t\t\t\t
      \     struct wpa_supplicant *wpa_s)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_peer_hwaddr_helper
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2901,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2904,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2904,1
    - Dst: wpa_tdls_remove
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2906,1
    - Dst: wpa_tdls_is_external_setup
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2907,1
    - Dst: wpa_tdls_start
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2908,1
    - Dst: wpa_drv_tdls_oper
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2910,1
    - Dst: wpas_dbus_error_unknown_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2913,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - message
    - wpa_s
    argTypes:
    - DBusMessage*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2918
      start: 2894
    functionDepth: 2
    functionLinenumber: 2894
    functionLinenumberEnd: 2918
    functionName: wpas_dbus_handler_tdls_setup
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_tdls_start
    - MAC2STR
    - wpa_tdls_remove
    - wpa_drv_tdls_oper
    - get_peer_hwaddr_helper
    - wpas_dbus_error_unknown_error
    - wpa_tdls_is_external_setup
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * wpas_dbus_handler_tdls_setup(DBusMessage *message,\n\t\t\t\t\t
      \  struct wpa_supplicant *wpa_s)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_peer_hwaddr_helper
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2936,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2939,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2939,1
    - Dst: wpa_tdls_get_link_status
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2941,1
    - Dst: dbus_message_new_method_return
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2943,1
    - Dst: dbus_message_append_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2944,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - message
    - wpa_s
    argTypes:
    - DBusMessage*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2947
      start: 2929
    functionDepth: 2
    functionLinenumber: 2929
    functionLinenumberEnd: 2947
    functionName: wpas_dbus_handler_tdls_status
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpa_tdls_get_link_status
    - wpa_printf
    - dbus_message_append_args
    - dbus_message_new_method_return
    - MAC2STR
    - get_peer_hwaddr_helper
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * wpas_dbus_handler_tdls_status(DBusMessage *message,\n\t\t\t\t\t
      \   struct wpa_supplicant *wpa_s)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_peer_hwaddr_helper
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2965,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2968,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2968,1
    - Dst: wpa_tdls_is_external_setup
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2970,1
    - Dst: wpa_tdls_teardown_link
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2971,1
    - Dst: wpa_drv_tdls_oper
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2975,1
    - Dst: wpas_dbus_error_unknown_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:2978,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - message
    - wpa_s
    argTypes:
    - DBusMessage*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2983
      start: 2958
    functionDepth: 2
    functionLinenumber: 2958
    functionLinenumberEnd: 2983
    functionName: wpas_dbus_handler_tdls_teardown
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpa_tdls_teardown_link
    - wpa_printf
    - MAC2STR
    - wpa_drv_tdls_oper
    - get_peer_hwaddr_helper
    - wpas_dbus_error_unknown_error
    - wpa_tdls_is_external_setup
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * wpas_dbus_handler_tdls_teardown(DBusMessage *message,\n\t\t\t\t\t
      \     struct wpa_supplicant *wpa_s)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: wpa_tdls_is_external_setup
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3005,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3006,1
    - Dst: wpas_dbus_error_unknown_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3008,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3011,1
    - Dst: dbus_message_iter_init
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3013,1
    - Dst: wpa_dbus_dict_open_read
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3015,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3016,1
    - Dst: wpa_dbus_dict_has_dict_entry
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3018,1
    - Dst: wpa_dbus_dict_get_entry
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3019,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3020,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3022,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3024,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3025,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3028,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3029,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3034,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3037,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3040,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3043,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3046,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3049,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3052,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3055,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3059,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3060,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3063,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3067,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3069,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3074,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3076,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3081,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3083,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3087,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3089,1
    - Dst: wpa_tdls_enable_chan_switch
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3095,1
    - Dst: wpas_dbus_error_unknown_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3098,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 66
    argCount: 2
    argNames:
    - message
    - wpa_s
    argTypes:
    - DBusMessage*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3102
      start: 2993
    functionDepth: 6
    functionLinenumber: 2993
    functionLinenumberEnd: 3102
    functionName: wpas_dbus_handler_tdls_channel_switch
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpas_dbus_error_invalid_args
    - hwaddr_aton
    - wpa_dbus_dict_open_read
    - wpa_dbus_dict_get_entry
    - MAC2STR
    - wpa_dbus_dict_has_dict_entry
    - wpa_dbus_dict_entry_clear
    - wpas_dbus_error_unknown_error
    - wpa_tdls_is_external_setup
    - dbus_message_iter_init
    - os_strcmp
    - wpa_tdls_enable_chan_switch
    - os_memset
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage *\nwpas_dbus_handler_tdls_channel_switch(DBusMessage *message,\n\t\t\t\t
      \     struct wpa_supplicant *wpa_s)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_peer_hwaddr_helper
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3121,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3124,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3125,1
    - Dst: wpa_tdls_disable_chan_switch
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3127,1
    - Dst: wpas_dbus_error_unknown_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - message
    - wpa_s
    argTypes:
    - DBusMessage*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3133
      start: 3113
    functionDepth: 2
    functionLinenumber: 3113
    functionLinenumberEnd: 3133
    functionName: wpas_dbus_handler_tdls_cancel_channel_switch
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_tdls_disable_chan_switch
    - MAC2STR
    - get_peer_hwaddr_helper
    - wpas_dbus_error_unknown_error
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage *\nwpas_dbus_handler_tdls_cancel_channel_switch(DBusMessage
      *message,\n\t\t\t\t\t     struct wpa_supplicant *wpa_s)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_error_unknown_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3153,1
    - Dst: wpa_config_write
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3158,1
    - Dst: wpas_dbus_error_unknown_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - message
    - wpa_s
    argTypes:
    - DBusMessage*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3163
      start: 3147
    functionDepth: 1
    functionLinenumber: 3147
    functionLinenumberEnd: 3163
    functionName: wpas_dbus_handler_save_config
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpa_config_write
    - wpas_dbus_error_unknown_error
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * wpas_dbus_handler_save_config(DBusMessage *message,\n\t\t\t\t\t
      \   struct wpa_supplicant *wpa_s)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_iter_init
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3183,1
    - Dst: dbus_message_iter_get_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3184,1
    - Dst: dbus_message_new_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3186,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3191,1
    - Dst: dbus_message_iter_next
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3194,1
    - Dst: dbus_message_iter_get_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3195,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3197,1
    - Dst: dbus_message_new_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3198,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3203,1
    - Dst: wpas_set_pkcs11_engine_and_module_path
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3206,1
    - Dst: dbus_message_new_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3208,1
    - Dst: wpa_dbus_mark_property_changed
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3213,1
    - Dst: wpa_dbus_mark_property_changed
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3216,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - message
    - wpa_s
    argTypes:
    - DBusMessage*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3222
      start: 3175
    functionDepth: 2
    functionLinenumber: 3175
    functionLinenumberEnd: 3222
    functionName: wpas_dbus_handler_set_pkcs11_engine_and_module_path
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - dbus_message_iter_get_basic
    - os_strlen
    - dbus_message_new_error
    - dbus_message_iter_next
    - wpas_set_pkcs11_engine_and_module_path
    - wpa_dbus_mark_property_changed
    - os_free
    - dbus_message_iter_init
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * wpas_dbus_handler_set_pkcs11_engine_and_module_path(\n\tDBusMessage
      *message, struct wpa_supplicant *wpa_s)"
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_iter_open_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3245,1
    - Dst: wpa_dbus_dict_open_write
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3247,1
    - Dst: wpa_drv_get_capa
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3250,1
    - Dst: wpa_dbus_dict_append_string_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3260,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3262,1
    - Dst: wpa_dbus_dict_begin_string_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3265,1
    - Dst: wpa_dbus_dict_string_array_add_element
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3270,1
    - Dst: wpa_dbus_dict_string_array_add_element
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3273,1
    - Dst: wpa_dbus_dict_string_array_add_element
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3276,1
    - Dst: wpa_dbus_dict_string_array_add_element
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3279,1
    - Dst: CONFIG_NO_TKIP
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3281,1
    - Dst: wpa_dbus_dict_string_array_add_element
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3283,1
    - Dst: wpa_dbus_dict_string_array_add_element
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3287,1
    - Dst: wpa_dbus_dict_end_string_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3289,1
    - Dst: wpa_dbus_dict_append_string_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3308,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3310,1
    - Dst: wpa_dbus_dict_begin_string_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3313,1
    - Dst: wpa_dbus_dict_string_array_add_element
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3318,1
    - Dst: wpa_dbus_dict_string_array_add_element
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3321,1
    - Dst: wpa_dbus_dict_string_array_add_element
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3324,1
    - Dst: wpa_dbus_dict_string_array_add_element
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3327,1
    - Dst: CONFIG_NO_TKIP
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3329,1
    - Dst: wpa_dbus_dict_string_array_add_element
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3331,1
    - Dst: CONFIG_WEP
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3334,1
    - Dst: wpa_dbus_dict_string_array_add_element
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3336,1
    - Dst: wpa_dbus_dict_string_array_add_element
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3339,1
    - Dst: wpa_dbus_dict_end_string_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3342,1
    - Dst: wpa_dbus_dict_begin_string_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3349,1
    - Dst: wpa_dbus_dict_string_array_add_element
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3354,1
    - Dst: wpa_dbus_dict_string_array_add_element
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3357,1
    - Dst: wpa_dbus_dict_string_array_add_element
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3360,1
    - Dst: wpa_dbus_dict_string_array_add_element
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3363,1
    - Dst: wpa_dbus_dict_end_string_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3365,1
    - Dst: wpa_dbus_dict_append_string_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3380,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3382,1
    - Dst: wpa_dbus_dict_begin_string_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3385,1
    - Dst: wpa_dbus_dict_string_array_add_element
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3389,1
    - Dst: wpa_dbus_dict_string_array_add_element
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3391,1
    - Dst: wpa_dbus_dict_string_array_add_element
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3397,1
    - Dst: wpa_dbus_dict_string_array_add_element
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3403,1
    - Dst: wpa_dbus_dict_string_array_add_element
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3409,1
    - Dst: wpa_dbus_dict_string_array_add_element
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3416,1
    - Dst: wpa_dbus_dict_string_array_add_element
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3423,1
    - Dst: wpa_dbus_dict_string_array_add_element
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3429,1
    - Dst: wpa_dbus_dict_string_array_add_element
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3435,1
    - Dst: wpa_dbus_dict_string_array_add_element
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3441,1
    - Dst: wpa_dbus_dict_string_array_add_element
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3449,1
    - Dst: wpa_dbus_dict_string_array_add_element
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3455,1
    - Dst: wpa_dbus_dict_end_string_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3459,1
    - Dst: wpa_dbus_dict_append_string_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3470,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3472,1
    - Dst: wpa_dbus_dict_begin_string_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3475,1
    - Dst: wpa_dbus_dict_string_array_add_element
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3481,1
    - Dst: wpa_dbus_dict_string_array_add_element
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3485,1
    - Dst: wpa_dbus_dict_end_string_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3487,1
    - Dst: wpa_dbus_dict_append_string_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3498,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3500,1
    - Dst: wpa_dbus_dict_begin_string_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3503,1
    - Dst: wpa_dbus_dict_string_array_add_element
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3510,1
    - Dst: wpa_dbus_dict_string_array_add_element
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3513,1
    - Dst: wpa_dbus_dict_string_array_add_element
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3516,1
    - Dst: wpa_dbus_dict_end_string_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3518,1
    - Dst: wpa_dbus_dict_append_string_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3526,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3527,1
    - Dst: wpa_dbus_dict_begin_string_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3531,1
    - Dst: wpa_dbus_dict_string_array_add_element
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3535,1
    - Dst: wpa_dbus_dict_string_array_add_element
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3538,1
    - Dst: wpa_dbus_dict_string_array_add_element
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3541,1
    - Dst: wpa_dbus_dict_string_array_add_element
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3545,1
    - Dst: CONFIG_MESH
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3547,1
    - Dst: wpa_dbus_dict_string_array_add_element
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3549,1
    - Dst: wpa_dbus_dict_end_string_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3552,1
    - Dst: wpa_dbus_dict_append_int32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3562,1
    - Dst: wpa_dbus_dict_close_write
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3567,1
    - Dst: dbus_message_iter_close_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3568,1
    - Dst: dbus_set_error_const
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3574,1
    CyclomaticComplexity: 141
    EdgeCount: 141
    ICount: 112
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3576
      start: 3234
    functionDepth: 4
    functionLinenumber: 3234
    functionLinenumberEnd: 3576
    functionName: wpas_dbus_getter_capabilities
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - CONFIG_WEP
    - wpa_dbus_dict_begin_string_array
    - CONFIG_MESH
    - wpa_dbus_dict_open_write
    - wpa_drv_get_capa
    - wpa_dbus_dict_close_write
    - wpa_dbus_dict_end_string_array
    - dbus_set_error_const
    - wpa_dbus_dict_append_string_array
    - dbus_message_iter_open_container
    - wpa_dbus_dict_append_int32
    - wpa_dbus_dict_string_array_add_element
    - dbus_message_iter_close_container
    - ARRAY_SIZE
    - CONFIG_NO_TKIP
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_capabilities(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_supplicant_state_txt
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3597,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3601,1
    - Dst: dbus_set_error_const
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3603,1
    - Dst: tolower
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3607,1
    - Dst: wpas_dbus_simple_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3611,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3614,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3617
      start: 3588
    functionDepth: 2
    functionLinenumber: 3588
    functionLinenumberEnd: 3617
    functionName: wpas_dbus_getter_state
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - tolower
    - wpa_supplicant_state_txt
    - wpas_dbus_simple_property_getter
    - os_free
    - dbus_set_error_const
    - os_strdup
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_state(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_simple_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3638
      start: 3629
    functionDepth: 2
    functionLinenumber: 3629
    functionLinenumberEnd: 3638
    functionName: wpas_dbus_getter_scanning
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_simple_property_getter
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_scanning(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_simple_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3659
      start: 3650
    functionDepth: 2
    functionLinenumber: 3650
    functionLinenumberEnd: 3659
    functionName: wpas_dbus_getter_ap_scan
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_simple_property_getter
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_ap_scan(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_simple_property_setter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3678,1
    - Dst: wpa_supplicant_set_ap_scan
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3682,1
    - Dst: dbus_set_error_const
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3683,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3688
      start: 3671
    functionDepth: 2
    functionLinenumber: 3671
    functionLinenumberEnd: 3688
    functionName: wpas_dbus_setter_ap_scan
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_simple_property_setter
    - wpa_supplicant_set_ap_scan
    - dbus_set_error_const
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_setter_ap_scan(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_simple_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3710
      start: 3701
    functionDepth: 2
    functionLinenumber: 3701
    functionLinenumberEnd: 3710
    functionName: wpas_dbus_getter_fast_reauth
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_simple_property_getter
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_fast_reauth(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_simple_property_setter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3730,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3736
      start: 3723
    functionDepth: 1
    functionLinenumber: 3723
    functionLinenumberEnd: 3736
    functionName: wpas_dbus_setter_fast_reauth
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_simple_property_setter
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_setter_fast_reauth(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_simple_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3756,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3758
      start: 3749
    functionDepth: 2
    functionLinenumber: 3749
    functionLinenumberEnd: 3758
    functionName: wpas_dbus_getter_disconnect_reason
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_simple_property_getter
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_disconnect_reason(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_simple_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3777,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3779
      start: 3770
    functionDepth: 2
    functionLinenumber: 3770
    functionLinenumberEnd: 3779
    functionName: wpas_dbus_getter_auth_status_code
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_simple_property_getter
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_auth_status_code(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_simple_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3800
      start: 3791
    functionDepth: 2
    functionLinenumber: 3791
    functionLinenumberEnd: 3800
    functionName: wpas_dbus_getter_assoc_status_code
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_simple_property_getter
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_assoc_status_code(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_simple_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3820,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3822
      start: 3812
    functionDepth: 2
    functionLinenumber: 3812
    functionLinenumberEnd: 3822
    functionName: wpas_dbus_getter_roam_time
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_simple_property_getter
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_roam_time(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_reltime_initialized
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3839,1
    - Dst: wpas_dbus_simple_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3841,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3843
      start: 3834
    functionDepth: 2
    functionLinenumber: 3834
    functionLinenumberEnd: 3843
    functionName: wpas_dbus_getter_roam_complete
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - os_reltime_initialized
    - wpas_dbus_simple_property_getter
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_roam_complete(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_simple_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3864,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3866
      start: 3856
    functionDepth: 2
    functionLinenumber: 3856
    functionLinenumberEnd: 3866
    functionName: wpas_dbus_getter_scan_in_progress_6ghz
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_simple_property_getter
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_scan_in_progress_6ghz(\n\tconst struct
      wpa_dbus_property_desc *property_desc,\n\tDBusMessageIter *iter, DBusError *error,
      void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_simple_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3886,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3888
      start: 3878
    functionDepth: 2
    functionLinenumber: 3878
    functionLinenumberEnd: 3888
    functionName: wpas_dbus_getter_session_length
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_simple_property_getter
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_session_length(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_simple_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3912,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3914
      start: 3901
    functionDepth: 2
    functionLinenumber: 3901
    functionLinenumberEnd: 3914
    functionName: wpas_dbus_getter_bss_tm_status
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_simple_property_getter
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_bss_tm_status(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_simple_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3933,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3935
      start: 3926
    functionDepth: 2
    functionLinenumber: 3926
    functionLinenumberEnd: 3935
    functionName: wpas_dbus_getter_bss_expire_age
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_simple_property_getter
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_bss_expire_age(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_simple_property_setter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3954,1
    - Dst: wpa_supplicant_set_bss_expiration_age
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3958,1
    - Dst: dbus_set_error_const
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3959,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3964
      start: 3947
    functionDepth: 1
    functionLinenumber: 3947
    functionLinenumberEnd: 3964
    functionName: wpas_dbus_setter_bss_expire_age
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_simple_property_setter
    - wpa_supplicant_set_bss_expiration_age
    - dbus_set_error_const
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_setter_bss_expire_age(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_simple_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:3983,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3985
      start: 3976
    functionDepth: 2
    functionLinenumber: 3976
    functionLinenumberEnd: 3985
    functionName: wpas_dbus_getter_bss_expire_count
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_simple_property_getter
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_bss_expire_count(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_simple_property_setter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4004,1
    - Dst: wpa_supplicant_set_bss_expiration_count
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4008,1
    - Dst: dbus_set_error_const
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4009,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4014
      start: 3997
    functionDepth: 1
    functionLinenumber: 3997
    functionLinenumberEnd: 4014
    functionName: wpas_dbus_setter_bss_expire_count
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_set_bss_expiration_count
    - wpas_dbus_simple_property_setter
    - dbus_set_error_const
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_setter_bss_expire_count(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_simple_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4038,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4040
      start: 4026
    functionDepth: 2
    functionLinenumber: 4026
    functionLinenumberEnd: 4040
    functionName: wpas_dbus_getter_country
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_simple_property_getter
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_country(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_simple_property_setter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4059,1
    - Dst: dbus_set_error_const
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4064,1
    - Dst: wpa_drv_set_country
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4069,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4070,1
    - Dst: dbus_set_error_const
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4071,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4079
      start: 4052
    functionDepth: 1
    functionLinenumber: 4052
    functionLinenumberEnd: 4079
    functionName: wpas_dbus_setter_country
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpas_dbus_simple_property_setter
    - wpa_drv_set_country
    - dbus_set_error_const
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_setter_country(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_simple_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4098,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4100
      start: 4091
    functionDepth: 2
    functionLinenumber: 4091
    functionLinenumberEnd: 4100
    functionName: wpas_dbus_getter_scan_interval
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_simple_property_getter
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_scan_interval(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_simple_property_setter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4119,1
    - Dst: wpa_supplicant_set_scan_interval
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4123,1
    - Dst: dbus_set_error_const
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4129
      start: 4112
    functionDepth: 3
    functionLinenumber: 4112
    functionLinenumberEnd: 4129
    functionName: wpas_dbus_setter_scan_interval
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_simple_property_setter
    - dbus_set_error_const
    - wpa_supplicant_set_scan_interval
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_setter_scan_interval(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_string_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4148
      start: 4141
    functionDepth: 3
    functionLinenumber: 4141
    functionLinenumberEnd: 4148
    functionName: wpas_dbus_getter_ifname
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_string_property_getter
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_ifname(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4167,1
    - Dst: dbus_set_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4169,1
    - Dst: wpas_dbus_string_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4176
      start: 4160
    functionDepth: 3
    functionLinenumber: 4160
    functionLinenumberEnd: 4176
    functionName: wpas_dbus_getter_driver
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpas_dbus_string_property_getter
    - dbus_set_error
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_driver(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4196,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4200,1
    - Dst: wpas_dbus_simple_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4204
      start: 4188
    functionDepth: 2
    functionLinenumber: 4188
    functionLinenumberEnd: 4204
    functionName: wpas_dbus_getter_current_bss
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - wpas_dbus_simple_property_getter
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_current_bss(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4224,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4228,1
    - Dst: wpas_dbus_simple_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4232
      start: 4216
    functionDepth: 2
    functionLinenumber: 4216
    functionLinenumberEnd: 4232
    functionName: wpas_dbus_getter_current_network
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - wpas_dbus_simple_property_getter
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_current_network(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_supplicant_get_eap_mode
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4257,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4258,1
    - Dst: wpa_key_mgmt_txt
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4263,1
    - Dst: wpas_dbus_simple_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4269,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4271
      start: 4244
    functionDepth: 2
    functionLinenumber: 4244
    functionLinenumberEnd: 4271
    functionName: wpas_dbus_getter_current_auth_mode
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - wpas_dbus_simple_property_getter
    - wpa_key_mgmt_txt
    - wpa_supplicant_get_eap_mode
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_current_auth_mode(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_string_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4291
      start: 4283
    functionDepth: 3
    functionLinenumber: 4283
    functionLinenumberEnd: 4291
    functionName: wpas_dbus_getter_bridge_ifname
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_string_property_getter
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_bridge_ifname(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_simple_property_setter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4303,1
    - Dst: wpa_supplicant_update_bridge_ifname
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4307,1
    - Dst: dbus_set_error_const
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4323,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4328
      start: 4294
    functionDepth: 2
    functionLinenumber: 4294
    functionLinenumberEnd: 4328
    functionName: wpas_dbus_setter_bridge_ifname
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_simple_property_setter
    - wpa_supplicant_update_bridge_ifname
    - dbus_set_error_const
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_setter_bridge_ifname(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_string_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4347
      start: 4340
    functionDepth: 3
    functionLinenumber: 4340
    functionLinenumberEnd: 4347
    functionName: wpas_dbus_getter_config_file
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_string_property_getter
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_config_file(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dbus_set_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4370,1
    - Dst: os_calloc
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4375,1
    - Dst: dbus_set_error_const
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4377,1
    - Dst: dl_list_for_each
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4382,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4383,1
    - Dst: dbus_set_error_const
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4385,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4390,1
    - Dst: wpas_dbus_simple_array_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4395,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4402,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4403,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4405
      start: 4359
    functionDepth: 2
    functionLinenumber: 4359
    functionLinenumberEnd: 4405
    functionName: wpas_dbus_getter_bsss
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - os_calloc
    - dbus_set_error
    - dl_list_for_each
    - os_snprintf
    - os_zalloc
    - wpas_dbus_simple_array_property_getter
    - os_free
    - dbus_set_error_const
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_bsss(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dbus_set_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4428,1
    - Dst: network_is_persistent_group
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4434,1
    - Dst: os_calloc
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4437,1
    - Dst: dbus_set_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4439,1
    - Dst: network_is_persistent_group
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4445,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4447,1
    - Dst: dbus_set_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4449,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4455,1
    - Dst: wpas_dbus_simple_array_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4460,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4466,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4467,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4469
      start: 4417
    functionDepth: 2
    functionLinenumber: 4417
    functionLinenumberEnd: 4469
    functionName: wpas_dbus_getter_networks
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - os_calloc
    - dbus_set_error
    - os_snprintf
    - wpas_dbus_simple_array_property_getter
    - os_zalloc
    - network_is_persistent_group
    - os_free
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_networks(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_string_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4489,1
    - Dst: wpas_dbus_string_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4497
      start: 4481
    functionDepth: 3
    functionLinenumber: 4481
    functionLinenumberEnd: 4497
    functionName: wpas_dbus_getter_pkcs11_engine_path
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_string_property_getter
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_pkcs11_engine_path(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_string_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4516,1
    - Dst: wpas_dbus_string_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4524
      start: 4509
    functionDepth: 3
    functionLinenumber: 4509
    functionLinenumberEnd: 4524
    functionName: wpas_dbus_getter_pkcs11_module_path
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_string_property_getter
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_pkcs11_module_path(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_iter_open_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4544,1
    - Dst: dbus_message_iter_open_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4546,1
    - Dst: dbus_set_error_const
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4548,1
    - Dst: dbus_message_iter_open_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4554,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4557,1
    - Dst: dbus_message_iter_open_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4560,1
    - Dst: dbus_message_iter_append_fixed_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4564,1
    - Dst: dbus_message_iter_close_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4568,1
    - Dst: dbus_message_iter_close_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4570,1
    - Dst: dbus_set_error_const
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4572,1
    - Dst: dbus_message_iter_close_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4580,1
    - Dst: dbus_message_iter_close_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4581,1
    - Dst: dbus_set_error_const
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4582,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4587
      start: 4536
    functionDepth: 0
    functionLinenumber: 4536
    functionLinenumberEnd: 4587
    functionName: wpas_dbus_getter_blobs
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - dbus_message_iter_append_basic
    - dbus_message_iter_append_fixed_array
    - dbus_message_iter_open_container
    - dbus_set_error_const
    - dbus_message_iter_close_container
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_blobs(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dbus_set_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4600,1
    - Dst: wpa_config_get_value
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4606,1
    - Dst: wpas_dbus_simple_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4611,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4613
      start: 4590
    functionDepth: 2
    functionLinenumber: 4590
    functionLinenumberEnd: 4613
    functionName: wpas_dbus_getter_iface_global
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_simple_property_getter
    - wpa_config_get_value
    - dbus_set_error
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_iface_global(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_simple_property_setter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4627,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4631,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4631,1
    - Dst: dbus_set_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4634,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4644,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4646,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4649,1
    - Dst: strtol
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4656,1
    - Dst: dbus_set_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4658,1
    - Dst: wpa_sm_set_param
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4664,1
    - Dst: dbus_set_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4665,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4672,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4674,1
    - Dst: dbus_set_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4675,1
    - Dst: wpa_config_process_global
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4681,1
    - Dst: dbus_set_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4683,1
    - Dst: wpa_supplicant_update_config
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4688,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4691
      start: 4616
    functionDepth: 8
    functionLinenumber: 4616
    functionLinenumberEnd: 4691
    functionName: wpas_dbus_setter_iface_global
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - strtol
    - dbus_set_error
    - wpa_sm_set_param
    - wpa_config_process_global
    - os_snprintf
    - wpa_supplicant_update_config
    - wpas_dbus_simple_property_setter
    - os_strcmp
    - os_snprintf_error
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_setter_iface_global(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dbus_set_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4714,1
    - Dst: os_calloc
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4729,1
    - Dst: dbus_set_error_const
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4731,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4737,1
    - Dst: dbus_set_error_const
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4739,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4744,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4746,1
    - Dst: wpas_dbus_simple_array_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4749,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4756,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4757,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4759
      start: 4703
    functionDepth: 2
    functionLinenumber: 4703
    functionLinenumberEnd: 4759
    functionName: wpas_dbus_getter_stas
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - os_calloc
    - dbus_set_error
    - os_snprintf
    - MAC2STR
    - os_zalloc
    - wpas_dbus_simple_array_property_getter
    - os_free
    - dbus_set_error_const
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_stas(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_iter_recurse
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4784,1
    - Dst: dbus_message_iter_get_arg_type
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4785,1
    - Dst: dbus_set_error_const
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4786,1
    - Dst: dbus_message_iter_recurse
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4790,1
    - Dst: dbus_message_iter_get_arg_type
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4791,1
    - Dst: dbus_message_iter_recurse
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4793,1
    - Dst: dbus_message_iter_get_arg_type
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4794,1
    - Dst: dbus_set_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4796,1
    - Dst: dbus_message_iter_get_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4800,1
    - Dst: dbus_message_iter_next
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4801,1
    - Dst: dbus_message_iter_get_arg_type
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4802,1
    - Dst: dbus_message_iter_get_element_type
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4804,1
    - Dst: dbus_set_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4806,1
    - Dst: dbus_message_iter_recurse
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4811,1
    - Dst: dbus_message_iter_get_fixed_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4812,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4815,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4817,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4819,1
    - Dst: dbus_set_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4822,1
    - Dst: dbus_set_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4829,1
    - Dst: wpas_enable_mac_addr_randomization
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4835,1
    - Dst: dbus_set_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4837,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4843,1
    - Dst: MAC2STR
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4845,1
    - Dst: dbus_message_iter_next
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4847,1
    - Dst: wpas_disable_mac_addr_randomization
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4851,1
    - Dst: dbus_set_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4852,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 50
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4859
      start: 4772
    functionDepth: 5
    functionLinenumber: 4772
    functionLinenumberEnd: 4859
    functionName: wpas_dbus_setter_mac_address_randomization_mask
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - dbus_message_iter_get_basic
    - dbus_message_iter_get_arg_type
    - dbus_message_iter_get_element_type
    - wpa_printf
    - dbus_set_error
    - dbus_message_iter_get_fixed_array
    - dbus_message_iter_next
    - MAC2STR
    - wpas_enable_mac_addr_randomization
    - wpas_disable_mac_addr_randomization
    - dbus_set_error_const
    - os_strcmp
    - dbus_message_iter_recurse
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_setter_mac_address_randomization_mask(\n\tconst
      struct wpa_dbus_property_desc *property_desc,\n\tDBusMessageIter *iter, DBusError
      *error, void *user_data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_iter_open_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4882,1
    - Dst: dbus_message_iter_open_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4884,1
    - Dst: dbus_set_error_const
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4886,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4890,1
    - Dst: wpas_mac_addr_rand_scan_get_mask
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4891,1
    - Dst: dbus_message_iter_open_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4895,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4898,1
    - Dst: dbus_message_iter_open_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4901,1
    - Dst: dbus_message_iter_append_fixed_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4905,1
    - Dst: dbus_message_iter_close_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4909,1
    - Dst: dbus_message_iter_close_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4911,1
    - Dst: dbus_set_error_const
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4913,1
    - Dst: dbus_message_iter_close_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4919,1
    - Dst: dbus_message_iter_close_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4920,1
    - Dst: dbus_set_error_const
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4921,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 18
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4926
      start: 4862
    functionDepth: 1
    functionLinenumber: 4862
    functionLinenumberEnd: 4926
    functionName: wpas_dbus_getter_mac_address_randomization_mask
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - dbus_message_iter_append_basic
    - dbus_message_iter_append_fixed_array
    - dbus_message_iter_open_container
    - wpas_mac_addr_rand_scan_get_mask
    - dbus_set_error_const
    - ARRAY_SIZE
    - dbus_message_iter_close_container
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_mac_address_randomization_mask(\n\tconst
      struct wpa_dbus_property_desc *property_desc,\n\tDBusMessageIter *iter, DBusError
      *error, void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_simple_array_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4944,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4947
      start: 4938
    functionDepth: 2
    functionLinenumber: 4938
    functionLinenumberEnd: 4947
    functionName: wpas_dbus_getter_mac_address
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_simple_array_property_getter
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_mac_address(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_sta
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4967,1
    - Dst: wpas_dbus_simple_array_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4971,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4977
      start: 4959
    functionDepth: 2
    functionLinenumber: 4959
    functionLinenumberEnd: 4977
    functionName: wpas_dbus_getter_sta_address
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_simple_array_property_getter
    - ap_get_sta
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_sta_address(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_sta
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:4997,1
    - Dst: wpas_dbus_simple_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5001,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5007
      start: 4989
    functionDepth: 2
    functionLinenumber: 4989
    functionLinenumberEnd: 5007
    functionName: wpas_dbus_getter_sta_aid
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_simple_property_getter
    - ap_get_sta
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_sta_aid(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_sta
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5027,1
    - Dst: wpas_dbus_simple_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5031,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5037
      start: 5019
    functionDepth: 2
    functionLinenumber: 5019
    functionLinenumberEnd: 5037
    functionName: wpas_dbus_getter_sta_caps
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_simple_property_getter
    - ap_get_sta
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_sta_caps(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_sta
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5063,1
    - Dst: hostapd_drv_read_sta_data
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5067,1
    - Dst: wpas_dbus_simple_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5070,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5076
      start: 5049
    functionDepth: 2
    functionLinenumber: 5049
    functionLinenumberEnd: 5076
    functionName: wpas_dbus_getter_sta_rx_packets
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - hostapd_drv_read_sta_data
    - wpas_dbus_simple_property_getter
    - ap_get_sta
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_sta_rx_packets(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_sta
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5102,1
    - Dst: hostapd_drv_read_sta_data
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5106,1
    - Dst: wpas_dbus_simple_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5115
      start: 5088
    functionDepth: 2
    functionLinenumber: 5088
    functionLinenumberEnd: 5115
    functionName: wpas_dbus_getter_sta_tx_packets
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - hostapd_drv_read_sta_data
    - wpas_dbus_simple_property_getter
    - ap_get_sta
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_sta_tx_packets(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_sta
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5141,1
    - Dst: hostapd_drv_read_sta_data
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5145,1
    - Dst: wpas_dbus_simple_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5148,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5154
      start: 5127
    functionDepth: 2
    functionLinenumber: 5127
    functionLinenumberEnd: 5154
    functionName: wpas_dbus_getter_sta_tx_bytes
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - hostapd_drv_read_sta_data
    - wpas_dbus_simple_property_getter
    - ap_get_sta
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_sta_tx_bytes(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_sta
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5180,1
    - Dst: hostapd_drv_read_sta_data
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5184,1
    - Dst: wpas_dbus_simple_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5187,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5193
      start: 5166
    functionDepth: 2
    functionLinenumber: 5166
    functionLinenumberEnd: 5193
    functionName: wpas_dbus_getter_sta_rx_bytes
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - hostapd_drv_read_sta_data
    - wpas_dbus_simple_property_getter
    - ap_get_sta
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_sta_rx_bytes(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_bss_get_id
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5199,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5202,1
    - Dst: dbus_set_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - args
    - error
    - func_name
    argTypes:
    - struct bss_handler_args*
    - DBusError*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5210
      start: 5196
    functionDepth: 1
    functionLinenumber: 5196
    functionLinenumberEnd: 5210
    functionName: get_bss_helper
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - dbus_set_error
    - wpa_printf
    - wpa_bss_get_id
    linkageType: ''
    returnType: struct wpa_bss
    signature: "struct wpa_bss * get_bss_helper(struct bss_handler_args *args,\n\t\t\t\t
      \      DBusError *error, const char *func_name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_bss_helper
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5229,1
    - Dst: wpas_dbus_simple_array_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5236
      start: 5222
    functionDepth: 2
    functionLinenumber: 5222
    functionLinenumberEnd: 5236
    functionName: wpas_dbus_getter_bss_bssid
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_simple_array_property_getter
    - get_bss_helper
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_bss_bssid(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_bss_helper
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5255,1
    - Dst: wpas_dbus_simple_array_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5262
      start: 5248
    functionDepth: 2
    functionLinenumber: 5248
    functionLinenumberEnd: 5262
    functionName: wpas_dbus_getter_bss_ssid
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_simple_array_property_getter
    - get_bss_helper
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_bss_ssid(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_bss_helper
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5282,1
    - Dst: wpas_dbus_simple_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5289
      start: 5274
    functionDepth: 2
    functionLinenumber: 5274
    functionLinenumberEnd: 5289
    functionName: wpas_dbus_getter_bss_privacy
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - get_bss_helper
    - wpas_dbus_simple_property_getter
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_bss_privacy(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: get_bss_helper
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5310,1
    - Dst: bss_is_dmg
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5313,1
    - Dst: wpa_bss_get_ie
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5327,1
    - Dst: wpas_dbus_simple_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5336,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5338
      start: 5301
    functionDepth: 2
    functionLinenumber: 5301
    functionLinenumberEnd: 5338
    functionName: wpas_dbus_getter_bss_mode
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - get_bss_helper
    - wpa_bss_get_ie
    - bss_is_dmg
    - wpas_dbus_simple_property_getter
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_bss_mode(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_bss_helper
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5358,1
    - Dst: wpas_dbus_simple_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5363,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5365
      start: 5350
    functionDepth: 2
    functionLinenumber: 5350
    functionLinenumberEnd: 5365
    functionName: wpas_dbus_getter_bss_signal
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - get_bss_helper
    - wpas_dbus_simple_property_getter
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_bss_signal(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_bss_helper
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5385,1
    - Dst: wpas_dbus_simple_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5390,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5392
      start: 5377
    functionDepth: 2
    functionLinenumber: 5377
    functionLinenumberEnd: 5392
    functionName: wpas_dbus_getter_bss_frequency
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - get_bss_helper
    - wpas_dbus_simple_property_getter
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_bss_frequency(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5398
      start: 5395
    functionDepth: 0
    functionLinenumber: 5395
    functionLinenumberEnd: 5398
    functionName: cmp_u8s_desc
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cmp_u8s_desc(const void *a, const void *b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_bss_helper
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5421,1
    - Dst: wpa_bss_get_bit_rates
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5425,1
    - Dst: qsort
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5429,1
    - Dst: os_malloc
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5431,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5433,1
    - Dst: dbus_set_error_const
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5434,1
    - Dst: wpas_dbus_simple_array_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5441,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5445,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5446,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5448
      start: 5410
    functionDepth: 3
    functionLinenumber: 5410
    functionLinenumberEnd: 5448
    functionName: wpas_dbus_getter_bss_rates
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpa_bss_get_bit_rates
    - os_malloc
    - wpas_dbus_simple_array_property_getter
    - get_bss_helper
    - os_free
    - qsort
    - dbus_set_error_const
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_bss_rates(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_iter_open_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5461,1
    - Dst: wpa_dbus_dict_open_write
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5465,1
    - Dst: wpa_dbus_dict_append_string_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5526,1
    - Dst: wpa_dbus_dict_append_string
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5562,1
    - Dst: wpa_dbus_dict_append_string_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5580,1
    - Dst: wpa_dbus_dict_append_string
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5595,1
    - Dst: wpa_dbus_dict_close_write
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5600,1
    - Dst: dbus_message_iter_close_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5601,1
    - Dst: dbus_set_error_const
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5607,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 113
    argCount: 4
    argNames:
    - property_desc
    - iter
    - ie_data
    - error
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - struct wpa_ie_data*
    - DBusError*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5609
      start: 5451
    functionDepth: 4
    functionLinenumber: 5451
    functionLinenumberEnd: 5609
    functionName: wpas_dbus_get_bss_security_prop
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpa_dbus_dict_open_write
    - wpa_dbus_dict_close_write
    - dbus_set_error_const
    - wpa_dbus_dict_append_string_array
    - wpa_dbus_dict_append_string
    - dbus_message_iter_open_container
    - dbus_message_iter_close_container
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_get_bss_security_prop(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, struct wpa_ie_data *ie_data, DBusError
      *error)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_bss_helper
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5630,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5634,1
    - Dst: wpa_bss_get_vendor_ie
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5635,1
    - Dst: wpa_parse_wpa_ie
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5636,1
    - Dst: dbus_set_error_const
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5637,1
    - Dst: wpas_dbus_get_bss_security_prop
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5642,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5643
      start: 5621
    functionDepth: 5
    functionLinenumber: 5621
    functionLinenumberEnd: 5643
    functionName: wpas_dbus_getter_bss_wpa
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpa_parse_wpa_ie
    - get_bss_helper
    - wpas_dbus_get_bss_security_prop
    - wpa_bss_get_vendor_ie
    - dbus_set_error_const
    - os_memset
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_bss_wpa(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_bss_helper
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5664,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5668,1
    - Dst: wpa_bss_get_rsne
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5669,1
    - Dst: wpa_parse_wpa_ie
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5670,1
    - Dst: dbus_set_error_const
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5671,1
    - Dst: wpas_dbus_get_bss_security_prop
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5676,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5677
      start: 5655
    functionDepth: 5
    functionLinenumber: 5655
    functionLinenumberEnd: 5677
    functionName: wpas_dbus_getter_bss_rsn
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpa_parse_wpa_ie
    - wpa_bss_get_rsne
    - get_bss_helper
    - wpas_dbus_get_bss_security_prop
    - dbus_set_error_const
    - os_memset
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_bss_rsn(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: get_bss_helper
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5702,1
    - Dst: dbus_message_iter_open_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5706,1
    - Dst: wpa_dbus_dict_open_write
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5708,1
    - Dst: wpa_bss_get_vendor_ie_multi
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5712,1
    - Dst: wps_is_selected_pbc_registrar
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5715,1
    - Dst: wps_is_selected_pin_registrar
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5717,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5720,1
    - Dst: wpa_dbus_dict_append_string
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5724,1
    - Dst: wpa_dbus_dict_close_write
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5725,1
    - Dst: dbus_message_iter_close_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5726,1
    - Dst: dbus_set_error_const
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5732,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5734
      start: 5689
    functionDepth: 3
    functionLinenumber: 5689
    functionLinenumberEnd: 5734
    functionName: wpas_dbus_getter_bss_wps
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpa_dbus_dict_open_write
    - wpa_dbus_dict_close_write
    - wpabuf_free
    - wps_is_selected_pbc_registrar
    - dbus_set_error_const
    - get_bss_helper
    - wpa_dbus_dict_append_string
    - wpa_bss_get_vendor_ie_multi
    - dbus_message_iter_open_container
    - dbus_message_iter_close_container
    - wps_is_selected_pin_registrar
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_bss_wps(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_bss_helper
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5753,1
    - Dst: wpas_dbus_simple_array_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5757,1
    - Dst: wpa_bss_ie_ptr
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5758,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5760
      start: 5746
    functionDepth: 2
    functionLinenumber: 5746
    functionLinenumberEnd: 5760
    functionName: wpas_dbus_getter_bss_ies
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_simple_array_property_getter
    - get_bss_helper
    - wpa_bss_ie_ptr
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_bss_ies(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_bss_helper
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5781,1
    - Dst: os_get_reltime
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5785,1
    - Dst: os_reltime_sub
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5786,1
    - Dst: wpas_dbus_simple_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5788,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5790
      start: 5772
    functionDepth: 2
    functionLinenumber: 5772
    functionLinenumberEnd: 5790
    functionName: wpas_dbus_getter_bss_age
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - get_bss_helper
    - os_get_reltime
    - os_reltime_sub
    - wpas_dbus_simple_property_getter
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_bss_age(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: get_bss_helper
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5811,1
    - Dst: dbus_message_iter_open_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5815,1
    - Dst: wpa_dbus_dict_open_write
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5817,1
    - Dst: wpa_dbus_dict_append_byte_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5826,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5828,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5829,1
    - Dst: wpa_dbus_dict_append_byte_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5832,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5834,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5835,1
    - Dst: wpa_dbus_dict_append_byte_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5838,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5840,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5841,1
    - Dst: wpa_dbus_dict_append_byte_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5844,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5846,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5847,1
    - Dst: wpa_dbus_dict_append_byte_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5850,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5852,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5853,1
    - Dst: wpa_dbus_dict_append_byte_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5856,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5858,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5859,1
    - Dst: wpa_dbus_dict_append_byte_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5862,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5864,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5865,1
    - Dst: wpa_dbus_dict_append_byte_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5868,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5870,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5871,1
    - Dst: wpa_dbus_dict_append_byte_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5874,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5876,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5877,1
    - Dst: wpa_dbus_dict_append_byte_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5882,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5884,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5885,1
    - Dst: wpa_dbus_dict_append_byte_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5888,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5890,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5891,1
    - Dst: wpa_dbus_dict_append_byte_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5894,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5896,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5897,1
    - Dst: wpa_dbus_dict_append_byte_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5900,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5902,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5903,1
    - Dst: wpa_dbus_dict_append_byte_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5906,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5908,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5909,1
    - Dst: dl_list_for_each
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5913,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5917,1
    - Dst: wpa_dbus_dict_append_byte_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5919,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5921,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5922,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5925,1
    - Dst: wpa_dbus_dict_append_bool
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5927,1
    - Dst: wpa_dbus_dict_close_write
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5935,1
    - Dst: dbus_message_iter_close_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5936,1
    - Dst: dbus_set_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5942,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 70
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5944
      start: 5802
    functionDepth: 3
    functionLinenumber: 5802
    functionLinenumberEnd: 5944
    functionName: wpas_dbus_getter_bss_anqp
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpa_dbus_dict_append_bool
    - wpa_dbus_dict_open_write
    - wpabuf_len
    - dbus_set_error
    - wpa_dbus_dict_close_write
    - wpabuf_head
    - dl_list_for_each
    - get_bss_helper
    - os_snprintf
    - dbus_message_iter_open_container
    - wpa_dbus_dict_append_byte_array
    - dbus_message_iter_close_container
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_bss_anqp(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_simple_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5963,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5965
      start: 5956
    functionDepth: 2
    functionLinenumber: 5956
    functionLinenumberEnd: 5965
    functionName: wpas_dbus_getter_enabled
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_simple_property_getter
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_enabled(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_simple_property_setter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5986,1
    - Dst: wpa_supplicant_enable_network
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5994,1
    - Dst: wpa_supplicant_disable_network
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:5996,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5999
      start: 5977
    functionDepth: 5
    functionLinenumber: 5977
    functionLinenumberEnd: 5999
    functionName: wpas_dbus_setter_enabled
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_simple_property_setter
    - wpa_supplicant_enable_network
    - wpa_supplicant_disable_network
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_setter_enabled(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_get_all
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6018,1
    - Dst: dbus_set_error_const
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6022,1
    - Dst: dbus_message_iter_open_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6026,1
    - Dst: wpa_dbus_dict_open_write
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6028,1
    - Dst: dbus_set_error_const
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6029,1
    - Dst: wpa_dbus_dict_append_string
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6035,1
    - Dst: dbus_set_error_const
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6037,1
    - Dst: wpa_dbus_dict_close_write
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6045,1
    - Dst: dbus_message_iter_close_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6046,1
    - Dst: dbus_set_error_const
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6047,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6056,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6059,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6061
      start: 6011
    functionDepth: 3
    functionLinenumber: 6011
    functionLinenumberEnd: 6061
    functionName: wpas_dbus_getter_network_properties
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 1
    functionsReached:
    - wpa_dbus_dict_open_write
    - wpa_dbus_dict_close_write
    - wpa_dbus_dict_append_string
    - dbus_message_iter_open_container
    - os_free
    - dbus_set_error_const
    - wpa_config_get_all
    - dbus_message_iter_close_container
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_network_properties(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_iter_recurse
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6081,1
    - Dst: set_network_properties
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6082,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6083
      start: 6073
    functionDepth: 8
    functionLinenumber: 6073
    functionLinenumberEnd: 6083
    functionName: wpas_dbus_setter_network_properties
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - set_network_properties
    - dbus_message_iter_recurse
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_setter_network_properties(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6095,1
    - Dst: dbus_message_get_sender
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6095,1
    - Dst: dbus_message_new_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6099,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6104,1
    - Dst: dbus_message_get_sender
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6104,1
    - Dst: wpas_dbus_error_no_memory
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6106,1
    - Dst: wpas_dbus_subscribe_noc
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6111,1
    - Dst: dbus_bus_name_has_owner
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6117,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6129,1
    - Dst: wpas_dbus_unsubscribe_noc
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6131,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - message
    - wpa_s
    argTypes:
    - DBusMessage*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6135
      start: 6088
    functionDepth: 1
    functionLinenumber: 6088
    functionLinenumberEnd: 6135
    functionName: wpas_dbus_handler_subscribe_preq
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - os_strdup
    - wpas_dbus_unsubscribe_noc
    - dbus_message_new_error
    - os_free
    - dbus_message_get_sender
    - dbus_bus_name_has_owner
    - wpas_dbus_subscribe_noc
    - wpas_dbus_error_no_memory
    - os_strcmp
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * wpas_dbus_handler_subscribe_preq(\n\tDBusMessage *message,
      struct wpa_supplicant *wpa_s)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_new_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6144,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6148,1
    - Dst: dbus_message_get_sender
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6149,1
    - Dst: dbus_message_new_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6150,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6154,1
    - Dst: wpas_dbus_unsubscribe_noc
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - message
    - wpa_s
    argTypes:
    - DBusMessage*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6158
      start: 6138
    functionDepth: 1
    functionLinenumber: 6138
    functionLinenumberEnd: 6158
    functionName: wpas_dbus_handler_unsubscribe_preq
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_unsubscribe_noc
    - dbus_message_new_error
    - dbus_message_get_sender
    - os_free
    - os_strcmp
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * wpas_dbus_handler_unsubscribe_preq(\n\tDBusMessage *message,
      struct wpa_supplicant *wpa_s)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_new_signal
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6176,1
    - Dst: dbus_message_set_destination
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6182,1
    - Dst: dbus_message_iter_init_append
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6184,1
    - Dst: wpa_dbus_dict_open_write
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6186,1
    - Dst: wpa_dbus_dict_append_byte_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6187,1
    - Dst: wpa_dbus_dict_append_byte_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6190,1
    - Dst: wpa_dbus_dict_append_byte_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6193,1
    - Dst: wpa_dbus_dict_append_byte_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6196,1
    - Dst: wpa_dbus_dict_append_int32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6199,1
    - Dst: wpa_dbus_dict_close_write
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6201,1
    - Dst: dbus_connection_send
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6204,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6207,1
    - Dst: dbus_message_unref
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6209,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 22
    argCount: 7
    argNames:
    - wpa_s
    - addr
    - dst
    - bssid
    - ie
    - ie_len
    - ssi_signal
    argTypes:
    - struct wpa_supplicant*
    - u8*
    - u8*
    - u8*
    - u8*
    - size_t
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6210
      start: 6161
    functionDepth: 3
    functionLinenumber: 6161
    functionLinenumberEnd: 6210
    functionName: wpas_dbus_signal_preq
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - dbus_message_new_signal
    - wpa_dbus_dict_open_write
    - dbus_connection_send
    - wpa_dbus_dict_close_write
    - dbus_message_iter_init_append
    - wpa_dbus_dict_append_int32
    - dbus_message_set_destination
    - dbus_message_unref
    - wpa_dbus_dict_append_byte_array
    linkageType: ''
    returnType: void
    signature: "void wpas_dbus_signal_preq(struct wpa_supplicant *wpa_s,\n\t\t\t   const
      u8 *addr, const u8 *dst, const u8 *bssid,\n\t\t\t   const u8 *ie, size_t ie_len,
      u32 ssi_signal)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_iter_init
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6224,1
    - Dst: dbus_message_iter_get_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6225,1
    - Dst: dbus_message_new_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6227,1
    - Dst: dbus_message_iter_next
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6231,1
    - Dst: dbus_message_iter_recurse
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6232,1
    - Dst: dbus_message_iter_get_fixed_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6233,1
    - Dst: dbus_message_new_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6235,1
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6239,1
    - Dst: dbus_message_new_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6240,1
    - Dst: wpas_vendor_elem
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6244,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6246,1
    - Dst: wpas_vendor_elem_update
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6247,1
    - Dst: wpabuf_resize
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6251,1
    - Dst: dbus_message_new_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6252,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6256,1
    - Dst: wpas_vendor_elem_update
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6257,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - message
    - wpa_s
    argTypes:
    - DBusMessage*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6259
      start: 6215
    functionDepth: 2
    functionLinenumber: 6215
    functionLinenumberEnd: 6259
    functionName: wpas_dbus_handler_vendor_elem_add
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - dbus_message_iter_get_basic
    - wpabuf_resize
    - wpabuf_put_data
    - dbus_message_iter_get_fixed_array
    - wpas_vendor_elem_update
    - dbus_message_new_error
    - wpabuf_alloc_copy
    - dbus_message_iter_next
    - ieee802_11_parse_elems
    - dbus_message_iter_init
    - wpas_vendor_elem
    - dbus_message_iter_recurse
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * wpas_dbus_handler_vendor_elem_add(DBusMessage *message,\n\t\t\t\t\t\tstruct
      wpa_supplicant *wpa_s)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_iter_init
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6271,1
    - Dst: dbus_message_iter_get_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6272,1
    - Dst: dbus_message_new_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6275,1
    - Dst: wpas_vendor_elem
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6279,1
    - Dst: dbus_message_new_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6281,1
    - Dst: dbus_message_new_method_return
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6285,1
    - Dst: wpas_dbus_error_no_memory
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6287,1
    - Dst: dbus_message_iter_init_append
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6289,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6291,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6292,1
    - Dst: dbus_message_iter_open_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6294,1
    - Dst: dbus_message_iter_append_fixed_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6297,1
    - Dst: dbus_message_iter_close_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6299,1
    - Dst: dbus_message_unref
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6300,1
    - Dst: wpas_dbus_error_no_memory
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6301,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - message
    - wpa_s
    argTypes:
    - DBusMessage*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6305
      start: 6262
    functionDepth: 1
    functionLinenumber: 6262
    functionLinenumberEnd: 6305
    functionName: wpas_dbus_handler_vendor_elem_get
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - dbus_message_iter_get_basic
    - wpabuf_head_u8
    - wpas_dbus_error_no_memory
    - dbus_message_new_method_return
    - wpabuf_len
    - dbus_message_new_error
    - dbus_message_iter_init_append
    - dbus_message_unref
    - dbus_message_iter_append_fixed_array
    - dbus_message_iter_open_container
    - dbus_message_iter_init
    - wpas_vendor_elem
    - dbus_message_iter_close_container
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * wpas_dbus_handler_vendor_elem_get(DBusMessage *message,\n\t\t\t\t\t\tstruct
      wpa_supplicant *wpa_s)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_iter_init
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6317,1
    - Dst: dbus_message_iter_get_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6318,1
    - Dst: dbus_message_new_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6320,1
    - Dst: dbus_message_iter_next
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6324,1
    - Dst: dbus_message_iter_recurse
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6325,1
    - Dst: dbus_message_iter_get_fixed_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6326,1
    - Dst: dbus_message_new_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6328,1
    - Dst: wpas_vendor_elem
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6332,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6335,1
    - Dst: wpas_vendor_elem_update
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6337,1
    - Dst: dbus_message_new_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6342,1
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6346,1
    - Dst: dbus_message_new_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6347,1
    - Dst: wpas_vendor_elem_remove
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6351,1
    - Dst: dbus_message_new_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6354,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - message
    - wpa_s
    argTypes:
    - DBusMessage*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6356
      start: 6308
    functionDepth: 3
    functionLinenumber: 6308
    functionLinenumberEnd: 6356
    functionName: wpas_dbus_handler_vendor_elem_remove
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - dbus_message_iter_get_basic
    - wpas_vendor_elem_remove
    - dbus_message_iter_get_fixed_array
    - wpabuf_free
    - dbus_message_new_error
    - wpas_vendor_elem_update
    - dbus_message_iter_next
    - ieee802_11_parse_elems
    - dbus_message_iter_init
    - wpas_vendor_elem
    - dbus_message_iter_recurse
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * wpas_dbus_handler_vendor_elem_remove(DBusMessage *message,\n\t\t\t\t\t\t
      \  struct wpa_supplicant *wpa_s)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_iter_open_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6385,1
    - Dst: dbus_message_iter_open_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6390,1
    - Dst: dbus_message_iter_open_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6397,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6404,1
    - Dst: dbus_message_iter_close_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6410,1
    - Dst: dbus_message_iter_close_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6415,1
    - Dst: dbus_message_iter_close_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6416,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6420
      start: 6370
    functionDepth: 0
    functionLinenumber: 6370
    functionLinenumberEnd: 6420
    functionName: wpas_dbus_getter_mesh_peers
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - dbus_message_iter_open_container
    - dbus_message_iter_close_container
    - dbus_message_iter_append_basic
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_mesh_peers(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_simple_array_property_getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6442,1
    - Dst: dbus_set_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6445,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6451
      start: 6432
    functionDepth: 2
    functionLinenumber: 6432
    functionLinenumberEnd: 6451
    functionName: wpas_dbus_getter_mesh_group
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_simple_array_property_getter
    - dbus_set_error
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_mesh_group(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpas_dbus_new_from_signal_information
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6472,1
    - Dst: dbus_set_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6473,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - property_desc
    - iter
    - error
    - user_data
    argTypes:
    - struct wpa_dbus_property_desc*
    - DBusMessageIter*
    - DBusError*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6478
      start: 6465
    functionDepth: 1
    functionLinenumber: 6465
    functionLinenumberEnd: 6478
    functionName: wpas_dbus_getter_signal_change
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpas_dbus_new_from_signal_information
    - dbus_set_error
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpas_dbus_getter_signal_change(\n\tconst struct wpa_dbus_property_desc
      *property_desc,\n\tDBusMessageIter *iter, DBusError *error, void *user_data)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6506,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6510,1
    - Dst: dbus_message_iter_init
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6518,1
    - Dst: wpa_dbus_dict_open_read
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6520,1
    - Dst: wpa_dbus_dict_has_dict_entry
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6522,1
    - Dst: wpa_dbus_dict_get_entry
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6523,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6525,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6527,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6528,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6529,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6532,1
    - Dst: wpa_dbus_dict_entry_is_int
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6533,1
    - Dst: wpa_dbus_dict_entry_get_int
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6534,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6535,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6536,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6539,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6540,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6543,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6544,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6547,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6548,1
    - Dst: wpa_dbus_dict_entry_is_int
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6549,1
    - Dst: wpa_dbus_dict_entry_get_int
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6550,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6551,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6552,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6555,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6556,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6559,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6560,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6563,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6564,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6567,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6568,1
    - Dst: wpa_dbus_dict_entry_is_int
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6569,1
    - Dst: wpa_dbus_dict_entry_get_int
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6570,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6571,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6572,1
    - Dst: wpa_dbus_dict_entry_is_int
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6573,1
    - Dst: wpa_dbus_dict_entry_get_int
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6575,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6576,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6577,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6580,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6581,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6583,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6586,1
    - Dst: int_array_add_unique
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6592,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6596,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6599,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6601,1
    - Dst: wpas_nan_publish
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6609,1
    - Dst: wpas_dbus_error_unknown_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6612,1
    - Dst: dbus_message_new_method_return
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6618,1
    - Dst: wpas_dbus_error_no_memory
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6620,1
    - Dst: dbus_message_append_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6624,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6628,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6629,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6630,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6633,1
    - Dst: wpas_dbus_error_no_memory
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6637,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 122
    argCount: 2
    argNames:
    - message
    - wpa_s
    argTypes:
    - DBusMessage*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6639
      start: 6491
    functionDepth: 6
    functionLinenumber: 6491
    functionLinenumberEnd: 6639
    functionName: wpas_dbus_handler_nan_publish
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpa_dbus_dict_entry_is_int
    - int_array_add_unique
    - wpas_nan_publish
    - wpa_printf
    - wpas_dbus_error_invalid_args
    - dbus_message_append_args
    - wpa_dbus_dict_has_dict_entry
    - wpas_dbus_error_unknown_error
    - os_free
    - dbus_message_iter_init
    - os_strcmp
    - dbus_message_new_method_return
    - wpabuf_alloc_copy
    - wpa_dbus_dict_get_entry
    - wpas_dbus_error_no_memory
    - os_strdup
    - os_memset
    - wpa_dbus_dict_open_read
    - wpabuf_free
    - wpa_dbus_dict_entry_get_int
    - wpa_dbus_dict_entry_clear
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * wpas_dbus_handler_nan_publish(DBusMessage *message,\n\t\t\t\t\t
      \   struct wpa_supplicant *wpa_s)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_get_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6658,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6661,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6663,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6666,1
    - Dst: nan_de_cancel_publish
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6667,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - message
    - wpa_s
    argTypes:
    - DBusMessage*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6669
      start: 6650
    functionDepth: 1
    functionLinenumber: 6650
    functionLinenumberEnd: 6669
    functionName: wpas_dbus_handler_nan_cancel_publish
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - dbus_message_get_args
    - wpa_printf
    - wpas_dbus_error_invalid_args
    - nan_de_cancel_publish
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * wpas_dbus_handler_nan_cancel_publish(DBusMessage *message,\n\t\t\t\t\t\t
      \  struct wpa_supplicant *wpa_s)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6689,1
    - Dst: dbus_message_iter_init
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6693,1
    - Dst: wpa_dbus_dict_open_read
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6695,1
    - Dst: wpa_dbus_dict_has_dict_entry
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6697,1
    - Dst: wpa_dbus_dict_get_entry
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6698,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6700,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6703,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6704,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6706,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6709,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6710,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6712,1
    - Dst: wpas_dbus_error_no_memory
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6714,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6718,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6721,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6723,1
    - Dst: nan_de_update_publish
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6731,1
    - Dst: wpas_dbus_error_unknown_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6732,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6736,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6739,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 48
    argCount: 2
    argNames:
    - message
    - wpa_s
    argTypes:
    - DBusMessage*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6743
      start: 6680
    functionDepth: 6
    functionLinenumber: 6680
    functionLinenumberEnd: 6743
    functionName: wpas_dbus_handler_nan_update_publish
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpas_dbus_error_invalid_args
    - wpa_dbus_dict_open_read
    - wpabuf_free
    - wpabuf_alloc_copy
    - wpa_dbus_dict_get_entry
    - nan_de_update_publish
    - wpa_dbus_dict_has_dict_entry
    - wpa_dbus_dict_entry_clear
    - wpas_dbus_error_unknown_error
    - dbus_message_iter_init
    - wpas_dbus_error_no_memory
    - os_strcmp
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * wpas_dbus_handler_nan_update_publish(DBusMessage *message,\n\t\t\t\t\t\t
      \  struct wpa_supplicant *wpa_s)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_get_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6763,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6766,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6768,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6771,1
    - Dst: wpas_nan_usd_publish_stop_listen
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6772,1
    - Dst: wpas_dbus_error_unknown_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6773,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - message
    - wpa_s
    argTypes:
    - DBusMessage*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6776
      start: 6754
    functionDepth: 1
    functionLinenumber: 6754
    functionLinenumberEnd: 6776
    functionName: wpas_dbus_handler_nan_publish_stop_listen
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpas_dbus_error_invalid_args
    - dbus_message_get_args
    - wpas_nan_usd_publish_stop_listen
    - wpas_dbus_error_unknown_error
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage *\nwpas_dbus_handler_nan_publish_stop_listen(DBusMessage
      *message,\n\t\t\t\t\t  struct wpa_supplicant *wpa_s)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6801,1
    - Dst: os_memset
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6805,1
    - Dst: dbus_message_iter_init
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6808,1
    - Dst: wpa_dbus_dict_open_read
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6810,1
    - Dst: wpa_dbus_dict_has_dict_entry
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6812,1
    - Dst: wpa_dbus_dict_get_entry
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6813,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6815,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6817,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6818,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6819,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6822,1
    - Dst: wpa_dbus_dict_entry_is_int
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6823,1
    - Dst: wpa_dbus_dict_entry_get_int
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6824,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6825,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6826,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6829,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6830,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6833,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6834,1
    - Dst: wpa_dbus_dict_entry_is_int
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6835,1
    - Dst: wpa_dbus_dict_entry_get_int
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6836,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6837,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6838,1
    - Dst: wpa_dbus_dict_entry_is_int
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6839,1
    - Dst: wpa_dbus_dict_entry_get_int
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6840,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6841,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6842,1
    - Dst: wpa_dbus_dict_entry_is_int
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6843,1
    - Dst: wpa_dbus_dict_entry_get_int
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6845,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6846,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6847,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6850,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6851,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6853,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6856,1
    - Dst: int_array_add_unique
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6862,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6865,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6868,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6870,1
    - Dst: wpas_nan_subscribe
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6878,1
    - Dst: wpas_dbus_error_unknown_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6881,1
    - Dst: dbus_message_new_method_return
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6886,1
    - Dst: dbus_message_append_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6887,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6890,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6891,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6892,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6895,1
    - Dst: wpas_dbus_error_no_memory
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6899,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 92
    argCount: 2
    argNames:
    - message
    - wpa_s
    argTypes:
    - DBusMessage*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6901
      start: 6787
    functionDepth: 6
    functionLinenumber: 6787
    functionLinenumberEnd: 6901
    functionName: wpas_dbus_handler_nan_subscribe
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpa_dbus_dict_entry_is_int
    - wpas_nan_subscribe
    - int_array_add_unique
    - wpa_printf
    - wpas_dbus_error_invalid_args
    - dbus_message_append_args
    - wpa_dbus_dict_has_dict_entry
    - wpas_dbus_error_unknown_error
    - os_free
    - dbus_message_iter_init
    - os_strcmp
    - dbus_message_new_method_return
    - wpabuf_alloc_copy
    - wpa_dbus_dict_get_entry
    - wpas_dbus_error_no_memory
    - os_strdup
    - os_memset
    - wpa_dbus_dict_open_read
    - wpabuf_free
    - wpa_dbus_dict_entry_get_int
    - wpa_dbus_dict_entry_clear
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * wpas_dbus_handler_nan_subscribe(DBusMessage *message,\n\t\t\t\t\t
      \     struct wpa_supplicant *wpa_s)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_get_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6921,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6924,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6926,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6929,1
    - Dst: nan_de_cancel_subscribe
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6930,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - message
    - wpa_s
    argTypes:
    - DBusMessage*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6932
      start: 6912
    functionDepth: 1
    functionLinenumber: 6912
    functionLinenumberEnd: 6932
    functionName: wpas_dbus_handler_nan_cancel_subscribe
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - dbus_message_get_args
    - nan_de_cancel_subscribe
    - wpa_printf
    - wpas_dbus_error_invalid_args
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage *\nwpas_dbus_handler_nan_cancel_subscribe(DBusMessage
      *message,\n\t\t\t\t       struct wpa_supplicant *wpa_s)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_get_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6953,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6956,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6958,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6961,1
    - Dst: wpas_nan_usd_subscribe_stop_listen
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6963,1
    - Dst: wpas_dbus_error_unknown_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6964,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - message
    - wpa_s
    argTypes:
    - DBusMessage*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6967
      start: 6944
    functionDepth: 1
    functionLinenumber: 6944
    functionLinenumberEnd: 6967
    functionName: wpas_dbus_handler_nan_subscribe_stop_listen
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpas_dbus_error_invalid_args
    - dbus_message_get_args
    - wpas_nan_usd_subscribe_stop_listen
    - wpas_dbus_error_unknown_error
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage *\nwpas_dbus_handler_nan_subscribe_stop_listen(DBusMessage
      *message,\n\t\t\t\t\t    struct wpa_supplicant *wpa_s)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6990,1
    - Dst: dbus_message_iter_init
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6994,1
    - Dst: wpa_dbus_dict_open_read
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6996,1
    - Dst: wpa_dbus_dict_has_dict_entry
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6998,1
    - Dst: wpa_dbus_dict_get_entry
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:6999,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:7001,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:7004,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:7005,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:7006,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:7009,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:7010,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:7012,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:7013,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:7017,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:7018,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:7021,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:7022,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:7024,1
    - Dst: wpas_dbus_error_no_memory
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:7026,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:7030,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:7033,1
    - Dst: wpa_dbus_dict_entry_clear
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:7035,1
    - Dst: wpas_nan_transmit
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:7043,1
    - Dst: wpas_dbus_error_unknown_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:7045,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:7048,1
    - Dst: wpas_dbus_error_invalid_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:7052,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 61
    argCount: 2
    argNames:
    - message
    - wpa_s
    argTypes:
    - DBusMessage*
    - struct wpa_supplicant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7055
      start: 6978
    functionDepth: 6
    functionLinenumber: 6978
    functionLinenumberEnd: 7055
    functionName: wpas_dbus_handler_nan_transmit
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpas_dbus_error_invalid_args
    - wpas_nan_transmit
    - hwaddr_aton
    - wpa_dbus_dict_open_read
    - wpabuf_free
    - wpabuf_alloc_copy
    - wpa_dbus_dict_get_entry
    - wpa_dbus_dict_has_dict_entry
    - wpa_dbus_dict_entry_clear
    - wpas_dbus_error_unknown_error
    - dbus_message_iter_init
    - wpas_dbus_error_no_memory
    - os_strcmp
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * wpas_dbus_handler_nan_transmit(DBusMessage *message,\n\t\t\t\t\t
      \    struct wpa_supplicant *wpa_s)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:33,1
    - Dst: os_zalloc
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:37,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:40,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:41,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:43,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:44,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:45,1
    - Dst: wpabuf_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:48,1
    - Dst: dl_list_add_tail
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:49,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - list
    - dbus_interface
    argTypes:
    - struct dl_list*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 51
    functionName: add_interface
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c
    functionUses: 2
    functionsReached:
    - wpabuf_printf
    - dl_list_add_tail
    - wpabuf_free
    - os_zalloc
    - os_strcmp
    - wpabuf_alloc
    - os_free
    - os_strdup
    linkageType: ''
    returnType: struct interfaces
    signature: "struct interfaces * add_interface(struct dl_list *list,\n\t\t\t\t\t
      const char *dbus_interface)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: dl_list_for_each
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c
    functionUses: 67
    functionsReached:
    - os_strcmp
    linkageType: ''
    returnType: void
    signature: void dl_list_for_each(iface, list, struct interfaces, list)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:57,1
    - Dst: wpabuf_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:59,1
    - Dst: wpabuf_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:61,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - xml
    - name
    - type
    - direction
    argTypes:
    - struct wpabuf*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 63
    functionName: add_arg
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c
    functionUses: 0
    functionsReached:
    - wpabuf_put_str
    - wpabuf_printf
    linkageType: ''
    returnType: void
    signature: "void add_arg(struct wpabuf *xml, const char *name, const char *type,\n\t\t
      \   const char *direction)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:72,1
    - Dst: wpabuf_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:75,1
    - Dst: add_arg
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:77,1
    - Dst: wpabuf_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:81,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 5
    argNames:
    - xml
    - type
    - name
    - args
    - include_dir
    argTypes:
    - struct wpabuf*
    - char*
    - char*
    - struct wpa_dbus_argument*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 82
    functionName: add_entry
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c
    functionUses: 6
    functionsReached:
    - wpabuf_printf
    - add_arg
    linkageType: ''
    returnType: void
    signature: "void add_entry(struct wpabuf *xml, const char *type, const char *name,\n\t\t
      \     const struct wpa_dbus_argument *args, int include_dir)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - xml
    - dsc
    argTypes:
    - struct wpabuf*
    - struct wpa_dbus_property_desc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 93
    functionName: add_property
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c
    functionUses: 0
    functionsReached:
    - wpabuf_printf
    linkageType: ''
    returnType: void
    signature: "void add_property(struct wpabuf *xml,\n\t\t\t const struct wpa_dbus_property_desc
      *dsc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: add_interface
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:103,1
    - Dst: add_entry
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - list
    - methods
    argTypes:
    - struct dl_list*
    - struct wpa_dbus_method_desc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 96
    functionDepth: 3
    functionLinenumber: 96
    functionLinenumberEnd: 108
    functionName: extract_interfaces_methods
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c
    functionUses: 0
    functionsReached:
    - add_entry
    - add_interface
    linkageType: ''
    returnType: void
    signature: "void extract_interfaces_methods(\n\tstruct dl_list *list, const struct
      wpa_dbus_method_desc *methods)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: add_interface
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:118,1
    - Dst: add_entry
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - list
    - signals
    argTypes:
    - struct dl_list*
    - struct wpa_dbus_signal_desc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 111
    functionDepth: 3
    functionLinenumber: 111
    functionLinenumberEnd: 123
    functionName: extract_interfaces_signals
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c
    functionUses: 0
    functionsReached:
    - add_entry
    - add_interface
    linkageType: ''
    returnType: void
    signature: "void extract_interfaces_signals(\n\tstruct dl_list *list, const struct
      wpa_dbus_signal_desc *signals)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: add_interface
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:133,1
    - Dst: add_property
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - list
    - properties
    argTypes:
    - struct dl_list*
    - struct wpa_dbus_property_desc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 137
    functionName: extract_interfaces_properties
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c
    functionUses: 0
    functionsReached:
    - add_property
    - add_interface
    linkageType: ''
    returnType: void
    signature: "void extract_interfaces_properties(\n\tstruct dl_list *list, const
      struct wpa_dbus_property_desc *properties)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: extract_interfaces_methods
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:153,1
    - Dst: extract_interfaces_signals
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:154,1
    - Dst: extract_interfaces_properties
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - list
    - obj_dsc
    argTypes:
    - struct dl_list*
    - struct wpa_dbus_object_desc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 150
    functionDepth: 4
    functionLinenumber: 150
    functionLinenumberEnd: 156
    functionName: extract_interfaces
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c
    functionUses: 0
    functionsReached:
    - extract_interfaces_signals
    - extract_interfaces_methods
    - extract_interfaces_properties
    linkageType: ''
    returnType: void
    signature: "void extract_interfaces(struct dl_list *list,\n\t\t\t       struct
      wpa_dbus_object_desc *obj_dsc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:164,1
    - Dst: wpabuf_tailroom
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:164,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:165,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:166,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:168,1
    - Dst: wpabuf_tailroom
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:170,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:171,1
    - Dst: dl_list_del
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:173,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:174,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:175,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - list
    - xml
    argTypes:
    - struct dl_list*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 178
    functionName: add_interfaces
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dl_list_del
    - wpabuf_len
    - wpabuf_put_str
    - wpabuf_free
    - wpabuf_tailroom
    - wpabuf_put_buf
    - os_free
    linkageType: ''
    returnType: void
    signature: void add_interfaces(struct dl_list *list, struct wpabuf *xml)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:164,1
    - Dst: wpabuf_tailroom
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:164,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:165,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:166,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:168,1
    - Dst: wpabuf_tailroom
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:170,1
    - Dst: wpabuf_len
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:171,1
    - Dst: dl_list_del
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:173,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:174,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:175,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 177
    functionName: dl_list_for_each_safe
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c
    functionUses: 18
    functionsReached:
    - wpa_printf
    - dl_list_del
    - wpabuf_len
    - wpabuf_put_str
    - wpabuf_free
    - wpabuf_tailroom
    - wpabuf_put_buf
    - os_free
    linkageType: ''
    returnType: void
    signature: void dl_list_for_each_safe(iface, n, list, struct interfaces, list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dbus_connection_list_registered
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:188,1
    - Dst: wpabuf_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:190,1
    - Dst: dbus_free_string_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - xml
    - con
    - path
    argTypes:
    - struct wpabuf*
    - DBusConnection*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 192
    functionName: add_child_nodes
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c
    functionUses: 0
    functionsReached:
    - dbus_free_string_array
    - wpabuf_printf
    - dbus_connection_list_registered
    linkageType: ''
    returnType: void
    signature: "void add_child_nodes(struct wpabuf *xml, DBusConnection *con,\n\t\t\t
      \   const char *path)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - xml
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 204
    functionName: add_introspectable_interface
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c
    functionUses: 0
    functionsReached:
    - wpabuf_printf
    linkageType: ''
    returnType: void
    signature: void add_introspectable_interface(struct wpabuf *xml)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:209,1
    - Dst: wpabuf_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:212,1
    - Dst: add_arg
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:213,1
    - Dst: add_arg
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:214,1
    - Dst: add_arg
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:215,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:216,1
    - Dst: wpabuf_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:218,1
    - Dst: add_arg
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:219,1
    - Dst: add_arg
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:220,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:221,1
    - Dst: wpabuf_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:223,1
    - Dst: add_arg
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:224,1
    - Dst: add_arg
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:225,1
    - Dst: add_arg
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:226,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:227,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - xml
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 207
    functionDepth: 2
    functionLinenumber: 207
    functionLinenumberEnd: 230
    functionName: add_properties_interface
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c
    functionUses: 0
    functionsReached:
    - wpabuf_put_str
    - wpabuf_printf
    - add_arg
    linkageType: ''
    returnType: void
    signature: void add_properties_interface(struct wpabuf *xml)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_init
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:238,1
    - Dst: extract_interfaces
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:239,1
    - Dst: add_interfaces
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - xml
    - obj_dsc
    argTypes:
    - struct wpabuf*
    - struct wpa_dbus_object_desc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 233
    functionDepth: 5
    functionLinenumber: 233
    functionLinenumberEnd: 241
    functionName: add_wpas_interfaces
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c
    functionUses: 0
    functionsReached:
    - add_interfaces
    - dl_list_init
    - extract_interfaces
    linkageType: ''
    returnType: void
    signature: "void add_wpas_interfaces(struct wpabuf *xml,\n\t\t\t\tstruct wpa_dbus_object_desc
      *obj_dsc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:260,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:264,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:265,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:266,1
    - Dst: add_introspectable_interface
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:268,1
    - Dst: add_properties_interface
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:269,1
    - Dst: add_wpas_interfaces
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:270,1
    - Dst: add_child_nodes
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:271,1
    - Dst: dbus_message_get_path
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:272,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:274,1
    - Dst: dbus_message_new_method_return
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:276,1
    - Dst: wpabuf_head
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:278,1
    - Dst: dbus_message_append_args
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:280,1
    - Dst: wpabuf_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c:283,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - message
    - obj_dsc
    argTypes:
    - DBusMessage*
    - struct wpa_dbus_object_desc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 253
    functionDepth: 6
    functionLinenumber: 253
    functionLinenumberEnd: 286
    functionName: wpa_dbus_introspect
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c
    functionUses: 0
    functionsReached:
    - dbus_message_get_path
    - add_introspectable_interface
    - dbus_message_append_args
    - wpabuf_put_str
    - dbus_message_new_method_return
    - wpabuf_free
    - wpabuf_head
    - wpabuf_alloc
    - add_wpas_interfaces
    - add_properties_interface
    - add_child_nodes
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * wpa_dbus_introspect(DBusMessage *message,\n\t\t\t\t
      \ struct wpa_dbus_object_desc *obj_dsc)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:33,1
    - Dst: dbus_message_iter_open_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:41,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:44,1
    - Dst: struct wpa_dbus_property_desc*::getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:50,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:51,1
    - Dst: dbus_message_iter_close_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:58,1
    - Dst: dbus_set_error_const
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:65,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 5
    argNames:
    - dict_iter
    - props
    - interface
    - user_data
    - error
    argTypes:
    - DBusMessageIter*
    - struct wpa_dbus_property_desc*
    - char*
    - void*
    - DBusError*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 67
    functionName: fill_dict_with_properties
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dbus_message_iter_append_basic
    - os_strncmp
    - dbus_set_error_const
    - struct wpa_dbus_property_desc*::getter
    - dbus_message_iter_open_container
    - dbus_message_iter_close_container
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t fill_dict_with_properties(\n\tDBusMessageIter *dict_iter,\n\tconst
      struct wpa_dbus_property_desc *props,\n\tconst char *interface, void *user_data,
      DBusError *error)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_new_method_return
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:89,1
    - Dst: wpas_dbus_error_no_memory
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:91,1
    - Dst: dbus_message_iter_init_append
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:93,1
    - Dst: wpa_dbus_dict_open_write
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:94,1
    - Dst: dbus_message_unref
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:95,1
    - Dst: wpas_dbus_error_no_memory
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:96,1
    - Dst: dbus_error_init
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:99,1
    - Dst: fill_dict_with_properties
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:100,1
    - Dst: wpa_dbus_dict_close_write
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:102,1
    - Dst: dbus_message_unref
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:103,1
    - Dst: wpas_dbus_reply_new_from_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:104,1
    - Dst: dbus_error_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:107,1
    - Dst: wpa_dbus_dict_close_write
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:111,1
    - Dst: dbus_message_unref
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:112,1
    - Dst: wpas_dbus_error_no_memory
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:113,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - message
    - interface
    - obj_dsc
    argTypes:
    - DBusMessage*
    - char*
    - struct wpa_dbus_object_desc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 117
    functionName: get_all_properties
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c
    functionUses: 0
    functionsReached:
    - dbus_error_free
    - fill_dict_with_properties
    - wpa_dbus_dict_open_write
    - dbus_message_new_method_return
    - wpa_dbus_dict_close_write
    - dbus_message_iter_init_append
    - dbus_message_unref
    - wpas_dbus_reply_new_from_error
    - wpas_dbus_error_no_memory
    - dbus_error_init
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * get_all_properties(DBusMessage *message, char *interface,\n\t\t\t\t\tstruct
      wpa_dbus_object_desc *obj_dsc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_get_signature
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:126,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:137,1
    - Dst: os_snprintf_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:138,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:144,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - message
    - method_dsc
    argTypes:
    - DBusMessage*
    - struct wpa_dbus_method_desc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 145
    functionName: is_signature_correct
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - os_snprintf_error
    - os_strncmp
    - dbus_message_get_signature
    linkageType: ''
    returnType: int
    signature: "int is_signature_correct(DBusMessage *message,\n\t\t\t\tconst struct
      wpa_dbus_method_desc *method_dsc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:151,1
    - Dst: dbus_message_get_signature
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:151,1
    - Dst: dbus_message_new_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:152,1
    - Dst: get_all_properties
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - message
    - interface
    - obj_dsc
    argTypes:
    - DBusMessage*
    - char*
    - struct wpa_dbus_object_desc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 156
    functionName: properties_get_all
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c
    functionUses: 0
    functionsReached:
    - get_all_properties
    - dbus_message_new_error
    - os_strcmp
    - dbus_message_get_signature
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * properties_get_all(DBusMessage *message, char *interface,\n\t\t\t\t\tstruct
      wpa_dbus_object_desc *obj_dsc)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:167,1
    - Dst: dbus_message_get_signature
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:167,1
    - Dst: dbus_message_new_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:168,1
    - Dst: dbus_message_new_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:173,1
    - Dst: dbus_message_new_method_return
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:177,1
    - Dst: dbus_message_iter_init_append
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:178,1
    - Dst: dbus_error_init
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:180,1
    - Dst: struct wpa_dbus_property_desc*::getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:181,1
    - Dst: dbus_message_unref
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:182,1
    - Dst: wpas_dbus_reply_new_from_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:183,1
    - Dst: dbus_error_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - message
    - dsc
    - user_data
    argTypes:
    - DBusMessage*
    - struct wpa_dbus_property_desc*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 190
    functionName: properties_get
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c
    functionUses: 0
    functionsReached:
    - dbus_error_free
    - dbus_message_new_method_return
    - dbus_error_init
    - dbus_message_new_error
    - dbus_message_iter_init_append
    - dbus_message_unref
    - struct wpa_dbus_property_desc*::getter
    - wpas_dbus_reply_new_from_error
    - os_strcmp
    - dbus_message_get_signature
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * properties_get(DBusMessage *message,\n\t\t\t\t    const
      struct wpa_dbus_property_desc *dsc,\n\t\t\t\t    void *user_data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:201,1
    - Dst: dbus_message_get_signature
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:201,1
    - Dst: dbus_message_new_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:202,1
    - Dst: dbus_message_new_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:207,1
    - Dst: dbus_message_iter_init
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:211,1
    - Dst: dbus_message_iter_next
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:213,1
    - Dst: dbus_message_iter_next
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:214,1
    - Dst: dbus_error_init
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:217,1
    - Dst: struct wpa_dbus_property_desc*::setter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:218,1
    - Dst: dbus_message_new_method_return
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:220,1
    - Dst: wpas_dbus_reply_new_from_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:222,1
    - Dst: dbus_error_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:225,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - message
    - dsc
    - user_data
    argTypes:
    - DBusMessage*
    - struct wpa_dbus_property_desc*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 229
    functionName: properties_set
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c
    functionUses: 0
    functionsReached:
    - dbus_error_free
    - dbus_message_new_method_return
    - dbus_error_init
    - dbus_message_new_error
    - struct wpa_dbus_property_desc*::setter
    - dbus_message_iter_next
    - wpas_dbus_reply_new_from_error
    - dbus_message_iter_init
    - os_strcmp
    - dbus_message_get_signature
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * properties_set(DBusMessage *message,\n\t\t\t\t    const
      struct wpa_dbus_property_desc *dsc,\n\t\t\t\t    void *user_data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_get_member
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:241,1
    - Dst: dbus_message_iter_next
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:245,1
    - Dst: dbus_message_iter_get_arg_type
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:246,1
    - Dst: dbus_message_new_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:247,1
    - Dst: dbus_message_iter_get_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:250,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:255,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:257,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:264,1
    - Dst: dbus_message_get_path
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:266,1
    - Dst: dbus_message_new_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:267,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:271,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:273,1
    - Dst: properties_get
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:274,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:278,1
    - Dst: properties_set
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:279,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 4
    argNames:
    - message
    - iter
    - interface
    - obj_dsc
    argTypes:
    - DBusMessage*
    - DBusMessageIter*
    - char*
    - struct wpa_dbus_object_desc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 232
    functionDepth: 2
    functionLinenumber: 232
    functionLinenumberEnd: 280
    functionName: properties_get_or_set
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c
    functionUses: 0
    functionsReached:
    - dbus_message_iter_get_basic
    - dbus_message_iter_get_arg_type
    - wpa_printf
    - dbus_message_get_path
    - dbus_message_new_error
    - os_strncmp
    - dbus_message_iter_next
    - properties_set
    - dbus_message_get_member
    - properties_get
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage *\nproperties_get_or_set(DBusMessage *message, DBusMessageIter
      *iter,\n\t\t      char *interface,\n\t\t      struct wpa_dbus_object_desc *obj_dsc)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_get_member
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:290,1
    - Dst: dbus_message_iter_init
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:291,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:293,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:295,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:297,1
    - Dst: dbus_message_iter_get_arg_type
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:300,1
    - Dst: dbus_message_new_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:301,1
    - Dst: dbus_message_iter_get_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:306,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:308,1
    - Dst: properties_get_all
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:311,1
    - Dst: properties_get_or_set
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:314,1
    - Dst: dbus_message_new_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:317,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - message
    - obj_dsc
    argTypes:
    - DBusMessage*
    - struct wpa_dbus_object_desc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 283
    functionDepth: 3
    functionLinenumber: 283
    functionLinenumberEnd: 319
    functionName: properties_handler
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c
    functionUses: 0
    functionsReached:
    - dbus_message_iter_get_basic
    - dbus_message_iter_get_arg_type
    - properties_get_all
    - dbus_message_new_error
    - os_strncmp
    - properties_get_or_set
    - dbus_message_iter_init
    - dbus_message_get_member
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * properties_handler(DBusMessage *message,\n\t\t\t\t\tstruct
      wpa_dbus_object_desc *obj_dsc)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_get_member
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:329,1
    - Dst: dbus_message_get_interface
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:330,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:335,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:337,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:344,1
    - Dst: dbus_message_get_path
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:346,1
    - Dst: dbus_message_new_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:347,1
    - Dst: is_signature_correct
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:351,1
    - Dst: dbus_message_new_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:352,1
    - Dst: struct wpa_dbus_method_desc*::method_handler
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:356,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - message
    - obj_dsc
    argTypes:
    - DBusMessage*
    - struct wpa_dbus_object_desc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 322
    functionDepth: 2
    functionLinenumber: 322
    functionLinenumberEnd: 357
    functionName: msg_method_handler
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c
    functionUses: 0
    functionsReached:
    - dbus_message_get_path
    - wpa_printf
    - dbus_message_new_error
    - os_strncmp
    - is_signature_correct
    - dbus_message_get_interface
    - struct wpa_dbus_method_desc*::method_handler
    - dbus_message_get_member
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * msg_method_handler(DBusMessage *message,\n\t\t\t\t\tstruct
      wpa_dbus_object_desc *obj_dsc)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_get_member
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:385,1
    - Dst: dbus_message_get_path
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:386,1
    - Dst: dbus_message_get_interface
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:387,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:391,1
    - Dst: dbus_message_get_signature
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:393,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:396,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:398,1
    - Dst: wpa_dbus_introspect
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:401,1
    - Dst: dbus_message_new_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:403,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:407,1
    - Dst: properties_handler
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:410,1
    - Dst: msg_method_handler
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:412,1
    - Dst: dbus_message_new_method_return
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:417,1
    - Dst: dbus_message_get_no_reply
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:419,1
    - Dst: dbus_connection_send
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:420,1
    - Dst: dbus_message_unref
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:421,1
    - Dst: wpa_dbus_flush_all_changed_properties
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:424,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 3
    argNames:
    - connection
    - message
    - user_data
    argTypes:
    - DBusConnection*
    - DBusMessage*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 375
    functionDepth: 7
    functionLinenumber: 375
    functionLinenumberEnd: 427
    functionName: message_handler
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c
    functionUses: 0
    functionsReached:
    - dbus_message_get_path
    - wpa_printf
    - properties_handler
    - wpa_dbus_flush_all_changed_properties
    - dbus_message_new_method_return
    - dbus_connection_send
    - dbus_message_new_error
    - os_strncmp
    - wpa_dbus_introspect
    - msg_method_handler
    - dbus_message_unref
    - dbus_message_get_interface
    - dbus_message_get_no_reply
    - dbus_message_get_member
    - dbus_message_get_signature
    linkageType: ''
    returnType: DBusHandlerResult
    signature: "DBusHandlerResult message_handler(DBusConnection *connection,\n\t\t\t\t\t
      DBusMessage *message, void *user_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_dbus_object_desc*::user_data_free_func
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:445,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:447,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:448,1
    - Dst: os_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:449,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - obj_dsc
    argTypes:
    - struct wpa_dbus_object_desc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 450
    functionName: free_dbus_object_desc
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c
    functionUses: 8
    functionsReached:
    - os_free
    - struct wpa_dbus_object_desc*::user_data_free_func
    linkageType: ''
    returnType: void
    signature: void free_dbus_object_desc(struct wpa_dbus_object_desc *obj_dsc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_dbus_object_desc
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - connection
    - obj_dsc
    argTypes:
    - DBusConnection*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 456
    functionName: free_dbus_object_desc_cb
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c
    functionUses: 0
    functionsReached:
    - free_dbus_object_desc
    linkageType: ''
    returnType: void
    signature: void free_dbus_object_desc_cb(DBusConnection *connection, void *obj_dsc)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:483,1
    - Dst: dbus_connection_register_object_path
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:486,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:488,1
    - Dst: dbus_error_init
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:493,1
    - Dst: dbus_bus_request_name
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:494,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:501,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:505,1
    - Dst: dbus_error_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:510,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:515,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 4
    argNames:
    - iface
    - dbus_path
    - dbus_service
    - obj_desc
    argTypes:
    - struct wpas_dbus_priv*
    - char*
    - char*
    - struct wpa_dbus_object_desc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 518
    functionName: wpa_dbus_ctrl_iface_init
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c
    functionUses: 1
    functionsReached:
    - dbus_error_free
    - wpa_printf
    - dbus_connection_register_object_path
    - dbus_bus_request_name
    - os_strdup
    - dbus_error_init
    linkageType: ''
    returnType: int
    signature: "int wpa_dbus_ctrl_iface_init(struct wpas_dbus_priv *iface,\n\t\t\t
      \    char *dbus_path, char *dbus_service,\n\t\t\t     struct wpa_dbus_object_desc
      *obj_desc)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:548,1
    - Dst: dbus_error_init
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:550,1
    - Dst: dbus_connection_try_register_object_path
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:552,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:554,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:555,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:557,1
    - Dst: dbus_error_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:561,1
    - Dst: dbus_error_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:565,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - ctrl_iface
    - path
    - ifname
    - obj_desc
    argTypes:
    - struct wpas_dbus_priv*
    - char*
    - char*
    - struct wpa_dbus_object_desc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 567
    functionName: wpa_dbus_register_object_per_iface
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c
    functionUses: 7
    functionsReached:
    - os_strdup
    - dbus_error_free
    - wpa_printf
    - dbus_connection_try_register_object_path
    - os_strcmp
    - dbus_error_init
    linkageType: ''
    returnType: int
    signature: "int wpa_dbus_register_object_per_iface(struct wpas_dbus_priv *ctrl_iface,\n\t\t\t\t
      \      const char *path, const char *ifname,\n\t\t\t\t       struct wpa_dbus_object_desc
      *obj_desc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dbus_connection_get_object_path_data
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:587,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:589,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:595,1
    - Dst: dbus_connection_unregister_object_path
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:597,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ctrl_iface
    - path
    argTypes:
    - struct wpas_dbus_priv*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 601
    functionName: wpa_dbus_unregister_object_per_iface
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c
    functionUses: 7
    functionsReached:
    - eloop_cancel_timeout
    - dbus_connection_get_object_path_data
    - wpa_printf
    - dbus_connection_unregister_object_path
    linkageType: ''
    returnType: int
    signature: "int wpa_dbus_unregister_object_per_iface(\n\tstruct wpas_dbus_priv
      *ctrl_iface, const char *path)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:618,1
    - Dst: dbus_message_iter_open_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:623,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:626,1
    - Dst: dbus_error_init
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:631,1
    - Dst: struct wpa_dbus_property_desc*::getter
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:632,1
    - Dst: dbus_error_is_set
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:634,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:635,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:640,1
    - Dst: dbus_error_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:644,1
    - Dst: dbus_message_iter_close_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:648,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 4
    argNames:
    - obj_dsc
    - interface
    - dict_iter
    - clear_changed
    argTypes:
    - struct wpa_dbus_object_desc*
    - char*
    - DBusMessageIter*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 653
    functionName: put_changed_properties
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c
    functionUses: 0
    functionsReached:
    - dbus_error_free
    - wpa_printf
    - dbus_message_iter_append_basic
    - struct wpa_dbus_property_desc*::getter
    - dbus_error_is_set
    - dbus_message_iter_open_container
    - dbus_message_iter_close_container
    - os_strcmp
    - dbus_error_init
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t put_changed_properties(\n\tconst struct wpa_dbus_object_desc
      *obj_dsc, const char *interface,\n\tDBusMessageIter *dict_iter, int clear_changed)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_new_signal
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:663,1
    - Dst: dbus_message_iter_init_append
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:668,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:670,1
    - Dst: dbus_message_iter_open_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:673,1
    - Dst: put_changed_properties
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:676,1
    - Dst: dbus_message_iter_close_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:677,1
    - Dst: dbus_message_iter_close_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:680,1
    - Dst: dbus_message_iter_open_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:682,1
    - Dst: dbus_message_iter_close_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:684,1
    - Dst: dbus_connection_send
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:687,1
    - Dst: dbus_message_unref
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:690,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:693,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 4
    argNames:
    - con
    - path
    - interface
    - obj_dsc
    argTypes:
    - DBusConnection*
    - char*
    - char*
    - struct wpa_dbus_object_desc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 656
    functionDepth: 1
    functionLinenumber: 656
    functionLinenumberEnd: 695
    functionName: do_send_prop_changed_signal
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - put_changed_properties
    - dbus_message_new_signal
    - dbus_connection_send
    - dbus_message_iter_append_basic
    - dbus_message_iter_init_append
    - dbus_message_unref
    - dbus_message_iter_open_container
    - dbus_message_iter_close_container
    linkageType: ''
    returnType: void
    signature: "void do_send_prop_changed_signal(\n\tDBusConnection *con, const char
      *path, const char *interface,\n\tconst struct wpa_dbus_object_desc *obj_dsc)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_new_signal
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:705,1
    - Dst: dbus_message_iter_init_append
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:709,1
    - Dst: dbus_message_iter_open_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:711,1
    - Dst: put_changed_properties
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:714,1
    - Dst: dbus_message_iter_close_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:715,1
    - Dst: dbus_message_iter_close_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:718,1
    - Dst: dbus_connection_send
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:721,1
    - Dst: dbus_message_unref
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:724,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:727,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 4
    argNames:
    - con
    - path
    - interface
    - obj_dsc
    argTypes:
    - DBusConnection*
    - char*
    - char*
    - struct wpa_dbus_object_desc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 698
    functionDepth: 1
    functionLinenumber: 698
    functionLinenumberEnd: 729
    functionName: do_send_deprecated_prop_changed_signal
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - put_changed_properties
    - dbus_message_new_signal
    - dbus_connection_send
    - dbus_message_iter_init_append
    - dbus_message_unref
    - dbus_message_iter_open_container
    - dbus_message_iter_close_container
    linkageType: ''
    returnType: void
    signature: "void do_send_deprecated_prop_changed_signal(\n\tDBusConnection *con,
      const char *path, const char *interface,\n\tconst struct wpa_dbus_object_desc
      *obj_dsc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_send_prop_changed_signal
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:742,1
    - Dst: do_send_deprecated_prop_changed_signal
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:749,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - con
    - path
    - interface
    - obj_dsc
    argTypes:
    - DBusConnection*
    - char*
    - char*
    - struct wpa_dbus_object_desc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 732
    functionDepth: 2
    functionLinenumber: 732
    functionLinenumberEnd: 752
    functionName: send_prop_changed_signal
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c
    functionUses: 1
    functionsReached:
    - do_send_prop_changed_signal
    - do_send_deprecated_prop_changed_signal
    linkageType: ''
    returnType: void
    signature: "void send_prop_changed_signal(\n\tDBusConnection *con, const char
      *path, const char *interface,\n\tconst struct wpa_dbus_object_desc *obj_dsc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:760,1
    - Dst: wpa_dbus_flush_object_changed_properties
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:763,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 755
    functionDepth: 1
    functionLinenumber: 755
    functionLinenumberEnd: 764
    functionName: flush_object_timeout_handler
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_dbus_flush_object_changed_properties
    linkageType: ''
    returnType: void
    signature: void flush_object_timeout_handler(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbus_flush_object_changed_properties
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:774,1
    - Dst: dbus_connection_list_registered
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:776,1
    - Dst: os_snprintf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:780,1
    - Dst: recursive_flush_changed_properties
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:782,1
    - Dst: dbus_free_string_array
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:786,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - con
    - path
    argTypes:
    - DBusConnection*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 767
    functionDepth: 1
    functionLinenumber: 767
    functionLinenumberEnd: 787
    functionName: recursive_flush_changed_properties
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c
    functionUses: 1
    functionsReached:
    - recursive_flush_changed_properties
    - dbus_free_string_array
    - dbus_connection_list_registered
    - os_snprintf
    - wpa_dbus_flush_object_changed_properties
    linkageType: ''
    returnType: void
    signature: "void recursive_flush_changed_properties(DBusConnection *con,\n\t\t\t\t\t
      \      const char *path)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: recursive_flush_changed_properties
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:799,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - con
    argTypes:
    - DBusConnection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 797
    functionDepth: 2
    functionLinenumber: 797
    functionLinenumberEnd: 800
    functionName: wpa_dbus_flush_all_changed_properties
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c
    functionUses: 1
    functionsReached:
    - recursive_flush_changed_properties
    linkageType: ''
    returnType: void
    signature: void wpa_dbus_flush_all_changed_properties(DBusConnection *con)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dbus_connection_get_object_path_data
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:827,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:830,1
    - Dst: send_prop_changed_signal
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:837,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - con
    - path
    argTypes:
    - DBusConnection*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 820
    functionDepth: 3
    functionLinenumber: 820
    functionLinenumberEnd: 840
    functionName: wpa_dbus_flush_object_changed_properties
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c
    functionUses: 3
    functionsReached:
    - eloop_cancel_timeout
    - dbus_connection_get_object_path_data
    - send_prop_changed_signal
    linkageType: ''
    returnType: void
    signature: "void wpa_dbus_flush_object_changed_properties(DBusConnection *con,\n\t\t\t\t\t
      \     const char *path)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dbus_connection_get_object_path_data
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:870,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:873,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:880,1
    - Dst: os_strcmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:881,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:888,1
    - Dst: eloop_is_timeout_registered
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:894,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:896,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 4
    argNames:
    - iface
    - path
    - interface
    - property
    argTypes:
    - struct wpas_dbus_priv*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 900
    functionName: wpa_dbus_mark_property_changed
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c
    functionUses: 9
    functionsReached:
    - wpa_printf
    - eloop_is_timeout_registered
    - eloop_register_timeout
    - dbus_connection_get_object_path_data
    - os_strcmp
    linkageType: ''
    returnType: void
    signature: "void wpa_dbus_mark_property_changed(struct wpas_dbus_priv *iface,\n\t\t\t\t
      \   const char *path, const char *interface,\n\t\t\t\t    const char *property)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dbus_connection_get_object_path_data
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:924,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:927,1
    - Dst: wpa_dbus_dict_open_write
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:933,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:934,1
    - Dst: dbus_error_init
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:939,1
    - Dst: fill_dict_with_properties
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:940,1
    - Dst: wpa_printf
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:943,1
    - Dst: dbus_error_is_set
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:946,1
    - Dst: dbus_error_is_set
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:947,1
    - Dst: dbus_error_free
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:948,1
    - Dst: wpa_dbus_dict_close_write
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:949,1
    - Dst: wpa_dbus_dict_close_write
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:953,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - iface
    - path
    - interface
    - iter
    argTypes:
    - struct wpas_dbus_priv*
    - char*
    - char*
    - DBusMessageIter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 915
    functionDepth: 1
    functionLinenumber: 915
    functionLinenumberEnd: 954
    functionName: wpa_dbus_get_object_properties
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c
    functionUses: 6
    functionsReached:
    - dbus_error_free
    - wpa_printf
    - fill_dict_with_properties
    - wpa_dbus_dict_open_write
    - wpa_dbus_dict_close_write
    - dbus_error_is_set
    - dbus_connection_get_object_path_data
    - dbus_error_init
    linkageType: ''
    returnType: dbus_bool_t
    signature: "dbus_bool_t wpa_dbus_get_object_properties(struct wpas_dbus_priv *iface,\n\t\t\t\t\t
      \  const char *path,\n\t\t\t\t\t   const char *interface,\n\t\t\t\t\t   DBusMessageIter
      *iter)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:976,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:984,1
    - Dst: os_strdup
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:992,1
    - Dst: os_strchr
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:997,1
    - Dst: os_strlen
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:1004,1
    - Dst: os_strncmp
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:1005,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - path
    - sep
    - item
    argTypes:
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1011
      start: 972
    functionDepth: 0
    functionLinenumber: 972
    functionLinenumberEnd: 1011
    functionName: wpas_dbus_new_decompose_object_path
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c
    functionUses: 7
    functionsReached:
    - os_strlen
    - os_strchr
    - os_strdup
    - os_strncmp
    linkageType: ''
    returnType: char
    signature: "char * wpas_dbus_new_decompose_object_path(const char *path, const
      char *sep,\n\t\t\t\t\t   char **item)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_new_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:1032,1
    - Dst: dbus_message_new_error
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:1036,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 4
    argNames:
    - message
    - error
    - fallback_name
    - fallback_string
    argTypes:
    - DBusMessage*
    - DBusError*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1040
      start: 1026
    functionDepth: 0
    functionLinenumber: 1026
    functionLinenumberEnd: 1040
    functionName: wpas_dbus_reply_new_from_error
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c
    functionUses: 6
    functionsReached:
    - dbus_message_new_error
    linkageType: ''
    returnType: DBusMessage
    signature: "DBusMessage * wpas_dbus_reply_new_from_error(DBusMessage *message,\n\t\t\t\t\t
      \    DBusError *error,\n\t\t\t\t\t     const char *fallback_name,\n\t\t\t\t\t
      \    const char *fallback_string)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - value
    argTypes:
    - enum guard_interval
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1057
      start: 1043
    functionDepth: 0
    functionLinenumber: 1043
    functionLinenumberEnd: 1057
    functionName: guard_interval_to_double
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double guard_interval_to_double(enum guard_interval value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_iter_open_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:1076,1
    - Dst: wpa_dbus_dict_open_write
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:1078,1
    - Dst: wpa_dbus_dict_append_int32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:1079,1
    - Dst: wpa_dbus_dict_append_uint32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:1081,1
    - Dst: wpa_dbus_dict_append_int32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:1083,1
    - Dst: wpa_dbus_dict_append_uint32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:1085,1
    - Dst: wpa_dbus_dict_append_string
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:1088,1
    - Dst: channel_width_to_string
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:1090,1
    - Dst: wpa_dbus_dict_append_int32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:1092,1
    - Dst: wpa_dbus_dict_append_int32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:1094,1
    - Dst: wpa_dbus_dict_append_int32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:1097,1
    - Dst: wpa_dbus_dict_append_uint64
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:1100,1
    - Dst: wpa_dbus_dict_append_uint64
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:1103,1
    - Dst: wpa_dbus_dict_append_uint32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:1106,1
    - Dst: wpa_dbus_dict_append_uint32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:1109,1
    - Dst: wpa_dbus_dict_append_uint64
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:1112,1
    - Dst: wpa_dbus_dict_append_uint32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:1115,1
    - Dst: wpa_dbus_dict_append_uint32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:1118,1
    - Dst: wpa_dbus_dict_append_uint32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:1121,1
    - Dst: wpa_dbus_dict_append_uint32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:1124,1
    - Dst: wpa_dbus_dict_append_uint32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:1127,1
    - Dst: wpa_dbus_dict_append_int32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:1130,1
    - Dst: wpa_dbus_dict_append_uint32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:1133,1
    - Dst: wpa_dbus_dict_append_uint32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:1136,1
    - Dst: wpa_dbus_dict_append_uint32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:1139,1
    - Dst: wpa_dbus_dict_append_uint32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:1142,1
    - Dst: wpa_dbus_dict_append_uint32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:1145,1
    - Dst: wpa_dbus_dict_append_uint32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:1148,1
    - Dst: wpa_dbus_dict_append_uint32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:1151,1
    - Dst: wpa_dbus_dict_append_uint32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:1154,1
    - Dst: wpa_dbus_dict_append_uint32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:1157,1
    - Dst: wpa_dbus_dict_append_uint32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:1160,1
    - Dst: wpa_dbus_dict_append_uint32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:1163,1
    - Dst: wpa_dbus_dict_append_uint32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:1166,1
    - Dst: wpa_dbus_dict_append_uint32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:1169,1
    - Dst: wpa_dbus_dict_append_uint32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:1172,1
    - Dst: wpa_dbus_dict_append_uint32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:1175,1
    - Dst: wpa_dbus_dict_append_int32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:1178,1
    - Dst: wpa_dbus_dict_append_int32
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:1181,1
    - Dst: wpa_dbus_dict_append_double
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:1184,1
    - Dst: guard_interval_to_double
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:1186,1
    - Dst: wpa_dbus_dict_append_double
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:1188,1
    - Dst: guard_interval_to_double
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:1190,1
    - Dst: wpa_dbus_dict_append_bool
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:1192,1
    - Dst: wpa_dbus_dict_append_bool
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:1195,1
    - Dst: wpa_dbus_dict_close_write
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:1197,1
    - Dst: dbus_message_iter_close_container
      Src: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:1198,1
    CyclomaticComplexity: 80
    EdgeCount: 80
    ICount: 4
    argCount: 2
    argNames:
    - iter
    - si
    argTypes:
    - DBusMessageIter*
    - struct wpa_signal_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1071
    functionDepth: 3
    functionLinenumber: 1071
    functionLinenumberEnd: 1202
    functionName: wpas_dbus_new_from_signal_information
    functionSourceFile: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c
    functionUses: 15
    functionsReached:
    - wpa_dbus_dict_append_double
    - wpa_dbus_dict_append_bool
    - wpa_dbus_dict_append_uint64
    - wpa_dbus_dict_append_uint32
    - wpa_dbus_dict_open_write
    - channel_width_to_string
    - wpa_dbus_dict_close_write
    - wpa_dbus_dict_append_string
    - dbus_message_iter_open_container
    - wpa_dbus_dict_append_int32
    - guard_interval_to_double
    - dbus_message_iter_close_container
    linkageType: ''
    returnType: int
    signature: "int wpas_dbus_new_from_signal_information(DBusMessageIter *iter,\n\t\t\t\t\t
      \ struct wpa_signal_info *si)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/tests/test-list.c:21,1
    - Dst: printf
      Src: /src/hostap/tests/test-list.c:23,1
    - Dst: printf
      Src: /src/hostap/tests/test-list.c:24,1
    - Dst: dl_list_len
      Src: /src/hostap/tests/test-list.c:24,1
    - Dst: dl_list_empty
      Src: /src/hostap/tests/test-list.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - head
    argTypes:
    - struct dl_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 26
    functionName: dump_list
    functionSourceFile: /src/hostap/tests/test-list.c
    functionUses: 0
    functionsReached:
    - dl_list_len
    - dl_list_empty
    - printf
    linkageType: ''
    returnType: void
    signature: void dump_list(struct dl_list *head)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_init
      Src: /src/hostap/tests/test-list.c:34,1
    - Dst: dump_list
      Src: /src/hostap/tests/test-list.c:35,1
    - Dst: os_zalloc
      Src: /src/hostap/tests/test-list.c:38,1
    - Dst: dl_list_add
      Src: /src/hostap/tests/test-list.c:42,1
    - Dst: dump_list
      Src: /src/hostap/tests/test-list.c:43,1
    - Dst: os_zalloc
      Src: /src/hostap/tests/test-list.c:47,1
    - Dst: dl_list_add_tail
      Src: /src/hostap/tests/test-list.c:51,1
    - Dst: dump_list
      Src: /src/hostap/tests/test-list.c:52,1
    - Dst: dl_list_for_each
      Src: /src/hostap/tests/test-list.c:56,1
    - Dst: printf
      Src: /src/hostap/tests/test-list.c:59,1
    - Dst: dl_list_del
      Src: /src/hostap/tests/test-list.c:60,1
    - Dst: dl_list_add
      Src: /src/hostap/tests/test-list.c:61,1
    - Dst: dump_list
      Src: /src/hostap/tests/test-list.c:62,1
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/tests/test-list.c:64,1
    - Dst: printf
      Src: /src/hostap/tests/test-list.c:65,1
    - Dst: dl_list_del
      Src: /src/hostap/tests/test-list.c:66,1
    - Dst: os_free
      Src: /src/hostap/tests/test-list.c:67,1
    - Dst: dump_list
      Src: /src/hostap/tests/test-list.c:68,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 72
    functionName: main
    functionSourceFile: /src/hostap/tests/test-list.c
    functionUses: 1
    functionsReached:
    - dump_list
    - dl_list_del
    - dl_list_add_tail
    - printf
    - dl_list_for_each
    - os_zalloc
    - dl_list_add
    - dl_list_init
    - os_free
    - dl_list_for_each_safe
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/tests/test-https.c:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - ev
    - data
    argTypes:
    - void*
    - enum tls_event
    - union tls_event_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 20
    functionName: https_tls_event_cb
    functionSourceFile: /src/hostap/tests/test-https.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: "void https_tls_event_cb(void *ctx, enum tls_event ev,\n\t\t\t       union
      tls_event_data *data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/tests/test-https.c:30,1
    - Dst: FD_ZERO
      Src: /src/hostap/tests/test-https.c:34,1
    - Dst: FD_SET
      Src: /src/hostap/tests/test-https.c:35,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/test-https.c:39,1
    - Dst: select
      Src: /src/hostap/tests/test-https.c:40,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/test-https.c:42,1
    - Dst: strerror
      Src: /src/hostap/tests/test-https.c:42,1
    - Dst: wpabuf_free
      Src: /src/hostap/tests/test-https.c:43,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/test-https.c:48,1
    - Dst: wpabuf_free
      Src: /src/hostap/tests/test-https.c:49,1
    - Dst: recv
      Src: /src/hostap/tests/test-https.c:53,1
    - Dst: wpabuf_put
      Src: /src/hostap/tests/test-https.c:53,1
    - Dst: wpabuf_tailroom
      Src: /src/hostap/tests/test-https.c:53,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/test-https.c:55,1
    - Dst: strerror
      Src: /src/hostap/tests/test-https.c:55,1
    - Dst: wpabuf_free
      Src: /src/hostap/tests/test-https.c:56,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/test-https.c:60,1
    - Dst: wpabuf_free
      Src: /src/hostap/tests/test-https.c:61,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/test-https.c:64,1
    - Dst: wpabuf_put
      Src: /src/hostap/tests/test-https.c:65,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 1
    argNames:
    - s
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 68
    functionName: https_recv
    functionSourceFile: /src/hostap/tests/test-https.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - select
    - wpabuf_put
    - FD_ZERO
    - strerror
    - wpabuf_free
    - recv
    - wpabuf_tailroom
    - wpabuf_alloc
    - FD_SET
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * https_recv(int s)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/tests/test-https.c:80,1
    - Dst: tls_init
      Src: /src/hostap/tests/test-https.c:82,1
    - Dst: tls_connection_init
      Src: /src/hostap/tests/test-https.c:86,1
    - Dst: tls_deinit
      Src: /src/hostap/tests/test-https.c:88,1
    - Dst: tls_connection_handshake2
      Src: /src/hostap/tests/test-https.c:96,1
    - Dst: wpabuf_free
      Src: /src/hostap/tests/test-https.c:98,1
    - Dst: tls_connection_get_failed
      Src: /src/hostap/tests/test-https.c:105,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/test-https.c:106,1
    - Dst: tls_connection_established
      Src: /src/hostap/tests/test-https.c:109,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/test-https.c:111,1
    - Dst: wpabuf_len
      Src: /src/hostap/tests/test-https.c:112,1
    - Dst: send
      Src: /src/hostap/tests/test-https.c:113,1
    - Dst: wpabuf_head
      Src: /src/hostap/tests/test-https.c:113,1
    - Dst: wpabuf_len
      Src: /src/hostap/tests/test-https.c:113,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/test-https.c:114,1
    - Dst: strerror
      Src: /src/hostap/tests/test-https.c:114,1
    - Dst: wpabuf_free
      Src: /src/hostap/tests/test-https.c:117,1
    - Dst: https_recv
      Src: /src/hostap/tests/test-https.c:121,1
    - Dst: wpabuf_free
      Src: /src/hostap/tests/test-https.c:125,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/test-https.c:128,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/tests/test-https.c:130,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/tests/test-https.c:132,1
    - Dst: os_strlen
      Src: /src/hostap/tests/test-https.c:132,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/tests/test-https.c:135,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/tests/test-https.c:136,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/tests/test-https.c:137,1
    - Dst: tls_connection_encrypt
      Src: /src/hostap/tests/test-https.c:138,1
    - Dst: wpabuf_free
      Src: /src/hostap/tests/test-https.c:139,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/test-https.c:144,1
    - Dst: wpabuf_len
      Src: /src/hostap/tests/test-https.c:145,1
    - Dst: send
      Src: /src/hostap/tests/test-https.c:146,1
    - Dst: wpabuf_head
      Src: /src/hostap/tests/test-https.c:146,1
    - Dst: wpabuf_len
      Src: /src/hostap/tests/test-https.c:146,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/test-https.c:147,1
    - Dst: strerror
      Src: /src/hostap/tests/test-https.c:147,1
    - Dst: wpabuf_free
      Src: /src/hostap/tests/test-https.c:150,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/test-https.c:153,1
    - Dst: https_recv
      Src: /src/hostap/tests/test-https.c:156,1
    - Dst: tls_connection_decrypt2
      Src: /src/hostap/tests/test-https.c:159,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/test-https.c:161,1
    - Dst: wpabuf_free
      Src: /src/hostap/tests/test-https.c:162,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/tests/test-https.c:166,1
    - Dst: wpabuf_head
      Src: /src/hostap/tests/test-https.c:166,1
    - Dst: wpabuf_len
      Src: /src/hostap/tests/test-https.c:167,1
    - Dst: wpabuf_free
      Src: /src/hostap/tests/test-https.c:168,1
    - Dst: wpabuf_free
      Src: /src/hostap/tests/test-https.c:174,1
    - Dst: wpabuf_free
      Src: /src/hostap/tests/test-https.c:175,1
    - Dst: wpabuf_free
      Src: /src/hostap/tests/test-https.c:176,1
    - Dst: tls_connection_deinit
      Src: /src/hostap/tests/test-https.c:177,1
    - Dst: tls_deinit
      Src: /src/hostap/tests/test-https.c:178,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 99
    argCount: 2
    argNames:
    - s
    - path
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 181
    functionName: https_client
    functionSourceFile: /src/hostap/tests/test-https.c
    functionUses: 0
    functionsReached:
    - send
    - wpabuf_put_str
    - tls_connection_encrypt
    - tls_connection_get_failed
    - tls_connection_deinit
    - wpabuf_alloc
    - tls_connection_established
    - https_recv
    - wpa_hexdump_ascii
    - os_strlen
    - wpa_printf
    - tls_connection_handshake2
    - tls_deinit
    - wpa_hexdump_buf
    - wpabuf_len
    - tls_connection_decrypt2
    - wpabuf_head
    - tls_init
    - os_memset
    - tls_connection_init
    - strerror
    - wpabuf_free
    linkageType: ''
    returnType: int
    signature: int https_client(int s, const char *path)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/tests/test-https.c:193,1
    - Dst: os_memset
      Src: /src/hostap/tests/test-https.c:197,1
    - Dst: getaddrinfo
      Src: /src/hostap/tests/test-https.c:200,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/test-https.c:202,1
    - Dst: gai_strerror
      Src: /src/hostap/tests/test-https.c:202,1
    - Dst: socket
      Src: /src/hostap/tests/test-https.c:207,1
    - Dst: connect
      Src: /src/hostap/tests/test-https.c:210,1
    - Dst: close
      Src: /src/hostap/tests/test-https.c:212,1
    - Dst: freeaddrinfo
      Src: /src/hostap/tests/test-https.c:214,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/test-https.c:217,1
    - Dst: https_client
      Src: /src/hostap/tests/test-https.c:221,1
    - Dst: close
      Src: /src/hostap/tests/test-https.c:222,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 225
    functionName: main
    functionSourceFile: /src/hostap/tests/test-https.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - connect
    - gai_strerror
    - socket
    - getaddrinfo
    - close
    - https_client
    - freeaddrinfo
    - os_memset
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/tests/test-rsa-sig-ver.c:29,1
    - Dst: fopen
      Src: /src/hostap/tests/test-rsa-sig-ver.c:31,1
    - Dst: printf
      Src: /src/hostap/tests/test-rsa-sig-ver.c:33,1
    - Dst: fgets
      Src: /src/hostap/tests/test-rsa-sig-ver.c:38,1
    - Dst: os_strchr
      Src: /src/hostap/tests/test-rsa-sig-ver.c:39,1
    - Dst: os_strchr
      Src: /src/hostap/tests/test-rsa-sig-ver.c:48,1
    - Dst: os_strchr
      Src: /src/hostap/tests/test-rsa-sig-ver.c:50,1
    - Dst: os_strlen
      Src: /src/hostap/tests/test-rsa-sig-ver.c:54,1
    - Dst: os_strcmp
      Src: /src/hostap/tests/test-rsa-sig-ver.c:56,1
    - Dst: os_strlcpy
      Src: /src/hostap/tests/test-rsa-sig-ver.c:57,1
    - Dst: os_strcmp
      Src: /src/hostap/tests/test-rsa-sig-ver.c:58,1
    - Dst: os_strlen
      Src: /src/hostap/tests/test-rsa-sig-ver.c:59,1
    - Dst: printf
      Src: /src/hostap/tests/test-rsa-sig-ver.c:61,1
    - Dst: fclose
      Src: /src/hostap/tests/test-rsa-sig-ver.c:62,1
    - Dst: hexstr2bin
      Src: /src/hostap/tests/test-rsa-sig-ver.c:66,1
    - Dst: printf
      Src: /src/hostap/tests/test-rsa-sig-ver.c:67,1
    - Dst: os_strcmp
      Src: /src/hostap/tests/test-rsa-sig-ver.c:71,1
    - Dst: os_strlen
      Src: /src/hostap/tests/test-rsa-sig-ver.c:72,1
    - Dst: printf
      Src: /src/hostap/tests/test-rsa-sig-ver.c:74,1
    - Dst: fclose
      Src: /src/hostap/tests/test-rsa-sig-ver.c:75,1
    - Dst: hexstr2bin
      Src: /src/hostap/tests/test-rsa-sig-ver.c:79,1
    - Dst: printf
      Src: /src/hostap/tests/test-rsa-sig-ver.c:80,1
    - Dst: os_strcmp
      Src: /src/hostap/tests/test-rsa-sig-ver.c:84,1
    - Dst: os_strlen
      Src: /src/hostap/tests/test-rsa-sig-ver.c:85,1
    - Dst: printf
      Src: /src/hostap/tests/test-rsa-sig-ver.c:87,1
    - Dst: fclose
      Src: /src/hostap/tests/test-rsa-sig-ver.c:88,1
    - Dst: hexstr2bin
      Src: /src/hostap/tests/test-rsa-sig-ver.c:92,1
    - Dst: printf
      Src: /src/hostap/tests/test-rsa-sig-ver.c:93,1
    - Dst: os_strcmp
      Src: /src/hostap/tests/test-rsa-sig-ver.c:97,1
    - Dst: os_strlen
      Src: /src/hostap/tests/test-rsa-sig-ver.c:98,1
    - Dst: printf
      Src: /src/hostap/tests/test-rsa-sig-ver.c:100,1
    - Dst: fclose
      Src: /src/hostap/tests/test-rsa-sig-ver.c:101,1
    - Dst: hexstr2bin
      Src: /src/hostap/tests/test-rsa-sig-ver.c:105,1
    - Dst: printf
      Src: /src/hostap/tests/test-rsa-sig-ver.c:106,1
    - Dst: os_strncmp
      Src: /src/hostap/tests/test-rsa-sig-ver.c:110,1
    - Dst: os_strlen
      Src: /src/hostap/tests/test-rsa-sig-ver.c:111,1
    - Dst: fclose
      Src: /src/hostap/tests/test-rsa-sig-ver.c:113,1
    - Dst: hexstr2bin
      Src: /src/hostap/tests/test-rsa-sig-ver.c:117,1
    - Dst: printf
      Src: /src/hostap/tests/test-rsa-sig-ver.c:118,1
    - Dst: os_strcmp
      Src: /src/hostap/tests/test-rsa-sig-ver.c:122,1
    - Dst: os_strcmp
      Src: /src/hostap/tests/test-rsa-sig-ver.c:133,1
    - Dst: sha1_vector
      Src: /src/hostap/tests/test-rsa-sig-ver.c:134,1
    - Dst: fclose
      Src: /src/hostap/tests/test-rsa-sig-ver.c:135,1
    - Dst: os_strcmp
      Src: /src/hostap/tests/test-rsa-sig-ver.c:140,1
    - Dst: sha256_vector
      Src: /src/hostap/tests/test-rsa-sig-ver.c:141,1
    - Dst: fclose
      Src: /src/hostap/tests/test-rsa-sig-ver.c:142,1
    - Dst: printf
      Src: /src/hostap/tests/test-rsa-sig-ver.c:151,1
    - Dst: wpa_hexdump
      Src: /src/hostap/tests/test-rsa-sig-ver.c:152,1
    - Dst: crypto_public_key_import_parts
      Src: /src/hostap/tests/test-rsa-sig-ver.c:154,1
    - Dst: printf
      Src: /src/hostap/tests/test-rsa-sig-ver.c:157,1
    - Dst: pkcs1_v15_sig_ver
      Src: /src/hostap/tests/test-rsa-sig-ver.c:162,1
    - Dst: crypto_public_key_free
      Src: /src/hostap/tests/test-rsa-sig-ver.c:164,1
    - Dst: printf
      Src: /src/hostap/tests/test-rsa-sig-ver.c:166,1
    - Dst: printf
      Src: /src/hostap/tests/test-rsa-sig-ver.c:171,1
    - Dst: fclose
      Src: /src/hostap/tests/test-rsa-sig-ver.c:176,1
    - Dst: printf
      Src: /src/hostap/tests/test-rsa-sig-ver.c:179,1
    - Dst: printf
      Src: /src/hostap/tests/test-rsa-sig-ver.c:181,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 140
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 184
    functionName: cavp_rsa_sig_ver
    functionSourceFile: /src/hostap/tests/test-rsa-sig-ver.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - sha256_vector
    - wpa_hexdump
    - hexstr2bin
    - crypto_public_key_import_parts
    - sha1_vector
    - os_strlcpy
    - os_strncmp
    - printf
    - fclose
    - crypto_public_key_free
    - pkcs1_v15_sig_ver
    - os_strchr
    - fopen
    - os_strcmp
    - fgets
    linkageType: ''
    returnType: int
    signature: int cavp_rsa_sig_ver(const char *fname)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cavp_rsa_sig_ver
      Src: /src/hostap/tests/test-rsa-sig-ver.c:196,1
    - Dst: cavp_rsa_sig_ver
      Src: /src/hostap/tests/test-rsa-sig-ver.c:200,1
    - Dst: cavp_rsa_sig_ver
      Src: /src/hostap/tests/test-rsa-sig-ver.c:202,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 206
    functionName: main
    functionSourceFile: /src/hostap/tests/test-rsa-sig-ver.c
    functionUses: 1
    functionsReached:
    - cavp_rsa_sig_ver
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: aes_128_encrypt_block
      Src: /src/hostap/tests/test-milenage.c:18,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - op
    - k
    - opc
    argTypes:
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 23
    functionName: milenage_opc
    functionSourceFile: /src/hostap/tests/test-milenage.c
    functionUses: 0
    functionsReached:
    - aes_128_encrypt_block
    linkageType: ''
    returnType: int
    signature: int milenage_opc(const u8 *op, const u8 *k, u8 *opc)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/tests/test-milenage.c:706,1
    - Dst: printf
      Src: /src/hostap/tests/test-milenage.c:709,1
    - Dst: milenage_opc
      Src: /src/hostap/tests/test-milenage.c:711,1
    - Dst: memcmp
      Src: /src/hostap/tests/test-milenage.c:712,1
    - Dst: printf
      Src: /src/hostap/tests/test-milenage.c:713,1
    - Dst: milenage_f1
      Src: /src/hostap/tests/test-milenage.c:717,1
    - Dst: memcmp
      Src: /src/hostap/tests/test-milenage.c:718,1
    - Dst: printf
      Src: /src/hostap/tests/test-milenage.c:719,1
    - Dst: memcmp
      Src: /src/hostap/tests/test-milenage.c:722,1
    - Dst: printf
      Src: /src/hostap/tests/test-milenage.c:723,1
    - Dst: milenage_f2345
      Src: /src/hostap/tests/test-milenage.c:727,1
    - Dst: memcmp
      Src: /src/hostap/tests/test-milenage.c:729,1
    - Dst: printf
      Src: /src/hostap/tests/test-milenage.c:730,1
    - Dst: memcmp
      Src: /src/hostap/tests/test-milenage.c:733,1
    - Dst: printf
      Src: /src/hostap/tests/test-milenage.c:734,1
    - Dst: memcmp
      Src: /src/hostap/tests/test-milenage.c:737,1
    - Dst: printf
      Src: /src/hostap/tests/test-milenage.c:738,1
    - Dst: memcmp
      Src: /src/hostap/tests/test-milenage.c:741,1
    - Dst: printf
      Src: /src/hostap/tests/test-milenage.c:742,1
    - Dst: memcmp
      Src: /src/hostap/tests/test-milenage.c:745,1
    - Dst: printf
      Src: /src/hostap/tests/test-milenage.c:746,1
    - Dst: printf
      Src: /src/hostap/tests/test-milenage.c:751,1
    - Dst: os_memcpy
      Src: /src/hostap/tests/test-milenage.c:752,1
    - Dst: os_memcpy
      Src: /src/hostap/tests/test-milenage.c:753,1
    - Dst: milenage_auts
      Src: /src/hostap/tests/test-milenage.c:754,1
    - Dst: printf
      Src: /src/hostap/tests/test-milenage.c:755,1
    - Dst: os_memset
      Src: /src/hostap/tests/test-milenage.c:760,1
    - Dst: os_memcpy
      Src: /src/hostap/tests/test-milenage.c:761,1
    - Dst: milenage_auts
      Src: /src/hostap/tests/test-milenage.c:764,1
    - Dst: printf
      Src: /src/hostap/tests/test-milenage.c:765,1
    - Dst: printf
      Src: /src/hostap/tests/test-milenage.c:770,1
    - Dst: os_memcpy
      Src: /src/hostap/tests/test-milenage.c:771,1
    - Dst: os_memcpy
      Src: /src/hostap/tests/test-milenage.c:772,1
    - Dst: milenage_generate
      Src: /src/hostap/tests/test-milenage.c:775,1
    - Dst: wpa_hexdump
      Src: /src/hostap/tests/test-milenage.c:777,1
    - Dst: wpa_hexdump
      Src: /src/hostap/tests/test-milenage.c:778,1
    - Dst: wpa_hexdump
      Src: /src/hostap/tests/test-milenage.c:779,1
    - Dst: wpa_hexdump
      Src: /src/hostap/tests/test-milenage.c:780,1
    - Dst: wpa_hexdump
      Src: /src/hostap/tests/test-milenage.c:781,1
    - Dst: wpa_hexdump
      Src: /src/hostap/tests/test-milenage.c:782,1
    - Dst: printf
      Src: /src/hostap/tests/test-milenage.c:784,1
    - Dst: printf
      Src: /src/hostap/tests/test-milenage.c:789,1
    - Dst: gsm_milenage
      Src: /src/hostap/tests/test-milenage.c:790,1
    - Dst: memcmp
      Src: /src/hostap/tests/test-milenage.c:791,1
    - Dst: printf
      Src: /src/hostap/tests/test-milenage.c:792,1
    - Dst: memcmp
      Src: /src/hostap/tests/test-milenage.c:796,1
    - Dst: printf
      Src: /src/hostap/tests/test-milenage.c:797,1
    - Dst: memcmp
      Src: /src/hostap/tests/test-milenage.c:801,1
    - Dst: printf
      Src: /src/hostap/tests/test-milenage.c:802,1
    - Dst: printf
      Src: /src/hostap/tests/test-milenage.c:809,1
    - Dst: printf
      Src: /src/hostap/tests/test-milenage.c:811,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 86
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 696
    functionDepth: 2
    functionLinenumber: 696
    functionLinenumberEnd: 814
    functionName: main
    functionSourceFile: /src/hostap/tests/test-milenage.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    - wpa_hexdump
    - os_memset
    - printf
    - milenage_opc
    - gsm_milenage
    - milenage_auts
    - memcmp
    - milenage_generate
    - milenage_f2345
    - milenage_f1
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/tests/test-base64.c:20,1
    - Dst: os_readfile
      Src: /src/hostap/tests/test-base64.c:24,1
    - Dst: strcmp
      Src: /src/hostap/tests/test-base64.c:28,1
    - Dst: base64_encode
      Src: /src/hostap/tests/test-base64.c:29,1
    - Dst: base64_decode
      Src: /src/hostap/tests/test-base64.c:31,1
    - Dst: fopen
      Src: /src/hostap/tests/test-base64.c:34,1
    - Dst: fwrite
      Src: /src/hostap/tests/test-base64.c:37,1
    - Dst: fclose
      Src: /src/hostap/tests/test-base64.c:38,1
    - Dst: free
      Src: /src/hostap/tests/test-base64.c:39,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 42
    functionName: main
    functionSourceFile: /src/hostap/tests/test-base64.c
    functionUses: 1
    functionsReached:
    - fopen
    - fwrite
    - printf
    - fclose
    - base64_decode
    - os_readfile
    - free
    - base64_encode
    - strcmp
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/tests/test-aes.c:29,1
    - Dst: rdtscll
      Src: /src/hostap/tests/test-aes.c:31,1
    - Dst: aes_encrypt_init
      Src: /src/hostap/tests/test-aes.c:32,1
    - Dst: rdtscll
      Src: /src/hostap/tests/test-aes.c:33,1
    - Dst: aes_encrypt_deinit
      Src: /src/hostap/tests/test-aes.c:34,1
    - Dst: printf
      Src: /src/hostap/tests/test-aes.c:35,1
    - Dst: printf
      Src: /src/hostap/tests/test-aes.c:37,1
    - Dst: printf
      Src: /src/hostap/tests/test-aes.c:39,1
    - Dst: aes_encrypt_init
      Src: /src/hostap/tests/test-aes.c:40,1
    - Dst: rdtscll
      Src: /src/hostap/tests/test-aes.c:42,1
    - Dst: aes_encrypt
      Src: /src/hostap/tests/test-aes.c:43,1
    - Dst: rdtscll
      Src: /src/hostap/tests/test-aes.c:44,1
    - Dst: printf
      Src: /src/hostap/tests/test-aes.c:45,1
    - Dst: aes_encrypt_deinit
      Src: /src/hostap/tests/test-aes.c:47,1
    - Dst: printf
      Src: /src/hostap/tests/test-aes.c:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 51
    functionName: test_aes_perf
    functionSourceFile: /src/hostap/tests/test-aes.c
    functionUses: 0
    functionsReached:
    - rdtscll
    - aes_encrypt_init
    - printf
    - aes_encrypt
    - aes_encrypt_deinit
    linkageType: ''
    returnType: void
    signature: void test_aes_perf(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: rdtscll
    functionSourceFile: /src/hostap/tests/test-aes.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rdtscll(val)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/hostap/tests/test-aes.c:241,1
    - Dst: os_strlen
      Src: /src/hostap/tests/test-aes.c:244,1
    - Dst: hexstr2bin
      Src: /src/hostap/tests/test-aes.c:245,1
    - Dst: printf
      Src: /src/hostap/tests/test-aes.c:246,1
    - Dst: os_strlen
      Src: /src/hostap/tests/test-aes.c:251,1
    - Dst: hexstr2bin
      Src: /src/hostap/tests/test-aes.c:252,1
    - Dst: printf
      Src: /src/hostap/tests/test-aes.c:253,1
    - Dst: os_strlen
      Src: /src/hostap/tests/test-aes.c:258,1
    - Dst: hexstr2bin
      Src: /src/hostap/tests/test-aes.c:259,1
    - Dst: printf
      Src: /src/hostap/tests/test-aes.c:260,1
    - Dst: os_strlen
      Src: /src/hostap/tests/test-aes.c:265,1
    - Dst: hexstr2bin
      Src: /src/hostap/tests/test-aes.c:266,1
    - Dst: printf
      Src: /src/hostap/tests/test-aes.c:267,1
    - Dst: hexstr2bin
      Src: /src/hostap/tests/test-aes.c:272,1
    - Dst: printf
      Src: /src/hostap/tests/test-aes.c:273,1
    - Dst: hexstr2bin
      Src: /src/hostap/tests/test-aes.c:278,1
    - Dst: printf
      Src: /src/hostap/tests/test-aes.c:279,1
    - Dst: aes_gcm_ae
      Src: /src/hostap/tests/test-aes.c:284,1
    - Dst: printf
      Src: /src/hostap/tests/test-aes.c:286,1
    - Dst: os_memcmp
      Src: /src/hostap/tests/test-aes.c:291,1
    - Dst: printf
      Src: /src/hostap/tests/test-aes.c:292,1
    - Dst: os_memcmp
      Src: /src/hostap/tests/test-aes.c:296,1
    - Dst: printf
      Src: /src/hostap/tests/test-aes.c:297,1
    - Dst: aes_gmac
      Src: /src/hostap/tests/test-aes.c:302,1
    - Dst: printf
      Src: /src/hostap/tests/test-aes.c:304,1
    - Dst: os_memcmp
      Src: /src/hostap/tests/test-aes.c:309,1
    - Dst: printf
      Src: /src/hostap/tests/test-aes.c:310,1
    - Dst: aes_gcm_ad
      Src: /src/hostap/tests/test-aes.c:315,1
    - Dst: printf
      Src: /src/hostap/tests/test-aes.c:317,1
    - Dst: os_memcmp
      Src: /src/hostap/tests/test-aes.c:322,1
    - Dst: printf
      Src: /src/hostap/tests/test-aes.c:323,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 71
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 329
    functionName: test_gcm
    functionSourceFile: /src/hostap/tests/test-aes.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - aes_gcm_ad
    - hexstr2bin
    - aes_gmac
    - printf
    - os_memcmp
    - aes_gcm_ae
    - ARRAY_SIZE
    linkageType: ''
    returnType: int
    signature: int test_gcm(void)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/tests/test-aes.c:341,1
    - Dst: fopen
      Src: /src/hostap/tests/test-aes.c:343,1
    - Dst: printf
      Src: /src/hostap/tests/test-aes.c:345,1
    - Dst: fgets
      Src: /src/hostap/tests/test-aes.c:350,1
    - Dst: os_strchr
      Src: /src/hostap/tests/test-aes.c:353,1
    - Dst: os_strchr
      Src: /src/hostap/tests/test-aes.c:362,1
    - Dst: os_strchr
      Src: /src/hostap/tests/test-aes.c:364,1
    - Dst: os_strlen
      Src: /src/hostap/tests/test-aes.c:368,1
    - Dst: printf
      Src: /src/hostap/tests/test-aes.c:371,1
    - Dst: os_strcmp
      Src: /src/hostap/tests/test-aes.c:375,1
    - Dst: printf
      Src: /src/hostap/tests/test-aes.c:376,1
    - Dst: os_strlen
      Src: /src/hostap/tests/test-aes.c:380,1
    - Dst: printf
      Src: /src/hostap/tests/test-aes.c:382,1
    - Dst: printf
      Src: /src/hostap/tests/test-aes.c:386,1
    - Dst: hexstr2bin
      Src: /src/hostap/tests/test-aes.c:391,1
    - Dst: printf
      Src: /src/hostap/tests/test-aes.c:392,1
    - Dst: os_strcmp
      Src: /src/hostap/tests/test-aes.c:396,1
    - Dst: printf
      Src: /src/hostap/tests/test-aes.c:398,1
    - Dst: os_memcpy
      Src: /src/hostap/tests/test-aes.c:401,1
    - Dst: os_strcmp
      Src: /src/hostap/tests/test-aes.c:406,1
    - Dst: printf
      Src: /src/hostap/tests/test-aes.c:408,1
    - Dst: os_memcpy
      Src: /src/hostap/tests/test-aes.c:411,1
    - Dst: os_strcmp
      Src: /src/hostap/tests/test-aes.c:416,1
    - Dst: printf
      Src: /src/hostap/tests/test-aes.c:417,1
    - Dst: printf
      Src: /src/hostap/tests/test-aes.c:422,1
    - Dst: os_memcpy
      Src: /src/hostap/tests/test-aes.c:425,1
    - Dst: printf
      Src: /src/hostap/tests/test-aes.c:429,1
    - Dst: aes_wrap
      Src: /src/hostap/tests/test-aes.c:434,1
    - Dst: printf
      Src: /src/hostap/tests/test-aes.c:435,1
    - Dst: os_memcmp
      Src: /src/hostap/tests/test-aes.c:440,1
    - Dst: printf
      Src: /src/hostap/tests/test-aes.c:441,1
    - Dst: printf
      Src: /src/hostap/tests/test-aes.c:444,1
    - Dst: fclose
      Src: /src/hostap/tests/test-aes.c:449,1
    - Dst: printf
      Src: /src/hostap/tests/test-aes.c:452,1
    - Dst: printf
      Src: /src/hostap/tests/test-aes.c:454,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 97
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 457
    functionName: test_nist_key_wrap_ae
    functionSourceFile: /src/hostap/tests/test-aes.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_memcpy
    - hexstr2bin
    - aes_wrap
    - printf
    - fclose
    - os_memcmp
    - os_strchr
    - fopen
    - os_strcmp
    - fgets
    linkageType: ''
    returnType: int
    signature: int test_nist_key_wrap_ae(const char *fname)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/tests/test-aes.c:470,1
    - Dst: fopen
      Src: /src/hostap/tests/test-aes.c:472,1
    - Dst: printf
      Src: /src/hostap/tests/test-aes.c:474,1
    - Dst: fgets
      Src: /src/hostap/tests/test-aes.c:479,1
    - Dst: os_strchr
      Src: /src/hostap/tests/test-aes.c:483,1
    - Dst: os_strncmp
      Src: /src/hostap/tests/test-aes.c:485,1
    - Dst: os_strchr
      Src: /src/hostap/tests/test-aes.c:497,1
    - Dst: os_strchr
      Src: /src/hostap/tests/test-aes.c:499,1
    - Dst: os_strlen
      Src: /src/hostap/tests/test-aes.c:503,1
    - Dst: printf
      Src: /src/hostap/tests/test-aes.c:506,1
    - Dst: os_strcmp
      Src: /src/hostap/tests/test-aes.c:510,1
    - Dst: printf
      Src: /src/hostap/tests/test-aes.c:511,1
    - Dst: os_strlen
      Src: /src/hostap/tests/test-aes.c:515,1
    - Dst: printf
      Src: /src/hostap/tests/test-aes.c:517,1
    - Dst: printf
      Src: /src/hostap/tests/test-aes.c:521,1
    - Dst: hexstr2bin
      Src: /src/hostap/tests/test-aes.c:526,1
    - Dst: printf
      Src: /src/hostap/tests/test-aes.c:527,1
    - Dst: os_strcmp
      Src: /src/hostap/tests/test-aes.c:531,1
    - Dst: printf
      Src: /src/hostap/tests/test-aes.c:533,1
    - Dst: os_memcpy
      Src: /src/hostap/tests/test-aes.c:536,1
    - Dst: os_strcmp
      Src: /src/hostap/tests/test-aes.c:541,1
    - Dst: printf
      Src: /src/hostap/tests/test-aes.c:543,1
    - Dst: os_memcpy
      Src: /src/hostap/tests/test-aes.c:546,1
    - Dst: os_strcmp
      Src: /src/hostap/tests/test-aes.c:553,1
    - Dst: printf
      Src: /src/hostap/tests/test-aes.c:554,1
    - Dst: printf
      Src: /src/hostap/tests/test-aes.c:559,1
    - Dst: os_memcpy
      Src: /src/hostap/tests/test-aes.c:562,1
    - Dst: printf
      Src: /src/hostap/tests/test-aes.c:567,1
    - Dst: aes_unwrap
      Src: /src/hostap/tests/test-aes.c:573,1
    - Dst: printf
      Src: /src/hostap/tests/test-aes.c:575,1
    - Dst: printf
      Src: /src/hostap/tests/test-aes.c:579,1
    - Dst: printf
      Src: /src/hostap/tests/test-aes.c:585,1
    - Dst: os_memcmp
      Src: /src/hostap/tests/test-aes.c:587,1
    - Dst: printf
      Src: /src/hostap/tests/test-aes.c:588,1
    - Dst: printf
      Src: /src/hostap/tests/test-aes.c:591,1
    - Dst: fclose
      Src: /src/hostap/tests/test-aes.c:596,1
    - Dst: printf
      Src: /src/hostap/tests/test-aes.c:599,1
    - Dst: printf
      Src: /src/hostap/tests/test-aes.c:601,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 117
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 604
    functionName: test_nist_key_wrap_ad
    functionSourceFile: /src/hostap/tests/test-aes.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_memcpy
    - hexstr2bin
    - aes_unwrap
    - os_strncmp
    - printf
    - fclose
    - os_memcmp
    - os_strchr
    - fopen
    - os_strcmp
    - fgets
    linkageType: ''
    returnType: int
    signature: int test_nist_key_wrap_ad(const char *fname)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/tests/test-aes.c:611,1
    - Dst: test_nist_key_wrap_ae
      Src: /src/hostap/tests/test-aes.c:612,1
    - Dst: os_strcmp
      Src: /src/hostap/tests/test-aes.c:613,1
    - Dst: test_nist_key_wrap_ad
      Src: /src/hostap/tests/test-aes.c:614,1
    - Dst: test_aes_perf
      Src: /src/hostap/tests/test-aes.c:616,1
    - Dst: test_gcm
      Src: /src/hostap/tests/test-aes.c:618,1
    - Dst: printf
      Src: /src/hostap/tests/test-aes.c:621,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 607
    functionDepth: 2
    functionLinenumber: 607
    functionLinenumberEnd: 624
    functionName: main
    functionSourceFile: /src/hostap/tests/test-aes.c
    functionUses: 1
    functionsReached:
    - test_nist_key_wrap_ad
    - printf
    - test_gcm
    - test_aes_perf
    - test_nist_key_wrap_ae
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - cmp
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 26
    functionName: ASSERT_CMP_INT
    functionSourceFile: /src/hostap/tests/test-bss.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASSERT_CMP_INT(a, cmp, b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/hostap/tests/test-bss.c:66,1
    - Dst: memcpy
      Src: /src/hostap/tests/test-bss.c:70,1
    - Dst: memcpy
      Src: /src/hostap/tests/test-bss.c:73,1
    - Dst: memcpy
      Src: /src/hostap/tests/test-bss.c:79,1
    - Dst: wpa_bss_parse_basic_ml_element
      Src: /src/hostap/tests/test-bss.c:84,1
    - Dst: wpa_bss_get_usable_links
      Src: /src/hostap/tests/test-bss.c:85,1
    - Dst: ASSERT_CMP_INT
      Src: /src/hostap/tests/test-bss.c:87,1
    - Dst: ASSERT_CMP_INT
      Src: /src/hostap/tests/test-bss.c:88,1
    - Dst: ASSERT_CMP_INT
      Src: /src/hostap/tests/test-bss.c:89,1
    - Dst: ASSERT_CMP_INT
      Src: /src/hostap/tests/test-bss.c:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 3
    argNames:
    - wpa_s
    - mld_id
    - mbssid_idx
    argTypes:
    - struct wpa_supplicant*
    - u8
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 27
    functionDepth: 4
    functionLinenumber: 27
    functionLinenumberEnd: 91
    functionName: test_parse_basic_ml
    functionSourceFile: /src/hostap/tests/test-bss.c
    functionUses: 0
    functionsReached:
    - ASSERT_CMP_INT
    - memcpy
    - wpa_bss_parse_basic_ml_element
    - wpa_bss_get_usable_links
    linkageType: ''
    returnType: void
    signature: "void test_parse_basic_ml(struct wpa_supplicant *wpa_s, u8 mld_id,\n\t\t\t
      int mbssid_idx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - func
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: RUN_TEST
    functionSourceFile: /src/hostap/tests/test-bss.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RUN_TEST(func, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_supplicant_init
      Src: /src/hostap/tests/test-bss.c:109,1
    - Dst: wpa_supplicant_add_iface
      Src: /src/hostap/tests/test-bss.c:111,1
    - Dst: assert
      Src: /src/hostap/tests/test-bss.c:112,1
    - Dst: RUN_TEST
      Src: /src/hostap/tests/test-bss.c:114,1
    - Dst: RUN_TEST
      Src: /src/hostap/tests/test-bss.c:115,1
    - Dst: RUN_TEST
      Src: /src/hostap/tests/test-bss.c:116,1
    - Dst: RUN_TEST
      Src: /src/hostap/tests/test-bss.c:117,1
    - Dst: RUN_TEST
      Src: /src/hostap/tests/test-bss.c:118,1
    - Dst: RUN_TEST
      Src: /src/hostap/tests/test-bss.c:119,1
    - Dst: RUN_TEST
      Src: /src/hostap/tests/test-bss.c:120,1
    - Dst: RUN_TEST
      Src: /src/hostap/tests/test-bss.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (wpa_s)
      pos:
        line_end: 111
        line_start: 111
        source_file: /src/hostap/tests/test-bss.c
    constantsTouched: []
    func_position:
      end: 124
      start: 98
    functionDepth: 12
    functionLinenumber: 98
    functionLinenumberEnd: 124
    functionName: main
    functionSourceFile: /src/hostap/tests/test-bss.c
    functionUses: 1
    functionsReached:
    - wpa_supplicant_init
    - RUN_TEST
    - assert
    - wpa_supplicant_add_iface
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/hostap/tests/test-x509v3.c:26,1
    - Dst: printf
      Src: /src/hostap/tests/test-x509v3.c:27,1
    - Dst: printf
      Src: /src/hostap/tests/test-x509v3.c:32,1
    - Dst: os_readfile
      Src: /src/hostap/tests/test-x509v3.c:33,1
    - Dst: printf
      Src: /src/hostap/tests/test-x509v3.c:35,1
    - Dst: x509_certificate_parse
      Src: /src/hostap/tests/test-x509v3.c:39,1
    - Dst: printf
      Src: /src/hostap/tests/test-x509v3.c:41,1
    - Dst: free
      Src: /src/hostap/tests/test-x509v3.c:45,1
    - Dst: printf
      Src: /src/hostap/tests/test-x509v3.c:54,1
    - Dst: x509_certificate_chain_validate
      Src: /src/hostap/tests/test-x509v3.c:55,1
    - Dst: printf
      Src: /src/hostap/tests/test-x509v3.c:56,1
    - Dst: printf
      Src: /src/hostap/tests/test-x509v3.c:59,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 62
    functionName: main
    functionSourceFile: /src/hostap/tests/test-x509v3.c
    functionUses: 1
    functionsReached:
    - printf
    - os_readfile
    - x509_certificate_parse
    - x509_certificate_chain_validate
    - free
    - strcmp
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/tests/test-sha256.c:25,1
    - Dst: fopen
      Src: /src/hostap/tests/test-sha256.c:27,1
    - Dst: printf
      Src: /src/hostap/tests/test-sha256.c:29,1
    - Dst: fgets
      Src: /src/hostap/tests/test-sha256.c:34,1
    - Dst: os_strchr
      Src: /src/hostap/tests/test-sha256.c:35,1
    - Dst: os_strchr
      Src: /src/hostap/tests/test-sha256.c:44,1
    - Dst: os_strchr
      Src: /src/hostap/tests/test-sha256.c:46,1
    - Dst: os_strlen
      Src: /src/hostap/tests/test-sha256.c:50,1
    - Dst: os_strcmp
      Src: /src/hostap/tests/test-sha256.c:52,1
    - Dst: atoi
      Src: /src/hostap/tests/test-sha256.c:53,1
    - Dst: os_strcmp
      Src: /src/hostap/tests/test-sha256.c:54,1
    - Dst: os_strlen
      Src: /src/hostap/tests/test-sha256.c:55,1
    - Dst: printf
      Src: /src/hostap/tests/test-sha256.c:59,1
    - Dst: hexstr2bin
      Src: /src/hostap/tests/test-sha256.c:65,1
    - Dst: printf
      Src: /src/hostap/tests/test-sha256.c:66,1
    - Dst: os_strcmp
      Src: /src/hostap/tests/test-sha256.c:70,1
    - Dst: os_strlen
      Src: /src/hostap/tests/test-sha256.c:74,1
    - Dst: printf
      Src: /src/hostap/tests/test-sha256.c:76,1
    - Dst: hexstr2bin
      Src: /src/hostap/tests/test-sha256.c:82,1
    - Dst: printf
      Src: /src/hostap/tests/test-sha256.c:83,1
    - Dst: sha256_vector
      Src: /src/hostap/tests/test-sha256.c:90,1
    - Dst: os_memcmp
      Src: /src/hostap/tests/test-sha256.c:91,1
    - Dst: fclose
      Src: /src/hostap/tests/test-sha256.c:98,1
    - Dst: printf
      Src: /src/hostap/tests/test-sha256.c:101,1
    - Dst: printf
      Src: /src/hostap/tests/test-sha256.c:103,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 65
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 106
    functionName: cavp_shavs
    functionSourceFile: /src/hostap/tests/test-sha256.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - sha256_vector
    - hexstr2bin
    - printf
    - fclose
    - os_memcmp
    - atoi
    - os_strchr
    - fopen
    - os_strcmp
    - fgets
    linkageType: ''
    returnType: int
    signature: int cavp_shavs(const char *fname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cavp_shavs
      Src: /src/hostap/tests/test-sha256.c:113,1
    - Dst: cavp_shavs
      Src: /src/hostap/tests/test-sha256.c:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 119
    functionName: main
    functionSourceFile: /src/hostap/tests/test-sha256.c
    functionUses: 1
    functionsReached:
    - cavp_shavs
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/tests/test-https_server.c:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - ev
    - data
    argTypes:
    - void*
    - enum tls_event
    - union tls_event_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 19
    functionName: https_tls_event_cb
    functionSourceFile: /src/hostap/tests/test-https_server.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: "void https_tls_event_cb(void *ctx, enum tls_event ev,\n\t\t\t       union
      tls_event_data *data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/tests/test-https_server.c:29,1
    - Dst: FD_ZERO
      Src: /src/hostap/tests/test-https_server.c:33,1
    - Dst: FD_SET
      Src: /src/hostap/tests/test-https_server.c:34,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/test-https_server.c:38,1
    - Dst: select
      Src: /src/hostap/tests/test-https_server.c:39,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/test-https_server.c:41,1
    - Dst: strerror
      Src: /src/hostap/tests/test-https_server.c:41,1
    - Dst: wpabuf_free
      Src: /src/hostap/tests/test-https_server.c:42,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/test-https_server.c:47,1
    - Dst: wpabuf_free
      Src: /src/hostap/tests/test-https_server.c:48,1
    - Dst: recv
      Src: /src/hostap/tests/test-https_server.c:52,1
    - Dst: wpabuf_put
      Src: /src/hostap/tests/test-https_server.c:52,1
    - Dst: wpabuf_tailroom
      Src: /src/hostap/tests/test-https_server.c:52,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/test-https_server.c:54,1
    - Dst: strerror
      Src: /src/hostap/tests/test-https_server.c:54,1
    - Dst: wpabuf_free
      Src: /src/hostap/tests/test-https_server.c:55,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/test-https_server.c:59,1
    - Dst: wpabuf_free
      Src: /src/hostap/tests/test-https_server.c:60,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/test-https_server.c:63,1
    - Dst: wpabuf_put
      Src: /src/hostap/tests/test-https_server.c:64,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 2
    argNames:
    - s
    - timeout_ms
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 67
    functionName: https_recv
    functionSourceFile: /src/hostap/tests/test-https_server.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - select
    - wpabuf_put
    - FD_ZERO
    - strerror
    - wpabuf_free
    - recv
    - wpabuf_tailroom
    - wpabuf_alloc
    - FD_SET
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * https_recv(int s, int timeout_ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/tests/test-https_server.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - msg
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: https_tls_log_cb
    functionSourceFile: /src/hostap/tests/test-https_server.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void https_tls_log_cb(void *ctx, const char *msg)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/tests/test-https_server.c:85,1
    - Dst: tls_init
      Src: /src/hostap/tests/test-https_server.c:87,1
    - Dst: os_memset
      Src: /src/hostap/tests/test-https_server.c:91,1
    - Dst: tls_global_set_params
      Src: /src/hostap/tests/test-https_server.c:97,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/test-https_server.c:98,1
    - Dst: tls_deinit
      Src: /src/hostap/tests/test-https_server.c:99,1
    - Dst: tls_connection_init
      Src: /src/hostap/tests/test-https_server.c:103,1
    - Dst: tls_deinit
      Src: /src/hostap/tests/test-https_server.c:105,1
    - Dst: tls_connection_set_log_cb
      Src: /src/hostap/tests/test-https_server.c:109,1
    - Dst: https_recv
      Src: /src/hostap/tests/test-https_server.c:112,1
    - Dst: tls_connection_server_handshake
      Src: /src/hostap/tests/test-https_server.c:117,1
    - Dst: wpabuf_free
      Src: /src/hostap/tests/test-https_server.c:118,1
    - Dst: tls_connection_get_failed
      Src: /src/hostap/tests/test-https_server.c:121,1
    - Dst: tls_connection_established
      Src: /src/hostap/tests/test-https_server.c:122,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/test-https_server.c:126,1
    - Dst: wpabuf_len
      Src: /src/hostap/tests/test-https_server.c:127,1
    - Dst: send
      Src: /src/hostap/tests/test-https_server.c:128,1
    - Dst: wpabuf_head
      Src: /src/hostap/tests/test-https_server.c:128,1
    - Dst: wpabuf_len
      Src: /src/hostap/tests/test-https_server.c:128,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/test-https_server.c:129,1
    - Dst: strerror
      Src: /src/hostap/tests/test-https_server.c:129,1
    - Dst: wpabuf_free
      Src: /src/hostap/tests/test-https_server.c:132,1
    - Dst: tls_connection_get_failed
      Src: /src/hostap/tests/test-https_server.c:134,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/test-https_server.c:135,1
    - Dst: tls_connection_established
      Src: /src/hostap/tests/test-https_server.c:138,1
    - Dst: wpabuf_free
      Src: /src/hostap/tests/test-https_server.c:141,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/test-https_server.c:144,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/tests/test-https_server.c:146,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/test-https_server.c:148,1
    - Dst: https_recv
      Src: /src/hostap/tests/test-https_server.c:152,1
    - Dst: tls_connection_decrypt2
      Src: /src/hostap/tests/test-https_server.c:155,1
    - Dst: wpabuf_free
      Src: /src/hostap/tests/test-https_server.c:156,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/test-https_server.c:159,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/tests/test-https_server.c:164,1
    - Dst: wpabuf_head
      Src: /src/hostap/tests/test-https_server.c:165,1
    - Dst: wpabuf_len
      Src: /src/hostap/tests/test-https_server.c:165,1
    - Dst: wpabuf_free
      Src: /src/hostap/tests/test-https_server.c:166,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/tests/test-https_server.c:171,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/tests/test-https_server.c:174,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/tests/test-https_server.c:178,1
    - Dst: wpabuf_head
      Src: /src/hostap/tests/test-https_server.c:179,1
    - Dst: wpabuf_len
      Src: /src/hostap/tests/test-https_server.c:179,1
    - Dst: tls_connection_encrypt
      Src: /src/hostap/tests/test-https_server.c:180,1
    - Dst: wpabuf_free
      Src: /src/hostap/tests/test-https_server.c:181,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/tests/test-https_server.c:183,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/test-https_server.c:187,1
    - Dst: wpabuf_len
      Src: /src/hostap/tests/test-https_server.c:188,1
    - Dst: send
      Src: /src/hostap/tests/test-https_server.c:189,1
    - Dst: wpabuf_head
      Src: /src/hostap/tests/test-https_server.c:189,1
    - Dst: wpabuf_len
      Src: /src/hostap/tests/test-https_server.c:189,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/test-https_server.c:190,1
    - Dst: strerror
      Src: /src/hostap/tests/test-https_server.c:190,1
    - Dst: wpabuf_free
      Src: /src/hostap/tests/test-https_server.c:193,1
    - Dst: wpabuf_free
      Src: /src/hostap/tests/test-https_server.c:198,1
    - Dst: wpabuf_free
      Src: /src/hostap/tests/test-https_server.c:199,1
    - Dst: wpabuf_free
      Src: /src/hostap/tests/test-https_server.c:200,1
    - Dst: tls_connection_deinit
      Src: /src/hostap/tests/test-https_server.c:201,1
    - Dst: tls_deinit
      Src: /src/hostap/tests/test-https_server.c:202,1
    - Dst: close
      Src: /src/hostap/tests/test-https_server.c:203,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 110
    argCount: 1
    argNames:
    - s
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 206
    functionName: https_server
    functionSourceFile: /src/hostap/tests/test-https_server.c
    functionUses: 0
    functionsReached:
    - send
    - wpabuf_put_str
    - tls_connection_encrypt
    - tls_connection_get_failed
    - tls_connection_set_log_cb
    - tls_connection_deinit
    - wpabuf_alloc
    - tls_connection_established
    - https_recv
    - wpa_hexdump_ascii
    - wpa_printf
    - tls_deinit
    - wpa_hexdump_buf
    - wpabuf_len
    - tls_connection_decrypt2
    - wpabuf_head
    - tls_global_set_params
    - tls_init
    - os_memset
    - tls_connection_server_handshake
    - tls_connection_init
    - strerror
    - wpabuf_free
    - close
    linkageType: ''
    returnType: int
    signature: int https_server(int s)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/tests/test-https_server.c:219,1
    - Dst: atoi
      Src: /src/hostap/tests/test-https_server.c:223,1
    - Dst: socket
      Src: /src/hostap/tests/test-https_server.c:225,1
    - Dst: perror
      Src: /src/hostap/tests/test-https_server.c:227,1
    - Dst: setsockopt
      Src: /src/hostap/tests/test-https_server.c:231,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/test-https_server.c:232,1
    - Dst: strerror
      Src: /src/hostap/tests/test-https_server.c:234,1
    - Dst: os_memset
      Src: /src/hostap/tests/test-https_server.c:238,1
    - Dst: htons
      Src: /src/hostap/tests/test-https_server.c:240,1
    - Dst: bind
      Src: /src/hostap/tests/test-https_server.c:241,1
    - Dst: perror
      Src: /src/hostap/tests/test-https_server.c:242,1
    - Dst: close
      Src: /src/hostap/tests/test-https_server.c:243,1
    - Dst: listen
      Src: /src/hostap/tests/test-https_server.c:247,1
    - Dst: perror
      Src: /src/hostap/tests/test-https_server.c:248,1
    - Dst: close
      Src: /src/hostap/tests/test-https_server.c:249,1
    - Dst: accept
      Src: /src/hostap/tests/test-https_server.c:257,1
    - Dst: perror
      Src: /src/hostap/tests/test-https_server.c:259,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/test-https_server.c:263,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/test-https_server.c:264,1
    - Dst: inet_ntoa
      Src: /src/hostap/tests/test-https_server.c:265,1
    - Dst: ntohs
      Src: /src/hostap/tests/test-https_server.c:265,1
    - Dst: https_server
      Src: /src/hostap/tests/test-https_server.c:267,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/test-https_server.c:268,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/test-https_server.c:269,1
    - Dst: close
      Src: /src/hostap/tests/test-https_server.c:272,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 43
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 275
    functionName: main
    functionSourceFile: /src/hostap/tests/test-https_server.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - strerror
    - https_server
    - setsockopt
    - socket
    - perror
    - accept
    - close
    - listen
    - ntohs
    - atoi
    - inet_ntoa
    - bind
    - htons
    - os_memset
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/hostap/tests/test-md4.c:64,1
    - Dst: printf
      Src: /src/hostap/tests/test-md4.c:65,1
    - Dst: strlen
      Src: /src/hostap/tests/test-md4.c:68,1
    - Dst: md4_vector
      Src: /src/hostap/tests/test-md4.c:69,1
    - Dst: memcmp
      Src: /src/hostap/tests/test-md4.c:70,1
    - Dst: printf
      Src: /src/hostap/tests/test-md4.c:71,1
    - Dst: printf
      Src: /src/hostap/tests/test-md4.c:74,1
    - Dst: strlen
      Src: /src/hostap/tests/test-md4.c:78,1
    - Dst: strlen
      Src: /src/hostap/tests/test-md4.c:80,1
    - Dst: md4_vector
      Src: /src/hostap/tests/test-md4.c:81,1
    - Dst: memcmp
      Src: /src/hostap/tests/test-md4.c:82,1
    - Dst: printf
      Src: /src/hostap/tests/test-md4.c:83,1
    - Dst: printf
      Src: /src/hostap/tests/test-md4.c:86,1
    - Dst: printf
      Src: /src/hostap/tests/test-md4.c:89,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 93
    functionName: main
    functionSourceFile: /src/hostap/tests/test-md4.c
    functionUses: 1
    functionsReached:
    - printf
    - memcmp
    - md4_vector
    - strlen
    - ARRAY_SIZE
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/tests/test-rc4.c:208,1
    - Dst: rc4_skip
      Src: /src/hostap/tests/test-rc4.c:209,1
    - Dst: os_memcmp
      Src: /src/hostap/tests/test-rc4.c:210,1
    - Dst: printf
      Src: /src/hostap/tests/test-rc4.c:211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - i
    - key
    - key_len
    - stream
    - offset
    argTypes:
    - unsigned int
    - u8*
    - size_t
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 216
    functionName: run_test
    functionSourceFile: /src/hostap/tests/test-rc4.c
    functionUses: 0
    functionsReached:
    - printf
    - rc4_skip
    - os_memcmp
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int run_test(unsigned int i, const u8 *key, size_t key_len,\n\t\t
      \   const u8 *stream, int offset)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: run_test
      Src: /src/hostap/tests/test-rc4.c:226,1
    - Dst: run_test
      Src: /src/hostap/tests/test-rc4.c:228,1
    - Dst: run_test
      Src: /src/hostap/tests/test-rc4.c:230,1
    - Dst: run_test
      Src: /src/hostap/tests/test-rc4.c:232,1
    - Dst: run_test
      Src: /src/hostap/tests/test-rc4.c:234,1
    - Dst: run_test
      Src: /src/hostap/tests/test-rc4.c:236,1
    - Dst: run_test
      Src: /src/hostap/tests/test-rc4.c:238,1
    - Dst: run_test
      Src: /src/hostap/tests/test-rc4.c:240,1
    - Dst: run_test
      Src: /src/hostap/tests/test-rc4.c:242,1
    - Dst: printf
      Src: /src/hostap/tests/test-rc4.c:247,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 250
    functionName: main
    functionSourceFile: /src/hostap/tests/test-rc4.c
    functionUses: 1
    functionsReached:
    - run_test
    - printf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/tests/test-sha1.c:25,1
    - Dst: fopen
      Src: /src/hostap/tests/test-sha1.c:27,1
    - Dst: printf
      Src: /src/hostap/tests/test-sha1.c:29,1
    - Dst: fgets
      Src: /src/hostap/tests/test-sha1.c:34,1
    - Dst: os_strchr
      Src: /src/hostap/tests/test-sha1.c:35,1
    - Dst: os_strchr
      Src: /src/hostap/tests/test-sha1.c:44,1
    - Dst: os_strchr
      Src: /src/hostap/tests/test-sha1.c:46,1
    - Dst: os_strlen
      Src: /src/hostap/tests/test-sha1.c:50,1
    - Dst: os_strcmp
      Src: /src/hostap/tests/test-sha1.c:52,1
    - Dst: atoi
      Src: /src/hostap/tests/test-sha1.c:53,1
    - Dst: os_strcmp
      Src: /src/hostap/tests/test-sha1.c:54,1
    - Dst: os_strlen
      Src: /src/hostap/tests/test-sha1.c:55,1
    - Dst: printf
      Src: /src/hostap/tests/test-sha1.c:59,1
    - Dst: hexstr2bin
      Src: /src/hostap/tests/test-sha1.c:65,1
    - Dst: printf
      Src: /src/hostap/tests/test-sha1.c:66,1
    - Dst: os_strcmp
      Src: /src/hostap/tests/test-sha1.c:70,1
    - Dst: os_strlen
      Src: /src/hostap/tests/test-sha1.c:74,1
    - Dst: printf
      Src: /src/hostap/tests/test-sha1.c:76,1
    - Dst: hexstr2bin
      Src: /src/hostap/tests/test-sha1.c:82,1
    - Dst: printf
      Src: /src/hostap/tests/test-sha1.c:83,1
    - Dst: sha1_vector
      Src: /src/hostap/tests/test-sha1.c:90,1
    - Dst: os_memcmp
      Src: /src/hostap/tests/test-sha1.c:91,1
    - Dst: fclose
      Src: /src/hostap/tests/test-sha1.c:98,1
    - Dst: printf
      Src: /src/hostap/tests/test-sha1.c:101,1
    - Dst: printf
      Src: /src/hostap/tests/test-sha1.c:103,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 65
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 106
    functionName: cavp_shavs
    functionSourceFile: /src/hostap/tests/test-sha1.c
    functionUses: 1
    functionsReached:
    - os_strlen
    - hexstr2bin
    - sha1_vector
    - printf
    - fclose
    - os_memcmp
    - atoi
    - os_strchr
    - fopen
    - os_strcmp
    - fgets
    linkageType: ''
    returnType: int
    signature: int cavp_shavs(const char *fname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cavp_shavs
      Src: /src/hostap/tests/test-sha1.c:113,1
    - Dst: cavp_shavs
      Src: /src/hostap/tests/test-sha1.c:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 119
    functionName: main
    functionSourceFile: /src/hostap/tests/test-sha1.c
    functionUses: 1
    functionsReached:
    - cavp_shavs
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/tests/hwsim/tnc/hostap_imc.c:23,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - imcID
    - minVersion
    - maxVersion
    - pOutActualVersion
    argTypes:
    - TNC_IMCID
    - TNC_Version
    - TNC_Version
    - TNC_Version*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 40
    functionName: TNC_IMC_Initialize
    functionSourceFile: /src/hostap/tests/hwsim/tnc/hostap_imc.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: TNC_Result
    signature: "TNC_Result TNC_IMC_Initialize(\n\t/*in*/ TNC_IMCID imcID,\n\t/*in*/
      TNC_Version minVersion,\n\t/*in*/ TNC_Version maxVersion,\n\t/*out*/ TNC_Version
      *pOutActualVersion)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/tests/hwsim/tnc/hostap_imc.c:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - imcID
    - connectionID
    argTypes:
    - TNC_IMCID
    - TNC_ConnectionID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 56
    functionName: TNC_IMC_BeginHandshake
    functionSourceFile: /src/hostap/tests/hwsim/tnc/hostap_imc.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: TNC_Result
    signature: "TNC_Result TNC_IMC_BeginHandshake(\n\t/*in*/ TNC_IMCID imcID,\n\t/*in*/
      TNC_ConnectionID connectionID)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/tests/hwsim/tnc/hostap_imc.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - imcID
    - bindFunction
    argTypes:
    - TNC_IMCID
    - TNC_TNCC_BindFunctionPointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 72
    functionName: TNC_IMC_ProvideBindFunction
    functionSourceFile: /src/hostap/tests/hwsim/tnc/hostap_imc.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: TNC_Result
    signature: "TNC_Result TNC_IMC_ProvideBindFunction(\n\t/*in*/ TNC_IMCID imcID,\n\t/*in*/
      TNC_TNCC_BindFunctionPointer bindFunction)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/tests/hwsim/tnc/hostap2_imv.c:33,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - imvID
    - minVersion
    - maxVersion
    - pOutActualVersion
    argTypes:
    - TNC_IMVID
    - TNC_Version
    - TNC_Version
    - TNC_Version*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 53
    functionName: TNC_IMV_Initialize
    functionSourceFile: /src/hostap/tests/hwsim/tnc/hostap2_imv.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: TNC_Result
    signature: "TNC_Result TNC_IMV_Initialize(\n\t/*in*/ TNC_IMVID imvID,\n\t/*in*/
      TNC_Version minVersion,\n\t/*in*/ TNC_Version maxVersion,\n\t/*out*/ TNC_Version
      *pOutActualVersion)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/tests/hwsim/tnc/hostap2_imv.c:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - imvID
    - connectionID
    - newState
    argTypes:
    - TNC_IMVID
    - TNC_ConnectionID
    - TNC_ConnectionState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 75
    functionName: TNC_IMV_NotifyConnectionChange
    functionSourceFile: /src/hostap/tests/hwsim/tnc/hostap2_imv.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: TNC_Result
    signature: "TNC_Result TNC_IMV_NotifyConnectionChange(\n\t/*in*/ TNC_IMVID imvID,\n\t/*in*/
      TNC_ConnectionID connectionID,\n\t/*in*/ TNC_ConnectionState newState)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/tests/hwsim/tnc/hostap2_imv.c:87,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/tests/hwsim/tnc/hostap2_imv.c:91,1
    - Dst: os_memcmp
      Src: /src/hostap/tests/hwsim/tnc/hostap2_imv.c:98,1
    - Dst: send_message
      Src: /src/hostap/tests/hwsim/tnc/hostap2_imv.c:101,1
    - Dst: os_strlen
      Src: /src/hostap/tests/hwsim/tnc/hostap2_imv.c:101,1
    - Dst: os_memcmp
      Src: /src/hostap/tests/hwsim/tnc/hostap2_imv.c:107,1
    - Dst: provide_recomm
      Src: /src/hostap/tests/hwsim/tnc/hostap2_imv.c:110,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 5
    argNames:
    - imvID
    - connectionID
    - message
    - messageLength
    - messageType
    argTypes:
    - TNC_IMVID
    - TNC_ConnectionID
    - TNC_BufferReference
    - TNC_UInt32
    - TNC_MessageType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 118
    functionName: TNC_IMV_ReceiveMessage
    functionSourceFile: /src/hostap/tests/hwsim/tnc/hostap2_imv.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - send_message
    - provide_recomm
    - os_memcmp
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: TNC_Result
    signature: "TNC_Result TNC_IMV_ReceiveMessage(\n\t/*in*/ TNC_IMVID imvID,\n\t/*in*/
      TNC_ConnectionID connectionID,\n\t/*in*/ TNC_BufferReference message,\n\t/*in*/
      TNC_UInt32 messageLength,\n\t/*in*/ TNC_MessageType messageType)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/tests/hwsim/tnc/hostap2_imv.c:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - imvID
    - connectionID
    argTypes:
    - TNC_IMVID
    - TNC_ConnectionID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 137
    functionName: TNC_IMV_SolicitRecommendation
    functionSourceFile: /src/hostap/tests/hwsim/tnc/hostap2_imv.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: TNC_Result
    signature: "TNC_Result TNC_IMV_SolicitRecommendation(\n\t/*in*/ TNC_IMVID imvID,\n\t/*in*/
      TNC_ConnectionID connectionID)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/tests/hwsim/tnc/hostap2_imv.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - imvID
    - connectionID
    argTypes:
    - TNC_IMVID
    - TNC_ConnectionID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 148
    functionName: TNC_IMV_BatchEnding
    functionSourceFile: /src/hostap/tests/hwsim/tnc/hostap2_imv.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: TNC_Result
    signature: "TNC_Result TNC_IMV_BatchEnding(\n\t/*in*/ TNC_IMVID imvID,\n\t/*in*/
      TNC_ConnectionID connectionID)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/tests/hwsim/tnc/hostap2_imv.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - imvID
    argTypes:
    - TNC_IMVID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 158
    functionName: TNC_IMV_Terminate
    functionSourceFile: /src/hostap/tests/hwsim/tnc/hostap2_imv.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: TNC_Result
    signature: "TNC_Result TNC_IMV_Terminate(\n\t/*in*/ TNC_IMVID imvID)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/tests/hwsim/tnc/hostap2_imv.c:167,1
    - Dst: bindFunction
      Src: /src/hostap/tests/hwsim/tnc/hostap2_imv.c:176,1
    - Dst: bindFunction
      Src: /src/hostap/tests/hwsim/tnc/hostap2_imv.c:182,1
    - Dst: bindFunction
      Src: /src/hostap/tests/hwsim/tnc/hostap2_imv.c:187,1
    - Dst: bindFunction
      Src: /src/hostap/tests/hwsim/tnc/hostap2_imv.c:192,1
    - Dst: report_message_types
      Src: /src/hostap/tests/hwsim/tnc/hostap2_imv.c:197,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/tests/hwsim/tnc/hostap2_imv.c:198,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 2
    argNames:
    - imvID
    - bindFunction
    argTypes:
    - TNC_IMVID
    - TNC_TNCS_BindFunctionPointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 203
    functionName: TNC_IMV_ProvideBindFunction
    functionSourceFile: /src/hostap/tests/hwsim/tnc/hostap2_imv.c
    functionUses: 0
    functionsReached:
    - bindFunction
    - wpa_printf
    - ARRAY_SIZE
    - report_message_types
    linkageType: ''
    returnType: TNC_Result
    signature: "TNC_Result TNC_IMV_ProvideBindFunction(\n\t/*in*/ TNC_IMVID imvID,\n\t/*in*/
      TNC_TNCS_BindFunctionPointer bindFunction)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/tests/hwsim/tnc/hostap2_imc.c:32,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - imcID
    - minVersion
    - maxVersion
    - pOutActualVersion
    argTypes:
    - TNC_IMCID
    - TNC_Version
    - TNC_Version
    - TNC_Version*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 52
    functionName: TNC_IMC_Initialize
    functionSourceFile: /src/hostap/tests/hwsim/tnc/hostap2_imc.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: TNC_Result
    signature: "TNC_Result TNC_IMC_Initialize(\n\t/*in*/ TNC_IMCID imcID,\n\t/*in*/
      TNC_Version minVersion,\n\t/*in*/ TNC_Version maxVersion,\n\t/*out*/ TNC_Version
      *pOutActualVersion)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/tests/hwsim/tnc/hostap2_imc.c:62,1
    - Dst: send_message
      Src: /src/hostap/tests/hwsim/tnc/hostap2_imc.c:74,1
    - Dst: os_strlen
      Src: /src/hostap/tests/hwsim/tnc/hostap2_imc.c:74,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - imcID
    - connectionID
    argTypes:
    - TNC_IMCID
    - TNC_ConnectionID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 79
    functionName: TNC_IMC_BeginHandshake
    functionSourceFile: /src/hostap/tests/hwsim/tnc/hostap2_imc.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - send_message
    linkageType: ''
    returnType: TNC_Result
    signature: "TNC_Result TNC_IMC_BeginHandshake(\n\t/*in*/ TNC_IMCID imcID,\n\t/*in*/
      TNC_ConnectionID connectionID)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/tests/hwsim/tnc/hostap2_imc.c:88,1
    - Dst: bindFunction
      Src: /src/hostap/tests/hwsim/tnc/hostap2_imc.c:97,1
    - Dst: bindFunction
      Src: /src/hostap/tests/hwsim/tnc/hostap2_imc.c:102,1
    - Dst: bindFunction
      Src: /src/hostap/tests/hwsim/tnc/hostap2_imc.c:108,1
    - Dst: report_message_types
      Src: /src/hostap/tests/hwsim/tnc/hostap2_imc.c:113,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/tests/hwsim/tnc/hostap2_imc.c:114,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 2
    argNames:
    - imcID
    - bindFunction
    argTypes:
    - TNC_IMCID
    - TNC_TNCC_BindFunctionPointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 119
    functionName: TNC_IMC_ProvideBindFunction
    functionSourceFile: /src/hostap/tests/hwsim/tnc/hostap2_imc.c
    functionUses: 0
    functionsReached:
    - bindFunction
    - wpa_printf
    - ARRAY_SIZE
    - report_message_types
    linkageType: ''
    returnType: TNC_Result
    signature: "TNC_Result TNC_IMC_ProvideBindFunction(\n\t/*in*/ TNC_IMCID imcID,\n\t/*in*/
      TNC_TNCC_BindFunctionPointer bindFunction)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/tests/hwsim/tnc/hostap2_imc.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - imcID
    - connectionID
    - newState
    argTypes:
    - TNC_IMCID
    - TNC_ConnectionID
    - TNC_ConnectionState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 133
    functionName: TNC_IMC_NotifyConnectionChange
    functionSourceFile: /src/hostap/tests/hwsim/tnc/hostap2_imc.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: TNC_Result
    signature: "TNC_Result TNC_IMC_NotifyConnectionChange(\n\t/*in*/ TNC_IMCID imcID,\n\t/*in*/
      TNC_ConnectionID connectionID,\n\t/*in*/ TNC_ConnectionState newState)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/tests/hwsim/tnc/hostap2_imc.c:145,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/tests/hwsim/tnc/hostap2_imc.c:149,1
    - Dst: os_memcmp
      Src: /src/hostap/tests/hwsim/tnc/hostap2_imc.c:153,1
    - Dst: send_message
      Src: /src/hostap/tests/hwsim/tnc/hostap2_imc.c:156,1
    - Dst: os_strlen
      Src: /src/hostap/tests/hwsim/tnc/hostap2_imc.c:156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 5
    argNames:
    - imcID
    - connectionID
    - message
    - messageLength
    - messageType
    argTypes:
    - TNC_IMCID
    - TNC_ConnectionID
    - TNC_BufferReference
    - TNC_UInt32
    - TNC_MessageType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 162
    functionName: TNC_IMC_ReceiveMessage
    functionSourceFile: /src/hostap/tests/hwsim/tnc/hostap2_imc.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - send_message
    - os_memcmp
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: TNC_Result
    signature: "TNC_Result TNC_IMC_ReceiveMessage(\n\t/*in*/ TNC_IMCID imcID,\n\t/*in*/
      TNC_ConnectionID connectionID,\n\t/*in*/ TNC_BufferReference message,\n\t/*in*/
      TNC_UInt32 messageLength,\n\t/*in*/ TNC_MessageType messageType)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/tests/hwsim/tnc/hostap2_imc.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - imcID
    - connectionID
    argTypes:
    - TNC_IMCID
    - TNC_ConnectionID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 173
    functionName: TNC_IMC_BatchEnding
    functionSourceFile: /src/hostap/tests/hwsim/tnc/hostap2_imc.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: TNC_Result
    signature: "TNC_Result TNC_IMC_BatchEnding(\n\t/*in*/ TNC_IMCID imcID,\n\t/*in*/
      TNC_ConnectionID connectionID)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/tests/hwsim/tnc/hostap2_imc.c:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - imcID
    argTypes:
    - TNC_IMCID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 183
    functionName: TNC_IMC_Terminate
    functionSourceFile: /src/hostap/tests/hwsim/tnc/hostap2_imc.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: TNC_Result
    signature: "TNC_Result TNC_IMC_Terminate(\n\t/*in*/ TNC_IMCID imcID)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - imvID
    - minVersion
    - maxVersion
    - pOutActualVersion
    argTypes:
    - TNC_IMVID
    - TNC_Version
    - TNC_Version
    - TNC_Version*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 38
    functionName: TNC_IMV_Initialize
    functionSourceFile: /src/hostap/tests/hwsim/tnc/hostap_imv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TNC_Result
    signature: "TNC_Result TNC_IMV_Initialize(\n\t/*in*/ TNC_IMVID imvID,\n\t/*in*/
      TNC_Version minVersion,\n\t/*in*/ TNC_Version maxVersion,\n\t/*out*/ TNC_Version
      *pOutActualVersion)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - imvID
    - connectionID
    argTypes:
    - TNC_IMVID
    - TNC_ConnectionID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 52
    functionName: TNC_IMV_SolicitRecommendation
    functionSourceFile: /src/hostap/tests/hwsim/tnc/hostap_imv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TNC_Result
    signature: "TNC_Result TNC_IMV_SolicitRecommendation(\n\t/*in*/ TNC_IMVID imvID,\n\t/*in*/
      TNC_ConnectionID connectionID)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - imvID
    - bindFunction
    argTypes:
    - TNC_IMVID
    - TNC_TNCS_BindFunctionPointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 66
    functionName: TNC_IMV_ProvideBindFunction
    functionSourceFile: /src/hostap/tests/hwsim/tnc/hostap_imv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TNC_Result
    signature: "TNC_Result TNC_IMV_ProvideBindFunction(\n\t/*in*/ TNC_IMVID imvID,\n\t/*in*/
      TNC_TNCS_BindFunctionPointer bindFunction)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/hostap/tests/fuzzing/fuzzer-common.c:22,1
    - Dst: atoi
      Src: /src/hostap/tests/fuzzing/fuzzer-common.c:24,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 30
    functionName: wpa_fuzzer_set_debug_level
    functionSourceFile: /src/hostap/tests/fuzzing/fuzzer-common.c
    functionUses: 0
    functionsReached:
    - atoi
    - getenv
    linkageType: ''
    returnType: void
    signature: void wpa_fuzzer_set_debug_level(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/tests/fuzzing/fuzzer-common.c:42,1
    - Dst: os_readfile
      Src: /src/hostap/tests/fuzzing/fuzzer-common.c:46,1
    - Dst: printf
      Src: /src/hostap/tests/fuzzing/fuzzer-common.c:48,1
    - Dst: LLVMFuzzerTestOneInput
      Src: /src/hostap/tests/fuzzing/fuzzer-common.c:52,1
    - Dst: os_free
      Src: /src/hostap/tests/fuzzing/fuzzer-common.c:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 55
    functionName: main
    functionSourceFile: /src/hostap/tests/fuzzing/fuzzer-common.c
    functionUses: 1
    functionsReached:
    - os_free
    - LLVMFuzzerTestOneInput
    - os_readfile
    - printf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/tls-server/tls-server.c:32,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/tests/fuzzing/tls-server/tls-server.c:35,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/tests/fuzzing/tls-server/tls-server.c:38,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/tls-server/tls-server.c:42,1
    - Dst: wpabuf_free
      Src: /src/hostap/tests/fuzzing/tls-server/tls-server.c:44,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/tests/fuzzing/tls-server/tls-server.c:47,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/tests/fuzzing/tls-server/tls-server.c:49,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 52
    functionName: read_msg
    functionSourceFile: /src/hostap/tests/fuzzing/tls-server/tls-server.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - WPA_GET_BE16
    - wpabuf_put_data
    - wpabuf_free
    - wpabuf_alloc
    - wpa_hexdump_buf
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * read_msg(struct context *ctx)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: wpa_fuzzer_set_debug_level
      Src: /src/hostap/tests/fuzzing/tls-server/tls-server.c:65,1
    - Dst: os_memset
      Src: /src/hostap/tests/fuzzing/tls-server/tls-server.c:67,1
    - Dst: os_memset
      Src: /src/hostap/tests/fuzzing/tls-server/tls-server.c:71,1
    - Dst: tls_init
      Src: /src/hostap/tests/fuzzing/tls-server/tls-server.c:72,1
    - Dst: os_memset
      Src: /src/hostap/tests/fuzzing/tls-server/tls-server.c:76,1
    - Dst: tls_global_set_params
      Src: /src/hostap/tests/fuzzing/tls-server/tls-server.c:82,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/tls-server/tls-server.c:83,1
    - Dst: tls_connection_init
      Src: /src/hostap/tests/fuzzing/tls-server/tls-server.c:87,1
    - Dst: read_msg
      Src: /src/hostap/tests/fuzzing/tls-server/tls-server.c:94,1
    - Dst: wpabuf_free
      Src: /src/hostap/tests/fuzzing/tls-server/tls-server.c:95,1
    - Dst: tls_connection_server_handshake
      Src: /src/hostap/tests/fuzzing/tls-server/tls-server.c:101,1
    - Dst: wpabuf_free
      Src: /src/hostap/tests/fuzzing/tls-server/tls-server.c:103,1
    - Dst: tls_connection_get_failed
      Src: /src/hostap/tests/fuzzing/tls-server/tls-server.c:107,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/tls-server/tls-server.c:108,1
    - Dst: tls_connection_established
      Src: /src/hostap/tests/fuzzing/tls-server/tls-server.c:111,1
    - Dst: wpabuf_free
      Src: /src/hostap/tests/fuzzing/tls-server/tls-server.c:115,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/tests/fuzzing/tls-server/tls-server.c:116,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/tests/fuzzing/tls-server/tls-server.c:119,1
    - Dst: wpabuf_free
      Src: /src/hostap/tests/fuzzing/tls-server/tls-server.c:120,1
    - Dst: read_msg
      Src: /src/hostap/tests/fuzzing/tls-server/tls-server.c:121,1
    - Dst: wpabuf_free
      Src: /src/hostap/tests/fuzzing/tls-server/tls-server.c:122,1
    - Dst: tls_connection_decrypt
      Src: /src/hostap/tests/fuzzing/tls-server/tls-server.c:127,1
    - Dst: wpabuf_free
      Src: /src/hostap/tests/fuzzing/tls-server/tls-server.c:128,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/tests/fuzzing/tls-server/tls-server.c:132,1
    - Dst: wpabuf_free
      Src: /src/hostap/tests/fuzzing/tls-server/tls-server.c:134,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/tests/fuzzing/tls-server/tls-server.c:135,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/tests/fuzzing/tls-server/tls-server.c:138,1
    - Dst: wpabuf_free
      Src: /src/hostap/tests/fuzzing/tls-server/tls-server.c:139,1
    - Dst: tls_connection_encrypt
      Src: /src/hostap/tests/fuzzing/tls-server/tls-server.c:140,1
    - Dst: wpabuf_free
      Src: /src/hostap/tests/fuzzing/tls-server/tls-server.c:141,1
    - Dst: tls_connection_deinit
      Src: /src/hostap/tests/fuzzing/tls-server/tls-server.c:150,1
    - Dst: tls_deinit
      Src: /src/hostap/tests/fuzzing/tls-server/tls-server.c:151,1
    - Dst: wpabuf_free
      Src: /src/hostap/tests/fuzzing/tls-server/tls-server.c:153,1
    - Dst: wpabuf_free
      Src: /src/hostap/tests/fuzzing/tls-server/tls-server.c:154,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 92
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 157
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/hostap/tests/fuzzing/tls-server/tls-server.c
    functionUses: 1
    functionsReached:
    - tls_connection_server_handshake
    - wpa_printf
    - tls_connection_init
    - tls_connection_decrypt
    - wpabuf_put_str
    - wpa_hexdump_buf
    - tls_connection_encrypt
    - wpabuf_free
    - tls_connection_get_failed
    - tls_connection_deinit
    - tls_global_set_params
    - wpa_fuzzer_set_debug_level
    - wpabuf_alloc
    - tls_connection_established
    - tls_init
    - read_msg
    - tls_deinit
    - os_memset
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 11
    argNames:
    - pmksa
    - pmk
    - pmk_len
    - pmkid
    - kck
    - kck_len
    - aa
    - spa
    - session_timeout
    - eapol
    - akmp
    argTypes:
    - struct rsn_pmksa_cache*
    - u8*
    - size_t
    - u8*
    - u8*
    - size_t
    - u8*
    - u8*
    - int
    - struct eapol_state_machine*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 33
    functionName: pmksa_cache_auth_add
    functionSourceFile: /src/hostap/tests/fuzzing/pasn-resp/pasn-resp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct rsn_pmksa_cache_entry
    signature: "struct rsn_pmksa_cache_entry *\npmksa_cache_auth_add(struct rsn_pmksa_cache
      *pmksa,\n\t\t     const u8 *pmk, size_t pmk_len, const u8 *pmkid,\n\t\t     const
      u8 *kck, size_t kck_len,\n\t\t     const u8 *aa, const u8 *spa, int session_timeout,\n\t\t
      \    struct eapol_state_machine *eapol, int akmp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pmksa
    - spa
    - pmkid
    argTypes:
    - struct rsn_pmksa_cache*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: pmksa_cache_auth_get
    functionSourceFile: /src/hostap/tests/fuzzing/pasn-resp/pasn-resp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct rsn_pmksa_cache_entry
    signature: "struct rsn_pmksa_cache_entry *\npmksa_cache_auth_get(struct rsn_pmksa_cache
      *pmksa,\n\t\t     const u8 *spa, const u8 *pmkid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: pmksa_cache_auth_init
    functionSourceFile: /src/hostap/tests/fuzzing/pasn-resp/pasn-resp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct rsn_pmksa_cache
    signature: "struct rsn_pmksa_cache *\npmksa_cache_auth_init(void (*free_cb)(struct
      rsn_pmksa_cache_entry *entry,\n\t\t\t\t      void *ctx), void *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pmksa
    argTypes:
    - struct rsn_pmksa_cache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: pmksa_cache_auth_deinit
    functionSourceFile: /src/hostap/tests/fuzzing/pasn-resp/pasn-resp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pmksa_cache_auth_deinit(struct rsn_pmksa_cache *pmksa)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - pmksa
    - entry
    argTypes:
    - struct rsn_pmksa_cache*
    - struct rsn_pmksa_cache_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: pmksa_cache_free_entry
    functionSourceFile: /src/hostap/tests/fuzzing/pasn-resp/pasn-resp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void pmksa_cache_free_entry(struct rsn_pmksa_cache *pmksa,\n\t\t\t
      \   struct rsn_pmksa_cache_entry *entry)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pmksa
    argTypes:
    - struct rsn_pmksa_cache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: pmksa_cache_auth_flush
    functionSourceFile: /src/hostap/tests/fuzzing/pasn-resp/pasn-resp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pmksa_cache_auth_flush(struct rsn_pmksa_cache *pmksa)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ctx
    - data
    - data_len
    - noack
    - freq
    - wait
    argTypes:
    - void*
    - u8*
    - size_t
    - int
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: pasn_send_mgmt
    functionSourceFile: /src/hostap/tests/fuzzing/pasn-resp/pasn-resp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int pasn_send_mgmt(void *ctx, const u8 *data, size_t data_len,\n\t\t\t
      \ int noack, unsigned int freq, unsigned int wait)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_fuzzer_set_debug_level
      Src: /src/hostap/tests/fuzzing/pasn-resp/pasn-resp.c:80,1
    - Dst: os_program_init
      Src: /src/hostap/tests/fuzzing/pasn-resp/pasn-resp.c:82,1
    - Dst: eloop_init
      Src: /src/hostap/tests/fuzzing/pasn-resp/pasn-resp.c:85,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/pasn-resp/pasn-resp.c:86,1
    - Dst: pasn_data_init
      Src: /src/hostap/tests/fuzzing/pasn-resp/pasn-resp.c:90,1
    - Dst: hwaddr_aton
      Src: /src/hostap/tests/fuzzing/pasn-resp/pasn-resp.c:95,1
    - Dst: hwaddr_aton
      Src: /src/hostap/tests/fuzzing/pasn-resp/pasn-resp.c:96,1
    - Dst: os_memcpy
      Src: /src/hostap/tests/fuzzing/pasn-resp/pasn-resp.c:97,1
    - Dst: os_memcpy
      Src: /src/hostap/tests/fuzzing/pasn-resp/pasn-resp.c:98,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/pasn-resp/pasn-resp.c:102,1
    - Dst: handle_auth_pasn_1
      Src: /src/hostap/tests/fuzzing/pasn-resp/pasn-resp.c:103,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/pasn-resp/pasn-resp.c:106,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/pasn-resp/pasn-resp.c:108,1
    - Dst: handle_auth_pasn_3
      Src: /src/hostap/tests/fuzzing/pasn-resp/pasn-resp.c:109,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/pasn-resp/pasn-resp.c:111,1
    - Dst: crypto_ecdh_deinit
      Src: /src/hostap/tests/fuzzing/pasn-resp/pasn-resp.c:114,1
    - Dst: pasn_data_deinit
      Src: /src/hostap/tests/fuzzing/pasn-resp/pasn-resp.c:119,1
    - Dst: eloop_destroy
      Src: /src/hostap/tests/fuzzing/pasn-resp/pasn-resp.c:120,1
    - Dst: os_program_deinit
      Src: /src/hostap/tests/fuzzing/pasn-resp/pasn-resp.c:121,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 124
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/hostap/tests/fuzzing/pasn-resp/pasn-resp.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - os_program_init
    - os_memcpy
    - handle_auth_pasn_3
    - crypto_ecdh_deinit
    - pasn_data_init
    - hwaddr_aton
    - wpa_fuzzer_set_debug_level
    - eloop_init
    - handle_auth_pasn_1
    - eloop_destroy
    - pasn_data_deinit
    - os_program_deinit
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/tests/fuzzing/scan-res/scan-res.c:32,1
    - Dst: os_zalloc
      Src: /src/hostap/tests/fuzzing/scan-res/scan-res.c:34,1
    - Dst: os_memcpy
      Src: /src/hostap/tests/fuzzing/scan-res/scan-res.c:37,1
    - Dst: os_get_reltime
      Src: /src/hostap/tests/fuzzing/scan-res/scan-res.c:40,1
    - Dst: wpa_bss_update_start
      Src: /src/hostap/tests/fuzzing/scan-res/scan-res.c:42,1
    - Dst: wpa_bss_update_scan_res
      Src: /src/hostap/tests/fuzzing/scan-res/scan-res.c:43,1
    - Dst: wpa_bss_update_end
      Src: /src/hostap/tests/fuzzing/scan-res/scan-res.c:44,1
    - Dst: os_free
      Src: /src/hostap/tests/fuzzing/scan-res/scan-res.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct arg_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 27
    functionDepth: 7
    functionLinenumber: 27
    functionLinenumberEnd: 46
    functionName: process_scan_res
    functionSourceFile: /src/hostap/tests/fuzzing/scan-res/scan-res.c
    functionUses: 0
    functionsReached:
    - os_get_reltime
    - os_memcpy
    - wpa_bss_update_scan_res
    - wpa_hexdump
    - wpa_bss_update_end
    - os_zalloc
    - wpa_bss_update_start
    - os_free
    linkageType: ''
    returnType: void
    signature: void process_scan_res(struct arg_ctx *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/tests/fuzzing/scan-res/scan-res.c:53,1
    - Dst: wpa_bss_init
      Src: /src/hostap/tests/fuzzing/scan-res/scan-res.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct arg_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 61
    functionName: init_wpa
    functionSourceFile: /src/hostap/tests/fuzzing/scan-res/scan-res.c
    functionUses: 1
    functionsReached:
    - wpa_bss_init
    - os_memcpy
    linkageType: ''
    returnType: int
    signature: int init_wpa(struct arg_ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_bss_flush
      Src: /src/hostap/tests/fuzzing/scan-res/scan-res.c:68,1
    - Dst: os_free
      Src: /src/hostap/tests/fuzzing/scan-res/scan-res.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct arg_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 4
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: deinit_wpa
    functionSourceFile: /src/hostap/tests/fuzzing/scan-res/scan-res.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpa_bss_flush
    linkageType: ''
    returnType: void
    signature: void deinit_wpa(struct arg_ctx *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_fuzzer_set_debug_level
      Src: /src/hostap/tests/fuzzing/scan-res/scan-res.c:77,1
    - Dst: os_program_init
      Src: /src/hostap/tests/fuzzing/scan-res/scan-res.c:79,1
    - Dst: os_memset
      Src: /src/hostap/tests/fuzzing/scan-res/scan-res.c:82,1
    - Dst: init_wpa
      Src: /src/hostap/tests/fuzzing/scan-res/scan-res.c:85,1
    - Dst: process_scan_res
      Src: /src/hostap/tests/fuzzing/scan-res/scan-res.c:88,1
    - Dst: deinit_wpa
      Src: /src/hostap/tests/fuzzing/scan-res/scan-res.c:90,1
    - Dst: os_program_deinit
      Src: /src/hostap/tests/fuzzing/scan-res/scan-res.c:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 73
    functionDepth: 8
    functionLinenumber: 73
    functionLinenumberEnd: 96
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/hostap/tests/fuzzing/scan-res/scan-res.c
    functionUses: 1
    functionsReached:
    - init_wpa
    - os_program_init
    - wpa_fuzzer_set_debug_level
    - deinit_wpa
    - process_scan_res
    - os_program_deinit
    - os_memset
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pmksa
    - bssid
    - pmkid
    - pmk
    - pmk_len
    argTypes:
    - struct rsn_pmksa_cache*
    - u8*
    - u8*
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 26
    functionName: pasn_responder_pmksa_cache_get
    functionSourceFile: /src/hostap/tests/fuzzing/p2p/p2p.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int pasn_responder_pmksa_cache_get(struct rsn_pmksa_cache *pmksa,\n\t\t\t\t
      \  const u8 *bssid, u8 *pmkid, u8 *pmk,\n\t\t\t\t   size_t *pmk_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/p2p/p2p.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - level
    - msg
    argTypes:
    - void*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: debug_print
    functionSourceFile: /src/hostap/tests/fuzzing/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void debug_print(void *ctx, int level, const char *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: find_stopped
    functionSourceFile: /src/hostap/tests/fuzzing/p2p/p2p.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void find_stopped(void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - freq
    - duration
    - probe_resp_ie
    argTypes:
    - void*
    - unsigned int
    - unsigned int
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: start_listen
    functionSourceFile: /src/hostap/tests/fuzzing/p2p/p2p.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int start_listen(void *ctx, unsigned int freq,\n\t\t\tunsigned int
      duration,\n\t\t\tconst struct wpabuf *probe_resp_ie)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: stop_listen
    functionSourceFile: /src/hostap/tests/fuzzing/p2p/p2p.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void stop_listen(void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ctx
    - addr
    - info
    - new_device
    argTypes:
    - void*
    - u8*
    - struct p2p_peer_info*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: dev_found
    functionSourceFile: /src/hostap/tests/fuzzing/p2p/p2p.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void dev_found(void *ctx, const u8 *addr,\n\t\t      const struct
      p2p_peer_info *info,\n\t\t      int new_device)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ctx
    - dev_addr
    argTypes:
    - void*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: dev_lost
    functionSourceFile: /src/hostap/tests/fuzzing/p2p/p2p.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dev_lost(void *ctx, const u8 *dev_addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - ctx
    - freq
    - dst
    - src
    - bssid
    - buf
    - len
    - wait_time
    - scheduled
    argTypes:
    - void*
    - unsigned int
    - u8*
    - u8*
    - u8*
    - u8*
    - size_t
    - unsigned int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 71
    functionName: send_action
    functionSourceFile: /src/hostap/tests/fuzzing/p2p/p2p.c
    functionUses: 57
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int send_action(void *ctx, unsigned int freq, const u8 *dst,\n\t\t
      \      const u8 *src, const u8 *bssid, const u8 *buf,\n\t\t       size_t len,
      unsigned int wait_time, int *scheduled)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: send_action_done
    functionSourceFile: /src/hostap/tests/fuzzing/p2p/p2p.c
    functionUses: 31
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void send_action_done(void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ctx
    - src
    - dev_passwd_id
    - go_intent
    argTypes:
    - void*
    - u8*
    - u16
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: go_neg_req_rx
    functionSourceFile: /src/hostap/tests/fuzzing/p2p/p2p.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void go_neg_req_rx(void *ctx, const u8 *src, u16 dev_passwd_id,\n\t\t\t
      \ u8 go_intent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/tests/fuzzing/p2p/p2p.c:89,1
    - Dst: p2p_init
      Src: /src/hostap/tests/fuzzing/p2p/p2p.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 108
    functionName: init_p2p
    functionSourceFile: /src/hostap/tests/fuzzing/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - p2p_init
    - os_memset
    linkageType: ''
    returnType: struct p2p_data
    signature: struct p2p_data * init_p2p(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/tests/fuzzing/p2p/p2p.c:124,1
    - Dst: os_memset
      Src: /src/hostap/tests/fuzzing/p2p/p2p.c:126,1
    - Dst: p2p_scan_res_handler
      Src: /src/hostap/tests/fuzzing/p2p/p2p.c:127,1
    - Dst: p2p_scan_res_handled
      Src: /src/hostap/tests/fuzzing/p2p/p2p.c:129,1
    - Dst: p2p_probe_req_rx
      Src: /src/hostap/tests/fuzzing/p2p/p2p.c:131,1
    - Dst: os_memset
      Src: /src/hostap/tests/fuzzing/p2p/p2p.c:141,1
    - Dst: p2p_rx_action
      Src: /src/hostap/tests/fuzzing/p2p/p2p.c:142,1
    - Dst: eloop_terminate
      Src: /src/hostap/tests/fuzzing/p2p/p2p.c:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - eloop_data
    - user_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 149
    functionName: test_send
    functionSourceFile: /src/hostap/tests/fuzzing/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - p2p_probe_req_rx
    - p2p_scan_res_handler
    - wpa_hexdump
    - p2p_rx_action
    - eloop_terminate
    - p2p_scan_res_handled
    - os_memset
    linkageType: ''
    returnType: void
    signature: void test_send(void *eloop_data, void *user_ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_fuzzer_set_debug_level
      Src: /src/hostap/tests/fuzzing/p2p/p2p.c:157,1
    - Dst: os_program_init
      Src: /src/hostap/tests/fuzzing/p2p/p2p.c:159,1
    - Dst: eloop_init
      Src: /src/hostap/tests/fuzzing/p2p/p2p.c:162,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/p2p/p2p.c:163,1
    - Dst: init_p2p
      Src: /src/hostap/tests/fuzzing/p2p/p2p.c:167,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/p2p/p2p.c:169,1
    - Dst: os_memset
      Src: /src/hostap/tests/fuzzing/p2p/p2p.c:173,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/tests/fuzzing/p2p/p2p.c:178,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/p2p/p2p.c:180,1
    - Dst: eloop_run
      Src: /src/hostap/tests/fuzzing/p2p/p2p.c:181,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/p2p/p2p.c:182,1
    - Dst: p2p_deinit
      Src: /src/hostap/tests/fuzzing/p2p/p2p.c:184,1
    - Dst: eloop_destroy
      Src: /src/hostap/tests/fuzzing/p2p/p2p.c:185,1
    - Dst: os_program_deinit
      Src: /src/hostap/tests/fuzzing/p2p/p2p.c:186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 189
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/hostap/tests/fuzzing/p2p/p2p.c
    functionUses: 1
    functionsReached:
    - eloop_run
    - wpa_printf
    - os_program_init
    - p2p_deinit
    - eloop_destroy
    - wpa_fuzzer_set_debug_level
    - eloop_init
    - eloop_register_timeout
    - init_p2p
    - os_program_deinit
    - os_memset
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/tests/fuzzing/eap-sim-peer/eap-sim-peer.c:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - version
    - vendor
    - method
    - name
    argTypes:
    - int
    - int
    - enum eap_type
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 35
    functionName: eap_peer_method_alloc
    functionSourceFile: /src/hostap/tests/fuzzing/eap-sim-peer/eap-sim-peer.c
    functionUses: 0
    functionsReached:
    - os_zalloc
    linkageType: ''
    returnType: struct eap_method
    signature: "struct eap_method * eap_peer_method_alloc(int version, int vendor,\n\t\t\t\t\t
      \ enum eap_type method,\n\t\t\t\t\t  const char *name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - method
    argTypes:
    - struct eap_method*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: eap_peer_method_register
    functionSourceFile: /src/hostap/tests/fuzzing/eap-sim-peer/eap-sim-peer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int eap_peer_method_register(struct eap_method *method)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: eap_get_config
    functionSourceFile: /src/hostap/tests/fuzzing/eap-sim-peer/eap-sim-peer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct eap_peer_config
    signature: struct eap_peer_config * eap_get_config(struct eap_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/tests/fuzzing/eap-sim-peer/eap-sim-peer.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sm
    - len
    argTypes:
    - struct eap_sm*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: eap_get_config_identity
    functionSourceFile: /src/hostap/tests/fuzzing/eap-sim-peer/eap-sim-peer.c
    functionUses: 0
    functionsReached:
    - os_strlen
    linkageType: ''
    returnType: u8
    signature: u8 * eap_get_config_identity(struct eap_sm *sm, size_t *len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - sm
    - id
    - len
    argTypes:
    - struct eap_sm*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: eap_set_anon_id
    functionSourceFile: /src/hostap/tests/fuzzing/eap-sim-peer/eap-sim-peer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void eap_set_anon_id(struct eap_sm *sm, const u8 *id, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: eap_sm_request_identity
    functionSourceFile: /src/hostap/tests/fuzzing/eap-sim-peer/eap-sim-peer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void eap_sm_request_identity(struct eap_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - sm
    - req
    argTypes:
    - struct eap_sm*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: eap_sm_request_sim
    functionSourceFile: /src/hostap/tests/fuzzing/eap-sim-peer/eap-sim-peer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void eap_sm_request_sim(struct eap_sm *sm, const char *req)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_fuzzer_set_debug_level
      Src: /src/hostap/tests/fuzzing/eap-sim-peer/eap-sim-peer.c:90,1
    - Dst: eap_peer_sim_register
      Src: /src/hostap/tests/fuzzing/eap-sim-peer/eap-sim-peer.c:92,1
    - Dst: os_zalloc
      Src: /src/hostap/tests/fuzzing/eap-sim-peer/eap-sim-peer.c:93,1
    - Dst: init
      Src: /src/hostap/tests/fuzzing/eap-sim-peer/eap-sim-peer.c:96,1
    - Dst: os_memset
      Src: /src/hostap/tests/fuzzing/eap-sim-peer/eap-sim-peer.c:97,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/tests/fuzzing/eap-sim-peer/eap-sim-peer.c:106,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/tests/fuzzing/eap-sim-peer/eap-sim-peer.c:110,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/tests/fuzzing/eap-sim-peer/eap-sim-peer.c:113,1
    - Dst: process
      Src: /src/hostap/tests/fuzzing/eap-sim-peer/eap-sim-peer.c:114,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/tests/fuzzing/eap-sim-peer/eap-sim-peer.c:115,1
    - Dst: wpabuf_free
      Src: /src/hostap/tests/fuzzing/eap-sim-peer/eap-sim-peer.c:116,1
    - Dst: wpabuf_free
      Src: /src/hostap/tests/fuzzing/eap-sim-peer/eap-sim-peer.c:117,1
    - Dst: deinit
      Src: /src/hostap/tests/fuzzing/eap-sim-peer/eap-sim-peer.c:122,1
    - Dst: os_free
      Src: /src/hostap/tests/fuzzing/eap-sim-peer/eap-sim-peer.c:123,1
    - Dst: os_free
      Src: /src/hostap/tests/fuzzing/eap-sim-peer/eap-sim-peer.c:124,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 127
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/hostap/tests/fuzzing/eap-sim-peer/eap-sim-peer.c
    functionUses: 1
    functionsReached:
    - WPA_GET_BE16
    - wpa_hexdump_buf
    - wpabuf_free
    - deinit
    - wpabuf_alloc_copy
    - wpa_fuzzer_set_debug_level
    - os_zalloc
    - eap_peer_sim_register
    - os_free
    - process
    - init
    - os_memset
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ctx
    - data
    - data_len
    - noack
    - freq
    - wait
    argTypes:
    - void*
    - u8*
    - size_t
    - int
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 25
    functionName: pasn_send_mgmt
    functionSourceFile: /src/hostap/tests/fuzzing/pasn-init/pasn-init.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int pasn_send_mgmt(void *ctx, const u8 *data, size_t data_len,\n\t\t\t
      \ int noack, unsigned int freq, unsigned int wait)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_fuzzer_set_debug_level
      Src: /src/hostap/tests/fuzzing/pasn-init/pasn-init.c:34,1
    - Dst: os_program_init
      Src: /src/hostap/tests/fuzzing/pasn-init/pasn-init.c:36,1
    - Dst: os_memset
      Src: /src/hostap/tests/fuzzing/pasn-init/pasn-init.c:39,1
    - Dst: hwaddr_aton
      Src: /src/hostap/tests/fuzzing/pasn-init/pasn-init.c:41,1
    - Dst: hwaddr_aton
      Src: /src/hostap/tests/fuzzing/pasn-init/pasn-init.c:42,1
    - Dst: wpas_pasn_start
      Src: /src/hostap/tests/fuzzing/pasn-init/pasn-init.c:43,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/pasn-init/pasn-init.c:46,1
    - Dst: wpa_pasn_auth_rx
      Src: /src/hostap/tests/fuzzing/pasn-init/pasn-init.c:50,1
    - Dst: wpa_pasn_reset
      Src: /src/hostap/tests/fuzzing/pasn-init/pasn-init.c:53,1
    - Dst: os_program_deinit
      Src: /src/hostap/tests/fuzzing/pasn-init/pasn-init.c:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 57
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/hostap/tests/fuzzing/pasn-init/pasn-init.c
    functionUses: 1
    functionsReached:
    - os_program_init
    - wpa_printf
    - hwaddr_aton
    - wpas_pasn_start
    - wpa_fuzzer_set_debug_level
    - wpa_pasn_reset
    - os_program_deinit
    - wpa_pasn_auth_rx
    - os_memset
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_fuzzer_set_debug_level
      Src: /src/hostap/tests/fuzzing/x509/x509.c:20,1
    - Dst: x509_certificate_parse
      Src: /src/hostap/tests/fuzzing/x509/x509.c:22,1
    - Dst: x509_certificate_free
      Src: /src/hostap/tests/fuzzing/x509/x509.c:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 25
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/hostap/tests/fuzzing/x509/x509.c
    functionUses: 1
    functionsReached:
    - wpa_fuzzer_set_debug_level
    - x509_certificate_parse
    - x509_certificate_free
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/tls-client/tls-client.c:32,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/tests/fuzzing/tls-client/tls-client.c:35,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/tests/fuzzing/tls-client/tls-client.c:38,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/tls-client/tls-client.c:42,1
    - Dst: wpabuf_free
      Src: /src/hostap/tests/fuzzing/tls-client/tls-client.c:44,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/tests/fuzzing/tls-client/tls-client.c:47,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/tests/fuzzing/tls-client/tls-client.c:49,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 52
    functionName: read_msg
    functionSourceFile: /src/hostap/tests/fuzzing/tls-client/tls-client.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - WPA_GET_BE16
    - wpabuf_put_data
    - wpabuf_free
    - wpabuf_alloc
    - wpa_hexdump_buf
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * read_msg(struct context *ctx)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: wpa_fuzzer_set_debug_level
      Src: /src/hostap/tests/fuzzing/tls-client/tls-client.c:65,1
    - Dst: os_memset
      Src: /src/hostap/tests/fuzzing/tls-client/tls-client.c:67,1
    - Dst: os_memset
      Src: /src/hostap/tests/fuzzing/tls-client/tls-client.c:71,1
    - Dst: tls_init
      Src: /src/hostap/tests/fuzzing/tls-client/tls-client.c:72,1
    - Dst: os_memset
      Src: /src/hostap/tests/fuzzing/tls-client/tls-client.c:76,1
    - Dst: tls_connection_init
      Src: /src/hostap/tests/fuzzing/tls-client/tls-client.c:81,1
    - Dst: tls_connection_handshake
      Src: /src/hostap/tests/fuzzing/tls-client/tls-client.c:88,1
    - Dst: wpabuf_free
      Src: /src/hostap/tests/fuzzing/tls-client/tls-client.c:90,1
    - Dst: tls_connection_get_failed
      Src: /src/hostap/tests/fuzzing/tls-client/tls-client.c:94,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/tls-client/tls-client.c:95,1
    - Dst: tls_connection_established
      Src: /src/hostap/tests/fuzzing/tls-client/tls-client.c:98,1
    - Dst: read_msg
      Src: /src/hostap/tests/fuzzing/tls-client/tls-client.c:102,1
    - Dst: wpabuf_free
      Src: /src/hostap/tests/fuzzing/tls-client/tls-client.c:103,1
    - Dst: tls_connection_established
      Src: /src/hostap/tests/fuzzing/tls-client/tls-client.c:107,1
    - Dst: wpabuf_free
      Src: /src/hostap/tests/fuzzing/tls-client/tls-client.c:111,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/tests/fuzzing/tls-client/tls-client.c:112,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/tests/fuzzing/tls-client/tls-client.c:115,1
    - Dst: wpabuf_free
      Src: /src/hostap/tests/fuzzing/tls-client/tls-client.c:116,1
    - Dst: tls_connection_encrypt
      Src: /src/hostap/tests/fuzzing/tls-client/tls-client.c:117,1
    - Dst: wpabuf_free
      Src: /src/hostap/tests/fuzzing/tls-client/tls-client.c:118,1
    - Dst: wpabuf_free
      Src: /src/hostap/tests/fuzzing/tls-client/tls-client.c:123,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/tests/fuzzing/tls-client/tls-client.c:124,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/tests/fuzzing/tls-client/tls-client.c:127,1
    - Dst: wpabuf_free
      Src: /src/hostap/tests/fuzzing/tls-client/tls-client.c:128,1
    - Dst: read_msg
      Src: /src/hostap/tests/fuzzing/tls-client/tls-client.c:129,1
    - Dst: wpabuf_free
      Src: /src/hostap/tests/fuzzing/tls-client/tls-client.c:130,1
    - Dst: tls_connection_decrypt
      Src: /src/hostap/tests/fuzzing/tls-client/tls-client.c:135,1
    - Dst: wpabuf_free
      Src: /src/hostap/tests/fuzzing/tls-client/tls-client.c:136,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/tests/fuzzing/tls-client/tls-client.c:140,1
    - Dst: tls_connection_deinit
      Src: /src/hostap/tests/fuzzing/tls-client/tls-client.c:146,1
    - Dst: tls_deinit
      Src: /src/hostap/tests/fuzzing/tls-client/tls-client.c:147,1
    - Dst: wpabuf_free
      Src: /src/hostap/tests/fuzzing/tls-client/tls-client.c:149,1
    - Dst: wpabuf_free
      Src: /src/hostap/tests/fuzzing/tls-client/tls-client.c:150,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 88
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 153
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/hostap/tests/fuzzing/tls-client/tls-client.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - tls_connection_init
    - tls_connection_decrypt
    - tls_connection_handshake
    - wpabuf_put_str
    - tls_connection_encrypt
    - wpa_hexdump_buf
    - wpabuf_free
    - tls_connection_get_failed
    - tls_connection_deinit
    - wpa_fuzzer_set_debug_level
    - wpabuf_alloc
    - tls_connection_established
    - tls_init
    - read_msg
    - tls_deinit
    - os_memset
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/tests/fuzzing/ap-mgmt/ap-mgmt.c:44,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/tests/fuzzing/ap-mgmt/ap-mgmt.c:52,1
    - Dst: wpa_hexdump
      Src: /src/hostap/tests/fuzzing/ap-mgmt/ap-mgmt.c:56,1
    - Dst: ieee802_11_mgmt
      Src: /src/hostap/tests/fuzzing/ap-mgmt/ap-mgmt.c:57,1
    - Dst: eloop_terminate
      Src: /src/hostap/tests/fuzzing/ap-mgmt/ap-mgmt.c:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - eloop_data
    - user_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 62
    functionName: test_send_mgmt
    functionSourceFile: /src/hostap/tests/fuzzing/ap-mgmt/ap-mgmt.c
    functionUses: 0
    functionsReached:
    - WPA_GET_BE16
    - wpa_hexdump
    - eloop_terminate
    - ieee802_11_mgmt
    - os_memset
    linkageType: ''
    returnType: void
    signature: void test_send_mgmt(void *eloop_data, void *user_ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/tests/fuzzing/ap-mgmt/ap-mgmt.c:70,1
    - Dst: os_zalloc
      Src: /src/hostap/tests/fuzzing/ap-mgmt/ap-mgmt.c:75,1
    - Dst: os_free
      Src: /src/hostap/tests/fuzzing/ap-mgmt/ap-mgmt.c:77,1
    - Dst: os_zalloc
      Src: /src/hostap/tests/fuzzing/ap-mgmt/ap-mgmt.c:85,1
    - Dst: os_free
      Src: /src/hostap/tests/fuzzing/ap-mgmt/ap-mgmt.c:87,1
    - Dst: os_free
      Src: /src/hostap/tests/fuzzing/ap-mgmt/ap-mgmt.c:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 95
    functionName: gen_modes
    functionSourceFile: /src/hostap/tests/fuzzing/ap-mgmt/ap-mgmt.c
    functionUses: 0
    functionsReached:
    - os_free
    - os_zalloc
    linkageType: ''
    returnType: struct hostapd_hw_modes
    signature: struct hostapd_hw_modes * gen_modes(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/tests/fuzzing/ap-mgmt/ap-mgmt.c:105,1
    - Dst: hostapd_config_defaults
      Src: /src/hostap/tests/fuzzing/ap-mgmt/ap-mgmt.c:107,1
    - Dst: gen_modes
      Src: /src/hostap/tests/fuzzing/ap-mgmt/ap-mgmt.c:110,1
    - Dst: hostapd_config_defaults_bss
      Src: /src/hostap/tests/fuzzing/ap-mgmt/ap-mgmt.c:117,1
    - Dst: os_memcpy
      Src: /src/hostap/tests/fuzzing/ap-mgmt/ap-mgmt.c:118,1
    - Dst: ap_sta_add
      Src: /src/hostap/tests/fuzzing/ap-mgmt/ap-mgmt.c:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct arg_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 127
    functionName: init_hapd
    functionSourceFile: /src/hostap/tests/fuzzing/ap-mgmt/ap-mgmt.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - ap_sta_add
    - hostapd_config_defaults
    - hostapd_config_defaults_bss
    - gen_modes
    linkageType: ''
    returnType: int
    signature: int init_hapd(struct arg_ctx *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_fuzzer_set_debug_level
      Src: /src/hostap/tests/fuzzing/ap-mgmt/ap-mgmt.c:134,1
    - Dst: os_program_init
      Src: /src/hostap/tests/fuzzing/ap-mgmt/ap-mgmt.c:136,1
    - Dst: eloop_init
      Src: /src/hostap/tests/fuzzing/ap-mgmt/ap-mgmt.c:139,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/ap-mgmt/ap-mgmt.c:140,1
    - Dst: os_memset
      Src: /src/hostap/tests/fuzzing/ap-mgmt/ap-mgmt.c:144,1
    - Dst: init_hapd
      Src: /src/hostap/tests/fuzzing/ap-mgmt/ap-mgmt.c:148,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/tests/fuzzing/ap-mgmt/ap-mgmt.c:151,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/ap-mgmt/ap-mgmt.c:153,1
    - Dst: eloop_run
      Src: /src/hostap/tests/fuzzing/ap-mgmt/ap-mgmt.c:154,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/ap-mgmt/ap-mgmt.c:155,1
    - Dst: hostapd_free_stas
      Src: /src/hostap/tests/fuzzing/ap-mgmt/ap-mgmt.c:156,1
    - Dst: hostapd_free_hw_features
      Src: /src/hostap/tests/fuzzing/ap-mgmt/ap-mgmt.c:157,1
    - Dst: hostapd_config_free
      Src: /src/hostap/tests/fuzzing/ap-mgmt/ap-mgmt.c:161,1
    - Dst: ap_list_deinit
      Src: /src/hostap/tests/fuzzing/ap-mgmt/ap-mgmt.c:162,1
    - Dst: eloop_destroy
      Src: /src/hostap/tests/fuzzing/ap-mgmt/ap-mgmt.c:163,1
    - Dst: os_program_deinit
      Src: /src/hostap/tests/fuzzing/ap-mgmt/ap-mgmt.c:164,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 167
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/hostap/tests/fuzzing/ap-mgmt/ap-mgmt.c
    functionUses: 1
    functionsReached:
    - eloop_run
    - hostapd_free_stas
    - wpa_printf
    - os_program_init
    - hostapd_config_free
    - wpa_fuzzer_set_debug_level
    - eloop_init
    - ap_list_deinit
    - eloop_register_timeout
    - hostapd_free_hw_features
    - init_hapd
    - eloop_destroy
    - os_program_deinit
    - os_memset
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c:57,1
    - Dst: eloop_terminate
      Src: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c:58,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c:61,1
    - Dst: os_malloc
      Src: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c:64,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c:68,1
    - Dst: os_free
      Src: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c:70,1
    - Dst: eloop_terminate
      Src: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c:71,1
    - Dst: os_memcpy
      Src: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c:74,1
    - Dst: wpa_hexdump
      Src: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c:76,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - wpa
    - ret_len
    argTypes:
    - struct wpa*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 80
    functionName: read_msg
    functionSourceFile: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - WPA_GET_BE16
    - os_memcpy
    - wpa_hexdump
    - os_malloc
    - eloop_terminate
    - os_free
    linkageType: ''
    returnType: u8
    signature: u8 * read_msg(struct wpa *wpa, size_t *ret_len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c:87,1
    - Dst: wpa_receive
      Src: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c:89,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c:93,1
    - Dst: auth_read_msg
      Src: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c:95,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c:99,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - eloop_data
    - user_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 103
    functionName: auth_eapol_rx
    functionSourceFile: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c
    functionUses: 0
    functionsReached:
    - wpa_receive
    - eloop_register_timeout
    - wpa_printf
    - auth_read_msg
    linkageType: ''
    returnType: void
    signature: void auth_eapol_rx(void *eloop_data, void *user_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c:110,1
    - Dst: MAC2STR
      Src: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c:111,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - ctx
    - addr
    - level
    - txt
    argTypes:
    - void*
    - u8*
    - logger_level
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 114
    functionName: auth_logger
    functionSourceFile: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: "void auth_logger(void *ctx, const u8 *addr, logger_level level,\n\t\t\tconst
      char *txt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c:119,1
    - Dst: read_msg
      Src: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c:120,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - wpa
    argTypes:
    - struct wpa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 125
    functionName: auth_read_msg
    functionSourceFile: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c
    functionUses: 1
    functionsReached:
    - os_free
    - eloop_register_timeout
    - read_msg
    linkageType: ''
    returnType: int
    signature: int auth_read_msg(struct wpa *wpa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c:133,1
    - Dst: MAC2STR
      Src: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c:135,1
    - Dst: auth_read_msg
      Src: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - ctx
    - addr
    - data
    - data_len
    - encrypt
    argTypes:
    - void*
    - u8*
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 139
    functionName: auth_send_eapol
    functionSourceFile: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    - auth_read_msg
    linkageType: ''
    returnType: int
    signature: "int auth_send_eapol(void *ctx, const u8 *addr, const u8 *data,\n\t\t\t
      \  size_t data_len, int encrypt)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c:148,1
    - Dst: MAC2STR
      Src: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c:149,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 6
    argNames:
    - ctx
    - addr
    - p2p_dev_addr
    - prev_psk
    - psk_len
    - vlan_id
    argTypes:
    - void*
    - u8*
    - u8*
    - u8*
    - size_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 157
    functionName: auth_get_psk
    functionSourceFile: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    linkageType: ''
    returnType: u8
    signature: "u8 * auth_get_psk(void *ctx, const u8 *addr,\n\t\t\t       const u8
      *p2p_dev_addr, const u8 *prev_psk,\n\t\t\t       size_t *psk_len, int *vlan_id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c:164,1
    - Dst: eloop_is_timeout_registered
      Src: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c:165,1
    - Dst: auth_read_msg
      Src: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - eloop_data
    - user_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 167
    functionName: supp_eapol_key_request
    functionSourceFile: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c
    functionUses: 0
    functionsReached:
    - auth_read_msg
    - wpa_printf
    - eloop_is_timeout_registered
    linkageType: ''
    returnType: void
    signature: void supp_eapol_key_request(void *eloop_data, void *user_ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c:176,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c:180,1
    - Dst: MAC2STR
      Src: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c:180,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c:184,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c:187,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 8
    argNames:
    - ctx
    - vlan_id
    - alg
    - addr
    - idx
    - key
    - key_len
    - key_flag
    argTypes:
    - void*
    - int
    - enum wpa_alg
    - u8*
    - int
    - u8*
    - size_t
    - enum key_flag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 192
    functionName: auth_set_key
    functionSourceFile: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    - eloop_register_timeout
    linkageType: ''
    returnType: int
    signature: "int auth_set_key(void *ctx, int vlan_id, enum wpa_alg alg,\n\t\t\tconst
      u8 *addr, int idx, u8 *key,\n\t\t\tsize_t key_len, enum key_flag key_flag)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c:199,1
    - Dst: os_memset
      Src: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c:201,1
    - Dst: wpa_init
      Src: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c:225,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c:227,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    argCount: 1
    argNames:
    - wpa
    argTypes:
    - struct wpa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 232
    functionName: auth_init_group
    functionSourceFile: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpa_init
    - os_memset
    linkageType: ''
    returnType: int
    signature: int auth_init_group(struct wpa *wpa)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_auth_sta_init
      Src: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c:258,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c:260,1
    - Dst: wpa_validate_wpa_ie
      Src: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c:264,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c:267,1
    - Dst: wpa_auth_sm_event
      Src: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c:271,1
    - Dst: wpa_auth_sta_associated
      Src: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c:273,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - wpa
    argTypes:
    - struct wpa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 276
    functionName: auth_init
    functionSourceFile: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c
    functionUses: 11
    functionsReached:
    - wpa_printf
    - wpa_auth_sta_associated
    - wpa_auth_sm_event
    - wpa_auth_sta_init
    - wpa_validate_wpa_ie
    linkageType: ''
    returnType: int
    signature: int auth_init(struct wpa *wpa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_auth_sta_deinit
      Src: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c:281,1
    - Dst: wpa_deinit
      Src: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c:282,1
    - Dst: os_free
      Src: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - wpa
    argTypes:
    - struct wpa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 285
    functionName: deinit
    functionSourceFile: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c
    functionUses: 136
    functionsReached:
    - wpa_auth_sta_deinit
    - os_free
    - wpa_deinit
    linkageType: ''
    returnType: void
    signature: void deinit(struct wpa *wpa)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_fuzzer_set_debug_level
      Src: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c:292,1
    - Dst: os_program_init
      Src: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c:294,1
    - Dst: os_memset
      Src: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c:297,1
    - Dst: os_memset
      Src: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c:301,1
    - Dst: os_memset
      Src: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c:302,1
    - Dst: os_memset
      Src: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c:303,1
    - Dst: eloop_init
      Src: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c:305,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c:306,1
    - Dst: auth_init_group
      Src: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c:310,1
    - Dst: auth_init
      Src: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c:313,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c:316,1
    - Dst: eloop_run
      Src: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c:317,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c:318,1
    - Dst: deinit
      Src: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c:321,1
    - Dst: eloop_destroy
      Src: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c:323,1
    - Dst: os_program_deinit
      Src: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c:325,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 328
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c
    functionUses: 1
    functionsReached:
    - auth_init
    - eloop_run
    - wpa_printf
    - os_program_init
    - deinit
    - wpa_fuzzer_set_debug_level
    - eloop_init
    - eloop_destroy
    - auth_init_group
    - os_program_deinit
    - os_memset
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c:47,1
    - Dst: eloop_terminate
      Src: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c:48,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c:51,1
    - Dst: os_malloc
      Src: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c:54,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c:58,1
    - Dst: os_free
      Src: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c:60,1
    - Dst: eloop_terminate
      Src: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c:61,1
    - Dst: os_memcpy
      Src: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c:64,1
    - Dst: wpa_hexdump
      Src: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c:66,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - wpa
    - ret_len
    argTypes:
    - struct wpa*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 70
    functionName: read_msg
    functionSourceFile: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c
    functionUses: 6
    functionsReached:
    - wpa_printf
    - WPA_GET_BE16
    - os_memcpy
    - wpa_hexdump
    - os_malloc
    - eloop_terminate
    - os_free
    linkageType: ''
    returnType: u8
    signature: u8 * read_msg(struct wpa *wpa, size_t *ret_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c:76,1
    - Dst: os_memcpy
      Src: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - bssid
    argTypes:
    - void*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: supp_get_bssid
    functionSourceFile: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    linkageType: ''
    returnType: int
    signature: int supp_get_bssid(void *ctx, u8 *bssid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - state
    argTypes:
    - void*
    - enum wpa_states
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: supp_set_state
    functionSourceFile: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void supp_set_state(void *ctx, enum wpa_states state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c:92,1
    - Dst: wpa_sm_rx_eapol
      Src: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - eloop_data
    - user_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 95
    functionName: supp_eapol_rx
    functionSourceFile: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_sm_rx_eapol
    linkageType: ''
    returnType: void
    signature: void supp_eapol_rx(void *eloop_data, void *user_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c:100,1
    - Dst: read_msg
      Src: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c:101,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - wpa
    argTypes:
    - struct wpa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 106
    functionName: supp_read_msg
    functionSourceFile: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c
    functionUses: 0
    functionsReached:
    - os_free
    - eloop_register_timeout
    - read_msg
    linkageType: ''
    returnType: int
    signature: int supp_read_msg(struct wpa *wpa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c:114,1
    - Dst: MAC2STR
      Src: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c:116,1
    - Dst: supp_read_msg
      Src: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - ctx
    - dest
    - proto
    - buf
    - len
    argTypes:
    - void*
    - u8*
    - u16
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 119
    functionName: supp_ether_send
    functionSourceFile: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    - supp_read_msg
    linkageType: ''
    returnType: int
    signature: "int supp_ether_send(void *ctx, const u8 *dest, u16 proto, const u8
      *buf,\n\t\t\t   size_t len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c:127,1
    - Dst: os_malloc
      Src: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c:131,1
    - Dst: host_to_be16
      Src: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c:137,1
    - Dst: os_memcpy
      Src: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c:140,1
    - Dst: os_memset
      Src: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c:142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 6
    argNames:
    - ctx
    - type
    - data
    - data_len
    - msg_len
    - data_pos
    argTypes:
    - void*
    - u8
    - void*
    - u16
    - size_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 148
    functionName: supp_alloc_eapol
    functionSourceFile: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - host_to_be16
    - os_malloc
    - os_memset
    linkageType: ''
    returnType: u8
    signature: "u8 * supp_alloc_eapol(void *ctx, u8 type, const void *data,\n\t\t\t
      \    u16 data_len, size_t *msg_len, void **data_pos)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c:166,1
    - Dst: wpa_sm_set_ap_rsn_ie
      Src: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c:170,1
    - Dst: wpa_sm_set_ap_wpa_ie
      Src: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 172
    functionName: supp_get_beacon_ie
    functionSourceFile: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c
    functionUses: 0
    functionsReached:
    - wpa_sm_set_ap_rsn_ie
    - wpa_printf
    - wpa_sm_set_ap_wpa_ie
    linkageType: ''
    returnType: int
    signature: int supp_get_beacon_ie(void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c:180,1
    - Dst: MAC2STR
      Src: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c:182,1
    - Dst: wpa_hexdump
      Src: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c:184,1
    - Dst: wpa_hexdump
      Src: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 11
    argNames:
    - ctx
    - link_id
    - alg
    - addr
    - key_idx
    - set_tx
    - seq
    - seq_len
    - key
    - key_len
    - key_flag
    argTypes:
    - void*
    - int
    - enum wpa_alg
    - u8*
    - int
    - int
    - u8*
    - size_t
    - u8*
    - size_t
    - enum key_flag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 187
    functionName: supp_set_key
    functionSourceFile: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    - wpa_hexdump
    linkageType: ''
    returnType: int
    signature: "int supp_set_key(void *ctx, int link_id, enum wpa_alg alg,\n\t\t\tconst
      u8 *addr, int key_idx, int set_tx,\n\t\t\tconst u8 *seq, size_t seq_len,\n\t\t\tconst
      u8 *key, size_t key_len, enum key_flag key_flag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c:193,1
    - Dst: MAC2STR
      Src: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ctx
    - addr
    - protection_type
    - key_type
    argTypes:
    - void*
    - u8*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 197
    functionName: supp_mlme_setprotection
    functionSourceFile: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int supp_mlme_setprotection(void *ctx, const u8 *addr,\n\t\t\t\t   int
      protection_type, int key_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 203
    functionName: supp_cancel_auth_timeout
    functionSourceFile: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void supp_cancel_auth_timeout(void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 209
    functionName: supp_get_network_ctx
    functionSourceFile: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * supp_get_network_ctx(void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - reason_code
    argTypes:
    - void*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 215
    functionName: supp_deauthenticate
    functionSourceFile: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void supp_deauthenticate(void *ctx, u16 reason_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 221
    functionName: supp_get_state
    functionSourceFile: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum wpa_states
    signature: enum wpa_states supp_get_state(void *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c:226,1
    - Dst: wpa_sm_init
      Src: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c:244,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c:246,1
    - Dst: wpa_sm_set_own_addr
      Src: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c:250,1
    - Dst: wpa_sm_set_param
      Src: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c:252,1
    - Dst: wpa_sm_set_param
      Src: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c:253,1
    - Dst: wpa_sm_set_param
      Src: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c:254,1
    - Dst: wpa_sm_set_param
      Src: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c:256,1
    - Dst: wpa_sm_set_param
      Src: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c:257,1
    - Dst: wpa_sm_set_param
      Src: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c:260,1
    - Dst: wpa_sm_set_param
      Src: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c:261,1
    - Dst: wpa_sm_set_param
      Src: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c:262,1
    - Dst: wpa_sm_set_param
      Src: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c:264,1
    - Dst: wpa_sm_set_param
      Src: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c:265,1
    - Dst: wpa_sm_set_param
      Src: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c:267,1
    - Dst: wpa_sm_set_pmk
      Src: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c:270,1
    - Dst: wpa_sm_set_assoc_wpa_ie_default
      Src: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c:273,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c:275,1
    - Dst: wpa_sm_notify_assoc
      Src: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c:280,1
    - Dst: supp_read_msg
      Src: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c:281,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 45
    argCount: 1
    argNames:
    - wpa
    argTypes:
    - struct wpa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 284
    functionName: supp_init
    functionSourceFile: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c
    functionUses: 1
    functionsReached:
    - wpa_sm_init
    - wpa_printf
    - wpa_sm_set_param
    - wpa_sm_set_assoc_wpa_ie_default
    - supp_read_msg
    - wpa_sm_set_pmk
    - os_zalloc
    - wpa_sm_set_own_addr
    - wpa_sm_notify_assoc
    linkageType: ''
    returnType: int
    signature: int supp_init(struct wpa *wpa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_sm_deinit
      Src: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c:289,1
    - Dst: os_free
      Src: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - wpa
    argTypes:
    - struct wpa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 292
    functionName: deinit
    functionSourceFile: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c
    functionUses: 138
    functionsReached:
    - wpa_sm_deinit
    - os_free
    linkageType: ''
    returnType: void
    signature: void deinit(struct wpa *wpa)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_fuzzer_set_debug_level
      Src: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c:299,1
    - Dst: os_program_init
      Src: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c:301,1
    - Dst: os_memset
      Src: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c:304,1
    - Dst: os_memset
      Src: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c:308,1
    - Dst: os_memset
      Src: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c:309,1
    - Dst: os_memset
      Src: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c:310,1
    - Dst: eloop_init
      Src: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c:312,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c:313,1
    - Dst: supp_init
      Src: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c:317,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c:320,1
    - Dst: eloop_run
      Src: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c:321,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c:322,1
    - Dst: deinit
      Src: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c:325,1
    - Dst: eloop_destroy
      Src: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c:327,1
    - Dst: os_program_deinit
      Src: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c:329,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 295
    functionDepth: 2
    functionLinenumber: 295
    functionLinenumberEnd: 332
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c
    functionUses: 1
    functionsReached:
    - eloop_run
    - wpa_printf
    - os_program_init
    - supp_init
    - deinit
    - wpa_fuzzer_set_debug_level
    - eloop_init
    - eloop_destroy
    - os_program_deinit
    - os_memset
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/tests/fuzzing/eap-mschapv2-peer/eap-mschapv2-peer.c:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - version
    - vendor
    - method
    - name
    argTypes:
    - int
    - int
    - enum eap_type
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 35
    functionName: eap_peer_method_alloc
    functionSourceFile: /src/hostap/tests/fuzzing/eap-mschapv2-peer/eap-mschapv2-peer.c
    functionUses: 0
    functionsReached:
    - os_zalloc
    linkageType: ''
    returnType: struct eap_method
    signature: "struct eap_method * eap_peer_method_alloc(int version, int vendor,\n\t\t\t\t\t
      \ enum eap_type method,\n\t\t\t\t\t  const char *name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - method
    argTypes:
    - struct eap_method*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: eap_peer_method_register
    functionSourceFile: /src/hostap/tests/fuzzing/eap-mschapv2-peer/eap-mschapv2-peer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int eap_peer_method_register(struct eap_method *method)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: eap_get_config
    functionSourceFile: /src/hostap/tests/fuzzing/eap-mschapv2-peer/eap-mschapv2-peer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct eap_peer_config
    signature: struct eap_peer_config * eap_get_config(struct eap_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/tests/fuzzing/eap-mschapv2-peer/eap-mschapv2-peer.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sm
    - len
    argTypes:
    - struct eap_sm*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: eap_get_config_identity
    functionSourceFile: /src/hostap/tests/fuzzing/eap-mschapv2-peer/eap-mschapv2-peer.c
    functionUses: 0
    functionsReached:
    - os_strlen
    linkageType: ''
    returnType: u8
    signature: u8 * eap_get_config_identity(struct eap_sm *sm, size_t *len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eap_get_config
      Src: /src/hostap/tests/fuzzing/eap-mschapv2-peer/eap-mschapv2-peer.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sm
    - len
    argTypes:
    - struct eap_sm*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 73
    functionName: eap_get_config_password
    functionSourceFile: /src/hostap/tests/fuzzing/eap-mschapv2-peer/eap-mschapv2-peer.c
    functionUses: 0
    functionsReached:
    - eap_get_config
    linkageType: ''
    returnType: u8
    signature: u8 * eap_get_config_password(struct eap_sm *sm, size_t *len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_get_config
      Src: /src/hostap/tests/fuzzing/eap-mschapv2-peer/eap-mschapv2-peer.c:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - sm
    - len
    - hash
    argTypes:
    - struct eap_sm*
    - size_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 84
    functionName: eap_get_config_password2
    functionSourceFile: /src/hostap/tests/fuzzing/eap-mschapv2-peer/eap-mschapv2-peer.c
    functionUses: 0
    functionsReached:
    - eap_get_config
    linkageType: ''
    returnType: u8
    signature: u8 * eap_get_config_password2(struct eap_sm *sm, size_t *len, int *hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sm
    - len
    argTypes:
    - struct eap_sm*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: eap_get_config_new_password
    functionSourceFile: /src/hostap/tests/fuzzing/eap-mschapv2-peer/eap-mschapv2-peer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 * eap_get_config_new_password(struct eap_sm *sm, size_t *len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: eap_sm_request_identity
    functionSourceFile: /src/hostap/tests/fuzzing/eap-mschapv2-peer/eap-mschapv2-peer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void eap_sm_request_identity(struct eap_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: eap_sm_request_password
    functionSourceFile: /src/hostap/tests/fuzzing/eap-mschapv2-peer/eap-mschapv2-peer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void eap_sm_request_password(struct eap_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: eap_sm_request_new_password
    functionSourceFile: /src/hostap/tests/fuzzing/eap-mschapv2-peer/eap-mschapv2-peer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void eap_sm_request_new_password(struct eap_sm *sm)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_fuzzer_set_debug_level
      Src: /src/hostap/tests/fuzzing/eap-mschapv2-peer/eap-mschapv2-peer.c:116,1
    - Dst: eap_peer_mschapv2_register
      Src: /src/hostap/tests/fuzzing/eap-mschapv2-peer/eap-mschapv2-peer.c:118,1
    - Dst: os_zalloc
      Src: /src/hostap/tests/fuzzing/eap-mschapv2-peer/eap-mschapv2-peer.c:119,1
    - Dst: init
      Src: /src/hostap/tests/fuzzing/eap-mschapv2-peer/eap-mschapv2-peer.c:122,1
    - Dst: os_memset
      Src: /src/hostap/tests/fuzzing/eap-mschapv2-peer/eap-mschapv2-peer.c:123,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/tests/fuzzing/eap-mschapv2-peer/eap-mschapv2-peer.c:132,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/tests/fuzzing/eap-mschapv2-peer/eap-mschapv2-peer.c:136,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/tests/fuzzing/eap-mschapv2-peer/eap-mschapv2-peer.c:139,1
    - Dst: process
      Src: /src/hostap/tests/fuzzing/eap-mschapv2-peer/eap-mschapv2-peer.c:140,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/tests/fuzzing/eap-mschapv2-peer/eap-mschapv2-peer.c:141,1
    - Dst: wpabuf_free
      Src: /src/hostap/tests/fuzzing/eap-mschapv2-peer/eap-mschapv2-peer.c:142,1
    - Dst: wpabuf_free
      Src: /src/hostap/tests/fuzzing/eap-mschapv2-peer/eap-mschapv2-peer.c:143,1
    - Dst: deinit
      Src: /src/hostap/tests/fuzzing/eap-mschapv2-peer/eap-mschapv2-peer.c:147,1
    - Dst: os_free
      Src: /src/hostap/tests/fuzzing/eap-mschapv2-peer/eap-mschapv2-peer.c:148,1
    - Dst: os_free
      Src: /src/hostap/tests/fuzzing/eap-mschapv2-peer/eap-mschapv2-peer.c:149,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 152
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/hostap/tests/fuzzing/eap-mschapv2-peer/eap-mschapv2-peer.c
    functionUses: 1
    functionsReached:
    - WPA_GET_BE16
    - wpa_hexdump_buf
    - wpabuf_free
    - deinit
    - wpabuf_alloc_copy
    - os_zalloc
    - wpa_fuzzer_set_debug_level
    - eap_peer_mschapv2_register
    - os_free
    - process
    - init
    - os_memset
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: level
      Src: /src/hostap/tests/fuzzing/asn1/asn1.c:42,1
    - Dst: memset
      Src: /src/hostap/tests/fuzzing/asn1/asn1.c:45,1
    - Dst: asn1_get_next
      Src: /src/hostap/tests/fuzzing/asn1/asn1.c:52,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/asn1/asn1.c:58,1
    - Dst: asn1_class_str
      Src: /src/hostap/tests/fuzzing/asn1/asn1.c:60,1
    - Dst: asn1_parse
      Src: /src/hostap/tests/fuzzing/asn1/asn1.c:67,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/asn1/asn1.c:78,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/asn1/asn1.c:83,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/asn1/asn1.c:87,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/asn1/asn1.c:92,1
    - Dst: wpa_hexdump
      Src: /src/hostap/tests/fuzzing/asn1/asn1.c:96,1
    - Dst: wpa_hexdump
      Src: /src/hostap/tests/fuzzing/asn1/asn1.c:101,1
    - Dst: wpa_hexdump
      Src: /src/hostap/tests/fuzzing/asn1/asn1.c:106,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/asn1/asn1.c:112,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/asn1/asn1.c:116,1
    - Dst: asn1_get_oid
      Src: /src/hostap/tests/fuzzing/asn1/asn1.c:119,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/asn1/asn1.c:120,1
    - Dst: asn1_oid_to_str
      Src: /src/hostap/tests/fuzzing/asn1/asn1.c:123,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/asn1/asn1.c:124,1
    - Dst: wpa_hexdump
      Src: /src/hostap/tests/fuzzing/asn1/asn1.c:128,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/asn1/asn1.c:133,1
    - Dst: asn1_parse
      Src: /src/hostap/tests/fuzzing/asn1/asn1.c:134,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/asn1/asn1.c:139,1
    - Dst: asn1_parse
      Src: /src/hostap/tests/fuzzing/asn1/asn1.c:140,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/tests/fuzzing/asn1/asn1.c:145,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/tests/fuzzing/asn1/asn1.c:151,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/tests/fuzzing/asn1/asn1.c:156,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/tests/fuzzing/asn1/asn1.c:161,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/asn1/asn1.c:166,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 97
    argCount: 1
    argNames:
    - class
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 173
    functionName: asn1_class_str
    functionSourceFile: /src/hostap/tests/fuzzing/asn1/asn1.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    - asn1_get_next
    - asn1_class_str
    - asn1_oid_to_str
    - asn1_parse
    - memset
    - level
    - asn1_get_oid
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: char
    signature: char * asn1_class_str(int class)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_fuzzer_set_debug_level
      Src: /src/hostap/tests/fuzzing/asn1/asn1.c:178,1
    - Dst: asn1_parse
      Src: /src/hostap/tests/fuzzing/asn1/asn1.c:180,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/asn1/asn1.c:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 184
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/hostap/tests/fuzzing/asn1/asn1.c
    functionUses: 1
    functionsReached:
    - wpa_fuzzer_set_debug_level
    - wpa_printf
    - asn1_parse
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/tests/fuzzing/eap-aka-peer/eap-aka-peer.c:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - version
    - vendor
    - method
    - name
    argTypes:
    - int
    - int
    - enum eap_type
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 35
    functionName: eap_peer_method_alloc
    functionSourceFile: /src/hostap/tests/fuzzing/eap-aka-peer/eap-aka-peer.c
    functionUses: 0
    functionsReached:
    - os_zalloc
    linkageType: ''
    returnType: struct eap_method
    signature: "struct eap_method * eap_peer_method_alloc(int version, int vendor,\n\t\t\t\t\t
      \ enum eap_type method,\n\t\t\t\t\t  const char *name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - method
    argTypes:
    - struct eap_method*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: eap_peer_method_register
    functionSourceFile: /src/hostap/tests/fuzzing/eap-aka-peer/eap-aka-peer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int eap_peer_method_register(struct eap_method *method)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: eap_get_config
    functionSourceFile: /src/hostap/tests/fuzzing/eap-aka-peer/eap-aka-peer.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: struct eap_peer_config
    signature: struct eap_peer_config * eap_get_config(struct eap_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/tests/fuzzing/eap-aka-peer/eap-aka-peer.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sm
    - len
    argTypes:
    - struct eap_sm*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: eap_get_config_identity
    functionSourceFile: /src/hostap/tests/fuzzing/eap-aka-peer/eap-aka-peer.c
    functionUses: 0
    functionsReached:
    - os_strlen
    linkageType: ''
    returnType: u8
    signature: u8 * eap_get_config_identity(struct eap_sm *sm, size_t *len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: eap_get_config_phase1
    functionSourceFile: /src/hostap/tests/fuzzing/eap-aka-peer/eap-aka-peer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * eap_get_config_phase1(struct eap_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - sm
    - id
    - len
    argTypes:
    - struct eap_sm*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: eap_set_anon_id
    functionSourceFile: /src/hostap/tests/fuzzing/eap-aka-peer/eap-aka-peer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void eap_set_anon_id(struct eap_sm *sm, const u8 *id, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: eap_sm_request_identity
    functionSourceFile: /src/hostap/tests/fuzzing/eap-aka-peer/eap-aka-peer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void eap_sm_request_identity(struct eap_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - sm
    - req
    argTypes:
    - struct eap_sm*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: eap_sm_request_sim
    functionSourceFile: /src/hostap/tests/fuzzing/eap-aka-peer/eap-aka-peer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void eap_sm_request_sim(struct eap_sm *sm, const char *req)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_fuzzer_set_debug_level
      Src: /src/hostap/tests/fuzzing/eap-aka-peer/eap-aka-peer.c:96,1
    - Dst: eap_peer_aka_register
      Src: /src/hostap/tests/fuzzing/eap-aka-peer/eap-aka-peer.c:98,1
    - Dst: os_zalloc
      Src: /src/hostap/tests/fuzzing/eap-aka-peer/eap-aka-peer.c:99,1
    - Dst: init
      Src: /src/hostap/tests/fuzzing/eap-aka-peer/eap-aka-peer.c:102,1
    - Dst: os_memset
      Src: /src/hostap/tests/fuzzing/eap-aka-peer/eap-aka-peer.c:103,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/tests/fuzzing/eap-aka-peer/eap-aka-peer.c:112,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/tests/fuzzing/eap-aka-peer/eap-aka-peer.c:116,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/tests/fuzzing/eap-aka-peer/eap-aka-peer.c:119,1
    - Dst: process
      Src: /src/hostap/tests/fuzzing/eap-aka-peer/eap-aka-peer.c:120,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/tests/fuzzing/eap-aka-peer/eap-aka-peer.c:121,1
    - Dst: wpabuf_free
      Src: /src/hostap/tests/fuzzing/eap-aka-peer/eap-aka-peer.c:122,1
    - Dst: wpabuf_free
      Src: /src/hostap/tests/fuzzing/eap-aka-peer/eap-aka-peer.c:123,1
    - Dst: deinit
      Src: /src/hostap/tests/fuzzing/eap-aka-peer/eap-aka-peer.c:128,1
    - Dst: os_free
      Src: /src/hostap/tests/fuzzing/eap-aka-peer/eap-aka-peer.c:129,1
    - Dst: os_free
      Src: /src/hostap/tests/fuzzing/eap-aka-peer/eap-aka-peer.c:130,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 133
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/hostap/tests/fuzzing/eap-aka-peer/eap-aka-peer.c
    functionUses: 1
    functionsReached:
    - WPA_GET_BE16
    - wpa_hexdump_buf
    - wpabuf_free
    - deinit
    - wpabuf_alloc_copy
    - eap_peer_aka_register
    - wpa_fuzzer_set_debug_level
    - os_zalloc
    - os_free
    - process
    - init
    - os_memset
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/tests/fuzzing/wnm/wnm.c:40,1
    - Dst: ieee802_11_rx_wnm_action
      Src: /src/hostap/tests/fuzzing/wnm/wnm.c:43,1
    - Dst: eloop_terminate
      Src: /src/hostap/tests/fuzzing/wnm/wnm.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - eloop_data
    - user_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 35
    functionDepth: 11
    functionLinenumber: 35
    functionLinenumberEnd: 46
    functionName: test_send_wnm
    functionSourceFile: /src/hostap/tests/fuzzing/wnm/wnm.c
    functionUses: 0
    functionsReached:
    - ieee802_11_rx_wnm_action
    - eloop_terminate
    - wpa_hexdump
    linkageType: ''
    returnType: void
    signature: void test_send_wnm(void *eloop_data, void *user_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/tests/fuzzing/wnm/wnm.c:52,1
    - Dst: wpa_bss_init
      Src: /src/hostap/tests/fuzzing/wnm/wnm.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct arg_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 62
    functionName: init_wpa
    functionSourceFile: /src/hostap/tests/fuzzing/wnm/wnm.c
    functionUses: 2
    functionsReached:
    - wpa_bss_init
    - os_memcpy
    linkageType: ''
    returnType: int
    signature: int init_wpa(struct arg_ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wnm_btm_reset
      Src: /src/hostap/tests/fuzzing/wnm/wnm.c:67,1
    - Dst: wpa_bss_flush
      Src: /src/hostap/tests/fuzzing/wnm/wnm.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct arg_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 4
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: deinit_wpa
    functionSourceFile: /src/hostap/tests/fuzzing/wnm/wnm.c
    functionUses: 1
    functionsReached:
    - wnm_btm_reset
    - wpa_bss_flush
    linkageType: ''
    returnType: void
    signature: void deinit_wpa(struct arg_ctx *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_fuzzer_set_debug_level
      Src: /src/hostap/tests/fuzzing/wnm/wnm.c:76,1
    - Dst: os_program_init
      Src: /src/hostap/tests/fuzzing/wnm/wnm.c:78,1
    - Dst: eloop_init
      Src: /src/hostap/tests/fuzzing/wnm/wnm.c:81,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/wnm/wnm.c:82,1
    - Dst: os_memset
      Src: /src/hostap/tests/fuzzing/wnm/wnm.c:86,1
    - Dst: init_wpa
      Src: /src/hostap/tests/fuzzing/wnm/wnm.c:89,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/tests/fuzzing/wnm/wnm.c:92,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/wnm/wnm.c:94,1
    - Dst: eloop_run
      Src: /src/hostap/tests/fuzzing/wnm/wnm.c:95,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/wnm/wnm.c:96,1
    - Dst: deinit_wpa
      Src: /src/hostap/tests/fuzzing/wnm/wnm.c:97,1
    - Dst: eloop_destroy
      Src: /src/hostap/tests/fuzzing/wnm/wnm.c:100,1
    - Dst: os_program_deinit
      Src: /src/hostap/tests/fuzzing/wnm/wnm.c:101,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 104
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/hostap/tests/fuzzing/wnm/wnm.c
    functionUses: 1
    functionsReached:
    - eloop_run
    - wpa_printf
    - os_program_init
    - init_wpa
    - wpa_fuzzer_set_debug_level
    - eloop_init
    - deinit_wpa
    - eloop_register_timeout
    - eloop_destroy
    - os_program_deinit
    - os_memset
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_fuzzer_set_debug_level
      Src: /src/hostap/tests/fuzzing/radius/radius.c:27,1
    - Dst: os_program_init
      Src: /src/hostap/tests/fuzzing/radius/radius.c:29,1
    - Dst: radius_msg_new
      Src: /src/hostap/tests/fuzzing/radius/radius.c:32,1
    - Dst: radius_msg_finish
      Src: /src/hostap/tests/fuzzing/radius/radius.c:35,1
    - Dst: radius_msg_parse
      Src: /src/hostap/tests/fuzzing/radius/radius.c:37,1
    - Dst: radius_msg_dump
      Src: /src/hostap/tests/fuzzing/radius/radius.c:39,1
    - Dst: radius_msg_get_attr
      Src: /src/hostap/tests/fuzzing/radius/radius.c:40,1
    - Dst: radius_msg_get_vlanid
      Src: /src/hostap/tests/fuzzing/radius/radius.c:42,1
    - Dst: radius_msg_get_eap
      Src: /src/hostap/tests/fuzzing/radius/radius.c:43,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/tests/fuzzing/radius/radius.c:44,1
    - Dst: wpabuf_free
      Src: /src/hostap/tests/fuzzing/radius/radius.c:45,1
    - Dst: radius_msg_get_tunnel_password
      Src: /src/hostap/tests/fuzzing/radius/radius.c:46,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/radius/radius.c:50,1
    - Dst: os_free
      Src: /src/hostap/tests/fuzzing/radius/radius.c:51,1
    - Dst: radius_msg_free
      Src: /src/hostap/tests/fuzzing/radius/radius.c:52,1
    - Dst: radius_msg_free
      Src: /src/hostap/tests/fuzzing/radius/radius.c:55,1
    - Dst: os_program_deinit
      Src: /src/hostap/tests/fuzzing/radius/radius.c:57,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 60
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/hostap/tests/fuzzing/radius/radius.c
    functionUses: 1
    functionsReached:
    - radius_msg_get_eap
    - os_program_init
    - wpa_printf
    - radius_msg_finish
    - radius_msg_get_tunnel_password
    - radius_msg_new
    - radius_msg_dump
    - wpabuf_free
    - radius_msg_get_vlanid
    - radius_msg_get_attr
    - wpa_fuzzer_set_debug_level
    - radius_msg_parse
    - os_free
    - radius_msg_free
    - os_program_deinit
    - wpa_hexdump_buf
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_fuzzer_set_debug_level
      Src: /src/hostap/tests/fuzzing/sae/sae.c:24,1
    - Dst: os_program_init
      Src: /src/hostap/tests/fuzzing/sae/sae.c:26,1
    - Dst: os_memset
      Src: /src/hostap/tests/fuzzing/sae/sae.c:29,1
    - Dst: sae_parse_commit
      Src: /src/hostap/tests/fuzzing/sae/sae.c:30,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/sae/sae.c:32,1
    - Dst: sae_clear_data
      Src: /src/hostap/tests/fuzzing/sae/sae.c:33,1
    - Dst: sae_parse_commit
      Src: /src/hostap/tests/fuzzing/sae/sae.c:34,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/sae/sae.c:36,1
    - Dst: sae_clear_data
      Src: /src/hostap/tests/fuzzing/sae/sae.c:37,1
    - Dst: os_program_deinit
      Src: /src/hostap/tests/fuzzing/sae/sae.c:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 41
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/hostap/tests/fuzzing/sae/sae.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - os_program_init
    - sae_clear_data
    - wpa_fuzzer_set_debug_level
    - sae_parse_commit
    - os_program_deinit
    - os_memset
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_fuzzer_set_debug_level
      Src: /src/hostap/tests/fuzzing/json/json.c:21,1
    - Dst: json_parse
      Src: /src/hostap/tests/fuzzing/json/json.c:23,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/json/json.c:25,1
    - Dst: os_zalloc
      Src: /src/hostap/tests/fuzzing/json/json.c:29,1
    - Dst: json_print_tree
      Src: /src/hostap/tests/fuzzing/json/json.c:31,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/json/json.c:32,1
    - Dst: os_free
      Src: /src/hostap/tests/fuzzing/json/json.c:33,1
    - Dst: json_free
      Src: /src/hostap/tests/fuzzing/json/json.c:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 38
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/hostap/tests/fuzzing/json/json.c
    functionUses: 1
    functionsReached:
    - json_parse
    - wpa_printf
    - json_print_tree
    - wpa_fuzzer_set_debug_level
    - os_zalloc
    - os_free
    - json_free
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_fuzzer_set_debug_level
      Src: /src/hostap/tests/fuzzing/dpp-uri/dpp-uri.c:25,1
    - Dst: os_program_init
      Src: /src/hostap/tests/fuzzing/dpp-uri/dpp-uri.c:27,1
    - Dst: os_malloc
      Src: /src/hostap/tests/fuzzing/dpp-uri/dpp-uri.c:30,1
    - Dst: os_memcpy
      Src: /src/hostap/tests/fuzzing/dpp-uri/dpp-uri.c:33,1
    - Dst: os_memset
      Src: /src/hostap/tests/fuzzing/dpp-uri/dpp-uri.c:35,1
    - Dst: dpp_global_init
      Src: /src/hostap/tests/fuzzing/dpp-uri/dpp-uri.c:36,1
    - Dst: dpp_add_qr_code
      Src: /src/hostap/tests/fuzzing/dpp-uri/dpp-uri.c:40,1
    - Dst: dpp_bootstrap_info
      Src: /src/hostap/tests/fuzzing/dpp-uri/dpp-uri.c:41,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/dpp-uri/dpp-uri.c:42,1
    - Dst: dpp_global_deinit
      Src: /src/hostap/tests/fuzzing/dpp-uri/dpp-uri.c:43,1
    - Dst: os_free
      Src: /src/hostap/tests/fuzzing/dpp-uri/dpp-uri.c:47,1
    - Dst: os_program_deinit
      Src: /src/hostap/tests/fuzzing/dpp-uri/dpp-uri.c:48,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 51
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/hostap/tests/fuzzing/dpp-uri/dpp-uri.c
    functionUses: 1
    functionsReached:
    - dpp_add_qr_code
    - os_memcpy
    - os_program_init
    - wpa_printf
    - dpp_bootstrap_info
    - dpp_global_deinit
    - dpp_global_init
    - os_malloc
    - wpa_fuzzer_set_debug_level
    - os_free
    - os_program_deinit
    - os_memset
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/tests/fuzzing/eapol-supp/eapol-supp.c:34,1
    - Dst: eapol_sm_notify_portEnabled
      Src: /src/hostap/tests/fuzzing/eapol-supp/eapol-supp.c:36,1
    - Dst: wpa_sm_set_param
      Src: /src/hostap/tests/fuzzing/eapol-supp/eapol-supp.c:38,1
    - Dst: wpa_sm_set_param
      Src: /src/hostap/tests/fuzzing/eapol-supp/eapol-supp.c:39,1
    - Dst: wpa_sm_set_param
      Src: /src/hostap/tests/fuzzing/eapol-supp/eapol-supp.c:40,1
    - Dst: wpa_sm_set_param
      Src: /src/hostap/tests/fuzzing/eapol-supp/eapol-supp.c:41,1
    - Dst: wpa_sm_set_param
      Src: /src/hostap/tests/fuzzing/eapol-supp/eapol-supp.c:42,1
    - Dst: wpa_sm_set_assoc_wpa_ie_default
      Src: /src/hostap/tests/fuzzing/eapol-supp/eapol-supp.c:45,1
    - Dst: eapol_sm_rx_eapol
      Src: /src/hostap/tests/fuzzing/eapol-supp/eapol-supp.c:47,1
    - Dst: wpa_sm_rx_eapol
      Src: /src/hostap/tests/fuzzing/eapol-supp/eapol-supp.c:49,1
    - Dst: eloop_terminate
      Src: /src/hostap/tests/fuzzing/eapol-supp/eapol-supp.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - eloop_data
    - user_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 53
    functionName: test_send_eapol
    functionSourceFile: /src/hostap/tests/fuzzing/eapol-supp/eapol-supp.c
    functionUses: 0
    functionsReached:
    - wpa_hexdump
    - wpa_sm_set_param
    - wpa_sm_set_assoc_wpa_ie_default
    - eapol_sm_notify_portEnabled
    - eloop_terminate
    - eapol_sm_rx_eapol
    - wpa_sm_rx_eapol
    linkageType: ''
    returnType: void
    signature: void test_send_eapol(void *eloop_data, void *user_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: get_network_ctx
    functionSourceFile: /src/hostap/tests/fuzzing/eapol-supp/eapol-supp.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * get_network_ctx(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - arg
    - state
    argTypes:
    - void*
    - enum wpa_states
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: set_state
    functionSourceFile: /src/hostap/tests/fuzzing/eapol-supp/eapol-supp.c
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_state(void *arg, enum wpa_states state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - arg
    - reason_code
    argTypes:
    - void*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: deauthenticate
    functionSourceFile: /src/hostap/tests/fuzzing/eapol-supp/eapol-supp.c
    functionUses: 41
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void deauthenticate(void *arg, u16 reason_code)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/tests/fuzzing/eapol-supp/eapol-supp.c:79,1
    - Dst: host_to_be16
      Src: /src/hostap/tests/fuzzing/eapol-supp/eapol-supp.c:85,1
    - Dst: os_memcpy
      Src: /src/hostap/tests/fuzzing/eapol-supp/eapol-supp.c:88,1
    - Dst: os_memset
      Src: /src/hostap/tests/fuzzing/eapol-supp/eapol-supp.c:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 6
    argNames:
    - arg
    - type
    - data
    - data_len
    - msg_len
    - data_pos
    argTypes:
    - void*
    - u8
    - void*
    - u16
    - size_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 96
    functionName: alloc_eapol
    functionSourceFile: /src/hostap/tests/fuzzing/eapol-supp/eapol-supp.c
    functionUses: 3
    functionsReached:
    - host_to_be16
    - os_memcpy
    - os_malloc
    - os_memset
    linkageType: ''
    returnType: u8
    signature: "u8 * alloc_eapol(void *arg, u8 type,\n\t\t\tconst void *data, u16
      data_len,\n\t\t\tsize_t *msg_len, void **data_pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - arg
    - dest
    - proto
    - buf
    - len
    argTypes:
    - void*
    - u8*
    - u16
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: ether_send
    functionSourceFile: /src/hostap/tests/fuzzing/eapol-supp/eapol-supp.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ether_send(void *arg, const u8 *dest, u16 proto,\n\t\t      const
      u8 *buf, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - bssid
    argTypes:
    - void*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: get_bssid
    functionSourceFile: /src/hostap/tests/fuzzing/eapol-supp/eapol-supp.c
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_bssid(void *ctx, u8 *bssid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - type
    - buf
    - len
    argTypes:
    - void*
    - int
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: eapol_send
    functionSourceFile: /src/hostap/tests/fuzzing/eapol-supp/eapol-supp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int eapol_send(void *ctx, int type, const u8 *buf, size_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/tests/fuzzing/eapol-supp/eapol-supp.c:122,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/eapol-supp/eapol-supp.c:124,1
    - Dst: wpa_sm_init
      Src: /src/hostap/tests/fuzzing/eapol-supp/eapol-supp.c:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - arg
    argTypes:
    - struct arg_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 142
    functionName: init_wpa
    functionSourceFile: /src/hostap/tests/fuzzing/eapol-supp/eapol-supp.c
    functionUses: 3
    functionsReached:
    - wpa_sm_init
    - os_zalloc
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int init_wpa(struct arg_ctx *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/tests/fuzzing/eapol-supp/eapol-supp.c:149,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/eapol-supp/eapol-supp.c:151,1
    - Dst: eapol_sm_init
      Src: /src/hostap/tests/fuzzing/eapol-supp/eapol-supp.c:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - arg
    argTypes:
    - struct arg_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 161
    functionName: init_eapol
    functionSourceFile: /src/hostap/tests/fuzzing/eapol-supp/eapol-supp.c
    functionUses: 2
    functionsReached:
    - eapol_sm_init
    - os_zalloc
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int init_eapol(struct arg_ctx *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_fuzzer_set_debug_level
      Src: /src/hostap/tests/fuzzing/eapol-supp/eapol-supp.c:168,1
    - Dst: os_program_init
      Src: /src/hostap/tests/fuzzing/eapol-supp/eapol-supp.c:170,1
    - Dst: eloop_init
      Src: /src/hostap/tests/fuzzing/eapol-supp/eapol-supp.c:173,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/eapol-supp/eapol-supp.c:174,1
    - Dst: os_memset
      Src: /src/hostap/tests/fuzzing/eapol-supp/eapol-supp.c:178,1
    - Dst: init_wpa
      Src: /src/hostap/tests/fuzzing/eapol-supp/eapol-supp.c:181,1
    - Dst: init_eapol
      Src: /src/hostap/tests/fuzzing/eapol-supp/eapol-supp.c:181,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/tests/fuzzing/eapol-supp/eapol-supp.c:184,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/eapol-supp/eapol-supp.c:186,1
    - Dst: eloop_run
      Src: /src/hostap/tests/fuzzing/eapol-supp/eapol-supp.c:187,1
    - Dst: wpa_printf
      Src: /src/hostap/tests/fuzzing/eapol-supp/eapol-supp.c:188,1
    - Dst: wpa_sm_deinit
      Src: /src/hostap/tests/fuzzing/eapol-supp/eapol-supp.c:192,1
    - Dst: eapol_sm_deinit
      Src: /src/hostap/tests/fuzzing/eapol-supp/eapol-supp.c:194,1
    - Dst: eloop_destroy
      Src: /src/hostap/tests/fuzzing/eapol-supp/eapol-supp.c:196,1
    - Dst: os_program_deinit
      Src: /src/hostap/tests/fuzzing/eapol-supp/eapol-supp.c:197,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 200
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/hostap/tests/fuzzing/eapol-supp/eapol-supp.c
    functionUses: 1
    functionsReached:
    - eloop_run
    - wpa_printf
    - os_program_init
    - init_wpa
    - wpa_fuzzer_set_debug_level
    - eloop_init
    - eapol_sm_deinit
    - eloop_register_timeout
    - wpa_sm_deinit
    - init_eapol
    - eloop_destroy
    - os_program_deinit
    - os_memset
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: os_program_init
      Src: /src/hostap/hostapd/sae_pk_gen.c:39,1
    - Dst: fprintf
      Src: /src/hostap/hostapd/sae_pk_gen.c:43,1
    - Dst: atoi
      Src: /src/hostap/hostapd/sae_pk_gen.c:48,1
    - Dst: fprintf
      Src: /src/hostap/hostapd/sae_pk_gen.c:50,1
    - Dst: os_readfile
      Src: /src/hostap/hostapd/sae_pk_gen.c:59,1
    - Dst: fprintf
      Src: /src/hostap/hostapd/sae_pk_gen.c:61,1
    - Dst: strerror
      Src: /src/hostap/hostapd/sae_pk_gen.c:62,1
    - Dst: crypto_ec_key_parse_priv
      Src: /src/hostap/hostapd/sae_pk_gen.c:66,1
    - Dst: fprintf
      Src: /src/hostap/hostapd/sae_pk_gen.c:68,1
    - Dst: crypto_ec_key_get_subject_public_key
      Src: /src/hostap/hostapd/sae_pk_gen.c:72,1
    - Dst: fprintf
      Src: /src/hostap/hostapd/sae_pk_gen.c:74,1
    - Dst: crypto_ec_key_group
      Src: /src/hostap/hostapd/sae_pk_gen.c:78,1
    - Dst: fprintf
      Src: /src/hostap/hostapd/sae_pk_gen.c:90,1
    - Dst: os_strlen
      Src: /src/hostap/hostapd/sae_pk_gen.c:94,1
    - Dst: wpabuf_len
      Src: /src/hostap/hostapd/sae_pk_gen.c:94,1
    - Dst: os_malloc
      Src: /src/hostap/hostapd/sae_pk_gen.c:95,1
    - Dst: fprintf
      Src: /src/hostap/hostapd/sae_pk_gen.c:97,1
    - Dst: os_memcpy
      Src: /src/hostap/hostapd/sae_pk_gen.c:100,1
    - Dst: os_strlen
      Src: /src/hostap/hostapd/sae_pk_gen.c:100,1
    - Dst: os_strlen
      Src: /src/hostap/hostapd/sae_pk_gen.c:101,1
    - Dst: os_get_random
      Src: /src/hostap/hostapd/sae_pk_gen.c:102,1
    - Dst: fprintf
      Src: /src/hostap/hostapd/sae_pk_gen.c:103,1
    - Dst: os_memcpy
      Src: /src/hostap/hostapd/sae_pk_gen.c:106,1
    - Dst: wpabuf_head
      Src: /src/hostap/hostapd/sae_pk_gen.c:106,1
    - Dst: wpabuf_len
      Src: /src/hostap/hostapd/sae_pk_gen.c:106,1
    - Dst: fprintf
      Src: /src/hostap/hostapd/sae_pk_gen.c:108,1
    - Dst: sae_hash
      Src: /src/hostap/hostapd/sae_pk_gen.c:110,1
    - Dst: fprintf
      Src: /src/hostap/hostapd/sae_pk_gen.c:111,1
    - Dst: fprintf
      Src: /src/hostap/hostapd/sae_pk_gen.c:116,1
    - Dst: inc_byte_array
      Src: /src/hostap/hostapd/sae_pk_gen.c:125,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/hostapd/sae_pk_gen.c:128,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/hostapd/sae_pk_gen.c:129,1
    - Dst: fprintf
      Src: /src/hostap/hostapd/sae_pk_gen.c:131,1
    - Dst: base64_encode
      Src: /src/hostap/hostapd/sae_pk_gen.c:134,1
    - Dst: os_memset
      Src: /src/hostap/hostapd/sae_pk_gen.c:147,1
    - Dst: sae_pk_get_be19
      Src: /src/hostap/hostapd/sae_pk_gen.c:150,1
    - Dst: sae_pk_buf_shift_left_19
      Src: /src/hostap/hostapd/sae_pk_gen.c:152,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/hostapd/sae_pk_gen.c:165,1
    - Dst: fprintf
      Src: /src/hostap/hostapd/sae_pk_gen.c:167,1
    - Dst: sae_pk_base32_encode
      Src: /src/hostap/hostapd/sae_pk_gen.c:170,1
    - Dst: printf
      Src: /src/hostap/hostapd/sae_pk_gen.c:174,1
    - Dst: printf
      Src: /src/hostap/hostapd/sae_pk_gen.c:175,1
    - Dst: printf
      Src: /src/hostap/hostapd/sae_pk_gen.c:176,1
    - Dst: os_free
      Src: /src/hostap/hostapd/sae_pk_gen.c:178,1
    - Dst: sae_pk_base32_encode
      Src: /src/hostap/hostapd/sae_pk_gen.c:179,1
    - Dst: printf
      Src: /src/hostap/hostapd/sae_pk_gen.c:181,1
    - Dst: os_free
      Src: /src/hostap/hostapd/sae_pk_gen.c:186,1
    - Dst: wpabuf_free
      Src: /src/hostap/hostapd/sae_pk_gen.c:187,1
    - Dst: crypto_ec_key_deinit
      Src: /src/hostap/hostapd/sae_pk_gen.c:188,1
    - Dst: os_free
      Src: /src/hostap/hostapd/sae_pk_gen.c:189,1
    - Dst: os_free
      Src: /src/hostap/hostapd/sae_pk_gen.c:190,1
    - Dst: os_free
      Src: /src/hostap/hostapd/sae_pk_gen.c:191,1
    - Dst: os_program_deinit
      Src: /src/hostap/hostapd/sae_pk_gen.c:193,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 146
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 196
    functionName: main
    functionSourceFile: /src/hostap/hostapd/sae_pk_gen.c
    functionUses: 1
    functionsReached:
    - os_program_init
    - fprintf
    - inc_byte_array
    - crypto_ec_key_get_subject_public_key
    - atoi
    - os_program_deinit
    - os_strlen
    - crypto_ec_key_deinit
    - wpa_snprintf_hex
    - os_get_random
    - os_readfile
    - sae_pk_get_be19
    - os_free
    - wpabuf_len
    - os_malloc
    - wpabuf_head
    - printf
    - base64_encode
    - os_memset
    - os_memcpy
    - strerror
    - wpabuf_free
    - sae_pk_base32_encode
    - sae_pk_buf_shift_left_19
    - crypto_ec_key_group
    - sae_hash
    - crypto_ec_key_parse_priv
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/hostap/hostapd/config_file.c:38,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/config_file.c:40,1
    - Dst: fgets
      Src: /src/hostap/hostapd/config_file.c:44,1
    - Dst: strtol
      Src: /src/hostap/hostapd/config_file.c:64,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/config_file.c:67,1
    - Dst: fclose
      Src: /src/hostap/hostapd/config_file.c:69,1
    - Dst: os_strlen
      Src: /src/hostap/hostapd/config_file.c:83,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/config_file.c:84,1
    - Dst: fclose
      Src: /src/hostap/hostapd/config_file.c:86,1
    - Dst: os_zalloc
      Src: /src/hostap/hostapd/config_file.c:97,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/config_file.c:99,1
    - Dst: fclose
      Src: /src/hostap/hostapd/config_file.c:101,1
    - Dst: os_strlcpy
      Src: /src/hostap/hostapd/config_file.c:108,1
    - Dst: os_strlcpy
      Src: /src/hostap/hostapd/config_file.c:109,1
    - Dst: fclose
      Src: /src/hostap/hostapd/config_file.c:114,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 65
    argCount: 2
    argNames:
    - bss
    - fname
    argTypes:
    - struct hostapd_bss_config*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 117
    functionName: hostapd_config_read_vlan_file
    functionSourceFile: /src/hostap/hostapd/config_file.c
    functionUses: 0
    functionsReached:
    - strtol
    - os_strlen
    - wpa_printf
    - os_strlcpy
    - fclose
    - os_zalloc
    - fopen
    - fgets
    linkageType: ''
    returnType: int
    signature: "int hostapd_config_read_vlan_file(struct hostapd_bss_config *bss,\n\t\t\t\t\t
      const char *fname)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/hostap/hostapd/config_file.c:130,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/config_file.c:132,1
    - Dst: fgets
      Src: /src/hostap/hostapd/config_file.c:136,1
    - Dst: hwaddr_aton
      Src: /src/hostap/hostapd/config_file.c:159,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/config_file.c:160,1
    - Dst: fclose
      Src: /src/hostap/hostapd/config_file.c:162,1
    - Dst: hostapd_remove_acl_mac
      Src: /src/hostap/hostapd/config_file.c:167,1
    - Dst: atoi
      Src: /src/hostap/hostapd/config_file.c:177,1
    - Dst: hostapd_add_acl_maclist
      Src: /src/hostap/hostapd/config_file.c:179,1
    - Dst: fclose
      Src: /src/hostap/hostapd/config_file.c:180,1
    - Dst: fclose
      Src: /src/hostap/hostapd/config_file.c:185,1
    - Dst: qsort
      Src: /src/hostap/hostapd/config_file.c:188,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 51
    argCount: 3
    argNames:
    - fname
    - acl
    - num
    argTypes:
    - char*
    - struct mac_acl_entry**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 191
    functionName: hostapd_config_read_maclist
    functionSourceFile: /src/hostap/hostapd/config_file.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hwaddr_aton
    - hostapd_add_acl_maclist
    - fclose
    - atoi
    - qsort
    - fopen
    - hostapd_remove_acl_mac
    - fgets
    linkageType: ''
    returnType: int
    signature: "int hostapd_config_read_maclist(const char *fname,\n\t\t\t\t       struct
      mac_acl_entry **acl, int *num)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/config_file.c:207,1
    - Dst: os_malloc
      Src: /src/hostap/hostapd/config_file.c:213,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/config_file.c:215,1
    - Dst: hexstr2bin
      Src: /src/hostap/hostapd/config_file.c:221,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/config_file.c:222,1
    - Dst: os_malloc
      Src: /src/hostap/hostapd/config_file.c:231,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/config_file.c:233,1
    - Dst: hexstr2bin
      Src: /src/hostap/hostapd/config_file.c:239,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/config_file.c:240,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 6
    argNames:
    - user
    - hash
    - len
    - pos
    - line
    - fname
    argTypes:
    - struct hostapd_eap_user*
    - char*
    - size_t
    - char**
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 248
    functionName: hostapd_config_eap_user_salted
    functionSourceFile: /src/hostap/hostapd/config_file.c
    functionUses: 0
    functionsReached:
    - hexstr2bin
    - wpa_printf
    - os_malloc
    linkageType: ''
    returnType: int
    signature: "int hostapd_config_eap_user_salted(struct hostapd_eap_user *user,\n\t\t\t\t\t
      \ const char *hash, size_t len,\n\t\t\t\t\t  char **pos, int line,\n\t\t\t\t\t
      \ const char *fname)"
  - BBCount: 52
    BranchProfiles: []
    Callsites:
    - Dst: os_strncmp
      Src: /src/hostap/hostapd/config_file.c:259,1
    - Dst: os_free
      Src: /src/hostap/hostapd/config_file.c:261,1
    - Dst: os_strdup
      Src: /src/hostap/hostapd/config_file.c:262,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/config_file.c:265,1
    - Dst: fopen
      Src: /src/hostap/hostapd/config_file.c:271,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/config_file.c:273,1
    - Dst: fgets
      Src: /src/hostap/hostapd/config_file.c:278,1
    - Dst: os_strncmp
      Src: /src/hostap/hostapd/config_file.c:295,1
    - Dst: hostapd_parse_radius_attr
      Src: /src/hostap/hostapd/config_file.c:297,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/config_file.c:299,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/config_file.c:319,1
    - Dst: os_zalloc
      Src: /src/hostap/hostapd/config_file.c:324,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/config_file.c:326,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/config_file.c:339,1
    - Dst: os_memdup
      Src: /src/hostap/hostapd/config_file.c:345,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/config_file.c:347,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/config_file.c:363,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/config_file.c:379,1
    - Dst: eap_server_get_type
      Src: /src/hostap/hostapd/config_file.c:384,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/config_file.c:391,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/config_file.c:395,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/config_file.c:399,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/config_file.c:404,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/config_file.c:409,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/config_file.c:413,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/config_file.c:428,1
    - Dst: os_strncmp
      Src: /src/hostap/hostapd/config_file.c:441,1
    - Dst: os_strncmp
      Src: /src/hostap/hostapd/config_file.c:446,1
    - Dst: os_strncmp
      Src: /src/hostap/hostapd/config_file.c:451,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/config_file.c:462,1
    - Dst: os_memdup
      Src: /src/hostap/hostapd/config_file.c:468,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/config_file.c:470,1
    - Dst: os_strncmp
      Src: /src/hostap/hostapd/config_file.c:477,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/config_file.c:484,1
    - Dst: os_malloc
      Src: /src/hostap/hostapd/config_file.c:488,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/config_file.c:490,1
    - Dst: hexstr2bin
      Src: /src/hostap/hostapd/config_file.c:494,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/config_file.c:495,1
    - Dst: os_strncmp
      Src: /src/hostap/hostapd/config_file.c:502,1
    - Dst: hostapd_config_eap_user_salted
      Src: /src/hostap/hostapd/config_file.c:504,1
    - Dst: os_strncmp
      Src: /src/hostap/hostapd/config_file.c:508,1
    - Dst: hostapd_config_eap_user_salted
      Src: /src/hostap/hostapd/config_file.c:510,1
    - Dst: os_strncmp
      Src: /src/hostap/hostapd/config_file.c:514,1
    - Dst: hostapd_config_eap_user_salted
      Src: /src/hostap/hostapd/config_file.c:516,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/config_file.c:526,1
    - Dst: os_malloc
      Src: /src/hostap/hostapd/config_file.c:530,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/config_file.c:532,1
    - Dst: hexstr2bin
      Src: /src/hostap/hostapd/config_file.c:536,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/config_file.c:538,1
    - Dst: os_strncmp
      Src: /src/hostap/hostapd/config_file.c:548,1
    - Dst: hostapd_config_free_eap_user
      Src: /src/hostap/hostapd/config_file.c:563,1
    - Dst: fclose
      Src: /src/hostap/hostapd/config_file.c:568,1
    - Dst: hostapd_config_free_eap_users
      Src: /src/hostap/hostapd/config_file.c:571,1
    - Dst: hostapd_config_free_eap_users
      Src: /src/hostap/hostapd/config_file.c:574,1
    CyclomaticComplexity: 119
    EdgeCount: 119
    ICount: 285
    argCount: 2
    argNames:
    - fname
    - conf
    argTypes:
    - char*
    - struct hostapd_bss_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 578
    functionName: hostapd_config_read_eap_user
    functionSourceFile: /src/hostap/hostapd/config_file.c
    functionUses: 0
    functionsReached:
    - hostapd_config_free_eap_users
    - wpa_printf
    - hostapd_config_free_eap_user
    - hexstr2bin
    - os_memdup
    - os_malloc
    - hostapd_parse_radius_attr
    - os_strncmp
    - fclose
    - hostapd_config_eap_user_salted
    - os_zalloc
    - os_strcmp
    - os_free
    - os_strchr
    - eap_server_get_type
    - fopen
    - os_strdup
    - fgets
    linkageType: ''
    returnType: int
    signature: "int hostapd_config_read_eap_user(const char *fname,\n\t\t\t\t\tstruct
      hostapd_bss_config *conf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_realloc_array
      Src: /src/hostap/hostapd/config_file.c:593,1
    - Dst: os_memset
      Src: /src/hostap/hostapd/config_file.c:602,1
    - Dst: hostapd_parse_ip_addr
      Src: /src/hostap/hostapd/config_file.c:604,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 5
    argNames:
    - server
    - num_server
    - val
    - def_port
    - curr_serv
    argTypes:
    - struct hostapd_radius_server**
    - int*
    - char*
    - int
    - struct hostapd_radius_server**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 584
    functionDepth: 1
    functionLinenumber: 584
    functionLinenumberEnd: 608
    functionName: hostapd_config_read_radius_addr
    functionSourceFile: /src/hostap/hostapd/config_file.c
    functionUses: 0
    functionsReached:
    - hostapd_parse_ip_addr
    - os_memset
    - os_realloc_array
    linkageType: ''
    returnType: int
    signature: "int hostapd_config_read_radius_addr(struct hostapd_radius_server **server,\n\t\t\t\tint
      *num_server, const char *val, int def_port,\n\t\t\t\tstruct hostapd_radius_server
      **curr_serv)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_strchr
      Src: /src/hostap/hostapd/config_file.c:616,1
    - Dst: hostapd_parse_ip_addr
      Src: /src/hostap/hostapd/config_file.c:622,1
    - Dst: os_free
      Src: /src/hostap/hostapd/config_file.c:625,1
    - Dst: os_strdup
      Src: /src/hostap/hostapd/config_file.c:626,1
    - Dst: os_strlen
      Src: /src/hostap/hostapd/config_file.c:629,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - bss
    - val
    argTypes:
    - struct hostapd_bss_config*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 632
    functionName: hostapd_parse_das_client
    functionSourceFile: /src/hostap/hostapd/config_file.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - hostapd_parse_ip_addr
    - os_free
    - os_strchr
    - os_strdup
    linkageType: ''
    returnType: int
    signature: int hostapd_parse_das_client(struct hostapd_bss_config *bss, char *val)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_strdup
      Src: /src/hostap/hostapd/config_file.c:641,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/config_file.c:656,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/config_file.c:658,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/config_file.c:661,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/config_file.c:663,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/config_file.c:666,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/config_file.c:671,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/config_file.c:674,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/config_file.c:676,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/config_file.c:679,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/config_file.c:681,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/config_file.c:683,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/config_file.c:685,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/config_file.c:689,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/config_file.c:693,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/config_file.c:697,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/config_file.c:699,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/config_file.c:702,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/config_file.c:704,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/config_file.c:709,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/config_file.c:713,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/config_file.c:717,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/config_file.c:721,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/config_file.c:725,1
    - Dst: os_free
      Src: /src/hostap/hostapd/config_file.c:727,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 2
    argNames:
    - line
    - value
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 734
    functionName: hostapd_config_parse_key_mgmt
    functionSourceFile: /src/hostap/hostapd/config_file.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpa_printf
    - os_strcmp
    - os_strdup
    linkageType: ''
    returnType: int
    signature: int hostapd_config_parse_key_mgmt(int line, const char *value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_parse_cipher
      Src: /src/hostap/hostapd/config_file.c:749,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/config_file.c:751,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/config_file.c:756,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - line
    - value
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 747
    functionDepth: 1
    functionLinenumber: 747
    functionLinenumberEnd: 761
    functionName: hostapd_config_parse_cipher
    functionSourceFile: /src/hostap/hostapd/config_file.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_parse_cipher
    linkageType: ''
    returnType: int
    signature: int hostapd_config_parse_cipher(int line, const char *value)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/hostapd/config_file.c:768,1
    - Dst: bin_clear_free
      Src: /src/hostap/hostapd/config_file.c:776,1
    - Dst: os_memdup
      Src: /src/hostap/hostapd/config_file.c:795,1
    - Dst: os_malloc
      Src: /src/hostap/hostapd/config_file.c:803,1
    - Dst: hexstr2bin
      Src: /src/hostap/hostapd/config_file.c:807,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 3
    argNames:
    - wep
    - keyidx
    - val
    argTypes:
    - struct hostapd_wep_keys*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 765
    functionDepth: 1
    functionLinenumber: 765
    functionLinenumberEnd: 814
    functionName: hostapd_config_read_wep
    functionSourceFile: /src/hostap/hostapd/config_file.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - hexstr2bin
    - os_memdup
    - os_malloc
    - bin_clear_free
    linkageType: ''
    returnType: int
    signature: "int hostapd_config_read_wep(struct hostapd_wep_keys *wep, int keyidx,\n\t\t\t\t
      \  char *val)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_strchr
      Src: /src/hostap/hostapd/config_file.c:825,1
    - Dst: freq_range_list_parse
      Src: /src/hostap/hostapd/config_file.c:829,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - conf
    - val
    argTypes:
    - struct hostapd_config*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 818
    functionDepth: 1
    functionLinenumber: 818
    functionLinenumberEnd: 833
    functionName: hostapd_parse_chanlist
    functionSourceFile: /src/hostap/hostapd/config_file.c
    functionUses: 0
    functionsReached:
    - os_strchr
    - freq_range_list_parse
    linkageType: ''
    returnType: int
    signature: int hostapd_parse_chanlist(struct hostapd_config *conf, char *val)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/hostapd/config_file.c:842,1
    - Dst: os_malloc
      Src: /src/hostap/hostapd/config_file.c:853,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/config_file.c:859,1
    - Dst: atoi
      Src: /src/hostap/hostapd/config_file.c:863,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - int_list
    - val
    argTypes:
    - int**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 872
    functionName: hostapd_parse_intlist
    functionSourceFile: /src/hostap/hostapd/config_file.c
    functionUses: 0
    functionsReached:
    - os_free
    - os_strchr
    - os_malloc
    - atoi
    linkageType: ''
    returnType: int
    signature: int hostapd_parse_intlist(int **int_list, char *val)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_realloc_array
      Src: /src/hostap/hostapd/config_file.c:882,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/config_file.c:885,1
    - Dst: os_zalloc
      Src: /src/hostap/hostapd/config_file.c:891,1
    - Dst: os_zalloc
      Src: /src/hostap/hostapd/config_file.c:894,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/config_file.c:896,1
    - Dst: os_free
      Src: /src/hostap/hostapd/config_file.c:898,1
    - Dst: hostapd_config_defaults_bss
      Src: /src/hostap/hostapd/config_file.c:905,1
    - Dst: os_strlcpy
      Src: /src/hostap/hostapd/config_file.c:906,1
    - Dst: os_memcpy
      Src: /src/hostap/hostapd/config_file.c:907,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - conf
    - ifname
    argTypes:
    - struct hostapd_config*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 875
    functionDepth: 1
    functionLinenumber: 875
    functionLinenumberEnd: 910
    functionName: hostapd_config_bss
    functionSourceFile: /src/hostap/hostapd/config_file.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_realloc_array
    - os_memcpy
    - os_strlcpy
    - os_zalloc
    - os_free
    - hostapd_config_defaults_bss
    linkageType: ''
    returnType: int
    signature: int hostapd_config_bss(struct hostapd_config *conf, const char *ifname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hexstr2bin
      Src: /src/hostap/hostapd/config_file.c:920,1
    - Dst: hexstr2bin
      Src: /src/hostap/hostapd/config_file.c:924,1
    - Dst: hmac_sha256_kdf
      Src: /src/hostap/hostapd/config_file.c:927,1
    - Dst: os_memset
      Src: /src/hostap/hostapd/config_file.c:929,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - pos
    - key
    - key_len
    argTypes:
    - char*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 915
    functionDepth: 1
    functionLinenumber: 915
    functionLinenumberEnd: 931
    functionName: rkh_derive_key
    functionSourceFile: /src/hostap/hostapd/config_file.c
    functionUses: 0
    functionsReached:
    - hexstr2bin
    - hmac_sha256_kdf
    - os_memset
    linkageType: ''
    returnType: int
    signature: int rkh_derive_key(const char *pos, u8 *key, size_t key_len)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/hostapd/config_file.c:939,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/config_file.c:945,1
    - Dst: hwaddr_aton
      Src: /src/hostap/hostapd/config_file.c:948,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/config_file.c:949,1
    - Dst: os_free
      Src: /src/hostap/hostapd/config_file.c:950,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/config_file.c:955,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/config_file.c:959,1
    - Dst: os_free
      Src: /src/hostap/hostapd/config_file.c:960,1
    - Dst: os_memcpy
      Src: /src/hostap/hostapd/config_file.c:964,1
    - Dst: rkh_derive_key
      Src: /src/hostap/hostapd/config_file.c:967,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/config_file.c:968,1
    - Dst: os_free
      Src: /src/hostap/hostapd/config_file.c:969,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 2
    argNames:
    - bss
    - value
    argTypes:
    - struct hostapd_bss_config*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 934
    functionDepth: 2
    functionLinenumber: 934
    functionLinenumberEnd: 977
    functionName: add_r0kh
    functionSourceFile: /src/hostap/hostapd/config_file.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - hwaddr_aton
    - rkh_derive_key
    - os_zalloc
    - os_free
    - os_strchr
    linkageType: ''
    returnType: int
    signature: int add_r0kh(struct hostapd_bss_config *bss, char *value)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/hostapd/config_file.c:985,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/config_file.c:992,1
    - Dst: hwaddr_aton
      Src: /src/hostap/hostapd/config_file.c:995,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/config_file.c:996,1
    - Dst: os_free
      Src: /src/hostap/hostapd/config_file.c:997,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/config_file.c:1002,1
    - Dst: hwaddr_aton
      Src: /src/hostap/hostapd/config_file.c:1005,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/config_file.c:1006,1
    - Dst: os_free
      Src: /src/hostap/hostapd/config_file.c:1007,1
    - Dst: rkh_derive_key
      Src: /src/hostap/hostapd/config_file.c:1012,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/config_file.c:1013,1
    - Dst: os_free
      Src: /src/hostap/hostapd/config_file.c:1014,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - bss
    - value
    argTypes:
    - struct hostapd_bss_config*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1022
      start: 980
    functionDepth: 2
    functionLinenumber: 980
    functionLinenumberEnd: 1022
    functionName: add_r1kh
    functionSourceFile: /src/hostap/hostapd/config_file.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hwaddr_aton
    - rkh_derive_key
    - os_zalloc
    - os_free
    - os_strchr
    linkageType: ''
    returnType: int
    signature: int add_r1kh(struct hostapd_bss_config *bss, char *value)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/hostap/hostapd/config_file.c:1035,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/config_file.c:1037,1
    - Dst: fgets
      Src: /src/hostap/hostapd/config_file.c:1041,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/config_file.c:1057,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/config_file.c:1059,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/config_file.c:1067,1
    - Dst: add_r0kh
      Src: /src/hostap/hostapd/config_file.c:1068,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/config_file.c:1069,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/config_file.c:1074,1
    - Dst: add_r1kh
      Src: /src/hostap/hostapd/config_file.c:1075,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/config_file.c:1076,1
    - Dst: fclose
      Src: /src/hostap/hostapd/config_file.c:1084,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/config_file.c:1087,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 49
    argCount: 2
    argNames:
    - conf
    - fname
    argTypes:
    - struct hostapd_bss_config*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1093
      start: 1025
    functionDepth: 3
    functionLinenumber: 1025
    functionLinenumberEnd: 1093
    functionName: hostapd_config_read_rxkh_file
    functionSourceFile: /src/hostap/hostapd/config_file.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - fclose
    - add_r1kh
    - add_r0kh
    - os_strchr
    - fopen
    - os_strcmp
    - fgets
    linkageType: ''
    returnType: int
    signature: "int hostapd_config_read_rxkh_file(struct hostapd_bss_config *conf,\n\t\t\t\t
      \ const char *fname)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: os_strstr
      Src: /src/hostap/hostapd/config_file.c:1101,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/config_file.c:1103,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/config_file.c:1107,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/config_file.c:1111,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/config_file.c:1111,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/config_file.c:1115,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/config_file.c:1115,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/config_file.c:1117,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/config_file.c:1119,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/config_file.c:1121,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/config_file.c:1123,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/config_file.c:1125,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/config_file.c:1129,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/config_file.c:1133,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/config_file.c:1137,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/config_file.c:1139,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/config_file.c:1141,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/config_file.c:1143,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/config_file.c:1145,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 48
    argCount: 2
    argNames:
    - conf
    - capab
    argTypes:
    - struct hostapd_config*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1098
    functionDepth: 0
    functionLinenumber: 1098
    functionLinenumberEnd: 1149
    functionName: hostapd_config_ht_capab
    functionSourceFile: /src/hostap/hostapd/config_file.c
    functionUses: 0
    functionsReached:
    - os_strstr
    linkageType: ''
    returnType: int
    signature: "int hostapd_config_ht_capab(struct hostapd_config *conf,\n\t\t\t\t
      \  const char *capab)"
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: os_strstr
      Src: /src/hostap/hostapd/config_file.c:1156,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/config_file.c:1158,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/config_file.c:1160,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/config_file.c:1162,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/config_file.c:1164,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/config_file.c:1166,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/config_file.c:1168,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/config_file.c:1170,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/config_file.c:1172,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/config_file.c:1174,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/config_file.c:1176,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/config_file.c:1178,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/config_file.c:1180,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/config_file.c:1182,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/config_file.c:1184,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/config_file.c:1187,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/config_file.c:1190,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/config_file.c:1193,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/config_file.c:1196,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/config_file.c:1199,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/config_file.c:1202,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/config_file.c:1204,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/config_file.c:1206,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/config_file.c:1208,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/config_file.c:1210,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/config_file.c:1212,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/config_file.c:1214,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/config_file.c:1216,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/config_file.c:1218,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/config_file.c:1220,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/config_file.c:1222,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/config_file.c:1225,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/config_file.c:1228,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/config_file.c:1230,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 70
    argCount: 2
    argNames:
    - conf
    - capab
    argTypes:
    - struct hostapd_config*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1233
      start: 1153
    functionDepth: 0
    functionLinenumber: 1153
    functionLinenumberEnd: 1233
    functionName: hostapd_config_vht_capab
    functionSourceFile: /src/hostap/hostapd/config_file.c
    functionUses: 0
    functionsReached:
    - os_strstr
    linkageType: ''
    returnType: int
    signature: "int hostapd_config_vht_capab(struct hostapd_config *conf,\n\t\t\t\t
      \   const char *capab)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - val
    argTypes:
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1250
      start: 1239
    functionDepth: 0
    functionLinenumber: 1239
    functionLinenumberEnd: 1250
    functionName: find_bit_offset
    functionSourceFile: /src/hostap/hostapd/config_file.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 find_bit_offset(u8 val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find_bit_offset
      Src: /src/hostap/hostapd/config_file.c:1255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - val
    - mask
    argTypes:
    - int
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1256
      start: 1253
    functionDepth: 1
    functionLinenumber: 1253
    functionLinenumberEnd: 1256
    functionName: set_he_cap
    functionSourceFile: /src/hostap/hostapd/config_file.c
    functionUses: 0
    functionsReached:
    - find_bit_offset
    linkageType: ''
    returnType: u8
    signature: u8 set_he_cap(int val, u8 mask)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/hostapd/config_file.c:1264,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/config_file.c:1267,1
    - Dst: atoi
      Src: /src/hostap/hostapd/config_file.c:1271,1
    - Dst: BIT
      Src: /src/hostap/hostapd/config_file.c:1275,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - bitmap
    - val
    argTypes:
    - u8*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1282
      start: 1259
    functionDepth: 0
    functionLinenumber: 1259
    functionLinenumberEnd: 1282
    functionName: hostapd_parse_he_srg_bitmap
    functionSourceFile: /src/hostap/hostapd/config_file.c
    functionUses: 0
    functionsReached:
    - atoi
    - os_strchr
    - BIT
    - os_memset
    linkageType: ''
    returnType: int
    signature: int hostapd_parse_he_srg_bitmap(u8 *bitmap, char *val)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_realloc_array
      Src: /src/hostap/hostapd/config_file.c:1295,1
    - Dst: os_memset
      Src: /src/hostap/hostapd/config_file.c:1302,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/config_file.c:1304,1
    - Dst: os_strdup
      Src: /src/hostap/hostapd/config_file.c:1312,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/config_file.c:1317,1
    - Dst: os_strdup
      Src: /src/hostap/hostapd/config_file.c:1321,1
    - Dst: hostapd_config_free_afc_cert_ids
      Src: /src/hostap/hostapd/config_file.c:1328,1
    - Dst: os_free
      Src: /src/hostap/hostapd/config_file.c:1337,1
    - Dst: os_free
      Src: /src/hostap/hostapd/config_file.c:1338,1
    - Dst: os_free
      Src: /src/hostap/hostapd/config_file.c:1340,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 2
    argNames:
    - conf
    - pos
    argTypes:
    - struct hostapd_config*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1343
      start: 1287
    functionDepth: 1
    functionLinenumber: 1287
    functionLinenumberEnd: 1343
    functionName: hostapd_afc_parse_cert_ids
    functionSourceFile: /src/hostap/hostapd/config_file.c
    functionUses: 0
    functionsReached:
    - os_realloc_array
    - os_free
    - os_strchr
    - hostapd_config_free_afc_cert_ids
    - os_strdup
    - os_memset
    linkageType: ''
    returnType: int
    signature: int hostapd_afc_parse_cert_ids(struct hostapd_config *conf, char *pos)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_realloc_array
      Src: /src/hostap/hostapd/config_file.c:1356,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/config_file.c:1361,1
    - Dst: strtod
      Src: /src/hostap/hostapd/config_file.c:1369,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/config_file.c:1374,1
    - Dst: strtod
      Src: /src/hostap/hostapd/config_file.c:1378,1
    - Dst: os_free
      Src: /src/hostap/hostapd/config_file.c:1386,1
    - Dst: os_free
      Src: /src/hostap/hostapd/config_file.c:1393,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 3
    argNames:
    - data
    - n_linear_polygon_data
    - pos
    argTypes:
    - struct afc_linear_polygon**
    - unsigned int*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1395
      start: 1346
    functionDepth: 1
    functionLinenumber: 1346
    functionLinenumberEnd: 1395
    functionName: hostapd_afc_parse_position_data
    functionSourceFile: /src/hostap/hostapd/config_file.c
    functionUses: 0
    functionsReached:
    - os_free
    - os_strchr
    - strtod
    - os_realloc_array
    linkageType: ''
    returnType: int
    signature: "int hostapd_afc_parse_position_data(struct afc_linear_polygon **data,\n\t\t\t\t\t
      \  unsigned int *n_linear_polygon_data,\n\t\t\t\t\t   char *pos)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/hostapd/config_file.c:1400,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/config_file.c:1406,1
    - Dst: int_array_add_unique
      Src: /src/hostap/hostapd/config_file.c:1410,1
    - Dst: atoi
      Src: /src/hostap/hostapd/config_file.c:1410,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - conf
    - pos
    argTypes:
    - struct hostapd_config*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1415
      start: 1398
    functionDepth: 1
    functionLinenumber: 1398
    functionLinenumberEnd: 1415
    functionName: hostapd_afc_parse_op_class
    functionSourceFile: /src/hostap/hostapd/config_file.c
    functionUses: 0
    functionsReached:
    - os_free
    - os_strchr
    - int_array_add_unique
    - atoi
    linkageType: ''
    returnType: int
    signature: int hostapd_afc_parse_op_class(struct hostapd_config *conf, char *pos)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/hostapd/config_file.c:1425,1
    - Dst: hexstr2bin
      Src: /src/hostap/hostapd/config_file.c:1431,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/config_file.c:1432,1
    - Dst: os_realloc_array
      Src: /src/hostap/hostapd/config_file.c:1438,1
    - Dst: os_memcpy
      Src: /src/hostap/hostapd/config_file.c:1444,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - bss
    - pos
    - line
    argTypes:
    - struct hostapd_bss_config*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1451
      start: 1422
    functionDepth: 1
    functionLinenumber: 1422
    functionLinenumberEnd: 1451
    functionName: parse_roaming_consortium
    functionSourceFile: /src/hostap/hostapd/config_file.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - os_memcpy
    - hexstr2bin
    - os_realloc_array
    linkageType: ''
    returnType: int
    signature: "int parse_roaming_consortium(struct hostapd_bss_config *bss, char
      *pos,\n\t\t\t\t    int line)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_config_parse_string
      Src: /src/hostap/hostapd/config_file.c:1463,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/config_file.c:1469,1
    - Dst: os_strlen
      Src: /src/hostap/hostapd/config_file.c:1474,1
    - Dst: os_strlen
      Src: /src/hostap/hostapd/config_file.c:1477,1
    - Dst: os_realloc_array
      Src: /src/hostap/hostapd/config_file.c:1481,1
    - Dst: os_memset
      Src: /src/hostap/hostapd/config_file.c:1490,1
    - Dst: os_memcpy
      Src: /src/hostap/hostapd/config_file.c:1491,1
    - Dst: os_memcpy
      Src: /src/hostap/hostapd/config_file.c:1493,1
    - Dst: os_free
      Src: /src/hostap/hostapd/config_file.c:1497,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 3
    argNames:
    - array
    - count
    - pos
    argTypes:
    - struct hostapd_lang_string**
    - unsigned int*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1499
      start: 1454
    functionDepth: 1
    functionLinenumber: 1454
    functionLinenumberEnd: 1499
    functionName: parse_lang_string
    functionSourceFile: /src/hostap/hostapd/config_file.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_memcpy
    - os_realloc_array
    - wpa_config_parse_string
    - os_free
    - os_strchr
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int parse_lang_string(struct hostapd_lang_string **array,\n\t\t\t
      \    unsigned int *count, char *pos)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parse_lang_string
      Src: /src/hostap/hostapd/config_file.c:1505,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/config_file.c:1506,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - bss
    - pos
    - line
    argTypes:
    - struct hostapd_bss_config*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1511
      start: 1502
    functionDepth: 2
    functionLinenumber: 1502
    functionLinenumberEnd: 1511
    functionName: parse_venue_name
    functionSourceFile: /src/hostap/hostapd/config_file.c
    functionUses: 0
    functionsReached:
    - parse_lang_string
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int parse_venue_name(struct hostapd_bss_config *bss, char *pos,\n\t\t\t
      \   int line)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_strchr
      Src: /src/hostap/hostapd/config_file.c:1522,1
    - Dst: os_strlen
      Src: /src/hostap/hostapd/config_file.c:1527,1
    - Dst: os_realloc_array
      Src: /src/hostap/hostapd/config_file.c:1531,1
    - Dst: atoi
      Src: /src/hostap/hostapd/config_file.c:1539,1
    - Dst: os_memcpy
      Src: /src/hostap/hostapd/config_file.c:1541,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/config_file.c:1546,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - bss
    - pos
    - line
    argTypes:
    - struct hostapd_bss_config*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1549
      start: 1514
    functionDepth: 1
    functionLinenumber: 1514
    functionLinenumberEnd: 1549
    functionName: parse_venue_url
    functionSourceFile: /src/hostap/hostapd/config_file.c
    functionUses: 1
    functionsReached:
    - os_strlen
    - os_memcpy
    - wpa_printf
    - atoi
    - os_strchr
    - os_realloc_array
    linkageType: ''
    returnType: int
    signature: "int parse_venue_url(struct hostapd_bss_config *bss, char *pos,\n\t\t\t
      \   int line)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/hostapd/config_file.c:1571,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/config_file.c:1589,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/config_file.c:1593,1
    - Dst: os_strlen
      Src: /src/hostap/hostapd/config_file.c:1597,1
    - Dst: os_strlen
      Src: /src/hostap/hostapd/config_file.c:1598,1
    - Dst: os_free
      Src: /src/hostap/hostapd/config_file.c:1611,1
    - Dst: wpa_hexdump
      Src: /src/hostap/hostapd/config_file.c:1614,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/config_file.c:1620,1
    - Dst: os_free
      Src: /src/hostap/hostapd/config_file.c:1622,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 50
    argCount: 3
    argNames:
    - bss
    - buf
    - line
    argTypes:
    - struct hostapd_bss_config*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1624
      start: 1552
    functionDepth: 0
    functionLinenumber: 1552
    functionLinenumberEnd: 1624
    functionName: parse_3gpp_cell_net
    functionSourceFile: /src/hostap/hostapd/config_file.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - wpa_hexdump
    - os_zalloc
    - os_free
    - os_strchr
    linkageType: ''
    returnType: int
    signature: "int parse_3gpp_cell_net(struct hostapd_bss_config *bss, char *buf,\n\t\t\t
      \      int line)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: os_calloc
      Src: /src/hostap/hostapd/config_file.c:1634,1
    - Dst: os_realloc_array
      Src: /src/hostap/hostapd/config_file.c:1648,1
    - Dst: os_free
      Src: /src/hostap/hostapd/config_file.c:1651,1
    - Dst: os_free
      Src: /src/hostap/hostapd/config_file.c:1667,1
    - Dst: os_memset
      Src: /src/hostap/hostapd/config_file.c:1670,1
    - Dst: atoi
      Src: /src/hostap/hostapd/config_file.c:1673,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/config_file.c:1674,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/config_file.c:1679,1
    - Dst: os_strlen
      Src: /src/hostap/hostapd/config_file.c:1684,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/config_file.c:1688,1
    - Dst: os_memcpy
      Src: /src/hostap/hostapd/config_file.c:1692,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/config_file.c:1703,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/config_file.c:1710,1
    - Dst: os_strlen
      Src: /src/hostap/hostapd/config_file.c:1712,1
    - Dst: atoi
      Src: /src/hostap/hostapd/config_file.c:1714,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/config_file.c:1716,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/config_file.c:1721,1
    - Dst: atoi
      Src: /src/hostap/hostapd/config_file.c:1724,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/config_file.c:1725,1
    - Dst: atoi
      Src: /src/hostap/hostapd/config_file.c:1729,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/config_file.c:1730,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/config_file.c:1748,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/config_file.c:1752,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/config_file.c:1763,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 110
    argCount: 3
    argNames:
    - bss
    - buf
    - line
    argTypes:
    - struct hostapd_bss_config*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1765
      start: 1627
    functionDepth: 1
    functionLinenumber: 1627
    functionLinenumberEnd: 1765
    functionName: parse_nai_realm
    functionSourceFile: /src/hostap/hostapd/config_file.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - os_realloc_array
    - os_memcpy
    - os_calloc
    - atoi
    - os_free
    - os_strchr
    - os_memset
    linkageType: ''
    returnType: int
    signature: int parse_nai_realm(struct hostapd_bss_config *bss, char *buf, int
      line)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_strchr
      Src: /src/hostap/hostapd/config_file.c:1776,1
    - Dst: atoi
      Src: /src/hostap/hostapd/config_file.c:1780,1
    - Dst: os_strlen
      Src: /src/hostap/hostapd/config_file.c:1781,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/hostapd/config_file.c:1785,1
    - Dst: hexstr2bin
      Src: /src/hostap/hostapd/config_file.c:1788,1
    - Dst: wpabuf_put
      Src: /src/hostap/hostapd/config_file.c:1788,1
    - Dst: wpabuf_free
      Src: /src/hostap/hostapd/config_file.c:1789,1
    - Dst: dl_list_for_each
      Src: /src/hostap/hostapd/config_file.c:1793,1
    - Dst: wpabuf_free
      Src: /src/hostap/hostapd/config_file.c:1796,1
    - Dst: os_zalloc
      Src: /src/hostap/hostapd/config_file.c:1803,1
    - Dst: wpabuf_free
      Src: /src/hostap/hostapd/config_file.c:1805,1
    - Dst: dl_list_add
      Src: /src/hostap/hostapd/config_file.c:1810,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 3
    argNames:
    - bss
    - buf
    - line
    argTypes:
    - struct hostapd_bss_config*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1813
      start: 1768
    functionDepth: 1
    functionLinenumber: 1768
    functionLinenumberEnd: 1813
    functionName: parse_anqp_elem
    functionSourceFile: /src/hostap/hostapd/config_file.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpabuf_put
    - hexstr2bin
    - wpabuf_free
    - dl_list_for_each
    - wpabuf_alloc
    - os_zalloc
    - dl_list_add
    - atoi
    - os_strchr
    linkageType: ''
    returnType: int
    signature: int parse_anqp_elem(struct hostapd_bss_config *bss, char *buf, int
      line)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/config_file.c:1827,1
    - Dst: atoi
      Src: /src/hostap/hostapd/config_file.c:1832,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/config_file.c:1834,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/config_file.c:1840,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/config_file.c:1847,1
    - Dst: os_memcpy
      Src: /src/hostap/hostapd/config_file.c:1852,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - bss
    - buf
    - line
    argTypes:
    - struct hostapd_bss_config*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1856
      start: 1818
    functionDepth: 0
    functionLinenumber: 1818
    functionLinenumberEnd: 1856
    functionName: parse_qos_map_set
    functionSourceFile: /src/hostap/hostapd/config_file.c
    functionUses: 0
    functionsReached:
    - atoi
    - os_strchr
    - wpa_printf
    - os_memcpy
    linkageType: ''
    returnType: int
    signature: "int parse_qos_map_set(struct hostapd_bss_config *bss,\n\t\t\t     char
      *buf, int line)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_realloc
      Src: /src/hostap/hostapd/config_file.c:1869,1
    - Dst: atoi
      Src: /src/hostap/hostapd/config_file.c:1877,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/config_file.c:1878,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/hostapd/config_file.c:1882,1
    - Dst: atoi
      Src: /src/hostap/hostapd/config_file.c:1882,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/config_file.c:1883,1
    - Dst: atoi
      Src: /src/hostap/hostapd/config_file.c:1887,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - bss
    - buf
    - line
    argTypes:
    - struct hostapd_bss_config*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1891
      start: 1860
    functionDepth: 1
    functionLinenumber: 1860
    functionLinenumberEnd: 1891
    functionName: hs20_parse_conn_capab
    functionSourceFile: /src/hostap/hostapd/config_file.c
    functionUses: 0
    functionsReached:
    - atoi
    - os_strchr
    - os_realloc
    - WPA_PUT_LE16
    linkageType: ''
    returnType: int
    signature: "int hs20_parse_conn_capab(struct hostapd_bss_config *bss, char *buf,\n\t\t\t\t
      int line)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/hostapd/config_file.c:1902,1
    - Dst: hexstr2bin
      Src: /src/hostap/hostapd/config_file.c:1908,1
    - Dst: WPA_PUT_LE32
      Src: /src/hostap/hostapd/config_file.c:1916,1
    - Dst: atoi
      Src: /src/hostap/hostapd/config_file.c:1916,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/config_file.c:1917,1
    - Dst: WPA_PUT_LE32
      Src: /src/hostap/hostapd/config_file.c:1923,1
    - Dst: atoi
      Src: /src/hostap/hostapd/config_file.c:1923,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/config_file.c:1924,1
    - Dst: atoi
      Src: /src/hostap/hostapd/config_file.c:1930,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/config_file.c:1931,1
    - Dst: atoi
      Src: /src/hostap/hostapd/config_file.c:1937,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/config_file.c:1938,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/hostapd/config_file.c:1944,1
    - Dst: atoi
      Src: /src/hostap/hostapd/config_file.c:1944,1
    - Dst: os_free
      Src: /src/hostap/hostapd/config_file.c:1946,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/config_file.c:1952,1
    - Dst: os_free
      Src: /src/hostap/hostapd/config_file.c:1954,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 3
    argNames:
    - bss
    - buf
    - line
    argTypes:
    - struct hostapd_bss_config*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1956
      start: 1894
    functionDepth: 1
    functionLinenumber: 1894
    functionLinenumberEnd: 1956
    functionName: hs20_parse_wan_metrics
    functionSourceFile: /src/hostap/hostapd/config_file.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hexstr2bin
    - os_zalloc
    - WPA_PUT_LE32
    - atoi
    - os_strchr
    - os_free
    - WPA_PUT_LE16
    linkageType: ''
    returnType: int
    signature: "int hs20_parse_wan_metrics(struct hostapd_bss_config *bss, char *buf,\n\t\t\t\t
      \ int line)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parse_lang_string
      Src: /src/hostap/hostapd/config_file.c:1962,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/config_file.c:1964,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - bss
    - pos
    - line
    argTypes:
    - struct hostapd_bss_config*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1969
      start: 1959
    functionDepth: 2
    functionLinenumber: 1959
    functionLinenumberEnd: 1969
    functionName: hs20_parse_oper_friendly_name
    functionSourceFile: /src/hostap/hostapd/config_file.c
    functionUses: 0
    functionsReached:
    - parse_lang_string
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int hs20_parse_oper_friendly_name(struct hostapd_bss_config *bss,\n\t\t\t\t\t
      char *pos, int line)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_realloc_array
      Src: /src/hostap/hostapd/config_file.c:1983,1
    - Dst: atoi
      Src: /src/hostap/hostapd/config_file.c:1988,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/config_file.c:1991,1
    - Dst: strtod
      Src: /src/hostap/hostapd/config_file.c:1995,1
    - Dst: os_free
      Src: /src/hostap/hostapd/config_file.c:2004,1
    - Dst: os_free
      Src: /src/hostap/hostapd/config_file.c:2010,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 2
    argNames:
    - conf
    - pos
    argTypes:
    - struct hostapd_config*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2012
      start: 1975
    functionDepth: 1
    functionLinenumber: 1975
    functionLinenumberEnd: 2012
    functionName: hostapd_config_parse_acs_chan_bias
    functionSourceFile: /src/hostap/hostapd/config_file.c
    functionUses: 0
    functionsReached:
    - os_free
    - atoi
    - os_strchr
    - strtod
    - os_realloc_array
    linkageType: ''
    returnType: int
    signature: "int hostapd_config_parse_acs_chan_bias(struct hostapd_config *conf,\n\t\t\t\t\t
      \     char *pos)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/hostapd/config_file.c:2022,1
    - Dst: wpabuf_parse_bin
      Src: /src/hostap/hostapd/config_file.c:2027,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/config_file.c:2029,1
    - Dst: wpabuf_free
      Src: /src/hostap/hostapd/config_file.c:2034,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - line
    - name
    - buf
    - val
    argTypes:
    - int
    - char*
    - struct wpabuf**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2038
      start: 2016
    functionDepth: 1
    functionLinenumber: 2016
    functionLinenumberEnd: 2038
    functionName: parse_wpabuf_hex
    functionSourceFile: /src/hostap/hostapd/config_file.c
    functionUses: 0
    functionsReached:
    - wpabuf_parse_bin
    - wpa_printf
    - wpabuf_free
    linkageType: ''
    returnType: int
    signature: "int parse_wpabuf_hex(int line, const char *name, struct wpabuf **buf,\n\t\t\t
      \   const char *val)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/hostapd/config_file.c:2047,1
    - Dst: os_zalloc
      Src: /src/hostap/hostapd/config_file.c:2048,1
    - Dst: os_memcpy
      Src: /src/hostap/hostapd/config_file.c:2052,1
    - Dst: fils_domain_name_hash
      Src: /src/hostap/hostapd/config_file.c:2053,1
    - Dst: os_free
      Src: /src/hostap/hostapd/config_file.c:2054,1
    - Dst: dl_list_add_tail
      Src: /src/hostap/hostapd/config_file.c:2057,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - bss
    - val
    argTypes:
    - struct hostapd_bss_config*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2060
      start: 2042
    functionDepth: 1
    functionLinenumber: 2042
    functionLinenumberEnd: 2060
    functionName: parse_fils_realm
    functionSourceFile: /src/hostap/hostapd/config_file.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_memcpy
    - dl_list_add_tail
    - fils_domain_name_hash
    - os_zalloc
    - os_free
    linkageType: ''
    returnType: int
    signature: int parse_fils_realm(struct hostapd_bss_config *bss, const char *val)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: os_strstr
      Src: /src/hostap/hostapd/config_file.c:2074,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/config_file.c:2076,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/config_file.c:2078,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/config_file.c:2080,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/config_file.c:2082,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/config_file.c:2084,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/config_file.c:2086,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/config_file.c:2088,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/config_file.c:2090,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/config_file.c:2092,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/config_file.c:2094,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/config_file.c:2096,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 1
    argNames:
    - val
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2100
      start: 2065
    functionDepth: 0
    functionLinenumber: 2065
    functionLinenumberEnd: 2100
    functionName: parse_tls_flags
    functionSourceFile: /src/hostap/hostapd/config_file.c
    functionUses: 0
    functionsReached:
    - os_strstr
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int parse_tls_flags(const char *val)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/hostapd/config_file.c:2110,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/config_file.c:2116,1
    - Dst: hwaddr_aton
      Src: /src/hostap/hostapd/config_file.c:2119,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/config_file.c:2120,1
    - Dst: os_free
      Src: /src/hostap/hostapd/config_file.c:2121,1
    - Dst: atoi
      Src: /src/hostap/hostapd/config_file.c:2126,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/config_file.c:2128,1
    - Dst: os_free
      Src: /src/hostap/hostapd/config_file.c:2129,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - bss
    - value
    argTypes:
    - struct hostapd_bss_config*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2136
      start: 2105
    functionDepth: 1
    functionLinenumber: 2105
    functionLinenumberEnd: 2136
    functionName: add_airtime_weight
    functionSourceFile: /src/hostap/hostapd/config_file.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hwaddr_aton
    - atoi
    - os_zalloc
    - os_free
    - os_strchr
    linkageType: ''
    returnType: int
    signature: int add_airtime_weight(struct hostapd_bss_config *bss, char *value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/hostap/hostapd/config_file.c:2254,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/config_file.c:2256,1
    - Dst: fgets
      Src: /src/hostap/hostapd/config_file.c:2261,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/config_file.c:2262,1
    - Dst: parse_sae_password
      Src: /src/hostap/hostapd/config_file.c:2266,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/config_file.c:2267,1
    - Dst: fclose
      Src: /src/hostap/hostapd/config_file.c:2270,1
    - Dst: fclose
      Src: /src/hostap/hostapd/config_file.c:2275,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - bss
    - fname
    argTypes:
    - struct hostapd_bss_config*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2277
      start: 2247
    functionDepth: 0
    functionLinenumber: 2247
    functionLinenumberEnd: 2277
    functionName: parse_sae_password_file
    functionSourceFile: /src/hostap/hostapd/config_file.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - fclose
    - parse_sae_password
    - os_strchr
    - fopen
    - fgets
    linkageType: ''
    returnType: int
    signature: "int parse_sae_password_file(struct hostapd_bss_config *bss,\n\t\t\t\t
      \  const char *fname)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/hostapd/config_file.c:2289,1
    - Dst: get_param
      Src: /src/hostap/hostapd/config_file.c:2292,1
    - Dst: hostapd_parse_ip_addr
      Src: /src/hostap/hostapd/config_file.c:2293,1
    - Dst: os_free
      Src: /src/hostap/hostapd/config_file.c:2295,1
    - Dst: get_param
      Src: /src/hostap/hostapd/config_file.c:2296,1
    - Dst: os_strlen
      Src: /src/hostap/hostapd/config_file.c:2297,1
    - Dst: hexstr2bin
      Src: /src/hostap/hostapd/config_file.c:2298,1
    - Dst: os_free
      Src: /src/hostap/hostapd/config_file.c:2300,1
    - Dst: os_free
      Src: /src/hostap/hostapd/config_file.c:2305,1
    - Dst: os_free
      Src: /src/hostap/hostapd/config_file.c:2306,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - bss
    - pos
    argTypes:
    - struct hostapd_bss_config*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2308
      start: 2283
    functionDepth: 1
    functionLinenumber: 2283
    functionLinenumberEnd: 2308
    functionName: hostapd_dpp_controller_parse
    functionSourceFile: /src/hostap/hostapd/config_file.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - hexstr2bin
    - get_param
    - os_zalloc
    - os_free
    - hostapd_parse_ip_addr
    linkageType: ''
    returnType: int
    signature: "int hostapd_dpp_controller_parse(struct hostapd_bss_config *bss,\n\t\t\t\t\tconst
      char *pos)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/hostapd/config_file.c:2315,1
    - Dst: os_memset
      Src: /src/hostap/hostapd/config_file.c:2318,1
    - Dst: hexstr2bin
      Src: /src/hostap/hostapd/config_file.c:2319,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/config_file.c:2320,1
    - Dst: os_memcpy
      Src: /src/hostap/hostapd/config_file.c:2323,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - buf
    - max_len
    - line
    - field
    - val
    argTypes:
    - u8*
    - size_t
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2325
      start: 2312
    functionDepth: 1
    functionLinenumber: 2312
    functionLinenumberEnd: 2325
    functionName: get_hex_config
    functionSourceFile: /src/hostap/hostapd/config_file.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - os_memcpy
    - hexstr2bin
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int get_hex_config(u8 *buf, size_t max_len, int line,\n\t\t\t  const
      char *field, const char *val)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/hostap/hostapd/config_file.c:2332,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/config_file.c:2335,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - pos
    - line
    - ret_val
    argTypes:
    - char*
    - int
    - u16*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2342
      start: 2329
    functionDepth: 0
    functionLinenumber: 2329
    functionLinenumberEnd: 2342
    functionName: get_u16
    functionSourceFile: /src/hostap/hostapd/config_file.c
    functionUses: 0
    functionsReached:
    - strtol
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int get_u16(const char *pos, int line, u16 *ret_val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/hostapd/config_file.c:2351,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/hostapd/config_file.c:2353,1
    - Dst: hexstr2bin
      Src: /src/hostap/hostapd/config_file.c:2357,1
    - Dst: wpabuf_put
      Src: /src/hostap/hostapd/config_file.c:2357,1
    - Dst: wpabuf_free
      Src: /src/hostap/hostapd/config_file.c:2358,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/config_file.c:2359,1
    - Dst: wpabuf_free
      Src: /src/hostap/hostapd/config_file.c:2364,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - val
    - var
    - name
    - line
    argTypes:
    - char*
    - struct wpabuf**
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2367
      start: 2347
    functionDepth: 1
    functionLinenumber: 2347
    functionLinenumberEnd: 2367
    functionName: get_hexstream
    functionSourceFile: /src/hostap/hostapd/config_file.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpabuf_put
    - wpa_printf
    - hexstr2bin
    - wpabuf_free
    - wpabuf_alloc
    linkageType: ''
    returnType: bool
    signature: "bool get_hexstream(const char *val, struct wpabuf **var,\n\t\t\t  const
      char *name, int line)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _val
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4470
      start: 4458
    functionDepth: 0
    functionLinenumber: 4458
    functionLinenumberEnd: 4470
    functionName: PARSE_TEST_PROBABILITY
    functionSourceFile: /src/hostap/hostapd/config_file.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PARSE_TEST_PROBABILITY(_val)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/hostap/hostapd/config_file.c:5279,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/config_file.c:5281,1
    - Dst: hostapd_config_defaults
      Src: /src/hostap/hostapd/config_file.c:5286,1
    - Dst: fclose
      Src: /src/hostap/hostapd/config_file.c:5288,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/config_file.c:5295,1
    - Dst: hostapd_config_free
      Src: /src/hostap/hostapd/config_file.c:5296,1
    - Dst: fclose
      Src: /src/hostap/hostapd/config_file.c:5297,1
    - Dst: fgets
      Src: /src/hostap/hostapd/config_file.c:5303,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/config_file.c:5322,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/config_file.c:5324,1
    - Dst: hostapd_config_fill
      Src: /src/hostap/hostapd/config_file.c:5331,1
    - Dst: fclose
      Src: /src/hostap/hostapd/config_file.c:5334,1
    - Dst: hostapd_set_security_params
      Src: /src/hostap/hostapd/config_file.c:5337,1
    - Dst: hostapd_config_check
      Src: /src/hostap/hostapd/config_file.c:5339,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/config_file.c:5344,1
    - Dst: hostapd_config_free
      Src: /src/hostap/hostapd/config_file.c:5346,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 55
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5352
      start: 5270
    functionDepth: 1
    functionLinenumber: 5270
    functionLinenumberEnd: 5352
    functionName: hostapd_config_read
    functionSourceFile: /src/hostap/hostapd/config_file.c
    functionUses: 0
    functionsReached:
    - fgets
    - wpa_printf
    - hostapd_config_fill
    - hostapd_set_security_params
    - hostapd_config_free
    - fclose
    - hostapd_config_check
    - os_strchr
    - fopen
    - hostapd_config_defaults
    linkageType: ''
    returnType: struct hostapd_config
    signature: struct hostapd_config * hostapd_config_read(const char *fname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_config_fill
      Src: /src/hostap/hostapd/config_file.c:5362,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/config_file.c:5364,1
    - Dst: hostapd_set_security_params
      Src: /src/hostap/hostapd/config_file.c:5370,1
    - Dst: hostapd_config_check
      Src: /src/hostap/hostapd/config_file.c:5372,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/config_file.c:5373,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - conf
    - bss
    - field
    - value
    argTypes:
    - struct hostapd_config*
    - struct hostapd_bss_config*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5378
      start: 5355
    functionDepth: 1
    functionLinenumber: 5355
    functionLinenumberEnd: 5378
    functionName: hostapd_set_iface
    functionSourceFile: /src/hostap/hostapd/config_file.c
    functionUses: 0
    functionsReached:
    - hostapd_set_security_params
    - wpa_printf
    - hostapd_config_fill
    - hostapd_config_check
    linkageType: ''
    returnType: int
    signature: "int hostapd_set_iface(struct hostapd_config *conf,\n\t\t      struct
      hostapd_bss_config *bss, const char *field,\n\t\t      char *value)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/hostapd/main.c:56,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/main.c:95,1
    - Dst: MAC2STR
      Src: /src/hostap/hostapd/main.c:96,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/main.c:100,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/main.c:104,1
    - Dst: MAC2STR
      Src: /src/hostap/hostapd/main.c:105,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/main.c:108,1
    - Dst: wpa_debug_print_timestamp
      Src: /src/hostap/hostapd/main.c:117,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/main.c:118,1
    - Dst: syslog
      Src: /src/hostap/hostapd/main.c:142,1
    - Dst: os_free
      Src: /src/hostap/hostapd/main.c:146,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 72
    argCount: 6
    argNames:
    - ctx
    - addr
    - module
    - level
    - txt
    - len
    argTypes:
    - void*
    - u8*
    - unsigned int
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 147
    functionName: hostapd_logger_cb
    functionSourceFile: /src/hostap/hostapd/main.c
    functionUses: 0
    functionsReached:
    - wpa_debug_print_timestamp
    - wpa_printf
    - syslog
    - os_malloc
    - os_snprintf
    - MAC2STR
    - os_free
    linkageType: ''
    returnType: void
    signature: "void hostapd_logger_cb(void *ctx, const u8 *addr, unsigned int module,\n\t\t\t
      \     int level, const char *txt, size_t len)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/main.c:168,1
    - Dst: hostapd_bss_setup_multi_link
      Src: /src/hostap/hostapd/main.c:174,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/main.c:176,1
    - Dst: hostapd_mld_get_first_bss
      Src: /src/hostap/hostapd/main.c:181,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/hostapd/main.c:196,1
    - Dst: os_memcpy
      Src: /src/hostap/hostapd/main.c:197,1
    - Dst: random_mac_addr_keep_oui
      Src: /src/hostap/hostapd/main.c:199,1
    - Dst: os_memcpy
      Src: /src/hostap/hostapd/main.c:201,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/main.c:204,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/hostapd/main.c:213,1
    - Dst: os_memset
      Src: /src/hostap/hostapd/main.c:216,1
    - Dst: global_init
      Src: /src/hostap/hostapd/main.c:224,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/main.c:226,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/hostapd/main.c:243,1
    - Dst: os_calloc
      Src: /src/hostap/hostapd/main.c:255,1
    - Dst: struct hostapd_data*::driver::can_share_drv
      Src: /src/hostap/hostapd/main.c:268,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/main.c:274,1
    - Dst: os_free
      Src: /src/hostap/hostapd/main.c:275,1
    - Dst: hostapd_if_add
      Src: /src/hostap/hostapd/main.c:282,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/main.c:288,1
    - Dst: MAC2STR
      Src: /src/hostap/hostapd/main.c:289,1
    - Dst: os_free
      Src: /src/hostap/hostapd/main.c:290,1
    - Dst: os_free
      Src: /src/hostap/hostapd/main.c:293,1
    - Dst: os_memcpy
      Src: /src/hostap/hostapd/main.c:296,1
    - Dst: struct hostapd_data*::driver::hapd_init
      Src: /src/hostap/hostapd/main.c:302,1
    - Dst: os_free
      Src: /src/hostap/hostapd/main.c:303,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/main.c:305,1
    - Dst: os_memcpy
      Src: /src/hostap/hostapd/main.c:320,1
    - Dst: random_mac_addr_keep_oui
      Src: /src/hostap/hostapd/main.c:323,1
    - Dst: os_memcpy
      Src: /src/hostap/hostapd/main.c:325,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/main.c:327,1
    - Dst: struct hostapd_data*::driver::get_capa
      Src: /src/hostap/hostapd/main.c:335,1
    - Dst: hostapd_get_ext_capa
      Src: /src/hostap/hostapd/main.c:354,1
    - Dst: hostapd_get_mld_capa
      Src: /src/hostap/hostapd/main.c:356,1
    - Dst: wpa_get_wowlan_triggers
      Src: /src/hostap/hostapd/main.c:358,1
    - Dst: struct hostapd_data*::driver::set_wowlan
      Src: /src/hostap/hostapd/main.c:360,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/main.c:361,1
    - Dst: os_free
      Src: /src/hostap/hostapd/main.c:363,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/main.c:372,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/main.c:380,1
    - Dst: MAC2STR
      Src: /src/hostap/hostapd/main.c:383,1
    - Dst: MAC2STR
      Src: /src/hostap/hostapd/main.c:384,1
    - Dst: hostapd_drv_link_add
      Src: /src/hostap/hostapd/main.c:386,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/main.c:388,1
    - Dst: hostapd_mld_add_link
      Src: /src/hostap/hostapd/main.c:393,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 129
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 398
    functionName: hostapd_driver_init
    functionSourceFile: /src/hostap/hostapd/main.c
    functionUses: 0
    functionsReached:
    - struct hostapd_data*::driver::can_share_drv
    - wpa_printf
    - random_mac_addr_keep_oui
    - wpa_get_wowlan_triggers
    - hostapd_get_mld_capa
    - struct hostapd_data*::driver::get_capa
    - struct hostapd_data*::driver::set_wowlan
    - os_free
    - hostapd_mld_get_first_bss
    - global_init
    - struct hostapd_data*::driver::hapd_init
    - hostapd_if_add
    - is_zero_ether_addr
    - os_memset
    - os_memcpy
    - os_calloc
    - hostapd_drv_link_add
    - MAC2STR
    - hostapd_bss_setup_multi_link
    - hostapd_mld_add_link
    - hostapd_get_ext_capa
    linkageType: ''
    returnType: int
    signature: int hostapd_driver_init(struct hostapd_iface *iface)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/main.c:415,1
    - Dst: hostapd_init
      Src: /src/hostap/hostapd/main.c:416,1
    - Dst: os_strlcpy
      Src: /src/hostap/hostapd/main.c:421,1
    - Dst: hostapd_drv_none
      Src: /src/hostap/hostapd/main.c:433,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/main.c:434,1
    - Dst: hostapd_interface_deinit_free
      Src: /src/hostap/hostapd/main.c:437,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 4
    argNames:
    - interfaces
    - if_name
    - config_fname
    - debug
    argTypes:
    - struct hapd_interfaces*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 442
    functionName: hostapd_interface_init
    functionSourceFile: /src/hostap/hostapd/main.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hostapd_interface_deinit_free
    - hostapd_drv_none
    - hostapd_init
    - os_strlcpy
    linkageType: ''
    returnType: struct hostapd_iface
    signature: "struct hostapd_iface *\nhostapd_interface_init(struct hapd_interfaces
      *interfaces, const char *if_name,\n\t\t       const char *config_fname, int
      debug)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/main.c:450,1
    - Dst: eloop_terminate
      Src: /src/hostap/hostapd/main.c:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sig
    - signal_ctx
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 452
    functionName: handle_term
    functionSourceFile: /src/hostap/hostapd/main.c
    functionUses: 0
    functionsReached:
    - eloop_terminate
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void handle_term(int sig, void *signal_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_reload_config
      Src: /src/hostap/hostapd/main.c:459,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/main.c:460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - iface
    - ctx
    argTypes:
    - struct hostapd_iface*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 464
    functionName: handle_reload_iface
    functionSourceFile: /src/hostap/hostapd/main.c
    functionUses: 0
    functionsReached:
    - hostapd_reload_config
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int handle_reload_iface(struct hostapd_iface *iface, void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/main.c:473,1
    - Dst: hostapd_for_each_interface
      Src: /src/hostap/hostapd/main.c:475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sig
    - signal_ctx
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 476
    functionName: handle_reload
    functionSourceFile: /src/hostap/hostapd/main.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hostapd_for_each_interface
    linkageType: ''
    returnType: void
    signature: void handle_reload(int sig, void *signal_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - sig
    - signal_ctx
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 482
    functionName: handle_dump_state
    functionSourceFile: /src/hostap/hostapd/main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void handle_dump_state(int sig, void *signal_ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/hostapd/main.c:491,1
    - Dst: hostapd_logger_register_cb
      Src: /src/hostap/hostapd/main.c:493,1
    - Dst: eap_server_register_methods
      Src: /src/hostap/hostapd/main.c:495,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/main.c:496,1
    - Dst: eloop_init
      Src: /src/hostap/hostapd/main.c:500,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/main.c:501,1
    - Dst: random_init
      Src: /src/hostap/hostapd/main.c:506,1
    - Dst: eloop_register_signal
      Src: /src/hostap/hostapd/main.c:509,1
    - Dst: eloop_register_signal
      Src: /src/hostap/hostapd/main.c:510,1
    - Dst: eloop_register_signal_terminate
      Src: /src/hostap/hostapd/main.c:512,1
    - Dst: openlog
      Src: /src/hostap/hostapd/main.c:515,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/main.c:521,1
    - Dst: os_calloc
      Src: /src/hostap/hostapd/main.c:524,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - interfaces
    - entropy_file
    argTypes:
    - struct hapd_interfaces*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 529
    functionName: hostapd_global_init
    functionSourceFile: /src/hostap/hostapd/main.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_calloc
    - openlog
    - eap_server_register_methods
    - eloop_register_signal_terminate
    - eloop_register_signal
    - eloop_init
    - random_init
    - hostapd_logger_register_cb
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int hostapd_global_init(struct hapd_interfaces *interfaces,\n\t\t\t
      \      const char *entropy_file)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: global_deinit
      Src: /src/hostap/hostapd/main.c:539,1
    - Dst: os_free
      Src: /src/hostap/hostapd/main.c:541,1
    - Dst: tncs_global_deinit
      Src: /src/hostap/hostapd/main.c:545,1
    - Dst: random_deinit
      Src: /src/hostap/hostapd/main.c:548,1
    - Dst: eloop_destroy
      Src: /src/hostap/hostapd/main.c:551,1
    - Dst: closelog
      Src: /src/hostap/hostapd/main.c:554,1
    - Dst: eap_server_unregister_methods
      Src: /src/hostap/hostapd/main.c:557,1
    - Dst: os_daemonize_terminate
      Src: /src/hostap/hostapd/main.c:559,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - pid_file
    - eloop_initialized
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 532
    functionDepth: 1
    functionLinenumber: 532
    functionLinenumberEnd: 560
    functionName: hostapd_global_deinit
    functionSourceFile: /src/hostap/hostapd/main.c
    functionUses: 0
    functionsReached:
    - tncs_global_deinit
    - eap_server_unregister_methods
    - random_deinit
    - closelog
    - os_daemonize_terminate
    - os_free
    - eloop_destroy
    - global_deinit
    linkageType: ''
    returnType: void
    signature: void hostapd_global_deinit(const char *pid_file, int eloop_initialized)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tncs_global_init
      Src: /src/hostap/hostapd/main.c:579,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/main.c:580,1
    - Dst: os_daemonize
      Src: /src/hostap/hostapd/main.c:586,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/main.c:587,1
    - Dst: strerror
      Src: /src/hostap/hostapd/main.c:587,1
    - Dst: eloop_sock_requeue
      Src: /src/hostap/hostapd/main.c:590,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/main.c:591,1
    - Dst: strerror
      Src: /src/hostap/hostapd/main.c:592,1
    - Dst: eloop_run
      Src: /src/hostap/hostapd/main.c:597,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 3
    argNames:
    - ifaces
    - daemonize
    - pid_file
    argTypes:
    - struct hapd_interfaces*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 563
    functionDepth: 1
    functionLinenumber: 563
    functionLinenumberEnd: 600
    functionName: hostapd_global_run
    functionSourceFile: /src/hostap/hostapd/main.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eloop_sock_requeue
    - strerror
    - tncs_global_init
    - os_daemonize
    - eloop_run
    linkageType: ''
    returnType: int
    signature: "int hostapd_global_run(struct hapd_interfaces *ifaces, int daemonize,\n\t\t\t
      \     const char *pid_file)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/hostap/hostapd/main.c:605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 612
    functionName: show_version
    functionSourceFile: /src/hostap/hostapd/main.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void show_version(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: show_version
      Src: /src/hostap/hostapd/main.c:617,1
    - Dst: fprintf
      Src: /src/hostap/hostapd/main.c:618,1
    - Dst: exit
      Src: /src/hostap/hostapd/main.c:657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 615
    functionDepth: 1
    functionLinenumber: 615
    functionLinenumberEnd: 658
    functionName: usage
    functionSourceFile: /src/hostap/hostapd/main.c
    functionUses: 4
    functionsReached:
    - show_version
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 667
    functionName: hostapd_msg_ifname_cb
    functionSourceFile: /src/hostap/hostapd/main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * hostapd_msg_ifname_cb(void *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/hostapd/main.c:677,1
    - Dst: os_strdup
      Src: /src/hostap/hostapd/main.c:678,1
    - Dst: os_strrchr
      Src: /src/hostap/hostapd/main.c:683,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/main.c:685,1
    - Dst: os_free
      Src: /src/hostap/hostapd/main.c:687,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - interfaces
    - path
    argTypes:
    - struct hapd_interfaces*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 697
    functionName: hostapd_get_global_ctrl_iface
    functionSourceFile: /src/hostap/hostapd/main.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpa_printf
    - os_strdup
    - os_strrchr
    linkageType: ''
    returnType: int
    signature: "int hostapd_get_global_ctrl_iface(struct hapd_interfaces *interfaces,\n\t\t\t\t\t
      const char *path)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getgrnam
      Src: /src/hostap/hostapd/main.c:705,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/main.c:707,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - interfaces
    - group
    argTypes:
    - struct hapd_interfaces*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 700
    functionDepth: 0
    functionLinenumber: 700
    functionLinenumberEnd: 713
    functionName: hostapd_get_ctrl_iface_group
    functionSourceFile: /src/hostap/hostapd/main.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - getgrnam
    linkageType: ''
    returnType: int
    signature: "int hostapd_get_ctrl_iface_group(struct hapd_interfaces *interfaces,\n\t\t\t\t\tconst
      char *group)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strtok_r
      Src: /src/hostap/hostapd/main.c:725,1
    - Dst: os_realloc_array
      Src: /src/hostap/hostapd/main.c:728,1
    - Dst: os_strdup
      Src: /src/hostap/hostapd/main.c:734,1
    - Dst: strtok_r
      Src: /src/hostap/hostapd/main.c:738,1
    - Dst: os_free
      Src: /src/hostap/hostapd/main.c:745,1
    - Dst: os_free
      Src: /src/hostap/hostapd/main.c:746,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - if_names
    - if_names_size
    - arg
    argTypes:
    - char***
    - size_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 716
    functionDepth: 1
    functionLinenumber: 716
    functionLinenumberEnd: 750
    functionName: hostapd_get_interface_names
    functionSourceFile: /src/hostap/hostapd/main.c
    functionUses: 0
    functionsReached:
    - os_free
    - os_realloc_array
    - os_strdup
    - strtok_r
    linkageType: ''
    returnType: int
    signature: "int hostapd_get_interface_names(char ***if_names,\n\t\t\t\t       size_t
      *if_names_size,\n\t\t\t\t       char *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hwaddr_aton
      Src: /src/hostap/hostapd/main.c:760,1
    - Dst: uuid_gen_mac_addr
      Src: /src/hostap/hostapd/main.c:763,1
    - Dst: uuid_bin2str
      Src: /src/hostap/hostapd/main.c:764,1
    - Dst: printf
      Src: /src/hostap/hostapd/main.c:767,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - txt_addr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 754
    functionDepth: 1
    functionLinenumber: 754
    functionLinenumberEnd: 770
    functionName: gen_uuid
    functionSourceFile: /src/hostap/hostapd/main.c
    functionUses: 0
    functionsReached:
    - hwaddr_aton
    - uuid_bin2str
    - uuid_gen_mac_addr
    - printf
    linkageType: ''
    returnType: int
    signature: int gen_uuid(const char *txt_addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_periodic_iface
      Src: /src/hostap/hostapd/main.c:780,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - iface
    - ctx
    argTypes:
    - struct hostapd_iface*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 778
    functionDepth: 1
    functionLinenumber: 778
    functionLinenumberEnd: 782
    functionName: hostapd_periodic_call
    functionSourceFile: /src/hostap/hostapd/main.c
    functionUses: 0
    functionsReached:
    - hostapd_periodic_iface
    linkageType: ''
    returnType: int
    signature: int hostapd_periodic_call(struct hostapd_iface *iface, void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eloop_register_timeout
      Src: /src/hostap/hostapd/main.c:790,1
    - Dst: hostapd_for_each_interface
      Src: /src/hostap/hostapd/main.c:792,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 786
    functionDepth: 1
    functionLinenumber: 786
    functionLinenumberEnd: 793
    functionName: hostapd_periodic
    functionSourceFile: /src/hostap/hostapd/main.c
    functionUses: 0
    functionsReached:
    - hostapd_for_each_interface
    - eloop_register_timeout
    linkageType: ''
    returnType: void
    signature: void hostapd_periodic(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct hapd_interfaces*::mld_ctrl_iface_deinit
      Src: /src/hostap/hostapd/main.c:808,1
    - Dst: os_free
      Src: /src/hostap/hostapd/main.c:809,1
    - Dst: os_free
      Src: /src/hostap/hostapd/main.c:813,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - interfaces
    argTypes:
    - struct hapd_interfaces*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 796
    functionDepth: 0
    functionLinenumber: 796
    functionLinenumberEnd: 817
    functionName: hostapd_global_cleanup_mld
    functionSourceFile: /src/hostap/hostapd/main.c
    functionUses: 0
    functionsReached:
    - os_free
    - struct hapd_interfaces*::mld_ctrl_iface_deinit
    linkageType: ''
    returnType: void
    signature: void hostapd_global_cleanup_mld(struct hapd_interfaces *interfaces)
  - BBCount: 55
    BranchProfiles: []
    Callsites:
    - Dst: os_program_init
      Src: /src/hostap/hostapd/main.c:844,1
    - Dst: os_memset
      Src: /src/hostap/hostapd/main.c:847,1
    - Dst: dl_list_init
      Src: /src/hostap/hostapd/main.c:861,1
    - Dst: dl_list_init
      Src: /src/hostap/hostapd/main.c:863,1
    - Dst: os_memset
      Src: /src/hostap/hostapd/main.c:866,1
    - Dst: dpp_global_init
      Src: /src/hostap/hostapd/main.c:871,1
    - Dst: getopt
      Src: /src/hostap/hostapd/main.c:877,1
    - Dst: usage
      Src: /src/hostap/hostapd/main.c:882,1
    - Dst: os_free
      Src: /src/hostap/hostapd/main.c:902,1
    - Dst: os_rel2abs_path
      Src: /src/hostap/hostapd/main.c:903,1
    - Dst: show_version
      Src: /src/hostap/hostapd/main.c:914,1
    - Dst: exit
      Src: /src/hostap/hostapd/main.c:915,1
    - Dst: hostapd_get_global_ctrl_iface
      Src: /src/hostap/hostapd/main.c:917,1
    - Dst: hostapd_get_ctrl_iface_group
      Src: /src/hostap/hostapd/main.c:921,1
    - Dst: os_realloc_array
      Src: /src/hostap/hostapd/main.c:925,1
    - Dst: gen_uuid
      Src: /src/hostap/hostapd/main.c:943,1
    - Dst: hostapd_get_interface_names
      Src: /src/hostap/hostapd/main.c:946,1
    - Dst: usage
      Src: /src/hostap/hostapd/main.c:959,1
    - Dst: usage
      Src: /src/hostap/hostapd/main.c:966,1
    - Dst: wpa_msg_register_ifname_cb
      Src: /src/hostap/hostapd/main.c:968,1
    - Dst: wpa_debug_open_file
      Src: /src/hostap/hostapd/main.c:971,1
    - Dst: wpa_debug_setup_stdout
      Src: /src/hostap/hostapd/main.c:973,1
    - Dst: wpa_debug_open_syslog
      Src: /src/hostap/hostapd/main.c:976,1
    - Dst: wpa_debug_open_linux_tracing
      Src: /src/hostap/hostapd/main.c:980,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/main.c:982,1
    - Dst: os_calloc
      Src: /src/hostap/hostapd/main.c:990,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/main.c:993,1
    - Dst: hostapd_global_init
      Src: /src/hostap/hostapd/main.c:998,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/main.c:999,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/hostapd/main.c:1003,1
    - Dst: proc_coord_init
      Src: /src/hostap/hostapd/main.c:1008,1
    - Dst: fst_global_init
      Src: /src/hostap/hostapd/main.c:1014,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/main.c:1015,1
    - Dst: fst_global_add_ctrl
      Src: /src/hostap/hostapd/main.c:1021,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/main.c:1022,1
    - Dst: hostapd_interface_init
      Src: /src/hostap/hostapd/main.c:1032,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/main.c:1037,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/main.c:1049,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/main.c:1050,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/main.c:1052,1
    - Dst: hostapd_interface_init_bss
      Src: /src/hostap/hostapd/main.c:1058,1
    - Dst: os_realloc_array
      Src: /src/hostap/hostapd/main.c:1068,1
    - Dst: hostapd_interface_deinit_free
      Src: /src/hostap/hostapd/main.c:1072,1
    - Dst: hostapd_driver_init
      Src: /src/hostap/hostapd/main.c:1090,1
    - Dst: hostapd_setup_interface
      Src: /src/hostap/hostapd/main.c:1091,1
    - Dst: hostapd_global_ctrl_iface_init
      Src: /src/hostap/hostapd/main.c:1095,1
    - Dst: hostapd_global_run
      Src: /src/hostap/hostapd/main.c:1097,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/main.c:1098,1
    - Dst: hostapd_global_ctrl_iface_deinit
      Src: /src/hostap/hostapd/main.c:1105,1
    - Dst: hostapd_interface_deinit_free
      Src: /src/hostap/hostapd/main.c:1113,1
    - Dst: os_free
      Src: /src/hostap/hostapd/main.c:1116,1
    - Dst: hostapd_global_cleanup_mld
      Src: /src/hostap/hostapd/main.c:1120,1
    - Dst: dpp_global_deinit
      Src: /src/hostap/hostapd/main.c:1123,1
    - Dst: proc_coord_deinit
      Src: /src/hostap/hostapd/main.c:1127,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/hostapd/main.c:1131,1
    - Dst: hostapd_global_deinit
      Src: /src/hostap/hostapd/main.c:1132,1
    - Dst: os_free
      Src: /src/hostap/hostapd/main.c:1133,1
    - Dst: wpa_debug_close_syslog
      Src: /src/hostap/hostapd/main.c:1135,1
    - Dst: wpa_debug_close_file
      Src: /src/hostap/hostapd/main.c:1137,1
    - Dst: wpa_debug_close_linux_tracing
      Src: /src/hostap/hostapd/main.c:1138,1
    - Dst: os_free
      Src: /src/hostap/hostapd/main.c:1140,1
    - Dst: os_free
      Src: /src/hostap/hostapd/main.c:1143,1
    - Dst: os_free
      Src: /src/hostap/hostapd/main.c:1144,1
    - Dst: fst_global_deinit
      Src: /src/hostap/hostapd/main.c:1146,1
    - Dst: crypto_unload
      Src: /src/hostap/hostapd/main.c:1148,1
    - Dst: os_program_deinit
      Src: /src/hostap/hostapd/main.c:1149,1
    CyclomaticComplexity: 79
    EdgeCount: 79
    ICount: 227
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 820
    functionDepth: 2
    functionLinenumber: 820
    functionLinenumberEnd: 1152
    functionName: main
    functionSourceFile: /src/hostap/hostapd/main.c
    functionUses: 1
    functionsReached:
    - os_program_init
    - dpp_global_deinit
    - exit
    - wpa_debug_open_file
    - proc_coord_deinit
    - dl_list_init
    - hostapd_get_interface_names
    - wpa_debug_close_linux_tracing
    - wpa_debug_open_syslog
    - hostapd_global_deinit
    - wpa_debug_close_syslog
    - os_program_deinit
    - wpa_printf
    - show_version
    - dpp_global_init
    - hostapd_global_cleanup_mld
    - hostapd_get_global_ctrl_iface
    - hostapd_global_run
    - getopt
    - wpa_msg_register_ifname_cb
    - os_free
    - gen_uuid
    - hostapd_global_init
    - usage
    - hostapd_global_ctrl_iface_deinit
    - hostapd_driver_init
    - hostapd_interface_init
    - wpa_debug_open_linux_tracing
    - hostapd_setup_interface
    - hostapd_get_ctrl_iface_group
    - os_strchr
    - hostapd_global_ctrl_iface_init
    - wpa_debug_setup_stdout
    - fst_global_add_ctrl
    - os_memset
    - proc_coord_init
    - os_calloc
    - hostapd_interface_deinit_free
    - hostapd_interface_init_bss
    - eloop_cancel_timeout
    - fst_global_deinit
    - wpa_debug_close_file
    - crypto_unload
    - eloop_register_timeout
    - os_rel2abs_path
    - fst_global_init
    - os_realloc_array
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/hlr_auc_gw.c:116,1
    - Dst: sqlite3_exec
      Src: /src/hostap/hostapd/hlr_auc_gw.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - db
    - name
    argTypes:
    - sqlite3*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 118
    functionName: db_table_exists
    functionSourceFile: /src/hostap/hostapd/hlr_auc_gw.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - sqlite3_exec
    linkageType: ''
    returnType: int
    signature: int db_table_exists(sqlite3 *db, const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/hostapd/hlr_auc_gw.c:134,1
    - Dst: sqlite3_exec
      Src: /src/hostap/hostapd/hlr_auc_gw.c:135,1
    - Dst: printf
      Src: /src/hostap/hostapd/hlr_auc_gw.c:136,1
    - Dst: sqlite3_free
      Src: /src/hostap/hostapd/hlr_auc_gw.c:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - db
    argTypes:
    - sqlite3*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 142
    functionName: db_table_create_milenage
    functionSourceFile: /src/hostap/hostapd/hlr_auc_gw.c
    functionUses: 0
    functionsReached:
    - sqlite3_free
    - sqlite3_exec
    - printf
    linkageType: ''
    returnType: int
    signature: int db_table_create_milenage(sqlite3 *db)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_open
      Src: /src/hostap/hostapd/hlr_auc_gw.c:149,1
    - Dst: printf
      Src: /src/hostap/hostapd/hlr_auc_gw.c:150,1
    - Dst: sqlite3_errmsg
      Src: /src/hostap/hostapd/hlr_auc_gw.c:151,1
    - Dst: sqlite3_close
      Src: /src/hostap/hostapd/hlr_auc_gw.c:152,1
    - Dst: db_table_exists
      Src: /src/hostap/hostapd/hlr_auc_gw.c:156,1
    - Dst: db_table_create_milenage
      Src: /src/hostap/hostapd/hlr_auc_gw.c:157,1
    - Dst: sqlite3_close
      Src: /src/hostap/hostapd/hlr_auc_gw.c:158,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - db_file
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 163
    functionName: db_open
    functionSourceFile: /src/hostap/hostapd/hlr_auc_gw.c
    functionUses: 0
    functionsReached:
    - sqlite3_close
    - printf
    - sqlite3_errmsg
    - db_table_create_milenage
    - sqlite3_open
    - db_table_exists
    linkageType: ''
    returnType: sqlite3
    signature: sqlite3 * db_open(const char *db_file)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/hlr_auc_gw.c:174,1
    - Dst: hexstr2bin
      Src: /src/hostap/hostapd/hlr_auc_gw.c:175,1
    - Dst: printf
      Src: /src/hostap/hostapd/hlr_auc_gw.c:176,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/hlr_auc_gw.c:180,1
    - Dst: hexstr2bin
      Src: /src/hostap/hostapd/hlr_auc_gw.c:181,1
    - Dst: printf
      Src: /src/hostap/hostapd/hlr_auc_gw.c:182,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/hlr_auc_gw.c:186,1
    - Dst: hexstr2bin
      Src: /src/hostap/hostapd/hlr_auc_gw.c:187,1
    - Dst: printf
      Src: /src/hostap/hostapd/hlr_auc_gw.c:188,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/hlr_auc_gw.c:192,1
    - Dst: hexstr2bin
      Src: /src/hostap/hostapd/hlr_auc_gw.c:193,1
    - Dst: printf
      Src: /src/hostap/hostapd/hlr_auc_gw.c:194,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/hlr_auc_gw.c:198,1
    - Dst: atoi
      Src: /src/hostap/hostapd/hlr_auc_gw.c:199,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 24
    argCount: 4
    argNames:
    - ctx
    - argc
    - argv
    - col
    argTypes:
    - void*
    - int
    - char*[]
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 204
    functionName: get_milenage_cb
    functionSourceFile: /src/hostap/hostapd/hlr_auc_gw.c
    functionUses: 0
    functionsReached:
    - hexstr2bin
    - atoi
    - os_strcmp
    - printf
    linkageType: ''
    returnType: int
    signature: int get_milenage_cb(void *ctx, int argc, char *argv[], char *col[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/hostapd/hlr_auc_gw.c:212,1
    - Dst: atoll
      Src: /src/hostap/hostapd/hlr_auc_gw.c:213,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/hlr_auc_gw.c:214,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/hlr_auc_gw.c:216,1
    - Dst: sqlite3_exec
      Src: /src/hostap/hostapd/hlr_auc_gw.c:218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - imsi_txt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 225
    functionName: db_get_milenage
    functionSourceFile: /src/hostap/hostapd/hlr_auc_gw.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - sqlite3_exec
    - atoll
    - os_memset
    linkageType: ''
    returnType: struct milenage_parameters
    signature: struct milenage_parameters * db_get_milenage(const char *imsi_txt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/hostapd/hlr_auc_gw.c:236,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/hlr_auc_gw.c:238,1
    - Dst: sqlite3_exec
      Src: /src/hostap/hostapd/hlr_auc_gw.c:241,1
    - Dst: printf
      Src: /src/hostap/hostapd/hlr_auc_gw.c:242,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - m
    argTypes:
    - struct milenage_parameters*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 247
    functionName: db_update_milenage_sqn
    functionSourceFile: /src/hostap/hostapd/hlr_auc_gw.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - wpa_snprintf_hex
    - sqlite3_exec
    - printf
    linkageType: ''
    returnType: int
    signature: int db_update_milenage_sqn(struct milenage_parameters *m)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/hostap/hostapd/hlr_auc_gw.c:257,1
    - Dst: perror
      Src: /src/hostap/hostapd/hlr_auc_gw.c:259,1
    - Dst: memset
      Src: /src/hostap/hostapd/hlr_auc_gw.c:263,1
    - Dst: os_strlcpy
      Src: /src/hostap/hostapd/hlr_auc_gw.c:265,1
    - Dst: bind
      Src: /src/hostap/hostapd/hlr_auc_gw.c:266,1
    - Dst: perror
      Src: /src/hostap/hostapd/hlr_auc_gw.c:267,1
    - Dst: close
      Src: /src/hostap/hostapd/hlr_auc_gw.c:268,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 273
    functionName: open_socket
    functionSourceFile: /src/hostap/hostapd/hlr_auc_gw.c
    functionUses: 0
    functionsReached:
    - socket
    - os_strlcpy
    - perror
    - memset
    - close
    - bind
    linkageType: ''
    returnType: int
    signature: int open_socket(const char *path)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/hostap/hostapd/hlr_auc_gw.c:286,1
    - Dst: printf
      Src: /src/hostap/hostapd/hlr_auc_gw.c:288,1
    - Dst: fgets
      Src: /src/hostap/hostapd/hlr_auc_gw.c:293,1
    - Dst: os_zalloc
      Src: /src/hostap/hostapd/hlr_auc_gw.c:309,1
    - Dst: str_token
      Src: /src/hostap/hostapd/hlr_auc_gw.c:317,1
    - Dst: os_strlen
      Src: /src/hostap/hostapd/hlr_auc_gw.c:318,1
    - Dst: printf
      Src: /src/hostap/hostapd/hlr_auc_gw.c:319,1
    - Dst: os_strlcpy
      Src: /src/hostap/hostapd/hlr_auc_gw.c:323,1
    - Dst: str_token
      Src: /src/hostap/hostapd/hlr_auc_gw.c:326,1
    - Dst: os_strlen
      Src: /src/hostap/hostapd/hlr_auc_gw.c:327,1
    - Dst: hexstr2bin
      Src: /src/hostap/hostapd/hlr_auc_gw.c:327,1
    - Dst: printf
      Src: /src/hostap/hostapd/hlr_auc_gw.c:328,1
    - Dst: str_token
      Src: /src/hostap/hostapd/hlr_auc_gw.c:334,1
    - Dst: os_strlen
      Src: /src/hostap/hostapd/hlr_auc_gw.c:335,1
    - Dst: hexstr2bin
      Src: /src/hostap/hostapd/hlr_auc_gw.c:336,1
    - Dst: printf
      Src: /src/hostap/hostapd/hlr_auc_gw.c:337,1
    - Dst: str_token
      Src: /src/hostap/hostapd/hlr_auc_gw.c:343,1
    - Dst: os_strlen
      Src: /src/hostap/hostapd/hlr_auc_gw.c:344,1
    - Dst: hexstr2bin
      Src: /src/hostap/hostapd/hlr_auc_gw.c:345,1
    - Dst: printf
      Src: /src/hostap/hostapd/hlr_auc_gw.c:346,1
    - Dst: os_free
      Src: /src/hostap/hostapd/hlr_auc_gw.c:355,1
    - Dst: fclose
      Src: /src/hostap/hostapd/hlr_auc_gw.c:357,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 60
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 360
    functionName: read_gsm_triplets
    functionSourceFile: /src/hostap/hostapd/hlr_auc_gw.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - str_token
    - hexstr2bin
    - os_strlcpy
    - printf
    - fclose
    - os_zalloc
    - os_free
    - fopen
    - fgets
    linkageType: ''
    returnType: int
    signature: int read_gsm_triplets(const char *fname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/hostap/hostapd/hlr_auc_gw.c:368,1
    - Dst: strcmp
      Src: /src/hostap/hostapd/hlr_auc_gw.c:377,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - imsi
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 385
    functionName: get_gsm_triplet
    functionSourceFile: /src/hostap/hostapd/hlr_auc_gw.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: struct gsm_triplet
    signature: struct gsm_triplet * get_gsm_triplet(const char *imsi)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/hostap/hostapd/hlr_auc_gw.c:398,1
    - Dst: printf
      Src: /src/hostap/hostapd/hlr_auc_gw.c:400,1
    - Dst: fgets
      Src: /src/hostap/hostapd/hlr_auc_gw.c:405,1
    - Dst: os_zalloc
      Src: /src/hostap/hostapd/hlr_auc_gw.c:421,1
    - Dst: str_token
      Src: /src/hostap/hostapd/hlr_auc_gw.c:429,1
    - Dst: os_strlen
      Src: /src/hostap/hostapd/hlr_auc_gw.c:430,1
    - Dst: printf
      Src: /src/hostap/hostapd/hlr_auc_gw.c:431,1
    - Dst: os_strlcpy
      Src: /src/hostap/hostapd/hlr_auc_gw.c:435,1
    - Dst: str_token
      Src: /src/hostap/hostapd/hlr_auc_gw.c:438,1
    - Dst: os_strlen
      Src: /src/hostap/hostapd/hlr_auc_gw.c:439,1
    - Dst: hexstr2bin
      Src: /src/hostap/hostapd/hlr_auc_gw.c:440,1
    - Dst: printf
      Src: /src/hostap/hostapd/hlr_auc_gw.c:441,1
    - Dst: str_token
      Src: /src/hostap/hostapd/hlr_auc_gw.c:447,1
    - Dst: os_strlen
      Src: /src/hostap/hostapd/hlr_auc_gw.c:448,1
    - Dst: hexstr2bin
      Src: /src/hostap/hostapd/hlr_auc_gw.c:449,1
    - Dst: printf
      Src: /src/hostap/hostapd/hlr_auc_gw.c:450,1
    - Dst: str_token
      Src: /src/hostap/hostapd/hlr_auc_gw.c:456,1
    - Dst: os_strlen
      Src: /src/hostap/hostapd/hlr_auc_gw.c:457,1
    - Dst: hexstr2bin
      Src: /src/hostap/hostapd/hlr_auc_gw.c:457,1
    - Dst: printf
      Src: /src/hostap/hostapd/hlr_auc_gw.c:458,1
    - Dst: str_token
      Src: /src/hostap/hostapd/hlr_auc_gw.c:464,1
    - Dst: os_strlen
      Src: /src/hostap/hostapd/hlr_auc_gw.c:465,1
    - Dst: hexstr2bin
      Src: /src/hostap/hostapd/hlr_auc_gw.c:466,1
    - Dst: printf
      Src: /src/hostap/hostapd/hlr_auc_gw.c:467,1
    - Dst: str_token
      Src: /src/hostap/hostapd/hlr_auc_gw.c:472,1
    - Dst: atoi
      Src: /src/hostap/hostapd/hlr_auc_gw.c:474,1
    - Dst: printf
      Src: /src/hostap/hostapd/hlr_auc_gw.c:478,1
    - Dst: os_free
      Src: /src/hostap/hostapd/hlr_auc_gw.c:489,1
    - Dst: fclose
      Src: /src/hostap/hostapd/hlr_auc_gw.c:491,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 75
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 494
    functionName: read_milenage
    functionSourceFile: /src/hostap/hostapd/hlr_auc_gw.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - str_token
    - hexstr2bin
    - os_strlcpy
    - printf
    - fclose
    - os_zalloc
    - atoi
    - os_free
    - fopen
    - fgets
    linkageType: ''
    returnType: int
    signature: int read_milenage(const char *fname)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/hostap/hostapd/hlr_auc_gw.c:505,1
    - Dst: printf
      Src: /src/hostap/hostapd/hlr_auc_gw.c:507,1
    - Dst: snprintf
      Src: /src/hostap/hostapd/hlr_auc_gw.c:511,1
    - Dst: fopen
      Src: /src/hostap/hostapd/hlr_auc_gw.c:512,1
    - Dst: printf
      Src: /src/hostap/hostapd/hlr_auc_gw.c:514,1
    - Dst: fclose
      Src: /src/hostap/hostapd/hlr_auc_gw.c:515,1
    - Dst: fgets
      Src: /src/hostap/hostapd/hlr_auc_gw.c:519,1
    - Dst: strchr
      Src: /src/hostap/hostapd/hlr_auc_gw.c:523,1
    - Dst: strncmp
      Src: /src/hostap/hostapd/hlr_auc_gw.c:530,1
    - Dst: snprintf
      Src: /src/hostap/hostapd/hlr_auc_gw.c:539,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/hostapd/hlr_auc_gw.c:540,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/hostapd/hlr_auc_gw.c:542,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/hostapd/hlr_auc_gw.c:544,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/hostapd/hlr_auc_gw.c:546,1
    - Dst: fprintf
      Src: /src/hostap/hostapd/hlr_auc_gw.c:550,1
    - Dst: fclose
      Src: /src/hostap/hostapd/hlr_auc_gw.c:553,1
    - Dst: fclose
      Src: /src/hostap/hostapd/hlr_auc_gw.c:554,1
    - Dst: snprintf
      Src: /src/hostap/hostapd/hlr_auc_gw.c:556,1
    - Dst: rename
      Src: /src/hostap/hostapd/hlr_auc_gw.c:557,1
    - Dst: perror
      Src: /src/hostap/hostapd/hlr_auc_gw.c:558,1
    - Dst: snprintf
      Src: /src/hostap/hostapd/hlr_auc_gw.c:562,1
    - Dst: rename
      Src: /src/hostap/hostapd/hlr_auc_gw.c:563,1
    - Dst: perror
      Src: /src/hostap/hostapd/hlr_auc_gw.c:564,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 53
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 568
    functionName: update_milenage_file
    functionSourceFile: /src/hostap/hostapd/hlr_auc_gw.c
    functionUses: 0
    functionsReached:
    - strncmp
    - snprintf
    - fprintf
    - wpa_snprintf_hex
    - rename
    - printf
    - fclose
    - perror
    - strchr
    - fopen
    - fgets
    linkageType: ''
    returnType: void
    signature: void update_milenage_file(const char *fname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/hostap/hostapd/hlr_auc_gw.c:576,1
    - Dst: db_get_milenage
      Src: /src/hostap/hostapd/hlr_auc_gw.c:583,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - imsi
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 571
    functionDepth: 1
    functionLinenumber: 571
    functionLinenumberEnd: 587
    functionName: get_milenage
    functionSourceFile: /src/hostap/hostapd/hlr_auc_gw.c
    functionUses: 1
    functionsReached:
    - db_get_milenage
    - strcmp
    linkageType: ''
    returnType: struct milenage_parameters
    signature: struct milenage_parameters * get_milenage(const char *imsi)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/hostap/hostapd/hlr_auc_gw.c:600,1
    - Dst: atoi
      Src: /src/hostap/hostapd/hlr_auc_gw.c:603,1
    - Dst: snprintf
      Src: /src/hostap/hostapd/hlr_auc_gw.c:611,1
    - Dst: get_milenage
      Src: /src/hostap/hostapd/hlr_auc_gw.c:616,1
    - Dst: random_get_bytes
      Src: /src/hostap/hostapd/hlr_auc_gw.c:620,1
    - Dst: gsm_milenage
      Src: /src/hostap/hostapd/hlr_auc_gw.c:622,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/hostapd/hlr_auc_gw.c:624,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/hostapd/hlr_auc_gw.c:626,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/hostapd/hlr_auc_gw.c:628,1
    - Dst: get_gsm_triplet
      Src: /src/hostap/hostapd/hlr_auc_gw.c:635,1
    - Dst: strcmp
      Src: /src/hostap/hostapd/hlr_auc_gw.c:636,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/hostapd/hlr_auc_gw.c:641,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/hostapd/hlr_auc_gw.c:644,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/hostapd/hlr_auc_gw.c:647,1
    - Dst: printf
      Src: /src/hostap/hostapd/hlr_auc_gw.c:652,1
    - Dst: snprintf
      Src: /src/hostap/hostapd/hlr_auc_gw.c:653,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 55
    argCount: 3
    argNames:
    - imsi
    - resp
    - resp_len
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 590
    functionDepth: 2
    functionLinenumber: 590
    functionLinenumberEnd: 660
    functionName: sim_req_auth
    functionSourceFile: /src/hostap/hostapd/hlr_auc_gw.c
    functionUses: 0
    functionsReached:
    - snprintf
    - random_get_bytes
    - wpa_snprintf_hex
    - printf
    - gsm_milenage
    - atoi
    - get_gsm_triplet
    - strchr
    - get_milenage
    - strcmp
    linkageType: ''
    returnType: int
    signature: int sim_req_auth(char *imsi, char *resp, size_t resp_len)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_strchr
      Src: /src/hostap/hostapd/hlr_auc_gw.c:671,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/hlr_auc_gw.c:678,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/hlr_auc_gw.c:679,1
    - Dst: get_milenage
      Src: /src/hostap/hostapd/hlr_auc_gw.c:683,1
    - Dst: hexstr2bin
      Src: /src/hostap/hostapd/hlr_auc_gw.c:687,1
    - Dst: gsm_milenage
      Src: /src/hostap/hostapd/hlr_auc_gw.c:689,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/hostapd/hlr_auc_gw.c:691,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/hostapd/hlr_auc_gw.c:693,1
    - Dst: printf
      Src: /src/hostap/hostapd/hlr_auc_gw.c:703,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/hlr_auc_gw.c:704,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/hlr_auc_gw.c:705,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 3
    argNames:
    - imsi
    - resp
    - resp_len
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 663
    functionDepth: 2
    functionLinenumber: 663
    functionLinenumberEnd: 710
    functionName: gsm_auth_req
    functionSourceFile: /src/hostap/hostapd/hlr_auc_gw.c
    functionUses: 0
    functionsReached:
    - wpa_snprintf_hex
    - hexstr2bin
    - printf
    - os_snprintf
    - gsm_milenage
    - os_strchr
    - get_milenage
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: int gsm_auth_req(char *imsi, char *resp, size_t resp_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WPA_GET_BE32
      Src: /src/hostap/hostapd/hlr_auc_gw.c:726,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/hostapd/hlr_auc_gw.c:726,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/hostapd/hlr_auc_gw.c:730,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/hostapd/hlr_auc_gw.c:731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - sqn
    argTypes:
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 713
    functionDepth: 1
    functionLinenumber: 713
    functionLinenumberEnd: 732
    functionName: inc_sqn
    functionSourceFile: /src/hostap/hostapd/hlr_auc_gw.c
    functionUses: 0
    functionsReached:
    - WPA_PUT_BE16
    - WPA_PUT_BE32
    - WPA_GET_BE16
    - WPA_GET_BE32
    linkageType: ''
    returnType: void
    signature: void inc_sqn(u8 *sqn)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: get_milenage
      Src: /src/hostap/hostapd/hlr_auc_gw.c:749,1
    - Dst: random_get_bytes
      Src: /src/hostap/hostapd/hlr_auc_gw.c:751,1
    - Dst: inc_sqn
      Src: /src/hostap/hostapd/hlr_auc_gw.c:754,1
    - Dst: db_update_milenage_sqn
      Src: /src/hostap/hostapd/hlr_auc_gw.c:756,1
    - Dst: printf
      Src: /src/hostap/hostapd/hlr_auc_gw.c:760,1
    - Dst: milenage_generate
      Src: /src/hostap/hostapd/hlr_auc_gw.c:764,1
    - Dst: printf
      Src: /src/hostap/hostapd/hlr_auc_gw.c:771,1
    - Dst: printf
      Src: /src/hostap/hostapd/hlr_auc_gw.c:773,1
    - Dst: memset
      Src: /src/hostap/hostapd/hlr_auc_gw.c:774,1
    - Dst: memset
      Src: /src/hostap/hostapd/hlr_auc_gw.c:775,1
    - Dst: memset
      Src: /src/hostap/hostapd/hlr_auc_gw.c:776,1
    - Dst: memset
      Src: /src/hostap/hostapd/hlr_auc_gw.c:777,1
    - Dst: memset
      Src: /src/hostap/hostapd/hlr_auc_gw.c:778,1
    - Dst: snprintf
      Src: /src/hostap/hostapd/hlr_auc_gw.c:787,1
    - Dst: snprintf
      Src: /src/hostap/hostapd/hlr_auc_gw.c:792,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/hostapd/hlr_auc_gw.c:798,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/hostapd/hlr_auc_gw.c:800,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/hostapd/hlr_auc_gw.c:802,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/hostapd/hlr_auc_gw.c:804,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/hostapd/hlr_auc_gw.c:806,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 49
    argCount: 3
    argNames:
    - imsi
    - resp
    - resp_len
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 735
    functionDepth: 2
    functionLinenumber: 735
    functionLinenumberEnd: 809
    functionName: aka_req_auth
    functionSourceFile: /src/hostap/hostapd/hlr_auc_gw.c
    functionUses: 0
    functionsReached:
    - random_get_bytes
    - snprintf
    - wpa_snprintf_hex
    - inc_sqn
    - printf
    - db_update_milenage_sqn
    - memset
    - milenage_generate
    - get_milenage
    linkageType: ''
    returnType: int
    signature: int aka_req_auth(char *imsi, char *resp, size_t resp_len)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/hostap/hostapd/hlr_auc_gw.c:822,1
    - Dst: strchr
      Src: /src/hostap/hostapd/hlr_auc_gw.c:827,1
    - Dst: printf
      Src: /src/hostap/hostapd/hlr_auc_gw.c:833,1
    - Dst: hexstr2bin
      Src: /src/hostap/hostapd/hlr_auc_gw.c:836,1
    - Dst: hexstr2bin
      Src: /src/hostap/hostapd/hlr_auc_gw.c:837,1
    - Dst: printf
      Src: /src/hostap/hostapd/hlr_auc_gw.c:838,1
    - Dst: get_milenage
      Src: /src/hostap/hostapd/hlr_auc_gw.c:842,1
    - Dst: printf
      Src: /src/hostap/hostapd/hlr_auc_gw.c:844,1
    - Dst: milenage_auts
      Src: /src/hostap/hostapd/hlr_auc_gw.c:848,1
    - Dst: printf
      Src: /src/hostap/hostapd/hlr_auc_gw.c:849,1
    - Dst: memcpy
      Src: /src/hostap/hostapd/hlr_auc_gw.c:851,1
    - Dst: printf
      Src: /src/hostap/hostapd/hlr_auc_gw.c:853,1
    - Dst: db_update_milenage_sqn
      Src: /src/hostap/hostapd/hlr_auc_gw.c:858,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 3
    argNames:
    - imsi
    - resp
    - resp_len
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 812
    functionDepth: 2
    functionLinenumber: 812
    functionLinenumberEnd: 864
    functionName: aka_auts
    functionSourceFile: /src/hostap/hostapd/hlr_auc_gw.c
    functionUses: 0
    functionsReached:
    - hexstr2bin
    - printf
    - memcpy
    - db_update_milenage_sqn
    - milenage_auts
    - strchr
    - get_milenage
    linkageType: ''
    returnType: int
    signature: int aka_auts(char *imsi, char *resp, size_t resp_len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_strncmp
      Src: /src/hostap/hostapd/hlr_auc_gw.c:869,1
    - Dst: sim_req_auth
      Src: /src/hostap/hostapd/hlr_auc_gw.c:870,1
    - Dst: os_strncmp
      Src: /src/hostap/hostapd/hlr_auc_gw.c:872,1
    - Dst: gsm_auth_req
      Src: /src/hostap/hostapd/hlr_auc_gw.c:873,1
    - Dst: os_strncmp
      Src: /src/hostap/hostapd/hlr_auc_gw.c:875,1
    - Dst: aka_req_auth
      Src: /src/hostap/hostapd/hlr_auc_gw.c:876,1
    - Dst: os_strncmp
      Src: /src/hostap/hostapd/hlr_auc_gw.c:878,1
    - Dst: aka_auts
      Src: /src/hostap/hostapd/hlr_auc_gw.c:879,1
    - Dst: strncmp
      Src: /src/hostap/hostapd/hlr_auc_gw.c:881,1
    - Dst: printf
      Src: /src/hostap/hostapd/hlr_auc_gw.c:887,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - cmd
    - resp
    - resp_len
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 867
    functionDepth: 3
    functionLinenumber: 867
    functionLinenumberEnd: 889
    functionName: process_cmd
    functionSourceFile: /src/hostap/hostapd/hlr_auc_gw.c
    functionUses: 0
    functionsReached:
    - strncmp
    - aka_auts
    - gsm_auth_req
    - aka_req_auth
    - os_strncmp
    - printf
    - sim_req_auth
    linkageType: ''
    returnType: int
    signature: int process_cmd(char *cmd, char *resp, size_t resp_len)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: recvfrom
      Src: /src/hostap/hostapd/hlr_auc_gw.c:900,1
    - Dst: perror
      Src: /src/hostap/hostapd/hlr_auc_gw.c:903,1
    - Dst: printf
      Src: /src/hostap/hostapd/hlr_auc_gw.c:914,1
    - Dst: process_cmd
      Src: /src/hostap/hostapd/hlr_auc_gw.c:916,1
    - Dst: printf
      Src: /src/hostap/hostapd/hlr_auc_gw.c:917,1
    - Dst: printf
      Src: /src/hostap/hostapd/hlr_auc_gw.c:922,1
    - Dst: printf
      Src: /src/hostap/hostapd/hlr_auc_gw.c:926,1
    - Dst: sendto
      Src: /src/hostap/hostapd/hlr_auc_gw.c:928,1
    - Dst: os_strlen
      Src: /src/hostap/hostapd/hlr_auc_gw.c:928,1
    - Dst: perror
      Src: /src/hostap/hostapd/hlr_auc_gw.c:930,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - s
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 892
    functionDepth: 1
    functionLinenumber: 892
    functionLinenumberEnd: 933
    functionName: process
    functionSourceFile: /src/hostap/hostapd/hlr_auc_gw.c
    functionUses: 19
    functionsReached:
    - os_strlen
    - sendto
    - recvfrom
    - printf
    - perror
    - process_cmd
    linkageType: ''
    returnType: int
    signature: int process(int s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: update_milenage_file
      Src: /src/hostap/hostapd/hlr_auc_gw.c:943,1
    - Dst: os_free
      Src: /src/hostap/hostapd/hlr_auc_gw.c:951,1
    - Dst: os_free
      Src: /src/hostap/hostapd/hlr_auc_gw.c:959,1
    - Dst: close
      Src: /src/hostap/hostapd/hlr_auc_gw.c:963,1
    - Dst: unlink
      Src: /src/hostap/hostapd/hlr_auc_gw.c:967,1
    - Dst: sqlite3_close
      Src: /src/hostap/hostapd/hlr_auc_gw.c:973,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 936
    functionDepth: 2
    functionLinenumber: 936
    functionLinenumberEnd: 977
    functionName: cleanup
    functionSourceFile: /src/hostap/hostapd/hlr_auc_gw.c
    functionUses: 2
    functionsReached:
    - update_milenage_file
    - sqlite3_close
    - close
    - os_free
    - unlink
    linkageType: ''
    returnType: void
    signature: void cleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/hostapd/hlr_auc_gw.c:982,1
    - Dst: cleanup
      Src: /src/hostap/hostapd/hlr_auc_gw.c:983,1
    - Dst: exit
      Src: /src/hostap/hostapd/hlr_auc_gw.c:984,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 980
    functionDepth: 3
    functionLinenumber: 980
    functionLinenumberEnd: 985
    functionName: handle_term
    functionSourceFile: /src/hostap/hostapd/hlr_auc_gw.c
    functionUses: 0
    functionsReached:
    - cleanup
    - exit
    - printf
    linkageType: ''
    returnType: void
    signature: void handle_term(int sig)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/hostapd/hlr_auc_gw.c:990,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 988
    functionDepth: 0
    functionLinenumber: 988
    functionLinenumberEnd: 1017
    functionName: usage
    functionSourceFile: /src/hostap/hostapd/hlr_auc_gw.c
    functionUses: 5
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: os_program_init
      Src: /src/hostap/hostapd/hlr_auc_gw.c:1027,1
    - Dst: getopt
      Src: /src/hostap/hostapd/hlr_auc_gw.c:1033,1
    - Dst: printf
      Src: /src/hostap/hostapd/hlr_auc_gw.c:1042,1
    - Dst: usage
      Src: /src/hostap/hostapd/hlr_auc_gw.c:1049,1
    - Dst: atoi
      Src: /src/hostap/hostapd/hlr_auc_gw.c:1052,1
    - Dst: printf
      Src: /src/hostap/hostapd/hlr_auc_gw.c:1054,1
    - Dst: usage
      Src: /src/hostap/hostapd/hlr_auc_gw.c:1068,1
    - Dst: usage
      Src: /src/hostap/hostapd/hlr_auc_gw.c:1074,1
    - Dst: db_open
      Src: /src/hostap/hostapd/hlr_auc_gw.c:1079,1
    - Dst: read_gsm_triplets
      Src: /src/hostap/hostapd/hlr_auc_gw.c:1083,1
    - Dst: read_milenage
      Src: /src/hostap/hostapd/hlr_auc_gw.c:1086,1
    - Dst: open_socket
      Src: /src/hostap/hostapd/hlr_auc_gw.c:1090,1
    - Dst: printf
      Src: /src/hostap/hostapd/hlr_auc_gw.c:1094,1
    - Dst: atexit
      Src: /src/hostap/hostapd/hlr_auc_gw.c:1096,1
    - Dst: signal
      Src: /src/hostap/hostapd/hlr_auc_gw.c:1097,1
    - Dst: signal
      Src: /src/hostap/hostapd/hlr_auc_gw.c:1098,1
    - Dst: process
      Src: /src/hostap/hostapd/hlr_auc_gw.c:1101,1
    - Dst: cleanup
      Src: /src/hostap/hostapd/hlr_auc_gw.c:1102,1
    - Dst: process_cmd
      Src: /src/hostap/hostapd/hlr_auc_gw.c:1107,1
    - Dst: printf
      Src: /src/hostap/hostapd/hlr_auc_gw.c:1108,1
    - Dst: printf
      Src: /src/hostap/hostapd/hlr_auc_gw.c:1111,1
    - Dst: cleanup
      Src: /src/hostap/hostapd/hlr_auc_gw.c:1113,1
    - Dst: sqlite3_close
      Src: /src/hostap/hostapd/hlr_auc_gw.c:1118,1
    - Dst: os_program_deinit
      Src: /src/hostap/hostapd/hlr_auc_gw.c:1123,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 79
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1020
    functionDepth: 3
    functionLinenumber: 1020
    functionLinenumberEnd: 1126
    functionName: main
    functionSourceFile: /src/hostap/hostapd/hlr_auc_gw.c
    functionUses: 1
    functionsReached:
    - cleanup
    - os_program_init
    - usage
    - read_gsm_triplets
    - atexit
    - open_socket
    - printf
    - getopt
    - process_cmd
    - sqlite3_close
    - os_program_deinit
    - db_open
    - atoi
    - process
    - signal
    - read_milenage
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctrl_iface_attach
      Src: /src/hostap/hostapd/ctrl_iface.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - hapd
    - from
    - fromlen
    - input
    argTypes:
    - struct hostapd_data*
    - struct sockaddr_storage*
    - socklen_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 96
    functionName: hostapd_ctrl_iface_attach
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - ctrl_iface_attach
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_iface_attach(struct hostapd_data *hapd,\n\t\t\t\t
      \    struct sockaddr_storage *from,\n\t\t\t\t     socklen_t fromlen, const char
      *input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctrl_iface_detach
      Src: /src/hostap/hostapd/ctrl_iface.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - hapd
    - from
    - fromlen
    argTypes:
    - struct hostapd_data*
    - struct sockaddr_storage*
    - socklen_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: hostapd_ctrl_iface_detach
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - ctrl_iface_detach
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_iface_detach(struct hostapd_data *hapd,\n\t\t\t\t
      \    struct sockaddr_storage *from,\n\t\t\t\t     socklen_t fromlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctrl_iface_level
      Src: /src/hostap/hostapd/ctrl_iface.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - hapd
    - from
    - fromlen
    - level
    argTypes:
    - struct hostapd_data*
    - struct sockaddr_storage*
    - socklen_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: hostapd_ctrl_iface_level
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - ctrl_iface_level
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_iface_level(struct hostapd_data *hapd,\n\t\t\t\t
      \   struct sockaddr_storage *from,\n\t\t\t\t    socklen_t fromlen,\n\t\t\t\t
      \   char *level)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:122,1
    - Dst: hwaddr_aton
      Src: /src/hostap/hostapd/ctrl_iface.c:124,1
    - Dst: ap_get_sta
      Src: /src/hostap/hostapd/ctrl_iface.c:127,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:131,1
    - Dst: MAC2STR
      Src: /src/hostap/hostapd/ctrl_iface.c:132,1
    - Dst: ap_sta_add
      Src: /src/hostap/hostapd/ctrl_iface.c:133,1
    - Dst: hostapd_new_assoc_sta
      Src: /src/hostap/hostapd/ctrl_iface.c:137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - hapd
    - txtaddr
    argTypes:
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 139
    functionName: hostapd_ctrl_iface_new_sta
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - ap_sta_add
    - wpa_printf
    - hwaddr_aton
    - MAC2STR
    - hostapd_new_assoc_sta
    - ap_get_sta
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_iface_new_sta(struct hostapd_data *hapd,\n\t\t\t\t
      \     const char *txtaddr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:149,1
    - Dst: hwaddr_aton
      Src: /src/hostap/hostapd/ctrl_iface.c:151,1
    - Dst: os_get_random
      Src: /src/hostap/hostapd/ctrl_iface.c:152,1
    - Dst: ieee802_11_send_sa_query_req
      Src: /src/hostap/hostapd/ctrl_iface.c:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - hapd
    - txtaddr
    argTypes:
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 158
    functionName: hostapd_ctrl_iface_sa_query
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - hwaddr_aton
    - wpa_printf
    - ieee802_11_send_sa_query_req
    - os_get_random
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_iface_sa_query(struct hostapd_data *hapd,\n\t\t\t\t
      \      const char *txtaddr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_strchr
      Src: /src/hostap/hostapd/ctrl_iface.c:165,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/ctrl_iface.c:175,1
    - Dst: atoi
      Src: /src/hostap/hostapd/ctrl_iface.c:178,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/ctrl_iface.c:179,1
    - Dst: hwaddr_aton
      Src: /src/hostap/hostapd/ctrl_iface.c:182,1
    - Dst: hostapd_wps_add_pin
      Src: /src/hostap/hostapd/ctrl_iface.c:188,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - hapd
    - txt
    argTypes:
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 189
    functionName: hostapd_ctrl_iface_wps_pin
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - atoi
    - os_strchr
    - hostapd_wps_add_pin
    - hwaddr_aton
    linkageType: ''
    returnType: int
    signature: int hostapd_ctrl_iface_wps_pin(struct hostapd_data *hapd, char *txt)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump_ascii_key
      Src: /src/hostap/hostapd/ctrl_iface.c:200,1
    - Dst: os_strlen
      Src: /src/hostap/hostapd/ctrl_iface.c:201,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:207,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:212,1
    - Dst: atoi
      Src: /src/hostap/hostapd/ctrl_iface.c:219,1
    - Dst: wps_pin_valid
      Src: /src/hostap/hostapd/ctrl_iface.c:220,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:221,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:222,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/ctrl_iface.c:223,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:229,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/ctrl_iface.c:230,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 4
    argNames:
    - hapd
    - cmd
    - buf
    - buflen
    argTypes:
    - struct hostapd_data*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 234
    functionName: hostapd_ctrl_iface_wps_check_pin
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - os_snprintf
    - wpa_hexdump_ascii_key
    - atoi
    - os_snprintf_error
    - wps_pin_valid
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_iface_wps_check_pin(\n\tstruct hostapd_data *hapd,
      char *cmd, char *buf, size_t buflen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/hostapd/ctrl_iface.c:245,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/hostapd/ctrl_iface.c:250,1
    - Dst: hexstr2bin
      Src: /src/hostap/hostapd/ctrl_iface.c:253,1
    - Dst: wpabuf_put
      Src: /src/hostap/hostapd/ctrl_iface.c:253,1
    - Dst: wpabuf_free
      Src: /src/hostap/hostapd/ctrl_iface.c:254,1
    - Dst: hostapd_wps_nfc_tag_read
      Src: /src/hostap/hostapd/ctrl_iface.c:258,1
    - Dst: wpabuf_free
      Src: /src/hostap/hostapd/ctrl_iface.c:259,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - hapd
    - pos
    argTypes:
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 262
    functionName: hostapd_ctrl_iface_wps_nfc_tag_read
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpabuf_put
    - hexstr2bin
    - wpabuf_free
    - wpabuf_alloc
    - hostapd_wps_nfc_tag_read
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_iface_wps_nfc_tag_read(struct hostapd_data *hapd,\n\t\t\t\t\t
      \      char *pos)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/ctrl_iface.c:273,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/ctrl_iface.c:275,1
    - Dst: hostapd_wps_nfc_config_token
      Src: /src/hostap/hostapd/ctrl_iface.c:280,1
    - Dst: wpa_snprintf_hex_uppercase
      Src: /src/hostap/hostapd/ctrl_iface.c:284,1
    - Dst: wpabuf_head
      Src: /src/hostap/hostapd/ctrl_iface.c:284,1
    - Dst: wpabuf_len
      Src: /src/hostap/hostapd/ctrl_iface.c:285,1
    - Dst: wpabuf_free
      Src: /src/hostap/hostapd/ctrl_iface.c:289,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - hapd
    - cmd
    - reply
    - max_len
    argTypes:
    - struct hostapd_data*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 292
    functionName: hostapd_ctrl_iface_wps_nfc_config_token
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - hostapd_wps_nfc_config_token
    - wpabuf_len
    - wpabuf_free
    - wpa_snprintf_hex_uppercase
    - wpabuf_head
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_iface_wps_nfc_config_token(struct hostapd_data *hapd,\n\t\t\t\t\t\t
      \  char *cmd, char *reply,\n\t\t\t\t\t\t   size_t max_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_wps_nfc_token_gen
      Src: /src/hostap/hostapd/ctrl_iface.c:302,1
    - Dst: wpa_snprintf_hex_uppercase
      Src: /src/hostap/hostapd/ctrl_iface.c:306,1
    - Dst: wpabuf_head
      Src: /src/hostap/hostapd/ctrl_iface.c:306,1
    - Dst: wpabuf_len
      Src: /src/hostap/hostapd/ctrl_iface.c:307,1
    - Dst: wpabuf_free
      Src: /src/hostap/hostapd/ctrl_iface.c:311,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - hapd
    - reply
    - max_len
    - ndef
    argTypes:
    - struct hostapd_data*
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 314
    functionName: hostapd_ctrl_iface_wps_nfc_token_gen
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - hostapd_wps_nfc_token_gen
    - wpabuf_len
    - wpabuf_free
    - wpa_snprintf_hex_uppercase
    - wpabuf_head
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_iface_wps_nfc_token_gen(struct hostapd_data *hapd,\n\t\t\t\t\t\tchar
      *reply, size_t max_len,\n\t\t\t\t\t\tint ndef)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/ctrl_iface.c:321,1
    - Dst: hostapd_ctrl_iface_wps_nfc_token_gen
      Src: /src/hostap/hostapd/ctrl_iface.c:322,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/ctrl_iface.c:325,1
    - Dst: hostapd_ctrl_iface_wps_nfc_token_gen
      Src: /src/hostap/hostapd/ctrl_iface.c:326,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/ctrl_iface.c:329,1
    - Dst: hostapd_wps_nfc_token_enable
      Src: /src/hostap/hostapd/ctrl_iface.c:330,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/ctrl_iface.c:332,1
    - Dst: hostapd_wps_nfc_token_disable
      Src: /src/hostap/hostapd/ctrl_iface.c:333,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - hapd
    - cmd
    - reply
    - max_len
    argTypes:
    - struct hostapd_data*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 317
    functionDepth: 2
    functionLinenumber: 317
    functionLinenumberEnd: 338
    functionName: hostapd_ctrl_iface_wps_nfc_token
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - hostapd_ctrl_iface_wps_nfc_token_gen
    - hostapd_wps_nfc_token_disable
    - hostapd_wps_nfc_token_enable
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_iface_wps_nfc_token(struct hostapd_data *hapd,\n\t\t\t\t\t
      \   char *cmd, char *reply,\n\t\t\t\t\t    size_t max_len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_strchr
      Src: /src/hostap/hostapd/ctrl_iface.c:350,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/ctrl_iface.c:355,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/ctrl_iface.c:357,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/ctrl_iface.c:362,1
    - Dst: hostapd_wps_nfc_hs_cr
      Src: /src/hostap/hostapd/ctrl_iface.c:363,1
    - Dst: wpa_snprintf_hex_uppercase
      Src: /src/hostap/hostapd/ctrl_iface.c:369,1
    - Dst: wpabuf_head
      Src: /src/hostap/hostapd/ctrl_iface.c:369,1
    - Dst: wpabuf_len
      Src: /src/hostap/hostapd/ctrl_iface.c:370,1
    - Dst: wpabuf_free
      Src: /src/hostap/hostapd/ctrl_iface.c:374,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - hapd
    - cmd
    - reply
    - max_len
    argTypes:
    - struct hostapd_data*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 377
    functionName: hostapd_ctrl_iface_nfc_get_handover_sel
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpabuf_len
    - wpabuf_free
    - wpa_snprintf_hex_uppercase
    - wpabuf_head
    - hostapd_wps_nfc_hs_cr
    - os_strchr
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_iface_nfc_get_handover_sel(struct hostapd_data *hapd,\n\t\t\t\t\t\t
      \  char *cmd, char *reply,\n\t\t\t\t\t\t   size_t max_len)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: os_strchr
      Src: /src/hostap/hostapd/ctrl_iface.c:389,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/ctrl_iface.c:395,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/ctrl_iface.c:400,1
    - Dst: os_strlen
      Src: /src/hostap/hostapd/ctrl_iface.c:405,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/hostapd/ctrl_iface.c:410,1
    - Dst: hexstr2bin
      Src: /src/hostap/hostapd/ctrl_iface.c:413,1
    - Dst: wpabuf_put
      Src: /src/hostap/hostapd/ctrl_iface.c:413,1
    - Dst: wpabuf_free
      Src: /src/hostap/hostapd/ctrl_iface.c:414,1
    - Dst: os_strlen
      Src: /src/hostap/hostapd/ctrl_iface.c:418,1
    - Dst: wpabuf_free
      Src: /src/hostap/hostapd/ctrl_iface.c:420,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/hostapd/ctrl_iface.c:425,1
    - Dst: wpabuf_free
      Src: /src/hostap/hostapd/ctrl_iface.c:427,1
    - Dst: hexstr2bin
      Src: /src/hostap/hostapd/ctrl_iface.c:430,1
    - Dst: wpabuf_put
      Src: /src/hostap/hostapd/ctrl_iface.c:430,1
    - Dst: wpabuf_free
      Src: /src/hostap/hostapd/ctrl_iface.c:431,1
    - Dst: wpabuf_free
      Src: /src/hostap/hostapd/ctrl_iface.c:432,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/ctrl_iface.c:436,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/ctrl_iface.c:436,1
    - Dst: hostapd_wps_nfc_report_handover
      Src: /src/hostap/hostapd/ctrl_iface.c:437,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:439,1
    - Dst: wpabuf_free
      Src: /src/hostap/hostapd/ctrl_iface.c:443,1
    - Dst: wpabuf_free
      Src: /src/hostap/hostapd/ctrl_iface.c:444,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 51
    argCount: 2
    argNames:
    - hapd
    - cmd
    argTypes:
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 447
    functionName: hostapd_ctrl_iface_nfc_report_handover
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpabuf_put
    - wpa_printf
    - hexstr2bin
    - wpabuf_free
    - wpabuf_alloc
    - hostapd_wps_nfc_report_handover
    - os_strchr
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_iface_nfc_report_handover(struct hostapd_data *hapd,\n\t\t\t\t\t\t
      \ char *cmd)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: os_strchr
      Src: /src/hostap/hostapd/ctrl_iface.c:459,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/ctrl_iface.c:463,1
    - Dst: hostapd_wps_ap_pin_disable
      Src: /src/hostap/hostapd/ctrl_iface.c:464,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:465,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/ctrl_iface.c:468,1
    - Dst: atoi
      Src: /src/hostap/hostapd/ctrl_iface.c:470,1
    - Dst: hostapd_wps_ap_pin_random
      Src: /src/hostap/hostapd/ctrl_iface.c:471,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:474,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/ctrl_iface.c:477,1
    - Dst: hostapd_wps_ap_pin_get
      Src: /src/hostap/hostapd/ctrl_iface.c:478,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:481,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/ctrl_iface.c:484,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/ctrl_iface.c:489,1
    - Dst: atoi
      Src: /src/hostap/hostapd/ctrl_iface.c:492,1
    - Dst: os_strlen
      Src: /src/hostap/hostapd/ctrl_iface.c:494,1
    - Dst: hostapd_wps_ap_pin_set
      Src: /src/hostap/hostapd/ctrl_iface.c:496,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:498,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 4
    argNames:
    - hapd
    - txt
    - buf
    - buflen
    argTypes:
    - struct hostapd_data*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 502
    functionName: hostapd_ctrl_iface_wps_ap_pin
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - hostapd_wps_ap_pin_random
    - os_strlen
    - hostapd_wps_ap_pin_set
    - os_snprintf
    - hostapd_wps_ap_pin_get
    - atoi
    - os_strchr
    - hostapd_wps_ap_pin_disable
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_iface_wps_ap_pin(struct hostapd_data *hapd, char
      *txt,\n\t\t\t\t\t char *buf, size_t buflen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_strchr
      Src: /src/hostap/hostapd/ctrl_iface.c:511,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/ctrl_iface.c:517,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/ctrl_iface.c:521,1
    - Dst: hostapd_wps_config_ap
      Src: /src/hostap/hostapd/ctrl_iface.c:528,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - hapd
    - txt
    argTypes:
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 529
    functionName: hostapd_ctrl_iface_wps_config
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strchr
    - hostapd_wps_config_ap
    linkageType: ''
    returnType: int
    signature: int hostapd_ctrl_iface_wps_config(struct hostapd_data *hapd, char *txt)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - status
    argTypes:
    - enum pbc_status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 546
    functionName: pbc_status_str
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * pbc_status_str(enum pbc_status status)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:558,1
    - Dst: pbc_status_str
      Src: /src/hostap/hostapd/ctrl_iface.c:559,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/ctrl_iface.c:561,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:565,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/ctrl_iface.c:571,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:578,1
    - Dst: wps_ei_str
      Src: /src/hostap/hostapd/ctrl_iface.c:580,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/ctrl_iface.c:582,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:588,1
    - Dst: MAC2STR
      Src: /src/hostap/hostapd/ctrl_iface.c:589,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/ctrl_iface.c:591,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - hapd
    - buf
    - buflen
    argTypes:
    - struct hostapd_data*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 549
    functionDepth: 1
    functionLinenumber: 549
    functionLinenumberEnd: 597
    functionName: hostapd_ctrl_iface_wps_get_status
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - MAC2STR
    - wps_ei_str
    - pbc_status_str
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_iface_wps_get_status(struct hostapd_data *hapd,\n\t\t\t\t\t
      \    char *buf, size_t buflen)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: hwaddr_aton
      Src: /src/hostap/hostapd/ctrl_iface.c:613,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/ctrl_iface.c:616,1
    - Dst: atoi
      Src: /src/hostap/hostapd/ctrl_iface.c:620,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/ctrl_iface.c:622,1
    - Dst: atoi
      Src: /src/hostap/hostapd/ctrl_iface.c:626,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/ctrl_iface.c:629,1
    - Dst: os_strlen
      Src: /src/hostap/hostapd/ctrl_iface.c:632,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/hostapd/ctrl_iface.c:635,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/hostapd/ctrl_iface.c:638,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/hostapd/ctrl_iface.c:639,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/hostapd/ctrl_iface.c:640,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/hostapd/ctrl_iface.c:642,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:644,1
    - Dst: MAC2STR
      Src: /src/hostap/hostapd/ctrl_iface.c:646,1
    - Dst: hs20_send_wnm_notification_deauth_req
      Src: /src/hostap/hostapd/ctrl_iface.c:647,1
    - Dst: wpabuf_free
      Src: /src/hostap/hostapd/ctrl_iface.c:648,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 2
    argNames:
    - hapd
    - cmd
    argTypes:
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 650
    functionName: hostapd_ctrl_iface_hs20_deauth_req
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - wpabuf_put_u8
    - wpabuf_put_data
    - hwaddr_aton
    - wpabuf_free
    - wpabuf_put_le16
    - MAC2STR
    - wpabuf_alloc
    - hs20_send_wnm_notification_deauth_req
    - atoi
    - os_strchr
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_iface_hs20_deauth_req(struct hostapd_data *hapd,\n\t\t\t\t\t
      \     const char *cmd)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:665,1
    - Dst: atoi
      Src: /src/hostap/hostapd/ctrl_iface.c:669,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:671,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/ctrl_iface.c:676,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:683,1
    - Dst: hostapd_drv_set_qos_map
      Src: /src/hostap/hostapd/ctrl_iface.c:687,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:689,1
    - Dst: os_memcpy
      Src: /src/hostap/hostapd/ctrl_iface.c:693,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - hapd
    - cmd
    argTypes:
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 656
    functionDepth: 1
    functionLinenumber: 656
    functionLinenumberEnd: 697
    functionName: hostapd_ctrl_iface_set_qos_map_set
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - hostapd_drv_set_qos_map
    - atoi
    - os_strchr
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_iface_set_qos_map_set(struct hostapd_data *hapd,\n\t\t\t\t\t
      \     const char *cmd)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:711,1
    - Dst: hwaddr_aton
      Src: /src/hostap/hostapd/ctrl_iface.c:715,1
    - Dst: ap_get_sta
      Src: /src/hostap/hostapd/ctrl_iface.c:718,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:720,1
    - Dst: MAC2STR
      Src: /src/hostap/hostapd/ctrl_iface.c:722,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:727,1
    - Dst: MAC2STR
      Src: /src/hostap/hostapd/ctrl_iface.c:728,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/hostapd/ctrl_iface.c:732,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/hostapd/ctrl_iface.c:736,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/hostapd/ctrl_iface.c:737,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/hostapd/ctrl_iface.c:740,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/hostapd/ctrl_iface.c:741,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/hostapd/ctrl_iface.c:742,1
    - Dst: hostapd_drv_send_action
      Src: /src/hostap/hostapd/ctrl_iface.c:744,1
    - Dst: wpabuf_head
      Src: /src/hostap/hostapd/ctrl_iface.c:745,1
    - Dst: wpabuf_len
      Src: /src/hostap/hostapd/ctrl_iface.c:745,1
    - Dst: wpabuf_free
      Src: /src/hostap/hostapd/ctrl_iface.c:746,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - hapd
    - cmd
    argTypes:
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 700
    functionDepth: 1
    functionLinenumber: 700
    functionLinenumberEnd: 749
    functionName: hostapd_ctrl_iface_send_qos_map_conf
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hostapd_drv_send_action
    - wpabuf_put_u8
    - wpabuf_put_data
    - wpabuf_len
    - hwaddr_aton
    - wpabuf_free
    - wpabuf_head
    - MAC2STR
    - wpabuf_alloc
    - ap_get_sta
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_iface_send_qos_map_conf(struct hostapd_data *hapd,\n\t\t\t\t\t\tconst
      char *cmd)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: hwaddr_aton
      Src: /src/hostap/hostapd/ctrl_iface.c:768,1
    - Dst: ap_get_sta
      Src: /src/hostap/hostapd/ctrl_iface.c:771,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:773,1
    - Dst: MAC2STR
      Src: /src/hostap/hostapd/ctrl_iface.c:774,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/ctrl_iface.c:778,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/ctrl_iface.c:782,1
    - Dst: atoi
      Src: /src/hostap/hostapd/ctrl_iface.c:784,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:785,1
    - Dst: MAC2STR
      Src: /src/hostap/hostapd/ctrl_iface.c:787,1
    - Dst: parse_dscp_policy_string
      Src: /src/hostap/hostapd/ctrl_iface.c:791,1
    - Dst: validate_dscp_policy
      Src: /src/hostap/hostapd/ctrl_iface.c:792,1
    - Dst: build_frame_classifier
      Src: /src/hostap/hostapd/ctrl_iface.c:793,1
    - Dst: free_dscp_policy
      Src: /src/hostap/hostapd/ctrl_iface.c:794,1
    - Dst: add_dscp_policy_to_sta
      Src: /src/hostap/hostapd/ctrl_iface.c:798,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:799,1
    - Dst: MAC2STR
      Src: /src/hostap/hostapd/ctrl_iface.c:800,1
    - Dst: free_dscp_policy
      Src: /src/hostap/hostapd/ctrl_iface.c:801,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:805,1
    - Dst: MAC2STR
      Src: /src/hostap/hostapd/ctrl_iface.c:806,1
    - Dst: free_dscp_policy
      Src: /src/hostap/hostapd/ctrl_iface.c:808,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 2
    argNames:
    - hapd
    - cmd
    argTypes:
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 756
    functionDepth: 1
    functionLinenumber: 756
    functionLinenumberEnd: 810
    functionName: hostapd_ctrl_iface_set_dscp_policy
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - free_dscp_policy
    - wpa_printf
    - validate_dscp_policy
    - hwaddr_aton
    - parse_dscp_policy_string
    - add_dscp_policy_to_sta
    - os_strstr
    - MAC2STR
    - atoi
    - os_strchr
    - build_frame_classifier
    - ap_get_sta
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_iface_set_dscp_policy(struct hostapd_data *hapd,\n\t\t\t\t\t
      \     const char *cmd)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: os_strdup
      Src: /src/hostap/hostapd/ctrl_iface.c:827,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/ctrl_iface.c:832,1
    - Dst: hwaddr_aton
      Src: /src/hostap/hostapd/ctrl_iface.c:833,1
    - Dst: os_free
      Src: /src/hostap/hostapd/ctrl_iface.c:834,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/ctrl_iface.c:840,1
    - Dst: os_strncmp
      Src: /src/hostap/hostapd/ctrl_iface.c:841,1
    - Dst: os_free
      Src: /src/hostap/hostapd/ctrl_iface.c:842,1
    - Dst: atoi
      Src: /src/hostap/hostapd/ctrl_iface.c:847,1
    - Dst: os_strncmp
      Src: /src/hostap/hostapd/ctrl_iface.c:850,1
    - Dst: os_free
      Src: /src/hostap/hostapd/ctrl_iface.c:851,1
    - Dst: strtol
      Src: /src/hostap/hostapd/ctrl_iface.c:857,1
    - Dst: os_malloc
      Src: /src/hostap/hostapd/ctrl_iface.c:863,1
    - Dst: os_realloc_array
      Src: /src/hostap/hostapd/ctrl_iface.c:869,1
    - Dst: os_free
      Src: /src/hostap/hostapd/ctrl_iface.c:881,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:884,1
    - Dst: os_free
      Src: /src/hostap/hostapd/ctrl_iface.c:885,1
    - Dst: ap_get_sta
      Src: /src/hostap/hostapd/ctrl_iface.c:889,1
    - Dst: hostapd_send_unsolicited_dscp_policy_request
      Src: /src/hostap/hostapd/ctrl_iface.c:893,1
    - Dst: os_free
      Src: /src/hostap/hostapd/ctrl_iface.c:896,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 57
    argCount: 2
    argNames:
    - hapd
    - cmd
    argTypes:
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 813
    functionDepth: 1
    functionLinenumber: 813
    functionLinenumberEnd: 898
    functionName: hostapd_ctrl_send_unsolicited_dscp_req
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - strtol
    - wpa_printf
    - hwaddr_aton
    - os_malloc
    - hostapd_send_unsolicited_dscp_policy_request
    - os_strncmp
    - atoi
    - ap_get_sta
    - os_free
    - os_strchr
    - os_strdup
    - os_realloc_array
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_send_unsolicited_dscp_req(struct hostapd_data *hapd,\n\t\t\t\t\t\t
      \ const char *cmd)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hwaddr_aton
      Src: /src/hostap/hostapd/ctrl_iface.c:913,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:914,1
    - Dst: ap_get_sta
      Src: /src/hostap/hostapd/ctrl_iface.c:918,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:920,1
    - Dst: MAC2STR
      Src: /src/hostap/hostapd/ctrl_iface.c:922,1
    - Dst: atoi
      Src: /src/hostap/hostapd/ctrl_iface.c:930,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/ctrl_iface.c:931,1
    - Dst: atoi
      Src: /src/hostap/hostapd/ctrl_iface.c:935,1
    - Dst: wnm_send_coloc_intf_req
      Src: /src/hostap/hostapd/ctrl_iface.c:937,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - hapd
    - cmd
    argTypes:
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 905
    functionDepth: 1
    functionLinenumber: 905
    functionLinenumberEnd: 938
    functionName: hostapd_ctrl_iface_coloc_intf_req
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wnm_send_coloc_intf_req
    - hwaddr_aton
    - MAC2STR
    - atoi
    - os_strchr
    - ap_get_sta
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_iface_coloc_intf_req(struct hostapd_data *hapd,\n\t\t\t\t\t
      \    const char *cmd)"
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: WPA_ASSERT
      Src: /src/hostap/hostapd/ctrl_iface.c:952,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:955,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/ctrl_iface.c:956,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:961,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/ctrl_iface.c:962,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:968,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/ctrl_iface.c:969,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:974,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/ctrl_iface.c:975,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:981,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/ctrl_iface.c:982,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:989,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/ctrl_iface.c:990,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:995,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/ctrl_iface.c:996,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:1003,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/ctrl_iface.c:1004,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:1009,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/ctrl_iface.c:1010,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:1017,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/ctrl_iface.c:1018,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:1023,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/ctrl_iface.c:1024,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:1030,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/ctrl_iface.c:1031,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:1036,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/ctrl_iface.c:1037,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:1043,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/ctrl_iface.c:1044,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:1050,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/ctrl_iface.c:1052,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:1058,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/ctrl_iface.c:1059,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:1064,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/ctrl_iface.c:1065,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:1073,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/ctrl_iface.c:1074,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:1082,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/ctrl_iface.c:1083,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:1090,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/ctrl_iface.c:1091,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 129
    argCount: 3
    argNames:
    - hapd
    - buf
    - buflen
    argTypes:
    - struct hostapd_data*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 943
    functionDepth: 1
    functionLinenumber: 943
    functionLinenumberEnd: 1103
    functionName: hostapd_ctrl_iface_get_key_mgmt
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - WPA_ASSERT
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_iface_get_key_mgmt(struct hostapd_data *hapd,\n\t\t\t\t\t
      \  char *buf, size_t buflen)"
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:1115,1
    - Dst: MAC2STR
      Src: /src/hostap/hostapd/ctrl_iface.c:1117,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/hostapd/ctrl_iface.c:1118,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/ctrl_iface.c:1120,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:1125,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/ctrl_iface.c:1127,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:1133,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/ctrl_iface.c:1137,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:1143,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/ctrl_iface.c:1145,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/hostapd/ctrl_iface.c:1154,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:1156,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/ctrl_iface.c:1157,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:1165,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/ctrl_iface.c:1167,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:1172,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/hostapd/ctrl_iface.c:1174,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/ctrl_iface.c:1176,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:1183,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/ctrl_iface.c:1186,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/hostapd/ctrl_iface.c:1196,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:1198,1
    - Dst: forced_memzero
      Src: /src/hostap/hostapd/ctrl_iface.c:1201,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/ctrl_iface.c:1202,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:1210,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/ctrl_iface.c:1211,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:1217,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/ctrl_iface.c:1218,1
    - Dst: hostapd_ctrl_iface_get_key_mgmt
      Src: /src/hostap/hostapd/ctrl_iface.c:1222,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:1224,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/ctrl_iface.c:1225,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:1231,1
    - Dst: wpa_cipher_txt
      Src: /src/hostap/hostapd/ctrl_iface.c:1232,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/ctrl_iface.c:1233,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:1239,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/ctrl_iface.c:1240,1
    - Dst: wpa_write_ciphers
      Src: /src/hostap/hostapd/ctrl_iface.c:1244,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:1250,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/ctrl_iface.c:1251,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:1257,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/ctrl_iface.c:1258,1
    - Dst: wpa_write_ciphers
      Src: /src/hostap/hostapd/ctrl_iface.c:1262,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:1268,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/ctrl_iface.c:1269,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:1275,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/ctrl_iface.c:1277,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:1283,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/ctrl_iface.c:1285,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 120
    argCount: 3
    argNames:
    - hapd
    - buf
    - buflen
    argTypes:
    - struct hostapd_data*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1291
      start: 1106
    functionDepth: 2
    functionLinenumber: 1106
    functionLinenumberEnd: 1291
    functionName: hostapd_ctrl_iface_get_config
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_snprintf_hex
    - wpa_ssid_txt
    - forced_memzero
    - os_snprintf
    - MAC2STR
    - hostapd_ctrl_iface_get_key_mgmt
    - wpa_cipher_txt
    - wpa_write_ciphers
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_iface_get_config(struct hostapd_data *hapd,\n\t\t\t\t\t
      char *buf, size_t buflen)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_strstr
      Src: /src/hostap/hostapd/ctrl_iface.c:1306,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/ctrl_iface.c:1307,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/ctrl_iface.c:1309,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/ctrl_iface.c:1311,1
    - Dst: hostapd_drv_set_band
      Src: /src/hostap/hostapd/ctrl_iface.c:1317,1
    - Dst: os_memset
      Src: /src/hostap/hostapd/ctrl_iface.c:1318,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/hostapd/ctrl_iface.c:1321,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - hapd
    - bands
    argTypes:
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1294
    functionDepth: 1
    functionLinenumber: 1294
    functionLinenumberEnd: 1325
    functionName: hostapd_ctrl_iface_set_band
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strstr
    - wpa_supplicant_event
    - hostapd_drv_set_band
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_iface_set_band(struct hostapd_data *hapd,\n\t\t\t\t
      \      const char *bands)"
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: os_strchr
      Src: /src/hostap/hostapd/ctrl_iface.c:1333,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:1338,1
    - Dst: os_strcasecmp
      Src: /src/hostap/hostapd/ctrl_iface.c:1341,1
    - Dst: strtol
      Src: /src/hostap/hostapd/ctrl_iface.c:1343,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:1346,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:1350,1
    - Dst: hostapd_wps_update_ie
      Src: /src/hostap/hostapd/ctrl_iface.c:1354,1
    - Dst: os_strcasecmp
      Src: /src/hostap/hostapd/ctrl_iface.c:1356,1
    - Dst: atoi
      Src: /src/hostap/hostapd/ctrl_iface.c:1357,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:1358,1
    - Dst: os_strcasecmp
      Src: /src/hostap/hostapd/ctrl_iface.c:1360,1
    - Dst: atoi
      Src: /src/hostap/hostapd/ctrl_iface.c:1361,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:1362,1
    - Dst: os_strcasecmp
      Src: /src/hostap/hostapd/ctrl_iface.c:1366,1
    - Dst: atoi
      Src: /src/hostap/hostapd/ctrl_iface.c:1367,1
    - Dst: os_strcasecmp
      Src: /src/hostap/hostapd/ctrl_iface.c:1368,1
    - Dst: atoi
      Src: /src/hostap/hostapd/ctrl_iface.c:1369,1
    - Dst: os_strcasecmp
      Src: /src/hostap/hostapd/ctrl_iface.c:1370,1
    - Dst: os_strcasecmp
      Src: /src/hostap/hostapd/ctrl_iface.c:1372,1
    - Dst: atoi
      Src: /src/hostap/hostapd/ctrl_iface.c:1376,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:1377,1
    - Dst: os_strcasecmp
      Src: /src/hostap/hostapd/ctrl_iface.c:1380,1
    - Dst: atoi
      Src: /src/hostap/hostapd/ctrl_iface.c:1381,1
    - Dst: os_strcasecmp
      Src: /src/hostap/hostapd/ctrl_iface.c:1383,1
    - Dst: os_free
      Src: /src/hostap/hostapd/ctrl_iface.c:1384,1
    - Dst: os_strdup
      Src: /src/hostap/hostapd/ctrl_iface.c:1385,1
    - Dst: os_strcasecmp
      Src: /src/hostap/hostapd/ctrl_iface.c:1386,1
    - Dst: os_free
      Src: /src/hostap/hostapd/ctrl_iface.c:1387,1
    - Dst: os_strdup
      Src: /src/hostap/hostapd/ctrl_iface.c:1388,1
    - Dst: os_strcasecmp
      Src: /src/hostap/hostapd/ctrl_iface.c:1389,1
    - Dst: os_free
      Src: /src/hostap/hostapd/ctrl_iface.c:1390,1
    - Dst: os_strdup
      Src: /src/hostap/hostapd/ctrl_iface.c:1391,1
    - Dst: os_strcasecmp
      Src: /src/hostap/hostapd/ctrl_iface.c:1392,1
    - Dst: atoi
      Src: /src/hostap/hostapd/ctrl_iface.c:1394,1
    - Dst: os_strcasecmp
      Src: /src/hostap/hostapd/ctrl_iface.c:1395,1
    - Dst: atoi
      Src: /src/hostap/hostapd/ctrl_iface.c:1396,1
    - Dst: os_strcasecmp
      Src: /src/hostap/hostapd/ctrl_iface.c:1397,1
    - Dst: atoi
      Src: /src/hostap/hostapd/ctrl_iface.c:1398,1
    - Dst: os_strcasecmp
      Src: /src/hostap/hostapd/ctrl_iface.c:1402,1
    - Dst: atoi
      Src: /src/hostap/hostapd/ctrl_iface.c:1408,1
    - Dst: ieee802_11_update_beacons
      Src: /src/hostap/hostapd/ctrl_iface.c:1413,1
    - Dst: os_strcasecmp
      Src: /src/hostap/hostapd/ctrl_iface.c:1421,1
    - Dst: os_free
      Src: /src/hostap/hostapd/ctrl_iface.c:1422,1
    - Dst: os_strdup
      Src: /src/hostap/hostapd/ctrl_iface.c:1423,1
    - Dst: dpp_controller_set_params
      Src: /src/hostap/hostapd/ctrl_iface.c:1425,1
    - Dst: os_strcasecmp
      Src: /src/hostap/hostapd/ctrl_iface.c:1427,1
    - Dst: atoi
      Src: /src/hostap/hostapd/ctrl_iface.c:1428,1
    - Dst: os_strcasecmp
      Src: /src/hostap/hostapd/ctrl_iface.c:1429,1
    - Dst: atoi
      Src: /src/hostap/hostapd/ctrl_iface.c:1430,1
    - Dst: os_strcasecmp
      Src: /src/hostap/hostapd/ctrl_iface.c:1431,1
    - Dst: atoi
      Src: /src/hostap/hostapd/ctrl_iface.c:1432,1
    - Dst: os_strcasecmp
      Src: /src/hostap/hostapd/ctrl_iface.c:1433,1
    - Dst: atoi
      Src: /src/hostap/hostapd/ctrl_iface.c:1434,1
    - Dst: os_strcasecmp
      Src: /src/hostap/hostapd/ctrl_iface.c:1435,1
    - Dst: atoi
      Src: /src/hostap/hostapd/ctrl_iface.c:1436,1
    - Dst: os_strcasecmp
      Src: /src/hostap/hostapd/ctrl_iface.c:1438,1
    - Dst: hostapd_ctrl_iface_set_band
      Src: /src/hostap/hostapd/ctrl_iface.c:1439,1
    - Dst: hostapd_set_iface
      Src: /src/hostap/hostapd/ctrl_iface.c:1441,1
    - Dst: os_strcasecmp
      Src: /src/hostap/hostapd/ctrl_iface.c:1445,1
    - Dst: hostapd_disassoc_deny_mac
      Src: /src/hostap/hostapd/ctrl_iface.c:1446,1
    - Dst: os_strcasecmp
      Src: /src/hostap/hostapd/ctrl_iface.c:1447,1
    - Dst: hostapd_disassoc_accept_mac
      Src: /src/hostap/hostapd/ctrl_iface.c:1448,1
    - Dst: os_strcasecmp
      Src: /src/hostap/hostapd/ctrl_iface.c:1449,1
    - Dst: hostapd_neighbor_sync_own_report
      Src: /src/hostap/hostapd/ctrl_iface.c:1450,1
    - Dst: os_strncmp
      Src: /src/hostap/hostapd/ctrl_iface.c:1451,1
    - Dst: os_strncmp
      Src: /src/hostap/hostapd/ctrl_iface.c:1452,1
    - Dst: ieee802_11_update_beacons
      Src: /src/hostap/hostapd/ctrl_iface.c:1453,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:1454,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/ctrl_iface.c:1456,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/ctrl_iface.c:1457,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/ctrl_iface.c:1458,1
    - Dst: hostapd_setup_sae_pt
      Src: /src/hostap/hostapd/ctrl_iface.c:1460,1
    - Dst: os_strcasecmp
      Src: /src/hostap/hostapd/ctrl_iface.c:1461,1
    - Dst: wpa_auth_set_transition_disable
      Src: /src/hostap/hostapd/ctrl_iface.c:1462,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/ctrl_iface.c:1467,1
    - Dst: wpa_auth_set_ft_rsnxe_used
      Src: /src/hostap/hostapd/ctrl_iface.c:1468,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/ctrl_iface.c:1470,1
    - Dst: wpa_auth_set_ocv_override_freq
      Src: /src/hostap/hostapd/ctrl_iface.c:1471,1
    - Dst: atoi
      Src: /src/hostap/hostapd/ctrl_iface.c:1473,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/ctrl_iface.c:1474,1
    - Dst: wpa_auth_set_ocv_override_freq
      Src: /src/hostap/hostapd/ctrl_iface.c:1475,1
    - Dst: atoi
      Src: /src/hostap/hostapd/ctrl_iface.c:1477,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/ctrl_iface.c:1478,1
    - Dst: wpa_auth_set_ocv_override_freq
      Src: /src/hostap/hostapd/ctrl_iface.c:1479,1
    - Dst: atoi
      Src: /src/hostap/hostapd/ctrl_iface.c:1481,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/ctrl_iface.c:1482,1
    - Dst: wpa_auth_set_ocv_override_freq
      Src: /src/hostap/hostapd/ctrl_iface.c:1483,1
    - Dst: atoi
      Src: /src/hostap/hostapd/ctrl_iface.c:1485,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 130
    argCount: 2
    argNames:
    - hapd
    - cmd
    argTypes:
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1490
      start: 1328
    functionDepth: 2
    functionLinenumber: 1328
    functionLinenumberEnd: 1490
    functionName: hostapd_ctrl_iface_set
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - hostapd_set_iface
    - wpa_auth_set_ft_rsnxe_used
    - atoi
    - wpa_printf
    - hostapd_disassoc_deny_mac
    - hostapd_ctrl_iface_set_band
    - os_strcasecmp
    - hostapd_setup_sae_pt
    - os_free
    - ieee802_11_update_beacons
    - dpp_controller_set_params
    - os_strcmp
    - strtol
    - hostapd_neighbor_sync_own_report
    - os_strchr
    - hostapd_wps_update_ie
    - os_strdup
    - os_strncmp
    - wpa_auth_set_ocv_override_freq
    - wpa_auth_set_transition_disable
    - hostapd_disassoc_accept_mac
    linkageType: ''
    returnType: int
    signature: int hostapd_ctrl_iface_set(struct hostapd_data *hapd, char *cmd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:1498,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/ctrl_iface.c:1500,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:1501,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/ctrl_iface.c:1502,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/ctrl_iface.c:1505,1
    - Dst: tls_get_library_version
      Src: /src/hostap/hostapd/ctrl_iface.c:1506,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/ctrl_iface.c:1507,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - hapd
    - cmd
    - buf
    - buflen
    argTypes:
    - struct hostapd_data*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1513
      start: 1493
    functionDepth: 1
    functionLinenumber: 1493
    functionLinenumberEnd: 1513
    functionName: hostapd_ctrl_iface_get
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - tls_get_library_version
    - os_snprintf
    - os_strcmp
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_iface_get(struct hostapd_data *hapd, char *cmd,\n\t\t\t\t
      \ char *buf, size_t buflen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_enable_iface
      Src: /src/hostap/hostapd/ctrl_iface.c:1518,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:1519,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1523
      start: 1516
    functionDepth: 1
    functionLinenumber: 1516
    functionLinenumberEnd: 1523
    functionName: hostapd_ctrl_iface_enable
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hostapd_enable_iface
    linkageType: ''
    returnType: int
    signature: int hostapd_ctrl_iface_enable(struct hostapd_iface *iface)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_reload_iface
      Src: /src/hostap/hostapd/ctrl_iface.c:1528,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:1529,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1533
      start: 1526
    functionDepth: 1
    functionLinenumber: 1526
    functionLinenumberEnd: 1533
    functionName: hostapd_ctrl_iface_reload
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hostapd_reload_iface
    linkageType: ''
    returnType: int
    signature: int hostapd_ctrl_iface_reload(struct hostapd_iface *iface)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_reload_bss_only
      Src: /src/hostap/hostapd/ctrl_iface.c:1538,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:1539,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - bss
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1543
      start: 1536
    functionDepth: 1
    functionLinenumber: 1536
    functionLinenumberEnd: 1543
    functionName: hostapd_ctrl_iface_reload_bss
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hostapd_reload_bss_only
    linkageType: ''
    returnType: int
    signature: int hostapd_ctrl_iface_reload_bss(struct hostapd_data *bss)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_disable_iface
      Src: /src/hostap/hostapd/ctrl_iface.c:1548,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:1549,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1553
      start: 1546
    functionDepth: 1
    functionLinenumber: 1546
    functionLinenumberEnd: 1553
    functionName: hostapd_ctrl_iface_disable
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - hostapd_disable_iface
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int hostapd_ctrl_iface_disable(struct hostapd_iface *iface)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_auth_get_pmk
      Src: /src/hostap/hostapd/ctrl_iface.c:1568,1
    - Dst: os_memcmp
      Src: /src/hostap/hostapd/ctrl_iface.c:1572,1
    - Dst: ether_addr_equal
      Src: /src/hostap/hostapd/ctrl_iface.c:1574,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:1581,1
    - Dst: MAC2STR
      Src: /src/hostap/hostapd/ctrl_iface.c:1583,1
    - Dst: hostapd_drv_sta_deauth
      Src: /src/hostap/hostapd/ctrl_iface.c:1585,1
    - Dst: ap_sta_deauthenticate
      Src: /src/hostap/hostapd/ctrl_iface.c:1586,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - hapd
    - sta
    - ctx
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1589
      start: 1556
    functionDepth: 1
    functionLinenumber: 1556
    functionLinenumberEnd: 1589
    functionName: hostapd_ctrl_iface_kick_mismatch_psk_sta_iter
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_auth_get_pmk
    - ap_sta_deauthenticate
    - ether_addr_equal
    - hostapd_drv_sta_deauth
    - MAC2STR
    - os_memcmp
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_iface_kick_mismatch_psk_sta_iter(struct hostapd_data
      *hapd,\n\t\t\t\t\t      struct sta_info *sta, void *ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_config_clear_wpa_psk
      Src: /src/hostap/hostapd/ctrl_iface.c:1597,1
    - Dst: hostapd_setup_wpa_psk
      Src: /src/hostap/hostapd/ctrl_iface.c:1599,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:1601,1
    - Dst: ap_for_each_sta
      Src: /src/hostap/hostapd/ctrl_iface.c:1606,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1610
      start: 1592
    functionDepth: 1
    functionLinenumber: 1592
    functionLinenumberEnd: 1610
    functionName: hostapd_ctrl_iface_reload_wpa_psk
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - hostapd_config_clear_wpa_psk
    - wpa_printf
    - hostapd_setup_wpa_psk
    - ap_for_each_sta
    linkageType: ''
    returnType: int
    signature: int hostapd_ctrl_iface_reload_wpa_psk(struct hostapd_data *hapd)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:1629,1
    - Dst: MAC2STR
      Src: /src/hostap/hostapd/ctrl_iface.c:1630,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/ctrl_iface.c:1631,1
    - Dst: os_memcpy
      Src: /src/hostap/hostapd/ctrl_iface.c:1636,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/hostapd/ctrl_iface.c:1639,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:1641,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/ctrl_iface.c:1642,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:1649,1
    - Dst: MAC2STR
      Src: /src/hostap/hostapd/ctrl_iface.c:1650,1
    - Dst: MAC2STR
      Src: /src/hostap/hostapd/ctrl_iface.c:1650,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/ctrl_iface.c:1651,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/hostapd/ctrl_iface.c:1654,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:1656,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/ctrl_iface.c:1657,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 3
    argNames:
    - hapd
    - buf
    - buflen
    argTypes:
    - struct hostapd_data*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1663
      start: 1615
    functionDepth: 1
    functionLinenumber: 1615
    functionLinenumberEnd: 1663
    functionName: hostapd_ctrl_iface_get_rxkhs
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_snprintf_hex
    - os_snprintf
    - MAC2STR
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_iface_get_rxkhs(struct hostapd_data *hapd,\n\t\t\t\t\tchar
      *buf, size_t buflen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_config_clear_rxkhs
      Src: /src/hostap/hostapd/ctrl_iface.c:1671,1
    - Dst: hostapd_config_read_rxkh_file
      Src: /src/hostap/hostapd/ctrl_iface.c:1673,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:1675,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1681
      start: 1666
    functionDepth: 4
    functionLinenumber: 1666
    functionLinenumberEnd: 1681
    functionName: hostapd_ctrl_iface_reload_rxkhs
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hostapd_config_read_rxkh_file
    - hostapd_config_clear_rxkhs
    linkageType: ''
    returnType: int
    signature: int hostapd_ctrl_iface_reload_rxkhs(struct hostapd_data *hapd)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:1694,1
    - Dst: os_memset
      Src: /src/hostap/hostapd/ctrl_iface.c:1696,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/ctrl_iface.c:1698,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/ctrl_iface.c:1703,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/ctrl_iface.c:1705,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/ctrl_iface.c:1707,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/ctrl_iface.c:1709,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:1712,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/ctrl_iface.c:1717,1
    - Dst: atoi
      Src: /src/hostap/hostapd/ctrl_iface.c:1719,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/ctrl_iface.c:1721,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/ctrl_iface.c:1725,1
    - Dst: atoi
      Src: /src/hostap/hostapd/ctrl_iface.c:1727,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/ctrl_iface.c:1729,1
    - Dst: atoi
      Src: /src/hostap/hostapd/ctrl_iface.c:1731,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/ctrl_iface.c:1733,1
    - Dst: atoi
      Src: /src/hostap/hostapd/ctrl_iface.c:1735,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/ctrl_iface.c:1737,1
    - Dst: atoi
      Src: /src/hostap/hostapd/ctrl_iface.c:1739,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/hostapd/ctrl_iface.c:1741,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 2
    argNames:
    - hapd
    - cmd
    argTypes:
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1744
      start: 1688
    functionDepth: 0
    functionLinenumber: 1688
    functionLinenumberEnd: 1744
    functionName: hostapd_ctrl_iface_radar
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - wpa_printf
    - os_strstr
    - atoi
    - os_strchr
    - os_strcmp
    - os_memset
    linkageType: ''
    returnType: int
    signature: int hostapd_ctrl_iface_radar(struct hostapd_data *hapd, char *cmd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:1753,1
    - Dst: os_strlen
      Src: /src/hostap/hostapd/ctrl_iface.c:1755,1
    - Dst: os_malloc
      Src: /src/hostap/hostapd/ctrl_iface.c:1760,1
    - Dst: hexstr2bin
      Src: /src/hostap/hostapd/ctrl_iface.c:1764,1
    - Dst: os_free
      Src: /src/hostap/hostapd/ctrl_iface.c:1765,1
    - Dst: hostapd_drv_send_mlme
      Src: /src/hostap/hostapd/ctrl_iface.c:1769,1
    - Dst: os_free
      Src: /src/hostap/hostapd/ctrl_iface.c:1770,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - hapd
    - cmd
    argTypes:
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1772
      start: 1747
    functionDepth: 1
    functionLinenumber: 1747
    functionLinenumberEnd: 1772
    functionName: hostapd_ctrl_iface_mgmt_tx
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - hexstr2bin
    - hostapd_drv_send_mlme
    - os_malloc
    - os_free
    linkageType: ''
    returnType: int
    signature: int hostapd_ctrl_iface_mgmt_tx(struct hostapd_data *hapd, char *cmd)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:1789,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/ctrl_iface.c:1792,1
    - Dst: atoi
      Src: /src/hostap/hostapd/ctrl_iface.c:1795,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/ctrl_iface.c:1798,1
    - Dst: atoi
      Src: /src/hostap/hostapd/ctrl_iface.c:1801,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/ctrl_iface.c:1804,1
    - Dst: os_strlen
      Src: /src/hostap/hostapd/ctrl_iface.c:1809,1
    - Dst: os_malloc
      Src: /src/hostap/hostapd/ctrl_iface.c:1814,1
    - Dst: hexstr2bin
      Src: /src/hostap/hostapd/ctrl_iface.c:1815,1
    - Dst: os_free
      Src: /src/hostap/hostapd/ctrl_iface.c:1816,1
    - Dst: os_memset
      Src: /src/hostap/hostapd/ctrl_iface.c:1820,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/hostapd/ctrl_iface.c:1827,1
    - Dst: os_free
      Src: /src/hostap/hostapd/ctrl_iface.c:1830,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 39
    argCount: 2
    argNames:
    - hapd
    - cmd
    argTypes:
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1833
      start: 1775
    functionDepth: 1
    functionLinenumber: 1775
    functionLinenumberEnd: 1833
    functionName: hostapd_ctrl_iface_mgmt_tx_status_process
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_supplicant_event
    - wpa_printf
    - hexstr2bin
    - os_malloc
    - os_strstr
    - atoi
    - os_free
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_iface_mgmt_tx_status_process(struct hostapd_data
      *hapd,\n\t\t\t\t\t\t     char *cmd)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:1850,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/ctrl_iface.c:1853,1
    - Dst: atoi
      Src: /src/hostap/hostapd/ctrl_iface.c:1856,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/ctrl_iface.c:1859,1
    - Dst: atoi
      Src: /src/hostap/hostapd/ctrl_iface.c:1862,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/ctrl_iface.c:1865,1
    - Dst: atoi
      Src: /src/hostap/hostapd/ctrl_iface.c:1868,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/ctrl_iface.c:1871,1
    - Dst: os_strlen
      Src: /src/hostap/hostapd/ctrl_iface.c:1876,1
    - Dst: os_malloc
      Src: /src/hostap/hostapd/ctrl_iface.c:1881,1
    - Dst: hexstr2bin
      Src: /src/hostap/hostapd/ctrl_iface.c:1885,1
    - Dst: os_free
      Src: /src/hostap/hostapd/ctrl_iface.c:1886,1
    - Dst: os_memset
      Src: /src/hostap/hostapd/ctrl_iface.c:1890,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/hostapd/ctrl_iface.c:1897,1
    - Dst: os_free
      Src: /src/hostap/hostapd/ctrl_iface.c:1900,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 46
    argCount: 2
    argNames:
    - hapd
    - cmd
    argTypes:
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1903
      start: 1836
    functionDepth: 1
    functionLinenumber: 1836
    functionLinenumberEnd: 1903
    functionName: hostapd_ctrl_iface_mgmt_rx_process
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_supplicant_event
    - wpa_printf
    - hexstr2bin
    - os_malloc
    - os_strstr
    - atoi
    - os_free
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_iface_mgmt_rx_process(struct hostapd_data *hapd,\n\t\t\t\t\t
      \     char *cmd)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:1913,1
    - Dst: hwaddr_aton2
      Src: /src/hostap/hostapd/ctrl_iface.c:1916,1
    - Dst: os_strlen
      Src: /src/hostap/hostapd/ctrl_iface.c:1923,1
    - Dst: os_malloc
      Src: /src/hostap/hostapd/ctrl_iface.c:1928,1
    - Dst: hexstr2bin
      Src: /src/hostap/hostapd/ctrl_iface.c:1932,1
    - Dst: os_free
      Src: /src/hostap/hostapd/ctrl_iface.c:1933,1
    - Dst: ieee802_1x_receive
      Src: /src/hostap/hostapd/ctrl_iface.c:1937,1
    - Dst: os_free
      Src: /src/hostap/hostapd/ctrl_iface.c:1938,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - hapd
    - cmd
    argTypes:
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1941
      start: 1906
    functionDepth: 1
    functionLinenumber: 1906
    functionLinenumberEnd: 1941
    functionName: hostapd_ctrl_iface_eapol_rx
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - hexstr2bin
    - os_malloc
    - ieee802_1x_receive
    - os_free
    - hwaddr_aton2
    linkageType: ''
    returnType: int
    signature: int hostapd_ctrl_iface_eapol_rx(struct hostapd_data *hapd, char *cmd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:1953,1
    - Dst: hwaddr_aton2
      Src: /src/hostap/hostapd/ctrl_iface.c:1956,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/ctrl_iface.c:1963,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/ctrl_iface.c:1966,1
    - Dst: os_strlen
      Src: /src/hostap/hostapd/ctrl_iface.c:1968,1
    - Dst: os_malloc
      Src: /src/hostap/hostapd/ctrl_iface.c:1974,1
    - Dst: hexstr2bin
      Src: /src/hostap/hostapd/ctrl_iface.c:1975,1
    - Dst: os_free
      Src: /src/hostap/hostapd/ctrl_iface.c:1976,1
    - Dst: hostapd_wpa_auth_send_eapol
      Src: /src/hostap/hostapd/ctrl_iface.c:1982,1
    - Dst: os_free
      Src: /src/hostap/hostapd/ctrl_iface.c:1984,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 2
    argNames:
    - hapd
    - cmd
    argTypes:
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1987
      start: 1944
    functionDepth: 1
    functionLinenumber: 1944
    functionLinenumberEnd: 1987
    functionName: hostapd_ctrl_iface_eapol_tx
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - hostapd_wpa_auth_send_eapol
    - wpa_printf
    - hexstr2bin
    - os_malloc
    - os_strstr
    - os_free
    - os_strchr
    - hwaddr_aton2
    linkageType: ''
    returnType: int
    signature: int hostapd_ctrl_iface_eapol_tx(struct hostapd_data *hapd, char *cmd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2003
      start: 1990
    functionDepth: 0
    functionLinenumber: 1990
    functionLinenumberEnd: 2003
    functionName: ipv4_hdr_checksum
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: u16
    signature: u16 ipv4_hdr_checksum(const void *buf, size_t len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:2020,1
    - Dst: os_memcpy
      Src: /src/hostap/hostapd/ctrl_iface.c:2027,1
    - Dst: ntohs
      Src: /src/hostap/hostapd/ctrl_iface.c:2031,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:2032,1
    - Dst: ntohs
      Src: /src/hostap/hostapd/ctrl_iface.c:2037,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:2039,1
    - Dst: ntohs
      Src: /src/hostap/hostapd/ctrl_iface.c:2047,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:2048,1
    - Dst: ntohs
      Src: /src/hostap/hostapd/ctrl_iface.c:2048,1
    - Dst: wpa_msg
      Src: /src/hostap/hostapd/ctrl_iface.c:2049,1
    - Dst: MAC2STR
      Src: /src/hostap/hostapd/ctrl_iface.c:2050,1
    - Dst: MAC2STR
      Src: /src/hostap/hostapd/ctrl_iface.c:2050,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 4
    argNames:
    - ctx
    - src_addr
    - buf
    - len
    argTypes:
    - void*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2051
      start: 2009
    functionDepth: 1
    functionLinenumber: 2009
    functionLinenumberEnd: 2051
    functionName: hostapd_data_test_rx
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_msg
    - os_snprintf
    - MAC2STR
    - ntohs
    linkageType: ''
    returnType: void
    signature: "void hostapd_data_test_rx(void *ctx, const u8 *src_addr, const u8
      *buf,\n\t\t\t\t size_t len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/hostap/hostapd/ctrl_iface.c:2057,1
    - Dst: l2_packet_deinit
      Src: /src/hostap/hostapd/ctrl_iface.c:2064,1
    - Dst: wpa_dbg
      Src: /src/hostap/hostapd/ctrl_iface.c:2066,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/ctrl_iface.c:2075,1
    - Dst: l2_packet_init
      Src: /src/hostap/hostapd/ctrl_iface.c:2085,1
    - Dst: wpa_dbg
      Src: /src/hostap/hostapd/ctrl_iface.c:2091,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - hapd
    - cmd
    argTypes:
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2094
      start: 2054
    functionDepth: 1
    functionLinenumber: 2054
    functionLinenumberEnd: 2094
    functionName: hostapd_ctrl_iface_data_test_config
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - l2_packet_deinit
    - os_strstr
    - wpa_dbg
    - atoi
    - l2_packet_init
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_iface_data_test_config(struct hostapd_data *hapd,\n\t\t\t\t\t
      \      char *cmd)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: hwaddr_aton2
      Src: /src/hostap/hostapd/ctrl_iface.c:2117,1
    - Dst: hwaddr_aton2
      Src: /src/hostap/hostapd/ctrl_iface.c:2123,1
    - Dst: strtol
      Src: /src/hostap/hostapd/ctrl_iface.c:2128,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/ctrl_iface.c:2133,1
    - Dst: atoi
      Src: /src/hostap/hostapd/ctrl_iface.c:2135,1
    - Dst: os_memcpy
      Src: /src/hostap/hostapd/ctrl_iface.c:2142,1
    - Dst: os_memcpy
      Src: /src/hostap/hostapd/ctrl_iface.c:2143,1
    - Dst: htons
      Src: /src/hostap/hostapd/ctrl_iface.c:2144,1
    - Dst: os_memset
      Src: /src/hostap/hostapd/ctrl_iface.c:2146,1
    - Dst: htons
      Src: /src/hostap/hostapd/ctrl_iface.c:2151,1
    - Dst: htonl
      Src: /src/hostap/hostapd/ctrl_iface.c:2153,1
    - Dst: htonl
      Src: /src/hostap/hostapd/ctrl_iface.c:2154,1
    - Dst: ipv4_hdr_checksum
      Src: /src/hostap/hostapd/ctrl_iface.c:2155,1
    - Dst: l2_packet_send
      Src: /src/hostap/hostapd/ctrl_iface.c:2160,1
    - Dst: wpa_dbg
      Src: /src/hostap/hostapd/ctrl_iface.c:2164,1
    - Dst: MAC2STR
      Src: /src/hostap/hostapd/ctrl_iface.c:2165,1
    - Dst: MAC2STR
      Src: /src/hostap/hostapd/ctrl_iface.c:2165,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 2
    argNames:
    - hapd
    - cmd
    argTypes:
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2168
      start: 2097
    functionDepth: 1
    functionLinenumber: 2097
    functionLinenumberEnd: 2168
    functionName: hostapd_ctrl_iface_data_test_tx
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - strtol
    - os_memcpy
    - htons
    - htonl
    - os_strstr
    - MAC2STR
    - l2_packet_send
    - wpa_dbg
    - atoi
    - hwaddr_aton2
    - ipv4_hdr_checksum
    - os_memset
    linkageType: ''
    returnType: int
    signature: int hostapd_ctrl_iface_data_test_tx(struct hostapd_data *hapd, char
      *cmd)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: os_strncmp
      Src: /src/hostap/hostapd/ctrl_iface.c:2182,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/ctrl_iface.c:2185,1
    - Dst: os_strlen
      Src: /src/hostap/hostapd/ctrl_iface.c:2191,1
    - Dst: os_malloc
      Src: /src/hostap/hostapd/ctrl_iface.c:2196,1
    - Dst: hexstr2bin
      Src: /src/hostap/hostapd/ctrl_iface.c:2200,1
    - Dst: ntohs
      Src: /src/hostap/hostapd/ctrl_iface.c:2204,1
    - Dst: l2_packet_init
      Src: /src/hostap/hostapd/ctrl_iface.c:2206,1
    - Dst: l2_packet_send
      Src: /src/hostap/hostapd/ctrl_iface.c:2211,1
    - Dst: wpa_dbg
      Src: /src/hostap/hostapd/ctrl_iface.c:2212,1
    - Dst: l2_packet_deinit
      Src: /src/hostap/hostapd/ctrl_iface.c:2215,1
    - Dst: os_free
      Src: /src/hostap/hostapd/ctrl_iface.c:2216,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 2
    argNames:
    - hapd
    - cmd
    argTypes:
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2219
      start: 2171
    functionDepth: 1
    functionLinenumber: 2171
    functionLinenumberEnd: 2219
    functionName: hostapd_ctrl_iface_data_test_frame
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - hexstr2bin
    - l2_packet_deinit
    - os_malloc
    - os_strncmp
    - l2_packet_send
    - wpa_dbg
    - os_free
    - os_strchr
    - ntohs
    - l2_packet_init
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_iface_data_test_frame(struct hostapd_data *hapd,\n\t\t\t\t\t
      \     char *cmd)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/hostapd/ctrl_iface.c:2228,1
    - Dst: hwaddr_aton
      Src: /src/hostap/hostapd/ctrl_iface.c:2230,1
    - Dst: is_broadcast_ether_addr
      Src: /src/hostap/hostapd/ctrl_iface.c:2233,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/ctrl_iface.c:2233,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:2237,1
    - Dst: hostapd_drv_set_key
      Src: /src/hostap/hostapd/ctrl_iface.c:2241,1
    - Dst: hostapd_drv_set_key
      Src: /src/hostap/hostapd/ctrl_iface.c:2250,1
    - Dst: is_broadcast_ether_addr
      Src: /src/hostap/hostapd/ctrl_iface.c:2259,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/ctrl_iface.c:2259,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:2263,1
    - Dst: hostapd_drv_set_key
      Src: /src/hostap/hostapd/ctrl_iface.c:2267,1
    - Dst: hostapd_drv_set_key
      Src: /src/hostap/hostapd/ctrl_iface.c:2276,1
    - Dst: is_broadcast_ether_addr
      Src: /src/hostap/hostapd/ctrl_iface.c:2285,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:2289,1
    - Dst: hostapd_drv_set_key
      Src: /src/hostap/hostapd/ctrl_iface.c:2293,1
    - Dst: hostapd_drv_set_key
      Src: /src/hostap/hostapd/ctrl_iface.c:2302,1
    - Dst: ap_get_sta
      Src: /src/hostap/hostapd/ctrl_iface.c:2311,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:2318,1
    - Dst: MAC2STR
      Src: /src/hostap/hostapd/ctrl_iface.c:2319,1
    - Dst: hostapd_drv_set_key
      Src: /src/hostap/hostapd/ctrl_iface.c:2323,1
    - Dst: hostapd_drv_set_key
      Src: /src/hostap/hostapd/ctrl_iface.c:2330,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 2
    argNames:
    - hapd
    - cmd
    argTypes:
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2334
      start: 2222
    functionDepth: 1
    functionLinenumber: 2222
    functionLinenumberEnd: 2334
    functionName: hostapd_ctrl_reset_pn
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hostapd_drv_set_key
    - is_broadcast_ether_addr
    - hwaddr_aton
    - os_strstr
    - MAC2STR
    - ap_get_sta
    - os_memset
    linkageType: ''
    returnType: int
    signature: int hostapd_ctrl_reset_pn(struct hostapd_data *hapd, const char *cmd)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/hostap/hostapd/ctrl_iface.c:2349,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/ctrl_iface.c:2350,1
    - Dst: hwaddr_aton
      Src: /src/hostap/hostapd/ctrl_iface.c:2354,1
    - Dst: atoi
      Src: /src/hostap/hostapd/ctrl_iface.c:2360,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/ctrl_iface.c:2361,1
    - Dst: atoi
      Src: /src/hostap/hostapd/ctrl_iface.c:2365,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/ctrl_iface.c:2366,1
    - Dst: hexstr2bin
      Src: /src/hostap/hostapd/ctrl_iface.c:2370,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/ctrl_iface.c:2376,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/ctrl_iface.c:2378,1
    - Dst: hexstr2bin
      Src: /src/hostap/hostapd/ctrl_iface.c:2379,1
    - Dst: atoi
      Src: /src/hostap/hostapd/ctrl_iface.c:2386,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/ctrl_iface.c:2387,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:2391,1
    - Dst: hostapd_drv_set_key
      Src: /src/hostap/hostapd/ctrl_iface.c:2392,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 2
    argNames:
    - hapd
    - cmd
    argTypes:
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2394
      start: 2337
    functionDepth: 1
    functionLinenumber: 2337
    functionLinenumberEnd: 2394
    functionName: hostapd_ctrl_set_key
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hostapd_drv_set_key
    - hexstr2bin
    - hwaddr_aton
    - atoi
    - os_strchr
    linkageType: ''
    returnType: int
    signature: int hostapd_ctrl_set_key(struct hostapd_data *hapd, const char *cmd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:2402,1
    - Dst: MAC2STR
      Src: /src/hostap/hostapd/ctrl_iface.c:2403,1
    - Dst: hostapd_drv_set_key
      Src: /src/hostap/hostapd/ctrl_iface.c:2407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx1
    - ctx2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2411
      start: 2397
    functionDepth: 1
    functionLinenumber: 2397
    functionLinenumberEnd: 2411
    functionName: restore_tk
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    - hostapd_drv_set_key
    linkageType: ''
    returnType: void
    signature: void restore_tk(void *ctx1, void *ctx2)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_strstr
      Src: /src/hostap/hostapd/ctrl_iface.c:2418,1
    - Dst: hwaddr_aton
      Src: /src/hostap/hostapd/ctrl_iface.c:2420,1
    - Dst: ap_get_sta
      Src: /src/hostap/hostapd/ctrl_iface.c:2423,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:2430,1
    - Dst: MAC2STR
      Src: /src/hostap/hostapd/ctrl_iface.c:2431,1
    - Dst: hostapd_drv_set_key
      Src: /src/hostap/hostapd/ctrl_iface.c:2432,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:2437,1
    - Dst: MAC2STR
      Src: /src/hostap/hostapd/ctrl_iface.c:2437,1
    - Dst: wpa_auth_resend_m1
      Src: /src/hostap/hostapd/ctrl_iface.c:2438,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/ctrl_iface.c:2439,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - hapd
    - cmd
    argTypes:
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2441
      start: 2414
    functionDepth: 1
    functionLinenumber: 2414
    functionLinenumberEnd: 2441
    functionName: hostapd_ctrl_resend_m1
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hostapd_drv_set_key
    - wpa_auth_resend_m1
    - hwaddr_aton
    - os_strstr
    - MAC2STR
    - ap_get_sta
    linkageType: ''
    returnType: int
    signature: int hostapd_ctrl_resend_m1(struct hostapd_data *hapd, const char *cmd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_strstr
      Src: /src/hostap/hostapd/ctrl_iface.c:2448,1
    - Dst: hwaddr_aton
      Src: /src/hostap/hostapd/ctrl_iface.c:2450,1
    - Dst: ap_get_sta
      Src: /src/hostap/hostapd/ctrl_iface.c:2453,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:2460,1
    - Dst: MAC2STR
      Src: /src/hostap/hostapd/ctrl_iface.c:2461,1
    - Dst: hostapd_drv_set_key
      Src: /src/hostap/hostapd/ctrl_iface.c:2462,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:2467,1
    - Dst: MAC2STR
      Src: /src/hostap/hostapd/ctrl_iface.c:2467,1
    - Dst: wpa_auth_resend_m3
      Src: /src/hostap/hostapd/ctrl_iface.c:2468,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - hapd
    - cmd
    argTypes:
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2470
      start: 2444
    functionDepth: 1
    functionLinenumber: 2444
    functionLinenumberEnd: 2470
    functionName: hostapd_ctrl_resend_m3
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hostapd_drv_set_key
    - wpa_auth_resend_m3
    - hwaddr_aton
    - os_strstr
    - MAC2STR
    - ap_get_sta
    linkageType: ''
    returnType: int
    signature: int hostapd_ctrl_resend_m3(struct hostapd_data *hapd, const char *cmd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_strstr
      Src: /src/hostap/hostapd/ctrl_iface.c:2478,1
    - Dst: hwaddr_aton
      Src: /src/hostap/hostapd/ctrl_iface.c:2480,1
    - Dst: ap_get_sta
      Src: /src/hostap/hostapd/ctrl_iface.c:2483,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:2490,1
    - Dst: MAC2STR
      Src: /src/hostap/hostapd/ctrl_iface.c:2491,1
    - Dst: hostapd_drv_set_key
      Src: /src/hostap/hostapd/ctrl_iface.c:2492,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:2497,1
    - Dst: MAC2STR
      Src: /src/hostap/hostapd/ctrl_iface.c:2499,1
    - Dst: wpa_auth_resend_group_m1
      Src: /src/hostap/hostapd/ctrl_iface.c:2500,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - hapd
    - cmd
    argTypes:
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2502
      start: 2473
    functionDepth: 1
    functionLinenumber: 2473
    functionLinenumberEnd: 2502
    functionName: hostapd_ctrl_resend_group_m1
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hostapd_drv_set_key
    - wpa_auth_resend_group_m1
    - hwaddr_aton
    - os_strstr
    - MAC2STR
    - ap_get_sta
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_resend_group_m1(struct hostapd_data *hapd,\n\t\t\t\t\tconst
      char *cmd)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hwaddr_aton
      Src: /src/hostap/hostapd/ctrl_iface.c:2510,1
    - Dst: ap_get_sta
      Src: /src/hostap/hostapd/ctrl_iface.c:2513,1
    - Dst: wpa_auth_rekey_ptk
      Src: /src/hostap/hostapd/ctrl_iface.c:2517,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - hapd
    - cmd
    argTypes:
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2518
      start: 2505
    functionDepth: 1
    functionLinenumber: 2505
    functionLinenumberEnd: 2518
    functionName: hostapd_ctrl_rekey_ptk
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - hwaddr_aton
    - wpa_auth_rekey_ptk
    - ap_get_sta
    linkageType: ''
    returnType: int
    signature: int hostapd_ctrl_rekey_ptk(struct hostapd_data *hapd, const char *cmd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_auth_pmksa_get
      Src: /src/hostap/hostapd/ctrl_iface.c:2526,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/hostapd/ctrl_iface.c:2530,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - hapd
    - addr
    - buf
    - buflen
    argTypes:
    - struct hostapd_data*
    - u8*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2531
      start: 2521
    functionDepth: 1
    functionLinenumber: 2521
    functionLinenumberEnd: 2531
    functionName: hostapd_ctrl_get_pmksa_pmk
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_auth_pmksa_get
    - wpa_snprintf_hex
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_get_pmksa_pmk(struct hostapd_data *hapd, const u8
      *addr,\n\t\t\t\t      char *buf, size_t buflen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hwaddr_aton
      Src: /src/hostap/hostapd/ctrl_iface.c:2542,1
    - Dst: ap_get_sta
      Src: /src/hostap/hostapd/ctrl_iface.c:2545,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:2547,1
    - Dst: MAC2STR
      Src: /src/hostap/hostapd/ctrl_iface.c:2548,1
    - Dst: hostapd_ctrl_get_pmksa_pmk
      Src: /src/hostap/hostapd/ctrl_iface.c:2549,1
    - Dst: wpa_auth_get_pmk
      Src: /src/hostap/hostapd/ctrl_iface.c:2551,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:2553,1
    - Dst: MAC2STR
      Src: /src/hostap/hostapd/ctrl_iface.c:2554,1
    - Dst: hostapd_ctrl_get_pmksa_pmk
      Src: /src/hostap/hostapd/ctrl_iface.c:2555,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/hostapd/ctrl_iface.c:2558,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - hapd
    - cmd
    - buf
    - buflen
    argTypes:
    - struct hostapd_data*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2559
      start: 2534
    functionDepth: 2
    functionLinenumber: 2534
    functionLinenumberEnd: 2559
    functionName: hostapd_ctrl_get_pmk
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_auth_get_pmk
    - wpa_snprintf_hex
    - hwaddr_aton
    - MAC2STR
    - hostapd_ctrl_get_pmksa_pmk
    - ap_get_sta
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_get_pmk(struct hostapd_data *hapd, const char *cmd,\n\t\t\t\tchar
      *buf, size_t buflen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/hostap/hostapd/ctrl_iface.c:2571,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/ctrl_iface.c:2575,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/ctrl_iface.c:2578,1
    - Dst: os_strlen
      Src: /src/hostap/hostapd/ctrl_iface.c:2580,1
    - Dst: hexstr2bin
      Src: /src/hostap/hostapd/ctrl_iface.c:2582,1
    - Dst: hostapd_drv_register_frame
      Src: /src/hostap/hostapd/ctrl_iface.c:2585,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - hapd
    - cmd
    argTypes:
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2587
      start: 2562
    functionDepth: 1
    functionLinenumber: 2562
    functionLinenumberEnd: 2587
    functionName: hostapd_ctrl_register_frame
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - strtol
    - os_strlen
    - hexstr2bin
    - os_strstr
    - hostapd_drv_register_frame
    - os_strchr
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_register_frame(struct hostapd_data *hapd,\n\t\t\t\t
      \      const char *cmd)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_parse_csa_settings
      Src: /src/hostap/hostapd/ctrl_iface.c:2605,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:2617,1
    - Dst: hostapd_is_dfs_overlap
      Src: /src/hostap/hostapd/ctrl_iface.c:2650,1
    - Dst: hostapd_is_dfs_overlap
      Src: /src/hostap/hostapd/ctrl_iface.c:2653,1
    - Dst: hostapd_is_dfs_overlap
      Src: /src/hostap/hostapd/ctrl_iface.c:2657,1
    - Dst: ieee80211_freq_to_chan
      Src: /src/hostap/hostapd/ctrl_iface.c:2661,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:2663,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:2673,1
    - Dst: hostapd_switch_channel_fallback
      Src: /src/hostap/hostapd/ctrl_iface.c:2683,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:2688,1
    - Dst: hostapd_force_channel_switch
      Src: /src/hostap/hostapd/ctrl_iface.c:2690,1
    - Dst: hostapd_chan_switch_config
      Src: /src/hostap/hostapd/ctrl_iface.c:2696,1
    - Dst: hostapd_switch_channel
      Src: /src/hostap/hostapd/ctrl_iface.c:2699,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 65
    argCount: 2
    argNames:
    - iface
    - pos
    argTypes:
    - struct hostapd_iface*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2710
      start: 2592
    functionDepth: 1
    functionLinenumber: 2592
    functionLinenumberEnd: 2710
    functionName: hostapd_ctrl_iface_chan_switch
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hostapd_is_dfs_overlap
    - hostapd_switch_channel_fallback
    - hostapd_parse_csa_settings
    - hostapd_switch_channel
    - hostapd_chan_switch_config
    - hostapd_force_channel_switch
    - ieee80211_freq_to_chan
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_iface_chan_switch(struct hostapd_iface *iface,\n\t\t\t\t\t
      \ char *pos)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/hostapd/ctrl_iface.c:2723,1
    - Dst: strtol
      Src: /src/hostap/hostapd/ctrl_iface.c:2725,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:2727,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:2736,1
    - Dst: ieee802_11_set_beacon
      Src: /src/hostap/hostapd/ctrl_iface.c:2744,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:2751,1
    - Dst: ieee802_11_set_beacon
      Src: /src/hostap/hostapd/ctrl_iface.c:2759,1
    - Dst: hostapd_is_cca_in_progress
      Src: /src/hostap/hostapd/ctrl_iface.c:2764,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:2765,1
    - Dst: hostapd_cleanup_cca_params
      Src: /src/hostap/hostapd/ctrl_iface.c:2778,1
    - Dst: hostapd_fill_cca_settings
      Src: /src/hostap/hostapd/ctrl_iface.c:2783,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:2784,1
    - Dst: hostapd_cleanup_cca_params
      Src: /src/hostap/hostapd/ctrl_iface.c:2787,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/hostapd/ctrl_iface.c:2790,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:2793,1
    - Dst: hostapd_drv_switch_color
      Src: /src/hostap/hostapd/ctrl_iface.c:2794,1
    - Dst: hostapd_cleanup_cca_params
      Src: /src/hostap/hostapd/ctrl_iface.c:2796,1
    - Dst: free_beacon_data
      Src: /src/hostap/hostapd/ctrl_iface.c:2798,1
    - Dst: free_beacon_data
      Src: /src/hostap/hostapd/ctrl_iface.c:2799,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 51
    argCount: 2
    argNames:
    - iface
    - pos
    argTypes:
    - struct hostapd_iface*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2806
      start: 2714
    functionDepth: 1
    functionLinenumber: 2714
    functionLinenumberEnd: 2806
    functionName: hostapd_ctrl_iface_color_change
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - strtol
    - wpa_printf
    - hostapd_drv_switch_color
    - eloop_cancel_timeout
    - hostapd_cleanup_cca_params
    - free_beacon_data
    - ieee802_11_set_beacon
    - hostapd_is_cca_in_progress
    - hostapd_fill_cca_settings
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_iface_color_change(struct hostapd_iface *iface,\n\t\t\t\t\t
      \  const char *pos)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: le_to_host16
      Src: /src/hostap/hostapd/ctrl_iface.c:2827,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2853
      start: 2810
    functionDepth: 1
    functionLinenumber: 2810
    functionLinenumberEnd: 2853
    functionName: hostapd_maxnss
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - le_to_host16
    linkageType: ''
    returnType: u8
    signature: u8 hostapd_maxnss(struct hostapd_data *hapd, struct sta_info *sta)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_drv_send_action
      Src: /src/hostap/hostapd/ctrl_iface.c:2868,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:2871,1
    - Dst: MAC2STR
      Src: /src/hostap/hostapd/ctrl_iface.c:2873,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - hapd
    - addr
    - width
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2876
      start: 2856
    functionDepth: 1
    functionLinenumber: 2856
    functionLinenumberEnd: 2876
    functionName: hostapd_ctrl_iface_notify_cw_htaction
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - hostapd_drv_send_action
    - wpa_printf
    linkageType: ''
    returnType: char
    signature: "char hostapd_ctrl_iface_notify_cw_htaction(struct hostapd_data *hapd,\n\t\t\t\t\t\t
      \ const u8 *addr, u8 width)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_drv_send_action
      Src: /src/hostap/hostapd/ctrl_iface.c:2889,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:2892,1
    - Dst: MAC2STR
      Src: /src/hostap/hostapd/ctrl_iface.c:2894,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - hapd
    - addr
    - width
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2897
      start: 2879
    functionDepth: 1
    functionLinenumber: 2879
    functionLinenumberEnd: 2897
    functionName: hostapd_ctrl_iface_notify_cw_vhtaction
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - hostapd_drv_send_action
    - wpa_printf
    linkageType: ''
    returnType: char
    signature: "char hostapd_ctrl_iface_notify_cw_vhtaction(struct hostapd_data *hapd,\n\t\t\t\t\t\t
      \  const u8 *addr, u8 width)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: is_6ghz_freq
      Src: /src/hostap/hostapd/ctrl_iface.c:2907,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:2908,1
    - Dst: atoi
      Src: /src/hostap/hostapd/ctrl_iface.c:2912,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:2917,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:2936,1
    - Dst: hostapd_maxnss
      Src: /src/hostap/hostapd/ctrl_iface.c:2942,1
    - Dst: hostapd_ctrl_iface_notify_cw_vhtaction
      Src: /src/hostap/hostapd/ctrl_iface.c:2943,1
    - Dst: hostapd_ctrl_iface_notify_cw_htaction
      Src: /src/hostap/hostapd/ctrl_iface.c:2951,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    argCount: 2
    argNames:
    - hapd
    - cmd
    argTypes:
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2956
      start: 2900
    functionDepth: 2
    functionLinenumber: 2900
    functionLinenumberEnd: 2956
    functionName: hostapd_ctrl_iface_notify_cw_change
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - is_6ghz_freq
    - hostapd_ctrl_iface_notify_cw_vhtaction
    - hostapd_ctrl_iface_notify_cw_htaction
    - hostapd_maxnss
    - atoi
    linkageType: ''
    returnType: char
    signature: "char hostapd_ctrl_iface_notify_cw_change(struct hostapd_data *hapd,\n\t\t\t\t\t\tconst
      char *cmd)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_parse_freq_params
      Src: /src/hostap/hostapd/ctrl_iface.c:2971,1
    - Dst: hostapd_chan_width_from_freq_params
      Src: /src/hostap/hostapd/ctrl_iface.c:2975,1
    - Dst: ieee80211_freq_to_channel_ext
      Src: /src/hostap/hostapd/ctrl_iface.c:2977,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:2982,1
    - Dst: hostapd_change_config_freq
      Src: /src/hostap/hostapd/ctrl_iface.c:2995,1
    - Dst: ieee802_11_set_beacons
      Src: /src/hostap/hostapd/ctrl_iface.c:3000,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - iface
    - pos
    argTypes:
    - struct hostapd_iface*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3006
      start: 2960
    functionDepth: 1
    functionLinenumber: 2960
    functionLinenumberEnd: 3006
    functionName: hostapd_ctrl_iface_set_bw
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hostapd_chan_width_from_freq_params
    - hostapd_change_config_freq
    - hostapd_parse_freq_params
    - ieee802_11_set_beacons
    - ieee80211_freq_to_channel_ext
    linkageType: ''
    returnType: int
    signature: int hostapd_ctrl_iface_set_bw(struct hostapd_iface *iface, char *pos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/ctrl_iface.c:3014,1
    - Dst: radius_server_get_mib
      Src: /src/hostap/hostapd/ctrl_iface.c:3015,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - hapd
    - reply
    - reply_size
    - param
    argTypes:
    - struct hostapd_data*
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3020
      start: 3010
    functionDepth: 1
    functionLinenumber: 3010
    functionLinenumberEnd: 3020
    functionName: hostapd_ctrl_iface_mib
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - radius_server_get_mib
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_iface_mib(struct hostapd_data *hapd, char *reply,\n\t\t\t\t
      \ int reply_size, const char *param)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strtoul
      Src: /src/hostap/hostapd/ctrl_iface.c:3038,1
    - Dst: isblank
      Src: /src/hostap/hostapd/ctrl_iface.c:3039,1
    - Dst: strtoul
      Src: /src/hostap/hostapd/ctrl_iface.c:3042,1
    - Dst: isblank
      Src: /src/hostap/hostapd/ctrl_iface.c:3045,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/ctrl_iface.c:3048,1
    - Dst: os_strlen
      Src: /src/hostap/hostapd/ctrl_iface.c:3049,1
    - Dst: os_malloc
      Src: /src/hostap/hostapd/ctrl_iface.c:3054,1
    - Dst: hexstr2bin
      Src: /src/hostap/hostapd/ctrl_iface.c:3058,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:3059,1
    - Dst: os_free
      Src: /src/hostap/hostapd/ctrl_iface.c:3061,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/ctrl_iface.c:3066,1
    - Dst: atoi
      Src: /src/hostap/hostapd/ctrl_iface.c:3068,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/hostapd/ctrl_iface.c:3071,1
    - Dst: os_free
      Src: /src/hostap/hostapd/ctrl_iface.c:3073,1
    - Dst: hostapd_drv_vendor_cmd
      Src: /src/hostap/hostapd/ctrl_iface.c:3077,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/hostapd/ctrl_iface.c:3081,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/hostapd/ctrl_iface.c:3081,1
    - Dst: wpabuf_len
      Src: /src/hostap/hostapd/ctrl_iface.c:3082,1
    - Dst: wpabuf_free
      Src: /src/hostap/hostapd/ctrl_iface.c:3084,1
    - Dst: os_free
      Src: /src/hostap/hostapd/ctrl_iface.c:3085,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 4
    argNames:
    - hapd
    - cmd
    - buf
    - buflen
    argTypes:
    - struct hostapd_data*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3088
      start: 3023
    functionDepth: 1
    functionLinenumber: 3023
    functionLinenumberEnd: 3088
    functionName: hostapd_ctrl_iface_vendor
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - wpa_snprintf_hex
    - wpabuf_head_u8
    - hexstr2bin
    - wpabuf_len
    - wpabuf_free
    - os_malloc
    - os_strstr
    - atoi
    - wpabuf_alloc
    - strtoul
    - os_free
    - os_strchr
    - isblank
    - hostapd_drv_vendor_cmd
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_iface_vendor(struct hostapd_data *hapd, char *cmd,\n\t\t\t\t
      \    char *buf, size_t buflen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hwaddr_aton
      Src: /src/hostap/hostapd/ctrl_iface.c:3097,1
    - Dst: ap_get_sta
      Src: /src/hostap/hostapd/ctrl_iface.c:3100,1
    - Dst: eapol_auth_reauthenticate
      Src: /src/hostap/hostapd/ctrl_iface.c:3104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - hapd
    - cmd
    argTypes:
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3106
      start: 3091
    functionDepth: 1
    functionLinenumber: 3091
    functionLinenumberEnd: 3106
    functionName: hostapd_ctrl_iface_eapol_reauth
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - hwaddr_aton
    - eapol_auth_reauthenticate
    - ap_get_sta
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_iface_eapol_reauth(struct hostapd_data *hapd,\n\t\t\t\t\t
      \  const char *cmd)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hwaddr_aton
      Src: /src/hostap/hostapd/ctrl_iface.c:3115,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/ctrl_iface.c:3119,1
    - Dst: ap_get_sta
      Src: /src/hostap/hostapd/ctrl_iface.c:3124,1
    - Dst: eapol_auth_set_conf
      Src: /src/hostap/hostapd/ctrl_iface.c:3128,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - hapd
    - cmd
    argTypes:
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3129
      start: 3109
    functionDepth: 1
    functionLinenumber: 3109
    functionLinenumberEnd: 3129
    functionName: hostapd_ctrl_iface_eapol_set
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strchr
    - hwaddr_aton
    - eapol_auth_set_conf
    - ap_get_sta
    linkageType: ''
    returnType: int
    signature: int hostapd_ctrl_iface_eapol_set(struct hostapd_data *hapd, char *cmd)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:3142,1
    - Dst: debug_level_str
      Src: /src/hostap/hostapd/ctrl_iface.c:3144,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/ctrl_iface.c:3146,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/ctrl_iface.c:3155,1
    - Dst: os_strlen
      Src: /src/hostap/hostapd/ctrl_iface.c:3163,1
    - Dst: str_to_debug_level
      Src: /src/hostap/hostapd/ctrl_iface.c:3164,1
    - Dst: os_strlen
      Src: /src/hostap/hostapd/ctrl_iface.c:3170,1
    - Dst: atoi
      Src: /src/hostap/hostapd/ctrl_iface.c:3171,1
    - Dst: os_memcpy
      Src: /src/hostap/hostapd/ctrl_iface.c:3173,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 4
    argNames:
    - hapd
    - cmd
    - buf
    - buflen
    argTypes:
    - struct hostapd_data*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3175
      start: 3132
    functionDepth: 1
    functionLinenumber: 3132
    functionLinenumberEnd: 3175
    functionName: hostapd_ctrl_iface_log_level
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_memcpy
    - debug_level_str
    - str_to_debug_level
    - os_snprintf
    - atoi
    - os_strchr
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_iface_log_level(struct hostapd_data *hapd, char *cmd,\n\t\t\t\t\tchar
      *buf, size_t buflen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sta_track_expire
      Src: /src/hostap/hostapd/ctrl_iface.c:3191,1
    - Dst: os_get_reltime
      Src: /src/hostap/hostapd/ctrl_iface.c:3196,1
    - Dst: dl_list_for_each_reverse
      Src: /src/hostap/hostapd/ctrl_iface.c:3197,1
    - Dst: os_reltime_sub
      Src: /src/hostap/hostapd/ctrl_iface.c:3202,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:3203,1
    - Dst: MAC2STR
      Src: /src/hostap/hostapd/ctrl_iface.c:3204,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/ctrl_iface.c:3206,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - hapd
    - buf
    - buflen
    argTypes:
    - struct hostapd_data*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3212
      start: 3180
    functionDepth: 1
    functionLinenumber: 3180
    functionLinenumberEnd: 3212
    functionName: hostapd_ctrl_iface_track_sta_list
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each_reverse
    - os_get_reltime
    - sta_track_expire
    - os_snprintf
    - os_reltime_sub
    - MAC2STR
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_iface_track_sta_list(struct hostapd_data *hapd,\n\t\t\t\t\t
      \    char *buf, size_t buflen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_build_beacon_data
      Src: /src/hostap/hostapd/ctrl_iface.c:3222,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/hostapd/ctrl_iface.c:3231,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/hostapd/ctrl_iface.c:3234,1
    - Dst: free_beacon_data
      Src: /src/hostap/hostapd/ctrl_iface.c:3237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - hapd
    - buf
    - buflen
    argTypes:
    - struct hostapd_data*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3240
      start: 3215
    functionDepth: 1
    functionLinenumber: 3215
    functionLinenumberEnd: 3240
    functionName: hostapd_ctrl_iface_dump_beacon
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - hostapd_build_beacon_data
    - wpa_snprintf_hex
    - free_beacon_data
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_iface_dump_beacon(struct hostapd_data *hapd,\n\t\t\t\t\t
      \ char *buf, size_t buflen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hwaddr_aton
      Src: /src/hostap/hostapd/ctrl_iface.c:3250,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:3251,1
    - Dst: hostapd_send_lci_req
      Src: /src/hostap/hostapd/ctrl_iface.c:3255,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - hapd
    - cmd
    argTypes:
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3256
      start: 3245
    functionDepth: 1
    functionLinenumber: 3245
    functionLinenumberEnd: 3256
    functionName: hostapd_ctrl_iface_req_lci
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - hwaddr_aton
    - wpa_printf
    - hostapd_send_lci_req
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_iface_req_lci(struct hostapd_data *hapd,\n\t\t\t\t
      \     const char *cmd)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: str_token
      Src: /src/hostap/hostapd/ctrl_iface.c:3267,1
    - Dst: hwaddr_aton
      Src: /src/hostap/hostapd/ctrl_iface.c:3268,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:3269,1
    - Dst: str_token
      Src: /src/hostap/hostapd/ctrl_iface.c:3274,1
    - Dst: atoi
      Src: /src/hostap/hostapd/ctrl_iface.c:3278,1
    - Dst: str_token
      Src: /src/hostap/hostapd/ctrl_iface.c:3282,1
    - Dst: atoi
      Src: /src/hostap/hostapd/ctrl_iface.c:3286,1
    - Dst: str_token
      Src: /src/hostap/hostapd/ctrl_iface.c:3291,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:3293,1
    - Dst: hwaddr_aton
      Src: /src/hostap/hostapd/ctrl_iface.c:3298,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:3299,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:3308,1
    - Dst: hostapd_send_range_req
      Src: /src/hostap/hostapd/ctrl_iface.c:3313,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 2
    argNames:
    - hapd
    - cmd
    argTypes:
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3315
      start: 3259
    functionDepth: 1
    functionLinenumber: 3259
    functionLinenumberEnd: 3315
    functionName: hostapd_ctrl_iface_req_range
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - str_token
    - hwaddr_aton
    - hostapd_send_range_req
    - atoi
    linkageType: ''
    returnType: int
    signature: int hostapd_ctrl_iface_req_range(struct hostapd_data *hapd, char *cmd)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: hwaddr_aton
      Src: /src/hostap/hostapd/ctrl_iface.c:3328,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/ctrl_iface.c:3330,1
    - Dst: os_strncmp
      Src: /src/hostap/hostapd/ctrl_iface.c:3334,1
    - Dst: hex2byte
      Src: /src/hostap/hostapd/ctrl_iface.c:3335,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/ctrl_iface.c:3341,1
    - Dst: wpabuf_parse_bin
      Src: /src/hostap/hostapd/ctrl_iface.c:3346,1
    - Dst: hostapd_send_beacon_req
      Src: /src/hostap/hostapd/ctrl_iface.c:3350,1
    - Dst: wpabuf_free
      Src: /src/hostap/hostapd/ctrl_iface.c:3351,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:3353,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 4
    argNames:
    - hapd
    - cmd
    - reply
    - reply_size
    argTypes:
    - struct hostapd_data*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3355
      start: 3318
    functionDepth: 1
    functionLinenumber: 3318
    functionLinenumberEnd: 3355
    functionName: hostapd_ctrl_iface_req_beacon
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - hex2byte
    - hwaddr_aton
    - wpabuf_free
    - os_strncmp
    - os_snprintf
    - hostapd_send_beacon_req
    - os_strchr
    - wpabuf_parse_bin
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_iface_req_beacon(struct hostapd_data *hapd,\n\t\t\t\t\t
      const char *cmd, char *reply,\n\t\t\t\t\t size_t reply_size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hwaddr_aton
      Src: /src/hostap/hostapd/ctrl_iface.c:3365,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:3366,1
    - Dst: hostapd_send_link_measurement_req
      Src: /src/hostap/hostapd/ctrl_iface.c:3371,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:3373,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - hapd
    - cmd
    - reply
    - reply_size
    argTypes:
    - struct hostapd_data*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3375
      start: 3358
    functionDepth: 1
    functionLinenumber: 3358
    functionLinenumberEnd: 3375
    functionName: hostapd_ctrl_iface_req_link_measurement
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - hwaddr_aton
    - wpa_printf
    - hostapd_send_link_measurement_req
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_iface_req_link_measurement(struct hostapd_data *hapd,\n\t\t\t\t\t\t
      \  const char *cmd, char *reply,\n\t\t\t\t\t\t   size_t reply_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:3383,1
    - Dst: hostapd_neighbor_show
      Src: /src/hostap/hostapd/ctrl_iface.c:3388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - hapd
    - buf
    - buflen
    argTypes:
    - struct hostapd_data*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3389
      start: 3378
    functionDepth: 1
    functionLinenumber: 3378
    functionLinenumberEnd: 3389
    functionName: hostapd_ctrl_iface_show_neighbor
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hostapd_neighbor_show
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_iface_show_neighbor(struct hostapd_data *hapd,\n\t\t\t\t\t
      \   char *buf, size_t buflen)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:3404,1
    - Dst: hwaddr_aton
      Src: /src/hostap/hostapd/ctrl_iface.c:3409,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:3410,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/ctrl_iface.c:3414,1
    - Dst: ssid_parse
      Src: /src/hostap/hostapd/ctrl_iface.c:3415,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:3416,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/ctrl_iface.c:3420,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/ctrl_iface.c:3424,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:3426,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/ctrl_iface.c:3431,1
    - Dst: wpabuf_parse_bin
      Src: /src/hostap/hostapd/ctrl_iface.c:3435,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:3437,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/ctrl_iface.c:3445,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/ctrl_iface.c:3447,1
    - Dst: wpabuf_parse_bin
      Src: /src/hostap/hostapd/ctrl_iface.c:3450,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:3452,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/ctrl_iface.c:3461,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/ctrl_iface.c:3463,1
    - Dst: wpabuf_parse_bin
      Src: /src/hostap/hostapd/ctrl_iface.c:3466,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:3468,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/ctrl_iface.c:3477,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/ctrl_iface.c:3480,1
    - Dst: atoi
      Src: /src/hostap/hostapd/ctrl_iface.c:3482,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:3484,1
    - Dst: hostapd_neighbor_set
      Src: /src/hostap/hostapd/ctrl_iface.c:3491,1
    - Dst: wpabuf_free
      Src: /src/hostap/hostapd/ctrl_iface.c:3495,1
    - Dst: wpabuf_free
      Src: /src/hostap/hostapd/ctrl_iface.c:3496,1
    - Dst: wpabuf_free
      Src: /src/hostap/hostapd/ctrl_iface.c:3497,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 83
    argCount: 2
    argNames:
    - hapd
    - buf
    argTypes:
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3500
      start: 3392
    functionDepth: 1
    functionLinenumber: 3392
    functionLinenumberEnd: 3500
    functionName: hostapd_ctrl_iface_set_neighbor
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hostapd_neighbor_set
    - hwaddr_aton
    - wpabuf_free
    - ssid_parse
    - os_strstr
    - atoi
    - os_strchr
    - wpabuf_parse_bin
    linkageType: ''
    returnType: int
    signature: int hostapd_ctrl_iface_set_neighbor(struct hostapd_data *hapd, char
      *buf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hwaddr_aton
      Src: /src/hostap/hostapd/ctrl_iface.c:3511,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:3512,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/ctrl_iface.c:3516,1
    - Dst: ssid_parse
      Src: /src/hostap/hostapd/ctrl_iface.c:3519,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:3520,1
    - Dst: hostapd_neighbor_remove
      Src: /src/hostap/hostapd/ctrl_iface.c:3526,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - hapd
    - buf
    argTypes:
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3527
      start: 3503
    functionDepth: 1
    functionLinenumber: 3503
    functionLinenumberEnd: 3527
    functionName: hostapd_ctrl_iface_remove_neighbor
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hwaddr_aton
    - ssid_parse
    - os_strstr
    - hostapd_neighbor_remove
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_iface_remove_neighbor(struct hostapd_data *hapd,\n\t\t\t\t\t
      \     char *buf)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:3536,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/ctrl_iface.c:3538,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:3546,1
    - Dst: driver_flag_to_string
      Src: /src/hostap/hostapd/ctrl_iface.c:3547,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/ctrl_iface.c:3548,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - iface
    - buf
    - buflen
    argTypes:
    - struct hostapd_iface*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3555
      start: 3530
    functionDepth: 1
    functionLinenumber: 3530
    functionLinenumberEnd: 3555
    functionName: hostapd_ctrl_driver_flags
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - driver_flag_to_string
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_driver_flags(struct hostapd_iface *iface, char *buf,\n\t\t\t\t
      \    size_t buflen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:3564,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/ctrl_iface.c:3566,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:3574,1
    - Dst: driver_flag2_to_string
      Src: /src/hostap/hostapd/ctrl_iface.c:3575,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/ctrl_iface.c:3576,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - iface
    - buf
    - buflen
    argTypes:
    - struct hostapd_iface*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3583
      start: 3558
    functionDepth: 1
    functionLinenumber: 3558
    functionLinenumberEnd: 3583
    functionName: hostapd_ctrl_driver_flags2
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - driver_flag2_to_string
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_driver_flags2(struct hostapd_iface *iface, char *buf,\n\t\t\t\t
      \     size_t buflen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:3590,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/ctrl_iface.c:3593,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:3597,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:3599,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:3601,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/ctrl_iface.c:3603,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:3609,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - hapd
    - field
    - buf
    - buflen
    argTypes:
    - struct hostapd_data*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3613
      start: 3586
    functionDepth: 1
    functionLinenumber: 3586
    functionLinenumberEnd: 3613
    functionName: hostapd_ctrl_iface_get_capability
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - wpa_printf
    - os_strcmp
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_iface_get_capability(struct hostapd_data *hapd,\n\t\t\t\t\t
      \    const char *field, char *buf,\n\t\t\t\t\t     size_t buflen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_drv_driver_cmd
      Src: /src/hostap/hostapd/ctrl_iface.c:3622,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:3624,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/ctrl_iface.c:3625,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - hapd
    - cmd
    - buf
    - buflen
    argTypes:
    - struct hostapd_data*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3629
      start: 3617
    functionDepth: 1
    functionLinenumber: 3617
    functionLinenumberEnd: 3629
    functionName: hostapd_ctrl_iface_driver_cmd
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - hostapd_drv_driver_cmd
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_iface_driver_cmd(struct hostapd_data *hapd, char
      *cmd,\n\t\t\t\t\t char *buf, size_t buflen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:3640,1
    - Dst: hostapd_is_ml_partner
      Src: /src/hostap/hostapd/ctrl_iface.c:3649,1
    - Dst: hostapd_enable_iface
      Src: /src/hostap/hostapd/ctrl_iface.c:3652,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:3653,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3658
      start: 3635
    functionDepth: 1
    functionLinenumber: 3635
    functionLinenumberEnd: 3658
    functionName: hostapd_ctrl_iface_enable_mld
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hostapd_enable_iface
    - hostapd_is_ml_partner
    linkageType: ''
    returnType: int
    signature: int hostapd_ctrl_iface_enable_mld(struct hostapd_iface *iface)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_bss_deinit_no_free
      Src: /src/hostap/hostapd/ctrl_iface.c:3666,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3667
      start: 3661
    functionDepth: 1
    functionLinenumber: 3661
    functionLinenumberEnd: 3667
    functionName: hostapd_disable_iface_bss
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - hostapd_bss_deinit_no_free
    linkageType: ''
    returnType: void
    signature: void hostapd_disable_iface_bss(struct hostapd_iface *iface)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:3675,1
    - Dst: hostapd_is_ml_partner
      Src: /src/hostap/hostapd/ctrl_iface.c:3687,1
    - Dst: hostapd_disable_iface_bss
      Src: /src/hostap/hostapd/ctrl_iface.c:3690,1
    - Dst: hostapd_is_ml_partner
      Src: /src/hostap/hostapd/ctrl_iface.c:3698,1
    - Dst: hostapd_disable_iface
      Src: /src/hostap/hostapd/ctrl_iface.c:3701,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:3702,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3708
      start: 3670
    functionDepth: 2
    functionLinenumber: 3670
    functionLinenumberEnd: 3708
    functionName: hostapd_ctrl_iface_disable_mld
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - hostapd_disable_iface
    - wpa_printf
    - hostapd_disable_iface_bss
    - hostapd_is_ml_partner
    linkageType: ''
    returnType: int
    signature: int hostapd_ctrl_iface_disable_mld(struct hostapd_iface *iface)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/hostap/hostapd/ctrl_iface.c:3715,1
    - Dst: hostapd_link_remove
      Src: /src/hostap/hostapd/ctrl_iface.c:3720,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - hapd
    - cmd
    argTypes:
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3721
      start: 3713
    functionDepth: 1
    functionLinenumber: 3713
    functionLinenumberEnd: 3721
    functionName: hostapd_ctrl_iface_link_remove
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - atoi
    - hostapd_link_remove
    linkageType: ''
    returnType: int
    signature: int hostapd_ctrl_iface_link_remove(struct hostapd_data *hapd, char
      *cmd)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/hostapd/ctrl_iface.c:3729,1
    - Dst: os_strncmp
      Src: /src/hostap/hostapd/ctrl_iface.c:3736,1
    - Dst: os_malloc
      Src: /src/hostap/hostapd/ctrl_iface.c:3739,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:3743,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/ctrl_iface.c:3745,1
    - Dst: struct hapd_interfaces*::config_read_cb
      Src: /src/hostap/hostapd/ctrl_iface.c:3754,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/ctrl_iface.c:3766,1
    - Dst: os_strncmp
      Src: /src/hostap/hostapd/ctrl_iface.c:3778,1
    - Dst: hostapd_enable_iface
      Src: /src/hostap/hostapd/ctrl_iface.c:3780,1
    - Dst: hostapd_config_free
      Src: /src/hostap/hostapd/ctrl_iface.c:3786,1
    - Dst: os_free
      Src: /src/hostap/hostapd/ctrl_iface.c:3788,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 50
    argCount: 2
    argNames:
    - hapd
    - cmd
    argTypes:
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3791
      start: 3724
    functionDepth: 1
    functionLinenumber: 3724
    functionLinenumberEnd: 3791
    functionName: hostapd_ctrl_iface_link_enable
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - hostapd_enable_iface
    - struct hapd_interfaces*::config_read_cb
    - os_malloc
    - os_strncmp
    - hostapd_config_free
    - os_snprintf
    - os_free
    - os_strchr
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: int hostapd_ctrl_iface_link_enable(struct hostapd_data *hapd, char
      *cmd)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/hostapd/ctrl_iface.c:3811,1
    - Dst: str_token
      Src: /src/hostap/hostapd/ctrl_iface.c:3818,1
    - Dst: os_strncmp
      Src: /src/hostap/hostapd/ctrl_iface.c:3819,1
    - Dst: os_strncmp
      Src: /src/hostap/hostapd/ctrl_iface.c:3824,1
    - Dst: atoi
      Src: /src/hostap/hostapd/ctrl_iface.c:3825,1
    - Dst: os_strncmp
      Src: /src/hostap/hostapd/ctrl_iface.c:3829,1
    - Dst: atoi
      Src: /src/hostap/hostapd/ctrl_iface.c:3830,1
    - Dst: os_strncmp
      Src: /src/hostap/hostapd/ctrl_iface.c:3834,1
    - Dst: wpabuf_parse_bin
      Src: /src/hostap/hostapd/ctrl_iface.c:3837,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/ctrl_iface.c:3843,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/ctrl_iface.c:3848,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/ctrl_iface.c:3853,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/ctrl_iface.c:3858,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:3863,1
    - Dst: hostapd_nan_usd_publish
      Src: /src/hostap/hostapd/ctrl_iface.c:3868,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:3871,1
    - Dst: wpabuf_free
      Src: /src/hostap/hostapd/ctrl_iface.c:3873,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 55
    argCount: 4
    argNames:
    - hapd
    - cmd
    - buf
    - buflen
    argTypes:
    - struct hostapd_data*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3875
      start: 3799
    functionDepth: 1
    functionLinenumber: 3799
    functionLinenumberEnd: 3875
    functionName: hostapd_ctrl_nan_publish
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - hostapd_nan_usd_publish
    - wpa_printf
    - str_token
    - wpabuf_free
    - os_strncmp
    - os_snprintf
    - atoi
    - wpabuf_parse_bin
    - os_strcmp
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_nan_publish(struct hostapd_data *hapd, char *cmd,\n\t\t\t\t
      \   char *buf, size_t buflen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: str_token
      Src: /src/hostap/hostapd/ctrl_iface.c:3884,1
    - Dst: sscanf
      Src: /src/hostap/hostapd/ctrl_iface.c:3885,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:3887,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:3894,1
    - Dst: hostapd_nan_usd_cancel_publish
      Src: /src/hostap/hostapd/ctrl_iface.c:3899,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - hapd
    - cmd
    argTypes:
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3901
      start: 3878
    functionDepth: 1
    functionLinenumber: 3878
    functionLinenumberEnd: 3901
    functionName: hostapd_ctrl_nan_cancel_publish
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - sscanf
    - wpa_printf
    - hostapd_nan_usd_cancel_publish
    - str_token
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_nan_cancel_publish(struct hostapd_data *hapd,\n\t\t\t\t\t
      \  char *cmd)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: str_token
      Src: /src/hostap/hostapd/ctrl_iface.c:3912,1
    - Dst: sscanf
      Src: /src/hostap/hostapd/ctrl_iface.c:3913,1
    - Dst: os_strncmp
      Src: /src/hostap/hostapd/ctrl_iface.c:3915,1
    - Dst: wpabuf_parse_bin
      Src: /src/hostap/hostapd/ctrl_iface.c:3918,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:3923,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:3930,1
    - Dst: hostapd_nan_usd_update_publish
      Src: /src/hostap/hostapd/ctrl_iface.c:3935,1
    - Dst: wpabuf_free
      Src: /src/hostap/hostapd/ctrl_iface.c:3937,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 2
    argNames:
    - hapd
    - cmd
    argTypes:
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3939
      start: 3904
    functionDepth: 1
    functionLinenumber: 3904
    functionLinenumberEnd: 3939
    functionName: hostapd_ctrl_nan_update_publish
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hostapd_nan_usd_update_publish
    - str_token
    - sscanf
    - wpabuf_free
    - os_strncmp
    - wpabuf_parse_bin
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_nan_update_publish(struct hostapd_data *hapd,\n\t\t\t\t\t
      \  char *cmd)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/hostapd/ctrl_iface.c:3954,1
    - Dst: str_token
      Src: /src/hostap/hostapd/ctrl_iface.c:3956,1
    - Dst: os_strncmp
      Src: /src/hostap/hostapd/ctrl_iface.c:3957,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/ctrl_iface.c:3962,1
    - Dst: os_strncmp
      Src: /src/hostap/hostapd/ctrl_iface.c:3967,1
    - Dst: atoi
      Src: /src/hostap/hostapd/ctrl_iface.c:3968,1
    - Dst: os_strncmp
      Src: /src/hostap/hostapd/ctrl_iface.c:3972,1
    - Dst: atoi
      Src: /src/hostap/hostapd/ctrl_iface.c:3973,1
    - Dst: os_strncmp
      Src: /src/hostap/hostapd/ctrl_iface.c:3977,1
    - Dst: wpabuf_parse_bin
      Src: /src/hostap/hostapd/ctrl_iface.c:3980,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/ctrl_iface.c:3986,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:3991,1
    - Dst: hostapd_nan_usd_subscribe
      Src: /src/hostap/hostapd/ctrl_iface.c:3997,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:4001,1
    - Dst: wpabuf_free
      Src: /src/hostap/hostapd/ctrl_iface.c:4003,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 44
    argCount: 4
    argNames:
    - hapd
    - cmd
    - buf
    - buflen
    argTypes:
    - struct hostapd_data*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4005
      start: 3942
    functionDepth: 1
    functionLinenumber: 3942
    functionLinenumberEnd: 4005
    functionName: hostapd_ctrl_nan_subscribe
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hostapd_nan_usd_subscribe
    - str_token
    - wpabuf_free
    - os_strncmp
    - os_snprintf
    - atoi
    - wpabuf_parse_bin
    - os_strcmp
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_nan_subscribe(struct hostapd_data *hapd, char *cmd,\n\t\t\t\t
      \     char *buf, size_t buflen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: str_token
      Src: /src/hostap/hostapd/ctrl_iface.c:4014,1
    - Dst: sscanf
      Src: /src/hostap/hostapd/ctrl_iface.c:4015,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:4017,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:4024,1
    - Dst: hostapd_nan_usd_cancel_subscribe
      Src: /src/hostap/hostapd/ctrl_iface.c:4029,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - hapd
    - cmd
    argTypes:
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4031
      start: 4008
    functionDepth: 1
    functionLinenumber: 4008
    functionLinenumberEnd: 4031
    functionName: hostapd_ctrl_nan_cancel_subscribe
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - sscanf
    - wpa_printf
    - hostapd_nan_usd_cancel_subscribe
    - str_token
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_nan_cancel_subscribe(struct hostapd_data *hapd,\n\t\t\t\t\t
      \    char *cmd)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/hostapd/ctrl_iface.c:4043,1
    - Dst: str_token
      Src: /src/hostap/hostapd/ctrl_iface.c:4045,1
    - Dst: sscanf
      Src: /src/hostap/hostapd/ctrl_iface.c:4046,1
    - Dst: sscanf
      Src: /src/hostap/hostapd/ctrl_iface.c:4049,1
    - Dst: os_strncmp
      Src: /src/hostap/hostapd/ctrl_iface.c:4052,1
    - Dst: hwaddr_aton
      Src: /src/hostap/hostapd/ctrl_iface.c:4053,1
    - Dst: os_strncmp
      Src: /src/hostap/hostapd/ctrl_iface.c:4058,1
    - Dst: wpabuf_parse_bin
      Src: /src/hostap/hostapd/ctrl_iface.c:4061,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:4067,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:4074,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/hostapd/ctrl_iface.c:4079,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:4080,1
    - Dst: hostapd_nan_usd_transmit
      Src: /src/hostap/hostapd/ctrl_iface.c:4085,1
    - Dst: wpabuf_free
      Src: /src/hostap/hostapd/ctrl_iface.c:4088,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 41
    argCount: 2
    argNames:
    - hapd
    - cmd
    argTypes:
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4090
      start: 4034
    functionDepth: 1
    functionLinenumber: 4034
    functionLinenumberEnd: 4090
    functionName: hostapd_ctrl_nan_transmit
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - str_token
    - sscanf
    - hwaddr_aton
    - is_zero_ether_addr
    - wpabuf_free
    - os_strncmp
    - hostapd_nan_usd_transmit
    - wpabuf_parse_bin
    - os_memset
    linkageType: ''
    returnType: int
    signature: int hostapd_ctrl_nan_transmit(struct hostapd_data *hapd, char *cmd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hwaddr_aton
      Src: /src/hostap/hostapd/ctrl_iface.c:4102,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/ctrl_iface.c:4104,1
    - Dst: sae_password_bind
      Src: /src/hostap/hostapd/ctrl_iface.c:4109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - hapd
    - cmd
    argTypes:
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4110
      start: 4096
    functionDepth: 1
    functionLinenumber: 4096
    functionLinenumberEnd: 4110
    functionName: hostapd_ctrl_iface_sae_password_bind
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strchr
    - hwaddr_aton
    - sae_password_bind
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_iface_sae_password_bind(struct hostapd_data *hapd,\n\t\t\t\t\t\tconst
      char *cmd)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/hostapd/ctrl_iface.c:4127,1
    - Dst: wpabuf_len
      Src: /src/hostap/hostapd/ctrl_iface.c:4129,1
    - Dst: proc_coord_send_response
      Src: /src/hostap/hostapd/ctrl_iface.c:4132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 6
    argNames:
    - ctx
    - src
    - msg_type
    - cmd
    - seq
    - msg
    argTypes:
    - void*
    - int
    - enum proc_coord_message_types
    - enum proc_coord_commands
    - u32
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4135
      start: 4117
    functionDepth: 1
    functionLinenumber: 4117
    functionLinenumberEnd: 4135
    functionName: hapd_ctrl_proc_coord_cb
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpabuf_len
    - proc_coord_send_response
    - wpa_msg
    linkageType: ''
    returnType: bool
    signature: "bool hapd_ctrl_proc_coord_cb(void *ctx, int src,\n\t\t\t\t    enum
      proc_coord_message_types msg_type,\n\t\t\t\t    enum proc_coord_commands cmd,\n\t\t\t\t
      \   u32 seq, const struct wpabuf *msg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/hostapd/ctrl_iface.c:4143,1
    - Dst: wpabuf_len
      Src: /src/hostap/hostapd/ctrl_iface.c:4145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - pid
    - msg
    argTypes:
    - void*
    - int
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4147
      start: 4138
    functionDepth: 1
    functionLinenumber: 4138
    functionLinenumberEnd: 4147
    functionName: hapd_ctrl_proc_coord_test_cb
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpabuf_len
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: "void hapd_ctrl_proc_coord_test_cb(void *ctx, int pid,\n\t\t\t\t\t
      const struct wpabuf *msg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/hostap/hostapd/ctrl_iface.c:4159,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/hostapd/ctrl_iface.c:4161,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/hostapd/ctrl_iface.c:4164,1
    - Dst: proc_coord_send_request
      Src: /src/hostap/hostapd/ctrl_iface.c:4166,1
    - Dst: wpabuf_free
      Src: /src/hostap/hostapd/ctrl_iface.c:4169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - hapd
    - cmd
    argTypes:
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4171
      start: 4150
    functionDepth: 1
    functionLinenumber: 4150
    functionLinenumberEnd: 4171
    functionName: hostapd_ctrl_iface_proc_coord_test
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpabuf_put_u8
    - wpabuf_free
    - wpabuf_alloc
    - atoi
    - proc_coord_send_request
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_iface_proc_coord_test(struct hostapd_data *hapd,\n\t\t\t\t\t
      \     const char *cmd)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_len
      Src: /src/hostap/hostapd/ctrl_iface.c:4187,1
    - Dst: os_memcpy
      Src: /src/hostap/hostapd/ctrl_iface.c:4190,1
    - Dst: wpabuf_head
      Src: /src/hostap/hostapd/ctrl_iface.c:4190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - hapd
    - cmd
    - buf
    - buflen
    argTypes:
    - struct hostapd_data*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4193
      start: 4179
    functionDepth: 1
    functionLinenumber: 4179
    functionLinenumberEnd: 4193
    functionName: hostapd_ctrl_afc_get_request
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpabuf_len
    - os_memcpy
    - wpabuf_head
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_afc_get_request(struct hostapd_data *hapd, char *cmd,\n\t\t\t\t\tchar
      *buf, size_t buflen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:4202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - hapd
    - cmd
    - buf
    - buflen
    argTypes:
    - struct hostapd_data*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4203
      start: 4196
    functionDepth: 0
    functionLinenumber: 4196
    functionLinenumberEnd: 4203
    functionName: hostapd_ctrl_afc_get_response
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_afc_get_response(struct hostapd_data *hapd, char
      *cmd,\n\t\t\t\t\t char *buf, size_t buflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_afc_send_request
      Src: /src/hostap/hostapd/ctrl_iface.c:4208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - hapd
    - cmd
    argTypes:
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4210
      start: 4206
    functionDepth: 0
    functionLinenumber: 4206
    functionLinenumberEnd: 4210
    functionName: hostapd_ctrl_afc_send_request
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - hostapd_afc_send_request
    linkageType: ''
    returnType: int
    signature: int hostapd_ctrl_afc_send_request(struct hostapd_data *hapd, char *cmd)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: recvfrom
      Src: /src/hostap/hostapd/ctrl_iface.c:4887,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:4890,1
    - Dst: strerror
      Src: /src/hostap/hostapd/ctrl_iface.c:4891,1
    - Dst: os_malloc
      Src: /src/hostap/hostapd/ctrl_iface.c:4896,1
    - Dst: sendto
      Src: /src/hostap/hostapd/ctrl_iface.c:4898,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:4900,1
    - Dst: strerror
      Src: /src/hostap/hostapd/ctrl_iface.c:4901,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/ctrl_iface.c:4907,1
    - Dst: os_memcpy
      Src: /src/hostap/hostapd/ctrl_iface.c:4908,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/hostapd/ctrl_iface.c:4909,1
    - Dst: os_strncmp
      Src: /src/hostap/hostapd/ctrl_iface.c:4916,1
    - Dst: hexstr2bin
      Src: /src/hostap/hostapd/ctrl_iface.c:4917,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:4918,1
    - Dst: os_free
      Src: /src/hostap/hostapd/ctrl_iface.c:4920,1
    - Dst: os_memcmp
      Src: /src/hostap/hostapd/ctrl_iface.c:4924,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:4926,1
    - Dst: os_free
      Src: /src/hostap/hostapd/ctrl_iface.c:4928,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/ctrl_iface.c:4937,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/hostapd/ctrl_iface.c:4939,1
    - Dst: hostapd_ctrl_iface_receive_process
      Src: /src/hostap/hostapd/ctrl_iface.c:4941,1
    - Dst: sendto
      Src: /src/hostap/hostapd/ctrl_iface.c:4948,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:4950,1
    - Dst: strerror
      Src: /src/hostap/hostapd/ctrl_iface.c:4951,1
    - Dst: os_free
      Src: /src/hostap/hostapd/ctrl_iface.c:4953,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 3
    argNames:
    - sock
    - eloop_ctx
    - sock_ctx
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4954
      start: 4871
    functionDepth: 1
    functionLinenumber: 4871
    functionLinenumberEnd: 4954
    functionName: hostapd_ctrl_iface_receive
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - sendto
    - wpa_snprintf_hex
    - strerror
    - hostapd_ctrl_iface_receive_process
    - recvfrom
    - hexstr2bin
    - os_malloc
    - os_strncmp
    - os_memcmp
    - os_free
    - os_strcmp
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: void
    signature: "void hostapd_ctrl_iface_receive(int sock, void *eloop_ctx,\n\t\t\t\t
      \      void *sock_ctx)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/hostapd/ctrl_iface.c:4971,1
    - Dst: os_strncmp
      Src: /src/hostap/hostapd/ctrl_iface.c:4977,1
    - Dst: atoi
      Src: /src/hostap/hostapd/ctrl_iface.c:4979,1
    - Dst: os_memcpy
      Src: /src/hostap/hostapd/ctrl_iface.c:4981,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/ctrl_iface.c:4986,1
    - Dst: os_memcpy
      Src: /src/hostap/hostapd/ctrl_iface.c:4994,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/ctrl_iface.c:5014,1
    - Dst: os_memcpy
      Src: /src/hostap/hostapd/ctrl_iface.c:5015,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/ctrl_iface.c:5017,1
    - Dst: ctrl_iface_attach
      Src: /src/hostap/hostapd/ctrl_iface.c:5018,1
    - Dst: os_strncmp
      Src: /src/hostap/hostapd/ctrl_iface.c:5020,1
    - Dst: ctrl_iface_attach
      Src: /src/hostap/hostapd/ctrl_iface.c:5021,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/ctrl_iface.c:5023,1
    - Dst: ctrl_iface_detach
      Src: /src/hostap/hostapd/ctrl_iface.c:5024,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:5028,1
    - Dst: hostapd_ctrl_iface_receive_process
      Src: /src/hostap/hostapd/ctrl_iface.c:5035,1
    - Dst: os_memcpy
      Src: /src/hostap/hostapd/ctrl_iface.c:5042,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 68
    argCount: 6
    argNames:
    - mld
    - buf
    - reply
    - reply_size
    - from
    - fromlen
    argTypes:
    - struct hostapd_mld*
    - char*
    - char*
    - size_t
    - struct sockaddr_storage*
    - socklen_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5047
      start: 4960
    functionDepth: 1
    functionLinenumber: 4960
    functionLinenumberEnd: 5047
    functionName: hostapd_mld_ctrl_iface_receive_process
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_printf
    - hostapd_ctrl_iface_receive_process
    - ctrl_iface_attach
    - os_strncmp
    - atoi
    - os_strchr
    - ctrl_iface_detach
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: "int hostapd_mld_ctrl_iface_receive_process(struct hostapd_mld *mld,\n\t\t\t\t\t\t
      \ char *buf, char *reply,\n\t\t\t\t\t\t  size_t reply_size,\n\t\t\t\t\t\t  struct
      sockaddr_storage *from,\n\t\t\t\t\t\t  socklen_t fromlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5004
      start: 4999
    functionDepth: 0
    functionLinenumber: 4999
    functionLinenumberEnd: 5004
    functionName: for_each_mld_link
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void for_each_mld_link(link_itr, link_hapd)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: recvfrom
      Src: /src/hostap/hostapd/ctrl_iface.c:5063,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:5066,1
    - Dst: strerror
      Src: /src/hostap/hostapd/ctrl_iface.c:5067,1
    - Dst: os_malloc
      Src: /src/hostap/hostapd/ctrl_iface.c:5072,1
    - Dst: sendto
      Src: /src/hostap/hostapd/ctrl_iface.c:5074,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:5076,1
    - Dst: strerror
      Src: /src/hostap/hostapd/ctrl_iface.c:5077,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/ctrl_iface.c:5082,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/hostapd/ctrl_iface.c:5085,1
    - Dst: hostapd_mld_ctrl_iface_receive_process
      Src: /src/hostap/hostapd/ctrl_iface.c:5087,1
    - Dst: sendto
      Src: /src/hostap/hostapd/ctrl_iface.c:5091,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:5093,1
    - Dst: strerror
      Src: /src/hostap/hostapd/ctrl_iface.c:5094,1
    - Dst: os_free
      Src: /src/hostap/hostapd/ctrl_iface.c:5096,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - sock
    - eloop_ctx
    - sock_ctx
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5097
      start: 5050
    functionDepth: 2
    functionLinenumber: 5050
    functionLinenumberEnd: 5097
    functionName: hostapd_mld_ctrl_iface_receive
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - sendto
    - strerror
    - recvfrom
    - os_malloc
    - hostapd_mld_ctrl_iface_receive_process
    - os_free
    - os_strcmp
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: void
    signature: "void hostapd_mld_ctrl_iface_receive(int sock, void *eloop_ctx,\n\t\t\t\t\t
      \  void *sock_ctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/hostapd/ctrl_iface.c:5109,1
    - Dst: os_strlen
      Src: /src/hostap/hostapd/ctrl_iface.c:5109,1
    - Dst: os_malloc
      Src: /src/hostap/hostapd/ctrl_iface.c:5111,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:5115,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/ctrl_iface.c:5116,1
    - Dst: os_free
      Src: /src/hostap/hostapd/ctrl_iface.c:5117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - mld
    argTypes:
    - struct hostapd_mld*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5122
      start: 5100
    functionDepth: 1
    functionLinenumber: 5100
    functionLinenumberEnd: 5122
    functionName: hostapd_mld_ctrl_iface_path
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_malloc
    - os_snprintf
    - os_free
    - os_snprintf_error
    linkageType: ''
    returnType: char
    signature: char * hostapd_mld_ctrl_iface_path(struct hostapd_mld *mld)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:5138,1
    - Dst: dl_list_init
      Src: /src/hostap/hostapd/ctrl_iface.c:5143,1
    - Dst: mkdir
      Src: /src/hostap/hostapd/ctrl_iface.c:5148,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:5150,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:5153,1
    - Dst: strerror
      Src: /src/hostap/hostapd/ctrl_iface.c:5154,1
    - Dst: os_strlen
      Src: /src/hostap/hostapd/ctrl_iface.c:5159,1
    - Dst: os_strlen
      Src: /src/hostap/hostapd/ctrl_iface.c:5159,1
    - Dst: socket
      Src: /src/hostap/hostapd/ctrl_iface.c:5163,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:5165,1
    - Dst: strerror
      Src: /src/hostap/hostapd/ctrl_iface.c:5165,1
    - Dst: os_memset
      Src: /src/hostap/hostapd/ctrl_iface.c:5169,1
    - Dst: hostapd_mld_ctrl_iface_path
      Src: /src/hostap/hostapd/ctrl_iface.c:5175,1
    - Dst: os_strlcpy
      Src: /src/hostap/hostapd/ctrl_iface.c:5179,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:5181,1
    - Dst: bind
      Src: /src/hostap/hostapd/ctrl_iface.c:5183,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:5184,1
    - Dst: strerror
      Src: /src/hostap/hostapd/ctrl_iface.c:5185,1
    - Dst: connect
      Src: /src/hostap/hostapd/ctrl_iface.c:5186,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:5187,1
    - Dst: unlink
      Src: /src/hostap/hostapd/ctrl_iface.c:5188,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:5189,1
    - Dst: strerror
      Src: /src/hostap/hostapd/ctrl_iface.c:5191,1
    - Dst: bind
      Src: /src/hostap/hostapd/ctrl_iface.c:5194,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:5196,1
    - Dst: strerror
      Src: /src/hostap/hostapd/ctrl_iface.c:5198,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:5201,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:5205,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:5207,1
    - Dst: os_free
      Src: /src/hostap/hostapd/ctrl_iface.c:5209,1
    - Dst: chmod
      Src: /src/hostap/hostapd/ctrl_iface.c:5215,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:5216,1
    - Dst: strerror
      Src: /src/hostap/hostapd/ctrl_iface.c:5217,1
    - Dst: os_free
      Src: /src/hostap/hostapd/ctrl_iface.c:5220,1
    - Dst: eloop_register_read_sock
      Src: /src/hostap/hostapd/ctrl_iface.c:5224,1
    - Dst: close
      Src: /src/hostap/hostapd/ctrl_iface.c:5232,1
    - Dst: unlink
      Src: /src/hostap/hostapd/ctrl_iface.c:5234,1
    - Dst: os_free
      Src: /src/hostap/hostapd/ctrl_iface.c:5235,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 81
    argCount: 1
    argNames:
    - mld
    argTypes:
    - struct hostapd_mld*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5240
      start: 5127
    functionDepth: 2
    functionLinenumber: 5127
    functionLinenumberEnd: 5240
    functionName: hostapd_mld_ctrl_iface_init
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - mkdir
    - os_strlen
    - wpa_printf
    - strerror
    - connect
    - eloop_register_read_sock
    - socket
    - os_strlcpy
    - os_free
    - close
    - dl_list_init
    - unlink
    - hostapd_mld_ctrl_iface_path
    - bind
    - chmod
    - os_memset
    linkageType: ''
    returnType: int
    signature: int hostapd_mld_ctrl_iface_init(struct hostapd_mld *mld)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: eloop_unregister_read_sock
      Src: /src/hostap/hostapd/ctrl_iface.c:5251,1
    - Dst: close
      Src: /src/hostap/hostapd/ctrl_iface.c:5252,1
    - Dst: hostapd_mld_ctrl_iface_path
      Src: /src/hostap/hostapd/ctrl_iface.c:5255,1
    - Dst: unlink
      Src: /src/hostap/hostapd/ctrl_iface.c:5257,1
    - Dst: os_free
      Src: /src/hostap/hostapd/ctrl_iface.c:5258,1
    - Dst: rmdir
      Src: /src/hostap/hostapd/ctrl_iface.c:5262,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:5264,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:5267,1
    - Dst: strerror
      Src: /src/hostap/hostapd/ctrl_iface.c:5270,1
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/hostapd/ctrl_iface.c:5275,1
    - Dst: os_free
      Src: /src/hostap/hostapd/ctrl_iface.c:5277,1
    - Dst: os_free
      Src: /src/hostap/hostapd/ctrl_iface.c:5280,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - mld
    argTypes:
    - struct hostapd_mld*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5281
      start: 5243
    functionDepth: 2
    functionLinenumber: 5243
    functionLinenumberEnd: 5281
    functionName: hostapd_mld_ctrl_iface_deinit
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - eloop_unregister_read_sock
    - wpa_printf
    - strerror
    - rmdir
    - close
    - os_free
    - hostapd_mld_ctrl_iface_path
    - unlink
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: void hostapd_mld_ctrl_iface_deinit(struct hostapd_mld *mld)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/hostapd/ctrl_iface.c:5302,1
    - Dst: os_strlen
      Src: /src/hostap/hostapd/ctrl_iface.c:5303,1
    - Dst: os_malloc
      Src: /src/hostap/hostapd/ctrl_iface.c:5305,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:5309,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5313
      start: 5287
    functionDepth: 0
    functionLinenumber: 5287
    functionLinenumberEnd: 5313
    functionName: hostapd_ctrl_iface_path
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_malloc
    - os_snprintf
    linkageType: ''
    returnType: char
    signature: char * hostapd_ctrl_iface_path(struct hostapd_data *hapd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_ctrl_iface_send
      Src: /src/hostap/hostapd/ctrl_iface.c:5324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - ctx
    - level
    - type
    - txt
    - len
    argTypes:
    - void*
    - int
    - enum wpa_msg_type
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5325
      start: 5317
    functionDepth: 1
    functionLinenumber: 5317
    functionLinenumberEnd: 5325
    functionName: hostapd_ctrl_iface_msg_cb
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - hostapd_ctrl_iface_send
    linkageType: ''
    returnType: void
    signature: "void hostapd_ctrl_iface_msg_cb(void *ctx, int level,\n\t\t\t\t      enum
      wpa_msg_type type,\n\t\t\t\t      const char *txt, size_t len)"
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:5339,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/ctrl_iface.c:5346,1
    - Dst: atoi
      Src: /src/hostap/hostapd/ctrl_iface.c:5349,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:5351,1
    - Dst: dl_list_init
      Src: /src/hostap/hostapd/ctrl_iface.c:5356,1
    - Dst: os_get_random
      Src: /src/hostap/hostapd/ctrl_iface.c:5358,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:5372,1
    - Dst: getaddrinfo
      Src: /src/hostap/hostapd/ctrl_iface.c:5373,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:5375,1
    - Dst: gai_strerror
      Src: /src/hostap/hostapd/ctrl_iface.c:5375,1
    - Dst: socket
      Src: /src/hostap/hostapd/ctrl_iface.c:5380,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:5383,1
    - Dst: strerror
      Src: /src/hostap/hostapd/ctrl_iface.c:5383,1
    - Dst: bind
      Src: /src/hostap/hostapd/ctrl_iface.c:5387,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:5392,1
    - Dst: strerror
      Src: /src/hostap/hostapd/ctrl_iface.c:5392,1
    - Dst: freeaddrinfo
      Src: /src/hostap/hostapd/ctrl_iface.c:5396,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:5398,1
    - Dst: os_strdup
      Src: /src/hostap/hostapd/ctrl_iface.c:5399,1
    - Dst: os_free
      Src: /src/hostap/hostapd/ctrl_iface.c:5401,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:5404,1
    - Dst: eloop_register_read_sock
      Src: /src/hostap/hostapd/ctrl_iface.c:5406,1
    - Dst: hostapd_ctrl_iface_deinit
      Src: /src/hostap/hostapd/ctrl_iface.c:5409,1
    - Dst: wpa_msg_register_cb
      Src: /src/hostap/hostapd/ctrl_iface.c:5414,1
    - Dst: close
      Src: /src/hostap/hostapd/ctrl_iface.c:5420,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:5429,1
    - Dst: dl_list_init
      Src: /src/hostap/hostapd/ctrl_iface.c:5433,1
    - Dst: mkdir
      Src: /src/hostap/hostapd/ctrl_iface.c:5438,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:5440,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:5443,1
    - Dst: strerror
      Src: /src/hostap/hostapd/ctrl_iface.c:5444,1
    - Dst: lchown
      Src: /src/hostap/hostapd/ctrl_iface.c:5450,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:5452,1
    - Dst: strerror
      Src: /src/hostap/hostapd/ctrl_iface.c:5453,1
    - Dst: lchown
      Src: /src/hostap/hostapd/ctrl_iface.c:5459,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:5461,1
    - Dst: strerror
      Src: /src/hostap/hostapd/ctrl_iface.c:5462,1
    - Dst: chmod
      Src: /src/hostap/hostapd/ctrl_iface.c:5474,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:5475,1
    - Dst: strerror
      Src: /src/hostap/hostapd/ctrl_iface.c:5476,1
    - Dst: os_strlen
      Src: /src/hostap/hostapd/ctrl_iface.c:5482,1
    - Dst: os_strlen
      Src: /src/hostap/hostapd/ctrl_iface.c:5484,1
    - Dst: os_strlen
      Src: /src/hostap/hostapd/ctrl_iface.c:5486,1
    - Dst: socket
      Src: /src/hostap/hostapd/ctrl_iface.c:5490,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:5492,1
    - Dst: strerror
      Src: /src/hostap/hostapd/ctrl_iface.c:5492,1
    - Dst: os_memset
      Src: /src/hostap/hostapd/ctrl_iface.c:5496,1
    - Dst: hostapd_ctrl_iface_path
      Src: /src/hostap/hostapd/ctrl_iface.c:5501,1
    - Dst: os_strlcpy
      Src: /src/hostap/hostapd/ctrl_iface.c:5504,1
    - Dst: bind
      Src: /src/hostap/hostapd/ctrl_iface.c:5505,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:5506,1
    - Dst: strerror
      Src: /src/hostap/hostapd/ctrl_iface.c:5507,1
    - Dst: connect
      Src: /src/hostap/hostapd/ctrl_iface.c:5508,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:5509,1
    - Dst: unlink
      Src: /src/hostap/hostapd/ctrl_iface.c:5512,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:5513,1
    - Dst: strerror
      Src: /src/hostap/hostapd/ctrl_iface.c:5515,1
    - Dst: bind
      Src: /src/hostap/hostapd/ctrl_iface.c:5518,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:5520,1
    - Dst: strerror
      Src: /src/hostap/hostapd/ctrl_iface.c:5522,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:5525,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:5528,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:5530,1
    - Dst: os_free
      Src: /src/hostap/hostapd/ctrl_iface.c:5532,1
    - Dst: lchown
      Src: /src/hostap/hostapd/ctrl_iface.c:5539,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:5540,1
    - Dst: strerror
      Src: /src/hostap/hostapd/ctrl_iface.c:5541,1
    - Dst: lchown
      Src: /src/hostap/hostapd/ctrl_iface.c:5547,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:5548,1
    - Dst: strerror
      Src: /src/hostap/hostapd/ctrl_iface.c:5549,1
    - Dst: chmod
      Src: /src/hostap/hostapd/ctrl_iface.c:5553,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:5554,1
    - Dst: strerror
      Src: /src/hostap/hostapd/ctrl_iface.c:5555,1
    - Dst: os_free
      Src: /src/hostap/hostapd/ctrl_iface.c:5558,1
    - Dst: eloop_register_read_sock
      Src: /src/hostap/hostapd/ctrl_iface.c:5561,1
    - Dst: hostapd_ctrl_iface_deinit
      Src: /src/hostap/hostapd/ctrl_iface.c:5563,1
    - Dst: wpa_msg_register_cb
      Src: /src/hostap/hostapd/ctrl_iface.c:5567,1
    - Dst: proc_coord_register_handler
      Src: /src/hostap/hostapd/ctrl_iface.c:5572,1
    - Dst: close
      Src: /src/hostap/hostapd/ctrl_iface.c:5581,1
    - Dst: unlink
      Src: /src/hostap/hostapd/ctrl_iface.c:5583,1
    - Dst: os_free
      Src: /src/hostap/hostapd/ctrl_iface.c:5584,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 174
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5588
      start: 5328
    functionDepth: 1
    functionLinenumber: 5328
    functionLinenumberEnd: 5588
    functionName: hostapd_ctrl_iface_init
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - eloop_register_read_sock
    - hostapd_ctrl_iface_deinit
    - os_strlcpy
    - os_snprintf
    - dl_list_init
    - atoi
    - unlink
    - os_strlen
    - wpa_printf
    - connect
    - os_get_random
    - os_strstr
    - getaddrinfo
    - os_free
    - bind
    - lchown
    - chmod
    - os_strdup
    - freeaddrinfo
    - os_memset
    - mkdir
    - proc_coord_register_handler
    - wpa_msg_register_cb
    - strerror
    - gai_strerror
    - socket
    - close
    - hostapd_ctrl_iface_path
    linkageType: ''
    returnType: int
    signature: int hostapd_ctrl_iface_init(struct hostapd_data *hapd)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: eloop_unregister_read_sock
      Src: /src/hostap/hostapd/ctrl_iface.c:5600,1
    - Dst: close
      Src: /src/hostap/hostapd/ctrl_iface.c:5601,1
    - Dst: hostapd_ctrl_iface_path
      Src: /src/hostap/hostapd/ctrl_iface.c:5604,1
    - Dst: unlink
      Src: /src/hostap/hostapd/ctrl_iface.c:5606,1
    - Dst: os_free
      Src: /src/hostap/hostapd/ctrl_iface.c:5607,1
    - Dst: rmdir
      Src: /src/hostap/hostapd/ctrl_iface.c:5610,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:5612,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:5616,1
    - Dst: strerror
      Src: /src/hostap/hostapd/ctrl_iface.c:5619,1
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/hostapd/ctrl_iface.c:5625,1
    - Dst: os_free
      Src: /src/hostap/hostapd/ctrl_iface.c:5627,1
    - Dst: l2_packet_deinit
      Src: /src/hostap/hostapd/ctrl_iface.c:5630,1
    - Dst: proc_coord_unregister_handler
      Src: /src/hostap/hostapd/ctrl_iface.c:5634,1
    - Dst: proc_coord_cancel_wait
      Src: /src/hostap/hostapd/ctrl_iface.c:5636,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5641
      start: 5591
    functionDepth: 1
    functionLinenumber: 5591
    functionLinenumberEnd: 5641
    functionName: hostapd_ctrl_iface_deinit
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 1
    functionsReached:
    - eloop_unregister_read_sock
    - wpa_printf
    - strerror
    - proc_coord_cancel_wait
    - l2_packet_deinit
    - proc_coord_unregister_handler
    - rmdir
    - close
    - unlink
    - os_free
    - hostapd_ctrl_iface_path
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: void hostapd_ctrl_iface_deinit(struct hostapd_data *hapd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_add_iface
      Src: /src/hostap/hostapd/ctrl_iface.c:5647,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:5648,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - interfaces
    - buf
    argTypes:
    - struct hapd_interfaces*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5652
      start: 5644
    functionDepth: 1
    functionLinenumber: 5644
    functionLinenumberEnd: 5652
    functionName: hostapd_ctrl_iface_add
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - hostapd_add_iface
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_iface_add(struct hapd_interfaces *interfaces,\n\t\t\t\t
      \ char *buf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_remove_iface
      Src: /src/hostap/hostapd/ctrl_iface.c:5658,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:5659,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - interfaces
    - buf
    argTypes:
    - struct hapd_interfaces*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5663
      start: 5655
    functionDepth: 1
    functionLinenumber: 5655
    functionLinenumberEnd: 5663
    functionName: hostapd_ctrl_iface_remove
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hostapd_remove_iface
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_iface_remove(struct hapd_interfaces *interfaces,\n\t\t\t\t
      \    char *buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctrl_iface_attach
      Src: /src/hostap/hostapd/ctrl_iface.c:5670,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - interfaces
    - from
    - fromlen
    - input
    argTypes:
    - struct hapd_interfaces*
    - struct sockaddr_storage*
    - socklen_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5672
      start: 5666
    functionDepth: 1
    functionLinenumber: 5666
    functionLinenumberEnd: 5672
    functionName: hostapd_global_ctrl_iface_attach
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - ctrl_iface_attach
    linkageType: ''
    returnType: int
    signature: "int hostapd_global_ctrl_iface_attach(struct hapd_interfaces *interfaces,\n\t\t\t\t\t
      \   struct sockaddr_storage *from,\n\t\t\t\t\t    socklen_t fromlen, char *input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctrl_iface_detach
      Src: /src/hostap/hostapd/ctrl_iface.c:5679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - interfaces
    - from
    - fromlen
    argTypes:
    - struct hapd_interfaces*
    - struct sockaddr_storage*
    - socklen_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5680
      start: 5675
    functionDepth: 1
    functionLinenumber: 5675
    functionLinenumberEnd: 5680
    functionName: hostapd_global_ctrl_iface_detach
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - ctrl_iface_detach
    linkageType: ''
    returnType: int
    signature: "int hostapd_global_ctrl_iface_detach(struct hapd_interfaces *interfaces,\n\t\t\t\t\t
      \   struct sockaddr_storage *from,\n\t\t\t\t\t    socklen_t fromlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dpp_global_clear
      Src: /src/hostap/hostapd/ctrl_iface.c:5705,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - interfaces
    argTypes:
    - struct hapd_interfaces*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5721
      start: 5683
    functionDepth: 1
    functionLinenumber: 5683
    functionLinenumberEnd: 5721
    functionName: hostapd_ctrl_iface_flush
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - dpp_global_clear
    linkageType: ''
    returnType: void
    signature: void hostapd_ctrl_iface_flush(struct hapd_interfaces *interfaces)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fst_parse_attach_command
      Src: /src/hostap/hostapd/ctrl_iface.c:5735,1
    - Dst: hostapd_get_iface
      Src: /src/hostap/hostapd/ctrl_iface.c:5736,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:5739,1
    - Dst: fst_hostapd_fill_iface_obj
      Src: /src/hostap/hostapd/ctrl_iface.c:5742,1
    - Dst: fst_attach
      Src: /src/hostap/hostapd/ctrl_iface.c:5743,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - interfaces
    - cmd
    argTypes:
    - struct hapd_interfaces*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5751
      start: 5726
    functionDepth: 1
    functionLinenumber: 5726
    functionLinenumberEnd: 5751
    functionName: hostapd_global_ctrl_iface_fst_attach
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - fst_hostapd_fill_iface_obj
    - hostapd_get_iface
    - fst_attach
    - fst_parse_attach_command
    linkageType: ''
    returnType: int
    signature: "int hostapd_global_ctrl_iface_fst_attach(struct hapd_interfaces *interfaces,\n\t\t\t\t
      \    const char *cmd)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fst_parse_detach_command
      Src: /src/hostap/hostapd/ctrl_iface.c:5761,1
    - Dst: hostapd_get_iface
      Src: /src/hostap/hostapd/ctrl_iface.c:5762,1
    - Dst: fst_iface_detach
      Src: /src/hostap/hostapd/ctrl_iface.c:5764,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - interfaces
    - cmd
    argTypes:
    - struct hapd_interfaces*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5773
      start: 5754
    functionDepth: 1
    functionLinenumber: 5754
    functionLinenumberEnd: 5773
    functionName: hostapd_global_ctrl_iface_fst_detach
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - fst_parse_detach_command
    - hostapd_get_iface
    - fst_iface_detach
    linkageType: ''
    returnType: int
    signature: "int hostapd_global_ctrl_iface_fst_detach(struct hapd_interfaces *interfaces,\n\t\t\t\t
      \    const char *cmd)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/ctrl_iface.c:5791,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - interfaces
    - ifname
    argTypes:
    - struct hapd_interfaces*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5797
      start: 5778
    functionDepth: 0
    functionLinenumber: 5778
    functionLinenumberEnd: 5797
    functionName: hostapd_interfaces_get_hapd
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strcmp
    linkageType: ''
    returnType: struct hostapd_data
    signature: "struct hostapd_data *\nhostapd_interfaces_get_hapd(struct hapd_interfaces
      *interfaces,\n\t\t\t    const char *ifname)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/hostapd/ctrl_iface.c:5807,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:5809,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/ctrl_iface.c:5815,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:5816,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/ctrl_iface.c:5818,1
    - Dst: hostapd_ctrl_iface_get_key_mgmt
      Src: /src/hostap/hostapd/ctrl_iface.c:5820,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/ctrl_iface.c:5822,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/ctrl_iface.c:5824,1
    - Dst: wpa_write_ciphers
      Src: /src/hostap/hostapd/ctrl_iface.c:5826,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/ctrl_iface.c:5831,1
    - Dst: wpa_write_ciphers
      Src: /src/hostap/hostapd/ctrl_iface.c:5833,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/ctrl_iface.c:5838,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:5840,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/ctrl_iface.c:5842,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/hostapd/ctrl_iface.c:5844,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:5847,1
    - Dst: hostapd_set_iface
      Src: /src/hostap/hostapd/ctrl_iface.c:5851,1
    - Dst: os_free
      Src: /src/hostap/hostapd/ctrl_iface.c:5852,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:5856,1
    - Dst: os_free
      Src: /src/hostap/hostapd/ctrl_iface.c:5858,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 48
    argCount: 3
    argNames:
    - src_hapd
    - dst_hapd
    - param
    argTypes:
    - struct hostapd_data*
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5860
      start: 5800
    functionDepth: 2
    functionLinenumber: 5800
    functionLinenumberEnd: 5860
    functionName: hostapd_ctrl_iface_dup_param
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_snprintf_hex
    - hostapd_set_iface
    - os_snprintf
    - os_zalloc
    - hostapd_ctrl_iface_get_key_mgmt
    - os_free
    - wpa_write_ciphers
    - os_strcmp
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_iface_dup_param(struct hostapd_data *src_hapd,\n\t\t\t\t\tstruct
      hostapd_data *dst_hapd,\n\t\t\t\t\tconst char *param)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_strstr
      Src: /src/hostap/hostapd/ctrl_iface.c:5875,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:5888,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:5894,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/ctrl_iface.c:5896,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - interfaces
    - input
    - reply
    - reply_size
    argTypes:
    - struct hapd_interfaces*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5905
      start: 5863
    functionDepth: 1
    functionLinenumber: 5863
    functionLinenumberEnd: 5905
    functionName: hostapd_global_ctrl_iface_interfaces
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strstr
    - os_snprintf
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int hostapd_global_ctrl_iface_interfaces(struct hapd_interfaces *interfaces,\n\t\t\t\t
      \    const char *input,\n\t\t\t\t     char *reply, int reply_size)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_strchr
      Src: /src/hostap/hostapd/ctrl_iface.c:5917,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:5919,1
    - Dst: hostapd_interfaces_get_hapd
      Src: /src/hostap/hostapd/ctrl_iface.c:5925,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:5927,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/ctrl_iface.c:5933,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:5935,1
    - Dst: hostapd_interfaces_get_hapd
      Src: /src/hostap/hostapd/ctrl_iface.c:5941,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:5943,1
    - Dst: hostapd_ctrl_iface_dup_param
      Src: /src/hostap/hostapd/ctrl_iface.c:5949,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - interfaces
    - cmd
    argTypes:
    - struct hapd_interfaces*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5950
      start: 5908
    functionDepth: 3
    functionLinenumber: 5908
    functionLinenumberEnd: 5950
    functionName: hostapd_global_ctrl_iface_dup_network
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strchr
    - wpa_printf
    - hostapd_interfaces_get_hapd
    - hostapd_ctrl_iface_dup_param
    linkageType: ''
    returnType: int
    signature: "int hostapd_global_ctrl_iface_dup_network(struct hapd_interfaces *interfaces,\n\t\t\t\t
      \     char *cmd)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_interfaces_get_hapd
      Src: /src/hostap/hostapd/ctrl_iface.c:5962,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:5966,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/ctrl_iface.c:5967,1
    - Dst: hostapd_ctrl_iface_receive_process
      Src: /src/hostap/hostapd/ctrl_iface.c:5972,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 7
    argNames:
    - interfaces
    - ifname
    - buf
    - reply
    - reply_size
    - from
    - fromlen
    argTypes:
    - struct hapd_interfaces*
    - char*
    - char*
    - char*
    - int
    - struct sockaddr_storage*
    - socklen_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5974
      start: 5953
    functionDepth: 1
    functionLinenumber: 5953
    functionLinenumberEnd: 5974
    functionName: hostapd_global_ctrl_iface_ifname
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - hostapd_ctrl_iface_receive_process
    - hostapd_interfaces_get_hapd
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int hostapd_global_ctrl_iface_ifname(struct hapd_interfaces *interfaces,\n\t\t\t\t\t
      \   const char *ifname,\n\t\t\t\t\t    char *buf, char *reply,\n\t\t\t\t\t    int
      reply_size,\n\t\t\t\t\t    struct sockaddr_storage *from,\n\t\t\t\t\t    socklen_t
      fromlen)"
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: recvfrom
      Src: /src/hostap/hostapd/ctrl_iface.c:5992,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:5995,1
    - Dst: strerror
      Src: /src/hostap/hostapd/ctrl_iface.c:5996,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:6000,1
    - Dst: os_malloc
      Src: /src/hostap/hostapd/ctrl_iface.c:6002,1
    - Dst: sendto
      Src: /src/hostap/hostapd/ctrl_iface.c:6004,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:6006,1
    - Dst: strerror
      Src: /src/hostap/hostapd/ctrl_iface.c:6007,1
    - Dst: os_memcpy
      Src: /src/hostap/hostapd/ctrl_iface.c:6012,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/ctrl_iface.c:6016,1
    - Dst: os_memcpy
      Src: /src/hostap/hostapd/ctrl_iface.c:6017,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/hostapd/ctrl_iface.c:6018,1
    - Dst: os_strncmp
      Src: /src/hostap/hostapd/ctrl_iface.c:6025,1
    - Dst: hexstr2bin
      Src: /src/hostap/hostapd/ctrl_iface.c:6026,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:6027,1
    - Dst: os_free
      Src: /src/hostap/hostapd/ctrl_iface.c:6029,1
    - Dst: os_memcmp
      Src: /src/hostap/hostapd/ctrl_iface.c:6033,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:6035,1
    - Dst: os_free
      Src: /src/hostap/hostapd/ctrl_iface.c:6037,1
    - Dst: os_strncmp
      Src: /src/hostap/hostapd/ctrl_iface.c:6046,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/ctrl_iface.c:6047,1
    - Dst: hostapd_global_ctrl_iface_ifname
      Src: /src/hostap/hostapd/ctrl_iface.c:6051,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/ctrl_iface.c:6058,1
    - Dst: os_memcpy
      Src: /src/hostap/hostapd/ctrl_iface.c:6059,1
    - Dst: os_strncmp
      Src: /src/hostap/hostapd/ctrl_iface.c:6061,1
    - Dst: wpa_debug_reopen_file
      Src: /src/hostap/hostapd/ctrl_iface.c:6062,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/ctrl_iface.c:6064,1
    - Dst: hostapd_ctrl_iface_flush
      Src: /src/hostap/hostapd/ctrl_iface.c:6065,1
    - Dst: os_strncmp
      Src: /src/hostap/hostapd/ctrl_iface.c:6066,1
    - Dst: hostapd_ctrl_iface_add
      Src: /src/hostap/hostapd/ctrl_iface.c:6067,1
    - Dst: os_strncmp
      Src: /src/hostap/hostapd/ctrl_iface.c:6069,1
    - Dst: hostapd_ctrl_iface_remove
      Src: /src/hostap/hostapd/ctrl_iface.c:6070,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/ctrl_iface.c:6072,1
    - Dst: hostapd_global_ctrl_iface_attach
      Src: /src/hostap/hostapd/ctrl_iface.c:6073,1
    - Dst: os_strncmp
      Src: /src/hostap/hostapd/ctrl_iface.c:6076,1
    - Dst: hostapd_global_ctrl_iface_attach
      Src: /src/hostap/hostapd/ctrl_iface.c:6077,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/ctrl_iface.c:6080,1
    - Dst: hostapd_global_ctrl_iface_detach
      Src: /src/hostap/hostapd/ctrl_iface.c:6081,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/ctrl_iface.c:6085,1
    - Dst: hapd_module_tests
      Src: /src/hostap/hostapd/ctrl_iface.c:6086,1
    - Dst: os_strncmp
      Src: /src/hostap/hostapd/ctrl_iface.c:6090,1
    - Dst: hostapd_global_ctrl_iface_fst_attach
      Src: /src/hostap/hostapd/ctrl_iface.c:6091,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:6092,1
    - Dst: os_strncmp
      Src: /src/hostap/hostapd/ctrl_iface.c:6095,1
    - Dst: hostapd_global_ctrl_iface_fst_detach
      Src: /src/hostap/hostapd/ctrl_iface.c:6096,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:6097,1
    - Dst: os_strncmp
      Src: /src/hostap/hostapd/ctrl_iface.c:6100,1
    - Dst: fst_ctrl_iface_receive
      Src: /src/hostap/hostapd/ctrl_iface.c:6101,1
    - Dst: os_strncmp
      Src: /src/hostap/hostapd/ctrl_iface.c:6103,1
    - Dst: hostapd_global_ctrl_iface_dup_network
      Src: /src/hostap/hostapd/ctrl_iface.c:6104,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:6106,1
    - Dst: os_strncmp
      Src: /src/hostap/hostapd/ctrl_iface.c:6109,1
    - Dst: hostapd_global_ctrl_iface_interfaces
      Src: /src/hostap/hostapd/ctrl_iface.c:6110,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/ctrl_iface.c:6112,1
    - Dst: eloop_terminate
      Src: /src/hostap/hostapd/ctrl_iface.c:6113,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:6115,1
    - Dst: os_memcpy
      Src: /src/hostap/hostapd/ctrl_iface.c:6122,1
    - Dst: sendto
      Src: /src/hostap/hostapd/ctrl_iface.c:6126,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:6128,1
    - Dst: strerror
      Src: /src/hostap/hostapd/ctrl_iface.c:6129,1
    - Dst: os_free
      Src: /src/hostap/hostapd/ctrl_iface.c:6131,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 117
    argCount: 3
    argNames:
    - sock
    - eloop_ctx
    - sock_ctx
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6132
      start: 5977
    functionDepth: 4
    functionLinenumber: 5977
    functionLinenumberEnd: 6132
    functionName: hostapd_global_ctrl_iface_receive
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - hostapd_global_ctrl_iface_interfaces
    - hostapd_global_ctrl_iface_fst_attach
    - recvfrom
    - os_snprintf
    - hostapd_global_ctrl_iface_ifname
    - hostapd_ctrl_iface_flush
    - wpa_printf
    - wpa_snprintf_hex
    - hostapd_global_ctrl_iface_detach
    - os_memcmp
    - os_free
    - hostapd_ctrl_iface_remove
    - fst_ctrl_iface_receive
    - eloop_terminate
    - os_strcmp
    - sendto
    - hexstr2bin
    - os_malloc
    - hostapd_global_ctrl_iface_dup_network
    - os_strchr
    - os_memcpy
    - hapd_module_tests
    - strerror
    - wpa_debug_reopen_file
    - hostapd_global_ctrl_iface_attach
    - os_strncmp
    - hostapd_ctrl_iface_add
    - hostapd_global_ctrl_iface_fst_detach
    linkageType: ''
    returnType: void
    signature: "void hostapd_global_ctrl_iface_receive(int sock, void *eloop_ctx,\n\t\t\t\t\t
      \     void *sock_ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/hostapd/ctrl_iface.c:6144,1
    - Dst: os_strlen
      Src: /src/hostap/hostapd/ctrl_iface.c:6145,1
    - Dst: os_malloc
      Src: /src/hostap/hostapd/ctrl_iface.c:6146,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:6150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - interface
    argTypes:
    - struct hapd_interfaces*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6154
      start: 6136
    functionDepth: 0
    functionLinenumber: 6136
    functionLinenumberEnd: 6154
    functionName: hostapd_global_ctrl_iface_path
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_malloc
    - os_snprintf
    linkageType: ''
    returnType: char
    signature: char * hostapd_global_ctrl_iface_path(struct hapd_interfaces *interface)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:6168,1
    - Dst: os_strstr
      Src: /src/hostap/hostapd/ctrl_iface.c:6175,1
    - Dst: atoi
      Src: /src/hostap/hostapd/ctrl_iface.c:6178,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:6180,1
    - Dst: os_get_random
      Src: /src/hostap/hostapd/ctrl_iface.c:6185,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:6199,1
    - Dst: getaddrinfo
      Src: /src/hostap/hostapd/ctrl_iface.c:6200,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:6202,1
    - Dst: gai_strerror
      Src: /src/hostap/hostapd/ctrl_iface.c:6202,1
    - Dst: socket
      Src: /src/hostap/hostapd/ctrl_iface.c:6207,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:6210,1
    - Dst: strerror
      Src: /src/hostap/hostapd/ctrl_iface.c:6210,1
    - Dst: bind
      Src: /src/hostap/hostapd/ctrl_iface.c:6214,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:6220,1
    - Dst: strerror
      Src: /src/hostap/hostapd/ctrl_iface.c:6220,1
    - Dst: freeaddrinfo
      Src: /src/hostap/hostapd/ctrl_iface.c:6224,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:6226,1
    - Dst: eloop_register_read_sock
      Src: /src/hostap/hostapd/ctrl_iface.c:6228,1
    - Dst: hostapd_global_ctrl_iface_deinit
      Src: /src/hostap/hostapd/ctrl_iface.c:6231,1
    - Dst: wpa_msg_register_cb
      Src: /src/hostap/hostapd/ctrl_iface.c:6235,1
    - Dst: close
      Src: /src/hostap/hostapd/ctrl_iface.c:6241,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:6249,1
    - Dst: mkdir
      Src: /src/hostap/hostapd/ctrl_iface.c:6253,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:6255,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:6258,1
    - Dst: strerror
      Src: /src/hostap/hostapd/ctrl_iface.c:6259,1
    - Dst: lchown
      Src: /src/hostap/hostapd/ctrl_iface.c:6263,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:6265,1
    - Dst: strerror
      Src: /src/hostap/hostapd/ctrl_iface.c:6266,1
    - Dst: os_strlen
      Src: /src/hostap/hostapd/ctrl_iface.c:6270,1
    - Dst: os_strlen
      Src: /src/hostap/hostapd/ctrl_iface.c:6271,1
    - Dst: socket
      Src: /src/hostap/hostapd/ctrl_iface.c:6274,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:6276,1
    - Dst: strerror
      Src: /src/hostap/hostapd/ctrl_iface.c:6276,1
    - Dst: os_memset
      Src: /src/hostap/hostapd/ctrl_iface.c:6280,1
    - Dst: hostapd_global_ctrl_iface_path
      Src: /src/hostap/hostapd/ctrl_iface.c:6285,1
    - Dst: os_strlcpy
      Src: /src/hostap/hostapd/ctrl_iface.c:6288,1
    - Dst: bind
      Src: /src/hostap/hostapd/ctrl_iface.c:6289,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:6290,1
    - Dst: strerror
      Src: /src/hostap/hostapd/ctrl_iface.c:6291,1
    - Dst: connect
      Src: /src/hostap/hostapd/ctrl_iface.c:6292,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:6293,1
    - Dst: unlink
      Src: /src/hostap/hostapd/ctrl_iface.c:6296,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:6297,1
    - Dst: strerror
      Src: /src/hostap/hostapd/ctrl_iface.c:6299,1
    - Dst: bind
      Src: /src/hostap/hostapd/ctrl_iface.c:6302,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:6304,1
    - Dst: strerror
      Src: /src/hostap/hostapd/ctrl_iface.c:6305,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:6308,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:6311,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:6313,1
    - Dst: os_free
      Src: /src/hostap/hostapd/ctrl_iface.c:6315,1
    - Dst: lchown
      Src: /src/hostap/hostapd/ctrl_iface.c:6322,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:6323,1
    - Dst: strerror
      Src: /src/hostap/hostapd/ctrl_iface.c:6324,1
    - Dst: chmod
      Src: /src/hostap/hostapd/ctrl_iface.c:6328,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:6329,1
    - Dst: strerror
      Src: /src/hostap/hostapd/ctrl_iface.c:6330,1
    - Dst: os_free
      Src: /src/hostap/hostapd/ctrl_iface.c:6333,1
    - Dst: eloop_register_read_sock
      Src: /src/hostap/hostapd/ctrl_iface.c:6336,1
    - Dst: wpa_msg_register_cb
      Src: /src/hostap/hostapd/ctrl_iface.c:6339,1
    - Dst: close
      Src: /src/hostap/hostapd/ctrl_iface.c:6345,1
    - Dst: unlink
      Src: /src/hostap/hostapd/ctrl_iface.c:6347,1
    - Dst: os_free
      Src: /src/hostap/hostapd/ctrl_iface.c:6348,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 143
    argCount: 1
    argNames:
    - interface
    argTypes:
    - struct hapd_interfaces*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6352
      start: 6158
    functionDepth: 1
    functionLinenumber: 6158
    functionLinenumberEnd: 6352
    functionName: hostapd_global_ctrl_iface_init
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 1
    functionsReached:
    - eloop_register_read_sock
    - os_strlcpy
    - os_snprintf
    - atoi
    - unlink
    - os_strlen
    - wpa_printf
    - connect
    - os_get_random
    - os_strstr
    - getaddrinfo
    - os_free
    - bind
    - hostapd_global_ctrl_iface_deinit
    - lchown
    - chmod
    - freeaddrinfo
    - os_memset
    - mkdir
    - wpa_msg_register_cb
    - strerror
    - gai_strerror
    - socket
    - hostapd_global_ctrl_iface_path
    - close
    linkageType: ''
    returnType: int
    signature: int hostapd_global_ctrl_iface_init(struct hapd_interfaces *interface)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: eloop_unregister_read_sock
      Src: /src/hostap/hostapd/ctrl_iface.c:6363,1
    - Dst: close
      Src: /src/hostap/hostapd/ctrl_iface.c:6364,1
    - Dst: hostapd_global_ctrl_iface_path
      Src: /src/hostap/hostapd/ctrl_iface.c:6367,1
    - Dst: unlink
      Src: /src/hostap/hostapd/ctrl_iface.c:6369,1
    - Dst: os_free
      Src: /src/hostap/hostapd/ctrl_iface.c:6370,1
    - Dst: rmdir
      Src: /src/hostap/hostapd/ctrl_iface.c:6374,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:6376,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:6380,1
    - Dst: strerror
      Src: /src/hostap/hostapd/ctrl_iface.c:6383,1
    - Dst: os_free
      Src: /src/hostap/hostapd/ctrl_iface.c:6389,1
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/hostapd/ctrl_iface.c:6392,1
    - Dst: os_free
      Src: /src/hostap/hostapd/ctrl_iface.c:6394,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - interfaces
    argTypes:
    - struct hapd_interfaces*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6395
      start: 6355
    functionDepth: 1
    functionLinenumber: 6355
    functionLinenumberEnd: 6395
    functionName: hostapd_global_ctrl_iface_deinit
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 2
    functionsReached:
    - eloop_unregister_read_sock
    - wpa_printf
    - strerror
    - hostapd_global_ctrl_iface_path
    - rmdir
    - close
    - unlink
    - os_free
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: void hostapd_global_ctrl_iface_deinit(struct hapd_interfaces *interfaces)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: str_starts
      Src: /src/hostap/hostapd/ctrl_iface.c:6404,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - dst
    - buf
    argTypes:
    - struct wpa_ctrl_dst*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6407
      start: 6398
    functionDepth: 1
    functionLinenumber: 6398
    functionLinenumberEnd: 6407
    functionName: hostapd_ctrl_check_event_enabled
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - str_starts
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_check_event_enabled(struct wpa_ctrl_dst *dst,\n\t\t\t\t\t
      \   const char *buf)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_empty
      Src: /src/hostap/hostapd/ctrl_iface.c:6420,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/ctrl_iface.c:6423,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/ctrl_iface.c:6424,1
    - Dst: os_strlen
      Src: /src/hostap/hostapd/ctrl_iface.c:6432,1
    - Dst: os_strlen
      Src: /src/hostap/hostapd/ctrl_iface.c:6439,1
    - Dst: os_memset
      Src: /src/hostap/hostapd/ctrl_iface.c:6444,1
    - Dst: hostapd_ctrl_check_event_enabled
      Src: /src/hostap/hostapd/ctrl_iface.c:6451,1
    - Dst: sockaddr_print
      Src: /src/hostap/hostapd/ctrl_iface.c:6452,1
    - Dst: sendmsg
      Src: /src/hostap/hostapd/ctrl_iface.c:6456,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:6458,1
    - Dst: strerror
      Src: /src/hostap/hostapd/ctrl_iface.c:6460,1
    - Dst: ctrl_iface_detach
      Src: /src/hostap/hostapd/ctrl_iface.c:6463,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 6
    argNames:
    - sock
    - ctrl_dst
    - ifname
    - level
    - buf
    - len
    argTypes:
    - int
    - struct dl_list*
    - char*
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6472
      start: 6410
    functionDepth: 2
    functionLinenumber: 6410
    functionLinenumberEnd: 6472
    functionName: hostapd_ctrl_iface_send_internal
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - strerror
    - dl_list_empty
    - sendmsg
    - hostapd_ctrl_check_event_enabled
    - os_memset
    - os_snprintf
    - sockaddr_print
    - ctrl_iface_detach
    - os_snprintf_error
    linkageType: ''
    returnType: void
    signature: "void hostapd_ctrl_iface_send_internal(int sock, struct dl_list *ctrl_dst,\n\t\t\t\t\t
      \    const char *ifname, int level,\n\t\t\t\t\t     const char *buf, size_t
      len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_ctrl_check_event_enabled
      Src: /src/hostap/hostapd/ctrl_iface.c:6451,1
    - Dst: sockaddr_print
      Src: /src/hostap/hostapd/ctrl_iface.c:6452,1
    - Dst: sendmsg
      Src: /src/hostap/hostapd/ctrl_iface.c:6456,1
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/ctrl_iface.c:6458,1
    - Dst: strerror
      Src: /src/hostap/hostapd/ctrl_iface.c:6460,1
    - Dst: ctrl_iface_detach
      Src: /src/hostap/hostapd/ctrl_iface.c:6463,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6471
      start: 6449
    functionDepth: 2
    functionLinenumber: 6449
    functionLinenumberEnd: 6471
    functionName: dl_list_for_each_safe
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 22
    functionsReached:
    - wpa_printf
    - strerror
    - sendmsg
    - hostapd_ctrl_check_event_enabled
    - sockaddr_print
    - ctrl_iface_detach
    linkageType: ''
    returnType: void
    signature: void dl_list_for_each_safe(dst, next, ctrl_dst, struct wpa_ctrl_dst,
      list)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_ctrl_iface_send_internal
      Src: /src/hostap/hostapd/ctrl_iface.c:6480,1
    - Dst: hostapd_ctrl_iface_send_internal
      Src: /src/hostap/hostapd/ctrl_iface.c:6489,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - hapd
    - level
    - type
    - buf
    - len
    argTypes:
    - struct hostapd_data*
    - int
    - enum wpa_msg_type
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6493
      start: 6475
    functionDepth: 3
    functionLinenumber: 6475
    functionLinenumberEnd: 6493
    functionName: hostapd_ctrl_iface_send
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.c
    functionUses: 1
    functionsReached:
    - hostapd_ctrl_iface_send_internal
    linkageType: ''
    returnType: void
    signature: "void hostapd_ctrl_iface_send(struct hostapd_data *hapd, int level,\n\t\t\t\t
      \   enum wpa_msg_type type,\n\t\t\t\t    const char *buf, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/hostap/hostapd/hostapd_cli.c:54,1
    - Dst: fprintf
      Src: /src/hostap/hostapd/hostapd_cli.c:55,1
    - Dst: print_help
      Src: /src/hostap/hostapd/hostapd_cli.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 87
    functionName: usage
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 6
    functionsReached:
    - fprintf
    - print_help
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eloop_register_read_sock
      Src: /src/hostap/hostapd/hostapd_cli.c:96,1
    - Dst: wpa_ctrl_get_fd
      Src: /src/hostap/hostapd/hostapd_cli.c:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - struct wpa_ctrl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 100
    functionName: register_event_handler
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - eloop_register_read_sock
    - wpa_ctrl_get_fd
    linkageType: ''
    returnType: void
    signature: void register_event_handler(struct wpa_ctrl *ctrl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eloop_unregister_read_sock
      Src: /src/hostap/hostapd/hostapd_cli.c:108,1
    - Dst: wpa_ctrl_get_fd
      Src: /src/hostap/hostapd/hostapd_cli.c:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - struct wpa_ctrl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 111
    functionName: unregister_event_handler
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - eloop_unregister_read_sock
    - wpa_ctrl_get_fd
    linkageType: ''
    returnType: void
    signature: void unregister_event_handler(struct wpa_ctrl *ctrl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_open
      Src: /src/hostap/hostapd/hostapd_cli.c:125,1
    - Dst: strlen
      Src: /src/hostap/hostapd/hostapd_cli.c:128,1
    - Dst: strlen
      Src: /src/hostap/hostapd/hostapd_cli.c:128,1
    - Dst: malloc
      Src: /src/hostap/hostapd/hostapd_cli.c:129,1
    - Dst: snprintf
      Src: /src/hostap/hostapd/hostapd_cli.c:132,1
    - Dst: access
      Src: /src/hostap/hostapd/hostapd_cli.c:135,1
    - Dst: perror
      Src: /src/hostap/hostapd/hostapd_cli.c:136,1
    - Dst: free
      Src: /src/hostap/hostapd/hostapd_cli.c:137,1
    - Dst: wpa_ctrl_open2
      Src: /src/hostap/hostapd/hostapd_cli.c:141,1
    - Dst: free
      Src: /src/hostap/hostapd/hostapd_cli.c:142,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - ifname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 145
    functionName: hostapd_cli_open_connection
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - snprintf
    - wpa_ctrl_open2
    - malloc
    - access
    - wpa_ctrl_open
    - perror
    - free
    - strlen
    linkageType: ''
    returnType: struct wpa_ctrl
    signature: struct wpa_ctrl * hostapd_cli_open_connection(const char *ifname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unregister_event_handler
      Src: /src/hostap/hostapd/hostapd_cli.c:153,1
    - Dst: wpa_ctrl_detach
      Src: /src/hostap/hostapd/hostapd_cli.c:155,1
    - Dst: wpa_ctrl_close
      Src: /src/hostap/hostapd/hostapd_cli.c:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 160
    functionName: hostapd_cli_close_connection
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_close
    - wpa_ctrl_detach
    - unregister_event_handler
    linkageType: ''
    returnType: void
    signature: void hostapd_cli_close_connection(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_cli_close_connection
      Src: /src/hostap/hostapd/hostapd_cli.c:167,1
    - Dst: os_strdup
      Src: /src/hostap/hostapd/hostapd_cli.c:172,1
    - Dst: os_free
      Src: /src/hostap/hostapd/hostapd_cli.c:173,1
    - Dst: hostapd_cli_open_connection
      Src: /src/hostap/hostapd/hostapd_cli.c:178,1
    - Dst: wpa_ctrl_attach
      Src: /src/hostap/hostapd/hostapd_cli.c:183,1
    - Dst: register_event_handler
      Src: /src/hostap/hostapd/hostapd_cli.c:185,1
    - Dst: update_stations
      Src: /src/hostap/hostapd/hostapd_cli.c:186,1
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:188,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - ifname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 163
    functionDepth: 3
    functionLinenumber: 163
    functionLinenumberEnd: 191
    functionName: hostapd_cli_reconnect
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - update_stations
    - hostapd_cli_open_connection
    - printf
    - register_event_handler
    - wpa_ctrl_attach
    - os_free
    - os_strdup
    - hostapd_cli_close_connection
    linkageType: ''
    returnType: int
    signature: int hostapd_cli_reconnect(const char *ifname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cli_event
      Src: /src/hostap/hostapd/hostapd_cli.c:196,1
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - msg
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 198
    functionName: hostapd_cli_msg_cb
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - printf
    - cli_event
    linkageType: ''
    returnType: void
    signature: void hostapd_cli_msg_cb(char *msg, size_t len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:208,1
    - Dst: wpa_ctrl_request
      Src: /src/hostap/hostapd/hostapd_cli.c:212,1
    - Dst: strlen
      Src: /src/hostap/hostapd/hostapd_cli.c:212,1
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:215,1
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:218,1
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:223,1
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:225,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - ctrl
    - cmd
    - print
    argTypes:
    - struct wpa_ctrl*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 228
    functionName: _wpa_ctrl_command
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 2
    functionsReached:
    - strlen
    - wpa_ctrl_request
    - printf
    linkageType: ''
    returnType: int
    signature: int _wpa_ctrl_command(struct wpa_ctrl *ctrl, const char *cmd, int print)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _wpa_ctrl_command
      Src: /src/hostap/hostapd/hostapd_cli.c:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctrl
    - cmd
    argTypes:
    - struct wpa_ctrl*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 234
    functionName: wpa_ctrl_command
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 81
    functionsReached:
    - _wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: int wpa_ctrl_command(struct wpa_ctrl *ctrl, const char *cmd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:243,1
    - Dst: write_cmd
      Src: /src/hostap/hostapd/hostapd_cli.c:247,1
    - Dst: wpa_ctrl_command
      Src: /src/hostap/hostapd/hostapd_cli.c:249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - ctrl
    - cmd
    - min_args
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - char*
    - int
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 250
    functionName: hostapd_cli_cmd
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    - write_cmd
    - printf
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd(struct wpa_ctrl *ctrl, const char *cmd,\n\t\t\t
      \  int min_args, int argc, char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/hostapd/hostapd_cli.c:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 256
    functionName: hostapd_cli_cmd_ping
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: int hostapd_cli_cmd_ping(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/hostapd/hostapd_cli.c:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 262
    functionName: hostapd_cli_cmd_relog
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: int hostapd_cli_cmd_relog(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/hostapd/hostapd_cli.c:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 269
    functionName: hostapd_cli_cmd_close_log
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_close_log(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \    char *argv[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/hostapd_cli.c:274,1
    - Dst: wpa_ctrl_command
      Src: /src/hostap/hostapd/hostapd_cli.c:275,1
    - Dst: wpa_ctrl_command
      Src: /src/hostap/hostapd/hostapd_cli.c:276,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 277
    functionName: hostapd_cli_cmd_status
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: int hostapd_cli_cmd_status(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/hostapd_cli.c:284,1
    - Dst: wpa_ctrl_command
      Src: /src/hostap/hostapd/hostapd_cli.c:285,1
    - Dst: wpa_ctrl_command
      Src: /src/hostap/hostapd/hostapd_cli.c:287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 288
    functionName: hostapd_cli_cmd_mib
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: int hostapd_cli_cmd_mib(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/hostapd/hostapd_cli.c:298,1
    - Dst: os_strlen
      Src: /src/hostap/hostapd/hostapd_cli.c:298,1
    - Dst: os_malloc
      Src: /src/hostap/hostapd/hostapd_cli.c:299,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/hostapd_cli.c:302,1
    - Dst: os_exec
      Src: /src/hostap/hostapd/hostapd_cli.c:303,1
    - Dst: os_free
      Src: /src/hostap/hostapd/hostapd_cli.c:304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - program
    - arg1
    - arg2
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 307
    functionName: hostapd_cli_exec
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_malloc
    - os_snprintf
    - os_exec
    - os_free
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_exec(const char *program, const char *arg1,\n\t\t\t
      \   const char *arg2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_strchr
      Src: /src/hostap/hostapd/hostapd_cli.c:316,1
    - Dst: hostapd_cli_exec
      Src: /src/hostap/hostapd/hostapd_cli.c:323,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - msg
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 324
    functionName: hostapd_cli_action_process
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - os_strchr
    - hostapd_cli_exec
    linkageType: ''
    returnType: void
    signature: void hostapd_cli_action_process(char *msg, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_cli_action_process
      Src: /src/hostap/hostapd/hostapd_cli.c:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 327
    functionDepth: 2
    functionLinenumber: 327
    functionLinenumberEnd: 330
    functionName: hostapd_cli_action_cb
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - hostapd_cli_action_process
    linkageType: ''
    returnType: void
    signature: void hostapd_cli_action_cb(char *msg, size_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:337,1
    - Dst: snprintf
      Src: /src/hostap/hostapd/hostapd_cli.c:342,1
    - Dst: snprintf
      Src: /src/hostap/hostapd/hostapd_cli.c:344,1
    - Dst: wpa_ctrl_command
      Src: /src/hostap/hostapd/hostapd_cli.c:345,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 346
    functionName: hostapd_cli_cmd_sta
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    - snprintf
    - printf
    linkageType: ''
    returnType: int
    signature: int hostapd_cli_cmd_sta(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_cmd_arg_num
      Src: /src/hostap/hostapd/hostapd_cli.c:351,1
    - Dst: cli_txt_list_array
      Src: /src/hostap/hostapd/hostapd_cli.c:356,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 361
    functionName: hostapd_complete_stations
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - cli_txt_list_array
    - get_cmd_arg_num
    linkageType: ''
    returnType: char
    signature: char ** hostapd_complete_stations(const char *str, int pos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:369,1
    - Dst: snprintf
      Src: /src/hostap/hostapd/hostapd_cli.c:373,1
    - Dst: wpa_ctrl_command
      Src: /src/hostap/hostapd/hostapd_cli.c:374,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 375
    functionName: hostapd_cli_cmd_new_sta
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    - snprintf
    - printf
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_new_sta(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \  char *argv[])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:383,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/hostapd_cli.c:388,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/hostapd_cli.c:391,1
    - Dst: wpa_ctrl_command
      Src: /src/hostap/hostapd/hostapd_cli.c:392,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 393
    functionName: hostapd_cli_cmd_deauthenticate
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - wpa_ctrl_command
    - printf
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_deauthenticate(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\t
      \ char *argv[])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:401,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/hostapd_cli.c:406,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/hostapd_cli.c:409,1
    - Dst: wpa_ctrl_command
      Src: /src/hostap/hostapd/hostapd_cli.c:410,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 411
    functionName: hostapd_cli_cmd_disassociate
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - wpa_ctrl_command
    - printf
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_disassociate(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\tchar
      *argv[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:421,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/hostapd_cli.c:424,1
    - Dst: wpa_ctrl_command
      Src: /src/hostap/hostapd/hostapd_cli.c:425,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 426
    functionName: hostapd_cli_cmd_signature
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - wpa_ctrl_command
    - printf
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_signature(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \    char *argv[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:435,1
    - Dst: snprintf
      Src: /src/hostap/hostapd/hostapd_cli.c:439,1
    - Dst: wpa_ctrl_command
      Src: /src/hostap/hostapd/hostapd_cli.c:440,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 441
    functionName: hostapd_cli_cmd_sa_query
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    - snprintf
    - printf
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_sa_query(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \   char *argv[])"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:450,1
    - Dst: snprintf
      Src: /src/hostap/hostapd/hostapd_cli.c:455,1
    - Dst: snprintf
      Src: /src/hostap/hostapd/hostapd_cli.c:458,1
    - Dst: snprintf
      Src: /src/hostap/hostapd/hostapd_cli.c:461,1
    - Dst: wpa_ctrl_command
      Src: /src/hostap/hostapd/hostapd_cli.c:462,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 463
    functionName: hostapd_cli_cmd_wps_pin
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    - snprintf
    - printf
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_wps_pin(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \  char *argv[])"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:473,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/hostapd_cli.c:479,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/hostapd_cli.c:482,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/hostapd_cli.c:484,1
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:485,1
    - Dst: wpa_ctrl_command
      Src: /src/hostap/hostapd/hostapd_cli.c:488,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 466
    functionDepth: 1
    functionLinenumber: 466
    functionLinenumberEnd: 489
    functionName: hostapd_cli_cmd_wps_check_pin
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - os_snprintf_error
    - wpa_ctrl_command
    - printf
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_wps_check_pin(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\t
      char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/hostapd/hostapd_cli.c:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 496
    functionName: hostapd_cli_cmd_wps_pbc
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_wps_pbc(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \  char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/hostapd/hostapd_cli.c:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 503
    functionName: hostapd_cli_cmd_wps_cancel
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_wps_cancel(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \     char *argv[])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:515,1
    - Dst: os_strlen
      Src: /src/hostap/hostapd/hostapd_cli.c:520,1
    - Dst: os_malloc
      Src: /src/hostap/hostapd/hostapd_cli.c:521,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/hostapd_cli.c:524,1
    - Dst: wpa_ctrl_command
      Src: /src/hostap/hostapd/hostapd_cli.c:526,1
    - Dst: os_free
      Src: /src/hostap/hostapd/hostapd_cli.c:527,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 530
    functionName: hostapd_cli_cmd_wps_nfc_tag_read
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_ctrl_command
    - os_malloc
    - printf
    - os_snprintf
    - os_free
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_wps_nfc_tag_read(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\t
      \   char *argv[])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:540,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/hostapd_cli.c:545,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/hostapd_cli.c:547,1
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:548,1
    - Dst: wpa_ctrl_command
      Src: /src/hostap/hostapd/hostapd_cli.c:551,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 533
    functionDepth: 1
    functionLinenumber: 533
    functionLinenumberEnd: 552
    functionName: hostapd_cli_cmd_wps_nfc_config_token
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - os_snprintf_error
    - wpa_ctrl_command
    - printf
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_wps_nfc_config_token(struct wpa_ctrl *ctrl,\n\t\t\t\t\t\tint
      argc, char *argv[])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:562,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/hostapd_cli.c:567,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/hostapd_cli.c:568,1
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:569,1
    - Dst: wpa_ctrl_command
      Src: /src/hostap/hostapd/hostapd_cli.c:572,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 555
    functionDepth: 1
    functionLinenumber: 555
    functionLinenumberEnd: 573
    functionName: hostapd_cli_cmd_wps_nfc_token
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - os_snprintf_error
    - wpa_ctrl_command
    - printf
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_wps_nfc_token(struct wpa_ctrl *ctrl,\n\t\t\t\t\t
      int argc, char *argv[])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:583,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/hostapd_cli.c:588,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/hostapd_cli.c:590,1
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:591,1
    - Dst: wpa_ctrl_command
      Src: /src/hostap/hostapd/hostapd_cli.c:594,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 576
    functionDepth: 1
    functionLinenumber: 576
    functionLinenumberEnd: 595
    functionName: hostapd_cli_cmd_nfc_get_handover_sel
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - os_snprintf_error
    - wpa_ctrl_command
    - printf
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_nfc_get_handover_sel(struct wpa_ctrl *ctrl,\n\t\t\t\t\t\tint
      argc, char *argv[])"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:605,1
    - Dst: snprintf
      Src: /src/hostap/hostapd/hostapd_cli.c:610,1
    - Dst: snprintf
      Src: /src/hostap/hostapd/hostapd_cli.c:613,1
    - Dst: snprintf
      Src: /src/hostap/hostapd/hostapd_cli.c:616,1
    - Dst: wpa_ctrl_command
      Src: /src/hostap/hostapd/hostapd_cli.c:617,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 618
    functionName: hostapd_cli_cmd_wps_ap_pin
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    - snprintf
    - printf
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_wps_ap_pin(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \     char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/hostapd/hostapd_cli.c:624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 625
    functionName: hostapd_cli_cmd_wps_get_status
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_wps_get_status(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\t
      \ char *argv[])"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:637,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/hostapd_cli.c:646,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/hostapd_cli.c:654,1
    - Dst: snprintf
      Src: /src/hostap/hostapd/hostapd_cli.c:660,1
    - Dst: snprintf
      Src: /src/hostap/hostapd/hostapd_cli.c:663,1
    - Dst: snprintf
      Src: /src/hostap/hostapd/hostapd_cli.c:666,1
    - Dst: wpa_ctrl_command
      Src: /src/hostap/hostapd/hostapd_cli.c:668,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 669
    functionName: hostapd_cli_cmd_wps_config
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - snprintf
    - wpa_ctrl_command
    - printf
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_wps_config(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \     char *argv[])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:680,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/hostapd_cli.c:685,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/hostapd_cli.c:687,1
    - Dst: wpa_ctrl_command
      Src: /src/hostap/hostapd/hostapd_cli.c:689,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 673
    functionDepth: 1
    functionLinenumber: 673
    functionLinenumberEnd: 690
    functionName: hostapd_cli_cmd_disassoc_imminent
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - os_snprintf_error
    - wpa_ctrl_command
    - printf
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_disassoc_imminent(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\t
      \    char *argv[])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:700,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/hostapd_cli.c:705,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/hostapd_cli.c:707,1
    - Dst: wpa_ctrl_command
      Src: /src/hostap/hostapd/hostapd_cli.c:709,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 693
    functionDepth: 1
    functionLinenumber: 693
    functionLinenumberEnd: 710
    functionName: hostapd_cli_cmd_ess_disassoc
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - os_snprintf_error
    - wpa_ctrl_command
    - printf
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_ess_disassoc(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\tchar
      *argv[])"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:720,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/hostapd_cli.c:724,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/hostapd_cli.c:725,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/hostapd_cli.c:731,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/hostapd_cli.c:732,1
    - Dst: wpa_ctrl_command
      Src: /src/hostap/hostapd/hostapd_cli.c:736,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 713
    functionDepth: 1
    functionLinenumber: 713
    functionLinenumberEnd: 737
    functionName: hostapd_cli_cmd_bss_tm_req
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - os_snprintf_error
    - wpa_ctrl_command
    - printf
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_bss_tm_req(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \     char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/hostapd/hostapd_cli.c:743,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 740
    functionDepth: 0
    functionLinenumber: 740
    functionLinenumberEnd: 744
    functionName: hostapd_cli_cmd_get_config
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_get_config(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \     char *argv[])"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:755,1
    - Dst: wpa_ctrl_request
      Src: /src/hostap/hostapd/hostapd_cli.c:759,1
    - Dst: strlen
      Src: /src/hostap/hostapd/hostapd_cli.c:759,1
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:762,1
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:765,1
    - Dst: memcmp
      Src: /src/hostap/hostapd/hostapd_cli.c:770,1
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:773,1
    - Dst: os_strlcpy
      Src: /src/hostap/hostapd/hostapd_cli.c:779,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 5
    argNames:
    - ctrl
    - cmd
    - addr
    - addr_len
    - print
    argTypes:
    - struct wpa_ctrl*
    - char*
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 747
    functionDepth: 1
    functionLinenumber: 747
    functionLinenumberEnd: 781
    functionName: wpa_ctrl_command_sta
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 3
    functionsReached:
    - os_strlcpy
    - wpa_ctrl_request
    - printf
    - memcmp
    - strlen
    linkageType: ''
    returnType: int
    signature: "int wpa_ctrl_command_sta(struct wpa_ctrl *ctrl, const char *cmd,\n\t\t\t\tchar
      *addr, size_t addr_len, int print)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command_sta
      Src: /src/hostap/hostapd/hostapd_cli.c:789,1
    - Dst: snprintf
      Src: /src/hostap/hostapd/hostapd_cli.c:792,1
    - Dst: wpa_ctrl_command_sta
      Src: /src/hostap/hostapd/hostapd_cli.c:793,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 796
    functionName: hostapd_cli_cmd_all_sta
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - snprintf
    - wpa_ctrl_command_sta
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_all_sta(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \  char *argv[])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command_sta
      Src: /src/hostap/hostapd/hostapd_cli.c:804,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/hostapd_cli.c:807,1
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:808,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/hostapd_cli.c:809,1
    - Dst: wpa_ctrl_command_sta
      Src: /src/hostap/hostapd/hostapd_cli.c:810,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 813
    functionName: hostapd_cli_cmd_list_sta
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - printf
    - os_strcmp
    - wpa_ctrl_command_sta
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_list_sta(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \   char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_help
      Src: /src/hostap/hostapd/hostapd_cli.c:818,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 820
    functionName: hostapd_cli_cmd_help
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - print_help
    linkageType: ''
    returnType: int
    signature: int hostapd_cli_cmd_help(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_cmd_arg_num
      Src: /src/hostap/hostapd/hostapd_cli.c:825,1
    - Dst: list_cmd_list
      Src: /src/hostap/hostapd/hostapd_cli.c:830,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 823
    functionDepth: 1
    functionLinenumber: 823
    functionLinenumberEnd: 835
    functionName: hostapd_cli_complete_help
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - list_cmd_list
    - get_cmd_arg_num
    linkageType: ''
    returnType: char
    signature: char ** hostapd_cli_complete_help(const char *str, int pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:841,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 843
    functionName: hostapd_cli_cmd_license
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_license(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \  char *argv[])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:853,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/hostapd_cli.c:859,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/hostapd_cli.c:860,1
    - Dst: wpa_ctrl_command
      Src: /src/hostap/hostapd/hostapd_cli.c:862,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 846
    functionDepth: 1
    functionLinenumber: 846
    functionLinenumberEnd: 863
    functionName: hostapd_cli_cmd_set_qos_map_set
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - os_snprintf_error
    - wpa_ctrl_command
    - printf
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_set_qos_map_set(struct wpa_ctrl *ctrl,\n\t\t\t\t\t
      \  int argc, char *argv[])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:873,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/hostapd_cli.c:878,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/hostapd_cli.c:879,1
    - Dst: wpa_ctrl_command
      Src: /src/hostap/hostapd/hostapd_cli.c:881,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 866
    functionDepth: 1
    functionLinenumber: 866
    functionLinenumberEnd: 882
    functionName: hostapd_cli_cmd_send_qos_map_conf
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - os_snprintf_error
    - wpa_ctrl_command
    - printf
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_send_qos_map_conf(struct wpa_ctrl *ctrl,\n\t\t\t\t\t
      \    int argc, char *argv[])"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:896,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/hostapd_cli.c:903,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/hostapd_cli.c:904,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/hostapd_cli.c:910,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/hostapd_cli.c:912,1
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:913,1
    - Dst: wpa_ctrl_command
      Src: /src/hostap/hostapd/hostapd_cli.c:919,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 887
    functionDepth: 1
    functionLinenumber: 887
    functionLinenumberEnd: 920
    functionName: hostapd_cli_cmd_set_dscp_policy
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - os_snprintf_error
    - wpa_ctrl_command
    - printf
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_set_dscp_policy(struct wpa_ctrl *ctrl,\n\t\t\t\t\t
      \  int argc, char *argv[])"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:932,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/hostapd_cli.c:937,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/hostapd_cli.c:938,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/hostapd_cli.c:943,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/hostapd_cli.c:945,1
    - Dst: wpa_ctrl_command
      Src: /src/hostap/hostapd/hostapd_cli.c:950,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 923
    functionDepth: 1
    functionLinenumber: 923
    functionLinenumberEnd: 951
    functionName: hostapd_cli_cmd_send_unsolicited_dscp_req
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - os_snprintf_error
    - wpa_ctrl_command
    - printf
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_send_unsolicited_dscp_req(struct wpa_ctrl *ctrl,\n\t\t\t\t\t\t
      \    int argc, char *argv[])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:963,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/hostapd_cli.c:968,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/hostapd_cli.c:970,1
    - Dst: wpa_ctrl_command
      Src: /src/hostap/hostapd/hostapd_cli.c:972,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 956
    functionDepth: 1
    functionLinenumber: 956
    functionLinenumberEnd: 973
    functionName: hostapd_cli_cmd_hs20_wnm_notif
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - os_snprintf_error
    - wpa_ctrl_command
    - printf
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_hs20_wnm_notif(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\t
      \ char *argv[])"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:983,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/hostapd_cli.c:988,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/hostapd_cli.c:992,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/hostapd_cli.c:995,1
    - Dst: wpa_ctrl_command
      Src: /src/hostap/hostapd/hostapd_cli.c:997,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 976
    functionDepth: 1
    functionLinenumber: 976
    functionLinenumberEnd: 998
    functionName: hostapd_cli_cmd_hs20_deauth_req
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - os_snprintf_error
    - wpa_ctrl_command
    - printf
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_hs20_deauth_req(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\t
      \  char *argv[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eloop_terminate
      Src: /src/hostap/hostapd/hostapd_cli.c:1005,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1007
      start: 1001
    functionDepth: 0
    functionLinenumber: 1001
    functionLinenumberEnd: 1007
    functionName: hostapd_cli_cmd_quit
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - eloop_terminate
    linkageType: ''
    returnType: int
    signature: int hostapd_cli_cmd_quit(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:1014,1
    - Dst: snprintf
      Src: /src/hostap/hostapd/hostapd_cli.c:1018,1
    - Dst: wpa_ctrl_command
      Src: /src/hostap/hostapd/hostapd_cli.c:1019,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1020
      start: 1010
    functionDepth: 0
    functionLinenumber: 1010
    functionLinenumberEnd: 1020
    functionName: hostapd_cli_cmd_level
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    - snprintf
    - printf
    linkageType: ''
    returnType: int
    signature: int hostapd_cli_cmd_level(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cli_txt_list_flush
      Src: /src/hostap/hostapd/hostapd_cli.c:1030,1
    - Dst: wpa_ctrl_command_sta
      Src: /src/hostap/hostapd/hostapd_cli.c:1032,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/hostapd_cli.c:1035,1
    - Dst: cli_txt_list_add
      Src: /src/hostap/hostapd/hostapd_cli.c:1036,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/hostapd_cli.c:1037,1
    - Dst: wpa_ctrl_command_sta
      Src: /src/hostap/hostapd/hostapd_cli.c:1038,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - struct wpa_ctrl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 1023
    functionDepth: 1
    functionLinenumber: 1023
    functionLinenumberEnd: 1039
    functionName: update_stations
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 4
    functionsReached:
    - cli_txt_list_flush
    - wpa_ctrl_command_sta
    - os_snprintf
    - cli_txt_list_add
    - os_strcmp
    linkageType: ''
    returnType: void
    signature: void update_stations(struct wpa_ctrl *ctrl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: opendir
      Src: /src/hostap/hostapd/hostapd_cli.c:1050,1
    - Dst: readdir
      Src: /src/hostap/hostapd/hostapd_cli.c:1054,1
    - Dst: strcmp
      Src: /src/hostap/hostapd/hostapd_cli.c:1055,1
    - Dst: strcmp
      Src: /src/hostap/hostapd/hostapd_cli.c:1056,1
    - Dst: cli_txt_list_add
      Src: /src/hostap/hostapd/hostapd_cli.c:1058,1
    - Dst: closedir
      Src: /src/hostap/hostapd/hostapd_cli.c:1060,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - ctrl
    - interfaces
    argTypes:
    - struct wpa_ctrl*
    - struct dl_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 1042
    functionDepth: 1
    functionLinenumber: 1042
    functionLinenumberEnd: 1061
    functionName: hostapd_cli_get_interfaces
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - closedir
    - opendir
    - cli_txt_list_add
    - readdir
    - strcmp
    linkageType: ''
    returnType: void
    signature: "void hostapd_cli_get_interfaces(struct wpa_ctrl *ctrl,\n\t\t\t\t       struct
      dl_list *interfaces)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: opendir
      Src: /src/hostap/hostapd/hostapd_cli.c:1069,1
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:1071,1
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:1076,1
    - Dst: readdir
      Src: /src/hostap/hostapd/hostapd_cli.c:1077,1
    - Dst: strcmp
      Src: /src/hostap/hostapd/hostapd_cli.c:1078,1
    - Dst: strcmp
      Src: /src/hostap/hostapd/hostapd_cli.c:1079,1
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:1081,1
    - Dst: closedir
      Src: /src/hostap/hostapd/hostapd_cli.c:1083,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - struct wpa_ctrl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1064
    functionDepth: 0
    functionLinenumber: 1064
    functionLinenumberEnd: 1084
    functionName: hostapd_cli_list_interfaces
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - closedir
    - printf
    - opendir
    - readdir
    - strcmp
    linkageType: ''
    returnType: void
    signature: void hostapd_cli_list_interfaces(struct wpa_ctrl *ctrl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_cli_list_interfaces
      Src: /src/hostap/hostapd/hostapd_cli.c:1091,1
    - Dst: hostapd_cli_reconnect
      Src: /src/hostap/hostapd/hostapd_cli.c:1094,1
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:1095,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1099
      start: 1087
    functionDepth: 4
    functionLinenumber: 1087
    functionLinenumberEnd: 1099
    functionName: hostapd_cli_cmd_interface
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - hostapd_cli_reconnect
    - hostapd_cli_list_interfaces
    - printf
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_interface(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \    char *argv[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_cmd_arg_num
      Src: /src/hostap/hostapd/hostapd_cli.c:1104,1
    - Dst: DEFINE_DL_LIST
      Src: /src/hostap/hostapd/hostapd_cli.c:1106,1
    - Dst: hostapd_cli_get_interfaces
      Src: /src/hostap/hostapd/hostapd_cli.c:1110,1
    - Dst: cli_txt_list_array
      Src: /src/hostap/hostapd/hostapd_cli.c:1111,1
    - Dst: cli_txt_list_flush
      Src: /src/hostap/hostapd/hostapd_cli.c:1112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1102
    functionDepth: 2
    functionLinenumber: 1102
    functionLinenumberEnd: 1117
    functionName: hostapd_complete_interface
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - cli_txt_list_flush
    - DEFINE_DL_LIST
    - cli_txt_list_array
    - hostapd_cli_get_interfaces
    - get_cmd_arg_num
    linkageType: ''
    returnType: char
    signature: char ** hostapd_complete_interface(const char *str, int pos)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:1126,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/hostapd_cli.c:1131,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/hostapd_cli.c:1132,1
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:1133,1
    - Dst: wpa_ctrl_command
      Src: /src/hostap/hostapd/hostapd_cli.c:1136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1120
    functionDepth: 1
    functionLinenumber: 1120
    functionLinenumberEnd: 1137
    functionName: hostapd_cli_cmd_set
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - os_snprintf_error
    - wpa_ctrl_command
    - printf
    linkageType: ''
    returnType: int
    signature: int hostapd_cli_cmd_set(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_cmd_arg_num
      Src: /src/hostap/hostapd/hostapd_cli.c:1142,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/hostapd/hostapd_cli.c:1159,1
    - Dst: os_calloc
      Src: /src/hostap/hostapd/hostapd_cli.c:1164,1
    - Dst: os_strdup
      Src: /src/hostap/hostapd/hostapd_cli.c:1168,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1175
      start: 1140
    functionDepth: 1
    functionLinenumber: 1140
    functionLinenumberEnd: 1175
    functionName: hostapd_complete_set
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - os_strdup
    - os_calloc
    - get_cmd_arg_num
    - ARRAY_SIZE
    linkageType: ''
    returnType: char
    signature: char ** hostapd_complete_set(const char *str, int pos)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:1184,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/hostapd_cli.c:1189,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/hostapd_cli.c:1190,1
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:1191,1
    - Dst: wpa_ctrl_command
      Src: /src/hostap/hostapd/hostapd_cli.c:1194,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1195
      start: 1178
    functionDepth: 1
    functionLinenumber: 1178
    functionLinenumberEnd: 1195
    functionName: hostapd_cli_cmd_get
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - os_snprintf_error
    - wpa_ctrl_command
    - printf
    linkageType: ''
    returnType: int
    signature: int hostapd_cli_cmd_get(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_cmd_arg_num
      Src: /src/hostap/hostapd/hostapd_cli.c:1200,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/hostapd/hostapd_cli.c:1204,1
    - Dst: os_calloc
      Src: /src/hostap/hostapd/hostapd_cli.c:1209,1
    - Dst: os_strdup
      Src: /src/hostap/hostapd/hostapd_cli.c:1213,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1220
      start: 1198
    functionDepth: 1
    functionLinenumber: 1198
    functionLinenumberEnd: 1220
    functionName: hostapd_complete_get
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - os_strdup
    - os_calloc
    - get_cmd_arg_num
    - ARRAY_SIZE
    linkageType: ''
    returnType: char
    signature: char ** hostapd_complete_get(const char *str, int pos)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:1232,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/hostapd_cli.c:1236,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/hostapd_cli.c:1239,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/hostapd_cli.c:1241,1
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:1242,1
    - Dst: wpa_ctrl_command
      Src: /src/hostap/hostapd/hostapd_cli.c:1247,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1248
      start: 1224
    functionDepth: 1
    functionLinenumber: 1224
    functionLinenumberEnd: 1248
    functionName: hostapd_cli_cmd_fst
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - os_snprintf_error
    - wpa_ctrl_command
    - printf
    linkageType: ''
    returnType: int
    signature: int hostapd_cli_cmd_fst(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_cli_cmd
      Src: /src/hostap/hostapd/hostapd_cli.c:1256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1253
    functionDepth: 2
    functionLinenumber: 1253
    functionLinenumberEnd: 1257
    functionName: hostapd_cli_cmd_color_change
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - hostapd_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_color_change(struct wpa_ctrl *ctrl,\n\t\t\t\t\tint
      argc, char *argv[])"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:1271,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/hostapd_cli.c:1279,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/hostapd_cli.c:1281,1
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:1282,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/hostapd_cli.c:1289,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/hostapd_cli.c:1290,1
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:1291,1
    - Dst: wpa_ctrl_command
      Src: /src/hostap/hostapd/hostapd_cli.c:1296,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1297
      start: 1261
    functionDepth: 1
    functionLinenumber: 1261
    functionLinenumberEnd: 1297
    functionName: hostapd_cli_cmd_chan_switch
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - os_snprintf_error
    - wpa_ctrl_command
    - printf
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_chan_switch(struct wpa_ctrl *ctrl,\n\t\t\t\t       int
      argc, char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_cli_cmd
      Src: /src/hostap/hostapd/hostapd_cli.c:1303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1304
      start: 1300
    functionDepth: 2
    functionLinenumber: 1300
    functionLinenumberEnd: 1304
    functionName: hostapd_cli_cmd_notify_cw_change
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - hostapd_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_notify_cw_change(struct wpa_ctrl *ctrl,\n\t\t\t\t\t
      \   int argc, char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_cli_cmd
      Src: /src/hostap/hostapd/hostapd_cli.c:1310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1311
      start: 1307
    functionDepth: 2
    functionLinenumber: 1307
    functionLinenumberEnd: 1311
    functionName: hostapd_cli_cmd_set_bw
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - hostapd_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_set_bw(struct wpa_ctrl *ctrl,\n\t\t\t\t  int argc,
      char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/hostapd/hostapd_cli.c:1317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1318
      start: 1314
    functionDepth: 0
    functionLinenumber: 1314
    functionLinenumberEnd: 1318
    functionName: hostapd_cli_cmd_enable
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_enable(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \ char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/hostapd/hostapd_cli.c:1324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1321
    functionDepth: 0
    functionLinenumber: 1321
    functionLinenumberEnd: 1325
    functionName: hostapd_cli_cmd_reload
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_reload(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \ char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/hostapd/hostapd_cli.c:1331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1332
      start: 1328
    functionDepth: 0
    functionLinenumber: 1328
    functionLinenumberEnd: 1332
    functionName: hostapd_cli_cmd_reload_bss
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_reload_bss(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \     char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/hostapd/hostapd_cli.c:1338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1339
      start: 1335
    functionDepth: 0
    functionLinenumber: 1335
    functionLinenumberEnd: 1339
    functionName: hostapd_cli_cmd_reload_config
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_reload_config(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\t
      char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/hostapd/hostapd_cli.c:1345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1346
      start: 1342
    functionDepth: 0
    functionLinenumber: 1342
    functionLinenumberEnd: 1346
    functionName: hostapd_cli_cmd_disable
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_disable(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \  char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/hostapd/hostapd_cli.c:1352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1353
      start: 1349
    functionDepth: 0
    functionLinenumber: 1349
    functionLinenumberEnd: 1353
    functionName: hostapd_cli_cmd_enable_mld
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_enable_mld(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \     char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/hostap/hostapd/hostapd_cli.c:1361,1
    - Dst: atoi
      Src: /src/hostap/hostapd/hostapd_cli.c:1361,1
    - Dst: snprintf
      Src: /src/hostap/hostapd/hostapd_cli.c:1364,1
    - Dst: wpa_ctrl_command
      Src: /src/hostap/hostapd/hostapd_cli.c:1366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1367
      start: 1358
    functionDepth: 0
    functionLinenumber: 1358
    functionLinenumberEnd: 1367
    functionName: hostapd_cli_cmd_remove_link
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - atoi
    - snprintf
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_remove_link(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \      char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_cli_cmd
      Src: /src/hostap/hostapd/hostapd_cli.c:1373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1374
      start: 1370
    functionDepth: 2
    functionLinenumber: 1370
    functionLinenumberEnd: 1374
    functionName: hostapd_cli_cmd_link_enable
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - hostapd_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_link_enable(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \   char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/hostapd/hostapd_cli.c:1382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1383
      start: 1379
    functionDepth: 0
    functionLinenumber: 1379
    functionLinenumberEnd: 1383
    functionName: hostapd_cli_cmd_disable_mld
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_disable_mld(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \      char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/hostapd/hostapd_cli.c:1389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1390
      start: 1386
    functionDepth: 0
    functionLinenumber: 1386
    functionLinenumberEnd: 1390
    functionName: hostapd_cli_cmd_update_beacon
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_update_beacon(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\t
      char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/hostapd/hostapd_cli.c:1396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1397
      start: 1393
    functionDepth: 0
    functionLinenumber: 1393
    functionLinenumberEnd: 1397
    functionName: hostapd_cli_cmd_stop_ap
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_stop_ap(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \  char *argv[])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:1406,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/hostapd_cli.c:1411,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/hostapd_cli.c:1414,1
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:1415,1
    - Dst: wpa_ctrl_command
      Src: /src/hostap/hostapd/hostapd_cli.c:1418,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1419
      start: 1400
    functionDepth: 1
    functionLinenumber: 1400
    functionLinenumberEnd: 1419
    functionName: hostapd_cli_cmd_vendor
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - os_snprintf_error
    - wpa_ctrl_command
    - printf
    linkageType: ''
    returnType: int
    signature: int hostapd_cli_cmd_vendor(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/hostapd/hostapd_cli.c:1425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1426
      start: 1422
    functionDepth: 0
    functionLinenumber: 1422
    functionLinenumberEnd: 1426
    functionName: hostapd_cli_cmd_erp_flush
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_erp_flush(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \    char *argv[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/hostapd_cli.c:1435,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/hostapd_cli.c:1440,1
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:1441,1
    - Dst: wpa_ctrl_command
      Src: /src/hostap/hostapd/hostapd_cli.c:1444,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1445
      start: 1429
    functionDepth: 1
    functionLinenumber: 1429
    functionLinenumberEnd: 1445
    functionName: hostapd_cli_cmd_log_level
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - printf
    - wpa_ctrl_command
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_log_level(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \    char *argv[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_cli_cmd
      Src: /src/hostap/hostapd/hostapd_cli.c:1452,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1453
      start: 1448
    functionDepth: 2
    functionLinenumber: 1448
    functionLinenumberEnd: 1453
    functionName: hostapd_cli_cmd_raw
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - hostapd_cli_cmd
    linkageType: ''
    returnType: int
    signature: int hostapd_cli_cmd_raw(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/hostapd/hostapd_cli.c:1458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1459
      start: 1456
    functionDepth: 0
    functionLinenumber: 1456
    functionLinenumberEnd: 1459
    functionName: hostapd_cli_cmd_pmksa
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: int hostapd_cli_cmd_pmksa(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/hostapd/hostapd_cli.c:1465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1466
      start: 1462
    functionDepth: 0
    functionLinenumber: 1462
    functionLinenumberEnd: 1466
    functionName: hostapd_cli_cmd_pmksa_flush
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_pmksa_flush(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \      char *argv[])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:1476,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/hostapd_cli.c:1480,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/hostapd_cli.c:1483,1
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:1484,1
    - Dst: wpa_ctrl_command
      Src: /src/hostap/hostapd/hostapd_cli.c:1487,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1488
      start: 1469
    functionDepth: 1
    functionLinenumber: 1469
    functionLinenumberEnd: 1488
    functionName: hostapd_cli_cmd_set_neighbor
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - os_snprintf_error
    - wpa_ctrl_command
    - printf
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_set_neighbor(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\tchar
      *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/hostapd/hostapd_cli.c:1494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1495
      start: 1491
    functionDepth: 0
    functionLinenumber: 1491
    functionLinenumberEnd: 1495
    functionName: hostapd_cli_cmd_show_neighbor
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_show_neighbor(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\t
      char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_cli_cmd
      Src: /src/hostap/hostapd/hostapd_cli.c:1501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1502
      start: 1498
    functionDepth: 2
    functionLinenumber: 1498
    functionLinenumberEnd: 1502
    functionName: hostapd_cli_cmd_remove_neighbor
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - hostapd_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_remove_neighbor(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\t
      \  char *argv[])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:1512,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/hostapd_cli.c:1516,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/hostapd_cli.c:1517,1
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:1518,1
    - Dst: wpa_ctrl_command
      Src: /src/hostap/hostapd/hostapd_cli.c:1521,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1522
      start: 1505
    functionDepth: 1
    functionLinenumber: 1505
    functionLinenumberEnd: 1522
    functionName: hostapd_cli_cmd_req_lci
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - os_snprintf_error
    - wpa_ctrl_command
    - printf
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_req_lci(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \  char *argv[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:1529,1
    - Dst: hostapd_cli_cmd
      Src: /src/hostap/hostapd/hostapd_cli.c:1533,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1534
      start: 1525
    functionDepth: 2
    functionLinenumber: 1525
    functionLinenumberEnd: 1534
    functionName: hostapd_cli_cmd_req_range
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - hostapd_cli_cmd
    - printf
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_req_range(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \    char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/hostapd/hostapd_cli.c:1540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1541
      start: 1537
    functionDepth: 0
    functionLinenumber: 1537
    functionLinenumberEnd: 1541
    functionName: hostapd_cli_cmd_driver_flags
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_driver_flags(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\tchar
      *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/hostapd/hostapd_cli.c:1547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1548
      start: 1544
    functionDepth: 0
    functionLinenumber: 1544
    functionLinenumberEnd: 1548
    functionName: hostapd_cli_cmd_driver_flags2
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_driver_flags2(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\t
      char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_cli_cmd
      Src: /src/hostap/hostapd/hostapd_cli.c:1556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1557
      start: 1553
    functionDepth: 2
    functionLinenumber: 1553
    functionLinenumberEnd: 1557
    functionName: hostapd_cli_cmd_dpp_qr_code
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - hostapd_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_dpp_qr_code(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \      char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_cli_cmd
      Src: /src/hostap/hostapd/hostapd_cli.c:1563,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1564
      start: 1560
    functionDepth: 2
    functionLinenumber: 1560
    functionLinenumberEnd: 1564
    functionName: hostapd_cli_cmd_dpp_bootstrap_gen
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - hostapd_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_dpp_bootstrap_gen(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\t
      \    char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_cli_cmd
      Src: /src/hostap/hostapd/hostapd_cli.c:1570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1571
      start: 1567
    functionDepth: 2
    functionLinenumber: 1567
    functionLinenumberEnd: 1571
    functionName: hostapd_cli_cmd_dpp_bootstrap_remove
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - hostapd_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_dpp_bootstrap_remove(struct wpa_ctrl *ctrl, int
      argc,\n\t\t\t\t\t\tchar *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_cli_cmd
      Src: /src/hostap/hostapd/hostapd_cli.c:1577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1578
      start: 1574
    functionDepth: 2
    functionLinenumber: 1574
    functionLinenumberEnd: 1578
    functionName: hostapd_cli_cmd_dpp_bootstrap_get_uri
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - hostapd_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_dpp_bootstrap_get_uri(struct wpa_ctrl *ctrl,\n\t\t\t\t\t\t
      int argc, char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_cli_cmd
      Src: /src/hostap/hostapd/hostapd_cli.c:1584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1585
      start: 1581
    functionDepth: 2
    functionLinenumber: 1581
    functionLinenumberEnd: 1585
    functionName: hostapd_cli_cmd_dpp_bootstrap_info
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - hostapd_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_dpp_bootstrap_info(struct wpa_ctrl *ctrl, int
      argc,\n\t\t\t\t\t      char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_cli_cmd
      Src: /src/hostap/hostapd/hostapd_cli.c:1591,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1592
      start: 1588
    functionDepth: 2
    functionLinenumber: 1588
    functionLinenumberEnd: 1592
    functionName: hostapd_cli_cmd_dpp_bootstrap_set
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - hostapd_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_dpp_bootstrap_set(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\t
      \    char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_cli_cmd
      Src: /src/hostap/hostapd/hostapd_cli.c:1598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1599
      start: 1595
    functionDepth: 2
    functionLinenumber: 1595
    functionLinenumberEnd: 1599
    functionName: hostapd_cli_cmd_dpp_auth_init
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - hostapd_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_dpp_auth_init(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\t
      char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_cli_cmd
      Src: /src/hostap/hostapd/hostapd_cli.c:1605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1606
      start: 1602
    functionDepth: 2
    functionLinenumber: 1602
    functionLinenumberEnd: 1606
    functionName: hostapd_cli_cmd_dpp_listen
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - hostapd_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_dpp_listen(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \     char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/hostapd/hostapd_cli.c:1612,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1613
      start: 1609
    functionDepth: 0
    functionLinenumber: 1609
    functionLinenumberEnd: 1613
    functionName: hostapd_cli_cmd_dpp_stop_listen
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_dpp_stop_listen(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \      char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_cli_cmd
      Src: /src/hostap/hostapd/hostapd_cli.c:1619,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1620
      start: 1616
    functionDepth: 2
    functionLinenumber: 1616
    functionLinenumberEnd: 1620
    functionName: hostapd_cli_cmd_dpp_configurator_add
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - hostapd_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_dpp_configurator_add(struct wpa_ctrl *ctrl, int
      argc,\n\t\t\t\t\t\tchar *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_cli_cmd
      Src: /src/hostap/hostapd/hostapd_cli.c:1626,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1627
      start: 1623
    functionDepth: 2
    functionLinenumber: 1623
    functionLinenumberEnd: 1627
    functionName: hostapd_cli_cmd_dpp_configurator_remove
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - hostapd_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_dpp_configurator_remove(struct wpa_ctrl *ctrl,\n\t\t\t\t\t\t
      \  int argc, char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_cli_cmd
      Src: /src/hostap/hostapd/hostapd_cli.c:1633,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1634
      start: 1630
    functionDepth: 2
    functionLinenumber: 1630
    functionLinenumberEnd: 1634
    functionName: hostapd_cli_cmd_dpp_configurator_get_key
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - hostapd_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_dpp_configurator_get_key(struct wpa_ctrl *ctrl,\n\t\t\t\t\t\t
      \   int argc, char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_cli_cmd
      Src: /src/hostap/hostapd/hostapd_cli.c:1640,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1641
      start: 1637
    functionDepth: 2
    functionLinenumber: 1637
    functionLinenumberEnd: 1641
    functionName: hostapd_cli_cmd_dpp_configurator_sign
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - hostapd_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_dpp_configurator_sign(struct wpa_ctrl *ctrl,\n\t\t\t\t\t\t
      int argc, char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_cli_cmd
      Src: /src/hostap/hostapd/hostapd_cli.c:1647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1648
      start: 1644
    functionDepth: 2
    functionLinenumber: 1644
    functionLinenumberEnd: 1648
    functionName: hostapd_cli_cmd_dpp_pkex_add
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - hostapd_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_dpp_pkex_add(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\tchar
      *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_cli_cmd
      Src: /src/hostap/hostapd/hostapd_cli.c:1654,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1655
      start: 1651
    functionDepth: 2
    functionLinenumber: 1651
    functionLinenumberEnd: 1655
    functionName: hostapd_cli_cmd_dpp_pkex_remove
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - hostapd_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_dpp_pkex_remove(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\t
      \  char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_cli_cmd
      Src: /src/hostap/hostapd/hostapd_cli.c:1663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1664
      start: 1660
    functionDepth: 2
    functionLinenumber: 1660
    functionLinenumberEnd: 1664
    functionName: hostapd_cli_cmd_dpp_controller_start
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - hostapd_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_dpp_controller_start(struct wpa_ctrl *ctrl, int
      argc,\n\t\t\t\t\t\tchar *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/hostapd/hostapd_cli.c:1670,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1671
      start: 1667
    functionDepth: 0
    functionLinenumber: 1667
    functionLinenumberEnd: 1671
    functionName: hostapd_cli_cmd_dpp_controller_stop
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_dpp_controller_stop(struct wpa_ctrl *ctrl, int
      argc,\n\t\t\t\t\t       char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_cli_cmd
      Src: /src/hostap/hostapd/hostapd_cli.c:1677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1678
      start: 1674
    functionDepth: 2
    functionLinenumber: 1674
    functionLinenumberEnd: 1678
    functionName: hostapd_cli_cmd_dpp_chirp
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - hostapd_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_dpp_chirp(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \    char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/hostapd/hostapd_cli.c:1684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1685
      start: 1681
    functionDepth: 0
    functionLinenumber: 1681
    functionLinenumberEnd: 1685
    functionName: hostapd_cli_cmd_dpp_stop_chirp
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_dpp_stop_chirp(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\t
      \ char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_cli_cmd
      Src: /src/hostap/hostapd/hostapd_cli.c:1694,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1695
      start: 1691
    functionDepth: 2
    functionLinenumber: 1691
    functionLinenumberEnd: 1695
    functionName: hostapd_cli_cmd_dpp_push_button
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - hostapd_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_dpp_push_button(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\t
      \  char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_cli_cmd
      Src: /src/hostap/hostapd/hostapd_cli.c:1703,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1704
      start: 1700
    functionDepth: 2
    functionLinenumber: 1700
    functionLinenumberEnd: 1704
    functionName: hostapd_cli_cmd_accept_macacl
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - hostapd_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_accept_macacl(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\t
      char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_cli_cmd
      Src: /src/hostap/hostapd/hostapd_cli.c:1710,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1711
      start: 1707
    functionDepth: 2
    functionLinenumber: 1707
    functionLinenumberEnd: 1711
    functionName: hostapd_cli_cmd_deny_macacl
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - hostapd_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_deny_macacl(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \      char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_cli_cmd
      Src: /src/hostap/hostapd/hostapd_cli.c:1717,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1718
      start: 1714
    functionDepth: 2
    functionLinenumber: 1714
    functionLinenumberEnd: 1718
    functionName: hostapd_cli_cmd_poll_sta
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - hostapd_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_poll_sta(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \   char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_cli_cmd
      Src: /src/hostap/hostapd/hostapd_cli.c:1724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1725
      start: 1721
    functionDepth: 2
    functionLinenumber: 1721
    functionLinenumberEnd: 1725
    functionName: hostapd_cli_cmd_req_beacon
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - hostapd_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_req_beacon(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \     char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_cli_cmd
      Src: /src/hostap/hostapd/hostapd_cli.c:1731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1732
      start: 1728
    functionDepth: 2
    functionLinenumber: 1728
    functionLinenumberEnd: 1732
    functionName: hostapd_cli_cmd_req_link_measurement
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - hostapd_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_req_link_measurement(struct wpa_ctrl *ctrl, int
      argc,\n\t\t\t\t\t\tchar *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/hostapd/hostapd_cli.c:1738,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1739
      start: 1735
    functionDepth: 0
    functionLinenumber: 1735
    functionLinenumberEnd: 1739
    functionName: hostapd_cli_cmd_reload_wpa_psk
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_reload_wpa_psk(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\t
      \ char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/hostapd/hostapd_cli.c:1747,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1748
      start: 1744
    functionDepth: 0
    functionLinenumber: 1744
    functionLinenumberEnd: 1748
    functionName: hostapd_cli_cmd_get_rxkhs
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_get_rxkhs(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t
      \    char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_command
      Src: /src/hostap/hostapd/hostapd_cli.c:1754,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1755
      start: 1751
    functionDepth: 0
    functionLinenumber: 1751
    functionLinenumberEnd: 1755
    functionName: hostapd_cli_cmd_reload_rxkhs
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_command
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_reload_rxkhs(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\tchar
      *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_cli_cmd
      Src: /src/hostap/hostapd/hostapd_cli.c:1763,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1764
      start: 1761
    functionDepth: 2
    functionLinenumber: 1761
    functionLinenumberEnd: 1764
    functionName: hostapd_cli_cmd_driver
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - hostapd_cli_cmd
    linkageType: ''
    returnType: int
    signature: int hostapd_cli_cmd_driver(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_cli_cmd
      Src: /src/hostap/hostapd/hostapd_cli.c:1773,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1774
      start: 1770
    functionDepth: 2
    functionLinenumber: 1770
    functionLinenumberEnd: 1774
    functionName: hostapd_cli_cmd_afc_get_request
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - hostapd_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_afc_get_request(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\t
      \  char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_cli_cmd
      Src: /src/hostap/hostapd/hostapd_cli.c:1780,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1781
      start: 1777
    functionDepth: 2
    functionLinenumber: 1777
    functionLinenumberEnd: 1781
    functionName: hostapd_cli_cmd_afc_get_response
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - hostapd_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_afc_get_response(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\t
      \   char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_cli_cmd
      Src: /src/hostap/hostapd/hostapd_cli.c:1787,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1788
      start: 1784
    functionDepth: 2
    functionLinenumber: 1784
    functionLinenumberEnd: 1788
    functionName: hostapd_cli_cmd_afc_send_request
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - hostapd_cli_cmd
    linkageType: ''
    returnType: int
    signature: "int hostapd_cli_cmd_afc_send_request(struct wpa_ctrl *ctrl, int argc,\n\t\t\t\t\t
      \   char *argv[])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/hostap/hostapd/hostapd_cli.c:2064,1
    - Dst: fprintf
      Src: /src/hostap/hostapd/hostapd_cli.c:2066,1
    - Dst: fprintf
      Src: /src/hostap/hostapd/hostapd_cli.c:2068,1
    - Dst: fprintf
      Src: /src/hostap/hostapd/hostapd_cli.c:2070,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - stream
    - cmd
    - pad
    argTypes:
    - FILE*
    - struct hostapd_cli_cmd*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2071
      start: 2056
    functionDepth: 0
    functionLinenumber: 2056
    functionLinenumberEnd: 2071
    functionName: print_cmd_help
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void print_cmd_help(FILE *stream, const struct hostapd_cli_cmd *cmd,\n\t\t\t
      \  const char *pad)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/hostap/hostapd/hostapd_cli.c:2078,1
    - Dst: str_starts
      Src: /src/hostap/hostapd/hostapd_cli.c:2080,1
    - Dst: print_cmd_help
      Src: /src/hostap/hostapd/hostapd_cli.c:2081,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - stream
    - cmd
    argTypes:
    - FILE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2083
      start: 2074
    functionDepth: 1
    functionLinenumber: 2074
    functionLinenumberEnd: 2083
    functionName: print_help
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 4
    functionsReached:
    - fprintf
    - str_starts
    - print_cmd_help
    linkageType: ''
    returnType: void
    signature: void print_help(FILE *stream, const char *cmd)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/hostap/hostapd/hostapd_cli.c:2094,1
    - Dst: strlen
      Src: /src/hostap/hostapd/hostapd_cli.c:2094,1
    - Dst: os_strcasecmp
      Src: /src/hostap/hostapd/hostapd_cli.c:2096,1
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:2107,1
    - Dst: strncasecmp
      Src: /src/hostap/hostapd/hostapd_cli.c:2110,1
    - Dst: strlen
      Src: /src/hostap/hostapd/hostapd_cli.c:2110,1
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:2112,1
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:2116,1
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:2118,1
    - Dst: handler
      Src: /src/hostap/hostapd/hostapd_cli.c:2120,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 3
    argNames:
    - ctrl
    - argc
    - argv
    argTypes:
    - struct wpa_ctrl*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2122
      start: 2086
    functionDepth: 0
    functionLinenumber: 2086
    functionLinenumberEnd: 2122
    functionName: wpa_request
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 2
    functionsReached:
    - strncasecmp
    - printf
    - os_strcasecmp
    - handler
    - strlen
    linkageType: ''
    returnType: void
    signature: void wpa_request(struct wpa_ctrl *ctrl, int argc, char *argv[])
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_strchr
      Src: /src/hostap/hostapd/hostapd_cli.c:2129,1
    - Dst: str_starts
      Src: /src/hostap/hostapd/hostapd_cli.c:2135,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/hostapd_cli.c:2136,1
    - Dst: cli_txt_list_add
      Src: /src/hostap/hostapd/hostapd_cli.c:2139,1
    - Dst: str_starts
      Src: /src/hostap/hostapd/hostapd_cli.c:2143,1
    - Dst: os_strchr
      Src: /src/hostap/hostapd/hostapd_cli.c:2144,1
    - Dst: cli_txt_list_del_addr
      Src: /src/hostap/hostapd/hostapd_cli.c:2147,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2150
      start: 2125
    functionDepth: 1
    functionLinenumber: 2125
    functionLinenumberEnd: 2150
    functionName: cli_event
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 2
    functionsReached:
    - os_strchr
    - str_starts
    - cli_txt_list_del_addr
    - cli_txt_list_add
    linkageType: ''
    returnType: void
    signature: void cli_event(const char *str)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_pending
      Src: /src/hostap/hostapd/hostapd_cli.c:2159,1
    - Dst: wpa_ctrl_recv
      Src: /src/hostap/hostapd/hostapd_cli.c:2162,1
    - Dst: hostapd_cli_action_process
      Src: /src/hostap/hostapd/hostapd_cli.c:2165,1
    - Dst: cli_event
      Src: /src/hostap/hostapd/hostapd_cli.c:2167,1
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:2169,1
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:2171,1
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:2174,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - ctrl
    - in_read
    - action_monitor
    argTypes:
    - struct wpa_ctrl*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2178
      start: 2153
    functionDepth: 2
    functionLinenumber: 2153
    functionLinenumberEnd: 2178
    functionName: hostapd_cli_recv_pending
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_pending
    - printf
    - hostapd_cli_action_process
    - wpa_ctrl_recv
    - cli_event
    linkageType: ''
    returnType: void
    signature: "void hostapd_cli_recv_pending(struct wpa_ctrl *ctrl, int in_read,\n\t\t\t\t
      \    int action_monitor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_cli_recv_pending
      Src: /src/hostap/hostapd/hostapd_cli.c:2183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sock
    - eloop_ctx
    - sock_ctx
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2184
      start: 2181
    functionDepth: 3
    functionLinenumber: 2181
    functionLinenumberEnd: 2184
    functionName: hostapd_cli_receive
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - hostapd_cli_recv_pending
    linkageType: ''
    returnType: void
    signature: void hostapd_cli_receive(int sock, void *eloop_ctx, void *sock_ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _wpa_ctrl_command
      Src: /src/hostap/hostapd/hostapd_cli.c:2189,1
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:2190,1
    - Dst: hostapd_cli_close_connection
      Src: /src/hostap/hostapd/hostapd_cli.c:2191,1
    - Dst: hostapd_cli_reconnect
      Src: /src/hostap/hostapd/hostapd_cli.c:2193,1
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:2194,1
    - Dst: hostapd_cli_recv_pending
      Src: /src/hostap/hostapd/hostapd_cli.c:2196,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/hostapd/hostapd_cli.c:2197,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2198
      start: 2187
    functionDepth: 4
    functionLinenumber: 2187
    functionLinenumberEnd: 2198
    functionName: hostapd_cli_ping
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - _wpa_ctrl_command
    - printf
    - hostapd_cli_reconnect
    - eloop_register_timeout
    - hostapd_cli_recv_pending
    - hostapd_cli_close_connection
    linkageType: ''
    returnType: void
    signature: void hostapd_cli_ping(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eloop_terminate
      Src: /src/hostap/hostapd/hostapd_cli.c:2203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sig
    - signal_ctx
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2204
      start: 2201
    functionDepth: 0
    functionLinenumber: 2201
    functionLinenumberEnd: 2204
    functionName: hostapd_cli_eloop_terminate
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - eloop_terminate
    linkageType: ''
    returnType: void
    signature: void hostapd_cli_eloop_terminate(int sig, void *signal_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tokenize_cmd
      Src: /src/hostap/hostapd/hostapd_cli.c:2211,1
    - Dst: wpa_request
      Src: /src/hostap/hostapd/hostapd_cli.c:2213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - cmd
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2214
      start: 2207
    functionDepth: 1
    functionLinenumber: 2207
    functionLinenumberEnd: 2214
    functionName: hostapd_cli_edit_cmd_cb
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - wpa_request
    - tokenize_cmd
    linkageType: ''
    returnType: void
    signature: void hostapd_cli_edit_cmd_cb(void *ctx, char *cmd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eloop_terminate
      Src: /src/hostap/hostapd/hostapd_cli.c:2219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2220
      start: 2217
    functionDepth: 0
    functionLinenumber: 2217
    functionLinenumberEnd: 2220
    functionName: hostapd_cli_edit_eof_cb
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - eloop_terminate
    linkageType: ''
    returnType: void
    signature: void hostapd_cli_edit_eof_cb(void *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/hostap/hostapd/hostapd_cli.c:2228,1
    - Dst: os_calloc
      Src: /src/hostap/hostapd/hostapd_cli.c:2229,1
    - Dst: os_strdup
      Src: /src/hostap/hostapd/hostapd_cli.c:2234,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2240
      start: 2223
    functionDepth: 1
    functionLinenumber: 2223
    functionLinenumberEnd: 2240
    functionName: list_cmd_list
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 3
    functionsReached:
    - os_strdup
    - os_calloc
    - ARRAY_SIZE
    linkageType: ''
    returnType: char
    signature: char ** list_cmd_list(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_strcasecmp
      Src: /src/hostap/hostapd/hostapd_cli.c:2249,1
    - Dst: completion
      Src: /src/hostap/hostapd/hostapd_cli.c:2252,1
    - Dst: edit_clear_line
      Src: /src/hostap/hostapd/hostapd_cli.c:2255,1
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:2256,1
    - Dst: edit_redraw
      Src: /src/hostap/hostapd/hostapd_cli.c:2257,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2262
      start: 2243
    functionDepth: 0
    functionLinenumber: 2243
    functionLinenumberEnd: 2262
    functionName: hostapd_cli_cmd_completion
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - completion
    - edit_clear_line
    - printf
    - edit_redraw
    - os_strcasecmp
    linkageType: ''
    returnType: char
    signature: "char ** hostapd_cli_cmd_completion(const char *cmd, const char *str,\n\t\t\t\t
      \     int pos)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_strchr
      Src: /src/hostap/hostapd/hostapd_cli.c:2272,1
    - Dst: list_cmd_list
      Src: /src/hostap/hostapd/hostapd_cli.c:2274,1
    - Dst: os_malloc
      Src: /src/hostap/hostapd/hostapd_cli.c:2276,1
    - Dst: os_memcpy
      Src: /src/hostap/hostapd/hostapd_cli.c:2279,1
    - Dst: hostapd_cli_cmd_completion
      Src: /src/hostap/hostapd/hostapd_cli.c:2281,1
    - Dst: os_free
      Src: /src/hostap/hostapd/hostapd_cli.c:2282,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2284
      start: 2265
    functionDepth: 2
    functionLinenumber: 2265
    functionLinenumberEnd: 2284
    functionName: hostapd_cli_edit_completion_cb
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - hostapd_cli_cmd_completion
    - os_memcpy
    - list_cmd_list
    - os_malloc
    - os_free
    - os_strchr
    linkageType: ''
    returnType: char
    signature: "char ** hostapd_cli_edit_completion_cb(void *ctx, const char *str,\n\t\t\t\t\t
      \     int pos)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:2292,1
    - Dst: getenv
      Src: /src/hostap/hostapd/hostapd_cli.c:2297,1
    - Dst: os_strlen
      Src: /src/hostap/hostapd/hostapd_cli.c:2301,1
    - Dst: os_strlen
      Src: /src/hostap/hostapd/hostapd_cli.c:2301,1
    - Dst: os_malloc
      Src: /src/hostap/hostapd/hostapd_cli.c:2302,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/hostapd_cli.c:2304,1
    - Dst: edit_init
      Src: /src/hostap/hostapd/hostapd_cli.c:2307,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/hostapd/hostapd_cli.c:2309,1
    - Dst: eloop_run
      Src: /src/hostap/hostapd/hostapd_cli.c:2311,1
    - Dst: cli_txt_list_flush
      Src: /src/hostap/hostapd/hostapd_cli.c:2313,1
    - Dst: edit_deinit
      Src: /src/hostap/hostapd/hostapd_cli.c:2314,1
    - Dst: os_free
      Src: /src/hostap/hostapd/hostapd_cli.c:2315,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/hostapd/hostapd_cli.c:2316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2317
      start: 2287
    functionDepth: 1
    functionLinenumber: 2287
    functionLinenumberEnd: 2317
    functionName: hostapd_cli_interactive
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - cli_txt_list_flush
    - edit_deinit
    - eloop_cancel_timeout
    - edit_init
    - getenv
    - os_malloc
    - printf
    - os_snprintf
    - eloop_register_timeout
    - os_free
    - eloop_run
    linkageType: ''
    returnType: void
    signature: void hostapd_cli_interactive(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_cli_close_connection
      Src: /src/hostap/hostapd/hostapd_cli.c:2322,1
    - Dst: os_daemonize_terminate
      Src: /src/hostap/hostapd/hostapd_cli.c:2324,1
    - Dst: os_program_deinit
      Src: /src/hostap/hostapd/hostapd_cli.c:2326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2327
      start: 2320
    functionDepth: 3
    functionLinenumber: 2320
    functionLinenumberEnd: 2327
    functionName: hostapd_cli_cleanup
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - os_daemonize_terminate
    - os_program_deinit
    - hostapd_cli_close_connection
    linkageType: ''
    returnType: void
    signature: void hostapd_cli_cleanup(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_request
      Src: /src/hostap/hostapd/hostapd_cli.c:2338,1
    - Dst: os_memcmp
      Src: /src/hostap/hostapd/hostapd_cli.c:2340,1
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:2341,1
    - Dst: hostapd_cli_close_connection
      Src: /src/hostap/hostapd/hostapd_cli.c:2342,1
    - Dst: hostapd_cli_reconnect
      Src: /src/hostap/hostapd/hostapd_cli.c:2343,1
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:2344,1
    - Dst: eloop_terminate
      Src: /src/hostap/hostapd/hostapd_cli.c:2345,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/hostapd/hostapd_cli.c:2349,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2351
      start: 2330
    functionDepth: 4
    functionLinenumber: 2330
    functionLinenumberEnd: 2351
    functionName: hostapd_cli_action_ping
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_request
    - printf
    - hostapd_cli_reconnect
    - os_memcmp
    - eloop_register_timeout
    - eloop_terminate
    - hostapd_cli_close_connection
    linkageType: ''
    returnType: void
    signature: void hostapd_cli_action_ping(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_cli_recv_pending
      Src: /src/hostap/hostapd/hostapd_cli.c:2359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sock
    - eloop_ctx
    - sock_ctx
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2360
      start: 2354
    functionDepth: 3
    functionLinenumber: 2354
    functionLinenumberEnd: 2360
    functionName: hostapd_cli_action_receive
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - hostapd_cli_recv_pending
    linkageType: ''
    returnType: void
    signature: "void hostapd_cli_action_receive(int sock, void *eloop_ctx,\n\t\t\t\t
      \      void *sock_ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_get_fd
      Src: /src/hostap/hostapd/hostapd_cli.c:2367,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/hostapd/hostapd_cli.c:2368,1
    - Dst: eloop_register_read_sock
      Src: /src/hostap/hostapd/hostapd_cli.c:2370,1
    - Dst: eloop_run
      Src: /src/hostap/hostapd/hostapd_cli.c:2371,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/hostapd/hostapd_cli.c:2372,1
    - Dst: eloop_unregister_read_sock
      Src: /src/hostap/hostapd/hostapd_cli.c:2373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - struct wpa_ctrl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2374
      start: 2363
    functionDepth: 1
    functionLinenumber: 2363
    functionLinenumberEnd: 2374
    functionName: hostapd_cli_action
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 0
    functionsReached:
    - eloop_unregister_read_sock
    - eloop_register_read_sock
    - eloop_cancel_timeout
    - eloop_register_timeout
    - wpa_ctrl_get_fd
    - eloop_run
    linkageType: ''
    returnType: void
    signature: void hostapd_cli_action(struct wpa_ctrl *ctrl)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: os_program_init
      Src: /src/hostap/hostapd/hostapd_cli.c:2387,1
    - Dst: getopt
      Src: /src/hostap/hostapd/hostapd_cli.c:2391,1
    - Dst: atoi
      Src: /src/hostap/hostapd/hostapd_cli.c:2402,1
    - Dst: usage
      Src: /src/hostap/hostapd/hostapd_cli.c:2405,1
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:2408,1
    - Dst: os_free
      Src: /src/hostap/hostapd/hostapd_cli.c:2411,1
    - Dst: os_strdup
      Src: /src/hostap/hostapd/hostapd_cli.c:2412,1
    - Dst: atoi
      Src: /src/hostap/hostapd/hostapd_cli.c:2428,1
    - Dst: usage
      Src: /src/hostap/hostapd/hostapd_cli.c:2432,1
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:2440,1
    - Dst: eloop_init
      Src: /src/hostap/hostapd/hostapd_cli.c:2443,1
    - Dst: opendir
      Src: /src/hostap/hostapd/hostapd_cli.c:2449,1
    - Dst: readdir
      Src: /src/hostap/hostapd/hostapd_cli.c:2451,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/hostapd_cli.c:2452,1
    - Dst: os_strcmp
      Src: /src/hostap/hostapd/hostapd_cli.c:2454,1
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:2456,1
    - Dst: os_strdup
      Src: /src/hostap/hostapd/hostapd_cli.c:2458,1
    - Dst: closedir
      Src: /src/hostap/hostapd/hostapd_cli.c:2461,1
    - Dst: os_snprintf
      Src: /src/hostap/hostapd/hostapd_cli.c:2470,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hostapd/hostapd_cli.c:2473,1
    - Dst: os_free
      Src: /src/hostap/hostapd/hostapd_cli.c:2476,1
    - Dst: os_strdup
      Src: /src/hostap/hostapd/hostapd_cli.c:2477,1
    - Dst: hostapd_cli_reconnect
      Src: /src/hostap/hostapd/hostapd_cli.c:2482,1
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:2485,1
    - Dst: perror
      Src: /src/hostap/hostapd/hostapd_cli.c:2489,1
    - Dst: printf
      Src: /src/hostap/hostapd/hostapd_cli.c:2495,1
    - Dst: os_sleep
      Src: /src/hostap/hostapd/hostapd_cli.c:2498,1
    - Dst: eloop_register_signal_terminate
      Src: /src/hostap/hostapd/hostapd_cli.c:2502,1
    - Dst: os_daemonize
      Src: /src/hostap/hostapd/hostapd_cli.c:2506,1
    - Dst: eloop_sock_requeue
      Src: /src/hostap/hostapd/hostapd_cli.c:2506,1
    - Dst: hostapd_cli_action
      Src: /src/hostap/hostapd/hostapd_cli.c:2511,1
    - Dst: os_sleep
      Src: /src/hostap/hostapd/hostapd_cli.c:2512,1
    - Dst: hostapd_cli_reconnect
      Src: /src/hostap/hostapd/hostapd_cli.c:2513,1
    - Dst: hostapd_cli_interactive
      Src: /src/hostap/hostapd/hostapd_cli.c:2516,1
    - Dst: hostapd_cli_action
      Src: /src/hostap/hostapd/hostapd_cli.c:2518,1
    - Dst: wpa_request
      Src: /src/hostap/hostapd/hostapd_cli.c:2520,1
    - Dst: unregister_event_handler
      Src: /src/hostap/hostapd/hostapd_cli.c:2522,1
    - Dst: os_free
      Src: /src/hostap/hostapd/hostapd_cli.c:2523,1
    - Dst: eloop_destroy
      Src: /src/hostap/hostapd/hostapd_cli.c:2524,1
    - Dst: hostapd_cli_cleanup
      Src: /src/hostap/hostapd/hostapd_cli.c:2525,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 114
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2527
      start: 2377
    functionDepth: 4
    functionLinenumber: 2377
    functionLinenumberEnd: 2527
    functionName: main
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 1
    functionsReached:
    - closedir
    - os_program_init
    - os_sleep
    - hostapd_cli_cleanup
    - perror
    - os_snprintf
    - opendir
    - atoi
    - readdir
    - getopt
    - os_free
    - eloop_destroy
    - os_strcmp
    - usage
    - printf
    - unregister_event_handler
    - hostapd_cli_reconnect
    - hostapd_cli_action
    - os_strdup
    - hostapd_cli_interactive
    - wpa_request
    - eloop_sock_requeue
    - eloop_register_signal_terminate
    - eloop_init
    - os_daemonize
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2534
      start: 2531
    functionDepth: 0
    functionLinenumber: 2531
    functionLinenumberEnd: 2534
    functionName: main
    functionSourceFile: /src/hostap/hostapd/hostapd_cli.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/hostapd/hapd_module_tests.c:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 18
    functionName: hapd_module_tests
    functionSourceFile: /src/hostap/hostapd/hapd_module_tests.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int hapd_module_tests(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fgets
      Src: /src/hostap/hostapd/nt_password_hash.c:24,1
    - Dst: printf
      Src: /src/hostap/hostapd/nt_password_hash.c:25,1
    - Dst: nt_password_hash
      Src: /src/hostap/hostapd/nt_password_hash.c:40,1
    - Dst: strlen
      Src: /src/hostap/hostapd/nt_password_hash.c:40,1
    - Dst: printf
      Src: /src/hostap/hostapd/nt_password_hash.c:43,1
    - Dst: printf
      Src: /src/hostap/hostapd/nt_password_hash.c:44,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 47
    functionName: main
    functionSourceFile: /src/hostap/hostapd/nt_password_hash.c
    functionUses: 1
    functionsReached:
    - nt_password_hash
    - printf
    - strlen
    - fgets
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: eap_server_identity_register
      Src: /src/hostap/hostapd/eap_register.c:29,1
    - Dst: eap_server_md5_register
      Src: /src/hostap/hostapd/eap_register.c:34,1
    - Dst: eap_server_tls_register
      Src: /src/hostap/hostapd/eap_register.c:39,1
    - Dst: eap_server_unauth_tls_register
      Src: /src/hostap/hostapd/eap_register.c:44,1
    - Dst: eap_server_mschapv2_register
      Src: /src/hostap/hostapd/eap_register.c:49,1
    - Dst: eap_server_peap_register
      Src: /src/hostap/hostapd/eap_register.c:54,1
    - Dst: eap_server_tlv_register
      Src: /src/hostap/hostapd/eap_register.c:59,1
    - Dst: eap_server_gtc_register
      Src: /src/hostap/hostapd/eap_register.c:64,1
    - Dst: eap_server_ttls_register
      Src: /src/hostap/hostapd/eap_register.c:69,1
    - Dst: eap_server_sim_register
      Src: /src/hostap/hostapd/eap_register.c:74,1
    - Dst: eap_server_aka_register
      Src: /src/hostap/hostapd/eap_register.c:79,1
    - Dst: eap_server_aka_prime_register
      Src: /src/hostap/hostapd/eap_register.c:84,1
    - Dst: eap_server_pax_register
      Src: /src/hostap/hostapd/eap_register.c:89,1
    - Dst: eap_server_psk_register
      Src: /src/hostap/hostapd/eap_register.c:94,1
    - Dst: eap_server_sake_register
      Src: /src/hostap/hostapd/eap_register.c:99,1
    - Dst: eap_server_gpsk_register
      Src: /src/hostap/hostapd/eap_register.c:104,1
    - Dst: eap_server_vendor_test_register
      Src: /src/hostap/hostapd/eap_register.c:109,1
    - Dst: eap_server_fast_register
      Src: /src/hostap/hostapd/eap_register.c:114,1
    - Dst: eap_server_teap_register
      Src: /src/hostap/hostapd/eap_register.c:119,1
    - Dst: eap_server_wsc_register
      Src: /src/hostap/hostapd/eap_register.c:124,1
    - Dst: eap_server_ikev2_register
      Src: /src/hostap/hostapd/eap_register.c:129,1
    - Dst: eap_server_tnc_register
      Src: /src/hostap/hostapd/eap_register.c:134,1
    - Dst: eap_server_pwd_register
      Src: /src/hostap/hostapd/eap_register.c:139,1
    - Dst: eap_server_eke_register
      Src: /src/hostap/hostapd/eap_register.c:144,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 148
    functionName: eap_server_register_methods
    functionSourceFile: /src/hostap/hostapd/eap_register.c
    functionUses: 1
    functionsReached:
    - eap_server_psk_register
    - eap_server_gpsk_register
    - eap_server_tnc_register
    - eap_server_pax_register
    - eap_server_pwd_register
    - eap_server_ttls_register
    - eap_server_gtc_register
    - eap_server_teap_register
    - eap_server_aka_prime_register
    - eap_server_sim_register
    - eap_server_aka_register
    - eap_server_eke_register
    - eap_server_ikev2_register
    - eap_server_tls_register
    - eap_server_tlv_register
    - eap_server_peap_register
    - eap_server_sake_register
    - eap_server_identity_register
    - eap_server_fast_register
    - eap_server_wsc_register
    - eap_server_mschapv2_register
    - eap_server_unauth_tls_register
    - eap_server_vendor_test_register
    - eap_server_md5_register
    linkageType: ''
    returnType: int
    signature: int eap_server_register_methods(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 23
    functionName: hostapd_ctrl_iface_init
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int hostapd_ctrl_iface_init(struct hostapd_data *hapd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: hostapd_ctrl_iface_deinit
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void hostapd_ctrl_iface_deinit(struct hostapd_data *hapd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - interface
    argTypes:
    - struct hapd_interfaces*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: hostapd_global_ctrl_iface_init
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int hostapd_global_ctrl_iface_init(struct hapd_interfaces *interface)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - interface
    argTypes:
    - struct hapd_interfaces*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: hostapd_global_ctrl_iface_deinit
    functionSourceFile: /src/hostap/hostapd/ctrl_iface.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void hostapd_global_ctrl_iface_deinit(struct hapd_interfaces *interface)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PyArg_ParseTuple
      Src: /src/hostap/wpaspy/wpaspy.c:28,1
    - Dst: wpa_ctrl_open
      Src: /src/hostap/wpaspy/wpaspy.c:30,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - self
    - args
    argTypes:
    - struct wpaspy_obj*
    - PyObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 35
    functionName: wpaspy_open
    functionSourceFile: /src/hostap/wpaspy/wpaspy.c
    functionUses: 0
    functionsReached:
    - PyArg_ParseTuple
    - wpa_ctrl_open
    linkageType: ''
    returnType: int
    signature: int wpaspy_open(struct wpaspy_obj *self, PyObject *args)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_detach
      Src: /src/hostap/wpaspy/wpaspy.c:42,1
    - Dst: wpa_ctrl_close
      Src: /src/hostap/wpaspy/wpaspy.c:43,1
    - Dst: PyObject_Del
      Src: /src/hostap/wpaspy/wpaspy.c:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - self
    argTypes:
    - struct wpaspy_obj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 48
    functionName: wpaspy_close
    functionSourceFile: /src/hostap/wpaspy/wpaspy.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_close
    - wpa_ctrl_detach
    - PyObject_Del
    linkageType: ''
    returnType: void
    signature: void wpaspy_close(struct wpaspy_obj *self)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PyArg_ParseTuple
      Src: /src/hostap/wpaspy/wpaspy.c:58,1
    - Dst: wpa_ctrl_request
      Src: /src/hostap/wpaspy/wpaspy.c:62,1
    - Dst: strlen
      Src: /src/hostap/wpaspy/wpaspy.c:62,1
    - Dst: PyErr_SetString
      Src: /src/hostap/wpaspy/wpaspy.c:65,1
    - Dst: PyErr_SetString
      Src: /src/hostap/wpaspy/wpaspy.c:69,1
    - Dst: Py_BuildValue
      Src: /src/hostap/wpaspy/wpaspy.c:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - self
    - args
    argTypes:
    - struct wpaspy_obj*
    - PyObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 75
    functionName: wpaspy_request
    functionSourceFile: /src/hostap/wpaspy/wpaspy.c
    functionUses: 0
    functionsReached:
    - Py_BuildValue
    - wpa_ctrl_request
    - PyErr_SetString
    - PyArg_ParseTuple
    - strlen
    linkageType: ''
    returnType: PyObject
    signature: PyObject * wpaspy_request(struct wpaspy_obj *self, PyObject *args)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_attach
      Src: /src/hostap/wpaspy/wpaspy.c:85,1
    - Dst: PyErr_SetString
      Src: /src/hostap/wpaspy/wpaspy.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - self
    argTypes:
    - struct wpaspy_obj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 91
    functionName: wpaspy_attach
    functionSourceFile: /src/hostap/wpaspy/wpaspy.c
    functionUses: 0
    functionsReached:
    - PyErr_SetString
    - wpa_ctrl_attach
    linkageType: ''
    returnType: PyObject
    signature: PyObject * wpaspy_attach(struct wpaspy_obj *self)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_detach
      Src: /src/hostap/wpaspy/wpaspy.c:101,1
    - Dst: PyErr_SetString
      Src: /src/hostap/wpaspy/wpaspy.c:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - self
    argTypes:
    - struct wpaspy_obj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 107
    functionName: wpaspy_detach
    functionSourceFile: /src/hostap/wpaspy/wpaspy.c
    functionUses: 0
    functionsReached:
    - PyErr_SetString
    - wpa_ctrl_detach
    linkageType: ''
    returnType: PyObject
    signature: PyObject * wpaspy_detach(struct wpaspy_obj *self)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_pending
      Src: /src/hostap/wpaspy/wpaspy.c:112,1
    - Dst: PyErr_SetString
      Src: /src/hostap/wpaspy/wpaspy.c:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - self
    argTypes:
    - struct wpaspy_obj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 123
    functionName: wpaspy_pending
    functionSourceFile: /src/hostap/wpaspy/wpaspy.c
    functionUses: 0
    functionsReached:
    - PyErr_SetString
    - wpa_ctrl_pending
    linkageType: ''
    returnType: PyObject
    signature: PyObject * wpaspy_pending(struct wpaspy_obj *self)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_recv
      Src: /src/hostap/wpaspy/wpaspy.c:134,1
    - Dst: PyErr_SetString
      Src: /src/hostap/wpaspy/wpaspy.c:138,1
    - Dst: Py_BuildValue
      Src: /src/hostap/wpaspy/wpaspy.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - self
    argTypes:
    - struct wpaspy_obj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 144
    functionName: wpaspy_recv
    functionSourceFile: /src/hostap/wpaspy/wpaspy.c
    functionUses: 0
    functionsReached:
    - Py_BuildValue
    - PyErr_SetString
    - wpa_ctrl_recv
    linkageType: ''
    returnType: PyObject
    signature: PyObject * wpaspy_recv(struct wpaspy_obj *self)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PyErr_SetString
      Src: /src/hostap/wpaspy/wpaspy.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 140
    functionName: if
    functionSourceFile: /src/hostap/wpaspy/wpaspy.c
    functionUses: 8
    functionsReached:
    - PyErr_SetString
    linkageType: ''
    returnType: Py_END_ALLOW_THREADS
    signature: Py_END_ALLOW_THREADS if (ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PyType_Ready
      Src: /src/hostap/wpaspy/wpaspy.c:205,1
    - Dst: Py_InitModule
      Src: /src/hostap/wpaspy/wpaspy.c:206,1
    - Dst: PyErr_NewException
      Src: /src/hostap/wpaspy/wpaspy.c:207,1
    - Dst: Py_INCREF
      Src: /src/hostap/wpaspy/wpaspy.c:209,1
    - Dst: Py_INCREF
      Src: /src/hostap/wpaspy/wpaspy.c:210,1
    - Dst: PyModule_AddObject
      Src: /src/hostap/wpaspy/wpaspy.c:212,1
    - Dst: PyModule_AddObject
      Src: /src/hostap/wpaspy/wpaspy.c:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 214
    functionName: initwpaspy
    functionSourceFile: /src/hostap/wpaspy/wpaspy.c
    functionUses: 0
    functionsReached:
    - Py_InitModule
    - PyType_Ready
    - PyErr_NewException
    - Py_INCREF
    - PyModule_AddObject
    linkageType: ''
    returnType: PyMODINIT_FUNC
    signature: PyMODINIT_FUNC initwpaspy(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PyModule_Create
      Src: /src/hostap/wpaspy/wpaspy.c:226,1
    - Dst: PyErr_NewException
      Src: /src/hostap/wpaspy/wpaspy.c:230,1
    - Dst: Py_INCREF
      Src: /src/hostap/wpaspy/wpaspy.c:232,1
    - Dst: Py_INCREF
      Src: /src/hostap/wpaspy/wpaspy.c:233,1
    - Dst: PyModule_AddObject
      Src: /src/hostap/wpaspy/wpaspy.c:235,1
    - Dst: PyModule_AddObject
      Src: /src/hostap/wpaspy/wpaspy.c:236,1
    - Dst: Py_DECREF
      Src: /src/hostap/wpaspy/wpaspy.c:237,1
    - Dst: Py_DECREF
      Src: /src/hostap/wpaspy/wpaspy.c:238,1
    - Dst: Py_DECREF
      Src: /src/hostap/wpaspy/wpaspy.c:239,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 244
    functionName: initwpaspy
    functionSourceFile: /src/hostap/wpaspy/wpaspy.c
    functionUses: 0
    functionsReached:
    - PyErr_NewException
    - Py_INCREF
    - Py_DECREF
    - PyModule_Create
    - PyModule_AddObject
    linkageType: ''
    returnType: PyMODINIT_FUNC
    signature: PyMODINIT_FUNC initwpaspy(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/gcmp.c:26,1
    - Dst: WLAN_FC_GET_STYPE
      Src: /src/hostap/wlantest/gcmp.c:27,1
    - Dst: WLAN_FC_GET_TYPE
      Src: /src/hostap/wlantest/gcmp.c:32,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/wlantest/gcmp.c:41,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/gcmp.c:43,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/gcmp.c:45,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/gcmp.c:47,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/gcmp.c:49,1
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/gcmp.c:51,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/wlantest/gcmp.c:53,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/gcmp.c:56,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/gcmp.c:69,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/gcmp.c:71,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 46
    argCount: 8
    argNames:
    - hdr
    - data
    - a1
    - a2
    - a3
    - aad
    - aad_len
    - nonce
    argTypes:
    - struct ieee80211_hdr*
    - u8*
    - u8*
    - u8*
    - u8*
    - u8*
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 78
    functionName: gcmp_aad_nonce
    functionSourceFile: /src/hostap/wlantest/gcmp.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - WLAN_FC_GET_STYPE
    - WLAN_FC_GET_TYPE
    - le_to_host16
    - WPA_PUT_LE16
    linkageType: ''
    returnType: void
    signature: "void gcmp_aad_nonce(const struct ieee80211_hdr *hdr, const u8 *data,\n\t\t\t
      \  const u8 *a1, const u8 *a2, const u8 *a3,\n\t\t\t   u8 *aad, size_t *aad_len,
      u8 *nonce)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/wlantest/gcmp.c:92,1
    - Dst: os_memset
      Src: /src/hostap/wlantest/gcmp.c:99,1
    - Dst: gcmp_aad_nonce
      Src: /src/hostap/wlantest/gcmp.c:100,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/gcmp.c:101,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/gcmp.c:102,1
    - Dst: aes_gcm_ad
      Src: /src/hostap/wlantest/gcmp.c:104,1
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/gcmp.c:106,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/gcmp.c:107,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/gcmp.c:109,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/gcmp.c:109,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/gcmp.c:110,1
    - Dst: WLAN_GET_SEQ_SEQ
      Src: /src/hostap/wlantest/gcmp.c:111,1
    - Dst: WLAN_GET_SEQ_FRAG
      Src: /src/hostap/wlantest/gcmp.c:112,1
    - Dst: os_free
      Src: /src/hostap/wlantest/gcmp.c:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 9
    argNames:
    - tk
    - tk_len
    - hdr
    - a1
    - a2
    - a3
    - data
    - data_len
    - decrypted_len
    argTypes:
    - u8*
    - size_t
    - struct ieee80211_hdr*
    - u8*
    - u8*
    - u8*
    - u8*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 119
    functionName: gcmp_decrypt
    functionSourceFile: /src/hostap/wlantest/gcmp.c
    functionUses: 0
    functionsReached:
    - aes_gcm_ad
    - wpa_printf
    - wpa_hexdump
    - os_malloc
    - MAC2STR
    - WLAN_GET_SEQ_SEQ
    - gcmp_aad_nonce
    - le_to_host16
    - os_free
    - WLAN_GET_SEQ_FRAG
    - os_memset
    linkageType: ''
    returnType: u8
    signature: "u8 * gcmp_decrypt(const u8 *tk, size_t tk_len, const struct ieee80211_hdr
      *hdr,\n\t\t  const u8 *a1, const u8 *a2, const u8 *a3,\n\t\t  const u8 *data,
      size_t data_len, size_t *decrypted_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/wlantest/gcmp.c:134,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/gcmp.c:138,1
    - Dst: os_memset
      Src: /src/hostap/wlantest/gcmp.c:150,1
    - Dst: gcmp_aad_nonce
      Src: /src/hostap/wlantest/gcmp.c:151,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/gcmp.c:152,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/gcmp.c:153,1
    - Dst: aes_gcm_ae
      Src: /src/hostap/wlantest/gcmp.c:155,1
    - Dst: os_free
      Src: /src/hostap/wlantest/gcmp.c:157,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/gcmp.c:161,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/gcmp.c:162,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 12
    argNames:
    - tk
    - tk_len
    - frame
    - len
    - hdrlen
    - qos
    - a1
    - a2
    - a3
    - pn
    - keyid
    - encrypted_len
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - size_t
    - u8*
    - u8*
    - u8*
    - u8*
    - u8*
    - int
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 167
    functionName: gcmp_encrypt
    functionSourceFile: /src/hostap/wlantest/gcmp.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_hexdump
    - os_malloc
    - gcmp_aad_nonce
    - os_free
    - aes_gcm_ae
    - os_memset
    linkageType: ''
    returnType: u8
    signature: "u8 * gcmp_encrypt(const u8 *tk, size_t tk_len, const u8 *frame, size_t
      len,\n\t\t  size_t hdrlen, const u8 *qos, const u8 *a1, const u8 *a2,\n\t\t
      \ const u8 *a3, const u8 *pn, int keyid, size_t *encrypted_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/wlantest/readpcap.c:34,1
    - Dst: os_malloc
      Src: /src/hostap/wlantest/readpcap.c:37,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/readpcap.c:40,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/readpcap.c:41,1
    - Dst: pcap_dump
      Src: /src/hostap/wlantest/readpcap.c:44,1
    - Dst: os_free
      Src: /src/hostap/wlantest/readpcap.c:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - wt
    - data
    - data_len
    argTypes:
    - struct wlantest*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 46
    functionName: write_pcap_with_radiotap
    functionSourceFile: /src/hostap/wlantest/readpcap.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - pcap_dump
    - os_malloc
    - os_free
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void write_pcap_with_radiotap(struct wlantest *wt,\n\t\t\t\t     const
      u8 *data, size_t data_len)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: pcap_open_offline
      Src: /src/hostap/wlantest/readpcap.c:59,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/readpcap.c:61,1
    - Dst: pcap_datalink
      Src: /src/hostap/wlantest/readpcap.c:65,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/readpcap.c:68,1
    - Dst: pcap_close
      Src: /src/hostap/wlantest/readpcap.c:70,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/readpcap.c:73,1
    - Dst: clear_notes
      Src: /src/hostap/wlantest/readpcap.c:76,1
    - Dst: os_free
      Src: /src/hostap/wlantest/readpcap.c:77,1
    - Dst: pcap_next_ex
      Src: /src/hostap/wlantest/readpcap.c:80,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/readpcap.c:84,1
    - Dst: pcap_geterr
      Src: /src/hostap/wlantest/readpcap.c:85,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/readpcap.c:89,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/readpcap.c:96,1
    - Dst: write_pcap_with_radiotap
      Src: /src/hostap/wlantest/readpcap.c:103,1
    - Dst: pcap_dump
      Src: /src/hostap/wlantest/readpcap.c:105,1
    - Dst: pcap_dump_flush
      Src: /src/hostap/wlantest/readpcap.c:107,1
    - Dst: add_note
      Src: /src/hostap/wlantest/readpcap.c:110,1
    - Dst: write_pcapng_write_read
      Src: /src/hostap/wlantest/readpcap.c:113,1
    - Dst: wlantest_process
      Src: /src/hostap/wlantest/readpcap.c:119,1
    - Dst: wlantest_process_prism
      Src: /src/hostap/wlantest/readpcap.c:122,1
    - Dst: wlantest_process_80211
      Src: /src/hostap/wlantest/readpcap.c:125,1
    - Dst: write_pcapng_write_read
      Src: /src/hostap/wlantest/readpcap.c:128,1
    - Dst: pcap_close
      Src: /src/hostap/wlantest/readpcap.c:131,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/readpcap.c:133,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 60
    argCount: 2
    argNames:
    - wt
    - fname
    argTypes:
    - struct wlantest*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 136
    functionName: read_cap_file
    functionSourceFile: /src/hostap/wlantest/readpcap.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - pcap_dump_flush
    - wlantest_process
    - pcap_geterr
    - pcap_datalink
    - pcap_dump
    - pcap_open_offline
    - pcap_close
    - clear_notes
    - add_note
    - write_pcapng_write_read
    - write_pcap_with_radiotap
    - wlantest_process_prism
    - os_free
    - wlantest_process_80211
    - pcap_next_ex
    linkageType: ''
    returnType: int
    signature: int read_cap_file(struct wlantest *wt, const char *fname)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pcap_open_offline
      Src: /src/hostap/wlantest/readpcap.c:148,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/readpcap.c:150,1
    - Dst: pcap_next_ex
      Src: /src/hostap/wlantest/readpcap.c:156,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/readpcap.c:160,1
    - Dst: pcap_geterr
      Src: /src/hostap/wlantest/readpcap.c:161,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/readpcap.c:165,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/readpcap.c:171,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/readpcap.c:176,1
    - Dst: wlantest_process_wired
      Src: /src/hostap/wlantest/readpcap.c:182,1
    - Dst: pcap_close
      Src: /src/hostap/wlantest/readpcap.c:185,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/readpcap.c:187,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - wt
    - fname
    argTypes:
    - struct wlantest*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 190
    functionName: read_wired_cap_file
    functionSourceFile: /src/hostap/wlantest/readpcap.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - pcap_geterr
    - pcap_open_offline
    - pcap_close
    - wlantest_process_wired
    - pcap_next_ex
    linkageType: ''
    returnType: int
    signature: int read_wired_cap_file(struct wlantest *wt, const char *fname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcap_open_dead
      Src: /src/hostap/wlantest/writepcap.c:22,1
    - Dst: pcap_dump_open
      Src: /src/hostap/wlantest/writepcap.c:25,1
    - Dst: pcap_close
      Src: /src/hostap/wlantest/writepcap.c:27,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/writepcap.c:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - wt
    - fname
    argTypes:
    - struct wlantest*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 35
    functionName: write_pcap_init
    functionSourceFile: /src/hostap/wlantest/writepcap.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - pcap_close
    - pcap_open_dead
    - pcap_dump_open
    linkageType: ''
    returnType: int
    signature: int write_pcap_init(struct wlantest *wt, const char *fname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcap_dump_close
      Src: /src/hostap/wlantest/writepcap.c:41,1
    - Dst: pcap_close
      Src: /src/hostap/wlantest/writepcap.c:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - wt
    argTypes:
    - struct wlantest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 48
    functionName: write_pcap_deinit
    functionSourceFile: /src/hostap/wlantest/writepcap.c
    functionUses: 0
    functionsReached:
    - pcap_close
    - pcap_dump_close
    linkageType: ''
    returnType: void
    signature: void write_pcap_deinit(struct wlantest *wt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/wlantest/writepcap.c:58,1
    - Dst: gettimeofday
      Src: /src/hostap/wlantest/writepcap.c:59,1
    - Dst: pcap_dump
      Src: /src/hostap/wlantest/writepcap.c:63,1
    - Dst: pcap_dump_flush
      Src: /src/hostap/wlantest/writepcap.c:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - wt
    - buf
    - len
    argTypes:
    - struct wlantest*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 66
    functionName: write_pcap_captured
    functionSourceFile: /src/hostap/wlantest/writepcap.c
    functionUses: 0
    functionsReached:
    - pcap_dump_flush
    - pcap_dump
    - gettimeofday
    - os_memset
    linkageType: ''
    returnType: void
    signature: void write_pcap_captured(struct wlantest *wt, const u8 *buf, size_t
      len)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/wlantest/writepcap.c:87,1
    - Dst: os_malloc
      Src: /src/hostap/wlantest/writepcap.c:89,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/writepcap.c:93,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/writepcap.c:95,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/writepcap.c:99,1
    - Dst: os_memset
      Src: /src/hostap/wlantest/writepcap.c:104,1
    - Dst: pcap_dump
      Src: /src/hostap/wlantest/writepcap.c:108,1
    - Dst: pcap_dump_flush
      Src: /src/hostap/wlantest/writepcap.c:110,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 5
    argNames:
    - wt
    - buf1
    - len1
    - buf2
    - len2
    argTypes:
    - struct wlantest*
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 111
    functionName: write_pcap_decrypted
    functionSourceFile: /src/hostap/wlantest/writepcap.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - pcap_dump_flush
    - pcap_dump
    - os_malloc
    - os_free
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void write_pcap_decrypted(struct wlantest *wt, const u8 *buf1, size_t
      len1,\n\t\t\t  const u8 *buf2, size_t len2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 159
    functionName: PAD32
    functionSourceFile: /src/hostap/wlantest/writepcap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PAD32(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 160
    functionName: ALIGN32
    functionSourceFile: /src/hostap/wlantest/writepcap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALIGN32(a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/hostap/wlantest/writepcap.c:167,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/writepcap.c:171,1
    - Dst: os_memset
      Src: /src/hostap/wlantest/writepcap.c:173,1
    - Dst: fwrite
      Src: /src/hostap/wlantest/writepcap.c:181,1
    - Dst: os_memset
      Src: /src/hostap/wlantest/writepcap.c:183,1
    - Dst: fwrite
      Src: /src/hostap/wlantest/writepcap.c:189,1
    - Dst: fflush
      Src: /src/hostap/wlantest/writepcap.c:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 2
    argNames:
    - wt
    - fname
    argTypes:
    - struct wlantest*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 194
    functionName: write_pcapng_init
    functionSourceFile: /src/hostap/wlantest/writepcap.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - fwrite
    - fopen
    - fflush
    - os_memset
    linkageType: ''
    returnType: int
    signature: int write_pcapng_init(struct wlantest *wt, const char *fname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/hostap/wlantest/writepcap.c:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - wt
    argTypes:
    - struct wlantest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 203
    functionName: write_pcapng_deinit
    functionSourceFile: /src/hostap/wlantest/writepcap.c
    functionUses: 0
    functionsReached:
    - fclose
    linkageType: ''
    returnType: void
    signature: void write_pcapng_deinit(struct wlantest *wt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/wlantest/writepcap.c:220,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/writepcap.c:223,1
    - Dst: PAD32
      Src: /src/hostap/wlantest/writepcap.c:227,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - wt
    - pos
    argTypes:
    - struct wlantest*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 235
    functionName: pcapng_add_comments
    functionSourceFile: /src/hostap/wlantest/writepcap.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - PAD32
    - os_memcpy
    linkageType: ''
    returnType: u8
    signature: u8 * pcapng_add_comments(struct wlantest *wt, u8 *pos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: add_note
      Src: /src/hostap/wlantest/writepcap.c:248,1
    - Dst: notes_len
      Src: /src/hostap/wlantest/writepcap.c:250,1
    - Dst: os_zalloc
      Src: /src/hostap/wlantest/writepcap.c:251,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/writepcap.c:264,1
    - Dst: ALIGN32
      Src: /src/hostap/wlantest/writepcap.c:265,1
    - Dst: pcapng_add_comments
      Src: /src/hostap/wlantest/writepcap.c:267,1
    - Dst: fwrite
      Src: /src/hostap/wlantest/writepcap.c:273,1
    - Dst: fflush
      Src: /src/hostap/wlantest/writepcap.c:275,1
    - Dst: os_free
      Src: /src/hostap/wlantest/writepcap.c:277,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - wt
    argTypes:
    - struct wlantest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 238
    functionDepth: 2
    functionLinenumber: 238
    functionLinenumberEnd: 278
    functionName: write_pcapng_decrypted
    functionSourceFile: /src/hostap/wlantest/writepcap.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - pcapng_add_comments
    - fwrite
    - add_note
    - notes_len
    - os_zalloc
    - ALIGN32
    - os_free
    - fflush
    linkageType: ''
    returnType: void
    signature: void write_pcapng_decrypted(struct wlantest *wt)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: notes_len
      Src: /src/hostap/wlantest/writepcap.c:304,1
    - Dst: os_zalloc
      Src: /src/hostap/wlantest/writepcap.c:305,1
    - Dst: WPA_GET_LE32
      Src: /src/hostap/wlantest/writepcap.c:327,1
    - Dst: WPA_GET_LE32
      Src: /src/hostap/wlantest/writepcap.c:328,1
    - Dst: WPA_GET_LE32
      Src: /src/hostap/wlantest/writepcap.c:329,1
    - Dst: WPA_GET_LE32
      Src: /src/hostap/wlantest/writepcap.c:330,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/writepcap.c:335,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/writepcap.c:342,1
    - Dst: PAD32
      Src: /src/hostap/wlantest/writepcap.c:343,1
    - Dst: pcapng_add_comments
      Src: /src/hostap/wlantest/writepcap.c:344,1
    - Dst: fwrite
      Src: /src/hostap/wlantest/writepcap.c:350,1
    - Dst: fflush
      Src: /src/hostap/wlantest/writepcap.c:352,1
    - Dst: os_free
      Src: /src/hostap/wlantest/writepcap.c:354,1
    - Dst: write_pcapng_decrypted
      Src: /src/hostap/wlantest/writepcap.c:356,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 48
    argCount: 4
    argNames:
    - wt
    - dlt
    - hdr
    - data
    argTypes:
    - struct wlantest*
    - int
    - struct pcap_pkthdr*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 281
    functionDepth: 3
    functionLinenumber: 281
    functionLinenumberEnd: 357
    functionName: write_pcapng_write_read
    functionSourceFile: /src/hostap/wlantest/writepcap.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    - pcapng_add_comments
    - PAD32
    - WPA_GET_LE32
    - fwrite
    - notes_len
    - os_zalloc
    - write_pcapng_decrypted
    - os_free
    - fflush
    linkageType: ''
    returnType: void
    signature: "void write_pcapng_write_read(struct wlantest *wt, int dlt,\n\t\t\t
      \    struct pcap_pkthdr *hdr, const u8 *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/wlantest/writepcap.c:367,1
    - Dst: gettimeofday
      Src: /src/hostap/wlantest/writepcap.c:368,1
    - Dst: write_pcapng_write_read
      Src: /src/hostap/wlantest/writepcap.c:371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - wt
    - buf
    - len
    argTypes:
    - struct wlantest*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 360
    functionDepth: 4
    functionLinenumber: 360
    functionLinenumberEnd: 373
    functionName: write_pcapng_captured
    functionSourceFile: /src/hostap/wlantest/writepcap.c
    functionUses: 0
    functionsReached:
    - write_pcapng_write_read
    - gettimeofday
    - os_memset
    linkageType: ''
    returnType: void
    signature: void write_pcapng_captured(struct wlantest *wt, const u8 *buf, size_t
      len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:49,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:52,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:53,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:54,1
    - Dst: tkip_encrypt
      Src: /src/hostap/wlantest/test_vectors.c:56,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:58,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:62,1
    - Dst: tkip_decrypt
      Src: /src/hostap/wlantest/test_vectors.c:65,1
    - Dst: os_free
      Src: /src/hostap/wlantest/test_vectors.c:68,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:71,1
    - Dst: os_memcmp
      Src: /src/hostap/wlantest/test_vectors.c:76,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:77,1
    - Dst: os_free
      Src: /src/hostap/wlantest/test_vectors.c:81,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 82
    functionName: test_vector_tkip
    functionSourceFile: /src/hostap/wlantest/test_vectors.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    - tkip_decrypt
    - tkip_encrypt
    - os_memcmp
    - os_free
    linkageType: ''
    returnType: void
    signature: void test_vector_tkip(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:102,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:105,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:106,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:107,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:108,1
    - Dst: ccmp_encrypt
      Src: /src/hostap/wlantest/test_vectors.c:110,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:113,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:117,1
    - Dst: WPA_PUT_LE32
      Src: /src/hostap/wlantest/test_vectors.c:118,1
    - Dst: ieee80211_crc32
      Src: /src/hostap/wlantest/test_vectors.c:118,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:119,1
    - Dst: ccmp_decrypt
      Src: /src/hostap/wlantest/test_vectors.c:122,1
    - Dst: os_free
      Src: /src/hostap/wlantest/test_vectors.c:126,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:129,1
    - Dst: os_memcmp
      Src: /src/hostap/wlantest/test_vectors.c:134,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:135,1
    - Dst: os_free
      Src: /src/hostap/wlantest/test_vectors.c:139,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 140
    functionName: test_vector_ccmp
    functionSourceFile: /src/hostap/wlantest/test_vectors.c
    functionUses: 0
    functionsReached:
    - ccmp_encrypt
    - wpa_printf
    - wpa_hexdump
    - ccmp_decrypt
    - WPA_PUT_LE32
    - os_memcmp
    - os_free
    - ieee80211_crc32
    linkageType: ''
    returnType: void
    signature: void test_vector_ccmp(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:184,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:187,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/test_vectors.c:187,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:188,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/test_vectors.c:188,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:189,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/test_vectors.c:189,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:190,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:191,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:192,1
    - Dst: WLAN_GET_SEQ_FRAG
      Src: /src/hostap/wlantest/test_vectors.c:193,1
    - Dst: WLAN_GET_SEQ_SEQ
      Src: /src/hostap/wlantest/test_vectors.c:193,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:194,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:195,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:196,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:197,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/wlantest/test_vectors.c:198,1
    - Dst: WPA_PUT_LE32
      Src: /src/hostap/wlantest/test_vectors.c:199,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:200,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:202,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wlantest/test_vectors.c:204,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:205,1
    - Dst: BIT
      Src: /src/hostap/wlantest/test_vectors.c:209,1
    - Dst: BIT
      Src: /src/hostap/wlantest/test_vectors.c:209,1
    - Dst: BIT
      Src: /src/hostap/wlantest/test_vectors.c:209,1
    - Dst: BIT
      Src: /src/hostap/wlantest/test_vectors.c:210,1
    - Dst: BIT
      Src: /src/hostap/wlantest/test_vectors.c:210,1
    - Dst: BIT
      Src: /src/hostap/wlantest/test_vectors.c:210,1
    - Dst: BIT
      Src: /src/hostap/wlantest/test_vectors.c:211,1
    - Dst: BIT
      Src: /src/hostap/wlantest/test_vectors.c:212,1
    - Dst: BIT
      Src: /src/hostap/wlantest/test_vectors.c:213,1
    - Dst: BIT
      Src: /src/hostap/wlantest/test_vectors.c:214,1
    - Dst: BIT
      Src: /src/hostap/wlantest/test_vectors.c:215,1
    - Dst: BIT
      Src: /src/hostap/wlantest/test_vectors.c:216,1
    - Dst: BIT
      Src: /src/hostap/wlantest/test_vectors.c:217,1
    - Dst: BIT
      Src: /src/hostap/wlantest/test_vectors.c:218,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:219,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/test_vectors.c:219,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wlantest/test_vectors.c:220,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:221,1
    - Dst: BIT
      Src: /src/hostap/wlantest/test_vectors.c:224,1
    - Dst: BIT
      Src: /src/hostap/wlantest/test_vectors.c:224,1
    - Dst: BIT
      Src: /src/hostap/wlantest/test_vectors.c:224,1
    - Dst: BIT
      Src: /src/hostap/wlantest/test_vectors.c:225,1
    - Dst: BIT
      Src: /src/hostap/wlantest/test_vectors.c:226,1
    - Dst: BIT
      Src: /src/hostap/wlantest/test_vectors.c:227,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wlantest/test_vectors.c:228,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:229,1
    - Dst: WLAN_GET_SEQ_FRAG
      Src: /src/hostap/wlantest/test_vectors.c:231,1
    - Dst: WLAN_GET_SEQ_SEQ
      Src: /src/hostap/wlantest/test_vectors.c:231,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:232,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:233,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:234,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:235,1
    - Dst: ccmp_encrypt_pv1
      Src: /src/hostap/wlantest/test_vectors.c:238,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:241,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:245,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:246,1
    - Dst: WPA_PUT_LE32
      Src: /src/hostap/wlantest/test_vectors.c:248,1
    - Dst: ieee80211_crc32
      Src: /src/hostap/wlantest/test_vectors.c:248,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:249,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:251,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wlantest/test_vectors.c:253,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:254,1
    - Dst: BIT
      Src: /src/hostap/wlantest/test_vectors.c:258,1
    - Dst: BIT
      Src: /src/hostap/wlantest/test_vectors.c:258,1
    - Dst: BIT
      Src: /src/hostap/wlantest/test_vectors.c:258,1
    - Dst: BIT
      Src: /src/hostap/wlantest/test_vectors.c:259,1
    - Dst: BIT
      Src: /src/hostap/wlantest/test_vectors.c:259,1
    - Dst: BIT
      Src: /src/hostap/wlantest/test_vectors.c:259,1
    - Dst: BIT
      Src: /src/hostap/wlantest/test_vectors.c:260,1
    - Dst: BIT
      Src: /src/hostap/wlantest/test_vectors.c:261,1
    - Dst: BIT
      Src: /src/hostap/wlantest/test_vectors.c:262,1
    - Dst: BIT
      Src: /src/hostap/wlantest/test_vectors.c:263,1
    - Dst: BIT
      Src: /src/hostap/wlantest/test_vectors.c:264,1
    - Dst: BIT
      Src: /src/hostap/wlantest/test_vectors.c:265,1
    - Dst: BIT
      Src: /src/hostap/wlantest/test_vectors.c:266,1
    - Dst: BIT
      Src: /src/hostap/wlantest/test_vectors.c:267,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:268,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/test_vectors.c:268,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wlantest/test_vectors.c:269,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:270,1
    - Dst: BIT
      Src: /src/hostap/wlantest/test_vectors.c:273,1
    - Dst: BIT
      Src: /src/hostap/wlantest/test_vectors.c:273,1
    - Dst: BIT
      Src: /src/hostap/wlantest/test_vectors.c:273,1
    - Dst: BIT
      Src: /src/hostap/wlantest/test_vectors.c:274,1
    - Dst: BIT
      Src: /src/hostap/wlantest/test_vectors.c:275,1
    - Dst: BIT
      Src: /src/hostap/wlantest/test_vectors.c:276,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wlantest/test_vectors.c:277,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:278,1
    - Dst: WLAN_GET_SEQ_FRAG
      Src: /src/hostap/wlantest/test_vectors.c:280,1
    - Dst: WLAN_GET_SEQ_SEQ
      Src: /src/hostap/wlantest/test_vectors.c:280,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:281,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/test_vectors.c:281,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:282,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:283,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:284,1
    - Dst: ccmp_encrypt_pv1
      Src: /src/hostap/wlantest/test_vectors.c:287,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:291,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:295,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:296,1
    - Dst: WPA_PUT_LE32
      Src: /src/hostap/wlantest/test_vectors.c:298,1
    - Dst: ieee80211_crc32
      Src: /src/hostap/wlantest/test_vectors.c:298,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:299,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:301,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wlantest/test_vectors.c:303,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:304,1
    - Dst: BIT
      Src: /src/hostap/wlantest/test_vectors.c:308,1
    - Dst: BIT
      Src: /src/hostap/wlantest/test_vectors.c:308,1
    - Dst: BIT
      Src: /src/hostap/wlantest/test_vectors.c:308,1
    - Dst: BIT
      Src: /src/hostap/wlantest/test_vectors.c:309,1
    - Dst: BIT
      Src: /src/hostap/wlantest/test_vectors.c:309,1
    - Dst: BIT
      Src: /src/hostap/wlantest/test_vectors.c:309,1
    - Dst: BIT
      Src: /src/hostap/wlantest/test_vectors.c:310,1
    - Dst: BIT
      Src: /src/hostap/wlantest/test_vectors.c:311,1
    - Dst: BIT
      Src: /src/hostap/wlantest/test_vectors.c:312,1
    - Dst: BIT
      Src: /src/hostap/wlantest/test_vectors.c:313,1
    - Dst: BIT
      Src: /src/hostap/wlantest/test_vectors.c:314,1
    - Dst: BIT
      Src: /src/hostap/wlantest/test_vectors.c:315,1
    - Dst: BIT
      Src: /src/hostap/wlantest/test_vectors.c:316,1
    - Dst: BIT
      Src: /src/hostap/wlantest/test_vectors.c:317,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:318,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/test_vectors.c:318,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:319,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/test_vectors.c:319,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wlantest/test_vectors.c:320,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:321,1
    - Dst: WLAN_GET_SEQ_FRAG
      Src: /src/hostap/wlantest/test_vectors.c:323,1
    - Dst: WLAN_GET_SEQ_SEQ
      Src: /src/hostap/wlantest/test_vectors.c:323,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:324,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:326,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:327,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:328,1
    - Dst: ccmp_encrypt_pv1
      Src: /src/hostap/wlantest/test_vectors.c:331,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:335,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:339,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:340,1
    - Dst: WPA_PUT_LE32
      Src: /src/hostap/wlantest/test_vectors.c:342,1
    - Dst: ieee80211_crc32
      Src: /src/hostap/wlantest/test_vectors.c:342,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:343,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 77
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 344
    functionName: test_vector_ccmp_pv1
    functionSourceFile: /src/hostap/wlantest/test_vectors.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    - WPA_GET_LE16
    - MAC2STR
    - WLAN_GET_SEQ_SEQ
    - BIT
    - ccmp_encrypt_pv1
    - WPA_PUT_LE32
    - ieee80211_crc32
    - WLAN_GET_SEQ_FRAG
    - WPA_PUT_LE16
    linkageType: ''
    returnType: void
    signature: void test_vector_ccmp_pv1(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:363,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:366,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:367,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:368,1
    - Dst: bip_protect
      Src: /src/hostap/wlantest/test_vectors.c:370,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:373,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:377,1
    - Dst: os_free
      Src: /src/hostap/wlantest/test_vectors.c:378,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 379
    functionName: test_vector_bip
    functionSourceFile: /src/hostap/wlantest/test_vectors.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpa_printf
    - bip_protect
    - wpa_hexdump
    linkageType: ''
    returnType: void
    signature: void test_vector_bip(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:403,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:406,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:407,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:408,1
    - Dst: bip_protect_s1g_beacon
      Src: /src/hostap/wlantest/test_vectors.c:410,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:413,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:418,1
    - Dst: os_free
      Src: /src/hostap/wlantest/test_vectors.c:419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 420
    functionName: test_vector_bip_s1g_beacon
    functionSourceFile: /src/hostap/wlantest/test_vectors.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpa_printf
    - bip_protect_s1g_beacon
    - wpa_hexdump
    linkageType: ''
    returnType: void
    signature: void test_vector_bip_s1g_beacon(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:442,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:445,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:446,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:447,1
    - Dst: bip_protect_s1g_beacon
      Src: /src/hostap/wlantest/test_vectors.c:449,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:452,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:457,1
    - Dst: os_free
      Src: /src/hostap/wlantest/test_vectors.c:458,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 459
    functionName: test_vector_bip_s1g_beacon_ext
    functionSourceFile: /src/hostap/wlantest/test_vectors.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpa_printf
    - bip_protect_s1g_beacon
    - wpa_hexdump
    linkageType: ''
    returnType: void
    signature: void test_vector_bip_s1g_beacon_ext(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:483,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:486,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:487,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:488,1
    - Dst: bip_protect_s1g_beacon
      Src: /src/hostap/wlantest/test_vectors.c:490,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:493,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:498,1
    - Dst: os_free
      Src: /src/hostap/wlantest/test_vectors.c:499,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 500
    functionName: test_vector_bip_s1g_beacon_bce
    functionSourceFile: /src/hostap/wlantest/test_vectors.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpa_printf
    - bip_protect_s1g_beacon
    - wpa_hexdump
    linkageType: ''
    returnType: void
    signature: void test_vector_bip_s1g_beacon_bce(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:522,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:525,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:526,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:527,1
    - Dst: bip_protect_s1g_beacon
      Src: /src/hostap/wlantest/test_vectors.c:529,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:532,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:537,1
    - Dst: os_free
      Src: /src/hostap/wlantest/test_vectors.c:538,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 539
    functionName: test_vector_bip_s1g_beacon_bce_ext
    functionSourceFile: /src/hostap/wlantest/test_vectors.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpa_printf
    - bip_protect_s1g_beacon
    - wpa_hexdump
    linkageType: ''
    returnType: void
    signature: void test_vector_bip_s1g_beacon_bce_ext(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:556,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:559,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:560,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:561,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:562,1
    - Dst: ccmp_encrypt
      Src: /src/hostap/wlantest/test_vectors.c:564,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:567,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:571,1
    - Dst: ccmp_decrypt
      Src: /src/hostap/wlantest/test_vectors.c:574,1
    - Dst: os_free
      Src: /src/hostap/wlantest/test_vectors.c:578,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:581,1
    - Dst: os_memcmp
      Src: /src/hostap/wlantest/test_vectors.c:586,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:587,1
    - Dst: os_free
      Src: /src/hostap/wlantest/test_vectors.c:591,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 542
    functionDepth: 1
    functionLinenumber: 542
    functionLinenumberEnd: 592
    functionName: test_vector_ccmp_mgmt
    functionSourceFile: /src/hostap/wlantest/test_vectors.c
    functionUses: 0
    functionsReached:
    - ccmp_encrypt
    - wpa_printf
    - ccmp_decrypt
    - wpa_hexdump
    - os_memcmp
    - os_free
    linkageType: ''
    returnType: void
    signature: void test_vector_ccmp_mgmt(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:728,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:732,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:733,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:734,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:735,1
    - Dst: gcmp_encrypt
      Src: /src/hostap/wlantest/test_vectors.c:739,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:748,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:752,1
    - Dst: os_memcmp
      Src: /src/hostap/wlantest/test_vectors.c:753,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:755,1
    - Dst: os_memcmp
      Src: /src/hostap/wlantest/test_vectors.c:759,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:761,1
    - Dst: WPA_PUT_LE32
      Src: /src/hostap/wlantest/test_vectors.c:764,1
    - Dst: ieee80211_crc32
      Src: /src/hostap/wlantest/test_vectors.c:764,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:765,1
    - Dst: gcmp_decrypt
      Src: /src/hostap/wlantest/test_vectors.c:768,1
    - Dst: os_free
      Src: /src/hostap/wlantest/test_vectors.c:773,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:776,1
    - Dst: os_memcmp
      Src: /src/hostap/wlantest/test_vectors.c:781,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:782,1
    - Dst: os_free
      Src: /src/hostap/wlantest/test_vectors.c:787,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 2
    argNames:
    - idx
    - vector
    argTypes:
    - int
    - struct gcmp_test*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 721
    functionDepth: 3
    functionLinenumber: 721
    functionLinenumberEnd: 790
    functionName: run_gcmp
    functionSourceFile: /src/hostap/wlantest/test_vectors.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    - gcmp_encrypt
    - WPA_PUT_LE32
    - os_memcmp
    - gcmp_decrypt
    - os_free
    - ieee80211_crc32
    linkageType: ''
    returnType: int
    signature: int run_gcmp(int idx, const struct gcmp_test *vector)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/hostap/wlantest/test_vectors.c:798,1
    - Dst: run_gcmp
      Src: /src/hostap/wlantest/test_vectors.c:799,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 793
    functionDepth: 4
    functionLinenumber: 793
    functionLinenumberEnd: 805
    functionName: test_vector_gcmp
    functionSourceFile: /src/hostap/wlantest/test_vectors.c
    functionUses: 0
    functionsReached:
    - run_gcmp
    - ARRAY_SIZE
    linkageType: ''
    returnType: int
    signature: int test_vector_gcmp(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:847,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:849,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:850,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:851,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:852,1
    - Dst: gcmp_encrypt
      Src: /src/hostap/wlantest/test_vectors.c:854,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:857,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:861,1
    - Dst: os_memcmp
      Src: /src/hostap/wlantest/test_vectors.c:862,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:863,1
    - Dst: WPA_PUT_LE32
      Src: /src/hostap/wlantest/test_vectors.c:866,1
    - Dst: ieee80211_crc32
      Src: /src/hostap/wlantest/test_vectors.c:866,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:867,1
    - Dst: gcmp_decrypt
      Src: /src/hostap/wlantest/test_vectors.c:870,1
    - Dst: os_free
      Src: /src/hostap/wlantest/test_vectors.c:874,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:877,1
    - Dst: os_memcmp
      Src: /src/hostap/wlantest/test_vectors.c:882,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:883,1
    - Dst: os_free
      Src: /src/hostap/wlantest/test_vectors.c:888,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 808
    functionDepth: 3
    functionLinenumber: 808
    functionLinenumberEnd: 891
    functionName: test_vector_gcmp_256
    functionSourceFile: /src/hostap/wlantest/test_vectors.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    - gcmp_encrypt
    - WPA_PUT_LE32
    - os_memcmp
    - gcmp_decrypt
    - os_free
    - ieee80211_crc32
    linkageType: ''
    returnType: int
    signature: int test_vector_gcmp_256(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:926,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:928,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:929,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:930,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:931,1
    - Dst: ccmp_256_encrypt
      Src: /src/hostap/wlantest/test_vectors.c:933,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:936,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:940,1
    - Dst: os_memcmp
      Src: /src/hostap/wlantest/test_vectors.c:941,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:942,1
    - Dst: WPA_PUT_LE32
      Src: /src/hostap/wlantest/test_vectors.c:945,1
    - Dst: ieee80211_crc32
      Src: /src/hostap/wlantest/test_vectors.c:945,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:946,1
    - Dst: ccmp_256_decrypt
      Src: /src/hostap/wlantest/test_vectors.c:949,1
    - Dst: os_free
      Src: /src/hostap/wlantest/test_vectors.c:953,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:956,1
    - Dst: os_memcmp
      Src: /src/hostap/wlantest/test_vectors.c:961,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:962,1
    - Dst: os_free
      Src: /src/hostap/wlantest/test_vectors.c:967,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 894
    functionDepth: 1
    functionLinenumber: 894
    functionLinenumberEnd: 970
    functionName: test_vector_ccmp_256
    functionSourceFile: /src/hostap/wlantest/test_vectors.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    - ccmp_256_encrypt
    - ccmp_256_decrypt
    - WPA_PUT_LE32
    - os_memcmp
    - os_free
    - ieee80211_crc32
    linkageType: ''
    returnType: int
    signature: int test_vector_ccmp_256(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:999,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:1002,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:1003,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:1004,1
    - Dst: bip_gmac_protect
      Src: /src/hostap/wlantest/test_vectors.c:1006,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:1009,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:1013,1
    - Dst: os_memcmp
      Src: /src/hostap/wlantest/test_vectors.c:1014,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:1015,1
    - Dst: os_free
      Src: /src/hostap/wlantest/test_vectors.c:1018,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 973
    functionDepth: 1
    functionLinenumber: 973
    functionLinenumberEnd: 1021
    functionName: test_vector_bip_gmac_128
    functionSourceFile: /src/hostap/wlantest/test_vectors.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    - os_memcmp
    - os_free
    - bip_gmac_protect
    linkageType: ''
    returnType: int
    signature: int test_vector_bip_gmac_128(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:1050,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:1053,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:1054,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:1055,1
    - Dst: bip_gmac_protect_s1g_beacon
      Src: /src/hostap/wlantest/test_vectors.c:1057,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:1061,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:1066,1
    - Dst: os_memcmp
      Src: /src/hostap/wlantest/test_vectors.c:1067,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:1068,1
    - Dst: os_free
      Src: /src/hostap/wlantest/test_vectors.c:1072,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 1024
    functionDepth: 1
    functionLinenumber: 1024
    functionLinenumberEnd: 1075
    functionName: test_vector_bip_gmac_128_s1g_beacon
    functionSourceFile: /src/hostap/wlantest/test_vectors.c
    functionUses: 0
    functionsReached:
    - bip_gmac_protect_s1g_beacon
    - wpa_printf
    - wpa_hexdump
    - os_memcmp
    - os_free
    linkageType: ''
    returnType: int
    signature: int test_vector_bip_gmac_128_s1g_beacon(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:1103,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:1106,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:1107,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:1108,1
    - Dst: bip_gmac_protect_s1g_beacon
      Src: /src/hostap/wlantest/test_vectors.c:1110,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:1114,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:1119,1
    - Dst: os_memcmp
      Src: /src/hostap/wlantest/test_vectors.c:1120,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:1121,1
    - Dst: os_free
      Src: /src/hostap/wlantest/test_vectors.c:1125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1128
      start: 1078
    functionDepth: 1
    functionLinenumber: 1078
    functionLinenumberEnd: 1128
    functionName: test_vector_bip_gmac_128_s1g_beacon_ext
    functionSourceFile: /src/hostap/wlantest/test_vectors.c
    functionUses: 0
    functionsReached:
    - bip_gmac_protect_s1g_beacon
    - wpa_printf
    - wpa_hexdump
    - os_memcmp
    - os_free
    linkageType: ''
    returnType: int
    signature: int test_vector_bip_gmac_128_s1g_beacon_ext(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:1156,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:1159,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:1160,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:1161,1
    - Dst: bip_gmac_protect_s1g_beacon
      Src: /src/hostap/wlantest/test_vectors.c:1163,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:1167,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:1172,1
    - Dst: os_memcmp
      Src: /src/hostap/wlantest/test_vectors.c:1173,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:1174,1
    - Dst: os_free
      Src: /src/hostap/wlantest/test_vectors.c:1178,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1181
      start: 1131
    functionDepth: 1
    functionLinenumber: 1131
    functionLinenumberEnd: 1181
    functionName: test_vector_bip_gmac_128_s1g_beacon_bce
    functionSourceFile: /src/hostap/wlantest/test_vectors.c
    functionUses: 0
    functionsReached:
    - bip_gmac_protect_s1g_beacon
    - wpa_printf
    - wpa_hexdump
    - os_memcmp
    - os_free
    linkageType: ''
    returnType: int
    signature: int test_vector_bip_gmac_128_s1g_beacon_bce(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:1208,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:1211,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:1212,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:1213,1
    - Dst: bip_gmac_protect_s1g_beacon
      Src: /src/hostap/wlantest/test_vectors.c:1215,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:1219,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:1224,1
    - Dst: os_memcmp
      Src: /src/hostap/wlantest/test_vectors.c:1225,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:1226,1
    - Dst: os_free
      Src: /src/hostap/wlantest/test_vectors.c:1230,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1233
      start: 1184
    functionDepth: 1
    functionLinenumber: 1184
    functionLinenumberEnd: 1233
    functionName: test_vector_bip_gmac_128_s1g_beacon_bce_ext
    functionSourceFile: /src/hostap/wlantest/test_vectors.c
    functionUses: 0
    functionsReached:
    - bip_gmac_protect_s1g_beacon
    - wpa_printf
    - wpa_hexdump
    - os_memcmp
    - os_free
    linkageType: ''
    returnType: int
    signature: int test_vector_bip_gmac_128_s1g_beacon_bce_ext(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:1264,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:1266,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:1267,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:1268,1
    - Dst: bip_gmac_protect
      Src: /src/hostap/wlantest/test_vectors.c:1270,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:1273,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:1277,1
    - Dst: os_memcmp
      Src: /src/hostap/wlantest/test_vectors.c:1278,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:1279,1
    - Dst: os_free
      Src: /src/hostap/wlantest/test_vectors.c:1282,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1285
      start: 1236
    functionDepth: 1
    functionLinenumber: 1236
    functionLinenumberEnd: 1285
    functionName: test_vector_bip_gmac_256
    functionSourceFile: /src/hostap/wlantest/test_vectors.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    - os_memcmp
    - os_free
    - bip_gmac_protect
    linkageType: ''
    returnType: int
    signature: int test_vector_bip_gmac_256(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:1316,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:1319,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:1320,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:1321,1
    - Dst: bip_gmac_protect_s1g_beacon
      Src: /src/hostap/wlantest/test_vectors.c:1323,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:1327,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:1332,1
    - Dst: os_memcmp
      Src: /src/hostap/wlantest/test_vectors.c:1333,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:1334,1
    - Dst: os_free
      Src: /src/hostap/wlantest/test_vectors.c:1338,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1341
      start: 1288
    functionDepth: 1
    functionLinenumber: 1288
    functionLinenumberEnd: 1341
    functionName: test_vector_bip_gmac_256_s1g_beacon
    functionSourceFile: /src/hostap/wlantest/test_vectors.c
    functionUses: 0
    functionsReached:
    - bip_gmac_protect_s1g_beacon
    - wpa_printf
    - wpa_hexdump
    - os_memcmp
    - os_free
    linkageType: ''
    returnType: int
    signature: int test_vector_bip_gmac_256_s1g_beacon(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:1371,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:1374,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:1375,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:1376,1
    - Dst: bip_gmac_protect_s1g_beacon
      Src: /src/hostap/wlantest/test_vectors.c:1378,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:1382,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:1387,1
    - Dst: os_memcmp
      Src: /src/hostap/wlantest/test_vectors.c:1388,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:1389,1
    - Dst: os_free
      Src: /src/hostap/wlantest/test_vectors.c:1393,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1396
      start: 1344
    functionDepth: 1
    functionLinenumber: 1344
    functionLinenumberEnd: 1396
    functionName: test_vector_bip_gmac_256_s1g_beacon_ext
    functionSourceFile: /src/hostap/wlantest/test_vectors.c
    functionUses: 0
    functionsReached:
    - bip_gmac_protect_s1g_beacon
    - wpa_printf
    - wpa_hexdump
    - os_memcmp
    - os_free
    linkageType: ''
    returnType: int
    signature: int test_vector_bip_gmac_256_s1g_beacon_ext(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:1426,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:1429,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:1430,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:1431,1
    - Dst: bip_gmac_protect_s1g_beacon
      Src: /src/hostap/wlantest/test_vectors.c:1433,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:1437,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:1442,1
    - Dst: os_memcmp
      Src: /src/hostap/wlantest/test_vectors.c:1443,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:1444,1
    - Dst: os_free
      Src: /src/hostap/wlantest/test_vectors.c:1448,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1451
      start: 1399
    functionDepth: 1
    functionLinenumber: 1399
    functionLinenumberEnd: 1451
    functionName: test_vector_bip_gmac_256_s1g_beacon_bce
    functionSourceFile: /src/hostap/wlantest/test_vectors.c
    functionUses: 0
    functionsReached:
    - bip_gmac_protect_s1g_beacon
    - wpa_printf
    - wpa_hexdump
    - os_memcmp
    - os_free
    linkageType: ''
    returnType: int
    signature: int test_vector_bip_gmac_256_s1g_beacon_bce(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:1480,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:1483,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:1484,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:1485,1
    - Dst: bip_gmac_protect_s1g_beacon
      Src: /src/hostap/wlantest/test_vectors.c:1487,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:1491,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/test_vectors.c:1496,1
    - Dst: os_memcmp
      Src: /src/hostap/wlantest/test_vectors.c:1497,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:1498,1
    - Dst: os_free
      Src: /src/hostap/wlantest/test_vectors.c:1502,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1505
      start: 1454
    functionDepth: 1
    functionLinenumber: 1454
    functionLinenumberEnd: 1505
    functionName: test_vector_bip_gmac_256_s1g_beacon_bce_ext
    functionSourceFile: /src/hostap/wlantest/test_vectors.c
    functionUses: 0
    functionsReached:
    - bip_gmac_protect_s1g_beacon
    - wpa_printf
    - wpa_hexdump
    - os_memcmp
    - os_free
    linkageType: ''
    returnType: int
    signature: int test_vector_bip_gmac_256_s1g_beacon_bce_ext(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_program_init
      Src: /src/hostap/wlantest/test_vectors.c:1515,1
    - Dst: test_vector_tkip
      Src: /src/hostap/wlantest/test_vectors.c:1518,1
    - Dst: test_vector_ccmp
      Src: /src/hostap/wlantest/test_vectors.c:1519,1
    - Dst: test_vector_ccmp_pv1
      Src: /src/hostap/wlantest/test_vectors.c:1520,1
    - Dst: test_vector_bip
      Src: /src/hostap/wlantest/test_vectors.c:1521,1
    - Dst: test_vector_bip_s1g_beacon
      Src: /src/hostap/wlantest/test_vectors.c:1522,1
    - Dst: test_vector_bip_s1g_beacon_ext
      Src: /src/hostap/wlantest/test_vectors.c:1523,1
    - Dst: test_vector_bip_s1g_beacon_bce
      Src: /src/hostap/wlantest/test_vectors.c:1524,1
    - Dst: test_vector_bip_s1g_beacon_bce_ext
      Src: /src/hostap/wlantest/test_vectors.c:1525,1
    - Dst: test_vector_ccmp_mgmt
      Src: /src/hostap/wlantest/test_vectors.c:1526,1
    - Dst: test_vector_gcmp
      Src: /src/hostap/wlantest/test_vectors.c:1527,1
    - Dst: test_vector_gcmp_256
      Src: /src/hostap/wlantest/test_vectors.c:1528,1
    - Dst: test_vector_ccmp_256
      Src: /src/hostap/wlantest/test_vectors.c:1529,1
    - Dst: test_vector_bip_gmac_128
      Src: /src/hostap/wlantest/test_vectors.c:1530,1
    - Dst: test_vector_bip_gmac_128_s1g_beacon
      Src: /src/hostap/wlantest/test_vectors.c:1531,1
    - Dst: test_vector_bip_gmac_128_s1g_beacon_ext
      Src: /src/hostap/wlantest/test_vectors.c:1532,1
    - Dst: test_vector_bip_gmac_128_s1g_beacon_bce
      Src: /src/hostap/wlantest/test_vectors.c:1533,1
    - Dst: test_vector_bip_gmac_128_s1g_beacon_bce_ext
      Src: /src/hostap/wlantest/test_vectors.c:1534,1
    - Dst: test_vector_bip_gmac_256
      Src: /src/hostap/wlantest/test_vectors.c:1535,1
    - Dst: test_vector_bip_gmac_256_s1g_beacon
      Src: /src/hostap/wlantest/test_vectors.c:1536,1
    - Dst: test_vector_bip_gmac_256_s1g_beacon_ext
      Src: /src/hostap/wlantest/test_vectors.c:1537,1
    - Dst: test_vector_bip_gmac_256_s1g_beacon_bce
      Src: /src/hostap/wlantest/test_vectors.c:1538,1
    - Dst: test_vector_bip_gmac_256_s1g_beacon_bce_ext
      Src: /src/hostap/wlantest/test_vectors.c:1539,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/test_vectors.c:1542,1
    - Dst: os_program_deinit
      Src: /src/hostap/wlantest/test_vectors.c:1543,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1546
      start: 1508
    functionDepth: 5
    functionLinenumber: 1508
    functionLinenumberEnd: 1546
    functionName: main
    functionSourceFile: /src/hostap/wlantest/test_vectors.c
    functionUses: 1
    functionsReached:
    - os_program_init
    - test_vector_bip_gmac_256_s1g_beacon_bce
    - test_vector_ccmp_256
    - test_vector_ccmp
    - test_vector_bip_gmac_256_s1g_beacon_ext
    - test_vector_ccmp_pv1
    - os_program_deinit
    - test_vector_bip_gmac_128_s1g_beacon_bce
    - test_vector_bip_gmac_128_s1g_beacon_bce_ext
    - test_vector_bip_gmac_128
    - wpa_printf
    - test_vector_tkip
    - test_vector_gcmp
    - test_vector_bip_s1g_beacon_bce
    - test_vector_bip_s1g_beacon_ext
    - test_vector_gcmp_256
    - test_vector_bip_gmac_128_s1g_beacon
    - test_vector_bip
    - test_vector_bip_gmac_256
    - test_vector_ccmp_mgmt
    - test_vector_bip_s1g_beacon
    - test_vector_bip_gmac_128_s1g_beacon_ext
    - test_vector_bip_s1g_beacon_bce_ext
    - test_vector_bip_gmac_256_s1g_beacon_bce_ext
    - test_vector_bip_gmac_256_s1g_beacon
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 16
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 34
    argCount: 1
    argNames:
    - stype
    argTypes:
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 52
    functionName: data_stype
    functionSourceFile: /src/hostap/wlantest/rx_data.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * data_stype(u16 stype)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WPA_GET_BE16
      Src: /src/hostap/wlantest/rx_data.c:69,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_data.c:70,1
    - Dst: rx_data_eth
      Src: /src/hostap/wlantest/rx_data.c:73,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/wlantest/rx_data.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 9
    argNames:
    - wt
    - bssid
    - sta_addr
    - dst
    - src
    - data
    - len
    - prot
    - peer_addr
    argTypes:
    - struct wlantest*
    - u8*
    - u8*
    - u8*
    - u8*
    - u8*
    - size_t
    - int
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 75
    functionName: rx_data_vlan
    functionSourceFile: /src/hostap/wlantest/rx_data.c
    functionUses: 0
    functionsReached:
    - WPA_GET_BE16
    - wpa_printf
    - rx_data_eth
    linkageType: ''
    returnType: void
    signature: "void rx_data_vlan(struct wlantest *wt, const u8 *bssid,\n\t\t\t const
      u8 *sta_addr, const u8 *dst, const u8 *src,\n\t\t\t const u8 *data, size_t len,
      int prot,\n\t\t\t const u8 *peer_addr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rx_data_eapol
      Src: /src/hostap/wlantest/rx_data.c:85,1
    - Dst: rx_data_ip
      Src: /src/hostap/wlantest/rx_data.c:88,1
    - Dst: rx_data_80211_encap
      Src: /src/hostap/wlantest/rx_data.c:92,1
    - Dst: rx_data_vlan
      Src: /src/hostap/wlantest/rx_data.c:95,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 10
    argNames:
    - wt
    - bssid
    - sta_addr
    - dst
    - src
    - ethertype
    - data
    - len
    - prot
    - peer_addr
    argTypes:
    - struct wlantest*
    - u8*
    - u8*
    - u8*
    - u8*
    - u16
    - u8*
    - size_t
    - int
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 99
    functionName: rx_data_eth
    functionSourceFile: /src/hostap/wlantest/rx_data.c
    functionUses: 1
    functionsReached:
    - rx_data_80211_encap
    - rx_data_ip
    - rx_data_eapol
    - rx_data_vlan
    linkageType: ''
    returnType: void
    signature: "void rx_data_eth(struct wlantest *wt, const u8 *bssid,\n\t\t\tconst
      u8 *sta_addr, const u8 *dst, const u8 *src,\n\t\t\tu16 ethertype, const u8 *data,
      size_t len, int prot,\n\t\t\tconst u8 *peer_addr)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BIT
      Src: /src/hostap/wlantest/rx_data.c:112,1
    - Dst: BIT
      Src: /src/hostap/wlantest/rx_data.c:113,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_data.c:119,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_data.c:126,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_data.c:133,1
    - Dst: os_memcmp
      Src: /src/hostap/wlantest/rx_data.c:142,1
    - Dst: rx_data_eth
      Src: /src/hostap/wlantest/rx_data.c:143,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/wlantest/rx_data.c:144,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_data.c:149,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 11
    argNames:
    - wt
    - bss
    - bssid
    - sta_addr
    - dst
    - src
    - data
    - len
    - prot
    - peer_addr
    - qos
    argTypes:
    - struct wlantest*
    - struct wlantest_bss*
    - u8*
    - u8*
    - u8*
    - u8*
    - u8*
    - size_t
    - int
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 102
    functionDepth: 3
    functionLinenumber: 102
    functionLinenumberEnd: 150
    functionName: rx_data_process
    functionSourceFile: /src/hostap/wlantest/rx_data.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - WPA_GET_BE16
    - wpa_hexdump
    - BIT
    - rx_data_eth
    - os_memcmp
    linkageType: ''
    returnType: void
    signature: "void rx_data_process(struct wlantest *wt, struct wlantest_bss *bss,\n\t\t\t
      \   const u8 *bssid,\n\t\t\t    const u8 *sta_addr,\n\t\t\t    const u8 *dst,
      const u8 *src,\n\t\t\t    const u8 *data, size_t len, int prot,\n\t\t\t    const
      u8 *peer_addr, const u8 *qos)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ccmp_decrypt
      Src: /src/hostap/wlantest/rx_data.c:164,1
    - Dst: ccmp_256_decrypt
      Src: /src/hostap/wlantest/rx_data.c:168,1
    - Dst: gcmp_decrypt
      Src: /src/hostap/wlantest/rx_data.c:174,1
    - Dst: tkip_decrypt
      Src: /src/hostap/wlantest/rx_data.c:180,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_data.c:184,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_data.c:186,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 19
    argCount: 10
    argNames:
    - wt
    - pairwise_cipher
    - ptk
    - hdr
    - a1
    - a2
    - a3
    - data
    - data_len
    - decrypted_len
    argTypes:
    - struct wlantest*
    - int
    - struct wpa_ptk*
    - struct ieee80211_hdr*
    - u8*
    - u8*
    - u8*
    - u8*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 153
    functionDepth: 3
    functionLinenumber: 153
    functionLinenumberEnd: 190
    functionName: try_ptk
    functionSourceFile: /src/hostap/wlantest/rx_data.c
    functionUses: 0
    functionsReached:
    - ccmp_decrypt
    - add_note
    - tkip_decrypt
    - ccmp_256_decrypt
    - gcmp_decrypt
    linkageType: ''
    returnType: u8
    signature: "u8 * try_ptk(struct wlantest *wt, int pairwise_cipher,\n\t\t    struct
      wpa_ptk *ptk, const struct ieee80211_hdr *hdr,\n\t\t    const u8 *a1, const
      u8 *a2, const u8 *a3,\n\t\t    const u8 *data, size_t data_len, size_t *decrypted_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/wlantest/rx_data.c:203,1
    - Dst: try_ptk
      Src: /src/hostap/wlantest/rx_data.c:204,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_data.c:208,1
    - Dst: write_decrypted_note
      Src: /src/hostap/wlantest/rx_data.c:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 10
    argNames:
    - wt
    - pairwise_cipher
    - hdr
    - a1
    - a2
    - a3
    - keyid
    - data
    - data_len
    - decrypted_len
    argTypes:
    - struct wlantest*
    - int
    - struct ieee80211_hdr*
    - u8*
    - u8*
    - u8*
    - int
    - u8*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 193
    functionDepth: 4
    functionLinenumber: 193
    functionLinenumberEnd: 218
    functionName: try_all_ptk
    functionSourceFile: /src/hostap/wlantest/rx_data.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    - try_ptk
    - write_decrypted_note
    - add_note
    linkageType: ''
    returnType: u8
    signature: "u8 * try_all_ptk(struct wlantest *wt, int pairwise_cipher,\n\t\t\tconst
      struct ieee80211_hdr *hdr,\n\t\t\tconst u8 *a1, const u8 *a2, const u8 *a3,
      int keyid,\n\t\t\tconst u8 *data, size_t data_len, size_t *decrypted_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_data.c:229,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_data.c:231,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_data.c:233,1
    - Dst: WLAN_GET_SEQ_SEQ
      Src: /src/hostap/wlantest/rx_data.c:234,1
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/rx_data.c:234,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 4
    argNames:
    - wt
    - hdr
    - data
    - len
    argTypes:
    - struct wlantest*
    - struct ieee80211_hdr*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 235
    functionName: check_plaintext_prot
    functionSourceFile: /src/hostap/wlantest/rx_data.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - add_note
    - MAC2STR
    - WLAN_GET_SEQ_SEQ
    - le_to_host16
    linkageType: ''
    returnType: void
    signature: "void check_plaintext_prot(struct wlantest *wt,\n\t\t\t\t const struct
      ieee80211_hdr *hdr,\n\t\t\t\t const u8 *data, size_t len)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: bss_get
      Src: /src/hostap/wlantest/rx_data.c:251,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_data.c:255,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_data.c:261,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_data.c:263,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_data.c:269,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_data.c:271,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_data.c:274,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_data.c:277,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_data.c:282,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_data.c:284,1
    - Dst: check_plaintext_prot
      Src: /src/hostap/wlantest/rx_data.c:288,1
    - Dst: dl_list_empty
      Src: /src/hostap/wlantest/rx_data.c:292,1
    - Dst: try_all_ptk
      Src: /src/hostap/wlantest/rx_data.c:293,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_data.c:297,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_data.c:300,1
    - Dst: tkip_get_pn
      Src: /src/hostap/wlantest/rx_data.c:305,1
    - Dst: ccmp_get_pn
      Src: /src/hostap/wlantest/rx_data.c:309,1
    - Dst: os_memcmp
      Src: /src/hostap/wlantest/rx_data.c:310,1
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/rx_data.c:311,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/wlantest/rx_data.c:314,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/wlantest/rx_data.c:315,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_data.c:316,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_data.c:319,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_data.c:319,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_data.c:320,1
    - Dst: WLAN_GET_SEQ_SEQ
      Src: /src/hostap/wlantest/rx_data.c:321,1
    - Dst: WLAN_GET_SEQ_FRAG
      Src: /src/hostap/wlantest/rx_data.c:322,1
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/rx_data.c:323,1
    - Dst: tkip_decrypt
      Src: /src/hostap/wlantest/rx_data.c:333,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_data.c:336,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_data.c:338,1
    - Dst: wep_decrypt
      Src: /src/hostap/wlantest/rx_data.c:340,1
    - Dst: ccmp_decrypt
      Src: /src/hostap/wlantest/rx_data.c:342,1
    - Dst: ccmp_256_decrypt
      Src: /src/hostap/wlantest/rx_data.c:345,1
    - Dst: gcmp_decrypt
      Src: /src/hostap/wlantest/rx_data.c:350,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/wlantest/rx_data.c:358,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_data.c:360,1
    - Dst: rx_data_process
      Src: /src/hostap/wlantest/rx_data.c:362,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_data.c:365,1
    - Dst: write_pcap_decrypted
      Src: /src/hostap/wlantest/rx_data.c:366,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_data.c:369,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_data.c:371,1
    - Dst: WLAN_GET_SEQ_SEQ
      Src: /src/hostap/wlantest/rx_data.c:372,1
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/rx_data.c:372,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_data.c:373,1
    - Dst: os_free
      Src: /src/hostap/wlantest/rx_data.c:375,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 82
    argCount: 8
    argNames:
    - wt
    - hdr
    - hdrlen
    - qos
    - dst
    - src
    - data
    - len
    argTypes:
    - struct wlantest*
    - struct ieee80211_hdr*
    - size_t
    - u8*
    - u8*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 238
    functionDepth: 5
    functionLinenumber: 238
    functionLinenumberEnd: 376
    functionName: rx_data_bss_prot_group
    functionSourceFile: /src/hostap/wlantest/rx_data.c
    functionUses: 0
    functionsReached:
    - wep_decrypt
    - add_note
    - ccmp_get_pn
    - tkip_decrypt
    - gcmp_decrypt
    - WLAN_GET_SEQ_FRAG
    - wpa_printf
    - tkip_get_pn
    - wpa_snprintf_hex
    - dl_list_empty
    - WLAN_GET_SEQ_SEQ
    - bss_get
    - os_memcmp
    - write_pcap_decrypted
    - os_free
    - rx_data_process
    - check_plaintext_prot
    - os_memcpy
    - ccmp_decrypt
    - try_all_ptk
    - MAC2STR
    - ccmp_256_decrypt
    - le_to_host16
    linkageType: ''
    returnType: void
    signature: "void rx_data_bss_prot_group(struct wlantest *wt,\n\t\t\t\t   const
      struct ieee80211_hdr *hdr,\n\t\t\t\t   size_t hdrlen,\n\t\t\t\t   const u8 *qos,
      const u8 *dst, const u8 *src,\n\t\t\t\t   const u8 *data, size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ccmp_256_decrypt
      Src: /src/hostap/wlantest/rx_data.c:389,1
    - Dst: gcmp_decrypt
      Src: /src/hostap/wlantest/rx_data.c:393,1
    - Dst: ccmp_decrypt
      Src: /src/hostap/wlantest/rx_data.c:396,1
    - Dst: write_decrypted_note
      Src: /src/hostap/wlantest/rx_data.c:397,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 12
    argNames:
    - wt
    - sta
    - hdr
    - a1
    - a2
    - a3
    - keyid
    - data
    - len
    - tk
    - tk_len
    - dlen
    argTypes:
    - struct wlantest*
    - struct wlantest_sta*
    - struct ieee80211_hdr*
    - u8*
    - u8*
    - u8*
    - int
    - u8*
    - size_t
    - u8*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 379
    functionDepth: 3
    functionLinenumber: 379
    functionLinenumberEnd: 400
    functionName: try_ptk_decrypt
    functionSourceFile: /src/hostap/wlantest/rx_data.c
    functionUses: 0
    functionsReached:
    - write_decrypted_note
    - ccmp_decrypt
    - ccmp_256_decrypt
    - gcmp_decrypt
    linkageType: ''
    returnType: u8
    signature: "u8 * try_ptk_decrypt(struct wlantest *wt, struct wlantest_sta *sta,\n\t\t\t
      \   const struct ieee80211_hdr *hdr,\n\t\t\t    const u8 *a1, const u8 *a2,
      const u8 *a3,\n\t\t\t    int keyid,\n\t\t\t    const u8 *data, size_t len,\n\t\t\t
      \   const u8 *tk, size_t tk_len, size_t *dlen)"
  - BBCount: 68
    BranchProfiles: []
    Callsites:
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/rx_data.c:411,1
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/rx_data.c:422,1
    - Dst: rx_data_bss_prot_group
      Src: /src/hostap/wlantest/rx_data.c:427,1
    - Dst: bss_find
      Src: /src/hostap/wlantest/rx_data.c:434,1
    - Dst: sta_find_mlo
      Src: /src/hostap/wlantest/rx_data.c:436,1
    - Dst: bss_find
      Src: /src/hostap/wlantest/rx_data.c:443,1
    - Dst: sta_find_mlo
      Src: /src/hostap/wlantest/rx_data.c:445,1
    - Dst: bss_find
      Src: /src/hostap/wlantest/rx_data.c:455,1
    - Dst: sta_find_mlo
      Src: /src/hostap/wlantest/rx_data.c:458,1
    - Dst: bss_get
      Src: /src/hostap/wlantest/rx_data.c:463,1
    - Dst: sta_find_mlo
      Src: /src/hostap/wlantest/rx_data.c:466,1
    - Dst: sta_get
      Src: /src/hostap/wlantest/rx_data.c:468,1
    - Dst: bss_get
      Src: /src/hostap/wlantest/rx_data.c:473,1
    - Dst: sta_find_mlo
      Src: /src/hostap/wlantest/rx_data.c:476,1
    - Dst: sta_get
      Src: /src/hostap/wlantest/rx_data.c:478,1
    - Dst: bss_get
      Src: /src/hostap/wlantest/rx_data.c:482,1
    - Dst: sta_find
      Src: /src/hostap/wlantest/rx_data.c:485,1
    - Dst: sta_find
      Src: /src/hostap/wlantest/rx_data.c:486,1
    - Dst: dl_list_for_each
      Src: /src/hostap/wlantest/rx_data.c:490,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_data.c:501,1
    - Dst: check_plaintext_prot
      Src: /src/hostap/wlantest/rx_data.c:508,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_data.c:512,1
    - Dst: dl_list_empty
      Src: /src/hostap/wlantest/rx_data.c:513,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_data.c:526,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_data.c:536,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_data.c:538,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_data.c:544,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_data.c:546,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_data.c:549,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_data.c:552,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_data.c:560,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_data.c:562,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_data.c:571,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_data.c:574,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wlantest/rx_data.c:591,1
    - Dst: tkip_get_pn
      Src: /src/hostap/wlantest/rx_data.c:608,1
    - Dst: ccmp_get_pn
      Src: /src/hostap/wlantest/rx_data.c:612,1
    - Dst: os_memcmp
      Src: /src/hostap/wlantest/rx_data.c:613,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/wlantest/rx_data.c:616,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/wlantest/rx_data.c:617,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_data.c:618,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_data.c:621,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_data.c:621,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_data.c:622,1
    - Dst: WLAN_GET_SEQ_SEQ
      Src: /src/hostap/wlantest/rx_data.c:623,1
    - Dst: WLAN_GET_SEQ_FRAG
      Src: /src/hostap/wlantest/rx_data.c:624,1
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/rx_data.c:625,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wlantest/rx_data.c:633,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wlantest/rx_data.c:634,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wlantest/rx_data.c:644,1
    - Dst: ccmp_256_decrypt
      Src: /src/hostap/wlantest/rx_data.c:650,1
    - Dst: write_decrypted_note
      Src: /src/hostap/wlantest/rx_data.c:652,1
    - Dst: gcmp_decrypt
      Src: /src/hostap/wlantest/rx_data.c:655,1
    - Dst: write_decrypted_note
      Src: /src/hostap/wlantest/rx_data.c:657,1
    - Dst: ccmp_decrypt
      Src: /src/hostap/wlantest/rx_data.c:660,1
    - Dst: write_decrypted_note
      Src: /src/hostap/wlantest/rx_data.c:662,1
    - Dst: tkip_decrypt
      Src: /src/hostap/wlantest/rx_data.c:667,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_data.c:670,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_data.c:672,1
    - Dst: write_decrypted_note
      Src: /src/hostap/wlantest/rx_data.c:673,1
    - Dst: wep_decrypt
      Src: /src/hostap/wlantest/rx_data.c:675,1
    - Dst: try_ptk_decrypt
      Src: /src/hostap/wlantest/rx_data.c:677,1
    - Dst: try_all_ptk
      Src: /src/hostap/wlantest/rx_data.c:682,1
    - Dst: try_all_ptk
      Src: /src/hostap/wlantest/rx_data.c:688,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_data.c:692,1
    - Dst: os_memset
      Src: /src/hostap/wlantest/rx_data.c:700,1
    - Dst: wpa_cipher_key_len
      Src: /src/hostap/wlantest/rx_data.c:701,1
    - Dst: try_ptk
      Src: /src/hostap/wlantest/rx_data.c:703,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_data.c:707,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_data.c:709,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_data.c:711,1
    - Dst: WLAN_GET_SEQ_SEQ
      Src: /src/hostap/wlantest/rx_data.c:712,1
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/rx_data.c:713,1
    - Dst: write_decrypted_note
      Src: /src/hostap/wlantest/rx_data.c:714,1
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/rx_data.c:719,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_data.c:724,1
    - Dst: rx_data_process
      Src: /src/hostap/wlantest/rx_data.c:725,1
    - Dst: write_pcap_decrypted
      Src: /src/hostap/wlantest/rx_data.c:727,1
    - Dst: try_ptk_decrypt
      Src: /src/hostap/wlantest/rx_data.c:733,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_data.c:738,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_data.c:740,1
    - Dst: os_memset
      Src: /src/hostap/wlantest/rx_data.c:743,1
    - Dst: os_memset
      Src: /src/hostap/wlantest/rx_data.c:744,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_data.c:748,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_data.c:751,1
    - Dst: WLAN_GET_SEQ_SEQ
      Src: /src/hostap/wlantest/rx_data.c:752,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_data.c:753,1
    - Dst: os_free
      Src: /src/hostap/wlantest/rx_data.c:762,1
    CyclomaticComplexity: 101
    EdgeCount: 101
    ICount: 242
    argCount: 8
    argNames:
    - wt
    - hdr
    - hdrlen
    - qos
    - dst
    - src
    - data
    - len
    argTypes:
    - struct wlantest*
    - struct ieee80211_hdr*
    - size_t
    - u8*
    - u8*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 403
    functionDepth: 6
    functionLinenumber: 403
    functionLinenumberEnd: 763
    functionName: rx_data_bss_prot
    functionSourceFile: /src/hostap/wlantest/rx_data.c
    functionUses: 0
    functionsReached:
    - wep_decrypt
    - add_note
    - ccmp_get_pn
    - tkip_decrypt
    - gcmp_decrypt
    - WLAN_GET_SEQ_FRAG
    - wpa_printf
    - tkip_get_pn
    - wpa_snprintf_hex
    - dl_list_empty
    - ether_addr_equal
    - dl_list_for_each
    - WLAN_GET_SEQ_SEQ
    - write_decrypted_note
    - bss_get
    - os_memcmp
    - write_pcap_decrypted
    - rx_data_bss_prot_group
    - os_free
    - sta_find
    - try_ptk_decrypt
    - rx_data_process
    - is_zero_ether_addr
    - check_plaintext_prot
    - sta_find_mlo
    - sta_get
    - os_memset
    - try_ptk
    - os_memcpy
    - wpa_cipher_key_len
    - ccmp_decrypt
    - bss_find
    - try_all_ptk
    - MAC2STR
    - ccmp_256_decrypt
    - le_to_host16
    linkageType: ''
    returnType: void
    signature: "void rx_data_bss_prot(struct wlantest *wt,\n\t\t\t     const struct
      ieee80211_hdr *hdr, size_t hdrlen,\n\t\t\t     const u8 *qos, const u8 *dst,
      const u8 *src,\n\t\t\t     const u8 *data, size_t len)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/rx_data.c:770,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_data.c:775,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_data.c:777,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_data.c:777,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_data.c:786,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_data.c:788,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_data.c:788,1
    - Dst: rx_data_bss_prot
      Src: /src/hostap/wlantest/rx_data.c:795,1
    - Dst: bss_get
      Src: /src/hostap/wlantest/rx_data.c:814,1
    - Dst: sta_find_mlo
      Src: /src/hostap/wlantest/rx_data.c:818,1
    - Dst: sta_get
      Src: /src/hostap/wlantest/rx_data.c:820,1
    - Dst: rx_data_process
      Src: /src/hostap/wlantest/rx_data.c:838,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 8
    argNames:
    - wt
    - hdr
    - hdrlen
    - qos
    - dst
    - src
    - data
    - len
    argTypes:
    - struct wlantest*
    - struct ieee80211_hdr*
    - size_t
    - u8*
    - u8*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 766
    functionDepth: 7
    functionLinenumber: 766
    functionLinenumberEnd: 841
    functionName: rx_data_bss
    functionSourceFile: /src/hostap/wlantest/rx_data.c
    functionUses: 0
    functionsReached:
    - rx_data_bss_prot
    - wpa_printf
    - rx_data_process
    - MAC2STR
    - bss_get
    - le_to_host16
    - sta_find_mlo
    - sta_get
    linkageType: ''
    returnType: void
    signature: "void rx_data_bss(struct wlantest *wt, const struct ieee80211_hdr *hdr,\n\t\t\tsize_t
      hdrlen, const u8 *qos, const u8 *dst,\n\t\t\tconst u8 *src, const u8 *data,
      size_t len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: bss_find
      Src: /src/hostap/wlantest/rx_data.c:852,1
    - Dst: sta_find
      Src: /src/hostap/wlantest/rx_data.c:855,1
    - Dst: sta_find
      Src: /src/hostap/wlantest/rx_data.c:858,1
    - Dst: dl_list_for_each
      Src: /src/hostap/wlantest/rx_data.c:862,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 4
    argNames:
    - wt
    - bssid
    - sta1_addr
    - sta2_addr
    argTypes:
    - struct wlantest*
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 844
    functionDepth: 1
    functionLinenumber: 844
    functionLinenumberEnd: 872
    functionName: get_tdls
    functionSourceFile: /src/hostap/wlantest/rx_data.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    - bss_find
    - sta_find
    linkageType: ''
    returnType: struct wlantest_tdls
    signature: "struct wlantest_tdls * get_tdls(struct wlantest *wt, const u8 *bssid,\n\t\t\t\t
      \      const u8 *sta1_addr,\n\t\t\t\t       const u8 *sta2_addr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_tdls
      Src: /src/hostap/wlantest/rx_data.c:880,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - wt
    - bssid
    - sta1_addr
    - sta2_addr
    argTypes:
    - struct wlantest*
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 888
    functionName: add_direct_link
    functionSourceFile: /src/hostap/wlantest/rx_data.c
    functionUses: 0
    functionsReached:
    - get_tdls
    linkageType: ''
    returnType: void
    signature: "void add_direct_link(struct wlantest *wt, const u8 *bssid,\n\t\t\t
      \   const u8 *sta1_addr, const u8 *sta2_addr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_tdls
      Src: /src/hostap/wlantest/rx_data.c:896,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - wt
    - bssid
    - sta1_addr
    - sta2_addr
    argTypes:
    - struct wlantest*
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 904
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 904
    functionName: add_ap_path
    functionSourceFile: /src/hostap/wlantest/rx_data.c
    functionUses: 0
    functionsReached:
    - get_tdls
    linkageType: ''
    returnType: void
    signature: "void add_ap_path(struct wlantest *wt, const u8 *bssid,\n\t\t\tconst
      u8 *sta1_addr, const u8 *sta2_addr)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/rx_data.c:918,1
    - Dst: WLAN_FC_GET_STYPE
      Src: /src/hostap/wlantest/rx_data.c:919,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_data.c:936,1
    - Dst: data_stype
      Src: /src/hostap/wlantest/rx_data.c:938,1
    - Dst: WLAN_FC_GET_STYPE
      Src: /src/hostap/wlantest/rx_data.c:938,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_data.c:941,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_data.c:941,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_data.c:942,1
    - Dst: add_direct_link
      Src: /src/hostap/wlantest/rx_data.c:943,1
    - Dst: rx_data_bss
      Src: /src/hostap/wlantest/rx_data.c:944,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_data.c:948,1
    - Dst: data_stype
      Src: /src/hostap/wlantest/rx_data.c:950,1
    - Dst: WLAN_FC_GET_STYPE
      Src: /src/hostap/wlantest/rx_data.c:950,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_data.c:953,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_data.c:953,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_data.c:954,1
    - Dst: add_ap_path
      Src: /src/hostap/wlantest/rx_data.c:955,1
    - Dst: rx_data_bss
      Src: /src/hostap/wlantest/rx_data.c:956,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_data.c:960,1
    - Dst: data_stype
      Src: /src/hostap/wlantest/rx_data.c:962,1
    - Dst: WLAN_FC_GET_STYPE
      Src: /src/hostap/wlantest/rx_data.c:962,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_data.c:965,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_data.c:965,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_data.c:966,1
    - Dst: add_ap_path
      Src: /src/hostap/wlantest/rx_data.c:967,1
    - Dst: rx_data_bss
      Src: /src/hostap/wlantest/rx_data.c:968,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_data.c:972,1
    - Dst: data_stype
      Src: /src/hostap/wlantest/rx_data.c:974,1
    - Dst: WLAN_FC_GET_STYPE
      Src: /src/hostap/wlantest/rx_data.c:974,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_data.c:977,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_data.c:977,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_data.c:978,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_data.c:979,1
    - Dst: rx_data_bss
      Src: /src/hostap/wlantest/rx_data.c:980,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 3
    argNames:
    - wt
    - data
    - len
    argTypes:
    - struct wlantest*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 907
    functionDepth: 8
    functionLinenumber: 907
    functionLinenumberEnd: 984
    functionName: rx_data
    functionSourceFile: /src/hostap/wlantest/rx_data.c
    functionUses: 0
    functionsReached:
    - add_ap_path
    - wpa_printf
    - WLAN_FC_GET_STYPE
    - add_direct_link
    - data_stype
    - MAC2STR
    - le_to_host16
    - rx_data_bss
    linkageType: ''
    returnType: void
    signature: void rx_data(struct wlantest *wt, const u8 *data, size_t len)
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 1
    argNames:
    - stype
    argTypes:
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 58
    functionName: mgmt_stype
    functionSourceFile: /src/hostap/wlantest/rx_mgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * mgmt_stype(u16 stype)
  - BBCount: 51
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:69,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wlantest/rx_mgmt.c:75,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:76,1
    - Dst: BIT
      Src: /src/hostap/wlantest/rx_mgmt.c:79,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:89,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:95,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:102,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:103,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:103,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wlantest/rx_mgmt.c:104,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_mgmt.c:105,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:106,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:108,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:114,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:118,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:120,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:126,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:130,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:132,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:138,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:142,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wlantest/rx_mgmt.c:144,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:146,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:152,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wlantest/rx_mgmt.c:156,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:158,1
    - Dst: BIT
      Src: /src/hostap/wlantest/rx_mgmt.c:168,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:172,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wlantest/rx_mgmt.c:176,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:178,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:191,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:195,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:201,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:205,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wlantest/rx_mgmt.c:207,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:212,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:219,1
    - Dst: for_each_element
      Src: /src/hostap/wlantest/rx_mgmt.c:222,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:231,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:233,1
    - Dst: wpabuf_free
      Src: /src/hostap/wlantest/rx_mgmt.c:238,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/wlantest/rx_mgmt.c:239,1
    - Dst: wpabuf_resize
      Src: /src/hostap/wlantest/rx_mgmt.c:250,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/wlantest/rx_mgmt.c:252,1
    - Dst: wpabuf_head
      Src: /src/hostap/wlantest/rx_mgmt.c:255,1
    - Dst: wpabuf_len
      Src: /src/hostap/wlantest/rx_mgmt.c:256,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:259,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:263,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wlantest/rx_mgmt.c:265,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:269,1
    - Dst: wpabuf_len
      Src: /src/hostap/wlantest/rx_mgmt.c:270,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:276,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:281,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:288,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:292,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:293,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_mgmt.c:295,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:297,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:301,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:307,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:311,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wlantest/rx_mgmt.c:312,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:317,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:321,1
    - Dst: WPA_GET_LE64
      Src: /src/hostap/wlantest/rx_mgmt.c:322,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:327,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:331,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wlantest/rx_mgmt.c:332,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:341,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:345,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wlantest/rx_mgmt.c:346,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:350,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:354,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:361,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:365,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:370,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:376,1
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/wlantest/rx_mgmt.c:380,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:384,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:388,1
    - Dst: wpabuf_free
      Src: /src/hostap/wlantest/rx_mgmt.c:395,1
    CyclomaticComplexity: 72
    EdgeCount: 72
    ICount: 219
    argCount: 5
    argNames:
    - ie
    - len
    - ap
    - sta
    - fields_len
    argTypes:
    - u8*
    - size_t
    - bool
    - struct wlantest_sta*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 396
    functionName: parse_basic_ml
    functionSourceFile: /src/hostap/wlantest/rx_mgmt.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpabuf_resize
    - wpa_hexdump
    - wpabuf_put_data
    - wpabuf_len
    - WPA_GET_LE64
    - is_zero_ether_addr
    - wpabuf_free
    - WPA_GET_LE16
    - wpabuf_alloc_copy
    - wpabuf_head
    - MAC2STR
    - BIT
    - ieee802_11_parse_elems
    - for_each_element
    linkageType: ''
    returnType: void
    signature: "void parse_basic_ml(const u8 *ie, size_t len, bool ap,\n\t\t\t   struct
      wlantest_sta *sta, size_t fields_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_11_defrag
      Src: /src/hostap/wlantest/rx_mgmt.c:404,1
    - Dst: parse_basic_ml
      Src: /src/hostap/wlantest/rx_mgmt.c:406,1
    - Dst: wpabuf_head
      Src: /src/hostap/wlantest/rx_mgmt.c:406,1
    - Dst: wpabuf_len
      Src: /src/hostap/wlantest/rx_mgmt.c:406,1
    - Dst: wpabuf_free
      Src: /src/hostap/wlantest/rx_mgmt.c:408,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - elems
    - ap
    - sta
    - fields_len
    argTypes:
    - struct ieee802_11_elems*
    - bool
    - struct wlantest_sta*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 399
    functionDepth: 2
    functionLinenumber: 399
    functionLinenumberEnd: 410
    functionName: parse_basic_ml_elems
    functionSourceFile: /src/hostap/wlantest/rx_mgmt.c
    functionUses: 0
    functionsReached:
    - wpabuf_len
    - parse_basic_ml
    - wpabuf_free
    - wpabuf_head
    - ieee802_11_defrag
    linkageType: ''
    returnType: void
    signature: "void parse_basic_ml_elems(struct ieee802_11_elems *elems, bool ap,\n\t\t\t\t
      struct wlantest_sta *sta, size_t fields_len)"
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:422,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wlantest/rx_mgmt.c:428,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:430,1
    - Dst: BIT
      Src: /src/hostap/wlantest/rx_mgmt.c:433,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:443,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:449,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:455,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:460,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:464,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:464,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wlantest/rx_mgmt.c:465,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_mgmt.c:466,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:467,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:469,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:476,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wlantest/rx_mgmt.c:480,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:482,1
    - Dst: BIT
      Src: /src/hostap/wlantest/rx_mgmt.c:492,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:497,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wlantest/rx_mgmt.c:501,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:503,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:517,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:521,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wlantest/rx_mgmt.c:523,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:528,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:535,1
    - Dst: for_each_element
      Src: /src/hostap/wlantest/rx_mgmt.c:539,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:548,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:550,1
    - Dst: wpabuf_free
      Src: /src/hostap/wlantest/rx_mgmt.c:555,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/wlantest/rx_mgmt.c:556,1
    - Dst: wpabuf_resize
      Src: /src/hostap/wlantest/rx_mgmt.c:567,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/wlantest/rx_mgmt.c:569,1
    - Dst: wpabuf_head
      Src: /src/hostap/wlantest/rx_mgmt.c:572,1
    - Dst: wpabuf_len
      Src: /src/hostap/wlantest/rx_mgmt.c:573,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:576,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:580,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wlantest/rx_mgmt.c:583,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:587,1
    - Dst: wpabuf_len
      Src: /src/hostap/wlantest/rx_mgmt.c:588,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:594,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:599,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:607,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:611,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:612,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_mgmt.c:614,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:616,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:620,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:627,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:636,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:644,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:650,1
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/wlantest/rx_mgmt.c:654,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:658,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:662,1
    - Dst: wpabuf_free
      Src: /src/hostap/wlantest/rx_mgmt.c:669,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 153
    argCount: 3
    argNames:
    - ie
    - len
    - sta
    argTypes:
    - u8*
    - size_t
    - struct wlantest_sta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 670
    functionName: parse_reconfig_ml
    functionSourceFile: /src/hostap/wlantest/rx_mgmt.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpabuf_resize
    - wpa_hexdump
    - wpabuf_put_data
    - wpabuf_len
    - is_zero_ether_addr
    - wpabuf_free
    - WPA_GET_LE16
    - wpabuf_alloc_copy
    - wpabuf_head
    - MAC2STR
    - BIT
    - ieee802_11_parse_elems
    - for_each_element
    linkageType: ''
    returnType: void
    signature: "void parse_reconfig_ml(const u8 *ie, size_t len,\n\t\t\t      struct
      wlantest_sta *sta)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_11_defrag
      Src: /src/hostap/wlantest/rx_mgmt.c:678,1
    - Dst: parse_reconfig_ml
      Src: /src/hostap/wlantest/rx_mgmt.c:681,1
    - Dst: wpabuf_head
      Src: /src/hostap/wlantest/rx_mgmt.c:681,1
    - Dst: wpabuf_len
      Src: /src/hostap/wlantest/rx_mgmt.c:681,1
    - Dst: wpabuf_free
      Src: /src/hostap/wlantest/rx_mgmt.c:682,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - elems
    - sta
    argTypes:
    - struct ieee802_11_elems*
    - struct wlantest_sta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 673
    functionDepth: 2
    functionLinenumber: 673
    functionLinenumberEnd: 684
    functionName: parse_reconfig_ml_elems
    functionSourceFile: /src/hostap/wlantest/rx_mgmt.c
    functionUses: 0
    functionsReached:
    - wpabuf_len
    - wpabuf_free
    - wpabuf_head
    - parse_reconfig_ml
    - ieee802_11_defrag
    linkageType: ''
    returnType: void
    signature: "void parse_reconfig_ml_elems(struct ieee802_11_elems *elems,\n\t\t\t\t
      \   struct wlantest_sta *sta)"
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: bss_get
      Src: /src/hostap/wlantest/rx_mgmt.c:702,1
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/rx_mgmt.c:707,1
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/wlantest/rx_mgmt.c:708,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:712,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:713,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_mgmt.c:719,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_mgmt.c:726,1
    - Dst: bss_update
      Src: /src/hostap/wlantest/rx_mgmt.c:734,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wlantest/rx_mgmt.c:766,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_mgmt.c:786,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:790,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:792,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:794,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:798,1
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/wlantest/rx_mgmt.c:800,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:803,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_mgmt.c:809,1
    - Dst: bss_get
      Src: /src/hostap/wlantest/rx_mgmt.c:813,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_mgmt.c:838,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_mgmt.c:846,1
    - Dst: bss_update
      Src: /src/hostap/wlantest/rx_mgmt.c:856,1
    - Dst: get_ie
      Src: /src/hostap/wlantest/rx_mgmt.c:860,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:863,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:865,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:875,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:876,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wlantest/rx_mgmt.c:881,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:883,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:884,1
    - Dst: WPA_GET_LE48
      Src: /src/hostap/wlantest/rx_mgmt.c:889,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:890,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:892,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:894,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:897,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:899,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:904,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:906,1
    - Dst: check_mmie_mic
      Src: /src/hostap/wlantest/rx_mgmt.c:910,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:912,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:913,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:918,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 143
    argCount: 3
    argNames:
    - wt
    - data
    - len
    argTypes:
    - struct wlantest*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 687
    functionDepth: 1
    functionLinenumber: 687
    functionLinenumberEnd: 920
    functionName: rx_mgmt_beacon
    functionSourceFile: /src/hostap/wlantest/rx_mgmt.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_printf
    - wpa_hexdump
    - WPA_GET_LE48
    - WPA_GET_LE16
    - add_note
    - get_ie
    - MAC2STR
    - bss_get
    - ieee802_11_parse_elems
    - bss_update
    - check_mmie_mic
    - le_to_host16
    linkageType: ''
    returnType: void
    signature: void rx_mgmt_beacon(struct wlantest *wt, const u8 *data, size_t len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bss_get
      Src: /src/hostap/wlantest/rx_mgmt.c:934,1
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/rx_mgmt.c:939,1
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/wlantest/rx_mgmt.c:940,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:944,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:945,1
    - Dst: bss_update
      Src: /src/hostap/wlantest/rx_mgmt.c:950,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - wt
    - data
    - len
    argTypes:
    - struct wlantest*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 923
    functionDepth: 1
    functionLinenumber: 923
    functionLinenumberEnd: 951
    functionName: rx_mgmt_probe_resp
    functionSourceFile: /src/hostap/wlantest/rx_mgmt.c
    functionUses: 0
    functionsReached:
    - add_note
    - MAC2STR
    - bss_get
    - ieee802_11_parse_elems
    - bss_update
    - le_to_host16
    linkageType: ''
    returnType: void
    signature: void rx_mgmt_probe_resp(struct wlantest *wt, const u8 *data, size_t
      len)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/rx_mgmt.c:966,1
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/wlantest/rx_mgmt.c:968,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:976,1
    - Dst: wpa_parse_wpa_ie_rsn
      Src: /src/hostap/wlantest/rx_mgmt.c:980,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:982,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:991,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wlantest/rx_mgmt.c:996,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_mgmt.c:997,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_mgmt.c:999,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 5
    argNames:
    - wt
    - bss
    - sta
    - mgmt
    - len
    argTypes:
    - struct wlantest*
    - struct wlantest_bss*
    - struct wlantest_sta*
    - struct ieee80211_mgmt*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 954
    functionDepth: 1
    functionLinenumber: 954
    functionLinenumberEnd: 1000
    functionName: process_fils_auth
    functionSourceFile: /src/hostap/wlantest/rx_mgmt.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_parse_wpa_ie_rsn
    - ether_addr_equal
    - add_note
    - ieee802_11_parse_elems
    - le_to_host16
    linkageType: ''
    returnType: void
    signature: "void process_fils_auth(struct wlantest *wt, struct wlantest_bss *bss,\n\t\t\t
      \     struct wlantest_sta *sta,\n\t\t\t      const struct ieee80211_mgmt *mgmt,
      size_t len)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/rx_mgmt.c:1024,1
    - Dst: wpa_ft_parse_ies
      Src: /src/hostap/wlantest/rx_mgmt.c:1028,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:1029,1
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/wlantest/rx_mgmt.c:1034,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:1035,1
    - Dst: parse_basic_ml_elems
      Src: /src/hostap/wlantest/rx_mgmt.c:1040,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_mgmt.c:1044,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_mgmt.c:1046,1
    - Dst: os_memcmp
      Src: /src/hostap/wlantest/rx_mgmt.c:1061,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:1062,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:1063,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:1065,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_mgmt.c:1070,1
    - Dst: dl_list_for_each
      Src: /src/hostap/wlantest/rx_mgmt.c:1074,1
    - Dst: sta_find
      Src: /src/hostap/wlantest/rx_mgmt.c:1077,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_mgmt.c:1084,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_mgmt.c:1086,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_mgmt.c:1090,1
    - Dst: wpa_derive_pmk_r1
      Src: /src/hostap/wlantest/rx_mgmt.c:1092,1
    - Dst: ieee802_11_rsnx_capab_len
      Src: /src/hostap/wlantest/rx_mgmt.c:1107,1
    - Dst: ieee802_11_rsnx_capab_len
      Src: /src/hostap/wlantest/rx_mgmt.c:1109,1
    - Dst: wpa_pmk_r1_to_ptk
      Src: /src/hostap/wlantest/rx_mgmt.c:1116,1
    - Dst: sta_new_ptk
      Src: /src/hostap/wlantest/rx_mgmt.c:1122,1
    - Dst: wpa_ft_parse_ies_free
      Src: /src/hostap/wlantest/rx_mgmt.c:1124,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 76
    argCount: 5
    argNames:
    - wt
    - bss
    - sta
    - mgmt
    - len
    argTypes:
    - struct wlantest*
    - struct wlantest_bss*
    - struct wlantest_sta*
    - struct ieee80211_mgmt*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1003
    functionDepth: 3
    functionLinenumber: 1003
    functionLinenumberEnd: 1125
    functionName: process_ft_auth
    functionSourceFile: /src/hostap/wlantest/rx_mgmt.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_derive_pmk_r1
    - wpa_hexdump
    - sta_new_ptk
    - parse_basic_ml_elems
    - wpa_ft_parse_ies_free
    - ieee802_11_rsnx_capab_len
    - add_note
    - dl_list_for_each
    - ieee802_11_parse_elems
    - os_memcmp
    - wpa_ft_parse_ies
    - wpa_pmk_r1_to_ptk
    - le_to_host16
    - sta_find
    linkageType: ''
    returnType: void
    signature: "void process_ft_auth(struct wlantest *wt, struct wlantest_bss *bss,\n\t\t\t
      \   struct wlantest_sta *sta,\n\t\t\t    const struct ieee80211_mgmt *mgmt,
      size_t len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/rx_mgmt.c:1138,1
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/rx_mgmt.c:1142,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wlantest/rx_mgmt.c:1148,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:1149,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 5
    argNames:
    - wt
    - bss
    - sta
    - mgmt
    - len
    argTypes:
    - struct wlantest*
    - struct wlantest_bss*
    - struct wlantest_sta*
    - struct ieee80211_mgmt*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1151
      start: 1128
    functionDepth: 1
    functionLinenumber: 1128
    functionLinenumberEnd: 1151
    functionName: process_sae_auth
    functionSourceFile: /src/hostap/wlantest/rx_mgmt.c
    functionUses: 0
    functionsReached:
    - le_to_host16
    - wpa_printf
    - WPA_GET_LE16
    linkageType: ''
    returnType: void
    signature: "void process_sae_auth(struct wlantest *wt, struct wlantest_bss *bss,\n\t\t\t
      \    struct wlantest_sta *sta,\n\t\t\t     const struct ieee80211_mgmt *mgmt,
      size_t len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: bss_get
      Src: /src/hostap/wlantest/rx_mgmt.c:1163,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wlantest/rx_mgmt.c:1166,1
    - Dst: sta_get
      Src: /src/hostap/wlantest/rx_mgmt.c:1168,1
    - Dst: sta_get
      Src: /src/hostap/wlantest/rx_mgmt.c:1170,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:1175,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:1176,1
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/rx_mgmt.c:1180,1
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/rx_mgmt.c:1182,1
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/rx_mgmt.c:1183,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:1185,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:1187,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:1187,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:1194,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:1196,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:1196,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wlantest/rx_mgmt.c:1201,1
    - Dst: process_fils_auth
      Src: /src/hostap/wlantest/rx_mgmt.c:1206,1
    - Dst: process_ft_auth
      Src: /src/hostap/wlantest/rx_mgmt.c:1207,1
    - Dst: process_sae_auth
      Src: /src/hostap/wlantest/rx_mgmt.c:1208,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 3
    argNames:
    - wt
    - data
    - len
    argTypes:
    - struct wlantest*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1209
      start: 1154
    functionDepth: 4
    functionLinenumber: 1154
    functionLinenumberEnd: 1209
    functionName: rx_mgmt_auth
    functionSourceFile: /src/hostap/wlantest/rx_mgmt.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - process_sae_auth
    - ether_addr_equal
    - process_fils_auth
    - add_note
    - MAC2STR
    - bss_get
    - le_to_host16
    - process_ft_auth
    - sta_get
    linkageType: ''
    returnType: void
    signature: void rx_mgmt_auth(struct wlantest *wt, const u8 *data, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/wlantest/rx_mgmt.c:1215,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:1218,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:1220,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:1220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - wt
    - bss
    argTypes:
    - struct wlantest*
    - struct wlantest_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1223
      start: 1212
    functionDepth: 1
    functionLinenumber: 1212
    functionLinenumberEnd: 1223
    functionName: deauth_all_stas
    functionSourceFile: /src/hostap/wlantest/rx_mgmt.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    - MAC2STR
    - add_note
    linkageType: ''
    returnType: void
    signature: void deauth_all_stas(struct wlantest *wt, struct wlantest_bss *bss)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/wlantest/rx_mgmt.c:1230,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:1233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - wt
    - bss
    - sta
    argTypes:
    - struct wlantest*
    - struct wlantest_bss*
    - struct wlantest_sta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1226
    functionDepth: 1
    functionLinenumber: 1226
    functionLinenumberEnd: 1238
    functionName: tdls_link_down
    functionSourceFile: /src/hostap/wlantest/rx_mgmt.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    - add_note
    linkageType: ''
    returnType: void
    signature: "void tdls_link_down(struct wlantest *wt, struct wlantest_bss *bss,\n\t\t\t
      \  struct wlantest_sta *sta)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: bss_get
      Src: /src/hostap/wlantest/rx_mgmt.c:1250,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wlantest/rx_mgmt.c:1253,1
    - Dst: sta_get
      Src: /src/hostap/wlantest/rx_mgmt.c:1254,1
    - Dst: sta_get
      Src: /src/hostap/wlantest/rx_mgmt.c:1256,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:1259,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:1260,1
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/rx_mgmt.c:1264,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:1265,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:1267,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:1267,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:1269,1
    - Dst: deauth_all_stas
      Src: /src/hostap/wlantest/rx_mgmt.c:1273,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wlantest/rx_mgmt.c:1277,1
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/rx_mgmt.c:1285,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:1295,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:1297,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:1302,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:1304,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:1304,1
    - Dst: tdls_link_down
      Src: /src/hostap/wlantest/rx_mgmt.c:1307,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 41
    argCount: 4
    argNames:
    - wt
    - data
    - len
    - valid
    argTypes:
    - struct wlantest*
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1308
      start: 1241
    functionDepth: 2
    functionLinenumber: 1241
    functionLinenumberEnd: 1308
    functionName: rx_mgmt_deauth
    functionSourceFile: /src/hostap/wlantest/rx_mgmt.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    - deauth_all_stas
    - ether_addr_equal
    - add_note
    - MAC2STR
    - bss_get
    - le_to_host16
    - tdls_link_down
    - sta_get
    linkageType: ''
    returnType: void
    signature: "void rx_mgmt_deauth(struct wlantest *wt, const u8 *data, size_t len,\n\t\t\t
      \  int valid)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - ies
    - ies_len
    argTypes:
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1327
      start: 1311
    functionDepth: 0
    functionLinenumber: 1311
    functionLinenumberEnd: 1327
    functionName: get_fils_session
    functionSourceFile: /src/hostap/wlantest/rx_mgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 * get_fils_session(const u8 *ies, size_t ies_len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fils_rmsk_to_pmk
      Src: /src/hostap/wlantest/rx_mgmt.c:1344,1
    - Dst: fils_pmk_to_ptk
      Src: /src/hostap/wlantest/rx_mgmt.c:1349,1
    - Dst: aes_siv_decrypt
      Src: /src/hostap/wlantest/rx_mgmt.c:1382,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:1385,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:1390,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_mgmt.c:1391,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:1394,1
    - Dst: write_pcap_decrypted
      Src: /src/hostap/wlantest/rx_mgmt.c:1398,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 8
    argNames:
    - wt
    - bss
    - sta
    - pmk
    - frame_start
    - frame_ad
    - frame_ad_end
    - encr_end
    argTypes:
    - struct wlantest*
    - struct wlantest_bss*
    - struct wlantest_sta*
    - struct wlantest_pmk*
    - u8*
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1405
      start: 1330
    functionDepth: 1
    functionLinenumber: 1330
    functionLinenumberEnd: 1405
    functionName: try_rmsk
    functionSourceFile: /src/hostap/wlantest/rx_mgmt.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_hexdump
    - fils_pmk_to_ptk
    - add_note
    - fils_rmsk_to_pmk
    - write_pcap_decrypted
    - aes_siv_decrypt
    linkageType: ''
    returnType: int
    signature: "int try_rmsk(struct wlantest *wt, struct wlantest_bss *bss,\n\t\t
      \   struct wlantest_sta *sta, struct wlantest_pmk *pmk,\n\t\t    const u8 *frame_start,
      const u8 *frame_ad,\n\t\t    const u8 *frame_ad_end, const u8 *encr_end)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:1415,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:1416,1
    - Dst: dl_list_for_each
      Src: /src/hostap/wlantest/rx_mgmt.c:1418,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:1420,1
    - Dst: try_rmsk
      Src: /src/hostap/wlantest/rx_mgmt.c:1421,1
    - Dst: dl_list_for_each
      Src: /src/hostap/wlantest/rx_mgmt.c:1426,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:1427,1
    - Dst: try_rmsk
      Src: /src/hostap/wlantest/rx_mgmt.c:1428,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 7
    argNames:
    - wt
    - bss
    - sta
    - frame_start
    - frame_ad
    - frame_ad_end
    - encr_end
    argTypes:
    - struct wlantest*
    - struct wlantest_bss*
    - struct wlantest_sta*
    - u8*
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1432
      start: 1408
    functionDepth: 2
    functionLinenumber: 1408
    functionLinenumberEnd: 1432
    functionName: derive_fils_keys
    functionSourceFile: /src/hostap/wlantest/rx_mgmt.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    - MAC2STR
    - wpa_printf
    - try_rmsk
    linkageType: ''
    returnType: void
    signature: "void derive_fils_keys(struct wlantest *wt, struct wlantest_bss *bss,\n\t\t\t
      \    struct wlantest_sta *sta, const u8 *frame_start,\n\t\t\t     const u8 *frame_ad,
      const u8 *frame_ad_end,\n\t\t\t     const u8 *encr_end)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:1442,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:1444,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:1444,1
    - Dst: os_memset
      Src: /src/hostap/wlantest/rx_mgmt.c:1446,1
    - Dst: bss_find_mld
      Src: /src/hostap/wlantest/rx_mgmt.c:1449,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wlantest/rx_mgmt.c:1451,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:1457,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:1458,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:1459,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - wt
    - sta
    argTypes:
    - struct wlantest*
    - struct wlantest_sta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1461
      start: 1435
    functionDepth: 1
    functionLinenumber: 1435
    functionLinenumberEnd: 1461
    functionName: dump_mld_info
    functionSourceFile: /src/hostap/wlantest/rx_mgmt.c
    functionUses: 0
    functionsReached:
    - bss_find_mld
    - wpa_printf
    - is_zero_ether_addr
    - MAC2STR
    - os_memset
    linkageType: ''
    returnType: void
    signature: void dump_mld_info(struct wlantest *wt, struct wlantest_sta *sta)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: bss_get
      Src: /src/hostap/wlantest/rx_mgmt.c:1474,1
    - Dst: sta_get
      Src: /src/hostap/wlantest/rx_mgmt.c:1477,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:1482,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:1483,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:1487,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:1489,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:1489,1
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/rx_mgmt.c:1490,1
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/rx_mgmt.c:1491,1
    - Dst: get_fils_session
      Src: /src/hostap/wlantest/rx_mgmt.c:1501,1
    - Dst: derive_fils_keys
      Src: /src/hostap/wlantest/rx_mgmt.c:1506,1
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/wlantest/rx_mgmt.c:1512,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:1513,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:1514,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:1520,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_mgmt.c:1527,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wlantest/rx_mgmt.c:1532,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:1533,1
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/rx_mgmt.c:1536,1
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/rx_mgmt.c:1538,1
    - Dst: os_free
      Src: /src/hostap/wlantest/rx_mgmt.c:1539,1
    - Dst: os_malloc
      Src: /src/hostap/wlantest/rx_mgmt.c:1541,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_mgmt.c:1543,1
    - Dst: sta_update_assoc
      Src: /src/hostap/wlantest/rx_mgmt.c:1547,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_mgmt.c:1550,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:1552,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:1556,1
    - Dst: parse_basic_ml_elems
      Src: /src/hostap/wlantest/rx_mgmt.c:1558,1
    - Dst: dump_mld_info
      Src: /src/hostap/wlantest/rx_mgmt.c:1559,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 61
    argCount: 3
    argNames:
    - wt
    - data
    - len
    argTypes:
    - struct wlantest*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1561
      start: 1464
    functionDepth: 3
    functionLinenumber: 1464
    functionLinenumberEnd: 1561
    functionName: rx_mgmt_assoc_req
    functionSourceFile: /src/hostap/wlantest/rx_mgmt.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - parse_basic_ml_elems
    - dump_mld_info
    - os_malloc
    - WPA_GET_LE16
    - add_note
    - get_fils_session
    - sta_update_assoc
    - MAC2STR
    - bss_get
    - ieee802_11_parse_elems
    - derive_fils_keys
    - le_to_host16
    - os_free
    - sta_get
    linkageType: ''
    returnType: void
    signature: void rx_mgmt_assoc_req(struct wlantest *wt, const u8 *data, size_t
      len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: aes_siv_decrypt
      Src: /src/hostap/wlantest/rx_mgmt.c:1603,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:1606,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:1611,1
    - Dst: write_pcap_decrypted
      Src: /src/hostap/wlantest/rx_mgmt.c:1615,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 7
    argNames:
    - wt
    - bss
    - sta
    - frame_start
    - frame_ad
    - frame_ad_end
    - encr_end
    argTypes:
    - struct wlantest*
    - struct wlantest_bss*
    - struct wlantest_sta*
    - u8*
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1620
      start: 1564
    functionDepth: 1
    functionLinenumber: 1564
    functionLinenumberEnd: 1620
    functionName: decrypt_fils_assoc_resp
    functionSourceFile: /src/hostap/wlantest/rx_mgmt.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - write_pcap_decrypted
    - wpa_hexdump
    - aes_siv_decrypt
    linkageType: ''
    returnType: void
    signature: "void decrypt_fils_assoc_resp(struct wlantest *wt,\n\t\t\t\t    struct
      wlantest_bss *bss,\n\t\t\t\t    struct wlantest_sta *sta,\n\t\t\t\t    const
      u8 *frame_start, const u8 *frame_ad,\n\t\t\t\t    const u8 *frame_ad_end, const
      u8 *encr_end)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: bss_get
      Src: /src/hostap/wlantest/rx_mgmt.c:1636,1
    - Dst: sta_get
      Src: /src/hostap/wlantest/rx_mgmt.c:1639,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:1644,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:1645,1
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/rx_mgmt.c:1652,1
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/rx_mgmt.c:1653,1
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/rx_mgmt.c:1654,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:1656,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:1658,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:1658,1
    - Dst: get_ml_ie
      Src: /src/hostap/wlantest/rx_mgmt.c:1661,1
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/wlantest/rx_mgmt.c:1663,1
    - Dst: parse_basic_ml_elems
      Src: /src/hostap/wlantest/rx_mgmt.c:1664,1
    - Dst: get_fils_session
      Src: /src/hostap/wlantest/rx_mgmt.c:1669,1
    - Dst: decrypt_fils_assoc_resp
      Src: /src/hostap/wlantest/rx_mgmt.c:1674,1
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/wlantest/rx_mgmt.c:1680,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:1681,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:1683,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:1689,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:1692,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:1703,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:1705,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:1710,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:1712,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:1716,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:1718,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:1718,1
    - Dst: wpa_ft_parse_ies
      Src: /src/hostap/wlantest/rx_mgmt.c:1722,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_mgmt.c:1724,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_mgmt.c:1729,1
    - Dst: wpa_ft_parse_ies_free
      Src: /src/hostap/wlantest/rx_mgmt.c:1730,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wlantest/rx_mgmt.c:1734,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:1735,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 67
    argCount: 3
    argNames:
    - wt
    - data
    - len
    argTypes:
    - struct wlantest*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1737
      start: 1623
    functionDepth: 3
    functionLinenumber: 1623
    functionLinenumberEnd: 1737
    functionName: rx_mgmt_assoc_resp
    functionSourceFile: /src/hostap/wlantest/rx_mgmt.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - parse_basic_ml_elems
    - wpa_ft_parse_ies_free
    - decrypt_fils_assoc_resp
    - WPA_GET_LE16
    - add_note
    - get_fils_session
    - MAC2STR
    - bss_get
    - ieee802_11_parse_elems
    - wpa_ft_parse_ies
    - le_to_host16
    - get_ml_ie
    - sta_get
    linkageType: ''
    returnType: void
    signature: void rx_mgmt_assoc_resp(struct wlantest *wt, const u8 *data, size_t
      len)
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: bss_get
      Src: /src/hostap/wlantest/rx_mgmt.c:1751,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:1756,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:1757,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:1761,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:1763,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:1763,1
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/rx_mgmt.c:1764,1
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/rx_mgmt.c:1765,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:1766,1
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/wlantest/rx_mgmt.c:1771,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:1772,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:1774,1
    - Dst: sta_find_mlo
      Src: /src/hostap/wlantest/rx_mgmt.c:1778,1
    - Dst: get_basic_mle_mld_addr
      Src: /src/hostap/wlantest/rx_mgmt.c:1790,1
    - Dst: sta_find_mlo
      Src: /src/hostap/wlantest/rx_mgmt.c:1795,1
    - Dst: dl_list_del
      Src: /src/hostap/wlantest/rx_mgmt.c:1797,1
    - Dst: dl_list_add
      Src: /src/hostap/wlantest/rx_mgmt.c:1798,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:1799,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:1802,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:1802,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_mgmt.c:1803,1
    - Dst: sta_get
      Src: /src/hostap/wlantest/rx_mgmt.c:1808,1
    - Dst: get_fils_session
      Src: /src/hostap/wlantest/rx_mgmt.c:1817,1
    - Dst: derive_fils_keys
      Src: /src/hostap/wlantest/rx_mgmt.c:1822,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_mgmt.c:1829,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wlantest/rx_mgmt.c:1834,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:1835,1
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/rx_mgmt.c:1839,1
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/rx_mgmt.c:1841,1
    - Dst: os_free
      Src: /src/hostap/wlantest/rx_mgmt.c:1842,1
    - Dst: os_malloc
      Src: /src/hostap/wlantest/rx_mgmt.c:1844,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_mgmt.c:1846,1
    - Dst: sta_update_assoc
      Src: /src/hostap/wlantest/rx_mgmt.c:1850,1
    - Dst: os_memset
      Src: /src/hostap/wlantest/rx_mgmt.c:1852,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_mgmt.c:1854,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:1856,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:1860,1
    - Dst: parse_basic_ml_elems
      Src: /src/hostap/wlantest/rx_mgmt.c:1862,1
    - Dst: dump_mld_info
      Src: /src/hostap/wlantest/rx_mgmt.c:1863,1
    - Dst: wpa_key_mgmt_sha384
      Src: /src/hostap/wlantest/rx_mgmt.c:1888,1
    - Dst: wpa_ft_parse_ies
      Src: /src/hostap/wlantest/rx_mgmt.c:1890,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:1892,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:1897,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:1902,1
    - Dst: os_memcmp_const
      Src: /src/hostap/wlantest/rx_mgmt.c:1906,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:1908,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:1910,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:1913,1
    - Dst: os_memcmp
      Src: /src/hostap/wlantest/rx_mgmt.c:1921,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:1923,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:1931,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:1944,1
    - Dst: os_memcmp
      Src: /src/hostap/wlantest/rx_mgmt.c:1954,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:1955,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:1956,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:1958,1
    - Dst: os_memcmp
      Src: /src/hostap/wlantest/rx_mgmt.c:1963,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:1964,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:1965,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:1967,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:1973,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_mgmt.c:1976,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:1980,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_mgmt.c:1984,1
    - Dst: os_memcmp_const
      Src: /src/hostap/wlantest/rx_mgmt.c:1987,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:1989,1
    - Dst: ieee802_11_ie_count
      Src: /src/hostap/wlantest/rx_mgmt.c:1997,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:2001,1
    - Dst: wpa_key_mgmt_fils
      Src: /src/hostap/wlantest/rx_mgmt.c:2007,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/wlantest/rx_mgmt.c:2018,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wlantest/rx_mgmt.c:2022,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/wlantest/rx_mgmt.c:2023,1
    - Dst: wpa_ft_mic
      Src: /src/hostap/wlantest/rx_mgmt.c:2029,1
    - Dst: wpabuf_free
      Src: /src/hostap/wlantest/rx_mgmt.c:2039,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:2040,1
    - Dst: wpabuf_free
      Src: /src/hostap/wlantest/rx_mgmt.c:2043,1
    - Dst: os_memcmp_const
      Src: /src/hostap/wlantest/rx_mgmt.c:2045,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:2048,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:2049,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:2051,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:2051,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:2052,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:2054,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:2056,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:2058,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:2060,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:2062,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wlantest/rx_mgmt.c:2067,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:2069,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:2072,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:2077,1
    - Dst: wpa_ft_parse_ies_free
      Src: /src/hostap/wlantest/rx_mgmt.c:2079,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 216
    argCount: 3
    argNames:
    - wt
    - data
    - len
    argTypes:
    - struct wlantest*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2081
      start: 1740
    functionDepth: 3
    functionLinenumber: 1740
    functionLinenumberEnd: 2081
    functionName: rx_mgmt_reassoc_req
    functionSourceFile: /src/hostap/wlantest/rx_mgmt.c
    functionUses: 0
    functionsReached:
    - wpa_hexdump
    - dump_mld_info
    - WPA_GET_LE16
    - add_note
    - wpabuf_alloc
    - derive_fils_keys
    - ieee802_11_ie_count
    - wpa_printf
    - wpabuf_put_data
    - parse_basic_ml_elems
    - wpa_key_mgmt_sha384
    - bss_get
    - ieee802_11_parse_elems
    - os_memcmp
    - wpa_ft_parse_ies
    - get_fils_session
    - os_free
    - get_basic_mle_mld_addr
    - wpa_ft_mic
    - is_zero_ether_addr
    - os_malloc
    - wpa_ft_parse_ies_free
    - sta_find_mlo
    - os_memset
    - sta_get
    - os_memcpy
    - dl_list_del
    - wpabuf_free
    - sta_update_assoc
    - MAC2STR
    - os_memcmp_const
    - dl_list_add
    - wpa_key_mgmt_fils
    - le_to_host16
    linkageType: ''
    returnType: void
    signature: "void rx_mgmt_reassoc_req(struct wlantest *wt, const u8 *data,\n\t\t\t\tsize_t
      len)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:2098,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:2102,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:2110,1
    - Dst: aes_unwrap
      Src: /src/hostap/wlantest/rx_mgmt.c:2115,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:2116,1
    - Dst: wpa_cipher_key_len
      Src: /src/hostap/wlantest/rx_mgmt.c:2121,1
    - Dst: wpa_cipher_to_alg
      Src: /src/hostap/wlantest/rx_mgmt.c:2122,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:2124,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:2130,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wlantest/rx_mgmt.c:2137,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:2140,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:2146,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:2147,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_mgmt.c:2152,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_mgmt.c:2153,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_mgmt.c:2154,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_mgmt.c:2160,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_mgmt.c:2162,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:2173,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 57
    argCount: 8
    argNames:
    - wt
    - bss
    - sta
    - kek
    - kek_len
    - gtk_elem
    - gtk_elem_len
    - mlo
    argTypes:
    - struct wlantest*
    - struct wlantest_bss*
    - struct wlantest_sta*
    - u8*
    - size_t
    - u8*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2174
      start: 2084
    functionDepth: 1
    functionLinenumber: 2084
    functionLinenumberEnd: 2174
    functionName: process_gtk_subelem
    functionSourceFile: /src/hostap/wlantest/rx_mgmt.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_cipher_key_len
    - wpa_hexdump
    - aes_unwrap
    - WPA_GET_LE16
    - add_note
    - wpa_cipher_to_alg
    linkageType: ''
    returnType: void
    signature: "void process_gtk_subelem(struct wlantest *wt, struct wlantest_bss
      *bss,\n\t\t\t\tstruct wlantest_sta *sta,\n\t\t\t\tconst u8 *kek, size_t kek_len,\n\t\t\t\tconst
      u8 *gtk_elem,\n\t\t\t\tsize_t gtk_elem_len, bool mlo)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:2196,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:2200,1
    - Dst: wpa_cipher_key_len
      Src: /src/hostap/wlantest/rx_mgmt.c:2203,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:2208,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:2213,1
    - Dst: aes_unwrap
      Src: /src/hostap/wlantest/rx_mgmt.c:2219,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:2220,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wlantest/rx_mgmt.c:2227,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:2229,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:2232,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:2236,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:2237,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:2238,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_mgmt.c:2239,1
    - Dst: WPA_GET_LE48
      Src: /src/hostap/wlantest/rx_mgmt.c:2242,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 8
    argNames:
    - wt
    - bss
    - sta
    - kek
    - kek_len
    - igtk_elem
    - igtk_elem_len
    - mlo
    argTypes:
    - struct wlantest*
    - struct wlantest_bss*
    - struct wlantest_sta*
    - u8*
    - size_t
    - u8*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2244
      start: 2177
    functionDepth: 1
    functionLinenumber: 2177
    functionLinenumberEnd: 2244
    functionName: process_igtk_subelem
    functionSourceFile: /src/hostap/wlantest/rx_mgmt.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_cipher_key_len
    - wpa_hexdump
    - aes_unwrap
    - WPA_GET_LE48
    - WPA_GET_LE16
    - add_note
    linkageType: ''
    returnType: void
    signature: "void process_igtk_subelem(struct wlantest *wt, struct wlantest_bss
      *bss,\n\t\t\t\t struct wlantest_sta *sta,\n\t\t\t\t const u8 *kek, size_t kek_len,\n\t\t\t\t
      const u8 *igtk_elem, size_t igtk_elem_len,\n\t\t\t\t bool mlo)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump_key
      Src: /src/hostap/wlantest/rx_mgmt.c:2266,1
    - Dst: wpa_cipher_key_len
      Src: /src/hostap/wlantest/rx_mgmt.c:2269,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:2274,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:2280,1
    - Dst: aes_unwrap
      Src: /src/hostap/wlantest/rx_mgmt.c:2286,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:2287,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wlantest/rx_mgmt.c:2294,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:2296,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:2299,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:2303,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:2304,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:2305,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_mgmt.c:2306,1
    - Dst: WPA_GET_LE48
      Src: /src/hostap/wlantest/rx_mgmt.c:2309,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 8
    argNames:
    - wt
    - bss
    - sta
    - kek
    - kek_len
    - bigtk_elem
    - bigtk_elem_len
    - mlo
    argTypes:
    - struct wlantest*
    - struct wlantest_bss*
    - struct wlantest_sta*
    - u8*
    - size_t
    - u8*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2311
      start: 2247
    functionDepth: 1
    functionLinenumber: 2247
    functionLinenumberEnd: 2311
    functionName: process_bigtk_subelem
    functionSourceFile: /src/hostap/wlantest/rx_mgmt.c
    functionUses: 0
    functionsReached:
    - wpa_hexdump_key
    - os_memcpy
    - wpa_cipher_key_len
    - wpa_hexdump
    - aes_unwrap
    - WPA_GET_LE48
    - WPA_GET_LE16
    - add_note
    linkageType: ''
    returnType: void
    signature: "void process_bigtk_subelem(struct wlantest *wt, struct wlantest_bss
      *bss,\n\t\t\t\t  struct wlantest_sta *sta,\n\t\t\t\t  const u8 *kek, size_t
      kek_len,\n\t\t\t\t  const u8 *bigtk_elem, size_t bigtk_elem_len,\n\t\t\t\t  bool
      mlo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: process_gtk_subelem
      Src: /src/hostap/wlantest/rx_mgmt.c:2320,1
    - Dst: process_igtk_subelem
      Src: /src/hostap/wlantest/rx_mgmt.c:2322,1
    - Dst: process_bigtk_subelem
      Src: /src/hostap/wlantest/rx_mgmt.c:2324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - wt
    - bss
    - sta
    - kek
    - kek_len
    - parse
    argTypes:
    - struct wlantest*
    - struct wlantest_bss*
    - struct wlantest_sta*
    - u8*
    - size_t
    - struct wpa_ft_ies*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2326
      start: 2314
    functionDepth: 2
    functionLinenumber: 2314
    functionLinenumberEnd: 2326
    functionName: process_fte_group_keys
    functionSourceFile: /src/hostap/wlantest/rx_mgmt.c
    functionUses: 0
    functionsReached:
    - process_bigtk_subelem
    - process_gtk_subelem
    - process_igtk_subelem
    linkageType: ''
    returnType: void
    signature: "void process_fte_group_keys(struct wlantest *wt,\n\t\t\t\t   struct
      wlantest_bss *bss,\n\t\t\t\t   struct wlantest_sta *sta,\n\t\t\t\t   const u8
      *kek, size_t kek_len,\n\t\t\t\t   struct wpa_ft_ies *parse)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIT
      Src: /src/hostap/wlantest/rx_mgmt.c:2341,1
    - Dst: bss_find_mld
      Src: /src/hostap/wlantest/rx_mgmt.c:2344,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:2346,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:2349,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:2353,1
    - Dst: process_gtk_subelem
      Src: /src/hostap/wlantest/rx_mgmt.c:2358,1
    - Dst: process_igtk_subelem
      Src: /src/hostap/wlantest/rx_mgmt.c:2361,1
    - Dst: process_bigtk_subelem
      Src: /src/hostap/wlantest/rx_mgmt.c:2364,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 6
    argNames:
    - wt
    - bss
    - sta
    - kek
    - kek_len
    - parse
    argTypes:
    - struct wlantest*
    - struct wlantest_bss*
    - struct wlantest_sta*
    - u8*
    - size_t
    - struct wpa_ft_ies*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2368
      start: 2329
    functionDepth: 2
    functionLinenumber: 2329
    functionLinenumberEnd: 2368
    functionName: process_fte_group_keys_mlo
    functionSourceFile: /src/hostap/wlantest/rx_mgmt.c
    functionUses: 0
    functionsReached:
    - bss_find_mld
    - wpa_printf
    - process_gtk_subelem
    - MAC2STR
    - BIT
    - process_igtk_subelem
    - process_bigtk_subelem
    linkageType: ''
    returnType: void
    signature: "void process_fte_group_keys_mlo(struct wlantest *wt,\n\t\t\t\t       struct
      wlantest_bss *bss,\n\t\t\t\t       struct wlantest_sta *sta,\n\t\t\t\t       const
      u8 *kek, size_t kek_len,\n\t\t\t\t       struct wpa_ft_ies *parse)"
  - BBCount: 51
    BranchProfiles: []
    Callsites:
    - Dst: bss_get
      Src: /src/hostap/wlantest/rx_mgmt.c:2384,1
    - Dst: sta_find_mlo
      Src: /src/hostap/wlantest/rx_mgmt.c:2387,1
    - Dst: sta_get
      Src: /src/hostap/wlantest/rx_mgmt.c:2389,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:2394,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:2395,1
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/rx_mgmt.c:2402,1
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/rx_mgmt.c:2403,1
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/rx_mgmt.c:2404,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:2406,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:2408,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:2408,1
    - Dst: get_ml_ie
      Src: /src/hostap/wlantest/rx_mgmt.c:2411,1
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/wlantest/rx_mgmt.c:2413,1
    - Dst: parse_basic_ml_elems
      Src: /src/hostap/wlantest/rx_mgmt.c:2414,1
    - Dst: get_fils_session
      Src: /src/hostap/wlantest/rx_mgmt.c:2419,1
    - Dst: decrypt_fils_assoc_resp
      Src: /src/hostap/wlantest/rx_mgmt.c:2425,1
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/wlantest/rx_mgmt.c:2431,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:2432,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:2434,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:2440,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:2443,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:2454,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:2456,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:2461,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:2463,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:2467,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:2469,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:2469,1
    - Dst: wpa_key_mgmt_sha384
      Src: /src/hostap/wlantest/rx_mgmt.c:2495,1
    - Dst: wpa_ft_parse_ies
      Src: /src/hostap/wlantest/rx_mgmt.c:2497,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:2499,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:2504,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:2509,1
    - Dst: os_memcmp_const
      Src: /src/hostap/wlantest/rx_mgmt.c:2513,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:2515,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:2517,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:2520,1
    - Dst: os_memcmp
      Src: /src/hostap/wlantest/rx_mgmt.c:2528,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:2530,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:2538,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:2551,1
    - Dst: os_memcmp
      Src: /src/hostap/wlantest/rx_mgmt.c:2561,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:2562,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:2563,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:2565,1
    - Dst: os_memcmp
      Src: /src/hostap/wlantest/rx_mgmt.c:2570,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:2571,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:2572,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:2574,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:2580,1
    - Dst: os_memcmp_const
      Src: /src/hostap/wlantest/rx_mgmt.c:2585,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:2587,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:2589,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:2591,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_mgmt.c:2593,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:2599,1
    - Dst: os_memcmp_const
      Src: /src/hostap/wlantest/rx_mgmt.c:2603,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:2605,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_mgmt.c:2607,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/wlantest/rx_mgmt.c:2617,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/wlantest/rx_mgmt.c:2618,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/wlantest/rx_mgmt.c:2619,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wlantest/rx_mgmt.c:2627,1
    - Dst: bss_find_mld
      Src: /src/hostap/wlantest/rx_mgmt.c:2630,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:2633,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:2636,1
    - Dst: wpa_parse_wpa_ie_rsn
      Src: /src/hostap/wlantest/rx_mgmt.c:2643,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:2647,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_mgmt.c:2653,1
    - Dst: wpa_insert_pmkid
      Src: /src/hostap/wlantest/rx_mgmt.c:2654,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:2657,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/wlantest/rx_mgmt.c:2664,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wlantest/rx_mgmt.c:2668,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/wlantest/rx_mgmt.c:2669,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/wlantest/rx_mgmt.c:2670,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/wlantest/rx_mgmt.c:2675,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/wlantest/rx_mgmt.c:2679,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/wlantest/rx_mgmt.c:2685,1
    - Dst: ieee802_11_ie_count
      Src: /src/hostap/wlantest/rx_mgmt.c:2692,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:2694,1
    - Dst: wpa_key_mgmt_fils
      Src: /src/hostap/wlantest/rx_mgmt.c:2700,1
    - Dst: wpa_ft_mic
      Src: /src/hostap/wlantest/rx_mgmt.c:2714,1
    - Dst: wpabuf_head
      Src: /src/hostap/wlantest/rx_mgmt.c:2718,1
    - Dst: wpabuf_len
      Src: /src/hostap/wlantest/rx_mgmt.c:2718,1
    - Dst: wpabuf_head
      Src: /src/hostap/wlantest/rx_mgmt.c:2720,1
    - Dst: wpabuf_len
      Src: /src/hostap/wlantest/rx_mgmt.c:2721,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:2724,1
    - Dst: os_memcmp_const
      Src: /src/hostap/wlantest/rx_mgmt.c:2728,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:2731,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:2732,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:2734,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:2734,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:2735,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:2737,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:2739,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:2741,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/wlantest/rx_mgmt.c:2743,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/wlantest/rx_mgmt.c:2744,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wlantest/rx_mgmt.c:2749,1
    - Dst: bss_find_mld
      Src: /src/hostap/wlantest/rx_mgmt.c:2751,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:2754,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:2757,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:2762,1
    - Dst: wpa_compare_rsn_ie
      Src: /src/hostap/wlantest/rx_mgmt.c:2764,1
    - Dst: wpa_key_mgmt_ft
      Src: /src/hostap/wlantest/rx_mgmt.c:2764,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:2767,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:2769,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:2771,1
    - Dst: process_fte_group_keys_mlo
      Src: /src/hostap/wlantest/rx_mgmt.c:2778,1
    - Dst: process_fte_group_keys
      Src: /src/hostap/wlantest/rx_mgmt.c:2781,1
    - Dst: wpa_ft_parse_ies_free
      Src: /src/hostap/wlantest/rx_mgmt.c:2785,1
    - Dst: wpabuf_free
      Src: /src/hostap/wlantest/rx_mgmt.c:2786,1
    - Dst: wpabuf_free
      Src: /src/hostap/wlantest/rx_mgmt.c:2787,1
    - Dst: wpabuf_free
      Src: /src/hostap/wlantest/rx_mgmt.c:2788,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wlantest/rx_mgmt.c:2792,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:2793,1
    CyclomaticComplexity: 84
    EdgeCount: 84
    ICount: 260
    argCount: 3
    argNames:
    - wt
    - data
    - len
    argTypes:
    - struct wlantest*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2795
      start: 2371
    functionDepth: 3
    functionLinenumber: 2371
    functionLinenumberEnd: 2795
    functionName: rx_mgmt_reassoc_resp
    functionSourceFile: /src/hostap/wlantest/rx_mgmt.c
    functionUses: 0
    functionsReached:
    - wpa_hexdump
    - WPA_GET_LE16
    - add_note
    - wpabuf_alloc
    - ieee802_11_ie_count
    - get_ml_ie
    - wpa_printf
    - wpabuf_put_data
    - process_fte_group_keys_mlo
    - parse_basic_ml_elems
    - wpa_key_mgmt_sha384
    - wpa_key_mgmt_ft
    - bss_get
    - ieee802_11_parse_elems
    - os_memcmp
    - wpa_ft_parse_ies
    - process_fte_group_keys
    - get_fils_session
    - wpa_hexdump_buf
    - bss_find_mld
    - wpa_ft_mic
    - wpa_insert_pmkid
    - wpabuf_put_u8
    - wpabuf_len
    - is_zero_ether_addr
    - wpa_ft_parse_ies_free
    - wpabuf_alloc_copy
    - wpabuf_head
    - sta_find_mlo
    - sta_get
    - os_memcpy
    - wpa_parse_wpa_ie_rsn
    - decrypt_fils_assoc_resp
    - wpabuf_free
    - os_memcmp_const
    - MAC2STR
    - wpa_key_mgmt_fils
    - le_to_host16
    - wpa_compare_rsn_ie
    linkageType: ''
    returnType: void
    signature: "void rx_mgmt_reassoc_resp(struct wlantest *wt, const u8 *data,\n\t\t\t\t
      size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/wlantest/rx_mgmt.c:2801,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:2804,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:2806,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:2806,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - wt
    - bss
    argTypes:
    - struct wlantest*
    - struct wlantest_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2809
      start: 2798
    functionDepth: 1
    functionLinenumber: 2798
    functionLinenumberEnd: 2809
    functionName: disassoc_all_stas
    functionSourceFile: /src/hostap/wlantest/rx_mgmt.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    - MAC2STR
    - add_note
    linkageType: ''
    returnType: void
    signature: void disassoc_all_stas(struct wlantest *wt, struct wlantest_bss *bss)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: bss_get
      Src: /src/hostap/wlantest/rx_mgmt.c:2821,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wlantest/rx_mgmt.c:2824,1
    - Dst: sta_get
      Src: /src/hostap/wlantest/rx_mgmt.c:2825,1
    - Dst: sta_get
      Src: /src/hostap/wlantest/rx_mgmt.c:2827,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:2830,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:2831,1
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/rx_mgmt.c:2835,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:2836,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:2838,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:2838,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:2840,1
    - Dst: disassoc_all_stas
      Src: /src/hostap/wlantest/rx_mgmt.c:2844,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wlantest/rx_mgmt.c:2848,1
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/rx_mgmt.c:2858,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:2868,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:2870,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:2875,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:2877,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:2881,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:2883,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:2883,1
    - Dst: tdls_link_down
      Src: /src/hostap/wlantest/rx_mgmt.c:2886,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 44
    argCount: 4
    argNames:
    - wt
    - data
    - len
    - valid
    argTypes:
    - struct wlantest*
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2887
      start: 2812
    functionDepth: 2
    functionLinenumber: 2812
    functionLinenumberEnd: 2887
    functionName: rx_mgmt_disassoc
    functionSourceFile: /src/hostap/wlantest/rx_mgmt.c
    functionUses: 0
    functionsReached:
    - disassoc_all_stas
    - wpa_printf
    - wpa_hexdump
    - ether_addr_equal
    - add_note
    - MAC2STR
    - bss_get
    - le_to_host16
    - tdls_link_down
    - sta_get
    linkageType: ''
    returnType: void
    signature: "void rx_mgmt_disassoc(struct wlantest *wt, const u8 *data, size_t
      len,\n\t\t\t     int valid)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:2902,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:2908,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:2910,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:2910,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:2913,1
    - Dst: wpa_ft_parse_ies
      Src: /src/hostap/wlantest/rx_mgmt.c:2915,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:2916,1
    - Dst: bss_find
      Src: /src/hostap/wlantest/rx_mgmt.c:2920,1
    - Dst: bss_find_mld
      Src: /src/hostap/wlantest/rx_mgmt.c:2921,1
    - Dst: sta_find
      Src: /src/hostap/wlantest/rx_mgmt.c:2924,1
    - Dst: bss_get
      Src: /src/hostap/wlantest/rx_mgmt.c:2927,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:2929,1
    - Dst: sta_find_mlo
      Src: /src/hostap/wlantest/rx_mgmt.c:2933,1
    - Dst: sta_get
      Src: /src/hostap/wlantest/rx_mgmt.c:2935,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_mgmt.c:2943,1
    - Dst: wpa_ft_parse_ies_free
      Src: /src/hostap/wlantest/rx_mgmt.c:2950,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 3
    argNames:
    - wt
    - mgmt
    - len
    argTypes:
    - struct wlantest*
    - struct ieee80211_mgmt*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2951
      start: 2890
    functionDepth: 1
    functionLinenumber: 2890
    functionLinenumberEnd: 2951
    functionName: rx_mgmt_action_ft_request
    functionSourceFile: /src/hostap/wlantest/rx_mgmt.c
    functionUses: 0
    functionsReached:
    - bss_find_mld
    - wpa_printf
    - os_memcpy
    - wpa_hexdump
    - bss_find
    - wpa_ft_parse_ies_free
    - add_note
    - MAC2STR
    - bss_get
    - wpa_ft_parse_ies
    - sta_find_mlo
    - sta_find
    - sta_get
    linkageType: ''
    returnType: void
    signature: "void rx_mgmt_action_ft_request(struct wlantest *wt,\n\t\t\t\t      const
      struct ieee80211_mgmt *mgmt,\n\t\t\t\t      size_t len)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:2971,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:2972,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:2978,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:2980,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:2980,1
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/rx_mgmt.c:2981,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:2984,1
    - Dst: wpa_ft_parse_ies
      Src: /src/hostap/wlantest/rx_mgmt.c:2986,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:2987,1
    - Dst: bss_find
      Src: /src/hostap/wlantest/rx_mgmt.c:2992,1
    - Dst: bss_find_mld
      Src: /src/hostap/wlantest/rx_mgmt.c:2993,1
    - Dst: sta_find
      Src: /src/hostap/wlantest/rx_mgmt.c:2996,1
    - Dst: bss_get
      Src: /src/hostap/wlantest/rx_mgmt.c:2999,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:3002,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_mgmt.c:3007,1
    - Dst: wpa_derive_pmk_r1
      Src: /src/hostap/wlantest/rx_mgmt.c:3009,1
    - Dst: sta_find_mlo
      Src: /src/hostap/wlantest/rx_mgmt.c:3015,1
    - Dst: sta_get
      Src: /src/hostap/wlantest/rx_mgmt.c:3017,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_mgmt.c:3020,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_mgmt.c:3022,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_mgmt.c:3024,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_mgmt.c:3026,1
    - Dst: ieee802_11_rsnx_capab_len
      Src: /src/hostap/wlantest/rx_mgmt.c:3038,1
    - Dst: ieee802_11_rsnx_capab_len
      Src: /src/hostap/wlantest/rx_mgmt.c:3040,1
    - Dst: wpa_pmk_r1_to_ptk
      Src: /src/hostap/wlantest/rx_mgmt.c:3047,1
    - Dst: sta_new_ptk
      Src: /src/hostap/wlantest/rx_mgmt.c:3054,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_mgmt.c:3055,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_mgmt.c:3056,1
    - Dst: wpa_ft_parse_ies_free
      Src: /src/hostap/wlantest/rx_mgmt.c:3058,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 65
    argCount: 4
    argNames:
    - wt
    - sta
    - mgmt
    - len
    argTypes:
    - struct wlantest*
    - struct wlantest_sta*
    - struct ieee80211_mgmt*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3059
      start: 2954
    functionDepth: 1
    functionLinenumber: 2954
    functionLinenumberEnd: 3059
    functionName: rx_mgmt_action_ft_response
    functionSourceFile: /src/hostap/wlantest/rx_mgmt.c
    functionUses: 0
    functionsReached:
    - bss_find_mld
    - wpa_printf
    - os_memcpy
    - wpa_derive_pmk_r1
    - wpa_hexdump
    - sta_new_ptk
    - bss_find
    - wpa_ft_parse_ies_free
    - ieee802_11_rsnx_capab_len
    - add_note
    - MAC2STR
    - bss_get
    - wpa_ft_parse_ies
    - wpa_pmk_r1_to_ptk
    - le_to_host16
    - sta_find_mlo
    - sta_find
    - sta_get
    linkageType: ''
    returnType: void
    signature: "void rx_mgmt_action_ft_response(struct wlantest *wt,\n\t\t\t\t       struct
      wlantest_sta *sta,\n\t\t\t\t       const struct ieee80211_mgmt *mgmt,\n\t\t\t\t
      \      size_t len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:3067,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:3068,1
    - Dst: rx_mgmt_action_ft_request
      Src: /src/hostap/wlantest/rx_mgmt.c:3074,1
    - Dst: rx_mgmt_action_ft_response
      Src: /src/hostap/wlantest/rx_mgmt.c:3077,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:3080,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:3082,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 5
    argNames:
    - wt
    - sta
    - mgmt
    - len
    - valid
    argTypes:
    - struct wlantest*
    - struct wlantest_sta*
    - struct ieee80211_mgmt*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3084
      start: 3062
    functionDepth: 2
    functionLinenumber: 3062
    functionLinenumberEnd: 3084
    functionName: rx_mgmt_action_ft
    functionSourceFile: /src/hostap/wlantest/rx_mgmt.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - rx_mgmt_action_ft_response
    - add_note
    - rx_mgmt_action_ft_request
    linkageType: ''
    returnType: void
    signature: "void rx_mgmt_action_ft(struct wlantest *wt, struct wlantest_sta *sta,\n\t\t\t
      \     const struct ieee80211_mgmt *mgmt,\n\t\t\t      size_t len, int valid)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/wlantest/rx_mgmt.c:3096,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:3100,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:3102,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:3102,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_mgmt.c:3104,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wlantest/rx_mgmt.c:3105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - wt
    - sta
    - mgmt
    - len
    - valid
    argTypes:
    - struct wlantest*
    - struct wlantest_sta*
    - struct ieee80211_mgmt*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3113
      start: 3087
    functionDepth: 1
    functionLinenumber: 3087
    functionLinenumberEnd: 3113
    functionName: rx_mgmt_action_sa_query_req
    functionSourceFile: /src/hostap/wlantest/rx_mgmt.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - os_memcpy
    - ether_addr_equal
    - add_note
    linkageType: ''
    returnType: void
    signature: "void rx_mgmt_action_sa_query_req(struct wlantest *wt,\n\t\t\t\t\tstruct
      wlantest_sta *sta,\n\t\t\t\t\tconst struct ieee80211_mgmt *mgmt,\n\t\t\t\t\tsize_t
      len, int valid)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/wlantest/rx_mgmt.c:3126,1
    - Dst: os_memcmp
      Src: /src/hostap/wlantest/rx_mgmt.c:3130,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:3131,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:3133,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:3133,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wlantest/rx_mgmt.c:3136,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 5
    argNames:
    - wt
    - sta
    - mgmt
    - len
    - valid
    argTypes:
    - struct wlantest*
    - struct wlantest_sta*
    - struct ieee80211_mgmt*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3144
      start: 3116
    functionDepth: 1
    functionLinenumber: 3116
    functionLinenumberEnd: 3144
    functionName: rx_mgmt_action_sa_query_resp
    functionSourceFile: /src/hostap/wlantest/rx_mgmt.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - ether_addr_equal
    - os_memcmp
    - add_note
    linkageType: ''
    returnType: void
    signature: "void rx_mgmt_action_sa_query_resp(struct wlantest *wt,\n\t\t\t\t\t
      struct wlantest_sta *sta,\n\t\t\t\t\t const struct ieee80211_mgmt *mgmt,\n\t\t\t\t\t
      size_t len, int valid)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:3153,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:3154,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:3160,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:3162,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:3163,1
    - Dst: rx_mgmt_action_sa_query_req
      Src: /src/hostap/wlantest/rx_mgmt.c:3169,1
    - Dst: rx_mgmt_action_sa_query_resp
      Src: /src/hostap/wlantest/rx_mgmt.c:3172,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:3175,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:3178,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 5
    argNames:
    - wt
    - sta
    - mgmt
    - len
    - valid
    argTypes:
    - struct wlantest*
    - struct wlantest_sta*
    - struct ieee80211_mgmt*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3180
      start: 3147
    functionDepth: 2
    functionLinenumber: 3147
    functionLinenumberEnd: 3180
    functionName: rx_mgmt_action_sa_query
    functionSourceFile: /src/hostap/wlantest/rx_mgmt.c
    functionUses: 0
    functionsReached:
    - rx_mgmt_action_sa_query_resp
    - wpa_hexdump
    - add_note
    - MAC2STR
    - rx_mgmt_action_sa_query_req
    linkageType: ''
    returnType: void
    signature: "void rx_mgmt_action_sa_query(struct wlantest *wt,\n\t\t\t\t    struct
      wlantest_sta *sta,\n\t\t\t\t    const struct ieee80211_mgmt *mgmt,\n\t\t\t\t
      \   size_t len, int valid)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:3190,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:3194,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wlantest/rx_mgmt.c:3201,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:3203,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:3207,1
    - Dst: get_ml_ie
      Src: /src/hostap/wlantest/rx_mgmt.c:3209,1
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/wlantest/rx_mgmt.c:3211,1
    - Dst: parse_reconfig_ml_elems
      Src: /src/hostap/wlantest/rx_mgmt.c:3212,1
    - Dst: dump_mld_info
      Src: /src/hostap/wlantest/rx_mgmt.c:3213,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 4
    argNames:
    - wt
    - sta
    - pos
    - end
    argTypes:
    - struct wlantest*
    - struct wlantest_sta*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3215
      start: 3183
    functionDepth: 3
    functionLinenumber: 3183
    functionLinenumberEnd: 3215
    functionName: rx_mgmt_action_link_reconfig_request
    functionSourceFile: /src/hostap/wlantest/rx_mgmt.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - parse_reconfig_ml_elems
    - wpa_hexdump
    - dump_mld_info
    - WPA_GET_LE16
    - ieee802_11_parse_elems
    - get_ml_ie
    linkageType: ''
    returnType: void
    signature: "void rx_mgmt_action_link_reconfig_request(struct wlantest *wt,\n\t\t\t\t\t\t
      struct wlantest_sta *sta,\n\t\t\t\t\t\t const u8 *pos, const u8 *end)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:3226,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:3230,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:3235,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:3242,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wlantest/rx_mgmt.c:3243,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:3251,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:3263,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:3267,1
    - Dst: get_ml_ie
      Src: /src/hostap/wlantest/rx_mgmt.c:3270,1
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/wlantest/rx_mgmt.c:3272,1
    - Dst: parse_basic_ml_elems
      Src: /src/hostap/wlantest/rx_mgmt.c:3273,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 4
    argNames:
    - wt
    - sta
    - pos
    - end
    argTypes:
    - struct wlantest*
    - struct wlantest_sta*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3274
      start: 3218
    functionDepth: 3
    functionLinenumber: 3218
    functionLinenumberEnd: 3274
    functionName: rx_mgmt_action_link_reconfig_response
    functionSourceFile: /src/hostap/wlantest/rx_mgmt.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    - parse_basic_ml_elems
    - WPA_GET_LE16
    - ieee802_11_parse_elems
    - get_ml_ie
    linkageType: ''
    returnType: void
    signature: "void rx_mgmt_action_link_reconfig_response(struct wlantest *wt,\n\t\t\t\t\t\t
      \ struct wlantest_sta *sta,\n\t\t\t\t\t\t  const u8 *pos, const u8 *end)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:3293,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:3294,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:3295,1
    - Dst: rx_mgmt_action_link_reconfig_request
      Src: /src/hostap/wlantest/rx_mgmt.c:3299,1
    - Dst: rx_mgmt_action_link_reconfig_response
      Src: /src/hostap/wlantest/rx_mgmt.c:3302,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:3305,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:3307,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 5
    argNames:
    - wt
    - sta
    - mgmt
    - len
    - valid
    argTypes:
    - struct wlantest*
    - struct wlantest_sta*
    - struct ieee80211_mgmt*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3310
      start: 3277
    functionDepth: 4
    functionLinenumber: 3277
    functionLinenumberEnd: 3310
    functionName: rx_mgmt_action_protected_eht
    functionSourceFile: /src/hostap/wlantest/rx_mgmt.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - rx_mgmt_action_link_reconfig_request
    - wpa_hexdump
    - add_note
    - MAC2STR
    - rx_mgmt_action_link_reconfig_response
    linkageType: ''
    returnType: void
    signature: "void rx_mgmt_action_protected_eht(struct wlantest *wt,\n\t\t\t\t\t
      struct wlantest_sta *sta,\n\t\t\t\t\t const struct ieee80211_mgmt *mgmt,\n\t\t\t\t\t
      size_t len, int valid)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:3322,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:3324,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:3328,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:3330,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:3330,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:3334,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:3336,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:3338,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - wt
    - mgmt
    - len
    - no_ack
    argTypes:
    - struct wlantest*
    - struct ieee80211_mgmt*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3340
      start: 3313
    functionDepth: 1
    functionLinenumber: 3313
    functionLinenumberEnd: 3340
    functionName: rx_mgmt_location_measurement_report
    functionSourceFile: /src/hostap/wlantest/rx_mgmt.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    - add_note
    - wpa_hexdump
    linkageType: ''
    returnType: void
    signature: "void rx_mgmt_location_measurement_report(struct wlantest *wt,\n\t\t\t\t
      \   const struct ieee80211_mgmt *mgmt,\n\t\t\t\t    size_t len, bool no_ack)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rx_mgmt_location_measurement_report
      Src: /src/hostap/wlantest/rx_mgmt.c:3349,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - wt
    - mgmt
    - len
    - no_ack
    argTypes:
    - struct wlantest*
    - struct ieee80211_mgmt*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3352
      start: 3343
    functionDepth: 2
    functionLinenumber: 3343
    functionLinenumberEnd: 3352
    functionName: rx_mgmt_action_no_bss_public
    functionSourceFile: /src/hostap/wlantest/rx_mgmt.c
    functionUses: 0
    functionsReached:
    - rx_mgmt_location_measurement_report
    linkageType: ''
    returnType: void
    signature: "void rx_mgmt_action_no_bss_public(struct wlantest *wt,\n\t\t\t\t\t
      const struct ieee80211_mgmt *mgmt,\n\t\t\t\t\t size_t len, bool no_ack)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:3359,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:3361,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:3361,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:3363,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:3365,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - wt
    - mgmt
    - len
    - no_ack
    argTypes:
    - struct wlantest*
    - struct ieee80211_mgmt*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3366
      start: 3355
    functionDepth: 1
    functionLinenumber: 3355
    functionLinenumberEnd: 3366
    functionName: rx_mgmt_prot_ftm_request
    functionSourceFile: /src/hostap/wlantest/rx_mgmt.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    - add_note
    linkageType: ''
    returnType: void
    signature: "void rx_mgmt_prot_ftm_request(struct wlantest *wt,\n\t\t\t\t     const
      struct ieee80211_mgmt *mgmt,\n\t\t\t\t     size_t len, bool no_ack)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:3373,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:3375,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:3375,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:3377,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:3379,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - wt
    - mgmt
    - len
    - no_ack
    argTypes:
    - struct wlantest*
    - struct ieee80211_mgmt*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3380
      start: 3369
    functionDepth: 1
    functionLinenumber: 3369
    functionLinenumberEnd: 3380
    functionName: rx_mgmt_prot_ftm
    functionSourceFile: /src/hostap/wlantest/rx_mgmt.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    - add_note
    linkageType: ''
    returnType: void
    signature: "void rx_mgmt_prot_ftm(struct wlantest *wt,\n\t\t\t     const struct
      ieee80211_mgmt *mgmt,\n\t\t\t     size_t len, bool no_ack)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:3387,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:3389,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:3389,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:3391,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:3393,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - wt
    - mgmt
    - len
    - no_ack
    argTypes:
    - struct wlantest*
    - struct ieee80211_mgmt*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3394
      start: 3383
    functionDepth: 1
    functionLinenumber: 3383
    functionLinenumberEnd: 3394
    functionName: rx_mgmt_prot_ftm_report
    functionSourceFile: /src/hostap/wlantest/rx_mgmt.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    - add_note
    linkageType: ''
    returnType: void
    signature: "void rx_mgmt_prot_ftm_report(struct wlantest *wt,\n\t\t\t\t     const
      struct ieee80211_mgmt *mgmt,\n\t\t\t\t     size_t len, bool no_ack)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rx_mgmt_prot_ftm_request
      Src: /src/hostap/wlantest/rx_mgmt.c:3404,1
    - Dst: rx_mgmt_prot_ftm
      Src: /src/hostap/wlantest/rx_mgmt.c:3407,1
    - Dst: rx_mgmt_prot_ftm_report
      Src: /src/hostap/wlantest/rx_mgmt.c:3410,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - wt
    - mgmt
    - len
    - no_ack
    argTypes:
    - struct wlantest*
    - struct ieee80211_mgmt*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3413
      start: 3397
    functionDepth: 2
    functionLinenumber: 3397
    functionLinenumberEnd: 3413
    functionName: rx_mgmt_action_no_bss_protected_ftm
    functionSourceFile: /src/hostap/wlantest/rx_mgmt.c
    functionUses: 0
    functionsReached:
    - rx_mgmt_prot_ftm_report
    - rx_mgmt_prot_ftm_request
    - rx_mgmt_prot_ftm
    linkageType: ''
    returnType: void
    signature: "void rx_mgmt_action_no_bss_protected_ftm(struct wlantest *wt,\n\t\t\t\t
      \   const struct ieee80211_mgmt *mgmt,\n\t\t\t\t    size_t len, bool no_ack)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rx_mgmt_action_no_bss_public
      Src: /src/hostap/wlantest/rx_mgmt.c:3422,1
    - Dst: rx_mgmt_action_no_bss_protected_ftm
      Src: /src/hostap/wlantest/rx_mgmt.c:3425,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - wt
    - mgmt
    - len
    - no_ack
    argTypes:
    - struct wlantest*
    - struct ieee80211_mgmt*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3428
      start: 3416
    functionDepth: 3
    functionLinenumber: 3416
    functionLinenumberEnd: 3428
    functionName: rx_mgmt_action_no_bss
    functionSourceFile: /src/hostap/wlantest/rx_mgmt.c
    functionUses: 0
    functionsReached:
    - rx_mgmt_action_no_bss_protected_ftm
    - rx_mgmt_action_no_bss_public
    linkageType: ''
    returnType: void
    signature: "void rx_mgmt_action_no_bss(struct wlantest *wt,\n\t\t\t\t  const struct
      ieee80211_mgmt *mgmt, size_t len,\n\t\t\t\t  bool no_ack)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:3440,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:3443,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:3443,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:3444,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:3449,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:3450,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:3454,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:3457,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:3457,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:3457,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:3459,1
    - Dst: is_broadcast_ether_addr
      Src: /src/hostap/wlantest/rx_mgmt.c:3461,1
    - Dst: rx_mgmt_action_no_bss
      Src: /src/hostap/wlantest/rx_mgmt.c:3462,1
    - Dst: bss_get
      Src: /src/hostap/wlantest/rx_mgmt.c:3465,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wlantest/rx_mgmt.c:3468,1
    - Dst: sta_find_mlo
      Src: /src/hostap/wlantest/rx_mgmt.c:3469,1
    - Dst: sta_get
      Src: /src/hostap/wlantest/rx_mgmt.c:3471,1
    - Dst: sta_find_mlo
      Src: /src/hostap/wlantest/rx_mgmt.c:3473,1
    - Dst: sta_get
      Src: /src/hostap/wlantest/rx_mgmt.c:3475,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:3482,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:3484,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:3484,1
    - Dst: rx_mgmt_action_ft
      Src: /src/hostap/wlantest/rx_mgmt.c:3489,1
    - Dst: rx_mgmt_action_sa_query
      Src: /src/hostap/wlantest/rx_mgmt.c:3492,1
    - Dst: rx_mgmt_action_protected_eht
      Src: /src/hostap/wlantest/rx_mgmt.c:3495,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 5
    argNames:
    - wt
    - data
    - len
    - valid
    - no_ack
    argTypes:
    - struct wlantest*
    - u8*
    - size_t
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3498
      start: 3431
    functionDepth: 5
    functionLinenumber: 3431
    functionLinenumberEnd: 3498
    functionName: rx_mgmt_action
    functionSourceFile: /src/hostap/wlantest/rx_mgmt.c
    functionUses: 1
    functionsReached:
    - rx_mgmt_action_no_bss
    - wpa_printf
    - wpa_hexdump
    - is_broadcast_ether_addr
    - ether_addr_equal
    - add_note
    - rx_mgmt_action_ft
    - MAC2STR
    - bss_get
    - rx_mgmt_action_protected_eht
    - sta_find_mlo
    - rx_mgmt_action_sa_query
    - sta_get
    linkageType: ''
    returnType: void
    signature: "void rx_mgmt_action(struct wlantest *wt, const u8 *data, size_t len,\n\t\t\t
      \  int valid, bool no_ack)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/wlantest/rx_mgmt.c:3518,1
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/rx_mgmt.c:3524,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/wlantest/rx_mgmt.c:3526,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_mgmt.c:3527,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_mgmt.c:3530,1
    - Dst: os_memset
      Src: /src/hostap/wlantest/rx_mgmt.c:3531,1
    - Dst: WLAN_FC_GET_STYPE
      Src: /src/hostap/wlantest/rx_mgmt.c:3533,1
    - Dst: os_memset
      Src: /src/hostap/wlantest/rx_mgmt.c:3535,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:3538,1
    - Dst: omac1_aes_128
      Src: /src/hostap/wlantest/rx_mgmt.c:3541,1
    - Dst: omac1_aes_256
      Src: /src/hostap/wlantest/rx_mgmt.c:3543,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_mgmt.c:3552,1
    - Dst: aes_gmac
      Src: /src/hostap/wlantest/rx_mgmt.c:3561,1
    - Dst: os_free
      Src: /src/hostap/wlantest/rx_mgmt.c:3567,1
    - Dst: os_free
      Src: /src/hostap/wlantest/rx_mgmt.c:3571,1
    - Dst: os_memcmp
      Src: /src/hostap/wlantest/rx_mgmt.c:3573,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 5
    argNames:
    - mgmt_group_cipher
    - igtk
    - igtk_len
    - data
    - len
    argTypes:
    - unsigned int
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3577
      start: 3501
    functionDepth: 1
    functionLinenumber: 3501
    functionLinenumberEnd: 3577
    functionName: check_mmie_mic
    functionSourceFile: /src/hostap/wlantest/rx_mgmt.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    - WLAN_FC_GET_STYPE
    - wpa_hexdump
    - aes_gmac
    - os_malloc
    - omac1_aes_256
    - omac1_aes_128
    - os_memcmp
    - le_to_host16
    - WPA_PUT_LE16
    - os_free
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int check_mmie_mic(unsigned int mgmt_group_cipher,\n\t\t\t  const
      u8 *igtk, size_t igtk_len,\n\t\t\t  const u8 *data, size_t len)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/rx_mgmt.c:3591,1
    - Dst: WLAN_FC_GET_STYPE
      Src: /src/hostap/wlantest/rx_mgmt.c:3592,1
    - Dst: bss_get
      Src: /src/hostap/wlantest/rx_mgmt.c:3602,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:3613,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:3615,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wlantest/rx_mgmt.c:3623,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:3625,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:3626,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:3630,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:3631,1
    - Dst: WPA_GET_LE48
      Src: /src/hostap/wlantest/rx_mgmt.c:3636,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:3637,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:3639,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:3642,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:3647,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:3649,1
    - Dst: check_mmie_mic
      Src: /src/hostap/wlantest/rx_mgmt.c:3653,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:3655,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:3656,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:3661,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 56
    argCount: 3
    argNames:
    - wt
    - data
    - len
    argTypes:
    - struct wlantest*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3671
      start: 3580
    functionDepth: 2
    functionLinenumber: 3580
    functionLinenumberEnd: 3671
    functionName: check_bip
    functionSourceFile: /src/hostap/wlantest/rx_mgmt.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - WLAN_FC_GET_STYPE
    - wpa_hexdump
    - WPA_GET_LE48
    - WPA_GET_LE16
    - add_note
    - MAC2STR
    - bss_get
    - check_mmie_mic
    - le_to_host16
    linkageType: ''
    returnType: int
    signature: int check_bip(struct wlantest *wt, const u8 *data, size_t len)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ccmp_decrypt
      Src: /src/hostap/wlantest/rx_mgmt.c:3682,1
    - Dst: gcmp_decrypt
      Src: /src/hostap/wlantest/rx_mgmt.c:3685,1
    - Dst: ccmp_256_decrypt
      Src: /src/hostap/wlantest/rx_mgmt.c:3689,1
    - Dst: gcmp_decrypt
      Src: /src/hostap/wlantest/rx_mgmt.c:3692,1
    - Dst: os_malloc
      Src: /src/hostap/wlantest/rx_mgmt.c:3701,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_mgmt.c:3703,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_mgmt.c:3704,1
    - Dst: os_free
      Src: /src/hostap/wlantest/rx_mgmt.c:3707,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 4
    argNames:
    - ptk
    - data
    - len
    - dlen
    argTypes:
    - struct wpa_ptk*
    - u8*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3709
      start: 3674
    functionDepth: 3
    functionLinenumber: 3674
    functionLinenumberEnd: 3709
    functionName: try_tk
    functionSourceFile: /src/hostap/wlantest/rx_mgmt.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - ccmp_decrypt
    - os_malloc
    - ccmp_256_decrypt
    - gcmp_decrypt
    - os_free
    linkageType: ''
    returnType: u8
    signature: "u8 * try_tk(struct wpa_ptk *ptk,\n\t\t   const u8 *data, size_t len,
      size_t *dlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/wlantest/rx_mgmt.c:3723,1
    - Dst: try_tk
      Src: /src/hostap/wlantest/rx_mgmt.c:3724,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:3727,1
    - Dst: write_decrypted_note
      Src: /src/hostap/wlantest/rx_mgmt.c:3729,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 4
    argNames:
    - wt
    - data
    - len
    - dlen
    argTypes:
    - struct wlantest*
    - u8*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3737
      start: 3712
    functionDepth: 4
    functionLinenumber: 3712
    functionLinenumberEnd: 3737
    functionName: mgmt_decrypt_tk
    functionSourceFile: /src/hostap/wlantest/rx_mgmt.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    - write_decrypted_note
    - try_tk
    - add_note
    linkageType: ''
    returnType: u8
    signature: "u8 * mgmt_decrypt_tk(struct wlantest *wt, const u8 *data, size_t len,\n\t\t\t
      \   size_t *dlen)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/rx_mgmt.c:3754,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:3763,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:3765,1
    - Dst: WLAN_FC_GET_STYPE
      Src: /src/hostap/wlantest/rx_mgmt.c:3770,1
    - Dst: WLAN_FC_GET_STYPE
      Src: /src/hostap/wlantest/rx_mgmt.c:3771,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:3774,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:3775,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:3780,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:3782,1
    - Dst: bss_get
      Src: /src/hostap/wlantest/rx_mgmt.c:3785,1
    - Dst: mgmt_decrypt_tk
      Src: /src/hostap/wlantest/rx_mgmt.c:3787,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wlantest/rx_mgmt.c:3788,1
    - Dst: sta_find_mlo
      Src: /src/hostap/wlantest/rx_mgmt.c:3789,1
    - Dst: sta_get
      Src: /src/hostap/wlantest/rx_mgmt.c:3791,1
    - Dst: sta_find_mlo
      Src: /src/hostap/wlantest/rx_mgmt.c:3793,1
    - Dst: sta_get
      Src: /src/hostap/wlantest/rx_mgmt.c:3795,1
    - Dst: mgmt_decrypt_tk
      Src: /src/hostap/wlantest/rx_mgmt.c:3798,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:3800,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wlantest/rx_mgmt.c:3805,1
    - Dst: ccmp_get_pn
      Src: /src/hostap/wlantest/rx_mgmt.c:3810,1
    - Dst: os_memcmp
      Src: /src/hostap/wlantest/rx_mgmt.c:3811,1
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/rx_mgmt.c:3812,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:3813,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:3815,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:3815,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:3816,1
    - Dst: WLAN_GET_SEQ_SEQ
      Src: /src/hostap/wlantest/rx_mgmt.c:3817,1
    - Dst: WLAN_GET_SEQ_FRAG
      Src: /src/hostap/wlantest/rx_mgmt.c:3818,1
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/rx_mgmt.c:3819,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:3821,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_mgmt.c:3822,1
    - Dst: ccmp_256_decrypt
      Src: /src/hostap/wlantest/rx_mgmt.c:3826,1
    - Dst: write_decrypted_note
      Src: /src/hostap/wlantest/rx_mgmt.c:3828,1
    - Dst: gcmp_decrypt
      Src: /src/hostap/wlantest/rx_mgmt.c:3831,1
    - Dst: write_decrypted_note
      Src: /src/hostap/wlantest/rx_mgmt.c:3834,1
    - Dst: ccmp_decrypt
      Src: /src/hostap/wlantest/rx_mgmt.c:3837,1
    - Dst: write_decrypted_note
      Src: /src/hostap/wlantest/rx_mgmt.c:3839,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_mgmt.c:3842,1
    - Dst: os_malloc
      Src: /src/hostap/wlantest/rx_mgmt.c:3843,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_mgmt.c:3845,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_mgmt.c:3846,1
    - Dst: os_free
      Src: /src/hostap/wlantest/rx_mgmt.c:3857,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 72
    argCount: 4
    argNames:
    - wt
    - data
    - len
    - dlen
    argTypes:
    - struct wlantest*
    - u8*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3860
      start: 3740
    functionDepth: 5
    functionLinenumber: 3740
    functionLinenumberEnd: 3860
    functionName: mgmt_decrypt
    functionSourceFile: /src/hostap/wlantest/rx_mgmt.c
    functionUses: 0
    functionsReached:
    - wpa_hexdump
    - add_note
    - mgmt_decrypt_tk
    - ccmp_get_pn
    - gcmp_decrypt
    - WLAN_GET_SEQ_FRAG
    - ether_addr_equal
    - write_decrypted_note
    - WLAN_GET_SEQ_SEQ
    - bss_get
    - os_memcmp
    - os_free
    - WLAN_FC_GET_STYPE
    - os_malloc
    - sta_find_mlo
    - sta_get
    - os_memcpy
    - ccmp_decrypt
    - MAC2STR
    - ccmp_256_decrypt
    - le_to_host16
    linkageType: ''
    returnType: u8
    signature: "u8 * mgmt_decrypt(struct wlantest *wt, const u8 *data, size_t len,\n\t\t\t
      size_t *dlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 1
    argNames:
    - category
    argTypes:
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3875
      start: 3863
    functionDepth: 0
    functionLinenumber: 3863
    functionLinenumberEnd: 3875
    functionName: is_robust_action_category
    functionSourceFile: /src/hostap/wlantest/rx_mgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_robust_action_category(u8 category)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/rx_mgmt.c:3887,1
    - Dst: WLAN_FC_GET_STYPE
      Src: /src/hostap/wlantest/rx_mgmt.c:3889,1
    - Dst: WLAN_FC_GET_STYPE
      Src: /src/hostap/wlantest/rx_mgmt.c:3890,1
    - Dst: is_robust_action_category
      Src: /src/hostap/wlantest/rx_mgmt.c:3893,1
    - Dst: bss_get
      Src: /src/hostap/wlantest/rx_mgmt.c:3897,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wlantest/rx_mgmt.c:3900,1
    - Dst: sta_get
      Src: /src/hostap/wlantest/rx_mgmt.c:3901,1
    - Dst: sta_get
      Src: /src/hostap/wlantest/rx_mgmt.c:3903,1
    - Dst: WLAN_FC_GET_STYPE
      Src: /src/hostap/wlantest/rx_mgmt.c:3910,1
    - Dst: WLAN_FC_GET_STYPE
      Src: /src/hostap/wlantest/rx_mgmt.c:3911,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:3912,1
    - Dst: WLAN_FC_GET_STYPE
      Src: /src/hostap/wlantest/rx_mgmt.c:3914,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:3915,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 3
    argNames:
    - wt
    - data
    - len
    argTypes:
    - struct wlantest*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3920
      start: 3878
    functionDepth: 1
    functionLinenumber: 3878
    functionLinenumberEnd: 3920
    functionName: check_mgmt_ccmp_gcmp
    functionSourceFile: /src/hostap/wlantest/rx_mgmt.c
    functionUses: 0
    functionsReached:
    - WLAN_FC_GET_STYPE
    - ether_addr_equal
    - add_note
    - is_robust_action_category
    - MAC2STR
    - bss_get
    - le_to_host16
    - sta_get
    linkageType: ''
    returnType: int
    signature: int check_mgmt_ccmp_gcmp(struct wlantest *wt, const u8 *data, size_t
      len)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/rx_mgmt.c:3935,1
    - Dst: WLAN_FC_GET_STYPE
      Src: /src/hostap/wlantest/rx_mgmt.c:3937,1
    - Dst: check_bip
      Src: /src/hostap/wlantest/rx_mgmt.c:3944,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:3948,1
    - Dst: mgmt_stype
      Src: /src/hostap/wlantest/rx_mgmt.c:3954,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:3957,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:3957,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:3958,1
    - Dst: mgmt_decrypt
      Src: /src/hostap/wlantest/rx_mgmt.c:3970,1
    - Dst: write_pcap_decrypted
      Src: /src/hostap/wlantest/rx_mgmt.c:3972,1
    - Dst: check_mgmt_ccmp_gcmp
      Src: /src/hostap/wlantest/rx_mgmt.c:3989,1
    - Dst: rx_mgmt_beacon
      Src: /src/hostap/wlantest/rx_mgmt.c:3995,1
    - Dst: rx_mgmt_probe_resp
      Src: /src/hostap/wlantest/rx_mgmt.c:3998,1
    - Dst: rx_mgmt_auth
      Src: /src/hostap/wlantest/rx_mgmt.c:4001,1
    - Dst: rx_mgmt_deauth
      Src: /src/hostap/wlantest/rx_mgmt.c:4004,1
    - Dst: rx_mgmt_assoc_req
      Src: /src/hostap/wlantest/rx_mgmt.c:4007,1
    - Dst: rx_mgmt_assoc_resp
      Src: /src/hostap/wlantest/rx_mgmt.c:4010,1
    - Dst: rx_mgmt_reassoc_req
      Src: /src/hostap/wlantest/rx_mgmt.c:4013,1
    - Dst: rx_mgmt_reassoc_resp
      Src: /src/hostap/wlantest/rx_mgmt.c:4016,1
    - Dst: rx_mgmt_disassoc
      Src: /src/hostap/wlantest/rx_mgmt.c:4019,1
    - Dst: rx_mgmt_action
      Src: /src/hostap/wlantest/rx_mgmt.c:4022,1
    - Dst: rx_mgmt_action
      Src: /src/hostap/wlantest/rx_mgmt.c:4025,1
    - Dst: os_free
      Src: /src/hostap/wlantest/rx_mgmt.c:4029,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 62
    argCount: 3
    argNames:
    - wt
    - data
    - len
    argTypes:
    - struct wlantest*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4032
      start: 3923
    functionDepth: 6
    functionLinenumber: 3923
    functionLinenumberEnd: 4032
    functionName: rx_mgmt
    functionSourceFile: /src/hostap/wlantest/rx_mgmt.c
    functionUses: 0
    functionsReached:
    - rx_mgmt_deauth
    - rx_mgmt_disassoc
    - rx_mgmt_assoc_req
    - rx_mgmt_probe_resp
    - wpa_printf
    - mgmt_decrypt
    - mgmt_stype
    - write_pcap_decrypted
    - rx_mgmt_reassoc_resp
    - os_free
    - check_mgmt_ccmp_gcmp
    - le_to_host16
    - check_bip
    - rx_mgmt_action
    - WLAN_FC_GET_STYPE
    - rx_mgmt_assoc_resp
    - rx_mgmt_reassoc_req
    - rx_mgmt_auth
    - MAC2STR
    - rx_mgmt_beacon
    linkageType: ''
    returnType: void
    signature: void rx_mgmt(struct wlantest *wt, const u8 *data, size_t len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bss_get
      Src: /src/hostap/wlantest/rx_mgmt.c:4043,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wlantest/rx_mgmt.c:4046,1
    - Dst: sta_get
      Src: /src/hostap/wlantest/rx_mgmt.c:4047,1
    - Dst: sta_get
      Src: /src/hostap/wlantest/rx_mgmt.c:4049,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:4053,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:4054,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:4054,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wlantest/rx_mgmt.c:4055,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - wt
    - hdr
    argTypes:
    - struct wlantest*
    - struct ieee80211_hdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4062
      start: 4035
    functionDepth: 1
    functionLinenumber: 4035
    functionLinenumberEnd: 4062
    functionName: rx_mgmt_deauth_ack
    functionSourceFile: /src/hostap/wlantest/rx_mgmt.c
    functionUses: 0
    functionsReached:
    - ether_addr_equal
    - add_note
    - MAC2STR
    - bss_get
    - sta_get
    linkageType: ''
    returnType: void
    signature: "void rx_mgmt_deauth_ack(struct wlantest *wt,\n\t\t\t       const struct
      ieee80211_hdr *hdr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bss_get
      Src: /src/hostap/wlantest/rx_mgmt.c:4073,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wlantest/rx_mgmt.c:4076,1
    - Dst: sta_get
      Src: /src/hostap/wlantest/rx_mgmt.c:4077,1
    - Dst: sta_get
      Src: /src/hostap/wlantest/rx_mgmt.c:4079,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_mgmt.c:4083,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:4084,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:4084,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wlantest/rx_mgmt.c:4085,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - wt
    - hdr
    argTypes:
    - struct wlantest*
    - struct ieee80211_hdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4092
      start: 4065
    functionDepth: 1
    functionLinenumber: 4065
    functionLinenumberEnd: 4092
    functionName: rx_mgmt_disassoc_ack
    functionSourceFile: /src/hostap/wlantest/rx_mgmt.c
    functionUses: 0
    functionsReached:
    - ether_addr_equal
    - add_note
    - MAC2STR
    - bss_get
    - sta_get
    linkageType: ''
    returnType: void
    signature: "void rx_mgmt_disassoc_ack(struct wlantest *wt,\n\t\t\t\t const struct
      ieee80211_hdr *hdr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/rx_mgmt.c:4098,1
    - Dst: WLAN_FC_GET_STYPE
      Src: /src/hostap/wlantest/rx_mgmt.c:4099,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_mgmt.c:4101,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:4103,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:4103,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_mgmt.c:4104,1
    - Dst: rx_mgmt_deauth_ack
      Src: /src/hostap/wlantest/rx_mgmt.c:4108,1
    - Dst: rx_mgmt_disassoc_ack
      Src: /src/hostap/wlantest/rx_mgmt.c:4111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - wt
    - hdr
    argTypes:
    - struct wlantest*
    - struct ieee80211_hdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4114
      start: 4095
    functionDepth: 2
    functionLinenumber: 4095
    functionLinenumberEnd: 4114
    functionName: rx_mgmt_ack
    functionSourceFile: /src/hostap/wlantest/rx_mgmt.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - WLAN_FC_GET_STYPE
    - MAC2STR
    - rx_mgmt_deauth_ack
    - rx_mgmt_disassoc_ack
    - le_to_host16
    linkageType: ''
    returnType: void
    signature: void rx_mgmt_ack(struct wlantest *wt, const struct ieee80211_hdr *hdr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - str
    - pos
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 31
    functionName: get_prev_arg_pos
    functionSourceFile: /src/hostap/wlantest/wlantest_cli.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_prev_arg_pos(const char *str, int pos)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WPA_GET_BE32
      Src: /src/hostap/wlantest/wlantest_cli.c:42,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/wlantest/wlantest_cli.c:44,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - buf
    - buflen
    - attr
    - len
    argTypes:
    - u8*
    - size_t
    - enum wlantest_ctrl_attr
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 58
    functionName: attr_get
    functionSourceFile: /src/hostap/wlantest/wlantest_cli.c
    functionUses: 0
    functionsReached:
    - WPA_GET_BE32
    - printf
    linkageType: ''
    returnType: u8
    signature: "u8 * attr_get(u8 *buf, size_t buflen, enum wlantest_ctrl_attr attr,\n\t\t
      \    size_t *len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/wlantest/wlantest_cli.c:66,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/wlantest/wlantest_cli.c:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - pos
    - end
    - attr
    - len
    argTypes:
    - u8*
    - u8*
    - enum wlantest_ctrl_attr
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 71
    functionName: attr_hdr_add
    functionSourceFile: /src/hostap/wlantest/wlantest_cli.c
    functionUses: 0
    functionsReached:
    - WPA_PUT_BE32
    linkageType: ''
    returnType: u8
    signature: "u8 * attr_hdr_add(u8 *pos, u8 *end, enum wlantest_ctrl_attr attr,\n\t\t\t
      size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/wlantest/wlantest_cli.c:77,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/wlantest/wlantest_cli.c:81,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/wlantest/wlantest_cli.c:83,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/wlantest_cli.c:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - pos
    - end
    - attr
    - str
    argTypes:
    - u8*
    - u8*
    - enum wlantest_ctrl_attr
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 88
    functionName: attr_add_str
    functionSourceFile: /src/hostap/wlantest/wlantest_cli.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - WPA_PUT_BE32
    - os_memcpy
    linkageType: ''
    returnType: u8
    signature: "u8 * attr_add_str(u8 *pos, u8 *end, enum wlantest_ctrl_attr attr,\n\t\t\t
      const char *str)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/wlantest/wlantest_cli.c:96,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/wlantest/wlantest_cli.c:98,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/wlantest/wlantest_cli.c:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - pos
    - end
    - attr
    - val
    argTypes:
    - u8*
    - u8*
    - enum wlantest_ctrl_attr
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 103
    functionName: attr_add_be32
    functionSourceFile: /src/hostap/wlantest/wlantest_cli.c
    functionUses: 0
    functionsReached:
    - WPA_PUT_BE32
    linkageType: ''
    returnType: u8
    signature: "u8 * attr_add_be32(u8 *pos, u8 *end, enum wlantest_ctrl_attr attr,\n\t\t\t
      \ u32 val)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: send
      Src: /src/hostap/wlantest/wlantest_cli.c:112,1
    - Dst: recv
      Src: /src/hostap/wlantest/wlantest_cli.c:114,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/wlantest/wlantest_cli.c:118,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:123,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:125,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 5
    argNames:
    - s
    - cmd
    - cmd_len
    - resp
    - max_resp_len
    argTypes:
    - int
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 128
    functionName: cmd_send_and_recv
    functionSourceFile: /src/hostap/wlantest/wlantest_cli.c
    functionUses: 0
    functionsReached:
    - WPA_GET_BE32
    - recv
    - send
    - printf
    linkageType: ''
    returnType: int
    signature: "int cmd_send_and_recv(int s, const u8 *cmd, size_t cmd_len,\n\t\t\t
      \    u8 *resp, size_t max_resp_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/wlantest/wlantest_cli.c:135,1
    - Dst: cmd_send_and_recv
      Src: /src/hostap/wlantest/wlantest_cli.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - s
    - cmd
    argTypes:
    - int
    - enum wlantest_ctrl_cmd
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 138
    functionName: cmd_simple
    functionSourceFile: /src/hostap/wlantest/wlantest_cli.c
    functionUses: 0
    functionsReached:
    - WPA_PUT_BE32
    - cmd_send_and_recv
    linkageType: ''
    returnType: int
    signature: int cmd_simple(int s, enum wlantest_ctrl_cmd cmd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/wlantest/wlantest_cli.c:150,1
    - Dst: cmd_send_and_recv
      Src: /src/hostap/wlantest/wlantest_cli.c:151,1
    - Dst: attr_get
      Src: /src/hostap/wlantest/wlantest_cli.c:155,1
    - Dst: os_calloc
      Src: /src/hostap/wlantest/wlantest_cli.c:159,1
    - Dst: os_zalloc
      Src: /src/hostap/wlantest/wlantest_cli.c:163,1
    - Dst: os_snprintf
      Src: /src/hostap/wlantest/wlantest_cli.c:166,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/wlantest_cli.c:166,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 170
    functionName: get_bssid_list
    functionSourceFile: /src/hostap/wlantest/wlantest_cli.c
    functionUses: 0
    functionsReached:
    - cmd_send_and_recv
    - os_calloc
    - os_snprintf
    - WPA_PUT_BE32
    - os_zalloc
    - MAC2STR
    - attr_get
    linkageType: ''
    returnType: char
    signature: char ** get_bssid_list(int s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/wlantest/wlantest_cli.c:184,1
    - Dst: attr_hdr_add
      Src: /src/hostap/wlantest/wlantest_cli.c:186,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/wlantest_cli.c:187,1
    - Dst: cmd_send_and_recv
      Src: /src/hostap/wlantest/wlantest_cli.c:189,1
    - Dst: attr_get
      Src: /src/hostap/wlantest/wlantest_cli.c:193,1
    - Dst: os_calloc
      Src: /src/hostap/wlantest/wlantest_cli.c:197,1
    - Dst: os_zalloc
      Src: /src/hostap/wlantest/wlantest_cli.c:201,1
    - Dst: os_snprintf
      Src: /src/hostap/wlantest/wlantest_cli.c:204,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/wlantest_cli.c:204,1
    - Dst: os_strdup
      Src: /src/hostap/wlantest/wlantest_cli.c:207,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 210
    functionName: get_sta_list
    functionSourceFile: /src/hostap/wlantest/wlantest_cli.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - cmd_send_and_recv
    - attr_hdr_add
    - os_calloc
    - os_snprintf
    - WPA_PUT_BE32
    - os_zalloc
    - MAC2STR
    - os_strdup
    - attr_get
    linkageType: ''
    returnType: char
    signature: char ** get_sta_list(int s, const u8 *bssid, int add_bcast)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmd_simple
      Src: /src/hostap/wlantest/wlantest_cli.c:215,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - s
    - argc
    - argv
    argTypes:
    - int
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 213
    functionDepth: 3
    functionLinenumber: 213
    functionLinenumberEnd: 219
    functionName: cmd_ping
    functionSourceFile: /src/hostap/wlantest/wlantest_cli.c
    functionUses: 0
    functionsReached:
    - cmd_simple
    - printf
    linkageType: ''
    returnType: int
    signature: int cmd_ping(int s, int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmd_simple
      Src: /src/hostap/wlantest/wlantest_cli.c:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s
    - argc
    - argv
    argTypes:
    - int
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 222
    functionDepth: 3
    functionLinenumber: 222
    functionLinenumberEnd: 225
    functionName: cmd_terminate
    functionSourceFile: /src/hostap/wlantest/wlantest_cli.c
    functionUses: 0
    functionsReached:
    - cmd_simple
    linkageType: ''
    returnType: int
    signature: int cmd_terminate(int s, int argc, char *argv[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/wlantest/wlantest_cli.c:236,1
    - Dst: cmd_send_and_recv
      Src: /src/hostap/wlantest/wlantest_cli.c:237,1
    - Dst: attr_get
      Src: /src/hostap/wlantest/wlantest_cli.c:241,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:246,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/wlantest_cli.c:246,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:247,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - s
    - argc
    - argv
    argTypes:
    - int
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 250
    functionName: cmd_list_bss
    functionSourceFile: /src/hostap/wlantest/wlantest_cli.c
    functionUses: 0
    functionsReached:
    - cmd_send_and_recv
    - printf
    - WPA_PUT_BE32
    - MAC2STR
    - attr_get
    linkageType: ''
    returnType: int
    signature: int cmd_list_bss(int s, int argc, char *argv[])
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:262,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/wlantest/wlantest_cli.c:267,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/wlantest/wlantest_cli.c:269,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/wlantest/wlantest_cli.c:271,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wlantest/wlantest_cli.c:273,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:274,1
    - Dst: cmd_send_and_recv
      Src: /src/hostap/wlantest/wlantest_cli.c:279,1
    - Dst: attr_get
      Src: /src/hostap/wlantest/wlantest_cli.c:283,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:288,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/wlantest_cli.c:288,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:289,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 3
    argNames:
    - s
    - argc
    - argv
    argTypes:
    - int
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 292
    functionName: cmd_list_sta
    functionSourceFile: /src/hostap/wlantest/wlantest_cli.c
    functionUses: 0
    functionsReached:
    - attr_get
    - hwaddr_aton
    - printf
    - WPA_PUT_BE32
    - MAC2STR
    - cmd_send_and_recv
    linkageType: ''
    returnType: int
    signature: int cmd_list_sta(int s, int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_cmd_arg_num
      Src: /src/hostap/wlantest/wlantest_cli.c:297,1
    - Dst: get_bssid_list
      Src: /src/hostap/wlantest/wlantest_cli.c:298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 295
    functionDepth: 3
    functionLinenumber: 295
    functionLinenumberEnd: 300
    functionName: complete_list_sta
    functionSourceFile: /src/hostap/wlantest/wlantest_cli.c
    functionUses: 0
    functionsReached:
    - get_cmd_arg_num
    - get_bssid_list
    linkageType: ''
    returnType: char
    signature: char ** complete_list_sta(int s, const char *str, int pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmd_simple
      Src: /src/hostap/wlantest/wlantest_cli.c:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s
    - argc
    - argv
    argTypes:
    - int
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 303
    functionDepth: 3
    functionLinenumber: 303
    functionLinenumberEnd: 306
    functionName: cmd_flush
    functionSourceFile: /src/hostap/wlantest/wlantest_cli.c
    functionUses: 0
    functionsReached:
    - cmd_simple
    linkageType: ''
    returnType: int
    signature: int cmd_flush(int s, int argc, char *argv[])
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:316,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/wlantest/wlantest_cli.c:322,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/wlantest/wlantest_cli.c:324,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/wlantest/wlantest_cli.c:326,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wlantest/wlantest_cli.c:328,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:329,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/wlantest/wlantest_cli.c:334,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/wlantest/wlantest_cli.c:336,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wlantest/wlantest_cli.c:338,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:339,1
    - Dst: cmd_send_and_recv
      Src: /src/hostap/wlantest/wlantest_cli.c:344,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:347,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 3
    argNames:
    - s
    - argc
    - argv
    argTypes:
    - int
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 309
    functionDepth: 2
    functionLinenumber: 309
    functionLinenumberEnd: 349
    functionName: cmd_clear_sta_counters
    functionSourceFile: /src/hostap/wlantest/wlantest_cli.c
    functionUses: 0
    functionsReached:
    - WPA_PUT_BE32
    - cmd_send_and_recv
    - hwaddr_aton
    - printf
    linkageType: ''
    returnType: int
    signature: int cmd_clear_sta_counters(int s, int argc, char *argv[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_cmd_arg_num
      Src: /src/hostap/wlantest/wlantest_cli.c:354,1
    - Dst: get_bssid_list
      Src: /src/hostap/wlantest/wlantest_cli.c:360,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wlantest/wlantest_cli.c:363,1
    - Dst: get_prev_arg_pos
      Src: /src/hostap/wlantest/wlantest_cli.c:363,1
    - Dst: get_sta_list
      Src: /src/hostap/wlantest/wlantest_cli.c:365,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 352
    functionDepth: 3
    functionLinenumber: 352
    functionLinenumberEnd: 370
    functionName: complete_clear_sta_counters
    functionSourceFile: /src/hostap/wlantest/wlantest_cli.c
    functionUses: 0
    functionsReached:
    - hwaddr_aton
    - get_prev_arg_pos
    - get_bssid_list
    - get_sta_list
    - get_cmd_arg_num
    linkageType: ''
    returnType: char
    signature: char ** complete_clear_sta_counters(int s, const char *str, int pos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:380,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/wlantest/wlantest_cli.c:385,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/wlantest/wlantest_cli.c:387,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/wlantest/wlantest_cli.c:389,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wlantest/wlantest_cli.c:391,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:392,1
    - Dst: cmd_send_and_recv
      Src: /src/hostap/wlantest/wlantest_cli.c:397,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:400,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - s
    - argc
    - argv
    argTypes:
    - int
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 373
    functionDepth: 2
    functionLinenumber: 373
    functionLinenumberEnd: 402
    functionName: cmd_clear_bss_counters
    functionSourceFile: /src/hostap/wlantest/wlantest_cli.c
    functionUses: 0
    functionsReached:
    - WPA_PUT_BE32
    - cmd_send_and_recv
    - hwaddr_aton
    - printf
    linkageType: ''
    returnType: int
    signature: int cmd_clear_bss_counters(int s, int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_cmd_arg_num
      Src: /src/hostap/wlantest/wlantest_cli.c:407,1
    - Dst: get_bssid_list
      Src: /src/hostap/wlantest/wlantest_cli.c:408,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 405
    functionDepth: 3
    functionLinenumber: 405
    functionLinenumberEnd: 410
    functionName: complete_clear_bss_counters
    functionSourceFile: /src/hostap/wlantest/wlantest_cli.c
    functionUses: 0
    functionsReached:
    - get_cmd_arg_num
    - get_bssid_list
    linkageType: ''
    returnType: char
    signature: char ** complete_clear_bss_counters(int s, const char *str, int pos)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:420,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/wlantest/wlantest_cli.c:426,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/wlantest/wlantest_cli.c:428,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/wlantest/wlantest_cli.c:430,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wlantest/wlantest_cli.c:432,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:433,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/wlantest/wlantest_cli.c:438,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/wlantest/wlantest_cli.c:440,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wlantest/wlantest_cli.c:442,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:443,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/wlantest/wlantest_cli.c:448,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/wlantest/wlantest_cli.c:450,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wlantest/wlantest_cli.c:452,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:453,1
    - Dst: cmd_send_and_recv
      Src: /src/hostap/wlantest/wlantest_cli.c:458,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:461,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 40
    argCount: 3
    argNames:
    - s
    - argc
    - argv
    argTypes:
    - int
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 413
    functionDepth: 2
    functionLinenumber: 413
    functionLinenumberEnd: 463
    functionName: cmd_clear_tdls_counters
    functionSourceFile: /src/hostap/wlantest/wlantest_cli.c
    functionUses: 0
    functionsReached:
    - WPA_PUT_BE32
    - cmd_send_and_recv
    - hwaddr_aton
    - printf
    linkageType: ''
    returnType: int
    signature: int cmd_clear_tdls_counters(int s, int argc, char *argv[])
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_cmd_arg_num
      Src: /src/hostap/wlantest/wlantest_cli.c:468,1
    - Dst: get_bssid_list
      Src: /src/hostap/wlantest/wlantest_cli.c:474,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wlantest/wlantest_cli.c:478,1
    - Dst: get_prev_arg_pos
      Src: /src/hostap/wlantest/wlantest_cli.c:478,1
    - Dst: get_sta_list
      Src: /src/hostap/wlantest/wlantest_cli.c:480,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 466
    functionDepth: 3
    functionLinenumber: 466
    functionLinenumberEnd: 485
    functionName: complete_clear_tdls_counters
    functionSourceFile: /src/hostap/wlantest/wlantest_cli.c
    functionUses: 0
    functionsReached:
    - hwaddr_aton
    - get_prev_arg_pos
    - get_bssid_list
    - get_sta_list
    - get_cmd_arg_num
    linkageType: ''
    returnType: char
    signature: char ** complete_clear_tdls_counters(int s, const char *str, int pos)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:550,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/wlantest/wlantest_cli.c:557,1
    - Dst: os_strcasecmp
      Src: /src/hostap/wlantest/wlantest_cli.c:561,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:565,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:566,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:568,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:569,1
    - Dst: attr_add_be32
      Src: /src/hostap/wlantest/wlantest_cli.c:573,1
    - Dst: attr_hdr_add
      Src: /src/hostap/wlantest/wlantest_cli.c:575,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wlantest/wlantest_cli.c:576,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:577,1
    - Dst: attr_hdr_add
      Src: /src/hostap/wlantest/wlantest_cli.c:582,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wlantest/wlantest_cli.c:583,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:584,1
    - Dst: cmd_send_and_recv
      Src: /src/hostap/wlantest/wlantest_cli.c:589,1
    - Dst: attr_get
      Src: /src/hostap/wlantest/wlantest_cli.c:593,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:596,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/wlantest/wlantest_cli.c:596,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 3
    argNames:
    - s
    - argc
    - argv
    argTypes:
    - int
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 542
    functionDepth: 2
    functionLinenumber: 542
    functionLinenumberEnd: 598
    functionName: cmd_get_sta_counter
    functionSourceFile: /src/hostap/wlantest/wlantest_cli.c
    functionUses: 0
    functionsReached:
    - attr_hdr_add
    - hwaddr_aton
    - attr_get
    - printf
    - WPA_PUT_BE32
    - attr_add_be32
    - os_strcasecmp
    - WPA_GET_BE32
    - cmd_send_and_recv
    linkageType: ''
    returnType: int
    signature: int cmd_get_sta_counter(int s, int argc, char *argv[])
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: get_cmd_arg_num
      Src: /src/hostap/wlantest/wlantest_cli.c:603,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/wlantest/wlantest_cli.c:611,1
    - Dst: os_calloc
      Src: /src/hostap/wlantest/wlantest_cli.c:612,1
    - Dst: os_strdup
      Src: /src/hostap/wlantest/wlantest_cli.c:616,1
    - Dst: get_bssid_list
      Src: /src/hostap/wlantest/wlantest_cli.c:622,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wlantest/wlantest_cli.c:625,1
    - Dst: get_prev_arg_pos
      Src: /src/hostap/wlantest/wlantest_cli.c:625,1
    - Dst: get_sta_list
      Src: /src/hostap/wlantest/wlantest_cli.c:627,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 601
    functionDepth: 3
    functionLinenumber: 601
    functionLinenumberEnd: 632
    functionName: complete_get_sta_counter
    functionSourceFile: /src/hostap/wlantest/wlantest_cli.c
    functionUses: 0
    functionsReached:
    - os_calloc
    - hwaddr_aton
    - get_cmd_arg_num
    - get_prev_arg_pos
    - get_bssid_list
    - get_sta_list
    - os_strdup
    - ARRAY_SIZE
    linkageType: ''
    returnType: char
    signature: char ** complete_get_sta_counter(int s, const char *str, int pos)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:658,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/wlantest/wlantest_cli.c:665,1
    - Dst: os_strcasecmp
      Src: /src/hostap/wlantest/wlantest_cli.c:669,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:673,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:674,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:676,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:677,1
    - Dst: attr_add_be32
      Src: /src/hostap/wlantest/wlantest_cli.c:681,1
    - Dst: attr_hdr_add
      Src: /src/hostap/wlantest/wlantest_cli.c:683,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wlantest/wlantest_cli.c:684,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:685,1
    - Dst: cmd_send_and_recv
      Src: /src/hostap/wlantest/wlantest_cli.c:690,1
    - Dst: attr_get
      Src: /src/hostap/wlantest/wlantest_cli.c:694,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:697,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/wlantest/wlantest_cli.c:697,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 3
    argNames:
    - s
    - argc
    - argv
    argTypes:
    - int
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 650
    functionDepth: 2
    functionLinenumber: 650
    functionLinenumberEnd: 699
    functionName: cmd_get_bss_counter
    functionSourceFile: /src/hostap/wlantest/wlantest_cli.c
    functionUses: 0
    functionsReached:
    - attr_hdr_add
    - hwaddr_aton
    - attr_get
    - printf
    - WPA_PUT_BE32
    - attr_add_be32
    - os_strcasecmp
    - WPA_GET_BE32
    - cmd_send_and_recv
    linkageType: ''
    returnType: int
    signature: int cmd_get_bss_counter(int s, int argc, char *argv[])
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_cmd_arg_num
      Src: /src/hostap/wlantest/wlantest_cli.c:704,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/wlantest/wlantest_cli.c:711,1
    - Dst: os_calloc
      Src: /src/hostap/wlantest/wlantest_cli.c:712,1
    - Dst: os_strdup
      Src: /src/hostap/wlantest/wlantest_cli.c:716,1
    - Dst: get_bssid_list
      Src: /src/hostap/wlantest/wlantest_cli.c:722,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 702
    functionDepth: 3
    functionLinenumber: 702
    functionLinenumberEnd: 727
    functionName: complete_get_bss_counter
    functionSourceFile: /src/hostap/wlantest/wlantest_cli.c
    functionUses: 0
    functionsReached:
    - os_calloc
    - get_cmd_arg_num
    - get_bssid_list
    - os_strdup
    - ARRAY_SIZE
    linkageType: ''
    returnType: char
    signature: char ** complete_get_bss_counter(int s, const char *str, int pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmd_simple
      Src: /src/hostap/wlantest/wlantest_cli.c:732,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s
    - argc
    - argv
    argTypes:
    - int
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 730
    functionDepth: 3
    functionLinenumber: 730
    functionLinenumberEnd: 733
    functionName: cmd_relog
    functionSourceFile: /src/hostap/wlantest/wlantest_cli.c
    functionUses: 0
    functionsReached:
    - cmd_simple
    linkageType: ''
    returnType: int
    signature: int cmd_relog(int s, int argc, char *argv[])
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:763,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/wlantest/wlantest_cli.c:770,1
    - Dst: os_strcasecmp
      Src: /src/hostap/wlantest/wlantest_cli.c:774,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:778,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:779,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:781,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:782,1
    - Dst: attr_add_be32
      Src: /src/hostap/wlantest/wlantest_cli.c:786,1
    - Dst: attr_hdr_add
      Src: /src/hostap/wlantest/wlantest_cli.c:788,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wlantest/wlantest_cli.c:789,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:790,1
    - Dst: attr_hdr_add
      Src: /src/hostap/wlantest/wlantest_cli.c:795,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wlantest/wlantest_cli.c:796,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:797,1
    - Dst: attr_hdr_add
      Src: /src/hostap/wlantest/wlantest_cli.c:802,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wlantest/wlantest_cli.c:803,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:804,1
    - Dst: cmd_send_and_recv
      Src: /src/hostap/wlantest/wlantest_cli.c:809,1
    - Dst: attr_get
      Src: /src/hostap/wlantest/wlantest_cli.c:813,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:816,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/wlantest/wlantest_cli.c:816,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 3
    argNames:
    - s
    - argc
    - argv
    argTypes:
    - int
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 755
    functionDepth: 2
    functionLinenumber: 755
    functionLinenumberEnd: 818
    functionName: cmd_get_tdls_counter
    functionSourceFile: /src/hostap/wlantest/wlantest_cli.c
    functionUses: 0
    functionsReached:
    - attr_hdr_add
    - hwaddr_aton
    - attr_get
    - printf
    - WPA_PUT_BE32
    - attr_add_be32
    - os_strcasecmp
    - WPA_GET_BE32
    - cmd_send_and_recv
    linkageType: ''
    returnType: int
    signature: int cmd_get_tdls_counter(int s, int argc, char *argv[])
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: get_cmd_arg_num
      Src: /src/hostap/wlantest/wlantest_cli.c:823,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/wlantest/wlantest_cli.c:831,1
    - Dst: os_calloc
      Src: /src/hostap/wlantest/wlantest_cli.c:832,1
    - Dst: os_strdup
      Src: /src/hostap/wlantest/wlantest_cli.c:836,1
    - Dst: get_bssid_list
      Src: /src/hostap/wlantest/wlantest_cli.c:842,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wlantest/wlantest_cli.c:846,1
    - Dst: get_prev_arg_pos
      Src: /src/hostap/wlantest/wlantest_cli.c:846,1
    - Dst: get_sta_list
      Src: /src/hostap/wlantest/wlantest_cli.c:848,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 821
    functionDepth: 3
    functionLinenumber: 821
    functionLinenumberEnd: 853
    functionName: complete_get_tdls_counter
    functionSourceFile: /src/hostap/wlantest/wlantest_cli.c
    functionUses: 0
    functionsReached:
    - os_calloc
    - hwaddr_aton
    - get_cmd_arg_num
    - get_prev_arg_pos
    - get_bssid_list
    - get_sta_list
    - os_strdup
    - ARRAY_SIZE
    linkageType: ''
    returnType: char
    signature: char ** complete_get_tdls_counter(int s, const char *str, int pos)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:881,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/wlantest/wlantest_cli.c:888,1
    - Dst: os_strcasecmp
      Src: /src/hostap/wlantest/wlantest_cli.c:892,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:896,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:897,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:899,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:900,1
    - Dst: attr_add_be32
      Src: /src/hostap/wlantest/wlantest_cli.c:904,1
    - Dst: os_strcasecmp
      Src: /src/hostap/wlantest/wlantest_cli.c:907,1
    - Dst: os_strcasecmp
      Src: /src/hostap/wlantest/wlantest_cli.c:909,1
    - Dst: os_strcasecmp
      Src: /src/hostap/wlantest/wlantest_cli.c:911,1
    - Dst: os_strcasecmp
      Src: /src/hostap/wlantest/wlantest_cli.c:913,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:916,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:917,1
    - Dst: attr_add_be32
      Src: /src/hostap/wlantest/wlantest_cli.c:921,1
    - Dst: os_strcasecmp
      Src: /src/hostap/wlantest/wlantest_cli.c:923,1
    - Dst: attr_add_be32
      Src: /src/hostap/wlantest/wlantest_cli.c:924,1
    - Dst: os_strcasecmp
      Src: /src/hostap/wlantest/wlantest_cli.c:926,1
    - Dst: attr_add_be32
      Src: /src/hostap/wlantest/wlantest_cli.c:927,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:930,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:931,1
    - Dst: attr_hdr_add
      Src: /src/hostap/wlantest/wlantest_cli.c:935,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wlantest/wlantest_cli.c:936,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:937,1
    - Dst: attr_hdr_add
      Src: /src/hostap/wlantest/wlantest_cli.c:942,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wlantest/wlantest_cli.c:943,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:944,1
    - Dst: cmd_send_and_recv
      Src: /src/hostap/wlantest/wlantest_cli.c:949,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:952,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 62
    argCount: 3
    argNames:
    - s
    - argc
    - argv
    argTypes:
    - int
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 871
    functionDepth: 2
    functionLinenumber: 871
    functionLinenumberEnd: 954
    functionName: cmd_inject
    functionSourceFile: /src/hostap/wlantest/wlantest_cli.c
    functionUses: 0
    functionsReached:
    - attr_hdr_add
    - hwaddr_aton
    - printf
    - WPA_PUT_BE32
    - attr_add_be32
    - os_strcasecmp
    - cmd_send_and_recv
    linkageType: ''
    returnType: int
    signature: int cmd_inject(int s, int argc, char *argv[])
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: get_cmd_arg_num
      Src: /src/hostap/wlantest/wlantest_cli.c:959,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/wlantest/wlantest_cli.c:967,1
    - Dst: os_calloc
      Src: /src/hostap/wlantest/wlantest_cli.c:968,1
    - Dst: os_strdup
      Src: /src/hostap/wlantest/wlantest_cli.c:972,1
    - Dst: os_calloc
      Src: /src/hostap/wlantest/wlantest_cli.c:978,1
    - Dst: os_strdup
      Src: /src/hostap/wlantest/wlantest_cli.c:981,1
    - Dst: os_strdup
      Src: /src/hostap/wlantest/wlantest_cli.c:984,1
    - Dst: os_strdup
      Src: /src/hostap/wlantest/wlantest_cli.c:987,1
    - Dst: os_strdup
      Src: /src/hostap/wlantest/wlantest_cli.c:990,1
    - Dst: os_calloc
      Src: /src/hostap/wlantest/wlantest_cli.c:995,1
    - Dst: os_strdup
      Src: /src/hostap/wlantest/wlantest_cli.c:998,1
    - Dst: os_strdup
      Src: /src/hostap/wlantest/wlantest_cli.c:1001,1
    - Dst: get_bssid_list
      Src: /src/hostap/wlantest/wlantest_cli.c:1006,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wlantest/wlantest_cli.c:1009,1
    - Dst: get_prev_arg_pos
      Src: /src/hostap/wlantest/wlantest_cli.c:1009,1
    - Dst: get_sta_list
      Src: /src/hostap/wlantest/wlantest_cli.c:1011,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1016
      start: 957
    functionDepth: 3
    functionLinenumber: 957
    functionLinenumberEnd: 1016
    functionName: complete_inject
    functionSourceFile: /src/hostap/wlantest/wlantest_cli.c
    functionUses: 0
    functionsReached:
    - os_calloc
    - hwaddr_aton
    - get_cmd_arg_num
    - get_prev_arg_pos
    - get_bssid_list
    - get_sta_list
    - os_strdup
    - ARRAY_SIZE
    linkageType: ''
    returnType: char
    signature: char ** complete_inject(int s, const char *str, int pos)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hex2byte
      Src: /src/hostap/wlantest/wlantest_cli.c:1037,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:1039,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:1043,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 25
    argCount: 3
    argNames:
    - pos
    - end
    - str
    argTypes:
    - u8*
    - u8*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1019
    functionDepth: 1
    functionLinenumber: 1019
    functionLinenumberEnd: 1051
    functionName: add_hex
    functionSourceFile: /src/hostap/wlantest/wlantest_cli.c
    functionUses: 1
    functionsReached:
    - hex2byte
    - printf
    linkageType: ''
    returnType: u8
    signature: u8 * add_hex(u8 *pos, u8 *end, const char *str)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:1065,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/wlantest/wlantest_cli.c:1072,1
    - Dst: os_strcasecmp
      Src: /src/hostap/wlantest/wlantest_cli.c:1075,1
    - Dst: os_strcasecmp
      Src: /src/hostap/wlantest/wlantest_cli.c:1077,1
    - Dst: os_strcasecmp
      Src: /src/hostap/wlantest/wlantest_cli.c:1079,1
    - Dst: os_strcasecmp
      Src: /src/hostap/wlantest/wlantest_cli.c:1081,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:1084,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:1085,1
    - Dst: attr_add_be32
      Src: /src/hostap/wlantest/wlantest_cli.c:1089,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/wlantest/wlantest_cli.c:1091,1
    - Dst: add_hex
      Src: /src/hostap/wlantest/wlantest_cli.c:1097,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/wlantest/wlantest_cli.c:1101,1
    - Dst: cmd_send_and_recv
      Src: /src/hostap/wlantest/wlantest_cli.c:1103,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:1106,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 3
    argNames:
    - s
    - argc
    - argv
    argTypes:
    - int
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1054
    functionDepth: 2
    functionLinenumber: 1054
    functionLinenumberEnd: 1108
    functionName: cmd_send
    functionSourceFile: /src/hostap/wlantest/wlantest_cli.c
    functionUses: 0
    functionsReached:
    - printf
    - WPA_PUT_BE32
    - attr_add_be32
    - os_strcasecmp
    - add_hex
    - cmd_send_and_recv
    linkageType: ''
    returnType: int
    signature: int cmd_send(int s, int argc, char *argv[])
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: get_cmd_arg_num
      Src: /src/hostap/wlantest/wlantest_cli.c:1113,1
    - Dst: os_calloc
      Src: /src/hostap/wlantest/wlantest_cli.c:1118,1
    - Dst: os_strdup
      Src: /src/hostap/wlantest/wlantest_cli.c:1121,1
    - Dst: os_strdup
      Src: /src/hostap/wlantest/wlantest_cli.c:1124,1
    - Dst: os_strdup
      Src: /src/hostap/wlantest/wlantest_cli.c:1127,1
    - Dst: os_strdup
      Src: /src/hostap/wlantest/wlantest_cli.c:1130,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1111
    functionDepth: 1
    functionLinenumber: 1111
    functionLinenumberEnd: 1137
    functionName: complete_send
    functionSourceFile: /src/hostap/wlantest/wlantest_cli.c
    functionUses: 0
    functionsReached:
    - os_strdup
    - os_calloc
    - get_cmd_arg_num
    linkageType: ''
    returnType: char
    signature: char ** complete_send(int s, const char *str, int pos)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/wlantest/wlantest_cli.c:1148,1
    - Dst: cmd_send_and_recv
      Src: /src/hostap/wlantest/wlantest_cli.c:1149,1
    - Dst: attr_get
      Src: /src/hostap/wlantest/wlantest_cli.c:1153,1
    - Dst: putchar
      Src: /src/hostap/wlantest/wlantest_cli.c:1159,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:1160,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - s
    - argc
    - argv
    argTypes:
    - int
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1163
      start: 1140
    functionDepth: 2
    functionLinenumber: 1140
    functionLinenumberEnd: 1163
    functionName: cmd_version
    functionSourceFile: /src/hostap/wlantest/wlantest_cli.c
    functionUses: 0
    functionsReached:
    - cmd_send_and_recv
    - printf
    - WPA_PUT_BE32
    - putchar
    - attr_get
    linkageType: ''
    returnType: int
    signature: int cmd_version(int s, int argc, char *argv[])
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:1174,1
    - Dst: os_strlen
      Src: /src/hostap/wlantest/wlantest_cli.c:1178,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:1180,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/wlantest/wlantest_cli.c:1185,1
    - Dst: attr_add_str
      Src: /src/hostap/wlantest/wlantest_cli.c:1187,1
    - Dst: attr_hdr_add
      Src: /src/hostap/wlantest/wlantest_cli.c:1190,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wlantest/wlantest_cli.c:1191,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:1192,1
    - Dst: cmd_send_and_recv
      Src: /src/hostap/wlantest/wlantest_cli.c:1198,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 3
    argNames:
    - s
    - argc
    - argv
    argTypes:
    - int
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1166
    functionDepth: 2
    functionLinenumber: 1166
    functionLinenumberEnd: 1202
    functionName: cmd_add_passphrase
    functionSourceFile: /src/hostap/wlantest/wlantest_cli.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - attr_hdr_add
    - hwaddr_aton
    - attr_add_str
    - printf
    - WPA_PUT_BE32
    - cmd_send_and_recv
    linkageType: ''
    returnType: int
    signature: int cmd_add_passphrase(int s, int argc, char *argv[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:1212,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/wlantest/wlantest_cli.c:1218,1
    - Dst: attr_add_str
      Src: /src/hostap/wlantest/wlantest_cli.c:1220,1
    - Dst: cmd_send_and_recv
      Src: /src/hostap/wlantest/wlantest_cli.c:1222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - s
    - argc
    - argv
    argTypes:
    - int
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1205
    functionDepth: 2
    functionLinenumber: 1205
    functionLinenumberEnd: 1226
    functionName: cmd_add_wepkey
    functionSourceFile: /src/hostap/wlantest/wlantest_cli.c
    functionUses: 0
    functionsReached:
    - attr_add_str
    - WPA_PUT_BE32
    - cmd_send_and_recv
    - printf
    linkageType: ''
    returnType: int
    signature: int cmd_add_wepkey(int s, int argc, char *argv[])
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:1253,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/wlantest/wlantest_cli.c:1260,1
    - Dst: os_strcasecmp
      Src: /src/hostap/wlantest/wlantest_cli.c:1264,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:1268,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:1269,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:1271,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:1272,1
    - Dst: attr_add_be32
      Src: /src/hostap/wlantest/wlantest_cli.c:1276,1
    - Dst: attr_hdr_add
      Src: /src/hostap/wlantest/wlantest_cli.c:1278,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wlantest/wlantest_cli.c:1279,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:1280,1
    - Dst: attr_hdr_add
      Src: /src/hostap/wlantest/wlantest_cli.c:1285,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wlantest/wlantest_cli.c:1286,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:1287,1
    - Dst: cmd_send_and_recv
      Src: /src/hostap/wlantest/wlantest_cli.c:1292,1
    - Dst: attr_get
      Src: /src/hostap/wlantest/wlantest_cli.c:1296,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/wlantest_cli.c:1301,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:1303,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 3
    argNames:
    - s
    - argc
    - argv
    argTypes:
    - int
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1305
      start: 1244
    functionDepth: 2
    functionLinenumber: 1244
    functionLinenumberEnd: 1305
    functionName: cmd_info_sta
    functionSourceFile: /src/hostap/wlantest/wlantest_cli.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - attr_hdr_add
    - hwaddr_aton
    - attr_get
    - printf
    - WPA_PUT_BE32
    - attr_add_be32
    - os_strcasecmp
    - cmd_send_and_recv
    linkageType: ''
    returnType: int
    signature: int cmd_info_sta(int s, int argc, char *argv[])
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: get_cmd_arg_num
      Src: /src/hostap/wlantest/wlantest_cli.c:1310,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/wlantest/wlantest_cli.c:1318,1
    - Dst: os_calloc
      Src: /src/hostap/wlantest/wlantest_cli.c:1319,1
    - Dst: os_strdup
      Src: /src/hostap/wlantest/wlantest_cli.c:1323,1
    - Dst: get_bssid_list
      Src: /src/hostap/wlantest/wlantest_cli.c:1329,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wlantest/wlantest_cli.c:1332,1
    - Dst: get_prev_arg_pos
      Src: /src/hostap/wlantest/wlantest_cli.c:1332,1
    - Dst: get_sta_list
      Src: /src/hostap/wlantest/wlantest_cli.c:1334,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1339
      start: 1308
    functionDepth: 3
    functionLinenumber: 1308
    functionLinenumberEnd: 1339
    functionName: complete_info_sta
    functionSourceFile: /src/hostap/wlantest/wlantest_cli.c
    functionUses: 0
    functionsReached:
    - os_calloc
    - hwaddr_aton
    - get_cmd_arg_num
    - get_prev_arg_pos
    - get_bssid_list
    - get_sta_list
    - os_strdup
    - ARRAY_SIZE
    linkageType: ''
    returnType: char
    signature: char ** complete_info_sta(int s, const char *str, int pos)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:1366,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/wlantest/wlantest_cli.c:1373,1
    - Dst: os_strcasecmp
      Src: /src/hostap/wlantest/wlantest_cli.c:1377,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:1381,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:1382,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:1384,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:1385,1
    - Dst: attr_add_be32
      Src: /src/hostap/wlantest/wlantest_cli.c:1389,1
    - Dst: attr_hdr_add
      Src: /src/hostap/wlantest/wlantest_cli.c:1391,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wlantest/wlantest_cli.c:1392,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:1393,1
    - Dst: cmd_send_and_recv
      Src: /src/hostap/wlantest/wlantest_cli.c:1398,1
    - Dst: attr_get
      Src: /src/hostap/wlantest/wlantest_cli.c:1402,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/wlantest_cli.c:1407,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:1409,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 3
    argNames:
    - s
    - argc
    - argv
    argTypes:
    - int
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1411
      start: 1357
    functionDepth: 2
    functionLinenumber: 1357
    functionLinenumberEnd: 1411
    functionName: cmd_info_bss
    functionSourceFile: /src/hostap/wlantest/wlantest_cli.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - attr_hdr_add
    - hwaddr_aton
    - attr_get
    - printf
    - WPA_PUT_BE32
    - attr_add_be32
    - os_strcasecmp
    - cmd_send_and_recv
    linkageType: ''
    returnType: int
    signature: int cmd_info_bss(int s, int argc, char *argv[])
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_cmd_arg_num
      Src: /src/hostap/wlantest/wlantest_cli.c:1416,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/wlantest/wlantest_cli.c:1423,1
    - Dst: os_calloc
      Src: /src/hostap/wlantest/wlantest_cli.c:1424,1
    - Dst: os_strdup
      Src: /src/hostap/wlantest/wlantest_cli.c:1428,1
    - Dst: get_bssid_list
      Src: /src/hostap/wlantest/wlantest_cli.c:1434,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1439
      start: 1414
    functionDepth: 3
    functionLinenumber: 1414
    functionLinenumberEnd: 1439
    functionName: complete_info_bss
    functionSourceFile: /src/hostap/wlantest/wlantest_cli.c
    functionUses: 0
    functionsReached:
    - os_calloc
    - get_cmd_arg_num
    - get_bssid_list
    - os_strdup
    - ARRAY_SIZE
    linkageType: ''
    returnType: char
    signature: char ** complete_info_bss(int s, const char *str, int pos)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:1450,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/wlantest/wlantest_cli.c:1457,1
    - Dst: attr_hdr_add
      Src: /src/hostap/wlantest/wlantest_cli.c:1460,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wlantest/wlantest_cli.c:1461,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:1462,1
    - Dst: attr_hdr_add
      Src: /src/hostap/wlantest/wlantest_cli.c:1467,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wlantest/wlantest_cli.c:1468,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:1469,1
    - Dst: attr_add_be32
      Src: /src/hostap/wlantest/wlantest_cli.c:1474,1
    - Dst: atoi
      Src: /src/hostap/wlantest/wlantest_cli.c:1474,1
    - Dst: cmd_send_and_recv
      Src: /src/hostap/wlantest/wlantest_cli.c:1476,1
    - Dst: attr_get
      Src: /src/hostap/wlantest/wlantest_cli.c:1480,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:1483,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/wlantest/wlantest_cli.c:1483,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 3
    argNames:
    - s
    - argc
    - argv
    argTypes:
    - int
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1485
      start: 1442
    functionDepth: 2
    functionLinenumber: 1442
    functionLinenumberEnd: 1485
    functionName: cmd_get_tx_tid
    functionSourceFile: /src/hostap/wlantest/wlantest_cli.c
    functionUses: 0
    functionsReached:
    - attr_hdr_add
    - hwaddr_aton
    - attr_get
    - printf
    - WPA_PUT_BE32
    - attr_add_be32
    - atoi
    - WPA_GET_BE32
    - cmd_send_and_recv
    linkageType: ''
    returnType: int
    signature: int cmd_get_tx_tid(int s, int argc, char *argv[])
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:1496,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/wlantest/wlantest_cli.c:1503,1
    - Dst: attr_hdr_add
      Src: /src/hostap/wlantest/wlantest_cli.c:1506,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wlantest/wlantest_cli.c:1507,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:1508,1
    - Dst: attr_hdr_add
      Src: /src/hostap/wlantest/wlantest_cli.c:1513,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wlantest/wlantest_cli.c:1514,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:1515,1
    - Dst: attr_add_be32
      Src: /src/hostap/wlantest/wlantest_cli.c:1520,1
    - Dst: atoi
      Src: /src/hostap/wlantest/wlantest_cli.c:1520,1
    - Dst: cmd_send_and_recv
      Src: /src/hostap/wlantest/wlantest_cli.c:1522,1
    - Dst: attr_get
      Src: /src/hostap/wlantest/wlantest_cli.c:1526,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:1529,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/wlantest/wlantest_cli.c:1529,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 3
    argNames:
    - s
    - argc
    - argv
    argTypes:
    - int
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1531
      start: 1488
    functionDepth: 2
    functionLinenumber: 1488
    functionLinenumberEnd: 1531
    functionName: cmd_get_rx_tid
    functionSourceFile: /src/hostap/wlantest/wlantest_cli.c
    functionUses: 0
    functionsReached:
    - attr_hdr_add
    - hwaddr_aton
    - attr_get
    - printf
    - WPA_PUT_BE32
    - attr_add_be32
    - atoi
    - WPA_GET_BE32
    - cmd_send_and_recv
    linkageType: ''
    returnType: int
    signature: int cmd_get_rx_tid(int s, int argc, char *argv[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_cmd_arg_num
      Src: /src/hostap/wlantest/wlantest_cli.c:1536,1
    - Dst: get_bssid_list
      Src: /src/hostap/wlantest/wlantest_cli.c:1542,1
    - Dst: hwaddr_aton
      Src: /src/hostap/wlantest/wlantest_cli.c:1545,1
    - Dst: get_prev_arg_pos
      Src: /src/hostap/wlantest/wlantest_cli.c:1545,1
    - Dst: get_sta_list
      Src: /src/hostap/wlantest/wlantest_cli.c:1547,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1552
      start: 1534
    functionDepth: 3
    functionLinenumber: 1534
    functionLinenumberEnd: 1552
    functionName: complete_get_tid
    functionSourceFile: /src/hostap/wlantest/wlantest_cli.c
    functionUses: 0
    functionsReached:
    - hwaddr_aton
    - get_prev_arg_pos
    - get_bssid_list
    - get_sta_list
    - get_cmd_arg_num
    linkageType: ''
    returnType: char
    signature: char ** complete_get_tid(int s, const char *str, int pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_help
      Src: /src/hostap/wlantest/wlantest_cli.c:1557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - s
    - argc
    - argv
    argTypes:
    - int
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1559
      start: 1555
    functionDepth: 0
    functionLinenumber: 1555
    functionLinenumberEnd: 1559
    functionName: wlantest_cli_cmd_help
    functionSourceFile: /src/hostap/wlantest/wlantest_cli.c
    functionUses: 0
    functionsReached:
    - print_help
    linkageType: ''
    returnType: int
    signature: int wlantest_cli_cmd_help(int s, int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_cmd_arg_num
      Src: /src/hostap/wlantest/wlantest_cli.c:1564,1
    - Dst: wlantest_cli_cmd_list
      Src: /src/hostap/wlantest/wlantest_cli.c:1569,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1574
      start: 1562
    functionDepth: 1
    functionLinenumber: 1562
    functionLinenumberEnd: 1574
    functionName: wlantest_cli_complete_help
    functionSourceFile: /src/hostap/wlantest/wlantest_cli.c
    functionUses: 0
    functionsReached:
    - wlantest_cli_cmd_list
    - get_cmd_arg_num
    linkageType: ''
    returnType: char
    signature: char ** wlantest_cli_complete_help(int s, const char *str, int pos)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/hostap/wlantest/wlantest_cli.c:1651,1
    - Dst: fprintf
      Src: /src/hostap/wlantest/wlantest_cli.c:1653,1
    - Dst: fprintf
      Src: /src/hostap/wlantest/wlantest_cli.c:1655,1
    - Dst: fprintf
      Src: /src/hostap/wlantest/wlantest_cli.c:1657,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - stream
    - cmd
    - pad
    argTypes:
    - FILE*
    - struct wlantest_cli_cmd*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1658
      start: 1643
    functionDepth: 0
    functionLinenumber: 1643
    functionLinenumberEnd: 1658
    functionName: print_cmd_help
    functionSourceFile: /src/hostap/wlantest/wlantest_cli.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void print_cmd_help(FILE *stream, const struct wlantest_cli_cmd *cmd,\n\t\t\t
      \  const char *pad)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/hostap/wlantest/wlantest_cli.c:1665,1
    - Dst: str_starts
      Src: /src/hostap/wlantest/wlantest_cli.c:1667,1
    - Dst: print_cmd_help
      Src: /src/hostap/wlantest/wlantest_cli.c:1668,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - stream
    - cmd
    argTypes:
    - FILE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1670
      start: 1661
    functionDepth: 1
    functionLinenumber: 1661
    functionLinenumberEnd: 1670
    functionName: print_help
    functionSourceFile: /src/hostap/wlantest/wlantest_cli.c
    functionUses: 5
    functionsReached:
    - fprintf
    - str_starts
    - print_cmd_help
    linkageType: ''
    returnType: void
    signature: void print_help(FILE *stream, const char *cmd)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_strncasecmp
      Src: /src/hostap/wlantest/wlantest_cli.c:1680,1
    - Dst: os_strlen
      Src: /src/hostap/wlantest/wlantest_cli.c:1680,1
    - Dst: os_strcasecmp
      Src: /src/hostap/wlantest/wlantest_cli.c:1683,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:1693,1
    - Dst: os_strncasecmp
      Src: /src/hostap/wlantest/wlantest_cli.c:1695,1
    - Dst: os_strlen
      Src: /src/hostap/wlantest/wlantest_cli.c:1696,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:1697,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:1700,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:1703,1
    - Dst: handler
      Src: /src/hostap/wlantest/wlantest_cli.c:1706,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 3
    argNames:
    - s
    - argc
    - argv
    argTypes:
    - int
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1710
      start: 1673
    functionDepth: 0
    functionLinenumber: 1673
    functionLinenumberEnd: 1710
    functionName: ctrl_command
    functionSourceFile: /src/hostap/wlantest/wlantest_cli.c
    functionUses: 146
    functionsReached:
    - os_strncasecmp
    - os_strlen
    - printf
    - os_strcasecmp
    - handler
    linkageType: ''
    returnType: int
    signature: int ctrl_command(int s, int argc, char *argv[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tokenize_cmd
      Src: /src/hostap/wlantest/wlantest_cli.c:1723,1
    - Dst: ctrl_command
      Src: /src/hostap/wlantest/wlantest_cli.c:1725,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:1727,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - cmd
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1729
      start: 1718
    functionDepth: 1
    functionLinenumber: 1718
    functionLinenumberEnd: 1729
    functionName: wlantest_cli_edit_cmd_cb
    functionSourceFile: /src/hostap/wlantest/wlantest_cli.c
    functionUses: 0
    functionsReached:
    - tokenize_cmd
    - ctrl_command
    - printf
    linkageType: ''
    returnType: void
    signature: void wlantest_cli_edit_cmd_cb(void *ctx, char *cmd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eloop_terminate
      Src: /src/hostap/wlantest/wlantest_cli.c:1734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sig
    - signal_ctx
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1735
      start: 1732
    functionDepth: 0
    functionLinenumber: 1732
    functionLinenumberEnd: 1735
    functionName: wlantest_cli_eloop_terminate
    functionSourceFile: /src/hostap/wlantest/wlantest_cli.c
    functionUses: 0
    functionsReached:
    - eloop_terminate
    linkageType: ''
    returnType: void
    signature: void wlantest_cli_eloop_terminate(int sig, void *signal_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eloop_terminate
      Src: /src/hostap/wlantest/wlantest_cli.c:1740,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1741
      start: 1738
    functionDepth: 0
    functionLinenumber: 1738
    functionLinenumberEnd: 1741
    functionName: wlantest_cli_edit_eof_cb
    functionSourceFile: /src/hostap/wlantest/wlantest_cli.c
    functionUses: 0
    functionsReached:
    - eloop_terminate
    linkageType: ''
    returnType: void
    signature: void wlantest_cli_edit_eof_cb(void *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_calloc
      Src: /src/hostap/wlantest/wlantest_cli.c:1749,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/wlantest/wlantest_cli.c:1749,1
    - Dst: os_strdup
      Src: /src/hostap/wlantest/wlantest_cli.c:1754,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1760
      start: 1744
    functionDepth: 1
    functionLinenumber: 1744
    functionLinenumberEnd: 1760
    functionName: wlantest_cli_cmd_list
    functionSourceFile: /src/hostap/wlantest/wlantest_cli.c
    functionUses: 1
    functionsReached:
    - os_strdup
    - os_calloc
    - ARRAY_SIZE
    linkageType: ''
    returnType: char
    signature: char ** wlantest_cli_cmd_list(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_strcasecmp
      Src: /src/hostap/wlantest/wlantest_cli.c:1771,1
    - Dst: edit_clear_line
      Src: /src/hostap/wlantest/wlantest_cli.c:1772,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:1773,1
    - Dst: edit_redraw
      Src: /src/hostap/wlantest/wlantest_cli.c:1774,1
    - Dst: struct wlantest_cli_cmd*::complete
      Src: /src/hostap/wlantest/wlantest_cli.c:1776,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1782
      start: 1763
    functionDepth: 1
    functionLinenumber: 1763
    functionLinenumberEnd: 1782
    functionName: wlantest_cli_cmd_completion
    functionSourceFile: /src/hostap/wlantest/wlantest_cli.c
    functionUses: 0
    functionsReached:
    - struct wlantest_cli_cmd*::complete
    - edit_clear_line
    - printf
    - edit_redraw
    - os_strcasecmp
    linkageType: ''
    returnType: char
    signature: "char ** wlantest_cli_cmd_completion(struct wlantest_cli *cli,\n\t\t\t\t\t
      \  const char *cmd, const char *str,\n\t\t\t\t\t   int pos)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_strchr
      Src: /src/hostap/wlantest/wlantest_cli.c:1793,1
    - Dst: wlantest_cli_cmd_list
      Src: /src/hostap/wlantest/wlantest_cli.c:1795,1
    - Dst: os_malloc
      Src: /src/hostap/wlantest/wlantest_cli.c:1797,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/wlantest_cli.c:1800,1
    - Dst: wlantest_cli_cmd_completion
      Src: /src/hostap/wlantest/wlantest_cli.c:1802,1
    - Dst: os_free
      Src: /src/hostap/wlantest/wlantest_cli.c:1803,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1805
      start: 1785
    functionDepth: 2
    functionLinenumber: 1785
    functionLinenumberEnd: 1805
    functionName: wlantest_cli_edit_completion_cb
    functionSourceFile: /src/hostap/wlantest/wlantest_cli.c
    functionUses: 0
    functionsReached:
    - wlantest_cli_cmd_list
    - os_memcpy
    - os_malloc
    - wlantest_cli_cmd_completion
    - os_strchr
    - os_free
    linkageType: ''
    returnType: char
    signature: "char ** wlantest_cli_edit_completion_cb(void *ctx, const char *str,\n\t\t\t\t\t
      \      int pos)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: eloop_init
      Src: /src/hostap/wlantest/wlantest_cli.c:1813,1
    - Dst: getenv
      Src: /src/hostap/wlantest/wlantest_cli.c:1816,1
    - Dst: os_strlen
      Src: /src/hostap/wlantest/wlantest_cli.c:1819,1
    - Dst: os_strlen
      Src: /src/hostap/wlantest/wlantest_cli.c:1819,1
    - Dst: os_malloc
      Src: /src/hostap/wlantest/wlantest_cli.c:1820,1
    - Dst: os_snprintf
      Src: /src/hostap/wlantest/wlantest_cli.c:1822,1
    - Dst: eloop_register_signal_terminate
      Src: /src/hostap/wlantest/wlantest_cli.c:1826,1
    - Dst: edit_init
      Src: /src/hostap/wlantest/wlantest_cli.c:1827,1
    - Dst: eloop_run
      Src: /src/hostap/wlantest/wlantest_cli.c:1830,1
    - Dst: edit_deinit
      Src: /src/hostap/wlantest/wlantest_cli.c:1832,1
    - Dst: os_free
      Src: /src/hostap/wlantest/wlantest_cli.c:1833,1
    - Dst: eloop_destroy
      Src: /src/hostap/wlantest/wlantest_cli.c:1834,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - s
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1835
      start: 1808
    functionDepth: 0
    functionLinenumber: 1808
    functionLinenumberEnd: 1835
    functionName: wlantest_cli_interactive
    functionSourceFile: /src/hostap/wlantest/wlantest_cli.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - edit_deinit
    - edit_init
    - getenv
    - os_malloc
    - eloop_register_signal_terminate
    - os_snprintf
    - eloop_init
    - os_free
    - eloop_destroy
    - eloop_run
    linkageType: ''
    returnType: void
    signature: void wlantest_cli_interactive(int s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_program_init
      Src: /src/hostap/wlantest/wlantest_cli.c:1844,1
    - Dst: socket
      Src: /src/hostap/wlantest/wlantest_cli.c:1847,1
    - Dst: perror
      Src: /src/hostap/wlantest/wlantest_cli.c:1849,1
    - Dst: os_memset
      Src: /src/hostap/wlantest/wlantest_cli.c:1853,1
    - Dst: os_strlcpy
      Src: /src/hostap/wlantest/wlantest_cli.c:1855,1
    - Dst: connect
      Src: /src/hostap/wlantest/wlantest_cli.c:1857,1
    - Dst: perror
      Src: /src/hostap/wlantest/wlantest_cli.c:1858,1
    - Dst: close
      Src: /src/hostap/wlantest/wlantest_cli.c:1859,1
    - Dst: ctrl_command
      Src: /src/hostap/wlantest/wlantest_cli.c:1864,1
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest_cli.c:1866,1
    - Dst: wlantest_cli_interactive
      Src: /src/hostap/wlantest/wlantest_cli.c:1868,1
    - Dst: close
      Src: /src/hostap/wlantest/wlantest_cli.c:1871,1
    - Dst: os_program_deinit
      Src: /src/hostap/wlantest/wlantest_cli.c:1873,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1876
      start: 1838
    functionDepth: 1
    functionLinenumber: 1838
    functionLinenumberEnd: 1876
    functionName: main
    functionSourceFile: /src/hostap/wlantest/wlantest_cli.c
    functionUses: 1
    functionsReached:
    - os_program_init
    - ctrl_command
    - connect
    - socket
    - os_strlcpy
    - wlantest_cli_interactive
    - perror
    - printf
    - close
    - os_program_deinit
    - os_memset
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sendmsg
      Src: /src/hostap/wlantest/inject.c:51,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/inject.c:53,1
    - Dst: strerror
      Src: /src/hostap/wlantest/inject.c:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - s
    - data
    - len
    argTypes:
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 55
    functionName: inject_frame
    functionSourceFile: /src/hostap/wlantest/inject.c
    functionUses: 0
    functionsReached:
    - sendmsg
    - wpa_printf
    - strerror
    linkageType: ''
    returnType: int
    signature: int inject_frame(int s, const void *data, size_t len)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/inject.c:65,1
    - Dst: WLAN_FC_GET_TYPE
      Src: /src/hostap/wlantest/inject.c:66,1
    - Dst: WLAN_FC_GET_STYPE
      Src: /src/hostap/wlantest/inject.c:68,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - frame
    - len
    argTypes:
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 79
    functionName: is_robust_mgmt
    functionSourceFile: /src/hostap/wlantest/inject.c
    functionUses: 0
    functionsReached:
    - le_to_host16
    - WLAN_FC_GET_TYPE
    - WLAN_FC_GET_STYPE
    linkageType: ''
    returnType: int
    signature: int is_robust_mgmt(u8 *frame, size_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/wlantest/inject.c:93,1
    - Dst: bip_protect
      Src: /src/hostap/wlantest/inject.c:96,1
    - Dst: inject_frame
      Src: /src/hostap/wlantest/inject.c:104,1
    - Dst: os_free
      Src: /src/hostap/wlantest/inject.c:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - wt
    - bss
    - frame
    - len
    - incorrect_key
    argTypes:
    - struct wlantest*
    - struct wlantest_bss*
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 108
    functionName: wlantest_inject_bip
    functionSourceFile: /src/hostap/wlantest/inject.c
    functionUses: 0
    functionsReached:
    - os_free
    - inject_frame
    - bip_protect
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wlantest_inject_bip(struct wlantest *wt, struct wlantest_bss *bss,\n\t\t\t
      \      u8 *frame, size_t len, int incorrect_key)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/inject.c:126,1
    - Dst: inc_byte_array
      Src: /src/hostap/wlantest/inject.c:135,1
    - Dst: os_memset
      Src: /src/hostap/wlantest/inject.c:137,1
    - Dst: tkip_encrypt
      Src: /src/hostap/wlantest/inject.c:139,1
    - Dst: ccmp_encrypt
      Src: /src/hostap/wlantest/inject.c:144,1
    - Dst: inject_frame
      Src: /src/hostap/wlantest/inject.c:152,1
    - Dst: os_free
      Src: /src/hostap/wlantest/inject.c:153,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 5
    argNames:
    - wt
    - bss
    - frame
    - len
    - incorrect_key
    argTypes:
    - struct wlantest*
    - struct wlantest_bss*
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 156
    functionName: wlantest_inject_prot_bc
    functionSourceFile: /src/hostap/wlantest/inject.c
    functionUses: 0
    functionsReached:
    - ccmp_encrypt
    - inc_byte_array
    - tkip_encrypt
    - inject_frame
    - le_to_host16
    - os_free
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wlantest_inject_prot_bc(struct wlantest *wt,\n\t\t\t\t   struct
      wlantest_bss *bss,\n\t\t\t\t   u8 *frame, size_t len, int incorrect_key)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/inject.c:178,1
    - Dst: WLAN_FC_GET_TYPE
      Src: /src/hostap/wlantest/inject.c:180,1
    - Dst: bss_get
      Src: /src/hostap/wlantest/inject.c:183,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/inject.c:185,1
    - Dst: sta_find
      Src: /src/hostap/wlantest/inject.c:189,1
    - Dst: sta_find
      Src: /src/hostap/wlantest/inject.c:190,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/inject.c:192,1
    - Dst: dl_list_for_each
      Src: /src/hostap/wlantest/inject.c:196,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/inject.c:201,1
    - Dst: WLAN_FC_GET_TYPE
      Src: /src/hostap/wlantest/inject.c:211,1
    - Dst: wlantest_inject_bip
      Src: /src/hostap/wlantest/inject.c:212,1
    - Dst: wlantest_inject_prot_bc
      Src: /src/hostap/wlantest/inject.c:214,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/inject.c:219,1
    - Dst: WLAN_FC_GET_TYPE
      Src: /src/hostap/wlantest/inject.c:223,1
    - Dst: WLAN_FC_GET_TYPE
      Src: /src/hostap/wlantest/inject.c:225,1
    - Dst: WLAN_FC_GET_STYPE
      Src: /src/hostap/wlantest/inject.c:229,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wlantest/inject.c:236,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wlantest/inject.c:240,1
    - Dst: inc_byte_array
      Src: /src/hostap/wlantest/inject.c:244,1
    - Dst: os_memset
      Src: /src/hostap/wlantest/inject.c:246,1
    - Dst: ccmp_encrypt
      Src: /src/hostap/wlantest/inject.c:248,1
    - Dst: tkip_encrypt
      Src: /src/hostap/wlantest/inject.c:252,1
    - Dst: ccmp_encrypt
      Src: /src/hostap/wlantest/inject.c:256,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/inject.c:261,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/inject.c:265,1
    - Dst: inject_frame
      Src: /src/hostap/wlantest/inject.c:266,1
    - Dst: os_free
      Src: /src/hostap/wlantest/inject.c:267,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/inject.c:268,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 69
    argCount: 6
    argNames:
    - wt
    - bss
    - sta
    - frame
    - len
    - incorrect_key
    argTypes:
    - struct wlantest*
    - struct wlantest_bss*
    - struct wlantest_sta*
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 271
    functionName: wlantest_inject_prot
    functionSourceFile: /src/hostap/wlantest/inject.c
    functionUses: 0
    functionsReached:
    - ccmp_encrypt
    - wpa_printf
    - WLAN_FC_GET_STYPE
    - inc_byte_array
    - wpa_hexdump
    - wlantest_inject_bip
    - ether_addr_equal
    - dl_list_for_each
    - wlantest_inject_prot_bc
    - os_free
    - bss_get
    - WLAN_FC_GET_TYPE
    - tkip_encrypt
    - inject_frame
    - le_to_host16
    - sta_find
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wlantest_inject_prot(struct wlantest *wt, struct wlantest_bss
      *bss,\n\t\t\t\tstruct wlantest_sta *sta, u8 *frame,\n\t\t\t\tsize_t len, int
      incorrect_key)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/inject.c:283,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/inject.c:285,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/inject.c:291,1
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/inject.c:297,1
    - Dst: WLAN_FC_GET_TYPE
      Src: /src/hostap/wlantest/inject.c:298,1
    - Dst: is_robust_mgmt
      Src: /src/hostap/wlantest/inject.c:299,1
    - Dst: WLAN_FC_GET_TYPE
      Src: /src/hostap/wlantest/inject.c:304,1
    - Dst: WLAN_FC_GET_TYPE
      Src: /src/hostap/wlantest/inject.c:306,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/inject.c:308,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/inject.c:310,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/inject.c:314,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/inject.c:316,1
    - Dst: WLAN_FC_GET_TYPE
      Src: /src/hostap/wlantest/inject.c:324,1
    - Dst: WLAN_FC_GET_TYPE
      Src: /src/hostap/wlantest/inject.c:327,1
    - Dst: wlantest_inject_prot
      Src: /src/hostap/wlantest/inject.c:334,1
    - Dst: inject_frame
      Src: /src/hostap/wlantest/inject.c:338,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/inject.c:339,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 39
    argCount: 6
    argNames:
    - wt
    - bss
    - sta
    - frame
    - len
    - prot
    argTypes:
    - struct wlantest*
    - struct wlantest_bss*
    - struct wlantest_sta*
    - u8*
    - size_t
    - enum wlantest_inject_protection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 274
    functionDepth: 3
    functionLinenumber: 274
    functionLinenumberEnd: 341
    functionName: wlantest_inject
    functionSourceFile: /src/hostap/wlantest/inject.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - is_robust_mgmt
    - wpa_hexdump
    - MAC2STR
    - wlantest_inject_prot
    - WLAN_FC_GET_TYPE
    - inject_frame
    - le_to_host16
    linkageType: ''
    returnType: int
    signature: "int wlantest_inject(struct wlantest *wt, struct wlantest_bss *bss,\n\t\t
      \   struct wlantest_sta *sta, u8 *frame, size_t len,\n\t\t    enum wlantest_inject_protection
      prot)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/wlantest/sta.c:22,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wlantest/sta.c:23,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - bss
    - addr
    argTypes:
    - struct wlantest_bss*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 28
    functionName: sta_find
    functionSourceFile: /src/hostap/wlantest/sta.c
    functionUses: 6
    functionsReached:
    - dl_list_for_each
    - ether_addr_equal
    linkageType: ''
    returnType: struct wlantest_sta
    signature: struct wlantest_sta * sta_find(struct wlantest_bss *bss, const u8 *addr)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/wlantest/sta.c:38,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wlantest/sta.c:39,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wlantest/sta.c:41,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wlantest/sta.c:45,1
    - Dst: dl_list_for_each
      Src: /src/hostap/wlantest/sta.c:48,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wlantest/sta.c:50,1
    - Dst: dl_list_for_each
      Src: /src/hostap/wlantest/sta.c:55,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wlantest/sta.c:58,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wlantest/sta.c:59,1
    - Dst: dl_list_for_each
      Src: /src/hostap/wlantest/sta.c:61,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wlantest/sta.c:62,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wlantest/sta.c:64,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wlantest/sta.c:68,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 3
    argNames:
    - wt
    - bss
    - addr
    argTypes:
    - struct wlantest*
    - struct wlantest_bss*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 76
    functionName: sta_find_mlo
    functionSourceFile: /src/hostap/wlantest/sta.c
    functionUses: 8
    functionsReached:
    - dl_list_for_each
    - is_zero_ether_addr
    - ether_addr_equal
    linkageType: ''
    returnType: struct wlantest_sta
    signature: "struct wlantest_sta * sta_find_mlo(struct wlantest *wt,\n\t\t\t\t
      \  struct wlantest_bss *bss, const u8 *addr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sta_find
      Src: /src/hostap/wlantest/sta.c:86,1
    - Dst: os_zalloc
      Src: /src/hostap/wlantest/sta.c:90,1
    - Dst: os_memset
      Src: /src/hostap/wlantest/sta.c:93,1
    - Dst: os_memset
      Src: /src/hostap/wlantest/sta.c:94,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/sta.c:96,1
    - Dst: dl_list_add
      Src: /src/hostap/wlantest/sta.c:97,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/sta.c:98,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/sta.c:100,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/sta.c:101,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/sta.c:101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - bss
    - addr
    argTypes:
    - struct wlantest_bss*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 103
    functionName: sta_get
    functionSourceFile: /src/hostap/wlantest/sta.c
    functionUses: 16
    functionsReached:
    - os_memcpy
    - wpa_printf
    - MAC2STR
    - os_zalloc
    - dl_list_add
    - sta_find
    - os_memset
    linkageType: ''
    returnType: struct wlantest_sta
    signature: struct wlantest_sta * sta_get(struct wlantest_bss *bss, const u8 *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_del
      Src: /src/hostap/wlantest/sta.c:108,1
    - Dst: os_free
      Src: /src/hostap/wlantest/sta.c:109,1
    - Dst: os_free
      Src: /src/hostap/wlantest/sta.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sta
    argTypes:
    - struct wlantest_sta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 111
    functionName: sta_deinit
    functionSourceFile: /src/hostap/wlantest/sta.c
    functionUses: 2
    functionsReached:
    - os_free
    - dl_list_del
    linkageType: ''
    returnType: void
    signature: void sta_deinit(struct wlantest_sta *sta)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_basic_mle_mld_addr
      Src: /src/hostap/wlantest/sta.c:122,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/sta.c:125,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/sta.c:129,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/sta.c:129,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/sta.c:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - sta
    - elems
    argTypes:
    - struct wlantest_sta*
    - struct ieee802_11_elems*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 131
    functionName: sta_update_assoc_ml
    functionSourceFile: /src/hostap/wlantest/sta.c
    functionUses: 0
    functionsReached:
    - get_basic_mle_mld_addr
    - MAC2STR
    - wpa_printf
    - os_memcpy
    linkageType: ''
    returnType: void
    signature: "void sta_update_assoc_ml(struct wlantest_sta *sta,\n\t\t\t\tstruct
      ieee802_11_elems *elems)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/sta.c:141,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/sta.c:144,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/sta.c:150,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/sta.c:153,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/sta.c:158,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/sta.c:160,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/sta.c:164,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/sta.c:166,1
    - Dst: wpa_parse_wpa_ie_rsn
      Src: /src/hostap/wlantest/sta.c:168,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/sta.c:170,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/sta.c:171,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/sta.c:174,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/sta.c:176,1
    - Dst: wpa_parse_wpa_ie_wpa
      Src: /src/hostap/wlantest/sta.c:178,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/sta.c:180,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/sta.c:181,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/sta.c:199,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/sta.c:201,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/sta.c:202,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/sta.c:206,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/sta.c:208,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/sta.c:209,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/sta.c:213,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/sta.c:215,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/sta.c:216,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/sta.c:220,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/sta.c:222,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/sta.c:222,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/sta.c:226,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/sta.c:228,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/sta.c:228,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/sta.c:232,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/sta.c:237,1
    - Dst: sta_update_assoc_ml
      Src: /src/hostap/wlantest/sta.c:301,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 59
    argCount: 2
    argNames:
    - sta
    - elems
    argTypes:
    - struct wlantest_sta*
    - struct ieee802_11_elems*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 302
    functionName: sta_update_assoc
    functionSourceFile: /src/hostap/wlantest/sta.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_hexdump
    - sta_update_assoc_ml
    - wpa_parse_wpa_ie_rsn
    - wpa_parse_wpa_ie_wpa
    - MAC2STR
    linkageType: ''
    returnType: void
    signature: void sta_update_assoc(struct wlantest_sta *sta, struct ieee802_11_elems
      *elems)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/sta.c:307,1
    - Dst: os_memset
      Src: /src/hostap/wlantest/sta.c:309,1
    - Dst: os_memset
      Src: /src/hostap/wlantest/sta.c:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - sta
    - ptk
    argTypes:
    - struct wlantest_sta*
    - struct wpa_ptk*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 311
    functionName: sta_copy_ptk
    functionSourceFile: /src/hostap/wlantest/sta.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - os_memset
    linkageType: ''
    returnType: void
    signature: void sta_copy_ptk(struct wlantest_sta *sta, struct wpa_ptk *ptk)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: add_note
      Src: /src/hostap/wlantest/sta.c:320,1
    - Dst: sta_copy_ptk
      Src: /src/hostap/wlantest/sta.c:321,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/sta.c:322,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/sta.c:323,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/sta.c:324,1
    - Dst: dl_list_for_each
      Src: /src/hostap/wlantest/sta.c:326,1
    - Dst: dl_list_for_each
      Src: /src/hostap/wlantest/sta.c:327,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wlantest/sta.c:333,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wlantest/sta.c:337,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wlantest/sta.c:344,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/sta.c:347,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/sta.c:351,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/sta.c:352,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/sta.c:353,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/sta.c:354,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/sta.c:355,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/sta.c:356,1
    - Dst: sta_copy_ptk
      Src: /src/hostap/wlantest/sta.c:357,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/sta.c:358,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 3
    argNames:
    - wt
    - sta
    - ptk
    argTypes:
    - struct wlantest*
    - struct wlantest_sta*
    - struct wpa_ptk*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 362
    functionName: sta_new_ptk
    functionSourceFile: /src/hostap/wlantest/sta.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_hexdump
    - sta_copy_ptk
    - ether_addr_equal
    - add_note
    - dl_list_for_each
    - MAC2STR
    linkageType: ''
    returnType: void
    signature: "void sta_new_ptk(struct wlantest *wt, struct wlantest_sta *sta,\n\t\t
      struct wpa_ptk *ptk)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_ip.c:39,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_ip.c:40,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 7
    argNames:
    - wt
    - sta
    - req
    - src
    - dst
    - id
    - seq
    argTypes:
    - struct wlantest*
    - struct wlantest_sta*
    - int
    - u32
    - u32
    - u16
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 42
    functionName: ping_update
    functionSourceFile: /src/hostap/wlantest/rx_ip.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - add_note
    linkageType: ''
    returnType: void
    signature: "void ping_update(struct wlantest *wt, struct wlantest_sta *sta, int
      req,\n\t\t\tu32 src, u32 dst, u16 id, u16 seq)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/hostap/wlantest/rx_ip.c:67,1
    - Dst: ntohs
      Src: /src/hostap/wlantest/rx_ip.c:68,1
    - Dst: snprintf
      Src: /src/hostap/wlantest/rx_ip.c:71,1
    - Dst: inet_ntoa
      Src: /src/hostap/wlantest/rx_ip.c:71,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_ip.c:73,1
    - Dst: inet_ntoa
      Src: /src/hostap/wlantest/rx_ip.c:75,1
    - Dst: bss_find
      Src: /src/hostap/wlantest/rx_ip.c:78,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_ip.c:80,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_ip.c:81,1
    - Dst: sta_find_mlo
      Src: /src/hostap/wlantest/rx_ip.c:88,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_ip.c:90,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_ip.c:91,1
    - Dst: ping_update
      Src: /src/hostap/wlantest/rx_ip.c:95,1
    - Dst: sta_find_mlo
      Src: /src/hostap/wlantest/rx_ip.c:96,1
    - Dst: ping_update
      Src: /src/hostap/wlantest/rx_ip.c:97,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 8
    argNames:
    - wt
    - bssid
    - sta_addr
    - dst
    - src
    - data
    - len
    - peer_addr
    argTypes:
    - struct wlantest*
    - u8*
    - u8*
    - u32
    - u32
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 98
    functionName: rx_data_icmp
    functionSourceFile: /src/hostap/wlantest/rx_ip.c
    functionUses: 0
    functionsReached:
    - snprintf
    - bss_find
    - add_note
    - MAC2STR
    - sta_find_mlo
    - inet_ntoa
    - ntohs
    - ping_update
    linkageType: ''
    returnType: void
    signature: "void rx_data_icmp(struct wlantest *wt, const u8 *bssid,\n\t\t\t const
      u8 *sta_addr, u32 dst, u32 src,\n\t\t\t const u8 *data, size_t len, const u8
      *peer_addr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 116
    functionName: hwsim_test_packet
    functionSourceFile: /src/hostap/wlantest/rx_ip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int hwsim_test_packet(const u8 *data, size_t len)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_ip.c:130,1
    - Dst: hwsim_test_packet
      Src: /src/hostap/wlantest/rx_ip.c:133,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_ip.c:134,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_ip.c:137,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_ip.c:139,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_ip.c:140,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_ip.c:140,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_ip.c:144,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_ip.c:146,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_ip.c:147,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_ip.c:147,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_ip.c:151,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_ip.c:154,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_ip.c:154,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_ip.c:154,1
    - Dst: be_to_host16
      Src: /src/hostap/wlantest/rx_ip.c:160,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_ip.c:162,1
    - Dst: be_to_host16
      Src: /src/hostap/wlantest/rx_ip.c:167,1
    - Dst: rx_data_icmp
      Src: /src/hostap/wlantest/rx_ip.c:179,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 8
    argNames:
    - wt
    - bssid
    - sta_addr
    - dst
    - src
    - data
    - len
    - peer_addr
    argTypes:
    - struct wlantest*
    - u8*
    - u8*
    - u8*
    - u8*
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 119
    functionDepth: 3
    functionLinenumber: 119
    functionLinenumberEnd: 184
    functionName: rx_data_ip
    functionSourceFile: /src/hostap/wlantest/rx_ip.c
    functionUses: 1
    functionsReached:
    - be_to_host16
    - os_memcpy
    - hwsim_test_packet
    - wpa_printf
    - rx_data_icmp
    - add_note
    - MAC2STR
    linkageType: ''
    returnType: void
    signature: "void rx_data_ip(struct wlantest *wt, const u8 *bssid, const u8 *sta_addr,\n\t\tconst
      u8 *dst, const u8 *src, const u8 *data, size_t len,\n\t\tconst u8 *peer_addr)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/ccmp.c:28,1
    - Dst: WLAN_FC_GET_STYPE
      Src: /src/hostap/wlantest/ccmp.c:29,1
    - Dst: WLAN_FC_GET_TYPE
      Src: /src/hostap/wlantest/ccmp.c:34,1
    - Dst: WLAN_FC_GET_TYPE
      Src: /src/hostap/wlantest/ccmp.c:45,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/wlantest/ccmp.c:50,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/ccmp.c:52,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/ccmp.c:54,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/ccmp.c:56,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/ccmp.c:58,1
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/ccmp.c:60,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/wlantest/ccmp.c:62,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/ccmp.c:65,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/ccmp.c:78,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/ccmp.c:80,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 54
    argCount: 8
    argNames:
    - hdr
    - data
    - a1
    - a2
    - a3
    - aad
    - aad_len
    - nonce
    argTypes:
    - struct ieee80211_hdr*
    - u8*
    - u8*
    - u8*
    - u8*
    - u8*
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 87
    functionName: ccmp_aad_nonce
    functionSourceFile: /src/hostap/wlantest/ccmp.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - WLAN_FC_GET_STYPE
    - WLAN_FC_GET_TYPE
    - le_to_host16
    - WPA_PUT_LE16
    linkageType: ''
    returnType: void
    signature: "void ccmp_aad_nonce(const struct ieee80211_hdr *hdr, const u8 *data,\n\t\t\t
      \  const u8 *a1, const u8 *a2, const u8 *a3,\n\t\t\t   u8 *aad, size_t *aad_len,
      u8 *nonce)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BIT
      Src: /src/hostap/wlantest/ccmp.c:97,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wlantest/ccmp.c:100,1
    - Dst: BIT
      Src: /src/hostap/wlantest/ccmp.c:101,1
    - Dst: BIT
      Src: /src/hostap/wlantest/ccmp.c:101,1
    - Dst: BIT
      Src: /src/hostap/wlantest/ccmp.c:101,1
    - Dst: BIT
      Src: /src/hostap/wlantest/ccmp.c:107,1
    - Dst: BIT
      Src: /src/hostap/wlantest/ccmp.c:107,1
    - Dst: BIT
      Src: /src/hostap/wlantest/ccmp.c:107,1
    - Dst: BIT
      Src: /src/hostap/wlantest/ccmp.c:111,1
    - Dst: BIT
      Src: /src/hostap/wlantest/ccmp.c:111,1
    - Dst: BIT
      Src: /src/hostap/wlantest/ccmp.c:111,1
    - Dst: BIT
      Src: /src/hostap/wlantest/ccmp.c:111,1
    - Dst: BIT
      Src: /src/hostap/wlantest/ccmp.c:111,1
    - Dst: BIT
      Src: /src/hostap/wlantest/ccmp.c:112,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/wlantest/ccmp.c:113,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/ccmp.c:118,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/ccmp.c:120,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/ccmp.c:136,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/ccmp.c:143,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 39
    argCount: 8
    argNames:
    - hdr
    - a1
    - a2
    - a3
    - pn
    - aad
    - aad_len
    - nonce
    argTypes:
    - u8*
    - u8*
    - u8*
    - u8*
    - u8*
    - u8*
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 150
    functionName: ccmp_aad_nonce_pv1
    functionSourceFile: /src/hostap/wlantest/ccmp.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - BIT
    - WPA_GET_LE16
    - WPA_PUT_LE16
    linkageType: ''
    returnType: void
    signature: "void ccmp_aad_nonce_pv1(const u8 *hdr, const u8 *a1, const u8 *a2,\n\t\t\t
      \      const u8 *a3, const u8 *pn,\n\t\t\t       u8 *aad, size_t *aad_len, u8
      *nonce)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/wlantest/ccmp.c:166,1
    - Dst: os_memset
      Src: /src/hostap/wlantest/ccmp.c:172,1
    - Dst: ccmp_aad_nonce
      Src: /src/hostap/wlantest/ccmp.c:173,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/ccmp.c:174,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/ccmp.c:175,1
    - Dst: aes_ccm_ad
      Src: /src/hostap/wlantest/ccmp.c:177,1
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/ccmp.c:179,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/ccmp.c:180,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/ccmp.c:182,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/ccmp.c:182,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/ccmp.c:183,1
    - Dst: WLAN_GET_SEQ_SEQ
      Src: /src/hostap/wlantest/ccmp.c:184,1
    - Dst: WLAN_GET_SEQ_FRAG
      Src: /src/hostap/wlantest/ccmp.c:185,1
    - Dst: os_free
      Src: /src/hostap/wlantest/ccmp.c:186,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/ccmp.c:189,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 8
    argNames:
    - tk
    - hdr
    - a1
    - a2
    - a3
    - data
    - data_len
    - decrypted_len
    argTypes:
    - u8*
    - struct ieee80211_hdr*
    - u8*
    - u8*
    - u8*
    - u8*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 193
    functionName: ccmp_decrypt
    functionSourceFile: /src/hostap/wlantest/ccmp.c
    functionUses: 8
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    - ccmp_aad_nonce
    - aes_ccm_ad
    - os_malloc
    - MAC2STR
    - WLAN_GET_SEQ_SEQ
    - le_to_host16
    - os_free
    - WLAN_GET_SEQ_FRAG
    - os_memset
    linkageType: ''
    returnType: u8
    signature: "u8 * ccmp_decrypt(const u8 *tk, const struct ieee80211_hdr *hdr,\n\t\t
      \ const u8 *a1, const u8 *a2, const u8 *a3,\n\t\t  const u8 *data, size_t data_len,\n\t\t
      \ size_t *decrypted_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - pn
    - data
    argTypes:
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 204
    functionName: ccmp_get_pn
    functionSourceFile: /src/hostap/wlantest/ccmp.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ccmp_get_pn(u8 *pn, const u8 *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/wlantest/ccmp.c:220,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/ccmp.c:224,1
    - Dst: host_to_le16
      Src: /src/hostap/wlantest/ccmp.c:226,1
    - Dst: os_memset
      Src: /src/hostap/wlantest/ccmp.c:237,1
    - Dst: ccmp_aad_nonce
      Src: /src/hostap/wlantest/ccmp.c:238,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/ccmp.c:239,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/ccmp.c:240,1
    - Dst: aes_ccm_ae
      Src: /src/hostap/wlantest/ccmp.c:242,1
    - Dst: os_free
      Src: /src/hostap/wlantest/ccmp.c:244,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/ccmp.c:248,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 11
    argNames:
    - tk
    - frame
    - len
    - hdrlen
    - qos
    - a1
    - a2
    - a3
    - pn
    - keyid
    - encrypted_len
    argTypes:
    - u8*
    - u8*
    - size_t
    - size_t
    - u8*
    - u8*
    - u8*
    - u8*
    - u8*
    - int
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 207
    functionDepth: 2
    functionLinenumber: 207
    functionLinenumberEnd: 253
    functionName: ccmp_encrypt
    functionSourceFile: /src/hostap/wlantest/ccmp.c
    functionUses: 4
    functionsReached:
    - os_memcpy
    - ccmp_aad_nonce
    - wpa_hexdump
    - os_malloc
    - aes_ccm_ae
    - os_free
    - host_to_le16
    - os_memset
    linkageType: ''
    returnType: u8
    signature: "u8 * ccmp_encrypt(const u8 *tk, u8 *frame, size_t len, size_t hdrlen,\n\t\t
      \ const u8 *qos, const u8 *a1, const u8 *a2, const u8 *a3,\n\t\t  const u8 *pn,
      int keyid, size_t *encrypted_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/wlantest/ccmp.c:270,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/ccmp.c:274,1
    - Dst: host_to_le16
      Src: /src/hostap/wlantest/ccmp.c:276,1
    - Dst: BIT
      Src: /src/hostap/wlantest/ccmp.c:276,1
    - Dst: os_memset
      Src: /src/hostap/wlantest/ccmp.c:279,1
    - Dst: ccmp_aad_nonce_pv1
      Src: /src/hostap/wlantest/ccmp.c:280,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/ccmp.c:281,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/ccmp.c:282,1
    - Dst: aes_ccm_ae
      Src: /src/hostap/wlantest/ccmp.c:284,1
    - Dst: os_free
      Src: /src/hostap/wlantest/ccmp.c:286,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/ccmp.c:290,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 10
    argNames:
    - tk
    - a1
    - a2
    - a3
    - frame
    - len
    - hdrlen
    - pn
    - keyid
    - encrypted_len
    argTypes:
    - u8*
    - u8*
    - u8*
    - u8*
    - u8*
    - size_t
    - size_t
    - u8*
    - int
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 295
    functionName: ccmp_encrypt_pv1
    functionSourceFile: /src/hostap/wlantest/ccmp.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    - wpa_hexdump
    - os_malloc
    - BIT
    - ccmp_aad_nonce_pv1
    - aes_ccm_ae
    - os_free
    - host_to_le16
    - os_memset
    linkageType: ''
    returnType: u8
    signature: "u8 * ccmp_encrypt_pv1(const u8 *tk, const u8 *a1, const u8 *a2, const
      u8 *a3,\n\t\t      const u8 *frame, size_t len,\n\t\t      size_t hdrlen, const
      u8 *pn, int keyid,\n\t\t      size_t *encrypted_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/wlantest/ccmp.c:310,1
    - Dst: os_memset
      Src: /src/hostap/wlantest/ccmp.c:316,1
    - Dst: ccmp_aad_nonce
      Src: /src/hostap/wlantest/ccmp.c:317,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/ccmp.c:318,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/ccmp.c:319,1
    - Dst: aes_ccm_ad
      Src: /src/hostap/wlantest/ccmp.c:321,1
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/ccmp.c:323,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/ccmp.c:324,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/ccmp.c:326,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/ccmp.c:326,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/ccmp.c:327,1
    - Dst: WLAN_GET_SEQ_SEQ
      Src: /src/hostap/wlantest/ccmp.c:328,1
    - Dst: WLAN_GET_SEQ_FRAG
      Src: /src/hostap/wlantest/ccmp.c:329,1
    - Dst: os_free
      Src: /src/hostap/wlantest/ccmp.c:330,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/ccmp.c:333,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 8
    argNames:
    - tk
    - hdr
    - a1
    - a2
    - a3
    - data
    - data_len
    - decrypted_len
    argTypes:
    - u8*
    - struct ieee80211_hdr*
    - u8*
    - u8*
    - u8*
    - u8*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 337
    functionName: ccmp_256_decrypt
    functionSourceFile: /src/hostap/wlantest/ccmp.c
    functionUses: 7
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    - ccmp_aad_nonce
    - aes_ccm_ad
    - os_malloc
    - MAC2STR
    - WLAN_GET_SEQ_SEQ
    - le_to_host16
    - os_free
    - WLAN_GET_SEQ_FRAG
    - os_memset
    linkageType: ''
    returnType: u8
    signature: "u8 * ccmp_256_decrypt(const u8 *tk, const struct ieee80211_hdr *hdr,\n\t\t
      \     const u8 *a1, const u8 *a2, const u8 *a3,\n\t\t      const u8 *data, size_t
      data_len, size_t *decrypted_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/wlantest/ccmp.c:353,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/ccmp.c:357,1
    - Dst: host_to_le16
      Src: /src/hostap/wlantest/ccmp.c:359,1
    - Dst: os_memset
      Src: /src/hostap/wlantest/ccmp.c:370,1
    - Dst: ccmp_aad_nonce
      Src: /src/hostap/wlantest/ccmp.c:371,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/ccmp.c:372,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/ccmp.c:373,1
    - Dst: aes_ccm_ae
      Src: /src/hostap/wlantest/ccmp.c:375,1
    - Dst: os_free
      Src: /src/hostap/wlantest/ccmp.c:377,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/ccmp.c:381,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 11
    argNames:
    - tk
    - frame
    - len
    - hdrlen
    - qos
    - a1
    - a2
    - a3
    - pn
    - keyid
    - encrypted_len
    argTypes:
    - u8*
    - u8*
    - size_t
    - size_t
    - u8*
    - u8*
    - u8*
    - u8*
    - u8*
    - int
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 340
    functionDepth: 2
    functionLinenumber: 340
    functionLinenumberEnd: 387
    functionName: ccmp_256_encrypt
    functionSourceFile: /src/hostap/wlantest/ccmp.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    - ccmp_aad_nonce
    - wpa_hexdump
    - os_malloc
    - aes_ccm_ae
    - os_free
    - host_to_le16
    - os_memset
    linkageType: ''
    returnType: u8
    signature: "u8 * ccmp_256_encrypt(const u8 *tk, u8 *frame, size_t len, size_t
      hdrlen,\n\t\t      const u8 *qos, const u8 *a1, const u8 *a2, const u8 *a3,\n\t\t
      \     const u8 *pn, int keyid, size_t *encrypted_len)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: bss_find
      Src: /src/hostap/wlantest/rx_tdls.c:27,1
    - Dst: bss_find
      Src: /src/hostap/wlantest/rx_tdls.c:29,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_tdls.c:31,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_tdls.c:34,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_tdls.c:34,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_tdls.c:35,1
    - Dst: sta_find
      Src: /src/hostap/wlantest/rx_tdls.c:40,1
    - Dst: sta_find
      Src: /src/hostap/wlantest/rx_tdls.c:44,1
    - Dst: dl_list_for_each
      Src: /src/hostap/wlantest/rx_tdls.c:48,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_tdls.c:56,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_tdls.c:58,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_tdls.c:59,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_tdls.c:60,1
    - Dst: os_zalloc
      Src: /src/hostap/wlantest/rx_tdls.c:62,1
    - Dst: dl_list_add
      Src: /src/hostap/wlantest/rx_tdls.c:67,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 4
    argNames:
    - wt
    - linkid
    - create_new
    - bssid
    argTypes:
    - struct wlantest*
    - u8*
    - int
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 20
    functionDepth: 2
    functionLinenumber: 20
    functionLinenumberEnd: 69
    functionName: get_tdls
    functionSourceFile: /src/hostap/wlantest/rx_tdls.c
    functionUses: 2
    functionsReached:
    - bss_find
    - add_note
    - dl_list_for_each
    - MAC2STR
    - os_zalloc
    - dl_list_add
    - sta_find
    linkageType: ''
    returnType: struct wlantest_tdls
    signature: "struct wlantest_tdls * get_tdls(struct wlantest *wt, const u8 *linkid,\n\t\t\t\t
      \      int create_new, const u8 *bssid)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_tdls.c:85,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_tdls.c:86,1
    - Dst: os_memcmp
      Src: /src/hostap/wlantest/rx_tdls.c:94,1
    - Dst: sha256_vector
      Src: /src/hostap/wlantest/rx_tdls.c:101,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/wlantest/rx_tdls.c:102,1
    - Dst: os_memcmp
      Src: /src/hostap/wlantest/rx_tdls.c:113,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_tdls.c:114,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_tdls.c:115,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_tdls.c:117,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_tdls.c:118,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_tdls.c:120,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_tdls.c:121,1
    - Dst: sha256_prf
      Src: /src/hostap/wlantest/rx_tdls.c:123,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/wlantest/rx_tdls.c:125,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/wlantest/rx_tdls.c:127,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 4
    argNames:
    - tdls
    - bssid
    - ftie
    - ftie_len
    argTypes:
    - struct wlantest_tdls*
    - u8*
    - u8*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 131
    functionName: tdls_derive_tpk
    functionSourceFile: /src/hostap/wlantest/rx_tdls.c
    functionUses: 0
    functionsReached:
    - sha256_vector
    - sha256_prf
    - os_memcpy
    - wpa_hexdump_key
    - wpa_hexdump
    - os_memcmp
    linkageType: ''
    returnType: int
    signature: "int tdls_derive_tpk(struct wlantest_tdls *tdls, const u8 *bssid,\n\t\t\t
      \  const u8 *ftie, u8 ftie_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/wlantest/rx_tdls.c:152,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_tdls.c:158,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_tdls.c:161,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_tdls.c:166,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_tdls.c:169,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_tdls.c:172,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_tdls.c:175,1
    - Dst: os_memset
      Src: /src/hostap/wlantest/rx_tdls.c:178,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_tdls.c:181,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/wlantest/rx_tdls.c:182,1
    - Dst: omac1_aes_128
      Src: /src/hostap/wlantest/rx_tdls.c:183,1
    - Dst: os_free
      Src: /src/hostap/wlantest/rx_tdls.c:184,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_tdls.c:187,1
    - Dst: os_memcmp
      Src: /src/hostap/wlantest/rx_tdls.c:190,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_tdls.c:191,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_tdls.c:194,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 4
    argNames:
    - wt
    - tdls
    - trans_seq
    - elems
    argTypes:
    - struct wlantest*
    - struct wlantest_tdls*
    - u8
    - struct ieee802_11_elems*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 196
    functionName: tdls_verify_mic
    functionSourceFile: /src/hostap/wlantest/rx_tdls.c
    functionUses: 0
    functionsReached:
    - wpa_hexdump_key
    - os_memcpy
    - wpa_hexdump
    - add_note
    - os_zalloc
    - omac1_aes_128
    - os_memcmp
    - os_free
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int tdls_verify_mic(struct wlantest *wt, struct wlantest_tdls *tdls,\n\t\t\t
      \  u8 trans_seq, struct ieee802_11_elems *elems)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_tdls.c:209,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_tdls.c:210,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_tdls.c:210,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_tdls.c:213,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_tdls.c:214,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_tdls.c:214,1
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/wlantest/rx_tdls.c:216,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_tdls.c:219,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_tdls.c:221,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_tdls.c:221,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_tdls.c:222,1
    - Dst: get_tdls
      Src: /src/hostap/wlantest/rx_tdls.c:223,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_tdls.c:230,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_tdls.c:235,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_tdls.c:236,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_tdls.c:237,1
    - Dst: get_tdls
      Src: /src/hostap/wlantest/rx_tdls.c:238,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_tdls.c:240,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 7
    argNames:
    - wt
    - bssid
    - sta_addr
    - dst
    - src
    - data
    - len
    argTypes:
    - struct wlantest*
    - u8*
    - u8*
    - u8*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 241
    functionName: rx_data_tdls_setup_request
    functionSourceFile: /src/hostap/wlantest/rx_tdls.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - get_tdls
    - add_note
    - MAC2STR
    - ieee802_11_parse_elems
    linkageType: ''
    returnType: void
    signature: "void rx_data_tdls_setup_request(struct wlantest *wt, const u8 *bssid,\n\t\t\t\t
      \      const u8 *sta_addr, const u8 *dst,\n\t\t\t\t       const u8 *src,\n\t\t\t\t
      \      const u8 *data, size_t len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_tdls.c:254,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_tdls.c:255,1
    - Dst: bss_find
      Src: /src/hostap/wlantest/rx_tdls.c:259,1
    - Dst: sta_find
      Src: /src/hostap/wlantest/rx_tdls.c:262,1
    - Dst: dl_list_for_each
      Src: /src/hostap/wlantest/rx_tdls.c:266,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_tdls.c:269,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_tdls.c:274,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 5
    argNames:
    - wt
    - bssid
    - sta_addr
    - dialog_token
    - status
    argTypes:
    - struct wlantest*
    - u8*
    - u8*
    - u8
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 244
    functionDepth: 2
    functionLinenumber: 244
    functionLinenumberEnd: 281
    functionName: rx_data_tdls_setup_response_failure
    functionSourceFile: /src/hostap/wlantest/rx_tdls.c
    functionUses: 0
    functionsReached:
    - bss_find
    - add_note
    - dl_list_for_each
    - MAC2STR
    - sta_find
    linkageType: ''
    returnType: void
    signature: "void rx_data_tdls_setup_response_failure(struct wlantest *wt,\n\t\t\t\t\t\tconst
      u8 *bssid,\n\t\t\t\t\t\tconst u8 *sta_addr,\n\t\t\t\t\t\tu8 dialog_token, u16
      status)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_tdls.c:294,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_tdls.c:295,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_tdls.c:295,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wlantest/rx_tdls.c:298,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_tdls.c:299,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_tdls.c:301,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_tdls.c:301,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_tdls.c:303,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_tdls.c:304,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_tdls.c:304,1
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/wlantest/rx_tdls.c:309,1
    - Dst: rx_data_tdls_setup_response_failure
      Src: /src/hostap/wlantest/rx_tdls.c:312,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_tdls.c:316,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_tdls.c:318,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_tdls.c:318,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_tdls.c:319,1
    - Dst: get_tdls
      Src: /src/hostap/wlantest/rx_tdls.c:321,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_tdls.c:323,1
    - Dst: os_memcmp
      Src: /src/hostap/wlantest/rx_tdls.c:337,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_tdls.c:338,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_tdls.c:341,1
    - Dst: tdls_derive_tpk
      Src: /src/hostap/wlantest/rx_tdls.c:344,1
    - Dst: tdls_verify_mic
      Src: /src/hostap/wlantest/rx_tdls.c:346,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_tdls.c:348,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 7
    argNames:
    - wt
    - bssid
    - sta_addr
    - dst
    - src
    - data
    - len
    argTypes:
    - struct wlantest*
    - u8*
    - u8*
    - u8*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 284
    functionDepth: 3
    functionLinenumber: 284
    functionLinenumberEnd: 351
    functionName: rx_data_tdls_setup_response
    functionSourceFile: /src/hostap/wlantest/rx_tdls.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - get_tdls
    - tdls_verify_mic
    - WPA_GET_LE16
    - add_note
    - MAC2STR
    - rx_data_tdls_setup_response_failure
    - ieee802_11_parse_elems
    - os_memcmp
    - tdls_derive_tpk
    linkageType: ''
    returnType: void
    signature: "void rx_data_tdls_setup_response(struct wlantest *wt, const u8 *bssid,\n\t\t\t\t\tconst
      u8 *sta_addr, const u8 *dst,\n\t\t\t\t\tconst u8 *src,\n\t\t\t\t\tconst u8 *data,
      size_t len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_tdls.c:364,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_tdls.c:365,1
    - Dst: bss_find
      Src: /src/hostap/wlantest/rx_tdls.c:369,1
    - Dst: sta_find
      Src: /src/hostap/wlantest/rx_tdls.c:372,1
    - Dst: dl_list_for_each
      Src: /src/hostap/wlantest/rx_tdls.c:376,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_tdls.c:379,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_tdls.c:384,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 5
    argNames:
    - wt
    - bssid
    - src
    - dialog_token
    - status
    argTypes:
    - struct wlantest*
    - u8*
    - u8*
    - u8
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 354
    functionDepth: 2
    functionLinenumber: 354
    functionLinenumberEnd: 391
    functionName: rx_data_tdls_setup_confirm_failure
    functionSourceFile: /src/hostap/wlantest/rx_tdls.c
    functionUses: 0
    functionsReached:
    - bss_find
    - add_note
    - dl_list_for_each
    - MAC2STR
    - sta_find
    linkageType: ''
    returnType: void
    signature: "void rx_data_tdls_setup_confirm_failure(struct wlantest *wt,\n\t\t\t\t\t
      \      const u8 *bssid,\n\t\t\t\t\t       const u8 *src,\n\t\t\t\t\t       u8
      dialog_token, u16 status)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_tdls.c:405,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_tdls.c:406,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_tdls.c:406,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wlantest/rx_tdls.c:409,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_tdls.c:410,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_tdls.c:412,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_tdls.c:412,1
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/wlantest/rx_tdls.c:414,1
    - Dst: rx_data_tdls_setup_confirm_failure
      Src: /src/hostap/wlantest/rx_tdls.c:417,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_tdls.c:421,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_tdls.c:423,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_tdls.c:423,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_tdls.c:424,1
    - Dst: get_tdls
      Src: /src/hostap/wlantest/rx_tdls.c:426,1
    - Dst: os_memcmp
      Src: /src/hostap/wlantest/rx_tdls.c:440,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_tdls.c:441,1
    - Dst: os_memcmp
      Src: /src/hostap/wlantest/rx_tdls.c:444,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_tdls.c:445,1
    - Dst: tdls_derive_tpk
      Src: /src/hostap/wlantest/rx_tdls.c:451,1
    - Dst: tdls_verify_mic
      Src: /src/hostap/wlantest/rx_tdls.c:456,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_tdls.c:458,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_tdls.c:469,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_tdls.c:470,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_tdls.c:471,1
    - Dst: get_tdls
      Src: /src/hostap/wlantest/rx_tdls.c:472,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_tdls.c:474,1
    - Dst: tdls_deinit
      Src: /src/hostap/wlantest/rx_tdls.c:475,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 7
    argNames:
    - wt
    - bssid
    - sta_addr
    - dst
    - src
    - data
    - len
    argTypes:
    - struct wlantest*
    - u8*
    - u8*
    - u8*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 394
    functionDepth: 3
    functionLinenumber: 394
    functionLinenumberEnd: 477
    functionName: rx_data_tdls_setup_confirm
    functionSourceFile: /src/hostap/wlantest/rx_tdls.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - get_tdls
    - tdls_verify_mic
    - WPA_GET_LE16
    - add_note
    - MAC2STR
    - ieee802_11_parse_elems
    - os_memcmp
    - rx_data_tdls_setup_confirm_failure
    - tdls_deinit
    - tdls_derive_tpk
    linkageType: ''
    returnType: void
    signature: "void rx_data_tdls_setup_confirm(struct wlantest *wt, const u8 *bssid,\n\t\t\t\t
      \      const u8 *sta_addr, const u8 *dst,\n\t\t\t\t       const u8 *src,\n\t\t\t\t
      \      const u8 *data, size_t len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/wlantest/rx_tdls.c:498,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_tdls.c:504,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_tdls.c:507,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_tdls.c:514,1
    - Dst: os_memset
      Src: /src/hostap/wlantest/rx_tdls.c:517,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_tdls.c:520,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/wlantest/rx_tdls.c:521,1
    - Dst: omac1_aes_128
      Src: /src/hostap/wlantest/rx_tdls.c:522,1
    - Dst: os_free
      Src: /src/hostap/wlantest/rx_tdls.c:523,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_tdls.c:526,1
    - Dst: os_memcmp
      Src: /src/hostap/wlantest/rx_tdls.c:529,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_tdls.c:530,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_tdls.c:533,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 5
    argNames:
    - wt
    - tdls
    - trans_seq
    - reason_code
    - elems
    argTypes:
    - struct wlantest*
    - struct wlantest_tdls*
    - u8
    - u8*
    - struct ieee802_11_elems*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 535
    functionName: tdls_verify_mic_teardown
    functionSourceFile: /src/hostap/wlantest/rx_tdls.c
    functionUses: 0
    functionsReached:
    - wpa_hexdump_key
    - os_memcpy
    - wpa_hexdump
    - add_note
    - os_zalloc
    - omac1_aes_128
    - os_memcmp
    - os_free
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int tdls_verify_mic_teardown(struct wlantest *wt,\n\t\t\t\t    struct
      wlantest_tdls *tdls, u8 trans_seq,\n\t\t\t\t    const u8 *reason_code,\n\t\t\t\t
      \   struct ieee802_11_elems *elems)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wlantest/rx_tdls.c:549,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_tdls.c:550,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_tdls.c:552,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_tdls.c:552,1
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/wlantest/rx_tdls.c:554,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_tdls.c:557,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_tdls.c:559,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_tdls.c:559,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_tdls.c:560,1
    - Dst: get_tdls
      Src: /src/hostap/wlantest/rx_tdls.c:562,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_tdls.c:565,1
    - Dst: tdls_verify_mic_teardown
      Src: /src/hostap/wlantest/rx_tdls.c:568,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 7
    argNames:
    - wt
    - bssid
    - sta_addr
    - dst
    - src
    - data
    - len
    argTypes:
    - struct wlantest*
    - u8*
    - u8*
    - u8*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 538
    functionDepth: 2
    functionLinenumber: 538
    functionLinenumberEnd: 570
    functionName: rx_data_tdls_teardown
    functionSourceFile: /src/hostap/wlantest/rx_tdls.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - get_tdls
    - WPA_GET_LE16
    - add_note
    - MAC2STR
    - tdls_verify_mic_teardown
    - ieee802_11_parse_elems
    linkageType: ''
    returnType: void
    signature: "void rx_data_tdls_teardown(struct wlantest *wt, const u8 *bssid,\n\t\t\t\t
      \ const u8 *sta_addr, const u8 *dst,\n\t\t\t\t  const u8 *src,\n\t\t\t\t  const
      u8 *data, size_t len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_tdls.c:579,1
    - Dst: rx_data_tdls_setup_request
      Src: /src/hostap/wlantest/rx_tdls.c:586,1
    - Dst: rx_data_tdls_setup_response
      Src: /src/hostap/wlantest/rx_tdls.c:590,1
    - Dst: rx_data_tdls_setup_confirm
      Src: /src/hostap/wlantest/rx_tdls.c:594,1
    - Dst: rx_data_tdls_teardown
      Src: /src/hostap/wlantest/rx_tdls.c:598,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_tdls.c:602,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_tdls.c:603,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_tdls.c:603,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 7
    argNames:
    - wt
    - bssid
    - sta_addr
    - dst
    - src
    - data
    - len
    argTypes:
    - struct wlantest*
    - u8*
    - u8*
    - u8*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 573
    functionDepth: 4
    functionLinenumber: 573
    functionLinenumberEnd: 606
    functionName: rx_data_tdls
    functionSourceFile: /src/hostap/wlantest/rx_tdls.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - rx_data_tdls_setup_request
    - wpa_hexdump
    - MAC2STR
    - rx_data_tdls_setup_confirm
    - rx_data_tdls_setup_response
    - rx_data_tdls_teardown
    linkageType: ''
    returnType: void
    signature: "void rx_data_tdls(struct wlantest *wt, const u8 *bssid,\n\t\t\t const
      u8 *sta_addr, const u8 *dst, const u8 *src,\n\t\t\t const u8 *data, size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_tdls.c:613,1
    - Dst: rx_data_tdls
      Src: /src/hostap/wlantest/rx_tdls.c:617,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 7
    argNames:
    - wt
    - bssid
    - sta_addr
    - dst
    - src
    - data
    - len
    argTypes:
    - struct wlantest*
    - u8*
    - u8*
    - u8*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 609
    functionDepth: 5
    functionLinenumber: 609
    functionLinenumberEnd: 618
    functionName: rx_data_80211_encap
    functionSourceFile: /src/hostap/wlantest/rx_tdls.c
    functionUses: 1
    functionsReached:
    - rx_data_tdls
    - wpa_hexdump
    linkageType: ''
    returnType: void
    signature: "void rx_data_80211_encap(struct wlantest *wt, const u8 *bssid,\n\t\t\t
      const u8 *sta_addr, const u8 *dst, const u8 *src,\n\t\t\t const u8 *data, size_t
      len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/wlantest/bss.c:23,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wlantest/bss.c:24,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - wt
    - bssid
    argTypes:
    - struct wlantest*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 29
    functionName: bss_find
    functionSourceFile: /src/hostap/wlantest/bss.c
    functionUses: 8
    functionsReached:
    - dl_list_for_each
    - ether_addr_equal
    linkageType: ''
    returnType: struct wlantest_bss
    signature: struct wlantest_bss * bss_find(struct wlantest *wt, const u8 *bssid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/wlantest/bss.c:37,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wlantest/bss.c:38,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - wt
    - mld_mac_addr
    - link_id
    argTypes:
    - struct wlantest*
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 45
    functionName: bss_find_mld
    functionSourceFile: /src/hostap/wlantest/bss.c
    functionUses: 5
    functionsReached:
    - dl_list_for_each
    - ether_addr_equal
    linkageType: ''
    returnType: struct wlantest_bss
    signature: "struct wlantest_bss * bss_find_mld(struct wlantest *wt, const u8 *mld_mac_addr,\n\t\t\t\t
      \  int link_id)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bss_find
      Src: /src/hostap/wlantest/bss.c:55,1
    - Dst: os_zalloc
      Src: /src/hostap/wlantest/bss.c:59,1
    - Dst: dl_list_init
      Src: /src/hostap/wlantest/bss.c:62,1
    - Dst: dl_list_init
      Src: /src/hostap/wlantest/bss.c:63,1
    - Dst: dl_list_init
      Src: /src/hostap/wlantest/bss.c:64,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/bss.c:65,1
    - Dst: dl_list_add
      Src: /src/hostap/wlantest/bss.c:66,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/bss.c:67,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/bss.c:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - wt
    - bssid
    argTypes:
    - struct wlantest*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 70
    functionName: bss_get
    functionSourceFile: /src/hostap/wlantest/bss.c
    functionUses: 35
    functionsReached:
    - os_memcpy
    - wpa_printf
    - bss_find
    - MAC2STR
    - os_zalloc
    - dl_list_add
    - dl_list_init
    linkageType: ''
    returnType: struct wlantest_bss
    signature: struct wlantest_bss * bss_get(struct wlantest *wt, const u8 *bssid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_del
      Src: /src/hostap/wlantest/bss.c:75,1
    - Dst: os_free
      Src: /src/hostap/wlantest/bss.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pmk
    argTypes:
    - struct wlantest_pmk*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: pmk_deinit
    functionSourceFile: /src/hostap/wlantest/bss.c
    functionUses: 0
    functionsReached:
    - os_free
    - dl_list_del
    linkageType: ''
    returnType: void
    signature: void pmk_deinit(struct wlantest_pmk *pmk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_del
      Src: /src/hostap/wlantest/bss.c:82,1
    - Dst: os_free
      Src: /src/hostap/wlantest/bss.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tdls
    argTypes:
    - struct wlantest_tdls*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: tdls_deinit
    functionSourceFile: /src/hostap/wlantest/bss.c
    functionUses: 2
    functionsReached:
    - os_free
    - dl_list_del
    linkageType: ''
    returnType: void
    signature: void tdls_deinit(struct wlantest_tdls *tdls)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/wlantest/bss.c:92,1
    - Dst: sta_deinit
      Src: /src/hostap/wlantest/bss.c:93,1
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/wlantest/bss.c:94,1
    - Dst: pmk_deinit
      Src: /src/hostap/wlantest/bss.c:95,1
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/wlantest/bss.c:96,1
    - Dst: tdls_deinit
      Src: /src/hostap/wlantest/bss.c:97,1
    - Dst: dl_list_del
      Src: /src/hostap/wlantest/bss.c:98,1
    - Dst: os_free
      Src: /src/hostap/wlantest/bss.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - bss
    argTypes:
    - struct wlantest_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 100
    functionName: bss_deinit
    functionSourceFile: /src/hostap/wlantest/bss.c
    functionUses: 1
    functionsReached:
    - dl_list_del
    - pmk_deinit
    - os_free
    - sta_deinit
    - tdls_deinit
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: void bss_deinit(struct wlantest_bss *bss)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/wlantest/bss.c:108,1
    - Dst: pbkdf2_sha1
      Src: /src/hostap/wlantest/bss.c:111,1
    - Dst: os_free
      Src: /src/hostap/wlantest/bss.c:113,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/bss.c:117,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/bss.c:119,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/bss.c:120,1
    - Dst: dl_list_add
      Src: /src/hostap/wlantest/bss.c:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - bss
    - passphrase
    argTypes:
    - struct wlantest_bss*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 125
    functionName: bss_add_pmk_from_passphrase
    functionSourceFile: /src/hostap/wlantest/bss.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    - pbkdf2_sha1
    - os_zalloc
    - MAC2STR
    - dl_list_add
    - os_free
    linkageType: ''
    returnType: int
    signature: "int bss_add_pmk_from_passphrase(struct wlantest_bss *bss,\n\t\t\t\tconst
      char *passphrase)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/wlantest/bss.c:132,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wlantest/bss.c:134,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wlantest/bss.c:135,1
    - Dst: os_memcmp
      Src: /src/hostap/wlantest/bss.c:139,1
    - Dst: bss_add_pmk_from_passphrase
      Src: /src/hostap/wlantest/bss.c:142,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 2
    argNames:
    - wt
    - bss
    argTypes:
    - struct wlantest*
    - struct wlantest_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 145
    functionName: bss_add_pmk
    functionSourceFile: /src/hostap/wlantest/bss.c
    functionUses: 0
    functionsReached:
    - bss_add_pmk_from_passphrase
    - is_zero_ether_addr
    - ether_addr_equal
    - dl_list_for_each
    - os_memcmp
    linkageType: ''
    returnType: void
    signature: void bss_add_pmk(struct wlantest *wt, struct wlantest_bss *bss)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/bss.c:158,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/bss.c:161,1
    - Dst: os_memcmp
      Src: /src/hostap/wlantest/bss.c:168,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/bss.c:169,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/wlantest/bss.c:170,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/bss.c:171,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/bss.c:172,1
    - Dst: bss_add_pmk
      Src: /src/hostap/wlantest/bss.c:174,1
    - Dst: add_note
      Src: /src/hostap/wlantest/bss.c:183,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/bss.c:184,1
    - Dst: os_memcmp
      Src: /src/hostap/wlantest/bss.c:190,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/bss.c:192,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/bss.c:193,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/bss.c:194,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/bss.c:198,1
    - Dst: add_note
      Src: /src/hostap/wlantest/bss.c:204,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/bss.c:205,1
    - Dst: os_memcmp
      Src: /src/hostap/wlantest/bss.c:211,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/bss.c:213,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/bss.c:214,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/bss.c:215,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/bss.c:219,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/bss.c:224,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wlantest/bss.c:228,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/bss.c:231,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/bss.c:233,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/bss.c:236,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/bss.c:236,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wlantest/bss.c:242,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/bss.c:247,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/bss.c:250,1
    - Dst: wpa_parse_wpa_ie_wpa
      Src: /src/hostap/wlantest/bss.c:275,1
    - Dst: add_note
      Src: /src/hostap/wlantest/bss.c:277,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/bss.c:278,1
    - Dst: wpa_parse_wpa_ie_rsn
      Src: /src/hostap/wlantest/bss.c:290,1
    - Dst: add_note
      Src: /src/hostap/wlantest/bss.c:292,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/bss.c:293,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/bss.c:312,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/bss.c:319,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 102
    argCount: 4
    argNames:
    - wt
    - bss
    - elems
    - beacon
    argTypes:
    - struct wlantest*
    - struct wlantest_bss*
    - struct ieee802_11_elems*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 148
    functionDepth: 3
    functionLinenumber: 148
    functionLinenumberEnd: 384
    functionName: bss_update
    functionSourceFile: /src/hostap/wlantest/bss.c
    functionUses: 3
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_hexdump
    - wpa_ssid_txt
    - is_zero_ether_addr
    - wpa_parse_wpa_ie_rsn
    - WPA_GET_LE16
    - add_note
    - wpa_parse_wpa_ie_wpa
    - MAC2STR
    - os_memcmp
    - bss_add_pmk
    linkageType: ''
    returnType: void
    signature: "void bss_update(struct wlantest *wt, struct wlantest_bss *bss,\n\t\tstruct
      ieee802_11_elems *elems, int beacon)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/wlantest/bss.c:390,1
    - Dst: bss_deinit
      Src: /src/hostap/wlantest/bss.c:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - wt
    argTypes:
    - struct wlantest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 387
    functionDepth: 3
    functionLinenumber: 387
    functionLinenumberEnd: 392
    functionName: bss_flush
    functionSourceFile: /src/hostap/wlantest/bss.c
    functionUses: 7
    functionsReached:
    - bss_deinit
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: void bss_flush(struct wlantest *wt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eloop_terminate
      Src: /src/hostap/wlantest/wlantest.c:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sig
    - signal_ctx
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: wlantest_terminate
    functionSourceFile: /src/hostap/wlantest/wlantest.c
    functionUses: 0
    functionsReached:
    - eloop_terminate
    linkageType: ''
    returnType: void
    signature: void wlantest_terminate(int sig, void *signal_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/wlantest/wlantest.c:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 31
    functionName: usage
    functionSourceFile: /src/hostap/wlantest/wlantest.c
    functionUses: 7
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_del
      Src: /src/hostap/wlantest/wlantest.c:36,1
    - Dst: os_free
      Src: /src/hostap/wlantest/wlantest.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct wlantest_passphrase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: passphrase_deinit
    functionSourceFile: /src/hostap/wlantest/wlantest.c
    functionUses: 0
    functionsReached:
    - os_free
    - dl_list_del
    linkageType: ''
    returnType: void
    signature: void passphrase_deinit(struct wlantest_passphrase *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_del
      Src: /src/hostap/wlantest/wlantest.c:43,1
    - Dst: os_free
      Src: /src/hostap/wlantest/wlantest.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - struct wlantest_radius_secret*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: secret_deinit
    functionSourceFile: /src/hostap/wlantest/wlantest.c
    functionUses: 0
    functionsReached:
    - os_free
    - dl_list_del
    linkageType: ''
    returnType: void
    signature: void secret_deinit(struct wlantest_radius_secret *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/wlantest/wlantest.c:51,1
    - Dst: dl_list_init
      Src: /src/hostap/wlantest/wlantest.c:56,1
    - Dst: dl_list_init
      Src: /src/hostap/wlantest/wlantest.c:57,1
    - Dst: dl_list_init
      Src: /src/hostap/wlantest/wlantest.c:58,1
    - Dst: dl_list_init
      Src: /src/hostap/wlantest/wlantest.c:59,1
    - Dst: dl_list_init
      Src: /src/hostap/wlantest/wlantest.c:60,1
    - Dst: dl_list_init
      Src: /src/hostap/wlantest/wlantest.c:61,1
    - Dst: dl_list_init
      Src: /src/hostap/wlantest/wlantest.c:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - wt
    argTypes:
    - struct wlantest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 63
    functionName: wlantest_init
    functionSourceFile: /src/hostap/wlantest/wlantest.c
    functionUses: 0
    functionsReached:
    - dl_list_init
    - os_memset
    linkageType: ''
    returnType: void
    signature: void wlantest_init(struct wlantest *wt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_del
      Src: /src/hostap/wlantest/wlantest.c:68,1
    - Dst: os_free
      Src: /src/hostap/wlantest/wlantest.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - struct wlantest_radius*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: radius_deinit
    functionSourceFile: /src/hostap/wlantest/wlantest.c
    functionUses: 0
    functionsReached:
    - os_free
    - dl_list_del
    linkageType: ''
    returnType: void
    signature: void radius_deinit(struct wlantest_radius *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_del
      Src: /src/hostap/wlantest/wlantest.c:75,1
    - Dst: os_free
      Src: /src/hostap/wlantest/wlantest.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptk
    argTypes:
    - struct wlantest_ptk*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: ptk_deinit
    functionSourceFile: /src/hostap/wlantest/wlantest.c
    functionUses: 0
    functionsReached:
    - os_free
    - dl_list_del
    linkageType: ''
    returnType: void
    signature: void ptk_deinit(struct wlantest_ptk *ptk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_del
      Src: /src/hostap/wlantest/wlantest.c:82,1
    - Dst: os_free
      Src: /src/hostap/wlantest/wlantest.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - wep
    argTypes:
    - struct wlantest_wep*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: wep_deinit
    functionSourceFile: /src/hostap/wlantest/wlantest.c
    functionUses: 0
    functionsReached:
    - os_free
    - dl_list_del
    linkageType: ''
    returnType: void
    signature: void wep_deinit(struct wlantest_wep *wep)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ctrl_deinit
      Src: /src/hostap/wlantest/wlantest.c:97,1
    - Dst: monitor_deinit
      Src: /src/hostap/wlantest/wlantest.c:99,1
    - Dst: bss_flush
      Src: /src/hostap/wlantest/wlantest.c:100,1
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/wlantest/wlantest.c:101,1
    - Dst: passphrase_deinit
      Src: /src/hostap/wlantest/wlantest.c:103,1
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/wlantest/wlantest.c:104,1
    - Dst: secret_deinit
      Src: /src/hostap/wlantest/wlantest.c:106,1
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/wlantest/wlantest.c:107,1
    - Dst: radius_deinit
      Src: /src/hostap/wlantest/wlantest.c:108,1
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/wlantest/wlantest.c:109,1
    - Dst: pmk_deinit
      Src: /src/hostap/wlantest/wlantest.c:110,1
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/wlantest/wlantest.c:111,1
    - Dst: ptk_deinit
      Src: /src/hostap/wlantest/wlantest.c:112,1
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/wlantest/wlantest.c:113,1
    - Dst: wep_deinit
      Src: /src/hostap/wlantest/wlantest.c:114,1
    - Dst: write_pcap_deinit
      Src: /src/hostap/wlantest/wlantest.c:115,1
    - Dst: write_pcapng_deinit
      Src: /src/hostap/wlantest/wlantest.c:116,1
    - Dst: clear_notes
      Src: /src/hostap/wlantest/wlantest.c:117,1
    - Dst: os_free
      Src: /src/hostap/wlantest/wlantest.c:118,1
    - Dst: wpabuf_free
      Src: /src/hostap/wlantest/wlantest.c:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - wt
    argTypes:
    - struct wlantest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 87
    functionDepth: 4
    functionLinenumber: 87
    functionLinenumberEnd: 122
    functionName: wlantest_deinit
    functionSourceFile: /src/hostap/wlantest/wlantest.c
    functionUses: 0
    functionsReached:
    - radius_deinit
    - write_pcap_deinit
    - passphrase_deinit
    - ptk_deinit
    - pmk_deinit
    - wep_deinit
    - write_pcapng_deinit
    - clear_notes
    - monitor_deinit
    - wpabuf_free
    - bss_flush
    - secret_deinit
    - os_free
    - ctrl_deinit
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: void wlantest_deinit(struct wlantest *wt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/wlantest/wlantest.c:128,1
    - Dst: os_zalloc
      Src: /src/hostap/wlantest/wlantest.c:132,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/wlantest.c:135,1
    - Dst: dl_list_add
      Src: /src/hostap/wlantest/wlantest.c:136,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - wt
    - passphrase
    argTypes:
    - struct wlantest*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 137
    functionName: add_passphrase
    functionSourceFile: /src/hostap/wlantest/wlantest.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_zalloc
    - dl_list_add
    - os_memcpy
    linkageType: ''
    returnType: void
    signature: void add_passphrase(struct wlantest *wt, const char *passphrase)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/wlantest/wlantest.c:143,1
    - Dst: os_zalloc
      Src: /src/hostap/wlantest/wlantest.c:147,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/wlantest.c:150,1
    - Dst: dl_list_add
      Src: /src/hostap/wlantest/wlantest.c:151,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - wt
    - secret
    argTypes:
    - struct wlantest*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 152
    functionName: add_secret
    functionSourceFile: /src/hostap/wlantest/wlantest.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_zalloc
    - dl_list_add
    - os_memcpy
    linkageType: ''
    returnType: void
    signature: void add_secret(struct wlantest *wt, const char *secret)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/hostap/wlantest/wlantest.c:163,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/wlantest.c:165,1
    - Dst: fgets
      Src: /src/hostap/wlantest/wlantest.c:169,1
    - Dst: hexstr2bin
      Src: /src/hostap/wlantest/wlantest.c:179,1
    - Dst: os_zalloc
      Src: /src/hostap/wlantest/wlantest.c:181,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/wlantest.c:184,1
    - Dst: dl_list_add
      Src: /src/hostap/wlantest/wlantest.c:186,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/wlantest.c:187,1
    - Dst: hexstr2bin
      Src: /src/hostap/wlantest/wlantest.c:190,1
    - Dst: os_zalloc
      Src: /src/hostap/wlantest/wlantest.c:192,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/wlantest.c:195,1
    - Dst: dl_list_add
      Src: /src/hostap/wlantest/wlantest.c:197,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/wlantest.c:198,1
    - Dst: fclose
      Src: /src/hostap/wlantest/wlantest.c:202,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 37
    argCount: 2
    argNames:
    - wt
    - pmk_file
    argTypes:
    - struct wlantest*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 204
    functionName: add_pmk_file
    functionSourceFile: /src/hostap/wlantest/wlantest.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_hexdump
    - hexstr2bin
    - fclose
    - os_zalloc
    - dl_list_add
    - fopen
    - fgets
    linkageType: ''
    returnType: int
    signature: int add_pmk_file(struct wlantest *wt, const char *pmk_file)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/hostap/wlantest/wlantest.c:215,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/wlantest.c:217,1
    - Dst: fgets
      Src: /src/hostap/wlantest/wlantest.c:221,1
    - Dst: hexstr2bin
      Src: /src/hostap/wlantest/wlantest.c:234,1
    - Dst: os_zalloc
      Src: /src/hostap/wlantest/wlantest.c:236,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/wlantest.c:240,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/wlantest.c:244,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/wlantest.c:246,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/wlantest.c:248,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/wlantest.c:252,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/wlantest.c:254,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/wlantest.c:256,1
    - Dst: dl_list_add
      Src: /src/hostap/wlantest/wlantest.c:260,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/wlantest.c:261,1
    - Dst: fclose
      Src: /src/hostap/wlantest/wlantest.c:264,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 49
    argCount: 2
    argNames:
    - wt
    - ptk_file
    argTypes:
    - struct wlantest*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 266
    functionName: add_ptk_file
    functionSourceFile: /src/hostap/wlantest/wlantest.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_hexdump
    - hexstr2bin
    - fclose
    - os_zalloc
    - dl_list_add
    - fopen
    - fgets
    linkageType: ''
    returnType: int
    signature: int add_ptk_file(struct wlantest *wt, const char *ptk_file)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/wlantest/wlantest.c:272,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/wlantest.c:275,1
    - Dst: os_zalloc
      Src: /src/hostap/wlantest/wlantest.c:278,1
    - Dst: hexstr2bin
      Src: /src/hostap/wlantest/wlantest.c:281,1
    - Dst: os_free
      Src: /src/hostap/wlantest/wlantest.c:282,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/wlantest.c:283,1
    - Dst: dl_list_add
      Src: /src/hostap/wlantest/wlantest.c:287,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - wt
    - key
    argTypes:
    - struct wlantest*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 289
    functionName: add_wep
    functionSourceFile: /src/hostap/wlantest/wlantest.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - hexstr2bin
    - os_zalloc
    - dl_list_add
    - os_free
    linkageType: ''
    returnType: int
    signature: int add_wep(struct wlantest *wt, const char *key)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/wlantest/wlantest.c:301,1
    - Dst: va_start
      Src: /src/hostap/wlantest/wlantest.c:304,1
    - Dst: vsnprintf
      Src: /src/hostap/wlantest/wlantest.c:305,1
    - Dst: va_end
      Src: /src/hostap/wlantest/wlantest.c:306,1
    - Dst: os_free
      Src: /src/hostap/wlantest/wlantest.c:308,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/wlantest.c:314,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - wt
    - level
    - fmt
    argTypes:
    - struct wlantest*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 316
    functionName: add_note
    functionSourceFile: /src/hostap/wlantest/wlantest.c
    functionUses: 57
    functionsReached:
    - wpa_printf
    - os_malloc
    - vsnprintf
    - va_end
    - va_start
    - os_free
    linkageType: ''
    returnType: void
    signature: void add_note(struct wlantest *wt, int level, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/wlantest/wlantest.c:324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - wt
    argTypes:
    - struct wlantest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 329
    functionName: clear_notes
    functionSourceFile: /src/hostap/wlantest/wlantest.c
    functionUses: 2
    functionsReached:
    - os_free
    linkageType: ''
    returnType: void
    signature: void clear_notes(struct wlantest *wt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/wlantest/wlantest.c:338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wt
    - hdrlen
    argTypes:
    - struct wlantest*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 341
    functionName: notes_len
    functionSourceFile: /src/hostap/wlantest/wlantest.c
    functionUses: 2
    functionsReached:
    - os_strlen
    linkageType: ''
    returnType: size_t
    signature: size_t notes_len(struct wlantest *wt, size_t hdrlen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/wlantest/wlantest.c:352,1
    - Dst: add_note
      Src: /src/hostap/wlantest/wlantest.c:353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - wt
    - decrypted
    - tk
    - tk_len
    - keyid
    argTypes:
    - struct wlantest*
    - u8*
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 354
    functionName: write_decrypted_note
    functionSourceFile: /src/hostap/wlantest/wlantest.c
    functionUses: 5
    functionsReached:
    - wpa_snprintf_hex
    - add_note
    linkageType: ''
    returnType: void
    signature: "void write_decrypted_note(struct wlantest *wt, const u8 *decrypted,\n\t\t\t
      \ const u8 *tk, size_t tk_len, int keyid)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/wlantest.c:361,1
    - Dst: wpa_debug_reopen_file
      Src: /src/hostap/wlantest/wlantest.c:362,1
    - Dst: write_pcap_deinit
      Src: /src/hostap/wlantest/wlantest.c:366,1
    - Dst: write_pcap_init
      Src: /src/hostap/wlantest/wlantest.c:367,1
    - Dst: write_pcapng_deinit
      Src: /src/hostap/wlantest/wlantest.c:372,1
    - Dst: write_pcapng_init
      Src: /src/hostap/wlantest/wlantest.c:373,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - wt
    argTypes:
    - struct wlantest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 378
    functionName: wlantest_relog
    functionSourceFile: /src/hostap/wlantest/wlantest.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - write_pcap_deinit
    - wpa_debug_reopen_file
    - write_pcapng_deinit
    - write_pcapng_init
    - write_pcap_init
    linkageType: ''
    returnType: int
    signature: int wlantest_relog(struct wlantest *wt)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: os_program_init
      Src: /src/hostap/wlantest/wlantest.c:398,1
    - Dst: wlantest_init
      Src: /src/hostap/wlantest/wlantest.c:401,1
    - Dst: getopt
      Src: /src/hostap/wlantest/wlantest.c:404,1
    - Dst: add_pmk_file
      Src: /src/hostap/wlantest/wlantest.c:419,1
    - Dst: usage
      Src: /src/hostap/wlantest/wlantest.c:428,1
    - Dst: add_passphrase
      Src: /src/hostap/wlantest/wlantest.c:447,1
    - Dst: add_secret
      Src: /src/hostap/wlantest/wlantest.c:450,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/wlantest.c:457,1
    - Dst: add_ptk_file
      Src: /src/hostap/wlantest/wlantest.c:471,1
    - Dst: add_wep
      Src: /src/hostap/wlantest/wlantest.c:480,1
    - Dst: usage
      Src: /src/hostap/wlantest/wlantest.c:486,1
    - Dst: usage
      Src: /src/hostap/wlantest/wlantest.c:494,1
    - Dst: eloop_init
      Src: /src/hostap/wlantest/wlantest.c:499,1
    - Dst: wpa_debug_open_file
      Src: /src/hostap/wlantest/wlantest.c:506,1
    - Dst: write_pcap_init
      Src: /src/hostap/wlantest/wlantest.c:508,1
    - Dst: write_pcapng_init
      Src: /src/hostap/wlantest/wlantest.c:509,1
    - Dst: read_wired_cap_file
      Src: /src/hostap/wlantest/wlantest.c:511,1
    - Dst: read_cap_file
      Src: /src/hostap/wlantest/wlantest.c:518,1
    - Dst: monitor_init
      Src: /src/hostap/wlantest/wlantest.c:524,1
    - Dst: monitor_init_wired
      Src: /src/hostap/wlantest/wlantest.c:525,1
    - Dst: ctrl_init
      Src: /src/hostap/wlantest/wlantest.c:526,1
    - Dst: eloop_register_signal_terminate
      Src: /src/hostap/wlantest/wlantest.c:531,1
    - Dst: eloop_run
      Src: /src/hostap/wlantest/wlantest.c:533,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/wlantest.c:535,1
    - Dst: wlantest_deinit
      Src: /src/hostap/wlantest/wlantest.c:540,1
    - Dst: wpa_debug_close_file
      Src: /src/hostap/wlantest/wlantest.c:542,1
    - Dst: eloop_destroy
      Src: /src/hostap/wlantest/wlantest.c:544,1
    - Dst: os_program_deinit
      Src: /src/hostap/wlantest/wlantest.c:545,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 139
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 381
    functionDepth: 5
    functionLinenumber: 381
    functionLinenumberEnd: 548
    functionName: main
    functionSourceFile: /src/hostap/wlantest/wlantest.c
    functionUses: 1
    functionsReached:
    - os_program_init
    - monitor_init_wired
    - ctrl_init
    - wpa_debug_open_file
    - add_ptk_file
    - wlantest_deinit
    - write_pcap_init
    - os_program_deinit
    - eloop_run
    - monitor_init
    - wpa_printf
    - getopt
    - add_passphrase
    - read_wired_cap_file
    - eloop_destroy
    - usage
    - add_pmk_file
    - add_secret
    - add_wep
    - write_pcapng_init
    - wlantest_init
    - read_cap_file
    - wpa_debug_close_file
    - eloop_register_signal_terminate
    - eloop_init
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/wlantest/wired.c:24,1
    - Dst: os_zalloc
      Src: /src/hostap/wlantest/wired.c:29,1
    - Dst: dl_list_add
      Src: /src/hostap/wlantest/wired.c:35,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - wt
    - srv
    - cli
    argTypes:
    - struct wlantest*
    - u32
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 38
    functionName: radius_get
    functionSourceFile: /src/hostap/wlantest/wired.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    - os_zalloc
    - dl_list_add
    linkageType: ''
    returnType: struct wlantest_radius
    signature: "struct wlantest_radius * radius_get(struct wlantest *wt, u32 srv,\n\t\t\t\t\t
      \  u32 cli)"
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 1
    argNames:
    - code
    argTypes:
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 65
    functionName: radius_code_string
    functionSourceFile: /src/hostap/wlantest/wired.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * radius_code_string(u8 code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: radius_msg_parse
      Src: /src/hostap/wlantest/wired.c:74,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/wired.c:76,1
    - Dst: radius_get
      Src: /src/hostap/wlantest/wired.c:80,1
    - Dst: radius_msg_free
      Src: /src/hostap/wlantest/wired.c:82,1
    - Dst: radius_msg_free
      Src: /src/hostap/wlantest/wired.c:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - wt
    - dst
    - src
    - data
    - len
    argTypes:
    - struct wlantest*
    - u32
    - u32
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 87
    functionName: process_radius_access_request
    functionSourceFile: /src/hostap/wlantest/wired.c
    functionUses: 0
    functionsReached:
    - radius_msg_free
    - radius_msg_parse
    - radius_get
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: "void process_radius_access_request(struct wlantest *wt, u32 dst,\n\t\t\t\t\t
      \ u32 src, const u8 *data, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/wlantest/wired.c:94,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/wired.c:97,1
    - Dst: dl_list_add
      Src: /src/hostap/wlantest/wired.c:99,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/wired.c:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - wt
    - pmk
    - pmk_len
    argTypes:
    - struct wlantest*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 101
    functionName: wlantest_add_pmk
    functionSourceFile: /src/hostap/wlantest/wired.c
    functionUses: 0
    functionsReached:
    - os_zalloc
    - dl_list_add
    - os_memcpy
    - wpa_hexdump
    linkageType: ''
    returnType: void
    signature: void wlantest_add_pmk(struct wlantest *wt, const u8 *pmk, size_t pmk_len)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: radius_get
      Src: /src/hostap/wlantest/wired.c:112,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/wired.c:114,1
    - Dst: radius_msg_parse
      Src: /src/hostap/wlantest/wired.c:119,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/wired.c:121,1
    - Dst: dl_list_for_each
      Src: /src/hostap/wlantest/wired.c:125,1
    - Dst: radius_msg_get_ms_keys
      Src: /src/hostap/wlantest/wired.c:127,1
    - Dst: os_strlen
      Src: /src/hostap/wlantest/wired.c:129,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/wlantest/wired.c:134,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/wlantest/wired.c:136,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/wired.c:141,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/wired.c:146,1
    - Dst: wlantest_add_pmk
      Src: /src/hostap/wlantest/wired.c:149,1
    - Dst: os_free
      Src: /src/hostap/wlantest/wired.c:154,1
    - Dst: os_free
      Src: /src/hostap/wlantest/wired.c:155,1
    - Dst: os_free
      Src: /src/hostap/wlantest/wired.c:156,1
    - Dst: radius_msg_free
      Src: /src/hostap/wlantest/wired.c:163,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 5
    argNames:
    - wt
    - dst
    - src
    - data
    - len
    argTypes:
    - struct wlantest*
    - u32
    - u32
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 164
    functionName: process_radius_access_accept
    functionSourceFile: /src/hostap/wlantest/wired.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - wpa_hexdump_key
    - os_memcpy
    - dl_list_for_each
    - radius_msg_parse
    - radius_get
    - os_free
    - radius_msg_free
    - radius_msg_get_ms_keys
    - wlantest_add_pmk
    linkageType: ''
    returnType: void
    signature: "void process_radius_access_accept(struct wlantest *wt, u32 dst, u32
      src,\n\t\t\t\t\t const u8 *data, size_t len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: be_to_host16
      Src: /src/hostap/wlantest/wired.c:178,1
    - Dst: snprintf
      Src: /src/hostap/wlantest/wired.c:185,1
    - Dst: inet_ntoa
      Src: /src/hostap/wlantest/wired.c:185,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/wired.c:188,1
    - Dst: inet_ntoa
      Src: /src/hostap/wlantest/wired.c:189,1
    - Dst: radius_code_string
      Src: /src/hostap/wlantest/wired.c:190,1
    - Dst: process_radius_access_request
      Src: /src/hostap/wlantest/wired.c:194,1
    - Dst: process_radius_access_accept
      Src: /src/hostap/wlantest/wired.c:197,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 7
    argNames:
    - wt
    - dst
    - dport
    - src
    - sport
    - data
    - len
    argTypes:
    - struct wlantest*
    - u32
    - u16
    - u32
    - u16
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 167
    functionDepth: 3
    functionLinenumber: 167
    functionLinenumberEnd: 200
    functionName: process_radius
    functionSourceFile: /src/hostap/wlantest/wired.c
    functionUses: 0
    functionsReached:
    - be_to_host16
    - snprintf
    - wpa_printf
    - radius_code_string
    - process_radius_access_accept
    - process_radius_access_request
    - inet_ntoa
    linkageType: ''
    returnType: void
    signature: "void process_radius(struct wlantest *wt, u32 dst, u16 dport, u32 src,\n\t\t\t
      \  u16 sport, const u8 *data, size_t len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: be_to_host16
      Src: /src/hostap/wlantest/wired.c:215,1
    - Dst: be_to_host16
      Src: /src/hostap/wlantest/wired.c:216,1
    - Dst: be_to_host16
      Src: /src/hostap/wlantest/wired.c:217,1
    - Dst: process_radius
      Src: /src/hostap/wlantest/wired.c:228,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 5
    argNames:
    - wt
    - dst
    - src
    - data
    - len
    argTypes:
    - struct wlantest*
    - u32
    - u32
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 203
    functionDepth: 4
    functionLinenumber: 203
    functionLinenumberEnd: 229
    functionName: process_udp
    functionSourceFile: /src/hostap/wlantest/wired.c
    functionUses: 0
    functionsReached:
    - be_to_host16
    - process_radius
    linkageType: ''
    returnType: void
    signature: "void process_udp(struct wlantest *wt, u32 dst, u32 src,\n\t\t\tconst
      u8 *data, size_t len)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: be_to_host16
      Src: /src/hostap/wlantest/wired.c:250,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/wired.c:252,1
    - Dst: be_to_host16
      Src: /src/hostap/wlantest/wired.c:257,1
    - Dst: process_udp
      Src: /src/hostap/wlantest/wired.c:270,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 3
    argNames:
    - wt
    - data
    - len
    argTypes:
    - struct wlantest*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 232
    functionDepth: 5
    functionLinenumber: 232
    functionLinenumberEnd: 274
    functionName: process_ipv4
    functionSourceFile: /src/hostap/wlantest/wired.c
    functionUses: 0
    functionsReached:
    - be_to_host16
    - wpa_printf
    - process_udp
    linkageType: ''
    returnType: void
    signature: void process_ipv4(struct wlantest *wt, const u8 *data, size_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/wired.c:282,1
    - Dst: be_to_host16
      Src: /src/hostap/wlantest/wired.c:288,1
    - Dst: process_ipv4
      Src: /src/hostap/wlantest/wired.c:292,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - wt
    - data
    - len
    argTypes:
    - struct wlantest*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 277
    functionDepth: 6
    functionLinenumber: 277
    functionLinenumberEnd: 295
    functionName: wlantest_process_wired
    functionSourceFile: /src/hostap/wlantest/wired.c
    functionUses: 1
    functionsReached:
    - be_to_host16
    - process_ipv4
    - wpa_hexdump
    linkageType: ''
    returnType: void
    signature: void wlantest_process_wired(struct wlantest *wt, const u8 *data, size_t
      len)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 31
    functionName: is_zero
    functionSourceFile: /src/hostap/wlantest/rx_eapol.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_zero(const u8 *buf, size_t len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_key_mgmt_sae_ext_key
      Src: /src/hostap/wlantest/rx_eapol.c:40,1
    - Dst: wpa_mic_len
      Src: /src/hostap/wlantest/rx_eapol.c:60,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - sta
    argTypes:
    - struct wlantest_sta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 61
    functionName: determine_mic_len
    functionSourceFile: /src/hostap/wlantest/rx_eapol.c
    functionUses: 0
    functionsReached:
    - wpa_key_mgmt_sae_ext_key
    - wpa_mic_len
    linkageType: ''
    returnType: size_t
    signature: size_t determine_mic_len(struct wlantest_sta *sta)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: determine_mic_len
      Src: /src/hostap/wlantest/rx_eapol.c:72,1
    - Dst: os_memdup
      Src: /src/hostap/wlantest/rx_eapol.c:74,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_eapol.c:80,1
    - Dst: os_memset
      Src: /src/hostap/wlantest/rx_eapol.c:81,1
    - Dst: wpa_eapol_key_mic
      Src: /src/hostap/wlantest/rx_eapol.c:83,1
    - Dst: os_memcmp
      Src: /src/hostap/wlantest/rx_eapol.c:86,1
    - Dst: os_free
      Src: /src/hostap/wlantest/rx_eapol.c:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 6
    argNames:
    - sta
    - kck
    - kck_len
    - ver
    - data
    - len
    argTypes:
    - struct wlantest_sta*
    - u8*
    - size_t
    - int
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 92
    functionName: check_mic
    functionSourceFile: /src/hostap/wlantest/rx_eapol.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - os_memdup
    - os_memcmp
    - determine_mic_len
    - os_free
    - wpa_eapol_key_mic
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int check_mic(struct wlantest_sta *sta, const u8 *kck, size_t kck_len,\n\t\t
      \    int ver, const u8 *data, size_t len)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_eapol.c:108,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_eapol.c:110,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_eapol.c:110,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_eapol.c:110,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wlantest/rx_eapol.c:111,1
    - Dst: bss_get
      Src: /src/hostap/wlantest/rx_eapol.c:112,1
    - Dst: bss_find
      Src: /src/hostap/wlantest/rx_eapol.c:114,1
    - Dst: bss_find
      Src: /src/hostap/wlantest/rx_eapol.c:115,1
    - Dst: sta_find
      Src: /src/hostap/wlantest/rx_eapol.c:116,1
    - Dst: bss_get
      Src: /src/hostap/wlantest/rx_eapol.c:117,1
    - Dst: bss_get
      Src: /src/hostap/wlantest/rx_eapol.c:119,1
    - Dst: sta_get
      Src: /src/hostap/wlantest/rx_eapol.c:123,1
    - Dst: determine_mic_len
      Src: /src/hostap/wlantest/rx_eapol.c:130,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:132,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_eapol.c:133,1
    - Dst: is_zero
      Src: /src/hostap/wlantest/rx_eapol.c:138,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:139,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_eapol.c:140,1
    - Dst: is_zero
      Src: /src/hostap/wlantest/rx_eapol.c:142,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:143,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_eapol.c:144,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_eapol.c:146,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:148,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_eapol.c:150,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/wlantest/rx_eapol.c:155,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:157,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_eapol.c:159,1
    - Dst: wpa_parse_kde_ies
      Src: /src/hostap/wlantest/rx_eapol.c:163,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:164,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wlantest/rx_eapol.c:169,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_eapol.c:170,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_eapol.c:172,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wlantest/rx_eapol.c:173,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_eapol.c:174,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_eapol.c:177,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_eapol.c:178,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_eapol.c:180,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 57
    argCount: 6
    argNames:
    - wt
    - dst
    - src
    - bssid
    - data
    - len
    argTypes:
    - struct wlantest*
    - u8*
    - u8*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 95
    functionDepth: 3
    functionLinenumber: 95
    functionLinenumberEnd: 182
    functionName: rx_data_eapol_key_1_of_4
    functionSourceFile: /src/hostap/wlantest/rx_eapol.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - WPA_GET_BE16
    - is_zero
    - bss_find
    - ether_addr_equal
    - is_zero_ether_addr
    - add_note
    - MAC2STR
    - wpa_parse_kde_ies
    - bss_get
    - determine_mic_len
    - sta_find
    - sta_get
    linkageType: ''
    returnType: void
    signature: "void rx_data_eapol_key_1_of_4(struct wlantest *wt, const u8 *dst,\n\t\t\t\t
      \    const u8 *src, const u8 *bssid,\n\t\t\t\t     const u8 *data, size_t len)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wlantest/rx_eapol.c:197,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wlantest/rx_eapol.c:198,1
    - Dst: ieee802_11_rsnx_capab_len
      Src: /src/hostap/wlantest/rx_eapol.c:211,1
    - Dst: ieee802_11_rsnx_capab_len
      Src: /src/hostap/wlantest/rx_eapol.c:213,1
    - Dst: wpa_key_mgmt_ft
      Src: /src/hostap/wlantest/rx_eapol.c:219,1
    - Dst: wpa_key_mgmt_sha384
      Src: /src/hostap/wlantest/rx_eapol.c:221,1
    - Dst: wpa_derive_pmk_r0
      Src: /src/hostap/wlantest/rx_eapol.c:223,1
    - Dst: wpa_key_mgmt_sae_ext_key
      Src: /src/hostap/wlantest/rx_eapol.c:229,1
    - Dst: wpa_derive_pmk_r1
      Src: /src/hostap/wlantest/rx_eapol.c:234,1
    - Dst: wpa_pmk_r1_to_ptk
      Src: /src/hostap/wlantest/rx_eapol.c:240,1
    - Dst: check_mic
      Src: /src/hostap/wlantest/rx_eapol.c:245,1
    - Dst: wpa_pmk_to_ptk
      Src: /src/hostap/wlantest/rx_eapol.c:247,1
    - Dst: check_mic
      Src: /src/hostap/wlantest/rx_eapol.c:252,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_eapol.c:257,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_eapol.c:259,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_eapol.c:259,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_eapol.c:260,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_eapol.c:260,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_eapol.c:262,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_eapol.c:264,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_eapol.c:264,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:272,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_eapol.c:273,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_eapol.c:274,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_eapol.c:276,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_eapol.c:278,1
    - Dst: sta_new_ptk
      Src: /src/hostap/wlantest/rx_eapol.c:283,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 7
    argNames:
    - wt
    - bss
    - sta
    - ver
    - data
    - len
    - pmk
    argTypes:
    - struct wlantest*
    - struct wlantest_bss*
    - struct wlantest_sta*
    - u16
    - u8*
    - size_t
    - struct wlantest_pmk*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 185
    functionDepth: 3
    functionLinenumber: 185
    functionLinenumberEnd: 285
    functionName: try_pmk
    functionSourceFile: /src/hostap/wlantest/rx_eapol.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_key_mgmt_sae_ext_key
    - wpa_derive_pmk_r1
    - wpa_hexdump
    - is_zero_ether_addr
    - ieee802_11_rsnx_capab_len
    - wpa_key_mgmt_sha384
    - wpa_key_mgmt_ft
    - wpa_pmk_to_ptk
    - add_note
    - MAC2STR
    - wpa_derive_pmk_r0
    - wpa_pmk_r1_to_ptk
    - sta_new_ptk
    - check_mic
    linkageType: ''
    returnType: int
    signature: "int try_pmk(struct wlantest *wt, struct wlantest_bss *bss,\n\t\t   struct
      wlantest_sta *sta, u16 ver,\n\t\t   const u8 *data, size_t len,\n\t\t   struct
      wlantest_pmk *pmk)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_eapol.c:294,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_eapol.c:296,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_eapol.c:296,1
    - Dst: dl_list_for_each
      Src: /src/hostap/wlantest/rx_eapol.c:297,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_eapol.c:298,1
    - Dst: try_pmk
      Src: /src/hostap/wlantest/rx_eapol.c:299,1
    - Dst: dl_list_for_each
      Src: /src/hostap/wlantest/rx_eapol.c:303,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_eapol.c:304,1
    - Dst: try_pmk
      Src: /src/hostap/wlantest/rx_eapol.c:305,1
    - Dst: dl_list_for_each
      Src: /src/hostap/wlantest/rx_eapol.c:314,1
    - Dst: check_mic
      Src: /src/hostap/wlantest/rx_eapol.c:315,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_eapol.c:318,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_eapol.c:320,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_eapol.c:320,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:321,1
    - Dst: wpa_cipher_key_len
      Src: /src/hostap/wlantest/rx_eapol.c:323,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_eapol.c:324,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_eapol.c:325,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_eapol.c:327,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_eapol.c:329,1
    - Dst: os_memset
      Src: /src/hostap/wlantest/rx_eapol.c:332,1
    - Dst: os_memset
      Src: /src/hostap/wlantest/rx_eapol.c:333,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:338,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 6
    argNames:
    - wt
    - bss
    - sta
    - ver
    - data
    - len
    argTypes:
    - struct wlantest*
    - struct wlantest_bss*
    - struct wlantest_sta*
    - u16
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 288
    functionDepth: 4
    functionLinenumber: 288
    functionLinenumberEnd: 339
    functionName: derive_ptk
    functionSourceFile: /src/hostap/wlantest/rx_eapol.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_cipher_key_len
    - wpa_hexdump
    - add_note
    - dl_list_for_each
    - MAC2STR
    - check_mic
    - try_pmk
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void derive_ptk(struct wlantest *wt, struct wlantest_bss *bss,\n\t\t
      \      struct wlantest_sta *sta, u16 ver,\n\t\t       const u8 *data, size_t
      len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/wlantest/rx_eapol.c:345,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - elems
    - ie
    argTypes:
    - struct ieee802_11_elems*
    - struct wpa_eapol_ie_parse*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 354
    functionName: elems_from_eapol_ie
    functionSourceFile: /src/hostap/wlantest/rx_eapol.c
    functionUses: 0
    functionsReached:
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void elems_from_eapol_ie(struct ieee802_11_elems *elems,\n\t\t\t\tstruct
      wpa_eapol_ie_parse *ie)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_eapol.c:371,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_eapol.c:373,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_eapol.c:373,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_eapol.c:373,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wlantest/rx_eapol.c:374,1
    - Dst: bss_get
      Src: /src/hostap/wlantest/rx_eapol.c:375,1
    - Dst: bss_find
      Src: /src/hostap/wlantest/rx_eapol.c:377,1
    - Dst: bss_find
      Src: /src/hostap/wlantest/rx_eapol.c:378,1
    - Dst: sta_find
      Src: /src/hostap/wlantest/rx_eapol.c:379,1
    - Dst: bss_get
      Src: /src/hostap/wlantest/rx_eapol.c:380,1
    - Dst: bss_get
      Src: /src/hostap/wlantest/rx_eapol.c:382,1
    - Dst: sta_get
      Src: /src/hostap/wlantest/rx_eapol.c:386,1
    - Dst: determine_mic_len
      Src: /src/hostap/wlantest/rx_eapol.c:393,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:395,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_eapol.c:396,1
    - Dst: is_zero
      Src: /src/hostap/wlantest/rx_eapol.c:401,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:402,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_eapol.c:403,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_eapol.c:405,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/wlantest/rx_eapol.c:406,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:408,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_eapol.c:410,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/wlantest/rx_eapol.c:415,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:417,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_eapol.c:419,1
    - Dst: wpa_parse_kde_ies
      Src: /src/hostap/wlantest/rx_eapol.c:423,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:424,1
    - Dst: elems_from_eapol_ie
      Src: /src/hostap/wlantest/rx_eapol.c:431,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_eapol.c:432,1
    - Dst: sta_update_assoc
      Src: /src/hostap/wlantest/rx_eapol.c:434,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/wlantest/rx_eapol.c:438,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_eapol.c:439,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_eapol.c:441,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_eapol.c:443,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_eapol.c:446,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_eapol.c:447,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_eapol.c:449,1
    - Dst: derive_ptk
      Src: /src/hostap/wlantest/rx_eapol.c:452,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:455,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:463,1
    - Dst: check_mic
      Src: /src/hostap/wlantest/rx_eapol.c:468,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:470,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:473,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_eapol.c:476,1
    - Dst: os_memcmp
      Src: /src/hostap/wlantest/rx_eapol.c:478,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:479,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_eapol.c:482,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_eapol.c:483,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_eapol.c:485,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_eapol.c:493,1
    - Dst: os_memcmp
      Src: /src/hostap/wlantest/rx_eapol.c:495,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:496,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_eapol.c:499,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_eapol.c:500,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_eapol.c:502,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_eapol.c:515,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_eapol.c:518,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_eapol.c:519,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 99
    argCount: 6
    argNames:
    - wt
    - dst
    - src
    - bssid
    - data
    - len
    argTypes:
    - struct wlantest*
    - u8*
    - u8*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 357
    functionDepth: 5
    functionLinenumber: 357
    functionLinenumberEnd: 521
    functionName: rx_data_eapol_key_2_of_4
    functionSourceFile: /src/hostap/wlantest/rx_eapol.c
    functionUses: 0
    functionsReached:
    - is_zero
    - wpa_hexdump
    - add_note
    - wpa_parse_kde_ies
    - wpa_printf
    - WPA_GET_BE16
    - ether_addr_equal
    - bss_get
    - os_memcmp
    - determine_mic_len
    - elems_from_eapol_ie
    - check_mic
    - sta_find
    - is_zero_ether_addr
    - sta_get
    - os_memcpy
    - bss_find
    - sta_update_assoc
    - MAC2STR
    - derive_ptk
    linkageType: ''
    returnType: void
    signature: "void rx_data_eapol_key_2_of_4(struct wlantest *wt, const u8 *dst,\n\t\t\t\t
      \    const u8 *src, const u8 *bssid,\n\t\t\t\t     const u8 *data, size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memdup
      Src: /src/hostap/wlantest/rx_eapol.c:531,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_eapol.c:535,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_eapol.c:536,1
    - Dst: rc4_skip
      Src: /src/hostap/wlantest/rx_eapol.c:537,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:538,1
    - Dst: os_free
      Src: /src/hostap/wlantest/rx_eapol.c:539,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 6
    argNames:
    - wt
    - kek
    - hdr
    - keydata
    - keydatalen
    - len
    argTypes:
    - struct wlantest*
    - u8*
    - struct wpa_eapol_key*
    - u8*
    - u16
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 545
    functionName: decrypt_eapol_key_data_rc4
    functionSourceFile: /src/hostap/wlantest/rx_eapol.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - os_memdup
    - add_note
    - rc4_skip
    - os_free
    linkageType: ''
    returnType: u8
    signature: "u8 * decrypt_eapol_key_data_rc4(struct wlantest *wt, const u8 *kek,\n\t\t\t\t
      \      const struct wpa_eapol_key *hdr,\n\t\t\t\t       const u8 *keydata, u16
      keydatalen,\n\t\t\t\t       size_t *len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:557,1
    - Dst: os_malloc
      Src: /src/hostap/wlantest/rx_eapol.c:562,1
    - Dst: aes_unwrap
      Src: /src/hostap/wlantest/rx_eapol.c:565,1
    - Dst: os_free
      Src: /src/hostap/wlantest/rx_eapol.c:566,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:567,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 7
    argNames:
    - wt
    - kek
    - kek_len
    - hdr
    - keydata
    - keydatalen
    - len
    argTypes:
    - struct wlantest*
    - u8*
    - size_t
    - struct wpa_eapol_key*
    - u8*
    - u16
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 548
    functionDepth: 1
    functionLinenumber: 548
    functionLinenumberEnd: 575
    functionName: decrypt_eapol_key_data_aes
    functionSourceFile: /src/hostap/wlantest/rx_eapol.c
    functionUses: 0
    functionsReached:
    - os_free
    - aes_unwrap
    - os_malloc
    - add_note
    linkageType: ''
    returnType: u8
    signature: "u8 * decrypt_eapol_key_data_aes(struct wlantest *wt, const u8 *kek,\n\t\t\t\t
      \      size_t kek_len,\n\t\t\t\t       const struct wpa_eapol_key *hdr,\n\t\t\t\t
      \      const u8 *keydata, u16 keydatalen,\n\t\t\t\t       size_t *len)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: determine_mic_len
      Src: /src/hostap/wlantest/rx_eapol.c:589,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/wlantest/rx_eapol.c:593,1
    - Dst: decrypt_eapol_key_data_rc4
      Src: /src/hostap/wlantest/rx_eapol.c:601,1
    - Dst: decrypt_eapol_key_data_aes
      Src: /src/hostap/wlantest/rx_eapol.c:605,1
    - Dst: decrypt_eapol_key_data_aes
      Src: /src/hostap/wlantest/rx_eapol.c:608,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:611,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 8
    argNames:
    - wt
    - sta
    - kek
    - kek_len
    - ver
    - hdr
    - end
    - len
    argTypes:
    - struct wlantest*
    - struct wlantest_sta*
    - u8*
    - size_t
    - u16
    - struct wpa_eapol_key*
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 578
    functionDepth: 2
    functionLinenumber: 578
    functionLinenumberEnd: 616
    functionName: decrypt_eapol_key_data
    functionSourceFile: /src/hostap/wlantest/rx_eapol.c
    functionUses: 0
    functionsReached:
    - WPA_GET_BE16
    - decrypt_eapol_key_data_rc4
    - add_note
    - decrypt_eapol_key_data_aes
    - determine_mic_len
    linkageType: ''
    returnType: u8
    signature: "u8 * decrypt_eapol_key_data(struct wlantest *wt,\n\t\t\t\t   struct
      wlantest_sta *sta, const u8 *kek,\n\t\t\t\t   size_t kek_len, u16 ver,\n\t\t\t\t
      \  const struct wpa_eapol_key *hdr,\n\t\t\t\t   const u8 *end, size_t *len)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:637,1
    - Dst: BIT
      Src: /src/hostap/wlantest/rx_eapol.c:639,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:640,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_eapol.c:643,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_eapol.c:647,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_eapol.c:649,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_eapol.c:659,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:661,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wlantest/rx_eapol.c:672,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:674,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:676,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_eapol.c:679,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_eapol.c:680,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_eapol.c:682,1
    - Dst: WPA_GET_LE48
      Src: /src/hostap/wlantest/rx_eapol.c:683,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:686,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wlantest/rx_eapol.c:697,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:700,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:702,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_eapol.c:705,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_eapol.c:706,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_eapol.c:708,1
    - Dst: WPA_GET_LE48
      Src: /src/hostap/wlantest/rx_eapol.c:709,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:712,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 73
    argCount: 5
    argNames:
    - wt
    - bss
    - sta
    - link_id
    - ie
    argTypes:
    - struct wlantest*
    - struct wlantest_bss*
    - struct wlantest_sta*
    - int
    - struct wpa_eapol_ie_parse*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 619
    functionDepth: 1
    functionLinenumber: 619
    functionLinenumberEnd: 717
    functionName: learn_kde_keys_mlo
    functionSourceFile: /src/hostap/wlantest/rx_eapol.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_hexdump
    - WPA_GET_LE48
    - WPA_GET_LE16
    - add_note
    - BIT
    linkageType: ''
    returnType: void
    signature: "void learn_kde_keys_mlo(struct wlantest *wt, struct wlantest_bss *bss,\n\t\t\t
      \      struct wlantest_sta *sta, int link_id,\n\t\t\t       struct wpa_eapol_ie_parse
      *ie)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: wpa_parse_kde_ies
      Src: /src/hostap/wlantest/rx_eapol.c:727,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:728,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_eapol.c:733,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_eapol.c:738,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:743,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_eapol.c:746,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:751,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:754,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_eapol.c:758,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_eapol.c:762,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_eapol.c:763,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_eapol.c:772,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:774,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_eapol.c:780,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wlantest/rx_eapol.c:784,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:786,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:790,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_eapol.c:791,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_eapol.c:792,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_eapol.c:794,1
    - Dst: WPA_GET_LE48
      Src: /src/hostap/wlantest/rx_eapol.c:797,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wlantest/rx_eapol.c:802,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:804,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:808,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_eapol.c:809,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_eapol.c:810,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_eapol.c:812,1
    - Dst: WPA_GET_LE48
      Src: /src/hostap/wlantest/rx_eapol.c:815,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:819,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_eapol.c:825,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wlantest/rx_eapol.c:830,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:832,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:837,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_eapol.c:838,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_eapol.c:839,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_eapol.c:841,1
    - Dst: WPA_GET_LE48
      Src: /src/hostap/wlantest/rx_eapol.c:844,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/wlantest/rx_eapol.c:850,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:852,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:857,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_eapol.c:858,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_eapol.c:859,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_eapol.c:861,1
    - Dst: WPA_GET_LE48
      Src: /src/hostap/wlantest/rx_eapol.c:864,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:868,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wlantest/rx_eapol.c:879,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_eapol.c:880,1
    - Dst: learn_kde_keys_mlo
      Src: /src/hostap/wlantest/rx_eapol.c:883,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_eapol.c:887,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_eapol.c:889,1
    - Dst: bss_get
      Src: /src/hostap/wlantest/rx_eapol.c:890,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_eapol.c:892,1
    - Dst: learn_kde_keys_mlo
      Src: /src/hostap/wlantest/rx_eapol.c:896,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 126
    argCount: 6
    argNames:
    - wt
    - bss
    - sta
    - buf
    - len
    - rsc
    argTypes:
    - struct wlantest*
    - struct wlantest_bss*
    - struct wlantest_sta*
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 720
    functionDepth: 3
    functionLinenumber: 720
    functionLinenumberEnd: 899
    functionName: learn_kde_keys
    functionSourceFile: /src/hostap/wlantest/rx_eapol.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_printf
    - wpa_hexdump
    - ether_addr_equal
    - WPA_GET_LE48
    - WPA_GET_LE16
    - add_note
    - learn_kde_keys_mlo
    - wpa_parse_kde_ies
    - MAC2STR
    - bss_get
    linkageType: ''
    returnType: void
    signature: "void learn_kde_keys(struct wlantest *wt, struct wlantest_bss *bss,\n\t\t\t
      \  struct wlantest_sta *sta,\n\t\t\t   const u8 *buf, size_t len, const u8 *rsc)"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_eapol.c:923,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_eapol.c:925,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_eapol.c:925,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_eapol.c:925,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wlantest/rx_eapol.c:926,1
    - Dst: bss_get
      Src: /src/hostap/wlantest/rx_eapol.c:927,1
    - Dst: bss_find
      Src: /src/hostap/wlantest/rx_eapol.c:929,1
    - Dst: bss_find
      Src: /src/hostap/wlantest/rx_eapol.c:930,1
    - Dst: sta_find
      Src: /src/hostap/wlantest/rx_eapol.c:931,1
    - Dst: bss_get
      Src: /src/hostap/wlantest/rx_eapol.c:932,1
    - Dst: bss_get
      Src: /src/hostap/wlantest/rx_eapol.c:934,1
    - Dst: sta_get
      Src: /src/hostap/wlantest/rx_eapol.c:938,1
    - Dst: determine_mic_len
      Src: /src/hostap/wlantest/rx_eapol.c:941,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/wlantest/rx_eapol.c:946,1
    - Dst: os_memcmp
      Src: /src/hostap/wlantest/rx_eapol.c:948,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:949,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_eapol.c:953,1
    - Dst: derive_ptk
      Src: /src/hostap/wlantest/rx_eapol.c:955,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:960,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:970,1
    - Dst: check_mic
      Src: /src/hostap/wlantest/rx_eapol.c:977,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:979,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:982,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:987,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/wlantest/rx_eapol.c:990,1
    - Dst: decrypt_eapol_key_data
      Src: /src/hostap/wlantest/rx_eapol.c:993,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:998,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_eapol.c:1003,1
    - Dst: os_memset
      Src: /src/hostap/wlantest/rx_eapol.c:1032,1
    - Dst: host_to_le16
      Src: /src/hostap/wlantest/rx_eapol.c:1034,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_eapol.c:1035,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_eapol.c:1036,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_eapol.c:1037,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_eapol.c:1039,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_eapol.c:1041,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_eapol.c:1043,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/wlantest/rx_eapol.c:1046,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/wlantest/rx_eapol.c:1048,1
    - Dst: write_pcap_decrypted
      Src: /src/hostap/wlantest/rx_eapol.c:1049,1
    - Dst: wpa_parse_kde_ies
      Src: /src/hostap/wlantest/rx_eapol.c:1054,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:1055,1
    - Dst: os_free
      Src: /src/hostap/wlantest/rx_eapol.c:1056,1
    - Dst: elems_from_eapol_ie
      Src: /src/hostap/wlantest/rx_eapol.c:1063,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_eapol.c:1064,1
    - Dst: bss_update
      Src: /src/hostap/wlantest/rx_eapol.c:1066,1
    - Dst: os_memcmp
      Src: /src/hostap/wlantest/rx_eapol.c:1070,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:1072,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_eapol.c:1075,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_eapol.c:1076,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_eapol.c:1078,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wlantest/rx_eapol.c:1092,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:1100,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_eapol.c:1102,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_eapol.c:1105,1
    - Dst: wpa_compare_rsn_ie
      Src: /src/hostap/wlantest/rx_eapol.c:1114,1
    - Dst: wpa_key_mgmt_ft
      Src: /src/hostap/wlantest/rx_eapol.c:1114,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:1118,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_eapol.c:1120,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_eapol.c:1121,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_eapol.c:1123,1
    - Dst: wpa_key_mgmt_ft
      Src: /src/hostap/wlantest/rx_eapol.c:1128,1
    - Dst: wpa_parse_wpa_ie_rsn
      Src: /src/hostap/wlantest/rx_eapol.c:1129,1
    - Dst: os_memcmp_const
      Src: /src/hostap/wlantest/rx_eapol.c:1131,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:1133,1
    - Dst: learn_kde_keys
      Src: /src/hostap/wlantest/rx_eapol.c:1138,1
    - Dst: os_free
      Src: /src/hostap/wlantest/rx_eapol.c:1139,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 142
    argCount: 6
    argNames:
    - wt
    - dst
    - src
    - bssid
    - data
    - len
    argTypes:
    - struct wlantest*
    - u8*
    - u8*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1140
      start: 902
    functionDepth: 5
    functionLinenumber: 902
    functionLinenumberEnd: 1140
    functionName: rx_data_eapol_key_3_of_4
    functionSourceFile: /src/hostap/wlantest/rx_eapol.c
    functionUses: 0
    functionsReached:
    - wpa_hexdump
    - add_note
    - wpa_parse_kde_ies
    - wpa_printf
    - WPA_GET_BE16
    - wpa_compare_rsn_ie
    - ether_addr_equal
    - learn_kde_keys
    - wpa_key_mgmt_ft
    - bss_get
    - os_memcmp
    - determine_mic_len
    - decrypt_eapol_key_data
    - write_pcap_decrypted
    - os_free
    - check_mic
    - sta_find
    - elems_from_eapol_ie
    - WPA_PUT_BE16
    - bss_update
    - os_memset
    - sta_get
    - os_memcpy
    - bss_find
    - wpa_parse_wpa_ie_rsn
    - os_memcmp_const
    - MAC2STR
    - derive_ptk
    - host_to_le16
    linkageType: ''
    returnType: void
    signature: "void rx_data_eapol_key_3_of_4(struct wlantest *wt, const u8 *dst,\n\t\t\t\t
      \    const u8 *src, const u8 *bssid,\n\t\t\t\t     const u8 *data, size_t len)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_eapol.c:1155,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_eapol.c:1157,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_eapol.c:1157,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_eapol.c:1157,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wlantest/rx_eapol.c:1158,1
    - Dst: bss_get
      Src: /src/hostap/wlantest/rx_eapol.c:1159,1
    - Dst: bss_find
      Src: /src/hostap/wlantest/rx_eapol.c:1161,1
    - Dst: bss_find
      Src: /src/hostap/wlantest/rx_eapol.c:1162,1
    - Dst: sta_find
      Src: /src/hostap/wlantest/rx_eapol.c:1163,1
    - Dst: bss_get
      Src: /src/hostap/wlantest/rx_eapol.c:1164,1
    - Dst: bss_get
      Src: /src/hostap/wlantest/rx_eapol.c:1166,1
    - Dst: sta_get
      Src: /src/hostap/wlantest/rx_eapol.c:1170,1
    - Dst: is_zero
      Src: /src/hostap/wlantest/rx_eapol.c:1176,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:1177,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_eapol.c:1178,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/wlantest/rx_eapol.c:1180,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:1183,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:1191,1
    - Dst: check_mic
      Src: /src/hostap/wlantest/rx_eapol.c:1196,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:1198,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:1201,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:1203,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_eapol.c:1204,1
    - Dst: os_memset
      Src: /src/hostap/wlantest/rx_eapol.c:1207,1
    - Dst: os_memset
      Src: /src/hostap/wlantest/rx_eapol.c:1208,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 6
    argNames:
    - wt
    - dst
    - src
    - bssid
    - data
    - len
    argTypes:
    - struct wlantest*
    - u8*
    - u8*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1210
      start: 1143
    functionDepth: 3
    functionLinenumber: 1143
    functionLinenumberEnd: 1210
    functionName: rx_data_eapol_key_4_of_4
    functionSourceFile: /src/hostap/wlantest/rx_eapol.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - WPA_GET_BE16
    - check_mic
    - os_memcpy
    - is_zero
    - bss_find
    - os_memset
    - ether_addr_equal
    - add_note
    - MAC2STR
    - bss_get
    - sta_find
    - sta_get
    linkageType: ''
    returnType: void
    signature: "void rx_data_eapol_key_4_of_4(struct wlantest *wt, const u8 *dst,\n\t\t\t\t
      \    const u8 *src, const u8 *bssid,\n\t\t\t\t     const u8 *data, size_t len)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_eapol.c:1226,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_eapol.c:1228,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_eapol.c:1228,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_eapol.c:1228,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wlantest/rx_eapol.c:1229,1
    - Dst: bss_get
      Src: /src/hostap/wlantest/rx_eapol.c:1230,1
    - Dst: bss_find
      Src: /src/hostap/wlantest/rx_eapol.c:1232,1
    - Dst: bss_find
      Src: /src/hostap/wlantest/rx_eapol.c:1233,1
    - Dst: sta_find
      Src: /src/hostap/wlantest/rx_eapol.c:1234,1
    - Dst: bss_get
      Src: /src/hostap/wlantest/rx_eapol.c:1235,1
    - Dst: bss_get
      Src: /src/hostap/wlantest/rx_eapol.c:1237,1
    - Dst: sta_get
      Src: /src/hostap/wlantest/rx_eapol.c:1241,1
    - Dst: determine_mic_len
      Src: /src/hostap/wlantest/rx_eapol.c:1244,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/wlantest/rx_eapol.c:1248,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:1251,1
    - Dst: check_mic
      Src: /src/hostap/wlantest/rx_eapol.c:1257,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:1260,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:1263,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:1267,1
    - Dst: decrypt_eapol_key_data
      Src: /src/hostap/wlantest/rx_eapol.c:1271,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:1276,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_eapol.c:1279,1
    - Dst: os_memset
      Src: /src/hostap/wlantest/rx_eapol.c:1300,1
    - Dst: host_to_le16
      Src: /src/hostap/wlantest/rx_eapol.c:1302,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_eapol.c:1303,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_eapol.c:1304,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_eapol.c:1305,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_eapol.c:1307,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_eapol.c:1309,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_eapol.c:1311,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/wlantest/rx_eapol.c:1314,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/wlantest/rx_eapol.c:1316,1
    - Dst: write_pcap_decrypted
      Src: /src/hostap/wlantest/rx_eapol.c:1317,1
    - Dst: learn_kde_keys
      Src: /src/hostap/wlantest/rx_eapol.c:1322,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:1331,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_eapol.c:1332,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/rx_eapol.c:1335,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_eapol.c:1342,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:1344,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_eapol.c:1346,1
    - Dst: os_free
      Src: /src/hostap/wlantest/rx_eapol.c:1349,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 88
    argCount: 6
    argNames:
    - wt
    - dst
    - src
    - bssid
    - data
    - len
    argTypes:
    - struct wlantest*
    - u8*
    - u8*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1350
      start: 1213
    functionDepth: 4
    functionLinenumber: 1213
    functionLinenumberEnd: 1350
    functionName: rx_data_eapol_key_1_of_2
    functionSourceFile: /src/hostap/wlantest/rx_eapol.c
    functionUses: 0
    functionsReached:
    - wpa_hexdump
    - add_note
    - wpa_printf
    - WPA_GET_BE16
    - ether_addr_equal
    - learn_kde_keys
    - bss_get
    - write_pcap_decrypted
    - determine_mic_len
    - decrypt_eapol_key_data
    - os_free
    - check_mic
    - sta_find
    - WPA_PUT_BE16
    - os_memset
    - sta_get
    - os_memcpy
    - bss_find
    - MAC2STR
    - host_to_le16
    linkageType: ''
    returnType: void
    signature: "void rx_data_eapol_key_1_of_2(struct wlantest *wt, const u8 *dst,\n\t\t\t\t
      \    const u8 *src, const u8 *bssid,\n\t\t\t\t     const u8 *data, size_t len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_eapol.c:1363,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_eapol.c:1365,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_eapol.c:1365,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_eapol.c:1365,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wlantest/rx_eapol.c:1366,1
    - Dst: bss_get
      Src: /src/hostap/wlantest/rx_eapol.c:1367,1
    - Dst: bss_find
      Src: /src/hostap/wlantest/rx_eapol.c:1369,1
    - Dst: bss_find
      Src: /src/hostap/wlantest/rx_eapol.c:1370,1
    - Dst: sta_find
      Src: /src/hostap/wlantest/rx_eapol.c:1371,1
    - Dst: bss_get
      Src: /src/hostap/wlantest/rx_eapol.c:1372,1
    - Dst: bss_get
      Src: /src/hostap/wlantest/rx_eapol.c:1374,1
    - Dst: sta_get
      Src: /src/hostap/wlantest/rx_eapol.c:1378,1
    - Dst: is_zero
      Src: /src/hostap/wlantest/rx_eapol.c:1384,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:1385,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_eapol.c:1386,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/wlantest/rx_eapol.c:1388,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:1391,1
    - Dst: check_mic
      Src: /src/hostap/wlantest/rx_eapol.c:1397,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:1400,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:1403,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 6
    argNames:
    - wt
    - dst
    - src
    - bssid
    - data
    - len
    argTypes:
    - struct wlantest*
    - u8*
    - u8*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1404
      start: 1353
    functionDepth: 3
    functionLinenumber: 1353
    functionLinenumberEnd: 1404
    functionName: rx_data_eapol_key_2_of_2
    functionSourceFile: /src/hostap/wlantest/rx_eapol.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - WPA_GET_BE16
    - check_mic
    - is_zero
    - bss_find
    - ether_addr_equal
    - add_note
    - MAC2STR
    - bss_get
    - sta_find
    - sta_get
    linkageType: ''
    returnType: void
    signature: "void rx_data_eapol_key_2_of_2(struct wlantest *wt, const u8 *dst,\n\t\t\t\t
      \    const u8 *src, const u8 *bssid,\n\t\t\t\t     const u8 *data, size_t len)"
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: bss_get
      Src: /src/hostap/wlantest/rx_eapol.c:1421,1
    - Dst: sta_get
      Src: /src/hostap/wlantest/rx_eapol.c:1424,1
    - Dst: determine_mic_len
      Src: /src/hostap/wlantest/rx_eapol.c:1427,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_eapol.c:1433,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:1436,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_eapol.c:1437,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_eapol.c:1444,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_eapol.c:1445,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_eapol.c:1451,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_eapol.c:1452,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/wlantest/rx_eapol.c:1456,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/wlantest/rx_eapol.c:1457,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/wlantest/rx_eapol.c:1458,1
    - Dst: wpa_key_mgmt_sae_ext_key
      Src: /src/hostap/wlantest/rx_eapol.c:1462,1
    - Dst: wpa_mic_len
      Src: /src/hostap/wlantest/rx_eapol.c:1471,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/wlantest/rx_eapol.c:1473,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:1477,1
    - Dst: wpa_key_mgmt_sae_ext_key
      Src: /src/hostap/wlantest/rx_eapol.c:1479,1
    - Dst: wpa_mic_len
      Src: /src/hostap/wlantest/rx_eapol.c:1490,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/wlantest/rx_eapol.c:1492,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:1496,1
    - Dst: wpa_key_mgmt_sae_ext_key
      Src: /src/hostap/wlantest/rx_eapol.c:1498,1
    - Dst: add_note
      Src: /src/hostap/wlantest/rx_eapol.c:1511,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_eapol.c:1512,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_eapol.c:1516,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_eapol.c:1523,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_eapol.c:1542,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_eapol.c:1543,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_eapol.c:1547,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_eapol.c:1549,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_eapol.c:1551,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_eapol.c:1553,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_eapol.c:1555,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_eapol.c:1557,1
    - Dst: BIT
      Src: /src/hostap/wlantest/rx_eapol.c:1561,1
    - Dst: BIT
      Src: /src/hostap/wlantest/rx_eapol.c:1561,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_eapol.c:1563,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_eapol.c:1565,1
    - Dst: BIT
      Src: /src/hostap/wlantest/rx_eapol.c:1570,1
    - Dst: BIT
      Src: /src/hostap/wlantest/rx_eapol.c:1570,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_eapol.c:1571,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_eapol.c:1573,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_eapol.c:1577,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_eapol.c:1578,1
    - Dst: is_zero
      Src: /src/hostap/wlantest/rx_eapol.c:1582,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_eapol.c:1583,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_eapol.c:1585,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_eapol.c:1586,1
    - Dst: is_zero
      Src: /src/hostap/wlantest/rx_eapol.c:1590,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_eapol.c:1591,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_eapol.c:1592,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_eapol.c:1593,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_eapol.c:1598,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_eapol.c:1599,1
    - Dst: rx_data_eapol_key_1_of_4
      Src: /src/hostap/wlantest/rx_eapol.c:1615,1
    - Dst: is_zero
      Src: /src/hostap/wlantest/rx_eapol.c:1620,1
    - Dst: rx_data_eapol_key_4_of_4
      Src: /src/hostap/wlantest/rx_eapol.c:1621,1
    - Dst: rx_data_eapol_key_2_of_4
      Src: /src/hostap/wlantest/rx_eapol.c:1624,1
    - Dst: rx_data_eapol_key_3_of_4
      Src: /src/hostap/wlantest/rx_eapol.c:1630,1
    - Dst: rx_data_eapol_key_3_of_4
      Src: /src/hostap/wlantest/rx_eapol.c:1637,1
    - Dst: is_zero
      Src: /src/hostap/wlantest/rx_eapol.c:1643,1
    - Dst: rx_data_eapol_key_4_of_4
      Src: /src/hostap/wlantest/rx_eapol.c:1644,1
    - Dst: rx_data_eapol_key_2_of_4
      Src: /src/hostap/wlantest/rx_eapol.c:1647,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_eapol.c:1651,1
    - Dst: rx_data_eapol_key_1_of_2
      Src: /src/hostap/wlantest/rx_eapol.c:1662,1
    - Dst: rx_data_eapol_key_2_of_2
      Src: /src/hostap/wlantest/rx_eapol.c:1667,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_eapol.c:1671,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 145
    argCount: 8
    argNames:
    - wt
    - bssid
    - sta_addr
    - dst
    - src
    - data
    - len
    - prot
    argTypes:
    - struct wlantest*
    - u8*
    - u8*
    - u8*
    - u8*
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1675
      start: 1407
    functionDepth: 6
    functionLinenumber: 1407
    functionLinenumberEnd: 1675
    functionName: rx_data_eapol_key
    functionSourceFile: /src/hostap/wlantest/rx_eapol.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - WPA_GET_BE16
    - wpa_key_mgmt_sae_ext_key
    - wpa_hexdump
    - is_zero
    - rx_data_eapol_key_2_of_4
    - rx_data_eapol_key_4_of_4
    - add_note
    - MAC2STR
    - rx_data_eapol_key_2_of_2
    - bss_get
    - BIT
    - determine_mic_len
    - rx_data_eapol_key_3_of_4
    - rx_data_eapol_key_1_of_2
    - rx_data_eapol_key_1_of_4
    - wpa_mic_len
    - sta_get
    linkageType: ''
    returnType: void
    signature: "void rx_data_eapol_key(struct wlantest *wt, const u8 *bssid,\n\t\t\t
      \     const u8 *sta_addr, const u8 *dst,\n\t\t\t      const u8 *src, const u8
      *data, size_t len,\n\t\t\t      int prot)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_eapol.c:1686,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_eapol.c:1688,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_eapol.c:1689,1
    - Dst: be_to_host16
      Src: /src/hostap/wlantest/rx_eapol.c:1694,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_eapol.c:1695,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_eapol.c:1697,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_eapol.c:1697,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_eapol.c:1700,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_eapol.c:1701,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_eapol.c:1704,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/rx_eapol.c:1705,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/rx_eapol.c:1710,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_eapol.c:1717,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_eapol.c:1720,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_eapol.c:1723,1
    - Dst: rx_data_eapol_key
      Src: /src/hostap/wlantest/rx_eapol.c:1726,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_eapol.c:1730,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/rx_eapol.c:1734,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 8
    argNames:
    - wt
    - bssid
    - sta_addr
    - dst
    - src
    - data
    - len
    - prot
    argTypes:
    - struct wlantest*
    - u8*
    - u8*
    - u8*
    - u8*
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1737
      start: 1678
    functionDepth: 7
    functionLinenumber: 1678
    functionLinenumberEnd: 1737
    functionName: rx_data_eapol
    functionSourceFile: /src/hostap/wlantest/rx_eapol.c
    functionUses: 1
    functionsReached:
    - be_to_host16
    - wpa_printf
    - wpa_hexdump
    - rx_data_eapol_key
    - MAC2STR
    linkageType: ''
    returnType: void
    signature: "void rx_data_eapol(struct wlantest *wt, const u8 *bssid, const u8
      *sta_addr,\n\t\t   const u8 *dst, const u8 *src,\n\t\t   const u8 *data, size_t
      len, int prot)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 23
    functionName: RotR1
    functionSourceFile: /src/hostap/wlantest/tkip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u16
    signature: u16 RotR1(u16 val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: Lo8
    functionSourceFile: /src/hostap/wlantest/tkip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 Lo8(u16 val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: Hi8
    functionSourceFile: /src/hostap/wlantest/tkip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 Hi8(u16 val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: Lo16
    functionSourceFile: /src/hostap/wlantest/tkip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u16
    signature: u16 Lo16(u32 val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: Hi16
    functionSourceFile: /src/hostap/wlantest/tkip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u16
    signature: u16 Hi16(u32 val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hi
    - lo
    argTypes:
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: Mk16
    functionSourceFile: /src/hostap/wlantest/tkip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u16
    signature: u16 Mk16(u8 hi, u8 lo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/tkip.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - u16*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: Mk16_le
    functionSourceFile: /src/hostap/wlantest/tkip.c
    functionUses: 0
    functionsReached:
    - le_to_host16
    linkageType: ''
    returnType: u16
    signature: u16 Mk16_le(u16 *v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Hi8
      Src: /src/hostap/wlantest/tkip.c:101,1
    - Dst: Lo8
      Src: /src/hostap/wlantest/tkip.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: _S_
    functionSourceFile: /src/hostap/wlantest/tkip.c
    functionUses: 0
    functionsReached:
    - Lo8
    - Hi8
    linkageType: ''
    returnType: u16
    signature: u16 _S_(u16 v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lo16
      Src: /src/hostap/wlantest/tkip.c:113,1
    - Dst: Hi16
      Src: /src/hostap/wlantest/tkip.c:114,1
    - Dst: Mk16
      Src: /src/hostap/wlantest/tkip.c:115,1
    - Dst: Mk16
      Src: /src/hostap/wlantest/tkip.c:116,1
    - Dst: Mk16
      Src: /src/hostap/wlantest/tkip.c:117,1
    - Dst: _S_
      Src: /src/hostap/wlantest/tkip.c:121,1
    - Dst: Mk16
      Src: /src/hostap/wlantest/tkip.c:121,1
    - Dst: _S_
      Src: /src/hostap/wlantest/tkip.c:122,1
    - Dst: Mk16
      Src: /src/hostap/wlantest/tkip.c:122,1
    - Dst: _S_
      Src: /src/hostap/wlantest/tkip.c:123,1
    - Dst: Mk16
      Src: /src/hostap/wlantest/tkip.c:123,1
    - Dst: _S_
      Src: /src/hostap/wlantest/tkip.c:124,1
    - Dst: Mk16
      Src: /src/hostap/wlantest/tkip.c:124,1
    - Dst: _S_
      Src: /src/hostap/wlantest/tkip.c:125,1
    - Dst: Mk16
      Src: /src/hostap/wlantest/tkip.c:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 4
    argNames:
    - TTAK
    - TK
    - TA
    - IV32
    argTypes:
    - u16*
    - u8*
    - u8*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 127
    functionName: tkip_mixing_phase1
    functionSourceFile: /src/hostap/wlantest/tkip.c
    functionUses: 0
    functionsReached:
    - Mk16
    - Hi16
    - Lo16
    - _S_
    linkageType: ''
    returnType: void
    signature: void tkip_mixing_phase1(u16 *TTAK, const u8 *TK, const u8 *TA, u32
      IV32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _S_
      Src: /src/hostap/wlantest/tkip.c:144,1
    - Dst: Mk16_le
      Src: /src/hostap/wlantest/tkip.c:144,1
    - Dst: _S_
      Src: /src/hostap/wlantest/tkip.c:145,1
    - Dst: Mk16_le
      Src: /src/hostap/wlantest/tkip.c:145,1
    - Dst: _S_
      Src: /src/hostap/wlantest/tkip.c:146,1
    - Dst: Mk16_le
      Src: /src/hostap/wlantest/tkip.c:146,1
    - Dst: _S_
      Src: /src/hostap/wlantest/tkip.c:147,1
    - Dst: Mk16_le
      Src: /src/hostap/wlantest/tkip.c:147,1
    - Dst: _S_
      Src: /src/hostap/wlantest/tkip.c:148,1
    - Dst: Mk16_le
      Src: /src/hostap/wlantest/tkip.c:148,1
    - Dst: _S_
      Src: /src/hostap/wlantest/tkip.c:149,1
    - Dst: Mk16_le
      Src: /src/hostap/wlantest/tkip.c:149,1
    - Dst: RotR1
      Src: /src/hostap/wlantest/tkip.c:151,1
    - Dst: Mk16_le
      Src: /src/hostap/wlantest/tkip.c:151,1
    - Dst: RotR1
      Src: /src/hostap/wlantest/tkip.c:152,1
    - Dst: Mk16_le
      Src: /src/hostap/wlantest/tkip.c:152,1
    - Dst: RotR1
      Src: /src/hostap/wlantest/tkip.c:153,1
    - Dst: RotR1
      Src: /src/hostap/wlantest/tkip.c:154,1
    - Dst: RotR1
      Src: /src/hostap/wlantest/tkip.c:155,1
    - Dst: RotR1
      Src: /src/hostap/wlantest/tkip.c:156,1
    - Dst: Hi8
      Src: /src/hostap/wlantest/tkip.c:160,1
    - Dst: Hi8
      Src: /src/hostap/wlantest/tkip.c:161,1
    - Dst: Lo8
      Src: /src/hostap/wlantest/tkip.c:162,1
    - Dst: Lo8
      Src: /src/hostap/wlantest/tkip.c:163,1
    - Dst: Mk16_le
      Src: /src/hostap/wlantest/tkip.c:163,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/wlantest/tkip.c:164,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/wlantest/tkip.c:165,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/wlantest/tkip.c:166,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/wlantest/tkip.c:167,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/wlantest/tkip.c:168,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/wlantest/tkip.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 4
    argNames:
    - WEPSeed
    - TK
    - TTAK
    - IV16
    argTypes:
    - u8*
    - u8*
    - u16*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 170
    functionName: tkip_mixing_phase2
    functionSourceFile: /src/hostap/wlantest/tkip.c
    functionUses: 0
    functionsReached:
    - Mk16_le
    - Hi8
    - _S_
    - Lo8
    - RotR1
    - WPA_PUT_LE16
    linkageType: ''
    returnType: void
    signature: "void tkip_mixing_phase2(u8 *WEPSeed, const u8 *TK, const u16 *TTAK,\n\t\t\t
      \      u16 IV16)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - val
    - bits
    argTypes:
    - u32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: rotl
    functionSourceFile: /src/hostap/wlantest/tkip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: u32 rotl(u32 val, int bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - val
    - bits
    argTypes:
    - u32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 182
    functionName: rotr
    functionSourceFile: /src/hostap/wlantest/tkip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: u32 rotr(u32 val, int bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 188
    functionName: xswap
    functionSourceFile: /src/hostap/wlantest/tkip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: u32 xswap(u32 val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - l
    - ','
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 202
    functionName: michael_block
    functionSourceFile: /src/hostap/wlantest/tkip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: michael_block(l, r)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: WPA_GET_LE32
      Src: /src/hostap/wlantest/tkip.c:210,1
    - Dst: WPA_GET_LE32
      Src: /src/hostap/wlantest/tkip.c:211,1
    - Dst: WPA_GET_LE32
      Src: /src/hostap/wlantest/tkip.c:214,1
    - Dst: michael_block
      Src: /src/hostap/wlantest/tkip.c:215,1
    - Dst: WPA_GET_LE32
      Src: /src/hostap/wlantest/tkip.c:216,1
    - Dst: michael_block
      Src: /src/hostap/wlantest/tkip.c:217,1
    - Dst: WPA_GET_LE32
      Src: /src/hostap/wlantest/tkip.c:218,1
    - Dst: michael_block
      Src: /src/hostap/wlantest/tkip.c:219,1
    - Dst: WPA_GET_LE32
      Src: /src/hostap/wlantest/tkip.c:220,1
    - Dst: michael_block
      Src: /src/hostap/wlantest/tkip.c:221,1
    - Dst: WPA_GET_LE32
      Src: /src/hostap/wlantest/tkip.c:227,1
    - Dst: michael_block
      Src: /src/hostap/wlantest/tkip.c:228,1
    - Dst: michael_block
      Src: /src/hostap/wlantest/tkip.c:247,1
    - Dst: michael_block
      Src: /src/hostap/wlantest/tkip.c:249,1
    - Dst: WPA_PUT_LE32
      Src: /src/hostap/wlantest/tkip.c:251,1
    - Dst: WPA_PUT_LE32
      Src: /src/hostap/wlantest/tkip.c:252,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 5
    argNames:
    - key
    - hdr
    - data
    - data_len
    - mic
    argTypes:
    - u8*
    - u8*
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 253
    functionName: michael_mic
    functionSourceFile: /src/hostap/wlantest/tkip.c
    functionUses: 0
    functionsReached:
    - WPA_GET_LE32
    - WPA_PUT_LE32
    - michael_block
    linkageType: ''
    returnType: void
    signature: "void michael_mic(const u8 *key, const u8 *hdr, const u8 *data,\n\t\t\tsize_t
      data_len, u8 *mic)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/tkip.c:259,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/tkip.c:263,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/tkip.c:264,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/tkip.c:267,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/tkip.c:268,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/tkip.c:271,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/tkip.c:272,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/tkip.c:276,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/tkip.c:277,1
    - Dst: WLAN_FC_GET_TYPE
      Src: /src/hostap/wlantest/tkip.c:281,1
    - Dst: WLAN_FC_GET_STYPE
      Src: /src/hostap/wlantest/tkip.c:282,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - hdr11
    - hdr
    argTypes:
    - struct ieee80211_hdr*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 289
    functionName: michael_mic_hdr
    functionSourceFile: /src/hostap/wlantest/tkip.c
    functionUses: 0
    functionsReached:
    - le_to_host16
    - os_memcpy
    - WLAN_FC_GET_TYPE
    - WLAN_FC_GET_STYPE
    linkageType: ''
    returnType: void
    signature: void michael_mic_hdr(const struct ieee80211_hdr *hdr11, u8 *hdr)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/tkip.c:306,1
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/tkip.c:309,1
    - Dst: WPA_GET_LE32
      Src: /src/hostap/wlantest/tkip.c:317,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/tkip.c:318,1
    - Dst: tkip_mixing_phase1
      Src: /src/hostap/wlantest/tkip.c:321,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/tkip.c:322,1
    - Dst: tkip_mixing_phase2
      Src: /src/hostap/wlantest/tkip.c:323,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/tkip.c:324,1
    - Dst: os_memdup
      Src: /src/hostap/wlantest/tkip.c:327,1
    - Dst: wep_crypt
      Src: /src/hostap/wlantest/tkip.c:330,1
    - Dst: ieee80211_crc32
      Src: /src/hostap/wlantest/tkip.c:332,1
    - Dst: WPA_GET_LE32
      Src: /src/hostap/wlantest/tkip.c:333,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/tkip.c:335,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/tkip.c:336,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/tkip.c:337,1
    - Dst: os_free
      Src: /src/hostap/wlantest/tkip.c:339,1
    - Dst: WLAN_GET_SEQ_SEQ
      Src: /src/hostap/wlantest/tkip.c:347,1
    - Dst: WLAN_GET_SEQ_FRAG
      Src: /src/hostap/wlantest/tkip.c:348,1
    - Dst: wpabuf_free
      Src: /src/hostap/wlantest/tkip.c:354,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/wlantest/tkip.c:356,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/tkip.c:357,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/tkip.c:358,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wlantest/tkip.c:365,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wlantest/tkip.c:366,1
    - Dst: wpabuf_resize
      Src: /src/hostap/wlantest/tkip.c:368,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/wlantest/tkip.c:369,1
    - Dst: wpabuf_head
      Src: /src/hostap/wlantest/tkip.c:372,1
    - Dst: wpabuf_len
      Src: /src/hostap/wlantest/tkip.c:374,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/tkip.c:375,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/tkip.c:395,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/tkip.c:396,1
    - Dst: os_free
      Src: /src/hostap/wlantest/tkip.c:397,1
    - Dst: michael_mic_hdr
      Src: /src/hostap/wlantest/tkip.c:401,1
    - Dst: michael_mic
      Src: /src/hostap/wlantest/tkip.c:403,1
    - Dst: os_memcmp
      Src: /src/hostap/wlantest/tkip.c:405,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/tkip.c:406,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/tkip.c:407,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/tkip.c:408,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/tkip.c:409,1
    - Dst: os_free
      Src: /src/hostap/wlantest/tkip.c:416,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 82
    argCount: 7
    argNames:
    - tk
    - hdr
    - data
    - data_len
    - decrypted_len
    - mic_res
    - frag
    argTypes:
    - u8*
    - struct ieee80211_hdr*
    - u8*
    - size_t
    - size_t*
    - enum michael_mic_result*
    - struct tkip_frag*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 292
    functionDepth: 3
    functionLinenumber: 292
    functionLinenumberEnd: 424
    functionName: tkip_decrypt
    functionSourceFile: /src/hostap/wlantest/tkip.c
    functionUses: 4
    functionsReached:
    - wpa_hexdump
    - wep_crypt
    - tkip_mixing_phase1
    - WLAN_GET_SEQ_FRAG
    - wpa_printf
    - wpabuf_put_data
    - os_memdup
    - ether_addr_equal
    - WLAN_GET_SEQ_SEQ
    - os_memcmp
    - os_free
    - michael_mic
    - wpabuf_len
    - wpabuf_alloc_copy
    - wpabuf_head
    - ieee80211_crc32
    - os_memcpy
    - wpabuf_resize
    - tkip_mixing_phase2
    - WPA_GET_LE32
    - wpabuf_free
    - michael_mic_hdr
    - MAC2STR
    - le_to_host16
    linkageType: ''
    returnType: u8
    signature: "u8 * tkip_decrypt(const u8 *tk, const struct ieee80211_hdr *hdr,\n\t\t
      \ const u8 *data, size_t data_len, size_t *decrypted_len,\n\t\t  enum michael_mic_result
      *mic_res, struct tkip_frag *frag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - pn
    - data
    argTypes:
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 435
    functionName: tkip_get_pn
    functionSourceFile: /src/hostap/wlantest/tkip.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tkip_get_pn(u8 *pn, const u8 *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/tkip.c:455,1
    - Dst: michael_mic_hdr
      Src: /src/hostap/wlantest/tkip.c:457,1
    - Dst: michael_mic
      Src: /src/hostap/wlantest/tkip.c:459,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/tkip.c:460,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/wlantest/tkip.c:462,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/wlantest/tkip.c:463,1
    - Dst: tkip_mixing_phase1
      Src: /src/hostap/wlantest/tkip.c:464,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/tkip.c:465,1
    - Dst: tkip_mixing_phase2
      Src: /src/hostap/wlantest/tkip.c:466,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/tkip.c:467,1
    - Dst: os_malloc
      Src: /src/hostap/wlantest/tkip.c:469,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/tkip.c:472,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/tkip.c:474,1
    - Dst: BIT
      Src: /src/hostap/wlantest/tkip.c:476,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/tkip.c:482,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/tkip.c:483,1
    - Dst: WPA_PUT_LE32
      Src: /src/hostap/wlantest/tkip.c:484,1
    - Dst: ieee80211_crc32
      Src: /src/hostap/wlantest/tkip.c:485,1
    - Dst: wep_crypt
      Src: /src/hostap/wlantest/tkip.c:486,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 8
    argNames:
    - tk
    - frame
    - len
    - hdrlen
    - qos
    - pn
    - keyid
    - encrypted_len
    argTypes:
    - u8*
    - u8*
    - size_t
    - size_t
    - u8*
    - u8*
    - int
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 438
    functionDepth: 3
    functionLinenumber: 438
    functionLinenumberEnd: 490
    functionName: tkip_encrypt
    functionSourceFile: /src/hostap/wlantest/tkip.c
    functionUses: 3
    functionsReached:
    - michael_mic
    - WPA_GET_BE16
    - os_memcpy
    - wpa_hexdump
    - tkip_mixing_phase2
    - tkip_mixing_phase1
    - michael_mic_hdr
    - os_malloc
    - BIT
    - wep_crypt
    - WPA_PUT_LE32
    - le_to_host16
    - ieee80211_crc32
    - WPA_GET_BE32
    linkageType: ''
    returnType: u8
    signature: "u8 * tkip_encrypt(const u8 *tk, u8 *frame, size_t len, size_t hdrlen,
      u8 *qos,\n\t\t  u8 *pn, int keyid, size_t *encrypted_len)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/process.c:32,1
    - Dst: WLAN_FC_GET_TYPE
      Src: /src/hostap/wlantest/process.c:33,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wlantest/process.c:38,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wlantest/process.c:42,1
    - Dst: WLAN_FC_GET_STYPE
      Src: /src/hostap/wlantest/process.c:71,1
    - Dst: bss_find
      Src: /src/hostap/wlantest/process.c:83,1
    - Dst: sta_find
      Src: /src/hostap/wlantest/process.c:86,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 57
    argCount: 4
    argNames:
    - wt
    - hdr
    - len
    - to_ap
    argTypes:
    - struct wlantest*
    - struct ieee80211_hdr*
    - size_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 20
    functionDepth: 2
    functionLinenumber: 20
    functionLinenumberEnd: 87
    functionName: rx_get_sta
    functionSourceFile: /src/hostap/wlantest/process.c
    functionUses: 0
    functionsReached:
    - WLAN_FC_GET_STYPE
    - bss_find
    - ether_addr_equal
    - WLAN_FC_GET_TYPE
    - le_to_host16
    - sta_find
    linkageType: ''
    returnType: struct wlantest_sta
    signature: "struct wlantest_sta * rx_get_sta(struct wlantest *wt,\n\t\t\t\t\tconst
      struct ieee80211_hdr *hdr,\n\t\t\t\t\tsize_t len, int *to_ap)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/process.c:98,1
    - Dst: WLAN_FC_GET_TYPE
      Src: /src/hostap/wlantest/process.c:99,1
    - Dst: WLAN_FC_GET_STYPE
      Src: /src/hostap/wlantest/process.c:100,1
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/process.c:104,1
    - Dst: add_note
      Src: /src/hostap/wlantest/process.c:105,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/process.c:108,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/process.c:109,1
    - Dst: WLAN_GET_SEQ_SEQ
      Src: /src/hostap/wlantest/process.c:110,1
    - Dst: add_note
      Src: /src/hostap/wlantest/process.c:127,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/process.c:128,1
    - Dst: add_note
      Src: /src/hostap/wlantest/process.c:131,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/process.c:132,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 5
    argNames:
    - wt
    - hdr
    - len
    - sta
    - to_ap
    argTypes:
    - struct wlantest*
    - struct ieee80211_hdr*
    - size_t
    - struct wlantest_sta*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 139
    functionName: rx_update_ps
    functionSourceFile: /src/hostap/wlantest/process.c
    functionUses: 0
    functionsReached:
    - WLAN_FC_GET_STYPE
    - add_note
    - MAC2STR
    - WLAN_GET_SEQ_SEQ
    - WLAN_FC_GET_TYPE
    - le_to_host16
    linkageType: ''
    returnType: void
    signature: "void rx_update_ps(struct wlantest *wt, const struct ieee80211_hdr
      *hdr,\n\t\t\t size_t len, struct wlantest_sta *sta, int to_ap)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/process.c:152,1
    - Dst: WLAN_FC_GET_TYPE
      Src: /src/hostap/wlantest/process.c:153,1
    - Dst: WLAN_FC_GET_STYPE
      Src: /src/hostap/wlantest/process.c:154,1
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/process.c:166,1
    - Dst: add_note
      Src: /src/hostap/wlantest/process.c:167,1
    - Dst: WLAN_GET_SEQ_SEQ
      Src: /src/hostap/wlantest/process.c:169,1
    - Dst: WLAN_GET_SEQ_FRAG
      Src: /src/hostap/wlantest/process.c:169,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/process.c:170,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/process.c:170,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 5
    argNames:
    - wt
    - hdr
    - len
    - sta
    - to_ap
    argTypes:
    - struct wlantest*
    - struct ieee80211_hdr*
    - size_t
    - struct wlantest_sta*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 178
    functionName: rx_duplicate
    functionSourceFile: /src/hostap/wlantest/process.c
    functionUses: 0
    functionsReached:
    - WLAN_FC_GET_STYPE
    - add_note
    - WLAN_GET_SEQ_SEQ
    - MAC2STR
    - WLAN_FC_GET_TYPE
    - le_to_host16
    - WLAN_GET_SEQ_FRAG
    linkageType: ''
    returnType: int
    signature: "int rx_duplicate(struct wlantest *wt, const struct ieee80211_hdr *hdr,\n\t\t\tsize_t
      len, struct wlantest_sta *sta, int to_ap)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/wlantest/process.c:187,1
    - Dst: add_note
      Src: /src/hostap/wlantest/process.c:188,1
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/process.c:194,1
    - Dst: WLAN_FC_GET_TYPE
      Src: /src/hostap/wlantest/process.c:195,1
    - Dst: rx_mgmt_ack
      Src: /src/hostap/wlantest/process.c:196,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - wt
    - hdr
    argTypes:
    - struct wlantest*
    - struct ieee80211_hdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 181
    functionDepth: 3
    functionLinenumber: 181
    functionLinenumberEnd: 197
    functionName: rx_ack
    functionSourceFile: /src/hostap/wlantest/process.c
    functionUses: 0
    functionsReached:
    - ether_addr_equal
    - add_note
    - rx_mgmt_ack
    - WLAN_FC_GET_TYPE
    - le_to_host16
    linkageType: ''
    returnType: void
    signature: void rx_ack(struct wlantest *wt, const struct ieee80211_hdr *hdr)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/process.c:207,1
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/process.c:212,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/process.c:214,1
    - Dst: rx_get_sta
      Src: /src/hostap/wlantest/process.c:219,1
    - Dst: WLAN_FC_GET_TYPE
      Src: /src/hostap/wlantest/process.c:221,1
    - Dst: rx_duplicate
      Src: /src/hostap/wlantest/process.c:225,1
    - Dst: rx_update_ps
      Src: /src/hostap/wlantest/process.c:227,1
    - Dst: rx_mgmt
      Src: /src/hostap/wlantest/process.c:228,1
    - Dst: rx_update_ps
      Src: /src/hostap/wlantest/process.c:234,1
    - Dst: WLAN_FC_GET_STYPE
      Src: /src/hostap/wlantest/process.c:235,1
    - Dst: rx_ack
      Src: /src/hostap/wlantest/process.c:236,1
    - Dst: rx_duplicate
      Src: /src/hostap/wlantest/process.c:241,1
    - Dst: rx_update_ps
      Src: /src/hostap/wlantest/process.c:243,1
    - Dst: rx_data
      Src: /src/hostap/wlantest/process.c:244,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/process.c:247,1
    - Dst: WLAN_FC_GET_TYPE
      Src: /src/hostap/wlantest/process.c:248,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/process.c:252,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 42
    argCount: 3
    argNames:
    - wt
    - data
    - len
    argTypes:
    - struct wlantest*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 200
    functionDepth: 9
    functionLinenumber: 200
    functionLinenumberEnd: 255
    functionName: rx_frame
    functionSourceFile: /src/hostap/wlantest/process.c
    functionUses: 0
    functionsReached:
    - rx_ack
    - wpa_printf
    - rx_get_sta
    - rx_update_ps
    - WLAN_FC_GET_STYPE
    - wpa_hexdump
    - os_memcpy
    - rx_duplicate
    - rx_mgmt
    - WLAN_FC_GET_TYPE
    - le_to_host16
    - rx_data
    linkageType: ''
    returnType: void
    signature: void rx_frame(struct wlantest *wt, const u8 *data, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/process.c:260,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/process.c:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - wt
    - data
    - len
    - ack
    argTypes:
    - struct wlantest*
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 262
    functionName: tx_status
    functionSourceFile: /src/hostap/wlantest/process.c
    functionUses: 11
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    linkageType: ''
    returnType: void
    signature: void tx_status(struct wlantest *wt, const u8 *data, size_t len, int
      ack)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WPA_GET_LE32
      Src: /src/hostap/wlantest/process.c:267,1
    - Dst: ieee80211_crc32
      Src: /src/hostap/wlantest/process.c:267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - frame
    - frame_len
    - fcs
    argTypes:
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 270
    functionName: check_fcs
    functionSourceFile: /src/hostap/wlantest/process.c
    functionUses: 0
    functionsReached:
    - ieee80211_crc32
    - WPA_GET_LE32
    linkageType: ''
    returnType: int
    signature: int check_fcs(const u8 *frame, size_t frame_len, const u8 *fcs)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/process.c:284,1
    - Dst: ieee80211_radiotap_iterator_init
      Src: /src/hostap/wlantest/process.c:286,1
    - Dst: add_note
      Src: /src/hostap/wlantest/process.c:287,1
    - Dst: ieee80211_radiotap_iterator_next
      Src: /src/hostap/wlantest/process.c:292,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/process.c:293,1
    - Dst: add_note
      Src: /src/hostap/wlantest/process.c:298,1
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/process.c:312,1
    - Dst: WPA_GET_BE24
      Src: /src/hostap/wlantest/process.c:316,1
    - Dst: add_note
      Src: /src/hostap/wlantest/process.c:318,1
    - Dst: check_fcs
      Src: /src/hostap/wlantest/process.c:331,1
    - Dst: add_note
      Src: /src/hostap/wlantest/process.c:332,1
    - Dst: rx_frame
      Src: /src/hostap/wlantest/process.c:342,1
    - Dst: add_note
      Src: /src/hostap/wlantest/process.c:344,1
    - Dst: tx_status
      Src: /src/hostap/wlantest/process.c:346,1
    - Dst: rx_frame
      Src: /src/hostap/wlantest/process.c:348,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 55
    argCount: 3
    argNames:
    - wt
    - data
    - len
    argTypes:
    - struct wlantest*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 273
    functionDepth: 10
    functionLinenumber: 273
    functionLinenumberEnd: 350
    functionName: wlantest_process
    functionSourceFile: /src/hostap/wlantest/process.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    - ieee80211_radiotap_iterator_init
    - check_fcs
    - ieee80211_radiotap_iterator_next
    - add_note
    - tx_status
    - WPA_GET_BE24
    - le_to_host16
    - rx_frame
    linkageType: ''
    returnType: void
    signature: void wlantest_process(struct wlantest *wt, const u8 *data, size_t len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/process.c:360,1
    - Dst: WPA_GET_LE32
      Src: /src/hostap/wlantest/process.c:364,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/process.c:367,1
    - Dst: check_fcs
      Src: /src/hostap/wlantest/process.c:379,1
    - Dst: add_note
      Src: /src/hostap/wlantest/process.c:380,1
    - Dst: rx_frame
      Src: /src/hostap/wlantest/process.c:387,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - wt
    - data
    - len
    argTypes:
    - struct wlantest*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 353
    functionDepth: 10
    functionLinenumber: 353
    functionLinenumberEnd: 388
    functionName: wlantest_process_prism
    functionSourceFile: /src/hostap/wlantest/process.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    - check_fcs
    - WPA_GET_LE32
    - add_note
    - rx_frame
    linkageType: ''
    returnType: void
    signature: void wlantest_process_prism(struct wlantest *wt, const u8 *data, size_t
      len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/process.c:393,1
    - Dst: check_fcs
      Src: /src/hostap/wlantest/process.c:400,1
    - Dst: add_note
      Src: /src/hostap/wlantest/process.c:401,1
    - Dst: rx_frame
      Src: /src/hostap/wlantest/process.c:408,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - wt
    - data
    - len
    argTypes:
    - struct wlantest*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 391
    functionDepth: 10
    functionLinenumber: 391
    functionLinenumberEnd: 409
    functionName: wlantest_process_80211
    functionSourceFile: /src/hostap/wlantest/process.c
    functionUses: 1
    functionsReached:
    - check_fcs
    - rx_frame
    - wpa_hexdump
    - add_note
    linkageType: ''
    returnType: void
    signature: void wlantest_process_80211(struct wlantest *wt, const u8 *data, size_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wt
    - ifname
    argTypes:
    - struct wlantest*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: monitor_init
    functionSourceFile: /src/hostap/wlantest/monitor.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int monitor_init(struct wlantest *wt, const char *ifname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wt
    - ifname
    argTypes:
    - struct wlantest*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: monitor_init_wired
    functionSourceFile: /src/hostap/wlantest/monitor.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int monitor_init_wired(struct wlantest *wt, const char *ifname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - wt
    argTypes:
    - struct wlantest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: monitor_deinit
    functionSourceFile: /src/hostap/wlantest/monitor.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void monitor_deinit(struct wlantest *wt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: recv
      Src: /src/hostap/wlantest/monitor.c:46,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/monitor.c:48,1
    - Dst: strerror
      Src: /src/hostap/wlantest/monitor.c:48,1
    - Dst: clear_notes
      Src: /src/hostap/wlantest/monitor.c:52,1
    - Dst: os_free
      Src: /src/hostap/wlantest/monitor.c:53,1
    - Dst: write_pcap_captured
      Src: /src/hostap/wlantest/monitor.c:55,1
    - Dst: wlantest_process
      Src: /src/hostap/wlantest/monitor.c:56,1
    - Dst: write_pcapng_captured
      Src: /src/hostap/wlantest/monitor.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - sock
    - eloop_ctx
    - sock_ctx
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 40
    functionDepth: 11
    functionLinenumber: 40
    functionLinenumberEnd: 58
    functionName: monitor_read
    functionSourceFile: /src/hostap/wlantest/monitor.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - strerror
    - wlantest_process
    - recv
    - clear_notes
    - write_pcapng_captured
    - os_free
    - write_pcap_captured
    linkageType: ''
    returnType: void
    signature: void monitor_read(int sock, void *eloop_ctx, void *sock_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: recv
      Src: /src/hostap/wlantest/monitor.c:67,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/monitor.c:69,1
    - Dst: strerror
      Src: /src/hostap/wlantest/monitor.c:69,1
    - Dst: wlantest_process_wired
      Src: /src/hostap/wlantest/monitor.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - sock
    - eloop_ctx
    - sock_ctx
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 61
    functionDepth: 7
    functionLinenumber: 61
    functionLinenumberEnd: 74
    functionName: monitor_read_wired
    functionSourceFile: /src/hostap/wlantest/monitor.c
    functionUses: 0
    functionsReached:
    - wlantest_process_wired
    - wpa_printf
    - recv
    - strerror
    linkageType: ''
    returnType: void
    signature: void monitor_read_wired(int sock, void *eloop_ctx, void *sock_ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/wlantest/monitor.c:81,1
    - Dst: if_nametoindex
      Src: /src/hostap/wlantest/monitor.c:83,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/monitor.c:85,1
    - Dst: socket
      Src: /src/hostap/wlantest/monitor.c:90,1
    - Dst: htons
      Src: /src/hostap/wlantest/monitor.c:90,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/monitor.c:92,1
    - Dst: strerror
      Src: /src/hostap/wlantest/monitor.c:93,1
    - Dst: bind
      Src: /src/hostap/wlantest/monitor.c:97,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/monitor.c:98,1
    - Dst: strerror
      Src: /src/hostap/wlantest/monitor.c:98,1
    - Dst: close
      Src: /src/hostap/wlantest/monitor.c:99,1
    - Dst: eloop_register_read_sock
      Src: /src/hostap/wlantest/monitor.c:104,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/monitor.c:106,1
    - Dst: close
      Src: /src/hostap/wlantest/monitor.c:108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - wt
    - ifname
    argTypes:
    - struct wlantest*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 114
    functionName: monitor_init
    functionSourceFile: /src/hostap/wlantest/monitor.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - strerror
    - eloop_register_read_sock
    - socket
    - close
    - bind
    - htons
    - if_nametoindex
    - os_memset
    linkageType: ''
    returnType: int
    signature: int monitor_init(struct wlantest *wt, const char *ifname)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/wlantest/monitor.c:121,1
    - Dst: if_nametoindex
      Src: /src/hostap/wlantest/monitor.c:123,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/monitor.c:125,1
    - Dst: socket
      Src: /src/hostap/wlantest/monitor.c:130,1
    - Dst: htons
      Src: /src/hostap/wlantest/monitor.c:130,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/monitor.c:132,1
    - Dst: strerror
      Src: /src/hostap/wlantest/monitor.c:133,1
    - Dst: bind
      Src: /src/hostap/wlantest/monitor.c:137,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/monitor.c:138,1
    - Dst: strerror
      Src: /src/hostap/wlantest/monitor.c:138,1
    - Dst: close
      Src: /src/hostap/wlantest/monitor.c:139,1
    - Dst: eloop_register_read_sock
      Src: /src/hostap/wlantest/monitor.c:144,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/monitor.c:146,1
    - Dst: close
      Src: /src/hostap/wlantest/monitor.c:148,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - wt
    - ifname
    argTypes:
    - struct wlantest*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 154
    functionName: monitor_init_wired
    functionSourceFile: /src/hostap/wlantest/monitor.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - strerror
    - eloop_register_read_sock
    - socket
    - close
    - bind
    - htons
    - if_nametoindex
    - os_memset
    linkageType: ''
    returnType: int
    signature: int monitor_init_wired(struct wlantest *wt, const char *ifname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eloop_unregister_read_sock
      Src: /src/hostap/wlantest/monitor.c:160,1
    - Dst: close
      Src: /src/hostap/wlantest/monitor.c:161,1
    - Dst: eloop_unregister_read_sock
      Src: /src/hostap/wlantest/monitor.c:166,1
    - Dst: close
      Src: /src/hostap/wlantest/monitor.c:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - wt
    argTypes:
    - struct wlantest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 170
    functionName: monitor_deinit
    functionSourceFile: /src/hostap/wlantest/monitor.c
    functionUses: 1
    functionsReached:
    - eloop_unregister_read_sock
    - close
    linkageType: ''
    returnType: void
    signature: void monitor_deinit(struct wlantest *wt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: S_SWAP
      Src: /src/hostap/wlantest/wep.c:30,1
    - Dst: S_SWAP
      Src: /src/hostap/wlantest/wep.c:39,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - key
    - buf
    - plen
    argTypes:
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 43
    functionName: wep_crypt
    functionSourceFile: /src/hostap/wlantest/wep.c
    functionUses: 2
    functionsReached:
    - S_SWAP
    linkageType: ''
    returnType: void
    signature: void wep_crypt(u8 *key, u8 *buf, size_t plen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: S_SWAP
    functionSourceFile: /src/hostap/wlantest/wep.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S_SWAP(a,b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/wep.c:60,1
    - Dst: wep_crypt
      Src: /src/hostap/wlantest/wep.c:61,1
    - Dst: ieee80211_crc32
      Src: /src/hostap/wlantest/wep.c:62,1
    - Dst: WPA_GET_LE32
      Src: /src/hostap/wlantest/wep.c:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - key
    - key_len
    - data
    - data_len
    - plain
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 68
    functionName: try_wep
    functionSourceFile: /src/hostap/wlantest/wep.c
    functionUses: 0
    functionsReached:
    - ieee80211_crc32
    - os_memcpy
    - WPA_GET_LE32
    - wep_crypt
    linkageType: ''
    returnType: int
    signature: "int try_wep(const u8 *key, size_t key_len, const u8 *data,\n\t\t   size_t
      data_len, u8 *plain)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_empty
      Src: /src/hostap/wlantest/wep.c:79,1
    - Dst: os_malloc
      Src: /src/hostap/wlantest/wep.c:84,1
    - Dst: dl_list_for_each
      Src: /src/hostap/wlantest/wep.c:88,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/wep.c:89,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/wep.c:90,1
    - Dst: try_wep
      Src: /src/hostap/wlantest/wep.c:91,1
    - Dst: os_free
      Src: /src/hostap/wlantest/wep.c:98,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 5
    argNames:
    - wt
    - hdr
    - data
    - data_len
    - decrypted_len
    argTypes:
    - struct wlantest*
    - struct ieee80211_hdr*
    - u8*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 104
    functionName: wep_decrypt
    functionSourceFile: /src/hostap/wlantest/wep.c
    functionUses: 2
    functionsReached:
    - os_memcpy
    - dl_list_empty
    - os_malloc
    - dl_list_for_each
    - try_wep
    - os_free
    linkageType: ''
    returnType: u8
    signature: "u8 * wep_decrypt(struct wlantest *wt, const struct ieee80211_hdr *hdr,\n\t\t
      const u8 *data, size_t data_len, size_t *decrypted_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/wlantest/bip.c:27,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/bip.c:30,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/wlantest/bip.c:34,1
    - Dst: WPA_PUT_LE48
      Src: /src/hostap/wlantest/bip.c:36,1
    - Dst: os_memset
      Src: /src/hostap/wlantest/bip.c:38,1
    - Dst: os_malloc
      Src: /src/hostap/wlantest/bip.c:40,1
    - Dst: os_free
      Src: /src/hostap/wlantest/bip.c:42,1
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/bip.c:48,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/wlantest/bip.c:50,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/bip.c:51,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/bip.c:52,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/bip.c:53,1
    - Dst: omac1_aes_128
      Src: /src/hostap/wlantest/bip.c:55,1
    - Dst: os_free
      Src: /src/hostap/wlantest/bip.c:56,1
    - Dst: os_free
      Src: /src/hostap/wlantest/bip.c:57,1
    - Dst: os_free
      Src: /src/hostap/wlantest/bip.c:60,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/bip.c:62,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/bip.c:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 36
    argCount: 7
    argNames:
    - igtk
    - igtk_len
    - frame
    - len
    - ipn
    - keyid
    - prot_len
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - u64
    - int
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 67
    functionName: bip_protect
    functionSourceFile: /src/hostap/wlantest/bip.c
    functionUses: 2
    functionsReached:
    - os_memcpy
    - wpa_hexdump
    - os_malloc
    - le_to_host16
    - omac1_aes_128
    - os_free
    - WPA_PUT_LE16
    - WPA_PUT_LE48
    - os_memset
    linkageType: ''
    returnType: u8
    signature: "u8 * bip_protect(const u8 *igtk, size_t igtk_len, u8 *frame, size_t
      len,\n\t\t u64 ipn, int keyid, size_t *prot_len)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/wlantest/bip.c:92,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/bip.c:95,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/wlantest/bip.c:106,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/bip.c:108,1
    - Dst: os_memset
      Src: /src/hostap/wlantest/bip.c:111,1
    - Dst: os_malloc
      Src: /src/hostap/wlantest/bip.c:116,1
    - Dst: os_free
      Src: /src/hostap/wlantest/bip.c:118,1
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/bip.c:125,1
    - Dst: WLAN_FC_GET_TYPE
      Src: /src/hostap/wlantest/bip.c:126,1
    - Dst: WLAN_FC_GET_STYPE
      Src: /src/hostap/wlantest/bip.c:127,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/bip.c:128,1
    - Dst: os_free
      Src: /src/hostap/wlantest/bip.c:129,1
    - Dst: os_free
      Src: /src/hostap/wlantest/bip.c:130,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/wlantest/bip.c:134,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/bip.c:135,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/bip.c:136,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/bip.c:143,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/bip.c:145,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/bip.c:146,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/bip.c:156,1
    - Dst: os_memset
      Src: /src/hostap/wlantest/bip.c:158,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/bip.c:161,1
    - Dst: os_free
      Src: /src/hostap/wlantest/bip.c:163,1
    - Dst: os_free
      Src: /src/hostap/wlantest/bip.c:164,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/bip.c:170,1
    - Dst: omac1_aes_128
      Src: /src/hostap/wlantest/bip.c:173,1
    - Dst: os_free
      Src: /src/hostap/wlantest/bip.c:174,1
    - Dst: os_free
      Src: /src/hostap/wlantest/bip.c:175,1
    - Dst: os_free
      Src: /src/hostap/wlantest/bip.c:178,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/bip.c:180,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/bip.c:181,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 75
    argCount: 8
    argNames:
    - igtk
    - igtk_len
    - frame
    - len
    - ipn
    - keyid
    - bce
    - prot_len
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - int
    - bool
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 185
    functionName: bip_protect_s1g_beacon
    functionSourceFile: /src/hostap/wlantest/bip.c
    functionUses: 4
    functionsReached:
    - os_memcpy
    - wpa_printf
    - WLAN_FC_GET_STYPE
    - wpa_hexdump
    - os_malloc
    - WLAN_FC_GET_TYPE
    - omac1_aes_128
    - os_free
    - WPA_PUT_LE16
    - le_to_host16
    - os_memset
    linkageType: ''
    returnType: u8
    signature: "u8 * bip_protect_s1g_beacon(const u8 *igtk, size_t igtk_len, const
      u8 *frame,\n\t\t\t    size_t len, const u8 *ipn, int keyid, bool bce,\n\t\t\t
      \   size_t *prot_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/wlantest/bip.c:198,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/bip.c:201,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/wlantest/bip.c:205,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/bip.c:207,1
    - Dst: os_memset
      Src: /src/hostap/wlantest/bip.c:209,1
    - Dst: os_malloc
      Src: /src/hostap/wlantest/bip.c:211,1
    - Dst: os_free
      Src: /src/hostap/wlantest/bip.c:213,1
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/bip.c:219,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/wlantest/bip.c:221,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/bip.c:222,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/bip.c:223,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/bip.c:224,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/bip.c:228,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/bip.c:236,1
    - Dst: aes_gmac
      Src: /src/hostap/wlantest/bip.c:239,1
    - Dst: os_free
      Src: /src/hostap/wlantest/bip.c:241,1
    - Dst: os_free
      Src: /src/hostap/wlantest/bip.c:242,1
    - Dst: os_free
      Src: /src/hostap/wlantest/bip.c:245,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/bip.c:247,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 44
    argCount: 7
    argNames:
    - igtk
    - igtk_len
    - frame
    - len
    - ipn
    - keyid
    - prot_len
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - int
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 251
    functionName: bip_gmac_protect
    functionSourceFile: /src/hostap/wlantest/bip.c
    functionUses: 2
    functionsReached:
    - os_memcpy
    - wpa_hexdump
    - aes_gmac
    - os_malloc
    - os_free
    - WPA_PUT_LE16
    - le_to_host16
    - os_memset
    linkageType: ''
    returnType: u8
    signature: "u8 * bip_gmac_protect(const u8 *igtk, size_t igtk_len, u8 *frame,
      size_t len,\n\t\t      u8 *ipn, int keyid, size_t *prot_len)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/wlantest/bip.c:273,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/bip.c:276,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/wlantest/bip.c:286,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/bip.c:288,1
    - Dst: os_memset
      Src: /src/hostap/wlantest/bip.c:291,1
    - Dst: os_malloc
      Src: /src/hostap/wlantest/bip.c:296,1
    - Dst: os_free
      Src: /src/hostap/wlantest/bip.c:298,1
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/bip.c:305,1
    - Dst: WLAN_FC_GET_TYPE
      Src: /src/hostap/wlantest/bip.c:306,1
    - Dst: WLAN_FC_GET_STYPE
      Src: /src/hostap/wlantest/bip.c:307,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/bip.c:308,1
    - Dst: os_free
      Src: /src/hostap/wlantest/bip.c:309,1
    - Dst: os_free
      Src: /src/hostap/wlantest/bip.c:310,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/wlantest/bip.c:314,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/bip.c:315,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/bip.c:316,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/bip.c:323,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/bip.c:325,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/bip.c:326,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/bip.c:336,1
    - Dst: os_memset
      Src: /src/hostap/wlantest/bip.c:338,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/bip.c:341,1
    - Dst: os_free
      Src: /src/hostap/wlantest/bip.c:343,1
    - Dst: os_free
      Src: /src/hostap/wlantest/bip.c:344,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/bip.c:349,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/bip.c:352,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/bip.c:360,1
    - Dst: aes_gmac
      Src: /src/hostap/wlantest/bip.c:363,1
    - Dst: os_free
      Src: /src/hostap/wlantest/bip.c:365,1
    - Dst: os_free
      Src: /src/hostap/wlantest/bip.c:366,1
    - Dst: os_free
      Src: /src/hostap/wlantest/bip.c:369,1
    - Dst: wpa_hexdump
      Src: /src/hostap/wlantest/bip.c:371,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 83
    argCount: 8
    argNames:
    - igtk
    - igtk_len
    - frame
    - len
    - ipn
    - keyid
    - bce
    - prot_len
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - int
    - bool
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 375
    functionName: bip_gmac_protect_s1g_beacon
    functionSourceFile: /src/hostap/wlantest/bip.c
    functionUses: 8
    functionsReached:
    - os_memcpy
    - wpa_printf
    - WLAN_FC_GET_STYPE
    - wpa_hexdump
    - aes_gmac
    - os_malloc
    - WLAN_FC_GET_TYPE
    - os_free
    - WPA_PUT_LE16
    - le_to_host16
    - os_memset
    linkageType: ''
    returnType: u8
    signature: "u8 * bip_gmac_protect_s1g_beacon(const u8 *igtk, size_t igtk_len,\n\t\t\t\t
      const u8 *frame, size_t len, const u8 *ipn,\n\t\t\t\t int keyid, bool bce, size_t
      *prot_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WPA_GET_BE32
      Src: /src/hostap/wlantest/ctrl.c:29,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/wlantest/ctrl.c:31,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/ctrl.c:34,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - buf
    - buflen
    - attr
    - len
    argTypes:
    - u8*
    - size_t
    - enum wlantest_ctrl_attr
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 46
    functionName: attr_get
    functionSourceFile: /src/hostap/wlantest/ctrl.c
    functionUses: 12
    functionsReached:
    - wpa_printf
    - WPA_GET_BE32
    linkageType: ''
    returnType: u8
    signature: "u8 * attr_get(u8 *buf, size_t buflen, enum wlantest_ctrl_attr attr,\n\t\t
      \    size_t *len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: attr_get
      Src: /src/hostap/wlantest/ctrl.c:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - buf
    - buflen
    - attr
    argTypes:
    - u8*
    - size_t
    - enum wlantest_ctrl_attr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 58
    functionName: attr_get_macaddr
    functionSourceFile: /src/hostap/wlantest/ctrl.c
    functionUses: 0
    functionsReached:
    - attr_get
    linkageType: ''
    returnType: u8
    signature: "u8 * attr_get_macaddr(u8 *buf, size_t buflen,\n\t\t\t     enum wlantest_ctrl_attr
      attr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: attr_get
      Src: /src/hostap/wlantest/ctrl.c:65,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/wlantest/ctrl.c:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - buf
    - buflen
    - attr
    argTypes:
    - u8*
    - size_t
    - enum wlantest_ctrl_attr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: attr_get_int
    functionSourceFile: /src/hostap/wlantest/ctrl.c
    functionUses: 0
    functionsReached:
    - WPA_GET_BE32
    - attr_get
    linkageType: ''
    returnType: int
    signature: int attr_get_int(u8 *buf, size_t buflen, enum wlantest_ctrl_attr attr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/wlantest/ctrl.c:75,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/wlantest/ctrl.c:79,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/wlantest/ctrl.c:81,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/ctrl.c:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - pos
    - end
    - attr
    - str
    argTypes:
    - u8*
    - u8*
    - enum wlantest_ctrl_attr
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 86
    functionName: attr_add_str
    functionSourceFile: /src/hostap/wlantest/ctrl.c
    functionUses: 2
    functionsReached:
    - os_strlen
    - WPA_PUT_BE32
    - os_memcpy
    linkageType: ''
    returnType: u8
    signature: "u8 * attr_add_str(u8 *pos, u8 *end, enum wlantest_ctrl_attr attr,\n\t\t\t
      const char *str)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/wlantest/ctrl.c:94,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/wlantest/ctrl.c:96,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/wlantest/ctrl.c:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - pos
    - end
    - attr
    - val
    argTypes:
    - u8*
    - u8*
    - enum wlantest_ctrl_attr
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 101
    functionName: attr_add_be32
    functionSourceFile: /src/hostap/wlantest/ctrl.c
    functionUses: 9
    functionsReached:
    - WPA_PUT_BE32
    linkageType: ''
    returnType: u8
    signature: "u8 * attr_add_be32(u8 *pos, u8 *end, enum wlantest_ctrl_attr attr,\n\t\t\t
      \ u32 val)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/ctrl.c:107,1
    - Dst: close
      Src: /src/hostap/wlantest/ctrl.c:111,1
    - Dst: eloop_unregister_read_sock
      Src: /src/hostap/wlantest/ctrl.c:112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - wt
    - sock
    argTypes:
    - struct wlantest*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 117
    functionName: ctrl_disconnect
    functionSourceFile: /src/hostap/wlantest/ctrl.c
    functionUses: 0
    functionsReached:
    - eloop_unregister_read_sock
    - wpa_printf
    - close
    linkageType: ''
    returnType: void
    signature: void ctrl_disconnect(struct wlantest *wt, int sock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: send
      Src: /src/hostap/wlantest/ctrl.c:123,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/ctrl.c:124,1
    - Dst: strerror
      Src: /src/hostap/wlantest/ctrl.c:124,1
    - Dst: ctrl_disconnect
      Src: /src/hostap/wlantest/ctrl.c:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - wt
    - sock
    - buf
    - len
    argTypes:
    - struct wlantest*
    - int
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 127
    functionName: ctrl_send
    functionSourceFile: /src/hostap/wlantest/ctrl.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - ctrl_disconnect
    - strerror
    - send
    linkageType: ''
    returnType: void
    signature: "void ctrl_send(struct wlantest *wt, int sock, const u8 *buf,\n\t\t
      \     size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/wlantest/ctrl.c:134,1
    - Dst: ctrl_send
      Src: /src/hostap/wlantest/ctrl.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - wt
    - sock
    - cmd
    argTypes:
    - struct wlantest*
    - int
    - enum wlantest_ctrl_cmd
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 136
    functionName: ctrl_send_simple
    functionSourceFile: /src/hostap/wlantest/ctrl.c
    functionUses: 0
    functionsReached:
    - WPA_PUT_BE32
    - ctrl_send
    linkageType: ''
    returnType: void
    signature: "void ctrl_send_simple(struct wlantest *wt, int sock,\n\t\t\t     enum
      wlantest_ctrl_cmd cmd)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: attr_get
      Src: /src/hostap/wlantest/ctrl.c:146,1
    - Dst: ctrl_send_simple
      Src: /src/hostap/wlantest/ctrl.c:148,1
    - Dst: bss_find
      Src: /src/hostap/wlantest/ctrl.c:152,1
    - Dst: ctrl_send_simple
      Src: /src/hostap/wlantest/ctrl.c:154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - wt
    - sock
    - cmd
    - clen
    argTypes:
    - struct wlantest*
    - int
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 139
    functionDepth: 3
    functionLinenumber: 139
    functionLinenumberEnd: 159
    functionName: ctrl_get_bss
    functionSourceFile: /src/hostap/wlantest/ctrl.c
    functionUses: 0
    functionsReached:
    - bss_find
    - ctrl_send_simple
    - attr_get
    linkageType: ''
    returnType: struct wlantest_bss
    signature: "struct wlantest_bss * ctrl_get_bss(struct wlantest *wt, int sock,\n\t\t\t\t\t
      \ u8 *cmd, size_t clen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: attr_get
      Src: /src/hostap/wlantest/ctrl.c:173,1
    - Dst: ctrl_send_simple
      Src: /src/hostap/wlantest/ctrl.c:175,1
    - Dst: sta_find
      Src: /src/hostap/wlantest/ctrl.c:179,1
    - Dst: ctrl_send_simple
      Src: /src/hostap/wlantest/ctrl.c:181,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - wt
    - sock
    - cmd
    - clen
    - bss
    argTypes:
    - struct wlantest*
    - int
    - u8*
    - size_t
    - struct wlantest_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 162
    functionDepth: 3
    functionLinenumber: 162
    functionLinenumberEnd: 186
    functionName: ctrl_get_sta
    functionSourceFile: /src/hostap/wlantest/ctrl.c
    functionUses: 0
    functionsReached:
    - sta_find
    - ctrl_send_simple
    - attr_get
    linkageType: ''
    returnType: struct wlantest_sta
    signature: "struct wlantest_sta * ctrl_get_sta(struct wlantest *wt, int sock,\n\t\t\t\t\t
      \ u8 *cmd, size_t clen,\n\t\t\t\t\t  struct wlantest_bss *bss)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: attr_get
      Src: /src/hostap/wlantest/ctrl.c:200,1
    - Dst: ctrl_send_simple
      Src: /src/hostap/wlantest/ctrl.c:202,1
    - Dst: sta_find
      Src: /src/hostap/wlantest/ctrl.c:206,1
    - Dst: ctrl_send_simple
      Src: /src/hostap/wlantest/ctrl.c:208,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - wt
    - sock
    - cmd
    - clen
    - bss
    argTypes:
    - struct wlantest*
    - int
    - u8*
    - size_t
    - struct wlantest_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 189
    functionDepth: 3
    functionLinenumber: 189
    functionLinenumberEnd: 213
    functionName: ctrl_get_sta2
    functionSourceFile: /src/hostap/wlantest/ctrl.c
    functionUses: 0
    functionsReached:
    - sta_find
    - ctrl_send_simple
    - attr_get
    linkageType: ''
    returnType: struct wlantest_sta
    signature: "struct wlantest_sta * ctrl_get_sta2(struct wlantest *wt, int sock,\n\t\t\t\t\t
      \  u8 *cmd, size_t clen,\n\t\t\t\t\t   struct wlantest_bss *bss)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/wlantest/ctrl.c:222,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/wlantest/ctrl.c:224,1
    - Dst: dl_list_for_each
      Src: /src/hostap/wlantest/ctrl.c:229,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/ctrl.c:232,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/wlantest/ctrl.c:236,1
    - Dst: ctrl_send
      Src: /src/hostap/wlantest/ctrl.c:237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - wt
    - sock
    argTypes:
    - struct wlantest*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 238
    functionName: ctrl_list_bss
    functionSourceFile: /src/hostap/wlantest/ctrl.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    - WPA_PUT_BE32
    - os_memcpy
    - ctrl_send
    linkageType: ''
    returnType: void
    signature: void ctrl_list_bss(struct wlantest *wt, int sock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ctrl_get_bss
      Src: /src/hostap/wlantest/ctrl.c:247,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/wlantest/ctrl.c:252,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/wlantest/ctrl.c:254,1
    - Dst: dl_list_for_each
      Src: /src/hostap/wlantest/ctrl.c:259,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/ctrl.c:262,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/wlantest/ctrl.c:266,1
    - Dst: ctrl_send
      Src: /src/hostap/wlantest/ctrl.c:267,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 4
    argNames:
    - wt
    - sock
    - cmd
    - clen
    argTypes:
    - struct wlantest*
    - int
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 241
    functionDepth: 4
    functionLinenumber: 241
    functionLinenumberEnd: 268
    functionName: ctrl_list_sta
    functionSourceFile: /src/hostap/wlantest/ctrl.c
    functionUses: 0
    functionsReached:
    - ctrl_get_bss
    - os_memcpy
    - ctrl_send
    - dl_list_for_each
    - WPA_PUT_BE32
    linkageType: ''
    returnType: void
    signature: void ctrl_list_sta(struct wlantest *wt, int sock, u8 *cmd, size_t clen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/ctrl.c:273,1
    - Dst: bss_flush
      Src: /src/hostap/wlantest/ctrl.c:274,1
    - Dst: ctrl_send_simple
      Src: /src/hostap/wlantest/ctrl.c:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - wt
    - sock
    argTypes:
    - struct wlantest*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 271
    functionDepth: 4
    functionLinenumber: 271
    functionLinenumberEnd: 276
    functionName: ctrl_flush
    functionSourceFile: /src/hostap/wlantest/ctrl.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - bss_flush
    - ctrl_send_simple
    linkageType: ''
    returnType: void
    signature: void ctrl_flush(struct wlantest *wt, int sock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ctrl_get_bss
      Src: /src/hostap/wlantest/ctrl.c:285,1
    - Dst: ctrl_get_sta
      Src: /src/hostap/wlantest/ctrl.c:286,1
    - Dst: ctrl_send_simple
      Src: /src/hostap/wlantest/ctrl.c:288,1
    - Dst: os_memset
      Src: /src/hostap/wlantest/ctrl.c:292,1
    - Dst: os_memset
      Src: /src/hostap/wlantest/ctrl.c:293,1
    - Dst: os_memset
      Src: /src/hostap/wlantest/ctrl.c:294,1
    - Dst: ctrl_send_simple
      Src: /src/hostap/wlantest/ctrl.c:295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - wt
    - sock
    - cmd
    - clen
    argTypes:
    - struct wlantest*
    - int
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 279
    functionDepth: 4
    functionLinenumber: 279
    functionLinenumberEnd: 296
    functionName: ctrl_clear_sta_counters
    functionSourceFile: /src/hostap/wlantest/ctrl.c
    functionUses: 0
    functionsReached:
    - ctrl_get_bss
    - ctrl_get_sta
    - ctrl_send_simple
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void ctrl_clear_sta_counters(struct wlantest *wt, int sock, u8 *cmd,\n\t\t\t\t
      \   size_t clen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ctrl_get_bss
      Src: /src/hostap/wlantest/ctrl.c:304,1
    - Dst: ctrl_send_simple
      Src: /src/hostap/wlantest/ctrl.c:306,1
    - Dst: os_memset
      Src: /src/hostap/wlantest/ctrl.c:310,1
    - Dst: ctrl_send_simple
      Src: /src/hostap/wlantest/ctrl.c:311,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - wt
    - sock
    - cmd
    - clen
    argTypes:
    - struct wlantest*
    - int
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 299
    functionDepth: 4
    functionLinenumber: 299
    functionLinenumberEnd: 312
    functionName: ctrl_clear_bss_counters
    functionSourceFile: /src/hostap/wlantest/ctrl.c
    functionUses: 0
    functionsReached:
    - ctrl_get_bss
    - ctrl_send_simple
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void ctrl_clear_bss_counters(struct wlantest *wt, int sock, u8 *cmd,\n\t\t\t\t
      \   size_t clen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ctrl_get_bss
      Src: /src/hostap/wlantest/ctrl.c:323,1
    - Dst: ctrl_get_sta
      Src: /src/hostap/wlantest/ctrl.c:324,1
    - Dst: ctrl_get_sta2
      Src: /src/hostap/wlantest/ctrl.c:325,1
    - Dst: ctrl_send_simple
      Src: /src/hostap/wlantest/ctrl.c:327,1
    - Dst: dl_list_for_each
      Src: /src/hostap/wlantest/ctrl.c:331,1
    - Dst: os_memset
      Src: /src/hostap/wlantest/ctrl.c:334,1
    - Dst: ctrl_send_simple
      Src: /src/hostap/wlantest/ctrl.c:336,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 4
    argNames:
    - wt
    - sock
    - cmd
    - clen
    argTypes:
    - struct wlantest*
    - int
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 315
    functionDepth: 4
    functionLinenumber: 315
    functionLinenumberEnd: 337
    functionName: ctrl_clear_tdls_counters
    functionSourceFile: /src/hostap/wlantest/ctrl.c
    functionUses: 0
    functionsReached:
    - ctrl_get_bss
    - ctrl_get_sta2
    - ctrl_get_sta
    - ctrl_send_simple
    - dl_list_for_each
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void ctrl_clear_tdls_counters(struct wlantest *wt, int sock, u8 *cmd,\n\t\t\t\t
      \    size_t clen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ctrl_get_bss
      Src: /src/hostap/wlantest/ctrl.c:350,1
    - Dst: ctrl_get_sta
      Src: /src/hostap/wlantest/ctrl.c:351,1
    - Dst: attr_get
      Src: /src/hostap/wlantest/ctrl.c:355,1
    - Dst: ctrl_send_simple
      Src: /src/hostap/wlantest/ctrl.c:357,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/wlantest/ctrl.c:360,1
    - Dst: ctrl_send_simple
      Src: /src/hostap/wlantest/ctrl.c:362,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/wlantest/ctrl.c:368,1
    - Dst: attr_add_be32
      Src: /src/hostap/wlantest/ctrl.c:370,1
    - Dst: ctrl_send
      Src: /src/hostap/wlantest/ctrl.c:372,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 4
    argNames:
    - wt
    - sock
    - cmd
    - clen
    argTypes:
    - struct wlantest*
    - int
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 340
    functionDepth: 4
    functionLinenumber: 340
    functionLinenumberEnd: 373
    functionName: ctrl_get_sta_counter
    functionSourceFile: /src/hostap/wlantest/ctrl.c
    functionUses: 0
    functionsReached:
    - ctrl_get_bss
    - ctrl_send
    - ctrl_get_sta
    - ctrl_send_simple
    - WPA_PUT_BE32
    - attr_add_be32
    - WPA_GET_BE32
    - attr_get
    linkageType: ''
    returnType: void
    signature: "void ctrl_get_sta_counter(struct wlantest *wt, int sock, u8 *cmd,\n\t\t\t\t
      size_t clen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ctrl_get_bss
      Src: /src/hostap/wlantest/ctrl.c:385,1
    - Dst: attr_get
      Src: /src/hostap/wlantest/ctrl.c:389,1
    - Dst: ctrl_send_simple
      Src: /src/hostap/wlantest/ctrl.c:391,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/wlantest/ctrl.c:394,1
    - Dst: ctrl_send_simple
      Src: /src/hostap/wlantest/ctrl.c:396,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/wlantest/ctrl.c:402,1
    - Dst: attr_add_be32
      Src: /src/hostap/wlantest/ctrl.c:404,1
    - Dst: ctrl_send
      Src: /src/hostap/wlantest/ctrl.c:406,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - wt
    - sock
    - cmd
    - clen
    argTypes:
    - struct wlantest*
    - int
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 376
    functionDepth: 4
    functionLinenumber: 376
    functionLinenumberEnd: 407
    functionName: ctrl_get_bss_counter
    functionSourceFile: /src/hostap/wlantest/ctrl.c
    functionUses: 0
    functionsReached:
    - ctrl_get_bss
    - ctrl_send
    - ctrl_send_simple
    - WPA_PUT_BE32
    - attr_add_be32
    - WPA_GET_BE32
    - attr_get
    linkageType: ''
    returnType: void
    signature: "void ctrl_get_bss_counter(struct wlantest *wt, int sock, u8 *cmd,\n\t\t\t\t
      size_t clen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ctrl_get_bss
      Src: /src/hostap/wlantest/ctrl.c:423,1
    - Dst: ctrl_get_sta
      Src: /src/hostap/wlantest/ctrl.c:424,1
    - Dst: ctrl_get_sta2
      Src: /src/hostap/wlantest/ctrl.c:425,1
    - Dst: ctrl_send_simple
      Src: /src/hostap/wlantest/ctrl.c:427,1
    - Dst: attr_get
      Src: /src/hostap/wlantest/ctrl.c:431,1
    - Dst: ctrl_send_simple
      Src: /src/hostap/wlantest/ctrl.c:433,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/wlantest/ctrl.c:436,1
    - Dst: ctrl_send_simple
      Src: /src/hostap/wlantest/ctrl.c:438,1
    - Dst: dl_list_for_each
      Src: /src/hostap/wlantest/ctrl.c:442,1
    - Dst: ctrl_send_simple
      Src: /src/hostap/wlantest/ctrl.c:450,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/wlantest/ctrl.c:456,1
    - Dst: attr_add_be32
      Src: /src/hostap/wlantest/ctrl.c:458,1
    - Dst: ctrl_send
      Src: /src/hostap/wlantest/ctrl.c:460,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 4
    argNames:
    - wt
    - sock
    - cmd
    - clen
    argTypes:
    - struct wlantest*
    - int
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 410
    functionDepth: 4
    functionLinenumber: 410
    functionLinenumberEnd: 461
    functionName: ctrl_get_tdls_counter
    functionSourceFile: /src/hostap/wlantest/ctrl.c
    functionUses: 0
    functionsReached:
    - ctrl_get_bss
    - ctrl_send
    - ctrl_get_sta2
    - ctrl_get_sta
    - ctrl_send_simple
    - dl_list_for_each
    - WPA_PUT_BE32
    - attr_add_be32
    - WPA_GET_BE32
    - attr_get
    linkageType: ''
    returnType: void
    signature: "void ctrl_get_tdls_counter(struct wlantest *wt, int sock, u8 *cmd,\n\t\t\t\t
      \ size_t clen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/wlantest/ctrl.c:468,1
    - Dst: IEEE80211_FC
      Src: /src/hostap/wlantest/ctrl.c:469,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/ctrl.c:472,1
    - Dst: os_memset
      Src: /src/hostap/wlantest/ctrl.c:474,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/ctrl.c:475,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/ctrl.c:477,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/ctrl.c:478,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/ctrl.c:480,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - mgmt
    - bss
    - sta
    - sender_ap
    - stype
    argTypes:
    - struct ieee80211_mgmt*
    - struct wlantest_bss*
    - struct wlantest_sta*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 481
    functionName: build_mgmt_hdr
    functionSourceFile: /src/hostap/wlantest/ctrl.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - IEEE80211_FC
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void build_mgmt_hdr(struct ieee80211_mgmt *mgmt,\n\t\t\t   struct
      wlantest_bss *bss, struct wlantest_sta *sta,\n\t\t\t   int sender_ap, int stype)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/ctrl.c:497,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/ctrl.c:498,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/ctrl.c:498,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/ctrl.c:500,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/ctrl.c:501,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/ctrl.c:501,1
    - Dst: build_mgmt_hdr
      Src: /src/hostap/wlantest/ctrl.c:502,1
    - Dst: host_to_le16
      Src: /src/hostap/wlantest/ctrl.c:504,1
    - Dst: host_to_le16
      Src: /src/hostap/wlantest/ctrl.c:505,1
    - Dst: host_to_le16
      Src: /src/hostap/wlantest/ctrl.c:506,1
    - Dst: wlantest_inject
      Src: /src/hostap/wlantest/ctrl.c:508,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 5
    argNames:
    - wt
    - bss
    - sta
    - sender_ap
    - prot
    argTypes:
    - struct wlantest*
    - struct wlantest_bss*
    - struct wlantest_sta*
    - int
    - enum wlantest_inject_protection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 484
    functionDepth: 4
    functionLinenumber: 484
    functionLinenumberEnd: 510
    functionName: ctrl_inject_auth
    functionSourceFile: /src/hostap/wlantest/ctrl.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wlantest_inject
    - build_mgmt_hdr
    - MAC2STR
    - host_to_le16
    linkageType: ''
    returnType: int
    signature: "int ctrl_inject_auth(struct wlantest *wt, struct wlantest_bss *bss,\n\t\t\t
      \   struct wlantest_sta *sta, int sender_ap,\n\t\t\t    enum wlantest_inject_protection
      prot)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/ctrl.c:529,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/ctrl.c:531,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/ctrl.c:535,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/ctrl.c:536,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/ctrl.c:536,1
    - Dst: os_malloc
      Src: /src/hostap/wlantest/ctrl.c:537,1
    - Dst: build_mgmt_hdr
      Src: /src/hostap/wlantest/ctrl.c:542,1
    - Dst: host_to_le16
      Src: /src/hostap/wlantest/ctrl.c:544,1
    - Dst: host_to_le16
      Src: /src/hostap/wlantest/ctrl.c:546,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/ctrl.c:547,1
    - Dst: wlantest_inject
      Src: /src/hostap/wlantest/ctrl.c:550,1
    - Dst: os_free
      Src: /src/hostap/wlantest/ctrl.c:553,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 5
    argNames:
    - wt
    - bss
    - sta
    - sender_ap
    - prot
    argTypes:
    - struct wlantest*
    - struct wlantest_bss*
    - struct wlantest_sta*
    - int
    - enum wlantest_inject_protection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 513
    functionDepth: 4
    functionLinenumber: 513
    functionLinenumberEnd: 555
    functionName: ctrl_inject_assocreq
    functionSourceFile: /src/hostap/wlantest/ctrl.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wlantest_inject
    - build_mgmt_hdr
    - os_malloc
    - MAC2STR
    - os_free
    - host_to_le16
    linkageType: ''
    returnType: int
    signature: "int ctrl_inject_assocreq(struct wlantest *wt, struct wlantest_bss
      *bss,\n\t\t\t\tstruct wlantest_sta *sta, int sender_ap,\n\t\t\t\tenum wlantest_inject_protection
      prot)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/ctrl.c:575,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/ctrl.c:577,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/ctrl.c:581,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/ctrl.c:582,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/ctrl.c:582,1
    - Dst: os_malloc
      Src: /src/hostap/wlantest/ctrl.c:583,1
    - Dst: build_mgmt_hdr
      Src: /src/hostap/wlantest/ctrl.c:588,1
    - Dst: host_to_le16
      Src: /src/hostap/wlantest/ctrl.c:591,1
    - Dst: host_to_le16
      Src: /src/hostap/wlantest/ctrl.c:593,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/ctrl.c:594,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/ctrl.c:595,1
    - Dst: wlantest_inject
      Src: /src/hostap/wlantest/ctrl.c:598,1
    - Dst: os_free
      Src: /src/hostap/wlantest/ctrl.c:601,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 5
    argNames:
    - wt
    - bss
    - sta
    - sender_ap
    - prot
    argTypes:
    - struct wlantest*
    - struct wlantest_bss*
    - struct wlantest_sta*
    - int
    - enum wlantest_inject_protection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 558
    functionDepth: 4
    functionLinenumber: 558
    functionLinenumberEnd: 603
    functionName: ctrl_inject_reassocreq
    functionSourceFile: /src/hostap/wlantest/ctrl.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wlantest_inject
    - build_mgmt_hdr
    - os_malloc
    - MAC2STR
    - os_free
    - host_to_le16
    linkageType: ''
    returnType: int
    signature: "int ctrl_inject_reassocreq(struct wlantest *wt,\n\t\t\t\t  struct
      wlantest_bss *bss,\n\t\t\t\t  struct wlantest_sta *sta, int sender_ap,\n\t\t\t\t
      \ enum wlantest_inject_protection prot)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/ctrl.c:614,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/ctrl.c:616,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/ctrl.c:616,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/ctrl.c:618,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/ctrl.c:619,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/ctrl.c:621,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/ctrl.c:622,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/ctrl.c:622,1
    - Dst: build_mgmt_hdr
      Src: /src/hostap/wlantest/ctrl.c:623,1
    - Dst: host_to_le16
      Src: /src/hostap/wlantest/ctrl.c:625,1
    - Dst: wlantest_inject
      Src: /src/hostap/wlantest/ctrl.c:627,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - wt
    - bss
    - sta
    - sender_ap
    - prot
    argTypes:
    - struct wlantest*
    - struct wlantest_bss*
    - struct wlantest_sta*
    - int
    - enum wlantest_inject_protection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 606
    functionDepth: 4
    functionLinenumber: 606
    functionLinenumberEnd: 628
    functionName: ctrl_inject_deauth
    functionSourceFile: /src/hostap/wlantest/ctrl.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wlantest_inject
    - build_mgmt_hdr
    - MAC2STR
    - host_to_le16
    linkageType: ''
    returnType: int
    signature: "int ctrl_inject_deauth(struct wlantest *wt, struct wlantest_bss *bss,\n\t\t\t
      \     struct wlantest_sta *sta, int sender_ap,\n\t\t\t      enum wlantest_inject_protection
      prot)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/ctrl.c:639,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/ctrl.c:641,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/ctrl.c:641,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/ctrl.c:643,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/ctrl.c:644,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/ctrl.c:646,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/ctrl.c:647,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/ctrl.c:647,1
    - Dst: build_mgmt_hdr
      Src: /src/hostap/wlantest/ctrl.c:648,1
    - Dst: host_to_le16
      Src: /src/hostap/wlantest/ctrl.c:650,1
    - Dst: wlantest_inject
      Src: /src/hostap/wlantest/ctrl.c:652,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - wt
    - bss
    - sta
    - sender_ap
    - prot
    argTypes:
    - struct wlantest*
    - struct wlantest_bss*
    - struct wlantest_sta*
    - int
    - enum wlantest_inject_protection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 631
    functionDepth: 4
    functionLinenumber: 631
    functionLinenumberEnd: 653
    functionName: ctrl_inject_disassoc
    functionSourceFile: /src/hostap/wlantest/ctrl.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wlantest_inject
    - build_mgmt_hdr
    - MAC2STR
    - host_to_le16
    linkageType: ''
    returnType: int
    signature: "int ctrl_inject_disassoc(struct wlantest *wt, struct wlantest_bss
      *bss,\n\t\t\t\tstruct wlantest_sta *sta, int sender_ap,\n\t\t\t\tenum wlantest_inject_protection
      prot)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/ctrl.c:667,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/ctrl.c:668,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/ctrl.c:668,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/ctrl.c:670,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/ctrl.c:671,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/ctrl.c:671,1
    - Dst: build_mgmt_hdr
      Src: /src/hostap/wlantest/ctrl.c:672,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/ctrl.c:678,1
    - Dst: wlantest_inject
      Src: /src/hostap/wlantest/ctrl.c:681,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - wt
    - bss
    - sta
    - sender_ap
    - prot
    argTypes:
    - struct wlantest*
    - struct wlantest_bss*
    - struct wlantest_sta*
    - int
    - enum wlantest_inject_protection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 656
    functionDepth: 4
    functionLinenumber: 656
    functionLinenumberEnd: 682
    functionName: ctrl_inject_saqueryreq
    functionSourceFile: /src/hostap/wlantest/ctrl.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wlantest_inject
    - build_mgmt_hdr
    - MAC2STR
    linkageType: ''
    returnType: int
    signature: "int ctrl_inject_saqueryreq(struct wlantest *wt,\n\t\t\t\t  struct
      wlantest_bss *bss,\n\t\t\t\t  struct wlantest_sta *sta, int sender_ap,\n\t\t\t\t
      \ enum wlantest_inject_protection prot)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: attr_get_macaddr
      Src: /src/hostap/wlantest/ctrl.c:693,1
    - Dst: attr_get_macaddr
      Src: /src/hostap/wlantest/ctrl.c:694,1
    - Dst: attr_get_int
      Src: /src/hostap/wlantest/ctrl.c:695,1
    - Dst: attr_get_int
      Src: /src/hostap/wlantest/ctrl.c:696,1
    - Dst: attr_get_int
      Src: /src/hostap/wlantest/ctrl.c:699,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/ctrl.c:701,1
    - Dst: ctrl_send_simple
      Src: /src/hostap/wlantest/ctrl.c:702,1
    - Dst: bss_find
      Src: /src/hostap/wlantest/ctrl.c:706,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/ctrl.c:708,1
    - Dst: ctrl_send_simple
      Src: /src/hostap/wlantest/ctrl.c:709,1
    - Dst: is_broadcast_ether_addr
      Src: /src/hostap/wlantest/ctrl.c:713,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/ctrl.c:715,1
    - Dst: ctrl_send_simple
      Src: /src/hostap/wlantest/ctrl.c:717,1
    - Dst: sta_find
      Src: /src/hostap/wlantest/ctrl.c:721,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/ctrl.c:723,1
    - Dst: ctrl_send_simple
      Src: /src/hostap/wlantest/ctrl.c:725,1
    - Dst: ctrl_inject_auth
      Src: /src/hostap/wlantest/ctrl.c:732,1
    - Dst: ctrl_inject_assocreq
      Src: /src/hostap/wlantest/ctrl.c:735,1
    - Dst: ctrl_inject_reassocreq
      Src: /src/hostap/wlantest/ctrl.c:738,1
    - Dst: ctrl_inject_deauth
      Src: /src/hostap/wlantest/ctrl.c:741,1
    - Dst: ctrl_inject_disassoc
      Src: /src/hostap/wlantest/ctrl.c:744,1
    - Dst: ctrl_inject_saqueryreq
      Src: /src/hostap/wlantest/ctrl.c:747,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/ctrl.c:750,1
    - Dst: ctrl_send_simple
      Src: /src/hostap/wlantest/ctrl.c:752,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/ctrl.c:757,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/ctrl.c:759,1
    - Dst: ctrl_send_simple
      Src: /src/hostap/wlantest/ctrl.c:760,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 62
    argCount: 4
    argNames:
    - wt
    - sock
    - cmd
    - clen
    argTypes:
    - struct wlantest*
    - int
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 685
    functionDepth: 5
    functionLinenumber: 685
    functionLinenumberEnd: 762
    functionName: ctrl_inject
    functionSourceFile: /src/hostap/wlantest/ctrl.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - sta_find
    - ctrl_inject_disassoc
    - is_broadcast_ether_addr
    - bss_find
    - ctrl_inject_assocreq
    - ctrl_send_simple
    - ctrl_inject_saqueryreq
    - ctrl_inject_reassocreq
    - ctrl_inject_deauth
    - attr_get_int
    - attr_get_macaddr
    - ctrl_inject_auth
    linkageType: ''
    returnType: void
    signature: void ctrl_inject(struct wlantest *wt, int sock, u8 *cmd, size_t clen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/wlantest/ctrl.c:770,1
    - Dst: attr_add_str
      Src: /src/hostap/wlantest/ctrl.c:772,1
    - Dst: ctrl_send
      Src: /src/hostap/wlantest/ctrl.c:774,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - wt
    - sock
    argTypes:
    - struct wlantest*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 765
    functionDepth: 2
    functionLinenumber: 765
    functionLinenumberEnd: 775
    functionName: ctrl_version
    functionSourceFile: /src/hostap/wlantest/ctrl.c
    functionUses: 0
    functionsReached:
    - WPA_PUT_BE32
    - ctrl_send
    - attr_add_str
    linkageType: ''
    returnType: void
    signature: void ctrl_version(struct wlantest *wt, int sock)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: attr_get
      Src: /src/hostap/wlantest/ctrl.c:786,1
    - Dst: attr_get
      Src: /src/hostap/wlantest/ctrl.c:792,1
    - Dst: ctrl_send_simple
      Src: /src/hostap/wlantest/ctrl.c:794,1
    - Dst: os_zalloc
      Src: /src/hostap/wlantest/ctrl.c:797,1
    - Dst: ctrl_send_simple
      Src: /src/hostap/wlantest/ctrl.c:799,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/ctrl.c:802,1
    - Dst: add_wep
      Src: /src/hostap/wlantest/ctrl.c:803,1
    - Dst: os_free
      Src: /src/hostap/wlantest/ctrl.c:807,1
    - Dst: ctrl_send_simple
      Src: /src/hostap/wlantest/ctrl.c:808,1
    - Dst: ctrl_send_simple
      Src: /src/hostap/wlantest/ctrl.c:813,1
    - Dst: os_zalloc
      Src: /src/hostap/wlantest/ctrl.c:817,1
    - Dst: ctrl_send_simple
      Src: /src/hostap/wlantest/ctrl.c:819,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/ctrl.c:822,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/ctrl.c:823,1
    - Dst: attr_get_macaddr
      Src: /src/hostap/wlantest/ctrl.c:825,1
    - Dst: os_memcpy
      Src: /src/hostap/wlantest/ctrl.c:827,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/ctrl.c:828,1
    - Dst: MAC2STR
      Src: /src/hostap/wlantest/ctrl.c:829,1
    - Dst: dl_list_for_each
      Src: /src/hostap/wlantest/ctrl.c:832,1
    - Dst: os_strcmp
      Src: /src/hostap/wlantest/ctrl.c:834,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wlantest/ctrl.c:835,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/ctrl.c:836,1
    - Dst: os_free
      Src: /src/hostap/wlantest/ctrl.c:837,1
    - Dst: dl_list_add
      Src: /src/hostap/wlantest/ctrl.c:845,1
    - Dst: dl_list_for_each
      Src: /src/hostap/wlantest/ctrl.c:846,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wlantest/ctrl.c:848,1
    - Dst: bss_add_pmk_from_passphrase
      Src: /src/hostap/wlantest/ctrl.c:850,1
    - Dst: ctrl_send_simple
      Src: /src/hostap/wlantest/ctrl.c:854,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 54
    argCount: 4
    argNames:
    - wt
    - sock
    - cmd
    - clen
    argTypes:
    - struct wlantest*
    - int
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 778
    functionDepth: 3
    functionLinenumber: 778
    functionLinenumberEnd: 855
    functionName: ctrl_add_passphrase
    functionSourceFile: /src/hostap/wlantest/ctrl.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_printf
    - add_wep
    - bss_add_pmk_from_passphrase
    - ether_addr_equal
    - ctrl_send_simple
    - dl_list_for_each
    - MAC2STR
    - os_zalloc
    - dl_list_add
    - os_free
    - attr_get_macaddr
    - os_strcmp
    - attr_get
    linkageType: ''
    returnType: void
    signature: "void ctrl_add_passphrase(struct wlantest *wt, int sock, u8 *cmd,\n\t\t\t\tsize_t
      clen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/wlantest/ctrl.c:863,1
    - Dst: os_snprintf
      Src: /src/hostap/wlantest/ctrl.c:871,1
    - Dst: os_snprintf
      Src: /src/hostap/wlantest/ctrl.c:874,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - buf
    - len
    - proto
    argTypes:
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 858
    functionDepth: 0
    functionLinenumber: 858
    functionLinenumberEnd: 876
    functionName: info_print_proto
    functionSourceFile: /src/hostap/wlantest/ctrl.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    linkageType: ''
    returnType: void
    signature: void info_print_proto(char *buf, size_t len, int proto)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/wlantest/ctrl.c:884,1
    - Dst: os_snprintf
      Src: /src/hostap/wlantest/ctrl.c:892,1
    - Dst: os_snprintf
      Src: /src/hostap/wlantest/ctrl.c:895,1
    - Dst: os_snprintf
      Src: /src/hostap/wlantest/ctrl.c:898,1
    - Dst: os_snprintf
      Src: /src/hostap/wlantest/ctrl.c:901,1
    - Dst: os_snprintf
      Src: /src/hostap/wlantest/ctrl.c:904,1
    - Dst: os_snprintf
      Src: /src/hostap/wlantest/ctrl.c:907,1
    - Dst: os_snprintf
      Src: /src/hostap/wlantest/ctrl.c:910,1
    - Dst: os_snprintf
      Src: /src/hostap/wlantest/ctrl.c:913,1
    - Dst: os_snprintf
      Src: /src/hostap/wlantest/ctrl.c:916,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 3
    argNames:
    - buf
    - len
    - cipher
    argTypes:
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 879
    functionDepth: 0
    functionLinenumber: 879
    functionLinenumberEnd: 918
    functionName: info_print_cipher
    functionSourceFile: /src/hostap/wlantest/ctrl.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    linkageType: ''
    returnType: void
    signature: void info_print_cipher(char *buf, size_t len, int cipher)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/wlantest/ctrl.c:926,1
    - Dst: os_snprintf
      Src: /src/hostap/wlantest/ctrl.c:934,1
    - Dst: os_snprintf
      Src: /src/hostap/wlantest/ctrl.c:937,1
    - Dst: os_snprintf
      Src: /src/hostap/wlantest/ctrl.c:940,1
    - Dst: os_snprintf
      Src: /src/hostap/wlantest/ctrl.c:943,1
    - Dst: os_snprintf
      Src: /src/hostap/wlantest/ctrl.c:946,1
    - Dst: os_snprintf
      Src: /src/hostap/wlantest/ctrl.c:949,1
    - Dst: os_snprintf
      Src: /src/hostap/wlantest/ctrl.c:952,1
    - Dst: os_snprintf
      Src: /src/hostap/wlantest/ctrl.c:955,1
    - Dst: os_snprintf
      Src: /src/hostap/wlantest/ctrl.c:958,1
    - Dst: os_snprintf
      Src: /src/hostap/wlantest/ctrl.c:961,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 3
    argNames:
    - buf
    - len
    - key_mgmt
    argTypes:
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 963
      start: 921
    functionDepth: 0
    functionLinenumber: 921
    functionLinenumberEnd: 963
    functionName: info_print_key_mgmt
    functionSourceFile: /src/hostap/wlantest/ctrl.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    linkageType: ''
    returnType: void
    signature: void info_print_key_mgmt(char *buf, size_t len, int key_mgmt)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/wlantest/ctrl.c:974,1
    - Dst: os_snprintf
      Src: /src/hostap/wlantest/ctrl.c:977,1
    - Dst: os_snprintf
      Src: /src/hostap/wlantest/ctrl.c:980,1
    - Dst: os_snprintf
      Src: /src/hostap/wlantest/ctrl.c:983,1
    - Dst: os_snprintf
      Src: /src/hostap/wlantest/ctrl.c:986,1
    - Dst: os_snprintf
      Src: /src/hostap/wlantest/ctrl.c:989,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - buf
    - len
    - capab
    argTypes:
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 966
    functionDepth: 0
    functionLinenumber: 966
    functionLinenumberEnd: 991
    functionName: info_print_rsn_capab
    functionSourceFile: /src/hostap/wlantest/ctrl.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    linkageType: ''
    returnType: void
    signature: void info_print_rsn_capab(char *buf, size_t len, int capab)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_strlcpy
      Src: /src/hostap/wlantest/ctrl.c:998,1
    - Dst: os_strlcpy
      Src: /src/hostap/wlantest/ctrl.c:1001,1
    - Dst: os_strlcpy
      Src: /src/hostap/wlantest/ctrl.c:1004,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - buf
    - len
    - state
    argTypes:
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1007
      start: 994
    functionDepth: 0
    functionLinenumber: 994
    functionLinenumberEnd: 1007
    functionName: info_print_state
    functionSourceFile: /src/hostap/wlantest/ctrl.c
    functionUses: 0
    functionsReached:
    - os_strlcpy
    linkageType: ''
    returnType: void
    signature: void info_print_state(char *buf, size_t len, int state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/wlantest/ctrl.c:1014,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/wlantest/ctrl.c:1015,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - buf
    - len
    - sta
    argTypes:
    - char*
    - size_t
    - struct wlantest_sta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1016
      start: 1010
    functionDepth: 1
    functionLinenumber: 1010
    functionLinenumberEnd: 1016
    functionName: info_print_gtk
    functionSourceFile: /src/hostap/wlantest/ctrl.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - wpa_snprintf_hex
    linkageType: ''
    returnType: void
    signature: void info_print_gtk(char *buf, size_t len, struct wlantest_sta *sta)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ctrl_get_bss
      Src: /src/hostap/wlantest/ctrl.c:1029,1
    - Dst: ctrl_get_sta
      Src: /src/hostap/wlantest/ctrl.c:1030,1
    - Dst: attr_get
      Src: /src/hostap/wlantest/ctrl.c:1034,1
    - Dst: ctrl_send_simple
      Src: /src/hostap/wlantest/ctrl.c:1036,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/wlantest/ctrl.c:1039,1
    - Dst: info_print_proto
      Src: /src/hostap/wlantest/ctrl.c:1044,1
    - Dst: info_print_cipher
      Src: /src/hostap/wlantest/ctrl.c:1047,1
    - Dst: info_print_key_mgmt
      Src: /src/hostap/wlantest/ctrl.c:1050,1
    - Dst: info_print_rsn_capab
      Src: /src/hostap/wlantest/ctrl.c:1053,1
    - Dst: info_print_state
      Src: /src/hostap/wlantest/ctrl.c:1056,1
    - Dst: info_print_gtk
      Src: /src/hostap/wlantest/ctrl.c:1059,1
    - Dst: ctrl_send_simple
      Src: /src/hostap/wlantest/ctrl.c:1062,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/wlantest/ctrl.c:1068,1
    - Dst: attr_add_str
      Src: /src/hostap/wlantest/ctrl.c:1070,1
    - Dst: ctrl_send
      Src: /src/hostap/wlantest/ctrl.c:1071,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 4
    argNames:
    - wt
    - sock
    - cmd
    - clen
    argTypes:
    - struct wlantest*
    - int
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1019
    functionDepth: 4
    functionLinenumber: 1019
    functionLinenumberEnd: 1072
    functionName: ctrl_info_sta
    functionSourceFile: /src/hostap/wlantest/ctrl.c
    functionUses: 0
    functionsReached:
    - ctrl_get_bss
    - info_print_proto
    - info_print_cipher
    - ctrl_send
    - info_print_state
    - ctrl_get_sta
    - ctrl_send_simple
    - info_print_key_mgmt
    - attr_add_str
    - WPA_PUT_BE32
    - info_print_gtk
    - info_print_rsn_capab
    - WPA_GET_BE32
    - attr_get
    linkageType: ''
    returnType: void
    signature: void ctrl_info_sta(struct wlantest *wt, int sock, u8 *cmd, size_t clen)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ctrl_get_bss
      Src: /src/hostap/wlantest/ctrl.c:1084,1
    - Dst: attr_get
      Src: /src/hostap/wlantest/ctrl.c:1088,1
    - Dst: ctrl_send_simple
      Src: /src/hostap/wlantest/ctrl.c:1090,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/wlantest/ctrl.c:1093,1
    - Dst: info_print_proto
      Src: /src/hostap/wlantest/ctrl.c:1098,1
    - Dst: info_print_cipher
      Src: /src/hostap/wlantest/ctrl.c:1101,1
    - Dst: info_print_cipher
      Src: /src/hostap/wlantest/ctrl.c:1104,1
    - Dst: info_print_cipher
      Src: /src/hostap/wlantest/ctrl.c:1107,1
    - Dst: info_print_key_mgmt
      Src: /src/hostap/wlantest/ctrl.c:1110,1
    - Dst: info_print_rsn_capab
      Src: /src/hostap/wlantest/ctrl.c:1113,1
    - Dst: ctrl_send_simple
      Src: /src/hostap/wlantest/ctrl.c:1116,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/wlantest/ctrl.c:1122,1
    - Dst: attr_add_str
      Src: /src/hostap/wlantest/ctrl.c:1124,1
    - Dst: ctrl_send
      Src: /src/hostap/wlantest/ctrl.c:1125,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 4
    argNames:
    - wt
    - sock
    - cmd
    - clen
    argTypes:
    - struct wlantest*
    - int
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1075
    functionDepth: 4
    functionLinenumber: 1075
    functionLinenumberEnd: 1126
    functionName: ctrl_info_bss
    functionSourceFile: /src/hostap/wlantest/ctrl.c
    functionUses: 0
    functionsReached:
    - ctrl_get_bss
    - info_print_proto
    - info_print_cipher
    - ctrl_send
    - ctrl_send_simple
    - info_print_key_mgmt
    - attr_add_str
    - WPA_PUT_BE32
    - info_print_rsn_capab
    - WPA_GET_BE32
    - attr_get
    linkageType: ''
    returnType: void
    signature: void ctrl_info_bss(struct wlantest *wt, int sock, u8 *cmd, size_t clen)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: attr_get
      Src: /src/hostap/wlantest/ctrl.c:1141,1
    - Dst: attr_get_int
      Src: /src/hostap/wlantest/ctrl.c:1142,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/ctrl.c:1144,1
    - Dst: ctrl_send_simple
      Src: /src/hostap/wlantest/ctrl.c:1145,1
    - Dst: le_to_host16
      Src: /src/hostap/wlantest/ctrl.c:1150,1
    - Dst: WLAN_FC_GET_TYPE
      Src: /src/hostap/wlantest/ctrl.c:1151,1
    - Dst: ether_addr_equal
      Src: /src/hostap/wlantest/ctrl.c:1154,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/ctrl.c:1174,1
    - Dst: ctrl_send_simple
      Src: /src/hostap/wlantest/ctrl.c:1175,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/ctrl.c:1180,1
    - Dst: ctrl_send_simple
      Src: /src/hostap/wlantest/ctrl.c:1181,1
    - Dst: bss_find
      Src: /src/hostap/wlantest/ctrl.c:1185,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/ctrl.c:1187,1
    - Dst: ctrl_send_simple
      Src: /src/hostap/wlantest/ctrl.c:1188,1
    - Dst: sta_find
      Src: /src/hostap/wlantest/ctrl.c:1193,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/ctrl.c:1197,1
    - Dst: ctrl_send_simple
      Src: /src/hostap/wlantest/ctrl.c:1198,1
    - Dst: wlantest_inject
      Src: /src/hostap/wlantest/ctrl.c:1202,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/ctrl.c:1205,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/ctrl.c:1207,1
    - Dst: ctrl_send_simple
      Src: /src/hostap/wlantest/ctrl.c:1208,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 61
    argCount: 4
    argNames:
    - wt
    - sock
    - cmd
    - clen
    argTypes:
    - struct wlantest*
    - int
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1210
      start: 1129
    functionDepth: 4
    functionLinenumber: 1129
    functionLinenumberEnd: 1210
    functionName: ctrl_send_
    functionSourceFile: /src/hostap/wlantest/ctrl.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - sta_find
    - bss_find
    - wlantest_inject
    - ether_addr_equal
    - ctrl_send_simple
    - WLAN_FC_GET_TYPE
    - le_to_host16
    - attr_get_int
    - attr_get
    linkageType: ''
    returnType: void
    signature: void ctrl_send_(struct wlantest *wt, int sock, u8 *cmd, size_t clen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wlantest_relog
      Src: /src/hostap/wlantest/ctrl.c:1215,1
    - Dst: ctrl_send_simple
      Src: /src/hostap/wlantest/ctrl.c:1216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wt
    - sock
    argTypes:
    - struct wlantest*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1218
      start: 1213
    functionDepth: 3
    functionLinenumber: 1213
    functionLinenumberEnd: 1218
    functionName: ctrl_relog
    functionSourceFile: /src/hostap/wlantest/ctrl.c
    functionUses: 0
    functionsReached:
    - wlantest_relog
    - ctrl_send_simple
    linkageType: ''
    returnType: void
    signature: void ctrl_relog(struct wlantest *wt, int sock)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ctrl_get_bss
      Src: /src/hostap/wlantest/ctrl.c:1230,1
    - Dst: ctrl_get_sta
      Src: /src/hostap/wlantest/ctrl.c:1231,1
    - Dst: attr_get
      Src: /src/hostap/wlantest/ctrl.c:1235,1
    - Dst: ctrl_send_simple
      Src: /src/hostap/wlantest/ctrl.c:1237,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/wlantest/ctrl.c:1240,1
    - Dst: ctrl_send_simple
      Src: /src/hostap/wlantest/ctrl.c:1242,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/wlantest/ctrl.c:1248,1
    - Dst: attr_add_be32
      Src: /src/hostap/wlantest/ctrl.c:1250,1
    - Dst: ctrl_send
      Src: /src/hostap/wlantest/ctrl.c:1252,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 4
    argNames:
    - wt
    - sock
    - cmd
    - clen
    argTypes:
    - struct wlantest*
    - int
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1253
      start: 1221
    functionDepth: 4
    functionLinenumber: 1221
    functionLinenumberEnd: 1253
    functionName: ctrl_get_tx_tid
    functionSourceFile: /src/hostap/wlantest/ctrl.c
    functionUses: 0
    functionsReached:
    - ctrl_get_bss
    - ctrl_send
    - ctrl_get_sta
    - ctrl_send_simple
    - WPA_PUT_BE32
    - attr_add_be32
    - WPA_GET_BE32
    - attr_get
    linkageType: ''
    returnType: void
    signature: void ctrl_get_tx_tid(struct wlantest *wt, int sock, u8 *cmd, size_t
      clen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ctrl_get_bss
      Src: /src/hostap/wlantest/ctrl.c:1265,1
    - Dst: ctrl_get_sta
      Src: /src/hostap/wlantest/ctrl.c:1266,1
    - Dst: attr_get
      Src: /src/hostap/wlantest/ctrl.c:1270,1
    - Dst: ctrl_send_simple
      Src: /src/hostap/wlantest/ctrl.c:1272,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/wlantest/ctrl.c:1275,1
    - Dst: ctrl_send_simple
      Src: /src/hostap/wlantest/ctrl.c:1277,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/wlantest/ctrl.c:1283,1
    - Dst: attr_add_be32
      Src: /src/hostap/wlantest/ctrl.c:1285,1
    - Dst: ctrl_send
      Src: /src/hostap/wlantest/ctrl.c:1287,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 4
    argNames:
    - wt
    - sock
    - cmd
    - clen
    argTypes:
    - struct wlantest*
    - int
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1288
      start: 1256
    functionDepth: 4
    functionLinenumber: 1256
    functionLinenumberEnd: 1288
    functionName: ctrl_get_rx_tid
    functionSourceFile: /src/hostap/wlantest/ctrl.c
    functionUses: 0
    functionsReached:
    - ctrl_get_bss
    - ctrl_send
    - ctrl_get_sta
    - ctrl_send_simple
    - WPA_PUT_BE32
    - attr_add_be32
    - WPA_GET_BE32
    - attr_get
    linkageType: ''
    returnType: void
    signature: void ctrl_get_rx_tid(struct wlantest *wt, int sock, u8 *cmd, size_t
      clen)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/ctrl.c:1298,1
    - Dst: recv
      Src: /src/hostap/wlantest/ctrl.c:1300,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/ctrl.c:1302,1
    - Dst: strerror
      Src: /src/hostap/wlantest/ctrl.c:1302,1
    - Dst: ctrl_disconnect
      Src: /src/hostap/wlantest/ctrl.c:1303,1
    - Dst: ctrl_disconnect
      Src: /src/hostap/wlantest/ctrl.c:1307,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/ctrl.c:1312,1
    - Dst: ctrl_disconnect
      Src: /src/hostap/wlantest/ctrl.c:1314,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/wlantest/ctrl.c:1317,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/ctrl.c:1318,1
    - Dst: ctrl_send_simple
      Src: /src/hostap/wlantest/ctrl.c:1323,1
    - Dst: ctrl_send_simple
      Src: /src/hostap/wlantest/ctrl.c:1326,1
    - Dst: eloop_terminate
      Src: /src/hostap/wlantest/ctrl.c:1327,1
    - Dst: ctrl_list_bss
      Src: /src/hostap/wlantest/ctrl.c:1330,1
    - Dst: ctrl_list_sta
      Src: /src/hostap/wlantest/ctrl.c:1333,1
    - Dst: ctrl_flush
      Src: /src/hostap/wlantest/ctrl.c:1336,1
    - Dst: ctrl_clear_sta_counters
      Src: /src/hostap/wlantest/ctrl.c:1339,1
    - Dst: ctrl_clear_bss_counters
      Src: /src/hostap/wlantest/ctrl.c:1342,1
    - Dst: ctrl_clear_tdls_counters
      Src: /src/hostap/wlantest/ctrl.c:1345,1
    - Dst: ctrl_get_sta_counter
      Src: /src/hostap/wlantest/ctrl.c:1348,1
    - Dst: ctrl_get_bss_counter
      Src: /src/hostap/wlantest/ctrl.c:1351,1
    - Dst: ctrl_get_tdls_counter
      Src: /src/hostap/wlantest/ctrl.c:1354,1
    - Dst: ctrl_inject
      Src: /src/hostap/wlantest/ctrl.c:1357,1
    - Dst: ctrl_version
      Src: /src/hostap/wlantest/ctrl.c:1360,1
    - Dst: ctrl_add_passphrase
      Src: /src/hostap/wlantest/ctrl.c:1363,1
    - Dst: ctrl_info_sta
      Src: /src/hostap/wlantest/ctrl.c:1366,1
    - Dst: ctrl_info_bss
      Src: /src/hostap/wlantest/ctrl.c:1369,1
    - Dst: ctrl_send_
      Src: /src/hostap/wlantest/ctrl.c:1372,1
    - Dst: ctrl_relog
      Src: /src/hostap/wlantest/ctrl.c:1375,1
    - Dst: ctrl_get_tx_tid
      Src: /src/hostap/wlantest/ctrl.c:1378,1
    - Dst: ctrl_get_rx_tid
      Src: /src/hostap/wlantest/ctrl.c:1381,1
    - Dst: ctrl_send_simple
      Src: /src/hostap/wlantest/ctrl.c:1384,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 85
    argCount: 3
    argNames:
    - sock
    - eloop_ctx
    - sock_ctx
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1387
      start: 1291
    functionDepth: 6
    functionLinenumber: 1291
    functionLinenumberEnd: 1387
    functionName: ctrl_read
    functionSourceFile: /src/hostap/wlantest/ctrl.c
    functionUses: 0
    functionsReached:
    - ctrl_clear_bss_counters
    - ctrl_get_sta_counter
    - ctrl_send_
    - ctrl_add_passphrase
    - ctrl_clear_sta_counters
    - wpa_printf
    - ctrl_relog
    - recv
    - ctrl_info_bss
    - ctrl_flush
    - eloop_terminate
    - ctrl_list_bss
    - ctrl_disconnect
    - ctrl_get_tx_tid
    - WPA_GET_BE32
    - ctrl_send_simple
    - ctrl_version
    - ctrl_inject
    - ctrl_info_sta
    - strerror
    - ctrl_get_rx_tid
    - ctrl_list_sta
    - ctrl_get_bss_counter
    - ctrl_clear_tdls_counters
    - ctrl_get_tdls_counter
    linkageType: ''
    returnType: void
    signature: void ctrl_read(int sock, void *eloop_ctx, void *sock_ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: accept
      Src: /src/hostap/wlantest/ctrl.c:1395,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/ctrl.c:1397,1
    - Dst: strerror
      Src: /src/hostap/wlantest/ctrl.c:1397,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/ctrl.c:1400,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/ctrl.c:1408,1
    - Dst: close
      Src: /src/hostap/wlantest/ctrl.c:1409,1
    - Dst: eloop_register_read_sock
      Src: /src/hostap/wlantest/ctrl.c:1414,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - sock
    - eloop_ctx
    - sock_ctx
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1415
      start: 1390
    functionDepth: 0
    functionLinenumber: 1390
    functionLinenumberEnd: 1415
    functionName: ctrl_connect
    functionSourceFile: /src/hostap/wlantest/ctrl.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - strerror
    - eloop_register_read_sock
    - accept
    - close
    linkageType: ''
    returnType: void
    signature: void ctrl_connect(int sock, void *eloop_ctx, void *sock_ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/hostap/wlantest/ctrl.c:1422,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/ctrl.c:1424,1
    - Dst: strerror
      Src: /src/hostap/wlantest/ctrl.c:1424,1
    - Dst: os_memset
      Src: /src/hostap/wlantest/ctrl.c:1428,1
    - Dst: os_strlcpy
      Src: /src/hostap/wlantest/ctrl.c:1430,1
    - Dst: bind
      Src: /src/hostap/wlantest/ctrl.c:1432,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/ctrl.c:1433,1
    - Dst: strerror
      Src: /src/hostap/wlantest/ctrl.c:1433,1
    - Dst: close
      Src: /src/hostap/wlantest/ctrl.c:1434,1
    - Dst: listen
      Src: /src/hostap/wlantest/ctrl.c:1439,1
    - Dst: wpa_printf
      Src: /src/hostap/wlantest/ctrl.c:1440,1
    - Dst: strerror
      Src: /src/hostap/wlantest/ctrl.c:1440,1
    - Dst: close
      Src: /src/hostap/wlantest/ctrl.c:1441,1
    - Dst: eloop_register_read_sock
      Src: /src/hostap/wlantest/ctrl.c:1446,1
    - Dst: close
      Src: /src/hostap/wlantest/ctrl.c:1447,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 1
    argNames:
    - wt
    argTypes:
    - struct wlantest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1453
      start: 1418
    functionDepth: 0
    functionLinenumber: 1418
    functionLinenumberEnd: 1453
    functionName: ctrl_init
    functionSourceFile: /src/hostap/wlantest/ctrl.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - strerror
    - eloop_register_read_sock
    - socket
    - os_strlcpy
    - close
    - listen
    - bind
    - os_memset
    linkageType: ''
    returnType: int
    signature: int ctrl_init(struct wlantest *wt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/hostap/wlantest/ctrl.c:1465,1
    - Dst: eloop_unregister_read_sock
      Src: /src/hostap/wlantest/ctrl.c:1466,1
    - Dst: eloop_unregister_read_sock
      Src: /src/hostap/wlantest/ctrl.c:1471,1
    - Dst: close
      Src: /src/hostap/wlantest/ctrl.c:1472,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - wt
    argTypes:
    - struct wlantest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1474
      start: 1456
    functionDepth: 0
    functionLinenumber: 1456
    functionLinenumberEnd: 1474
    functionName: ctrl_deinit
    functionSourceFile: /src/hostap/wlantest/ctrl.c
    functionUses: 1
    functionsReached:
    - eloop_unregister_read_sock
    - close
    linkageType: ''
    returnType: void
    signature: void ctrl_deinit(struct wlantest *wt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/hostap/hs20/client/osu_client.c:33,1
    - Dst: vsnprintf
      Src: /src/hostap/hs20/client/osu_client.c:34,1
    - Dst: va_end
      Src: /src/hostap/hs20/client/osu_client.c:35,1
    - Dst: write_summary
      Src: /src/hostap/hs20/client/osu_client.c:36,1
    - Dst: fopen
      Src: /src/hostap/hs20/client/osu_client.c:41,1
    - Dst: va_start
      Src: /src/hostap/hs20/client/osu_client.c:45,1
    - Dst: vfprintf
      Src: /src/hostap/hs20/client/osu_client.c:46,1
    - Dst: va_end
      Src: /src/hostap/hs20/client/osu_client.c:47,1
    - Dst: fprintf
      Src: /src/hostap/hs20/client/osu_client.c:48,1
    - Dst: fclose
      Src: /src/hostap/hs20/client/osu_client.c:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - ctx
    - fmt
    argTypes:
    - struct hs20_osu_client*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 50
    functionName: write_result
    functionSourceFile: /src/hostap/hs20/client/osu_client.c
    functionUses: 0
    functionsReached:
    - fprintf
    - vsnprintf
    - va_end
    - fclose
    - vfprintf
    - va_start
    - fopen
    - write_summary
    linkageType: ''
    returnType: void
    signature: void write_result(struct hs20_osu_client *ctx, const char *fmt, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/hostap/hs20/client/osu_client.c:61,1
    - Dst: va_start
      Src: /src/hostap/hs20/client/osu_client.c:65,1
    - Dst: vfprintf
      Src: /src/hostap/hs20/client/osu_client.c:66,1
    - Dst: va_end
      Src: /src/hostap/hs20/client/osu_client.c:67,1
    - Dst: fprintf
      Src: /src/hostap/hs20/client/osu_client.c:68,1
    - Dst: fclose
      Src: /src/hostap/hs20/client/osu_client.c:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - fmt
    argTypes:
    - struct hs20_osu_client*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 70
    functionName: write_summary
    functionSourceFile: /src/hostap/hs20/client/osu_client.c
    functionUses: 1
    functionsReached:
    - fprintf
    - va_end
    - fclose
    - vfprintf
    - va_start
    - fopen
    linkageType: ''
    returnType: void
    signature: void write_summary(struct hs20_osu_client *ctx, const char *fmt, ...)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: get_node
      Src: /src/hostap/hs20/client/osu_client.c:87,1
    - Dst: get_node
      Src: /src/hostap/hs20/client/osu_client.c:88,1
    - Dst: xml_node_get_text
      Src: /src/hostap/hs20/client/osu_client.c:91,1
    - Dst: xml_node_get_text
      Src: /src/hostap/hs20/client/osu_client.c:92,1
    - Dst: xml_node_get_text_free
      Src: /src/hostap/hs20/client/osu_client.c:94,1
    - Dst: xml_node_get_text_free
      Src: /src/hostap/hs20/client/osu_client.c:95,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:99,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:100,1
    - Dst: hexstr2bin
      Src: /src/hostap/hs20/client/osu_client.c:102,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:103,1
    - Dst: write_result
      Src: /src/hostap/hs20/client/osu_client.c:104,1
    - Dst: xml_node_get_text_free
      Src: /src/hostap/hs20/client/osu_client.c:105,1
    - Dst: xml_node_get_text_free
      Src: /src/hostap/hs20/client/osu_client.c:108,1
    - Dst: write_summary
      Src: /src/hostap/hs20/client/osu_client.c:110,1
    - Dst: http_ocsp_set
      Src: /src/hostap/hs20/client/osu_client.c:111,1
    - Dst: http_download_file
      Src: /src/hostap/hs20/client/osu_client.c:112,1
    - Dst: http_ocsp_set
      Src: /src/hostap/hs20/client/osu_client.c:113,1
    - Dst: xml_node_get_text_free
      Src: /src/hostap/hs20/client/osu_client.c:115,1
    - Dst: os_readfile
      Src: /src/hostap/hs20/client/osu_client.c:119,1
    - Dst: remove
      Src: /src/hostap/hs20/client/osu_client.c:120,1
    - Dst: sha256_vector
      Src: /src/hostap/hs20/client/osu_client.c:124,1
    - Dst: os_free
      Src: /src/hostap/hs20/client/osu_client.c:125,1
    - Dst: os_memcmp
      Src: /src/hostap/hs20/client/osu_client.c:129,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:130,1
    - Dst: write_result
      Src: /src/hostap/hs20/client/osu_client.c:131,1
    - Dst: os_free
      Src: /src/hostap/hs20/client/osu_client.c:132,1
    - Dst: base64_encode
      Src: /src/hostap/hs20/client/osu_client.c:136,1
    - Dst: os_free
      Src: /src/hostap/hs20/client/osu_client.c:137,1
    - Dst: fopen
      Src: /src/hostap/hs20/client/osu_client.c:141,1
    - Dst: os_free
      Src: /src/hostap/hs20/client/osu_client.c:143,1
    - Dst: fprintf
      Src: /src/hostap/hs20/client/osu_client.c:147,1
    - Dst: os_free
      Src: /src/hostap/hs20/client/osu_client.c:152,1
    - Dst: fclose
      Src: /src/hostap/hs20/client/osu_client.c:153,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:155,1
    - Dst: write_summary
      Src: /src/hostap/hs20/client/osu_client.c:157,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 57
    argCount: 3
    argNames:
    - ctx
    - params
    - fname
    argTypes:
    - struct hs20_osu_client*
    - xml_node_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 161
    functionName: download_cert
    functionSourceFile: /src/hostap/hs20/client/osu_client.c
    functionUses: 0
    functionsReached:
    - sha256_vector
    - xml_node_get_text
    - wpa_printf
    - write_result
    - http_download_file
    - fopen
    - fprintf
    - hexstr2bin
    - http_ocsp_set
    - fclose
    - get_node
    - os_readfile
    - os_memcmp
    - remove
    - os_free
    - base64_encode
    - write_summary
    - xml_node_get_text_free
    linkageType: ''
    returnType: int
    signature: "int download_cert(struct hs20_osu_client *ctx, xml_node_t *params,\n\t\t\t
      const char *fname)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: node_from_file
      Src: /src/hostap/hs20/client/osu_client.c:170,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:172,1
    - Dst: get_child_node
      Src: /src/hostap/hs20/client/osu_client.c:176,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:179,1
    - Dst: xml_node_free
      Src: /src/hostap/hs20/client/osu_client.c:180,1
    - Dst: xml_node_first_child
      Src: /src/hostap/hs20/client/osu_client.c:184,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:186,1
    - Dst: xml_node_free
      Src: /src/hostap/hs20/client/osu_client.c:187,1
    - Dst: download_cert
      Src: /src/hostap/hs20/client/osu_client.c:191,1
    - Dst: xml_node_free
      Src: /src/hostap/hs20/client/osu_client.c:192,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - ctx
    - pps_fname
    - ca_fname
    argTypes:
    - struct hs20_osu_client*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 164
    functionDepth: 3
    functionLinenumber: 164
    functionLinenumberEnd: 195
    functionName: cmd_dl_aaa_ca
    functionSourceFile: /src/hostap/hs20/client/osu_client.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - get_child_node
    - xml_node_first_child
    - xml_node_free
    - download_cert
    - node_from_file
    linkageType: ''
    returnType: int
    signature: "int cmd_dl_aaa_ca(struct hs20_osu_client *ctx, const char *pps_fname,\n\t\t\t
      const char *ca_fname)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/hs20/client/osu_client.c:202,1
    - Dst: wpa_command
      Src: /src/hostap/hs20/client/osu_client.c:203,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - fqdn
    argTypes:
    - struct hs20_osu_client*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 205
    functionName: remove_sp_creds
    functionSourceFile: /src/hostap/hs20/client/osu_client.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - wpa_printf
    - wpa_command
    linkageType: ''
    returnType: void
    signature: void remove_sp_creds(struct hs20_osu_client *ctx, const char *fqdn)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_node
      Src: /src/hostap/hs20/client/osu_client.c:214,1
    - Dst: xml_node_get_text
      Src: /src/hostap/hs20/client/osu_client.c:217,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:220,1
    - Dst: set_cred_quoted
      Src: /src/hostap/hs20/client/osu_client.c:221,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:222,1
    - Dst: xml_node_get_text_free
      Src: /src/hostap/hs20/client/osu_client.c:223,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ctx
    - id
    - spe
    argTypes:
    - struct hs20_osu_client*
    - int
    - xml_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 224
    functionName: set_pps_cred_policy_spe
    functionSourceFile: /src/hostap/hs20/client/osu_client.c
    functionUses: 0
    functionsReached:
    - xml_node_get_text
    - wpa_printf
    - set_cred_quoted
    - get_node
    - xml_node_get_text_free
    linkageType: ''
    returnType: void
    signature: "void set_pps_cred_policy_spe(struct hs20_osu_client *ctx, int id,\n\t\t\t\t
      \   xml_node_t *spe)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xml_node_for_each_child
      Src: /src/hostap/hs20/client/osu_client.c:232,1
    - Dst: xml_node_for_each_check
      Src: /src/hostap/hs20/client/osu_client.c:233,1
    - Dst: set_pps_cred_policy_spe
      Src: /src/hostap/hs20/client/osu_client.c:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - id
    - spel
    argTypes:
    - struct hs20_osu_client*
    - int
    - xml_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 236
    functionName: set_pps_cred_policy_spel
    functionSourceFile: /src/hostap/hs20/client/osu_client.c
    functionUses: 0
    functionsReached:
    - xml_node_for_each_child
    - set_pps_cred_policy_spe
    - xml_node_for_each_check
    linkageType: ''
    returnType: void
    signature: "void set_pps_cred_policy_spel(struct hs20_osu_client *ctx, int id,\n\t\t\t\t
      \    xml_node_t *spel)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: get_node
      Src: /src/hostap/hs20/client/osu_client.c:249,1
    - Dst: xml_node_get_text
      Src: /src/hostap/hs20/client/osu_client.c:252,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:255,1
    - Dst: atoi
      Src: /src/hostap/hs20/client/osu_client.c:257,1
    - Dst: xml_node_get_text_free
      Src: /src/hostap/hs20/client/osu_client.c:258,1
    - Dst: get_node
      Src: /src/hostap/hs20/client/osu_client.c:260,1
    - Dst: xml_node_get_text
      Src: /src/hostap/hs20/client/osu_client.c:262,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:266,1
    - Dst: get_node
      Src: /src/hostap/hs20/client/osu_client.c:272,1
    - Dst: xml_node_get_text
      Src: /src/hostap/hs20/client/osu_client.c:275,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:278,1
    - Dst: strrchr
      Src: /src/hostap/hs20/client/osu_client.c:280,1
    - Dst: snprintf
      Src: /src/hostap/hs20/client/osu_client.c:285,1
    - Dst: strcmp
      Src: /src/hostap/hs20/client/osu_client.c:286,1
    - Dst: set_cred_quoted
      Src: /src/hostap/hs20/client/osu_client.c:287,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:288,1
    - Dst: xml_node_get_text_free
      Src: /src/hostap/hs20/client/osu_client.c:290,1
    - Dst: xml_node_get_text_free
      Src: /src/hostap/hs20/client/osu_client.c:291,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 3
    argNames:
    - ctx
    - id
    - prp
    argTypes:
    - struct hs20_osu_client*
    - int
    - xml_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 292
    functionName: set_pps_cred_policy_prp
    functionSourceFile: /src/hostap/hs20/client/osu_client.c
    functionUses: 0
    functionsReached:
    - strrchr
    - xml_node_get_text
    - wpa_printf
    - snprintf
    - set_cred_quoted
    - strcmp
    - get_node
    - atoi
    - xml_node_get_text_free
    linkageType: ''
    returnType: void
    signature: "void set_pps_cred_policy_prp(struct hs20_osu_client *ctx, int id,\n\t\t\t\t
      \   xml_node_t *prp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xml_node_for_each_child
      Src: /src/hostap/hs20/client/osu_client.c:300,1
    - Dst: xml_node_for_each_check
      Src: /src/hostap/hs20/client/osu_client.c:301,1
    - Dst: set_pps_cred_policy_prp
      Src: /src/hostap/hs20/client/osu_client.c:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - id
    - prpl
    argTypes:
    - struct hs20_osu_client*
    - int
    - xml_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 295
    functionDepth: 2
    functionLinenumber: 295
    functionLinenumberEnd: 304
    functionName: set_pps_cred_policy_prpl
    functionSourceFile: /src/hostap/hs20/client/osu_client.c
    functionUses: 0
    functionsReached:
    - xml_node_for_each_child
    - set_pps_cred_policy_prp
    - xml_node_for_each_check
    linkageType: ''
    returnType: void
    signature: "void set_pps_cred_policy_prpl(struct hs20_osu_client *ctx, int id,\n\t\t\t\t
      \    xml_node_t *prpl)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: get_node
      Src: /src/hostap/hs20/client/osu_client.c:314,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:316,1
    - Dst: xml_node_get_text
      Src: /src/hostap/hs20/client/osu_client.c:320,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:323,1
    - Dst: os_strcasecmp
      Src: /src/hostap/hs20/client/osu_client.c:325,1
    - Dst: os_strcasecmp
      Src: /src/hostap/hs20/client/osu_client.c:327,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:330,1
    - Dst: xml_node_get_text_free
      Src: /src/hostap/hs20/client/osu_client.c:331,1
    - Dst: xml_node_get_text_free
      Src: /src/hostap/hs20/client/osu_client.c:334,1
    - Dst: get_node
      Src: /src/hostap/hs20/client/osu_client.c:336,1
    - Dst: xml_node_get_text
      Src: /src/hostap/hs20/client/osu_client.c:338,1
    - Dst: get_node
      Src: /src/hostap/hs20/client/osu_client.c:340,1
    - Dst: xml_node_get_text
      Src: /src/hostap/hs20/client/osu_client.c:342,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:345,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:350,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:353,1
    - Dst: set_cred
      Src: /src/hostap/hs20/client/osu_client.c:358,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:359,1
    - Dst: set_cred
      Src: /src/hostap/hs20/client/osu_client.c:361,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:362,1
    - Dst: set_cred
      Src: /src/hostap/hs20/client/osu_client.c:365,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:367,1
    - Dst: set_cred
      Src: /src/hostap/hs20/client/osu_client.c:369,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:371,1
    - Dst: xml_node_get_text_free
      Src: /src/hostap/hs20/client/osu_client.c:374,1
    - Dst: xml_node_get_text_free
      Src: /src/hostap/hs20/client/osu_client.c:375,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 46
    argCount: 3
    argNames:
    - ctx
    - id
    - min_backhaul
    argTypes:
    - struct hs20_osu_client*
    - int
    - xml_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 376
    functionName: set_pps_cred_policy_min_backhaul
    functionSourceFile: /src/hostap/hs20/client/osu_client.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - xml_node_get_text
    - get_node
    - set_cred
    - os_strcasecmp
    - xml_node_get_text_free
    linkageType: ''
    returnType: void
    signature: "void set_pps_cred_policy_min_backhaul(struct hs20_osu_client *ctx,
      int id,\n\t\t\t\t\t     xml_node_t *min_backhaul)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:384,1
    - Dst: xml_node_for_each_child
      Src: /src/hostap/hs20/client/osu_client.c:386,1
    - Dst: xml_node_for_each_check
      Src: /src/hostap/hs20/client/osu_client.c:387,1
    - Dst: set_pps_cred_policy_min_backhaul
      Src: /src/hostap/hs20/client/osu_client.c:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - id
    - node
    argTypes:
    - struct hs20_osu_client*
    - int
    - xml_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 379
    functionDepth: 2
    functionLinenumber: 379
    functionLinenumberEnd: 390
    functionName: set_pps_cred_policy_min_backhaul_list
    functionSourceFile: /src/hostap/hs20/client/osu_client.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - set_pps_cred_policy_min_backhaul
    - xml_node_for_each_check
    - xml_node_for_each_child
    linkageType: ''
    returnType: void
    signature: "void set_pps_cred_policy_min_backhaul_list(struct hs20_osu_client
      *ctx,\n\t\t\t\t\t\t  int id, xml_node_t *node)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - id
    - node
    argTypes:
    - struct hs20_osu_client*
    - int
    - xml_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 398
    functionName: set_pps_cred_policy_update
    functionSourceFile: /src/hostap/hs20/client/osu_client.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: "void set_pps_cred_policy_update(struct hs20_osu_client *ctx, int id,\n\t\t\t\t
      \      xml_node_t *node)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: get_node
      Src: /src/hostap/hs20/client/osu_client.c:409,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:411,1
    - Dst: xml_node_get_text
      Src: /src/hostap/hs20/client/osu_client.c:415,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:419,1
    - Dst: get_node
      Src: /src/hostap/hs20/client/osu_client.c:422,1
    - Dst: xml_node_get_text
      Src: /src/hostap/hs20/client/osu_client.c:423,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:425,1
    - Dst: os_strlen
      Src: /src/hostap/hs20/client/osu_client.c:427,1
    - Dst: os_strlen
      Src: /src/hostap/hs20/client/osu_client.c:427,1
    - Dst: os_malloc
      Src: /src/hostap/hs20/client/osu_client.c:428,1
    - Dst: os_snprintf
      Src: /src/hostap/hs20/client/osu_client.c:430,1
    - Dst: xml_node_get_text_free
      Src: /src/hostap/hs20/client/osu_client.c:431,1
    - Dst: os_strlen
      Src: /src/hostap/hs20/client/osu_client.c:433,1
    - Dst: os_malloc
      Src: /src/hostap/hs20/client/osu_client.c:434,1
    - Dst: os_snprintf
      Src: /src/hostap/hs20/client/osu_client.c:436,1
    - Dst: xml_node_get_text_free
      Src: /src/hostap/hs20/client/osu_client.c:439,1
    - Dst: set_cred
      Src: /src/hostap/hs20/client/osu_client.c:444,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:445,1
    - Dst: os_free
      Src: /src/hostap/hs20/client/osu_client.c:447,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 3
    argNames:
    - ctx
    - id
    - tuple
    argTypes:
    - struct hs20_osu_client*
    - int
    - xml_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 448
    functionName: set_pps_cred_policy_required_proto_port
    functionSourceFile: /src/hostap/hs20/client/osu_client.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - xml_node_get_text
    - os_malloc
    - os_snprintf
    - get_node
    - set_cred
    - os_free
    - xml_node_get_text_free
    linkageType: ''
    returnType: void
    signature: "void set_pps_cred_policy_required_proto_port(struct hs20_osu_client
      *ctx,\n\t\t\t\t\t\t    int id, xml_node_t *tuple)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:456,1
    - Dst: xml_node_for_each_child
      Src: /src/hostap/hs20/client/osu_client.c:458,1
    - Dst: xml_node_for_each_check
      Src: /src/hostap/hs20/client/osu_client.c:459,1
    - Dst: set_pps_cred_policy_required_proto_port
      Src: /src/hostap/hs20/client/osu_client.c:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - id
    - node
    argTypes:
    - struct hs20_osu_client*
    - int
    - xml_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 451
    functionDepth: 2
    functionLinenumber: 451
    functionLinenumberEnd: 462
    functionName: set_pps_cred_policy_required_proto_ports
    functionSourceFile: /src/hostap/hs20/client/osu_client.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - set_pps_cred_policy_required_proto_port
    - xml_node_for_each_check
    - xml_node_for_each_child
    linkageType: ''
    returnType: void
    signature: "void set_pps_cred_policy_required_proto_ports(struct hs20_osu_client
      *ctx,\n\t\t\t\t\t\t     int id, xml_node_t *node)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xml_node_get_text
      Src: /src/hostap/hs20/client/osu_client.c:468,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:471,1
    - Dst: set_cred
      Src: /src/hostap/hs20/client/osu_client.c:472,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:473,1
    - Dst: xml_node_get_text_free
      Src: /src/hostap/hs20/client/osu_client.c:474,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - id
    - node
    argTypes:
    - struct hs20_osu_client*
    - int
    - xml_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 465
    functionDepth: 1
    functionLinenumber: 465
    functionLinenumberEnd: 475
    functionName: set_pps_cred_policy_max_bss_load
    functionSourceFile: /src/hostap/hs20/client/osu_client.c
    functionUses: 0
    functionsReached:
    - xml_node_get_text
    - set_cred
    - wpa_printf
    - xml_node_get_text_free
    linkageType: ''
    returnType: void
    signature: "void set_pps_cred_policy_max_bss_load(struct hs20_osu_client *ctx,
      int id,\n\t\t\t\t\t     xml_node_t *node)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:484,1
    - Dst: xml_node_for_each_child
      Src: /src/hostap/hs20/client/osu_client.c:486,1
    - Dst: xml_node_for_each_check
      Src: /src/hostap/hs20/client/osu_client.c:487,1
    - Dst: xml_node_get_localname
      Src: /src/hostap/hs20/client/osu_client.c:488,1
    - Dst: os_strcasecmp
      Src: /src/hostap/hs20/client/osu_client.c:489,1
    - Dst: set_pps_cred_policy_prpl
      Src: /src/hostap/hs20/client/osu_client.c:490,1
    - Dst: os_strcasecmp
      Src: /src/hostap/hs20/client/osu_client.c:491,1
    - Dst: set_pps_cred_policy_min_backhaul_list
      Src: /src/hostap/hs20/client/osu_client.c:492,1
    - Dst: os_strcasecmp
      Src: /src/hostap/hs20/client/osu_client.c:493,1
    - Dst: set_pps_cred_policy_update
      Src: /src/hostap/hs20/client/osu_client.c:494,1
    - Dst: os_strcasecmp
      Src: /src/hostap/hs20/client/osu_client.c:495,1
    - Dst: set_pps_cred_policy_spel
      Src: /src/hostap/hs20/client/osu_client.c:496,1
    - Dst: os_strcasecmp
      Src: /src/hostap/hs20/client/osu_client.c:497,1
    - Dst: set_pps_cred_policy_required_proto_ports
      Src: /src/hostap/hs20/client/osu_client.c:498,1
    - Dst: os_strcasecmp
      Src: /src/hostap/hs20/client/osu_client.c:499,1
    - Dst: set_pps_cred_policy_max_bss_load
      Src: /src/hostap/hs20/client/osu_client.c:500,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:502,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - ctx
    - id
    - node
    argTypes:
    - struct hs20_osu_client*
    - int
    - xml_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 478
    functionDepth: 3
    functionLinenumber: 478
    functionLinenumberEnd: 504
    functionName: set_pps_cred_policy
    functionSourceFile: /src/hostap/hs20/client/osu_client.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - set_pps_cred_policy_update
    - set_pps_cred_policy_prpl
    - set_pps_cred_policy_min_backhaul_list
    - set_pps_cred_policy_required_proto_ports
    - set_pps_cred_policy_spel
    - xml_node_get_localname
    - os_strcasecmp
    - xml_node_for_each_child
    - set_pps_cred_policy_max_bss_load
    - xml_node_for_each_check
    linkageType: ''
    returnType: void
    signature: "void set_pps_cred_policy(struct hs20_osu_client *ctx, int id,\n\t\t\t\txml_node_t
      *node)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xml_node_get_text
      Src: /src/hostap/hs20/client/osu_client.c:510,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:513,1
    - Dst: set_cred
      Src: /src/hostap/hs20/client/osu_client.c:514,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:515,1
    - Dst: xml_node_get_text_free
      Src: /src/hostap/hs20/client/osu_client.c:516,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - id
    - node
    argTypes:
    - struct hs20_osu_client*
    - int
    - xml_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 517
    functionName: set_pps_cred_priority
    functionSourceFile: /src/hostap/hs20/client/osu_client.c
    functionUses: 0
    functionsReached:
    - xml_node_get_text
    - set_cred
    - wpa_printf
    - xml_node_get_text_free
    linkageType: ''
    returnType: void
    signature: "void set_pps_cred_priority(struct hs20_osu_client *ctx, int id,\n\t\t\t\t
      \ xml_node_t *node)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - id
    - node
    argTypes:
    - struct hs20_osu_client*
    - int
    - xml_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 524
    functionName: set_pps_cred_aaa_server_trust_root
    functionSourceFile: /src/hostap/hs20/client/osu_client.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: "void set_pps_cred_aaa_server_trust_root(struct hs20_osu_client *ctx,\n\t\t\t\t\t
      \      int id, xml_node_t *node)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - id
    - node
    argTypes:
    - struct hs20_osu_client*
    - int
    - xml_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 532
    functionName: set_pps_cred_sub_update
    functionSourceFile: /src/hostap/hs20/client/osu_client.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: "void set_pps_cred_sub_update(struct hs20_osu_client *ctx, int id,\n\t\t\t\t
      \   xml_node_t *node)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_node
      Src: /src/hostap/hs20/client/osu_client.c:541,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:543,1
    - Dst: get_node
      Src: /src/hostap/hs20/client/osu_client.c:547,1
    - Dst: xml_node_get_text
      Src: /src/hostap/hs20/client/osu_client.c:549,1
    - Dst: xml_node_get_text
      Src: /src/hostap/hs20/client/osu_client.c:552,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:554,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:556,1
    - Dst: xml_node_get_text_free
      Src: /src/hostap/hs20/client/osu_client.c:561,1
    - Dst: xml_node_get_text_free
      Src: /src/hostap/hs20/client/osu_client.c:562,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - ctx
    - id
    - node
    argTypes:
    - struct hs20_osu_client*
    - int
    - xml_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 535
    functionDepth: 1
    functionLinenumber: 535
    functionLinenumberEnd: 563
    functionName: set_pps_cred_home_sp_network_id
    functionSourceFile: /src/hostap/hs20/client/osu_client.c
    functionUses: 0
    functionsReached:
    - get_node
    - wpa_printf
    - xml_node_get_text_free
    - xml_node_get_text
    linkageType: ''
    returnType: void
    signature: "void set_pps_cred_home_sp_network_id(struct hs20_osu_client *ctx,\n\t\t\t\t\t
      \   int id, xml_node_t *node)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:571,1
    - Dst: xml_node_for_each_child
      Src: /src/hostap/hs20/client/osu_client.c:573,1
    - Dst: xml_node_for_each_check
      Src: /src/hostap/hs20/client/osu_client.c:574,1
    - Dst: set_pps_cred_home_sp_network_id
      Src: /src/hostap/hs20/client/osu_client.c:575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - id
    - node
    argTypes:
    - struct hs20_osu_client*
    - int
    - xml_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 566
    functionDepth: 2
    functionLinenumber: 566
    functionLinenumberEnd: 577
    functionName: set_pps_cred_home_sp_network_ids
    functionSourceFile: /src/hostap/hs20/client/osu_client.c
    functionUses: 0
    functionsReached:
    - set_pps_cred_home_sp_network_id
    - wpa_printf
    - xml_node_for_each_check
    - xml_node_for_each_child
    linkageType: ''
    returnType: void
    signature: "void set_pps_cred_home_sp_network_ids(struct hs20_osu_client *ctx,\n\t\t\t\t\t
      \    int id, xml_node_t *node)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xml_node_get_text
      Src: /src/hostap/hs20/client/osu_client.c:583,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:586,1
    - Dst: xml_node_get_text_free
      Src: /src/hostap/hs20/client/osu_client.c:588,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - id
    - node
    argTypes:
    - struct hs20_osu_client*
    - int
    - xml_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 580
    functionDepth: 1
    functionLinenumber: 580
    functionLinenumberEnd: 589
    functionName: set_pps_cred_home_sp_friendly_name
    functionSourceFile: /src/hostap/hs20/client/osu_client.c
    functionUses: 0
    functionsReached:
    - xml_node_get_text
    - wpa_printf
    - xml_node_get_text_free
    linkageType: ''
    returnType: void
    signature: "void set_pps_cred_home_sp_friendly_name(struct hs20_osu_client *ctx,\n\t\t\t\t\t
      \      int id, xml_node_t *node)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xml_node_get_text
      Src: /src/hostap/hs20/client/osu_client.c:595,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:598,1
    - Dst: xml_node_get_text_free
      Src: /src/hostap/hs20/client/osu_client.c:600,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - id
    - node
    argTypes:
    - struct hs20_osu_client*
    - int
    - xml_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 592
    functionDepth: 1
    functionLinenumber: 592
    functionLinenumberEnd: 601
    functionName: set_pps_cred_home_sp_icon_url
    functionSourceFile: /src/hostap/hs20/client/osu_client.c
    functionUses: 0
    functionsReached:
    - xml_node_get_text
    - wpa_printf
    - xml_node_get_text_free
    linkageType: ''
    returnType: void
    signature: "void set_pps_cred_home_sp_icon_url(struct hs20_osu_client *ctx,\n\t\t\t\t\t
      \ int id, xml_node_t *node)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xml_node_get_text
      Src: /src/hostap/hs20/client/osu_client.c:607,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:610,1
    - Dst: set_cred_quoted
      Src: /src/hostap/hs20/client/osu_client.c:611,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:612,1
    - Dst: set_cred_quoted
      Src: /src/hostap/hs20/client/osu_client.c:613,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:614,1
    - Dst: xml_node_get_text_free
      Src: /src/hostap/hs20/client/osu_client.c:615,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - id
    - node
    argTypes:
    - struct hs20_osu_client*
    - int
    - xml_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 604
    functionDepth: 1
    functionLinenumber: 604
    functionLinenumberEnd: 616
    functionName: set_pps_cred_home_sp_fqdn
    functionSourceFile: /src/hostap/hs20/client/osu_client.c
    functionUses: 0
    functionsReached:
    - set_cred_quoted
    - xml_node_get_text
    - wpa_printf
    - xml_node_get_text_free
    linkageType: ''
    returnType: void
    signature: "void set_pps_cred_home_sp_fqdn(struct hs20_osu_client *ctx, int id,\n\t\t\t\t
      \     xml_node_t *node)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: xml_node_for_each_child
      Src: /src/hostap/hs20/client/osu_client.c:628,1
    - Dst: xml_node_for_each_check
      Src: /src/hostap/hs20/client/osu_client.c:629,1
    - Dst: xml_node_get_localname
      Src: /src/hostap/hs20/client/osu_client.c:630,1
    - Dst: strcasecmp
      Src: /src/hostap/hs20/client/osu_client.c:631,1
    - Dst: xml_node_get_text
      Src: /src/hostap/hs20/client/osu_client.c:632,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:633,1
    - Dst: strcasecmp
      Src: /src/hostap/hs20/client/osu_client.c:635,1
    - Dst: xml_node_get_text
      Src: /src/hostap/hs20/client/osu_client.c:636,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:637,1
    - Dst: strcasecmp
      Src: /src/hostap/hs20/client/osu_client.c:641,1
    - Dst: xml_node_get_text_free
      Src: /src/hostap/hs20/client/osu_client.c:642,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:644,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:649,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:653,1
    - Dst: set_cred_quoted
      Src: /src/hostap/hs20/client/osu_client.c:657,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:659,1
    - Dst: set_cred_quoted
      Src: /src/hostap/hs20/client/osu_client.c:662,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:663,1
    - Dst: xml_node_get_text_free
      Src: /src/hostap/hs20/client/osu_client.c:666,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 3
    argNames:
    - ctx
    - id
    - node
    argTypes:
    - struct hs20_osu_client*
    - int
    - xml_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 619
    functionDepth: 1
    functionLinenumber: 619
    functionLinenumberEnd: 667
    functionName: set_pps_cred_home_sp_oi
    functionSourceFile: /src/hostap/hs20/client/osu_client.c
    functionUses: 0
    functionsReached:
    - xml_node_get_text
    - wpa_printf
    - strcasecmp
    - set_cred_quoted
    - xml_node_get_text_free
    - xml_node_get_localname
    - xml_node_for_each_child
    - xml_node_for_each_check
    linkageType: ''
    returnType: void
    signature: "void set_pps_cred_home_sp_oi(struct hs20_osu_client *ctx, int id,\n\t\t\t\t
      \   xml_node_t *node)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:675,1
    - Dst: xml_node_for_each_child
      Src: /src/hostap/hs20/client/osu_client.c:677,1
    - Dst: xml_node_for_each_check
      Src: /src/hostap/hs20/client/osu_client.c:678,1
    - Dst: set_pps_cred_home_sp_oi
      Src: /src/hostap/hs20/client/osu_client.c:679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - id
    - node
    argTypes:
    - struct hs20_osu_client*
    - int
    - xml_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 670
    functionDepth: 2
    functionLinenumber: 670
    functionLinenumberEnd: 681
    functionName: set_pps_cred_home_sp_oi_list
    functionSourceFile: /src/hostap/hs20/client/osu_client.c
    functionUses: 0
    functionsReached:
    - set_pps_cred_home_sp_oi
    - wpa_printf
    - xml_node_for_each_check
    - xml_node_for_each_child
    linkageType: ''
    returnType: void
    signature: "void set_pps_cred_home_sp_oi_list(struct hs20_osu_client *ctx, int
      id,\n\t\t\t\t\t xml_node_t *node)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xml_node_for_each_child
      Src: /src/hostap/hs20/client/osu_client.c:691,1
    - Dst: xml_node_for_each_check
      Src: /src/hostap/hs20/client/osu_client.c:692,1
    - Dst: xml_node_get_localname
      Src: /src/hostap/hs20/client/osu_client.c:693,1
    - Dst: os_strcasecmp
      Src: /src/hostap/hs20/client/osu_client.c:694,1
    - Dst: xml_node_get_text
      Src: /src/hostap/hs20/client/osu_client.c:695,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:696,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:699,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:704,1
    - Dst: set_cred_quoted
      Src: /src/hostap/hs20/client/osu_client.c:708,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:709,1
    - Dst: xml_node_get_text_free
      Src: /src/hostap/hs20/client/osu_client.c:711,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - ctx
    - id
    - node
    argTypes:
    - struct hs20_osu_client*
    - int
    - xml_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 684
    functionDepth: 1
    functionLinenumber: 684
    functionLinenumberEnd: 712
    functionName: set_pps_cred_home_sp_other_partner
    functionSourceFile: /src/hostap/hs20/client/osu_client.c
    functionUses: 0
    functionsReached:
    - xml_node_get_text
    - wpa_printf
    - set_cred_quoted
    - xml_node_get_text_free
    - xml_node_get_localname
    - os_strcasecmp
    - xml_node_for_each_child
    - xml_node_for_each_check
    linkageType: ''
    returnType: void
    signature: "void set_pps_cred_home_sp_other_partner(struct hs20_osu_client *ctx,\n\t\t\t\t\t
      \      int id, xml_node_t *node)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:721,1
    - Dst: xml_node_for_each_child
      Src: /src/hostap/hs20/client/osu_client.c:723,1
    - Dst: xml_node_for_each_check
      Src: /src/hostap/hs20/client/osu_client.c:724,1
    - Dst: set_pps_cred_home_sp_other_partner
      Src: /src/hostap/hs20/client/osu_client.c:725,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - id
    - node
    argTypes:
    - struct hs20_osu_client*
    - int
    - xml_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 715
    functionDepth: 2
    functionLinenumber: 715
    functionLinenumberEnd: 727
    functionName: set_pps_cred_home_sp_other_partners
    functionSourceFile: /src/hostap/hs20/client/osu_client.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - set_pps_cred_home_sp_other_partner
    - xml_node_for_each_check
    - xml_node_for_each_child
    linkageType: ''
    returnType: void
    signature: "void set_pps_cred_home_sp_other_partners(struct hs20_osu_client *ctx,\n\t\t\t\t\t\tint
      id,\n\t\t\t\t\t\txml_node_t *node)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xml_node_get_text
      Src: /src/hostap/hs20/client/osu_client.c:733,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:736,1
    - Dst: set_cred_quoted
      Src: /src/hostap/hs20/client/osu_client.c:737,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:739,1
    - Dst: xml_node_get_text_free
      Src: /src/hostap/hs20/client/osu_client.c:740,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - id
    - node
    argTypes:
    - struct hs20_osu_client*
    - int
    - xml_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 730
    functionDepth: 1
    functionLinenumber: 730
    functionLinenumberEnd: 741
    functionName: set_pps_cred_home_sp_roaming_consortium_oi
    functionSourceFile: /src/hostap/hs20/client/osu_client.c
    functionUses: 0
    functionsReached:
    - set_cred_quoted
    - xml_node_get_text
    - wpa_printf
    - xml_node_get_text_free
    linkageType: ''
    returnType: void
    signature: "void set_pps_cred_home_sp_roaming_consortium_oi(\n\tstruct hs20_osu_client
      *ctx, int id, xml_node_t *node)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:750,1
    - Dst: xml_node_for_each_child
      Src: /src/hostap/hs20/client/osu_client.c:752,1
    - Dst: xml_node_for_each_check
      Src: /src/hostap/hs20/client/osu_client.c:753,1
    - Dst: xml_node_get_localname
      Src: /src/hostap/hs20/client/osu_client.c:754,1
    - Dst: os_strcasecmp
      Src: /src/hostap/hs20/client/osu_client.c:755,1
    - Dst: set_pps_cred_home_sp_network_ids
      Src: /src/hostap/hs20/client/osu_client.c:756,1
    - Dst: os_strcasecmp
      Src: /src/hostap/hs20/client/osu_client.c:757,1
    - Dst: set_pps_cred_home_sp_friendly_name
      Src: /src/hostap/hs20/client/osu_client.c:758,1
    - Dst: os_strcasecmp
      Src: /src/hostap/hs20/client/osu_client.c:759,1
    - Dst: set_pps_cred_home_sp_icon_url
      Src: /src/hostap/hs20/client/osu_client.c:760,1
    - Dst: os_strcasecmp
      Src: /src/hostap/hs20/client/osu_client.c:761,1
    - Dst: set_pps_cred_home_sp_fqdn
      Src: /src/hostap/hs20/client/osu_client.c:762,1
    - Dst: os_strcasecmp
      Src: /src/hostap/hs20/client/osu_client.c:763,1
    - Dst: set_pps_cred_home_sp_oi_list
      Src: /src/hostap/hs20/client/osu_client.c:764,1
    - Dst: os_strcasecmp
      Src: /src/hostap/hs20/client/osu_client.c:765,1
    - Dst: set_pps_cred_home_sp_other_partners
      Src: /src/hostap/hs20/client/osu_client.c:766,1
    - Dst: os_strcasecmp
      Src: /src/hostap/hs20/client/osu_client.c:767,1
    - Dst: set_pps_cred_home_sp_roaming_consortium_oi
      Src: /src/hostap/hs20/client/osu_client.c:768,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:771,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - ctx
    - id
    - node
    argTypes:
    - struct hs20_osu_client*
    - int
    - xml_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 744
    functionDepth: 3
    functionLinenumber: 744
    functionLinenumberEnd: 773
    functionName: set_pps_cred_home_sp
    functionSourceFile: /src/hostap/hs20/client/osu_client.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - set_pps_cred_home_sp_network_ids
    - set_pps_cred_home_sp_roaming_consortium_oi
    - set_pps_cred_home_sp_other_partners
    - set_pps_cred_home_sp_icon_url
    - set_pps_cred_home_sp_friendly_name
    - xml_node_get_localname
    - os_strcasecmp
    - set_pps_cred_home_sp_oi_list
    - xml_node_for_each_child
    - set_pps_cred_home_sp_fqdn
    - xml_node_for_each_check
    linkageType: ''
    returnType: void
    signature: "void set_pps_cred_home_sp(struct hs20_osu_client *ctx, int id,\n\t\t\t\t
      xml_node_t *node)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:779,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - id
    - node
    argTypes:
    - struct hs20_osu_client*
    - int
    - xml_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 781
    functionName: set_pps_cred_sub_params
    functionSourceFile: /src/hostap/hs20/client/osu_client.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: "void set_pps_cred_sub_params(struct hs20_osu_client *ctx, int id,\n\t\t\t\t
      \   xml_node_t *node)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xml_node_get_text
      Src: /src/hostap/hs20/client/osu_client.c:787,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:790,1
    - Dst: xml_node_get_text_free
      Src: /src/hostap/hs20/client/osu_client.c:792,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - id
    - node
    argTypes:
    - struct hs20_osu_client*
    - int
    - xml_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 784
    functionDepth: 1
    functionLinenumber: 784
    functionLinenumberEnd: 793
    functionName: set_pps_cred_creation_date
    functionSourceFile: /src/hostap/hs20/client/osu_client.c
    functionUses: 0
    functionsReached:
    - xml_node_get_text
    - wpa_printf
    - xml_node_get_text_free
    linkageType: ''
    returnType: void
    signature: "void set_pps_cred_creation_date(struct hs20_osu_client *ctx, int id,\n\t\t\t\t
      \      xml_node_t *node)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xml_node_get_text
      Src: /src/hostap/hs20/client/osu_client.c:799,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:802,1
    - Dst: xml_node_get_text_free
      Src: /src/hostap/hs20/client/osu_client.c:804,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - id
    - node
    argTypes:
    - struct hs20_osu_client*
    - int
    - xml_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 796
    functionDepth: 1
    functionLinenumber: 796
    functionLinenumberEnd: 805
    functionName: set_pps_cred_expiration_date
    functionSourceFile: /src/hostap/hs20/client/osu_client.c
    functionUses: 0
    functionsReached:
    - xml_node_get_text
    - wpa_printf
    - xml_node_get_text_free
    linkageType: ''
    returnType: void
    signature: "void set_pps_cred_expiration_date(struct hs20_osu_client *ctx, int
      id,\n\t\t\t\t\t xml_node_t *node)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xml_node_get_text
      Src: /src/hostap/hs20/client/osu_client.c:811,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:814,1
    - Dst: set_cred_quoted
      Src: /src/hostap/hs20/client/osu_client.c:816,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:817,1
    - Dst: xml_node_get_text_free
      Src: /src/hostap/hs20/client/osu_client.c:818,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - id
    - node
    argTypes:
    - struct hs20_osu_client*
    - int
    - xml_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 808
    functionDepth: 1
    functionLinenumber: 808
    functionLinenumberEnd: 819
    functionName: set_pps_cred_username
    functionSourceFile: /src/hostap/hs20/client/osu_client.c
    functionUses: 0
    functionsReached:
    - set_cred_quoted
    - xml_node_get_text
    - wpa_printf
    - xml_node_get_text_free
    linkageType: ''
    returnType: void
    signature: "void set_pps_cred_username(struct hs20_osu_client *ctx, int id,\n\t\t\t\t
      \ xml_node_t *node)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xml_node_get_base64_text
      Src: /src/hostap/hs20/client/osu_client.c:828,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:832,1
    - Dst: malloc
      Src: /src/hostap/hs20/client/osu_client.c:834,1
    - Dst: free
      Src: /src/hostap/hs20/client/osu_client.c:836,1
    - Dst: snprintf
      Src: /src/hostap/hs20/client/osu_client.c:842,1
    - Dst: free
      Src: /src/hostap/hs20/client/osu_client.c:845,1
    - Dst: set_cred
      Src: /src/hostap/hs20/client/osu_client.c:847,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:848,1
    - Dst: free
      Src: /src/hostap/hs20/client/osu_client.c:849,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - ctx
    - id
    - node
    argTypes:
    - struct hs20_osu_client*
    - int
    - xml_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 822
    functionDepth: 1
    functionLinenumber: 822
    functionLinenumberEnd: 850
    functionName: set_pps_cred_password
    functionSourceFile: /src/hostap/hs20/client/osu_client.c
    functionUses: 0
    functionsReached:
    - snprintf
    - wpa_printf
    - malloc
    - set_cred
    - xml_node_get_base64_text
    - free
    linkageType: ''
    returnType: void
    signature: "void set_pps_cred_password(struct hs20_osu_client *ctx, int id,\n\t\t\t\t
      \ xml_node_t *node)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xml_node_get_text
      Src: /src/hostap/hs20/client/osu_client.c:856,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:859,1
    - Dst: xml_node_get_text_free
      Src: /src/hostap/hs20/client/osu_client.c:862,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - id
    - node
    argTypes:
    - struct hs20_osu_client*
    - int
    - xml_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 853
    functionDepth: 1
    functionLinenumber: 853
    functionLinenumberEnd: 863
    functionName: set_pps_cred_machine_managed
    functionSourceFile: /src/hostap/hs20/client/osu_client.c
    functionUses: 0
    functionsReached:
    - xml_node_get_text
    - wpa_printf
    - xml_node_get_text_free
    linkageType: ''
    returnType: void
    signature: "void set_pps_cred_machine_managed(struct hs20_osu_client *ctx, int
      id,\n\t\t\t\t\t xml_node_t *node)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xml_node_get_text
      Src: /src/hostap/hs20/client/osu_client.c:869,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:872,1
    - Dst: xml_node_get_text_free
      Src: /src/hostap/hs20/client/osu_client.c:875,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - id
    - node
    argTypes:
    - struct hs20_osu_client*
    - int
    - xml_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 866
    functionDepth: 1
    functionLinenumber: 866
    functionLinenumberEnd: 876
    functionName: set_pps_cred_soft_token_app
    functionSourceFile: /src/hostap/hs20/client/osu_client.c
    functionUses: 0
    functionsReached:
    - xml_node_get_text
    - wpa_printf
    - xml_node_get_text_free
    linkageType: ''
    returnType: void
    signature: "void set_pps_cred_soft_token_app(struct hs20_osu_client *ctx, int
      id,\n\t\t\t\t\txml_node_t *node)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xml_node_get_text
      Src: /src/hostap/hs20/client/osu_client.c:882,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:885,1
    - Dst: xml_node_get_text_free
      Src: /src/hostap/hs20/client/osu_client.c:888,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - id
    - node
    argTypes:
    - struct hs20_osu_client*
    - int
    - xml_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 879
    functionDepth: 1
    functionLinenumber: 879
    functionLinenumberEnd: 889
    functionName: set_pps_cred_able_to_share
    functionSourceFile: /src/hostap/hs20/client/osu_client.c
    functionUses: 0
    functionsReached:
    - xml_node_get_text
    - wpa_printf
    - xml_node_get_text_free
    linkageType: ''
    returnType: void
    signature: "void set_pps_cred_able_to_share(struct hs20_osu_client *ctx, int id,\n\t\t\t\t
      \      xml_node_t *node)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: xml_node_get_text
      Src: /src/hostap/hs20/client/osu_client.c:895,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:901,1
    - Dst: atoi
      Src: /src/hostap/hs20/client/osu_client.c:903,1
    - Dst: xml_node_get_text_free
      Src: /src/hostap/hs20/client/osu_client.c:918,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:920,1
    - Dst: set_cred
      Src: /src/hostap/hs20/client/osu_client.c:924,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:925,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - ctx
    - id
    - node
    argTypes:
    - struct hs20_osu_client*
    - int
    - xml_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 892
    functionDepth: 1
    functionLinenumber: 892
    functionLinenumberEnd: 926
    functionName: set_pps_cred_eap_method_eap_type
    functionSourceFile: /src/hostap/hs20/client/osu_client.c
    functionUses: 0
    functionsReached:
    - xml_node_get_text
    - wpa_printf
    - set_cred
    - atoi
    - xml_node_get_text_free
    linkageType: ''
    returnType: void
    signature: "void set_pps_cred_eap_method_eap_type(struct hs20_osu_client *ctx,\n\t\t\t\t\t
      \    int id, xml_node_t *node)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: xml_node_get_text
      Src: /src/hostap/hs20/client/osu_client.c:932,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:937,1
    - Dst: os_strcmp
      Src: /src/hostap/hs20/client/osu_client.c:940,1
    - Dst: os_strcmp
      Src: /src/hostap/hs20/client/osu_client.c:942,1
    - Dst: os_strcmp
      Src: /src/hostap/hs20/client/osu_client.c:944,1
    - Dst: os_strcmp
      Src: /src/hostap/hs20/client/osu_client.c:946,1
    - Dst: xml_node_get_text_free
      Src: /src/hostap/hs20/client/osu_client.c:948,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:950,1
    - Dst: set_cred_quoted
      Src: /src/hostap/hs20/client/osu_client.c:954,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:955,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - ctx
    - id
    - node
    argTypes:
    - struct hs20_osu_client*
    - int
    - xml_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 929
    functionDepth: 1
    functionLinenumber: 929
    functionLinenumberEnd: 956
    functionName: set_pps_cred_eap_method_inner_method
    functionSourceFile: /src/hostap/hs20/client/osu_client.c
    functionUses: 0
    functionsReached:
    - xml_node_get_text
    - wpa_printf
    - set_cred_quoted
    - os_strcmp
    - xml_node_get_text_free
    linkageType: ''
    returnType: void
    signature: "void set_pps_cred_eap_method_inner_method(struct hs20_osu_client *ctx,\n\t\t\t\t\t\t
      int id, xml_node_t *node)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:965,1
    - Dst: xml_node_for_each_child
      Src: /src/hostap/hs20/client/osu_client.c:967,1
    - Dst: xml_node_for_each_check
      Src: /src/hostap/hs20/client/osu_client.c:968,1
    - Dst: xml_node_get_localname
      Src: /src/hostap/hs20/client/osu_client.c:969,1
    - Dst: os_strcasecmp
      Src: /src/hostap/hs20/client/osu_client.c:970,1
    - Dst: set_pps_cred_eap_method_eap_type
      Src: /src/hostap/hs20/client/osu_client.c:971,1
    - Dst: os_strcasecmp
      Src: /src/hostap/hs20/client/osu_client.c:972,1
    - Dst: set_pps_cred_eap_method_inner_method
      Src: /src/hostap/hs20/client/osu_client.c:973,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:975,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - ctx
    - id
    - node
    argTypes:
    - struct hs20_osu_client*
    - int
    - xml_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 959
    functionDepth: 2
    functionLinenumber: 959
    functionLinenumberEnd: 978
    functionName: set_pps_cred_eap_method
    functionSourceFile: /src/hostap/hs20/client/osu_client.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - set_pps_cred_eap_method_eap_type
    - set_pps_cred_eap_method_inner_method
    - xml_node_get_localname
    - os_strcasecmp
    - xml_node_for_each_child
    - xml_node_for_each_check
    linkageType: ''
    returnType: void
    signature: "void set_pps_cred_eap_method(struct hs20_osu_client *ctx, int id,\n\t\t\t\t
      \   xml_node_t *node)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:987,1
    - Dst: xml_node_for_each_child
      Src: /src/hostap/hs20/client/osu_client.c:989,1
    - Dst: xml_node_for_each_check
      Src: /src/hostap/hs20/client/osu_client.c:990,1
    - Dst: xml_node_get_localname
      Src: /src/hostap/hs20/client/osu_client.c:991,1
    - Dst: os_strcasecmp
      Src: /src/hostap/hs20/client/osu_client.c:992,1
    - Dst: set_pps_cred_username
      Src: /src/hostap/hs20/client/osu_client.c:993,1
    - Dst: os_strcasecmp
      Src: /src/hostap/hs20/client/osu_client.c:994,1
    - Dst: set_pps_cred_password
      Src: /src/hostap/hs20/client/osu_client.c:995,1
    - Dst: os_strcasecmp
      Src: /src/hostap/hs20/client/osu_client.c:996,1
    - Dst: set_pps_cred_machine_managed
      Src: /src/hostap/hs20/client/osu_client.c:997,1
    - Dst: os_strcasecmp
      Src: /src/hostap/hs20/client/osu_client.c:998,1
    - Dst: set_pps_cred_soft_token_app
      Src: /src/hostap/hs20/client/osu_client.c:999,1
    - Dst: os_strcasecmp
      Src: /src/hostap/hs20/client/osu_client.c:1000,1
    - Dst: set_pps_cred_able_to_share
      Src: /src/hostap/hs20/client/osu_client.c:1001,1
    - Dst: os_strcasecmp
      Src: /src/hostap/hs20/client/osu_client.c:1002,1
    - Dst: set_pps_cred_eap_method
      Src: /src/hostap/hs20/client/osu_client.c:1003,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:1005,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - ctx
    - id
    - node
    argTypes:
    - struct hs20_osu_client*
    - int
    - xml_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 981
    functionDepth: 3
    functionLinenumber: 981
    functionLinenumberEnd: 1008
    functionName: set_pps_cred_username_password
    functionSourceFile: /src/hostap/hs20/client/osu_client.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - set_pps_cred_able_to_share
    - set_pps_cred_username
    - set_pps_cred_password
    - set_pps_cred_machine_managed
    - set_pps_cred_soft_token_app
    - xml_node_get_localname
    - os_strcasecmp
    - xml_node_for_each_child
    - set_pps_cred_eap_method
    - xml_node_for_each_check
    linkageType: ''
    returnType: void
    signature: "void set_pps_cred_username_password(struct hs20_osu_client *ctx, int
      id,\n\t\t\t\t\t   xml_node_t *node)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:1017,1
    - Dst: getcwd
      Src: /src/hostap/hs20/client/osu_client.c:1019,1
    - Dst: set_cred_quoted
      Src: /src/hostap/hs20/client/osu_client.c:1023,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:1024,1
    - Dst: os_snprintf
      Src: /src/hostap/hs20/client/osu_client.c:1027,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hs20/client/osu_client.c:1029,1
    - Dst: os_file_exists
      Src: /src/hostap/hs20/client/osu_client.c:1031,1
    - Dst: set_cred_quoted
      Src: /src/hostap/hs20/client/osu_client.c:1032,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:1033,1
    - Dst: os_snprintf
      Src: /src/hostap/hs20/client/osu_client.c:1037,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hs20/client/osu_client.c:1039,1
    - Dst: os_file_exists
      Src: /src/hostap/hs20/client/osu_client.c:1041,1
    - Dst: set_cred_quoted
      Src: /src/hostap/hs20/client/osu_client.c:1042,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:1043,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 4
    argNames:
    - ctx
    - id
    - node
    - fqdn
    argTypes:
    - struct hs20_osu_client*
    - int
    - xml_node_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1011
    functionDepth: 1
    functionLinenumber: 1011
    functionLinenumberEnd: 1046
    functionName: set_pps_cred_digital_cert
    functionSourceFile: /src/hostap/hs20/client/osu_client.c
    functionUses: 0
    functionsReached:
    - os_file_exists
    - wpa_printf
    - getcwd
    - set_cred_quoted
    - os_snprintf
    - os_snprintf_error
    linkageType: ''
    returnType: void
    signature: "void set_pps_cred_digital_cert(struct hs20_osu_client *ctx, int id,\n\t\t\t\t
      \     xml_node_t *node, const char *fqdn)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: xml_node_get_text
      Src: /src/hostap/hs20/client/osu_client.c:1052,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:1059,1
    - Dst: set_cred_quoted
      Src: /src/hostap/hs20/client/osu_client.c:1060,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:1061,1
    - Dst: xml_node_get_text_free
      Src: /src/hostap/hs20/client/osu_client.c:1062,1
    - Dst: getcwd
      Src: /src/hostap/hs20/client/osu_client.c:1067,1
    - Dst: os_snprintf
      Src: /src/hostap/hs20/client/osu_client.c:1069,1
    - Dst: os_snprintf_error
      Src: /src/hostap/hs20/client/osu_client.c:1070,1
    - Dst: os_file_exists
      Src: /src/hostap/hs20/client/osu_client.c:1072,1
    - Dst: set_cred_quoted
      Src: /src/hostap/hs20/client/osu_client.c:1073,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:1074,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 5
    argNames:
    - ctx
    - id
    - node
    - fqdn
    - sim
    argTypes:
    - struct hs20_osu_client*
    - int
    - xml_node_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1077
      start: 1049
    functionDepth: 1
    functionLinenumber: 1049
    functionLinenumberEnd: 1077
    functionName: set_pps_cred_realm
    functionSourceFile: /src/hostap/hs20/client/osu_client.c
    functionUses: 0
    functionsReached:
    - os_file_exists
    - xml_node_get_text
    - wpa_printf
    - getcwd
    - set_cred_quoted
    - os_snprintf
    - os_snprintf_error
    - xml_node_get_text_free
    linkageType: ''
    returnType: void
    signature: "void set_pps_cred_realm(struct hs20_osu_client *ctx, int id,\n\t\t\t
      \      xml_node_t *node, const char *fqdn, int sim)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xml_node_get_text
      Src: /src/hostap/hs20/client/osu_client.c:1083,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:1088,1
    - Dst: os_strcasecmp
      Src: /src/hostap/hs20/client/osu_client.c:1089,1
    - Dst: set_cred
      Src: /src/hostap/hs20/client/osu_client.c:1090,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:1091,1
    - Dst: xml_node_get_text_free
      Src: /src/hostap/hs20/client/osu_client.c:1092,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - id
    - node
    argTypes:
    - struct hs20_osu_client*
    - int
    - xml_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1093
      start: 1080
    functionDepth: 1
    functionLinenumber: 1080
    functionLinenumberEnd: 1093
    functionName: set_pps_cred_check_aaa_cert_status
    functionSourceFile: /src/hostap/hs20/client/osu_client.c
    functionUses: 0
    functionsReached:
    - xml_node_get_text
    - wpa_printf
    - set_cred
    - os_strcasecmp
    - xml_node_get_text_free
    linkageType: ''
    returnType: void
    signature: "void set_pps_cred_check_aaa_cert_status(struct hs20_osu_client *ctx,\n\t\t\t\t\t
      \      int id, xml_node_t *node)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: get_node
      Src: /src/hostap/hs20/client/osu_client.c:1105,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:1107,1
    - Dst: xml_node_get_text
      Src: /src/hostap/hs20/client/osu_client.c:1110,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:1112,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:1115,1
    - Dst: atoi
      Src: /src/hostap/hs20/client/osu_client.c:1116,1
    - Dst: xml_node_get_text_free
      Src: /src/hostap/hs20/client/osu_client.c:1117,1
    - Dst: set_cred
      Src: /src/hostap/hs20/client/osu_client.c:1121,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:1122,1
    - Dst: set_cred
      Src: /src/hostap/hs20/client/osu_client.c:1125,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:1126,1
    - Dst: set_cred
      Src: /src/hostap/hs20/client/osu_client.c:1129,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:1130,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:1133,1
    - Dst: get_node
      Src: /src/hostap/hs20/client/osu_client.c:1137,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:1139,1
    - Dst: xml_node_get_text
      Src: /src/hostap/hs20/client/osu_client.c:1142,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:1144,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:1147,1
    - Dst: os_strlen
      Src: /src/hostap/hs20/client/osu_client.c:1148,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:1150,1
    - Dst: xml_node_get_text_free
      Src: /src/hostap/hs20/client/osu_client.c:1151,1
    - Dst: xml_node_get_text
      Src: /src/hostap/hs20/client/osu_client.c:1155,1
    - Dst: os_strstr
      Src: /src/hostap/hs20/client/osu_client.c:1158,1
    - Dst: os_strlen
      Src: /src/hostap/hs20/client/osu_client.c:1159,1
    - Dst: os_strncmp
      Src: /src/hostap/hs20/client/osu_client.c:1160,1
    - Dst: os_strncmp
      Src: /src/hostap/hs20/client/osu_client.c:1162,1
    - Dst: xml_node_get_text_free
      Src: /src/hostap/hs20/client/osu_client.c:1165,1
    - Dst: os_memcpy
      Src: /src/hostap/hs20/client/osu_client.c:1168,1
    - Dst: os_strlcpy
      Src: /src/hostap/hs20/client/osu_client.c:1170,1
    - Dst: xml_node_get_text_free
      Src: /src/hostap/hs20/client/osu_client.c:1173,1
    - Dst: set_cred_quoted
      Src: /src/hostap/hs20/client/osu_client.c:1175,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:1176,1
    - Dst: set_cred_quoted
      Src: /src/hostap/hs20/client/osu_client.c:1178,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:1182,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 67
    argCount: 4
    argNames:
    - ctx
    - id
    - sim
    - realm
    argTypes:
    - struct hs20_osu_client*
    - int
    - xml_node_t*
    - xml_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1183
      start: 1096
    functionDepth: 1
    functionLinenumber: 1096
    functionLinenumberEnd: 1183
    functionName: set_pps_cred_sim
    functionSourceFile: /src/hostap/hs20/client/osu_client.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - xml_node_get_text
    - os_memcpy
    - set_cred_quoted
    - os_strlcpy
    - os_strncmp
    - os_strstr
    - get_node
    - set_cred
    - atoi
    - xml_node_get_text_free
    linkageType: ''
    returnType: void
    signature: "void set_pps_cred_sim(struct hs20_osu_client *ctx, int id,\n\t\t\t
      \    xml_node_t *sim, xml_node_t *realm)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:1192,1
    - Dst: get_node
      Src: /src/hostap/hs20/client/osu_client.c:1194,1
    - Dst: get_node
      Src: /src/hostap/hs20/client/osu_client.c:1195,1
    - Dst: xml_node_for_each_child
      Src: /src/hostap/hs20/client/osu_client.c:1197,1
    - Dst: xml_node_for_each_check
      Src: /src/hostap/hs20/client/osu_client.c:1198,1
    - Dst: xml_node_get_localname
      Src: /src/hostap/hs20/client/osu_client.c:1199,1
    - Dst: os_strcasecmp
      Src: /src/hostap/hs20/client/osu_client.c:1200,1
    - Dst: set_pps_cred_creation_date
      Src: /src/hostap/hs20/client/osu_client.c:1201,1
    - Dst: os_strcasecmp
      Src: /src/hostap/hs20/client/osu_client.c:1202,1
    - Dst: set_pps_cred_expiration_date
      Src: /src/hostap/hs20/client/osu_client.c:1203,1
    - Dst: os_strcasecmp
      Src: /src/hostap/hs20/client/osu_client.c:1204,1
    - Dst: set_pps_cred_username_password
      Src: /src/hostap/hs20/client/osu_client.c:1205,1
    - Dst: os_strcasecmp
      Src: /src/hostap/hs20/client/osu_client.c:1206,1
    - Dst: set_pps_cred_digital_cert
      Src: /src/hostap/hs20/client/osu_client.c:1207,1
    - Dst: os_strcasecmp
      Src: /src/hostap/hs20/client/osu_client.c:1208,1
    - Dst: set_pps_cred_realm
      Src: /src/hostap/hs20/client/osu_client.c:1209,1
    - Dst: os_strcasecmp
      Src: /src/hostap/hs20/client/osu_client.c:1210,1
    - Dst: set_pps_cred_check_aaa_cert_status
      Src: /src/hostap/hs20/client/osu_client.c:1211,1
    - Dst: os_strcasecmp
      Src: /src/hostap/hs20/client/osu_client.c:1212,1
    - Dst: set_pps_cred_sim
      Src: /src/hostap/hs20/client/osu_client.c:1213,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:1215,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 4
    argNames:
    - ctx
    - id
    - node
    - fqdn
    argTypes:
    - struct hs20_osu_client*
    - int
    - xml_node_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1218
      start: 1186
    functionDepth: 4
    functionLinenumber: 1186
    functionLinenumberEnd: 1218
    functionName: set_pps_cred_credential
    functionSourceFile: /src/hostap/hs20/client/osu_client.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - set_pps_cred_realm
    - set_pps_cred_digital_cert
    - set_pps_cred_username_password
    - get_node
    - set_pps_cred_expiration_date
    - xml_node_get_localname
    - os_strcasecmp
    - set_pps_cred_check_aaa_cert_status
    - set_pps_cred_sim
    - xml_node_for_each_child
    - set_pps_cred_creation_date
    - xml_node_for_each_check
    linkageType: ''
    returnType: void
    signature: "void set_pps_cred_credential(struct hs20_osu_client *ctx, int id,\n\t\t\t\t
      \   xml_node_t *node, const char *fqdn)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: xml_node_for_each_child
      Src: /src/hostap/hs20/client/osu_client.c:1227,1
    - Dst: xml_node_for_each_check
      Src: /src/hostap/hs20/client/osu_client.c:1228,1
    - Dst: xml_node_get_localname
      Src: /src/hostap/hs20/client/osu_client.c:1229,1
    - Dst: os_strcasecmp
      Src: /src/hostap/hs20/client/osu_client.c:1230,1
    - Dst: set_pps_cred_policy
      Src: /src/hostap/hs20/client/osu_client.c:1231,1
    - Dst: os_strcasecmp
      Src: /src/hostap/hs20/client/osu_client.c:1232,1
    - Dst: set_pps_cred_priority
      Src: /src/hostap/hs20/client/osu_client.c:1233,1
    - Dst: os_strcasecmp
      Src: /src/hostap/hs20/client/osu_client.c:1234,1
    - Dst: set_pps_cred_aaa_server_trust_root
      Src: /src/hostap/hs20/client/osu_client.c:1235,1
    - Dst: os_strcasecmp
      Src: /src/hostap/hs20/client/osu_client.c:1236,1
    - Dst: set_pps_cred_sub_update
      Src: /src/hostap/hs20/client/osu_client.c:1237,1
    - Dst: os_strcasecmp
      Src: /src/hostap/hs20/client/osu_client.c:1238,1
    - Dst: set_pps_cred_home_sp
      Src: /src/hostap/hs20/client/osu_client.c:1239,1
    - Dst: os_strcasecmp
      Src: /src/hostap/hs20/client/osu_client.c:1240,1
    - Dst: set_pps_cred_sub_params
      Src: /src/hostap/hs20/client/osu_client.c:1241,1
    - Dst: os_strcasecmp
      Src: /src/hostap/hs20/client/osu_client.c:1242,1
    - Dst: set_pps_cred_credential
      Src: /src/hostap/hs20/client/osu_client.c:1243,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:1245,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 4
    argNames:
    - ctx
    - id
    - cred
    - fqdn
    argTypes:
    - struct hs20_osu_client*
    - int
    - xml_node_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1248
      start: 1221
    functionDepth: 5
    functionLinenumber: 1221
    functionLinenumberEnd: 1248
    functionName: set_pps_credential
    functionSourceFile: /src/hostap/hs20/client/osu_client.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - set_pps_cred_aaa_server_trust_root
    - set_pps_cred_sub_params
    - set_pps_cred_priority
    - set_pps_cred_home_sp
    - xml_node_for_each_check
    - xml_node_get_localname
    - os_strcasecmp
    - xml_node_for_each_child
    - set_pps_cred_credential
    - set_pps_cred_sub_update
    - set_pps_cred_policy
    linkageType: ''
    returnType: void
    signature: "void set_pps_credential(struct hs20_osu_client *ctx, int id,\n\t\t\t
      \      xml_node_t *cred, const char *fqdn)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: remove_sp_creds
      Src: /src/hostap/hs20/client/osu_client.c:1264,1
    - Dst: xml_node_for_each_child
      Src: /src/hostap/hs20/client/osu_client.c:1266,1
    - Dst: xml_node_for_each_check
      Src: /src/hostap/hs20/client/osu_client.c:1267,1
    - Dst: xml_node_get_localname
      Src: /src/hostap/hs20/client/osu_client.c:1268,1
    - Dst: os_strcasecmp
      Src: /src/hostap/hs20/client/osu_client.c:1269,1
    - Dst: xml_node_get_text
      Src: /src/hostap/hs20/client/osu_client.c:1270,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:1272,1
    - Dst: xml_node_for_each_child
      Src: /src/hostap/hs20/client/osu_client.c:1279,1
    - Dst: xml_node_for_each_check
      Src: /src/hostap/hs20/client/osu_client.c:1280,1
    - Dst: xml_node_get_localname
      Src: /src/hostap/hs20/client/osu_client.c:1281,1
    - Dst: os_strcasecmp
      Src: /src/hostap/hs20/client/osu_client.c:1282,1
    - Dst: add_cred
      Src: /src/hostap/hs20/client/osu_client.c:1284,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:1286,1
    - Dst: write_summary
      Src: /src/hostap/hs20/client/osu_client.c:1287,1
    - Dst: write_summary
      Src: /src/hostap/hs20/client/osu_client.c:1290,1
    - Dst: set_cred
      Src: /src/hostap/hs20/client/osu_client.c:1292,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:1294,1
    - Dst: set_cred_quoted
      Src: /src/hostap/hs20/client/osu_client.c:1295,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:1297,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:1298,1
    - Dst: set_pps_credential
      Src: /src/hostap/hs20/client/osu_client.c:1299,1
    - Dst: xml_node_get_text_free
      Src: /src/hostap/hs20/client/osu_client.c:1302,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 3
    argNames:
    - ctx
    - pps
    - fqdn
    argTypes:
    - struct hs20_osu_client*
    - xml_node_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1303
      start: 1251
    functionDepth: 6
    functionLinenumber: 1251
    functionLinenumberEnd: 1303
    functionName: set_pps
    functionSourceFile: /src/hostap/hs20/client/osu_client.c
    functionUses: 0
    functionsReached:
    - xml_node_get_text
    - wpa_printf
    - set_cred_quoted
    - set_pps_credential
    - xml_node_get_text_free
    - remove_sp_creds
    - add_cred
    - set_cred
    - xml_node_get_localname
    - os_strcasecmp
    - xml_node_for_each_child
    - write_summary
    - xml_node_for_each_check
    linkageType: ''
    returnType: void
    signature: "void set_pps(struct hs20_osu_client *ctx, xml_node_t *pps,\n\t\t    const
      char *fqdn)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: node_from_file
      Src: /src/hostap/hs20/client/osu_client.c:1312,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:1314,1
    - Dst: os_strstr
      Src: /src/hostap/hs20/client/osu_client.c:1318,1
    - Dst: os_strdup
      Src: /src/hostap/hs20/client/osu_client.c:1320,1
    - Dst: os_strchr
      Src: /src/hostap/hs20/client/osu_client.c:1323,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:1330,1
    - Dst: set_pps
      Src: /src/hostap/hs20/client/osu_client.c:1332,1
    - Dst: os_free
      Src: /src/hostap/hs20/client/osu_client.c:1334,1
    - Dst: xml_node_free
      Src: /src/hostap/hs20/client/osu_client.c:1335,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - ctx
    - pps_fname
    argTypes:
    - struct hs20_osu_client*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1336
      start: 1306
    functionDepth: 7
    functionLinenumber: 1306
    functionLinenumberEnd: 1336
    functionName: cmd_set_pps
    functionSourceFile: /src/hostap/hs20/client/osu_client.c
    functionUses: 0
    functionsReached:
    - os_strdup
    - wpa_printf
    - set_pps
    - os_strstr
    - os_free
    - os_strchr
    - xml_node_free
    - node_from_file
    linkageType: ''
    returnType: void
    signature: void cmd_set_pps(struct hs20_osu_client *ctx, const char *pps_fname)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: node_from_file
      Src: /src/hostap/hs20/client/osu_client.c:1344,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:1346,1
    - Dst: get_child_node
      Src: /src/hostap/hs20/client/osu_client.c:1350,1
    - Dst: xml_node_get_text
      Src: /src/hostap/hs20/client/osu_client.c:1352,1
    - Dst: xml_node_free
      Src: /src/hostap/hs20/client/osu_client.c:1354,1
    - Dst: fopen
      Src: /src/hostap/hs20/client/osu_client.c:1357,1
    - Dst: fprintf
      Src: /src/hostap/hs20/client/osu_client.c:1359,1
    - Dst: fclose
      Src: /src/hostap/hs20/client/osu_client.c:1360,1
    - Dst: xml_node_get_text_free
      Src: /src/hostap/hs20/client/osu_client.c:1362,1
    - Dst: xml_node_get_text_free
      Src: /src/hostap/hs20/client/osu_client.c:1366,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - ctx
    - pps_fname
    argTypes:
    - struct hs20_osu_client*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1368
      start: 1339
    functionDepth: 1
    functionLinenumber: 1339
    functionLinenumberEnd: 1368
    functionName: cmd_get_fqdn
    functionSourceFile: /src/hostap/hs20/client/osu_client.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - xml_node_get_text
    - fprintf
    - get_child_node
    - fclose
    - xml_node_free
    - fopen
    - node_from_file
    - xml_node_get_text_free
    linkageType: ''
    returnType: int
    signature: int cmd_get_fqdn(struct hs20_osu_client *ctx, const char *pps_fname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: node_from_file
      Src: /src/hostap/hs20/client/osu_client.c:1376,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:1378,1
    - Dst: mo_to_tnds
      Src: /src/hostap/hs20/client/osu_client.c:1382,1
    - Dst: node_to_file
      Src: /src/hostap/hs20/client/osu_client.c:1384,1
    - Dst: xml_node_free
      Src: /src/hostap/hs20/client/osu_client.c:1385,1
    - Dst: xml_node_free
      Src: /src/hostap/hs20/client/osu_client.c:1388,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - ctx
    - in_fname
    - out_fname
    - urn
    - use_path
    argTypes:
    - struct hs20_osu_client*
    - char*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1389
      start: 1371
    functionDepth: 1
    functionLinenumber: 1371
    functionLinenumberEnd: 1389
    functionName: cmd_to_tnds
    functionSourceFile: /src/hostap/hs20/client/osu_client.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - node_to_file
    - mo_to_tnds
    - xml_node_free
    - node_from_file
    linkageType: ''
    returnType: void
    signature: "void cmd_to_tnds(struct hs20_osu_client *ctx, const char *in_fname,\n\t\t\tconst
      char *out_fname, const char *urn, int use_path)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: node_from_file
      Src: /src/hostap/hs20/client/osu_client.c:1397,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:1399,1
    - Dst: tnds_to_mo
      Src: /src/hostap/hs20/client/osu_client.c:1403,1
    - Dst: node_to_file
      Src: /src/hostap/hs20/client/osu_client.c:1405,1
    - Dst: xml_node_free
      Src: /src/hostap/hs20/client/osu_client.c:1406,1
    - Dst: xml_node_free
      Src: /src/hostap/hs20/client/osu_client.c:1409,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - in_fname
    - out_fname
    argTypes:
    - struct hs20_osu_client*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1410
      start: 1392
    functionDepth: 1
    functionLinenumber: 1392
    functionLinenumberEnd: 1410
    functionName: cmd_from_tnds
    functionSourceFile: /src/hostap/hs20/client/osu_client.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - tnds_to_mo
    - node_to_file
    - xml_node_free
    - node_from_file
    linkageType: ''
    returnType: void
    signature: "void cmd_from_tnds(struct hs20_osu_client *ctx, const char *in_fname,\n\t\t\t
      \ const char *out_fname)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/hs20/client/osu_client.c:1415,1
    - Dst: xml_node_init_ctx
      Src: /src/hostap/hs20/client/osu_client.c:1417,1
    - Dst: http_init_ctx
      Src: /src/hostap/hs20/client/osu_client.c:1421,1
    - Dst: xml_node_deinit_ctx
      Src: /src/hostap/hs20/client/osu_client.c:1423,1
    - Dst: http_ocsp_set
      Src: /src/hostap/hs20/client/osu_client.c:1426,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct hs20_osu_client*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1429
      start: 1413
    functionDepth: 1
    functionLinenumber: 1413
    functionLinenumberEnd: 1429
    functionName: init_ctx
    functionSourceFile: /src/hostap/hs20/client/osu_client.c
    functionUses: 1
    functionsReached:
    - xml_node_init_ctx
    - xml_node_deinit_ctx
    - http_init_ctx
    - http_ocsp_set
    - os_memset
    linkageType: ''
    returnType: int
    signature: int init_ctx(struct hs20_osu_client *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_deinit_ctx
      Src: /src/hostap/hs20/client/osu_client.c:1434,1
    - Dst: xml_node_deinit_ctx
      Src: /src/hostap/hs20/client/osu_client.c:1435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct hs20_osu_client*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1436
      start: 1432
    functionDepth: 1
    functionLinenumber: 1432
    functionLinenumberEnd: 1436
    functionName: deinit_ctx
    functionSourceFile: /src/hostap/hs20/client/osu_client.c
    functionUses: 2
    functionsReached:
    - http_deinit_ctx
    - xml_node_deinit_ctx
    linkageType: ''
    returnType: void
    signature: void deinit_ctx(struct hs20_osu_client *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/hostap/hs20/client/osu_client.c:1445,1
    - Dst: fgets
      Src: /src/hostap/hs20/client/osu_client.c:1449,1
    - Dst: strtoul
      Src: /src/hostap/hs20/client/osu_client.c:1450,1
    - Dst: fclose
      Src: /src/hostap/hs20/client/osu_client.c:1452,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:1455,1
    - Dst: http_ocsp_set
      Src: /src/hostap/hs20/client/osu_client.c:1458,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct hs20_osu_client*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1460
      start: 1439
    functionDepth: 1
    functionLinenumber: 1439
    functionLinenumberEnd: 1460
    functionName: check_workarounds
    functionSourceFile: /src/hostap/hs20/client/osu_client.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - http_ocsp_set
    - fclose
    - strtoul
    - fopen
    - fgets
    linkageType: ''
    returnType: void
    signature: void check_workarounds(struct hs20_osu_client *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/hs20/client/osu_client.c:1465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1480
      start: 1463
    functionDepth: 0
    functionLinenumber: 1463
    functionLinenumberEnd: 1480
    functionName: usage
    functionSourceFile: /src/hostap/hs20/client/osu_client.c
    functionUses: 8
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: init_ctx
      Src: /src/hostap/hs20/client/osu_client.c:1494,1
    - Dst: getopt
      Src: /src/hostap/hs20/client/osu_client.c:1498,1
    - Dst: usage
      Src: /src/hostap/hs20/client/osu_client.c:1535,1
    - Dst: exit
      Src: /src/hostap/hs20/client/osu_client.c:1536,1
    - Dst: usage
      Src: /src/hostap/hs20/client/osu_client.c:1541,1
    - Dst: exit
      Src: /src/hostap/hs20/client/osu_client.c:1542,1
    - Dst: wpa_debug_open_file
      Src: /src/hostap/hs20/client/osu_client.c:1545,1
    - Dst: setlinebuf
      Src: /src/hostap/hs20/client/osu_client.c:1548,1
    - Dst: unlink
      Src: /src/hostap/hs20/client/osu_client.c:1552,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:1553,1
    - Dst: check_workarounds
      Src: /src/hostap/hs20/client/osu_client.c:1555,1
    - Dst: strcmp
      Src: /src/hostap/hs20/client/osu_client.c:1557,1
    - Dst: usage
      Src: /src/hostap/hs20/client/osu_client.c:1559,1
    - Dst: exit
      Src: /src/hostap/hs20/client/osu_client.c:1560,1
    - Dst: cmd_to_tnds
      Src: /src/hostap/hs20/client/osu_client.c:1562,1
    - Dst: strcmp
      Src: /src/hostap/hs20/client/osu_client.c:1565,1
    - Dst: usage
      Src: /src/hostap/hs20/client/osu_client.c:1567,1
    - Dst: exit
      Src: /src/hostap/hs20/client/osu_client.c:1568,1
    - Dst: cmd_to_tnds
      Src: /src/hostap/hs20/client/osu_client.c:1570,1
    - Dst: strcmp
      Src: /src/hostap/hs20/client/osu_client.c:1573,1
    - Dst: usage
      Src: /src/hostap/hs20/client/osu_client.c:1575,1
    - Dst: exit
      Src: /src/hostap/hs20/client/osu_client.c:1576,1
    - Dst: cmd_from_tnds
      Src: /src/hostap/hs20/client/osu_client.c:1578,1
    - Dst: strcmp
      Src: /src/hostap/hs20/client/osu_client.c:1579,1
    - Dst: usage
      Src: /src/hostap/hs20/client/osu_client.c:1581,1
    - Dst: exit
      Src: /src/hostap/hs20/client/osu_client.c:1582,1
    - Dst: cmd_dl_aaa_ca
      Src: /src/hostap/hs20/client/osu_client.c:1584,1
    - Dst: strcmp
      Src: /src/hostap/hs20/client/osu_client.c:1585,1
    - Dst: usage
      Src: /src/hostap/hs20/client/osu_client.c:1587,1
    - Dst: exit
      Src: /src/hostap/hs20/client/osu_client.c:1588,1
    - Dst: cmd_set_pps
      Src: /src/hostap/hs20/client/osu_client.c:1590,1
    - Dst: strcmp
      Src: /src/hostap/hs20/client/osu_client.c:1591,1
    - Dst: usage
      Src: /src/hostap/hs20/client/osu_client.c:1593,1
    - Dst: exit
      Src: /src/hostap/hs20/client/osu_client.c:1594,1
    - Dst: cmd_get_fqdn
      Src: /src/hostap/hs20/client/osu_client.c:1596,1
    - Dst: strcmp
      Src: /src/hostap/hs20/client/osu_client.c:1597,1
    - Dst: usage
      Src: /src/hostap/hs20/client/osu_client.c:1601,1
    - Dst: exit
      Src: /src/hostap/hs20/client/osu_client.c:1602,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:1605,1
    - Dst: hs20_web_browser
      Src: /src/hostap/hs20/client/osu_client.c:1607,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:1608,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:1610,1
    - Dst: deinit_ctx
      Src: /src/hostap/hs20/client/osu_client.c:1613,1
    - Dst: wpa_printf
      Src: /src/hostap/hs20/client/osu_client.c:1614,1
    - Dst: wpa_debug_close_file
      Src: /src/hostap/hs20/client/osu_client.c:1617,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 112
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1620
      start: 1483
    functionDepth: 8
    functionLinenumber: 1483
    functionLinenumberEnd: 1620
    functionName: main
    functionSourceFile: /src/hostap/hs20/client/osu_client.c
    functionUses: 1
    functionsReached:
    - hs20_web_browser
    - usage
    - wpa_printf
    - cmd_to_tnds
    - cmd_get_fqdn
    - setlinebuf
    - exit
    - cmd_dl_aaa_ca
    - cmd_from_tnds
    - getopt
    - wpa_debug_open_file
    - cmd_set_pps
    - deinit_ctx
    - wpa_debug_close_file
    - unlink
    - init_ctx
    - check_workarounds
    - strcmp
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: setPortAuthorized
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_sm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: setPortAuthorized()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: setPortUnauthorized
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_sm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: setPortUnauthorized()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: txCannedFail
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_sm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: txCannedFail()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: txCannedSuccess
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_sm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: txCannedSuccess()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: txReq
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_sm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: txReq()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: abortAuth
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_sm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: abortAuth()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: txKey
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_sm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: txKey()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: processKey
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_sm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: processKey()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct eapol_authenticator*::cb::logger
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - eapol
    - addr
    - level
    - txt
    argTypes:
    - struct eapol_authenticator*
    - u8*
    - eapol_logger_level
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: eapol_auth_logger
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_sm.c
    functionUses: 0
    functionsReached:
    - struct eapol_authenticator*::cb::logger
    linkageType: ''
    returnType: void
    signature: "void eapol_auth_logger(struct eapol_authenticator *eapol,\n\t\t\t
      \     const u8 *addr, eapol_logger_level level,\n\t\t\t      const char *txt)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:71,1
    - Dst: os_malloc
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:72,1
    - Dst: va_start
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:76,1
    - Dst: vsnprintf
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:77,1
    - Dst: va_end
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:78,1
    - Dst: eapol_auth_logger
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:80,1
    - Dst: os_free
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - eapol
    - addr
    - level
    - fmt
    argTypes:
    - struct eapol_authenticator*
    - u8*
    - eapol_logger_level
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 83
    functionName: eapol_auth_vlogger
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_sm.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - eapol_auth_logger
    - os_malloc
    - vsnprintf
    - va_end
    - va_start
    - os_free
    linkageType: ''
    returnType: void
    signature: "void eapol_auth_vlogger(struct eapol_authenticator *eapol,\n\t\t\t
      \      const u8 *addr, eapol_logger_level level,\n\t\t\t       const char *fmt,
      ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:91,1
    - Dst: host_to_be16
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:95,1
    - Dst: eapol_auth_vlogger
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:97,1
    - Dst: struct eapol_state_machine*::eapol::cb::eapol_send
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - sm
    - success
    argTypes:
    - struct eapol_state_machine*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 104
    functionName: eapol_auth_tx_canned_eap
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_sm.c
    functionUses: 0
    functionsReached:
    - host_to_be16
    - eapol_auth_vlogger
    - struct eapol_state_machine*::eapol::cb::eapol_send
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void eapol_auth_tx_canned_eap(struct eapol_state_machine *sm,\n\t\t\t\t
      \    int success)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_len
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:110,1
    - Dst: eapol_auth_logger
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:111,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:119,1
    - Dst: MAC2STR
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:121,1
    - Dst: eap_get_id
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:125,1
    - Dst: eapol_auth_vlogger
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:126,1
    - Dst: struct eapol_state_machine*::eapol::cb::eapol_send
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:129,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:131,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:132,1
    - Dst: eap_get_type
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:134,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eapol_state_machine*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 138
    functionName: eapol_auth_tx_req
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_sm.c
    functionUses: 0
    functionsReached:
    - eapol_auth_logger
    - wpa_printf
    - eap_get_id
    - wpabuf_len
    - eapol_auth_vlogger
    - wpabuf_head
    - MAC2STR
    - eap_get_type
    - struct eapol_state_machine*::eapol::cb::eapol_send
    linkageType: ''
    returnType: void
    signature: void eapol_auth_tx_req(struct eapol_state_machine *sm)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:156,1
    - Dst: MAC2STR
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:158,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:165,1
    - Dst: MAC2STR
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:167,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:174,1
    - Dst: MAC2STR
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:176,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:183,1
    - Dst: MAC2STR
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:185,1
    - Dst: eapol_sm_step_run
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:189,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:191,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 192
    functionName: eapol_port_timers_tick
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_sm.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    - eapol_sm_step_run
    - eloop_register_timeout
    linkageType: ''
    returnType: void
    signature: void eapol_port_timers_tick(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY_MA
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 214
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_sm.c
    functionUses: 0
    functionsReached:
    - SM_ENTRY_MA
    linkageType: ''
    returnType: void
    signature: void SM_STATE(AUTH_PAE, INITIALIZE)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY_MA
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:231,1
    - Dst: setPortUnauthorized
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:234,1
    - Dst: eapol::cb::finished
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:238,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:241,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 246
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_sm.c
    functionUses: 0
    functionsReached:
    - setPortUnauthorized
    - wpa_printf
    - eapol::cb::finished
    - SM_ENTRY_MA
    linkageType: ''
    returnType: void
    signature: void SM_STATE(AUTH_PAE, DISCONNECTED)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY_MA
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:260,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 263
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_sm.c
    functionUses: 0
    functionsReached:
    - SM_ENTRY_MA
    linkageType: ''
    returnType: void
    signature: void SM_STATE(AUTH_PAE, RESTART)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY_MA
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 275
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_sm.c
    functionUses: 0
    functionsReached:
    - SM_ENTRY_MA
    linkageType: ''
    returnType: void
    signature: void SM_STATE(AUTH_PAE, CONNECTING)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY_MA
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:283,1
    - Dst: setPortUnauthorized
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:286,1
    - Dst: eapol_auth_vlogger
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:290,1
    - Dst: eap_server_get_name
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:293,1
    - Dst: eapol_auth_vlogger
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:295,1
    - Dst: eap_server_get_name
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:298,1
    - Dst: eapol::cb::finished
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:300,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 278
    functionDepth: 2
    functionLinenumber: 278
    functionLinenumberEnd: 302
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_sm.c
    functionUses: 0
    functionsReached:
    - setPortUnauthorized
    - eapol::cb::finished
    - eapol_auth_vlogger
    - eap_server_get_name
    - SM_ENTRY_MA
    linkageType: ''
    returnType: void
    signature: void SM_STATE(AUTH_PAE, HELD)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY_MA
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:312,1
    - Dst: setPortAuthorized
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:315,1
    - Dst: eapol_auth_vlogger
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:322,1
    - Dst: eap_server_get_name
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:325,1
    - Dst: eapol::cb::finished
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:329,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 305
    functionDepth: 2
    functionLinenumber: 305
    functionLinenumberEnd: 331
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_sm.c
    functionUses: 0
    functionsReached:
    - eapol::cb::finished
    - eapol_auth_vlogger
    - eap_server_get_name
    - setPortAuthorized
    - SM_ENTRY_MA
    linkageType: ''
    returnType: void
    signature: void SM_STATE(AUTH_PAE, AUTHENTICATED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY_MA
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 345
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_sm.c
    functionUses: 0
    functionsReached:
    - SM_ENTRY_MA
    linkageType: ''
    returnType: void
    signature: void SM_STATE(AUTH_PAE, AUTHENTICATING)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY_MA
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:359,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 364
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_sm.c
    functionUses: 0
    functionsReached:
    - SM_ENTRY_MA
    linkageType: ''
    returnType: void
    signature: void SM_STATE(AUTH_PAE, ABORTING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY_MA
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:369,1
    - Dst: setPortAuthorized
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:372,1
    - Dst: txCannedSuccess
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 376
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_sm.c
    functionUses: 0
    functionsReached:
    - txCannedSuccess
    - setPortAuthorized
    - SM_ENTRY_MA
    linkageType: ''
    returnType: void
    signature: void SM_STATE(AUTH_PAE, FORCE_AUTH)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY_MA
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:381,1
    - Dst: setPortUnauthorized
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:384,1
    - Dst: txCannedFail
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 388
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_sm.c
    functionUses: 0
    functionsReached:
    - setPortUnauthorized
    - txCannedFail
    - SM_ENTRY_MA
    linkageType: ''
    returnType: void
    signature: void SM_STATE(AUTH_PAE, FORCE_UNAUTH)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTER_GLOBAL
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:395,1
    - Dst: SM_ENTER_GLOBAL
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:399,1
    - Dst: SM_ENTER_GLOBAL
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:403,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:407,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:411,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:415,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:419,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:423,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:427,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:431,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:433,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:437,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:440,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:443,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:447,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:449,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:453,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:457,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 461
    functionName: SM_STEP
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_sm.c
    functionUses: 0
    functionsReached:
    - SM_ENTER_GLOBAL
    - SM_ENTER
    linkageType: ''
    returnType: void
    signature: void SM_STEP(AUTH_PAE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY_MA
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:469,1
    - Dst: abortAuth
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 474
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_sm.c
    functionUses: 0
    functionsReached:
    - abortAuth
    - SM_ENTRY_MA
    linkageType: ''
    returnType: void
    signature: void SM_STATE(BE_AUTH, INITIALIZE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY_MA
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:479,1
    - Dst: txReq
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 477
    functionDepth: 1
    functionLinenumber: 477
    functionLinenumberEnd: 497
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_sm.c
    functionUses: 0
    functionsReached:
    - txReq
    - SM_ENTRY_MA
    linkageType: ''
    returnType: void
    signature: void SM_STATE(BE_AUTH, REQUEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY_MA
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 511
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_sm.c
    functionUses: 0
    functionsReached:
    - SM_ENTRY_MA
    linkageType: ''
    returnType: void
    signature: void SM_STATE(BE_AUTH, RESPONSE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY_MA
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:516,1
    - Dst: txReq
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 521
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_sm.c
    functionUses: 0
    functionsReached:
    - txReq
    - SM_ENTRY_MA
    linkageType: ''
    returnType: void
    signature: void SM_STATE(BE_AUTH, SUCCESS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY_MA
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:526,1
    - Dst: txReq
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 530
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_sm.c
    functionUses: 0
    functionsReached:
    - txReq
    - SM_ENTRY_MA
    linkageType: ''
    returnType: void
    signature: void SM_STATE(BE_AUTH, FAIL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY_MA
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 533
    functionDepth: 1
    functionLinenumber: 533
    functionLinenumberEnd: 538
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_sm.c
    functionUses: 0
    functionsReached:
    - SM_ENTRY_MA
    linkageType: ''
    returnType: void
    signature: void SM_STATE(BE_AUTH, TIMEOUT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY_MA
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 546
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_sm.c
    functionUses: 0
    functionsReached:
    - SM_ENTRY_MA
    linkageType: ''
    returnType: void
    signature: void SM_STATE(BE_AUTH, IDLE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY_MA
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 549
    functionDepth: 1
    functionLinenumber: 549
    functionLinenumberEnd: 554
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_sm.c
    functionUses: 0
    functionsReached:
    - SM_ENTRY_MA
    linkageType: ''
    returnType: void
    signature: void SM_STATE(BE_AUTH, IGNORE)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTER_GLOBAL
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:560,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:566,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:570,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:572,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:574,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:578,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:581,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:583,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:586,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:589,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:593,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:596,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:599,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:603,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:605,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:607,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:611,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:613,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:615,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 557
    functionDepth: 1
    functionLinenumber: 557
    functionLinenumberEnd: 618
    functionName: SM_STEP
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_sm.c
    functionUses: 0
    functionsReached:
    - SM_ENTER_GLOBAL
    - SM_ENTER
    linkageType: ''
    returnType: void
    signature: void SM_STEP(BE_AUTH)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY_MA
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:626,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 629
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_sm.c
    functionUses: 0
    functionsReached:
    - SM_ENTRY_MA
    linkageType: ''
    returnType: void
    signature: void SM_STATE(REAUTH_TIMER, INITIALIZE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY_MA
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:634,1
    - Dst: eapol::cb::eapol_event
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 632
    functionDepth: 1
    functionLinenumber: 632
    functionLinenumberEnd: 639
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_sm.c
    functionUses: 0
    functionsReached:
    - eapol::cb::eapol_event
    - SM_ENTRY_MA
    linkageType: ''
    returnType: void
    signature: void SM_STATE(REAUTH_TIMER, REAUTHENTICATE)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTER_GLOBAL
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:646,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:653,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:656,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 642
    functionDepth: 1
    functionLinenumber: 642
    functionLinenumberEnd: 659
    functionName: SM_STEP
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_sm.c
    functionUses: 0
    functionsReached:
    - SM_ENTER_GLOBAL
    - SM_ENTER
    linkageType: ''
    returnType: void
    signature: void SM_STEP(REAUTH_TIMER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY_MA
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 667
    functionDepth: 1
    functionLinenumber: 667
    functionLinenumberEnd: 670
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_sm.c
    functionUses: 0
    functionsReached:
    - SM_ENTRY_MA
    linkageType: ''
    returnType: void
    signature: void SM_STATE(AUTH_KEY_TX, NO_KEY_TRANSMIT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY_MA
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:675,1
    - Dst: txKey
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 673
    functionDepth: 1
    functionLinenumber: 673
    functionLinenumberEnd: 680
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_sm.c
    functionUses: 0
    functionsReached:
    - txKey
    - SM_ENTRY_MA
    linkageType: ''
    returnType: void
    signature: void SM_STATE(AUTH_KEY_TX, KEY_TRANSMIT)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTER_GLOBAL
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:686,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:694,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:698,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:700,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 683
    functionDepth: 1
    functionLinenumber: 683
    functionLinenumberEnd: 703
    functionName: SM_STEP
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_sm.c
    functionUses: 0
    functionsReached:
    - SM_ENTER_GLOBAL
    - SM_ENTER
    linkageType: ''
    returnType: void
    signature: void SM_STEP(AUTH_KEY_TX)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY_MA
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:711,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 709
    functionDepth: 1
    functionLinenumber: 709
    functionLinenumberEnd: 712
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_sm.c
    functionUses: 0
    functionsReached:
    - SM_ENTRY_MA
    linkageType: ''
    returnType: void
    signature: void SM_STATE(KEY_RX, NO_KEY_RECEIVE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY_MA
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:717,1
    - Dst: processKey
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:719,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 715
    functionDepth: 1
    functionLinenumber: 715
    functionLinenumberEnd: 721
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_sm.c
    functionUses: 0
    functionsReached:
    - processKey
    - SM_ENTRY_MA
    linkageType: ''
    returnType: void
    signature: void SM_STATE(KEY_RX, KEY_RECEIVE)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTER_GLOBAL
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:727,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:734,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:738,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 724
    functionDepth: 1
    functionLinenumber: 724
    functionLinenumberEnd: 741
    functionName: SM_STEP
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_sm.c
    functionUses: 0
    functionsReached:
    - SM_ENTER_GLOBAL
    - SM_ENTER
    linkageType: ''
    returnType: void
    signature: void SM_STEP(KEY_RX)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY_MA
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:751,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 749
    functionDepth: 1
    functionLinenumber: 749
    functionLinenumberEnd: 753
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_sm.c
    functionUses: 0
    functionsReached:
    - SM_ENTRY_MA
    linkageType: ''
    returnType: void
    signature: void SM_STATE(CTRL_DIR, FORCE_BOTH)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY_MA
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 756
    functionDepth: 1
    functionLinenumber: 756
    functionLinenumberEnd: 760
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_sm.c
    functionUses: 0
    functionsReached:
    - SM_ENTRY_MA
    linkageType: ''
    returnType: void
    signature: void SM_STATE(CTRL_DIR, IN_OR_BOTH)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTER_GLOBAL
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:766,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:773,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:778,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:780,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 763
    functionDepth: 1
    functionLinenumber: 763
    functionLinenumberEnd: 783
    functionName: SM_STEP
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_sm.c
    functionUses: 0
    functionsReached:
    - SM_ENTER_GLOBAL
    - SM_ENTER
    linkageType: ''
    returnType: void
    signature: void SM_STEP(CTRL_DIR)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:799,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:801,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:806,1
    - Dst: os_memset
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:844,1
    - Dst: eap_server_sm_init
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:848,1
    - Dst: eapol_auth_free
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:851,1
    - Dst: eap_get_interface
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:854,1
    - Dst: eapol_auth_initialize
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:856,1
    - Dst: os_strdup
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:859,1
    - Dst: os_strlen
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:861,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:864,1
    - Dst: os_strlen
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:865,1
    - Dst: radius_gen_session_id
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:868,1
    - Dst: eapol_auth_free
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:870,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 54
    argCount: 8
    argNames:
    - eapol
    - addr
    - flags
    - assoc_wps_ie
    - assoc_p2p_ie
    - sta_ctx
    - identity
    - radius_cui
    argTypes:
    - struct eapol_authenticator*
    - u8*
    - int
    - struct wpabuf*
    - struct wpabuf*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 787
    functionDepth: 1
    functionLinenumber: 787
    functionLinenumberEnd: 876
    functionName: eapol_auth_alloc
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_sm.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - eap_server_sm_init
    - os_memcpy
    - eapol_auth_initialize
    - eapol_auth_free
    - wpabuf_alloc_copy
    - radius_gen_session_id
    - os_zalloc
    - eap_get_interface
    - os_strdup
    - os_memset
    linkageType: ''
    returnType: struct eapol_state_machine
    signature: "struct eapol_state_machine *\neapol_auth_alloc(struct eapol_authenticator
      *eapol, const u8 *addr,\n\t\t int flags, const struct wpabuf *assoc_wps_ie,\n\t\t
      const struct wpabuf *assoc_p2p_ie, void *sta_ctx,\n\t\t const char *identity,
      const char *radius_cui)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:884,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:885,1
    - Dst: eap_server_sm_deinit
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:887,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:889,1
    - Dst: os_free
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:890,1
    - Dst: os_free
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:891,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eapol_state_machine*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 879
    functionDepth: 1
    functionLinenumber: 879
    functionLinenumberEnd: 892
    functionName: eapol_auth_free
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_sm.c
    functionUses: 1
    functionsReached:
    - eloop_cancel_timeout
    - os_free
    - eap_server_sm_deinit
    - wpabuf_free
    linkageType: ''
    returnType: void
    signature: void eapol_auth_free(struct eapol_state_machine *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct eapol_authenticator*::cb::sta_entry_alive
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:898,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - eapol
    - addr
    argTypes:
    - struct eapol_authenticator*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 899
    functionName: eapol_sm_sta_entry_alive
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_sm.c
    functionUses: 0
    functionsReached:
    - struct eapol_authenticator*::cb::sta_entry_alive
    linkageType: ''
    returnType: int
    signature: "int eapol_sm_sta_entry_alive(struct eapol_authenticator *eapol,\n\t\t\t\t
      \   const u8 *addr)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:910,1
    - Dst: SM_STEP_RUN
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:926,1
    - Dst: eapol_sm_sta_entry_alive
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:927,1
    - Dst: SM_STEP_RUN
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:928,1
    - Dst: eapol_sm_sta_entry_alive
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:929,1
    - Dst: SM_STEP_RUN
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:930,1
    - Dst: eapol_sm_sta_entry_alive
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:932,1
    - Dst: SM_STEP_RUN
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:933,1
    - Dst: eapol_sm_sta_entry_alive
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:934,1
    - Dst: SM_STEP_RUN
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:935,1
    - Dst: eapol_sm_sta_entry_alive
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:937,1
    - Dst: SM_STEP_RUN
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:938,1
    - Dst: eapol_auth_step
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:949,1
    - Dst: eapol_sm_sta_entry_alive
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:953,1
    - Dst: eap_server_sm_step
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:954,1
    - Dst: eapol_auth_step
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:958,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:966,1
    - Dst: struct eapol_state_machine*::eapol::cb::aaa_send
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:970,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:972,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:973,1
    - Dst: eapol_sm_sta_entry_alive
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:977,1
    - Dst: struct eapol_state_machine*::eapol::cb::eapol_event
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:978,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 47
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eapol_state_machine*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 902
    functionDepth: 1
    functionLinenumber: 902
    functionLinenumberEnd: 980
    functionName: eapol_sm_step_run
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_sm.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    - wpa_printf
    - struct eapol_state_machine*::eapol::cb::eapol_event
    - eapol_auth_step
    - wpabuf_len
    - SM_STEP_RUN
    - wpabuf_head
    - eap_server_sm_step
    - eapol_sm_sta_entry_alive
    - struct eapol_state_machine*::eapol::cb::aaa_send
    linkageType: ''
    returnType: void
    signature: void eapol_sm_step_run(struct eapol_state_machine *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eapol_sm_step_run
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:986,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 987
      start: 983
    functionDepth: 2
    functionLinenumber: 983
    functionLinenumberEnd: 987
    functionName: eapol_sm_step_cb
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_sm.c
    functionUses: 0
    functionsReached:
    - eapol_sm_step_run
    linkageType: ''
    returnType: void
    signature: void eapol_sm_step_cb(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:1005,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eapol_state_machine*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 997
    functionDepth: 0
    functionLinenumber: 997
    functionLinenumberEnd: 1006
    functionName: eapol_auth_step
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_sm.c
    functionUses: 1
    functionsReached:
    - eloop_register_timeout
    linkageType: ''
    returnType: void
    signature: void eapol_auth_step(struct eapol_state_machine *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eapol_sm_step_run
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:1015,1
    - Dst: eapol_sm_step_run
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:1017,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:1021,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:1022,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eapol_state_machine*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1023
      start: 1009
    functionDepth: 2
    functionLinenumber: 1009
    functionLinenumberEnd: 1023
    functionName: eapol_auth_initialize
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_sm.c
    functionUses: 1
    functionsReached:
    - eloop_cancel_timeout
    - eapol_sm_step_run
    - eloop_register_timeout
    linkageType: ''
    returnType: void
    signature: void eapol_auth_initialize(struct eapol_state_machine *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct eapol_state_machine*::eapol::cb::get_eap_user
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:1032,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ctx
    - identity
    - identity_len
    - phase2
    - user
    argTypes:
    - void*
    - u8*
    - size_t
    - int
    - struct eap_user*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1034
      start: 1026
    functionDepth: 0
    functionLinenumber: 1026
    functionLinenumberEnd: 1034
    functionName: eapol_sm_get_eap_user
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_sm.c
    functionUses: 0
    functionsReached:
    - struct eapol_state_machine*::eapol::cb::get_eap_user
    linkageType: ''
    returnType: int
    signature: "int eapol_sm_get_eap_user(void *ctx, const u8 *identity,\n\t\t\t\t
      size_t identity_len, int phase2,\n\t\t\t\t struct eap_user *user)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - len
    argTypes:
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 1037
    functionDepth: 0
    functionLinenumber: 1037
    functionLinenumberEnd: 1042
    functionName: eapol_sm_get_eap_req_id_text
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_sm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * eapol_sm_get_eap_req_id_text(void *ctx, size_t *len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1045
    functionDepth: 0
    functionLinenumber: 1045
    functionLinenumberEnd: 1049
    functionName: eapol_sm_get_erp_send_reauth_start
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_sm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int eapol_sm_get_erp_send_reauth_start(void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1056
      start: 1052
    functionDepth: 0
    functionLinenumber: 1052
    functionLinenumberEnd: 1056
    functionName: eapol_sm_get_erp_domain
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_sm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * eapol_sm_get_erp_domain(void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct eapol_state_machine*::eapol::cb::erp_get_key
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:1063,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - keyname
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1064
      start: 1059
    functionDepth: 0
    functionLinenumber: 1059
    functionLinenumberEnd: 1064
    functionName: eapol_sm_erp_get_key
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_sm.c
    functionUses: 0
    functionsReached:
    - struct eapol_state_machine*::eapol::cb::erp_get_key
    linkageType: ''
    returnType: struct eap_server_erp_key
    signature: "struct eap_server_erp_key * eapol_sm_erp_get_key(void *ctx,\n\t\t\t\t\t\t\tconst
      char *keyname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct eapol_state_machine*::eapol::cb::erp_add_key
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:1070,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - erp
    argTypes:
    - void*
    - struct eap_server_erp_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 1067
    functionDepth: 0
    functionLinenumber: 1067
    functionLinenumberEnd: 1071
    functionName: eapol_sm_erp_add_key
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_sm.c
    functionUses: 0
    functionsReached:
    - struct eapol_state_machine*::eapol::cb::erp_add_key
    linkageType: ''
    returnType: int
    signature: int eapol_sm_erp_add_key(void *ctx, struct eap_server_erp_key *erp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_sm_pending_cb
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:1091,1
    - Dst: eapol_auth_step
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:1092,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - sm
    - ctx
    argTypes:
    - struct eapol_state_machine*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1095
      start: 1086
    functionDepth: 1
    functionLinenumber: 1086
    functionLinenumberEnd: 1095
    functionName: eapol_auth_eap_pending_cb
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_sm.c
    functionUses: 0
    functionsReached:
    - eapol_auth_step
    - eap_sm_pending_cb
    linkageType: ''
    returnType: int
    signature: int eapol_auth_eap_pending_cb(struct eapol_state_machine *sm, void
      *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:1100,1
    - Dst: MAC2STR
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:1101,1
    - Dst: eapol_auth_step
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:1103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eapol_state_machine*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1104
      start: 1098
    functionDepth: 1
    functionLinenumber: 1098
    functionLinenumberEnd: 1104
    functionName: eapol_auth_reauthenticate
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_sm.c
    functionUses: 1
    functionsReached:
    - MAC2STR
    - wpa_printf
    - eapol_auth_step
    linkageType: ''
    returnType: void
    signature: void eapol_auth_reauthenticate(struct eapol_state_machine *sm)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:1110,1
    - Dst: MAC2STR
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:1112,1
    - Dst: os_strcasecmp
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:1114,1
    - Dst: os_strcmp
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:1115,1
    - Dst: os_strcmp
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:1117,1
    - Dst: eapol_auth_step
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:1121,1
    - Dst: os_strcasecmp
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:1125,1
    - Dst: os_strcmp
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:1126,1
    - Dst: os_strcmp
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:1128,1
    - Dst: os_strcmp
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:1130,1
    - Dst: eapol_auth_step
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:1134,1
    - Dst: os_strcasecmp
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:1138,1
    - Dst: atoi
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:1139,1
    - Dst: os_strcasecmp
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:1143,1
    - Dst: atoi
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:1144,1
    - Dst: os_strcasecmp
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:1148,1
    - Dst: atoi
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:1149,1
    - Dst: os_strcasecmp
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:1153,1
    - Dst: os_strcmp
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:1154,1
    - Dst: os_strcmp
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:1156,1
    - Dst: eapol_auth_step
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:1160,1
    - Dst: os_strcasecmp
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:1164,1
    - Dst: os_strcmp
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:1165,1
    - Dst: os_strcmp
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:1167,1
    - Dst: eapol_auth_step
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:1171,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 3
    argNames:
    - sm
    - param
    - value
    argTypes:
    - struct eapol_state_machine*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1176
      start: 1107
    functionDepth: 1
    functionLinenumber: 1107
    functionLinenumberEnd: 1176
    functionName: eapol_auth_set_conf
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_sm.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - eapol_auth_step
    - MAC2STR
    - os_strcasecmp
    - atoi
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: "int eapol_auth_set_conf(struct eapol_state_machine *sm, const char
      *param,\n\t\t\tconst char *value)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:1189,1
    - Dst: os_memdup
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:1191,1
    - Dst: os_free
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:1201,1
    - Dst: os_strdup
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:1203,1
    - Dst: eapol_auth_conf_free
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:1214,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - struct eapol_auth_config*
    - struct eapol_auth_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1216
      start: 1179
    functionDepth: 1
    functionLinenumber: 1179
    functionLinenumberEnd: 1216
    functionName: eapol_auth_conf_clone
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_sm.c
    functionUses: 0
    functionsReached:
    - os_free
    - os_memdup
    - os_strdup
    - eapol_auth_conf_free
    linkageType: ''
    returnType: int
    signature: "int eapol_auth_conf_clone(struct eapol_auth_config *dst,\n\t\t\t\t
      struct eapol_auth_config *src)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:1221,1
    - Dst: os_free
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:1223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - conf
    argTypes:
    - struct eapol_auth_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1219
    functionDepth: 0
    functionLinenumber: 1219
    functionLinenumberEnd: 1225
    functionName: eapol_auth_conf_free
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_sm.c
    functionUses: 1
    functionsReached:
    - os_free
    linkageType: ''
    returnType: void
    signature: void eapol_auth_conf_free(struct eapol_auth_config *conf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:1233,1
    - Dst: eapol_auth_conf_clone
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:1237,1
    - Dst: os_free
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:1238,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 2
    argNames:
    - conf
    - cb
    argTypes:
    - struct eapol_auth_config*
    - struct eapol_auth_cb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1263
      start: 1228
    functionDepth: 2
    functionLinenumber: 1228
    functionLinenumberEnd: 1263
    functionName: eapol_auth_init
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_sm.c
    functionUses: 0
    functionsReached:
    - os_free
    - os_zalloc
    - eapol_auth_conf_clone
    linkageType: ''
    returnType: struct eapol_authenticator
    signature: "struct eapol_authenticator * eapol_auth_init(struct eapol_auth_config
      *conf,\n\t\t\t\t\t     struct eapol_auth_cb *cb)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eapol_auth_conf_free
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:1271,1
    - Dst: os_free
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:1273,1
    - Dst: os_free
      Src: /src/hostap/src/eapol_auth/eapol_auth_sm.c:1275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - eapol
    argTypes:
    - struct eapol_authenticator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1276
      start: 1266
    functionDepth: 1
    functionLinenumber: 1266
    functionLinenumberEnd: 1276
    functionName: eapol_auth_deinit
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_sm.c
    functionUses: 0
    functionsReached:
    - os_free
    - eapol_auth_conf_free
    linkageType: ''
    returnType: void
    signature: void eapol_auth_deinit(struct eapol_authenticator *eapol)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - pt
    argTypes:
    - PortTypes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 24
    functionName: port_type_txt
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_dump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * port_type_txt(PortTypes pt)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ps
    argTypes:
    - PortState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 34
    functionName: port_state_txt
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_dump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * port_state_txt(PortState ps)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - dir
    argTypes:
    - ControlledDirection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 44
    functionName: ctrl_dir_txt
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_dump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * ctrl_dir_txt(ControlledDirection dir)
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - s
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 62
    functionName: auth_pae_state_txt
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_dump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * auth_pae_state_txt(int s)
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 1
    argNames:
    - s
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 78
    functionName: be_auth_state_txt
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_dump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * be_auth_state_txt(int s)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 88
    functionName: reauth_timer_state_txt
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_dump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * reauth_timer_state_txt(int s)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 98
    functionName: auth_key_tx_state_txt
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_dump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * auth_key_tx_state_txt(int s)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 108
    functionName: key_rx_state_txt
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_dump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * key_rx_state_txt(int s)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 118
    functionName: ctrl_dir_state_txt
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_dump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * ctrl_dir_state_txt(int s)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/src/eapol_auth/eapol_auth_dump.c:130,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/eapol_auth/eapol_auth_dump.c:133,1
    - Dst: os_snprintf
      Src: /src/hostap/src/eapol_auth/eapol_auth_dump.c:138,1
    - Dst: _SB
      Src: /src/hostap/src/eapol_auth/eapol_auth_dump.c:158,1
    - Dst: _SB
      Src: /src/hostap/src/eapol_auth/eapol_auth_dump.c:159,1
    - Dst: port_state_txt
      Src: /src/hostap/src/eapol_auth/eapol_auth_dump.c:160,1
    - Dst: _SB
      Src: /src/hostap/src/eapol_auth/eapol_auth_dump.c:161,1
    - Dst: _SB
      Src: /src/hostap/src/eapol_auth/eapol_auth_dump.c:162,1
    - Dst: _SB
      Src: /src/hostap/src/eapol_auth/eapol_auth_dump.c:163,1
    - Dst: _SB
      Src: /src/hostap/src/eapol_auth/eapol_auth_dump.c:164,1
    - Dst: _SB
      Src: /src/hostap/src/eapol_auth/eapol_auth_dump.c:165,1
    - Dst: _SB
      Src: /src/hostap/src/eapol_auth/eapol_auth_dump.c:166,1
    - Dst: _SB
      Src: /src/hostap/src/eapol_auth/eapol_auth_dump.c:167,1
    - Dst: _SB
      Src: /src/hostap/src/eapol_auth/eapol_auth_dump.c:168,1
    - Dst: _SB
      Src: /src/hostap/src/eapol_auth/eapol_auth_dump.c:169,1
    - Dst: _SB
      Src: /src/hostap/src/eapol_auth/eapol_auth_dump.c:170,1
    - Dst: _SB
      Src: /src/hostap/src/eapol_auth/eapol_auth_dump.c:170,1
    - Dst: _SB
      Src: /src/hostap/src/eapol_auth/eapol_auth_dump.c:171,1
    - Dst: port_type_txt
      Src: /src/hostap/src/eapol_auth/eapol_auth_dump.c:172,1
    - Dst: _SB
      Src: /src/hostap/src/eapol_auth/eapol_auth_dump.c:173,1
    - Dst: _SB
      Src: /src/hostap/src/eapol_auth/eapol_auth_dump.c:174,1
    - Dst: _SB
      Src: /src/hostap/src/eapol_auth/eapol_auth_dump.c:175,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/eapol_auth/eapol_auth_dump.c:176,1
    - Dst: os_snprintf
      Src: /src/hostap/src/eapol_auth/eapol_auth_dump.c:180,1
    - Dst: auth_pae_state_txt
      Src: /src/hostap/src/eapol_auth/eapol_auth_dump.c:200,1
    - Dst: _SB
      Src: /src/hostap/src/eapol_auth/eapol_auth_dump.c:201,1
    - Dst: _SB
      Src: /src/hostap/src/eapol_auth/eapol_auth_dump.c:202,1
    - Dst: _SB
      Src: /src/hostap/src/eapol_auth/eapol_auth_dump.c:203,1
    - Dst: port_type_txt
      Src: /src/hostap/src/eapol_auth/eapol_auth_dump.c:204,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/eapol_auth/eapol_auth_dump.c:218,1
    - Dst: os_snprintf
      Src: /src/hostap/src/eapol_auth/eapol_auth_dump.c:222,1
    - Dst: be_auth_state_txt
      Src: /src/hostap/src/eapol_auth/eapol_auth_dump.c:233,1
    - Dst: _SB
      Src: /src/hostap/src/eapol_auth/eapol_auth_dump.c:234,1
    - Dst: _SB
      Src: /src/hostap/src/eapol_auth/eapol_auth_dump.c:235,1
    - Dst: _SB
      Src: /src/hostap/src/eapol_auth/eapol_auth_dump.c:236,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/eapol_auth/eapol_auth_dump.c:243,1
    - Dst: os_snprintf
      Src: /src/hostap/src/eapol_auth/eapol_auth_dump.c:247,1
    - Dst: reauth_timer_state_txt
      Src: /src/hostap/src/eapol_auth/eapol_auth_dump.c:251,1
    - Dst: _SB
      Src: /src/hostap/src/eapol_auth/eapol_auth_dump.c:253,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/eapol_auth/eapol_auth_dump.c:254,1
    - Dst: os_snprintf
      Src: /src/hostap/src/eapol_auth/eapol_auth_dump.c:258,1
    - Dst: auth_key_tx_state_txt
      Src: /src/hostap/src/eapol_auth/eapol_auth_dump.c:260,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/eapol_auth/eapol_auth_dump.c:261,1
    - Dst: os_snprintf
      Src: /src/hostap/src/eapol_auth/eapol_auth_dump.c:265,1
    - Dst: key_rx_state_txt
      Src: /src/hostap/src/eapol_auth/eapol_auth_dump.c:268,1
    - Dst: _SB
      Src: /src/hostap/src/eapol_auth/eapol_auth_dump.c:269,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/eapol_auth/eapol_auth_dump.c:270,1
    - Dst: os_snprintf
      Src: /src/hostap/src/eapol_auth/eapol_auth_dump.c:274,1
    - Dst: ctrl_dir_state_txt
      Src: /src/hostap/src/eapol_auth/eapol_auth_dump.c:279,1
    - Dst: ctrl_dir_txt
      Src: /src/hostap/src/eapol_auth/eapol_auth_dump.c:280,1
    - Dst: ctrl_dir_txt
      Src: /src/hostap/src/eapol_auth/eapol_auth_dump.c:281,1
    - Dst: _SB
      Src: /src/hostap/src/eapol_auth/eapol_auth_dump.c:282,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/eapol_auth/eapol_auth_dump.c:283,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 3
    argNames:
    - sm
    - buf
    - buflen
    argTypes:
    - struct eapol_state_machine*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 289
    functionName: eapol_auth_dump_state
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_dump.c
    functionUses: 0
    functionsReached:
    - auth_pae_state_txt
    - be_auth_state_txt
    - ctrl_dir_txt
    - _SB
    - os_snprintf
    - port_state_txt
    - auth_key_tx_state_txt
    - key_rx_state_txt
    - port_type_txt
    - ctrl_dir_state_txt
    - reauth_timer_state_txt
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int eapol_auth_dump_state(struct eapol_state_machine *sm, char *buf,\n\t\t\t
      \ size_t buflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 138
    functionName: _SB
    functionSourceFile: /src/hostap/src/eapol_auth/eapol_auth_dump.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _SB(b)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - state
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 54
    functionName: eap_eke_state_txt
    functionSourceFile: /src/hostap/src/eap_peer/eap_eke.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * eap_eke_state_txt(int state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_eke.c:59,1
    - Dst: eap_eke_state_txt
      Src: /src/hostap/src/eap_peer/eap_eke.c:60,1
    - Dst: eap_eke_state_txt
      Src: /src/hostap/src/eap_peer/eap_eke.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - state
    argTypes:
    - struct eap_eke_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: eap_eke_state
    functionSourceFile: /src/hostap/src/eap_peer/eap_eke.c
    functionUses: 0
    functionsReached:
    - eap_eke_state_txt
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void eap_eke_state(struct eap_eke_data *data, int state)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: eap_get_config_password
      Src: /src/hostap/src/eap_peer/eap_eke.c:75,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_eke.c:77,1
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_peer/eap_eke.c:81,1
    - Dst: eap_eke_state
      Src: /src/hostap/src/eap_peer/eap_eke.c:84,1
    - Dst: eap_get_config_identity
      Src: /src/hostap/src/eap_peer/eap_eke.c:86,1
    - Dst: os_memdup
      Src: /src/hostap/src/eap_peer/eap_eke.c:88,1
    - Dst: eap_eke_deinit
      Src: /src/hostap/src/eap_peer/eap_eke.c:90,1
    - Dst: eap_get_config_phase1
      Src: /src/hostap/src/eap_peer/eap_eke.c:96,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/eap_eke.c:100,1
    - Dst: atoi
      Src: /src/hostap/src/eap_peer/eap_eke.c:102,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_eke.c:103,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/eap_eke.c:107,1
    - Dst: atoi
      Src: /src/hostap/src/eap_peer/eap_eke.c:109,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_eke.c:110,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/eap_eke.c:114,1
    - Dst: atoi
      Src: /src/hostap/src/eap_peer/eap_eke.c:116,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_eke.c:117,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/eap_eke.c:121,1
    - Dst: atoi
      Src: /src/hostap/src/eap_peer/eap_eke.c:123,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_eke.c:124,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 130
    functionName: eap_eke_init
    functionSourceFile: /src/hostap/src/eap_peer/eap_eke.c
    functionUses: 0
    functionsReached:
    - eap_get_config_phase1
    - wpa_printf
    - eap_eke_state
    - os_memdup
    - eap_eke_deinit
    - os_strstr
    - eap_get_config_identity
    - os_zalloc
    - atoi
    - eap_get_config_password
    linkageType: ''
    returnType: void
    signature: void * eap_eke_init(struct eap_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eap_eke_session_clean
      Src: /src/hostap/src/eap_peer/eap_eke.c:136,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_eke.c:137,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_eke.c:138,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_eke.c:139,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/eap_peer/eap_eke.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 141
    functionName: eap_eke_deinit
    functionSourceFile: /src/hostap/src/eap_peer/eap_eke.c
    functionUses: 1
    functionsReached:
    - os_free
    - wpabuf_free
    - eap_eke_session_clean
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: void eap_eke_deinit(struct eap_sm *sm, void *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_msg_alloc
      Src: /src/hostap/src/eap_peer/eap_eke.c:152,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_eke.c:155,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/eap_eke.c:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - data
    - id
    - length
    - eke_exch
    argTypes:
    - struct eap_eke_data*
    - int
    - size_t
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 162
    functionName: eap_eke_build_msg
    functionSourceFile: /src/hostap/src/eap_peer/eap_eke.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_msg_alloc
    - wpabuf_put_u8
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_eke_build_msg(struct eap_eke_data *data, int id,\n\t\t\t\t\t
      size_t length, u8 eke_exch)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - dhgroup
    argTypes:
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 172
    functionName: eap_eke_supp_dhgroup
    functionSourceFile: /src/hostap/src/eap_peer/eap_eke.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int eap_eke_supp_dhgroup(u8 dhgroup)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - encr
    argTypes:
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: eap_eke_supp_encr
    functionSourceFile: /src/hostap/src/eap_peer/eap_eke.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int eap_eke_supp_encr(u8 encr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - prf
    argTypes:
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 185
    functionName: eap_eke_supp_prf
    functionSourceFile: /src/hostap/src/eap_peer/eap_eke.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int eap_eke_supp_prf(u8 prf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - mac
    argTypes:
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: eap_eke_supp_mac
    functionSourceFile: /src/hostap/src/eap_peer/eap_eke.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int eap_eke_supp_mac(u8 mac)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_eke.c:201,1
    - Dst: eap_eke_build_msg
      Src: /src/hostap/src/eap_peer/eap_eke.c:204,1
    - Dst: wpabuf_put_be32
      Src: /src/hostap/src/eap_peer/eap_eke.c:206,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_peer/eap_eke.c:208,1
    - Dst: eap_eke_session_clean
      Src: /src/hostap/src/eap_peer/eap_eke.c:209,1
    - Dst: eap_eke_state
      Src: /src/hostap/src/eap_peer/eap_eke.c:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - data
    - ret
    - id
    - failure_code
    argTypes:
    - struct eap_eke_data*
    - struct eap_method_ret*
    - u8
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 217
    functionName: eap_eke_build_fail
    functionSourceFile: /src/hostap/src/eap_peer/eap_eke.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_eke_state
    - eap_eke_build_msg
    - eap_eke_session_clean
    - wpabuf_put_be32
    - os_memset
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_eke_build_fail(struct eap_eke_data *data,\n\t\t\t\t\t
      \ struct eap_method_ret *ret,\n\t\t\t\t\t  u8 id, u32 failure_code)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: eap_get_id
      Src: /src/hostap/src/eap_peer/eap_eke.c:231,1
    - Dst: eap_eke_build_fail
      Src: /src/hostap/src/eap_peer/eap_eke.c:234,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_eke.c:238,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_eke.c:241,1
    - Dst: eap_eke_build_fail
      Src: /src/hostap/src/eap_peer/eap_eke.c:242,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_eke.c:253,1
    - Dst: eap_eke_build_fail
      Src: /src/hostap/src/eap_peer/eap_eke.c:255,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_eke.c:262,1
    - Dst: eap_eke_supp_dhgroup
      Src: /src/hostap/src/eap_peer/eap_eke.c:267,1
    - Dst: eap_eke_supp_encr
      Src: /src/hostap/src/eap_peer/eap_eke.c:271,1
    - Dst: eap_eke_supp_prf
      Src: /src/hostap/src/eap_peer/eap_eke.c:275,1
    - Dst: eap_eke_supp_mac
      Src: /src/hostap/src/eap_peer/eap_eke.c:279,1
    - Dst: eap_eke_session_init
      Src: /src/hostap/src/eap_peer/eap_eke.c:283,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_eke.c:289,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_eke.c:294,1
    - Dst: eap_eke_build_fail
      Src: /src/hostap/src/eap_peer/eap_eke.c:295,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_eke.c:302,1
    - Dst: eap_eke_build_fail
      Src: /src/hostap/src/eap_peer/eap_eke.c:303,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_eke.c:308,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_peer/eap_eke.c:309,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_eke.c:311,1
    - Dst: os_memdup
      Src: /src/hostap/src/eap_peer/eap_eke.c:312,1
    - Dst: eap_eke_build_fail
      Src: /src/hostap/src/eap_peer/eap_eke.c:314,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_eke.c:319,1
    - Dst: eap_eke_build_msg
      Src: /src/hostap/src/eap_peer/eap_eke.c:321,1
    - Dst: eap_eke_build_fail
      Src: /src/hostap/src/eap_peer/eap_eke.c:325,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/eap_eke.c:329,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/eap_eke.c:330,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_peer/eap_eke.c:331,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/eap_eke.c:332,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_peer/eap_eke.c:334,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_eke.c:336,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eap_peer/eap_eke.c:337,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_eke.c:337,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_eke.c:337,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_eke.c:339,1
    - Dst: eap_eke_build_fail
      Src: /src/hostap/src/eap_peer/eap_eke.c:340,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/eap_peer/eap_eke.c:343,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/eap_peer/eap_eke.c:344,1
    - Dst: eap_eke_state
      Src: /src/hostap/src/eap_peer/eap_eke.c:346,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 78
    argCount: 5
    argNames:
    - data
    - ret
    - reqData
    - payload
    - payload_len
    argTypes:
    - struct eap_eke_data*
    - struct eap_method_ret*
    - struct wpabuf*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 349
    functionName: eap_eke_process_id
    functionSourceFile: /src/hostap/src/eap_peer/eap_eke.c
    functionUses: 0
    functionsReached:
    - eap_eke_supp_mac
    - wpabuf_alloc
    - wpa_hexdump_ascii
    - eap_get_id
    - wpa_printf
    - wpabuf_put_data
    - os_memdup
    - os_free
    - wpabuf_put_u8
    - eap_eke_build_msg
    - wpabuf_len
    - eap_eke_supp_prf
    - eap_eke_supp_encr
    - eap_eke_state
    - eap_eke_build_fail
    - wpabuf_free
    - eap_eke_session_init
    - wpabuf_put_buf
    - eap_eke_supp_dhgroup
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_eke_process_id(struct eap_eke_data *data,\n\t\t\t\t\t
      \ struct eap_method_ret *ret,\n\t\t\t\t\t  const struct wpabuf *reqData,\n\t\t\t\t\t
      \ const u8 *payload,\n\t\t\t\t\t  size_t payload_len)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: eap_get_id
      Src: /src/hostap/src/eap_peer/eap_eke.c:367,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_eke.c:370,1
    - Dst: eap_eke_build_fail
      Src: /src/hostap/src/eap_peer/eap_eke.c:371,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_eke.c:375,1
    - Dst: eap_get_config_password
      Src: /src/hostap/src/eap_peer/eap_eke.c:377,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_eke.c:379,1
    - Dst: eap_eke_build_fail
      Src: /src/hostap/src/eap_peer/eap_eke.c:380,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_eke.c:388,1
    - Dst: eap_eke_build_fail
      Src: /src/hostap/src/eap_peer/eap_eke.c:389,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_eke.c:393,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_eke.c:397,1
    - Dst: eap_eke_derive_key
      Src: /src/hostap/src/eap_peer/eap_eke.c:403,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_eke.c:406,1
    - Dst: eap_eke_build_fail
      Src: /src/hostap/src/eap_peer/eap_eke.c:407,1
    - Dst: eap_eke_dh_init
      Src: /src/hostap/src/eap_peer/eap_eke.c:415,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_eke.c:416,1
    - Dst: forced_memzero
      Src: /src/hostap/src/eap_peer/eap_eke.c:417,1
    - Dst: eap_eke_build_fail
      Src: /src/hostap/src/eap_peer/eap_eke.c:418,1
    - Dst: eap_eke_shared_secret
      Src: /src/hostap/src/eap_peer/eap_eke.c:422,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_eke.c:424,1
    - Dst: forced_memzero
      Src: /src/hostap/src/eap_peer/eap_eke.c:425,1
    - Dst: eap_eke_build_fail
      Src: /src/hostap/src/eap_peer/eap_eke.c:426,1
    - Dst: eap_eke_derive_ke_ki
      Src: /src/hostap/src/eap_peer/eap_eke.c:430,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_eke.c:433,1
    - Dst: forced_memzero
      Src: /src/hostap/src/eap_peer/eap_eke.c:434,1
    - Dst: eap_eke_build_fail
      Src: /src/hostap/src/eap_peer/eap_eke.c:435,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_eke.c:439,1
    - Dst: eap_eke_build_msg
      Src: /src/hostap/src/eap_peer/eap_eke.c:441,1
    - Dst: forced_memzero
      Src: /src/hostap/src/eap_peer/eap_eke.c:445,1
    - Dst: eap_eke_build_fail
      Src: /src/hostap/src/eap_peer/eap_eke.c:446,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/eap_eke.c:451,1
    - Dst: eap_eke_dhcomp
      Src: /src/hostap/src/eap_peer/eap_eke.c:452,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_eke.c:453,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_eke.c:454,1
    - Dst: forced_memzero
      Src: /src/hostap/src/eap_peer/eap_eke.c:455,1
    - Dst: eap_eke_build_fail
      Src: /src/hostap/src/eap_peer/eap_eke.c:456,1
    - Dst: forced_memzero
      Src: /src/hostap/src/eap_peer/eap_eke.c:459,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_eke.c:461,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/eap_peer/eap_eke.c:464,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_eke.c:465,1
    - Dst: eap_eke_build_fail
      Src: /src/hostap/src/eap_peer/eap_eke.c:466,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_peer/eap_eke.c:469,1
    - Dst: wpabuf_tailroom
      Src: /src/hostap/src/eap_peer/eap_eke.c:471,1
    - Dst: eap_eke_prot
      Src: /src/hostap/src/eap_peer/eap_eke.c:472,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/eap_eke.c:473,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_eke.c:474,1
    - Dst: eap_eke_build_fail
      Src: /src/hostap/src/eap_peer/eap_eke.c:475,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_eke.c:478,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/eap_eke.c:479,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/eap_eke.c:480,1
    - Dst: wpabuf_resize
      Src: /src/hostap/src/eap_peer/eap_eke.c:484,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_eke.c:484,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_eke.c:484,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_eke.c:486,1
    - Dst: eap_eke_build_fail
      Src: /src/hostap/src/eap_peer/eap_eke.c:487,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/eap_peer/eap_eke.c:490,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/eap_peer/eap_eke.c:491,1
    - Dst: eap_eke_state
      Src: /src/hostap/src/eap_peer/eap_eke.c:493,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 75
    argCount: 6
    argNames:
    - sm
    - data
    - ret
    - reqData
    - payload
    - payload_len
    argTypes:
    - struct eap_sm*
    - struct eap_eke_data*
    - struct eap_method_ret*
    - struct wpabuf*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 352
    functionDepth: 2
    functionLinenumber: 352
    functionLinenumberEnd: 496
    functionName: eap_eke_process_commit
    functionSourceFile: /src/hostap/src/eap_peer/eap_eke.c
    functionUses: 0
    functionsReached:
    - eap_eke_dh_init
    - wpa_hexdump
    - forced_memzero
    - eap_eke_prot
    - eap_get_id
    - wpa_printf
    - wpa_hexdump_key
    - eap_eke_build_msg
    - wpabuf_len
    - wpabuf_tailroom
    - eap_eke_dhcomp
    - wpabuf_put
    - random_get_bytes
    - eap_eke_derive_ke_ki
    - wpabuf_resize
    - eap_eke_state
    - eap_eke_build_fail
    - wpabuf_free
    - eap_eke_shared_secret
    - wpabuf_put_buf
    - eap_get_config_password
    - eap_eke_derive_key
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_eke_process_commit(struct eap_sm *sm,\n\t\t\t\t\t
      \     struct eap_eke_data *data,\n\t\t\t\t\t      struct eap_method_ret *ret,\n\t\t\t\t\t
      \     const struct wpabuf *reqData,\n\t\t\t\t\t      const u8 *payload,\n\t\t\t\t\t
      \     size_t payload_len)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: eap_get_id
      Src: /src/hostap/src/eap_peer/eap_eke.c:512,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_eke.c:515,1
    - Dst: eap_eke_build_fail
      Src: /src/hostap/src/eap_peer/eap_eke.c:517,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_eke.c:521,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_eke.c:527,1
    - Dst: eap_eke_build_fail
      Src: /src/hostap/src/eap_peer/eap_eke.c:528,1
    - Dst: eap_eke_decrypt_prot
      Src: /src/hostap/src/eap_peer/eap_eke.c:533,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_eke.c:535,1
    - Dst: eap_eke_build_fail
      Src: /src/hostap/src/eap_peer/eap_eke.c:536,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_eke.c:540,1
    - Dst: eap_eke_build_fail
      Src: /src/hostap/src/eap_peer/eap_eke.c:541,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_peer/eap_eke.c:544,1
    - Dst: os_memcmp
      Src: /src/hostap/src/eap_peer/eap_eke.c:546,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_eke.c:547,1
    - Dst: eap_eke_build_fail
      Src: /src/hostap/src/eap_peer/eap_eke.c:548,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_eke.c:552,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_peer/eap_eke.c:554,1
    - Dst: eap_eke_derive_ka
      Src: /src/hostap/src/eap_peer/eap_eke.c:557,1
    - Dst: eap_eke_build_fail
      Src: /src/hostap/src/eap_peer/eap_eke.c:560,1
    - Dst: eap_eke_auth
      Src: /src/hostap/src/eap_peer/eap_eke.c:564,1
    - Dst: eap_eke_build_fail
      Src: /src/hostap/src/eap_peer/eap_eke.c:566,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_eke.c:569,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/eap_peer/eap_eke.c:570,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_eke.c:572,1
    - Dst: eap_eke_build_fail
      Src: /src/hostap/src/eap_peer/eap_eke.c:573,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_eke.c:577,1
    - Dst: eap_eke_build_msg
      Src: /src/hostap/src/eap_peer/eap_eke.c:579,1
    - Dst: eap_eke_build_fail
      Src: /src/hostap/src/eap_peer/eap_eke.c:583,1
    - Dst: wpabuf_tailroom
      Src: /src/hostap/src/eap_peer/eap_eke.c:587,1
    - Dst: eap_eke_prot
      Src: /src/hostap/src/eap_peer/eap_eke.c:588,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/eap_eke.c:589,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_eke.c:590,1
    - Dst: eap_eke_build_fail
      Src: /src/hostap/src/eap_peer/eap_eke.c:591,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/eap_eke.c:594,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/eap_eke.c:596,1
    - Dst: eap_eke_auth
      Src: /src/hostap/src/eap_peer/eap_eke.c:597,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_eke.c:598,1
    - Dst: eap_eke_build_fail
      Src: /src/hostap/src/eap_peer/eap_eke.c:599,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_eke.c:602,1
    - Dst: eap_eke_derive_msk
      Src: /src/hostap/src/eap_peer/eap_eke.c:604,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_eke.c:608,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_eke.c:609,1
    - Dst: eap_eke_build_fail
      Src: /src/hostap/src/eap_peer/eap_eke.c:610,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_peer/eap_eke.c:614,1
    - Dst: eap_eke_session_clean
      Src: /src/hostap/src/eap_peer/eap_eke.c:615,1
    - Dst: eap_eke_state
      Src: /src/hostap/src/eap_peer/eap_eke.c:617,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 68
    argCount: 5
    argNames:
    - data
    - ret
    - reqData
    - payload
    - payload_len
    argTypes:
    - struct eap_eke_data*
    - struct eap_method_ret*
    - struct wpabuf*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 499
    functionDepth: 2
    functionLinenumber: 499
    functionLinenumberEnd: 623
    functionName: eap_eke_process_confirm
    functionSourceFile: /src/hostap/src/eap_peer/eap_eke.c
    functionUses: 0
    functionsReached:
    - wpa_hexdump
    - eap_eke_prot
    - eap_get_id
    - wpa_printf
    - eap_eke_derive_ka
    - os_memcmp
    - eap_eke_session_clean
    - eap_eke_auth
    - wpa_hexdump_key
    - eap_eke_build_msg
    - wpabuf_tailroom
    - eap_eke_decrypt_prot
    - os_memset
    - os_memcpy
    - wpabuf_put
    - eap_eke_derive_msk
    - eap_eke_state
    - eap_eke_build_fail
    - wpabuf_free
    - os_memcmp_const
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_eke_process_confirm(struct eap_eke_data *data,\n\t\t\t\t\t
      \      struct eap_method_ret *ret,\n\t\t\t\t\t       const struct wpabuf *reqData,\n\t\t\t\t\t
      \      const u8 *payload,\n\t\t\t\t\t       size_t payload_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_eke.c:632,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_eke.c:635,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/eap_peer/eap_eke.c:638,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_eke.c:639,1
    - Dst: eap_eke_build_fail
      Src: /src/hostap/src/eap_peer/eap_eke.c:642,1
    - Dst: eap_get_id
      Src: /src/hostap/src/eap_peer/eap_eke.c:642,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - data
    - ret
    - reqData
    - payload
    - payload_len
    argTypes:
    - struct eap_eke_data*
    - struct eap_method_ret*
    - struct wpabuf*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 626
    functionDepth: 2
    functionLinenumber: 626
    functionLinenumberEnd: 644
    functionName: eap_eke_process_failure
    functionSourceFile: /src/hostap/src/eap_peer/eap_eke.c
    functionUses: 0
    functionsReached:
    - eap_eke_build_fail
    - eap_get_id
    - wpa_printf
    - WPA_GET_BE32
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_eke_process_failure(struct eap_eke_data *data,\n\t\t\t\t\t
      \      struct eap_method_ret *ret,\n\t\t\t\t\t       const struct wpabuf *reqData,\n\t\t\t\t\t
      \      const u8 *payload,\n\t\t\t\t\t       size_t payload_len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_peer/eap_eke.c:657,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_eke.c:666,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_eke.c:667,1
    - Dst: eap_eke_process_id
      Src: /src/hostap/src/eap_peer/eap_eke.c:676,1
    - Dst: eap_eke_process_commit
      Src: /src/hostap/src/eap_peer/eap_eke.c:679,1
    - Dst: eap_eke_process_confirm
      Src: /src/hostap/src/eap_peer/eap_eke.c:683,1
    - Dst: eap_eke_process_failure
      Src: /src/hostap/src/eap_peer/eap_eke.c:687,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_eke.c:691,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 4
    argNames:
    - sm
    - priv
    - ret
    - reqData
    argTypes:
    - struct eap_sm*
    - void*
    - struct eap_method_ret*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 647
    functionDepth: 3
    functionLinenumber: 647
    functionLinenumberEnd: 700
    functionName: eap_eke_process
    functionSourceFile: /src/hostap/src/eap_peer/eap_eke.c
    functionUses: 0
    functionsReached:
    - eap_eke_process_id
    - wpa_printf
    - wpa_hexdump
    - eap_eke_process_commit
    - eap_hdr_validate
    - eap_eke_process_confirm
    - eap_eke_process_failure
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_eke_process(struct eap_sm *sm, void *priv,\n\t\t\t\t
      \      struct eap_method_ret *ret,\n\t\t\t\t       const struct wpabuf *reqData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 707
    functionName: eap_eke_isKeyAvailable
    functionSourceFile: /src/hostap/src/eap_peer/eap_eke.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool eap_eke_isKeyAvailable(struct eap_sm *sm, void *priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memdup
      Src: /src/hostap/src/eap_peer/eap_eke.c:718,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 724
    functionName: eap_eke_getKey
    functionSourceFile: /src/hostap/src/eap_peer/eap_eke.c
    functionUses: 0
    functionsReached:
    - os_memdup
    linkageType: ''
    returnType: u8
    signature: u8 * eap_eke_getKey(struct eap_sm *sm, void *priv, size_t *len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memdup
      Src: /src/hostap/src/eap_peer/eap_eke.c:735,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 741
    functionName: eap_eke_get_emsk
    functionSourceFile: /src/hostap/src/eap_peer/eap_eke.c
    functionUses: 0
    functionsReached:
    - os_memdup
    linkageType: ''
    returnType: u8
    signature: u8 * eap_eke_get_emsk(struct eap_sm *sm, void *priv, size_t *len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/eap_peer/eap_eke.c:754,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_eke.c:758,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_eke.c:759,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 764
    functionName: eap_eke_get_session_id
    functionSourceFile: /src/hostap/src/eap_peer/eap_eke.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - os_malloc
    linkageType: ''
    returnType: u8
    signature: u8 * eap_eke_get_session_id(struct eap_sm *sm, void *priv, size_t *len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_peer_method_alloc
      Src: /src/hostap/src/eap_peer/eap_eke.c:771,1
    - Dst: eap_peer_method_register
      Src: /src/hostap/src/eap_peer/eap_eke.c:784,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 785
    functionName: eap_peer_eke_register
    functionSourceFile: /src/hostap/src/eap_peer/eap_eke.c
    functionUses: 1
    functionsReached:
    - eap_peer_method_register
    - eap_peer_method_alloc
    linkageType: ''
    returnType: int
    signature: int eap_peer_eke_register(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: eap_get_config
      Src: /src/hostap/src/eap_peer/eap_tnc.c:39,1
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_peer/eap_tnc.c:41,1
    - Dst: tncc_init
      Src: /src/hostap/src/eap_peer/eap_tnc.c:49,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_tnc.c:51,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 56
    functionName: eap_tnc_init
    functionSourceFile: /src/hostap/src/eap_peer/eap_tnc.c
    functionUses: 0
    functionsReached:
    - eap_get_config
    - os_free
    - os_zalloc
    - tncc_init
    linkageType: ''
    returnType: void
    signature: void * eap_tnc_init(struct eap_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_tnc.c:63,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_tnc.c:64,1
    - Dst: tncc_deinit
      Src: /src/hostap/src/eap_peer/eap_tnc.c:65,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_tnc.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 67
    functionName: eap_tnc_deinit
    functionSourceFile: /src/hostap/src/eap_peer/eap_tnc.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpabuf_free
    - tncc_deinit
    linkageType: ''
    returnType: void
    signature: void eap_tnc_deinit(struct eap_sm *sm, void *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_msg_alloc
      Src: /src/hostap/src/eap_peer/eap_tnc.c:74,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_tnc.c:76,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/eap_tnc.c:80,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_tnc.c:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - id
    - code
    argTypes:
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 85
    functionName: eap_tnc_build_frag_ack
    functionSourceFile: /src/hostap/src/eap_peer/eap_tnc.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_msg_alloc
    - wpabuf_put_u8
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * eap_tnc_build_frag_ack(u8 id, u8 code)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_tnc.c:96,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_tnc.c:100,1
    - Dst: eap_msg_alloc
      Src: /src/hostap/src/eap_peer/eap_tnc.c:113,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/eap_tnc.c:118,1
    - Dst: wpabuf_put_be32
      Src: /src/hostap/src/eap_peer/eap_tnc.c:120,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_tnc.c:120,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_peer/eap_tnc.c:122,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/eap_peer/eap_tnc.c:122,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_tnc.c:129,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_tnc.c:130,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_tnc.c:133,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_tnc.c:137,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_tnc.c:139,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 3
    argNames:
    - data
    - ret
    - id
    argTypes:
    - struct eap_tnc_data*
    - struct eap_method_ret*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 145
    functionName: eap_tnc_build_msg
    functionSourceFile: /src/hostap/src/eap_peer/eap_tnc.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_head_u8
    - wpabuf_put_u8
    - wpabuf_put_data
    - wpabuf_len
    - eap_msg_alloc
    - wpabuf_free
    - wpabuf_put_be32
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_tnc_build_msg(struct eap_tnc_data *data,\n\t\t\t\t\t
      struct eap_method_ret *ret, u8 id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_tailroom
      Src: /src/hostap/src/eap_peer/eap_tnc.c:152,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_tnc.c:153,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_peer/eap_tnc.c:158,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_tnc.c:159,1
    - Dst: wpabuf_tailroom
      Src: /src/hostap/src/eap_peer/eap_tnc.c:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - data
    - buf
    - len
    argTypes:
    - struct eap_tnc_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 164
    functionName: eap_tnc_process_cont
    functionSourceFile: /src/hostap/src/eap_peer/eap_tnc.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put_data
    - wpabuf_tailroom
    linkageType: ''
    returnType: int
    signature: "int eap_tnc_process_cont(struct eap_tnc_data *data,\n\t\t\t\tconst
      u8 *buf, size_t len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_tnc.c:175,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eap_peer/eap_tnc.c:183,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_tnc.c:185,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_peer/eap_tnc.c:190,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_tnc.c:191,1
    - Dst: wpabuf_tailroom
      Src: /src/hostap/src/eap_peer/eap_tnc.c:194,1
    - Dst: eap_tnc_build_frag_ack
      Src: /src/hostap/src/eap_peer/eap_tnc.c:197,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 7
    argNames:
    - data
    - ret
    - id
    - flags
    - message_length
    - buf
    - len
    argTypes:
    - struct eap_tnc_data*
    - struct eap_method_ret*
    - u8
    - u8
    - u32
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 198
    functionName: eap_tnc_process_fragment
    functionSourceFile: /src/hostap/src/eap_peer/eap_tnc.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put_data
    - wpabuf_tailroom
    - wpabuf_alloc
    - eap_tnc_build_frag_ack
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_tnc_process_fragment(struct eap_tnc_data *data,\n\t\t\t\t\t\tstruct
      eap_method_ret *ret,\n\t\t\t\t\t\tu8 id, u8 flags,\n\t\t\t\t\t\tu32 message_length,\n\t\t\t\t\t\tconst
      u8 *buf, size_t len)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_peer/eap_tnc.c:218,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_tnc.c:220,1
    - Dst: eap_get_id
      Src: /src/hostap/src/eap_peer/eap_tnc.c:226,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_tnc.c:236,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_tnc.c:244,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/eap_peer/eap_tnc.c:248,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_tnc.c:253,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_tnc.c:261,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_tnc.c:266,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_tnc.c:271,1
    - Dst: eap_tnc_build_msg
      Src: /src/hostap/src/eap_peer/eap_tnc.c:273,1
    - Dst: eap_tnc_process_cont
      Src: /src/hostap/src/eap_peer/eap_tnc.c:276,1
    - Dst: eap_tnc_process_fragment
      Src: /src/hostap/src/eap_peer/eap_tnc.c:282,1
    - Dst: wpabuf_set
      Src: /src/hostap/src/eap_peer/eap_tnc.c:289,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_tnc.c:295,1
    - Dst: tncc_init_connection
      Src: /src/hostap/src/eap_peer/eap_tnc.c:301,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_tnc.c:308,1
    - Dst: tncc_process_if_tnccs
      Src: /src/hostap/src/eap_peer/eap_tnc.c:314,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_peer/eap_tnc.c:315,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_tnc.c:316,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_tnc.c:323,1
    - Dst: wpa_msg
      Src: /src/hostap/src/eap_peer/eap_tnc.c:327,1
    - Dst: wpa_msg
      Src: /src/hostap/src/eap_peer/eap_tnc.c:332,1
    - Dst: wpa_msg
      Src: /src/hostap/src/eap_peer/eap_tnc.c:337,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_tnc.c:345,1
    - Dst: eap_msg_alloc
      Src: /src/hostap/src/eap_peer/eap_tnc.c:354,1
    - Dst: eap_get_id
      Src: /src/hostap/src/eap_peer/eap_tnc.c:355,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/eap_tnc.c:359,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_tnc.c:360,1
    - Dst: tncc_total_send_len
      Src: /src/hostap/src/eap_peer/eap_tnc.c:365,1
    - Dst: tncc_if_tnccs_start
      Src: /src/hostap/src/eap_peer/eap_tnc.c:367,1
    - Dst: os_strlen
      Src: /src/hostap/src/eap_peer/eap_tnc.c:370,1
    - Dst: tncc_if_tnccs_end
      Src: /src/hostap/src/eap_peer/eap_tnc.c:371,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_tnc.c:373,1
    - Dst: os_strlen
      Src: /src/hostap/src/eap_peer/eap_tnc.c:376,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eap_peer/eap_tnc.c:379,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_tnc.c:381,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_tnc.c:382,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_peer/eap_tnc.c:386,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_tnc.c:387,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/eap_tnc.c:389,1
    - Dst: tncc_copy_send_buf
      Src: /src/hostap/src/eap_peer/eap_tnc.c:390,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/eap_tnc.c:391,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_peer/eap_tnc.c:393,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_tnc.c:394,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_peer/eap_tnc.c:396,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_peer/eap_tnc.c:397,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_tnc.c:397,1
    - Dst: eap_tnc_build_msg
      Src: /src/hostap/src/eap_peer/eap_tnc.c:401,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 142
    argCount: 4
    argNames:
    - sm
    - priv
    - ret
    - reqData
    argTypes:
    - struct eap_sm*
    - void*
    - struct eap_method_ret*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 407
    functionName: eap_tnc_process
    functionSourceFile: /src/hostap/src/eap_peer/eap_tnc.c
    functionUses: 0
    functionsReached:
    - tncc_process_if_tnccs
    - tncc_if_tnccs_start
    - eap_msg_alloc
    - tncc_init_connection
    - eap_tnc_build_msg
    - wpabuf_alloc
    - eap_hdr_validate
    - wpa_hexdump_ascii
    - os_strlen
    - eap_get_id
    - wpa_printf
    - wpabuf_put_data
    - eap_tnc_process_fragment
    - os_free
    - wpabuf_put_u8
    - wpabuf_len
    - tncc_copy_send_buf
    - wpabuf_head
    - tncc_if_tnccs_end
    - eap_tnc_process_cont
    - wpabuf_put
    - wpa_msg
    - wpabuf_free
    - wpabuf_set
    - tncc_total_send_len
    - WPA_GET_BE32
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_tnc_process(struct eap_sm *sm, void *priv,\n\t\t\t\t
      \      struct eap_method_ret *ret,\n\t\t\t\t       const struct wpabuf *reqData)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_peer_method_alloc
      Src: /src/hostap/src/eap_peer/eap_tnc.c:414,1
    - Dst: eap_peer_method_register
      Src: /src/hostap/src/eap_peer/eap_tnc.c:423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 424
    functionName: eap_peer_tnc_register
    functionSourceFile: /src/hostap/src/eap_peer/eap_tnc.c
    functionUses: 1
    functionsReached:
    - eap_peer_method_register
    - eap_peer_method_alloc
    linkageType: ''
    returnType: int
    signature: int eap_peer_tnc_register(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - state
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 80
    functionName: eap_pwd_state_txt
    functionSourceFile: /src/hostap/src/eap_peer/eap_pwd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * eap_pwd_state_txt(int state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pwd.c:86,1
    - Dst: eap_pwd_state_txt
      Src: /src/hostap/src/eap_peer/eap_pwd.c:87,1
    - Dst: eap_pwd_state_txt
      Src: /src/hostap/src/eap_peer/eap_pwd.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - state
    argTypes:
    - struct eap_pwd_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: eap_pwd_state
    functionSourceFile: /src/hostap/src/eap_peer/eap_pwd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_pwd_state_txt
    linkageType: ''
    returnType: void
    signature: void eap_pwd_state(struct eap_pwd_data *data, int state)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: eap_get_config_password2
      Src: /src/hostap/src/eap_peer/eap_pwd.c:101,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pwd.c:103,1
    - Dst: eap_get_config_identity
      Src: /src/hostap/src/eap_peer/eap_pwd.c:107,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pwd.c:109,1
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_peer/eap_pwd.c:113,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pwd.c:114,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_peer/eap_pwd.c:118,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pwd.c:119,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_pwd.c:120,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_pwd.c:124,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_peer/eap_pwd.c:127,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pwd.c:128,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/eap_peer/eap_pwd.c:129,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_pwd.c:130,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_pwd.c:133,1
    - Dst: eap_get_config_phase1
      Src: /src/hostap/src/eap_peer/eap_pwd.c:137,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/eap_pwd.c:143,1
    - Dst: os_strchr
      Src: /src/hostap/src/eap_peer/eap_pwd.c:146,1
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_peer/eap_pwd.c:148,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_pwd.c:151,1
    - Dst: freq_range_list_parse
      Src: /src/hostap/src/eap_peer/eap_pwd.c:154,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_pwd.c:155,1
    - Dst: eap_get_config_fragment_size
      Src: /src/hostap/src/eap_peer/eap_pwd.c:163,1
    - Dst: eap_pwd_deinit
      Src: /src/hostap/src/eap_peer/eap_pwd.c:173,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 64
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 175
    functionName: eap_pwd_init
    functionSourceFile: /src/hostap/src/eap_peer/eap_pwd.c
    functionUses: 0
    functionsReached:
    - eap_get_config_password2
    - eap_get_config_phase1
    - wpa_printf
    - os_memcpy
    - freq_range_list_parse
    - eap_get_config_fragment_size
    - eap_pwd_deinit
    - os_malloc
    - os_strstr
    - eap_get_config_identity
    - os_zalloc
    - os_free
    - os_strchr
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: void * eap_pwd_init(struct eap_sm *sm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/eap_peer/eap_pwd.c:182,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/eap_peer/eap_pwd.c:183,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/eap_peer/eap_pwd.c:184,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/eap_peer/eap_pwd.c:185,1
    - Dst: crypto_ec_point_deinit
      Src: /src/hostap/src/eap_peer/eap_pwd.c:186,1
    - Dst: crypto_ec_point_deinit
      Src: /src/hostap/src/eap_peer/eap_pwd.c:187,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/eap_peer/eap_pwd.c:188,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/eap_peer/eap_pwd.c:189,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/eap_peer/eap_pwd.c:190,1
    - Dst: crypto_ec_deinit
      Src: /src/hostap/src/eap_peer/eap_pwd.c:192,1
    - Dst: crypto_ec_point_deinit
      Src: /src/hostap/src/eap_peer/eap_pwd.c:193,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_pwd.c:194,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_pwd.c:196,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_pwd.c:197,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_pwd.c:198,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/eap_peer/eap_pwd.c:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 200
    functionName: eap_pwd_deinit
    functionSourceFile: /src/hostap/src/eap_peer/eap_pwd.c
    functionUses: 1
    functionsReached:
    - crypto_ec_point_deinit
    - crypto_ec_deinit
    - wpabuf_free
    - crypto_bignum_deinit
    - os_free
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: void eap_pwd_deinit(struct eap_sm *sm, void *priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memdup
      Src: /src/hostap/src/eap_peer/eap_pwd.c:211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 218
    functionName: eap_pwd_getkey
    functionSourceFile: /src/hostap/src/eap_peer/eap_pwd.c
    functionUses: 0
    functionsReached:
    - os_memdup
    linkageType: ''
    returnType: u8
    signature: u8 * eap_pwd_getkey(struct eap_sm *sm, void *priv, size_t *len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memdup
      Src: /src/hostap/src/eap_peer/eap_pwd.c:229,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 236
    functionName: eap_pwd_get_session_id
    functionSourceFile: /src/hostap/src/eap_peer/eap_pwd.c
    functionUses: 0
    functionsReached:
    - os_memdup
    linkageType: ''
    returnType: u8
    signature: u8 * eap_pwd_get_session_id(struct eap_sm *sm, void *priv, size_t *len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: freq_range_list_includes
      Src: /src/hostap/src/eap_peer/eap_pwd.c:247,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - data
    - group
    argTypes:
    - struct eap_pwd_data*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 248
    functionName: eap_pwd_allowed_group
    functionSourceFile: /src/hostap/src/eap_peer/eap_pwd.c
    functionUses: 0
    functionsReached:
    - freq_range_list_includes
    linkageType: ''
    returnType: int
    signature: int eap_pwd_allowed_group(struct eap_pwd_data *data, u16 group)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: eap_pwd_state
      Src: /src/hostap/src/eap_peer/eap_pwd.c:261,1
    - Dst: eap_pwd_state
      Src: /src/hostap/src/eap_peer/eap_pwd.c:267,1
    - Dst: be_to_host16
      Src: /src/hostap/src/eap_peer/eap_pwd.c:272,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pwd.c:273,1
    - Dst: eap_pwd_allowed_group
      Src: /src/hostap/src/eap_peer/eap_pwd.c:278,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pwd.c:279,1
    - Dst: eap_pwd_state
      Src: /src/hostap/src/eap_peer/eap_pwd.c:281,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pwd.c:290,1
    - Dst: eap_pwd_state
      Src: /src/hostap/src/eap_peer/eap_pwd.c:293,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pwd.c:298,1
    - Dst: eap_pwd_state
      Src: /src/hostap/src/eap_peer/eap_pwd.c:300,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pwd.c:304,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_pwd.c:308,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pwd.c:311,1
    - Dst: eap_pwd_state
      Src: /src/hostap/src/eap_peer/eap_pwd.c:312,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_peer/eap_pwd.c:316,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pwd.c:318,1
    - Dst: eap_pwd_state
      Src: /src/hostap/src/eap_peer/eap_pwd.c:319,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_pwd.c:323,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_peer/eap_pwd.c:324,1
    - Dst: get_eap_pwd_group
      Src: /src/hostap/src/eap_peer/eap_pwd.c:327,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pwd.c:329,1
    - Dst: eap_pwd_state
      Src: /src/hostap/src/eap_peer/eap_pwd.c:331,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eap_peer/eap_pwd.c:335,1
    - Dst: eap_pwd_state
      Src: /src/hostap/src/eap_peer/eap_pwd.c:338,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/eap_peer/eap_pwd.c:341,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/eap_pwd.c:342,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/eap_pwd.c:343,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_peer/eap_pwd.c:344,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/eap_pwd.c:345,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_peer/eap_pwd.c:346,1
    - Dst: eap_pwd_state
      Src: /src/hostap/src/eap_peer/eap_pwd.c:348,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 64
    argCount: 6
    argNames:
    - sm
    - data
    - ret
    - reqData
    - payload
    - payload_len
    argTypes:
    - struct eap_sm*
    - struct eap_pwd_data*
    - struct eap_method_ret*
    - struct wpabuf*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 349
    functionName: eap_pwd_perform_id_exchange
    functionSourceFile: /src/hostap/src/eap_peer/eap_pwd.c
    functionUses: 0
    functionsReached:
    - be_to_host16
    - wpa_printf
    - os_memcpy
    - wpabuf_put_u8
    - wpabuf_put_data
    - eap_pwd_state
    - os_malloc
    - wpabuf_put_be16
    - wpabuf_alloc
    - get_eap_pwd_group
    - eap_pwd_allowed_group
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: void
    signature: "void eap_pwd_perform_id_exchange(struct eap_sm *sm, struct eap_pwd_data
      *data,\n\t\t\t    struct eap_method_ret *ret,\n\t\t\t    const struct wpabuf
      *reqData,\n\t\t\t    const u8 *payload, size_t payload_len)"
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pwd.c:377,1
    - Dst: crypto_ec_prime_len
      Src: /src/hostap/src/eap_peer/eap_pwd.c:383,1
    - Dst: crypto_ec_order_len
      Src: /src/hostap/src/eap_peer/eap_pwd.c:384,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pwd.c:388,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pwd.c:391,1
    - Dst: eap_pwd_state
      Src: /src/hostap/src/eap_peer/eap_pwd.c:393,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pwd.c:397,1
    - Dst: hash_nt_password_hash
      Src: /src/hostap/src/eap_peer/eap_pwd.c:404,1
    - Dst: nt_password_hash
      Src: /src/hostap/src/eap_peer/eap_pwd.c:408,1
    - Dst: hash_nt_password_hash
      Src: /src/hostap/src/eap_peer/eap_pwd.c:411,1
    - Dst: forced_memzero
      Src: /src/hostap/src/eap_peer/eap_pwd.c:412,1
    - Dst: eap_pwd_state
      Src: /src/hostap/src/eap_peer/eap_pwd.c:416,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pwd.c:425,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pwd.c:428,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pwd.c:434,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_peer/eap_pwd.c:442,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_pwd.c:444,1
    - Dst: sha1_vector
      Src: /src/hostap/src/eap_peer/eap_pwd.c:449,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pwd.c:452,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_peer/eap_pwd.c:458,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pwd.c:462,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pwd.c:465,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pwd.c:471,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_peer/eap_pwd.c:479,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_pwd.c:481,1
    - Dst: sha256_vector
      Src: /src/hostap/src/eap_peer/eap_pwd.c:486,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_peer/eap_pwd.c:492,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pwd.c:497,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pwd.c:500,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pwd.c:506,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_peer/eap_pwd.c:514,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_pwd.c:516,1
    - Dst: sha512_vector
      Src: /src/hostap/src/eap_peer/eap_pwd.c:521,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_peer/eap_pwd.c:527,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pwd.c:532,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pwd.c:535,1
    - Dst: eap_pwd_state
      Src: /src/hostap/src/eap_peer/eap_pwd.c:537,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pwd.c:541,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pwd.c:551,1
    - Dst: eap_pwd_state
      Src: /src/hostap/src/eap_peer/eap_pwd.c:554,1
    - Dst: compute_password_element
      Src: /src/hostap/src/eap_peer/eap_pwd.c:559,1
    - Dst: forced_memzero
      Src: /src/hostap/src/eap_peer/eap_pwd.c:564,1
    - Dst: forced_memzero
      Src: /src/hostap/src/eap_peer/eap_pwd.c:565,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pwd.c:567,1
    - Dst: eap_pwd_state
      Src: /src/hostap/src/eap_peer/eap_pwd.c:568,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pwd.c:572,1
    - Dst: crypto_ec_prime_len_bits
      Src: /src/hostap/src/eap_peer/eap_pwd.c:573,1
    - Dst: crypto_bignum_init
      Src: /src/hostap/src/eap_peer/eap_pwd.c:575,1
    - Dst: crypto_ec_point_init
      Src: /src/hostap/src/eap_peer/eap_pwd.c:576,1
    - Dst: crypto_bignum_init
      Src: /src/hostap/src/eap_peer/eap_pwd.c:577,1
    - Dst: crypto_bignum_init
      Src: /src/hostap/src/eap_peer/eap_pwd.c:578,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pwd.c:581,1
    - Dst: eap_pwd_get_rand_mask
      Src: /src/hostap/src/eap_peer/eap_pwd.c:585,1
    - Dst: crypto_ec_point_mul
      Src: /src/hostap/src/eap_peer/eap_pwd.c:589,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pwd.c:591,1
    - Dst: eap_pwd_state
      Src: /src/hostap/src/eap_peer/eap_pwd.c:593,1
    - Dst: crypto_ec_point_invert
      Src: /src/hostap/src/eap_peer/eap_pwd.c:597,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pwd.c:598,1
    - Dst: crypto_bignum_init
      Src: /src/hostap/src/eap_peer/eap_pwd.c:603,1
    - Dst: crypto_ec_point_init
      Src: /src/hostap/src/eap_peer/eap_pwd.c:604,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pwd.c:606,1
    - Dst: eap_pwd_get_element
      Src: /src/hostap/src/eap_peer/eap_pwd.c:612,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pwd.c:614,1
    - Dst: eap_pwd_get_scalar
      Src: /src/hostap/src/eap_peer/eap_pwd.c:619,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pwd.c:621,1
    - Dst: crypto_ec_point_mul
      Src: /src/hostap/src/eap_peer/eap_pwd.c:627,1
    - Dst: crypto_ec_point_add
      Src: /src/hostap/src/eap_peer/eap_pwd.c:629,1
    - Dst: crypto_ec_point_mul
      Src: /src/hostap/src/eap_peer/eap_pwd.c:631,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pwd.c:633,1
    - Dst: crypto_ec_point_is_at_infinity
      Src: /src/hostap/src/eap_peer/eap_pwd.c:644,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pwd.c:645,1
    - Dst: crypto_ec_point_x
      Src: /src/hostap/src/eap_peer/eap_pwd.c:650,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pwd.c:651,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eap_peer/eap_pwd.c:657,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/eap_pwd.c:661,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/eap_pwd.c:662,1
    - Dst: crypto_bignum_to_bin
      Src: /src/hostap/src/eap_peer/eap_pwd.c:669,1
    - Dst: crypto_ec_point_to_bin
      Src: /src/hostap/src/eap_peer/eap_pwd.c:673,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pwd.c:675,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/eap_peer/eap_pwd.c:680,1
    - Dst: crypto_ec_point_deinit
      Src: /src/hostap/src/eap_peer/eap_pwd.c:681,1
    - Dst: eap_pwd_state
      Src: /src/hostap/src/eap_peer/eap_pwd.c:683,1
    - Dst: eap_pwd_state
      Src: /src/hostap/src/eap_peer/eap_pwd.c:685,1
    CyclomaticComplexity: 73
    EdgeCount: 73
    ICount: 233
    argCount: 6
    argNames:
    - sm
    - data
    - ret
    - reqData
    - payload
    - payload_len
    argTypes:
    - struct eap_sm*
    - struct eap_pwd_data*
    - struct eap_method_ret*
    - struct wpabuf*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 686
    functionName: eap_pwd_perform_commit_exchange
    functionSourceFile: /src/hostap/src/eap_peer/eap_pwd.c
    functionUses: 0
    functionsReached:
    - crypto_bignum_to_bin
    - crypto_ec_point_x
    - wpa_hexdump
    - forced_memzero
    - crypto_ec_point_invert
    - crypto_ec_point_is_at_infinity
    - sha512_vector
    - wpabuf_alloc
    - compute_password_element
    - crypto_ec_point_init
    - crypto_ec_point_add
    - crypto_ec_prime_len
    - hash_nt_password_hash
    - eap_pwd_get_scalar
    - sha256_vector
    - wpa_printf
    - eap_pwd_get_element
    - eap_pwd_state
    - crypto_ec_point_deinit
    - crypto_bignum_deinit
    - nt_password_hash
    - crypto_ec_point_mul
    - crypto_ec_order_len
    - wpa_hexdump_key
    - crypto_bignum_init
    - eap_pwd_get_rand_mask
    - crypto_ec_point_to_bin
    - crypto_ec_prime_len_bits
    - wpabuf_put
    - sha1_vector
    linkageType: ''
    returnType: void
    signature: "void eap_pwd_perform_commit_exchange(struct eap_sm *sm, struct eap_pwd_data
      *data,\n\t\t\t\tstruct eap_method_ret *ret,\n\t\t\t\tconst struct wpabuf *reqData,\n\t\t\t\tconst
      u8 *payload, size_t payload_len)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pwd.c:707,1
    - Dst: crypto_ec_prime_len
      Src: /src/hostap/src/eap_peer/eap_pwd.c:713,1
    - Dst: crypto_ec_order_len
      Src: /src/hostap/src/eap_peer/eap_pwd.c:714,1
    - Dst: htons
      Src: /src/hostap/src/eap_peer/eap_pwd.c:720,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_pwd.c:722,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_peer/eap_pwd.c:729,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pwd.c:731,1
    - Dst: eap_pwd_h_init
      Src: /src/hostap/src/eap_peer/eap_pwd.c:740,1
    - Dst: crypto_bignum_to_bin
      Src: /src/hostap/src/eap_peer/eap_pwd.c:748,1
    - Dst: eap_pwd_h_update
      Src: /src/hostap/src/eap_peer/eap_pwd.c:751,1
    - Dst: crypto_ec_point_to_bin
      Src: /src/hostap/src/eap_peer/eap_pwd.c:754,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pwd.c:756,1
    - Dst: eap_pwd_h_update
      Src: /src/hostap/src/eap_peer/eap_pwd.c:760,1
    - Dst: crypto_bignum_to_bin
      Src: /src/hostap/src/eap_peer/eap_pwd.c:763,1
    - Dst: eap_pwd_h_update
      Src: /src/hostap/src/eap_peer/eap_pwd.c:767,1
    - Dst: crypto_ec_point_to_bin
      Src: /src/hostap/src/eap_peer/eap_pwd.c:770,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pwd.c:772,1
    - Dst: eap_pwd_h_update
      Src: /src/hostap/src/eap_peer/eap_pwd.c:776,1
    - Dst: crypto_bignum_to_bin
      Src: /src/hostap/src/eap_peer/eap_pwd.c:779,1
    - Dst: eap_pwd_h_update
      Src: /src/hostap/src/eap_peer/eap_pwd.c:783,1
    - Dst: eap_pwd_h_update
      Src: /src/hostap/src/eap_peer/eap_pwd.c:786,1
    - Dst: eap_pwd_h_final
      Src: /src/hostap/src/eap_peer/eap_pwd.c:789,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/eap_peer/eap_pwd.c:793,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pwd.c:794,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pwd.c:798,1
    - Dst: eap_pwd_h_init
      Src: /src/hostap/src/eap_peer/eap_pwd.c:805,1
    - Dst: crypto_bignum_to_bin
      Src: /src/hostap/src/eap_peer/eap_pwd.c:810,1
    - Dst: eap_pwd_h_update
      Src: /src/hostap/src/eap_peer/eap_pwd.c:813,1
    - Dst: crypto_ec_point_to_bin
      Src: /src/hostap/src/eap_peer/eap_pwd.c:816,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pwd.c:818,1
    - Dst: eap_pwd_h_update
      Src: /src/hostap/src/eap_peer/eap_pwd.c:822,1
    - Dst: crypto_bignum_to_bin
      Src: /src/hostap/src/eap_peer/eap_pwd.c:825,1
    - Dst: eap_pwd_h_update
      Src: /src/hostap/src/eap_peer/eap_pwd.c:829,1
    - Dst: crypto_ec_point_to_bin
      Src: /src/hostap/src/eap_peer/eap_pwd.c:832,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pwd.c:834,1
    - Dst: eap_pwd_h_update
      Src: /src/hostap/src/eap_peer/eap_pwd.c:838,1
    - Dst: crypto_bignum_to_bin
      Src: /src/hostap/src/eap_peer/eap_pwd.c:841,1
    - Dst: eap_pwd_h_update
      Src: /src/hostap/src/eap_peer/eap_pwd.c:845,1
    - Dst: eap_pwd_h_update
      Src: /src/hostap/src/eap_peer/eap_pwd.c:848,1
    - Dst: eap_pwd_h_final
      Src: /src/hostap/src/eap_peer/eap_pwd.c:851,1
    - Dst: compute_keys
      Src: /src/hostap/src/eap_peer/eap_pwd.c:854,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pwd.c:857,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eap_peer/eap_pwd.c:862,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_peer/eap_pwd.c:866,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/eap_peer/eap_pwd.c:869,1
    - Dst: eap_pwd_state
      Src: /src/hostap/src/eap_peer/eap_pwd.c:873,1
    - Dst: eap_pwd_state
      Src: /src/hostap/src/eap_peer/eap_pwd.c:875,1
    - Dst: eap_pwd_h_final
      Src: /src/hostap/src/eap_peer/eap_pwd.c:880,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 117
    argCount: 6
    argNames:
    - sm
    - data
    - ret
    - reqData
    - payload
    - payload_len
    argTypes:
    - struct eap_sm*
    - struct eap_pwd_data*
    - struct eap_method_ret*
    - struct wpabuf*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 689
    functionDepth: 1
    functionLinenumber: 689
    functionLinenumberEnd: 881
    functionName: eap_pwd_perform_confirm_exchange
    functionSourceFile: /src/hostap/src/eap_peer/eap_pwd.c
    functionUses: 0
    functionsReached:
    - crypto_bignum_to_bin
    - wpa_printf
    - os_memcpy
    - wpabuf_put_data
    - eap_pwd_h_init
    - eap_pwd_h_update
    - os_malloc
    - eap_pwd_state
    - eap_pwd_h_final
    - os_memcmp_const
    - bin_clear_free
    - wpabuf_alloc
    - crypto_ec_point_to_bin
    - crypto_ec_prime_len
    - htons
    - crypto_ec_order_len
    - compute_keys
    linkageType: ''
    returnType: void
    signature: "void eap_pwd_perform_confirm_exchange(struct eap_sm *sm, struct eap_pwd_data
      *data,\n\t\t\t\t struct eap_method_ret *ret,\n\t\t\t\t const struct wpabuf *reqData,\n\t\t\t\t
      const u8 *payload, size_t payload_len)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_peer/eap_pwd.c:895,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pwd.c:897,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pwd.c:921,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pwd.c:924,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_pwd.c:928,1
    - Dst: EAP_PWD_SET_MORE_BIT
      Src: /src/hostap/src/eap_peer/eap_pwd.c:931,1
    - Dst: eap_msg_alloc
      Src: /src/hostap/src/eap_peer/eap_pwd.c:933,1
    - Dst: eap_get_id
      Src: /src/hostap/src/eap_peer/eap_pwd.c:935,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pwd.c:937,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/eap_pwd.c:941,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/eap_peer/eap_pwd.c:942,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_peer/eap_pwd.c:943,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_pwd.c:948,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_pwd.c:949,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pwd.c:953,1
    - Dst: eap_pwd_state
      Src: /src/hostap/src/eap_peer/eap_pwd.c:959,1
    - Dst: EAP_PWD_GET_LENGTH_BIT
      Src: /src/hostap/src/eap_peer/eap_pwd.c:969,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pwd.c:971,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_peer/eap_pwd.c:976,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pwd.c:977,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pwd.c:982,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eap_peer/eap_pwd.c:987,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pwd.c:989,1
    - Dst: EAP_PWD_GET_MORE_BIT
      Src: /src/hostap/src/eap_peer/eap_pwd.c:1000,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pwd.c:1002,1
    - Dst: wpabuf_size
      Src: /src/hostap/src/eap_peer/eap_pwd.c:1009,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pwd.c:1010,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_pwd.c:1013,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_pwd.c:1014,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_peer/eap_pwd.c:1019,1
    - Dst: EAP_PWD_GET_MORE_BIT
      Src: /src/hostap/src/eap_peer/eap_pwd.c:1021,1
    - Dst: eap_msg_alloc
      Src: /src/hostap/src/eap_peer/eap_pwd.c:1022,1
    - Dst: eap_get_id
      Src: /src/hostap/src/eap_peer/eap_pwd.c:1024,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/eap_pwd.c:1026,1
    - Dst: EAP_PWD_GET_EXCHANGE
      Src: /src/hostap/src/eap_peer/eap_pwd.c:1026,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pwd.c:1027,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pwd.c:1035,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/eap_peer/eap_pwd.c:1037,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pwd.c:1040,1
    - Dst: EAP_PWD_GET_EXCHANGE
      Src: /src/hostap/src/eap_peer/eap_pwd.c:1041,1
    - Dst: EAP_PWD_GET_EXCHANGE
      Src: /src/hostap/src/eap_peer/eap_pwd.c:1043,1
    - Dst: eap_pwd_perform_id_exchange
      Src: /src/hostap/src/eap_peer/eap_pwd.c:1045,1
    - Dst: eap_pwd_perform_commit_exchange
      Src: /src/hostap/src/eap_peer/eap_pwd.c:1049,1
    - Dst: eap_pwd_perform_confirm_exchange
      Src: /src/hostap/src/eap_peer/eap_pwd.c:1053,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pwd.c:1057,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_pwd.c:1065,1
    - Dst: EAP_PWD_GET_EXCHANGE
      Src: /src/hostap/src/eap_peer/eap_pwd.c:1079,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_pwd.c:1080,1
    - Dst: eap_msg_alloc
      Src: /src/hostap/src/eap_peer/eap_pwd.c:1082,1
    - Dst: eap_get_id
      Src: /src/hostap/src/eap_peer/eap_pwd.c:1083,1
    - Dst: EAP_PWD_SET_LENGTH_BIT
      Src: /src/hostap/src/eap_peer/eap_pwd.c:1087,1
    - Dst: EAP_PWD_SET_MORE_BIT
      Src: /src/hostap/src/eap_peer/eap_pwd.c:1088,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pwd.c:1094,1
    - Dst: eap_msg_alloc
      Src: /src/hostap/src/eap_peer/eap_pwd.c:1097,1
    - Dst: eap_get_id
      Src: /src/hostap/src/eap_peer/eap_pwd.c:1099,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/eap_pwd.c:1104,1
    - Dst: EAP_PWD_GET_LENGTH_BIT
      Src: /src/hostap/src/eap_peer/eap_pwd.c:1105,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/eap_peer/eap_pwd.c:1106,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/eap_peer/eap_pwd.c:1109,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_peer/eap_pwd.c:1110,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_pwd.c:1115,1
    - Dst: eap_pwd_state
      Src: /src/hostap/src/eap_peer/eap_pwd.c:1121,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 155
    argCount: 4
    argNames:
    - sm
    - priv
    - ret
    - reqData
    argTypes:
    - struct eap_sm*
    - void*
    - struct eap_method_ret*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 884
    functionDepth: 3
    functionLinenumber: 884
    functionLinenumberEnd: 1126
    functionName: eap_pwd_process
    functionSourceFile: /src/hostap/src/eap_peer/eap_pwd.c
    functionUses: 0
    functionsReached:
    - wpabuf_size
    - eap_msg_alloc
    - wpabuf_alloc
    - eap_get_id
    - wpa_printf
    - WPA_GET_BE16
    - wpabuf_put_data
    - eap_pwd_state
    - wpabuf_put_be16
    - EAP_PWD_GET_LENGTH_BIT
    - eap_pwd_perform_confirm_exchange
    - EAP_PWD_SET_MORE_BIT
    - EAP_PWD_GET_EXCHANGE
    - wpabuf_head_u8
    - wpabuf_put_u8
    - wpabuf_len
    - eap_pwd_perform_id_exchange
    - EAP_PWD_SET_LENGTH_BIT
    - eap_pwd_perform_commit_exchange
    - wpabuf_free
    - EAP_PWD_GET_MORE_BIT
    - eap_hdr_validate
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf *\neap_pwd_process(struct eap_sm *sm, void *priv, struct
      eap_method_ret *ret,\n\t\tconst struct wpabuf *reqData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1129
    functionDepth: 0
    functionLinenumber: 1129
    functionLinenumberEnd: 1133
    functionName: eap_pwd_key_available
    functionSourceFile: /src/hostap/src/eap_peer/eap_pwd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool eap_pwd_key_available(struct eap_sm *sm, void *priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/eap_peer/eap_pwd.c:1144,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_pwd.c:1147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1151
      start: 1136
    functionDepth: 0
    functionLinenumber: 1136
    functionLinenumberEnd: 1151
    functionName: eap_pwd_get_emsk
    functionSourceFile: /src/hostap/src/eap_peer/eap_pwd.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - os_malloc
    linkageType: ''
    returnType: u8
    signature: u8 * eap_pwd_get_emsk(struct eap_sm *sm, void *priv, size_t *len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_peer_method_alloc
      Src: /src/hostap/src/eap_peer/eap_pwd.c:1158,1
    - Dst: eap_peer_method_register
      Src: /src/hostap/src/eap_peer/eap_pwd.c:1171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1172
      start: 1154
    functionDepth: 0
    functionLinenumber: 1154
    functionLinenumberEnd: 1172
    functionName: eap_peer_pwd_register
    functionSourceFile: /src/hostap/src/eap_peer/eap_pwd.c
    functionUses: 1
    functionsReached:
    - eap_peer_method_register
    - eap_peer_method_alloc
    linkageType: ''
    returnType: int
    signature: int eap_peer_pwd_register(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - state
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 53
    functionName: eap_sake_state_txt
    functionSourceFile: /src/hostap/src/eap_peer/eap_sake.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * eap_sake_state_txt(int state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sake.c:58,1
    - Dst: eap_sake_state_txt
      Src: /src/hostap/src/eap_peer/eap_sake.c:59,1
    - Dst: eap_sake_state_txt
      Src: /src/hostap/src/eap_peer/eap_sake.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - state
    argTypes:
    - struct eap_sake_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: eap_sake_state
    functionSourceFile: /src/hostap/src/eap_peer/eap_sake.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_sake_state_txt
    linkageType: ''
    returnType: void
    signature: void eap_sake_state(struct eap_sake_data *data, int state)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: eap_get_config_password
      Src: /src/hostap/src/eap_peer/eap_sake.c:74,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sake.c:76,1
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_peer/eap_sake.c:81,1
    - Dst: eap_get_config_identity
      Src: /src/hostap/src/eap_peer/eap_sake.c:86,1
    - Dst: os_memdup
      Src: /src/hostap/src/eap_peer/eap_sake.c:88,1
    - Dst: eap_sake_deinit
      Src: /src/hostap/src/eap_peer/eap_sake.c:90,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_sake.c:96,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_sake.c:97,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 102
    functionName: eap_sake_init
    functionSourceFile: /src/hostap/src/eap_peer/eap_sake.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - os_memdup
    - eap_get_config_identity
    - os_zalloc
    - eap_sake_deinit
    - eap_get_config_password
    linkageType: ''
    returnType: void
    signature: void * eap_sake_init(struct eap_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_sake.c:108,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_sake.c:109,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/eap_peer/eap_sake.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 111
    functionName: eap_sake_deinit
    functionSourceFile: /src/hostap/src/eap_peer/eap_sake.c
    functionUses: 1
    functionsReached:
    - os_free
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: void eap_sake_deinit(struct eap_sm *sm, void *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_msg_alloc
      Src: /src/hostap/src/eap_peer/eap_sake.c:123,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sake.c:126,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/eap_sake.c:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - data
    - id
    - length
    - subtype
    argTypes:
    - struct eap_sake_data*
    - int
    - size_t
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 137
    functionName: eap_sake_build_msg
    functionSourceFile: /src/hostap/src/eap_peer/eap_sake.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_msg_alloc
    - wpabuf_put
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_sake_build_msg(struct eap_sake_data *data,\n\t\t\t\t\t
      \ int id, size_t length, u8 subtype)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sake.c:155,1
    - Dst: eap_sake_parse_attributes
      Src: /src/hostap/src/eap_peer/eap_sake.c:157,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sake.c:161,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sake.c:166,1
    - Dst: eap_sake_build_msg
      Src: /src/hostap/src/eap_peer/eap_sake.c:168,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sake.c:173,1
    - Dst: eap_sake_add_attr
      Src: /src/hostap/src/eap_peer/eap_sake.c:174,1
    - Dst: eap_sake_state
      Src: /src/hostap/src/eap_peer/eap_sake.c:177,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 6
    argNames:
    - sm
    - data
    - ret
    - id
    - payload
    - payload_len
    argTypes:
    - struct eap_sm*
    - struct eap_sake_data*
    - struct eap_method_ret*
    - u8
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 180
    functionName: eap_sake_process_identity
    functionSourceFile: /src/hostap/src/eap_peer/eap_sake.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_sake_build_msg
    - eap_sake_parse_attributes
    - eap_sake_state
    - eap_sake_add_attr
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_sake_process_identity(struct eap_sm *sm,\n\t\t\t\t\t\t
      struct eap_sake_data *data,\n\t\t\t\t\t\t struct eap_method_ret *ret,\n\t\t\t\t\t\t
      u8 id,\n\t\t\t\t\t\t const u8 *payload,\n\t\t\t\t\t\t size_t payload_len)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sake.c:196,1
    - Dst: eap_sake_state
      Src: /src/hostap/src/eap_peer/eap_sake.c:202,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sake.c:204,1
    - Dst: eap_sake_parse_attributes
      Src: /src/hostap/src/eap_peer/eap_sake.c:206,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sake.c:210,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_sake.c:215,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_sake.c:216,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/eap_peer/eap_sake.c:219,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sake.c:220,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_sake.c:223,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_sake.c:226,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_peer/eap_sake.c:230,1
    - Dst: os_memdup
      Src: /src/hostap/src/eap_peer/eap_sake.c:232,1
    - Dst: eap_sake_derive_keys
      Src: /src/hostap/src/eap_peer/eap_sake.c:238,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sake.c:242,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sake.c:246,1
    - Dst: eap_sake_build_msg
      Src: /src/hostap/src/eap_peer/eap_sake.c:251,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sake.c:255,1
    - Dst: eap_sake_add_attr
      Src: /src/hostap/src/eap_peer/eap_sake.c:256,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sake.c:260,1
    - Dst: eap_sake_add_attr
      Src: /src/hostap/src/eap_peer/eap_sake.c:261,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sake.c:265,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/eap_sake.c:266,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/eap_sake.c:267,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/eap_sake.c:268,1
    - Dst: eap_sake_compute_mic
      Src: /src/hostap/src/eap_peer/eap_sake.c:269,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_peer/eap_sake.c:272,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_sake.c:272,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sake.c:274,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_sake.c:275,1
    - Dst: eap_sake_state
      Src: /src/hostap/src/eap_peer/eap_sake.c:279,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 60
    argCount: 6
    argNames:
    - sm
    - data
    - ret
    - id
    - payload
    - payload_len
    argTypes:
    - struct eap_sm*
    - struct eap_sake_data*
    - struct eap_method_ret*
    - u8
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 282
    functionName: eap_sake_process_challenge
    functionSourceFile: /src/hostap/src/eap_peer/eap_sake.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - random_get_bytes
    - eap_sake_derive_keys
    - wpa_hexdump
    - eap_sake_build_msg
    - eap_sake_parse_attributes
    - os_memdup
    - wpabuf_put_u8
    - wpabuf_put
    - eap_sake_compute_mic
    - wpabuf_len
    - wpabuf_free
    - wpabuf_head
    - eap_sake_state
    - eap_sake_add_attr
    - os_free
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_sake_process_challenge(struct eap_sm *sm,\n\t\t\t\t\t\t
      \ struct eap_sake_data *data,\n\t\t\t\t\t\t  struct eap_method_ret *ret,\n\t\t\t\t\t\t
      \ u8 id,\n\t\t\t\t\t\t  const u8 *payload,\n\t\t\t\t\t\t  size_t payload_len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sake.c:303,1
    - Dst: eap_sake_parse_attributes
      Src: /src/hostap/src/eap_peer/eap_sake.c:305,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sake.c:309,1
    - Dst: eap_sake_compute_mic
      Src: /src/hostap/src/eap_peer/eap_sake.c:314,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_peer/eap_sake.c:317,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_sake.c:317,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sake.c:319,1
    - Dst: eap_sake_state
      Src: /src/hostap/src/eap_peer/eap_sake.c:320,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sake.c:324,1
    - Dst: eap_sake_build_msg
      Src: /src/hostap/src/eap_peer/eap_sake.c:325,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/eap_peer/eap_sake.c:328,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sake.c:329,1
    - Dst: eap_sake_state
      Src: /src/hostap/src/eap_peer/eap_sake.c:330,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sake.c:334,1
    - Dst: eap_sake_build_msg
      Src: /src/hostap/src/eap_peer/eap_sake.c:336,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sake.c:340,1
    - Dst: eap_sake_build_msg
      Src: /src/hostap/src/eap_peer/eap_sake.c:342,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sake.c:347,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/eap_sake.c:348,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/eap_sake.c:349,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/eap_sake.c:350,1
    - Dst: eap_sake_compute_mic
      Src: /src/hostap/src/eap_peer/eap_sake.c:351,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_peer/eap_sake.c:354,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_sake.c:354,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sake.c:356,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_sake.c:357,1
    - Dst: eap_sake_state
      Src: /src/hostap/src/eap_peer/eap_sake.c:361,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 48
    argCount: 7
    argNames:
    - sm
    - data
    - ret
    - id
    - reqData
    - payload
    - payload_len
    argTypes:
    - struct eap_sm*
    - struct eap_sake_data*
    - struct eap_method_ret*
    - u8
    - struct wpabuf*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 367
    functionName: eap_sake_process_confirm
    functionSourceFile: /src/hostap/src/eap_peer/eap_sake.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put
    - eap_sake_build_msg
    - wpabuf_put_u8
    - eap_sake_parse_attributes
    - eap_sake_compute_mic
    - wpabuf_len
    - wpabuf_free
    - wpabuf_head
    - os_memcmp_const
    - eap_sake_state
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_sake_process_confirm(struct eap_sm *sm,\n\t\t\t\t\t\tstruct
      eap_sake_data *data,\n\t\t\t\t\t\tstruct eap_method_ret *ret,\n\t\t\t\t\t\tu8
      id,\n\t\t\t\t\t\tconst struct wpabuf *reqData,\n\t\t\t\t\t\tconst u8 *payload,\n\t\t\t\t\t\tsize_t
      payload_len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_peer/eap_sake.c:381,1
    - Dst: eap_get_id
      Src: /src/hostap/src/eap_peer/eap_sake.c:389,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sake.c:394,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_sake.c:396,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sake.c:400,1
    - Dst: eap_sake_process_identity
      Src: /src/hostap/src/eap_peer/eap_sake.c:415,1
    - Dst: eap_sake_process_challenge
      Src: /src/hostap/src/eap_peer/eap_sake.c:419,1
    - Dst: eap_sake_process_confirm
      Src: /src/hostap/src/eap_peer/eap_sake.c:423,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sake.c:427,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 4
    argNames:
    - sm
    - priv
    - ret
    - reqData
    argTypes:
    - struct eap_sm*
    - void*
    - struct eap_method_ret*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 437
    functionName: eap_sake_process
    functionSourceFile: /src/hostap/src/eap_peer/eap_sake.c
    functionUses: 0
    functionsReached:
    - eap_sake_process_identity
    - eap_get_id
    - wpa_printf
    - wpa_hexdump
    - eap_sake_process_challenge
    - eap_sake_process_confirm
    - eap_hdr_validate
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_sake_process(struct eap_sm *sm, void *priv,\n\t\t\t\t\tstruct
      eap_method_ret *ret,\n\t\t\t\t\tconst struct wpabuf *reqData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 444
    functionName: eap_sake_isKeyAvailable
    functionSourceFile: /src/hostap/src/eap_peer/eap_sake.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool eap_sake_isKeyAvailable(struct eap_sm *sm, void *priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memdup
      Src: /src/hostap/src/eap_peer/eap_sake.c:455,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 461
    functionName: eap_sake_getKey
    functionSourceFile: /src/hostap/src/eap_peer/eap_sake.c
    functionUses: 0
    functionsReached:
    - os_memdup
    linkageType: ''
    returnType: u8
    signature: u8 * eap_sake_getKey(struct eap_sm *sm, void *priv, size_t *len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/eap_peer/eap_sake.c:473,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_sake.c:478,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_sake.c:479,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_sake.c:480,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 483
    functionName: eap_sake_get_session_id
    functionSourceFile: /src/hostap/src/eap_peer/eap_sake.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - os_malloc
    - wpa_hexdump
    linkageType: ''
    returnType: u8
    signature: u8 * eap_sake_get_session_id(struct eap_sm *sm, void *priv, size_t
      *len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memdup
      Src: /src/hostap/src/eap_peer/eap_sake.c:494,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 500
    functionName: eap_sake_get_emsk
    functionSourceFile: /src/hostap/src/eap_peer/eap_sake.c
    functionUses: 0
    functionsReached:
    - os_memdup
    linkageType: ''
    returnType: u8
    signature: u8 * eap_sake_get_emsk(struct eap_sm *sm, void *priv, size_t *len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_peer_method_alloc
      Src: /src/hostap/src/eap_peer/eap_sake.c:507,1
    - Dst: eap_peer_method_register
      Src: /src/hostap/src/eap_peer/eap_sake.c:520,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 521
    functionName: eap_peer_sake_register
    functionSourceFile: /src/hostap/src/eap_peer/eap_sake.c
    functionUses: 1
    functionsReached:
    - eap_peer_method_register
    - eap_peer_method_alloc
    linkageType: ''
    returnType: int
    signature: int eap_peer_sake_register(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:81,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:85,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:89,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_fast.c:97,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:100,1
    - Dst: eap_fast_derive_master_secret
      Src: /src/hostap/src/eap_peer/eap_fast.c:106,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 6
    argNames:
    - ctx
    - ticket
    - len
    - client_random
    - server_random
    - master_secret
    argTypes:
    - void*
    - u8*
    - size_t
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 113
    functionName: eap_fast_session_ticket_cb
    functionSourceFile: /src/hostap/src/eap_peer/eap_fast.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_fast_derive_master_secret
    - wpa_hexdump
    linkageType: ''
    returnType: int
    signature: "int eap_fast_session_ticket_cb(void *ctx, const u8 *ticket, size_t
      len,\n\t\t\t\t      const u8 *client_random,\n\t\t\t\t      const u8 *server_random,\n\t\t\t\t
      \     u8 *master_secret)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/eap_fast.c:121,1
    - Dst: atoi
      Src: /src/hostap/src/eap_peer/eap_fast.c:123,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:124,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/eap_fast.c:128,1
    - Dst: atoi
      Src: /src/hostap/src/eap_peer/eap_fast.c:130,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:133,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/eap_fast.c:137,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:140,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - data
    - phase1
    argTypes:
    - struct eap_fast_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 143
    functionName: eap_fast_parse_phase1
    functionSourceFile: /src/hostap/src/eap_peer/eap_fast.c
    functionUses: 0
    functionsReached:
    - os_strstr
    - atoi
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: "void eap_fast_parse_phase1(struct eap_fast_data *data,\n\t\t\t\t  const
      char *phase1)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: eap_get_config
      Src: /src/hostap/src/eap_peer/eap_fast.c:149,1
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_peer/eap_fast.c:154,1
    - Dst: eap_fast_parse_phase1
      Src: /src/hostap/src/eap_peer/eap_fast.c:161,1
    - Dst: eap_peer_select_phase2_methods
      Src: /src/hostap/src/eap_peer/eap_fast.c:163,1
    - Dst: eap_fast_deinit
      Src: /src/hostap/src/eap_peer/eap_fast.c:166,1
    - Dst: eap_peer_tls_ssl_init
      Src: /src/hostap/src/eap_peer/eap_fast.c:173,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:174,1
    - Dst: eap_fast_deinit
      Src: /src/hostap/src/eap_peer/eap_fast.c:175,1
    - Dst: tls_connection_set_session_ticket_cb
      Src: /src/hostap/src/eap_peer/eap_fast.c:179,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:182,1
    - Dst: eap_fast_deinit
      Src: /src/hostap/src/eap_peer/eap_fast.c:184,1
    - Dst: tls_connection_enable_workaround
      Src: /src/hostap/src/eap_peer/eap_fast.c:193,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:194,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:199,1
    - Dst: eap_fast_deinit
      Src: /src/hostap/src/eap_peer/eap_fast.c:200,1
    - Dst: eap_fast_load_pac_bin
      Src: /src/hostap/src/eap_peer/eap_fast.c:205,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:206,1
    - Dst: eap_fast_deinit
      Src: /src/hostap/src/eap_peer/eap_fast.c:207,1
    - Dst: eap_fast_load_pac
      Src: /src/hostap/src/eap_peer/eap_fast.c:212,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:213,1
    - Dst: eap_fast_deinit
      Src: /src/hostap/src/eap_peer/eap_fast.c:214,1
    - Dst: eap_fast_pac_list_truncate
      Src: /src/hostap/src/eap_peer/eap_fast.c:217,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:220,1
    - Dst: eap_fast_deinit
      Src: /src/hostap/src/eap_peer/eap_fast.c:222,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 51
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 227
    functionName: eap_fast_init
    functionSourceFile: /src/hostap/src/eap_peer/eap_fast.c
    functionUses: 0
    functionsReached:
    - eap_get_config
    - tls_connection_set_session_ticket_cb
    - wpa_printf
    - tls_connection_enable_workaround
    - eap_peer_select_phase2_methods
    - eap_fast_deinit
    - eap_fast_pac_list_truncate
    - eap_fast_parse_phase1
    - os_zalloc
    - eap_fast_load_pac
    - eap_peer_tls_ssl_init
    - eap_fast_load_pac_bin
    linkageType: ''
    returnType: void
    signature: void * eap_fast_init(struct eap_sm *sm)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct eap_fast_data*::phase2_method::deinit
      Src: /src/hostap/src/eap_peer/eap_fast.c:238,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_fast.c:239,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_fast.c:240,1
    - Dst: eap_peer_tls_ssl_deinit
      Src: /src/hostap/src/eap_peer/eap_fast.c:241,1
    - Dst: eap_fast_free_pac
      Src: /src/hostap/src/eap_peer/eap_fast.c:248,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_peer/eap_fast.c:250,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_peer/eap_fast.c:251,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_fast.c:252,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/eap_peer/eap_fast.c:253,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/eap_peer/eap_fast.c:254,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_fast.c:255,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 256
    functionName: eap_fast_deinit
    functionSourceFile: /src/hostap/src/eap_peer/eap_fast.c
    functionUses: 1
    functionsReached:
    - struct eap_fast_data*::phase2_method::deinit
    - eap_fast_free_pac
    - wpabuf_clear_free
    - os_free
    - eap_peer_tls_ssl_deinit
    - os_memset
    linkageType: ''
    returnType: void
    signature: void eap_fast_deinit(struct eap_sm *sm, void *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_fast_derive_eap_msk
      Src: /src/hostap/src/eap_peer/eap_fast.c:261,1
    - Dst: eap_fast_derive_eap_emsk
      Src: /src/hostap/src/eap_peer/eap_fast.c:262,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct eap_fast_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 266
    functionName: eap_fast_derive_msk
    functionSourceFile: /src/hostap/src/eap_peer/eap_fast.c
    functionUses: 0
    functionsReached:
    - eap_fast_derive_eap_msk
    - eap_fast_derive_eap_emsk
    linkageType: ''
    returnType: int
    signature: int eap_fast_derive_msk(struct eap_fast_data *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_fast_derive_key
      Src: /src/hostap/src/eap_peer/eap_fast.c:278,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:281,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_peer/eap_fast.c:290,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_fast.c:294,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_fast.c:295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - sm
    - data
    argTypes:
    - struct eap_sm*
    - struct eap_fast_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 297
    functionName: eap_fast_derive_key_auth
    functionSourceFile: /src/hostap/src/eap_peer/eap_fast.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_printf
    - wpa_hexdump_key
    - os_free
    - eap_fast_derive_key
    linkageType: ''
    returnType: int
    signature: "int eap_fast_derive_key_auth(struct eap_sm *sm,\n\t\t\t\t    struct
      eap_fast_data *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_fast.c:303,1
    - Dst: eap_fast_derive_key
      Src: /src/hostap/src/eap_peer/eap_fast.c:305,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:308,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_peer/eap_fast.c:315,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_fast.c:320,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_peer/eap_fast.c:322,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_peer/eap_fast.c:325,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - sm
    - data
    argTypes:
    - struct eap_sm*
    - struct eap_fast_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 329
    functionName: eap_fast_derive_key_provisioning
    functionSourceFile: /src/hostap/src/eap_peer/eap_fast.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_printf
    - wpa_hexdump_key
    - os_free
    - eap_fast_derive_key
    linkageType: ''
    returnType: int
    signature: "int eap_fast_derive_key_provisioning(struct eap_sm *sm,\n\t\t\t\t\t
      \   struct eap_fast_data *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_fast_derive_key_provisioning
      Src: /src/hostap/src/eap_peer/eap_fast.c:337,1
    - Dst: eap_fast_derive_key_auth
      Src: /src/hostap/src/eap_peer/eap_fast.c:339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - sm
    - data
    argTypes:
    - struct eap_sm*
    - struct eap_fast_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 341
    functionName: eap_fast_derive_keys
    functionSourceFile: /src/hostap/src/eap_peer/eap_fast.c
    functionUses: 0
    functionsReached:
    - eap_fast_derive_key_provisioning
    - eap_fast_derive_key_auth
    linkageType: ''
    returnType: int
    signature: int eap_fast_derive_keys(struct eap_sm *sm, struct eap_fast_data *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eap_peer_get_eap_method
      Src: /src/hostap/src/eap_peer/eap_fast.c:348,1
    - Dst: struct eap_fast_data*::phase2_method::init
      Src: /src/hostap/src/eap_peer/eap_fast.c:359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - sm
    - data
    argTypes:
    - struct eap_sm*
    - struct eap_fast_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 365
    functionName: eap_fast_init_phase2_method
    functionSourceFile: /src/hostap/src/eap_peer/eap_fast.c
    functionUses: 0
    functionsReached:
    - struct eap_fast_data*::phase2_method::init
    - eap_peer_get_eap_method
    linkageType: ''
    returnType: int
    signature: "int eap_fast_init_phase2_method(struct eap_sm *sm,\n\t\t\t\t       struct
      eap_fast_data *data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:378,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:388,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:403,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 22
    argCount: 3
    argNames:
    - data
    - vendor
    - type
    argTypes:
    - struct eap_fast_data*
    - int
    - enum eap_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 416
    functionName: eap_fast_select_phase2_method
    functionSourceFile: /src/hostap/src/eap_peer/eap_fast.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int eap_fast_select_phase2_method(struct eap_fast_data *data,\n\t\t\t\t\t
      int vendor, enum eap_type type)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: be_to_host16
      Src: /src/hostap/src/eap_peer/eap_fast.c:425,1
    - Dst: eap_get_config
      Src: /src/hostap/src/eap_peer/eap_fast.c:428,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:434,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:442,1
    - Dst: WPA_GET_BE24
      Src: /src/hostap/src/eap_peer/eap_fast.c:447,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/eap_peer/eap_fast.c:448,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:450,1
    - Dst: eap_sm_buildIdentity
      Src: /src/hostap/src/eap_peer/eap_fast.c:453,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:460,1
    - Dst: struct eap_fast_data*::phase2_method::deinit
      Src: /src/hostap/src/eap_peer/eap_fast.c:462,1
    - Dst: eap_fast_select_phase2_method
      Src: /src/hostap/src/eap_peer/eap_fast.c:471,1
    - Dst: eap_peer_tls_phase2_nak
      Src: /src/hostap/src/eap_peer/eap_fast.c:472,1
    - Dst: eap_fast_init_phase2_method
      Src: /src/hostap/src/eap_peer/eap_fast.c:480,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:482,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_peer/eap_fast.c:490,1
    - Dst: wpabuf_set
      Src: /src/hostap/src/eap_peer/eap_fast.c:491,1
    - Dst: struct eap_fast_data*::phase2_method::process
      Src: /src/hostap/src/eap_peer/eap_fast.c:492,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/eap_peer/eap_fast.c:510,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/eap_peer/eap_fast.c:511,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 56
    argCount: 5
    argNames:
    - sm
    - data
    - ret
    - hdr
    - resp
    argTypes:
    - struct eap_sm*
    - struct eap_fast_data*
    - struct eap_method_ret*
    - struct eap_hdr*
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 419
    functionDepth: 2
    functionLinenumber: 419
    functionLinenumberEnd: 516
    functionName: eap_fast_phase2_request
    functionSourceFile: /src/hostap/src/eap_peer/eap_fast.c
    functionUses: 0
    functionsReached:
    - be_to_host16
    - eap_get_config
    - wpa_printf
    - eap_fast_init_phase2_method
    - eap_sm_buildIdentity
    - struct eap_fast_data*::phase2_method::deinit
    - os_memset
    - wpabuf_alloc_copy
    - wpabuf_set
    - WPA_GET_BE24
    - struct eap_fast_data*::phase2_method::process
    - wpabuf_clear_free
    - eap_fast_select_phase2_method
    - WPA_GET_BE32
    - eap_peer_tls_phase2_nak
    linkageType: ''
    returnType: int
    signature: "int eap_fast_phase2_request(struct eap_sm *sm,\n\t\t\t\t   struct
      eap_fast_data *data,\n\t\t\t\t   struct eap_method_ret *ret,\n\t\t\t\t   struct
      eap_hdr *hdr,\n\t\t\t\t   struct wpabuf **resp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eap_peer/eap_fast.c:523,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/eap_fast.c:526,1
    - Dst: host_to_be16
      Src: /src/hostap/src/eap_peer/eap_fast.c:527,1
    - Dst: host_to_be16
      Src: /src/hostap/src/eap_peer/eap_fast.c:528,1
    - Dst: host_to_be32
      Src: /src/hostap/src/eap_peer/eap_fast.c:529,1
    - Dst: host_to_be16
      Src: /src/hostap/src/eap_peer/eap_fast.c:530,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - vendor_id
    - tlv_type
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 532
    functionName: eap_fast_tlv_nak
    functionSourceFile: /src/hostap/src/eap_peer/eap_fast.c
    functionUses: 0
    functionsReached:
    - host_to_be16
    - host_to_be32
    - wpabuf_alloc
    - wpabuf_put
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * eap_fast_tlv_nak(int vendor_id, int tlv_type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eap_peer/eap_fast.c:539,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:542,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/eap_fast.c:544,1
    - Dst: host_to_be16
      Src: /src/hostap/src/eap_peer/eap_fast.c:545,1
    - Dst: host_to_be16
      Src: /src/hostap/src/eap_peer/eap_fast.c:549,1
    - Dst: host_to_be16
      Src: /src/hostap/src/eap_peer/eap_fast.c:550,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - status
    - intermediate
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 535
    functionDepth: 1
    functionLinenumber: 535
    functionLinenumberEnd: 552
    functionName: eap_fast_tlv_result
    functionSourceFile: /src/hostap/src/eap_peer/eap_fast.c
    functionUses: 0
    functionsReached:
    - host_to_be16
    - wpabuf_alloc
    - wpa_printf
    - wpabuf_put
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * eap_fast_tlv_result(int status, int intermediate)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eap_peer/eap_fast.c:561,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:565,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/eap_fast.c:566,1
    - Dst: host_to_be16
      Src: /src/hostap/src/eap_peer/eap_fast.c:567,1
    - Dst: host_to_be16
      Src: /src/hostap/src/eap_peer/eap_fast.c:569,1
    - Dst: host_to_be16
      Src: /src/hostap/src/eap_peer/eap_fast.c:570,1
    - Dst: host_to_be16
      Src: /src/hostap/src/eap_peer/eap_fast.c:571,1
    - Dst: host_to_be16
      Src: /src/hostap/src/eap_peer/eap_fast.c:572,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 555
    functionDepth: 1
    functionLinenumber: 555
    functionLinenumberEnd: 575
    functionName: eap_fast_tlv_pac_ack
    functionSourceFile: /src/hostap/src/eap_peer/eap_fast.c
    functionUses: 0
    functionsReached:
    - host_to_be16
    - wpabuf_alloc
    - wpa_printf
    - wpabuf_put
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * eap_fast_tlv_pac_ack(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:587,1
    - Dst: be_to_host16
      Src: /src/hostap/src/eap_peer/eap_fast.c:594,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:595,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:601,1
    - Dst: eap_fast_phase2_request
      Src: /src/hostap/src/eap_peer/eap_fast.c:606,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:607,1
    - Dst: eap_fast_tlv_eap_payload
      Src: /src/hostap/src/eap_peer/eap_fast.c:612,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 5
    argNames:
    - sm
    - data
    - ret
    - eap_payload_tlv
    - eap_payload_tlv_len
    argTypes:
    - struct eap_sm*
    - struct eap_fast_data*
    - struct eap_method_ret*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 578
    functionDepth: 3
    functionLinenumber: 578
    functionLinenumberEnd: 613
    functionName: eap_fast_process_eap_payload_tlv
    functionSourceFile: /src/hostap/src/eap_peer/eap_fast.c
    functionUses: 0
    functionsReached:
    - be_to_host16
    - wpa_printf
    - eap_fast_phase2_request
    - eap_fast_tlv_eap_payload
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_fast_process_eap_payload_tlv(\n\tstruct eap_sm
      *sm, struct eap_fast_data *data,\n\tstruct eap_method_ret *ret,\n\tu8 *eap_payload_tlv,
      size_t eap_payload_tlv_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:619,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_fast.c:622,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_fast.c:624,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:630,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - _bind
    argTypes:
    - struct eap_tlv_crypto_binding_tlv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 639
    functionName: eap_fast_validate_crypto_binding
    functionSourceFile: /src/hostap/src/eap_peer/eap_fast.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    linkageType: ''
    returnType: int
    signature: "int eap_fast_validate_crypto_binding(\n\tstruct eap_tlv_crypto_binding_tlv
      *_bind)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: host_to_be16
      Src: /src/hostap/src/eap_peer/eap_fast.c:646,1
    - Dst: host_to_be16
      Src: /src/hostap/src/eap_peer/eap_fast.c:648,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_fast.c:653,1
    - Dst: inc_byte_array
      Src: /src/hostap/src/eap_peer/eap_fast.c:654,1
    - Dst: hmac_sha1
      Src: /src/hostap/src/eap_peer/eap_fast.c:655,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:658,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_fast.c:661,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_fast.c:663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - rbind
    - _bind
    - cmk
    argTypes:
    - struct eap_tlv_crypto_binding_tlv*
    - struct eap_tlv_crypto_binding_tlv*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 642
    functionDepth: 1
    functionLinenumber: 642
    functionLinenumberEnd: 665
    functionName: eap_fast_write_crypto_binding
    functionSourceFile: /src/hostap/src/eap_peer/eap_fast.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_printf
    - inc_byte_array
    - wpa_hexdump
    - host_to_be16
    - hmac_sha1
    linkageType: ''
    returnType: void
    signature: "void eap_fast_write_crypto_binding(\n\tstruct eap_tlv_crypto_binding_tlv
      *rbind,\n\tstruct eap_tlv_crypto_binding_tlv *_bind, const u8 *cmk)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/eap_peer/eap_fast.c:675,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:678,1
    - Dst: struct eap_fast_data*::phase2_method::isKeyAvailable
      Src: /src/hostap/src/eap_peer/eap_fast.c:687,1
    - Dst: struct eap_fast_data*::phase2_method::getKey
      Src: /src/hostap/src/eap_peer/eap_fast.c:688,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:690,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_fast.c:697,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_fast.c:698,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 4
    argNames:
    - sm
    - data
    - isk
    - isk_len
    argTypes:
    - struct eap_sm*
    - struct eap_fast_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 701
    functionName: eap_fast_get_phase2_key
    functionSourceFile: /src/hostap/src/eap_peer/eap_fast.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_printf
    - struct eap_fast_data*::phase2_method::getKey
    - os_free
    - struct eap_fast_data*::phase2_method::isKeyAvailable
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int eap_fast_get_phase2_key(struct eap_sm *sm,\n\t\t\t\t   struct
      eap_fast_data *data,\n\t\t\t\t   u8 *isk, size_t isk_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:709,1
    - Dst: eap_fast_get_phase2_key
      Src: /src/hostap/src/eap_peer/eap_fast.c:720,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_peer/eap_fast.c:722,1
    - Dst: sha1_t_prf
      Src: /src/hostap/src/eap_peer/eap_fast.c:723,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_fast.c:728,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_peer/eap_fast.c:729,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_fast.c:731,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_peer/eap_fast.c:732,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - sm
    - data
    - cmk
    argTypes:
    - struct eap_sm*
    - struct eap_fast_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 704
    functionDepth: 1
    functionLinenumber: 704
    functionLinenumberEnd: 736
    functionName: eap_fast_get_cmk
    functionSourceFile: /src/hostap/src/eap_peer/eap_fast.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_printf
    - wpa_hexdump_key
    - eap_fast_get_phase2_key
    - sha1_t_prf
    linkageType: ''
    returnType: int
    signature: "int eap_fast_get_cmk(struct eap_sm *sm, struct eap_fast_data *data,\n\t\t\t
      \   u8 *cmk)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: host_to_be16
      Src: /src/hostap/src/eap_peer/eap_fast.c:746,1
    - Dst: host_to_be16
      Src: /src/hostap/src/eap_peer/eap_fast.c:747,1
    - Dst: host_to_be16
      Src: /src/hostap/src/eap_peer/eap_fast.c:748,1
    - Dst: host_to_be16
      Src: /src/hostap/src/eap_peer/eap_fast.c:751,1
    - Dst: host_to_be16
      Src: /src/hostap/src/eap_peer/eap_fast.c:752,1
    - Dst: host_to_be16
      Src: /src/hostap/src/eap_peer/eap_fast.c:755,1
    - Dst: host_to_be16
      Src: /src/hostap/src/eap_peer/eap_fast.c:756,1
    - Dst: host_to_be16
      Src: /src/hostap/src/eap_peer/eap_fast.c:757,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - pos
    - pac_type
    argTypes:
    - u8*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 739
    functionDepth: 1
    functionLinenumber: 739
    functionLinenumberEnd: 760
    functionName: eap_fast_write_pac_request
    functionSourceFile: /src/hostap/src/eap_peer/eap_fast.c
    functionUses: 0
    functionsReached:
    - host_to_be16
    linkageType: ''
    returnType: u8
    signature: u8 * eap_fast_write_pac_request(u8 *pos, u16 pac_type)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: eap_fast_validate_crypto_binding
      Src: /src/hostap/src/eap_peer/eap_fast.c:774,1
    - Dst: eap_fast_get_cmk
      Src: /src/hostap/src/eap_peer/eap_fast.c:777,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_fast.c:781,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_peer/eap_fast.c:782,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_fast.c:783,1
    - Dst: hmac_sha1
      Src: /src/hostap/src/eap_peer/eap_fast.c:785,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/eap_peer/eap_fast.c:787,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_fast.c:788,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_fast.c:790,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:793,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_fast.c:794,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eap_peer/eap_fast.c:804,1
    - Dst: eap_fast_derive_msk
      Src: /src/hostap/src/eap_peer/eap_fast.c:809,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:810,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/eap_peer/eap_fast.c:814,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_fast.c:819,1
    - Dst: eap_peer_tls_derive_session_id
      Src: /src/hostap/src/eap_peer/eap_fast.c:820,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_fast.c:823,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:826,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/eap_peer/eap_fast.c:828,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/eap_fast.c:833,1
    - Dst: eap_fast_write_crypto_binding
      Src: /src/hostap/src/eap_peer/eap_fast.c:834,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 5
    argNames:
    - sm
    - data
    - ret
    - _bind
    - bind_len
    argTypes:
    - struct eap_sm*
    - struct eap_fast_data*
    - struct eap_method_ret*
    - struct eap_tlv_crypto_binding_tlv*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 763
    functionDepth: 2
    functionLinenumber: 763
    functionLinenumberEnd: 838
    functionName: eap_fast_process_crypto_binding
    functionSourceFile: /src/hostap/src/eap_peer/eap_fast.c
    functionUses: 0
    functionsReached:
    - eap_peer_tls_derive_session_id
    - os_memcpy
    - wpa_printf
    - eap_fast_derive_msk
    - wpabuf_put
    - wpa_hexdump
    - eap_fast_write_crypto_binding
    - eap_fast_get_cmk
    - eap_fast_validate_crypto_binding
    - hmac_sha1
    - os_memcmp_const
    - wpabuf_alloc
    - wpabuf_clear_free
    - os_free
    - os_memset
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_fast_process_crypto_binding(\n\tstruct eap_sm
      *sm, struct eap_fast_data *data,\n\tstruct eap_method_ret *ret,\n\tstruct eap_tlv_crypto_binding_tlv
      *_bind, size_t bind_len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_peer/eap_fast.c:846,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:848,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_fast.c:853,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_fast.c:856,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_fast.c:861,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:866,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 5
    argNames:
    - entry
    - type
    - pos
    - len
    - pac_key_found
    argTypes:
    - struct eap_fast_pac*
    - int
    - u8*
    - size_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 841
    functionDepth: 0
    functionLinenumber: 841
    functionLinenumberEnd: 870
    functionName: eap_fast_parse_pac_tlv
    functionSourceFile: /src/hostap/src/eap_peer/eap_fast.c
    functionUses: 0
    functionsReached:
    - wpa_hexdump_key
    - wpa_printf
    - os_memcpy
    - wpa_hexdump
    linkageType: ''
    returnType: void
    signature: "void eap_fast_parse_pac_tlv(struct eap_fast_pac *entry, int type,\n\t\t\t\t
      \  u8 *pos, size_t len, int *pac_key_found)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: be_to_host16
      Src: /src/hostap/src/eap_peer/eap_fast.c:886,1
    - Dst: be_to_host16
      Src: /src/hostap/src/eap_peer/eap_fast.c:887,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:891,1
    - Dst: eap_fast_parse_pac_tlv
      Src: /src/hostap/src/eap_peer/eap_fast.c:898,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:905,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - entry
    - pac
    - pac_len
    argTypes:
    - struct eap_fast_pac*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 873
    functionDepth: 1
    functionLinenumber: 873
    functionLinenumberEnd: 911
    functionName: eap_fast_process_pac_tlv
    functionSourceFile: /src/hostap/src/eap_peer/eap_fast.c
    functionUses: 0
    functionsReached:
    - be_to_host16
    - wpa_printf
    - eap_fast_parse_pac_tlv
    linkageType: ''
    returnType: int
    signature: "int eap_fast_process_pac_tlv(struct eap_fast_pac *entry,\n\t\t\t\t
      \   u8 *pac, size_t pac_len)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_fast.c:924,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/eap_peer/eap_fast.c:936,1
    - Dst: os_get_time
      Src: /src/hostap/src/eap_peer/eap_fast.c:937,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:938,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_peer/eap_fast.c:943,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_peer/eap_fast.c:949,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_peer/eap_fast.c:955,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:963,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_peer/eap_fast.c:966,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_peer/eap_fast.c:971,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:975,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:980,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:985,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 4
    argNames:
    - entry
    - type
    - pos
    - len
    argTypes:
    - struct eap_fast_pac*
    - int
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 914
    functionDepth: 1
    functionLinenumber: 914
    functionLinenumberEnd: 991
    functionName: eap_fast_parse_pac_info
    functionSourceFile: /src/hostap/src/eap_peer/eap_fast.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - WPA_GET_BE16
    - wpa_hexdump
    - WPA_GET_BE32
    - os_get_time
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: int
    signature: "int eap_fast_parse_pac_info(struct eap_fast_pac *entry, int type,\n\t\t\t\t
      \  u8 *pos, size_t len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: be_to_host16
      Src: /src/hostap/src/eap_peer/eap_fast.c:1010,1
    - Dst: be_to_host16
      Src: /src/hostap/src/eap_peer/eap_fast.c:1011,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:1015,1
    - Dst: eap_fast_parse_pac_info
      Src: /src/hostap/src/eap_peer/eap_fast.c:1022,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:1030,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - entry
    argTypes:
    - struct eap_fast_pac*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 994
    functionDepth: 2
    functionLinenumber: 994
    functionLinenumberEnd: 1036
    functionName: eap_fast_process_pac_info
    functionSourceFile: /src/hostap/src/eap_peer/eap_fast.c
    functionUses: 0
    functionsReached:
    - be_to_host16
    - wpa_printf
    - eap_fast_parse_pac_info
    linkageType: ''
    returnType: int
    signature: int eap_fast_process_pac_info(struct eap_fast_pac *entry)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: eap_get_config
      Src: /src/hostap/src/eap_peer/eap_fast.c:1044,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_peer/eap_fast.c:1047,1
    - Dst: eap_fast_process_pac_tlv
      Src: /src/hostap/src/eap_peer/eap_fast.c:1048,1
    - Dst: eap_fast_process_pac_info
      Src: /src/hostap/src/eap_peer/eap_fast.c:1049,1
    - Dst: eap_fast_add_pac
      Src: /src/hostap/src/eap_peer/eap_fast.c:1052,1
    - Dst: eap_fast_pac_list_truncate
      Src: /src/hostap/src/eap_peer/eap_fast.c:1053,1
    - Dst: eap_fast_save_pac_bin
      Src: /src/hostap/src/eap_peer/eap_fast.c:1055,1
    - Dst: eap_fast_save_pac
      Src: /src/hostap/src/eap_peer/eap_fast.c:1057,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:1075,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:1087,1
    - Dst: eap_fast_tlv_pac_ack
      Src: /src/hostap/src/eap_peer/eap_fast.c:1092,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 5
    argNames:
    - sm
    - data
    - ret
    - pac
    - pac_len
    argTypes:
    - struct eap_sm*
    - struct eap_fast_data*
    - struct eap_method_ret*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1093
      start: 1039
    functionDepth: 3
    functionLinenumber: 1039
    functionLinenumberEnd: 1093
    functionName: eap_fast_process_pac
    functionSourceFile: /src/hostap/src/eap_peer/eap_fast.c
    functionUses: 0
    functionsReached:
    - eap_get_config
    - eap_fast_process_pac_tlv
    - wpa_printf
    - eap_fast_process_pac_info
    - eap_fast_pac_list_truncate
    - eap_fast_add_pac
    - eap_fast_save_pac_bin
    - eap_fast_save_pac
    - eap_fast_tlv_pac_ack
    - os_memset
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_fast_process_pac(struct eap_sm *sm,\n\t\t\t\t\t
      \   struct eap_fast_data *data,\n\t\t\t\t\t    struct eap_method_ret *ret,\n\t\t\t\t\t
      \   u8 *pac, size_t pac_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/eap_peer/eap_fast.c:1104,1
    - Dst: wpabuf_mhead
      Src: /src/hostap/src/eap_peer/eap_fast.c:1107,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_fast.c:1108,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_peer/eap_fast.c:1111,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_peer/eap_fast.c:1113,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:1116,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:1119,1
    - Dst: eap_fast_parse_tlv
      Src: /src/hostap/src/eap_peer/eap_fast.c:1124,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:1129,1
    - Dst: eap_fast_tlv_nak
      Src: /src/hostap/src/eap_peer/eap_fast.c:1131,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:1134,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 3
    argNames:
    - decrypted
    - tlv
    - resp
    argTypes:
    - struct wpabuf*
    - struct eap_fast_tlv_parse*
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1144
      start: 1096
    functionDepth: 2
    functionLinenumber: 1096
    functionLinenumberEnd: 1144
    functionName: eap_fast_parse_decrypted
    functionSourceFile: /src/hostap/src/eap_peer/eap_fast.c
    functionUses: 0
    functionsReached:
    - WPA_GET_BE16
    - wpa_printf
    - wpabuf_len
    - eap_fast_tlv_nak
    - eap_fast_parse_tlv
    - wpabuf_mhead
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int eap_fast_parse_decrypted(struct wpabuf *decrypted,\n\t\t\t\t    struct
      eap_fast_tlv_parse *tlv,\n\t\t\t\t    struct wpabuf **resp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/eap_peer/eap_fast.c:1155,1
    - Dst: eap_peer_tls_encrypt
      Src: /src/hostap/src/eap_peer/eap_fast.c:1157,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:1160,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/eap_peer/eap_fast.c:1163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - sm
    - data
    - resp
    - identifier
    - out_data
    argTypes:
    - struct eap_sm*
    - struct eap_fast_data*
    - struct wpabuf*
    - u8
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1166
      start: 1147
    functionDepth: 1
    functionLinenumber: 1147
    functionLinenumberEnd: 1166
    functionName: eap_fast_encrypt_response
    functionSourceFile: /src/hostap/src/eap_peer/eap_fast.c
    functionUses: 0
    functionsReached:
    - eap_peer_tls_encrypt
    - wpa_printf
    - wpabuf_clear_free
    - wpa_hexdump_buf
    linkageType: ''
    returnType: int
    signature: "int eap_fast_encrypt_response(struct eap_sm *sm,\n\t\t\t\t     struct
      eap_fast_data *data,\n\t\t\t\t     struct wpabuf *resp,\n\t\t\t\t     u8 identifier,
      struct wpabuf **out_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eap_peer/eap_fast.c:1174,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/eap_fast.c:1180,1
    - Dst: eap_fast_write_pac_request
      Src: /src/hostap/src/eap_peer/eap_fast.c:1181,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/eap_fast.c:1182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1184
      start: 1169
    functionDepth: 2
    functionLinenumber: 1169
    functionLinenumberEnd: 1184
    functionName: eap_fast_pac_request
    functionSourceFile: /src/hostap/src/eap_peer/eap_fast.c
    functionUses: 0
    functionsReached:
    - eap_fast_write_pac_request
    - wpabuf_alloc
    - wpabuf_put
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * eap_fast_pac_request(void)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: eap_fast_parse_decrypted
      Src: /src/hostap/src/eap_peer/eap_fast.c:1198,1
    - Dst: eap_fast_encrypt_response
      Src: /src/hostap/src/eap_peer/eap_fast.c:1201,1
    - Dst: eap_fast_tlv_result
      Src: /src/hostap/src/eap_peer/eap_fast.c:1205,1
    - Dst: eap_fast_encrypt_response
      Src: /src/hostap/src/eap_peer/eap_fast.c:1206,1
    - Dst: eap_fast_tlv_result
      Src: /src/hostap/src/eap_peer/eap_fast.c:1211,1
    - Dst: eap_fast_encrypt_response
      Src: /src/hostap/src/eap_peer/eap_fast.c:1212,1
    - Dst: eap_fast_process_crypto_binding
      Src: /src/hostap/src/eap_peer/eap_fast.c:1217,1
    - Dst: wpabuf_concat
      Src: /src/hostap/src/eap_peer/eap_fast.c:1223,1
    - Dst: eap_fast_tlv_result
      Src: /src/hostap/src/eap_peer/eap_fast.c:1227,1
    - Dst: wpabuf_concat
      Src: /src/hostap/src/eap_peer/eap_fast.c:1229,1
    - Dst: eap_fast_process_eap_payload_tlv
      Src: /src/hostap/src/eap_peer/eap_fast.c:1233,1
    - Dst: wpabuf_concat
      Src: /src/hostap/src/eap_peer/eap_fast.c:1236,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:1240,1
    - Dst: eap_fast_process_pac
      Src: /src/hostap/src/eap_peer/eap_fast.c:1244,1
    - Dst: wpabuf_concat
      Src: /src/hostap/src/eap_peer/eap_fast.c:1246,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:1257,1
    - Dst: eap_fast_pac_request
      Src: /src/hostap/src/eap_peer/eap_fast.c:1258,1
    - Dst: wpabuf_concat
      Src: /src/hostap/src/eap_peer/eap_fast.c:1259,1
    - Dst: eap_fast_tlv_result
      Src: /src/hostap/src/eap_peer/eap_fast.c:1263,1
    - Dst: wpabuf_concat
      Src: /src/hostap/src/eap_peer/eap_fast.c:1264,1
    - Dst: eap_fast_tlv_result
      Src: /src/hostap/src/eap_peer/eap_fast.c:1266,1
    - Dst: wpabuf_concat
      Src: /src/hostap/src/eap_peer/eap_fast.c:1267,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:1273,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:1279,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:1290,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eap_peer/eap_fast.c:1292,1
    - Dst: eap_fast_encrypt_response
      Src: /src/hostap/src/eap_peer/eap_fast.c:1295,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 67
    argCount: 6
    argNames:
    - sm
    - data
    - ret
    - identifier
    - decrypted
    - out_data
    argTypes:
    - struct eap_sm*
    - struct eap_fast_data*
    - struct eap_method_ret*
    - u8
    - struct wpabuf*
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1297
      start: 1187
    functionDepth: 4
    functionLinenumber: 1187
    functionLinenumberEnd: 1297
    functionName: eap_fast_process_decrypted
    functionSourceFile: /src/hostap/src/eap_peer/eap_fast.c
    functionUses: 0
    functionsReached:
    - eap_fast_process_eap_payload_tlv
    - wpa_printf
    - eap_fast_tlv_result
    - eap_fast_encrypt_response
    - eap_fast_parse_decrypted
    - eap_fast_process_pac
    - wpabuf_alloc
    - eap_fast_pac_request
    - wpabuf_concat
    - eap_fast_process_crypto_binding
    linkageType: ''
    returnType: int
    signature: "int eap_fast_process_decrypted(struct eap_sm *sm,\n\t\t\t\t      struct
      eap_fast_data *data,\n\t\t\t\t      struct eap_method_ret *ret,\n\t\t\t\t      u8
      identifier,\n\t\t\t\t      struct wpabuf *decrypted,\n\t\t\t\t      struct wpabuf
      **out_data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:1308,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_fast.c:1309,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:1312,1
    - Dst: eap_peer_tls_reset_input
      Src: /src/hostap/src/eap_peer/eap_fast.c:1315,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_fast.c:1322,1
    - Dst: eap_peer_tls_encrypt
      Src: /src/hostap/src/eap_peer/eap_fast.c:1324,1
    - Dst: eap_peer_tls_decrypt
      Src: /src/hostap/src/eap_peer/eap_fast.c:1329,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/eap_peer/eap_fast.c:1334,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_fast.c:1337,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:1338,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_fast.c:1340,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/eap_peer/eap_fast.c:1341,1
    - Dst: eap_fast_process_decrypted
      Src: /src/hostap/src/eap_peer/eap_fast.c:1345,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/eap_peer/eap_fast.c:1348,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 6
    argNames:
    - sm
    - data
    - ret
    - identifier
    - in_data
    - out_data
    argTypes:
    - struct eap_sm*
    - struct eap_fast_data*
    - struct eap_method_ret*
    - u8
    - struct wpabuf*
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1351
      start: 1300
    functionDepth: 5
    functionLinenumber: 1300
    functionLinenumberEnd: 1351
    functionName: eap_fast_decrypt
    functionSourceFile: /src/hostap/src/eap_peer/eap_fast.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_len
    - eap_peer_tls_reset_input
    - eap_fast_process_decrypted
    - wpabuf_clear_free
    - eap_peer_tls_encrypt
    - eap_peer_tls_decrypt
    - wpa_hexdump_buf
    linkageType: ''
    returnType: int
    signature: "int eap_fast_decrypt(struct eap_sm *sm, struct eap_fast_data *data,\n\t\t\t
      \   struct eap_method_ret *ret, u8 identifier,\n\t\t\t    const struct wpabuf
      *in_data,\n\t\t\t    struct wpabuf **out_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: be_to_host16
      Src: /src/hostap/src/eap_peer/eap_fast.c:1368,1
    - Dst: be_to_host16
      Src: /src/hostap/src/eap_peer/eap_fast.c:1369,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:1371,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_peer/eap_fast.c:1377,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - buf
    - len
    - id_len
    argTypes:
    - u8*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1380
      start: 1354
    functionDepth: 1
    functionLinenumber: 1354
    functionLinenumberEnd: 1380
    functionName: eap_fast_get_a_id
    functionSourceFile: /src/hostap/src/eap_peer/eap_fast.c
    functionUses: 0
    functionsReached:
    - be_to_host16
    - wpa_printf
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: u8
    signature: u8 * eap_fast_get_a_id(const u8 *buf, size_t len, size_t *id_len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eap_fast_get_pac
      Src: /src/hostap/src/eap_peer/eap_fast.c:1386,1
    - Dst: eap_fast_get_pac
      Src: /src/hostap/src/eap_peer/eap_fast.c:1393,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:1399,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_peer/eap_fast.c:1401,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - data
    - a_id
    - a_id_len
    argTypes:
    - struct eap_fast_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1405
      start: 1383
    functionDepth: 1
    functionLinenumber: 1383
    functionLinenumberEnd: 1405
    functionName: eap_fast_select_pac
    functionSourceFile: /src/hostap/src/eap_peer/eap_fast.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_fast_get_pac
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: void
    signature: "void eap_fast_select_pac(struct eap_fast_data *data,\n\t\t\t\tconst
      u8 *a_id, size_t a_id_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/eap_peer/eap_fast.c:1418,1
    - Dst: host_to_be16
      Src: /src/hostap/src/eap_peer/eap_fast.c:1421,1
    - Dst: host_to_be16
      Src: /src/hostap/src/eap_peer/eap_fast.c:1422,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_fast.c:1423,1
    - Dst: tls_connection_client_hello_ext
      Src: /src/hostap/src/eap_peer/eap_fast.c:1426,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:1429,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_fast.c:1431,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_fast.c:1434,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - sm
    - data
    - pac
    argTypes:
    - struct eap_sm*
    - struct eap_fast_data*
    - struct eap_fast_pac*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1437
      start: 1408
    functionDepth: 1
    functionLinenumber: 1408
    functionLinenumberEnd: 1437
    functionName: eap_fast_use_pac_opaque
    functionSourceFile: /src/hostap/src/eap_peer/eap_fast.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_printf
    - host_to_be16
    - os_malloc
    - tls_connection_client_hello_ext
    - os_free
    linkageType: ''
    returnType: int
    signature: "int eap_fast_use_pac_opaque(struct eap_sm *sm,\n\t\t\t\t   struct
      eap_fast_data *data,\n\t\t\t\t   struct eap_fast_pac *pac)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tls_connection_client_hello_ext
      Src: /src/hostap/src/eap_peer/eap_fast.c:1443,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:1445,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - sm
    - data
    argTypes:
    - struct eap_sm*
    - struct eap_fast_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1450
      start: 1440
    functionDepth: 0
    functionLinenumber: 1440
    functionLinenumberEnd: 1450
    functionName: eap_fast_clear_pac_opaque_ext
    functionSourceFile: /src/hostap/src/eap_peer/eap_fast.c
    functionUses: 0
    functionsReached:
    - tls_connection_client_hello_ext
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int eap_fast_clear_pac_opaque_ext(struct eap_sm *sm,\n\t\t\t\t\t struct
      eap_fast_data *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:1460,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:1466,1
    - Dst: tls_connection_set_cipher_list
      Src: /src/hostap/src/eap_peer/eap_fast.c:1477,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:1479,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - sm
    - data
    argTypes:
    - struct eap_sm*
    - struct eap_fast_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1485
      start: 1453
    functionDepth: 0
    functionLinenumber: 1453
    functionLinenumberEnd: 1485
    functionName: eap_fast_set_provisioning_ciphers
    functionSourceFile: /src/hostap/src/eap_peer/eap_fast.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - tls_connection_set_cipher_list
    linkageType: ''
    returnType: int
    signature: "int eap_fast_set_provisioning_ciphers(struct eap_sm *sm,\n\t\t\t\t\t
      \    struct eap_fast_data *data)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:1496,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:1500,1
    - Dst: eap_fast_get_a_id
      Src: /src/hostap/src/eap_peer/eap_fast.c:1503,1
    - Dst: eap_fast_select_pac
      Src: /src/hostap/src/eap_peer/eap_fast.c:1504,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:1507,1
    - Dst: eap_fast_clear_pac_opaque_ext
      Src: /src/hostap/src/eap_peer/eap_fast.c:1509,1
    - Dst: eap_fast_use_pac_opaque
      Src: /src/hostap/src/eap_peer/eap_fast.c:1516,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:1521,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:1525,1
    - Dst: eap_fast_set_provisioning_ciphers
      Src: /src/hostap/src/eap_peer/eap_fast.c:1527,1
    - Dst: eap_fast_clear_pac_opaque_ext
      Src: /src/hostap/src/eap_peer/eap_fast.c:1528,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 5
    argNames:
    - sm
    - data
    - flags
    - pos
    - left
    argTypes:
    - struct eap_sm*
    - struct eap_fast_data*
    - u8
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1534
      start: 1488
    functionDepth: 2
    functionLinenumber: 1488
    functionLinenumberEnd: 1534
    functionName: eap_fast_process_start
    functionSourceFile: /src/hostap/src/eap_peer/eap_fast.c
    functionUses: 0
    functionsReached:
    - eap_fast_get_a_id
    - wpa_printf
    - eap_fast_set_provisioning_ciphers
    - eap_fast_clear_pac_opaque_ext
    - eap_fast_select_pac
    - eap_fast_use_pac_opaque
    linkageType: ''
    returnType: int
    signature: "int eap_fast_process_start(struct eap_sm *sm,\n\t\t\t\t  struct eap_fast_data
      *data, u8 flags,\n\t\t\t\t  const u8 *pos, size_t left)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: eap_peer_tls_process_init
      Src: /src/hostap/src/eap_peer/eap_fast.c:1550,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_peer/eap_fast.c:1555,1
    - Dst: eap_fast_process_start
      Src: /src/hostap/src/eap_peer/eap_fast.c:1559,1
    - Dst: wpabuf_set
      Src: /src/hostap/src/eap_peer/eap_fast.c:1565,1
    - Dst: tls_connection_established
      Src: /src/hostap/src/eap_peer/eap_fast.c:1568,1
    - Dst: eap_fast_decrypt
      Src: /src/hostap/src/eap_peer/eap_fast.c:1571,1
    - Dst: eap_get_config
      Src: /src/hostap/src/eap_peer/eap_fast.c:1583,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:1587,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:1597,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:1605,1
    - Dst: eap_peer_tls_process_helper
      Src: /src/hostap/src/eap_peer/eap_fast.c:1611,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:1616,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:1624,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/eap_peer/eap_fast.c:1626,1
    - Dst: tls_connection_established
      Src: /src/hostap/src/eap_peer/eap_fast.c:1631,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:1633,1
    - Dst: tls_get_cipher
      Src: /src/hostap/src/eap_peer/eap_fast.c:1638,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/eap_fast.c:1640,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/eap_fast.c:1641,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:1642,1
    - Dst: eap_fast_derive_keys
      Src: /src/hostap/src/eap_peer/eap_fast.c:1649,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast.c:1650,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/eap_peer/eap_fast.c:1654,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/eap_peer/eap_fast.c:1663,1
    - Dst: eap_fast_decrypt
      Src: /src/hostap/src/eap_peer/eap_fast.c:1666,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/eap_peer/eap_fast.c:1671,1
    - Dst: eap_peer_tls_build_ack
      Src: /src/hostap/src/eap_peer/eap_fast.c:1672,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 80
    argCount: 4
    argNames:
    - sm
    - priv
    - ret
    - reqData
    argTypes:
    - struct eap_sm*
    - void*
    - struct eap_method_ret*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1677
      start: 1537
    functionDepth: 6
    functionLinenumber: 1537
    functionLinenumberEnd: 1677
    functionName: eap_fast_process
    functionSourceFile: /src/hostap/src/eap_peer/eap_fast.c
    functionUses: 0
    functionsReached:
    - eap_get_config
    - wpa_printf
    - eap_fast_derive_keys
    - eap_fast_process_start
    - eap_fast_decrypt
    - wpabuf_head
    - wpabuf_set
    - tls_get_cipher
    - eap_peer_tls_process_helper
    - os_strstr
    - tls_connection_established
    - wpabuf_clear_free
    - eap_peer_tls_process_init
    - eap_peer_tls_build_ack
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_fast_process(struct eap_sm *sm, void *priv,\n\t\t\t\t\tstruct
      eap_method_ret *ret,\n\t\t\t\t\tconst struct wpabuf *reqData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tls_connection_established
      Src: /src/hostap/src/eap_peer/eap_fast.c:1684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1685
      start: 1681
    functionDepth: 0
    functionLinenumber: 1681
    functionLinenumberEnd: 1685
    functionName: eap_fast_has_reauth_data
    functionSourceFile: /src/hostap/src/eap_peer/eap_fast.c
    functionUses: 0
    functionsReached:
    - tls_connection_established
    linkageType: ''
    returnType: bool
    signature: bool eap_fast_has_reauth_data(struct eap_sm *sm, void *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct eap_fast_data*::phase2_method::deinit_for_reauth
      Src: /src/hostap/src/eap_peer/eap_fast.c:1694,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_fast.c:1695,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/eap_peer/eap_fast.c:1697,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/eap_peer/eap_fast.c:1699,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1701
      start: 1688
    functionDepth: 1
    functionLinenumber: 1688
    functionLinenumberEnd: 1701
    functionName: eap_fast_deinit_for_reauth
    functionSourceFile: /src/hostap/src/eap_peer/eap_fast.c
    functionUses: 0
    functionsReached:
    - os_free
    - struct eap_fast_data*::phase2_method::deinit_for_reauth
    - wpabuf_clear_free
    linkageType: ''
    returnType: void
    signature: void eap_fast_deinit_for_reauth(struct eap_sm *sm, void *priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eap_peer_tls_reauth_init
      Src: /src/hostap/src/eap_peer/eap_fast.c:1707,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_fast.c:1708,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_peer/eap_fast.c:1711,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_peer/eap_fast.c:1712,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_fast.c:1713,1
    - Dst: struct eap_fast_data*::phase2_method::init_for_reauth
      Src: /src/hostap/src/eap_peer/eap_fast.c:1717,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1724
      start: 1704
    functionDepth: 1
    functionLinenumber: 1704
    functionLinenumberEnd: 1724
    functionName: eap_fast_init_for_reauth
    functionSourceFile: /src/hostap/src/eap_peer/eap_fast.c
    functionUses: 0
    functionsReached:
    - os_free
    - eap_peer_tls_reauth_init
    - struct eap_fast_data*::phase2_method::init_for_reauth
    - os_memset
    linkageType: ''
    returnType: void
    signature: void * eap_fast_init_for_reauth(struct eap_sm *sm, void *priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eap_peer_tls_status
      Src: /src/hostap/src/eap_peer/eap_fast.c:1734,1
    - Dst: os_snprintf
      Src: /src/hostap/src/eap_peer/eap_fast.c:1736,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/eap_peer/eap_fast.c:1739,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - sm
    - priv
    - buf
    - buflen
    - verbose
    argTypes:
    - struct eap_sm*
    - void*
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1744
      start: 1728
    functionDepth: 1
    functionLinenumber: 1728
    functionLinenumberEnd: 1744
    functionName: eap_fast_get_status
    functionSourceFile: /src/hostap/src/eap_peer/eap_fast.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - eap_peer_tls_status
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int eap_fast_get_status(struct eap_sm *sm, void *priv, char *buf,\n\t\t\t
      \      size_t buflen, int verbose)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1751
      start: 1747
    functionDepth: 0
    functionLinenumber: 1747
    functionLinenumberEnd: 1751
    functionName: eap_fast_isKeyAvailable
    functionSourceFile: /src/hostap/src/eap_peer/eap_fast.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool eap_fast_isKeyAvailable(struct eap_sm *sm, void *priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memdup
      Src: /src/hostap/src/eap_peer/eap_fast.c:1762,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1769
      start: 1754
    functionDepth: 0
    functionLinenumber: 1754
    functionLinenumberEnd: 1769
    functionName: eap_fast_getKey
    functionSourceFile: /src/hostap/src/eap_peer/eap_fast.c
    functionUses: 0
    functionsReached:
    - os_memdup
    linkageType: ''
    returnType: u8
    signature: u8 * eap_fast_getKey(struct eap_sm *sm, void *priv, size_t *len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memdup
      Src: /src/hostap/src/eap_peer/eap_fast.c:1780,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1787
      start: 1772
    functionDepth: 0
    functionLinenumber: 1772
    functionLinenumberEnd: 1787
    functionName: eap_fast_get_session_id
    functionSourceFile: /src/hostap/src/eap_peer/eap_fast.c
    functionUses: 0
    functionsReached:
    - os_memdup
    linkageType: ''
    returnType: u8
    signature: u8 * eap_fast_get_session_id(struct eap_sm *sm, void *priv, size_t
      *len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memdup
      Src: /src/hostap/src/eap_peer/eap_fast.c:1798,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1805
      start: 1790
    functionDepth: 0
    functionLinenumber: 1790
    functionLinenumberEnd: 1805
    functionName: eap_fast_get_emsk
    functionSourceFile: /src/hostap/src/eap_peer/eap_fast.c
    functionUses: 0
    functionsReached:
    - os_memdup
    linkageType: ''
    returnType: u8
    signature: u8 * eap_fast_get_emsk(struct eap_sm *sm, void *priv, size_t *len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_peer_method_alloc
      Src: /src/hostap/src/eap_peer/eap_fast.c:1812,1
    - Dst: eap_peer_method_register
      Src: /src/hostap/src/eap_peer/eap_fast.c:1831,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1832
      start: 1808
    functionDepth: 0
    functionLinenumber: 1808
    functionLinenumberEnd: 1832
    functionName: eap_peer_fast_register
    functionSourceFile: /src/hostap/src/eap_peer/eap_fast.c
    functionUses: 1
    functionsReached:
    - eap_peer_method_register
    - eap_peer_method_alloc
    linkageType: ''
    returnType: int
    signature: int eap_peer_fast_register(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - eapol_ctx
    - eapol_cb
    - msg_ctx
    argTypes:
    - void*
    - struct eapol_callbacks*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 19
    functionName: eap_proxy_init
    functionSourceFile: /src/hostap/src/eap_peer/eap_proxy_dummy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct eap_proxy_sm
    signature: "struct eap_proxy_sm *\neap_proxy_init(void *eapol_ctx, const struct
      eapol_callbacks *eapol_cb,\n\t       void *msg_ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - eap_proxy
    argTypes:
    - struct eap_proxy_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: eap_proxy_deinit
    functionSourceFile: /src/hostap/src/eap_peer/eap_proxy_dummy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void eap_proxy_deinit(struct eap_proxy_sm *eap_proxy)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_proxy_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: eap_proxy_key_available
    functionSourceFile: /src/hostap/src/eap_peer/eap_proxy_dummy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int eap_proxy_key_available(struct eap_proxy_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - len
    argTypes:
    - struct eap_proxy_sm*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: eap_proxy_get_eapKeyData
    functionSourceFile: /src/hostap/src/eap_peer/eap_proxy_dummy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 * eap_proxy_get_eapKeyData(struct eap_proxy_sm *sm, size_t *len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_proxy_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: eap_proxy_get_eapRespData
    functionSourceFile: /src/hostap/src/eap_peer/eap_proxy_dummy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * eap_proxy_get_eapRespData(struct eap_proxy_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - eap_sm
    argTypes:
    - struct eap_proxy_sm*
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: eap_proxy_sm_step
    functionSourceFile: /src/hostap/src/eap_peer/eap_proxy_dummy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int eap_proxy_sm_step(struct eap_proxy_sm *sm, struct eap_sm *eap_sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - eap_proxy
    - eapReqData
    - eapReqDataLen
    argTypes:
    - struct eap_proxy_sm*
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: eap_proxy_packet_update
    functionSourceFile: /src/hostap/src/eap_peer/eap_proxy_dummy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum eap_proxy_status
    signature: "enum eap_proxy_status eap_proxy_packet_update(struct eap_proxy_sm
      *eap_proxy, u8 *eapReqData,\n\t\t\tint eapReqDataLen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - sm
    - buf
    - buflen
    - verbose
    argTypes:
    - struct eap_proxy_sm*
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: eap_proxy_sm_get_status
    functionSourceFile: /src/hostap/src/eap_peer/eap_proxy_dummy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int eap_proxy_sm_get_status(struct eap_proxy_sm *sm, char *buf, size_t
      buflen,\n\t\t\t    int verbose)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - eap_proxy
    - sim_num
    - imsi_buf
    - imsi_len
    argTypes:
    - struct eap_proxy_sm*
    - int
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: eap_proxy_get_imsi
    functionSourceFile: /src/hostap/src/eap_peer/eap_proxy_dummy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int eap_proxy_get_imsi(struct eap_proxy_sm *eap_proxy, int sim_num,\n\t\t
      \      char *imsi_buf, size_t *imsi_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - config
    argTypes:
    - struct eap_proxy_sm*
    - struct eap_peer_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: eap_proxy_notify_config
    functionSourceFile: /src/hostap/src/eap_peer/eap_proxy_dummy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int eap_proxy_notify_config(struct eap_proxy_sm *sm,\n\t\t\t    struct
      eap_peer_config *config)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - len
    argTypes:
    - struct eap_proxy_sm*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: eap_proxy_get_eap_session_id
    functionSourceFile: /src/hostap/src/eap_peer/eap_proxy_dummy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 * eap_proxy_get_eap_session_id(struct eap_proxy_sm *sm, size_t *len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - len
    argTypes:
    - struct eap_proxy_sm*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: eap_proxy_get_emsk
    functionSourceFile: /src/hostap/src/eap_peer/eap_proxy_dummy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 * eap_proxy_get_emsk(struct eap_proxy_sm *sm, size_t *len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_proxy_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: eap_proxy_sm_abort
    functionSourceFile: /src/hostap/src/eap_peer/eap_proxy_dummy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void eap_proxy_sm_abort(struct eap_proxy_sm *sm)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - state
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 63
    functionName: eap_gpsk_state_txt
    functionSourceFile: /src/hostap/src/eap_peer/eap_gpsk.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * eap_gpsk_state_txt(int state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:69,1
    - Dst: eap_gpsk_state_txt
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:70,1
    - Dst: eap_gpsk_state_txt
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - state
    argTypes:
    - struct eap_gpsk_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 73
    functionName: eap_gpsk_state
    functionSourceFile: /src/hostap/src/eap_peer/eap_gpsk.c
    functionUses: 0
    functionsReached:
    - eap_gpsk_state_txt
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void eap_gpsk_state(struct eap_gpsk_data *data, int state)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: eap_get_config_password
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:86,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:88,1
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:92,1
    - Dst: eap_get_config_identity
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:97,1
    - Dst: os_memdup
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:99,1
    - Dst: eap_gpsk_deinit
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:101,1
    - Dst: eap_get_config_phase1
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:107,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:111,1
    - Dst: atoi
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:113,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:114,1
    - Dst: os_memdup
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:119,1
    - Dst: eap_gpsk_deinit
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:121,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 127
    functionName: eap_gpsk_init
    functionSourceFile: /src/hostap/src/eap_peer/eap_gpsk.c
    functionUses: 0
    functionsReached:
    - eap_get_config_phase1
    - wpa_printf
    - os_memdup
    - os_strstr
    - eap_get_config_identity
    - os_zalloc
    - eap_gpsk_deinit
    - atoi
    - eap_get_config_password
    linkageType: ''
    returnType: void
    signature: void * eap_gpsk_init(struct eap_sm *sm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:133,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:134,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:136,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:137,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 140
    functionName: eap_gpsk_deinit
    functionSourceFile: /src/hostap/src/eap_peer/eap_gpsk.c
    functionUses: 1
    functionsReached:
    - os_free
    - bin_clear_free
    - os_memset
    linkageType: ''
    returnType: void
    signature: void eap_gpsk_deinit(struct eap_sm *sm, void *priv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:149,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:152,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:155,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:158,1
    - Dst: os_memdup
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:159,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:161,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:165,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - data
    - pos
    - end
    argTypes:
    - struct eap_gpsk_data*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 170
    functionName: eap_gpsk_process_id_server
    functionSourceFile: /src/hostap/src/eap_peer/eap_gpsk.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - WPA_GET_BE16
    - os_memdup
    - os_free
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: u8
    signature: "u8 * eap_gpsk_process_id_server(struct eap_gpsk_data *data,\n\t\t\t\t\t
      \    const u8 *pos, const u8 *end)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:180,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:183,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - data
    - pos
    - end
    argTypes:
    - struct eap_gpsk_data*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 189
    functionName: eap_gpsk_process_rand_server
    functionSourceFile: /src/hostap/src/eap_peer/eap_gpsk.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_hexdump
    linkageType: ''
    returnType: u8
    signature: "u8 * eap_gpsk_process_rand_server(struct eap_gpsk_data *data,\n\t\t\t\t\t
      \      const u8 *pos, const u8 *end)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:206,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:207,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:208,1
    - Dst: eap_gpsk_supported_ciphersuite
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:212,1
    - Dst: wpa_msg
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:222,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:226,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 4
    argNames:
    - sm
    - data
    - csuite_list
    - csuite_list_len
    argTypes:
    - struct eap_sm*
    - struct eap_gpsk_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 230
    functionName: eap_gpsk_select_csuite
    functionSourceFile: /src/hostap/src/eap_peer/eap_gpsk.c
    functionUses: 0
    functionsReached:
    - WPA_GET_BE16
    - wpa_printf
    - wpa_msg
    - eap_gpsk_supported_ciphersuite
    - WPA_GET_BE32
    linkageType: ''
    returnType: int
    signature: "int eap_gpsk_select_csuite(struct eap_sm *sm,\n\t\t\t\t  struct eap_gpsk_data
      *data,\n\t\t\t\t  const u8 *csuite_list,\n\t\t\t\t  size_t csuite_list_len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:245,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:248,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:251,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:255,1
    - Dst: eap_gpsk_select_csuite
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:260,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 6
    argNames:
    - sm
    - data
    - list
    - list_len
    - pos
    - end
    argTypes:
    - struct eap_sm*
    - struct eap_gpsk_data*
    - u8**
    - size_t*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 233
    functionDepth: 2
    functionLinenumber: 233
    functionLinenumberEnd: 268
    functionName: eap_gpsk_process_csuite_list
    functionSourceFile: /src/hostap/src/eap_peer/eap_gpsk.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_gpsk_select_csuite
    - WPA_GET_BE16
    linkageType: ''
    returnType: u8
    signature: "u8 * eap_gpsk_process_csuite_list(struct eap_sm *sm,\n\t\t\t\t\t       struct
      eap_gpsk_data *data,\n\t\t\t\t\t       const u8 **list,\n\t\t\t\t\t       size_t
      *list_len,\n\t\t\t\t\t       const u8 *pos, const u8 *end)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:287,1
    - Dst: eap_gpsk_process_id_server
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:291,1
    - Dst: eap_gpsk_process_rand_server
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:292,1
    - Dst: eap_gpsk_process_csuite_list
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:293,1
    - Dst: eap_gpsk_state
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:297,1
    - Dst: eap_gpsk_send_gpsk_2
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:301,1
    - Dst: eap_gpsk_state
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:306,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 6
    argNames:
    - sm
    - data
    - ret
    - identifier
    - payload
    - payload_len
    argTypes:
    - struct eap_sm*
    - struct eap_gpsk_data*
    - struct eap_method_ret*
    - u8
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 271
    functionDepth: 3
    functionLinenumber: 271
    functionLinenumberEnd: 309
    functionName: eap_gpsk_process_gpsk_1
    functionSourceFile: /src/hostap/src/eap_peer/eap_gpsk.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_gpsk_process_csuite_list
    - eap_gpsk_process_id_server
    - eap_gpsk_send_gpsk_2
    - eap_gpsk_process_rand_server
    - eap_gpsk_state
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_gpsk_process_gpsk_1(struct eap_sm *sm,\n\t\t\t\t\t
      \      struct eap_gpsk_data *data,\n\t\t\t\t\t       struct eap_method_ret *ret,\n\t\t\t\t\t
      \      u8 identifier,\n\t\t\t\t\t       const u8 *payload,\n\t\t\t\t\t       size_t
      payload_len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:322,1
    - Dst: eap_gpsk_mic_len
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:324,1
    - Dst: eap_msg_alloc
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:329,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:334,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:335,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:337,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:339,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:340,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:342,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:343,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:345,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:346,1
    - Dst: eap_gpsk_state
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:348,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:349,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:352,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:354,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:355,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:357,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:358,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:360,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:361,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:362,1
    - Dst: eap_gpsk_derive_keys
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:364,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:372,1
    - Dst: eap_gpsk_state
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:373,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:374,1
    - Dst: eap_gpsk_derive_session_id
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:378,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:385,1
    - Dst: eap_gpsk_state
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:386,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:387,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:390,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:394,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:396,1
    - Dst: eap_gpsk_compute_mic
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:397,1
    - Dst: eap_gpsk_state
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:400,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:401,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 49
    argCount: 4
    argNames:
    - data
    - identifier
    - csuite_list
    - csuite_list_len
    argTypes:
    - struct eap_gpsk_data*
    - u8
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 406
    functionName: eap_gpsk_send_gpsk_2
    functionSourceFile: /src/hostap/src/eap_peer/eap_gpsk.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpabuf_put
    - random_get_bytes
    - wpabuf_put_u8
    - wpabuf_put_data
    - wpa_hexdump
    - eap_gpsk_derive_keys
    - eap_gpsk_mic_len
    - eap_msg_alloc
    - wpabuf_free
    - wpabuf_put_be16
    - WPA_PUT_BE16
    - eap_gpsk_derive_session_id
    - WPA_PUT_BE32
    - eap_gpsk_compute_mic
    - wpa_hexdump_ascii
    - eap_gpsk_state
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_gpsk_send_gpsk_2(struct eap_gpsk_data *data,\n\t\t\t\t\t
      \   u8 identifier,\n\t\t\t\t\t    const u8 *csuite_list,\n\t\t\t\t\t    size_t
      csuite_list_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:413,1
    - Dst: os_memcmp
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:417,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:418,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:420,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:422,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:429,1
    - Dst: os_memcmp
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:433,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:434,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:436,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:438,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - data
    - pos
    - end
    argTypes:
    - struct eap_gpsk_data*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 445
    functionName: eap_gpsk_validate_rand
    functionSourceFile: /src/hostap/src/eap_peer/eap_gpsk.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcmp
    - wpa_hexdump
    linkageType: ''
    returnType: u8
    signature: "u8 * eap_gpsk_validate_rand(struct eap_gpsk_data *data,\n\t\t\t\t\t
      const u8 *pos, const u8 *end)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:457,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:462,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:466,1
    - Dst: os_memcmp
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:472,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:473,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:475,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:477,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - data
    - pos
    - end
    argTypes:
    - struct eap_gpsk_data*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 485
    functionName: eap_gpsk_validate_id_server
    functionSourceFile: /src/hostap/src/eap_peer/eap_gpsk.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - WPA_GET_BE16
    - os_memcmp
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: u8
    signature: "u8 * eap_gpsk_validate_id_server(struct eap_gpsk_data *data,\n\t\t\t\t\t
      \     const u8 *pos, const u8 *end)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:498,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:503,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:504,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:507,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - data
    - pos
    - end
    argTypes:
    - struct eap_gpsk_data*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 514
    functionName: eap_gpsk_validate_csuite
    functionSourceFile: /src/hostap/src/eap_peer/eap_gpsk.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - WPA_GET_BE16
    - WPA_GET_BE32
    linkageType: ''
    returnType: u8
    signature: "u8 * eap_gpsk_validate_csuite(struct eap_gpsk_data *data,\n\t\t\t\t\t
      \  const u8 *pos, const u8 *end)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:526,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:530,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:533,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:537,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - data
    - pos
    - end
    argTypes:
    - struct eap_gpsk_data*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 517
    functionDepth: 1
    functionLinenumber: 517
    functionLinenumberEnd: 541
    functionName: eap_gpsk_validate_pd_payload_2
    functionSourceFile: /src/hostap/src/eap_peer/eap_gpsk.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - WPA_GET_BE16
    - wpa_hexdump
    linkageType: ''
    returnType: u8
    signature: "u8 * eap_gpsk_validate_pd_payload_2(struct eap_gpsk_data *data,\n\t\t\t\t\t\t
      const u8 *pos, const u8 *end)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: eap_gpsk_mic_len
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:554,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:556,1
    - Dst: eap_gpsk_compute_mic
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:562,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:565,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:568,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:569,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:570,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:571,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - data
    - payload
    - pos
    - end
    argTypes:
    - struct eap_gpsk_data*
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 544
    functionDepth: 1
    functionLinenumber: 544
    functionLinenumberEnd: 577
    functionName: eap_gpsk_validate_gpsk_3_mic
    functionSourceFile: /src/hostap/src/eap_peer/eap_gpsk.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    - eap_gpsk_mic_len
    - os_memcmp_const
    - eap_gpsk_compute_mic
    linkageType: ''
    returnType: u8
    signature: "u8 * eap_gpsk_validate_gpsk_3_mic(struct eap_gpsk_data *data,\n\t\t\t\t\t
      \      const u8 *payload,\n\t\t\t\t\t       const u8 *pos, const u8 *end)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:595,1
    - Dst: eap_gpsk_validate_rand
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:599,1
    - Dst: eap_gpsk_validate_id_server
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:600,1
    - Dst: eap_gpsk_validate_csuite
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:601,1
    - Dst: eap_gpsk_validate_pd_payload_2
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:602,1
    - Dst: eap_gpsk_validate_gpsk_3_mic
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:603,1
    - Dst: eap_gpsk_state
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:606,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:610,1
    - Dst: eap_gpsk_send_gpsk_4
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:615,1
    - Dst: eap_gpsk_state
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:619,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 6
    argNames:
    - sm
    - data
    - ret
    - identifier
    - payload
    - payload_len
    argTypes:
    - struct eap_sm*
    - struct eap_gpsk_data*
    - struct eap_method_ret*
    - u8
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 580
    functionDepth: 2
    functionLinenumber: 580
    functionLinenumberEnd: 624
    functionName: eap_gpsk_process_gpsk_3
    functionSourceFile: /src/hostap/src/eap_peer/eap_gpsk.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_gpsk_validate_id_server
    - eap_gpsk_send_gpsk_4
    - eap_gpsk_validate_csuite
    - eap_gpsk_validate_pd_payload_2
    - eap_gpsk_validate_rand
    - eap_gpsk_validate_gpsk_3_mic
    - eap_gpsk_state
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_gpsk_process_gpsk_3(struct eap_sm *sm,\n\t\t\t\t\t
      \      struct eap_gpsk_data *data,\n\t\t\t\t\t       struct eap_method_ret *ret,\n\t\t\t\t\t
      \      u8 identifier,\n\t\t\t\t\t       const u8 *payload,\n\t\t\t\t\t       size_t
      payload_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:634,1
    - Dst: eap_gpsk_mic_len
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:636,1
    - Dst: eap_msg_alloc
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:638,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:643,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:644,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:647,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:649,1
    - Dst: eap_gpsk_compute_mic
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:650,1
    - Dst: eap_gpsk_state
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:653,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:654,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - data
    - identifier
    argTypes:
    - struct eap_gpsk_data*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 627
    functionDepth: 1
    functionLinenumber: 627
    functionLinenumberEnd: 659
    functionName: eap_gpsk_send_gpsk_4
    functionSourceFile: /src/hostap/src/eap_peer/eap_gpsk.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpabuf_put
    - wpabuf_put_u8
    - eap_gpsk_mic_len
    - eap_msg_alloc
    - wpabuf_free
    - wpabuf_put_be16
    - eap_gpsk_compute_mic
    - eap_gpsk_state
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_gpsk_send_gpsk_4(struct eap_gpsk_data *data,\n\t\t\t\t\t
      \   u8 identifier)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:672,1
    - Dst: eap_get_id
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:678,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:681,1
    - Dst: eap_gpsk_process_gpsk_1
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:690,1
    - Dst: eap_gpsk_process_gpsk_3
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:693,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:696,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 4
    argNames:
    - sm
    - priv
    - ret
    - reqData
    argTypes:
    - struct eap_sm*
    - void*
    - struct eap_method_ret*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 662
    functionDepth: 4
    functionLinenumber: 662
    functionLinenumberEnd: 704
    functionName: eap_gpsk_process
    functionSourceFile: /src/hostap/src/eap_peer/eap_gpsk.c
    functionUses: 0
    functionsReached:
    - eap_get_id
    - wpa_printf
    - eap_gpsk_process_gpsk_3
    - eap_hdr_validate
    - eap_gpsk_process_gpsk_1
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_gpsk_process(struct eap_sm *sm, void *priv,\n\t\t\t\t\tstruct
      eap_method_ret *ret,\n\t\t\t\t\tconst struct wpabuf *reqData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 711
    functionName: eap_gpsk_isKeyAvailable
    functionSourceFile: /src/hostap/src/eap_peer/eap_gpsk.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool eap_gpsk_isKeyAvailable(struct eap_sm *sm, void *priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memdup
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:722,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 728
    functionName: eap_gpsk_getKey
    functionSourceFile: /src/hostap/src/eap_peer/eap_gpsk.c
    functionUses: 0
    functionsReached:
    - os_memdup
    linkageType: ''
    returnType: u8
    signature: u8 * eap_gpsk_getKey(struct eap_sm *sm, void *priv, size_t *len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memdup
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:739,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 745
    functionName: eap_gpsk_get_emsk
    functionSourceFile: /src/hostap/src/eap_peer/eap_gpsk.c
    functionUses: 0
    functionsReached:
    - os_memdup
    linkageType: ''
    returnType: u8
    signature: u8 * eap_gpsk_get_emsk(struct eap_sm *sm, void *priv, size_t *len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memdup
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:756,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 762
    functionName: eap_gpsk_get_session_id
    functionSourceFile: /src/hostap/src/eap_peer/eap_gpsk.c
    functionUses: 0
    functionsReached:
    - os_memdup
    linkageType: ''
    returnType: u8
    signature: u8 * eap_gpsk_get_session_id(struct eap_sm *sm, void *priv, size_t
      *len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_peer_method_alloc
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:769,1
    - Dst: eap_peer_method_register
      Src: /src/hostap/src/eap_peer/eap_gpsk.c:782,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 783
    functionName: eap_peer_gpsk_register
    functionSourceFile: /src/hostap/src/eap_peer/eap_gpsk.c
    functionUses: 1
    functionsReached:
    - eap_peer_method_register
    - eap_peer_method_alloc
    linkageType: ''
    returnType: int
    signature: int eap_peer_gpsk_register(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/eap_teap.c:71,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/eap_teap.c:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - data
    - phase1
    argTypes:
    - struct eap_teap_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 77
    functionName: eap_teap_parse_phase1
    functionSourceFile: /src/hostap/src/eap_peer/eap_teap.c
    functionUses: 0
    functionsReached:
    - os_strstr
    linkageType: ''
    returnType: void
    signature: "void eap_teap_parse_phase1(struct eap_teap_data *data,\n\t\t\t\t  const
      char *phase1)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: eap_get_config
      Src: /src/hostap/src/eap_peer/eap_teap.c:83,1
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_peer/eap_teap.c:88,1
    - Dst: eap_teap_parse_phase1
      Src: /src/hostap/src/eap_peer/eap_teap.c:94,1
    - Dst: eap_peer_select_phase2_methods
      Src: /src/hostap/src/eap_peer/eap_teap.c:96,1
    - Dst: eap_teap_deinit
      Src: /src/hostap/src/eap_peer/eap_teap.c:99,1
    - Dst: eap_peer_tls_ssl_init
      Src: /src/hostap/src/eap_peer/eap_teap.c:106,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_teap.c:107,1
    - Dst: eap_teap_deinit
      Src: /src/hostap/src/eap_peer/eap_teap.c:108,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 113
    functionName: eap_teap_init
    functionSourceFile: /src/hostap/src/eap_peer/eap_teap.c
    functionUses: 0
    functionsReached:
    - eap_get_config
    - wpa_printf
    - eap_teap_deinit
    - eap_peer_select_phase2_methods
    - eap_teap_parse_phase1
    - os_zalloc
    - eap_peer_tls_ssl_init
    linkageType: ''
    returnType: void
    signature: void * eap_teap_init(struct eap_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forced_memzero
      Src: /src/hostap/src/eap_peer/eap_teap.c:118,1
    - Dst: forced_memzero
      Src: /src/hostap/src/eap_peer/eap_teap.c:119,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_teap.c:120,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_teap.c:122,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_teap.c:124,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_teap.c:126,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_teap.c:128,1
    - Dst: forced_memzero
      Src: /src/hostap/src/eap_peer/eap_teap.c:130,1
    - Dst: forced_memzero
      Src: /src/hostap/src/eap_peer/eap_teap.c:131,1
    - Dst: forced_memzero
      Src: /src/hostap/src/eap_peer/eap_teap.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct eap_teap_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 133
    functionName: eap_teap_clear
    functionSourceFile: /src/hostap/src/eap_peer/eap_teap.c
    functionUses: 0
    functionsReached:
    - os_free
    - forced_memzero
    - wpabuf_free
    linkageType: ''
    returnType: void
    signature: void eap_teap_clear(struct eap_teap_data *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct eap_teap_data*::phase2_method::deinit
      Src: /src/hostap/src/eap_peer/eap_teap.c:143,1
    - Dst: eap_teap_clear
      Src: /src/hostap/src/eap_peer/eap_teap.c:144,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_teap.c:145,1
    - Dst: eap_peer_tls_ssl_deinit
      Src: /src/hostap/src/eap_peer/eap_teap.c:146,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_teap.c:148,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 149
    functionName: eap_teap_deinit
    functionSourceFile: /src/hostap/src/eap_peer/eap_teap.c
    functionUses: 1
    functionsReached:
    - struct eap_teap_data*::phase2_method::deinit
    - os_free
    - eap_teap_clear
    - eap_peer_tls_ssl_deinit
    linkageType: ''
    returnType: void
    signature: void eap_teap_deinit(struct eap_sm *sm, void *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_teap.c:154,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_teap.c:156,1
    - Dst: eap_teap_derive_eap_msk
      Src: /src/hostap/src/eap_peer/eap_teap.c:159,1
    - Dst: eap_teap_derive_eap_emsk
      Src: /src/hostap/src/eap_peer/eap_teap.c:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct eap_teap_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 166
    functionName: eap_teap_derive_msk
    functionSourceFile: /src/hostap/src/eap_peer/eap_teap.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_teap_derive_eap_emsk
    - wpa_hexdump
    - eap_teap_derive_eap_msk
    linkageType: ''
    returnType: int
    signature: int eap_teap_derive_msk(struct eap_teap_data *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tls_connection_export_key
      Src: /src/hostap/src/eap_peer/eap_teap.c:175,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_peer/eap_teap.c:180,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_teap.c:183,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_teap.c:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - sm
    - data
    argTypes:
    - struct eap_sm*
    - struct eap_teap_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 187
    functionName: eap_teap_derive_key_auth
    functionSourceFile: /src/hostap/src/eap_peer/eap_teap.c
    functionUses: 0
    functionsReached:
    - wpa_hexdump_key
    - os_memcpy
    - tls_connection_export_key
    linkageType: ''
    returnType: int
    signature: "int eap_teap_derive_key_auth(struct eap_sm *sm,\n\t\t\t\t    struct
      eap_teap_data *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_peer_get_eap_method
      Src: /src/hostap/src/eap_peer/eap_teap.c:196,1
    - Dst: struct eap_teap_data*::phase2_method::init
      Src: /src/hostap/src/eap_peer/eap_teap.c:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - sm
    - data
    argTypes:
    - struct eap_sm*
    - struct eap_teap_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 213
    functionName: eap_teap_init_phase2_method
    functionSourceFile: /src/hostap/src/eap_peer/eap_teap.c
    functionUses: 0
    functionsReached:
    - struct eap_teap_data*::phase2_method::init
    - eap_peer_get_eap_method
    linkageType: ''
    returnType: int
    signature: "int eap_teap_init_phase2_method(struct eap_sm *sm,\n\t\t\t\t       struct
      eap_teap_data *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_teap.c:225,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_teap.c:240,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 3
    argNames:
    - data
    - vendor
    - type
    argTypes:
    - struct eap_teap_data*
    - int
    - enum eap_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 253
    functionName: eap_teap_select_phase2_method
    functionSourceFile: /src/hostap/src/eap_peer/eap_teap.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int eap_teap_select_phase2_method(struct eap_teap_data *data,\n\t\t\t\t\t
      int vendor, enum eap_type type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_teap.c:262,1
    - Dst: struct eap_teap_data*::phase2_method::deinit
      Src: /src/hostap/src/eap_peer/eap_teap.c:264,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - sm
    - data
    argTypes:
    - struct eap_sm*
    - struct eap_teap_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 269
    functionName: eap_teap_deinit_inner_eap
    functionSourceFile: /src/hostap/src/eap_peer/eap_teap.c
    functionUses: 0
    functionsReached:
    - struct eap_teap_data*::phase2_method::deinit
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: "void eap_teap_deinit_inner_eap(struct eap_sm *sm,\n\t\t\t\t      struct
      eap_teap_data *data)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: be_to_host16
      Src: /src/hostap/src/eap_peer/eap_teap.c:278,1
    - Dst: eap_get_config
      Src: /src/hostap/src/eap_peer/eap_teap.c:281,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_teap.c:287,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_teap.c:296,1
    - Dst: WPA_GET_BE24
      Src: /src/hostap/src/eap_peer/eap_teap.c:301,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/eap_peer/eap_teap.c:302,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_teap.c:304,1
    - Dst: eap_teap_deinit_inner_eap
      Src: /src/hostap/src/eap_peer/eap_teap.c:307,1
    - Dst: eap_sm_buildIdentity
      Src: /src/hostap/src/eap_peer/eap_teap.c:308,1
    - Dst: eap_teap_deinit_inner_eap
      Src: /src/hostap/src/eap_peer/eap_teap.c:315,1
    - Dst: eap_teap_select_phase2_method
      Src: /src/hostap/src/eap_peer/eap_teap.c:319,1
    - Dst: eap_peer_tls_phase2_nak
      Src: /src/hostap/src/eap_peer/eap_teap.c:320,1
    - Dst: eap_teap_init_phase2_method
      Src: /src/hostap/src/eap_peer/eap_teap.c:327,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_teap.c:329,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_peer/eap_teap.c:337,1
    - Dst: wpabuf_set
      Src: /src/hostap/src/eap_peer/eap_teap.c:338,1
    - Dst: struct eap_teap_data*::phase2_method::process
      Src: /src/hostap/src/eap_peer/eap_teap.c:339,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_teap.c:360,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/eap_peer/eap_teap.c:361,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 53
    argCount: 5
    argNames:
    - sm
    - data
    - ret
    - hdr
    - resp
    argTypes:
    - struct eap_sm*
    - struct eap_teap_data*
    - struct eap_method_ret*
    - struct eap_hdr*
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 272
    functionDepth: 2
    functionLinenumber: 272
    functionLinenumberEnd: 366
    functionName: eap_teap_phase2_request
    functionSourceFile: /src/hostap/src/eap_peer/eap_teap.c
    functionUses: 0
    functionsReached:
    - be_to_host16
    - eap_get_config
    - wpa_printf
    - eap_teap_select_phase2_method
    - eap_sm_buildIdentity
    - os_memset
    - wpabuf_free
    - wpabuf_alloc_copy
    - wpabuf_set
    - WPA_GET_BE24
    - eap_teap_deinit_inner_eap
    - eap_teap_init_phase2_method
    - WPA_GET_BE32
    - struct eap_teap_data*::phase2_method::process
    - eap_peer_tls_phase2_nak
    linkageType: ''
    returnType: int
    signature: "int eap_teap_phase2_request(struct eap_sm *sm,\n\t\t\t\t   struct
      eap_teap_data *data,\n\t\t\t\t   struct eap_method_ret *ret,\n\t\t\t\t   struct
      eap_hdr *hdr,\n\t\t\t\t   struct wpabuf **resp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_teap.c:374,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eap_peer/eap_teap.c:377,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/eap_teap.c:380,1
    - Dst: host_to_be16
      Src: /src/hostap/src/eap_peer/eap_teap.c:381,1
    - Dst: host_to_be16
      Src: /src/hostap/src/eap_peer/eap_teap.c:382,1
    - Dst: host_to_be32
      Src: /src/hostap/src/eap_peer/eap_teap.c:383,1
    - Dst: host_to_be16
      Src: /src/hostap/src/eap_peer/eap_teap.c:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - vendor_id
    - tlv_type
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 386
    functionName: eap_teap_tlv_nak
    functionSourceFile: /src/hostap/src/eap_peer/eap_teap.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put
    - host_to_be16
    - host_to_be32
    - wpabuf_alloc
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * eap_teap_tlv_nak(int vendor_id, int tlv_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eap_teap_tlv_identity_type
      Src: /src/hostap/src/eap_peer/eap_teap.c:394,1
    - Dst: wpabuf_concat
      Src: /src/hostap/src/eap_peer/eap_teap.c:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sm
    - msg
    argTypes:
    - struct eap_sm*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 398
    functionName: eap_teap_add_identity_type
    functionSourceFile: /src/hostap/src/eap_peer/eap_teap.c
    functionUses: 0
    functionsReached:
    - eap_teap_tlv_identity_type
    - wpabuf_concat
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_teap_add_identity_type(struct eap_sm *sm,\n\t\t\t\t\t\t
      \ struct wpabuf *msg)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_teap.c:411,1
    - Dst: be_to_host16
      Src: /src/hostap/src/eap_peer/eap_teap.c:418,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_teap.c:419,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_teap.c:425,1
    - Dst: eap_teap_phase2_request
      Src: /src/hostap/src/eap_peer/eap_teap.c:431,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_teap.c:432,1
    - Dst: eap_teap_tlv_eap_payload
      Src: /src/hostap/src/eap_peer/eap_teap.c:437,1
    - Dst: eap_teap_add_identity_type
      Src: /src/hostap/src/eap_peer/eap_teap.c:439,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 6
    argNames:
    - sm
    - data
    - ret
    - eap_payload_tlv
    - eap_payload_tlv_len
    - req_id_type
    argTypes:
    - struct eap_sm*
    - struct eap_teap_data*
    - struct eap_method_ret*
    - u8*
    - size_t
    - enum teap_identity_types
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 401
    functionDepth: 3
    functionLinenumber: 401
    functionLinenumberEnd: 442
    functionName: eap_teap_process_eap_payload_tlv
    functionSourceFile: /src/hostap/src/eap_peer/eap_teap.c
    functionUses: 0
    functionsReached:
    - be_to_host16
    - wpa_printf
    - eap_teap_add_identity_type
    - eap_teap_tlv_eap_payload
    - eap_teap_phase2_request
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_teap_process_eap_payload_tlv(\n\tstruct eap_sm
      *sm, struct eap_teap_data *data,\n\tstruct eap_method_ret *ret,\n\tu8 *eap_payload_tlv,
      size_t eap_payload_tlv_len,\n\tenum teap_identity_types req_id_type)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_peer/eap_teap.c:454,1
    - Dst: eap_get_config_identity
      Src: /src/hostap/src/eap_peer/eap_teap.c:458,1
    - Dst: eap_get_config_password
      Src: /src/hostap/src/eap_peer/eap_teap.c:459,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_teap.c:462,1
    - Dst: eap_teap_tlv_nak
      Src: /src/hostap/src/eap_peer/eap_teap.c:464,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eap_peer/eap_teap.c:468,1
    - Dst: eap_teap_put_tlv_hdr
      Src: /src/hostap/src/eap_peer/eap_teap.c:471,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/eap_teap.c:472,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_peer/eap_teap.c:473,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/eap_teap.c:474,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_peer/eap_teap.c:475,1
    - Dst: wpa_hexdump_buf_key
      Src: /src/hostap/src/eap_peer/eap_teap.c:476,1
    - Dst: eap_teap_add_identity_type
      Src: /src/hostap/src/eap_peer/eap_teap.c:479,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 5
    argNames:
    - sm
    - data
    - basic_auth_req
    - basic_auth_req_len
    - req_id_type
    argTypes:
    - struct eap_sm*
    - struct eap_teap_data*
    - u8*
    - size_t
    - enum teap_identity_types
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 445
    functionDepth: 2
    functionLinenumber: 445
    functionLinenumberEnd: 486
    functionName: eap_teap_process_basic_auth_req
    functionSourceFile: /src/hostap/src/eap_peer/eap_teap.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put_u8
    - wpabuf_put_data
    - eap_teap_add_identity_type
    - eap_teap_tlv_nak
    - wpa_hexdump_buf_key
    - eap_teap_put_tlv_hdr
    - eap_get_config_identity
    - wpabuf_alloc
    - eap_get_config_password
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_teap_process_basic_auth_req(\n\tstruct eap_sm
      *sm, struct eap_teap_data *data,\n\tu8 *basic_auth_req, size_t basic_auth_req_len,\n\tenum
      teap_identity_types req_id_type)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_teap.c:498,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_teap.c:501,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_teap.c:503,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_teap.c:505,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_teap.c:512,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_teap.c:519,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - data
    - cb
    argTypes:
    - struct eap_teap_data*
    - struct teap_tlv_crypto_binding*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 525
    functionName: eap_teap_validate_crypto_binding
    functionSourceFile: /src/hostap/src/eap_peer/eap_teap.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    linkageType: ''
    returnType: int
    signature: "int eap_teap_validate_crypto_binding(struct eap_teap_data *data,\n\t\t\t\t
      const struct teap_tlv_crypto_binding *cb)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: host_to_be16
      Src: /src/hostap/src/eap_peer/eap_teap.c:536,1
    - Dst: host_to_be16
      Src: /src/hostap/src/eap_peer/eap_teap.c:538,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_teap.c:550,1
    - Dst: inc_byte_array
      Src: /src/hostap/src/eap_peer/eap_teap.c:551,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_peer/eap_teap.c:552,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_peer/eap_teap.c:553,1
    - Dst: eap_teap_compound_mac
      Src: /src/hostap/src/eap_peer/eap_teap.c:556,1
    - Dst: eap_teap_compound_mac
      Src: /src/hostap/src/eap_peer/eap_teap.c:561,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_teap.c:566,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_teap.c:569,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_teap.c:571,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_teap.c:573,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 5
    argNames:
    - data
    - rbind
    - cb
    - cmk_msk
    - cmk_emsk
    argTypes:
    - struct eap_teap_data*
    - struct teap_tlv_crypto_binding*
    - struct teap_tlv_crypto_binding*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 577
    functionName: eap_teap_write_crypto_binding
    functionSourceFile: /src/hostap/src/eap_peer/eap_teap.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_printf
    - inc_byte_array
    - wpa_hexdump
    - host_to_be16
    - eap_teap_compound_mac
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int eap_teap_write_crypto_binding(\n\tstruct eap_teap_data *data,\n\tstruct
      teap_tlv_crypto_binding *rbind,\n\tconst struct teap_tlv_crypto_binding *cb,\n\tconst
      u8 *cmk_msk, const u8 *cmk_emsk)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_teap.c:587,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_teap.c:595,1
    - Dst: struct eap_teap_data*::phase2_method::isKeyAvailable
      Src: /src/hostap/src/eap_peer/eap_teap.c:600,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_teap.c:601,1
    - Dst: struct eap_teap_data*::phase2_method::getKey
      Src: /src/hostap/src/eap_peer/eap_teap.c:608,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_teap.c:611,1
    - Dst: struct eap_teap_data*::phase2_method::get_emsk
      Src: /src/hostap/src/eap_peer/eap_teap.c:619,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_teap.c:628,1
    - Dst: eap_teap_derive_imck
      Src: /src/hostap/src/eap_peer/eap_teap.c:630,1
    - Dst: eap_teap_derive_imck
      Src: /src/hostap/src/eap_peer/eap_teap.c:635,1
    - Dst: eap_teap_derive_imck
      Src: /src/hostap/src/eap_peer/eap_teap.c:641,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/eap_peer/eap_teap.c:646,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/eap_peer/eap_teap.c:647,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 4
    argNames:
    - sm
    - data
    - cmk_msk
    - cmk_emsk
    argTypes:
    - struct eap_sm*
    - struct eap_teap_data*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 580
    functionDepth: 1
    functionLinenumber: 580
    functionLinenumberEnd: 653
    functionName: eap_teap_get_cmk
    functionSourceFile: /src/hostap/src/eap_peer/eap_teap.c
    functionUses: 0
    functionsReached:
    - struct eap_teap_data*::phase2_method::isKeyAvailable
    - wpa_printf
    - eap_teap_derive_imck
    - struct eap_teap_data*::phase2_method::get_emsk
    - struct eap_teap_data*::phase2_method::getKey
    - bin_clear_free
    linkageType: ''
    returnType: int
    signature: "int eap_teap_get_cmk(struct eap_sm *sm, struct eap_teap_data *data,\n\t\t\t
      \   u8 *cmk_msk, u8 *cmk_emsk)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_teap.c:661,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_peer/eap_teap.c:662,1
    - Dst: tls_get_tls_unique
      Src: /src/hostap/src/eap_peer/eap_teap.c:667,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_teap.c:670,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_teap.c:672,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_teap.c:677,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct eap_teap_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 680
    functionName: eap_teap_session_id
    functionSourceFile: /src/hostap/src/eap_peer/eap_teap.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    - os_malloc
    - tls_get_tls_unique
    - os_free
    linkageType: ''
    returnType: int
    signature: int eap_teap_session_id(struct eap_teap_data *data)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: eap_teap_validate_crypto_binding
      Src: /src/hostap/src/eap_peer/eap_teap.c:699,1
    - Dst: eap_teap_get_cmk
      Src: /src/hostap/src/eap_peer/eap_teap.c:700,1
    - Dst: eap_teap_compound_mac
      Src: /src/hostap/src/eap_peer/eap_teap.c:713,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/eap_peer/eap_teap.c:718,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_teap.c:720,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_teap.c:722,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_teap.c:726,1
    - Dst: eap_teap_compound_mac
      Src: /src/hostap/src/eap_peer/eap_teap.c:735,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/eap_peer/eap_teap.c:740,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_teap.c:742,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_teap.c:744,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_teap.c:748,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_teap.c:756,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_teap.c:767,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_teap.c:768,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_teap.c:771,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_teap.c:772,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_peer/eap_teap.c:777,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eap_peer/eap_teap.c:781,1
    - Dst: eap_teap_derive_msk
      Src: /src/hostap/src/eap_peer/eap_teap.c:785,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_teap.c:786,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_teap.c:790,1
    - Dst: eap_teap_session_id
      Src: /src/hostap/src/eap_peer/eap_teap.c:794,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_teap.c:795,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/eap_teap.c:799,1
    - Dst: eap_teap_write_crypto_binding
      Src: /src/hostap/src/eap_peer/eap_teap.c:800,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_teap.c:803,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 67
    argCount: 5
    argNames:
    - sm
    - data
    - ret
    - cb
    - bind_len
    argTypes:
    - struct eap_sm*
    - struct eap_teap_data*
    - struct eap_method_ret*
    - struct teap_tlv_crypto_binding*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 683
    functionDepth: 2
    functionLinenumber: 683
    functionLinenumberEnd: 808
    functionName: eap_teap_process_crypto_binding
    functionSourceFile: /src/hostap/src/eap_peer/eap_teap.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_hexdump_key
    - eap_teap_session_id
    - wpa_hexdump
    - wpabuf_put
    - eap_teap_compound_mac
    - wpabuf_free
    - os_memcmp_const
    - eap_teap_validate_crypto_binding
    - wpabuf_alloc
    - eap_teap_write_crypto_binding
    - eap_teap_derive_msk
    - eap_teap_get_cmk
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_teap_process_crypto_binding(\n\tstruct eap_sm
      *sm, struct eap_teap_data *data,\n\tstruct eap_method_ret *ret,\n\tconst struct
      teap_tlv_crypto_binding *cb, size_t bind_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/eap_peer/eap_teap.c:820,1
    - Dst: wpabuf_mhead
      Src: /src/hostap/src/eap_peer/eap_teap.c:823,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_teap.c:824,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_peer/eap_teap.c:827,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_peer/eap_teap.c:829,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_teap.c:832,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_teap.c:835,1
    - Dst: eap_teap_tlv_type_str
      Src: /src/hostap/src/eap_peer/eap_teap.c:837,1
    - Dst: eap_teap_parse_tlv
      Src: /src/hostap/src/eap_peer/eap_teap.c:841,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_teap.c:846,1
    - Dst: eap_teap_tlv_nak
      Src: /src/hostap/src/eap_peer/eap_teap.c:849,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_teap.c:853,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 3
    argNames:
    - decrypted
    - tlv
    - resp
    argTypes:
    - struct wpabuf*
    - struct eap_teap_tlv_parse*
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 811
    functionDepth: 2
    functionLinenumber: 811
    functionLinenumberEnd: 862
    functionName: eap_teap_parse_decrypted
    functionSourceFile: /src/hostap/src/eap_peer/eap_teap.c
    functionUses: 0
    functionsReached:
    - WPA_GET_BE16
    - wpa_printf
    - wpabuf_len
    - eap_teap_tlv_type_str
    - eap_teap_tlv_nak
    - wpabuf_mhead
    - eap_teap_parse_tlv
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int eap_teap_parse_decrypted(struct wpabuf *decrypted,\n\t\t\t\t    struct
      eap_teap_tlv_parse *tlv,\n\t\t\t\t    struct wpabuf **resp)"
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: eap_teap_parse_decrypted
      Src: /src/hostap/src/eap_peer/eap_teap.c:878,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_teap.c:892,1
    - Dst: eap_teap_tlv_result
      Src: /src/hostap/src/eap_peer/eap_teap.c:894,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_teap.c:903,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_teap.c:913,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_teap.c:923,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_teap.c:933,1
    - Dst: eap_teap_process_crypto_binding
      Src: /src/hostap/src/eap_peer/eap_teap.c:940,1
    - Dst: wpabuf_concat
      Src: /src/hostap/src/eap_peer/eap_teap.c:947,1
    - Dst: eap_get_config
      Src: /src/hostap/src/eap_peer/eap_teap.c:958,1
    - Dst: eap_get_config
      Src: /src/hostap/src/eap_peer/eap_teap.c:966,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_teap.c:968,1
    - Dst: eap_peer_select_phase2_methods
      Src: /src/hostap/src/eap_peer/eap_teap.c:972,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_teap.c:976,1
    - Dst: eap_teap_process_basic_auth_req
      Src: /src/hostap/src/eap_peer/eap_teap.c:984,1
    - Dst: wpabuf_concat
      Src: /src/hostap/src/eap_peer/eap_teap.c:990,1
    - Dst: eap_teap_process_eap_payload_tlv
      Src: /src/hostap/src/eap_peer/eap_teap.c:992,1
    - Dst: wpabuf_concat
      Src: /src/hostap/src/eap_peer/eap_teap.c:998,1
    - Dst: eap_teap_tlv_result
      Src: /src/hostap/src/eap_peer/eap_teap.c:1002,1
    - Dst: wpabuf_concat
      Src: /src/hostap/src/eap_peer/eap_teap.c:1005,1
    - Dst: tls_connection_get_own_cert_used
      Src: /src/hostap/src/eap_peer/eap_teap.c:1013,1
    - Dst: eap_teap_derive_msk
      Src: /src/hostap/src/eap_peer/eap_teap.c:1014,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_teap.c:1017,1
    - Dst: eap_teap_tlv_result
      Src: /src/hostap/src/eap_peer/eap_teap.c:1025,1
    - Dst: wpabuf_concat
      Src: /src/hostap/src/eap_peer/eap_teap.c:1026,1
    - Dst: eap_teap_tlv_error
      Src: /src/hostap/src/eap_peer/eap_teap.c:1029,1
    - Dst: wpabuf_concat
      Src: /src/hostap/src/eap_peer/eap_teap.c:1030,1
    - Dst: eap_teap_tlv_result
      Src: /src/hostap/src/eap_peer/eap_teap.c:1036,1
    - Dst: wpabuf_concat
      Src: /src/hostap/src/eap_peer/eap_teap.c:1037,1
    - Dst: eap_teap_tlv_result
      Src: /src/hostap/src/eap_peer/eap_teap.c:1041,1
    - Dst: wpabuf_concat
      Src: /src/hostap/src/eap_peer/eap_teap.c:1044,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_teap.c:1051,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_teap.c:1059,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eap_peer/eap_teap.c:1061,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/eap_peer/eap_teap.c:1068,1
    - Dst: eap_peer_tls_encrypt
      Src: /src/hostap/src/eap_peer/eap_teap.c:1069,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_teap.c:1072,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_teap.c:1075,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 140
    argCount: 6
    argNames:
    - sm
    - data
    - ret
    - identifier
    - decrypted
    - out_data
    argTypes:
    - struct eap_sm*
    - struct eap_teap_data*
    - struct eap_method_ret*
    - u8
    - struct wpabuf*
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1078
      start: 865
    functionDepth: 4
    functionLinenumber: 865
    functionLinenumberEnd: 1078
    functionName: eap_teap_process_decrypted
    functionSourceFile: /src/hostap/src/eap_peer/eap_teap.c
    functionUses: 0
    functionsReached:
    - eap_get_config
    - eap_teap_tlv_result
    - wpa_printf
    - eap_teap_process_eap_payload_tlv
    - eap_peer_select_phase2_methods
    - wpabuf_free
    - eap_teap_process_basic_auth_req
    - eap_teap_tlv_error
    - eap_peer_tls_encrypt
    - eap_teap_process_crypto_binding
    - tls_connection_get_own_cert_used
    - wpabuf_alloc
    - wpabuf_concat
    - os_free
    - eap_teap_derive_msk
    - eap_teap_parse_decrypted
    - wpa_hexdump_buf
    linkageType: ''
    returnType: int
    signature: "int eap_teap_process_decrypted(struct eap_sm *sm,\n\t\t\t\t      struct
      eap_teap_data *data,\n\t\t\t\t      struct eap_method_ret *ret,\n\t\t\t\t      u8
      identifier,\n\t\t\t\t      struct wpabuf *decrypted,\n\t\t\t\t      struct wpabuf
      **out_data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_teap.c:1089,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_teap.c:1091,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_teap.c:1094,1
    - Dst: eap_peer_tls_reset_input
      Src: /src/hostap/src/eap_peer/eap_teap.c:1097,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_teap.c:1104,1
    - Dst: eap_peer_tls_encrypt
      Src: /src/hostap/src/eap_peer/eap_teap.c:1106,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_teap.c:1111,1
    - Dst: eap_peer_tls_decrypt
      Src: /src/hostap/src/eap_peer/eap_teap.c:1120,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/eap_peer/eap_teap.c:1125,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_teap.c:1128,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_teap.c:1129,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_teap.c:1131,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_teap.c:1132,1
    - Dst: eap_teap_process_decrypted
      Src: /src/hostap/src/eap_peer/eap_teap.c:1136,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_teap.c:1139,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 6
    argNames:
    - sm
    - data
    - ret
    - identifier
    - in_data
    - out_data
    argTypes:
    - struct eap_sm*
    - struct eap_teap_data*
    - struct eap_method_ret*
    - u8
    - struct wpabuf*
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1081
    functionDepth: 5
    functionLinenumber: 1081
    functionLinenumberEnd: 1142
    functionName: eap_teap_decrypt
    functionSourceFile: /src/hostap/src/eap_peer/eap_teap.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_teap_process_decrypted
    - wpabuf_len
    - eap_peer_tls_reset_input
    - wpabuf_free
    - eap_peer_tls_encrypt
    - eap_peer_tls_decrypt
    - wpa_hexdump_buf
    linkageType: ''
    returnType: int
    signature: "int eap_teap_decrypt(struct eap_sm *sm, struct eap_teap_data *data,\n\t\t\t
      \   struct eap_method_ret *ret, u8 identifier,\n\t\t\t    const struct wpabuf
      *in_data,\n\t\t\t    struct wpabuf **out_data)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_teap.c:1156,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_teap.c:1160,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_teap.c:1167,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_teap.c:1169,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_teap.c:1177,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/eap_peer/eap_teap.c:1182,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_teap.c:1187,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_teap.c:1195,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_teap.c:1197,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/eap_peer/eap_teap.c:1198,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_teap.c:1204,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_teap.c:1214,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_peer/eap_teap.c:1218,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_peer/eap_teap.c:1220,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_teap.c:1225,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_teap.c:1229,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_teap.c:1235,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_teap.c:1238,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_teap.c:1244,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_teap.c:1251,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 68
    argCount: 5
    argNames:
    - sm
    - data
    - flags
    - pos
    - left
    argTypes:
    - struct eap_sm*
    - struct eap_teap_data*
    - u8
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1258
      start: 1145
    functionDepth: 1
    functionLinenumber: 1145
    functionLinenumberEnd: 1258
    functionName: eap_teap_process_start
    functionSourceFile: /src/hostap/src/eap_peer/eap_teap.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - WPA_GET_BE16
    - wpa_hexdump
    - wpabuf_free
    - wpabuf_alloc_copy
    - WPA_GET_BE32
    linkageType: ''
    returnType: int
    signature: "int eap_teap_process_start(struct eap_sm *sm,\n\t\t\t\t  struct eap_teap_data
      *data, u8 flags,\n\t\t\t\t  const u8 *pos, size_t left)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_teap.c:1270,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eap_peer/eap_teap.c:1271,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_teap.c:1273,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/eap_peer/eap_teap.c:1278,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/eap_peer/eap_teap.c:1279,1
    - Dst: wpabuf_put_be32
      Src: /src/hostap/src/eap_peer/eap_teap.c:1280,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/eap_peer/eap_teap.c:1281,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/eap_peer/eap_teap.c:1284,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eap_peer/eap_teap.c:1287,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_teap.c:1287,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_teap.c:1288,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_teap.c:1290,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_peer/eap_teap.c:1294,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/eap_teap.c:1295,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/eap_teap.c:1296,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_peer/eap_teap.c:1297,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/eap_peer/eap_teap.c:1299,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_teap.c:1299,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/eap_teap.c:1300,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_teap.c:1305,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_teap.c:1307,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_teap.c:1308,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/eap_teap.c:1312,1
    - Dst: wpabuf_put_be32
      Src: /src/hostap/src/eap_peer/eap_teap.c:1314,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_teap.c:1314,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_peer/eap_teap.c:1316,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_teap.c:1316,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/eap_peer/eap_teap.c:1317,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_teap.c:1319,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/eap_peer/eap_teap.c:1320,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 39
    argCount: 2
    argNames:
    - data
    - resp
    argTypes:
    - struct eap_teap_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1324
      start: 1262
    functionDepth: 1
    functionLinenumber: 1262
    functionLinenumberEnd: 1324
    functionName: eap_teap_add_stub_outer_tlvs
    functionSourceFile: /src/hostap/src/eap_peer/eap_teap.c
    functionUses: 0
    functionsReached:
    - WPA_GET_BE16
    - wpa_printf
    - wpabuf_put_u8
    - wpabuf_put_data
    - wpabuf_len
    - wpabuf_free
    - wpabuf_put_be16
    - wpabuf_head
    - wpabuf_alloc
    - wpabuf_put_buf
    - wpabuf_put_be32
    - wpa_hexdump_buf
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_teap_add_stub_outer_tlvs(struct eap_teap_data
      *data,\n\t\t\t\t\t\t    struct wpabuf *resp)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: eap_peer_tls_process_init
      Src: /src/hostap/src/eap_peer/eap_teap.c:1341,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_peer/eap_teap.c:1346,1
    - Dst: eap_teap_process_start
      Src: /src/hostap/src/eap_peer/eap_teap.c:1350,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_teap.c:1362,1
    - Dst: wpabuf_set
      Src: /src/hostap/src/eap_peer/eap_teap.c:1367,1
    - Dst: tls_connection_established
      Src: /src/hostap/src/eap_peer/eap_teap.c:1370,1
    - Dst: eap_teap_decrypt
      Src: /src/hostap/src/eap_peer/eap_teap.c:1373,1
    - Dst: eap_get_config
      Src: /src/hostap/src/eap_peer/eap_teap.c:1385,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_teap.c:1389,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_teap.c:1399,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_teap.c:1407,1
    - Dst: eap_peer_tls_process_helper
      Src: /src/hostap/src/eap_peer/eap_teap.c:1413,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_teap.c:1418,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_teap.c:1426,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_teap.c:1428,1
    - Dst: tls_connection_established
      Src: /src/hostap/src/eap_peer/eap_teap.c:1433,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_teap.c:1434,1
    - Dst: tls_connection_get_cipher_suite
      Src: /src/hostap/src/eap_peer/eap_teap.c:1437,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_teap.c:1438,1
    - Dst: eap_teap_derive_key_auth
      Src: /src/hostap/src/eap_peer/eap_teap.c:1443,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_teap.c:1444,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_teap.c:1448,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_teap.c:1457,1
    - Dst: eap_teap_decrypt
      Src: /src/hostap/src/eap_peer/eap_teap.c:1460,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_teap.c:1465,1
    - Dst: eap_peer_tls_build_ack
      Src: /src/hostap/src/eap_peer/eap_teap.c:1466,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_teap.c:1472,1
    - Dst: eap_teap_add_stub_outer_tlvs
      Src: /src/hostap/src/eap_peer/eap_teap.c:1473,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 83
    argCount: 4
    argNames:
    - sm
    - priv
    - ret
    - reqData
    argTypes:
    - struct eap_sm*
    - void*
    - struct eap_method_ret*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1477
      start: 1328
    functionDepth: 6
    functionLinenumber: 1328
    functionLinenumberEnd: 1477
    functionName: eap_teap_process
    functionSourceFile: /src/hostap/src/eap_peer/eap_teap.c
    functionUses: 0
    functionsReached:
    - eap_get_config
    - eap_teap_add_stub_outer_tlvs
    - wpa_printf
    - wpabuf_len
    - eap_teap_decrypt
    - wpabuf_free
    - eap_teap_process_start
    - wpabuf_head
    - wpabuf_set
    - eap_peer_tls_process_helper
    - tls_connection_established
    - eap_peer_tls_process_init
    - eap_peer_tls_build_ack
    - eap_teap_derive_key_auth
    - tls_connection_get_cipher_suite
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_teap_process(struct eap_sm *sm, void *priv,\n\t\t\t\t\tstruct
      eap_method_ret *ret,\n\t\t\t\t\tconst struct wpabuf *reqData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tls_connection_established
      Src: /src/hostap/src/eap_peer/eap_teap.c:1485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1486
      start: 1481
    functionDepth: 0
    functionLinenumber: 1481
    functionLinenumberEnd: 1486
    functionName: eap_teap_has_reauth_data
    functionSourceFile: /src/hostap/src/eap_peer/eap_teap.c
    functionUses: 0
    functionsReached:
    - tls_connection_established
    linkageType: ''
    returnType: bool
    signature: bool eap_teap_has_reauth_data(struct eap_sm *sm, void *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct eap_teap_data*::phase2_method::deinit_for_reauth
      Src: /src/hostap/src/eap_peer/eap_teap.c:1495,1
    - Dst: eap_teap_clear
      Src: /src/hostap/src/eap_peer/eap_teap.c:1496,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1497
      start: 1489
    functionDepth: 2
    functionLinenumber: 1489
    functionLinenumberEnd: 1497
    functionName: eap_teap_deinit_for_reauth
    functionSourceFile: /src/hostap/src/eap_peer/eap_teap.c
    functionUses: 0
    functionsReached:
    - struct eap_teap_data*::phase2_method::deinit_for_reauth
    - eap_teap_clear
    linkageType: ''
    returnType: void
    signature: void eap_teap_deinit_for_reauth(struct eap_sm *sm, void *priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eap_peer_tls_reauth_init
      Src: /src/hostap/src/eap_peer/eap_teap.c:1504,1
    - Dst: eap_teap_deinit
      Src: /src/hostap/src/eap_peer/eap_teap.c:1505,1
    - Dst: struct eap_teap_data*::phase2_method::init_for_reauth
      Src: /src/hostap/src/eap_peer/eap_teap.c:1510,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1519
      start: 1500
    functionDepth: 3
    functionLinenumber: 1500
    functionLinenumberEnd: 1519
    functionName: eap_teap_init_for_reauth
    functionSourceFile: /src/hostap/src/eap_peer/eap_teap.c
    functionUses: 0
    functionsReached:
    - eap_peer_tls_reauth_init
    - eap_teap_deinit
    - struct eap_teap_data*::phase2_method::init_for_reauth
    linkageType: ''
    returnType: void
    signature: void * eap_teap_init_for_reauth(struct eap_sm *sm, void *priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eap_peer_tls_status
      Src: /src/hostap/src/eap_peer/eap_teap.c:1529,1
    - Dst: os_snprintf
      Src: /src/hostap/src/eap_peer/eap_teap.c:1531,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/eap_peer/eap_teap.c:1534,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - sm
    - priv
    - buf
    - buflen
    - verbose
    argTypes:
    - struct eap_sm*
    - void*
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1539
      start: 1523
    functionDepth: 1
    functionLinenumber: 1523
    functionLinenumberEnd: 1539
    functionName: eap_teap_get_status
    functionSourceFile: /src/hostap/src/eap_peer/eap_teap.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - eap_peer_tls_status
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int eap_teap_get_status(struct eap_sm *sm, void *priv, char *buf,\n\t\t\t
      \      size_t buflen, int verbose)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1547
      start: 1542
    functionDepth: 0
    functionLinenumber: 1542
    functionLinenumberEnd: 1547
    functionName: eap_teap_isKeyAvailable
    functionSourceFile: /src/hostap/src/eap_peer/eap_teap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool eap_teap_isKeyAvailable(struct eap_sm *sm, void *priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memdup
      Src: /src/hostap/src/eap_peer/eap_teap.c:1558,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1565
      start: 1550
    functionDepth: 0
    functionLinenumber: 1550
    functionLinenumberEnd: 1565
    functionName: eap_teap_getKey
    functionSourceFile: /src/hostap/src/eap_peer/eap_teap.c
    functionUses: 0
    functionsReached:
    - os_memdup
    linkageType: ''
    returnType: u8
    signature: u8 * eap_teap_getKey(struct eap_sm *sm, void *priv, size_t *len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memdup
      Src: /src/hostap/src/eap_peer/eap_teap.c:1576,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1583
      start: 1568
    functionDepth: 0
    functionLinenumber: 1568
    functionLinenumberEnd: 1583
    functionName: eap_teap_get_session_id
    functionSourceFile: /src/hostap/src/eap_peer/eap_teap.c
    functionUses: 0
    functionsReached:
    - os_memdup
    linkageType: ''
    returnType: u8
    signature: u8 * eap_teap_get_session_id(struct eap_sm *sm, void *priv, size_t
      *len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memdup
      Src: /src/hostap/src/eap_peer/eap_teap.c:1594,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1601
      start: 1586
    functionDepth: 0
    functionLinenumber: 1586
    functionLinenumberEnd: 1601
    functionName: eap_teap_get_emsk
    functionSourceFile: /src/hostap/src/eap_peer/eap_teap.c
    functionUses: 0
    functionsReached:
    - os_memdup
    linkageType: ''
    returnType: u8
    signature: u8 * eap_teap_get_emsk(struct eap_sm *sm, void *priv, size_t *len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_peer_method_alloc
      Src: /src/hostap/src/eap_peer/eap_teap.c:1608,1
    - Dst: eap_peer_method_register
      Src: /src/hostap/src/eap_peer/eap_teap.c:1627,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1628
      start: 1604
    functionDepth: 0
    functionLinenumber: 1604
    functionLinenumberEnd: 1628
    functionName: eap_peer_teap_register
    functionSourceFile: /src/hostap/src/eap_peer/eap_teap.c
    functionUses: 1
    functionsReached:
    - eap_peer_method_register
    - eap_peer_method_alloc
    linkageType: ''
    returnType: int
    signature: int eap_peer_teap_register(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 20
    functionName: eap_otp_init
    functionSourceFile: /src/hostap/src/eap_peer/eap_otp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * eap_otp_init(struct eap_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: eap_otp_deinit
    functionSourceFile: /src/hostap/src/eap_peer/eap_otp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void eap_otp_deinit(struct eap_sm *sm, void *priv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_peer/eap_otp.c:37,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_peer/eap_otp.c:42,1
    - Dst: eap_get_config_otp
      Src: /src/hostap/src/eap_peer/eap_otp.c:45,1
    - Dst: eap_get_config_password
      Src: /src/hostap/src/eap_peer/eap_otp.c:49,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_otp.c:54,1
    - Dst: eap_sm_request_otp
      Src: /src/hostap/src/eap_peer/eap_otp.c:55,1
    - Dst: eap_msg_alloc
      Src: /src/hostap/src/eap_peer/eap_otp.c:66,1
    - Dst: eap_get_id
      Src: /src/hostap/src/eap_peer/eap_otp.c:67,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_peer/eap_otp.c:70,1
    - Dst: wpa_hexdump_ascii_key
      Src: /src/hostap/src/eap_peer/eap_otp.c:71,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_otp.c:75,1
    - Dst: eap_clear_config_otp
      Src: /src/hostap/src/eap_peer/eap_otp.c:76,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 4
    argNames:
    - sm
    - priv
    - ret
    - reqData
    argTypes:
    - struct eap_sm*
    - void*
    - struct eap_method_ret*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 80
    functionName: eap_otp_process
    functionSourceFile: /src/hostap/src/eap_peer/eap_otp.c
    functionUses: 0
    functionsReached:
    - eap_clear_config_otp
    - eap_get_id
    - wpa_printf
    - eap_sm_request_otp
    - wpabuf_put_data
    - eap_get_config_otp
    - eap_msg_alloc
    - wpa_hexdump_ascii_key
    - eap_hdr_validate
    - eap_get_config_password
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_otp_process(struct eap_sm *sm, void *priv,\n\t\t\t\t
      \      struct eap_method_ret *ret,\n\t\t\t\t       const struct wpabuf *reqData)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_peer_method_alloc
      Src: /src/hostap/src/eap_peer/eap_otp.c:87,1
    - Dst: eap_peer_method_register
      Src: /src/hostap/src/eap_peer/eap_otp.c:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 97
    functionName: eap_peer_otp_register
    functionSourceFile: /src/hostap/src/eap_peer/eap_otp.c
    functionUses: 1
    functionsReached:
    - eap_peer_method_register
    - eap_peer_method_alloc
    linkageType: ''
    returnType: int
    signature: int eap_peer_otp_register(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - state
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 75
    functionName: eap_sim_state_txt
    functionSourceFile: /src/hostap/src/eap_peer/eap_sim.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * eap_sim_state_txt(int state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:81,1
    - Dst: eap_sim_state_txt
      Src: /src/hostap/src/eap_peer/eap_sim.c:82,1
    - Dst: eap_sim_state_txt
      Src: /src/hostap/src/eap_peer/eap_sim.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - state
    argTypes:
    - struct eap_sim_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: eap_sim_state
    functionSourceFile: /src/hostap/src/eap_peer/eap_sim.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_sim_state_txt
    linkageType: ''
    returnType: void
    signature: void eap_sim_state(struct eap_sim_data *data, int state)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: eap_get_config
      Src: /src/hostap/src/eap_peer/eap_sim.c:91,1
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_peer/eap_sim.c:93,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/eap_peer/eap_sim.c:97,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:98,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_sim.c:100,1
    - Dst: crypto_rsa_key_read
      Src: /src/hostap/src/eap_peer/eap_sim.c:106,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:109,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_sim.c:112,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:116,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_sim.c:118,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/eap_sim.c:128,1
    - Dst: atoi
      Src: /src/hostap/src/eap_peer/eap_sim.c:130,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:132,1
    - Dst: crypto_rsa_key_free
      Src: /src/hostap/src/eap_peer/eap_sim.c:137,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_sim.c:139,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:142,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/eap_sim.c:147,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_peer/eap_sim.c:153,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_sim.c:155,1
    - Dst: os_memdup
      Src: /src/hostap/src/eap_peer/eap_sim.c:164,1
    - Dst: eap_sim_state
      Src: /src/hostap/src/eap_peer/eap_sim.c:168,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 49
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 171
    functionName: eap_sim_init
    functionSourceFile: /src/hostap/src/eap_peer/eap_sim.c
    functionUses: 0
    functionsReached:
    - eap_get_config
    - wpa_printf
    - random_get_bytes
    - os_memcpy
    - os_memdup
    - os_malloc
    - os_strstr
    - atoi
    - os_zalloc
    - eap_sim_state
    - os_free
    - crypto_rsa_key_free
    - crypto_rsa_key_read
    linkageType: ''
    returnType: void
    signature: void * eap_sim_init(struct eap_sm *sm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/eap_peer/eap_sim.c:177,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_peer/eap_sim.c:178,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_peer/eap_sim.c:179,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_peer/eap_sim.c:181,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_peer/eap_sim.c:182,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_peer/eap_sim.c:183,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_peer/eap_sim.c:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - data
    - reauth
    argTypes:
    - struct eap_sim_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 185
    functionName: eap_sim_clear_keys
    functionSourceFile: /src/hostap/src/eap_peer/eap_sim.c
    functionUses: 0
    functionsReached:
    - os_memset
    linkageType: ''
    returnType: void
    signature: void eap_sim_clear_keys(struct eap_sim_data *data, int reauth)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_sim.c:192,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_sim.c:193,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_sim.c:194,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_sim.c:195,1
    - Dst: eap_sim_clear_keys
      Src: /src/hostap/src/eap_peer/eap_sim.c:196,1
    - Dst: crypto_rsa_key_free
      Src: /src/hostap/src/eap_peer/eap_sim.c:198,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_sim.c:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 202
    functionName: eap_sim_deinit
    functionSourceFile: /src/hostap/src/eap_peer/eap_sim.c
    functionUses: 0
    functionsReached:
    - os_free
    - crypto_rsa_key_free
    - eap_sim_clear_keys
    linkageType: ''
    returnType: void
    signature: void eap_sim_deinit(struct eap_sm *sm, void *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:210,1
    - Dst: os_snprintf
      Src: /src/hostap/src/eap_peer/eap_sim.c:213,1
    - Dst: os_snprintf
      Src: /src/hostap/src/eap_peer/eap_sim.c:215,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/eap_peer/eap_sim.c:216,1
    - Dst: eap_sm_request_sim
      Src: /src/hostap/src/eap_peer/eap_sim.c:220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - sm
    - data
    argTypes:
    - struct eap_sm*
    - struct eap_sim_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 222
    functionName: eap_sim_ext_sim_req
    functionSourceFile: /src/hostap/src/eap_peer/eap_sim.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - wpa_printf
    - wpa_snprintf_hex
    - eap_sm_request_sim
    linkageType: ''
    returnType: int
    signature: int eap_sim_ext_sim_req(struct eap_sm *sm, struct eap_sim_data *data)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:231,1
    - Dst: os_strncmp
      Src: /src/hostap/src/eap_peer/eap_sim.c:237,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:238,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_sim.c:239,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_sim.c:245,1
    - Dst: hexstr2bin
      Src: /src/hostap/src/eap_peer/eap_sim.c:248,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_peer/eap_sim.c:250,1
    - Dst: hexstr2bin
      Src: /src/hostap/src/eap_peer/eap_sim.c:257,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_peer/eap_sim.c:259,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_sim.c:269,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:273,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_sim.c:274,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 3
    argNames:
    - sm
    - data
    - conf
    argTypes:
    - struct eap_sm*
    - struct eap_sim_data*
    - struct eap_peer_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 276
    functionName: eap_sim_ext_sim_result
    functionSourceFile: /src/hostap/src/eap_peer/eap_sim.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump_key
    - wpa_hexdump
    - hexstr2bin
    - os_strncmp
    - os_free
    linkageType: ''
    returnType: int
    signature: "int eap_sim_ext_sim_result(struct eap_sm *sm, struct eap_sim_data
      *data,\n\t\t\t\t  struct eap_peer_config *conf)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:283,1
    - Dst: eap_get_config
      Src: /src/hostap/src/eap_peer/eap_sim.c:285,1
    - Dst: eap_sim_ext_sim_result
      Src: /src/hostap/src/eap_peer/eap_sim.c:291,1
    - Dst: eap_sim_ext_sim_req
      Src: /src/hostap/src/eap_peer/eap_sim.c:293,1
    - Dst: scard_gsm_auth
      Src: /src/hostap/src/eap_peer/eap_sim.c:298,1
    - Dst: scard_gsm_auth
      Src: /src/hostap/src/eap_peer/eap_sim.c:300,1
    - Dst: scard_gsm_auth
      Src: /src/hostap/src/eap_peer/eap_sim.c:303,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:305,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:318,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:321,1
    - Dst: hexstr2bin
      Src: /src/hostap/src/eap_peer/eap_sim.c:326,1
    - Dst: hexstr2bin
      Src: /src/hostap/src/eap_peer/eap_sim.c:333,1
    - Dst: gsm_milenage
      Src: /src/hostap/src/eap_peer/eap_sim.c:337,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:339,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_sim.c:344,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_peer/eap_sim.c:346,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_peer/eap_sim.c:348,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:363,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_sim.c:368,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_sim.c:371,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_sim.c:374,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_sim.c:377,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_sim.c:380,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_sim.c:383,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:393,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 61
    argCount: 2
    argNames:
    - sm
    - data
    argTypes:
    - struct eap_sm*
    - struct eap_sim_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 279
    functionDepth: 2
    functionLinenumber: 279
    functionLinenumberEnd: 398
    functionName: eap_sim_gsm_auth
    functionSourceFile: /src/hostap/src/eap_peer/eap_sim.c
    functionUses: 0
    functionsReached:
    - eap_get_config
    - wpa_printf
    - wpa_hexdump_key
    - os_memcpy
    - wpa_hexdump
    - hexstr2bin
    - scard_gsm_auth
    - gsm_milenage
    - eap_sim_ext_sim_req
    - eap_sim_ext_sim_result
    linkageType: ''
    returnType: int
    signature: int eap_sim_gsm_auth(struct eap_sm *sm, struct eap_sim_data *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - version
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 404
    functionName: eap_sim_supported_ver
    functionSourceFile: /src/hostap/src/eap_peer/eap_sim.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int eap_sim_supported_ver(int version)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:414,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_sim.c:415,1
    - Dst: eap_set_anon_id
      Src: /src/hostap/src/eap_peer/eap_sim.c:419,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:422,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_sim.c:423,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - sm
    - data
    - id
    argTypes:
    - struct eap_sm*
    - struct eap_sim_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 427
    functionName: eap_sim_clear_identities
    functionSourceFile: /src/hostap/src/eap_peer/eap_sim.c
    functionUses: 0
    functionsReached:
    - os_free
    - eap_set_anon_id
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: "void eap_sim_clear_identities(struct eap_sm *sm,\n\t\t\t\t     struct
      eap_sim_data *data, int id)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_peer/eap_sim.c:439,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_sim.c:443,1
    - Dst: eap_get_config_identity
      Src: /src/hostap/src/eap_peer/eap_sim.c:445,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_peer/eap_sim.c:453,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:456,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_sim.c:461,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_sim.c:464,1
    - Dst: eap_set_anon_id
      Src: /src/hostap/src/eap_peer/eap_sim.c:469,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_sim.c:474,1
    - Dst: os_memdup
      Src: /src/hostap/src/eap_peer/eap_sim.c:475,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:478,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_peer/eap_sim.c:484,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 3
    argNames:
    - sm
    - data
    - attr
    argTypes:
    - struct eap_sm*
    - struct eap_sim_data*
    - struct eap_sim_attrs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 491
    functionName: eap_sim_learn_ids
    functionSourceFile: /src/hostap/src/eap_peer/eap_sim.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - eap_set_anon_id
    - os_memdup
    - os_malloc
    - eap_get_config_identity
    - os_free
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: int
    signature: "int eap_sim_learn_ids(struct eap_sm *sm, struct eap_sim_data *data,\n\t\t\t
      \    struct eap_sim_attrs *attr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eap_sim_state
      Src: /src/hostap/src/eap_peer/eap_sim.c:499,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:503,1
    - Dst: eap_sim_msg_init
      Src: /src/hostap/src/eap_peer/eap_sim.c:505,1
    - Dst: eap_sim_msg_add
      Src: /src/hostap/src/eap_peer/eap_sim.c:507,1
    - Dst: eap_sim_msg_finish
      Src: /src/hostap/src/eap_peer/eap_sim.c:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - data
    - id
    - err
    argTypes:
    - struct eap_sim_data*
    - u8
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 494
    functionDepth: 1
    functionLinenumber: 494
    functionLinenumberEnd: 509
    functionName: eap_sim_client_error
    functionSourceFile: /src/hostap/src/eap_peer/eap_sim.c
    functionUses: 0
    functionsReached:
    - eap_sim_msg_finish
    - wpa_printf
    - eap_sim_msg_init
    - eap_sim_msg_add
    - eap_sim_state
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_sim_client_error(struct eap_sim_data *data, u8
      id,\n\t\t\t\t\t    int err)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_peer/eap_sim.c:522,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/eap_peer/eap_sim.c:525,1
    - Dst: crypto_rsa_oaep_sha256_encrypt
      Src: /src/hostap/src/eap_peer/eap_sim.c:528,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_sim.c:529,1
    - Dst: base64_encode_no_lf
      Src: /src/hostap/src/eap_peer/eap_sim.c:533,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_peer/eap_sim.c:533,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_sim.c:533,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_sim.c:534,1
    - Dst: os_strlen
      Src: /src/hostap/src/eap_peer/eap_sim.c:540,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eap_peer/eap_sim.c:541,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_sim.c:543,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/eap_sim.c:546,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_peer/eap_sim.c:547,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_sim.c:548,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/eap_sim.c:550,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/eap_peer/eap_sim.c:551,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_peer/eap_sim.c:553,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_peer/eap_sim.c:554,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_sim.c:554,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 4
    argNames:
    - imsi_privacy_key
    - identity
    - identity_len
    - attr
    argTypes:
    - struct crypto_rsa_key*
    - u8*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 513
    functionDepth: 1
    functionLinenumber: 513
    functionLinenumberEnd: 557
    functionName: eap_sim_encrypt_identity
    functionSourceFile: /src/hostap/src/eap_peer/eap_sim.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpabuf_put_u8
    - crypto_rsa_oaep_sha256_encrypt
    - wpabuf_len
    - wpabuf_put_data
    - wpabuf_put_str
    - wpabuf_free
    - wpabuf_alloc_copy
    - base64_encode_no_lf
    - wpabuf_head
    - wpabuf_alloc
    - os_free
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf *\neap_sim_encrypt_identity(struct crypto_rsa_key *imsi_privacy_key,\n\t\t\t
      const u8 *identity, size_t identity_len,\n\t\t\t const char *attr)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: eap_sim_anonymous_username
      Src: /src/hostap/src/eap_peer/eap_sim.c:580,1
    - Dst: eap_sim_clear_identities
      Src: /src/hostap/src/eap_peer/eap_sim.c:584,1
    - Dst: eap_get_config_identity
      Src: /src/hostap/src/eap_peer/eap_sim.c:586,1
    - Dst: eap_sim_anonymous_username
      Src: /src/hostap/src/eap_peer/eap_sim.c:591,1
    - Dst: eap_sim_clear_identities
      Src: /src/hostap/src/eap_peer/eap_sim.c:594,1
    - Dst: eap_get_config
      Src: /src/hostap/src/eap_peer/eap_sim.c:596,1
    - Dst: eap_get_config
      Src: /src/hostap/src/eap_peer/eap_sim.c:604,1
    - Dst: eap_sim_encrypt_identity
      Src: /src/hostap/src/eap_peer/eap_sim.c:607,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:611,1
    - Dst: eap_sim_client_error
      Src: /src/hostap/src/eap_peer/eap_sim.c:613,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_sim.c:619,1
    - Dst: os_memdup
      Src: /src/hostap/src/eap_peer/eap_sim.c:620,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_peer/eap_sim.c:622,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_sim.c:623,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:628,1
    - Dst: eap_sim_msg_init
      Src: /src/hostap/src/eap_peer/eap_sim.c:629,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_peer/eap_sim.c:632,1
    - Dst: eap_sim_msg_add
      Src: /src/hostap/src/eap_peer/eap_sim.c:634,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_sim.c:640,1
    - Dst: os_memdup
      Src: /src/hostap/src/eap_peer/eap_sim.c:641,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_sim.c:648,1
    - Dst: os_memdup
      Src: /src/hostap/src/eap_peer/eap_sim.c:649,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_sim.c:653,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_sim.c:655,1
    - Dst: eap_sim_msg_add
      Src: /src/hostap/src/eap_peer/eap_sim.c:657,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:659,1
    - Dst: eap_sim_msg_add
      Src: /src/hostap/src/eap_peer/eap_sim.c:661,1
    - Dst: eap_sim_msg_finish
      Src: /src/hostap/src/eap_peer/eap_sim.c:665,1
    - Dst: eap_sim_state
      Src: /src/hostap/src/eap_peer/eap_sim.c:667,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 65
    argCount: 4
    argNames:
    - sm
    - data
    - id
    - id_req
    argTypes:
    - struct eap_sm*
    - struct eap_sim_data*
    - u8
    - enum eap_sim_id_req
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 561
    functionDepth: 2
    functionLinenumber: 561
    functionLinenumberEnd: 669
    functionName: eap_sim_response_start
    functionSourceFile: /src/hostap/src/eap_peer/eap_sim.c
    functionUses: 0
    functionsReached:
    - eap_get_config
    - eap_sim_msg_finish
    - wpa_printf
    - eap_sim_clear_identities
    - wpa_hexdump
    - wpabuf_len
    - os_memdup
    - wpabuf_free
    - wpabuf_head
    - eap_get_config_identity
    - eap_sim_msg_init
    - eap_sim_msg_add
    - eap_sim_anonymous_username
    - eap_sim_state
    - os_free
    - eap_sim_client_error
    - eap_sim_encrypt_identity
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_sim_response_start(struct eap_sm *sm,\n\t\t\t\t\t
      \     struct eap_sim_data *data, u8 id,\n\t\t\t\t\t      enum eap_sim_id_req
      id_req)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:677,1
    - Dst: eap_sim_msg_init
      Src: /src/hostap/src/eap_peer/eap_sim.c:678,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:681,1
    - Dst: eap_sim_msg_add
      Src: /src/hostap/src/eap_peer/eap_sim.c:682,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:684,1
    - Dst: eap_sim_msg_add_mac
      Src: /src/hostap/src/eap_peer/eap_sim.c:685,1
    - Dst: eap_sim_msg_finish
      Src: /src/hostap/src/eap_peer/eap_sim.c:686,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - data
    - id
    argTypes:
    - struct eap_sim_data*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 672
    functionDepth: 1
    functionLinenumber: 672
    functionLinenumberEnd: 689
    functionName: eap_sim_response_challenge
    functionSourceFile: /src/hostap/src/eap_peer/eap_sim.c
    functionUses: 0
    functionsReached:
    - eap_sim_msg_finish
    - wpa_printf
    - eap_sim_msg_init
    - eap_sim_msg_add
    - eap_sim_msg_add_mac
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_sim_response_challenge(struct eap_sim_data *data,\n\t\t\t\t\t\t
      \ u8 id)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:699,1
    - Dst: eap_sim_msg_init
      Src: /src/hostap/src/eap_peer/eap_sim.c:701,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:703,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:704,1
    - Dst: eap_sim_msg_add_encr_start
      Src: /src/hostap/src/eap_peer/eap_sim.c:705,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:708,1
    - Dst: eap_sim_msg_add
      Src: /src/hostap/src/eap_peer/eap_sim.c:709,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:714,1
    - Dst: eap_sim_msg_add
      Src: /src/hostap/src/eap_peer/eap_sim.c:715,1
    - Dst: eap_sim_msg_add_encr_end
      Src: /src/hostap/src/eap_peer/eap_sim.c:717,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:718,1
    - Dst: eap_sim_msg_free
      Src: /src/hostap/src/eap_peer/eap_sim.c:720,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:724,1
    - Dst: eap_sim_msg_add
      Src: /src/hostap/src/eap_peer/eap_sim.c:725,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:727,1
    - Dst: eap_sim_msg_add_mac
      Src: /src/hostap/src/eap_peer/eap_sim.c:728,1
    - Dst: eap_sim_msg_finish
      Src: /src/hostap/src/eap_peer/eap_sim.c:729,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 4
    argNames:
    - data
    - id
    - counter_too_small
    - nonce_s
    argTypes:
    - struct eap_sim_data*
    - u8
    - int
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 692
    functionDepth: 1
    functionLinenumber: 692
    functionLinenumberEnd: 731
    functionName: eap_sim_response_reauth
    functionSourceFile: /src/hostap/src/eap_peer/eap_sim.c
    functionUses: 0
    functionsReached:
    - eap_sim_msg_finish
    - eap_sim_msg_add_encr_start
    - wpa_printf
    - eap_sim_msg_add_encr_end
    - eap_sim_msg_free
    - eap_sim_msg_init
    - eap_sim_msg_add
    - eap_sim_msg_add_mac
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_sim_response_reauth(struct eap_sim_data *data,\n\t\t\t\t\t
      \      u8 id, int counter_too_small,\n\t\t\t\t\t       const u8 *nonce_s)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:740,1
    - Dst: eap_sim_msg_init
      Src: /src/hostap/src/eap_peer/eap_sim.c:741,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:744,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:745,1
    - Dst: eap_sim_msg_add_encr_start
      Src: /src/hostap/src/eap_peer/eap_sim.c:746,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:748,1
    - Dst: eap_sim_msg_add
      Src: /src/hostap/src/eap_peer/eap_sim.c:749,1
    - Dst: eap_sim_msg_add_encr_end
      Src: /src/hostap/src/eap_peer/eap_sim.c:751,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:753,1
    - Dst: eap_sim_msg_free
      Src: /src/hostap/src/eap_peer/eap_sim.c:755,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:760,1
    - Dst: eap_sim_msg_add_mac
      Src: /src/hostap/src/eap_peer/eap_sim.c:761,1
    - Dst: eap_sim_msg_finish
      Src: /src/hostap/src/eap_peer/eap_sim.c:763,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - data
    - id
    - notification
    argTypes:
    - struct eap_sim_data*
    - u8
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 734
    functionDepth: 1
    functionLinenumber: 734
    functionLinenumberEnd: 764
    functionName: eap_sim_response_notification
    functionSourceFile: /src/hostap/src/eap_peer/eap_sim.c
    functionUses: 0
    functionsReached:
    - eap_sim_msg_finish
    - eap_sim_msg_add_encr_start
    - wpa_printf
    - eap_sim_msg_add_encr_end
    - eap_sim_msg_free
    - eap_sim_msg_init
    - eap_sim_msg_add
    - eap_sim_msg_add_mac
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_sim_response_notification(struct eap_sim_data
      *data,\n\t\t\t\t\t\t     u8 id, u16 notification)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:775,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:777,1
    - Dst: eap_sim_client_error
      Src: /src/hostap/src/eap_peer/eap_sim.c:779,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_sim.c:783,1
    - Dst: os_memdup
      Src: /src/hostap/src/eap_peer/eap_sim.c:784,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:786,1
    - Dst: eap_sim_client_error
      Src: /src/hostap/src/eap_peer/eap_sim.c:788,1
    - Dst: eap_sim_supported_ver
      Src: /src/hostap/src/eap_peer/eap_sim.c:796,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:802,1
    - Dst: eap_sim_client_error
      Src: /src/hostap/src/eap_peer/eap_sim.c:804,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:807,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:832,1
    - Dst: eap_sim_client_error
      Src: /src/hostap/src/eap_peer/eap_sim.c:834,1
    - Dst: eap_sim_response_start
      Src: /src/hostap/src/eap_peer/eap_sim.c:838,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 4
    argNames:
    - sm
    - data
    - id
    - attr
    argTypes:
    - struct eap_sm*
    - struct eap_sim_data*
    - u8
    - struct eap_sim_attrs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 839
      start: 767
    functionDepth: 3
    functionLinenumber: 767
    functionLinenumberEnd: 839
    functionName: eap_sim_process_start
    functionSourceFile: /src/hostap/src/eap_peer/eap_sim.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_sim_supported_ver
    - os_memdup
    - eap_sim_response_start
    - os_free
    - eap_sim_client_error
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_sim_process_start(struct eap_sm *sm,\n\t\t\t\t\t
      \    struct eap_sim_data *data, u8 id,\n\t\t\t\t\t     struct eap_sim_attrs
      *attr)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:853,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:855,1
    - Dst: eap_sim_state_txt
      Src: /src/hostap/src/eap_peer/eap_sim.c:857,1
    - Dst: eap_sim_client_error
      Src: /src/hostap/src/eap_peer/eap_sim.c:858,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:863,1
    - Dst: eap_sim_client_error
      Src: /src/hostap/src/eap_peer/eap_sim.c:867,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:871,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:874,1
    - Dst: eap_sim_client_error
      Src: /src/hostap/src/eap_peer/eap_sim.c:876,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:880,1
    - Dst: eap_sim_client_error
      Src: /src/hostap/src/eap_peer/eap_sim.c:882,1
    - Dst: os_memcmp
      Src: /src/hostap/src/eap_peer/eap_sim.c:887,1
    - Dst: os_memcmp
      Src: /src/hostap/src/eap_peer/eap_sim.c:890,1
    - Dst: os_memcmp
      Src: /src/hostap/src/eap_peer/eap_sim.c:892,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:895,1
    - Dst: eap_sim_client_error
      Src: /src/hostap/src/eap_peer/eap_sim.c:896,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_sim.c:900,1
    - Dst: eap_sim_gsm_auth
      Src: /src/hostap/src/eap_peer/eap_sim.c:903,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:905,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:909,1
    - Dst: eap_sim_client_error
      Src: /src/hostap/src/eap_peer/eap_sim.c:910,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_peer/eap_sim.c:916,1
    - Dst: eap_sim_derive_mk
      Src: /src/hostap/src/eap_peer/eap_sim.c:918,1
    - Dst: eap_sim_derive_keys
      Src: /src/hostap/src/eap_peer/eap_sim.c:922,1
    - Dst: eap_sim_verify_mac
      Src: /src/hostap/src/eap_peer/eap_sim.c:924,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:926,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:929,1
    - Dst: eap_sim_client_error
      Src: /src/hostap/src/eap_peer/eap_sim.c:932,1
    - Dst: eap_sim_clear_identities
      Src: /src/hostap/src/eap_peer/eap_sim.c:941,1
    - Dst: eap_sim_parse_encr
      Src: /src/hostap/src/eap_peer/eap_sim.c:945,1
    - Dst: eap_sim_client_error
      Src: /src/hostap/src/eap_peer/eap_sim.c:949,1
    - Dst: eap_sim_learn_ids
      Src: /src/hostap/src/eap_peer/eap_sim.c:952,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_sim.c:953,1
    - Dst: eap_sim_state
      Src: /src/hostap/src/eap_peer/eap_sim.c:960,1
    - Dst: eap_sim_response_challenge
      Src: /src/hostap/src/eap_peer/eap_sim.c:970,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 63
    argCount: 5
    argNames:
    - sm
    - data
    - id
    - reqData
    - attr
    argTypes:
    - struct eap_sm*
    - struct eap_sim_data*
    - u8
    - struct wpabuf*
    - struct eap_sim_attrs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 971
      start: 842
    functionDepth: 3
    functionLinenumber: 842
    functionLinenumberEnd: 971
    functionName: eap_sim_process_challenge
    functionSourceFile: /src/hostap/src/eap_peer/eap_sim.c
    functionUses: 0
    functionsReached:
    - eap_sim_derive_mk
    - wpa_printf
    - os_memcpy
    - eap_sim_clear_identities
    - eap_sim_learn_ids
    - eap_sim_verify_mac
    - eap_sim_response_challenge
    - eap_sim_derive_keys
    - eap_sim_parse_encr
    - eap_sim_state
    - eap_sim_gsm_auth
    - os_memcmp
    - os_free
    - eap_sim_client_error
    - eap_sim_state_txt
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_sim_process_challenge(struct eap_sm *sm,\n\t\t\t\t\t\t
      struct eap_sim_data *data,\n\t\t\t\t\t\t u8 id,\n\t\t\t\t\t\t const struct wpabuf
      *reqData,\n\t\t\t\t\t\t struct eap_sim_attrs *attr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:981,1
    - Dst: eap_sim_parse_encr
      Src: /src/hostap/src/eap_peer/eap_sim.c:986,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:990,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:996,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_sim.c:999,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_sim.c:1003,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - data
    - attr
    argTypes:
    - struct eap_sim_data*
    - struct eap_sim_attrs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 974
    functionDepth: 1
    functionLinenumber: 974
    functionLinenumberEnd: 1005
    functionName: eap_sim_process_notification_reauth
    functionSourceFile: /src/hostap/src/eap_peer/eap_sim.c
    functionUses: 0
    functionsReached:
    - os_free
    - eap_sim_parse_encr
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int eap_sim_process_notification_reauth(struct eap_sim_data *data,\n\t\t\t\t\t
      \      struct eap_sim_attrs *attr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:1013,1
    - Dst: eap_sim_verify_mac
      Src: /src/hostap/src/eap_peer/eap_sim.c:1018,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:1020,1
    - Dst: eap_sim_process_notification_reauth
      Src: /src/hostap/src/eap_peer/eap_sim.c:1026,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:1027,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - data
    - reqData
    - attr
    argTypes:
    - struct eap_sim_data*
    - struct wpabuf*
    - struct eap_sim_attrs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1033
      start: 1008
    functionDepth: 2
    functionLinenumber: 1008
    functionLinenumberEnd: 1033
    functionName: eap_sim_process_notification_auth
    functionSourceFile: /src/hostap/src/eap_peer/eap_sim.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_sim_process_notification_reauth
    - eap_sim_verify_mac
    linkageType: ''
    returnType: int
    signature: "int eap_sim_process_notification_auth(struct eap_sim_data *data,\n\t\t\t\t\t
      \    const struct wpabuf *reqData,\n\t\t\t\t\t     struct eap_sim_attrs *attr)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:1040,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:1042,1
    - Dst: eap_sim_client_error
      Src: /src/hostap/src/eap_peer/eap_sim.c:1044,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:1049,1
    - Dst: eap_sim_client_error
      Src: /src/hostap/src/eap_peer/eap_sim.c:1051,1
    - Dst: eap_sim_process_notification_auth
      Src: /src/hostap/src/eap_peer/eap_sim.c:1056,1
    - Dst: eap_sim_client_error
      Src: /src/hostap/src/eap_peer/eap_sim.c:1057,1
    - Dst: eap_sim_report_notification
      Src: /src/hostap/src/eap_peer/eap_sim.c:1061,1
    - Dst: eap_sim_state
      Src: /src/hostap/src/eap_peer/eap_sim.c:1064,1
    - Dst: eap_sim_state
      Src: /src/hostap/src/eap_peer/eap_sim.c:1067,1
    - Dst: eap_sim_response_notification
      Src: /src/hostap/src/eap_peer/eap_sim.c:1068,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 5
    argNames:
    - sm
    - data
    - id
    - reqData
    - attr
    argTypes:
    - struct eap_sm*
    - struct eap_sim_data*
    - u8
    - struct wpabuf*
    - struct eap_sim_attrs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1069
      start: 1036
    functionDepth: 3
    functionLinenumber: 1036
    functionLinenumberEnd: 1069
    functionName: eap_sim_process_notification
    functionSourceFile: /src/hostap/src/eap_peer/eap_sim.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_sim_report_notification
    - eap_sim_process_notification_auth
    - eap_sim_response_notification
    - eap_sim_client_error
    - eap_sim_state
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_sim_process_notification(\n\tstruct eap_sm *sm,
      struct eap_sim_data *data, u8 id,\n\tconst struct wpabuf *reqData, struct eap_sim_attrs
      *attr)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:1079,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:1082,1
    - Dst: eap_sim_client_error
      Src: /src/hostap/src/eap_peer/eap_sim.c:1084,1
    - Dst: eap_sim_verify_mac
      Src: /src/hostap/src/eap_peer/eap_sim.c:1089,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:1091,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:1094,1
    - Dst: eap_sim_client_error
      Src: /src/hostap/src/eap_peer/eap_sim.c:1097,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_sim.c:1108,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_peer/eap_sim.c:1110,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_sim.c:1112,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_sim.c:1114,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:1118,1
    - Dst: eap_sim_client_error
      Src: /src/hostap/src/eap_peer/eap_sim.c:1120,1
    - Dst: eap_sim_parse_encr
      Src: /src/hostap/src/eap_peer/eap_sim.c:1124,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:1128,1
    - Dst: eap_sim_client_error
      Src: /src/hostap/src/eap_peer/eap_sim.c:1130,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:1135,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_sim.c:1138,1
    - Dst: eap_sim_client_error
      Src: /src/hostap/src/eap_peer/eap_sim.c:1139,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:1145,1
    - Dst: eap_sim_clear_identities
      Src: /src/hostap/src/eap_peer/eap_sim.c:1152,1
    - Dst: eap_sim_response_reauth
      Src: /src/hostap/src/eap_peer/eap_sim.c:1154,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_sim.c:1155,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_sim.c:1161,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_sim.c:1162,1
    - Dst: eap_sim_derive_keys_reauth
      Src: /src/hostap/src/eap_peer/eap_sim.c:1165,1
    - Dst: eap_sim_clear_identities
      Src: /src/hostap/src/eap_peer/eap_sim.c:1169,1
    - Dst: eap_sim_learn_ids
      Src: /src/hostap/src/eap_peer/eap_sim.c:1170,1
    - Dst: eap_sim_state
      Src: /src/hostap/src/eap_peer/eap_sim.c:1176,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:1183,1
    - Dst: eap_sim_clear_identities
      Src: /src/hostap/src/eap_peer/eap_sim.c:1185,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_sim.c:1187,1
    - Dst: eap_sim_response_reauth
      Src: /src/hostap/src/eap_peer/eap_sim.c:1188,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 58
    argCount: 5
    argNames:
    - sm
    - data
    - id
    - reqData
    - attr
    argTypes:
    - struct eap_sm*
    - struct eap_sim_data*
    - u8
    - struct wpabuf*
    - struct eap_sim_attrs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1189
      start: 1072
    functionDepth: 2
    functionLinenumber: 1072
    functionLinenumberEnd: 1189
    functionName: eap_sim_process_reauthentication
    functionSourceFile: /src/hostap/src/eap_peer/eap_sim.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - eap_sim_learn_ids
    - eap_sim_verify_mac
    - wpa_hexdump
    - eap_sim_derive_keys_reauth
    - eap_sim_parse_encr
    - eap_sim_state
    - eap_sim_response_reauth
    - os_free
    - eap_sim_client_error
    - eap_sim_clear_identities
    - os_memset
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_sim_process_reauthentication(\n\tstruct eap_sm
      *sm, struct eap_sim_data *data, u8 id,\n\tconst struct wpabuf *reqData, struct
      eap_sim_attrs *attr)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/eap_peer/eap_sim.c:1204,1
    - Dst: eap_get_config_identity
      Src: /src/hostap/src/eap_peer/eap_sim.c:1205,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:1206,1
    - Dst: eap_sm_request_identity
      Src: /src/hostap/src/eap_peer/eap_sim.c:1207,1
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_peer/eap_sim.c:1212,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_peer/eap_sim.c:1217,1
    - Dst: be_to_host16
      Src: /src/hostap/src/eap_peer/eap_sim.c:1219,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:1227,1
    - Dst: eap_sim_parse_attr
      Src: /src/hostap/src/eap_peer/eap_sim.c:1230,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/eap_peer/eap_sim.c:1230,1
    - Dst: eap_sim_client_error
      Src: /src/hostap/src/eap_peer/eap_sim.c:1232,1
    - Dst: eap_sim_process_start
      Src: /src/hostap/src/eap_peer/eap_sim.c:1239,1
    - Dst: eap_sim_process_challenge
      Src: /src/hostap/src/eap_peer/eap_sim.c:1242,1
    - Dst: eap_sim_process_notification
      Src: /src/hostap/src/eap_peer/eap_sim.c:1245,1
    - Dst: eap_sim_process_reauthentication
      Src: /src/hostap/src/eap_peer/eap_sim.c:1249,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:1253,1
    - Dst: eap_sim_client_error
      Src: /src/hostap/src/eap_peer/eap_sim.c:1254,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:1258,1
    - Dst: eap_sim_client_error
      Src: /src/hostap/src/eap_peer/eap_sim.c:1259,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 66
    argCount: 4
    argNames:
    - sm
    - priv
    - ret
    - reqData
    argTypes:
    - struct eap_sm*
    - void*
    - struct eap_method_ret*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1281
      start: 1192
    functionDepth: 3
    functionLinenumber: 1192
    functionLinenumberEnd: 1281
    functionName: eap_sim_process
    functionSourceFile: /src/hostap/src/eap_peer/eap_sim.c
    functionUses: 0
    functionsReached:
    - be_to_host16
    - wpa_printf
    - eap_sim_process_reauthentication
    - wpabuf_head_u8
    - eap_sm_request_identity
    - eap_sim_process_challenge
    - wpabuf_head
    - eap_get_config_identity
    - eap_sim_parse_attr
    - eap_hdr_validate
    - eap_sim_client_error
    - eap_sim_process_notification
    - eap_sim_process_start
    - wpa_hexdump_buf
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_sim_process(struct eap_sm *sm, void *priv,\n\t\t\t\t
      \      struct eap_method_ret *ret,\n\t\t\t\t       const struct wpabuf *reqData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1288
      start: 1284
    functionDepth: 0
    functionLinenumber: 1284
    functionLinenumberEnd: 1288
    functionName: eap_sim_has_reauth_data
    functionSourceFile: /src/hostap/src/eap_peer/eap_sim.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool eap_sim_has_reauth_data(struct eap_sm *sm, void *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_sim.c:1295,1
    - Dst: eap_sim_clear_keys
      Src: /src/hostap/src/eap_peer/eap_sim.c:1299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1300
      start: 1291
    functionDepth: 1
    functionLinenumber: 1291
    functionLinenumberEnd: 1300
    functionName: eap_sim_deinit_for_reauth
    functionSourceFile: /src/hostap/src/eap_peer/eap_sim.c
    functionUses: 0
    functionsReached:
    - os_free
    - eap_sim_clear_keys
    linkageType: ''
    returnType: void
    signature: void eap_sim_deinit_for_reauth(struct eap_sm *sm, void *priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: random_get_bytes
      Src: /src/hostap/src/eap_peer/eap_sim.c:1306,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_sim.c:1307,1
    - Dst: eap_sim_deinit
      Src: /src/hostap/src/eap_peer/eap_sim.c:1309,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_sim.c:1316,1
    - Dst: os_memdup
      Src: /src/hostap/src/eap_peer/eap_sim.c:1317,1
    - Dst: eap_sim_state
      Src: /src/hostap/src/eap_peer/eap_sim.c:1323,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1303
    functionDepth: 2
    functionLinenumber: 1303
    functionLinenumberEnd: 1325
    functionName: eap_sim_init_for_reauth
    functionSourceFile: /src/hostap/src/eap_peer/eap_sim.c
    functionUses: 0
    functionsReached:
    - random_get_bytes
    - wpa_printf
    - os_memdup
    - eap_sim_deinit
    - os_free
    - eap_sim_state
    linkageType: ''
    returnType: void
    signature: void * eap_sim_init_for_reauth(struct eap_sm *sm, void *priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1344
      start: 1328
    functionDepth: 0
    functionLinenumber: 1328
    functionLinenumberEnd: 1344
    functionName: eap_sim_get_identity
    functionSourceFile: /src/hostap/src/eap_peer/eap_sim.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: "u8 * eap_sim_get_identity(struct eap_sm *sm, void *priv,\n\t\t\t\t
      \      size_t *len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1351
      start: 1347
    functionDepth: 0
    functionLinenumber: 1347
    functionLinenumberEnd: 1351
    functionName: eap_sim_isKeyAvailable
    functionSourceFile: /src/hostap/src/eap_peer/eap_sim.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool eap_sim_isKeyAvailable(struct eap_sm *sm, void *priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memdup
      Src: /src/hostap/src/eap_peer/eap_sim.c:1362,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1369
      start: 1354
    functionDepth: 0
    functionLinenumber: 1354
    functionLinenumberEnd: 1369
    functionName: eap_sim_getKey
    functionSourceFile: /src/hostap/src/eap_peer/eap_sim.c
    functionUses: 0
    functionsReached:
    - os_memdup
    linkageType: ''
    returnType: u8
    signature: u8 * eap_sim_getKey(struct eap_sm *sm, void *priv, size_t *len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/eap_peer/eap_sim.c:1384,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_sim.c:1390,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_sim.c:1391,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_sim.c:1394,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_sim.c:1395,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_sim.c:1398,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1401
      start: 1372
    functionDepth: 0
    functionLinenumber: 1372
    functionLinenumberEnd: 1401
    functionName: eap_sim_get_session_id
    functionSourceFile: /src/hostap/src/eap_peer/eap_sim.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - os_malloc
    - wpa_hexdump
    linkageType: ''
    returnType: u8
    signature: u8 * eap_sim_get_session_id(struct eap_sm *sm, void *priv, size_t *len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memdup
      Src: /src/hostap/src/eap_peer/eap_sim.c:1412,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1419
      start: 1404
    functionDepth: 0
    functionLinenumber: 1404
    functionLinenumberEnd: 1419
    functionName: eap_sim_get_emsk
    functionSourceFile: /src/hostap/src/eap_peer/eap_sim.c
    functionUses: 0
    functionsReached:
    - os_memdup
    linkageType: ''
    returnType: u8
    signature: u8 * eap_sim_get_emsk(struct eap_sm *sm, void *priv, size_t *len)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1436
      start: 1422
    functionDepth: 0
    functionLinenumber: 1422
    functionLinenumberEnd: 1436
    functionName: eap_sim_get_error_code
    functionSourceFile: /src/hostap/src/eap_peer/eap_sim.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int eap_sim_get_error_code(void *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_peer_method_alloc
      Src: /src/hostap/src/eap_peer/eap_sim.c:1443,1
    - Dst: eap_peer_method_register
      Src: /src/hostap/src/eap_peer/eap_sim.c:1461,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1462
      start: 1439
    functionDepth: 0
    functionLinenumber: 1439
    functionLinenumberEnd: 1462
    functionName: eap_peer_sim_register
    functionSourceFile: /src/hostap/src/eap_peer/eap_sim.c
    functionUses: 2
    functionsReached:
    - eap_peer_method_register
    - eap_peer_method_alloc
    linkageType: ''
    returnType: int
    signature: int eap_peer_sim_register(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - vendor
    - method
    argTypes:
    - int
    - enum eap_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 39
    functionName: eap_peer_get_eap_method
    functionSourceFile: /src/hostap/src/eap_peer/eap_methods.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: struct eap_method
    signature: "struct eap_method * eap_peer_get_eap_method(int vendor,\n\t\t\t\t\t\t
      \ enum eap_type method)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/src/eap_peer/eap_methods.c:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - name
    - vendor
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 62
    functionName: eap_peer_get_type
    functionSourceFile: /src/hostap/src/eap_peer/eap_methods.c
    functionUses: 2
    functionsReached:
    - os_strcmp
    linkageType: ''
    returnType: enum eap_type
    signature: enum eap_type eap_peer_get_type(const char *name, int *vendor)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - vendor
    - type
    argTypes:
    - int
    - enum eap_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 84
    functionName: eap_get_name
    functionSourceFile: /src/hostap/src/eap_peer/eap_methods.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * eap_get_name(int vendor, enum eap_type type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/src/eap_peer/eap_methods.c:107,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/eap_peer/eap_methods.c:109,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - buf
    - buflen
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 116
    functionName: eap_get_names
    functionSourceFile: /src/hostap/src/eap_peer/eap_methods.c
    functionUses: 1
    functionsReached:
    - os_snprintf
    - os_snprintf_error
    linkageType: ''
    returnType: size_t
    signature: size_t eap_get_names(char *buf, size_t buflen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_calloc
      Src: /src/hostap/src/eap_peer/eap_methods.c:139,1
    - Dst: os_strdup
      Src: /src/hostap/src/eap_peer/eap_methods.c:144,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_methods.c:147,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_methods.c:148,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 158
    functionName: eap_get_names_as_string_array
    functionSourceFile: /src/hostap/src/eap_peer/eap_methods.c
    functionUses: 1
    functionsReached:
    - os_strdup
    - os_free
    - os_calloc
    linkageType: ''
    returnType: char
    signature: char ** eap_get_names_as_string_array(size_t *num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - count
    argTypes:
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 176
    functionName: eap_peer_get_methods
    functionSourceFile: /src/hostap/src/eap_peer/eap_methods.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct eap_method
    signature: struct eap_method * eap_peer_get_methods(size_t *count)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dlopen
      Src: /src/hostap/src/eap_peer/eap_methods.c:191,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_methods.c:193,1
    - Dst: dlerror
      Src: /src/hostap/src/eap_peer/eap_methods.c:194,1
    - Dst: dlsym
      Src: /src/hostap/src/eap_peer/eap_methods.c:198,1
    - Dst: dlclose
      Src: /src/hostap/src/eap_peer/eap_methods.c:200,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_methods.c:201,1
    - Dst: dyn_init
      Src: /src/hostap/src/eap_peer/eap_methods.c:206,1
    - Dst: dlclose
      Src: /src/hostap/src/eap_peer/eap_methods.c:208,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_methods.c:209,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_methods.c:218,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - so
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 221
    functionName: eap_peer_method_load
    functionSourceFile: /src/hostap/src/eap_peer/eap_methods.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - dlerror
    - dlclose
    - dyn_init
    - dlsym
    - dlopen
    linkageType: ''
    returnType: int
    signature: int eap_peer_method_load(const char *so)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: struct eap_method*::free
      Src: /src/hostap/src/eap_peer/eap_methods.c:259,1
    - Dst: eap_peer_method_free
      Src: /src/hostap/src/eap_peer/eap_methods.c:261,1
    - Dst: dlclose
      Src: /src/hostap/src/eap_peer/eap_methods.c:263,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - method
    argTypes:
    - struct eap_method*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 266
    functionName: eap_peer_method_unload
    functionSourceFile: /src/hostap/src/eap_peer/eap_methods.c
    functionUses: 0
    functionsReached:
    - struct eap_method*::free
    - dlclose
    - eap_peer_method_free
    linkageType: ''
    returnType: int
    signature: int eap_peer_method_unload(struct eap_method *method)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_peer/eap_methods.c:287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - version
    - vendor
    - method
    - name
    argTypes:
    - int
    - int
    - enum eap_type
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 295
    functionName: eap_peer_method_alloc
    functionSourceFile: /src/hostap/src/eap_peer/eap_methods.c
    functionUses: 9
    functionsReached:
    - os_zalloc
    linkageType: ''
    returnType: struct eap_method
    signature: "struct eap_method * eap_peer_method_alloc(int version, int vendor,\n\t\t\t\t\t
      \ enum eap_type method,\n\t\t\t\t\t  const char *name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_methods.c:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - method
    argTypes:
    - struct eap_method*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 305
    functionName: eap_peer_method_free
    functionSourceFile: /src/hostap/src/eap_peer/eap_methods.c
    functionUses: 1
    functionsReached:
    - os_free
    linkageType: ''
    returnType: void
    signature: void eap_peer_method_free(struct eap_method *method)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: eap_peer_method_free
      Src: /src/hostap/src/eap_peer/eap_methods.c:324,1
    - Dst: os_strcmp
      Src: /src/hostap/src/eap_peer/eap_methods.c:331,1
    - Dst: eap_peer_method_free
      Src: /src/hostap/src/eap_peer/eap_methods.c:332,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - method
    argTypes:
    - struct eap_method*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 344
    functionName: eap_peer_method_register
    functionSourceFile: /src/hostap/src/eap_peer/eap_methods.c
    functionUses: 9
    functionsReached:
    - eap_peer_method_free
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: int eap_peer_method_register(struct eap_method *method)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct eap_method*::free
      Src: /src/hostap/src/eap_peer/eap_methods.c:369,1
    - Dst: eap_peer_method_free
      Src: /src/hostap/src/eap_peer/eap_methods.c:371,1
    - Dst: dlclose
      Src: /src/hostap/src/eap_peer/eap_methods.c:375,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 378
    functionName: eap_peer_unregister_methods
    functionSourceFile: /src/hostap/src/eap_peer/eap_methods.c
    functionUses: 3
    functionsReached:
    - struct eap_method*::free
    - dlclose
    - eap_peer_method_free
    linkageType: ''
    returnType: void
    signature: void eap_peer_unregister_methods(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - state
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 46
    functionName: eap_ikev2_state_txt
    functionSourceFile: /src/hostap/src/eap_peer/eap_ikev2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * eap_ikev2_state_txt(int state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:51,1
    - Dst: eap_ikev2_state_txt
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:52,1
    - Dst: eap_ikev2_state_txt
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - state
    argTypes:
    - struct eap_ikev2_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: eap_ikev2_state
    functionSourceFile: /src/hostap/src/eap_peer/eap_ikev2.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_ikev2_state_txt
    linkageType: ''
    returnType: void
    signature: void eap_ikev2_state(struct eap_ikev2_data *data, int state)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: eap_get_config_identity
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:65,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:67,1
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:71,1
    - Dst: eap_get_config_fragment_size
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:75,1
    - Dst: os_strdup
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:82,1
    - Dst: os_memdup
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:86,1
    - Dst: eap_get_config_password
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:91,1
    - Dst: os_memdup
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:93,1
    - Dst: ikev2_responder_deinit
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:102,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:103,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 105
    functionName: eap_ikev2_init
    functionSourceFile: /src/hostap/src/eap_peer/eap_ikev2.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memdup
    - ikev2_responder_deinit
    - eap_get_config_password
    - eap_get_config_identity
    - os_zalloc
    - eap_get_config_fragment_size
    - os_free
    - os_strdup
    linkageType: ''
    returnType: void
    signature: void * eap_ikev2_init(struct eap_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:111,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:112,1
    - Dst: ikev2_responder_deinit
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:113,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 115
    functionName: eap_ikev2_deinit
    functionSourceFile: /src/hostap/src/eap_peer/eap_ikev2.c
    functionUses: 0
    functionsReached:
    - ikev2_responder_deinit
    - wpabuf_free
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: void eap_ikev2_deinit(struct eap_sm *sm, void *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_ikev2_derive_keymat
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:120,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct eap_ikev2_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 131
    functionName: eap_ikev2_peer_keymat
    functionSourceFile: /src/hostap/src/eap_peer/eap_ikev2.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_ikev2_derive_keymat
    linkageType: ''
    returnType: int
    signature: int eap_ikev2_peer_keymat(struct eap_ikev2_data *data)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:142,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:146,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:161,1
    - Dst: ikev2_get_integ
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:164,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:166,1
    - Dst: eap_msg_alloc
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:174,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:179,1
    - Dst: wpabuf_put_be32
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:181,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:181,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:183,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:183,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:188,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:189,1
    - Dst: ikev2_integ_hash
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:190,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:193,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:199,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:200,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:203,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:217,1
    - Dst: eap_ikev2_peer_keymat
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:219,1
    - Dst: eap_ikev2_state
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:221,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:224,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:233,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:235,1
    - Dst: eap_ikev2_state
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:237,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 73
    argCount: 3
    argNames:
    - data
    - ret
    - id
    argTypes:
    - struct eap_ikev2_data*
    - struct eap_method_ret*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 241
    functionName: eap_ikev2_build_msg
    functionSourceFile: /src/hostap/src/eap_peer/eap_ikev2.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put
    - ikev2_get_integ
    - wpabuf_head_u8
    - wpabuf_put_u8
    - wpabuf_put_data
    - wpabuf_len
    - eap_ikev2_peer_keymat
    - eap_msg_alloc
    - wpabuf_free
    - wpabuf_head
    - eap_ikev2_state
    - wpabuf_put_be32
    - ikev2_integ_hash
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_ikev2_build_msg(struct eap_ikev2_data *data,\n\t\t\t\t\t
      \  struct eap_method_ret *ret, u8 id)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: eap_ikev2_validate_icv
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:250,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:258,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 6
    argNames:
    - data
    - reqData
    - flags
    - pos
    - end
    - frag_ack
    argTypes:
    - struct eap_ikev2_data*
    - struct wpabuf*
    - u8
    - u8*
    - u8**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 264
    functionName: eap_ikev2_process_icv
    functionSourceFile: /src/hostap/src/eap_peer/eap_ikev2.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_ikev2_validate_icv
    linkageType: ''
    returnType: int
    signature: "int eap_ikev2_process_icv(struct eap_ikev2_data *data,\n\t\t\t\t const
      struct wpabuf *reqData,\n\t\t\t\t u8 flags, const u8 *pos, const u8 **end,\n\t\t\t\t
      int frag_ack)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_tailroom
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:271,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:272,1
    - Dst: eap_ikev2_state
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:273,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:277,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:278,1
    - Dst: wpabuf_tailroom
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - data
    - buf
    - len
    argTypes:
    - struct eap_ikev2_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 283
    functionName: eap_ikev2_process_cont
    functionSourceFile: /src/hostap/src/eap_peer/eap_ikev2.c
    functionUses: 0
    functionsReached:
    - eap_ikev2_state
    - wpa_printf
    - wpabuf_put_data
    - wpabuf_tailroom
    linkageType: ''
    returnType: int
    signature: "int eap_ikev2_process_cont(struct eap_ikev2_data *data,\n\t\t\t\t
      \ const u8 *buf, size_t len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:294,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:304,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:309,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:311,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:316,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:317,1
    - Dst: wpabuf_tailroom
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:320,1
    - Dst: eap_ikev2_build_frag_ack
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:324,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 7
    argNames:
    - data
    - ret
    - id
    - flags
    - message_length
    - buf
    - len
    argTypes:
    - struct eap_ikev2_data*
    - struct eap_method_ret*
    - u8
    - u8
    - u32
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 325
    functionName: eap_ikev2_process_fragment
    functionSourceFile: /src/hostap/src/eap_peer/eap_ikev2.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put_data
    - eap_ikev2_build_frag_ack
    - wpabuf_tailroom
    - wpabuf_alloc
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_ikev2_process_fragment(struct eap_ikev2_data *data,\n\t\t\t\t\t\t
      \ struct eap_method_ret *ret,\n\t\t\t\t\t\t  u8 id, u8 flags,\n\t\t\t\t\t\t
      \ u32 message_length,\n\t\t\t\t\t\t  const u8 *buf, size_t len)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:339,1
    - Dst: eap_get_id
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:345,1
    - Dst: eap_ikev2_process_icv
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:355,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:364,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:368,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:372,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:380,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:385,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:390,1
    - Dst: eap_ikev2_state
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:391,1
    - Dst: eap_ikev2_build_msg
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:392,1
    - Dst: eap_ikev2_process_cont
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:395,1
    - Dst: eap_ikev2_process_fragment
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:401,1
    - Dst: wpabuf_set
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:408,1
    - Dst: ikev2_responder_process
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:412,1
    - Dst: eap_ikev2_state
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:415,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:420,1
    - Dst: ikev2_responder_build
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:424,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:426,1
    - Dst: eap_ikev2_state
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:433,1
    - Dst: eap_ikev2_build_msg
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:434,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 71
    argCount: 4
    argNames:
    - sm
    - priv
    - ret
    - reqData
    argTypes:
    - struct eap_sm*
    - void*
    - struct eap_method_ret*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 435
    functionName: eap_ikev2_process
    functionSourceFile: /src/hostap/src/eap_peer/eap_ikev2.c
    functionUses: 0
    functionsReached:
    - eap_get_id
    - wpa_printf
    - ikev2_responder_build
    - ikev2_responder_process
    - eap_ikev2_process_icv
    - wpabuf_free
    - eap_ikev2_process_fragment
    - wpabuf_set
    - eap_ikev2_build_msg
    - eap_ikev2_state
    - eap_hdr_validate
    - eap_ikev2_process_cont
    - WPA_GET_BE32
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_ikev2_process(struct eap_sm *sm, void *priv,\n\t\t\t\t\t
      struct eap_method_ret *ret,\n\t\t\t\t\t const struct wpabuf *reqData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 442
    functionName: eap_ikev2_isKeyAvailable
    functionSourceFile: /src/hostap/src/eap_peer/eap_ikev2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool eap_ikev2_isKeyAvailable(struct eap_sm *sm, void *priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:453,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:455,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 460
    functionName: eap_ikev2_getKey
    functionSourceFile: /src/hostap/src/eap_peer/eap_ikev2.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - os_malloc
    linkageType: ''
    returnType: u8
    signature: u8 * eap_ikev2_getKey(struct eap_sm *sm, void *priv, size_t *len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:471,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:473,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 478
    functionName: eap_ikev2_get_emsk
    functionSourceFile: /src/hostap/src/eap_peer/eap_ikev2.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - os_malloc
    linkageType: ''
    returnType: u8
    signature: u8 * eap_ikev2_get_emsk(struct eap_sm *sm, void *priv, size_t *len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:492,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:497,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:500,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:503,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 508
    functionName: eap_ikev2_get_session_id
    functionSourceFile: /src/hostap/src/eap_peer/eap_ikev2.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - os_malloc
    - wpa_hexdump
    linkageType: ''
    returnType: u8
    signature: u8 * eap_ikev2_get_session_id(struct eap_sm *sm, void *priv, size_t
      *len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_peer_method_alloc
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:515,1
    - Dst: eap_peer_method_register
      Src: /src/hostap/src/eap_peer/eap_ikev2.c:529,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 530
    functionName: eap_peer_ikev2_register
    functionSourceFile: /src/hostap/src/eap_peer/eap_ikev2.c
    functionUses: 1
    functionsReached:
    - eap_peer_method_register
    - eap_peer_method_alloc
    linkageType: ''
    returnType: int
    signature: int eap_peer_ikev2_register(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct eap_sm*::eapol_cb::get_bool
      Src: /src/hostap/src/eap_peer/eap.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - var
    argTypes:
    - struct eap_sm*
    - enum eapol_bool_var
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: eapol_get_bool
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached:
    - struct eap_sm*::eapol_cb::get_bool
    linkageType: ''
    returnType: bool
    signature: bool eapol_get_bool(struct eap_sm *sm, enum eapol_bool_var var)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct eap_sm*::eapol_cb::set_bool
      Src: /src/hostap/src/eap_peer/eap.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sm
    - var
    - value
    argTypes:
    - struct eap_sm*
    - enum eapol_bool_var
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: eapol_set_bool
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached:
    - struct eap_sm*::eapol_cb::set_bool
    linkageType: ''
    returnType: void
    signature: "void eapol_set_bool(struct eap_sm *sm, enum eapol_bool_var var,\n\t\t\t
      \  bool value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct eap_sm*::eapol_cb::get_int
      Src: /src/hostap/src/eap_peer/eap.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - var
    argTypes:
    - struct eap_sm*
    - enum eapol_int_var
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: eapol_get_int
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached:
    - struct eap_sm*::eapol_cb::get_int
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int eapol_get_int(struct eap_sm *sm, enum eapol_int_var var)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct eap_sm*::eapol_cb::set_int
      Src: /src/hostap/src/eap_peer/eap.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sm
    - var
    - value
    argTypes:
    - struct eap_sm*
    - enum eapol_int_var
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: eapol_set_int
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached:
    - struct eap_sm*::eapol_cb::set_int
    linkageType: ''
    returnType: void
    signature: "void eapol_set_int(struct eap_sm *sm, enum eapol_int_var var,\n\t\t\t
      \ unsigned int value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct eap_sm*::eapol_cb::get_eapReqData
      Src: /src/hostap/src/eap_peer/eap.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: eapol_get_eapReqData
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached:
    - struct eap_sm*::eapol_cb::get_eapReqData
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * eapol_get_eapReqData(struct eap_sm *sm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:92,1
    - Dst: struct eap_sm*::eapol_cb::notify_status
      Src: /src/hostap/src/eap_peer/eap.c:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - sm
    - status
    - parameter
    argTypes:
    - struct eap_sm*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 96
    functionName: eap_notify_status
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached:
    - struct eap_sm*::eapol_cb::notify_status
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: "void eap_notify_status(struct eap_sm *sm, const char *status,\n\t\t\t\t
      \     const char *parameter)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:101,1
    - Dst: struct eap_sm*::eapol_cb::notify_eap_error
      Src: /src/hostap/src/eap_peer/eap.c:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - sm
    - error_code
    argTypes:
    - struct eap_sm*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: eap_report_error
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached:
    - struct eap_sm*::eapol_cb::notify_eap_error
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void eap_report_error(struct eap_sm *sm, int error_code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bin_clear_free
      Src: /src/hostap/src/eap_peer/eap.c:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: eap_sm_free_key
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached:
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: void eap_sm_free_key(struct eap_sm *sm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ext_password_free
      Src: /src/hostap/src/eap_peer/eap.c:118,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:124,1
    - Dst: struct eap_sm*::m::deinit
      Src: /src/hostap/src/eap_peer/eap.c:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - sm
    - txt
    argTypes:
    - struct eap_sm*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 129
    functionName: eap_deinit_prev_method
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - struct eap_sm*::m::deinit
    - ext_password_free
    linkageType: ''
    returnType: void
    signature: void eap_deinit_prev_method(struct eap_sm *sm, const char *txt)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 4
    argNames:
    - sm
    - config
    - vendor
    - method
    argTypes:
    - struct eap_sm*
    - struct eap_peer_config*
    - int
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 157
    functionName: eap_config_allowed_method
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int eap_config_allowed_method(struct eap_sm *sm,\n\t\t\t\t     struct
      eap_peer_config *config,\n\t\t\t\t     int vendor, u32 method)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eap_config_allowed_method
      Src: /src/hostap/src/eap_peer/eap.c:169,1
    - Dst: eap_get_config
      Src: /src/hostap/src/eap_peer/eap.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sm
    - vendor
    - method
    argTypes:
    - struct eap_sm*
    - int
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 171
    functionName: eap_allowed_method
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached:
    - eap_get_config
    - eap_config_allowed_method
    linkageType: ''
    returnType: int
    signature: int eap_allowed_method(struct eap_sm *sm, int vendor, u32 method)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:182,1
    - Dst: os_snprintf
      Src: /src/hostap/src/eap_peer/eap.c:201,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 5
    argNames:
    - sm
    - imsi
    - max_len
    - imsi_len
    - mnc_len
    argTypes:
    - struct eap_sm*
    - char*
    - size_t
    - size_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 207
    functionName: eap_sm_append_3gpp_realm
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int eap_sm_append_3gpp_realm(struct eap_sm *sm, char *imsi,\n\t\t\t\t
      \   size_t max_len, size_t *imsi_len,\n\t\t\t\t    int mnc_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY
      Src: /src/hostap/src/eap_peer/eap.c:218,1
    - Dst: m::has_reauth_data
      Src: /src/hostap/src/eap_peer/eap.c:220,1
    - Dst: eap_get_config
      Src: /src/hostap/src/eap_peer/eap.c:222,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:223,1
    - Dst: m::deinit_for_reauth
      Src: /src/hostap/src/eap_peer/eap.c:225,1
    - Dst: eap_get_config
      Src: /src/hostap/src/eap_peer/eap.c:227,1
    - Dst: eap_deinit_prev_method
      Src: /src/hostap/src/eap_peer/eap.c:228,1
    - Dst: eapol_set_int
      Src: /src/hostap/src/eap_peer/eap.c:235,1
    - Dst: eapol_set_bool
      Src: /src/hostap/src/eap_peer/eap.c:236,1
    - Dst: eapol_set_bool
      Src: /src/hostap/src/eap_peer/eap.c:237,1
    - Dst: eap_sm_free_key
      Src: /src/hostap/src/eap_peer/eap.c:238,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap.c:239,1
    - Dst: eapol_set_bool
      Src: /src/hostap/src/eap_peer/eap.c:242,1
    - Dst: eapol_set_bool
      Src: /src/hostap/src/eap_peer/eap.c:253,1
    - Dst: eapol_set_bool
      Src: /src/hostap/src/eap_peer/eap.c:254,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 271
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached:
    - m::has_reauth_data
    - eap_get_config
    - wpa_printf
    - m::deinit_for_reauth
    - eap_sm_free_key
    - SM_ENTRY
    - eapol_set_int
    - eapol_set_bool
    - eap_deinit_prev_method
    - os_free
    linkageType: ''
    returnType: void
    signature: void SM_STATE(EAP, INITIALIZE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY
      Src: /src/hostap/src/eap_peer/eap.c:281,1
    - Dst: eapol_set_int
      Src: /src/hostap/src/eap_peer/eap.c:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 290
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached:
    - SM_ENTRY
    - eapol_set_int
    linkageType: ''
    returnType: void
    signature: void SM_STATE(EAP, DISABLED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY
      Src: /src/hostap/src/eap_peer/eap.c:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 301
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached:
    - SM_ENTRY
    linkageType: ''
    returnType: void
    signature: void SM_STATE(EAP, IDLE)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY
      Src: /src/hostap/src/eap_peer/eap.c:312,1
    - Dst: eapol_get_eapReqData
      Src: /src/hostap/src/eap_peer/eap.c:313,1
    - Dst: eap_sm_parseEapReq
      Src: /src/hostap/src/eap_peer/eap.c:315,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap.c:332,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 337
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached:
    - wpabuf_len
    - eap_sm_parseEapReq
    - SM_ENTRY
    - eapol_get_eapReqData
    linkageType: ''
    returnType: void
    signature: void SM_STATE(EAP, RECEIVED)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY
      Src: /src/hostap/src/eap_peer/eap.c:350,1
    - Dst: eap_peer_get_eap_method
      Src: /src/hostap/src/eap_peer/eap.c:357,1
    - Dst: eap_sm_allowMethod
      Src: /src/hostap/src/eap_peer/eap.c:359,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:360,1
    - Dst: wpa_msg
      Src: /src/hostap/src/eap_peer/eap.c:362,1
    - Dst: eap_notify_status
      Src: /src/hostap/src/eap_peer/eap.c:365,1
    - Dst: wpa_msg
      Src: /src/hostap/src/eap_peer/eap.c:370,1
    - Dst: eap_notify_status
      Src: /src/hostap/src/eap_peer/eap.c:373,1
    - Dst: m::has_reauth_data
      Src: /src/hostap/src/eap_peer/eap.c:387,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:388,1
    - Dst: eap_deinit_prev_method
      Src: /src/hostap/src/eap_peer/eap.c:392,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:400,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:408,1
    - Dst: m::init_for_reauth
      Src: /src/hostap/src/eap_peer/eap.c:412,1
    - Dst: m::init
      Src: /src/hostap/src/eap_peer/eap.c:417,1
    - Dst: eap_get_config
      Src: /src/hostap/src/eap_peer/eap.c:421,1
    - Dst: wpa_msg
      Src: /src/hostap/src/eap_peer/eap.c:422,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:437,1
    - Dst: wpa_msg
      Src: /src/hostap/src/eap_peer/eap.c:446,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap.c:452,1
    - Dst: eap_sm_buildNak
      Src: /src/hostap/src/eap_peer/eap.c:454,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 455
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached:
    - m::has_reauth_data
    - eap_get_config
    - wpa_printf
    - wpa_msg
    - SM_ENTRY
    - wpabuf_free
    - eap_peer_get_eap_method
    - eap_deinit_prev_method
    - m::init
    - m::init_for_reauth
    - eap_notify_status
    - eap_sm_buildNak
    - eap_sm_allowMethod
    linkageType: ''
    returnType: void
    signature: void SM_STATE(EAP, GET_METHOD)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/eap_peer/eap.c:475,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap.c:478,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_peer/eap.c:491,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap.c:494,1
    - Dst: eap_config_allowed_method
      Src: /src/hostap/src/eap_peer/eap.c:507,1
    - Dst: eap_config_allowed_method
      Src: /src/hostap/src/eap_peer/eap.c:509,1
    - Dst: eap_config_allowed_method
      Src: /src/hostap/src/eap_peer/eap.c:511,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:517,1
    - Dst: struct eap_sm*::eapol_cb::get_imsi
      Src: /src/hostap/src/eap_peer/eap.c:518,1
    - Dst: eap_sm_append_3gpp_realm
      Src: /src/hostap/src/eap_peer/eap.c:524,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:526,1
    - Dst: os_strdup
      Src: /src/hostap/src/eap_peer/eap.c:530,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:534,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 50
    argCount: 2
    argNames:
    - sm
    - config
    argTypes:
    - struct eap_sm*
    - struct eap_peer_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 540
    functionName: eap_get_realm
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - eap_config_allowed_method
    - os_malloc
    - struct eap_sm*::eapol_cb::get_imsi
    - eap_sm_append_3gpp_realm
    - os_strdup
    linkageType: ''
    returnType: char
    signature: char * eap_get_realm(struct eap_sm *sm, struct eap_peer_config *config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eap_get_realm
      Src: /src/hostap/src/eap_peer/eap.c:545,1
    - Dst: eap_get_config
      Src: /src/hostap/src/eap_peer/eap.c:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 543
    functionDepth: 2
    functionLinenumber: 543
    functionLinenumberEnd: 546
    functionName: eap_home_realm
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached:
    - eap_get_config
    - eap_get_realm
    linkageType: ''
    returnType: char
    signature: char * eap_home_realm(struct eap_sm *sm)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/eap_peer/eap.c:554,1
    - Dst: os_strchr
      Src: /src/hostap/src/eap_peer/eap.c:557,1
    - Dst: os_strcmp
      Src: /src/hostap/src/eap_peer/eap.c:561,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - sm
    - realm
    argTypes:
    - struct eap_sm*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 566
    functionName: eap_erp_get_key
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    - os_strchr
    - os_strcmp
    linkageType: ''
    returnType: struct eap_erp_key
    signature: 'struct eap_erp_key *

      eap_erp_get_key(struct eap_sm *sm, const char *realm)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/eap_peer/eap.c:574,1
    - Dst: os_strcmp
      Src: /src/hostap/src/eap_peer/eap.c:575,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - sm
    - nai
    argTypes:
    - struct eap_sm*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 580
    functionName: eap_erp_get_key_nai
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    - os_strcmp
    linkageType: ''
    returnType: struct eap_erp_key
    signature: 'struct eap_erp_key *

      eap_erp_get_key_nai(struct eap_sm *sm, const char *nai)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_del
      Src: /src/hostap/src/eap_peer/eap.c:585,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/eap_peer/eap.c:586,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - erp
    argTypes:
    - struct eap_erp_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 583
    functionDepth: 1
    functionLinenumber: 583
    functionLinenumberEnd: 587
    functionName: eap_peer_erp_free_key
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached:
    - dl_list_del
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: void eap_peer_erp_free_key(struct eap_erp_key *erp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eap_erp_get_key
      Src: /src/hostap/src/eap_peer/eap.c:594,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:595,1
    - Dst: eap_peer_erp_free_key
      Src: /src/hostap/src/eap_peer/eap.c:597,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - sm
    - realm
    argTypes:
    - struct eap_sm*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 590
    functionDepth: 2
    functionLinenumber: 590
    functionLinenumberEnd: 599
    functionName: eap_erp_remove_keys_realm
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached:
    - eap_peer_erp_free_key
    - wpa_printf
    - eap_erp_get_key
    linkageType: ''
    returnType: void
    signature: void eap_erp_remove_keys_realm(struct eap_sm *sm, const char *realm)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: eap_home_realm
      Src: /src/hostap/src/eap_peer/eap.c:607,1
    - Dst: os_strlen
      Src: /src/hostap/src/eap_peer/eap.c:608,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap.c:609,1
    - Dst: eap_erp_get_key
      Src: /src/hostap/src/eap_peer/eap.c:613,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:615,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap.c:618,1
    - Dst: eap_peer_erp_free_key
      Src: /src/hostap/src/eap_peer/eap.c:626,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap.c:631,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - sm
    - next_seq_num
    argTypes:
    - struct eap_sm*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 602
    functionDepth: 3
    functionLinenumber: 602
    functionLinenumberEnd: 633
    functionName: eap_peer_update_erp_next_seq_num
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - eap_erp_get_key
    - eap_peer_erp_free_key
    - os_free
    - eap_home_realm
    linkageType: ''
    returnType: int
    signature: int eap_peer_update_erp_next_seq_num(struct eap_sm *sm, u16 next_seq_num)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: eap_get_realm
      Src: /src/hostap/src/eap_peer/eap.c:647,1
    - Dst: eap_home_realm
      Src: /src/hostap/src/eap_peer/eap.c:649,1
    - Dst: os_strlen
      Src: /src/hostap/src/eap_peer/eap.c:650,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap.c:651,1
    - Dst: eap_erp_get_key
      Src: /src/hostap/src/eap_peer/eap.c:655,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap.c:656,1
    - Dst: os_strchr
      Src: /src/hostap/src/eap_peer/eap.c:663,1
    - Dst: os_strlen
      Src: /src/hostap/src/eap_peer/eap.c:670,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 9
    argNames:
    - sm
    - config
    - username
    - username_len
    - realm
    - realm_len
    - erp_next_seq_num
    - rrk
    - rrk_len
    argTypes:
    - struct eap_sm*
    - struct eap_peer_config*
    - u8**
    - size_t*
    - u8**
    - size_t*
    - u16*
    - u8**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 636
    functionDepth: 3
    functionLinenumber: 636
    functionLinenumberEnd: 682
    functionName: eap_peer_get_erp_info
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_strchr
    - eap_erp_get_key
    - eap_get_realm
    - os_free
    - eap_home_realm
    linkageType: ''
    returnType: int
    signature: "int eap_peer_get_erp_info(struct eap_sm *sm, struct eap_peer_config
      *config,\n\t\t\t  const u8 **username, size_t *username_len,\n\t\t\t  const
      u8 **realm, size_t *realm_len,\n\t\t\t  u16 *erp_next_seq_num, const u8 **rrk,\n\t\t\t
      \ size_t *rrk_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/eap_peer/eap.c:692,1
    - Dst: eap_peer_erp_free_key
      Src: /src/hostap/src/eap_peer/eap.c:693,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 687
    functionDepth: 2
    functionLinenumber: 687
    functionLinenumberEnd: 695
    functionName: eap_peer_erp_free_keys
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached:
    - eap_peer_erp_free_key
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: void eap_peer_erp_free_keys(struct eap_sm *sm)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: eap_home_realm
      Src: /src/hostap/src/eap_peer/eap.c:717,1
    - Dst: os_strlen
      Src: /src/hostap/src/eap_peer/eap.c:720,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:721,1
    - Dst: eap_erp_remove_keys_realm
      Src: /src/hostap/src/eap_peer/eap.c:722,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:730,1
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_peer/eap.c:735,1
    - Dst: struct eap_sm*::m::get_emsk
      Src: /src/hostap/src/eap_peer/eap.c:743,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:747,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_peer/eap.c:752,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:763,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/eap_peer/eap.c:768,1
    - Dst: hmac_sha256_kdf
      Src: /src/hostap/src/eap_peer/eap.c:769,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:771,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap.c:774,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/eap_peer/eap.c:776,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap.c:779,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/eap_peer/eap.c:781,1
    - Dst: hmac_sha256_kdf
      Src: /src/hostap/src/eap_peer/eap.c:782,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:785,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_peer/eap.c:789,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/eap_peer/eap.c:792,1
    - Dst: hmac_sha256_kdf
      Src: /src/hostap/src/eap_peer/eap.c:793,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:796,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_peer/eap.c:800,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:802,1
    - Dst: dl_list_add
      Src: /src/hostap/src/eap_peer/eap.c:803,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/eap_peer/eap.c:807,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/eap_peer/eap.c:809,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/eap_peer/eap.c:810,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/eap_peer/eap.c:811,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap.c:812,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 81
    argCount: 5
    argNames:
    - sm
    - ext_session_id
    - ext_session_id_len
    - ext_emsk
    - ext_emsk_len
    argTypes:
    - struct eap_sm*
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 701
    functionDepth: 3
    functionLinenumber: 701
    functionLinenumberEnd: 814
    functionName: eap_peer_erp_init
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - wpa_hexdump_key
    - wpa_snprintf_hex
    - os_memcpy
    - struct eap_sm*::m::get_emsk
    - wpa_hexdump
    - WPA_PUT_BE16
    - eap_erp_remove_keys_realm
    - os_zalloc
    - dl_list_add
    - os_free
    - eap_home_realm
    - hmac_sha256_kdf
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: "void eap_peer_erp_init(struct eap_sm *sm, u8 *ext_session_id,\n\t\t
      \      size_t ext_session_id_len, u8 *ext_emsk,\n\t\t       size_t ext_emsk_len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: eap_home_realm
      Src: /src/hostap/src/eap_peer/eap.c:825,1
    - Dst: eap_erp_get_key
      Src: /src/hostap/src/eap_peer/eap.c:829,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap.c:830,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:840,1
    - Dst: eap_msg_alloc
      Src: /src/hostap/src/eap_peer/eap.c:843,1
    - Dst: os_strlen
      Src: /src/hostap/src/eap_peer/eap.c:845,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/eap.c:850,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/eap_peer/eap.c:851,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/eap.c:853,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/eap.c:854,1
    - Dst: os_strlen
      Src: /src/hostap/src/eap_peer/eap.c:854,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/eap_peer/eap.c:855,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/eap.c:857,1
    - Dst: hmac_sha256
      Src: /src/hostap/src/eap_peer/eap.c:859,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_peer/eap.c:860,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap.c:860,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap.c:861,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_peer/eap.c:864,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/eap_peer/eap.c:869,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 2
    argNames:
    - sm
    - eap_id
    argTypes:
    - struct eap_sm*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 818
    functionDepth: 3
    functionLinenumber: 818
    functionLinenumberEnd: 872
    functionName: eap_peer_build_erp_reauth_start
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - wpabuf_put_u8
    - eap_erp_get_key
    - wpabuf_put_str
    - hmac_sha256
    - wpabuf_len
    - eap_msg_alloc
    - wpabuf_free
    - wpabuf_put_be16
    - wpabuf_put_data
    - wpabuf_head
    - os_free
    - eap_home_realm
    - wpa_hexdump_buf
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * eap_peer_build_erp_reauth_start(struct eap_sm *sm,
      u8 eap_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_peer_build_erp_reauth_start
      Src: /src/hostap/src/eap_peer/eap.c:879,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:883,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap.c:884,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - sm
    - eap_id
    argTypes:
    - struct eap_sm*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 875
    functionDepth: 4
    functionLinenumber: 875
    functionLinenumberEnd: 888
    functionName: eap_peer_erp_reauth_start
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_free
    - eap_peer_build_erp_reauth_start
    linkageType: ''
    returnType: int
    signature: int eap_peer_erp_reauth_start(struct eap_sm *sm, u8 eap_id)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY
      Src: /src/hostap/src/eap_peer/eap.c:902,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:904,1
    - Dst: eapol_get_eapReqData
      Src: /src/hostap/src/eap_peer/eap.c:908,1
    - Dst: eap_hdr_len_valid
      Src: /src/hostap/src/eap_peer/eap.c:911,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_peer/eap.c:928,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap.c:933,1
    - Dst: m::process
      Src: /src/hostap/src/eap_peer/eap.c:935,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:937,1
    - Dst: eap_sm_method_state_txt
      Src: /src/hostap/src/eap_peer/eap.c:940,1
    - Dst: eap_sm_decision_txt
      Src: /src/hostap/src/eap_peer/eap.c:941,1
    - Dst: m::isKeyAvailable
      Src: /src/hostap/src/eap_peer/eap.c:952,1
    - Dst: eap_sm_free_key
      Src: /src/hostap/src/eap_peer/eap.c:953,1
    - Dst: m::getKey
      Src: /src/hostap/src/eap_peer/eap.c:954,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap.c:956,1
    - Dst: m::getSessionId
      Src: /src/hostap/src/eap_peer/eap.c:959,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap.c:962,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 896
    functionDepth: 2
    functionLinenumber: 896
    functionLinenumberEnd: 966
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - m::process
    - eap_sm_decision_txt
    - m::getKey
    - eap_sm_free_key
    - m::getSessionId
    - wpa_hexdump
    - SM_ENTRY
    - wpabuf_free
    - eapol_get_eapReqData
    - os_free
    - eap_hdr_len_valid
    - eap_sm_method_state_txt
    - m::isKeyAvailable
    - os_memset
    linkageType: ''
    returnType: void
    signature: void SM_STATE(EAP, METHOD)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY
      Src: /src/hostap/src/eap_peer/eap.c:975,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap.c:976,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap.c:978,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap.c:981,1
    - Dst: wpabuf_dup
      Src: /src/hostap/src/eap_peer/eap.c:983,1
    - Dst: eapol_set_bool
      Src: /src/hostap/src/eap_peer/eap.c:984,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:986,1
    - Dst: eapol_set_bool
      Src: /src/hostap/src/eap_peer/eap.c:989,1
    - Dst: eapol_set_int
      Src: /src/hostap/src/eap_peer/eap.c:990,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 973
    functionDepth: 1
    functionLinenumber: 973
    functionLinenumberEnd: 992
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached:
    - wpabuf_dup
    - os_memcpy
    - wpa_printf
    - wpabuf_len
    - wpabuf_free
    - SM_ENTRY
    - eapol_set_bool
    - eapol_set_int
    linkageType: ''
    returnType: void
    signature: void SM_STATE(EAP, SEND_RESPONSE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY
      Src: /src/hostap/src/eap_peer/eap.c:1001,1
    - Dst: eapol_set_bool
      Src: /src/hostap/src/eap_peer/eap.c:1002,1
    - Dst: eapol_set_bool
      Src: /src/hostap/src/eap_peer/eap.c:1003,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 999
    functionDepth: 1
    functionLinenumber: 999
    functionLinenumberEnd: 1004
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached:
    - SM_ENTRY
    - eapol_set_bool
    linkageType: ''
    returnType: void
    signature: void SM_STATE(EAP, DISCARD)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY
      Src: /src/hostap/src/eap_peer/eap.c:1014,1
    - Dst: eapol_get_eapReqData
      Src: /src/hostap/src/eap_peer/eap.c:1015,1
    - Dst: eap_hdr_len_valid
      Src: /src/hostap/src/eap_peer/eap.c:1016,1
    - Dst: eap_sm_processIdentity
      Src: /src/hostap/src/eap_peer/eap.c:1018,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap.c:1019,1
    - Dst: eap_sm_buildIdentity
      Src: /src/hostap/src/eap_peer/eap.c:1021,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1022
      start: 1010
    functionDepth: 1
    functionLinenumber: 1010
    functionLinenumberEnd: 1022
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached:
    - eap_sm_processIdentity
    - eap_sm_buildIdentity
    - wpabuf_free
    - SM_ENTRY
    - eapol_get_eapReqData
    - eap_hdr_len_valid
    linkageType: ''
    returnType: void
    signature: void SM_STATE(EAP, IDENTITY)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY
      Src: /src/hostap/src/eap_peer/eap.c:1032,1
    - Dst: eapol_get_eapReqData
      Src: /src/hostap/src/eap_peer/eap.c:1033,1
    - Dst: eap_hdr_len_valid
      Src: /src/hostap/src/eap_peer/eap.c:1034,1
    - Dst: eap_sm_processNotify
      Src: /src/hostap/src/eap_peer/eap.c:1036,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap.c:1037,1
    - Dst: eap_sm_buildNotify
      Src: /src/hostap/src/eap_peer/eap.c:1039,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1040
      start: 1028
    functionDepth: 1
    functionLinenumber: 1028
    functionLinenumberEnd: 1040
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached:
    - wpabuf_free
    - SM_ENTRY
    - eap_sm_processNotify
    - eapol_get_eapReqData
    - eap_sm_buildNotify
    - eap_hdr_len_valid
    linkageType: ''
    returnType: void
    signature: void SM_STATE(EAP, NOTIFICATION)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY
      Src: /src/hostap/src/eap_peer/eap.c:1048,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap.c:1049,1
    - Dst: wpabuf_dup
      Src: /src/hostap/src/eap_peer/eap.c:1051,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1054
      start: 1046
    functionDepth: 1
    functionLinenumber: 1046
    functionLinenumberEnd: 1054
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached:
    - wpabuf_free
    - SM_ENTRY
    - wpabuf_dup
    linkageType: ''
    returnType: void
    signature: void SM_STATE(EAP, RETRANSMIT)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: eap_get_config
      Src: /src/hostap/src/eap_peer/eap.c:1064,1
    - Dst: SM_ENTRY
      Src: /src/hostap/src/eap_peer/eap.c:1066,1
    - Dst: eapol_set_bool
      Src: /src/hostap/src/eap_peer/eap.c:1069,1
    - Dst: eapol_set_bool
      Src: /src/hostap/src/eap_peer/eap.c:1076,1
    - Dst: eapol_set_bool
      Src: /src/hostap/src/eap_peer/eap.c:1084,1
    - Dst: wpa_msg
      Src: /src/hostap/src/eap_peer/eap.c:1086,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:1099,1
    - Dst: m::isKeyAvailable
      Src: /src/hostap/src/eap_peer/eap.c:1105,1
    - Dst: eap_peer_erp_init
      Src: /src/hostap/src/eap_peer/eap.c:1106,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1062
    functionDepth: 4
    functionLinenumber: 1062
    functionLinenumberEnd: 1107
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached:
    - eap_get_config
    - wpa_printf
    - wpa_msg
    - SM_ENTRY
    - eapol_set_bool
    - eap_peer_erp_init
    - m::isKeyAvailable
    linkageType: ''
    returnType: void
    signature: void SM_STATE(EAP, SUCCESS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY
      Src: /src/hostap/src/eap_peer/eap.c:1116,1
    - Dst: eapol_set_bool
      Src: /src/hostap/src/eap_peer/eap.c:1117,1
    - Dst: eapol_set_bool
      Src: /src/hostap/src/eap_peer/eap.c:1124,1
    - Dst: eapol_set_bool
      Src: /src/hostap/src/eap_peer/eap.c:1131,1
    - Dst: wpa_msg
      Src: /src/hostap/src/eap_peer/eap.c:1133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1114
    functionDepth: 1
    functionLinenumber: 1114
    functionLinenumberEnd: 1137
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached:
    - SM_ENTRY
    - eapol_set_bool
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: void SM_STATE(EAP, FAILURE)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:1154,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:1160,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - sm
    - reqId
    - lastId
    argTypes:
    - struct eap_sm*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1163
      start: 1140
    functionDepth: 0
    functionLinenumber: 1140
    functionLinenumberEnd: 1163
    functionName: eap_success_workaround
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int eap_success_workaround(struct eap_sm *sm, int reqId, int lastId)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: eapol_get_bool
      Src: /src/hostap/src/eap_peer/eap.c:1177,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_peer/eap.c:1178,1
    - Dst: eapol_get_bool
      Src: /src/hostap/src/eap_peer/eap.c:1179,1
    - Dst: eapol_get_int
      Src: /src/hostap/src/eap_peer/eap.c:1181,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_peer/eap.c:1183,1
    - Dst: eapol_get_bool
      Src: /src/hostap/src/eap_peer/eap.c:1184,1
    - Dst: eapol_get_int
      Src: /src/hostap/src/eap_peer/eap.c:1185,1
    - Dst: eapol_get_bool
      Src: /src/hostap/src/eap_peer/eap.c:1187,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_peer/eap.c:1190,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_peer/eap.c:1194,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_peer/eap.c:1198,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 11
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1199
      start: 1170
    functionDepth: 1
    functionLinenumber: 1170
    functionLinenumberEnd: 1199
    functionName: eap_peer_sm_step_idle
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached:
    - eapol_get_int
    - SM_ENTER
    - eapol_get_bool
    linkageType: ''
    returnType: void
    signature: void eap_peer_sm_step_idle(struct eap_sm *sm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/src/eap_peer/eap.c:1208,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:1217,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:1219,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1202
    functionDepth: 0
    functionLinenumber: 1202
    functionLinenumberEnd: 1225
    functionName: eap_peer_req_is_duplicate
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcmp
    linkageType: ''
    returnType: int
    signature: int eap_peer_req_is_duplicate(struct eap_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eap_get_config
      Src: /src/hostap/src/eap_peer/eap.c:1230,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/eap.c:1233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1234
      start: 1228
    functionDepth: 0
    functionLinenumber: 1228
    functionLinenumberEnd: 1234
    functionName: eap_peer_sm_allow_canned
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached:
    - eap_get_config
    - os_strstr
    linkageType: ''
    returnType: int
    signature: int eap_peer_sm_allow_canned(struct eap_sm *sm)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: eap_peer_req_is_duplicate
      Src: /src/hostap/src/eap_peer/eap.c:1239,1
    - Dst: eap_success_workaround
      Src: /src/hostap/src/eap_peer/eap.c:1248,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_peer/eap.c:1249,1
    - Dst: eap_peer_sm_allow_canned
      Src: /src/hostap/src/eap_peer/eap.c:1251,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_peer/eap.c:1252,1
    - Dst: eap_peer_sm_allow_canned
      Src: /src/hostap/src/eap_peer/eap.c:1255,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_peer/eap.c:1256,1
    - Dst: eap_peer_sm_allow_canned
      Src: /src/hostap/src/eap_peer/eap.c:1259,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_peer/eap.c:1260,1
    - Dst: eap_success_workaround
      Src: /src/hostap/src/eap_peer/eap.c:1268,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_peer/eap.c:1269,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_peer/eap.c:1271,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_peer/eap.c:1275,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_peer/eap.c:1279,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_peer/eap.c:1284,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_peer/eap.c:1288,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_peer/eap.c:1291,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_peer/eap.c:1293,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_peer/eap.c:1295,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 26
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1296
      start: 1237
    functionDepth: 1
    functionLinenumber: 1237
    functionLinenumberEnd: 1296
    functionName: eap_peer_sm_step_received
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached:
    - SM_ENTER
    - eap_peer_sm_allow_canned
    - eap_peer_req_is_duplicate
    - eap_success_workaround
    linkageType: ''
    returnType: void
    signature: void eap_peer_sm_step_received(struct eap_sm *sm)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_peer/eap.c:1303,1
    - Dst: eapol_get_bool
      Src: /src/hostap/src/eap_peer/eap.c:1306,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_peer/eap.c:1308,1
    - Dst: eap_peer_sm_step_idle
      Src: /src/hostap/src/eap_peer/eap.c:1311,1
    - Dst: eap_peer_sm_step_received
      Src: /src/hostap/src/eap_peer/eap.c:1314,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_peer/eap.c:1318,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_peer/eap.c:1320,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_peer/eap.c:1332,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_peer/eap.c:1335,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_peer/eap.c:1337,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_peer/eap.c:1340,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_peer/eap.c:1343,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_peer/eap.c:1346,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_peer/eap.c:1349,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_peer/eap.c:1352,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 47
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1359
      start: 1299
    functionDepth: 2
    functionLinenumber: 1299
    functionLinenumberEnd: 1359
    functionName: eap_peer_sm_step_local
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached:
    - eap_peer_sm_step_received
    - eap_peer_sm_step_idle
    - SM_ENTER
    - eapol_get_bool
    linkageType: ''
    returnType: void
    signature: void eap_peer_sm_step_local(struct eap_sm *sm)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: eapol_get_bool
      Src: /src/hostap/src/eap_peer/eap.c:1365,1
    - Dst: eapol_get_bool
      Src: /src/hostap/src/eap_peer/eap.c:1366,1
    - Dst: SM_ENTER_GLOBAL
      Src: /src/hostap/src/eap_peer/eap.c:1367,1
    - Dst: eapol_get_bool
      Src: /src/hostap/src/eap_peer/eap.c:1368,1
    - Dst: SM_ENTER_GLOBAL
      Src: /src/hostap/src/eap_peer/eap.c:1369,1
    - Dst: wpa_msg
      Src: /src/hostap/src/eap_peer/eap.c:1380,1
    - Dst: SM_ENTER_GLOBAL
      Src: /src/hostap/src/eap_peer/eap.c:1384,1
    - Dst: wpa_msg
      Src: /src/hostap/src/eap_peer/eap.c:1388,1
    - Dst: SM_ENTER_GLOBAL
      Src: /src/hostap/src/eap_peer/eap.c:1392,1
    - Dst: eap_peer_sm_step_local
      Src: /src/hostap/src/eap_peer/eap.c:1396,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1398
      start: 1362
    functionDepth: 3
    functionLinenumber: 1362
    functionLinenumberEnd: 1398
    functionName: SM_STEP
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached:
    - SM_ENTER_GLOBAL
    - wpa_msg
    - eap_peer_sm_step_local
    - eapol_get_bool
    linkageType: ''
    returnType: void
    signature: void SM_STEP(EAP)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eap_allowed_method
      Src: /src/hostap/src/eap_peer/eap.c:1404,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:1405,1
    - Dst: eap_peer_get_eap_method
      Src: /src/hostap/src/eap_peer/eap.c:1409,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:1411,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - sm
    - vendor
    - method
    argTypes:
    - struct eap_sm*
    - int
    - enum eap_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1414
      start: 1401
    functionDepth: 2
    functionLinenumber: 1401
    functionLinenumberEnd: 1414
    functionName: eap_sm_allowMethod
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 1
    functionsReached:
    - eap_allowed_method
    - wpa_printf
    - eap_peer_get_eap_method
    linkageType: ''
    returnType: bool
    signature: "bool eap_sm_allowMethod(struct eap_sm *sm, int vendor,\n\t\t\t       enum
      eap_type method)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:1425,1
    - Dst: eap_msg_alloc
      Src: /src/hostap/src/eap_peer/eap.c:1428,1
    - Dst: wpabuf_put_be24
      Src: /src/hostap/src/eap_peer/eap.c:1433,1
    - Dst: wpabuf_put_be32
      Src: /src/hostap/src/eap_peer/eap.c:1434,1
    - Dst: eap_allowed_method
      Src: /src/hostap/src/eap_peer/eap.c:1440,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:1441,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/eap.c:1444,1
    - Dst: wpabuf_put_be24
      Src: /src/hostap/src/eap_peer/eap.c:1445,1
    - Dst: wpabuf_put_be32
      Src: /src/hostap/src/eap_peer/eap.c:1446,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:1452,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/eap.c:1453,1
    - Dst: wpabuf_put_be24
      Src: /src/hostap/src/eap_peer/eap.c:1454,1
    - Dst: wpabuf_put_be32
      Src: /src/hostap/src/eap_peer/eap.c:1455,1
    - Dst: eap_update_len
      Src: /src/hostap/src/eap_peer/eap.c:1458,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 4
    argNames:
    - sm
    - id
    - methods
    - count
    argTypes:
    - struct eap_sm*
    - int
    - struct eap_method*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1461
      start: 1417
    functionDepth: 2
    functionLinenumber: 1417
    functionLinenumberEnd: 1461
    functionName: eap_sm_build_expanded_nak
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached:
    - eap_allowed_method
    - wpa_printf
    - wpabuf_put_u8
    - eap_update_len
    - eap_msg_alloc
    - wpabuf_put_be32
    - wpabuf_put_be24
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_sm_build_expanded_nak(\n\tstruct eap_sm *sm, int
      id, const struct eap_method *methods,\n\tsize_t count)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:1472,1
    - Dst: eap_peer_get_methods
      Src: /src/hostap/src/eap_peer/eap.c:1475,1
    - Dst: eap_sm_build_expanded_nak
      Src: /src/hostap/src/eap_peer/eap.c:1479,1
    - Dst: eap_msg_alloc
      Src: /src/hostap/src/eap_peer/eap.c:1482,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/eap.c:1488,1
    - Dst: eap_allowed_method
      Src: /src/hostap/src/eap_peer/eap.c:1492,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/eap.c:1497,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/eap.c:1499,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/eap.c:1504,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap.c:1505,1
    - Dst: eap_update_len
      Src: /src/hostap/src/eap_peer/eap.c:1507,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 2
    argNames:
    - sm
    - id
    argTypes:
    - struct eap_sm*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1510
      start: 1464
    functionDepth: 3
    functionLinenumber: 1464
    functionLinenumberEnd: 1510
    functionName: eap_sm_buildNak
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 1
    functionsReached:
    - eap_allowed_method
    - wpa_printf
    - wpabuf_put
    - wpabuf_put_u8
    - wpa_hexdump
    - eap_update_len
    - eap_msg_alloc
    - eap_peer_get_methods
    - eap_sm_build_expanded_nak
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * eap_sm_buildNak(struct eap_sm *sm, int id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/src/eap_peer/eap.c:1518,1
    - Dst: eap_notify_status
      Src: /src/hostap/src/eap_peer/eap.c:1520,1
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_peer/eap.c:1522,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_peer/eap.c:1536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - sm
    - req
    argTypes:
    - struct eap_sm*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1538
      start: 1513
    functionDepth: 1
    functionLinenumber: 1513
    functionLinenumberEnd: 1538
    functionName: eap_sm_processIdentity
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 1
    functionsReached:
    - eap_notify_status
    - wpa_hexdump_ascii
    - eap_hdr_validate
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: void eap_sm_processIdentity(struct eap_sm *sm, const struct wpabuf
      *req)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap.c:1552,1
    - Dst: atoi
      Src: /src/hostap/src/eap_peer/eap.c:1554,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - imsi
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1562
      start: 1547
    functionDepth: 0
    functionLinenumber: 1547
    functionLinenumberEnd: 1562
    functionName: mnc_len_from_imsi
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached:
    - atoi
    - os_memcpy
    linkageType: ''
    returnType: int
    signature: int mnc_len_from_imsi(const char *imsi)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: scard_get_imsi
      Src: /src/hostap/src/eap_peer/eap.c:1575,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:1576,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_peer/eap.c:1580,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:1583,1
    - Dst: scard_get_mnc_len
      Src: /src/hostap/src/eap_peer/eap.c:1588,1
    - Dst: mnc_len_from_imsi
      Src: /src/hostap/src/eap_peer/eap.c:1590,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:1592,1
    - Dst: eap_sm_append_3gpp_realm
      Src: /src/hostap/src/eap_peer/eap.c:1597,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:1599,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_peer/eap.c:1602,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap.c:1619,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_peer/eap.c:1620,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:1622,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap.c:1638,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 53
    argCount: 2
    argNames:
    - sm
    - conf
    argTypes:
    - struct eap_sm*
    - struct eap_peer_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1642
      start: 1565
    functionDepth: 1
    functionLinenumber: 1565
    functionLinenumberEnd: 1642
    functionName: eap_sm_imsi_identity
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - mnc_len_from_imsi
    - os_malloc
    - scard_get_mnc_len
    - scard_get_imsi
    - os_free
    - eap_sm_append_3gpp_realm
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: int
    signature: "int eap_sm_imsi_identity(struct eap_sm *sm,\n\t\t\t\tstruct eap_peer_config
      *conf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: scard_set_pin
      Src: /src/hostap/src/eap_peer/eap.c:1648,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap.c:1653,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:1656,1
    - Dst: eap_sm_request_pin
      Src: /src/hostap/src/eap_peer/eap.c:1657,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - sm
    - conf
    argTypes:
    - struct eap_sm*
    - struct eap_peer_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1661
      start: 1645
    functionDepth: 1
    functionLinenumber: 1645
    functionLinenumberEnd: 1661
    functionName: eap_sm_set_scard_pin
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpa_printf
    - eap_sm_request_pin
    - scard_set_pin
    linkageType: ''
    returnType: int
    signature: "int eap_sm_set_scard_pin(struct eap_sm *sm,\n\t\t\t\tstruct eap_peer_config
      *conf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_sm_set_scard_pin
      Src: /src/hostap/src/eap_peer/eap.c:1667,1
    - Dst: eap_sm_imsi_identity
      Src: /src/hostap/src/eap_peer/eap.c:1670,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - sm
    - conf
    argTypes:
    - struct eap_sm*
    - struct eap_peer_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1671
      start: 1664
    functionDepth: 2
    functionLinenumber: 1664
    functionLinenumberEnd: 1671
    functionName: eap_sm_get_scard_identity
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached:
    - eap_sm_imsi_identity
    - eap_sm_set_scard_pin
    linkageType: ''
    returnType: int
    signature: "int eap_sm_get_scard_identity(struct eap_sm *sm,\n\t\t\t\t     struct
      eap_peer_config *conf)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: eap_get_config
      Src: /src/hostap/src/eap_peer/eap.c:1689,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:1696,1
    - Dst: struct eap_sm*::m::get_identity
      Src: /src/hostap/src/eap_peer/eap.c:1702,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_peer/eap.c:1704,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_peer/eap.c:1709,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_peer/eap.c:1714,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eap_peer/eap.c:1721,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/eap.c:1727,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/eap_peer/eap.c:1728,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_peer/eap.c:1733,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_peer/eap.c:1735,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap.c:1736,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_peer/eap.c:1737,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_peer/eap.c:1743,1
    - Dst: eap_sm_get_scard_identity
      Src: /src/hostap/src/eap_peer/eap.c:1750,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_peer/eap.c:1754,1
    - Dst: eap_sm_set_scard_pin
      Src: /src/hostap/src/eap_peer/eap.c:1757,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:1764,1
    - Dst: eap_sm_request_identity
      Src: /src/hostap/src/eap_peer/eap.c:1766,1
    - Dst: eap_msg_alloc
      Src: /src/hostap/src/eap_peer/eap.c:1770,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_peer/eap.c:1775,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap.c:1777,1
    - Dst: os_memdup
      Src: /src/hostap/src/eap_peer/eap.c:1778,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap.c:1781,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 63
    argCount: 3
    argNames:
    - sm
    - id
    - encrypted
    argTypes:
    - struct eap_sm*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1784
      start: 1687
    functionDepth: 3
    functionLinenumber: 1687
    functionLinenumberEnd: 1784
    functionName: eap_sm_buildIdentity
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 3
    functionsReached:
    - eap_get_config
    - wpa_printf
    - eap_sm_get_scard_identity
    - eap_sm_set_scard_pin
    - wpabuf_put_u8
    - wpabuf_put_data
    - wpabuf_put_str
    - wpabuf_len
    - os_memdup
    - eap_sm_request_identity
    - eap_msg_alloc
    - wpabuf_free
    - wpabuf_head
    - wpabuf_alloc
    - struct eap_sm*::m::get_identity
    - os_free
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * eap_sm_buildIdentity(struct eap_sm *sm, int id, int
      encrypted)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_peer/eap.c:1793,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_peer/eap.c:1797,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_peer/eap.c:1800,1
    - Dst: isprint
      Src: /src/hostap/src/eap_peer/eap.c:1804,1
    - Dst: wpa_msg
      Src: /src/hostap/src/eap_peer/eap.c:1806,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap.c:1808,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - sm
    - req
    argTypes:
    - struct eap_sm*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1809
      start: 1787
    functionDepth: 1
    functionLinenumber: 1787
    functionLinenumberEnd: 1809
    functionName: eap_sm_processNotify
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 1
    functionsReached:
    - isprint
    - wpa_msg
    - os_malloc
    - eap_hdr_validate
    - os_free
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: void
    signature: void eap_sm_processNotify(struct eap_sm *sm, const struct wpabuf *req)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:1814,1
    - Dst: eap_msg_alloc
      Src: /src/hostap/src/eap_peer/eap.c:1815,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1817
      start: 1812
    functionDepth: 1
    functionLinenumber: 1812
    functionLinenumberEnd: 1817
    functionName: eap_sm_buildNotify
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - eap_msg_alloc
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * eap_sm_buildNotify(int id)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:1829,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:1834,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:1842,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap.c:1847,1
    - Dst: erp_parse_tlvs
      Src: /src/hostap/src/eap_peer/eap.c:1850,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_peer/eap.c:1854,1
    - Dst: eap_peer_erp_reauth_start
      Src: /src/hostap/src/eap_peer/eap.c:1860,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:1865,1
    - Dst: eapol_set_bool
      Src: /src/hostap/src/eap_peer/eap.c:1867,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 3
    argNames:
    - sm
    - hdr
    - len
    argTypes:
    - struct eap_sm*
    - struct eap_hdr*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1868
      start: 1820
    functionDepth: 5
    functionLinenumber: 1820
    functionLinenumberEnd: 1868
    functionName: eap_peer_initiate
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    - erp_parse_tlvs
    - eapol_set_bool
    - eap_peer_erp_reauth_start
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: void
    signature: "void eap_peer_initiate(struct eap_sm *sm, const struct eap_hdr *hdr,\n\t\t\t
      \     size_t len)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:1889,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:1894,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:1900,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_peer/eap.c:1907,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:1909,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:1912,1
    - Dst: erp_parse_tlvs
      Src: /src/hostap/src/eap_peer/eap.c:1923,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:1927,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_peer/eap.c:1932,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:1935,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap.c:1939,1
    - Dst: eap_erp_get_key_nai
      Src: /src/hostap/src/eap_peer/eap.c:1942,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:1944,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:1954,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:1961,1
    - Dst: hmac_sha256
      Src: /src/hostap/src/eap_peer/eap.c:1967,1
    - Dst: os_memcmp
      Src: /src/hostap/src/eap_peer/eap.c:1970,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:1971,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap.c:1983,1
    - Dst: erp_parse_tlvs
      Src: /src/hostap/src/eap_peer/eap.c:1985,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:1989,1
    - Dst: eapol_set_bool
      Src: /src/hostap/src/eap_peer/eap.c:1991,1
    - Dst: eapol_set_bool
      Src: /src/hostap/src/eap_peer/eap.c:1992,1
    - Dst: eapol_set_bool
      Src: /src/hostap/src/eap_peer/eap.c:1993,1
    - Dst: wpa_msg
      Src: /src/hostap/src/eap_peer/eap.c:1994,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:1997,1
    - Dst: eap_peer_erp_free_key
      Src: /src/hostap/src/eap_peer/eap.c:1999,1
    - Dst: eap_sm_free_key
      Src: /src/hostap/src/eap_peer/eap.c:2003,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_peer/eap.c:2005,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/eap_peer/eap.c:2010,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/eap_peer/eap.c:2011,1
    - Dst: hmac_sha256_kdf
      Src: /src/hostap/src/eap_peer/eap.c:2012,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:2016,1
    - Dst: eap_sm_free_key
      Src: /src/hostap/src/eap_peer/eap.c:2017,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_peer/eap.c:2020,1
    - Dst: eapol_set_bool
      Src: /src/hostap/src/eap_peer/eap.c:2023,1
    - Dst: eapol_set_bool
      Src: /src/hostap/src/eap_peer/eap.c:2024,1
    - Dst: eapol_set_bool
      Src: /src/hostap/src/eap_peer/eap.c:2025,1
    - Dst: wpa_msg
      Src: /src/hostap/src/eap_peer/eap.c:2026,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 100
    argCount: 3
    argNames:
    - sm
    - hdr
    - len
    argTypes:
    - struct eap_sm*
    - struct eap_hdr*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2029
      start: 1871
    functionDepth: 2
    functionLinenumber: 1871
    functionLinenumberEnd: 2029
    functionName: eap_peer_finish
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_printf
    - WPA_GET_BE16
    - wpa_hexdump_key
    - wpa_hexdump
    - hmac_sha256
    - wpa_msg
    - eap_sm_free_key
    - erp_parse_tlvs
    - os_malloc
    - eap_erp_get_key_nai
    - eapol_set_bool
    - eap_peer_erp_free_key
    - WPA_PUT_BE16
    - os_memcmp
    - hmac_sha256_kdf
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: void
    signature: void eap_peer_finish(struct eap_sm *sm, const struct eap_hdr *hdr,
      size_t len)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap.c:2044,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_peer/eap.c:2047,1
    - Dst: be_to_host16
      Src: /src/hostap/src/eap_peer/eap.c:2048,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap.c:2049,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:2050,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap.c:2052,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_peer/eap.c:2061,1
    - Dst: sha1_vector
      Src: /src/hostap/src/eap_peer/eap.c:2062,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:2068,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:2077,1
    - Dst: WPA_GET_BE24
      Src: /src/hostap/src/eap_peer/eap.c:2082,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/eap_peer/eap.c:2084,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:2086,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:2099,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:2106,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:2111,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:2114,1
    - Dst: eap_notify_status
      Src: /src/hostap/src/eap_peer/eap.c:2115,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:2119,1
    - Dst: eap_notify_status
      Src: /src/hostap/src/eap_peer/eap.c:2120,1
    - Dst: struct eap_sm*::m::get_error_code
      Src: /src/hostap/src/eap_peer/eap.c:2126,1
    - Dst: eap_report_error
      Src: /src/hostap/src/eap_peer/eap.c:2128,1
    - Dst: eap_peer_initiate
      Src: /src/hostap/src/eap_peer/eap.c:2133,1
    - Dst: eap_peer_finish
      Src: /src/hostap/src/eap_peer/eap.c:2136,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:2139,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 78
    argCount: 2
    argNames:
    - sm
    - req
    argTypes:
    - struct eap_sm*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2143
      start: 2032
    functionDepth: 6
    functionLinenumber: 2032
    functionLinenumberEnd: 2143
    functionName: eap_sm_parseEapReq
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 1
    functionsReached:
    - be_to_host16
    - eap_report_error
    - wpa_printf
    - wpabuf_len
    - sha1_vector
    - eap_peer_finish
    - wpabuf_head
    - WPA_GET_BE24
    - eap_peer_initiate
    - struct eap_sm*::m::get_error_code
    - WPA_GET_BE32
    - eap_notify_status
    linkageType: ''
    returnType: void
    signature: void eap_sm_parseEapReq(struct eap_sm *sm, const struct wpabuf *req)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: eap_notify_status
      Src: /src/hostap/src/eap_peer/eap.c:2154,1
    - Dst: eap_sm_request
      Src: /src/hostap/src/eap_peer/eap.c:2158,1
    - Dst: wpa_msg
      Src: /src/hostap/src/eap_peer/eap.c:2163,1
    - Dst: eap_notify_status
      Src: /src/hostap/src/eap_peer/eap.c:2169,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_peer/eap.c:2178,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/eap_peer/eap.c:2180,1
    - Dst: struct eap_sm*::eapol_cb::notify_cert
      Src: /src/hostap/src/eap_peer/eap.c:2186,1
    - Dst: eap_notify_status
      Src: /src/hostap/src/eap_peer/eap.c:2191,1
    - Dst: eap_notify_status
      Src: /src/hostap/src/eap_peer/eap.c:2194,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:2198,1
    - Dst: eap_notify_status
      Src: /src/hostap/src/eap_peer/eap.c:2200,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap.c:2204,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 3
    argNames:
    - ctx
    - ev
    - data
    argTypes:
    - void*
    - enum tls_event
    - union tls_event_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2205
      start: 2146
    functionDepth: 1
    functionLinenumber: 2146
    functionLinenumberEnd: 2205
    functionName: eap_peer_sm_tls_event
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_snprintf_hex
    - wpa_msg
    - os_malloc
    - struct eap_sm*::eapol_cb::notify_cert
    - eap_sm_request
    - os_free
    - eap_notify_status
    linkageType: ''
    returnType: void
    signature: "void eap_peer_sm_tls_event(void *ctx, enum tls_event ev,\n\t\t\t\t
      \ union tls_event_data *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_peer/eap.c:2229,1
    - Dst: dl_list_init
      Src: /src/hostap/src/eap_peer/eap.c:2237,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_peer/eap.c:2239,1
    - Dst: tls_init
      Src: /src/hostap/src/eap_peer/eap.c:2256,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:2258,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap.c:2260,1
    - Dst: tls_init
      Src: /src/hostap/src/eap_peer/eap.c:2264,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap.c:2266,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 4
    argNames:
    - eapol_ctx
    - eapol_cb
    - msg_ctx
    - conf
    argTypes:
    - void*
    - struct eapol_callbacks*
    - void*
    - struct eap_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2272
      start: 2222
    functionDepth: 1
    functionLinenumber: 2222
    functionLinenumberEnd: 2272
    functionName: eap_peer_sm_init
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_zalloc
    - dl_list_init
    - tls_init
    - os_free
    - os_memset
    linkageType: ''
    returnType: struct eap_sm
    signature: "struct eap_sm * eap_peer_sm_init(void *eapol_ctx,\n\t\t\t\t const
      struct eapol_callbacks *eapol_cb,\n\t\t\t\t void *msg_ctx, struct eap_config
      *conf)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eap_deinit_prev_method
      Src: /src/hostap/src/eap_peer/eap.c:2286,1
    - Dst: eap_sm_abort
      Src: /src/hostap/src/eap_peer/eap.c:2287,1
    - Dst: tls_deinit
      Src: /src/hostap/src/eap_peer/eap.c:2289,1
    - Dst: tls_deinit
      Src: /src/hostap/src/eap_peer/eap.c:2290,1
    - Dst: eap_peer_erp_free_keys
      Src: /src/hostap/src/eap_peer/eap.c:2291,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap.c:2292,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap.c:2293,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2294
      start: 2282
    functionDepth: 3
    functionLinenumber: 2282
    functionLinenumberEnd: 2294
    functionName: eap_peer_sm_deinit
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached:
    - tls_deinit
    - eap_deinit_prev_method
    - eap_peer_erp_free_keys
    - os_free
    - eap_sm_abort
    linkageType: ''
    returnType: void
    signature: void eap_peer_sm_deinit(struct eap_sm *sm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SM_STEP_RUN
      Src: /src/hostap/src/eap_peer/eap.c:2311,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2316
      start: 2306
    functionDepth: 1
    functionLinenumber: 2306
    functionLinenumberEnd: 2316
    functionName: eap_peer_sm_step
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached:
    - SM_STEP_RUN
    linkageType: ''
    returnType: int
    signature: int eap_peer_sm_step(struct eap_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap.c:2328,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap.c:2330,1
    - Dst: eap_sm_free_key
      Src: /src/hostap/src/eap_peer/eap.c:2332,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap.c:2333,1
    - Dst: eapol_set_bool
      Src: /src/hostap/src/eap_peer/eap.c:2339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2340
      start: 2326
    functionDepth: 2
    functionLinenumber: 2326
    functionLinenumberEnd: 2340
    functionName: eap_sm_abort
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 1
    functionsReached:
    - os_free
    - wpabuf_free
    - eapol_set_bool
    - eap_sm_free_key
    linkageType: ''
    returnType: void
    signature: void eap_sm_abort(struct eap_sm *sm)
  - BBCount: 15
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 1
    argNames:
    - state
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2376
      start: 2344
    functionDepth: 0
    functionLinenumber: 2344
    functionLinenumberEnd: 2376
    functionName: eap_sm_state_txt
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * eap_sm_state_txt(int state)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - state
    argTypes:
    - EapMethodState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2397
      start: 2381
    functionDepth: 0
    functionLinenumber: 2381
    functionLinenumberEnd: 2397
    functionName: eap_sm_method_state_txt
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * eap_sm_method_state_txt(EapMethodState state)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - decision
    argTypes:
    - EapDecision
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2412
      start: 2400
    functionDepth: 0
    functionLinenumber: 2400
    functionLinenumberEnd: 2412
    functionName: eap_sm_decision_txt
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * eap_sm_decision_txt(EapDecision decision)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/src/eap_peer/eap.c:2438,1
    - Dst: eap_sm_state_txt
      Src: /src/hostap/src/eap_peer/eap.c:2440,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/eap_peer/eap.c:2441,1
    - Dst: eap_peer_get_eap_method
      Src: /src/hostap/src/eap_peer/eap.c:2450,1
    - Dst: os_snprintf
      Src: /src/hostap/src/eap_peer/eap.c:2457,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/eap_peer/eap.c:2460,1
    - Dst: struct eap_sm*::m::get_status
      Src: /src/hostap/src/eap_peer/eap.c:2465,1
    - Dst: os_snprintf
      Src: /src/hostap/src/eap_peer/eap.c:2472,1
    - Dst: eap_sm_method_state_txt
      Src: /src/hostap/src/eap_peer/eap.c:2478,1
    - Dst: eap_sm_decision_txt
      Src: /src/hostap/src/eap_peer/eap.c:2479,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/eap_peer/eap.c:2481,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 4
    argNames:
    - sm
    - buf
    - buflen
    - verbose
    argTypes:
    - struct eap_sm*
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2487
      start: 2431
    functionDepth: 1
    functionLinenumber: 2431
    functionLinenumberEnd: 2487
    functionName: eap_sm_get_status
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached:
    - eap_sm_decision_txt
    - struct eap_sm*::m::get_status
    - eap_peer_get_eap_method
    - os_snprintf
    - eap_sm_state_txt
    - eap_sm_method_state_txt
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: int eap_sm_get_status(struct eap_sm *sm, char *buf, size_t buflen,
      int verbose)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: eap_get_config
      Src: /src/hostap/src/eap_peer/eap.c:2501,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_peer/eap.c:2520,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap.c:2524,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap.c:2528,1
    - Dst: struct eap_sm*::eapol_cb::eap_param_needed
      Src: /src/hostap/src/eap_peer/eap.c:2551,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    argCount: 4
    argNames:
    - sm
    - field
    - msg
    - msglen
    argTypes:
    - struct eap_sm*
    - enum wpa_ctrl_req_type
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2553
      start: 2491
    functionDepth: 0
    functionLinenumber: 2491
    functionLinenumberEnd: 2553
    functionName: eap_sm_request
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 1
    functionsReached:
    - eap_get_config
    - os_memcpy
    - os_malloc
    - struct eap_sm*::eapol_cb::eap_param_needed
    - os_free
    linkageType: ''
    returnType: void
    signature: "void eap_sm_request(struct eap_sm *sm, enum wpa_ctrl_req_type field,\n\t\t\t
      \  const char *msg, size_t msglen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2561
      start: 2556
    functionDepth: 0
    functionLinenumber: 2556
    functionLinenumberEnd: 2561
    functionName: eap_sm_get_method_name
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * eap_sm_get_method_name(struct eap_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eap_sm_request
      Src: /src/hostap/src/eap_peer/eap.c:2575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2576
      start: 2573
    functionDepth: 1
    functionLinenumber: 2573
    functionLinenumberEnd: 2576
    functionName: eap_sm_request_identity
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 2
    functionsReached:
    - eap_sm_request
    linkageType: ''
    returnType: void
    signature: void eap_sm_request_identity(struct eap_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eap_sm_request
      Src: /src/hostap/src/eap_peer/eap.c:2590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2591
      start: 2588
    functionDepth: 1
    functionLinenumber: 2588
    functionLinenumberEnd: 2591
    functionName: eap_sm_request_password
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached:
    - eap_sm_request
    linkageType: ''
    returnType: void
    signature: void eap_sm_request_password(struct eap_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eap_sm_request
      Src: /src/hostap/src/eap_peer/eap.c:2605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2606
      start: 2603
    functionDepth: 1
    functionLinenumber: 2603
    functionLinenumberEnd: 2606
    functionName: eap_sm_request_new_password
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached:
    - eap_sm_request
    linkageType: ''
    returnType: void
    signature: void eap_sm_request_new_password(struct eap_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eap_sm_request
      Src: /src/hostap/src/eap_peer/eap.c:2620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2621
      start: 2618
    functionDepth: 1
    functionLinenumber: 2618
    functionLinenumberEnd: 2621
    functionName: eap_sm_request_pin
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 1
    functionsReached:
    - eap_sm_request
    linkageType: ''
    returnType: void
    signature: void eap_sm_request_pin(struct eap_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eap_sm_request
      Src: /src/hostap/src/eap_peer/eap.c:2636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sm
    - msg
    - msg_len
    argTypes:
    - struct eap_sm*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2637
      start: 2634
    functionDepth: 1
    functionLinenumber: 2634
    functionLinenumberEnd: 2637
    functionName: eap_sm_request_otp
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 1
    functionsReached:
    - eap_sm_request
    linkageType: ''
    returnType: void
    signature: void eap_sm_request_otp(struct eap_sm *sm, const char *msg, size_t
      msg_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eap_sm_request
      Src: /src/hostap/src/eap_peer/eap.c:2651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2652
      start: 2649
    functionDepth: 1
    functionLinenumber: 2649
    functionLinenumberEnd: 2652
    functionName: eap_sm_request_passphrase
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached:
    - eap_sm_request
    linkageType: ''
    returnType: void
    signature: void eap_sm_request_passphrase(struct eap_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eap_sm_request
      Src: /src/hostap/src/eap_peer/eap.c:2662,1
    - Dst: os_strlen
      Src: /src/hostap/src/eap_peer/eap.c:2662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - req
    argTypes:
    - struct eap_sm*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2663
      start: 2660
    functionDepth: 1
    functionLinenumber: 2660
    functionLinenumberEnd: 2663
    functionName: eap_sm_request_sim
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 1
    functionsReached:
    - os_strlen
    - eap_sm_request
    linkageType: ''
    returnType: void
    signature: void eap_sm_request_sim(struct eap_sm *sm, const char *req)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: eap_get_config
      Src: /src/hostap/src/eap_peer/eap.c:2675,1
    - Dst: eap_sm_request_identity
      Src: /src/hostap/src/eap_peer/eap.c:2685,1
    - Dst: eap_sm_request_password
      Src: /src/hostap/src/eap_peer/eap.c:2687,1
    - Dst: eap_sm_request_new_password
      Src: /src/hostap/src/eap_peer/eap.c:2689,1
    - Dst: eap_sm_request_otp
      Src: /src/hostap/src/eap_peer/eap.c:2691,1
    - Dst: eap_sm_request_pin
      Src: /src/hostap/src/eap_peer/eap.c:2693,1
    - Dst: eap_sm_request_passphrase
      Src: /src/hostap/src/eap_peer/eap.c:2695,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2696
      start: 2673
    functionDepth: 2
    functionLinenumber: 2673
    functionLinenumberEnd: 2696
    functionName: eap_sm_notify_ctrl_attached
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached:
    - eap_get_config
    - eap_sm_request_new_password
    - eap_sm_request_otp
    - eap_sm_request_identity
    - eap_sm_request_passphrase
    - eap_sm_request_password
    - eap_sm_request_pin
    linkageType: ''
    returnType: void
    signature: void eap_sm_notify_ctrl_attached(struct eap_sm *sm)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - vendor
    - type
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2707
      start: 2699
    functionDepth: 0
    functionLinenumber: 2699
    functionLinenumberEnd: 2707
    functionName: eap_allowed_phase2_type
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int eap_allowed_phase2_type(int vendor, int type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_peer_get_type
      Src: /src/hostap/src/eap_peer/eap.c:2723,1
    - Dst: eap_allowed_phase2_type
      Src: /src/hostap/src/eap_peer/eap.c:2724,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - name
    - vendor
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2730
      start: 2720
    functionDepth: 1
    functionLinenumber: 2720
    functionLinenumberEnd: 2730
    functionName: eap_get_phase2_type
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached:
    - eap_peer_get_type
    - eap_allowed_phase2_type
    linkageType: ''
    returnType: u32
    signature: u32 eap_get_phase2_type(const char *name, int *vendor)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: eap_peer_get_methods
      Src: /src/hostap/src/eap_peer/eap.c:2751,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_peer/eap.c:2755,1
    - Dst: eap_allowed_phase2_type
      Src: /src/hostap/src/eap_peer/eap.c:2762,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - config
    - count
    argTypes:
    - struct eap_peer_config*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2774
      start: 2742
    functionDepth: 1
    functionLinenumber: 2742
    functionLinenumberEnd: 2774
    functionName: eap_get_phase2_types
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached:
    - os_malloc
    - eap_peer_get_methods
    - eap_allowed_phase2_type
    linkageType: ''
    returnType: struct eap_method_type
    signature: "struct eap_method_type * eap_get_phase2_types(struct eap_peer_config
      *config,\n\t\t\t\t\t      size_t *count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - enabled
    argTypes:
    - struct eap_sm*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2785
      start: 2782
    functionDepth: 0
    functionLinenumber: 2782
    functionLinenumberEnd: 2785
    functionName: eap_set_fast_reauth
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void eap_set_fast_reauth(struct eap_sm *sm, int enabled)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - workaround
    argTypes:
    - struct eap_sm*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2796
      start: 2793
    functionDepth: 0
    functionLinenumber: 2793
    functionLinenumberEnd: 2796
    functionName: eap_set_workaround
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void eap_set_workaround(struct eap_sm *sm, unsigned int workaround)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct eap_sm*::eapol_cb::get_config
      Src: /src/hostap/src/eap_peer/eap.c:2811,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2812
      start: 2809
    functionDepth: 0
    functionLinenumber: 2809
    functionLinenumberEnd: 2812
    functionName: eap_get_config
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 23
    functionsReached:
    - struct eap_sm*::eapol_cb::get_config
    linkageType: ''
    returnType: struct eap_peer_config
    signature: struct eap_peer_config * eap_get_config(struct eap_sm *sm)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eap_get_config
      Src: /src/hostap/src/eap_peer/eap.c:2823,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - sm
    - len
    argTypes:
    - struct eap_sm*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2835
      start: 2821
    functionDepth: 0
    functionLinenumber: 2821
    functionLinenumberEnd: 2835
    functionName: eap_get_config_identity
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 9
    functionsReached:
    - eap_get_config
    linkageType: ''
    returnType: u8
    signature: u8 * eap_get_config_identity(struct eap_sm *sm, size_t *len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_peer/eap.c:2856,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap.c:2859,1
    - Dst: ext_password_free
      Src: /src/hostap/src/eap_peer/eap.c:2861,1
    - Dst: ext_password_get
      Src: /src/hostap/src/eap_peer/eap.c:2862,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap.c:2863,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - sm
    - config
    argTypes:
    - struct eap_sm*
    - struct eap_peer_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2866
      start: 2838
    functionDepth: 0
    functionLinenumber: 2838
    functionLinenumberEnd: 2866
    functionName: eap_get_ext_password
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - ext_password_get
    - os_zalloc
    - os_free
    - ext_password_free
    linkageType: ''
    returnType: int
    signature: "int eap_get_ext_password(struct eap_sm *sm,\n\t\t\t\tstruct eap_peer_config
      *config)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: eap_get_config
      Src: /src/hostap/src/eap_peer/eap.c:2877,1
    - Dst: eap_get_ext_password
      Src: /src/hostap/src/eap_peer/eap.c:2886,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap.c:2888,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_peer/eap.c:2889,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - sm
    - len
    argTypes:
    - struct eap_sm*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2899
      start: 2875
    functionDepth: 1
    functionLinenumber: 2875
    functionLinenumberEnd: 2899
    functionName: eap_get_config_password
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 7
    functionsReached:
    - eap_get_config
    - wpabuf_len
    - eap_get_ext_password
    - wpabuf_head
    linkageType: ''
    returnType: u8
    signature: u8 * eap_get_config_password(struct eap_sm *sm, size_t *len)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: eap_get_config
      Src: /src/hostap/src/eap_peer/eap.c:2913,1
    - Dst: eap_get_ext_password
      Src: /src/hostap/src/eap_peer/eap.c:2922,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap.c:2926,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_peer/eap.c:2927,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 3
    argNames:
    - sm
    - len
    - hash
    argTypes:
    - struct eap_sm*
    - size_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2942
      start: 2911
    functionDepth: 1
    functionLinenumber: 2911
    functionLinenumberEnd: 2942
    functionName: eap_get_config_password2
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 1
    functionsReached:
    - eap_get_config
    - wpabuf_len
    - eap_get_ext_password
    - wpabuf_head
    linkageType: ''
    returnType: u8
    signature: u8 * eap_get_config_password2(struct eap_sm *sm, size_t *len, int *hash)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_get_config
      Src: /src/hostap/src/eap_peer/eap.c:2953,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - sm
    - len
    argTypes:
    - struct eap_sm*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2958
      start: 2951
    functionDepth: 0
    functionLinenumber: 2951
    functionLinenumberEnd: 2958
    functionName: eap_get_config_new_password
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached:
    - eap_get_config
    linkageType: ''
    returnType: u8
    signature: u8 * eap_get_config_new_password(struct eap_sm *sm, size_t *len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_get_config
      Src: /src/hostap/src/eap_peer/eap.c:2969,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - sm
    - len
    argTypes:
    - struct eap_sm*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2974
      start: 2967
    functionDepth: 0
    functionLinenumber: 2967
    functionLinenumberEnd: 2974
    functionName: eap_get_config_otp
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 1
    functionsReached:
    - eap_get_config
    linkageType: ''
    returnType: u8
    signature: u8 * eap_get_config_otp(struct eap_sm *sm, size_t *len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_get_config
      Src: /src/hostap/src/eap_peer/eap.c:2987,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_peer/eap.c:2990,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap.c:2991,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2994
      start: 2985
    functionDepth: 0
    functionLinenumber: 2985
    functionLinenumberEnd: 2994
    functionName: eap_clear_config_otp
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 1
    functionsReached:
    - eap_get_config
    - os_free
    - os_memset
    linkageType: ''
    returnType: void
    signature: void eap_clear_config_otp(struct eap_sm *sm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_get_config
      Src: /src/hostap/src/eap_peer/eap.c:3004,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3008
      start: 3002
    functionDepth: 0
    functionLinenumber: 3002
    functionLinenumberEnd: 3008
    functionName: eap_get_config_phase1
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 3
    functionsReached:
    - eap_get_config
    linkageType: ''
    returnType: char
    signature: char * eap_get_config_phase1(struct eap_sm *sm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_get_config
      Src: /src/hostap/src/eap_peer/eap.c:3018,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3022
      start: 3016
    functionDepth: 0
    functionLinenumber: 3016
    functionLinenumberEnd: 3022
    functionName: eap_get_config_phase2
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached:
    - eap_get_config
    linkageType: ''
    returnType: char
    signature: char * eap_get_config_phase2(struct eap_sm *sm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_get_config
      Src: /src/hostap/src/eap_peer/eap.c:3027,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3031
      start: 3025
    functionDepth: 0
    functionLinenumber: 3025
    functionLinenumberEnd: 3031
    functionName: eap_get_config_fragment_size
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 2
    functionsReached:
    - eap_get_config
    linkageType: ''
    returnType: int
    signature: int eap_get_config_fragment_size(struct eap_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3042
      start: 3039
    functionDepth: 0
    functionLinenumber: 3039
    functionLinenumberEnd: 3042
    functionName: eap_key_available
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int eap_key_available(struct eap_sm *sm)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3060
      start: 3054
    functionDepth: 0
    functionLinenumber: 3054
    functionLinenumberEnd: 3060
    functionName: eap_notify_success
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void eap_notify_success(struct eap_sm *sm)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: eapol_get_bool
      Src: /src/hostap/src/eap_peer/eap.c:3075,1
    - Dst: eapol_set_bool
      Src: /src/hostap/src/eap_peer/eap.c:3083,1
    - Dst: wpa_msg
      Src: /src/hostap/src/eap_peer/eap.c:3084,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3087
      start: 3070
    functionDepth: 1
    functionLinenumber: 3070
    functionLinenumberEnd: 3087
    functionName: eap_notify_lower_layer_success
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached:
    - wpa_msg
    - eapol_set_bool
    - eapol_get_bool
    linkageType: ''
    returnType: void
    signature: void eap_notify_lower_layer_success(struct eap_sm *sm)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - sm
    - len
    argTypes:
    - struct eap_sm*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3109
      start: 3100
    functionDepth: 0
    functionLinenumber: 3100
    functionLinenumberEnd: 3109
    functionName: eap_get_eapSessionId
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 * eap_get_eapSessionId(struct eap_sm *sm, size_t *len)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - sm
    - len
    argTypes:
    - struct eap_sm*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3132
      start: 3123
    functionDepth: 0
    functionLinenumber: 3123
    functionLinenumberEnd: 3132
    functionName: eap_get_eapKeyData
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 * eap_get_eapKeyData(struct eap_sm *sm, size_t *len)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3156
      start: 3145
    functionDepth: 0
    functionLinenumber: 3145
    functionLinenumberEnd: 3156
    functionName: eap_get_eapRespData
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * eap_get_eapRespData(struct eap_sm *sm)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - sm
    - ctx
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3171
      start: 3167
    functionDepth: 0
    functionLinenumber: 3167
    functionLinenumberEnd: 3171
    functionName: eap_register_scard_ctx
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void eap_register_scard_ctx(struct eap_sm *sm, void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct eap_sm*::eapol_cb::set_config_blob
      Src: /src/hostap/src/eap_peer/eap.c:3185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - blob
    argTypes:
    - struct eap_sm*
    - struct wpa_config_blob*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3187
      start: 3182
    functionDepth: 0
    functionLinenumber: 3182
    functionLinenumberEnd: 3187
    functionName: eap_set_config_blob
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached:
    - struct eap_sm*::eapol_cb::set_config_blob
    linkageType: ''
    returnType: void
    signature: void eap_set_config_blob(struct eap_sm *sm, struct wpa_config_blob
      *blob)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct eap_sm*::eapol_cb::get_config_blob
      Src: /src/hostap/src/eap_peer/eap.c:3200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sm
    - name
    argTypes:
    - struct eap_sm*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3204
      start: 3196
    functionDepth: 0
    functionLinenumber: 3196
    functionLinenumberEnd: 3204
    functionName: eap_get_config_blob
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached:
    - struct eap_sm*::eapol_cb::get_config_blob
    linkageType: ''
    returnType: struct wpa_config_blob
    signature: "struct wpa_config_blob * eap_get_config_blob(struct eap_sm *sm,\n\t\t\t\t\t\t
      \  const char *name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - disabled
    argTypes:
    - struct eap_sm*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3218
      start: 3215
    functionDepth: 0
    functionLinenumber: 3215
    functionLinenumberEnd: 3218
    functionName: eap_set_force_disabled
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void eap_set_force_disabled(struct eap_sm *sm, int disabled)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - external_sim
    argTypes:
    - struct eap_sm*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3229
      start: 3226
    functionDepth: 0
    functionLinenumber: 3226
    functionLinenumberEnd: 3229
    functionName: eap_set_external_sim
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void eap_set_external_sim(struct eap_sm *sm, int external_sim)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct eap_sm*::eapol_cb::notify_pending
      Src: /src/hostap/src/eap_peer/eap.c:3243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3244
      start: 3241
    functionDepth: 0
    functionLinenumber: 3241
    functionLinenumberEnd: 3244
    functionName: eap_notify_pending
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached:
    - struct eap_sm*::eapol_cb::notify_pending
    linkageType: ''
    returnType: void
    signature: void eap_notify_pending(struct eap_sm *sm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_deinit_prev_method
      Src: /src/hostap/src/eap_peer/eap.c:3254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3255
      start: 3251
    functionDepth: 1
    functionLinenumber: 3251
    functionLinenumberEnd: 3255
    functionName: eap_invalidate_cached_session
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached:
    - eap_deinit_prev_method
    linkageType: ''
    returnType: void
    signature: void eap_invalidate_cached_session(struct eap_sm *sm)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/src/eap_peer/eap.c:3261,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/eap.c:3264,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - conf
    argTypes:
    - struct eap_peer_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3268
      start: 3258
    functionDepth: 0
    functionLinenumber: 3258
    functionLinenumberEnd: 3268
    functionName: eap_is_wps_pbc_enrollee
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 6
    functionsReached:
    - os_strstr
    - os_memcmp
    linkageType: ''
    returnType: int
    signature: int eap_is_wps_pbc_enrollee(struct eap_peer_config *conf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/src/eap_peer/eap.c:3274,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/eap.c:3277,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - conf
    argTypes:
    - struct eap_peer_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3281
      start: 3271
    functionDepth: 0
    functionLinenumber: 3271
    functionLinenumberEnd: 3281
    functionName: eap_is_wps_pin_enrollee
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 6
    functionsReached:
    - os_strstr
    - os_memcmp
    linkageType: ''
    returnType: int
    signature: int eap_is_wps_pin_enrollee(struct eap_peer_config *conf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ext_password_free
      Src: /src/hostap/src/eap_peer/eap.c:3286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - sm
    - ext
    argTypes:
    - struct eap_sm*
    - struct ext_password_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3289
      start: 3284
    functionDepth: 0
    functionLinenumber: 3284
    functionLinenumberEnd: 3289
    functionName: eap_sm_set_ext_pw_ctx
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached:
    - ext_password_free
    linkageType: ''
    returnType: void
    signature: void eap_sm_set_ext_pw_ctx(struct eap_sm *sm, struct ext_password_data
      *ext)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct eap_sm*::eapol_cb::set_anon_id
      Src: /src/hostap/src/eap_peer/eap.c:3301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - sm
    - id
    - len
    argTypes:
    - struct eap_sm*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3302
      start: 3298
    functionDepth: 0
    functionLinenumber: 3298
    functionLinenumberEnd: 3302
    functionName: eap_set_anon_id
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 2
    functionsReached:
    - struct eap_sm*::eapol_cb::set_anon_id
    linkageType: ''
    returnType: void
    signature: void eap_set_anon_id(struct eap_sm *sm, const u8 *id, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3308
      start: 3305
    functionDepth: 0
    functionLinenumber: 3305
    functionLinenumberEnd: 3308
    functionName: eap_peer_was_failure_expected
    functionSourceFile: /src/hostap/src/eap_peer/eap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int eap_peer_was_failure_expected(struct eap_sm *sm)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_peer/eap_gtc.c:23,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_gtc.c:29,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 34
    functionName: eap_gtc_init
    functionSourceFile: /src/hostap/src/eap_peer/eap_gtc.c
    functionUses: 0
    functionsReached:
    - os_zalloc
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void * eap_gtc_init(struct eap_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_gtc.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: eap_gtc_deinit
    functionSourceFile: /src/hostap/src/eap_peer/eap_gtc.c
    functionUses: 0
    functionsReached:
    - os_free
    linkageType: ''
    returnType: void
    signature: void eap_gtc_deinit(struct eap_sm *sm, void *priv)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_peer/eap_gtc.c:55,1
    - Dst: eap_get_id
      Src: /src/hostap/src/eap_peer/eap_gtc.c:60,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_peer/eap_gtc.c:62,1
    - Dst: os_memcmp
      Src: /src/hostap/src/eap_peer/eap_gtc.c:64,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_gtc.c:65,1
    - Dst: eap_msg_alloc
      Src: /src/hostap/src/eap_peer/eap_gtc.c:72,1
    - Dst: eap_get_config_otp
      Src: /src/hostap/src/eap_peer/eap_gtc.c:77,1
    - Dst: eap_get_config_password
      Src: /src/hostap/src/eap_peer/eap_gtc.c:81,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_gtc.c:86,1
    - Dst: eap_sm_request_otp
      Src: /src/hostap/src/eap_peer/eap_gtc.c:87,1
    - Dst: eap_get_config_identity
      Src: /src/hostap/src/eap_peer/eap_gtc.c:99,1
    - Dst: eap_msg_alloc
      Src: /src/hostap/src/eap_peer/eap_gtc.c:104,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_peer/eap_gtc.c:109,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_peer/eap_gtc.c:110,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/eap_gtc.c:111,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_peer/eap_gtc.c:113,1
    - Dst: wpa_hexdump_ascii_key
      Src: /src/hostap/src/eap_peer/eap_gtc.c:114,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/eap_peer/eap_gtc.c:115,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_gtc.c:119,1
    - Dst: eap_clear_config_otp
      Src: /src/hostap/src/eap_peer/eap_gtc.c:120,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 50
    argCount: 4
    argNames:
    - sm
    - priv
    - ret
    - reqData
    argTypes:
    - struct eap_sm*
    - void*
    - struct eap_method_ret*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 124
    functionName: eap_gtc_process
    functionSourceFile: /src/hostap/src/eap_peer/eap_gtc.c
    functionUses: 0
    functionsReached:
    - eap_clear_config_otp
    - eap_get_id
    - wpa_printf
    - eap_sm_request_otp
    - wpabuf_head_u8
    - wpabuf_put_data
    - eap_get_config_otp
    - wpabuf_put_u8
    - eap_msg_alloc
    - eap_get_config_password
    - eap_get_config_identity
    - os_memcmp
    - wpa_hexdump_ascii_key
    - eap_hdr_validate
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_gtc_process(struct eap_sm *sm, void *priv,\n\t\t\t\t
      \      struct eap_method_ret *ret,\n\t\t\t\t       const struct wpabuf *reqData)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_peer_method_alloc
      Src: /src/hostap/src/eap_peer/eap_gtc.c:131,1
    - Dst: eap_peer_method_register
      Src: /src/hostap/src/eap_peer/eap_gtc.c:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 141
    functionName: eap_peer_gtc_register
    functionSourceFile: /src/hostap/src/eap_peer/eap_gtc.c
    functionUses: 1
    functionsReached:
    - eap_peer_method_register
    - eap_peer_method_alloc
    linkageType: ''
    returnType: int
    signature: int eap_peer_gtc_register(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: eap_get_config
      Src: /src/hostap/src/eap_peer/eap_tls.c:36,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_tls.c:48,1
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_peer/eap_tls.c:52,1
    - Dst: eap_peer_tls_ssl_init
      Src: /src/hostap/src/eap_peer/eap_tls.c:59,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_tls.c:60,1
    - Dst: eap_tls_deinit
      Src: /src/hostap/src/eap_peer/eap_tls.c:61,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_tls.c:63,1
    - Dst: eap_sm_request_pin
      Src: /src/hostap/src/eap_peer/eap_tls.c:65,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_tls.c:68,1
    - Dst: eap_sm_request_passphrase
      Src: /src/hostap/src/eap_peer/eap_tls.c:70,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 79
    functionName: eap_tls_init
    functionSourceFile: /src/hostap/src/eap_peer/eap_tls.c
    functionUses: 0
    functionsReached:
    - eap_get_config
    - wpa_printf
    - eap_sm_request_passphrase
    - os_zalloc
    - eap_tls_deinit
    - eap_peer_tls_ssl_init
    - eap_sm_request_pin
    linkageType: ''
    returnType: void
    signature: void * eap_tls_init(struct eap_sm *sm)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eap_get_config
      Src: /src/hostap/src/eap_peer/eap_tls.c:86,1
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_peer/eap_tls.c:88,1
    - Dst: eap_peer_tls_ssl_init
      Src: /src/hostap/src/eap_peer/eap_tls.c:95,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_tls.c:97,1
    - Dst: eap_tls_deinit
      Src: /src/hostap/src/eap_peer/eap_tls.c:98,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 105
    functionName: eap_unauth_tls_init
    functionSourceFile: /src/hostap/src/eap_peer/eap_tls.c
    functionUses: 0
    functionsReached:
    - eap_get_config
    - wpa_printf
    - os_zalloc
    - eap_tls_deinit
    - eap_peer_tls_ssl_init
    linkageType: ''
    returnType: void
    signature: void * eap_unauth_tls_init(struct eap_sm *sm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bin_clear_free
      Src: /src/hostap/src/eap_peer/eap_tls.c:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct eap_tls_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 115
    functionName: eap_tls_free_key
    functionSourceFile: /src/hostap/src/eap_peer/eap_tls.c
    functionUses: 0
    functionsReached:
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: void eap_tls_free_key(struct eap_tls_data *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_peer_tls_ssl_deinit
      Src: /src/hostap/src/eap_peer/eap_tls.c:123,1
    - Dst: eap_tls_free_key
      Src: /src/hostap/src/eap_peer/eap_tls.c:124,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_tls.c:125,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_tls.c:126,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_tls.c:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 128
    functionName: eap_tls_deinit
    functionSourceFile: /src/hostap/src/eap_peer/eap_tls.c
    functionUses: 2
    functionsReached:
    - eap_tls_free_key
    - os_free
    - wpabuf_free
    - eap_peer_tls_ssl_deinit
    linkageType: ''
    returnType: void
    signature: void eap_tls_deinit(struct eap_sm *sm, void *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_tls.c:136,1
    - Dst: eap_peer_tls_build_ack
      Src: /src/hostap/src/eap_peer/eap_tls.c:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 6
    argNames:
    - sm
    - data
    - ret
    - res
    - resp
    - id
    argTypes:
    - struct eap_sm*
    - struct eap_tls_data*
    - struct eap_method_ret*
    - int
    - struct wpabuf*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 150
    functionName: eap_tls_failure
    functionSourceFile: /src/hostap/src/eap_peer/eap_tls.c
    functionUses: 0
    functionsReached:
    - eap_peer_tls_build_ack
    - wpa_printf
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_tls_failure(struct eap_sm *sm,\n\t\t\t\t       struct
      eap_tls_data *data,\n\t\t\t\t       struct eap_method_ret *ret, int res,\n\t\t\t\t
      \      struct wpabuf *resp, u8 id)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_tls.c:161,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_tls.c:164,1
    - Dst: eap_tls_free_key
      Src: /src/hostap/src/eap_peer/eap_tls.c:184,1
    - Dst: eap_peer_tls_derive_key
      Src: /src/hostap/src/eap_peer/eap_tls.c:185,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_peer/eap_tls.c:190,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_peer/eap_tls.c:192,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_tls.c:196,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_tls.c:199,1
    - Dst: eap_peer_tls_derive_session_id
      Src: /src/hostap/src/eap_peer/eap_tls.c:200,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_tls.c:204,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_tls.c:207,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 3
    argNames:
    - sm
    - data
    - ret
    argTypes:
    - struct eap_sm*
    - struct eap_tls_data*
    - struct eap_method_ret*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 209
    functionName: eap_tls_success
    functionSourceFile: /src/hostap/src/eap_peer/eap_tls.c
    functionUses: 0
    functionsReached:
    - eap_tls_free_key
    - eap_peer_tls_derive_session_id
    - wpa_printf
    - eap_peer_tls_derive_key
    - wpa_hexdump_key
    - wpa_hexdump
    - os_free
    linkageType: ''
    returnType: void
    signature: "void eap_tls_success(struct eap_sm *sm, struct eap_tls_data *data,\n\t\t\t
      \   struct eap_method_ret *ret)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: eap_get_config
      Src: /src/hostap/src/eap_peer/eap_tls.c:225,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_tls.c:228,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_tls.c:237,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_tls.c:245,1
    - Dst: eap_peer_tls_process_init
      Src: /src/hostap/src/eap_peer/eap_tls.c:250,1
    - Dst: eap_get_id
      Src: /src/hostap/src/eap_peer/eap_tls.c:254,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_tls.c:257,1
    - Dst: wpabuf_set
      Src: /src/hostap/src/eap_peer/eap_tls.c:263,1
    - Dst: eap_peer_tls_process_helper
      Src: /src/hostap/src/eap_peer/eap_tls.c:264,1
    - Dst: eap_tls_failure
      Src: /src/hostap/src/eap_peer/eap_tls.c:268,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_tls.c:272,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_tls.c:274,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_tls.c:280,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/eap_peer/eap_tls.c:281,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_tls.c:282,1
    - Dst: eap_peer_tls_reset_output
      Src: /src/hostap/src/eap_peer/eap_tls.c:284,1
    - Dst: tls_connection_established
      Src: /src/hostap/src/eap_peer/eap_tls.c:291,1
    - Dst: eap_tls_success
      Src: /src/hostap/src/eap_peer/eap_tls.c:293,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_tls.c:296,1
    - Dst: eap_peer_tls_build_ack
      Src: /src/hostap/src/eap_peer/eap_tls.c:297,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 54
    argCount: 4
    argNames:
    - sm
    - priv
    - ret
    - reqData
    argTypes:
    - struct eap_sm*
    - void*
    - struct eap_method_ret*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 212
    functionDepth: 3
    functionLinenumber: 212
    functionLinenumberEnd: 301
    functionName: eap_tls_process
    functionSourceFile: /src/hostap/src/eap_peer/eap_tls.c
    functionUses: 0
    functionsReached:
    - eap_get_config
    - eap_get_id
    - wpa_printf
    - wpabuf_head_u8
    - eap_peer_tls_reset_output
    - wpabuf_len
    - wpabuf_free
    - eap_tls_success
    - wpabuf_set
    - eap_peer_tls_process_helper
    - tls_connection_established
    - eap_peer_tls_process_init
    - eap_peer_tls_build_ack
    - eap_tls_failure
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_tls_process(struct eap_sm *sm, void *priv,\n\t\t\t\t
      \      struct eap_method_ret *ret,\n\t\t\t\t       const struct wpabuf *reqData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tls_connection_established
      Src: /src/hostap/src/eap_peer/eap_tls.c:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 308
    functionName: eap_tls_has_reauth_data
    functionSourceFile: /src/hostap/src/eap_peer/eap_tls.c
    functionUses: 0
    functionsReached:
    - tls_connection_established
    linkageType: ''
    returnType: bool
    signature: bool eap_tls_has_reauth_data(struct eap_sm *sm, void *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_tls.c:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 318
    functionName: eap_tls_deinit_for_reauth
    functionSourceFile: /src/hostap/src/eap_peer/eap_tls.c
    functionUses: 0
    functionsReached:
    - wpabuf_free
    linkageType: ''
    returnType: void
    signature: void eap_tls_deinit_for_reauth(struct eap_sm *sm, void *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_tls_free_key
      Src: /src/hostap/src/eap_peer/eap_tls.c:324,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_tls.c:325,1
    - Dst: eap_peer_tls_reauth_init
      Src: /src/hostap/src/eap_peer/eap_tls.c:327,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_tls.c:328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 321
    functionDepth: 2
    functionLinenumber: 321
    functionLinenumberEnd: 332
    functionName: eap_tls_init_for_reauth
    functionSourceFile: /src/hostap/src/eap_peer/eap_tls.c
    functionUses: 0
    functionsReached:
    - eap_tls_free_key
    - os_free
    - eap_peer_tls_reauth_init
    linkageType: ''
    returnType: void
    signature: void * eap_tls_init_for_reauth(struct eap_sm *sm, void *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eap_peer_tls_status
      Src: /src/hostap/src/eap_peer/eap_tls.c:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sm
    - priv
    - buf
    - buflen
    - verbose
    argTypes:
    - struct eap_sm*
    - void*
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 340
    functionName: eap_tls_get_status
    functionSourceFile: /src/hostap/src/eap_peer/eap_tls.c
    functionUses: 0
    functionsReached:
    - eap_peer_tls_status
    linkageType: ''
    returnType: int
    signature: "int eap_tls_get_status(struct eap_sm *sm, void *priv, char *buf,\n\t\t\t
      \     size_t buflen, int verbose)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 347
    functionName: eap_tls_isKeyAvailable
    functionSourceFile: /src/hostap/src/eap_peer/eap_tls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool eap_tls_isKeyAvailable(struct eap_sm *sm, void *priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memdup
      Src: /src/hostap/src/eap_peer/eap_tls.c:358,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 365
    functionName: eap_tls_getKey
    functionSourceFile: /src/hostap/src/eap_peer/eap_tls.c
    functionUses: 0
    functionsReached:
    - os_memdup
    linkageType: ''
    returnType: u8
    signature: u8 * eap_tls_getKey(struct eap_sm *sm, void *priv, size_t *len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memdup
      Src: /src/hostap/src/eap_peer/eap_tls.c:376,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 383
    functionName: eap_tls_get_emsk
    functionSourceFile: /src/hostap/src/eap_peer/eap_tls.c
    functionUses: 0
    functionsReached:
    - os_memdup
    linkageType: ''
    returnType: u8
    signature: u8 * eap_tls_get_emsk(struct eap_sm *sm, void *priv, size_t *len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memdup
      Src: /src/hostap/src/eap_peer/eap_tls.c:394,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 401
    functionName: eap_tls_get_session_id
    functionSourceFile: /src/hostap/src/eap_peer/eap_tls.c
    functionUses: 0
    functionsReached:
    - os_memdup
    linkageType: ''
    returnType: u8
    signature: u8 * eap_tls_get_session_id(struct eap_sm *sm, void *priv, size_t *len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_peer_method_alloc
      Src: /src/hostap/src/eap_peer/eap_tls.c:408,1
    - Dst: eap_peer_method_register
      Src: /src/hostap/src/eap_peer/eap_tls.c:425,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 426
    functionName: eap_peer_tls_register
    functionSourceFile: /src/hostap/src/eap_peer/eap_tls.c
    functionUses: 1
    functionsReached:
    - eap_peer_method_register
    - eap_peer_method_alloc
    linkageType: ''
    returnType: int
    signature: int eap_peer_tls_register(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_peer_method_alloc
      Src: /src/hostap/src/eap_peer/eap_tls.c:434,1
    - Dst: eap_peer_method_register
      Src: /src/hostap/src/eap_peer/eap_tls.c:451,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 452
    functionName: eap_peer_unauth_tls_register
    functionSourceFile: /src/hostap/src/eap_peer/eap_tls.c
    functionUses: 1
    functionsReached:
    - eap_peer_method_register
    - eap_peer_method_alloc
    linkageType: ''
    returnType: int
    signature: int eap_peer_unauth_tls_register(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: eap_get_config_identity
      Src: /src/hostap/src/eap_peer/eap_pax.c:54,1
    - Dst: eap_get_config_password
      Src: /src/hostap/src/eap_peer/eap_pax.c:55,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pax.c:57,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pax.c:63,1
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_peer/eap_pax.c:67,1
    - Dst: os_memdup
      Src: /src/hostap/src/eap_peer/eap_pax.c:72,1
    - Dst: eap_pax_deinit
      Src: /src/hostap/src/eap_peer/eap_pax.c:74,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_pax.c:79,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 82
    functionName: eap_pax_init
    functionSourceFile: /src/hostap/src/eap_peer/eap_pax.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - eap_pax_deinit
    - os_memdup
    - eap_get_config_identity
    - os_zalloc
    - eap_get_config_password
    linkageType: ''
    returnType: void
    signature: void * eap_pax_init(struct eap_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_pax.c:88,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/eap_peer/eap_pax.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 90
    functionName: eap_pax_deinit
    functionSourceFile: /src/hostap/src/eap_peer/eap_pax.c
    functionUses: 1
    functionsReached:
    - os_free
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: void eap_pax_deinit(struct eap_sm *sm, void *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_msg_alloc
      Src: /src/hostap/src/eap_peer/eap_pax.c:99,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/eap_pax.c:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - req
    - id
    - op_code
    - plen
    argTypes:
    - struct eap_pax_hdr*
    - u8
    - u8
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 112
    functionName: eap_pax_alloc_resp
    functionSourceFile: /src/hostap/src/eap_peer/eap_pax.c
    functionUses: 0
    functionsReached:
    - wpabuf_put
    - eap_msg_alloc
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_pax_alloc_resp(const struct eap_pax_hdr *req,\n\t\t\t\t\t
      \ u8 id, u8 op_code, size_t plen)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pax.c:125,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pax.c:128,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pax.c:135,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pax.c:144,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_peer/eap_pax.c:151,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pax.c:152,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_peer/eap_pax.c:154,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_pax.c:161,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_pax.c:162,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_pax.c:168,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/eap_peer/eap_pax.c:172,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pax.c:173,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_pax.c:177,1
    - Dst: eap_pax_initial_key_derivation
      Src: /src/hostap/src/eap_peer/eap_pax.c:180,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pax.c:187,1
    - Dst: eap_pax_alloc_resp
      Src: /src/hostap/src/eap_peer/eap_pax.c:191,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/eap_peer/eap_pax.c:195,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_peer/eap_pax.c:196,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_pax.c:197,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/eap_peer/eap_pax.c:200,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_peer/eap_pax.c:201,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_peer/eap_pax.c:202,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/eap_peer/eap_pax.c:205,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/eap_pax.c:206,1
    - Dst: eap_pax_mac
      Src: /src/hostap/src/eap_peer/eap_pax.c:207,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_pax.c:211,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/eap_pax.c:216,1
    - Dst: eap_pax_mac
      Src: /src/hostap/src/eap_peer/eap_pax.c:217,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_peer/eap_pax.c:218,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_pax.c:218,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_pax.c:220,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 66
    argCount: 5
    argNames:
    - data
    - ret
    - id
    - req
    - req_plen
    argTypes:
    - struct eap_pax_data*
    - struct eap_method_ret*
    - u8
    - struct eap_pax_hdr*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 228
    functionName: eap_pax_process_std_1
    functionSourceFile: /src/hostap/src/eap_peer/eap_pax.c
    functionUses: 0
    functionsReached:
    - random_get_bytes
    - wpa_printf
    - WPA_GET_BE16
    - os_memcpy
    - wpa_hexdump
    - wpabuf_put_data
    - wpabuf_put
    - eap_pax_mac
    - wpabuf_len
    - wpabuf_put_be16
    - eap_pax_alloc_resp
    - wpabuf_head
    - eap_pax_initial_key_derivation
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_pax_process_std_1(struct eap_pax_data *data,\n\t\t\t\t\t
      \    struct eap_method_ret *ret, u8 id,\n\t\t\t\t\t     const struct eap_pax_hdr
      *req,\n\t\t\t\t\t     size_t req_plen)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pax.c:241,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pax.c:244,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pax.c:251,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pax.c:260,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_peer/eap_pax.c:267,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pax.c:268,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_peer/eap_pax.c:270,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_pax.c:276,1
    - Dst: eap_pax_mac
      Src: /src/hostap/src/eap_peer/eap_pax.c:278,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pax.c:281,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/eap_peer/eap_pax.c:288,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pax.c:289,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_pax.c:291,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_pax.c:302,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pax.c:306,1
    - Dst: eap_pax_alloc_resp
      Src: /src/hostap/src/eap_peer/eap_pax.c:308,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/eap_pax.c:314,1
    - Dst: eap_pax_mac
      Src: /src/hostap/src/eap_peer/eap_pax.c:315,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_peer/eap_pax.c:316,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_pax.c:316,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_pax.c:318,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_pax.c:321,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 60
    argCount: 5
    argNames:
    - data
    - ret
    - id
    - req
    - req_plen
    argTypes:
    - struct eap_pax_data*
    - struct eap_method_ret*
    - u8
    - struct eap_pax_hdr*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 231
    functionDepth: 2
    functionLinenumber: 231
    functionLinenumberEnd: 329
    functionName: eap_pax_process_std_3
    functionSourceFile: /src/hostap/src/eap_peer/eap_pax.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - WPA_GET_BE16
    - eap_pax_mac
    - wpabuf_put
    - wpa_hexdump
    - wpabuf_len
    - wpabuf_free
    - eap_pax_alloc_resp
    - os_memcmp_const
    - wpabuf_head
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_pax_process_std_3(struct eap_pax_data *data,\n\t\t\t\t\t
      \    struct eap_method_ret *ret, u8 id,\n\t\t\t\t\t     const struct eap_pax_hdr
      *req,\n\t\t\t\t\t     size_t req_plen)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_peer/eap_pax.c:344,1
    - Dst: eap_get_id
      Src: /src/hostap/src/eap_peer/eap_pax.c:349,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_pax.c:352,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pax.c:354,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_pax.c:359,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pax.c:363,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pax.c:371,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pax.c:380,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pax.c:389,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pax.c:396,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pax.c:403,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pax.c:411,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_pax.c:418,1
    - Dst: eap_pax_mac
      Src: /src/hostap/src/eap_peer/eap_pax.c:420,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_peer/eap_pax.c:421,1
    - Dst: eap_pax_mac
      Src: /src/hostap/src/eap_peer/eap_pax.c:424,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_peer/eap_pax.c:425,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/eap_peer/eap_pax.c:428,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pax.c:429,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_pax.c:431,1
    - Dst: eap_pax_process_std_1
      Src: /src/hostap/src/eap_peer/eap_pax.c:444,1
    - Dst: eap_pax_process_std_3
      Src: /src/hostap/src/eap_peer/eap_pax.c:447,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_pax.c:450,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 80
    argCount: 4
    argNames:
    - sm
    - priv
    - ret
    - reqData
    argTypes:
    - struct eap_sm*
    - void*
    - struct eap_method_ret*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 332
    functionDepth: 3
    functionLinenumber: 332
    functionLinenumberEnd: 461
    functionName: eap_pax_process
    functionSourceFile: /src/hostap/src/eap_peer/eap_pax.c
    functionUses: 0
    functionsReached:
    - eap_get_id
    - wpa_printf
    - eap_pax_mac
    - wpa_hexdump
    - wpabuf_len
    - eap_pax_process_std_3
    - wpabuf_head
    - os_memcmp_const
    - eap_pax_process_std_1
    - eap_hdr_validate
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_pax_process(struct eap_sm *sm, void *priv,\n\t\t\t\t
      \      struct eap_method_ret *ret,\n\t\t\t\t       const struct wpabuf *reqData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 468
    functionName: eap_pax_isKeyAvailable
    functionSourceFile: /src/hostap/src/eap_peer/eap_pax.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool eap_pax_isKeyAvailable(struct eap_sm *sm, void *priv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/eap_peer/eap_pax.c:479,1
    - Dst: eap_pax_kdf
      Src: /src/hostap/src/eap_peer/eap_pax.c:484,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_pax.c:488,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 471
    functionDepth: 1
    functionLinenumber: 471
    functionLinenumberEnd: 493
    functionName: eap_pax_getKey
    functionSourceFile: /src/hostap/src/eap_peer/eap_pax.c
    functionUses: 0
    functionsReached:
    - os_free
    - eap_pax_kdf
    - os_malloc
    linkageType: ''
    returnType: u8
    signature: u8 * eap_pax_getKey(struct eap_sm *sm, void *priv, size_t *len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/eap_peer/eap_pax.c:504,1
    - Dst: eap_pax_kdf
      Src: /src/hostap/src/eap_peer/eap_pax.c:509,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_pax.c:513,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 518
    functionName: eap_pax_get_emsk
    functionSourceFile: /src/hostap/src/eap_peer/eap_pax.c
    functionUses: 0
    functionsReached:
    - os_free
    - eap_pax_kdf
    - os_malloc
    linkageType: ''
    returnType: u8
    signature: u8 * eap_pax_get_emsk(struct eap_sm *sm, void *priv, size_t *len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/eap_peer/eap_pax.c:529,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_pax.c:535,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 538
    functionName: eap_pax_get_session_id
    functionSourceFile: /src/hostap/src/eap_peer/eap_pax.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - os_malloc
    linkageType: ''
    returnType: u8
    signature: u8 * eap_pax_get_session_id(struct eap_sm *sm, void *priv, size_t *len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_peer_method_alloc
      Src: /src/hostap/src/eap_peer/eap_pax.c:545,1
    - Dst: eap_peer_method_register
      Src: /src/hostap/src/eap_peer/eap_pax.c:558,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 559
    functionName: eap_peer_pax_register
    functionSourceFile: /src/hostap/src/eap_peer/eap_pax.c
    functionUses: 1
    functionsReached:
    - eap_peer_method_register
    - eap_peer_method_alloc
    linkageType: ''
    returnType: int
    signature: int eap_peer_pax_register(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/eap_ttls.c:76,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:78,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/eap_ttls.c:80,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:82,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/eap_ttls.c:84,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - data
    - phase1
    argTypes:
    - struct eap_ttls_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 89
    functionName: eap_ttls_parse_phase1
    functionSourceFile: /src/hostap/src/eap_peer/eap_ttls.c
    functionUses: 0
    functionsReached:
    - os_strstr
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: "void eap_ttls_parse_phase1(struct eap_ttls_data *data,\n\t\t\t\t  const
      char *phase1)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: eap_get_config
      Src: /src/hostap/src/eap_peer/eap_ttls.c:95,1
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_peer/eap_ttls.c:99,1
    - Dst: eap_ttls_parse_phase1
      Src: /src/hostap/src/eap_peer/eap_ttls.c:109,1
    - Dst: cstr_token
      Src: /src/hostap/src/eap_peer/eap_ttls.c:118,1
    - Dst: os_strncmp
      Src: /src/hostap/src/eap_peer/eap_ttls.c:119,1
    - Dst: os_strncmp
      Src: /src/hostap/src/eap_peer/eap_ttls.c:124,1
    - Dst: os_strncmp
      Src: /src/hostap/src/eap_peer/eap_ttls.c:128,1
    - Dst: os_strncmp
      Src: /src/hostap/src/eap_peer/eap_ttls.c:132,1
    - Dst: os_strncmp
      Src: /src/hostap/src/eap_peer/eap_ttls.c:136,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:140,1
    - Dst: eap_ttls_deinit
      Src: /src/hostap/src/eap_peer/eap_ttls.c:143,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:148,1
    - Dst: eap_ttls_deinit
      Src: /src/hostap/src/eap_peer/eap_ttls.c:150,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/eap_ttls.c:157,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:159,1
    - Dst: eap_ttls_deinit
      Src: /src/hostap/src/eap_peer/eap_ttls.c:161,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:169,1
    - Dst: eap_peer_select_phase2_methods
      Src: /src/hostap/src/eap_peer/eap_ttls.c:172,1
    - Dst: eap_ttls_deinit
      Src: /src/hostap/src/eap_peer/eap_ttls.c:176,1
    - Dst: eap_peer_tls_ssl_init
      Src: /src/hostap/src/eap_peer/eap_ttls.c:184,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:185,1
    - Dst: eap_ttls_deinit
      Src: /src/hostap/src/eap_peer/eap_ttls.c:186,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 68
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 191
    functionName: eap_ttls_init
    functionSourceFile: /src/hostap/src/eap_peer/eap_ttls.c
    functionUses: 0
    functionsReached:
    - eap_get_config
    - wpa_printf
    - eap_peer_select_phase2_methods
    - cstr_token
    - os_strncmp
    - eap_ttls_deinit
    - os_strstr
    - os_zalloc
    - eap_peer_tls_ssl_init
    - eap_ttls_parse_phase1
    linkageType: ''
    returnType: void
    signature: void * eap_ttls_init(struct eap_sm *sm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct eap_ttls_data*::phase2_method::deinit
      Src: /src/hostap/src/eap_peer/eap_ttls.c:198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - sm
    - data
    argTypes:
    - struct eap_sm*
    - struct eap_ttls_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 202
    functionName: eap_ttls_phase2_eap_deinit
    functionSourceFile: /src/hostap/src/eap_peer/eap_ttls.c
    functionUses: 0
    functionsReached:
    - struct eap_ttls_data*::phase2_method::deinit
    linkageType: ''
    returnType: void
    signature: "void eap_ttls_phase2_eap_deinit(struct eap_sm *sm,\n\t\t\t\t       struct
      eap_ttls_data *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bin_clear_free
      Src: /src/hostap/src/eap_peer/eap_ttls.c:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct eap_ttls_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 211
    functionName: eap_ttls_free_key
    functionSourceFile: /src/hostap/src/eap_peer/eap_ttls.c
    functionUses: 0
    functionsReached:
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: void eap_ttls_free_key(struct eap_ttls_data *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_ttls_phase2_eap_deinit
      Src: /src/hostap/src/eap_peer/eap_ttls.c:219,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_ttls.c:220,1
    - Dst: eap_peer_tls_ssl_deinit
      Src: /src/hostap/src/eap_peer/eap_ttls.c:221,1
    - Dst: eap_ttls_free_key
      Src: /src/hostap/src/eap_peer/eap_ttls.c:222,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_ttls.c:223,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/eap_peer/eap_ttls.c:224,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/eap_peer/eap_ttls.c:225,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_ttls.c:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 227
    functionName: eap_ttls_deinit
    functionSourceFile: /src/hostap/src/eap_peer/eap_ttls.c
    functionUses: 1
    functionsReached:
    - eap_ttls_phase2_eap_deinit
    - wpabuf_clear_free
    - os_free
    - eap_ttls_free_key
    - eap_peer_tls_ssl_deinit
    linkageType: ''
    returnType: void
    signature: void eap_ttls_deinit(struct eap_sm *sm, void *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: host_to_be32
      Src: /src/hostap/src/eap_peer/eap_ttls.c:242,1
    - Dst: host_to_be32
      Src: /src/hostap/src/eap_peer/eap_ttls.c:247,1
    - Dst: host_to_be32
      Src: /src/hostap/src/eap_peer/eap_ttls.c:248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 5
    argNames:
    - avphdr
    - avp_code
    - vendor_id
    - mandatory
    - len
    argTypes:
    - u8*
    - u32
    - u32
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 252
    functionName: eap_ttls_avp_hdr
    functionSourceFile: /src/hostap/src/eap_peer/eap_ttls.c
    functionUses: 0
    functionsReached:
    - host_to_be32
    linkageType: ''
    returnType: u8
    signature: "u8 * eap_ttls_avp_hdr(u8 *avphdr, u32 avp_code, u32 vendor_id,\n\t\t\t
      \    int mandatory, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eap_ttls_avp_hdr
      Src: /src/hostap/src/eap_peer/eap_ttls.c:260,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_ttls.c:261,1
    - Dst: AVP_PAD
      Src: /src/hostap/src/eap_peer/eap_ttls.c:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 7
    argNames:
    - start
    - avphdr
    - avp_code
    - vendor_id
    - mandatory
    - data
    - len
    argTypes:
    - u8*
    - u8*
    - u32
    - u32
    - int
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 265
    functionName: eap_ttls_avp_add
    functionSourceFile: /src/hostap/src/eap_peer/eap_ttls.c
    functionUses: 0
    functionsReached:
    - AVP_PAD
    - os_memcpy
    - eap_ttls_avp_hdr
    linkageType: ''
    returnType: u8
    signature: "u8 * eap_ttls_avp_add(u8 *start, u8 *avphdr, u32 avp_code,\n\t\t\t
      \    u32 vendor_id, int mandatory,\n\t\t\t     const u8 *data, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eap_peer/eap_ttls.c:274,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_ttls.c:274,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/eap_peer/eap_ttls.c:276,1
    - Dst: wpabuf_mhead
      Src: /src/hostap/src/eap_peer/eap_ttls.c:281,1
    - Dst: eap_ttls_avp_hdr
      Src: /src/hostap/src/eap_peer/eap_ttls.c:282,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_ttls.c:282,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_ttls.c:283,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_peer/eap_ttls.c:283,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_ttls.c:283,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_ttls.c:284,1
    - Dst: AVP_PAD
      Src: /src/hostap/src/eap_peer/eap_ttls.c:285,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/eap_peer/eap_ttls.c:286,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/eap_ttls.c:287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - resp
    - avp_code
    - mandatory
    argTypes:
    - struct wpabuf**
    - u32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 290
    functionName: eap_ttls_avp_encapsulate
    functionSourceFile: /src/hostap/src/eap_peer/eap_ttls.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpabuf_put
    - wpabuf_len
    - wpabuf_head
    - AVP_PAD
    - wpabuf_alloc
    - wpabuf_mhead
    - wpabuf_clear_free
    - eap_ttls_avp_hdr
    linkageType: ''
    returnType: int
    signature: "int eap_ttls_avp_encapsulate(struct wpabuf **resp, u32 avp_code,\n\t\t\t\t
      \   int mandatory)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: eap_ttls_free_key
      Src: /src/hostap/src/eap_peer/eap_ttls.c:309,1
    - Dst: eap_peer_tls_derive_key
      Src: /src/hostap/src/eap_peer/eap_ttls.c:310,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:315,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_peer/eap_ttls.c:319,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_peer/eap_ttls.c:321,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_ttls.c:325,1
    - Dst: eap_peer_tls_derive_session_id
      Src: /src/hostap/src/eap_peer/eap_ttls.c:326,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_ttls.c:330,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:333,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 2
    argNames:
    - sm
    - data
    argTypes:
    - struct eap_sm*
    - struct eap_ttls_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 293
    functionDepth: 2
    functionLinenumber: 293
    functionLinenumberEnd: 337
    functionName: eap_ttls_v0_derive_key
    functionSourceFile: /src/hostap/src/eap_peer/eap_ttls.c
    functionUses: 0
    functionsReached:
    - eap_peer_tls_derive_session_id
    - wpa_printf
    - eap_peer_tls_derive_key
    - wpa_hexdump_key
    - wpa_hexdump
    - os_free
    - eap_ttls_free_key
    linkageType: ''
    returnType: int
    signature: "int eap_ttls_v0_derive_key(struct eap_sm *sm,\n\t\t\t\t  struct eap_ttls_data
      *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eap_peer_tls_derive_key
      Src: /src/hostap/src/eap_peer/eap_ttls.c:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sm
    - data
    - len
    argTypes:
    - struct eap_sm*
    - struct eap_ttls_data*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 346
    functionName: eap_ttls_implicit_challenge
    functionSourceFile: /src/hostap/src/eap_peer/eap_ttls.c
    functionUses: 0
    functionsReached:
    - eap_peer_tls_derive_key
    linkageType: ''
    returnType: u8
    signature: "u8 * eap_ttls_implicit_challenge(struct eap_sm *sm,\n\t\t\t\t\tstruct
      eap_ttls_data *data, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:363,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - data
    - vendor
    - method
    argTypes:
    - struct eap_ttls_data*
    - int
    - enum eap_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 369
    functionName: eap_ttls_phase2_select_eap_method
    functionSourceFile: /src/hostap/src/eap_peer/eap_ttls.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: "void eap_ttls_phase2_select_eap_method(struct eap_ttls_data *data,\n\t\t\t\t\t
      \     int vendor, enum eap_type method)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/eap_peer/eap_ttls.c:381,1
    - Dst: wpabuf_set
      Src: /src/hostap/src/eap_peer/eap_ttls.c:382,1
    - Dst: struct eap_ttls_data*::phase2_method::process
      Src: /src/hostap/src/eap_peer/eap_ttls.c:383,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 6
    argNames:
    - sm
    - data
    - ret
    - hdr
    - len
    - resp
    argTypes:
    - struct eap_sm*
    - struct eap_ttls_data*
    - struct eap_method_ret*
    - struct eap_hdr*
    - size_t
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 372
    functionDepth: 2
    functionLinenumber: 372
    functionLinenumberEnd: 395
    functionName: eap_ttls_phase2_eap_process
    functionSourceFile: /src/hostap/src/eap_peer/eap_ttls.c
    functionUses: 0
    functionsReached:
    - struct eap_ttls_data*::phase2_method::process
    - wpabuf_set
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int eap_ttls_phase2_eap_process(struct eap_sm *sm,\n\t\t\t\t       struct
      eap_ttls_data *data,\n\t\t\t\t       struct eap_method_ret *ret,\n\t\t\t\t       struct
      eap_hdr *hdr, size_t len,\n\t\t\t\t       struct wpabuf **resp)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: eap_ttls_phase2_eap_process
      Src: /src/hostap/src/eap_peer/eap_ttls.c:410,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:415,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:423,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:430,1
    - Dst: eap_ttls_phase2_eap_deinit
      Src: /src/hostap/src/eap_peer/eap_ttls.c:436,1
    - Dst: eap_ttls_phase2_select_eap_method
      Src: /src/hostap/src/eap_peer/eap_ttls.c:442,1
    - Dst: eap_peer_tls_phase2_nak
      Src: /src/hostap/src/eap_peer/eap_ttls.c:447,1
    - Dst: eap_peer_get_eap_method
      Src: /src/hostap/src/eap_peer/eap_ttls.c:455,1
    - Dst: struct eap_ttls_data*::phase2_method::init
      Src: /src/hostap/src/eap_peer/eap_ttls.c:458,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:463,1
    - Dst: eap_ttls_phase2_eap_process
      Src: /src/hostap/src/eap_peer/eap_ttls.c:469,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 38
    argCount: 8
    argNames:
    - sm
    - data
    - ret
    - hdr
    - len
    - vendor
    - method
    - resp
    argTypes:
    - struct eap_sm*
    - struct eap_ttls_data*
    - struct eap_method_ret*
    - struct eap_hdr*
    - size_t
    - int
    - enum eap_type
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 398
    functionDepth: 3
    functionLinenumber: 398
    functionLinenumberEnd: 470
    functionName: eap_ttls_phase2_request_eap_method
    functionSourceFile: /src/hostap/src/eap_peer/eap_ttls.c
    functionUses: 0
    functionsReached:
    - eap_ttls_phase2_eap_process
    - wpa_printf
    - eap_ttls_phase2_select_eap_method
    - eap_peer_get_eap_method
    - eap_ttls_phase2_eap_deinit
    - struct eap_ttls_data*::phase2_method::init
    - eap_peer_tls_phase2_nak
    linkageType: ''
    returnType: int
    signature: "int eap_ttls_phase2_request_eap_method(struct eap_sm *sm,\n\t\t\t\t\t
      \     struct eap_ttls_data *data,\n\t\t\t\t\t      struct eap_method_ret *ret,\n\t\t\t\t\t
      \     struct eap_hdr *hdr, size_t len,\n\t\t\t\t\t      int vendor, enum eap_type
      method,\n\t\t\t\t\t      struct wpabuf **resp)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: be_to_host16
      Src: /src/hostap/src/eap_peer/eap_ttls.c:479,1
    - Dst: eap_get_config
      Src: /src/hostap/src/eap_peer/eap_ttls.c:481,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:484,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:489,1
    - Dst: eap_sm_buildIdentity
      Src: /src/hostap/src/eap_peer/eap_ttls.c:492,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:496,1
    - Dst: eap_ttls_phase2_request_eap_method
      Src: /src/hostap/src/eap_peer/eap_ttls.c:501,1
    - Dst: WPA_GET_BE24
      Src: /src/hostap/src/eap_peer/eap_ttls.c:502,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/eap_peer/eap_ttls.c:503,1
    - Dst: eap_ttls_phase2_request_eap_method
      Src: /src/hostap/src/eap_peer/eap_ttls.c:508,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:524,1
    - Dst: eap_ttls_avp_encapsulate
      Src: /src/hostap/src/eap_peer/eap_ttls.c:526,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 5
    argNames:
    - sm
    - data
    - ret
    - hdr
    - resp
    argTypes:
    - struct eap_sm*
    - struct eap_ttls_data*
    - struct eap_method_ret*
    - struct eap_hdr*
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 473
    functionDepth: 4
    functionLinenumber: 473
    functionLinenumberEnd: 527
    functionName: eap_ttls_phase2_request_eap
    functionSourceFile: /src/hostap/src/eap_peer/eap_ttls.c
    functionUses: 0
    functionsReached:
    - be_to_host16
    - eap_get_config
    - wpa_printf
    - eap_sm_buildIdentity
    - eap_ttls_avp_encapsulate
    - WPA_GET_BE24
    - WPA_GET_BE32
    - eap_ttls_phase2_request_eap_method
    - wpa_hexdump_buf
    linkageType: ''
    returnType: int
    signature: "int eap_ttls_phase2_request_eap(struct eap_sm *sm,\n\t\t\t\t       struct
      eap_ttls_data *data,\n\t\t\t\t       struct eap_method_ret *ret,\n\t\t\t\t       struct
      eap_hdr *hdr,\n\t\t\t\t       struct wpabuf **resp)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:536,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:546,1
    - Dst: eap_get_config_identity
      Src: /src/hostap/src/eap_peer/eap_ttls.c:548,1
    - Dst: eap_get_config_password2
      Src: /src/hostap/src/eap_peer/eap_ttls.c:549,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eap_peer/eap_ttls.c:553,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:555,1
    - Dst: wpabuf_mhead
      Src: /src/hostap/src/eap_peer/eap_ttls.c:559,1
    - Dst: eap_ttls_avp_add
      Src: /src/hostap/src/eap_peer/eap_ttls.c:562,1
    - Dst: eap_ttls_implicit_challenge
      Src: /src/hostap/src/eap_peer/eap_ttls.c:566,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/eap_peer/eap_ttls.c:569,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:570,1
    - Dst: eap_ttls_avp_add
      Src: /src/hostap/src/eap_peer/eap_ttls.c:575,1
    - Dst: eap_ttls_avp_hdr
      Src: /src/hostap/src/eap_peer/eap_ttls.c:580,1
    - Dst: os_get_random
      Src: /src/hostap/src/eap_peer/eap_ttls.c:586,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_ttls.c:587,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/eap_peer/eap_ttls.c:588,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:589,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_peer/eap_ttls.c:595,1
    - Dst: mschapv2_derive_response
      Src: /src/hostap/src/eap_peer/eap_ttls.c:597,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_ttls.c:601,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/eap_peer/eap_ttls.c:602,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:603,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_ttls.c:610,1
    - Dst: AVP_PAD
      Src: /src/hostap/src/eap_peer/eap_ttls.c:611,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/eap_ttls.c:613,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:618,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 51
    argCount: 4
    argNames:
    - sm
    - data
    - ret
    - resp
    argTypes:
    - struct eap_sm*
    - struct eap_ttls_data*
    - struct eap_method_ret*
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 530
    functionDepth: 2
    functionLinenumber: 530
    functionLinenumberEnd: 622
    functionName: eap_ttls_phase2_request_mschapv2
    functionSourceFile: /src/hostap/src/eap_peer/eap_ttls.c
    functionUses: 0
    functionsReached:
    - eap_get_config_password2
    - eap_ttls_avp_add
    - wpa_printf
    - wpabuf_put
    - os_memset
    - os_get_random
    - AVP_PAD
    - eap_get_config_identity
    - wpabuf_alloc
    - eap_ttls_implicit_challenge
    - wpabuf_mhead
    - wpabuf_clear_free
    - os_free
    - mschapv2_derive_response
    - eap_ttls_avp_hdr
    linkageType: ''
    returnType: int
    signature: "int eap_ttls_phase2_request_mschapv2(struct eap_sm *sm,\n\t\t\t\t\t
      \   struct eap_ttls_data *data,\n\t\t\t\t\t    struct eap_method_ret *ret,\n\t\t\t\t\t
      \   struct wpabuf **resp)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:631,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:640,1
    - Dst: eap_get_config_identity
      Src: /src/hostap/src/eap_peer/eap_ttls.c:642,1
    - Dst: eap_get_config_password2
      Src: /src/hostap/src/eap_peer/eap_ttls.c:643,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eap_peer/eap_ttls.c:647,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:649,1
    - Dst: wpabuf_mhead
      Src: /src/hostap/src/eap_peer/eap_ttls.c:653,1
    - Dst: eap_ttls_avp_add
      Src: /src/hostap/src/eap_peer/eap_ttls.c:656,1
    - Dst: eap_ttls_implicit_challenge
      Src: /src/hostap/src/eap_peer/eap_ttls.c:660,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/eap_peer/eap_ttls.c:663,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:664,1
    - Dst: eap_ttls_avp_add
      Src: /src/hostap/src/eap_peer/eap_ttls.c:669,1
    - Dst: eap_ttls_avp_hdr
      Src: /src/hostap/src/eap_peer/eap_ttls.c:674,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_peer/eap_ttls.c:680,1
    - Dst: challenge_response
      Src: /src/hostap/src/eap_peer/eap_ttls.c:684,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:685,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/eap_peer/eap_ttls.c:687,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_ttls.c:688,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_peer/eap_ttls.c:692,1
    - Dst: nt_challenge_response
      Src: /src/hostap/src/eap_peer/eap_ttls.c:696,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:698,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/eap_peer/eap_ttls.c:700,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_ttls.c:701,1
    - Dst: wpa_hexdump_ascii_key
      Src: /src/hostap/src/eap_peer/eap_ttls.c:705,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_ttls.c:708,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_ttls.c:710,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_ttls.c:712,1
    - Dst: AVP_PAD
      Src: /src/hostap/src/eap_peer/eap_ttls.c:713,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/eap_ttls.c:715,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 55
    argCount: 4
    argNames:
    - sm
    - data
    - ret
    - resp
    argTypes:
    - struct eap_sm*
    - struct eap_ttls_data*
    - struct eap_method_ret*
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 625
    functionDepth: 2
    functionLinenumber: 625
    functionLinenumberEnd: 725
    functionName: eap_ttls_phase2_request_mschap
    functionSourceFile: /src/hostap/src/eap_peer/eap_ttls.c
    functionUses: 0
    functionsReached:
    - eap_get_config_password2
    - eap_ttls_avp_add
    - wpa_printf
    - wpa_hexdump_key
    - wpabuf_put
    - wpa_hexdump
    - os_memset
    - challenge_response
    - AVP_PAD
    - eap_get_config_identity
    - wpabuf_alloc
    - eap_ttls_implicit_challenge
    - wpabuf_mhead
    - wpabuf_clear_free
    - os_free
    - wpa_hexdump_ascii_key
    - nt_challenge_response
    - eap_ttls_avp_hdr
    linkageType: ''
    returnType: int
    signature: "int eap_ttls_phase2_request_mschap(struct eap_sm *sm,\n\t\t\t\t\t
      \ struct eap_ttls_data *data,\n\t\t\t\t\t  struct eap_method_ret *ret,\n\t\t\t\t\t
      \ struct wpabuf **resp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:739,1
    - Dst: eap_get_config_identity
      Src: /src/hostap/src/eap_peer/eap_ttls.c:741,1
    - Dst: eap_get_config_password
      Src: /src/hostap/src/eap_peer/eap_ttls.c:742,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eap_peer/eap_ttls.c:746,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:748,1
    - Dst: wpabuf_mhead
      Src: /src/hostap/src/eap_peer/eap_ttls.c:752,1
    - Dst: eap_ttls_avp_add
      Src: /src/hostap/src/eap_peer/eap_ttls.c:755,1
    - Dst: eap_ttls_avp_hdr
      Src: /src/hostap/src/eap_peer/eap_ttls.c:762,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_ttls.c:764,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_peer/eap_ttls.c:766,1
    - Dst: AVP_PAD
      Src: /src/hostap/src/eap_peer/eap_ttls.c:768,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/eap_ttls.c:770,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 4
    argNames:
    - sm
    - data
    - ret
    - resp
    argTypes:
    - struct eap_sm*
    - struct eap_ttls_data*
    - struct eap_method_ret*
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 728
    functionDepth: 2
    functionLinenumber: 728
    functionLinenumberEnd: 779
    functionName: eap_ttls_phase2_request_pap
    functionSourceFile: /src/hostap/src/eap_peer/eap_ttls.c
    functionUses: 0
    functionsReached:
    - eap_ttls_avp_add
    - wpa_printf
    - os_memcpy
    - wpabuf_put
    - os_memset
    - AVP_PAD
    - eap_get_config_identity
    - wpabuf_alloc
    - wpabuf_mhead
    - eap_get_config_password
    - eap_ttls_avp_hdr
    linkageType: ''
    returnType: int
    signature: "int eap_ttls_phase2_request_pap(struct eap_sm *sm,\n\t\t\t\t       struct
      eap_ttls_data *data,\n\t\t\t\t       struct eap_method_ret *ret,\n\t\t\t\t       struct
      wpabuf **resp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:788,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:796,1
    - Dst: eap_get_config_identity
      Src: /src/hostap/src/eap_peer/eap_ttls.c:798,1
    - Dst: eap_get_config_password
      Src: /src/hostap/src/eap_peer/eap_ttls.c:799,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eap_peer/eap_ttls.c:803,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:805,1
    - Dst: wpabuf_mhead
      Src: /src/hostap/src/eap_peer/eap_ttls.c:809,1
    - Dst: eap_ttls_avp_add
      Src: /src/hostap/src/eap_peer/eap_ttls.c:812,1
    - Dst: eap_ttls_implicit_challenge
      Src: /src/hostap/src/eap_peer/eap_ttls.c:816,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/eap_peer/eap_ttls.c:819,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:820,1
    - Dst: eap_ttls_avp_add
      Src: /src/hostap/src/eap_peer/eap_ttls.c:825,1
    - Dst: eap_ttls_avp_hdr
      Src: /src/hostap/src/eap_peer/eap_ttls.c:829,1
    - Dst: chap_md5
      Src: /src/hostap/src/eap_peer/eap_ttls.c:835,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_peer/eap_ttls.c:838,1
    - Dst: wpa_hexdump_ascii_key
      Src: /src/hostap/src/eap_peer/eap_ttls.c:840,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_ttls.c:842,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_ttls.c:844,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_ttls.c:847,1
    - Dst: AVP_PAD
      Src: /src/hostap/src/eap_peer/eap_ttls.c:848,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/eap_ttls.c:850,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 38
    argCount: 4
    argNames:
    - sm
    - data
    - ret
    - resp
    argTypes:
    - struct eap_sm*
    - struct eap_ttls_data*
    - struct eap_method_ret*
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 782
    functionDepth: 2
    functionLinenumber: 782
    functionLinenumberEnd: 860
    functionName: eap_ttls_phase2_request_chap
    functionSourceFile: /src/hostap/src/eap_peer/eap_ttls.c
    functionUses: 0
    functionsReached:
    - eap_ttls_avp_add
    - wpa_printf
    - wpabuf_put
    - wpa_hexdump
    - AVP_PAD
    - eap_get_config_identity
    - wpabuf_alloc
    - chap_md5
    - eap_ttls_implicit_challenge
    - wpabuf_mhead
    - wpabuf_clear_free
    - wpa_hexdump_ascii_key
    - os_free
    - eap_get_config_password
    - wpa_hexdump_ascii
    - eap_ttls_avp_hdr
    linkageType: ''
    returnType: int
    signature: "int eap_ttls_phase2_request_chap(struct eap_sm *sm,\n\t\t\t\t\tstruct
      eap_ttls_data *data,\n\t\t\t\t\tstruct eap_method_ret *ret,\n\t\t\t\t\tstruct
      wpabuf **resp)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:875,1
    - Dst: eap_get_config_identity
      Src: /src/hostap/src/eap_peer/eap_ttls.c:884,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:885,1
    - Dst: eap_sm_request_identity
      Src: /src/hostap/src/eap_peer/eap_ttls.c:887,1
    - Dst: eap_get_config_password
      Src: /src/hostap/src/eap_peer/eap_ttls.c:888,1
    - Dst: eap_sm_request_password
      Src: /src/hostap/src/eap_peer/eap_ttls.c:889,1
    - Dst: eap_get_config_password
      Src: /src/hostap/src/eap_peer/eap_ttls.c:893,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:894,1
    - Dst: eap_sm_request_password
      Src: /src/hostap/src/eap_peer/eap_ttls.c:896,1
    - Dst: eap_ttls_phase2_request_eap
      Src: /src/hostap/src/eap_peer/eap_ttls.c:903,1
    - Dst: eap_ttls_phase2_request_mschapv2
      Src: /src/hostap/src/eap_peer/eap_ttls.c:906,1
    - Dst: eap_ttls_phase2_request_mschap
      Src: /src/hostap/src/eap_peer/eap_ttls.c:909,1
    - Dst: eap_ttls_phase2_request_pap
      Src: /src/hostap/src/eap_peer/eap_ttls.c:912,1
    - Dst: eap_ttls_phase2_request_chap
      Src: /src/hostap/src/eap_peer/eap_ttls.c:915,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:918,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 5
    argNames:
    - sm
    - data
    - ret
    - hdr
    - resp
    argTypes:
    - struct eap_sm*
    - struct eap_ttls_data*
    - struct eap_method_ret*
    - struct eap_hdr*
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 863
    functionDepth: 5
    functionLinenumber: 863
    functionLinenumberEnd: 929
    functionName: eap_ttls_phase2_request
    functionSourceFile: /src/hostap/src/eap_peer/eap_ttls.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_ttls_phase2_request_pap
    - eap_ttls_phase2_request_mschap
    - eap_sm_request_identity
    - eap_get_config_identity
    - eap_sm_request_password
    - eap_ttls_phase2_request_chap
    - eap_ttls_phase2_request_mschapv2
    - eap_ttls_phase2_request_eap
    - eap_get_config_password
    linkageType: ''
    returnType: int
    signature: "int eap_ttls_phase2_request(struct eap_sm *sm,\n\t\t\t\t   struct
      eap_ttls_data *data,\n\t\t\t\t   struct eap_method_ret *ret,\n\t\t\t\t   struct
      eap_hdr *hdr,\n\t\t\t\t   struct wpabuf **resp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:943,1
    - Dst: os_memdup
      Src: /src/hostap/src/eap_peer/eap_ttls.c:945,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:947,1
    - Dst: os_realloc
      Src: /src/hostap/src/eap_peer/eap_ttls.c:953,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:955,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_ttls.c:959,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - dpos
    - dlen
    - parse
    argTypes:
    - u8*
    - size_t
    - struct ttls_parse_avp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 940
    functionDepth: 0
    functionLinenumber: 940
    functionLinenumberEnd: 965
    functionName: eap_ttls_parse_attr_eap
    functionSourceFile: /src/hostap/src/eap_peer/eap_ttls.c
    functionUses: 0
    functionsReached:
    - os_memdup
    - wpa_printf
    - os_memcpy
    - os_realloc
    linkageType: ''
    returnType: int
    signature: "int eap_ttls_parse_attr_eap(const u8 *dpos, size_t dlen,\n\t\t\t\t
      \  struct ttls_parse_avp *parse)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:977,1
    - Dst: be_to_host32
      Src: /src/hostap/src/eap_peer/eap_ttls.c:984,1
    - Dst: be_to_host32
      Src: /src/hostap/src/eap_peer/eap_ttls.c:985,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:988,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:993,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1000,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1009,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1013,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1014,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1020,1
    - Dst: eap_ttls_parse_attr_eap
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1023,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1028,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1032,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1035,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1044,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1048,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1053,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 58
    argCount: 3
    argNames:
    - pos
    - left
    - parse
    argTypes:
    - u8*
    - size_t
    - struct ttls_parse_avp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 968
    functionDepth: 1
    functionLinenumber: 968
    functionLinenumberEnd: 1059
    functionName: eap_ttls_parse_avp
    functionSourceFile: /src/hostap/src/eap_peer/eap_ttls.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    - be_to_host32
    - eap_ttls_parse_attr_eap
    - WPA_GET_BE32
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: int
    signature: "int eap_ttls_parse_avp(u8 *pos, size_t left,\n\t\t\t      struct ttls_parse_avp
      *parse)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_mhead
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1069,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1070,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1071,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1073,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1081,1
    - Dst: eap_ttls_parse_avp
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1084,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - in_decrypted
    - parse
    argTypes:
    - struct wpabuf*
    - struct ttls_parse_avp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1097
      start: 1062
    functionDepth: 2
    functionLinenumber: 1062
    functionLinenumberEnd: 1097
    functionName: eap_ttls_parse_avps
    functionSourceFile: /src/hostap/src/eap_peer/eap_ttls.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    - wpabuf_len
    - eap_ttls_parse_avp
    - wpabuf_mhead
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int eap_ttls_parse_avps(struct wpabuf *in_decrypted,\n\t\t\t       struct
      ttls_parse_avp *parse)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1105,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1107,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1109,1
    - Dst: host_to_be16
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1100
    functionDepth: 1
    functionLinenumber: 1100
    functionLinenumberEnd: 1121
    functionName: eap_ttls_fake_identity_request
    functionSourceFile: /src/hostap/src/eap_peer/eap_ttls.c
    functionUses: 0
    functionsReached:
    - host_to_be16
    - wpa_printf
    - os_malloc
    linkageType: ''
    returnType: u8
    signature: u8 * eap_ttls_fake_identity_request(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump_buf_key
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1132,1
    - Dst: eap_peer_tls_encrypt
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1134,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1137,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1139,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - sm
    - data
    - resp
    - identifier
    - out_data
    argTypes:
    - struct eap_sm*
    - struct eap_ttls_data*
    - struct wpabuf*
    - u8
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1145
      start: 1124
    functionDepth: 1
    functionLinenumber: 1124
    functionLinenumberEnd: 1145
    functionName: eap_ttls_encrypt_response
    functionSourceFile: /src/hostap/src/eap_peer/eap_ttls.c
    functionUses: 0
    functionsReached:
    - eap_peer_tls_encrypt
    - wpa_printf
    - wpa_hexdump_buf_key
    - wpabuf_clear_free
    linkageType: ''
    returnType: int
    signature: "int eap_ttls_encrypt_response(struct eap_sm *sm,\n\t\t\t\t     struct
      eap_ttls_data *data,\n\t\t\t\t     struct wpabuf *resp, u8 identifier,\n\t\t\t\t
      \    struct wpabuf **out_data)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1158,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1163,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1168,1
    - Dst: be_to_host16
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1174,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1176,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1183,1
    - Dst: eap_ttls_phase2_request
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1188,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1189,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1195,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 5
    argNames:
    - sm
    - data
    - ret
    - parse
    - resp
    argTypes:
    - struct eap_sm*
    - struct eap_ttls_data*
    - struct eap_method_ret*
    - struct ttls_parse_avp*
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1148
    functionDepth: 6
    functionLinenumber: 1148
    functionLinenumberEnd: 1201
    functionName: eap_ttls_process_phase2_eap
    functionSourceFile: /src/hostap/src/eap_peer/eap_ttls.c
    functionUses: 0
    functionsReached:
    - be_to_host16
    - wpa_printf
    - wpa_hexdump
    - eap_ttls_phase2_request
    linkageType: ''
    returnType: int
    signature: "int eap_ttls_process_phase2_eap(struct eap_sm *sm,\n\t\t\t\t       struct
      eap_ttls_data *data,\n\t\t\t\t       struct eap_method_ret *ret,\n\t\t\t\t       struct
      ttls_parse_avp *parse,\n\t\t\t\t       struct wpabuf **resp)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1211,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1229,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1234,1
    - Dst: mschapv2_verify_auth_response
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1240,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1242,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1247,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1259,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 4
    argNames:
    - sm
    - data
    - ret
    - parse
    argTypes:
    - struct eap_sm*
    - struct eap_ttls_data*
    - struct eap_method_ret*
    - struct ttls_parse_avp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1262
      start: 1204
    functionDepth: 1
    functionLinenumber: 1204
    functionLinenumberEnd: 1262
    functionName: eap_ttls_process_phase2_mschapv2
    functionSourceFile: /src/hostap/src/eap_peer/eap_ttls.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - mschapv2_verify_auth_response
    linkageType: ''
    returnType: int
    signature: "int eap_ttls_process_phase2_mschapv2(struct eap_sm *sm,\n\t\t\t\t\t
      \   struct eap_ttls_data *data,\n\t\t\t\t\t    struct eap_method_ret *ret,\n\t\t\t\t\t
      \   struct ttls_parse_avp *parse)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1274,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1280,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1285,1
    - Dst: eap_ttls_process_phase2_eap
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1289,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - sm
    - data
    - ret
    - parse
    - resp
    argTypes:
    - struct eap_sm*
    - struct eap_ttls_data*
    - struct eap_method_ret*
    - struct ttls_parse_avp*
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1293
      start: 1266
    functionDepth: 0
    functionLinenumber: 1266
    functionLinenumberEnd: 1293
    functionName: eap_ttls_process_tnc_start
    functionSourceFile: /src/hostap/src/eap_peer/eap_ttls.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_ttls_process_phase2_eap
    linkageType: ''
    returnType: int
    signature: "int eap_ttls_process_tnc_start(struct eap_sm *sm,\n\t\t\t\t      struct
      eap_ttls_data *data,\n\t\t\t\t      struct eap_method_ret *ret,\n\t\t\t\t      struct
      ttls_parse_avp *parse,\n\t\t\t\t      struct wpabuf **resp)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: eap_get_config
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1306,1
    - Dst: eap_ttls_process_phase2_eap
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1317,1
    - Dst: eap_ttls_process_phase2_mschapv2
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1322,1
    - Dst: eap_ttls_process_tnc_start
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1331,1
    - Dst: eap_ttls_process_tnc_start
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1341,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1348,1
    - Dst: eap_ttls_encrypt_response
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1355,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1363,1
    - Dst: wpabuf_dup
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1364,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 35
    argCount: 7
    argNames:
    - sm
    - data
    - ret
    - identifier
    - parse
    - in_decrypted
    - out_data
    argTypes:
    - struct eap_sm*
    - struct eap_ttls_data*
    - struct eap_method_ret*
    - u8
    - struct ttls_parse_avp*
    - struct wpabuf*
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1368
      start: 1297
    functionDepth: 2
    functionLinenumber: 1297
    functionLinenumberEnd: 1368
    functionName: eap_ttls_process_decrypted
    functionSourceFile: /src/hostap/src/eap_peer/eap_ttls.c
    functionUses: 0
    functionsReached:
    - eap_get_config
    - wpabuf_dup
    - wpa_printf
    - eap_ttls_process_phase2_mschapv2
    - eap_ttls_encrypt_response
    - wpabuf_clear_free
    - eap_ttls_process_tnc_start
    - eap_ttls_process_phase2_eap
    linkageType: ''
    returnType: int
    signature: "int eap_ttls_process_decrypted(struct eap_sm *sm,\n\t\t\t\t      struct
      eap_ttls_data *data,\n\t\t\t\t      struct eap_method_ret *ret,\n\t\t\t\t      u8
      identifier,\n\t\t\t\t      struct ttls_parse_avp *parse,\n\t\t\t\t      struct
      wpabuf *in_decrypted,\n\t\t\t\t      struct wpabuf **out_data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: eap_ttls_fake_identity_request
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1381,1
    - Dst: eap_ttls_phase2_request
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1389,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1390,1
    - Dst: eap_get_config
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1394,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1406,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1407,1
    - Dst: eap_ttls_encrypt_response
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1410,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1414,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 5
    argNames:
    - sm
    - data
    - ret
    - identifier
    - out_data
    argTypes:
    - struct eap_sm*
    - struct eap_ttls_data*
    - struct eap_method_ret*
    - u8
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1422
      start: 1371
    functionDepth: 6
    functionLinenumber: 1371
    functionLinenumberEnd: 1422
    functionName: eap_ttls_implicit_identity_request
    functionSourceFile: /src/hostap/src/eap_peer/eap_ttls.c
    functionUses: 0
    functionsReached:
    - eap_get_config
    - wpa_printf
    - eap_ttls_phase2_request
    - wpabuf_alloc
    - eap_ttls_encrypt_response
    - eap_ttls_fake_identity_request
    - wpabuf_clear_free
    - os_free
    linkageType: ''
    returnType: int
    signature: "int eap_ttls_implicit_identity_request(struct eap_sm *sm,\n\t\t\t\t\t
      \     struct eap_ttls_data *data,\n\t\t\t\t\t      struct eap_method_ret *ret,\n\t\t\t\t\t
      \     u8 identifier,\n\t\t\t\t\t      struct wpabuf **out_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tls_connection_resumed
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1439,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1440,1
    - Dst: eap_peer_tls_build_ack
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1442,1
    - Dst: eap_ttls_implicit_identity_request
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1450,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - sm
    - data
    - ret
    - identifier
    - out_data
    argTypes:
    - struct eap_sm*
    - struct eap_ttls_data*
    - struct eap_method_ret*
    - u8
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1452
      start: 1425
    functionDepth: 7
    functionLinenumber: 1425
    functionLinenumberEnd: 1452
    functionName: eap_ttls_phase2_start
    functionSourceFile: /src/hostap/src/eap_peer/eap_ttls.c
    functionUses: 0
    functionsReached:
    - eap_peer_tls_build_ack
    - eap_ttls_implicit_identity_request
    - wpa_printf
    - tls_connection_resumed
    linkageType: ''
    returnType: int
    signature: "int eap_ttls_phase2_start(struct eap_sm *sm, struct eap_ttls_data
      *data,\n\t\t\t\t struct eap_method_ret *ret, u8 identifier,\n\t\t\t\t struct
      wpabuf **out_data)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1464,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1466,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1468,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1471,1
    - Dst: eap_peer_tls_reset_input
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1474,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1478,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1479,1
    - Dst: eap_ttls_implicit_identity_request
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1480,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1486,1
    - Dst: eap_ttls_phase2_start
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1489,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1493,1
    - Dst: eap_peer_tls_encrypt
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1495,1
    - Dst: eap_peer_tls_decrypt
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1500,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1503,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1504,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1509,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1510,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1511,1
    - Dst: eap_peer_tls_reset_output
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1513,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1514,1
    - Dst: eap_ttls_parse_avps
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1521,1
    - Dst: eap_ttls_process_decrypted
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1526,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1530,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1531,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 56
    argCount: 6
    argNames:
    - sm
    - data
    - ret
    - identifier
    - in_data
    - out_data
    argTypes:
    - struct eap_sm*
    - struct eap_ttls_data*
    - struct eap_method_ret*
    - u8
    - struct wpabuf*
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1539
      start: 1455
    functionDepth: 8
    functionLinenumber: 1455
    functionLinenumberEnd: 1539
    functionName: eap_ttls_decrypt
    functionSourceFile: /src/hostap/src/eap_peer/eap_ttls.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_head_u8
    - eap_ttls_phase2_start
    - eap_ttls_process_decrypted
    - wpabuf_len
    - eap_peer_tls_reset_input
    - eap_ttls_parse_avps
    - wpabuf_free
    - wpabuf_clear_free
    - eap_peer_tls_reset_output
    - eap_peer_tls_encrypt
    - eap_ttls_implicit_identity_request
    - os_free
    - eap_peer_tls_decrypt
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int eap_ttls_decrypt(struct eap_sm *sm, struct eap_ttls_data *data,\n\t\t\t
      \   struct eap_method_ret *ret, u8 identifier,\n\t\t\t    const struct wpabuf
      *in_data,\n\t\t\t    struct wpabuf **out_data)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: eap_get_config
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1552,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1555,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1564,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1572,1
    - Dst: eap_peer_tls_process_helper
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1577,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1581,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1588,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1590,1
    - Dst: tls_connection_established
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1596,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1597,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1600,1
    - Dst: eap_ttls_v0_derive_key
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1606,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1608,1
    - Dst: eap_ttls_decrypt
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1609,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1611,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1624,1
    - Dst: eap_ttls_decrypt
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1627,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 57
    argCount: 6
    argNames:
    - sm
    - data
    - ret
    - identifier
    - in_data
    - out_data
    argTypes:
    - struct eap_sm*
    - struct eap_ttls_data*
    - struct eap_method_ret*
    - u8
    - struct wpabuf*
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1632
      start: 1542
    functionDepth: 9
    functionLinenumber: 1542
    functionLinenumberEnd: 1632
    functionName: eap_ttls_process_handshake
    functionSourceFile: /src/hostap/src/eap_peer/eap_ttls.c
    functionUses: 0
    functionsReached:
    - eap_get_config
    - wpa_printf
    - eap_ttls_decrypt
    - wpabuf_len
    - eap_ttls_v0_derive_key
    - eap_peer_tls_process_helper
    - tls_connection_established
    - wpabuf_clear_free
    linkageType: ''
    returnType: int
    signature: "int eap_ttls_process_handshake(struct eap_sm *sm,\n\t\t\t\t      struct
      eap_ttls_data *data,\n\t\t\t\t      struct eap_method_ret *ret,\n\t\t\t\t      u8
      identifier,\n\t\t\t\t      const struct wpabuf *in_data,\n\t\t\t\t      struct
      wpabuf **out_data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1643,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1661,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1673,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 3
    argNames:
    - sm
    - data
    - ret
    argTypes:
    - struct eap_sm*
    - struct eap_ttls_data*
    - struct eap_method_ret*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1677
      start: 1635
    functionDepth: 0
    functionLinenumber: 1635
    functionLinenumberEnd: 1677
    functionName: eap_ttls_check_auth_status
    functionSourceFile: /src/hostap/src/eap_peer/eap_ttls.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: "void eap_ttls_check_auth_status(struct eap_sm *sm,\n\t\t\t\t       struct
      eap_ttls_data *data,\n\t\t\t\t       struct eap_method_ret *ret)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: eap_peer_tls_process_init
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1692,1
    - Dst: eap_get_id
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1696,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1699,1
    - Dst: wpabuf_set
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1711,1
    - Dst: tls_connection_established
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1714,1
    - Dst: eap_ttls_decrypt
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1716,1
    - Dst: eap_ttls_process_handshake
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1718,1
    - Dst: eap_ttls_check_auth_status
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1722,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1727,1
    - Dst: eap_peer_tls_build_ack
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1728,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 4
    argNames:
    - sm
    - priv
    - ret
    - reqData
    argTypes:
    - struct eap_sm*
    - void*
    - struct eap_method_ret*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1732
      start: 1680
    functionDepth: 10
    functionLinenumber: 1680
    functionLinenumberEnd: 1732
    functionName: eap_ttls_process
    functionSourceFile: /src/hostap/src/eap_peer/eap_ttls.c
    functionUses: 0
    functionsReached:
    - eap_get_id
    - wpa_printf
    - eap_ttls_decrypt
    - eap_peer_tls_build_ack
    - eap_ttls_check_auth_status
    - wpabuf_set
    - tls_connection_established
    - wpabuf_clear_free
    - eap_peer_tls_process_init
    - eap_ttls_process_handshake
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_ttls_process(struct eap_sm *sm, void *priv,\n\t\t\t\t\tstruct
      eap_method_ret *ret,\n\t\t\t\t\tconst struct wpabuf *reqData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tls_connection_established
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1739,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1741
      start: 1735
    functionDepth: 0
    functionLinenumber: 1735
    functionLinenumberEnd: 1741
    functionName: eap_ttls_has_reauth_data
    functionSourceFile: /src/hostap/src/eap_peer/eap_ttls.c
    functionUses: 0
    functionsReached:
    - tls_connection_established
    linkageType: ''
    returnType: bool
    signature: bool eap_ttls_has_reauth_data(struct eap_sm *sm, void *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct eap_ttls_data*::phase2_method::deinit_for_reauth
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1750,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1751,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1753,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1760
      start: 1744
    functionDepth: 1
    functionLinenumber: 1744
    functionLinenumberEnd: 1760
    functionName: eap_ttls_deinit_for_reauth
    functionSourceFile: /src/hostap/src/eap_peer/eap_ttls.c
    functionUses: 0
    functionsReached:
    - wpabuf_clear_free
    - struct eap_ttls_data*::phase2_method::deinit_for_reauth
    linkageType: ''
    returnType: void
    signature: void eap_ttls_deinit_for_reauth(struct eap_sm *sm, void *priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eap_ttls_free_key
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1766,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1767,1
    - Dst: eap_peer_tls_reauth_init
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1769,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1770,1
    - Dst: struct eap_ttls_data*::phase2_method::init_for_reauth
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1775,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1781
      start: 1763
    functionDepth: 2
    functionLinenumber: 1763
    functionLinenumberEnd: 1781
    functionName: eap_ttls_init_for_reauth
    functionSourceFile: /src/hostap/src/eap_peer/eap_ttls.c
    functionUses: 0
    functionsReached:
    - os_free
    - eap_peer_tls_reauth_init
    - eap_ttls_free_key
    - struct eap_ttls_data*::phase2_method::init_for_reauth
    linkageType: ''
    returnType: void
    signature: void * eap_ttls_init_for_reauth(struct eap_sm *sm, void *priv)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: eap_peer_tls_status
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1790,1
    - Dst: os_snprintf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1791,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1794,1
    - Dst: os_snprintf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1799,1
    - Dst: os_snprintf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1804,1
    - Dst: os_snprintf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1807,1
    - Dst: os_snprintf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1810,1
    - Dst: os_snprintf
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1813,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1819,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 5
    argNames:
    - sm
    - priv
    - buf
    - buflen
    - verbose
    argTypes:
    - struct eap_sm*
    - void*
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1824
      start: 1784
    functionDepth: 1
    functionLinenumber: 1784
    functionLinenumberEnd: 1824
    functionName: eap_ttls_get_status
    functionSourceFile: /src/hostap/src/eap_peer/eap_ttls.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - eap_peer_tls_status
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int eap_ttls_get_status(struct eap_sm *sm, void *priv, char *buf,\n\t\t\t
      \      size_t buflen, int verbose)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1831
      start: 1827
    functionDepth: 0
    functionLinenumber: 1827
    functionLinenumberEnd: 1831
    functionName: eap_ttls_isKeyAvailable
    functionSourceFile: /src/hostap/src/eap_peer/eap_ttls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool eap_ttls_isKeyAvailable(struct eap_sm *sm, void *priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memdup
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1842,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1849
      start: 1834
    functionDepth: 0
    functionLinenumber: 1834
    functionLinenumberEnd: 1849
    functionName: eap_ttls_getKey
    functionSourceFile: /src/hostap/src/eap_peer/eap_ttls.c
    functionUses: 0
    functionsReached:
    - os_memdup
    linkageType: ''
    returnType: u8
    signature: u8 * eap_ttls_getKey(struct eap_sm *sm, void *priv, size_t *len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memdup
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1860,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1867
      start: 1852
    functionDepth: 0
    functionLinenumber: 1852
    functionLinenumberEnd: 1867
    functionName: eap_ttls_get_session_id
    functionSourceFile: /src/hostap/src/eap_peer/eap_ttls.c
    functionUses: 0
    functionsReached:
    - os_memdup
    linkageType: ''
    returnType: u8
    signature: u8 * eap_ttls_get_session_id(struct eap_sm *sm, void *priv, size_t
      *len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memdup
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1878,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1885
      start: 1870
    functionDepth: 0
    functionLinenumber: 1870
    functionLinenumberEnd: 1885
    functionName: eap_ttls_get_emsk
    functionSourceFile: /src/hostap/src/eap_peer/eap_ttls.c
    functionUses: 0
    functionsReached:
    - os_memdup
    linkageType: ''
    returnType: u8
    signature: u8 * eap_ttls_get_emsk(struct eap_sm *sm, void *priv, size_t *len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_peer_method_alloc
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1892,1
    - Dst: eap_peer_method_register
      Src: /src/hostap/src/eap_peer/eap_ttls.c:1909,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1910
      start: 1888
    functionDepth: 0
    functionLinenumber: 1888
    functionLinenumberEnd: 1910
    functionName: eap_peer_ttls_register
    functionSourceFile: /src/hostap/src/eap_peer/eap_ttls.c
    functionUses: 1
    functionsReached:
    - eap_peer_method_register
    - eap_peer_method_alloc
    linkageType: ''
    returnType: int
    signature: int eap_peer_ttls_register(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: eap_get_config_password
      Src: /src/hostap/src/eap_peer/eap_psk.c:39,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_psk.c:41,1
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_peer/eap_psk.c:46,1
    - Dst: eap_psk_key_setup
      Src: /src/hostap/src/eap_peer/eap_psk.c:49,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_psk.c:50,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_peer/eap_psk.c:53,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_peer/eap_psk.c:54,1
    - Dst: eap_get_config_identity
      Src: /src/hostap/src/eap_peer/eap_psk.c:57,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_peer/eap_psk.c:59,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_psk.c:61,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_psk.c:65,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_psk.c:66,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 71
    functionName: eap_psk_init
    functionSourceFile: /src/hostap/src/eap_peer/eap_psk.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump_key
    - os_memcpy
    - os_malloc
    - eap_psk_key_setup
    - os_zalloc
    - eap_get_config_identity
    - os_free
    - eap_get_config_password
    linkageType: ''
    returnType: void
    signature: void * eap_psk_init(struct eap_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_psk.c:77,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_psk.c:78,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/eap_peer/eap_psk.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: eap_psk_deinit
    functionSourceFile: /src/hostap/src/eap_peer/eap_psk.c
    functionUses: 0
    functionsReached:
    - os_free
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: void eap_psk_deinit(struct eap_sm *sm, void *priv)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_psk.c:94,1
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_peer/eap_psk.c:96,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_psk.c:99,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_psk.c:106,1
    - Dst: EAP_PSK_FLAGS_GET_T
      Src: /src/hostap/src/eap_peer/eap_psk.c:107,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_psk.c:108,1
    - Dst: EAP_PSK_FLAGS_GET_T
      Src: /src/hostap/src/eap_peer/eap_psk.c:109,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_psk.c:114,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_psk.c:116,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_psk.c:117,1
    - Dst: os_memdup
      Src: /src/hostap/src/eap_peer/eap_psk.c:119,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_psk.c:121,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_peer/eap_psk.c:126,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/eap_peer/eap_psk.c:129,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_psk.c:130,1
    - Dst: eap_msg_alloc
      Src: /src/hostap/src/eap_peer/eap_psk.c:135,1
    - Dst: eap_get_id
      Src: /src/hostap/src/eap_peer/eap_psk.c:137,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/eap_psk.c:140,1
    - Dst: EAP_PSK_FLAGS_SET_T
      Src: /src/hostap/src/eap_peer/eap_psk.c:141,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_psk.c:142,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_psk.c:143,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_peer/eap_psk.c:144,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_peer/eap_psk.c:147,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_psk.c:149,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_psk.c:152,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_psk.c:154,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_psk.c:156,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_psk.c:158,1
    - Dst: omac1_aes_128
      Src: /src/hostap/src/eap_peer/eap_psk.c:159,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_psk.c:160,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_psk.c:161,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_psk.c:164,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_psk.c:165,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_psk.c:167,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_peer/eap_psk.c:168,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 64
    argCount: 3
    argNames:
    - data
    - ret
    - reqData
    argTypes:
    - struct eap_psk_data*
    - struct eap_method_ret*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 174
    functionName: eap_psk_process_1
    functionSourceFile: /src/hostap/src/eap_peer/eap_psk.c
    functionUses: 0
    functionsReached:
    - eap_get_id
    - wpa_printf
    - os_memcpy
    - random_get_bytes
    - wpabuf_put
    - wpa_hexdump
    - wpabuf_put_data
    - os_memdup
    - eap_msg_alloc
    - os_malloc
    - wpabuf_free
    - EAP_PSK_FLAGS_SET_T
    - omac1_aes_128
    - EAP_PSK_FLAGS_GET_T
    - os_free
    - wpa_hexdump_ascii
    - eap_hdr_validate
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_psk_process_1(struct eap_psk_data *data,\n\t\t\t\t\t
      struct eap_method_ret *ret,\n\t\t\t\t\t const struct wpabuf *reqData)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_psk.c:191,1
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_peer/eap_psk.c:193,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_psk.c:197,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_psk.c:206,1
    - Dst: EAP_PSK_FLAGS_GET_T
      Src: /src/hostap/src/eap_peer/eap_psk.c:207,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_psk.c:208,1
    - Dst: EAP_PSK_FLAGS_GET_T
      Src: /src/hostap/src/eap_peer/eap_psk.c:209,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_psk.c:214,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_psk.c:216,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_psk.c:217,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_psk.c:220,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_peer/eap_psk.c:229,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_psk.c:232,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_psk.c:233,1
    - Dst: omac1_aes_128
      Src: /src/hostap/src/eap_peer/eap_psk.c:234,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_psk.c:235,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_psk.c:238,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/eap_peer/eap_psk.c:239,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_psk.c:240,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_psk.c:246,1
    - Dst: eap_psk_derive_keys
      Src: /src/hostap/src/eap_peer/eap_psk.c:248,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_peer/eap_psk.c:254,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_peer/eap_psk.c:255,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_peer/eap_psk.c:256,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_peer/eap_psk.c:258,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_psk.c:259,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_psk.c:269,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_psk.c:271,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_peer/eap_psk.c:272,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_psk.c:273,1
    - Dst: os_memdup
      Src: /src/hostap/src/eap_peer/eap_psk.c:275,1
    - Dst: aes_128_eax_decrypt
      Src: /src/hostap/src/eap_peer/eap_psk.c:282,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_peer/eap_psk.c:283,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_psk.c:287,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_psk.c:288,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_psk.c:291,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_psk.c:297,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_psk.c:301,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_psk.c:304,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_psk.c:305,1
    - Dst: eap_msg_alloc
      Src: /src/hostap/src/eap_peer/eap_psk.c:315,1
    - Dst: eap_get_id
      Src: /src/hostap/src/eap_peer/eap_psk.c:316,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_psk.c:318,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/eap_psk.c:321,1
    - Dst: EAP_PSK_FLAGS_SET_T
      Src: /src/hostap/src/eap_peer/eap_psk.c:322,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_psk.c:323,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/eap_psk.c:324,1
    - Dst: inc_byte_array
      Src: /src/hostap/src/eap_peer/eap_psk.c:327,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_psk.c:328,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_psk.c:331,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_psk.c:344,1
    - Dst: aes_128_eax_encrypt
      Src: /src/hostap/src/eap_peer/eap_psk.c:346,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_peer/eap_psk.c:347,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_psk.c:350,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_psk.c:351,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_psk.c:354,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_psk.c:357,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_psk.c:363,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 128
    argCount: 3
    argNames:
    - data
    - ret
    - reqData
    argTypes:
    - struct eap_psk_data*
    - struct eap_method_ret*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 366
    functionName: eap_psk_process_3
    functionSourceFile: /src/hostap/src/eap_peer/eap_psk.c
    functionUses: 0
    functionsReached:
    - wpa_hexdump
    - inc_byte_array
    - eap_msg_alloc
    - omac1_aes_128
    - eap_get_id
    - wpa_printf
    - aes_128_eax_decrypt
    - os_memdup
    - EAP_PSK_FLAGS_SET_T
    - os_free
    - wpa_hexdump_key
    - os_malloc
    - wpabuf_head
    - EAP_PSK_FLAGS_GET_T
    - eap_psk_derive_keys
    - os_memset
    - os_memcpy
    - wpabuf_put
    - aes_128_eax_encrypt
    - wpabuf_free
    - os_memcmp_const
    - eap_hdr_validate
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_psk_process_3(struct eap_psk_data *data,\n\t\t\t\t\t
      struct eap_method_ret *ret,\n\t\t\t\t\t const struct wpabuf *reqData)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_peer/eap_psk.c:378,1
    - Dst: eap_psk_process_1
      Src: /src/hostap/src/eap_peer/eap_psk.c:391,1
    - Dst: eap_psk_process_3
      Src: /src/hostap/src/eap_peer/eap_psk.c:394,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_psk.c:397,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 4
    argNames:
    - sm
    - priv
    - ret
    - reqData
    argTypes:
    - struct eap_sm*
    - void*
    - struct eap_method_ret*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 369
    functionDepth: 2
    functionLinenumber: 369
    functionLinenumberEnd: 408
    functionName: eap_psk_process
    functionSourceFile: /src/hostap/src/eap_peer/eap_psk.c
    functionUses: 0
    functionsReached:
    - eap_psk_process_1
    - wpa_printf
    - eap_psk_process_3
    - eap_hdr_validate
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_psk_process(struct eap_sm *sm, void *priv,\n\t\t\t\t
      \      struct eap_method_ret *ret,\n\t\t\t\t       const struct wpabuf *reqData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 415
    functionName: eap_psk_isKeyAvailable
    functionSourceFile: /src/hostap/src/eap_peer/eap_psk.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool eap_psk_isKeyAvailable(struct eap_sm *sm, void *priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memdup
      Src: /src/hostap/src/eap_peer/eap_psk.c:426,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 433
    functionName: eap_psk_getKey
    functionSourceFile: /src/hostap/src/eap_peer/eap_psk.c
    functionUses: 0
    functionsReached:
    - os_memdup
    linkageType: ''
    returnType: u8
    signature: u8 * eap_psk_getKey(struct eap_sm *sm, void *priv, size_t *len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/eap_peer/eap_psk.c:445,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_psk.c:450,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_psk.c:451,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_psk.c:452,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 455
    functionName: eap_psk_get_session_id
    functionSourceFile: /src/hostap/src/eap_peer/eap_psk.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - os_malloc
    - wpa_hexdump
    linkageType: ''
    returnType: u8
    signature: u8 * eap_psk_get_session_id(struct eap_sm *sm, void *priv, size_t *len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memdup
      Src: /src/hostap/src/eap_peer/eap_psk.c:466,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 473
    functionName: eap_psk_get_emsk
    functionSourceFile: /src/hostap/src/eap_peer/eap_psk.c
    functionUses: 0
    functionsReached:
    - os_memdup
    linkageType: ''
    returnType: u8
    signature: u8 * eap_psk_get_emsk(struct eap_sm *sm, void *priv, size_t *len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_peer_method_alloc
      Src: /src/hostap/src/eap_peer/eap_psk.c:480,1
    - Dst: eap_peer_method_register
      Src: /src/hostap/src/eap_peer/eap_psk.c:493,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 494
    functionName: eap_peer_psk_register
    functionSourceFile: /src/hostap/src/eap_peer/eap_psk.c
    functionUses: 1
    functionsReached:
    - eap_peer_method_register
    - eap_peer_method_alloc
    linkageType: ''
    returnType: int
    signature: int eap_peer_psk_register(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_msg_alloc
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:23,1
    - Dst: eap_msg_alloc
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - type
    - payload_len
    - code
    - identifier
    argTypes:
    - enum eap_type
    - size_t
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 28
    functionName: eap_tls_msg_alloc
    functionSourceFile: /src/hostap/src/eap_peer/eap_tls_common.c
    functionUses: 0
    functionsReached:
    - eap_msg_alloc
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_tls_msg_alloc(enum eap_type type, size_t payload_len,\n\t\t\t\t\t
      u8 code, u8 identifier)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_strncmp
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:36,1
    - Dst: eap_get_config_blob
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:39,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:41,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - sm
    - name
    - data
    - data_len
    argTypes:
    - struct eap_sm*
    - char**
    - u8**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 51
    functionName: eap_tls_check_blob
    functionSourceFile: /src/hostap/src/eap_peer/eap_tls_common.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_get_config_blob
    - os_strncmp
    linkageType: ''
    returnType: int
    signature: "int eap_tls_check_blob(struct eap_sm *sm, const char **name,\n\t\t\t
      \     const u8 **data, size_t *data_len)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:59,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:61,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:63,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:65,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:67,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:69,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:73,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:75,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:79,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:81,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:85,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:87,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:89,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:91,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:93,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:95,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:97,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:99,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:101,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:103,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 49
    argCount: 2
    argNames:
    - params
    - txt
    argTypes:
    - struct tls_connection_params*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 105
    functionName: eap_tls_params_flags
    functionSourceFile: /src/hostap/src/eap_peer/eap_tls_common.c
    functionUses: 0
    functionsReached:
    - os_strstr
    linkageType: ''
    returnType: void
    signature: "void eap_tls_params_flags(struct tls_connection_params *params,\n\t\t\t\t
      const char *txt)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - params
    - config
    argTypes:
    - struct tls_connection_params*
    - struct eap_peer_cert_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 133
    functionName: eap_tls_cert_params_from_conf
    functionSourceFile: /src/hostap/src/eap_peer/eap_tls_common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void eap_tls_cert_params_from_conf(struct tls_connection_params *params,\n\t\t\t\t\t
      \ struct eap_peer_cert_config *config)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eap_tls_cert_params_from_conf
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:139,1
    - Dst: eap_tls_params_flags
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - params
    - config
    argTypes:
    - struct tls_connection_params*
    - struct eap_peer_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 141
    functionName: eap_tls_params_from_conf1
    functionSourceFile: /src/hostap/src/eap_peer/eap_tls_common.c
    functionUses: 0
    functionsReached:
    - eap_tls_params_flags
    - eap_tls_cert_params_from_conf
    linkageType: ''
    returnType: void
    signature: "void eap_tls_params_from_conf1(struct tls_connection_params *params,\n\t\t\t\t
      \     struct eap_peer_config *config)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eap_tls_cert_params_from_conf
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:147,1
    - Dst: eap_tls_params_flags
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - params
    - config
    argTypes:
    - struct tls_connection_params*
    - struct eap_peer_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 149
    functionName: eap_tls_params_from_conf2
    functionSourceFile: /src/hostap/src/eap_peer/eap_tls_common.c
    functionUses: 0
    functionsReached:
    - eap_tls_params_flags
    - eap_tls_cert_params_from_conf
    linkageType: ''
    returnType: void
    signature: "void eap_tls_params_from_conf2(struct tls_connection_params *params,\n\t\t\t\t
      \     struct eap_peer_config *config)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eap_tls_cert_params_from_conf
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:155,1
    - Dst: eap_tls_params_flags
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - params
    - config
    argTypes:
    - struct tls_connection_params*
    - struct eap_peer_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 157
    functionName: eap_tls_params_from_conf2m
    functionSourceFile: /src/hostap/src/eap_peer/eap_tls_common.c
    functionUses: 0
    functionsReached:
    - eap_tls_params_flags
    - eap_tls_cert_params_from_conf
    linkageType: ''
    returnType: void
    signature: "void eap_tls_params_from_conf2m(struct tls_connection_params *params,\n\t\t\t\t
      \      struct eap_peer_config *config)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:165,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:206,1
    - Dst: eap_tls_params_from_conf2m
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:207,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:209,1
    - Dst: eap_tls_params_from_conf2
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:210,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:212,1
    - Dst: eap_tls_params_from_conf1
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:213,1
    - Dst: eap_tls_check_blob
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:222,1
    - Dst: eap_tls_check_blob
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:224,1
    - Dst: eap_tls_check_blob
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:227,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:230,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 36
    argCount: 5
    argNames:
    - sm
    - data
    - params
    - config
    - phase2
    argTypes:
    - struct eap_sm*
    - struct eap_ssl_data*
    - struct tls_connection_params*
    - struct eap_peer_config*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 160
    functionDepth: 2
    functionLinenumber: 160
    functionLinenumberEnd: 245
    functionName: eap_tls_params_from_conf
    functionSourceFile: /src/hostap/src/eap_peer/eap_tls_common.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_tls_check_blob
    - eap_tls_params_from_conf2m
    - eap_tls_params_from_conf2
    - eap_tls_params_from_conf1
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int eap_tls_params_from_conf(struct eap_sm *sm,\n\t\t\t\t    struct
      eap_ssl_data *data,\n\t\t\t\t    struct tls_connection_params *params,\n\t\t\t\t
      \   struct eap_peer_config *config, int phase2)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tls_connection_init
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:255,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:257,1
    - Dst: tls_connection_set_params
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:262,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:269,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:271,1
    - Dst: eap_sm_request_pin
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:273,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:276,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:278,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:282,1
    - Dst: tls_connection_deinit
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:284,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 4
    argNames:
    - sm
    - data
    - config
    - params
    argTypes:
    - struct eap_sm*
    - struct eap_ssl_data*
    - struct eap_peer_config*
    - struct tls_connection_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 248
    functionDepth: 2
    functionLinenumber: 248
    functionLinenumberEnd: 290
    functionName: eap_tls_init_connection
    functionSourceFile: /src/hostap/src/eap_peer/eap_tls_common.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - tls_connection_init
    - tls_connection_deinit
    - os_free
    - tls_connection_set_params
    - eap_sm_request_pin
    linkageType: ''
    returnType: int
    signature: "int eap_tls_init_connection(struct eap_sm *sm,\n\t\t\t\t   struct
      eap_ssl_data *data,\n\t\t\t\t   struct eap_peer_config *config,\n\t\t\t\t   struct
      tls_connection_params *params)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: eap_tls_params_from_conf
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:317,1
    - Dst: eap_tls_init_connection
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:321,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:334,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:335,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 4
    argNames:
    - sm
    - data
    - config
    - eap_type
    argTypes:
    - struct eap_sm*
    - struct eap_ssl_data*
    - struct eap_peer_config*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 304
    functionDepth: 3
    functionLinenumber: 304
    functionLinenumberEnd: 341
    functionName: eap_peer_tls_ssl_init
    functionSourceFile: /src/hostap/src/eap_peer/eap_tls_common.c
    functionUses: 5
    functionsReached:
    - os_strstr
    - wpa_printf
    - eap_tls_init_connection
    - eap_tls_params_from_conf
    linkageType: ''
    returnType: int
    signature: "int eap_peer_tls_ssl_init(struct eap_sm *sm, struct eap_ssl_data *data,\n\t\t\t
      \ struct eap_peer_config *config, u8 eap_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tls_connection_deinit
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:354,1
    - Dst: eap_peer_tls_reset_input
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:355,1
    - Dst: eap_peer_tls_reset_output
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - sm
    - data
    argTypes:
    - struct eap_sm*
    - struct eap_ssl_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 357
    functionName: eap_peer_tls_ssl_deinit
    functionSourceFile: /src/hostap/src/eap_peer/eap_tls_common.c
    functionUses: 4
    functionsReached:
    - eap_peer_tls_reset_input
    - tls_connection_deinit
    - eap_peer_tls_reset_output
    linkageType: ''
    returnType: void
    signature: void eap_peer_tls_ssl_deinit(struct eap_sm *sm, struct eap_ssl_data
      *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:384,1
    - Dst: tls_connection_export_key
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:388,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:390,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 6
    argNames:
    - sm
    - data
    - label
    - context
    - context_len
    - len
    argTypes:
    - struct eap_sm*
    - struct eap_ssl_data*
    - char*
    - u8*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 395
    functionName: eap_peer_tls_derive_key
    functionSourceFile: /src/hostap/src/eap_peer/eap_tls_common.c
    functionUses: 3
    functionsReached:
    - os_free
    - os_malloc
    - tls_connection_export_key
    linkageType: ''
    returnType: u8
    signature: "u8 * eap_peer_tls_derive_key(struct eap_sm *sm, struct eap_ssl_data
      *data,\n\t\t\t     const char *label, const u8 *context,\n\t\t\t     size_t
      context_len, size_t len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:427,1
    - Dst: eap_peer_tls_derive_key
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:430,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:433,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:437,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:438,1
    - Dst: tls_connection_get_random
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:442,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:447,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:453,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:454,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 4
    argNames:
    - sm
    - data
    - eap_type
    - len
    argTypes:
    - struct eap_sm*
    - struct eap_ssl_data*
    - u8
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 458
    functionName: eap_peer_tls_derive_session_id
    functionSourceFile: /src/hostap/src/eap_peer/eap_tls_common.c
    functionUses: 3
    functionsReached:
    - os_memcpy
    - eap_peer_tls_derive_key
    - os_malloc
    - tls_connection_get_random
    - os_free
    linkageType: ''
    returnType: u8
    signature: "u8 * eap_peer_tls_derive_session_id(struct eap_sm *sm,\n\t\t\t\t    struct
      eap_ssl_data *data, u8 eap_type,\n\t\t\t\t    size_t *len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:473,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:474,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:478,1
    - Dst: eap_peer_tls_reset_input
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:483,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:492,1
    - Dst: eap_peer_tls_reset_input
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:494,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:500,1
    - Dst: eap_peer_tls_reset_input
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:502,1
    - Dst: wpabuf_resize
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:506,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:507,1
    - Dst: eap_peer_tls_reset_input
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:509,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:513,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:517,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 2
    argNames:
    - data
    - in_data
    argTypes:
    - struct eap_ssl_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 523
    functionName: eap_peer_tls_reassemble_fragment
    functionSourceFile: /src/hostap/src/eap_peer/eap_tls_common.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_resize
    - wpabuf_len
    - eap_peer_tls_reset_input
    - wpabuf_put_buf
    linkageType: ''
    returnType: int
    signature: "int eap_peer_tls_reassemble_fragment(struct eap_ssl_data *data,\n\t\t\t\t\t
      \   const struct wpabuf *in_data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:544,1
    - Dst: eap_peer_tls_reassemble_fragment
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:546,1
    - Dst: wpabuf_dup
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:557,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - data
    - in_data
    - need_more_input
    argTypes:
    - struct eap_ssl_data*
    - struct wpabuf*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 538
    functionDepth: 2
    functionLinenumber: 538
    functionLinenumberEnd: 563
    functionName: eap_peer_tls_data_reassemble
    functionSourceFile: /src/hostap/src/eap_peer/eap_tls_common.c
    functionUses: 0
    functionsReached:
    - wpabuf_len
    - eap_peer_tls_reassemble_fragment
    - wpabuf_dup
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_peer_tls_data_reassemble(\n\tstruct eap_ssl_data
      *data, const struct wpabuf *in_data,\n\tint *need_more_input)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: eap_peer_tls_data_reassemble
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:583,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:590,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:592,1
    - Dst: WPA_ASSERT
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:593,1
    - Dst: tls_connection_handshake
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:596,1
    - Dst: eap_peer_tls_reset_input
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:599,1
    - Dst: tls_connection_established
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:602,1
    - Dst: tls_connection_get_failed
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:603,1
    - Dst: wpa_hexdump_buf_key
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:604,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:610,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - sm
    - data
    - in_data
    - out_data
    argTypes:
    - struct eap_sm*
    - struct eap_ssl_data*
    - struct wpabuf*
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 575
    functionDepth: 3
    functionLinenumber: 575
    functionLinenumberEnd: 613
    functionName: eap_tls_process_input
    functionSourceFile: /src/hostap/src/eap_peer/eap_tls_common.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - tls_connection_handshake
    - eap_peer_tls_reset_input
    - wpabuf_free
    - eap_peer_tls_data_reassemble
    - tls_connection_get_failed
    - tls_connection_established
    - WPA_ASSERT
    - wpa_hexdump_buf_key
    linkageType: ''
    returnType: int
    signature: "int eap_tls_process_input(struct eap_sm *sm, struct eap_ssl_data *data,\n\t\t\t\t
      const struct wpabuf *in_data,\n\t\t\t\t struct wpabuf **out_data)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:637,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:638,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:641,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:650,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:656,1
    - Dst: tls_connection_established
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:660,1
    - Dst: eap_tls_msg_alloc
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:670,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:675,1
    - Dst: wpabuf_put_be32
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:681,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:681,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:684,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:685,1
    - Dst: eap_peer_tls_reset_output
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:690,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 6
    argNames:
    - data
    - eap_type
    - peap_version
    - id
    - ret
    - out_data
    argTypes:
    - struct eap_ssl_data*
    - enum eap_type
    - int
    - u8
    - int
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 626
    functionDepth: 1
    functionLinenumber: 626
    functionLinenumberEnd: 693
    functionName: eap_tls_process_output
    functionSourceFile: /src/hostap/src/eap_peer/eap_tls_common.c
    functionUses: 0
    functionsReached:
    - eap_tls_msg_alloc
    - wpa_printf
    - wpabuf_put
    - wpabuf_head_u8
    - wpabuf_put_data
    - eap_peer_tls_reset_output
    - wpabuf_len
    - tls_connection_established
    - wpabuf_put_be32
    linkageType: ''
    returnType: int
    signature: "int eap_tls_process_output(struct eap_ssl_data *data,\n\t\t\t\t  enum
      eap_type eap_type,\n\t\t\t\t  int peap_version, u8 id, int ret,\n\t\t\t\t  struct
      wpabuf **out_data)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:733,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:734,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:735,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:740,1
    - Dst: eap_tls_process_input
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:745,1
    - Dst: tls_get_version
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:761,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:763,1
    - Dst: os_strcmp
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:764,1
    - Dst: eap_peer_tls_reset_output
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:774,1
    - Dst: tls_connection_get_failed
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:778,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:780,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:782,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:785,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:786,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:792,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:798,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:799,1
    - Dst: eap_tls_process_output
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:805,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 7
    argNames:
    - sm
    - data
    - eap_type
    - peap_version
    - id
    - in_data
    - out_data
    argTypes:
    - struct eap_sm*
    - struct eap_ssl_data*
    - enum eap_type
    - int
    - u8
    - struct wpabuf*
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 724
    functionDepth: 4
    functionLinenumber: 724
    functionLinenumberEnd: 807
    functionName: eap_peer_tls_process_helper
    functionSourceFile: /src/hostap/src/eap_peer/eap_tls_common.c
    functionUses: 4
    functionsReached:
    - wpa_printf
    - wpabuf_len
    - tls_connection_get_failed
    - wpabuf_free
    - eap_tls_process_input
    - eap_tls_process_output
    - tls_get_version
    - eap_peer_tls_reset_output
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: "int eap_peer_tls_process_helper(struct eap_sm *sm, struct eap_ssl_data
      *data,\n\t\t\t\tenum eap_type eap_type, int peap_version,\n\t\t\t\tu8 id, const
      struct wpabuf *in_data,\n\t\t\t\tstruct wpabuf **out_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_tls_msg_alloc
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:822,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:825,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:827,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - id
    - eap_type
    - peap_version
    argTypes:
    - u8
    - enum eap_type
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 817
    functionDepth: 1
    functionLinenumber: 817
    functionLinenumberEnd: 829
    functionName: eap_peer_tls_build_ack
    functionSourceFile: /src/hostap/src/eap_peer/eap_tls_common.c
    functionUses: 6
    functionsReached:
    - eap_tls_msg_alloc
    - wpa_printf
    - wpabuf_put_u8
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_peer_tls_build_ack(u8 id, enum eap_type eap_type,\n\t\t\t\t
      \      int peap_version)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eap_peer_tls_reset_input
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:840,1
    - Dst: eap_peer_tls_reset_output
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:841,1
    - Dst: tls_connection_shutdown
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:842,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - sm
    - data
    argTypes:
    - struct eap_sm*
    - struct eap_ssl_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 838
    functionDepth: 1
    functionLinenumber: 838
    functionLinenumberEnd: 843
    functionName: eap_peer_tls_reauth_init
    functionSourceFile: /src/hostap/src/eap_peer/eap_tls_common.c
    functionUses: 4
    functionsReached:
    - eap_peer_tls_reset_input
    - tls_connection_shutdown
    - eap_peer_tls_reset_output
    linkageType: ''
    returnType: int
    signature: int eap_peer_tls_reauth_init(struct eap_sm *sm, struct eap_ssl_data
      *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tls_get_version
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:861,1
    - Dst: tls_get_cipher
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:864,1
    - Dst: os_snprintf
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:867,1
    - Dst: tls_connection_resumed
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:872,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:873,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - sm
    - data
    - buf
    - buflen
    - verbose
    argTypes:
    - struct eap_sm*
    - struct eap_ssl_data*
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 855
    functionDepth: 1
    functionLinenumber: 855
    functionLinenumberEnd: 878
    functionName: eap_peer_tls_status
    functionSourceFile: /src/hostap/src/eap_peer/eap_tls_common.c
    functionUses: 4
    functionsReached:
    - tls_get_cipher
    - os_snprintf
    - tls_connection_resumed
    - tls_get_version
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int eap_peer_tls_status(struct eap_sm *sm, struct eap_ssl_data *data,\n\t\t\tchar
      *buf, size_t buflen, int verbose)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tls_get_errors
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:916,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:917,1
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:923,1
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:927,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:934,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:941,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:948,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:949,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:953,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:958,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:959,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:964,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:971,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 54
    argCount: 7
    argNames:
    - sm
    - data
    - eap_type
    - ret
    - reqData
    - len
    - flags
    argTypes:
    - struct eap_sm*
    - struct eap_ssl_data*
    - enum eap_type
    - struct eap_method_ret*
    - struct wpabuf*
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 905
    functionDepth: 1
    functionLinenumber: 905
    functionLinenumberEnd: 986
    functionName: eap_peer_tls_process_init
    functionSourceFile: /src/hostap/src/eap_peer/eap_tls_common.c
    functionUses: 4
    functionsReached:
    - wpa_printf
    - wpabuf_len
    - wpabuf_free
    - eap_hdr_validate
    - tls_get_errors
    - WPA_GET_BE32
    linkageType: ''
    returnType: u8
    signature: "u8 * eap_peer_tls_process_init(struct eap_sm *sm,\n\t\t\t\t     struct
      eap_ssl_data *data,\n\t\t\t\t     enum eap_type eap_type,\n\t\t\t\t     struct
      eap_method_ret *ret,\n\t\t\t\t     const struct wpabuf *reqData,\n\t\t\t\t     size_t
      *len, u8 *flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:999,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct eap_ssl_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 996
    functionDepth: 1
    functionLinenumber: 996
    functionLinenumberEnd: 1001
    functionName: eap_peer_tls_reset_input
    functionSourceFile: /src/hostap/src/eap_peer/eap_tls_common.c
    functionUses: 7
    functionsReached:
    - wpabuf_free
    linkageType: ''
    returnType: void
    signature: void eap_peer_tls_reset_input(struct eap_ssl_data *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:1014,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct eap_ssl_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1016
      start: 1011
    functionDepth: 1
    functionLinenumber: 1011
    functionLinenumberEnd: 1016
    functionName: eap_peer_tls_reset_output
    functionSourceFile: /src/hostap/src/eap_peer/eap_tls_common.c
    functionUses: 6
    functionsReached:
    - wpabuf_free
    linkageType: ''
    returnType: void
    signature: void eap_peer_tls_reset_output(struct eap_ssl_data *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eap_peer_tls_data_reassemble
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:1034,1
    - Dst: tls_connection_decrypt
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:1038,1
    - Dst: eap_peer_tls_reset_input
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:1039,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:1041,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - sm
    - data
    - in_data
    - in_decrypted
    argTypes:
    - struct eap_sm*
    - struct eap_ssl_data*
    - struct wpabuf*
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 1027
    functionDepth: 3
    functionLinenumber: 1027
    functionLinenumberEnd: 1045
    functionName: eap_peer_tls_decrypt
    functionSourceFile: /src/hostap/src/eap_peer/eap_tls_common.c
    functionUses: 3
    functionsReached:
    - eap_peer_tls_reset_input
    - tls_connection_decrypt
    - wpa_printf
    - eap_peer_tls_data_reassemble
    linkageType: ''
    returnType: int
    signature: "int eap_peer_tls_decrypt(struct eap_sm *sm, struct eap_ssl_data *data,\n\t\t\t
      const struct wpabuf *in_data,\n\t\t\t struct wpabuf **in_decrypted)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eap_peer_tls_reset_output
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:1065,1
    - Dst: tls_connection_encrypt
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:1066,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:1069,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:1071,1
    - Dst: eap_peer_tls_reset_output
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:1072,1
    - Dst: eap_tls_process_output
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:1077,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 7
    argNames:
    - sm
    - data
    - eap_type
    - peap_version
    - id
    - in_data
    - out_data
    argTypes:
    - struct eap_sm*
    - struct eap_ssl_data*
    - enum eap_type
    - int
    - u8
    - struct wpabuf*
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 1059
    functionDepth: 2
    functionLinenumber: 1059
    functionLinenumberEnd: 1079
    functionName: eap_peer_tls_encrypt
    functionSourceFile: /src/hostap/src/eap_peer/eap_tls_common.c
    functionUses: 6
    functionsReached:
    - wpa_printf
    - tls_connection_encrypt
    - wpabuf_len
    - eap_tls_process_output
    - eap_peer_tls_reset_output
    linkageType: ''
    returnType: int
    signature: "int eap_peer_tls_encrypt(struct eap_sm *sm, struct eap_ssl_data *data,\n\t\t\t
      enum eap_type eap_type, int peap_version, u8 id,\n\t\t\t const struct wpabuf
      *in_data,\n\t\t\t struct wpabuf **out_data)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: os_strdup
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:1110,1
    - Dst: os_strlen
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:1114,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:1118,1
    - Dst: os_strchr
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:1127,1
    - Dst: eap_get_phase2_type
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:1130,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:1132,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:1134,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:1135,1
    - Dst: os_realloc_array
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:1139,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:1142,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:1143,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:1154,1
    - Dst: eap_get_phase2_types
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:1158,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:1161,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:1164,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 57
    argCount: 5
    argNames:
    - config
    - prefix
    - types
    - num_types
    - use_machine_cred
    argTypes:
    - struct eap_peer_config*
    - char*
    - struct eap_method_type**
    - size_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1172
      start: 1093
    functionDepth: 2
    functionLinenumber: 1093
    functionLinenumberEnd: 1172
    functionName: eap_peer_select_phase2_methods
    functionSourceFile: /src/hostap/src/eap_peer/eap_tls_common.c
    functionUses: 4
    functionsReached:
    - os_strlen
    - wpa_printf
    - eap_get_phase2_types
    - wpa_hexdump
    - os_strstr
    - os_free
    - os_strchr
    - eap_get_phase2_type
    - os_strdup
    - os_realloc_array
    linkageType: ''
    returnType: int
    signature: "int eap_peer_select_phase2_methods(struct eap_peer_config *config,\n\t\t\t\t
      \  const char *prefix,\n\t\t\t\t   struct eap_method_type **types,\n\t\t\t\t
      \  size_t *num_types, int use_machine_cred)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:1190,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:1191,1
    - Dst: eap_msg_alloc
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:1193,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:1201,1
    - Dst: eap_update_len
      Src: /src/hostap/src/eap_peer/eap_tls_common.c:1204,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - types
    - num_types
    - hdr
    - resp
    argTypes:
    - struct eap_method_type*
    - size_t
    - struct eap_hdr*
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1183
    functionDepth: 1
    functionLinenumber: 1183
    functionLinenumberEnd: 1207
    functionName: eap_peer_tls_phase2_nak
    functionSourceFile: /src/hostap/src/eap_peer/eap_tls_common.c
    functionUses: 3
    functionsReached:
    - wpa_printf
    - eap_update_len
    - wpabuf_put_u8
    - wpa_hexdump
    - eap_msg_alloc
    linkageType: ''
    returnType: int
    signature: "int eap_peer_tls_phase2_nak(struct eap_method_type *types, size_t
      num_types,\n\t\t\t    struct eap_hdr *hdr, struct wpabuf **resp)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:107,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:111,1
    - Dst: os_memdup
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:118,1
    - Dst: eap_mschapv2_deinit
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:121,1
    - Dst: os_memdup
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:127,1
    - Dst: eap_mschapv2_deinit
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:130,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 138
    functionName: eap_mschapv2_init
    functionSourceFile: /src/hostap/src/eap_peer/eap_mschapv2.c
    functionUses: 0
    functionsReached:
    - os_memdup
    - os_zalloc
    - eap_mschapv2_deinit
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void * eap_mschapv2_init(struct eap_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:144,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:145,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:146,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 148
    functionName: eap_mschapv2_deinit
    functionSourceFile: /src/hostap/src/eap_peer/eap_mschapv2.c
    functionUses: 1
    functionsReached:
    - os_free
    - wpabuf_free
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: void eap_mschapv2_deinit(struct eap_sm *sm, void *priv)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:164,1
    - Dst: eap_get_config_identity
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:166,1
    - Dst: eap_get_config_password2
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:167,1
    - Dst: eap_msg_alloc
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:172,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:177,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:189,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:191,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:194,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:197,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:200,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:201,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:202,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:205,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:207,1
    - Dst: mschapv2_derive_response
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:211,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:215,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:217,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:225,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:226,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 45
    argCount: 5
    argNames:
    - sm
    - data
    - id
    - mschapv2_id
    - auth_challenge
    argTypes:
    - struct eap_sm*
    - struct eap_mschapv2_data*
    - u8
    - u8
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 229
    functionName: eap_mschapv2_challenge_reply
    functionSourceFile: /src/hostap/src/eap_peer/eap_mschapv2.c
    functionUses: 0
    functionsReached:
    - eap_get_config_password2
    - wpa_printf
    - wpabuf_put
    - random_get_bytes
    - wpabuf_put_u8
    - wpabuf_put_data
    - eap_msg_alloc
    - wpabuf_free
    - WPA_PUT_BE16
    - eap_get_config_identity
    - mschapv2_derive_response
    - os_memset
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_mschapv2_challenge_reply(\n\tstruct eap_sm *sm,
      struct eap_mschapv2_data *data, u8 id,\n\tu8 mschapv2_id, const u8 *auth_challenge)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: eap_get_config_identity
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:251,1
    - Dst: eap_get_config_password
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:252,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:255,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:257,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:266,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:273,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:281,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:288,1
    - Dst: eap_mschapv2_challenge_reply
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:296,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 6
    argNames:
    - sm
    - data
    - ret
    - req
    - req_len
    - id
    argTypes:
    - struct eap_sm*
    - struct eap_mschapv2_data*
    - struct eap_method_ret*
    - struct eap_mschapv2_hdr*
    - size_t
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 243
    functionDepth: 2
    functionLinenumber: 243
    functionLinenumberEnd: 298
    functionName: eap_mschapv2_challenge
    functionSourceFile: /src/hostap/src/eap_peer/eap_mschapv2.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_mschapv2_challenge_reply
    - eap_get_config_identity
    - eap_get_config_password
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_mschapv2_challenge(\n\tstruct eap_sm *sm, struct
      eap_mschapv2_data *data,\n\tstruct eap_method_ret *ret, const struct eap_mschapv2_hdr
      *req,\n\tsize_t req_len, u8 id)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: eap_get_config
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:304,1
    - Dst: wpa_msg
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:306,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:310,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:314,1
    - Dst: nt_password_hash
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:317,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:320,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:325,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - sm
    - data
    argTypes:
    - struct eap_sm*
    - struct eap_mschapv2_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 334
    functionName: eap_mschapv2_password_changed
    functionSourceFile: /src/hostap/src/eap_peer/eap_mschapv2.c
    functionUses: 0
    functionsReached:
    - eap_get_config
    - wpa_msg
    - os_malloc
    - nt_password_hash
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: "void eap_mschapv2_password_changed(struct eap_sm *sm,\n\t\t\t\t\t
      \ struct eap_mschapv2_data *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:358,1
    - Dst: mschapv2_verify_auth_response
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:362,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:363,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:375,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:377,1
    - Dst: eap_msg_alloc
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:381,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:384,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:390,1
    - Dst: eap_mschapv2_password_changed
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:398,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 6
    argNames:
    - sm
    - data
    - ret
    - req
    - req_len
    - id
    argTypes:
    - struct eap_sm*
    - struct eap_mschapv2_data*
    - struct eap_method_ret*
    - struct eap_mschapv2_hdr*
    - size_t
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 348
    functionDepth: 2
    functionLinenumber: 348
    functionLinenumberEnd: 401
    functionName: eap_mschapv2_success
    functionSourceFile: /src/hostap/src/eap_peer/eap_mschapv2.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put_u8
    - eap_msg_alloc
    - eap_mschapv2_password_changed
    - mschapv2_verify_auth_response
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_mschapv2_success(struct eap_sm *sm,\n\t\t\t\t\t
      \   struct eap_mschapv2_data *data,\n\t\t\t\t\t    struct eap_method_ret *ret,\n\t\t\t\t\t
      \   const struct eap_mschapv2_hdr *req,\n\t\t\t\t\t    size_t req_len, u8 id)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: eap_get_config
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:409,1
    - Dst: os_strncmp
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:417,1
    - Dst: atoi
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:419,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:420,1
    - Dst: os_strchr
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:422,1
    - Dst: os_strncmp
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:427,1
    - Dst: atoi
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:429,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:430,1
    - Dst: os_strchr
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:432,1
    - Dst: os_strncmp
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:437,1
    - Dst: os_strchr
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:440,1
    - Dst: hexstr2bin
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:442,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:444,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:447,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:454,1
    - Dst: os_strchr
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:457,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:461,1
    - Dst: os_strncmp
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:465,1
    - Dst: atoi
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:467,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:468,1
    - Dst: os_strchr
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:470,1
    - Dst: os_strncmp
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:475,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:481,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:482,1
    - Dst: wpa_msg
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:486,1
    - Dst: wpa_msg
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:493,1
    - Dst: eap_sm_request_new_password
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:496,1
    - Dst: eap_sm_request_identity
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:502,1
    - Dst: eap_sm_request_password
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:503,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 70
    argCount: 3
    argNames:
    - sm
    - data
    - txt
    argTypes:
    - struct eap_sm*
    - struct eap_mschapv2_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 511
    functionName: eap_mschapv2_failure_txt
    functionSourceFile: /src/hostap/src/eap_peer/eap_mschapv2.c
    functionUses: 0
    functionsReached:
    - eap_get_config
    - eap_sm_request_new_password
    - wpa_printf
    - wpa_hexdump
    - wpa_msg
    - hexstr2bin
    - eap_sm_request_identity
    - os_strncmp
    - os_strstr
    - eap_sm_request_password
    - atoi
    - os_strchr
    linkageType: ''
    returnType: int
    signature: "int eap_mschapv2_failure_txt(struct eap_sm *sm,\n\t\t\t\t    struct
      eap_mschapv2_data *data, char *txt)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:519,1
    - Dst: eap_get_config_identity
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:532,1
    - Dst: eap_get_config_password2
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:533,1
    - Dst: eap_get_config_new_password
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:534,1
    - Dst: mschapv2_remove_domain
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:538,1
    - Dst: eap_msg_alloc
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:546,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:551,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:554,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:555,1
    - Dst: encrypt_pw_block_with_password_hash
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:559,1
    - Dst: new_password_encrypted_with_old_nt_password_hash
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:564,1
    - Dst: nt_password_hash
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:573,1
    - Dst: nt_password_hash_encrypted_with_block
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:575,1
    - Dst: old_nt_password_hash_encrypted_with_new_nt_password_hash
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:580,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:587,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:591,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:594,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:596,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:598,1
    - Dst: wpa_hexdump_ascii_key
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:600,1
    - Dst: generate_nt_response
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:602,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:606,1
    - Dst: generate_authenticator_response
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:611,1
    - Dst: nt_password_hash
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:620,1
    - Dst: hash_nt_password_hash
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:621,1
    - Dst: get_master_key
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:622,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:630,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:632,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:638,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 65
    argCount: 5
    argNames:
    - sm
    - data
    - ret
    - req
    - id
    argTypes:
    - struct eap_sm*
    - struct eap_mschapv2_data*
    - struct eap_method_ret*
    - struct eap_mschapv2_hdr*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 641
    functionName: eap_mschapv2_change_password
    functionSourceFile: /src/hostap/src/eap_peer/eap_mschapv2.c
    functionUses: 0
    functionsReached:
    - wpa_hexdump
    - eap_msg_alloc
    - wpa_hexdump_ascii_key
    - wpa_hexdump_ascii
    - hash_nt_password_hash
    - wpa_printf
    - encrypt_pw_block_with_password_hash
    - old_nt_password_hash_encrypted_with_new_nt_password_hash
    - nt_password_hash
    - get_master_key
    - mschapv2_remove_domain
    - new_password_encrypted_with_old_nt_password_hash
    - generate_nt_response
    - WPA_PUT_BE16
    - eap_get_config_identity
    - generate_authenticator_response
    - os_memset
    - eap_get_config_password2
    - wpabuf_put
    - random_get_bytes
    - nt_password_hash_encrypted_with_block
    - wpabuf_free
    - eap_get_config_new_password
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_mschapv2_change_password(\n\tstruct eap_sm *sm,
      struct eap_mschapv2_data *data,\n\tstruct eap_method_ret *ret, const struct
      eap_mschapv2_hdr *req, u8 id)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:667,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:668,1
    - Dst: dup_binstr
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:675,1
    - Dst: eap_mschapv2_failure_txt
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:677,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:678,1
    - Dst: eap_get_config
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:688,1
    - Dst: eap_mschapv2_change_password
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:690,1
    - Dst: eap_msg_alloc
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:703,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:708,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 6
    argNames:
    - sm
    - data
    - ret
    - req
    - req_len
    - id
    argTypes:
    - struct eap_sm*
    - struct eap_mschapv2_data*
    - struct eap_method_ret*
    - struct eap_mschapv2_hdr*
    - size_t
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 655
    functionDepth: 2
    functionLinenumber: 655
    functionLinenumberEnd: 711
    functionName: eap_mschapv2_failure
    functionSourceFile: /src/hostap/src/eap_peer/eap_mschapv2.c
    functionUses: 0
    functionsReached:
    - eap_get_config
    - wpa_printf
    - wpabuf_put_u8
    - eap_mschapv2_change_password
    - eap_msg_alloc
    - dup_binstr
    - os_free
    - wpa_hexdump_ascii
    - eap_mschapv2_failure_txt
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_mschapv2_failure(struct eap_sm *sm,\n\t\t\t\t\t
      \   struct eap_mschapv2_data *data,\n\t\t\t\t\t    struct eap_method_ret *ret,\n\t\t\t\t\t
      \   const struct eap_mschapv2_hdr *req,\n\t\t\t\t\t    size_t req_len, u8 id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eap_get_config_identity
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:718,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:719,1
    - Dst: eap_sm_request_identity
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:720,1
    - Dst: eap_get_config_password
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:724,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:725,1
    - Dst: eap_sm_request_password
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:726,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 731
    functionName: eap_mschapv2_check_config
    functionSourceFile: /src/hostap/src/eap_peer/eap_mschapv2.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_sm_request_identity
    - eap_get_config_identity
    - eap_sm_request_password
    - eap_get_config_password
    linkageType: ''
    returnType: int
    signature: int eap_mschapv2_check_config(struct eap_sm *sm)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:737,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:742,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:747,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - sm
    - len
    - ms
    argTypes:
    - struct eap_sm*
    - size_t
    - struct eap_mschapv2_hdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 734
    functionDepth: 1
    functionLinenumber: 734
    functionLinenumberEnd: 755
    functionName: eap_mschapv2_check_mslen
    functionSourceFile: /src/hostap/src/eap_peer/eap_mschapv2.c
    functionUses: 0
    functionsReached:
    - WPA_GET_BE16
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int eap_mschapv2_check_mslen(struct eap_sm *sm, size_t len,\n\t\t\t\t
      \   const struct eap_mschapv2_hdr *ms)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:765,1
    - Dst: wpabuf_dup
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:766,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - reqData
    argTypes:
    - struct eap_mschapv2_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 758
    functionDepth: 1
    functionLinenumber: 758
    functionLinenumberEnd: 767
    functionName: eap_mschapv2_copy_challenge
    functionSourceFile: /src/hostap/src/eap_peer/eap_mschapv2.c
    functionUses: 0
    functionsReached:
    - wpabuf_dup
    - wpabuf_free
    linkageType: ''
    returnType: void
    signature: "void eap_mschapv2_copy_challenge(struct eap_mschapv2_data *data,\n\t\t\t\t\tconst
      struct wpabuf *reqData)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: eap_get_config
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:784,1
    - Dst: eap_mschapv2_check_config
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:791,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:798,1
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:806,1
    - Dst: eap_mschapv2_check_mslen
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:814,1
    - Dst: eap_get_id
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:819,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:820,1
    - Dst: eap_mschapv2_copy_challenge
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:826,1
    - Dst: eap_mschapv2_challenge
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:827,1
    - Dst: eap_mschapv2_success
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:829,1
    - Dst: eap_mschapv2_failure
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:831,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:833,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 4
    argNames:
    - sm
    - priv
    - ret
    - reqData
    argTypes:
    - struct eap_sm*
    - void*
    - struct eap_method_ret*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 779
    functionDepth: 3
    functionLinenumber: 779
    functionLinenumberEnd: 838
    functionName: eap_mschapv2_process
    functionSourceFile: /src/hostap/src/eap_peer/eap_mschapv2.c
    functionUses: 0
    functionsReached:
    - eap_get_config
    - eap_mschapv2_check_mslen
    - wpa_printf
    - eap_get_id
    - eap_mschapv2_failure
    - eap_mschapv2_check_config
    - eap_mschapv2_copy_challenge
    - eap_hdr_validate
    - eap_mschapv2_challenge
    - eap_mschapv2_success
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_mschapv2_process(struct eap_sm *sm, void *priv,\n\t\t\t\t\t
      \   struct eap_method_ret *ret,\n\t\t\t\t\t    const struct wpabuf *reqData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 841
    functionDepth: 0
    functionLinenumber: 841
    functionLinenumberEnd: 845
    functionName: eap_mschapv2_isKeyAvailable
    functionSourceFile: /src/hostap/src/eap_peer/eap_mschapv2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool eap_mschapv2_isKeyAvailable(struct eap_sm *sm, void *priv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:860,1
    - Dst: get_asymetric_start_key
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:879,1
    - Dst: get_asymetric_start_key
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:881,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:883,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:887,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 848
    functionDepth: 1
    functionLinenumber: 848
    functionLinenumberEnd: 892
    functionName: eap_mschapv2_getKey
    functionSourceFile: /src/hostap/src/eap_peer/eap_mschapv2.c
    functionUses: 0
    functionsReached:
    - os_free
    - get_asymetric_start_key
    - os_malloc
    - wpa_hexdump_key
    linkageType: ''
    returnType: u8
    signature: u8 * eap_mschapv2_getKey(struct eap_sm *sm, void *priv, size_t *len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_peer_method_alloc
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:906,1
    - Dst: eap_peer_method_register
      Src: /src/hostap/src/eap_peer/eap_mschapv2.c:918,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 919
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 919
    functionName: eap_peer_mschapv2_register
    functionSourceFile: /src/hostap/src/eap_peer/eap_mschapv2.c
    functionUses: 2
    functionsReached:
    - eap_peer_method_register
    - eap_peer_method_alloc
    linkageType: ''
    returnType: int
    signature: int eap_peer_mschapv2_register(void)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/eap_peap.c:79,1
    - Dst: atoi
      Src: /src/hostap/src/eap_peer/eap_peap.c:81,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_peap.c:83,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/eap_peap.c:87,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_peap.c:89,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/eap_peap.c:93,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_peap.c:95,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/eap_peap.c:97,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_peap.c:99,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/eap_peap.c:101,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_peap.c:103,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/eap_peap.c:107,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_peap.c:109,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/eap_peap.c:110,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_peap.c:112,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/eap_peap.c:113,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_peap.c:115,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/eap_peap.c:118,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_peap.c:120,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/eap_peap.c:122,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_peap.c:124,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/eap_peap.c:126,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_peap.c:128,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/eap_peap.c:132,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_peap.c:134,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/eap_peap.c:135,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_peap.c:137,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/eap_peap.c:138,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_peap.c:140,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 59
    argCount: 2
    argNames:
    - data
    - phase1
    argTypes:
    - struct eap_peap_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 143
    functionName: eap_peap_parse_phase1
    functionSourceFile: /src/hostap/src/eap_peer/eap_peap.c
    functionUses: 0
    functionsReached:
    - os_strstr
    - atoi
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: "void eap_peap_parse_phase1(struct eap_peap_data *data,\n\t\t\t\t  const
      char *phase1)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: eap_get_config
      Src: /src/hostap/src/eap_peer/eap_peap.c:149,1
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_peer/eap_peap.c:151,1
    - Dst: eap_peap_parse_phase1
      Src: /src/hostap/src/eap_peer/eap_peap.c:162,1
    - Dst: eap_peer_select_phase2_methods
      Src: /src/hostap/src/eap_peer/eap_peap.c:164,1
    - Dst: eap_peap_deinit
      Src: /src/hostap/src/eap_peer/eap_peap.c:167,1
    - Dst: eap_peer_tls_ssl_init
      Src: /src/hostap/src/eap_peer/eap_peap.c:174,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_peap.c:175,1
    - Dst: eap_peap_deinit
      Src: /src/hostap/src/eap_peer/eap_peap.c:176,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 146
    functionDepth: 4
    functionLinenumber: 146
    functionLinenumberEnd: 181
    functionName: eap_peap_init
    functionSourceFile: /src/hostap/src/eap_peer/eap_peap.c
    functionUses: 0
    functionsReached:
    - eap_get_config
    - wpa_printf
    - eap_peer_select_phase2_methods
    - eap_peap_deinit
    - os_zalloc
    - eap_peap_parse_phase1
    - eap_peer_tls_ssl_init
    linkageType: ''
    returnType: void
    signature: void * eap_peap_init(struct eap_sm *sm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bin_clear_free
      Src: /src/hostap/src/eap_peer/eap_peap.c:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct eap_peap_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 190
    functionName: eap_peap_free_key
    functionSourceFile: /src/hostap/src/eap_peer/eap_peap.c
    functionUses: 0
    functionsReached:
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: void eap_peap_free_key(struct eap_peap_data *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct eap_peap_data*::phase2_method::deinit
      Src: /src/hostap/src/eap_peer/eap_peap.c:199,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_peap.c:200,1
    - Dst: eap_peer_tls_ssl_deinit
      Src: /src/hostap/src/eap_peer/eap_peap.c:201,1
    - Dst: eap_peap_free_key
      Src: /src/hostap/src/eap_peer/eap_peap.c:202,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_peap.c:203,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/eap_peer/eap_peap.c:204,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/eap_peer/eap_peap.c:205,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/eap_peer/eap_peap.c:206,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 207
    functionName: eap_peap_deinit
    functionSourceFile: /src/hostap/src/eap_peer/eap_peap.c
    functionUses: 1
    functionsReached:
    - eap_peap_free_key
    - wpabuf_clear_free
    - os_free
    - struct eap_peap_data*::phase2_method::deinit
    - eap_peer_tls_ssl_deinit
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: void eap_peap_deinit(struct eap_sm *sm, void *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_msg_alloc
      Src: /src/hostap/src/eap_peer/eap_peap.c:223,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/eap_peap.c:228,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/eap_peap.c:229,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/eap_peer/eap_peap.c:230,1
    - Dst: wpabuf_put_be32
      Src: /src/hostap/src/eap_peer/eap_peap.c:231,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/eap_peer/eap_peap.c:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - id
    - nak_type
    argTypes:
    - int
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 235
    functionName: eap_tlv_build_nak
    functionSourceFile: /src/hostap/src/eap_peer/eap_peap.c
    functionUses: 0
    functionsReached:
    - eap_msg_alloc
    - wpabuf_put_be16
    - wpabuf_put_u8
    - wpabuf_put_be32
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * eap_tlv_build_nak(int id, u16 nak_type)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/eap_peer/eap_peap.c:244,1
    - Dst: struct eap_peap_data*::phase2_method::isKeyAvailable
      Src: /src/hostap/src/eap_peer/eap_peap.c:250,1
    - Dst: struct eap_peap_data*::phase2_method::getKey
      Src: /src/hostap/src/eap_peer/eap_peap.c:251,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_peap.c:253,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_peap.c:260,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_peap.c:261,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 4
    argNames:
    - sm
    - data
    - isk
    - isk_len
    argTypes:
    - struct eap_sm*
    - struct eap_peap_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 264
    functionName: eap_peap_get_isk
    functionSourceFile: /src/hostap/src/eap_peer/eap_peap.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - struct eap_peap_data*::phase2_method::isKeyAvailable
    - struct eap_peap_data*::phase2_method::getKey
    - os_free
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int eap_peap_get_isk(struct eap_sm *sm, struct eap_peap_data *data,\n\t\t\t
      \   u8 *isk, size_t isk_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_peer/eap_peap.c:280,1
    - Dst: tls_connection_resumed
      Src: /src/hostap/src/eap_peer/eap_peap.c:282,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_peap.c:283,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_peap.c:289,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_peer/eap_peap.c:290,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_peap.c:292,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_peer/eap_peap.c:293,1
    - Dst: eap_peap_get_isk
      Src: /src/hostap/src/eap_peer/eap_peap.c:298,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_peer/eap_peap.c:300,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_peer/eap_peap.c:309,1
    - Dst: peap_prfplus
      Src: /src/hostap/src/eap_peer/eap_peap.c:310,1
    - Dst: forced_memzero
      Src: /src/hostap/src/eap_peer/eap_peap.c:313,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_peer/eap_peap.c:316,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_peap.c:319,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_peer/eap_peap.c:320,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_peap.c:321,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_peer/eap_peap.c:322,1
    - Dst: forced_memzero
      Src: /src/hostap/src/eap_peer/eap_peap.c:323,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - sm
    - data
    argTypes:
    - struct eap_sm*
    - struct eap_peap_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 326
    functionName: eap_peap_derive_cmk
    functionSourceFile: /src/hostap/src/eap_peer/eap_peap.c
    functionUses: 0
    functionsReached:
    - peap_prfplus
    - wpa_hexdump_key
    - wpa_printf
    - os_memcpy
    - forced_memzero
    - eap_peap_get_isk
    - tls_connection_resumed
    linkageType: ''
    returnType: int
    signature: int eap_peap_derive_cmk(struct eap_sm *sm, struct eap_peap_data *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/eap_peap.c:340,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/eap_peer/eap_peap.c:346,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/eap_peer/eap_peap.c:347,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/eap_peap.c:349,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/eap_peap.c:350,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/eap_peap.c:351,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/eap_peap.c:352,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_peer/eap_peap.c:353,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/eap_peap.c:354,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_peap.c:355,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_peap.c:356,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_peap.c:358,1
    - Dst: hmac_sha1_vector
      Src: /src/hostap/src/eap_peer/eap_peap.c:360,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_peap.c:362,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 3
    argNames:
    - sm
    - data
    - buf
    argTypes:
    - struct eap_sm*
    - struct eap_peap_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 366
    functionName: eap_tlv_add_cryptobinding
    functionSourceFile: /src/hostap/src/eap_peer/eap_peap.c
    functionUses: 0
    functionsReached:
    - wpabuf_put
    - wpabuf_put_data
    - wpabuf_put_u8
    - wpa_hexdump
    - wpabuf_put_be16
    - hmac_sha1_vector
    linkageType: ''
    returnType: int
    signature: "int eap_tlv_add_cryptobinding(struct eap_sm *sm,\n\t\t\t\t     struct
      eap_peap_data *data,\n\t\t\t\t     struct wpabuf *buf)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: eap_msg_alloc
      Src: /src/hostap/src/eap_peer/eap_peap.c:392,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/eap_peap.c:397,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/eap_peap.c:398,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/eap_peer/eap_peap.c:399,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/eap_peer/eap_peap.c:400,1
    - Dst: eap_tlv_add_cryptobinding
      Src: /src/hostap/src/eap_peer/eap_peap.c:402,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/eap_peer/eap_peap.c:403,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 5
    argNames:
    - sm
    - data
    - crypto_tlv_used
    - id
    - status
    argTypes:
    - struct eap_sm*
    - struct eap_peap_data*
    - int
    - int
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 378
    functionDepth: 2
    functionLinenumber: 378
    functionLinenumberEnd: 408
    functionName: eap_tlv_build_result
    functionSourceFile: /src/hostap/src/eap_peer/eap_peap.c
    functionUses: 0
    functionsReached:
    - wpabuf_put_u8
    - eap_msg_alloc
    - wpabuf_put_be16
    - wpabuf_clear_free
    - eap_tlv_add_cryptobinding
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_tlv_build_result(struct eap_sm *sm,\n\t\t\t\t\t
      \   struct eap_peap_data *data,\n\t\t\t\t\t    int crypto_tlv_used,\n\t\t\t\t\t
      \   int id, u16 status)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: eap_peap_derive_cmk
      Src: /src/hostap/src/eap_peer/eap_peap.c:419,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_peap.c:420,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_peap.c:425,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_peap.c:433,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_peap.c:440,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_peap.c:445,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_peap.c:449,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_peer/eap_peap.c:450,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_peap.c:452,1
    - Dst: hmac_sha1
      Src: /src/hostap/src/eap_peer/eap_peap.c:454,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/eap_peer/eap_peap.c:456,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_peap.c:457,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_peap.c:459,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_peap.c:461,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_peap.c:466,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 4
    argNames:
    - sm
    - data
    - crypto_tlv
    - crypto_tlv_len
    argTypes:
    - struct eap_sm*
    - struct eap_peap_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 469
    functionName: eap_tlv_validate_cryptobinding
    functionSourceFile: /src/hostap/src/eap_peer/eap_peap.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_hexdump
    - eap_peap_derive_cmk
    - hmac_sha1
    - os_memcmp_const
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int eap_tlv_validate_cryptobinding(struct eap_sm *sm,\n\t\t\t\t\t
      \ struct eap_peap_data *data,\n\t\t\t\t\t  const u8 *crypto_tlv,\n\t\t\t\t\t
      \ size_t crypto_tlv_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tls_connection_resumed
      Src: /src/hostap/src/eap_peer/eap_peap.c:477,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 2
    argNames:
    - sm
    - data
    argTypes:
    - struct eap_sm*
    - struct eap_peap_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 483
    functionName: peap_phase2_sufficient
    functionSourceFile: /src/hostap/src/eap_peer/eap_peap.c
    functionUses: 0
    functionsReached:
    - tls_connection_resumed
    linkageType: ''
    returnType: bool
    signature: "bool peap_phase2_sufficient(struct eap_sm *sm,\n\t\t\t\t   struct
      eap_peap_data *data)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_peer/eap_peap.c:512,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_peap.c:515,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_peer/eap_peap.c:518,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_peer/eap_peap.c:520,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_peap.c:524,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_peap.c:540,1
    - Dst: eap_tlv_build_nak
      Src: /src/hostap/src/eap_peer/eap_peap.c:546,1
    - Dst: eap_get_id
      Src: /src/hostap/src/eap_peer/eap_peap.c:546,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_peap.c:558,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_peap.c:565,1
    - Dst: eap_tlv_validate_cryptobinding
      Src: /src/hostap/src/eap_peer/eap_peap.c:567,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_peap.c:577,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_peap.c:583,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_peap.c:586,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_peer/eap_peap.c:591,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_peap.c:593,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_peap.c:596,1
    - Dst: peap_phase2_sufficient
      Src: /src/hostap/src/eap_peer/eap_peap.c:600,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_peap.c:601,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_peap.c:610,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_peap.c:614,1
    - Dst: eap_tlv_build_result
      Src: /src/hostap/src/eap_peer/eap_peap.c:621,1
    - Dst: eap_get_id
      Src: /src/hostap/src/eap_peer/eap_peap.c:622,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 89
    argCount: 6
    argNames:
    - sm
    - data
    - ret
    - req
    - resp
    - force_failure
    argTypes:
    - struct eap_sm*
    - struct eap_peap_data*
    - struct eap_method_ret*
    - struct wpabuf*
    - struct wpabuf**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 500
    functionDepth: 3
    functionLinenumber: 500
    functionLinenumberEnd: 626
    functionName: eap_tlv_process
    functionSourceFile: /src/hostap/src/eap_peer/eap_peap.c
    functionUses: 0
    functionsReached:
    - eap_get_id
    - WPA_GET_BE16
    - wpa_printf
    - eap_tlv_validate_cryptobinding
    - wpa_hexdump
    - peap_phase2_sufficient
    - eap_tlv_build_nak
    - eap_hdr_validate
    - eap_tlv_build_result
    linkageType: ''
    returnType: int
    signature: "int eap_tlv_process(struct eap_sm *sm, struct eap_peap_data *data,\n\t\t\t
      \  struct eap_method_ret *ret,\n\t\t\t   const struct wpabuf *req, struct wpabuf
      **resp,\n\t\t\t   int force_failure)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_mhead
      Src: /src/hostap/src/eap_peer/eap_peap.c:635,1
    - Dst: be_to_host16
      Src: /src/hostap/src/eap_peer/eap_peap.c:636,1
    - Dst: eap_get_config
      Src: /src/hostap/src/eap_peer/eap_peap.c:639,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_peap.c:644,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_peap.c:649,1
    - Dst: eap_sm_buildIdentity
      Src: /src/hostap/src/eap_peer/eap_peap.c:652,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_peer/eap_peap.c:655,1
    - Dst: eap_tlv_process
      Src: /src/hostap/src/eap_peer/eap_peap.c:656,1
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_peer/eap_peap.c:676,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_peap.c:680,1
    - Dst: tncc_process_soh_request
      Src: /src/hostap/src/eap_peer/eap_peap.c:682,1
    - Dst: eap_msg_alloc
      Src: /src/hostap/src/eap_peer/eap_peap.c:685,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_peap.c:687,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/eap_peer/eap_peap.c:693,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/eap_peer/eap_peap.c:696,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/eap_peer/eap_peap.c:697,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_peap.c:710,1
    - Dst: WPA_GET_BE24
      Src: /src/hostap/src/eap_peer/eap_peap.c:715,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/eap_peer/eap_peap.c:716,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_peap.c:731,1
    - Dst: eap_peer_tls_phase2_nak
      Src: /src/hostap/src/eap_peer/eap_peap.c:741,1
    - Dst: eap_peer_get_eap_method
      Src: /src/hostap/src/eap_peer/eap_peap.c:749,1
    - Dst: struct eap_peap_data*::phase2_method::init
      Src: /src/hostap/src/eap_peer/eap_peap.c:755,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_peap.c:760,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_peer/eap_peap.c:767,1
    - Dst: struct eap_peap_data*::phase2_method::process
      Src: /src/hostap/src/eap_peer/eap_peap.c:768,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/eap_peer/eap_peap.c:784,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/eap_peer/eap_peap.c:785,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 98
    argCount: 5
    argNames:
    - sm
    - data
    - ret
    - req
    - resp
    argTypes:
    - struct eap_sm*
    - struct eap_peap_data*
    - struct eap_method_ret*
    - struct wpabuf*
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 629
    functionDepth: 4
    functionLinenumber: 629
    functionLinenumberEnd: 789
    functionName: eap_peap_phase2_request
    functionSourceFile: /src/hostap/src/eap_peer/eap_peap.c
    functionUses: 0
    functionsReached:
    - eap_msg_alloc
    - tncc_process_soh_request
    - eap_peer_tls_phase2_nak
    - be_to_host16
    - eap_get_config
    - wpa_printf
    - WPA_GET_BE24
    - wpabuf_clear_free
    - eap_tlv_process
    - wpabuf_len
    - eap_peer_get_eap_method
    - wpabuf_alloc_copy
    - wpabuf_mhead
    - os_memset
    - eap_sm_buildIdentity
    - struct eap_peap_data*::phase2_method::init
    - wpabuf_put_buf
    - struct eap_peap_data*::phase2_method::process
    - eap_hdr_validate
    - WPA_GET_BE32
    linkageType: ''
    returnType: int
    signature: "int eap_peap_phase2_request(struct eap_sm *sm,\n\t\t\t\t   struct
      eap_peap_data *data,\n\t\t\t\t   struct eap_method_ret *ret,\n\t\t\t\t   struct
      wpabuf *req,\n\t\t\t\t   struct wpabuf **resp)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_peap.c:804,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_peap.c:805,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_peap.c:808,1
    - Dst: eap_peer_tls_reset_input
      Src: /src/hostap/src/eap_peer/eap_peap.c:811,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_peap.c:818,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_peap.c:824,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_peap.c:830,1
    - Dst: eap_peer_tls_encrypt
      Src: /src/hostap/src/eap_peer/eap_peap.c:832,1
    - Dst: eap_peer_tls_decrypt
      Src: /src/hostap/src/eap_peer/eap_peap.c:837,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_peap.c:840,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_peap.c:841,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/eap_peer/eap_peap.c:846,1
    - Dst: wpabuf_mhead
      Src: /src/hostap/src/eap_peer/eap_peap.c:849,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_peap.c:850,1
    - Dst: be_to_host16
      Src: /src/hostap/src/eap_peer/eap_peap.c:851,1
    - Dst: eap_get_type
      Src: /src/hostap/src/eap_peer/eap_peap.c:852,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_peap.c:857,1
    - Dst: eap_get_type
      Src: /src/hostap/src/eap_peer/eap_peap.c:858,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eap_peer/eap_peap.c:864,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_peap.c:865,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/eap_peer/eap_peap.c:867,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/eap_peap.c:870,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/eap_peer/eap_peap.c:871,1
    - Dst: host_to_be16
      Src: /src/hostap/src/eap_peer/eap_peap.c:874,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_peap.c:875,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/eap_peer/eap_peap.c:877,1
    - Dst: wpabuf_mhead
      Src: /src/hostap/src/eap_peer/eap_peap.c:881,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_peap.c:882,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_peap.c:883,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_peap.c:885,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/eap_peer/eap_peap.c:886,1
    - Dst: be_to_host16
      Src: /src/hostap/src/eap_peer/eap_peap.c:889,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_peap.c:890,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_peap.c:891,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_peap.c:893,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/eap_peer/eap_peap.c:895,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_peap.c:898,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_peap.c:899,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_peap.c:903,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_peap.c:905,1
    - Dst: eap_peap_phase2_request
      Src: /src/hostap/src/eap_peer/eap_peap.c:910,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/eap_peer/eap_peap.c:912,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_peap.c:913,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_peap.c:919,1
    - Dst: peap_phase2_sufficient
      Src: /src/hostap/src/eap_peer/eap_peap.c:924,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_peap.c:925,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/eap_peer/eap_peap.c:931,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_peap.c:934,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/eap_peer/eap_peap.c:941,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_peap.c:942,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eap_peer/eap_peap.c:948,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/eap_peap.c:950,1
    - Dst: host_to_be16
      Src: /src/hostap/src/eap_peer/eap_peap.c:954,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_peap.c:967,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eap_peer/eap_peap.c:973,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/eap_peap.c:975,1
    - Dst: host_to_be16
      Src: /src/hostap/src/eap_peer/eap_peap.c:978,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_peap.c:982,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/eap_peer/eap_peap.c:987,1
    - Dst: wpa_hexdump_buf_key
      Src: /src/hostap/src/eap_peer/eap_peap.c:993,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_peap.c:996,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/eap_peer/eap_peap.c:997,1
    - Dst: eap_get_type
      Src: /src/hostap/src/eap_peer/eap_peap.c:998,1
    - Dst: wpabuf_set
      Src: /src/hostap/src/eap_peer/eap_peap.c:1002,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/eap_peer/eap_peap.c:1002,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_peap.c:1004,1
    - Dst: eap_peer_tls_encrypt
      Src: /src/hostap/src/eap_peer/eap_peap.c:1008,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_peap.c:1011,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/eap_peer/eap_peap.c:1014,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 140
    argCount: 6
    argNames:
    - sm
    - data
    - ret
    - req
    - in_data
    - out_data
    argTypes:
    - struct eap_sm*
    - struct eap_peap_data*
    - struct eap_method_ret*
    - struct eap_hdr*
    - struct wpabuf*
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 792
    functionDepth: 5
    functionLinenumber: 792
    functionLinenumberEnd: 1018
    functionName: eap_peap_decrypt
    functionSourceFile: /src/hostap/src/eap_peer/eap_peap.c
    functionUses: 0
    functionsReached:
    - peap_phase2_sufficient
    - eap_get_type
    - wpabuf_alloc
    - be_to_host16
    - wpa_printf
    - eap_peap_phase2_request
    - wpabuf_clear_free
    - eap_peer_tls_encrypt
    - eap_peer_tls_decrypt
    - wpa_hexdump_buf
    - wpabuf_head_u8
    - wpabuf_len
    - wpabuf_mhead
    - wpabuf_put
    - eap_peer_tls_reset_input
    - host_to_be16
    - wpabuf_free
    - wpabuf_set
    - wpabuf_put_buf
    - wpa_hexdump_buf_key
    linkageType: ''
    returnType: int
    signature: "int eap_peap_decrypt(struct eap_sm *sm, struct eap_peap_data *data,\n\t\t\t
      \   struct eap_method_ret *ret,\n\t\t\t    const struct eap_hdr *req,\n\t\t\t
      \   const struct wpabuf *in_data,\n\t\t\t    struct wpabuf **out_data)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: eap_peer_tls_process_init
      Src: /src/hostap/src/eap_peer/eap_peap.c:1034,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_peer/eap_peap.c:1038,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_peap.c:1042,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_peap.c:1049,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_peap.c:1057,1
    - Dst: wpabuf_set
      Src: /src/hostap/src/eap_peer/eap_peap.c:1063,1
    - Dst: tls_connection_established
      Src: /src/hostap/src/eap_peer/eap_peap.c:1066,1
    - Dst: eap_peap_decrypt
      Src: /src/hostap/src/eap_peer/eap_peap.c:1068,1
    - Dst: eap_get_config
      Src: /src/hostap/src/eap_peer/eap_peap.c:1071,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_peap.c:1075,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_peap.c:1085,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_peap.c:1093,1
    - Dst: eap_peer_tls_process_helper
      Src: /src/hostap/src/eap_peer/eap_peap.c:1098,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_peap.c:1104,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_peap.c:1113,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/eap_peer/eap_peap.c:1115,1
    - Dst: tls_connection_established
      Src: /src/hostap/src/eap_peer/eap_peap.c:1120,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_peap.c:1126,1
    - Dst: eap_peap_free_key
      Src: /src/hostap/src/eap_peer/eap_peap.c:1128,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_peap.c:1149,1
    - Dst: eap_peer_tls_derive_key
      Src: /src/hostap/src/eap_peer/eap_peap.c:1152,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_peer/eap_peap.c:1157,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_peer/eap_peap.c:1161,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_peap.c:1167,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_peap.c:1171,1
    - Dst: eap_peer_tls_derive_session_id
      Src: /src/hostap/src/eap_peer/eap_peap.c:1173,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_peap.c:1177,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_peap.c:1181,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_peap.c:1196,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/eap_peer/eap_peap.c:1210,1
    - Dst: eap_peap_decrypt
      Src: /src/hostap/src/eap_peer/eap_peap.c:1213,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/eap_peer/eap_peap.c:1223,1
    - Dst: eap_peer_tls_build_ack
      Src: /src/hostap/src/eap_peer/eap_peap.c:1224,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 106
    argCount: 4
    argNames:
    - sm
    - priv
    - ret
    - reqData
    argTypes:
    - struct eap_sm*
    - void*
    - struct eap_method_ret*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1229
      start: 1021
    functionDepth: 6
    functionLinenumber: 1021
    functionLinenumberEnd: 1229
    functionName: eap_peap_process
    functionSourceFile: /src/hostap/src/eap_peer/eap_peap.c
    functionUses: 0
    functionsReached:
    - eap_get_config
    - eap_peer_tls_derive_session_id
    - wpa_printf
    - eap_peer_tls_derive_key
    - wpa_hexdump_key
    - wpa_hexdump
    - eap_peer_tls_build_ack
    - wpabuf_head
    - wpabuf_set
    - eap_peap_decrypt
    - eap_peer_tls_process_helper
    - tls_connection_established
    - wpabuf_clear_free
    - eap_peer_tls_process_init
    - eap_peap_free_key
    - os_free
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_peap_process(struct eap_sm *sm, void *priv,\n\t\t\t\t\tstruct
      eap_method_ret *ret,\n\t\t\t\t\tconst struct wpabuf *reqData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tls_connection_established
      Src: /src/hostap/src/eap_peer/eap_peap.c:1236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1232
    functionDepth: 0
    functionLinenumber: 1232
    functionLinenumberEnd: 1238
    functionName: eap_peap_has_reauth_data
    functionSourceFile: /src/hostap/src/eap_peer/eap_peap.c
    functionUses: 0
    functionsReached:
    - tls_connection_established
    linkageType: ''
    returnType: bool
    signature: bool eap_peap_has_reauth_data(struct eap_sm *sm, void *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct eap_peap_data*::phase2_method::deinit_for_reauth
      Src: /src/hostap/src/eap_peer/eap_peap.c:1247,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/eap_peer/eap_peap.c:1248,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/eap_peer/eap_peap.c:1250,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1253
      start: 1241
    functionDepth: 1
    functionLinenumber: 1241
    functionLinenumberEnd: 1253
    functionName: eap_peap_deinit_for_reauth
    functionSourceFile: /src/hostap/src/eap_peer/eap_peap.c
    functionUses: 0
    functionsReached:
    - struct eap_peap_data*::phase2_method::deinit_for_reauth
    - wpabuf_clear_free
    linkageType: ''
    returnType: void
    signature: void eap_peap_deinit_for_reauth(struct eap_sm *sm, void *priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eap_peap_free_key
      Src: /src/hostap/src/eap_peer/eap_peap.c:1259,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_peap.c:1260,1
    - Dst: eap_peer_tls_reauth_init
      Src: /src/hostap/src/eap_peer/eap_peap.c:1262,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_peap.c:1263,1
    - Dst: struct eap_peap_data*::phase2_method::init_for_reauth
      Src: /src/hostap/src/eap_peer/eap_peap.c:1268,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1276
      start: 1256
    functionDepth: 2
    functionLinenumber: 1256
    functionLinenumberEnd: 1276
    functionName: eap_peap_init_for_reauth
    functionSourceFile: /src/hostap/src/eap_peer/eap_peap.c
    functionUses: 0
    functionsReached:
    - os_free
    - eap_peer_tls_reauth_init
    - struct eap_peap_data*::phase2_method::init_for_reauth
    - eap_peap_free_key
    linkageType: ''
    returnType: void
    signature: void * eap_peap_init_for_reauth(struct eap_sm *sm, void *priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eap_peer_tls_status
      Src: /src/hostap/src/eap_peer/eap_peap.c:1285,1
    - Dst: os_snprintf
      Src: /src/hostap/src/eap_peer/eap_peap.c:1287,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/eap_peer/eap_peap.c:1291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - sm
    - priv
    - buf
    - buflen
    - verbose
    argTypes:
    - struct eap_sm*
    - void*
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1296
      start: 1279
    functionDepth: 2
    functionLinenumber: 1279
    functionLinenumberEnd: 1296
    functionName: eap_peap_get_status
    functionSourceFile: /src/hostap/src/eap_peer/eap_peap.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - eap_peer_tls_status
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int eap_peap_get_status(struct eap_sm *sm, void *priv, char *buf,\n\t\t\t
      \      size_t buflen, int verbose)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1303
      start: 1299
    functionDepth: 0
    functionLinenumber: 1299
    functionLinenumberEnd: 1303
    functionName: eap_peap_isKeyAvailable
    functionSourceFile: /src/hostap/src/eap_peer/eap_peap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool eap_peap_isKeyAvailable(struct eap_sm *sm, void *priv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/eap_peer/eap_peap.c:1314,1
    - Dst: peap_prfplus
      Src: /src/hostap/src/eap_peer/eap_peap.c:1327,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_peap.c:1330,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_peer/eap_peap.c:1333,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_peap.c:1334,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_peap.c:1335,1
    - Dst: forced_memzero
      Src: /src/hostap/src/eap_peer/eap_peap.c:1337,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_peap.c:1339,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1342
      start: 1306
    functionDepth: 1
    functionLinenumber: 1306
    functionLinenumberEnd: 1342
    functionName: eap_peap_getKey
    functionSourceFile: /src/hostap/src/eap_peer/eap_peap.c
    functionUses: 0
    functionsReached:
    - peap_prfplus
    - wpa_hexdump_key
    - os_memcpy
    - wpa_hexdump
    - forced_memzero
    - os_malloc
    - os_free
    linkageType: ''
    returnType: u8
    signature: u8 * eap_peap_getKey(struct eap_sm *sm, void *priv, size_t *len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_memdup
      Src: /src/hostap/src/eap_peer/eap_peap.c:1358,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1365
      start: 1345
    functionDepth: 0
    functionLinenumber: 1345
    functionLinenumberEnd: 1365
    functionName: eap_peap_get_emsk
    functionSourceFile: /src/hostap/src/eap_peer/eap_peap.c
    functionUses: 0
    functionsReached:
    - os_memdup
    linkageType: ''
    returnType: u8
    signature: u8 * eap_peap_get_emsk(struct eap_sm *sm, void *priv, size_t *len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memdup
      Src: /src/hostap/src/eap_peer/eap_peap.c:1376,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1383
      start: 1368
    functionDepth: 0
    functionLinenumber: 1368
    functionLinenumberEnd: 1383
    functionName: eap_peap_get_session_id
    functionSourceFile: /src/hostap/src/eap_peer/eap_peap.c
    functionUses: 0
    functionsReached:
    - os_memdup
    linkageType: ''
    returnType: u8
    signature: u8 * eap_peap_get_session_id(struct eap_sm *sm, void *priv, size_t
      *len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_peer_method_alloc
      Src: /src/hostap/src/eap_peer/eap_peap.c:1390,1
    - Dst: eap_peer_method_register
      Src: /src/hostap/src/eap_peer/eap_peap.c:1407,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1408
      start: 1386
    functionDepth: 0
    functionLinenumber: 1386
    functionLinenumberEnd: 1408
    functionName: eap_peer_peap_register
    functionSourceFile: /src/hostap/src/eap_peer/eap_peap.c
    functionUses: 1
    functionsReached:
    - eap_peer_method_register
    - eap_peer_method_alloc
    linkageType: ''
    returnType: int
    signature: int eap_peer_peap_register(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - state
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 81
    functionName: eap_aka_state_txt
    functionSourceFile: /src/hostap/src/eap_peer/eap_aka.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * eap_aka_state_txt(int state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:87,1
    - Dst: eap_aka_state_txt
      Src: /src/hostap/src/eap_peer/eap_aka.c:88,1
    - Dst: eap_aka_state_txt
      Src: /src/hostap/src/eap_peer/eap_aka.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - state
    argTypes:
    - struct eap_aka_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 91
    functionName: eap_aka_state
    functionSourceFile: /src/hostap/src/eap_peer/eap_aka.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_aka_state_txt
    linkageType: ''
    returnType: void
    signature: void eap_aka_state(struct eap_aka_data *data, int state)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: eap_get_config_phase1
      Src: /src/hostap/src/eap_peer/eap_aka.c:97,1
    - Dst: eap_get_config
      Src: /src/hostap/src/eap_peer/eap_aka.c:98,1
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_peer/eap_aka.c:100,1
    - Dst: crypto_rsa_key_read
      Src: /src/hostap/src/eap_peer/eap_aka.c:108,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:111,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_aka.c:114,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:118,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_aka.c:120,1
    - Dst: eap_aka_state
      Src: /src/hostap/src/eap_peer/eap_aka.c:128,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/eap_aka.c:131,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_peer/eap_aka.c:135,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_aka.c:137,1
    - Dst: os_memdup
      Src: /src/hostap/src/eap_peer/eap_aka.c:146,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 151
    functionName: eap_aka_init
    functionSourceFile: /src/hostap/src/eap_peer/eap_aka.c
    functionUses: 0
    functionsReached:
    - eap_get_config
    - eap_get_config_phase1
    - wpa_printf
    - os_memcpy
    - os_memdup
    - os_malloc
    - os_strstr
    - os_zalloc
    - os_free
    - eap_aka_state
    - crypto_rsa_key_read
    linkageType: ''
    returnType: void
    signature: void * eap_aka_init(struct eap_sm *sm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_aka_init
      Src: /src/hostap/src/eap_peer/eap_aka.c:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 162
    functionName: eap_aka_prime_init
    functionSourceFile: /src/hostap/src/eap_peer/eap_aka.c
    functionUses: 0
    functionsReached:
    - eap_aka_init
    linkageType: ''
    returnType: void
    signature: void * eap_aka_prime_init(struct eap_sm *sm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/eap_peer/eap_aka.c:169,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_peer/eap_aka.c:170,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_peer/eap_aka.c:171,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_peer/eap_aka.c:172,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_peer/eap_aka.c:174,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_peer/eap_aka.c:175,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_peer/eap_aka.c:176,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_peer/eap_aka.c:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - data
    - reauth
    argTypes:
    - struct eap_aka_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 178
    functionName: eap_aka_clear_keys
    functionSourceFile: /src/hostap/src/eap_peer/eap_aka.c
    functionUses: 0
    functionsReached:
    - os_memset
    linkageType: ''
    returnType: void
    signature: void eap_aka_clear_keys(struct eap_aka_data *data, int reauth)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_aka.c:185,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_aka.c:186,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_aka.c:187,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_aka.c:188,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_aka.c:189,1
    - Dst: eap_aka_clear_keys
      Src: /src/hostap/src/eap_peer/eap_aka.c:190,1
    - Dst: crypto_rsa_key_free
      Src: /src/hostap/src/eap_peer/eap_aka.c:192,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_aka.c:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 196
    functionName: eap_aka_deinit
    functionSourceFile: /src/hostap/src/eap_peer/eap_aka.c
    functionUses: 0
    functionsReached:
    - os_free
    - crypto_rsa_key_free
    - eap_aka_clear_keys
    - wpabuf_free
    linkageType: ''
    returnType: void
    signature: void eap_aka_deinit(struct eap_sm *sm, void *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:203,1
    - Dst: os_snprintf
      Src: /src/hostap/src/eap_peer/eap_aka.c:206,1
    - Dst: os_snprintf
      Src: /src/hostap/src/eap_peer/eap_aka.c:207,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/eap_peer/eap_aka.c:208,1
    - Dst: os_snprintf
      Src: /src/hostap/src/eap_peer/eap_aka.c:209,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/eap_peer/eap_aka.c:210,1
    - Dst: eap_sm_request_sim
      Src: /src/hostap/src/eap_peer/eap_aka.c:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - sm
    - data
    argTypes:
    - struct eap_sm*
    - struct eap_aka_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 214
    functionName: eap_aka_ext_sim_req
    functionSourceFile: /src/hostap/src/eap_peer/eap_aka.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - wpa_printf
    - wpa_snprintf_hex
    - eap_sm_request_sim
    linkageType: ''
    returnType: int
    signature: int eap_aka_ext_sim_req(struct eap_sm *sm, struct eap_aka_data *data)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:222,1
    - Dst: os_strncmp
      Src: /src/hostap/src/eap_peer/eap_aka.c:228,1
    - Dst: hexstr2bin
      Src: /src/hostap/src/eap_peer/eap_aka.c:230,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_peer/eap_aka.c:232,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_aka.c:234,1
    - Dst: os_strncmp
      Src: /src/hostap/src/eap_peer/eap_aka.c:238,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:239,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_aka.c:240,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_aka.c:245,1
    - Dst: hexstr2bin
      Src: /src/hostap/src/eap_peer/eap_aka.c:247,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_peer/eap_aka.c:249,1
    - Dst: hexstr2bin
      Src: /src/hostap/src/eap_peer/eap_aka.c:255,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_peer/eap_aka.c:257,1
    - Dst: os_strlen
      Src: /src/hostap/src/eap_peer/eap_aka.c:263,1
    - Dst: hexstr2bin
      Src: /src/hostap/src/eap_peer/eap_aka.c:268,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_peer/eap_aka.c:270,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_aka.c:272,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:276,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_aka.c:277,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 55
    argCount: 3
    argNames:
    - sm
    - data
    - conf
    argTypes:
    - struct eap_sm*
    - struct eap_aka_data*
    - struct eap_peer_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 279
    functionName: eap_aka_ext_sim_result
    functionSourceFile: /src/hostap/src/eap_peer/eap_aka.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - wpa_hexdump_key
    - wpa_hexdump
    - hexstr2bin
    - os_strncmp
    - os_free
    linkageType: ''
    returnType: int
    signature: "int eap_aka_ext_sim_result(struct eap_sm *sm, struct eap_aka_data
      *data,\n\t\t\t\t  struct eap_peer_config *conf)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:286,1
    - Dst: eap_get_config
      Src: /src/hostap/src/eap_peer/eap_aka.c:288,1
    - Dst: eap_aka_ext_sim_result
      Src: /src/hostap/src/eap_peer/eap_aka.c:294,1
    - Dst: eap_aka_ext_sim_req
      Src: /src/hostap/src/eap_peer/eap_aka.c:296,1
    - Dst: scard_umts_auth
      Src: /src/hostap/src/eap_peer/eap_aka.c:300,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:309,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:312,1
    - Dst: hexstr2bin
      Src: /src/hostap/src/eap_peer/eap_aka.c:317,1
    - Dst: hexstr2bin
      Src: /src/hostap/src/eap_peer/eap_aka.c:324,1
    - Dst: hexstr2bin
      Src: /src/hostap/src/eap_peer/eap_aka.c:331,1
    - Dst: milenage_check
      Src: /src/hostap/src/eap_peer/eap_aka.c:334,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:341,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_peer/eap_aka.c:346,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_peer/eap_aka.c:348,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_peer/eap_aka.c:349,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_peer/eap_aka.c:352,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/eap_peer/eap_aka.c:353,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:354,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:373,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 55
    argCount: 2
    argNames:
    - sm
    - data
    argTypes:
    - struct eap_sm*
    - struct eap_aka_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 282
    functionDepth: 2
    functionLinenumber: 282
    functionLinenumberEnd: 378
    functionName: eap_aka_umts_auth
    functionSourceFile: /src/hostap/src/eap_peer/eap_aka.c
    functionUses: 0
    functionsReached:
    - eap_get_config
    - wpa_printf
    - hexstr2bin
    - scard_umts_auth
    - os_memcmp_const
    - eap_aka_ext_sim_result
    - eap_aka_ext_sim_req
    - milenage_check
    - os_memset
    linkageType: ''
    returnType: int
    signature: int eap_aka_umts_auth(struct eap_sm *sm, struct eap_aka_data *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:388,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_aka.c:389,1
    - Dst: eap_set_anon_id
      Src: /src/hostap/src/eap_peer/eap_aka.c:393,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:396,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_aka.c:397,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - sm
    - data
    - id
    argTypes:
    - struct eap_sm*
    - struct eap_aka_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 401
    functionName: eap_aka_clear_identities
    functionSourceFile: /src/hostap/src/eap_peer/eap_aka.c
    functionUses: 0
    functionsReached:
    - os_free
    - eap_set_anon_id
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: "void eap_aka_clear_identities(struct eap_sm *sm,\n\t\t\t\t     struct
      eap_aka_data *data, int id)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_peer/eap_aka.c:413,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_aka.c:417,1
    - Dst: eap_get_config_identity
      Src: /src/hostap/src/eap_peer/eap_aka.c:419,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_peer/eap_aka.c:427,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:430,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_aka.c:435,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_aka.c:438,1
    - Dst: eap_set_anon_id
      Src: /src/hostap/src/eap_peer/eap_aka.c:443,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_aka.c:448,1
    - Dst: os_memdup
      Src: /src/hostap/src/eap_peer/eap_aka.c:449,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:452,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_peer/eap_aka.c:458,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 3
    argNames:
    - sm
    - data
    - attr
    argTypes:
    - struct eap_sm*
    - struct eap_aka_data*
    - struct eap_sim_attrs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 465
    functionName: eap_aka_learn_ids
    functionSourceFile: /src/hostap/src/eap_peer/eap_aka.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - eap_set_anon_id
    - os_memdup
    - os_malloc
    - eap_get_config_identity
    - os_free
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: int
    signature: "int eap_aka_learn_ids(struct eap_sm *sm, struct eap_aka_data *data,\n\t\t\t
      \    struct eap_sim_attrs *attr)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_aka.c:476,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_aka.c:478,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eap_peer/eap_aka.c:481,1
    - Dst: wpabuf_resize
      Src: /src/hostap/src/eap_peer/eap_aka.c:484,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/eap_peer/eap_aka.c:488,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/eap_peer/eap_aka.c:490,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - data
    - msg1
    - msg2
    argTypes:
    - struct eap_aka_data*
    - struct wpabuf*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 493
    functionName: eap_aka_add_id_msg
    functionSourceFile: /src/hostap/src/eap_peer/eap_aka.c
    functionUses: 0
    functionsReached:
    - wpabuf_len
    - wpabuf_alloc
    - wpabuf_resize
    - wpabuf_put_buf
    linkageType: ''
    returnType: int
    signature: "int eap_aka_add_id_msg(struct eap_aka_data *data,\n\t\t\t      const
      struct wpabuf *msg1,\n\t\t\t      const struct wpabuf *msg2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:503,1
    - Dst: eap_sim_msg_add
      Src: /src/hostap/src/eap_peer/eap_aka.c:510,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_peer/eap_aka.c:515,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_aka.c:516,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_aka.c:517,1
    - Dst: sha256_vector
      Src: /src/hostap/src/eap_peer/eap_aka.c:520,1
    - Dst: sha1_vector
      Src: /src/hostap/src/eap_peer/eap_aka.c:523,1
    - Dst: eap_sim_msg_add
      Src: /src/hostap/src/eap_peer/eap_aka.c:525,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - data
    - msg
    argTypes:
    - struct eap_aka_data*
    - struct eap_sim_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 528
    functionName: eap_aka_add_checkcode
    functionSourceFile: /src/hostap/src/eap_peer/eap_aka.c
    functionUses: 0
    functionsReached:
    - sha256_vector
    - wpa_printf
    - wpa_hexdump
    - wpabuf_len
    - sha1_vector
    - wpabuf_head
    - eap_sim_msg_add
    linkageType: ''
    returnType: void
    signature: "void eap_aka_add_checkcode(struct eap_aka_data *data,\n\t\t\t\t  struct
      eap_sim_msg *msg)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:544,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:556,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_peer/eap_aka.c:563,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_aka.c:564,1
    - Dst: sha256_vector
      Src: /src/hostap/src/eap_peer/eap_aka.c:567,1
    - Dst: sha1_vector
      Src: /src/hostap/src/eap_peer/eap_aka.c:570,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/eap_peer/eap_aka.c:572,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:573,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - data
    - checkcode
    - checkcode_len
    argTypes:
    - struct eap_aka_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 531
    functionDepth: 1
    functionLinenumber: 531
    functionLinenumberEnd: 578
    functionName: eap_aka_verify_checkcode
    functionSourceFile: /src/hostap/src/eap_peer/eap_aka.c
    functionUses: 0
    functionsReached:
    - sha256_vector
    - wpa_printf
    - wpabuf_len
    - sha1_vector
    - wpabuf_head
    - os_memcmp_const
    linkageType: ''
    returnType: int
    signature: "int eap_aka_verify_checkcode(struct eap_aka_data *data,\n\t\t\t\t
      \   const u8 *checkcode, size_t checkcode_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eap_aka_state
      Src: /src/hostap/src/eap_peer/eap_aka.c:586,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:590,1
    - Dst: eap_sim_msg_init
      Src: /src/hostap/src/eap_peer/eap_aka.c:592,1
    - Dst: eap_sim_msg_add
      Src: /src/hostap/src/eap_peer/eap_aka.c:594,1
    - Dst: eap_sim_msg_finish
      Src: /src/hostap/src/eap_peer/eap_aka.c:595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - data
    - id
    - err
    argTypes:
    - struct eap_aka_data*
    - u8
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 581
    functionDepth: 1
    functionLinenumber: 581
    functionLinenumberEnd: 596
    functionName: eap_aka_client_error
    functionSourceFile: /src/hostap/src/eap_peer/eap_aka.c
    functionUses: 0
    functionsReached:
    - eap_sim_msg_finish
    - wpa_printf
    - eap_sim_msg_init
    - eap_sim_msg_add
    - eap_aka_state
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_aka_client_error(struct eap_aka_data *data, u8
      id,\n\t\t\t\t\t    int err)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eap_aka_state
      Src: /src/hostap/src/eap_peer/eap_aka.c:604,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:608,1
    - Dst: eap_sim_msg_init
      Src: /src/hostap/src/eap_peer/eap_aka.c:610,1
    - Dst: eap_sim_msg_finish
      Src: /src/hostap/src/eap_peer/eap_aka.c:612,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - data
    - id
    argTypes:
    - struct eap_aka_data*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 599
    functionDepth: 1
    functionLinenumber: 599
    functionLinenumberEnd: 613
    functionName: eap_aka_authentication_reject
    functionSourceFile: /src/hostap/src/eap_peer/eap_aka.c
    functionUses: 0
    functionsReached:
    - eap_aka_state
    - eap_sim_msg_init
    - wpa_printf
    - eap_sim_msg_finish
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_aka_authentication_reject(struct eap_aka_data
      *data,\n\t\t\t\t\t\t     u8 id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:624,1
    - Dst: eap_sim_msg_init
      Src: /src/hostap/src/eap_peer/eap_aka.c:626,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:628,1
    - Dst: eap_sim_msg_add_full
      Src: /src/hostap/src/eap_peer/eap_aka.c:629,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:635,1
    - Dst: eap_sim_msg_add
      Src: /src/hostap/src/eap_peer/eap_aka.c:636,1
    - Dst: eap_sim_msg_finish
      Src: /src/hostap/src/eap_peer/eap_aka.c:640,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - data
    - id
    - attr
    argTypes:
    - struct eap_aka_data*
    - u8
    - struct eap_sim_attrs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 616
    functionDepth: 1
    functionLinenumber: 616
    functionLinenumberEnd: 641
    functionName: eap_aka_synchronization_failure
    functionSourceFile: /src/hostap/src/eap_peer/eap_aka.c
    functionUses: 0
    functionsReached:
    - eap_sim_msg_finish
    - wpa_printf
    - eap_sim_msg_init
    - eap_sim_msg_add
    - eap_sim_msg_add_full
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_aka_synchronization_failure(\n\tstruct eap_aka_data
      *data, u8 id, struct eap_sim_attrs *attr)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_peer/eap_aka.c:654,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/eap_peer/eap_aka.c:657,1
    - Dst: crypto_rsa_oaep_sha256_encrypt
      Src: /src/hostap/src/eap_peer/eap_aka.c:660,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_aka.c:661,1
    - Dst: base64_encode_no_lf
      Src: /src/hostap/src/eap_peer/eap_aka.c:665,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_peer/eap_aka.c:665,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_aka.c:665,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_aka.c:666,1
    - Dst: os_strlen
      Src: /src/hostap/src/eap_peer/eap_aka.c:672,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eap_peer/eap_aka.c:673,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_aka.c:675,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/eap_aka.c:678,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_peer/eap_aka.c:679,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_aka.c:680,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/eap_aka.c:682,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/eap_peer/eap_aka.c:683,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_peer/eap_aka.c:685,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_peer/eap_aka.c:686,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_aka.c:686,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 4
    argNames:
    - imsi_privacy_key
    - identity
    - identity_len
    - attr
    argTypes:
    - struct crypto_rsa_key*
    - u8*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 689
    functionName: eap_aka_encrypt_identity
    functionSourceFile: /src/hostap/src/eap_peer/eap_aka.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpabuf_put_u8
    - crypto_rsa_oaep_sha256_encrypt
    - wpabuf_len
    - wpabuf_put_data
    - wpabuf_put_str
    - wpabuf_free
    - wpabuf_alloc_copy
    - base64_encode_no_lf
    - wpabuf_head
    - wpabuf_alloc
    - os_free
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf *\neap_aka_encrypt_identity(struct crypto_rsa_key *imsi_privacy_key,\n\t\t\t
      const u8 *identity, size_t identity_len,\n\t\t\t const char *attr)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: eap_sim_anonymous_username
      Src: /src/hostap/src/eap_peer/eap_aka.c:712,1
    - Dst: eap_aka_clear_identities
      Src: /src/hostap/src/eap_peer/eap_aka.c:716,1
    - Dst: eap_get_config_identity
      Src: /src/hostap/src/eap_peer/eap_aka.c:718,1
    - Dst: eap_sim_anonymous_username
      Src: /src/hostap/src/eap_peer/eap_aka.c:723,1
    - Dst: eap_aka_clear_identities
      Src: /src/hostap/src/eap_peer/eap_aka.c:726,1
    - Dst: eap_get_config
      Src: /src/hostap/src/eap_peer/eap_aka.c:728,1
    - Dst: eap_get_config
      Src: /src/hostap/src/eap_peer/eap_aka.c:736,1
    - Dst: eap_aka_encrypt_identity
      Src: /src/hostap/src/eap_peer/eap_aka.c:739,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:743,1
    - Dst: eap_aka_client_error
      Src: /src/hostap/src/eap_peer/eap_aka.c:745,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_aka.c:751,1
    - Dst: os_memdup
      Src: /src/hostap/src/eap_peer/eap_aka.c:752,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_peer/eap_aka.c:754,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_aka.c:755,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:760,1
    - Dst: eap_sim_msg_init
      Src: /src/hostap/src/eap_peer/eap_aka.c:761,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_peer/eap_aka.c:765,1
    - Dst: eap_sim_msg_add
      Src: /src/hostap/src/eap_peer/eap_aka.c:767,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_aka.c:773,1
    - Dst: os_memdup
      Src: /src/hostap/src/eap_peer/eap_aka.c:774,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_aka.c:781,1
    - Dst: os_memdup
      Src: /src/hostap/src/eap_peer/eap_aka.c:782,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_aka.c:786,1
    - Dst: eap_sim_msg_finish
      Src: /src/hostap/src/eap_peer/eap_aka.c:788,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 56
    argCount: 4
    argNames:
    - sm
    - data
    - id
    - id_req
    argTypes:
    - struct eap_sm*
    - struct eap_aka_data*
    - u8
    - enum eap_sim_id_req
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 693
    functionDepth: 2
    functionLinenumber: 693
    functionLinenumberEnd: 789
    functionName: eap_aka_response_identity
    functionSourceFile: /src/hostap/src/eap_peer/eap_aka.c
    functionUses: 0
    functionsReached:
    - eap_get_config
    - eap_sim_msg_finish
    - eap_aka_encrypt_identity
    - wpa_printf
    - eap_aka_clear_identities
    - wpabuf_len
    - os_memdup
    - wpabuf_free
    - wpabuf_head
    - eap_get_config_identity
    - eap_sim_msg_init
    - eap_sim_msg_add
    - eap_sim_anonymous_username
    - os_free
    - eap_aka_client_error
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_aka_response_identity(struct eap_sm *sm,\n\t\t\t\t\t\t
      struct eap_aka_data *data,\n\t\t\t\t\t\t u8 id,\n\t\t\t\t\t\t enum eap_sim_id_req
      id_req)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:797,1
    - Dst: eap_sim_msg_init
      Src: /src/hostap/src/eap_peer/eap_aka.c:798,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:800,1
    - Dst: eap_sim_msg_add
      Src: /src/hostap/src/eap_peer/eap_aka.c:801,1
    - Dst: eap_aka_add_checkcode
      Src: /src/hostap/src/eap_peer/eap_aka.c:803,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:805,1
    - Dst: eap_sim_msg_add
      Src: /src/hostap/src/eap_peer/eap_aka.c:806,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:808,1
    - Dst: eap_sim_msg_add_mac
      Src: /src/hostap/src/eap_peer/eap_aka.c:809,1
    - Dst: eap_sim_msg_finish
      Src: /src/hostap/src/eap_peer/eap_aka.c:810,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - data
    - id
    argTypes:
    - struct eap_aka_data*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 792
    functionDepth: 1
    functionLinenumber: 792
    functionLinenumberEnd: 812
    functionName: eap_aka_response_challenge
    functionSourceFile: /src/hostap/src/eap_peer/eap_aka.c
    functionUses: 0
    functionsReached:
    - eap_aka_add_checkcode
    - eap_sim_msg_finish
    - wpa_printf
    - eap_sim_msg_init
    - eap_sim_msg_add
    - eap_sim_msg_add_mac
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_aka_response_challenge(struct eap_aka_data *data,\n\t\t\t\t\t\t
      \ u8 id)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:822,1
    - Dst: eap_sim_msg_init
      Src: /src/hostap/src/eap_peer/eap_aka.c:824,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:826,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:827,1
    - Dst: eap_sim_msg_add_encr_start
      Src: /src/hostap/src/eap_peer/eap_aka.c:828,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:831,1
    - Dst: eap_sim_msg_add
      Src: /src/hostap/src/eap_peer/eap_aka.c:832,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:837,1
    - Dst: eap_sim_msg_add
      Src: /src/hostap/src/eap_peer/eap_aka.c:838,1
    - Dst: eap_sim_msg_add_encr_end
      Src: /src/hostap/src/eap_peer/eap_aka.c:840,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:841,1
    - Dst: eap_sim_msg_free
      Src: /src/hostap/src/eap_peer/eap_aka.c:843,1
    - Dst: eap_aka_add_checkcode
      Src: /src/hostap/src/eap_peer/eap_aka.c:846,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:848,1
    - Dst: eap_sim_msg_add
      Src: /src/hostap/src/eap_peer/eap_aka.c:849,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:851,1
    - Dst: eap_sim_msg_add_mac
      Src: /src/hostap/src/eap_peer/eap_aka.c:852,1
    - Dst: eap_sim_msg_finish
      Src: /src/hostap/src/eap_peer/eap_aka.c:853,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 4
    argNames:
    - data
    - id
    - counter_too_small
    - nonce_s
    argTypes:
    - struct eap_aka_data*
    - u8
    - int
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 815
    functionDepth: 1
    functionLinenumber: 815
    functionLinenumberEnd: 855
    functionName: eap_aka_response_reauth
    functionSourceFile: /src/hostap/src/eap_peer/eap_aka.c
    functionUses: 0
    functionsReached:
    - eap_aka_add_checkcode
    - eap_sim_msg_finish
    - eap_sim_msg_add_encr_start
    - wpa_printf
    - eap_sim_msg_add_encr_end
    - eap_sim_msg_free
    - eap_sim_msg_init
    - eap_sim_msg_add
    - eap_sim_msg_add_mac
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_aka_response_reauth(struct eap_aka_data *data,\n\t\t\t\t\t
      \      u8 id, int counter_too_small,\n\t\t\t\t\t       const u8 *nonce_s)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:864,1
    - Dst: eap_sim_msg_init
      Src: /src/hostap/src/eap_peer/eap_aka.c:865,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:868,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:869,1
    - Dst: eap_sim_msg_add_encr_start
      Src: /src/hostap/src/eap_peer/eap_aka.c:870,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:872,1
    - Dst: eap_sim_msg_add
      Src: /src/hostap/src/eap_peer/eap_aka.c:873,1
    - Dst: eap_sim_msg_add_encr_end
      Src: /src/hostap/src/eap_peer/eap_aka.c:875,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:877,1
    - Dst: eap_sim_msg_free
      Src: /src/hostap/src/eap_peer/eap_aka.c:879,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:884,1
    - Dst: eap_sim_msg_add_mac
      Src: /src/hostap/src/eap_peer/eap_aka.c:885,1
    - Dst: eap_sim_msg_finish
      Src: /src/hostap/src/eap_peer/eap_aka.c:887,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - data
    - id
    - notification
    argTypes:
    - struct eap_aka_data*
    - u8
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 858
    functionDepth: 1
    functionLinenumber: 858
    functionLinenumberEnd: 888
    functionName: eap_aka_response_notification
    functionSourceFile: /src/hostap/src/eap_peer/eap_aka.c
    functionUses: 0
    functionsReached:
    - eap_sim_msg_finish
    - eap_sim_msg_add_encr_start
    - wpa_printf
    - eap_sim_msg_add_encr_end
    - eap_sim_msg_free
    - eap_sim_msg_init
    - eap_sim_msg_add
    - eap_sim_msg_add_mac
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_aka_response_notification(struct eap_aka_data
      *data,\n\t\t\t\t\t\t     u8 id, u16 notification)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:900,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:923,1
    - Dst: eap_aka_client_error
      Src: /src/hostap/src/eap_peer/eap_aka.c:925,1
    - Dst: eap_aka_response_identity
      Src: /src/hostap/src/eap_peer/eap_aka.c:929,1
    - Dst: eap_aka_add_id_msg
      Src: /src/hostap/src/eap_peer/eap_aka.c:932,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:933,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_aka.c:935,1
    - Dst: eap_aka_client_error
      Src: /src/hostap/src/eap_peer/eap_aka.c:936,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 5
    argNames:
    - sm
    - data
    - id
    - reqData
    - attr
    argTypes:
    - struct eap_sm*
    - struct eap_aka_data*
    - u8
    - struct wpabuf*
    - struct eap_sim_attrs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 891
    functionDepth: 3
    functionLinenumber: 891
    functionLinenumberEnd: 943
    functionName: eap_aka_process_identity
    functionSourceFile: /src/hostap/src/eap_peer/eap_aka.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_free
    - eap_aka_response_identity
    - eap_aka_client_error
    - eap_aka_add_id_msg
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_aka_process_identity(struct eap_sm *sm,\n\t\t\t\t\t\tstruct
      eap_aka_data *data,\n\t\t\t\t\t\tu8 id,\n\t\t\t\t\t\tconst struct wpabuf *reqData,\n\t\t\t\t\t\tstruct
      eap_sim_attrs *attr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_sim_verify_mac_sha256
      Src: /src/hostap/src/eap_peer/eap_aka.c:952,1
    - Dst: eap_sim_verify_mac
      Src: /src/hostap/src/eap_peer/eap_aka.c:954,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - data
    - req
    - mac
    - extra
    - extra_len
    argTypes:
    - struct eap_aka_data*
    - struct wpabuf*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 946
    functionDepth: 1
    functionLinenumber: 946
    functionLinenumberEnd: 955
    functionName: eap_aka_verify_mac
    functionSourceFile: /src/hostap/src/eap_peer/eap_aka.c
    functionUses: 0
    functionsReached:
    - eap_sim_verify_mac
    - eap_sim_verify_mac_sha256
    linkageType: ''
    returnType: int
    signature: "int eap_aka_verify_mac(struct eap_aka_data *data,\n\t\t\t      const
      struct wpabuf *req,\n\t\t\t      const u8 *mac, const u8 *extra,\n\t\t\t      size_t
      extra_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:966,1
    - Dst: eap_sim_msg_init
      Src: /src/hostap/src/eap_peer/eap_aka.c:968,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:970,1
    - Dst: eap_sim_msg_add
      Src: /src/hostap/src/eap_peer/eap_aka.c:971,1
    - Dst: eap_sim_msg_finish
      Src: /src/hostap/src/eap_peer/eap_aka.c:972,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - data
    - id
    - kdf
    argTypes:
    - struct eap_aka_data*
    - u8
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 959
    functionDepth: 1
    functionLinenumber: 959
    functionLinenumberEnd: 973
    functionName: eap_aka_prime_kdf_select
    functionSourceFile: /src/hostap/src/eap_peer/eap_aka.c
    functionUses: 0
    functionsReached:
    - eap_sim_msg_finish
    - eap_sim_msg_init
    - wpa_printf
    - eap_sim_msg_add
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_aka_prime_kdf_select(struct eap_aka_data *data,\n\t\t\t\t\t\tu8
      id, u16 kdf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_aka.c:983,1
    - Dst: eap_aka_prime_kdf_select
      Src: /src/hostap/src/eap_peer/eap_aka.c:986,1
    - Dst: eap_aka_authentication_reject
      Src: /src/hostap/src/eap_peer/eap_aka.c:993,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - data
    - id
    - attr
    argTypes:
    - struct eap_aka_data*
    - u8
    - struct eap_sim_attrs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 976
    functionDepth: 2
    functionLinenumber: 976
    functionLinenumberEnd: 994
    functionName: eap_aka_prime_kdf_neg
    functionSourceFile: /src/hostap/src/eap_peer/eap_aka.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - eap_aka_authentication_reject
    - eap_aka_prime_kdf_select
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_aka_prime_kdf_neg(struct eap_aka_data *data,\n\t\t\t\t\t
      \    u8 id, struct eap_sim_attrs *attr)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:1016,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:1023,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:1030,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:1040,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 2
    argNames:
    - data
    - attr
    argTypes:
    - struct eap_aka_data*
    - struct eap_sim_attrs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 997
    functionDepth: 0
    functionLinenumber: 997
    functionLinenumberEnd: 1048
    functionName: eap_aka_prime_kdf_valid
    functionSourceFile: /src/hostap/src/eap_peer/eap_aka.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int eap_aka_prime_kdf_valid(struct eap_aka_data *data,\n\t\t\t\t   struct
      eap_sim_attrs *attr)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:1063,1
    - Dst: eap_aka_verify_checkcode
      Src: /src/hostap/src/eap_peer/eap_aka.c:1066,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:1068,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:1071,1
    - Dst: eap_aka_client_error
      Src: /src/hostap/src/eap_peer/eap_aka.c:1074,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:1082,1
    - Dst: eap_aka_authentication_reject
      Src: /src/hostap/src/eap_peer/eap_aka.c:1085,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_aka.c:1087,1
    - Dst: os_memdup
      Src: /src/hostap/src/eap_peer/eap_aka.c:1088,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:1091,1
    - Dst: eap_aka_authentication_reject
      Src: /src/hostap/src/eap_peer/eap_aka.c:1093,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_peer/eap_aka.c:1096,1
    - Dst: eap_aka_prime_kdf_valid
      Src: /src/hostap/src/eap_peer/eap_aka.c:1101,1
    - Dst: eap_aka_authentication_reject
      Src: /src/hostap/src/eap_peer/eap_aka.c:1103,1
    - Dst: eap_aka_client_error
      Src: /src/hostap/src/eap_peer/eap_aka.c:1105,1
    - Dst: eap_aka_prime_kdf_neg
      Src: /src/hostap/src/eap_peer/eap_aka.c:1109,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:1112,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_peer/eap_aka.c:1116,1
    - Dst: eap_allowed_method
      Src: /src/hostap/src/eap_peer/eap_aka.c:1118,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:1120,1
    - Dst: eap_aka_authentication_reject
      Src: /src/hostap/src/eap_peer/eap_aka.c:1123,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:1130,1
    - Dst: eap_aka_client_error
      Src: /src/hostap/src/eap_peer/eap_aka.c:1135,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_aka.c:1138,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_aka.c:1139,1
    - Dst: eap_aka_umts_auth
      Src: /src/hostap/src/eap_peer/eap_aka.c:1141,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:1143,1
    - Dst: eap_aka_authentication_reject
      Src: /src/hostap/src/eap_peer/eap_aka.c:1145,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:1147,1
    - Dst: eap_aka_synchronization_failure
      Src: /src/hostap/src/eap_peer/eap_aka.c:1149,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:1151,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:1154,1
    - Dst: eap_aka_client_error
      Src: /src/hostap/src/eap_peer/eap_aka.c:1155,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_peer/eap_aka.c:1162,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:1164,1
    - Dst: eap_aka_authentication_reject
      Src: /src/hostap/src/eap_peer/eap_aka.c:1166,1
    - Dst: eap_aka_prime_derive_ck_ik_prime
      Src: /src/hostap/src/eap_peer/eap_aka.c:1168,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_peer/eap_aka.c:1177,1
    - Dst: eap_aka_prime_derive_keys
      Src: /src/hostap/src/eap_peer/eap_aka.c:1180,1
    - Dst: eap_aka_derive_mk
      Src: /src/hostap/src/eap_peer/eap_aka.c:1184,1
    - Dst: eap_sim_derive_keys
      Src: /src/hostap/src/eap_peer/eap_aka.c:1186,1
    - Dst: eap_aka_verify_mac
      Src: /src/hostap/src/eap_peer/eap_aka.c:1189,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:1190,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:1193,1
    - Dst: eap_aka_client_error
      Src: /src/hostap/src/eap_peer/eap_aka.c:1196,1
    - Dst: eap_aka_clear_identities
      Src: /src/hostap/src/eap_peer/eap_aka.c:1205,1
    - Dst: eap_sim_parse_encr
      Src: /src/hostap/src/eap_peer/eap_aka.c:1209,1
    - Dst: eap_aka_client_error
      Src: /src/hostap/src/eap_peer/eap_aka.c:1213,1
    - Dst: eap_aka_learn_ids
      Src: /src/hostap/src/eap_peer/eap_aka.c:1216,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_aka.c:1217,1
    - Dst: eap_aka_state
      Src: /src/hostap/src/eap_peer/eap_aka.c:1224,1
    - Dst: eap_aka_response_challenge
      Src: /src/hostap/src/eap_peer/eap_aka.c:1234,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 99
    argCount: 5
    argNames:
    - sm
    - data
    - id
    - reqData
    - attr
    argTypes:
    - struct eap_sm*
    - struct eap_aka_data*
    - u8
    - struct wpabuf*
    - struct eap_sim_attrs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1235
      start: 1052
    functionDepth: 3
    functionLinenumber: 1052
    functionLinenumberEnd: 1235
    functionName: eap_aka_process_challenge
    functionSourceFile: /src/hostap/src/eap_peer/eap_aka.c
    functionUses: 0
    functionsReached:
    - eap_aka_prime_kdf_neg
    - eap_aka_clear_identities
    - eap_aka_response_challenge
    - eap_aka_learn_ids
    - wpa_hexdump_ascii
    - wpa_printf
    - eap_aka_authentication_reject
    - WPA_GET_BE16
    - os_memdup
    - eap_aka_umts_auth
    - eap_sim_derive_keys
    - eap_sim_parse_encr
    - os_free
    - eap_aka_verify_mac
    - eap_allowed_method
    - eap_aka_prime_derive_ck_ik_prime
    - eap_aka_prime_kdf_valid
    - eap_aka_state
    - eap_aka_client_error
    - os_memcpy
    - eap_aka_verify_checkcode
    - eap_aka_prime_derive_keys
    - eap_aka_derive_mk
    - eap_aka_synchronization_failure
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_aka_process_challenge(struct eap_sm *sm,\n\t\t\t\t\t\t
      struct eap_aka_data *data,\n\t\t\t\t\t\t u8 id,\n\t\t\t\t\t\t const struct wpabuf
      *reqData,\n\t\t\t\t\t\t struct eap_sim_attrs *attr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:1245,1
    - Dst: eap_sim_parse_encr
      Src: /src/hostap/src/eap_peer/eap_aka.c:1250,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:1254,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:1260,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_aka.c:1263,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_aka.c:1267,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - data
    - attr
    argTypes:
    - struct eap_aka_data*
    - struct eap_sim_attrs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1269
      start: 1238
    functionDepth: 1
    functionLinenumber: 1238
    functionLinenumberEnd: 1269
    functionName: eap_aka_process_notification_reauth
    functionSourceFile: /src/hostap/src/eap_peer/eap_aka.c
    functionUses: 0
    functionsReached:
    - os_free
    - eap_sim_parse_encr
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int eap_aka_process_notification_reauth(struct eap_aka_data *data,\n\t\t\t\t\t
      \      struct eap_sim_attrs *attr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:1277,1
    - Dst: eap_aka_verify_mac
      Src: /src/hostap/src/eap_peer/eap_aka.c:1282,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:1283,1
    - Dst: eap_aka_process_notification_reauth
      Src: /src/hostap/src/eap_peer/eap_aka.c:1289,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:1290,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - data
    - reqData
    - attr
    argTypes:
    - struct eap_aka_data*
    - struct wpabuf*
    - struct eap_sim_attrs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1296
      start: 1272
    functionDepth: 2
    functionLinenumber: 1272
    functionLinenumberEnd: 1296
    functionName: eap_aka_process_notification_auth
    functionSourceFile: /src/hostap/src/eap_peer/eap_aka.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_aka_process_notification_reauth
    - eap_aka_verify_mac
    linkageType: ''
    returnType: int
    signature: "int eap_aka_process_notification_auth(struct eap_aka_data *data,\n\t\t\t\t\t
      \    const struct wpabuf *reqData,\n\t\t\t\t\t     struct eap_sim_attrs *attr)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:1303,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:1305,1
    - Dst: eap_aka_client_error
      Src: /src/hostap/src/eap_peer/eap_aka.c:1307,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:1312,1
    - Dst: eap_aka_client_error
      Src: /src/hostap/src/eap_peer/eap_aka.c:1314,1
    - Dst: eap_aka_process_notification_auth
      Src: /src/hostap/src/eap_peer/eap_aka.c:1319,1
    - Dst: eap_aka_client_error
      Src: /src/hostap/src/eap_peer/eap_aka.c:1320,1
    - Dst: eap_sim_report_notification
      Src: /src/hostap/src/eap_peer/eap_aka.c:1324,1
    - Dst: eap_aka_state
      Src: /src/hostap/src/eap_peer/eap_aka.c:1327,1
    - Dst: eap_aka_state
      Src: /src/hostap/src/eap_peer/eap_aka.c:1330,1
    - Dst: eap_aka_response_notification
      Src: /src/hostap/src/eap_peer/eap_aka.c:1331,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 5
    argNames:
    - sm
    - data
    - id
    - reqData
    - attr
    argTypes:
    - struct eap_sm*
    - struct eap_aka_data*
    - u8
    - struct wpabuf*
    - struct eap_sim_attrs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1332
      start: 1299
    functionDepth: 3
    functionLinenumber: 1299
    functionLinenumberEnd: 1332
    functionName: eap_aka_process_notification
    functionSourceFile: /src/hostap/src/eap_peer/eap_aka.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_sim_report_notification
    - eap_aka_response_notification
    - eap_aka_process_notification_auth
    - eap_aka_state
    - eap_aka_client_error
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_aka_process_notification(\n\tstruct eap_sm *sm,
      struct eap_aka_data *data, u8 id,\n\tconst struct wpabuf *reqData, struct eap_sim_attrs
      *attr)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:1342,1
    - Dst: eap_aka_verify_checkcode
      Src: /src/hostap/src/eap_peer/eap_aka.c:1345,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:1348,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:1351,1
    - Dst: eap_aka_client_error
      Src: /src/hostap/src/eap_peer/eap_aka.c:1354,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:1359,1
    - Dst: eap_aka_client_error
      Src: /src/hostap/src/eap_peer/eap_aka.c:1361,1
    - Dst: eap_aka_verify_mac
      Src: /src/hostap/src/eap_peer/eap_aka.c:1366,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:1367,1
    - Dst: eap_aka_client_error
      Src: /src/hostap/src/eap_peer/eap_aka.c:1369,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_aka.c:1377,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_aka.c:1378,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:1382,1
    - Dst: eap_aka_client_error
      Src: /src/hostap/src/eap_peer/eap_aka.c:1384,1
    - Dst: eap_sim_parse_encr
      Src: /src/hostap/src/eap_peer/eap_aka.c:1388,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:1392,1
    - Dst: eap_aka_client_error
      Src: /src/hostap/src/eap_peer/eap_aka.c:1394,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:1399,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_aka.c:1402,1
    - Dst: eap_aka_client_error
      Src: /src/hostap/src/eap_peer/eap_aka.c:1403,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:1409,1
    - Dst: eap_aka_clear_identities
      Src: /src/hostap/src/eap_peer/eap_aka.c:1416,1
    - Dst: eap_aka_response_reauth
      Src: /src/hostap/src/eap_peer/eap_aka.c:1418,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_aka.c:1419,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_aka.c:1425,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_aka.c:1426,1
    - Dst: eap_aka_prime_derive_keys_reauth
      Src: /src/hostap/src/eap_peer/eap_aka.c:1430,1
    - Dst: eap_sim_derive_keys_reauth
      Src: /src/hostap/src/eap_peer/eap_aka.c:1436,1
    - Dst: eap_aka_clear_identities
      Src: /src/hostap/src/eap_peer/eap_aka.c:1441,1
    - Dst: eap_aka_learn_ids
      Src: /src/hostap/src/eap_peer/eap_aka.c:1442,1
    - Dst: eap_aka_state
      Src: /src/hostap/src/eap_peer/eap_aka.c:1448,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:1455,1
    - Dst: eap_aka_clear_identities
      Src: /src/hostap/src/eap_peer/eap_aka.c:1457,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_aka.c:1459,1
    - Dst: eap_aka_response_reauth
      Src: /src/hostap/src/eap_peer/eap_aka.c:1460,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 63
    argCount: 5
    argNames:
    - sm
    - data
    - id
    - reqData
    - attr
    argTypes:
    - struct eap_sm*
    - struct eap_aka_data*
    - u8
    - struct wpabuf*
    - struct eap_sim_attrs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1461
      start: 1335
    functionDepth: 2
    functionLinenumber: 1335
    functionLinenumberEnd: 1461
    functionName: eap_aka_process_reauthentication
    functionSourceFile: /src/hostap/src/eap_peer/eap_aka.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - eap_aka_response_reauth
    - wpa_hexdump
    - eap_aka_verify_checkcode
    - eap_aka_clear_identities
    - eap_sim_derive_keys_reauth
    - eap_aka_prime_derive_keys_reauth
    - eap_sim_parse_encr
    - os_free
    - eap_aka_client_error
    - eap_aka_state
    - eap_aka_learn_ids
    - eap_aka_verify_mac
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_aka_process_reauthentication(\n\tstruct eap_sm
      *sm, struct eap_aka_data *data, u8 id,\n\tconst struct wpabuf *reqData, struct
      eap_sim_attrs *attr)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/eap_peer/eap_aka.c:1476,1
    - Dst: eap_get_config_identity
      Src: /src/hostap/src/eap_peer/eap_aka.c:1477,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:1478,1
    - Dst: eap_sm_request_identity
      Src: /src/hostap/src/eap_peer/eap_aka.c:1479,1
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_peer/eap_aka.c:1484,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_peer/eap_aka.c:1490,1
    - Dst: be_to_host16
      Src: /src/hostap/src/eap_peer/eap_aka.c:1492,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:1500,1
    - Dst: eap_sim_parse_attr
      Src: /src/hostap/src/eap_peer/eap_aka.c:1503,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/eap_peer/eap_aka.c:1503,1
    - Dst: eap_aka_client_error
      Src: /src/hostap/src/eap_peer/eap_aka.c:1506,1
    - Dst: eap_aka_process_identity
      Src: /src/hostap/src/eap_peer/eap_aka.c:1513,1
    - Dst: eap_aka_process_challenge
      Src: /src/hostap/src/eap_peer/eap_aka.c:1516,1
    - Dst: eap_aka_process_notification
      Src: /src/hostap/src/eap_peer/eap_aka.c:1519,1
    - Dst: eap_aka_process_reauthentication
      Src: /src/hostap/src/eap_peer/eap_aka.c:1523,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:1527,1
    - Dst: eap_aka_client_error
      Src: /src/hostap/src/eap_peer/eap_aka.c:1528,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_aka.c:1532,1
    - Dst: eap_aka_client_error
      Src: /src/hostap/src/eap_peer/eap_aka.c:1533,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 66
    argCount: 4
    argNames:
    - sm
    - priv
    - ret
    - reqData
    argTypes:
    - struct eap_sm*
    - void*
    - struct eap_method_ret*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1560
      start: 1464
    functionDepth: 3
    functionLinenumber: 1464
    functionLinenumberEnd: 1560
    functionName: eap_aka_process
    functionSourceFile: /src/hostap/src/eap_peer/eap_aka.c
    functionUses: 0
    functionsReached:
    - be_to_host16
    - wpa_printf
    - wpabuf_head_u8
    - eap_aka_process_reauthentication
    - eap_aka_process_notification
    - eap_sm_request_identity
    - wpabuf_head
    - eap_get_config_identity
    - eap_sim_parse_attr
    - eap_hdr_validate
    - eap_aka_client_error
    - eap_aka_process_identity
    - eap_aka_process_challenge
    - wpa_hexdump_buf
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_aka_process(struct eap_sm *sm, void *priv,\n\t\t\t\t
      \      struct eap_method_ret *ret,\n\t\t\t\t       const struct wpabuf *reqData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1567
      start: 1563
    functionDepth: 0
    functionLinenumber: 1563
    functionLinenumberEnd: 1567
    functionName: eap_aka_has_reauth_data
    functionSourceFile: /src/hostap/src/eap_peer/eap_aka.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool eap_aka_has_reauth_data(struct eap_sm *sm, void *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_aka.c:1574,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_aka.c:1578,1
    - Dst: eap_aka_clear_keys
      Src: /src/hostap/src/eap_peer/eap_aka.c:1582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1583
      start: 1570
    functionDepth: 1
    functionLinenumber: 1570
    functionLinenumberEnd: 1583
    functionName: eap_aka_deinit_for_reauth
    functionSourceFile: /src/hostap/src/eap_peer/eap_aka.c
    functionUses: 0
    functionsReached:
    - os_free
    - eap_aka_clear_keys
    - wpabuf_free
    linkageType: ''
    returnType: void
    signature: void eap_aka_deinit_for_reauth(struct eap_sm *sm, void *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_aka.c:1593,1
    - Dst: os_memdup
      Src: /src/hostap/src/eap_peer/eap_aka.c:1594,1
    - Dst: eap_aka_state
      Src: /src/hostap/src/eap_peer/eap_aka.c:1600,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1602
      start: 1586
    functionDepth: 0
    functionLinenumber: 1586
    functionLinenumberEnd: 1602
    functionName: eap_aka_init_for_reauth
    functionSourceFile: /src/hostap/src/eap_peer/eap_aka.c
    functionUses: 0
    functionsReached:
    - os_free
    - os_memdup
    - eap_aka_state
    linkageType: ''
    returnType: void
    signature: void * eap_aka_init_for_reauth(struct eap_sm *sm, void *priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1621
      start: 1605
    functionDepth: 0
    functionLinenumber: 1605
    functionLinenumberEnd: 1621
    functionName: eap_aka_get_identity
    functionSourceFile: /src/hostap/src/eap_peer/eap_aka.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: "u8 * eap_aka_get_identity(struct eap_sm *sm, void *priv,\n\t\t\t\t
      \      size_t *len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1628
      start: 1624
    functionDepth: 0
    functionLinenumber: 1624
    functionLinenumberEnd: 1628
    functionName: eap_aka_isKeyAvailable
    functionSourceFile: /src/hostap/src/eap_peer/eap_aka.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool eap_aka_isKeyAvailable(struct eap_sm *sm, void *priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memdup
      Src: /src/hostap/src/eap_peer/eap_aka.c:1639,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1646
      start: 1631
    functionDepth: 0
    functionLinenumber: 1631
    functionLinenumberEnd: 1646
    functionName: eap_aka_getKey
    functionSourceFile: /src/hostap/src/eap_peer/eap_aka.c
    functionUses: 0
    functionsReached:
    - os_memdup
    linkageType: ''
    returnType: u8
    signature: u8 * eap_aka_getKey(struct eap_sm *sm, void *priv, size_t *len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/eap_peer/eap_aka.c:1661,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_aka.c:1667,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_aka.c:1668,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_aka.c:1671,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_aka.c:1672,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_aka.c:1675,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1678
      start: 1649
    functionDepth: 0
    functionLinenumber: 1649
    functionLinenumberEnd: 1678
    functionName: eap_aka_get_session_id
    functionSourceFile: /src/hostap/src/eap_peer/eap_aka.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - os_malloc
    - wpa_hexdump
    linkageType: ''
    returnType: u8
    signature: u8 * eap_aka_get_session_id(struct eap_sm *sm, void *priv, size_t *len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memdup
      Src: /src/hostap/src/eap_peer/eap_aka.c:1689,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1696
      start: 1681
    functionDepth: 0
    functionLinenumber: 1681
    functionLinenumberEnd: 1696
    functionName: eap_aka_get_emsk
    functionSourceFile: /src/hostap/src/eap_peer/eap_aka.c
    functionUses: 0
    functionsReached:
    - os_memdup
    linkageType: ''
    returnType: u8
    signature: u8 * eap_aka_get_emsk(struct eap_sm *sm, void *priv, size_t *len)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1713
      start: 1699
    functionDepth: 0
    functionLinenumber: 1699
    functionLinenumberEnd: 1713
    functionName: eap_aka_get_error_code
    functionSourceFile: /src/hostap/src/eap_peer/eap_aka.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int eap_aka_get_error_code(void *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_peer_method_alloc
      Src: /src/hostap/src/eap_peer/eap_aka.c:1720,1
    - Dst: eap_peer_method_register
      Src: /src/hostap/src/eap_peer/eap_aka.c:1738,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1739
      start: 1716
    functionDepth: 0
    functionLinenumber: 1716
    functionLinenumberEnd: 1739
    functionName: eap_peer_aka_register
    functionSourceFile: /src/hostap/src/eap_peer/eap_aka.c
    functionUses: 2
    functionsReached:
    - eap_peer_method_register
    - eap_peer_method_alloc
    linkageType: ''
    returnType: int
    signature: int eap_peer_aka_register(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_peer_method_alloc
      Src: /src/hostap/src/eap_peer/eap_aka.c:1747,1
    - Dst: eap_peer_method_register
      Src: /src/hostap/src/eap_peer/eap_aka.c:1766,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1767
      start: 1743
    functionDepth: 0
    functionLinenumber: 1743
    functionLinenumberEnd: 1767
    functionName: eap_peer_aka_prime_register
    functionSourceFile: /src/hostap/src/eap_peer/eap_aka.c
    functionUses: 1
    functionsReached:
    - eap_peer_method_register
    - eap_peer_method_alloc
    linkageType: ''
    returnType: int
    signature: int eap_peer_aka_prime_register(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_peer/eap_vendor_test.c:37,1
    - Dst: eap_get_config_password
      Src: /src/hostap/src/eap_peer/eap_vendor_test.c:43,1
    - Dst: os_memcmp
      Src: /src/hostap/src/eap_peer/eap_vendor_test.c:45,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 48
    functionName: eap_vendor_test_init
    functionSourceFile: /src/hostap/src/eap_peer/eap_vendor_test.c
    functionUses: 0
    functionsReached:
    - os_zalloc
    - os_memcmp
    - eap_get_config_password
    linkageType: ''
    returnType: void
    signature: void * eap_vendor_test_init(struct eap_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_vendor_test.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: eap_vendor_test_deinit
    functionSourceFile: /src/hostap/src/eap_peer/eap_vendor_test.c
    functionUses: 0
    functionsReached:
    - os_free
    linkageType: ''
    returnType: void
    signature: void eap_vendor_test_deinit(struct eap_sm *sm, void *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_vendor_test.c:61,1
    - Dst: eap_notify_pending
      Src: /src/hostap/src/eap_peer/eap_vendor_test.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: eap_vendor_ready
    functionSourceFile: /src/hostap/src/eap_peer/eap_vendor_test.c
    functionUses: 0
    functionsReached:
    - eap_notify_pending
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void eap_vendor_ready(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_peer/eap_vendor_test.c:76,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_vendor_test.c:83,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_vendor_test.c:90,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_vendor_test.c:97,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_vendor_test.c:106,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/eap_peer/eap_vendor_test.c:109,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_vendor_test.c:117,1
    - Dst: eap_msg_alloc
      Src: /src/hostap/src/eap_peer/eap_vendor_test.c:120,1
    - Dst: eap_get_id
      Src: /src/hostap/src/eap_peer/eap_vendor_test.c:121,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/eap_vendor_test.c:126,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/eap_vendor_test.c:131,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 4
    argNames:
    - sm
    - priv
    - ret
    - reqData
    argTypes:
    - struct eap_sm*
    - void*
    - struct eap_method_ret*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 138
    functionName: eap_vendor_test_process
    functionSourceFile: /src/hostap/src/eap_peer/eap_vendor_test.c
    functionUses: 0
    functionsReached:
    - eap_get_id
    - wpa_printf
    - wpabuf_put_u8
    - eap_msg_alloc
    - eloop_register_timeout
    - eap_hdr_validate
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_vendor_test_process(struct eap_sm *sm, void *priv,\n\t\t\t\t\t
      \      struct eap_method_ret *ret,\n\t\t\t\t\t       const struct wpabuf *reqData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: eap_vendor_test_isKeyAvailable
    functionSourceFile: /src/hostap/src/eap_peer/eap_vendor_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool eap_vendor_test_isKeyAvailable(struct eap_sm *sm, void *priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/eap_peer/eap_vendor_test.c:157,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_peer/eap_vendor_test.c:161,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_peer/eap_vendor_test.c:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 166
    functionName: eap_vendor_test_getKey
    functionSourceFile: /src/hostap/src/eap_peer/eap_vendor_test.c
    functionUses: 0
    functionsReached:
    - os_malloc
    - os_memset
    linkageType: ''
    returnType: u8
    signature: u8 * eap_vendor_test_getKey(struct eap_sm *sm, void *priv, size_t *len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_peer_method_alloc
      Src: /src/hostap/src/eap_peer/eap_vendor_test.c:173,1
    - Dst: eap_peer_method_register
      Src: /src/hostap/src/eap_peer/eap_vendor_test.c:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 186
    functionName: eap_peer_vendor_test_register
    functionSourceFile: /src/hostap/src/eap_peer/eap_vendor_test.c
    functionUses: 1
    functionsReached:
    - eap_peer_method_register
    - eap_peer_method_alloc
    linkageType: ''
    returnType: int
    signature: int eap_peer_vendor_test_register(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 21
    functionName: eap_md5_init
    functionSourceFile: /src/hostap/src/eap_peer/eap_md5.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * eap_md5_init(struct eap_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 26
    functionName: eap_md5_deinit
    functionSourceFile: /src/hostap/src/eap_peer/eap_md5.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void eap_md5_deinit(struct eap_sm *sm, void *priv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: eap_get_config_password
      Src: /src/hostap/src/eap_peer/eap_md5.c:38,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_md5.c:40,1
    - Dst: eap_sm_request_password
      Src: /src/hostap/src/eap_peer/eap_md5.c:41,1
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_peer/eap_md5.c:46,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_md5.c:48,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_md5.c:60,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_md5.c:68,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_md5.c:71,1
    - Dst: eap_msg_alloc
      Src: /src/hostap/src/eap_peer/eap_md5.c:76,1
    - Dst: eap_get_id
      Src: /src/hostap/src/eap_peer/eap_md5.c:77,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/eap_md5.c:85,1
    - Dst: eap_get_id
      Src: /src/hostap/src/eap_peer/eap_md5.c:87,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/eap_md5.c:88,1
    - Dst: chap_md5
      Src: /src/hostap/src/eap_peer/eap_md5.c:89,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_md5.c:91,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_md5.c:93,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_md5.c:96,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 41
    argCount: 4
    argNames:
    - sm
    - priv
    - ret
    - reqData
    argTypes:
    - struct eap_sm*
    - void*
    - struct eap_method_ret*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 99
    functionName: eap_md5_process
    functionSourceFile: /src/hostap/src/eap_peer/eap_md5.c
    functionUses: 0
    functionsReached:
    - eap_get_id
    - wpa_printf
    - wpabuf_put
    - wpa_hexdump
    - wpabuf_put_u8
    - eap_msg_alloc
    - wpabuf_free
    - chap_md5
    - eap_sm_request_password
    - eap_hdr_validate
    - eap_get_config_password
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_md5_process(struct eap_sm *sm, void *priv,\n\t\t\t\t
      \      struct eap_method_ret *ret,\n\t\t\t\t       const struct wpabuf *reqData)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_peer_method_alloc
      Src: /src/hostap/src/eap_peer/eap_md5.c:106,1
    - Dst: eap_peer_method_register
      Src: /src/hostap/src/eap_peer/eap_md5.c:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 116
    functionName: eap_peer_md5_register
    functionSourceFile: /src/hostap/src/eap_peer/eap_md5.c
    functionUses: 1
    functionsReached:
    - eap_peer_method_register
    - eap_peer_method_alloc
    linkageType: ''
    returnType: int
    signature: int eap_peer_md5_register(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_peer/eap_leap.c:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 50
    functionName: eap_leap_init
    functionSourceFile: /src/hostap/src/eap_peer/eap_leap.c
    functionUses: 0
    functionsReached:
    - os_zalloc
    linkageType: ''
    returnType: void
    signature: void * eap_leap_init(struct eap_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_leap.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: eap_leap_deinit
    functionSourceFile: /src/hostap/src/eap_peer/eap_leap.c
    functionUses: 0
    functionsReached:
    - os_free
    linkageType: ''
    returnType: void
    signature: void eap_leap_deinit(struct eap_sm *sm, void *priv)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_leap.c:70,1
    - Dst: eap_get_config_identity
      Src: /src/hostap/src/eap_peer/eap_leap.c:72,1
    - Dst: eap_get_config_password2
      Src: /src/hostap/src/eap_peer/eap_leap.c:73,1
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_peer/eap_leap.c:77,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_leap.c:79,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_leap.c:85,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_leap.c:96,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_leap.c:98,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_leap.c:103,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_leap.c:104,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_leap.c:107,1
    - Dst: eap_msg_alloc
      Src: /src/hostap/src/eap_peer/eap_leap.c:109,1
    - Dst: eap_get_id
      Src: /src/hostap/src/eap_peer/eap_leap.c:111,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/eap_leap.c:114,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/eap_leap.c:115,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/eap_leap.c:116,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/eap_leap.c:117,1
    - Dst: challenge_response
      Src: /src/hostap/src/eap_peer/eap_leap.c:118,1
    - Dst: nt_challenge_response
      Src: /src/hostap/src/eap_peer/eap_leap.c:120,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_leap.c:121,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_leap.c:123,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_leap.c:126,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_leap.c:127,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_peer/eap_leap.c:129,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 4
    argNames:
    - sm
    - priv
    - ret
    - reqData
    argTypes:
    - struct eap_sm*
    - void*
    - struct eap_method_ret*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 134
    functionName: eap_leap_process_request
    functionSourceFile: /src/hostap/src/eap_peer/eap_leap.c
    functionUses: 0
    functionsReached:
    - eap_get_config_password2
    - eap_get_id
    - wpa_printf
    - os_memcpy
    - wpabuf_put
    - wpa_hexdump
    - wpabuf_put_u8
    - wpabuf_len
    - wpabuf_put_data
    - challenge_response
    - eap_msg_alloc
    - wpabuf_free
    - eap_get_config_identity
    - eap_hdr_validate
    - nt_challenge_response
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_leap_process_request(struct eap_sm *sm, void *priv,\n\t\t\t\t\t\tstruct
      eap_method_ret *ret,\n\t\t\t\t\t\tconst struct wpabuf *reqData)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_leap.c:147,1
    - Dst: eap_get_config_identity
      Src: /src/hostap/src/eap_peer/eap_leap.c:149,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_leap.c:154,1
    - Dst: eap_msg_alloc
      Src: /src/hostap/src/eap_peer/eap_leap.c:160,1
    - Dst: eap_get_id
      Src: /src/hostap/src/eap_peer/eap_leap.c:162,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/eap_leap.c:165,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/eap_leap.c:166,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/eap_leap.c:167,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/eap_leap.c:168,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/eap_peer/eap_leap.c:169,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_leap.c:170,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_leap.c:172,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_leap.c:176,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_leap.c:177,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_peer/eap_leap.c:179,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 4
    argNames:
    - sm
    - priv
    - ret
    - reqData
    argTypes:
    - struct eap_sm*
    - void*
    - struct eap_method_ret*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 184
    functionName: eap_leap_process_success
    functionSourceFile: /src/hostap/src/eap_peer/eap_leap.c
    functionUses: 0
    functionsReached:
    - eap_get_id
    - wpa_printf
    - wpabuf_put
    - random_get_bytes
    - os_memcpy
    - wpabuf_put_u8
    - wpa_hexdump
    - wpabuf_put_data
    - eap_msg_alloc
    - wpabuf_free
    - eap_get_config_identity
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_leap_process_success(struct eap_sm *sm, void *priv,\n\t\t\t\t\t\tstruct
      eap_method_ret *ret,\n\t\t\t\t\t\tconst struct wpabuf *reqData)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_leap.c:198,1
    - Dst: eap_get_config_password2
      Src: /src/hostap/src/eap_peer/eap_leap.c:200,1
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_peer/eap_leap.c:204,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_leap.c:206,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_leap.c:212,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_leap.c:223,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_leap.c:225,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_leap.c:230,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_leap.c:232,1
    - Dst: hash_nt_password_hash
      Src: /src/hostap/src/eap_peer/eap_leap.c:235,1
    - Dst: nt_password_hash
      Src: /src/hostap/src/eap_peer/eap_leap.c:240,1
    - Dst: hash_nt_password_hash
      Src: /src/hostap/src/eap_peer/eap_leap.c:241,1
    - Dst: challenge_response
      Src: /src/hostap/src/eap_peer/eap_leap.c:246,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/eap_peer/eap_leap.c:254,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_leap.c:255,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_leap.c:257,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 53
    argCount: 4
    argNames:
    - sm
    - priv
    - ret
    - reqData
    argTypes:
    - struct eap_sm*
    - void*
    - struct eap_method_ret*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 274
    functionName: eap_leap_process_response
    functionSourceFile: /src/hostap/src/eap_peer/eap_leap.c
    functionUses: 0
    functionsReached:
    - eap_get_config_password2
    - wpa_printf
    - os_memcpy
    - wpa_hexdump
    - wpabuf_len
    - challenge_response
    - os_memcmp_const
    - nt_password_hash
    - eap_hdr_validate
    - hash_nt_password_hash
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_leap_process_response(struct eap_sm *sm, void
      *priv,\n\t\t\t\t\t\t struct eap_method_ret *ret,\n\t\t\t\t\t\t const struct
      wpabuf *reqData)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: eap_get_config_password
      Src: /src/hostap/src/eap_peer/eap_leap.c:285,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_leap.c:287,1
    - Dst: eap_sm_request_password
      Src: /src/hostap/src/eap_peer/eap_leap.c:288,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_peer/eap_leap.c:299,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_leap.c:300,1
    - Dst: be_to_host16
      Src: /src/hostap/src/eap_peer/eap_leap.c:301,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_leap.c:301,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_leap.c:302,1
    - Dst: eap_leap_process_request
      Src: /src/hostap/src/eap_peer/eap_leap.c:316,1
    - Dst: eap_leap_process_success
      Src: /src/hostap/src/eap_peer/eap_leap.c:318,1
    - Dst: eap_leap_process_response
      Src: /src/hostap/src/eap_peer/eap_leap.c:320,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_leap.c:322,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 4
    argNames:
    - sm
    - priv
    - ret
    - reqData
    argTypes:
    - struct eap_sm*
    - void*
    - struct eap_method_ret*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 277
    functionDepth: 2
    functionLinenumber: 277
    functionLinenumberEnd: 327
    functionName: eap_leap_process
    functionSourceFile: /src/hostap/src/eap_peer/eap_leap.c
    functionUses: 0
    functionsReached:
    - be_to_host16
    - wpa_printf
    - wpabuf_len
    - eap_leap_process_success
    - wpabuf_head
    - eap_leap_process_response
    - eap_sm_request_password
    - eap_leap_process_request
    - eap_get_config_password
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_leap_process(struct eap_sm *sm, void *priv,\n\t\t\t\t\tstruct
      eap_method_ret *ret,\n\t\t\t\t\tconst struct wpabuf *reqData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 334
    functionName: eap_leap_isKeyAvailable
    functionSourceFile: /src/hostap/src/eap_peer/eap_leap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool eap_leap_isKeyAvailable(struct eap_sm *sm, void *priv)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: eap_get_config_password2
      Src: /src/hostap/src/eap_peer/eap_leap.c:348,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_peer/eap_leap.c:352,1
    - Dst: hash_nt_password_hash
      Src: /src/hostap/src/eap_peer/eap_leap.c:357,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_leap.c:358,1
    - Dst: nt_password_hash
      Src: /src/hostap/src/eap_peer/eap_leap.c:362,1
    - Dst: hash_nt_password_hash
      Src: /src/hostap/src/eap_peer/eap_leap.c:363,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_leap.c:364,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_peer/eap_leap.c:368,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_leap.c:370,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_leap.c:372,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_leap.c:374,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/eap_leap.c:376,1
    - Dst: md5_vector
      Src: /src/hostap/src/eap_peer/eap_leap.c:389,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_leap.c:390,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_peer/eap_leap.c:393,1
    - Dst: forced_memzero
      Src: /src/hostap/src/eap_peer/eap_leap.c:396,1
    - Dst: forced_memzero
      Src: /src/hostap/src/eap_peer/eap_leap.c:397,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 400
    functionName: eap_leap_getKey
    functionSourceFile: /src/hostap/src/eap_peer/eap_leap.c
    functionUses: 0
    functionsReached:
    - eap_get_config_password2
    - wpa_hexdump_key
    - wpa_hexdump
    - md5_vector
    - forced_memzero
    - os_malloc
    - nt_password_hash
    - os_free
    - hash_nt_password_hash
    linkageType: ''
    returnType: u8
    signature: u8 * eap_leap_getKey(struct eap_sm *sm, void *priv, size_t *len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_peer_method_alloc
      Src: /src/hostap/src/eap_peer/eap_leap.c:407,1
    - Dst: eap_peer_method_register
      Src: /src/hostap/src/eap_peer/eap_leap.c:418,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 419
    functionName: eap_peer_leap_register
    functionSourceFile: /src/hostap/src/eap_peer/eap_leap.c
    functionUses: 1
    functionsReached:
    - eap_peer_method_register
    - eap_peer_method_alloc
    linkageType: ''
    returnType: int
    signature: int eap_peer_leap_register(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - name
    - vendor
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: eap_peer_get_type
    functionSourceFile: /src/hostap/src/eap_peer/eap_methods.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: enum eap_type
    signature: enum eap_type eap_peer_get_type(const char *name, int *vendor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vendor
    - type
    argTypes:
    - int
    - enum eap_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: eap_get_name
    functionSourceFile: /src/hostap/src/eap_peer/eap_methods.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * eap_get_name(int vendor, enum eap_type type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - buflen
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: eap_get_names
    functionSourceFile: /src/hostap/src/eap_peer/eap_methods.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t eap_get_names(char *buf, size_t buflen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: eap_peer_register_methods
    functionSourceFile: /src/hostap/src/eap_peer/eap_methods.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int eap_peer_register_methods(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: eap_peer_unregister_methods
    functionSourceFile: /src/hostap/src/eap_peer/eap_methods.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void eap_peer_unregister_methods(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: eap_get_names_as_string_array
    functionSourceFile: /src/hostap/src/eap_peer/eap_methods.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char ** eap_get_names_as_string_array(size_t *num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - so
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: eap_peer_method_load
    functionSourceFile: /src/hostap/src/eap_peer/eap_methods.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int eap_peer_method_load(const char *so)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - method
    argTypes:
    - struct eap_method*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: eap_peer_method_unload
    functionSourceFile: /src/hostap/src/eap_peer/eap_methods.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int eap_peer_method_unload(struct eap_method *method)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/tncc.c:115,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/tncc.c:120,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/tncc.c:128,1
    - Dst: os_memdup
      Src: /src/hostap/src/eap_peer/tncc.c:129,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - imcID
    - supportedTypes
    - typeCount
    argTypes:
    - TNC_IMCID
    - TNC_MessageTypeList
    - TNC_UInt32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 136
    functionName: TNC_TNCC_ReportMessageTypes
    functionSourceFile: /src/hostap/src/eap_peer/tncc.c
    functionUses: 0
    functionsReached:
    - os_free
    - os_memdup
    - wpa_printf
    linkageType: ''
    returnType: TNC_Result
    signature: "TNC_Result TNC_TNCC_ReportMessageTypes(\n\tTNC_IMCID imcID,\n\tTNC_MessageTypeList
      supportedTypes,\n\tTNC_UInt32 typeCount)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/tncc.c:150,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_peer/tncc.c:153,1
    - Dst: base64_encode
      Src: /src/hostap/src/eap_peer/tncc.c:159,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/tncc.c:164,1
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_peer/tncc.c:166,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/tncc.c:168,1
    - Dst: os_snprintf
      Src: /src/hostap/src/eap_peer/tncc.c:173,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/tncc.c:178,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 5
    argNames:
    - imcID
    - connectionID
    - message
    - messageLength
    - messageType
    argTypes:
    - TNC_IMCID
    - TNC_ConnectionID
    - TNC_BufferReference
    - TNC_UInt32
    - TNC_MessageType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 181
    functionName: TNC_TNCC_SendMessage
    functionSourceFile: /src/hostap/src/eap_peer/tncc.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_snprintf
    - os_zalloc
    - os_free
    - base64_encode
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: TNC_Result
    signature: "TNC_Result TNC_TNCC_SendMessage(\n\tTNC_IMCID imcID,\n\tTNC_ConnectionID
      connectionID,\n\tTNC_BufferReference message,\n\tTNC_UInt32 messageLength,\n\tTNC_MessageType
      messageType)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/tncc.c:189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - imcID
    - connectionID
    - reason
    argTypes:
    - TNC_IMCID
    - TNC_ConnectionID
    - TNC_RetryReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 201
    functionName: TNC_TNCC_RequestHandshakeRetry
    functionSourceFile: /src/hostap/src/eap_peer/tncc.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: TNC_Result
    signature: "TNC_Result TNC_TNCC_RequestHandshakeRetry(\n\tTNC_IMCID imcID,\n\tTNC_ConnectionID
      connectionID,\n\tTNC_RetryReason reason)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/tncc.c:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - imcID
    - severity
    - message
    argTypes:
    - TNC_IMCID
    - TNC_UInt32
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 211
    functionName: TNC_9048_LogMessage
    functionSourceFile: /src/hostap/src/eap_peer/tncc.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: TNC_Result
    signature: "TNC_Result TNC_9048_LogMessage(TNC_IMCID imcID, TNC_UInt32 severity,\n\t\t\t\t
      \     const char *message)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/tncc.c:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - imcID
    - connectionID
    - message
    argTypes:
    - TNC_IMCID
    - TNC_ConnectionID
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 222
    functionName: TNC_9048_UserMessage
    functionSourceFile: /src/hostap/src/eap_peer/tncc.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: TNC_Result
    signature: "TNC_Result TNC_9048_UserMessage(TNC_IMCID imcID,\n\t\t\t\t       TNC_ConnectionID
      connectionID,\n\t\t\t\t       const char *message)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/tncc.c:230,1
    - Dst: os_strcmp
      Src: /src/hostap/src/eap_peer/tncc.c:239,1
    - Dst: os_strcmp
      Src: /src/hostap/src/eap_peer/tncc.c:241,1
    - Dst: os_strcmp
      Src: /src/hostap/src/eap_peer/tncc.c:243,1
    - Dst: os_strcmp
      Src: /src/hostap/src/eap_peer/tncc.c:246,1
    - Dst: os_strcmp
      Src: /src/hostap/src/eap_peer/tncc.c:248,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 3
    argNames:
    - imcID
    - functionName
    - pOutfunctionPointer
    argTypes:
    - TNC_IMCID
    - char*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 254
    functionName: TNC_TNCC_BindFunction
    functionSourceFile: /src/hostap/src/eap_peer/tncc.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_strcmp
    linkageType: ''
    returnType: TNC_Result
    signature: "TNC_Result TNC_TNCC_BindFunction(\n\tTNC_IMCID imcID,\n\tchar *functionName,\n\tvoid
      **pOutfunctionPointer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetProcAddressA
      Src: /src/hostap/src/eap_peer/tncc.c:263,1
    - Dst: GetProcAddress
      Src: /src/hostap/src/eap_peer/tncc.c:265,1
    - Dst: dlsym
      Src: /src/hostap/src/eap_peer/tncc.c:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - handle
    - func
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 272
    functionName: tncc_get_sym
    functionSourceFile: /src/hostap/src/eap_peer/tncc.c
    functionUses: 0
    functionsReached:
    - GetProcAddressA
    - dlsym
    - GetProcAddress
    linkageType: ''
    returnType: void
    signature: void * tncc_get_sym(void *handle, char *func)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tncc_get_sym
      Src: /src/hostap/src/eap_peer/tncc.c:280,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/tncc.c:282,1
    - Dst: tncc_get_sym
      Src: /src/hostap/src/eap_peer/tncc.c:287,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/tncc.c:289,1
    - Dst: tncc_get_sym
      Src: /src/hostap/src/eap_peer/tncc.c:295,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/tncc.c:297,1
    - Dst: tncc_get_sym
      Src: /src/hostap/src/eap_peer/tncc.c:304,1
    - Dst: tncc_get_sym
      Src: /src/hostap/src/eap_peer/tncc.c:305,1
    - Dst: tncc_get_sym
      Src: /src/hostap/src/eap_peer/tncc.c:306,1
    - Dst: tncc_get_sym
      Src: /src/hostap/src/eap_peer/tncc.c:307,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - imc
    argTypes:
    - struct tnc_if_imc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 310
    functionName: tncc_imc_resolve_funcs
    functionSourceFile: /src/hostap/src/eap_peer/tncc.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - tncc_get_sym
    linkageType: ''
    returnType: int
    signature: int tncc_imc_resolve_funcs(struct tnc_if_imc *imc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/tncc.c:318,1
    - Dst: struct tnc_if_imc*::Initialize
      Src: /src/hostap/src/eap_peer/tncc.c:320,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/tncc.c:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - imc
    argTypes:
    - struct tnc_if_imc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 326
    functionName: tncc_imc_initialize
    functionSourceFile: /src/hostap/src/eap_peer/tncc.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - struct tnc_if_imc*::Initialize
    linkageType: ''
    returnType: int
    signature: int tncc_imc_initialize(struct tnc_if_imc *imc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/tncc.c:336,1
    - Dst: struct tnc_if_imc*::Terminate
      Src: /src/hostap/src/eap_peer/tncc.c:338,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/tncc.c:339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - imc
    argTypes:
    - struct tnc_if_imc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 343
    functionName: tncc_imc_terminate
    functionSourceFile: /src/hostap/src/eap_peer/tncc.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - struct tnc_if_imc*::Terminate
    linkageType: ''
    returnType: int
    signature: int tncc_imc_terminate(struct tnc_if_imc *imc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/tncc.c:350,1
    - Dst: struct tnc_if_imc*::ProvideBindFunction
      Src: /src/hostap/src/eap_peer/tncc.c:352,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/tncc.c:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - imc
    argTypes:
    - struct tnc_if_imc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 357
    functionName: tncc_imc_provide_bind_function
    functionSourceFile: /src/hostap/src/eap_peer/tncc.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - struct tnc_if_imc*::ProvideBindFunction
    linkageType: ''
    returnType: int
    signature: int tncc_imc_provide_bind_function(struct tnc_if_imc *imc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/tncc.c:368,1
    - Dst: struct tnc_if_imc*::NotifyConnectionChange
      Src: /src/hostap/src/eap_peer/tncc.c:370,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/tncc.c:372,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - imc
    - state
    argTypes:
    - struct tnc_if_imc*
    - TNC_ConnectionState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 376
    functionName: tncc_imc_notify_connection_change
    functionSourceFile: /src/hostap/src/eap_peer/tncc.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - struct tnc_if_imc*::NotifyConnectionChange
    linkageType: ''
    returnType: int
    signature: "int tncc_imc_notify_connection_change(struct tnc_if_imc *imc,\n\t\t\t\t\t
      \    TNC_ConnectionState state)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/tncc.c:383,1
    - Dst: struct tnc_if_imc*::BeginHandshake
      Src: /src/hostap/src/eap_peer/tncc.c:385,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/tncc.c:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - imc
    argTypes:
    - struct tnc_if_imc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 390
    functionName: tncc_imc_begin_handshake
    functionSourceFile: /src/hostap/src/eap_peer/tncc.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - struct tnc_if_imc*::BeginHandshake
    linkageType: ''
    returnType: int
    signature: int tncc_imc_begin_handshake(struct tnc_if_imc *imc)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/tncc.c:396,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/tncc.c:400,1
    - Dst: wpa_strdup_tchar
      Src: /src/hostap/src/eap_peer/tncc.c:405,1
    - Dst: LoadLibrary
      Src: /src/hostap/src/eap_peer/tncc.c:408,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/tncc.c:409,1
    - Dst: LoadLibrary
      Src: /src/hostap/src/eap_peer/tncc.c:412,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/tncc.c:415,1
    - Dst: GetLastError
      Src: /src/hostap/src/eap_peer/tncc.c:416,1
    - Dst: dlopen
      Src: /src/hostap/src/eap_peer/tncc.c:420,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/tncc.c:422,1
    - Dst: dlerror
      Src: /src/hostap/src/eap_peer/tncc.c:423,1
    - Dst: tncc_imc_resolve_funcs
      Src: /src/hostap/src/eap_peer/tncc.c:428,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/tncc.c:429,1
    - Dst: tncc_imc_initialize
      Src: /src/hostap/src/eap_peer/tncc.c:433,1
    - Dst: tncc_imc_provide_bind_function
      Src: /src/hostap/src/eap_peer/tncc.c:434,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/tncc.c:435,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 1
    argNames:
    - imc
    argTypes:
    - struct tnc_if_imc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 393
    functionDepth: 2
    functionLinenumber: 393
    functionLinenumberEnd: 440
    functionName: tncc_load_imc
    functionSourceFile: /src/hostap/src/eap_peer/tncc.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dlerror
    - GetLastError
    - LoadLibrary
    - wpa_strdup_tchar
    - tncc_imc_resolve_funcs
    - tncc_imc_initialize
    - os_free
    - tncc_imc_provide_bind_function
    - dlopen
    linkageType: ''
    returnType: int
    signature: int tncc_load_imc(struct tnc_if_imc *imc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tncc_imc_terminate
      Src: /src/hostap/src/eap_peer/tncc.c:445,1
    - Dst: FreeLibrary
      Src: /src/hostap/src/eap_peer/tncc.c:450,1
    - Dst: dlclose
      Src: /src/hostap/src/eap_peer/tncc.c:452,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/tncc.c:455,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/tncc.c:456,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/tncc.c:457,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/tncc.c:458,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - imc
    argTypes:
    - struct tnc_if_imc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 459
    functionName: tncc_unload_imc
    functionSourceFile: /src/hostap/src/eap_peer/tncc.c
    functionUses: 0
    functionsReached:
    - os_free
    - FreeLibrary
    - dlclose
    - tncc_imc_terminate
    linkageType: ''
    returnType: void
    signature: void tncc_unload_imc(struct tnc_if_imc *imc)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - imc
    - type
    argTypes:
    - struct tnc_if_imc*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 483
    functionName: tncc_supported_type
    functionSourceFile: /src/hostap/src/eap_peer/tncc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tncc_supported_type(struct tnc_if_imc *imc, unsigned int type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_peer/tncc.c:492,1
    - Dst: tncc_supported_type
      Src: /src/hostap/src/eap_peer/tncc.c:496,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/tncc.c:499,1
    - Dst: struct tnc_if_imc*::ReceiveMessage
      Src: /src/hostap/src/eap_peer/tncc.c:501,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/tncc.c:504,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - tncc
    - type
    - msg
    - len
    argTypes:
    - struct tncc_data*
    - unsigned int
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 507
    functionName: tncc_send_to_imcs
    functionSourceFile: /src/hostap/src/eap_peer/tncc.c
    functionUses: 0
    functionsReached:
    - tncc_supported_type
    - wpa_printf
    - wpa_hexdump_ascii
    - struct tnc_if_imc*::ReceiveMessage
    linkageType: ''
    returnType: void
    signature: "void tncc_send_to_imcs(struct tncc_data *tncc, unsigned int type,\n\t\t\t
      \     const u8 *msg, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tncc_imc_notify_connection_change
      Src: /src/hostap/src/eap_peer/tncc.c:515,1
    - Dst: tncc_imc_notify_connection_change
      Src: /src/hostap/src/eap_peer/tncc.c:517,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/tncc.c:520,1
    - Dst: tncc_imc_begin_handshake
      Src: /src/hostap/src/eap_peer/tncc.c:524,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - tncc
    argTypes:
    - struct tncc_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 526
    functionName: tncc_init_connection
    functionSourceFile: /src/hostap/src/eap_peer/tncc.c
    functionUses: 1
    functionsReached:
    - os_free
    - tncc_imc_begin_handshake
    - tncc_imc_notify_connection_change
    linkageType: ''
    returnType: void
    signature: void tncc_init_connection(struct tncc_data *tncc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - tncc
    argTypes:
    - struct tncc_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 537
    functionName: tncc_total_send_len
    functionSourceFile: /src/hostap/src/eap_peer/tncc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t tncc_total_send_len(struct tncc_data *tncc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/tncc.c:548,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/tncc.c:550,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - tncc
    - pos
    argTypes:
    - struct tncc_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 556
    functionName: tncc_copy_send_buf
    functionSourceFile: /src/hostap/src/eap_peer/tncc.c
    functionUses: 1
    functionsReached:
    - os_free
    - os_memcpy
    linkageType: ''
    returnType: u8
    signature: u8 * tncc_copy_send_buf(struct tncc_data *tncc, u8 *pos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/eap_peer/tncc.c:561,1
    - Dst: os_snprintf
      Src: /src/hostap/src/eap_peer/tncc.c:565,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - tncc
    argTypes:
    - struct tncc_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 567
    functionName: tncc_if_tnccs_start
    functionSourceFile: /src/hostap/src/eap_peer/tncc.c
    functionUses: 1
    functionsReached:
    - os_snprintf
    - os_malloc
    linkageType: ''
    returnType: char
    signature: char * tncc_if_tnccs_start(struct tncc_data *tncc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/eap_peer/tncc.c:572,1
    - Dst: os_snprintf
      Src: /src/hostap/src/eap_peer/tncc.c:575,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 577
    functionName: tncc_if_tnccs_end
    functionSourceFile: /src/hostap/src/eap_peer/tncc.c
    functionUses: 1
    functionsReached:
    - os_snprintf
    - os_malloc
    linkageType: ''
    returnType: char
    signature: char * tncc_if_tnccs_end(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tncc_imc_notify_connection_change
      Src: /src/hostap/src/eap_peer/tncc.c:602,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - tncc
    - res
    argTypes:
    - struct tncc_data*
    - enum tncc_process_res
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 580
    functionDepth: 1
    functionLinenumber: 580
    functionLinenumberEnd: 603
    functionName: tncc_notify_recommendation
    functionSourceFile: /src/hostap/src/eap_peer/tncc.c
    functionUses: 0
    functionsReached:
    - tncc_imc_notify_connection_change
    linkageType: ''
    returnType: void
    signature: "void tncc_notify_recommendation(struct tncc_data *tncc,\n\t\t\t\t
      \      enum tncc_process_res res)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/tncc.c:608,1
    - Dst: strtoul
      Src: /src/hostap/src/eap_peer/tncc.c:612,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - start
    - type
    argTypes:
    - char*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 614
    functionName: tncc_get_type
    functionSourceFile: /src/hostap/src/eap_peer/tncc.c
    functionUses: 0
    functionsReached:
    - os_strstr
    - strtoul
    linkageType: ''
    returnType: int
    signature: int tncc_get_type(char *start, unsigned int *type)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/tncc.c:622,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/tncc.c:627,1
    - Dst: base64_decode
      Src: /src/hostap/src/eap_peer/tncc.c:632,1
    - Dst: os_strlen
      Src: /src/hostap/src/eap_peer/tncc.c:632,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/tncc.c:635,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - start
    - decoded_len
    argTypes:
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 617
    functionDepth: 1
    functionLinenumber: 617
    functionLinenumberEnd: 639
    functionName: tncc_get_base64
    functionSourceFile: /src/hostap/src/eap_peer/tncc.c
    functionUses: 0
    functionsReached:
    - os_strstr
    - base64_decode
    - os_strlen
    - wpa_printf
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char * tncc_get_base64(char *start, size_t *decoded_len)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/tncc.c:647,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/tncc.c:652,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/tncc.c:669,1
    - Dst: os_strcmp
      Src: /src/hostap/src/eap_peer/tncc.c:672,1
    - Dst: os_strcmp
      Src: /src/hostap/src/eap_peer/tncc.c:674,1
    - Dst: os_strcmp
      Src: /src/hostap/src/eap_peer/tncc.c:676,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 1
    argNames:
    - start
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 682
    functionName: tncc_get_recommendation
    functionSourceFile: /src/hostap/src/eap_peer/tncc.c
    functionUses: 0
    functionsReached:
    - os_strstr
    - wpa_printf
    - os_strcmp
    linkageType: ''
    returnType: enum tncc_process_res
    signature: enum tncc_process_res tncc_get_recommendation(char *start)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_peer/tncc.c:695,1
    - Dst: dup_binstr
      Src: /src/hostap/src/eap_peer/tncc.c:697,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/tncc.c:701,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/tncc.c:702,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/tncc.c:704,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/tncc.c:713,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/tncc.c:715,1
    - Dst: atoi
      Src: /src/hostap/src/eap_peer/tncc.c:722,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/tncc.c:723,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/tncc.c:726,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/tncc.c:729,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/tncc.c:737,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/tncc.c:754,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/tncc.c:758,1
    - Dst: tncc_get_type
      Src: /src/hostap/src/eap_peer/tncc.c:765,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/tncc.c:770,1
    - Dst: tncc_get_base64
      Src: /src/hostap/src/eap_peer/tncc.c:772,1
    - Dst: tncc_send_to_imcs
      Src: /src/hostap/src/eap_peer/tncc.c:779,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/tncc.c:781,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/tncc.c:799,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/tncc.c:803,1
    - Dst: tncc_get_type
      Src: /src/hostap/src/eap_peer/tncc.c:810,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/tncc.c:815,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/tncc.c:822,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/tncc.c:825,1
    - Dst: tncc_get_base64
      Src: /src/hostap/src/eap_peer/tncc.c:834,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_peer/tncc.c:843,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/tncc.c:846,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_peer/tncc.c:850,1
    - Dst: tncc_get_recommendation
      Src: /src/hostap/src/eap_peer/tncc.c:862,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/tncc.c:870,1
    - Dst: tncc_notify_recommendation
      Src: /src/hostap/src/eap_peer/tncc.c:873,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 125
    argCount: 3
    argNames:
    - tncc
    - msg
    - len
    argTypes:
    - struct tncc_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 685
    functionDepth: 2
    functionLinenumber: 685
    functionLinenumberEnd: 876
    functionName: tncc_process_if_tnccs
    functionSourceFile: /src/hostap/src/eap_peer/tncc.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - tncc_send_to_imcs
    - tncc_notify_recommendation
    - os_strstr
    - tncc_get_base64
    - atoi
    - os_free
    - tncc_get_type
    - wpa_hexdump_ascii
    - dup_binstr
    - tncc_get_recommendation
    linkageType: ''
    returnType: enum tncc_process_res
    signature: "enum tncc_process_res tncc_process_if_tnccs(struct tncc_data *tncc,\n\t\t\t\t\t
      \   const u8 *msg, size_t len)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: RegOpenKeyEx
      Src: /src/hostap/src/eap_peer/tncc.c:892,1
    - Dst: RegEnumKeyEx
      Src: /src/hostap/src/eap_peer/tncc.c:902,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/tncc.c:909,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/tncc.c:918,1
    - Dst: RegOpenKeyEx
      Src: /src/hostap/src/eap_peer/tncc.c:920,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/tncc.c:922,1
    - Dst: RegQueryValueEx
      Src: /src/hostap/src/eap_peer/tncc.c:927,1
    - Dst: TEXT
      Src: /src/hostap/src/eap_peer/tncc.c:927,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/tncc.c:930,1
    - Dst: RegCloseKey
      Src: /src/hostap/src/eap_peer/tncc.c:932,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_peer/tncc.c:936,1
    - Dst: RegCloseKey
      Src: /src/hostap/src/eap_peer/tncc.c:938,1
    - Dst: RegQueryValueEx
      Src: /src/hostap/src/eap_peer/tncc.c:942,1
    - Dst: TEXT
      Src: /src/hostap/src/eap_peer/tncc.c:942,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/tncc.c:945,1
    - Dst: RegCloseKey
      Src: /src/hostap/src/eap_peer/tncc.c:946,1
    - Dst: RegCloseKey
      Src: /src/hostap/src/eap_peer/tncc.c:950,1
    - Dst: wpa_unicode2ascii_inplace
      Src: /src/hostap/src/eap_peer/tncc.c:952,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/tncc.c:953,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/tncc.c:960,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/tncc.c:961,1
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_peer/tncc.c:965,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/tncc.c:967,1
    - Dst: wpa_unicode2ascii_inplace
      Src: /src/hostap/src/eap_peer/tncc.c:973,1
    - Dst: os_strdup
      Src: /src/hostap/src/eap_peer/tncc.c:974,1
    - Dst: os_strdup
      Src: /src/hostap/src/eap_peer/tncc.c:975,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/tncc.c:977,1
    - Dst: RegCloseKey
      Src: /src/hostap/src/eap_peer/tncc.c:988,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 72
    argCount: 2
    argNames:
    - tncc
    - hive
    argTypes:
    - struct tncc_data*
    - HKEY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 880
    functionDepth: 0
    functionLinenumber: 880
    functionLinenumberEnd: 991
    functionName: tncc_read_config_reg
    functionSourceFile: /src/hostap/src/eap_peer/tncc.c
    functionUses: 0
    functionsReached:
    - RegCloseKey
    - wpa_printf
    - RegEnumKeyEx
    - RegOpenKeyEx
    - TEXT
    - os_malloc
    - RegQueryValueEx
    - os_zalloc
    - os_free
    - wpa_unicode2ascii_inplace
    - os_strdup
    linkageType: ''
    returnType: int
    signature: int tncc_read_config_reg(struct tncc_data *tncc, HKEY hive)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tncc_read_config_reg
      Src: /src/hostap/src/eap_peer/tncc.c:996,1
    - Dst: tncc_read_config_reg
      Src: /src/hostap/src/eap_peer/tncc.c:997,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - tncc
    argTypes:
    - struct tncc_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 994
    functionDepth: 1
    functionLinenumber: 994
    functionLinenumberEnd: 1000
    functionName: tncc_read_config
    functionSourceFile: /src/hostap/src/eap_peer/tncc.c
    functionUses: 0
    functionsReached:
    - tncc_read_config_reg
    linkageType: ''
    returnType: int
    signature: int tncc_read_config(struct tncc_data *tncc)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/tncc.c:1015,1
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_peer/tncc.c:1019,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/tncc.c:1028,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/tncc.c:1030,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/tncc.c:1032,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/tncc.c:1041,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/tncc.c:1043,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/tncc.c:1047,1
    - Dst: os_strdup
      Src: /src/hostap/src/eap_peer/tncc.c:1048,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/tncc.c:1052,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/tncc.c:1054,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/tncc.c:1055,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/tncc.c:1060,1
    - Dst: os_strdup
      Src: /src/hostap/src/eap_peer/tncc.c:1061,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 3
    argNames:
    - start
    - end
    - error
    argTypes:
    - char*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1004
    functionDepth: 0
    functionLinenumber: 1004
    functionLinenumberEnd: 1065
    functionName: tncc_parse_imc
    functionSourceFile: /src/hostap/src/eap_peer/tncc.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpa_printf
    - os_strdup
    - os_zalloc
    linkageType: ''
    returnType: struct tnc_if_imc
    signature: struct tnc_if_imc * tncc_parse_imc(char *start, char *end, int *error)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_readfile
      Src: /src/hostap/src/eap_peer/tncc.c:1076,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/tncc.c:1078,1
    - Dst: os_strncmp
      Src: /src/hostap/src/eap_peer/tncc.c:1091,1
    - Dst: tncc_parse_imc
      Src: /src/hostap/src/eap_peer/tncc.c:1094,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/tncc.c:1096,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/tncc.c:1109,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 1
    argNames:
    - tncc
    argTypes:
    - struct tncc_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1112
      start: 1068
    functionDepth: 1
    functionLinenumber: 1068
    functionLinenumberEnd: 1112
    functionName: tncc_read_config
    functionSourceFile: /src/hostap/src/eap_peer/tncc.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_strncmp
    - os_readfile
    - os_free
    - tncc_parse_imc
    linkageType: ''
    returnType: int
    signature: int tncc_read_config(struct tncc_data *tncc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_peer/tncc.c:1122,1
    - Dst: tncc_read_config
      Src: /src/hostap/src/eap_peer/tncc.c:1131,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/tncc.c:1132,1
    - Dst: tncc_load_imc
      Src: /src/hostap/src/eap_peer/tncc.c:1137,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/tncc.c:1138,1
    - Dst: tncc_deinit
      Src: /src/hostap/src/eap_peer/tncc.c:1147,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1117
    functionDepth: 3
    functionLinenumber: 1117
    functionLinenumberEnd: 1149
    functionName: tncc_init
    functionSourceFile: /src/hostap/src/eap_peer/tncc.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - tncc_load_imc
    - os_zalloc
    - tncc_read_config
    - tncc_deinit
    linkageType: ''
    returnType: struct tncc_data
    signature: struct tncc_data * tncc_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tncc_unload_imc
      Src: /src/hostap/src/eap_peer/tncc.c:1158,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/tncc.c:1162,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/tncc.c:1165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - tncc
    argTypes:
    - struct tncc_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1166
      start: 1152
    functionDepth: 2
    functionLinenumber: 1152
    functionLinenumberEnd: 1166
    functionName: tncc_deinit
    functionSourceFile: /src/hostap/src/eap_peer/tncc.c
    functionUses: 2
    functionsReached:
    - os_free
    - tncc_unload_imc
    linkageType: ''
    returnType: void
    signature: void tncc_deinit(struct tncc_data *tncc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_get_random
      Src: /src/hostap/src/eap_peer/tncc.c:1177,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/tncc.c:1179,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eap_peer/tncc.c:1182,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/eap_peer/tncc.c:1187,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/tncc.c:1188,1
    - Dst: wpabuf_put_be32
      Src: /src/hostap/src/eap_peer/tncc.c:1189,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/eap_peer/tncc.c:1190,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/tncc.c:1191,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/eap_peer/tncc.c:1194,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/tncc.c:1195,1
    - Dst: wpabuf_put_be32
      Src: /src/hostap/src/eap_peer/tncc.c:1196,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/eap_peer/tncc.c:1197,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/tncc.c:1198,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/eap_peer/tncc.c:1203,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/eap_peer/tncc.c:1204,1
    - Dst: wpabuf_put_be32
      Src: /src/hostap/src/eap_peer/tncc.c:1205,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_peer/tncc.c:1207,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/tncc.c:1208,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/tncc.c:1209,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/eap_peer/tncc.c:1214,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/eap_peer/tncc.c:1215,1
    - Dst: wpabuf_put_be32
      Src: /src/hostap/src/eap_peer/tncc.c:1216,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/eap_peer/tncc.c:1218,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/tncc.c:1219,1
    - Dst: wpabuf_put_be32
      Src: /src/hostap/src/eap_peer/tncc.c:1220,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/tncc.c:1223,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/tncc.c:1230,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/tncc.c:1234,1
    - Dst: wpabuf_put_be32
      Src: /src/hostap/src/eap_peer/tncc.c:1235,1
    - Dst: wpabuf_put_be32
      Src: /src/hostap/src/eap_peer/tncc.c:1236,1
    - Dst: wpabuf_put_be32
      Src: /src/hostap/src/eap_peer/tncc.c:1237,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/eap_peer/tncc.c:1238,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/eap_peer/tncc.c:1239,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/eap_peer/tncc.c:1240,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/tncc.c:1243,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/eap_peer/tncc.c:1244,1
    - Dst: os_strlen
      Src: /src/hostap/src/eap_peer/tncc.c:1244,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_peer/tncc.c:1245,1
    - Dst: os_strlen
      Src: /src/hostap/src/eap_peer/tncc.c:1245,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/tncc.c:1248,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_peer/tncc.c:1249,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/tncc.c:1252,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/eap_peer/tncc.c:1253,1
    - Dst: wpabuf_put_be32
      Src: /src/hostap/src/eap_peer/tncc.c:1254,1
    - Dst: wpabuf_put_be32
      Src: /src/hostap/src/eap_peer/tncc.c:1255,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/eap_peer/tncc.c:1256,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/tncc.c:1257,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/tncc.c:1260,1
    - Dst: wpabuf_put_be32
      Src: /src/hostap/src/eap_peer/tncc.c:1261,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/tncc.c:1263,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/tncc.c:1266,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/eap_peer/tncc.c:1267,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/tncc.c:1272,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/eap_peer/tncc.c:1273,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/eap_peer/tncc.c:1274,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/eap_peer/tncc.c:1275,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/eap_peer/tncc.c:1276,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 62
    argCount: 1
    argNames:
    - ver
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1169
    functionDepth: 1
    functionLinenumber: 1169
    functionLinenumberEnd: 1279
    functionName: tncc_build_soh
    functionSourceFile: /src/hostap/src/eap_peer/tncc.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpabuf_put
    - wpa_hexdump
    - wpabuf_put_data
    - wpabuf_put_u8
    - os_get_random
    - wpabuf_put_be16
    - WPA_PUT_BE16
    - wpabuf_alloc
    - wpabuf_put_be32
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * tncc_build_soh(int ver)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/tncc.c:1286,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_peer/tncc.c:1295,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_peer/tncc.c:1300,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/eap_peer/tncc.c:1305,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_peer/tncc.c:1310,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/tncc.c:1313,1
    - Dst: tncc_build_soh
      Src: /src/hostap/src/eap_peer/tncc.c:1315,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - ver
    - data
    - len
    argTypes:
    - int
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1316
      start: 1282
    functionDepth: 2
    functionLinenumber: 1282
    functionLinenumberEnd: 1316
    functionName: tncc_process_soh_request
    functionSourceFile: /src/hostap/src/eap_peer/tncc.c
    functionUses: 1
    functionsReached:
    - WPA_GET_BE16
    - wpa_printf
    - wpa_hexdump
    - tncc_build_soh
    - WPA_GET_BE32
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * tncc_process_soh_request(int ver, const u8 *data, size_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:52,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:53,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:54,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:55,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:56,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - pac
    argTypes:
    - struct eap_fast_pac*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 58
    functionName: eap_fast_free_pac
    functionSourceFile: /src/hostap/src/eap_peer/eap_fast_pac.c
    functionUses: 1
    functionsReached:
    - os_free
    linkageType: ''
    returnType: void
    signature: void eap_fast_free_pac(struct eap_fast_pac *pac)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:77,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 4
    argNames:
    - pac_root
    - a_id
    - a_id_len
    - pac_type
    argTypes:
    - struct eap_fast_pac*
    - u8*
    - size_t
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 83
    functionName: eap_fast_get_pac
    functionSourceFile: /src/hostap/src/eap_peer/eap_fast_pac.c
    functionUses: 1
    functionsReached:
    - os_memcmp
    linkageType: ''
    returnType: struct eap_fast_pac
    signature: "struct eap_fast_pac * eap_fast_get_pac(struct eap_fast_pac *pac_root,\n\t\t\t\t
      \      const u8 *a_id, size_t a_id_len,\n\t\t\t\t       u16 pac_type)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:97,1
    - Dst: eap_fast_free_pac
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:104,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 5
    argNames:
    - pac_root
    - pac_current
    - a_id
    - a_id_len
    - pac_type
    argTypes:
    - struct eap_fast_pac**
    - struct eap_fast_pac**
    - u8*
    - size_t
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 110
    functionName: eap_fast_remove_pac
    functionSourceFile: /src/hostap/src/eap_peer/eap_fast_pac.c
    functionUses: 0
    functionsReached:
    - eap_fast_free_pac
    - os_memcmp
    linkageType: ''
    returnType: void
    signature: "void eap_fast_remove_pac(struct eap_fast_pac **pac_root,\n\t\t\t\tstruct
      eap_fast_pac **pac_current,\n\t\t\t\tconst u8 *a_id, size_t a_id_len, u16 pac_type)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memdup
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - dst
    - dst_len
    - src
    - src_len
    argTypes:
    - u8**
    - size_t*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 123
    functionName: eap_fast_copy_buf
    functionSourceFile: /src/hostap/src/eap_peer/eap_fast_pac.c
    functionUses: 0
    functionsReached:
    - os_memdup
    linkageType: ''
    returnType: int
    signature: "int eap_fast_copy_buf(u8 **dst, size_t *dst_len,\n\t\t\t     const
      u8 *src, size_t src_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: eap_fast_remove_pac
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:148,1
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:152,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:157,1
    - Dst: eap_fast_copy_buf
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:158,1
    - Dst: eap_fast_copy_buf
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:160,1
    - Dst: eap_fast_copy_buf
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:162,1
    - Dst: eap_fast_copy_buf
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:164,1
    - Dst: eap_fast_copy_buf
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:166,1
    - Dst: eap_fast_free_pac
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:168,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - pac_root
    - pac_current
    - entry
    argTypes:
    - struct eap_fast_pac**
    - struct eap_fast_pac**
    - struct eap_fast_pac*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 176
    functionName: eap_fast_add_pac
    functionSourceFile: /src/hostap/src/eap_peer/eap_fast_pac.c
    functionUses: 1
    functionsReached:
    - eap_fast_remove_pac
    - os_memcpy
    - eap_fast_free_pac
    - os_zalloc
    - eap_fast_copy_buf
    linkageType: ''
    returnType: int
    signature: "int eap_fast_add_pac(struct eap_fast_pac **pac_root,\n\t\t     struct
      eap_fast_pac **pac_current,\n\t\t     struct eap_fast_pac *entry)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fgets
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:194,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:207,1
    - Dst: os_strchr
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:222,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 2
    argNames:
    - rc
    - value
    argTypes:
    - struct eap_fast_read_ctx*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 228
    functionName: eap_fast_read_line
    functionSourceFile: /src/hostap/src/eap_peer/eap_fast_pac.c
    functionUses: 0
    functionsReached:
    - os_strchr
    - os_memcpy
    - fgets
    linkageType: ''
    returnType: int
    signature: int eap_fast_read_line(struct eap_fast_read_ctx *rc, char **value)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:238,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:242,1
    - Dst: hexstr2bin
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:245,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:246,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - value
    - len
    argTypes:
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 250
    functionName: eap_fast_parse_hex
    functionSourceFile: /src/hostap/src/eap_peer/eap_fast_pac.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_free
    - hexstr2bin
    - os_malloc
    linkageType: ''
    returnType: u8
    signature: u8 * eap_fast_parse_hex(const char *value, size_t *len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:256,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:259,1
    - Dst: os_strncmp
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:263,1
    - Dst: eap_get_config_blob
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:265,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:267,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:270,1
    - Dst: fopen
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:276,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:278,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:281,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - sm
    - pac_file
    - rc
    argTypes:
    - struct eap_sm*
    - char*
    - struct eap_fast_read_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 287
    functionName: eap_fast_init_pac_data
    functionSourceFile: /src/hostap/src/eap_peer/eap_fast_pac.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_get_config_blob
    - os_malloc
    - os_strncmp
    - os_free
    - fopen
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int eap_fast_init_pac_data(struct eap_sm *sm, const char *pac_file,\n\t\t\t\t
      \ struct eap_fast_read_ctx *rc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:292,1
    - Dst: fclose
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rc
    argTypes:
    - struct eap_fast_read_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 295
    functionName: eap_fast_deinit_pac_data
    functionSourceFile: /src/hostap/src/eap_peer/eap_fast_pac.c
    functionUses: 0
    functionsReached:
    - os_free
    - fclose
    linkageType: ''
    returnType: void
    signature: void eap_fast_deinit_pac_data(struct eap_fast_read_ctx *rc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:303,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pac
    argTypes:
    - struct eap_fast_pac**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 308
    functionName: eap_fast_parse_start
    functionSourceFile: /src/hostap/src/eap_peer/eap_fast_pac.c
    functionUses: 0
    functionsReached:
    - os_zalloc
    linkageType: ''
    returnType: char
    signature: char * eap_fast_parse_start(struct eap_fast_pac **pac)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pac_root
    - pac
    argTypes:
    - struct eap_fast_pac**
    - struct eap_fast_pac**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 326
    functionName: eap_fast_parse_end
    functionSourceFile: /src/hostap/src/eap_peer/eap_fast_pac.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char * eap_fast_parse_end(struct eap_fast_pac **pac_root,\n\t\t\t\t
      \      struct eap_fast_pac **pac)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:334,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - pac
    - pos
    argTypes:
    - struct eap_fast_pac*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 341
    functionName: eap_fast_parse_pac_type
    functionSourceFile: /src/hostap/src/eap_peer/eap_fast_pac.c
    functionUses: 0
    functionsReached:
    - atoi
    linkageType: ''
    returnType: char
    signature: "char * eap_fast_parse_pac_type(struct eap_fast_pac *pac,\n\t\t\t\t\t
      \   char *pos)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_fast_parse_hex
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:349,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:351,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:355,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:356,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pac
    - pos
    argTypes:
    - struct eap_fast_pac*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 344
    functionDepth: 2
    functionLinenumber: 344
    functionLinenumberEnd: 359
    functionName: eap_fast_parse_pac_key
    functionSourceFile: /src/hostap/src/eap_peer/eap_fast_pac.c
    functionUses: 0
    functionsReached:
    - eap_fast_parse_hex
    - os_free
    - os_memcpy
    linkageType: ''
    returnType: char
    signature: char * eap_fast_parse_pac_key(struct eap_fast_pac *pac, char *pos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:365,1
    - Dst: eap_fast_parse_hex
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pac
    - pos
    argTypes:
    - struct eap_fast_pac*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 362
    functionDepth: 2
    functionLinenumber: 362
    functionLinenumberEnd: 370
    functionName: eap_fast_parse_pac_opaque
    functionSourceFile: /src/hostap/src/eap_peer/eap_fast_pac.c
    functionUses: 0
    functionsReached:
    - os_free
    - eap_fast_parse_hex
    linkageType: ''
    returnType: char
    signature: "char * eap_fast_parse_pac_opaque(struct eap_fast_pac *pac,\n\t\t\t\t\t
      \     char *pos)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:375,1
    - Dst: eap_fast_parse_hex
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:376,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pac
    - pos
    argTypes:
    - struct eap_fast_pac*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 373
    functionDepth: 2
    functionLinenumber: 373
    functionLinenumberEnd: 380
    functionName: eap_fast_parse_a_id
    functionSourceFile: /src/hostap/src/eap_peer/eap_fast_pac.c
    functionUses: 0
    functionsReached:
    - os_free
    - eap_fast_parse_hex
    linkageType: ''
    returnType: char
    signature: char * eap_fast_parse_a_id(struct eap_fast_pac *pac, char *pos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:385,1
    - Dst: eap_fast_parse_hex
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pac
    - pos
    argTypes:
    - struct eap_fast_pac*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 383
    functionDepth: 2
    functionLinenumber: 383
    functionLinenumberEnd: 390
    functionName: eap_fast_parse_i_id
    functionSourceFile: /src/hostap/src/eap_peer/eap_fast_pac.c
    functionUses: 0
    functionsReached:
    - os_free
    - eap_fast_parse_hex
    linkageType: ''
    returnType: char
    signature: char * eap_fast_parse_i_id(struct eap_fast_pac *pac, char *pos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:396,1
    - Dst: eap_fast_parse_hex
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:397,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pac
    - pos
    argTypes:
    - struct eap_fast_pac*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 393
    functionDepth: 2
    functionLinenumber: 393
    functionLinenumberEnd: 401
    functionName: eap_fast_parse_a_id_info
    functionSourceFile: /src/hostap/src/eap_peer/eap_fast_pac.c
    functionUses: 0
    functionsReached:
    - os_free
    - eap_fast_parse_hex
    linkageType: ''
    returnType: char
    signature: "char * eap_fast_parse_a_id_info(struct eap_fast_pac *pac,\n\t\t\t\t\t
      \    char *pos)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: eap_fast_init_pac_data
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:423,1
    - Dst: eap_fast_read_line
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:426,1
    - Dst: eap_fast_deinit_pac_data
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:428,1
    - Dst: os_strcmp
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:431,1
    - Dst: eap_fast_read_line
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:434,1
    - Dst: os_strcmp
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:435,1
    - Dst: eap_fast_parse_start
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:436,1
    - Dst: os_strcmp
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:437,1
    - Dst: eap_fast_parse_end
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:438,1
    - Dst: os_strcmp
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:442,1
    - Dst: eap_fast_parse_pac_type
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:443,1
    - Dst: os_strcmp
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:444,1
    - Dst: eap_fast_parse_pac_key
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:445,1
    - Dst: os_strcmp
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:446,1
    - Dst: eap_fast_parse_pac_opaque
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:447,1
    - Dst: os_strcmp
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:448,1
    - Dst: eap_fast_parse_a_id
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:449,1
    - Dst: os_strcmp
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:450,1
    - Dst: eap_fast_parse_i_id
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:451,1
    - Dst: os_strcmp
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:452,1
    - Dst: eap_fast_parse_a_id_info
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:453,1
    - Dst: eap_fast_free_pac
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:459,1
    - Dst: eap_fast_deinit_pac_data
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:462,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:465,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:470,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 45
    argCount: 3
    argNames:
    - sm
    - pac_root
    - pac_file
    argTypes:
    - struct eap_sm*
    - struct eap_fast_pac**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 411
    functionDepth: 3
    functionLinenumber: 411
    functionLinenumberEnd: 474
    functionName: eap_fast_load_pac
    functionSourceFile: /src/hostap/src/eap_peer/eap_fast_pac.c
    functionUses: 1
    functionsReached:
    - eap_fast_parse_start
    - eap_fast_deinit_pac_data
    - eap_fast_parse_pac_opaque
    - wpa_printf
    - eap_fast_parse_end
    - eap_fast_parse_pac_type
    - eap_fast_parse_i_id
    - eap_fast_read_line
    - eap_fast_parse_pac_key
    - eap_fast_free_pac
    - eap_fast_parse_a_id
    - eap_fast_parse_a_id_info
    - eap_fast_init_pac_data
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: "int eap_fast_load_pac(struct eap_sm *sm, struct eap_fast_pac **pac_root,\n\t\t
      \     const char *pac_file)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:489,1
    - Dst: os_strlen
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:491,1
    - Dst: os_realloc
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:494,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:496,1
    - Dst: os_snprintf
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:506,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:507,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:510,1
    - Dst: os_snprintf
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:511,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:512,1
    - Dst: os_snprintf
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:517,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:518,1
    - Dst: os_snprintf
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:522,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:523,1
    - Dst: os_snprintf
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:527,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:528,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 42
    argCount: 7
    argNames:
    - buf
    - pos
    - buf_len
    - field
    - data
    - len
    - txt
    argTypes:
    - char**
    - char**
    - size_t*
    - char*
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 477
    functionDepth: 1
    functionLinenumber: 477
    functionLinenumberEnd: 532
    functionName: eap_fast_write
    functionSourceFile: /src/hostap/src/eap_peer/eap_fast_pac.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_snprintf_hex
    - os_realloc
    - os_snprintf
    - os_free
    - os_snprintf_error
    linkageType: ''
    returnType: void
    signature: "void eap_fast_write(char **buf, char **pos, size_t *buf_len,\n\t\t\t
      \  const char *field, const u8 *data,\n\t\t\t   size_t len, int txt)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_strncmp
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:538,1
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:540,1
    - Dst: os_strdup
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:546,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:548,1
    - Dst: eap_set_config_blob
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:551,1
    - Dst: fopen
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:554,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:556,1
    - Dst: fwrite
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:560,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:561,1
    - Dst: fclose
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:563,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:566,1
    - Dst: fclose
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:567,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 4
    argNames:
    - sm
    - pac_file
    - buf
    - len
    argTypes:
    - struct eap_sm*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 535
    functionDepth: 1
    functionLinenumber: 535
    functionLinenumberEnd: 571
    functionName: eap_fast_write_pac
    functionSourceFile: /src/hostap/src/eap_peer/eap_fast_pac.c
    functionUses: 0
    functionsReached:
    - eap_set_config_blob
    - wpa_printf
    - fwrite
    - os_strncmp
    - fclose
    - os_zalloc
    - os_free
    - fopen
    - os_strdup
    linkageType: ''
    returnType: int
    signature: "int eap_fast_write_pac(struct eap_sm *sm, const char *pac_file,\n\t\t\t
      \     char *buf, size_t len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:579,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:581,1
    - Dst: eap_fast_write
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:585,1
    - Dst: eap_fast_write
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:587,1
    - Dst: eap_fast_write
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:589,1
    - Dst: eap_fast_write
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:591,1
    - Dst: eap_fast_write
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:593,1
    - Dst: eap_fast_write
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:595,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:598,1
    - Dst: os_snprintf
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:602,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:603,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 4
    argNames:
    - pac
    - buf
    - pos
    - buf_len
    argTypes:
    - struct eap_fast_pac*
    - char**
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 574
    functionDepth: 2
    functionLinenumber: 574
    functionLinenumberEnd: 608
    functionName: eap_fast_add_pac_data
    functionSourceFile: /src/hostap/src/eap_peer/eap_fast_pac.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - wpa_printf
    - eap_fast_write
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int eap_fast_add_pac_data(struct eap_fast_pac *pac, char **buf,\n\t\t\t\t
      char **pos, size_t *buf_len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:630,1
    - Dst: os_snprintf
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:634,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:635,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:636,1
    - Dst: eap_fast_add_pac_data
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:643,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:644,1
    - Dst: eap_fast_write_pac
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:651,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:652,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:656,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 3
    argNames:
    - sm
    - pac_root
    - pac_file
    argTypes:
    - struct eap_sm*
    - struct eap_fast_pac*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 618
    functionDepth: 3
    functionLinenumber: 618
    functionLinenumberEnd: 660
    functionName: eap_fast_save_pac
    functionSourceFile: /src/hostap/src/eap_peer/eap_fast_pac.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - os_malloc
    - os_snprintf
    - eap_fast_write_pac
    - os_free
    - eap_fast_add_pac_data
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int eap_fast_save_pac(struct eap_sm *sm, struct eap_fast_pac *pac_root,\n\t\t
      \     const char *pac_file)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eap_fast_free_pac
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:696,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - pac_root
    - max_len
    argTypes:
    - struct eap_fast_pac*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 669
    functionDepth: 1
    functionLinenumber: 669
    functionLinenumberEnd: 701
    functionName: eap_fast_pac_list_truncate
    functionSourceFile: /src/hostap/src/eap_peer/eap_fast_pac.c
    functionUses: 2
    functionsReached:
    - eap_fast_free_pac
    linkageType: ''
    returnType: size_t
    signature: "size_t eap_fast_pac_list_truncate(struct eap_fast_pac *pac_root,\n\t\t\t\t
      \ size_t max_len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:713,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:715,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:721,1
    - Dst: os_memdup
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:722,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:729,1
    - Dst: os_memdup
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:730,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 1
    argNames:
    - pac
    argTypes:
    - struct eap_fast_pac*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 704
    functionDepth: 1
    functionLinenumber: 704
    functionLinenumberEnd: 738
    functionName: eap_fast_pac_get_a_id
    functionSourceFile: /src/hostap/src/eap_peer/eap_fast_pac.c
    functionUses: 0
    functionsReached:
    - os_free
    - os_memdup
    - WPA_GET_BE16
    linkageType: ''
    returnType: void
    signature: void eap_fast_pac_get_a_id(struct eap_fast_pac *pac)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: os_strncmp
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:761,1
    - Dst: eap_get_config_blob
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:762,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:764,1
    - Dst: os_readfile
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:772,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:774,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:783,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:787,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:788,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:789,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:792,1
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:807,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:811,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:813,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:815,1
    - Dst: os_memdup
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:820,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:826,1
    - Dst: os_memdup
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:831,1
    - Dst: eap_fast_pac_get_a_id
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:835,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:846,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:848,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:854,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:857,1
    - Dst: eap_fast_free_pac
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:859,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 91
    argCount: 3
    argNames:
    - sm
    - pac_root
    - pac_file
    argTypes:
    - struct eap_sm*
    - struct eap_fast_pac**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 748
    functionDepth: 2
    functionLinenumber: 748
    functionLinenumberEnd: 861
    functionName: eap_fast_load_pac_bin
    functionSourceFile: /src/hostap/src/eap_peer/eap_fast_pac.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - WPA_GET_BE16
    - os_memcpy
    - os_memdup
    - eap_get_config_blob
    - eap_fast_pac_get_a_id
    - os_strncmp
    - eap_fast_free_pac
    - os_readfile
    - os_zalloc
    - os_free
    - WPA_GET_BE32
    linkageType: ''
    returnType: int
    signature: "int eap_fast_load_pac_bin(struct eap_sm *sm, struct eap_fast_pac **pac_root,\n\t\t\t
      \ const char *pac_file)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:889,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:894,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:896,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:901,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:903,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:905,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:907,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:909,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:911,1
    - Dst: eap_fast_write_pac
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:918,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:919,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_fast_pac.c:923,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 40
    argCount: 3
    argNames:
    - sm
    - pac_root
    - pac_file
    argTypes:
    - struct eap_sm*
    - struct eap_fast_pac*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 871
    functionDepth: 2
    functionLinenumber: 871
    functionLinenumberEnd: 927
    functionName: eap_fast_save_pac_bin
    functionSourceFile: /src/hostap/src/eap_peer/eap_fast_pac.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    - wpa_printf
    - os_malloc
    - WPA_PUT_BE16
    - WPA_PUT_BE32
    - eap_fast_write_pac
    - os_free
    linkageType: ''
    returnType: int
    signature: "int eap_fast_save_pac_bin(struct eap_sm *sm, struct eap_fast_pac *pac_root,\n\t\t\t
      \ const char *pac_file)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - username
    - len
    argTypes:
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 33
    functionName: mschapv2_remove_domain
    functionSourceFile: /src/hostap/src/eap_peer/mschapv2.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 * mschapv2_remove_domain(const u8 *username, size_t *len)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_peer/mschapv2.c:48,1
    - Dst: mschapv2_remove_domain
      Src: /src/hostap/src/eap_peer/mschapv2.c:51,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_peer/mschapv2.c:52,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/mschapv2.c:55,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/mschapv2.c:57,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_peer/mschapv2.c:59,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_peer/mschapv2.c:64,1
    - Dst: generate_nt_response_pwhash
      Src: /src/hostap/src/eap_peer/mschapv2.c:66,1
    - Dst: generate_authenticator_response_pwhash
      Src: /src/hostap/src/eap_peer/mschapv2.c:69,1
    - Dst: wpa_hexdump_ascii_key
      Src: /src/hostap/src/eap_peer/mschapv2.c:75,1
    - Dst: generate_nt_response
      Src: /src/hostap/src/eap_peer/mschapv2.c:77,1
    - Dst: generate_authenticator_response
      Src: /src/hostap/src/eap_peer/mschapv2.c:81,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/mschapv2.c:89,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/mschapv2.c:91,1
    - Dst: hash_nt_password_hash
      Src: /src/hostap/src/eap_peer/mschapv2.c:96,1
    - Dst: nt_password_hash
      Src: /src/hostap/src/eap_peer/mschapv2.c:99,1
    - Dst: hash_nt_password_hash
      Src: /src/hostap/src/eap_peer/mschapv2.c:100,1
    - Dst: get_master_key
      Src: /src/hostap/src/eap_peer/mschapv2.c:103,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_peer/mschapv2.c:105,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 10
    argNames:
    - identity
    - identity_len
    - password
    - password_len
    - pwhash
    - auth_challenge
    - peer_challenge
    - nt_response
    - auth_response
    - master_key
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - int
    - u8*
    - u8*
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 109
    functionName: mschapv2_derive_response
    functionSourceFile: /src/hostap/src/eap_peer/mschapv2.c
    functionUses: 2
    functionsReached:
    - mschapv2_remove_domain
    - wpa_hexdump_key
    - wpa_hexdump
    - generate_authenticator_response_pwhash
    - generate_nt_response
    - generate_nt_response_pwhash
    - nt_password_hash
    - generate_authenticator_response
    - wpa_hexdump_ascii_key
    - hash_nt_password_hash
    - get_master_key
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: int
    signature: "int mschapv2_derive_response(const u8 *identity, size_t identity_len,\n\t\t\t
      \    const u8 *password, size_t password_len,\n\t\t\t     int pwhash,\n\t\t\t
      \    const u8 *auth_challenge,\n\t\t\t     const u8 *peer_challenge,\n\t\t\t
      \    u8 *nt_response, u8 *auth_response,\n\t\t\t     u8 *master_key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hexstr2bin
      Src: /src/hostap/src/eap_peer/mschapv2.c:118,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/eap_peer/mschapv2.c:120,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - auth_response
    - buf
    - buf_len
    argTypes:
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 124
    functionName: mschapv2_verify_auth_response
    functionSourceFile: /src/hostap/src/eap_peer/mschapv2.c
    functionUses: 2
    functionsReached:
    - hexstr2bin
    - os_memcmp_const
    linkageType: ''
    returnType: int
    signature: "int mschapv2_verify_auth_response(const u8 *auth_response,\n\t\t\t\t
      \ const u8 *buf, size_t buf_len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - state
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 46
    functionName: eap_wsc_state_txt
    functionSourceFile: /src/hostap/src/eap_peer/eap_wsc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * eap_wsc_state_txt(int state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_wsc.c:51,1
    - Dst: eap_wsc_state_txt
      Src: /src/hostap/src/eap_peer/eap_wsc.c:52,1
    - Dst: eap_wsc_state_txt
      Src: /src/hostap/src/eap_peer/eap_wsc.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - state
    argTypes:
    - struct eap_wsc_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: eap_wsc_state
    functionSourceFile: /src/hostap/src/eap_peer/eap_wsc.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_wsc_state_txt
    linkageType: ''
    returnType: void
    signature: void eap_wsc_state(struct eap_wsc_data *data, int state)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/eap_peer/eap_wsc.c:64,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/eap_wsc.c:66,1
    - Dst: os_strchr
      Src: /src/hostap/src/eap_peer/eap_wsc.c:70,1
    - Dst: os_strlen
      Src: /src/hostap/src/eap_peer/eap_wsc.c:72,1
    - Dst: hexstr2bin
      Src: /src/hostap/src/eap_peer/eap_wsc.c:76,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_wsc.c:77,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/eap_wsc.c:82,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_wsc.c:84,1
    - Dst: os_strncmp
      Src: /src/hostap/src/eap_peer/eap_wsc.c:87,1
    - Dst: os_strncmp
      Src: /src/hostap/src/eap_peer/eap_wsc.c:89,1
    - Dst: os_strncmp
      Src: /src/hostap/src/eap_peer/eap_wsc.c:91,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_wsc.c:94,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/eap_wsc.c:98,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_wsc.c:100,1
    - Dst: os_strncmp
      Src: /src/hostap/src/eap_peer/eap_wsc.c:103,1
    - Dst: os_strncmp
      Src: /src/hostap/src/eap_peer/eap_wsc.c:106,1
    - Dst: os_strncmp
      Src: /src/hostap/src/eap_peer/eap_wsc.c:109,1
    - Dst: os_strncmp
      Src: /src/hostap/src/eap_peer/eap_wsc.c:111,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_wsc.c:114,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 2
    argNames:
    - cred
    - params
    argTypes:
    - struct wps_credential*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 116
    functionName: eap_wsc_new_ap_settings
    functionSourceFile: /src/hostap/src/eap_peer/eap_wsc.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - hexstr2bin
    - os_strncmp
    - os_strstr
    - os_strchr
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int eap_wsc_new_ap_settings(struct wps_credential *cred,\n\t\t\t\t
      \  const char *params)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_wsc.c:155,1
    - Dst: eap_get_config_identity
      Src: /src/hostap/src/eap_peer/eap_wsc.c:159,1
    - Dst: os_memcmp
      Src: /src/hostap/src/eap_peer/eap_wsc.c:162,1
    - Dst: os_memcmp
      Src: /src/hostap/src/eap_peer/eap_wsc.c:165,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_peer/eap_wsc.c:168,1
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_peer/eap_wsc.c:173,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_peer/eap_wsc.c:180,1
    - Dst: eap_get_config_phase1
      Src: /src/hostap/src/eap_peer/eap_wsc.c:184,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_wsc.c:186,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_wsc.c:188,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/eap_wsc.c:192,1
    - Dst: os_strncmp
      Src: /src/hostap/src/eap_peer/eap_wsc.c:200,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/eap_wsc.c:206,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/eap_wsc.c:211,1
    - Dst: atoi
      Src: /src/hostap/src/eap_peer/eap_wsc.c:213,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_wsc.c:221,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_wsc.c:223,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/eap_wsc.c:227,1
    - Dst: os_strchr
      Src: /src/hostap/src/eap_peer/eap_wsc.c:231,1
    - Dst: os_strlen
      Src: /src/hostap/src/eap_peer/eap_wsc.c:235,1
    - Dst: hexstr2bin
      Src: /src/hostap/src/eap_peer/eap_wsc.c:237,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_wsc.c:238,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_wsc.c:239,1
    - Dst: eap_wsc_new_ap_settings
      Src: /src/hostap/src/eap_peer/eap_wsc.c:245,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_wsc.c:247,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_wsc.c:248,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_wsc.c:253,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_peer/eap_wsc.c:258,1
    - Dst: atoi
      Src: /src/hostap/src/eap_peer/eap_wsc.c:260,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_wsc.c:266,1
    - Dst: wps_init
      Src: /src/hostap/src/eap_peer/eap_wsc.c:271,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_wsc.c:273,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_wsc.c:274,1
    - Dst: eap_get_config_fragment_size
      Src: /src/hostap/src/eap_peer/eap_wsc.c:277,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_wsc.c:282,1
    - Dst: wps_registrar_add_pin
      Src: /src/hostap/src/eap_peer/eap_wsc.c:286,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 108
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 295
    functionName: eap_wsc_init
    functionSourceFile: /src/hostap/src/eap_peer/eap_wsc.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - eap_get_config_phase1
    - wpa_printf
    - eap_get_config_fragment_size
    - hexstr2bin
    - os_strncmp
    - os_strstr
    - eap_get_config_identity
    - os_zalloc
    - atoi
    - wps_registrar_add_pin
    - os_memcmp
    - wps_init
    - os_free
    - os_strchr
    - eap_wsc_new_ap_settings
    - wpa_hexdump_ascii
    - os_memset
    linkageType: ''
    returnType: void
    signature: void * eap_wsc_init(struct eap_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_wsc.c:301,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_wsc.c:302,1
    - Dst: wps_deinit
      Src: /src/hostap/src/eap_peer/eap_wsc.c:303,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_wsc.c:304,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/eap_wsc.c:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 307
    functionName: eap_wsc_deinit
    functionSourceFile: /src/hostap/src/eap_peer/eap_wsc.c
    functionUses: 0
    functionsReached:
    - os_free
    - wps_deinit
    - wpabuf_free
    linkageType: ''
    returnType: void
    signature: void eap_wsc_deinit(struct eap_sm *sm, void *priv)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_wsc.c:318,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_wsc.c:322,1
    - Dst: eap_msg_alloc
      Src: /src/hostap/src/eap_peer/eap_wsc.c:334,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/eap_wsc.c:339,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/eap_wsc.c:340,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/eap_peer/eap_wsc.c:342,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_wsc.c:342,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_peer/eap_wsc.c:344,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/eap_peer/eap_wsc.c:344,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_wsc.c:351,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_wsc.c:352,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_wsc.c:355,1
    - Dst: eap_wsc_state
      Src: /src/hostap/src/eap_peer/eap_wsc.c:361,1
    - Dst: eap_wsc_state
      Src: /src/hostap/src/eap_peer/eap_wsc.c:364,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_wsc.c:366,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/eap_wsc.c:368,1
    - Dst: eap_wsc_state
      Src: /src/hostap/src/eap_peer/eap_wsc.c:370,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 3
    argNames:
    - data
    - ret
    - id
    argTypes:
    - struct eap_wsc_data*
    - struct eap_method_ret*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 374
    functionName: eap_wsc_build_msg
    functionSourceFile: /src/hostap/src/eap_peer/eap_wsc.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_head_u8
    - wpabuf_put_u8
    - wpabuf_put_data
    - wpabuf_len
    - eap_msg_alloc
    - wpabuf_free
    - wpabuf_put_be16
    - eap_wsc_state
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_wsc_build_msg(struct eap_wsc_data *data,\n\t\t\t\t\t
      struct eap_method_ret *ret, u8 id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_wsc.c:382,1
    - Dst: wpabuf_tailroom
      Src: /src/hostap/src/eap_peer/eap_wsc.c:388,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_wsc.c:389,1
    - Dst: eap_wsc_state
      Src: /src/hostap/src/eap_peer/eap_wsc.c:390,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_peer/eap_wsc.c:394,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_wsc.c:395,1
    - Dst: wpabuf_tailroom
      Src: /src/hostap/src/eap_peer/eap_wsc.c:397,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - data
    - buf
    - len
    - op_code
    argTypes:
    - struct eap_wsc_data*
    - u8*
    - size_t
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 400
    functionName: eap_wsc_process_cont
    functionSourceFile: /src/hostap/src/eap_peer/eap_wsc.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put_data
    - eap_wsc_state
    - wpabuf_tailroom
    linkageType: ''
    returnType: int
    signature: "int eap_wsc_process_cont(struct eap_wsc_data *data,\n\t\t\t\tconst
      u8 *buf, size_t len, u8 op_code)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_wsc.c:411,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eap_peer/eap_wsc.c:419,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_wsc.c:421,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_peer/eap_wsc.c:427,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_wsc.c:428,1
    - Dst: wpabuf_tailroom
      Src: /src/hostap/src/eap_peer/eap_wsc.c:431,1
    - Dst: eap_wsc_build_frag_ack
      Src: /src/hostap/src/eap_peer/eap_wsc.c:434,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 8
    argNames:
    - data
    - ret
    - id
    - flags
    - op_code
    - message_length
    - buf
    - len
    argTypes:
    - struct eap_wsc_data*
    - struct eap_method_ret*
    - u8
    - u8
    - u8
    - u16
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 435
    functionName: eap_wsc_process_fragment
    functionSourceFile: /src/hostap/src/eap_peer/eap_wsc.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_wsc_build_frag_ack
    - wpabuf_put_data
    - wpabuf_tailroom
    - wpabuf_alloc
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_wsc_process_fragment(struct eap_wsc_data *data,\n\t\t\t\t\t\tstruct
      eap_method_ret *ret,\n\t\t\t\t\t\tu8 id, u8 flags, u8 op_code,\n\t\t\t\t\t\tu16
      message_length,\n\t\t\t\t\t\tconst u8 *buf, size_t len)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_peer/eap_wsc.c:451,1
    - Dst: eap_get_id
      Src: /src/hostap/src/eap_peer/eap_wsc.c:458,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_wsc.c:467,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_peer/eap_wsc.c:471,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_wsc.c:475,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_wsc.c:482,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_wsc.c:488,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_wsc.c:493,1
    - Dst: eap_wsc_state
      Src: /src/hostap/src/eap_peer/eap_wsc.c:494,1
    - Dst: eap_wsc_build_msg
      Src: /src/hostap/src/eap_peer/eap_wsc.c:495,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_wsc.c:500,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_wsc.c:508,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_wsc.c:513,1
    - Dst: eap_wsc_state
      Src: /src/hostap/src/eap_peer/eap_wsc.c:514,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_wsc.c:518,1
    - Dst: eap_wsc_process_cont
      Src: /src/hostap/src/eap_peer/eap_wsc.c:525,1
    - Dst: eap_wsc_process_fragment
      Src: /src/hostap/src/eap_peer/eap_wsc.c:531,1
    - Dst: wpabuf_set
      Src: /src/hostap/src/eap_peer/eap_wsc.c:538,1
    - Dst: wps_process_msg
      Src: /src/hostap/src/eap_peer/eap_wsc.c:542,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_wsc.c:545,1
    - Dst: eap_wsc_state
      Src: /src/hostap/src/eap_peer/eap_wsc.c:547,1
    - Dst: eap_wsc_state
      Src: /src/hostap/src/eap_peer/eap_wsc.c:550,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_wsc.c:554,1
    - Dst: eap_wsc_state
      Src: /src/hostap/src/eap_peer/eap_wsc.c:555,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/eap_wsc.c:560,1
    - Dst: wps_get_msg
      Src: /src/hostap/src/eap_peer/eap_wsc.c:565,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/eap_wsc.c:567,1
    - Dst: eap_wsc_state
      Src: /src/hostap/src/eap_peer/eap_wsc.c:569,1
    - Dst: eap_wsc_state
      Src: /src/hostap/src/eap_peer/eap_wsc.c:577,1
    - Dst: eap_wsc_build_msg
      Src: /src/hostap/src/eap_peer/eap_wsc.c:578,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 106
    argCount: 4
    argNames:
    - sm
    - priv
    - ret
    - reqData
    argTypes:
    - struct eap_sm*
    - void*
    - struct eap_method_ret*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 585
    functionName: eap_wsc_process
    functionSourceFile: /src/hostap/src/eap_peer/eap_wsc.c
    functionUses: 0
    functionsReached:
    - eap_get_id
    - wpa_printf
    - WPA_GET_BE16
    - eap_wsc_process_fragment
    - wps_get_msg
    - wps_process_msg
    - eap_wsc_build_msg
    - wpabuf_free
    - eap_wsc_process_cont
    - wpabuf_set
    - eap_hdr_validate
    - eap_wsc_state
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_wsc_process(struct eap_sm *sm, void *priv,\n\t\t\t\t
      \      struct eap_method_ret *ret,\n\t\t\t\t       const struct wpabuf *reqData)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_peer_method_alloc
      Src: /src/hostap/src/eap_peer/eap_wsc.c:592,1
    - Dst: eap_peer_method_register
      Src: /src/hostap/src/eap_peer/eap_wsc.c:602,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 603
    functionName: eap_peer_wsc_register
    functionSourceFile: /src/hostap/src/eap_peer/eap_wsc.c
    functionUses: 1
    functionsReached:
    - eap_peer_method_register
    - eap_peer_method_alloc
    linkageType: ''
    returnType: int
    signature: int eap_peer_wsc_register(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ikev2_free_keys
      Src: /src/hostap/src/eap_peer/ikev2.c:19,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/ikev2.c:20,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/ikev2.c:21,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/ikev2.c:22,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/ikev2.c:23,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/ikev2.c:24,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/ikev2.c:25,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/ikev2.c:26,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/ikev2.c:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct ikev2_responder_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 28
    functionName: ikev2_responder_deinit
    functionSourceFile: /src/hostap/src/eap_peer/ikev2.c
    functionUses: 2
    functionsReached:
    - wpabuf_free
    - os_free
    - ikev2_free_keys
    linkageType: ''
    returnType: void
    signature: void ikev2_responder_deinit(struct ikev2_responder_data *data)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ikev2_get_integ
      Src: /src/hostap/src/eap_peer/ikev2.c:45,1
    - Dst: ikev2_get_prf
      Src: /src/hostap/src/eap_peer/ikev2.c:46,1
    - Dst: ikev2_get_encr
      Src: /src/hostap/src/eap_peer/ikev2.c:47,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:49,1
    - Dst: dh_derive_shared
      Src: /src/hostap/src/eap_peer/ikev2.c:53,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_peer/ikev2.c:61,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/ikev2.c:63,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/ikev2.c:68,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/ikev2.c:70,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/ikev2.c:72,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/ikev2.c:74,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/ikev2.c:78,1
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_peer/ikev2.c:79,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/ikev2.c:81,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/ikev2.c:82,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_peer/ikev2.c:88,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/ikev2.c:89,1
    - Dst: ikev2_prf_hash
      Src: /src/hostap/src/eap_peer/ikev2.c:90,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/ikev2.c:92,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/ikev2.c:93,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/ikev2.c:94,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/ikev2.c:97,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/ikev2.c:98,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/ikev2.c:101,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/ikev2.c:103,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_peer/ikev2.c:106,1
    - Dst: ikev2_derive_sk_keys
      Src: /src/hostap/src/eap_peer/ikev2.c:109,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/ikev2.c:111,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 52
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct ikev2_responder_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 113
    functionName: ikev2_derive_keys
    functionSourceFile: /src/hostap/src/eap_peer/ikev2.c
    functionUses: 0
    functionsReached:
    - ikev2_get_prf
    - wpa_printf
    - os_memcpy
    - ikev2_get_integ
    - wpa_hexdump_key
    - wpabuf_len
    - ikev2_prf_hash
    - wpabuf_free
    - os_malloc
    - ikev2_get_encr
    - ikev2_derive_sk_keys
    - dh_derive_shared
    - wpabuf_head
    - os_zalloc
    - os_free
    linkageType: ''
    returnType: int
    signature: int ikev2_derive_keys(struct ikev2_responder_data *data)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:125,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_peer/ikev2.c:130,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:132,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_peer/ikev2.c:138,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:140,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:141,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:146,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/ikev2.c:152,1
    - Dst: ikev2_get_encr
      Src: /src/hostap/src/eap_peer/ikev2.c:158,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:161,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_peer/ikev2.c:165,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:166,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_peer/ikev2.c:171,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:172,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_peer/ikev2.c:175,1
    - Dst: ikev2_get_prf
      Src: /src/hostap/src/eap_peer/ikev2.c:183,1
    - Dst: ikev2_get_integ
      Src: /src/hostap/src/eap_peer/ikev2.c:187,1
    - Dst: dh_groups_get
      Src: /src/hostap/src/eap_peer/ikev2.c:191,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 57
    argCount: 3
    argNames:
    - prop
    - pos
    - end
    argTypes:
    - struct ikev2_proposal_data*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 197
    functionName: ikev2_parse_transform
    functionSourceFile: /src/hostap/src/eap_peer/ikev2.c
    functionUses: 0
    functionsReached:
    - ikev2_get_prf
    - dh_groups_get
    - wpa_printf
    - WPA_GET_BE16
    - ikev2_get_integ
    - wpa_hexdump
    - ikev2_get_encr
    linkageType: ''
    returnType: int
    signature: "int ikev2_parse_transform(struct ikev2_proposal_data *prop,\n\t\t\t\t
      const u8 *pos, const u8 *end)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:209,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_peer/ikev2.c:216,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:218,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:222,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:224,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:227,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:231,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:236,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:245,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:253,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/ikev2.c:258,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:269,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:275,1
    - Dst: ikev2_parse_transform
      Src: /src/hostap/src/eap_peer/ikev2.c:280,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:287,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 58
    argCount: 3
    argNames:
    - prop
    - pos
    - end
    argTypes:
    - struct ikev2_proposal_data*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 293
    functionName: ikev2_parse_proposal
    functionSourceFile: /src/hostap/src/eap_peer/ikev2.c
    functionUses: 0
    functionsReached:
    - ikev2_parse_transform
    - wpa_printf
    - WPA_GET_BE16
    - wpa_hexdump
    linkageType: ''
    returnType: int
    signature: "int ikev2_parse_proposal(struct ikev2_proposal_data *prop,\n\t\t\t\tconst
      u8 *pos, const u8 *end)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:306,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_peer/ikev2.c:310,1
    - Dst: ikev2_parse_proposal
      Src: /src/hostap/src/eap_peer/ikev2.c:323,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/ikev2.c:329,1
    - Dst: dh_groups_get
      Src: /src/hostap/src/eap_peer/ikev2.c:330,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:338,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:343,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:347,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 3
    argNames:
    - data
    - sai1
    - sai1_len
    argTypes:
    - struct ikev2_responder_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 353
    functionName: ikev2_process_sai1
    functionSourceFile: /src/hostap/src/eap_peer/ikev2.c
    functionUses: 0
    functionsReached:
    - dh_groups_get
    - os_memcpy
    - wpa_printf
    - ikev2_parse_proposal
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int ikev2_process_sai1(struct ikev2_responder_data *data,\n\t\t\t
      \     const u8 *sai1, size_t sai1_len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:369,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:374,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_peer/ikev2.c:378,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:379,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:382,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:393,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:402,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/ikev2.c:408,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eap_peer/ikev2.c:409,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_peer/ikev2.c:412,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/eap_peer/ikev2.c:414,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 3
    argNames:
    - data
    - kei
    - kei_len
    argTypes:
    - struct ikev2_responder_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 418
    functionName: ikev2_process_kei
    functionSourceFile: /src/hostap/src/eap_peer/ikev2.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - WPA_GET_BE16
    - wpabuf_put_data
    - wpabuf_free
    - wpabuf_alloc
    - wpa_hexdump_buf
    linkageType: ''
    returnType: int
    signature: "int ikev2_process_kei(struct ikev2_responder_data *data,\n\t\t\t     const
      u8 *kei, size_t kei_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:425,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:430,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/ikev2.c:436,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/ikev2.c:437,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - data
    - ni
    - ni_len
    argTypes:
    - struct ikev2_responder_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 441
    functionName: ikev2_process_ni
    functionSourceFile: /src/hostap/src/eap_peer/ikev2.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_hexdump
    linkageType: ''
    returnType: int
    signature: "int ikev2_process_ni(struct ikev2_responder_data *data,\n\t\t\t    const
      u8 *ni, size_t ni_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ikev2_process_sai1
      Src: /src/hostap/src/eap_peer/ikev2.c:448,1
    - Dst: ikev2_process_kei
      Src: /src/hostap/src/eap_peer/ikev2.c:449,1
    - Dst: ikev2_process_ni
      Src: /src/hostap/src/eap_peer/ikev2.c:450,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/ikev2.c:453,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - data
    - hdr
    - pl
    argTypes:
    - struct ikev2_responder_data*
    - struct ikev2_hdr*
    - struct ikev2_payloads*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 444
    functionDepth: 2
    functionLinenumber: 444
    functionLinenumberEnd: 456
    functionName: ikev2_process_sa_init
    functionSourceFile: /src/hostap/src/eap_peer/ikev2.c
    functionUses: 0
    functionsReached:
    - ikev2_process_kei
    - ikev2_process_sai1
    - os_memcpy
    - ikev2_process_ni
    linkageType: ''
    returnType: int
    signature: "int ikev2_process_sa_init(struct ikev2_responder_data *data,\n\t\t\t\t
      const struct ikev2_hdr *hdr,\n\t\t\t\t struct ikev2_payloads *pl)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:465,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:470,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:478,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_peer/ikev2.c:479,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/ikev2.c:480,1
    - Dst: os_memdup
      Src: /src/hostap/src/eap_peer/ikev2.c:481,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - data
    - idi
    - idi_len
    argTypes:
    - struct ikev2_responder_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 488
    functionName: ikev2_process_idi
    functionSourceFile: /src/hostap/src/eap_peer/ikev2.c
    functionUses: 0
    functionsReached:
    - os_free
    - os_memdup
    - wpa_printf
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: int
    signature: "int ikev2_process_idi(struct ikev2_responder_data *data,\n\t\t\t     const
      u8 *idi, size_t idi_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:498,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:505,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:513,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/ikev2.c:514,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - data
    - cert
    - cert_len
    argTypes:
    - struct ikev2_responder_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 519
    functionName: ikev2_process_cert
    functionSourceFile: /src/hostap/src/eap_peer/ikev2.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    linkageType: ''
    returnType: int
    signature: "int ikev2_process_cert(struct ikev2_responder_data *data,\n\t\t\t
      \     const u8 *cert, size_t cert_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:526,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - data
    - method
    - auth
    - auth_len
    argTypes:
    - struct ikev2_responder_data*
    - u8
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 533
    functionName: ikev2_process_auth_cert
    functionSourceFile: /src/hostap/src/eap_peer/ikev2.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int ikev2_process_auth_cert(struct ikev2_responder_data *data,\n\t\t\t\t
      \  u8 method, const u8 *auth, size_t auth_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:544,1
    - Dst: ikev2_derive_auth_data
      Src: /src/hostap/src/eap_peer/ikev2.c:550,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:557,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/ikev2.c:561,1
    - Dst: ikev2_get_prf
      Src: /src/hostap/src/eap_peer/ikev2.c:564,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/eap_peer/ikev2.c:569,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:570,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/ikev2.c:571,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/ikev2.c:573,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:580,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 4
    argNames:
    - data
    - method
    - auth
    - auth_len
    argTypes:
    - struct ikev2_responder_data*
    - u8
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 584
    functionName: ikev2_process_auth_secret
    functionSourceFile: /src/hostap/src/eap_peer/ikev2.c
    functionUses: 0
    functionsReached:
    - ikev2_get_prf
    - wpa_printf
    - wpa_hexdump
    - wpabuf_free
    - os_memcmp_const
    - ikev2_derive_auth_data
    linkageType: ''
    returnType: int
    signature: "int ikev2_process_auth_secret(struct ikev2_responder_data *data,\n\t\t\t\t
      \    u8 method, const u8 *auth,\n\t\t\t\t     size_t auth_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:593,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:598,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:607,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/ikev2.c:608,1
    - Dst: ikev2_process_auth_cert
      Src: /src/hostap/src/eap_peer/ikev2.c:612,1
    - Dst: ikev2_process_auth_secret
      Src: /src/hostap/src/eap_peer/ikev2.c:615,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - data
    - auth
    - auth_len
    argTypes:
    - struct ikev2_responder_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 620
    functionName: ikev2_process_auth
    functionSourceFile: /src/hostap/src/eap_peer/ikev2.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - ikev2_process_auth_cert
    - wpa_hexdump
    - ikev2_process_auth_secret
    linkageType: ''
    returnType: int
    signature: "int ikev2_process_auth(struct ikev2_responder_data *data,\n\t\t\t
      \     const u8 *auth, size_t auth_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:629,1
    - Dst: ikev2_parse_payloads
      Src: /src/hostap/src/eap_peer/ikev2.c:631,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:633,1
    - Dst: ikev2_process_idi
      Src: /src/hostap/src/eap_peer/ikev2.c:638,1
    - Dst: ikev2_process_cert
      Src: /src/hostap/src/eap_peer/ikev2.c:639,1
    - Dst: ikev2_process_auth
      Src: /src/hostap/src/eap_peer/ikev2.c:640,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - data
    - next_payload
    - payload
    - payload_len
    argTypes:
    - struct ikev2_responder_data*
    - u8
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 623
    functionDepth: 1
    functionLinenumber: 623
    functionLinenumberEnd: 644
    functionName: ikev2_process_sa_auth_decrypted
    functionSourceFile: /src/hostap/src/eap_peer/ikev2.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - ikev2_process_auth
    - ikev2_process_cert
    - ikev2_parse_payloads
    - ikev2_process_idi
    linkageType: ''
    returnType: int
    signature: "int ikev2_process_sa_auth_decrypted(struct ikev2_responder_data *data,\n\t\t\t\t\t
      \  u8 next_payload,\n\t\t\t\t\t   u8 *payload, size_t payload_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ikev2_decrypt_payload
      Src: /src/hostap/src/eap_peer/ikev2.c:655,1
    - Dst: ikev2_process_sa_auth_decrypted
      Src: /src/hostap/src/eap_peer/ikev2.c:662,1
    - Dst: os_free
      Src: /src/hostap/src/eap_peer/ikev2.c:664,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - data
    - hdr
    - pl
    argTypes:
    - struct ikev2_responder_data*
    - struct ikev2_hdr*
    - struct ikev2_payloads*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 647
    functionDepth: 1
    functionLinenumber: 647
    functionLinenumberEnd: 667
    functionName: ikev2_process_sa_auth
    functionSourceFile: /src/hostap/src/eap_peer/ikev2.c
    functionUses: 0
    functionsReached:
    - os_free
    - ikev2_process_sa_auth_decrypted
    - ikev2_decrypt_payload
    linkageType: ''
    returnType: int
    signature: "int ikev2_process_sa_auth(struct ikev2_responder_data *data,\n\t\t\t\t
      const struct ikev2_hdr *hdr,\n\t\t\t\t struct ikev2_payloads *pl)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:677,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:682,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:693,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:698,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:705,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:710,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 3
    argNames:
    - data
    - exchange_type
    - message_id
    argTypes:
    - struct ikev2_responder_data*
    - u8
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 722
    functionName: ikev2_validate_rx_state
    functionSourceFile: /src/hostap/src/eap_peer/ikev2.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int ikev2_validate_rx_state(struct ikev2_responder_data *data,\n\t\t\t\t
      \  u8 exchange_type, u32 message_id)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:733,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/ikev2.c:734,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/ikev2.c:736,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:737,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_peer/ikev2.c:742,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/eap_peer/ikev2.c:743,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/ikev2.c:743,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/eap_peer/ikev2.c:744,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/eap_peer/ikev2.c:745,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/ikev2.c:747,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/ikev2.c:749,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:751,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:754,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:758,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/ikev2.c:763,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:764,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/ikev2.c:766,1
    - Dst: ikev2_validate_rx_state
      Src: /src/hostap/src/eap_peer/ikev2.c:770,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:775,1
    - Dst: os_memcmp
      Src: /src/hostap/src/eap_peer/ikev2.c:781,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:782,1
    - Dst: os_memcmp
      Src: /src/hostap/src/eap_peer/ikev2.c:786,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:787,1
    - Dst: ikev2_parse_payloads
      Src: /src/hostap/src/eap_peer/ikev2.c:794,1
    - Dst: ikev2_process_sa_init
      Src: /src/hostap/src/eap_peer/ikev2.c:799,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/ikev2.c:804,1
    - Dst: wpabuf_dup
      Src: /src/hostap/src/eap_peer/ikev2.c:805,1
    - Dst: ikev2_process_sa_auth
      Src: /src/hostap/src/eap_peer/ikev2.c:810,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 61
    argCount: 2
    argNames:
    - data
    - buf
    argTypes:
    - struct ikev2_responder_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 725
    functionDepth: 1
    functionLinenumber: 725
    functionLinenumberEnd: 818
    functionName: ikev2_responder_process
    functionSourceFile: /src/hostap/src/eap_peer/ikev2.c
    functionUses: 1
    functionsReached:
    - wpabuf_dup
    - wpa_printf
    - ikev2_validate_rx_state
    - wpabuf_head_u8
    - wpa_hexdump
    - ikev2_process_sa_auth
    - wpabuf_len
    - wpabuf_free
    - wpabuf_head
    - ikev2_parse_payloads
    - os_memcmp
    - ikev2_process_sa_init
    - WPA_GET_BE32
    linkageType: ''
    returnType: int
    signature: "int ikev2_responder_process(struct ikev2_responder_data *data,\n\t\t\t
      \   const struct wpabuf *buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:827,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/ikev2.c:830,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/ikev2.c:831,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_peer/ikev2.c:832,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/src/eap_peer/ikev2.c:837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 5
    argNames:
    - data
    - msg
    - exchange_type
    - next_payload
    - message_id
    argTypes:
    - struct ikev2_responder_data*
    - struct wpabuf*
    - u8
    - u8
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 821
    functionDepth: 1
    functionLinenumber: 821
    functionLinenumberEnd: 838
    functionName: ikev2_build_hdr
    functionSourceFile: /src/hostap/src/eap_peer/ikev2.c
    functionUses: 0
    functionsReached:
    - WPA_PUT_BE32
    - wpa_printf
    - os_memcpy
    - wpabuf_put
    linkageType: ''
    returnType: void
    signature: "void ikev2_build_hdr(struct ikev2_responder_data *data,\n\t\t\t    struct
      wpabuf *msg, u8 exchange_type,\n\t\t\t    u8 next_payload, u32 message_id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:849,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/ikev2.c:852,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/ikev2.c:856,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/ikev2.c:861,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/eap_peer/ikev2.c:864,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/eap_peer/ikev2.c:867,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/eap_peer/ikev2.c:868,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/ikev2.c:870,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/eap_peer/ikev2.c:871,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/ikev2.c:873,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/eap_peer/ikev2.c:875,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/eap_peer/ikev2.c:877,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/ikev2.c:879,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/eap_peer/ikev2.c:881,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/eap_peer/ikev2.c:883,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/ikev2.c:885,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/eap_peer/ikev2.c:886,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/eap_peer/ikev2.c:888,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/ikev2.c:890,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/eap_peer/ikev2.c:891,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/ikev2.c:893,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/eap_peer/ikev2.c:894,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 38
    argCount: 3
    argNames:
    - data
    - msg
    - next_payload
    argTypes:
    - struct ikev2_responder_data*
    - struct wpabuf*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 841
    functionDepth: 1
    functionLinenumber: 841
    functionLinenumberEnd: 897
    functionName: ikev2_build_sar1
    functionSourceFile: /src/hostap/src/eap_peer/ikev2.c
    functionUses: 0
    functionsReached:
    - wpabuf_put_be16
    - wpa_printf
    - WPA_PUT_BE16
    - wpabuf_put
    linkageType: ''
    returnType: int
    signature: "int ikev2_build_sar1(struct ikev2_responder_data *data,\n\t\t\t    struct
      wpabuf *msg, u8 next_payload)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:907,1
    - Dst: dh_init
      Src: /src/hostap/src/eap_peer/ikev2.c:909,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:911,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/ikev2.c:916,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/eap_peer/ikev2.c:920,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/ikev2.c:921,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/ikev2.c:926,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_peer/ikev2.c:926,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/eap_peer/ikev2.c:927,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/ikev2.c:928,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/ikev2.c:930,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/eap_peer/ikev2.c:931,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 3
    argNames:
    - data
    - msg
    - next_payload
    argTypes:
    - struct ikev2_responder_data*
    - struct wpabuf*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 900
    functionDepth: 1
    functionLinenumber: 900
    functionLinenumberEnd: 933
    functionName: ikev2_build_ker
    functionSourceFile: /src/hostap/src/eap_peer/ikev2.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put
    - wpabuf_len
    - wpabuf_free
    - wpabuf_put_be16
    - WPA_PUT_BE16
    - wpabuf_put_buf
    - dh_init
    linkageType: ''
    returnType: int
    signature: "int ikev2_build_ker(struct ikev2_responder_data *data,\n\t\t\t   struct
      wpabuf *msg, u8 next_payload)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:942,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/ikev2.c:945,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_peer/ikev2.c:948,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/ikev2.c:949,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/eap_peer/ikev2.c:950,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - data
    - msg
    - next_payload
    argTypes:
    - struct ikev2_responder_data*
    - struct wpabuf*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 936
    functionDepth: 1
    functionLinenumber: 936
    functionLinenumberEnd: 952
    functionName: ikev2_build_nr
    functionSourceFile: /src/hostap/src/eap_peer/ikev2.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - WPA_PUT_BE16
    - wpabuf_put_data
    - wpabuf_put
    linkageType: ''
    returnType: int
    signature: "int ikev2_build_nr(struct ikev2_responder_data *data,\n\t\t\t  struct
      wpabuf *msg, u8 next_payload)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:961,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:964,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/ikev2.c:969,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/ikev2.c:972,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/ikev2.c:973,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_peer/ikev2.c:974,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/ikev2.c:975,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/eap_peer/ikev2.c:976,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - data
    - msg
    - next_payload
    argTypes:
    - struct ikev2_responder_data*
    - struct wpabuf*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 955
    functionDepth: 1
    functionLinenumber: 955
    functionLinenumberEnd: 978
    functionName: ikev2_build_idr
    functionSourceFile: /src/hostap/src/eap_peer/ikev2.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put
    - wpabuf_put_data
    - wpabuf_put_u8
    - WPA_PUT_BE16
    linkageType: ''
    returnType: int
    signature: "int ikev2_build_idr(struct ikev2_responder_data *data,\n\t\t\t   struct
      wpabuf *msg, u8 next_payload)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:988,1
    - Dst: ikev2_get_prf
      Src: /src/hostap/src/eap_peer/ikev2.c:990,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/ikev2.c:995,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/ikev2.c:998,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/ikev2.c:999,1
    - Dst: ikev2_derive_auth_data
      Src: /src/hostap/src/eap_peer/ikev2.c:1002,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/ikev2.c:1008,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:1009,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/ikev2.c:1012,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/ikev2.c:1015,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/eap_peer/ikev2.c:1016,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - data
    - msg
    - next_payload
    argTypes:
    - struct ikev2_responder_data*
    - struct wpabuf*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 981
    functionDepth: 1
    functionLinenumber: 981
    functionLinenumberEnd: 1018
    functionName: ikev2_build_auth
    functionSourceFile: /src/hostap/src/eap_peer/ikev2.c
    functionUses: 0
    functionsReached:
    - ikev2_get_prf
    - wpa_printf
    - wpabuf_put
    - wpabuf_put_u8
    - wpabuf_free
    - WPA_PUT_BE16
    - ikev2_derive_auth_data
    linkageType: ''
    returnType: int
    signature: "int ikev2_build_auth(struct ikev2_responder_data *data,\n\t\t\t    struct
      wpabuf *msg, u8 next_payload)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:1027,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:1030,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/ikev2.c:1036,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/ikev2.c:1039,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_peer/ikev2.c:1040,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/eap_peer/ikev2.c:1041,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:1046,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/eap_peer/ikev2.c:1050,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:1051,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_peer/ikev2.c:1058,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_peer/ikev2.c:1063,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/eap_peer/ikev2.c:1064,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 3
    argNames:
    - data
    - msg
    - next_payload
    argTypes:
    - struct ikev2_responder_data*
    - struct wpabuf*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1021
    functionDepth: 1
    functionLinenumber: 1021
    functionLinenumberEnd: 1066
    functionName: ikev2_build_notification
    functionSourceFile: /src/hostap/src/eap_peer/ikev2.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put
    - wpabuf_put_u8
    - WPA_PUT_BE16
    - wpabuf_put_be16
    linkageType: ''
    returnType: int
    signature: "int ikev2_build_notification(struct ikev2_responder_data *data,\n\t\t\t\t
      \   struct wpabuf *msg, u8 next_payload)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: os_get_random
      Src: /src/hostap/src/eap_peer/ikev2.c:1075,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/ikev2.c:1077,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/eap_peer/ikev2.c:1081,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_peer/ikev2.c:1083,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eap_peer/ikev2.c:1085,1
    - Dst: ikev2_build_hdr
      Src: /src/hostap/src/eap_peer/ikev2.c:1089,1
    - Dst: ikev2_build_sar1
      Src: /src/hostap/src/eap_peer/ikev2.c:1090,1
    - Dst: ikev2_build_ker
      Src: /src/hostap/src/eap_peer/ikev2.c:1091,1
    - Dst: ikev2_build_nr
      Src: /src/hostap/src/eap_peer/ikev2.c:1092,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/ikev2.c:1095,1
    - Dst: ikev2_derive_keys
      Src: /src/hostap/src/eap_peer/ikev2.c:1099,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/ikev2.c:1100,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eap_peer/ikev2.c:1110,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/ikev2.c:1112,1
    - Dst: ikev2_build_idr
      Src: /src/hostap/src/eap_peer/ikev2.c:1115,1
    - Dst: ikev2_build_encrypted
      Src: /src/hostap/src/eap_peer/ikev2.c:1117,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/ikev2.c:1121,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/ikev2.c:1122,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/ikev2.c:1125,1
    - Dst: ikev2_update_hdr
      Src: /src/hostap/src/eap_peer/ikev2.c:1128,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/eap_peer/ikev2.c:1130,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/ikev2.c:1134,1
    - Dst: wpabuf_dup
      Src: /src/hostap/src/eap_peer/ikev2.c:1135,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct ikev2_responder_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1069
    functionDepth: 2
    functionLinenumber: 1069
    functionLinenumberEnd: 1138
    functionName: ikev2_build_sa_init
    functionSourceFile: /src/hostap/src/eap_peer/ikev2.c
    functionUses: 0
    functionsReached:
    - wpabuf_dup
    - random_get_bytes
    - ikev2_build_idr
    - wpa_hexdump
    - ikev2_derive_keys
    - ikev2_build_nr
    - wpabuf_free
    - os_get_random
    - ikev2_build_encrypted
    - ikev2_update_hdr
    - wpabuf_alloc
    - ikev2_build_sar1
    - ikev2_build_ker
    - ikev2_build_hdr
    - wpa_hexdump_buf
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * ikev2_build_sa_init(struct ikev2_responder_data *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eap_peer/ikev2.c:1147,1
    - Dst: ikev2_build_hdr
      Src: /src/hostap/src/eap_peer/ikev2.c:1150,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eap_peer/ikev2.c:1152,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/ikev2.c:1154,1
    - Dst: ikev2_build_idr
      Src: /src/hostap/src/eap_peer/ikev2.c:1158,1
    - Dst: ikev2_build_auth
      Src: /src/hostap/src/eap_peer/ikev2.c:1159,1
    - Dst: ikev2_build_encrypted
      Src: /src/hostap/src/eap_peer/ikev2.c:1160,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/ikev2.c:1163,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/ikev2.c:1164,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/ikev2.c:1167,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/eap_peer/ikev2.c:1169,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct ikev2_responder_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1141
    functionDepth: 2
    functionLinenumber: 1141
    functionLinenumberEnd: 1174
    functionName: ikev2_build_sa_auth
    functionSourceFile: /src/hostap/src/eap_peer/ikev2.c
    functionUses: 0
    functionsReached:
    - ikev2_build_auth
    - ikev2_build_idr
    - wpabuf_free
    - ikev2_build_encrypted
    - wpabuf_alloc
    - ikev2_build_hdr
    - wpa_hexdump_buf
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * ikev2_build_sa_auth(struct ikev2_responder_data *data)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eap_peer/ikev2.c:1181,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eap_peer/ikev2.c:1186,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/ikev2.c:1188,1
    - Dst: ikev2_build_hdr
      Src: /src/hostap/src/eap_peer/ikev2.c:1191,1
    - Dst: ikev2_build_notification
      Src: /src/hostap/src/eap_peer/ikev2.c:1193,1
    - Dst: ikev2_build_encrypted
      Src: /src/hostap/src/eap_peer/ikev2.c:1195,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/ikev2.c:1199,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/ikev2.c:1200,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/ikev2.c:1203,1
    - Dst: ikev2_build_hdr
      Src: /src/hostap/src/eap_peer/ikev2.c:1207,1
    - Dst: ikev2_build_notification
      Src: /src/hostap/src/eap_peer/ikev2.c:1209,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_peer/ikev2.c:1211,1
    - Dst: ikev2_update_hdr
      Src: /src/hostap/src/eap_peer/ikev2.c:1217,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/eap_peer/ikev2.c:1219,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct ikev2_responder_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1223
      start: 1177
    functionDepth: 2
    functionLinenumber: 1177
    functionLinenumberEnd: 1223
    functionName: ikev2_build_notify
    functionSourceFile: /src/hostap/src/eap_peer/ikev2.c
    functionUses: 0
    functionsReached:
    - ikev2_build_notification
    - ikev2_update_hdr
    - wpabuf_free
    - ikev2_build_encrypted
    - wpabuf_alloc
    - ikev2_build_hdr
    - wpa_hexdump_buf
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * ikev2_build_notify(struct ikev2_responder_data *data)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ikev2_build_sa_init
      Src: /src/hostap/src/eap_peer/ikev2.c:1230,1
    - Dst: ikev2_build_sa_auth
      Src: /src/hostap/src/eap_peer/ikev2.c:1232,1
    - Dst: ikev2_build_notify
      Src: /src/hostap/src/eap_peer/ikev2.c:1236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct ikev2_responder_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1242
      start: 1226
    functionDepth: 3
    functionLinenumber: 1226
    functionLinenumberEnd: 1242
    functionName: ikev2_responder_build
    functionSourceFile: /src/hostap/src/eap_peer/ikev2.c
    functionUses: 1
    functionsReached:
    - ikev2_build_sa_init
    - ikev2_build_sa_auth
    - ikev2_build_notify
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * ikev2_responder_build(struct ikev2_responder_data *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/crypto/sha256-tlsprf.c:42,1
    - Dst: hmac_sha256_vector
      Src: /src/hostap/src/crypto/sha256-tlsprf.c:53,1
    - Dst: hmac_sha256_vector
      Src: /src/hostap/src/crypto/sha256-tlsprf.c:58,1
    - Dst: hmac_sha256
      Src: /src/hostap/src/crypto/sha256-tlsprf.c:60,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/sha256-tlsprf.c:66,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 7
    argNames:
    - secret
    - secret_len
    - label
    - seed
    - seed_len
    - out
    - outlen
    argTypes:
    - u8*
    - size_t
    - char*
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 71
    functionName: tls_prf_sha256
    functionSourceFile: /src/hostap/src/crypto/sha256-tlsprf.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_memcpy
    - hmac_sha256_vector
    - hmac_sha256
    linkageType: ''
    returnType: int
    signature: "int tls_prf_sha256(const u8 *secret, size_t secret_len, const char
      *label,\n\t\t   const u8 *seed, size_t seed_len, u8 *out, size_t outlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:29,1
    - Dst: ERR_error_string
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:30,1
    - Dst: ERR_get_error
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:30,1
    - Dst: ERR_get_error
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:32,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:33,1
    - Dst: ERR_error_string
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - level
    - func
    - txt
    argTypes:
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 36
    functionName: tls_show_errors
    functionSourceFile: /src/hostap/src/crypto/tls_openssl_ocsp.c
    functionUses: 0
    functionsReached:
    - ERR_get_error
    - wpa_printf
    - ERR_error_string
    linkageType: ''
    returnType: void
    signature: void tls_show_errors(int level, const char *func, const char *txt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_ctrl_pending
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:227,1
    - Dst: os_malloc
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:228,1
    - Dst: BIO_free
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:230,1
    - Dst: BIO_read
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:234,1
    - Dst: BIO_free
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:235,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - out
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 243
    functionName: mem_bio_to_str
    functionSourceFile: /src/hostap/src/crypto/tls_openssl_ocsp.c
    functionUses: 0
    functionsReached:
    - os_malloc
    - BIO_ctrl_pending
    - BIO_free
    - os_free
    - BIO_read
    linkageType: ''
    returnType: char
    signature: char * mem_bio_to_str(BIO *out)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:250,1
    - Dst: BIO_s_mem
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:250,1
    - Dst: ASN1_GENERALIZEDTIME_print
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:254,1
    - Dst: BIO_free
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:255,1
    - Dst: mem_bio_to_str
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:259,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - t
    argTypes:
    - ASN1_GENERALIZEDTIME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 260
    functionName: generalizedtime_str
    functionSourceFile: /src/hostap/src/crypto/tls_openssl_ocsp.c
    functionUses: 0
    functionsReached:
    - BIO_s_mem
    - BIO_new
    - BIO_free
    - ASN1_GENERALIZEDTIME_print
    - mem_bio_to_str
    linkageType: ''
    returnType: char
    signature: char * generalizedtime_str(ASN1_GENERALIZEDTIME *t)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:267,1
    - Dst: BIO_s_mem
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:267,1
    - Dst: X509_NAME_print_ex
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:273,1
    - Dst: i2a_ASN1_STRING
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:276,1
    - Dst: BIO_free
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:279,1
    - Dst: mem_bio_to_str
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:283,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - rid
    argTypes:
    - ResponderID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 284
    functionName: responderid_str
    functionSourceFile: /src/hostap/src/crypto/tls_openssl_ocsp.c
    functionUses: 0
    functionsReached:
    - BIO_s_mem
    - X509_NAME_print_ex
    - BIO_new
    - BIO_free
    - mem_bio_to_str
    - i2a_ASN1_STRING
    linkageType: ''
    returnType: char
    signature: char * responderid_str(ResponderID *rid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:291,1
    - Dst: BIO_s_mem
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:291,1
    - Dst: i2a_ASN1_STRING
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:295,1
    - Dst: mem_bio_to_str
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:296,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - o
    argTypes:
    - ASN1_OCTET_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 297
    functionName: octet_string_str
    functionSourceFile: /src/hostap/src/crypto/tls_openssl_ocsp.c
    functionUses: 0
    functionsReached:
    - mem_bio_to_str
    - BIO_new
    - BIO_s_mem
    - i2a_ASN1_STRING
    linkageType: ''
    returnType: char
    signature: char * octet_string_str(ASN1_OCTET_STRING *o)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:304,1
    - Dst: BIO_s_mem
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:304,1
    - Dst: i2a_ASN1_INTEGER
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:308,1
    - Dst: mem_bio_to_str
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:309,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - i
    argTypes:
    - ASN1_INTEGER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 310
    functionName: integer_str
    functionSourceFile: /src/hostap/src/crypto/tls_openssl_ocsp.c
    functionUses: 0
    functionsReached:
    - mem_bio_to_str
    - BIO_new
    - BIO_s_mem
    - i2a_ASN1_INTEGER
    linkageType: ''
    returnType: char
    signature: char * integer_str(ASN1_INTEGER *i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:317,1
    - Dst: BIO_s_mem
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:317,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:321,1
    - Dst: mem_bio_to_str
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - alg
    argTypes:
    - X509_ALGOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 323
    functionName: algor_str
    functionSourceFile: /src/hostap/src/crypto/tls_openssl_ocsp.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - BIO_s_mem
    - i2a_ASN1_OBJECT
    - mem_bio_to_str
    linkageType: ''
    returnType: char
    signature: char * algor_str(X509_ALGOR *alg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:333,1
    - Dst: BIO_s_mem
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:333,1
    - Dst: X509V3_extensions_print
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:337,1
    - Dst: BIO_free
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:338,1
    - Dst: mem_bio_to_str
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:341,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - title
    - ext
    argTypes:
    - char*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 342
    functionName: extensions_str
    functionSourceFile: /src/hostap/src/crypto/tls_openssl_ocsp.c
    functionUses: 0
    functionsReached:
    - BIO_s_mem
    - X509V3_extensions_print
    - BIO_new
    - BIO_free
    - mem_bio_to_str
    linkageType: ''
    returnType: char
    signature: char * extensions_str(const char *title, STACK_OF(X509_EXTENSION) *ext)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_GENERALIZEDTIME_check
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:350,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:351,1
    - Dst: time
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:356,1
    - Dst: X509_cmp_time
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:358,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:359,1
    - Dst: ASN1_GENERALIZEDTIME_check
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:366,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:367,1
    - Dst: X509_cmp_time
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:373,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:374,1
    - Dst: ASN1_STRING_cmp
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:378,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:379,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - thisupd
    - nextupd
    argTypes:
    - ASN1_GENERALIZEDTIME*
    - ASN1_GENERALIZEDTIME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 386
    functionName: ocsp_resp_valid
    functionSourceFile: /src/hostap/src/crypto/tls_openssl_ocsp.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - X509_cmp_time
    - ASN1_STRING_cmp
    - time
    - ASN1_GENERALIZEDTIME_check
    linkageType: ''
    returnType: int
    signature: "int ocsp_resp_valid(ASN1_GENERALIZEDTIME *thisupd,\n\t\t\t   ASN1_GENERALIZEDTIME
      *nextupd)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: EVP_get_digestbyobj
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:399,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:401,1
    - Dst: X509_get_issuer_name
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:406,1
    - Dst: X509_NAME_digest
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:407,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:409,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:412,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:413,1
    - Dst: octet_string_str
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:417,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:419,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:421,1
    - Dst: ASN1_OCTET_STRING_cmp
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:424,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:425,1
    - Dst: X509_get0_pubkey_bitstr
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:429,1
    - Dst: EVP_Digest
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:431,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:432,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:433,1
    - Dst: octet_string_str
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:437,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:439,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:441,1
    - Dst: ASN1_OCTET_STRING_cmp
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:444,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:445,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:449,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 3
    argNames:
    - cert
    - issuer
    - certid
    argTypes:
    - X509*
    - X509*
    - CertID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 389
    functionDepth: 2
    functionLinenumber: 389
    functionLinenumberEnd: 451
    functionName: issuer_match
    functionSourceFile: /src/hostap/src/crypto/tls_openssl_ocsp.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - ASN1_OCTET_STRING_set
    - X509_get_issuer_name
    - ASN1_OCTET_STRING_new
    - ASN1_OCTET_STRING_free
    - ASN1_OCTET_STRING_cmp
    - X509_NAME_digest
    - X509_get0_pubkey_bitstr
    - os_free
    - EVP_Digest
    - octet_string_str
    - EVP_get_digestbyobj
    linkageType: ''
    returnType: int
    signature: int issuer_match(X509 *cert, X509 *issuer, CertID *certid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: X509_find_by_subject
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:461,1
    - Dst: sk_X509_num
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:467,1
    - Dst: sk_X509_value
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:468,1
    - Dst: X509_pubkey_digest
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:470,1
    - Dst: EVP_sha1
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:470,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:471,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - certs
    - rid
    argTypes:
    - STACK_OF*
    - ResponderID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 477
    functionName: ocsp_find_signer
    functionSourceFile: /src/hostap/src/crypto/tls_openssl_ocsp.c
    functionUses: 0
    functionsReached:
    - X509_find_by_subject
    - EVP_sha1
    - X509_pubkey_digest
    - sk_X509_num
    - os_memcmp
    - sk_X509_value
    linkageType: ''
    returnType: X509
    signature: X509 * ocsp_find_signer(STACK_OF(X509) *certs, ResponderID *rid)
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:498,1
    - Dst: integer_str
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:506,1
    - Dst: X509_get_serialNumber
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:506,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:508,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:510,1
    - Dst: SSL_get0_ocsp_response
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:513,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:515,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:519,1
    - Dst: d2i_OCSPResponse
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:521,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:523,1
    - Dst: ASN1_ENUMERATED_get
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:527,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:529,1
    - Dst: OBJ_obj2nid
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:537,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:538,1
    - Dst: ASN1_STRING_data
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:543,1
    - Dst: ASN1_STRING_length
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:544,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:545,1
    - Dst: d2i_BasicOCSPResponse
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:548,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:550,1
    - Dst: OCSPResponse_free
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:552,1
    - Dst: sk_X509_dup
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:559,1
    - Dst: sk_X509_num
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:563,1
    - Dst: sk_X509_value
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:567,1
    - Dst: X509_NAME_oneline
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:568,1
    - Dst: X509_get_subject_name
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:568,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:570,1
    - Dst: sk_X509_push
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:573,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:574,1
    - Dst: SSL_CTX_get_cert_store
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:580,1
    - Dst: X509_STORE_add_cert
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:582,1
    - Dst: tls_show_errors
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:583,1
    - Dst: sk_X509_new_null
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:586,1
    - Dst: X509_dup
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:588,1
    - Dst: sk_X509_push
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:589,1
    - Dst: tls_show_errors
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:590,1
    - Dst: X509_free
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:593,1
    - Dst: sk_X509_free
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:594,1
    - Dst: X509_dup
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:598,1
    - Dst: sk_X509_push
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:600,1
    - Dst: tls_show_errors
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:601,1
    - Dst: X509_free
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:604,1
    - Dst: ocsp_find_signer
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:610,1
    - Dst: ocsp_find_signer
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:612,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:616,1
    - Dst: X509_get_pubkey
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:621,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:623,1
    - Dst: ASN1_item_verify
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:627,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:627,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:630,1
    - Dst: X509_NAME_oneline
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:635,1
    - Dst: X509_get_subject_name
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:635,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:636,1
    - Dst: X509_STORE_CTX_new
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:640,1
    - Dst: X509_STORE_CTX_init
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:641,1
    - Dst: X509_STORE_CTX_set_purpose
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:643,1
    - Dst: X509_verify_cert
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:644,1
    - Dst: X509_STORE_CTX_get1_chain
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:645,1
    - Dst: X509_STORE_CTX_cleanup
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:646,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:648,1
    - Dst: sk_X509_num
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:653,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:654,1
    - Dst: X509_check_purpose
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:659,1
    - Dst: X509_get_extension_flags
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:660,1
    - Dst: X509_get_extended_key_usage
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:661,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:662,1
    - Dst: sk_X509_value
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:665,1
    - Dst: sk_X509_num
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:665,1
    - Dst: X509_check_trust
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:666,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:668,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:676,1
    - Dst: ASN1_INTEGER_get
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:677,1
    - Dst: responderid_str
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:679,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:681,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:683,1
    - Dst: generalizedtime_str
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:686,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:688,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:690,1
    - Dst: sk_SingleResponse_num
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:693,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:695,1
    - Dst: sk_SingleResponse_value
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:700,1
    - Dst: sk_SingleResponse_value
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:705,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:706,1
    - Dst: algor_str
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:709,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:711,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:713,1
    - Dst: octet_string_str
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:716,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:718,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:720,1
    - Dst: octet_string_str
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:723,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:725,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:727,1
    - Dst: integer_str
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:730,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:732,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:734,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:739,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:742,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:745,1
    - Dst: generalizedtime_str
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:749,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:751,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:752,1
    - Dst: generalizedtime_str
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:756,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:758,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:760,1
    - Dst: extensions_str
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:764,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:767,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:768,1
    - Dst: OBJ_cmp
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:774,1
    - Dst: ASN1_OCTET_STRING_cmp
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:776,1
    - Dst: ASN1_OCTET_STRING_cmp
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:778,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:780,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:786,1
    - Dst: X509_get_serialNumber
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:787,1
    - Dst: issuer_match
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:788,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:789,1
    - Dst: extensions_str
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:795,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:797,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:798,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:802,1
    - Dst: ocsp_resp_valid
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:808,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:810,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:816,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:823,1
    - Dst: sk_X509_pop_free
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:832,1
    - Dst: sk_X509_free
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:833,1
    - Dst: sk_X509_pop_free
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:834,1
    - Dst: BasicOCSPResponse_free
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:835,1
    - Dst: OCSPResponse_free
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:836,1
    - Dst: X509_STORE_CTX_free
      Src: /src/hostap/src/crypto/tls_openssl_ocsp.c:837,1
    CyclomaticComplexity: 77
    EdgeCount: 77
    ICount: 250
    argCount: 5
    argNames:
    - ssl_ctx
    - ssl
    - cert
    - issuer
    - issuer_issuer
    argTypes:
    - SSL_CTX*
    - SSL*
    - X509*
    - X509*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 480
    functionDepth: 3
    functionLinenumber: 480
    functionLinenumberEnd: 840
    functionName: check_ocsp_resp
    functionSourceFile: /src/hostap/src/crypto/tls_openssl_ocsp.c
    functionUses: 0
    functionsReached:
    - X509_STORE_add_cert
    - wpa_hexdump
    - STACK_OF
    - sk_X509_num
    - X509_get_serialNumber
    - sk_X509_dup
    - X509_STORE_CTX_init
    - SSL_CTX_get_cert_store
    - sk_X509_pop_free
    - BasicOCSPResponse_free
    - ocsp_resp_valid
    - d2i_OCSPResponse
    - ocsp_find_signer
    - ASN1_INTEGER_get
    - X509_STORE_CTX_free
    - sk_X509_new_null
    - wpa_printf
    - sk_X509_value
    - X509_get_extension_flags
    - ASN1_INTEGER_cmp
    - X509_get_subject_name
    - X509_get_extended_key_usage
    - ASN1_ITEM_rptr
    - X509_STORE_CTX_cleanup
    - extensions_str
    - os_free
    - X509_free
    - X509_STORE_CTX_get1_chain
    - octet_string_str
    - X509_STORE_CTX_new
    - OBJ_cmp
    - X509_check_trust
    - sk_X509_push
    - integer_str
    - d2i_BasicOCSPResponse
    - ASN1_STRING_length
    - responderid_str
    - generalizedtime_str
    - sk_SingleResponse_num
    - ASN1_OCTET_STRING_cmp
    - sk_X509_free
    - sk_SingleResponse_value
    - tls_show_errors
    - issuer_match
    - OBJ_obj2nid
    - ASN1_ENUMERATED_get
    - X509_check_purpose
    - X509_dup
    - SSL_get0_ocsp_response
    - X509_get_pubkey
    - OCSPResponse_free
    - ASN1_item_verify
    - X509_STORE_CTX_set_purpose
    - X509_verify_cert
    - ASN1_STRING_data
    - X509_NAME_oneline
    - algor_str
    linkageType: ''
    returnType: enum ocsp_result
    signature: "enum ocsp_result check_ocsp_resp(SSL_CTX *ssl_ctx, SSL *ssl, X509
      *cert,\n\t\t\t\t X509 *issuer, X509 *issuer_issuer)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/crypto/aes-eax.c:46,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/aes-eax.c:50,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/aes-eax.c:53,1
    - Dst: omac1_aes_128
      Src: /src/hostap/src/crypto/aes-eax.c:54,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/aes-eax.c:58,1
    - Dst: omac1_aes_128
      Src: /src/hostap/src/crypto/aes-eax.c:59,1
    - Dst: aes_128_ctr_encrypt
      Src: /src/hostap/src/crypto/aes-eax.c:62,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/aes-eax.c:65,1
    - Dst: omac1_aes_128
      Src: /src/hostap/src/crypto/aes-eax.c:66,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/crypto/aes-eax.c:74,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 8
    argNames:
    - key
    - nonce
    - nonce_len
    - hdr
    - hdr_len
    - data
    - data_len
    - tag
    argTypes:
    - u8*
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 77
    functionName: aes_128_eax_encrypt
    functionSourceFile: /src/hostap/src/crypto/aes-eax.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    - os_malloc
    - bin_clear_free
    - omac1_aes_128
    - aes_128_ctr_encrypt
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int aes_128_eax_encrypt(const u8 *key, const u8 *nonce, size_t nonce_len,\n\t\t\tconst
      u8 *hdr, size_t hdr_len,\n\t\t\tu8 *data, size_t data_len, u8 *tag)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/crypto/aes-eax.c:110,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/aes-eax.c:114,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/aes-eax.c:117,1
    - Dst: omac1_aes_128
      Src: /src/hostap/src/crypto/aes-eax.c:118,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/aes-eax.c:119,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/aes-eax.c:124,1
    - Dst: omac1_aes_128
      Src: /src/hostap/src/crypto/aes-eax.c:125,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/aes-eax.c:126,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/aes-eax.c:131,1
    - Dst: omac1_aes_128
      Src: /src/hostap/src/crypto/aes-eax.c:132,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/aes-eax.c:133,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/aes-eax.c:137,1
    - Dst: aes_128_ctr_encrypt
      Src: /src/hostap/src/crypto/aes-eax.c:144,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 8
    argNames:
    - key
    - nonce
    - nonce_len
    - hdr
    - hdr_len
    - data
    - data_len
    - tag
    argTypes:
    - u8*
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 145
    functionName: aes_128_eax_decrypt
    functionSourceFile: /src/hostap/src/crypto/aes-eax.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    - os_malloc
    - omac1_aes_128
    - aes_128_ctr_encrypt
    - os_free
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int aes_128_eax_decrypt(const u8 *key, const u8 *nonce, size_t nonce_len,\n\t\t\tconst
      u8 *hdr, size_t hdr_len,\n\t\t\tu8 *data, size_t data_len, const u8 *tag)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/crypto/sha1-pbkdf2.c:23,1
    - Dst: hmac_sha1_vector
      Src: /src/hostap/src/crypto/sha1-pbkdf2.c:40,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/sha1-pbkdf2.c:43,1
    - Dst: hmac_sha1
      Src: /src/hostap/src/crypto/sha1-pbkdf2.c:46,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/sha1-pbkdf2.c:49,1
    - Dst: forced_memzero
      Src: /src/hostap/src/crypto/sha1-pbkdf2.c:53,1
    - Dst: forced_memzero
      Src: /src/hostap/src/crypto/sha1-pbkdf2.c:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 6
    argNames:
    - passphrase
    - ssid
    - ssid_len
    - iterations
    - count
    - digest
    argTypes:
    - char*
    - u8*
    - size_t
    - int
    - unsigned int
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 57
    functionName: pbkdf2_sha1_f
    functionSourceFile: /src/hostap/src/crypto/sha1-pbkdf2.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_memcpy
    - forced_memzero
    - hmac_sha1
    - hmac_sha1_vector
    linkageType: ''
    returnType: int
    signature: "int pbkdf2_sha1_f(const char *passphrase, const u8 *ssid,\n\t\t\t
      size_t ssid_len, int iterations, unsigned int count,\n\t\t\t u8 *digest)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pbkdf2_sha1_f
      Src: /src/hostap/src/crypto/sha1-pbkdf2.c:84,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/sha1-pbkdf2.c:88,1
    - Dst: forced_memzero
      Src: /src/hostap/src/crypto/sha1-pbkdf2.c:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 6
    argNames:
    - passphrase
    - ssid
    - ssid_len
    - iterations
    - buf
    - buflen
    argTypes:
    - char*
    - u8*
    - size_t
    - int
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 95
    functionName: pbkdf2_sha1
    functionSourceFile: /src/hostap/src/crypto/sha1-pbkdf2.c
    functionUses: 4
    functionsReached:
    - pbkdf2_sha1_f
    - os_memcpy
    - forced_memzero
    linkageType: ''
    returnType: int
    signature: "int pbkdf2_sha1(const char *passphrase, const u8 *ssid, size_t ssid_len,\n\t\tint
      iterations, u8 *buf, size_t buflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha512_prf_bits
      Src: /src/hostap/src/crypto/sha512-prf.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - key
    - key_len
    - label
    - data
    - data_len
    - buf
    - buf_len
    argTypes:
    - u8*
    - size_t
    - char*
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: sha512_prf
    functionSourceFile: /src/hostap/src/crypto/sha512-prf.c
    functionUses: 0
    functionsReached:
    - sha512_prf_bits
    linkageType: ''
    returnType: int
    signature: "int sha512_prf(const u8 *key, size_t key_len, const char *label,\n\t
      \      const u8 *data, size_t data_len, u8 *buf, size_t buf_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/crypto/sha512-prf.c:69,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/crypto/sha512-prf.c:75,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/crypto/sha512-prf.c:79,1
    - Dst: hmac_sha512_vector
      Src: /src/hostap/src/crypto/sha512-prf.c:81,1
    - Dst: hmac_sha512_vector
      Src: /src/hostap/src/crypto/sha512-prf.c:86,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/sha512-prf.c:89,1
    - Dst: forced_memzero
      Src: /src/hostap/src/crypto/sha512-prf.c:105,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 7
    argNames:
    - key
    - key_len
    - label
    - data
    - data_len
    - buf
    - buf_len_bits
    argTypes:
    - u8*
    - size_t
    - char*
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 108
    functionName: sha512_prf_bits
    functionSourceFile: /src/hostap/src/crypto/sha512-prf.c
    functionUses: 1
    functionsReached:
    - os_strlen
    - os_memcpy
    - forced_memzero
    - hmac_sha512_vector
    - WPA_PUT_LE16
    linkageType: ''
    returnType: int
    signature: "int sha512_prf_bits(const u8 *key, size_t key_len, const char *label,\n\t\t
      \   const u8 *data, size_t data_len, u8 *buf,\n\t\t    size_t buf_len_bits)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: aes_siv_encrypt
      Src: /src/hostap/src/crypto/crypto_module_tests.c:96,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:98,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/crypto_module_tests.c:101,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:102,1
    - Dst: aes_siv_decrypt
      Src: /src/hostap/src/crypto/crypto_module_tests.c:107,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:109,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/crypto_module_tests.c:112,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:113,1
    - Dst: aes_siv_encrypt
      Src: /src/hostap/src/crypto/crypto_module_tests.c:126,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:129,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/crypto_module_tests.c:132,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:133,1
    - Dst: aes_siv_decrypt
      Src: /src/hostap/src/crypto/crypto_module_tests.c:138,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:140,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/crypto_module_tests.c:143,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:144,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:149,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 153
    functionName: test_siv
    functionSourceFile: /src/hostap/src/crypto/crypto_module_tests.c
    functionUses: 0
    functionsReached:
    - aes_siv_decrypt
    - wpa_printf
    - os_memcmp
    - aes_siv_encrypt
    linkageType: ''
    returnType: int
    signature: int test_siv(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: omac1_aes_128
      Src: /src/hostap/src/crypto/crypto_module_tests.c:230,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/crypto_module_tests.c:231,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:232,1
    - Dst: omac1_aes_128_vector
      Src: /src/hostap/src/crypto/crypto_module_tests.c:243,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/crypto_module_tests.c:244,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:245,1
    - Dst: omac1_aes_128_vector
      Src: /src/hostap/src/crypto/crypto_module_tests.c:258,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/crypto_module_tests.c:259,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:260,1
    - Dst: omac1_aes_128
      Src: /src/hostap/src/crypto/crypto_module_tests.c:273,1
    - Dst: omac1_aes_128_vector
      Src: /src/hostap/src/crypto/crypto_module_tests.c:274,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/crypto_module_tests.c:275,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:276,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 2
    argNames:
    - tv
    - i
    argTypes:
    - struct omac1_test_vector*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 281
    functionName: test_omac1_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_module_tests.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcmp
    - omac1_aes_128
    - omac1_aes_128_vector
    linkageType: ''
    returnType: int
    signature: "int test_omac1_vector(const struct omac1_test_vector *tv,\n\t\t\t
      \    unsigned int i)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/crypto/crypto_module_tests.c:288,1
    - Dst: test_omac1_vector
      Src: /src/hostap/src/crypto/crypto_module_tests.c:289,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:293,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 296
    functionName: test_omac1
    functionSourceFile: /src/hostap/src/crypto/crypto_module_tests.c
    functionUses: 0
    functionsReached:
    - test_omac1_vector
    - wpa_printf
    - ARRAY_SIZE
    linkageType: ''
    returnType: int
    signature: int test_omac1(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/crypto_module_tests.c:313,1
    - Dst: aes_128_eax_encrypt
      Src: /src/hostap/src/crypto/crypto_module_tests.c:314,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:316,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/crypto_module_tests.c:319,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:320,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/crypto_module_tests.c:324,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:325,1
    - Dst: aes_128_eax_decrypt
      Src: /src/hostap/src/crypto/crypto_module_tests.c:330,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:332,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/crypto_module_tests.c:335,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:336,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:341,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 299
    functionDepth: 2
    functionLinenumber: 299
    functionLinenumberEnd: 345
    functionName: test_eax
    functionSourceFile: /src/hostap/src/crypto/crypto_module_tests.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_printf
    - aes_128_eax_decrypt
    - aes_128_eax_encrypt
    - os_memcmp
    linkageType: ''
    returnType: int
    signature: int test_eax(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/crypto/crypto_module_tests.c:387,1
    - Dst: os_malloc
      Src: /src/hostap/src/crypto/crypto_module_tests.c:390,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/crypto_module_tests.c:396,1
    - Dst: aes_128_cbc_encrypt
      Src: /src/hostap/src/crypto/crypto_module_tests.c:397,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/crypto_module_tests.c:398,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:399,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/crypto_module_tests.c:403,1
    - Dst: aes_128_cbc_decrypt
      Src: /src/hostap/src/crypto/crypto_module_tests.c:404,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/crypto_module_tests.c:405,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:406,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_module_tests.c:410,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 414
    functionName: test_cbc
    functionSourceFile: /src/hostap/src/crypto/crypto_module_tests.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_printf
    - aes_128_cbc_decrypt
    - os_malloc
    - os_memcmp
    - os_free
    - ARRAY_SIZE
    - aes_128_cbc_encrypt
    linkageType: ''
    returnType: int
    signature: int test_cbc(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/crypto/crypto_module_tests.c:477,1
    - Dst: hexstr2bin
      Src: /src/hostap/src/crypto/crypto_module_tests.c:480,1
    - Dst: hexstr2bin
      Src: /src/hostap/src/crypto/crypto_module_tests.c:481,1
    - Dst: hexstr2bin
      Src: /src/hostap/src/crypto/crypto_module_tests.c:482,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:483,1
    - Dst: aes_128_encrypt_block
      Src: /src/hostap/src/crypto/crypto_module_tests.c:489,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/crypto_module_tests.c:490,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:491,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:497,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 503
    functionName: test_ecb
    functionSourceFile: /src/hostap/src/crypto/crypto_module_tests.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hexstr2bin
    - aes_128_encrypt_block
    - os_memcmp
    - ARRAY_SIZE
    linkageType: ''
    returnType: int
    signature: int test_ecb(void)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:616,1
    - Dst: aes_wrap
      Src: /src/hostap/src/crypto/crypto_module_tests.c:617,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:619,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/crypto_module_tests.c:622,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:623,1
    - Dst: aes_unwrap
      Src: /src/hostap/src/crypto/crypto_module_tests.c:626,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:628,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/crypto_module_tests.c:631,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:632,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:637,1
    - Dst: aes_wrap
      Src: /src/hostap/src/crypto/crypto_module_tests.c:638,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:640,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/crypto_module_tests.c:643,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:644,1
    - Dst: aes_unwrap
      Src: /src/hostap/src/crypto/crypto_module_tests.c:647,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:649,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/crypto_module_tests.c:652,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:653,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:658,1
    - Dst: aes_wrap
      Src: /src/hostap/src/crypto/crypto_module_tests.c:659,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:661,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/crypto_module_tests.c:664,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:665,1
    - Dst: aes_unwrap
      Src: /src/hostap/src/crypto/crypto_module_tests.c:668,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:670,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/crypto_module_tests.c:673,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:674,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:679,1
    - Dst: aes_wrap
      Src: /src/hostap/src/crypto/crypto_module_tests.c:680,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:682,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/crypto_module_tests.c:685,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:686,1
    - Dst: aes_unwrap
      Src: /src/hostap/src/crypto/crypto_module_tests.c:689,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:691,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/crypto_module_tests.c:694,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:695,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:700,1
    - Dst: aes_wrap
      Src: /src/hostap/src/crypto/crypto_module_tests.c:701,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:703,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/crypto_module_tests.c:706,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:707,1
    - Dst: aes_unwrap
      Src: /src/hostap/src/crypto/crypto_module_tests.c:710,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:712,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/crypto_module_tests.c:715,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:716,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:720,1
    - Dst: aes_wrap
      Src: /src/hostap/src/crypto/crypto_module_tests.c:721,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:723,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/crypto_module_tests.c:726,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:727,1
    - Dst: aes_unwrap
      Src: /src/hostap/src/crypto/crypto_module_tests.c:730,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:732,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/crypto_module_tests.c:735,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:736,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:741,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 106
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 744
    functionName: test_key_wrap
    functionSourceFile: /src/hostap/src/crypto/crypto_module_tests.c
    functionUses: 0
    functionsReached:
    - aes_unwrap
    - wpa_printf
    - aes_wrap
    - os_memcmp
    linkageType: ''
    returnType: int
    signature: int test_key_wrap(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:843,1
    - Dst: os_malloc
      Src: /src/hostap/src/crypto/crypto_module_tests.c:845,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/crypto_module_tests.c:848,1
    - Dst: aes_ctr_encrypt
      Src: /src/hostap/src/crypto/crypto_module_tests.c:849,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:850,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/crypto_module_tests.c:852,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:853,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_module_tests.c:857,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:859,1
    - Dst: os_malloc
      Src: /src/hostap/src/crypto/crypto_module_tests.c:861,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/crypto_module_tests.c:864,1
    - Dst: aes_ctr_encrypt
      Src: /src/hostap/src/crypto/crypto_module_tests.c:865,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:866,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/crypto_module_tests.c:868,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:869,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_module_tests.c:873,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:875,1
    - Dst: os_malloc
      Src: /src/hostap/src/crypto/crypto_module_tests.c:877,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/crypto_module_tests.c:880,1
    - Dst: aes_ctr_encrypt
      Src: /src/hostap/src/crypto/crypto_module_tests.c:881,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:882,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/crypto_module_tests.c:884,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:885,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_module_tests.c:889,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 893
      start: 747
    functionDepth: 1
    functionLinenumber: 747
    functionLinenumberEnd: 893
    functionName: test_aes_ctr
    functionSourceFile: /src/hostap/src/crypto/crypto_module_tests.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - aes_ctr_encrypt
    - os_malloc
    - os_memcmp
    - os_free
    linkageType: ''
    returnType: int
    signature: int test_aes_ctr(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/crypto/crypto_module_tests.c:947,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:948,1
    - Dst: strlen
      Src: /src/hostap/src/crypto/crypto_module_tests.c:951,1
    - Dst: md5_vector
      Src: /src/hostap/src/crypto/crypto_module_tests.c:952,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/crypto_module_tests.c:953,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:954,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:957,1
    - Dst: strlen
      Src: /src/hostap/src/crypto/crypto_module_tests.c:961,1
    - Dst: strlen
      Src: /src/hostap/src/crypto/crypto_module_tests.c:963,1
    - Dst: md5_vector
      Src: /src/hostap/src/crypto/crypto_module_tests.c:964,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/crypto_module_tests.c:965,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:966,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:969,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:974,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:978,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 981
      start: 896
    functionDepth: 1
    functionLinenumber: 896
    functionLinenumberEnd: 981
    functionName: test_md5
    functionSourceFile: /src/hostap/src/crypto/crypto_module_tests.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcmp
    - md5_vector
    - strlen
    - ARRAY_SIZE
    linkageType: ''
    returnType: int
    signature: int test_md5(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1093,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1095,1
    - Dst: sha1_t_prf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1096,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1099,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1100,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1105,1
    - Dst: tls_prf_sha1_md5
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1106,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1109,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1110,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1115,1
    - Dst: sha1_t_prf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1116,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1118,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1119,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1126,1
    - Dst: sha1_t_prf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1127,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1129,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1130,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1134,1
    - Dst: sha1_t_prf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1135,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1137,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1138,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1142,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1143,1
    - Dst: hmac_sha1
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1144,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1145,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1147,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1155
      start: 984
    functionDepth: 1
    functionLinenumber: 984
    functionLinenumberEnd: 1155
    functionName: test_eap_fast
    functionSourceFile: /src/hostap/src/crypto/crypto_module_tests.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hmac_sha1
    - sha1_t_prf
    - tls_prf_sha1_md5
    - os_memcmp
    - os_memset
    linkageType: ''
    returnType: int
    signature: int test_eap_fast(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1355,1
    - Dst: sha1_prf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1357,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1359,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1360,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1362,1
    - Dst: sha1_prf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1366,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1368,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1369,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1371,1
    - Dst: sha1_prf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1375,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1377,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1378,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1380,1
    - Dst: test_eap_fast
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1384,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1386,1
    - Dst: pbkdf2_sha1
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1391,1
    - Dst: strlen
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1392,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1394,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1395,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1397,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1402,1
    - Dst: pbkdf2_sha1
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1407,1
    - Dst: strlen
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1407,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1409,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1410,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1412,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1418,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1420
      start: 1349
    functionDepth: 2
    functionLinenumber: 1349
    functionLinenumberEnd: 1420
    functionName: test_sha1
    functionSourceFile: /src/hostap/src/crypto/crypto_module_tests.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - sha1_prf
    - pbkdf2_sha1
    - os_memcmp
    - strlen
    - test_eap_fast
    linkageType: ''
    returnType: int
    signature: int test_sha1(void)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1845,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1846,1
    - Dst: strlen
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1849,1
    - Dst: sha256_vector
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1850,1
    - Dst: memcmp
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1851,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1852,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1855,1
    - Dst: strlen
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1861,1
    - Dst: sha256_vector
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1862,1
    - Dst: memcmp
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1863,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1864,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1867,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1871,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1874,1
    - Dst: hmac_sha256
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1876,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1878,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1879,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1882,1
    - Dst: hmac_sha256_vector
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1886,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1888,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1889,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1892,1
    - Dst: hmac_sha256_vector
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1899,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1901,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1902,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1905,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1909,1
    - Dst: sha256_prf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1910,1
    - Dst: os_malloc
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1914,1
    - Dst: hmac_sha256_kdf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1919,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1922,1
    - Dst: hmac_sha256_kdf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1927,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1930,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1936,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1940,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 69
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1942
      start: 1836
    functionDepth: 1
    functionLinenumber: 1836
    functionLinenumberEnd: 1942
    functionName: test_sha256
    functionSourceFile: /src/hostap/src/crypto/crypto_module_tests.c
    functionUses: 0
    functionsReached:
    - sha256_vector
    - sha256_prf
    - wpa_printf
    - hmac_sha256
    - os_malloc
    - os_free
    - os_memcmp
    - memcmp
    - hmac_sha256_kdf
    - strlen
    - hmac_sha256_vector
    - ARRAY_SIZE
    linkageType: ''
    returnType: int
    signature: int test_sha256(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: sha384_vector
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1965,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1966,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1967,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1970,1
    - Dst: sha384_vector
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1977,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1978,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1979,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1982,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1985,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1991,1
    - Dst: hmac_sha384
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1993,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1995,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1996,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:1999,1
    - Dst: hmac_sha384_vector
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2003,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2005,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2006,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2009,1
    - Dst: hmac_sha384_vector
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2016,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2018,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2019,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2022,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2027,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2032
      start: 1945
    functionDepth: 1
    functionLinenumber: 1945
    functionLinenumberEnd: 2032
    functionName: test_sha384
    functionSourceFile: /src/hostap/src/crypto/crypto_module_tests.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - sha384_vector
    - os_memcmp
    - hmac_sha384
    - hmac_sha384_vector
    - ARRAY_SIZE
    linkageType: ''
    returnType: int
    signature: int test_sha384(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2052,1
    - Dst: fips186_2_prf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2054,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2055,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2056,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2061
      start: 2035
    functionDepth: 0
    functionLinenumber: 2035
    functionLinenumberEnd: 2061
    functionName: test_fips186_2_prf
    functionSourceFile: /src/hostap/src/crypto/crypto_module_tests.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcmp
    - fips186_2_prf
    linkageType: ''
    returnType: int
    signature: int test_fips186_2_prf(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2155,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2157,1
    - Dst: hmac_sha256
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2158,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2160,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2161,1
    - Dst: hmac_sha256_kdf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2164,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2167,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2168,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2172,1
    - Dst: hmac_sha256
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2173,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2175,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2176,1
    - Dst: hmac_sha256_kdf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2179,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2182,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2183,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2187,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2190
      start: 2064
    functionDepth: 1
    functionLinenumber: 2064
    functionLinenumberEnd: 2190
    functionName: test_extract_expand_hkdf
    functionSourceFile: /src/hostap/src/crypto/crypto_module_tests.c
    functionUses: 0
    functionsReached:
    - hmac_sha256_kdf
    - wpa_printf
    - os_memcmp
    - hmac_sha256
    linkageType: ''
    returnType: int
    signature: int test_extract_expand_hkdf(void)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2326,1
    - Dst: wpabuf_parse_bin
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2328,1
    - Dst: wpabuf_parse_bin
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2329,1
    - Dst: wpabuf_parse_bin
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2330,1
    - Dst: wpabuf_parse_bin
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2331,1
    - Dst: wpabuf_parse_bin
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2332,1
    - Dst: wpabuf_parse_bin
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2333,1
    - Dst: wpabuf_parse_bin
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2334,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2336,1
    - Dst: wpabuf_concat
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2342,1
    - Dst: crypto_ec_key_set_priv
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2348,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2348,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2349,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2351,1
    - Dst: hpke_base_open
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2356,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2358,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2358,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2359,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2359,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2360,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2360,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2362,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2363,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2366,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2366,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2367,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2367,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2367,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2368,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2369,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2390,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2391,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2392,1
    - Dst: crypto_ec_key_set_pub
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2395,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2396,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2397,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2400,1
    - Dst: hpke_base_seal
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2405,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2407,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2407,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2408,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2408,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2409,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2409,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2411,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2417,1
    - Dst: hpke_base_open
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2418,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2420,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2420,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2421,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2421,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2422,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2422,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2424,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2427,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2427,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2428,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2428,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2428,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2429,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2430,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2432,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2438,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2439,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2440,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2441,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2442,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2443,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2444,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2445,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2446,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2447,1
    - Dst: crypto_ec_key_deinit
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2448,1
    - Dst: crypto_ec_key_deinit
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2449,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 98
    argCount: 1
    argNames:
    - test
    argTypes:
    - struct hpke_test*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2451
      start: 2318
    functionDepth: 1
    functionLinenumber: 2318
    functionLinenumberEnd: 2451
    functionName: run_hpke_test
    functionSourceFile: /src/hostap/src/crypto/crypto_module_tests.c
    functionUses: 0
    functionsReached:
    - crypto_ec_key_deinit
    - wpa_printf
    - wpabuf_head_u8
    - wpabuf_len
    - wpabuf_free
    - wpabuf_head
    - crypto_ec_key_set_pub
    - crypto_ec_key_set_priv
    - wpabuf_concat
    - os_memcmp
    - hpke_base_seal
    - hpke_base_open
    - wpabuf_parse_bin
    - wpa_hexdump_buf
    linkageType: ''
    returnType: int
    signature: int run_hpke_test(const struct hpke_test *test)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2461,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2462,1
    - Dst: run_hpke_test
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2463,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2467,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2470
      start: 2456
    functionDepth: 2
    functionLinenumber: 2456
    functionLinenumberEnd: 2470
    functionName: test_hpke
    functionSourceFile: /src/hostap/src/crypto/crypto_module_tests.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - run_hpke_test
    - ARRAY_SIZE
    linkageType: ''
    returnType: int
    signature: int test_hpke(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nt_password_hash
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2516,1
    - Dst: os_strlen
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2516,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2517,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2518,1
    - Dst: generate_nt_response
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2522,1
    - Dst: os_strlen
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2523,1
    - Dst: os_strlen
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2524,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2525,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2526,1
    - Dst: hash_nt_password_hash
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2530,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2531,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2533,1
    - Dst: generate_authenticator_response
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2537,1
    - Dst: os_strlen
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2538,1
    - Dst: os_strlen
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2541,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2543,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2545,1
    - Dst: get_master_key
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2549,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2550,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2551,1
    - Dst: get_asymetric_start_key
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2555,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2557,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2558,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2563,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2565,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2569,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2572
      start: 2473
    functionDepth: 1
    functionLinenumber: 2473
    functionLinenumberEnd: 2572
    functionName: test_ms_funcs
    functionSourceFile: /src/hostap/src/crypto/crypto_module_tests.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - get_asymetric_start_key
    - generate_nt_response
    - generate_authenticator_response
    - os_memcmp
    - nt_password_hash
    - get_master_key
    - hash_nt_password_hash
    linkageType: ''
    returnType: int
    signature: int test_ms_funcs(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2579,1
    - Dst: test_siv
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2580,1
    - Dst: test_omac1
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2581,1
    - Dst: test_eax
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2582,1
    - Dst: test_cbc
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2583,1
    - Dst: test_ecb
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2584,1
    - Dst: test_key_wrap
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2585,1
    - Dst: test_aes_ctr
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2586,1
    - Dst: test_md5
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2587,1
    - Dst: test_sha1
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2588,1
    - Dst: test_sha256
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2589,1
    - Dst: test_sha384
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2590,1
    - Dst: test_fips186_2_prf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2591,1
    - Dst: test_extract_expand_hkdf
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2592,1
    - Dst: test_hpke
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2593,1
    - Dst: test_ms_funcs
      Src: /src/hostap/src/crypto/crypto_module_tests.c:2594,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2598
      start: 2575
    functionDepth: 3
    functionLinenumber: 2575
    functionLinenumberEnd: 2598
    functionName: crypto_module_tests
    functionSourceFile: /src/hostap/src/crypto/crypto_module_tests.c
    functionUses: 1
    functionsReached:
    - test_key_wrap
    - wpa_printf
    - test_hpke
    - test_siv
    - test_aes_ctr
    - test_cbc
    - test_sha384
    - test_fips186_2_prf
    - test_sha256
    - test_extract_expand_hkdf
    - test_omac1
    - test_eax
    - test_sha1
    - test_ms_funcs
    - test_ecb
    - test_md5
    linkageType: ''
    returnType: int
    signature: int crypto_module_tests(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sha384_init
      Src: /src/hostap/src/crypto/sha384-internal.c:30,1
    - Dst: sha384_process
      Src: /src/hostap/src/crypto/sha384-internal.c:32,1
    - Dst: sha384_done
      Src: /src/hostap/src/crypto/sha384-internal.c:34,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 37
    functionName: sha384_vector
    functionSourceFile: /src/hostap/src/crypto/sha384-internal.c
    functionUses: 1
    functionsReached:
    - sha384_init
    - sha384_process
    - sha384_done
    linkageType: ''
    returnType: int
    signature: "int sha384_vector(size_t num_elem, const u8 *addr[], const size_t
      *len,\n\t\t  u8 *mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: CONST64
    functionSourceFile: /src/hostap/src/crypto/sha384-internal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONST64(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CONST64
      Src: /src/hostap/src/crypto/sha384-internal.c:56,1
    - Dst: CONST64
      Src: /src/hostap/src/crypto/sha384-internal.c:57,1
    - Dst: CONST64
      Src: /src/hostap/src/crypto/sha384-internal.c:58,1
    - Dst: CONST64
      Src: /src/hostap/src/crypto/sha384-internal.c:59,1
    - Dst: CONST64
      Src: /src/hostap/src/crypto/sha384-internal.c:60,1
    - Dst: CONST64
      Src: /src/hostap/src/crypto/sha384-internal.c:61,1
    - Dst: CONST64
      Src: /src/hostap/src/crypto/sha384-internal.c:62,1
    - Dst: CONST64
      Src: /src/hostap/src/crypto/sha384-internal.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - md
    argTypes:
    - struct sha384_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 64
    functionName: sha384_init
    functionSourceFile: /src/hostap/src/crypto/sha384-internal.c
    functionUses: 1
    functionsReached:
    - CONST64
    linkageType: ''
    returnType: void
    signature: void sha384_init(struct sha384_state *md)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha512_process
      Src: /src/hostap/src/crypto/sha384-internal.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - md
    - in
    - inlen
    argTypes:
    - struct sha384_state*
    - unsigned char*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: sha384_process
    functionSourceFile: /src/hostap/src/crypto/sha384-internal.c
    functionUses: 1
    functionsReached:
    - sha512_process
    linkageType: ''
    returnType: int
    signature: "int sha384_process(struct sha384_state *md, const unsigned char *in,\n\t\t
      \  unsigned long inlen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sha512_done
      Src: /src/hostap/src/crypto/sha384-internal.c:85,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/sha384-internal.c:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - md
    - out
    argTypes:
    - struct sha384_state*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 90
    functionName: sha384_done
    functionSourceFile: /src/hostap/src/crypto/sha384-internal.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    - sha512_done
    linkageType: ''
    returnType: int
    signature: int sha384_done(struct sha384_state *md, unsigned char *out)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/crypto/sha1-prf.c:36,1
    - Dst: hmac_sha1_vector
      Src: /src/hostap/src/crypto/sha1-prf.c:51,1
    - Dst: hmac_sha1_vector
      Src: /src/hostap/src/crypto/sha1-prf.c:56,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/sha1-prf.c:59,1
    - Dst: forced_memzero
      Src: /src/hostap/src/crypto/sha1-prf.c:64,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 7
    argNames:
    - key
    - key_len
    - label
    - data
    - data_len
    - buf
    - buf_len
    argTypes:
    - u8*
    - size_t
    - char*
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 67
    functionName: sha1_prf
    functionSourceFile: /src/hostap/src/crypto/sha1-prf.c
    functionUses: 1
    functionsReached:
    - os_strlen
    - hmac_sha1_vector
    - os_memcpy
    - forced_memzero
    linkageType: ''
    returnType: int
    signature: "int sha1_prf(const u8 *key, size_t key_len, const char *label,\n\t
      \    const u8 *data, size_t data_len, u8 *buf, size_t buf_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sha512_vector
      Src: /src/hostap/src/crypto/sha512.c:44,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/sha512.c:60,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/sha512.c:61,1
    - Dst: sha512_vector
      Src: /src/hostap/src/crypto/sha512.c:73,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/sha512.c:76,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/sha512.c:77,1
    - Dst: sha512_vector
      Src: /src/hostap/src/crypto/sha512.c:87,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 6
    argNames:
    - key
    - key_len
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - u8*
    - size_t
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 88
    functionName: hmac_sha512_vector
    functionSourceFile: /src/hostap/src/crypto/sha512.c
    functionUses: 1
    functionsReached:
    - sha512_vector
    - os_memcpy
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int hmac_sha512_vector(const u8 *key, size_t key_len, size_t num_elem,\n\t\t
      \      const u8 *addr[], const size_t *len, u8 *mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_sha512_vector
      Src: /src/hostap/src/crypto/sha512.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - key
    - key_len
    - data
    - data_len
    - mac
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: hmac_sha512
    functionSourceFile: /src/hostap/src/crypto/sha512.c
    functionUses: 0
    functionsReached:
    - hmac_sha512_vector
    linkageType: ''
    returnType: int
    signature: "int hmac_sha512(const u8 *key, size_t key_len, const u8 *data,\n\t\tsize_t
      data_len, u8 *mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/crypto/aes-gcm.c:19,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/src/crypto/aes-gcm.c:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - block
    argTypes:
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 22
    functionName: inc32
    functionSourceFile: /src/hostap/src/crypto/aes-gcm.c
    functionUses: 0
    functionsReached:
    - WPA_PUT_BE32
    - WPA_GET_BE32
    linkageType: ''
    returnType: void
    signature: void inc32(u8 *block)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 33
    functionName: xor_block
    functionSourceFile: /src/hostap/src/crypto/aes-gcm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void xor_block(u8 *dst, const u8 *src)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/crypto/aes-gcm.c:40,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/src/crypto/aes-gcm.c:44,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/crypto/aes-gcm.c:46,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/src/crypto/aes-gcm.c:50,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/crypto/aes-gcm.c:52,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/src/crypto/aes-gcm.c:56,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/crypto/aes-gcm.c:58,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/src/crypto/aes-gcm.c:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - v
    argTypes:
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 61
    functionName: shift_right_block
    functionSourceFile: /src/hostap/src/crypto/aes-gcm.c
    functionUses: 0
    functionsReached:
    - WPA_PUT_BE32
    - WPA_GET_BE32
    linkageType: ''
    returnType: void
    signature: void shift_right_block(u8 *v)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/crypto/aes-gcm.c:70,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/aes-gcm.c:71,1
    - Dst: BIT
      Src: /src/hostap/src/crypto/aes-gcm.c:75,1
    - Dst: xor_block
      Src: /src/hostap/src/crypto/aes-gcm.c:77,1
    - Dst: shift_right_block
      Src: /src/hostap/src/crypto/aes-gcm.c:84,1
    - Dst: shift_right_block
      Src: /src/hostap/src/crypto/aes-gcm.c:89,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 93
    functionName: gf_mult
    functionSourceFile: /src/hostap/src/crypto/aes-gcm.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - shift_right_block
    - xor_block
    - BIT
    - os_memset
    linkageType: ''
    returnType: void
    signature: void gf_mult(const u8 *x, const u8 *y, u8 *z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/crypto/aes-gcm.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - y
    argTypes:
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: ghash_start
    functionSourceFile: /src/hostap/src/crypto/aes-gcm.c
    functionUses: 0
    functionsReached:
    - os_memset
    linkageType: ''
    returnType: void
    signature: void ghash_start(u8 *y)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xor_block
      Src: /src/hostap/src/crypto/aes-gcm.c:113,1
    - Dst: gf_mult
      Src: /src/hostap/src/crypto/aes-gcm.c:119,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/aes-gcm.c:120,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/aes-gcm.c:126,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/aes-gcm.c:127,1
    - Dst: xor_block
      Src: /src/hostap/src/crypto/aes-gcm.c:130,1
    - Dst: gf_mult
      Src: /src/hostap/src/crypto/aes-gcm.c:135,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/aes-gcm.c:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 4
    argNames:
    - h
    - x
    - xlen
    - y
    argTypes:
    - u8*
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 103
    functionDepth: 3
    functionLinenumber: 103
    functionLinenumberEnd: 140
    functionName: ghash
    functionSourceFile: /src/hostap/src/crypto/aes-gcm.c
    functionUses: 0
    functionsReached:
    - os_memset
    - os_memcpy
    - xor_block
    - gf_mult
    linkageType: ''
    returnType: void
    signature: void ghash(const u8 *h, const u8 *x, size_t xlen, u8 *y)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/aes-gcm.c:155,1
    - Dst: aes_encrypt
      Src: /src/hostap/src/crypto/aes-gcm.c:158,1
    - Dst: xor_block
      Src: /src/hostap/src/crypto/aes-gcm.c:159,1
    - Dst: inc32
      Src: /src/hostap/src/crypto/aes-gcm.c:162,1
    - Dst: aes_encrypt
      Src: /src/hostap/src/crypto/aes-gcm.c:168,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 5
    argNames:
    - aes
    - icb
    - x
    - xlen
    - y
    argTypes:
    - void*
    - u8*
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 172
    functionName: aes_gctr
    functionSourceFile: /src/hostap/src/crypto/aes-gcm.c
    functionUses: 0
    functionsReached:
    - inc32
    - os_memcpy
    - aes_encrypt
    - xor_block
    linkageType: ''
    returnType: void
    signature: void aes_gctr(void *aes, const u8 *icb, const u8 *x, size_t xlen, u8
      *y)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: aes_encrypt_init
      Src: /src/hostap/src/crypto/aes-gcm.c:179,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/aes-gcm.c:184,1
    - Dst: aes_encrypt
      Src: /src/hostap/src/crypto/aes-gcm.c:185,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/crypto/aes-gcm.c:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - key
    - key_len
    - H
    argTypes:
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 189
    functionName: aes_gcm_init_hash_subkey
    functionSourceFile: /src/hostap/src/crypto/aes-gcm.c
    functionUses: 0
    functionsReached:
    - os_memset
    - aes_encrypt
    - wpa_hexdump_key
    - aes_encrypt_init
    linkageType: ''
    returnType: void
    signature: void * aes_gcm_init_hash_subkey(const u8 *key, size_t key_len, u8 *H)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/aes-gcm.c:198,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/aes-gcm.c:199,1
    - Dst: ghash_start
      Src: /src/hostap/src/crypto/aes-gcm.c:206,1
    - Dst: ghash
      Src: /src/hostap/src/crypto/aes-gcm.c:207,1
    - Dst: WPA_PUT_BE64
      Src: /src/hostap/src/crypto/aes-gcm.c:208,1
    - Dst: WPA_PUT_BE64
      Src: /src/hostap/src/crypto/aes-gcm.c:209,1
    - Dst: ghash
      Src: /src/hostap/src/crypto/aes-gcm.c:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - iv
    - iv_len
    - H
    - J0
    argTypes:
    - u8*
    - size_t
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 192
    functionDepth: 4
    functionLinenumber: 192
    functionLinenumberEnd: 212
    functionName: aes_gcm_prepare_j0
    functionSourceFile: /src/hostap/src/crypto/aes-gcm.c
    functionUses: 0
    functionsReached:
    - WPA_PUT_BE64
    - os_memcpy
    - ghash
    - ghash_start
    - os_memset
    linkageType: ''
    returnType: void
    signature: void aes_gcm_prepare_j0(const u8 *iv, size_t iv_len, const u8 *H, u8
      *J0)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/aes-gcm.c:223,1
    - Dst: inc32
      Src: /src/hostap/src/crypto/aes-gcm.c:224,1
    - Dst: aes_gctr
      Src: /src/hostap/src/crypto/aes-gcm.c:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - aes
    - J0
    - in
    - len
    - out
    argTypes:
    - void*
    - u8*
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 215
    functionDepth: 3
    functionLinenumber: 215
    functionLinenumberEnd: 226
    functionName: aes_gcm_gctr
    functionSourceFile: /src/hostap/src/crypto/aes-gcm.c
    functionUses: 0
    functionsReached:
    - inc32
    - os_memcpy
    - aes_gctr
    linkageType: ''
    returnType: void
    signature: "void aes_gcm_gctr(void *aes, const u8 *J0, const u8 *in, size_t len,\n\t\t\t
      u8 *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ghash_start
      Src: /src/hostap/src/crypto/aes-gcm.c:240,1
    - Dst: ghash
      Src: /src/hostap/src/crypto/aes-gcm.c:241,1
    - Dst: ghash
      Src: /src/hostap/src/crypto/aes-gcm.c:242,1
    - Dst: WPA_PUT_BE64
      Src: /src/hostap/src/crypto/aes-gcm.c:243,1
    - Dst: WPA_PUT_BE64
      Src: /src/hostap/src/crypto/aes-gcm.c:244,1
    - Dst: ghash
      Src: /src/hostap/src/crypto/aes-gcm.c:245,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/crypto/aes-gcm.c:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - H
    - aad
    - aad_len
    - crypt
    - crypt_len
    - S
    argTypes:
    - u8*
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 229
    functionDepth: 4
    functionLinenumber: 229
    functionLinenumberEnd: 248
    functionName: aes_gcm_ghash
    functionSourceFile: /src/hostap/src/crypto/aes-gcm.c
    functionUses: 0
    functionsReached:
    - WPA_PUT_BE64
    - ghash
    - wpa_hexdump_key
    - ghash_start
    linkageType: ''
    returnType: void
    signature: "void aes_gcm_ghash(const u8 *H, const u8 *aad, size_t aad_len,\n\t\t\t
      \ const u8 *crypt, size_t crypt_len, u8 *S)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: aes_gcm_init_hash_subkey
      Src: /src/hostap/src/crypto/aes-gcm.c:263,1
    - Dst: aes_gcm_prepare_j0
      Src: /src/hostap/src/crypto/aes-gcm.c:267,1
    - Dst: aes_gcm_gctr
      Src: /src/hostap/src/crypto/aes-gcm.c:270,1
    - Dst: aes_gcm_ghash
      Src: /src/hostap/src/crypto/aes-gcm.c:272,1
    - Dst: aes_gctr
      Src: /src/hostap/src/crypto/aes-gcm.c:275,1
    - Dst: aes_encrypt_deinit
      Src: /src/hostap/src/crypto/aes-gcm.c:279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 10
    argNames:
    - key
    - key_len
    - iv
    - iv_len
    - plain
    - plain_len
    - aad
    - aad_len
    - crypt
    - tag
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 254
    functionDepth: 5
    functionLinenumber: 254
    functionLinenumberEnd: 282
    functionName: aes_gcm_ae
    functionSourceFile: /src/hostap/src/crypto/aes-gcm.c
    functionUses: 2
    functionsReached:
    - aes_gcm_prepare_j0
    - aes_gcm_init_hash_subkey
    - aes_gctr
    - aes_gcm_ghash
    - aes_gcm_gctr
    - aes_encrypt_deinit
    linkageType: ''
    returnType: int
    signature: "int aes_gcm_ae(const u8 *key, size_t key_len, const u8 *iv, size_t
      iv_len,\n\t       const u8 *plain, size_t plain_len,\n\t       const u8 *aad,
      size_t aad_len, u8 *crypt, u8 *tag)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: aes_gcm_init_hash_subkey
      Src: /src/hostap/src/crypto/aes-gcm.c:297,1
    - Dst: aes_gcm_prepare_j0
      Src: /src/hostap/src/crypto/aes-gcm.c:301,1
    - Dst: aes_gcm_gctr
      Src: /src/hostap/src/crypto/aes-gcm.c:304,1
    - Dst: aes_gcm_ghash
      Src: /src/hostap/src/crypto/aes-gcm.c:306,1
    - Dst: aes_gctr
      Src: /src/hostap/src/crypto/aes-gcm.c:309,1
    - Dst: aes_encrypt_deinit
      Src: /src/hostap/src/crypto/aes-gcm.c:311,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/crypto/aes-gcm.c:313,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/aes-gcm.c:314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 10
    argNames:
    - key
    - key_len
    - iv
    - iv_len
    - crypt
    - crypt_len
    - aad
    - aad_len
    - tag
    - plain
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 288
    functionDepth: 5
    functionLinenumber: 288
    functionLinenumberEnd: 319
    functionName: aes_gcm_ad
    functionSourceFile: /src/hostap/src/crypto/aes-gcm.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - aes_gcm_prepare_j0
    - aes_gcm_init_hash_subkey
    - aes_gctr
    - os_memcmp_const
    - aes_gcm_ghash
    - aes_gcm_gctr
    - aes_encrypt_deinit
    linkageType: ''
    returnType: int
    signature: "int aes_gcm_ad(const u8 *key, size_t key_len, const u8 *iv, size_t
      iv_len,\n\t       const u8 *crypt, size_t crypt_len,\n\t       const u8 *aad,
      size_t aad_len, const u8 *tag, u8 *plain)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aes_gcm_ae
      Src: /src/hostap/src/crypto/aes-gcm.c:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - key
    - key_len
    - iv
    - iv_len
    - aad
    - aad_len
    - tag
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 322
    functionDepth: 6
    functionLinenumber: 322
    functionLinenumberEnd: 327
    functionName: aes_gmac
    functionSourceFile: /src/hostap/src/crypto/aes-gcm.c
    functionUses: 4
    functionsReached:
    - aes_gcm_ae
    linkageType: ''
    returnType: int
    signature: "int aes_gmac(const u8 *key, size_t key_len, const u8 *iv, size_t iv_len,\n\t
      \    const u8 *aad, size_t aad_len, u8 *tag)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: aes_encrypt_init
      Src: /src/hostap/src/crypto/aes-ctr.c:34,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/aes-ctr.c:37,1
    - Dst: aes_encrypt
      Src: /src/hostap/src/crypto/aes-ctr.c:40,1
    - Dst: aes_encrypt_deinit
      Src: /src/hostap/src/crypto/aes-ctr.c:54,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 5
    argNames:
    - key
    - key_len
    - nonce
    - data
    - data_len
    argTypes:
    - u8*
    - size_t
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 56
    functionName: aes_ctr_encrypt
    functionSourceFile: /src/hostap/src/crypto/aes-ctr.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    - aes_encrypt
    - aes_encrypt_deinit
    - aes_encrypt_init
    linkageType: ''
    returnType: int
    signature: "int aes_ctr_encrypt(const u8 *key, size_t key_len, const u8 *nonce,\n\t\t
      \   u8 *data, size_t data_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aes_ctr_encrypt
      Src: /src/hostap/src/crypto/aes-ctr.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - key
    - nonce
    - data
    - data_len
    argTypes:
    - u8*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: aes_128_ctr_encrypt
    functionSourceFile: /src/hostap/src/crypto/aes-ctr.c
    functionUses: 2
    functionsReached:
    - aes_ctr_encrypt
    linkageType: ''
    returnType: int
    signature: "int aes_128_ctr_encrypt(const u8 *key, const u8 *nonce,\n\t\t\tu8
      *data, size_t data_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sha384_vector
      Src: /src/hostap/src/crypto/sha384.c:44,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/sha384.c:60,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/sha384.c:61,1
    - Dst: sha384_vector
      Src: /src/hostap/src/crypto/sha384.c:73,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/sha384.c:76,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/sha384.c:77,1
    - Dst: sha384_vector
      Src: /src/hostap/src/crypto/sha384.c:87,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 6
    argNames:
    - key
    - key_len
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - u8*
    - size_t
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 88
    functionName: hmac_sha384_vector
    functionSourceFile: /src/hostap/src/crypto/sha384.c
    functionUses: 1
    functionsReached:
    - sha384_vector
    - os_memcpy
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int hmac_sha384_vector(const u8 *key, size_t key_len, size_t num_elem,\n\t\t
      \      const u8 *addr[], const size_t *len, u8 *mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_sha384_vector
      Src: /src/hostap/src/crypto/sha384.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - key
    - key_len
    - data
    - data_len
    - mac
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: hmac_sha384
    functionSourceFile: /src/hostap/src/crypto/sha384.c
    functionUses: 3
    functionsReached:
    - hmac_sha384_vector
    linkageType: ''
    returnType: int
    signature: "int hmac_sha384(const u8 *key, size_t key_len, const u8 *data,\n\t\tsize_t
      data_len, u8 *mac)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_gnutls.c:27,1
    - Dst: gcry_md_open
      Src: /src/hostap/src/crypto/crypto_gnutls.c:30,1
    - Dst: gcry_md_write
      Src: /src/hostap/src/crypto/crypto_gnutls.c:33,1
    - Dst: gcry_md_read
      Src: /src/hostap/src/crypto/crypto_gnutls.c:34,1
    - Dst: memcpy
      Src: /src/hostap/src/crypto/crypto_gnutls.c:36,1
    - Dst: gcry_md_get_algo_dlen
      Src: /src/hostap/src/crypto/crypto_gnutls.c:36,1
    - Dst: gcry_md_close
      Src: /src/hostap/src/crypto/crypto_gnutls.c:37,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 5
    argNames:
    - algo
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - int
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 39
    functionName: gnutls_digest_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_gnutls.c
    functionUses: 0
    functionsReached:
    - TEST_FAIL
    - gcry_md_get_algo_dlen
    - gcry_md_open
    - gcry_md_read
    - memcpy
    - gcry_md_write
    - gcry_md_close
    linkageType: ''
    returnType: int
    signature: "int gnutls_digest_vector(int algo, size_t num_elem,\n\t\t\t\tconst
      u8 *addr[], const size_t *len, u8 *mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_digest_vector
      Src: /src/hostap/src/crypto/crypto_gnutls.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: md4_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_gnutls.c
    functionUses: 1
    functionsReached:
    - gnutls_digest_vector
    linkageType: ''
    returnType: int
    signature: int md4_vector(size_t num_elem, const u8 *addr[], const size_t *len,
      u8 *mac)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gcry_cipher_open
      Src: /src/hostap/src/crypto/crypto_gnutls.c:63,1
    - Dst: gcry_err_code
      Src: /src/hostap/src/crypto/crypto_gnutls.c:64,1
    - Dst: gcry_cipher_setkey
      Src: /src/hostap/src/crypto/crypto_gnutls.c:64,1
    - Dst: gcry_cipher_encrypt
      Src: /src/hostap/src/crypto/crypto_gnutls.c:65,1
    - Dst: gcry_cipher_close
      Src: /src/hostap/src/crypto/crypto_gnutls.c:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - clear
    - key
    - cypher
    argTypes:
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 68
    functionName: des_encrypt
    functionSourceFile: /src/hostap/src/crypto/crypto_gnutls.c
    functionUses: 0
    functionsReached:
    - gcry_err_code
    - gcry_cipher_encrypt
    - gcry_cipher_close
    - gcry_cipher_setkey
    - gcry_cipher_open
    linkageType: ''
    returnType: int
    signature: int des_encrypt(const u8 *clear, const u8 *key, u8 *cypher)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_digest_vector
      Src: /src/hostap/src/crypto/crypto_gnutls.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: md5_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_gnutls.c
    functionUses: 2
    functionsReached:
    - gnutls_digest_vector
    linkageType: ''
    returnType: int
    signature: int md5_vector(size_t num_elem, const u8 *addr[], const size_t *len,
      u8 *mac)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_digest_vector
      Src: /src/hostap/src/crypto/crypto_gnutls.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: sha1_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_gnutls.c
    functionUses: 9
    functionsReached:
    - gnutls_digest_vector
    linkageType: ''
    returnType: int
    signature: int sha1_vector(size_t num_elem, const u8 *addr[], const size_t *len,
      u8 *mac)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_digest_vector
      Src: /src/hostap/src/crypto/crypto_gnutls.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: sha256_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_gnutls.c
    functionUses: 10
    functionsReached:
    - gnutls_digest_vector
    linkageType: ''
    returnType: int
    signature: int sha256_vector(size_t num_elem, const u8 *addr[], const size_t *len,
      u8 *mac)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_digest_vector
      Src: /src/hostap/src/crypto/crypto_gnutls.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: sha384_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_gnutls.c
    functionUses: 3
    functionsReached:
    - gnutls_digest_vector
    linkageType: ''
    returnType: int
    signature: int sha384_vector(size_t num_elem, const u8 *addr[], const size_t *len,
      u8 *mac)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_digest_vector
      Src: /src/hostap/src/crypto/crypto_gnutls.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: sha512_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_gnutls.c
    functionUses: 4
    functionsReached:
    - gnutls_digest_vector
    linkageType: ''
    returnType: int
    signature: int sha512_vector(size_t num_elem, const u8 *addr[], const size_t *len,
      u8 *mac)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_gnutls.c:109,1
    - Dst: gcry_md_open
      Src: /src/hostap/src/crypto/crypto_gnutls.c:112,1
    - Dst: gcry_md_setkey
      Src: /src/hostap/src/crypto/crypto_gnutls.c:114,1
    - Dst: gcry_md_close
      Src: /src/hostap/src/crypto/crypto_gnutls.c:115,1
    - Dst: gcry_md_write
      Src: /src/hostap/src/crypto/crypto_gnutls.c:119,1
    - Dst: gcry_md_read
      Src: /src/hostap/src/crypto/crypto_gnutls.c:120,1
    - Dst: memcpy
      Src: /src/hostap/src/crypto/crypto_gnutls.c:122,1
    - Dst: gcry_md_get_algo_dlen
      Src: /src/hostap/src/crypto/crypto_gnutls.c:122,1
    - Dst: gcry_md_close
      Src: /src/hostap/src/crypto/crypto_gnutls.c:123,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 7
    argNames:
    - algo
    - key
    - key_len
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - int
    - u8*
    - size_t
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 125
    functionName: gnutls_hmac_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_gnutls.c
    functionUses: 0
    functionsReached:
    - TEST_FAIL
    - gcry_md_setkey
    - gcry_md_get_algo_dlen
    - gcry_md_open
    - gcry_md_read
    - memcpy
    - gcry_md_write
    - gcry_md_close
    linkageType: ''
    returnType: int
    signature: "int gnutls_hmac_vector(int algo, const u8 *key, size_t key_len,\n\t\t\t
      \     size_t num_elem, const u8 *addr[],\n\t\t\t      const size_t *len, u8
      *mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_hmac_vector
      Src: /src/hostap/src/crypto/crypto_gnutls.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - key
    - key_len
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - u8*
    - size_t
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: hmac_md5_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_gnutls.c
    functionUses: 0
    functionsReached:
    - gnutls_hmac_vector
    linkageType: ''
    returnType: int
    signature: "int hmac_md5_vector(const u8 *key, size_t key_len, size_t num_elem,\n\t\t
      \   const u8 *addr[], const size_t *len, u8 *mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_md5_vector
      Src: /src/hostap/src/crypto/crypto_gnutls.c:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - key
    - key_len
    - data
    - data_len
    - mac
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 140
    functionName: hmac_md5
    functionSourceFile: /src/hostap/src/crypto/crypto_gnutls.c
    functionUses: 0
    functionsReached:
    - hmac_md5_vector
    linkageType: ''
    returnType: int
    signature: "int hmac_md5(const u8 *key, size_t key_len, const u8 *data, size_t
      data_len,\n\t     u8 *mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_hmac_vector
      Src: /src/hostap/src/crypto/crypto_gnutls.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - key
    - key_len
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - u8*
    - size_t
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 148
    functionName: hmac_sha1_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_gnutls.c
    functionUses: 3
    functionsReached:
    - gnutls_hmac_vector
    linkageType: ''
    returnType: int
    signature: "int hmac_sha1_vector(const u8 *key, size_t key_len, size_t num_elem,\n\t\t
      \    const u8 *addr[], const size_t *len, u8 *mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_sha1_vector
      Src: /src/hostap/src/crypto/crypto_gnutls.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - key
    - key_len
    - data
    - data_len
    - mac
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 155
    functionName: hmac_sha1
    functionSourceFile: /src/hostap/src/crypto/crypto_gnutls.c
    functionUses: 5
    functionsReached:
    - hmac_sha1_vector
    linkageType: ''
    returnType: int
    signature: "int hmac_sha1(const u8 *key, size_t key_len, const u8 *data, size_t
      data_len,\n\t       u8 *mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_hmac_vector
      Src: /src/hostap/src/crypto/crypto_gnutls.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - key
    - key_len
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - u8*
    - size_t
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 160
    functionDepth: 2
    functionLinenumber: 160
    functionLinenumberEnd: 165
    functionName: hmac_sha256_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_gnutls.c
    functionUses: 3
    functionsReached:
    - gnutls_hmac_vector
    linkageType: ''
    returnType: int
    signature: "int hmac_sha256_vector(const u8 *key, size_t key_len, size_t num_elem,\n\t\t
      \      const u8 *addr[], const size_t *len, u8 *mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_sha256_vector
      Src: /src/hostap/src/crypto/crypto_gnutls.c:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - key
    - key_len
    - data
    - data_len
    - mac
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: hmac_sha256
    functionSourceFile: /src/hostap/src/crypto/crypto_gnutls.c
    functionUses: 7
    functionsReached:
    - hmac_sha256_vector
    linkageType: ''
    returnType: int
    signature: "int hmac_sha256(const u8 *key, size_t key_len, const u8 *data,\n\t\tsize_t
      data_len, u8 *mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_hmac_vector
      Src: /src/hostap/src/crypto/crypto_gnutls.c:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - key
    - key_len
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - u8*
    - size_t
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionName: hmac_sha384_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_gnutls.c
    functionUses: 2
    functionsReached:
    - gnutls_hmac_vector
    linkageType: ''
    returnType: int
    signature: "int hmac_sha384_vector(const u8 *key, size_t key_len, size_t num_elem,\n\t\t
      \      const u8 *addr[], const size_t *len, u8 *mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_sha384_vector
      Src: /src/hostap/src/crypto/crypto_gnutls.c:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - key
    - key_len
    - data
    - data_len
    - mac
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 191
    functionName: hmac_sha384
    functionSourceFile: /src/hostap/src/crypto/crypto_gnutls.c
    functionUses: 3
    functionsReached:
    - hmac_sha384_vector
    linkageType: ''
    returnType: int
    signature: "int hmac_sha384(const u8 *key, size_t key_len, const u8 *data,\n\t\tsize_t
      data_len, u8 *mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_hmac_vector
      Src: /src/hostap/src/crypto/crypto_gnutls.c:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - key
    - key_len
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - u8*
    - size_t
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 198
    functionDepth: 2
    functionLinenumber: 198
    functionLinenumberEnd: 203
    functionName: hmac_sha512_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_gnutls.c
    functionUses: 2
    functionsReached:
    - gnutls_hmac_vector
    linkageType: ''
    returnType: int
    signature: "int hmac_sha512_vector(const u8 *key, size_t key_len, size_t num_elem,\n\t\t
      \      const u8 *addr[], const size_t *len, u8 *mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_sha512_vector
      Src: /src/hostap/src/crypto/crypto_gnutls.c:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - key
    - key_len
    - data
    - data_len
    - mac
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 210
    functionName: hmac_sha512
    functionSourceFile: /src/hostap/src/crypto/crypto_gnutls.c
    functionUses: 0
    functionsReached:
    - hmac_sha512_vector
    linkageType: ''
    returnType: int
    signature: "int hmac_sha512(const u8 *key, size_t key_len, const u8 *data,\n\t\tsize_t
      data_len, u8 *mac)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_gnutls.c:219,1
    - Dst: gcry_cipher_open
      Src: /src/hostap/src/crypto/crypto_gnutls.c:222,1
    - Dst: printf
      Src: /src/hostap/src/crypto/crypto_gnutls.c:224,1
    - Dst: gcry_cipher_setkey
      Src: /src/hostap/src/crypto/crypto_gnutls.c:227,1
    - Dst: printf
      Src: /src/hostap/src/crypto/crypto_gnutls.c:228,1
    - Dst: gcry_cipher_close
      Src: /src/hostap/src/crypto/crypto_gnutls.c:229,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - key
    - len
    argTypes:
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 234
    functionName: aes_encrypt_init
    functionSourceFile: /src/hostap/src/crypto/crypto_gnutls.c
    functionUses: 3
    functionsReached:
    - TEST_FAIL
    - gcry_cipher_close
    - gcry_cipher_setkey
    - printf
    - gcry_cipher_open
    linkageType: ''
    returnType: void
    signature: void * aes_encrypt_init(const u8 *key, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gcry_cipher_encrypt
      Src: /src/hostap/src/crypto/crypto_gnutls.c:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - plain
    - crypt
    argTypes:
    - void*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 242
    functionName: aes_encrypt
    functionSourceFile: /src/hostap/src/crypto/crypto_gnutls.c
    functionUses: 4
    functionsReached:
    - gcry_cipher_encrypt
    linkageType: ''
    returnType: int
    signature: int aes_encrypt(void *ctx, const u8 *plain, u8 *crypt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gcry_cipher_close
      Src: /src/hostap/src/crypto/crypto_gnutls.c:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 249
    functionName: aes_encrypt_deinit
    functionSourceFile: /src/hostap/src/crypto/crypto_gnutls.c
    functionUses: 4
    functionsReached:
    - gcry_cipher_close
    linkageType: ''
    returnType: void
    signature: void aes_encrypt_deinit(void *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_gnutls.c:256,1
    - Dst: gcry_cipher_open
      Src: /src/hostap/src/crypto/crypto_gnutls.c:259,1
    - Dst: gcry_cipher_setkey
      Src: /src/hostap/src/crypto/crypto_gnutls.c:262,1
    - Dst: gcry_cipher_close
      Src: /src/hostap/src/crypto/crypto_gnutls.c:263,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - key
    - len
    argTypes:
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 268
    functionName: aes_decrypt_init
    functionSourceFile: /src/hostap/src/crypto/crypto_gnutls.c
    functionUses: 0
    functionsReached:
    - TEST_FAIL
    - gcry_cipher_setkey
    - gcry_cipher_open
    - gcry_cipher_close
    linkageType: ''
    returnType: void
    signature: void * aes_decrypt_init(const u8 *key, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gcry_cipher_decrypt
      Src: /src/hostap/src/crypto/crypto_gnutls.c:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - crypt
    - plain
    argTypes:
    - void*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 276
    functionName: aes_decrypt
    functionSourceFile: /src/hostap/src/crypto/crypto_gnutls.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_decrypt
    linkageType: ''
    returnType: int
    signature: int aes_decrypt(void *ctx, const u8 *crypt, u8 *plain)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gcry_cipher_close
      Src: /src/hostap/src/crypto/crypto_gnutls.c:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 283
    functionName: aes_decrypt_deinit
    functionSourceFile: /src/hostap/src/crypto/crypto_gnutls.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_close
    linkageType: ''
    returnType: void
    signature: void aes_decrypt_deinit(void *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_get_random
      Src: /src/hostap/src/crypto/crypto_gnutls.c:291,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/crypto_gnutls.c:293,1
    - Dst: crypto_mod_exp
      Src: /src/hostap/src/crypto/crypto_gnutls.c:299,1
    - Dst: os_memmove
      Src: /src/hostap/src/crypto/crypto_gnutls.c:304,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/crypto_gnutls.c:305,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 5
    argNames:
    - generator
    - prime
    - prime_len
    - privkey
    - pubkey
    argTypes:
    - u8
    - u8*
    - size_t
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 309
    functionName: crypto_dh_init
    functionSourceFile: /src/hostap/src/crypto/crypto_gnutls.c
    functionUses: 0
    functionsReached:
    - os_get_random
    - os_memmove
    - os_memcmp
    - crypto_mod_exp
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int crypto_dh_init(u8 generator, const u8 *prime, size_t prime_len,
      u8 *privkey,\n\t\t   u8 *pubkey)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/crypto_gnutls.c:323,1
    - Dst: gcry_mpi_scan
      Src: /src/hostap/src/crypto/crypto_gnutls.c:326,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/hostap/src/crypto/crypto_gnutls.c:328,1
    - Dst: gcry_mpi_new
      Src: /src/hostap/src/crypto/crypto_gnutls.c:336,1
    - Dst: gcry_mpi_scan
      Src: /src/hostap/src/crypto/crypto_gnutls.c:338,1
    - Dst: gcry_mpi_scan
      Src: /src/hostap/src/crypto/crypto_gnutls.c:340,1
    - Dst: gcry_mpi_powm
      Src: /src/hostap/src/crypto/crypto_gnutls.c:343,1
    - Dst: gcry_mpi_cmp_ui
      Src: /src/hostap/src/crypto/crypto_gnutls.c:344,1
    - Dst: gcry_mpi_release
      Src: /src/hostap/src/crypto/crypto_gnutls.c:346,1
    - Dst: gcry_mpi_release
      Src: /src/hostap/src/crypto/crypto_gnutls.c:347,1
    - Dst: gcry_mpi_release
      Src: /src/hostap/src/crypto/crypto_gnutls.c:348,1
    - Dst: crypto_mod_exp
      Src: /src/hostap/src/crypto/crypto_gnutls.c:353,1
    - Dst: gcry_mpi_release
      Src: /src/hostap/src/crypto/crypto_gnutls.c:356,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 11
    argNames:
    - generator
    - prime
    - prime_len
    - order
    - order_len
    - privkey
    - privkey_len
    - pubkey
    - pubkey_len
    - secret
    - len
    argTypes:
    - u8
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 358
    functionName: crypto_dh_derive_secret
    functionSourceFile: /src/hostap/src/crypto/crypto_gnutls.c
    functionUses: 0
    functionsReached:
    - gcry_mpi_release
    - gcry_mpi_scan
    - gcry_mpi_new
    - gcry_mpi_powm
    - os_memcmp
    - gcry_mpi_cmp_ui
    - crypto_mod_exp
    linkageType: ''
    returnType: int
    signature: "int crypto_dh_derive_secret(u8 generator, const u8 *prime, size_t
      prime_len,\n\t\t\t    const u8 *order, size_t order_len,\n\t\t\t    const u8
      *privkey, size_t privkey_len,\n\t\t\t    const u8 *pubkey, size_t pubkey_len,\n\t\t\t
      \   u8 *secret, size_t *len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gcry_mpi_scan
      Src: /src/hostap/src/crypto/crypto_gnutls.c:370,1
    - Dst: gcry_mpi_scan
      Src: /src/hostap/src/crypto/crypto_gnutls.c:372,1
    - Dst: gcry_mpi_scan
      Src: /src/hostap/src/crypto/crypto_gnutls.c:374,1
    - Dst: gcry_mpi_new
      Src: /src/hostap/src/crypto/crypto_gnutls.c:377,1
    - Dst: gcry_mpi_powm
      Src: /src/hostap/src/crypto/crypto_gnutls.c:379,1
    - Dst: gcry_mpi_print
      Src: /src/hostap/src/crypto/crypto_gnutls.c:381,1
    - Dst: gcry_mpi_release
      Src: /src/hostap/src/crypto/crypto_gnutls.c:388,1
    - Dst: gcry_mpi_release
      Src: /src/hostap/src/crypto/crypto_gnutls.c:389,1
    - Dst: gcry_mpi_release
      Src: /src/hostap/src/crypto/crypto_gnutls.c:390,1
    - Dst: gcry_mpi_release
      Src: /src/hostap/src/crypto/crypto_gnutls.c:391,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 8
    argNames:
    - base
    - base_len
    - power
    - power_len
    - modulus
    - modulus_len
    - result
    - result_len
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 393
    functionName: crypto_mod_exp
    functionSourceFile: /src/hostap/src/crypto/crypto_gnutls.c
    functionUses: 2
    functionsReached:
    - gcry_mpi_release
    - gcry_mpi_scan
    - gcry_mpi_new
    - gcry_mpi_powm
    - gcry_mpi_print
    linkageType: ''
    returnType: int
    signature: "int crypto_mod_exp(const u8 *base, size_t base_len,\n\t\t   const
      u8 *power, size_t power_len,\n\t\t   const u8 *modulus, size_t modulus_len,\n\t\t
      \  u8 *result, size_t *result_len)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/crypto/crypto_gnutls.c:411,1
    - Dst: gcry_cipher_open
      Src: /src/hostap/src/crypto/crypto_gnutls.c:418,1
    - Dst: gcry_cipher_open
      Src: /src/hostap/src/crypto/crypto_gnutls.c:420,1
    - Dst: gcry_cipher_open
      Src: /src/hostap/src/crypto/crypto_gnutls.c:429,1
    - Dst: gcry_cipher_open
      Src: /src/hostap/src/crypto/crypto_gnutls.c:430,1
    - Dst: gcry_cipher_open
      Src: /src/hostap/src/crypto/crypto_gnutls.c:434,1
    - Dst: gcry_cipher_open
      Src: /src/hostap/src/crypto/crypto_gnutls.c:435,1
    - Dst: gcry_cipher_open
      Src: /src/hostap/src/crypto/crypto_gnutls.c:439,1
    - Dst: gcry_cipher_open
      Src: /src/hostap/src/crypto/crypto_gnutls.c:440,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_gnutls.c:443,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_gnutls.c:448,1
    - Dst: gcry_cipher_setkey
      Src: /src/hostap/src/crypto/crypto_gnutls.c:452,1
    - Dst: gcry_cipher_setkey
      Src: /src/hostap/src/crypto/crypto_gnutls.c:453,1
    - Dst: gcry_cipher_close
      Src: /src/hostap/src/crypto/crypto_gnutls.c:454,1
    - Dst: gcry_cipher_close
      Src: /src/hostap/src/crypto/crypto_gnutls.c:455,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_gnutls.c:456,1
    - Dst: gcry_cipher_get_algo_blklen
      Src: /src/hostap/src/crypto/crypto_gnutls.c:460,1
    - Dst: gcry_cipher_setiv
      Src: /src/hostap/src/crypto/crypto_gnutls.c:461,1
    - Dst: gcry_cipher_setiv
      Src: /src/hostap/src/crypto/crypto_gnutls.c:462,1
    - Dst: gcry_cipher_close
      Src: /src/hostap/src/crypto/crypto_gnutls.c:463,1
    - Dst: gcry_cipher_close
      Src: /src/hostap/src/crypto/crypto_gnutls.c:464,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_gnutls.c:465,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 51
    argCount: 4
    argNames:
    - alg
    - iv
    - key
    - key_len
    argTypes:
    - enum crypto_cipher_alg
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 470
    functionName: crypto_cipher_init
    functionSourceFile: /src/hostap/src/crypto/crypto_gnutls.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_get_algo_blklen
    - gcry_cipher_setkey
    - gcry_cipher_close
    - os_zalloc
    - gcry_cipher_setiv
    - os_free
    - gcry_cipher_open
    linkageType: ''
    returnType: struct crypto_cipher
    signature: "struct crypto_cipher * crypto_cipher_init(enum crypto_cipher_alg alg,\n\t\t\t\t\t
      \ const u8 *iv, const u8 *key,\n\t\t\t\t\t  size_t key_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_cipher_encrypt
      Src: /src/hostap/src/crypto/crypto_gnutls.c:476,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - ctx
    - plain
    - crypt
    - len
    argTypes:
    - struct crypto_cipher*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 480
    functionName: crypto_cipher_encrypt
    functionSourceFile: /src/hostap/src/crypto/crypto_gnutls.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_encrypt
    linkageType: ''
    returnType: int
    signature: "int crypto_cipher_encrypt(struct crypto_cipher *ctx, const u8 *plain,\n\t\t\t
      \ u8 *crypt, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_cipher_decrypt
      Src: /src/hostap/src/crypto/crypto_gnutls.c:486,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - ctx
    - crypt
    - plain
    - len
    argTypes:
    - struct crypto_cipher*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 490
    functionName: crypto_cipher_decrypt
    functionSourceFile: /src/hostap/src/crypto/crypto_gnutls.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_decrypt
    linkageType: ''
    returnType: int
    signature: "int crypto_cipher_decrypt(struct crypto_cipher *ctx, const u8 *crypt,\n\t\t\t
      \ u8 *plain, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gcry_cipher_close
      Src: /src/hostap/src/crypto/crypto_gnutls.c:495,1
    - Dst: gcry_cipher_close
      Src: /src/hostap/src/crypto/crypto_gnutls.c:496,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_gnutls.c:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct crypto_cipher*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 498
    functionName: crypto_cipher_deinit
    functionSourceFile: /src/hostap/src/crypto/crypto_gnutls.c
    functionUses: 0
    functionsReached:
    - os_free
    - gcry_cipher_close
    linkageType: ''
    returnType: void
    signature: void crypto_cipher_deinit(struct crypto_cipher *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 503
    functionName: crypto_unload
    functionSourceFile: /src/hostap/src/crypto/crypto_gnutls.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void crypto_unload(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256_prf_bits
      Src: /src/hostap/src/crypto/sha256-prf.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - key
    - key_len
    - label
    - data
    - data_len
    - buf
    - buf_len
    argTypes:
    - u8*
    - size_t
    - char*
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: sha256_prf
    functionSourceFile: /src/hostap/src/crypto/sha256-prf.c
    functionUses: 4
    functionsReached:
    - sha256_prf_bits
    linkageType: ''
    returnType: int
    signature: "int sha256_prf(const u8 *key, size_t key_len, const char *label,\n\t\tconst
      u8 *data, size_t data_len, u8 *buf, size_t buf_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/crypto/sha256-prf.c:69,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/crypto/sha256-prf.c:75,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/crypto/sha256-prf.c:79,1
    - Dst: hmac_sha256_vector
      Src: /src/hostap/src/crypto/sha256-prf.c:81,1
    - Dst: hmac_sha256_vector
      Src: /src/hostap/src/crypto/sha256-prf.c:86,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/sha256-prf.c:89,1
    - Dst: forced_memzero
      Src: /src/hostap/src/crypto/sha256-prf.c:105,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 7
    argNames:
    - key
    - key_len
    - label
    - data
    - data_len
    - buf
    - buf_len_bits
    argTypes:
    - u8*
    - size_t
    - char*
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 108
    functionName: sha256_prf_bits
    functionSourceFile: /src/hostap/src/crypto/sha256-prf.c
    functionUses: 1
    functionsReached:
    - os_strlen
    - os_memcpy
    - forced_memzero
    - hmac_sha256_vector
    - WPA_PUT_LE16
    linkageType: ''
    returnType: int
    signature: "int sha256_prf_bits(const u8 *key, size_t key_len, const char *label,\n\t\t
      \   const u8 *data, size_t data_len, u8 *buf,\n\t\t    size_t buf_len_bits)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/md5-internal.c:36,1
    - Dst: MD5Init
      Src: /src/hostap/src/crypto/md5-internal.c:39,1
    - Dst: MD5Update
      Src: /src/hostap/src/crypto/md5-internal.c:41,1
    - Dst: MD5Final
      Src: /src/hostap/src/crypto/md5-internal.c:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 44
    functionName: md5_vector
    functionSourceFile: /src/hostap/src/crypto/md5-internal.c
    functionUses: 3
    functionsReached:
    - MD5Update
    - TEST_FAIL
    - MD5Final
    - MD5Init
    linkageType: ''
    returnType: int
    signature: int md5_vector(size_t num_elem, const u8 *addr[], const size_t *len,
      u8 *mac)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - buf
    - longs
    argTypes:
    - unsigned char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 80
    functionName: byteReverse
    functionSourceFile: /src/hostap/src/crypto/md5-internal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void byteReverse(unsigned char *buf, unsigned longs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct MD5Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 96
    functionName: MD5Init
    functionSourceFile: /src/hostap/src/crypto/md5-internal.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MD5Init(struct MD5Context *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/md5-internal.c:122,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/md5-internal.c:125,1
    - Dst: byteReverse
      Src: /src/hostap/src/crypto/md5-internal.c:126,1
    - Dst: MD5Transform
      Src: /src/hostap/src/crypto/md5-internal.c:127,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/md5-internal.c:134,1
    - Dst: byteReverse
      Src: /src/hostap/src/crypto/md5-internal.c:135,1
    - Dst: MD5Transform
      Src: /src/hostap/src/crypto/md5-internal.c:136,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/md5-internal.c:143,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 3
    argNames:
    - ctx
    - buf
    - len
    argTypes:
    - struct MD5Context*
    - unsigned char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 144
    functionName: MD5Update
    functionSourceFile: /src/hostap/src/crypto/md5-internal.c
    functionUses: 1
    functionsReached:
    - byteReverse
    - os_memcpy
    - MD5Transform
    linkageType: ''
    returnType: void
    signature: void MD5Update(struct MD5Context *ctx, unsigned char const *buf, unsigned
      len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/crypto/md5-internal.c:169,1
    - Dst: byteReverse
      Src: /src/hostap/src/crypto/md5-internal.c:170,1
    - Dst: MD5Transform
      Src: /src/hostap/src/crypto/md5-internal.c:171,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/md5-internal.c:174,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/md5-internal.c:177,1
    - Dst: byteReverse
      Src: /src/hostap/src/crypto/md5-internal.c:179,1
    - Dst: aliasing_hide_typecast
      Src: /src/hostap/src/crypto/md5-internal.c:182,1
    - Dst: aliasing_hide_typecast
      Src: /src/hostap/src/crypto/md5-internal.c:183,1
    - Dst: MD5Transform
      Src: /src/hostap/src/crypto/md5-internal.c:185,1
    - Dst: byteReverse
      Src: /src/hostap/src/crypto/md5-internal.c:186,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/md5-internal.c:187,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/md5-internal.c:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 2
    argNames:
    - digest
    - ctx
    argTypes:
    - unsigned char[]
    - struct MD5Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 189
    functionName: MD5Final
    functionSourceFile: /src/hostap/src/crypto/md5-internal.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    - MD5Transform
    - byteReverse
    - aliasing_hide_typecast
    - os_memset
    linkageType: ''
    returnType: void
    signature: void MD5Final(unsigned char digest[16], struct MD5Context *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 195
    functionName: F1
    functionSourceFile: /src/hostap/src/crypto/md5-internal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F1(x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 196
    functionName: F2
    functionSourceFile: /src/hostap/src/crypto/md5-internal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F2(x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 197
    functionName: F3
    functionSourceFile: /src/hostap/src/crypto/md5-internal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F3(x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 198
    functionName: F4
    functionSourceFile: /src/hostap/src/crypto/md5-internal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F4(x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - f
    - ','
    - w
    - ','
    - x
    - ','
    - y
    - ','
    - z
    - ','
    - data
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 202
    functionName: MD5STEP
    functionSourceFile: /src/hostap/src/crypto/md5-internal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MD5STEP(f, w, x, y, z, data, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MD5STEP
      Src: /src/hostap/src/crypto/md5-internal.c:217,1
    - Dst: MD5STEP
      Src: /src/hostap/src/crypto/md5-internal.c:218,1
    - Dst: MD5STEP
      Src: /src/hostap/src/crypto/md5-internal.c:219,1
    - Dst: MD5STEP
      Src: /src/hostap/src/crypto/md5-internal.c:220,1
    - Dst: MD5STEP
      Src: /src/hostap/src/crypto/md5-internal.c:221,1
    - Dst: MD5STEP
      Src: /src/hostap/src/crypto/md5-internal.c:222,1
    - Dst: MD5STEP
      Src: /src/hostap/src/crypto/md5-internal.c:223,1
    - Dst: MD5STEP
      Src: /src/hostap/src/crypto/md5-internal.c:224,1
    - Dst: MD5STEP
      Src: /src/hostap/src/crypto/md5-internal.c:225,1
    - Dst: MD5STEP
      Src: /src/hostap/src/crypto/md5-internal.c:226,1
    - Dst: MD5STEP
      Src: /src/hostap/src/crypto/md5-internal.c:227,1
    - Dst: MD5STEP
      Src: /src/hostap/src/crypto/md5-internal.c:228,1
    - Dst: MD5STEP
      Src: /src/hostap/src/crypto/md5-internal.c:229,1
    - Dst: MD5STEP
      Src: /src/hostap/src/crypto/md5-internal.c:230,1
    - Dst: MD5STEP
      Src: /src/hostap/src/crypto/md5-internal.c:231,1
    - Dst: MD5STEP
      Src: /src/hostap/src/crypto/md5-internal.c:232,1
    - Dst: MD5STEP
      Src: /src/hostap/src/crypto/md5-internal.c:234,1
    - Dst: MD5STEP
      Src: /src/hostap/src/crypto/md5-internal.c:235,1
    - Dst: MD5STEP
      Src: /src/hostap/src/crypto/md5-internal.c:236,1
    - Dst: MD5STEP
      Src: /src/hostap/src/crypto/md5-internal.c:237,1
    - Dst: MD5STEP
      Src: /src/hostap/src/crypto/md5-internal.c:238,1
    - Dst: MD5STEP
      Src: /src/hostap/src/crypto/md5-internal.c:239,1
    - Dst: MD5STEP
      Src: /src/hostap/src/crypto/md5-internal.c:240,1
    - Dst: MD5STEP
      Src: /src/hostap/src/crypto/md5-internal.c:241,1
    - Dst: MD5STEP
      Src: /src/hostap/src/crypto/md5-internal.c:242,1
    - Dst: MD5STEP
      Src: /src/hostap/src/crypto/md5-internal.c:243,1
    - Dst: MD5STEP
      Src: /src/hostap/src/crypto/md5-internal.c:244,1
    - Dst: MD5STEP
      Src: /src/hostap/src/crypto/md5-internal.c:245,1
    - Dst: MD5STEP
      Src: /src/hostap/src/crypto/md5-internal.c:246,1
    - Dst: MD5STEP
      Src: /src/hostap/src/crypto/md5-internal.c:247,1
    - Dst: MD5STEP
      Src: /src/hostap/src/crypto/md5-internal.c:248,1
    - Dst: MD5STEP
      Src: /src/hostap/src/crypto/md5-internal.c:249,1
    - Dst: MD5STEP
      Src: /src/hostap/src/crypto/md5-internal.c:251,1
    - Dst: MD5STEP
      Src: /src/hostap/src/crypto/md5-internal.c:252,1
    - Dst: MD5STEP
      Src: /src/hostap/src/crypto/md5-internal.c:253,1
    - Dst: MD5STEP
      Src: /src/hostap/src/crypto/md5-internal.c:254,1
    - Dst: MD5STEP
      Src: /src/hostap/src/crypto/md5-internal.c:255,1
    - Dst: MD5STEP
      Src: /src/hostap/src/crypto/md5-internal.c:256,1
    - Dst: MD5STEP
      Src: /src/hostap/src/crypto/md5-internal.c:257,1
    - Dst: MD5STEP
      Src: /src/hostap/src/crypto/md5-internal.c:258,1
    - Dst: MD5STEP
      Src: /src/hostap/src/crypto/md5-internal.c:259,1
    - Dst: MD5STEP
      Src: /src/hostap/src/crypto/md5-internal.c:260,1
    - Dst: MD5STEP
      Src: /src/hostap/src/crypto/md5-internal.c:261,1
    - Dst: MD5STEP
      Src: /src/hostap/src/crypto/md5-internal.c:262,1
    - Dst: MD5STEP
      Src: /src/hostap/src/crypto/md5-internal.c:263,1
    - Dst: MD5STEP
      Src: /src/hostap/src/crypto/md5-internal.c:264,1
    - Dst: MD5STEP
      Src: /src/hostap/src/crypto/md5-internal.c:265,1
    - Dst: MD5STEP
      Src: /src/hostap/src/crypto/md5-internal.c:266,1
    - Dst: MD5STEP
      Src: /src/hostap/src/crypto/md5-internal.c:268,1
    - Dst: MD5STEP
      Src: /src/hostap/src/crypto/md5-internal.c:269,1
    - Dst: MD5STEP
      Src: /src/hostap/src/crypto/md5-internal.c:270,1
    - Dst: MD5STEP
      Src: /src/hostap/src/crypto/md5-internal.c:271,1
    - Dst: MD5STEP
      Src: /src/hostap/src/crypto/md5-internal.c:272,1
    - Dst: MD5STEP
      Src: /src/hostap/src/crypto/md5-internal.c:273,1
    - Dst: MD5STEP
      Src: /src/hostap/src/crypto/md5-internal.c:274,1
    - Dst: MD5STEP
      Src: /src/hostap/src/crypto/md5-internal.c:275,1
    - Dst: MD5STEP
      Src: /src/hostap/src/crypto/md5-internal.c:276,1
    - Dst: MD5STEP
      Src: /src/hostap/src/crypto/md5-internal.c:277,1
    - Dst: MD5STEP
      Src: /src/hostap/src/crypto/md5-internal.c:278,1
    - Dst: MD5STEP
      Src: /src/hostap/src/crypto/md5-internal.c:279,1
    - Dst: MD5STEP
      Src: /src/hostap/src/crypto/md5-internal.c:280,1
    - Dst: MD5STEP
      Src: /src/hostap/src/crypto/md5-internal.c:281,1
    - Dst: MD5STEP
      Src: /src/hostap/src/crypto/md5-internal.c:282,1
    - Dst: MD5STEP
      Src: /src/hostap/src/crypto/md5-internal.c:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 73
    argCount: 2
    argNames:
    - buf
    - in
    argTypes:
    - u32[]
    - u32[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 289
    functionName: MD5Transform
    functionSourceFile: /src/hostap/src/crypto/md5-internal.c
    functionUses: 2
    functionsReached:
    - MD5STEP
    linkageType: ''
    returnType: void
    signature: void MD5Transform(u32 buf[4], u32 const in[16])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 18
    functionName: md4_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_none.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int md4_vector(size_t num_elem, const u8 *addr[], const size_t *len,
      u8 *mac)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - clear
    - key
    - cypher
    argTypes:
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: des_encrypt
    functionSourceFile: /src/hostap/src/crypto/crypto_none.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int des_encrypt(const u8 *clear, const u8 *key, u8 *cypher)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: crypto_unload
    functionSourceFile: /src/hostap/src/crypto/crypto_none.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void crypto_unload(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_rsa_import_public_key
      Src: /src/hostap/src/crypto/crypto_internal-rsa.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - len
    argTypes:
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: crypto_public_key_import
    functionSourceFile: /src/hostap/src/crypto/crypto_internal-rsa.c
    functionUses: 0
    functionsReached:
    - crypto_rsa_import_public_key
    linkageType: ''
    returnType: struct crypto_public_key
    signature: struct crypto_public_key * crypto_public_key_import(const u8 *key,
      size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_rsa_import_public_key_parts
      Src: /src/hostap/src/crypto/crypto_internal-rsa.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - n
    - n_len
    - e
    - e_len
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: crypto_public_key_import_parts
    functionSourceFile: /src/hostap/src/crypto/crypto_internal-rsa.c
    functionUses: 1
    functionsReached:
    - crypto_rsa_import_public_key_parts
    linkageType: ''
    returnType: struct crypto_public_key
    signature: "struct crypto_public_key *\ncrypto_public_key_import_parts(const u8
      *n, size_t n_len,\n\t\t\t       const u8 *e, size_t e_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pkcs8_key_import
      Src: /src/hostap/src/crypto/crypto_internal-rsa.c:45,1
    - Dst: pkcs8_enc_key_import
      Src: /src/hostap/src/crypto/crypto_internal-rsa.c:51,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_internal-rsa.c:57,1
    - Dst: crypto_rsa_import_private_key
      Src: /src/hostap/src/crypto/crypto_internal-rsa.c:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - key
    - len
    - passwd
    argTypes:
    - u8*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 61
    functionName: crypto_private_key_import
    functionSourceFile: /src/hostap/src/crypto/crypto_internal-rsa.c
    functionUses: 0
    functionsReached:
    - pkcs8_enc_key_import
    - crypto_rsa_import_private_key
    - wpa_printf
    - pkcs8_key_import
    linkageType: ''
    returnType: struct crypto_private_key
    signature: "struct crypto_private_key * crypto_private_key_import(const u8 *key,\n\t\t\t\t\t\t
      \     size_t len,\n\t\t\t\t\t\t      const char *passwd)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: crypto_public_key_from_cert
    functionSourceFile: /src/hostap/src/crypto/crypto_internal-rsa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct crypto_public_key
    signature: "struct crypto_public_key * crypto_public_key_from_cert(const u8 *buf,\n\t\t\t\t\t\t
      \      size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pkcs1_encrypt
      Src: /src/hostap/src/crypto/crypto_internal-rsa.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - key
    - in
    - inlen
    - out
    - outlen
    argTypes:
    - struct crypto_public_key*
    - u8*
    - size_t
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: crypto_public_key_encrypt_pkcs1_v15
    functionSourceFile: /src/hostap/src/crypto/crypto_internal-rsa.c
    functionUses: 0
    functionsReached:
    - pkcs1_encrypt
    linkageType: ''
    returnType: int
    signature: "int crypto_public_key_encrypt_pkcs1_v15(struct crypto_public_key *key,\n\t\t\t\t\tconst
      u8 *in, size_t inlen,\n\t\t\t\t\tu8 *out, size_t *outlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pkcs1_v15_private_key_decrypt
      Src: /src/hostap/src/crypto/crypto_internal-rsa.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - key
    - in
    - inlen
    - out
    - outlen
    argTypes:
    - struct crypto_private_key*
    - u8*
    - size_t
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: crypto_private_key_decrypt_pkcs1_v15
    functionSourceFile: /src/hostap/src/crypto/crypto_internal-rsa.c
    functionUses: 0
    functionsReached:
    - pkcs1_v15_private_key_decrypt
    linkageType: ''
    returnType: int
    signature: "int crypto_private_key_decrypt_pkcs1_v15(struct crypto_private_key
      *key,\n\t\t\t\t\t const u8 *in, size_t inlen,\n\t\t\t\t\t u8 *out, size_t *outlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pkcs1_encrypt
      Src: /src/hostap/src/crypto/crypto_internal-rsa.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - key
    - in
    - inlen
    - out
    - outlen
    argTypes:
    - struct crypto_private_key*
    - u8*
    - size_t
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionName: crypto_private_key_sign_pkcs1
    functionSourceFile: /src/hostap/src/crypto/crypto_internal-rsa.c
    functionUses: 0
    functionsReached:
    - pkcs1_encrypt
    linkageType: ''
    returnType: int
    signature: "int crypto_private_key_sign_pkcs1(struct crypto_private_key *key,\n\t\t\t\t
      \ const u8 *in, size_t inlen,\n\t\t\t\t  u8 *out, size_t *outlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_rsa_free
      Src: /src/hostap/src/crypto/crypto_internal-rsa.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - struct crypto_public_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: crypto_public_key_free
    functionSourceFile: /src/hostap/src/crypto/crypto_internal-rsa.c
    functionUses: 1
    functionsReached:
    - crypto_rsa_free
    linkageType: ''
    returnType: void
    signature: void crypto_public_key_free(struct crypto_public_key *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_rsa_free
      Src: /src/hostap/src/crypto/crypto_internal-rsa.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - struct crypto_private_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: crypto_private_key_free
    functionSourceFile: /src/hostap/src/crypto/crypto_internal-rsa.c
    functionUses: 0
    functionsReached:
    - crypto_rsa_free
    linkageType: ''
    returnType: void
    signature: void crypto_private_key_free(struct crypto_private_key *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pkcs1_decrypt_public_key
      Src: /src/hostap/src/crypto/crypto_internal-rsa.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - key
    - crypt
    - crypt_len
    - plain
    - plain_len
    argTypes:
    - struct crypto_public_key*
    - u8*
    - size_t
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 117
    functionName: crypto_public_key_decrypt_pkcs1
    functionSourceFile: /src/hostap/src/crypto/crypto_internal-rsa.c
    functionUses: 0
    functionsReached:
    - pkcs1_decrypt_public_key
    linkageType: ''
    returnType: int
    signature: "int crypto_public_key_decrypt_pkcs1(struct crypto_public_key *key,\n\t\t\t\t
      \   const u8 *crypt, size_t crypt_len,\n\t\t\t\t    u8 *plain, size_t *plain_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha384_prf_bits
      Src: /src/hostap/src/crypto/sha384-prf.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - key
    - key_len
    - label
    - data
    - data_len
    - buf
    - buf_len
    argTypes:
    - u8*
    - size_t
    - char*
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: sha384_prf
    functionSourceFile: /src/hostap/src/crypto/sha384-prf.c
    functionUses: 0
    functionsReached:
    - sha384_prf_bits
    linkageType: ''
    returnType: int
    signature: "int sha384_prf(const u8 *key, size_t key_len, const char *label,\n\t
      \      const u8 *data, size_t data_len, u8 *buf, size_t buf_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/crypto/sha384-prf.c:69,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/crypto/sha384-prf.c:75,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/crypto/sha384-prf.c:79,1
    - Dst: hmac_sha384_vector
      Src: /src/hostap/src/crypto/sha384-prf.c:81,1
    - Dst: hmac_sha384_vector
      Src: /src/hostap/src/crypto/sha384-prf.c:86,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/sha384-prf.c:89,1
    - Dst: forced_memzero
      Src: /src/hostap/src/crypto/sha384-prf.c:105,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 7
    argNames:
    - key
    - key_len
    - label
    - data
    - data_len
    - buf
    - buf_len_bits
    argTypes:
    - u8*
    - size_t
    - char*
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 108
    functionName: sha384_prf_bits
    functionSourceFile: /src/hostap/src/crypto/sha384-prf.c
    functionUses: 1
    functionsReached:
    - os_strlen
    - os_memcpy
    - forced_memzero
    - hmac_sha384_vector
    - WPA_PUT_LE16
    linkageType: ''
    returnType: int
    signature: "int sha384_prf_bits(const u8 *key, size_t key_len, const char *label,\n\t\t
      \   const u8 *data, size_t data_len, u8 *buf,\n\t\t    size_t buf_len_bits)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - u32
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: __ROL32
    functionSourceFile: /src/hostap/src/crypto/random.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: u32 __ROL32(u32 x, u32 y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/crypto/random.c:87,1
    - Dst: __ROL32
      Src: /src/hostap/src/crypto/random.c:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 101
    functionName: random_mix_pool
    functionSourceFile: /src/hostap/src/crypto/random.c
    functionUses: 0
    functionsReached:
    - __ROL32
    - wpa_hexdump_key
    linkageType: ''
    returnType: void
    signature: void random_mix_pool(const void *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_sha1
      Src: /src/hostap/src/crypto/random.c:112,1
    - Dst: random_mix_pool
      Src: /src/hostap/src/crypto/random.c:114,1
    - Dst: hmac_sha1
      Src: /src/hostap/src/crypto/random.c:118,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/random.c:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - out
    argTypes:
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 128
    functionName: random_extract
    functionSourceFile: /src/hostap/src/crypto/random.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - random_mix_pool
    - hmac_sha1
    linkageType: ''
    returnType: void
    signature: void random_extract(u8 *out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/random.c:144,1
    - Dst: os_get_time
      Src: /src/hostap/src/crypto/random.c:147,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/crypto/random.c:148,1
    - Dst: random_mix_pool
      Src: /src/hostap/src/crypto/random.c:150,1
    - Dst: random_mix_pool
      Src: /src/hostap/src/crypto/random.c:151,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/crypto/random.c:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 156
    functionName: random_add_randomness
    functionSourceFile: /src/hostap/src/crypto/random.c
    functionUses: 2
    functionsReached:
    - random_mix_pool
    - wpa_printf
    - os_get_time
    - wpa_hexdump_key
    linkageType: ''
    returnType: void
    signature: void random_add_randomness(const void *buf, size_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/random.c:165,1
    - Dst: os_get_random
      Src: /src/hostap/src/crypto/random.c:169,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/crypto/random.c:170,1
    - Dst: random_extract
      Src: /src/hostap/src/crypto/random.c:178,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/crypto/random.c:179,1
    - Dst: crypto_get_random
      Src: /src/hostap/src/crypto/random.c:194,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/random.c:195,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/crypto/random.c:199,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/crypto/random.c:208,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 159
    functionDepth: 3
    functionLinenumber: 159
    functionLinenumberEnd: 216
    functionName: random_get_bytes
    functionSourceFile: /src/hostap/src/crypto/random.c
    functionUses: 17
    functionsReached:
    - wpa_printf
    - wpa_hexdump_key
    - os_get_random
    - random_extract
    - crypto_get_random
    linkageType: ''
    returnType: int
    signature: int random_get_bytes(void *buf, size_t len)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: getrandom
      Src: /src/hostap/src/crypto/random.c:241,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/random.c:245,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/random.c:248,1
    - Dst: strerror
      Src: /src/hostap/src/crypto/random.c:250,1
    - Dst: open
      Src: /src/hostap/src/crypto/random.c:258,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/random.c:260,1
    - Dst: strerror
      Src: /src/hostap/src/crypto/random.c:262,1
    - Dst: read
      Src: /src/hostap/src/crypto/random.c:266,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/random.c:269,1
    - Dst: strerror
      Src: /src/hostap/src/crypto/random.c:271,1
    - Dst: close
      Src: /src/hostap/src/crypto/random.c:274,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/random.c:277,1
    - Dst: random_write_entropy
      Src: /src/hostap/src/crypto/random.c:284,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/random.c:288,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/random.c:294,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/random.c:299,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 306
    functionName: random_pool_ready
    functionSourceFile: /src/hostap/src/crypto/random.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - open
    - strerror
    - read
    - getrandom
    - close
    - random_write_entropy
    linkageType: ''
    returnType: int
    signature: int random_pool_ready(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/random.c:312,1
    - Dst: random_write_entropy
      Src: /src/hostap/src/crypto/random.c:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 315
    functionName: random_mark_pool_ready
    functionSourceFile: /src/hostap/src/crypto/random.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - random_write_entropy
    linkageType: ''
    returnType: void
    signature: void random_mark_pool_ready(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eloop_unregister_read_sock
      Src: /src/hostap/src/crypto/random.c:323,1
    - Dst: close
      Src: /src/hostap/src/crypto/random.c:324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 327
    functionName: random_close_fd
    functionSourceFile: /src/hostap/src/crypto/random.c
    functionUses: 0
    functionsReached:
    - eloop_unregister_read_sock
    - close
    linkageType: ''
    returnType: void
    signature: void random_close_fd(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: random_close_fd
      Src: /src/hostap/src/crypto/random.c:335,1
    - Dst: read
      Src: /src/hostap/src/crypto/random.c:339,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/random.c:342,1
    - Dst: strerror
      Src: /src/hostap/src/crypto/random.c:343,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/random.c:347,1
    - Dst: random_close_fd
      Src: /src/hostap/src/crypto/random.c:353,1
    - Dst: random_write_entropy
      Src: /src/hostap/src/crypto/random.c:356,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - sock
    - eloop_ctx
    - sock_ctx
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 358
    functionName: random_read_fd
    functionSourceFile: /src/hostap/src/crypto/random.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - strerror
    - random_close_fd
    - read
    - random_write_entropy
    linkageType: ''
    returnType: void
    signature: void random_read_fd(int sock, void *eloop_ctx, void *sock_ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_readfile
      Src: /src/hostap/src/crypto/random.c:371,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/random.c:376,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/random.c:378,1
    - Dst: random_add_randomness
      Src: /src/hostap/src/crypto/random.c:383,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/random.c:384,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/random.c:385,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 388
    functionName: random_read_entropy
    functionSourceFile: /src/hostap/src/crypto/random.c
    functionUses: 0
    functionsReached:
    - os_free
    - os_readfile
    - random_add_randomness
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void random_read_entropy(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: random_get_bytes
      Src: /src/hostap/src/crypto/random.c:401,1
    - Dst: fopen
      Src: /src/hostap/src/crypto/random.c:404,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/random.c:406,1
    - Dst: fwrite
      Src: /src/hostap/src/crypto/random.c:412,1
    - Dst: fwrite
      Src: /src/hostap/src/crypto/random.c:413,1
    - Dst: fclose
      Src: /src/hostap/src/crypto/random.c:415,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/random.c:417,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/random.c:422,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 425
    functionName: random_write_entropy
    functionSourceFile: /src/hostap/src/crypto/random.c
    functionUses: 3
    functionsReached:
    - wpa_printf
    - random_get_bytes
    - fwrite
    - fclose
    - fopen
    linkageType: ''
    returnType: void
    signature: void random_write_entropy(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/crypto/random.c:430,1
    - Dst: os_strdup
      Src: /src/hostap/src/crypto/random.c:432,1
    - Dst: random_read_entropy
      Src: /src/hostap/src/crypto/random.c:435,1
    - Dst: getrandom
      Src: /src/hostap/src/crypto/random.c:445,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/random.c:447,1
    - Dst: open
      Src: /src/hostap/src/crypto/random.c:454,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/random.c:456,1
    - Dst: strerror
      Src: /src/hostap/src/crypto/random.c:457,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/random.c:460,1
    - Dst: eloop_register_read_sock
      Src: /src/hostap/src/crypto/random.c:463,1
    - Dst: random_write_entropy
      Src: /src/hostap/src/crypto/random.c:466,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - entropy_file
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 467
    functionName: random_init
    functionSourceFile: /src/hostap/src/crypto/random.c
    functionUses: 3
    functionsReached:
    - wpa_printf
    - open
    - strerror
    - eloop_register_read_sock
    - getrandom
    - random_read_entropy
    - os_free
    - random_write_entropy
    - os_strdup
    linkageType: ''
    returnType: void
    signature: void random_init(const char *entropy_file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: random_close_fd
      Src: /src/hostap/src/crypto/random.c:473,1
    - Dst: random_write_entropy
      Src: /src/hostap/src/crypto/random.c:475,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/random.c:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 478
    functionName: random_deinit
    functionSourceFile: /src/hostap/src/crypto/random.c
    functionUses: 3
    functionsReached:
    - os_free
    - random_close_fd
    - random_write_entropy
    linkageType: ''
    returnType: void
    signature: void random_deinit(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: aes_encrypt_init
      Src: /src/hostap/src/crypto/aes-encblock.c:26,1
    - Dst: aes_encrypt
      Src: /src/hostap/src/crypto/aes-encblock.c:29,1
    - Dst: aes_encrypt_deinit
      Src: /src/hostap/src/crypto/aes-encblock.c:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - key
    - in
    - out
    argTypes:
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 32
    functionName: aes_128_encrypt_block
    functionSourceFile: /src/hostap/src/crypto/aes-encblock.c
    functionUses: 2
    functionsReached:
    - aes_encrypt
    - aes_encrypt_deinit
    - aes_encrypt_init
    linkageType: ''
    returnType: int
    signature: int aes_128_encrypt_block(const u8 *key, const u8 *in, u8 *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: RCON
    functionSourceFile: /src/hostap/src/crypto/aes_i.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RCON(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: TE0
    functionSourceFile: /src/hostap/src/crypto/aes_i.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TE0(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: TE1
    functionSourceFile: /src/hostap/src/crypto/aes_i.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TE1(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: TE2
    functionSourceFile: /src/hostap/src/crypto/aes_i.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TE2(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: TE3
    functionSourceFile: /src/hostap/src/crypto/aes_i.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TE3(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: TE41
    functionSourceFile: /src/hostap/src/crypto/aes_i.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TE41(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: TE42
    functionSourceFile: /src/hostap/src/crypto/aes_i.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TE42(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: TE43
    functionSourceFile: /src/hostap/src/crypto/aes_i.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TE43(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: TE44
    functionSourceFile: /src/hostap/src/crypto/aes_i.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TE44(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: TE421
    functionSourceFile: /src/hostap/src/crypto/aes_i.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TE421(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: TE432
    functionSourceFile: /src/hostap/src/crypto/aes_i.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TE432(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: TE443
    functionSourceFile: /src/hostap/src/crypto/aes_i.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TE443(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: TE414
    functionSourceFile: /src/hostap/src/crypto/aes_i.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TE414(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: TE411
    functionSourceFile: /src/hostap/src/crypto/aes_i.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TE411(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: TE422
    functionSourceFile: /src/hostap/src/crypto/aes_i.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TE422(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: TE433
    functionSourceFile: /src/hostap/src/crypto/aes_i.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TE433(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: TE444
    functionSourceFile: /src/hostap/src/crypto/aes_i.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TE444(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: TE4
    functionSourceFile: /src/hostap/src/crypto/aes_i.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TE4(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: TD0
    functionSourceFile: /src/hostap/src/crypto/aes_i.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TD0(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: TD1
    functionSourceFile: /src/hostap/src/crypto/aes_i.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TD1(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: TD2
    functionSourceFile: /src/hostap/src/crypto/aes_i.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TD2(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: TD3
    functionSourceFile: /src/hostap/src/crypto/aes_i.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TD3(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: TD41
    functionSourceFile: /src/hostap/src/crypto/aes_i.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TD41(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: TD42
    functionSourceFile: /src/hostap/src/crypto/aes_i.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TD42(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: TD43
    functionSourceFile: /src/hostap/src/crypto/aes_i.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TD43(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: TD44
    functionSourceFile: /src/hostap/src/crypto/aes_i.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TD44(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: TD0_
    functionSourceFile: /src/hostap/src/crypto/aes_i.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TD0_(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: TD1_
    functionSourceFile: /src/hostap/src/crypto/aes_i.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TD1_(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: TD2_
    functionSourceFile: /src/hostap/src/crypto/aes_i.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TD2_(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: TD3_
    functionSourceFile: /src/hostap/src/crypto/aes_i.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TD3_(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: RCON
    functionSourceFile: /src/hostap/src/crypto/aes_i.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RCON(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - val
    - bits
    argTypes:
    - u32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: rotr
    functionSourceFile: /src/hostap/src/crypto/aes_i.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: u32 rotr(u32 val, int bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: TE0
    functionSourceFile: /src/hostap/src/crypto/aes_i.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TE0(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: TE1
    functionSourceFile: /src/hostap/src/crypto/aes_i.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TE1(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: TE2
    functionSourceFile: /src/hostap/src/crypto/aes_i.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TE2(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: TE3
    functionSourceFile: /src/hostap/src/crypto/aes_i.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TE3(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 80
    functionName: TE41
    functionSourceFile: /src/hostap/src/crypto/aes_i.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TE41(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: TE42
    functionSourceFile: /src/hostap/src/crypto/aes_i.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TE42(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: TE43
    functionSourceFile: /src/hostap/src/crypto/aes_i.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TE43(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: TE44
    functionSourceFile: /src/hostap/src/crypto/aes_i.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TE44(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: TE421
    functionSourceFile: /src/hostap/src/crypto/aes_i.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TE421(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: TE432
    functionSourceFile: /src/hostap/src/crypto/aes_i.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TE432(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: TE443
    functionSourceFile: /src/hostap/src/crypto/aes_i.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TE443(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: TE414
    functionSourceFile: /src/hostap/src/crypto/aes_i.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TE414(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    functionName: TE411
    functionSourceFile: /src/hostap/src/crypto/aes_i.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TE411(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 89
    functionName: TE422
    functionSourceFile: /src/hostap/src/crypto/aes_i.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TE422(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: TE433
    functionSourceFile: /src/hostap/src/crypto/aes_i.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TE433(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 91
    functionName: TE444
    functionSourceFile: /src/hostap/src/crypto/aes_i.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TE444(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: TE4
    functionSourceFile: /src/hostap/src/crypto/aes_i.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TE4(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 94
    functionName: TD0
    functionSourceFile: /src/hostap/src/crypto/aes_i.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TD0(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    functionName: TD1
    functionSourceFile: /src/hostap/src/crypto/aes_i.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TD1(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: TD2
    functionSourceFile: /src/hostap/src/crypto/aes_i.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TD2(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    functionName: TD3
    functionSourceFile: /src/hostap/src/crypto/aes_i.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TD3(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 98
    functionName: TD41
    functionSourceFile: /src/hostap/src/crypto/aes_i.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TD41(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 99
    functionName: TD42
    functionSourceFile: /src/hostap/src/crypto/aes_i.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TD42(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 100
    functionName: TD43
    functionSourceFile: /src/hostap/src/crypto/aes_i.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TD43(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 101
    functionName: TD44
    functionSourceFile: /src/hostap/src/crypto/aes_i.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TD44(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 102
    functionName: TD0_
    functionSourceFile: /src/hostap/src/crypto/aes_i.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TD0_(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 103
    functionName: TD1_
    functionSourceFile: /src/hostap/src/crypto/aes_i.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TD1_(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    functionName: TD2_
    functionSourceFile: /src/hostap/src/crypto/aes_i.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TD2_(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 105
    functionName: TD3_
    functionSourceFile: /src/hostap/src/crypto/aes_i.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TD3_(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 110
    functionName: SWAP
    functionSourceFile: /src/hostap/src/crypto/aes_i.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SWAP(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 111
    functionName: GETU32
    functionSourceFile: /src/hostap/src/crypto/aes_i.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETU32(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ct
    - ','
    - st
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 112
    functionName: PUTU32
    functionSourceFile: /src/hostap/src/crypto/aes_i.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUTU32(ct, st)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 115
    functionName: GETU32
    functionSourceFile: /src/hostap/src/crypto/aes_i.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETU32(pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ct
    - ','
    - st
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: PUTU32
    functionSourceFile: /src/hostap/src/crypto/aes_i.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUTU32(ct, st)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 14
    functionName: random_init
    functionSourceFile: /src/hostap/src/crypto/random.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: random_init(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 15
    functionName: random_deinit
    functionSourceFile: /src/hostap/src/crypto/random.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: random_deinit()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - b
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 16
    functionName: random_add_randomness
    functionSourceFile: /src/hostap/src/crypto/random.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: random_add_randomness(b, l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - b
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 17
    functionName: random_get_bytes
    functionSourceFile: /src/hostap/src/crypto/random.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: random_get_bytes(b, l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 18
    functionName: random_pool_ready
    functionSourceFile: /src/hostap/src/crypto/random.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: random_pool_ready()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 19
    functionName: random_mark_pool_ready
    functionSourceFile: /src/hostap/src/crypto/random.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: random_mark_pool_ready()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 15
    functionName: S_SWAP
    functionSourceFile: /src/hostap/src/crypto/rc4.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S_SWAP(a,b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: S_SWAP
      Src: /src/hostap/src/crypto/rc4.c:33,1
    - Dst: S_SWAP
      Src: /src/hostap/src/crypto/rc4.c:41,1
    - Dst: S_SWAP
      Src: /src/hostap/src/crypto/rc4.c:49,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 5
    argNames:
    - key
    - keylen
    - skip
    - data
    - data_len
    argTypes:
    - u8*
    - size_t
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 54
    functionName: rc4_skip
    functionSourceFile: /src/hostap/src/crypto/rc4.c
    functionUses: 2
    functionsReached:
    - S_SWAP
    linkageType: ''
    returnType: int
    signature: "int rc4_skip(const u8 *key, size_t keylen, size_t skip,\n\t     u8
      *data, size_t data_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/aes-unwrap.c:35,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/aes-unwrap.c:37,1
    - Dst: aes_decrypt_init
      Src: /src/hostap/src/crypto/aes-unwrap.c:39,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/aes-unwrap.c:53,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/aes-unwrap.c:60,1
    - Dst: aes_decrypt
      Src: /src/hostap/src/crypto/aes-unwrap.c:61,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/aes-unwrap.c:62,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/aes-unwrap.c:63,1
    - Dst: aes_decrypt_deinit
      Src: /src/hostap/src/crypto/aes-unwrap.c:67,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 5
    argNames:
    - kek
    - kek_len
    - n
    - cipher
    - plain
    argTypes:
    - u8*
    - size_t
    - int
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 80
    functionName: aes_unwrap
    functionSourceFile: /src/hostap/src/crypto/aes-unwrap.c
    functionUses: 6
    functionsReached:
    - aes_decrypt_init
    - os_memcpy
    - aes_decrypt
    - aes_decrypt_deinit
    linkageType: ''
    returnType: int
    signature: "int aes_unwrap(const u8 *kek, size_t kek_len, int n, const u8 *cipher,\n\t
      \      u8 *plain)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/crypto/sha1-tlsprf.c:46,1
    - Dst: os_strlen
      Src: /src/hostap/src/crypto/sha1-tlsprf.c:53,1
    - Dst: hmac_md5_vector
      Src: /src/hostap/src/crypto/sha1-tlsprf.c:71,1
    - Dst: hmac_sha1_vector
      Src: /src/hostap/src/crypto/sha1-tlsprf.c:72,1
    - Dst: hmac_md5_vector
      Src: /src/hostap/src/crypto/sha1-tlsprf.c:78,1
    - Dst: hmac_md5
      Src: /src/hostap/src/crypto/sha1-tlsprf.c:80,1
    - Dst: hmac_sha1_vector
      Src: /src/hostap/src/crypto/sha1-tlsprf.c:83,1
    - Dst: hmac_sha1
      Src: /src/hostap/src/crypto/sha1-tlsprf.c:86,1
    - Dst: forced_memzero
      Src: /src/hostap/src/crypto/sha1-tlsprf.c:95,1
    - Dst: forced_memzero
      Src: /src/hostap/src/crypto/sha1-tlsprf.c:96,1
    - Dst: forced_memzero
      Src: /src/hostap/src/crypto/sha1-tlsprf.c:97,1
    - Dst: forced_memzero
      Src: /src/hostap/src/crypto/sha1-tlsprf.c:98,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 43
    argCount: 7
    argNames:
    - secret
    - secret_len
    - label
    - seed
    - seed_len
    - out
    - outlen
    argTypes:
    - u8*
    - size_t
    - char*
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 101
    functionName: tls_prf_sha1_md5
    functionSourceFile: /src/hostap/src/crypto/sha1-tlsprf.c
    functionUses: 1
    functionsReached:
    - os_strlen
    - hmac_md5_vector
    - forced_memzero
    - hmac_sha1
    - hmac_sha1_vector
    - hmac_md5
    linkageType: ''
    returnType: int
    signature: "int tls_prf_sha1_md5(const u8 *secret, size_t secret_len, const char
      *label,\n\t\t     const u8 *seed, size_t seed_len, u8 *out, size_t outlen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/aes-cbc.c:31,1
    - Dst: aes_encrypt_init
      Src: /src/hostap/src/crypto/aes-cbc.c:34,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/aes-cbc.c:37,1
    - Dst: aes_encrypt
      Src: /src/hostap/src/crypto/aes-cbc.c:43,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/aes-cbc.c:44,1
    - Dst: aes_encrypt_deinit
      Src: /src/hostap/src/crypto/aes-cbc.c:47,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - key
    - iv
    - data
    - data_len
    argTypes:
    - u8*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 49
    functionName: aes_128_cbc_encrypt
    functionSourceFile: /src/hostap/src/crypto/aes-cbc.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    - TEST_FAIL
    - aes_encrypt_init
    - aes_encrypt
    - aes_encrypt_deinit
    linkageType: ''
    returnType: int
    signature: int aes_128_cbc_encrypt(const u8 *key, const u8 *iv, u8 *data, size_t
      data_len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/aes-cbc.c:67,1
    - Dst: aes_decrypt_init
      Src: /src/hostap/src/crypto/aes-cbc.c:70,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/aes-cbc.c:73,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/aes-cbc.c:77,1
    - Dst: aes_decrypt
      Src: /src/hostap/src/crypto/aes-cbc.c:78,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/aes-cbc.c:81,1
    - Dst: aes_decrypt_deinit
      Src: /src/hostap/src/crypto/aes-cbc.c:84,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - key
    - iv
    - data
    - data_len
    argTypes:
    - u8*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 86
    functionName: aes_128_cbc_decrypt
    functionSourceFile: /src/hostap/src/crypto/aes-cbc.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    - TEST_FAIL
    - aes_decrypt_init
    - aes_decrypt
    - aes_decrypt_deinit
    linkageType: ''
    returnType: int
    signature: int aes_128_cbc_decrypt(const u8 *key, const u8 *iv, u8 *data, size_t
      data_len)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/crypto/crypto_internal.c:47,1
    - Dst: MD5Init
      Src: /src/hostap/src/crypto/crypto_internal.c:55,1
    - Dst: SHA1Init
      Src: /src/hostap/src/crypto/crypto_internal.c:58,1
    - Dst: sha256_init
      Src: /src/hostap/src/crypto/crypto_internal.c:62,1
    - Dst: sha384_init
      Src: /src/hostap/src/crypto/crypto_internal.c:67,1
    - Dst: sha512_init
      Src: /src/hostap/src/crypto/crypto_internal.c:72,1
    - Dst: MD5Init
      Src: /src/hostap/src/crypto/crypto_internal.c:77,1
    - Dst: MD5Update
      Src: /src/hostap/src/crypto/crypto_internal.c:78,1
    - Dst: MD5Final
      Src: /src/hostap/src/crypto/crypto_internal.c:79,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/crypto_internal.c:83,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/crypto_internal.c:86,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/crypto_internal.c:88,1
    - Dst: MD5Init
      Src: /src/hostap/src/crypto/crypto_internal.c:91,1
    - Dst: MD5Update
      Src: /src/hostap/src/crypto/crypto_internal.c:92,1
    - Dst: SHA1Init
      Src: /src/hostap/src/crypto/crypto_internal.c:96,1
    - Dst: SHA1Update
      Src: /src/hostap/src/crypto/crypto_internal.c:97,1
    - Dst: SHA1Final
      Src: /src/hostap/src/crypto/crypto_internal.c:98,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/crypto_internal.c:102,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/crypto_internal.c:105,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/crypto_internal.c:107,1
    - Dst: SHA1Init
      Src: /src/hostap/src/crypto/crypto_internal.c:110,1
    - Dst: SHA1Update
      Src: /src/hostap/src/crypto/crypto_internal.c:111,1
    - Dst: sha256_init
      Src: /src/hostap/src/crypto/crypto_internal.c:116,1
    - Dst: sha256_process
      Src: /src/hostap/src/crypto/crypto_internal.c:117,1
    - Dst: sha256_done
      Src: /src/hostap/src/crypto/crypto_internal.c:118,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/crypto_internal.c:122,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/crypto_internal.c:125,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/crypto_internal.c:127,1
    - Dst: sha256_init
      Src: /src/hostap/src/crypto/crypto_internal.c:130,1
    - Dst: sha256_process
      Src: /src/hostap/src/crypto/crypto_internal.c:131,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_internal.c:135,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 80
    argCount: 3
    argNames:
    - alg
    - key
    - key_len
    argTypes:
    - enum crypto_hash_alg
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 140
    functionName: crypto_hash_init
    functionSourceFile: /src/hostap/src/crypto/crypto_internal.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - MD5Final
    - sha256_process
    - sha256_init
    - SHA1Update
    - MD5Update
    - os_zalloc
    - MD5Init
    - sha256_done
    - SHA1Init
    - sha512_init
    - os_free
    - sha384_init
    - SHA1Final
    - os_memset
    linkageType: ''
    returnType: struct crypto_hash
    signature: "struct crypto_hash * crypto_hash_init(enum crypto_hash_alg alg, const
      u8 *key,\n\t\t\t\t      size_t key_len)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: MD5Update
      Src: /src/hostap/src/crypto/crypto_internal.c:151,1
    - Dst: SHA1Update
      Src: /src/hostap/src/crypto/crypto_internal.c:155,1
    - Dst: sha256_process
      Src: /src/hostap/src/crypto/crypto_internal.c:160,1
    - Dst: sha384_process
      Src: /src/hostap/src/crypto/crypto_internal.c:165,1
    - Dst: sha512_process
      Src: /src/hostap/src/crypto/crypto_internal.c:170,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - ctx
    - data
    - len
    argTypes:
    - struct crypto_hash*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 176
    functionName: crypto_hash_update
    functionSourceFile: /src/hostap/src/crypto/crypto_internal.c
    functionUses: 0
    functionsReached:
    - sha256_process
    - SHA1Update
    - sha384_process
    - MD5Update
    - sha512_process
    linkageType: ''
    returnType: void
    signature: void crypto_hash_update(struct crypto_hash *ctx, const u8 *data, size_t
      len)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_internal.c:188,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_internal.c:196,1
    - Dst: MD5Final
      Src: /src/hostap/src/crypto/crypto_internal.c:200,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_internal.c:205,1
    - Dst: SHA1Final
      Src: /src/hostap/src/crypto/crypto_internal.c:209,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_internal.c:215,1
    - Dst: sha256_done
      Src: /src/hostap/src/crypto/crypto_internal.c:219,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_internal.c:226,1
    - Dst: sha384_done
      Src: /src/hostap/src/crypto/crypto_internal.c:230,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_internal.c:237,1
    - Dst: sha512_done
      Src: /src/hostap/src/crypto/crypto_internal.c:241,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_internal.c:247,1
    - Dst: MD5Final
      Src: /src/hostap/src/crypto/crypto_internal.c:252,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/crypto_internal.c:254,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/crypto_internal.c:255,1
    - Dst: MD5Init
      Src: /src/hostap/src/crypto/crypto_internal.c:259,1
    - Dst: MD5Update
      Src: /src/hostap/src/crypto/crypto_internal.c:260,1
    - Dst: MD5Update
      Src: /src/hostap/src/crypto/crypto_internal.c:261,1
    - Dst: MD5Final
      Src: /src/hostap/src/crypto/crypto_internal.c:262,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_internal.c:267,1
    - Dst: SHA1Final
      Src: /src/hostap/src/crypto/crypto_internal.c:272,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/crypto_internal.c:274,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/crypto_internal.c:275,1
    - Dst: SHA1Init
      Src: /src/hostap/src/crypto/crypto_internal.c:279,1
    - Dst: SHA1Update
      Src: /src/hostap/src/crypto/crypto_internal.c:280,1
    - Dst: SHA1Update
      Src: /src/hostap/src/crypto/crypto_internal.c:281,1
    - Dst: SHA1Final
      Src: /src/hostap/src/crypto/crypto_internal.c:282,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_internal.c:288,1
    - Dst: sha256_done
      Src: /src/hostap/src/crypto/crypto_internal.c:293,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/crypto_internal.c:295,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/crypto_internal.c:296,1
    - Dst: sha256_init
      Src: /src/hostap/src/crypto/crypto_internal.c:300,1
    - Dst: sha256_process
      Src: /src/hostap/src/crypto/crypto_internal.c:301,1
    - Dst: sha256_process
      Src: /src/hostap/src/crypto/crypto_internal.c:302,1
    - Dst: sha256_done
      Src: /src/hostap/src/crypto/crypto_internal.c:303,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_internal.c:307,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_internal.c:311,1
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_internal.c:313,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 112
    argCount: 3
    argNames:
    - ctx
    - mac
    - len
    argTypes:
    - struct crypto_hash*
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 317
    functionName: crypto_hash_finish
    functionSourceFile: /src/hostap/src/crypto/crypto_internal.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - MD5Final
    - sha256_process
    - TEST_FAIL
    - sha256_init
    - SHA1Update
    - sha512_done
    - MD5Update
    - sha256_done
    - MD5Init
    - sha384_done
    - SHA1Init
    - os_free
    - SHA1Final
    - os_memset
    linkageType: ''
    returnType: int
    signature: int crypto_hash_finish(struct crypto_hash *ctx, u8 *mac, size_t *len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 323
    functionName: crypto_global_init
    functionSourceFile: /src/hostap/src/crypto/crypto_internal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int crypto_global_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 328
    functionName: crypto_global_deinit
    functionSourceFile: /src/hostap/src/crypto/crypto_internal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void crypto_global_deinit(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 333
    functionName: crypto_unload
    functionSourceFile: /src/hostap/src/crypto/crypto_internal.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void crypto_unload(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/crypto/aes-wrap.c:37,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/aes-wrap.c:38,1
    - Dst: aes_encrypt_init
      Src: /src/hostap/src/crypto/aes-wrap.c:40,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/aes-wrap.c:54,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/aes-wrap.c:55,1
    - Dst: aes_encrypt
      Src: /src/hostap/src/crypto/aes-wrap.c:56,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/aes-wrap.c:57,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/aes-wrap.c:63,1
    - Dst: aes_encrypt_deinit
      Src: /src/hostap/src/crypto/aes-wrap.c:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 5
    argNames:
    - kek
    - kek_len
    - n
    - plain
    - cipher
    argTypes:
    - u8*
    - size_t
    - int
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 76
    functionName: aes_wrap
    functionSourceFile: /src/hostap/src/crypto/aes-wrap.c
    functionUses: 2
    functionsReached:
    - os_memcpy
    - os_memset
    - aes_encrypt_init
    - aes_encrypt
    - aes_encrypt_deinit
    linkageType: ''
    returnType: int
    signature: int aes_wrap(const u8 *kek, size_t kek_len, int n, const u8 *plain,
      u8 *cipher)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/crypto/ms_funcs.c:38,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/crypto/ms_funcs.c:48,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/crypto/ms_funcs.c:58,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 5
    argNames:
    - utf8_string
    - utf8_string_len
    - ucs2_buffer
    - ucs2_buffer_size
    - ucs2_string_size
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 69
    functionName: utf8_to_ucs2
    functionSourceFile: /src/hostap/src/crypto/ms_funcs.c
    functionUses: 0
    functionsReached:
    - WPA_PUT_LE16
    linkageType: ''
    returnType: int
    signature: "int utf8_to_ucs2(const u8 *utf8_string, size_t utf8_string_len,\n
      \                       u8 *ucs2_buffer, size_t ucs2_buffer_size,\n                        size_t
      *ucs2_string_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sha1_vector
      Src: /src/hostap/src/crypto/ms_funcs.c:95,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/ms_funcs.c:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - peer_challenge
    - auth_challenge
    - username
    - username_len
    - challenge
    argTypes:
    - u8*
    - u8*
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 99
    functionName: challenge_hash
    functionSourceFile: /src/hostap/src/crypto/ms_funcs.c
    functionUses: 0
    functionsReached:
    - sha1_vector
    - os_memcpy
    linkageType: ''
    returnType: int
    signature: "int challenge_hash(const u8 *peer_challenge, const u8 *auth_challenge,\n\t\t
      \  const u8 *username, size_t username_len, u8 *challenge)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: utf8_to_ucs2
      Src: /src/hostap/src/crypto/ms_funcs.c:116,1
    - Dst: md4_vector
      Src: /src/hostap/src/crypto/ms_funcs.c:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - password
    - password_len
    - password_hash
    argTypes:
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 122
    functionName: nt_password_hash
    functionSourceFile: /src/hostap/src/crypto/ms_funcs.c
    functionUses: 8
    functionsReached:
    - utf8_to_ucs2
    - md4_vector
    linkageType: ''
    returnType: int
    signature: "int nt_password_hash(const u8 *password, size_t password_len,\n\t\t
      \     u8 *password_hash)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md4_vector
      Src: /src/hostap/src/crypto/ms_funcs.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - password_hash
    - password_hash_hash
    argTypes:
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: hash_nt_password_hash
    functionSourceFile: /src/hostap/src/crypto/ms_funcs.c
    functionUses: 6
    functionsReached:
    - md4_vector
    linkageType: ''
    returnType: int
    signature: int hash_nt_password_hash(const u8 *password_hash, u8 *password_hash_hash)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: des_encrypt
      Src: /src/hostap/src/crypto/ms_funcs.c:150,1
    - Dst: des_encrypt
      Src: /src/hostap/src/crypto/ms_funcs.c:151,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/ms_funcs.c:155,1
    - Dst: des_encrypt
      Src: /src/hostap/src/crypto/ms_funcs.c:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - challenge
    - password_hash
    - response
    argTypes:
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 157
    functionName: challenge_response
    functionSourceFile: /src/hostap/src/crypto/ms_funcs.c
    functionUses: 3
    functionsReached:
    - des_encrypt
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int challenge_response(const u8 *challenge, const u8 *password_hash,\n\t\t
      \      u8 *response)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: challenge_hash
      Src: /src/hostap/src/crypto/ms_funcs.c:179,1
    - Dst: nt_password_hash
      Src: /src/hostap/src/crypto/ms_funcs.c:181,1
    - Dst: challenge_response
      Src: /src/hostap/src/crypto/ms_funcs.c:182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 7
    argNames:
    - auth_challenge
    - peer_challenge
    - username
    - username_len
    - password
    - password_len
    - response
    argTypes:
    - u8*
    - u8*
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 171
    functionDepth: 3
    functionLinenumber: 171
    functionLinenumberEnd: 185
    functionName: generate_nt_response
    functionSourceFile: /src/hostap/src/crypto/ms_funcs.c
    functionUses: 3
    functionsReached:
    - challenge_hash
    - challenge_response
    - nt_password_hash
    linkageType: ''
    returnType: int
    signature: "int generate_nt_response(const u8 *auth_challenge, const u8 *peer_challenge,\n\t\t\t
      const u8 *username, size_t username_len,\n\t\t\t const u8 *password, size_t
      password_len,\n\t\t\t u8 *response)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: challenge_hash
      Src: /src/hostap/src/crypto/ms_funcs.c:206,1
    - Dst: challenge_response
      Src: /src/hostap/src/crypto/ms_funcs.c:209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 6
    argNames:
    - auth_challenge
    - peer_challenge
    - username
    - username_len
    - password_hash
    - response
    argTypes:
    - u8*
    - u8*
    - u8*
    - size_t
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 212
    functionName: generate_nt_response_pwhash
    functionSourceFile: /src/hostap/src/crypto/ms_funcs.c
    functionUses: 1
    functionsReached:
    - challenge_hash
    - challenge_response
    linkageType: ''
    returnType: int
    signature: "int generate_nt_response_pwhash(const u8 *auth_challenge,\n\t\t\t\tconst
      u8 *peer_challenge,\n\t\t\t\tconst u8 *username, size_t username_len,\n\t\t\t\tconst
      u8 *password_hash,\n\t\t\t\tu8 *response)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hash_nt_password_hash
      Src: /src/hostap/src/crypto/ms_funcs.c:261,1
    - Dst: sha1_vector
      Src: /src/hostap/src/crypto/ms_funcs.c:262,1
    - Dst: challenge_hash
      Src: /src/hostap/src/crypto/ms_funcs.c:263,1
    - Dst: sha1_vector
      Src: /src/hostap/src/crypto/ms_funcs.c:266,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 7
    argNames:
    - password_hash
    - peer_challenge
    - auth_challenge
    - username
    - username_len
    - nt_response
    - response
    argTypes:
    - u8*
    - u8*
    - u8*
    - u8*
    - size_t
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 267
    functionName: generate_authenticator_response_pwhash
    functionSourceFile: /src/hostap/src/crypto/ms_funcs.c
    functionUses: 1
    functionsReached:
    - challenge_hash
    - sha1_vector
    - hash_nt_password_hash
    linkageType: ''
    returnType: int
    signature: "int generate_authenticator_response_pwhash(\n\tconst u8 *password_hash,\n\tconst
      u8 *peer_challenge, const u8 *auth_challenge,\n\tconst u8 *username, size_t
      username_len,\n\tconst u8 *nt_response, u8 *response)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nt_password_hash
      Src: /src/hostap/src/crypto/ms_funcs.c:290,1
    - Dst: generate_authenticator_response_pwhash
      Src: /src/hostap/src/crypto/ms_funcs.c:292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 8
    argNames:
    - password
    - password_len
    - peer_challenge
    - auth_challenge
    - username
    - username_len
    - nt_response
    - response
    argTypes:
    - u8*
    - size_t
    - u8*
    - u8*
    - u8*
    - size_t
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 283
    functionDepth: 3
    functionLinenumber: 283
    functionLinenumberEnd: 295
    functionName: generate_authenticator_response
    functionSourceFile: /src/hostap/src/crypto/ms_funcs.c
    functionUses: 3
    functionsReached:
    - generate_authenticator_response_pwhash
    - nt_password_hash
    linkageType: ''
    returnType: int
    signature: "int generate_authenticator_response(const u8 *password, size_t password_len,\n\t\t\t\t
      \   const u8 *peer_challenge,\n\t\t\t\t    const u8 *auth_challenge,\n\t\t\t\t
      \   const u8 *username, size_t username_len,\n\t\t\t\t    const u8 *nt_response,
      u8 *response)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nt_password_hash
      Src: /src/hostap/src/crypto/ms_funcs.c:311,1
    - Dst: challenge_response
      Src: /src/hostap/src/crypto/ms_funcs.c:312,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - challenge
    - password
    - password_len
    - response
    argTypes:
    - u8*
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 306
    functionDepth: 3
    functionLinenumber: 306
    functionLinenumberEnd: 315
    functionName: nt_challenge_response
    functionSourceFile: /src/hostap/src/crypto/ms_funcs.c
    functionUses: 2
    functionsReached:
    - challenge_response
    - nt_password_hash
    linkageType: ''
    returnType: int
    signature: "int nt_challenge_response(const u8 *challenge, const u8 *password,\n\t\t\t
      \ size_t password_len, u8 *response)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sha1_vector
      Src: /src/hostap/src/crypto/ms_funcs.c:341,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/ms_funcs.c:343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - password_hash_hash
    - nt_response
    - master_key
    argTypes:
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 345
    functionName: get_master_key
    functionSourceFile: /src/hostap/src/crypto/ms_funcs.c
    functionUses: 3
    functionsReached:
    - sha1_vector
    - os_memcpy
    linkageType: ''
    returnType: int
    signature: "int get_master_key(const u8 *password_hash_hash, const u8 *nt_response,\n\t\t
      \  u8 *master_key)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sha1_vector
      Src: /src/hostap/src/crypto/ms_funcs.c:409,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/ms_funcs.c:414,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - master_key
    - session_key
    - session_key_len
    - is_send
    - is_server
    argTypes:
    - u8*
    - u8*
    - size_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 416
    functionName: get_asymetric_start_key
    functionSourceFile: /src/hostap/src/crypto/ms_funcs.c
    functionUses: 2
    functionsReached:
    - sha1_vector
    - os_memcpy
    linkageType: ''
    returnType: int
    signature: "int get_asymetric_start_key(const u8 *master_key, u8 *session_key,\n\t\t\t
      \   size_t session_key_len, int is_send,\n\t\t\t    int is_server)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/crypto/ms_funcs.c:438,1
    - Dst: utf8_to_ucs2
      Src: /src/hostap/src/crypto/ms_funcs.c:440,1
    - Dst: os_memmove
      Src: /src/hostap/src/crypto/ms_funcs.c:446,1
    - Dst: os_get_random
      Src: /src/hostap/src/crypto/ms_funcs.c:447,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/crypto/ms_funcs.c:455,1
    - Dst: rc4_skip
      Src: /src/hostap/src/crypto/ms_funcs.c:456,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - password
    - password_len
    - password_hash
    - pw_block
    argTypes:
    - u8*
    - size_t
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 431
    functionDepth: 2
    functionLinenumber: 431
    functionLinenumberEnd: 458
    functionName: encrypt_pw_block_with_password_hash
    functionSourceFile: /src/hostap/src/crypto/ms_funcs.c
    functionUses: 1
    functionsReached:
    - os_memset
    - os_memmove
    - os_get_random
    - rc4_skip
    - utf8_to_ucs2
    - WPA_PUT_LE16
    linkageType: ''
    returnType: int
    signature: "int encrypt_pw_block_with_password_hash(\n\tconst u8 *password, size_t
      password_len,\n\tconst u8 *password_hash, u8 *pw_block)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nt_password_hash
      Src: /src/hostap/src/crypto/ms_funcs.c:477,1
    - Dst: encrypt_pw_block_with_password_hash
      Src: /src/hostap/src/crypto/ms_funcs.c:479,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - new_password
    - new_password_len
    - old_password
    - old_password_len
    - encrypted_pw_block
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 470
    functionDepth: 3
    functionLinenumber: 470
    functionLinenumberEnd: 484
    functionName: new_password_encrypted_with_old_nt_password_hash
    functionSourceFile: /src/hostap/src/crypto/ms_funcs.c
    functionUses: 1
    functionsReached:
    - encrypt_pw_block_with_password_hash
    - nt_password_hash
    linkageType: ''
    returnType: int
    signature: "int new_password_encrypted_with_old_nt_password_hash(\n\tconst u8
      *new_password, size_t new_password_len,\n\tconst u8 *old_password, size_t old_password_len,\n\tu8
      *encrypted_pw_block)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: des_encrypt
      Src: /src/hostap/src/crypto/ms_funcs.c:499,1
    - Dst: des_encrypt
      Src: /src/hostap/src/crypto/ms_funcs.c:500,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - password_hash
    - block
    - cypher
    argTypes:
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 503
    functionName: nt_password_hash_encrypted_with_block
    functionSourceFile: /src/hostap/src/crypto/ms_funcs.c
    functionUses: 1
    functionsReached:
    - des_encrypt
    linkageType: ''
    returnType: int
    signature: "int nt_password_hash_encrypted_with_block(const u8 *password_hash,\n\t\t\t\t\t
      \ const u8 *block, u8 *cypher)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nt_password_hash
      Src: /src/hostap/src/crypto/ms_funcs.c:522,1
    - Dst: nt_password_hash
      Src: /src/hostap/src/crypto/ms_funcs.c:524,1
    - Dst: nt_password_hash_encrypted_with_block
      Src: /src/hostap/src/crypto/ms_funcs.c:526,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 5
    argNames:
    - new_password
    - new_password_len
    - old_password
    - old_password_len
    - encrypted_password_hash
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 515
    functionDepth: 3
    functionLinenumber: 515
    functionLinenumberEnd: 531
    functionName: old_nt_password_hash_encrypted_with_new_nt_password_hash
    functionSourceFile: /src/hostap/src/crypto/ms_funcs.c
    functionUses: 1
    functionsReached:
    - nt_password_hash_encrypted_with_block
    - nt_password_hash
    linkageType: ''
    returnType: int
    signature: "int old_nt_password_hash_encrypted_with_new_nt_password_hash(\n\tconst
      u8 *new_password, size_t new_password_len,\n\tconst u8 *old_password, size_t
      old_password_len,\n\tu8 *encrypted_password_hash)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 19
    functionName: mp_unsigned_bin_size
    functionSourceFile: /src/hostap/src/crypto/crypto_libtomcrypt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mp_unsigned_bin_size(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 20
    functionName: mp_to_unsigned_bin
    functionSourceFile: /src/hostap/src/crypto/crypto_libtomcrypt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mp_to_unsigned_bin(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 21
    functionName: mp_read_unsigned_bin
    functionSourceFile: /src/hostap/src/crypto/crypto_libtomcrypt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mp_read_unsigned_bin(a, b, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: mp_exptmod
    functionSourceFile: /src/hostap/src/crypto/crypto_libtomcrypt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mp_exptmod(a,b,c,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md4_init
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:30,1
    - Dst: md4_process
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:32,1
    - Dst: md4_done
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 35
    functionName: md4_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_libtomcrypt.c
    functionUses: 3
    functionsReached:
    - md4_init
    - md4_process
    - md4_done
    linkageType: ''
    returnType: int
    signature: int md4_vector(size_t num_elem, const u8 *addr[], const size_t *len,
      u8 *mac)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: des_setup
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:53,1
    - Dst: des_ecb_encrypt
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:54,1
    - Dst: des_done
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - clear
    - key
    - cypher
    argTypes:
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 57
    functionName: des_encrypt
    functionSourceFile: /src/hostap/src/crypto/crypto_libtomcrypt.c
    functionUses: 2
    functionsReached:
    - des_ecb_encrypt
    - des_done
    - des_setup
    linkageType: ''
    returnType: int
    signature: int des_encrypt(const u8 *clear, const u8 *key, u8 *cypher)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md5_init
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:65,1
    - Dst: md5_process
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:67,1
    - Dst: md5_done
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 70
    functionName: md5_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_libtomcrypt.c
    functionUses: 4
    functionsReached:
    - md5_done
    - md5_init
    - md5_process
    linkageType: ''
    returnType: int
    signature: int md5_vector(size_t num_elem, const u8 *addr[], const size_t *len,
      u8 *mac)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha1_init
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:78,1
    - Dst: sha1_process
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:80,1
    - Dst: sha1_done
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 83
    functionName: sha1_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_libtomcrypt.c
    functionUses: 15
    functionsReached:
    - sha1_init
    - sha1_done
    - sha1_process
    linkageType: ''
    returnType: int
    signature: int sha1_vector(size_t num_elem, const u8 *addr[], const size_t *len,
      u8 *mac)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:89,1
    - Dst: aes_setup
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:92,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - key
    - len
    argTypes:
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 97
    functionName: aes_encrypt_init
    functionSourceFile: /src/hostap/src/crypto/crypto_libtomcrypt.c
    functionUses: 6
    functionsReached:
    - os_free
    - aes_setup
    - os_malloc
    linkageType: ''
    returnType: void
    signature: void * aes_encrypt_init(const u8 *key, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aes_ecb_encrypt
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - plain
    - crypt
    argTypes:
    - void*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: aes_encrypt
    functionSourceFile: /src/hostap/src/crypto/crypto_libtomcrypt.c
    functionUses: 7
    functionsReached:
    - aes_ecb_encrypt
    linkageType: ''
    returnType: int
    signature: int aes_encrypt(void *ctx, const u8 *plain, u8 *crypt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aes_done
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:110,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 112
    functionName: aes_encrypt_deinit
    functionSourceFile: /src/hostap/src/crypto/crypto_libtomcrypt.c
    functionUses: 7
    functionsReached:
    - os_free
    - aes_done
    linkageType: ''
    returnType: void
    signature: void aes_encrypt_deinit(void *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:118,1
    - Dst: aes_setup
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:121,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - key
    - len
    argTypes:
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 126
    functionName: aes_decrypt_init
    functionSourceFile: /src/hostap/src/crypto/crypto_libtomcrypt.c
    functionUses: 2
    functionsReached:
    - os_free
    - aes_setup
    - os_malloc
    linkageType: ''
    returnType: void
    signature: void * aes_decrypt_init(const u8 *key, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aes_ecb_encrypt
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - crypt
    - plain
    argTypes:
    - void*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: aes_decrypt
    functionSourceFile: /src/hostap/src/crypto/crypto_libtomcrypt.c
    functionUses: 2
    functionsReached:
    - aes_ecb_encrypt
    linkageType: ''
    returnType: int
    signature: int aes_decrypt(void *ctx, const u8 *crypt, u8 *plain)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aes_done
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:139,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 141
    functionName: aes_decrypt_deinit
    functionSourceFile: /src/hostap/src/crypto/crypto_libtomcrypt.c
    functionUses: 2
    functionsReached:
    - os_free
    - aes_done
    linkageType: ''
    returnType: void
    signature: void aes_decrypt_deinit(void *ctx)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:159,1
    - Dst: md5_init
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:167,1
    - Dst: sha1_init
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:171,1
    - Dst: hmac_init
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:175,1
    - Dst: find_hash
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:175,1
    - Dst: hmac_init
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:180,1
    - Dst: find_hash
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:180,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:191,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 3
    argNames:
    - alg
    - key
    - key_len
    argTypes:
    - enum crypto_hash_alg
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 193
    functionName: crypto_hash_init
    functionSourceFile: /src/hostap/src/crypto/crypto_libtomcrypt.c
    functionUses: 0
    functionsReached:
    - md5_init
    - sha1_init
    - find_hash
    - hmac_init
    - os_zalloc
    - os_free
    linkageType: ''
    returnType: struct crypto_hash
    signature: "struct crypto_hash * crypto_hash_init(enum crypto_hash_alg alg, const
      u8 *key,\n\t\t\t\t      size_t key_len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: md5_process
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:202,1
    - Dst: sha1_process
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:205,1
    - Dst: hmac_process
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:209,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - ctx
    - data
    - len
    argTypes:
    - struct crypto_hash*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 212
    functionName: crypto_hash_update
    functionSourceFile: /src/hostap/src/crypto/crypto_libtomcrypt.c
    functionUses: 0
    functionsReached:
    - hmac_process
    - md5_process
    - sha1_process
    linkageType: ''
    returnType: void
    signature: void crypto_hash_update(struct crypto_hash *ctx, const u8 *data, size_t
      len)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:224,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:229,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:237,1
    - Dst: md5_done
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:241,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:247,1
    - Dst: sha1_done
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:251,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:257,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:264,1
    - Dst: hmac_done
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:268,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:269,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:279,1
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:281,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 59
    argCount: 3
    argNames:
    - ctx
    - mac
    - len
    argTypes:
    - struct crypto_hash*
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 285
    functionName: crypto_hash_finish
    functionSourceFile: /src/hostap/src/crypto/crypto_libtomcrypt.c
    functionUses: 0
    functionsReached:
    - TEST_FAIL
    - sha1_done
    - md5_done
    - hmac_done
    - os_free
    linkageType: ''
    returnType: int
    signature: int crypto_hash_finish(struct crypto_hash *ctx, u8 *mac, size_t *len)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: find_cipher
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:310,1
    - Dst: find_cipher
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:313,1
    - Dst: find_cipher
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:316,1
    - Dst: os_zalloc
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:326,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:333,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:337,1
    - Dst: cbc_start
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:339,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:341,1
    - Dst: error_to_string
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:342,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:343,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 4
    argNames:
    - alg
    - iv
    - key
    - key_len
    argTypes:
    - enum crypto_cipher_alg
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 349
    functionName: crypto_cipher_init
    functionSourceFile: /src/hostap/src/crypto/crypto_libtomcrypt.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_printf
    - error_to_string
    - cbc_start
    - os_zalloc
    - find_cipher
    - os_free
    linkageType: ''
    returnType: struct crypto_cipher
    signature: "struct crypto_cipher * crypto_cipher_init(enum crypto_cipher_alg alg,\n\t\t\t\t\t
      \ const u8 *iv, const u8 *key,\n\t\t\t\t\t  size_t key_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:358,1
    - Dst: rc4_skip
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:359,1
    - Dst: cbc_encrypt
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:365,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:367,1
    - Dst: error_to_string
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:368,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - ctx
    - plain
    - crypt
    - len
    argTypes:
    - struct crypto_cipher*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 372
    functionName: crypto_cipher_encrypt
    functionSourceFile: /src/hostap/src/crypto/crypto_libtomcrypt.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_printf
    - error_to_string
    - cbc_encrypt
    - rc4_skip
    linkageType: ''
    returnType: int
    signature: "int crypto_cipher_encrypt(struct crypto_cipher *ctx, const u8 *plain,\n\t\t\t
      \ u8 *crypt, size_t len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:382,1
    - Dst: rc4_skip
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:383,1
    - Dst: cbc_decrypt
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:389,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:391,1
    - Dst: error_to_string
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:392,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - ctx
    - crypt
    - plain
    - len
    argTypes:
    - struct crypto_cipher*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 397
    functionName: crypto_cipher_decrypt
    functionSourceFile: /src/hostap/src/crypto/crypto_libtomcrypt.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_printf
    - error_to_string
    - rc4_skip
    - cbc_decrypt
    linkageType: ''
    returnType: int
    signature: "int crypto_cipher_decrypt(struct crypto_cipher *ctx, const u8 *crypt,\n\t\t\t
      \ u8 *plain, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cbc_done
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:403,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:404,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct crypto_cipher*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 405
    functionName: crypto_cipher_deinit
    functionSourceFile: /src/hostap/src/crypto/crypto_libtomcrypt.c
    functionUses: 0
    functionsReached:
    - os_free
    - cbc_done
    linkageType: ''
    returnType: void
    signature: void crypto_cipher_deinit(struct crypto_cipher *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:422,1
    - Dst: rsa_import
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:426,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:428,1
    - Dst: error_to_string
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:430,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:431,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:436,1
    - Dst: rsa_free
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:438,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:439,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - key
    - len
    argTypes:
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 444
    functionName: crypto_public_key_import
    functionSourceFile: /src/hostap/src/crypto/crypto_libtomcrypt.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - error_to_string
    - rsa_import
    - rsa_free
    - os_zalloc
    - os_free
    linkageType: ''
    returnType: struct crypto_public_key
    signature: struct crypto_public_key * crypto_public_key_import(const u8 *key,
      size_t len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:454,1
    - Dst: rsa_import
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:458,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:460,1
    - Dst: error_to_string
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:462,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:463,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:468,1
    - Dst: rsa_free
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:470,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:471,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - key
    - len
    - passwd
    argTypes:
    - u8*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 476
    functionName: crypto_private_key_import
    functionSourceFile: /src/hostap/src/crypto/crypto_libtomcrypt.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - error_to_string
    - rsa_import
    - rsa_free
    - os_zalloc
    - os_free
    linkageType: ''
    returnType: struct crypto_private_key
    signature: "struct crypto_private_key * crypto_private_key_import(const u8 *key,\n\t\t\t\t\t\t
      \     size_t len,\n\t\t\t\t\t\t      const char *passwd)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 484
    functionName: crypto_public_key_from_cert
    functionSourceFile: /src/hostap/src/crypto/crypto_libtomcrypt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct crypto_public_key
    signature: "struct crypto_public_key * crypto_public_key_from_cert(const u8 *buf,\n\t\t\t\t\t\t
      \      size_t len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:505,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:519,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:523,1
    - Dst: os_get_random
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:527,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:528,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:539,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:544,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 6
    argNames:
    - block_type
    - modlen
    - in
    - inlen
    - out
    - outlen
    argTypes:
    - u8
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 547
    functionName: pkcs1_generate_encryption_block
    functionSourceFile: /src/hostap/src/crypto/crypto_libtomcrypt.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_get_random
    - os_memcpy
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int pkcs1_generate_encryption_block(u8 block_type, size_t modlen,\n\t\t\t\t\t
      \  const u8 *in, size_t inlen,\n\t\t\t\t\t   u8 *out, size_t *outlen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mp_unsigned_bin_size
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:557,1
    - Dst: pkcs1_generate_encryption_block
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:559,1
    - Dst: rsa_exptmod
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:564,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:566,1
    - Dst: error_to_string
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:567,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 7
    argNames:
    - block_type
    - key
    - key_type
    - in
    - inlen
    - out
    - outlen
    argTypes:
    - int
    - rsa_key*
    - int
    - u8*
    - size_t
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 573
    functionName: crypto_rsa_encrypt_pkcs1
    functionSourceFile: /src/hostap/src/crypto/crypto_libtomcrypt.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - error_to_string
    - mp_unsigned_bin_size
    - pkcs1_generate_encryption_block
    - rsa_exptmod
    linkageType: ''
    returnType: int
    signature: "int crypto_rsa_encrypt_pkcs1(int block_type, rsa_key *key, int key_type,\n\t\t\t\t
      \   const u8 *in, size_t inlen,\n\t\t\t\t    u8 *out, size_t *outlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_rsa_encrypt_pkcs1
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - key
    - in
    - inlen
    - out
    - outlen
    argTypes:
    - struct crypto_public_key*
    - u8*
    - size_t
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 576
    functionDepth: 1
    functionLinenumber: 576
    functionLinenumberEnd: 582
    functionName: crypto_public_key_encrypt_pkcs1_v15
    functionSourceFile: /src/hostap/src/crypto/crypto_libtomcrypt.c
    functionUses: 0
    functionsReached:
    - crypto_rsa_encrypt_pkcs1
    linkageType: ''
    returnType: int
    signature: "int crypto_public_key_encrypt_pkcs1_v15(struct crypto_public_key *key,\n\t\t\t\t\tconst
      u8 *in, size_t inlen,\n\t\t\t\t\tu8 *out, size_t *outlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_rsa_encrypt_pkcs1
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - key
    - in
    - inlen
    - out
    - outlen
    argTypes:
    - struct crypto_private_key*
    - u8*
    - size_t
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 585
    functionDepth: 1
    functionLinenumber: 585
    functionLinenumberEnd: 591
    functionName: crypto_private_key_sign_pkcs1
    functionSourceFile: /src/hostap/src/crypto/crypto_libtomcrypt.c
    functionUses: 0
    functionsReached:
    - crypto_rsa_encrypt_pkcs1
    linkageType: ''
    returnType: int
    signature: "int crypto_private_key_sign_pkcs1(struct crypto_private_key *key,\n\t\t\t\t
      \ const u8 *in, size_t inlen,\n\t\t\t\t  u8 *out, size_t *outlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rsa_free
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:597,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:598,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - key
    argTypes:
    - struct crypto_public_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 600
    functionName: crypto_public_key_free
    functionSourceFile: /src/hostap/src/crypto/crypto_libtomcrypt.c
    functionUses: 1
    functionsReached:
    - os_free
    - rsa_free
    linkageType: ''
    returnType: void
    signature: void crypto_public_key_free(struct crypto_public_key *key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rsa_free
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:606,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:607,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - key
    argTypes:
    - struct crypto_private_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 609
    functionName: crypto_private_key_free
    functionSourceFile: /src/hostap/src/crypto/crypto_libtomcrypt.c
    functionUses: 0
    functionsReached:
    - os_free
    - rsa_free
    linkageType: ''
    returnType: void
    signature: void crypto_private_key_free(struct crypto_private_key *key)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rsa_exptmod
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:621,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:624,1
    - Dst: error_to_string
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:625,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:640,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:650,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:656,1
    - Dst: os_memmove
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:664,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 5
    argNames:
    - key
    - crypt
    - crypt_len
    - plain
    - plain_len
    argTypes:
    - struct crypto_public_key*
    - u8*
    - size_t
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 668
    functionName: crypto_public_key_decrypt_pkcs1
    functionSourceFile: /src/hostap/src/crypto/crypto_libtomcrypt.c
    functionUses: 0
    functionsReached:
    - error_to_string
    - wpa_printf
    - os_memmove
    - rsa_exptmod
    linkageType: ''
    returnType: int
    signature: "int crypto_public_key_decrypt_pkcs1(struct crypto_public_key *key,\n\t\t\t\t
      \   const u8 *crypt, size_t crypt_len,\n\t\t\t\t    u8 *plain, size_t *plain_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: register_hash
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:675,1
    - Dst: register_hash
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:676,1
    - Dst: register_hash
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:677,1
    - Dst: register_cipher
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:678,1
    - Dst: register_cipher
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:679,1
    - Dst: register_cipher
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:680,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:681,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 687
    functionName: crypto_global_init
    functionSourceFile: /src/hostap/src/crypto/crypto_libtomcrypt.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - register_hash
    - register_cipher
    linkageType: ''
    returnType: int
    signature: int crypto_global_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 692
    functionName: crypto_global_deinit
    functionSourceFile: /src/hostap/src/crypto/crypto_libtomcrypt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void crypto_global_deinit(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_get_random
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:702,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:704,1
    - Dst: crypto_mod_exp
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:710,1
    - Dst: os_memmove
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:715,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:716,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 5
    argNames:
    - generator
    - prime
    - prime_len
    - privkey
    - pubkey
    argTypes:
    - u8
    - u8*
    - size_t
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 720
    functionName: crypto_dh_init
    functionSourceFile: /src/hostap/src/crypto/crypto_libtomcrypt.c
    functionUses: 0
    functionsReached:
    - os_get_random
    - os_memmove
    - os_memcmp
    - crypto_mod_exp
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int crypto_dh_init(u8 generator, const u8 *prime, size_t prime_len,
      u8 *privkey,\n\t\t   u8 *pubkey)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_mod_exp
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:730,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 11
    argNames:
    - generator
    - prime
    - prime_len
    - order
    - order_len
    - privkey
    - privkey_len
    - pubkey
    - pubkey_len
    - secret
    - len
    argTypes:
    - u8
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 732
    functionName: crypto_dh_derive_secret
    functionSourceFile: /src/hostap/src/crypto/crypto_libtomcrypt.c
    functionUses: 0
    functionsReached:
    - crypto_mod_exp
    linkageType: ''
    returnType: int
    signature: "int crypto_dh_derive_secret(u8 generator, const u8 *prime, size_t
      prime_len,\n\t\t\t    const u8 *order, size_t order_len,\n\t\t\t    const u8
      *privkey, size_t privkey_len,\n\t\t\t    const u8 *pubkey, size_t pubkey_len,\n\t\t\t
      \   u8 *secret, size_t *len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mp_init_multi
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:742,1
    - Dst: mp_read_unsigned_bin
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:745,1
    - Dst: mp_read_unsigned_bin
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:746,1
    - Dst: mp_read_unsigned_bin
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:747,1
    - Dst: mp_exptmod
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:750,1
    - Dst: mp_unsigned_bin_size
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:753,1
    - Dst: mp_to_unsigned_bin
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:754,1
    - Dst: mp_clear_multi
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:757,1
    - Dst: mp_clear_multi
      Src: /src/hostap/src/crypto/crypto_libtomcrypt.c:761,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 8
    argNames:
    - base
    - base_len
    - power
    - power_len
    - modulus
    - modulus_len
    - result
    - result_len
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 735
    functionDepth: 1
    functionLinenumber: 735
    functionLinenumberEnd: 763
    functionName: crypto_mod_exp
    functionSourceFile: /src/hostap/src/crypto/crypto_libtomcrypt.c
    functionUses: 4
    functionsReached:
    - mp_clear_multi
    - mp_to_unsigned_bin
    - mp_init_multi
    - mp_exptmod
    - mp_unsigned_bin_size
    - mp_read_unsigned_bin
    linkageType: ''
    returnType: int
    signature: "int crypto_mod_exp(const u8 *base, size_t base_len,\n\t\t   const
      u8 *power, size_t power_len,\n\t\t   const u8 *modulus, size_t modulus_len,\n\t\t
      \  u8 *result, size_t *result_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 770
    functionName: crypto_unload
    functionSourceFile: /src/hostap/src/crypto/crypto_libtomcrypt.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void crypto_unload(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/crypto/sha384-kdf.c:46,1
    - Dst: hmac_sha384_vector
      Src: /src/hostap/src/crypto/sha384-kdf.c:56,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/sha384-kdf.c:64,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/sha384-kdf.c:71,1
    - Dst: forced_memzero
      Src: /src/hostap/src/crypto/sha384-kdf.c:72,1
    - Dst: hmac_sha384_vector
      Src: /src/hostap/src/crypto/sha384-kdf.c:77,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/sha384-kdf.c:79,1
    - Dst: forced_memzero
      Src: /src/hostap/src/crypto/sha384-kdf.c:80,1
    - Dst: forced_memzero
      Src: /src/hostap/src/crypto/sha384-kdf.c:85,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 7
    argNames:
    - secret
    - secret_len
    - label
    - seed
    - seed_len
    - out
    - outlen
    argTypes:
    - u8*
    - size_t
    - char*
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 87
    functionName: hmac_sha384_kdf
    functionSourceFile: /src/hostap/src/crypto/sha384-kdf.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_memcpy
    - forced_memzero
    - hmac_sha384_vector
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int hmac_sha384_kdf(const u8 *secret, size_t secret_len,\n\t\t    const
      char *label, const u8 *seed, size_t seed_len,\n\t\t    u8 *out, size_t outlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/crypto/fips_prf_wolfssl.c:21,1
    - Dst: wc_ShaUpdate
      Src: /src/hostap/src/crypto/fips_prf_wolfssl.c:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - state
    - data
    argTypes:
    - u32*
    - u8[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 33
    functionName: sha1_transform
    functionSourceFile: /src/hostap/src/crypto/fips_prf_wolfssl.c
    functionUses: 0
    functionsReached:
    - wc_ShaUpdate
    - os_memset
    linkageType: ''
    returnType: void
    signature: void sha1_transform(u32 *state, const u8 data[64])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/crypto/fips_prf_wolfssl.c:45,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/fips_prf_wolfssl.c:51,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/fips_prf_wolfssl.c:65,1
    - Dst: sha1_transform
      Src: /src/hostap/src/crypto/fips_prf_wolfssl.c:66,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/src/crypto/fips_prf_wolfssl.c:67,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/src/crypto/fips_prf_wolfssl.c:68,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/src/crypto/fips_prf_wolfssl.c:69,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/src/crypto/fips_prf_wolfssl.c:70,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/src/crypto/fips_prf_wolfssl.c:71,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 4
    argNames:
    - seed
    - seed_len
    - x
    - xlen
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 87
    functionName: fips186_2_prf
    functionSourceFile: /src/hostap/src/crypto/fips_prf_wolfssl.c
    functionUses: 2
    functionsReached:
    - sha1_transform
    - WPA_PUT_BE32
    - os_memcpy
    - os_memset
    linkageType: ''
    returnType: int
    signature: int fips186_2_prf(const u8 *seed, size_t seed_len, u8 *x, size_t xlen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/crypto/fips_prf_internal.c:27,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/fips_prf_internal.c:33,1
    - Dst: SHA1Init
      Src: /src/hostap/src/crypto/fips_prf_internal.c:34,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/fips_prf_internal.c:43,1
    - Dst: SHA1Transform
      Src: /src/hostap/src/crypto/fips_prf_internal.c:44,1
    - Dst: host_to_be32
      Src: /src/hostap/src/crypto/fips_prf_internal.c:45,1
    - Dst: host_to_be32
      Src: /src/hostap/src/crypto/fips_prf_internal.c:46,1
    - Dst: host_to_be32
      Src: /src/hostap/src/crypto/fips_prf_internal.c:47,1
    - Dst: host_to_be32
      Src: /src/hostap/src/crypto/fips_prf_internal.c:48,1
    - Dst: host_to_be32
      Src: /src/hostap/src/crypto/fips_prf_internal.c:49,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/fips_prf_internal.c:50,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 4
    argNames:
    - seed
    - seed_len
    - x
    - xlen
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 66
    functionName: fips186_2_prf
    functionSourceFile: /src/hostap/src/crypto/fips_prf_internal.c
    functionUses: 2
    functionsReached:
    - os_memcpy
    - host_to_be32
    - SHA1Init
    - SHA1Transform
    - os_memset
    linkageType: ''
    returnType: int
    signature: int fips186_2_prf(const u8 *seed, size_t seed_len, u8 *x, size_t xlen)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pad
    argTypes:
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 26
    functionName: gf_mulx
    functionSourceFile: /src/hostap/src/crypto/aes-omac1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gf_mulx(u8 *pad)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/aes-omac1.c:51,1
    - Dst: aes_encrypt_init
      Src: /src/hostap/src/crypto/aes-omac1.c:54,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/aes-omac1.c:57,1
    - Dst: aes_encrypt
      Src: /src/hostap/src/crypto/aes-omac1.c:85,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/aes-omac1.c:89,1
    - Dst: aes_encrypt
      Src: /src/hostap/src/crypto/aes-omac1.c:90,1
    - Dst: gf_mulx
      Src: /src/hostap/src/crypto/aes-omac1.c:91,1
    - Dst: gf_mulx
      Src: /src/hostap/src/crypto/aes-omac1.c:109,1
    - Dst: aes_encrypt
      Src: /src/hostap/src/crypto/aes-omac1.c:114,1
    - Dst: aes_encrypt_deinit
      Src: /src/hostap/src/crypto/aes-omac1.c:115,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 51
    argCount: 6
    argNames:
    - key
    - key_len
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - u8*
    - size_t
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 117
    functionName: omac1_aes_vector
    functionSourceFile: /src/hostap/src/crypto/aes-omac1.c
    functionUses: 0
    functionsReached:
    - TEST_FAIL
    - gf_mulx
    - aes_encrypt_init
    - aes_encrypt
    - aes_encrypt_deinit
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int omac1_aes_vector(const u8 *key, size_t key_len, size_t num_elem,\n\t\t
      \    const u8 *addr[], const size_t *len, u8 *mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: omac1_aes_vector
      Src: /src/hostap/src/crypto/aes-omac1.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - key
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - u8*
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: omac1_aes_128_vector
    functionSourceFile: /src/hostap/src/crypto/aes-omac1.c
    functionUses: 1
    functionsReached:
    - omac1_aes_vector
    linkageType: ''
    returnType: int
    signature: "int omac1_aes_128_vector(const u8 *key, size_t num_elem,\n\t\t\t const
      u8 *addr[], const size_t *len, u8 *mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: omac1_aes_128_vector
      Src: /src/hostap/src/crypto/aes-omac1.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - key
    - data
    - data_len
    - mac
    argTypes:
    - u8*
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: omac1_aes_128
    functionSourceFile: /src/hostap/src/crypto/aes-omac1.c
    functionUses: 10
    functionsReached:
    - omac1_aes_128_vector
    linkageType: ''
    returnType: int
    signature: int omac1_aes_128(const u8 *key, const u8 *data, size_t data_len, u8
      *mac)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: omac1_aes_vector
      Src: /src/hostap/src/crypto/aes-omac1.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - key
    - data
    - data_len
    - mac
    argTypes:
    - u8*
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 173
    functionName: omac1_aes_256
    functionSourceFile: /src/hostap/src/crypto/aes-omac1.c
    functionUses: 1
    functionsReached:
    - omac1_aes_vector
    linkageType: ''
    returnType: int
    signature: int omac1_aes_256(const u8 *key, const u8 *data, size_t data_len, u8
      *mac)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 25
    functionName: xor_aes_block
    functionSourceFile: /src/hostap/src/crypto/aes-ccm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void xor_aes_block(u8 *dst, const u8 *src)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/aes-ccm.c:40,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/crypto/aes-ccm.c:41,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/crypto/aes-ccm.c:43,1
    - Dst: aes_encrypt
      Src: /src/hostap/src/crypto/aes-ccm.c:44,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/crypto/aes-ccm.c:49,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/aes-ccm.c:50,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/aes-ccm.c:51,1
    - Dst: xor_aes_block
      Src: /src/hostap/src/crypto/aes-ccm.c:53,1
    - Dst: aes_encrypt
      Src: /src/hostap/src/crypto/aes-ccm.c:54,1
    - Dst: xor_aes_block
      Src: /src/hostap/src/crypto/aes-ccm.c:57,1
    - Dst: aes_encrypt
      Src: /src/hostap/src/crypto/aes-ccm.c:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 8
    argNames:
    - aes
    - M
    - L
    - nonce
    - aad
    - aad_len
    - plain_len
    - x
    argTypes:
    - void*
    - size_t
    - size_t
    - u8*
    - u8*
    - size_t
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 61
    functionName: aes_ccm_auth_start
    functionSourceFile: /src/hostap/src/crypto/aes-ccm.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_hexdump_key
    - xor_aes_block
    - WPA_PUT_BE16
    - aes_encrypt
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void aes_ccm_auth_start(void *aes, size_t M, size_t L, const u8 *nonce,\n\t\t\t
      \      const u8 *aad, size_t aad_len, size_t plain_len,\n\t\t\t       u8 *x)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xor_aes_block
      Src: /src/hostap/src/crypto/aes-ccm.c:71,1
    - Dst: aes_encrypt
      Src: /src/hostap/src/crypto/aes-ccm.c:73,1
    - Dst: aes_encrypt
      Src: /src/hostap/src/crypto/aes-ccm.c:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - aes
    - data
    - len
    - x
    argTypes:
    - void*
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 81
    functionName: aes_ccm_auth
    functionSourceFile: /src/hostap/src/crypto/aes-ccm.c
    functionUses: 0
    functionsReached:
    - xor_aes_block
    - aes_encrypt
    linkageType: ''
    returnType: void
    signature: void aes_ccm_auth(void *aes, const u8 *data, size_t len, u8 *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/aes-ccm.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - L
    - nonce
    - a
    argTypes:
    - size_t
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: aes_ccm_encr_start
    functionSourceFile: /src/hostap/src/crypto/aes-ccm.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    linkageType: ''
    returnType: void
    signature: void aes_ccm_encr_start(size_t L, const u8 *nonce, u8 *a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/crypto/aes-ccm.c:100,1
    - Dst: aes_encrypt
      Src: /src/hostap/src/crypto/aes-ccm.c:102,1
    - Dst: xor_aes_block
      Src: /src/hostap/src/crypto/aes-ccm.c:103,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/crypto/aes-ccm.c:108,1
    - Dst: aes_encrypt
      Src: /src/hostap/src/crypto/aes-ccm.c:109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 6
    argNames:
    - aes
    - L
    - in
    - len
    - out
    - a
    argTypes:
    - void*
    - size_t
    - u8*
    - size_t
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 114
    functionName: aes_ccm_encr
    functionSourceFile: /src/hostap/src/crypto/aes-ccm.c
    functionUses: 0
    functionsReached:
    - xor_aes_block
    - aes_encrypt
    - WPA_PUT_BE16
    linkageType: ''
    returnType: void
    signature: "void aes_ccm_encr(void *aes, size_t L, const u8 *in, size_t len, u8
      *out,\n\t\t\t u8 *a)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/crypto/aes-ccm.c:122,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/crypto/aes-ccm.c:124,1
    - Dst: aes_encrypt
      Src: /src/hostap/src/crypto/aes-ccm.c:125,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/crypto/aes-ccm.c:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - aes
    - M
    - x
    - a
    - auth
    argTypes:
    - void*
    - size_t
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 129
    functionName: aes_ccm_encr_auth
    functionSourceFile: /src/hostap/src/crypto/aes-ccm.c
    functionUses: 0
    functionsReached:
    - wpa_hexdump_key
    - aes_encrypt
    - WPA_PUT_BE16
    linkageType: ''
    returnType: void
    signature: void aes_ccm_encr_auth(void *aes, size_t M, u8 *x, u8 *a, u8 *auth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/crypto/aes-ccm.c:137,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/crypto/aes-ccm.c:139,1
    - Dst: aes_encrypt
      Src: /src/hostap/src/crypto/aes-ccm.c:140,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/crypto/aes-ccm.c:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - aes
    - M
    - a
    - auth
    - t
    argTypes:
    - void*
    - size_t
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 144
    functionName: aes_ccm_decr_auth
    functionSourceFile: /src/hostap/src/crypto/aes-ccm.c
    functionUses: 0
    functionsReached:
    - wpa_hexdump_key
    - aes_encrypt
    - WPA_PUT_BE16
    linkageType: ''
    returnType: void
    signature: void aes_ccm_decr_auth(void *aes, size_t M, u8 *a, const u8 *auth,
      u8 *t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: aes_encrypt_init
      Src: /src/hostap/src/crypto/aes-ccm.c:159,1
    - Dst: aes_ccm_auth_start
      Src: /src/hostap/src/crypto/aes-ccm.c:163,1
    - Dst: aes_ccm_auth
      Src: /src/hostap/src/crypto/aes-ccm.c:164,1
    - Dst: aes_ccm_encr_start
      Src: /src/hostap/src/crypto/aes-ccm.c:167,1
    - Dst: aes_ccm_encr
      Src: /src/hostap/src/crypto/aes-ccm.c:168,1
    - Dst: aes_ccm_encr_auth
      Src: /src/hostap/src/crypto/aes-ccm.c:169,1
    - Dst: aes_encrypt_deinit
      Src: /src/hostap/src/crypto/aes-ccm.c:171,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 10
    argNames:
    - key
    - key_len
    - nonce
    - M
    - plain
    - plain_len
    - aad
    - aad_len
    - crypt
    - auth
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 174
    functionName: aes_ccm_ae
    functionSourceFile: /src/hostap/src/crypto/aes-ccm.c
    functionUses: 3
    functionsReached:
    - aes_ccm_encr
    - aes_ccm_auth_start
    - aes_ccm_encr_start
    - aes_encrypt_init
    - aes_ccm_encr_auth
    - aes_ccm_auth
    - aes_encrypt_deinit
    linkageType: ''
    returnType: int
    signature: "int aes_ccm_ae(const u8 *key, size_t key_len, const u8 *nonce,\n\t
      \      size_t M, const u8 *plain, size_t plain_len,\n\t       const u8 *aad,
      size_t aad_len, u8 *crypt, u8 *auth)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: aes_encrypt_init
      Src: /src/hostap/src/crypto/aes-ccm.c:190,1
    - Dst: aes_ccm_encr_start
      Src: /src/hostap/src/crypto/aes-ccm.c:195,1
    - Dst: aes_ccm_decr_auth
      Src: /src/hostap/src/crypto/aes-ccm.c:196,1
    - Dst: aes_ccm_encr
      Src: /src/hostap/src/crypto/aes-ccm.c:199,1
    - Dst: aes_ccm_auth_start
      Src: /src/hostap/src/crypto/aes-ccm.c:201,1
    - Dst: aes_ccm_auth
      Src: /src/hostap/src/crypto/aes-ccm.c:202,1
    - Dst: aes_encrypt_deinit
      Src: /src/hostap/src/crypto/aes-ccm.c:204,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/crypto/aes-ccm.c:206,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/aes-ccm.c:207,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 10
    argNames:
    - key
    - key_len
    - nonce
    - M
    - crypt
    - crypt_len
    - aad
    - aad_len
    - auth
    - plain
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 212
    functionName: aes_ccm_ad
    functionSourceFile: /src/hostap/src/crypto/aes-ccm.c
    functionUses: 2
    functionsReached:
    - aes_ccm_encr
    - wpa_printf
    - aes_ccm_auth_start
    - aes_ccm_encr_start
    - aes_ccm_decr_auth
    - aes_encrypt_init
    - os_memcmp_const
    - aes_ccm_auth
    - aes_encrypt_deinit
    linkageType: ''
    returnType: int
    signature: "int aes_ccm_ad(const u8 *key, size_t key_len, const u8 *nonce,\n\t
      \      size_t M, const u8 *crypt, size_t crypt_len,\n\t       const u8 *aad,
      size_t aad_len, const u8 *auth, u8 *plain)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/crypto/fips_prf_openssl.c:32,1
    - Dst: SHA1_Transform
      Src: /src/hostap/src/crypto/fips_prf_openssl.c:39,1
    - Dst: SHA1_Transform
      Src: /src/hostap/src/crypto/fips_prf_openssl.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 2
    argNames:
    - state
    - data
    argTypes:
    - u32*
    - u8[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 58
    functionName: sha1_transform
    functionSourceFile: /src/hostap/src/crypto/fips_prf_openssl.c
    functionUses: 1
    functionsReached:
    - SHA1_Transform
    - os_memset
    linkageType: ''
    returnType: void
    signature: void sha1_transform(u32 *state, const u8 data[64])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/crypto/fips_prf_openssl.c:70,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/fips_prf_openssl.c:76,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/fips_prf_openssl.c:90,1
    - Dst: sha1_transform
      Src: /src/hostap/src/crypto/fips_prf_openssl.c:91,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/src/crypto/fips_prf_openssl.c:92,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/src/crypto/fips_prf_openssl.c:93,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/src/crypto/fips_prf_openssl.c:94,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/src/crypto/fips_prf_openssl.c:95,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/src/crypto/fips_prf_openssl.c:96,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 4
    argNames:
    - seed
    - seed_len
    - x
    - xlen
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 112
    functionName: fips186_2_prf
    functionSourceFile: /src/hostap/src/crypto/fips_prf_openssl.c
    functionUses: 2
    functionsReached:
    - sha1_transform
    - WPA_PUT_BE32
    - os_memcpy
    - os_memset
    linkageType: ''
    returnType: int
    signature: int fips186_2_prf(const u8 *seed, size_t seed_len, u8 *x, size_t xlen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/md4-internal.c:34,1
    - Dst: MD4Init
      Src: /src/hostap/src/crypto/md4-internal.c:37,1
    - Dst: MD4Update
      Src: /src/hostap/src/crypto/md4-internal.c:39,1
    - Dst: MD4Final
      Src: /src/hostap/src/crypto/md4-internal.c:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 42
    functionName: md4_vector
    functionSourceFile: /src/hostap/src/crypto/md4-internal.c
    functionUses: 3
    functionsReached:
    - MD4Final
    - MD4Init
    - TEST_FAIL
    - MD4Update
    linkageType: ''
    returnType: int
    signature: int md4_vector(size_t num_elem, const u8 *addr[], const size_t *len,
      u8 *mac)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cp
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 81
    functionName: PUT_64BIT_LE
    functionSourceFile: /src/hostap/src/crypto/md4-internal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUT_64BIT_LE(cp, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cp
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: PUT_32BIT_LE
    functionSourceFile: /src/hostap/src/crypto/md4-internal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUT_32BIT_LE(cp, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - MD4_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 105
    functionName: MD4Init
    functionSourceFile: /src/hostap/src/crypto/md4-internal.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MD4Init(MD4_CTX *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/md4-internal.c:124,1
    - Dst: MD4Transform
      Src: /src/hostap/src/crypto/md4-internal.c:125,1
    - Dst: MD4Transform
      Src: /src/hostap/src/crypto/md4-internal.c:133,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/md4-internal.c:141,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - ctx
    - input
    - len
    argTypes:
    - MD4_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 142
    functionName: MD4Update
    functionSourceFile: /src/hostap/src/crypto/md4-internal.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    - MD4Transform
    linkageType: ''
    returnType: void
    signature: void MD4Update(MD4_CTX *ctx, const unsigned char *input, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PUT_64BIT_LE
      Src: /src/hostap/src/crypto/md4-internal.c:154,1
    - Dst: MD4Update
      Src: /src/hostap/src/crypto/md4-internal.c:161,1
    - Dst: MD4Update
      Src: /src/hostap/src/crypto/md4-internal.c:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - MD4_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 163
    functionName: MD4Pad
    functionSourceFile: /src/hostap/src/crypto/md4-internal.c
    functionUses: 0
    functionsReached:
    - MD4Update
    - PUT_64BIT_LE
    linkageType: ''
    returnType: void
    signature: void MD4Pad(MD4_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MD4Pad
      Src: /src/hostap/src/crypto/md4-internal.c:172,1
    - Dst: PUT_32BIT_LE
      Src: /src/hostap/src/crypto/md4-internal.c:175,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/md4-internal.c:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - digest
    - ctx
    argTypes:
    - unsigned char[]
    - MD4_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 168
    functionDepth: 3
    functionLinenumber: 168
    functionLinenumberEnd: 178
    functionName: MD4Final
    functionSourceFile: /src/hostap/src/crypto/md4-internal.c
    functionUses: 1
    functionsReached:
    - PUT_32BIT_LE
    - MD4Pad
    - os_memset
    linkageType: ''
    returnType: void
    signature: void MD4Final(unsigned char digest[MD4_DIGEST_LENGTH], MD4_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 185
    functionName: F1
    functionSourceFile: /src/hostap/src/crypto/md4-internal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F1(x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 186
    functionName: F2
    functionSourceFile: /src/hostap/src/crypto/md4-internal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F2(x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 187
    functionName: F3
    functionSourceFile: /src/hostap/src/crypto/md4-internal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F3(x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - f
    - ','
    - w
    - ','
    - x
    - ','
    - y
    - ','
    - z
    - ','
    - data
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 191
    functionName: MD4STEP
    functionSourceFile: /src/hostap/src/crypto/md4-internal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MD4STEP(f, w, x, y, z, data, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/md4-internal.c:203,1
    - Dst: MD4STEP
      Src: /src/hostap/src/crypto/md4-internal.c:219,1
    - Dst: MD4STEP
      Src: /src/hostap/src/crypto/md4-internal.c:220,1
    - Dst: MD4STEP
      Src: /src/hostap/src/crypto/md4-internal.c:221,1
    - Dst: MD4STEP
      Src: /src/hostap/src/crypto/md4-internal.c:222,1
    - Dst: MD4STEP
      Src: /src/hostap/src/crypto/md4-internal.c:223,1
    - Dst: MD4STEP
      Src: /src/hostap/src/crypto/md4-internal.c:224,1
    - Dst: MD4STEP
      Src: /src/hostap/src/crypto/md4-internal.c:225,1
    - Dst: MD4STEP
      Src: /src/hostap/src/crypto/md4-internal.c:226,1
    - Dst: MD4STEP
      Src: /src/hostap/src/crypto/md4-internal.c:227,1
    - Dst: MD4STEP
      Src: /src/hostap/src/crypto/md4-internal.c:228,1
    - Dst: MD4STEP
      Src: /src/hostap/src/crypto/md4-internal.c:229,1
    - Dst: MD4STEP
      Src: /src/hostap/src/crypto/md4-internal.c:230,1
    - Dst: MD4STEP
      Src: /src/hostap/src/crypto/md4-internal.c:231,1
    - Dst: MD4STEP
      Src: /src/hostap/src/crypto/md4-internal.c:232,1
    - Dst: MD4STEP
      Src: /src/hostap/src/crypto/md4-internal.c:233,1
    - Dst: MD4STEP
      Src: /src/hostap/src/crypto/md4-internal.c:234,1
    - Dst: MD4STEP
      Src: /src/hostap/src/crypto/md4-internal.c:236,1
    - Dst: MD4STEP
      Src: /src/hostap/src/crypto/md4-internal.c:237,1
    - Dst: MD4STEP
      Src: /src/hostap/src/crypto/md4-internal.c:238,1
    - Dst: MD4STEP
      Src: /src/hostap/src/crypto/md4-internal.c:239,1
    - Dst: MD4STEP
      Src: /src/hostap/src/crypto/md4-internal.c:240,1
    - Dst: MD4STEP
      Src: /src/hostap/src/crypto/md4-internal.c:241,1
    - Dst: MD4STEP
      Src: /src/hostap/src/crypto/md4-internal.c:242,1
    - Dst: MD4STEP
      Src: /src/hostap/src/crypto/md4-internal.c:243,1
    - Dst: MD4STEP
      Src: /src/hostap/src/crypto/md4-internal.c:244,1
    - Dst: MD4STEP
      Src: /src/hostap/src/crypto/md4-internal.c:245,1
    - Dst: MD4STEP
      Src: /src/hostap/src/crypto/md4-internal.c:246,1
    - Dst: MD4STEP
      Src: /src/hostap/src/crypto/md4-internal.c:247,1
    - Dst: MD4STEP
      Src: /src/hostap/src/crypto/md4-internal.c:248,1
    - Dst: MD4STEP
      Src: /src/hostap/src/crypto/md4-internal.c:249,1
    - Dst: MD4STEP
      Src: /src/hostap/src/crypto/md4-internal.c:250,1
    - Dst: MD4STEP
      Src: /src/hostap/src/crypto/md4-internal.c:251,1
    - Dst: MD4STEP
      Src: /src/hostap/src/crypto/md4-internal.c:253,1
    - Dst: MD4STEP
      Src: /src/hostap/src/crypto/md4-internal.c:254,1
    - Dst: MD4STEP
      Src: /src/hostap/src/crypto/md4-internal.c:255,1
    - Dst: MD4STEP
      Src: /src/hostap/src/crypto/md4-internal.c:256,1
    - Dst: MD4STEP
      Src: /src/hostap/src/crypto/md4-internal.c:257,1
    - Dst: MD4STEP
      Src: /src/hostap/src/crypto/md4-internal.c:258,1
    - Dst: MD4STEP
      Src: /src/hostap/src/crypto/md4-internal.c:259,1
    - Dst: MD4STEP
      Src: /src/hostap/src/crypto/md4-internal.c:260,1
    - Dst: MD4STEP
      Src: /src/hostap/src/crypto/md4-internal.c:261,1
    - Dst: MD4STEP
      Src: /src/hostap/src/crypto/md4-internal.c:262,1
    - Dst: MD4STEP
      Src: /src/hostap/src/crypto/md4-internal.c:263,1
    - Dst: MD4STEP
      Src: /src/hostap/src/crypto/md4-internal.c:264,1
    - Dst: MD4STEP
      Src: /src/hostap/src/crypto/md4-internal.c:265,1
    - Dst: MD4STEP
      Src: /src/hostap/src/crypto/md4-internal.c:266,1
    - Dst: MD4STEP
      Src: /src/hostap/src/crypto/md4-internal.c:267,1
    - Dst: MD4STEP
      Src: /src/hostap/src/crypto/md4-internal.c:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 61
    argCount: 2
    argNames:
    - state
    - block
    argTypes:
    - u32[]
    - u8[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 274
    functionName: MD4Transform
    functionSourceFile: /src/hostap/src/crypto/md4-internal.c
    functionUses: 1
    functionsReached:
    - MD4STEP
    - os_memcpy
    linkageType: ''
    returnType: void
    signature: void MD4Transform(u32 state[4], const u8 block[MD4_BLOCK_LENGTH])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_linux.c:31,1
    - Dst: socket
      Src: /src/hostap/src/crypto/crypto_linux.c:34,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_linux.c:36,1
    - Dst: strerror
      Src: /src/hostap/src/crypto/crypto_linux.c:37,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/crypto_linux.c:41,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/crypto/crypto_linux.c:43,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/crypto/crypto_linux.c:44,1
    - Dst: bind
      Src: /src/hostap/src/crypto/crypto_linux.c:45,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_linux.c:46,1
    - Dst: strerror
      Src: /src/hostap/src/crypto/crypto_linux.c:48,1
    - Dst: close
      Src: /src/hostap/src/crypto/crypto_linux.c:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - type
    - name
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 54
    functionName: linux_af_alg_socket
    functionSourceFile: /src/hostap/src/crypto/crypto_linux.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - TEST_FAIL
    - strerror
    - socket
    - os_strlcpy
    - close
    - bind
    - os_memset
    linkageType: ''
    returnType: int
    signature: int linux_af_alg_socket(const char *type, const char *name)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: linux_af_alg_socket
      Src: /src/hostap/src/crypto/crypto_linux.c:67,1
    - Dst: setsockopt
      Src: /src/hostap/src/crypto/crypto_linux.c:71,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_linux.c:72,1
    - Dst: strerror
      Src: /src/hostap/src/crypto/crypto_linux.c:73,1
    - Dst: close
      Src: /src/hostap/src/crypto/crypto_linux.c:74,1
    - Dst: accept
      Src: /src/hostap/src/crypto/crypto_linux.c:78,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_linux.c:80,1
    - Dst: strerror
      Src: /src/hostap/src/crypto/crypto_linux.c:81,1
    - Dst: close
      Src: /src/hostap/src/crypto/crypto_linux.c:82,1
    - Dst: send
      Src: /src/hostap/src/crypto/crypto_linux.c:87,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_linux.c:89,1
    - Dst: strerror
      Src: /src/hostap/src/crypto/crypto_linux.c:91,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_linux.c:95,1
    - Dst: recv
      Src: /src/hostap/src/crypto/crypto_linux.c:102,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_linux.c:104,1
    - Dst: strerror
      Src: /src/hostap/src/crypto/crypto_linux.c:106,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_linux.c:110,1
    - Dst: close
      Src: /src/hostap/src/crypto/crypto_linux.c:118,1
    - Dst: close
      Src: /src/hostap/src/crypto/crypto_linux.c:119,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 8
    argNames:
    - alg
    - key
    - key_len
    - num_elem
    - addr
    - len
    - mac
    - mac_len
    argTypes:
    - char*
    - u8*
    - size_t
    - size_t
    - u8*[]
    - size_t*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 122
    functionName: linux_af_alg_hash_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_linux.c
    functionUses: 0
    functionsReached:
    - linux_af_alg_socket
    - wpa_printf
    - strerror
    - send
    - setsockopt
    - recv
    - accept
    - close
    linkageType: ''
    returnType: int
    signature: "int linux_af_alg_hash_vector(const char *alg, const u8 *key,\n\t\t\t\t
      \   size_t key_len, size_t num_elem,\n\t\t\t\t    const u8 *addr[], const size_t
      *len,\n\t\t\t\t    u8 *mac, size_t mac_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: linux_af_alg_hash_vector
      Src: /src/hostap/src/crypto/crypto_linux.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 125
    functionDepth: 3
    functionLinenumber: 125
    functionLinenumberEnd: 129
    functionName: md4_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_linux.c
    functionUses: 3
    functionsReached:
    - linux_af_alg_hash_vector
    linkageType: ''
    returnType: int
    signature: int md4_vector(size_t num_elem, const u8 *addr[], const size_t *len,
      u8 *mac)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: linux_af_alg_hash_vector
      Src: /src/hostap/src/crypto/crypto_linux.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 3
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: md5_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_linux.c
    functionUses: 4
    functionsReached:
    - linux_af_alg_hash_vector
    linkageType: ''
    returnType: int
    signature: int md5_vector(size_t num_elem, const u8 *addr[], const size_t *len,
      u8 *mac)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: linux_af_alg_hash_vector
      Src: /src/hostap/src/crypto/crypto_linux.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 139
    functionDepth: 3
    functionLinenumber: 139
    functionLinenumberEnd: 144
    functionName: sha1_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_linux.c
    functionUses: 15
    functionsReached:
    - linux_af_alg_hash_vector
    linkageType: ''
    returnType: int
    signature: "int sha1_vector(size_t num_elem, const u8 *addr[], const size_t *len,\n\t\tu8
      *mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: linux_af_alg_hash_vector
      Src: /src/hostap/src/crypto/crypto_linux.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 147
    functionDepth: 3
    functionLinenumber: 147
    functionLinenumberEnd: 152
    functionName: sha256_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_linux.c
    functionUses: 12
    functionsReached:
    - linux_af_alg_hash_vector
    linkageType: ''
    returnType: int
    signature: "int sha256_vector(size_t num_elem, const u8 *addr[], const size_t
      *len,\n\t\t  u8 *mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: linux_af_alg_hash_vector
      Src: /src/hostap/src/crypto/crypto_linux.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 155
    functionDepth: 3
    functionLinenumber: 155
    functionLinenumberEnd: 160
    functionName: sha384_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_linux.c
    functionUses: 6
    functionsReached:
    - linux_af_alg_hash_vector
    linkageType: ''
    returnType: int
    signature: "int sha384_vector(size_t num_elem, const u8 *addr[], const size_t
      *len,\n\t\t  u8 *mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: linux_af_alg_hash_vector
      Src: /src/hostap/src/crypto/crypto_linux.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 163
    functionDepth: 3
    functionLinenumber: 163
    functionLinenumberEnd: 168
    functionName: sha512_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_linux.c
    functionUses: 5
    functionsReached:
    - linux_af_alg_hash_vector
    linkageType: ''
    returnType: int
    signature: "int sha512_vector(size_t num_elem, const u8 *addr[], const size_t
      *len,\n\t\t  u8 *mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: linux_af_alg_hash_vector
      Src: /src/hostap/src/crypto/crypto_linux.c:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - key
    - key_len
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - u8*
    - size_t
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 171
    functionDepth: 3
    functionLinenumber: 171
    functionLinenumberEnd: 176
    functionName: hmac_md5_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_linux.c
    functionUses: 2
    functionsReached:
    - linux_af_alg_hash_vector
    linkageType: ''
    returnType: int
    signature: "int hmac_md5_vector(const u8 *key, size_t key_len, size_t num_elem,\n\t\t
      \   const u8 *addr[], const size_t *len, u8 *mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_md5_vector
      Src: /src/hostap/src/crypto/crypto_linux.c:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - key
    - key_len
    - data
    - data_len
    - mac
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 183
    functionName: hmac_md5
    functionSourceFile: /src/hostap/src/crypto/crypto_linux.c
    functionUses: 1
    functionsReached:
    - hmac_md5_vector
    linkageType: ''
    returnType: int
    signature: "int hmac_md5(const u8 *key, size_t key_len, const u8 *data, size_t
      data_len,\n\t     u8 *mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: linux_af_alg_hash_vector
      Src: /src/hostap/src/crypto/crypto_linux.c:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - key
    - key_len
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - u8*
    - size_t
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 186
    functionDepth: 3
    functionLinenumber: 186
    functionLinenumberEnd: 191
    functionName: hmac_sha1_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_linux.c
    functionUses: 5
    functionsReached:
    - linux_af_alg_hash_vector
    linkageType: ''
    returnType: int
    signature: "int hmac_sha1_vector(const u8 *key, size_t key_len, size_t num_elem,\n\t\t
      \    const u8 *addr[], const size_t *len, u8 *mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_sha1_vector
      Src: /src/hostap/src/crypto/crypto_linux.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - key
    - key_len
    - data
    - data_len
    - mac
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 198
    functionName: hmac_sha1
    functionSourceFile: /src/hostap/src/crypto/crypto_linux.c
    functionUses: 7
    functionsReached:
    - hmac_sha1_vector
    linkageType: ''
    returnType: int
    signature: "int hmac_sha1(const u8 *key, size_t key_len, const u8 *data, size_t
      data_len,\n\t      u8 *mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: linux_af_alg_hash_vector
      Src: /src/hostap/src/crypto/crypto_linux.c:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - key
    - key_len
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - u8*
    - size_t
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 201
    functionDepth: 3
    functionLinenumber: 201
    functionLinenumberEnd: 206
    functionName: hmac_sha256_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_linux.c
    functionUses: 5
    functionsReached:
    - linux_af_alg_hash_vector
    linkageType: ''
    returnType: int
    signature: "int hmac_sha256_vector(const u8 *key, size_t key_len, size_t num_elem,\n\t\t
      \      const u8 *addr[], const size_t *len, u8 *mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_sha256_vector
      Src: /src/hostap/src/crypto/crypto_linux.c:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - key
    - key_len
    - data
    - data_len
    - mac
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 213
    functionName: hmac_sha256
    functionSourceFile: /src/hostap/src/crypto/crypto_linux.c
    functionUses: 7
    functionsReached:
    - hmac_sha256_vector
    linkageType: ''
    returnType: int
    signature: "int hmac_sha256(const u8 *key, size_t key_len, const u8 *data,\n\t\tsize_t
      data_len, u8 *mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: linux_af_alg_hash_vector
      Src: /src/hostap/src/crypto/crypto_linux.c:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - key
    - key_len
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - u8*
    - size_t
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 216
    functionDepth: 3
    functionLinenumber: 216
    functionLinenumberEnd: 221
    functionName: hmac_sha384_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_linux.c
    functionUses: 5
    functionsReached:
    - linux_af_alg_hash_vector
    linkageType: ''
    returnType: int
    signature: "int hmac_sha384_vector(const u8 *key, size_t key_len, size_t num_elem,\n\t\t
      \      const u8 *addr[], const size_t *len, u8 *mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_sha384_vector
      Src: /src/hostap/src/crypto/crypto_linux.c:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - key
    - key_len
    - data
    - data_len
    - mac
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 228
    functionName: hmac_sha384
    functionSourceFile: /src/hostap/src/crypto/crypto_linux.c
    functionUses: 3
    functionsReached:
    - hmac_sha384_vector
    linkageType: ''
    returnType: int
    signature: "int hmac_sha384(const u8 *key, size_t key_len, const u8 *data,\n\t\tsize_t
      data_len, u8 *mac)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/crypto/crypto_linux.c:245,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_linux.c:283,1
    - Dst: linux_af_alg_socket
      Src: /src/hostap/src/crypto/crypto_linux.c:287,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_linux.c:289,1
    - Dst: setsockopt
      Src: /src/hostap/src/crypto/crypto_linux.c:294,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_linux.c:295,1
    - Dst: strerror
      Src: /src/hostap/src/crypto/crypto_linux.c:296,1
    - Dst: close
      Src: /src/hostap/src/crypto/crypto_linux.c:297,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_linux.c:298,1
    - Dst: accept
      Src: /src/hostap/src/crypto/crypto_linux.c:302,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_linux.c:304,1
    - Dst: strerror
      Src: /src/hostap/src/crypto/crypto_linux.c:305,1
    - Dst: close
      Src: /src/hostap/src/crypto/crypto_linux.c:306,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_linux.c:307,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 60
    argCount: 3
    argNames:
    - alg
    - key
    - key_len
    argTypes:
    - enum crypto_hash_alg
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 312
    functionName: crypto_hash_init
    functionSourceFile: /src/hostap/src/crypto/crypto_linux.c
    functionUses: 0
    functionsReached:
    - linux_af_alg_socket
    - wpa_printf
    - strerror
    - setsockopt
    - accept
    - os_zalloc
    - close
    - os_free
    linkageType: ''
    returnType: struct crypto_hash
    signature: "struct crypto_hash * crypto_hash_init(enum crypto_hash_alg alg, const
      u8 *key,\n\t\t\t\t      size_t key_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: send
      Src: /src/hostap/src/crypto/crypto_linux.c:322,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_linux.c:324,1
    - Dst: strerror
      Src: /src/hostap/src/crypto/crypto_linux.c:326,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_linux.c:331,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - ctx
    - data
    - len
    argTypes:
    - struct crypto_hash*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 337
    functionName: crypto_hash_update
    functionSourceFile: /src/hostap/src/crypto/crypto_linux.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - strerror
    - send
    linkageType: ''
    returnType: void
    signature: void crypto_hash_update(struct crypto_hash *ctx, const u8 *data, size_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/hostap/src/crypto/crypto_linux.c:342,1
    - Dst: close
      Src: /src/hostap/src/crypto/crypto_linux.c:343,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_linux.c:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct crypto_hash*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 345
    functionName: crypto_hash_deinit
    functionSourceFile: /src/hostap/src/crypto/crypto_linux.c
    functionUses: 0
    functionsReached:
    - os_free
    - close
    linkageType: ''
    returnType: void
    signature: void crypto_hash_deinit(struct crypto_hash *ctx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: crypto_hash_deinit
      Src: /src/hostap/src/crypto/crypto_linux.c:356,1
    - Dst: crypto_hash_deinit
      Src: /src/hostap/src/crypto/crypto_linux.c:361,1
    - Dst: crypto_hash_deinit
      Src: /src/hostap/src/crypto/crypto_linux.c:367,1
    - Dst: recv
      Src: /src/hostap/src/crypto/crypto_linux.c:372,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_linux.c:374,1
    - Dst: strerror
      Src: /src/hostap/src/crypto/crypto_linux.c:376,1
    - Dst: crypto_hash_deinit
      Src: /src/hostap/src/crypto/crypto_linux.c:377,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_linux.c:381,1
    - Dst: crypto_hash_deinit
      Src: /src/hostap/src/crypto/crypto_linux.c:384,1
    - Dst: crypto_hash_deinit
      Src: /src/hostap/src/crypto/crypto_linux.c:388,1
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_linux.c:390,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 3
    argNames:
    - ctx
    - mac
    - len
    argTypes:
    - struct crypto_hash*
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 393
    functionName: crypto_hash_finish
    functionSourceFile: /src/hostap/src/crypto/crypto_linux.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - TEST_FAIL
    - strerror
    - recv
    - crypto_hash_deinit
    linkageType: ''
    returnType: int
    signature: int crypto_hash_finish(struct crypto_hash *ctx, u8 *mac, size_t *len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/hostap/src/crypto/crypto_linux.c:407,1
    - Dst: close
      Src: /src/hostap/src/crypto/crypto_linux.c:409,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_linux.c:410,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - skcipher
    argTypes:
    - struct linux_af_alg_skcipher*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 411
    functionName: linux_af_alg_skcipher_deinit
    functionSourceFile: /src/hostap/src/crypto/crypto_linux.c
    functionUses: 0
    functionsReached:
    - os_free
    - close
    linkageType: ''
    returnType: void
    signature: void linux_af_alg_skcipher_deinit(struct linux_af_alg_skcipher *skcipher)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/crypto/crypto_linux.c:419,1
    - Dst: linux_af_alg_socket
      Src: /src/hostap/src/crypto/crypto_linux.c:424,1
    - Dst: setsockopt
      Src: /src/hostap/src/crypto/crypto_linux.c:428,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_linux.c:429,1
    - Dst: strerror
      Src: /src/hostap/src/crypto/crypto_linux.c:430,1
    - Dst: accept
      Src: /src/hostap/src/crypto/crypto_linux.c:434,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_linux.c:436,1
    - Dst: strerror
      Src: /src/hostap/src/crypto/crypto_linux.c:437,1
    - Dst: linux_af_alg_skcipher_deinit
      Src: /src/hostap/src/crypto/crypto_linux.c:443,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - alg
    - key
    - key_len
    argTypes:
    - char*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 414
    functionDepth: 2
    functionLinenumber: 414
    functionLinenumberEnd: 445
    functionName: linux_af_alg_skcipher
    functionSourceFile: /src/hostap/src/crypto/crypto_linux.c
    functionUses: 0
    functionsReached:
    - linux_af_alg_socket
    - wpa_printf
    - strerror
    - setsockopt
    - accept
    - os_zalloc
    - linux_af_alg_skcipher_deinit
    linkageType: ''
    returnType: struct linux_af_alg_skcipher
    signature: 'struct linux_af_alg_skcipher *

      linux_af_alg_skcipher(const char *alg, const u8 *key, size_t key_len)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CMSG_SPACE
      Src: /src/hostap/src/crypto/crypto_linux.c:451,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/crypto_linux.c:460,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/crypto_linux.c:461,1
    - Dst: CMSG_SPACE
      Src: /src/hostap/src/crypto/crypto_linux.c:463,1
    - Dst: CMSG_FIRSTHDR
      Src: /src/hostap/src/crypto/crypto_linux.c:466,1
    - Dst: CMSG_LEN
      Src: /src/hostap/src/crypto/crypto_linux.c:469,1
    - Dst: CMSG_DATA
      Src: /src/hostap/src/crypto/crypto_linux.c:470,1
    - Dst: sendmsg
      Src: /src/hostap/src/crypto/crypto_linux.c:473,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_linux.c:475,1
    - Dst: strerror
      Src: /src/hostap/src/crypto/crypto_linux.c:476,1
    - Dst: read
      Src: /src/hostap/src/crypto/crypto_linux.c:480,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_linux.c:482,1
    - Dst: strerror
      Src: /src/hostap/src/crypto/crypto_linux.c:483,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_linux.c:487,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 4
    argNames:
    - skcipher
    - enc
    - in
    - out
    argTypes:
    - struct linux_af_alg_skcipher*
    - int
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 494
    functionName: linux_af_alg_skcipher_oper
    functionSourceFile: /src/hostap/src/crypto/crypto_linux.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - CMSG_SPACE
    - strerror
    - CMSG_FIRSTHDR
    - sendmsg
    - read
    - CMSG_DATA
    - CMSG_LEN
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int linux_af_alg_skcipher_oper(struct linux_af_alg_skcipher *skcipher,\n\t\t\t\t
      \     int enc, const u8 *in, u8 *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: linux_af_alg_skcipher
      Src: /src/hostap/src/crypto/crypto_linux.c:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - len
    argTypes:
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 497
    functionDepth: 3
    functionLinenumber: 497
    functionLinenumberEnd: 500
    functionName: aes_encrypt_init
    functionSourceFile: /src/hostap/src/crypto/crypto_linux.c
    functionUses: 9
    functionsReached:
    - linux_af_alg_skcipher
    linkageType: ''
    returnType: void
    signature: void * aes_encrypt_init(const u8 *key, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: linux_af_alg_skcipher_oper
      Src: /src/hostap/src/crypto/crypto_linux.c:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - plain
    - crypt
    argTypes:
    - void*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 508
    functionName: aes_encrypt
    functionSourceFile: /src/hostap/src/crypto/crypto_linux.c
    functionUses: 13
    functionsReached:
    - linux_af_alg_skcipher_oper
    linkageType: ''
    returnType: int
    signature: int aes_encrypt(void *ctx, const u8 *plain, u8 *crypt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: linux_af_alg_skcipher_deinit
      Src: /src/hostap/src/crypto/crypto_linux.c:513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 511
    functionDepth: 1
    functionLinenumber: 511
    functionLinenumberEnd: 514
    functionName: aes_encrypt_deinit
    functionSourceFile: /src/hostap/src/crypto/crypto_linux.c
    functionUses: 10
    functionsReached:
    - linux_af_alg_skcipher_deinit
    linkageType: ''
    returnType: void
    signature: void aes_encrypt_deinit(void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: linux_af_alg_skcipher
      Src: /src/hostap/src/crypto/crypto_linux.c:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - len
    argTypes:
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 517
    functionDepth: 3
    functionLinenumber: 517
    functionLinenumberEnd: 520
    functionName: aes_decrypt_init
    functionSourceFile: /src/hostap/src/crypto/crypto_linux.c
    functionUses: 2
    functionsReached:
    - linux_af_alg_skcipher
    linkageType: ''
    returnType: void
    signature: void * aes_decrypt_init(const u8 *key, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: linux_af_alg_skcipher_oper
      Src: /src/hostap/src/crypto/crypto_linux.c:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - crypt
    - plain
    argTypes:
    - void*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 523
    functionDepth: 1
    functionLinenumber: 523
    functionLinenumberEnd: 528
    functionName: aes_decrypt
    functionSourceFile: /src/hostap/src/crypto/crypto_linux.c
    functionUses: 2
    functionsReached:
    - linux_af_alg_skcipher_oper
    linkageType: ''
    returnType: int
    signature: int aes_decrypt(void *ctx, const u8 *crypt, u8 *plain)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: linux_af_alg_skcipher_deinit
      Src: /src/hostap/src/crypto/crypto_linux.c:533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 531
    functionDepth: 1
    functionLinenumber: 531
    functionLinenumberEnd: 534
    functionName: aes_decrypt_deinit
    functionSourceFile: /src/hostap/src/crypto/crypto_linux.c
    functionUses: 2
    functionsReached:
    - linux_af_alg_skcipher_deinit
    linkageType: ''
    returnType: void
    signature: void aes_decrypt_deinit(void *ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CMSG_SPACE
      Src: /src/hostap/src/crypto/crypto_linux.c:542,1
    - Dst: os_zalloc
      Src: /src/hostap/src/crypto/crypto_linux.c:549,1
    - Dst: linux_af_alg_skcipher
      Src: /src/hostap/src/crypto/crypto_linux.c:552,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_linux.c:554,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/crypto_linux.c:562,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/crypto_linux.c:563,1
    - Dst: CMSG_SPACE
      Src: /src/hostap/src/crypto/crypto_linux.c:565,1
    - Dst: CMSG_FIRSTHDR
      Src: /src/hostap/src/crypto/crypto_linux.c:568,1
    - Dst: CMSG_LEN
      Src: /src/hostap/src/crypto/crypto_linux.c:571,1
    - Dst: CMSG_DATA
      Src: /src/hostap/src/crypto/crypto_linux.c:572,1
    - Dst: sendmsg
      Src: /src/hostap/src/crypto/crypto_linux.c:575,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_linux.c:577,1
    - Dst: strerror
      Src: /src/hostap/src/crypto/crypto_linux.c:578,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_linux.c:579,1
    - Dst: linux_af_alg_skcipher_deinit
      Src: /src/hostap/src/crypto/crypto_linux.c:580,1
    - Dst: recvmsg
      Src: /src/hostap/src/crypto/crypto_linux.c:586,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_linux.c:588,1
    - Dst: strerror
      Src: /src/hostap/src/crypto/crypto_linux.c:589,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_linux.c:590,1
    - Dst: linux_af_alg_skcipher_deinit
      Src: /src/hostap/src/crypto/crypto_linux.c:591,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_linux.c:594,1
    - Dst: linux_af_alg_skcipher_deinit
      Src: /src/hostap/src/crypto/crypto_linux.c:595,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_linux.c:598,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 48
    argCount: 5
    argNames:
    - key
    - keylen
    - skip
    - data
    - data_len
    argTypes:
    - u8*
    - size_t
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 537
    functionDepth: 3
    functionLinenumber: 537
    functionLinenumberEnd: 605
    functionName: rc4_skip
    functionSourceFile: /src/hostap/src/crypto/crypto_linux.c
    functionUses: 5
    functionsReached:
    - wpa_printf
    - CMSG_SPACE
    - strerror
    - CMSG_FIRSTHDR
    - sendmsg
    - recvmsg
    - os_zalloc
    - CMSG_DATA
    - linux_af_alg_skcipher
    - os_free
    - CMSG_LEN
    - linux_af_alg_skcipher_deinit
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int rc4_skip(const u8 *key, size_t keylen, size_t skip,\n\t     u8
      *data, size_t data_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CMSG_SPACE
      Src: /src/hostap/src/crypto/crypto_linux.c:613,1
    - Dst: linux_af_alg_skcipher
      Src: /src/hostap/src/crypto/crypto_linux.c:630,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/crypto_linux.c:636,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/crypto_linux.c:637,1
    - Dst: CMSG_SPACE
      Src: /src/hostap/src/crypto/crypto_linux.c:639,1
    - Dst: CMSG_FIRSTHDR
      Src: /src/hostap/src/crypto/crypto_linux.c:642,1
    - Dst: CMSG_LEN
      Src: /src/hostap/src/crypto/crypto_linux.c:645,1
    - Dst: CMSG_DATA
      Src: /src/hostap/src/crypto/crypto_linux.c:646,1
    - Dst: sendmsg
      Src: /src/hostap/src/crypto/crypto_linux.c:649,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_linux.c:651,1
    - Dst: strerror
      Src: /src/hostap/src/crypto/crypto_linux.c:652,1
    - Dst: read
      Src: /src/hostap/src/crypto/crypto_linux.c:656,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_linux.c:658,1
    - Dst: strerror
      Src: /src/hostap/src/crypto/crypto_linux.c:659,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_linux.c:663,1
    - Dst: linux_af_alg_skcipher_deinit
      Src: /src/hostap/src/crypto/crypto_linux.c:671,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 48
    argCount: 3
    argNames:
    - clear
    - key
    - cypher
    argTypes:
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 608
    functionDepth: 3
    functionLinenumber: 608
    functionLinenumberEnd: 673
    functionName: des_encrypt
    functionSourceFile: /src/hostap/src/crypto/crypto_linux.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - CMSG_SPACE
    - strerror
    - CMSG_FIRSTHDR
    - sendmsg
    - read
    - CMSG_DATA
    - linux_af_alg_skcipher
    - CMSG_LEN
    - linux_af_alg_skcipher_deinit
    - os_memset
    linkageType: ''
    returnType: int
    signature: int des_encrypt(const u8 *clear, const u8 *key, u8 *cypher)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: linux_af_alg_skcipher
      Src: /src/hostap/src/crypto/crypto_linux.c:689,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/crypto_linux.c:695,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/crypto_linux.c:696,1
    - Dst: CMSG_SPACE
      Src: /src/hostap/src/crypto/crypto_linux.c:698,1
    - Dst: CMSG_SPACE
      Src: /src/hostap/src/crypto/crypto_linux.c:699,1
    - Dst: CMSG_FIRSTHDR
      Src: /src/hostap/src/crypto/crypto_linux.c:703,1
    - Dst: CMSG_LEN
      Src: /src/hostap/src/crypto/crypto_linux.c:706,1
    - Dst: CMSG_DATA
      Src: /src/hostap/src/crypto/crypto_linux.c:707,1
    - Dst: CMSG_NXTHDR
      Src: /src/hostap/src/crypto/crypto_linux.c:710,1
    - Dst: CMSG_SPACE
      Src: /src/hostap/src/crypto/crypto_linux.c:713,1
    - Dst: CMSG_DATA
      Src: /src/hostap/src/crypto/crypto_linux.c:714,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/crypto_linux.c:716,1
    - Dst: sendmsg
      Src: /src/hostap/src/crypto/crypto_linux.c:718,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_linux.c:720,1
    - Dst: strerror
      Src: /src/hostap/src/crypto/crypto_linux.c:721,1
    - Dst: linux_af_alg_skcipher_deinit
      Src: /src/hostap/src/crypto/crypto_linux.c:722,1
    - Dst: recvmsg
      Src: /src/hostap/src/crypto/crypto_linux.c:726,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_linux.c:728,1
    - Dst: strerror
      Src: /src/hostap/src/crypto/crypto_linux.c:729,1
    - Dst: linux_af_alg_skcipher_deinit
      Src: /src/hostap/src/crypto/crypto_linux.c:730,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_linux.c:734,1
    - Dst: linux_af_alg_skcipher_deinit
      Src: /src/hostap/src/crypto/crypto_linux.c:737,1
    - Dst: linux_af_alg_skcipher_deinit
      Src: /src/hostap/src/crypto/crypto_linux.c:741,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 44
    argCount: 5
    argNames:
    - key
    - enc
    - iv
    - data
    - data_len
    argTypes:
    - u8*
    - int
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 676
    functionDepth: 3
    functionLinenumber: 676
    functionLinenumberEnd: 743
    functionName: aes_128_cbc_oper
    functionSourceFile: /src/hostap/src/crypto/crypto_linux.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_printf
    - CMSG_SPACE
    - strerror
    - CMSG_FIRSTHDR
    - sendmsg
    - CMSG_NXTHDR
    - recvmsg
    - CMSG_DATA
    - linux_af_alg_skcipher
    - CMSG_LEN
    - linux_af_alg_skcipher_deinit
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int aes_128_cbc_oper(const u8 *key, int enc, const u8 *iv,\n\t\t\t
      \   u8 *data, size_t data_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aes_128_cbc_oper
      Src: /src/hostap/src/crypto/crypto_linux.c:748,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - key
    - iv
    - data
    - data_len
    argTypes:
    - u8*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 746
    functionDepth: 4
    functionLinenumber: 746
    functionLinenumberEnd: 749
    functionName: aes_128_cbc_encrypt
    functionSourceFile: /src/hostap/src/crypto/crypto_linux.c
    functionUses: 1
    functionsReached:
    - aes_128_cbc_oper
    linkageType: ''
    returnType: int
    signature: int aes_128_cbc_encrypt(const u8 *key, const u8 *iv, u8 *data, size_t
      data_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aes_128_cbc_oper
      Src: /src/hostap/src/crypto/crypto_linux.c:754,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - key
    - iv
    - data
    - data_len
    argTypes:
    - u8*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 752
    functionDepth: 4
    functionLinenumber: 752
    functionLinenumberEnd: 755
    functionName: aes_128_cbc_decrypt
    functionSourceFile: /src/hostap/src/crypto/crypto_linux.c
    functionUses: 1
    functionsReached:
    - aes_128_cbc_oper
    linkageType: ''
    returnType: int
    signature: int aes_128_cbc_decrypt(const u8 *key, const u8 *iv, u8 *data, size_t
      data_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: linux_af_alg_hash_vector
      Src: /src/hostap/src/crypto/crypto_linux.c:761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - key
    - key_len
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - u8*
    - size_t
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 758
    functionDepth: 3
    functionLinenumber: 758
    functionLinenumberEnd: 763
    functionName: omac1_aes_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_linux.c
    functionUses: 2
    functionsReached:
    - linux_af_alg_hash_vector
    linkageType: ''
    returnType: int
    signature: "int omac1_aes_vector(const u8 *key, size_t key_len, size_t num_elem,\n\t\t
      \    const u8 *addr[], const size_t *len, u8 *mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: omac1_aes_vector
      Src: /src/hostap/src/crypto/crypto_linux.c:769,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - key
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - u8*
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 770
    functionName: omac1_aes_128_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_linux.c
    functionUses: 2
    functionsReached:
    - omac1_aes_vector
    linkageType: ''
    returnType: int
    signature: "int omac1_aes_128_vector(const u8 *key, size_t num_elem,\n\t\t\t const
      u8 *addr[], const size_t *len, u8 *mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: omac1_aes_128_vector
      Src: /src/hostap/src/crypto/crypto_linux.c:775,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - key
    - data
    - data_len
    - mac
    argTypes:
    - u8*
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 776
    functionName: omac1_aes_128
    functionSourceFile: /src/hostap/src/crypto/crypto_linux.c
    functionUses: 10
    functionsReached:
    - omac1_aes_128_vector
    linkageType: ''
    returnType: int
    signature: int omac1_aes_128(const u8 *key, const u8 *data, size_t data_len, u8
      *mac)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: omac1_aes_vector
      Src: /src/hostap/src/crypto/crypto_linux.c:781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - key
    - data
    - data_len
    - mac
    argTypes:
    - u8*
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 782
    functionName: omac1_aes_256
    functionSourceFile: /src/hostap/src/crypto/crypto_linux.c
    functionUses: 1
    functionsReached:
    - omac1_aes_vector
    linkageType: ''
    returnType: int
    signature: int omac1_aes_256(const u8 *key, const u8 *data, size_t data_len, u8
      *mac)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: linux_af_alg_skcipher
      Src: /src/hostap/src/crypto/crypto_linux.c:798,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/crypto_linux.c:804,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/crypto_linux.c:805,1
    - Dst: CMSG_SPACE
      Src: /src/hostap/src/crypto/crypto_linux.c:807,1
    - Dst: CMSG_SPACE
      Src: /src/hostap/src/crypto/crypto_linux.c:808,1
    - Dst: CMSG_FIRSTHDR
      Src: /src/hostap/src/crypto/crypto_linux.c:812,1
    - Dst: CMSG_LEN
      Src: /src/hostap/src/crypto/crypto_linux.c:815,1
    - Dst: CMSG_DATA
      Src: /src/hostap/src/crypto/crypto_linux.c:816,1
    - Dst: CMSG_NXTHDR
      Src: /src/hostap/src/crypto/crypto_linux.c:819,1
    - Dst: CMSG_SPACE
      Src: /src/hostap/src/crypto/crypto_linux.c:822,1
    - Dst: CMSG_DATA
      Src: /src/hostap/src/crypto/crypto_linux.c:823,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/crypto_linux.c:825,1
    - Dst: sendmsg
      Src: /src/hostap/src/crypto/crypto_linux.c:827,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_linux.c:829,1
    - Dst: strerror
      Src: /src/hostap/src/crypto/crypto_linux.c:830,1
    - Dst: read
      Src: /src/hostap/src/crypto/crypto_linux.c:834,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_linux.c:836,1
    - Dst: strerror
      Src: /src/hostap/src/crypto/crypto_linux.c:837,1
    - Dst: linux_af_alg_skcipher_deinit
      Src: /src/hostap/src/crypto/crypto_linux.c:838,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_linux.c:842,1
    - Dst: linux_af_alg_skcipher_deinit
      Src: /src/hostap/src/crypto/crypto_linux.c:845,1
    - Dst: linux_af_alg_skcipher_deinit
      Src: /src/hostap/src/crypto/crypto_linux.c:849,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 43
    argCount: 5
    argNames:
    - kek
    - kek_len
    - n
    - cipher
    - plain
    argTypes:
    - u8*
    - size_t
    - int
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 785
    functionDepth: 3
    functionLinenumber: 785
    functionLinenumberEnd: 851
    functionName: aes_unwrap
    functionSourceFile: /src/hostap/src/crypto/crypto_linux.c
    functionUses: 6
    functionsReached:
    - os_memcpy
    - wpa_printf
    - CMSG_SPACE
    - strerror
    - CMSG_FIRSTHDR
    - sendmsg
    - CMSG_NXTHDR
    - read
    - CMSG_DATA
    - linux_af_alg_skcipher
    - CMSG_LEN
    - linux_af_alg_skcipher_deinit
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int aes_unwrap(const u8 *kek, size_t kek_len, int n, const u8 *cipher,\n\t
      \      u8 *plain)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/crypto/crypto_linux.c:872,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_linux.c:893,1
    - Dst: linux_af_alg_skcipher
      Src: /src/hostap/src/crypto/crypto_linux.c:897,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_linux.c:899,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/crypto_linux.c:904,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/crypto_linux.c:905,1
    - Dst: CMSG_SPACE
      Src: /src/hostap/src/crypto/crypto_linux.c:907,1
    - Dst: CMSG_FIRSTHDR
      Src: /src/hostap/src/crypto/crypto_linux.c:908,1
    - Dst: CMSG_SPACE
      Src: /src/hostap/src/crypto/crypto_linux.c:911,1
    - Dst: CMSG_DATA
      Src: /src/hostap/src/crypto/crypto_linux.c:912,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/crypto_linux.c:914,1
    - Dst: sendmsg
      Src: /src/hostap/src/crypto/crypto_linux.c:916,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_linux.c:918,1
    - Dst: strerror
      Src: /src/hostap/src/crypto/crypto_linux.c:919,1
    - Dst: linux_af_alg_skcipher_deinit
      Src: /src/hostap/src/crypto/crypto_linux.c:920,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_linux.c:921,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 50
    argCount: 4
    argNames:
    - alg
    - iv
    - key
    - key_len
    argTypes:
    - enum crypto_cipher_alg
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 859
    functionDepth: 3
    functionLinenumber: 859
    functionLinenumberEnd: 927
    functionName: crypto_cipher_init
    functionSourceFile: /src/hostap/src/crypto/crypto_linux.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_printf
    - CMSG_SPACE
    - strerror
    - CMSG_FIRSTHDR
    - sendmsg
    - os_zalloc
    - CMSG_DATA
    - linux_af_alg_skcipher
    - os_free
    - linux_af_alg_skcipher_deinit
    - os_memset
    linkageType: ''
    returnType: struct crypto_cipher
    signature: "struct crypto_cipher * crypto_cipher_init(enum crypto_cipher_alg alg,\n\t\t\t\t\t
      \ const u8 *iv, const u8 *key,\n\t\t\t\t\t  size_t key_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CMSG_SPACE
      Src: /src/hostap/src/crypto/crypto_linux.c:933,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/crypto_linux.c:942,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/crypto_linux.c:943,1
    - Dst: CMSG_SPACE
      Src: /src/hostap/src/crypto/crypto_linux.c:945,1
    - Dst: CMSG_FIRSTHDR
      Src: /src/hostap/src/crypto/crypto_linux.c:948,1
    - Dst: CMSG_LEN
      Src: /src/hostap/src/crypto/crypto_linux.c:951,1
    - Dst: CMSG_DATA
      Src: /src/hostap/src/crypto/crypto_linux.c:952,1
    - Dst: sendmsg
      Src: /src/hostap/src/crypto/crypto_linux.c:955,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_linux.c:957,1
    - Dst: strerror
      Src: /src/hostap/src/crypto/crypto_linux.c:958,1
    - Dst: read
      Src: /src/hostap/src/crypto/crypto_linux.c:962,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_linux.c:964,1
    - Dst: strerror
      Src: /src/hostap/src/crypto/crypto_linux.c:965,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_linux.c:969,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 5
    argNames:
    - ctx
    - type
    - in
    - out
    - len
    argTypes:
    - struct crypto_cipher*
    - u32
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 976
      start: 930
    functionDepth: 0
    functionLinenumber: 930
    functionLinenumberEnd: 976
    functionName: crypto_cipher_oper
    functionSourceFile: /src/hostap/src/crypto/crypto_linux.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - CMSG_SPACE
    - strerror
    - CMSG_FIRSTHDR
    - sendmsg
    - read
    - CMSG_DATA
    - CMSG_LEN
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int crypto_cipher_oper(struct crypto_cipher *ctx, u32 type, const
      u8 *in,\n\t\t\t      u8 *out, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_cipher_oper
      Src: /src/hostap/src/crypto/crypto_linux.c:982,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - plain
    - crypt
    - len
    argTypes:
    - struct crypto_cipher*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 979
    functionDepth: 1
    functionLinenumber: 979
    functionLinenumberEnd: 983
    functionName: crypto_cipher_encrypt
    functionSourceFile: /src/hostap/src/crypto/crypto_linux.c
    functionUses: 0
    functionsReached:
    - crypto_cipher_oper
    linkageType: ''
    returnType: int
    signature: "int crypto_cipher_encrypt(struct crypto_cipher *ctx, const u8 *plain,\n\t\t\t
      \ u8 *crypt, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_cipher_oper
      Src: /src/hostap/src/crypto/crypto_linux.c:989,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - crypt
    - plain
    - len
    argTypes:
    - struct crypto_cipher*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 986
    functionDepth: 1
    functionLinenumber: 986
    functionLinenumberEnd: 990
    functionName: crypto_cipher_decrypt
    functionSourceFile: /src/hostap/src/crypto/crypto_linux.c
    functionUses: 0
    functionsReached:
    - crypto_cipher_oper
    linkageType: ''
    returnType: int
    signature: "int crypto_cipher_decrypt(struct crypto_cipher *ctx, const u8 *crypt,\n\t\t\t
      \ u8 *plain, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: linux_af_alg_skcipher_deinit
      Src: /src/hostap/src/crypto/crypto_linux.c:996,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_linux.c:997,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct crypto_cipher*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 999
      start: 993
    functionDepth: 1
    functionLinenumber: 993
    functionLinenumberEnd: 999
    functionName: crypto_cipher_deinit
    functionSourceFile: /src/hostap/src/crypto/crypto_linux.c
    functionUses: 0
    functionsReached:
    - os_free
    - linux_af_alg_skcipher_deinit
    linkageType: ''
    returnType: void
    signature: void crypto_cipher_deinit(struct crypto_cipher *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 1002
    functionDepth: 0
    functionLinenumber: 1002
    functionLinenumberEnd: 1005
    functionName: crypto_global_init
    functionSourceFile: /src/hostap/src/crypto/crypto_linux.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int crypto_global_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 1008
    functionDepth: 0
    functionLinenumber: 1008
    functionLinenumberEnd: 1010
    functionName: crypto_global_deinit
    functionSourceFile: /src/hostap/src/crypto/crypto_linux.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void crypto_global_deinit(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 1013
    functionDepth: 0
    functionLinenumber: 1013
    functionLinenumberEnd: 1015
    functionName: crypto_unload
    functionSourceFile: /src/hostap/src/crypto/crypto_linux.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void crypto_unload(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/sha1-internal.c:36,1
    - Dst: SHA1Init
      Src: /src/hostap/src/crypto/sha1-internal.c:39,1
    - Dst: SHA1Update
      Src: /src/hostap/src/crypto/sha1-internal.c:41,1
    - Dst: SHA1Final
      Src: /src/hostap/src/crypto/sha1-internal.c:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 44
    functionName: sha1_vector
    functionSourceFile: /src/hostap/src/crypto/sha1-internal.c
    functionUses: 16
    functionsReached:
    - SHA1Update
    - TEST_FAIL
    - SHA1Final
    - SHA1Init
    linkageType: ''
    returnType: int
    signature: int sha1_vector(size_t num_elem, const u8 *addr[], const size_t *len,
      u8 *mac)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - value
    - ','
    - bits
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 131
    functionName: rol
    functionSourceFile: /src/hostap/src/crypto/sha1-internal.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rol(value, bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 137
    functionName: blk0
    functionSourceFile: /src/hostap/src/crypto/sha1-internal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: blk0(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 139
    functionName: blk0
    functionSourceFile: /src/hostap/src/crypto/sha1-internal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: blk0(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 142
    functionName: blk
    functionSourceFile: /src/hostap/src/crypto/sha1-internal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: blk(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - v
    - ','
    - w
    - ','
    - x
    - ','
    - y
    - ','
    - z
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: R0
    functionSourceFile: /src/hostap/src/crypto/sha1-internal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: R0(v,w,x,y,z,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - v
    - ','
    - w
    - ','
    - x
    - ','
    - y
    - ','
    - z
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: R1
    functionSourceFile: /src/hostap/src/crypto/sha1-internal.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: R1(v,w,x,y,z,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - v
    - ','
    - w
    - ','
    - x
    - ','
    - y
    - ','
    - z
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 152
    functionName: R2
    functionSourceFile: /src/hostap/src/crypto/sha1-internal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: R2(v,w,x,y,z,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - v
    - ','
    - w
    - ','
    - x
    - ','
    - y
    - ','
    - z
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: R3
    functionSourceFile: /src/hostap/src/crypto/sha1-internal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: R3(v,w,x,y,z,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - v
    - ','
    - w
    - ','
    - x
    - ','
    - y
    - ','
    - z
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 158
    functionName: R4
    functionSourceFile: /src/hostap/src/crypto/sha1-internal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: R4(v,w,x,y,z,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/src/crypto/sha1-internal.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - context
    - msg
    argTypes:
    - SHA1_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 171
    functionName: SHAPrintContext
    functionSourceFile: /src/hostap/src/crypto/sha1-internal.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void SHAPrintContext(SHA1_CTX *context, char *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/sha1-internal.c:187,1
    - Dst: R0
      Src: /src/hostap/src/crypto/sha1-internal.c:198,1
    - Dst: R0
      Src: /src/hostap/src/crypto/sha1-internal.c:198,1
    - Dst: R0
      Src: /src/hostap/src/crypto/sha1-internal.c:198,1
    - Dst: R0
      Src: /src/hostap/src/crypto/sha1-internal.c:198,1
    - Dst: R0
      Src: /src/hostap/src/crypto/sha1-internal.c:199,1
    - Dst: R0
      Src: /src/hostap/src/crypto/sha1-internal.c:199,1
    - Dst: R0
      Src: /src/hostap/src/crypto/sha1-internal.c:199,1
    - Dst: R0
      Src: /src/hostap/src/crypto/sha1-internal.c:199,1
    - Dst: R0
      Src: /src/hostap/src/crypto/sha1-internal.c:200,1
    - Dst: R0
      Src: /src/hostap/src/crypto/sha1-internal.c:200,1
    - Dst: R0
      Src: /src/hostap/src/crypto/sha1-internal.c:200,1
    - Dst: R0
      Src: /src/hostap/src/crypto/sha1-internal.c:200,1
    - Dst: R0
      Src: /src/hostap/src/crypto/sha1-internal.c:201,1
    - Dst: R0
      Src: /src/hostap/src/crypto/sha1-internal.c:201,1
    - Dst: R0
      Src: /src/hostap/src/crypto/sha1-internal.c:201,1
    - Dst: R0
      Src: /src/hostap/src/crypto/sha1-internal.c:201,1
    - Dst: R1
      Src: /src/hostap/src/crypto/sha1-internal.c:202,1
    - Dst: R1
      Src: /src/hostap/src/crypto/sha1-internal.c:202,1
    - Dst: R1
      Src: /src/hostap/src/crypto/sha1-internal.c:202,1
    - Dst: R1
      Src: /src/hostap/src/crypto/sha1-internal.c:202,1
    - Dst: R2
      Src: /src/hostap/src/crypto/sha1-internal.c:203,1
    - Dst: R2
      Src: /src/hostap/src/crypto/sha1-internal.c:203,1
    - Dst: R2
      Src: /src/hostap/src/crypto/sha1-internal.c:203,1
    - Dst: R2
      Src: /src/hostap/src/crypto/sha1-internal.c:203,1
    - Dst: R2
      Src: /src/hostap/src/crypto/sha1-internal.c:204,1
    - Dst: R2
      Src: /src/hostap/src/crypto/sha1-internal.c:204,1
    - Dst: R2
      Src: /src/hostap/src/crypto/sha1-internal.c:204,1
    - Dst: R2
      Src: /src/hostap/src/crypto/sha1-internal.c:204,1
    - Dst: R2
      Src: /src/hostap/src/crypto/sha1-internal.c:205,1
    - Dst: R2
      Src: /src/hostap/src/crypto/sha1-internal.c:205,1
    - Dst: R2
      Src: /src/hostap/src/crypto/sha1-internal.c:205,1
    - Dst: R2
      Src: /src/hostap/src/crypto/sha1-internal.c:205,1
    - Dst: R2
      Src: /src/hostap/src/crypto/sha1-internal.c:206,1
    - Dst: R2
      Src: /src/hostap/src/crypto/sha1-internal.c:206,1
    - Dst: R2
      Src: /src/hostap/src/crypto/sha1-internal.c:206,1
    - Dst: R2
      Src: /src/hostap/src/crypto/sha1-internal.c:206,1
    - Dst: R2
      Src: /src/hostap/src/crypto/sha1-internal.c:207,1
    - Dst: R2
      Src: /src/hostap/src/crypto/sha1-internal.c:207,1
    - Dst: R2
      Src: /src/hostap/src/crypto/sha1-internal.c:207,1
    - Dst: R2
      Src: /src/hostap/src/crypto/sha1-internal.c:207,1
    - Dst: R3
      Src: /src/hostap/src/crypto/sha1-internal.c:208,1
    - Dst: R3
      Src: /src/hostap/src/crypto/sha1-internal.c:208,1
    - Dst: R3
      Src: /src/hostap/src/crypto/sha1-internal.c:208,1
    - Dst: R3
      Src: /src/hostap/src/crypto/sha1-internal.c:208,1
    - Dst: R3
      Src: /src/hostap/src/crypto/sha1-internal.c:209,1
    - Dst: R3
      Src: /src/hostap/src/crypto/sha1-internal.c:209,1
    - Dst: R3
      Src: /src/hostap/src/crypto/sha1-internal.c:209,1
    - Dst: R3
      Src: /src/hostap/src/crypto/sha1-internal.c:209,1
    - Dst: R3
      Src: /src/hostap/src/crypto/sha1-internal.c:210,1
    - Dst: R3
      Src: /src/hostap/src/crypto/sha1-internal.c:210,1
    - Dst: R3
      Src: /src/hostap/src/crypto/sha1-internal.c:210,1
    - Dst: R3
      Src: /src/hostap/src/crypto/sha1-internal.c:210,1
    - Dst: R3
      Src: /src/hostap/src/crypto/sha1-internal.c:211,1
    - Dst: R3
      Src: /src/hostap/src/crypto/sha1-internal.c:211,1
    - Dst: R3
      Src: /src/hostap/src/crypto/sha1-internal.c:211,1
    - Dst: R3
      Src: /src/hostap/src/crypto/sha1-internal.c:211,1
    - Dst: R3
      Src: /src/hostap/src/crypto/sha1-internal.c:212,1
    - Dst: R3
      Src: /src/hostap/src/crypto/sha1-internal.c:212,1
    - Dst: R3
      Src: /src/hostap/src/crypto/sha1-internal.c:212,1
    - Dst: R3
      Src: /src/hostap/src/crypto/sha1-internal.c:212,1
    - Dst: R4
      Src: /src/hostap/src/crypto/sha1-internal.c:213,1
    - Dst: R4
      Src: /src/hostap/src/crypto/sha1-internal.c:213,1
    - Dst: R4
      Src: /src/hostap/src/crypto/sha1-internal.c:213,1
    - Dst: R4
      Src: /src/hostap/src/crypto/sha1-internal.c:213,1
    - Dst: R4
      Src: /src/hostap/src/crypto/sha1-internal.c:214,1
    - Dst: R4
      Src: /src/hostap/src/crypto/sha1-internal.c:214,1
    - Dst: R4
      Src: /src/hostap/src/crypto/sha1-internal.c:214,1
    - Dst: R4
      Src: /src/hostap/src/crypto/sha1-internal.c:214,1
    - Dst: R4
      Src: /src/hostap/src/crypto/sha1-internal.c:215,1
    - Dst: R4
      Src: /src/hostap/src/crypto/sha1-internal.c:215,1
    - Dst: R4
      Src: /src/hostap/src/crypto/sha1-internal.c:215,1
    - Dst: R4
      Src: /src/hostap/src/crypto/sha1-internal.c:215,1
    - Dst: R4
      Src: /src/hostap/src/crypto/sha1-internal.c:216,1
    - Dst: R4
      Src: /src/hostap/src/crypto/sha1-internal.c:216,1
    - Dst: R4
      Src: /src/hostap/src/crypto/sha1-internal.c:216,1
    - Dst: R4
      Src: /src/hostap/src/crypto/sha1-internal.c:216,1
    - Dst: R4
      Src: /src/hostap/src/crypto/sha1-internal.c:217,1
    - Dst: R4
      Src: /src/hostap/src/crypto/sha1-internal.c:217,1
    - Dst: R4
      Src: /src/hostap/src/crypto/sha1-internal.c:217,1
    - Dst: R4
      Src: /src/hostap/src/crypto/sha1-internal.c:217,1
    - Dst: forced_memzero
      Src: /src/hostap/src/crypto/sha1-internal.c:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 96
    argCount: 2
    argNames:
    - state
    - buffer
    argTypes:
    - u32[]
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 229
    functionName: SHA1Transform
    functionSourceFile: /src/hostap/src/crypto/sha1-internal.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    - forced_memzero
    - R3
    - R1
    - R2
    - R0
    - R4
    linkageType: ''
    returnType: void
    signature: void SHA1Transform(u32 state[5], const unsigned char buffer[64])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - context
    argTypes:
    - SHA1_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 243
    functionName: SHA1Init
    functionSourceFile: /src/hostap/src/crypto/sha1-internal.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SHA1Init(SHA1_CTX* context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SHAPrintContext
      Src: /src/hostap/src/crypto/sha1-internal.c:254,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/sha1-internal.c:261,1
    - Dst: SHA1Transform
      Src: /src/hostap/src/crypto/sha1-internal.c:262,1
    - Dst: SHA1Transform
      Src: /src/hostap/src/crypto/sha1-internal.c:264,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/sha1-internal.c:269,1
    - Dst: SHAPrintContext
      Src: /src/hostap/src/crypto/sha1-internal.c:271,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - context
    - _data
    - len
    argTypes:
    - SHA1_CTX*
    - void*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 248
    functionDepth: 2
    functionLinenumber: 248
    functionLinenumberEnd: 273
    functionName: SHA1Update
    functionSourceFile: /src/hostap/src/crypto/sha1-internal.c
    functionUses: 4
    functionsReached:
    - SHAPrintContext
    - os_memcpy
    - SHA1Transform
    linkageType: ''
    returnType: void
    signature: void SHA1Update(SHA1_CTX* context, const void *_data, u32 len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SHA1Update
      Src: /src/hostap/src/crypto/sha1-internal.c:288,1
    - Dst: SHA1Update
      Src: /src/hostap/src/crypto/sha1-internal.c:290,1
    - Dst: SHA1Update
      Src: /src/hostap/src/crypto/sha1-internal.c:292,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/sha1-internal.c:300,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/sha1-internal.c:301,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/sha1-internal.c:302,1
    - Dst: forced_memzero
      Src: /src/hostap/src/crypto/sha1-internal.c:303,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - digest
    - context
    argTypes:
    - unsigned char[]
    - SHA1_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 278
    functionDepth: 3
    functionLinenumber: 278
    functionLinenumberEnd: 304
    functionName: SHA1Final
    functionSourceFile: /src/hostap/src/crypto/sha1-internal.c
    functionUses: 3
    functionsReached:
    - forced_memzero
    - SHA1Update
    - os_memset
    linkageType: ''
    returnType: void
    signature: void SHA1Final(unsigned char digest[20], SHA1_CTX* context)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pad
    argTypes:
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 30
    functionName: dbl
    functionSourceFile: /src/hostap/src/crypto/aes-siv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dbl(u8 *pad)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 39
    functionName: xor
    functionSourceFile: /src/hostap/src/crypto/aes-siv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void xor(u8 *a, const u8 *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - a
    - alen
    - b
    - blen
    argTypes:
    - u8*
    - int
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 51
    functionName: xorend
    functionSourceFile: /src/hostap/src/crypto/aes-siv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void xorend(u8 *a, int alen, const u8 *b, int blen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/crypto/aes-siv.c:56,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/aes-siv.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pad
    - addr
    - len
    argTypes:
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: pad_block
    functionSourceFile: /src/hostap/src/crypto/aes-siv.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - os_memset
    linkageType: ''
    returnType: void
    signature: void pad_block(u8 *pad, const u8 *addr, size_t len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/aes-siv.c:75,1
    - Dst: omac1_aes_vector
      Src: /src/hostap/src/crypto/aes-siv.c:79,1
    - Dst: omac1_aes_vector
      Src: /src/hostap/src/crypto/aes-siv.c:84,1
    - Dst: omac1_aes_vector
      Src: /src/hostap/src/crypto/aes-siv.c:89,1
    - Dst: dbl
      Src: /src/hostap/src/crypto/aes-siv.c:94,1
    - Dst: xor
      Src: /src/hostap/src/crypto/aes-siv.c:95,1
    - Dst: os_memdup
      Src: /src/hostap/src/crypto/aes-siv.c:98,1
    - Dst: xorend
      Src: /src/hostap/src/crypto/aes-siv.c:102,1
    - Dst: omac1_aes_vector
      Src: /src/hostap/src/crypto/aes-siv.c:104,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/crypto/aes-siv.c:105,1
    - Dst: dbl
      Src: /src/hostap/src/crypto/aes-siv.c:109,1
    - Dst: pad_block
      Src: /src/hostap/src/crypto/aes-siv.c:110,1
    - Dst: xor
      Src: /src/hostap/src/crypto/aes-siv.c:111,1
    - Dst: omac1_aes_vector
      Src: /src/hostap/src/crypto/aes-siv.c:115,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 6
    argNames:
    - key
    - key_len
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - u8*
    - size_t
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 116
    functionName: aes_s2v
    functionSourceFile: /src/hostap/src/crypto/aes-siv.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - omac1_aes_vector
    - xor
    - os_memdup
    - xorend
    - pad_block
    - dbl
    - bin_clear_free
    linkageType: ''
    returnType: int
    signature: "int aes_s2v(const u8 *key, size_t key_len,\n\t\t   size_t num_elem,
      const u8 *addr[], size_t *len, u8 *mac)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/crypto/aes-siv.c:131,1
    - Dst: aes_s2v
      Src: /src/hostap/src/crypto/aes-siv.c:146,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/aes-siv.c:152,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/aes-siv.c:153,1
    - Dst: aes_ctr_encrypt
      Src: /src/hostap/src/crypto/aes-siv.c:158,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 8
    argNames:
    - key
    - key_len
    - pw
    - pwlen
    - num_elem
    - addr
    - len
    - out
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 159
    functionName: aes_siv_encrypt
    functionSourceFile: /src/hostap/src/crypto/aes-siv.c
    functionUses: 2
    functionsReached:
    - aes_ctr_encrypt
    - aes_s2v
    - os_memcpy
    - ARRAY_SIZE
    linkageType: ''
    returnType: int
    signature: "int aes_siv_encrypt(const u8 *key, size_t key_len,\n\t\t    const
      u8 *pw, size_t pwlen,\n\t\t    size_t num_elem, const u8 *addr[], const size_t
      *len,\n\t\t    u8 *out)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/crypto/aes-siv.c:176,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/aes-siv.c:191,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/aes-siv.c:192,1
    - Dst: aes_ctr_encrypt
      Src: /src/hostap/src/crypto/aes-siv.c:197,1
    - Dst: aes_s2v
      Src: /src/hostap/src/crypto/aes-siv.c:201,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/aes-siv.c:204,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 8
    argNames:
    - key
    - key_len
    - iv_crypt
    - iv_c_len
    - num_elem
    - addr
    - len
    - out
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 162
    functionDepth: 2
    functionLinenumber: 162
    functionLinenumberEnd: 208
    functionName: aes_siv_decrypt
    functionSourceFile: /src/hostap/src/crypto/aes-siv.c
    functionUses: 4
    functionsReached:
    - os_memcpy
    - aes_ctr_encrypt
    - aes_s2v
    - os_memcmp
    - ARRAY_SIZE
    linkageType: ''
    returnType: int
    signature: "int aes_siv_decrypt(const u8 *key, size_t key_len,\n\t\t    const
      u8 *iv_crypt, size_t iv_c_len,\n\t\t    size_t num_elem, const u8 *addr[], const
      size_t *len,\n\t\t    u8 *out)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/crypto/sha256-kdf.c:46,1
    - Dst: hmac_sha256_vector
      Src: /src/hostap/src/crypto/sha256-kdf.c:56,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/sha256-kdf.c:64,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/sha256-kdf.c:71,1
    - Dst: forced_memzero
      Src: /src/hostap/src/crypto/sha256-kdf.c:72,1
    - Dst: hmac_sha256_vector
      Src: /src/hostap/src/crypto/sha256-kdf.c:77,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/sha256-kdf.c:79,1
    - Dst: forced_memzero
      Src: /src/hostap/src/crypto/sha256-kdf.c:80,1
    - Dst: forced_memzero
      Src: /src/hostap/src/crypto/sha256-kdf.c:85,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 7
    argNames:
    - secret
    - secret_len
    - label
    - seed
    - seed_len
    - out
    - outlen
    argTypes:
    - u8*
    - size_t
    - char*
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 87
    functionName: hmac_sha256_kdf
    functionSourceFile: /src/hostap/src/crypto/sha256-kdf.c
    functionUses: 5
    functionsReached:
    - os_strlen
    - os_memcpy
    - forced_memzero
    - hmac_sha256_vector
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int hmac_sha256_kdf(const u8 *secret, size_t secret_len,\n\t\t    const
      char *label, const u8 *seed, size_t seed_len,\n\t\t    u8 *out, size_t outlen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/sha256-internal.c:31,1
    - Dst: sha256_init
      Src: /src/hostap/src/crypto/sha256-internal.c:34,1
    - Dst: sha256_process
      Src: /src/hostap/src/crypto/sha256-internal.c:36,1
    - Dst: sha256_done
      Src: /src/hostap/src/crypto/sha256-internal.c:38,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 41
    functionName: sha256_vector
    functionSourceFile: /src/hostap/src/crypto/sha256-internal.c
    functionUses: 14
    functionsReached:
    - sha256_init
    - sha256_done
    - TEST_FAIL
    - sha256_process
    linkageType: ''
    returnType: int
    signature: "int sha256_vector(size_t num_elem, const u8 *addr[], const size_t
      *len,\n\t\t  u8 *mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: RORc
    functionSourceFile: /src/hostap/src/crypto/sha256-internal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RORc(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: Ch
    functionSourceFile: /src/hostap/src/crypto/sha256-internal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Ch(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: Maj
    functionSourceFile: /src/hostap/src/crypto/sha256-internal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Maj(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: S
    functionSourceFile: /src/hostap/src/crypto/sha256-internal.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S(x, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    functionName: R
    functionSourceFile: /src/hostap/src/crypto/sha256-internal.c
    functionUses: 530
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: R(x, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: Sigma0
    functionSourceFile: /src/hostap/src/crypto/sha256-internal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Sigma0(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: Sigma1
    functionSourceFile: /src/hostap/src/crypto/sha256-internal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Sigma1(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: Gamma0
    functionSourceFile: /src/hostap/src/crypto/sha256-internal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Gamma0(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: Gamma1
    functionSourceFile: /src/hostap/src/crypto/sha256-internal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Gamma1(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/crypto/sha256-internal.c:94,1
    - Dst: Gamma1
      Src: /src/hostap/src/crypto/sha256-internal.c:98,1
    - Dst: Gamma0
      Src: /src/hostap/src/crypto/sha256-internal.c:98,1
    - Dst: RND
      Src: /src/hostap/src/crypto/sha256-internal.c:110,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - md
    - buf
    argTypes:
    - struct sha256_state*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 120
    functionName: sha256_compress
    functionSourceFile: /src/hostap/src/crypto/sha256-internal.c
    functionUses: 0
    functionsReached:
    - Gamma0
    - Gamma1
    - RND
    - WPA_GET_BE32
    linkageType: ''
    returnType: int
    signature: int sha256_compress(struct sha256_state *md, unsigned char *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - g
    - ','
    - h
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 108
    functionName: RND
    functionSourceFile: /src/hostap/src/crypto/sha256-internal.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RND(a,b,c,d,e,f,g,h,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - md
    argTypes:
    - struct sha256_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 136
    functionName: sha256_init
    functionSourceFile: /src/hostap/src/crypto/sha256-internal.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sha256_init(struct sha256_state *md)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sha256_compress
      Src: /src/hostap/src/crypto/sha256-internal.c:155,1
    - Dst: MIN
      Src: /src/hostap/src/crypto/sha256-internal.c:161,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/sha256-internal.c:162,1
    - Dst: sha256_compress
      Src: /src/hostap/src/crypto/sha256-internal.c:167,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - md
    - in
    - inlen
    argTypes:
    - struct sha256_state*
    - unsigned char*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 176
    functionName: sha256_process
    functionSourceFile: /src/hostap/src/crypto/sha256-internal.c
    functionUses: 4
    functionsReached:
    - os_memcpy
    - sha256_compress
    - MIN
    linkageType: ''
    returnType: int
    signature: "int sha256_process(struct sha256_state *md, const unsigned char *in,\n\t\t
      \  unsigned long inlen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sha256_compress
      Src: /src/hostap/src/crypto/sha256-internal.c:206,1
    - Dst: WPA_PUT_BE64
      Src: /src/hostap/src/crypto/sha256-internal.c:216,1
    - Dst: sha256_compress
      Src: /src/hostap/src/crypto/sha256-internal.c:217,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/src/crypto/sha256-internal.c:221,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - md
    - out
    argTypes:
    - struct sha256_state*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 224
    functionName: sha256_done
    functionSourceFile: /src/hostap/src/crypto/sha256-internal.c
    functionUses: 3
    functionsReached:
    - WPA_PUT_BE64
    - WPA_PUT_BE32
    - sha256_compress
    linkageType: ''
    returnType: int
    signature: int sha256_done(struct sha256_state *md, unsigned char *out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/dh_group5.c:18,1
    - Dst: dh_init
      Src: /src/hostap/src/crypto/dh_group5.c:19,1
    - Dst: dh_groups_get
      Src: /src/hostap/src/crypto/dh_group5.c:19,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - priv
    - publ
    argTypes:
    - struct wpabuf**
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 23
    functionName: dh5_init
    functionSourceFile: /src/hostap/src/crypto/dh_group5.c
    functionUses: 0
    functionsReached:
    - dh_groups_get
    - wpabuf_free
    - dh_init
    linkageType: ''
    returnType: void
    signature: void * dh5_init(struct wpabuf **priv, struct wpabuf **publ)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - priv
    - publ
    argTypes:
    - struct wpabuf*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: dh5_init_fixed
    functionSourceFile: /src/hostap/src/crypto/dh_group5.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * dh5_init_fixed(const struct wpabuf *priv, const struct wpabuf
      *publ)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dh_derive_shared
      Src: /src/hostap/src/crypto/dh_group5.c:35,1
    - Dst: dh_groups_get
      Src: /src/hostap/src/crypto/dh_group5.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - peer_public
    - own_private
    argTypes:
    - void*
    - struct wpabuf*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: dh5_derive_shared
    functionSourceFile: /src/hostap/src/crypto/dh_group5.c
    functionUses: 0
    functionsReached:
    - dh_groups_get
    - dh_derive_shared
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * dh5_derive_shared(void *ctx, const struct wpabuf *peer_public,\n\t\t\t\t
      \ const struct wpabuf *own_private)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: dh5_free
    functionSourceFile: /src/hostap/src/crypto/dh_group5.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dh5_free(void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wc_EccPublicKeyToDer
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - key
    - output
    - inLen
    - with_AlgCurve
    - comp
    argTypes:
    - ecc_key*
    - byte*
    - word32
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: wc_EccPublicKeyToDer_ex
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached:
    - wc_EccPublicKeyToDer
    linkageType: ''
    returnType: int
    signature: "int wc_EccPublicKeyToDer_ex(ecc_key *key, byte *output,\n\t\t\t\t
      \  word32 inLen, int with_AlgCurve,\n\t\t\t\t   int comp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - msg
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: LOG_WOLF_ERROR_VA
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOG_WOLF_ERROR_VA(msg, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: LOG_WOLF_ERROR
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOG_WOLF_ERROR(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - func
    - ','
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: LOG_WOLF_ERROR_FUNC
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOG_WOLF_ERROR_FUNC(func, err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - func
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: LOG_WOLF_ERROR_FUNC_NULL
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOG_WOLF_ERROR_FUNC_NULL(func)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: LOG_INVALID_PARAMETERS
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOG_INVALID_PARAMETERS()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:85,1
    - Dst: LOG_WOLF_ERROR_FUNC_NULL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:87,1
    - Dst: wc_InitRng
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:91,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:93,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:94,1
    - Dst: wc_rng_new
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:99,1
    - Dst: LOG_WOLF_ERROR_FUNC_NULL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 105
    functionName: wc_rng_init
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached:
    - LOG_WOLF_ERROR_FUNC
    - os_zalloc
    - wc_rng_new
    - LOG_WOLF_ERROR_FUNC_NULL
    - os_free
    - wc_InitRng
    linkageType: ''
    returnType: WC_RNG
    signature: WC_RNG * wc_rng_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wc_FreeRng
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:111,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:112,1
    - Dst: wc_rng_free
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - rng
    argTypes:
    - WC_RNG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 116
    functionName: wc_rng_deinit
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached:
    - os_free
    - wc_FreeRng
    - wc_rng_free
    linkageType: ''
    returnType: void
    signature: void wc_rng_deinit(WC_RNG *rng)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:125,1
    - Dst: LOG_WOLF_ERROR_FUNC_NULL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:127,1
    - Dst: wc_ecc_init_ex
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:129,1
    - Dst: LOG_WOLF_ERROR
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:131,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:132,1
    - Dst: wc_ecc_key_new
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:137,1
    - Dst: LOG_WOLF_ERROR_FUNC_NULL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:139,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 143
    functionName: ecc_key_init
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached:
    - LOG_WOLF_ERROR_FUNC_NULL
    - wc_ecc_key_new
    - wc_ecc_init_ex
    - os_zalloc
    - LOG_WOLF_ERROR
    - os_free
    linkageType: ''
    returnType: ecc_key
    signature: ecc_key * ecc_key_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wc_ecc_free
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:149,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:150,1
    - Dst: wc_ecc_key_free
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - key
    argTypes:
    - ecc_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 154
    functionName: ecc_key_deinit
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached:
    - os_free
    - wc_ecc_free
    - wc_ecc_key_free
    linkageType: ''
    returnType: void
    signature: void ecc_key_deinit(ecc_key *key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:166,1
    - Dst: wc_InitMd4
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:169,1
    - Dst: wc_Md4Update
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:172,1
    - Dst: wc_Md4Final
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 177
    functionName: md4_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 3
    functionsReached:
    - wc_Md4Update
    - wc_Md4Final
    - TEST_FAIL
    - wc_InitMd4
    linkageType: ''
    returnType: int
    signature: int md4_vector(size_t num_elem, const u8 *addr[], const size_t *len,
      u8 *mac)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:187,1
    - Dst: wc_InitMd5
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:190,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:192,1
    - Dst: wc_Md5Update
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:197,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:199,1
    - Dst: wc_Md5Final
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:204,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:206,1
    - Dst: wc_Md5Free
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:212,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 4
    argNames:
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 214
    functionName: md5_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 5
    functionsReached:
    - TEST_FAIL
    - LOG_WOLF_ERROR_FUNC
    - wc_InitMd5
    - wc_Md5Update
    - wc_Md5Free
    - wc_Md5Final
    linkageType: ''
    returnType: int
    signature: int md5_vector(size_t num_elem, const u8 *addr[], const size_t *len,
      u8 *mac)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:226,1
    - Dst: wc_InitSha
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:229,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:231,1
    - Dst: wc_ShaUpdate
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:236,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:238,1
    - Dst: wc_ShaFinal
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:243,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:245,1
    - Dst: wc_ShaFree
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:251,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 4
    argNames:
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 253
    functionName: sha1_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 16
    functionsReached:
    - wc_ShaFinal
    - TEST_FAIL
    - LOG_WOLF_ERROR_FUNC
    - wc_ShaFree
    - wc_ShaUpdate
    - wc_InitSha
    linkageType: ''
    returnType: int
    signature: int sha1_vector(size_t num_elem, const u8 *addr[], const size_t *len,
      u8 *mac)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:265,1
    - Dst: wc_InitSha256
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:268,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:270,1
    - Dst: wc_Sha256Update
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:275,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:277,1
    - Dst: wc_Sha256Final
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:282,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:284,1
    - Dst: wc_Sha256Free
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:290,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 4
    argNames:
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 292
    functionName: sha256_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 14
    functionsReached:
    - wc_Sha256Final
    - TEST_FAIL
    - wc_InitSha256
    - LOG_WOLF_ERROR_FUNC
    - wc_Sha256Free
    - wc_Sha256Update
    linkageType: ''
    returnType: int
    signature: "int sha256_vector(size_t num_elem, const u8 *addr[], const size_t
      *len,\n\t\t  u8 *mac)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:305,1
    - Dst: wc_InitSha384
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:308,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:310,1
    - Dst: wc_Sha384Update
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:315,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:317,1
    - Dst: wc_Sha384Final
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:322,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:324,1
    - Dst: wc_Sha384Free
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:330,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 4
    argNames:
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 332
    functionName: sha384_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 7
    functionsReached:
    - wc_Sha384Free
    - TEST_FAIL
    - LOG_WOLF_ERROR_FUNC
    - wc_Sha384Update
    - wc_Sha384Final
    - wc_InitSha384
    linkageType: ''
    returnType: int
    signature: "int sha384_vector(size_t num_elem, const u8 *addr[], const size_t
      *len,\n\t\t  u8 *mac)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:345,1
    - Dst: wc_InitSha512
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:348,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:350,1
    - Dst: wc_Sha512Update
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:355,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:357,1
    - Dst: wc_Sha512Final
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:362,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:364,1
    - Dst: wc_Sha512Free
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:370,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 4
    argNames:
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 372
    functionName: sha512_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 5
    functionsReached:
    - TEST_FAIL
    - LOG_WOLF_ERROR_FUNC
    - wc_Sha512Free
    - wc_InitSha512
    - wc_Sha512Final
    - wc_Sha512Update
    linkageType: ''
    returnType: int
    signature: "int sha512_vector(size_t num_elem, const u8 *addr[], const size_t
      *len,\n\t\t  u8 *mac)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:388,1
    - Dst: wc_HmacInit
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:391,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:393,1
    - Dst: wc_HmacSetKey
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:397,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:399,1
    - Dst: wc_HmacUpdate
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:404,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:406,1
    - Dst: wc_HmacFinal
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:410,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:412,1
    - Dst: wc_HmacFree
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:418,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 8
    argNames:
    - type
    - key
    - key_len
    - num_elem
    - addr
    - len
    - mac
    - mdlen
    argTypes:
    - int
    - u8*
    - size_t
    - size_t
    - u8*[]
    - size_t*
    - u8*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 420
    functionName: wolfssl_hmac_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached:
    - TEST_FAIL
    - wc_HmacSetKey
    - LOG_WOLF_ERROR_FUNC
    - wc_HmacUpdate
    - wc_HmacFree
    - wc_HmacInit
    - wc_HmacFinal
    linkageType: ''
    returnType: int
    signature: "int wolfssl_hmac_vector(int type, const u8 *key,\n\t\t\t       size_t
      key_len, size_t num_elem,\n\t\t\t       const u8 *addr[], const size_t *len,
      u8 *mac,\n\t\t\t       unsigned int mdlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wolfssl_hmac_vector
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - key
    - key_len
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - u8*
    - size_t
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 425
    functionDepth: 2
    functionLinenumber: 425
    functionLinenumberEnd: 430
    functionName: hmac_md5_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 3
    functionsReached:
    - wolfssl_hmac_vector
    linkageType: ''
    returnType: int
    signature: "int hmac_md5_vector(const u8 *key, size_t key_len, size_t num_elem,\n\t\t
      \   const u8 *addr[], const size_t *len, u8 *mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_md5_vector
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - key
    - key_len
    - data
    - data_len
    - mac
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 437
    functionName: hmac_md5
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 1
    functionsReached:
    - hmac_md5_vector
    linkageType: ''
    returnType: int
    signature: "int hmac_md5(const u8 *key, size_t key_len, const u8 *data, size_t
      data_len,\n\t     u8 *mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wolfssl_hmac_vector
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - key
    - key_len
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - u8*
    - size_t
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 442
    functionDepth: 2
    functionLinenumber: 442
    functionLinenumberEnd: 447
    functionName: hmac_sha1_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 6
    functionsReached:
    - wolfssl_hmac_vector
    linkageType: ''
    returnType: int
    signature: "int hmac_sha1_vector(const u8 *key, size_t key_len, size_t num_elem,\n\t\t
      \    const u8 *addr[], const size_t *len, u8 *mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_sha1_vector
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - key
    - key_len
    - data
    - data_len
    - mac
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 454
    functionName: hmac_sha1
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 7
    functionsReached:
    - hmac_sha1_vector
    linkageType: ''
    returnType: int
    signature: "int hmac_sha1(const u8 *key, size_t key_len, const u8 *data, size_t
      data_len,\n\t      u8 *mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wolfssl_hmac_vector
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - key
    - key_len
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - u8*
    - size_t
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 459
    functionDepth: 2
    functionLinenumber: 459
    functionLinenumberEnd: 464
    functionName: hmac_sha256_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 7
    functionsReached:
    - wolfssl_hmac_vector
    linkageType: ''
    returnType: int
    signature: "int hmac_sha256_vector(const u8 *key, size_t key_len, size_t num_elem,\n\t\t
      \      const u8 *addr[], const size_t *len, u8 *mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_sha256_vector
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - key
    - key_len
    - data
    - data_len
    - mac
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 471
    functionName: hmac_sha256
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 7
    functionsReached:
    - hmac_sha256_vector
    linkageType: ''
    returnType: int
    signature: "int hmac_sha256(const u8 *key, size_t key_len, const u8 *data,\n\t\tsize_t
      data_len, u8 *mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wolfssl_hmac_vector
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - key
    - key_len
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - u8*
    - size_t
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 478
    functionDepth: 2
    functionLinenumber: 478
    functionLinenumberEnd: 483
    functionName: hmac_sha384_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 6
    functionsReached:
    - wolfssl_hmac_vector
    linkageType: ''
    returnType: int
    signature: "int hmac_sha384_vector(const u8 *key, size_t key_len, size_t num_elem,\n\t\t
      \      const u8 *addr[], const size_t *len, u8 *mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_sha384_vector
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - key
    - key_len
    - data
    - data_len
    - mac
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 490
    functionName: hmac_sha384
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 3
    functionsReached:
    - hmac_sha384_vector
    linkageType: ''
    returnType: int
    signature: "int hmac_sha384(const u8 *key, size_t key_len, const u8 *data,\n\t\tsize_t
      data_len, u8 *mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wolfssl_hmac_vector
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - key
    - key_len
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - u8*
    - size_t
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 497
    functionDepth: 2
    functionLinenumber: 497
    functionLinenumberEnd: 502
    functionName: hmac_sha512_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 3
    functionsReached:
    - wolfssl_hmac_vector
    linkageType: ''
    returnType: int
    signature: "int hmac_sha512_vector(const u8 *key, size_t key_len, size_t num_elem,\n\t\t
      \      const u8 *addr[], const size_t *len, u8 *mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_sha512_vector
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - key
    - key_len
    - data
    - data_len
    - mac
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 509
    functionName: hmac_sha512
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached:
    - hmac_sha512_vector
    linkageType: ''
    returnType: int
    signature: "int hmac_sha512(const u8 *key, size_t key_len, const u8 *data,\n\t\tsize_t
      data_len, u8 *mac)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PRIVATE_KEY_UNLOCK
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:519,1
    - Dst: wc_PBKDF2
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:520,1
    - Dst: os_strlen
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:520,1
    - Dst: PRIVATE_KEY_LOCK
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:522,1
    - Dst: LOG_WOLF_ERROR_VA
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:525,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 6
    argNames:
    - passphrase
    - ssid
    - ssid_len
    - iterations
    - buf
    - buflen
    argTypes:
    - char*
    - u8*
    - size_t
    - int
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 531
    functionName: pbkdf2_sha1
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 5
    functionsReached:
    - os_strlen
    - wc_PBKDF2
    - PRIVATE_KEY_LOCK
    - PRIVATE_KEY_UNLOCK
    - LOG_WOLF_ERROR_VA
    linkageType: ''
    returnType: int
    signature: "int pbkdf2_sha1(const char *passphrase, const u8 *ssid, size_t ssid_len,\n\t\tint
      iterations, u8 *buf, size_t buflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wc_Des_SetKey
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:550,1
    - Dst: wc_Des_EcbEncrypt
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:551,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - clear
    - key
    - cypher
    argTypes:
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 554
    functionName: des_encrypt
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 2
    functionsReached:
    - wc_Des_EcbEncrypt
    - wc_Des_SetKey
    linkageType: ''
    returnType: int
    signature: int des_encrypt(const u8 *clear, const u8 *key, u8 *cypher)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:563,1
    - Dst: os_malloc
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:566,1
    - Dst: LOG_WOLF_ERROR_FUNC_NULL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:568,1
    - Dst: wc_AesSetKey
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:572,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:574,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:575,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - key
    - len
    argTypes:
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 558
    functionDepth: 1
    functionLinenumber: 558
    functionLinenumberEnd: 580
    functionName: aes_encrypt_init
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 9
    functionsReached:
    - TEST_FAIL
    - LOG_WOLF_ERROR_FUNC
    - wc_AesSetKey
    - os_malloc
    - LOG_WOLF_ERROR_FUNC_NULL
    - os_free
    linkageType: ''
    returnType: void
    signature: void * aes_encrypt_init(const u8 *key, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wc_AesEncryptDirect
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:588,1
    - Dst: wc_AesEncryptDirect
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:590,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:593,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - plain
    - crypt
    argTypes:
    - void*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 583
    functionDepth: 1
    functionLinenumber: 583
    functionLinenumberEnd: 598
    functionName: aes_encrypt
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 13
    functionsReached:
    - LOG_WOLF_ERROR_FUNC
    - wc_AesEncryptDirect
    linkageType: ''
    returnType: int
    signature: int aes_encrypt(void *ctx, const u8 *plain, u8 *crypt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 604
    functionName: aes_encrypt_deinit
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 10
    functionsReached:
    - os_free
    linkageType: ''
    returnType: void
    signature: void aes_encrypt_deinit(void *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:612,1
    - Dst: os_malloc
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:615,1
    - Dst: LOG_WOLF_ERROR_FUNC_NULL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:617,1
    - Dst: wc_AesSetKey
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:621,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:623,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:624,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - key
    - len
    argTypes:
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 607
    functionDepth: 1
    functionLinenumber: 607
    functionLinenumberEnd: 629
    functionName: aes_decrypt_init
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 2
    functionsReached:
    - TEST_FAIL
    - LOG_WOLF_ERROR_FUNC
    - wc_AesSetKey
    - os_malloc
    - LOG_WOLF_ERROR_FUNC_NULL
    - os_free
    linkageType: ''
    returnType: void
    signature: void * aes_decrypt_init(const u8 *key, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wc_AesDecryptDirect
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:637,1
    - Dst: wc_AesDecryptDirect
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:639,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:642,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - crypt
    - plain
    argTypes:
    - void*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 632
    functionDepth: 1
    functionLinenumber: 632
    functionLinenumberEnd: 647
    functionName: aes_decrypt
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 2
    functionsReached:
    - LOG_WOLF_ERROR_FUNC
    - wc_AesDecryptDirect
    linkageType: ''
    returnType: int
    signature: int aes_decrypt(void *ctx, const u8 *crypt, u8 *plain)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:652,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 653
    functionName: aes_decrypt_deinit
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 2
    functionsReached:
    - os_free
    linkageType: ''
    returnType: void
    signature: void aes_decrypt_deinit(void *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:661,1
    - Dst: wc_AesSetKey
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:664,1
    - Dst: wc_AesCbcEncrypt
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:668,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - key
    - iv
    - data
    - data_len
    argTypes:
    - u8*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 656
    functionDepth: 1
    functionLinenumber: 656
    functionLinenumberEnd: 672
    functionName: aes_128_cbc_encrypt
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 1
    functionsReached:
    - wc_AesSetKey
    - TEST_FAIL
    - wc_AesCbcEncrypt
    linkageType: ''
    returnType: int
    signature: int aes_128_cbc_encrypt(const u8 *key, const u8 *iv, u8 *data, size_t
      data_len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:680,1
    - Dst: wc_AesSetKey
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:683,1
    - Dst: wc_AesCbcDecrypt
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:687,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - key
    - iv
    - data
    - data_len
    argTypes:
    - u8*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 675
    functionDepth: 1
    functionLinenumber: 675
    functionLinenumberEnd: 691
    functionName: aes_128_cbc_decrypt
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 1
    functionsReached:
    - wc_AesSetKey
    - TEST_FAIL
    - wc_AesCbcDecrypt
    linkageType: ''
    returnType: int
    signature: int aes_128_cbc_decrypt(const u8 *key, const u8 *iv, u8 *data, size_t
      data_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:701,1
    - Dst: wc_AesKeyWrap
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:704,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - kek
    - kek_len
    - n
    - plain
    - cipher
    argTypes:
    - u8*
    - size_t
    - int
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 696
    functionDepth: 1
    functionLinenumber: 696
    functionLinenumberEnd: 710
    functionName: aes_wrap
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 2
    functionsReached:
    - wc_AesKeyWrap
    - TEST_FAIL
    linkageType: ''
    returnType: int
    signature: int aes_wrap(const u8 *kek, size_t kek_len, int n, const u8 *plain,
      u8 *cipher)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:719,1
    - Dst: wc_AesKeyUnWrap
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:722,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - kek
    - kek_len
    - n
    - cipher
    - plain
    argTypes:
    - u8*
    - size_t
    - int
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 713
    functionDepth: 1
    functionLinenumber: 713
    functionLinenumberEnd: 728
    functionName: aes_unwrap
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 6
    functionsReached:
    - TEST_FAIL
    - wc_AesKeyUnWrap
    linkageType: ''
    returnType: int
    signature: "int aes_unwrap(const u8 *kek, size_t kek_len, int n, const u8 *cipher,\n\t
      \      u8 *plain)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wc_Arc4SetKey
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:741,1
    - Dst: wc_Arc4Process
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:748,1
    - Dst: wc_Arc4Process
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:752,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - key
    - keylen
    - skip
    - data
    - data_len
    argTypes:
    - u8*
    - size_t
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 758
    functionName: rc4_skip
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 5
    functionsReached:
    - wc_Arc4Process
    - wc_Arc4SetKey
    linkageType: ''
    returnType: int
    signature: "int rc4_skip(const u8 *key, size_t keylen, size_t skip, u8 *data,\n\t
      \    size_t data_len)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:782,1
    - Dst: wc_Arc4SetKey
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:790,1
    - Dst: wc_Arc4SetKey
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:791,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:803,1
    - Dst: wc_AesSetKey
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:806,1
    - Dst: wc_AesSetKey
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:808,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:810,1
    - Dst: wc_Des3_SetKey
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:818,1
    - Dst: wc_Des3_SetKey
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:819,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:820,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:827,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 4
    argNames:
    - alg
    - iv
    - key
    - key_len
    argTypes:
    - enum crypto_cipher_alg
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 834
    functionName: crypto_cipher_init
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached:
    - wc_Arc4SetKey
    - wc_AesSetKey
    - os_zalloc
    - wc_Des3_SetKey
    - os_free
    linkageType: ''
    returnType: struct crypto_cipher
    signature: "struct crypto_cipher * crypto_cipher_init(enum crypto_cipher_alg alg,\n\t\t\t\t\t
      \ const u8 *iv, const u8 *key,\n\t\t\t\t\t  size_t key_len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wc_Arc4Process
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:844,1
    - Dst: wc_AesCbcEncrypt
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:850,1
    - Dst: wc_Des3_CbcEncrypt
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:856,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - ctx
    - plain
    - crypt
    - len
    argTypes:
    - struct crypto_cipher*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 864
    functionName: crypto_cipher_encrypt
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached:
    - wc_Arc4Process
    - wc_AesCbcEncrypt
    - wc_Des3_CbcEncrypt
    linkageType: ''
    returnType: int
    signature: "int crypto_cipher_encrypt(struct crypto_cipher *ctx, const u8 *plain,\n\t\t\t
      \ u8 *crypt, size_t len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wc_Arc4Process
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:874,1
    - Dst: wc_AesCbcDecrypt
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:880,1
    - Dst: wc_Des3_CbcDecrypt
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:886,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - ctx
    - crypt
    - plain
    - len
    argTypes:
    - struct crypto_cipher*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 867
    functionDepth: 0
    functionLinenumber: 867
    functionLinenumberEnd: 894
    functionName: crypto_cipher_decrypt
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached:
    - wc_Arc4Process
    - wc_AesCbcDecrypt
    - wc_Des3_CbcDecrypt
    linkageType: ''
    returnType: int
    signature: "int crypto_cipher_decrypt(struct crypto_cipher *ctx, const u8 *crypt,\n\t\t\t
      \ u8 *plain, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:899,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct crypto_cipher*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 897
    functionDepth: 0
    functionLinenumber: 897
    functionLinenumberEnd: 900
    functionName: crypto_cipher_deinit
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached:
    - os_free
    linkageType: ''
    returnType: void
    signature: void crypto_cipher_deinit(struct crypto_cipher *ctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:943,1
    - Dst: XMALLOC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:946,1
    - Dst: wc_InitDhKey
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:949,1
    - Dst: wc_InitRng
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:951,1
    - Dst: XFREE
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:952,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:956,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:957,1
    - Dst: wc_DhSetKey
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:961,1
    - Dst: wc_DhGenerateKeyPair
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:967,1
    - Dst: wpabuf_mhead
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:967,1
    - Dst: wpabuf_mhead
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:968,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:971,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:972,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:981,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:982,1
    - Dst: wc_FreeDhKey
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:984,1
    - Dst: XFREE
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:985,1
    - Dst: wc_FreeRng
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:987,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 2
    argNames:
    - priv
    - publ
    argTypes:
    - struct wpabuf**
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 933
    functionDepth: 1
    functionLinenumber: 933
    functionLinenumberEnd: 989
    functionName: dh5_init
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached:
    - wpabuf_put
    - XFREE
    - wpabuf_free
    - wc_DhGenerateKeyPair
    - wpabuf_alloc
    - wc_FreeRng
    - wc_DhSetKey
    - wc_InitDhKey
    - wpabuf_mhead
    - wpabuf_clear_free
    - wc_FreeDhKey
    - XMALLOC
    - wc_InitRng
    linkageType: ''
    returnType: void
    signature: void * dh5_init(struct wpabuf **priv, struct wpabuf **publ)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: XMALLOC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1001,1
    - Dst: wc_InitDhKey
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1004,1
    - Dst: XMALLOC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1006,1
    - Dst: wc_DhSetKey
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1010,1
    - Dst: wc_DhAgree
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1015,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1015,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1016,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1020,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1021,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1021,1
    - Dst: wc_FreeDhKey
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1028,1
    - Dst: XFREE
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1029,1
    - Dst: XFREE
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1031,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 2
    argNames:
    - priv
    - publ
    argTypes:
    - struct wpabuf*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1033
      start: 994
    functionDepth: 1
    functionLinenumber: 994
    functionLinenumberEnd: 1033
    functionName: dh5_init_fixed
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 2
    functionsReached:
    - wpabuf_len
    - XFREE
    - wpabuf_head
    - wc_DhSetKey
    - wc_InitDhKey
    - os_memcmp
    - wc_FreeDhKey
    - XMALLOC
    - wc_DhAgree
    linkageType: ''
    returnType: void
    signature: void * dh5_init_fixed(const struct wpabuf *priv, const struct wpabuf
      *publ)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1045,1
    - Dst: wc_DhAgree
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1049,1
    - Dst: wpabuf_mhead
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1049,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1050,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1050,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1051,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1051,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1054,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1059,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - ctx
    - peer_public
    - own_private
    argTypes:
    - void*
    - struct wpabuf*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 1038
    functionDepth: 1
    functionLinenumber: 1038
    functionLinenumberEnd: 1061
    functionName: dh5_derive_shared
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached:
    - wpabuf_put
    - wpabuf_len
    - wpabuf_head
    - wpabuf_alloc
    - wpabuf_mhead
    - wpabuf_clear_free
    - wc_DhAgree
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * dh5_derive_shared(void *ctx, const struct wpabuf *peer_public,\n\t\t\t\t
      \ const struct wpabuf *own_private)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wc_FreeDhKey
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1069,1
    - Dst: XFREE
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1070,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 1064
    functionDepth: 0
    functionLinenumber: 1064
    functionLinenumberEnd: 1071
    functionName: dh5_free
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 3
    functionsReached:
    - XFREE
    - wc_FreeDhKey
    linkageType: ''
    returnType: void
    signature: void dh5_free(void *ctx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1084,1
    - Dst: os_malloc
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1087,1
    - Dst: wc_InitDhKey
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1090,1
    - Dst: wc_InitRng
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1092,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1093,1
    - Dst: wc_DhSetKey
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1097,1
    - Dst: wc_DhGenerateKeyPair
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1101,1
    - Dst: os_memmove
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1108,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1109,1
    - Dst: os_memmove
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1115,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1116,1
    - Dst: wc_FreeDhKey
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1120,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1121,1
    - Dst: wc_FreeRng
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1122,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 5
    argNames:
    - generator
    - prime
    - prime_len
    - privkey
    - pubkey
    argTypes:
    - u8
    - u8*
    - size_t
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1124
      start: 1076
    functionDepth: 1
    functionLinenumber: 1076
    functionLinenumberEnd: 1124
    functionName: crypto_dh_init
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached:
    - TEST_FAIL
    - os_malloc
    - os_memmove
    - wc_DhGenerateKeyPair
    - wc_FreeRng
    - wc_DhSetKey
    - wc_InitDhKey
    - wc_FreeDhKey
    - os_free
    - wc_InitRng
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int crypto_dh_init(u8 generator, const u8 *prime, size_t prime_len,
      u8 *privkey,\n\t\t   u8 *pubkey)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1137,1
    - Dst: wc_InitDhKey
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1140,1
    - Dst: wc_DhSetKey
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1142,1
    - Dst: wc_DhAgree
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1145,1
    - Dst: wc_FreeDhKey
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1152,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1153,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 11
    argNames:
    - generator
    - prime
    - prime_len
    - order
    - order_len
    - privkey
    - privkey_len
    - pubkey
    - pubkey_len
    - secret
    - len
    argTypes:
    - u8
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1155
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1155
    functionName: crypto_dh_derive_secret
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached:
    - os_malloc
    - wc_DhSetKey
    - wc_InitDhKey
    - wc_FreeDhKey
    - os_free
    - wc_DhAgree
    linkageType: ''
    returnType: int
    signature: "int crypto_dh_derive_secret(u8 generator, const u8 *prime, size_t
      prime_len,\n\t\t\t    const u8 *order, size_t order_len,\n\t\t\t    const u8
      *privkey, size_t privkey_len,\n\t\t\t    const u8 *pubkey, size_t pubkey_len,\n\t\t\t
      \   u8 *secret, size_t *len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wc_InitRng
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1164,1
    - Dst: wc_RNG_GenerateBlock
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1166,1
    - Dst: wc_FreeRng
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1170
      start: 1159
    functionDepth: 0
    functionLinenumber: 1159
    functionLinenumberEnd: 1170
    functionName: crypto_get_random
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 1
    functionsReached:
    - wc_FreeRng
    - wc_InitRng
    - wc_RNG_GenerateBlock
    linkageType: ''
    returnType: int
    signature: int crypto_get_random(void *buf, size_t len)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1188,1
    - Dst: wc_HmacInit
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1217,1
    - Dst: wc_HmacSetKey
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1218,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1224,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 3
    argNames:
    - alg
    - key
    - key_len
    argTypes:
    - enum crypto_hash_alg
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1181
    functionDepth: 0
    functionLinenumber: 1181
    functionLinenumberEnd: 1226
    functionName: crypto_hash_init
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached:
    - os_free
    - os_zalloc
    - wc_HmacInit
    - wc_HmacSetKey
    linkageType: ''
    returnType: struct crypto_hash
    signature: "struct crypto_hash * crypto_hash_init(enum crypto_hash_alg alg, const
      u8 *key,\n\t\t\t\t      size_t key_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wc_HmacUpdate
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - data
    - len
    argTypes:
    - struct crypto_hash*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1234
      start: 1229
    functionDepth: 0
    functionLinenumber: 1229
    functionLinenumberEnd: 1234
    functionName: crypto_hash_update
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached:
    - wc_HmacUpdate
    linkageType: ''
    returnType: void
    signature: void crypto_hash_update(struct crypto_hash *ctx, const u8 *data, size_t
      len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wc_HmacFinal
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1247,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1255,1
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1256,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - ctx
    - mac
    - len
    argTypes:
    - struct crypto_hash*
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1259
      start: 1237
    functionDepth: 1
    functionLinenumber: 1237
    functionLinenumberEnd: 1259
    functionName: crypto_hash_finish
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached:
    - TEST_FAIL
    - bin_clear_free
    - wc_HmacFinal
    linkageType: ''
    returnType: int
    signature: int crypto_hash_finish(struct crypto_hash *ctx, u8 *mac, size_t *len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1271,1
    - Dst: wc_InitCmac
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1274,1
    - Dst: wc_CmacUpdate
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1278,1
    - Dst: wc_CmacFinal
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1282,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 6
    argNames:
    - key
    - key_len
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - u8*
    - size_t
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1264
    functionDepth: 1
    functionLinenumber: 1264
    functionLinenumberEnd: 1286
    functionName: omac1_aes_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 5
    functionsReached:
    - wc_CmacFinal
    - wc_InitCmac
    - TEST_FAIL
    - wc_CmacUpdate
    linkageType: ''
    returnType: int
    signature: "int omac1_aes_vector(const u8 *key, size_t key_len, size_t num_elem,\n\t\t
      \    const u8 *addr[], const size_t *len, u8 *mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: omac1_aes_vector
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - key
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - u8*
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1293
      start: 1289
    functionDepth: 0
    functionLinenumber: 1289
    functionLinenumberEnd: 1293
    functionName: omac1_aes_128_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 3
    functionsReached:
    - omac1_aes_vector
    linkageType: ''
    returnType: int
    signature: "int omac1_aes_128_vector(const u8 *key, size_t num_elem,\n\t\t\t const
      u8 *addr[], const size_t *len, u8 *mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: omac1_aes_128_vector
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - key
    - data
    - data_len
    - mac
    argTypes:
    - u8*
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1299
      start: 1296
    functionDepth: 0
    functionLinenumber: 1296
    functionLinenumberEnd: 1299
    functionName: omac1_aes_128
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 10
    functionsReached:
    - omac1_aes_128_vector
    linkageType: ''
    returnType: int
    signature: int omac1_aes_128(const u8 *key, const u8 *data, size_t data_len, u8
      *mac)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: omac1_aes_vector
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - key
    - data
    - data_len
    - mac
    argTypes:
    - u8*
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1305
      start: 1302
    functionDepth: 0
    functionLinenumber: 1302
    functionLinenumberEnd: 1305
    functionName: omac1_aes_256
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 1
    functionsReached:
    - omac1_aes_vector
    linkageType: ''
    returnType: int
    signature: int omac1_aes_256(const u8 *key, const u8 *data, size_t data_len, u8
      *mac)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1312,1
    - Dst: os_malloc
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1315,1
    - Dst: mp_init
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1316,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1317,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1322
      start: 1308
    functionDepth: 1
    functionLinenumber: 1308
    functionLinenumberEnd: 1322
    functionName: crypto_bignum_init
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 1
    functionsReached:
    - mp_init
    - os_free
    - TEST_FAIL
    - os_malloc
    linkageType: ''
    returnType: struct crypto_bignum
    signature: struct crypto_bignum * crypto_bignum_init(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1329,1
    - Dst: crypto_bignum_init
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1332,1
    - Dst: mp_read_unsigned_bin
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1336,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1337,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1342
      start: 1325
    functionDepth: 1
    functionLinenumber: 1325
    functionLinenumberEnd: 1342
    functionName: crypto_bignum_init_set
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached:
    - mp_read_unsigned_bin
    - os_free
    - TEST_FAIL
    - crypto_bignum_init
    linkageType: ''
    returnType: struct crypto_bignum
    signature: struct crypto_bignum * crypto_bignum_init_set(const u8 *buf, size_t
      len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1349,1
    - Dst: crypto_bignum_init
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1352,1
    - Dst: mp_set_int
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1356,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1357,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - val
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1362
      start: 1345
    functionDepth: 1
    functionLinenumber: 1345
    functionLinenumberEnd: 1362
    functionName: crypto_bignum_init_uint
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached:
    - os_free
    - TEST_FAIL
    - mp_set_int
    - crypto_bignum_init
    linkageType: ''
    returnType: struct crypto_bignum
    signature: struct crypto_bignum * crypto_bignum_init_uint(unsigned int val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mp_forcezero
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1371,1
    - Dst: mp_clear
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1372,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1373,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - n
    - clear
    argTypes:
    - struct crypto_bignum*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1374
      start: 1365
    functionDepth: 1
    functionLinenumber: 1365
    functionLinenumberEnd: 1374
    functionName: crypto_bignum_deinit
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 2
    functionsReached:
    - os_free
    - mp_clear
    - mp_forcezero
    linkageType: ''
    returnType: void
    signature: void crypto_bignum_deinit(struct crypto_bignum *n, int clear)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1382,1
    - Dst: mp_count_bits
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1388,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1396,1
    - Dst: mp_to_unsigned_bin
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1397,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - a
    - buf
    - buflen
    - padlen
    argTypes:
    - struct crypto_bignum*
    - u8*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1400
      start: 1377
    functionDepth: 1
    functionLinenumber: 1377
    functionLinenumberEnd: 1400
    functionName: crypto_bignum_to_bin
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 2
    functionsReached:
    - mp_count_bits
    - TEST_FAIL
    - mp_to_unsigned_bin
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int crypto_bignum_to_bin(const struct crypto_bignum *a,\n\t\t\t u8
      *buf, size_t buflen, size_t padlen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1410,1
    - Dst: wc_InitRng
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1412,1
    - Dst: mp_count_bits
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1414,1
    - Dst: os_malloc
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1415,1
    - Dst: wc_RNG_GenerateBlock
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1416,1
    - Dst: mp_read_unsigned_bin
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1417,1
    - Dst: mp_mod
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1418,1
    - Dst: wc_FreeRng
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1420,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1421,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - r
    - m
    argTypes:
    - struct crypto_bignum*
    - struct crypto_bignum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1423
      start: 1403
    functionDepth: 1
    functionLinenumber: 1403
    functionLinenumberEnd: 1423
    functionName: crypto_bignum_rand
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached:
    - TEST_FAIL
    - mp_count_bits
    - os_malloc
    - wc_FreeRng
    - wc_RNG_GenerateBlock
    - mp_read_unsigned_bin
    - wc_InitRng
    - mp_mod
    - bin_clear_free
    linkageType: ''
    returnType: int
    signature: int crypto_bignum_rand(struct crypto_bignum *r, const struct crypto_bignum
      *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mp_add
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - b
    - r
    argTypes:
    - struct crypto_bignum*
    - struct crypto_bignum*
    - struct crypto_bignum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1432
      start: 1426
    functionDepth: 1
    functionLinenumber: 1426
    functionLinenumberEnd: 1432
    functionName: crypto_bignum_add
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached:
    - mp_add
    linkageType: ''
    returnType: int
    signature: "int crypto_bignum_add(const struct crypto_bignum *a,\n\t\t      const
      struct crypto_bignum *b,\n\t\t      struct crypto_bignum *r)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mp_mod
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - m
    - r
    argTypes:
    - struct crypto_bignum*
    - struct crypto_bignum*
    - struct crypto_bignum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1441
      start: 1435
    functionDepth: 1
    functionLinenumber: 1435
    functionLinenumberEnd: 1441
    functionName: crypto_bignum_mod
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached:
    - mp_mod
    linkageType: ''
    returnType: int
    signature: "int crypto_bignum_mod(const struct crypto_bignum *a,\n\t\t      const
      struct crypto_bignum *m,\n\t\t      struct crypto_bignum *r)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1449,1
    - Dst: mp_exptmod
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1452,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - b
    - e
    - m
    - r
    argTypes:
    - struct crypto_bignum*
    - struct crypto_bignum*
    - struct crypto_bignum*
    - struct crypto_bignum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1454
      start: 1444
    functionDepth: 1
    functionLinenumber: 1444
    functionLinenumberEnd: 1454
    functionName: crypto_bignum_exptmod
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached:
    - TEST_FAIL
    - mp_exptmod
    linkageType: ''
    returnType: int
    signature: "int crypto_bignum_exptmod(const struct crypto_bignum *b,\n\t\t\t  const
      struct crypto_bignum *e,\n\t\t\t  const struct crypto_bignum *m,\n\t\t\t  struct
      crypto_bignum *r)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1461,1
    - Dst: mp_invmod
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - a
    - m
    - r
    argTypes:
    - struct crypto_bignum*
    - struct crypto_bignum*
    - struct crypto_bignum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1466
      start: 1457
    functionDepth: 1
    functionLinenumber: 1457
    functionLinenumberEnd: 1466
    functionName: crypto_bignum_inverse
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached:
    - TEST_FAIL
    - mp_invmod
    linkageType: ''
    returnType: int
    signature: "int crypto_bignum_inverse(const struct crypto_bignum *a,\n\t\t\t  const
      struct crypto_bignum *m,\n\t\t\t  struct crypto_bignum *r)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1473,1
    - Dst: mp_sub
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1476,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - a
    - b
    - r
    argTypes:
    - struct crypto_bignum*
    - struct crypto_bignum*
    - struct crypto_bignum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1478
      start: 1469
    functionDepth: 1
    functionLinenumber: 1469
    functionLinenumberEnd: 1478
    functionName: crypto_bignum_sub
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached:
    - TEST_FAIL
    - mp_sub
    linkageType: ''
    returnType: int
    signature: "int crypto_bignum_sub(const struct crypto_bignum *a,\n\t\t      const
      struct crypto_bignum *b,\n\t\t      struct crypto_bignum *r)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1485,1
    - Dst: mp_div
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1488,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - a
    - b
    - d
    argTypes:
    - struct crypto_bignum*
    - struct crypto_bignum*
    - struct crypto_bignum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1490
      start: 1481
    functionDepth: 1
    functionLinenumber: 1481
    functionLinenumberEnd: 1490
    functionName: crypto_bignum_div
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached:
    - mp_div
    - TEST_FAIL
    linkageType: ''
    returnType: int
    signature: "int crypto_bignum_div(const struct crypto_bignum *a,\n\t\t      const
      struct crypto_bignum *b,\n\t\t      struct crypto_bignum *d)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1498,1
    - Dst: mp_addmod
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1501,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - a
    - b
    - c
    - d
    argTypes:
    - struct crypto_bignum*
    - struct crypto_bignum*
    - struct crypto_bignum*
    - struct crypto_bignum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1503
      start: 1493
    functionDepth: 1
    functionLinenumber: 1493
    functionLinenumberEnd: 1503
    functionName: crypto_bignum_addmod
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached:
    - TEST_FAIL
    - mp_addmod
    linkageType: ''
    returnType: int
    signature: "int crypto_bignum_addmod(const struct crypto_bignum *a,\n\t\t\t const
      struct crypto_bignum *b,\n\t\t\t const struct crypto_bignum *c,\n\t\t\t struct
      crypto_bignum *d)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1511,1
    - Dst: mp_mulmod
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1514,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - a
    - b
    - m
    - d
    argTypes:
    - struct crypto_bignum*
    - struct crypto_bignum*
    - struct crypto_bignum*
    - struct crypto_bignum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1516
      start: 1506
    functionDepth: 1
    functionLinenumber: 1506
    functionLinenumberEnd: 1516
    functionName: crypto_bignum_mulmod
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached:
    - TEST_FAIL
    - mp_mulmod
    linkageType: ''
    returnType: int
    signature: "int crypto_bignum_mulmod(const struct crypto_bignum *a,\n\t\t\t const
      struct crypto_bignum *b,\n\t\t\t const struct crypto_bignum *m,\n\t\t\t struct
      crypto_bignum *d)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1523,1
    - Dst: mp_sqrmod
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1526,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - a
    - b
    - c
    argTypes:
    - struct crypto_bignum*
    - struct crypto_bignum*
    - struct crypto_bignum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1528
      start: 1519
    functionDepth: 1
    functionLinenumber: 1519
    functionLinenumberEnd: 1528
    functionName: crypto_bignum_sqrmod
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached:
    - mp_sqrmod
    - TEST_FAIL
    linkageType: ''
    returnType: int
    signature: "int crypto_bignum_sqrmod(const struct crypto_bignum *a,\n\t\t\t const
      struct crypto_bignum *b,\n\t\t\t struct crypto_bignum *c)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mp_copy
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1534,1
    - Dst: mp_rshb
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - a
    - n
    - r
    argTypes:
    - struct crypto_bignum*
    - int
    - struct crypto_bignum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1538
      start: 1531
    functionDepth: 1
    functionLinenumber: 1531
    functionLinenumberEnd: 1538
    functionName: crypto_bignum_rshift
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached:
    - mp_copy
    - mp_rshb
    linkageType: ''
    returnType: int
    signature: "int crypto_bignum_rshift(const struct crypto_bignum *a, int n,\n\t\t\t
      struct crypto_bignum *r)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mp_cmp
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct crypto_bignum*
    - struct crypto_bignum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1545
      start: 1541
    functionDepth: 1
    functionLinenumber: 1541
    functionLinenumberEnd: 1545
    functionName: crypto_bignum_cmp
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached:
    - mp_cmp
    linkageType: ''
    returnType: int
    signature: "int crypto_bignum_cmp(const struct crypto_bignum *a,\n\t\t      const
      struct crypto_bignum *b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mp_iszero
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - struct crypto_bignum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1551
      start: 1548
    functionDepth: 1
    functionLinenumber: 1548
    functionLinenumberEnd: 1551
    functionName: crypto_bignum_is_zero
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached:
    - mp_iszero
    linkageType: ''
    returnType: int
    signature: int crypto_bignum_is_zero(const struct crypto_bignum *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mp_isone
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - struct crypto_bignum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1557
      start: 1554
    functionDepth: 0
    functionLinenumber: 1554
    functionLinenumberEnd: 1557
    functionName: crypto_bignum_is_one
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached:
    - mp_isone
    linkageType: ''
    returnType: int
    signature: int crypto_bignum_is_one(const struct crypto_bignum *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mp_isodd
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - struct crypto_bignum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1562
      start: 1559
    functionDepth: 1
    functionLinenumber: 1559
    functionLinenumberEnd: 1562
    functionName: crypto_bignum_is_odd
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached:
    - mp_isodd
    linkageType: ''
    returnType: int
    signature: int crypto_bignum_is_odd(const struct crypto_bignum *a)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1572,1
    - Dst: mp_init
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1575,1
    - Dst: mp_sub_d
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1579,1
    - Dst: mp_rshb
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1581,1
    - Dst: mp_exptmod
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1583,1
    - Dst: mp_isone
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1585,1
    - Dst: mp_iszero
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1587,1
    - Dst: mp_clear
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1593,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - a
    - p
    argTypes:
    - struct crypto_bignum*
    - struct crypto_bignum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1595
      start: 1565
    functionDepth: 1
    functionLinenumber: 1565
    functionLinenumberEnd: 1595
    functionName: crypto_bignum_legendre
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached:
    - TEST_FAIL
    - mp_rshb
    - mp_clear
    - mp_exptmod
    - mp_isone
    - mp_sub_d
    - mp_init
    - mp_iszero
    linkageType: ''
    returnType: int
    signature: "int crypto_bignum_legendre(const struct crypto_bignum *a,\n\t\t\t
      \  const struct crypto_bignum *p)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: LOG_WOLF_ERROR_VA
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1624,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 1
    argNames:
    - group
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1627
      start: 1600
    functionDepth: 1
    functionLinenumber: 1600
    functionLinenumberEnd: 1627
    functionName: crypto_ec_group_2_id
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached:
    - LOG_WOLF_ERROR_VA
    linkageType: ''
    returnType: int
    signature: int crypto_ec_group_2_id(int group)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: crypto_ec_group_2_id
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1653,1
    - Dst: LOG_INVALID_PARAMETERS
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1657,1
    - Dst: os_zalloc
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1661,1
    - Dst: LOG_WOLF_ERROR_FUNC_NULL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1663,1
    - Dst: ecc_key_init
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1669,1
    - Dst: LOG_WOLF_ERROR_FUNC_NULL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1671,1
    - Dst: wc_ecc_set_curve
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1675,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1677,1
    - Dst: wc_ecc_new_point
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1681,1
    - Dst: LOG_WOLF_ERROR_FUNC_NULL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1683,1
    - Dst: LOG_WOLF_ERROR_FUNC_NULL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1689,1
    - Dst: mp_read_radix
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1692,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1694,1
    - Dst: mp_read_radix
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1697,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1699,1
    - Dst: mp_set
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1702,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1704,1
    - Dst: wc_ecc_get_generator
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1708,1
    - Dst: wc_ecc_get_curve_idx
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1708,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1710,1
    - Dst: mp_init_multi
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1715,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1717,1
    - Dst: mp_read_radix
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1720,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1722,1
    - Dst: mp_read_radix
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1725,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1727,1
    - Dst: mp_read_radix
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1730,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1732,1
    - Dst: mp_read_radix
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1735,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1737,1
    - Dst: mp_montgomery_setup
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1740,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1742,1
    - Dst: crypto_ec_deinit
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1749,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 103
    argCount: 1
    argNames:
    - group
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1753
      start: 1649
    functionDepth: 2
    functionLinenumber: 1649
    functionLinenumberEnd: 1753
    functionName: crypto_ec_init
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached:
    - wc_ecc_get_curve_idx
    - LOG_WOLF_ERROR_FUNC
    - crypto_ec_group_2_id
    - wc_ecc_get_generator
    - wc_ecc_new_point
    - crypto_ec_deinit
    - LOG_INVALID_PARAMETERS
    - os_zalloc
    - mp_montgomery_setup
    - mp_set
    - mp_init_multi
    - wc_ecc_set_curve
    - LOG_WOLF_ERROR_FUNC_NULL
    - mp_read_radix
    - ecc_key_init
    linkageType: ''
    returnType: struct crypto_ec
    signature: struct crypto_ec * crypto_ec_init(int group)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mp_clear
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1761,1
    - Dst: mp_clear
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1762,1
    - Dst: mp_clear
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1763,1
    - Dst: mp_clear
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1764,1
    - Dst: wc_ecc_del_point
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1766,1
    - Dst: ecc_key_deinit
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1769,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1770,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct crypto_ec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1771
      start: 1756
    functionDepth: 1
    functionLinenumber: 1756
    functionLinenumberEnd: 1771
    functionName: crypto_ec_deinit
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 2
    functionsReached:
    - os_free
    - ecc_key_deinit
    - mp_clear
    - wc_ecc_del_point
    linkageType: ''
    returnType: void
    signature: void crypto_ec_deinit(struct crypto_ec* e)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1776,1
    - Dst: wc_ecc_new_point
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1780,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct crypto_ec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1781
      start: 1774
    functionDepth: 1
    functionLinenumber: 1774
    functionLinenumberEnd: 1781
    functionName: crypto_ec_point_init
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 1
    functionsReached:
    - wc_ecc_new_point
    - TEST_FAIL
    linkageType: ''
    returnType: struct crypto_ec_point
    signature: struct crypto_ec_point * crypto_ec_point_init(struct crypto_ec *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mp_count_bits
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct crypto_ec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1787
      start: 1784
    functionDepth: 1
    functionLinenumber: 1784
    functionLinenumberEnd: 1787
    functionName: crypto_ec_prime_len
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 2
    functionsReached:
    - mp_count_bits
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_ec_prime_len(struct crypto_ec *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mp_count_bits
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1792,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct crypto_ec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1793
      start: 1790
    functionDepth: 1
    functionLinenumber: 1790
    functionLinenumberEnd: 1793
    functionName: crypto_ec_prime_len_bits
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 1
    functionsReached:
    - mp_count_bits
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_ec_prime_len_bits(struct crypto_ec *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mp_count_bits
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct crypto_ec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1799
      start: 1796
    functionDepth: 1
    functionLinenumber: 1796
    functionLinenumberEnd: 1799
    functionName: crypto_ec_order_len
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 2
    functionsReached:
    - mp_count_bits
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_ec_order_len(struct crypto_ec *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct crypto_ec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1805
      start: 1802
    functionDepth: 0
    functionLinenumber: 1802
    functionLinenumberEnd: 1805
    functionName: crypto_ec_get_prime
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct crypto_bignum
    signature: struct crypto_bignum * crypto_ec_get_prime(struct crypto_ec *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct crypto_ec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1811
      start: 1808
    functionDepth: 0
    functionLinenumber: 1808
    functionLinenumberEnd: 1811
    functionName: crypto_ec_get_order
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct crypto_bignum
    signature: struct crypto_bignum * crypto_ec_get_order(struct crypto_ec *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct crypto_ec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1817
      start: 1814
    functionDepth: 0
    functionLinenumber: 1814
    functionLinenumberEnd: 1817
    functionName: crypto_ec_get_a
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct crypto_bignum
    signature: struct crypto_bignum * crypto_ec_get_a(struct crypto_ec *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct crypto_ec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1823
      start: 1820
    functionDepth: 0
    functionLinenumber: 1820
    functionLinenumberEnd: 1823
    functionName: crypto_ec_get_b
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct crypto_bignum
    signature: struct crypto_bignum * crypto_ec_get_b(struct crypto_ec *e)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mp_forcezero
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1835,1
    - Dst: mp_forcezero
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1836,1
    - Dst: mp_forcezero
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1837,1
    - Dst: wc_ecc_forcezero_point
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1839,1
    - Dst: wc_ecc_del_point
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1842,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - p
    - clear
    argTypes:
    - struct crypto_ec_point*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1843
      start: 1826
    functionDepth: 0
    functionLinenumber: 1826
    functionLinenumberEnd: 1843
    functionName: crypto_ec_point_deinit
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 2
    functionsReached:
    - wc_ecc_forcezero_point
    - wc_ecc_del_point
    - mp_forcezero
    linkageType: ''
    returnType: void
    signature: void crypto_ec_point_deinit(struct crypto_ec_point *p, int clear)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct crypto_ec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1850
      start: 1847
    functionDepth: 0
    functionLinenumber: 1847
    functionLinenumberEnd: 1850
    functionName: crypto_ec_get_generator
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct crypto_ec_point
    signature: struct crypto_ec_point * crypto_ec_get_generator(struct crypto_ec *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mp_copy
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1857,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - e
    - p
    - x
    argTypes:
    - struct crypto_ec*
    - struct crypto_ec_point*
    - struct crypto_bignum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1858
      start: 1854
    functionDepth: 1
    functionLinenumber: 1854
    functionLinenumberEnd: 1858
    functionName: crypto_ec_point_x
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 1
    functionsReached:
    - mp_copy
    linkageType: ''
    returnType: int
    signature: "int crypto_ec_point_x(struct crypto_ec *e, const struct crypto_ec_point
      *p,\n\t\t      struct crypto_bignum *x)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1868,1
    - Dst: mp_isone
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1871,1
    - Dst: ecc_map
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1872,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1874,1
    - Dst: wc_ecc_get_curve_size_from_id
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1879,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1881,1
    - Dst: LOG_WOLF_ERROR_VA
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1882,1
    - Dst: crypto_bignum_to_bin
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1887,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1889,1
    - Dst: crypto_bignum_to_bin
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1895,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1897,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 4
    argNames:
    - e
    - point
    - x
    - y
    argTypes:
    - struct crypto_ec*
    - struct crypto_ec_point*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1903
      start: 1861
    functionDepth: 1
    functionLinenumber: 1861
    functionLinenumberEnd: 1903
    functionName: crypto_ec_point_to_bin
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 2
    functionsReached:
    - wc_ecc_get_curve_size_from_id
    - crypto_bignum_to_bin
    - TEST_FAIL
    - LOG_WOLF_ERROR_FUNC
    - ecc_map
    - mp_isone
    - LOG_WOLF_ERROR_VA
    linkageType: ''
    returnType: int
    signature: "int crypto_ec_point_to_bin(struct crypto_ec *e,\n\t\t\t   const struct
      crypto_ec_point *point, u8 *x, u8 *y)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1912,1
    - Dst: wc_ecc_new_point
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1915,1
    - Dst: mp_read_unsigned_bin
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1919,1
    - Dst: mp_read_unsigned_bin
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1922,1
    - Dst: mp_set
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1924,1
    - Dst: wc_ecc_del_point
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1929,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - e
    - val
    argTypes:
    - struct crypto_ec*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1933
      start: 1906
    functionDepth: 1
    functionLinenumber: 1906
    functionLinenumberEnd: 1933
    functionName: crypto_ec_point_from_bin
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached:
    - TEST_FAIL
    - wc_ecc_new_point
    - wc_ecc_del_point
    - mp_set
    - mp_read_unsigned_bin
    linkageType: ''
    returnType: struct crypto_ec_point
    signature: "struct crypto_ec_point * crypto_ec_point_from_bin(struct crypto_ec
      *e,\n\t\t\t\t\t\t  const u8 *val)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1946,1
    - Dst: mp_init
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1949,1
    - Dst: mp_montgomery_calc_normalization
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1953,1
    - Dst: mp_clear
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1955,1
    - Dst: mp_isone
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1959,1
    - Dst: wc_ecc_new_point
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1960,1
    - Dst: mp_clear
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1962,1
    - Dst: wc_ecc_new_point
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1965,1
    - Dst: wc_ecc_del_point
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1967,1
    - Dst: mp_clear
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1968,1
    - Dst: mp_mulmod
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1972,1
    - Dst: mp_mulmod
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1973,1
    - Dst: mp_mulmod
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1974,1
    - Dst: mp_mulmod
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1975,1
    - Dst: mp_mulmod
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1976,1
    - Dst: mp_mulmod
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1977,1
    - Dst: ecc_projective_add_point
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1985,1
    - Dst: ecc_map
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1992,1
    - Dst: wc_ecc_del_point
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1997,1
    - Dst: wc_ecc_del_point
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1998,1
    - Dst: mp_clear
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:1999,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 4
    argNames:
    - e
    - a
    - b
    - c
    argTypes:
    - struct crypto_ec*
    - struct crypto_ec_point*
    - struct crypto_ec_point*
    - struct crypto_ec_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2001
      start: 1936
    functionDepth: 1
    functionLinenumber: 1936
    functionLinenumberEnd: 2001
    functionName: crypto_ec_point_add
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 1
    functionsReached:
    - TEST_FAIL
    - wc_ecc_new_point
    - ecc_projective_add_point
    - ecc_map
    - mp_mulmod
    - wc_ecc_del_point
    - mp_isone
    - mp_clear
    - mp_init
    - mp_montgomery_calc_normalization
    linkageType: ''
    returnType: int
    signature: "int crypto_ec_point_add(struct crypto_ec *e, const struct crypto_ec_point
      *a,\n\t\t\tconst struct crypto_ec_point *b,\n\t\t\tstruct crypto_ec_point *c)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2010,1
    - Dst: wc_ecc_mulmod
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2013,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - e
    - p
    - b
    - res
    argTypes:
    - struct crypto_ec*
    - struct crypto_ec_point*
    - struct crypto_bignum*
    - struct crypto_ec_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2016
      start: 2004
    functionDepth: 1
    functionLinenumber: 2004
    functionLinenumberEnd: 2016
    functionName: crypto_ec_point_mul
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 1
    functionsReached:
    - TEST_FAIL
    - wc_ecc_mulmod
    linkageType: ''
    returnType: int
    signature: "int crypto_ec_point_mul(struct crypto_ec *e, const struct crypto_ec_point
      *p,\n\t\t\tconst struct crypto_bignum *b,\n\t\t\tstruct crypto_ec_point *res)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2023,1
    - Dst: mp_sub
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2026,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - e
    - p
    argTypes:
    - struct crypto_ec*
    - struct crypto_ec_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2030
      start: 2019
    functionDepth: 1
    functionLinenumber: 2019
    functionLinenumberEnd: 2030
    functionName: crypto_ec_point_invert
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 1
    functionsReached:
    - TEST_FAIL
    - mp_sub
    linkageType: ''
    returnType: int
    signature: int crypto_ec_point_invert(struct crypto_ec *e, struct crypto_ec_point
      *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2039,1
    - Dst: crypto_bignum_init
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2043,1
    - Dst: mp_sqrmod
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2045,1
    - Dst: mp_addmod
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2046,1
    - Dst: mp_mulmod
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2047,1
    - Dst: mp_addmod
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2048,1
    - Dst: mp_clear
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2049,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2050,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - e
    - x
    argTypes:
    - struct crypto_ec*
    - struct crypto_bignum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2055
      start: 2033
    functionDepth: 1
    functionLinenumber: 2033
    functionLinenumberEnd: 2055
    functionName: crypto_ec_point_compute_y_sqr
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached:
    - TEST_FAIL
    - crypto_bignum_init
    - mp_mulmod
    - mp_addmod
    - os_free
    - mp_sqrmod
    - mp_clear
    linkageType: ''
    returnType: struct crypto_bignum
    signature: "struct crypto_bignum *\ncrypto_ec_point_compute_y_sqr(struct crypto_ec
      *e,\n\t\t\t      const struct crypto_bignum *x)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wc_ecc_point_is_at_infinity
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2061,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - e
    - p
    argTypes:
    - struct crypto_ec*
    - struct crypto_ec_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2062
      start: 2058
    functionDepth: 0
    functionLinenumber: 2058
    functionLinenumberEnd: 2062
    functionName: crypto_ec_point_is_at_infinity
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 1
    functionsReached:
    - wc_ecc_point_is_at_infinity
    linkageType: ''
    returnType: int
    signature: "int crypto_ec_point_is_at_infinity(struct crypto_ec *e,\n\t\t\t\t
      \  const struct crypto_ec_point *p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wc_ecc_is_point
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2068,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - e
    - p
    argTypes:
    - struct crypto_ec*
    - struct crypto_ec_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2070
      start: 2065
    functionDepth: 0
    functionLinenumber: 2065
    functionLinenumberEnd: 2070
    functionName: crypto_ec_point_is_on_curve
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached:
    - wc_ecc_is_point
    linkageType: ''
    returnType: int
    signature: "int crypto_ec_point_is_on_curve(struct crypto_ec *e,\n\t\t\t\tconst
      struct crypto_ec_point *p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wc_ecc_cmp_point
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2077,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - e
    - a
    - b
    argTypes:
    - struct crypto_ec*
    - struct crypto_ec_point*
    - struct crypto_ec_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2078
      start: 2073
    functionDepth: 0
    functionLinenumber: 2073
    functionLinenumberEnd: 2078
    functionName: crypto_ec_point_cmp
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached:
    - wc_ecc_cmp_point
    linkageType: ''
    returnType: int
    signature: "int crypto_ec_point_cmp(const struct crypto_ec *e,\n\t\t\tconst struct
      crypto_ec_point *a,\n\t\t\tconst struct crypto_ec_point *b)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2099,1
    - Dst: LOG_WOLF_ERROR_FUNC_NULL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2101,1
    - Dst: wc_rng_init
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2105,1
    - Dst: LOG_WOLF_ERROR_FUNC_NULL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2107,1
    - Dst: crypto_ec_init
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2111,1
    - Dst: LOG_WOLF_ERROR_FUNC_NULL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2113,1
    - Dst: wc_ecc_set_rng
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2118,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2120,1
    - Dst: crypto_ecdh_deinit
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2127,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 1
    argNames:
    - group
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2129
      start: 2092
    functionDepth: 2
    functionLinenumber: 2092
    functionLinenumberEnd: 2129
    functionName: _crypto_ecdh_init
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached:
    - wc_rng_init
    - crypto_ecdh_deinit
    - LOG_WOLF_ERROR_FUNC
    - os_zalloc
    - LOG_WOLF_ERROR_FUNC_NULL
    - wc_ecc_set_rng
    - crypto_ec_init
    linkageType: ''
    returnType: struct crypto_ecdh
    signature: struct crypto_ecdh * _crypto_ecdh_init(int group)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _crypto_ecdh_init
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2137,1
    - Dst: LOG_WOLF_ERROR_FUNC_NULL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2140,1
    - Dst: wc_ecc_make_key_ex
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2144,1
    - Dst: crypto_ec_group_2_id
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2145,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2147,1
    - Dst: crypto_ecdh_deinit
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - group
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2153
      start: 2132
    functionDepth: 3
    functionLinenumber: 2132
    functionLinenumberEnd: 2153
    functionName: crypto_ecdh_init
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 3
    functionsReached:
    - crypto_ecdh_deinit
    - LOG_WOLF_ERROR_FUNC
    - crypto_ec_group_2_id
    - _crypto_ecdh_init
    - LOG_WOLF_ERROR_FUNC_NULL
    - wc_ecc_make_key_ex
    linkageType: ''
    returnType: struct crypto_ecdh
    signature: struct crypto_ecdh * crypto_ecdh_init(int group)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: crypto_ec_key_group
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2160,1
    - Dst: LOG_INVALID_PARAMETERS
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2161,1
    - Dst: _crypto_ecdh_init
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2165,1
    - Dst: ecc_key_deinit
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2169,1
    - Dst: wc_ecc_set_rng
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2174,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2177,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - group
    - own_key
    argTypes:
    - int
    - struct crypto_ec_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2183
      start: 2156
    functionDepth: 3
    functionLinenumber: 2156
    functionLinenumberEnd: 2183
    functionName: crypto_ecdh_init2
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached:
    - LOG_WOLF_ERROR_FUNC
    - _crypto_ecdh_init
    - crypto_ec_key_group
    - LOG_INVALID_PARAMETERS
    - ecc_key_deinit
    - wc_ecc_set_rng
    linkageType: ''
    returnType: struct crypto_ecdh
    signature: struct crypto_ecdh * crypto_ecdh_init2(int group, struct crypto_ec_key
      *own_key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wc_ecc_set_rng
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2193,1
    - Dst: crypto_ec_deinit
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2195,1
    - Dst: wc_rng_deinit
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2196,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2197,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - ecdh
    argTypes:
    - struct crypto_ecdh*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2199
      start: 2186
    functionDepth: 1
    functionLinenumber: 2186
    functionLinenumberEnd: 2199
    functionName: crypto_ecdh_deinit
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 5
    functionsReached:
    - os_free
    - wc_rng_deinit
    - wc_ecc_set_rng
    - crypto_ec_deinit
    linkageType: ''
    returnType: void
    signature: void crypto_ecdh_deinit(struct crypto_ecdh *ecdh)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2208,1
    - Dst: crypto_bignum_to_bin
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2212,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2213,1
    - Dst: crypto_bignum_to_bin
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2218,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2220,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2228,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - ecdh
    - inc_y
    argTypes:
    - struct crypto_ecdh*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2231
      start: 2202
    functionDepth: 1
    functionLinenumber: 2202
    functionLinenumberEnd: 2231
    functionName: crypto_ecdh_get_pubkey
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 1
    functionsReached:
    - crypto_bignum_to_bin
    - wpabuf_alloc
    - wpabuf_free
    - wpabuf_put
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * crypto_ecdh_get_pubkey(struct crypto_ecdh *ecdh, int
      inc_y)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: LOG_WOLF_ERROR
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2245,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2248,1
    - Dst: LOG_WOLF_ERROR_FUNC_NULL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2250,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2253,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2254,1
    - Dst: wc_ecc_new_point
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2256,1
    - Dst: LOG_WOLF_ERROR_FUNC_NULL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2258,1
    - Dst: wc_ecc_import_point_der
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2262,1
    - Dst: wpabuf_mhead
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2262,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2265,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2269,1
    - Dst: LOG_WOLF_ERROR_FUNC_NULL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2271,1
    - Dst: wc_ecc_shared_secret_ex
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2275,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2276,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2278,1
    - Dst: wc_ecc_del_point
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2283,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2284,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2287,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 49
    argCount: 4
    argNames:
    - ecdh
    - inc_y
    - key
    - len
    argTypes:
    - struct crypto_ecdh*
    - int
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2290
      start: 2234
    functionDepth: 1
    functionLinenumber: 2234
    functionLinenumberEnd: 2290
    functionName: crypto_ecdh_set_peerkey
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 1
    functionsReached:
    - wpabuf_put
    - LOG_WOLF_ERROR_FUNC
    - wpabuf_put_data
    - wpabuf_put_u8
    - wc_ecc_new_point
    - wpabuf_free
    - LOG_WOLF_ERROR
    - wpabuf_alloc
    - wc_ecc_del_point
    - wc_ecc_import_point_der
    - wpabuf_mhead
    - LOG_WOLF_ERROR_FUNC_NULL
    - wc_ecc_shared_secret_ex
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * crypto_ecdh_set_peerkey(struct crypto_ecdh *ecdh,
      int inc_y,\n\t\t\t\t\tconst u8 *key, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_ec_prime_len
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ecdh
    argTypes:
    - struct crypto_ecdh*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2296
      start: 2293
    functionDepth: 0
    functionLinenumber: 2293
    functionLinenumberEnd: 2296
    functionName: crypto_ecdh_prime_len
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached:
    - crypto_ec_prime_len
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_ecdh_prime_len(struct crypto_ecdh *ecdh)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2302,1
    - Dst: ecc_key_init
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2304,1
    - Dst: LOG_WOLF_ERROR_FUNC_NULL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2309,1
    - Dst: crypto_ec_key_deinit
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2310,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2315
      start: 2298
    functionDepth: 2
    functionLinenumber: 2298
    functionLinenumberEnd: 2315
    functionName: crypto_ec_key_init
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached:
    - crypto_ec_key_deinit
    - os_zalloc
    - ecc_key_init
    - LOG_WOLF_ERROR_FUNC_NULL
    linkageType: ''
    returnType: struct crypto_ec_key
    signature: struct crypto_ec_key * crypto_ec_key_init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ecc_key_deinit
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2321,1
    - Dst: wc_rng_deinit
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2322,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - struct crypto_ec_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2325
      start: 2318
    functionDepth: 1
    functionLinenumber: 2318
    functionLinenumberEnd: 2325
    functionName: crypto_ec_key_deinit
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 3
    functionsReached:
    - os_free
    - ecc_key_deinit
    - wc_rng_deinit
    linkageType: ''
    returnType: void
    signature: void crypto_ec_key_deinit(struct crypto_ec_key *key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wc_rng_init
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2332,1
    - Dst: LOG_WOLF_ERROR_FUNC_NULL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2334,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - key
    argTypes:
    - struct crypto_ec_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2337
      start: 2328
    functionDepth: 2
    functionLinenumber: 2328
    functionLinenumberEnd: 2337
    functionName: crypto_ec_key_init_rng
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached:
    - wc_rng_init
    - LOG_WOLF_ERROR_FUNC_NULL
    linkageType: ''
    returnType: WC_RNG
    signature: WC_RNG * crypto_ec_key_init_rng(struct crypto_ec_key *key)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: crypto_ec_key_init
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2346,1
    - Dst: LOG_WOLF_ERROR_FUNC_NULL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2348,1
    - Dst: wc_EccPrivateKeyDecode
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2352,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2354,1
    - Dst: crypto_ec_key_deinit
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2361,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - der
    - der_len
    argTypes:
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2363
      start: 2340
    functionDepth: 3
    functionLinenumber: 2340
    functionLinenumberEnd: 2363
    functionName: crypto_ec_key_parse_priv
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 1
    functionsReached:
    - wc_EccPrivateKeyDecode
    - crypto_ec_key_deinit
    - LOG_WOLF_ERROR_FUNC
    - LOG_WOLF_ERROR_FUNC_NULL
    - crypto_ec_key_init
    linkageType: ''
    returnType: struct crypto_ec_key
    signature: struct crypto_ec_key * crypto_ec_key_parse_priv(const u8 *der, size_t
      der_len)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: LOG_INVALID_PARAMETERS
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2370,1
    - Dst: LOG_WOLF_ERROR_VA
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2397,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 1
    argNames:
    - key
    argTypes:
    - struct crypto_ec_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2400
      start: 2366
    functionDepth: 1
    functionLinenumber: 2366
    functionLinenumberEnd: 2400
    functionName: crypto_ec_key_group
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 2
    functionsReached:
    - LOG_INVALID_PARAMETERS
    - LOG_WOLF_ERROR_VA
    linkageType: ''
    returnType: int
    signature: int crypto_ec_key_group(struct crypto_ec_key *key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wc_ecc_make_pub
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2408,1
    - Dst: crypto_ec_key_init_rng
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2412,1
    - Dst: LOG_WOLF_ERROR_FUNC_NULL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2413,1
    - Dst: wc_ecc_make_pub_ex
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2417,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2421,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - key
    argTypes:
    - struct crypto_ec_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2426
      start: 2403
    functionDepth: 3
    functionLinenumber: 2403
    functionLinenumberEnd: 2426
    functionName: crypto_ec_key_gen_public_key
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached:
    - LOG_WOLF_ERROR_FUNC
    - wc_ecc_make_pub
    - wc_ecc_make_pub_ex
    - crypto_ec_key_init_rng
    - LOG_WOLF_ERROR_FUNC_NULL
    linkageType: ''
    returnType: int
    signature: int crypto_ec_key_gen_public_key(struct crypto_ec_key *key)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: LOG_INVALID_PARAMETERS
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2436,1
    - Dst: crypto_ec_key_gen_public_key
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2442,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2443,1
    - Dst: wc_EccPublicKeyToDer_ex
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2448,1
    - Dst: crypto_ec_key_gen_public_key
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2450,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2451,1
    - Dst: wc_EccPublicKeyToDer_ex
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2454,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2458,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2462,1
    - Dst: LOG_WOLF_ERROR_FUNC_NULL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2464,1
    - Dst: wc_EccPublicKeyToDer_ex
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2468,1
    - Dst: wpabuf_mhead
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2468,1
    - Dst: crypto_ec_key_gen_public_key
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2471,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2472,1
    - Dst: wc_EccPublicKeyToDer_ex
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2475,1
    - Dst: wpabuf_mhead
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2475,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2479,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2483,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2488,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 52
    argCount: 1
    argNames:
    - key
    argTypes:
    - struct crypto_ec_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2490
      start: 2429
    functionDepth: 4
    functionLinenumber: 2429
    functionLinenumberEnd: 2490
    functionName: crypto_ec_key_get_subject_public_key
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 1
    functionsReached:
    - LOG_WOLF_ERROR_FUNC_NULL
    - wc_EccPublicKeyToDer_ex
    - wpabuf_put
    - LOG_WOLF_ERROR_FUNC
    - wpabuf_free
    - LOG_INVALID_PARAMETERS
    - wpabuf_alloc
    - wpabuf_mhead
    - crypto_ec_key_gen_public_key
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * crypto_ec_key_get_subject_public_key(struct crypto_ec_key
      *key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: crypto_ec_key_init
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2499,1
    - Dst: LOG_WOLF_ERROR_FUNC_NULL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2501,1
    - Dst: wc_EccPublicKeyDecode
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2505,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2507,1
    - Dst: crypto_ec_key_deinit
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2513,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - der
    - der_len
    argTypes:
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2515
      start: 2493
    functionDepth: 3
    functionLinenumber: 2493
    functionLinenumberEnd: 2515
    functionName: crypto_ec_key_parse_pub
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached:
    - crypto_ec_key_deinit
    - LOG_WOLF_ERROR_FUNC
    - wc_EccPublicKeyDecode
    - LOG_WOLF_ERROR_FUNC_NULL
    - crypto_ec_key_init
    linkageType: ''
    returnType: struct crypto_ec_key
    signature: struct crypto_ec_key * crypto_ec_key_parse_pub(const u8 *der, size_t
      der_len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LOG_INVALID_PARAMETERS
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2527,1
    - Dst: crypto_ec_key_init_rng
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2531,1
    - Dst: LOG_WOLF_ERROR_FUNC_NULL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2532,1
    - Dst: wc_ecc_sig_size
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2536,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2538,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2542,1
    - Dst: LOG_WOLF_ERROR_FUNC_NULL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2544,1
    - Dst: wc_ecc_sign_hash
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2549,1
    - Dst: wpabuf_mhead
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2549,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2552,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2555,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2559,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 3
    argNames:
    - key
    - data
    - len
    argTypes:
    - struct crypto_ec_key*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2561
      start: 2518
    functionDepth: 3
    functionLinenumber: 2518
    functionLinenumberEnd: 2561
    functionName: crypto_ec_key_sign
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached:
    - wpabuf_put
    - LOG_WOLF_ERROR_FUNC
    - wc_ecc_sig_size
    - wpabuf_free
    - LOG_INVALID_PARAMETERS
    - crypto_ec_key_init_rng
    - wpabuf_alloc
    - wpabuf_mhead
    - LOG_WOLF_ERROR_FUNC_NULL
    - wc_ecc_sign_hash
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * crypto_ec_key_sign(struct crypto_ec_key *key, const
      u8 *data,\n\t\t\t\t   size_t len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LOG_INVALID_PARAMETERS
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2570,1
    - Dst: wc_ecc_verify_hash
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2574,1
    - Dst: LOG_WOLF_ERROR
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2576,1
    - Dst: LOG_WOLF_ERROR
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2581,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 5
    argNames:
    - key
    - data
    - len
    - sig
    - sig_len
    argTypes:
    - struct crypto_ec_key*
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2584
      start: 2564
    functionDepth: 1
    functionLinenumber: 2564
    functionLinenumberEnd: 2584
    functionName: crypto_ec_key_verify_signature
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached:
    - LOG_WOLF_ERROR
    - LOG_INVALID_PARAMETERS
    - wc_ecc_verify_hash
    linkageType: ''
    returnType: int
    signature: "int crypto_ec_key_verify_signature(struct crypto_ec_key *key, const
      u8 *data,\n\t\t\t\t   size_t len, const u8 *sig, size_t sig_len)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: LOG_INVALID_PARAMETERS
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2598,1
    - Dst: LOG_INVALID_PARAMETERS
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2605,1
    - Dst: wc_EccKeyDerSize
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2610,1
    - Dst: crypto_ec_key_gen_public_key
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2612,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2613,1
    - Dst: wc_EccKeyDerSize
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2616,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2624,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2628,1
    - Dst: LOG_WOLF_ERROR_FUNC_NULL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2630,1
    - Dst: wc_EccKeyToDer
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2635,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2635,1
    - Dst: wc_EccPrivateKeyToDer
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2637,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2637,1
    - Dst: LOG_WOLF_ERROR_VA
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2641,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2644,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 2
    argNames:
    - key
    - include_pub
    argTypes:
    - struct crypto_ec_key*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2649
      start: 2590
    functionDepth: 4
    functionLinenumber: 2590
    functionLinenumberEnd: 2649
    functionName: crypto_ec_key_get_ecprivate_key
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached:
    - LOG_WOLF_ERROR_FUNC_NULL
    - wc_EccPrivateKeyToDer
    - wpabuf_put
    - wc_EccKeyDerSize
    - LOG_WOLF_ERROR_FUNC
    - wpabuf_free
    - LOG_INVALID_PARAMETERS
    - wpabuf_alloc
    - wc_EccKeyToDer
    - crypto_ec_key_gen_public_key
    - LOG_WOLF_ERROR_VA
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * crypto_ec_key_get_ecprivate_key(struct crypto_ec_key
      *key,\n\t\t\t\t\t\tbool include_pub)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: LOG_INVALID_PARAMETERS
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2660,1
    - Dst: wc_ecc_export_x963
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2664,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2666,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2670,1
    - Dst: LOG_WOLF_ERROR_FUNC_NULL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2672,1
    - Dst: wc_ecc_export_x963
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2676,1
    - Dst: wpabuf_mhead
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2676,1
    - Dst: crypto_ec_key_gen_public_key
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2678,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2679,1
    - Dst: wc_ecc_export_x963
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2682,1
    - Dst: wpabuf_mhead
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2682,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2685,1
    - Dst: os_memmove
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2690,1
    - Dst: wpabuf_mhead
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2690,1
    - Dst: wpabuf_mhead_u8
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2690,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2692,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2697,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 2
    argNames:
    - key
    - prefix
    argTypes:
    - struct crypto_ec_key*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2699
      start: 2652
    functionDepth: 4
    functionLinenumber: 2652
    functionLinenumberEnd: 2699
    functionName: crypto_ec_key_get_pubkey_point
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached:
    - wpabuf_put
    - wc_ecc_export_x963
    - LOG_WOLF_ERROR_FUNC
    - wpabuf_mhead_u8
    - wpabuf_free
    - os_memmove
    - crypto_ec_key_gen_public_key
    - LOG_INVALID_PARAMETERS
    - wpabuf_alloc
    - wpabuf_mhead
    - LOG_WOLF_ERROR_FUNC_NULL
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * crypto_ec_key_get_pubkey_point(struct crypto_ec_key
      *key,\n\t\t\t\t\t       int prefix)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: crypto_ec_group_2_id
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2706,1
    - Dst: wc_ecc_get_curve_size_from_id
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2710,1
    - Dst: LOG_INVALID_PARAMETERS
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2711,1
    - Dst: crypto_ec_key_init
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2715,1
    - Dst: LOG_WOLF_ERROR_FUNC_NULL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2717,1
    - Dst: wc_ecc_import_unsigned
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2722,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2725,1
    - Dst: crypto_ec_key_deinit
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2726,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 4
    argNames:
    - group
    - x
    - y
    - len
    argTypes:
    - int
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2731
      start: 2702
    functionDepth: 3
    functionLinenumber: 2702
    functionLinenumberEnd: 2731
    functionName: crypto_ec_key_set_pub
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 1
    functionsReached:
    - wc_ecc_get_curve_size_from_id
    - crypto_ec_key_deinit
    - LOG_WOLF_ERROR_FUNC
    - crypto_ec_group_2_id
    - LOG_INVALID_PARAMETERS
    - wc_ecc_import_unsigned
    - LOG_WOLF_ERROR_FUNC_NULL
    - crypto_ec_key_init
    linkageType: ''
    returnType: struct crypto_ec_key
    signature: "struct crypto_ec_key * crypto_ec_key_set_pub(int group, const u8 *x,\n\t\t\t\t\t
      \    const u8 *y, size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: crypto_ec_key_get_subject_public_key
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2737,1
    - Dst: crypto_ec_key_get_subject_public_key
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2738,1
    - Dst: LOG_WOLF_ERROR
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2741,1
    - Dst: wpabuf_cmp
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2745,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2749,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2750,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - key1
    - key2
    argTypes:
    - struct crypto_ec_key*
    - struct crypto_ec_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2752
      start: 2734
    functionDepth: 1
    functionLinenumber: 2734
    functionLinenumberEnd: 2752
    functionName: crypto_ec_key_cmp
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached:
    - crypto_ec_key_get_subject_public_key
    - wpabuf_clear_free
    - wpabuf_cmp
    - LOG_WOLF_ERROR
    linkageType: ''
    returnType: int
    signature: int crypto_ec_key_cmp(struct crypto_ec_key *key1, struct crypto_ec_key
      *key2)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: LOG_INVALID_PARAMETERS
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2766,1
    - Dst: crypto_ec_key_get_subject_public_key
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2771,1
    - Dst: crypto_ec_key_get_ecprivate_key
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2774,1
    - Dst: LOG_WOLF_ERROR_VA
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2778,1
    - Dst: wc_DerToPem
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2788,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2788,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2788,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2791,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2796,1
    - Dst: LOG_WOLF_ERROR_FUNC_NULL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2798,1
    - Dst: wc_DerToPem
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2802,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2802,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2802,1
    - Dst: wpabuf_mhead
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2803,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2805,1
    - Dst: wpabuf_mhead_u8
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2809,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2810,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2811,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2812,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2815,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2816,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 2
    argNames:
    - key
    - title
    argTypes:
    - struct crypto_ec_key*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2817
      start: 2757
    functionDepth: 1
    functionLinenumber: 2757
    functionLinenumberEnd: 2817
    functionName: crypto_ec_key_debug_print
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached:
    - LOG_WOLF_ERROR_FUNC_NULL
    - wpabuf_put
    - wpa_printf
    - LOG_WOLF_ERROR_FUNC
    - wpabuf_len
    - wpabuf_mhead_u8
    - wc_DerToPem
    - wpabuf_head
    - LOG_INVALID_PARAMETERS
    - wpabuf_alloc
    - wpabuf_mhead
    - crypto_ec_key_get_ecprivate_key
    - crypto_ec_key_get_subject_public_key
    - wpabuf_clear_free
    - LOG_WOLF_ERROR_VA
    linkageType: ''
    returnType: void
    signature: "void crypto_ec_key_debug_print(const struct crypto_ec_key *key,\n\t\t\t
      \      const char *title)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LOG_INVALID_PARAMETERS
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2830,1
    - Dst: crypto_ec_point_to_bin
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2839,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2841,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2845,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2846,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - e
    - p
    - title
    argTypes:
    - struct crypto_ec*
    - struct crypto_ec_point*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2847
      start: 2820
    functionDepth: 1
    functionLinenumber: 2820
    functionLinenumberEnd: 2847
    functionName: crypto_ec_point_debug_print
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached:
    - LOG_INVALID_PARAMETERS
    - crypto_ec_point_to_bin
    - LOG_WOLF_ERROR_FUNC
    - wpa_hexdump
    linkageType: ''
    returnType: void
    signature: "void crypto_ec_point_debug_print(const struct crypto_ec *e,\n\t\t\t\t
      const struct crypto_ec_point *p,\n\t\t\t\t const char *title)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: crypto_ec_group_2_id
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2852,1
    - Dst: LOG_INVALID_PARAMETERS
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2857,1
    - Dst: crypto_ec_key_init
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2861,1
    - Dst: LOG_WOLF_ERROR_FUNC_NULL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2863,1
    - Dst: crypto_ec_key_init_rng
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2867,1
    - Dst: LOG_WOLF_ERROR_FUNC_NULL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2868,1
    - Dst: wc_ecc_make_key_ex
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2872,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2874,1
    - Dst: crypto_ec_key_deinit
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2880,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - group
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2882
      start: 2850
    functionDepth: 3
    functionLinenumber: 2850
    functionLinenumberEnd: 2882
    functionName: crypto_ec_key_gen
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached:
    - crypto_ec_key_deinit
    - LOG_WOLF_ERROR_FUNC
    - crypto_ec_group_2_id
    - LOG_INVALID_PARAMETERS
    - crypto_ec_key_init_rng
    - LOG_WOLF_ERROR_FUNC_NULL
    - wc_ecc_make_key_ex
    - crypto_ec_key_init
    linkageType: ''
    returnType: struct crypto_ec_key
    signature: struct crypto_ec_key * crypto_ec_key_gen(int group)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOG_INVALID_PARAMETERS
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2896,1
    - Dst: wc_ecc_rs_raw_to_sig
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2900,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2902,1
    - Dst: crypto_ec_key_verify_signature
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2906,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 7
    argNames:
    - key
    - data
    - len
    - r
    - r_len
    - s
    - s_len
    argTypes:
    - struct crypto_ec_key*
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2907
      start: 2885
    functionDepth: 1
    functionLinenumber: 2885
    functionLinenumberEnd: 2907
    functionName: crypto_ec_key_verify_signature_r_s
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached:
    - LOG_INVALID_PARAMETERS
    - crypto_ec_key_verify_signature
    - LOG_WOLF_ERROR_FUNC
    - wc_ecc_rs_raw_to_sig
    linkageType: ''
    returnType: int
    signature: "int crypto_ec_key_verify_signature_r_s(struct crypto_ec_key *key,\n\t\t\t\t
      \      const u8 *data, size_t len,\n\t\t\t\t       const u8 *r, size_t r_len,\n\t\t\t\t
      \      const u8 *s, size_t s_len)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: LOG_INVALID_PARAMETERS
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2918,1
    - Dst: wc_ecc_export_x963
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2922,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2924,1
    - Dst: os_malloc
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2928,1
    - Dst: LOG_WOLF_ERROR_FUNC_NULL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2930,1
    - Dst: wc_ecc_export_x963
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2934,1
    - Dst: crypto_ec_key_gen_public_key
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2936,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2937,1
    - Dst: wc_ecc_export_x963
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2940,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2943,1
    - Dst: wc_ecc_new_point
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2947,1
    - Dst: LOG_WOLF_ERROR_FUNC_NULL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2949,1
    - Dst: wc_ecc_import_point_der
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2953,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2955,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2959,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2963,1
    - Dst: wc_ecc_del_point
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2965,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 52
    argCount: 1
    argNames:
    - key
    argTypes:
    - struct crypto_ec_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2967
      start: 2910
    functionDepth: 4
    functionLinenumber: 2910
    functionLinenumberEnd: 2967
    functionName: crypto_ec_key_get_public_key
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached:
    - wc_ecc_export_x963
    - LOG_WOLF_ERROR_FUNC
    - wc_ecc_new_point
    - os_malloc
    - crypto_ec_key_gen_public_key
    - LOG_INVALID_PARAMETERS
    - wc_ecc_del_point
    - wc_ecc_import_point_der
    - LOG_WOLF_ERROR_FUNC_NULL
    - os_free
    linkageType: ''
    returnType: struct crypto_ec_point
    signature: struct crypto_ec_point * crypto_ec_key_get_public_key(struct crypto_ec_key
      *key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOG_INVALID_PARAMETERS
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2985,1
    - Dst: wc_ecc_export_private_raw
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2990,1
    - Dst: wc_ecc_export_private_raw
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2993,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:2997,1
    - Dst: crypto_bignum_init_set
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3001,1
    - Dst: forced_memzero
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3002,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - key
    argTypes:
    - struct crypto_ec_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3004
      start: 2970
    functionDepth: 1
    functionLinenumber: 2970
    functionLinenumberEnd: 3004
    functionName: crypto_ec_key_get_private_key
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached:
    - wc_ecc_export_private_raw
    - LOG_WOLF_ERROR_FUNC
    - forced_memzero
    - LOG_INVALID_PARAMETERS
    - crypto_bignum_init_set
    linkageType: ''
    returnType: struct crypto_bignum
    signature: struct crypto_bignum * crypto_ec_key_get_private_key(struct crypto_ec_key
      *key)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: LOG_INVALID_PARAMETERS
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3019,1
    - Dst: crypto_ec_key_init_rng
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3025,1
    - Dst: LOG_WOLF_ERROR_FUNC_NULL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3026,1
    - Dst: mp_init_multi
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3030,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3032,1
    - Dst: wc_ecc_sign_hash_ex
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3037,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3039,1
    - Dst: mp_unsigned_bin_size
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3043,1
    - Dst: mp_unsigned_bin_size
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3043,1
    - Dst: LOG_WOLF_ERROR_VA
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3044,1
    - Dst: mp_unsigned_bin_size
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3045,1
    - Dst: mp_unsigned_bin_size
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3046,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3050,1
    - Dst: LOG_WOLF_ERROR_FUNC_NULL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3052,1
    - Dst: mp_to_unsigned_bin_len
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3056,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3056,1
    - Dst: mp_to_unsigned_bin_len
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3058,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3058,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3060,1
    - Dst: mp_free
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3067,1
    - Dst: mp_free
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3068,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3071,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 55
    argCount: 3
    argNames:
    - key
    - data
    - len
    argTypes:
    - struct crypto_ec_key*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3076
      start: 3007
    functionDepth: 3
    functionLinenumber: 3007
    functionLinenumberEnd: 3076
    functionName: crypto_ec_key_sign_r_s
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached:
    - mp_free
    - wpabuf_put
    - LOG_WOLF_ERROR_FUNC
    - wc_ecc_sign_hash_ex
    - wpabuf_free
    - LOG_INVALID_PARAMETERS
    - crypto_ec_key_init_rng
    - wpabuf_alloc
    - mp_init_multi
    - mp_unsigned_bin_size
    - mp_to_unsigned_bin_len
    - LOG_WOLF_ERROR_FUNC_NULL
    - LOG_WOLF_ERROR_VA
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * crypto_ec_key_sign_r_s(struct crypto_ec_key *key,\n\t\t\t\t
      \      const u8 *data, size_t len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: LOG_INVALID_PARAMETERS
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3089,1
    - Dst: wc_ecc_export_point_der
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3094,1
    - Dst: wc_ecc_get_curve_idx
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3094,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3097,1
    - Dst: os_malloc
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3101,1
    - Dst: LOG_WOLF_ERROR_FUNC_NULL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3103,1
    - Dst: wc_ecc_export_point_der
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3107,1
    - Dst: wc_ecc_get_curve_idx
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3107,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3110,1
    - Dst: crypto_ec_key_init
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3114,1
    - Dst: LOG_WOLF_ERROR_FUNC_NULL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3116,1
    - Dst: wc_ecc_import_x963_ex
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3120,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3122,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3126,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3130,1
    - Dst: crypto_ec_key_deinit
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3131,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 2
    argNames:
    - e
    - pub
    argTypes:
    - struct crypto_ec*
    - struct crypto_ec_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3133
      start: 3079
    functionDepth: 3
    functionLinenumber: 3079
    functionLinenumberEnd: 3133
    functionName: crypto_ec_key_set_pub_point
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached:
    - wc_ecc_get_curve_idx
    - crypto_ec_key_deinit
    - LOG_WOLF_ERROR_FUNC
    - wc_ecc_export_point_der
    - os_malloc
    - LOG_INVALID_PARAMETERS
    - wc_ecc_import_x963_ex
    - LOG_WOLF_ERROR_FUNC_NULL
    - os_free
    - crypto_ec_key_init
    linkageType: ''
    returnType: struct crypto_ec_key
    signature: "struct crypto_ec_key *\ncrypto_ec_key_set_pub_point(struct crypto_ec
      *e,\n\t\t\t    const struct crypto_ec_point *pub)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: LOG_INVALID_PARAMETERS
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3145,1
    - Dst: wc_PKCS7_New
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3149,1
    - Dst: LOG_WOLF_ERROR_FUNC_NULL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3151,1
    - Dst: wc_PKCS7_VerifySignedData
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3155,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3155,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3156,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3158,1
    - Dst: wc_PKCS7_Free
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3159,1
    - Dst: wc_DerToPem
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3167,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3172,1
    - Dst: LOG_WOLF_ERROR
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3178,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3182,1
    - Dst: LOG_WOLF_ERROR_FUNC_NULL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3184,1
    - Dst: wc_DerToPem
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3195,1
    - Dst: wpabuf_mhead_u8
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3196,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3196,1
    - Dst: wpabuf_tailroom
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3197,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3200,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3202,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3203,1
    - Dst: wc_PKCS7_Free
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3211,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 59
    argCount: 1
    argNames:
    - pkcs7
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3213
      start: 3136
    functionDepth: 1
    functionLinenumber: 3136
    functionLinenumberEnd: 3213
    functionName: crypto_pkcs7_get_certificates
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached:
    - wc_PKCS7_New
    - wc_PKCS7_Free
    - wpabuf_put
    - wc_PKCS7_VerifySignedData
    - LOG_WOLF_ERROR_FUNC
    - wpabuf_len
    - wpabuf_mhead_u8
    - wpabuf_free
    - wpabuf_head
    - wc_DerToPem
    - LOG_INVALID_PARAMETERS
    - LOG_WOLF_ERROR
    - wpabuf_alloc
    - wpabuf_tailroom
    - LOG_WOLF_ERROR_FUNC_NULL
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * crypto_pkcs7_get_certificates(const struct wpabuf *pkcs7)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wc_FreeDecodedCert
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3246,1
    - Dst: wc_SetCert_Free
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3250,1
    - Dst: wc_InitDecodedCert
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3259,1
    - Dst: wc_InitCert
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3262,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3264,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 4
    argNames:
    - csr
    - type
    - source
    - in_sz
    argTypes:
    - struct crypto_csr*
    - enum cert_type
    - byte*
    - word32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3271
      start: 3236
    functionDepth: 1
    functionLinenumber: 3236
    functionLinenumberEnd: 3271
    functionName: crypto_csr_init_type
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached:
    - LOG_WOLF_ERROR_FUNC
    - wc_InitCert
    - wc_FreeDecodedCert
    - wc_InitDecodedCert
    - wc_SetCert_Free
    linkageType: ''
    returnType: void
    signature: "void crypto_csr_init_type(struct crypto_csr *csr, enum cert_type type,\n\t\t\t\t
      const byte *source, word32 in_sz)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3276,1
    - Dst: LOG_WOLF_ERROR_FUNC_NULL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3279,1
    - Dst: crypto_csr_init_type
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3288
      start: 3274
    functionDepth: 2
    functionLinenumber: 3274
    functionLinenumberEnd: 3288
    functionName: crypto_csr_init
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached:
    - crypto_csr_init_type
    - os_malloc
    - LOG_WOLF_ERROR_FUNC_NULL
    linkageType: ''
    returnType: struct crypto_csr
    signature: struct crypto_csr * crypto_csr_init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_csr_init_type
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3294,1
    - Dst: crypto_ec_key_deinit
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3295,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3296,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - csr
    argTypes:
    - struct crypto_csr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3298
      start: 3291
    functionDepth: 2
    functionLinenumber: 3291
    functionLinenumberEnd: 3298
    functionName: crypto_csr_deinit
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached:
    - crypto_ec_key_deinit
    - os_free
    - crypto_csr_init_type
    linkageType: ''
    returnType: void
    signature: void crypto_csr_deinit(struct crypto_csr *csr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LOG_INVALID_PARAMETERS
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3307,1
    - Dst: crypto_ec_key_deinit
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3312,1
    - Dst: crypto_ec_key_get_subject_public_key
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3317,1
    - Dst: LOG_WOLF_ERROR_FUNC_NULL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3319,1
    - Dst: crypto_ec_key_parse_pub
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3323,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3323,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3324,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3325,1
    - Dst: LOG_WOLF_ERROR_FUNC_NULL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3327,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - csr
    - key
    argTypes:
    - struct crypto_csr*
    - struct crypto_ec_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3332
      start: 3301
    functionDepth: 1
    functionLinenumber: 3301
    functionLinenumberEnd: 3332
    functionName: crypto_csr_set_ec_public_key
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached:
    - crypto_ec_key_deinit
    - wpabuf_len
    - wpabuf_free
    - crypto_ec_key_parse_pub
    - wpabuf_head
    - LOG_INVALID_PARAMETERS
    - LOG_WOLF_ERROR_FUNC_NULL
    - crypto_ec_key_get_subject_public_key
    linkageType: ''
    returnType: int
    signature: "int crypto_csr_set_ec_public_key(struct crypto_csr *csr,\n\t\t\t\t
      struct crypto_ec_key *key)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: LOG_INVALID_PARAMETERS
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3342,1
    - Dst: LOG_WOLF_ERROR_VA
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3347,1
    - Dst: os_strlen
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3351,1
    - Dst: LOG_WOLF_ERROR
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3353,1
    - Dst: LOG_INVALID_PARAMETERS
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3374,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3378,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 3
    argNames:
    - csr
    - type
    - name
    argTypes:
    - struct crypto_csr*
    - enum crypto_csr_name
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3382
      start: 3335
    functionDepth: 1
    functionLinenumber: 3335
    functionLinenumberEnd: 3382
    functionName: crypto_csr_set_name
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_memcpy
    - LOG_INVALID_PARAMETERS
    - LOG_WOLF_ERROR
    - LOG_WOLF_ERROR_VA
    linkageType: ''
    returnType: int
    signature: "int crypto_csr_set_name(struct crypto_csr *csr, enum crypto_csr_name
      type,\n\t\t\tconst char *name)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LOG_INVALID_PARAMETERS
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3390,1
    - Dst: LOG_WOLF_ERROR_VA
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3395,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3401,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 5
    argNames:
    - csr
    - attr
    - attr_type
    - value
    - len
    argTypes:
    - struct crypto_csr*
    - enum crypto_csr_attr
    - int
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3409
      start: 3385
    functionDepth: 1
    functionLinenumber: 3385
    functionLinenumberEnd: 3409
    functionName: crypto_csr_set_attribute
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached:
    - LOG_INVALID_PARAMETERS
    - os_memcpy
    - LOG_WOLF_ERROR_VA
    linkageType: ''
    returnType: int
    signature: "int crypto_csr_set_attribute(struct crypto_csr *csr, enum crypto_csr_attr
      attr,\n\t\t\t     int attr_type, const u8 *value, size_t len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LOG_INVALID_PARAMETERS
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3417,1
    - Dst: os_strlen
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3430,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 4
    argNames:
    - csr
    - attr
    - len
    - type
    argTypes:
    - struct crypto_csr*
    - enum crypto_csr_attr
    - size_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3438
      start: 3412
    functionDepth: 1
    functionLinenumber: 3412
    functionLinenumberEnd: 3438
    functionName: crypto_csr_get_attribute
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - LOG_INVALID_PARAMETERS
    linkageType: ''
    returnType: u8
    signature: "u8 * crypto_csr_get_attribute(struct crypto_csr *csr,\n\t\t\t\t    enum
      crypto_csr_attr attr,\n\t\t\t\t    size_t *len, int *type)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: LOG_INVALID_PARAMETERS
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3452,1
    - Dst: LOG_WOLF_ERROR_VA
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3457,1
    - Dst: crypto_ec_key_init_rng
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3461,1
    - Dst: LOG_WOLF_ERROR_FUNC_NULL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3462,1
    - Dst: LOG_INVALID_PARAMETERS
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3477,1
    - Dst: wc_MakeCertReq
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3483,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3486,1
    - Dst: os_malloc
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3492,1
    - Dst: LOG_WOLF_ERROR_FUNC_NULL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3494,1
    - Dst: wc_MakeCertReq
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3498,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3501,1
    - Dst: wc_SignCert
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3506,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3509,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3514,1
    - Dst: LOG_WOLF_ERROR_FUNC_NULL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3516,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3521,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 65
    argCount: 3
    argNames:
    - csr
    - key
    - algo
    argTypes:
    - struct crypto_csr*
    - struct crypto_ec_key*
    - enum crypto_hash_alg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3523
      start: 3441
    functionDepth: 3
    functionLinenumber: 3441
    functionLinenumberEnd: 3523
    functionName: crypto_csr_sign
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached:
    - wc_SignCert
    - LOG_WOLF_ERROR_FUNC
    - wc_MakeCertReq
    - os_malloc
    - wpabuf_alloc_copy
    - LOG_INVALID_PARAMETERS
    - crypto_ec_key_init_rng
    - LOG_WOLF_ERROR_FUNC_NULL
    - os_free
    - LOG_WOLF_ERROR_VA
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * crypto_csr_sign(struct crypto_csr *csr,\n\t\t\t\tstruct
      crypto_ec_key *key,\n\t\t\t\tenum crypto_hash_alg algo)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LOG_INVALID_PARAMETERS
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3532,1
    - Dst: crypto_csr_init
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3536,1
    - Dst: LOG_WOLF_ERROR_FUNC_NULL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3538,1
    - Dst: crypto_csr_init_type
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3542,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3543,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3543,1
    - Dst: wc_ParseCert
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3544,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3546,1
    - Dst: crypto_csr_deinit
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3552,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3554
      start: 3526
    functionDepth: 2
    functionLinenumber: 3526
    functionLinenumberEnd: 3554
    functionName: crypto_csr_verify
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached:
    - crypto_csr_init_type
    - LOG_WOLF_ERROR_FUNC
    - crypto_csr_init
    - wpabuf_len
    - wpabuf_head
    - LOG_INVALID_PARAMETERS
    - LOG_WOLF_ERROR_FUNC_NULL
    - crypto_csr_deinit
    - wc_ParseCert
    linkageType: ''
    returnType: struct crypto_csr
    signature: struct crypto_csr * crypto_csr_verify(const struct wpabuf *req)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3571,1
    - Dst: wc_InitRsaKey
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3575,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3577,1
    - Dst: wc_rng_init
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3581,1
    - Dst: LOG_WOLF_ERROR_FUNC_NULL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3583,1
    - Dst: wc_RsaSetRNG
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3587,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3589,1
    - Dst: crypto_rsa_key_free
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3595,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3597
      start: 3566
    functionDepth: 2
    functionLinenumber: 3566
    functionLinenumberEnd: 3597
    functionName: crypto_rsa_key_init
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached:
    - wc_rng_init
    - wc_RsaSetRNG
    - LOG_WOLF_ERROR_FUNC
    - wc_InitRsaKey
    - os_zalloc
    - LOG_WOLF_ERROR_FUNC_NULL
    - crypto_rsa_key_free
    linkageType: ''
    returnType: struct crypto_rsa_key
    signature: struct crypto_rsa_key * crypto_rsa_key_init(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wc_FreeRsaKey
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3605,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3607,1
    - Dst: wc_rng_free
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3608,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3609,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - key
    argTypes:
    - struct crypto_rsa_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3611
      start: 3600
    functionDepth: 1
    functionLinenumber: 3600
    functionLinenumberEnd: 3611
    functionName: crypto_rsa_key_free
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 5
    functionsReached:
    - os_free
    - wc_FreeRsaKey
    - wc_rng_free
    - LOG_WOLF_ERROR_FUNC
    linkageType: ''
    returnType: void
    signature: void crypto_rsa_key_free(struct crypto_rsa_key *key)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wc_PemToDer
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3622,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3625,1
    - Dst: wc_InitDecodedCert
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3629,1
    - Dst: wc_ParseCert
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3630,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3632,1
    - Dst: wc_GetPubKeyDerFromCert
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3636,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3638,1
    - Dst: wc_FreeDer
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3643,1
    - Dst: wc_AllocDer
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3646,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3648,1
    - Dst: wc_GetPubKeyDerFromCert
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3652,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3655,1
    - Dst: wc_FreeDecodedCert
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3661,1
    - Dst: wc_FreeDer
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3662,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 3
    argNames:
    - key_pem
    - key_pem_len
    - key_der
    argTypes:
    - unsigned char*
    - size_t
    - DerBuffer**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3666
      start: 3614
    functionDepth: 1
    functionLinenumber: 3614
    functionLinenumberEnd: 3666
    functionName: read_rsa_key_from_x509
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached:
    - wc_AllocDer
    - LOG_WOLF_ERROR_FUNC
    - wc_FreeDer
    - wc_GetPubKeyDerFromCert
    - wc_FreeDecodedCert
    - wc_PemToDer
    - wc_InitDecodedCert
    - wc_ParseCert
    linkageType: ''
    returnType: void
    signature: "void read_rsa_key_from_x509(unsigned char *key_pem, size_t key_pem_len,\n\t\t\t\t
      \  DerBuffer **key_der)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: os_readfile
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3680,1
    - Dst: LOG_WOLF_ERROR_FUNC_NULL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3682,1
    - Dst: wc_PemToDer
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3686,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3691,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3697,1
    - Dst: read_rsa_key_from_x509
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3699,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3701,1
    - Dst: LOG_WOLF_ERROR_FUNC_NULL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3702,1
    - Dst: LOG_WOLF_ERROR
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3708,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3713,1
    - Dst: crypto_rsa_key_init
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3716,1
    - Dst: LOG_WOLF_ERROR_FUNC_NULL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3718,1
    - Dst: wc_RsaPrivateKeyDecode
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3723,1
    - Dst: wc_RsaPublicKeyDecode
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3726,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3731,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3733,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3739,1
    - Dst: wc_FreeDer
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3741,1
    - Dst: crypto_rsa_key_free
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3743,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 57
    argCount: 2
    argNames:
    - file
    - private_key
    argTypes:
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3748
      start: 3669
    functionDepth: 3
    functionLinenumber: 3669
    functionLinenumberEnd: 3748
    functionName: crypto_rsa_key_read
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 3
    functionsReached:
    - wpa_printf
    - wc_RsaPublicKeyDecode
    - LOG_WOLF_ERROR_FUNC
    - wc_RsaPrivateKeyDecode
    - wc_FreeDer
    - LOG_WOLF_ERROR
    - os_readfile
    - read_rsa_key_from_x509
    - wc_PemToDer
    - LOG_WOLF_ERROR_FUNC_NULL
    - os_free
    - crypto_rsa_key_init
    - crypto_rsa_key_free
    linkageType: ''
    returnType: struct crypto_rsa_key
    signature: struct crypto_rsa_key * crypto_rsa_key_read(const char *file, bool
      private_key)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LOG_INVALID_PARAMETERS
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3759,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3763,1
    - Dst: wc_RsaEncryptSize
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3763,1
    - Dst: LOG_WOLF_ERROR_FUNC_NULL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3765,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3769,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3771,1
    - Dst: wc_RsaEncryptSize
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3771,1
    - Dst: wc_RsaPublicEncrypt_ex
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3773,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3773,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3773,1
    - Dst: wpabuf_mhead_u8
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3774,1
    - Dst: wpabuf_size
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3774,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3779,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3782,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3787,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - key
    - in
    argTypes:
    - struct crypto_rsa_key*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3792
      start: 3751
    functionDepth: 1
    functionLinenumber: 3751
    functionLinenumberEnd: 3792
    functionName: crypto_rsa_oaep_sha256_encrypt
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - wpabuf_put
    - wpabuf_head_u8
    - wpabuf_size
    - LOG_WOLF_ERROR_FUNC
    - wpabuf_len
    - wpabuf_mhead_u8
    - wc_RsaPublicEncrypt_ex
    - wpabuf_free
    - LOG_INVALID_PARAMETERS
    - wpabuf_alloc
    - LOG_WOLF_ERROR_FUNC_NULL
    - wc_RsaEncryptSize
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * crypto_rsa_oaep_sha256_encrypt(struct crypto_rsa_key
      *key,\n\t\t\t\t\t       const struct wpabuf *in)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LOG_INVALID_PARAMETERS
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3803,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3807,1
    - Dst: wc_RsaEncryptSize
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3807,1
    - Dst: LOG_WOLF_ERROR_FUNC_NULL
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3809,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3813,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3815,1
    - Dst: wc_RsaEncryptSize
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3815,1
    - Dst: wc_RsaPrivateDecrypt_ex
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3817,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3817,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3817,1
    - Dst: wpabuf_mhead_u8
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3818,1
    - Dst: wpabuf_size
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3818,1
    - Dst: LOG_WOLF_ERROR_FUNC
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3823,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3826,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/crypto_wolfssl.c:3831,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - key
    - in
    argTypes:
    - struct crypto_rsa_key*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3836
      start: 3795
    functionDepth: 1
    functionLinenumber: 3795
    functionLinenumberEnd: 3836
    functionName: crypto_rsa_oaep_sha256_decrypt
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put
    - wpabuf_head_u8
    - wpabuf_size
    - LOG_WOLF_ERROR_FUNC
    - wpabuf_len
    - wpabuf_mhead_u8
    - wc_RsaPrivateDecrypt_ex
    - wpabuf_free
    - LOG_INVALID_PARAMETERS
    - wpabuf_alloc
    - LOG_WOLF_ERROR_FUNC_NULL
    - wc_RsaEncryptSize
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * crypto_rsa_oaep_sha256_decrypt(struct crypto_rsa_key
      *key,\n\t\t\t\t\t       const struct wpabuf *in)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3841
      start: 3839
    functionDepth: 0
    functionLinenumber: 3839
    functionLinenumberEnd: 3841
    functionName: crypto_unload
    functionSourceFile: /src/hostap/src/crypto/crypto_wolfssl.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void crypto_unload(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conf
    argTypes:
    - struct tls_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: tls_init
    functionSourceFile: /src/hostap/src/crypto/tls_none.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * tls_init(const struct tls_config *conf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ssl_ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: tls_deinit
    functionSourceFile: /src/hostap/src/crypto/tls_none.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tls_deinit(void *ssl_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tls_ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: tls_get_errors
    functionSourceFile: /src/hostap/src/crypto/tls_none.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tls_get_errors(void *tls_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tls_ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: tls_connection_init
    functionSourceFile: /src/hostap/src/crypto/tls_none.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: struct tls_connection
    signature: struct tls_connection * tls_connection_init(void *tls_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - tls_ctx
    - conn
    argTypes:
    - void*
    - struct tls_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: tls_connection_deinit
    functionSourceFile: /src/hostap/src/crypto/tls_none.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tls_connection_deinit(void *tls_ctx, struct tls_connection *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tls_ctx
    - conn
    argTypes:
    - void*
    - struct tls_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: tls_connection_established
    functionSourceFile: /src/hostap/src/crypto/tls_none.c
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tls_connection_established(void *tls_ctx, struct tls_connection
      *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tls_ctx
    - conn
    argTypes:
    - void*
    - struct tls_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: tls_connection_peer_serial_num
    functionSourceFile: /src/hostap/src/crypto/tls_none.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char * tls_connection_peer_serial_num(void *tls_ctx,\n\t\t\t\t      struct
      tls_connection *conn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tls_ctx
    - conn
    argTypes:
    - void*
    - struct tls_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: tls_connection_shutdown
    functionSourceFile: /src/hostap/src/crypto/tls_none.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tls_connection_shutdown(void *tls_ctx, struct tls_connection *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tls_ctx
    - conn
    - params
    argTypes:
    - void*
    - struct tls_connection*
    - struct tls_connection_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: tls_connection_set_params
    functionSourceFile: /src/hostap/src/crypto/tls_none.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int tls_connection_set_params(void *tls_ctx, struct tls_connection
      *conn,\n\t\t\t      const struct tls_connection_params *params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tls_ctx
    - params
    argTypes:
    - void*
    - struct tls_connection_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: tls_global_set_params
    functionSourceFile: /src/hostap/src/crypto/tls_none.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int tls_global_set_params(void *tls_ctx,\n\t\t\t  const struct tls_connection_params
      *params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tls_ctx
    - check_crl
    - strict
    argTypes:
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: tls_global_set_verify
    functionSourceFile: /src/hostap/src/crypto/tls_none.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tls_global_set_verify(void *tls_ctx, int check_crl, int strict)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - tls_ctx
    - conn
    - verify_peer
    - flags
    - session_ctx
    - session_ctx_len
    argTypes:
    - void*
    - struct tls_connection*
    - int
    - unsigned int
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: tls_connection_set_verify
    functionSourceFile: /src/hostap/src/crypto/tls_none.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int tls_connection_set_verify(void *tls_ctx, struct tls_connection
      *conn,\n\t\t\t      int verify_peer, unsigned int flags,\n\t\t\t      const
      u8 *session_ctx, size_t session_ctx_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tls_ctx
    - conn
    - data
    argTypes:
    - void*
    - struct tls_connection*
    - struct tls_random*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: tls_connection_get_random
    functionSourceFile: /src/hostap/src/crypto/tls_none.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int tls_connection_get_random(void *tls_ctx, struct tls_connection
      *conn,\n\t\t\t      struct tls_random *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - tls_ctx
    - conn
    - label
    - context
    - context_len
    - out
    - out_len
    argTypes:
    - void*
    - struct tls_connection*
    - char*
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: tls_connection_export_key
    functionSourceFile: /src/hostap/src/crypto/tls_none.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int tls_connection_export_key(void *tls_ctx, struct tls_connection
      *conn,\n\t\t\t      const char *label, const u8 *context,\n\t\t\t      size_t
      context_len, u8 *out, size_t out_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - tls_ctx
    - conn
    - out
    - out_len
    argTypes:
    - void*
    - struct tls_connection*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: tls_connection_get_eap_fast_key
    functionSourceFile: /src/hostap/src/crypto/tls_none.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int tls_connection_get_eap_fast_key(void *tls_ctx, struct tls_connection
      *conn,\n\t\t\t\t    u8 *out, size_t out_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - tls_ctx
    - conn
    - in_data
    - appl_data
    argTypes:
    - void*
    - struct tls_connection*
    - struct wpabuf*
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 117
    functionName: tls_connection_handshake
    functionSourceFile: /src/hostap/src/crypto/tls_none.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * tls_connection_handshake(void *tls_ctx,\n\t\t\t\t\t
      struct tls_connection *conn,\n\t\t\t\t\t const struct wpabuf *in_data,\n\t\t\t\t\t
      struct wpabuf **appl_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - tls_ctx
    - conn
    - in_data
    - appl_data
    argTypes:
    - void*
    - struct tls_connection*
    - struct wpabuf*
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 126
    functionName: tls_connection_server_handshake
    functionSourceFile: /src/hostap/src/crypto/tls_none.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * tls_connection_server_handshake(void *tls_ctx,\n\t\t\t\t\t\tstruct
      tls_connection *conn,\n\t\t\t\t\t\tconst struct wpabuf *in_data,\n\t\t\t\t\t\tstruct
      wpabuf **appl_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tls_ctx
    - conn
    - in_data
    argTypes:
    - void*
    - struct tls_connection*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 134
    functionName: tls_connection_encrypt
    functionSourceFile: /src/hostap/src/crypto/tls_none.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * tls_connection_encrypt(void *tls_ctx,\n\t\t\t\t       struct
      tls_connection *conn,\n\t\t\t\t       const struct wpabuf *in_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tls_ctx
    - conn
    - in_data
    argTypes:
    - void*
    - struct tls_connection*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 142
    functionName: tls_connection_decrypt
    functionSourceFile: /src/hostap/src/crypto/tls_none.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * tls_connection_decrypt(void *tls_ctx,\n\t\t\t\t       struct
      tls_connection *conn,\n\t\t\t\t       const struct wpabuf *in_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tls_ctx
    - conn
    argTypes:
    - void*
    - struct tls_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: tls_connection_resumed
    functionSourceFile: /src/hostap/src/crypto/tls_none.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tls_connection_resumed(void *tls_ctx, struct tls_connection *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tls_ctx
    - conn
    - ciphers
    argTypes:
    - void*
    - struct tls_connection*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 155
    functionName: tls_connection_set_cipher_list
    functionSourceFile: /src/hostap/src/crypto/tls_none.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int tls_connection_set_cipher_list(void *tls_ctx, struct tls_connection
      *conn,\n\t\t\t\t   u8 *ciphers)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ssl_ctx
    - conn
    - buf
    - buflen
    argTypes:
    - void*
    - struct tls_connection*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 162
    functionName: tls_get_version
    functionSourceFile: /src/hostap/src/crypto/tls_none.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int tls_get_version(void *ssl_ctx, struct tls_connection *conn,\n\t\t
      \   char *buf, size_t buflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - tls_ctx
    - conn
    - buf
    - buflen
    argTypes:
    - void*
    - struct tls_connection*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionName: tls_get_cipher
    functionSourceFile: /src/hostap/src/crypto/tls_none.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int tls_get_cipher(void *tls_ctx, struct tls_connection *conn,\n\t\t
      \  char *buf, size_t buflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tls_ctx
    - conn
    argTypes:
    - void*
    - struct tls_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 176
    functionName: tls_connection_enable_workaround
    functionSourceFile: /src/hostap/src/crypto/tls_none.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int tls_connection_enable_workaround(void *tls_ctx,\n\t\t\t\t     struct
      tls_connection *conn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - tls_ctx
    - conn
    - ext_type
    - data
    - data_len
    argTypes:
    - void*
    - struct tls_connection*
    - int
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionName: tls_connection_client_hello_ext
    functionSourceFile: /src/hostap/src/crypto/tls_none.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int tls_connection_client_hello_ext(void *tls_ctx, struct tls_connection
      *conn,\n\t\t\t\t    int ext_type, const u8 *data,\n\t\t\t\t    size_t data_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tls_ctx
    - conn
    argTypes:
    - void*
    - struct tls_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: tls_connection_get_failed
    functionSourceFile: /src/hostap/src/crypto/tls_none.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tls_connection_get_failed(void *tls_ctx, struct tls_connection
      *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tls_ctx
    - conn
    argTypes:
    - void*
    - struct tls_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 196
    functionName: tls_connection_get_read_alerts
    functionSourceFile: /src/hostap/src/crypto/tls_none.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tls_connection_get_read_alerts(void *tls_ctx, struct tls_connection
      *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tls_ctx
    - conn
    argTypes:
    - void*
    - struct tls_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: tls_connection_get_write_alerts
    functionSourceFile: /src/hostap/src/crypto/tls_none.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int tls_connection_get_write_alerts(void *tls_ctx,\n\t\t\t\t    struct
      tls_connection *conn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/src/crypto/tls_none.c:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - buf_len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 209
    functionName: tls_get_library_version
    functionSourceFile: /src/hostap/src/crypto/tls_none.c
    functionUses: 2
    functionsReached:
    - os_snprintf
    linkageType: ''
    returnType: int
    signature: int tls_get_library_version(char *buf, size_t buf_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/tls_none.c:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - conn
    - data
    argTypes:
    - struct tls_connection*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 216
    functionName: tls_connection_set_success_data
    functionSourceFile: /src/hostap/src/crypto/tls_none.c
    functionUses: 0
    functionsReached:
    - wpabuf_free
    linkageType: ''
    returnType: void
    signature: "void tls_connection_set_success_data(struct tls_connection *conn,\n\t\t\t\t
      \    struct wpabuf *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct tls_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 221
    functionName: tls_connection_set_success_data_resumed
    functionSourceFile: /src/hostap/src/crypto/tls_none.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tls_connection_set_success_data_resumed(struct tls_connection
      *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct tls_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 228
    functionName: tls_connection_get_success_data
    functionSourceFile: /src/hostap/src/crypto/tls_none.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct wpabuf
    signature: 'struct wpabuf *

      tls_connection_get_success_data(struct tls_connection *conn)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct tls_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 233
    functionName: tls_connection_remove_session
    functionSourceFile: /src/hostap/src/crypto/tls_none.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tls_connection_remove_session(struct tls_connection *conn)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_get_random
      Src: /src/hostap/src/crypto/crypto_internal-modexp.c:21,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/crypto_internal-modexp.c:23,1
    - Dst: crypto_mod_exp
      Src: /src/hostap/src/crypto/crypto_internal-modexp.c:29,1
    - Dst: os_memmove
      Src: /src/hostap/src/crypto/crypto_internal-modexp.c:34,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/crypto_internal-modexp.c:35,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 5
    argNames:
    - generator
    - prime
    - prime_len
    - privkey
    - pubkey
    argTypes:
    - u8
    - u8*
    - size_t
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 39
    functionName: crypto_dh_init
    functionSourceFile: /src/hostap/src/crypto/crypto_internal-modexp.c
    functionUses: 0
    functionsReached:
    - os_get_random
    - os_memmove
    - os_memcmp
    - crypto_mod_exp
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int crypto_dh_init(u8 generator, const u8 *prime, size_t prime_len,
      u8 *privkey,\n\t\t   u8 *pubkey)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/crypto_internal-modexp.c:53,1
    - Dst: bignum_init
      Src: /src/hostap/src/crypto/crypto_internal-modexp.c:56,1
    - Dst: bignum_set_unsigned_bin
      Src: /src/hostap/src/crypto/crypto_internal-modexp.c:57,1
    - Dst: bignum_cmp_d
      Src: /src/hostap/src/crypto/crypto_internal-modexp.c:58,1
    - Dst: bignum_init
      Src: /src/hostap/src/crypto/crypto_internal-modexp.c:66,1
    - Dst: bignum_init
      Src: /src/hostap/src/crypto/crypto_internal-modexp.c:67,1
    - Dst: bignum_init
      Src: /src/hostap/src/crypto/crypto_internal-modexp.c:68,1
    - Dst: bignum_set_unsigned_bin
      Src: /src/hostap/src/crypto/crypto_internal-modexp.c:70,1
    - Dst: bignum_set_unsigned_bin
      Src: /src/hostap/src/crypto/crypto_internal-modexp.c:71,1
    - Dst: bignum_exptmod
      Src: /src/hostap/src/crypto/crypto_internal-modexp.c:72,1
    - Dst: bignum_cmp_d
      Src: /src/hostap/src/crypto/crypto_internal-modexp.c:73,1
    - Dst: bignum_deinit
      Src: /src/hostap/src/crypto/crypto_internal-modexp.c:74,1
    - Dst: bignum_deinit
      Src: /src/hostap/src/crypto/crypto_internal-modexp.c:75,1
    - Dst: bignum_deinit
      Src: /src/hostap/src/crypto/crypto_internal-modexp.c:76,1
    - Dst: crypto_mod_exp
      Src: /src/hostap/src/crypto/crypto_internal-modexp.c:81,1
    - Dst: bignum_deinit
      Src: /src/hostap/src/crypto/crypto_internal-modexp.c:84,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 24
    argCount: 11
    argNames:
    - generator
    - prime
    - prime_len
    - order
    - order_len
    - privkey
    - privkey_len
    - pubkey
    - pubkey_len
    - secret
    - len
    argTypes:
    - u8
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 86
    functionName: crypto_dh_derive_secret
    functionSourceFile: /src/hostap/src/crypto/crypto_internal-modexp.c
    functionUses: 0
    functionsReached:
    - bignum_deinit
    - bignum_exptmod
    - crypto_mod_exp
    - bignum_set_unsigned_bin
    - os_memcmp
    - bignum_cmp_d
    - bignum_init
    linkageType: ''
    returnType: int
    signature: "int crypto_dh_derive_secret(u8 generator, const u8 *prime, size_t
      prime_len,\n\t\t\t    const u8 *order, size_t order_len,\n\t\t\t    const u8
      *privkey, size_t privkey_len,\n\t\t\t    const u8 *pubkey, size_t pubkey_len,\n\t\t\t
      \   u8 *secret, size_t *len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bignum_init
      Src: /src/hostap/src/crypto/crypto_internal-modexp.c:97,1
    - Dst: bignum_init
      Src: /src/hostap/src/crypto/crypto_internal-modexp.c:98,1
    - Dst: bignum_init
      Src: /src/hostap/src/crypto/crypto_internal-modexp.c:99,1
    - Dst: bignum_init
      Src: /src/hostap/src/crypto/crypto_internal-modexp.c:100,1
    - Dst: bignum_set_unsigned_bin
      Src: /src/hostap/src/crypto/crypto_internal-modexp.c:106,1
    - Dst: bignum_set_unsigned_bin
      Src: /src/hostap/src/crypto/crypto_internal-modexp.c:107,1
    - Dst: bignum_set_unsigned_bin
      Src: /src/hostap/src/crypto/crypto_internal-modexp.c:108,1
    - Dst: bignum_exptmod
      Src: /src/hostap/src/crypto/crypto_internal-modexp.c:111,1
    - Dst: bignum_get_unsigned_bin
      Src: /src/hostap/src/crypto/crypto_internal-modexp.c:114,1
    - Dst: bignum_deinit
      Src: /src/hostap/src/crypto/crypto_internal-modexp.c:117,1
    - Dst: bignum_deinit
      Src: /src/hostap/src/crypto/crypto_internal-modexp.c:118,1
    - Dst: bignum_deinit
      Src: /src/hostap/src/crypto/crypto_internal-modexp.c:119,1
    - Dst: bignum_deinit
      Src: /src/hostap/src/crypto/crypto_internal-modexp.c:120,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 8
    argNames:
    - base
    - base_len
    - power
    - power_len
    - modulus
    - modulus_len
    - result
    - result_len
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 122
    functionName: crypto_mod_exp
    functionSourceFile: /src/hostap/src/crypto/crypto_internal-modexp.c
    functionUses: 6
    functionsReached:
    - bignum_deinit
    - bignum_get_unsigned_bin
    - bignum_exptmod
    - bignum_set_unsigned_bin
    - bignum_init
    linkageType: ''
    returnType: int
    signature: "int crypto_mod_exp(const u8 *base, size_t base_len,\n\t\t   const
      u8 *power, size_t power_len,\n\t\t   const u8 *modulus, size_t modulus_len,\n\t\t
      \  u8 *result, size_t *result_len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/crypto/sha512-kdf.c:46,1
    - Dst: hmac_sha512_vector
      Src: /src/hostap/src/crypto/sha512-kdf.c:56,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/sha512-kdf.c:64,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/sha512-kdf.c:71,1
    - Dst: forced_memzero
      Src: /src/hostap/src/crypto/sha512-kdf.c:72,1
    - Dst: hmac_sha512_vector
      Src: /src/hostap/src/crypto/sha512-kdf.c:77,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/sha512-kdf.c:79,1
    - Dst: forced_memzero
      Src: /src/hostap/src/crypto/sha512-kdf.c:80,1
    - Dst: forced_memzero
      Src: /src/hostap/src/crypto/sha512-kdf.c:85,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 7
    argNames:
    - secret
    - secret_len
    - label
    - seed
    - seed_len
    - out
    - outlen
    argTypes:
    - u8*
    - size_t
    - char*
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 87
    functionName: hmac_sha512_kdf
    functionSourceFile: /src/hostap/src/crypto/sha512-kdf.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_memcpy
    - forced_memzero
    - hmac_sha512_vector
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int hmac_sha512_kdf(const u8 *secret, size_t secret_len,\n\t\t    const
      char *label, const u8 *seed, size_t seed_len,\n\t\t    u8 *out, size_t outlen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_strdup
      Src: /src/hostap/src/crypto/tls_gnutls.c:81,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:93,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_gnutls.c:95,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - level
    - msg
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 96
    functionName: tls_log_func
    functionSourceFile: /src/hostap/src/crypto/tls_gnutls.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpa_printf
    - os_strdup
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *msg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:104,1
    - Dst: gnutls_check_version
      Src: /src/hostap/src/crypto/tls_gnutls.c:106,1
    - Dst: os_zalloc
      Src: /src/hostap/src/crypto/tls_gnutls.c:109,1
    - Dst: gnutls_global_init
      Src: /src/hostap/src/crypto/tls_gnutls.c:113,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_gnutls.c:114,1
    - Dst: gnutls_global_set_log_function
      Src: /src/hostap/src/crypto/tls_gnutls.c:119,1
    - Dst: gnutls_global_set_log_level
      Src: /src/hostap/src/crypto/tls_gnutls.c:121,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - conf
    argTypes:
    - struct tls_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 130
    functionName: tls_init
    functionSourceFile: /src/hostap/src/crypto/tls_gnutls.c
    functionUses: 5
    functionsReached:
    - wpa_printf
    - gnutls_global_set_log_level
    - gnutls_check_version
    - os_zalloc
    - gnutls_global_set_log_function
    - gnutls_global_init
    - os_free
    linkageType: ''
    returnType: void
    signature: void * tls_init(const struct tls_config *conf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_certificate_free_credentials
      Src: /src/hostap/src/crypto/tls_gnutls.c:138,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_gnutls.c:139,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_gnutls.c:140,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_gnutls.c:141,1
    - Dst: gnutls_global_deinit
      Src: /src/hostap/src/crypto/tls_gnutls.c:146,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ssl_ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 147
    functionName: tls_deinit
    functionSourceFile: /src/hostap/src/crypto/tls_gnutls.c
    functionUses: 8
    functionsReached:
    - os_free
    - gnutls_global_deinit
    - gnutls_certificate_free_credentials
    linkageType: ''
    returnType: void
    signature: void tls_deinit(void *ssl_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ssl_ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 153
    functionName: tls_get_errors
    functionSourceFile: /src/hostap/src/crypto/tls_gnutls.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tls_get_errors(void *ssl_ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/crypto/tls_gnutls.c:166,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/tls_gnutls.c:166,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/tls_gnutls.c:169,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:172,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/tls_gnutls.c:173,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:177,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - ptr
    - buf
    - len
    argTypes:
    - gnutls_transport_ptr_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 182
    functionName: tls_pull_func
    functionSourceFile: /src/hostap/src/crypto/tls_gnutls.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_printf
    - wpabuf_head_u8
    - wpabuf_len
    - wpabuf_free
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t tls_pull_func(gnutls_transport_ptr_t ptr, void *buf,\n\t\t\t
      \    size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_resize
      Src: /src/hostap/src/crypto/tls_gnutls.c:190,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/crypto/tls_gnutls.c:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ptr
    - buf
    - len
    argTypes:
    - gnutls_transport_ptr_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 197
    functionName: tls_push_func
    functionSourceFile: /src/hostap/src/crypto/tls_gnutls.c
    functionUses: 0
    functionsReached:
    - wpabuf_resize
    - wpabuf_put_data
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t tls_push_func(gnutls_transport_ptr_t ptr, const void *buf,\n\t\t\t
      \    size_t len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_init
      Src: /src/hostap/src/crypto/tls_gnutls.c:206,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:209,1
    - Dst: gnutls_strerror
      Src: /src/hostap/src/crypto/tls_gnutls.c:210,1
    - Dst: gnutls_set_default_priority
      Src: /src/hostap/src/crypto/tls_gnutls.c:214,1
    - Dst: gnutls_priority_set_direct
      Src: /src/hostap/src/crypto/tls_gnutls.c:218,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:223,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/hostap/src/crypto/tls_gnutls.c:228,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/hostap/src/crypto/tls_gnutls.c:229,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/hostap/src/crypto/tls_gnutls.c:230,1
    - Dst: gnutls_session_set_ptr
      Src: /src/hostap/src/crypto/tls_gnutls.c:231,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:236,1
    - Dst: gnutls_strerror
      Src: /src/hostap/src/crypto/tls_gnutls.c:237,1
    - Dst: gnutls_deinit
      Src: /src/hostap/src/crypto/tls_gnutls.c:238,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 2
    argNames:
    - global
    - conn
    argTypes:
    - struct tls_global*
    - struct tls_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 240
    functionName: tls_gnutls_init_session
    functionSourceFile: /src/hostap/src/crypto/tls_gnutls.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - gnutls_init
    - gnutls_priority_set_direct
    - gnutls_transport_set_pull_function
    - gnutls_transport_set_push_function
    - gnutls_strerror
    - gnutls_session_set_ptr
    - gnutls_transport_set_ptr
    - gnutls_set_default_priority
    - gnutls_deinit
    linkageType: ''
    returnType: int
    signature: "int tls_gnutls_init_session(struct tls_global *global,\n\t\t\t\t   struct
      tls_connection *conn)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/crypto/tls_gnutls.c:249,1
    - Dst: tls_gnutls_init_session
      Src: /src/hostap/src/crypto/tls_gnutls.c:254,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_gnutls.c:255,1
    - Dst: gnutls_credentials_set
      Src: /src/hostap/src/crypto/tls_gnutls.c:260,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:264,1
    - Dst: gnutls_strerror
      Src: /src/hostap/src/crypto/tls_gnutls.c:265,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_gnutls.c:266,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/hostap/src/crypto/tls_gnutls.c:271,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_gnutls.c:272,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - ssl_ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 277
    functionName: tls_connection_init
    functionSourceFile: /src/hostap/src/crypto/tls_gnutls.c
    functionUses: 5
    functionsReached:
    - wpa_printf
    - gnutls_credentials_set
    - gnutls_strerror
    - gnutls_certificate_allocate_credentials
    - os_zalloc
    - tls_gnutls_init_session
    - os_free
    linkageType: ''
    returnType: struct tls_connection
    signature: struct tls_connection * tls_connection_init(void *ssl_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_certificate_free_credentials
      Src: /src/hostap/src/crypto/tls_gnutls.c:285,1
    - Dst: gnutls_deinit
      Src: /src/hostap/src/crypto/tls_gnutls.c:286,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_gnutls.c:287,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/tls_gnutls.c:288,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/tls_gnutls.c:289,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_gnutls.c:290,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_gnutls.c:291,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_gnutls.c:292,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_gnutls.c:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - ssl_ctx
    - conn
    argTypes:
    - void*
    - struct tls_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 294
    functionName: tls_connection_deinit
    functionSourceFile: /src/hostap/src/crypto/tls_gnutls.c
    functionUses: 6
    functionsReached:
    - os_free
    - gnutls_deinit
    - wpabuf_free
    - gnutls_certificate_free_credentials
    linkageType: ''
    returnType: void
    signature: void tls_connection_deinit(void *ssl_ctx, struct tls_connection *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ssl_ctx
    - conn
    argTypes:
    - void*
    - struct tls_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 300
    functionName: tls_connection_established
    functionSourceFile: /src/hostap/src/crypto/tls_gnutls.c
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tls_connection_established(void *ssl_ctx, struct tls_connection
      *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tls_ctx
    - conn
    argTypes:
    - void*
    - struct tls_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 308
    functionName: tls_connection_peer_serial_num
    functionSourceFile: /src/hostap/src/crypto/tls_gnutls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char * tls_connection_peer_serial_num(void *tls_ctx,\n\t\t\t\t      struct
      tls_connection *conn)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_bye
      Src: /src/hostap/src/crypto/tls_gnutls.c:322,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/tls_gnutls.c:323,1
    - Dst: gnutls_deinit
      Src: /src/hostap/src/crypto/tls_gnutls.c:327,1
    - Dst: tls_gnutls_init_session
      Src: /src/hostap/src/crypto/tls_gnutls.c:328,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:329,1
    - Dst: gnutls_credentials_set
      Src: /src/hostap/src/crypto/tls_gnutls.c:334,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:338,1
    - Dst: gnutls_strerror
      Src: /src/hostap/src/crypto/tls_gnutls.c:339,1
    - Dst: gnutls_session_set_data
      Src: /src/hostap/src/crypto/tls_gnutls.c:344,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:348,1
    - Dst: gnutls_strerror
      Src: /src/hostap/src/crypto/tls_gnutls.c:349,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - ssl_ctx
    - conn
    argTypes:
    - void*
    - struct tls_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 355
    functionName: tls_connection_shutdown
    functionSourceFile: /src/hostap/src/crypto/tls_gnutls.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - gnutls_session_set_data
    - wpabuf_free
    - gnutls_credentials_set
    - gnutls_strerror
    - tls_gnutls_init_session
    - gnutls_deinit
    - gnutls_bye
    linkageType: ''
    returnType: int
    signature: int tls_connection_shutdown(void *ssl_ctx, struct tls_connection *conn)
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:370,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:376,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:382,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:387,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_gnutls.c:391,1
    - Dst: os_strdup
      Src: /src/hostap/src/crypto/tls_gnutls.c:394,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_gnutls.c:400,1
    - Dst: os_strdup
      Src: /src/hostap/src/crypto/tls_gnutls.c:403,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:409,1
    - Dst: os_snprintf
      Src: /src/hostap/src/crypto/tls_gnutls.c:420,1
    - Dst: os_strcmp
      Src: /src/hostap/src/crypto/tls_gnutls.c:434,1
    - Dst: os_strcmp
      Src: /src/hostap/src/crypto/tls_gnutls.c:436,1
    - Dst: os_strcmp
      Src: /src/hostap/src/crypto/tls_gnutls.c:440,1
    - Dst: os_strcmp
      Src: /src/hostap/src/crypto/tls_gnutls.c:443,1
    - Dst: os_strcmp
      Src: /src/hostap/src/crypto/tls_gnutls.c:446,1
    - Dst: os_strcmp
      Src: /src/hostap/src/crypto/tls_gnutls.c:449,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:453,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:462,1
    - Dst: gnutls_priority_set_direct
      Src: /src/hostap/src/crypto/tls_gnutls.c:463,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:465,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_gnutls.c:470,1
    - Dst: os_strdup
      Src: /src/hostap/src/crypto/tls_gnutls.c:471,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:475,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:484,1
    - Dst: gnutls_certificate_set_x509_trust_file
      Src: /src/hostap/src/crypto/tls_gnutls.c:486,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:489,1
    - Dst: gnutls_strerror
      Src: /src/hostap/src/crypto/tls_gnutls.c:492,1
    - Dst: gnutls_certificate_set_x509_trust_file
      Src: /src/hostap/src/crypto/tls_gnutls.c:493,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:497,1
    - Dst: gnutls_strerror
      Src: /src/hostap/src/crypto/tls_gnutls.c:500,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:503,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:507,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/hostap/src/crypto/tls_gnutls.c:517,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:520,1
    - Dst: gnutls_strerror
      Src: /src/hostap/src/crypto/tls_gnutls.c:522,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/hostap/src/crypto/tls_gnutls.c:523,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:526,1
    - Dst: gnutls_strerror
      Src: /src/hostap/src/crypto/tls_gnutls.c:528,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:533,1
    - Dst: gnutls_certificate_set_verify_function
      Src: /src/hostap/src/crypto/tls_gnutls.c:540,1
    - Dst: gnutls_certificate_set_verify_flags
      Src: /src/hostap/src/crypto/tls_gnutls.c:544,1
    - Dst: gnutls_certificate_set_verify_flags
      Src: /src/hostap/src/crypto/tls_gnutls.c:550,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:557,1
    - Dst: gnutls_certificate_set_x509_key_file2
      Src: /src/hostap/src/crypto/tls_gnutls.c:561,1
    - Dst: gnutls_certificate_set_x509_key_file
      Src: /src/hostap/src/crypto/tls_gnutls.c:566,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:571,1
    - Dst: gnutls_strerror
      Src: /src/hostap/src/crypto/tls_gnutls.c:573,1
    - Dst: gnutls_certificate_set_x509_key_file2
      Src: /src/hostap/src/crypto/tls_gnutls.c:575,1
    - Dst: gnutls_certificate_set_x509_key_file
      Src: /src/hostap/src/crypto/tls_gnutls.c:580,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:585,1
    - Dst: gnutls_strerror
      Src: /src/hostap/src/crypto/tls_gnutls.c:587,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:590,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:593,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:600,1
    - Dst: gnutls_certificate_set_x509_simple_pkcs12_file
      Src: /src/hostap/src/crypto/tls_gnutls.c:603,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:607,1
    - Dst: gnutls_strerror
      Src: /src/hostap/src/crypto/tls_gnutls.c:608,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:615,1
    - Dst: gnutls_certificate_set_x509_key_mem2
      Src: /src/hostap/src/crypto/tls_gnutls.c:628,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/hostap/src/crypto/tls_gnutls.c:633,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:637,1
    - Dst: gnutls_strerror
      Src: /src/hostap/src/crypto/tls_gnutls.c:638,1
    - Dst: gnutls_certificate_set_x509_key_mem2
      Src: /src/hostap/src/crypto/tls_gnutls.c:640,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/hostap/src/crypto/tls_gnutls.c:645,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:649,1
    - Dst: gnutls_strerror
      Src: /src/hostap/src/crypto/tls_gnutls.c:651,1
    - Dst: gnutls_certificate_set_x509_simple_pkcs12_mem
      Src: /src/hostap/src/crypto/tls_gnutls.c:663,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:667,1
    - Dst: gnutls_strerror
      Src: /src/hostap/src/crypto/tls_gnutls.c:668,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:672,1
    - Dst: gnutls_ocsp_status_request_enable_client
      Src: /src/hostap/src/crypto/tls_gnutls.c:679,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:682,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:689,1
    - Dst: gnutls_credentials_set
      Src: /src/hostap/src/crypto/tls_gnutls.c:697,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:700,1
    - Dst: gnutls_strerror
      Src: /src/hostap/src/crypto/tls_gnutls.c:701,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 201
    argCount: 3
    argNames:
    - tls_ctx
    - conn
    - params
    argTypes:
    - void*
    - struct tls_connection*
    - struct tls_connection_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 705
    functionName: tls_connection_set_params
    functionSourceFile: /src/hostap/src/crypto/tls_gnutls.c
    functionUses: 1
    functionsReached:
    - gnutls_certificate_set_x509_simple_pkcs12_mem
    - os_snprintf
    - gnutls_certificate_set_x509_trust_mem
    - gnutls_certificate_set_x509_key_mem2
    - gnutls_certificate_set_x509_trust_file
    - wpa_printf
    - gnutls_certificate_set_verify_function
    - os_free
    - os_strcmp
    - gnutls_certificate_set_x509_key_file2
    - gnutls_strerror
    - gnutls_certificate_set_x509_simple_pkcs12_file
    - gnutls_certificate_set_verify_flags
    - os_strdup
    - gnutls_certificate_set_x509_key_mem
    - gnutls_priority_set_direct
    - gnutls_certificate_set_x509_key_file
    - gnutls_credentials_set
    - gnutls_ocsp_status_request_enable_client
    linkageType: ''
    returnType: int
    signature: "int tls_connection_set_params(void *tls_ctx, struct tls_connection
      *conn,\n\t\t\t      const struct tls_connection_params *params)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:717,1
    - Dst: os_readfile
      Src: /src/hostap/src/crypto/tls_gnutls.c:721,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:723,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:729,1
    - Dst: gnutls_malloc
      Src: /src/hostap/src/crypto/tls_gnutls.c:731,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_gnutls.c:733,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/tls_gnutls.c:737,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_gnutls.c:739,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - session
    - ptr
    - resp
    argTypes:
    - gnutls_session_t
    - void*
    - gnutls_datum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 742
    functionName: server_ocsp_status_req
    functionSourceFile: /src/hostap/src/crypto/tls_gnutls.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - gnutls_malloc
    - os_readfile
    - os_free
    linkageType: ''
    returnType: int
    signature: "int server_ocsp_status_req(gnutls_session_t session, void *ptr,\n\t\t\t\t
      \ gnutls_datum_t *resp)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_certificate_free_credentials
      Src: /src/hostap/src/crypto/tls_gnutls.c:760,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/hostap/src/crypto/tls_gnutls.c:764,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:766,1
    - Dst: gnutls_strerror
      Src: /src/hostap/src/crypto/tls_gnutls.c:767,1
    - Dst: gnutls_certificate_set_x509_trust_file
      Src: /src/hostap/src/crypto/tls_gnutls.c:772,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:775,1
    - Dst: gnutls_strerror
      Src: /src/hostap/src/crypto/tls_gnutls.c:777,1
    - Dst: gnutls_certificate_set_x509_trust_file
      Src: /src/hostap/src/crypto/tls_gnutls.c:778,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:782,1
    - Dst: gnutls_strerror
      Src: /src/hostap/src/crypto/tls_gnutls.c:785,1
    - Dst: gnutls_certificate_set_verify_flags
      Src: /src/hostap/src/crypto/tls_gnutls.c:791,1
    - Dst: gnutls_certificate_set_verify_flags
      Src: /src/hostap/src/crypto/tls_gnutls.c:797,1
    - Dst: gnutls_certificate_set_x509_key_file
      Src: /src/hostap/src/crypto/tls_gnutls.c:805,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:809,1
    - Dst: gnutls_strerror
      Src: /src/hostap/src/crypto/tls_gnutls.c:810,1
    - Dst: gnutls_certificate_set_x509_key_file
      Src: /src/hostap/src/crypto/tls_gnutls.c:811,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:815,1
    - Dst: gnutls_strerror
      Src: /src/hostap/src/crypto/tls_gnutls.c:817,1
    - Dst: gnutls_certificate_set_x509_simple_pkcs12_file
      Src: /src/hostap/src/crypto/tls_gnutls.c:825,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:829,1
    - Dst: gnutls_strerror
      Src: /src/hostap/src/crypto/tls_gnutls.c:830,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:837,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_gnutls.c:844,1
    - Dst: os_strdup
      Src: /src/hostap/src/crypto/tls_gnutls.c:847,1
    - Dst: gnutls_certificate_set_ocsp_status_request_function
      Src: /src/hostap/src/crypto/tls_gnutls.c:850,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/hostap/src/crypto/tls_gnutls.c:859,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 68
    argCount: 2
    argNames:
    - tls_ctx
    - params
    argTypes:
    - void*
    - struct tls_connection_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 861
    functionName: tls_global_set_params
    functionSourceFile: /src/hostap/src/crypto/tls_gnutls.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - gnutls_certificate_free_credentials
    - gnutls_strerror
    - gnutls_certificate_allocate_credentials
    - gnutls_certificate_set_x509_simple_pkcs12_file
    - gnutls_certificate_set_verify_flags
    - gnutls_certificate_set_ocsp_status_request_function
    - gnutls_certificate_set_x509_trust_file
    - os_free
    - os_strdup
    - gnutls_certificate_set_x509_key_file
    linkageType: ''
    returnType: int
    signature: "int tls_global_set_params(void *tls_ctx,\n\t\t\t  const struct tls_connection_params
      *params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ssl_ctx
    - check_crl
    - strict
    argTypes:
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 868
    functionName: tls_global_set_verify
    functionSourceFile: /src/hostap/src/crypto/tls_gnutls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tls_global_set_verify(void *ssl_ctx, int check_crl, int strict)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_certificate_server_set_request
      Src: /src/hostap/src/crypto/tls_gnutls.c:879,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 6
    argNames:
    - ssl_ctx
    - conn
    - verify_peer
    - flags
    - session_ctx
    - session_ctx_len
    argTypes:
    - void*
    - struct tls_connection*
    - int
    - unsigned int
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 871
    functionDepth: 0
    functionLinenumber: 871
    functionLinenumberEnd: 884
    functionName: tls_connection_set_verify
    functionSourceFile: /src/hostap/src/crypto/tls_gnutls.c
    functionUses: 0
    functionsReached:
    - gnutls_certificate_server_set_request
    linkageType: ''
    returnType: int
    signature: "int tls_connection_set_verify(void *ssl_ctx, struct tls_connection
      *conn,\n\t\t\t      int verify_peer, unsigned int flags,\n\t\t\t      const
      u8 *session_ctx, size_t session_ctx_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/crypto/tls_gnutls.c:896,1
    - Dst: gnutls_session_get_random
      Src: /src/hostap/src/crypto/tls_gnutls.c:897,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ssl_ctx
    - conn
    - keys
    argTypes:
    - void*
    - struct tls_connection*
    - struct tls_random*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 887
    functionDepth: 0
    functionLinenumber: 887
    functionLinenumberEnd: 907
    functionName: tls_connection_get_random
    functionSourceFile: /src/hostap/src/crypto/tls_gnutls.c
    functionUses: 1
    functionsReached:
    - gnutls_session_get_random
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int tls_connection_get_random(void *ssl_ctx, struct tls_connection
      *conn,\n\t\t\t    struct tls_random *keys)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_prf_rfc5705
      Src: /src/hostap/src/crypto/tls_gnutls.c:918,1
    - Dst: os_strlen
      Src: /src/hostap/src/crypto/tls_gnutls.c:918,1
    - Dst: gnutls_prf
      Src: /src/hostap/src/crypto/tls_gnutls.c:924,1
    - Dst: os_strlen
      Src: /src/hostap/src/crypto/tls_gnutls.c:924,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 7
    argNames:
    - tls_ctx
    - conn
    - label
    - context
    - context_len
    - out
    - out_len
    argTypes:
    - void*
    - struct tls_connection*
    - char*
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 910
    functionDepth: 0
    functionLinenumber: 910
    functionLinenumberEnd: 928
    functionName: tls_connection_export_key
    functionSourceFile: /src/hostap/src/crypto/tls_gnutls.c
    functionUses: 2
    functionsReached:
    - os_strlen
    - gnutls_prf_rfc5705
    - gnutls_prf
    linkageType: ''
    returnType: int
    signature: "int tls_connection_export_key(void *tls_ctx, struct tls_connection
      *conn,\n\t\t\t      const char *label, const u8 *context,\n\t\t\t      size_t
      context_len, u8 *out, size_t out_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - tls_ctx
    - conn
    - out
    - out_len
    argTypes:
    - void*
    - struct tls_connection*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 935
    functionName: tls_connection_get_eap_fast_key
    functionSourceFile: /src/hostap/src/crypto/tls_gnutls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int tls_connection_get_eap_fast_key(void *tls_ctx, struct tls_connection
      *conn,\n\t\t\t\t    u8 *out, size_t out_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/crypto/tls_gnutls.c:950,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/crypto/tls_gnutls.c:956,1
    - Dst: struct tls_global*::event_cb
      Src: /src/hostap/src/crypto/tls_gnutls.c:959,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/tls_gnutls.c:960,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 6
    argNames:
    - conn
    - cert
    - depth
    - subject
    - err_str
    - reason
    argTypes:
    - struct tls_connection*
    - gnutls_datum_t*
    - int
    - char*
    - char*
    - enum tls_fail_reason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 938
    functionDepth: 1
    functionLinenumber: 938
    functionLinenumberEnd: 961
    functionName: gnutls_tls_fail_event
    functionSourceFile: /src/hostap/src/crypto/tls_gnutls.c
    functionUses: 0
    functionsReached:
    - wpabuf_free
    - struct tls_global*::event_cb
    - wpabuf_alloc_copy
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void gnutls_tls_fail_event(struct tls_connection *conn,\n\t\t\t\t
      \ const gnutls_datum_t *cert, int depth,\n\t\t\t\t  const char *subject, const
      char *err_str,\n\t\t\t\t  enum tls_fail_reason reason)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_get_key_purpose_oid
      Src: /src/hostap/src/crypto/tls_gnutls.c:974,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:985,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:989,1
    - Dst: os_strcmp
      Src: /src/hostap/src/crypto/tls_gnutls.c:990,1
    - Dst: os_strcmp
      Src: /src/hostap/src/crypto/tls_gnutls.c:991,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - cert
    argTypes:
    - gnutls_x509_crt_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 996
      start: 965
    functionDepth: 0
    functionLinenumber: 965
    functionLinenumberEnd: 996
    functionName: server_eku_purpose
    functionSourceFile: /src/hostap/src/crypto/tls_gnutls.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_strcmp
    - gnutls_x509_crt_get_key_purpose_oid
    linkageType: ''
    returnType: int
    signature: int server_eku_purpose(gnutls_x509_crt_t cert)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_ocsp_status_request_is_checked
      Src: /src/hostap/src/crypto/tls_gnutls.c:1012,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:1014,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:1019,1
    - Dst: gnutls_ocsp_status_request_get
      Src: /src/hostap/src/crypto/tls_gnutls.c:1034,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:1036,1
    - Dst: gnutls_ocsp_resp_init
      Src: /src/hostap/src/crypto/tls_gnutls.c:1041,1
    - Dst: gnutls_ocsp_resp_import
      Src: /src/hostap/src/crypto/tls_gnutls.c:1044,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:1046,1
    - Dst: gnutls_strerror
      Src: /src/hostap/src/crypto/tls_gnutls.c:1048,1
    - Dst: gnutls_ocsp_resp_deinit
      Src: /src/hostap/src/crypto/tls_gnutls.c:1049,1
    - Dst: gnutls_ocsp_resp_print
      Src: /src/hostap/src/crypto/tls_gnutls.c:1053,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:1055,1
    - Dst: gnutls_free
      Src: /src/hostap/src/crypto/tls_gnutls.c:1056,1
    - Dst: gnutls_ocsp_resp_get_single
      Src: /src/hostap/src/crypto/tls_gnutls.c:1059,1
    - Dst: gnutls_ocsp_resp_deinit
      Src: /src/hostap/src/crypto/tls_gnutls.c:1062,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:1064,1
    - Dst: gnutls_strerror
      Src: /src/hostap/src/crypto/tls_gnutls.c:1066,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:1071,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:1073,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:1077,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:1081,1
    - Dst: gnutls_tls_fail_event
      Src: /src/hostap/src/crypto/tls_gnutls.c:1088,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 61
    argCount: 3
    argNames:
    - conn
    - session
    - err
    argTypes:
    - struct tls_connection*
    - gnutls_session_t
    - gnutls_alert_description_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1096
      start: 1000
    functionDepth: 2
    functionLinenumber: 1000
    functionLinenumberEnd: 1096
    functionName: check_ocsp
    functionSourceFile: /src/hostap/src/crypto/tls_gnutls.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - gnutls_free
    - gnutls_ocsp_resp_import
    - gnutls_ocsp_status_request_is_checked
    - gnutls_ocsp_resp_print
    - gnutls_strerror
    - gnutls_tls_fail_event
    - gnutls_ocsp_resp_deinit
    - gnutls_ocsp_resp_init
    - gnutls_ocsp_status_request_get
    - gnutls_ocsp_resp_get_single
    linkageType: ''
    returnType: int
    signature: "int check_ocsp(struct tls_connection *conn, gnutls_session_t session,\n\t\t
      \     gnutls_alert_description_t *err)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_check_hostname2
      Src: /src/hostap/src/crypto/tls_gnutls.c:1106,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/hostap/src/crypto/tls_gnutls.c:1111,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:1113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - cert
    - match
    - full
    argTypes:
    - gnutls_x509_crt_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1116
      start: 1099
    functionDepth: 0
    functionLinenumber: 1099
    functionLinenumberEnd: 1116
    functionName: tls_match_suffix_helper
    functionSourceFile: /src/hostap/src/crypto/tls_gnutls.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - gnutls_x509_crt_check_hostname2
    - gnutls_x509_crt_check_hostname
    linkageType: ''
    returnType: int
    signature: "int tls_match_suffix_helper(gnutls_x509_crt_t cert, const char *match,\n\t\t\t\t
      \  int full)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_strchr
      Src: /src/hostap/src/crypto/tls_gnutls.c:1125,1
    - Dst: tls_match_suffix_helper
      Src: /src/hostap/src/crypto/tls_gnutls.c:1126,1
    - Dst: os_strdup
      Src: /src/hostap/src/crypto/tls_gnutls.c:1128,1
    - Dst: str_token
      Src: /src/hostap/src/crypto/tls_gnutls.c:1133,1
    - Dst: tls_match_suffix_helper
      Src: /src/hostap/src/crypto/tls_gnutls.c:1134,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_gnutls.c:1140,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - cert
    - match
    - full
    argTypes:
    - gnutls_x509_crt_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1119
    functionDepth: 1
    functionLinenumber: 1119
    functionLinenumberEnd: 1142
    functionName: tls_match_suffix
    functionSourceFile: /src/hostap/src/crypto/tls_gnutls.c
    functionUses: 0
    functionsReached:
    - tls_match_suffix_helper
    - str_token
    - os_free
    - os_strchr
    - os_strdup
    linkageType: ''
    returnType: int
    signature: "int tls_match_suffix(gnutls_x509_crt_t cert, const char *match,\n\t\t\t
      \   int full)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_session_get_ptr
      Src: /src/hostap/src/crypto/tls_gnutls.c:1155,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:1157,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:1162,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/tls_gnutls.c:1169,1
    - Dst: gnutls_certificate_verify_peers
      Src: /src/hostap/src/crypto/tls_gnutls.c:1175,1
    - Dst: gnutls_certificate_verify_peers2
      Src: /src/hostap/src/crypto/tls_gnutls.c:1179,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:1182,1
    - Dst: gnutls_certificate_type_get
      Src: /src/hostap/src/crypto/tls_gnutls.c:1193,1
    - Dst: gnutls_certificate_verification_status_print
      Src: /src/hostap/src/crypto/tls_gnutls.c:1194,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:1197,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:1202,1
    - Dst: gnutls_free
      Src: /src/hostap/src/crypto/tls_gnutls.c:1203,1
    - Dst: gnutls_certificate_get_peers
      Src: /src/hostap/src/crypto/tls_gnutls.c:1207,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:1209,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:1215,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:1217,1
    - Dst: gnutls_tls_fail_event
      Src: /src/hostap/src/crypto/tls_gnutls.c:1219,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:1226,1
    - Dst: gnutls_tls_fail_event
      Src: /src/hostap/src/crypto/tls_gnutls.c:1228,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:1235,1
    - Dst: gnutls_tls_fail_event
      Src: /src/hostap/src/crypto/tls_gnutls.c:1236,1
    - Dst: gnutls_tls_fail_event
      Src: /src/hostap/src/crypto/tls_gnutls.c:1242,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:1250,1
    - Dst: gnutls_tls_fail_event
      Src: /src/hostap/src/crypto/tls_gnutls.c:1252,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:1259,1
    - Dst: gnutls_tls_fail_event
      Src: /src/hostap/src/crypto/tls_gnutls.c:1260,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:1268,1
    - Dst: check_ocsp
      Src: /src/hostap/src/crypto/tls_gnutls.c:1274,1
    - Dst: os_get_time
      Src: /src/hostap/src/crypto/tls_gnutls.c:1277,1
    - Dst: gnutls_x509_crt_init
      Src: /src/hostap/src/crypto/tls_gnutls.c:1282,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:1283,1
    - Dst: gnutls_x509_crt_import
      Src: /src/hostap/src/crypto/tls_gnutls.c:1289,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:1291,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/hostap/src/crypto/tls_gnutls.c:1293,1
    - Dst: gnutls_x509_crt_get_dn
      Src: /src/hostap/src/crypto/tls_gnutls.c:1298,1
    - Dst: os_malloc
      Src: /src/hostap/src/crypto/tls_gnutls.c:1300,1
    - Dst: gnutls_x509_crt_get_dn
      Src: /src/hostap/src/crypto/tls_gnutls.c:1303,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:1305,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/tls_gnutls.c:1317,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/crypto/tls_gnutls.c:1319,1
    - Dst: sha256_vector
      Src: /src/hostap/src/crypto/tls_gnutls.c:1326,1
    - Dst: struct tls_connection*::global::event_cb
      Src: /src/hostap/src/crypto/tls_gnutls.c:1333,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/tls_gnutls.c:1335,1
    - Dst: tls_match_suffix
      Src: /src/hostap/src/crypto/tls_gnutls.c:1340,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:1341,1
    - Dst: gnutls_tls_fail_event
      Src: /src/hostap/src/crypto/tls_gnutls.c:1344,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/hostap/src/crypto/tls_gnutls.c:1349,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_gnutls.c:1350,1
    - Dst: tls_match_suffix
      Src: /src/hostap/src/crypto/tls_gnutls.c:1356,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:1357,1
    - Dst: gnutls_tls_fail_event
      Src: /src/hostap/src/crypto/tls_gnutls.c:1360,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/hostap/src/crypto/tls_gnutls.c:1365,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_gnutls.c:1366,1
    - Dst: server_eku_purpose
      Src: /src/hostap/src/crypto/tls_gnutls.c:1381,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:1382,1
    - Dst: gnutls_tls_fail_event
      Src: /src/hostap/src/crypto/tls_gnutls.c:1384,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/hostap/src/crypto/tls_gnutls.c:1389,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_gnutls.c:1390,1
    - Dst: gnutls_x509_crt_get_expiration_time
      Src: /src/hostap/src/crypto/tls_gnutls.c:1397,1
    - Dst: gnutls_x509_crt_get_activation_time
      Src: /src/hostap/src/crypto/tls_gnutls.c:1398,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:1399,1
    - Dst: gnutls_tls_fail_event
      Src: /src/hostap/src/crypto/tls_gnutls.c:1402,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/hostap/src/crypto/tls_gnutls.c:1406,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_gnutls.c:1407,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_gnutls.c:1412,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/hostap/src/crypto/tls_gnutls.c:1414,1
    - Dst: struct tls_connection*::global::event_cb
      Src: /src/hostap/src/crypto/tls_gnutls.c:1418,1
    - Dst: gnutls_alert_send
      Src: /src/hostap/src/crypto/tls_gnutls.c:1425,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 180
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1427
      start: 1145
    functionDepth: 3
    functionLinenumber: 1145
    functionLinenumberEnd: 1427
    functionName: tls_connection_verify_peer
    functionSourceFile: /src/hostap/src/crypto/tls_gnutls.c
    functionUses: 0
    functionsReached:
    - gnutls_certificate_get_peers
    - gnutls_session_get_ptr
    - gnutls_certificate_verification_status_print
    - tls_match_suffix
    - gnutls_tls_fail_event
    - gnutls_certificate_verify_peers
    - gnutls_x509_crt_get_expiration_time
    - sha256_vector
    - wpa_printf
    - gnutls_free
    - gnutls_x509_crt_init
    - gnutls_x509_crt_get_activation_time
    - os_free
    - gnutls_certificate_verify_peers2
    - gnutls_x509_crt_import
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_get_dn
    - os_malloc
    - wpabuf_alloc_copy
    - check_ocsp
    - struct tls_connection*::global::event_cb
    - os_get_time
    - gnutls_alert_send
    - os_memset
    - gnutls_certificate_type_get
    - wpabuf_free
    - server_eku_purpose
    linkageType: ''
    returnType: int
    signature: int tls_connection_verify_peer(gnutls_session_t session)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:1434,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/crypto/tls_gnutls.c:1435,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/tls_gnutls.c:1435,1
    - Dst: gnutls_record_recv
      Src: /src/hostap/src/crypto/tls_gnutls.c:1439,1
    - Dst: wpabuf_mhead
      Src: /src/hostap/src/crypto/tls_gnutls.c:1439,1
    - Dst: wpabuf_size
      Src: /src/hostap/src/crypto/tls_gnutls.c:1440,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:1441,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:1443,1
    - Dst: gnutls_strerror
      Src: /src/hostap/src/crypto/tls_gnutls.c:1445,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/tls_gnutls.c:1446,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/crypto/tls_gnutls.c:1450,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:1451,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct tls_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1454
      start: 1430
    functionDepth: 1
    functionLinenumber: 1430
    functionLinenumberEnd: 1454
    functionName: gnutls_get_appl_data
    functionSourceFile: /src/hostap/src/crypto/tls_gnutls.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put
    - wpabuf_size
    - wpabuf_len
    - gnutls_record_recv
    - wpabuf_free
    - gnutls_strerror
    - wpabuf_alloc
    - wpabuf_mhead
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * gnutls_get_appl_data(struct tls_connection *conn)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/tls_gnutls.c:1469,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:1471,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/tls_gnutls.c:1473,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/tls_gnutls.c:1474,1
    - Dst: wpabuf_dup
      Src: /src/hostap/src/crypto/tls_gnutls.c:1476,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/crypto/tls_gnutls.c:1479,1
    - Dst: gnutls_handshake
      Src: /src/hostap/src/crypto/tls_gnutls.c:1482,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/crypto/tls_gnutls.c:1493,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:1497,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/tls_gnutls.c:1499,1
    - Dst: struct tls_connection*::global::event_cb
      Src: /src/hostap/src/crypto/tls_gnutls.c:1503,1
    - Dst: gnutls_alert_get
      Src: /src/hostap/src/crypto/tls_gnutls.c:1514,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:1515,1
    - Dst: gnutls_alert_get_name
      Src: /src/hostap/src/crypto/tls_gnutls.c:1516,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/tls_gnutls.c:1519,1
    - Dst: gnutls_alert_get_name
      Src: /src/hostap/src/crypto/tls_gnutls.c:1521,1
    - Dst: struct tls_connection*::global::event_cb
      Src: /src/hostap/src/crypto/tls_gnutls.c:1523,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:1528,1
    - Dst: gnutls_strerror
      Src: /src/hostap/src/crypto/tls_gnutls.c:1529,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:1535,1
    - Dst: gnutls_session_get_desc
      Src: /src/hostap/src/crypto/tls_gnutls.c:1541,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:1543,1
    - Dst: gnutls_free
      Src: /src/hostap/src/crypto/tls_gnutls.c:1544,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/crypto/tls_gnutls.c:1552,1
    - Dst: gnutls_session_get_data
      Src: /src/hostap/src/crypto/tls_gnutls.c:1555,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_gnutls.c:1558,1
    - Dst: os_malloc
      Src: /src/hostap/src/crypto/tls_gnutls.c:1559,1
    - Dst: gnutls_session_get_data
      Src: /src/hostap/src/crypto/tls_gnutls.c:1563,1
    - Dst: gnutls_get_appl_data
      Src: /src/hostap/src/crypto/tls_gnutls.c:1569,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 75
    argCount: 4
    argNames:
    - tls_ctx
    - conn
    - in_data
    - appl_data
    argTypes:
    - void*
    - struct tls_connection*
    - struct wpabuf*
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1575
      start: 1457
    functionDepth: 2
    functionLinenumber: 1457
    functionLinenumberEnd: 1575
    functionName: tls_connection_handshake
    functionSourceFile: /src/hostap/src/crypto/tls_gnutls.c
    functionUses: 2
    functionsReached:
    - wpabuf_dup
    - gnutls_alert_get_name
    - wpa_printf
    - gnutls_get_appl_data
    - gnutls_free
    - gnutls_session_get_data
    - wpabuf_len
    - gnutls_alert_get
    - wpabuf_free
    - os_malloc
    - gnutls_session_get_desc
    - wpabuf_head
    - gnutls_strerror
    - wpabuf_alloc
    - struct tls_connection*::global::event_cb
    - os_free
    - gnutls_handshake
    - os_memset
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * tls_connection_handshake(void *tls_ctx,\n\t\t\t\t\t
      struct tls_connection *conn,\n\t\t\t\t\t const struct wpabuf *in_data,\n\t\t\t\t\t
      struct wpabuf **appl_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tls_connection_handshake
      Src: /src/hostap/src/crypto/tls_gnutls.c:1583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - tls_ctx
    - conn
    - in_data
    - appl_data
    argTypes:
    - void*
    - struct tls_connection*
    - struct wpabuf*
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1584
      start: 1578
    functionDepth: 0
    functionLinenumber: 1578
    functionLinenumberEnd: 1584
    functionName: tls_connection_server_handshake
    functionSourceFile: /src/hostap/src/crypto/tls_gnutls.c
    functionUses: 2
    functionsReached:
    - tls_connection_handshake
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * tls_connection_server_handshake(void *tls_ctx,\n\t\t\t\t\t\tstruct
      tls_connection *conn,\n\t\t\t\t\t\tconst struct wpabuf *in_data,\n\t\t\t\t\t\tstruct
      wpabuf **appl_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_record_send
      Src: /src/hostap/src/crypto/tls_gnutls.c:1594,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/crypto/tls_gnutls.c:1594,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/tls_gnutls.c:1595,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:1597,1
    - Dst: gnutls_strerror
      Src: /src/hostap/src/crypto/tls_gnutls.c:1598,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - tls_ctx
    - conn
    - in_data
    argTypes:
    - void*
    - struct tls_connection*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1605
      start: 1587
    functionDepth: 1
    functionLinenumber: 1587
    functionLinenumberEnd: 1605
    functionName: tls_connection_encrypt
    functionSourceFile: /src/hostap/src/crypto/tls_gnutls.c
    functionUses: 5
    functionsReached:
    - wpa_printf
    - wpabuf_len
    - gnutls_strerror
    - wpabuf_head
    - gnutls_record_send
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * tls_connection_encrypt(void *tls_ctx,\n\t\t\t\t       struct
      tls_connection *conn,\n\t\t\t\t       const struct wpabuf *in_data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:1616,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/tls_gnutls.c:1618,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/tls_gnutls.c:1619,1
    - Dst: wpabuf_dup
      Src: /src/hostap/src/crypto/tls_gnutls.c:1621,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/crypto/tls_gnutls.c:1624,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/crypto/tls_gnutls.c:1632,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/tls_gnutls.c:1632,1
    - Dst: gnutls_record_recv
      Src: /src/hostap/src/crypto/tls_gnutls.c:1636,1
    - Dst: wpabuf_mhead
      Src: /src/hostap/src/crypto/tls_gnutls.c:1636,1
    - Dst: wpabuf_size
      Src: /src/hostap/src/crypto/tls_gnutls.c:1637,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_gnutls.c:1639,1
    - Dst: gnutls_strerror
      Src: /src/hostap/src/crypto/tls_gnutls.c:1640,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/tls_gnutls.c:1641,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/crypto/tls_gnutls.c:1644,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - tls_ctx
    - conn
    - in_data
    argTypes:
    - void*
    - struct tls_connection*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1647
      start: 1608
    functionDepth: 1
    functionLinenumber: 1608
    functionLinenumberEnd: 1647
    functionName: tls_connection_decrypt
    functionSourceFile: /src/hostap/src/crypto/tls_gnutls.c
    functionUses: 3
    functionsReached:
    - wpabuf_dup
    - wpa_printf
    - wpabuf_put
    - wpabuf_size
    - wpabuf_len
    - gnutls_record_recv
    - wpabuf_free
    - wpabuf_head
    - gnutls_strerror
    - wpabuf_alloc
    - wpabuf_mhead
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * tls_connection_decrypt(void *tls_ctx,\n\t\t\t\t       struct
      tls_connection *conn,\n\t\t\t\t       const struct wpabuf *in_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_session_is_resumed
      Src: /src/hostap/src/crypto/tls_gnutls.c:1654,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ssl_ctx
    - conn
    argTypes:
    - void*
    - struct tls_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1655
      start: 1650
    functionDepth: 0
    functionLinenumber: 1650
    functionLinenumberEnd: 1655
    functionName: tls_connection_resumed
    functionSourceFile: /src/hostap/src/crypto/tls_gnutls.c
    functionUses: 4
    functionsReached:
    - gnutls_session_is_resumed
    linkageType: ''
    returnType: int
    signature: int tls_connection_resumed(void *ssl_ctx, struct tls_connection *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tls_ctx
    - conn
    - ciphers
    argTypes:
    - void*
    - struct tls_connection*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1663
      start: 1658
    functionDepth: 0
    functionLinenumber: 1658
    functionLinenumberEnd: 1663
    functionName: tls_connection_set_cipher_list
    functionSourceFile: /src/hostap/src/crypto/tls_gnutls.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int tls_connection_set_cipher_list(void *tls_ctx, struct tls_connection
      *conn,\n\t\t\t\t   u8 *ciphers)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_protocol_get_version
      Src: /src/hostap/src/crypto/tls_gnutls.c:1671,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/crypto/tls_gnutls.c:1673,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/crypto/tls_gnutls.c:1675,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/crypto/tls_gnutls.c:1677,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - ssl_ctx
    - conn
    - buf
    - buflen
    argTypes:
    - void*
    - struct tls_connection*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1681
      start: 1666
    functionDepth: 0
    functionLinenumber: 1666
    functionLinenumberEnd: 1681
    functionName: tls_get_version
    functionSourceFile: /src/hostap/src/crypto/tls_gnutls.c
    functionUses: 2
    functionsReached:
    - gnutls_protocol_get_version
    - os_strlcpy
    linkageType: ''
    returnType: int
    signature: "int tls_get_version(void *ssl_ctx, struct tls_connection *conn,\n\t\t
      \   char *buf, size_t buflen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_cipher_get
      Src: /src/hostap/src/crypto/tls_gnutls.c:1693,1
    - Dst: gnutls_cipher_get_name
      Src: /src/hostap/src/crypto/tls_gnutls.c:1694,1
    - Dst: gnutls_kx_get
      Src: /src/hostap/src/crypto/tls_gnutls.c:1698,1
    - Dst: gnutls_kx_get_name
      Src: /src/hostap/src/crypto/tls_gnutls.c:1699,1
    - Dst: gnutls_mac_get
      Src: /src/hostap/src/crypto/tls_gnutls.c:1703,1
    - Dst: gnutls_mac_get_name
      Src: /src/hostap/src/crypto/tls_gnutls.c:1704,1
    - Dst: os_snprintf
      Src: /src/hostap/src/crypto/tls_gnutls.c:1709,1
    - Dst: os_snprintf
      Src: /src/hostap/src/crypto/tls_gnutls.c:1711,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/crypto/tls_gnutls.c:1713,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - ssl_ctx
    - conn
    - buf
    - buflen
    argTypes:
    - void*
    - struct tls_connection*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1717
      start: 1684
    functionDepth: 1
    functionLinenumber: 1684
    functionLinenumberEnd: 1717
    functionName: tls_get_cipher
    functionSourceFile: /src/hostap/src/crypto/tls_gnutls.c
    functionUses: 2
    functionsReached:
    - gnutls_cipher_get
    - gnutls_mac_get
    - gnutls_kx_get_name
    - os_snprintf
    - os_snprintf_error
    - gnutls_kx_get
    - gnutls_cipher_get_name
    - gnutls_mac_get_name
    linkageType: ''
    returnType: int
    signature: "int tls_get_cipher(void *ssl_ctx, struct tls_connection *conn,\n\t\t
      \  char *buf, size_t buflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_record_disable_padding
      Src: /src/hostap/src/crypto/tls_gnutls.c:1723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ssl_ctx
    - conn
    argTypes:
    - void*
    - struct tls_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1725
      start: 1720
    functionDepth: 0
    functionLinenumber: 1720
    functionLinenumberEnd: 1725
    functionName: tls_connection_enable_workaround
    functionSourceFile: /src/hostap/src/crypto/tls_gnutls.c
    functionUses: 1
    functionsReached:
    - gnutls_record_disable_padding
    linkageType: ''
    returnType: int
    signature: "int tls_connection_enable_workaround(void *ssl_ctx,\n\t\t\t\t     struct
      tls_connection *conn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ssl_ctx
    - conn
    - ext_type
    - data
    - data_len
    argTypes:
    - void*
    - struct tls_connection*
    - int
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1734
      start: 1728
    functionDepth: 0
    functionLinenumber: 1728
    functionLinenumberEnd: 1734
    functionName: tls_connection_client_hello_ext
    functionSourceFile: /src/hostap/src/crypto/tls_gnutls.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int tls_connection_client_hello_ext(void *ssl_ctx, struct tls_connection
      *conn,\n\t\t\t\t    int ext_type, const u8 *data,\n\t\t\t\t    size_t data_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ssl_ctx
    - conn
    argTypes:
    - void*
    - struct tls_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1742
      start: 1737
    functionDepth: 0
    functionLinenumber: 1737
    functionLinenumberEnd: 1742
    functionName: tls_connection_get_failed
    functionSourceFile: /src/hostap/src/crypto/tls_gnutls.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tls_connection_get_failed(void *ssl_ctx, struct tls_connection
      *conn)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ssl_ctx
    - conn
    argTypes:
    - void*
    - struct tls_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1750
      start: 1745
    functionDepth: 0
    functionLinenumber: 1745
    functionLinenumberEnd: 1750
    functionName: tls_connection_get_read_alerts
    functionSourceFile: /src/hostap/src/crypto/tls_gnutls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tls_connection_get_read_alerts(void *ssl_ctx, struct tls_connection
      *conn)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ssl_ctx
    - conn
    argTypes:
    - void*
    - struct tls_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1758
      start: 1753
    functionDepth: 0
    functionLinenumber: 1753
    functionLinenumberEnd: 1758
    functionName: tls_connection_get_write_alerts
    functionSourceFile: /src/hostap/src/crypto/tls_gnutls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tls_connection_get_write_alerts(void *ssl_ctx, struct tls_connection
      *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - tls_ctx
    - conn
    - cb
    - ctx
    argTypes:
    - void*
    - struct tls_connection*
    - tls_session_ticket_cb
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1766
      start: 1761
    functionDepth: 0
    functionLinenumber: 1761
    functionLinenumberEnd: 1766
    functionName: tls_connection_set_session_ticket_cb
    functionSourceFile: /src/hostap/src/crypto/tls_gnutls.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int tls_connection_set_session_ticket_cb(void *tls_ctx,\n\t\t\t\t\t
      struct tls_connection *conn,\n\t\t\t\t\t tls_session_ticket_cb cb, void *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/src/crypto/tls_gnutls.c:1771,1
    - Dst: gnutls_check_version
      Src: /src/hostap/src/crypto/tls_gnutls.c:1772,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - buf_len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1773
      start: 1769
    functionDepth: 0
    functionLinenumber: 1769
    functionLinenumberEnd: 1773
    functionName: tls_get_library_version
    functionSourceFile: /src/hostap/src/crypto/tls_gnutls.c
    functionUses: 2
    functionsReached:
    - os_snprintf
    - gnutls_check_version
    linkageType: ''
    returnType: int
    signature: int tls_get_library_version(char *buf, size_t buf_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/tls_gnutls.c:1779,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - conn
    - data
    argTypes:
    - struct tls_connection*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1780
      start: 1776
    functionDepth: 1
    functionLinenumber: 1776
    functionLinenumberEnd: 1780
    functionName: tls_connection_set_success_data
    functionSourceFile: /src/hostap/src/crypto/tls_gnutls.c
    functionUses: 0
    functionsReached:
    - wpabuf_free
    linkageType: ''
    returnType: void
    signature: "void tls_connection_set_success_data(struct tls_connection *conn,\n\t\t\t\t
      \    struct wpabuf *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct tls_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1785
      start: 1783
    functionDepth: 0
    functionLinenumber: 1783
    functionLinenumberEnd: 1785
    functionName: tls_connection_set_success_data_resumed
    functionSourceFile: /src/hostap/src/crypto/tls_gnutls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tls_connection_set_success_data_resumed(struct tls_connection
      *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct tls_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1792
      start: 1788
    functionDepth: 0
    functionLinenumber: 1788
    functionLinenumberEnd: 1792
    functionName: tls_connection_get_success_data
    functionSourceFile: /src/hostap/src/crypto/tls_gnutls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct wpabuf
    signature: 'struct wpabuf *

      tls_connection_get_success_data(struct tls_connection *conn)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct tls_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1797
      start: 1795
    functionDepth: 0
    functionLinenumber: 1795
    functionLinenumberEnd: 1797
    functionName: tls_connection_remove_session
    functionSourceFile: /src/hostap/src/crypto/tls_gnutls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tls_connection_remove_session(struct tls_connection *conn)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sha1_vector
      Src: /src/hostap/src/crypto/sha1.c:45,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/sha1.c:61,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/sha1.c:62,1
    - Dst: sha1_vector
      Src: /src/hostap/src/crypto/sha1.c:74,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/sha1.c:77,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/sha1.c:78,1
    - Dst: sha1_vector
      Src: /src/hostap/src/crypto/sha1.c:88,1
    - Dst: forced_memzero
      Src: /src/hostap/src/crypto/sha1.c:89,1
    - Dst: forced_memzero
      Src: /src/hostap/src/crypto/sha1.c:90,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 6
    argNames:
    - key
    - key_len
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - u8*
    - size_t
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 92
    functionName: hmac_sha1_vector
    functionSourceFile: /src/hostap/src/crypto/sha1.c
    functionUses: 7
    functionsReached:
    - sha1_vector
    - forced_memzero
    - os_memcpy
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int hmac_sha1_vector(const u8 *key, size_t key_len, size_t num_elem,\n\t\t
      \    const u8 *addr[], const size_t *len, u8 *mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_sha1_vector
      Src: /src/hostap/src/crypto/sha1.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - key
    - key_len
    - data
    - data_len
    - mac
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: hmac_sha1
    functionSourceFile: /src/hostap/src/crypto/sha1.c
    functionUses: 7
    functionsReached:
    - hmac_sha1_vector
    linkageType: ''
    returnType: int
    signature: "int hmac_sha1(const u8 *key, size_t key_len, const u8 *data, size_t
      data_len,\n\t       u8 *mac)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/crypto/crypto_internal-cipher.c:49,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_internal-cipher.c:58,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/crypto_internal-cipher.c:62,1
    - Dst: aes_encrypt_init
      Src: /src/hostap/src/crypto/crypto_internal-cipher.c:65,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_internal-cipher.c:67,1
    - Dst: aes_decrypt_init
      Src: /src/hostap/src/crypto/crypto_internal-cipher.c:70,1
    - Dst: aes_encrypt_deinit
      Src: /src/hostap/src/crypto/crypto_internal-cipher.c:72,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_internal-cipher.c:73,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/crypto_internal-cipher.c:76,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_internal-cipher.c:80,1
    - Dst: des3_key_setup
      Src: /src/hostap/src/crypto/crypto_internal-cipher.c:83,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/crypto_internal-cipher.c:84,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_internal-cipher.c:88,1
    - Dst: des_key_setup
      Src: /src/hostap/src/crypto/crypto_internal-cipher.c:91,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/crypto_internal-cipher.c:92,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_internal-cipher.c:95,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 49
    argCount: 4
    argNames:
    - alg
    - iv
    - key
    - key_len
    argTypes:
    - enum crypto_cipher_alg
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 100
    functionName: crypto_cipher_init
    functionSourceFile: /src/hostap/src/crypto/crypto_internal-cipher.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - des_key_setup
    - aes_encrypt_init
    - aes_decrypt_init
    - os_zalloc
    - os_free
    - des3_key_setup
    - aes_encrypt_deinit
    linkageType: ''
    returnType: struct crypto_cipher
    signature: "struct crypto_cipher * crypto_cipher_init(enum crypto_cipher_alg alg,\n\t\t\t\t\t
      \ const u8 *iv, const u8 *key,\n\t\t\t\t\t  size_t key_len)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/crypto_internal-cipher.c:111,1
    - Dst: rc4_skip
      Src: /src/hostap/src/crypto/crypto_internal-cipher.c:112,1
    - Dst: aes_encrypt
      Src: /src/hostap/src/crypto/crypto_internal-cipher.c:123,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/crypto_internal-cipher.c:125,1
    - Dst: des3_encrypt
      Src: /src/hostap/src/crypto/crypto_internal-cipher.c:137,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/crypto_internal-cipher.c:139,1
    - Dst: des_block_encrypt
      Src: /src/hostap/src/crypto/crypto_internal-cipher.c:151,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/crypto_internal-cipher.c:153,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 51
    argCount: 4
    argNames:
    - ctx
    - plain
    - crypt
    - len
    argTypes:
    - struct crypto_cipher*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 163
    functionName: crypto_cipher_encrypt
    functionSourceFile: /src/hostap/src/crypto/crypto_internal-cipher.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - des_block_encrypt
    - rc4_skip
    - aes_encrypt
    - des3_encrypt
    linkageType: ''
    returnType: int
    signature: "int crypto_cipher_encrypt(struct crypto_cipher *ctx, const u8 *plain,\n\t\t\t
      \ u8 *crypt, size_t len)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/crypto_internal-cipher.c:175,1
    - Dst: rc4_skip
      Src: /src/hostap/src/crypto/crypto_internal-cipher.c:176,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/crypto_internal-cipher.c:185,1
    - Dst: aes_decrypt
      Src: /src/hostap/src/crypto/crypto_internal-cipher.c:186,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/crypto_internal-cipher.c:189,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/crypto_internal-cipher.c:199,1
    - Dst: des3_decrypt
      Src: /src/hostap/src/crypto/crypto_internal-cipher.c:200,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/crypto_internal-cipher.c:203,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/crypto_internal-cipher.c:213,1
    - Dst: des_block_decrypt
      Src: /src/hostap/src/crypto/crypto_internal-cipher.c:214,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/crypto_internal-cipher.c:217,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 54
    argCount: 4
    argNames:
    - ctx
    - crypt
    - plain
    - len
    argTypes:
    - struct crypto_cipher*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 227
    functionName: crypto_cipher_decrypt
    functionSourceFile: /src/hostap/src/crypto/crypto_internal-cipher.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - des_block_decrypt
    - rc4_skip
    - aes_decrypt
    - des3_decrypt
    linkageType: ''
    returnType: int
    signature: "int crypto_cipher_decrypt(struct crypto_cipher *ctx, const u8 *crypt,\n\t\t\t
      \ u8 *plain, size_t len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: aes_encrypt_deinit
      Src: /src/hostap/src/crypto/crypto_internal-cipher.c:234,1
    - Dst: aes_decrypt_deinit
      Src: /src/hostap/src/crypto/crypto_internal-cipher.c:235,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_internal-cipher.c:242,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct crypto_cipher*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 243
    functionName: crypto_cipher_deinit
    functionSourceFile: /src/hostap/src/crypto/crypto_internal-cipher.c
    functionUses: 0
    functionsReached:
    - os_free
    - aes_decrypt_deinit
    - aes_encrypt_deinit
    linkageType: ''
    returnType: void
    signature: void crypto_cipher_deinit(struct crypto_cipher *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/tls_openssl.c:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - ssl
    - out
    - outlen
    argTypes:
    - SSL*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 101
    functionName: SSL_get_client_random
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    linkageType: ''
    returnType: size_t
    signature: "size_t SSL_get_client_random(const SSL *ssl, unsigned char *out,\n\t\t\t\t
      \   size_t outlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/tls_openssl.c:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - ssl
    - out
    - outlen
    argTypes:
    - SSL*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 111
    functionName: SSL_get_server_random
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    linkageType: ''
    returnType: size_t
    signature: "size_t SSL_get_server_random(const SSL *ssl, unsigned char *out,\n\t\t\t\t
      \   size_t outlen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/tls_openssl.c:123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - session
    - out
    - outlen
    argTypes:
    - SSL_SESSION*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 125
    functionName: SSL_SESSION_get_master_key
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    linkageType: ''
    returnType: size_t
    signature: "size_t SSL_SESSION_get_master_key(const SSL_SESSION *session,\n\t\t\t\t\t
      unsigned char *out, size_t outlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_STRING_data
      Src: /src/hostap/src/crypto/tls_openssl.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ASN1_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: ASN1_STRING_get0_data
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - ASN1_STRING_data
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char * ASN1_STRING_get0_data(const ASN1_STRING *x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: keystore_get
      Src: /src/hostap/src/crypto/tls_openssl.c:145,1
    - Dst: strlen
      Src: /src/hostap/src/crypto/tls_openssl.c:145,1
    - Dst: BIO_new
      Src: /src/hostap/src/crypto/tls_openssl.c:146,1
    - Dst: BIO_s_mem
      Src: /src/hostap/src/crypto/tls_openssl.c:146,1
    - Dst: BIO_write
      Src: /src/hostap/src/crypto/tls_openssl.c:147,1
    - Dst: free
      Src: /src/hostap/src/crypto/tls_openssl.c:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - key
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 150
    functionName: BIO_from_keystore
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - BIO_write
    - BIO_s_mem
    - keystore_get
    - BIO_new
    - free
    - strlen
    linkageType: ''
    returnType: BIO
    signature: BIO * BIO_from_keystore(const char *key)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_from_keystore
      Src: /src/hostap/src/crypto/tls_openssl.c:155,1
    - Dst: STACK_OF
      Src: /src/hostap/src/crypto/tls_openssl.c:156,1
    - Dst: PEM_X509_INFO_read_bio
      Src: /src/hostap/src/crypto/tls_openssl.c:160,1
    - Dst: BIO_free
      Src: /src/hostap/src/crypto/tls_openssl.c:161,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:165,1
    - Dst: sk_X509_INFO_num
      Src: /src/hostap/src/crypto/tls_openssl.c:170,1
    - Dst: sk_X509_INFO_value
      Src: /src/hostap/src/crypto/tls_openssl.c:171,1
    - Dst: X509_STORE_add_cert
      Src: /src/hostap/src/crypto/tls_openssl.c:174,1
    - Dst: X509_STORE_add_crl
      Src: /src/hostap/src/crypto/tls_openssl.c:176,1
    - Dst: sk_X509_INFO_pop_free
      Src: /src/hostap/src/crypto/tls_openssl.c:179,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - ctx
    - key_alias
    argTypes:
    - X509_STORE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 182
    functionName: tls_add_ca_from_keystore
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - PEM_X509_INFO_read_bio
    - wpa_printf
    - sk_X509_INFO_pop_free
    - X509_STORE_add_cert
    - X509_STORE_add_crl
    - STACK_OF
    - sk_X509_INFO_value
    - sk_X509_INFO_num
    - BIO_free
    - BIO_from_keystore
    linkageType: ''
    returnType: int
    signature: int tls_add_ca_from_keystore(X509_STORE *ctx, const char *key_alias)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/crypto/tls_openssl.c:189,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:193,1
    - Dst: os_malloc
      Src: /src/hostap/src/crypto/tls_openssl.c:198,1
    - Dst: hexstr2bin
      Src: /src/hostap/src/crypto/tls_openssl.c:200,1
    - Dst: tls_add_ca_from_keystore
      Src: /src/hostap/src/crypto/tls_openssl.c:202,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_openssl.c:205,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ctx
    - encoded_key_alias
    argTypes:
    - X509_STORE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 209
    functionName: tls_add_ca_from_keystore_encoded
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - hexstr2bin
    - os_malloc
    - tls_add_ca_from_keystore
    - os_free
    linkageType: ''
    returnType: int
    signature: "int tls_add_ca_from_keystore_encoded(X509_STORE *ctx,\n\t\t\t\t\t
      \   const char *encoded_key_alias)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/crypto/tls_openssl.c:293,1
    - Dst: dl_list_init
      Src: /src/hostap/src/crypto/tls_openssl.c:296,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - conf
    argTypes:
    - struct tls_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 303
    functionName: tls_context_new
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - os_zalloc
    - dl_list_init
    linkageType: ''
    returnType: struct tls_context
    signature: struct tls_context * tls_context_new(const struct tls_config *conf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_get_error
      Src: /src/hostap/src/crypto/tls_openssl.c:312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 315
    functionName: _tls_show_errors
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - ERR_get_error
    linkageType: ''
    returnType: void
    signature: void _tls_show_errors(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - l
    - ','
    - f
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 317
    functionName: tls_show_errors
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tls_show_errors(l, f, t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:324,1
    - Dst: ERR_error_string
      Src: /src/hostap/src/crypto/tls_openssl.c:325,1
    - Dst: ERR_get_error
      Src: /src/hostap/src/crypto/tls_openssl.c:325,1
    - Dst: ERR_get_error
      Src: /src/hostap/src/crypto/tls_openssl.c:327,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:328,1
    - Dst: ERR_error_string
      Src: /src/hostap/src/crypto/tls_openssl.c:329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - level
    - func
    - txt
    argTypes:
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 331
    functionName: tls_show_errors
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 1
    functionsReached:
    - ERR_get_error
    - wpa_printf
    - ERR_error_string
    linkageType: ''
    returnType: void
    signature: void tls_show_errors(int level, const char *func, const char *txt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_new
      Src: /src/hostap/src/crypto/tls_openssl.c:341,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:343,1
    - Dst: X509_STORE_load_locations
      Src: /src/hostap/src/crypto/tls_openssl.c:349,1
    - Dst: tls_show_errors
      Src: /src/hostap/src/crypto/tls_openssl.c:350,1
    - Dst: X509_STORE_free
      Src: /src/hostap/src/crypto/tls_openssl.c:352,1
    - Dst: X509_STORE_set_flags
      Src: /src/hostap/src/crypto/tls_openssl.c:360,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - ca_cert
    - check_crl
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 363
    functionName: tls_crl_cert_reload
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - X509_STORE_new
    - X509_STORE_free
    - X509_STORE_set_flags
    - tls_show_errors
    - X509_STORE_load_locations
    linkageType: ''
    returnType: X509_STORE
    signature: X509_STORE * tls_crl_cert_reload(const char *ca_cert, int check_crl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_try_load
      Src: /src/hostap/src/crypto/tls_openssl.c:379,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:381,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 383
    functionName: openssl_load_pkcs11_provider
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - OSSL_PROVIDER_try_load
    linkageType: ''
    returnType: void
    signature: void openssl_load_pkcs11_provider(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_unload
      Src: /src/hostap/src/crypto/tls_openssl.c:390,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 394
    functionName: openssl_unload_pkcs11_provider
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - OSSL_PROVIDER_unload
    linkageType: ''
    returnType: void
    signature: void openssl_unload_pkcs11_provider(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/src/crypto/tls_openssl.c:400,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:403,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - engine_id
    - req
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 408
    functionName: openssl_can_use_provider
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_strcmp
    linkageType: ''
    returnType: bool
    signature: bool openssl_can_use_provider(const char *engine_id, const char *req)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tls_show_errors
      Src: /src/hostap/src/crypto/tls_openssl.c:419,1
    - Dst: OSSL_STORE_open
      Src: /src/hostap/src/crypto/tls_openssl.c:424,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:426,1
    - Dst: tls_show_errors
      Src: /src/hostap/src/crypto/tls_openssl.c:428,1
    - Dst: os_strncmp
      Src: /src/hostap/src/crypto/tls_openssl.c:433,1
    - Dst: os_strstr
      Src: /src/hostap/src/crypto/tls_openssl.c:434,1
    - Dst: OSSL_STORE_expect
      Src: /src/hostap/src/crypto/tls_openssl.c:438,1
    - Dst: tls_show_errors
      Src: /src/hostap/src/crypto/tls_openssl.c:439,1
    - Dst: OSSL_STORE_eof
      Src: /src/hostap/src/crypto/tls_openssl.c:445,1
    - Dst: OSSL_STORE_load
      Src: /src/hostap/src/crypto/tls_openssl.c:446,1
    - Dst: OSSL_STORE_error
      Src: /src/hostap/src/crypto/tls_openssl.c:448,1
    - Dst: OSSL_STORE_INFO_get_type
      Src: /src/hostap/src/crypto/tls_openssl.c:452,1
    - Dst: OSSL_STORE_INFO_get1_PKEY
      Src: /src/hostap/src/crypto/tls_openssl.c:453,1
    - Dst: OSSL_STORE_INFO_free
      Src: /src/hostap/src/crypto/tls_openssl.c:455,1
    - Dst: OSSL_STORE_close
      Src: /src/hostap/src/crypto/tls_openssl.c:461,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:464,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 42
    argCount: 1
    argNames:
    - uri
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 470
    functionName: provider_load_key
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - OSSL_STORE_open
    - wpa_printf
    - OSSL_STORE_close
    - OSSL_STORE_load
    - OSSL_STORE_error
    - OSSL_STORE_expect
    - OSSL_STORE_INFO_free
    - os_strncmp
    - os_strstr
    - tls_show_errors
    - OSSL_STORE_INFO_get1_PKEY
    - OSSL_STORE_eof
    - OSSL_STORE_INFO_get_type
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY * provider_load_key(const char *uri)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tls_show_errors
      Src: /src/hostap/src/crypto/tls_openssl.c:481,1
    - Dst: OSSL_STORE_open
      Src: /src/hostap/src/crypto/tls_openssl.c:485,1
    - Dst: tls_show_errors
      Src: /src/hostap/src/crypto/tls_openssl.c:487,1
    - Dst: OSSL_STORE_eof
      Src: /src/hostap/src/crypto/tls_openssl.c:491,1
    - Dst: OSSL_STORE_load
      Src: /src/hostap/src/crypto/tls_openssl.c:492,1
    - Dst: OSSL_STORE_error
      Src: /src/hostap/src/crypto/tls_openssl.c:494,1
    - Dst: OSSL_STORE_INFO_get_type
      Src: /src/hostap/src/crypto/tls_openssl.c:498,1
    - Dst: OSSL_STORE_INFO_get1_CERT
      Src: /src/hostap/src/crypto/tls_openssl.c:499,1
    - Dst: OSSL_STORE_INFO_free
      Src: /src/hostap/src/crypto/tls_openssl.c:501,1
    - Dst: OSSL_STORE_close
      Src: /src/hostap/src/crypto/tls_openssl.c:505,1
    - Dst: tls_show_errors
      Src: /src/hostap/src/crypto/tls_openssl.c:509,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 1
    argNames:
    - cert_id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 515
    functionName: provider_load_cert
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - OSSL_STORE_open
    - OSSL_STORE_INFO_get1_CERT
    - OSSL_STORE_close
    - OSSL_STORE_error
    - OSSL_STORE_eof
    - OSSL_STORE_INFO_free
    - tls_show_errors
    - OSSL_STORE_load
    - OSSL_STORE_INFO_get_type
    linkageType: ''
    returnType: X509
    signature: X509 * provider_load_cert(const char *cert_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:548,1
    - Dst: GetLastError
      Src: /src/hostap/src/crypto/tls_openssl.c:549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 550
    functionName: cryptoapi_error
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - GetLastError
    linkageType: ''
    returnType: void
    signature: void cryptoapi_error(const char *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - flen
    - from
    - to
    - rsa
    - padding
    argTypes:
    - int
    - unsigned char*
    - unsigned char*
    - RSA*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 558
    functionName: cryptoapi_rsa_pub_enc
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int cryptoapi_rsa_pub_enc(int flen, const unsigned char *from,\n\t\t\t\t
      unsigned char *to, RSA *rsa, int padding)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - flen
    - from
    - to
    - rsa
    - padding
    argTypes:
    - int
    - unsigned char*
    - unsigned char*
    - RSA*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 566
    functionName: cryptoapi_rsa_pub_dec
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int cryptoapi_rsa_pub_dec(int flen, const unsigned char *from,\n\t\t\t\t
      unsigned char *to, RSA *rsa, int padding)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: RSAerr
      Src: /src/hostap/src/crypto/tls_openssl.c:580,1
    - Dst: RSAerr
      Src: /src/hostap/src/crypto/tls_openssl.c:586,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:592,1
    - Dst: RSAerr
      Src: /src/hostap/src/crypto/tls_openssl.c:594,1
    - Dst: CryptCreateHash
      Src: /src/hostap/src/crypto/tls_openssl.c:599,1
    - Dst: cryptoapi_error
      Src: /src/hostap/src/crypto/tls_openssl.c:601,1
    - Dst: CryptGetHashParam
      Src: /src/hostap/src/crypto/tls_openssl.c:606,1
    - Dst: cryptoapi_error
      Src: /src/hostap/src/crypto/tls_openssl.c:608,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:613,1
    - Dst: RSAerr
      Src: /src/hostap/src/crypto/tls_openssl.c:615,1
    - Dst: CryptSetHashParam
      Src: /src/hostap/src/crypto/tls_openssl.c:619,1
    - Dst: cryptoapi_error
      Src: /src/hostap/src/crypto/tls_openssl.c:620,1
    - Dst: RSA_size
      Src: /src/hostap/src/crypto/tls_openssl.c:624,1
    - Dst: os_malloc
      Src: /src/hostap/src/crypto/tls_openssl.c:625,1
    - Dst: RSAerr
      Src: /src/hostap/src/crypto/tls_openssl.c:627,1
    - Dst: CryptSignHash
      Src: /src/hostap/src/crypto/tls_openssl.c:631,1
    - Dst: cryptoapi_error
      Src: /src/hostap/src/crypto/tls_openssl.c:632,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_openssl.c:641,1
    - Dst: CryptDestroyHash
      Src: /src/hostap/src/crypto/tls_openssl.c:642,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 55
    argCount: 5
    argNames:
    - flen
    - from
    - to
    - rsa
    - padding
    argTypes:
    - int
    - unsigned char*
    - unsigned char*
    - RSA*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 569
    functionDepth: 1
    functionLinenumber: 569
    functionLinenumberEnd: 645
    functionName: cryptoapi_rsa_priv_enc
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - RSAerr
    - wpa_printf
    - CryptSetHashParam
    - CryptSignHash
    - CryptCreateHash
    - os_malloc
    - cryptoapi_error
    - CryptDestroyHash
    - os_free
    - CryptGetHashParam
    - RSA_size
    linkageType: ''
    returnType: int
    signature: "int cryptoapi_rsa_priv_enc(int flen, const unsigned char *from,\n\t\t\t\t
      \ unsigned char *to, RSA *rsa, int padding)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - flen
    - from
    - to
    - rsa
    - padding
    argTypes:
    - int
    - unsigned char*
    - unsigned char*
    - RSA*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 653
    functionName: cryptoapi_rsa_priv_dec
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int cryptoapi_rsa_priv_dec(int flen, const unsigned char *from,\n\t\t\t\t
      \ unsigned char *to, RSA *rsa, int padding)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CryptReleaseContext
      Src: /src/hostap/src/crypto/tls_openssl.c:661,1
    - Dst: CertFreeCertificateContext
      Src: /src/hostap/src/crypto/tls_openssl.c:663,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_openssl.c:664,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - priv
    argTypes:
    - struct cryptoapi_rsa_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 665
    functionName: cryptoapi_free_data
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - CertFreeCertificateContext
    - os_free
    - CryptReleaseContext
    linkageType: ''
    returnType: void
    signature: void cryptoapi_free_data(struct cryptoapi_rsa_data *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cryptoapi_free_data
      Src: /src/hostap/src/crypto/tls_openssl.c:670,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_openssl.c:671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - rsa
    argTypes:
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 668
    functionDepth: 1
    functionLinenumber: 668
    functionLinenumberEnd: 674
    functionName: cryptoapi_finish
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - os_free
    - cryptoapi_free_data
    linkageType: ''
    returnType: int
    signature: int cryptoapi_finish(RSA *rsa)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CertOpenStore
      Src: /src/hostap/src/crypto/tls_openssl.c:682,1
    - Dst: cryptoapi_error
      Src: /src/hostap/src/crypto/tls_openssl.c:686,1
    - Dst: strncmp
      Src: /src/hostap/src/crypto/tls_openssl.c:690,1
    - Dst: MultiByteToWideChar
      Src: /src/hostap/src/crypto/tls_openssl.c:692,1
    - Dst: CertFindCertificateInStore
      Src: /src/hostap/src/crypto/tls_openssl.c:693,1
    - Dst: strncmp
      Src: /src/hostap/src/crypto/tls_openssl.c:697,1
    - Dst: os_strlen
      Src: /src/hostap/src/crypto/tls_openssl.c:703,1
    - Dst: os_malloc
      Src: /src/hostap/src/crypto/tls_openssl.c:704,1
    - Dst: hexstr2bin
      Src: /src/hostap/src/crypto/tls_openssl.c:705,1
    - Dst: CertFindCertificateInStore
      Src: /src/hostap/src/crypto/tls_openssl.c:708,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_openssl.c:714,1
    - Dst: CertCloseStore
      Src: /src/hostap/src/crypto/tls_openssl.c:717,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - name
    - store
    argTypes:
    - char*
    - DWORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 677
    functionDepth: 1
    functionLinenumber: 677
    functionLinenumberEnd: 720
    functionName: cryptoapi_find_cert
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - CertOpenStore
    - strncmp
    - CertFindCertificateInStore
    - hexstr2bin
    - CertCloseStore
    - os_malloc
    - MultiByteToWideChar
    - cryptoapi_error
    - os_free
    linkageType: ''
    returnType: CERT_CONTEXT
    signature: CERT_CONTEXT * cryptoapi_find_cert(const char *name, DWORD store)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/hostap/src/crypto/tls_openssl.c:731,1
    - Dst: strncmp
      Src: /src/hostap/src/crypto/tls_openssl.c:732,1
    - Dst: os_zalloc
      Src: /src/hostap/src/crypto/tls_openssl.c:735,1
    - Dst: os_zalloc
      Src: /src/hostap/src/crypto/tls_openssl.c:736,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:738,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_openssl.c:740,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_openssl.c:741,1
    - Dst: cryptoapi_find_cert
      Src: /src/hostap/src/crypto/tls_openssl.c:745,1
    - Dst: cryptoapi_find_cert
      Src: /src/hostap/src/crypto/tls_openssl.c:747,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:751,1
    - Dst: d2i_X509
      Src: /src/hostap/src/crypto/tls_openssl.c:756,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:760,1
    - Dst: CryptAcquireCertificatePrivateKey
      Src: /src/hostap/src/crypto/tls_openssl.c:765,1
    - Dst: cryptoapi_error
      Src: /src/hostap/src/crypto/tls_openssl.c:770,1
    - Dst: RSA_new
      Src: /src/hostap/src/crypto/tls_openssl.c:784,1
    - Dst: SSLerr
      Src: /src/hostap/src/crypto/tls_openssl.c:786,1
    - Dst: SSL_use_certificate
      Src: /src/hostap/src/crypto/tls_openssl.c:791,1
    - Dst: RSA_free
      Src: /src/hostap/src/crypto/tls_openssl.c:792,1
    - Dst: X509_free
      Src: /src/hostap/src/crypto/tls_openssl.c:797,1
    - Dst: BN_dup
      Src: /src/hostap/src/crypto/tls_openssl.c:800,1
    - Dst: BN_dup
      Src: /src/hostap/src/crypto/tls_openssl.c:801,1
    - Dst: RSA_set_method
      Src: /src/hostap/src/crypto/tls_openssl.c:802,1
    - Dst: SSL_use_RSAPrivateKey
      Src: /src/hostap/src/crypto/tls_openssl.c:805,1
    - Dst: RSA_free
      Src: /src/hostap/src/crypto/tls_openssl.c:807,1
    - Dst: X509_free
      Src: /src/hostap/src/crypto/tls_openssl.c:813,1
    - Dst: RSA_free
      Src: /src/hostap/src/crypto/tls_openssl.c:815,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_openssl.c:817,1
    - Dst: cryptoapi_free_data
      Src: /src/hostap/src/crypto/tls_openssl.c:818,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 74
    argCount: 2
    argNames:
    - ssl
    - name
    argTypes:
    - SSL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 723
    functionDepth: 2
    functionLinenumber: 723
    functionLinenumberEnd: 821
    functionName: tls_cryptoapi_cert
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - strncmp
    - wpa_printf
    - RSA_free
    - RSA_new
    - cryptoapi_free_data
    - CryptAcquireCertificatePrivateKey
    - BN_dup
    - d2i_X509
    - RSA_set_method
    - SSL_use_RSAPrivateKey
    - os_zalloc
    - cryptoapi_find_cert
    - cryptoapi_error
    - SSL_use_certificate
    - os_free
    - X509_free
    - SSLerr
    linkageType: ''
    returnType: int
    signature: int tls_cryptoapi_cert(SSL *ssl, const char *name)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/hostap/src/crypto/tls_openssl.c:835,1
    - Dst: os_malloc
      Src: /src/hostap/src/crypto/tls_openssl.c:840,1
    - Dst: os_strlen
      Src: /src/hostap/src/crypto/tls_openssl.c:840,1
    - Dst: wsprintf
      Src: /src/hostap/src/crypto/tls_openssl.c:843,1
    - Dst: CertOpenSystemStore
      Src: /src/hostap/src/crypto/tls_openssl.c:844,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_openssl.c:845,1
    - Dst: CertOpenSystemStore
      Src: /src/hostap/src/crypto/tls_openssl.c:847,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:850,1
    - Dst: GetLastError
      Src: /src/hostap/src/crypto/tls_openssl.c:852,1
    - Dst: CertEnumCertificatesInStore
      Src: /src/hostap/src/crypto/tls_openssl.c:856,1
    - Dst: d2i_X509
      Src: /src/hostap/src/crypto/tls_openssl.c:857,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:861,1
    - Dst: X509_NAME_oneline
      Src: /src/hostap/src/crypto/tls_openssl.c:866,1
    - Dst: X509_get_subject_name
      Src: /src/hostap/src/crypto/tls_openssl.c:866,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:868,1
    - Dst: X509_STORE_add_cert
      Src: /src/hostap/src/crypto/tls_openssl.c:871,1
    - Dst: SSL_CTX_get_cert_store
      Src: /src/hostap/src/crypto/tls_openssl.c:871,1
    - Dst: tls_show_errors
      Src: /src/hostap/src/crypto/tls_openssl.c:873,1
    - Dst: X509_free
      Src: /src/hostap/src/crypto/tls_openssl.c:878,1
    - Dst: CertCloseStore
      Src: /src/hostap/src/crypto/tls_openssl.c:881,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:882,1
    - Dst: GetLastError
      Src: /src/hostap/src/crypto/tls_openssl.c:884,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 3
    argNames:
    - ssl_ctx
    - ssl
    - name
    argTypes:
    - SSL_CTX*
    - SSL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 888
    functionName: tls_cryptoapi_ca_cert
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - strncmp
    - wpa_printf
    - X509_STORE_add_cert
    - GetLastError
    - X509_get_subject_name
    - os_malloc
    - d2i_X509
    - CertCloseStore
    - CertOpenSystemStore
    - SSL_CTX_get_cert_store
    - wsprintf
    - CertEnumCertificatesInStore
    - tls_show_errors
    - os_free
    - X509_free
    - X509_NAME_oneline
    linkageType: ''
    returnType: int
    signature: int tls_cryptoapi_ca_cert(SSL_CTX *ssl_ctx, SSL *ssl, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ssl
    - name
    argTypes:
    - SSL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 893
    functionDepth: 0
    functionLinenumber: 893
    functionLinenumberEnd: 896
    functionName: tls_cryptoapi_cert
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tls_cryptoapi_cert(SSL *ssl, const char *name)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:906,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:916,1
    - Dst: SSL_state_string_long
      Src: /src/hostap/src/crypto/tls_openssl.c:917,1
    - Dst: SSL_get_app_data
      Src: /src/hostap/src/crypto/tls_openssl.c:919,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:920,1
    - Dst: SSL_alert_type_string_long
      Src: /src/hostap/src/crypto/tls_openssl.c:924,1
    - Dst: SSL_alert_desc_string_long
      Src: /src/hostap/src/crypto/tls_openssl.c:925,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/tls_openssl.c:935,1
    - Dst: SSL_alert_type_string_long
      Src: /src/hostap/src/crypto/tls_openssl.c:937,1
    - Dst: SSL_alert_desc_string_long
      Src: /src/hostap/src/crypto/tls_openssl.c:938,1
    - Dst: struct tls_context*::event_cb
      Src: /src/hostap/src/crypto/tls_openssl.c:939,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:942,1
    - Dst: SSL_state_string_long
      Src: /src/hostap/src/crypto/tls_openssl.c:944,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 3
    argNames:
    - ssl
    - where
    - ret
    argTypes:
    - SSL*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 946
    functionName: ssl_info_cb
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - struct tls_context*::event_cb
    - SSL_alert_desc_string_long
    - SSL_state_string_long
    - SSL_get_app_data
    - SSL_alert_type_string_long
    - os_memset
    linkageType: ''
    returnType: void
    signature: void ssl_info_cb(const SSL *ssl, int where, int ret)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_by_id
      Src: /src/hostap/src/crypto/tls_openssl.c:968,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:970,1
    - Dst: ERR_clear_error
      Src: /src/hostap/src/crypto/tls_openssl.c:981,1
    - Dst: ENGINE_by_id
      Src: /src/hostap/src/crypto/tls_openssl.c:983,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:985,1
    - Dst: ERR_error_string
      Src: /src/hostap/src/crypto/tls_openssl.c:987,1
    - Dst: ERR_get_error
      Src: /src/hostap/src/crypto/tls_openssl.c:987,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:993,1
    - Dst: ENGINE_ctrl_cmd_string
      Src: /src/hostap/src/crypto/tls_openssl.c:994,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:995,1
    - Dst: ERR_error_string
      Src: /src/hostap/src/crypto/tls_openssl.c:997,1
    - Dst: ERR_get_error
      Src: /src/hostap/src/crypto/tls_openssl.c:997,1
    - Dst: ENGINE_free
      Src: /src/hostap/src/crypto/tls_openssl.c:998,1
    - Dst: ENGINE_free
      Src: /src/hostap/src/crypto/tls_openssl.c:1008,1
    - Dst: ENGINE_by_id
      Src: /src/hostap/src/crypto/tls_openssl.c:1010,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:1012,1
    - Dst: ERR_error_string
      Src: /src/hostap/src/crypto/tls_openssl.c:1013,1
    - Dst: ERR_get_error
      Src: /src/hostap/src/crypto/tls_openssl.c:1013,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:1018,1
    - Dst: ENGINE_ctrl_cmd_string
      Src: /src/hostap/src/crypto/tls_openssl.c:1019,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:1020,1
    - Dst: ERR_error_string
      Src: /src/hostap/src/crypto/tls_openssl.c:1022,1
    - Dst: ERR_get_error
      Src: /src/hostap/src/crypto/tls_openssl.c:1022,1
    - Dst: ENGINE_remove
      Src: /src/hostap/src/crypto/tls_openssl.c:1023,1
    - Dst: ENGINE_free
      Src: /src/hostap/src/crypto/tls_openssl.c:1024,1
    - Dst: ENGINE_free
      Src: /src/hostap/src/crypto/tls_openssl.c:1029,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 3
    argNames:
    - pre
    - post
    - id
    argTypes:
    - char*[]
    - char*[]
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 962
    functionDepth: 0
    functionLinenumber: 962
    functionLinenumberEnd: 1032
    functionName: tls_engine_load_dynamic_generic
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - ENGINE_free
    - wpa_printf
    - ENGINE_remove
    - ENGINE_ctrl_cmd_string
    - ENGINE_by_id
    - ERR_error_string
    - ERR_get_error
    - ERR_clear_error
    linkageType: ''
    returnType: int
    signature: "int tls_engine_load_dynamic_generic(const char *pre[],\n\t\t\t\t\t
      \  const char *post[], const char *id)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: realpath
      Src: /src/hostap/src/crypto/tls_openssl.c:1065,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:1066,1
    - Dst: strerror
      Src: /src/hostap/src/crypto/tls_openssl.c:1068,1
    - Dst: os_strncmp
      Src: /src/hostap/src/crypto/tls_openssl.c:1072,1
    - Dst: os_strlen
      Src: /src/hostap/src/crypto/tls_openssl.c:1072,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:1073,1
    - Dst: lstat
      Src: /src/hostap/src/crypto/tls_openssl.c:1079,1
    - Dst: S_ISREG
      Src: /src/hostap/src/crypto/tls_openssl.c:1079,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:1081,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/crypto/tls_openssl.c:1087,1
    - Dst: os_strchr
      Src: /src/hostap/src/crypto/tls_openssl.c:1089,1
    - Dst: stat
      Src: /src/hostap/src/crypto/tls_openssl.c:1091,1
    - Dst: S_ISDIR
      Src: /src/hostap/src/crypto/tls_openssl.c:1091,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:1093,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 2
    argNames:
    - path
    - real_path
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1056
    functionDepth: 0
    functionLinenumber: 1056
    functionLinenumberEnd: 1103
    functionName: tls_engine_path_trusted
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - S_ISDIR
    - realpath
    - wpa_printf
    - strerror
    - os_strlcpy
    - os_strncmp
    - lstat
    - S_ISREG
    - stat
    - os_strchr
    linkageType: ''
    returnType: int
    signature: int tls_engine_path_trusted(const char *path, char *real_path)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tls_engine_path_trusted
      Src: /src/hostap/src/crypto/tls_openssl.c:1138,1
    - Dst: tls_engine_path_trusted
      Src: /src/hostap/src/crypto/tls_openssl.c:1147,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:1161,1
    - Dst: tls_engine_load_dynamic_generic
      Src: /src/hostap/src/crypto/tls_openssl.c:1164,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - pkcs11_so_path
    - pkcs11_module_path
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1165
      start: 1113
    functionDepth: 1
    functionLinenumber: 1113
    functionLinenumberEnd: 1165
    functionName: tls_engine_load_dynamic_pkcs11
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - tls_engine_load_dynamic_generic
    - tls_engine_path_trusted
    linkageType: ''
    returnType: int
    signature: "int tls_engine_load_dynamic_pkcs11(const char *pkcs11_so_path,\n\t\t\t\t\t
      \ const char *pkcs11_module_path)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tls_engine_path_trusted
      Src: /src/hostap/src/crypto/tls_openssl.c:1190,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:1198,1
    - Dst: tls_engine_load_dynamic_generic
      Src: /src/hostap/src/crypto/tls_openssl.c:1201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - opensc_so_path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1172
    functionDepth: 1
    functionLinenumber: 1172
    functionLinenumberEnd: 1202
    functionName: tls_engine_load_dynamic_opensc
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - tls_engine_load_dynamic_generic
    - tls_engine_path_trusted
    linkageType: ''
    returnType: int
    signature: int tls_engine_load_dynamic_opensc(const char *opensc_so_path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/crypto/tls_openssl.c:1211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - context
    - buf
    argTypes:
    - struct tls_context*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1218
      start: 1206
    functionDepth: 0
    functionLinenumber: 1206
    functionLinenumberEnd: 1218
    functionName: get_session_data
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    linkageType: ''
    returnType: struct tls_session_data
    signature: "struct tls_session_data * get_session_data(struct tls_context *context,\n\t\t\t\t\t\t
      \ const struct wpabuf *buf)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:1227,1
    - Dst: SSL_SESSION_get_ex_data
      Src: /src/hostap/src/crypto/tls_openssl.c:1233,1
    - Dst: SSL_CTX_get_app_data
      Src: /src/hostap/src/crypto/tls_openssl.c:1237,1
    - Dst: SSL_SESSION_set_ex_data
      Src: /src/hostap/src/crypto/tls_openssl.c:1238,1
    - Dst: get_session_data
      Src: /src/hostap/src/crypto/tls_openssl.c:1239,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:1241,1
    - Dst: dl_list_del
      Src: /src/hostap/src/crypto/tls_openssl.c:1247,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_openssl.c:1248,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:1249,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/tls_openssl.c:1252,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - ctx
    - sess
    argTypes:
    - SSL_CTX*
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1253
      start: 1221
    functionDepth: 1
    functionLinenumber: 1221
    functionLinenumberEnd: 1253
    functionName: remove_session_cb
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - get_session_data
    - dl_list_del
    - wpabuf_free
    - SSL_SESSION_get_ex_data
    - SSL_SESSION_set_ex_data
    - os_free
    - SSL_CTX_get_app_data
    linkageType: ''
    returnType: void
    signature: void remove_session_cb(SSL_CTX *ctx, SSL_SESSION *sess)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: openssl_load_legacy_provider
      Src: /src/hostap/src/crypto/tls_openssl.c:1286,1
    - Dst: openssl_load_pkcs11_provider
      Src: /src/hostap/src/crypto/tls_openssl.c:1288,1
    - Dst: tls_context_new
      Src: /src/hostap/src/crypto/tls_openssl.c:1291,1
    - Dst: FIPS_mode_set
      Src: /src/hostap/src/crypto/tls_openssl.c:1299,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:1300,1
    - Dst: ERR_load_crypto_strings
      Src: /src/hostap/src/crypto/tls_openssl.c:1302,1
    - Dst: ERR_print_errors_fp
      Src: /src/hostap/src/crypto/tls_openssl.c:1303,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_openssl.c:1304,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:1308,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:1314,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_openssl.c:1316,1
    - Dst: SSL_load_error_strings
      Src: /src/hostap/src/crypto/tls_openssl.c:1323,1
    - Dst: SSL_library_init
      Src: /src/hostap/src/crypto/tls_openssl.c:1324,1
    - Dst: EVP_add_digest
      Src: /src/hostap/src/crypto/tls_openssl.c:1326,1
    - Dst: EVP_sha256
      Src: /src/hostap/src/crypto/tls_openssl.c:1326,1
    - Dst: EVP_add_cipher
      Src: /src/hostap/src/crypto/tls_openssl.c:1340,1
    - Dst: EVP_rc2_40_cbc
      Src: /src/hostap/src/crypto/tls_openssl.c:1340,1
    - Dst: PKCS12_PBE_add
      Src: /src/hostap/src/crypto/tls_openssl.c:1342,1
    - Dst: tls_context_new
      Src: /src/hostap/src/crypto/tls_openssl.c:1346,1
    - Dst: os_zalloc
      Src: /src/hostap/src/crypto/tls_openssl.c:1352,1
    - Dst: SSL_CTX_new
      Src: /src/hostap/src/crypto/tls_openssl.c:1354,1
    - Dst: SSLv23_method
      Src: /src/hostap/src/crypto/tls_openssl.c:1354,1
    - Dst: tls_show_errors
      Src: /src/hostap/src/crypto/tls_openssl.c:1358,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_openssl.c:1361,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_openssl.c:1363,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_openssl.c:1366,1
    - Dst: SSL_CTX_set_options
      Src: /src/hostap/src/crypto/tls_openssl.c:1375,1
    - Dst: SSL_CTX_set_options
      Src: /src/hostap/src/crypto/tls_openssl.c:1376,1
    - Dst: SSL_CTX_set_mode
      Src: /src/hostap/src/crypto/tls_openssl.c:1378,1
    - Dst: SSL_CTX_clear_mode
      Src: /src/hostap/src/crypto/tls_openssl.c:1385,1
    - Dst: SSL_CTX_set_info_callback
      Src: /src/hostap/src/crypto/tls_openssl.c:1388,1
    - Dst: SSL_CTX_set_app_data
      Src: /src/hostap/src/crypto/tls_openssl.c:1389,1
    - Dst: SSL_CTX_set_quiet_shutdown
      Src: /src/hostap/src/crypto/tls_openssl.c:1391,1
    - Dst: SSL_CTX_set_session_id_context
      Src: /src/hostap/src/crypto/tls_openssl.c:1396,1
    - Dst: SSL_CTX_set_session_cache_mode
      Src: /src/hostap/src/crypto/tls_openssl.c:1397,1
    - Dst: SSL_CTX_set_timeout
      Src: /src/hostap/src/crypto/tls_openssl.c:1398,1
    - Dst: SSL_CTX_sess_set_remove_cb
      Src: /src/hostap/src/crypto/tls_openssl.c:1399,1
    - Dst: SSL_CTX_set_num_tickets
      Src: /src/hostap/src/crypto/tls_openssl.c:1404,1
    - Dst: SSL_CTX_set_session_cache_mode
      Src: /src/hostap/src/crypto/tls_openssl.c:1407,1
    - Dst: SSL_CTX_set_num_tickets
      Src: /src/hostap/src/crypto/tls_openssl.c:1411,1
    - Dst: SSL_SESSION_get_ex_new_index
      Src: /src/hostap/src/crypto/tls_openssl.c:1416,1
    - Dst: tls_deinit
      Src: /src/hostap/src/crypto/tls_openssl.c:1419,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:1425,1
    - Dst: ENGINE_load_builtin_engines
      Src: /src/hostap/src/crypto/tls_openssl.c:1426,1
    - Dst: tls_engine_load_dynamic_opensc
      Src: /src/hostap/src/crypto/tls_openssl.c:1429,1
    - Dst: tls_engine_load_dynamic_pkcs11
      Src: /src/hostap/src/crypto/tls_openssl.c:1430,1
    - Dst: tls_deinit
      Src: /src/hostap/src/crypto/tls_openssl.c:1432,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/hostap/src/crypto/tls_openssl.c:1442,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:1443,1
    - Dst: tls_deinit
      Src: /src/hostap/src/crypto/tls_openssl.c:1446,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 99
    argCount: 1
    argNames:
    - conf
    argTypes:
    - struct tls_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1451
      start: 1256
    functionDepth: 2
    functionLinenumber: 1256
    functionLinenumberEnd: 1451
    functionName: tls_init
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 6
    functionsReached:
    - ERR_print_errors_fp
    - SSL_library_init
    - SSL_CTX_set_app_data
    - SSL_CTX_set_info_callback
    - tls_engine_load_dynamic_opensc
    - EVP_add_digest
    - EVP_add_cipher
    - SSL_CTX_set_num_tickets
    - SSL_SESSION_get_ex_new_index
    - openssl_load_legacy_provider
    - wpa_printf
    - ENGINE_load_builtin_engines
    - SSL_CTX_set_session_id_context
    - ERR_load_crypto_strings
    - PKCS12_PBE_add
    - SSL_CTX_set_quiet_shutdown
    - SSL_CTX_set_options
    - os_free
    - tls_deinit
    - EVP_sha256
    - SSL_CTX_set_session_cache_mode
    - tls_engine_load_dynamic_pkcs11
    - tls_show_errors
    - EVP_rc2_40_cbc
    - openssl_load_pkcs11_provider
    - SSL_CTX_clear_mode
    - SSL_CTX_sess_set_remove_cb
    - tls_context_new
    - SSL_CTX_set_mode
    - SSL_CTX_new
    - SSL_load_error_strings
    - FIPS_mode_set
    - os_zalloc
    - SSL_CTX_set_timeout
    - SSL_CTX_set_cipher_list
    - SSLv23_method
    linkageType: ''
    returnType: void
    signature: void * tls_init(const struct tls_config *conf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_get_app_data
      Src: /src/hostap/src/crypto/tls_openssl.c:1458,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:1462,1
    - Dst: SSL_CTX_flush_sessions_ex
      Src: /src/hostap/src/crypto/tls_openssl.c:1466,1
    - Dst: SSL_CTX_flush_sessions
      Src: /src/hostap/src/crypto/tls_openssl.c:1468,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:1470,1
    - Dst: dl_list_first
      Src: /src/hostap/src/crypto/tls_openssl.c:1472,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:1474,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/tls_openssl.c:1477,1
    - Dst: dl_list_del
      Src: /src/hostap/src/crypto/tls_openssl.c:1478,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_openssl.c:1479,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_openssl.c:1482,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_openssl.c:1483,1
    - Dst: SSL_CTX_free
      Src: /src/hostap/src/crypto/tls_openssl.c:1484,1
    - Dst: openssl_unload_pkcs11_provider
      Src: /src/hostap/src/crypto/tls_openssl.c:1489,1
    - Dst: ENGINE_cleanup
      Src: /src/hostap/src/crypto/tls_openssl.c:1493,1
    - Dst: CRYPTO_cleanup_all_ex_data
      Src: /src/hostap/src/crypto/tls_openssl.c:1495,1
    - Dst: ERR_remove_thread_state
      Src: /src/hostap/src/crypto/tls_openssl.c:1496,1
    - Dst: ERR_free_strings
      Src: /src/hostap/src/crypto/tls_openssl.c:1497,1
    - Dst: EVP_cleanup
      Src: /src/hostap/src/crypto/tls_openssl.c:1498,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_openssl.c:1500,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_openssl.c:1502,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_openssl.c:1506,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_openssl.c:1507,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_openssl.c:1508,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 1
    argNames:
    - ssl_ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1509
      start: 1454
    functionDepth: 1
    functionLinenumber: 1454
    functionLinenumberEnd: 1509
    functionName: tls_deinit
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 12
    functionsReached:
    - wpa_printf
    - ERR_free_strings
    - dl_list_del
    - openssl_unload_pkcs11_provider
    - CRYPTO_cleanup_all_ex_data
    - dl_list_first
    - wpabuf_free
    - ERR_remove_thread_state
    - EVP_cleanup
    - SSL_CTX_flush_sessions_ex
    - SSL_CTX_flush_sessions
    - os_free
    - ENGINE_cleanup
    - SSL_CTX_free
    - SSL_CTX_get_app_data
    linkageType: ''
    returnType: void
    signature: void tls_deinit(void *ssl_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_GET_LIB
      Src: /src/hostap/src/crypto/tls_openssl.c:1524,1
    - Dst: ERR_GET_REASON
      Src: /src/hostap/src/crypto/tls_openssl.c:1525,1
    - Dst: ERR_GET_REASON
      Src: /src/hostap/src/crypto/tls_openssl.c:1526,1
    - Dst: ERR_GET_REASON
      Src: /src/hostap/src/crypto/tls_openssl.c:1527,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - err
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1528
      start: 1522
    functionDepth: 0
    functionLinenumber: 1522
    functionLinenumberEnd: 1528
    functionName: tls_is_pin_error
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - ERR_GET_REASON
    - ERR_GET_LIB
    linkageType: ''
    returnType: int
    signature: int tls_is_pin_error(unsigned int err)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_from_keystore
      Src: /src/hostap/src/crypto/tls_openssl.c:1549,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:1551,1
    - Dst: ERR_error_string
      Src: /src/hostap/src/crypto/tls_openssl.c:1554,1
    - Dst: ERR_get_error
      Src: /src/hostap/src/crypto/tls_openssl.c:1554,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:1562,1
    - Dst: ERR_clear_error
      Src: /src/hostap/src/crypto/tls_openssl.c:1566,1
    - Dst: ENGINE_load_dynamic
      Src: /src/hostap/src/crypto/tls_openssl.c:1568,1
    - Dst: ENGINE_by_id
      Src: /src/hostap/src/crypto/tls_openssl.c:1570,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:1572,1
    - Dst: ERR_error_string
      Src: /src/hostap/src/crypto/tls_openssl.c:1573,1
    - Dst: ERR_get_error
      Src: /src/hostap/src/crypto/tls_openssl.c:1573,1
    - Dst: ENGINE_init
      Src: /src/hostap/src/crypto/tls_openssl.c:1576,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:1577,1
    - Dst: ERR_error_string
      Src: /src/hostap/src/crypto/tls_openssl.c:1579,1
    - Dst: ERR_get_error
      Src: /src/hostap/src/crypto/tls_openssl.c:1579,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:1582,1
    - Dst: ENGINE_ctrl_cmd_string
      Src: /src/hostap/src/crypto/tls_openssl.c:1585,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:1586,1
    - Dst: ERR_error_string
      Src: /src/hostap/src/crypto/tls_openssl.c:1587,1
    - Dst: ERR_get_error
      Src: /src/hostap/src/crypto/tls_openssl.c:1587,1
    - Dst: ENGINE_load_private_key
      Src: /src/hostap/src/crypto/tls_openssl.c:1602,1
    - Dst: ERR_get_error
      Src: /src/hostap/src/crypto/tls_openssl.c:1606,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:1608,1
    - Dst: ERR_error_string
      Src: /src/hostap/src/crypto/tls_openssl.c:1611,1
    - Dst: tls_is_pin_error
      Src: /src/hostap/src/crypto/tls_openssl.c:1612,1
    - Dst: ENGINE_ctrl
      Src: /src/hostap/src/crypto/tls_openssl.c:1625,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:1627,1
    - Dst: ENGINE_free
      Src: /src/hostap/src/crypto/tls_openssl.c:1638,1
    - Dst: EVP_PKEY_free
      Src: /src/hostap/src/crypto/tls_openssl.c:1643,1
    - Dst: provider_load_key
      Src: /src/hostap/src/crypto/tls_openssl.c:1650,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 67
    argCount: 6
    argNames:
    - conn
    - engine_id
    - pin
    - key_id
    - cert_id
    - ca_cert_id
    argTypes:
    - struct tls_connection*
    - char*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1657
      start: 1538
    functionDepth: 1
    functionLinenumber: 1538
    functionLinenumberEnd: 1657
    functionName: tls_engine_init
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - ENGINE_free
    - wpa_printf
    - provider_load_key
    - ENGINE_load_dynamic
    - ENGINE_by_id
    - ENGINE_init
    - ENGINE_ctrl_cmd_string
    - EVP_PKEY_from_keystore
    - tls_is_pin_error
    - EVP_PKEY_free
    - ERR_error_string
    - ENGINE_ctrl
    - ERR_get_error
    - ENGINE_load_private_key
    - ERR_clear_error
    linkageType: ''
    returnType: int
    signature: "int tls_engine_init(struct tls_connection *conn, const char *engine_id,\n\t\t\t
      \  const char *pin, const char *key_id,\n\t\t\t   const char *cert_id, const
      char *ca_cert_id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_free
      Src: /src/hostap/src/crypto/tls_openssl.c:1663,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:1667,1
    - Dst: ENGINE_finish
      Src: /src/hostap/src/crypto/tls_openssl.c:1670,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct tls_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1675
      start: 1660
    functionDepth: 0
    functionLinenumber: 1660
    functionLinenumberEnd: 1675
    functionName: tls_engine_deinit
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - ENGINE_finish
    - wpa_printf
    - EVP_PKEY_free
    linkageType: ''
    returnType: void
    signature: void tls_engine_deinit(struct tls_connection *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_get_error
      Src: /src/hostap/src/crypto/tls_openssl.c:1683,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:1684,1
    - Dst: ERR_error_string
      Src: /src/hostap/src/crypto/tls_openssl.c:1685,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ssl_ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1690
      start: 1678
    functionDepth: 0
    functionLinenumber: 1678
    functionLinenumberEnd: 1690
    functionName: tls_get_errors
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 1
    functionsReached:
    - ERR_get_error
    - wpa_printf
    - ERR_error_string
    linkageType: ''
    returnType: int
    signature: int tls_get_errors(void *ssl_ctx)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - content_type
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1713
      start: 1693
    functionDepth: 0
    functionLinenumber: 1693
    functionLinenumberEnd: 1713
    functionName: openssl_content_type
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * openssl_content_type(int content_type)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: openssl_content_type
      Src: /src/hostap/src/crypto/tls_openssl.c:1720,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 49
    argCount: 3
    argNames:
    - content_type
    - buf
    - len
    argTypes:
    - int
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1767
      start: 1716
    functionDepth: 1
    functionLinenumber: 1716
    functionLinenumberEnd: 1767
    functionName: openssl_handshake_type
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - openssl_content_type
    linkageType: ''
    returnType: char
    signature: "char * openssl_handshake_type(int content_type, const u8 *buf,\n\t\t\t\t\t
      \  size_t len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: WPA_GET_BE24
      Src: /src/hostap/src/crypto/tls_openssl.c:1785,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/crypto/tls_openssl.c:1807,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:1808,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - conn
    - pos
    - end
    argTypes:
    - struct tls_connection*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1810
      start: 1772
    functionDepth: 1
    functionLinenumber: 1772
    functionLinenumberEnd: 1810
    functionName: check_server_hello
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - WPA_GET_BE24
    - WPA_GET_BE16
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: "void check_server_hello(struct tls_connection *conn,\n\t\t\t       const
      u8 *pos, const u8 *end)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: WPA_GET_BE24
      Src: /src/hostap/src/crypto/tls_openssl.c:1830,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/crypto/tls_openssl.c:1839,1
    - Dst: BN_bin2bn
      Src: /src/hostap/src/crypto/tls_openssl.c:1844,1
    - Dst: BN_num_bits
      Src: /src/hostap/src/crypto/tls_openssl.c:1848,1
    - Dst: BN_free
      Src: /src/hostap/src/crypto/tls_openssl.c:1849,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:1852,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 4
    argNames:
    - ssl
    - conn
    - pos
    - end
    argTypes:
    - SSL*
    - struct tls_connection*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1854
      start: 1813
    functionDepth: 1
    functionLinenumber: 1813
    functionLinenumberEnd: 1854
    functionName: check_server_key_exchange
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - WPA_GET_BE16
    - wpa_printf
    - BN_bin2bn
    - WPA_GET_BE24
    - BN_free
    - BN_num_bits
    linkageType: ''
    returnType: void
    signature: "void check_server_key_exchange(SSL *ssl, struct tls_connection *conn,\n\t\t\t\t
      \     const u8 *pos, const u8 *end)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SSL_version
      Src: /src/hostap/src/crypto/tls_openssl.c:1866,1
    - Dst: SSL_version
      Src: /src/hostap/src/crypto/tls_openssl.c:1867,1
    - Dst: SSL_get_security_level
      Src: /src/hostap/src/crypto/tls_openssl.c:1868,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:1869,1
    - Dst: SSL_set_security_level
      Src: /src/hostap/src/crypto/tls_openssl.c:1871,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:1875,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/crypto/tls_openssl.c:1878,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:1882,1
    - Dst: openssl_content_type
      Src: /src/hostap/src/crypto/tls_openssl.c:1884,1
    - Dst: openssl_handshake_type
      Src: /src/hostap/src/crypto/tls_openssl.c:1885,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/crypto/tls_openssl.c:1886,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/crypto/tls_openssl.c:1888,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:1890,1
    - Dst: check_server_hello
      Src: /src/hostap/src/crypto/tls_openssl.c:1902,1
    - Dst: check_server_key_exchange
      Src: /src/hostap/src/crypto/tls_openssl.c:1904,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 22
    argCount: 7
    argNames:
    - write_p
    - version
    - content_type
    - buf
    - len
    - ssl
    - arg
    argTypes:
    - int
    - int
    - int
    - void*
    - size_t
    - SSL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1906
      start: 1859
    functionDepth: 2
    functionLinenumber: 1859
    functionLinenumberEnd: 1906
    functionName: tls_msg_cb
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - check_server_hello
    - wpa_printf
    - wpa_hexdump_key
    - WPA_GET_BE16
    - SSL_get_security_level
    - SSL_set_security_level
    - openssl_handshake_type
    - check_server_key_exchange
    - SSL_version
    - openssl_content_type
    linkageType: ''
    returnType: void
    signature: "void tls_msg_cb(int write_p, int version, int content_type,\n\t\t
      \      const void *buf, size_t len, SSL *ssl, void *arg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/hostap/src/crypto/tls_openssl.c:1935,1
    - Dst: open
      Src: /src/hostap/src/crypto/tls_openssl.c:1939,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:1941,1
    - Dst: strerror
      Src: /src/hostap/src/crypto/tls_openssl.c:1943,1
    - Dst: os_strlen
      Src: /src/hostap/src/crypto/tls_openssl.c:1950,1
    - Dst: writev
      Src: /src/hostap/src/crypto/tls_openssl.c:1954,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/crypto/tls_openssl.c:1954,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:1955,1
    - Dst: strerror
      Src: /src/hostap/src/crypto/tls_openssl.c:1957,1
    - Dst: close
      Src: /src/hostap/src/crypto/tls_openssl.c:1960,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - ssl
    - line
    argTypes:
    - SSL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1961
      start: 1929
    functionDepth: 1
    functionLinenumber: 1929
    functionLinenumberEnd: 1961
    functionName: tls_keylog_cb
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - open
    - strerror
    - getenv
    - writev
    - close
    - ARRAY_SIZE
    linkageType: ''
    returnType: void
    signature: void tls_keylog_cb(const SSL *ssl, const char *line)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_get_app_data
      Src: /src/hostap/src/crypto/tls_openssl.c:1974,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/crypto/tls_openssl.c:1977,1
    - Dst: os_reltime_expired
      Src: /src/hostap/src/crypto/tls_openssl.c:1978,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:1980,1
    - Dst: tls_crl_cert_reload
      Src: /src/hostap/src/crypto/tls_openssl.c:1982,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:1985,1
    - Dst: SSL_CTX_set_cert_store
      Src: /src/hostap/src/crypto/tls_openssl.c:1989,1
    - Dst: os_zalloc
      Src: /src/hostap/src/crypto/tls_openssl.c:1994,1
    - Dst: SSL_new
      Src: /src/hostap/src/crypto/tls_openssl.c:1999,1
    - Dst: tls_show_errors
      Src: /src/hostap/src/crypto/tls_openssl.c:2001,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_openssl.c:2003,1
    - Dst: SSL_set_app_data
      Src: /src/hostap/src/crypto/tls_openssl.c:2008,1
    - Dst: SSL_set_msg_callback
      Src: /src/hostap/src/crypto/tls_openssl.c:2009,1
    - Dst: SSL_set_msg_callback_arg
      Src: /src/hostap/src/crypto/tls_openssl.c:2010,1
    - Dst: SSL_set_options
      Src: /src/hostap/src/crypto/tls_openssl.c:2016,1
    - Dst: SSL_clear_options
      Src: /src/hostap/src/crypto/tls_openssl.c:2020,1
    - Dst: getenv
      Src: /src/hostap/src/crypto/tls_openssl.c:2026,1
    - Dst: SSL_CTX_set_keylog_callback
      Src: /src/hostap/src/crypto/tls_openssl.c:2027,1
    - Dst: BIO_new
      Src: /src/hostap/src/crypto/tls_openssl.c:2031,1
    - Dst: BIO_s_mem
      Src: /src/hostap/src/crypto/tls_openssl.c:2031,1
    - Dst: tls_show_errors
      Src: /src/hostap/src/crypto/tls_openssl.c:2033,1
    - Dst: SSL_free
      Src: /src/hostap/src/crypto/tls_openssl.c:2035,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_openssl.c:2036,1
    - Dst: BIO_new
      Src: /src/hostap/src/crypto/tls_openssl.c:2040,1
    - Dst: BIO_s_mem
      Src: /src/hostap/src/crypto/tls_openssl.c:2040,1
    - Dst: tls_show_errors
      Src: /src/hostap/src/crypto/tls_openssl.c:2042,1
    - Dst: SSL_free
      Src: /src/hostap/src/crypto/tls_openssl.c:2044,1
    - Dst: BIO_free
      Src: /src/hostap/src/crypto/tls_openssl.c:2045,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_openssl.c:2046,1
    - Dst: SSL_set_bio
      Src: /src/hostap/src/crypto/tls_openssl.c:2050,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 49
    argCount: 1
    argNames:
    - ssl_ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2053
      start: 1966
    functionDepth: 1
    functionLinenumber: 1966
    functionLinenumberEnd: 2053
    functionName: tls_connection_init
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 5
    functionsReached:
    - SSL_CTX_set_keylog_callback
    - SSL_set_msg_callback
    - tls_crl_cert_reload
    - SSL_set_options
    - BIO_new
    - BIO_free
    - os_reltime_expired
    - SSL_CTX_get_app_data
    - SSL_new
    - SSL_set_app_data
    - wpa_printf
    - SSL_free
    - SSL_set_bio
    - os_free
    - SSL_clear_options
    - os_get_reltime
    - getenv
    - SSL_CTX_set_cert_store
    - tls_show_errors
    - BIO_s_mem
    - os_zalloc
    - SSL_set_msg_callback_arg
    linkageType: ''
    returnType: struct tls_connection
    signature: struct tls_connection * tls_connection_init(void *ssl_ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_set_quiet_shutdown
      Src: /src/hostap/src/crypto/tls_openssl.c:2065,1
    - Dst: SSL_shutdown
      Src: /src/hostap/src/crypto/tls_openssl.c:2066,1
    - Dst: SSL_free
      Src: /src/hostap/src/crypto/tls_openssl.c:2068,1
    - Dst: tls_engine_deinit
      Src: /src/hostap/src/crypto/tls_openssl.c:2069,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_openssl.c:2070,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_openssl.c:2071,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_openssl.c:2072,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_openssl.c:2073,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_openssl.c:2074,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_openssl.c:2075,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_openssl.c:2076,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_openssl.c:2077,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - ssl_ctx
    - conn
    argTypes:
    - void*
    - struct tls_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2078
      start: 2056
    functionDepth: 1
    functionLinenumber: 2056
    functionLinenumberEnd: 2078
    functionName: tls_connection_deinit
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 6
    functionsReached:
    - SSL_free
    - tls_engine_deinit
    - SSL_set_quiet_shutdown
    - os_free
    - SSL_shutdown
    linkageType: ''
    returnType: void
    signature: void tls_connection_deinit(void *ssl_ctx, struct tls_connection *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_is_init_finished
      Src: /src/hostap/src/crypto/tls_openssl.c:2083,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ssl_ctx
    - conn
    argTypes:
    - void*
    - struct tls_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2084
      start: 2081
    functionDepth: 0
    functionLinenumber: 2081
    functionLinenumberEnd: 2084
    functionName: tls_connection_established
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 17
    functionsReached:
    - SSL_is_init_finished
    linkageType: ''
    returnType: int
    signature: int tls_connection_established(void *ssl_ctx, struct tls_connection
      *conn)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: X509_get_serialNumber
      Src: /src/hostap/src/crypto/tls_openssl.c:2097,1
    - Dst: ASN1_STRING_length
      Src: /src/hostap/src/crypto/tls_openssl.c:2101,1
    - Dst: os_malloc
      Src: /src/hostap/src/crypto/tls_openssl.c:2102,1
    - Dst: wpa_snprintf_hex_uppercase
      Src: /src/hostap/src/crypto/tls_openssl.c:2105,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/hostap/src/crypto/tls_openssl.c:2106,1
    - Dst: ASN1_STRING_length
      Src: /src/hostap/src/crypto/tls_openssl.c:2107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - tls_ctx
    - conn
    argTypes:
    - void*
    - struct tls_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2109
      start: 2087
    functionDepth: 1
    functionLinenumber: 2087
    functionLinenumberEnd: 2109
    functionName: tls_connection_peer_serial_num
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - ASN1_STRING_length
    - os_malloc
    - wpa_snprintf_hex_uppercase
    - X509_get_serialNumber
    - ASN1_STRING_get0_data
    linkageType: ''
    returnType: char
    signature: "char * tls_connection_peer_serial_num(void *tls_ctx,\n\t\t\t\t      struct
      tls_connection *conn)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_set_quiet_shutdown
      Src: /src/hostap/src/crypto/tls_openssl.c:2120,1
    - Dst: SSL_shutdown
      Src: /src/hostap/src/crypto/tls_openssl.c:2121,1
    - Dst: SSL_clear
      Src: /src/hostap/src/crypto/tls_openssl.c:2122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ssl_ctx
    - conn
    argTypes:
    - void*
    - struct tls_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2123
      start: 2112
    functionDepth: 0
    functionLinenumber: 2112
    functionLinenumberEnd: 2123
    functionName: tls_connection_shutdown
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 2
    functionsReached:
    - SSL_set_quiet_shutdown
    - SSL_shutdown
    - SSL_clear
    linkageType: ''
    returnType: int
    signature: int tls_connection_shutdown(void *ssl_ctx, struct tls_connection *conn)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_get_ext_d2i
      Src: /src/hostap/src/crypto/tls_openssl.c:2134,1
    - Dst: sk_GENERAL_NAME_num
      Src: /src/hostap/src/crypto/tls_openssl.c:2136,1
    - Dst: sk_GENERAL_NAME_value
      Src: /src/hostap/src/crypto/tls_openssl.c:2137,1
    - Dst: ASN1_STRING_length
      Src: /src/hostap/src/crypto/tls_openssl.c:2140,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/tls_openssl.c:2141,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/hostap/src/crypto/tls_openssl.c:2141,1
    - Dst: sk_GENERAL_NAME_pop_free
      Src: /src/hostap/src/crypto/tls_openssl.c:2146,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 4
    argNames:
    - cert
    - type
    - value
    - len
    argTypes:
    - X509*
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2149
      start: 2126
    functionDepth: 0
    functionLinenumber: 2126
    functionLinenumberEnd: 2149
    functionName: tls_match_altsubject_component
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - sk_GENERAL_NAME_num
    - X509_get_ext_d2i
    - sk_GENERAL_NAME_value
    - ASN1_STRING_length
    - os_memcmp
    - ASN1_STRING_get0_data
    - sk_GENERAL_NAME_pop_free
    linkageType: ''
    returnType: int
    signature: "int tls_match_altsubject_component(X509 *cert, int type,\n\t\t\t\t\t
      \ const char *value, size_t len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: os_strncmp
      Src: /src/hostap/src/crypto/tls_openssl.c:2160,1
    - Dst: os_strncmp
      Src: /src/hostap/src/crypto/tls_openssl.c:2163,1
    - Dst: os_strncmp
      Src: /src/hostap/src/crypto/tls_openssl.c:2166,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:2170,1
    - Dst: os_strchr
      Src: /src/hostap/src/crypto/tls_openssl.c:2174,1
    - Dst: os_strncmp
      Src: /src/hostap/src/crypto/tls_openssl.c:2176,1
    - Dst: os_strncmp
      Src: /src/hostap/src/crypto/tls_openssl.c:2177,1
    - Dst: os_strncmp
      Src: /src/hostap/src/crypto/tls_openssl.c:2178,1
    - Dst: os_strchr
      Src: /src/hostap/src/crypto/tls_openssl.c:2180,1
    - Dst: os_strlen
      Src: /src/hostap/src/crypto/tls_openssl.c:2185,1
    - Dst: tls_match_altsubject_component
      Src: /src/hostap/src/crypto/tls_openssl.c:2186,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 2
    argNames:
    - cert
    - match
    argTypes:
    - X509*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2194
      start: 2152
    functionDepth: 1
    functionLinenumber: 2152
    functionLinenumberEnd: 2194
    functionName: tls_match_altsubject
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - tls_match_altsubject_component
    - wpa_printf
    - os_strncmp
    - os_strchr
    linkageType: ''
    returnType: int
    signature: int tls_match_altsubject(X509 *cert, const char *match)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:2206,1
    - Dst: os_strncasecmp
      Src: /src/hostap/src/crypto/tls_openssl.c:2214,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:2224,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 5
    argNames:
    - val
    - len
    - match
    - match_len
    - full
    argTypes:
    - u8*
    - size_t
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2226
      start: 2198
    functionDepth: 0
    functionLinenumber: 2198
    functionLinenumberEnd: 2226
    functionName: domain_suffix_match
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - os_strncasecmp
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int domain_suffix_match(const u8 *val, size_t len, const char *match,\n\t\t\t
      \      size_t match_len, int full)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:2260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 2
    argNames:
    - dn_cnt
    - nid
    argTypes:
    - struct tls_dn_field_order_cnt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2265
      start: 2241
    functionDepth: 0
    functionLinenumber: 2241
    functionLinenumberEnd: 2265
    functionName: get_dn_field_index
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int get_dn_field_index(const struct tls_dn_field_order_cnt *dn_cnt,\n\t\t\t
      \     int nid)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/crypto/tls_openssl.c:2285,1
    - Dst: X509_get_subject_name
      Src: /src/hostap/src/crypto/tls_openssl.c:2286,1
    - Dst: get_dn_field_index
      Src: /src/hostap/src/crypto/tls_openssl.c:2290,1
    - Dst: X509_NAME_get_index_by_NID
      Src: /src/hostap/src/crypto/tls_openssl.c:2295,1
    - Dst: X509_NAME_get_entry
      Src: /src/hostap/src/crypto/tls_openssl.c:2300,1
    - Dst: X509_NAME_ENTRY_get_data
      Src: /src/hostap/src/crypto/tls_openssl.c:2304,1
    - Dst: ASN1_STRING_length
      Src: /src/hostap/src/crypto/tls_openssl.c:2322,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/tls_openssl.c:2323,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/hostap/src/crypto/tls_openssl.c:2323,1
    - Dst: ASN1_STRING_length
      Src: /src/hostap/src/crypto/tls_openssl.c:2328,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/tls_openssl.c:2329,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/hostap/src/crypto/tls_openssl.c:2329,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:2333,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/hostap/src/crypto/tls_openssl.c:2335,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 5
    argNames:
    - cert
    - nid
    - field
    - value
    - dn_cnt
    argTypes:
    - X509*
    - int
    - char*
    - char*
    - struct tls_dn_field_order_cnt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2341
      start: 2278
    functionDepth: 1
    functionLinenumber: 2278
    functionLinenumberEnd: 2341
    functionName: match_dn_field
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - X509_NAME_get_index_by_NID
    - wpa_printf
    - get_dn_field_index
    - ASN1_STRING_length
    - X509_NAME_ENTRY_get_data
    - X509_get_subject_name
    - X509_NAME_get_entry
    - os_memcmp
    - ASN1_STRING_get0_data
    linkageType: ''
    returnType: int
    signature: "int match_dn_field(const X509 *cert, int nid, const char *field,\n\t\t\t
      \ const char *value,\n\t\t\t  const struct tls_dn_field_order_cnt *dn_cnt)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/src/crypto/tls_openssl.c:2358,1
    - Dst: str_token
      Src: /src/hostap/src/crypto/tls_openssl.c:2361,1
    - Dst: os_strcmp
      Src: /src/hostap/src/crypto/tls_openssl.c:2367,1
    - Dst: os_strcmp
      Src: /src/hostap/src/crypto/tls_openssl.c:2370,1
    - Dst: os_strcmp
      Src: /src/hostap/src/crypto/tls_openssl.c:2373,1
    - Dst: os_strcmp
      Src: /src/hostap/src/crypto/tls_openssl.c:2376,1
    - Dst: os_strcmp
      Src: /src/hostap/src/crypto/tls_openssl.c:2379,1
    - Dst: os_strcmp
      Src: /src/hostap/src/crypto/tls_openssl.c:2382,1
    - Dst: os_strcmp
      Src: /src/hostap/src/crypto/tls_openssl.c:2385,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:2389,1
    - Dst: str_token
      Src: /src/hostap/src/crypto/tls_openssl.c:2394,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:2396,1
    - Dst: match_dn_field
      Src: /src/hostap/src/crypto/tls_openssl.c:2402,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 3
    argNames:
    - cert
    - field_str
    - dn_cnt
    argTypes:
    - X509*
    - char*
    - struct tls_dn_field_order_cnt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2403
      start: 2352
    functionDepth: 1
    functionLinenumber: 2352
    functionLinenumberEnd: 2403
    functionName: get_value_from_field
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - match_dn_field
    - os_strcmp
    - str_token
    linkageType: ''
    returnType: int
    signature: "int get_value_from_field(const X509 *cert, char *field_str,\n\t\t\t\tstruct
      tls_dn_field_order_cnt *dn_cnt)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/crypto/tls_openssl.c:2418,1
    - Dst: cstr_token
      Src: /src/hostap/src/crypto/tls_openssl.c:2423,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:2425,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/tls_openssl.c:2430,1
    - Dst: get_value_from_field
      Src: /src/hostap/src/crypto/tls_openssl.c:2433,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:2434,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - cert
    - match
    argTypes:
    - X509*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2441
      start: 2412
    functionDepth: 1
    functionLinenumber: 2412
    functionLinenumberEnd: 2441
    functionName: tls_match_dn_field
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - cstr_token
    - get_value_from_field
    - os_memset
    linkageType: ''
    returnType: int
    signature: int tls_match_dn_field(X509 *cert, const char *match)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:2455,1
    - Dst: X509_get_ext_d2i
      Src: /src/hostap/src/crypto/tls_openssl.c:2458,1
    - Dst: sk_GENERAL_NAME_num
      Src: /src/hostap/src/crypto/tls_openssl.c:2460,1
    - Dst: sk_GENERAL_NAME_value
      Src: /src/hostap/src/crypto/tls_openssl.c:2461,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/crypto/tls_openssl.c:2465,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/hostap/src/crypto/tls_openssl.c:2466,1
    - Dst: ASN1_STRING_length
      Src: /src/hostap/src/crypto/tls_openssl.c:2467,1
    - Dst: domain_suffix_match
      Src: /src/hostap/src/crypto/tls_openssl.c:2468,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/hostap/src/crypto/tls_openssl.c:2468,1
    - Dst: ASN1_STRING_length
      Src: /src/hostap/src/crypto/tls_openssl.c:2469,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:2471,1
    - Dst: sk_GENERAL_NAME_pop_free
      Src: /src/hostap/src/crypto/tls_openssl.c:2473,1
    - Dst: sk_GENERAL_NAME_pop_free
      Src: /src/hostap/src/crypto/tls_openssl.c:2477,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:2480,1
    - Dst: X509_get_subject_name
      Src: /src/hostap/src/crypto/tls_openssl.c:2484,1
    - Dst: X509_NAME_get_index_by_NID
      Src: /src/hostap/src/crypto/tls_openssl.c:2490,1
    - Dst: X509_NAME_get_entry
      Src: /src/hostap/src/crypto/tls_openssl.c:2494,1
    - Dst: X509_NAME_ENTRY_get_data
      Src: /src/hostap/src/crypto/tls_openssl.c:2497,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/crypto/tls_openssl.c:2500,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/hostap/src/crypto/tls_openssl.c:2501,1
    - Dst: ASN1_STRING_length
      Src: /src/hostap/src/crypto/tls_openssl.c:2502,1
    - Dst: domain_suffix_match
      Src: /src/hostap/src/crypto/tls_openssl.c:2503,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/hostap/src/crypto/tls_openssl.c:2503,1
    - Dst: ASN1_STRING_length
      Src: /src/hostap/src/crypto/tls_openssl.c:2504,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:2506,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:2512,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 4
    argNames:
    - cert
    - match
    - match_len
    - full
    argTypes:
    - X509*
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2515
      start: 2445
    functionDepth: 0
    functionLinenumber: 2445
    functionLinenumberEnd: 2515
    functionName: tls_match_suffix_helper
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 1
    functionsReached:
    - sk_GENERAL_NAME_num
    - ASN1_STRING_get0_data
    - wpa_printf
    - sk_GENERAL_NAME_value
    - X509_get_ext_d2i
    - X509_NAME_get_index_by_NID
    - ASN1_STRING_length
    - X509_NAME_ENTRY_get_data
    - X509_get_subject_name
    - domain_suffix_match
    - X509_NAME_get_entry
    - wpa_hexdump_ascii
    - sk_GENERAL_NAME_pop_free
    linkageType: ''
    returnType: int
    signature: "int tls_match_suffix_helper(X509 *cert, const char *match,\n\t\t\t\t
      \  size_t match_len, int full)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cstr_token
      Src: /src/hostap/src/crypto/tls_openssl.c:2528,1
    - Dst: tls_match_suffix_helper
      Src: /src/hostap/src/crypto/tls_openssl.c:2529,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - cert
    - match
    - full
    argTypes:
    - X509*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2535
      start: 2519
    functionDepth: 1
    functionLinenumber: 2519
    functionLinenumberEnd: 2535
    functionName: tls_match_suffix
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 1
    functionsReached:
    - tls_match_suffix_helper
    - cstr_token
    linkageType: ''
    returnType: int
    signature: int tls_match_suffix(X509 *cert, const char *match, int full)
  - BBCount: 26
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 34
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2573
      start: 2538
    functionDepth: 0
    functionLinenumber: 2538
    functionLinenumberEnd: 2573
    functionName: openssl_tls_fail_reason
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum tls_fail_reason
    signature: enum tls_fail_reason openssl_tls_fail_reason(int err)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: i2d_X509
      Src: /src/hostap/src/crypto/tls_openssl.c:2581,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/crypto/tls_openssl.c:2585,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/crypto/tls_openssl.c:2589,1
    - Dst: i2d_X509
      Src: /src/hostap/src/crypto/tls_openssl.c:2590,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - cert
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2592
      start: 2576
    functionDepth: 1
    functionLinenumber: 2576
    functionLinenumberEnd: 2592
    functionName: get_x509_cert
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - wpabuf_alloc
    - i2d_X509
    - wpabuf_put
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * get_x509_cert(X509 *cert)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_x509_cert
      Src: /src/hostap/src/crypto/tls_openssl.c:2607,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/tls_openssl.c:2608,1
    - Dst: openssl_tls_fail_reason
      Src: /src/hostap/src/crypto/tls_openssl.c:2610,1
    - Dst: struct tls_context*::event_cb
      Src: /src/hostap/src/crypto/tls_openssl.c:2615,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/tls_openssl.c:2616,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 7
    argNames:
    - conn
    - err_cert
    - err
    - depth
    - subject
    - err_str
    - reason
    argTypes:
    - struct tls_connection*
    - X509*
    - int
    - int
    - char*
    - char*
    - enum tls_fail_reason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2617
      start: 2595
    functionDepth: 1
    functionLinenumber: 2595
    functionLinenumberEnd: 2617
    functionName: openssl_tls_fail_event
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - get_x509_cert
    - struct tls_context*::event_cb
    - wpabuf_free
    - openssl_tls_fail_reason
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void openssl_tls_fail_event(struct tls_connection *conn,\n\t\t\t\t
      \  X509 *err_cert, int err, int depth,\n\t\t\t\t   const char *subject, const
      char *err_str,\n\t\t\t\t   enum tls_fail_reason reason)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: X509_get_ext_d2i
      Src: /src/hostap/src/crypto/tls_openssl.c:2628,1
    - Dst: sk_POLICYINFO_num
      Src: /src/hostap/src/crypto/tls_openssl.c:2632,1
    - Dst: sk_POLICYINFO_value
      Src: /src/hostap/src/crypto/tls_openssl.c:2635,1
    - Dst: OBJ_obj2txt
      Src: /src/hostap/src/crypto/tls_openssl.c:2636,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:2639,1
    - Dst: os_strcmp
      Src: /src/hostap/src/crypto/tls_openssl.c:2640,1
    - Dst: os_strcmp
      Src: /src/hostap/src/crypto/tls_openssl.c:2642,1
    - Dst: sk_POLICYINFO_pop_free
      Src: /src/hostap/src/crypto/tls_openssl.c:2645,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - cert
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2648
      start: 2620
    functionDepth: 0
    functionLinenumber: 2620
    functionLinenumberEnd: 2648
    functionName: openssl_cert_tod
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - X509_get_ext_d2i
    - sk_POLICYINFO_pop_free
    - sk_POLICYINFO_value
    - OBJ_obj2txt
    - sk_POLICYINFO_num
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: int openssl_cert_tod(X509 *cert)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/crypto/tls_openssl.c:2672,1
    - Dst: get_x509_cert
      Src: /src/hostap/src/crypto/tls_openssl.c:2675,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/crypto/tls_openssl.c:2682,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/tls_openssl.c:2683,1
    - Dst: sha256_vector
      Src: /src/hostap/src/crypto/tls_openssl.c:2684,1
    - Dst: X509_get_serialNumber
      Src: /src/hostap/src/crypto/tls_openssl.c:2693,1
    - Dst: wpa_snprintf_hex_uppercase
      Src: /src/hostap/src/crypto/tls_openssl.c:2695,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/hostap/src/crypto/tls_openssl.c:2696,1
    - Dst: ASN1_STRING_length
      Src: /src/hostap/src/crypto/tls_openssl.c:2697,1
    - Dst: X509_get_ext_d2i
      Src: /src/hostap/src/crypto/tls_openssl.c:2701,1
    - Dst: sk_GENERAL_NAME_num
      Src: /src/hostap/src/crypto/tls_openssl.c:2702,1
    - Dst: sk_GENERAL_NAME_value
      Src: /src/hostap/src/crypto/tls_openssl.c:2707,1
    - Dst: os_malloc
      Src: /src/hostap/src/crypto/tls_openssl.c:2713,1
    - Dst: ASN1_STRING_length
      Src: /src/hostap/src/crypto/tls_openssl.c:2713,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/tls_openssl.c:2720,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/tls_openssl.c:2724,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/tls_openssl.c:2728,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/tls_openssl.c:2733,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/hostap/src/crypto/tls_openssl.c:2733,1
    - Dst: ASN1_STRING_length
      Src: /src/hostap/src/crypto/tls_openssl.c:2734,1
    - Dst: ASN1_STRING_length
      Src: /src/hostap/src/crypto/tls_openssl.c:2735,1
    - Dst: sk_GENERAL_NAME_pop_free
      Src: /src/hostap/src/crypto/tls_openssl.c:2738,1
    - Dst: openssl_cert_tod
      Src: /src/hostap/src/crypto/tls_openssl.c:2744,1
    - Dst: struct tls_context*::event_cb
      Src: /src/hostap/src/crypto/tls_openssl.c:2746,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/tls_openssl.c:2747,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_openssl.c:2749,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 61
    argCount: 4
    argNames:
    - conn
    - err_cert
    - depth
    - subject
    argTypes:
    - struct tls_connection*
    - X509*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2750
      start: 2651
    functionDepth: 1
    functionLinenumber: 2651
    functionLinenumberEnd: 2750
    functionName: openssl_tls_cert_event
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - X509_get_ext_d2i
    - struct tls_context*::event_cb
    - X509_get_serialNumber
    - sha256_vector
    - sk_GENERAL_NAME_value
    - os_free
    - ASN1_STRING_length
    - wpabuf_len
    - os_malloc
    - wpa_snprintf_hex_uppercase
    - wpabuf_head
    - os_memset
    - sk_GENERAL_NAME_num
    - get_x509_cert
    - os_memcpy
    - openssl_cert_tod
    - wpabuf_free
    - ASN1_STRING_get0_data
    - sk_GENERAL_NAME_pop_free
    linkageType: ''
    returnType: void
    signature: "void openssl_tls_cert_event(struct tls_connection *conn,\n\t\t\t\t
      \  X509 *err_cert, int depth,\n\t\t\t\t   const char *subject)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/hostap/src/crypto/tls_openssl.c:2764,1
    - Dst: BIO_s_mem
      Src: /src/hostap/src/crypto/tls_openssl.c:2764,1
    - Dst: X509_print
      Src: /src/hostap/src/crypto/tls_openssl.c:2768,1
    - Dst: BIO_ctrl_pending
      Src: /src/hostap/src/crypto/tls_openssl.c:2769,1
    - Dst: os_malloc
      Src: /src/hostap/src/crypto/tls_openssl.c:2770,1
    - Dst: BIO_read
      Src: /src/hostap/src/crypto/tls_openssl.c:2772,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:2775,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_openssl.c:2777,1
    - Dst: BIO_free
      Src: /src/hostap/src/crypto/tls_openssl.c:2780,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - cert
    - title
    argTypes:
    - X509*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2782
      start: 2753
    functionDepth: 0
    functionLinenumber: 2753
    functionLinenumberEnd: 2782
    functionName: debug_print_cert
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - BIO_s_mem
    - os_malloc
    - BIO_ctrl_pending
    - BIO_new
    - BIO_free
    - X509_print
    - os_free
    - BIO_read
    linkageType: ''
    returnType: void
    signature: void debug_print_cert(X509 *cert, const char *title)
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_CTX_get_current_cert
      Src: /src/hostap/src/crypto/tls_openssl.c:2797,1
    - Dst: X509_STORE_CTX_get_error
      Src: /src/hostap/src/crypto/tls_openssl.c:2801,1
    - Dst: X509_STORE_CTX_get_error_depth
      Src: /src/hostap/src/crypto/tls_openssl.c:2802,1
    - Dst: X509_STORE_CTX_get_ex_data
      Src: /src/hostap/src/crypto/tls_openssl.c:2803,1
    - Dst: SSL_get_ex_data_X509_STORE_CTX_idx
      Src: /src/hostap/src/crypto/tls_openssl.c:2804,1
    - Dst: os_snprintf
      Src: /src/hostap/src/crypto/tls_openssl.c:2805,1
    - Dst: debug_print_cert
      Src: /src/hostap/src/crypto/tls_openssl.c:2806,1
    - Dst: X509_NAME_oneline
      Src: /src/hostap/src/crypto/tls_openssl.c:2807,1
    - Dst: X509_get_subject_name
      Src: /src/hostap/src/crypto/tls_openssl.c:2807,1
    - Dst: SSL_get_app_data
      Src: /src/hostap/src/crypto/tls_openssl.c:2809,1
    - Dst: X509_cmp_current_time
      Src: /src/hostap/src/crypto/tls_openssl.c:2828,1
    - Dst: X509_get_notBefore
      Src: /src/hostap/src/crypto/tls_openssl.c:2828,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:2829,1
    - Dst: X509_STORE_CTX_set_error
      Src: /src/hostap/src/crypto/tls_openssl.c:2832,1
    - Dst: X509_cmp_current_time
      Src: /src/hostap/src/crypto/tls_openssl.c:2834,1
    - Dst: X509_get_notAfter
      Src: /src/hostap/src/crypto/tls_openssl.c:2834,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:2836,1
    - Dst: X509_STORE_CTX_set_error
      Src: /src/hostap/src/crypto/tls_openssl.c:2839,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:2853,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:2860,1
    - Dst: X509_verify_cert_error_string
      Src: /src/hostap/src/crypto/tls_openssl.c:2865,1
    - Dst: get_x509_cert
      Src: /src/hostap/src/crypto/tls_openssl.c:2874,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:2876,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/crypto/tls_openssl.c:2883,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/tls_openssl.c:2884,1
    - Dst: sha256_vector
      Src: /src/hostap/src/crypto/tls_openssl.c:2885,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/tls_openssl.c:2886,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:2897,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/tls_openssl.c:2901,1
    - Dst: openssl_tls_cert_event
      Src: /src/hostap/src/crypto/tls_openssl.c:2906,1
    - Dst: STACK_OF
      Src: /src/hostap/src/crypto/tls_openssl.c:2913,1
    - Dst: X509_STORE_CTX_get1_chain
      Src: /src/hostap/src/crypto/tls_openssl.c:2915,1
    - Dst: sk_X509_num
      Src: /src/hostap/src/crypto/tls_openssl.c:2916,1
    - Dst: sk_X509_value
      Src: /src/hostap/src/crypto/tls_openssl.c:2920,1
    - Dst: X509_NAME_oneline
      Src: /src/hostap/src/crypto/tls_openssl.c:2921,1
    - Dst: X509_get_subject_name
      Src: /src/hostap/src/crypto/tls_openssl.c:2921,1
    - Dst: openssl_tls_cert_event
      Src: /src/hostap/src/crypto/tls_openssl.c:2924,1
    - Dst: sk_X509_pop_free
      Src: /src/hostap/src/crypto/tls_openssl.c:2927,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:2930,1
    - Dst: openssl_tls_fail_event
      Src: /src/hostap/src/crypto/tls_openssl.c:2933,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:2938,1
    - Dst: tls_match_dn_field
      Src: /src/hostap/src/crypto/tls_openssl.c:2947,1
    - Dst: openssl_tls_fail_event
      Src: /src/hostap/src/crypto/tls_openssl.c:2949,1
    - Dst: os_strstr
      Src: /src/hostap/src/crypto/tls_openssl.c:2954,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:2955,1
    - Dst: openssl_tls_fail_event
      Src: /src/hostap/src/crypto/tls_openssl.c:2958,1
    - Dst: tls_match_altsubject
      Src: /src/hostap/src/crypto/tls_openssl.c:2962,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:2963,1
    - Dst: openssl_tls_fail_event
      Src: /src/hostap/src/crypto/tls_openssl.c:2966,1
    - Dst: tls_match_suffix
      Src: /src/hostap/src/crypto/tls_openssl.c:2970,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:2971,1
    - Dst: openssl_tls_fail_event
      Src: /src/hostap/src/crypto/tls_openssl.c:2974,1
    - Dst: tls_match_suffix
      Src: /src/hostap/src/crypto/tls_openssl.c:2978,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:2979,1
    - Dst: openssl_tls_fail_event
      Src: /src/hostap/src/crypto/tls_openssl.c:2982,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:2988,1
    - Dst: openssl_tls_fail_event
      Src: /src/hostap/src/crypto/tls_openssl.c:2991,1
    - Dst: X509_get_pubkey
      Src: /src/hostap/src/crypto/tls_openssl.c:3001,1
    - Dst: EVP_PKEY_bits
      Src: /src/hostap/src/crypto/tls_openssl.c:3003,1
    - Dst: EVP_PKEY_free
      Src: /src/hostap/src/crypto/tls_openssl.c:3004,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:3008,1
    - Dst: openssl_tls_fail_event
      Src: /src/hostap/src/crypto/tls_openssl.c:3012,1
    - Dst: check_ocsp_resp
      Src: /src/hostap/src/crypto/tls_openssl.c:3027,1
    - Dst: openssl_tls_fail_event
      Src: /src/hostap/src/crypto/tls_openssl.c:3032,1
    - Dst: X509_STORE_CTX_set_error
      Src: /src/hostap/src/crypto/tls_openssl.c:3036,1
    - Dst: openssl_tls_fail_event
      Src: /src/hostap/src/crypto/tls_openssl.c:3041,1
    - Dst: struct tls_context*::event_cb
      Src: /src/hostap/src/crypto/tls_openssl.c:3049,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_openssl.c:3053,1
    - Dst: os_strdup
      Src: /src/hostap/src/crypto/tls_openssl.c:3054,1
    CyclomaticComplexity: 73
    EdgeCount: 73
    ICount: 157
    argCount: 2
    argNames:
    - preverify_ok
    - x509_ctx
    argTypes:
    - int
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3058
      start: 2785
    functionDepth: 4
    functionLinenumber: 2785
    functionLinenumberEnd: 3058
    functionName: tls_verify_cb
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - tls_match_altsubject
    - struct tls_context*::event_cb
    - openssl_tls_cert_event
    - STACK_OF
    - tls_match_suffix
    - sk_X509_num
    - EVP_PKEY_free
    - X509_STORE_CTX_set_error
    - os_snprintf
    - sk_X509_pop_free
    - openssl_tls_fail_event
    - debug_print_cert
    - X509_get_notBefore
    - sha256_vector
    - wpa_printf
    - sk_X509_value
    - EVP_PKEY_bits
    - X509_STORE_CTX_get_error_depth
    - X509_get_subject_name
    - check_ocsp_resp
    - X509_cmp_current_time
    - os_strstr
    - tls_match_dn_field
    - SSL_get_app_data
    - os_memcmp
    - os_free
    - X509_STORE_CTX_get1_chain
    - X509_STORE_CTX_get_ex_data
    - wpabuf_len
    - X509_STORE_CTX_get_error
    - wpabuf_head
    - os_strdup
    - SSL_get_ex_data_X509_STORE_CTX_idx
    - get_x509_cert
    - X509_get_pubkey
    - wpabuf_free
    - X509_verify_cert_error_string
    - X509_STORE_CTX_get_current_cert
    - X509_NAME_oneline
    - X509_get_notAfter
    linkageType: ''
    returnType: int
    signature: int tls_verify_cb(int preverify_ok, X509_STORE_CTX *x509_ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_add_lookup
      Src: /src/hostap/src/crypto/tls_openssl.c:3068,1
    - Dst: SSL_CTX_get_cert_store
      Src: /src/hostap/src/crypto/tls_openssl.c:3068,1
    - Dst: X509_LOOKUP_file
      Src: /src/hostap/src/crypto/tls_openssl.c:3069,1
    - Dst: tls_show_errors
      Src: /src/hostap/src/crypto/tls_openssl.c:3071,1
    - Dst: X509_LOOKUP_load_file
      Src: /src/hostap/src/crypto/tls_openssl.c:3076,1
    - Dst: ERR_peek_error
      Src: /src/hostap/src/crypto/tls_openssl.c:3077,1
    - Dst: tls_show_errors
      Src: /src/hostap/src/crypto/tls_openssl.c:3078,1
    - Dst: ERR_GET_LIB
      Src: /src/hostap/src/crypto/tls_openssl.c:3080,1
    - Dst: ERR_GET_REASON
      Src: /src/hostap/src/crypto/tls_openssl.c:3081,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:3082,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - data
    - ca_cert
    argTypes:
    - struct tls_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3090
      start: 3062
    functionDepth: 0
    functionLinenumber: 3062
    functionLinenumberEnd: 3090
    functionName: tls_load_ca_der
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - X509_LOOKUP_file
    - ERR_peek_error
    - ERR_GET_REASON
    - SSL_CTX_get_cert_store
    - ERR_GET_LIB
    - tls_show_errors
    - X509_LOOKUP_load_file
    - X509_STORE_add_lookup
    linkageType: ''
    returnType: int
    signature: int tls_load_ca_der(struct tls_data *data, const char *ca_cert)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_add_cert
      Src: /src/hostap/src/crypto/tls_openssl.c:3098,1
    - Dst: SSL_CTX_get_cert_store
      Src: /src/hostap/src/crypto/tls_openssl.c:3098,1
    - Dst: ERR_peek_error
      Src: /src/hostap/src/crypto/tls_openssl.c:3101,1
    - Dst: ERR_GET_LIB
      Src: /src/hostap/src/crypto/tls_openssl.c:3103,1
    - Dst: ERR_GET_REASON
      Src: /src/hostap/src/crypto/tls_openssl.c:3104,1
    - Dst: ERR_get_error
      Src: /src/hostap/src/crypto/tls_openssl.c:3105,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:3106,1
    - Dst: tls_show_errors
      Src: /src/hostap/src/crypto/tls_openssl.c:3112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ssl_ctx
    - cert
    argTypes:
    - SSL_CTX*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3116
      start: 3094
    functionDepth: 0
    functionLinenumber: 3094
    functionLinenumberEnd: 3116
    functionName: tls_add_ca_cert
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - X509_STORE_add_cert
    - ERR_peek_error
    - ERR_GET_REASON
    - SSL_CTX_get_cert_store
    - ERR_GET_LIB
    - tls_show_errors
    - ERR_get_error
    linkageType: ''
    returnType: int
    signature: int tls_add_ca_cert(SSL_CTX *ssl_ctx, X509 *cert)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_new
      Src: /src/hostap/src/crypto/tls_openssl.c:3131,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:3133,1
    - Dst: SSL_CTX_set_cert_store
      Src: /src/hostap/src/crypto/tls_openssl.c:3137,1
    - Dst: SSL_set_verify
      Src: /src/hostap/src/crypto/tls_openssl.c:3139,1
    - Dst: os_strncmp
      Src: /src/hostap/src/crypto/tls_openssl.c:3142,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:3143,1
    - Dst: os_strncmp
      Src: /src/hostap/src/crypto/tls_openssl.c:3150,1
    - Dst: os_strncmp
      Src: /src/hostap/src/crypto/tls_openssl.c:3153,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:3154,1
    - Dst: os_strlen
      Src: /src/hostap/src/crypto/tls_openssl.c:3159,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:3160,1
    - Dst: hexstr2bin
      Src: /src/hostap/src/crypto/tls_openssl.c:3164,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:3165,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:3170,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:3174,1
    - Dst: d2i_X509
      Src: /src/hostap/src/crypto/tls_openssl.c:3186,1
    - Dst: tls_add_ca_cert
      Src: /src/hostap/src/crypto/tls_openssl.c:3190,1
    - Dst: X509_free
      Src: /src/hostap/src/crypto/tls_openssl.c:3191,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:3195,1
    - Dst: X509_free
      Src: /src/hostap/src/crypto/tls_openssl.c:3198,1
    - Dst: BIO_new_mem_buf
      Src: /src/hostap/src/crypto/tls_openssl.c:3203,1
    - Dst: PEM_read_bio_X509
      Src: /src/hostap/src/crypto/tls_openssl.c:3205,1
    - Dst: ERR_clear_error
      Src: /src/hostap/src/crypto/tls_openssl.c:3211,1
    - Dst: tls_add_ca_cert
      Src: /src/hostap/src/crypto/tls_openssl.c:3214,1
    - Dst: X509_free
      Src: /src/hostap/src/crypto/tls_openssl.c:3215,1
    - Dst: BIO_free
      Src: /src/hostap/src/crypto/tls_openssl.c:3216,1
    - Dst: X509_free
      Src: /src/hostap/src/crypto/tls_openssl.c:3219,1
    - Dst: BIO_free
      Src: /src/hostap/src/crypto/tls_openssl.c:3221,1
    - Dst: tls_show_errors
      Src: /src/hostap/src/crypto/tls_openssl.c:3225,1
    - Dst: ERR_peek_last_error
      Src: /src/hostap/src/crypto/tls_openssl.c:3231,1
    - Dst: ERR_GET_LIB
      Src: /src/hostap/src/crypto/tls_openssl.c:3232,1
    - Dst: ERR_GET_REASON
      Src: /src/hostap/src/crypto/tls_openssl.c:3233,1
    - Dst: tls_show_errors
      Src: /src/hostap/src/crypto/tls_openssl.c:3234,1
    - Dst: ERR_clear_error
      Src: /src/hostap/src/crypto/tls_openssl.c:3239,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:3241,1
    - Dst: os_strncmp
      Src: /src/hostap/src/crypto/tls_openssl.c:3249,1
    - Dst: tls_add_ca_from_keystore
      Src: /src/hostap/src/crypto/tls_openssl.c:3250,1
    - Dst: SSL_CTX_get_cert_store
      Src: /src/hostap/src/crypto/tls_openssl.c:3250,1
    - Dst: SSL_set_verify
      Src: /src/hostap/src/crypto/tls_openssl.c:3253,1
    - Dst: os_strncmp
      Src: /src/hostap/src/crypto/tls_openssl.c:3258,1
    - Dst: os_strdup
      Src: /src/hostap/src/crypto/tls_openssl.c:3259,1
    - Dst: strtok_r
      Src: /src/hostap/src/crypto/tls_openssl.c:3267,1
    - Dst: strtok_r
      Src: /src/hostap/src/crypto/tls_openssl.c:3268,1
    - Dst: tls_add_ca_from_keystore_encoded
      Src: /src/hostap/src/crypto/tls_openssl.c:3269,1
    - Dst: SSL_CTX_get_cert_store
      Src: /src/hostap/src/crypto/tls_openssl.c:3270,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:3271,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_openssl.c:3278,1
    - Dst: SSL_set_verify
      Src: /src/hostap/src/crypto/tls_openssl.c:3282,1
    - Dst: tls_cryptoapi_ca_cert
      Src: /src/hostap/src/crypto/tls_openssl.c:3288,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:3290,1
    - Dst: SSL_CTX_load_verify_locations
      Src: /src/hostap/src/crypto/tls_openssl.c:3298,1
    - Dst: tls_show_errors
      Src: /src/hostap/src/crypto/tls_openssl.c:3300,1
    - Dst: tls_load_ca_der
      Src: /src/hostap/src/crypto/tls_openssl.c:3303,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:3304,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:3310,1
    - Dst: tls_get_errors
      Src: /src/hostap/src/crypto/tls_openssl.c:3312,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:3315,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 120
    argCount: 6
    argNames:
    - data
    - conn
    - ca_cert
    - ca_cert_blob
    - ca_cert_blob_len
    - ca_path
    argTypes:
    - struct tls_data*
    - struct tls_connection*
    - char*
    - u8*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3326
      start: 3119
    functionDepth: 3
    functionLinenumber: 3119
    functionLinenumberEnd: 3326
    functionName: tls_connection_ca_cert
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - X509_STORE_new
    - strtok_r
    - SSL_CTX_get_cert_store
    - SSL_CTX_load_verify_locations
    - SSL_set_verify
    - tls_load_ca_der
    - BIO_free
    - ERR_clear_error
    - BIO_new_mem_buf
    - os_strlen
    - tls_cryptoapi_ca_cert
    - wpa_printf
    - os_free
    - X509_free
    - ERR_peek_last_error
    - hexstr2bin
    - PEM_read_bio_X509
    - ERR_GET_REASON
    - tls_add_ca_from_keystore
    - SSL_CTX_set_cert_store
    - tls_show_errors
    - tls_add_ca_cert
    - os_strdup
    - d2i_X509
    - os_strncmp
    - tls_add_ca_from_keystore_encoded
    - ERR_GET_LIB
    - tls_get_errors
    linkageType: ''
    returnType: int
    signature: "int tls_connection_ca_cert(struct tls_data *data,\n\t\t\t\t  struct
      tls_connection *conn,\n\t\t\t\t  const char *ca_cert, const u8 *ca_cert_blob,\n\t\t\t\t
      \ size_t ca_cert_blob_len, const char *ca_path)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_load_verify_locations
      Src: /src/hostap/src/crypto/tls_openssl.c:3334,1
    - Dst: tls_show_errors
      Src: /src/hostap/src/crypto/tls_openssl.c:3336,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:3341,1
    - Dst: SSL_CTX_set_client_CA_list
      Src: /src/hostap/src/crypto/tls_openssl.c:3346,1
    - Dst: SSL_load_client_CA_file
      Src: /src/hostap/src/crypto/tls_openssl.c:3347,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_openssl.c:3350,1
    - Dst: os_strdup
      Src: /src/hostap/src/crypto/tls_openssl.c:3351,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - data
    - ca_cert
    argTypes:
    - struct tls_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3355
      start: 3329
    functionDepth: 0
    functionLinenumber: 3329
    functionLinenumberEnd: 3355
    functionName: tls_global_ca_cert
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - SSL_CTX_set_client_CA_list
    - SSL_CTX_load_verify_locations
    - tls_show_errors
    - SSL_load_client_CA_file
    - os_free
    - os_strdup
    linkageType: ''
    returnType: int
    signature: int tls_global_ca_cert(struct tls_data *data, const char *ca_cert)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_get_cert_store
      Src: /src/hostap/src/crypto/tls_openssl.c:3364,1
    - Dst: tls_show_errors
      Src: /src/hostap/src/crypto/tls_openssl.c:3366,1
    - Dst: X509_STORE_set_flags
      Src: /src/hostap/src/crypto/tls_openssl.c:3374,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/crypto/tls_openssl.c:3378,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - ssl_ctx
    - check_crl
    - strict
    argTypes:
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3381
      start: 3358
    functionDepth: 0
    functionLinenumber: 3358
    functionLinenumberEnd: 3381
    functionName: tls_global_set_verify
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_get_cert_store
    - os_get_reltime
    - X509_STORE_set_flags
    - tls_show_errors
    linkageType: ''
    returnType: int
    signature: int tls_global_set_verify(void *ssl_ctx, int check_crl, int strict)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_openssl.c:3391,1
    - Dst: os_strdup
      Src: /src/hostap/src/crypto/tls_openssl.c:3394,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_openssl.c:3399,1
    - Dst: os_strdup
      Src: /src/hostap/src/crypto/tls_openssl.c:3402,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_openssl.c:3407,1
    - Dst: os_strdup
      Src: /src/hostap/src/crypto/tls_openssl.c:3410,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_openssl.c:3415,1
    - Dst: os_strdup
      Src: /src/hostap/src/crypto/tls_openssl.c:3418,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_openssl.c:3423,1
    - Dst: os_strdup
      Src: /src/hostap/src/crypto/tls_openssl.c:3426,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 6
    argNames:
    - conn
    - subject_match
    - altsubject_match
    - suffix_match
    - domain_match
    - check_cert_subject
    argTypes:
    - struct tls_connection*
    - char*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3432
      start: 3384
    functionDepth: 0
    functionLinenumber: 3384
    functionLinenumberEnd: 3432
    functionName: tls_connection_set_subject_match
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - os_free
    - os_strdup
    linkageType: ''
    returnType: int
    signature: "int tls_connection_set_subject_match(struct tls_connection *conn,\n\t\t\t\t\t
      \   const char *subject_match,\n\t\t\t\t\t    const char *altsubject_match,\n\t\t\t\t\t
      \   const char *suffix_match,\n\t\t\t\t\t    const char *domain_match,\n\t\t\t\t\t
      \   const char *check_cert_subject)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:3457,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ssl
    - arg
    argTypes:
    - SSL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3461
      start: 3436
    functionDepth: 0
    functionLinenumber: 3436
    functionLinenumberEnd: 3461
    functionName: suiteb_cert_cb
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int suiteb_cert_cb(SSL *ssl, void *arg)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: SSL_set_options
      Src: /src/hostap/src/crypto/tls_openssl.c:3472,1
    - Dst: SSL_clear_options
      Src: /src/hostap/src/crypto/tls_openssl.c:3474,1
    - Dst: SSL_set_options
      Src: /src/hostap/src/crypto/tls_openssl.c:3479,1
    - Dst: SSL_set_options
      Src: /src/hostap/src/crypto/tls_openssl.c:3484,1
    - Dst: SSL_clear_options
      Src: /src/hostap/src/crypto/tls_openssl.c:3486,1
    - Dst: SSL_set_options
      Src: /src/hostap/src/crypto/tls_openssl.c:3490,1
    - Dst: SSL_clear_options
      Src: /src/hostap/src/crypto/tls_openssl.c:3492,1
    - Dst: SSL_set_options
      Src: /src/hostap/src/crypto/tls_openssl.c:3496,1
    - Dst: SSL_clear_options
      Src: /src/hostap/src/crypto/tls_openssl.c:3498,1
    - Dst: SSL_set_options
      Src: /src/hostap/src/crypto/tls_openssl.c:3502,1
    - Dst: SSL_clear_options
      Src: /src/hostap/src/crypto/tls_openssl.c:3504,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:3521,1
    - Dst: SSL_set_min_proto_version
      Src: /src/hostap/src/crypto/tls_openssl.c:3526,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:3527,1
    - Dst: SSL_get_security_level
      Src: /src/hostap/src/crypto/tls_openssl.c:3545,1
    - Dst: SSL_set_security_level
      Src: /src/hostap/src/crypto/tls_openssl.c:3551,1
    - Dst: SSL_CTX_set_verify_algorithm_prefs
      Src: /src/hostap/src/crypto/tls_openssl.c:3562,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:3568,1
    - Dst: SSL_set_cipher_list
      Src: /src/hostap/src/crypto/tls_openssl.c:3573,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:3574,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:3587,1
    - Dst: SSL_set_cipher_list
      Src: /src/hostap/src/crypto/tls_openssl.c:3592,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:3593,1
    - Dst: SSL_set1_groups
      Src: /src/hostap/src/crypto/tls_openssl.c:3599,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:3600,1
    - Dst: SSL_set1_curves
      Src: /src/hostap/src/crypto/tls_openssl.c:3606,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:3607,1
    - Dst: EC_KEY_new_by_curve_name
      Src: /src/hostap/src/crypto/tls_openssl.c:3612,1
    - Dst: SSL_set_tmp_ecdh
      Src: /src/hostap/src/crypto/tls_openssl.c:3613,1
    - Dst: EC_KEY_free
      Src: /src/hostap/src/crypto/tls_openssl.c:3614,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:3615,1
    - Dst: EC_KEY_free
      Src: /src/hostap/src/crypto/tls_openssl.c:3619,1
    - Dst: SSL_CTX_set_verify_algorithm_prefs
      Src: /src/hostap/src/crypto/tls_openssl.c:3636,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:3638,1
    - Dst: SSL_set1_sigalgs_list
      Src: /src/hostap/src/crypto/tls_openssl.c:3648,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:3649,1
    - Dst: SSL_set_options
      Src: /src/hostap/src/crypto/tls_openssl.c:3655,1
    - Dst: SSL_set_options
      Src: /src/hostap/src/crypto/tls_openssl.c:3656,1
    - Dst: SSL_set_cert_cb
      Src: /src/hostap/src/crypto/tls_openssl.c:3657,1
    - Dst: os_strcmp
      Src: /src/hostap/src/crypto/tls_openssl.c:3661,1
    - Dst: SSL_set1_curves
      Src: /src/hostap/src/crypto/tls_openssl.c:3665,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:3666,1
    - Dst: SSL_CTX_set_verify_algorithm_prefs
      Src: /src/hostap/src/crypto/tls_openssl.c:3671,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:3673,1
    - Dst: SSL_set_cipher_list
      Src: /src/hostap/src/crypto/tls_openssl.c:3680,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:3681,1
    - Dst: SSL_set_cipher_list
      Src: /src/hostap/src/crypto/tls_openssl.c:3688,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:3689,1
    - Dst: SSL_set_security_level
      Src: /src/hostap/src/crypto/tls_openssl.c:3717,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:3720,1
    - Dst: SSL_set_cipher_list
      Src: /src/hostap/src/crypto/tls_openssl.c:3723,1
    - Dst: tls_show_errors
      Src: /src/hostap/src/crypto/tls_openssl.c:3724,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 122
    argCount: 3
    argNames:
    - conn
    - flags
    - openssl_ciphers
    argTypes:
    - struct tls_connection*
    - unsigned int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3731
      start: 3465
    functionDepth: 0
    functionLinenumber: 3465
    functionLinenumberEnd: 3731
    functionName: tls_set_conn_flags
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - SSL_get_security_level
    - SSL_set_security_level
    - SSL_set_min_proto_version
    - SSL_set1_curves
    - SSL_set1_sigalgs_list
    - EC_KEY_free
    - SSL_set_options
    - EC_KEY_new_by_curve_name
    - SSL_set_tmp_ecdh
    - tls_show_errors
    - SSL_CTX_set_verify_algorithm_prefs
    - SSL_set_cipher_list
    - SSL_set1_groups
    - SSL_set_cert_cb
    - os_strcmp
    - SSL_clear_options
    linkageType: ''
    returnType: int
    signature: "int tls_set_conn_flags(struct tls_connection *conn, unsigned int flags,\n\t\t\t
      \     const char *openssl_ciphers)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SSL_set_verify
      Src: /src/hostap/src/crypto/tls_openssl.c:3746,1
    - Dst: SSL_set_verify
      Src: /src/hostap/src/crypto/tls_openssl.c:3750,1
    - Dst: SSL_set_verify
      Src: /src/hostap/src/crypto/tls_openssl.c:3755,1
    - Dst: tls_set_conn_flags
      Src: /src/hostap/src/crypto/tls_openssl.c:3758,1
    - Dst: SSL_set_accept_state
      Src: /src/hostap/src/crypto/tls_openssl.c:3762,1
    - Dst: SSL_set_session_id_context
      Src: /src/hostap/src/crypto/tls_openssl.c:3771,1
    - Dst: SSL_set_session_id_context
      Src: /src/hostap/src/crypto/tls_openssl.c:3775,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 6
    argNames:
    - ssl_ctx
    - conn
    - verify_peer
    - flags
    - session_ctx
    - session_ctx_len
    argTypes:
    - void*
    - struct tls_connection*
    - int
    - unsigned int
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3780
      start: 3734
    functionDepth: 0
    functionLinenumber: 3734
    functionLinenumberEnd: 3780
    functionName: tls_connection_set_verify
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - SSL_set_verify
    - tls_set_conn_flags
    - SSL_set_session_id_context
    - SSL_set_accept_state
    linkageType: ''
    returnType: int
    signature: "int tls_connection_set_verify(void *ssl_ctx, struct tls_connection
      *conn,\n\t\t\t      int verify_peer, unsigned int flags,\n\t\t\t      const
      u8 *session_ctx, size_t session_ctx_len)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_clear_extra_chain_certs
      Src: /src/hostap/src/crypto/tls_openssl.c:3798,1
    - Dst: SSL_use_certificate_ASN1
      Src: /src/hostap/src/crypto/tls_openssl.c:3803,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:3805,1
    - Dst: tls_show_errors
      Src: /src/hostap/src/crypto/tls_openssl.c:3810,1
    - Dst: tls_show_errors
      Src: /src/hostap/src/crypto/tls_openssl.c:3816,1
    - Dst: BIO_new
      Src: /src/hostap/src/crypto/tls_openssl.c:3818,1
    - Dst: BIO_s_mem
      Src: /src/hostap/src/crypto/tls_openssl.c:3818,1
    - Dst: BIO_write
      Src: /src/hostap/src/crypto/tls_openssl.c:3821,1
    - Dst: PEM_read_bio_X509
      Src: /src/hostap/src/crypto/tls_openssl.c:3822,1
    - Dst: SSL_use_certificate
      Src: /src/hostap/src/crypto/tls_openssl.c:3823,1
    - Dst: X509_free
      Src: /src/hostap/src/crypto/tls_openssl.c:3824,1
    - Dst: BIO_free
      Src: /src/hostap/src/crypto/tls_openssl.c:3825,1
    - Dst: X509_free
      Src: /src/hostap/src/crypto/tls_openssl.c:3828,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:3829,1
    - Dst: PEM_read_bio_X509
      Src: /src/hostap/src/crypto/tls_openssl.c:3831,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:3832,1
    - Dst: SSL_add0_chain_cert
      Src: /src/hostap/src/crypto/tls_openssl.c:3834,1
    - Dst: BIO_free
      Src: /src/hostap/src/crypto/tls_openssl.c:3836,1
    - Dst: os_strncmp
      Src: /src/hostap/src/crypto/tls_openssl.c:3845,1
    - Dst: BIO_from_keystore
      Src: /src/hostap/src/crypto/tls_openssl.c:3846,1
    - Dst: PEM_read_bio_X509
      Src: /src/hostap/src/crypto/tls_openssl.c:3850,1
    - Dst: SSL_use_certificate
      Src: /src/hostap/src/crypto/tls_openssl.c:3853,1
    - Dst: X509_free
      Src: /src/hostap/src/crypto/tls_openssl.c:3855,1
    - Dst: PEM_read_bio_X509
      Src: /src/hostap/src/crypto/tls_openssl.c:3860,1
    - Dst: SSL_add0_chain_cert
      Src: /src/hostap/src/crypto/tls_openssl.c:3863,1
    - Dst: BIO_free
      Src: /src/hostap/src/crypto/tls_openssl.c:3865,1
    - Dst: SSL_use_certificate_file
      Src: /src/hostap/src/crypto/tls_openssl.c:3874,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:3876,1
    - Dst: SSL_use_certificate_chain_file
      Src: /src/hostap/src/crypto/tls_openssl.c:3883,1
    - Dst: ERR_clear_error
      Src: /src/hostap/src/crypto/tls_openssl.c:3884,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:3885,1
    - Dst: SSL_use_certificate_file
      Src: /src/hostap/src/crypto/tls_openssl.c:3890,1
    - Dst: ERR_clear_error
      Src: /src/hostap/src/crypto/tls_openssl.c:3892,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:3893,1
    - Dst: tls_show_errors
      Src: /src/hostap/src/crypto/tls_openssl.c:3899,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:3902,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 69
    argCount: 4
    argNames:
    - conn
    - client_cert
    - client_cert_blob
    - client_cert_blob_len
    argTypes:
    - struct tls_connection*
    - char*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3906
      start: 3783
    functionDepth: 1
    functionLinenumber: 3783
    functionLinenumberEnd: 3906
    functionName: tls_connection_client_cert
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - BIO_write
    - SSL_add0_chain_cert
    - BIO_s_mem
    - SSL_use_certificate_chain_file
    - PEM_read_bio_X509
    - os_strncmp
    - SSL_use_certificate_ASN1
    - BIO_new
    - SSL_use_certificate
    - tls_show_errors
    - SSL_CTX_clear_extra_chain_certs
    - BIO_free
    - X509_free
    - BIO_from_keystore
    - ERR_clear_error
    - SSL_use_certificate_file
    linkageType: ''
    returnType: int
    signature: "int tls_connection_client_cert(struct tls_connection *conn,\n\t\t\t\t
      \     const char *client_cert,\n\t\t\t\t      const u8 *client_cert_blob,\n\t\t\t\t
      \     size_t client_cert_blob_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_use_certificate_file
      Src: /src/hostap/src/crypto/tls_openssl.c:3918,1
    - Dst: SSL_CTX_use_certificate_chain_file
      Src: /src/hostap/src/crypto/tls_openssl.c:3920,1
    - Dst: SSL_CTX_use_certificate_file
      Src: /src/hostap/src/crypto/tls_openssl.c:3921,1
    - Dst: tls_show_errors
      Src: /src/hostap/src/crypto/tls_openssl.c:3923,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:3931,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - data
    - client_cert
    argTypes:
    - struct tls_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3934
      start: 3909
    functionDepth: 0
    functionLinenumber: 3909
    functionLinenumberEnd: 3934
    functionName: tls_global_client_cert
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_use_certificate_chain_file
    - wpa_printf
    - SSL_CTX_use_certificate_file
    - tls_show_errors
    linkageType: ''
    returnType: int
    signature: "int tls_global_client_cert(struct tls_data *data,\n\t\t\t\t  const
      char *client_cert)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/hostap/src/crypto/tls_openssl.c:3943,1
    - Dst: PKCS12_parse
      Src: /src/hostap/src/crypto/tls_openssl.c:3952,1
    - Dst: tls_show_errors
      Src: /src/hostap/src/crypto/tls_openssl.c:3953,1
    - Dst: PKCS12_free
      Src: /src/hostap/src/crypto/tls_openssl.c:3955,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:3958,1
    - Dst: X509_NAME_oneline
      Src: /src/hostap/src/crypto/tls_openssl.c:3961,1
    - Dst: X509_get_subject_name
      Src: /src/hostap/src/crypto/tls_openssl.c:3961,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:3963,1
    - Dst: SSL_use_certificate
      Src: /src/hostap/src/crypto/tls_openssl.c:3966,1
    - Dst: SSL_CTX_use_certificate
      Src: /src/hostap/src/crypto/tls_openssl.c:3969,1
    - Dst: X509_free
      Src: /src/hostap/src/crypto/tls_openssl.c:3972,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:3976,1
    - Dst: SSL_use_PrivateKey
      Src: /src/hostap/src/crypto/tls_openssl.c:3978,1
    - Dst: SSL_CTX_use_PrivateKey
      Src: /src/hostap/src/crypto/tls_openssl.c:3981,1
    - Dst: EVP_PKEY_free
      Src: /src/hostap/src/crypto/tls_openssl.c:3984,1
    - Dst: SSL_clear_chain_certs
      Src: /src/hostap/src/crypto/tls_openssl.c:3990,1
    - Dst: SSL_CTX_clear_chain_certs
      Src: /src/hostap/src/crypto/tls_openssl.c:3992,1
    - Dst: sk_X509_pop
      Src: /src/hostap/src/crypto/tls_openssl.c:3993,1
    - Dst: X509_NAME_oneline
      Src: /src/hostap/src/crypto/tls_openssl.c:3994,1
    - Dst: X509_get_subject_name
      Src: /src/hostap/src/crypto/tls_openssl.c:3994,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:3996,1
    - Dst: SSL_add1_chain_cert
      Src: /src/hostap/src/crypto/tls_openssl.c:3998,1
    - Dst: SSL_CTX_add1_chain_cert
      Src: /src/hostap/src/crypto/tls_openssl.c:3999,1
    - Dst: tls_show_errors
      Src: /src/hostap/src/crypto/tls_openssl.c:4001,1
    - Dst: X509_free
      Src: /src/hostap/src/crypto/tls_openssl.c:4004,1
    - Dst: X509_free
      Src: /src/hostap/src/crypto/tls_openssl.c:4007,1
    - Dst: sk_X509_pop_free
      Src: /src/hostap/src/crypto/tls_openssl.c:4012,1
    - Dst: SSL_build_cert_chain
      Src: /src/hostap/src/crypto/tls_openssl.c:4015,1
    - Dst: SSL_CTX_build_cert_chain
      Src: /src/hostap/src/crypto/tls_openssl.c:4020,1
    - Dst: tls_show_errors
      Src: /src/hostap/src/crypto/tls_openssl.c:4025,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:4028,1
    - Dst: SSL_CTX_clear_extra_chain_certs
      Src: /src/hostap/src/crypto/tls_openssl.c:4038,1
    - Dst: sk_X509_pop
      Src: /src/hostap/src/crypto/tls_openssl.c:4039,1
    - Dst: X509_NAME_oneline
      Src: /src/hostap/src/crypto/tls_openssl.c:4040,1
    - Dst: X509_get_subject_name
      Src: /src/hostap/src/crypto/tls_openssl.c:4040,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:4042,1
    - Dst: SSL_CTX_add_extra_chain_cert
      Src: /src/hostap/src/crypto/tls_openssl.c:4048,1
    - Dst: X509_free
      Src: /src/hostap/src/crypto/tls_openssl.c:4050,1
    - Dst: sk_X509_pop_free
      Src: /src/hostap/src/crypto/tls_openssl.c:4055,1
    - Dst: PKCS12_free
      Src: /src/hostap/src/crypto/tls_openssl.c:4059,1
    - Dst: tls_get_errors
      Src: /src/hostap/src/crypto/tls_openssl.c:4062,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 80
    argCount: 4
    argNames:
    - data
    - ssl
    - p12
    - passwd
    argTypes:
    - struct tls_data*
    - SSL*
    - PKCS12*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4065
      start: 3938
    functionDepth: 0
    functionLinenumber: 3938
    functionLinenumberEnd: 4065
    functionName: tls_parse_pkcs12
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - STACK_OF
    - SSL_clear_chain_certs
    - EVP_PKEY_free
    - SSL_CTX_clear_chain_certs
    - sk_X509_pop_free
    - SSL_use_certificate
    - SSL_CTX_add1_chain_cert
    - wpa_printf
    - X509_get_subject_name
    - X509_free
    - PKCS12_free
    - sk_X509_pop
    - tls_get_errors
    - tls_show_errors
    - SSL_CTX_use_PrivateKey
    - SSL_CTX_add_extra_chain_cert
    - SSL_use_PrivateKey
    - SSL_build_cert_chain
    - PKCS12_parse
    - SSL_CTX_clear_extra_chain_certs
    - SSL_CTX_build_cert_chain
    - SSL_add1_chain_cert
    - SSL_CTX_use_certificate
    - X509_NAME_oneline
    linkageType: ''
    returnType: int
    signature: "int tls_parse_pkcs12(struct tls_data *data, SSL *ssl, PKCS12 *p12,\n\t\t\t
      \   const char *passwd)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/hostap/src/crypto/tls_openssl.c:4076,1
    - Dst: d2i_PKCS12_fp
      Src: /src/hostap/src/crypto/tls_openssl.c:4080,1
    - Dst: fclose
      Src: /src/hostap/src/crypto/tls_openssl.c:4081,1
    - Dst: tls_show_errors
      Src: /src/hostap/src/crypto/tls_openssl.c:4084,1
    - Dst: tls_parse_pkcs12
      Src: /src/hostap/src/crypto/tls_openssl.c:4089,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:4092,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - data
    - ssl
    - private_key
    - passwd
    argTypes:
    - struct tls_data*
    - SSL*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4096
      start: 4069
    functionDepth: 1
    functionLinenumber: 4069
    functionLinenumberEnd: 4096
    functionName: tls_read_pkcs12
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - d2i_PKCS12_fp
    - fclose
    - tls_parse_pkcs12
    - tls_show_errors
    - fopen
    linkageType: ''
    returnType: int
    signature: "int tls_read_pkcs12(struct tls_data *data, SSL *ssl,\n\t\t\t   const
      char *private_key, const char *passwd)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: d2i_PKCS12
      Src: /src/hostap/src/crypto/tls_openssl.c:4105,1
    - Dst: tls_show_errors
      Src: /src/hostap/src/crypto/tls_openssl.c:4107,1
    - Dst: tls_parse_pkcs12
      Src: /src/hostap/src/crypto/tls_openssl.c:4112,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:4115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - data
    - ssl
    - blob
    - len
    - passwd
    argTypes:
    - struct tls_data*
    - SSL*
    - u8*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4119
      start: 4099
    functionDepth: 1
    functionLinenumber: 4099
    functionLinenumberEnd: 4119
    functionName: tls_read_pkcs12_blob
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - tls_parse_pkcs12
    - d2i_PKCS12
    - wpa_printf
    - tls_show_errors
    linkageType: ''
    returnType: int
    signature: "int tls_read_pkcs12_blob(struct tls_data *data, SSL *ssl,\n\t\t\t\tconst
      u8 *blob, size_t len, const char *passwd)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_ctrl_cmd
      Src: /src/hostap/src/crypto/tls_openssl.c:4135,1
    - Dst: ERR_get_error
      Src: /src/hostap/src/crypto/tls_openssl.c:4137,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:4139,1
    - Dst: ERR_error_string
      Src: /src/hostap/src/crypto/tls_openssl.c:4141,1
    - Dst: tls_is_pin_error
      Src: /src/hostap/src/crypto/tls_openssl.c:4142,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:4147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - conn
    - cert_id
    - cert
    argTypes:
    - struct tls_connection*
    - char*
    - X509**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4153
      start: 4123
    functionDepth: 1
    functionLinenumber: 4123
    functionLinenumberEnd: 4153
    functionName: tls_engine_get_cert
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - ENGINE_ctrl_cmd
    - wpa_printf
    - tls_is_pin_error
    - ERR_error_string
    - ERR_get_error
    linkageType: ''
    returnType: int
    signature: "int tls_engine_get_cert(struct tls_connection *conn,\n\t\t\t       const
      char *cert_id,\n\t\t\t       X509 **cert)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tls_engine_get_cert
      Src: /src/hostap/src/crypto/tls_openssl.c:4164,1
    - Dst: provider_load_cert
      Src: /src/hostap/src/crypto/tls_openssl.c:4167,1
    - Dst: SSL_use_certificate
      Src: /src/hostap/src/crypto/tls_openssl.c:4172,1
    - Dst: tls_show_errors
      Src: /src/hostap/src/crypto/tls_openssl.c:4173,1
    - Dst: X509_free
      Src: /src/hostap/src/crypto/tls_openssl.c:4175,1
    - Dst: X509_free
      Src: /src/hostap/src/crypto/tls_openssl.c:4178,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:4179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - conn
    - cert_id
    argTypes:
    - struct tls_connection*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4185
      start: 4157
    functionDepth: 2
    functionLinenumber: 4157
    functionLinenumberEnd: 4185
    functionName: tls_connection_engine_client_cert
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - SSL_use_certificate
    - tls_show_errors
    - X509_free
    - provider_load_cert
    - tls_engine_get_cert
    linkageType: ''
    returnType: int
    signature: "int tls_connection_engine_client_cert(struct tls_connection *conn,\n\t\t\t\t\t
      \    const char *cert_id)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tls_engine_get_cert
      Src: /src/hostap/src/crypto/tls_openssl.c:4198,1
    - Dst: provider_load_cert
      Src: /src/hostap/src/crypto/tls_openssl.c:4201,1
    - Dst: X509_STORE_new
      Src: /src/hostap/src/crypto/tls_openssl.c:4207,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:4209,1
    - Dst: X509_free
      Src: /src/hostap/src/crypto/tls_openssl.c:4211,1
    - Dst: SSL_CTX_set_cert_store
      Src: /src/hostap/src/crypto/tls_openssl.c:4214,1
    - Dst: X509_STORE_add_cert
      Src: /src/hostap/src/crypto/tls_openssl.c:4215,1
    - Dst: ERR_peek_error
      Src: /src/hostap/src/crypto/tls_openssl.c:4216,1
    - Dst: tls_show_errors
      Src: /src/hostap/src/crypto/tls_openssl.c:4217,1
    - Dst: ERR_GET_LIB
      Src: /src/hostap/src/crypto/tls_openssl.c:4220,1
    - Dst: ERR_GET_REASON
      Src: /src/hostap/src/crypto/tls_openssl.c:4221,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:4222,1
    - Dst: X509_free
      Src: /src/hostap/src/crypto/tls_openssl.c:4226,1
    - Dst: X509_free
      Src: /src/hostap/src/crypto/tls_openssl.c:4230,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:4231,1
    - Dst: SSL_set_verify
      Src: /src/hostap/src/crypto/tls_openssl.c:4234,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 3
    argNames:
    - data
    - conn
    - ca_cert_id
    argTypes:
    - struct tls_data*
    - struct tls_connection*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4241
      start: 4188
    functionDepth: 2
    functionLinenumber: 4188
    functionLinenumberEnd: 4241
    functionName: tls_connection_engine_ca_cert
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - X509_STORE_add_cert
    - X509_STORE_new
    - ERR_peek_error
    - ERR_GET_REASON
    - SSL_set_verify
    - SSL_CTX_set_cert_store
    - tls_show_errors
    - ERR_GET_LIB
    - X509_free
    - provider_load_cert
    - tls_engine_get_cert
    linkageType: ''
    returnType: int
    signature: "int tls_connection_engine_ca_cert(struct tls_data *data,\n\t\t\t\t\t
      struct tls_connection *conn,\n\t\t\t\t\t const char *ca_cert_id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_use_PrivateKey
      Src: /src/hostap/src/crypto/tls_openssl.c:4246,1
    - Dst: tls_show_errors
      Src: /src/hostap/src/crypto/tls_openssl.c:4247,1
    - Dst: SSL_check_private_key
      Src: /src/hostap/src/crypto/tls_openssl.c:4251,1
    - Dst: tls_show_errors
      Src: /src/hostap/src/crypto/tls_openssl.c:4252,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct tls_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4257
      start: 4244
    functionDepth: 0
    functionLinenumber: 4244
    functionLinenumberEnd: 4257
    functionName: tls_connection_engine_private_key
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - SSL_check_private_key
    - tls_show_errors
    - SSL_use_PrivateKey
    linkageType: ''
    returnType: int
    signature: int tls_connection_engine_private_key(struct tls_connection *conn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_strlcpy
      Src: /src/hostap/src/crypto/tls_openssl.c:4265,1
    - Dst: os_strlen
      Src: /src/hostap/src/crypto/tls_openssl.c:4266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - buf
    - size
    - rwflag
    - password
    argTypes:
    - char*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4267
      start: 4261
    functionDepth: 0
    functionLinenumber: 4261
    functionLinenumberEnd: 4267
    functionName: tls_passwd_cb
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_strlcpy
    linkageType: ''
    returnType: int
    signature: int tls_passwd_cb(char *buf, int size, int rwflag, void *password)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_file
      Src: /src/hostap/src/crypto/tls_openssl.c:4281,1
    - Dst: d2i_PrivateKey_bio
      Src: /src/hostap/src/crypto/tls_openssl.c:4284,1
    - Dst: BIO_free
      Src: /src/hostap/src/crypto/tls_openssl.c:4285,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:4288,1
    - Dst: BIO_new_file
      Src: /src/hostap/src/crypto/tls_openssl.c:4291,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/hostap/src/crypto/tls_openssl.c:4294,1
    - Dst: BIO_free
      Src: /src/hostap/src/crypto/tls_openssl.c:4296,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:4299,1
    - Dst: ERR_clear_error
      Src: /src/hostap/src/crypto/tls_openssl.c:4301,1
    - Dst: SSL_use_PrivateKey
      Src: /src/hostap/src/crypto/tls_openssl.c:4305,1
    - Dst: SSL_CTX_use_PrivateKey
      Src: /src/hostap/src/crypto/tls_openssl.c:4307,1
    - Dst: EVP_PKEY_free
      Src: /src/hostap/src/crypto/tls_openssl.c:4309,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:4312,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 4
    argNames:
    - data
    - ssl
    - private_key
    - private_key_passwd
    argTypes:
    - struct tls_data*
    - SSL*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4315
      start: 4271
    functionDepth: 0
    functionLinenumber: 4271
    functionLinenumberEnd: 4315
    functionName: tls_use_private_key_file
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - d2i_PrivateKey_bio
    - EVP_PKEY_free
    - PEM_read_bio_PrivateKey
    - BIO_new_file
    - BIO_free
    - SSL_CTX_use_PrivateKey
    - ERR_clear_error
    - SSL_use_PrivateKey
    linkageType: ''
    returnType: int
    signature: "int tls_use_private_key_file(struct tls_data *data, SSL *ssl,\n\t\t\t\t
      \   const char *private_key,\n\t\t\t\t    const char *private_key_passwd)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: SSL_use_PrivateKey_ASN1
      Src: /src/hostap/src/crypto/tls_openssl.c:4333,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:4336,1
    - Dst: SSL_use_PrivateKey_ASN1
      Src: /src/hostap/src/crypto/tls_openssl.c:4342,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:4345,1
    - Dst: SSL_use_PrivateKey_ASN1
      Src: /src/hostap/src/crypto/tls_openssl.c:4352,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:4355,1
    - Dst: SSL_use_RSAPrivateKey_ASN1
      Src: /src/hostap/src/crypto/tls_openssl.c:4363,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:4366,1
    - Dst: BIO_new_mem_buf
      Src: /src/hostap/src/crypto/tls_openssl.c:4373,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/hostap/src/crypto/tls_openssl.c:4378,1
    - Dst: SSL_use_PrivateKey
      Src: /src/hostap/src/crypto/tls_openssl.c:4382,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:4383,1
    - Dst: EVP_PKEY_free
      Src: /src/hostap/src/crypto/tls_openssl.c:4386,1
    - Dst: BIO_free
      Src: /src/hostap/src/crypto/tls_openssl.c:4387,1
    - Dst: EVP_PKEY_free
      Src: /src/hostap/src/crypto/tls_openssl.c:4390,1
    - Dst: BIO_free
      Src: /src/hostap/src/crypto/tls_openssl.c:4392,1
    - Dst: tls_read_pkcs12_blob
      Src: /src/hostap/src/crypto/tls_openssl.c:4395,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:4398,1
    - Dst: tls_use_private_key_file
      Src: /src/hostap/src/crypto/tls_openssl.c:4408,1
    - Dst: tls_read_pkcs12
      Src: /src/hostap/src/crypto/tls_openssl.c:4414,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:4416,1
    - Dst: tls_cryptoapi_cert
      Src: /src/hostap/src/crypto/tls_openssl.c:4422,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:4423,1
    - Dst: tls_show_errors
      Src: /src/hostap/src/crypto/tls_openssl.c:4433,1
    - Dst: ERR_clear_error
      Src: /src/hostap/src/crypto/tls_openssl.c:4437,1
    - Dst: SSL_check_private_key
      Src: /src/hostap/src/crypto/tls_openssl.c:4439,1
    - Dst: tls_show_errors
      Src: /src/hostap/src/crypto/tls_openssl.c:4440,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:4445,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 75
    argCount: 6
    argNames:
    - data
    - conn
    - private_key
    - private_key_passwd
    - private_key_blob
    - private_key_blob_len
    argTypes:
    - struct tls_data*
    - struct tls_connection*
    - char*
    - char*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4447
      start: 4318
    functionDepth: 3
    functionLinenumber: 4318
    functionLinenumberEnd: 4447
    functionName: tls_connection_private_key
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - EVP_PKEY_free
    - SSL_use_PrivateKey_ASN1
    - PEM_read_bio_PrivateKey
    - tls_read_pkcs12
    - tls_read_pkcs12_blob
    - tls_use_private_key_file
    - SSL_use_RSAPrivateKey_ASN1
    - BIO_free
    - tls_show_errors
    - ERR_clear_error
    - SSL_check_private_key
    - BIO_new_mem_buf
    - tls_cryptoapi_cert
    - SSL_use_PrivateKey
    linkageType: ''
    returnType: int
    signature: "int tls_connection_private_key(struct tls_data *data,\n\t\t\t\t      struct
      tls_connection *conn,\n\t\t\t\t      const char *private_key,\n\t\t\t\t      const
      char *private_key_passwd,\n\t\t\t\t      const u8 *private_key_blob,\n\t\t\t\t
      \     size_t private_key_blob_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tls_use_private_key_file
      Src: /src/hostap/src/crypto/tls_openssl.c:4459,1
    - Dst: tls_read_pkcs12
      Src: /src/hostap/src/crypto/tls_openssl.c:4461,1
    - Dst: tls_show_errors
      Src: /src/hostap/src/crypto/tls_openssl.c:4462,1
    - Dst: ERR_clear_error
      Src: /src/hostap/src/crypto/tls_openssl.c:4464,1
    - Dst: ERR_clear_error
      Src: /src/hostap/src/crypto/tls_openssl.c:4467,1
    - Dst: SSL_CTX_check_private_key
      Src: /src/hostap/src/crypto/tls_openssl.c:4469,1
    - Dst: tls_show_errors
      Src: /src/hostap/src/crypto/tls_openssl.c:4470,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - data
    - private_key
    - private_key_passwd
    argTypes:
    - struct tls_data*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4476
      start: 4450
    functionDepth: 2
    functionLinenumber: 4450
    functionLinenumberEnd: 4476
    functionName: tls_global_private_key
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - tls_use_private_key_file
    - SSL_CTX_check_private_key
    - tls_show_errors
    - ERR_clear_error
    - tls_read_pkcs12
    linkageType: ''
    returnType: int
    signature: "int tls_global_private_key(struct tls_data *data,\n\t\t\t\t  const
      char *private_key,\n\t\t\t\t  const char *private_key_passwd)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/hostap/src/crypto/tls_openssl.c:4491,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/hostap/src/crypto/tls_openssl.c:4492,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/hostap/src/crypto/tls_openssl.c:4493,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/hostap/src/crypto/tls_openssl.c:4494,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/hostap/src/crypto/tls_openssl.c:4495,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/hostap/src/crypto/tls_openssl.c:4496,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/hostap/src/crypto/tls_openssl.c:4497,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/hostap/src/crypto/tls_openssl.c:4498,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/hostap/src/crypto/tls_openssl.c:4499,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/hostap/src/crypto/tls_openssl.c:4500,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/hostap/src/crypto/tls_openssl.c:4501,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:4503,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/hostap/src/crypto/tls_openssl.c:4506,1
    - Dst: OSSL_PARAM_free
      Src: /src/hostap/src/crypto/tls_openssl.c:4507,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/hostap/src/crypto/tls_openssl.c:4508,1
    - Dst: BN_free
      Src: /src/hostap/src/crypto/tls_openssl.c:4509,1
    - Dst: BN_free
      Src: /src/hostap/src/crypto/tls_openssl.c:4510,1
    - Dst: BN_free
      Src: /src/hostap/src/crypto/tls_openssl.c:4511,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 10
    argCount: 1
    argNames:
    - dsa
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4513
      start: 4483
    functionDepth: 0
    functionLinenumber: 4483
    functionLinenumberEnd: 4513
    functionName: openssl_dsa_to_dh
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_fromdata_init
    - wpa_printf
    - OSSL_PARAM_free
    - OSSL_PARAM_BLD_to_param
    - EVP_PKEY_CTX_new_from_name
    - OSSL_PARAM_BLD_free
    - OSSL_PARAM_BLD_new
    - EVP_PKEY_get_bn_param
    - EVP_PKEY_fromdata
    - EVP_PKEY_CTX_free
    - BN_free
    - OSSL_PARAM_BLD_push_BN
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY * openssl_dsa_to_dh(EVP_PKEY *dsa)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:4523,1
    - Dst: SSL_CTX_set_dh_auto
      Src: /src/hostap/src/crypto/tls_openssl.c:4537,1
    - Dst: BIO_new_file
      Src: /src/hostap/src/crypto/tls_openssl.c:4541,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:4543,1
    - Dst: ERR_error_string
      Src: /src/hostap/src/crypto/tls_openssl.c:4544,1
    - Dst: ERR_get_error
      Src: /src/hostap/src/crypto/tls_openssl.c:4544,1
    - Dst: OSSL_DECODER_CTX_new_for_pkey
      Src: /src/hostap/src/crypto/tls_openssl.c:4547,1
    - Dst: OSSL_DECODER_from_bio
      Src: /src/hostap/src/crypto/tls_openssl.c:4551,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:4552,1
    - Dst: ERR_error_string
      Src: /src/hostap/src/crypto/tls_openssl.c:4554,1
    - Dst: ERR_get_error
      Src: /src/hostap/src/crypto/tls_openssl.c:4554,1
    - Dst: BIO_free
      Src: /src/hostap/src/crypto/tls_openssl.c:4555,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/hostap/src/crypto/tls_openssl.c:4556,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/hostap/src/crypto/tls_openssl.c:4559,1
    - Dst: BIO_free
      Src: /src/hostap/src/crypto/tls_openssl.c:4560,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:4563,1
    - Dst: EVP_PKEY_is_a
      Src: /src/hostap/src/crypto/tls_openssl.c:4568,1
    - Dst: openssl_dsa_to_dh
      Src: /src/hostap/src/crypto/tls_openssl.c:4569,1
    - Dst: EVP_PKEY_free
      Src: /src/hostap/src/crypto/tls_openssl.c:4570,1
    - Dst: EVP_PKEY_is_a
      Src: /src/hostap/src/crypto/tls_openssl.c:4577,1
    - Dst: EVP_PKEY_is_a
      Src: /src/hostap/src/crypto/tls_openssl.c:4578,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:4580,1
    - Dst: EVP_PKEY_free
      Src: /src/hostap/src/crypto/tls_openssl.c:4583,1
    - Dst: SSL_CTX_set0_tmp_dh_pkey
      Src: /src/hostap/src/crypto/tls_openssl.c:4590,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:4591,1
    - Dst: ERR_error_string
      Src: /src/hostap/src/crypto/tls_openssl.c:4593,1
    - Dst: ERR_get_error
      Src: /src/hostap/src/crypto/tls_openssl.c:4593,1
    - Dst: EVP_PKEY_free
      Src: /src/hostap/src/crypto/tls_openssl.c:4594,1
    - Dst: SSL_CTX_set_dh_auto
      Src: /src/hostap/src/crypto/tls_openssl.c:4607,1
    - Dst: BIO_new_file
      Src: /src/hostap/src/crypto/tls_openssl.c:4612,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:4614,1
    - Dst: ERR_error_string
      Src: /src/hostap/src/crypto/tls_openssl.c:4615,1
    - Dst: ERR_get_error
      Src: /src/hostap/src/crypto/tls_openssl.c:4615,1
    - Dst: PEM_read_bio_DHparams
      Src: /src/hostap/src/crypto/tls_openssl.c:4618,1
    - Dst: BIO_free
      Src: /src/hostap/src/crypto/tls_openssl.c:4619,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:4623,1
    - Dst: ERR_error_string
      Src: /src/hostap/src/crypto/tls_openssl.c:4625,1
    - Dst: ERR_get_error
      Src: /src/hostap/src/crypto/tls_openssl.c:4625,1
    - Dst: BIO_new_file
      Src: /src/hostap/src/crypto/tls_openssl.c:4626,1
    - Dst: PEM_read_bio_DSAparams
      Src: /src/hostap/src/crypto/tls_openssl.c:4629,1
    - Dst: BIO_free
      Src: /src/hostap/src/crypto/tls_openssl.c:4630,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:4632,1
    - Dst: ERR_error_string
      Src: /src/hostap/src/crypto/tls_openssl.c:4634,1
    - Dst: ERR_get_error
      Src: /src/hostap/src/crypto/tls_openssl.c:4634,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:4638,1
    - Dst: DSA_dup_DH
      Src: /src/hostap/src/crypto/tls_openssl.c:4639,1
    - Dst: DSA_free
      Src: /src/hostap/src/crypto/tls_openssl.c:4640,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:4642,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:4650,1
    - Dst: SSL_CTX_set_tmp_dh
      Src: /src/hostap/src/crypto/tls_openssl.c:4655,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:4656,1
    - Dst: ERR_error_string
      Src: /src/hostap/src/crypto/tls_openssl.c:4658,1
    - Dst: ERR_get_error
      Src: /src/hostap/src/crypto/tls_openssl.c:4658,1
    - Dst: DH_free
      Src: /src/hostap/src/crypto/tls_openssl.c:4659,1
    - Dst: DH_free
      Src: /src/hostap/src/crypto/tls_openssl.c:4662,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 96
    argCount: 2
    argNames:
    - data
    - dh_file
    argTypes:
    - struct tls_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4666
      start: 4518
    functionDepth: 1
    functionLinenumber: 4518
    functionLinenumberEnd: 4666
    functionName: tls_global_dh
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_free
    - SSL_CTX_set0_tmp_dh_pkey
    - BIO_new_file
    - BIO_free
    - wpa_printf
    - OSSL_DECODER_from_bio
    - SSL_CTX_set_dh_auto
    - OSSL_DECODER_CTX_free
    - SSL_CTX_set_tmp_dh
    - PEM_read_bio_DSAparams
    - EVP_PKEY_is_a
    - DSA_free
    - DH_free
    - OSSL_DECODER_CTX_new_for_pkey
    - ERR_get_error
    - DSA_dup_DH
    - openssl_dsa_to_dh
    - ERR_error_string
    - PEM_read_bio_DHparams
    linkageType: ''
    returnType: int
    signature: int tls_global_dh(struct tls_data *data, const char *dh_file)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/crypto/tls_openssl.c:4680,1
    - Dst: SSL_get_client_random
      Src: /src/hostap/src/crypto/tls_openssl.c:4682,1
    - Dst: SSL_get_server_random
      Src: /src/hostap/src/crypto/tls_openssl.c:4685,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - ssl_ctx
    - conn
    - keys
    argTypes:
    - void*
    - struct tls_connection*
    - struct tls_random*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4689
      start: 4669
    functionDepth: 1
    functionLinenumber: 4669
    functionLinenumberEnd: 4689
    functionName: tls_connection_get_random
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 1
    functionsReached:
    - SSL_get_server_random
    - SSL_get_client_random
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int tls_connection_get_random(void *ssl_ctx, struct tls_connection
      *conn,\n\t\t\t      struct tls_random *keys)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_md
      Src: /src/hostap/src/crypto/tls_openssl.c:4705,1
    - Dst: EVP_MD_size
      Src: /src/hostap/src/crypto/tls_openssl.c:4707,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:4713,1
    - Dst: EVP_CIPHER_key_length
      Src: /src/hostap/src/crypto/tls_openssl.c:4714,1
    - Dst: EVP_CIPHER_iv_length
      Src: /src/hostap/src/crypto/tls_openssl.c:4715,1
    - Dst: EVP_CIPHER_key_length
      Src: /src/hostap/src/crypto/tls_openssl.c:4716,1
    - Dst: EVP_CIPHER_iv_length
      Src: /src/hostap/src/crypto/tls_openssl.c:4718,1
    - Dst: SSL_get_current_cipher
      Src: /src/hostap/src/crypto/tls_openssl.c:4726,1
    - Dst: SSL_CIPHER_get_cipher_nid
      Src: /src/hostap/src/crypto/tls_openssl.c:4729,1
    - Dst: SSL_CIPHER_get_digest_nid
      Src: /src/hostap/src/crypto/tls_openssl.c:4730,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:4731,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:4736,1
    - Dst: EVP_get_cipherbynid
      Src: /src/hostap/src/crypto/tls_openssl.c:4739,1
    - Dst: EVP_CIPHER_key_length
      Src: /src/hostap/src/crypto/tls_openssl.c:4742,1
    - Dst: EVP_CIPHER_mode
      Src: /src/hostap/src/crypto/tls_openssl.c:4743,1
    - Dst: EVP_CIPHER_mode
      Src: /src/hostap/src/crypto/tls_openssl.c:4744,1
    - Dst: EVP_CIPHER_iv_length
      Src: /src/hostap/src/crypto/tls_openssl.c:4747,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:4749,1
    - Dst: EVP_get_digestbynid
      Src: /src/hostap/src/crypto/tls_openssl.c:4752,1
    - Dst: EVP_MD_size
      Src: /src/hostap/src/crypto/tls_openssl.c:4755,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:4758,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4763
      start: 4693
    functionDepth: 0
    functionLinenumber: 4693
    functionLinenumberEnd: 4763
    functionName: openssl_get_keyblock_size
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - SSL_get_current_cipher
    - EVP_CIPHER_key_length
    - EVP_MD_size
    - EVP_CIPHER_iv_length
    - EVP_get_digestbynid
    - EVP_get_cipherbynid
    - EVP_MD_CTX_md
    - SSL_CIPHER_get_digest_nid
    - SSL_CIPHER_get_cipher_nid
    - EVP_CIPHER_mode
    linkageType: ''
    returnType: int
    signature: int openssl_get_keyblock_size(SSL *ssl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_export_keying_material
      Src: /src/hostap/src/crypto/tls_openssl.c:4772,1
    - Dst: os_strlen
      Src: /src/hostap/src/crypto/tls_openssl.c:4773,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 7
    argNames:
    - tls_ctx
    - conn
    - label
    - context
    - context_len
    - out
    - out_len
    argTypes:
    - void*
    - struct tls_connection*
    - char*
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4777
      start: 4767
    functionDepth: 0
    functionLinenumber: 4767
    functionLinenumberEnd: 4777
    functionName: tls_connection_export_key
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 2
    functionsReached:
    - os_strlen
    - SSL_export_keying_material
    linkageType: ''
    returnType: int
    signature: "int tls_connection_export_key(void *tls_ctx, struct tls_connection
      *conn,\n\t\t\t      const char *label, const u8 *context,\n\t\t\t      size_t
      context_len, u8 *out, size_t out_len)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_version
      Src: /src/hostap/src/crypto/tls_openssl.c:4808,1
    - Dst: SSL_get_session
      Src: /src/hostap/src/crypto/tls_openssl.c:4809,1
    - Dst: openssl_get_keyblock_size
      Src: /src/hostap/src/crypto/tls_openssl.c:4813,1
    - Dst: os_malloc
      Src: /src/hostap/src/crypto/tls_openssl.c:4816,1
    - Dst: os_malloc
      Src: /src/hostap/src/crypto/tls_openssl.c:4821,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_openssl.c:4823,1
    - Dst: SSL_get_client_random
      Src: /src/hostap/src/crypto/tls_openssl.c:4827,1
    - Dst: SSL_get_server_random
      Src: /src/hostap/src/crypto/tls_openssl.c:4828,1
    - Dst: SSL_SESSION_get_master_key
      Src: /src/hostap/src/crypto/tls_openssl.c:4829,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/tls_openssl.c:4832,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/tls_openssl.c:4833,1
    - Dst: os_strcmp
      Src: /src/hostap/src/crypto/tls_openssl.c:4835,1
    - Dst: tls_prf_sha256
      Src: /src/hostap/src/crypto/tls_openssl.c:4836,1
    - Dst: tls_prf_sha1_md5
      Src: /src/hostap/src/crypto/tls_openssl.c:4840,1
    - Dst: forced_memzero
      Src: /src/hostap/src/crypto/tls_openssl.c:4845,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_openssl.c:4846,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/tls_openssl.c:4848,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/crypto/tls_openssl.c:4849,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:4853,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 4
    argNames:
    - tls_ctx
    - conn
    - out
    - out_len
    argTypes:
    - void*
    - struct tls_connection*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4857
      start: 4780
    functionDepth: 2
    functionLinenumber: 4780
    functionLinenumberEnd: 4857
    functionName: tls_connection_get_eap_fast_key
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - SSL_get_client_random
    - wpa_printf
    - openssl_get_keyblock_size
    - SSL_SESSION_get_master_key
    - forced_memzero
    - os_malloc
    - bin_clear_free
    - tls_prf_sha1_md5
    - tls_prf_sha256
    - os_free
    - SSL_get_server_random
    - SSL_get_version
    - os_strcmp
    - SSL_get_session
    linkageType: ''
    returnType: int
    signature: "int tls_connection_get_eap_fast_key(void *tls_ctx, struct tls_connection
      *conn,\n\t\t\t\t    u8 *out, size_t out_len)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/tls_openssl.c:4871,1
    - Dst: BIO_write
      Src: /src/hostap/src/crypto/tls_openssl.c:4872,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/crypto/tls_openssl.c:4872,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/tls_openssl.c:4872,1
    - Dst: tls_show_errors
      Src: /src/hostap/src/crypto/tls_openssl.c:4874,1
    - Dst: SSL_accept
      Src: /src/hostap/src/crypto/tls_openssl.c:4881,1
    - Dst: SSL_connect
      Src: /src/hostap/src/crypto/tls_openssl.c:4883,1
    - Dst: SSL_get_error
      Src: /src/hostap/src/crypto/tls_openssl.c:4885,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:4887,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:4890,1
    - Dst: ERR_peek_last_error
      Src: /src/hostap/src/crypto/tls_openssl.c:4893,1
    - Dst: tls_show_errors
      Src: /src/hostap/src/crypto/tls_openssl.c:4895,1
    - Dst: ERR_GET_LIB
      Src: /src/hostap/src/crypto/tls_openssl.c:4898,1
    - Dst: ERR_GET_REASON
      Src: /src/hostap/src/crypto/tls_openssl.c:4899,1
    - Dst: struct tls_context*::event_cb
      Src: /src/hostap/src/crypto/tls_openssl.c:4901,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:4913,1
    - Dst: os_strncmp
      Src: /src/hostap/src/crypto/tls_openssl.c:4926,1
    - Dst: SSL_get_cipher
      Src: /src/hostap/src/crypto/tls_openssl.c:4926,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:4934,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/tls_openssl.c:4941,1
    - Dst: struct tls_context*::event_cb
      Src: /src/hostap/src/crypto/tls_openssl.c:4945,1
    - Dst: BIO_ctrl_pending
      Src: /src/hostap/src/crypto/tls_openssl.c:4958,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:4959,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/crypto/tls_openssl.c:4960,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:4962,1
    - Dst: BIO_reset
      Src: /src/hostap/src/crypto/tls_openssl.c:4964,1
    - Dst: tls_show_errors
      Src: /src/hostap/src/crypto/tls_openssl.c:4965,1
    - Dst: BIO_read
      Src: /src/hostap/src/crypto/tls_openssl.c:4970,1
    - Dst: wpabuf_mhead
      Src: /src/hostap/src/crypto/tls_openssl.c:4970,1
    - Dst: tls_show_errors
      Src: /src/hostap/src/crypto/tls_openssl.c:4973,1
    - Dst: BIO_reset
      Src: /src/hostap/src/crypto/tls_openssl.c:4975,1
    - Dst: tls_show_errors
      Src: /src/hostap/src/crypto/tls_openssl.c:4976,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/tls_openssl.c:4979,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/crypto/tls_openssl.c:4982,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 61
    argCount: 2
    argNames:
    - conn
    - in_data
    argTypes:
    - struct tls_connection*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4985
      start: 4860
    functionDepth: 1
    functionLinenumber: 4860
    functionLinenumberEnd: 4985
    functionName: openssl_handshake
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - struct tls_context*::event_cb
    - SSL_accept
    - wpabuf_alloc
    - SSL_get_error
    - BIO_read
    - wpa_printf
    - ERR_peek_last_error
    - wpabuf_len
    - ERR_GET_REASON
    - wpabuf_head
    - BIO_ctrl_pending
    - BIO_reset
    - tls_show_errors
    - wpabuf_mhead
    - SSL_get_cipher
    - os_memset
    - BIO_write
    - wpabuf_put
    - wpabuf_free
    - os_strncmp
    - SSL_connect
    - ERR_GET_LIB
    linkageType: ''
    returnType: struct wpabuf
    signature: 'struct wpabuf *

      openssl_handshake(struct tls_connection *conn, const struct wpabuf *in_data)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/crypto/tls_openssl.c:4994,1
    - Dst: SSL_read
      Src: /src/hostap/src/crypto/tls_openssl.c:4998,1
    - Dst: wpabuf_mhead
      Src: /src/hostap/src/crypto/tls_openssl.c:4998,1
    - Dst: wpabuf_size
      Src: /src/hostap/src/crypto/tls_openssl.c:4999,1
    - Dst: SSL_get_error
      Src: /src/hostap/src/crypto/tls_openssl.c:5001,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:5004,1
    - Dst: tls_show_errors
      Src: /src/hostap/src/crypto/tls_openssl.c:5007,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/tls_openssl.c:5011,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/crypto/tls_openssl.c:5015,1
    - Dst: wpa_hexdump_buf_key
      Src: /src/hostap/src/crypto/tls_openssl.c:5016,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - conn
    - max_len
    argTypes:
    - struct tls_connection*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5020
      start: 4988
    functionDepth: 1
    functionLinenumber: 4988
    functionLinenumberEnd: 5020
    functionName: openssl_get_appl_data
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put
    - wpabuf_size
    - wpabuf_free
    - wpabuf_alloc
    - SSL_get_error
    - wpabuf_mhead
    - tls_show_errors
    - wpa_hexdump_buf_key
    - SSL_read
    linkageType: ''
    returnType: struct wpabuf
    signature: 'struct wpabuf *

      openssl_get_appl_data(struct tls_connection *conn, size_t max_len)'
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: openssl_handshake
      Src: /src/hostap/src/crypto/tls_openssl.c:5033,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:5037,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/tls_openssl.c:5038,1
    - Dst: SSL_is_init_finished
      Src: /src/hostap/src/crypto/tls_openssl.c:5042,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:5043,1
    - Dst: tls_connection_resumed
      Src: /src/hostap/src/crypto/tls_openssl.c:5045,1
    - Dst: os_malloc
      Src: /src/hostap/src/crypto/tls_openssl.c:5050,1
    - Dst: SSL_get_shared_ciphers
      Src: /src/hostap/src/crypto/tls_openssl.c:5052,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:5055,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_openssl.c:5059,1
    - Dst: openssl_get_appl_data
      Src: /src/hostap/src/crypto/tls_openssl.c:5063,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/tls_openssl.c:5064,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:5068,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/tls_openssl.c:5070,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/tls_openssl.c:5073,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 3
    argNames:
    - conn
    - in_data
    - appl_data
    argTypes:
    - struct tls_connection*
    - struct wpabuf*
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5078
      start: 5023
    functionDepth: 2
    functionLinenumber: 5023
    functionLinenumberEnd: 5078
    functionName: openssl_connection_handshake
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - SSL_get_shared_ciphers
    - wpa_printf
    - wpabuf_len
    - wpabuf_free
    - openssl_handshake
    - os_malloc
    - tls_connection_resumed
    - SSL_is_init_finished
    - openssl_get_appl_data
    - os_free
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf *\nopenssl_connection_handshake(struct tls_connection
      *conn,\n\t\t\t     const struct wpabuf *in_data,\n\t\t\t     struct wpabuf **appl_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: openssl_connection_handshake
      Src: /src/hostap/src/crypto/tls_openssl.c:5086,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ssl_ctx
    - conn
    - in_data
    - appl_data
    argTypes:
    - void*
    - struct tls_connection*
    - struct wpabuf*
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5087
      start: 5081
    functionDepth: 3
    functionLinenumber: 5081
    functionLinenumberEnd: 5087
    functionName: tls_connection_handshake
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 3
    functionsReached:
    - openssl_connection_handshake
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf *\ntls_connection_handshake(void *ssl_ctx, struct tls_connection
      *conn,\n\t\t\t const struct wpabuf *in_data,\n\t\t\t struct wpabuf **appl_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: openssl_connection_handshake
      Src: /src/hostap/src/crypto/tls_openssl.c:5096,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - tls_ctx
    - conn
    - in_data
    - appl_data
    argTypes:
    - void*
    - struct tls_connection*
    - struct wpabuf*
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5097
      start: 5090
    functionDepth: 3
    functionLinenumber: 5090
    functionLinenumberEnd: 5097
    functionName: tls_connection_server_handshake
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 2
    functionsReached:
    - openssl_connection_handshake
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * tls_connection_server_handshake(void *tls_ctx,\n\t\t\t\t\t\tstruct
      tls_connection *conn,\n\t\t\t\t\t\tconst struct wpabuf *in_data,\n\t\t\t\t\t\tstruct
      wpabuf **appl_data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BIO_reset
      Src: /src/hostap/src/crypto/tls_openssl.c:5111,1
    - Dst: BIO_reset
      Src: /src/hostap/src/crypto/tls_openssl.c:5112,1
    - Dst: tls_show_errors
      Src: /src/hostap/src/crypto/tls_openssl.c:5113,1
    - Dst: SSL_write
      Src: /src/hostap/src/crypto/tls_openssl.c:5116,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/crypto/tls_openssl.c:5116,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/tls_openssl.c:5116,1
    - Dst: tls_show_errors
      Src: /src/hostap/src/crypto/tls_openssl.c:5118,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/crypto/tls_openssl.c:5124,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/tls_openssl.c:5124,1
    - Dst: BIO_read
      Src: /src/hostap/src/crypto/tls_openssl.c:5127,1
    - Dst: wpabuf_mhead
      Src: /src/hostap/src/crypto/tls_openssl.c:5127,1
    - Dst: wpabuf_size
      Src: /src/hostap/src/crypto/tls_openssl.c:5127,1
    - Dst: tls_show_errors
      Src: /src/hostap/src/crypto/tls_openssl.c:5129,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/tls_openssl.c:5131,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/crypto/tls_openssl.c:5134,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - tls_ctx
    - conn
    - in_data
    argTypes:
    - void*
    - struct tls_connection*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5137
      start: 5100
    functionDepth: 1
    functionLinenumber: 5100
    functionLinenumberEnd: 5137
    functionName: tls_connection_encrypt
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 5
    functionsReached:
    - wpabuf_put
    - wpabuf_size
    - wpabuf_len
    - wpabuf_free
    - wpabuf_head
    - BIO_reset
    - SSL_write
    - wpabuf_alloc
    - tls_show_errors
    - wpabuf_mhead
    - BIO_read
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * tls_connection_encrypt(void *tls_ctx,\n\t\t\t\t       struct
      tls_connection *conn,\n\t\t\t\t       const struct wpabuf *in_data)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BIO_write
      Src: /src/hostap/src/crypto/tls_openssl.c:5148,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/crypto/tls_openssl.c:5148,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/tls_openssl.c:5149,1
    - Dst: tls_show_errors
      Src: /src/hostap/src/crypto/tls_openssl.c:5151,1
    - Dst: BIO_reset
      Src: /src/hostap/src/crypto/tls_openssl.c:5155,1
    - Dst: tls_show_errors
      Src: /src/hostap/src/crypto/tls_openssl.c:5156,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/crypto/tls_openssl.c:5167,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/tls_openssl.c:5167,1
    - Dst: SSL_read
      Src: /src/hostap/src/crypto/tls_openssl.c:5170,1
    - Dst: wpabuf_mhead
      Src: /src/hostap/src/crypto/tls_openssl.c:5170,1
    - Dst: wpabuf_size
      Src: /src/hostap/src/crypto/tls_openssl.c:5170,1
    - Dst: SSL_get_error
      Src: /src/hostap/src/crypto/tls_openssl.c:5172,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:5175,1
    - Dst: tls_show_errors
      Src: /src/hostap/src/crypto/tls_openssl.c:5179,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/tls_openssl.c:5181,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/crypto/tls_openssl.c:5185,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:5188,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/tls_openssl.c:5189,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 3
    argNames:
    - tls_ctx
    - conn
    - in_data
    argTypes:
    - void*
    - struct tls_connection*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5194
      start: 5140
    functionDepth: 1
    functionLinenumber: 5140
    functionLinenumberEnd: 5194
    functionName: tls_connection_decrypt
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 3
    functionsReached:
    - BIO_write
    - wpa_printf
    - wpabuf_put
    - wpabuf_size
    - wpabuf_len
    - wpabuf_free
    - wpabuf_head
    - BIO_reset
    - wpabuf_alloc
    - SSL_get_error
    - tls_show_errors
    - wpabuf_mhead
    - SSL_read
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * tls_connection_decrypt(void *tls_ctx,\n\t\t\t\t       struct
      tls_connection *conn,\n\t\t\t\t       const struct wpabuf *in_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_session_reused
      Src: /src/hostap/src/crypto/tls_openssl.c:5199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ssl_ctx
    - conn
    argTypes:
    - void*
    - struct tls_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5200
      start: 5197
    functionDepth: 0
    functionLinenumber: 5197
    functionLinenumberEnd: 5200
    functionName: tls_connection_resumed
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 5
    functionsReached:
    - SSL_session_reused
    linkageType: ''
    returnType: int
    signature: int tls_connection_resumed(void *ssl_ctx, struct tls_connection *conn)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:5241,1
    - Dst: os_snprintf
      Src: /src/hostap/src/crypto/tls_openssl.c:5245,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/crypto/tls_openssl.c:5246,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:5253,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:5257,1
    - Dst: os_strstr
      Src: /src/hostap/src/crypto/tls_openssl.c:5261,1
    - Dst: SSL_set_security_level
      Src: /src/hostap/src/crypto/tls_openssl.c:5266,1
    - Dst: SSL_get_security_level
      Src: /src/hostap/src/crypto/tls_openssl.c:5267,1
    - Dst: SSL_set_security_level
      Src: /src/hostap/src/crypto/tls_openssl.c:5269,1
    - Dst: SSL_set_cipher_list
      Src: /src/hostap/src/crypto/tls_openssl.c:5274,1
    - Dst: tls_show_errors
      Src: /src/hostap/src/crypto/tls_openssl.c:5275,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 53
    argCount: 3
    argNames:
    - tls_ctx
    - conn
    - ciphers
    argTypes:
    - void*
    - struct tls_connection*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5281
      start: 5203
    functionDepth: 1
    functionLinenumber: 5203
    functionLinenumberEnd: 5281
    functionName: tls_connection_set_cipher_list
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - SSL_get_security_level
    - SSL_set_security_level
    - os_snprintf
    - os_strstr
    - tls_show_errors
    - SSL_set_cipher_list
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int tls_connection_set_cipher_list(void *tls_ctx, struct tls_connection
      *conn,\n\t\t\t\t   u8 *ciphers)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_version
      Src: /src/hostap/src/crypto/tls_openssl.c:5291,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/crypto/tls_openssl.c:5295,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - ssl_ctx
    - conn
    - buf
    - buflen
    argTypes:
    - void*
    - struct tls_connection*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5297
      start: 5284
    functionDepth: 0
    functionLinenumber: 5284
    functionLinenumberEnd: 5297
    functionName: tls_get_version
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 2
    functionsReached:
    - SSL_get_version
    - os_strlcpy
    linkageType: ''
    returnType: int
    signature: "int tls_get_version(void *ssl_ctx, struct tls_connection *conn,\n\t\t
      \   char *buf, size_t buflen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_cipher
      Src: /src/hostap/src/crypto/tls_openssl.c:5307,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/crypto/tls_openssl.c:5311,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - ssl_ctx
    - conn
    - buf
    - buflen
    argTypes:
    - void*
    - struct tls_connection*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5313
      start: 5300
    functionDepth: 0
    functionLinenumber: 5300
    functionLinenumberEnd: 5313
    functionName: tls_get_cipher
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 2
    functionsReached:
    - SSL_get_cipher
    - os_strlcpy
    linkageType: ''
    returnType: int
    signature: "int tls_get_cipher(void *ssl_ctx, struct tls_connection *conn,\n\t\t
      \  char *buf, size_t buflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_set_options
      Src: /src/hostap/src/crypto/tls_openssl.c:5319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ssl_ctx
    - conn
    argTypes:
    - void*
    - struct tls_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5322
      start: 5316
    functionDepth: 0
    functionLinenumber: 5316
    functionLinenumberEnd: 5322
    functionName: tls_connection_enable_workaround
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 1
    functionsReached:
    - SSL_set_options
    linkageType: ''
    returnType: int
    signature: "int tls_connection_enable_workaround(void *ssl_ctx,\n\t\t\t\t     struct
      tls_connection *conn)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_set_session_ticket_ext
      Src: /src/hostap/src/crypto/tls_openssl.c:5336,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 5
    argNames:
    - ssl_ctx
    - conn
    - ext_type
    - data
    - data_len
    argTypes:
    - void*
    - struct tls_connection*
    - int
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5341
      start: 5329
    functionDepth: 0
    functionLinenumber: 5329
    functionLinenumberEnd: 5341
    functionName: tls_connection_client_hello_ext
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 2
    functionsReached:
    - SSL_set_session_ticket_ext
    linkageType: ''
    returnType: int
    signature: "int tls_connection_client_hello_ext(void *ssl_ctx, struct tls_connection
      *conn,\n\t\t\t\t    int ext_type, const u8 *data,\n\t\t\t\t    size_t data_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ssl_ctx
    - conn
    argTypes:
    - void*
    - struct tls_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5350
      start: 5345
    functionDepth: 0
    functionLinenumber: 5345
    functionLinenumberEnd: 5350
    functionName: tls_connection_get_failed
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tls_connection_get_failed(void *ssl_ctx, struct tls_connection
      *conn)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ssl_ctx
    - conn
    argTypes:
    - void*
    - struct tls_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5358
      start: 5353
    functionDepth: 0
    functionLinenumber: 5353
    functionLinenumberEnd: 5358
    functionName: tls_connection_get_read_alerts
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tls_connection_get_read_alerts(void *ssl_ctx, struct tls_connection
      *conn)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ssl_ctx
    - conn
    argTypes:
    - void*
    - struct tls_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5366
      start: 5361
    functionDepth: 0
    functionLinenumber: 5361
    functionLinenumberEnd: 5366
    functionName: tls_connection_get_write_alerts
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tls_connection_get_write_alerts(void *ssl_ctx, struct tls_connection
      *conn)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/hostap/src/crypto/tls_openssl.c:5382,1
    - Dst: BIO_s_mem
      Src: /src/hostap/src/crypto/tls_openssl.c:5382,1
    - Dst: OCSP_RESPONSE_print
      Src: /src/hostap/src/crypto/tls_openssl.c:5386,1
    - Dst: BIO_ctrl_pending
      Src: /src/hostap/src/crypto/tls_openssl.c:5387,1
    - Dst: os_malloc
      Src: /src/hostap/src/crypto/tls_openssl.c:5388,1
    - Dst: BIO_free
      Src: /src/hostap/src/crypto/tls_openssl.c:5390,1
    - Dst: BIO_read
      Src: /src/hostap/src/crypto/tls_openssl.c:5394,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:5397,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_openssl.c:5399,1
    - Dst: BIO_free
      Src: /src/hostap/src/crypto/tls_openssl.c:5400,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - rsp
    argTypes:
    - OCSP_RESPONSE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5402
      start: 5371
    functionDepth: 0
    functionLinenumber: 5371
    functionLinenumberEnd: 5402
    functionName: ocsp_debug_print_resp
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - BIO_s_mem
    - os_malloc
    - BIO_ctrl_pending
    - OCSP_RESPONSE_print
    - BIO_new
    - BIO_free
    - os_free
    - BIO_read
    linkageType: ''
    returnType: void
    signature: void ocsp_debug_print_resp(OCSP_RESPONSE *rsp)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/hostap/src/crypto/tls_openssl.c:5415,1
    - Dst: SSL_get_tlsext_status_ocsp_resp
      Src: /src/hostap/src/crypto/tls_openssl.c:5417,1
    - Dst: SSL_version
      Src: /src/hostap/src/crypto/tls_openssl.c:5421,1
    - Dst: SSL_session_reused
      Src: /src/hostap/src/crypto/tls_openssl.c:5421,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:5428,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:5434,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/crypto/tls_openssl.c:5438,1
    - Dst: d2i_OCSP_RESPONSE
      Src: /src/hostap/src/crypto/tls_openssl.c:5440,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:5442,1
    - Dst: ocsp_debug_print_resp
      Src: /src/hostap/src/crypto/tls_openssl.c:5446,1
    - Dst: OCSP_response_status
      Src: /src/hostap/src/crypto/tls_openssl.c:5448,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:5450,1
    - Dst: OCSP_response_status_str
      Src: /src/hostap/src/crypto/tls_openssl.c:5451,1
    - Dst: OCSP_response_get1_basic
      Src: /src/hostap/src/crypto/tls_openssl.c:5455,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:5457,1
    - Dst: SSL_CTX_get_cert_store
      Src: /src/hostap/src/crypto/tls_openssl.c:5461,1
    - Dst: debug_print_cert
      Src: /src/hostap/src/crypto/tls_openssl.c:5463,1
    - Dst: X509_STORE_add_cert
      Src: /src/hostap/src/crypto/tls_openssl.c:5465,1
    - Dst: tls_show_errors
      Src: /src/hostap/src/crypto/tls_openssl.c:5466,1
    - Dst: sk_X509_new_null
      Src: /src/hostap/src/crypto/tls_openssl.c:5469,1
    - Dst: X509_dup
      Src: /src/hostap/src/crypto/tls_openssl.c:5472,1
    - Dst: sk_X509_push
      Src: /src/hostap/src/crypto/tls_openssl.c:5473,1
    - Dst: tls_show_errors
      Src: /src/hostap/src/crypto/tls_openssl.c:5474,1
    - Dst: X509_free
      Src: /src/hostap/src/crypto/tls_openssl.c:5477,1
    - Dst: sk_X509_free
      Src: /src/hostap/src/crypto/tls_openssl.c:5478,1
    - Dst: X509_dup
      Src: /src/hostap/src/crypto/tls_openssl.c:5482,1
    - Dst: sk_X509_push
      Src: /src/hostap/src/crypto/tls_openssl.c:5483,1
    - Dst: tls_show_errors
      Src: /src/hostap/src/crypto/tls_openssl.c:5484,1
    - Dst: X509_free
      Src: /src/hostap/src/crypto/tls_openssl.c:5487,1
    - Dst: OCSP_basic_verify
      Src: /src/hostap/src/crypto/tls_openssl.c:5493,1
    - Dst: sk_X509_pop_free
      Src: /src/hostap/src/crypto/tls_openssl.c:5494,1
    - Dst: tls_show_errors
      Src: /src/hostap/src/crypto/tls_openssl.c:5496,1
    - Dst: OCSP_BASICRESP_free
      Src: /src/hostap/src/crypto/tls_openssl.c:5498,1
    - Dst: OCSP_RESPONSE_free
      Src: /src/hostap/src/crypto/tls_openssl.c:5499,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:5503,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:5506,1
    - Dst: OCSP_BASICRESP_free
      Src: /src/hostap/src/crypto/tls_openssl.c:5507,1
    - Dst: OCSP_RESPONSE_free
      Src: /src/hostap/src/crypto/tls_openssl.c:5508,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:5513,1
    - Dst: OCSP_BASICRESP_free
      Src: /src/hostap/src/crypto/tls_openssl.c:5514,1
    - Dst: OCSP_RESPONSE_free
      Src: /src/hostap/src/crypto/tls_openssl.c:5515,1
    - Dst: OCSP_cert_to_id
      Src: /src/hostap/src/crypto/tls_openssl.c:5519,1
    - Dst: EVP_sha256
      Src: /src/hostap/src/crypto/tls_openssl.c:5519,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:5521,1
    - Dst: OCSP_BASICRESP_free
      Src: /src/hostap/src/crypto/tls_openssl.c:5523,1
    - Dst: OCSP_RESPONSE_free
      Src: /src/hostap/src/crypto/tls_openssl.c:5524,1
    - Dst: OCSP_resp_find_status
      Src: /src/hostap/src/crypto/tls_openssl.c:5528,1
    - Dst: OCSP_CERTID_free
      Src: /src/hostap/src/crypto/tls_openssl.c:5531,1
    - Dst: OCSP_cert_to_id
      Src: /src/hostap/src/crypto/tls_openssl.c:5532,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:5534,1
    - Dst: OCSP_BASICRESP_free
      Src: /src/hostap/src/crypto/tls_openssl.c:5536,1
    - Dst: OCSP_RESPONSE_free
      Src: /src/hostap/src/crypto/tls_openssl.c:5537,1
    - Dst: OCSP_resp_find_status
      Src: /src/hostap/src/crypto/tls_openssl.c:5541,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:5547,1
    - Dst: OCSP_CERTID_free
      Src: /src/hostap/src/crypto/tls_openssl.c:5550,1
    - Dst: OCSP_BASICRESP_free
      Src: /src/hostap/src/crypto/tls_openssl.c:5551,1
    - Dst: OCSP_RESPONSE_free
      Src: /src/hostap/src/crypto/tls_openssl.c:5552,1
    - Dst: OCSP_CERTID_free
      Src: /src/hostap/src/crypto/tls_openssl.c:5555,1
    - Dst: OCSP_check_validity
      Src: /src/hostap/src/crypto/tls_openssl.c:5557,1
    - Dst: tls_show_errors
      Src: /src/hostap/src/crypto/tls_openssl.c:5558,1
    - Dst: OCSP_BASICRESP_free
      Src: /src/hostap/src/crypto/tls_openssl.c:5560,1
    - Dst: OCSP_RESPONSE_free
      Src: /src/hostap/src/crypto/tls_openssl.c:5561,1
    - Dst: OCSP_BASICRESP_free
      Src: /src/hostap/src/crypto/tls_openssl.c:5565,1
    - Dst: OCSP_RESPONSE_free
      Src: /src/hostap/src/crypto/tls_openssl.c:5566,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:5568,1
    - Dst: OCSP_cert_status_str
      Src: /src/hostap/src/crypto/tls_openssl.c:5569,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:5576,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:5579,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 119
    argCount: 2
    argNames:
    - s
    - arg
    argTypes:
    - SSL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5581
      start: 5405
    functionDepth: 1
    functionLinenumber: 5405
    functionLinenumberEnd: 5581
    functionName: ocsp_resp_cb
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - OCSP_BASICRESP_free
    - X509_STORE_add_cert
    - wpa_hexdump
    - OCSP_response_status
    - STACK_OF
    - sk_X509_pop_free
    - SSL_CTX_get_cert_store
    - OCSP_resp_find_status
    - SSL_version
    - debug_print_cert
    - sk_X509_new_null
    - SSL_get_tlsext_status_ocsp_resp
    - wpa_printf
    - OCSP_CERTID_free
    - OCSP_RESPONSE_free
    - X509_free
    - EVP_sha256
    - OCSP_check_validity
    - sk_X509_push
    - OCSP_cert_to_id
    - OCSP_response_get1_basic
    - sk_X509_free
    - tls_show_errors
    - OCSP_cert_status_str
    - SSL_session_reused
    - X509_dup
    - OCSP_basic_verify
    - OCSP_response_status_str
    - d2i_OCSP_RESPONSE
    - ocsp_debug_print_resp
    linkageType: ''
    returnType: int
    signature: int ocsp_resp_cb(SSL *s, void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:5591,1
    - Dst: os_readfile
      Src: /src/hostap/src/crypto/tls_openssl.c:5595,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:5597,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:5602,1
    - Dst: OPENSSL_malloc
      Src: /src/hostap/src/crypto/tls_openssl.c:5603,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_openssl.c:5605,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/tls_openssl.c:5609,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_openssl.c:5610,1
    - Dst: SSL_set_tlsext_status_ocsp_resp
      Src: /src/hostap/src/crypto/tls_openssl.c:5611,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - s
    - arg
    argTypes:
    - SSL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5614
      start: 5584
    functionDepth: 0
    functionLinenumber: 5584
    functionLinenumberEnd: 5614
    functionName: ocsp_status_cb
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - OPENSSL_malloc
    - os_readfile
    - SSL_set_tlsext_status_ocsp_resp
    - os_free
    linkageType: ''
    returnType: int
    signature: int ocsp_status_cb(SSL *s, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/crypto/tls_openssl.c:5625,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - lines
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5632
      start: 5619
    functionDepth: 0
    functionLinenumber: 5619
    functionLinenumberEnd: 5632
    functionName: max_str_len
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - os_strlen
    linkageType: ''
    returnType: size_t
    signature: size_t max_str_len(const char **lines)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: max_str_len
      Src: /src/hostap/src/crypto/tls_openssl.c:5642,1
    - Dst: os_malloc
      Src: /src/hostap/src/crypto/tls_openssl.c:5643,1
    - Dst: fopen
      Src: /src/hostap/src/crypto/tls_openssl.c:5647,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_openssl.c:5649,1
    - Dst: fgets
      Src: /src/hostap/src/crypto/tls_openssl.c:5653,1
    - Dst: strcspn
      Src: /src/hostap/src/crypto/tls_openssl.c:5658,1
    - Dst: os_strcmp
      Src: /src/hostap/src/crypto/tls_openssl.c:5664,1
    - Dst: fclose
      Src: /src/hostap/src/crypto/tls_openssl.c:5669,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/crypto/tls_openssl.c:5670,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - path
    - lines
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5673
      start: 5635
    functionDepth: 1
    functionLinenumber: 5635
    functionLinenumberEnd: 5673
    functionName: match_lines_in_file
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - strcspn
    - os_malloc
    - bin_clear_free
    - fclose
    - max_str_len
    - os_free
    - fopen
    - os_strcmp
    - fgets
    linkageType: ''
    returnType: int
    signature: int match_lines_in_file(const char *path, const char **lines)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: match_lines_in_file
      Src: /src/hostap/src/crypto/tls_openssl.c:5685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5686
      start: 5676
    functionDepth: 2
    functionLinenumber: 5676
    functionLinenumberEnd: 5686
    functionName: is_tpm2_key
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - match_lines_in_file
    linkageType: ''
    returnType: int
    signature: int is_tpm2_key(const char *path)
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:5706,1
    - Dst: os_strcmp
      Src: /src/hostap/src/crypto/tls_openssl.c:5716,1
    - Dst: os_strncmp
      Src: /src/hostap/src/crypto/tls_openssl.c:5720,1
    - Dst: os_strncmp
      Src: /src/hostap/src/crypto/tls_openssl.c:5726,1
    - Dst: os_strncmp
      Src: /src/hostap/src/crypto/tls_openssl.c:5732,1
    - Dst: os_strcmp
      Src: /src/hostap/src/crypto/tls_openssl.c:5744,1
    - Dst: is_tpm2_key
      Src: /src/hostap/src/crypto/tls_openssl.c:5745,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:5746,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:5755,1
    - Dst: SSL_set_ssl_method
      Src: /src/hostap/src/crypto/tls_openssl.c:5757,1
    - Dst: TLSv1_method
      Src: /src/hostap/src/crypto/tls_openssl.c:5757,1
    - Dst: tls_show_errors
      Src: /src/hostap/src/crypto/tls_openssl.c:5758,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:5770,1
    - Dst: SSL_set_options
      Src: /src/hostap/src/crypto/tls_openssl.c:5771,1
    - Dst: ERR_get_error
      Src: /src/hostap/src/crypto/tls_openssl.c:5777,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:5778,1
    - Dst: ERR_error_string
      Src: /src/hostap/src/crypto/tls_openssl.c:5779,1
    - Dst: tls_set_conn_flags
      Src: /src/hostap/src/crypto/tls_openssl.c:5782,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:5787,1
    - Dst: tls_engine_init
      Src: /src/hostap/src/crypto/tls_openssl.c:5789,1
    - Dst: tls_connection_set_subject_match
      Src: /src/hostap/src/crypto/tls_openssl.c:5794,1
    - Dst: openssl_can_use_provider
      Src: /src/hostap/src/crypto/tls_openssl.c:5804,1
    - Dst: tls_connection_engine_ca_cert
      Src: /src/hostap/src/crypto/tls_openssl.c:5807,1
    - Dst: tls_connection_ca_cert
      Src: /src/hostap/src/crypto/tls_openssl.c:5809,1
    - Dst: openssl_can_use_provider
      Src: /src/hostap/src/crypto/tls_openssl.c:5817,1
    - Dst: tls_connection_engine_client_cert
      Src: /src/hostap/src/crypto/tls_openssl.c:5820,1
    - Dst: tls_connection_client_cert
      Src: /src/hostap/src/crypto/tls_openssl.c:5822,1
    - Dst: openssl_can_use_provider
      Src: /src/hostap/src/crypto/tls_openssl.c:5829,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:5832,1
    - Dst: tls_connection_engine_private_key
      Src: /src/hostap/src/crypto/tls_openssl.c:5834,1
    - Dst: tls_connection_private_key
      Src: /src/hostap/src/crypto/tls_openssl.c:5836,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:5841,1
    - Dst: os_strcmp
      Src: /src/hostap/src/crypto/tls_openssl.c:5849,1
    - Dst: SSL_set_cipher_list
      Src: /src/hostap/src/crypto/tls_openssl.c:5857,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:5858,1
    - Dst: SSL_set_ecdh_auto
      Src: /src/hostap/src/crypto/tls_openssl.c:5868,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:5869,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:5878,1
    - Dst: SSL_set1_curves_list
      Src: /src/hostap/src/crypto/tls_openssl.c:5883,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:5885,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:5891,1
    - Dst: SSL_enable_ocsp_stapling
      Src: /src/hostap/src/crypto/tls_openssl.c:5899,1
    - Dst: SSL_set_tlsext_status_type
      Src: /src/hostap/src/crypto/tls_openssl.c:5905,1
    - Dst: SSL_CTX_set_tlsext_status_cb
      Src: /src/hostap/src/crypto/tls_openssl.c:5906,1
    - Dst: SSL_CTX_set_tlsext_status_arg
      Src: /src/hostap/src/crypto/tls_openssl.c:5907,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:5911,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:5916,1
    - Dst: tls_get_errors
      Src: /src/hostap/src/crypto/tls_openssl.c:5924,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 121
    argCount: 3
    argNames:
    - tls_ctx
    - conn
    - params
    argTypes:
    - void*
    - struct tls_connection*
    - struct tls_connection_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5927
      start: 5689
    functionDepth: 3
    functionLinenumber: 5689
    functionLinenumberEnd: 5927
    functionName: tls_connection_set_params
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 1
    functionsReached:
    - SSL_enable_ocsp_stapling
    - SSL_set_ecdh_auto
    - SSL_set_options
    - tls_connection_engine_private_key
    - SSL_CTX_set_tlsext_status_cb
    - wpa_printf
    - tls_connection_set_subject_match
    - TLSv1_method
    - os_strcmp
    - openssl_can_use_provider
    - is_tpm2_key
    - tls_set_conn_flags
    - SSL_CTX_set_tlsext_status_arg
    - tls_connection_engine_client_cert
    - tls_connection_engine_ca_cert
    - tls_connection_client_cert
    - tls_show_errors
    - ERR_get_error
    - tls_engine_init
    - tls_connection_private_key
    - SSL_set1_curves_list
    - SSL_set_tlsext_status_type
    - os_strncmp
    - SSL_set_ssl_method
    - ERR_error_string
    - SSL_set_cipher_list
    - tls_get_errors
    - tls_connection_ca_cert
    linkageType: ''
    returnType: int
    signature: "int tls_connection_set_params(void *tls_ctx, struct tls_connection
      *conn,\n\t\t\t      const struct tls_connection_params *params)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_new
      Src: /src/hostap/src/crypto/tls_openssl.c:5935,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:5939,1
    - Dst: SSL_get_cipher_list
      Src: /src/hostap/src/crypto/tls_openssl.c:5944,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:5947,1
    - Dst: SSL_free
      Src: /src/hostap/src/crypto/tls_openssl.c:5950,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - ssl_ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5951
      start: 5930
    functionDepth: 0
    functionLinenumber: 5930
    functionLinenumberEnd: 5951
    functionName: openssl_debug_dump_cipher_list
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - SSL_free
    - wpa_printf
    - SSL_get_cipher_list
    - SSL_new
    linkageType: ''
    returnType: void
    signature: void openssl_debug_dump_cipher_list(SSL_CTX *ssl_ctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_type
      Src: /src/hostap/src/crypto/tls_openssl.c:5960,1
    - Dst: EVP_PKEY_id
      Src: /src/hostap/src/crypto/tls_openssl.c:5960,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5972
      start: 5956
    functionDepth: 0
    functionLinenumber: 5956
    functionLinenumberEnd: 5972
    functionName: openssl_pkey_type_str
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_type
    - EVP_PKEY_id
    linkageType: ''
    returnType: char
    signature: char * openssl_pkey_type_str(const EVP_PKEY *pkey)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_oneline
      Src: /src/hostap/src/crypto/tls_openssl.c:5985,1
    - Dst: X509_get_subject_name
      Src: /src/hostap/src/crypto/tls_openssl.c:5985,1
    - Dst: X509_get_serialNumber
      Src: /src/hostap/src/crypto/tls_openssl.c:5987,1
    - Dst: wpa_snprintf_hex_uppercase
      Src: /src/hostap/src/crypto/tls_openssl.c:5989,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/hostap/src/crypto/tls_openssl.c:5990,1
    - Dst: ASN1_STRING_length
      Src: /src/hostap/src/crypto/tls_openssl.c:5991,1
    - Dst: X509_get_pubkey
      Src: /src/hostap/src/crypto/tls_openssl.c:5995,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:5996,1
    - Dst: openssl_pkey_type_str
      Src: /src/hostap/src/crypto/tls_openssl.c:5997,1
    - Dst: EVP_PKEY_free
      Src: /src/hostap/src/crypto/tls_openssl.c:5998,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - i
    - cert
    argTypes:
    - int
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5999
      start: 5975
    functionDepth: 1
    functionLinenumber: 5975
    functionLinenumberEnd: 5999
    functionName: openssl_debug_dump_certificate
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - ASN1_STRING_length
    - X509_get_pubkey
    - X509_get_subject_name
    - EVP_PKEY_free
    - wpa_snprintf_hex_uppercase
    - X509_get_serialNumber
    - openssl_pkey_type_str
    - ASN1_STRING_get0_data
    - X509_NAME_oneline
    linkageType: ''
    returnType: void
    signature: void openssl_debug_dump_certificate(int i, X509 *cert)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/hostap/src/crypto/tls_openssl.c:6004,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:6006,1
    - Dst: SSL_CTX_get0_chain_certs
      Src: /src/hostap/src/crypto/tls_openssl.c:6007,1
    - Dst: sk_X509_num
      Src: /src/hostap/src/crypto/tls_openssl.c:6010,1
    - Dst: openssl_debug_dump_certificate
      Src: /src/hostap/src/crypto/tls_openssl.c:6011,1
    - Dst: sk_X509_value
      Src: /src/hostap/src/crypto/tls_openssl.c:6011,1
    - Dst: openssl_debug_dump_certificate
      Src: /src/hostap/src/crypto/tls_openssl.c:6014,1
    - Dst: SSL_CTX_get0_certificate
      Src: /src/hostap/src/crypto/tls_openssl.c:6014,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ssl_ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6015
      start: 6002
    functionDepth: 2
    functionLinenumber: 6002
    functionLinenumberEnd: 6015
    functionName: openssl_debug_dump_certificates
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - SSL_CTX_get0_certificate
    - STACK_OF
    - SSL_CTX_get0_chain_certs
    - sk_X509_num
    - openssl_debug_dump_certificate
    - sk_X509_value
    linkageType: ''
    returnType: void
    signature: void openssl_debug_dump_certificates(SSL_CTX *ssl_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_set_current_cert
      Src: /src/hostap/src/crypto/tls_openssl.c:6025,1
    - Dst: SSL_CTX_set_current_cert
      Src: /src/hostap/src/crypto/tls_openssl.c:6027,1
    - Dst: openssl_debug_dump_certificates
      Src: /src/hostap/src/crypto/tls_openssl.c:6028,1
    - Dst: SSL_CTX_set_current_cert
      Src: /src/hostap/src/crypto/tls_openssl.c:6030,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ssl_ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6032
      start: 6020
    functionDepth: 3
    functionLinenumber: 6020
    functionLinenumberEnd: 6032
    functionName: openssl_debug_dump_certificate_chains
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_current_cert
    - openssl_debug_dump_certificates
    linkageType: ''
    returnType: void
    signature: void openssl_debug_dump_certificate_chains(SSL_CTX *ssl_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: openssl_debug_dump_cipher_list
      Src: /src/hostap/src/crypto/tls_openssl.c:6037,1
    - Dst: openssl_debug_dump_certificate_chains
      Src: /src/hostap/src/crypto/tls_openssl.c:6038,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ssl_ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6039
      start: 6035
    functionDepth: 4
    functionLinenumber: 6035
    functionLinenumberEnd: 6039
    functionName: openssl_debug_dump_ctx
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - openssl_debug_dump_certificate_chains
    - openssl_debug_dump_cipher_list
    linkageType: ''
    returnType: void
    signature: void openssl_debug_dump_ctx(SSL_CTX *ssl_ctx)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ERR_get_error
      Src: /src/hostap/src/crypto/tls_openssl.c:6049,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:6050,1
    - Dst: ERR_error_string
      Src: /src/hostap/src/crypto/tls_openssl.c:6051,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_openssl.c:6054,1
    - Dst: os_strdup
      Src: /src/hostap/src/crypto/tls_openssl.c:6058,1
    - Dst: tls_global_ca_cert
      Src: /src/hostap/src/crypto/tls_openssl.c:6063,1
    - Dst: tls_global_client_cert
      Src: /src/hostap/src/crypto/tls_openssl.c:6064,1
    - Dst: tls_global_private_key
      Src: /src/hostap/src/crypto/tls_openssl.c:6065,1
    - Dst: tls_global_client_cert
      Src: /src/hostap/src/crypto/tls_openssl.c:6067,1
    - Dst: tls_global_private_key
      Src: /src/hostap/src/crypto/tls_openssl.c:6068,1
    - Dst: tls_global_dh
      Src: /src/hostap/src/crypto/tls_openssl.c:6070,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:6071,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_openssl.c:6075,1
    - Dst: os_strdup
      Src: /src/hostap/src/crypto/tls_openssl.c:6077,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/hostap/src/crypto/tls_openssl.c:6084,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:6085,1
    - Dst: SSL_CTX_set_ecdh_auto
      Src: /src/hostap/src/crypto/tls_openssl.c:6095,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:6096,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:6105,1
    - Dst: SSL_CTX_set_ecdh_auto
      Src: /src/hostap/src/crypto/tls_openssl.c:6111,1
    - Dst: SSL_CTX_set1_curves_list
      Src: /src/hostap/src/crypto/tls_openssl.c:6113,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:6116,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:6122,1
    - Dst: SSL_CTX_set_options
      Src: /src/hostap/src/crypto/tls_openssl.c:6130,1
    - Dst: SSL_CTX_clear_options
      Src: /src/hostap/src/crypto/tls_openssl.c:6132,1
    - Dst: SSL_CTX_set_tlsext_status_cb
      Src: /src/hostap/src/crypto/tls_openssl.c:6136,1
    - Dst: SSL_CTX_set_tlsext_status_arg
      Src: /src/hostap/src/crypto/tls_openssl.c:6137,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_openssl.c:6138,1
    - Dst: os_strdup
      Src: /src/hostap/src/crypto/tls_openssl.c:6141,1
    - Dst: openssl_debug_dump_ctx
      Src: /src/hostap/src/crypto/tls_openssl.c:6146,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 55
    argCount: 2
    argNames:
    - tls_ctx
    - params
    argTypes:
    - void*
    - struct tls_connection_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6149
      start: 6042
    functionDepth: 5
    functionLinenumber: 6042
    functionLinenumberEnd: 6149
    functionName: tls_global_set_params
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 2
    functionsReached:
    - SSL_CTX_clear_options
    - tls_global_dh
    - wpa_printf
    - tls_global_private_key
    - tls_global_ca_cert
    - tls_global_client_cert
    - SSL_CTX_set_ecdh_auto
    - SSL_CTX_set1_curves_list
    - SSL_CTX_set_tlsext_status_cb
    - ERR_error_string
    - SSL_CTX_set_options
    - openssl_debug_dump_ctx
    - SSL_CTX_set_cipher_list
    - ERR_get_error
    - SSL_CTX_set_tlsext_status_arg
    - os_free
    - os_strdup
    linkageType: ''
    returnType: int
    signature: "int tls_global_set_params(void *tls_ctx,\n\t\t\t  const struct tls_connection_params
      *params)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: struct tls_connection*::session_ticket_cb
      Src: /src/hostap/src/crypto/tls_openssl.c:6176,1
    - Dst: SSL_get_client_random
      Src: /src/hostap/src/crypto/tls_openssl.c:6188,1
    - Dst: SSL_get_server_random
      Src: /src/hostap/src/crypto/tls_openssl.c:6189,1
    - Dst: struct tls_connection*::session_ticket_cb
      Src: /src/hostap/src/crypto/tls_openssl.c:6191,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_openssl.c:6198,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 6
    argNames:
    - s
    - secret
    - secret_len
    - peer_ciphers
    - cipher
    - arg
    argTypes:
    - SSL*
    - void*
    - int*
    - STACK_OF*
    - SSL_CIPHER**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6206
      start: 6164
    functionDepth: 1
    functionLinenumber: 6164
    functionLinenumberEnd: 6206
    functionName: tls_sess_sec_cb
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - os_free
    - SSL_get_server_random
    - SSL_get_client_random
    - struct tls_connection*::session_ticket_cb
    linkageType: ''
    returnType: int
    signature: "int tls_sess_sec_cb(SSL *s, void *secret, int *secret_len,\n\t\t\t
      \  STACK_OF(SSL_CIPHER) *peer_ciphers,\n\t\t\t   SSL_CIPHER **cipher, void *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:6217,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_openssl.c:6219,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/crypto/tls_openssl.c:6222,1
    - Dst: os_memdup
      Src: /src/hostap/src/crypto/tls_openssl.c:6225,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - s
    - data
    - len
    - arg
    argTypes:
    - SSL*
    - unsigned char*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6232
      start: 6209
    functionDepth: 0
    functionLinenumber: 6209
    functionLinenumberEnd: 6232
    functionName: tls_session_ticket_ext_cb
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - os_free
    - os_memdup
    - wpa_printf
    - wpa_hexdump
    linkageType: ''
    returnType: int
    signature: "int tls_session_ticket_ext_cb(SSL *s, const unsigned char *data,\n\t\t\t\t
      \    int len, void *arg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_set_session_secret_cb
      Src: /src/hostap/src/crypto/tls_openssl.c:6246,1
    - Dst: SSL_set_session_ticket_ext_cb
      Src: /src/hostap/src/crypto/tls_openssl.c:6249,1
    - Dst: SSL_set_session_secret_cb
      Src: /src/hostap/src/crypto/tls_openssl.c:6252,1
    - Dst: SSL_set_session_ticket_ext_cb
      Src: /src/hostap/src/crypto/tls_openssl.c:6254,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - tls_ctx
    - conn
    - cb
    - ctx
    argTypes:
    - void*
    - struct tls_connection*
    - tls_session_ticket_cb
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6261
      start: 6236
    functionDepth: 0
    functionLinenumber: 6236
    functionLinenumberEnd: 6261
    functionName: tls_connection_set_session_ticket_cb
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 1
    functionsReached:
    - SSL_set_session_secret_cb
    - SSL_set_session_ticket_ext_cb
    linkageType: ''
    returnType: int
    signature: "int tls_connection_set_session_ticket_cb(void *tls_ctx,\n\t\t\t\t\t
      struct tls_connection *conn,\n\t\t\t\t\t tls_session_ticket_cb cb,\n\t\t\t\t\t
      void *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/src/crypto/tls_openssl.c:6267,1
    - Dst: OpenSSL_version
      Src: /src/hostap/src/crypto/tls_openssl.c:6269,1
    - Dst: os_snprintf
      Src: /src/hostap/src/crypto/tls_openssl.c:6271,1
    - Dst: SSLeay_version
      Src: /src/hostap/src/crypto/tls_openssl.c:6273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - buf_len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6275
      start: 6264
    functionDepth: 0
    functionLinenumber: 6264
    functionLinenumberEnd: 6275
    functionName: tls_get_library_version
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 2
    functionsReached:
    - os_snprintf
    - OpenSSL_version
    - SSLeay_version
    linkageType: ''
    returnType: int
    signature: int tls_get_library_version(char *buf, size_t buf_len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_session
      Src: /src/hostap/src/crypto/tls_openssl.c:6287,1
    - Dst: SSL_SESSION_get_ex_data
      Src: /src/hostap/src/crypto/tls_openssl.c:6290,1
    - Dst: get_session_data
      Src: /src/hostap/src/crypto/tls_openssl.c:6294,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:6295,1
    - Dst: dl_list_del
      Src: /src/hostap/src/crypto/tls_openssl.c:6299,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_openssl.c:6300,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/tls_openssl.c:6301,1
    - Dst: os_zalloc
      Src: /src/hostap/src/crypto/tls_openssl.c:6305,1
    - Dst: SSL_SESSION_set_ex_data
      Src: /src/hostap/src/crypto/tls_openssl.c:6307,1
    - Dst: dl_list_add
      Src: /src/hostap/src/crypto/tls_openssl.c:6311,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:6312,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:6318,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/tls_openssl.c:6319,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_openssl.c:6320,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - conn
    - data
    argTypes:
    - struct tls_connection*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6321
      start: 6278
    functionDepth: 1
    functionLinenumber: 6278
    functionLinenumberEnd: 6321
    functionName: tls_connection_set_success_data
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - get_session_data
    - dl_list_del
    - wpabuf_free
    - SSL_SESSION_get_ex_data
    - os_zalloc
    - dl_list_add
    - SSL_SESSION_set_ex_data
    - os_free
    - SSL_get_session
    linkageType: ''
    returnType: void
    signature: "void tls_connection_set_success_data(struct tls_connection *conn,\n\t\t\t\t
      \    struct wpabuf *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:6326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct tls_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6329
      start: 6324
    functionDepth: 0
    functionLinenumber: 6324
    functionLinenumberEnd: 6329
    functionName: tls_connection_set_success_data_resumed
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void tls_connection_set_success_data_resumed(struct tls_connection
      *conn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_session
      Src: /src/hostap/src/crypto/tls_openssl.c:6338,1
    - Dst: SSL_SESSION_get_ex_data
      Src: /src/hostap/src/crypto/tls_openssl.c:6340,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct tls_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6341
      start: 6332
    functionDepth: 0
    functionLinenumber: 6332
    functionLinenumberEnd: 6341
    functionName: tls_connection_get_success_data
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - SSL_SESSION_get_ex_data
    - SSL_get_session
    linkageType: ''
    returnType: struct wpabuf
    signature: 'struct wpabuf *

      tls_connection_get_success_data(struct tls_connection *conn)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_session
      Src: /src/hostap/src/crypto/tls_openssl.c:6348,1
    - Dst: SSL_CTX_remove_session
      Src: /src/hostap/src/crypto/tls_openssl.c:6352,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:6353,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_openssl.c:6356,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct tls_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6358
      start: 6344
    functionDepth: 0
    functionLinenumber: 6344
    functionLinenumberEnd: 6358
    functionName: tls_connection_remove_session
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - SSL_CTX_remove_session
    - SSL_get_session
    linkageType: ''
    returnType: void
    signature: void tls_connection_remove_session(struct tls_connection *conn)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_session_reused
      Src: /src/hostap/src/crypto/tls_openssl.c:6366,1
    - Dst: SSL_get_peer_finished
      Src: /src/hostap/src/crypto/tls_openssl.c:6368,1
    - Dst: SSL_get_finished
      Src: /src/hostap/src/crypto/tls_openssl.c:6370,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - conn
    - buf
    - max_len
    argTypes:
    - struct tls_connection*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6376
      start: 6361
    functionDepth: 0
    functionLinenumber: 6361
    functionLinenumberEnd: 6376
    functionName: tls_get_tls_unique
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 1
    functionsReached:
    - SSL_session_reused
    - SSL_get_finished
    - SSL_get_peer_finished
    linkageType: ''
    returnType: int
    signature: int tls_get_tls_unique(struct tls_connection *conn, u8 *buf, size_t
      max_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_current_cipher
      Src: /src/hostap/src/crypto/tls_openssl.c:6383,1
    - Dst: SSL_CIPHER_get_protocol_id
      Src: /src/hostap/src/crypto/tls_openssl.c:6387,1
    - Dst: SSL_CIPHER_get_id
      Src: /src/hostap/src/crypto/tls_openssl.c:6389,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct tls_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6391
      start: 6379
    functionDepth: 0
    functionLinenumber: 6379
    functionLinenumberEnd: 6391
    functionName: tls_connection_get_cipher_suite
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 1
    functionsReached:
    - SSL_get_current_cipher
    - SSL_CIPHER_get_protocol_id
    - SSL_CIPHER_get_id
    linkageType: ''
    returnType: u16
    signature: u16 tls_connection_get_cipher_suite(struct tls_connection *conn)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct tls_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6399
      start: 6394
    functionDepth: 0
    functionLinenumber: 6394
    functionLinenumberEnd: 6399
    functionName: tls_connection_get_peer_subject
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * tls_connection_get_peer_subject(struct tls_connection *conn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_certificate
      Src: /src/hostap/src/crypto/tls_openssl.c:6405,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct tls_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6407
      start: 6402
    functionDepth: 0
    functionLinenumber: 6402
    functionLinenumberEnd: 6407
    functionName: tls_connection_get_own_cert_used
    functionSourceFile: /src/hostap/src/crypto/tls_openssl.c
    functionUses: 1
    functionsReached:
    - SSL_get_certificate
    linkageType: ''
    returnType: bool
    signature: bool tls_connection_get_own_cert_used(struct tls_connection *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nettle_des_set_key
      Src: /src/hostap/src/crypto/crypto_nettle.c:44,1
    - Dst: nettle_des_encrypt
      Src: /src/hostap/src/crypto/crypto_nettle.c:45,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/crypto_nettle.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - clear
    - key
    - cypher
    argTypes:
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 48
    functionName: des_encrypt
    functionSourceFile: /src/hostap/src/crypto/crypto_nettle.c
    functionUses: 3
    functionsReached:
    - os_memset
    - nettle_des_encrypt
    - nettle_des_set_key
    linkageType: ''
    returnType: int
    signature: int des_encrypt(const u8 *clear, const u8 *key, u8 *cypher)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_nettle.c:57,1
    - Dst: os_malloc
      Src: /src/hostap/src/crypto/crypto_nettle.c:60,1
    - Dst: struct nettle_hash*::init
      Src: /src/hostap/src/crypto/crypto_nettle.c:63,1
    - Dst: struct nettle_hash*::update
      Src: /src/hostap/src/crypto/crypto_nettle.c:65,1
    - Dst: struct nettle_hash*::digest
      Src: /src/hostap/src/crypto/crypto_nettle.c:66,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/crypto/crypto_nettle.c:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - alg
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - struct nettle_hash*
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 69
    functionName: nettle_digest_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_nettle.c
    functionUses: 0
    functionsReached:
    - struct nettle_hash*::update
    - TEST_FAIL
    - struct nettle_hash*::init
    - os_malloc
    - struct nettle_hash*::digest
    - bin_clear_free
    linkageType: ''
    returnType: int
    signature: "int nettle_digest_vector(const struct nettle_hash *alg, size_t num_elem,\n\t\t\t\tconst
      u8 *addr[], const size_t *len, u8 *mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nettle_digest_vector
      Src: /src/hostap/src/crypto/crypto_nettle.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: md4_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_nettle.c
    functionUses: 3
    functionsReached:
    - nettle_digest_vector
    linkageType: ''
    returnType: int
    signature: int md4_vector(size_t num_elem, const u8 *addr[], const size_t *len,
      u8 *mac)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nettle_digest_vector
      Src: /src/hostap/src/crypto/crypto_nettle.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: md5_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_nettle.c
    functionUses: 6
    functionsReached:
    - nettle_digest_vector
    linkageType: ''
    returnType: int
    signature: int md5_vector(size_t num_elem, const u8 *addr[], const size_t *len,
      u8 *mac)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nettle_digest_vector
      Src: /src/hostap/src/crypto/crypto_nettle.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: sha1_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_nettle.c
    functionUses: 19
    functionsReached:
    - nettle_digest_vector
    linkageType: ''
    returnType: int
    signature: int sha1_vector(size_t num_elem, const u8 *addr[], const size_t *len,
      u8 *mac)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nettle_digest_vector
      Src: /src/hostap/src/crypto/crypto_nettle.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: sha256_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_nettle.c
    functionUses: 18
    functionsReached:
    - nettle_digest_vector
    linkageType: ''
    returnType: int
    signature: int sha256_vector(size_t num_elem, const u8 *addr[], const size_t *len,
      u8 *mac)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nettle_digest_vector
      Src: /src/hostap/src/crypto/crypto_nettle.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: sha384_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_nettle.c
    functionUses: 8
    functionsReached:
    - nettle_digest_vector
    linkageType: ''
    returnType: int
    signature: int sha384_vector(size_t num_elem, const u8 *addr[], const size_t *len,
      u8 *mac)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nettle_digest_vector
      Src: /src/hostap/src/crypto/crypto_nettle.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: sha512_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_nettle.c
    functionUses: 7
    functionsReached:
    - nettle_digest_vector
    linkageType: ''
    returnType: int
    signature: int sha512_vector(size_t num_elem, const u8 *addr[], const size_t *len,
      u8 *mac)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_nettle.c:114,1
    - Dst: hmac_md5_set_key
      Src: /src/hostap/src/crypto/crypto_nettle.c:117,1
    - Dst: hmac_md5_update
      Src: /src/hostap/src/crypto/crypto_nettle.c:119,1
    - Dst: hmac_md5_digest
      Src: /src/hostap/src/crypto/crypto_nettle.c:120,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/crypto_nettle.c:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 6
    argNames:
    - key
    - key_len
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - u8*
    - size_t
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 123
    functionName: hmac_md5_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_nettle.c
    functionUses: 4
    functionsReached:
    - hmac_md5_digest
    - TEST_FAIL
    - hmac_md5_set_key
    - hmac_md5_update
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int hmac_md5_vector(const u8 *key, size_t key_len, size_t num_elem,\n\t\t
      \   const u8 *addr[], const size_t *len, u8 *mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_md5_vector
      Src: /src/hostap/src/crypto/crypto_nettle.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - key
    - key_len
    - data
    - data_len
    - mac
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: hmac_md5
    functionSourceFile: /src/hostap/src/crypto/crypto_nettle.c
    functionUses: 1
    functionsReached:
    - hmac_md5_vector
    linkageType: ''
    returnType: int
    signature: "int hmac_md5(const u8 *key, size_t key_len, const u8 *data, size_t
      data_len,\n\t     u8 *mac)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_nettle.c:139,1
    - Dst: hmac_sha1_set_key
      Src: /src/hostap/src/crypto/crypto_nettle.c:142,1
    - Dst: hmac_sha1_update
      Src: /src/hostap/src/crypto/crypto_nettle.c:144,1
    - Dst: hmac_sha1_digest
      Src: /src/hostap/src/crypto/crypto_nettle.c:145,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/crypto_nettle.c:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 6
    argNames:
    - key
    - key_len
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - u8*
    - size_t
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 148
    functionName: hmac_sha1_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_nettle.c
    functionUses: 8
    functionsReached:
    - TEST_FAIL
    - hmac_sha1_update
    - hmac_sha1_set_key
    - hmac_sha1_digest
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int hmac_sha1_vector(const u8 *key, size_t key_len, size_t num_elem,\n\t\t
      \    const u8 *addr[], const size_t *len, u8 *mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_sha1_vector
      Src: /src/hostap/src/crypto/crypto_nettle.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - key
    - key_len
    - data
    - data_len
    - mac
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 155
    functionName: hmac_sha1
    functionSourceFile: /src/hostap/src/crypto/crypto_nettle.c
    functionUses: 7
    functionsReached:
    - hmac_sha1_vector
    linkageType: ''
    returnType: int
    signature: "int hmac_sha1(const u8 *key, size_t key_len, const u8 *data, size_t
      data_len,\n\t       u8 *mac)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_nettle.c:166,1
    - Dst: hmac_sha256_set_key
      Src: /src/hostap/src/crypto/crypto_nettle.c:169,1
    - Dst: hmac_sha256_update
      Src: /src/hostap/src/crypto/crypto_nettle.c:171,1
    - Dst: hmac_sha256_digest
      Src: /src/hostap/src/crypto/crypto_nettle.c:172,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/crypto_nettle.c:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 6
    argNames:
    - key
    - key_len
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - u8*
    - size_t
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 175
    functionName: hmac_sha256_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_nettle.c
    functionUses: 8
    functionsReached:
    - TEST_FAIL
    - hmac_sha256_digest
    - hmac_sha256_update
    - hmac_sha256_set_key
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int hmac_sha256_vector(const u8 *key, size_t key_len, size_t num_elem,\n\t\t
      \      const u8 *addr[], const size_t *len, u8 *mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_sha256_vector
      Src: /src/hostap/src/crypto/crypto_nettle.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - key
    - key_len
    - data
    - data_len
    - mac
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 182
    functionName: hmac_sha256
    functionSourceFile: /src/hostap/src/crypto/crypto_nettle.c
    functionUses: 7
    functionsReached:
    - hmac_sha256_vector
    linkageType: ''
    returnType: int
    signature: "int hmac_sha256(const u8 *key, size_t key_len, const u8 *data,\n\t\tsize_t
      data_len, u8 *mac)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_nettle.c:195,1
    - Dst: hmac_sha384_set_key
      Src: /src/hostap/src/crypto/crypto_nettle.c:198,1
    - Dst: hmac_sha384_update
      Src: /src/hostap/src/crypto/crypto_nettle.c:200,1
    - Dst: hmac_sha384_digest
      Src: /src/hostap/src/crypto/crypto_nettle.c:201,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/crypto_nettle.c:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 6
    argNames:
    - key
    - key_len
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - u8*
    - size_t
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 204
    functionName: hmac_sha384_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_nettle.c
    functionUses: 7
    functionsReached:
    - TEST_FAIL
    - hmac_sha384_digest
    - hmac_sha384_update
    - hmac_sha384_set_key
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int hmac_sha384_vector(const u8 *key, size_t key_len, size_t num_elem,\n\t\t
      \      const u8 *addr[], const size_t *len, u8 *mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_sha384_vector
      Src: /src/hostap/src/crypto/crypto_nettle.c:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - key
    - key_len
    - data
    - data_len
    - mac
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 211
    functionName: hmac_sha384
    functionSourceFile: /src/hostap/src/crypto/crypto_nettle.c
    functionUses: 3
    functionsReached:
    - hmac_sha384_vector
    linkageType: ''
    returnType: int
    signature: "int hmac_sha384(const u8 *key, size_t key_len, const u8 *data,\n\t\tsize_t
      data_len, u8 *mac)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_nettle.c:224,1
    - Dst: hmac_sha512_set_key
      Src: /src/hostap/src/crypto/crypto_nettle.c:227,1
    - Dst: hmac_sha512_update
      Src: /src/hostap/src/crypto/crypto_nettle.c:229,1
    - Dst: hmac_sha512_digest
      Src: /src/hostap/src/crypto/crypto_nettle.c:230,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/crypto_nettle.c:231,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 6
    argNames:
    - key
    - key_len
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - u8*
    - size_t
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 233
    functionName: hmac_sha512_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_nettle.c
    functionUses: 5
    functionsReached:
    - TEST_FAIL
    - hmac_sha512_digest
    - hmac_sha512_update
    - hmac_sha512_set_key
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int hmac_sha512_vector(const u8 *key, size_t key_len, size_t num_elem,\n\t\t
      \      const u8 *addr[], const size_t *len, u8 *mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_sha512_vector
      Src: /src/hostap/src/crypto/crypto_nettle.c:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - key
    - key_len
    - data
    - data_len
    - mac
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 240
    functionName: hmac_sha512
    functionSourceFile: /src/hostap/src/crypto/crypto_nettle.c
    functionUses: 0
    functionsReached:
    - hmac_sha512_vector
    linkageType: ''
    returnType: int
    signature: "int hmac_sha512(const u8 *key, size_t key_len, const u8 *data,\n\t\tsize_t
      data_len, u8 *mac)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_nettle.c:249,1
    - Dst: os_malloc
      Src: /src/hostap/src/crypto/crypto_nettle.c:251,1
    - Dst: nettle_aes_set_encrypt_key
      Src: /src/hostap/src/crypto/crypto_nettle.c:255,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - key
    - len
    argTypes:
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 258
    functionName: aes_encrypt_init
    functionSourceFile: /src/hostap/src/crypto/crypto_nettle.c
    functionUses: 10
    functionsReached:
    - TEST_FAIL
    - os_malloc
    - nettle_aes_set_encrypt_key
    linkageType: ''
    returnType: void
    signature: void * aes_encrypt_init(const u8 *key, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nettle_aes_encrypt
      Src: /src/hostap/src/crypto/crypto_nettle.c:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - plain
    - crypt
    argTypes:
    - void*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 266
    functionName: aes_encrypt
    functionSourceFile: /src/hostap/src/crypto/crypto_nettle.c
    functionUses: 15
    functionsReached:
    - nettle_aes_encrypt
    linkageType: ''
    returnType: int
    signature: int aes_encrypt(void *ctx, const u8 *plain, u8 *crypt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bin_clear_free
      Src: /src/hostap/src/crypto/crypto_nettle.c:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 273
    functionName: aes_encrypt_deinit
    functionSourceFile: /src/hostap/src/crypto/crypto_nettle.c
    functionUses: 12
    functionsReached:
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: void aes_encrypt_deinit(void *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_nettle.c:280,1
    - Dst: os_malloc
      Src: /src/hostap/src/crypto/crypto_nettle.c:282,1
    - Dst: nettle_aes_set_decrypt_key
      Src: /src/hostap/src/crypto/crypto_nettle.c:286,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - key
    - len
    argTypes:
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 289
    functionName: aes_decrypt_init
    functionSourceFile: /src/hostap/src/crypto/crypto_nettle.c
    functionUses: 3
    functionsReached:
    - nettle_aes_set_decrypt_key
    - TEST_FAIL
    - os_malloc
    linkageType: ''
    returnType: void
    signature: void * aes_decrypt_init(const u8 *key, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nettle_aes_decrypt
      Src: /src/hostap/src/crypto/crypto_nettle.c:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - crypt
    - plain
    argTypes:
    - void*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 297
    functionName: aes_decrypt
    functionSourceFile: /src/hostap/src/crypto/crypto_nettle.c
    functionUses: 4
    functionsReached:
    - nettle_aes_decrypt
    linkageType: ''
    returnType: int
    signature: int aes_decrypt(void *ctx, const u8 *crypt, u8 *plain)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bin_clear_free
      Src: /src/hostap/src/crypto/crypto_nettle.c:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 304
    functionName: aes_decrypt_deinit
    functionSourceFile: /src/hostap/src/crypto/crypto_nettle.c
    functionUses: 3
    functionsReached:
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: void aes_decrypt_deinit(void *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_get_random
      Src: /src/hostap/src/crypto/crypto_nettle.c:312,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/crypto_nettle.c:314,1
    - Dst: crypto_mod_exp
      Src: /src/hostap/src/crypto/crypto_nettle.c:320,1
    - Dst: os_memmove
      Src: /src/hostap/src/crypto/crypto_nettle.c:325,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/crypto_nettle.c:326,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 5
    argNames:
    - generator
    - prime
    - prime_len
    - privkey
    - pubkey
    argTypes:
    - u8
    - u8*
    - size_t
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 330
    functionName: crypto_dh_init
    functionSourceFile: /src/hostap/src/crypto/crypto_nettle.c
    functionUses: 0
    functionsReached:
    - os_get_random
    - os_memmove
    - os_memcmp
    - crypto_mod_exp
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int crypto_dh_init(u8 generator, const u8 *prime, size_t prime_len,
      u8 *privkey,\n\t\t   u8 *pubkey)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/crypto_nettle.c:344,1
    - Dst: mpz_init
      Src: /src/hostap/src/crypto/crypto_nettle.c:347,1
    - Dst: mpz_import
      Src: /src/hostap/src/crypto/crypto_nettle.c:348,1
    - Dst: mpz_cmp_d
      Src: /src/hostap/src/crypto/crypto_nettle.c:349,1
    - Dst: mpz_inits
      Src: /src/hostap/src/crypto/crypto_nettle.c:357,1
    - Dst: mpz_import
      Src: /src/hostap/src/crypto/crypto_nettle.c:358,1
    - Dst: mpz_import
      Src: /src/hostap/src/crypto/crypto_nettle.c:359,1
    - Dst: mpz_powm
      Src: /src/hostap/src/crypto/crypto_nettle.c:360,1
    - Dst: mpz_cmp_d
      Src: /src/hostap/src/crypto/crypto_nettle.c:361,1
    - Dst: mpz_clears
      Src: /src/hostap/src/crypto/crypto_nettle.c:362,1
    - Dst: crypto_mod_exp
      Src: /src/hostap/src/crypto/crypto_nettle.c:367,1
    - Dst: mpz_clear
      Src: /src/hostap/src/crypto/crypto_nettle.c:370,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 11
    argNames:
    - generator
    - prime
    - prime_len
    - order
    - order_len
    - privkey
    - privkey_len
    - pubkey
    - pubkey_len
    - secret
    - len
    argTypes:
    - u8
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 372
    functionName: crypto_dh_derive_secret
    functionSourceFile: /src/hostap/src/crypto/crypto_nettle.c
    functionUses: 0
    functionsReached:
    - mpz_inits
    - mpz_clears
    - mpz_clear
    - mpz_init
    - mpz_import
    - os_memcmp
    - mpz_powm
    - mpz_cmp_d
    - crypto_mod_exp
    linkageType: ''
    returnType: int
    signature: "int crypto_dh_derive_secret(u8 generator, const u8 *prime, size_t
      prime_len,\n\t\t\t    const u8 *order, size_t order_len,\n\t\t\t    const u8
      *privkey, size_t privkey_len,\n\t\t\t    const u8 *pubkey, size_t pubkey_len,\n\t\t\t
      \   u8 *secret, size_t *len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mpz_inits
      Src: /src/hostap/src/crypto/crypto_nettle.c:384,1
    - Dst: mpz_import
      Src: /src/hostap/src/crypto/crypto_nettle.c:385,1
    - Dst: mpz_import
      Src: /src/hostap/src/crypto/crypto_nettle.c:386,1
    - Dst: mpz_import
      Src: /src/hostap/src/crypto/crypto_nettle.c:387,1
    - Dst: mpz_powm
      Src: /src/hostap/src/crypto/crypto_nettle.c:389,1
    - Dst: mpz_sizeinbase
      Src: /src/hostap/src/crypto/crypto_nettle.c:390,1
    - Dst: mpz_export
      Src: /src/hostap/src/crypto/crypto_nettle.c:394,1
    - Dst: mpz_clears
      Src: /src/hostap/src/crypto/crypto_nettle.c:398,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 8
    argNames:
    - base
    - base_len
    - power
    - power_len
    - modulus
    - modulus_len
    - result
    - result_len
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 400
    functionName: crypto_mod_exp
    functionSourceFile: /src/hostap/src/crypto/crypto_nettle.c
    functionUses: 8
    functionsReached:
    - mpz_inits
    - mpz_export
    - mpz_clears
    - mpz_sizeinbase
    - mpz_import
    - mpz_powm
    linkageType: ''
    returnType: int
    signature: "int crypto_mod_exp(const u8 *base, size_t base_len,\n\t\t   const
      u8 *power, size_t power_len,\n\t\t   const u8 *modulus, size_t modulus_len,\n\t\t
      \  u8 *result, size_t *result_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/crypto/crypto_nettle.c:417,1
    - Dst: nettle_arcfour_set_key
      Src: /src/hostap/src/crypto/crypto_nettle.c:425,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_nettle.c:428,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - alg
    - iv
    - key
    - key_len
    argTypes:
    - enum crypto_cipher_alg
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 433
    functionName: crypto_cipher_init
    functionSourceFile: /src/hostap/src/crypto/crypto_nettle.c
    functionUses: 0
    functionsReached:
    - os_free
    - os_zalloc
    - nettle_arcfour_set_key
    linkageType: ''
    returnType: struct crypto_cipher
    signature: "struct crypto_cipher * crypto_cipher_init(enum crypto_cipher_alg alg,\n\t\t\t\t\t
      \ const u8 *iv, const u8 *key,\n\t\t\t\t\t  size_t key_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nettle_arcfour_crypt
      Src: /src/hostap/src/crypto/crypto_nettle.c:441,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - ctx
    - plain
    - crypt
    - len
    argTypes:
    - struct crypto_cipher*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 448
    functionName: crypto_cipher_encrypt
    functionSourceFile: /src/hostap/src/crypto/crypto_nettle.c
    functionUses: 0
    functionsReached:
    - nettle_arcfour_crypt
    linkageType: ''
    returnType: int
    signature: "int crypto_cipher_encrypt(struct crypto_cipher *ctx, const u8 *plain,\n\t\t\t
      \ u8 *crypt, size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nettle_arcfour_crypt
      Src: /src/hostap/src/crypto/crypto_nettle.c:456,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - ctx
    - crypt
    - plain
    - len
    argTypes:
    - struct crypto_cipher*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 463
    functionName: crypto_cipher_decrypt
    functionSourceFile: /src/hostap/src/crypto/crypto_nettle.c
    functionUses: 0
    functionsReached:
    - nettle_arcfour_crypt
    linkageType: ''
    returnType: int
    signature: "int crypto_cipher_decrypt(struct crypto_cipher *ctx, const u8 *crypt,\n\t\t\t
      \ u8 *plain, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bin_clear_free
      Src: /src/hostap/src/crypto/crypto_nettle.c:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct crypto_cipher*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 466
    functionDepth: 1
    functionLinenumber: 466
    functionLinenumberEnd: 469
    functionName: crypto_cipher_deinit
    functionSourceFile: /src/hostap/src/crypto/crypto_nettle.c
    functionUses: 0
    functionsReached:
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: void crypto_cipher_deinit(struct crypto_cipher *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 474
    functionName: crypto_unload
    functionSourceFile: /src/hostap/src/crypto/crypto_nettle.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void crypto_unload(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/crypto/tls_wolfssl.c:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - conf
    argTypes:
    - struct tls_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 125
    functionName: tls_context_new
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 1
    functionsReached:
    - os_zalloc
    linkageType: ''
    returnType: struct tls_context
    signature: struct tls_context * tls_context_new(const struct tls_config *conf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_wolfssl.c:131,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_wolfssl.c:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct tls_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 134
    functionName: tls_context_free
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 0
    functionsReached:
    - os_free
    linkageType: ''
    returnType: void
    signature: void tls_context_free(struct tls_context *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wolfSSL_CTX_get_ex_data
      Src: /src/hostap/src/crypto/tls_wolfssl.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ssl_ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 141
    functionName: ssl_ctx_get_tls_context
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 0
    functionsReached:
    - wolfSSL_CTX_get_ex_data
    linkageType: ''
    returnType: struct tls_context
    signature: struct tls_context * ssl_ctx_get_tls_context(void *ssl_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - in
    - buf
    argTypes:
    - struct tls_in_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 150
    functionName: wolfssl_reset_in_data
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wolfssl_reset_in_data(struct tls_in_data *in,\n\t\t\t\t  const
      struct wpabuf *buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/crypto/tls_wolfssl.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - out
    argTypes:
    - struct tls_out_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 157
    functionName: wolfssl_reset_out_data
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 0
    functionsReached:
    - wpabuf_alloc_copy
    linkageType: ''
    returnType: void
    signature: void wolfssl_reset_out_data(struct tls_out_data *out)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/tls_wolfssl.c:172,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/tls_wolfssl.c:173,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/tls_wolfssl.c:175,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/crypto/tls_wolfssl.c:175,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - ssl
    - buf
    - sz
    - ctx
    argTypes:
    - WOLFSSL*
    - char*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 182
    functionName: wolfssl_receive_cb
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 0
    functionsReached:
    - wpabuf_len
    - os_memcpy
    - wpabuf_head_u8
    linkageType: ''
    returnType: int
    signature: int wolfssl_receive_cb(WOLFSSL *ssl, char *buf, int sz, void *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:194,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/crypto/tls_wolfssl.c:196,1
    - Dst: wpabuf_concat
      Src: /src/hostap/src/crypto/tls_wolfssl.c:199,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - ssl
    - buf
    - sz
    - ctx
    argTypes:
    - WOLFSSL*
    - char*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 204
    functionName: wolfssl_send_cb
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_alloc_copy
    - wpabuf_concat
    linkageType: ''
    returnType: int
    signature: int wolfssl_send_cb(WOLFSSL *ssl, char *buf, int sz, void *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wolfSSL_SESSION_get_ex_data
      Src: /src/hostap/src/crypto/tls_wolfssl.c:211,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:214,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/tls_wolfssl.c:217,1
    - Dst: wolfSSL_SESSION_set_ex_data
      Src: /src/hostap/src/crypto/tls_wolfssl.c:219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - sess
    argTypes:
    - WOLFSSL_CTX*
    - WOLFSSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 220
    functionName: remove_session_cb
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 0
    functionsReached:
    - wpabuf_free
    - wpa_printf
    - wolfSSL_SESSION_get_ex_data
    - wolfSSL_SESSION_set_ex_data
    linkageType: ''
    returnType: void
    signature: void remove_session_cb(WOLFSSL_CTX *ctx, WOLFSSL_SESSION *sess)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:226,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:229,1
    - Dst: wc_GetErrorString
      Src: /src/hostap/src/crypto/tls_wolfssl.c:229,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:230,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:232,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ok
    - err
    - hash
    argTypes:
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 236
    functionName: wcFipsCb
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wc_GetErrorString
    linkageType: ''
    returnType: void
    signature: void wcFipsCb(int ok, int err, const char *hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - log_level
    - log_message
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 246
    functionName: wolfSSL_logging_cb
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: "void wolfSSL_logging_cb(const int log_level,\n\t\t\t       const char
      * const log_message)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/src/crypto/tls_wolfssl.c:287,1
    - Dst: os_strcmp
      Src: /src/hostap/src/crypto/tls_wolfssl.c:298,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:325,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:327,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:329,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:331,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:333,1
    - Dst: wolfSSL_CTX_set_cipher_list
      Src: /src/hostap/src/crypto/tls_wolfssl.c:337,1
    - Dst: wolfSSL_set_cipher_list
      Src: /src/hostap/src/crypto/tls_wolfssl.c:338,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:339,1
    - Dst: wolfSSL_CTX_set1_sigalgs_list
      Src: /src/hostap/src/crypto/tls_wolfssl.c:348,1
    - Dst: wolfSSL_set1_sigalgs_list
      Src: /src/hostap/src/crypto/tls_wolfssl.c:349,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:350,1
    - Dst: wolfSSL_CTX_SetMinRsaKey_Sz
      Src: /src/hostap/src/crypto/tls_wolfssl.c:359,1
    - Dst: wolfSSL_SetMinRsaKey_Sz
      Src: /src/hostap/src/crypto/tls_wolfssl.c:360,1
    - Dst: wolfSSL_CTX_SetMinDhKey_Sz
      Src: /src/hostap/src/crypto/tls_wolfssl.c:362,1
    - Dst: wolfSSL_SetMinDhKey_Sz
      Src: /src/hostap/src/crypto/tls_wolfssl.c:363,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:364,1
    - Dst: wolfSSL_CTX_SetMinEccKey_Sz
      Src: /src/hostap/src/crypto/tls_wolfssl.c:372,1
    - Dst: wolfSSL_SetMinEccKey_Sz
      Src: /src/hostap/src/crypto/tls_wolfssl.c:373,1
    - Dst: wolfSSL_CTX_SetTmpEC_DHE_Sz
      Src: /src/hostap/src/crypto/tls_wolfssl.c:375,1
    - Dst: wolfSSL_SetTmpEC_DHE_Sz
      Src: /src/hostap/src/crypto/tls_wolfssl.c:378,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:379,1
    - Dst: wolfSSL_CTX_set1_curves_list
      Src: /src/hostap/src/crypto/tls_wolfssl.c:387,1
    - Dst: wolfSSL_set1_curves_list
      Src: /src/hostap/src/crypto/tls_wolfssl.c:388,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:389,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 74
    argCount: 4
    argNames:
    - ssl_ctx
    - ssl
    - openssl_ciphers
    - flags
    argTypes:
    - WOLFSSL_CTX*
    - WOLFSSL*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 395
    functionName: handle_ciphersuites
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 0
    functionsReached:
    - wolfSSL_CTX_set_cipher_list
    - wpa_printf
    - wolfSSL_CTX_SetTmpEC_DHE_Sz
    - wolfSSL_CTX_SetMinRsaKey_Sz
    - wolfSSL_SetMinDhKey_Sz
    - wolfSSL_CTX_SetMinDhKey_Sz
    - wolfSSL_set1_sigalgs_list
    - wolfSSL_CTX_set1_sigalgs_list
    - wolfSSL_SetMinEccKey_Sz
    - wolfSSL_SetMinRsaKey_Sz
    - wolfSSL_set1_curves_list
    - wolfSSL_CTX_set1_curves_list
    - wolfSSL_CTX_SetMinEccKey_Sz
    - wolfSSL_set_cipher_list
    - os_strcmp
    - wolfSSL_SetTmpEC_DHE_Sz
    linkageType: ''
    returnType: int
    signature: "int handle_ciphersuites(WOLFSSL_CTX *ssl_ctx, WOLFSSL *ssl,\n\t\t\t
      \      const char *openssl_ciphers, unsigned int flags)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wolfSSL_SetLoggingCb
      Src: /src/hostap/src/crypto/tls_wolfssl.c:404,1
    - Dst: wolfSSL_Debugging_ON
      Src: /src/hostap/src/crypto/tls_wolfssl.c:405,1
    - Dst: tls_context_new
      Src: /src/hostap/src/crypto/tls_wolfssl.c:408,1
    - Dst: wolfSSL_Init
      Src: /src/hostap/src/crypto/tls_wolfssl.c:415,1
    - Dst: wolfCrypt_SetCb_fips
      Src: /src/hostap/src/crypto/tls_wolfssl.c:418,1
    - Dst: wolfSSL_CTX_new
      Src: /src/hostap/src/crypto/tls_wolfssl.c:425,1
    - Dst: wolfSSLv23_client_method
      Src: /src/hostap/src/crypto/tls_wolfssl.c:425,1
    - Dst: tls_context_free
      Src: /src/hostap/src/crypto/tls_wolfssl.c:429,1
    - Dst: tls_context_free
      Src: /src/hostap/src/crypto/tls_wolfssl.c:431,1
    - Dst: wolfSSL_SetIORecv
      Src: /src/hostap/src/crypto/tls_wolfssl.c:436,1
    - Dst: wolfSSL_SetIOSend
      Src: /src/hostap/src/crypto/tls_wolfssl.c:437,1
    - Dst: wolfSSL_CTX_set_ex_data
      Src: /src/hostap/src/crypto/tls_wolfssl.c:439,1
    - Dst: wolfSSL_CTX_set_session_id_context
      Src: /src/hostap/src/crypto/tls_wolfssl.c:442,1
    - Dst: wolfSSL_CTX_set_quiet_shutdown
      Src: /src/hostap/src/crypto/tls_wolfssl.c:445,1
    - Dst: wolfSSL_CTX_set_session_cache_mode
      Src: /src/hostap/src/crypto/tls_wolfssl.c:446,1
    - Dst: wolfSSL_CTX_set_timeout
      Src: /src/hostap/src/crypto/tls_wolfssl.c:448,1
    - Dst: wolfSSL_CTX_sess_set_remove_cb
      Src: /src/hostap/src/crypto/tls_wolfssl.c:449,1
    - Dst: wolfSSL_CTX_set_session_cache_mode
      Src: /src/hostap/src/crypto/tls_wolfssl.c:451,1
    - Dst: handle_ciphersuites
      Src: /src/hostap/src/crypto/tls_wolfssl.c:455,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:457,1
    - Dst: tls_deinit
      Src: /src/hostap/src/crypto/tls_wolfssl.c:458,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 1
    argNames:
    - conf
    argTypes:
    - struct tls_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 464
    functionName: tls_init
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 6
    functionsReached:
    - handle_ciphersuites
    - wolfSSL_Init
    - wolfSSL_CTX_set_ex_data
    - wolfSSL_CTX_set_session_id_context
    - wolfSSL_CTX_set_quiet_shutdown
    - wpa_printf
    - wolfCrypt_SetCb_fips
    - wolfSSL_CTX_new
    - wolfSSL_SetIORecv
    - tls_deinit
    - wolfSSLv23_client_method
    - wolfSSL_CTX_set_timeout
    - tls_context_free
    - wolfSSL_Debugging_ON
    - wolfSSL_CTX_sess_set_remove_cb
    - tls_context_new
    - wolfSSL_SetLoggingCb
    - wolfSSL_CTX_set_session_cache_mode
    - wolfSSL_SetIOSend
    linkageType: ''
    returnType: void
    signature: void * tls_init(const struct tls_config *conf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ssl_ctx_get_tls_context
      Src: /src/hostap/src/crypto/tls_wolfssl.c:472,1
    - Dst: tls_context_free
      Src: /src/hostap/src/crypto/tls_wolfssl.c:474,1
    - Dst: wolfSSL_CTX_free
      Src: /src/hostap/src/crypto/tls_wolfssl.c:476,1
    - Dst: wolfSSL_Cleanup
      Src: /src/hostap/src/crypto/tls_wolfssl.c:480,1
    - Dst: tls_context_free
      Src: /src/hostap/src/crypto/tls_wolfssl.c:481,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ssl_ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 484
    functionName: tls_deinit
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 13
    functionsReached:
    - ssl_ctx_get_tls_context
    - wolfSSL_CTX_free
    - wolfSSL_Cleanup
    - tls_context_free
    linkageType: ''
    returnType: void
    signature: void tls_deinit(void *ssl_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wolfSSL_ERR_peek_last_error_line
      Src: /src/hostap/src/crypto/tls_wolfssl.c:493,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:495,1
    - Dst: wolfSSL_ERR_error_string
      Src: /src/hostap/src/crypto/tls_wolfssl.c:496,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - tls_ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 502
    functionName: tls_get_errors
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 4
    functionsReached:
    - wolfSSL_ERR_error_string
    - wpa_printf
    - wolfSSL_ERR_peek_last_error_line
    linkageType: ''
    returnType: int
    signature: int tls_get_errors(void *tls_ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:510,1
    - Dst: os_zalloc
      Src: /src/hostap/src/crypto/tls_wolfssl.c:512,1
    - Dst: wolfSSL_new
      Src: /src/hostap/src/crypto/tls_wolfssl.c:515,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_wolfssl.c:517,1
    - Dst: wolfSSL_SetIOReadCtx
      Src: /src/hostap/src/crypto/tls_wolfssl.c:521,1
    - Dst: wolfSSL_SetIOWriteCtx
      Src: /src/hostap/src/crypto/tls_wolfssl.c:522,1
    - Dst: wolfSSL_set_ex_data
      Src: /src/hostap/src/crypto/tls_wolfssl.c:523,1
    - Dst: ssl_ctx_get_tls_context
      Src: /src/hostap/src/crypto/tls_wolfssl.c:524,1
    - Dst: wolfSSL_KeepArrays
      Src: /src/hostap/src/crypto/tls_wolfssl.c:528,1
    - Dst: wolfSSL_KeepHandshakeResources
      Src: /src/hostap/src/crypto/tls_wolfssl.c:529,1
    - Dst: wolfSSL_UseClientSuites
      Src: /src/hostap/src/crypto/tls_wolfssl.c:530,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - tls_ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 533
    functionName: tls_connection_init
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 5
    functionsReached:
    - ssl_ctx_get_tls_context
    - wpa_printf
    - wolfSSL_SetIOReadCtx
    - wolfSSL_KeepHandshakeResources
    - wolfSSL_SetIOWriteCtx
    - os_zalloc
    - wolfSSL_KeepArrays
    - wolfSSL_set_ex_data
    - os_free
    - wolfSSL_new
    - wolfSSL_UseClientSuites
    linkageType: ''
    returnType: struct tls_connection
    signature: struct tls_connection * tls_connection_init(void *tls_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:541,1
    - Dst: wolfSSL_free
      Src: /src/hostap/src/crypto/tls_wolfssl.c:544,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_wolfssl.c:545,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_wolfssl.c:546,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_wolfssl.c:547,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_wolfssl.c:548,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_wolfssl.c:549,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_wolfssl.c:550,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_wolfssl.c:553,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - tls_ctx
    - conn
    argTypes:
    - void*
    - struct tls_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 554
    functionName: tls_connection_deinit
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 6
    functionsReached:
    - os_free
    - wpa_printf
    - wolfSSL_free
    linkageType: ''
    returnType: void
    signature: void tls_connection_deinit(void *tls_ctx, struct tls_connection *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wolfSSL_is_init_finished
      Src: /src/hostap/src/crypto/tls_wolfssl.c:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tls_ctx
    - conn
    argTypes:
    - void*
    - struct tls_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 560
    functionName: tls_connection_established
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 17
    functionsReached:
    - wolfSSL_is_init_finished
    linkageType: ''
    returnType: int
    signature: int tls_connection_established(void *tls_ctx, struct tls_connection
      *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tls_ctx
    - conn
    argTypes:
    - void*
    - struct tls_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 568
    functionName: tls_connection_peer_serial_num
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char * tls_connection_peer_serial_num(void *tls_ctx,\n\t\t\t\t      struct
      tls_connection *conn)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:578,1
    - Dst: wolfSSL_set_quiet_shutdown
      Src: /src/hostap/src/crypto/tls_wolfssl.c:581,1
    - Dst: wolfSSL_shutdown
      Src: /src/hostap/src/crypto/tls_wolfssl.c:582,1
    - Dst: wolfSSL_get1_session
      Src: /src/hostap/src/crypto/tls_wolfssl.c:584,1
    - Dst: wolfSSL_clear
      Src: /src/hostap/src/crypto/tls_wolfssl.c:585,1
    - Dst: wolfSSL_SESSION_free
      Src: /src/hostap/src/crypto/tls_wolfssl.c:586,1
    - Dst: wolfSSL_set_session
      Src: /src/hostap/src/crypto/tls_wolfssl.c:589,1
    - Dst: wolfSSL_SESSION_free
      Src: /src/hostap/src/crypto/tls_wolfssl.c:590,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - tls_ctx
    - conn
    argTypes:
    - void*
    - struct tls_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 593
    functionName: tls_connection_shutdown
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - wolfSSL_set_session
    - wolfSSL_shutdown
    - wolfSSL_SESSION_free
    - wolfSSL_set_quiet_shutdown
    - wolfSSL_clear
    - wolfSSL_get1_session
    linkageType: ''
    returnType: int
    signature: int tls_connection_shutdown(void *tls_ctx, struct tls_connection *conn)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_wolfssl.c:603,1
    - Dst: os_strdup
      Src: /src/hostap/src/crypto/tls_wolfssl.c:606,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_wolfssl.c:611,1
    - Dst: os_strdup
      Src: /src/hostap/src/crypto/tls_wolfssl.c:614,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_wolfssl.c:619,1
    - Dst: os_strdup
      Src: /src/hostap/src/crypto/tls_wolfssl.c:622,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_wolfssl.c:627,1
    - Dst: os_strdup
      Src: /src/hostap/src/crypto/tls_wolfssl.c:630,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_wolfssl.c:635,1
    - Dst: os_strdup
      Src: /src/hostap/src/crypto/tls_wolfssl.c:638,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 6
    argNames:
    - conn
    - subject_match
    - alt_subject_match
    - suffix_match
    - domain_match
    - check_cert_subject
    argTypes:
    - struct tls_connection*
    - char*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 644
    functionName: tls_connection_set_subject_match
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 1
    functionsReached:
    - os_free
    - os_strdup
    linkageType: ''
    returnType: int
    signature: "int tls_connection_set_subject_match(struct tls_connection *conn,\n\t\t\t\t\t
      \   const char *subject_match,\n\t\t\t\t\t    const char *alt_subject_match,\n\t\t\t\t\t
      \   const char *suffix_match,\n\t\t\t\t\t    const char *domain_match,\n\t\t\t\t\t
      \   const char *check_cert_subject)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wolfSSL_use_certificate_chain_buffer_format
      Src: /src/hostap/src/crypto/tls_wolfssl.c:656,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:659,1
    - Dst: wolfSSL_use_certificate_chain_buffer_format
      Src: /src/hostap/src/crypto/tls_wolfssl.c:661,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:664,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:669,1
    - Dst: wolfSSL_use_certificate_chain_file
      Src: /src/hostap/src/crypto/tls_wolfssl.c:674,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:676,1
    - Dst: wolfSSL_use_certificate_chain_file_format
      Src: /src/hostap/src/crypto/tls_wolfssl.c:678,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:681,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:686,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 4
    argNames:
    - conn
    - client_cert
    - client_cert_blob
    - blob_len
    argTypes:
    - struct tls_connection*
    - char*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 691
    functionName: tls_connection_client_cert
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 1
    functionsReached:
    - wolfSSL_use_certificate_chain_file
    - wolfSSL_use_certificate_chain_buffer_format
    - wpa_printf
    - wolfSSL_use_certificate_chain_file_format
    linkageType: ''
    returnType: int
    signature: "int tls_connection_client_cert(struct tls_connection *conn,\n\t\t\t\t
      \     const char *client_cert,\n\t\t\t\t      const u8 *client_cert_blob,\n\t\t\t\t
      \     size_t blob_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_strlcpy
      Src: /src/hostap/src/crypto/tls_wolfssl.c:698,1
    - Dst: os_strlen
      Src: /src/hostap/src/crypto/tls_wolfssl.c:699,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - buf
    - size
    - rwflag
    - password
    argTypes:
    - char*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 700
    functionName: tls_passwd_cb
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_strlcpy
    linkageType: ''
    returnType: int
    signature: int tls_passwd_cb(char *buf, int size, int rwflag, void *password)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: os_strdup
      Src: /src/hostap/src/crypto/tls_wolfssl.c:718,1
    - Dst: wolfSSL_CTX_set_default_passwd_cb
      Src: /src/hostap/src/crypto/tls_wolfssl.c:723,1
    - Dst: wolfSSL_CTX_set_default_passwd_cb_userdata
      Src: /src/hostap/src/crypto/tls_wolfssl.c:724,1
    - Dst: wolfSSL_use_PrivateKey_buffer
      Src: /src/hostap/src/crypto/tls_wolfssl.c:727,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:731,1
    - Dst: wolfSSL_use_PrivateKey_buffer
      Src: /src/hostap/src/crypto/tls_wolfssl.c:733,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:737,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:746,1
    - Dst: wolfSSL_use_PrivateKey_file
      Src: /src/hostap/src/crypto/tls_wolfssl.c:750,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:753,1
    - Dst: wolfSSL_use_PrivateKey_file
      Src: /src/hostap/src/crypto/tls_wolfssl.c:755,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:758,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:768,1
    - Dst: wolfSSL_CTX_set_default_passwd_cb
      Src: /src/hostap/src/crypto/tls_wolfssl.c:771,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_wolfssl.c:772,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 6
    argNames:
    - tls_ctx
    - conn
    - private_key
    - private_key_passwd
    - private_key_blob
    - blob_len
    argTypes:
    - void*
    - struct tls_connection*
    - char*
    - char*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 778
    functionName: tls_connection_private_key
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wolfSSL_CTX_set_default_passwd_cb
    - wolfSSL_use_PrivateKey_file
    - os_free
    - wolfSSL_use_PrivateKey_buffer
    - wolfSSL_CTX_set_default_passwd_cb_userdata
    - os_strdup
    linkageType: ''
    returnType: int
    signature: "int tls_connection_private_key(void *tls_ctx,\n\t\t\t\t      struct
      tls_connection *conn,\n\t\t\t\t      const char *private_key,\n\t\t\t\t      const
      char *private_key_passwd,\n\t\t\t\t      const u8 *private_key_blob,\n\t\t\t\t
      \     size_t blob_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wolfSSL_X509_get_ext_d2i
      Src: /src/hostap/src/crypto/tls_wolfssl.c:789,1
    - Dst: wolfSSL_sk_num
      Src: /src/hostap/src/crypto/tls_wolfssl.c:791,1
    - Dst: wolfSSL_sk_value
      Src: /src/hostap/src/crypto/tls_wolfssl.c:792,1
    - Dst: wolfSSL_ASN1_STRING_length
      Src: /src/hostap/src/crypto/tls_wolfssl.c:795,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/tls_wolfssl.c:796,1
    - Dst: wolfSSL_ASN1_STRING_data
      Src: /src/hostap/src/crypto/tls_wolfssl.c:796,1
    - Dst: wolfSSL_sk_GENERAL_NAME_free
      Src: /src/hostap/src/crypto/tls_wolfssl.c:801,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 4
    argNames:
    - cert
    - type
    - value
    - len
    argTypes:
    - WOLFSSL_X509*
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 804
    functionName: tls_match_alt_subject_component
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 0
    functionsReached:
    - wolfSSL_ASN1_STRING_length
    - wolfSSL_sk_num
    - wolfSSL_X509_get_ext_d2i
    - wolfSSL_sk_value
    - wolfSSL_ASN1_STRING_data
    - os_memcmp
    - wolfSSL_sk_GENERAL_NAME_free
    linkageType: ''
    returnType: int
    signature: "int tls_match_alt_subject_component(WOLFSSL_X509 *cert, int type,\n\t\t\t\t\t
      \  const char *value, size_t len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_strncmp
      Src: /src/hostap/src/crypto/tls_wolfssl.c:815,1
    - Dst: os_strncmp
      Src: /src/hostap/src/crypto/tls_wolfssl.c:818,1
    - Dst: os_strncmp
      Src: /src/hostap/src/crypto/tls_wolfssl.c:821,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:825,1
    - Dst: os_strchr
      Src: /src/hostap/src/crypto/tls_wolfssl.c:830,1
    - Dst: os_strncmp
      Src: /src/hostap/src/crypto/tls_wolfssl.c:832,1
    - Dst: os_strncmp
      Src: /src/hostap/src/crypto/tls_wolfssl.c:833,1
    - Dst: os_strncmp
      Src: /src/hostap/src/crypto/tls_wolfssl.c:834,1
    - Dst: os_strchr
      Src: /src/hostap/src/crypto/tls_wolfssl.c:836,1
    - Dst: os_strlen
      Src: /src/hostap/src/crypto/tls_wolfssl.c:841,1
    - Dst: tls_match_alt_subject_component
      Src: /src/hostap/src/crypto/tls_wolfssl.c:842,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 2
    argNames:
    - cert
    - match
    argTypes:
    - WOLFSSL_X509*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 807
    functionDepth: 1
    functionLinenumber: 807
    functionLinenumberEnd: 848
    functionName: tls_match_alt_subject
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - tls_match_alt_subject_component
    - os_strncmp
    - os_strchr
    linkageType: ''
    returnType: int
    signature: int tls_match_alt_subject(WOLFSSL_X509 *cert, const char *match)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:859,1
    - Dst: os_strncasecmp
      Src: /src/hostap/src/crypto/tls_wolfssl.c:868,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:877,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 5
    argNames:
    - val
    - len
    - match
    - match_len
    - full
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 851
    functionDepth: 0
    functionLinenumber: 851
    functionLinenumberEnd: 879
    functionName: domain_suffix_match
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 1
    functionsReached:
    - os_strncasecmp
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int domain_suffix_match(const char *val, size_t len, const char *match,\n\t\t\t
      \      size_t match_len, int full)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:892,1
    - Dst: wolfSSL_X509_get_ext_d2i
      Src: /src/hostap/src/crypto/tls_wolfssl.c:895,1
    - Dst: wolfSSL_sk_num
      Src: /src/hostap/src/crypto/tls_wolfssl.c:897,1
    - Dst: wolfSSL_sk_value
      Src: /src/hostap/src/crypto/tls_wolfssl.c:898,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/crypto/tls_wolfssl.c:902,1
    - Dst: wolfSSL_ASN1_STRING_data
      Src: /src/hostap/src/crypto/tls_wolfssl.c:903,1
    - Dst: wolfSSL_ASN1_STRING_length
      Src: /src/hostap/src/crypto/tls_wolfssl.c:904,1
    - Dst: domain_suffix_match
      Src: /src/hostap/src/crypto/tls_wolfssl.c:905,1
    - Dst: wolfSSL_ASN1_STRING_data
      Src: /src/hostap/src/crypto/tls_wolfssl.c:906,1
    - Dst: wolfSSL_ASN1_STRING_length
      Src: /src/hostap/src/crypto/tls_wolfssl.c:907,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:909,1
    - Dst: wolfSSL_sk_ASN1_OBJECT_free
      Src: /src/hostap/src/crypto/tls_wolfssl.c:911,1
    - Dst: wolfSSL_sk_GENERAL_NAME_free
      Src: /src/hostap/src/crypto/tls_wolfssl.c:915,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:918,1
    - Dst: wolfSSL_X509_get_subject_name
      Src: /src/hostap/src/crypto/tls_wolfssl.c:922,1
    - Dst: wolfSSL_X509_NAME_get_index_by_NID
      Src: /src/hostap/src/crypto/tls_wolfssl.c:928,1
    - Dst: wolfSSL_X509_NAME_get_entry
      Src: /src/hostap/src/crypto/tls_wolfssl.c:931,1
    - Dst: wolfSSL_X509_NAME_ENTRY_get_data
      Src: /src/hostap/src/crypto/tls_wolfssl.c:934,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/crypto/tls_wolfssl.c:937,1
    - Dst: domain_suffix_match
      Src: /src/hostap/src/crypto/tls_wolfssl.c:939,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:941,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:947,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 40
    argCount: 4
    argNames:
    - cert
    - match
    - match_len
    - full
    argTypes:
    - WOLFSSL_X509*
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 882
    functionDepth: 0
    functionLinenumber: 882
    functionLinenumberEnd: 950
    functionName: tls_match_suffix_helper
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - wolfSSL_X509_NAME_get_entry
    - wolfSSL_X509_get_subject_name
    - wolfSSL_ASN1_STRING_length
    - wolfSSL_sk_num
    - wolfSSL_X509_get_ext_d2i
    - domain_suffix_match
    - wolfSSL_sk_ASN1_OBJECT_free
    - wolfSSL_X509_NAME_get_index_by_NID
    - wolfSSL_sk_value
    - wolfSSL_ASN1_STRING_data
    - wolfSSL_sk_GENERAL_NAME_free
    - wolfSSL_X509_NAME_ENTRY_get_data
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: int
    signature: "int tls_match_suffix_helper(WOLFSSL_X509 *cert, const char *match,\n\t\t\t\t
      \  size_t match_len, int full)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cstr_token
      Src: /src/hostap/src/crypto/tls_wolfssl.c:958,1
    - Dst: tls_match_suffix_helper
      Src: /src/hostap/src/crypto/tls_wolfssl.c:959,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - cert
    - match
    - full
    argTypes:
    - WOLFSSL_X509*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 953
    functionDepth: 1
    functionLinenumber: 953
    functionLinenumberEnd: 964
    functionName: tls_match_suffix
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 2
    functionsReached:
    - tls_match_suffix_helper
    - cstr_token
    linkageType: ''
    returnType: int
    signature: int tls_match_suffix(WOLFSSL_X509 *cert, const char *match, int full)
  - BBCount: 29
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 38
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 1006
    functionName: wolfssl_tls_fail_reason
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum tls_fail_reason
    signature: enum tls_fail_reason wolfssl_tls_fail_reason(int err)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - err
    - err_str
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 1009
    functionDepth: 0
    functionLinenumber: 1009
    functionLinenumberEnd: 1019
    functionName: wolfssl_tls_err_string
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * wolfssl_tls_err_string(int err, const char *err_str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1035,1
    - Dst: wolfSSL_X509_NAME_get_text_by_NID
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1038,1
    - Dst: wolfSSL_X509_get_subject_name
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1039,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1043,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1053,1
    - Dst: os_strcmp
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1055,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1058,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - cert
    - nid
    - field
    - value
    argTypes:
    - WOLFSSL_X509*
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1064
      start: 1031
    functionDepth: 0
    functionLinenumber: 1031
    functionLinenumberEnd: 1064
    functionName: match_dn_field
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 2
    functionsReached:
    - os_strlen
    - wpa_printf
    - wolfSSL_X509_get_subject_name
    - wolfSSL_X509_NAME_get_text_by_NID
    - os_memcmp
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: "int match_dn_field(WOLFSSL_X509 *cert, int nid, const char *field,\n\t\t\t
      \ const char *value)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1083,1
    - Dst: str_token
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1086,1
    - Dst: wolfSSL_OBJ_txt2nid
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1090,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1092,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1101,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1107,1
    - Dst: str_token
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1114,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1116,1
    - Dst: match_dn_field
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1122,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 3
    argNames:
    - cert
    - field_str
    - processed_nids
    argTypes:
    - WOLFSSL_X509*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1123
      start: 1077
    functionDepth: 1
    functionLinenumber: 1077
    functionLinenumberEnd: 1123
    functionName: get_value_from_field
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - str_token
    - match_dn_field
    - wolfSSL_OBJ_txt2nid
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: "int get_value_from_field(WOLFSSL_X509 *cert, char *field_str,\n\t\t\t\tint
      *processed_nids)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cstr_token
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1143,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1145,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1150,1
    - Dst: get_value_from_field
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1153,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1154,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - cert
    - match
    argTypes:
    - WOLFSSL_X509*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1161
      start: 1132
    functionDepth: 1
    functionLinenumber: 1132
    functionLinenumberEnd: 1161
    functionName: tls_match_dn_field
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 1
    functionsReached:
    - get_value_from_field
    - wpa_printf
    - cstr_token
    - os_memcpy
    linkageType: ''
    returnType: int
    signature: int tls_match_dn_field(WOLFSSL_X509 *cert, const char *match)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wolfSSL_X509_get_der
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1170,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - cert
    argTypes:
    - WOLFSSL_X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1175
      start: 1164
    functionDepth: 1
    functionLinenumber: 1164
    functionLinenumberEnd: 1175
    functionName: get_x509_cert
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 3
    functionsReached:
    - wpabuf_alloc_copy
    - wolfSSL_X509_get_der
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * get_x509_cert(WOLFSSL_X509 *cert)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_x509_cert
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1190,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1191,1
    - Dst: wolfssl_tls_fail_reason
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1193,1
    - Dst: wolfssl_tls_err_string
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1196,1
    - Dst: struct tls_context*::event_cb
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1198,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 7
    argNames:
    - conn
    - err_cert
    - err
    - depth
    - subject
    - err_str
    - reason
    argTypes:
    - struct tls_connection*
    - WOLFSSL_X509*
    - int
    - int
    - char*
    - char*
    - enum tls_fail_reason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1200
      start: 1178
    functionDepth: 1
    functionLinenumber: 1178
    functionLinenumberEnd: 1200
    functionName: wolfssl_tls_fail_event
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 0
    functionsReached:
    - get_x509_cert
    - struct tls_context*::event_cb
    - wolfssl_tls_fail_reason
    - wolfssl_tls_err_string
    - wpabuf_free
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void wolfssl_tls_fail_event(struct tls_connection *conn,\n\t\t\t\t
      \  WOLFSSL_X509 *err_cert, int err, int depth,\n\t\t\t\t   const char *subject,
      const char *err_str,\n\t\t\t\t   enum tls_fail_reason reason)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wolfSSL_X509_get_ext_d2i
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1210,1
    - Dst: wolfSSL_sk_num
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1214,1
    - Dst: wolfSSL_sk_value
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1217,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1222,1
    - Dst: os_strcmp
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1223,1
    - Dst: os_strcmp
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1225,1
    - Dst: wolfSSL_sk_pop_free
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1228,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - cert
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1231
      start: 1203
    functionDepth: 0
    functionLinenumber: 1203
    functionLinenumberEnd: 1231
    functionName: wolfssl_cert_tod
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wolfSSL_sk_pop_free
    - wolfSSL_sk_num
    - wolfSSL_X509_get_ext_d2i
    - wolfSSL_sk_value
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: int wolfssl_cert_tod(X509 *cert)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1253,1
    - Dst: get_x509_cert
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1256,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1265,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1266,1
    - Dst: sha256_vector
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1267,1
    - Dst: wolfSSL_X509_get_ext_d2i
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1277,1
    - Dst: wolfSSL_sk_num
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1278,1
    - Dst: wolfSSL_sk_value
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1283,1
    - Dst: os_malloc
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1290,1
    - Dst: wolfSSL_ASN1_STRING_length
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1290,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1298,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1302,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1306,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1311,1
    - Dst: wolfSSL_ASN1_STRING_data
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1311,1
    - Dst: wolfSSL_ASN1_STRING_length
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1312,1
    - Dst: wolfSSL_ASN1_STRING_length
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1313,1
    - Dst: wolfSSL_sk_GENERAL_NAME_free
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1316,1
    - Dst: wolfssl_cert_tod
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1321,1
    - Dst: struct tls_context*::event_cb
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1323,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1324,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1326,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 56
    argCount: 4
    argNames:
    - conn
    - err_cert
    - depth
    - subject
    argTypes:
    - struct tls_connection*
    - WOLFSSL_X509*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1327
      start: 1234
    functionDepth: 1
    functionLinenumber: 1234
    functionLinenumberEnd: 1327
    functionName: wolfssl_tls_cert_event
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 0
    functionsReached:
    - sha256_vector
    - get_x509_cert
    - os_memcpy
    - wolfssl_cert_tod
    - struct tls_context*::event_cb
    - wpabuf_len
    - wolfSSL_ASN1_STRING_length
    - wolfSSL_sk_num
    - os_malloc
    - wpabuf_free
    - wolfSSL_X509_get_ext_d2i
    - wpabuf_head
    - wolfSSL_sk_value
    - wolfSSL_ASN1_STRING_data
    - wolfSSL_sk_GENERAL_NAME_free
    - os_free
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void wolfssl_tls_cert_event(struct tls_connection *conn,\n\t\t\t\t
      \  WOLFSSL_X509 *err_cert, int depth,\n\t\t\t\t   const char *subject)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: wolfSSL_X509_STORE_CTX_get_current_cert
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1342,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1344,1
    - Dst: wolfSSL_X509_STORE_CTX_get_error
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1348,1
    - Dst: wolfSSL_X509_STORE_CTX_get_error_depth
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1349,1
    - Dst: wolfSSL_X509_STORE_CTX_get_ex_data
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1350,1
    - Dst: wolfSSL_get_ex_data_X509_STORE_CTX_idx
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1351,1
    - Dst: wolfSSL_X509_NAME_oneline
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1352,1
    - Dst: wolfSSL_X509_get_subject_name
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1352,1
    - Dst: wolfSSL_get_ex_data
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1355,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1357,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1382,1
    - Dst: wolfSSL_X509_verify_cert_error_string
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1387,1
    - Dst: get_x509_cert
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1397,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1399,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1407,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1408,1
    - Dst: sha256_vector
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1409,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1410,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1419,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1423,1
    - Dst: wolfssl_tls_cert_event
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1428,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1431,1
    - Dst: wolfssl_tls_fail_event
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1434,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1439,1
    - Dst: tls_match_dn_field
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1447,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1448,1
    - Dst: wolfssl_tls_fail_event
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1452,1
    - Dst: os_strstr
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1455,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1456,1
    - Dst: wolfssl_tls_fail_event
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1460,1
    - Dst: tls_match_alt_subject
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1464,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1465,1
    - Dst: wolfssl_tls_fail_event
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1469,1
    - Dst: tls_match_suffix
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1473,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1474,1
    - Dst: wolfssl_tls_fail_event
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1478,1
    - Dst: tls_match_suffix
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1482,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1483,1
    - Dst: wolfssl_tls_fail_event
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1486,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1492,1
    - Dst: wolfssl_tls_fail_event
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1495,1
    - Dst: struct tls_context*::event_cb
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1501,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1505,1
    - Dst: os_strdup
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1506,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 102
    argCount: 2
    argNames:
    - preverify_ok
    - x509_ctx
    argTypes:
    - int
    - WOLFSSL_X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1510
      start: 1330
    functionDepth: 2
    functionLinenumber: 1330
    functionLinenumberEnd: 1510
    functionName: tls_verify_cb
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 0
    functionsReached:
    - wolfSSL_X509_STORE_CTX_get_error
    - struct tls_context*::event_cb
    - wolfssl_tls_cert_event
    - tls_match_suffix
    - wolfSSL_get_ex_data
    - sha256_vector
    - wpa_printf
    - wolfSSL_X509_STORE_CTX_get_error_depth
    - os_strstr
    - tls_match_dn_field
    - wolfSSL_X509_STORE_CTX_get_current_cert
    - os_memcmp
    - os_free
    - wolfSSL_get_ex_data_X509_STORE_CTX_idx
    - wolfSSL_X509_STORE_CTX_get_ex_data
    - wolfSSL_X509_NAME_oneline
    - wolfSSL_X509_verify_cert_error_string
    - wpabuf_len
    - wpabuf_head
    - os_strdup
    - get_x509_cert
    - wolfSSL_X509_get_subject_name
    - wolfssl_tls_fail_event
    - wpabuf_free
    - tls_match_alt_subject
    linkageType: ''
    returnType: int
    signature: int tls_verify_cb(int preverify_ok, WOLFSSL_X509_STORE_CTX *x509_ctx)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: wolfSSL_set_verify
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1520,1
    - Dst: os_strncmp
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1523,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1524,1
    - Dst: os_strncmp
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1531,1
    - Dst: os_strncmp
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1535,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1536,1
    - Dst: os_strlen
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1542,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1543,1
    - Dst: hexstr2bin
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1548,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1549,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1555,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1559,1
    - Dst: wolfSSL_CTX_load_verify_buffer
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1566,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1569,1
    - Dst: wolfSSL_CTX_load_verify_buffer
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1570,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1573,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1578,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1583,1
    - Dst: wolfSSL_CTX_load_verify_locations
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1586,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1588,1
    - Dst: wolfSSL_CTX_der_load_verify_locations
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1594,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1597,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1602,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 56
    argCount: 6
    argNames:
    - tls_ctx
    - conn
    - ca_cert
    - ca_cert_blob
    - blob_len
    - ca_path
    argTypes:
    - void*
    - struct tls_connection*
    - char*
    - u8*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1608
      start: 1513
    functionDepth: 1
    functionLinenumber: 1513
    functionLinenumberEnd: 1608
    functionName: tls_connection_ca_cert
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 1
    functionsReached:
    - os_strlen
    - wolfSSL_CTX_load_verify_locations
    - wpa_printf
    - hexstr2bin
    - wolfSSL_CTX_der_load_verify_locations
    - os_strncmp
    - wolfSSL_CTX_load_verify_buffer
    - wolfSSL_set_verify
    linkageType: ''
    returnType: int
    signature: "int tls_connection_ca_cert(void *tls_ctx, struct tls_connection *conn,\n\t\t\t\t
      \ const char *ca_cert,\n\t\t\t\t  const u8 *ca_cert_blob, size_t blob_len,\n\t\t\t\t
      \ const char *ca_path)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wolfSSL_UseSessionTicket
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1617,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1620,1
    - Dst: wolfSSL_set_options
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1630,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - ssl
    - flags
    argTypes:
    - WOLFSSL*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1631
      start: 1611
    functionDepth: 0
    functionLinenumber: 1611
    functionLinenumberEnd: 1631
    functionName: tls_set_conn_flags
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 2
    functionsReached:
    - wolfSSL_UseSessionTicket
    - wpa_printf
    - wolfSSL_set_options
    linkageType: ''
    returnType: void
    signature: void tls_set_conn_flags(WOLFSSL *ssl, unsigned int flags)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1637,1
    - Dst: tls_connection_set_subject_match
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1639,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1644,1
    - Dst: tls_connection_ca_cert
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1648,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1652,1
    - Dst: tls_connection_client_cert
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1656,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1659,1
    - Dst: tls_connection_private_key
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1663,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1667,1
    - Dst: handle_ciphersuites
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1671,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1673,1
    - Dst: wolfSSL_set1_curves_list
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1678,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1680,1
    - Dst: tls_set_conn_flags
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1685,1
    - Dst: wolfSSL_UseOCSPStapling
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1689,1
    - Dst: wolfSSL_EnableOCSPStapling
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1693,1
    - Dst: wolfSSL_UseOCSPStaplingV2
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1699,1
    - Dst: wolfSSL_EnableOCSPStapling
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1703,1
    - Dst: wolfSSL_CTX_EnableOCSP
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1711,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1714,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1719,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 50
    argCount: 3
    argNames:
    - tls_ctx
    - conn
    - params
    argTypes:
    - void*
    - struct tls_connection*
    - struct tls_connection_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1729
      start: 1634
    functionDepth: 1
    functionLinenumber: 1634
    functionLinenumberEnd: 1729
    functionName: tls_connection_set_params
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 1
    functionsReached:
    - tls_connection_private_key
    - wpa_printf
    - handle_ciphersuites
    - wolfSSL_UseOCSPStapling
    - tls_connection_set_subject_match
    - wolfSSL_EnableOCSPStapling
    - tls_set_conn_flags
    - tls_connection_client_cert
    - wolfSSL_set1_curves_list
    - wolfSSL_UseOCSPStaplingV2
    - wolfSSL_CTX_EnableOCSP
    - tls_connection_ca_cert
    linkageType: ''
    returnType: int
    signature: "int tls_connection_set_params(void *tls_ctx, struct tls_connection
      *conn,\n\t\t\t      const struct tls_connection_params *params)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wolfSSL_CTX_load_verify_locations
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1737,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1739,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1744,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ssl_ctx
    - ca_cert
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1749
      start: 1732
    functionDepth: 0
    functionLinenumber: 1732
    functionLinenumberEnd: 1749
    functionName: tls_global_ca_cert
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 1
    functionsReached:
    - wolfSSL_CTX_load_verify_locations
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int tls_global_ca_cert(void *ssl_ctx, const char *ca_cert)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wolfSSL_CTX_use_certificate_chain_file_format
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1759,1
    - Dst: wolfSSL_CTX_use_certificate_chain_file
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1762,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1764,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1768,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ssl_ctx
    - client_cert
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1772
      start: 1752
    functionDepth: 0
    functionLinenumber: 1752
    functionLinenumberEnd: 1772
    functionName: tls_global_client_cert
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 1
    functionsReached:
    - wolfSSL_CTX_use_certificate_chain_file_format
    - wpa_printf
    - wolfSSL_CTX_use_certificate_chain_file
    linkageType: ''
    returnType: int
    signature: int tls_global_client_cert(void *ssl_ctx, const char *client_cert)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_strdup
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1786,1
    - Dst: wolfSSL_CTX_set_default_passwd_cb
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1791,1
    - Dst: wolfSSL_CTX_set_default_passwd_cb_userdata
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1792,1
    - Dst: wolfSSL_CTX_use_PrivateKey_file
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1794,1
    - Dst: wolfSSL_CTX_use_PrivateKey_file
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1796,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1798,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1802,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1804,1
    - Dst: wolfSSL_CTX_set_default_passwd_cb
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1805,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - ssl_ctx
    - private_key
    - private_key_passwd
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1808
      start: 1775
    functionDepth: 0
    functionLinenumber: 1775
    functionLinenumberEnd: 1808
    functionName: tls_global_private_key
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wolfSSL_CTX_set_default_passwd_cb
    - wolfSSL_CTX_use_PrivateKey_file
    - os_free
    - wolfSSL_CTX_set_default_passwd_cb_userdata
    - os_strdup
    linkageType: ''
    returnType: int
    signature: "int tls_global_private_key(void *ssl_ctx, const char *private_key,\n\t\t\t\t
      \ const char *private_key_passwd)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wolfSSL_CTX_SetTmpDH_file
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1816,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1818,1
    - Dst: wolfSSL_CTX_SetTmpDH_file
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1820,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1822,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1827,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - ssl_ctx
    - dh_file
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1832
      start: 1811
    functionDepth: 0
    functionLinenumber: 1811
    functionLinenumberEnd: 1832
    functionName: tls_global_dh
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wolfSSL_CTX_SetTmpDH_file
    linkageType: ''
    returnType: int
    signature: int tls_global_dh(void *ssl_ctx, const char *dh_file)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1846,1
    - Dst: os_readfile
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1852,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1854,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1858,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 6
    argNames:
    - unused
    - url
    - url_sz
    - request
    - request_sz
    - response
    argTypes:
    - void*
    - char*
    - int
    - unsigned char*
    - int
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1861
      start: 1837
    functionDepth: 0
    functionLinenumber: 1837
    functionLinenumberEnd: 1861
    functionName: ocsp_status_cb
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 0
    functionsReached:
    - os_readfile
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int ocsp_status_cb(void *unused, const char *url, int url_sz,\n\t\t
      \  unsigned char *request, int request_sz,\n\t\t   unsigned char **response)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1866,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ocsp_stapling_response
    - response
    argTypes:
    - void*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1867
      start: 1864
    functionDepth: 0
    functionLinenumber: 1864
    functionLinenumberEnd: 1867
    functionName: ocsp_resp_free_cb
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 0
    functionsReached:
    - os_free
    linkageType: ''
    returnType: void
    signature: void ocsp_resp_free_cb(void *ocsp_stapling_response, unsigned char
      *response)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ssl_ctx_get_tls_context
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1878,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1880,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1882,1
    - Dst: os_strdup
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1886,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1888,1
    - Dst: tls_global_ca_cert
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1895,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1896,1
    - Dst: tls_global_client_cert
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1901,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1902,1
    - Dst: tls_global_private_key
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1908,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1910,1
    - Dst: tls_global_dh
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1916,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1917,1
    - Dst: handle_ciphersuites
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1922,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1924,1
    - Dst: wolfSSL_CTX_set1_curves_list
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1929,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1931,1
    - Dst: wolfSSL_CTX_UseSessionTicket
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1939,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1940,1
    - Dst: wolfSSL_CTX_EnableOCSP
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1948,1
    - Dst: wolfSSL_CTX_DisableOCSP
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1953,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1954,1
    - Dst: wolfSSL_CTX_UseOCSPStapling
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1959,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1962,1
    - Dst: wolfSSL_CTX_EnableOCSPStapling
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1967,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1969,1
    - Dst: wolfSSL_CTX_SetOCSP_OverrideURL
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1974,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1978,1
    - Dst: wolfSSL_CTX_SetOCSP_Cb
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1983,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1986,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 62
    argCount: 2
    argNames:
    - tls_ctx
    - params
    argTypes:
    - void*
    - struct tls_connection_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1994
      start: 1872
    functionDepth: 1
    functionLinenumber: 1872
    functionLinenumberEnd: 1994
    functionName: tls_global_set_params
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 2
    functionsReached:
    - ssl_ctx_get_tls_context
    - tls_global_dh
    - wpa_printf
    - handle_ciphersuites
    - wolfSSL_CTX_UseSessionTicket
    - wolfSSL_CTX_SetOCSP_OverrideURL
    - tls_global_private_key
    - tls_global_ca_cert
    - tls_global_client_cert
    - wolfSSL_CTX_EnableOCSPStapling
    - wolfSSL_CTX_UseOCSPStapling
    - wolfSSL_CTX_SetOCSP_Cb
    - wolfSSL_CTX_DisableOCSP
    - wolfSSL_CTX_set1_curves_list
    - wolfSSL_CTX_EnableOCSP
    - os_free
    - os_strdup
    linkageType: ''
    returnType: int
    signature: "int tls_global_set_params(void *tls_ctx,\n\t\t\t  const struct tls_connection_params
      *params)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:1999,1
    - Dst: wolfSSL_CTX_LoadCRLBuffer
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2003,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - tls_ctx
    - check_crl
    - strict
    argTypes:
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2007
      start: 1997
    functionDepth: 0
    functionLinenumber: 1997
    functionLinenumberEnd: 2007
    functionName: tls_global_set_verify
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wolfSSL_CTX_LoadCRLBuffer
    linkageType: ''
    returnType: int
    signature: int tls_global_set_verify(void *tls_ctx, int check_crl, int strict)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2020,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2021,1
    - Dst: wolfSSL_set_verify
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2025,1
    - Dst: wolfSSL_set_verify
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2030,1
    - Dst: wolfSSL_set_accept_state
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2033,1
    - Dst: ssl_ctx_get_tls_context
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2035,1
    - Dst: wolfSSL_set_session_id_context
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2043,1
    - Dst: wolfSSL_set_session_id_context
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2047,1
    - Dst: tls_set_conn_flags
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2051,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 6
    argNames:
    - ssl_ctx
    - conn
    - verify_peer
    - flags
    - session_ctx
    - session_ctx_len
    argTypes:
    - void*
    - struct tls_connection*
    - int
    - unsigned int
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2054
      start: 2010
    functionDepth: 1
    functionLinenumber: 2010
    functionLinenumberEnd: 2054
    functionName: tls_connection_set_verify
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 0
    functionsReached:
    - ssl_ctx_get_tls_context
    - wpa_printf
    - wolfSSL_set_accept_state
    - tls_set_conn_flags
    - wolfSSL_set_session_id_context
    - wolfSSL_set_verify
    linkageType: ''
    returnType: int
    signature: "int tls_connection_set_verify(void *ssl_ctx, struct tls_connection
      *conn,\n\t\t\t      int verify_peer, unsigned int flags,\n\t\t\t      const
      u8 *session_ctx, size_t session_ctx_len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wolfssl_reset_out_data
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2063,1
    - Dst: wolfSSL_set_accept_state
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2067,1
    - Dst: wolfSSL_accept
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2068,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2069,1
    - Dst: wolfSSL_set_connect_state
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2071,1
    - Dst: wolfSSL_connect
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2072,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2073,1
    - Dst: wolfSSL_get_error
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2077,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2080,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2085,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2090,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2097,1
    - Dst: wolfSSL_ERR_error_string
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2101,1
    - Dst: wolfSSL_get_peer_certificate
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2112,1
    - Dst: wolfSSL_X509_NAME_oneline
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2113,1
    - Dst: wolfSSL_X509_get_subject_name
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2114,1
    - Dst: wolfssl_tls_fail_event
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2116,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 3
    argNames:
    - conn
    - in_data
    - server
    argTypes:
    - struct tls_connection*
    - struct wpabuf*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2123
      start: 2057
    functionDepth: 2
    functionLinenumber: 2057
    functionLinenumberEnd: 2123
    functionName: wolfssl_handshake
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 0
    functionsReached:
    - wolfSSL_get_peer_certificate
    - wpa_printf
    - wolfSSL_ERR_error_string
    - wolfSSL_connect
    - wolfSSL_X509_get_subject_name
    - wolfssl_tls_fail_event
    - wolfSSL_X509_NAME_oneline
    - wolfSSL_set_accept_state
    - wolfSSL_accept
    - wolfSSL_set_connect_state
    - wolfssl_reset_out_data
    - wolfSSL_get_error
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * wolfssl_handshake(struct tls_connection *conn,\n\t\t\t\t\t
      const struct wpabuf *in_data,\n\t\t\t\t\t int server)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2130,1
    - Dst: wolfSSL_read
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2135,1
    - Dst: wpabuf_mhead
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2135,1
    - Dst: wpabuf_size
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2136,1
    - Dst: wolfSSL_get_error
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2138,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2141,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2146,1
    - Dst: wolfSSL_ERR_error_string
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2148,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2151,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2155,1
    - Dst: wpa_hexdump_buf_key
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - conn
    - max_len
    argTypes:
    - struct tls_connection*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2160
      start: 2126
    functionDepth: 1
    functionLinenumber: 2126
    functionLinenumberEnd: 2160
    functionName: wolfssl_get_appl_data
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wolfSSL_ERR_error_string
    - wpabuf_put
    - wpabuf_size
    - wpabuf_free
    - wolfSSL_read
    - wpabuf_alloc
    - wpabuf_mhead
    - wpa_hexdump_buf_key
    - wolfSSL_get_error
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * wolfssl_get_appl_data(struct tls_connection *conn,\n\t\t\t\t\t
      \    size_t max_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wolfssl_reset_in_data
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2170,1
    - Dst: wolfssl_handshake
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2175,1
    - Dst: wolfSSL_is_init_finished
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2179,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2180,1
    - Dst: tls_connection_resumed
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2182,1
    - Dst: wolfssl_get_appl_data
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2184,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2185,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - conn
    - in_data
    - appl_data
    - server
    argTypes:
    - struct tls_connection*
    - struct wpabuf*
    - struct wpabuf**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2189
      start: 2163
    functionDepth: 3
    functionLinenumber: 2163
    functionLinenumberEnd: 2189
    functionName: wolfssl_connection_handshake
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wolfssl_handshake
    - wpabuf_len
    - wolfssl_reset_in_data
    - tls_connection_resumed
    - wolfssl_get_appl_data
    - wolfSSL_is_init_finished
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf *\nwolfssl_connection_handshake(struct tls_connection
      *conn,\n\t\t\t     const struct wpabuf *in_data,\n\t\t\t     struct wpabuf **appl_data,
      int server)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wolfssl_connection_handshake
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - tls_ctx
    - conn
    - in_data
    - appl_data
    argTypes:
    - void*
    - struct tls_connection*
    - struct wpabuf*
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2198
      start: 2192
    functionDepth: 4
    functionLinenumber: 2192
    functionLinenumberEnd: 2198
    functionName: tls_connection_handshake
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 3
    functionsReached:
    - wolfssl_connection_handshake
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * tls_connection_handshake(void *tls_ctx,\n\t\t\t\t\t
      struct tls_connection *conn,\n\t\t\t\t\t const struct wpabuf *in_data,\n\t\t\t\t\t
      struct wpabuf **appl_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wolfssl_connection_handshake
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - tls_ctx
    - conn
    - in_data
    - appl_data
    argTypes:
    - void*
    - struct tls_connection*
    - struct wpabuf*
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2207
      start: 2201
    functionDepth: 4
    functionLinenumber: 2201
    functionLinenumberEnd: 2207
    functionName: tls_connection_server_handshake
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 2
    functionsReached:
    - wolfssl_connection_handshake
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * tls_connection_server_handshake(void *tls_ctx,\n\t\t\t\t\t\tstruct
      tls_connection *conn,\n\t\t\t\t\t\tconst struct wpabuf *in_data,\n\t\t\t\t\t\tstruct
      wpabuf **appl_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2219,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2219,1
    - Dst: wolfssl_reset_out_data
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2221,1
    - Dst: wolfSSL_write
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2223,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2223,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2224,1
    - Dst: wolfSSL_get_error
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2226,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2229,1
    - Dst: wolfSSL_ERR_error_string
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - tls_ctx
    - conn
    - in_data
    argTypes:
    - void*
    - struct tls_connection*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2235
      start: 2210
    functionDepth: 2
    functionLinenumber: 2210
    functionLinenumberEnd: 2235
    functionName: tls_connection_encrypt
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 5
    functionsReached:
    - wpa_printf
    - wolfSSL_ERR_error_string
    - wolfSSL_write
    - wpabuf_len
    - wpabuf_head
    - wolfssl_reset_out_data
    - wolfSSL_get_error
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * tls_connection_encrypt(void *tls_ctx,\n\t\t\t\t       struct
      tls_connection *conn,\n\t\t\t\t       const struct wpabuf *in_data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2248,1
    - Dst: wolfssl_reset_in_data
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2250,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2259,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2259,1
    - Dst: wolfSSL_read
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2262,1
    - Dst: wpabuf_mhead
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2262,1
    - Dst: wpabuf_size
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2262,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2264,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2265,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2268,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2270,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2270,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - tls_ctx
    - conn
    - in_data
    argTypes:
    - void*
    - struct tls_connection*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2273
      start: 2238
    functionDepth: 1
    functionLinenumber: 2238
    functionLinenumberEnd: 2273
    functionName: tls_connection_decrypt
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 3
    functionsReached:
    - wpa_printf
    - wpabuf_put
    - wpabuf_size
    - wpabuf_len
    - wpabuf_free
    - wolfSSL_read
    - wolfssl_reset_in_data
    - wpabuf_alloc
    - wpabuf_mhead
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * tls_connection_decrypt(void *tls_ctx,\n\t\t\t\t       struct
      tls_connection *conn,\n\t\t\t\t       const struct wpabuf *in_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wolfSSL_session_reused
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tls_ctx
    - conn
    argTypes:
    - void*
    - struct tls_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2279
      start: 2276
    functionDepth: 0
    functionLinenumber: 2276
    functionLinenumberEnd: 2279
    functionName: tls_connection_resumed
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 6
    functionsReached:
    - wolfSSL_session_reused
    linkageType: ''
    returnType: int
    signature: int tls_connection_resumed(void *tls_ctx, struct tls_connection *conn)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2322,1
    - Dst: os_snprintf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2326,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2327,1
    - Dst: handle_ciphersuites
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2335,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2336,1
    - Dst: wolfSSL_set1_sigalgs_list
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2342,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2343,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 3
    argNames:
    - tls_ctx
    - conn
    - ciphers
    argTypes:
    - void*
    - struct tls_connection*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2348
      start: 2282
    functionDepth: 1
    functionLinenumber: 2282
    functionLinenumberEnd: 2348
    functionName: tls_connection_set_cipher_list
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - handle_ciphersuites
    - wolfSSL_set1_sigalgs_list
    - os_snprintf
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int tls_connection_set_cipher_list(void *tls_ctx, struct tls_connection
      *conn,\n\t\t\t\t   u8 *ciphers)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wolfSSL_version
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2359,1
    - Dst: wolfSSL_get_cipher
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2360,1
    - Dst: wolfSSL_get_cipher_name
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2362,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2366,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - tls_ctx
    - conn
    - buf
    - buflen
    argTypes:
    - void*
    - struct tls_connection*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2369
      start: 2351
    functionDepth: 0
    functionLinenumber: 2351
    functionLinenumberEnd: 2369
    functionName: tls_get_cipher
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 2
    functionsReached:
    - wolfSSL_get_cipher_name
    - wolfSSL_version
    - os_strlcpy
    - wolfSSL_get_cipher
    linkageType: ''
    returnType: int
    signature: "int tls_get_cipher(void *tls_ctx, struct tls_connection *conn,\n\t\t
      \  char *buf, size_t buflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tls_ctx
    - conn
    argTypes:
    - void*
    - struct tls_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2377
      start: 2372
    functionDepth: 0
    functionLinenumber: 2372
    functionLinenumberEnd: 2377
    functionName: tls_connection_enable_workaround
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int tls_connection_enable_workaround(void *tls_ctx,\n\t\t\t\t     struct
      tls_connection *conn)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - tls_ctx
    - conn
    argTypes:
    - void*
    - struct tls_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2386
      start: 2380
    functionDepth: 0
    functionLinenumber: 2380
    functionLinenumberEnd: 2386
    functionName: tls_connection_get_failed
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tls_connection_get_failed(void *tls_ctx, struct tls_connection
      *conn)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - tls_ctx
    - conn
    argTypes:
    - void*
    - struct tls_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2396
      start: 2389
    functionDepth: 0
    functionLinenumber: 2389
    functionLinenumberEnd: 2396
    functionName: tls_connection_get_read_alerts
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tls_connection_get_read_alerts(void *tls_ctx, struct tls_connection
      *conn)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - tls_ctx
    - conn
    argTypes:
    - void*
    - struct tls_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2407
      start: 2399
    functionDepth: 0
    functionLinenumber: 2399
    functionLinenumberEnd: 2407
    functionName: tls_connection_get_write_alerts
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int tls_connection_get_write_alerts(void *tls_ctx,\n\t\t\t\t    struct
      tls_connection *conn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2413,1
    - Dst: wolfSSL_lib_version
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - buf_len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2415
      start: 2411
    functionDepth: 0
    functionLinenumber: 2411
    functionLinenumberEnd: 2415
    functionName: tls_get_library_version
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 2
    functionsReached:
    - os_snprintf
    - wolfSSL_lib_version
    linkageType: ''
    returnType: int
    signature: int tls_get_library_version(char *buf, size_t buf_len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wolfSSL_get_version
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2425,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2429,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - ssl_ctx
    - conn
    - buf
    - buflen
    argTypes:
    - void*
    - struct tls_connection*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2431
      start: 2417
    functionDepth: 0
    functionLinenumber: 2417
    functionLinenumberEnd: 2431
    functionName: tls_get_version
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 2
    functionsReached:
    - os_strlcpy
    - wolfSSL_get_version
    linkageType: ''
    returnType: int
    signature: "int tls_get_version(void *ssl_ctx, struct tls_connection *conn,\n\t\t
      \   char *buf, size_t buflen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2445,1
    - Dst: wolfSSL_get_client_random
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2447,1
    - Dst: wolfSSL_get_server_random
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2450,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - ssl_ctx
    - conn
    - keys
    argTypes:
    - void*
    - struct tls_connection*
    - struct tls_random*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2454
      start: 2434
    functionDepth: 0
    functionLinenumber: 2434
    functionLinenumberEnd: 2454
    functionName: tls_connection_get_random
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 1
    functionsReached:
    - wolfSSL_get_client_random
    - wolfSSL_get_server_random
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int tls_connection_get_random(void *ssl_ctx, struct tls_connection
      *conn,\n\t\t\t      struct tls_random *keys)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wolfSSL_export_keying_material
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2464,1
    - Dst: os_strlen
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2465,1
    - Dst: wolfSSL_make_eap_keys
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2472,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 7
    argNames:
    - tls_ctx
    - conn
    - label
    - context
    - context_len
    - out
    - out_len
    argTypes:
    - void*
    - struct tls_connection*
    - char*
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2476
      start: 2457
    functionDepth: 0
    functionLinenumber: 2457
    functionLinenumberEnd: 2476
    functionName: tls_connection_export_key
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 2
    functionsReached:
    - os_strlen
    - wolfSSL_make_eap_keys
    - wolfSSL_export_keying_material
    linkageType: ''
    returnType: int
    signature: "int tls_connection_export_key(void *tls_ctx, struct tls_connection
      *conn,\n\t\t\t      const char *label, const u8 *context,\n\t\t\t      size_t
      context_len, u8 *out, size_t out_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wolfSSL_GetKeySize
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2501,1
    - Dst: wolfSSL_GetHmacSize
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2501,1
    - Dst: wolfSSL_GetIVSize
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2502,1
    - Dst: os_malloc
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2504,1
    - Dst: wolfSSL_get_keys
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2509,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2511,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2512,1
    - Dst: wolfSSL_GetVersion
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2514,1
    - Dst: tls_prf_sha256
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2515,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2521,1
    - Dst: tls_prf_sha1_md5
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2525,1
    - Dst: forced_memzero
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2531,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2533,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2534,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 4
    argNames:
    - tls_ctx
    - conn
    - out
    - out_len
    argTypes:
    - void*
    - struct tls_connection*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2537
      start: 2481
    functionDepth: 2
    functionLinenumber: 2481
    functionLinenumberEnd: 2537
    functionName: tls_connection_get_eap_fast_key
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wolfSSL_GetVersion
    - wolfSSL_GetHmacSize
    - wpa_printf
    - wolfSSL_get_keys
    - forced_memzero
    - os_malloc
    - wolfSSL_GetIVSize
    - bin_clear_free
    - wolfSSL_GetKeySize
    - tls_prf_sha1_md5
    - tls_prf_sha256
    linkageType: ''
    returnType: int
    signature: "int tls_connection_get_eap_fast_key(void *tls_ctx, struct tls_connection
      *conn,\n\t\t\t\t    u8 *out, size_t out_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wolfSSL_set_SessionTicket
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2551,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 5
    argNames:
    - ssl_ctx
    - conn
    - ext_type
    - data
    - data_len
    argTypes:
    - void*
    - struct tls_connection*
    - int
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2556
      start: 2542
    functionDepth: 0
    functionLinenumber: 2542
    functionLinenumberEnd: 2556
    functionName: tls_connection_client_hello_ext
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 2
    functionsReached:
    - wolfSSL_set_SessionTicket
    linkageType: ''
    returnType: int
    signature: "int tls_connection_client_hello_ext(void *ssl_ctx, struct tls_connection
      *conn,\n\t\t\t\t    int ext_type, const u8 *data,\n\t\t\t\t    size_t data_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wolfSSL_get_client_random
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2570,1
    - Dst: wolfSSL_get_server_random
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2572,1
    - Dst: wolfSSL_get_SessionTicket
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2574,1
    - Dst: struct tls_connection*::session_ticket_cb
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2581,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 4
    argNames:
    - s
    - secret
    - secret_len
    - arg
    argTypes:
    - WOLFSSL*
    - void*
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2589
      start: 2559
    functionDepth: 0
    functionLinenumber: 2559
    functionLinenumberEnd: 2589
    functionName: tls_sess_sec_cb
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 0
    functionsReached:
    - wolfSSL_get_client_random
    - wolfSSL_get_SessionTicket
    - struct tls_connection*::session_ticket_cb
    - wolfSSL_get_server_random
    linkageType: ''
    returnType: int
    signature: int tls_sess_sec_cb(WOLFSSL *s, void *secret, int *secret_len, void
      *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wolfSSL_set_session_secret_cb
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2604,1
    - Dst: wolfSSL_set_session_secret_cb
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2608,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 4
    argNames:
    - tls_ctx
    - conn
    - cb
    - ctx
    argTypes:
    - void*
    - struct tls_connection*
    - tls_session_ticket_cb
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2616
      start: 2594
    functionDepth: 0
    functionLinenumber: 2594
    functionLinenumberEnd: 2616
    functionName: tls_connection_set_session_ticket_cb
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 1
    functionsReached:
    - wolfSSL_set_session_secret_cb
    linkageType: ''
    returnType: int
    signature: "int tls_connection_set_session_ticket_cb(void *tls_ctx,\n\t\t\t\t\t
      struct tls_connection *conn,\n\t\t\t\t\t tls_session_ticket_cb cb,\n\t\t\t\t\t
      void *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2621,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct tls_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2623
      start: 2619
    functionDepth: 0
    functionLinenumber: 2619
    functionLinenumberEnd: 2623
    functionName: tls_connection_set_success_data_resumed
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void tls_connection_set_success_data_resumed(struct tls_connection
      *conn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wolfSSL_get_session
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2630,1
    - Dst: wolfSSL_SSL_SESSION_set_timeout
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2634,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2635,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct tls_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2637
      start: 2626
    functionDepth: 0
    functionLinenumber: 2626
    functionLinenumberEnd: 2637
    functionName: tls_connection_remove_session
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 0
    functionsReached:
    - wolfSSL_get_session
    - wpa_printf
    - wolfSSL_SSL_SESSION_set_timeout
    linkageType: ''
    returnType: void
    signature: void tls_connection_remove_session(struct tls_connection *conn)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wolfSSL_session_reused
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2645,1
    - Dst: wolfSSL_is_server
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2646,1
    - Dst: wolfSSL_is_server
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2647,1
    - Dst: wolfSSL_get_peer_finished
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2648,1
    - Dst: wolfSSL_get_finished
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2650,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - conn
    - buf
    - max_len
    argTypes:
    - struct tls_connection*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2656
      start: 2640
    functionDepth: 0
    functionLinenumber: 2640
    functionLinenumberEnd: 2656
    functionName: tls_get_tls_unique
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 1
    functionsReached:
    - wolfSSL_get_peer_finished
    - wolfSSL_is_server
    - wolfSSL_get_finished
    - wolfSSL_session_reused
    linkageType: ''
    returnType: int
    signature: int tls_get_tls_unique(struct tls_connection *conn, u8 *buf, size_t
      max_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wolfSSL_get_current_cipher_suite
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct tls_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2662
      start: 2659
    functionDepth: 0
    functionLinenumber: 2659
    functionLinenumberEnd: 2662
    functionName: tls_connection_get_cipher_suite
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 1
    functionsReached:
    - wolfSSL_get_current_cipher_suite
    linkageType: ''
    returnType: u16
    signature: u16 tls_connection_get_cipher_suite(struct tls_connection *conn)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct tls_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2670
      start: 2665
    functionDepth: 0
    functionLinenumber: 2665
    functionLinenumberEnd: 2670
    functionName: tls_connection_get_peer_subject
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * tls_connection_get_peer_subject(struct tls_connection *conn)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2679,1
    - Dst: wolfSSL_get_session
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2681,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2683,1
    - Dst: wolfSSL_SESSION_get_ex_data
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2688,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2690,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2692,1
    - Dst: wolfSSL_SESSION_set_ex_data
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2694,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2697,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2702,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2703,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - conn
    - data
    argTypes:
    - struct tls_connection*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2704
      start: 2673
    functionDepth: 1
    functionLinenumber: 2673
    functionLinenumberEnd: 2704
    functionName: tls_connection_set_success_data
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wolfSSL_get_session
    - wolfSSL_SESSION_set_ex_data
    - wpabuf_free
    - wolfSSL_SESSION_get_ex_data
    linkageType: ''
    returnType: void
    signature: "void tls_connection_set_success_data(struct tls_connection *conn,\n\t\t\t\t
      \    struct wpabuf *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2712,1
    - Dst: wolfSSL_get_session
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2714,1
    - Dst: wolfSSL_SESSION_get_ex_data
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2717,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct tls_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2718
      start: 2707
    functionDepth: 0
    functionLinenumber: 2707
    functionLinenumberEnd: 2718
    functionName: tls_connection_get_success_data
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 0
    functionsReached:
    - wolfSSL_get_session
    - wpa_printf
    - wolfSSL_SESSION_get_ex_data
    linkageType: ''
    returnType: struct wpabuf
    signature: 'struct wpabuf *

      tls_connection_get_success_data(struct tls_connection *conn)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wolfSSL_get_certificate
      Src: /src/hostap/src/crypto/tls_wolfssl.c:2724,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct tls_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2726
      start: 2721
    functionDepth: 0
    functionLinenumber: 2721
    functionLinenumberEnd: 2726
    functionName: tls_connection_get_own_cert_used
    functionSourceFile: /src/hostap/src/crypto/tls_wolfssl.c
    functionUses: 1
    functionsReached:
    - wolfSSL_get_certificate
    linkageType: ''
    returnType: bool
    signature: bool tls_connection_get_own_cert_used(struct tls_connection *conn)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GETU32
      Src: /src/hostap/src/crypto/aes-internal.c:784,1
    - Dst: GETU32
      Src: /src/hostap/src/crypto/aes-internal.c:785,1
    - Dst: GETU32
      Src: /src/hostap/src/crypto/aes-internal.c:786,1
    - Dst: GETU32
      Src: /src/hostap/src/crypto/aes-internal.c:787,1
    - Dst: TE421
      Src: /src/hostap/src/crypto/aes-internal.c:792,1
    - Dst: TE432
      Src: /src/hostap/src/crypto/aes-internal.c:792,1
    - Dst: TE443
      Src: /src/hostap/src/crypto/aes-internal.c:793,1
    - Dst: TE414
      Src: /src/hostap/src/crypto/aes-internal.c:793,1
    - Dst: RCON
      Src: /src/hostap/src/crypto/aes-internal.c:793,1
    - Dst: GETU32
      Src: /src/hostap/src/crypto/aes-internal.c:802,1
    - Dst: GETU32
      Src: /src/hostap/src/crypto/aes-internal.c:803,1
    - Dst: TE421
      Src: /src/hostap/src/crypto/aes-internal.c:808,1
    - Dst: TE432
      Src: /src/hostap/src/crypto/aes-internal.c:808,1
    - Dst: TE443
      Src: /src/hostap/src/crypto/aes-internal.c:809,1
    - Dst: TE414
      Src: /src/hostap/src/crypto/aes-internal.c:809,1
    - Dst: RCON
      Src: /src/hostap/src/crypto/aes-internal.c:809,1
    - Dst: GETU32
      Src: /src/hostap/src/crypto/aes-internal.c:821,1
    - Dst: GETU32
      Src: /src/hostap/src/crypto/aes-internal.c:822,1
    - Dst: TE421
      Src: /src/hostap/src/crypto/aes-internal.c:827,1
    - Dst: TE432
      Src: /src/hostap/src/crypto/aes-internal.c:827,1
    - Dst: TE443
      Src: /src/hostap/src/crypto/aes-internal.c:828,1
    - Dst: TE414
      Src: /src/hostap/src/crypto/aes-internal.c:828,1
    - Dst: RCON
      Src: /src/hostap/src/crypto/aes-internal.c:828,1
    - Dst: TE411
      Src: /src/hostap/src/crypto/aes-internal.c:835,1
    - Dst: TE422
      Src: /src/hostap/src/crypto/aes-internal.c:835,1
    - Dst: TE433
      Src: /src/hostap/src/crypto/aes-internal.c:836,1
    - Dst: TE444
      Src: /src/hostap/src/crypto/aes-internal.c:836,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 52
    argCount: 3
    argNames:
    - rk
    - cipherKey
    - keyBits
    argTypes:
    - u32[]
    - u8[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 779
    functionDepth: 1
    functionLinenumber: 779
    functionLinenumberEnd: 845
    functionName: rijndaelKeySetupEnc
    functionSourceFile: /src/hostap/src/crypto/aes-internal.c
    functionUses: 0
    functionsReached:
    - TE422
    - TE414
    - TE432
    - TE444
    - TE421
    - TE411
    - TE433
    - RCON
    - TE443
    - GETU32
    linkageType: ''
    returnType: int
    signature: int rijndaelKeySetupEnc(u32 rk[], const u8 cipherKey[], int keyBits)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: md5_vector
      Src: /src/hostap/src/crypto/md5.c:45,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/md5.c:61,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/md5.c:62,1
    - Dst: md5_vector
      Src: /src/hostap/src/crypto/md5.c:75,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/md5.c:78,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/md5.c:79,1
    - Dst: md5_vector
      Src: /src/hostap/src/crypto/md5.c:89,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/md5.c:90,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/md5.c:91,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 6
    argNames:
    - key
    - key_len
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - u8*
    - size_t
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 93
    functionName: hmac_md5_vector
    functionSourceFile: /src/hostap/src/crypto/md5.c
    functionUses: 5
    functionsReached:
    - md5_vector
    - os_memcpy
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int hmac_md5_vector(const u8 *key, size_t key_len, size_t num_elem,\n\t\t
      \   const u8 *addr[], const size_t *len, u8 *mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_md5_vector
      Src: /src/hostap/src/crypto/md5.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - key
    - key_len
    - data
    - data_len
    - mac
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: hmac_md5
    functionSourceFile: /src/hostap/src/crypto/md5.c
    functionUses: 1
    functionsReached:
    - hmac_md5_vector
    linkageType: ''
    returnType: int
    signature: "int hmac_md5(const u8 *key, size_t key_len, const u8 *data, size_t
      data_len,\n\t      u8 *mac)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/crypto/sha384-tlsprf.c:42,1
    - Dst: hmac_sha384_vector
      Src: /src/hostap/src/crypto/sha384-tlsprf.c:53,1
    - Dst: hmac_sha384_vector
      Src: /src/hostap/src/crypto/sha384-tlsprf.c:58,1
    - Dst: hmac_sha384
      Src: /src/hostap/src/crypto/sha384-tlsprf.c:60,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/sha384-tlsprf.c:66,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 7
    argNames:
    - secret
    - secret_len
    - label
    - seed
    - seed_len
    - out
    - outlen
    argTypes:
    - u8*
    - size_t
    - char*
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 71
    functionName: tls_prf_sha384
    functionSourceFile: /src/hostap/src/crypto/sha384-tlsprf.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_memcpy
    - hmac_sha384_vector
    - hmac_sha384
    linkageType: ''
    returnType: int
    signature: "int tls_prf_sha384(const u8 *secret, size_t secret_len, const char
      *label,\n\t\t   const u8 *seed, size_t seed_len, u8 *out, size_t outlen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sha512_init
      Src: /src/hostap/src/crypto/sha512-internal.c:30,1
    - Dst: sha512_process
      Src: /src/hostap/src/crypto/sha512-internal.c:32,1
    - Dst: sha512_done
      Src: /src/hostap/src/crypto/sha512-internal.c:34,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 37
    functionName: sha512_vector
    functionSourceFile: /src/hostap/src/crypto/sha512-internal.c
    functionUses: 8
    functionsReached:
    - sha512_process
    - sha512_done
    - sha512_init
    linkageType: ''
    returnType: int
    signature: "int sha512_vector(size_t num_elem, const u8 *addr[], const size_t
      *len,\n\t\t  u8 *mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: CONST64
    functionSourceFile: /src/hostap/src/crypto/sha512-internal.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONST64(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: Ch
    functionSourceFile: /src/hostap/src/crypto/sha512-internal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Ch(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 94
    functionName: Maj
    functionSourceFile: /src/hostap/src/crypto/sha512-internal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Maj(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    functionName: S
    functionSourceFile: /src/hostap/src/crypto/sha512-internal.c
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S(x, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: R
    functionSourceFile: /src/hostap/src/crypto/sha512-internal.c
    functionUses: 538
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: R(x, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    functionName: Sigma0
    functionSourceFile: /src/hostap/src/crypto/sha512-internal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Sigma0(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 98
    functionName: Sigma1
    functionSourceFile: /src/hostap/src/crypto/sha512-internal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Sigma1(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 99
    functionName: Gamma0
    functionSourceFile: /src/hostap/src/crypto/sha512-internal.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Gamma0(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 100
    functionName: Gamma1
    functionSourceFile: /src/hostap/src/crypto/sha512-internal.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Gamma1(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: ROR64c
    functionSourceFile: /src/hostap/src/crypto/sha512-internal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROR64c(x, y)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/crypto/sha512-internal.c:113,1
    - Dst: WPA_GET_BE64
      Src: /src/hostap/src/crypto/sha512-internal.c:124,1
    - Dst: Gamma1
      Src: /src/hostap/src/crypto/sha512-internal.c:128,1
    - Dst: Gamma0
      Src: /src/hostap/src/crypto/sha512-internal.c:128,1
    - Dst: Sigma1
      Src: /src/hostap/src/crypto/sha512-internal.c:134,1
    - Dst: Ch
      Src: /src/hostap/src/crypto/sha512-internal.c:134,1
    - Dst: Sigma0
      Src: /src/hostap/src/crypto/sha512-internal.c:135,1
    - Dst: Maj
      Src: /src/hostap/src/crypto/sha512-internal.c:135,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/sha512-internal.c:151,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - md
    - buf
    argTypes:
    - struct sha512_state*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 153
    functionName: sha512_compress
    functionSourceFile: /src/hostap/src/crypto/sha512-internal.c
    functionUses: 0
    functionsReached:
    - Gamma0
    - WPA_GET_BE64
    - Sigma0
    - os_malloc
    - Sigma1
    - Gamma1
    - Maj
    - os_free
    - Ch
    linkageType: ''
    returnType: int
    signature: int sha512_compress(struct sha512_state *md, unsigned char *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CONST64
      Src: /src/hostap/src/crypto/sha512-internal.c:165,1
    - Dst: CONST64
      Src: /src/hostap/src/crypto/sha512-internal.c:166,1
    - Dst: CONST64
      Src: /src/hostap/src/crypto/sha512-internal.c:167,1
    - Dst: CONST64
      Src: /src/hostap/src/crypto/sha512-internal.c:168,1
    - Dst: CONST64
      Src: /src/hostap/src/crypto/sha512-internal.c:169,1
    - Dst: CONST64
      Src: /src/hostap/src/crypto/sha512-internal.c:170,1
    - Dst: CONST64
      Src: /src/hostap/src/crypto/sha512-internal.c:171,1
    - Dst: CONST64
      Src: /src/hostap/src/crypto/sha512-internal.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - md
    argTypes:
    - struct sha512_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 173
    functionName: sha512_init
    functionSourceFile: /src/hostap/src/crypto/sha512-internal.c
    functionUses: 2
    functionsReached:
    - CONST64
    linkageType: ''
    returnType: void
    signature: void sha512_init(struct sha512_state *md)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sha512_compress
      Src: /src/hostap/src/crypto/sha512-internal.c:193,1
    - Dst: MIN
      Src: /src/hostap/src/crypto/sha512-internal.c:199,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/sha512-internal.c:200,1
    - Dst: sha512_compress
      Src: /src/hostap/src/crypto/sha512-internal.c:205,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - md
    - in
    - inlen
    argTypes:
    - struct sha512_state*
    - unsigned char*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 214
    functionName: sha512_process
    functionSourceFile: /src/hostap/src/crypto/sha512-internal.c
    functionUses: 3
    functionsReached:
    - os_memcpy
    - MIN
    - sha512_compress
    linkageType: ''
    returnType: int
    signature: "int sha512_process(struct sha512_state *md, const unsigned char *in,\n\t\t
      \  unsigned long inlen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CONST64
      Src: /src/hostap/src/crypto/sha512-internal.c:231,1
    - Dst: sha512_compress
      Src: /src/hostap/src/crypto/sha512-internal.c:244,1
    - Dst: WPA_PUT_BE64
      Src: /src/hostap/src/crypto/sha512-internal.c:257,1
    - Dst: sha512_compress
      Src: /src/hostap/src/crypto/sha512-internal.c:258,1
    - Dst: WPA_PUT_BE64
      Src: /src/hostap/src/crypto/sha512-internal.c:262,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - md
    - out
    argTypes:
    - struct sha512_state*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 265
    functionName: sha512_done
    functionSourceFile: /src/hostap/src/crypto/sha512-internal.c
    functionUses: 3
    functionsReached:
    - WPA_PUT_BE64
    - sha512_compress
    - CONST64
    linkageType: ''
    returnType: int
    signature: int sha512_done(struct sha512_state *md, unsigned char *out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/crypto/crypto_openssl.c:59,1
    - Dst: HMAC_CTX_init
      Src: /src/hostap/src/crypto/crypto_openssl.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 63
    functionName: HMAC_CTX_new
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - os_zalloc
    - HMAC_CTX_init
    linkageType: ''
    returnType: HMAC_CTX
    signature: HMAC_CTX * HMAC_CTX_new(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_CTX_cleanup
      Src: /src/hostap/src/crypto/crypto_openssl.c:70,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - HMAC_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 72
    functionName: HMAC_CTX_free
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - HMAC_CTX_cleanup
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: void HMAC_CTX_free(HMAC_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/crypto/crypto_openssl.c:79,1
    - Dst: EVP_MD_CTX_init
      Src: /src/hostap/src/crypto/crypto_openssl.c:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 83
    functionName: EVP_MD_CTX_new
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - os_zalloc
    - EVP_MD_CTX_init
    linkageType: ''
    returnType: EVP_MD_CTX
    signature: EVP_MD_CTX * EVP_MD_CTX_new(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_cleanup
      Src: /src/hostap/src/crypto/crypto_openssl.c:90,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MD_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: EVP_MD_CTX_free
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_cleanup
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: void EVP_MD_CTX_free(EVP_MD_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 102
    functionName: EVP_PKEY_get0_EC_KEY
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EC_KEY
    signature: EC_KEY * EVP_PKEY_get0_EC_KEY(EVP_PKEY *pkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - sig
    - r
    - s
    argTypes:
    - ECDSA_SIG*
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: ECDSA_SIG_set0
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ECDSA_SIG_set0(ECDSA_SIG *sig, BIGNUM *r, BIGNUM *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - sig
    - pr
    - ps
    argTypes:
    - ECDSA_SIG*
    - BIGNUM**
    - BIGNUM**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 120
    functionName: ECDSA_SIG_get0
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ECDSA_SIG_get0(const ECDSA_SIG *sig, const BIGNUM **pr,\n\t\t\t
      \  const BIGNUM **ps)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_STRING_data
      Src: /src/hostap/src/crypto/crypto_openssl.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ASN1_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: ASN1_STRING_get0_data
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 6
    functionsReached:
    - ASN1_STRING_data
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char * ASN1_STRING_get0_data(const ASN1_STRING *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_get_notBefore
      Src: /src/hostap/src/crypto/crypto_openssl.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: X509_get0_notBefore
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - X509_get_notBefore
    linkageType: ''
    returnType: ASN1_TIME
    signature: ASN1_TIME * X509_get0_notBefore(const X509 *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_get_notAfter
      Src: /src/hostap/src/crypto/crypto_openssl.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: X509_get0_notAfter
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - X509_get_notAfter
    linkageType: ''
    returnType: ASN1_TIME
    signature: ASN1_TIME * X509_get0_notAfter(const X509 *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_get_affine_coordinates_GFp
      Src: /src/hostap/src/crypto/crypto_openssl.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - group
    - point
    - x
    - y
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 153
    functionName: EC_POINT_get_affine_coordinates
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - EC_POINT_get_affine_coordinates_GFp
    linkageType: ''
    returnType: int
    signature: "int EC_POINT_get_affine_coordinates(const EC_GROUP *group,\n\t\t\t\t\t
      \  const EC_POINT *point, BIGNUM *x,\n\t\t\t\t\t   BIGNUM *y, BN_CTX *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_set_affine_coordinates_GFp
      Src: /src/hostap/src/crypto/crypto_openssl.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - group
    - point
    - x
    - y
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 161
    functionName: EC_POINT_set_affine_coordinates
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - EC_POINT_set_affine_coordinates_GFp
    linkageType: ''
    returnType: int
    signature: "int EC_POINT_set_affine_coordinates(const EC_GROUP *group,\n\t\t\t\t\t
      \  EC_POINT *point, const BIGNUM *x,\n\t\t\t\t\t   const BIGNUM *y, BN_CTX *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_set_compressed_coordinates_GFp
      Src: /src/hostap/src/crypto/crypto_openssl.c:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - group
    - point
    - x
    - y_bit
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BIGNUM*
    - int
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 177
    functionName: EC_POINT_set_compressed_coordinates
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - EC_POINT_set_compressed_coordinates_GFp
    linkageType: ''
    returnType: int
    signature: "int EC_POINT_set_compressed_coordinates(const EC_GROUP *group,\n\t\t\t\t\t
      \      EC_POINT *point, const BIGNUM *x,\n\t\t\t\t\t       int y_bit, BN_CTX
      *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_get_curve_GFp
      Src: /src/hostap/src/crypto/crypto_openssl.c:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - group
    - p
    - a
    - b
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 184
    functionName: EC_GROUP_get_curve
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - EC_GROUP_get_curve_GFp
    linkageType: ''
    returnType: int
    signature: "int EC_GROUP_get_curve(const EC_GROUP *group, BIGNUM *p, BIGNUM *a,\n\t\t\t
      \     BIGNUM *b, BN_CTX *ctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_default_properties_is_fips_enabled
      Src: /src/hostap/src/crypto/crypto_openssl.c:199,1
    - Dst: EVP_default_properties_enable_fips
      Src: /src/hostap/src/crypto/crypto_openssl.c:202,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:203,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:206,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 210
    functionName: openssl_disable_fips
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - EVP_default_properties_is_fips_enabled
    - wpa_printf
    - EVP_default_properties_enable_fips
    linkageType: ''
    returnType: void
    signature: void openssl_disable_fips(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_try_load
      Src: /src/hostap/src/crypto/crypto_openssl.c:223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 225
    functionName: openssl_load_legacy_provider
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 1
    functionsReached:
    - OSSL_PROVIDER_try_load
    linkageType: ''
    returnType: void
    signature: void openssl_load_legacy_provider(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_unload
      Src: /src/hostap/src/crypto/crypto_openssl.c:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 236
    functionName: openssl_unload_legacy_provider
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - OSSL_PROVIDER_unload
    linkageType: ''
    returnType: void
    signature: void openssl_unload_legacy_provider(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_available
      Src: /src/hostap/src/crypto/crypto_openssl.c:245,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:248,1
    - Dst: OSSL_PROVIDER_try_load
      Src: /src/hostap/src/crypto/crypto_openssl.c:250,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:252,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 255
    functionName: openssl_load_default_provider_if_fips
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - OSSL_PROVIDER_available
    - wpa_printf
    - OSSL_PROVIDER_try_load
    linkageType: ''
    returnType: void
    signature: void openssl_load_default_provider_if_fips(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_unload
      Src: /src/hostap/src/crypto/crypto_openssl.c:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 266
    functionName: openssl_unload_default_provider
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - OSSL_PROVIDER_unload
    linkageType: ''
    returnType: void
    signature: void openssl_unload_default_provider(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_get_rfc3526_prime_1536
      Src: /src/hostap/src/crypto/crypto_openssl.c:274,1
    - Dst: get_rfc3526_prime_1536
      Src: /src/hostap/src/crypto/crypto_openssl.c:276,1
    - Dst: BN_bin2bn
      Src: /src/hostap/src/crypto/crypto_openssl.c:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 298
    functionName: get_group5_prime
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - BN_get_rfc3526_prime_1536
    - get_rfc3526_prime_1536
    - BN_bin2bn
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM * get_group5_prime(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_bin2bn
      Src: /src/hostap/src/crypto/crypto_openssl.c:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 322
    functionName: get_group5_order
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - BN_bin2bn
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM * get_group5_order(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_openssl.c:341,1
    - Dst: EVP_MD_CTX_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:344,1
    - Dst: EVP_DigestInit_ex
      Src: /src/hostap/src/crypto/crypto_openssl.c:347,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:348,1
    - Dst: ERR_error_string
      Src: /src/hostap/src/crypto/crypto_openssl.c:349,1
    - Dst: ERR_get_error
      Src: /src/hostap/src/crypto/crypto_openssl.c:349,1
    - Dst: EVP_MD_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:350,1
    - Dst: EVP_DigestUpdate
      Src: /src/hostap/src/crypto/crypto_openssl.c:354,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:355,1
    - Dst: ERR_error_string
      Src: /src/hostap/src/crypto/crypto_openssl.c:357,1
    - Dst: ERR_get_error
      Src: /src/hostap/src/crypto/crypto_openssl.c:357,1
    - Dst: EVP_MD_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:358,1
    - Dst: EVP_DigestFinal
      Src: /src/hostap/src/crypto/crypto_openssl.c:362,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:363,1
    - Dst: ERR_error_string
      Src: /src/hostap/src/crypto/crypto_openssl.c:364,1
    - Dst: ERR_get_error
      Src: /src/hostap/src/crypto/crypto_openssl.c:364,1
    - Dst: EVP_MD_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:365,1
    - Dst: EVP_MD_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:368,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 5
    argNames:
    - type
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - EVP_MD*
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 334
    functionDepth: 2
    functionLinenumber: 334
    functionLinenumberEnd: 371
    functionName: openssl_digest_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - TEST_FAIL
    - EVP_DigestInit_ex
    - EVP_DigestFinal
    - EVP_DigestUpdate
    - ERR_error_string
    - EVP_MD_CTX_new
    - ERR_get_error
    - EVP_MD_CTX_free
    linkageType: ''
    returnType: int
    signature: "int openssl_digest_vector(const EVP_MD *type, size_t num_elem,\n\t\t\t\t
      const u8 *addr[], const size_t *len, u8 *mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: openssl_disable_fips
      Src: /src/hostap/src/crypto/crypto_openssl.c:378,1
    - Dst: openssl_load_default_provider_if_fips
      Src: /src/hostap/src/crypto/crypto_openssl.c:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 380
    functionName: openssl_need_md5
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - openssl_load_default_provider_if_fips
    - openssl_disable_fips
    linkageType: ''
    returnType: void
    signature: void openssl_need_md5(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: openssl_disable_fips
      Src: /src/hostap/src/crypto/crypto_openssl.c:385,1
    - Dst: openssl_load_legacy_provider
      Src: /src/hostap/src/crypto/crypto_openssl.c:386,1
    - Dst: openssl_digest_vector
      Src: /src/hostap/src/crypto/crypto_openssl.c:387,1
    - Dst: EVP_md4
      Src: /src/hostap/src/crypto/crypto_openssl.c:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 383
    functionDepth: 3
    functionLinenumber: 383
    functionLinenumberEnd: 388
    functionName: md4_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 3
    functionsReached:
    - openssl_digest_vector
    - EVP_md4
    - openssl_load_legacy_provider
    - openssl_disable_fips
    linkageType: ''
    returnType: int
    signature: int md4_vector(size_t num_elem, const u8 *addr[], const size_t *len,
      u8 *mac)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: openssl_load_legacy_provider
      Src: /src/hostap/src/crypto/crypto_openssl.c:397,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:408,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/hostap/src/crypto/crypto_openssl.c:410,1
    - Dst: EVP_des_ecb
      Src: /src/hostap/src/crypto/crypto_openssl.c:410,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/hostap/src/crypto/crypto_openssl.c:411,1
    - Dst: EVP_EncryptUpdate
      Src: /src/hostap/src/crypto/crypto_openssl.c:412,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/hostap/src/crypto/crypto_openssl.c:413,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:416,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:419,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - clear
    - key
    - cypher
    argTypes:
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 421
    functionName: des_encrypt
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 3
    functionsReached:
    - EVP_CIPHER_CTX_free
    - wpa_printf
    - EVP_CIPHER_CTX_new
    - EVP_EncryptFinal_ex
    - EVP_des_ecb
    - EVP_CIPHER_CTX_set_padding
    - EVP_EncryptInit_ex
    - openssl_load_legacy_provider
    - EVP_EncryptUpdate
    linkageType: ''
    returnType: int
    signature: int des_encrypt(const u8 *clear, const u8 *key, u8 *cypher)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: openssl_load_legacy_provider
      Src: /src/hostap/src/crypto/crypto_openssl.c:436,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:438,1
    - Dst: EVP_CipherInit_ex
      Src: /src/hostap/src/crypto/crypto_openssl.c:440,1
    - Dst: EVP_rc4
      Src: /src/hostap/src/crypto/crypto_openssl.c:440,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/hostap/src/crypto/crypto_openssl.c:441,1
    - Dst: EVP_CIPHER_CTX_set_key_length
      Src: /src/hostap/src/crypto/crypto_openssl.c:442,1
    - Dst: EVP_CipherInit_ex
      Src: /src/hostap/src/crypto/crypto_openssl.c:443,1
    - Dst: EVP_CipherUpdate
      Src: /src/hostap/src/crypto/crypto_openssl.c:450,1
    - Dst: EVP_CipherUpdate
      Src: /src/hostap/src/crypto/crypto_openssl.c:455,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:460,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 5
    argNames:
    - key
    - keylen
    - skip
    - data
    - data_len
    argTypes:
    - u8*
    - size_t
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 463
    functionName: rc4_skip
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 7
    functionsReached:
    - EVP_CIPHER_CTX_free
    - EVP_CIPHER_CTX_new
    - EVP_CipherInit_ex
    - EVP_CIPHER_CTX_set_key_length
    - EVP_rc4
    - EVP_CIPHER_CTX_set_padding
    - openssl_load_legacy_provider
    - EVP_CipherUpdate
    linkageType: ''
    returnType: int
    signature: "int rc4_skip(const u8 *key, size_t keylen, size_t skip,\n\t     u8
      *data, size_t data_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: openssl_need_md5
      Src: /src/hostap/src/crypto/crypto_openssl.c:469,1
    - Dst: openssl_digest_vector
      Src: /src/hostap/src/crypto/crypto_openssl.c:470,1
    - Dst: EVP_md5
      Src: /src/hostap/src/crypto/crypto_openssl.c:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 467
    functionDepth: 3
    functionLinenumber: 467
    functionLinenumberEnd: 471
    functionName: md5_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 9
    functionsReached:
    - EVP_md5
    - openssl_digest_vector
    - openssl_need_md5
    linkageType: ''
    returnType: int
    signature: int md5_vector(size_t num_elem, const u8 *addr[], const size_t *len,
      u8 *mac)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: openssl_digest_vector
      Src: /src/hostap/src/crypto/crypto_openssl.c:478,1
    - Dst: EVP_sha1
      Src: /src/hostap/src/crypto/crypto_openssl.c:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 476
    functionDepth: 3
    functionLinenumber: 476
    functionLinenumberEnd: 479
    functionName: sha1_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 20
    functionsReached:
    - openssl_digest_vector
    - EVP_sha1
    linkageType: ''
    returnType: int
    signature: int sha1_vector(size_t num_elem, const u8 *addr[], const size_t *len,
      u8 *mac)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: openssl_digest_vector
      Src: /src/hostap/src/crypto/crypto_openssl.c:486,1
    - Dst: EVP_sha256
      Src: /src/hostap/src/crypto/crypto_openssl.c:486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 483
    functionDepth: 3
    functionLinenumber: 483
    functionLinenumberEnd: 487
    functionName: sha256_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 21
    functionsReached:
    - openssl_digest_vector
    - EVP_sha256
    linkageType: ''
    returnType: int
    signature: "int sha256_vector(size_t num_elem, const u8 *addr[], const size_t
      *len,\n\t\t  u8 *mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: openssl_digest_vector
      Src: /src/hostap/src/crypto/crypto_openssl.c:495,1
    - Dst: EVP_sha384
      Src: /src/hostap/src/crypto/crypto_openssl.c:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 492
    functionDepth: 3
    functionLinenumber: 492
    functionLinenumberEnd: 496
    functionName: sha384_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 10
    functionsReached:
    - openssl_digest_vector
    - EVP_sha384
    linkageType: ''
    returnType: int
    signature: "int sha384_vector(size_t num_elem, const u8 *addr[], const size_t
      *len,\n\t\t  u8 *mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: openssl_digest_vector
      Src: /src/hostap/src/crypto/crypto_openssl.c:504,1
    - Dst: EVP_sha512
      Src: /src/hostap/src/crypto/crypto_openssl.c:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 501
    functionDepth: 3
    functionLinenumber: 501
    functionLinenumberEnd: 505
    functionName: sha512_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 8
    functionsReached:
    - openssl_digest_vector
    - EVP_sha512
    linkageType: ''
    returnType: int
    signature: "int sha512_vector(size_t num_elem, const u8 *addr[], const size_t
      *len,\n\t\t  u8 *mac)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_aes_128_ecb
      Src: /src/hostap/src/crypto/crypto_openssl.c:513,1
    - Dst: EVP_aes_192_ecb
      Src: /src/hostap/src/crypto/crypto_openssl.c:515,1
    - Dst: EVP_aes_256_ecb
      Src: /src/hostap/src/crypto/crypto_openssl.c:517,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - keylen
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 521
    functionName: aes_get_evp_cipher
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - EVP_aes_256_ecb
    - EVP_aes_192_ecb
    - EVP_aes_128_ecb
    linkageType: ''
    returnType: EVP_CIPHER
    signature: EVP_CIPHER * aes_get_evp_cipher(size_t keylen)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_openssl.c:529,1
    - Dst: aes_get_evp_cipher
      Src: /src/hostap/src/crypto/crypto_openssl.c:532,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:534,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:539,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/hostap/src/crypto/crypto_openssl.c:542,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/hostap/src/crypto/crypto_openssl.c:543,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:544,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - key
    - len
    argTypes:
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 548
    functionName: aes_encrypt_init
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 10
    functionsReached:
    - EVP_CIPHER_CTX_free
    - wpa_printf
    - TEST_FAIL
    - EVP_CIPHER_CTX_new
    - aes_get_evp_cipher
    - EVP_CIPHER_CTX_set_padding
    - EVP_EncryptInit_ex
    linkageType: ''
    returnType: void
    signature: void * aes_encrypt_init(const u8 *key, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_EncryptUpdate
      Src: /src/hostap/src/crypto/crypto_openssl.c:555,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:556,1
    - Dst: ERR_error_string
      Src: /src/hostap/src/crypto/crypto_openssl.c:557,1
    - Dst: ERR_get_error
      Src: /src/hostap/src/crypto/crypto_openssl.c:557,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - plain
    - crypt
    argTypes:
    - void*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 561
    functionName: aes_encrypt
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 15
    functionsReached:
    - ERR_get_error
    - wpa_printf
    - ERR_error_string
    - EVP_EncryptUpdate
    linkageType: ''
    returnType: int
    signature: int aes_encrypt(void *ctx, const u8 *plain, u8 *crypt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_EncryptFinal_ex
      Src: /src/hostap/src/crypto/crypto_openssl.c:569,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:570,1
    - Dst: ERR_error_string
      Src: /src/hostap/src/crypto/crypto_openssl.c:571,1
    - Dst: ERR_get_error
      Src: /src/hostap/src/crypto/crypto_openssl.c:571,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:574,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:577,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 578
    functionName: aes_encrypt_deinit
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 12
    functionsReached:
    - EVP_CIPHER_CTX_free
    - wpa_printf
    - EVP_EncryptFinal_ex
    - ERR_error_string
    - ERR_get_error
    linkageType: ''
    returnType: void
    signature: void aes_encrypt_deinit(void *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_openssl.c:586,1
    - Dst: aes_get_evp_cipher
      Src: /src/hostap/src/crypto/crypto_openssl.c:589,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:591,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:596,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/hostap/src/crypto/crypto_openssl.c:599,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/hostap/src/crypto/crypto_openssl.c:600,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:601,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - key
    - len
    argTypes:
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 581
    functionDepth: 1
    functionLinenumber: 581
    functionLinenumberEnd: 605
    functionName: aes_decrypt_init
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 3
    functionsReached:
    - EVP_CIPHER_CTX_free
    - wpa_printf
    - TEST_FAIL
    - EVP_CIPHER_CTX_new
    - EVP_DecryptInit_ex
    - aes_get_evp_cipher
    - EVP_CIPHER_CTX_set_padding
    linkageType: ''
    returnType: void
    signature: void * aes_decrypt_init(const u8 *key, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DecryptUpdate
      Src: /src/hostap/src/crypto/crypto_openssl.c:612,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:613,1
    - Dst: ERR_error_string
      Src: /src/hostap/src/crypto/crypto_openssl.c:614,1
    - Dst: ERR_get_error
      Src: /src/hostap/src/crypto/crypto_openssl.c:614,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - crypt
    - plain
    argTypes:
    - void*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 618
    functionName: aes_decrypt
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 4
    functionsReached:
    - ERR_get_error
    - wpa_printf
    - EVP_DecryptUpdate
    - ERR_error_string
    linkageType: ''
    returnType: int
    signature: int aes_decrypt(void *ctx, const u8 *crypt, u8 *plain)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DecryptFinal_ex
      Src: /src/hostap/src/crypto/crypto_openssl.c:626,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:627,1
    - Dst: ERR_error_string
      Src: /src/hostap/src/crypto/crypto_openssl.c:628,1
    - Dst: ERR_get_error
      Src: /src/hostap/src/crypto/crypto_openssl.c:628,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:631,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:634,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 635
    functionName: aes_decrypt_deinit
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 3
    functionsReached:
    - EVP_CIPHER_CTX_free
    - wpa_printf
    - EVP_DecryptFinal_ex
    - ERR_error_string
    - ERR_get_error
    linkageType: ''
    returnType: void
    signature: void aes_decrypt_deinit(void *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_aes_128_wrap
      Src: /src/hostap/src/crypto/crypto_openssl.c:646,1
    - Dst: EVP_aes_192_wrap
      Src: /src/hostap/src/crypto/crypto_openssl.c:648,1
    - Dst: EVP_aes_256_wrap
      Src: /src/hostap/src/crypto/crypto_openssl.c:650,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - keylen
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 654
    functionName: aes_get_evp_wrap_cipher
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - EVP_aes_256_wrap
    - EVP_aes_192_wrap
    - EVP_aes_128_wrap
    linkageType: ''
    returnType: EVP_CIPHER
    signature: EVP_CIPHER * aes_get_evp_wrap_cipher(size_t keylen)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_openssl.c:666,1
    - Dst: aes_get_evp_wrap_cipher
      Src: /src/hostap/src/crypto/crypto_openssl.c:669,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:673,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/hostap/src/crypto/crypto_openssl.c:677,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/hostap/src/crypto/crypto_openssl.c:678,1
    - Dst: EVP_EncryptUpdate
      Src: /src/hostap/src/crypto/crypto_openssl.c:679,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/hostap/src/crypto/crypto_openssl.c:681,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:684,1
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_openssl.c:690,1
    - Dst: AES_set_encrypt_key
      Src: /src/hostap/src/crypto/crypto_openssl.c:692,1
    - Dst: AES_wrap_key
      Src: /src/hostap/src/crypto/crypto_openssl.c:694,1
    - Dst: OPENSSL_cleanse
      Src: /src/hostap/src/crypto/crypto_openssl.c:695,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 5
    argNames:
    - kek
    - kek_len
    - n
    - plain
    - cipher
    argTypes:
    - u8*
    - size_t
    - int
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 658
    functionDepth: 1
    functionLinenumber: 658
    functionLinenumberEnd: 698
    functionName: aes_wrap
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 2
    functionsReached:
    - EVP_CIPHER_CTX_free
    - TEST_FAIL
    - EVP_CIPHER_CTX_new
    - OPENSSL_cleanse
    - EVP_EncryptFinal_ex
    - AES_set_encrypt_key
    - EVP_CIPHER_CTX_set_padding
    - EVP_EncryptInit_ex
    - aes_get_evp_wrap_cipher
    - AES_wrap_key
    - EVP_EncryptUpdate
    linkageType: ''
    returnType: int
    signature: int aes_wrap(const u8 *kek, size_t kek_len, int n, const u8 *plain,
      u8 *cipher)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_openssl.c:710,1
    - Dst: aes_get_evp_wrap_cipher
      Src: /src/hostap/src/crypto/crypto_openssl.c:713,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:717,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/hostap/src/crypto/crypto_openssl.c:721,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/hostap/src/crypto/crypto_openssl.c:722,1
    - Dst: EVP_DecryptUpdate
      Src: /src/hostap/src/crypto/crypto_openssl.c:723,1
    - Dst: EVP_DecryptFinal_ex
      Src: /src/hostap/src/crypto/crypto_openssl.c:725,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:728,1
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_openssl.c:734,1
    - Dst: AES_set_decrypt_key
      Src: /src/hostap/src/crypto/crypto_openssl.c:736,1
    - Dst: AES_unwrap_key
      Src: /src/hostap/src/crypto/crypto_openssl.c:738,1
    - Dst: OPENSSL_cleanse
      Src: /src/hostap/src/crypto/crypto_openssl.c:739,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 5
    argNames:
    - kek
    - kek_len
    - n
    - cipher
    - plain
    argTypes:
    - u8*
    - size_t
    - int
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 701
    functionDepth: 1
    functionLinenumber: 701
    functionLinenumberEnd: 742
    functionName: aes_unwrap
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 6
    functionsReached:
    - EVP_CIPHER_CTX_free
    - TEST_FAIL
    - EVP_CIPHER_CTX_new
    - EVP_DecryptInit_ex
    - OPENSSL_cleanse
    - AES_set_decrypt_key
    - EVP_DecryptFinal_ex
    - EVP_CIPHER_CTX_set_padding
    - aes_get_evp_wrap_cipher
    - AES_unwrap_key
    - EVP_DecryptUpdate
    linkageType: ''
    returnType: int
    signature: "int aes_unwrap(const u8 *kek, size_t kek_len, int n, const u8 *cipher,\n\t
      \      u8 *plain)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_openssl.c:755,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:758,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/hostap/src/crypto/crypto_openssl.c:763,1
    - Dst: EVP_aes_128_cbc
      Src: /src/hostap/src/crypto/crypto_openssl.c:763,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/hostap/src/crypto/crypto_openssl.c:764,1
    - Dst: EVP_EncryptUpdate
      Src: /src/hostap/src/crypto/crypto_openssl.c:765,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/hostap/src/crypto/crypto_openssl.c:767,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:769,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 4
    argNames:
    - key
    - iv
    - data
    - data_len
    argTypes:
    - u8*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 748
    functionDepth: 1
    functionLinenumber: 748
    functionLinenumberEnd: 772
    functionName: aes_128_cbc_encrypt
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 1
    functionsReached:
    - EVP_CIPHER_CTX_free
    - TEST_FAIL
    - EVP_CIPHER_CTX_new
    - EVP_EncryptFinal_ex
    - EVP_CIPHER_CTX_set_padding
    - EVP_EncryptInit_ex
    - EVP_aes_128_cbc
    - EVP_EncryptUpdate
    linkageType: ''
    returnType: int
    signature: int aes_128_cbc_encrypt(const u8 *key, const u8 *iv, u8 *data, size_t
      data_len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_openssl.c:782,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:785,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/hostap/src/crypto/crypto_openssl.c:790,1
    - Dst: EVP_aes_128_cbc
      Src: /src/hostap/src/crypto/crypto_openssl.c:790,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/hostap/src/crypto/crypto_openssl.c:791,1
    - Dst: EVP_DecryptUpdate
      Src: /src/hostap/src/crypto/crypto_openssl.c:792,1
    - Dst: EVP_DecryptFinal_ex
      Src: /src/hostap/src/crypto/crypto_openssl.c:794,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:796,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 4
    argNames:
    - key
    - iv
    - data
    - data_len
    argTypes:
    - u8*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 775
    functionDepth: 1
    functionLinenumber: 775
    functionLinenumberEnd: 800
    functionName: aes_128_cbc_decrypt
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 1
    functionsReached:
    - EVP_CIPHER_CTX_free
    - TEST_FAIL
    - EVP_CIPHER_CTX_new
    - EVP_DecryptInit_ex
    - EVP_DecryptFinal_ex
    - EVP_CIPHER_CTX_set_padding
    - EVP_aes_128_cbc
    - EVP_DecryptUpdate
    linkageType: ''
    returnType: int
    signature: int aes_128_cbc_decrypt(const u8 *key, const u8 *iv, u8 *data, size_t
      data_len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_get_random
      Src: /src/hostap/src/crypto/crypto_openssl.c:808,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/crypto_openssl.c:810,1
    - Dst: crypto_mod_exp
      Src: /src/hostap/src/crypto/crypto_openssl.c:816,1
    - Dst: os_memmove
      Src: /src/hostap/src/crypto/crypto_openssl.c:821,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/crypto_openssl.c:822,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 5
    argNames:
    - generator
    - prime
    - prime_len
    - privkey
    - pubkey
    argTypes:
    - u8
    - u8*
    - size_t
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 803
    functionDepth: 0
    functionLinenumber: 803
    functionLinenumberEnd: 826
    functionName: crypto_dh_init
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - os_get_random
    - os_memmove
    - os_memcmp
    - crypto_mod_exp
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int crypto_dh_init(u8 generator, const u8 *prime, size_t prime_len,
      u8 *privkey,\n\t\t   u8 *pubkey)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BN_bin2bn
      Src: /src/hostap/src/crypto/crypto_openssl.c:838,1
    - Dst: BN_bin2bn
      Src: /src/hostap/src/crypto/crypto_openssl.c:839,1
    - Dst: BN_is_zero
      Src: /src/hostap/src/crypto/crypto_openssl.c:840,1
    - Dst: BN_is_one
      Src: /src/hostap/src/crypto/crypto_openssl.c:840,1
    - Dst: BN_cmp
      Src: /src/hostap/src/crypto/crypto_openssl.c:841,1
    - Dst: BN_bin2bn
      Src: /src/hostap/src/crypto/crypto_openssl.c:850,1
    - Dst: BN_CTX_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:851,1
    - Dst: BN_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:852,1
    - Dst: BN_mod_exp
      Src: /src/hostap/src/crypto/crypto_openssl.c:854,1
    - Dst: BN_is_one
      Src: /src/hostap/src/crypto/crypto_openssl.c:855,1
    - Dst: BN_clear_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:856,1
    - Dst: BN_clear_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:857,1
    - Dst: BN_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:858,1
    - Dst: crypto_mod_exp
      Src: /src/hostap/src/crypto/crypto_openssl.c:863,1
    - Dst: BN_clear_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:866,1
    - Dst: BN_clear_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:867,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 11
    argNames:
    - generator
    - prime
    - prime_len
    - order
    - order_len
    - privkey
    - privkey_len
    - pubkey
    - pubkey_len
    - secret
    - len
    argTypes:
    - u8
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 869
    functionName: crypto_dh_derive_secret
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - BN_is_zero
    - BN_bin2bn
    - BN_is_one
    - BN_cmp
    - BN_new
    - BN_CTX_free
    - BN_mod_exp
    - BN_clear_free
    - crypto_mod_exp
    - BN_CTX_new
    linkageType: ''
    returnType: int
    signature: "int crypto_dh_derive_secret(u8 generator, const u8 *prime, size_t
      prime_len,\n\t\t\t    const u8 *order, size_t order_len,\n\t\t\t    const u8
      *privkey, size_t privkey_len,\n\t\t\t    const u8 *pubkey, size_t pubkey_len,\n\t\t\t
      \   u8 *secret, size_t *len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:881,1
    - Dst: BN_bin2bn
      Src: /src/hostap/src/crypto/crypto_openssl.c:885,1
    - Dst: BN_bin2bn
      Src: /src/hostap/src/crypto/crypto_openssl.c:886,1
    - Dst: BN_bin2bn
      Src: /src/hostap/src/crypto/crypto_openssl.c:887,1
    - Dst: BN_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:888,1
    - Dst: BN_mod_exp_mont_consttime
      Src: /src/hostap/src/crypto/crypto_openssl.c:894,1
    - Dst: BN_bn2bin
      Src: /src/hostap/src/crypto/crypto_openssl.c:898,1
    - Dst: BN_clear_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:902,1
    - Dst: BN_clear_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:903,1
    - Dst: BN_clear_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:904,1
    - Dst: BN_clear_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:905,1
    - Dst: BN_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:906,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 8
    argNames:
    - base
    - base_len
    - power
    - power_len
    - modulus
    - modulus_len
    - result
    - result_len
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 872
    functionDepth: 0
    functionLinenumber: 872
    functionLinenumberEnd: 908
    functionName: crypto_mod_exp
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 10
    functionsReached:
    - BN_bin2bn
    - BN_mod_exp_mont_consttime
    - BN_new
    - BN_CTX_free
    - BN_bn2bin
    - BN_clear_free
    - BN_CTX_new
    linkageType: ''
    returnType: int
    signature: "int crypto_mod_exp(const u8 *base, size_t base_len,\n\t\t   const
      u8 *power, size_t power_len,\n\t\t   const u8 *modulus, size_t modulus_len,\n\t\t
      \  u8 *result, size_t *result_len)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/crypto/crypto_openssl.c:924,1
    - Dst: EVP_rc4
      Src: /src/hostap/src/crypto/crypto_openssl.c:932,1
    - Dst: EVP_aes_128_cbc
      Src: /src/hostap/src/crypto/crypto_openssl.c:940,1
    - Dst: EVP_aes_192_cbc
      Src: /src/hostap/src/crypto/crypto_openssl.c:944,1
    - Dst: EVP_aes_256_cbc
      Src: /src/hostap/src/crypto/crypto_openssl.c:948,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:951,1
    - Dst: EVP_des_ede3_cbc
      Src: /src/hostap/src/crypto/crypto_openssl.c:958,1
    - Dst: EVP_des_cbc
      Src: /src/hostap/src/crypto/crypto_openssl.c:961,1
    - Dst: EVP_enc_null
      Src: /src/hostap/src/crypto/crypto_openssl.c:966,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:970,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:974,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/hostap/src/crypto/crypto_openssl.c:975,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/hostap/src/crypto/crypto_openssl.c:976,1
    - Dst: EVP_CIPHER_CTX_set_key_length
      Src: /src/hostap/src/crypto/crypto_openssl.c:977,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/hostap/src/crypto/crypto_openssl.c:978,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:980,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:981,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:985,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/hostap/src/crypto/crypto_openssl.c:986,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/hostap/src/crypto/crypto_openssl.c:987,1
    - Dst: EVP_CIPHER_CTX_set_key_length
      Src: /src/hostap/src/crypto/crypto_openssl.c:988,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/hostap/src/crypto/crypto_openssl.c:989,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:990,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:992,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:993,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 51
    argCount: 4
    argNames:
    - alg
    - iv
    - key
    - key_len
    argTypes:
    - enum crypto_cipher_alg
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 917
    functionDepth: 0
    functionLinenumber: 917
    functionLinenumberEnd: 998
    functionName: crypto_cipher_init
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_free
    - EVP_CIPHER_CTX_new
    - EVP_DecryptInit_ex
    - EVP_CIPHER_CTX_set_key_length
    - EVP_rc4
    - EVP_aes_256_cbc
    - os_zalloc
    - EVP_enc_null
    - EVP_des_ede3_cbc
    - EVP_CIPHER_CTX_set_padding
    - os_free
    - EVP_aes_192_cbc
    - EVP_des_cbc
    - EVP_aes_128_cbc
    - EVP_EncryptInit_ex
    linkageType: ''
    returnType: struct crypto_cipher
    signature: "struct crypto_cipher * crypto_cipher_init(enum crypto_cipher_alg alg,\n\t\t\t\t\t
      \ const u8 *iv, const u8 *key,\n\t\t\t\t\t  size_t key_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_EncryptUpdate
      Src: /src/hostap/src/crypto/crypto_openssl.c:1005,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - ctx
    - plain
    - crypt
    - len
    argTypes:
    - struct crypto_cipher*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 1001
    functionDepth: 0
    functionLinenumber: 1001
    functionLinenumberEnd: 1008
    functionName: crypto_cipher_encrypt
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - EVP_EncryptUpdate
    linkageType: ''
    returnType: int
    signature: "int crypto_cipher_encrypt(struct crypto_cipher *ctx, const u8 *plain,\n\t\t\t
      \ u8 *crypt, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DecryptUpdate
      Src: /src/hostap/src/crypto/crypto_openssl.c:1016,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - crypt
    - plain
    - len
    argTypes:
    - struct crypto_cipher*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 1011
    functionDepth: 0
    functionLinenumber: 1011
    functionLinenumberEnd: 1019
    functionName: crypto_cipher_decrypt
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - EVP_DecryptUpdate
    linkageType: ''
    returnType: int
    signature: "int crypto_cipher_decrypt(struct crypto_cipher *ctx, const u8 *crypt,\n\t\t\t
      \ u8 *plain, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:1024,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:1025,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:1026,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct crypto_cipher*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 1022
    functionDepth: 0
    functionLinenumber: 1022
    functionLinenumberEnd: 1027
    functionName: crypto_cipher_deinit
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_free
    - os_free
    linkageType: ''
    returnType: void
    signature: void crypto_cipher_deinit(struct crypto_cipher *ctx)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:1038,1
    - Dst: DH_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:1041,1
    - Dst: BN_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:1045,1
    - Dst: BN_set_word
      Src: /src/hostap/src/crypto/crypto_openssl.c:1046,1
    - Dst: get_group5_prime
      Src: /src/hostap/src/crypto/crypto_openssl.c:1049,1
    - Dst: get_group5_order
      Src: /src/hostap/src/crypto/crypto_openssl.c:1053,1
    - Dst: DH_generate_key
      Src: /src/hostap/src/crypto/crypto_openssl.c:1057,1
    - Dst: BN_num_bytes
      Src: /src/hostap/src/crypto/crypto_openssl.c:1060,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/crypto/crypto_openssl.c:1061,1
    - Dst: BN_num_bytes
      Src: /src/hostap/src/crypto/crypto_openssl.c:1064,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/crypto/crypto_openssl.c:1065,1
    - Dst: BN_bn2bin
      Src: /src/hostap/src/crypto/crypto_openssl.c:1069,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/crypto/crypto_openssl.c:1069,1
    - Dst: BN_bn2bin
      Src: /src/hostap/src/crypto/crypto_openssl.c:1070,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/crypto/crypto_openssl.c:1070,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:1077,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:1078,1
    - Dst: DH_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:1079,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:1092,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/hostap/src/crypto/crypto_openssl.c:1095,1
    - Dst: openssl_disable_fips
      Src: /src/hostap/src/crypto/crypto_openssl.c:1096,1
    - Dst: openssl_load_default_provider_if_fips
      Src: /src/hostap/src/crypto/crypto_openssl.c:1097,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/hostap/src/crypto/crypto_openssl.c:1101,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/hostap/src/crypto/crypto_openssl.c:1103,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/hostap/src/crypto/crypto_openssl.c:1105,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/hostap/src/crypto/crypto_openssl.c:1107,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/hostap/src/crypto/crypto_openssl.c:1108,1
    - Dst: EVP_PKEY_generate
      Src: /src/hostap/src/crypto/crypto_openssl.c:1109,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/hostap/src/crypto/crypto_openssl.c:1110,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/hostap/src/crypto/crypto_openssl.c:1112,1
    - Dst: BN_num_bytes
      Src: /src/hostap/src/crypto/crypto_openssl.c:1116,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/crypto/crypto_openssl.c:1117,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/crypto/crypto_openssl.c:1118,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/hostap/src/crypto/crypto_openssl.c:1119,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/crypto/crypto_openssl.c:1121,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:1123,1
    - Dst: ERR_error_string
      Src: /src/hostap/src/crypto/crypto_openssl.c:1124,1
    - Dst: ERR_get_error
      Src: /src/hostap/src/crypto/crypto_openssl.c:1124,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:1125,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:1126,1
    - Dst: EVP_PKEY_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:1127,1
    - Dst: BN_bn2bin
      Src: /src/hostap/src/crypto/crypto_openssl.c:1130,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/crypto/crypto_openssl.c:1130,1
    - Dst: BN_clear_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:1136,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:1137,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:1147,1
    - Dst: DH_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:1150,1
    - Dst: BN_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:1154,1
    - Dst: get_group5_prime
      Src: /src/hostap/src/crypto/crypto_openssl.c:1155,1
    - Dst: get_group5_order
      Src: /src/hostap/src/crypto/crypto_openssl.c:1156,1
    - Dst: BN_set_word
      Src: /src/hostap/src/crypto/crypto_openssl.c:1157,1
    - Dst: DH_set0_pqg
      Src: /src/hostap/src/crypto/crypto_openssl.c:1158,1
    - Dst: DH_generate_key
      Src: /src/hostap/src/crypto/crypto_openssl.c:1164,1
    - Dst: DH_get0_key
      Src: /src/hostap/src/crypto/crypto_openssl.c:1167,1
    - Dst: BN_num_bytes
      Src: /src/hostap/src/crypto/crypto_openssl.c:1168,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/crypto/crypto_openssl.c:1169,1
    - Dst: BN_num_bytes
      Src: /src/hostap/src/crypto/crypto_openssl.c:1172,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/crypto/crypto_openssl.c:1173,1
    - Dst: BN_bn2bin
      Src: /src/hostap/src/crypto/crypto_openssl.c:1177,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/crypto/crypto_openssl.c:1177,1
    - Dst: BN_bn2bin
      Src: /src/hostap/src/crypto/crypto_openssl.c:1178,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/crypto/crypto_openssl.c:1178,1
    - Dst: BN_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:1185,1
    - Dst: BN_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:1186,1
    - Dst: BN_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:1187,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:1188,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:1189,1
    - Dst: DH_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:1190,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 111
    argCount: 2
    argNames:
    - priv
    - publ
    argTypes:
    - struct wpabuf**
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1030
    functionDepth: 1
    functionLinenumber: 1030
    functionLinenumberEnd: 1193
    functionName: dh5_init
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - openssl_load_default_provider_if_fips
    - EVP_PKEY_free
    - wpabuf_alloc
    - OSSL_PARAM_construct_utf8_string
    - BN_num_bytes
    - EVP_PKEY_CTX_set_params
    - wpa_printf
    - get_group5_order
    - OSSL_PARAM_construct_end
    - EVP_PKEY_CTX_new_from_name
    - DH_set0_pqg
    - EVP_PKEY_get_bn_param
    - wpabuf_clear_free
    - BN_bn2bin
    - EVP_PKEY_CTX_free
    - openssl_disable_fips
    - DH_generate_key
    - DH_new
    - DH_get0_key
    - DH_free
    - ERR_get_error
    - BN_set_word
    - BN_clear_free
    - OSSL_PROVIDER_available
    - wpabuf_put
    - EVP_PKEY_generate
    - EVP_PKEY_get_octet_string_param
    - wpabuf_free
    - get_group5_prime
    - BN_new
    - EVP_PKEY_keygen_init
    - ERR_error_string
    - BN_free
    linkageType: ''
    returnType: void
    signature: void * dh5_init(struct wpabuf **priv, struct wpabuf **publ)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: DH_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:1201,1
    - Dst: BN_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:1205,1
    - Dst: BN_set_word
      Src: /src/hostap/src/crypto/crypto_openssl.c:1206,1
    - Dst: get_group5_prime
      Src: /src/hostap/src/crypto/crypto_openssl.c:1209,1
    - Dst: BN_bin2bn
      Src: /src/hostap/src/crypto/crypto_openssl.c:1213,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/crypto/crypto_openssl.c:1213,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/crypto_openssl.c:1213,1
    - Dst: BN_bin2bn
      Src: /src/hostap/src/crypto/crypto_openssl.c:1217,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/crypto/crypto_openssl.c:1217,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/crypto_openssl.c:1217,1
    - Dst: DH_generate_key
      Src: /src/hostap/src/crypto/crypto_openssl.c:1221,1
    - Dst: DH_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:1227,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/hostap/src/crypto/crypto_openssl.c:1236,1
    - Dst: BN_bin2bn
      Src: /src/hostap/src/crypto/crypto_openssl.c:1237,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/crypto/crypto_openssl.c:1237,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/crypto_openssl.c:1237,1
    - Dst: BN_bin2bn
      Src: /src/hostap/src/crypto/crypto_openssl.c:1238,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/crypto/crypto_openssl.c:1238,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/crypto_openssl.c:1238,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:1239,1
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/hostap/src/crypto/crypto_openssl.c:1241,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/hostap/src/crypto/crypto_openssl.c:1243,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/hostap/src/crypto/crypto_openssl.c:1245,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/hostap/src/crypto/crypto_openssl.c:1247,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/hostap/src/crypto/crypto_openssl.c:1248,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/hostap/src/crypto/crypto_openssl.c:1249,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:1250,1
    - Dst: ERR_error_string
      Src: /src/hostap/src/crypto/crypto_openssl.c:1251,1
    - Dst: ERR_get_error
      Src: /src/hostap/src/crypto/crypto_openssl.c:1251,1
    - Dst: EVP_PKEY_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:1252,1
    - Dst: BN_clear_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:1256,1
    - Dst: BN_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:1257,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:1258,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:1259,1
    - Dst: OSSL_PARAM_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:1260,1
    - Dst: DH_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:1266,1
    - Dst: BN_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:1270,1
    - Dst: get_group5_prime
      Src: /src/hostap/src/crypto/crypto_openssl.c:1271,1
    - Dst: BN_set_word
      Src: /src/hostap/src/crypto/crypto_openssl.c:1272,1
    - Dst: DH_set0_pqg
      Src: /src/hostap/src/crypto/crypto_openssl.c:1273,1
    - Dst: BN_bin2bn
      Src: /src/hostap/src/crypto/crypto_openssl.c:1278,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/crypto/crypto_openssl.c:1278,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/crypto_openssl.c:1278,1
    - Dst: BN_bin2bn
      Src: /src/hostap/src/crypto/crypto_openssl.c:1279,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/crypto/crypto_openssl.c:1279,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/crypto_openssl.c:1279,1
    - Dst: DH_set0_key
      Src: /src/hostap/src/crypto/crypto_openssl.c:1280,1
    - Dst: DH_generate_key
      Src: /src/hostap/src/crypto/crypto_openssl.c:1285,1
    - Dst: BN_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:1291,1
    - Dst: BN_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:1292,1
    - Dst: BN_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:1293,1
    - Dst: BN_clear_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:1294,1
    - Dst: DH_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:1295,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 72
    argCount: 2
    argNames:
    - priv
    - publ
    argTypes:
    - struct wpabuf*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1196
    functionDepth: 1
    functionLinenumber: 1196
    functionLinenumberEnd: 1298
    functionName: dh5_init_fixed
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 2
    functionsReached:
    - EVP_PKEY_fromdata_init
    - OSSL_PARAM_BLD_push_utf8_string
    - OSSL_PARAM_BLD_to_param
    - BN_bin2bn
    - EVP_PKEY_free
    - OSSL_PARAM_BLD_new
    - EVP_PKEY_fromdata
    - OSSL_PARAM_BLD_push_BN
    - wpa_printf
    - EVP_PKEY_CTX_new_from_name
    - DH_set0_pqg
    - EVP_PKEY_CTX_free
    - wpabuf_len
    - OSSL_PARAM_BLD_free
    - wpabuf_head
    - DH_generate_key
    - DH_set0_key
    - DH_new
    - DH_free
    - ERR_get_error
    - BN_set_word
    - BN_clear_free
    - OSSL_PARAM_free
    - get_group5_prime
    - BN_new
    - ERR_error_string
    - BN_free
    linkageType: ''
    returnType: void
    signature: void * dh5_init_fixed(const struct wpabuf *priv, const struct wpabuf
      *publ)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:1311,1
    - Dst: EVP_PKEY_copy_parameters
      Src: /src/hostap/src/crypto/crypto_openssl.c:1313,1
    - Dst: EVP_PKEY_set1_encoded_public_key
      Src: /src/hostap/src/crypto/crypto_openssl.c:1314,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/crypto/crypto_openssl.c:1314,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/crypto_openssl.c:1315,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:1316,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/hostap/src/crypto/crypto_openssl.c:1317,1
    - Dst: EVP_PKEY_derive_set_peer
      Src: /src/hostap/src/crypto/crypto_openssl.c:1318,1
    - Dst: EVP_PKEY_derive
      Src: /src/hostap/src/crypto/crypto_openssl.c:1319,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/crypto/crypto_openssl.c:1320,1
    - Dst: EVP_PKEY_derive
      Src: /src/hostap/src/crypto/crypto_openssl.c:1321,1
    - Dst: wpabuf_mhead
      Src: /src/hostap/src/crypto/crypto_openssl.c:1321,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:1322,1
    - Dst: ERR_error_string
      Src: /src/hostap/src/crypto/crypto_openssl.c:1323,1
    - Dst: ERR_get_error
      Src: /src/hostap/src/crypto/crypto_openssl.c:1323,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:1324,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/crypto/crypto_openssl.c:1327,1
    - Dst: EVP_PKEY_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:1330,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:1331,1
    - Dst: BN_bin2bn
      Src: /src/hostap/src/crypto/crypto_openssl.c:1343,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/crypto/crypto_openssl.c:1343,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/crypto_openssl.c:1343,1
    - Dst: DH_size
      Src: /src/hostap/src/crypto/crypto_openssl.c:1348,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/crypto/crypto_openssl.c:1349,1
    - Dst: DH_compute_key
      Src: /src/hostap/src/crypto/crypto_openssl.c:1353,1
    - Dst: wpabuf_mhead
      Src: /src/hostap/src/crypto/crypto_openssl.c:1353,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/crypto/crypto_openssl.c:1356,1
    - Dst: BN_clear_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:1357,1
    - Dst: BN_clear_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:1362,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:1363,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 34
    argCount: 3
    argNames:
    - ctx
    - peer_public
    - own_private
    argTypes:
    - void*
    - struct wpabuf*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1366
      start: 1301
    functionDepth: 1
    functionLinenumber: 1301
    functionLinenumberEnd: 1366
    functionName: dh5_derive_shared
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_new
    - DH_size
    - BN_bin2bn
    - EVP_PKEY_free
    - wpabuf_alloc
    - EVP_PKEY_derive
    - wpa_printf
    - EVP_PKEY_derive_init
    - wpabuf_clear_free
    - EVP_PKEY_CTX_new
    - EVP_PKEY_CTX_free
    - EVP_PKEY_derive_set_peer
    - wpabuf_len
    - wpabuf_head
    - EVP_PKEY_copy_parameters
    - wpabuf_mhead
    - ERR_get_error
    - BN_clear_free
    - wpabuf_put
    - EVP_PKEY_set1_encoded_public_key
    - wpabuf_free
    - ERR_error_string
    - DH_compute_key
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * dh5_derive_shared(void *ctx, const struct wpabuf *peer_public,\n\t\t\t\t
      \ const struct wpabuf *own_private)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:1374,1
    - Dst: DH_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:1380,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1382
      start: 1369
    functionDepth: 0
    functionLinenumber: 1369
    functionLinenumberEnd: 1382
    functionName: dh5_free
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 3
    functionsReached:
    - EVP_PKEY_free
    - DH_free
    linkageType: ''
    returnType: void
    signature: void dh5_free(void *ctx)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MAC_fetch
      Src: /src/hostap/src/crypto/crypto_openssl.c:1426,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/hostap/src/crypto/crypto_openssl.c:1430,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/hostap/src/crypto/crypto_openssl.c:1431,1
    - Dst: os_zalloc
      Src: /src/hostap/src/crypto/crypto_openssl.c:1433,1
    - Dst: EVP_MAC_CTX_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:1436,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:1438,1
    - Dst: EVP_MAC_init
      Src: /src/hostap/src/crypto/crypto_openssl.c:1443,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:1444,1
    - Dst: ERR_error_string
      Src: /src/hostap/src/crypto/crypto_openssl.c:1446,1
    - Dst: ERR_get_error
      Src: /src/hostap/src/crypto/crypto_openssl.c:1446,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:1447,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:1448,1
    - Dst: EVP_MAC_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:1454,1
    - Dst: EVP_md5
      Src: /src/hostap/src/crypto/crypto_openssl.c:1463,1
    - Dst: EVP_sha1
      Src: /src/hostap/src/crypto/crypto_openssl.c:1468,1
    - Dst: EVP_sha256
      Src: /src/hostap/src/crypto/crypto_openssl.c:1474,1
    - Dst: os_zalloc
      Src: /src/hostap/src/crypto/crypto_openssl.c:1482,1
    - Dst: HMAC_CTX_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:1485,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:1487,1
    - Dst: HMAC_Init_ex
      Src: /src/hostap/src/crypto/crypto_openssl.c:1491,1
    - Dst: HMAC_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:1492,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:1493,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 69
    argCount: 3
    argNames:
    - alg
    - key
    - key_len
    argTypes:
    - enum crypto_hash_alg
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1499
      start: 1395
    functionDepth: 2
    functionLinenumber: 1395
    functionLinenumberEnd: 1499
    functionName: crypto_hash_init
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - EVP_sha1
    - EVP_md5
    - EVP_MAC_fetch
    - OSSL_PARAM_construct_utf8_string
    - wpa_printf
    - HMAC_CTX_free
    - OSSL_PARAM_construct_end
    - HMAC_Init_ex
    - HMAC_CTX_new
    - os_free
    - EVP_sha256
    - EVP_MAC_init
    - EVP_MAC_free
    - ERR_get_error
    - EVP_MAC_CTX_new
    - os_zalloc
    - ERR_error_string
    - EVP_MAC_CTX_free
    - bin_clear_free
    linkageType: ''
    returnType: struct crypto_hash
    signature: "struct crypto_hash * crypto_hash_init(enum crypto_hash_alg alg, const
      u8 *key,\n\t\t\t\t      size_t key_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MAC_update
      Src: /src/hostap/src/crypto/crypto_openssl.c:1507,1
    - Dst: HMAC_Update
      Src: /src/hostap/src/crypto/crypto_openssl.c:1510,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - data
    - len
    argTypes:
    - struct crypto_hash*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1513
      start: 1502
    functionDepth: 0
    functionLinenumber: 1502
    functionLinenumberEnd: 1513
    functionName: crypto_hash_update
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - HMAC_Update
    - EVP_MAC_update
    linkageType: ''
    returnType: void
    signature: void crypto_hash_update(struct crypto_hash *ctx, const u8 *data, size_t
      len)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MAC_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:1527,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:1528,1
    - Dst: EVP_MAC_final
      Src: /src/hostap/src/crypto/crypto_openssl.c:1532,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:1534,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:1535,1
    - Dst: EVP_MAC_final
      Src: /src/hostap/src/crypto/crypto_openssl.c:1538,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:1539,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:1541,1
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_openssl.c:1543,1
    - Dst: HMAC_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:1564,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:1565,1
    - Dst: HMAC_Final
      Src: /src/hostap/src/crypto/crypto_openssl.c:1570,1
    - Dst: HMAC_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:1571,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:1573,1
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_openssl.c:1575,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 3
    argNames:
    - ctx
    - mac
    - len
    argTypes:
    - struct crypto_hash*
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1588
      start: 1516
    functionDepth: 2
    functionLinenumber: 1516
    functionLinenumberEnd: 1588
    functionName: crypto_hash_finish
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - TEST_FAIL
    - HMAC_CTX_free
    - EVP_MAC_final
    - HMAC_Final
    - EVP_MAC_CTX_free
    - bin_clear_free
    linkageType: ''
    returnType: int
    signature: int crypto_hash_finish(struct crypto_hash *ctx, u8 *mac, size_t *len)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_openssl.c:1605,1
    - Dst: os_strcmp
      Src: /src/hostap/src/crypto/crypto_openssl.c:1609,1
    - Dst: openssl_need_md5
      Src: /src/hostap/src/crypto/crypto_openssl.c:1610,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/hostap/src/crypto/crypto_openssl.c:1612,1
    - Dst: openssl_disable_fips
      Src: /src/hostap/src/crypto/crypto_openssl.c:1616,1
    - Dst: openssl_load_default_provider_if_fips
      Src: /src/hostap/src/crypto/crypto_openssl.c:1617,1
    - Dst: EVP_MAC_fetch
      Src: /src/hostap/src/crypto/crypto_openssl.c:1621,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:1623,1
    - Dst: ERR_error_string
      Src: /src/hostap/src/crypto/crypto_openssl.c:1624,1
    - Dst: ERR_get_error
      Src: /src/hostap/src/crypto/crypto_openssl.c:1624,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/hostap/src/crypto/crypto_openssl.c:1628,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/hostap/src/crypto/crypto_openssl.c:1629,1
    - Dst: EVP_MAC_CTX_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:1631,1
    - Dst: EVP_MAC_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:1632,1
    - Dst: EVP_MAC_init
      Src: /src/hostap/src/crypto/crypto_openssl.c:1636,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:1637,1
    - Dst: ERR_error_string
      Src: /src/hostap/src/crypto/crypto_openssl.c:1640,1
    - Dst: ERR_get_error
      Src: /src/hostap/src/crypto/crypto_openssl.c:1640,1
    - Dst: EVP_MAC_update
      Src: /src/hostap/src/crypto/crypto_openssl.c:1645,1
    - Dst: EVP_MAC_final
      Src: /src/hostap/src/crypto/crypto_openssl.c:1649,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:1650,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:1654,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 8
    argNames:
    - digest
    - key
    - key_len
    - num_elem
    - addr
    - len
    - mac
    - mdlen
    argTypes:
    - char*
    - u8*
    - size_t
    - size_t
    - u8*[]
    - size_t*
    - u8*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1656
      start: 1593
    functionDepth: 2
    functionLinenumber: 1593
    functionLinenumberEnd: 1656
    functionName: openssl_hmac_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - OSSL_PROVIDER_available
    - wpa_printf
    - TEST_FAIL
    - openssl_disable_fips
    - EVP_MAC_CTX_new
    - OSSL_PARAM_construct_end
    - openssl_load_default_provider_if_fips
    - EVP_MAC_free
    - EVP_MAC_final
    - EVP_MAC_update
    - ERR_error_string
    - OSSL_PARAM_construct_utf8_string
    - openssl_need_md5
    - ERR_get_error
    - EVP_MAC_CTX_free
    - os_strcmp
    - EVP_MAC_init
    - EVP_MAC_fetch
    linkageType: ''
    returnType: int
    signature: "int openssl_hmac_vector(char *digest, const u8 *key,\n\t\t\t       size_t
      key_len, size_t num_elem,\n\t\t\t       const u8 *addr[], const size_t *len,
      u8 *mac,\n\t\t\t       unsigned int mdlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: openssl_hmac_vector
      Src: /src/hostap/src/crypto/crypto_openssl.c:1664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - key
    - key_len
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - u8*
    - size_t
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1666
      start: 1661
    functionDepth: 3
    functionLinenumber: 1661
    functionLinenumberEnd: 1666
    functionName: hmac_md5_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 6
    functionsReached:
    - openssl_hmac_vector
    linkageType: ''
    returnType: int
    signature: "int hmac_md5_vector(const u8 *key, size_t key_len, size_t num_elem,\n\t\t
      \   const u8 *addr[], const size_t *len, u8 *mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_md5_vector
      Src: /src/hostap/src/crypto/crypto_openssl.c:1672,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - key
    - key_len
    - data
    - data_len
    - mac
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1673
      start: 1669
    functionDepth: 0
    functionLinenumber: 1669
    functionLinenumberEnd: 1673
    functionName: hmac_md5
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 1
    functionsReached:
    - hmac_md5_vector
    linkageType: ''
    returnType: int
    signature: "int hmac_md5(const u8 *key, size_t key_len, const u8 *data, size_t
      data_len,\n\t     u8 *mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: openssl_hmac_vector
      Src: /src/hostap/src/crypto/crypto_openssl.c:1681,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - key
    - key_len
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - u8*
    - size_t
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1683
      start: 1678
    functionDepth: 3
    functionLinenumber: 1678
    functionLinenumberEnd: 1683
    functionName: hmac_sha1_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 9
    functionsReached:
    - openssl_hmac_vector
    linkageType: ''
    returnType: int
    signature: "int hmac_sha1_vector(const u8 *key, size_t key_len, size_t num_elem,\n\t\t
      \    const u8 *addr[], const size_t *len, u8 *mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_sha1_vector
      Src: /src/hostap/src/crypto/crypto_openssl.c:1689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - key
    - key_len
    - data
    - data_len
    - mac
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1690
      start: 1686
    functionDepth: 0
    functionLinenumber: 1686
    functionLinenumberEnd: 1690
    functionName: hmac_sha1
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 7
    functionsReached:
    - hmac_sha1_vector
    linkageType: ''
    returnType: int
    signature: "int hmac_sha1(const u8 *key, size_t key_len, const u8 *data, size_t
      data_len,\n\t       u8 *mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: openssl_hmac_vector
      Src: /src/hostap/src/crypto/crypto_openssl.c:1698,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - key
    - key_len
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - u8*
    - size_t
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1700
      start: 1695
    functionDepth: 3
    functionLinenumber: 1695
    functionLinenumberEnd: 1700
    functionName: hmac_sha256_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 9
    functionsReached:
    - openssl_hmac_vector
    linkageType: ''
    returnType: int
    signature: "int hmac_sha256_vector(const u8 *key, size_t key_len, size_t num_elem,\n\t\t
      \      const u8 *addr[], const size_t *len, u8 *mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_sha256_vector
      Src: /src/hostap/src/crypto/crypto_openssl.c:1706,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - key
    - key_len
    - data
    - data_len
    - mac
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1707
      start: 1703
    functionDepth: 0
    functionLinenumber: 1703
    functionLinenumberEnd: 1707
    functionName: hmac_sha256
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 7
    functionsReached:
    - hmac_sha256_vector
    linkageType: ''
    returnType: int
    signature: "int hmac_sha256(const u8 *key, size_t key_len, const u8 *data,\n\t\tsize_t
      data_len, u8 *mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: openssl_hmac_vector
      Src: /src/hostap/src/crypto/crypto_openssl.c:1717,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - key
    - key_len
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - u8*
    - size_t
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1719
      start: 1714
    functionDepth: 3
    functionLinenumber: 1714
    functionLinenumberEnd: 1719
    functionName: hmac_sha384_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 9
    functionsReached:
    - openssl_hmac_vector
    linkageType: ''
    returnType: int
    signature: "int hmac_sha384_vector(const u8 *key, size_t key_len, size_t num_elem,\n\t\t
      \      const u8 *addr[], const size_t *len, u8 *mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_sha384_vector
      Src: /src/hostap/src/crypto/crypto_openssl.c:1725,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - key
    - key_len
    - data
    - data_len
    - mac
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1726
      start: 1722
    functionDepth: 0
    functionLinenumber: 1722
    functionLinenumberEnd: 1726
    functionName: hmac_sha384
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 4
    functionsReached:
    - hmac_sha384_vector
    linkageType: ''
    returnType: int
    signature: "int hmac_sha384(const u8 *key, size_t key_len, const u8 *data,\n\t\tsize_t
      data_len, u8 *mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: openssl_hmac_vector
      Src: /src/hostap/src/crypto/crypto_openssl.c:1736,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - key
    - key_len
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - u8*
    - size_t
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1738
      start: 1733
    functionDepth: 3
    functionLinenumber: 1733
    functionLinenumberEnd: 1738
    functionName: hmac_sha512_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 6
    functionsReached:
    - openssl_hmac_vector
    linkageType: ''
    returnType: int
    signature: "int hmac_sha512_vector(const u8 *key, size_t key_len, size_t num_elem,\n\t\t
      \      const u8 *addr[], const size_t *len, u8 *mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_sha512_vector
      Src: /src/hostap/src/crypto/crypto_openssl.c:1744,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - key
    - key_len
    - data
    - data_len
    - mac
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1745
      start: 1741
    functionDepth: 0
    functionLinenumber: 1741
    functionLinenumberEnd: 1745
    functionName: hmac_sha512
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - hmac_sha512_vector
    linkageType: ''
    returnType: int
    signature: "int hmac_sha512(const u8 *key, size_t key_len, const u8 *data,\n\t\tsize_t
      data_len, u8 *mac)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_openssl.c:1760,1
    - Dst: HMAC_CTX_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:1763,1
    - Dst: HMAC_Init_ex
      Src: /src/hostap/src/crypto/crypto_openssl.c:1766,1
    - Dst: HMAC_Update
      Src: /src/hostap/src/crypto/crypto_openssl.c:1771,1
    - Dst: HMAC_Final
      Src: /src/hostap/src/crypto/crypto_openssl.c:1773,1
    - Dst: HMAC_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:1775,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 8
    argNames:
    - type
    - key
    - key_len
    - num_elem
    - addr
    - len
    - mac
    - mdlen
    argTypes:
    - EVP_MD*
    - u8*
    - size_t
    - size_t
    - u8*[]
    - size_t*
    - u8*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1778
      start: 1751
    functionDepth: 2
    functionLinenumber: 1751
    functionLinenumberEnd: 1778
    functionName: openssl_hmac_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 5
    functionsReached:
    - TEST_FAIL
    - HMAC_CTX_free
    - HMAC_Final
    - HMAC_Update
    - HMAC_Init_ex
    - HMAC_CTX_new
    linkageType: ''
    returnType: int
    signature: "int openssl_hmac_vector(const EVP_MD *type, const u8 *key,\n\t\t\t
      \      size_t key_len, size_t num_elem,\n\t\t\t       const u8 *addr[], const
      size_t *len, u8 *mac,\n\t\t\t       unsigned int mdlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: openssl_hmac_vector
      Src: /src/hostap/src/crypto/crypto_openssl.c:1786,1
    - Dst: EVP_md5
      Src: /src/hostap/src/crypto/crypto_openssl.c:1786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - key
    - key_len
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - u8*
    - size_t
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1788
      start: 1783
    functionDepth: 3
    functionLinenumber: 1783
    functionLinenumberEnd: 1788
    functionName: hmac_md5_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 7
    functionsReached:
    - EVP_md5
    - openssl_hmac_vector
    linkageType: ''
    returnType: int
    signature: "int hmac_md5_vector(const u8 *key, size_t key_len, size_t num_elem,\n\t\t
      \   const u8 *addr[], const size_t *len, u8 *mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_md5_vector
      Src: /src/hostap/src/crypto/crypto_openssl.c:1794,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - key
    - key_len
    - data
    - data_len
    - mac
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1795
      start: 1791
    functionDepth: 0
    functionLinenumber: 1791
    functionLinenumberEnd: 1795
    functionName: hmac_md5
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 1
    functionsReached:
    - hmac_md5_vector
    linkageType: ''
    returnType: int
    signature: "int hmac_md5(const u8 *key, size_t key_len, const u8 *data, size_t
      data_len,\n\t     u8 *mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: openssl_hmac_vector
      Src: /src/hostap/src/crypto/crypto_openssl.c:1803,1
    - Dst: EVP_sha1
      Src: /src/hostap/src/crypto/crypto_openssl.c:1803,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - key
    - key_len
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - u8*
    - size_t
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1805
      start: 1800
    functionDepth: 3
    functionLinenumber: 1800
    functionLinenumberEnd: 1805
    functionName: hmac_sha1_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 10
    functionsReached:
    - openssl_hmac_vector
    - EVP_sha1
    linkageType: ''
    returnType: int
    signature: "int hmac_sha1_vector(const u8 *key, size_t key_len, size_t num_elem,\n\t\t
      \    const u8 *addr[], const size_t *len, u8 *mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_sha1_vector
      Src: /src/hostap/src/crypto/crypto_openssl.c:1811,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - key
    - key_len
    - data
    - data_len
    - mac
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1812
      start: 1808
    functionDepth: 0
    functionLinenumber: 1808
    functionLinenumberEnd: 1812
    functionName: hmac_sha1
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 7
    functionsReached:
    - hmac_sha1_vector
    linkageType: ''
    returnType: int
    signature: "int hmac_sha1(const u8 *key, size_t key_len, const u8 *data, size_t
      data_len,\n\t       u8 *mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: openssl_hmac_vector
      Src: /src/hostap/src/crypto/crypto_openssl.c:1820,1
    - Dst: EVP_sha256
      Src: /src/hostap/src/crypto/crypto_openssl.c:1820,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - key
    - key_len
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - u8*
    - size_t
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1822
      start: 1817
    functionDepth: 3
    functionLinenumber: 1817
    functionLinenumberEnd: 1822
    functionName: hmac_sha256_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 10
    functionsReached:
    - openssl_hmac_vector
    - EVP_sha256
    linkageType: ''
    returnType: int
    signature: "int hmac_sha256_vector(const u8 *key, size_t key_len, size_t num_elem,\n\t\t
      \      const u8 *addr[], const size_t *len, u8 *mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_sha256_vector
      Src: /src/hostap/src/crypto/crypto_openssl.c:1828,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - key
    - key_len
    - data
    - data_len
    - mac
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1829
      start: 1825
    functionDepth: 0
    functionLinenumber: 1825
    functionLinenumberEnd: 1829
    functionName: hmac_sha256
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 7
    functionsReached:
    - hmac_sha256_vector
    linkageType: ''
    returnType: int
    signature: "int hmac_sha256(const u8 *key, size_t key_len, const u8 *data,\n\t\tsize_t
      data_len, u8 *mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: openssl_hmac_vector
      Src: /src/hostap/src/crypto/crypto_openssl.c:1839,1
    - Dst: EVP_sha384
      Src: /src/hostap/src/crypto/crypto_openssl.c:1839,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - key
    - key_len
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - u8*
    - size_t
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1841
      start: 1836
    functionDepth: 3
    functionLinenumber: 1836
    functionLinenumberEnd: 1841
    functionName: hmac_sha384_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 10
    functionsReached:
    - openssl_hmac_vector
    - EVP_sha384
    linkageType: ''
    returnType: int
    signature: "int hmac_sha384_vector(const u8 *key, size_t key_len, size_t num_elem,\n\t\t
      \      const u8 *addr[], const size_t *len, u8 *mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_sha384_vector
      Src: /src/hostap/src/crypto/crypto_openssl.c:1847,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - key
    - key_len
    - data
    - data_len
    - mac
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1848
      start: 1844
    functionDepth: 0
    functionLinenumber: 1844
    functionLinenumberEnd: 1848
    functionName: hmac_sha384
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 4
    functionsReached:
    - hmac_sha384_vector
    linkageType: ''
    returnType: int
    signature: "int hmac_sha384(const u8 *key, size_t key_len, const u8 *data,\n\t\tsize_t
      data_len, u8 *mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: openssl_hmac_vector
      Src: /src/hostap/src/crypto/crypto_openssl.c:1858,1
    - Dst: EVP_sha512
      Src: /src/hostap/src/crypto/crypto_openssl.c:1858,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - key
    - key_len
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - u8*
    - size_t
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1860
      start: 1855
    functionDepth: 3
    functionLinenumber: 1855
    functionLinenumberEnd: 1860
    functionName: hmac_sha512_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 7
    functionsReached:
    - openssl_hmac_vector
    - EVP_sha512
    linkageType: ''
    returnType: int
    signature: "int hmac_sha512_vector(const u8 *key, size_t key_len, size_t num_elem,\n\t\t
      \      const u8 *addr[], const size_t *len, u8 *mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_sha512_vector
      Src: /src/hostap/src/crypto/crypto_openssl.c:1866,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - key
    - key_len
    - data
    - data_len
    - mac
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1867
      start: 1863
    functionDepth: 0
    functionLinenumber: 1863
    functionLinenumberEnd: 1867
    functionName: hmac_sha512
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - hmac_sha512_vector
    linkageType: ''
    returnType: int
    signature: "int hmac_sha512(const u8 *key, size_t key_len, const u8 *data,\n\t\tsize_t
      data_len, u8 *mac)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PKCS5_PBKDF2_HMAC_SHA1
      Src: /src/hostap/src/crypto/crypto_openssl.c:1877,1
    - Dst: os_strlen
      Src: /src/hostap/src/crypto/crypto_openssl.c:1877,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - passphrase
    - ssid
    - ssid_len
    - iterations
    - buf
    - buflen
    argTypes:
    - char*
    - u8*
    - size_t
    - int
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1881
      start: 1874
    functionDepth: 0
    functionLinenumber: 1874
    functionLinenumberEnd: 1881
    functionName: pbkdf2_sha1
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 5
    functionsReached:
    - os_strlen
    - PKCS5_PBKDF2_HMAC_SHA1
    linkageType: ''
    returnType: int
    signature: "int pbkdf2_sha1(const char *passphrase, const u8 *ssid, size_t ssid_len,\n\t\tint
      iterations, u8 *buf, size_t buflen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PKCS5_PBKDF2_HMAC
      Src: /src/hostap/src/crypto/crypto_openssl.c:1888,1
    - Dst: os_strlen
      Src: /src/hostap/src/crypto/crypto_openssl.c:1888,1
    - Dst: EVP_sha256
      Src: /src/hostap/src/crypto/crypto_openssl.c:1889,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - passphrase
    - salt
    - salt_len
    - iterations
    - buf
    - buflen
    argTypes:
    - char*
    - u8*
    - size_t
    - int
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1893
      start: 1885
    functionDepth: 0
    functionLinenumber: 1885
    functionLinenumberEnd: 1893
    functionName: pbkdf2_sha256
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - PKCS5_PBKDF2_HMAC
    - EVP_sha256
    linkageType: ''
    returnType: int
    signature: "int pbkdf2_sha256(const char *passphrase, const u8 *salt, size_t salt_len,\n\t\t
      \ int iterations, u8 *buf, size_t buflen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PKCS5_PBKDF2_HMAC
      Src: /src/hostap/src/crypto/crypto_openssl.c:1901,1
    - Dst: os_strlen
      Src: /src/hostap/src/crypto/crypto_openssl.c:1901,1
    - Dst: EVP_sha384
      Src: /src/hostap/src/crypto/crypto_openssl.c:1902,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - passphrase
    - salt
    - salt_len
    - iterations
    - buf
    - buflen
    argTypes:
    - char*
    - u8*
    - size_t
    - int
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1906
      start: 1898
    functionDepth: 0
    functionLinenumber: 1898
    functionLinenumberEnd: 1906
    functionName: pbkdf2_sha384
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - PKCS5_PBKDF2_HMAC
    - EVP_sha384
    linkageType: ''
    returnType: int
    signature: "int pbkdf2_sha384(const char *passphrase, const u8 *salt, size_t salt_len,\n\t\t
      \ int iterations, u8 *buf, size_t buflen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RAND_bytes
      Src: /src/hostap/src/crypto/crypto_openssl.c:1912,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1915
      start: 1910
    functionDepth: 0
    functionLinenumber: 1910
    functionLinenumberEnd: 1915
    functionName: crypto_get_random
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 1
    functionsReached:
    - RAND_bytes
    linkageType: ''
    returnType: int
    signature: int crypto_get_random(void *buf, size_t len)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_openssl.c:1929,1
    - Dst: EVP_MAC_fetch
      Src: /src/hostap/src/crypto/crypto_openssl.c:1932,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/hostap/src/crypto/crypto_openssl.c:1941,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/hostap/src/crypto/crypto_openssl.c:1942,1
    - Dst: EVP_MAC_CTX_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:1945,1
    - Dst: EVP_MAC_init
      Src: /src/hostap/src/crypto/crypto_openssl.c:1946,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:1947,1
    - Dst: ERR_error_string
      Src: /src/hostap/src/crypto/crypto_openssl.c:1949,1
    - Dst: ERR_get_error
      Src: /src/hostap/src/crypto/crypto_openssl.c:1949,1
    - Dst: EVP_MAC_update
      Src: /src/hostap/src/crypto/crypto_openssl.c:1954,1
    - Dst: EVP_MAC_final
      Src: /src/hostap/src/crypto/crypto_openssl.c:1957,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:1962,1
    - Dst: EVP_MAC_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:1963,1
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_openssl.c:1970,1
    - Dst: CMAC_CTX_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:1973,1
    - Dst: CMAC_Init
      Src: /src/hostap/src/crypto/crypto_openssl.c:1978,1
    - Dst: EVP_aes_256_cbc
      Src: /src/hostap/src/crypto/crypto_openssl.c:1978,1
    - Dst: CMAC_Init
      Src: /src/hostap/src/crypto/crypto_openssl.c:1981,1
    - Dst: EVP_aes_192_cbc
      Src: /src/hostap/src/crypto/crypto_openssl.c:1981,1
    - Dst: CMAC_Init
      Src: /src/hostap/src/crypto/crypto_openssl.c:1984,1
    - Dst: EVP_aes_128_cbc
      Src: /src/hostap/src/crypto/crypto_openssl.c:1984,1
    - Dst: CMAC_Update
      Src: /src/hostap/src/crypto/crypto_openssl.c:1990,1
    - Dst: CMAC_Final
      Src: /src/hostap/src/crypto/crypto_openssl.c:1993,1
    - Dst: CMAC_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:1998,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 67
    argCount: 6
    argNames:
    - key
    - key_len
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - u8*
    - size_t
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2001
      start: 1918
    functionDepth: 1
    functionLinenumber: 1918
    functionLinenumberEnd: 2001
    functionName: omac1_aes_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 7
    functionsReached:
    - TEST_FAIL
    - EVP_aes_256_cbc
    - OSSL_PARAM_construct_utf8_string
    - EVP_aes_128_cbc
    - CMAC_Init
    - wpa_printf
    - OSSL_PARAM_construct_end
    - CMAC_Final
    - CMAC_CTX_free
    - EVP_MAC_init
    - EVP_MAC_free
    - EVP_MAC_final
    - ERR_get_error
    - EVP_aes_192_cbc
    - EVP_MAC_CTX_new
    - CMAC_CTX_new
    - EVP_MAC_update
    - ERR_error_string
    - CMAC_Update
    - EVP_MAC_CTX_free
    - EVP_MAC_fetch
    linkageType: ''
    returnType: int
    signature: "int omac1_aes_vector(const u8 *key, size_t key_len, size_t num_elem,\n\t\t
      \    const u8 *addr[], const size_t *len, u8 *mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: omac1_aes_vector
      Src: /src/hostap/src/crypto/crypto_openssl.c:2007,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - key
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - u8*
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2008
      start: 2004
    functionDepth: 0
    functionLinenumber: 2004
    functionLinenumberEnd: 2008
    functionName: omac1_aes_128_vector
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 4
    functionsReached:
    - omac1_aes_vector
    linkageType: ''
    returnType: int
    signature: "int omac1_aes_128_vector(const u8 *key, size_t num_elem,\n\t\t\t const
      u8 *addr[], const size_t *len, u8 *mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: omac1_aes_128_vector
      Src: /src/hostap/src/crypto/crypto_openssl.c:2013,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - key
    - data
    - data_len
    - mac
    argTypes:
    - u8*
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2014
      start: 2011
    functionDepth: 0
    functionLinenumber: 2011
    functionLinenumberEnd: 2014
    functionName: omac1_aes_128
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 10
    functionsReached:
    - omac1_aes_128_vector
    linkageType: ''
    returnType: int
    signature: int omac1_aes_128(const u8 *key, const u8 *data, size_t data_len, u8
      *mac)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: omac1_aes_vector
      Src: /src/hostap/src/crypto/crypto_openssl.c:2019,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - key
    - data
    - data_len
    - mac
    argTypes:
    - u8*
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2020
      start: 2017
    functionDepth: 0
    functionLinenumber: 2017
    functionLinenumberEnd: 2020
    functionName: omac1_aes_256
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 1
    functionsReached:
    - omac1_aes_vector
    linkageType: ''
    returnType: int
    signature: int omac1_aes_256(const u8 *key, const u8 *data, size_t data_len, u8
      *mac)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_openssl.c:2025,1
    - Dst: BN_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:2027,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2028
      start: 2023
    functionDepth: 1
    functionLinenumber: 2023
    functionLinenumberEnd: 2028
    functionName: crypto_bignum_init
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 4
    functionsReached:
    - TEST_FAIL
    - BN_new
    linkageType: ''
    returnType: struct crypto_bignum
    signature: struct crypto_bignum * crypto_bignum_init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_openssl.c:2035,1
    - Dst: BN_bin2bn
      Src: /src/hostap/src/crypto/crypto_openssl.c:2038,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2040
      start: 2031
    functionDepth: 1
    functionLinenumber: 2031
    functionLinenumberEnd: 2040
    functionName: crypto_bignum_init_set
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 1
    functionsReached:
    - TEST_FAIL
    - BN_bin2bn
    linkageType: ''
    returnType: struct crypto_bignum
    signature: struct crypto_bignum * crypto_bignum_init_set(const u8 *buf, size_t
      len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_openssl.c:2047,1
    - Dst: BN_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:2050,1
    - Dst: BN_set_word
      Src: /src/hostap/src/crypto/crypto_openssl.c:2053,1
    - Dst: BN_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:2054,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - val
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2058
      start: 2043
    functionDepth: 1
    functionLinenumber: 2043
    functionLinenumberEnd: 2058
    functionName: crypto_bignum_init_uint
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - BN_set_word
    - TEST_FAIL
    - BN_free
    - BN_new
    linkageType: ''
    returnType: struct crypto_bignum
    signature: struct crypto_bignum * crypto_bignum_init_uint(unsigned int val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_clear_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:2064,1
    - Dst: BN_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:2066,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - n
    - clear
    argTypes:
    - struct crypto_bignum*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2067
      start: 2061
    functionDepth: 0
    functionLinenumber: 2061
    functionLinenumberEnd: 2067
    functionName: crypto_bignum_deinit
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 2
    functionsReached:
    - BN_clear_free
    - BN_free
    linkageType: ''
    returnType: void
    signature: void crypto_bignum_deinit(struct crypto_bignum *n, int clear)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_openssl.c:2075,1
    - Dst: BN_bn2bin_padded
      Src: /src/hostap/src/crypto/crypto_openssl.c:2083,1
    - Dst: BN_bn2binpad
      Src: /src/hostap/src/crypto/crypto_openssl.c:2088,1
    - Dst: BN_num_bytes
      Src: /src/hostap/src/crypto/crypto_openssl.c:2093,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/crypto_openssl.c:2101,1
    - Dst: BN_bn2bin
      Src: /src/hostap/src/crypto/crypto_openssl.c:2102,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 4
    argNames:
    - a
    - buf
    - buflen
    - padlen
    argTypes:
    - struct crypto_bignum*
    - u8*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2105
      start: 2070
    functionDepth: 1
    functionLinenumber: 2070
    functionLinenumberEnd: 2105
    functionName: crypto_bignum_to_bin
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 4
    functionsReached:
    - TEST_FAIL
    - BN_num_bytes
    - BN_bn2bin
    - BN_bn2binpad
    - BN_bn2bin_padded
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int crypto_bignum_to_bin(const struct crypto_bignum *a,\n\t\t\t u8
      *buf, size_t buflen, size_t padlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_openssl.c:2110,1
    - Dst: BN_rand_range
      Src: /src/hostap/src/crypto/crypto_openssl.c:2112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - r
    - m
    argTypes:
    - struct crypto_bignum*
    - struct crypto_bignum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2113
      start: 2108
    functionDepth: 1
    functionLinenumber: 2108
    functionLinenumberEnd: 2113
    functionName: crypto_bignum_rand
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - TEST_FAIL
    - BN_rand_range
    linkageType: ''
    returnType: int
    signature: int crypto_bignum_rand(struct crypto_bignum *r, const struct crypto_bignum
      *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_add
      Src: /src/hostap/src/crypto/crypto_openssl.c:2120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - b
    - c
    argTypes:
    - struct crypto_bignum*
    - struct crypto_bignum*
    - struct crypto_bignum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2122
      start: 2116
    functionDepth: 0
    functionLinenumber: 2116
    functionLinenumberEnd: 2122
    functionName: crypto_bignum_add
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - BN_add
    linkageType: ''
    returnType: int
    signature: "int crypto_bignum_add(const struct crypto_bignum *a,\n\t\t      const
      struct crypto_bignum *b,\n\t\t      struct crypto_bignum *c)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:2132,1
    - Dst: BN_mod
      Src: /src/hostap/src/crypto/crypto_openssl.c:2135,1
    - Dst: BN_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:2137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - a
    - b
    - c
    argTypes:
    - struct crypto_bignum*
    - struct crypto_bignum*
    - struct crypto_bignum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2140
      start: 2125
    functionDepth: 0
    functionLinenumber: 2125
    functionLinenumberEnd: 2140
    functionName: crypto_bignum_mod
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - BN_CTX_free
    - BN_mod
    - BN_CTX_new
    linkageType: ''
    returnType: int
    signature: "int crypto_bignum_mod(const struct crypto_bignum *a,\n\t\t      const
      struct crypto_bignum *b,\n\t\t      struct crypto_bignum *c)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_openssl.c:2151,1
    - Dst: BN_CTX_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:2154,1
    - Dst: BN_mod_exp_mont_consttime
      Src: /src/hostap/src/crypto/crypto_openssl.c:2157,1
    - Dst: BN_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:2160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - a
    - b
    - c
    - d
    argTypes:
    - struct crypto_bignum*
    - struct crypto_bignum*
    - struct crypto_bignum*
    - struct crypto_bignum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2163
      start: 2143
    functionDepth: 1
    functionLinenumber: 2143
    functionLinenumberEnd: 2163
    functionName: crypto_bignum_exptmod
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - BN_CTX_free
    - TEST_FAIL
    - BN_CTX_new
    - BN_mod_exp_mont_consttime
    linkageType: ''
    returnType: int
    signature: "int crypto_bignum_exptmod(const struct crypto_bignum *a,\n\t\t\t  const
      struct crypto_bignum *b,\n\t\t\t  const struct crypto_bignum *c,\n\t\t\t  struct
      crypto_bignum *d)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_openssl.c:2173,1
    - Dst: BN_CTX_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:2175,1
    - Dst: BN_set_flags
      Src: /src/hostap/src/crypto/crypto_openssl.c:2181,1
    - Dst: BN_mod_inverse
      Src: /src/hostap/src/crypto/crypto_openssl.c:2183,1
    - Dst: BN_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:2185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - a
    - b
    - c
    argTypes:
    - struct crypto_bignum*
    - struct crypto_bignum*
    - struct crypto_bignum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2188
      start: 2166
    functionDepth: 1
    functionLinenumber: 2166
    functionLinenumberEnd: 2188
    functionName: crypto_bignum_inverse
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - TEST_FAIL
    - BN_CTX_free
    - BN_set_flags
    - BN_mod_inverse
    - BN_CTX_new
    linkageType: ''
    returnType: int
    signature: "int crypto_bignum_inverse(const struct crypto_bignum *a,\n\t\t\t  const
      struct crypto_bignum *b,\n\t\t\t  struct crypto_bignum *c)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_openssl.c:2195,1
    - Dst: BN_sub
      Src: /src/hostap/src/crypto/crypto_openssl.c:2197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - a
    - b
    - c
    argTypes:
    - struct crypto_bignum*
    - struct crypto_bignum*
    - struct crypto_bignum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2199
      start: 2191
    functionDepth: 1
    functionLinenumber: 2191
    functionLinenumberEnd: 2199
    functionName: crypto_bignum_sub
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - TEST_FAIL
    - BN_sub
    linkageType: ''
    returnType: int
    signature: "int crypto_bignum_sub(const struct crypto_bignum *a,\n\t\t      const
      struct crypto_bignum *b,\n\t\t      struct crypto_bignum *c)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_openssl.c:2210,1
    - Dst: BN_CTX_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:2213,1
    - Dst: BN_set_flags
      Src: /src/hostap/src/crypto/crypto_openssl.c:2217,1
    - Dst: BN_div
      Src: /src/hostap/src/crypto/crypto_openssl.c:2219,1
    - Dst: BN_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:2221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - a
    - b
    - c
    argTypes:
    - struct crypto_bignum*
    - struct crypto_bignum*
    - struct crypto_bignum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2224
      start: 2202
    functionDepth: 1
    functionLinenumber: 2202
    functionLinenumberEnd: 2224
    functionName: crypto_bignum_div
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - TEST_FAIL
    - BN_CTX_free
    - BN_set_flags
    - BN_div
    - BN_CTX_new
    linkageType: ''
    returnType: int
    signature: "int crypto_bignum_div(const struct crypto_bignum *a,\n\t\t      const
      struct crypto_bignum *b,\n\t\t      struct crypto_bignum *c)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_openssl.c:2235,1
    - Dst: BN_CTX_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:2238,1
    - Dst: BN_mod_add
      Src: /src/hostap/src/crypto/crypto_openssl.c:2241,1
    - Dst: BN_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:2243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - a
    - b
    - c
    - d
    argTypes:
    - struct crypto_bignum*
    - struct crypto_bignum*
    - struct crypto_bignum*
    - struct crypto_bignum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2246
      start: 2227
    functionDepth: 1
    functionLinenumber: 2227
    functionLinenumberEnd: 2246
    functionName: crypto_bignum_addmod
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - BN_CTX_free
    - TEST_FAIL
    - BN_CTX_new
    - BN_mod_add
    linkageType: ''
    returnType: int
    signature: "int crypto_bignum_addmod(const struct crypto_bignum *a,\n\t\t\t const
      struct crypto_bignum *b,\n\t\t\t const struct crypto_bignum *c,\n\t\t\t struct
      crypto_bignum *d)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_openssl.c:2258,1
    - Dst: BN_CTX_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:2261,1
    - Dst: BN_mod_mul
      Src: /src/hostap/src/crypto/crypto_openssl.c:2264,1
    - Dst: BN_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:2266,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - a
    - b
    - c
    - d
    argTypes:
    - struct crypto_bignum*
    - struct crypto_bignum*
    - struct crypto_bignum*
    - struct crypto_bignum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2269
      start: 2249
    functionDepth: 1
    functionLinenumber: 2249
    functionLinenumberEnd: 2269
    functionName: crypto_bignum_mulmod
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - BN_mod_mul
    - BN_CTX_free
    - TEST_FAIL
    - BN_CTX_new
    linkageType: ''
    returnType: int
    signature: "int crypto_bignum_mulmod(const struct crypto_bignum *a,\n\t\t\t const
      struct crypto_bignum *b,\n\t\t\t const struct crypto_bignum *c,\n\t\t\t struct
      crypto_bignum *d)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_openssl.c:2279,1
    - Dst: BN_CTX_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:2282,1
    - Dst: BN_mod_sqr
      Src: /src/hostap/src/crypto/crypto_openssl.c:2285,1
    - Dst: BN_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:2287,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - a
    - b
    - c
    argTypes:
    - struct crypto_bignum*
    - struct crypto_bignum*
    - struct crypto_bignum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2290
      start: 2272
    functionDepth: 1
    functionLinenumber: 2272
    functionLinenumberEnd: 2290
    functionName: crypto_bignum_sqrmod
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - BN_mod_sqr
    - BN_CTX_free
    - TEST_FAIL
    - BN_CTX_new
    linkageType: ''
    returnType: int
    signature: "int crypto_bignum_sqrmod(const struct crypto_bignum *a,\n\t\t\t const
      struct crypto_bignum *b,\n\t\t\t struct crypto_bignum *c)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_rshift
      Src: /src/hostap/src/crypto/crypto_openssl.c:2296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - n
    - r
    argTypes:
    - struct crypto_bignum*
    - int
    - struct crypto_bignum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2297
      start: 2293
    functionDepth: 0
    functionLinenumber: 2293
    functionLinenumberEnd: 2297
    functionName: crypto_bignum_rshift
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - BN_rshift
    linkageType: ''
    returnType: int
    signature: "int crypto_bignum_rshift(const struct crypto_bignum *a, int n,\n\t\t\t
      struct crypto_bignum *r)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_cmp
      Src: /src/hostap/src/crypto/crypto_openssl.c:2303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct crypto_bignum*
    - struct crypto_bignum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2304
      start: 2300
    functionDepth: 0
    functionLinenumber: 2300
    functionLinenumberEnd: 2304
    functionName: crypto_bignum_cmp
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - BN_cmp
    linkageType: ''
    returnType: int
    signature: "int crypto_bignum_cmp(const struct crypto_bignum *a,\n\t\t      const
      struct crypto_bignum *b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_zero
      Src: /src/hostap/src/crypto/crypto_openssl.c:2309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - struct crypto_bignum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2310
      start: 2307
    functionDepth: 0
    functionLinenumber: 2307
    functionLinenumberEnd: 2310
    functionName: crypto_bignum_is_zero
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - BN_is_zero
    linkageType: ''
    returnType: int
    signature: int crypto_bignum_is_zero(const struct crypto_bignum *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_one
      Src: /src/hostap/src/crypto/crypto_openssl.c:2315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - struct crypto_bignum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2316
      start: 2313
    functionDepth: 0
    functionLinenumber: 2313
    functionLinenumberEnd: 2316
    functionName: crypto_bignum_is_one
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - BN_is_one
    linkageType: ''
    returnType: int
    signature: int crypto_bignum_is_one(const struct crypto_bignum *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_odd
      Src: /src/hostap/src/crypto/crypto_openssl.c:2321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - struct crypto_bignum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2322
      start: 2319
    functionDepth: 0
    functionLinenumber: 2319
    functionLinenumberEnd: 2322
    functionName: crypto_bignum_is_odd
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - BN_is_odd
    linkageType: ''
    returnType: int
    signature: int crypto_bignum_is_odd(const struct crypto_bignum *a)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_openssl.c:2333,1
    - Dst: BN_CTX_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:2336,1
    - Dst: BN_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:2340,1
    - Dst: BN_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:2341,1
    - Dst: BN_sub
      Src: /src/hostap/src/crypto/crypto_openssl.c:2344,1
    - Dst: BN_value_one
      Src: /src/hostap/src/crypto/crypto_openssl.c:2344,1
    - Dst: BN_rshift1
      Src: /src/hostap/src/crypto/crypto_openssl.c:2345,1
    - Dst: BN_mod_exp_mont_consttime
      Src: /src/hostap/src/crypto/crypto_openssl.c:2346,1
    - Dst: const_time_eq
      Src: /src/hostap/src/crypto/crypto_openssl.c:2353,1
    - Dst: BN_is_word
      Src: /src/hostap/src/crypto/crypto_openssl.c:2353,1
    - Dst: const_time_select_int
      Src: /src/hostap/src/crypto/crypto_openssl.c:2354,1
    - Dst: const_time_eq
      Src: /src/hostap/src/crypto/crypto_openssl.c:2355,1
    - Dst: BN_is_zero
      Src: /src/hostap/src/crypto/crypto_openssl.c:2355,1
    - Dst: const_time_select_int
      Src: /src/hostap/src/crypto/crypto_openssl.c:2356,1
    - Dst: BN_clear_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:2359,1
    - Dst: BN_clear_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:2360,1
    - Dst: BN_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:2361,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - a
    - p
    argTypes:
    - struct crypto_bignum*
    - struct crypto_bignum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2363
      start: 2325
    functionDepth: 1
    functionLinenumber: 2325
    functionLinenumberEnd: 2363
    functionName: crypto_bignum_legendre
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - const_time_eq
    - TEST_FAIL
    - BN_is_word
    - BN_is_zero
    - BN_value_one
    - BN_mod_exp_mont_consttime
    - BN_rshift1
    - BN_new
    - BN_CTX_free
    - const_time_select_int
    - BN_clear_free
    - BN_sub
    - BN_CTX_new
    linkageType: ''
    returnType: int
    signature: "int crypto_bignum_legendre(const struct crypto_bignum *a,\n\t\t\t
      \  const struct crypto_bignum *p)"
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 1
    argNames:
    - group
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2413
      start: 2380
    functionDepth: 0
    functionLinenumber: 2380
    functionLinenumberEnd: 2413
    functionName: crypto_ec_group_2_nid
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int crypto_ec_group_2_nid(int group)
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 1
    argNames:
    - group
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2450
      start: 2417
    functionDepth: 0
    functionLinenumber: 2417
    functionLinenumberEnd: 2450
    functionName: crypto_ec_group_2_name
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * crypto_ec_group_2_name(int group)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: crypto_ec_group_2_nid
      Src: /src/hostap/src/crypto/crypto_openssl.c:2459,1
    - Dst: os_zalloc
      Src: /src/hostap/src/crypto/crypto_openssl.c:2463,1
    - Dst: BN_CTX_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:2469,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/hostap/src/crypto/crypto_openssl.c:2470,1
    - Dst: BN_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:2471,1
    - Dst: BN_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:2472,1
    - Dst: BN_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:2473,1
    - Dst: BN_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:2474,1
    - Dst: EC_GROUP_get_curve
      Src: /src/hostap/src/crypto/crypto_openssl.c:2477,1
    - Dst: EC_GROUP_get_order
      Src: /src/hostap/src/crypto/crypto_openssl.c:2478,1
    - Dst: crypto_ec_deinit
      Src: /src/hostap/src/crypto/crypto_openssl.c:2479,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 1
    argNames:
    - group
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2484
      start: 2454
    functionDepth: 1
    functionLinenumber: 2454
    functionLinenumberEnd: 2484
    functionName: crypto_ec_init
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 1
    functionsReached:
    - EC_GROUP_get_order
    - crypto_ec_deinit
    - crypto_ec_group_2_nid
    - BN_new
    - os_zalloc
    - EC_GROUP_get_curve
    - BN_CTX_new
    - EC_GROUP_new_by_curve_name
    linkageType: ''
    returnType: struct crypto_ec
    signature: struct crypto_ec * crypto_ec_init(int group)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_clear_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:2491,1
    - Dst: BN_clear_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:2492,1
    - Dst: BN_clear_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:2493,1
    - Dst: BN_clear_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:2494,1
    - Dst: EC_GROUP_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:2495,1
    - Dst: BN_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:2496,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:2497,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct crypto_ec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2498
      start: 2487
    functionDepth: 0
    functionLinenumber: 2487
    functionLinenumberEnd: 2498
    functionName: crypto_ec_deinit
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 4
    functionsReached:
    - os_free
    - BN_clear_free
    - BN_CTX_free
    - EC_GROUP_free
    linkageType: ''
    returnType: void
    signature: void crypto_ec_deinit(struct crypto_ec *e)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_openssl.c:2503,1
    - Dst: EC_POINT_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:2507,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct crypto_ec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2508
      start: 2501
    functionDepth: 1
    functionLinenumber: 2501
    functionLinenumberEnd: 2508
    functionName: crypto_ec_point_init
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 1
    functionsReached:
    - TEST_FAIL
    - EC_POINT_new
    linkageType: ''
    returnType: struct crypto_ec_point
    signature: struct crypto_ec_point * crypto_ec_point_init(struct crypto_ec *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bytes
      Src: /src/hostap/src/crypto/crypto_openssl.c:2513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct crypto_ec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2514
      start: 2511
    functionDepth: 0
    functionLinenumber: 2511
    functionLinenumberEnd: 2514
    functionName: crypto_ec_prime_len
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 3
    functionsReached:
    - BN_num_bytes
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_ec_prime_len(struct crypto_ec *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bits
      Src: /src/hostap/src/crypto/crypto_openssl.c:2519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct crypto_ec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2520
      start: 2517
    functionDepth: 0
    functionLinenumber: 2517
    functionLinenumberEnd: 2520
    functionName: crypto_ec_prime_len_bits
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 1
    functionsReached:
    - BN_num_bits
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_ec_prime_len_bits(struct crypto_ec *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bytes
      Src: /src/hostap/src/crypto/crypto_openssl.c:2525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct crypto_ec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2526
      start: 2523
    functionDepth: 0
    functionLinenumber: 2523
    functionLinenumberEnd: 2526
    functionName: crypto_ec_order_len
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 2
    functionsReached:
    - BN_num_bytes
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_ec_order_len(struct crypto_ec *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct crypto_ec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2532
      start: 2529
    functionDepth: 0
    functionLinenumber: 2529
    functionLinenumberEnd: 2532
    functionName: crypto_ec_get_prime
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct crypto_bignum
    signature: struct crypto_bignum * crypto_ec_get_prime(struct crypto_ec *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct crypto_ec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2538
      start: 2535
    functionDepth: 0
    functionLinenumber: 2535
    functionLinenumberEnd: 2538
    functionName: crypto_ec_get_order
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct crypto_bignum
    signature: struct crypto_bignum * crypto_ec_get_order(struct crypto_ec *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct crypto_ec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2544
      start: 2541
    functionDepth: 0
    functionLinenumber: 2541
    functionLinenumberEnd: 2544
    functionName: crypto_ec_get_a
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct crypto_bignum
    signature: struct crypto_bignum * crypto_ec_get_a(struct crypto_ec *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct crypto_ec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2550
      start: 2547
    functionDepth: 0
    functionLinenumber: 2547
    functionLinenumberEnd: 2550
    functionName: crypto_ec_get_b
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct crypto_bignum
    signature: struct crypto_bignum * crypto_ec_get_b(struct crypto_ec *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_get0_generator
      Src: /src/hostap/src/crypto/crypto_openssl.c:2556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct crypto_ec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2557
      start: 2553
    functionDepth: 0
    functionLinenumber: 2553
    functionLinenumberEnd: 2557
    functionName: crypto_ec_get_generator
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - EC_GROUP_get0_generator
    linkageType: ''
    returnType: struct crypto_ec_point
    signature: struct crypto_ec_point * crypto_ec_get_generator(struct crypto_ec *e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_clear_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:2563,1
    - Dst: EC_POINT_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:2565,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - p
    - clear
    argTypes:
    - struct crypto_ec_point*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2566
      start: 2560
    functionDepth: 0
    functionLinenumber: 2560
    functionLinenumberEnd: 2566
    functionName: crypto_ec_point_deinit
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 2
    functionsReached:
    - EC_POINT_clear_free
    - EC_POINT_free
    linkageType: ''
    returnType: void
    signature: void crypto_ec_point_deinit(struct crypto_ec_point *p, int clear)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/hostap/src/crypto/crypto_openssl.c:2572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - e
    - p
    - x
    argTypes:
    - struct crypto_ec*
    - struct crypto_ec_point*
    - struct crypto_bignum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2576
      start: 2569
    functionDepth: 1
    functionLinenumber: 2569
    functionLinenumberEnd: 2576
    functionName: crypto_ec_point_x
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 1
    functionsReached:
    - EC_POINT_get_affine_coordinates
    linkageType: ''
    returnType: int
    signature: "int crypto_ec_point_x(struct crypto_ec *e, const struct crypto_ec_point
      *p,\n\t\t      struct crypto_bignum *x)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bytes
      Src: /src/hostap/src/crypto/crypto_openssl.c:2584,1
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_openssl.c:2586,1
    - Dst: BN_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:2589,1
    - Dst: BN_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:2590,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/hostap/src/crypto/crypto_openssl.c:2593,1
    - Dst: crypto_bignum_to_bin
      Src: /src/hostap/src/crypto/crypto_openssl.c:2596,1
    - Dst: crypto_bignum_to_bin
      Src: /src/hostap/src/crypto/crypto_openssl.c:2600,1
    - Dst: BN_clear_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:2608,1
    - Dst: BN_clear_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:2609,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 4
    argNames:
    - e
    - point
    - x
    - y
    argTypes:
    - struct crypto_ec*
    - struct crypto_ec_point*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2611
      start: 2579
    functionDepth: 1
    functionLinenumber: 2579
    functionLinenumberEnd: 2611
    functionName: crypto_ec_point_to_bin
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 3
    functionsReached:
    - EC_POINT_get_affine_coordinates
    - crypto_bignum_to_bin
    - TEST_FAIL
    - BN_new
    - BN_num_bytes
    - BN_clear_free
    linkageType: ''
    returnType: int
    signature: "int crypto_ec_point_to_bin(struct crypto_ec *e,\n\t\t\t   const struct
      crypto_ec_point *point, u8 *x, u8 *y)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bytes
      Src: /src/hostap/src/crypto/crypto_openssl.c:2619,1
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_openssl.c:2621,1
    - Dst: BN_bin2bn
      Src: /src/hostap/src/crypto/crypto_openssl.c:2624,1
    - Dst: BN_bin2bn
      Src: /src/hostap/src/crypto/crypto_openssl.c:2625,1
    - Dst: EC_POINT_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:2626,1
    - Dst: BN_clear_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:2628,1
    - Dst: BN_clear_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:2629,1
    - Dst: EC_POINT_clear_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:2630,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/hostap/src/crypto/crypto_openssl.c:2634,1
    - Dst: EC_POINT_clear_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:2635,1
    - Dst: BN_clear_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:2639,1
    - Dst: BN_clear_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:2640,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - e
    - val
    argTypes:
    - struct crypto_ec*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2643
      start: 2614
    functionDepth: 1
    functionLinenumber: 2614
    functionLinenumberEnd: 2643
    functionName: crypto_ec_point_from_bin
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - EC_POINT_set_affine_coordinates
    - TEST_FAIL
    - BN_bin2bn
    - EC_POINT_new
    - EC_POINT_clear_free
    - BN_num_bytes
    - BN_clear_free
    linkageType: ''
    returnType: struct crypto_ec_point
    signature: "struct crypto_ec_point * crypto_ec_point_from_bin(struct crypto_ec
      *e,\n\t\t\t\t\t\t  const u8 *val)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_openssl.c:2650,1
    - Dst: EC_POINT_add
      Src: /src/hostap/src/crypto/crypto_openssl.c:2652,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - e
    - a
    - b
    - c
    argTypes:
    - struct crypto_ec*
    - struct crypto_ec_point*
    - struct crypto_ec_point*
    - struct crypto_ec_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2654
      start: 2646
    functionDepth: 1
    functionLinenumber: 2646
    functionLinenumberEnd: 2654
    functionName: crypto_ec_point_add
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 1
    functionsReached:
    - EC_POINT_add
    - TEST_FAIL
    linkageType: ''
    returnType: int
    signature: "int crypto_ec_point_add(struct crypto_ec *e, const struct crypto_ec_point
      *a,\n\t\t\tconst struct crypto_ec_point *b,\n\t\t\tstruct crypto_ec_point *c)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_openssl.c:2661,1
    - Dst: EC_POINT_mul
      Src: /src/hostap/src/crypto/crypto_openssl.c:2663,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - e
    - p
    - b
    - res
    argTypes:
    - struct crypto_ec*
    - struct crypto_ec_point*
    - struct crypto_bignum*
    - struct crypto_ec_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2666
      start: 2657
    functionDepth: 1
    functionLinenumber: 2657
    functionLinenumberEnd: 2666
    functionName: crypto_ec_point_mul
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 1
    functionsReached:
    - EC_POINT_mul
    - TEST_FAIL
    linkageType: ''
    returnType: int
    signature: "int crypto_ec_point_mul(struct crypto_ec *e, const struct crypto_ec_point
      *p,\n\t\t\tconst struct crypto_bignum *b,\n\t\t\tstruct crypto_ec_point *res)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_openssl.c:2671,1
    - Dst: EC_POINT_invert
      Src: /src/hostap/src/crypto/crypto_openssl.c:2673,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - e
    - p
    argTypes:
    - struct crypto_ec*
    - struct crypto_ec_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2674
      start: 2669
    functionDepth: 1
    functionLinenumber: 2669
    functionLinenumberEnd: 2674
    functionName: crypto_ec_point_invert
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 1
    functionsReached:
    - EC_POINT_invert
    - TEST_FAIL
    linkageType: ''
    returnType: int
    signature: int crypto_ec_point_invert(struct crypto_ec *e, struct crypto_ec_point
      *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/crypto_openssl.c:2683,1
    - Dst: BN_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:2686,1
    - Dst: BN_mod_sqr
      Src: /src/hostap/src/crypto/crypto_openssl.c:2690,1
    - Dst: BN_mod_add_quick
      Src: /src/hostap/src/crypto/crypto_openssl.c:2691,1
    - Dst: BN_mod_mul
      Src: /src/hostap/src/crypto/crypto_openssl.c:2692,1
    - Dst: BN_mod_add_quick
      Src: /src/hostap/src/crypto/crypto_openssl.c:2693,1
    - Dst: BN_clear_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:2696,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - e
    - x
    argTypes:
    - struct crypto_ec*
    - struct crypto_bignum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2698
      start: 2677
    functionDepth: 1
    functionLinenumber: 2677
    functionLinenumberEnd: 2698
    functionName: crypto_ec_point_compute_y_sqr
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - BN_mod_add_quick
    - TEST_FAIL
    - BN_mod_sqr
    - BN_new
    - BN_mod_mul
    - BN_clear_free
    linkageType: ''
    returnType: struct crypto_bignum
    signature: "struct crypto_bignum *\ncrypto_ec_point_compute_y_sqr(struct crypto_ec
      *e,\n\t\t\t      const struct crypto_bignum *x)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_is_at_infinity
      Src: /src/hostap/src/crypto/crypto_openssl.c:2704,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - e
    - p
    argTypes:
    - struct crypto_ec*
    - struct crypto_ec_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2705
      start: 2701
    functionDepth: 0
    functionLinenumber: 2701
    functionLinenumberEnd: 2705
    functionName: crypto_ec_point_is_at_infinity
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 1
    functionsReached:
    - EC_POINT_is_at_infinity
    linkageType: ''
    returnType: int
    signature: "int crypto_ec_point_is_at_infinity(struct crypto_ec *e,\n\t\t\t\t
      \  const struct crypto_ec_point *p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_is_on_curve
      Src: /src/hostap/src/crypto/crypto_openssl.c:2711,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - e
    - p
    argTypes:
    - struct crypto_ec*
    - struct crypto_ec_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2713
      start: 2708
    functionDepth: 0
    functionLinenumber: 2708
    functionLinenumberEnd: 2713
    functionName: crypto_ec_point_is_on_curve
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - EC_POINT_is_on_curve
    linkageType: ''
    returnType: int
    signature: "int crypto_ec_point_is_on_curve(struct crypto_ec *e,\n\t\t\t\tconst
      struct crypto_ec_point *p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_cmp
      Src: /src/hostap/src/crypto/crypto_openssl.c:2720,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - e
    - a
    - b
    argTypes:
    - struct crypto_ec*
    - struct crypto_ec_point*
    - struct crypto_ec_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2722
      start: 2716
    functionDepth: 0
    functionLinenumber: 2716
    functionLinenumberEnd: 2722
    functionName: crypto_ec_point_cmp
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - EC_POINT_cmp
    linkageType: ''
    returnType: int
    signature: "int crypto_ec_point_cmp(const struct crypto_ec *e,\n\t\t\tconst struct
      crypto_ec_point *a,\n\t\t\tconst struct crypto_ec_point *b)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:2732,1
    - Dst: BN_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:2733,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/hostap/src/crypto/crypto_openssl.c:2735,1
    - Dst: BN_bn2hex
      Src: /src/hostap/src/crypto/crypto_openssl.c:2739,1
    - Dst: BN_bn2hex
      Src: /src/hostap/src/crypto/crypto_openssl.c:2740,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:2744,1
    - Dst: OPENSSL_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:2747,1
    - Dst: OPENSSL_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:2748,1
    - Dst: BN_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:2749,1
    - Dst: BN_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:2750,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - e
    - p
    - title
    argTypes:
    - struct crypto_ec*
    - struct crypto_ec_point*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2751
      start: 2725
    functionDepth: 1
    functionLinenumber: 2725
    functionLinenumberEnd: 2751
    functionName: crypto_ec_point_debug_print
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - EC_POINT_get_affine_coordinates
    - wpa_printf
    - BN_new
    - BN_bn2hex
    - OPENSSL_free
    - BN_free
    linkageType: ''
    returnType: void
    signature: "void crypto_ec_point_debug_print(const struct crypto_ec *e,\n\t\t\t\t
      const struct crypto_ec_point *p,\n\t\t\t\t const char *title)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/crypto/crypto_openssl.c:2765,1
    - Dst: crypto_ec_init
      Src: /src/hostap/src/crypto/crypto_openssl.c:2769,1
    - Dst: OSSL_EC_curve_nid2name
      Src: /src/hostap/src/crypto/crypto_openssl.c:2773,1
    - Dst: EVP_EC_gen
      Src: /src/hostap/src/crypto/crypto_openssl.c:2777,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:2779,1
    - Dst: ERR_error_string
      Src: /src/hostap/src/crypto/crypto_openssl.c:2781,1
    - Dst: ERR_get_error
      Src: /src/hostap/src/crypto/crypto_openssl.c:2781,1
    - Dst: crypto_ecdh_deinit
      Src: /src/hostap/src/crypto/crypto_openssl.c:2788,1
    - Dst: os_zalloc
      Src: /src/hostap/src/crypto/crypto_openssl.c:2797,1
    - Dst: crypto_ec_init
      Src: /src/hostap/src/crypto/crypto_openssl.c:2801,1
    - Dst: EC_KEY_new_by_curve_name
      Src: /src/hostap/src/crypto/crypto_openssl.c:2805,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:2807,1
    - Dst: EC_KEY_set_asn1_flag
      Src: /src/hostap/src/crypto/crypto_openssl.c:2811,1
    - Dst: EVP_PKEY_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:2812,1
    - Dst: EVP_PKEY_set1_EC_KEY
      Src: /src/hostap/src/crypto/crypto_openssl.c:2813,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:2814,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:2819,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/hostap/src/crypto/crypto_openssl.c:2823,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:2824,1
    - Dst: ERR_error_string
      Src: /src/hostap/src/crypto/crypto_openssl.c:2826,1
    - Dst: ERR_get_error
      Src: /src/hostap/src/crypto/crypto_openssl.c:2826,1
    - Dst: EVP_PKEY_keygen
      Src: /src/hostap/src/crypto/crypto_openssl.c:2830,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:2831,1
    - Dst: ERR_error_string
      Src: /src/hostap/src/crypto/crypto_openssl.c:2832,1
    - Dst: ERR_get_error
      Src: /src/hostap/src/crypto/crypto_openssl.c:2832,1
    - Dst: EC_KEY_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:2837,1
    - Dst: EVP_PKEY_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:2838,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:2839,1
    - Dst: crypto_ecdh_deinit
      Src: /src/hostap/src/crypto/crypto_openssl.c:2843,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 75
    argCount: 1
    argNames:
    - group
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2847
      start: 2759
    functionDepth: 0
    functionLinenumber: 2759
    functionLinenumberEnd: 2847
    functionName: crypto_ecdh_init
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 4
    functionsReached:
    - wpa_printf
    - crypto_ecdh_deinit
    - OSSL_EC_curve_nid2name
    - EVP_PKEY_new
    - EC_KEY_set_asn1_flag
    - EVP_PKEY_free
    - EVP_PKEY_set1_EC_KEY
    - EVP_PKEY_keygen_init
    - EVP_PKEY_keygen
    - EC_KEY_free
    - os_zalloc
    - ERR_error_string
    - EC_KEY_new_by_curve_name
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new
    - ERR_get_error
    - crypto_ec_init
    - EVP_EC_gen
    linkageType: ''
    returnType: struct crypto_ecdh
    signature: struct crypto_ecdh * crypto_ecdh_init(int group)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/crypto/crypto_openssl.c:2855,1
    - Dst: crypto_ec_init
      Src: /src/hostap/src/crypto/crypto_openssl.c:2859,1
    - Dst: EVP_PKEY_dup
      Src: /src/hostap/src/crypto/crypto_openssl.c:2863,1
    - Dst: crypto_ecdh_deinit
      Src: /src/hostap/src/crypto/crypto_openssl.c:2869,1
    - Dst: os_zalloc
      Src: /src/hostap/src/crypto/crypto_openssl.c:2874,1
    - Dst: crypto_ec_init
      Src: /src/hostap/src/crypto/crypto_openssl.c:2878,1
    - Dst: EVP_PKEY_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:2882,1
    - Dst: EVP_PKEY_assign_EC_KEY
      Src: /src/hostap/src/crypto/crypto_openssl.c:2884,1
    - Dst: EVP_PKEY_get1_EC_KEY
      Src: /src/hostap/src/crypto/crypto_openssl.c:2885,1
    - Dst: crypto_ecdh_deinit
      Src: /src/hostap/src/crypto/crypto_openssl.c:2891,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 2
    argNames:
    - group
    - own_key
    argTypes:
    - int
    - struct crypto_ec_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2894
      start: 2850
    functionDepth: 0
    functionLinenumber: 2850
    functionLinenumberEnd: 2894
    functionName: crypto_ecdh_init2
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_new
    - crypto_ecdh_deinit
    - EVP_PKEY_assign_EC_KEY
    - EVP_PKEY_dup
    - os_zalloc
    - EVP_PKEY_get1_EC_KEY
    - crypto_ec_init
    linkageType: ''
    returnType: struct crypto_ecdh
    signature: struct crypto_ecdh * crypto_ecdh_init2(int group, struct crypto_ec_key
      *own_key)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get1_encoded_public_key
      Src: /src/hostap/src/crypto/crypto_openssl.c:2904,1
    - Dst: crypto_ec_prime_len
      Src: /src/hostap/src/crypto/crypto_openssl.c:2909,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:2911,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/crypto/crypto_openssl.c:2916,1
    - Dst: OPENSSL_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:2918,1
    - Dst: BN_num_bytes
      Src: /src/hostap/src/crypto/crypto_openssl.c:2925,1
    - Dst: EVP_PKEY_get1_EC_KEY
      Src: /src/hostap/src/crypto/crypto_openssl.c:2928,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/hostap/src/crypto/crypto_openssl.c:2932,1
    - Dst: BN_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:2936,1
    - Dst: BN_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:2938,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/crypto/crypto_openssl.c:2942,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/hostap/src/crypto/crypto_openssl.c:2946,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:2948,1
    - Dst: ERR_error_string
      Src: /src/hostap/src/crypto/crypto_openssl.c:2950,1
    - Dst: ERR_get_error
      Src: /src/hostap/src/crypto/crypto_openssl.c:2950,1
    - Dst: crypto_bignum_to_bin
      Src: /src/hostap/src/crypto/crypto_openssl.c:2954,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/crypto/crypto_openssl.c:2955,1
    - Dst: crypto_bignum_to_bin
      Src: /src/hostap/src/crypto/crypto_openssl.c:2960,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/crypto/crypto_openssl.c:2961,1
    - Dst: BN_clear_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:2967,1
    - Dst: BN_clear_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:2968,1
    - Dst: EC_KEY_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:2969,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:2973,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 59
    argCount: 2
    argNames:
    - ecdh
    - inc_y
    argTypes:
    - struct crypto_ecdh*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2977
      start: 2897
    functionDepth: 1
    functionLinenumber: 2897
    functionLinenumberEnd: 2977
    functionName: crypto_ecdh_get_pubkey
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 1
    functionsReached:
    - EC_POINT_get_affine_coordinates
    - crypto_bignum_to_bin
    - wpa_printf
    - wpabuf_put
    - BN_clear_free
    - wpabuf_free
    - wpabuf_alloc_copy
    - BN_new
    - EC_KEY_free
    - wpabuf_alloc
    - OPENSSL_free
    - ERR_error_string
    - BN_num_bytes
    - EC_KEY_get0_public_key
    - ERR_get_error
    - crypto_ec_prime_len
    - EVP_PKEY_get1_EC_KEY
    - EVP_PKEY_get1_encoded_public_key
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * crypto_ecdh_get_pubkey(struct crypto_ecdh *ecdh, int
      inc_y)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:2984,1
    - Dst: os_malloc
      Src: /src/hostap/src/crypto/crypto_openssl.c:2991,1
    - Dst: EVP_PKEY_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:2993,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/crypto_openssl.c:2997,1
    - Dst: EVP_PKEY_copy_parameters
      Src: /src/hostap/src/crypto/crypto_openssl.c:3000,1
    - Dst: EVP_PKEY_set1_encoded_public_key
      Src: /src/hostap/src/crypto/crypto_openssl.c:3001,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:3002,1
    - Dst: ERR_error_string
      Src: /src/hostap/src/crypto/crypto_openssl.c:3003,1
    - Dst: ERR_get_error
      Src: /src/hostap/src/crypto/crypto_openssl.c:3003,1
    - Dst: EVP_PKEY_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:3004,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:3005,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:3008,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:3010,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/hostap/src/crypto/crypto_openssl.c:3012,1
    - Dst: EVP_PKEY_derive_set_peer
      Src: /src/hostap/src/crypto/crypto_openssl.c:3013,1
    - Dst: EVP_PKEY_derive
      Src: /src/hostap/src/crypto/crypto_openssl.c:3014,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/crypto/crypto_openssl.c:3015,1
    - Dst: EVP_PKEY_derive
      Src: /src/hostap/src/crypto/crypto_openssl.c:3016,1
    - Dst: wpabuf_mhead
      Src: /src/hostap/src/crypto/crypto_openssl.c:3016,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:3017,1
    - Dst: ERR_error_string
      Src: /src/hostap/src/crypto/crypto_openssl.c:3018,1
    - Dst: ERR_get_error
      Src: /src/hostap/src/crypto/crypto_openssl.c:3018,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:3019,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/crypto/crypto_openssl.c:3022,1
    - Dst: EVP_PKEY_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:3025,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:3026,1
    - Dst: BN_bin2bn
      Src: /src/hostap/src/crypto/crypto_openssl.c:3037,1
    - Dst: EC_POINT_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:3038,1
    - Dst: BN_bin2bn
      Src: /src/hostap/src/crypto/crypto_openssl.c:3043,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/hostap/src/crypto/crypto_openssl.c:3046,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:3048,1
    - Dst: ERR_error_string
      Src: /src/hostap/src/crypto/crypto_openssl.c:3050,1
    - Dst: ERR_get_error
      Src: /src/hostap/src/crypto/crypto_openssl.c:3050,1
    - Dst: EC_POINT_set_compressed_coordinates
      Src: /src/hostap/src/crypto/crypto_openssl.c:3053,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:3056,1
    - Dst: ERR_error_string
      Src: /src/hostap/src/crypto/crypto_openssl.c:3058,1
    - Dst: ERR_get_error
      Src: /src/hostap/src/crypto/crypto_openssl.c:3058,1
    - Dst: EC_POINT_is_on_curve
      Src: /src/hostap/src/crypto/crypto_openssl.c:3062,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:3063,1
    - Dst: EC_KEY_new_by_curve_name
      Src: /src/hostap/src/crypto/crypto_openssl.c:3068,1
    - Dst: EC_KEY_set_public_key
      Src: /src/hostap/src/crypto/crypto_openssl.c:3069,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:3070,1
    - Dst: ERR_error_string
      Src: /src/hostap/src/crypto/crypto_openssl.c:3072,1
    - Dst: ERR_get_error
      Src: /src/hostap/src/crypto/crypto_openssl.c:3072,1
    - Dst: EVP_PKEY_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:3076,1
    - Dst: EVP_PKEY_set1_EC_KEY
      Src: /src/hostap/src/crypto/crypto_openssl.c:3077,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:3080,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/hostap/src/crypto/crypto_openssl.c:3081,1
    - Dst: EVP_PKEY_derive_set_peer
      Src: /src/hostap/src/crypto/crypto_openssl.c:3082,1
    - Dst: EVP_PKEY_derive
      Src: /src/hostap/src/crypto/crypto_openssl.c:3083,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:3084,1
    - Dst: ERR_error_string
      Src: /src/hostap/src/crypto/crypto_openssl.c:3086,1
    - Dst: ERR_get_error
      Src: /src/hostap/src/crypto/crypto_openssl.c:3086,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/crypto/crypto_openssl.c:3090,1
    - Dst: EVP_PKEY_derive
      Src: /src/hostap/src/crypto/crypto_openssl.c:3093,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/crypto/crypto_openssl.c:3093,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:3094,1
    - Dst: ERR_error_string
      Src: /src/hostap/src/crypto/crypto_openssl.c:3096,1
    - Dst: ERR_get_error
      Src: /src/hostap/src/crypto/crypto_openssl.c:3096,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:3100,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/crypto/crypto_openssl.c:3103,1
    - Dst: BN_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:3106,1
    - Dst: BN_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:3107,1
    - Dst: EC_KEY_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:3108,1
    - Dst: EC_POINT_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:3109,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:3110,1
    - Dst: EVP_PKEY_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:3111,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:3114,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 95
    argCount: 4
    argNames:
    - ecdh
    - inc_y
    - key
    - len
    argTypes:
    - struct crypto_ecdh*
    - int
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3118
      start: 2980
    functionDepth: 1
    functionLinenumber: 2980
    functionLinenumberEnd: 3118
    functionName: crypto_ecdh_set_peerkey
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 1
    functionsReached:
    - EVP_PKEY_new
    - BN_bin2bn
    - EVP_PKEY_free
    - wpabuf_alloc
    - EVP_PKEY_derive
    - wpa_printf
    - EC_POINT_is_on_curve
    - EC_POINT_free
    - EC_KEY_new_by_curve_name
    - EVP_PKEY_derive_init
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new
    - os_free
    - EVP_PKEY_set1_EC_KEY
    - EVP_PKEY_derive_set_peer
    - EC_POINT_set_affine_coordinates
    - os_malloc
    - EC_POINT_set_compressed_coordinates
    - EVP_PKEY_copy_parameters
    - wpabuf_mhead
    - ERR_get_error
    - EC_KEY_set_public_key
    - os_memcpy
    - wpabuf_put
    - EVP_PKEY_set1_encoded_public_key
    - EC_POINT_new
    - wpabuf_free
    - EC_KEY_free
    - ERR_error_string
    - BN_free
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * crypto_ecdh_set_peerkey(struct crypto_ecdh *ecdh,
      int inc_y,\n\t\t\t\t\tconst u8 *key, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_ec_deinit
      Src: /src/hostap/src/crypto/crypto_openssl.c:3124,1
    - Dst: EVP_PKEY_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:3125,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:3126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ecdh
    argTypes:
    - struct crypto_ecdh*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3128
      start: 3121
    functionDepth: 0
    functionLinenumber: 3121
    functionLinenumberEnd: 3128
    functionName: crypto_ecdh_deinit
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 7
    functionsReached:
    - os_free
    - EVP_PKEY_free
    - crypto_ec_deinit
    linkageType: ''
    returnType: void
    signature: void crypto_ecdh_deinit(struct crypto_ecdh *ecdh)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_ec_prime_len
      Src: /src/hostap/src/crypto/crypto_openssl.c:3133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ecdh
    argTypes:
    - struct crypto_ecdh*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3134
      start: 3131
    functionDepth: 0
    functionLinenumber: 3131
    functionLinenumberEnd: 3134
    functionName: crypto_ecdh_prime_len
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - crypto_ec_prime_len
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_ecdh_prime_len(struct crypto_ecdh *ecdh)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_DECODER_CTX_new_for_pkey
      Src: /src/hostap/src/crypto/crypto_openssl.c:3143,1
    - Dst: OSSL_DECODER_from_data
      Src: /src/hostap/src/crypto/crypto_openssl.c:3149,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:3150,1
    - Dst: ERR_error_string
      Src: /src/hostap/src/crypto/crypto_openssl.c:3152,1
    - Dst: ERR_get_error
      Src: /src/hostap/src/crypto/crypto_openssl.c:3152,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:3154,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:3158,1
    - Dst: crypto_ec_key_deinit
      Src: /src/hostap/src/crypto/crypto_openssl.c:3161,1
    - Dst: d2i_ECPrivateKey
      Src: /src/hostap/src/crypto/crypto_openssl.c:3167,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:3169,1
    - Dst: ERR_error_string
      Src: /src/hostap/src/crypto/crypto_openssl.c:3170,1
    - Dst: ERR_get_error
      Src: /src/hostap/src/crypto/crypto_openssl.c:3170,1
    - Dst: EC_KEY_set_conv_form
      Src: /src/hostap/src/crypto/crypto_openssl.c:3173,1
    - Dst: EVP_PKEY_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:3175,1
    - Dst: EVP_PKEY_assign_EC_KEY
      Src: /src/hostap/src/crypto/crypto_openssl.c:3176,1
    - Dst: EC_KEY_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:3177,1
    - Dst: crypto_ec_key_deinit
      Src: /src/hostap/src/crypto/crypto_openssl.c:3183,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 2
    argNames:
    - der
    - der_len
    argTypes:
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3186
      start: 3137
    functionDepth: 0
    functionLinenumber: 3137
    functionLinenumberEnd: 3186
    functionName: crypto_ec_key_parse_priv
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 1
    functionsReached:
    - crypto_ec_key_deinit
    - OSSL_DECODER_CTX_free
    - wpa_printf
    - EVP_PKEY_new
    - EVP_PKEY_assign_EC_KEY
    - EC_KEY_set_conv_form
    - EC_KEY_free
    - OSSL_DECODER_from_data
    - ERR_error_string
    - OSSL_DECODER_CTX_new_for_pkey
    - ERR_get_error
    - d2i_ECPrivateKey
    linkageType: ''
    returnType: struct crypto_ec_key
    signature: struct crypto_ec_key * crypto_ec_key_parse_priv(const u8 *der, size_t
      der_len)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: crypto_ec_group_2_name
      Src: /src/hostap/src/crypto/crypto_openssl.c:3205,1
    - Dst: BN_bin2bn
      Src: /src/hostap/src/crypto/crypto_openssl.c:3209,1
    - Dst: os_malloc
      Src: /src/hostap/src/crypto/crypto_openssl.c:3212,1
    - Dst: BN_bn2lebinpad
      Src: /src/hostap/src/crypto/crypto_openssl.c:3215,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/hostap/src/crypto/crypto_openssl.c:3219,1
    - Dst: crypto_ec_group_2_nid
      Src: /src/hostap/src/crypto/crypto_openssl.c:3219,1
    - Dst: EC_POINT_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:3222,1
    - Dst: EC_POINT_mul
      Src: /src/hostap/src/crypto/crypto_openssl.c:3224,1
    - Dst: EC_POINT_point2oct
      Src: /src/hostap/src/crypto/crypto_openssl.c:3226,1
    - Dst: os_malloc
      Src: /src/hostap/src/crypto/crypto_openssl.c:3230,1
    - Dst: EC_POINT_point2oct
      Src: /src/hostap/src/crypto/crypto_openssl.c:3233,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/hostap/src/crypto/crypto_openssl.c:3238,1
    - Dst: OSSL_PARAM_construct_BN
      Src: /src/hostap/src/crypto/crypto_openssl.c:3240,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/hostap/src/crypto/crypto_openssl.c:3242,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/hostap/src/crypto/crypto_openssl.c:3244,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/hostap/src/crypto/crypto_openssl.c:3246,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/hostap/src/crypto/crypto_openssl.c:3248,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/hostap/src/crypto/crypto_openssl.c:3249,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:3253,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:3254,1
    - Dst: BN_clear_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:3255,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:3256,1
    - Dst: EC_POINT_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:3257,1
    - Dst: EC_GROUP_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:3258,1
    - Dst: EVP_PKEY_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:3262,1
    - Dst: crypto_ec_group_2_nid
      Src: /src/hostap/src/crypto/crypto_openssl.c:3273,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:3275,1
    - Dst: EC_KEY_new_by_curve_name
      Src: /src/hostap/src/crypto/crypto_openssl.c:3279,1
    - Dst: BN_bin2bn
      Src: /src/hostap/src/crypto/crypto_openssl.c:3280,1
    - Dst: EC_KEY_set_private_key
      Src: /src/hostap/src/crypto/crypto_openssl.c:3282,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:3283,1
    - Dst: ERR_error_string
      Src: /src/hostap/src/crypto/crypto_openssl.c:3285,1
    - Dst: ERR_get_error
      Src: /src/hostap/src/crypto/crypto_openssl.c:3285,1
    - Dst: EC_KEY_get0_group
      Src: /src/hostap/src/crypto/crypto_openssl.c:3289,1
    - Dst: EC_POINT_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:3292,1
    - Dst: EC_POINT_mul
      Src: /src/hostap/src/crypto/crypto_openssl.c:3294,1
    - Dst: EC_KEY_set_public_key
      Src: /src/hostap/src/crypto/crypto_openssl.c:3295,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:3296,1
    - Dst: ERR_error_string
      Src: /src/hostap/src/crypto/crypto_openssl.c:3298,1
    - Dst: ERR_get_error
      Src: /src/hostap/src/crypto/crypto_openssl.c:3298,1
    - Dst: EC_KEY_set_asn1_flag
      Src: /src/hostap/src/crypto/crypto_openssl.c:3302,1
    - Dst: EVP_PKEY_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:3304,1
    - Dst: EVP_PKEY_assign_EC_KEY
      Src: /src/hostap/src/crypto/crypto_openssl.c:3305,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:3306,1
    - Dst: BN_clear_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:3311,1
    - Dst: EC_POINT_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:3312,1
    - Dst: EC_KEY_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:3316,1
    - Dst: EVP_PKEY_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:3317,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 99
    argCount: 3
    argNames:
    - group
    - raw
    - raw_len
    argTypes:
    - int
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3321
      start: 3189
    functionDepth: 1
    functionLinenumber: 3189
    functionLinenumberEnd: 3321
    functionName: crypto_ec_key_set_priv
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 1
    functionsReached:
    - EVP_PKEY_fromdata_init
    - EVP_PKEY_new
    - EVP_PKEY_assign_EC_KEY
    - BN_bin2bn
    - EC_KEY_set_asn1_flag
    - EVP_PKEY_free
    - OSSL_PARAM_construct_utf8_string
    - EVP_PKEY_fromdata
    - EC_GROUP_new_by_curve_name
    - wpa_printf
    - OSSL_PARAM_construct_end
    - EVP_PKEY_CTX_new_from_name
    - OSSL_PARAM_construct_octet_string
    - EC_POINT_free
    - EC_POINT_mul
    - EC_KEY_new_by_curve_name
    - BN_bn2lebinpad
    - os_free
    - EVP_PKEY_CTX_free
    - os_malloc
    - OSSL_PARAM_construct_BN
    - ERR_get_error
    - BN_clear_free
    - EC_KEY_set_public_key
    - EC_POINT_new
    - crypto_ec_group_2_name
    - crypto_ec_group_2_nid
    - EC_KEY_free
    - ERR_error_string
    - EC_POINT_point2oct
    - EC_KEY_get0_group
    - EC_KEY_set_private_key
    - EC_GROUP_free
    - bin_clear_free
    linkageType: ''
    returnType: struct crypto_ec_key
    signature: "struct crypto_ec_key * crypto_ec_key_set_priv(int group,\n\t\t\t\t\t
      \     const u8 *raw, size_t raw_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: d2i_PUBKEY
      Src: /src/hostap/src/crypto/crypto_openssl.c:3328,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:3330,1
    - Dst: ERR_error_string
      Src: /src/hostap/src/crypto/crypto_openssl.c:3331,1
    - Dst: ERR_get_error
      Src: /src/hostap/src/crypto/crypto_openssl.c:3331,1
    - Dst: EVP_PKEY_is_a
      Src: /src/hostap/src/crypto/crypto_openssl.c:3337,1
    - Dst: EVP_PKEY_get0_EC_KEY
      Src: /src/hostap/src/crypto/crypto_openssl.c:3340,1
    - Dst: crypto_ec_key_deinit
      Src: /src/hostap/src/crypto/crypto_openssl.c:3345,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - der
    - der_len
    argTypes:
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3347
      start: 3324
    functionDepth: 1
    functionLinenumber: 3324
    functionLinenumberEnd: 3347
    functionName: crypto_ec_key_parse_pub
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 1
    functionsReached:
    - crypto_ec_key_deinit
    - wpa_printf
    - ERR_error_string
    - EVP_PKEY_is_a
    - d2i_PUBKEY
    - ERR_get_error
    - EVP_PKEY_get0_EC_KEY
    linkageType: ''
    returnType: struct crypto_ec_key
    signature: struct crypto_ec_key * crypto_ec_key_parse_pub(const u8 *der, size_t
      der_len)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: crypto_ec_group_2_name
      Src: /src/hostap/src/crypto/crypto_openssl.c:3360,1
    - Dst: os_malloc
      Src: /src/hostap/src/crypto/crypto_openssl.c:3364,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/crypto_openssl.c:3368,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/crypto_openssl.c:3369,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/hostap/src/crypto/crypto_openssl.c:3371,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/hostap/src/crypto/crypto_openssl.c:3373,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/hostap/src/crypto/crypto_openssl.c:3375,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/hostap/src/crypto/crypto_openssl.c:3377,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:3379,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/hostap/src/crypto/crypto_openssl.c:3382,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/hostap/src/crypto/crypto_openssl.c:3383,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:3384,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:3385,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:3389,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:3390,1
    - Dst: crypto_ec_group_2_nid
      Src: /src/hostap/src/crypto/crypto_openssl.c:3405,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:3407,1
    - Dst: BN_CTX_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:3411,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/hostap/src/crypto/crypto_openssl.c:3415,1
    - Dst: BN_bin2bn
      Src: /src/hostap/src/crypto/crypto_openssl.c:3419,1
    - Dst: BN_bin2bn
      Src: /src/hostap/src/crypto/crypto_openssl.c:3420,1
    - Dst: EC_POINT_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:3421,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/hostap/src/crypto/crypto_openssl.c:3425,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:3426,1
    - Dst: ERR_error_string
      Src: /src/hostap/src/crypto/crypto_openssl.c:3428,1
    - Dst: ERR_get_error
      Src: /src/hostap/src/crypto/crypto_openssl.c:3428,1
    - Dst: EC_POINT_is_on_curve
      Src: /src/hostap/src/crypto/crypto_openssl.c:3432,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/hostap/src/crypto/crypto_openssl.c:3433,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:3434,1
    - Dst: EC_KEY_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:3438,1
    - Dst: EC_KEY_set_group
      Src: /src/hostap/src/crypto/crypto_openssl.c:3440,1
    - Dst: EC_KEY_set_public_key
      Src: /src/hostap/src/crypto/crypto_openssl.c:3441,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:3442,1
    - Dst: ERR_error_string
      Src: /src/hostap/src/crypto/crypto_openssl.c:3444,1
    - Dst: ERR_get_error
      Src: /src/hostap/src/crypto/crypto_openssl.c:3444,1
    - Dst: EC_KEY_set_asn1_flag
      Src: /src/hostap/src/crypto/crypto_openssl.c:3447,1
    - Dst: EVP_PKEY_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:3449,1
    - Dst: EVP_PKEY_assign_EC_KEY
      Src: /src/hostap/src/crypto/crypto_openssl.c:3450,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:3451,1
    - Dst: EC_GROUP_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:3456,1
    - Dst: BN_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:3457,1
    - Dst: BN_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:3458,1
    - Dst: EC_POINT_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:3459,1
    - Dst: BN_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:3460,1
    - Dst: EC_KEY_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:3464,1
    - Dst: EVP_PKEY_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:3465,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 85
    argCount: 4
    argNames:
    - group
    - buf_x
    - buf_y
    - len
    argTypes:
    - int
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3469
      start: 3350
    functionDepth: 1
    functionLinenumber: 3350
    functionLinenumberEnd: 3469
    functionName: crypto_ec_key_set_pub
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 1
    functionsReached:
    - EVP_PKEY_fromdata_init
    - EVP_PKEY_new
    - EVP_PKEY_assign_EC_KEY
    - BN_bin2bn
    - EC_KEY_set_asn1_flag
    - EVP_PKEY_free
    - OSSL_PARAM_construct_utf8_string
    - EC_KEY_new
    - EVP_PKEY_fromdata
    - EC_GROUP_new_by_curve_name
    - wpa_printf
    - EC_POINT_is_on_curve
    - OSSL_PARAM_construct_end
    - EVP_PKEY_CTX_new_from_name
    - OSSL_PARAM_construct_octet_string
    - EC_POINT_free
    - BN_CTX_free
    - EVP_PKEY_CTX_free
    - os_free
    - EC_KEY_set_group
    - EC_POINT_set_affine_coordinates
    - os_malloc
    - ERR_get_error
    - EC_KEY_set_public_key
    - os_memcpy
    - EC_POINT_is_at_infinity
    - EC_POINT_new
    - crypto_ec_group_2_name
    - crypto_ec_group_2_nid
    - EC_KEY_free
    - ERR_error_string
    - BN_free
    - BN_CTX_new
    - EC_GROUP_free
    linkageType: ''
    returnType: struct crypto_ec_key
    signature: "struct crypto_ec_key * crypto_ec_key_set_pub(int group, const u8 *buf_x,\n\t\t\t\t\t
      \    const u8 *buf_y, size_t len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bytes
      Src: /src/hostap/src/crypto/crypto_openssl.c:3477,1
    - Dst: os_malloc
      Src: /src/hostap/src/crypto/crypto_openssl.c:3481,1
    - Dst: crypto_ec_point_to_bin
      Src: /src/hostap/src/crypto/crypto_openssl.c:3484,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:3485,1
    - Dst: crypto_ec_key_set_pub
      Src: /src/hostap/src/crypto/crypto_openssl.c:3489,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:3490,1
    - Dst: EC_KEY_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:3497,1
    - Dst: EC_KEY_set_group
      Src: /src/hostap/src/crypto/crypto_openssl.c:3499,1
    - Dst: EC_KEY_set_public_key
      Src: /src/hostap/src/crypto/crypto_openssl.c:3500,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:3501,1
    - Dst: ERR_error_string
      Src: /src/hostap/src/crypto/crypto_openssl.c:3503,1
    - Dst: ERR_get_error
      Src: /src/hostap/src/crypto/crypto_openssl.c:3503,1
    - Dst: EC_KEY_set_asn1_flag
      Src: /src/hostap/src/crypto/crypto_openssl.c:3506,1
    - Dst: EVP_PKEY_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:3508,1
    - Dst: EVP_PKEY_assign_EC_KEY
      Src: /src/hostap/src/crypto/crypto_openssl.c:3509,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:3510,1
    - Dst: EVP_PKEY_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:3518,1
    - Dst: EC_KEY_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:3519,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 2
    argNames:
    - ec
    - pub
    argTypes:
    - struct crypto_ec*
    - struct crypto_ec_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3523
      start: 3472
    functionDepth: 0
    functionLinenumber: 3472
    functionLinenumberEnd: 3523
    functionName: crypto_ec_key_set_pub_point
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - EVP_PKEY_new
    - EVP_PKEY_assign_EC_KEY
    - EC_KEY_set_asn1_flag
    - EVP_PKEY_free
    - os_malloc
    - EC_KEY_free
    - crypto_ec_key_set_pub
    - ERR_error_string
    - ERR_get_error
    - BN_num_bytes
    - EC_KEY_new
    - os_free
    - EC_KEY_set_public_key
    - crypto_ec_point_to_bin
    - EC_KEY_set_group
    linkageType: ''
    returnType: struct crypto_ec_key
    signature: "struct crypto_ec_key *\ncrypto_ec_key_set_pub_point(struct crypto_ec
      *ec,\n\t\t\t    const struct crypto_ec_point *pub)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: crypto_ec_group_2_name
      Src: /src/hostap/src/crypto/crypto_openssl.c:3534,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/hostap/src/crypto/crypto_openssl.c:3538,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/hostap/src/crypto/crypto_openssl.c:3540,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/hostap/src/crypto/crypto_openssl.c:3542,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/hostap/src/crypto/crypto_openssl.c:3544,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/hostap/src/crypto/crypto_openssl.c:3545,1
    - Dst: EVP_PKEY_generate
      Src: /src/hostap/src/crypto/crypto_openssl.c:3546,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:3547,1
    - Dst: ERR_error_string
      Src: /src/hostap/src/crypto/crypto_openssl.c:3549,1
    - Dst: ERR_get_error
      Src: /src/hostap/src/crypto/crypto_openssl.c:3549,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:3553,1
    - Dst: crypto_ec_group_2_nid
      Src: /src/hostap/src/crypto/crypto_openssl.c:3562,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:3564,1
    - Dst: EC_KEY_new_by_curve_name
      Src: /src/hostap/src/crypto/crypto_openssl.c:3568,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:3570,1
    - Dst: EC_KEY_set_asn1_flag
      Src: /src/hostap/src/crypto/crypto_openssl.c:3574,1
    - Dst: EVP_PKEY_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:3575,1
    - Dst: EVP_PKEY_set1_EC_KEY
      Src: /src/hostap/src/crypto/crypto_openssl.c:3576,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:3577,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:3582,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/hostap/src/crypto/crypto_openssl.c:3584,1
    - Dst: EVP_PKEY_keygen
      Src: /src/hostap/src/crypto/crypto_openssl.c:3585,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:3586,1
    - Dst: EVP_PKEY_get1_EC_KEY
      Src: /src/hostap/src/crypto/crypto_openssl.c:3591,1
    - Dst: EC_KEY_set_conv_form
      Src: /src/hostap/src/crypto/crypto_openssl.c:3596,1
    - Dst: EC_KEY_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:3597,1
    - Dst: EC_KEY_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:3600,1
    - Dst: EVP_PKEY_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:3601,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:3602,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 52
    argCount: 1
    argNames:
    - group
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3605
      start: 3526
    functionDepth: 1
    functionLinenumber: 3526
    functionLinenumberEnd: 3605
    functionName: crypto_ec_key_gen
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_new
    - EC_KEY_set_asn1_flag
    - EVP_PKEY_free
    - OSSL_PARAM_construct_utf8_string
    - EVP_PKEY_get1_EC_KEY
    - EVP_PKEY_CTX_set_params
    - wpa_printf
    - OSSL_PARAM_construct_end
    - EVP_PKEY_CTX_new_from_name
    - EC_KEY_set_conv_form
    - EVP_PKEY_keygen
    - EC_KEY_new_by_curve_name
    - EVP_PKEY_set1_EC_KEY
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new
    - ERR_get_error
    - EVP_PKEY_generate
    - crypto_ec_group_2_name
    - crypto_ec_group_2_nid
    - EVP_PKEY_keygen_init
    - EC_KEY_free
    - ERR_error_string
    linkageType: ''
    returnType: struct crypto_ec_key
    signature: struct crypto_ec_key * crypto_ec_key_gen(int group)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:3610,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - struct crypto_ec_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3611
      start: 3608
    functionDepth: 0
    functionLinenumber: 3608
    functionLinenumberEnd: 3611
    functionName: crypto_ec_key_deinit
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 12
    functionsReached:
    - EVP_PKEY_free
    linkageType: ''
    returnType: void
    signature: void crypto_ec_key_deinit(struct crypto_ec_key *key)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_ec_point_conv_form
      Src: /src/hostap/src/crypto/crypto_openssl.c:3652,1
    - Dst: EVP_PKEY_dup
      Src: /src/hostap/src/crypto/crypto_openssl.c:3654,1
    - Dst: EVP_PKEY_set_utf8_string_param
      Src: /src/hostap/src/crypto/crypto_openssl.c:3657,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:3661,1
    - Dst: EVP_PKEY_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:3663,1
    - Dst: OSSL_ENCODER_CTX_new_for_pkey
      Src: /src/hostap/src/crypto/crypto_openssl.c:3672,1
    - Dst: OSSL_ENCODER_to_data
      Src: /src/hostap/src/crypto/crypto_openssl.c:3675,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:3676,1
    - Dst: ERR_error_string
      Src: /src/hostap/src/crypto/crypto_openssl.c:3678,1
    - Dst: ERR_get_error
      Src: /src/hostap/src/crypto/crypto_openssl.c:3678,1
    - Dst: OSSL_ENCODER_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:3681,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/crypto/crypto_openssl.c:3683,1
    - Dst: OPENSSL_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:3684,1
    - Dst: EVP_PKEY_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:3687,1
    - Dst: BN_CTX_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:3703,1
    - Dst: EVP_PKEY_get0_EC_KEY
      Src: /src/hostap/src/crypto/crypto_openssl.c:3704,1
    - Dst: EC_KEY_get0_group
      Src: /src/hostap/src/crypto/crypto_openssl.c:3708,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/hostap/src/crypto/crypto_openssl.c:3709,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/hostap/src/crypto/crypto_openssl.c:3712,1
    - Dst: EC_COMP_PUBKEY_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:3714,1
    - Dst: X509_ALGOR_set0
      Src: /src/hostap/src/crypto/crypto_openssl.c:3716,1
    - Dst: OBJ_nid2obj
      Src: /src/hostap/src/crypto/crypto_openssl.c:3716,1
    - Dst: OBJ_nid2obj
      Src: /src/hostap/src/crypto/crypto_openssl.c:3717,1
    - Dst: EC_POINT_point2oct
      Src: /src/hostap/src/crypto/crypto_openssl.c:3720,1
    - Dst: OPENSSL_malloc
      Src: /src/hostap/src/crypto/crypto_openssl.c:3725,1
    - Dst: EC_POINT_point2oct
      Src: /src/hostap/src/crypto/crypto_openssl.c:3728,1
    - Dst: OPENSSL_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:3731,1
    - Dst: i2d_EC_COMP_PUBKEY
      Src: /src/hostap/src/crypto/crypto_openssl.c:3739,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:3741,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/crypto/crypto_openssl.c:3746,1
    - Dst: EC_COMP_PUBKEY_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:3748,1
    - Dst: OPENSSL_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:3749,1
    - Dst: BN_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:3750,1
    - Dst: EVP_PKEY_get1_EC_KEY
      Src: /src/hostap/src/crypto/crypto_openssl.c:3758,1
    - Dst: EC_KEY_set_conv_form
      Src: /src/hostap/src/crypto/crypto_openssl.c:3763,1
    - Dst: i2d_PUBKEY
      Src: /src/hostap/src/crypto/crypto_openssl.c:3765,1
    - Dst: EC_KEY_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:3766,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:3768,1
    - Dst: ERR_error_string
      Src: /src/hostap/src/crypto/crypto_openssl.c:3769,1
    - Dst: ERR_get_error
      Src: /src/hostap/src/crypto/crypto_openssl.c:3769,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/crypto/crypto_openssl.c:3773,1
    - Dst: OPENSSL_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:3774,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 81
    argCount: 1
    argNames:
    - key
    argTypes:
    - struct crypto_ec_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3778
      start: 3641
    functionDepth: 1
    functionLinenumber: 3641
    functionLinenumberEnd: 3778
    functionName: crypto_ec_key_get_subject_public_key
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 4
    functionsReached:
    - OSSL_ENCODER_to_data
    - EVP_PKEY_free
    - OPENSSL_free
    - EC_COMP_PUBKEY_new
    - EC_KEY_get0_public_key
    - EVP_PKEY_get1_EC_KEY
    - OBJ_nid2obj
    - wpa_printf
    - OSSL_ENCODER_CTX_free
    - OSSL_ENCODER_CTX_new_for_pkey
    - EC_KEY_set_conv_form
    - BN_CTX_free
    - wpabuf_alloc_copy
    - OPENSSL_malloc
    - EVP_PKEY_dup
    - EC_COMP_PUBKEY_free
    - ERR_get_error
    - EVP_PKEY_set_utf8_string_param
    - EC_GROUP_get_curve_name
    - X509_ALGOR_set0
    - i2d_PUBKEY
    - EC_KEY_free
    - i2d_EC_COMP_PUBKEY
    - ERR_error_string
    - EC_POINT_point2oct
    - EVP_PKEY_get_ec_point_conv_form
    - EC_KEY_get0_group
    - EVP_PKEY_get0_EC_KEY
    - BN_CTX_new
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * crypto_ec_key_get_subject_public_key(struct crypto_ec_key
      *key)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_dup
      Src: /src/hostap/src/crypto/crypto_openssl.c:3801,1
    - Dst: EVP_PKEY_set_int_param
      Src: /src/hostap/src/crypto/crypto_openssl.c:3804,1
    - Dst: OSSL_ENCODER_CTX_new_for_pkey
      Src: /src/hostap/src/crypto/crypto_openssl.c:3809,1
    - Dst: OSSL_ENCODER_to_data
      Src: /src/hostap/src/crypto/crypto_openssl.c:3811,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:3812,1
    - Dst: ERR_error_string
      Src: /src/hostap/src/crypto/crypto_openssl.c:3813,1
    - Dst: ERR_get_error
      Src: /src/hostap/src/crypto/crypto_openssl.c:3813,1
    - Dst: OSSL_ENCODER_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:3814,1
    - Dst: EVP_PKEY_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:3815,1
    - Dst: OSSL_ENCODER_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:3818,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/crypto/crypto_openssl.c:3819,1
    - Dst: OPENSSL_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:3820,1
    - Dst: EVP_PKEY_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:3821,1
    - Dst: EVP_PKEY_get1_EC_KEY
      Src: /src/hostap/src/crypto/crypto_openssl.c:3830,1
    - Dst: EC_KEY_get_enc_flags
      Src: /src/hostap/src/crypto/crypto_openssl.c:3834,1
    - Dst: EC_KEY_set_enc_flags
      Src: /src/hostap/src/crypto/crypto_openssl.c:3839,1
    - Dst: EC_KEY_set_conv_form
      Src: /src/hostap/src/crypto/crypto_openssl.c:3841,1
    - Dst: i2d_ECPrivateKey
      Src: /src/hostap/src/crypto/crypto_openssl.c:3843,1
    - Dst: EC_KEY_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:3844,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/crypto/crypto_openssl.c:3847,1
    - Dst: OPENSSL_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:3848,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 39
    argCount: 2
    argNames:
    - key
    - include_pub
    argTypes:
    - struct crypto_ec_key*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3852
      start: 3781
    functionDepth: 1
    functionLinenumber: 3781
    functionLinenumberEnd: 3852
    functionName: crypto_ec_key_get_ecprivate_key
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 1
    functionsReached:
    - i2d_ECPrivateKey
    - EVP_PKEY_set_int_param
    - wpa_printf
    - OSSL_ENCODER_to_data
    - OSSL_ENCODER_CTX_free
    - OSSL_ENCODER_CTX_new_for_pkey
    - EVP_PKEY_free
    - wpabuf_alloc_copy
    - EC_KEY_set_conv_form
    - EVP_PKEY_dup
    - EC_KEY_free
    - ERR_error_string
    - OPENSSL_free
    - EC_KEY_set_enc_flags
    - ERR_get_error
    - EVP_PKEY_get1_EC_KEY
    - EC_KEY_get_enc_flags
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * crypto_ec_key_get_ecprivate_key(struct crypto_ec_key
      *key,\n\t\t\t\t\t\tbool include_pub)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_is_a
      Src: /src/hostap/src/crypto/crypto_openssl.c:3865,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/hostap/src/crypto/crypto_openssl.c:3866,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/crypto/crypto_openssl.c:3870,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/hostap/src/crypto/crypto_openssl.c:3871,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/crypto/crypto_openssl.c:3873,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/crypto/crypto_openssl.c:3875,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:3876,1
    - Dst: ERR_error_string
      Src: /src/hostap/src/crypto/crypto_openssl.c:3878,1
    - Dst: ERR_get_error
      Src: /src/hostap/src/crypto/crypto_openssl.c:3878,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:3879,1
    - Dst: wpabuf_mhead
      Src: /src/hostap/src/crypto/crypto_openssl.c:3885,1
    - Dst: os_memmove
      Src: /src/hostap/src/crypto/crypto_openssl.c:3886,1
    - Dst: EVP_PKEY_get1_EC_KEY
      Src: /src/hostap/src/crypto/crypto_openssl.c:3897,1
    - Dst: EC_KEY_set_conv_form
      Src: /src/hostap/src/crypto/crypto_openssl.c:3900,1
    - Dst: i2o_ECPublicKey
      Src: /src/hostap/src/crypto/crypto_openssl.c:3901,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:3903,1
    - Dst: EC_KEY_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:3905,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/crypto/crypto_openssl.c:3909,1
    - Dst: EC_KEY_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:3911,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/crypto/crypto_openssl.c:3915,1
    - Dst: i2o_ECPublicKey
      Src: /src/hostap/src/crypto/crypto_openssl.c:3916,1
    - Dst: EC_KEY_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:3917,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:3919,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:3922,1
    - Dst: wpabuf_mhead
      Src: /src/hostap/src/crypto/crypto_openssl.c:3928,1
    - Dst: os_memmove
      Src: /src/hostap/src/crypto/crypto_openssl.c:3929,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 2
    argNames:
    - key
    - prefix
    argTypes:
    - struct crypto_ec_key*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3935
      start: 3855
    functionDepth: 1
    functionLinenumber: 3855
    functionLinenumberEnd: 3935
    functionName: crypto_ec_key_get_pubkey_point
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - wpabuf_put
    - wpa_printf
    - i2o_ECPublicKey
    - wpabuf_head_u8
    - EVP_PKEY_get_octet_string_param
    - wpabuf_free
    - os_memmove
    - EC_KEY_set_conv_form
    - EC_KEY_free
    - wpabuf_alloc
    - ERR_error_string
    - EVP_PKEY_is_a
    - wpabuf_mhead
    - ERR_get_error
    - EVP_PKEY_get1_EC_KEY
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * crypto_ec_key_get_pubkey_point(struct crypto_ec_key
      *key,\n\t\t\t\t\t       int prefix)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_is_a
      Src: /src/hostap/src/crypto/crypto_openssl.c:3951,1
    - Dst: EVP_PKEY_get_utf8_string_param
      Src: /src/hostap/src/crypto/crypto_openssl.c:3952,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/hostap/src/crypto/crypto_openssl.c:3954,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/hostap/src/crypto/crypto_openssl.c:3958,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/hostap/src/crypto/crypto_openssl.c:3960,1
    - Dst: EC_GROUP_new_from_params
      Src: /src/hostap/src/crypto/crypto_openssl.c:3961,1
    - Dst: EC_POINT_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:3964,1
    - Dst: EC_POINT_oct2point
      Src: /src/hostap/src/crypto/crypto_openssl.c:3967,1
    - Dst: EC_POINT_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:3971,1
    - Dst: EC_GROUP_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:3975,1
    - Dst: EVP_PKEY_get0_EC_KEY
      Src: /src/hostap/src/crypto/crypto_openssl.c:3983,1
    - Dst: EC_KEY_get0_group
      Src: /src/hostap/src/crypto/crypto_openssl.c:3986,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/hostap/src/crypto/crypto_openssl.c:3989,1
    - Dst: EC_POINT_dup
      Src: /src/hostap/src/crypto/crypto_openssl.c:3992,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 1
    argNames:
    - key
    argTypes:
    - struct crypto_ec_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3994
      start: 3938
    functionDepth: 1
    functionLinenumber: 3938
    functionLinenumberEnd: 3994
    functionName: crypto_ec_key_get_public_key
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - EC_POINT_dup
    - OSSL_PARAM_construct_end
    - EC_POINT_new
    - EVP_PKEY_get_utf8_string_param
    - EVP_PKEY_get_octet_string_param
    - EC_POINT_oct2point
    - EC_POINT_free
    - OSSL_PARAM_construct_utf8_string
    - EVP_PKEY_is_a
    - EC_GROUP_new_from_params
    - EC_KEY_get0_public_key
    - EC_KEY_get0_group
    - EVP_PKEY_get0_EC_KEY
    - EC_GROUP_free
    linkageType: ''
    returnType: struct crypto_ec_point
    signature: 'struct crypto_ec_point *

      crypto_ec_key_get_public_key(struct crypto_ec_key *key)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_is_a
      Src: /src/hostap/src/crypto/crypto_openssl.c:4004,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/hostap/src/crypto/crypto_openssl.c:4005,1
    - Dst: EVP_PKEY_get0_EC_KEY
      Src: /src/hostap/src/crypto/crypto_openssl.c:4012,1
    - Dst: EC_KEY_get0_private_key
      Src: /src/hostap/src/crypto/crypto_openssl.c:4015,1
    - Dst: BN_dup
      Src: /src/hostap/src/crypto/crypto_openssl.c:4018,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - key
    argTypes:
    - struct crypto_ec_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4020
      start: 3997
    functionDepth: 1
    functionLinenumber: 3997
    functionLinenumberEnd: 4020
    functionName: crypto_ec_key_get_private_key
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - EC_KEY_get0_private_key
    - BN_dup
    - EVP_PKEY_is_a
    - EVP_PKEY_get_bn_param
    - EVP_PKEY_get0_EC_KEY
    linkageType: ''
    returnType: struct crypto_bignum
    signature: 'struct crypto_bignum *

      crypto_ec_key_get_private_key(struct crypto_ec_key *key)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_size
      Src: /src/hostap/src/crypto/crypto_openssl.c:4030,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/crypto/crypto_openssl.c:4031,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:4035,1
    - Dst: EVP_PKEY_sign_init
      Src: /src/hostap/src/crypto/crypto_openssl.c:4037,1
    - Dst: EVP_PKEY_sign
      Src: /src/hostap/src/crypto/crypto_openssl.c:4038,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/crypto/crypto_openssl.c:4038,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:4040,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/crypto/crypto_openssl.c:4043,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:4046,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - key
    - data
    - len
    argTypes:
    - struct crypto_ec_key*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4048
      start: 4023
    functionDepth: 1
    functionLinenumber: 4023
    functionLinenumberEnd: 4048
    functionName: crypto_ec_key_sign
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - wpabuf_put
    - EVP_PKEY_size
    - wpabuf_free
    - EVP_PKEY_sign
    - wpabuf_alloc
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new
    - EVP_PKEY_sign_init
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * crypto_ec_key_sign(struct crypto_ec_key *key, const
      u8 *data,\n\t\t\t\t   size_t len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_group_name
      Src: /src/hostap/src/crypto/crypto_openssl.c:4060,1
    - Dst: OBJ_txt2nid
      Src: /src/hostap/src/crypto/crypto_openssl.c:4063,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/hostap/src/crypto/crypto_openssl.c:4064,1
    - Dst: BN_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:4065,1
    - Dst: EC_GROUP_get_curve
      Src: /src/hostap/src/crypto/crypto_openssl.c:4068,1
    - Dst: BN_num_bytes
      Src: /src/hostap/src/crypto/crypto_openssl.c:4069,1
    - Dst: EC_GROUP_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:4071,1
    - Dst: BN_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:4072,1
    - Dst: EVP_PKEY_get0_EC_KEY
      Src: /src/hostap/src/crypto/crypto_openssl.c:4080,1
    - Dst: EC_KEY_get0_group
      Src: /src/hostap/src/crypto/crypto_openssl.c:4083,1
    - Dst: BN_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:4084,1
    - Dst: EC_GROUP_get_curve
      Src: /src/hostap/src/crypto/crypto_openssl.c:4086,1
    - Dst: BN_num_bytes
      Src: /src/hostap/src/crypto/crypto_openssl.c:4088,1
    - Dst: BN_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:4090,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 1
    argNames:
    - key
    argTypes:
    - struct crypto_ec_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4093
      start: 4051
    functionDepth: 1
    functionLinenumber: 4051
    functionLinenumberEnd: 4093
    functionName: openssl_evp_pkey_ec_prime_len
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_get_group_name
    - BN_new
    - OBJ_txt2nid
    - BN_num_bytes
    - BN_free
    - EC_KEY_get0_group
    - EC_GROUP_get_curve
    - EVP_PKEY_get0_EC_KEY
    - EC_GROUP_free
    - EC_GROUP_new_by_curve_name
    linkageType: ''
    returnType: int
    signature: int openssl_evp_pkey_ec_prime_len(struct crypto_ec_key *key)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: openssl_evp_pkey_ec_prime_len
      Src: /src/hostap/src/crypto/crypto_openssl.c:4106,1
    - Dst: crypto_ec_key_sign
      Src: /src/hostap/src/crypto/crypto_openssl.c:4110,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/crypto/crypto_openssl.c:4116,1
    - Dst: d2i_ECDSA_SIG
      Src: /src/hostap/src/crypto/crypto_openssl.c:4117,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/crypto_openssl.c:4117,1
    - Dst: ECDSA_SIG_get0
      Src: /src/hostap/src/crypto/crypto_openssl.c:4120,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/crypto/crypto_openssl.c:4124,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/crypto/crypto_openssl.c:4125,1
    - Dst: crypto_bignum_to_bin
      Src: /src/hostap/src/crypto/crypto_openssl.c:4126,1
    - Dst: crypto_bignum_to_bin
      Src: /src/hostap/src/crypto/crypto_openssl.c:4128,1
    - Dst: ECDSA_SIG_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:4133,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:4136,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 3
    argNames:
    - key
    - data
    - len
    argTypes:
    - struct crypto_ec_key*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4139
      start: 4096
    functionDepth: 2
    functionLinenumber: 4096
    functionLinenumberEnd: 4139
    functionName: crypto_ec_key_sign_r_s
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - crypto_bignum_to_bin
    - wpabuf_put
    - d2i_ECDSA_SIG
    - wpabuf_len
    - crypto_ec_key_sign
    - wpabuf_head
    - wpabuf_clear_free
    - ECDSA_SIG_get0
    - ECDSA_SIG_free
    - openssl_evp_pkey_ec_prime_len
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * crypto_ec_key_sign_r_s(struct crypto_ec_key *key,\n\t\t\t\t
      \      const u8 *data, size_t len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:4148,1
    - Dst: EVP_PKEY_verify_init
      Src: /src/hostap/src/crypto/crypto_openssl.c:4149,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:4150,1
    - Dst: EVP_PKEY_verify
      Src: /src/hostap/src/crypto/crypto_openssl.c:4154,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:4155,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 5
    argNames:
    - key
    - data
    - len
    - sig
    - sig_len
    argTypes:
    - struct crypto_ec_key*
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4161
      start: 4142
    functionDepth: 0
    functionLinenumber: 4142
    functionLinenumberEnd: 4161
    functionName: crypto_ec_key_verify_signature
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 1
    functionsReached:
    - EVP_PKEY_CTX_new
    - EVP_PKEY_verify_init
    - EVP_PKEY_verify
    - EVP_PKEY_CTX_free
    linkageType: ''
    returnType: int
    signature: "int crypto_ec_key_verify_signature(struct crypto_ec_key *key, const
      u8 *data,\n\t\t\t\t   size_t len, const u8 *sig, size_t sig_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_bin2bn
      Src: /src/hostap/src/crypto/crypto_openssl.c:4175,1
    - Dst: BN_bin2bn
      Src: /src/hostap/src/crypto/crypto_openssl.c:4176,1
    - Dst: ECDSA_SIG_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:4177,1
    - Dst: ECDSA_SIG_set0
      Src: /src/hostap/src/crypto/crypto_openssl.c:4178,1
    - Dst: i2d_ECDSA_SIG
      Src: /src/hostap/src/crypto/crypto_openssl.c:4183,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:4185,1
    - Dst: crypto_ec_key_verify_signature
      Src: /src/hostap/src/crypto/crypto_openssl.c:4190,1
    - Dst: OPENSSL_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:4193,1
    - Dst: BN_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:4194,1
    - Dst: BN_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:4195,1
    - Dst: ECDSA_SIG_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:4196,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 7
    argNames:
    - key
    - data
    - len
    - r
    - r_len
    - s
    - s_len
    argTypes:
    - struct crypto_ec_key*
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4198
      start: 4164
    functionDepth: 1
    functionLinenumber: 4164
    functionLinenumberEnd: 4198
    functionName: crypto_ec_key_verify_signature_r_s
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - BN_bin2bn
    - ECDSA_SIG_new
    - crypto_ec_key_verify_signature
    - ECDSA_SIG_free
    - OPENSSL_free
    - BN_free
    - ECDSA_SIG_set0
    - i2d_ECDSA_SIG
    linkageType: ''
    returnType: int
    signature: "int crypto_ec_key_verify_signature_r_s(struct crypto_ec_key *key,\n\t\t\t\t
      \      const u8 *data, size_t len,\n\t\t\t\t       const u8 *r, size_t r_len,\n\t\t\t\t
      \      const u8 *s, size_t s_len)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_group_name
      Src: /src/hostap/src/crypto/crypto_openssl.c:4207,1
    - Dst: OBJ_txt2nid
      Src: /src/hostap/src/crypto/crypto_openssl.c:4210,1
    - Dst: EVP_PKEY_get0_EC_KEY
      Src: /src/hostap/src/crypto/crypto_openssl.c:4216,1
    - Dst: EC_KEY_get0_group
      Src: /src/hostap/src/crypto/crypto_openssl.c:4219,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/hostap/src/crypto/crypto_openssl.c:4222,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:4244,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 1
    argNames:
    - key
    argTypes:
    - struct crypto_ec_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4249
      start: 4201
    functionDepth: 1
    functionLinenumber: 4201
    functionLinenumberEnd: 4249
    functionName: crypto_ec_key_group
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 2
    functionsReached:
    - EVP_PKEY_get_group_name
    - EC_GROUP_get_curve_name
    - wpa_printf
    - OBJ_txt2nid
    - EC_KEY_get0_group
    - EVP_PKEY_get0_EC_KEY
    linkageType: ''
    returnType: int
    signature: int crypto_ec_key_group(struct crypto_ec_key *key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_eq
      Src: /src/hostap/src/crypto/crypto_openssl.c:4255,1
    - Dst: EVP_PKEY_cmp
      Src: /src/hostap/src/crypto/crypto_openssl.c:4258,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - key1
    - key2
    argTypes:
    - struct crypto_ec_key*
    - struct crypto_ec_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4262
      start: 4252
    functionDepth: 0
    functionLinenumber: 4252
    functionLinenumberEnd: 4262
    functionName: crypto_ec_key_cmp
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_eq
    - EVP_PKEY_cmp
    linkageType: ''
    returnType: int
    signature: int crypto_ec_key_cmp(struct crypto_ec_key *key1, struct crypto_ec_key
      *key2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:4273,1
    - Dst: BIO_s_mem
      Src: /src/hostap/src/crypto/crypto_openssl.c:4273,1
    - Dst: EVP_PKEY_print_private
      Src: /src/hostap/src/crypto/crypto_openssl.c:4277,1
    - Dst: BIO_ctrl_pending
      Src: /src/hostap/src/crypto/crypto_openssl.c:4278,1
    - Dst: os_malloc
      Src: /src/hostap/src/crypto/crypto_openssl.c:4279,1
    - Dst: BIO_read
      Src: /src/hostap/src/crypto/crypto_openssl.c:4281,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:4284,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:4286,1
    - Dst: BIO_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:4288,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - key
    - title
    argTypes:
    - struct crypto_ec_key*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4289
      start: 4265
    functionDepth: 0
    functionLinenumber: 4265
    functionLinenumberEnd: 4289
    functionName: crypto_ec_key_debug_print
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - BIO_s_mem
    - os_malloc
    - BIO_ctrl_pending
    - BIO_new
    - BIO_free
    - os_free
    - EVP_PKEY_print_private
    - BIO_read
    linkageType: ''
    returnType: void
    signature: "void crypto_ec_key_debug_print(const struct crypto_ec_key *key,\n\t\t\t
      \      const char *title)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_head
      Src: /src/hostap/src/crypto/crypto_openssl.c:4298,1
    - Dst: STACK_OF
      Src: /src/hostap/src/crypto/crypto_openssl.c:4300,1
    - Dst: sk_X509_new_null
      Src: /src/hostap/src/crypto/crypto_openssl.c:4308,1
    - Dst: CBS_init
      Src: /src/hostap/src/crypto/crypto_openssl.c:4311,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/crypto/crypto_openssl.c:4311,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/crypto_openssl.c:4311,1
    - Dst: PKCS7_get_certificates
      Src: /src/hostap/src/crypto/crypto_openssl.c:4312,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:4313,1
    - Dst: ERR_error_string
      Src: /src/hostap/src/crypto/crypto_openssl.c:4315,1
    - Dst: ERR_get_error
      Src: /src/hostap/src/crypto/crypto_openssl.c:4315,1
    - Dst: d2i_PKCS7
      Src: /src/hostap/src/crypto/crypto_openssl.c:4319,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/crypto_openssl.c:4319,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:4321,1
    - Dst: ERR_error_string
      Src: /src/hostap/src/crypto/crypto_openssl.c:4323,1
    - Dst: ERR_get_error
      Src: /src/hostap/src/crypto/crypto_openssl.c:4323,1
    - Dst: OBJ_obj2nid
      Src: /src/hostap/src/crypto/crypto_openssl.c:4327,1
    - Dst: sk_X509_num
      Src: /src/hostap/src/crypto/crypto_openssl.c:4340,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:4341,1
    - Dst: BIO_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:4346,1
    - Dst: BIO_s_mem
      Src: /src/hostap/src/crypto/crypto_openssl.c:4346,1
    - Dst: sk_X509_value
      Src: /src/hostap/src/crypto/crypto_openssl.c:4351,1
    - Dst: PEM_write_bio_X509
      Src: /src/hostap/src/crypto/crypto_openssl.c:4353,1
    - Dst: BIO_ctrl_pending
      Src: /src/hostap/src/crypto/crypto_openssl.c:4356,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/crypto/crypto_openssl.c:4357,1
    - Dst: BIO_read
      Src: /src/hostap/src/crypto/crypto_openssl.c:4360,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/crypto/crypto_openssl.c:4360,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:4362,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/crypto/crypto_openssl.c:4366,1
    - Dst: sk_X509_pop_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:4371,1
    - Dst: PKCS7_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:4373,1
    - Dst: BIO_free_all
      Src: /src/hostap/src/crypto/crypto_openssl.c:4376,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 63
    argCount: 1
    argNames:
    - pkcs7
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4379
      start: 4292
    functionDepth: 1
    functionLinenumber: 4292
    functionLinenumberEnd: 4379
    functionName: crypto_pkcs7_get_certificates
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - STACK_OF
    - sk_X509_num
    - sk_X509_pop_free
    - CBS_init
    - wpabuf_alloc
    - BIO_free_all
    - BIO_new
    - BIO_read
    - sk_X509_new_null
    - wpa_printf
    - PKCS7_get_certificates
    - wpabuf_len
    - wpabuf_head
    - BIO_ctrl_pending
    - PKCS7_free
    - ERR_get_error
    - OBJ_obj2nid
    - d2i_PKCS7
    - wpabuf_put
    - BIO_s_mem
    - wpabuf_free
    - ERR_error_string
    - PEM_write_bio_X509
    - sk_X509_value
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * crypto_pkcs7_get_certificates(const struct wpabuf *pkcs7)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_REQ_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:4384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4385
      start: 4382
    functionDepth: 0
    functionLinenumber: 4382
    functionLinenumberEnd: 4385
    functionName: crypto_csr_init
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 1
    functionsReached:
    - X509_REQ_new
    linkageType: ''
    returnType: struct crypto_csr
    signature: struct crypto_csr * crypto_csr_init(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_head
      Src: /src/hostap/src/crypto/crypto_openssl.c:4392,1
    - Dst: d2i_X509_REQ
      Src: /src/hostap/src/crypto/crypto_openssl.c:4394,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/crypto_openssl.c:4394,1
    - Dst: X509_REQ_get_pubkey
      Src: /src/hostap/src/crypto/crypto_openssl.c:4398,1
    - Dst: X509_REQ_verify
      Src: /src/hostap/src/crypto/crypto_openssl.c:4402,1
    - Dst: EVP_PKEY_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:4405,1
    - Dst: EVP_PKEY_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:4408,1
    - Dst: X509_REQ_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:4409,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4411
      start: 4388
    functionDepth: 1
    functionLinenumber: 4388
    functionLinenumberEnd: 4411
    functionName: crypto_csr_verify
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - wpabuf_len
    - X509_REQ_verify
    - EVP_PKEY_free
    - wpabuf_head
    - d2i_X509_REQ
    - X509_REQ_free
    - X509_REQ_get_pubkey
    linkageType: ''
    returnType: struct crypto_csr
    signature: struct crypto_csr * crypto_csr_verify(const struct wpabuf *req)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_REQ_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:4416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - csr
    argTypes:
    - struct crypto_csr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4417
      start: 4414
    functionDepth: 0
    functionLinenumber: 4414
    functionLinenumberEnd: 4417
    functionName: crypto_csr_deinit
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 1
    functionsReached:
    - X509_REQ_free
    linkageType: ''
    returnType: void
    signature: void crypto_csr_deinit(struct crypto_csr *csr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_REQ_set_pubkey
      Src: /src/hostap/src/crypto/crypto_openssl.c:4422,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - csr
    - key
    argTypes:
    - struct crypto_csr*
    - struct crypto_ec_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4426
      start: 4420
    functionDepth: 0
    functionLinenumber: 4420
    functionLinenumberEnd: 4426
    functionName: crypto_csr_set_ec_public_key
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - X509_REQ_set_pubkey
    linkageType: ''
    returnType: int
    signature: int crypto_csr_set_ec_public_key(struct crypto_csr *csr, struct crypto_ec_key
      *key)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:4456,1
    - Dst: X509_NAME_add_entry_by_NID
      Src: /src/hostap/src/crypto/crypto_openssl.c:4461,1
    - Dst: os_strlen
      Src: /src/hostap/src/crypto/crypto_openssl.c:4463,1
    - Dst: X509_NAME_add_entry_by_NID
      Src: /src/hostap/src/crypto/crypto_openssl.c:4466,1
    - Dst: os_strlen
      Src: /src/hostap/src/crypto/crypto_openssl.c:4468,1
    - Dst: X509_REQ_set_subject_name
      Src: /src/hostap/src/crypto/crypto_openssl.c:4472,1
    - Dst: X509_NAME_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:4477,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 3
    argNames:
    - csr
    - type
    - name
    argTypes:
    - struct crypto_csr*
    - enum crypto_csr_name
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4479
      start: 4429
    functionDepth: 0
    functionLinenumber: 4429
    functionLinenumberEnd: 4479
    functionName: crypto_csr_set_name
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - X509_NAME_new
    - X509_NAME_free
    - X509_REQ_set_subject_name
    - X509_NAME_add_entry_by_NID
    linkageType: ''
    returnType: int
    signature: "int crypto_csr_set_name(struct crypto_csr *csr, enum crypto_csr_name
      type,\n\t\t\tconst char *name)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: X509_REQ_add1_attr_by_NID
      Src: /src/hostap/src/crypto/crypto_openssl.c:4495,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - csr
    - attr
    - attr_type
    - value
    - len
    argTypes:
    - struct crypto_csr*
    - enum crypto_csr_attr
    - int
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4500
      start: 4482
    functionDepth: 0
    functionLinenumber: 4482
    functionLinenumberEnd: 4500
    functionName: crypto_csr_set_attribute
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - X509_REQ_add1_attr_by_NID
    linkageType: ''
    returnType: int
    signature: "int crypto_csr_set_attribute(struct crypto_csr *csr, enum crypto_csr_attr
      attr,\n\t\t\t     int attr_type, const u8 *value, size_t len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: X509_REQ_get_attr_by_NID
      Src: /src/hostap/src/crypto/crypto_openssl.c:4521,1
    - Dst: X509_REQ_get_attr
      Src: /src/hostap/src/crypto/crypto_openssl.c:4525,1
    - Dst: X509_ATTRIBUTE_get0_type
      Src: /src/hostap/src/crypto/crypto_openssl.c:4529,1
    - Dst: ASN1_TYPE_get
      Src: /src/hostap/src/crypto/crypto_openssl.c:4532,1
    - Dst: X509_ATTRIBUTE_get0_data
      Src: /src/hostap/src/crypto/crypto_openssl.c:4533,1
    - Dst: ASN1_STRING_length
      Src: /src/hostap/src/crypto/crypto_openssl.c:4536,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/hostap/src/crypto/crypto_openssl.c:4537,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 4
    argNames:
    - csr
    - attr
    - len
    - type
    argTypes:
    - struct crypto_csr*
    - enum crypto_csr_attr
    - size_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4538
      start: 4503
    functionDepth: 0
    functionLinenumber: 4503
    functionLinenumberEnd: 4538
    functionName: crypto_csr_get_attribute
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - X509_ATTRIBUTE_get0_type
    - X509_REQ_get_attr_by_NID
    - ASN1_STRING_length
    - X509_ATTRIBUTE_get0_data
    - ASN1_TYPE_get
    - X509_REQ_get_attr
    - ASN1_STRING_get0_data
    linkageType: ''
    returnType: u8
    signature: "u8 * crypto_csr_get_attribute(struct crypto_csr *csr,\n\t\t\t\t    enum
      crypto_csr_attr attr,\n\t\t\t\t    size_t *len, int *type)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_sha256
      Src: /src/hostap/src/crypto/crypto_openssl.c:4552,1
    - Dst: EVP_sha384
      Src: /src/hostap/src/crypto/crypto_openssl.c:4555,1
    - Dst: EVP_sha512
      Src: /src/hostap/src/crypto/crypto_openssl.c:4558,1
    - Dst: X509_REQ_sign
      Src: /src/hostap/src/crypto/crypto_openssl.c:4564,1
    - Dst: i2d_X509_REQ
      Src: /src/hostap/src/crypto/crypto_openssl.c:4567,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/crypto/crypto_openssl.c:4571,1
    - Dst: OPENSSL_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:4572,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - csr
    - key
    - algo
    argTypes:
    - struct crypto_csr*
    - struct crypto_ec_key*
    - enum crypto_hash_alg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4575
      start: 4541
    functionDepth: 1
    functionLinenumber: 4541
    functionLinenumberEnd: 4575
    functionName: crypto_csr_sign
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - EVP_sha512
    - wpabuf_alloc_copy
    - i2d_X509_REQ
    - OPENSSL_free
    - EVP_sha384
    - EVP_sha256
    - X509_REQ_sign
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * crypto_csr_sign(struct crypto_csr *csr,\n\t\t\t\tstruct
      crypto_ec_key *key,\n\t\t\t\tenum crypto_hash_alg algo)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PEM_read_PUBKEY
      Src: /src/hostap/src/crypto/crypto_openssl.c:4587,1
    - Dst: rewind
      Src: /src/hostap/src/crypto/crypto_openssl.c:4591,1
    - Dst: PEM_read_X509
      Src: /src/hostap/src/crypto/crypto_openssl.c:4592,1
    - Dst: X509_get0_notBefore
      Src: /src/hostap/src/crypto/crypto_openssl.c:4596,1
    - Dst: X509_get0_notAfter
      Src: /src/hostap/src/crypto/crypto_openssl.c:4597,1
    - Dst: X509_cmp_current_time
      Src: /src/hostap/src/crypto/crypto_openssl.c:4600,1
    - Dst: X509_cmp_current_time
      Src: /src/hostap/src/crypto/crypto_openssl.c:4601,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:4605,1
    - Dst: X509_get_pubkey
      Src: /src/hostap/src/crypto/crypto_openssl.c:4611,1
    - Dst: X509_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:4612,1
    - Dst: EVP_PKEY_base_id
      Src: /src/hostap/src/crypto/crypto_openssl.c:4616,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:4617,1
    - Dst: EVP_PKEY_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:4618,1
    - Dst: X509_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:4624,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 1
    argNames:
    - f
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4626
      start: 4580
    functionDepth: 1
    functionLinenumber: 4580
    functionLinenumberEnd: 4626
    functionName: crypto_rsa_key_read_public
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - X509_get0_notAfter
    - wpa_printf
    - EVP_PKEY_base_id
    - rewind
    - X509_get_pubkey
    - EVP_PKEY_free
    - X509_cmp_current_time
    - X509_get0_notBefore
    - X509_free
    - PEM_read_X509
    - PEM_read_PUBKEY
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY * crypto_rsa_key_read_public(FILE *f)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/hostap/src/crypto/crypto_openssl.c:4634,1
    - Dst: PEM_read_PrivateKey
      Src: /src/hostap/src/crypto/crypto_openssl.c:4638,1
    - Dst: crypto_rsa_key_read_public
      Src: /src/hostap/src/crypto/crypto_openssl.c:4640,1
    - Dst: fclose
      Src: /src/hostap/src/crypto/crypto_openssl.c:4641,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - file
    - private_key
    argTypes:
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4643
      start: 4629
    functionDepth: 2
    functionLinenumber: 4629
    functionLinenumberEnd: 4643
    functionName: crypto_rsa_key_read
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 3
    functionsReached:
    - fclose
    - crypto_rsa_key_read_public
    - PEM_read_PrivateKey
    - fopen
    linkageType: ''
    returnType: struct crypto_rsa_key
    signature: struct crypto_rsa_key * crypto_rsa_key_read(const char *file, bool
      private_key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:4657,1
    - Dst: EVP_PKEY_encrypt_init
      Src: /src/hostap/src/crypto/crypto_openssl.c:4661,1
    - Dst: EVP_PKEY_CTX_set_rsa_padding
      Src: /src/hostap/src/crypto/crypto_openssl.c:4662,1
    - Dst: EVP_PKEY_CTX_set_rsa_oaep_md
      Src: /src/hostap/src/crypto/crypto_openssl.c:4663,1
    - Dst: EVP_sha256
      Src: /src/hostap/src/crypto/crypto_openssl.c:4663,1
    - Dst: EVP_PKEY_encrypt
      Src: /src/hostap/src/crypto/crypto_openssl.c:4664,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/crypto/crypto_openssl.c:4664,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/crypto_openssl.c:4665,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/crypto/crypto_openssl.c:4666,1
    - Dst: EVP_PKEY_encrypt
      Src: /src/hostap/src/crypto/crypto_openssl.c:4667,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/crypto/crypto_openssl.c:4667,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/crypto/crypto_openssl.c:4668,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/crypto_openssl.c:4668,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:4669,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/crypto/crypto_openssl.c:4673,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:4676,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:4679,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 2
    argNames:
    - key
    - in
    argTypes:
    - struct crypto_rsa_key*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4682
      start: 4648
    functionDepth: 1
    functionLinenumber: 4648
    functionLinenumberEnd: 4682
    functionName: crypto_rsa_oaep_sha256_encrypt
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 2
    functionsReached:
    - EVP_PKEY_CTX_set_rsa_oaep_md
    - wpabuf_put
    - wpa_printf
    - wpabuf_len
    - wpabuf_free
    - EVP_PKEY_CTX_set_rsa_padding
    - wpabuf_head
    - wpabuf_alloc
    - EVP_PKEY_encrypt_init
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new
    - EVP_sha256
    - EVP_PKEY_encrypt
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * crypto_rsa_oaep_sha256_encrypt(struct crypto_rsa_key
      *key,\n\t\t\t\t\t       const struct wpabuf *in)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:4694,1
    - Dst: EVP_PKEY_decrypt_init
      Src: /src/hostap/src/crypto/crypto_openssl.c:4698,1
    - Dst: EVP_PKEY_CTX_set_rsa_padding
      Src: /src/hostap/src/crypto/crypto_openssl.c:4699,1
    - Dst: EVP_PKEY_CTX_set_rsa_oaep_md
      Src: /src/hostap/src/crypto/crypto_openssl.c:4700,1
    - Dst: EVP_sha256
      Src: /src/hostap/src/crypto/crypto_openssl.c:4700,1
    - Dst: EVP_PKEY_decrypt
      Src: /src/hostap/src/crypto/crypto_openssl.c:4701,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/crypto/crypto_openssl.c:4701,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/crypto_openssl.c:4702,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/crypto/crypto_openssl.c:4703,1
    - Dst: EVP_PKEY_decrypt
      Src: /src/hostap/src/crypto/crypto_openssl.c:4704,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/crypto/crypto_openssl.c:4704,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/crypto/crypto_openssl.c:4705,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/crypto_openssl.c:4705,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:4706,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/crypto/crypto_openssl.c:4710,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:4713,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:4716,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 2
    argNames:
    - key
    - in
    argTypes:
    - struct crypto_rsa_key*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4719
      start: 4685
    functionDepth: 1
    functionLinenumber: 4685
    functionLinenumberEnd: 4719
    functionName: crypto_rsa_oaep_sha256_decrypt
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_set_rsa_oaep_md
    - wpabuf_put
    - wpa_printf
    - wpabuf_len
    - wpabuf_free
    - EVP_PKEY_decrypt_init
    - EVP_PKEY_CTX_set_rsa_padding
    - wpabuf_head
    - wpabuf_alloc
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new
    - EVP_PKEY_decrypt
    - EVP_sha256
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * crypto_rsa_oaep_sha256_decrypt(struct crypto_rsa_key
      *key,\n\t\t\t\t\t       const struct wpabuf *in)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:4726,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - struct crypto_rsa_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4727
      start: 4724
    functionDepth: 0
    functionLinenumber: 4724
    functionLinenumberEnd: 4727
    functionName: crypto_rsa_key_free
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 6
    functionsReached:
    - EVP_PKEY_free
    linkageType: ''
    returnType: void
    signature: void crypto_rsa_key_free(struct crypto_rsa_key *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bin_clear_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:4766,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct hpke_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4767
      start: 4764
    functionDepth: 1
    functionLinenumber: 4764
    functionLinenumberEnd: 4767
    functionName: hpke_free_context
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: void hpke_free_context(struct hpke_context *ctx)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/crypto/crypto_openssl.c:4778,1
    - Dst: EVP_sha256
      Src: /src/hostap/src/crypto/crypto_openssl.c:4789,1
    - Dst: EVP_sha384
      Src: /src/hostap/src/crypto/crypto_openssl.c:4797,1
    - Dst: EVP_sha512
      Src: /src/hostap/src/crypto/crypto_openssl.c:4805,1
    - Dst: EVP_sha256
      Src: /src/hostap/src/crypto/crypto_openssl.c:4815,1
    - Dst: EVP_sha384
      Src: /src/hostap/src/crypto/crypto_openssl.c:4819,1
    - Dst: EVP_sha512
      Src: /src/hostap/src/crypto/crypto_openssl.c:4823,1
    - Dst: EVP_aes_128_gcm
      Src: /src/hostap/src/crypto/crypto_openssl.c:4833,1
    - Dst: EVP_aes_256_gcm
      Src: /src/hostap/src/crypto/crypto_openssl.c:4839,1
    - Dst: crypto_ec_key_group
      Src: /src/hostap/src/crypto/crypto_openssl.c:4849,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:4859,1
    - Dst: hpke_free_context
      Src: /src/hostap/src/crypto/crypto_openssl.c:4866,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 91
    argCount: 4
    argNames:
    - kem_id
    - kdf_id
    - aead_id
    - key
    argTypes:
    - enum hpke_kem_id
    - enum hpke_kdf_id
    - enum hpke_aead_id
    - struct crypto_ec_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4868
      start: 4770
    functionDepth: 2
    functionLinenumber: 4770
    functionLinenumberEnd: 4868
    functionName: hpke_get_context
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hpke_free_context
    - EVP_aes_256_gcm
    - EVP_sha512
    - crypto_ec_key_group
    - os_zalloc
    - EVP_sha384
    - EVP_sha256
    - EVP_aes_128_gcm
    linkageType: ''
    returnType: struct hpke_context
    signature: "struct hpke_context * hpke_get_context(enum hpke_kem_id kem_id,\n\t\t\t\t\t
      \     enum hpke_kdf_id kdf_id,\n\t\t\t\t\t      enum hpke_aead_id aead_id,\n\t\t\t\t\t
      \     struct crypto_ec_key *key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/crypto_openssl.c:4876,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/crypto/crypto_openssl.c:4877,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/crypto_openssl.c:4880,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/crypto/crypto_openssl.c:4881,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/crypto/crypto_openssl.c:4882,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/crypto/crypto_openssl.c:4883,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - ctx
    - kem
    - suite_id
    argTypes:
    - struct hpke_context*
    - bool
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4887
      start: 4871
    functionDepth: 1
    functionLinenumber: 4871
    functionLinenumberEnd: 4887
    functionName: hpke_suite_id
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - WPA_PUT_BE16
    linkageType: ''
    returnType: size_t
    signature: size_t hpke_suite_id(struct hpke_context *ctx, bool kem, u8 *suite_id)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/crypto/crypto_openssl.c:4912,1
    - Dst: hpke_suite_id
      Src: /src/hostap/src/crypto/crypto_openssl.c:4916,1
    - Dst: EVP_MAC_fetch
      Src: /src/hostap/src/crypto/crypto_openssl.c:4922,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/hostap/src/crypto/crypto_openssl.c:4926,1
    - Dst: EVP_MD_get0_name
      Src: /src/hostap/src/crypto/crypto_openssl.c:4928,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/hostap/src/crypto/crypto_openssl.c:4929,1
    - Dst: EVP_MAC_CTX_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:4931,1
    - Dst: EVP_MAC_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:4932,1
    - Dst: EVP_MAC_init
      Src: /src/hostap/src/crypto/crypto_openssl.c:4936,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:4937,1
    - Dst: ERR_error_string
      Src: /src/hostap/src/crypto/crypto_openssl.c:4939,1
    - Dst: ERR_get_error
      Src: /src/hostap/src/crypto/crypto_openssl.c:4939,1
    - Dst: EVP_MAC_update
      Src: /src/hostap/src/crypto/crypto_openssl.c:4943,1
    - Dst: EVP_MAC_update
      Src: /src/hostap/src/crypto/crypto_openssl.c:4944,1
    - Dst: EVP_MAC_update
      Src: /src/hostap/src/crypto/crypto_openssl.c:4945,1
    - Dst: os_strlen
      Src: /src/hostap/src/crypto/crypto_openssl.c:4946,1
    - Dst: EVP_MAC_update
      Src: /src/hostap/src/crypto/crypto_openssl.c:4947,1
    - Dst: EVP_MAC_final
      Src: /src/hostap/src/crypto/crypto_openssl.c:4950,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:4951,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:4955,1
    - Dst: HMAC_CTX_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:4958,1
    - Dst: HMAC_Init_ex
      Src: /src/hostap/src/crypto/crypto_openssl.c:4961,1
    - Dst: HMAC_Update
      Src: /src/hostap/src/crypto/crypto_openssl.c:4966,1
    - Dst: HMAC_Update
      Src: /src/hostap/src/crypto/crypto_openssl.c:4967,1
    - Dst: HMAC_Update
      Src: /src/hostap/src/crypto/crypto_openssl.c:4968,1
    - Dst: os_strlen
      Src: /src/hostap/src/crypto/crypto_openssl.c:4968,1
    - Dst: HMAC_Update
      Src: /src/hostap/src/crypto/crypto_openssl.c:4969,1
    - Dst: HMAC_Final
      Src: /src/hostap/src/crypto/crypto_openssl.c:4971,1
    - Dst: HMAC_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:4973,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 47
    argCount: 8
    argNames:
    - ctx
    - kem
    - salt
    - salt_len
    - label
    - ikm
    - ikm_len
    - prk
    argTypes:
    - struct hpke_context*
    - bool
    - u8*
    - size_t
    - char*
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4977
      start: 4890
    functionDepth: 2
    functionLinenumber: 4890
    functionLinenumberEnd: 4977
    functionName: hpke_labeled_extract
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - EVP_MD_get0_name
    - OSSL_PARAM_construct_utf8_string
    - os_strlen
    - wpa_printf
    - HMAC_CTX_free
    - OSSL_PARAM_construct_end
    - HMAC_Final
    - HMAC_Init_ex
    - HMAC_CTX_new
    - hpke_suite_id
    - EVP_MAC_init
    - EVP_MAC_free
    - EVP_MAC_final
    - ERR_get_error
    - EVP_MAC_CTX_new
    - os_memset
    - EVP_MAC_update
    - HMAC_Update
    - ERR_error_string
    - EVP_MAC_CTX_free
    - EVP_MAC_fetch
    linkageType: ''
    returnType: int
    signature: "int hpke_labeled_extract(struct hpke_context *ctx, bool kem,\n\t\t\t\tconst
      u8 *salt, size_t salt_len,\n\t\t\t\tconst char *label,\n\t\t\t\tconst u8 *ikm,
      size_t ikm_len, u8 *prk)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/crypto/crypto_openssl.c:4989,1
    - Dst: hpke_suite_id
      Src: /src/hostap/src/crypto/crypto_openssl.c:5008,1
    - Dst: os_malloc
      Src: /src/hostap/src/crypto/crypto_openssl.c:5010,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/crypto/crypto_openssl.c:5014,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/crypto_openssl.c:5016,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/crypto_openssl.c:5018,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/crypto_openssl.c:5020,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/crypto_openssl.c:5023,1
    - Dst: EVP_MAC_fetch
      Src: /src/hostap/src/crypto/crypto_openssl.c:5027,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/hostap/src/crypto/crypto_openssl.c:5031,1
    - Dst: EVP_MD_get0_name
      Src: /src/hostap/src/crypto/crypto_openssl.c:5033,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/hostap/src/crypto/crypto_openssl.c:5034,1
    - Dst: HMAC_CTX_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:5036,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:5044,1
    - Dst: EVP_MAC_CTX_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:5045,1
    - Dst: EVP_MAC_init
      Src: /src/hostap/src/crypto/crypto_openssl.c:5049,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:5050,1
    - Dst: ERR_error_string
      Src: /src/hostap/src/crypto/crypto_openssl.c:5052,1
    - Dst: ERR_get_error
      Src: /src/hostap/src/crypto/crypto_openssl.c:5052,1
    - Dst: EVP_MAC_update
      Src: /src/hostap/src/crypto/crypto_openssl.c:5056,1
    - Dst: EVP_MAC_update
      Src: /src/hostap/src/crypto/crypto_openssl.c:5062,1
    - Dst: EVP_MAC_update
      Src: /src/hostap/src/crypto/crypto_openssl.c:5063,1
    - Dst: EVP_MAC_final
      Src: /src/hostap/src/crypto/crypto_openssl.c:5066,1
    - Dst: HMAC_Init_ex
      Src: /src/hostap/src/crypto/crypto_openssl.c:5069,1
    - Dst: HMAC_Update
      Src: /src/hostap/src/crypto/crypto_openssl.c:5075,1
    - Dst: HMAC_Update
      Src: /src/hostap/src/crypto/crypto_openssl.c:5079,1
    - Dst: HMAC_Update
      Src: /src/hostap/src/crypto/crypto_openssl.c:5080,1
    - Dst: HMAC_Final
      Src: /src/hostap/src/crypto/crypto_openssl.c:5082,1
    - Dst: HMAC_CTX_reset
      Src: /src/hostap/src/crypto/crypto_openssl.c:5084,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/crypto_openssl.c:5088,1
    - Dst: EVP_MAC_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:5095,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:5096,1
    - Dst: HMAC_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:5098,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:5100,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 82
    argCount: 8
    argNames:
    - ctx
    - kem
    - prk
    - label
    - info
    - info_len
    - out
    - out_len
    argTypes:
    - struct hpke_context*
    - bool
    - u8*
    - char*
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5103
      start: 4980
    functionDepth: 2
    functionLinenumber: 4980
    functionLinenumberEnd: 5103
    functionName: hpke_labeled_expand
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - EVP_MD_get0_name
    - OSSL_PARAM_construct_utf8_string
    - os_strlen
    - wpa_printf
    - HMAC_CTX_free
    - OSSL_PARAM_construct_end
    - HMAC_Final
    - HMAC_Init_ex
    - HMAC_CTX_new
    - hpke_suite_id
    - os_free
    - EVP_MAC_init
    - HMAC_CTX_reset
    - EVP_MAC_free
    - EVP_MAC_final
    - os_malloc
    - WPA_PUT_BE16
    - ERR_get_error
    - EVP_MAC_CTX_new
    - os_memcpy
    - EVP_MAC_update
    - HMAC_Update
    - ERR_error_string
    - EVP_MAC_CTX_free
    - EVP_MAC_fetch
    linkageType: ''
    returnType: int
    signature: "int hpke_labeled_expand(struct hpke_context *ctx, bool kem, const
      u8 *prk,\n\t\t    const char *label, const u8 *info, size_t info_len,\n\t\t
      \   u8 *out, size_t out_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hpke_labeled_extract
      Src: /src/hostap/src/crypto/crypto_openssl.c:5116,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/crypto_openssl.c:5123,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/crypto_openssl.c:5124,1
    - Dst: hpke_labeled_expand
      Src: /src/hostap/src/crypto/crypto_openssl.c:5128,1
    - Dst: forced_memzero
      Src: /src/hostap/src/crypto/crypto_openssl.c:5133,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 8
    argNames:
    - ctx
    - dhss
    - dhss_len
    - enc
    - enc_len
    - pk_rm
    - pk_rm_len
    - shared_secret
    argTypes:
    - struct hpke_context*
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5135
      start: 5106
    functionDepth: 3
    functionLinenumber: 5106
    functionLinenumberEnd: 5135
    functionName: hpke_extract_and_expand
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - hpke_labeled_extract
    - os_memcpy
    - hpke_labeled_expand
    - forced_memzero
    linkageType: ''
    returnType: int
    signature: "int hpke_extract_and_expand(struct hpke_context *ctx,\n\t\t\t\t   const
      u8 *dhss, size_t dhss_len,\n\t\t\t\t   const u8 *enc, size_t enc_len,\n\t\t\t\t
      \  const u8 *pk_rm, size_t pk_rm_len,\n\t\t\t\t   u8 *shared_secret)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: hpke_labeled_extract
      Src: /src/hostap/src/crypto/crypto_openssl.c:5149,1
    - Dst: hpke_labeled_extract
      Src: /src/hostap/src/crypto/crypto_openssl.c:5154,1
    - Dst: hpke_labeled_extract
      Src: /src/hostap/src/crypto/crypto_openssl.c:5160,1
    - Dst: hpke_labeled_expand
      Src: /src/hostap/src/crypto/crypto_openssl.c:5165,1
    - Dst: hpke_labeled_expand
      Src: /src/hostap/src/crypto/crypto_openssl.c:5172,1
    - Dst: forced_memzero
      Src: /src/hostap/src/crypto/crypto_openssl.c:5178,1
    - Dst: forced_memzero
      Src: /src/hostap/src/crypto/crypto_openssl.c:5179,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 4
    argNames:
    - ctx
    - shared_secret
    - info
    - info_len
    argTypes:
    - struct hpke_context*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5181
      start: 5138
    functionDepth: 3
    functionLinenumber: 5138
    functionLinenumberEnd: 5181
    functionName: hpke_key_schedule
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - hpke_labeled_extract
    - forced_memzero
    - hpke_labeled_expand
    linkageType: ''
    returnType: int
    signature: "int hpke_key_schedule(struct hpke_context *ctx, const u8 *shared_secret,\n\t\t\t
      \    const u8 *info, size_t info_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: crypto_ec_key_gen
      Src: /src/hostap/src/crypto/crypto_openssl.c:5195,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:5197,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:5204,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/hostap/src/crypto/crypto_openssl.c:5206,1
    - Dst: EVP_PKEY_derive_set_peer
      Src: /src/hostap/src/crypto/crypto_openssl.c:5207,1
    - Dst: EVP_PKEY_derive
      Src: /src/hostap/src/crypto/crypto_openssl.c:5208,1
    - Dst: os_malloc
      Src: /src/hostap/src/crypto/crypto_openssl.c:5209,1
    - Dst: EVP_PKEY_derive
      Src: /src/hostap/src/crypto/crypto_openssl.c:5210,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:5212,1
    - Dst: ERR_error_string
      Src: /src/hostap/src/crypto/crypto_openssl.c:5214,1
    - Dst: ERR_get_error
      Src: /src/hostap/src/crypto/crypto_openssl.c:5214,1
    - Dst: crypto_ec_key_get_pubkey_point
      Src: /src/hostap/src/crypto/crypto_openssl.c:5219,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/crypto_openssl.c:5222,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/crypto/crypto_openssl.c:5222,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/crypto_openssl.c:5222,1
    - Dst: crypto_ec_key_get_pubkey_point
      Src: /src/hostap/src/crypto/crypto_openssl.c:5225,1
    - Dst: hpke_extract_and_expand
      Src: /src/hostap/src/crypto/crypto_openssl.c:5232,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/crypto/crypto_openssl.c:5233,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/crypto_openssl.c:5234,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:5236,1
    - Dst: crypto_ec_key_deinit
      Src: /src/hostap/src/crypto/crypto_openssl.c:5237,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:5238,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:5239,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:5240,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 4
    argNames:
    - ctx
    - pk_r
    - shared_secret
    - enc
    argTypes:
    - struct hpke_context*
    - struct crypto_ec_key*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5242
      start: 5184
    functionDepth: 4
    functionLinenumber: 5184
    functionLinenumberEnd: 5242
    functionName: hpke_encap
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - crypto_ec_key_deinit
    - wpa_printf
    - os_memcpy
    - hpke_extract_and_expand
    - wpabuf_len
    - crypto_ec_key_get_pubkey_point
    - wpabuf_free
    - os_malloc
    - wpabuf_head
    - bin_clear_free
    - ERR_error_string
    - ERR_get_error
    - EVP_PKEY_derive_init
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new
    - crypto_ec_key_gen
    - EVP_PKEY_derive_set_peer
    - EVP_PKEY_derive
    linkageType: ''
    returnType: int
    signature: "int hpke_encap(struct hpke_context *ctx, struct crypto_ec_key *pk_r,\n\t\t
      \     u8 *shared_secret, u8 *enc)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:5256,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/hostap/src/crypto/crypto_openssl.c:5258,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:5260,1
    - Dst: EVP_EncryptUpdate
      Src: /src/hostap/src/crypto/crypto_openssl.c:5265,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:5266,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/crypto/crypto_openssl.c:5270,1
    - Dst: EVP_EncryptUpdate
      Src: /src/hostap/src/crypto/crypto_openssl.c:5273,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/crypto/crypto_openssl.c:5273,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:5274,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/crypto/crypto_openssl.c:5278,1
    - Dst: EVP_EncryptFinal
      Src: /src/hostap/src/crypto/crypto_openssl.c:5280,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/crypto/crypto_openssl.c:5280,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:5281,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:5283,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/hostap/src/crypto/crypto_openssl.c:5288,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/crypto/crypto_openssl.c:5289,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:5290,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:5292,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:5297,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 40
    argCount: 5
    argNames:
    - ctx
    - aad
    - aad_len
    - pt
    - pt_len
    argTypes:
    - struct hpke_context*
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5299
      start: 5245
    functionDepth: 1
    functionLinenumber: 5245
    functionLinenumberEnd: 5299
    functionName: hpke_aead_seal
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_free
    - EVP_EncryptFinal
    - wpa_printf
    - wpabuf_put
    - EVP_CIPHER_CTX_new
    - wpabuf_free
    - wpabuf_alloc
    - EVP_EncryptInit_ex
    - EVP_CIPHER_CTX_ctrl
    - EVP_EncryptUpdate
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf *\nhpke_aead_seal(struct hpke_context *ctx, const u8
      *aad, size_t aad_len,\n\t       const u8 *pt, size_t pt_len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: hpke_get_context
      Src: /src/hostap/src/crypto/crypto_openssl.c:5315,1
    - Dst: hpke_encap
      Src: /src/hostap/src/crypto/crypto_openssl.c:5320,1
    - Dst: hpke_key_schedule
      Src: /src/hostap/src/crypto/crypto_openssl.c:5325,1
    - Dst: hpke_aead_seal
      Src: /src/hostap/src/crypto/crypto_openssl.c:5329,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/crypto/crypto_openssl.c:5334,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/crypto_openssl.c:5334,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/crypto/crypto_openssl.c:5337,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/crypto/crypto_openssl.c:5338,1
    - Dst: forced_memzero
      Src: /src/hostap/src/crypto/crypto_openssl.c:5341,1
    - Dst: hpke_free_context
      Src: /src/hostap/src/crypto/crypto_openssl.c:5342,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:5343,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 10
    argNames:
    - kem_id
    - kdf_id
    - aead_id
    - peer_pub
    - info
    - info_len
    - aad
    - aad_len
    - pt
    - pt_len
    argTypes:
    - enum hpke_kem_id
    - enum hpke_kdf_id
    - enum hpke_aead_id
    - struct crypto_ec_key*
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5345
      start: 5302
    functionDepth: 5
    functionLinenumber: 5302
    functionLinenumberEnd: 5345
    functionName: hpke_base_seal_int
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - hpke_free_context
    - wpabuf_put_data
    - wpabuf_len
    - forced_memzero
    - hpke_get_context
    - hpke_key_schedule
    - hpke_aead_seal
    - wpabuf_free
    - hpke_encap
    - wpabuf_alloc
    - wpabuf_put_buf
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * hpke_base_seal_int(enum hpke_kem_id kem_id,\n\t\t\t\t\t
      \ enum hpke_kdf_id kdf_id,\n\t\t\t\t\t  enum hpke_aead_id aead_id,\n\t\t\t\t\t
      \ struct crypto_ec_key *peer_pub,\n\t\t\t\t\t  const u8 *info, size_t info_len,\n\t\t\t\t\t
      \ const u8 *aad, size_t aad_len,\n\t\t\t\t\t  const u8 *pt, size_t pt_len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: crypto_ec_key_set_pub
      Src: /src/hostap/src/crypto/crypto_openssl.c:5366,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:5371,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/hostap/src/crypto/crypto_openssl.c:5373,1
    - Dst: EVP_PKEY_derive_set_peer
      Src: /src/hostap/src/crypto/crypto_openssl.c:5374,1
    - Dst: EVP_PKEY_derive
      Src: /src/hostap/src/crypto/crypto_openssl.c:5375,1
    - Dst: os_malloc
      Src: /src/hostap/src/crypto/crypto_openssl.c:5376,1
    - Dst: EVP_PKEY_derive
      Src: /src/hostap/src/crypto/crypto_openssl.c:5377,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:5379,1
    - Dst: ERR_error_string
      Src: /src/hostap/src/crypto/crypto_openssl.c:5381,1
    - Dst: ERR_get_error
      Src: /src/hostap/src/crypto/crypto_openssl.c:5381,1
    - Dst: crypto_ec_key_get_pubkey_point
      Src: /src/hostap/src/crypto/crypto_openssl.c:5386,1
    - Dst: hpke_extract_and_expand
      Src: /src/hostap/src/crypto/crypto_openssl.c:5392,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/crypto/crypto_openssl.c:5393,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/crypto_openssl.c:5394,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:5396,1
    - Dst: crypto_ec_key_deinit
      Src: /src/hostap/src/crypto/crypto_openssl.c:5397,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:5398,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:5399,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 5
    argNames:
    - ctx
    - enc
    - enc_ct_len
    - sk_r
    - shared_secret
    argTypes:
    - struct hpke_context*
    - u8*
    - size_t
    - struct crypto_ec_key*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5401
      start: 5348
    functionDepth: 4
    functionLinenumber: 5348
    functionLinenumberEnd: 5401
    functionName: hpke_decap
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - crypto_ec_key_deinit
    - wpa_printf
    - hpke_extract_and_expand
    - wpabuf_len
    - crypto_ec_key_get_pubkey_point
    - wpabuf_free
    - os_malloc
    - wpabuf_head
    - bin_clear_free
    - crypto_ec_key_set_pub
    - ERR_error_string
    - ERR_get_error
    - EVP_PKEY_derive_init
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new
    - EVP_PKEY_derive_set_peer
    - EVP_PKEY_derive
    linkageType: ''
    returnType: int
    signature: "int hpke_decap(struct hpke_context *ctx, const u8 *enc,\n\t\t      size_t
      enc_ct_len, struct crypto_ec_key *sk_r,\n\t\t      u8 *shared_secret)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:5421,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/hostap/src/crypto/crypto_openssl.c:5423,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:5425,1
    - Dst: EVP_DecryptUpdate
      Src: /src/hostap/src/crypto/crypto_openssl.c:5430,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:5431,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/crypto/crypto_openssl.c:5435,1
    - Dst: EVP_DecryptUpdate
      Src: /src/hostap/src/crypto/crypto_openssl.c:5438,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/crypto/crypto_openssl.c:5438,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:5439,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/crypto/crypto_openssl.c:5443,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/hostap/src/crypto/crypto_openssl.c:5445,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:5447,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:5449,1
    - Dst: EVP_DecryptFinal
      Src: /src/hostap/src/crypto/crypto_openssl.c:5454,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/crypto/crypto_openssl.c:5454,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:5455,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:5457,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:5461,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 5
    argNames:
    - ctx
    - aad
    - aad_len
    - ct
    - ct_len
    argTypes:
    - struct hpke_context*
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5463
      start: 5404
    functionDepth: 1
    functionLinenumber: 5404
    functionLinenumberEnd: 5463
    functionName: hpke_aead_open
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_free
    - wpa_printf
    - wpabuf_put
    - EVP_CIPHER_CTX_new
    - EVP_DecryptInit_ex
    - wpabuf_free
    - EVP_DecryptFinal
    - wpabuf_alloc
    - EVP_CIPHER_CTX_ctrl
    - EVP_DecryptUpdate
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf *\nhpke_aead_open(struct hpke_context *ctx, const u8
      *aad, size_t aad_len,\n\t       const u8 *ct, size_t ct_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hpke_get_context
      Src: /src/hostap/src/crypto/crypto_openssl.c:5478,1
    - Dst: hpke_decap
      Src: /src/hostap/src/crypto/crypto_openssl.c:5483,1
    - Dst: hpke_key_schedule
      Src: /src/hostap/src/crypto/crypto_openssl.c:5488,1
    - Dst: hpke_aead_open
      Src: /src/hostap/src/crypto/crypto_openssl.c:5492,1
    - Dst: forced_memzero
      Src: /src/hostap/src/crypto/crypto_openssl.c:5496,1
    - Dst: hpke_free_context
      Src: /src/hostap/src/crypto/crypto_openssl.c:5497,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 10
    argNames:
    - kem_id
    - kdf_id
    - aead_id
    - own_priv
    - info
    - info_len
    - aad
    - aad_len
    - enc_ct
    - enc_ct_len
    argTypes:
    - enum hpke_kem_id
    - enum hpke_kdf_id
    - enum hpke_aead_id
    - struct crypto_ec_key*
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5499
      start: 5466
    functionDepth: 5
    functionLinenumber: 5466
    functionLinenumberEnd: 5499
    functionName: hpke_base_open_int
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - hpke_free_context
    - forced_memzero
    - hpke_get_context
    - hpke_key_schedule
    - hpke_aead_open
    - hpke_decap
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * hpke_base_open_int(enum hpke_kem_id kem_id,\n\t\t\t\t\t
      \ enum hpke_kdf_id kdf_id,\n\t\t\t\t\t  enum hpke_aead_id aead_id,\n\t\t\t\t\t
      \ struct crypto_ec_key *own_priv,\n\t\t\t\t\t  const u8 *info, size_t info_len,\n\t\t\t\t\t
      \ const u8 *aad, size_t aad_len,\n\t\t\t\t\t  const u8 *enc_ct, size_t enc_ct_len)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/crypto/crypto_openssl.c:5509,1
    - Dst: OSSL_HPKE_suite_check
      Src: /src/hostap/src/crypto/crypto_openssl.c:5550,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:5551,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 4
    argNames:
    - suite
    - kem_id
    - kdf_id
    - aead_id
    argTypes:
    - OSSL_HPKE_SUITE*
    - enum hpke_kem_id
    - enum hpke_kdf_id
    - enum hpke_aead_id
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5558
      start: 5504
    functionDepth: 0
    functionLinenumber: 5504
    functionLinenumberEnd: 5558
    functionName: hpke_set_suite
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - OSSL_HPKE_suite_check
    - os_memset
    linkageType: ''
    returnType: bool
    signature: "bool hpke_set_suite(OSSL_HPKE_SUITE *suite,\n\t\t\t   enum hpke_kem_id
      kem_id,\n\t\t\t   enum hpke_kdf_id kdf_id,\n\t\t\t   enum hpke_aead_id aead_id)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: crypto_ec_key_group
      Src: /src/hostap/src/crypto/crypto_openssl.c:5575,1
    - Dst: hpke_base_seal_int
      Src: /src/hostap/src/crypto/crypto_openssl.c:5579,1
    - Dst: hpke_set_suite
      Src: /src/hostap/src/crypto/crypto_openssl.c:5585,1
    - Dst: OSSL_HPKE_get_public_encap_size
      Src: /src/hostap/src/crypto/crypto_openssl.c:5588,1
    - Dst: OSSL_HPKE_get_ciphertext_size
      Src: /src/hostap/src/crypto/crypto_openssl.c:5589,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/crypto/crypto_openssl.c:5590,1
    - Dst: crypto_ec_key_get_pubkey_point
      Src: /src/hostap/src/crypto/crypto_openssl.c:5594,1
    - Dst: OSSL_HPKE_CTX_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:5598,1
    - Dst: OSSL_HPKE_encap
      Src: /src/hostap/src/crypto/crypto_openssl.c:5603,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/crypto/crypto_openssl.c:5603,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/crypto/crypto_openssl.c:5604,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/crypto_openssl.c:5604,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:5606,1
    - Dst: ERR_error_string
      Src: /src/hostap/src/crypto/crypto_openssl.c:5607,1
    - Dst: ERR_get_error
      Src: /src/hostap/src/crypto/crypto_openssl.c:5607,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/crypto/crypto_openssl.c:5610,1
    - Dst: OSSL_HPKE_seal
      Src: /src/hostap/src/crypto/crypto_openssl.c:5612,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/crypto/crypto_openssl.c:5612,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:5614,1
    - Dst: ERR_error_string
      Src: /src/hostap/src/crypto/crypto_openssl.c:5615,1
    - Dst: ERR_get_error
      Src: /src/hostap/src/crypto/crypto_openssl.c:5615,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/crypto/crypto_openssl.c:5618,1
    - Dst: OSSL_HPKE_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:5623,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:5624,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:5625,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 10
    argNames:
    - kem_id
    - kdf_id
    - aead_id
    - peer_pub
    - info
    - info_len
    - aad
    - aad_len
    - pt
    - pt_len
    argTypes:
    - enum hpke_kem_id
    - enum hpke_kdf_id
    - enum hpke_aead_id
    - struct crypto_ec_key*
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5627
      start: 5561
    functionDepth: 6
    functionLinenumber: 5561
    functionLinenumberEnd: 5627
    functionName: hpke_base_seal
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 2
    functionsReached:
    - OSSL_HPKE_get_public_encap_size
    - wpabuf_put
    - wpa_printf
    - OSSL_HPKE_seal
    - OSSL_HPKE_encap
    - wpabuf_len
    - hpke_base_seal_int
    - crypto_ec_key_get_pubkey_point
    - wpabuf_free
    - crypto_ec_key_group
    - wpabuf_head
    - wpabuf_alloc
    - OSSL_HPKE_CTX_new
    - ERR_error_string
    - OSSL_HPKE_CTX_free
    - ERR_get_error
    - hpke_set_suite
    - OSSL_HPKE_get_ciphertext_size
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * hpke_base_seal(enum hpke_kem_id kem_id,\n\t\t\t       enum
      hpke_kdf_id kdf_id,\n\t\t\t       enum hpke_aead_id aead_id,\n\t\t\t       struct
      crypto_ec_key *peer_pub,\n\t\t\t       const u8 *info, size_t info_len,\n\t\t\t
      \      const u8 *aad, size_t aad_len,\n\t\t\t       const u8 *pt, size_t pt_len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: crypto_ec_key_group
      Src: /src/hostap/src/crypto/crypto_openssl.c:5644,1
    - Dst: hpke_base_open_int
      Src: /src/hostap/src/crypto/crypto_openssl.c:5648,1
    - Dst: hpke_set_suite
      Src: /src/hostap/src/crypto/crypto_openssl.c:5653,1
    - Dst: OSSL_HPKE_get_public_encap_size
      Src: /src/hostap/src/crypto/crypto_openssl.c:5656,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:5658,1
    - Dst: OSSL_HPKE_CTX_new
      Src: /src/hostap/src/crypto/crypto_openssl.c:5662,1
    - Dst: OSSL_HPKE_decap
      Src: /src/hostap/src/crypto/crypto_openssl.c:5667,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:5669,1
    - Dst: ERR_error_string
      Src: /src/hostap/src/crypto/crypto_openssl.c:5670,1
    - Dst: ERR_get_error
      Src: /src/hostap/src/crypto/crypto_openssl.c:5670,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/crypto/crypto_openssl.c:5675,1
    - Dst: OSSL_HPKE_open
      Src: /src/hostap/src/crypto/crypto_openssl.c:5679,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/crypto/crypto_openssl.c:5679,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/crypto_openssl.c:5681,1
    - Dst: ERR_error_string
      Src: /src/hostap/src/crypto/crypto_openssl.c:5682,1
    - Dst: ERR_get_error
      Src: /src/hostap/src/crypto/crypto_openssl.c:5682,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/crypto/crypto_openssl.c:5686,1
    - Dst: OSSL_HPKE_CTX_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:5691,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/crypto_openssl.c:5692,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 10
    argNames:
    - kem_id
    - kdf_id
    - aead_id
    - own_priv
    - info
    - info_len
    - aad
    - aad_len
    - enc_ct
    - enc_ct_len
    argTypes:
    - enum hpke_kem_id
    - enum hpke_kdf_id
    - enum hpke_aead_id
    - struct crypto_ec_key*
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5694
      start: 5630
    functionDepth: 6
    functionLinenumber: 5630
    functionLinenumberEnd: 5694
    functionName: hpke_base_open
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 1
    functionsReached:
    - OSSL_HPKE_get_public_encap_size
    - wpa_printf
    - OSSL_HPKE_open
    - wpabuf_put
    - wpabuf_free
    - crypto_ec_key_group
    - ERR_error_string
    - OSSL_HPKE_CTX_new
    - wpabuf_alloc
    - OSSL_HPKE_CTX_free
    - hpke_base_open_int
    - ERR_get_error
    - hpke_set_suite
    - OSSL_HPKE_decap
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * hpke_base_open(enum hpke_kem_id kem_id,\n\t\t\t       enum
      hpke_kdf_id kdf_id,\n\t\t\t       enum hpke_aead_id aead_id,\n\t\t\t       struct
      crypto_ec_key *own_priv,\n\t\t\t       const u8 *info, size_t info_len,\n\t\t\t
      \      const u8 *aad, size_t aad_len,\n\t\t\t       const u8 *enc_ct, size_t
      enc_ct_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hpke_base_seal_int
      Src: /src/hostap/src/crypto/crypto_openssl.c:5706,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 10
    argNames:
    - kem_id
    - kdf_id
    - aead_id
    - peer_pub
    - info
    - info_len
    - aad
    - aad_len
    - pt
    - pt_len
    argTypes:
    - enum hpke_kem_id
    - enum hpke_kdf_id
    - enum hpke_aead_id
    - struct crypto_ec_key*
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5708
      start: 5698
    functionDepth: 6
    functionLinenumber: 5698
    functionLinenumberEnd: 5708
    functionName: hpke_base_seal
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 2
    functionsReached:
    - hpke_base_seal_int
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * hpke_base_seal(enum hpke_kem_id kem_id,\n\t\t\t       enum
      hpke_kdf_id kdf_id,\n\t\t\t       enum hpke_aead_id aead_id,\n\t\t\t       struct
      crypto_ec_key *peer_pub,\n\t\t\t       const u8 *info, size_t info_len,\n\t\t\t
      \      const u8 *aad, size_t aad_len,\n\t\t\t       const u8 *pt, size_t pt_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hpke_base_open_int
      Src: /src/hostap/src/crypto/crypto_openssl.c:5719,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 10
    argNames:
    - kem_id
    - kdf_id
    - aead_id
    - own_priv
    - info
    - info_len
    - aad
    - aad_len
    - enc_ct
    - enc_ct_len
    argTypes:
    - enum hpke_kem_id
    - enum hpke_kdf_id
    - enum hpke_aead_id
    - struct crypto_ec_key*
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5722
      start: 5711
    functionDepth: 6
    functionLinenumber: 5711
    functionLinenumberEnd: 5722
    functionName: hpke_base_open
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 1
    functionsReached:
    - hpke_base_open_int
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * hpke_base_open(enum hpke_kem_id kem_id,\n\t\t\t       enum
      hpke_kdf_id kdf_id,\n\t\t\t       enum hpke_aead_id aead_id,\n\t\t\t       struct
      crypto_ec_key *own_priv,\n\t\t\t       const u8 *info, size_t info_len,\n\t\t\t
      \      const u8 *aad, size_t aad_len,\n\t\t\t       const u8 *enc_ct, size_t
      enc_ct_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: openssl_unload_legacy_provider
      Src: /src/hostap/src/crypto/crypto_openssl.c:5731,1
    - Dst: openssl_unload_default_provider
      Src: /src/hostap/src/crypto/crypto_openssl.c:5732,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5733
      start: 5729
    functionDepth: 1
    functionLinenumber: 5729
    functionLinenumberEnd: 5733
    functionName: crypto_unload
    functionSourceFile: /src/hostap/src/crypto/crypto_openssl.c
    functionUses: 4
    functionsReached:
    - openssl_unload_legacy_provider
    - openssl_unload_default_provider
    linkageType: ''
    returnType: void
    signature: void crypto_unload(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: ROLc
    functionSourceFile: /src/hostap/src/crypto/des-internal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROLc(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 47
    functionName: RORc
    functionSourceFile: /src/hostap/src/crypto/des-internal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RORc(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/des-internal.c:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - raw1
    - keyout
    argTypes:
    - u32*
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 270
    functionName: cookey
    functionSourceFile: /src/hostap/src/crypto/des-internal.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    linkageType: ''
    returnType: void
    signature: void cookey(const u32 *raw1, u32 *keyout)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cookey
      Src: /src/hostap/src/crypto/des-internal.c:314,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 3
    argNames:
    - key
    - decrypt
    - keyout
    argTypes:
    - u8*
    - int
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 315
    functionName: deskey
    functionSourceFile: /src/hostap/src/crypto/des-internal.c
    functionUses: 0
    functionsReached:
    - cookey
    linkageType: ''
    returnType: void
    signature: void deskey(const u8 *key, int decrypt, u32 *keyout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ROLc
      Src: /src/hostap/src/crypto/des-internal.c:342,1
    - Dst: ROLc
      Src: /src/hostap/src/crypto/des-internal.c:347,1
    - Dst: RORc
      Src: /src/hostap/src/crypto/des-internal.c:350,1
    - Dst: RORc
      Src: /src/hostap/src/crypto/des-internal.c:361,1
    - Dst: RORc
      Src: /src/hostap/src/crypto/des-internal.c:373,1
    - Dst: RORc
      Src: /src/hostap/src/crypto/des-internal.c:377,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 49
    argCount: 2
    argNames:
    - block
    - keys
    argTypes:
    - u32*
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 394
    functionName: desfunc
    functionSourceFile: /src/hostap/src/crypto/des-internal.c
    functionUses: 0
    functionsReached:
    - RORc
    - ROLc
    linkageType: ''
    returnType: void
    signature: void desfunc(u32 *block, const u32 *keys)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: deskey
      Src: /src/hostap/src/crypto/des-internal.c:414,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/crypto/des-internal.c:416,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/crypto/des-internal.c:417,1
    - Dst: desfunc
      Src: /src/hostap/src/crypto/des-internal.c:418,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/src/crypto/des-internal.c:419,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/src/crypto/des-internal.c:420,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/des-internal.c:422,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/des-internal.c:423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - clear
    - key
    - cypher
    argTypes:
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 399
    functionDepth: 2
    functionLinenumber: 399
    functionLinenumberEnd: 425
    functionName: des_encrypt
    functionSourceFile: /src/hostap/src/crypto/des-internal.c
    functionUses: 3
    functionsReached:
    - deskey
    - WPA_PUT_BE32
    - desfunc
    - WPA_GET_BE32
    - os_memset
    linkageType: ''
    returnType: int
    signature: int des_encrypt(const u8 *clear, const u8 *key, u8 *cypher)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: deskey
      Src: /src/hostap/src/crypto/des-internal.c:430,1
    - Dst: deskey
      Src: /src/hostap/src/crypto/des-internal.c:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - key
    - ek
    - dk
    argTypes:
    - u8*
    - u32*
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 432
    functionName: des_key_setup
    functionSourceFile: /src/hostap/src/crypto/des-internal.c
    functionUses: 1
    functionsReached:
    - deskey
    linkageType: ''
    returnType: void
    signature: void des_key_setup(const u8 *key, u32 *ek, u32 *dk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/crypto/des-internal.c:438,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/crypto/des-internal.c:439,1
    - Dst: desfunc
      Src: /src/hostap/src/crypto/des-internal.c:440,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/src/crypto/des-internal.c:441,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/src/crypto/des-internal.c:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - plain
    - ek
    - crypt
    argTypes:
    - u8*
    - u32*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 435
    functionDepth: 2
    functionLinenumber: 435
    functionLinenumberEnd: 443
    functionName: des_block_encrypt
    functionSourceFile: /src/hostap/src/crypto/des-internal.c
    functionUses: 1
    functionsReached:
    - WPA_PUT_BE32
    - desfunc
    - WPA_GET_BE32
    linkageType: ''
    returnType: void
    signature: void des_block_encrypt(const u8 *plain, const u32 *ek, u8 *crypt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/crypto/des-internal.c:449,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/crypto/des-internal.c:450,1
    - Dst: desfunc
      Src: /src/hostap/src/crypto/des-internal.c:451,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/src/crypto/des-internal.c:452,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/src/crypto/des-internal.c:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - crypt
    - dk
    - plain
    argTypes:
    - u8*
    - u32*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 446
    functionDepth: 2
    functionLinenumber: 446
    functionLinenumberEnd: 454
    functionName: des_block_decrypt
    functionSourceFile: /src/hostap/src/crypto/des-internal.c
    functionUses: 1
    functionsReached:
    - WPA_PUT_BE32
    - desfunc
    - WPA_GET_BE32
    linkageType: ''
    returnType: void
    signature: void des_block_decrypt(const u8 *crypt, const u32 *dk, u8 *plain)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: deskey
      Src: /src/hostap/src/crypto/des-internal.c:459,1
    - Dst: deskey
      Src: /src/hostap/src/crypto/des-internal.c:460,1
    - Dst: deskey
      Src: /src/hostap/src/crypto/des-internal.c:461,1
    - Dst: deskey
      Src: /src/hostap/src/crypto/des-internal.c:463,1
    - Dst: deskey
      Src: /src/hostap/src/crypto/des-internal.c:464,1
    - Dst: deskey
      Src: /src/hostap/src/crypto/des-internal.c:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - key
    - dkey
    argTypes:
    - u8*
    - struct des3_key_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 457
    functionDepth: 2
    functionLinenumber: 457
    functionLinenumberEnd: 466
    functionName: des3_key_setup
    functionSourceFile: /src/hostap/src/crypto/des-internal.c
    functionUses: 1
    functionsReached:
    - deskey
    linkageType: ''
    returnType: void
    signature: void des3_key_setup(const u8 *key, struct des3_key_s *dkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/crypto/des-internal.c:473,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/crypto/des-internal.c:474,1
    - Dst: desfunc
      Src: /src/hostap/src/crypto/des-internal.c:475,1
    - Dst: desfunc
      Src: /src/hostap/src/crypto/des-internal.c:476,1
    - Dst: desfunc
      Src: /src/hostap/src/crypto/des-internal.c:477,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/src/crypto/des-internal.c:478,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/src/crypto/des-internal.c:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - plain
    - key
    - crypt
    argTypes:
    - u8*
    - struct des3_key_s*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 469
    functionDepth: 2
    functionLinenumber: 469
    functionLinenumberEnd: 480
    functionName: des3_encrypt
    functionSourceFile: /src/hostap/src/crypto/des-internal.c
    functionUses: 1
    functionsReached:
    - WPA_PUT_BE32
    - desfunc
    - WPA_GET_BE32
    linkageType: ''
    returnType: void
    signature: void des3_encrypt(const u8 *plain, const struct des3_key_s *key, u8
      *crypt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/crypto/des-internal.c:487,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/crypto/des-internal.c:488,1
    - Dst: desfunc
      Src: /src/hostap/src/crypto/des-internal.c:489,1
    - Dst: desfunc
      Src: /src/hostap/src/crypto/des-internal.c:490,1
    - Dst: desfunc
      Src: /src/hostap/src/crypto/des-internal.c:491,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/src/crypto/des-internal.c:492,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/src/crypto/des-internal.c:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - crypt
    - key
    - plain
    argTypes:
    - u8*
    - struct des3_key_s*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 483
    functionDepth: 2
    functionLinenumber: 483
    functionLinenumberEnd: 494
    functionName: des3_decrypt
    functionSourceFile: /src/hostap/src/crypto/des-internal.c
    functionUses: 1
    functionsReached:
    - WPA_PUT_BE32
    - desfunc
    - WPA_GET_BE32
    linkageType: ''
    returnType: void
    signature: void des3_decrypt(const u8 *crypt, const struct des3_key_s *key, u8
      *plain)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - id
    - ','
    - safe
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1154
      start: 1150
    functionDepth: 0
    functionLinenumber: 1150
    functionLinenumberEnd: 1154
    functionName: DH_GROUP
    functionSourceFile: /src/hostap/src/crypto/dh_groups.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DH_GROUP(id,safe)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1184
      start: 1175
    functionDepth: 0
    functionLinenumber: 1175
    functionLinenumberEnd: 1184
    functionName: dh_groups_get
    functionSourceFile: /src/hostap/src/crypto/dh_groups.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: struct dh_group
    signature: struct dh_group * dh_groups_get(int id)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/crypto/dh_groups.c:1201,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/crypto/dh_groups.c:1202,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/crypto/dh_groups.c:1207,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/crypto/dh_groups.c:1209,1
    - Dst: crypto_dh_init
      Src: /src/hostap/src/crypto/dh_groups.c:1213,1
    - Dst: wpabuf_mhead
      Src: /src/hostap/src/crypto/dh_groups.c:1214,1
    - Dst: wpabuf_mhead
      Src: /src/hostap/src/crypto/dh_groups.c:1214,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/crypto/dh_groups.c:1215,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/dh_groups.c:1216,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/crypto/dh_groups.c:1217,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/crypto/dh_groups.c:1221,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/crypto/dh_groups.c:1222,1
    - Dst: wpa_hexdump_buf_key
      Src: /src/hostap/src/crypto/dh_groups.c:1223,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/crypto/dh_groups.c:1224,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - dh
    - priv
    argTypes:
    - struct dh_group*
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1193
    functionDepth: 1
    functionLinenumber: 1193
    functionLinenumberEnd: 1227
    functionName: dh_init
    functionSourceFile: /src/hostap/src/crypto/dh_groups.c
    functionUses: 8
    functionsReached:
    - crypto_dh_init
    - wpa_printf
    - wpabuf_put
    - wpabuf_alloc
    - wpabuf_mhead
    - wpabuf_clear_free
    - wpa_hexdump_buf_key
    - wpa_hexdump_buf
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * dh_init(const struct dh_group *dh, struct wpabuf **priv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/crypto/dh_groups.c:1248,1
    - Dst: crypto_dh_derive_secret
      Src: /src/hostap/src/crypto/dh_groups.c:1251,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/crypto/dh_groups.c:1253,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/dh_groups.c:1254,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/crypto/dh_groups.c:1255,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/dh_groups.c:1256,1
    - Dst: wpabuf_mhead
      Src: /src/hostap/src/crypto/dh_groups.c:1257,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/crypto/dh_groups.c:1258,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/dh_groups.c:1259,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/crypto/dh_groups.c:1262,1
    - Dst: wpa_hexdump_buf_key
      Src: /src/hostap/src/crypto/dh_groups.c:1263,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - peer_public
    - own_private
    - dh
    argTypes:
    - struct wpabuf*
    - struct wpabuf*
    - struct dh_group*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1266
      start: 1237
    functionDepth: 1
    functionLinenumber: 1237
    functionLinenumberEnd: 1266
    functionName: dh_derive_shared
    functionSourceFile: /src/hostap/src/crypto/dh_groups.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - wpabuf_put
    - wpabuf_len
    - crypto_dh_derive_secret
    - wpabuf_head
    - wpabuf_alloc
    - wpabuf_mhead
    - wpabuf_clear_free
    - wpa_hexdump_buf_key
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * dh_derive_shared(const struct wpabuf *peer_public,\n\t\t\t\t
      const struct wpabuf *own_private,\n\t\t\t\t const struct dh_group *dh)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: aes_128_encrypt_block
      Src: /src/hostap/src/crypto/milenage.c:45,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/milenage.c:49,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/milenage.c:50,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/milenage.c:51,1
    - Dst: aes_128_encrypt_block
      Src: /src/hostap/src/crypto/milenage.c:64,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/milenage.c:69,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/milenage.c:71,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 7
    argNames:
    - opc
    - k
    - _rand
    - sqn
    - amf
    - mac_a
    - mac_s
    argTypes:
    - u8*
    - u8*
    - u8*
    - u8*
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 73
    functionName: milenage_f1
    functionSourceFile: /src/hostap/src/crypto/milenage.c
    functionUses: 1
    functionsReached:
    - aes_128_encrypt_block
    - os_memcpy
    linkageType: ''
    returnType: int
    signature: "int milenage_f1(const u8 *opc, const u8 *k, const u8 *_rand,\n\t\tconst
      u8 *sqn, const u8 *amf, u8 *mac_a, u8 *mac_s)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: aes_128_encrypt_block
      Src: /src/hostap/src/crypto/milenage.c:97,1
    - Dst: aes_128_encrypt_block
      Src: /src/hostap/src/crypto/milenage.c:111,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/milenage.c:116,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/milenage.c:118,1
    - Dst: aes_128_encrypt_block
      Src: /src/hostap/src/crypto/milenage.c:126,1
    - Dst: aes_128_encrypt_block
      Src: /src/hostap/src/crypto/milenage.c:138,1
    - Dst: aes_128_encrypt_block
      Src: /src/hostap/src/crypto/milenage.c:150,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 44
    argCount: 8
    argNames:
    - opc
    - k
    - _rand
    - res
    - ck
    - ik
    - ak
    - akstar
    argTypes:
    - u8*
    - u8*
    - u8*
    - u8*
    - u8*
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 157
    functionName: milenage_f2345
    functionSourceFile: /src/hostap/src/crypto/milenage.c
    functionUses: 1
    functionsReached:
    - aes_128_encrypt_block
    - os_memcpy
    linkageType: ''
    returnType: int
    signature: "int milenage_f2345(const u8 *opc, const u8 *k, const u8 *_rand,\n\t\t
      \  u8 *res, u8 *ck, u8 *ik, u8 *ak, u8 *akstar)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: milenage_f1
      Src: /src/hostap/src/crypto/milenage.c:184,1
    - Dst: milenage_f2345
      Src: /src/hostap/src/crypto/milenage.c:185,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/milenage.c:194,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/milenage.c:195,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 10
    argNames:
    - opc
    - amf
    - k
    - sqn
    - _rand
    - autn
    - ik
    - ck
    - res
    - res_len
    argTypes:
    - u8*
    - u8*
    - u8*
    - u8*
    - u8*
    - u8*
    - u8*
    - u8*
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 196
    functionName: milenage_generate
    functionSourceFile: /src/hostap/src/crypto/milenage.c
    functionUses: 2
    functionsReached:
    - os_memcpy
    - milenage_f2345
    - milenage_f1
    linkageType: ''
    returnType: void
    signature: "void milenage_generate(const u8 *opc, const u8 *amf, const u8 *k,\n\t\t
      \      const u8 *sqn, const u8 *_rand, u8 *autn, u8 *ik,\n\t\t       u8 *ck,
      u8 *res, size_t *res_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: milenage_f2345
      Src: /src/hostap/src/crypto/milenage.c:215,1
    - Dst: milenage_f1
      Src: /src/hostap/src/crypto/milenage.c:219,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/crypto/milenage.c:220,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 5
    argNames:
    - opc
    - k
    - _rand
    - auts
    - sqn
    argTypes:
    - u8*
    - u8*
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 208
    functionDepth: 2
    functionLinenumber: 208
    functionLinenumberEnd: 223
    functionName: milenage_auts
    functionSourceFile: /src/hostap/src/crypto/milenage.c
    functionUses: 2
    functionsReached:
    - os_memcmp_const
    - milenage_f2345
    - milenage_f1
    linkageType: ''
    returnType: int
    signature: "int milenage_auts(const u8 *opc, const u8 *k, const u8 *_rand, const
      u8 *auts,\n\t\t  u8 *sqn)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: milenage_f2345
      Src: /src/hostap/src/crypto/milenage.c:240,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/milenage.c:247,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 5
    argNames:
    - opc
    - k
    - _rand
    - sres
    - kc
    argTypes:
    - u8*
    - u8*
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 253
    functionName: gsm_milenage
    functionSourceFile: /src/hostap/src/crypto/milenage.c
    functionUses: 4
    functionsReached:
    - os_memcpy
    - milenage_f2345
    linkageType: ''
    returnType: int
    signature: int gsm_milenage(const u8 *opc, const u8 *k, const u8 *_rand, u8 *sres,
      u8 *kc)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/src/crypto/milenage.c:278,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/crypto/milenage.c:279,1
    - Dst: milenage_f2345
      Src: /src/hostap/src/crypto/milenage.c:281,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/crypto/milenage.c:285,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/crypto/milenage.c:286,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/crypto/milenage.c:287,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/crypto/milenage.c:288,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/crypto/milenage.c:293,1
    - Dst: os_memcmp
      Src: /src/hostap/src/crypto/milenage.c:295,1
    - Dst: milenage_f2345
      Src: /src/hostap/src/crypto/milenage.c:297,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/crypto/milenage.c:299,1
    - Dst: milenage_f1
      Src: /src/hostap/src/crypto/milenage.c:302,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/crypto/milenage.c:304,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/crypto/milenage.c:309,1
    - Dst: milenage_f1
      Src: /src/hostap/src/crypto/milenage.c:310,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/crypto/milenage.c:313,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/crypto/milenage.c:315,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/milenage.c:316,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/crypto/milenage.c:317,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 10
    argNames:
    - opc
    - k
    - sqn
    - _rand
    - autn
    - ik
    - ck
    - res
    - res_len
    - auts
    argTypes:
    - u8*
    - u8*
    - u8*
    - u8*
    - u8*
    - u8*
    - u8*
    - u8*
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 270
    functionDepth: 2
    functionLinenumber: 270
    functionLinenumberEnd: 323
    functionName: milenage_check
    functionSourceFile: /src/hostap/src/crypto/milenage.c
    functionUses: 1
    functionsReached:
    - wpa_hexdump_key
    - wpa_printf
    - wpa_hexdump
    - os_memcmp_const
    - os_memcmp
    - milenage_f2345
    - milenage_f1
    linkageType: ''
    returnType: int
    signature: "int milenage_check(const u8 *opc, const u8 *k, const u8 *sqn, const
      u8 *_rand,\n\t\t   const u8 *autn, u8 *ik, u8 *ck, u8 *res, size_t *res_len,\n\t\t
      \  u8 *auts)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tlsv1_client_global_init
      Src: /src/hostap/src/crypto/tls_internal.c:46,1
    - Dst: tlsv1_server_global_init
      Src: /src/hostap/src/crypto/tls_internal.c:50,1
    - Dst: os_zalloc
      Src: /src/hostap/src/crypto/tls_internal.c:56,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - conf
    argTypes:
    - struct tls_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 66
    functionName: tls_init
    functionSourceFile: /src/hostap/src/crypto/tls_internal.c
    functionUses: 6
    functionsReached:
    - tlsv1_server_global_init
    - os_zalloc
    - tlsv1_client_global_init
    linkageType: ''
    returnType: void
    signature: void * tls_init(const struct tls_config *conf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlsv1_client_global_deinit
      Src: /src/hostap/src/crypto/tls_internal.c:74,1
    - Dst: tlsv1_server_global_deinit
      Src: /src/hostap/src/crypto/tls_internal.c:77,1
    - Dst: tlsv1_cred_free
      Src: /src/hostap/src/crypto/tls_internal.c:81,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_internal.c:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ssl_ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 84
    functionName: tls_deinit
    functionSourceFile: /src/hostap/src/crypto/tls_internal.c
    functionUses: 13
    functionsReached:
    - tlsv1_cred_free
    - os_free
    - tlsv1_server_global_deinit
    - tlsv1_client_global_deinit
    linkageType: ''
    returnType: void
    signature: void tls_deinit(void *ssl_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tls_ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: tls_get_errors
    functionSourceFile: /src/hostap/src/crypto/tls_internal.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tls_get_errors(void *tls_ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/crypto/tls_internal.c:98,1
    - Dst: tlsv1_client_init
      Src: /src/hostap/src/crypto/tls_internal.c:105,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_internal.c:107,1
    - Dst: tlsv1_client_set_cb
      Src: /src/hostap/src/crypto/tls_internal.c:110,1
    - Dst: tlsv1_server_init
      Src: /src/hostap/src/crypto/tls_internal.c:116,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_internal.c:118,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - tls_ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 125
    functionName: tls_connection_init
    functionSourceFile: /src/hostap/src/crypto/tls_internal.c
    functionUses: 5
    functionsReached:
    - tlsv1_client_set_cb
    - os_zalloc
    - tlsv1_server_init
    - os_free
    - tlsv1_client_init
    linkageType: ''
    returnType: struct tls_connection
    signature: struct tls_connection * tls_connection_init(void *tls_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlsv1_server_set_test_flags
      Src: /src/hostap/src/crypto/tls_internal.c:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - conn
    - flags
    argTypes:
    - struct tls_connection*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: tls_connection_set_test_flags
    functionSourceFile: /src/hostap/src/crypto/tls_internal.c
    functionUses: 0
    functionsReached:
    - tlsv1_server_set_test_flags
    linkageType: ''
    returnType: void
    signature: void tls_connection_set_test_flags(struct tls_connection *conn, u32
      flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlsv1_server_set_log_cb
      Src: /src/hostap/src/crypto/tls_internal.c:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - conn
    - ctx
    argTypes:
    - struct tls_connection*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 147
    functionName: tls_connection_set_log_cb
    functionSourceFile: /src/hostap/src/crypto/tls_internal.c
    functionUses: 1
    functionsReached:
    - tlsv1_server_set_log_cb
    linkageType: ''
    returnType: void
    signature: "void tls_connection_set_log_cb(struct tls_connection *conn,\n\t\t\t
      \      void (*log_cb)(void *ctx, const char *msg),\n\t\t\t       void *ctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tlsv1_client_deinit
      Src: /src/hostap/src/crypto/tls_internal.c:156,1
    - Dst: tlsv1_server_deinit
      Src: /src/hostap/src/crypto/tls_internal.c:160,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_internal.c:162,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - tls_ctx
    - conn
    argTypes:
    - void*
    - struct tls_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 163
    functionName: tls_connection_deinit
    functionSourceFile: /src/hostap/src/crypto/tls_internal.c
    functionUses: 6
    functionsReached:
    - tlsv1_client_deinit
    - os_free
    - tlsv1_server_deinit
    linkageType: ''
    returnType: void
    signature: void tls_connection_deinit(void *tls_ctx, struct tls_connection *conn)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tlsv1_client_established
      Src: /src/hostap/src/crypto/tls_internal.c:170,1
    - Dst: tlsv1_server_established
      Src: /src/hostap/src/crypto/tls_internal.c:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - tls_ctx
    - conn
    argTypes:
    - void*
    - struct tls_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 177
    functionName: tls_connection_established
    functionSourceFile: /src/hostap/src/crypto/tls_internal.c
    functionUses: 17
    functionsReached:
    - tlsv1_server_established
    - tlsv1_client_established
    linkageType: ''
    returnType: int
    signature: int tls_connection_established(void *tls_ctx, struct tls_connection
      *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tls_ctx
    - conn
    argTypes:
    - void*
    - struct tls_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 185
    functionName: tls_connection_peer_serial_num
    functionSourceFile: /src/hostap/src/crypto/tls_internal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char * tls_connection_peer_serial_num(void *tls_ctx,\n\t\t\t\t      struct
      tls_connection *conn)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tlsv1_client_shutdown
      Src: /src/hostap/src/crypto/tls_internal.c:192,1
    - Dst: tlsv1_server_shutdown
      Src: /src/hostap/src/crypto/tls_internal.c:196,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - tls_ctx
    - conn
    argTypes:
    - void*
    - struct tls_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 199
    functionName: tls_connection_shutdown
    functionSourceFile: /src/hostap/src/crypto/tls_internal.c
    functionUses: 2
    functionsReached:
    - tlsv1_server_shutdown
    - tlsv1_client_shutdown
    linkageType: ''
    returnType: int
    signature: int tls_connection_shutdown(void *tls_ctx, struct tls_connection *conn)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_internal.c:212,1
    - Dst: tlsv1_cred_alloc
      Src: /src/hostap/src/crypto/tls_internal.c:217,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_internal.c:222,1
    - Dst: tlsv1_cred_free
      Src: /src/hostap/src/crypto/tls_internal.c:223,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_internal.c:228,1
    - Dst: tlsv1_cred_free
      Src: /src/hostap/src/crypto/tls_internal.c:229,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_internal.c:234,1
    - Dst: tlsv1_cred_free
      Src: /src/hostap/src/crypto/tls_internal.c:235,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_internal.c:240,1
    - Dst: tlsv1_cred_free
      Src: /src/hostap/src/crypto/tls_internal.c:241,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_internal.c:246,1
    - Dst: tlsv1_cred_free
      Src: /src/hostap/src/crypto/tls_internal.c:247,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_internal.c:252,1
    - Dst: tlsv1_cred_free
      Src: /src/hostap/src/crypto/tls_internal.c:253,1
    - Dst: tlsv1_set_ca_cert
      Src: /src/hostap/src/crypto/tls_internal.c:257,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_internal.c:260,1
    - Dst: tlsv1_cred_free
      Src: /src/hostap/src/crypto/tls_internal.c:262,1
    - Dst: tlsv1_set_cert
      Src: /src/hostap/src/crypto/tls_internal.c:266,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_internal.c:269,1
    - Dst: tlsv1_cred_free
      Src: /src/hostap/src/crypto/tls_internal.c:271,1
    - Dst: tlsv1_set_private_key
      Src: /src/hostap/src/crypto/tls_internal.c:275,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_internal.c:279,1
    - Dst: tlsv1_cred_free
      Src: /src/hostap/src/crypto/tls_internal.c:280,1
    - Dst: tlsv1_client_set_cred
      Src: /src/hostap/src/crypto/tls_internal.c:284,1
    - Dst: tlsv1_cred_free
      Src: /src/hostap/src/crypto/tls_internal.c:285,1
    - Dst: tlsv1_client_set_flags
      Src: /src/hostap/src/crypto/tls_internal.c:289,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 62
    argCount: 3
    argNames:
    - tls_ctx
    - conn
    - params
    argTypes:
    - void*
    - struct tls_connection*
    - struct tls_connection_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 295
    functionName: tls_connection_set_params
    functionSourceFile: /src/hostap/src/crypto/tls_internal.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - tlsv1_set_cert
    - tlsv1_client_set_flags
    - tlsv1_cred_free
    - tlsv1_cred_alloc
    - tlsv1_client_set_cred
    - tlsv1_set_private_key
    - tlsv1_set_ca_cert
    linkageType: ''
    returnType: int
    signature: "int tls_connection_set_params(void *tls_ctx, struct tls_connection
      *conn,\n\t\t\t      const struct tls_connection_params *params)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tlsv1_cred_free
      Src: /src/hostap/src/crypto/tls_internal.c:311,1
    - Dst: tlsv1_cred_alloc
      Src: /src/hostap/src/crypto/tls_internal.c:312,1
    - Dst: tlsv1_set_ca_cert
      Src: /src/hostap/src/crypto/tls_internal.c:316,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_internal.c:318,1
    - Dst: tlsv1_set_cert
      Src: /src/hostap/src/crypto/tls_internal.c:323,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_internal.c:325,1
    - Dst: tlsv1_set_private_key
      Src: /src/hostap/src/crypto/tls_internal.c:330,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_internal.c:334,1
    - Dst: tlsv1_set_dhparams
      Src: /src/hostap/src/crypto/tls_internal.c:338,1
    - Dst: wpa_printf
      Src: /src/hostap/src/crypto/tls_internal.c:339,1
    - Dst: os_strdup
      Src: /src/hostap/src/crypto/tls_internal.c:345,1
    - Dst: os_strdup
      Src: /src/hostap/src/crypto/tls_internal.c:348,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - tls_ctx
    - params
    argTypes:
    - void*
    - struct tls_connection_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 354
    functionName: tls_global_set_params
    functionSourceFile: /src/hostap/src/crypto/tls_internal.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - tlsv1_set_cert
    - tlsv1_cred_free
    - tlsv1_set_dhparams
    - tlsv1_cred_alloc
    - tlsv1_set_private_key
    - tlsv1_set_ca_cert
    - os_strdup
    linkageType: ''
    returnType: int
    signature: "int tls_global_set_params(void *tls_ctx,\n\t\t\t  const struct tls_connection_params
      *params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - tls_ctx
    - check_crl
    - strict
    argTypes:
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 362
    functionName: tls_global_set_verify
    functionSourceFile: /src/hostap/src/crypto/tls_internal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tls_global_set_verify(void *tls_ctx, int check_crl, int strict)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlsv1_server_set_verify
      Src: /src/hostap/src/crypto/tls_internal.c:371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - tls_ctx
    - conn
    - verify_peer
    - flags
    - session_ctx
    - session_ctx_len
    argTypes:
    - void*
    - struct tls_connection*
    - int
    - unsigned int
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 374
    functionName: tls_connection_set_verify
    functionSourceFile: /src/hostap/src/crypto/tls_internal.c
    functionUses: 0
    functionsReached:
    - tlsv1_server_set_verify
    linkageType: ''
    returnType: int
    signature: "int tls_connection_set_verify(void *tls_ctx, struct tls_connection
      *conn,\n\t\t\t      int verify_peer, unsigned int flags,\n\t\t\t      const
      u8 *session_ctx, size_t session_ctx_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tlsv1_client_get_random
      Src: /src/hostap/src/crypto/tls_internal.c:382,1
    - Dst: tlsv1_server_get_random
      Src: /src/hostap/src/crypto/tls_internal.c:386,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - tls_ctx
    - conn
    - data
    argTypes:
    - void*
    - struct tls_connection*
    - struct tls_random*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 389
    functionName: tls_connection_get_random
    functionSourceFile: /src/hostap/src/crypto/tls_internal.c
    functionUses: 1
    functionsReached:
    - tlsv1_client_get_random
    - tlsv1_server_get_random
    linkageType: ''
    returnType: int
    signature: "int tls_connection_get_random(void *tls_ctx, struct tls_connection
      *conn,\n\t\t\t      struct tls_random *data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tlsv1_client_get_keyblock_size
      Src: /src/hostap/src/crypto/tls_internal.c:396,1
    - Dst: tlsv1_server_get_keyblock_size
      Src: /src/hostap/src/crypto/tls_internal.c:400,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct tls_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 403
    functionName: tls_get_keyblock_size
    functionSourceFile: /src/hostap/src/crypto/tls_internal.c
    functionUses: 0
    functionsReached:
    - tlsv1_server_get_keyblock_size
    - tlsv1_client_get_keyblock_size
    linkageType: ''
    returnType: int
    signature: int tls_get_keyblock_size(struct tls_connection *conn)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tls_get_keyblock_size
      Src: /src/hostap/src/crypto/tls_internal.c:416,1
    - Dst: os_malloc
      Src: /src/hostap/src/crypto/tls_internal.c:419,1
    - Dst: tlsv1_client_prf
      Src: /src/hostap/src/crypto/tls_internal.c:427,1
    - Dst: tlsv1_server_prf
      Src: /src/hostap/src/crypto/tls_internal.c:434,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/tls_internal.c:440,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/crypto/tls_internal.c:441,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 9
    argNames:
    - tls_ctx
    - conn
    - label
    - context
    - context_len
    - server_random_first
    - skip_keyblock
    - out
    - out_len
    argTypes:
    - void*
    - struct tls_connection*
    - char*
    - u8*
    - size_t
    - int
    - int
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 406
    functionDepth: 2
    functionLinenumber: 406
    functionLinenumberEnd: 444
    functionName: tls_connection_prf
    functionSourceFile: /src/hostap/src/crypto/tls_internal.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - os_malloc
    - tlsv1_client_prf
    - tls_get_keyblock_size
    - tlsv1_server_prf
    - bin_clear_free
    linkageType: ''
    returnType: int
    signature: "int tls_connection_prf(void *tls_ctx, struct tls_connection *conn,\n\t\t\t
      \     const char *label, const u8 *context,\n\t\t\t      size_t context_len,
      int server_random_first,\n\t\t\t      int skip_keyblock, u8 *out, size_t out_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tls_connection_prf
      Src: /src/hostap/src/crypto/tls_internal.c:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - tls_ctx
    - conn
    - label
    - context
    - context_len
    - out
    - out_len
    argTypes:
    - void*
    - struct tls_connection*
    - char*
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 447
    functionDepth: 3
    functionLinenumber: 447
    functionLinenumberEnd: 453
    functionName: tls_connection_export_key
    functionSourceFile: /src/hostap/src/crypto/tls_internal.c
    functionUses: 2
    functionsReached:
    - tls_connection_prf
    linkageType: ''
    returnType: int
    signature: "int tls_connection_export_key(void *tls_ctx, struct tls_connection
      *conn,\n\t\t\t      const char *label, const u8 *context,\n\t\t\t      size_t
      context_len, u8 *out, size_t out_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tls_connection_prf
      Src: /src/hostap/src/crypto/tls_internal.c:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - tls_ctx
    - conn
    - out
    - out_len
    argTypes:
    - void*
    - struct tls_connection*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 456
    functionDepth: 3
    functionLinenumber: 456
    functionLinenumberEnd: 461
    functionName: tls_connection_get_eap_fast_key
    functionSourceFile: /src/hostap/src/crypto/tls_internal.c
    functionUses: 0
    functionsReached:
    - tls_connection_prf
    linkageType: ''
    returnType: int
    signature: "int tls_connection_get_eap_fast_key(void *tls_ctx, struct tls_connection
      *conn,\n\t\t\t\t    u8 *out, size_t out_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tls_connection_handshake2
      Src: /src/hostap/src/crypto/tls_internal.c:469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - tls_ctx
    - conn
    - in_data
    - appl_data
    argTypes:
    - void*
    - struct tls_connection*
    - struct wpabuf*
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 471
    functionName: tls_connection_handshake
    functionSourceFile: /src/hostap/src/crypto/tls_internal.c
    functionUses: 3
    functionsReached:
    - tls_connection_handshake2
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * tls_connection_handshake(void *tls_ctx,\n\t\t\t\t\t
      struct tls_connection *conn,\n\t\t\t\t\t const struct wpabuf *in_data,\n\t\t\t\t\t
      struct wpabuf **appl_data)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tlsv1_client_handshake
      Src: /src/hostap/src/crypto/tls_internal.c:489,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/crypto/tls_internal.c:490,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/tls_internal.c:491,1
    - Dst: wpabuf_alloc_ext_data
      Src: /src/hostap/src/crypto/tls_internal.c:495,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_internal.c:497,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_internal.c:498,1
    - Dst: wpabuf_alloc_ext_data
      Src: /src/hostap/src/crypto/tls_internal.c:503,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_internal.c:505,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_internal.c:509,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 5
    argNames:
    - tls_ctx
    - conn
    - in_data
    - appl_data
    - need_more_data
    argTypes:
    - void*
    - struct tls_connection*
    - struct wpabuf*
    - struct wpabuf**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 515
    functionName: tls_connection_handshake2
    functionSourceFile: /src/hostap/src/crypto/tls_internal.c
    functionUses: 2
    functionsReached:
    - wpabuf_alloc_ext_data
    - wpabuf_len
    - wpabuf_head
    - tlsv1_client_handshake
    - os_free
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * tls_connection_handshake2(void *tls_ctx,\n\t\t\t\t\t
      \ struct tls_connection *conn,\n\t\t\t\t\t  const struct wpabuf *in_data,\n\t\t\t\t\t
      \ struct wpabuf **appl_data,\n\t\t\t\t\t  int *need_more_data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tlsv1_server_handshake
      Src: /src/hostap/src/crypto/tls_internal.c:534,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/crypto/tls_internal.c:534,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/tls_internal.c:535,1
    - Dst: tlsv1_server_established
      Src: /src/hostap/src/crypto/tls_internal.c:536,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/crypto/tls_internal.c:537,1
    - Dst: wpabuf_alloc_ext_data
      Src: /src/hostap/src/crypto/tls_internal.c:540,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/tls_internal.c:542,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - tls_ctx
    - conn
    - in_data
    - appl_data
    argTypes:
    - void*
    - struct tls_connection*
    - struct wpabuf*
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 518
    functionDepth: 1
    functionLinenumber: 518
    functionLinenumberEnd: 550
    functionName: tls_connection_server_handshake
    functionSourceFile: /src/hostap/src/crypto/tls_internal.c
    functionUses: 2
    functionsReached:
    - wpabuf_alloc_ext_data
    - tlsv1_server_handshake
    - wpabuf_len
    - wpabuf_head
    - wpabuf_alloc
    - tlsv1_server_established
    - os_free
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * tls_connection_server_handshake(void *tls_ctx,\n\t\t\t\t\t\tstruct
      tls_connection *conn,\n\t\t\t\t\t\tconst struct wpabuf *in_data,\n\t\t\t\t\t\tstruct
      wpabuf **appl_data)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/crypto/tls_internal.c:561,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/tls_internal.c:561,1
    - Dst: tlsv1_client_encrypt
      Src: /src/hostap/src/crypto/tls_internal.c:564,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/crypto/tls_internal.c:564,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/tls_internal.c:565,1
    - Dst: wpabuf_mhead
      Src: /src/hostap/src/crypto/tls_internal.c:566,1
    - Dst: wpabuf_size
      Src: /src/hostap/src/crypto/tls_internal.c:567,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/tls_internal.c:569,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/crypto/tls_internal.c:572,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/crypto/tls_internal.c:580,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/tls_internal.c:580,1
    - Dst: tlsv1_server_encrypt
      Src: /src/hostap/src/crypto/tls_internal.c:583,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/crypto/tls_internal.c:583,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/tls_internal.c:584,1
    - Dst: wpabuf_mhead
      Src: /src/hostap/src/crypto/tls_internal.c:585,1
    - Dst: wpabuf_size
      Src: /src/hostap/src/crypto/tls_internal.c:586,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/tls_internal.c:588,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/crypto/tls_internal.c:591,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - tls_ctx
    - conn
    - in_data
    argTypes:
    - void*
    - struct tls_connection*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 553
    functionDepth: 1
    functionLinenumber: 553
    functionLinenumberEnd: 596
    functionName: tls_connection_encrypt
    functionSourceFile: /src/hostap/src/crypto/tls_internal.c
    functionUses: 5
    functionsReached:
    - wpabuf_put
    - tlsv1_client_encrypt
    - wpabuf_size
    - wpabuf_len
    - wpabuf_free
    - wpabuf_head
    - wpabuf_alloc
    - wpabuf_mhead
    - tlsv1_server_encrypt
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * tls_connection_encrypt(void *tls_ctx,\n\t\t\t\t       struct
      tls_connection *conn,\n\t\t\t\t       const struct wpabuf *in_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tls_connection_decrypt2
      Src: /src/hostap/src/crypto/tls_internal.c:603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tls_ctx
    - conn
    - in_data
    argTypes:
    - void*
    - struct tls_connection*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 599
    functionDepth: 1
    functionLinenumber: 599
    functionLinenumberEnd: 604
    functionName: tls_connection_decrypt
    functionSourceFile: /src/hostap/src/crypto/tls_internal.c
    functionUses: 3
    functionsReached:
    - tls_connection_decrypt2
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * tls_connection_decrypt(void *tls_ctx,\n\t\t\t\t       struct
      tls_connection *conn,\n\t\t\t\t       const struct wpabuf *in_data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tlsv1_client_decrypt
      Src: /src/hostap/src/crypto/tls_internal.c:617,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/crypto/tls_internal.c:617,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/tls_internal.c:618,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/crypto/tls_internal.c:626,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/tls_internal.c:626,1
    - Dst: tlsv1_server_decrypt
      Src: /src/hostap/src/crypto/tls_internal.c:629,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/crypto/tls_internal.c:629,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/crypto/tls_internal.c:630,1
    - Dst: wpabuf_mhead
      Src: /src/hostap/src/crypto/tls_internal.c:631,1
    - Dst: wpabuf_size
      Src: /src/hostap/src/crypto/tls_internal.c:632,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/tls_internal.c:634,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/crypto/tls_internal.c:637,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - tls_ctx
    - conn
    - in_data
    - need_more_data
    argTypes:
    - void*
    - struct tls_connection*
    - struct wpabuf*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 607
    functionDepth: 1
    functionLinenumber: 607
    functionLinenumberEnd: 642
    functionName: tls_connection_decrypt2
    functionSourceFile: /src/hostap/src/crypto/tls_internal.c
    functionUses: 3
    functionsReached:
    - wpabuf_put
    - wpabuf_size
    - wpabuf_len
    - wpabuf_free
    - tlsv1_server_decrypt
    - wpabuf_head
    - tlsv1_client_decrypt
    - wpabuf_alloc
    - wpabuf_mhead
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * tls_connection_decrypt2(void *tls_ctx,\n\t\t\t\t\tstruct
      tls_connection *conn,\n\t\t\t\t\tconst struct wpabuf *in_data,\n\t\t\t\t\tint
      *need_more_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tlsv1_client_resumed
      Src: /src/hostap/src/crypto/tls_internal.c:649,1
    - Dst: tlsv1_server_resumed
      Src: /src/hostap/src/crypto/tls_internal.c:653,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - tls_ctx
    - conn
    argTypes:
    - void*
    - struct tls_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 656
    functionName: tls_connection_resumed
    functionSourceFile: /src/hostap/src/crypto/tls_internal.c
    functionUses: 6
    functionsReached:
    - tlsv1_server_resumed
    - tlsv1_client_resumed
    linkageType: ''
    returnType: int
    signature: int tls_connection_resumed(void *tls_ctx, struct tls_connection *conn)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tlsv1_client_set_cipher_list
      Src: /src/hostap/src/crypto/tls_internal.c:664,1
    - Dst: tlsv1_server_set_cipher_list
      Src: /src/hostap/src/crypto/tls_internal.c:668,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - tls_ctx
    - conn
    - ciphers
    argTypes:
    - void*
    - struct tls_connection*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 659
    functionDepth: 1
    functionLinenumber: 659
    functionLinenumberEnd: 671
    functionName: tls_connection_set_cipher_list
    functionSourceFile: /src/hostap/src/crypto/tls_internal.c
    functionUses: 1
    functionsReached:
    - tlsv1_server_set_cipher_list
    - tlsv1_client_set_cipher_list
    linkageType: ''
    returnType: int
    signature: "int tls_connection_set_cipher_list(void *tls_ctx, struct tls_connection
      *conn,\n\t\t\t\t   u8 *ciphers)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tlsv1_client_get_version
      Src: /src/hostap/src/crypto/tls_internal.c:681,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - ssl_ctx
    - conn
    - buf
    - buflen
    argTypes:
    - void*
    - struct tls_connection*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 674
    functionDepth: 1
    functionLinenumber: 674
    functionLinenumberEnd: 684
    functionName: tls_get_version
    functionSourceFile: /src/hostap/src/crypto/tls_internal.c
    functionUses: 2
    functionsReached:
    - tlsv1_client_get_version
    linkageType: ''
    returnType: int
    signature: "int tls_get_version(void *ssl_ctx, struct tls_connection *conn,\n\t\t
      \   char *buf, size_t buflen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tlsv1_client_get_cipher
      Src: /src/hostap/src/crypto/tls_internal.c:694,1
    - Dst: tlsv1_server_get_cipher
      Src: /src/hostap/src/crypto/tls_internal.c:698,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - tls_ctx
    - conn
    - buf
    - buflen
    argTypes:
    - void*
    - struct tls_connection*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 687
    functionDepth: 1
    functionLinenumber: 687
    functionLinenumberEnd: 701
    functionName: tls_get_cipher
    functionSourceFile: /src/hostap/src/crypto/tls_internal.c
    functionUses: 2
    functionsReached:
    - tlsv1_client_get_cipher
    - tlsv1_server_get_cipher
    linkageType: ''
    returnType: int
    signature: "int tls_get_cipher(void *tls_ctx, struct tls_connection *conn,\n\t\t
      \  char *buf, size_t buflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tls_ctx
    - conn
    argTypes:
    - void*
    - struct tls_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 708
    functionName: tls_connection_enable_workaround
    functionSourceFile: /src/hostap/src/crypto/tls_internal.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int tls_connection_enable_workaround(void *tls_ctx,\n\t\t\t\t     struct
      tls_connection *conn)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlsv1_client_hello_ext
      Src: /src/hostap/src/crypto/tls_internal.c:717,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - tls_ctx
    - conn
    - ext_type
    - data
    - data_len
    argTypes:
    - void*
    - struct tls_connection*
    - int
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 711
    functionDepth: 1
    functionLinenumber: 711
    functionLinenumberEnd: 722
    functionName: tls_connection_client_hello_ext
    functionSourceFile: /src/hostap/src/crypto/tls_internal.c
    functionUses: 2
    functionsReached:
    - tlsv1_client_hello_ext
    linkageType: ''
    returnType: int
    signature: "int tls_connection_client_hello_ext(void *tls_ctx, struct tls_connection
      *conn,\n\t\t\t\t    int ext_type, const u8 *data,\n\t\t\t\t    size_t data_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlsv1_server_get_failed
      Src: /src/hostap/src/crypto/tls_internal.c:729,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - tls_ctx
    - conn
    argTypes:
    - void*
    - struct tls_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 725
    functionDepth: 1
    functionLinenumber: 725
    functionLinenumberEnd: 732
    functionName: tls_connection_get_failed
    functionSourceFile: /src/hostap/src/crypto/tls_internal.c
    functionUses: 6
    functionsReached:
    - tlsv1_server_get_failed
    linkageType: ''
    returnType: int
    signature: int tls_connection_get_failed(void *tls_ctx, struct tls_connection
      *conn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlsv1_server_get_read_alerts
      Src: /src/hostap/src/crypto/tls_internal.c:739,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - tls_ctx
    - conn
    argTypes:
    - void*
    - struct tls_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 735
    functionDepth: 1
    functionLinenumber: 735
    functionLinenumberEnd: 742
    functionName: tls_connection_get_read_alerts
    functionSourceFile: /src/hostap/src/crypto/tls_internal.c
    functionUses: 0
    functionsReached:
    - tlsv1_server_get_read_alerts
    linkageType: ''
    returnType: int
    signature: int tls_connection_get_read_alerts(void *tls_ctx, struct tls_connection
      *conn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlsv1_server_get_write_alerts
      Src: /src/hostap/src/crypto/tls_internal.c:750,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - tls_ctx
    - conn
    argTypes:
    - void*
    - struct tls_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 745
    functionDepth: 1
    functionLinenumber: 745
    functionLinenumberEnd: 753
    functionName: tls_connection_get_write_alerts
    functionSourceFile: /src/hostap/src/crypto/tls_internal.c
    functionUses: 0
    functionsReached:
    - tlsv1_server_get_write_alerts
    linkageType: ''
    returnType: int
    signature: "int tls_connection_get_write_alerts(void *tls_ctx,\n\t\t\t\t    struct
      tls_connection *conn)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tlsv1_client_set_session_ticket_cb
      Src: /src/hostap/src/crypto/tls_internal.c:763,1
    - Dst: tlsv1_server_set_session_ticket_cb
      Src: /src/hostap/src/crypto/tls_internal.c:769,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - tls_ctx
    - conn
    - cb
    - ctx
    argTypes:
    - void*
    - struct tls_connection*
    - tls_session_ticket_cb
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 756
    functionDepth: 1
    functionLinenumber: 756
    functionLinenumberEnd: 774
    functionName: tls_connection_set_session_ticket_cb
    functionSourceFile: /src/hostap/src/crypto/tls_internal.c
    functionUses: 1
    functionsReached:
    - tlsv1_client_set_session_ticket_cb
    - tlsv1_server_set_session_ticket_cb
    linkageType: ''
    returnType: int
    signature: "int tls_connection_set_session_ticket_cb(void *tls_ctx,\n\t\t\t\t\t
      struct tls_connection *conn,\n\t\t\t\t\t tls_session_ticket_cb cb,\n\t\t\t\t\t
      void *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/src/crypto/tls_internal.c:779,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - buf_len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 780
    functionName: tls_get_library_version
    functionSourceFile: /src/hostap/src/crypto/tls_internal.c
    functionUses: 2
    functionsReached:
    - os_snprintf
    linkageType: ''
    returnType: int
    signature: int tls_get_library_version(char *buf, size_t buf_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/src/crypto/tls_internal.c:786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - conn
    - data
    argTypes:
    - struct tls_connection*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 783
    functionDepth: 1
    functionLinenumber: 783
    functionLinenumberEnd: 787
    functionName: tls_connection_set_success_data
    functionSourceFile: /src/hostap/src/crypto/tls_internal.c
    functionUses: 0
    functionsReached:
    - wpabuf_free
    linkageType: ''
    returnType: void
    signature: "void tls_connection_set_success_data(struct tls_connection *conn,\n\t\t\t\t
      \    struct wpabuf *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct tls_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 792
    functionName: tls_connection_set_success_data_resumed
    functionSourceFile: /src/hostap/src/crypto/tls_internal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tls_connection_set_success_data_resumed(struct tls_connection
      *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct tls_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 795
    functionDepth: 0
    functionLinenumber: 795
    functionLinenumberEnd: 799
    functionName: tls_connection_get_success_data
    functionSourceFile: /src/hostap/src/crypto/tls_internal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct wpabuf
    signature: 'struct wpabuf *

      tls_connection_get_success_data(struct tls_connection *conn)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct tls_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 804
    functionName: tls_connection_remove_session
    functionSourceFile: /src/hostap/src/crypto/tls_internal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tls_connection_remove_session(struct tls_connection *conn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rijndaelKeySetupEnc
      Src: /src/hostap/src/crypto/aes-internal-dec.c:34,1
    - Dst: TD0_
      Src: /src/hostap/src/crypto/aes-internal-dec.c:49,1
    - Dst: TE4
      Src: /src/hostap/src/crypto/aes-internal-dec.c:49,1
    - Dst: TD1_
      Src: /src/hostap/src/crypto/aes-internal-dec.c:50,1
    - Dst: TE4
      Src: /src/hostap/src/crypto/aes-internal-dec.c:50,1
    - Dst: TD2_
      Src: /src/hostap/src/crypto/aes-internal-dec.c:51,1
    - Dst: TE4
      Src: /src/hostap/src/crypto/aes-internal-dec.c:51,1
    - Dst: TD3_
      Src: /src/hostap/src/crypto/aes-internal-dec.c:52,1
    - Dst: TE4
      Src: /src/hostap/src/crypto/aes-internal-dec.c:52,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 3
    argNames:
    - rk
    - cipherKey
    - keyBits
    argTypes:
    - u32[]
    - u8[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 57
    functionName: rijndaelKeySetupDec
    functionSourceFile: /src/hostap/src/crypto/aes-internal-dec.c
    functionUses: 0
    functionsReached:
    - TD0_
    - TD3_
    - rijndaelKeySetupEnc
    - TD2_
    - TD1_
    - TE4
    linkageType: ''
    returnType: int
    signature: int rijndaelKeySetupDec(u32 rk[], const u8 cipherKey[], int keyBits)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/crypto/aes-internal-dec.c:63,1
    - Dst: rijndaelKeySetupDec
      Src: /src/hostap/src/crypto/aes-internal-dec.c:66,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/aes-internal-dec.c:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - key
    - len
    argTypes:
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 59
    functionDepth: 3
    functionLinenumber: 59
    functionLinenumberEnd: 73
    functionName: aes_decrypt_init
    functionSourceFile: /src/hostap/src/crypto/aes-internal-dec.c
    functionUses: 3
    functionsReached:
    - rijndaelKeySetupDec
    - os_free
    - os_malloc
    linkageType: ''
    returnType: void
    signature: void * aes_decrypt_init(const u8 *key, size_t len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GETU32
      Src: /src/hostap/src/crypto/aes-internal-dec.c:87,1
    - Dst: GETU32
      Src: /src/hostap/src/crypto/aes-internal-dec.c:88,1
    - Dst: GETU32
      Src: /src/hostap/src/crypto/aes-internal-dec.c:89,1
    - Dst: GETU32
      Src: /src/hostap/src/crypto/aes-internal-dec.c:90,1
    - Dst: ROUND
      Src: /src/hostap/src/crypto/aes-internal-dec.c:100,1
    - Dst: ROUND
      Src: /src/hostap/src/crypto/aes-internal-dec.c:101,1
    - Dst: ROUND
      Src: /src/hostap/src/crypto/aes-internal-dec.c:102,1
    - Dst: ROUND
      Src: /src/hostap/src/crypto/aes-internal-dec.c:103,1
    - Dst: ROUND
      Src: /src/hostap/src/crypto/aes-internal-dec.c:104,1
    - Dst: ROUND
      Src: /src/hostap/src/crypto/aes-internal-dec.c:105,1
    - Dst: ROUND
      Src: /src/hostap/src/crypto/aes-internal-dec.c:106,1
    - Dst: ROUND
      Src: /src/hostap/src/crypto/aes-internal-dec.c:107,1
    - Dst: ROUND
      Src: /src/hostap/src/crypto/aes-internal-dec.c:108,1
    - Dst: ROUND
      Src: /src/hostap/src/crypto/aes-internal-dec.c:110,1
    - Dst: ROUND
      Src: /src/hostap/src/crypto/aes-internal-dec.c:111,1
    - Dst: ROUND
      Src: /src/hostap/src/crypto/aes-internal-dec.c:113,1
    - Dst: ROUND
      Src: /src/hostap/src/crypto/aes-internal-dec.c:114,1
    - Dst: ROUND
      Src: /src/hostap/src/crypto/aes-internal-dec.c:125,1
    - Dst: ROUND
      Src: /src/hostap/src/crypto/aes-internal-dec.c:129,1
    - Dst: TD41
      Src: /src/hostap/src/crypto/aes-internal-dec.c:140,1
    - Dst: TD42
      Src: /src/hostap/src/crypto/aes-internal-dec.c:140,1
    - Dst: TD43
      Src: /src/hostap/src/crypto/aes-internal-dec.c:140,1
    - Dst: TD44
      Src: /src/hostap/src/crypto/aes-internal-dec.c:140,1
    - Dst: PUTU32
      Src: /src/hostap/src/crypto/aes-internal-dec.c:141,1
    - Dst: TD41
      Src: /src/hostap/src/crypto/aes-internal-dec.c:142,1
    - Dst: TD42
      Src: /src/hostap/src/crypto/aes-internal-dec.c:142,1
    - Dst: TD43
      Src: /src/hostap/src/crypto/aes-internal-dec.c:142,1
    - Dst: TD44
      Src: /src/hostap/src/crypto/aes-internal-dec.c:142,1
    - Dst: PUTU32
      Src: /src/hostap/src/crypto/aes-internal-dec.c:143,1
    - Dst: TD41
      Src: /src/hostap/src/crypto/aes-internal-dec.c:144,1
    - Dst: TD42
      Src: /src/hostap/src/crypto/aes-internal-dec.c:144,1
    - Dst: TD43
      Src: /src/hostap/src/crypto/aes-internal-dec.c:144,1
    - Dst: TD44
      Src: /src/hostap/src/crypto/aes-internal-dec.c:144,1
    - Dst: PUTU32
      Src: /src/hostap/src/crypto/aes-internal-dec.c:145,1
    - Dst: TD41
      Src: /src/hostap/src/crypto/aes-internal-dec.c:146,1
    - Dst: TD42
      Src: /src/hostap/src/crypto/aes-internal-dec.c:146,1
    - Dst: TD43
      Src: /src/hostap/src/crypto/aes-internal-dec.c:146,1
    - Dst: TD44
      Src: /src/hostap/src/crypto/aes-internal-dec.c:146,1
    - Dst: PUTU32
      Src: /src/hostap/src/crypto/aes-internal-dec.c:147,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 39
    argCount: 4
    argNames:
    - rk
    - Nr
    - ct
    - pt
    argTypes:
    - u32[]
    - int
    - u8[]
    - u8[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 148
    functionName: rijndaelDecrypt
    functionSourceFile: /src/hostap/src/crypto/aes-internal-dec.c
    functionUses: 0
    functionsReached:
    - PUTU32
    - TD43
    - ROUND
    - TD44
    - TD42
    - TD41
    - GETU32
    linkageType: ''
    returnType: void
    signature: "void rijndaelDecrypt(const u32 rk[/*44*/], int Nr, const u8 ct[16],\n\t\t\t
      \   u8 pt[16])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - i
    - ','
    - d
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: ROUND
    functionSourceFile: /src/hostap/src/crypto/aes-internal-dec.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROUND(i,d,s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rijndaelDecrypt
      Src: /src/hostap/src/crypto/aes-internal-dec.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - crypt
    - plain
    argTypes:
    - void*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 156
    functionName: aes_decrypt
    functionSourceFile: /src/hostap/src/crypto/aes-internal-dec.c
    functionUses: 4
    functionsReached:
    - rijndaelDecrypt
    linkageType: ''
    returnType: int
    signature: int aes_decrypt(void *ctx, const u8 *crypt, u8 *plain)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/crypto/aes-internal-dec.c:161,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/aes-internal-dec.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: aes_decrypt_deinit
    functionSourceFile: /src/hostap/src/crypto/aes-internal-dec.c
    functionUses: 3
    functionsReached:
    - os_free
    - os_memset
    linkageType: ''
    returnType: void
    signature: void aes_decrypt_deinit(void *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sha256_vector
      Src: /src/hostap/src/crypto/sha256.c:45,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/sha256.c:61,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/sha256.c:62,1
    - Dst: sha256_vector
      Src: /src/hostap/src/crypto/sha256.c:74,1
    - Dst: os_memset
      Src: /src/hostap/src/crypto/sha256.c:78,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/sha256.c:79,1
    - Dst: sha256_vector
      Src: /src/hostap/src/crypto/sha256.c:90,1
    - Dst: forced_memzero
      Src: /src/hostap/src/crypto/sha256.c:93,1
    - Dst: forced_memzero
      Src: /src/hostap/src/crypto/sha256.c:94,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 6
    argNames:
    - key
    - key_len
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - u8*
    - size_t
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 97
    functionName: hmac_sha256_vector
    functionSourceFile: /src/hostap/src/crypto/sha256.c
    functionUses: 11
    functionsReached:
    - sha256_vector
    - os_memcpy
    - forced_memzero
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int hmac_sha256_vector(const u8 *key, size_t key_len, size_t num_elem,\n\t\t
      \      const u8 *addr[], const size_t *len, u8 *mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_sha256_vector
      Src: /src/hostap/src/crypto/sha256.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - key
    - key_len
    - data
    - data_len
    - mac
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: hmac_sha256
    functionSourceFile: /src/hostap/src/crypto/sha256.c
    functionUses: 7
    functionsReached:
    - hmac_sha256_vector
    linkageType: ''
    returnType: int
    signature: "int hmac_sha256(const u8 *key, size_t key_len, const u8 *data,\n\t\tsize_t
      data_len, u8 *mac)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/crypto/sha1-tprf.c:35,1
    - Dst: hmac_sha1_vector
      Src: /src/hostap/src/crypto/sha1-tprf.c:57,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/sha1-tprf.c:60,1
    - Dst: os_memcpy
      Src: /src/hostap/src/crypto/sha1-tprf.c:63,1
    - Dst: forced_memzero
      Src: /src/hostap/src/crypto/sha1-tprf.c:69,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 7
    argNames:
    - key
    - key_len
    - label
    - seed
    - seed_len
    - buf
    - buf_len
    argTypes:
    - u8*
    - size_t
    - char*
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 72
    functionName: sha1_t_prf
    functionSourceFile: /src/hostap/src/crypto/sha1-tprf.c
    functionUses: 2
    functionsReached:
    - os_strlen
    - hmac_sha1_vector
    - os_memcpy
    - forced_memzero
    linkageType: ''
    returnType: int
    signature: "int sha1_t_prf(const u8 *key, size_t key_len, const char *label,\n\t
      \      const u8 *seed, size_t seed_len, u8 *buf, size_t buf_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GETU32
      Src: /src/hostap/src/crypto/aes-internal-enc.c:34,1
    - Dst: GETU32
      Src: /src/hostap/src/crypto/aes-internal-enc.c:35,1
    - Dst: GETU32
      Src: /src/hostap/src/crypto/aes-internal-enc.c:36,1
    - Dst: GETU32
      Src: /src/hostap/src/crypto/aes-internal-enc.c:37,1
    - Dst: ROUND
      Src: /src/hostap/src/crypto/aes-internal-enc.c:47,1
    - Dst: ROUND
      Src: /src/hostap/src/crypto/aes-internal-enc.c:48,1
    - Dst: ROUND
      Src: /src/hostap/src/crypto/aes-internal-enc.c:49,1
    - Dst: ROUND
      Src: /src/hostap/src/crypto/aes-internal-enc.c:50,1
    - Dst: ROUND
      Src: /src/hostap/src/crypto/aes-internal-enc.c:51,1
    - Dst: ROUND
      Src: /src/hostap/src/crypto/aes-internal-enc.c:52,1
    - Dst: ROUND
      Src: /src/hostap/src/crypto/aes-internal-enc.c:53,1
    - Dst: ROUND
      Src: /src/hostap/src/crypto/aes-internal-enc.c:54,1
    - Dst: ROUND
      Src: /src/hostap/src/crypto/aes-internal-enc.c:55,1
    - Dst: ROUND
      Src: /src/hostap/src/crypto/aes-internal-enc.c:57,1
    - Dst: ROUND
      Src: /src/hostap/src/crypto/aes-internal-enc.c:58,1
    - Dst: ROUND
      Src: /src/hostap/src/crypto/aes-internal-enc.c:60,1
    - Dst: ROUND
      Src: /src/hostap/src/crypto/aes-internal-enc.c:61,1
    - Dst: ROUND
      Src: /src/hostap/src/crypto/aes-internal-enc.c:72,1
    - Dst: ROUND
      Src: /src/hostap/src/crypto/aes-internal-enc.c:76,1
    - Dst: TE41
      Src: /src/hostap/src/crypto/aes-internal-enc.c:87,1
    - Dst: TE42
      Src: /src/hostap/src/crypto/aes-internal-enc.c:87,1
    - Dst: TE43
      Src: /src/hostap/src/crypto/aes-internal-enc.c:87,1
    - Dst: TE44
      Src: /src/hostap/src/crypto/aes-internal-enc.c:87,1
    - Dst: PUTU32
      Src: /src/hostap/src/crypto/aes-internal-enc.c:88,1
    - Dst: TE41
      Src: /src/hostap/src/crypto/aes-internal-enc.c:89,1
    - Dst: TE42
      Src: /src/hostap/src/crypto/aes-internal-enc.c:89,1
    - Dst: TE43
      Src: /src/hostap/src/crypto/aes-internal-enc.c:89,1
    - Dst: TE44
      Src: /src/hostap/src/crypto/aes-internal-enc.c:89,1
    - Dst: PUTU32
      Src: /src/hostap/src/crypto/aes-internal-enc.c:90,1
    - Dst: TE41
      Src: /src/hostap/src/crypto/aes-internal-enc.c:91,1
    - Dst: TE42
      Src: /src/hostap/src/crypto/aes-internal-enc.c:91,1
    - Dst: TE43
      Src: /src/hostap/src/crypto/aes-internal-enc.c:91,1
    - Dst: TE44
      Src: /src/hostap/src/crypto/aes-internal-enc.c:91,1
    - Dst: PUTU32
      Src: /src/hostap/src/crypto/aes-internal-enc.c:92,1
    - Dst: TE41
      Src: /src/hostap/src/crypto/aes-internal-enc.c:93,1
    - Dst: TE42
      Src: /src/hostap/src/crypto/aes-internal-enc.c:93,1
    - Dst: TE43
      Src: /src/hostap/src/crypto/aes-internal-enc.c:93,1
    - Dst: TE44
      Src: /src/hostap/src/crypto/aes-internal-enc.c:93,1
    - Dst: PUTU32
      Src: /src/hostap/src/crypto/aes-internal-enc.c:94,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 39
    argCount: 4
    argNames:
    - rk
    - Nr
    - pt
    - ct
    argTypes:
    - u32[]
    - int
    - u8[]
    - u8[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 95
    functionName: rijndaelEncrypt
    functionSourceFile: /src/hostap/src/crypto/aes-internal-enc.c
    functionUses: 0
    functionsReached:
    - TE42
    - TE44
    - PUTU32
    - ROUND
    - TE41
    - TE43
    - GETU32
    linkageType: ''
    returnType: void
    signature: void rijndaelEncrypt(const u32 rk[], int Nr, const u8 pt[16], u8 ct[16])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - i
    - ','
    - d
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: ROUND
    functionSourceFile: /src/hostap/src/crypto/aes-internal-enc.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROUND(i,d,s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/crypto/aes-internal-enc.c:103,1
    - Dst: os_malloc
      Src: /src/hostap/src/crypto/aes-internal-enc.c:106,1
    - Dst: rijndaelKeySetupEnc
      Src: /src/hostap/src/crypto/aes-internal-enc.c:109,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/aes-internal-enc.c:111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - key
    - len
    argTypes:
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 116
    functionName: aes_encrypt_init
    functionSourceFile: /src/hostap/src/crypto/aes-internal-enc.c
    functionUses: 10
    functionsReached:
    - os_free
    - rijndaelKeySetupEnc
    - TEST_FAIL
    - os_malloc
    linkageType: ''
    returnType: void
    signature: void * aes_encrypt_init(const u8 *key, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rijndaelEncrypt
      Src: /src/hostap/src/crypto/aes-internal-enc.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - plain
    - crypt
    argTypes:
    - void*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 124
    functionName: aes_encrypt
    functionSourceFile: /src/hostap/src/crypto/aes-internal-enc.c
    functionUses: 15
    functionsReached:
    - rijndaelEncrypt
    linkageType: ''
    returnType: int
    signature: int aes_encrypt(void *ctx, const u8 *plain, u8 *crypt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/crypto/aes-internal-enc.c:129,1
    - Dst: os_free
      Src: /src/hostap/src/crypto/aes-internal-enc.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 131
    functionName: aes_encrypt_deinit
    functionSourceFile: /src/hostap/src/crypto/aes-internal-enc.c
    functionUses: 12
    functionsReached:
    - os_free
    - os_memset
    linkageType: ''
    returnType: void
    signature: void aes_encrypt_deinit(void *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_server/eap_server_md5.c:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 35
    functionName: eap_md5_init
    functionSourceFile: /src/hostap/src/eap_server/eap_server_md5.c
    functionUses: 0
    functionsReached:
    - os_zalloc
    linkageType: ''
    returnType: void
    signature: void * eap_md5_init(struct eap_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_md5.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: eap_md5_reset
    functionSourceFile: /src/hostap/src/eap_server/eap_server_md5.c
    functionUses: 0
    functionsReached:
    - os_free
    linkageType: ''
    returnType: void
    signature: void eap_md5_reset(struct eap_sm *sm, void *priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: random_get_bytes
      Src: /src/hostap/src/eap_server/eap_server_md5.c:50,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_md5.c:51,1
    - Dst: eap_msg_alloc
      Src: /src/hostap/src/eap_server/eap_server_md5.c:56,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_md5.c:59,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server_md5.c:65,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_server/eap_server_md5.c:66,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_md5.c:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - sm
    - priv
    - id
    argTypes:
    - struct eap_sm*
    - void*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 73
    functionName: eap_md5_buildReq
    functionSourceFile: /src/hostap/src/eap_server/eap_server_md5.c
    functionUses: 0
    functionsReached:
    - random_get_bytes
    - wpa_printf
    - wpabuf_put_u8
    - wpabuf_put_data
    - wpa_hexdump
    - eap_msg_alloc
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * eap_md5_buildReq(struct eap_sm *sm, void *priv, u8
      id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_server/eap_server_md5.c:82,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_md5.c:84,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_md5.c:88,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - sm
    - priv
    - respData
    argTypes:
    - struct eap_sm*
    - void*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 95
    functionName: eap_md5_check
    functionSourceFile: /src/hostap/src/eap_server/eap_server_md5.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_hdr_validate
    linkageType: ''
    returnType: bool
    signature: "bool eap_md5_check(struct eap_sm *sm, void *priv,\n\t\t\t  struct
      wpabuf *respData)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_md5.c:108,1
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_server/eap_server_md5.c:114,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_md5.c:119,1
    - Dst: eap_get_id
      Src: /src/hostap/src/eap_server/eap_server_md5.c:121,1
    - Dst: chap_md5
      Src: /src/hostap/src/eap_server/eap_server_md5.c:122,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_md5.c:124,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/eap_server/eap_server_md5.c:129,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_md5.c:130,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_md5.c:133,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - sm
    - priv
    - respData
    argTypes:
    - struct eap_sm*
    - void*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 136
    functionName: eap_md5_process
    functionSourceFile: /src/hostap/src/eap_server/eap_server_md5.c
    functionUses: 0
    functionsReached:
    - eap_get_id
    - wpa_printf
    - wpa_hexdump
    - os_memcmp_const
    - chap_md5
    - eap_hdr_validate
    linkageType: ''
    returnType: void
    signature: "void eap_md5_process(struct eap_sm *sm, void *priv,\n\t\t\t    struct
      wpabuf *respData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 143
    functionName: eap_md5_isDone
    functionSourceFile: /src/hostap/src/eap_server/eap_server_md5.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool eap_md5_isDone(struct eap_sm *sm, void *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: eap_md5_isSuccess
    functionSourceFile: /src/hostap/src/eap_server/eap_server_md5.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool eap_md5_isSuccess(struct eap_sm *sm, void *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_server_method_alloc
      Src: /src/hostap/src/eap_server/eap_server_md5.c:157,1
    - Dst: eap_server_method_register
      Src: /src/hostap/src/eap_server/eap_server_md5.c:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 171
    functionName: eap_server_md5_register
    functionSourceFile: /src/hostap/src/eap_server/eap_server_md5.c
    functionUses: 2
    functionsReached:
    - eap_server_method_register
    - eap_server_method_alloc
    linkageType: ''
    returnType: int
    signature: int eap_server_md5_register(void)
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 1
    argNames:
    - state
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 93
    functionName: eap_peap_state_txt
    functionSourceFile: /src/hostap/src/eap_server/eap_server_peap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * eap_peap_state_txt(int state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_peap.c:98,1
    - Dst: eap_peap_state_txt
      Src: /src/hostap/src/eap_server/eap_server_peap.c:99,1
    - Dst: eap_peap_state_txt
      Src: /src/hostap/src/eap_server/eap_server_peap.c:100,1
    - Dst: tls_connection_remove_session
      Src: /src/hostap/src/eap_server/eap_server_peap.c:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - data
    - state
    argTypes:
    - struct eap_peap_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 104
    functionName: eap_peap_state
    functionSourceFile: /src/hostap/src/eap_server/eap_server_peap.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - tls_connection_remove_session
    - eap_peap_state_txt
    linkageType: ''
    returnType: void
    signature: void eap_peap_state(struct eap_peap_data *data, int state)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tls_connection_resumed
      Src: /src/hostap/src/eap_server/eap_server_peap.c:113,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eap_server/eap_server_peap.c:116,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server_peap.c:119,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server_peap.c:127,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_server/eap_server_peap.c:128,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server_peap.c:130,1
    - Dst: tls_connection_set_success_data
      Src: /src/hostap/src/eap_server/eap_server_peap.c:132,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - sm
    - data
    argTypes:
    - struct eap_sm*
    - struct eap_peap_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 133
    functionName: eap_peap_valid_session
    functionSourceFile: /src/hostap/src/eap_server/eap_server_peap.c
    functionUses: 0
    functionsReached:
    - wpabuf_put_data
    - wpabuf_put_u8
    - wpabuf_alloc
    - tls_connection_resumed
    - tls_connection_set_success_data
    linkageType: ''
    returnType: void
    signature: "void eap_peap_valid_session(struct eap_sm *sm,\n\t\t\t\t   struct
      eap_peap_data *data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eap_peap_state
      Src: /src/hostap/src/eap_server/eap_server_peap.c:140,1
    - Dst: eap_peap_state
      Src: /src/hostap/src/eap_server/eap_server_peap.c:146,1
    - Dst: eap_peap_state
      Src: /src/hostap/src/eap_server/eap_server_peap.c:148,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - sm
    - data
    argTypes:
    - struct eap_sm*
    - struct eap_peap_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 150
    functionName: eap_peap_req_success
    functionSourceFile: /src/hostap/src/eap_server/eap_server_peap.c
    functionUses: 0
    functionsReached:
    - eap_peap_state
    linkageType: ''
    returnType: void
    signature: "void eap_peap_req_success(struct eap_sm *sm,\n\t\t\t\t struct eap_peap_data
      *data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eap_peap_state
      Src: /src/hostap/src/eap_server/eap_server_peap.c:158,1
    - Dst: eap_peap_state
      Src: /src/hostap/src/eap_server/eap_server_peap.c:164,1
    - Dst: eap_peap_state
      Src: /src/hostap/src/eap_server/eap_server_peap.c:166,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - sm
    - data
    argTypes:
    - struct eap_sm*
    - struct eap_peap_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 168
    functionName: eap_peap_req_failure
    functionSourceFile: /src/hostap/src/eap_server/eap_server_peap.c
    functionUses: 0
    functionsReached:
    - eap_peap_state
    linkageType: ''
    returnType: void
    signature: "void eap_peap_req_failure(struct eap_sm *sm,\n\t\t\t\t struct eap_peap_data
      *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_server/eap_server_peap.c:175,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_peap.c:182,1
    - Dst: eap_server_tls_ssl_init
      Src: /src/hostap/src/eap_server/eap_server_peap.c:189,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_peap.c:190,1
    - Dst: eap_peap_reset
      Src: /src/hostap/src/eap_server/eap_server_peap.c:191,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 196
    functionName: eap_peap_init
    functionSourceFile: /src/hostap/src/eap_server/eap_server_peap.c
    functionUses: 0
    functionsReached:
    - eap_server_tls_ssl_init
    - os_zalloc
    - wpa_printf
    - eap_peap_reset
    linkageType: ''
    returnType: void
    signature: void * eap_peap_init(struct eap_sm *sm)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct eap_peap_data*::phase2_method::reset
      Src: /src/hostap/src/eap_server/eap_server_peap.c:205,1
    - Dst: eap_server_tls_ssl_deinit
      Src: /src/hostap/src/eap_server/eap_server_peap.c:206,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_peap.c:207,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_peap.c:208,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_peap.c:209,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/eap_server/eap_server_peap.c:210,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 211
    functionName: eap_peap_reset
    functionSourceFile: /src/hostap/src/eap_server/eap_server_peap.c
    functionUses: 1
    functionsReached:
    - struct eap_peap_data*::phase2_method::reset
    - wpabuf_free
    - eap_server_tls_ssl_deinit
    - os_free
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: void eap_peap_reset(struct eap_sm *sm, void *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_msg_alloc
      Src: /src/hostap/src/eap_server/eap_server_peap.c:219,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_peap.c:222,1
    - Dst: eap_peap_state
      Src: /src/hostap/src/eap_server/eap_server_peap.c:224,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server_peap.c:228,1
    - Dst: eap_peap_state
      Src: /src/hostap/src/eap_server/eap_server_peap.c:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - sm
    - data
    - id
    argTypes:
    - struct eap_sm*
    - struct eap_peap_data*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 233
    functionName: eap_peap_build_start
    functionSourceFile: /src/hostap/src/eap_server/eap_server_peap.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_msg_alloc
    - wpabuf_put_u8
    - eap_peap_state
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_peap_build_start(struct eap_sm *sm,\n\t\t\t\t\t
      \   struct eap_peap_data *data, u8 id)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_peap.c:245,1
    - Dst: struct eap_peap_data*::phase2_method::buildReq
      Src: /src/hostap/src/eap_server/eap_server_peap.c:248,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_server/eap_server_peap.c:252,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_peap.c:253,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_server/eap_server_peap.c:254,1
    - Dst: wpabuf_set
      Src: /src/hostap/src/eap_server/eap_server_peap.c:263,1
    - Dst: eap_server_tls_encrypt
      Src: /src/hostap/src/eap_server/eap_server_peap.c:264,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_peap.c:265,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - sm
    - data
    - id
    argTypes:
    - struct eap_sm*
    - struct eap_peap_data*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 268
    functionName: eap_peap_build_phase2_req
    functionSourceFile: /src/hostap/src/eap_server/eap_server_peap.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump_key
    - wpabuf_len
    - eap_server_tls_encrypt
    - wpabuf_free
    - wpabuf_head
    - wpabuf_set
    - struct eap_peap_data*::phase2_method::buildReq
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_peap_build_phase2_req(struct eap_sm *sm,\n\t\t\t\t\t\t
      struct eap_peap_data *data,\n\t\t\t\t\t\t u8 id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tncs_build_soh_request
      Src: /src/hostap/src/eap_server/eap_server_peap.c:280,1
    - Dst: eap_msg_alloc
      Src: /src/hostap/src/eap_server/eap_server_peap.c:284,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_peap.c:284,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_peap.c:287,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/eap_server/eap_server_peap.c:290,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_peap.c:291,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_server/eap_server_peap.c:293,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_peap.c:294,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_server/eap_server_peap.c:296,1
    - Dst: wpabuf_set
      Src: /src/hostap/src/eap_server/eap_server_peap.c:301,1
    - Dst: eap_server_tls_encrypt
      Src: /src/hostap/src/eap_server/eap_server_peap.c:303,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_peap.c:304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 3
    argNames:
    - sm
    - data
    - id
    argTypes:
    - struct eap_sm*
    - struct eap_peap_data*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 307
    functionName: eap_peap_build_phase2_soh
    functionSourceFile: /src/hostap/src/eap_server/eap_server_peap.c
    functionUses: 0
    functionsReached:
    - wpa_hexdump_key
    - tncs_build_soh_request
    - wpabuf_len
    - eap_server_tls_encrypt
    - wpabuf_free
    - eap_msg_alloc
    - wpabuf_head
    - wpabuf_set
    - wpabuf_put_buf
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_peap_build_phase2_soh(struct eap_sm *sm,\n\t\t\t\t\t\t
      struct eap_peap_data *data,\n\t\t\t\t\t\t u8 id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/eap_server/eap_server_peap.c:316,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_peap.c:323,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - data
    - isk
    - isk_len
    argTypes:
    - struct eap_peap_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 324
    functionName: eap_peap_get_isk
    functionSourceFile: /src/hostap/src/eap_server/eap_server_peap.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void eap_peap_get_isk(struct eap_peap_data *data,\n\t\t\t     u8 *isk,
      size_t isk_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: eap_server_tls_derive_key
      Src: /src/hostap/src/eap_server/eap_server_peap.c:350,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_server/eap_server_peap.c:355,1
    - Dst: tls_connection_resumed
      Src: /src/hostap/src/eap_server/eap_server_peap.c:357,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_peap.c:359,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_server/eap_server_peap.c:360,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_peap.c:362,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_server/eap_server_peap.c:363,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_peap.c:365,1
    - Dst: eap_peap_get_isk
      Src: /src/hostap/src/eap_server/eap_server_peap.c:369,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_server/eap_server_peap.c:370,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_server/eap_server_peap.c:379,1
    - Dst: peap_prfplus
      Src: /src/hostap/src/eap_server/eap_server_peap.c:380,1
    - Dst: forced_memzero
      Src: /src/hostap/src/eap_server/eap_server_peap.c:383,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_peap.c:385,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_server/eap_server_peap.c:388,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_peap.c:391,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_peap.c:393,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_server/eap_server_peap.c:394,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_peap.c:395,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_server/eap_server_peap.c:396,1
    - Dst: forced_memzero
      Src: /src/hostap/src/eap_server/eap_server_peap.c:397,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 37
    argCount: 2
    argNames:
    - sm
    - data
    argTypes:
    - struct eap_sm*
    - struct eap_peap_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 400
    functionName: eap_peap_derive_cmk
    functionSourceFile: /src/hostap/src/eap_server/eap_server_peap.c
    functionUses: 1
    functionsReached:
    - peap_prfplus
    - wpa_hexdump_key
    - os_memcpy
    - forced_memzero
    - eap_server_tls_derive_key
    - tls_connection_resumed
    - eap_peap_get_isk
    - os_free
    linkageType: ''
    returnType: int
    signature: int eap_peap_derive_cmk(struct eap_sm *sm, struct eap_peap_data *data)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_peap.c:416,1
    - Dst: eap_msg_alloc
      Src: /src/hostap/src/eap_server/eap_server_peap.c:420,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server_peap.c:425,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server_peap.c:426,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/eap_server/eap_server_peap.c:428,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/eap_server/eap_server_peap.c:430,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_peap.c:443,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/eap_server/eap_server_peap.c:445,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_peap.c:446,1
    - Dst: eap_peap_derive_cmk
      Src: /src/hostap/src/eap_server/eap_server_peap.c:451,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/eap_server/eap_server_peap.c:452,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_peap.c:453,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_server/eap_server_peap.c:458,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/eap_server/eap_server_peap.c:464,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/eap_server/eap_server_peap.c:465,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server_peap.c:467,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server_peap.c:468,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server_peap.c:469,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server_peap.c:470,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_server/eap_server_peap.c:471,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_server/eap_server_peap.c:472,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_peap.c:473,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_peap.c:475,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_peap.c:477,1
    - Dst: hmac_sha1_vector
      Src: /src/hostap/src/eap_server/eap_server_peap.c:479,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_peap.c:480,1
    - Dst: wpa_hexdump_buf_key
      Src: /src/hostap/src/eap_server/eap_server_peap.c:485,1
    - Dst: eap_server_tls_encrypt
      Src: /src/hostap/src/eap_server/eap_server_peap.c:488,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_peap.c:489,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 49
    argCount: 3
    argNames:
    - sm
    - data
    - id
    argTypes:
    - struct eap_sm*
    - struct eap_peap_data*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 492
    functionName: eap_peap_build_phase2_tlv
    functionSourceFile: /src/hostap/src/eap_server/eap_server_peap.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - random_get_bytes
    - wpabuf_put
    - wpabuf_put_u8
    - wpabuf_put_data
    - wpabuf_len
    - wpa_hexdump
    - eap_server_tls_encrypt
    - eap_msg_alloc
    - wpabuf_free
    - wpabuf_put_be16
    - eap_peap_derive_cmk
    - wpabuf_put_buf
    - hmac_sha1_vector
    - wpa_hexdump_buf_key
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_peap_build_phase2_tlv(struct eap_sm *sm,\n\t\t\t\t\t\t
      struct eap_peap_data *data,\n\t\t\t\t\t\t u8 id)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_server/eap_server_peap.c:504,1
    - Dst: host_to_be16
      Src: /src/hostap/src/eap_server/eap_server_peap.c:510,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_server/eap_server_peap.c:512,1
    - Dst: wpabuf_set
      Src: /src/hostap/src/eap_server/eap_server_peap.c:515,1
    - Dst: eap_server_tls_encrypt
      Src: /src/hostap/src/eap_server/eap_server_peap.c:516,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_peap.c:517,1
    - Dst: tls_connection_resumed
      Src: /src/hostap/src/eap_server/eap_server_peap.c:520,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_peap.c:521,1
    - Dst: wpabuf_resize
      Src: /src/hostap/src/eap_server/eap_server_peap.c:526,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_peap.c:526,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_peap.c:527,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_peap.c:529,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/eap_server/eap_server_peap.c:532,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/eap_server/eap_server_peap.c:533,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_peap.c:535,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 4
    argNames:
    - sm
    - data
    - id
    - success
    argTypes:
    - struct eap_sm*
    - struct eap_peap_data*
    - u8
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 495
    functionDepth: 1
    functionLinenumber: 495
    functionLinenumberEnd: 538
    functionName: eap_peap_build_phase2_term
    functionSourceFile: /src/hostap/src/eap_server/eap_server_peap.c
    functionUses: 0
    functionsReached:
    - wpa_hexdump_key
    - wpa_printf
    - wpabuf_resize
    - host_to_be16
    - eap_server_tls_encrypt
    - wpabuf_len
    - wpabuf_free
    - wpabuf_set
    - os_zalloc
    - tls_connection_resumed
    - wpabuf_put_buf
    - os_free
    - wpa_hexdump_buf
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_peap_build_phase2_term(struct eap_sm *sm,\n\t\t\t\t\t\t
      \ struct eap_peap_data *data,\n\t\t\t\t\t\t  u8 id, int success)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: eap_server_tls_build_ack
      Src: /src/hostap/src/eap_server/eap_server_peap.c:546,1
    - Dst: eap_server_tls_build_msg
      Src: /src/hostap/src/eap_server/eap_server_peap.c:551,1
    - Dst: eap_peap_build_start
      Src: /src/hostap/src/eap_server/eap_server_peap.c:557,1
    - Dst: tls_connection_established
      Src: /src/hostap/src/eap_server/eap_server_peap.c:560,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_peap.c:562,1
    - Dst: eap_peap_state
      Src: /src/hostap/src/eap_server/eap_server_peap.c:564,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_peap.c:566,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_peap.c:571,1
    - Dst: eap_peap_state
      Src: /src/hostap/src/eap_server/eap_server_peap.c:573,1
    - Dst: eap_peap_phase2_init
      Src: /src/hostap/src/eap_server/eap_server_peap.c:574,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_peap.c:583,1
    - Dst: eap_peap_build_phase2_req
      Src: /src/hostap/src/eap_server/eap_server_peap.c:585,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_peap.c:589,1
    - Dst: eap_peap_build_phase2_soh
      Src: /src/hostap/src/eap_server/eap_server_peap.c:591,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_peap.c:595,1
    - Dst: eap_peap_build_phase2_tlv
      Src: /src/hostap/src/eap_server/eap_server_peap.c:597,1
    - Dst: eap_peap_build_phase2_term
      Src: /src/hostap/src/eap_server/eap_server_peap.c:600,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_peap.c:604,1
    - Dst: eap_peap_build_phase2_term
      Src: /src/hostap/src/eap_server/eap_server_peap.c:606,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_peap.c:610,1
    - Dst: eap_server_tls_build_msg
      Src: /src/hostap/src/eap_server/eap_server_peap.c:615,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 55
    argCount: 3
    argNames:
    - sm
    - priv
    - id
    argTypes:
    - struct eap_sm*
    - void*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 541
    functionDepth: 3
    functionLinenumber: 541
    functionLinenumberEnd: 617
    functionName: eap_peap_buildReq
    functionSourceFile: /src/hostap/src/eap_server/eap_server_peap.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_peap_build_phase2_tlv
    - wpabuf_len
    - wpabuf_free
    - eap_peap_build_phase2_soh
    - eap_peap_phase2_init
    - eap_server_tls_build_msg
    - eap_server_tls_build_ack
    - tls_connection_established
    - eap_peap_state
    - eap_peap_build_phase2_term
    - eap_peap_build_phase2_req
    - eap_peap_build_start
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * eap_peap_buildReq(struct eap_sm *sm, void *priv, u8
      id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_server/eap_server_peap.c:626,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_peap.c:628,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - sm
    - priv
    - respData
    argTypes:
    - struct eap_sm*
    - void*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 620
    functionDepth: 1
    functionLinenumber: 620
    functionLinenumberEnd: 633
    functionName: eap_peap_check
    functionSourceFile: /src/hostap/src/eap_server/eap_server_peap.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_hdr_validate
    linkageType: ''
    returnType: bool
    signature: "bool eap_peap_check(struct eap_sm *sm, void *priv,\n\t\t\t   struct
      wpabuf *respData)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct eap_peap_data*::phase2_method::reset
      Src: /src/hostap/src/eap_server/eap_server_peap.c:640,1
    - Dst: eap_server_get_eap_method
      Src: /src/hostap/src/eap_server/eap_server_peap.c:644,1
    - Dst: struct eap_peap_data*::phase2_method::init
      Src: /src/hostap/src/eap_server/eap_server_peap.c:649,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - sm
    - data
    - vendor
    - eap_type
    argTypes:
    - struct eap_sm*
    - struct eap_peap_data*
    - int
    - enum eap_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 636
    functionDepth: 1
    functionLinenumber: 636
    functionLinenumberEnd: 652
    functionName: eap_peap_phase2_init
    functionSourceFile: /src/hostap/src/eap_server/eap_server_peap.c
    functionUses: 1
    functionsReached:
    - struct eap_peap_data*::phase2_method::init
    - struct eap_peap_data*::phase2_method::reset
    - eap_server_get_eap_method
    linkageType: ''
    returnType: int
    signature: "int eap_peap_phase2_init(struct eap_sm *sm, struct eap_peap_data *data,\n\t\t\t\tint
      vendor, enum eap_type eap_type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_peap.c:664,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_peap.c:672,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_peap.c:679,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_peap.c:687,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_server/eap_server_peap.c:688,1
    - Dst: hmac_sha1
      Src: /src/hostap/src/eap_server/eap_server_peap.c:690,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/eap_server/eap_server_peap.c:692,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_peap.c:693,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_server/eap_server_peap.c:695,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_peap.c:696,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_peap.c:701,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 4
    argNames:
    - sm
    - data
    - crypto_tlv
    - crypto_tlv_len
    argTypes:
    - struct eap_sm*
    - struct eap_peap_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 704
    functionName: eap_tlv_validate_cryptobinding
    functionSourceFile: /src/hostap/src/eap_server/eap_server_peap.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_hexdump_key
    - wpa_hexdump
    - hmac_sha1
    - os_memcmp_const
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int eap_tlv_validate_cryptobinding(struct eap_sm *sm,\n\t\t\t\t\t
      \ struct eap_peap_data *data,\n\t\t\t\t\t  const u8 *crypto_tlv,\n\t\t\t\t\t
      \ size_t crypto_tlv_len)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_server/eap_server_peap.c:717,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_peap.c:719,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_peap.c:724,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_peap.c:733,1
    - Dst: eap_peap_state
      Src: /src/hostap/src/eap_server/eap_server_peap.c:736,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_peap.c:749,1
    - Dst: eap_peap_state
      Src: /src/hostap/src/eap_server/eap_server_peap.c:753,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_peap.c:764,1
    - Dst: eap_peap_state
      Src: /src/hostap/src/eap_server/eap_server_peap.c:766,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_peap.c:772,1
    - Dst: eap_tlv_validate_cryptobinding
      Src: /src/hostap/src/eap_server/eap_server_peap.c:774,1
    - Dst: eap_peap_state
      Src: /src/hostap/src/eap_server/eap_server_peap.c:776,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_peap.c:782,1
    - Dst: eap_peap_state
      Src: /src/hostap/src/eap_server/eap_server_peap.c:783,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_peap.c:791,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_peap.c:794,1
    - Dst: eap_peap_state
      Src: /src/hostap/src/eap_server/eap_server_peap.c:797,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_server/eap_server_peap.c:802,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_peap.c:804,1
    - Dst: eap_peap_state
      Src: /src/hostap/src/eap_server/eap_server_peap.c:807,1
    - Dst: eap_peap_valid_session
      Src: /src/hostap/src/eap_server/eap_server_peap.c:808,1
    - Dst: eap_peap_state
      Src: /src/hostap/src/eap_server/eap_server_peap.c:810,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_peap.c:814,1
    - Dst: eap_peap_state
      Src: /src/hostap/src/eap_server/eap_server_peap.c:816,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_peap.c:818,1
    - Dst: eap_peap_state
      Src: /src/hostap/src/eap_server/eap_server_peap.c:820,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 83
    argCount: 3
    argNames:
    - sm
    - data
    - in_data
    argTypes:
    - struct eap_sm*
    - struct eap_peap_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 707
    functionDepth: 2
    functionLinenumber: 707
    functionLinenumberEnd: 823
    functionName: eap_peap_process_phase2_tlv
    functionSourceFile: /src/hostap/src/eap_server/eap_server_peap.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_tlv_validate_cryptobinding
    - WPA_GET_BE16
    - wpa_hexdump
    - eap_peap_valid_session
    - eap_peap_state
    - eap_hdr_validate
    linkageType: ''
    returnType: void
    signature: "void eap_peap_process_phase2_tlv(struct eap_sm *sm,\n\t\t\t\t\tstruct
      eap_peap_data *data,\n\t\t\t\t\tstruct wpabuf *in_data)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_server/eap_server_peap.c:839,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_peap.c:841,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_peap.c:847,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_peap.c:856,1
    - Dst: eap_peap_state
      Src: /src/hostap/src/eap_server/eap_server_peap.c:859,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_peap.c:865,1
    - Dst: eap_peap_state
      Src: /src/hostap/src/eap_server/eap_server_peap.c:868,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/eap_server/eap_server_peap.c:872,1
    - Dst: eap_peap_state
      Src: /src/hostap/src/eap_server/eap_server_peap.c:875,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_peap.c:888,1
    - Dst: eap_peap_state
      Src: /src/hostap/src/eap_server/eap_server_peap.c:890,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_peap.c:900,1
    - Dst: eap_peap_state
      Src: /src/hostap/src/eap_server/eap_server_peap.c:904,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_peap.c:910,1
    - Dst: eap_peap_state
      Src: /src/hostap/src/eap_server/eap_server_peap.c:914,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_peap.c:925,1
    - Dst: eap_peap_state
      Src: /src/hostap/src/eap_server/eap_server_peap.c:927,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_peap.c:934,1
    - Dst: tncs_process_soh
      Src: /src/hostap/src/eap_server/eap_server_peap.c:935,1
    - Dst: eap_peap_state
      Src: /src/hostap/src/eap_server/eap_server_peap.c:938,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_peap.c:942,1
    - Dst: eap_peap_state
      Src: /src/hostap/src/eap_server/eap_server_peap.c:943,1
    - Dst: eap_peap_state
      Src: /src/hostap/src/eap_server/eap_server_peap.c:948,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_peap.c:951,1
    - Dst: eap_peap_phase2_init
      Src: /src/hostap/src/eap_server/eap_server_peap.c:953,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 92
    argCount: 3
    argNames:
    - sm
    - data
    - in_data
    argTypes:
    - struct eap_sm*
    - struct eap_peap_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 827
    functionDepth: 2
    functionLinenumber: 827
    functionLinenumberEnd: 954
    functionName: eap_peap_process_phase2_soh
    functionSourceFile: /src/hostap/src/eap_server/eap_server_peap.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - tncs_process_soh
    - wpa_hexdump
    - wpabuf_free
    - eap_peap_phase2_init
    - eap_peap_state
    - eap_hdr_validate
    - WPA_GET_BE32
    linkageType: ''
    returnType: void
    signature: "void eap_peap_process_phase2_soh(struct eap_sm *sm,\n\t\t\t\t\tstruct
      eap_peap_data *data,\n\t\t\t\t\tstruct wpabuf *in_data)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: eap_peap_process_phase2_tlv
      Src: /src/hostap/src/eap_server/eap_server_peap.c:969,1
    - Dst: eap_peap_process_phase2_soh
      Src: /src/hostap/src/eap_server/eap_server_peap.c:975,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_peap.c:981,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_server/eap_server_peap.c:986,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_peap.c:989,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_peap.c:990,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_peap.c:991,1
    - Dst: eap_sm_process_nak
      Src: /src/hostap/src/eap_server/eap_server_peap.c:993,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1003,1
    - Dst: eap_peap_req_failure
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1007,1
    - Dst: eap_peap_phase2_init
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1011,1
    - Dst: struct eap_peap_data*::phase2_method::check
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1015,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1016,1
    - Dst: struct eap_peap_data*::phase2_method::process
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1021,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1024,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1026,1
    - Dst: wpabuf_dup
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1027,1
    - Dst: struct eap_peap_data*::phase2_method::isDone
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1030,1
    - Dst: struct eap_peap_data*::phase2_method::isSuccess
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1033,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1034,1
    - Dst: eap_peap_req_failure
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1035,1
    - Dst: eap_peap_phase2_init
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1038,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1042,1
    - Dst: struct eap_peap_data*::phase2_method::getKey
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1044,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1047,1
    - Dst: eap_peap_req_failure
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1049,1
    - Dst: eap_peap_phase2_init
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1050,1
    - Dst: eap_user_get
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1060,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1061,1
    - Dst: eap_peap_req_failure
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1065,1
    - Dst: eap_peap_state
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1074,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1075,1
    - Dst: eap_peap_state
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1083,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1087,1
    - Dst: eap_peap_req_success
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1091,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1098,1
    - Dst: eap_peap_phase2_init
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1103,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 97
    argCount: 3
    argNames:
    - sm
    - data
    - in_data
    argTypes:
    - struct eap_sm*
    - struct eap_peap_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1104
      start: 958
    functionDepth: 3
    functionLinenumber: 958
    functionLinenumberEnd: 1104
    functionName: eap_peap_process_phase2_response
    functionSourceFile: /src/hostap/src/eap_server/eap_server_peap.c
    functionUses: 0
    functionsReached:
    - wpa_hexdump
    - eap_peap_req_success
    - eap_peap_process_phase2_soh
    - struct eap_peap_data*::phase2_method::getKey
    - struct eap_peap_data*::phase2_method::check
    - eap_peap_state
    - wpa_hexdump_ascii
    - wpa_printf
    - eap_sm_process_nak
    - os_free
    - eap_peap_process_phase2_tlv
    - wpabuf_dup
    - struct eap_peap_data*::phase2_method::isSuccess
    - wpabuf_len
    - struct eap_peap_data*::phase2_method::isDone
    - wpabuf_head
    - wpabuf_free
    - eap_peap_phase2_init
    - eap_user_get
    - struct eap_peap_data*::phase2_method::process
    - eap_peap_req_failure
    linkageType: ''
    returnType: void
    signature: "void eap_peap_process_phase2_response(struct eap_sm *sm,\n\t\t\t\t\t
      \    struct eap_peap_data *data,\n\t\t\t\t\t     struct wpabuf *in_data)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1116,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1117,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1120,1
    - Dst: eap_peap_process_phase2_response
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1122,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1124,1
    - Dst: tls_connection_decrypt
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1129,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1132,1
    - Dst: eap_peap_state
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1134,1
    - Dst: wpa_hexdump_buf_key
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1138,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1145,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1146,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1148,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1152,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1153,1
    - Dst: host_to_be16
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1156,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1157,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1158,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1159,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1164,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1165,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1166,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1168,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1169,1
    - Dst: eap_peap_req_failure
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1170,1
    - Dst: be_to_host16
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1173,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1174,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1175,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1177,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1179,1
    - Dst: eap_peap_req_failure
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1180,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1183,1
    - Dst: eap_peap_process_phase2_response
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1188,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1191,1
    - Dst: eap_peap_state
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1193,1
    - Dst: eap_peap_valid_session
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1194,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1198,1
    - Dst: eap_peap_state
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1199,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1202,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1207,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 65
    argCount: 4
    argNames:
    - sm
    - data
    - respData
    - in_buf
    argTypes:
    - struct eap_sm*
    - struct eap_peap_data*
    - struct wpabuf*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1208
      start: 1107
    functionDepth: 4
    functionLinenumber: 1107
    functionLinenumberEnd: 1208
    functionName: eap_peap_process_phase2
    functionSourceFile: /src/hostap/src/eap_server/eap_server_peap.c
    functionUses: 0
    functionsReached:
    - be_to_host16
    - wpa_printf
    - wpabuf_put
    - tls_connection_decrypt
    - wpabuf_len
    - host_to_be16
    - wpabuf_free
    - eap_peap_process_phase2_response
    - wpabuf_head
    - eap_peap_valid_session
    - wpabuf_alloc
    - wpabuf_put_buf
    - eap_peap_state
    - eap_peap_req_failure
    - wpa_hexdump_buf_key
    linkageType: ''
    returnType: void
    signature: "void eap_peap_process_phase2(struct eap_sm *sm,\n\t\t\t\t    struct
      eap_peap_data *data,\n\t\t\t\t    const struct wpabuf *respData,\n\t\t\t\t    struct
      wpabuf *in_buf)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1218,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1224,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - sm
    - priv
    - peer_version
    argTypes:
    - struct eap_sm*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1231
      start: 1211
    functionDepth: 0
    functionLinenumber: 1211
    functionLinenumberEnd: 1231
    functionName: eap_peap_process_version
    functionSourceFile: /src/hostap/src/eap_server/eap_server_peap.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int eap_peap_process_version(struct eap_sm *sm, void *priv,\n\t\t\t\t
      \   int peer_version)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: eap_server_tls_phase1
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1241,1
    - Dst: eap_peap_state
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1242,1
    - Dst: eap_peap_state
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1247,1
    - Dst: eap_peap_phase2_init
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1248,1
    - Dst: eap_peap_process_phase2
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1256,1
    - Dst: eap_peap_state
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1259,1
    - Dst: eap_peap_valid_session
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1260,1
    - Dst: eap_peap_state
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1263,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1266,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 3
    argNames:
    - sm
    - priv
    - respData
    argTypes:
    - struct eap_sm*
    - void*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1270
      start: 1234
    functionDepth: 5
    functionLinenumber: 1234
    functionLinenumberEnd: 1270
    functionName: eap_peap_process_msg
    functionSourceFile: /src/hostap/src/eap_server/eap_server_peap.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_server_tls_phase1
    - eap_peap_phase2_init
    - eap_peap_process_phase2
    - eap_peap_valid_session
    - eap_peap_state
    linkageType: ''
    returnType: void
    signature: "void eap_peap_process_msg(struct eap_sm *sm, void *priv,\n\t\t\t\t
      const struct wpabuf *respData)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: eap_server_tls_process
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1281,1
    - Dst: eap_peap_state
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1284,1
    - Dst: tls_connection_established
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1289,1
    - Dst: tls_connection_resumed
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1290,1
    - Dst: tls_connection_get_success_data
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1293,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1294,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1295,1
    - Dst: eap_peap_state
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1297,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1301,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1303,1
    - Dst: eap_peap_state
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1306,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1312,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1314,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1315,1
    - Dst: eap_peap_state
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1318,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1322,1
    - Dst: eap_user_get
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1325,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1326,1
    - Dst: eap_peap_state
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1328,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1332,1
    - Dst: eap_peap_req_success
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1334,1
    - Dst: tls_connection_set_success_data_resumed
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1336,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 3
    argNames:
    - sm
    - priv
    - respData
    argTypes:
    - struct eap_sm*
    - void*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1337
      start: 1273
    functionDepth: 3
    functionLinenumber: 1273
    functionLinenumberEnd: 1337
    functionName: eap_peap_process
    functionSourceFile: /src/hostap/src/eap_server/eap_server_peap.c
    functionUses: 0
    functionsReached:
    - eap_server_tls_process
    - wpa_printf
    - os_memcpy
    - tls_connection_get_success_data
    - wpabuf_len
    - eap_peap_req_success
    - os_malloc
    - wpabuf_head
    - eap_user_get
    - tls_connection_resumed
    - tls_connection_established
    - eap_peap_state
    - os_free
    - tls_connection_set_success_data_resumed
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: void
    signature: "void eap_peap_process(struct eap_sm *sm, void *priv,\n\t\t\t     struct
      wpabuf *respData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1344
      start: 1340
    functionDepth: 0
    functionLinenumber: 1340
    functionLinenumberEnd: 1344
    functionName: eap_peap_isDone
    functionSourceFile: /src/hostap/src/eap_server/eap_server_peap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool eap_peap_isDone(struct eap_sm *sm, void *priv)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: peap_prfplus
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1366,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1370,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1371,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1373,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1375,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1378,1
    - Dst: forced_memzero
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1382,1
    - Dst: eap_server_tls_derive_key
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1396,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1400,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1402,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1405,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1409
      start: 1347
    functionDepth: 1
    functionLinenumber: 1347
    functionLinenumberEnd: 1409
    functionName: eap_peap_getKey
    functionSourceFile: /src/hostap/src/eap_server/eap_server_peap.c
    functionUses: 0
    functionsReached:
    - peap_prfplus
    - wpa_hexdump_key
    - os_memcpy
    - wpa_printf
    - wpa_hexdump
    - forced_memzero
    - os_malloc
    - eap_server_tls_derive_key
    - os_memset
    linkageType: ''
    returnType: u8
    signature: u8 * eap_peap_getKey(struct eap_sm *sm, void *priv, size_t *len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: eap_server_tls_derive_key
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1438,1
    - Dst: os_memdup
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1442,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1443,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1447,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1450,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1455
      start: 1412
    functionDepth: 1
    functionLinenumber: 1412
    functionLinenumberEnd: 1455
    functionName: eap_peap_get_emsk
    functionSourceFile: /src/hostap/src/eap_server/eap_server_peap.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    - os_memdup
    - eap_server_tls_derive_key
    - bin_clear_free
    linkageType: ''
    returnType: u8
    signature: u8 * eap_peap_get_emsk(struct eap_sm *sm, void *priv, size_t *len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1462
      start: 1458
    functionDepth: 0
    functionLinenumber: 1458
    functionLinenumberEnd: 1462
    functionName: eap_peap_isSuccess
    functionSourceFile: /src/hostap/src/eap_server/eap_server_peap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool eap_peap_isSuccess(struct eap_sm *sm, void *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_server_tls_derive_session_id
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1472,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1474
      start: 1465
    functionDepth: 1
    functionLinenumber: 1465
    functionLinenumberEnd: 1474
    functionName: eap_peap_get_session_id
    functionSourceFile: /src/hostap/src/eap_server/eap_server_peap.c
    functionUses: 0
    functionsReached:
    - eap_server_tls_derive_session_id
    linkageType: ''
    returnType: u8
    signature: u8 * eap_peap_get_session_id(struct eap_sm *sm, void *priv, size_t
      *len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_server_method_alloc
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1481,1
    - Dst: eap_server_method_register
      Src: /src/hostap/src/eap_server/eap_server_peap.c:1497,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1498
      start: 1477
    functionDepth: 1
    functionLinenumber: 1477
    functionLinenumberEnd: 1498
    functionName: eap_server_peap_register
    functionSourceFile: /src/hostap/src/eap_server/eap_server_peap.c
    functionUses: 2
    functionsReached:
    - eap_server_method_register
    - eap_server_method_alloc
    linkageType: ''
    returnType: int
    signature: int eap_server_peap_register(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:62,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:67,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:74,1
    - Dst: os_memdup
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:80,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:83,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 89
    functionName: eap_mschapv2_init
    functionSourceFile: /src/hostap/src/eap_server/eap_server_mschapv2.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - os_memdup
    - os_zalloc
    - os_free
    linkageType: ''
    returnType: void
    signature: void * eap_mschapv2_init(struct eap_sm *sm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:98,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 100
    functionName: eap_mschapv2_reset
    functionSourceFile: /src/hostap/src/eap_server/eap_server_mschapv2.c
    functionUses: 0
    functionsReached:
    - os_free
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: void eap_mschapv2_reset(struct eap_sm *sm, void *priv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: random_get_bytes
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:111,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:112,1
    - Dst: eap_msg_alloc
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:119,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:122,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:128,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:131,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:133,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:135,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:137,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:138,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:140,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - sm
    - data
    - id
    argTypes:
    - struct eap_sm*
    - struct eap_mschapv2_data*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 143
    functionName: eap_mschapv2_build_challenge
    functionSourceFile: /src/hostap/src/eap_server/eap_server_mschapv2.c
    functionUses: 0
    functionsReached:
    - random_get_bytes
    - wpa_printf
    - wpabuf_put
    - wpabuf_put_u8
    - wpabuf_put_data
    - wpa_hexdump
    - eap_msg_alloc
    - WPA_PUT_BE16
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_mschapv2_build_challenge(\n\tstruct eap_sm *sm,
      struct eap_mschapv2_data *data, u8 id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:156,1
    - Dst: eap_msg_alloc
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:157,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:160,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:166,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:169,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:172,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:173,1
    - Dst: wpa_snprintf_hex_uppercase
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:174,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:175,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:178,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:179,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:180,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:181,1
    - Dst: os_strlen
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:181,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 3
    argNames:
    - sm
    - data
    - id
    argTypes:
    - struct eap_sm*
    - struct eap_mschapv2_data*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 187
    functionName: eap_mschapv2_build_success_req
    functionSourceFile: /src/hostap/src/eap_server/eap_server_mschapv2.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - wpabuf_put
    - wpabuf_put_u8
    - wpabuf_put_data
    - eap_msg_alloc
    - WPA_PUT_BE16
    - wpa_snprintf_hex_uppercase
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_mschapv2_build_success_req(\n\tstruct eap_sm *sm,
      struct eap_mschapv2_data *data, u8 id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:199,1
    - Dst: eap_msg_alloc
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:200,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:203,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:209,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:212,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:214,1
    - Dst: os_strlen
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:214,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:216,1
    - Dst: os_strlen
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - sm
    - data
    - id
    argTypes:
    - struct eap_sm*
    - struct eap_mschapv2_data*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 220
    functionName: eap_mschapv2_build_failure_req
    functionSourceFile: /src/hostap/src/eap_server/eap_server_mschapv2.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - wpabuf_put
    - wpabuf_put_data
    - eap_msg_alloc
    - WPA_PUT_BE16
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_mschapv2_build_failure_req(\n\tstruct eap_sm *sm,
      struct eap_mschapv2_data *data, u8 id)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: eap_mschapv2_build_challenge
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:230,1
    - Dst: eap_mschapv2_build_success_req
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:232,1
    - Dst: eap_mschapv2_build_failure_req
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:234,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - sm
    - priv
    - id
    argTypes:
    - struct eap_sm*
    - void*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 241
    functionName: eap_mschapv2_buildReq
    functionSourceFile: /src/hostap/src/eap_server/eap_server_mschapv2.c
    functionUses: 0
    functionsReached:
    - eap_mschapv2_build_success_req
    - eap_mschapv2_build_challenge
    - wpa_printf
    - eap_mschapv2_build_failure_req
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_mschapv2_buildReq(struct eap_sm *sm, void *priv,\n\t\t\t\t\t
      \    u8 id)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:252,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:255,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:262,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:270,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:277,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - sm
    - priv
    - respData
    argTypes:
    - struct eap_sm*
    - void*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 283
    functionName: eap_mschapv2_check
    functionSourceFile: /src/hostap/src/eap_server/eap_server_mschapv2.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_hdr_validate
    linkageType: ''
    returnType: bool
    signature: "bool eap_mschapv2_check(struct eap_sm *sm, void *priv,\n\t\t\t       struct
      wpabuf *respData)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:300,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:312,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:328,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:332,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:334,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:335,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:336,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:338,1
    - Dst: printf_encode
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:340,1
    - Dst: eap_log_msg
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:341,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:342,1
    - Dst: challenge_hash
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:372,1
    - Dst: eap_server_mschap_rx_callback
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:374,1
    - Dst: os_memcmp
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:382,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:383,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:384,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:386,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:392,1
    - Dst: generate_nt_response_pwhash
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:396,1
    - Dst: generate_nt_response
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:402,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:414,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:418,1
    - Dst: nt_password_hash
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:427,1
    - Dst: generate_authenticator_response_pwhash
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:435,1
    - Dst: hash_nt_password_hash
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:439,1
    - Dst: get_master_key
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:440,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:446,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:449,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:451,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 97
    argCount: 3
    argNames:
    - sm
    - data
    - respData
    argTypes:
    - struct eap_sm*
    - struct eap_mschapv2_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 286
    functionDepth: 4
    functionLinenumber: 286
    functionLinenumberEnd: 454
    functionName: eap_mschapv2_process_response
    functionSourceFile: /src/hostap/src/eap_server/eap_server_mschapv2.c
    functionUses: 0
    functionsReached:
    - eap_server_mschap_rx_callback
    - wpa_hexdump
    - generate_authenticator_response_pwhash
    - hash_nt_password_hash
    - wpa_hexdump_ascii
    - wpa_printf
    - printf_encode
    - os_memcmp
    - nt_password_hash
    - os_free
    - get_master_key
    - wpa_hexdump_buf
    - wpa_hexdump_key
    - generate_nt_response
    - generate_nt_response_pwhash
    - eap_log_msg
    - os_malloc
    - challenge_hash
    - os_memcmp_const
    - eap_hdr_validate
    linkageType: ''
    returnType: void
    signature: "void eap_mschapv2_process_response(struct eap_sm *sm,\n\t\t\t\t\t
      \ struct eap_mschapv2_data *data,\n\t\t\t\t\t  struct wpabuf *respData)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:465,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:473,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:477,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - sm
    - data
    - respData
    argTypes:
    - struct eap_sm*
    - struct eap_mschapv2_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 481
    functionName: eap_mschapv2_process_success_resp
    functionSourceFile: /src/hostap/src/eap_server/eap_server_mschapv2.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_hdr_validate
    linkageType: ''
    returnType: void
    signature: "void eap_mschapv2_process_success_resp(struct eap_sm *sm,\n\t\t\t\t\t
      \     struct eap_mschapv2_data *data,\n\t\t\t\t\t      struct wpabuf *respData)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:492,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:500,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:503,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - sm
    - data
    - respData
    argTypes:
    - struct eap_sm*
    - struct eap_mschapv2_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 508
    functionName: eap_mschapv2_process_failure_resp
    functionSourceFile: /src/hostap/src/eap_server/eap_server_mschapv2.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_hdr_validate
    linkageType: ''
    returnType: void
    signature: "void eap_mschapv2_process_failure_resp(struct eap_sm *sm,\n\t\t\t\t\t
      \     struct eap_mschapv2_data *data,\n\t\t\t\t\t      struct wpabuf *respData)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:517,1
    - Dst: eap_mschapv2_process_response
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:524,1
    - Dst: eap_mschapv2_process_success_resp
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:527,1
    - Dst: eap_mschapv2_process_failure_resp
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:530,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:533,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - sm
    - priv
    - respData
    argTypes:
    - struct eap_sm*
    - void*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 511
    functionDepth: 5
    functionLinenumber: 511
    functionLinenumberEnd: 537
    functionName: eap_mschapv2_process
    functionSourceFile: /src/hostap/src/eap_server/eap_server_mschapv2.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_mschapv2_process_success_resp
    - eap_mschapv2_process_response
    - eap_mschapv2_process_failure_resp
    linkageType: ''
    returnType: void
    signature: "void eap_mschapv2_process(struct eap_sm *sm, void *priv,\n\t\t\t\t
      struct wpabuf *respData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 544
    functionName: eap_mschapv2_isDone
    functionSourceFile: /src/hostap/src/eap_server/eap_server_mschapv2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool eap_mschapv2_isDone(struct eap_sm *sm, void *priv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:557,1
    - Dst: get_asymetric_start_key
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:576,1
    - Dst: get_asymetric_start_key
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:578,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:580,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:583,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 547
    functionDepth: 1
    functionLinenumber: 547
    functionLinenumberEnd: 586
    functionName: eap_mschapv2_getKey
    functionSourceFile: /src/hostap/src/eap_server/eap_server_mschapv2.c
    functionUses: 0
    functionsReached:
    - os_free
    - get_asymetric_start_key
    - os_malloc
    - wpa_hexdump_key
    linkageType: ''
    returnType: u8
    signature: u8 * eap_mschapv2_getKey(struct eap_sm *sm, void *priv, size_t *len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 593
    functionName: eap_mschapv2_isSuccess
    functionSourceFile: /src/hostap/src/eap_server/eap_server_mschapv2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool eap_mschapv2_isSuccess(struct eap_sm *sm, void *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_server_method_alloc
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:600,1
    - Dst: eap_server_method_register
      Src: /src/hostap/src/eap_server/eap_server_mschapv2.c:615,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 596
    functionDepth: 1
    functionLinenumber: 596
    functionLinenumberEnd: 616
    functionName: eap_server_mschapv2_register
    functionSourceFile: /src/hostap/src/eap_server/eap_server_mschapv2.c
    functionUses: 2
    functionsReached:
    - eap_server_method_register
    - eap_server_method_alloc
    linkageType: ''
    returnType: int
    signature: int eap_server_mschapv2_register(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_server/eap_server_pax.c:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 61
    functionName: eap_pax_init
    functionSourceFile: /src/hostap/src/eap_server/eap_server_pax.c
    functionUses: 0
    functionsReached:
    - os_zalloc
    linkageType: ''
    returnType: void
    signature: void * eap_pax_init(struct eap_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_pax.c:67,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/eap_server/eap_server_pax.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: eap_pax_reset
    functionSourceFile: /src/hostap/src/eap_server/eap_server_pax.c
    functionUses: 0
    functionsReached:
    - os_free
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: void eap_pax_reset(struct eap_sm *sm, void *priv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pax.c:79,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/eap_server/eap_server_pax.c:81,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pax.c:82,1
    - Dst: eap_msg_alloc
      Src: /src/hostap/src/eap_server/eap_server_pax.c:87,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pax.c:91,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_server/eap_server_pax.c:97,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/eap_server/eap_server_pax.c:104,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_server/eap_server_pax.c:105,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_pax.c:106,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_server/eap_server_pax.c:109,1
    - Dst: eap_pax_mac
      Src: /src/hostap/src/eap_server/eap_server_pax.c:110,1
    - Dst: wpabuf_mhead
      Src: /src/hostap/src/eap_server/eap_server_pax.c:111,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_pax.c:111,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pax.c:113,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_pax.c:115,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_pax.c:118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 31
    argCount: 3
    argNames:
    - sm
    - data
    - id
    argTypes:
    - struct eap_sm*
    - struct eap_pax_data*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 121
    functionName: eap_pax_build_std_1
    functionSourceFile: /src/hostap/src/eap_server/eap_server_pax.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - random_get_bytes
    - wpabuf_put
    - eap_pax_mac
    - wpabuf_put_data
    - wpa_hexdump
    - wpabuf_len
    - eap_msg_alloc
    - wpabuf_free
    - wpabuf_put_be16
    - wpabuf_mhead
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_pax_build_std_1(struct eap_sm *sm,\n\t\t\t\t\t
      \  struct eap_pax_data *data, u8 id)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pax.c:131,1
    - Dst: eap_msg_alloc
      Src: /src/hostap/src/eap_server/eap_server_pax.c:133,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pax.c:137,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_server/eap_server_pax.c:143,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/eap_server/eap_server_pax.c:150,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_server/eap_server_pax.c:151,1
    - Dst: eap_pax_mac
      Src: /src/hostap/src/eap_server/eap_server_pax.c:152,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pax.c:155,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_pax.c:157,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_pax.c:160,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_server/eap_server_pax.c:165,1
    - Dst: eap_pax_mac
      Src: /src/hostap/src/eap_server/eap_server_pax.c:166,1
    - Dst: wpabuf_mhead
      Src: /src/hostap/src/eap_server/eap_server_pax.c:167,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_pax.c:167,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pax.c:169,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_pax.c:171,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_pax.c:174,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 32
    argCount: 3
    argNames:
    - sm
    - data
    - id
    argTypes:
    - struct eap_sm*
    - struct eap_pax_data*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 177
    functionName: eap_pax_build_std_3
    functionSourceFile: /src/hostap/src/eap_server/eap_server_pax.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put
    - eap_pax_mac
    - wpa_hexdump
    - wpabuf_len
    - eap_msg_alloc
    - wpabuf_free
    - wpabuf_put_be16
    - wpabuf_mhead
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_pax_build_std_3(struct eap_sm *sm,\n\t\t\t\t\t
      \  struct eap_pax_data *data, u8 id)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: eap_pax_build_std_1
      Src: /src/hostap/src/eap_server/eap_server_pax.c:186,1
    - Dst: eap_pax_build_std_3
      Src: /src/hostap/src/eap_server/eap_server_pax.c:188,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pax.c:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - sm
    - priv
    - id
    argTypes:
    - struct eap_sm*
    - void*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 195
    functionName: eap_pax_buildReq
    functionSourceFile: /src/hostap/src/eap_server/eap_server_pax.c
    functionUses: 0
    functionsReached:
    - eap_pax_build_std_3
    - eap_pax_build_std_1
    - wpa_printf
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * eap_pax_buildReq(struct eap_sm *sm, void *priv, u8
      id)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_server/eap_server_pax.c:207,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pax.c:209,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pax.c:216,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_pax.c:221,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pax.c:226,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pax.c:233,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pax.c:240,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pax.c:245,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pax.c:251,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pax.c:258,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pax.c:266,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pax.c:271,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pax.c:277,1
    - Dst: wpabuf_mhead_u8
      Src: /src/hostap/src/eap_server/eap_server_pax.c:280,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_pax.c:281,1
    - Dst: eap_pax_mac
      Src: /src/hostap/src/eap_server/eap_server_pax.c:282,1
    - Dst: wpabuf_mhead
      Src: /src/hostap/src/eap_server/eap_server_pax.c:283,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_pax.c:284,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pax.c:286,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/eap_server/eap_server_pax.c:291,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pax.c:292,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_pax.c:293,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 59
    argCount: 3
    argNames:
    - sm
    - priv
    - respData
    argTypes:
    - struct eap_sm*
    - void*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 300
    functionName: eap_pax_check
    functionSourceFile: /src/hostap/src/eap_server/eap_server_pax.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_pax_mac
    - wpa_hexdump
    - wpabuf_mhead_u8
    - wpabuf_len
    - os_memcmp_const
    - wpabuf_mhead
    - eap_hdr_validate
    linkageType: ''
    returnType: bool
    signature: "bool eap_pax_check(struct eap_sm *sm, void *priv,\n\t\t\t  struct
      wpabuf *respData)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pax.c:316,1
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_server/eap_server_pax.c:318,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_server/eap_server_pax.c:327,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pax.c:328,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_pax.c:333,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_pax.c:334,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_server/eap_server_pax.c:339,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pax.c:340,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_server/eap_server_pax.c:343,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pax.c:345,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_pax.c:349,1
    - Dst: os_memdup
      Src: /src/hostap/src/eap_server/eap_server_pax.c:350,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pax.c:352,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_server/eap_server_pax.c:358,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_server/eap_server_pax.c:362,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pax.c:363,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_pax.c:368,1
    - Dst: eap_user_get
      Src: /src/hostap/src/eap_server/eap_server_pax.c:371,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_server/eap_server_pax.c:372,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_server/eap_server_pax.c:391,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_server/eap_server_pax.c:400,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_pax.c:406,1
    - Dst: eap_pax_initial_key_derivation
      Src: /src/hostap/src/eap_server/eap_server_pax.c:408,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pax.c:411,1
    - Dst: eap_pax_mac
      Src: /src/hostap/src/eap_server/eap_server_pax.c:418,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pax.c:422,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/eap_server/eap_server_pax.c:427,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pax.c:428,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_pax.c:430,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pax.c:440,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_pax.c:444,1
    - Dst: eap_pax_mac
      Src: /src/hostap/src/eap_server/eap_server_pax.c:445,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_server/eap_server_pax.c:446,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_pax.c:447,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pax.c:449,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/eap_server/eap_server_pax.c:453,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pax.c:454,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_pax.c:455,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_pax.c:463,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 105
    argCount: 3
    argNames:
    - sm
    - data
    - respData
    argTypes:
    - struct eap_sm*
    - struct eap_pax_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 468
    functionName: eap_pax_process_std_2
    functionSourceFile: /src/hostap/src/eap_server/eap_server_pax.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - WPA_GET_BE16
    - os_memcpy
    - eap_pax_mac
    - wpa_hexdump
    - wpabuf_len
    - os_memdup
    - wpabuf_head
    - os_memcmp_const
    - eap_pax_initial_key_derivation
    - eap_user_get
    - eap_hdr_validate
    - os_free
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: void
    signature: "void eap_pax_process_std_2(struct eap_sm *sm,\n\t\t\t\t  struct eap_pax_data
      *data,\n\t\t\t\t  struct wpabuf *respData)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pax.c:478,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - sm
    - data
    - respData
    argTypes:
    - struct eap_sm*
    - struct eap_pax_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 481
    functionName: eap_pax_process_ack
    functionSourceFile: /src/hostap/src/eap_server/eap_server_pax.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: "void eap_pax_process_ack(struct eap_sm *sm,\n\t\t\t\tstruct eap_pax_data
      *data,\n\t\t\t\tstruct wpabuf *respData)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pax.c:493,1
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_server/eap_server_pax.c:499,1
    - Dst: eap_pax_process_std_2
      Src: /src/hostap/src/eap_server/eap_server_pax.c:507,1
    - Dst: eap_pax_process_ack
      Src: /src/hostap/src/eap_server/eap_server_pax.c:510,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - sm
    - priv
    - respData
    argTypes:
    - struct eap_sm*
    - void*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 484
    functionDepth: 2
    functionLinenumber: 484
    functionLinenumberEnd: 513
    functionName: eap_pax_process
    functionSourceFile: /src/hostap/src/eap_server/eap_server_pax.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_pax_process_ack
    - eap_pax_process_std_2
    - eap_hdr_validate
    linkageType: ''
    returnType: void
    signature: "void eap_pax_process(struct eap_sm *sm, void *priv,\n\t\t\t    struct
      wpabuf *respData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 520
    functionName: eap_pax_isDone
    functionSourceFile: /src/hostap/src/eap_server/eap_server_pax.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool eap_pax_isDone(struct eap_sm *sm, void *priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/eap_server/eap_server_pax.c:531,1
    - Dst: eap_pax_kdf
      Src: /src/hostap/src/eap_server/eap_server_pax.c:536,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 523
    functionDepth: 1
    functionLinenumber: 523
    functionLinenumberEnd: 541
    functionName: eap_pax_getKey
    functionSourceFile: /src/hostap/src/eap_server/eap_server_pax.c
    functionUses: 0
    functionsReached:
    - eap_pax_kdf
    - os_malloc
    linkageType: ''
    returnType: u8
    signature: u8 * eap_pax_getKey(struct eap_sm *sm, void *priv, size_t *len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/eap_server/eap_server_pax.c:552,1
    - Dst: eap_pax_kdf
      Src: /src/hostap/src/eap_server/eap_server_pax.c:557,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 544
    functionDepth: 1
    functionLinenumber: 544
    functionLinenumberEnd: 563
    functionName: eap_pax_get_emsk
    functionSourceFile: /src/hostap/src/eap_server/eap_server_pax.c
    functionUses: 0
    functionsReached:
    - eap_pax_kdf
    - os_malloc
    linkageType: ''
    returnType: u8
    signature: u8 * eap_pax_get_emsk(struct eap_sm *sm, void *priv, size_t *len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 570
    functionName: eap_pax_isSuccess
    functionSourceFile: /src/hostap/src/eap_server/eap_server_pax.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool eap_pax_isSuccess(struct eap_sm *sm, void *priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/eap_server/eap_server_pax.c:581,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_pax.c:587,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 590
    functionName: eap_pax_get_session_id
    functionSourceFile: /src/hostap/src/eap_server/eap_server_pax.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - os_malloc
    linkageType: ''
    returnType: u8
    signature: u8 * eap_pax_get_session_id(struct eap_sm *sm, void *priv, size_t *len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_server_method_alloc
      Src: /src/hostap/src/eap_server/eap_server_pax.c:597,1
    - Dst: eap_server_method_register
      Src: /src/hostap/src/eap_server/eap_server_pax.c:613,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 593
    functionDepth: 1
    functionLinenumber: 593
    functionLinenumberEnd: 614
    functionName: eap_server_pax_register
    functionSourceFile: /src/hostap/src/eap_server/eap_server_pax.c
    functionUses: 2
    functionsReached:
    - eap_server_method_register
    - eap_server_method_alloc
    linkageType: ''
    returnType: int
    signature: int eap_server_pax_register(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/src/eap_server/eap_sim_db.c:89,1
    - Dst: sqlite3_exec
      Src: /src/hostap/src/eap_server/eap_sim_db.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - db
    - name
    argTypes:
    - sqlite3*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 91
    functionName: db_table_exists
    functionSourceFile: /src/hostap/src/eap_server/eap_sim_db.c
    functionUses: 1
    functionsReached:
    - os_snprintf
    - sqlite3_exec
    linkageType: ''
    returnType: int
    signature: int db_table_exists(sqlite3 *db, const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_sim_db.c:103,1
    - Dst: sqlite3_exec
      Src: /src/hostap/src/eap_server/eap_sim_db.c:105,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_sim_db.c:106,1
    - Dst: sqlite3_free
      Src: /src/hostap/src/eap_server/eap_sim_db.c:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - db
    argTypes:
    - sqlite3*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 112
    functionName: db_table_create_pseudonym
    functionSourceFile: /src/hostap/src/eap_server/eap_sim_db.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - sqlite3_free
    - sqlite3_exec
    linkageType: ''
    returnType: int
    signature: int db_table_create_pseudonym(sqlite3 *db)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_sim_db.c:129,1
    - Dst: sqlite3_exec
      Src: /src/hostap/src/eap_server/eap_sim_db.c:131,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_sim_db.c:132,1
    - Dst: sqlite3_free
      Src: /src/hostap/src/eap_server/eap_sim_db.c:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - db
    argTypes:
    - sqlite3*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 138
    functionName: db_table_create_reauth
    functionSourceFile: /src/hostap/src/eap_server/eap_sim_db.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - sqlite3_free
    - sqlite3_exec
    linkageType: ''
    returnType: int
    signature: int db_table_create_reauth(sqlite3 *db)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_open
      Src: /src/hostap/src/eap_server/eap_sim_db.c:145,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_sim_db.c:146,1
    - Dst: sqlite3_errmsg
      Src: /src/hostap/src/eap_server/eap_sim_db.c:147,1
    - Dst: sqlite3_close
      Src: /src/hostap/src/eap_server/eap_sim_db.c:148,1
    - Dst: db_table_exists
      Src: /src/hostap/src/eap_server/eap_sim_db.c:152,1
    - Dst: db_table_create_pseudonym
      Src: /src/hostap/src/eap_server/eap_sim_db.c:153,1
    - Dst: sqlite3_close
      Src: /src/hostap/src/eap_server/eap_sim_db.c:154,1
    - Dst: db_table_exists
      Src: /src/hostap/src/eap_server/eap_sim_db.c:158,1
    - Dst: db_table_create_reauth
      Src: /src/hostap/src/eap_server/eap_sim_db.c:159,1
    - Dst: sqlite3_close
      Src: /src/hostap/src/eap_server/eap_sim_db.c:160,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - db_file
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 165
    functionName: db_open
    functionSourceFile: /src/hostap/src/eap_server/eap_sim_db.c
    functionUses: 1
    functionsReached:
    - db_table_create_pseudonym
    - wpa_printf
    - sqlite3_close
    - sqlite3_errmsg
    - db_table_create_reauth
    - sqlite3_open
    - db_table_exists
    linkageType: ''
    returnType: sqlite3
    signature: sqlite3 * db_open(const char *db_file)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 178
    functionName: valid_db_string
    functionSourceFile: /src/hostap/src/eap_server/eap_sim_db.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int valid_db_string(const char *str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: valid_db_string
      Src: /src/hostap/src/eap_server/eap_sim_db.c:187,1
    - Dst: valid_db_string
      Src: /src/hostap/src/eap_server/eap_sim_db.c:187,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_sim_db.c:188,1
    - Dst: os_snprintf
      Src: /src/hostap/src/eap_server/eap_sim_db.c:192,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_sim_db.c:195,1
    - Dst: sqlite3_exec
      Src: /src/hostap/src/eap_server/eap_sim_db.c:196,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_sim_db.c:198,1
    - Dst: sqlite3_free
      Src: /src/hostap/src/eap_server/eap_sim_db.c:199,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - data
    - permanent
    - pseudonym
    argTypes:
    - struct eap_sim_db_data*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 204
    functionName: db_add_pseudonym
    functionSourceFile: /src/hostap/src/eap_server/eap_sim_db.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - sqlite3_exec
    - sqlite3_free
    - os_snprintf
    - valid_db_string
    - os_free
    linkageType: ''
    returnType: int
    signature: "int db_add_pseudonym(struct eap_sim_db_data *data,\n\t\t\t    const
      char *permanent, char *pseudonym)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/src/eap_server/eap_sim_db.c:213,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/eap_server/eap_sim_db.c:214,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - argc
    - argv
    - col
    argTypes:
    - void*
    - int
    - char*[]
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 220
    functionName: get_pseudonym_cb
    functionSourceFile: /src/hostap/src/eap_server/eap_sim_db.c
    functionUses: 0
    functionsReached:
    - os_strlcpy
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: int get_pseudonym_cb(void *ctx, int argc, char *argv[], char *col[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: valid_db_string
      Src: /src/hostap/src/eap_server/eap_sim_db.c:228,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_server/eap_sim_db.c:230,1
    - Dst: os_snprintf
      Src: /src/hostap/src/eap_server/eap_sim_db.c:231,1
    - Dst: sqlite3_exec
      Src: /src/hostap/src/eap_server/eap_sim_db.c:234,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - data
    - pseudonym
    argTypes:
    - struct eap_sim_db_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 240
    functionName: db_get_pseudonym
    functionSourceFile: /src/hostap/src/eap_server/eap_sim_db.c
    functionUses: 0
    functionsReached:
    - valid_db_string
    - os_snprintf
    - sqlite3_exec
    - os_memset
    linkageType: ''
    returnType: char
    signature: 'char *

      db_get_pseudonym(struct eap_sim_db_data *data, const char *pseudonym)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: valid_db_string
      Src: /src/hostap/src/eap_server/eap_sim_db.c:250,1
    - Dst: valid_db_string
      Src: /src/hostap/src/eap_server/eap_sim_db.c:250,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_sim_db.c:251,1
    - Dst: os_snprintf
      Src: /src/hostap/src/eap_server/eap_sim_db.c:257,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_sim_db.c:265,1
    - Dst: os_snprintf
      Src: /src/hostap/src/eap_server/eap_sim_db.c:268,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/eap_server/eap_sim_db.c:269,1
    - Dst: os_snprintf
      Src: /src/hostap/src/eap_server/eap_sim_db.c:270,1
    - Dst: os_snprintf
      Src: /src/hostap/src/eap_server/eap_sim_db.c:274,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/eap_server/eap_sim_db.c:275,1
    - Dst: os_snprintf
      Src: /src/hostap/src/eap_server/eap_sim_db.c:277,1
    - Dst: os_snprintf
      Src: /src/hostap/src/eap_server/eap_sim_db.c:281,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/eap_server/eap_sim_db.c:282,1
    - Dst: os_snprintf
      Src: /src/hostap/src/eap_server/eap_sim_db.c:284,1
    - Dst: os_snprintf
      Src: /src/hostap/src/eap_server/eap_sim_db.c:288,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/eap_server/eap_sim_db.c:289,1
    - Dst: os_snprintf
      Src: /src/hostap/src/eap_server/eap_sim_db.c:291,1
    - Dst: os_snprintf
      Src: /src/hostap/src/eap_server/eap_sim_db.c:294,1
    - Dst: sqlite3_exec
      Src: /src/hostap/src/eap_server/eap_sim_db.c:296,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_sim_db.c:298,1
    - Dst: sqlite3_free
      Src: /src/hostap/src/eap_server/eap_sim_db.c:299,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 8
    argNames:
    - data
    - permanent
    - reauth_id
    - counter
    - mk
    - k_encr
    - k_aut
    - k_re
    argTypes:
    - struct eap_sim_db_data*
    - char*
    - char*
    - u16
    - u8*
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 304
    functionName: db_add_reauth
    functionSourceFile: /src/hostap/src/eap_server/eap_sim_db.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_snprintf_hex
    - sqlite3_exec
    - sqlite3_free
    - os_snprintf
    - valid_db_string
    - os_free
    linkageType: ''
    returnType: int
    signature: "int db_add_reauth(struct eap_sim_db_data *data, const char *permanent,\n\t\t\t
      char *reauth_id, u16 counter, const u8 *mk,\n\t\t\t const u8 *k_encr, const
      u8 *k_aut, const u8 *k_re)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/src/eap_server/eap_sim_db.c:314,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/eap_server/eap_sim_db.c:315,1
    - Dst: os_strcmp
      Src: /src/hostap/src/eap_server/eap_sim_db.c:318,1
    - Dst: atoi
      Src: /src/hostap/src/eap_server/eap_sim_db.c:319,1
    - Dst: os_strcmp
      Src: /src/hostap/src/eap_server/eap_sim_db.c:320,1
    - Dst: hexstr2bin
      Src: /src/hostap/src/eap_server/eap_sim_db.c:321,1
    - Dst: os_strcmp
      Src: /src/hostap/src/eap_server/eap_sim_db.c:322,1
    - Dst: hexstr2bin
      Src: /src/hostap/src/eap_server/eap_sim_db.c:323,1
    - Dst: os_strcmp
      Src: /src/hostap/src/eap_server/eap_sim_db.c:325,1
    - Dst: hexstr2bin
      Src: /src/hostap/src/eap_server/eap_sim_db.c:326,1
    - Dst: os_strcmp
      Src: /src/hostap/src/eap_server/eap_sim_db.c:328,1
    - Dst: hexstr2bin
      Src: /src/hostap/src/eap_server/eap_sim_db.c:329,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 4
    argNames:
    - ctx
    - argc
    - argv
    - col
    argTypes:
    - void*
    - int
    - char*[]
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 335
    functionName: get_reauth_cb
    functionSourceFile: /src/hostap/src/eap_server/eap_sim_db.c
    functionUses: 0
    functionsReached:
    - atoi
    - os_strlcpy
    - hexstr2bin
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: int get_reauth_cb(void *ctx, int argc, char *argv[], char *col[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: valid_db_string
      Src: /src/hostap/src/eap_server/eap_sim_db.c:343,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_server/eap_sim_db.c:345,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/eap_server/eap_sim_db.c:346,1
    - Dst: os_snprintf
      Src: /src/hostap/src/eap_server/eap_sim_db.c:349,1
    - Dst: sqlite3_exec
      Src: /src/hostap/src/eap_server/eap_sim_db.c:351,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - data
    - reauth_id
    argTypes:
    - struct eap_sim_db_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 357
    functionName: db_get_reauth
    functionSourceFile: /src/hostap/src/eap_server/eap_sim_db.c
    functionUses: 0
    functionsReached:
    - sqlite3_exec
    - os_strlcpy
    - os_snprintf
    - valid_db_string
    - os_memset
    linkageType: ''
    returnType: struct eap_sim_reauth
    signature: 'struct eap_sim_reauth *

      db_get_reauth(struct eap_sim_db_data *data, const char *reauth_id)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: valid_db_string
      Src: /src/hostap/src/eap_server/eap_sim_db.c:365,1
    - Dst: os_snprintf
      Src: /src/hostap/src/eap_server/eap_sim_db.c:367,1
    - Dst: sqlite3_exec
      Src: /src/hostap/src/eap_server/eap_sim_db.c:370,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - data
    - reauth
    argTypes:
    - struct eap_sim_db_data*
    - struct eap_sim_reauth*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 371
    functionName: db_remove_reauth
    functionSourceFile: /src/hostap/src/eap_server/eap_sim_db.c
    functionUses: 0
    functionsReached:
    - valid_db_string
    - os_snprintf
    - sqlite3_exec
    linkageType: ''
    returnType: void
    signature: "void db_remove_reauth(struct eap_sim_db_data *data,\n\t\t\t     struct
      eap_sim_reauth *reauth)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/src/eap_server/eap_sim_db.c:383,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - data
    - imsi
    - aka
    argTypes:
    - struct eap_sim_db_data*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 394
    functionName: eap_sim_db_get_pending
    functionSourceFile: /src/hostap/src/eap_server/eap_sim_db.c
    functionUses: 0
    functionsReached:
    - os_strcmp
    linkageType: ''
    returnType: struct eap_sim_db_pending
    signature: 'struct eap_sim_db_pending *

      eap_sim_db_get_pending(struct eap_sim_db_data *data, const char *imsi, int aka)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - entry
    argTypes:
    - struct eap_sim_db_data*
    - struct eap_sim_db_pending*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 402
    functionName: eap_sim_db_add_pending
    functionSourceFile: /src/hostap/src/eap_server/eap_sim_db.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void eap_sim_db_add_pending(struct eap_sim_db_data *data,\n\t\t\t\t
      \  struct eap_sim_db_pending *entry)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/eap_server/eap_sim_db.c:408,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/eap_server/eap_sim_db.c:409,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_sim_db.c:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - entry
    argTypes:
    - struct eap_sim_db_data*
    - struct eap_sim_db_pending*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 411
    functionName: eap_sim_db_free_pending
    functionSourceFile: /src/hostap/src/eap_server/eap_sim_db.c
    functionUses: 0
    functionsReached:
    - eloop_cancel_timeout
    - os_free
    linkageType: ''
    returnType: void
    signature: "void eap_sim_db_free_pending(struct eap_sim_db_data *data,\n\t\t\t\t
      \   struct eap_sim_db_pending *entry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_sim_db_free_pending
      Src: /src/hostap/src/eap_server/eap_sim_db.c:422,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - data
    - entry
    argTypes:
    - struct eap_sim_db_data*
    - struct eap_sim_db_pending*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 427
    functionName: eap_sim_db_del_pending
    functionSourceFile: /src/hostap/src/eap_server/eap_sim_db.c
    functionUses: 0
    functionsReached:
    - eap_sim_db_free_pending
    linkageType: ''
    returnType: void
    signature: "void eap_sim_db_del_pending(struct eap_sim_db_data *data,\n\t\t\t\t
      \  struct eap_sim_db_pending *entry)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_sim_db.c:435,1
    - Dst: eap_sim_db_del_pending
      Src: /src/hostap/src/eap_server/eap_sim_db.c:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - eloop_ctx
    - user_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 430
    functionDepth: 2
    functionLinenumber: 430
    functionLinenumberEnd: 437
    functionName: eap_sim_db_del_timeout
    functionSourceFile: /src/hostap/src/eap_server/eap_sim_db.c
    functionUses: 0
    functionsReached:
    - eap_sim_db_del_pending
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void eap_sim_db_del_timeout(void *eloop_ctx, void *user_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_sim_db.c:449,1
    - Dst: struct eap_sim_db_data*::get_complete_cb
      Src: /src/hostap/src/eap_server/eap_sim_db.c:451,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/eap_server/eap_sim_db.c:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - eloop_ctx
    - user_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 453
    functionName: eap_sim_db_query_timeout
    functionSourceFile: /src/hostap/src/eap_server/eap_sim_db.c
    functionUses: 0
    functionsReached:
    - eloop_register_timeout
    - wpa_printf
    - struct eap_sim_db_data*::get_complete_cb
    linkageType: ''
    returnType: void
    signature: void eap_sim_db_query_timeout(void *eloop_ctx, void *user_ctx)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: eap_sim_db_get_pending
      Src: /src/hostap/src/eap_server/eap_sim_db.c:469,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_sim_db.c:471,1
    - Dst: os_strncmp
      Src: /src/hostap/src/eap_server/eap_sim_db.c:477,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_sim_db.c:478,1
    - Dst: eap_sim_db_add_pending
      Src: /src/hostap/src/eap_server/eap_sim_db.c:481,1
    - Dst: struct eap_sim_db_data*::get_complete_cb
      Src: /src/hostap/src/eap_server/eap_sim_db.c:482,1
    - Dst: os_strchr
      Src: /src/hostap/src/eap_server/eap_sim_db.c:488,1
    - Dst: os_strchr
      Src: /src/hostap/src/eap_server/eap_sim_db.c:492,1
    - Dst: hexstr2bin
      Src: /src/hostap/src/eap_server/eap_sim_db.c:496,1
    - Dst: os_strchr
      Src: /src/hostap/src/eap_server/eap_sim_db.c:501,1
    - Dst: hexstr2bin
      Src: /src/hostap/src/eap_server/eap_sim_db.c:505,1
    - Dst: hexstr2bin
      Src: /src/hostap/src/eap_server/eap_sim_db.c:510,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_sim_db.c:523,1
    - Dst: eap_sim_db_add_pending
      Src: /src/hostap/src/eap_server/eap_sim_db.c:525,1
    - Dst: struct eap_sim_db_data*::get_complete_cb
      Src: /src/hostap/src/eap_server/eap_sim_db.c:526,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_sim_db.c:530,1
    - Dst: eap_sim_db_free_pending
      Src: /src/hostap/src/eap_server/eap_sim_db.c:531,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 55
    argCount: 3
    argNames:
    - data
    - imsi
    - buf
    argTypes:
    - struct eap_sim_db_data*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 532
    functionName: eap_sim_db_sim_resp_auth
    functionSourceFile: /src/hostap/src/eap_server/eap_sim_db.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hexstr2bin
    - os_strncmp
    - eap_sim_db_get_pending
    - eap_sim_db_free_pending
    - eap_sim_db_add_pending
    - struct eap_sim_db_data*::get_complete_cb
    - os_strchr
    linkageType: ''
    returnType: void
    signature: "void eap_sim_db_sim_resp_auth(struct eap_sim_db_data *data,\n\t\t\t\t
      \    const char *imsi, char *buf)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: eap_sim_db_get_pending
      Src: /src/hostap/src/eap_server/eap_sim_db.c:547,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_sim_db.c:549,1
    - Dst: os_strncmp
      Src: /src/hostap/src/eap_server/eap_sim_db.c:555,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_sim_db.c:556,1
    - Dst: eap_sim_db_add_pending
      Src: /src/hostap/src/eap_server/eap_sim_db.c:559,1
    - Dst: struct eap_sim_db_data*::get_complete_cb
      Src: /src/hostap/src/eap_server/eap_sim_db.c:560,1
    - Dst: os_strchr
      Src: /src/hostap/src/eap_server/eap_sim_db.c:564,1
    - Dst: hexstr2bin
      Src: /src/hostap/src/eap_server/eap_sim_db.c:568,1
    - Dst: os_strchr
      Src: /src/hostap/src/eap_server/eap_sim_db.c:572,1
    - Dst: hexstr2bin
      Src: /src/hostap/src/eap_server/eap_sim_db.c:576,1
    - Dst: os_strchr
      Src: /src/hostap/src/eap_server/eap_sim_db.c:580,1
    - Dst: hexstr2bin
      Src: /src/hostap/src/eap_server/eap_sim_db.c:584,1
    - Dst: os_strchr
      Src: /src/hostap/src/eap_server/eap_sim_db.c:588,1
    - Dst: hexstr2bin
      Src: /src/hostap/src/eap_server/eap_sim_db.c:592,1
    - Dst: os_strchr
      Src: /src/hostap/src/eap_server/eap_sim_db.c:596,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_sim_db.c:606,1
    - Dst: hexstr2bin
      Src: /src/hostap/src/eap_server/eap_sim_db.c:610,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_sim_db.c:614,1
    - Dst: eap_sim_db_add_pending
      Src: /src/hostap/src/eap_server/eap_sim_db.c:616,1
    - Dst: struct eap_sim_db_data*::get_complete_cb
      Src: /src/hostap/src/eap_server/eap_sim_db.c:617,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_sim_db.c:621,1
    - Dst: eap_sim_db_free_pending
      Src: /src/hostap/src/eap_server/eap_sim_db.c:622,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 76
    argCount: 3
    argNames:
    - data
    - imsi
    - buf
    argTypes:
    - struct eap_sim_db_data*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 535
    functionDepth: 1
    functionLinenumber: 535
    functionLinenumberEnd: 623
    functionName: eap_sim_db_aka_resp_auth
    functionSourceFile: /src/hostap/src/eap_server/eap_sim_db.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hexstr2bin
    - os_strncmp
    - eap_sim_db_get_pending
    - eap_sim_db_free_pending
    - eap_sim_db_add_pending
    - struct eap_sim_db_data*::get_complete_cb
    - os_strchr
    linkageType: ''
    returnType: void
    signature: "void eap_sim_db_aka_resp_auth(struct eap_sim_db_data *data,\n\t\t\t\t
      \    const char *imsi, char *buf)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: recv
      Src: /src/hostap/src/eap_server/eap_sim_db.c:632,1
    - Dst: wpa_hexdump_ascii_key
      Src: /src/hostap/src/eap_server/eap_sim_db.c:636,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_sim_db.c:642,1
    - Dst: os_strchr
      Src: /src/hostap/src/eap_server/eap_sim_db.c:650,1
    - Dst: os_strchr
      Src: /src/hostap/src/eap_server/eap_sim_db.c:655,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_sim_db.c:659,1
    - Dst: os_strcmp
      Src: /src/hostap/src/eap_server/eap_sim_db.c:662,1
    - Dst: eap_sim_db_sim_resp_auth
      Src: /src/hostap/src/eap_server/eap_sim_db.c:663,1
    - Dst: os_strcmp
      Src: /src/hostap/src/eap_server/eap_sim_db.c:664,1
    - Dst: eap_sim_db_aka_resp_auth
      Src: /src/hostap/src/eap_server/eap_sim_db.c:665,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_sim_db.c:667,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_sim_db.c:672,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 3
    argNames:
    - sock
    - eloop_ctx
    - sock_ctx
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 626
    functionDepth: 2
    functionLinenumber: 626
    functionLinenumberEnd: 673
    functionName: eap_sim_db_receive
    functionSourceFile: /src/hostap/src/eap_server/eap_sim_db.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_sim_db_aka_resp_auth
    - recv
    - wpa_hexdump_ascii_key
    - os_strchr
    - os_strcmp
    - eap_sim_db_sim_resp_auth
    linkageType: ''
    returnType: void
    signature: void eap_sim_db_receive(int sock, void *eloop_ctx, void *sock_ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_strncmp
      Src: /src/hostap/src/eap_server/eap_sim_db.c:681,1
    - Dst: socket
      Src: /src/hostap/src/eap_server/eap_sim_db.c:684,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_sim_db.c:686,1
    - Dst: strerror
      Src: /src/hostap/src/eap_server/eap_sim_db.c:686,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_server/eap_sim_db.c:690,1
    - Dst: os_snprintf
      Src: /src/hostap/src/eap_server/eap_sim_db.c:692,1
    - Dst: getpid
      Src: /src/hostap/src/eap_server/eap_sim_db.c:693,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_sim_db.c:694,1
    - Dst: os_strdup
      Src: /src/hostap/src/eap_server/eap_sim_db.c:695,1
    - Dst: close
      Src: /src/hostap/src/eap_server/eap_sim_db.c:697,1
    - Dst: bind
      Src: /src/hostap/src/eap_server/eap_sim_db.c:701,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_sim_db.c:702,1
    - Dst: strerror
      Src: /src/hostap/src/eap_server/eap_sim_db.c:702,1
    - Dst: close
      Src: /src/hostap/src/eap_server/eap_sim_db.c:703,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_server/eap_sim_db.c:708,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/eap_server/eap_sim_db.c:710,1
    - Dst: connect
      Src: /src/hostap/src/eap_server/eap_sim_db.c:711,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_sim_db.c:712,1
    - Dst: strerror
      Src: /src/hostap/src/eap_server/eap_sim_db.c:713,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_server/eap_sim_db.c:714,1
    - Dst: os_strlen
      Src: /src/hostap/src/eap_server/eap_sim_db.c:716,1
    - Dst: close
      Src: /src/hostap/src/eap_server/eap_sim_db.c:717,1
    - Dst: unlink
      Src: /src/hostap/src/eap_server/eap_sim_db.c:719,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_sim_db.c:720,1
    - Dst: eloop_register_read_sock
      Src: /src/hostap/src/eap_server/eap_sim_db.c:725,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 39
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct eap_sim_db_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 728
    functionName: eap_sim_db_open_socket
    functionSourceFile: /src/hostap/src/eap_server/eap_sim_db.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - strerror
    - connect
    - eloop_register_read_sock
    - socket
    - os_strlcpy
    - os_strncmp
    - os_snprintf
    - close
    - getpid
    - os_free
    - unlink
    - bind
    - os_strdup
    - wpa_hexdump_ascii
    - os_memset
    linkageType: ''
    returnType: int
    signature: int eap_sim_db_open_socket(struct eap_sim_db_data *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eloop_unregister_read_sock
      Src: /src/hostap/src/eap_server/eap_sim_db.c:734,1
    - Dst: close
      Src: /src/hostap/src/eap_server/eap_sim_db.c:735,1
    - Dst: unlink
      Src: /src/hostap/src/eap_server/eap_sim_db.c:739,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_sim_db.c:740,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct eap_sim_db_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 743
    functionName: eap_sim_db_close_socket
    functionSourceFile: /src/hostap/src/eap_server/eap_sim_db.c
    functionUses: 0
    functionsReached:
    - unlink
    - eloop_unregister_read_sock
    - os_free
    - close
    linkageType: ''
    returnType: void
    signature: void eap_sim_db_close_socket(struct eap_sim_db_data *data)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_server/eap_sim_db.c:762,1
    - Dst: os_strdup
      Src: /src/hostap/src/eap_server/eap_sim_db.c:770,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_server/eap_sim_db.c:773,1
    - Dst: db_open
      Src: /src/hostap/src/eap_server/eap_sim_db.c:778,1
    - Dst: os_strncmp
      Src: /src/hostap/src/eap_server/eap_sim_db.c:784,1
    - Dst: eap_sim_db_open_socket
      Src: /src/hostap/src/eap_server/eap_sim_db.c:785,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_sim_db.c:786,1
    - Dst: eap_sim_db_close_socket
      Src: /src/hostap/src/eap_server/eap_sim_db.c:795,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_sim_db.c:796,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_sim_db.c:797,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 3
    argNames:
    - config
    - db_timeout
    - ctx
    argTypes:
    - char*
    - unsigned int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 754
    functionDepth: 1
    functionLinenumber: 754
    functionLinenumberEnd: 799
    functionName: eap_sim_db_init
    functionSourceFile: /src/hostap/src/eap_server/eap_sim_db.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_sim_db_close_socket
    - os_strncmp
    - os_strstr
    - os_zalloc
    - db_open
    - os_free
    - eap_sim_db_open_socket
    - os_strdup
    linkageType: ''
    returnType: struct eap_sim_db_data
    signature: "struct eap_sim_db_data *\neap_sim_db_init(const char *config, unsigned
      int db_timeout,\n\t\tvoid (*get_complete_cb)(void *ctx, void *session_ctx),\n\t\tvoid
      *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_sim_db.c:804,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_sim_db.c:805,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_sim_db.c:806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct eap_sim_pseudonym*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 807
    functionName: eap_sim_db_free_pseudonym
    functionSourceFile: /src/hostap/src/eap_server/eap_sim_db.c
    functionUses: 0
    functionsReached:
    - os_free
    linkageType: ''
    returnType: void
    signature: void eap_sim_db_free_pseudonym(struct eap_sim_pseudonym *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_sim_db.c:812,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_sim_db.c:813,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_sim_db.c:814,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - struct eap_sim_reauth*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 815
    functionName: eap_sim_db_free_reauth
    functionSourceFile: /src/hostap/src/eap_server/eap_sim_db.c
    functionUses: 0
    functionsReached:
    - os_free
    linkageType: ''
    returnType: void
    signature: void eap_sim_db_free_reauth(struct eap_sim_reauth *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_close
      Src: /src/hostap/src/eap_server/eap_sim_db.c:831,1
    - Dst: eap_sim_db_close_socket
      Src: /src/hostap/src/eap_server/eap_sim_db.c:836,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_sim_db.c:837,1
    - Dst: eap_sim_db_free_pseudonym
      Src: /src/hostap/src/eap_server/eap_sim_db.c:843,1
    - Dst: eap_sim_db_free_reauth
      Src: /src/hostap/src/eap_server/eap_sim_db.c:850,1
    - Dst: eap_sim_db_free_pending
      Src: /src/hostap/src/eap_server/eap_sim_db.c:857,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_sim_db.c:860,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 822
    functionDepth: 1
    functionLinenumber: 822
    functionLinenumberEnd: 861
    functionName: eap_sim_db_deinit
    functionSourceFile: /src/hostap/src/eap_server/eap_sim_db.c
    functionUses: 0
    functionsReached:
    - eap_sim_db_close_socket
    - eap_sim_db_free_pseudonym
    - eap_sim_db_free_reauth
    - sqlite3_close
    - eap_sim_db_free_pending
    - os_free
    linkageType: ''
    returnType: void
    signature: void eap_sim_db_deinit(void *priv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: send
      Src: /src/hostap/src/eap_server/eap_sim_db.c:869,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_sim_db.c:871,1
    - Dst: strerror
      Src: /src/hostap/src/eap_server/eap_sim_db.c:872,1
    - Dst: eap_sim_db_close_socket
      Src: /src/hostap/src/eap_server/eap_sim_db.c:878,1
    - Dst: eap_sim_db_open_socket
      Src: /src/hostap/src/eap_server/eap_sim_db.c:879,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_sim_db.c:881,1
    - Dst: send
      Src: /src/hostap/src/eap_server/eap_sim_db.c:883,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_sim_db.c:884,1
    - Dst: strerror
      Src: /src/hostap/src/eap_server/eap_sim_db.c:885,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - data
    - msg
    - len
    argTypes:
    - struct eap_sim_db_data*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 864
    functionDepth: 1
    functionLinenumber: 864
    functionLinenumberEnd: 891
    functionName: eap_sim_db_send
    functionSourceFile: /src/hostap/src/eap_server/eap_sim_db.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_sim_db_close_socket
    - strerror
    - send
    - eap_sim_db_open_socket
    linkageType: ''
    returnType: int
    signature: "int eap_sim_db_send(struct eap_sim_db_data *data, const char *msg,\n\t\t\t
      \  size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/eap_server/eap_sim_db.c:897,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - entry
    argTypes:
    - struct eap_sim_db_data*
    - struct eap_sim_db_pending*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 894
    functionDepth: 0
    functionLinenumber: 894
    functionLinenumberEnd: 899
    functionName: eap_sim_db_expire_pending
    functionSourceFile: /src/hostap/src/eap_server/eap_sim_db.c
    functionUses: 0
    functionsReached:
    - eloop_register_timeout
    linkageType: ''
    returnType: void
    signature: "void eap_sim_db_expire_pending(struct eap_sim_db_data *data,\n\t\t\t\t
      \     struct eap_sim_db_pending *entry)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/eap_server/eap_sim_db.c:937,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_sim_db.c:938,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_sim_db.c:943,1
    - Dst: eap_sim_db_get_pending
      Src: /src/hostap/src/eap_server/eap_sim_db.c:946,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_sim_db.c:950,1
    - Dst: eap_sim_db_free_pending
      Src: /src/hostap/src/eap_server/eap_sim_db.c:952,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_sim_db.c:957,1
    - Dst: eap_sim_db_add_pending
      Src: /src/hostap/src/eap_server/eap_sim_db.c:959,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_sim_db.c:963,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_sim_db.c:968,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_sim_db.c:969,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_sim_db.c:971,1
    - Dst: eap_sim_db_free_pending
      Src: /src/hostap/src/eap_server/eap_sim_db.c:972,1
    - Dst: eap_sim_db_open_socket
      Src: /src/hostap/src/eap_server/eap_sim_db.c:977,1
    - Dst: os_strlen
      Src: /src/hostap/src/eap_server/eap_sim_db.c:981,1
    - Dst: os_snprintf
      Src: /src/hostap/src/eap_server/eap_sim_db.c:982,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/eap_server/eap_sim_db.c:983,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_sim_db.c:986,1
    - Dst: os_snprintf
      Src: /src/hostap/src/eap_server/eap_sim_db.c:988,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/eap_server/eap_sim_db.c:989,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_sim_db.c:993,1
    - Dst: eap_sim_db_send
      Src: /src/hostap/src/eap_server/eap_sim_db.c:995,1
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_server/eap_sim_db.c:998,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1002,1
    - Dst: eap_sim_db_add_pending
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1005,1
    - Dst: eap_sim_db_expire_pending
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1006,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1007,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 56
    argCount: 7
    argNames:
    - data
    - username
    - max_chal
    - _rand
    - kc
    - sres
    - cb_session_ctx
    argTypes:
    - struct eap_sim_db_data*
    - char*
    - int
    - u8*
    - u8*
    - u8*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 925
    functionDepth: 2
    functionLinenumber: 925
    functionLinenumberEnd: 1010
    functionName: eap_sim_db_get_gsm_triplets
    functionSourceFile: /src/hostap/src/eap_server/eap_sim_db.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - os_memcpy
    - eap_sim_db_send
    - os_strlcpy
    - eap_sim_db_free_pending
    - eap_sim_db_get_pending
    - os_snprintf
    - os_zalloc
    - eap_sim_db_expire_pending
    - eap_sim_db_add_pending
    - eap_sim_db_open_socket
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int eap_sim_db_get_gsm_triplets(struct eap_sim_db_data *data,\n\t\t\t\tconst
      char *username, int max_chal,\n\t\t\t\tu8 *_rand, u8 *kc, u8 *sres,\n\t\t\t\tvoid
      *cb_session_ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: random_get_bytes
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1018,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1020,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1027,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - data
    - prefix
    argTypes:
    - struct eap_sim_db_data*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1030
      start: 1013
    functionDepth: 1
    functionLinenumber: 1013
    functionLinenumberEnd: 1030
    functionName: eap_sim_db_get_next
    functionSourceFile: /src/hostap/src/eap_server/eap_sim_db.c
    functionUses: 0
    functionsReached:
    - random_get_bytes
    - wpa_snprintf_hex
    - os_malloc
    linkageType: ''
    returnType: char
    signature: char * eap_sim_db_get_next(struct eap_sim_db_data *data, char prefix)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: eap_sim_db_get_next
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1061,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - data
    - method
    argTypes:
    - struct eap_sim_db_data*
    - enum eap_sim_db_method
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1044
    functionDepth: 2
    functionLinenumber: 1044
    functionLinenumberEnd: 1062
    functionName: eap_sim_db_get_next_pseudonym
    functionSourceFile: /src/hostap/src/eap_server/eap_sim_db.c
    functionUses: 0
    functionsReached:
    - eap_sim_db_get_next
    linkageType: ''
    returnType: char
    signature: "char * eap_sim_db_get_next_pseudonym(struct eap_sim_db_data *data,\n\t\t\t\t
      \    enum eap_sim_db_method method)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: eap_sim_db_get_next
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1094,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - data
    - method
    argTypes:
    - struct eap_sim_db_data*
    - enum eap_sim_db_method
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1095
      start: 1077
    functionDepth: 2
    functionLinenumber: 1077
    functionLinenumberEnd: 1095
    functionName: eap_sim_db_get_next_reauth_id
    functionSourceFile: /src/hostap/src/eap_server/eap_sim_db.c
    functionUses: 0
    functionsReached:
    - eap_sim_db_get_next
    linkageType: ''
    returnType: char
    signature: "char * eap_sim_db_get_next_reauth_id(struct eap_sim_db_data *data,\n\t\t\t\t
      \    enum eap_sim_db_method method)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1114,1
    - Dst: db_add_pseudonym
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1120,1
    - Dst: os_strcmp
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1123,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1127,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1129,1
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1134,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1136,1
    - Dst: os_strdup
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1141,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1143,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1144,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1150,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 3
    argNames:
    - data
    - permanent
    - pseudonym
    argTypes:
    - struct eap_sim_db_data*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1110
    functionDepth: 2
    functionLinenumber: 1110
    functionLinenumberEnd: 1152
    functionName: eap_sim_db_add_pseudonym
    functionSourceFile: /src/hostap/src/eap_server/eap_sim_db.c
    functionUses: 0
    functionsReached:
    - os_strdup
    - wpa_printf
    - db_add_pseudonym
    - os_zalloc
    - os_free
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: "int eap_sim_db_add_pseudonym(struct eap_sim_db_data *data,\n\t\t\t
      \    const char *permanent, char *pseudonym)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1163,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1168,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1170,1
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1173,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1175,1
    - Dst: os_strdup
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1180,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1182,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1183,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1188,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 4
    argNames:
    - data
    - permanent
    - reauth_id
    - counter
    argTypes:
    - struct eap_sim_db_data*
    - char*
    - char*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1194
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1194
    functionName: eap_sim_db_add_reauth_data
    functionSourceFile: /src/hostap/src/eap_server/eap_sim_db.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_zalloc
    - os_strcmp
    - os_free
    - os_strdup
    linkageType: ''
    returnType: struct eap_sim_reauth
    signature: "struct eap_sim_reauth *\neap_sim_db_add_reauth_data(struct eap_sim_db_data
      *data,\n\t\t\t   const char *permanent,\n\t\t\t   char *reauth_id, u16 counter)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1218,1
    - Dst: db_add_reauth
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1223,1
    - Dst: eap_sim_db_add_reauth_data
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1226,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - data
    - permanent
    - reauth_id
    - counter
    - mk
    argTypes:
    - struct eap_sim_db_data*
    - char*
    - char*
    - u16
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1233
      start: 1213
    functionDepth: 2
    functionLinenumber: 1213
    functionLinenumberEnd: 1233
    functionName: eap_sim_db_add_reauth
    functionSourceFile: /src/hostap/src/eap_server/eap_sim_db.c
    functionUses: 0
    functionsReached:
    - eap_sim_db_add_reauth_data
    - db_add_reauth
    - wpa_printf
    - os_memcpy
    linkageType: ''
    returnType: int
    signature: "int eap_sim_db_add_reauth(struct eap_sim_db_data *data, const char
      *permanent,\n\t\t\t  char *reauth_id, u16 counter, const u8 *mk)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1261,1
    - Dst: db_add_reauth
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1266,1
    - Dst: eap_sim_db_add_reauth_data
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1269,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1273,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1274,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1275,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 7
    argNames:
    - data
    - permanent
    - reauth_id
    - counter
    - k_encr
    - k_aut
    - k_re
    argTypes:
    - struct eap_sim_db_data*
    - char*
    - char*
    - u16
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1278
      start: 1254
    functionDepth: 2
    functionLinenumber: 1254
    functionLinenumberEnd: 1278
    functionName: eap_sim_db_add_reauth_prime
    functionSourceFile: /src/hostap/src/eap_server/eap_sim_db.c
    functionUses: 0
    functionsReached:
    - eap_sim_db_add_reauth_data
    - db_add_reauth
    - wpa_printf
    - os_memcpy
    linkageType: ''
    returnType: int
    signature: "int eap_sim_db_add_reauth_prime(struct eap_sim_db_data *data,\n\t\t\t\tconst
      char *permanent, char *reauth_id,\n\t\t\t\tu16 counter, const u8 *k_encr,\n\t\t\t\tconst
      u8 *k_aut, const u8 *k_re)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: db_get_pseudonym
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1295,1
    - Dst: os_strcmp
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1300,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - data
    - pseudonym
    argTypes:
    - struct eap_sim_db_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1306
      start: 1288
    functionDepth: 2
    functionLinenumber: 1288
    functionLinenumberEnd: 1306
    functionName: eap_sim_db_get_permanent
    functionSourceFile: /src/hostap/src/eap_server/eap_sim_db.c
    functionUses: 0
    functionsReached:
    - os_strcmp
    - db_get_pseudonym
    linkageType: ''
    returnType: char
    signature: 'char *

      eap_sim_db_get_permanent(struct eap_sim_db_data *data, const char *pseudonym)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: db_get_reauth
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1323,1
    - Dst: os_strcmp
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1328,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - data
    - reauth_id
    argTypes:
    - struct eap_sim_db_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1334
      start: 1315
    functionDepth: 2
    functionLinenumber: 1315
    functionLinenumberEnd: 1334
    functionName: eap_sim_db_get_reauth_entry
    functionSourceFile: /src/hostap/src/eap_server/eap_sim_db.c
    functionUses: 0
    functionsReached:
    - os_strcmp
    - db_get_reauth
    linkageType: ''
    returnType: struct eap_sim_reauth
    signature: "struct eap_sim_reauth *\neap_sim_db_get_reauth_entry(struct eap_sim_db_data
      *data,\n\t\t\t    const char *reauth_id)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: db_remove_reauth
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1349,1
    - Dst: eap_sim_db_free_reauth
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1360,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - data
    - reauth
    argTypes:
    - struct eap_sim_db_data*
    - struct eap_sim_reauth*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1366
      start: 1343
    functionDepth: 2
    functionLinenumber: 1343
    functionLinenumberEnd: 1366
    functionName: eap_sim_db_remove_reauth
    functionSourceFile: /src/hostap/src/eap_server/eap_sim_db.c
    functionUses: 0
    functionsReached:
    - db_remove_reauth
    - eap_sim_db_free_reauth
    linkageType: ''
    returnType: void
    signature: "void eap_sim_db_remove_reauth(struct eap_sim_db_data *data,\n\t\t\t
      \     struct eap_sim_reauth *reauth)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1406,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1407,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1412,1
    - Dst: eap_sim_db_get_pending
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1415,1
    - Dst: eap_sim_db_free_pending
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1418,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1419,1
    - Dst: eap_sim_db_add_pending
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1424,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1425,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1429,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1431,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1432,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1433,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1434,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1435,1
    - Dst: eap_sim_db_free_pending
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1437,1
    - Dst: eap_sim_db_open_socket
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1442,1
    - Dst: os_strlen
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1446,1
    - Dst: os_snprintf
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1447,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1448,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1451,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1454,1
    - Dst: eap_sim_db_send
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1456,1
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1459,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1464,1
    - Dst: eap_sim_db_add_pending
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1467,1
    - Dst: eap_sim_db_expire_pending
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1468,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1469,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 53
    argCount: 9
    argNames:
    - data
    - username
    - _rand
    - autn
    - ik
    - ck
    - res
    - res_len
    - cb_session_ctx
    argTypes:
    - struct eap_sim_db_data*
    - char*
    - u8*
    - u8*
    - u8*
    - u8*
    - u8*
    - size_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1472
      start: 1393
    functionDepth: 2
    functionLinenumber: 1393
    functionLinenumberEnd: 1472
    functionName: eap_sim_db_get_aka_auth
    functionSourceFile: /src/hostap/src/eap_server/eap_sim_db.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - os_memcpy
    - eap_sim_db_send
    - os_strlcpy
    - eap_sim_db_free_pending
    - eap_sim_db_get_pending
    - os_snprintf
    - os_zalloc
    - eap_sim_db_expire_pending
    - eap_sim_db_add_pending
    - eap_sim_db_open_socket
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int eap_sim_db_get_aka_auth(struct eap_sim_db_data *data, const char
      *username,\n\t\t\t    u8 *_rand, u8 *autn, u8 *ik, u8 *ck,\n\t\t\t    u8 *res,
      size_t *res_len, void *cb_session_ctx)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1499,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1500,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1505,1
    - Dst: os_strlen
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1512,1
    - Dst: os_snprintf
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1513,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1514,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1517,1
    - Dst: os_snprintf
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1520,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1521,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1524,1
    - Dst: os_snprintf
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1526,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1527,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1530,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1532,1
    - Dst: eap_sim_db_send
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1534,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 4
    argNames:
    - data
    - username
    - auts
    - _rand
    argTypes:
    - struct eap_sim_db_data*
    - char*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1539
      start: 1489
    functionDepth: 2
    functionLinenumber: 1489
    functionLinenumberEnd: 1539
    functionName: eap_sim_db_resynchronize
    functionSourceFile: /src/hostap/src/eap_server/eap_sim_db.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_memcpy
    - wpa_printf
    - wpa_snprintf_hex
    - eap_sim_db_send
    - os_snprintf
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int eap_sim_db_resynchronize(struct eap_sim_db_data *data,\n\t\t\t
      \    const char *username,\n\t\t\t     const u8 *auts, const u8 *_rand)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dup_binstr
      Src: /src/hostap/src/eap_server/eap_sim_db.c:1562,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - identity
    - identity_len
    argTypes:
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1563
      start: 1550
    functionDepth: 1
    functionLinenumber: 1550
    functionLinenumberEnd: 1563
    functionName: sim_get_username
    functionSourceFile: /src/hostap/src/eap_server/eap_sim_db.c
    functionUses: 0
    functionsReached:
    - dup_binstr
    linkageType: ''
    returnType: char
    signature: char * sim_get_username(const u8 *identity, size_t identity_len)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - state
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 43
    functionName: eap_tls_state_txt
    functionSourceFile: /src/hostap/src/eap_server/eap_server_tls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * eap_tls_state_txt(int state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tls.c:48,1
    - Dst: eap_tls_state_txt
      Src: /src/hostap/src/eap_server/eap_server_tls.c:49,1
    - Dst: eap_tls_state_txt
      Src: /src/hostap/src/eap_server/eap_server_tls.c:50,1
    - Dst: tls_connection_remove_session
      Src: /src/hostap/src/eap_server/eap_server_tls.c:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - data
    - state
    argTypes:
    - struct eap_tls_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 54
    functionName: eap_tls_state
    functionSourceFile: /src/hostap/src/eap_server/eap_server_tls.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_tls_state_txt
    - tls_connection_remove_session
    linkageType: ''
    returnType: void
    signature: void eap_tls_state(struct eap_tls_data *data, int state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eap_server/eap_server_tls.c:64,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server_tls.c:67,1
    - Dst: tls_connection_set_success_data
      Src: /src/hostap/src/eap_server/eap_server_tls.c:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - sm
    - data
    argTypes:
    - struct eap_sm*
    - struct eap_tls_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 69
    functionName: eap_tls_valid_session
    functionSourceFile: /src/hostap/src/eap_server/eap_server_tls.c
    functionUses: 0
    functionsReached:
    - wpabuf_alloc
    - wpabuf_put_u8
    - tls_connection_set_success_data
    linkageType: ''
    returnType: void
    signature: void eap_tls_valid_session(struct eap_sm *sm, struct eap_tls_data *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_server/eap_server_tls.c:76,1
    - Dst: eap_server_tls_ssl_init
      Src: /src/hostap/src/eap_server/eap_server_tls.c:81,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tls.c:82,1
    - Dst: eap_tls_reset
      Src: /src/hostap/src/eap_server/eap_server_tls.c:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 92
    functionName: eap_tls_init
    functionSourceFile: /src/hostap/src/eap_server/eap_server_tls.c
    functionUses: 0
    functionsReached:
    - eap_server_tls_ssl_init
    - os_zalloc
    - wpa_printf
    - eap_tls_reset
    linkageType: ''
    returnType: void
    signature: void * eap_tls_init(struct eap_sm *sm)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_server/eap_server_tls.c:100,1
    - Dst: eap_server_tls_ssl_init
      Src: /src/hostap/src/eap_server/eap_server_tls.c:105,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tls.c:106,1
    - Dst: eap_tls_reset
      Src: /src/hostap/src/eap_server/eap_server_tls.c:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 113
    functionName: eap_unauth_tls_init
    functionSourceFile: /src/hostap/src/eap_server/eap_server_tls.c
    functionUses: 0
    functionsReached:
    - eap_server_tls_ssl_init
    - os_zalloc
    - wpa_printf
    - eap_tls_reset
    linkageType: ''
    returnType: void
    signature: void * eap_unauth_tls_init(struct eap_sm *sm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_server_tls_ssl_deinit
      Src: /src/hostap/src/eap_server/eap_server_tls.c:122,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_tls.c:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 124
    functionName: eap_tls_reset
    functionSourceFile: /src/hostap/src/eap_server/eap_server_tls.c
    functionUses: 2
    functionsReached:
    - os_free
    - eap_server_tls_ssl_deinit
    linkageType: ''
    returnType: void
    signature: void eap_tls_reset(struct eap_sm *sm, void *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_tls_msg_alloc
      Src: /src/hostap/src/eap_server/eap_server_tls.c:132,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tls.c:134,1
    - Dst: eap_tls_state
      Src: /src/hostap/src/eap_server/eap_server_tls.c:136,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server_tls.c:140,1
    - Dst: eap_tls_state
      Src: /src/hostap/src/eap_server/eap_server_tls.c:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - sm
    - data
    - id
    argTypes:
    - struct eap_sm*
    - struct eap_tls_data*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 145
    functionName: eap_tls_build_start
    functionSourceFile: /src/hostap/src/eap_server/eap_server_tls.c
    functionUses: 0
    functionsReached:
    - eap_tls_msg_alloc
    - eap_tls_state
    - wpa_printf
    - wpabuf_put_u8
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_tls_build_start(struct eap_sm *sm,\n\t\t\t\t\t
      \  struct eap_tls_data *data, u8 id)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: eap_server_tls_build_ack
      Src: /src/hostap/src/eap_server/eap_server_tls.c:154,1
    - Dst: eap_server_tls_build_msg
      Src: /src/hostap/src/eap_server/eap_server_tls.c:158,1
    - Dst: eap_tls_build_start
      Src: /src/hostap/src/eap_server/eap_server_tls.c:165,1
    - Dst: tls_connection_established
      Src: /src/hostap/src/eap_server/eap_server_tls.c:167,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tls.c:172,1
    - Dst: eap_server_tls_build_msg
      Src: /src/hostap/src/eap_server/eap_server_tls.c:177,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tls.c:183,1
    - Dst: eap_tls_state
      Src: /src/hostap/src/eap_server/eap_server_tls.c:184,1
    - Dst: eap_tls_valid_session
      Src: /src/hostap/src/eap_server/eap_server_tls.c:185,1
    - Dst: os_snprintf
      Src: /src/hostap/src/eap_server/eap_server_tls.c:190,1
    - Dst: eap_user_get
      Src: /src/hostap/src/eap_server/eap_server_tls.c:192,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tls.c:194,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tls.c:197,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 3
    argNames:
    - sm
    - priv
    - id
    argTypes:
    - struct eap_sm*
    - void*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 148
    functionDepth: 3
    functionLinenumber: 148
    functionLinenumberEnd: 203
    functionName: eap_tls_buildReq
    functionSourceFile: /src/hostap/src/eap_server/eap_server_tls.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_snprintf
    - eap_tls_build_start
    - eap_user_get
    - eap_server_tls_build_msg
    - eap_server_tls_build_ack
    - tls_connection_established
    - eap_tls_state
    - eap_tls_valid_session
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * eap_tls_buildReq(struct eap_sm *sm, void *priv, u8
      id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_server/eap_server_tls.c:214,1
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_server/eap_server_tls.c:218,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tls.c:221,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - sm
    - priv
    - respData
    argTypes:
    - struct eap_sm*
    - void*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 226
    functionName: eap_tls_check
    functionSourceFile: /src/hostap/src/eap_server/eap_server_tls.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_hdr_validate
    linkageType: ''
    returnType: bool
    signature: "bool eap_tls_check(struct eap_sm *sm, void *priv,\n\t\t\t  struct
      wpabuf *respData)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_tls.c:233,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tls.c:234,1
    - Dst: eap_server_tls_phase1
      Src: /src/hostap/src/eap_server/eap_server_tls.c:238,1
    - Dst: eap_tls_state
      Src: /src/hostap/src/eap_server/eap_server_tls.c:239,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - sm
    - priv
    - respData
    argTypes:
    - struct eap_sm*
    - void*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 242
    functionName: eap_tls_process_msg
    functionSourceFile: /src/hostap/src/eap_server/eap_server_tls.c
    functionUses: 0
    functionsReached:
    - wpabuf_len
    - eap_tls_state
    - wpa_printf
    - eap_server_tls_phase1
    linkageType: ''
    returnType: void
    signature: "void eap_tls_process_msg(struct eap_sm *sm, void *priv,\n\t\t\t\tconst
      struct wpabuf *respData)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: eap_server_tls_process
      Src: /src/hostap/src/eap_server/eap_server_tls.c:252,1
    - Dst: eap_tls_state
      Src: /src/hostap/src/eap_server/eap_server_tls.c:255,1
    - Dst: tls_connection_established
      Src: /src/hostap/src/eap_server/eap_server_tls.c:259,1
    - Dst: tls_connection_resumed
      Src: /src/hostap/src/eap_server/eap_server_tls.c:260,1
    - Dst: tls_connection_get_success_data
      Src: /src/hostap/src/eap_server/eap_server_tls.c:263,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_tls.c:264,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tls.c:265,1
    - Dst: eap_tls_state
      Src: /src/hostap/src/eap_server/eap_server_tls.c:267,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_server/eap_server_tls.c:271,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tls.c:273,1
    - Dst: eap_tls_state
      Src: /src/hostap/src/eap_server/eap_server_tls.c:276,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tls.c:280,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/eap_server/eap_server_tls.c:284,1
    - Dst: eap_tls_state
      Src: /src/hostap/src/eap_server/eap_server_tls.c:290,1
    - Dst: tls_connection_set_success_data_resumed
      Src: /src/hostap/src/eap_server/eap_server_tls.c:291,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - sm
    - priv
    - respData
    argTypes:
    - struct eap_sm*
    - void*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 245
    functionDepth: 2
    functionLinenumber: 245
    functionLinenumberEnd: 294
    functionName: eap_tls_process
    functionSourceFile: /src/hostap/src/eap_server/eap_server_tls.c
    functionUses: 0
    functionsReached:
    - eap_server_tls_process
    - wpa_printf
    - tls_connection_get_success_data
    - wpabuf_len
    - wpabuf_head
    - tls_connection_resumed
    - tls_connection_established
    - eap_tls_state
    - tls_connection_set_success_data_resumed
    - wpa_hexdump_buf
    linkageType: ''
    returnType: void
    signature: "void eap_tls_process(struct eap_sm *sm, void *priv,\n\t\t\t    struct
      wpabuf *respData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 301
    functionName: eap_tls_isDone
    functionSourceFile: /src/hostap/src/eap_server/eap_server_tls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool eap_tls_isDone(struct eap_sm *sm, void *priv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: eap_server_tls_derive_key
      Src: /src/hostap/src/eap_server/eap_server_tls.c:323,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_tls.c:328,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_server/eap_server_tls.c:330,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tls.c:332,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 336
    functionName: eap_tls_getKey
    functionSourceFile: /src/hostap/src/eap_server/eap_server_tls.c
    functionUses: 0
    functionsReached:
    - os_memset
    - wpa_printf
    - eap_server_tls_derive_key
    - wpa_hexdump
    linkageType: ''
    returnType: u8
    signature: u8 * eap_tls_getKey(struct eap_sm *sm, void *priv, size_t *len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: eap_server_tls_derive_key
      Src: /src/hostap/src/eap_server/eap_server_tls.c:358,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_server/eap_server_tls.c:362,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_tls.c:364,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/eap_server/eap_server_tls.c:366,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_tls.c:372,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tls.c:375,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 379
    functionName: eap_tls_get_emsk
    functionSourceFile: /src/hostap/src/eap_server/eap_server_tls.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_printf
    - wpa_hexdump
    - os_malloc
    - eap_server_tls_derive_key
    - bin_clear_free
    linkageType: ''
    returnType: u8
    signature: u8 * eap_tls_get_emsk(struct eap_sm *sm, void *priv, size_t *len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 386
    functionName: eap_tls_isSuccess
    functionSourceFile: /src/hostap/src/eap_server/eap_server_tls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool eap_tls_isSuccess(struct eap_sm *sm, void *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_server_tls_derive_session_id
      Src: /src/hostap/src/eap_server/eap_server_tls.c:396,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 398
    functionName: eap_tls_get_session_id
    functionSourceFile: /src/hostap/src/eap_server/eap_server_tls.c
    functionUses: 0
    functionsReached:
    - eap_server_tls_derive_session_id
    linkageType: ''
    returnType: u8
    signature: u8 * eap_tls_get_session_id(struct eap_sm *sm, void *priv, size_t *len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_server_method_alloc
      Src: /src/hostap/src/eap_server/eap_server_tls.c:405,1
    - Dst: eap_server_method_register
      Src: /src/hostap/src/eap_server/eap_server_tls.c:421,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 422
    functionName: eap_server_tls_register
    functionSourceFile: /src/hostap/src/eap_server/eap_server_tls.c
    functionUses: 2
    functionsReached:
    - eap_server_method_register
    - eap_server_method_alloc
    linkageType: ''
    returnType: int
    signature: int eap_server_tls_register(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_server_method_alloc
      Src: /src/hostap/src/eap_server/eap_server_tls.c:430,1
    - Dst: eap_server_method_register
      Src: /src/hostap/src/eap_server/eap_server_tls.c:447,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 448
    functionName: eap_server_unauth_tls_register
    functionSourceFile: /src/hostap/src/eap_server/eap_server_tls.c
    functionUses: 2
    functionsReached:
    - eap_server_method_register
    - eap_server_method_alloc
    linkageType: ''
    returnType: int
    signature: int eap_server_unauth_tls_register(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - state
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 65
    functionName: eap_sim_state_txt
    functionSourceFile: /src/hostap/src/eap_server/eap_server_sim.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * eap_sim_state_txt(int state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sim.c:70,1
    - Dst: eap_sim_state_txt
      Src: /src/hostap/src/eap_server/eap_server_sim.c:71,1
    - Dst: eap_sim_state_txt
      Src: /src/hostap/src/eap_server/eap_server_sim.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - state
    argTypes:
    - struct eap_sim_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: eap_sim_state
    functionSourceFile: /src/hostap/src/eap_server/eap_server_sim.c
    functionUses: 7
    functionsReached:
    - wpa_printf
    - eap_sim_state_txt
    linkageType: ''
    returnType: void
    signature: void eap_sim_state(struct eap_sim_data *data, int state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sim.c:82,1
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_server/eap_server_sim.c:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 92
    functionName: eap_sim_init
    functionSourceFile: /src/hostap/src/eap_server/eap_server_sim.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_zalloc
    linkageType: ''
    returnType: void
    signature: void * eap_sim_init(struct eap_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_sim.c:98,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_sim.c:99,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/eap_server/eap_server_sim.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 101
    functionName: eap_sim_reset
    functionSourceFile: /src/hostap/src/eap_server/eap_server_sim.c
    functionUses: 0
    functionsReached:
    - os_free
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: void eap_sim_reset(struct eap_sm *sm, void *priv)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sim.c:111,1
    - Dst: eap_sim_msg_init
      Src: /src/hostap/src/eap_server/eap_server_sim.c:112,1
    - Dst: sim_get_username
      Src: /src/hostap/src/eap_server/eap_server_sim.c:119,1
    - Dst: eap_sim_db_get_reauth_entry
      Src: /src/hostap/src/eap_server/eap_server_sim.c:121,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_sim.c:125,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sim.c:129,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sim.c:135,1
    - Dst: eap_sim_msg_add
      Src: /src/hostap/src/eap_server/eap_server_sim.c:136,1
    - Dst: eap_sim_msg_free
      Src: /src/hostap/src/eap_server/eap_server_sim.c:139,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sim.c:151,1
    - Dst: eap_sim_msg_add
      Src: /src/hostap/src/eap_server/eap_server_sim.c:152,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sim.c:154,1
    - Dst: eap_sim_msg_add
      Src: /src/hostap/src/eap_server/eap_server_sim.c:155,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sim.c:157,1
    - Dst: eap_sim_msg_add
      Src: /src/hostap/src/eap_server/eap_server_sim.c:160,1
    - Dst: eap_sim_msg_finish
      Src: /src/hostap/src/eap_server/eap_server_sim.c:162,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 3
    argNames:
    - sm
    - data
    - id
    argTypes:
    - struct eap_sm*
    - struct eap_sim_data*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 104
    functionDepth: 3
    functionLinenumber: 104
    functionLinenumberEnd: 163
    functionName: eap_sim_build_start
    functionSourceFile: /src/hostap/src/eap_server/eap_server_sim.c
    functionUses: 0
    functionsReached:
    - eap_sim_msg_finish
    - wpa_printf
    - eap_sim_db_get_reauth_entry
    - eap_sim_msg_free
    - eap_sim_msg_init
    - eap_sim_msg_add
    - sim_get_username
    - os_free
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_sim_build_start(struct eap_sm *sm,\n\t\t\t\t\t
      \  struct eap_sim_data *data, u8 id)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_sim.c:170,1
    - Dst: eap_sim_db_get_next_pseudonym
      Src: /src/hostap/src/eap_server/eap_server_sim.c:176,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_sim.c:182,1
    - Dst: eap_sim_db_get_next_reauth_id
      Src: /src/hostap/src/eap_server/eap_server_sim.c:188,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sim.c:191,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sim.c:200,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sim.c:201,1
    - Dst: eap_sim_msg_add_encr_start
      Src: /src/hostap/src/eap_server/eap_server_sim.c:202,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sim.c:205,1
    - Dst: eap_sim_msg_add
      Src: /src/hostap/src/eap_server/eap_server_sim.c:206,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sim.c:210,1
    - Dst: eap_sim_msg_add
      Src: /src/hostap/src/eap_server/eap_server_sim.c:211,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sim.c:216,1
    - Dst: eap_sim_msg_add
      Src: /src/hostap/src/eap_server/eap_server_sim.c:218,1
    - Dst: os_strlen
      Src: /src/hostap/src/eap_server/eap_server_sim.c:219,1
    - Dst: os_strlen
      Src: /src/hostap/src/eap_server/eap_server_sim.c:221,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sim.c:225,1
    - Dst: eap_sim_msg_add
      Src: /src/hostap/src/eap_server/eap_server_sim.c:227,1
    - Dst: os_strlen
      Src: /src/hostap/src/eap_server/eap_server_sim.c:228,1
    - Dst: os_strlen
      Src: /src/hostap/src/eap_server/eap_server_sim.c:230,1
    - Dst: eap_sim_msg_add_encr_end
      Src: /src/hostap/src/eap_server/eap_server_sim.c:233,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sim.c:234,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 5
    argNames:
    - sm
    - data
    - msg
    - counter
    - nonce_s
    argTypes:
    - struct eap_sm*
    - struct eap_sim_data*
    - struct eap_sim_msg*
    - u16
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 166
    functionDepth: 3
    functionLinenumber: 166
    functionLinenumberEnd: 240
    functionName: eap_sim_build_encr
    functionSourceFile: /src/hostap/src/eap_server/eap_server_sim.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - eap_sim_msg_add_encr_start
    - eap_sim_msg_add_encr_end
    - eap_sim_db_get_next_reauth_id
    - eap_sim_msg_add
    - os_free
    - eap_sim_db_get_next_pseudonym
    linkageType: ''
    returnType: int
    signature: "int eap_sim_build_encr(struct eap_sm *sm, struct eap_sim_data *data,\n\t\t\t
      \     struct eap_sim_msg *msg, u16 counter,\n\t\t\t      const u8 *nonce_s)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sim.c:249,1
    - Dst: eap_sim_msg_init
      Src: /src/hostap/src/eap_server/eap_server_sim.c:250,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sim.c:252,1
    - Dst: eap_sim_msg_add
      Src: /src/hostap/src/eap_server/eap_server_sim.c:253,1
    - Dst: eap_sim_build_encr
      Src: /src/hostap/src/eap_server/eap_server_sim.c:256,1
    - Dst: eap_sim_msg_free
      Src: /src/hostap/src/eap_server/eap_server_sim.c:257,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sim.c:262,1
    - Dst: eap_sim_msg_add
      Src: /src/hostap/src/eap_server/eap_server_sim.c:263,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sim.c:266,1
    - Dst: eap_sim_msg_add_mac
      Src: /src/hostap/src/eap_server/eap_server_sim.c:267,1
    - Dst: eap_sim_msg_finish
      Src: /src/hostap/src/eap_server/eap_server_sim.c:268,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - sm
    - data
    - id
    argTypes:
    - struct eap_sm*
    - struct eap_sim_data*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 243
    functionDepth: 4
    functionLinenumber: 243
    functionLinenumberEnd: 270
    functionName: eap_sim_build_challenge
    functionSourceFile: /src/hostap/src/eap_server/eap_server_sim.c
    functionUses: 0
    functionsReached:
    - eap_sim_msg_finish
    - wpa_printf
    - eap_sim_msg_free
    - eap_sim_build_encr
    - eap_sim_msg_init
    - eap_sim_msg_add
    - eap_sim_msg_add_mac
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_sim_build_challenge(struct eap_sm *sm,\n\t\t\t\t\t
      \      struct eap_sim_data *data,\n\t\t\t\t\t       u8 id)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sim.c:279,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/eap_server/eap_server_sim.c:281,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_server/eap_server_sim.c:283,1
    - Dst: eap_sim_derive_keys
      Src: /src/hostap/src/eap_server/eap_server_sim.c:286,1
    - Dst: eap_sim_derive_keys_reauth
      Src: /src/hostap/src/eap_server/eap_server_sim.c:288,1
    - Dst: eap_sim_msg_init
      Src: /src/hostap/src/eap_server/eap_server_sim.c:292,1
    - Dst: eap_sim_build_encr
      Src: /src/hostap/src/eap_server/eap_server_sim.c:295,1
    - Dst: eap_sim_msg_free
      Src: /src/hostap/src/eap_server/eap_server_sim.c:296,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sim.c:301,1
    - Dst: eap_sim_msg_add
      Src: /src/hostap/src/eap_server/eap_server_sim.c:302,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sim.c:305,1
    - Dst: eap_sim_msg_add_mac
      Src: /src/hostap/src/eap_server/eap_server_sim.c:306,1
    - Dst: eap_sim_msg_finish
      Src: /src/hostap/src/eap_server/eap_server_sim.c:307,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_sim.c:312,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/eap_server/eap_server_sim.c:313,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_sim.c:313,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - sm
    - data
    - id
    argTypes:
    - struct eap_sm*
    - struct eap_sim_data*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 273
    functionDepth: 4
    functionLinenumber: 273
    functionLinenumberEnd: 317
    functionName: eap_sim_build_reauth
    functionSourceFile: /src/hostap/src/eap_server/eap_server_sim.c
    functionUses: 0
    functionsReached:
    - eap_sim_msg_finish
    - wpa_printf
    - wpa_hexdump_key
    - random_get_bytes
    - os_memcpy
    - eap_sim_msg_free
    - wpabuf_head_u8
    - eap_sim_derive_keys_reauth
    - wpabuf_len
    - eap_sim_build_encr
    - eap_sim_derive_keys
    - eap_sim_msg_init
    - eap_sim_msg_add
    - eap_sim_msg_add_mac
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_sim_build_reauth(struct eap_sm *sm,\n\t\t\t\t\t
      \   struct eap_sim_data *data, u8 id)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sim.c:326,1
    - Dst: eap_sim_msg_init
      Src: /src/hostap/src/eap_server/eap_server_sim.c:327,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sim.c:329,1
    - Dst: eap_sim_msg_add
      Src: /src/hostap/src/eap_server/eap_server_sim.c:330,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sim.c:334,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sim.c:335,1
    - Dst: eap_sim_msg_add_encr_start
      Src: /src/hostap/src/eap_server/eap_server_sim.c:336,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sim.c:338,1
    - Dst: eap_sim_msg_add
      Src: /src/hostap/src/eap_server/eap_server_sim.c:340,1
    - Dst: eap_sim_msg_add_encr_end
      Src: /src/hostap/src/eap_server/eap_server_sim.c:343,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sim.c:345,1
    - Dst: eap_sim_msg_free
      Src: /src/hostap/src/eap_server/eap_server_sim.c:347,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sim.c:352,1
    - Dst: eap_sim_msg_add_mac
      Src: /src/hostap/src/eap_server/eap_server_sim.c:353,1
    - Dst: eap_sim_msg_finish
      Src: /src/hostap/src/eap_server/eap_server_sim.c:355,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - sm
    - data
    - id
    argTypes:
    - struct eap_sm*
    - struct eap_sim_data*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 356
    functionName: eap_sim_build_notification
    functionSourceFile: /src/hostap/src/eap_server/eap_server_sim.c
    functionUses: 0
    functionsReached:
    - eap_sim_msg_finish
    - eap_sim_msg_add_encr_start
    - wpa_printf
    - eap_sim_msg_add_encr_end
    - eap_sim_msg_free
    - eap_sim_msg_init
    - eap_sim_msg_add
    - eap_sim_msg_add_mac
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_sim_build_notification(struct eap_sm *sm,\n\t\t\t\t\t\t
      \ struct eap_sim_data *data,\n\t\t\t\t\t\t  u8 id)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: eap_sim_build_start
      Src: /src/hostap/src/eap_server/eap_server_sim.c:365,1
    - Dst: eap_sim_build_challenge
      Src: /src/hostap/src/eap_server/eap_server_sim.c:367,1
    - Dst: eap_sim_build_reauth
      Src: /src/hostap/src/eap_server/eap_server_sim.c:369,1
    - Dst: eap_sim_build_notification
      Src: /src/hostap/src/eap_server/eap_server_sim.c:371,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sim.c:373,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - sm
    - priv
    - id
    argTypes:
    - struct eap_sm*
    - void*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 359
    functionDepth: 5
    functionLinenumber: 359
    functionLinenumberEnd: 378
    functionName: eap_sim_buildReq
    functionSourceFile: /src/hostap/src/eap_server/eap_server_sim.c
    functionUses: 0
    functionsReached:
    - eap_sim_build_notification
    - wpa_printf
    - eap_sim_build_challenge
    - eap_sim_build_start
    - eap_sim_build_reauth
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * eap_sim_buildReq(struct eap_sm *sm, void *priv, u8
      id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_server/eap_server_sim.c:387,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sim.c:389,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - sm
    - priv
    - respData
    argTypes:
    - struct eap_sm*
    - void*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 394
    functionName: eap_sim_check
    functionSourceFile: /src/hostap/src/eap_server/eap_server_sim.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_hdr_validate
    linkageType: ''
    returnType: bool
    signature: "bool eap_sim_check(struct eap_sm *sm, void *priv,\n\t\t\t  struct
      wpabuf *respData)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sim.c:406,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sim.c:413,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sim.c:420,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sim.c:427,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sim.c:433,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 2
    argNames:
    - data
    - subtype
    argTypes:
    - struct eap_sim_data*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 439
    functionName: eap_sim_unexpected_subtype
    functionSourceFile: /src/hostap/src/eap_server/eap_server_sim.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: bool
    signature: "bool eap_sim_unexpected_subtype(struct eap_sim_data *data,\n\t\t\t\t
      \      u8 subtype)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - version
    argTypes:
    - struct eap_sim_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 445
    functionName: eap_sim_supported_ver
    functionSourceFile: /src/hostap/src/eap_server/eap_server_sim.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int eap_sim_supported_ver(struct eap_sim_data *data, int version)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sim.c:459,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sim.c:478,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_server/eap_server_sim.c:483,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_sim.c:486,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_sim.c:488,1
    - Dst: os_strlen
      Src: /src/hostap/src/eap_server/eap_server_sim.c:494,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_server/eap_server_sim.c:499,1
    - Dst: sim_get_username
      Src: /src/hostap/src/eap_server/eap_server_sim.c:501,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sim.c:506,1
    - Dst: eap_sim_db_get_reauth_entry
      Src: /src/hostap/src/eap_server/eap_server_sim.c:508,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_sim.c:510,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sim.c:512,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sim.c:521,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sim.c:523,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/eap_server/eap_server_sim.c:525,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/eap_server/eap_server_sim.c:528,1
    - Dst: eap_sim_db_remove_reauth
      Src: /src/hostap/src/eap_server/eap_server_sim.c:531,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sim.c:538,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/eap_server/eap_server_sim.c:541,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_sim.c:544,1
    - Dst: eap_sim_state
      Src: /src/hostap/src/eap_server/eap_server_sim.c:545,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sim.c:551,1
    - Dst: eap_sim_db_get_permanent
      Src: /src/hostap/src/eap_server/eap_server_sim.c:553,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_sim.c:555,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sim.c:557,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/eap_server/eap_server_sim.c:562,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sim.c:565,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/eap_server/eap_server_sim.c:567,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_sim.c:568,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_sim.c:578,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sim.c:580,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_server/eap_server_sim.c:593,1
    - Dst: base64_decode
      Src: /src/hostap/src/eap_server/eap_server_sim.c:596,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sim.c:598,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_sim.c:602,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/eap_server/eap_server_sim.c:605,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_sim.c:606,1
    - Dst: crypto_rsa_oaep_sha256_decrypt
      Src: /src/hostap/src/eap_server/eap_server_sim.c:609,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_sim.c:611,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sim.c:613,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_server/eap_server_sim.c:617,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_server/eap_server_sim.c:618,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_sim.c:618,1
    - Dst: sim_get_username
      Src: /src/hostap/src/eap_server/eap_server_sim.c:619,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_server/eap_server_sim.c:619,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_sim.c:619,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_sim.c:621,1
    - Dst: os_memdup
      Src: /src/hostap/src/eap_server/eap_server_sim.c:624,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_server/eap_server_sim.c:624,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_sim.c:624,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_sim.c:626,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_sim.c:629,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_sim.c:631,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_sim.c:632,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/eap_server/eap_server_sim.c:633,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_sim.c:634,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sim.c:637,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_sim.c:639,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sim.c:647,1
    - Dst: eap_sim_supported_ver
      Src: /src/hostap/src/eap_server/eap_server_sim.c:652,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sim.c:653,1
    - Dst: eap_sim_db_get_gsm_triplets
      Src: /src/hostap/src/eap_server/eap_server_sim.c:661,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sim.c:665,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sim.c:671,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/eap_server/eap_server_sim.c:677,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sim.c:681,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_server/eap_server_sim.c:685,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_sim.c:688,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/eap_server/eap_server_sim.c:689,1
    - Dst: eap_sim_derive_mk
      Src: /src/hostap/src/eap_server/eap_server_sim.c:690,1
    - Dst: eap_sim_derive_keys
      Src: /src/hostap/src/eap_server/eap_server_sim.c:693,1
    - Dst: eap_sim_state
      Src: /src/hostap/src/eap_server/eap_server_sim.c:696,1
    - Dst: eap_sim_state
      Src: /src/hostap/src/eap_server/eap_server_sim.c:701,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 178
    argCount: 4
    argNames:
    - sm
    - data
    - respData
    - attr
    argTypes:
    - struct eap_sm*
    - struct eap_sim_data*
    - struct wpabuf*
    - struct eap_sim_attrs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 448
    functionDepth: 3
    functionLinenumber: 448
    functionLinenumberEnd: 702
    functionName: eap_sim_process_start
    functionSourceFile: /src/hostap/src/eap_server/eap_server_sim.c
    functionUses: 1
    functionsReached:
    - wpa_hexdump
    - os_strlcpy
    - base64_decode
    - wpa_hexdump_ascii
    - os_strlen
    - wpa_printf
    - os_memdup
    - eap_sim_db_remove_reauth
    - eap_sim_derive_keys
    - eap_sim_db_get_gsm_triplets
    - os_free
    - eap_sim_state
    - eap_sim_derive_mk
    - eap_sim_supported_ver
    - eap_sim_db_get_reauth_entry
    - wpabuf_len
    - os_malloc
    - wpabuf_alloc_copy
    - WPA_PUT_BE16
    - wpabuf_head
    - sim_get_username
    - os_memcpy
    - wpabuf_free
    - crypto_rsa_oaep_sha256_decrypt
    - eap_sim_db_get_permanent
    linkageType: ''
    returnType: void
    signature: "void eap_sim_process_start(struct eap_sm *sm,\n\t\t\t\t  struct eap_sim_data
      *data,\n\t\t\t\t  struct wpabuf *respData,\n\t\t\t\t  struct eap_sim_attrs *attr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: eap_sim_verify_mac
      Src: /src/hostap/src/eap_server/eap_server_sim.c:711,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sim.c:714,1
    - Dst: eap_sim_state
      Src: /src/hostap/src/eap_server/eap_server_sim.c:717,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sim.c:721,1
    - Dst: eap_sim_state
      Src: /src/hostap/src/eap_server/eap_server_sim.c:726,1
    - Dst: eap_sim_state
      Src: /src/hostap/src/eap_server/eap_server_sim.c:728,1
    - Dst: eap_sim_db_add_pseudonym
      Src: /src/hostap/src/eap_server/eap_server_sim.c:731,1
    - Dst: eap_sim_db_add_reauth
      Src: /src/hostap/src/eap_server/eap_server_sim.c:737,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 4
    argNames:
    - sm
    - data
    - respData
    - attr
    argTypes:
    - struct eap_sm*
    - struct eap_sim_data*
    - struct wpabuf*
    - struct eap_sim_attrs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 705
    functionDepth: 3
    functionLinenumber: 705
    functionLinenumberEnd: 742
    functionName: eap_sim_process_challenge
    functionSourceFile: /src/hostap/src/eap_server/eap_server_sim.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - eap_sim_verify_mac
    - eap_sim_db_add_reauth
    - eap_sim_db_add_pseudonym
    - eap_sim_state
    linkageType: ''
    returnType: void
    signature: "void eap_sim_process_challenge(struct eap_sm *sm,\n\t\t\t\t      struct
      eap_sim_data *data,\n\t\t\t\t      struct wpabuf *respData,\n\t\t\t\t      struct
      eap_sim_attrs *attr)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: eap_sim_verify_mac
      Src: /src/hostap/src/eap_server/eap_server_sim.c:754,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sim.c:756,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sim.c:762,1
    - Dst: eap_sim_parse_encr
      Src: /src/hostap/src/eap_server/eap_server_sim.c:767,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sim.c:771,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sim.c:777,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_sim.c:782,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sim.c:785,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sim.c:789,1
    - Dst: eap_sim_state
      Src: /src/hostap/src/eap_server/eap_server_sim.c:793,1
    - Dst: eap_sim_state
      Src: /src/hostap/src/eap_server/eap_server_sim.c:800,1
    - Dst: eap_sim_state
      Src: /src/hostap/src/eap_server/eap_server_sim.c:802,1
    - Dst: eap_sim_db_add_reauth
      Src: /src/hostap/src/eap_server/eap_server_sim.c:805,1
    - Dst: eap_sim_db_remove_reauth
      Src: /src/hostap/src/eap_server/eap_server_sim.c:810,1
    - Dst: eap_sim_state
      Src: /src/hostap/src/eap_server/eap_server_sim.c:819,1
    - Dst: eap_sim_db_remove_reauth
      Src: /src/hostap/src/eap_server/eap_server_sim.c:820,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_sim.c:822,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    argCount: 4
    argNames:
    - sm
    - data
    - respData
    - attr
    argTypes:
    - struct eap_sm*
    - struct eap_sim_data*
    - struct wpabuf*
    - struct eap_sim_attrs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 745
    functionDepth: 3
    functionLinenumber: 745
    functionLinenumberEnd: 823
    functionName: eap_sim_process_reauth
    functionSourceFile: /src/hostap/src/eap_server/eap_server_sim.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_sim_verify_mac
    - eap_sim_db_remove_reauth
    - eap_sim_parse_encr
    - eap_sim_db_add_reauth
    - os_free
    - eap_sim_state
    linkageType: ''
    returnType: void
    signature: "void eap_sim_process_reauth(struct eap_sm *sm,\n\t\t\t\t   struct
      eap_sim_data *data,\n\t\t\t\t   struct wpabuf *respData,\n\t\t\t\t   struct
      eap_sim_attrs *attr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sim.c:831,1
    - Dst: eap_sim_state
      Src: /src/hostap/src/eap_server/eap_server_sim.c:834,1
    - Dst: eap_sim_state
      Src: /src/hostap/src/eap_server/eap_server_sim.c:836,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - sm
    - data
    - respData
    - attr
    argTypes:
    - struct eap_sm*
    - struct eap_sim_data*
    - struct wpabuf*
    - struct eap_sim_attrs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 837
    functionName: eap_sim_process_client_error
    functionSourceFile: /src/hostap/src/eap_server/eap_server_sim.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_sim_state
    linkageType: ''
    returnType: void
    signature: "void eap_sim_process_client_error(struct eap_sm *sm,\n\t\t\t\t\t struct
      eap_sim_data *data,\n\t\t\t\t\t struct wpabuf *respData,\n\t\t\t\t\t struct
      eap_sim_attrs *attr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sim.c:845,1
    - Dst: eap_sim_state
      Src: /src/hostap/src/eap_server/eap_server_sim.c:847,1
    - Dst: eap_sim_state
      Src: /src/hostap/src/eap_server/eap_server_sim.c:849,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - sm
    - data
    - respData
    - attr
    argTypes:
    - struct eap_sm*
    - struct eap_sim_data*
    - struct wpabuf*
    - struct eap_sim_attrs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 850
    functionName: eap_sim_process_notification
    functionSourceFile: /src/hostap/src/eap_server/eap_server_sim.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - eap_sim_state
    linkageType: ''
    returnType: void
    signature: "void eap_sim_process_notification(struct eap_sm *sm,\n\t\t\t\t\t struct
      eap_sim_data *data,\n\t\t\t\t\t struct wpabuf *respData,\n\t\t\t\t\t struct
      eap_sim_attrs *attr)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_server/eap_server_sim.c:862,1
    - Dst: eap_sim_unexpected_subtype
      Src: /src/hostap/src/eap_server/eap_server_sim.c:870,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sim.c:871,1
    - Dst: eap_sim_state
      Src: /src/hostap/src/eap_server/eap_server_sim.c:874,1
    - Dst: eap_sim_parse_attr
      Src: /src/hostap/src/eap_server/eap_server_sim.c:878,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sim.c:879,1
    - Dst: eap_sim_state
      Src: /src/hostap/src/eap_server/eap_server_sim.c:885,1
    - Dst: eap_sim_state
      Src: /src/hostap/src/eap_server/eap_server_sim.c:888,1
    - Dst: eap_sim_process_client_error
      Src: /src/hostap/src/eap_server/eap_server_sim.c:893,1
    - Dst: eap_sim_process_start
      Src: /src/hostap/src/eap_server/eap_server_sim.c:899,1
    - Dst: eap_sim_process_challenge
      Src: /src/hostap/src/eap_server/eap_server_sim.c:902,1
    - Dst: eap_sim_process_reauth
      Src: /src/hostap/src/eap_server/eap_server_sim.c:905,1
    - Dst: eap_sim_process_notification
      Src: /src/hostap/src/eap_server/eap_server_sim.c:908,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sim.c:911,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 3
    argNames:
    - sm
    - priv
    - respData
    argTypes:
    - struct eap_sm*
    - void*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 915
      start: 853
    functionDepth: 4
    functionLinenumber: 853
    functionLinenumberEnd: 915
    functionName: eap_sim_process
    functionSourceFile: /src/hostap/src/eap_server/eap_server_sim.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_sim_unexpected_subtype
    - eap_sim_process_notification
    - eap_sim_process_reauth
    - eap_sim_process_client_error
    - eap_sim_parse_attr
    - eap_hdr_validate
    - eap_sim_process_challenge
    - eap_sim_state
    - eap_sim_process_start
    linkageType: ''
    returnType: void
    signature: "void eap_sim_process(struct eap_sm *sm, void *priv,\n\t\t\t    struct
      wpabuf *respData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 918
    functionDepth: 0
    functionLinenumber: 918
    functionLinenumberEnd: 922
    functionName: eap_sim_isDone
    functionSourceFile: /src/hostap/src/eap_server/eap_server_sim.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool eap_sim_isDone(struct eap_sm *sm, void *priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memdup
      Src: /src/hostap/src/eap_server/eap_server_sim.c:933,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 925
    functionDepth: 0
    functionLinenumber: 925
    functionLinenumberEnd: 938
    functionName: eap_sim_getKey
    functionSourceFile: /src/hostap/src/eap_server/eap_server_sim.c
    functionUses: 0
    functionsReached:
    - os_memdup
    linkageType: ''
    returnType: u8
    signature: u8 * eap_sim_getKey(struct eap_sm *sm, void *priv, size_t *len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memdup
      Src: /src/hostap/src/eap_server/eap_server_sim.c:949,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 941
    functionDepth: 0
    functionLinenumber: 941
    functionLinenumberEnd: 954
    functionName: eap_sim_get_emsk
    functionSourceFile: /src/hostap/src/eap_server/eap_server_sim.c
    functionUses: 0
    functionsReached:
    - os_memdup
    linkageType: ''
    returnType: u8
    signature: u8 * eap_sim_get_emsk(struct eap_sm *sm, void *priv, size_t *len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 957
    functionDepth: 0
    functionLinenumber: 957
    functionLinenumberEnd: 961
    functionName: eap_sim_isSuccess
    functionSourceFile: /src/hostap/src/eap_server/eap_server_sim.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool eap_sim_isSuccess(struct eap_sm *sm, void *priv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/eap_server/eap_server_sim.c:976,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_sim.c:982,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_sim.c:983,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_sim.c:986,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_sim.c:987,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_sim.c:991,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 964
    functionDepth: 0
    functionLinenumber: 964
    functionLinenumberEnd: 994
    functionName: eap_sim_get_session_id
    functionSourceFile: /src/hostap/src/eap_server/eap_server_sim.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - os_malloc
    - wpa_hexdump
    linkageType: ''
    returnType: u8
    signature: u8 * eap_sim_get_session_id(struct eap_sm *sm, void *priv, size_t *len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_server_method_alloc
      Src: /src/hostap/src/eap_server/eap_server_sim.c:1001,1
    - Dst: eap_server_method_register
      Src: /src/hostap/src/eap_server/eap_server_sim.c:1017,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 997
    functionDepth: 1
    functionLinenumber: 997
    functionLinenumberEnd: 1018
    functionName: eap_server_sim_register
    functionSourceFile: /src/hostap/src/eap_server/eap_server_sim.c
    functionUses: 2
    functionsReached:
    - eap_server_method_register
    - eap_server_method_alloc
    linkageType: ''
    returnType: int
    signature: int eap_server_sim_register(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_msg_alloc
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:25,1
    - Dst: eap_msg_alloc
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - type
    - payload_len
    - code
    - identifier
    argTypes:
    - enum eap_type
    - size_t
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 30
    functionName: eap_tls_msg_alloc
    functionSourceFile: /src/hostap/src/eap_server/eap_server_tls_common.c
    functionUses: 3
    functionsReached:
    - eap_msg_alloc
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_tls_msg_alloc(enum eap_type type, size_t payload_len,\n\t\t\t\t
      \ u8 code, u8 identifier)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eap_log_msg
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - msg
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: eap_server_tls_log_cb
    functionSourceFile: /src/hostap/src/eap_server/eap_server_tls_common.c
    functionUses: 0
    functionsReached:
    - eap_log_msg
    linkageType: ''
    returnType: void
    signature: void eap_server_tls_log_cb(void *ctx, const char *msg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:49,1
    - Dst: tls_connection_init
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:56,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:58,1
    - Dst: tls_connection_set_log_cb
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:64,1
    - Dst: tls_connection_set_test_flags
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:66,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:72,1
    - Dst: tls_connection_set_verify
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:74,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:77,1
    - Dst: tls_connection_deinit
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:79,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 4
    argNames:
    - sm
    - data
    - verify_peer
    - eap_type
    argTypes:
    - struct eap_sm*
    - struct eap_ssl_data*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 99
    functionName: eap_server_tls_ssl_init
    functionSourceFile: /src/hostap/src/eap_server/eap_server_tls_common.c
    functionUses: 3
    functionsReached:
    - tls_connection_set_test_flags
    - wpa_printf
    - tls_connection_init
    - os_memcpy
    - tls_connection_set_log_cb
    - tls_connection_deinit
    - tls_connection_set_verify
    linkageType: ''
    returnType: int
    signature: "int eap_server_tls_ssl_init(struct eap_sm *sm, struct eap_ssl_data
      *data,\n\t\t\t    int verify_peer, int eap_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tls_connection_deinit
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:104,1
    - Dst: eap_server_tls_free_in_buf
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:105,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - sm
    - data
    argTypes:
    - struct eap_sm*
    - struct eap_ssl_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 108
    functionName: eap_server_tls_ssl_deinit
    functionSourceFile: /src/hostap/src/eap_server/eap_server_tls_common.c
    functionUses: 2
    functionsReached:
    - wpabuf_free
    - eap_server_tls_free_in_buf
    - tls_connection_deinit
    linkageType: ''
    returnType: void
    signature: void eap_server_tls_ssl_deinit(struct eap_sm *sm, struct eap_ssl_data
      *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:117,1
    - Dst: tls_connection_export_key
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:121,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 6
    argNames:
    - sm
    - data
    - label
    - context
    - context_len
    - len
    argTypes:
    - struct eap_sm*
    - struct eap_ssl_data*
    - char*
    - u8*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 128
    functionName: eap_server_tls_derive_key
    functionSourceFile: /src/hostap/src/eap_server/eap_server_tls_common.c
    functionUses: 5
    functionsReached:
    - os_free
    - os_malloc
    - tls_connection_export_key
    linkageType: ''
    returnType: u8
    signature: "u8 * eap_server_tls_derive_key(struct eap_sm *sm, struct eap_ssl_data
      *data,\n\t\t\t       const char *label, const u8 *context,\n\t\t\t       size_t
      context_len, size_t len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:160,1
    - Dst: eap_server_tls_derive_key
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:163,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:166,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:170,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:171,1
    - Dst: tls_connection_get_random
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:175,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:182,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:188,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:189,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 4
    argNames:
    - sm
    - data
    - eap_type
    - len
    argTypes:
    - struct eap_sm*
    - struct eap_ssl_data*
    - u8
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 193
    functionName: eap_server_tls_derive_session_id
    functionSourceFile: /src/hostap/src/eap_server/eap_server_tls_common.c
    functionUses: 2
    functionsReached:
    - os_memcpy
    - os_malloc
    - eap_server_tls_derive_key
    - tls_connection_get_random
    - os_free
    linkageType: ''
    returnType: u8
    signature: "u8 * eap_server_tls_derive_session_id(struct eap_sm *sm,\n\t\t\t\t
      \     struct eap_ssl_data *data, u8 eap_type,\n\t\t\t\t      size_t *len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:203,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:205,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:210,1
    - Dst: eap_tls_msg_alloc
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:224,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:228,1
    - Dst: wpabuf_put_be32
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:230,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:230,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:232,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:232,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:236,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:237,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:240,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:245,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:247,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 4
    argNames:
    - data
    - eap_type
    - version
    - id
    argTypes:
    - struct eap_ssl_data*
    - int
    - int
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 253
    functionName: eap_server_tls_build_msg
    functionSourceFile: /src/hostap/src/eap_server/eap_server_tls_common.c
    functionUses: 2
    functionsReached:
    - eap_tls_msg_alloc
    - wpa_printf
    - wpabuf_head_u8
    - wpabuf_put_u8
    - wpabuf_put_data
    - wpabuf_len
    - wpabuf_free
    - wpabuf_put_be32
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_server_tls_build_msg(struct eap_ssl_data *data,\n\t\t\t\t\t
      int eap_type, int version, u8 id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_tls_msg_alloc
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:260,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:263,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - id
    - eap_type
    - version
    argTypes:
    - u8
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 266
    functionName: eap_server_tls_build_ack
    functionSourceFile: /src/hostap/src/eap_server/eap_server_tls_common.c
    functionUses: 2
    functionsReached:
    - eap_tls_msg_alloc
    - wpa_printf
    - wpabuf_put_u8
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * eap_server_tls_build_ack(u8 id, int eap_type, int version)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_tailroom
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:273,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:274,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:278,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:279,1
    - Dst: wpabuf_tailroom
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - data
    - buf
    - len
    argTypes:
    - struct eap_ssl_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 284
    functionName: eap_server_tls_process_cont
    functionSourceFile: /src/hostap/src/eap_server/eap_server_tls_common.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put_data
    - wpabuf_tailroom
    linkageType: ''
    returnType: int
    signature: "int eap_server_tls_process_cont(struct eap_ssl_data *data,\n\t\t\t\t
      \      const u8 *buf, size_t len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:293,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:304,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:310,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:317,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:319,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:322,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:323,1
    - Dst: wpabuf_tailroom
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:326,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 5
    argNames:
    - data
    - flags
    - message_length
    - buf
    - len
    argTypes:
    - struct eap_ssl_data*
    - u8
    - u32
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 330
    functionName: eap_server_tls_process_fragment
    functionSourceFile: /src/hostap/src/eap_server/eap_server_tls_common.c
    functionUses: 0
    functionsReached:
    - wpabuf_tailroom
    - wpa_printf
    - wpabuf_put_data
    - wpabuf_alloc
    linkageType: ''
    returnType: int
    signature: "int eap_server_tls_process_fragment(struct eap_ssl_data *data,\n\t\t\t\t\t
      \  u8 flags, u32 message_length,\n\t\t\t\t\t   const u8 *buf, size_t len)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:339,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:341,1
    - Dst: WPA_ASSERT
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:342,1
    - Dst: tls_connection_server_handshake
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:345,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:349,1
    - Dst: tls_connection_get_failed
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:352,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:354,1
    - Dst: tls_get_version
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:359,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:361,1
    - Dst: os_strcmp
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:362,1
    - Dst: tls_connection_established
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:366,1
    - Dst: tls_connection_peer_serial_num
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:367,1
    - Dst: tls_connection_established
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:382,1
    - Dst: tls_connection_resumed
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:389,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:396,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:401,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:404,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:407,1
    - Dst: eap_server_tls_encrypt
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:408,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:409,1
    - Dst: wpabuf_resize
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:412,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:412,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:414,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:416,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:419,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:420,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:423,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 53
    argCount: 2
    argNames:
    - sm
    - data
    argTypes:
    - struct eap_sm*
    - struct eap_ssl_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 428
    functionName: eap_server_tls_phase1
    functionSourceFile: /src/hostap/src/eap_server/eap_server_tls_common.c
    functionUses: 2
    functionsReached:
    - tls_connection_server_handshake
    - wpa_printf
    - wpabuf_resize
    - wpabuf_put_u8
    - wpabuf_len
    - eap_server_tls_encrypt
    - wpabuf_free
    - tls_connection_get_failed
    - tls_connection_peer_serial_num
    - wpabuf_alloc
    - tls_get_version
    - tls_connection_resumed
    - tls_connection_established
    - wpabuf_put_buf
    - WPA_ASSERT
    - os_strcmp
    - wpa_hexdump_buf
    linkageType: ''
    returnType: int
    signature: int eap_server_tls_phase1(struct eap_sm *sm, struct eap_ssl_data *data)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:437,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:441,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:445,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:446,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:452,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:459,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:464,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:468,1
    - Dst: eap_server_tls_process_cont
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:473,1
    - Dst: eap_server_tls_process_fragment
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:477,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:486,1
    - Dst: wpabuf_set
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:492,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 4
    argNames:
    - data
    - flags
    - pos
    - left
    argTypes:
    - struct eap_ssl_data*
    - u8
    - u8**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 431
    functionDepth: 2
    functionLinenumber: 431
    functionLinenumberEnd: 497
    functionName: eap_server_tls_reassemble
    functionSourceFile: /src/hostap/src/eap_server/eap_server_tls_common.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    - wpabuf_set
    - eap_server_tls_process_fragment
    - eap_server_tls_process_cont
    - WPA_GET_BE32
    linkageType: ''
    returnType: int
    signature: "int eap_server_tls_reassemble(struct eap_ssl_data *data, u8 flags,\n\t\t\t\t
      \    const u8 **pos, size_t *left)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:503,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct eap_ssl_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 505
    functionName: eap_server_tls_free_in_buf
    functionSourceFile: /src/hostap/src/eap_server/eap_server_tls_common.c
    functionUses: 1
    functionsReached:
    - wpabuf_free
    linkageType: ''
    returnType: void
    signature: void eap_server_tls_free_in_buf(struct eap_ssl_data *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tls_connection_encrypt
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:514,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:516,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - sm
    - data
    - plain
    argTypes:
    - struct eap_sm*
    - struct eap_ssl_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 521
    functionName: eap_server_tls_encrypt
    functionSourceFile: /src/hostap/src/eap_server/eap_server_tls_common.c
    functionUses: 5
    functionsReached:
    - tls_connection_encrypt
    - wpa_printf
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_server_tls_encrypt(struct eap_sm *sm,\n\t\t\t\t
      \      struct eap_ssl_data *data,\n\t\t\t\t       const struct wpabuf *plain)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:537,1
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:541,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:547,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:548,1
    - Dst: proc_version
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:551,1
    - Dst: eap_server_tls_reassemble
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:554,1
    - Dst: proc_msg
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:562,1
    - Dst: tls_connection_get_write_alerts
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:564,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:565,1
    - Dst: eap_server_tls_free_in_buf
      Src: /src/hostap/src/eap_server/eap_server_tls_common.c:571,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 5
    argNames:
    - sm
    - data
    - respData
    - priv
    - eap_type
    argTypes:
    - struct eap_sm*
    - struct eap_ssl_data*
    - struct wpabuf*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 524
    functionDepth: 3
    functionLinenumber: 524
    functionLinenumberEnd: 574
    functionName: eap_server_tls_process
    functionSourceFile: /src/hostap/src/eap_server/eap_server_tls_common.c
    functionUses: 2
    functionsReached:
    - proc_version
    - wpa_printf
    - wpabuf_len
    - proc_msg
    - tls_connection_get_write_alerts
    - eap_server_tls_free_in_buf
    - eap_hdr_validate
    - eap_server_tls_reassemble
    linkageType: ''
    returnType: int
    signature: "int eap_server_tls_process(struct eap_sm *sm, struct eap_ssl_data
      *data,\n\t\t\t   struct wpabuf *respData, void *priv, int eap_type,\n\t\t\t
      \  int (*proc_version)(struct eap_sm *sm, void *priv,\n\t\t\t\t\t       int
      peer_version),\n\t\t\t   void (*proc_msg)(struct eap_sm *sm, void *priv,\n\t\t\t\t\t
      \   const struct wpabuf *respData))"
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - state
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 74
    functionName: eap_pwd_state_txt
    functionSourceFile: /src/hostap/src/eap_server/eap_server_pwd.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * eap_pwd_state_txt(int state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:79,1
    - Dst: eap_pwd_state_txt
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:80,1
    - Dst: eap_pwd_state_txt
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - state
    argTypes:
    - struct eap_pwd_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: eap_pwd_state
    functionSourceFile: /src/hostap/src/eap_server/eap_server_pwd.c
    functionUses: 4
    functionsReached:
    - wpa_printf
    - eap_pwd_state_txt
    linkageType: ''
    returnType: void
    signature: void eap_pwd_state(struct eap_pwd_data *data, int state)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:91,1
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:96,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:101,1
    - Dst: os_strdup
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:105,1
    - Dst: os_strlen
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:107,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:109,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:111,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:113,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:114,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:118,1
    - Dst: os_memdup
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:123,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:125,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:127,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:128,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:129,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 140
    functionName: eap_pwd_init
    functionSourceFile: /src/hostap/src/eap_server/eap_server_pwd.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - os_memcpy
    - os_memdup
    - os_malloc
    - os_zalloc
    - os_free
    - os_strdup
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: void * eap_pwd_init(struct eap_sm *sm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:147,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:148,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:149,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:150,1
    - Dst: crypto_ec_point_deinit
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:151,1
    - Dst: crypto_ec_point_deinit
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:152,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:153,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:154,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:155,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:156,1
    - Dst: crypto_ec_deinit
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:158,1
    - Dst: crypto_ec_point_deinit
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:159,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:160,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:162,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:163,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 165
    functionName: eap_pwd_reset
    functionSourceFile: /src/hostap/src/eap_server/eap_server_pwd.c
    functionUses: 0
    functionsReached:
    - crypto_ec_point_deinit
    - crypto_ec_deinit
    - wpabuf_free
    - crypto_bignum_deinit
    - os_free
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: void eap_pwd_reset(struct eap_sm *sm, void *priv)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:171,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:178,1
    - Dst: eap_pwd_state
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:181,1
    - Dst: os_get_random
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:185,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:186,1
    - Dst: eap_pwd_state
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:188,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:192,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:195,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:214,1
    - Dst: eap_pwd_state
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:217,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:226,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:227,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:228,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:229,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:230,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:231,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 3
    argNames:
    - sm
    - data
    - id
    argTypes:
    - struct eap_sm*
    - struct eap_pwd_data*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 232
    functionName: eap_pwd_build_id_req
    functionSourceFile: /src/hostap/src/eap_server/eap_server_pwd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump_key
    - wpa_hexdump
    - wpabuf_put_u8
    - wpabuf_put_data
    - wpabuf_free
    - eap_pwd_state
    - os_get_random
    - wpabuf_put_be16
    - wpabuf_alloc
    linkageType: ''
    returnType: void
    signature: "void eap_pwd_build_id_req(struct eap_sm *sm, struct eap_pwd_data *data,\n\t\t\t\t
      u8 id)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:242,1
    - Dst: crypto_ec_prime_len
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:250,1
    - Dst: crypto_ec_order_len
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:251,1
    - Dst: crypto_bignum_init
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:253,1
    - Dst: crypto_ec_point_init
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:254,1
    - Dst: crypto_bignum_init
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:255,1
    - Dst: crypto_bignum_init
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:256,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:259,1
    - Dst: eap_pwd_get_rand_mask
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:264,1
    - Dst: crypto_ec_point_mul
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:268,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:270,1
    - Dst: eap_pwd_state
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:272,1
    - Dst: crypto_ec_point_invert
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:276,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:277,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:282,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:289,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:290,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:294,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:295,1
    - Dst: crypto_bignum_to_bin
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:296,1
    - Dst: crypto_ec_point_to_bin
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:300,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:302,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:308,1
    - Dst: eap_pwd_state
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:310,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 52
    argCount: 3
    argNames:
    - sm
    - data
    - id
    argTypes:
    - struct eap_sm*
    - struct eap_pwd_data*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 311
    functionName: eap_pwd_build_commit_req
    functionSourceFile: /src/hostap/src/eap_server/eap_server_pwd.c
    functionUses: 0
    functionsReached:
    - crypto_bignum_to_bin
    - wpa_printf
    - wpabuf_put
    - crypto_bignum_init
    - wpabuf_put_u8
    - wpabuf_put_data
    - eap_pwd_state
    - crypto_ec_point_invert
    - crypto_bignum_deinit
    - eap_pwd_get_rand_mask
    - wpabuf_alloc
    - crypto_ec_point_init
    - crypto_ec_point_mul
    - crypto_ec_prime_len
    - crypto_ec_point_to_bin
    - crypto_ec_order_len
    linkageType: ''
    returnType: void
    signature: "void eap_pwd_build_commit_req(struct eap_sm *sm,\n\t\t\t\t     struct
      eap_pwd_data *data, u8 id)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:322,1
    - Dst: crypto_ec_prime_len
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:330,1
    - Dst: crypto_ec_order_len
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:331,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:334,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:336,1
    - Dst: eap_pwd_h_init
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:345,1
    - Dst: crypto_bignum_to_bin
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:355,1
    - Dst: eap_pwd_h_update
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:358,1
    - Dst: crypto_ec_point_to_bin
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:361,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:363,1
    - Dst: eap_pwd_h_update
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:367,1
    - Dst: crypto_bignum_to_bin
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:370,1
    - Dst: eap_pwd_h_update
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:374,1
    - Dst: crypto_ec_point_to_bin
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:377,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:379,1
    - Dst: eap_pwd_h_update
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:383,1
    - Dst: crypto_bignum_to_bin
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:386,1
    - Dst: eap_pwd_h_update
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:390,1
    - Dst: htons
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:393,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:394,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:396,1
    - Dst: eap_pwd_h_update
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:402,1
    - Dst: eap_pwd_h_final
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:405,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:407,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:409,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:413,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:416,1
    - Dst: eap_pwd_state
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:418,1
    - Dst: eap_pwd_h_final
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:419,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 64
    argCount: 3
    argNames:
    - sm
    - data
    - id
    argTypes:
    - struct eap_sm*
    - struct eap_pwd_data*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 420
    functionName: eap_pwd_build_confirm_req
    functionSourceFile: /src/hostap/src/eap_server/eap_server_pwd.c
    functionUses: 0
    functionsReached:
    - crypto_bignum_to_bin
    - wpa_printf
    - os_memcpy
    - htons
    - wpabuf_put_data
    - eap_pwd_h_init
    - eap_pwd_h_update
    - os_malloc
    - eap_pwd_state
    - eap_pwd_h_final
    - bin_clear_free
    - wpabuf_alloc
    - crypto_ec_prime_len
    - crypto_ec_point_to_bin
    - crypto_ec_order_len
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void eap_pwd_build_confirm_req(struct eap_sm *sm,\n\t\t\t\t      struct
      eap_pwd_data *data, u8 id)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:437,1
    - Dst: eap_msg_alloc
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:438,1
    - Dst: eap_pwd_state
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:441,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:446,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:449,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:452,1
    - Dst: eap_pwd_state
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:455,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:456,1
    - Dst: eap_pwd_build_id_req
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:467,1
    - Dst: eap_pwd_build_commit_req
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:471,1
    - Dst: eap_pwd_build_confirm_req
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:475,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:479,1
    - Dst: eap_pwd_state
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:481,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:492,1
    - Dst: EAP_PWD_SET_MORE_BIT
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:495,1
    - Dst: EAP_PWD_SET_LENGTH_BIT
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:501,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:502,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:505,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:508,1
    - Dst: eap_msg_alloc
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:515,1
    - Dst: eap_pwd_state
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:520,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:524,1
    - Dst: EAP_PWD_GET_LENGTH_BIT
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:525,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:526,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:528,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:529,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:534,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:535,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 75
    argCount: 3
    argNames:
    - sm
    - priv
    - id
    argTypes:
    - struct eap_sm*
    - void*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 423
    functionDepth: 2
    functionLinenumber: 423
    functionLinenumberEnd: 541
    functionName: eap_pwd_build_req
    functionSourceFile: /src/hostap/src/eap_server/eap_server_pwd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_head_u8
    - wpabuf_put_u8
    - wpabuf_put_data
    - wpabuf_len
    - eap_pwd_build_id_req
    - eap_pwd_build_commit_req
    - wpabuf_free
    - eap_msg_alloc
    - eap_pwd_state
    - wpabuf_put_be16
    - EAP_PWD_GET_LENGTH_BIT
    - EAP_PWD_SET_LENGTH_BIT
    - EAP_PWD_SET_MORE_BIT
    - eap_pwd_build_confirm_req
    linkageType: ''
    returnType: struct wpabuf
    signature: 'struct wpabuf *

      eap_pwd_build_req(struct eap_sm *sm, void *priv, u8 id)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:551,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:553,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:557,1
    - Dst: EAP_PWD_GET_EXCHANGE
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:558,1
    - Dst: EAP_PWD_GET_EXCHANGE
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:561,1
    - Dst: EAP_PWD_GET_EXCHANGE
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:565,1
    - Dst: EAP_PWD_GET_EXCHANGE
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:569,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:572,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 3
    argNames:
    - sm
    - priv
    - respData
    argTypes:
    - struct eap_sm*
    - void*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 544
    functionDepth: 1
    functionLinenumber: 544
    functionLinenumberEnd: 576
    functionName: eap_pwd_check
    functionSourceFile: /src/hostap/src/eap_server/eap_server_pwd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - EAP_PWD_GET_EXCHANGE
    - eap_hdr_validate
    linkageType: ''
    returnType: bool
    signature: "bool eap_pwd_check(struct eap_sm *sm, void *priv,\n\t\t\t  struct
      wpabuf *respData)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:590,1
    - Dst: be_to_host16
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:595,1
    - Dst: os_memcmp
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:597,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:600,1
    - Dst: eap_pwd_state
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:601,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:605,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:608,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:610,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:614,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:615,1
    - Dst: get_eap_pwd_group
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:618,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:620,1
    - Dst: hash_nt_password_hash
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:631,1
    - Dst: compute_password_element
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:641,1
    - Dst: forced_memzero
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:646,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:648,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:652,1
    - Dst: crypto_ec_prime_len_bits
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:653,1
    - Dst: eap_pwd_state
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:655,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 4
    argNames:
    - sm
    - data
    - payload
    - payload_len
    argTypes:
    - struct eap_sm*
    - struct eap_pwd_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 656
    functionName: eap_pwd_process_id_resp
    functionSourceFile: /src/hostap/src/eap_server/eap_server_pwd.c
    functionUses: 0
    functionsReached:
    - be_to_host16
    - wpa_printf
    - os_memcpy
    - forced_memzero
    - eap_pwd_state
    - os_malloc
    - compute_password_element
    - os_memcmp
    - hash_nt_password_hash
    - get_eap_pwd_group
    - wpa_hexdump_ascii
    - crypto_ec_prime_len_bits
    linkageType: ''
    returnType: void
    signature: "void eap_pwd_process_id_resp(struct eap_sm *sm,\n\t\t\t\t    struct
      eap_pwd_data *data,\n\t\t\t\t    const u8 *payload, size_t payload_len)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:668,1
    - Dst: crypto_ec_prime_len
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:670,1
    - Dst: crypto_ec_order_len
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:671,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:674,1
    - Dst: crypto_bignum_init
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:681,1
    - Dst: crypto_ec_point_init
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:682,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:684,1
    - Dst: eap_pwd_get_element
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:691,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:693,1
    - Dst: eap_pwd_get_scalar
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:698,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:700,1
    - Dst: crypto_bignum_cmp
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:706,1
    - Dst: crypto_ec_point_cmp
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:707,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:709,1
    - Dst: crypto_ec_point_mul
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:715,1
    - Dst: crypto_ec_point_add
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:717,1
    - Dst: crypto_ec_point_mul
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:719,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:721,1
    - Dst: crypto_ec_point_is_at_infinity
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:732,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:733,1
    - Dst: crypto_ec_point_x
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:737,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:738,1
    - Dst: crypto_ec_point_deinit
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:745,1
    - Dst: eap_pwd_state
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:748,1
    - Dst: eap_pwd_state
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:750,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 57
    argCount: 4
    argNames:
    - sm
    - data
    - payload
    - payload_len
    argTypes:
    - struct eap_sm*
    - struct eap_pwd_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 659
    functionDepth: 1
    functionLinenumber: 659
    functionLinenumberEnd: 751
    functionName: eap_pwd_process_commit_resp
    functionSourceFile: /src/hostap/src/eap_server/eap_server_pwd.c
    functionUses: 0
    functionsReached:
    - crypto_ec_point_cmp
    - wpa_printf
    - eap_pwd_get_element
    - crypto_ec_point_x
    - crypto_bignum_init
    - crypto_ec_point_deinit
    - crypto_bignum_cmp
    - eap_pwd_state
    - crypto_ec_point_is_at_infinity
    - crypto_ec_point_init
    - crypto_ec_point_add
    - eap_pwd_get_scalar
    - crypto_ec_point_mul
    - crypto_ec_prime_len
    - crypto_ec_order_len
    linkageType: ''
    returnType: void
    signature: "void eap_pwd_process_commit_resp(struct eap_sm *sm, struct eap_pwd_data
      *data,\n\t\t\t    const u8 *payload, size_t payload_len)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: crypto_ec_prime_len
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:764,1
    - Dst: crypto_ec_order_len
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:765,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:768,1
    - Dst: htons
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:775,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:777,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:784,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:786,1
    - Dst: eap_pwd_h_init
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:794,1
    - Dst: crypto_bignum_to_bin
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:799,1
    - Dst: eap_pwd_h_update
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:802,1
    - Dst: crypto_ec_point_to_bin
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:805,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:807,1
    - Dst: eap_pwd_h_update
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:811,1
    - Dst: crypto_bignum_to_bin
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:814,1
    - Dst: eap_pwd_h_update
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:818,1
    - Dst: crypto_ec_point_to_bin
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:821,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:823,1
    - Dst: eap_pwd_h_update
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:827,1
    - Dst: crypto_bignum_to_bin
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:830,1
    - Dst: eap_pwd_h_update
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:834,1
    - Dst: eap_pwd_h_update
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:837,1
    - Dst: eap_pwd_h_final
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:840,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:844,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:845,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:850,1
    - Dst: compute_keys
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:851,1
    - Dst: eap_pwd_state
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:855,1
    - Dst: eap_pwd_state
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:857,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:860,1
    - Dst: eap_pwd_h_final
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:861,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 66
    argCount: 4
    argNames:
    - sm
    - data
    - payload
    - payload_len
    argTypes:
    - struct eap_sm*
    - struct eap_pwd_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 754
    functionDepth: 1
    functionLinenumber: 754
    functionLinenumberEnd: 862
    functionName: eap_pwd_process_confirm_resp
    functionSourceFile: /src/hostap/src/eap_server/eap_server_pwd.c
    functionUses: 0
    functionsReached:
    - crypto_bignum_to_bin
    - wpa_printf
    - os_memcpy
    - eap_pwd_h_init
    - eap_pwd_h_update
    - os_malloc
    - eap_pwd_state
    - eap_pwd_h_final
    - os_memcmp_const
    - bin_clear_free
    - crypto_ec_point_to_bin
    - crypto_ec_prime_len
    - htons
    - crypto_ec_order_len
    - compute_keys
    linkageType: ''
    returnType: void
    signature: "void eap_pwd_process_confirm_resp(struct eap_sm *sm, struct eap_pwd_data
      *data,\n\t\t\t     const u8 *payload, size_t payload_len)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:874,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:876,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:892,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:895,1
    - Dst: EAP_PWD_GET_LENGTH_BIT
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:904,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:906,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:910,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:911,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:916,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:920,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:922,1
    - Dst: EAP_PWD_GET_MORE_BIT
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:933,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:935,1
    - Dst: eap_pwd_state
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:937,1
    - Dst: wpabuf_size
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:940,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:941,1
    - Dst: wpabuf_size
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:944,1
    - Dst: eap_pwd_state
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:945,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:948,1
    - Dst: EAP_PWD_GET_MORE_BIT
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:951,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:952,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:961,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:963,1
    - Dst: EAP_PWD_GET_EXCHANGE
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:966,1
    - Dst: eap_pwd_process_id_resp
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:968,1
    - Dst: eap_pwd_process_commit_resp
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:971,1
    - Dst: eap_pwd_process_confirm_resp
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:974,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:982,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 76
    argCount: 3
    argNames:
    - sm
    - priv
    - respData
    argTypes:
    - struct eap_sm*
    - void*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 865
    functionDepth: 2
    functionLinenumber: 865
    functionLinenumberEnd: 986
    functionName: eap_pwd_process
    functionSourceFile: /src/hostap/src/eap_server/eap_server_pwd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - WPA_GET_BE16
    - wpabuf_size
    - wpabuf_put_data
    - wpabuf_head_u8
    - eap_pwd_state
    - EAP_PWD_GET_MORE_BIT
    - wpabuf_free
    - eap_pwd_process_commit_resp
    - eap_pwd_process_confirm_resp
    - EAP_PWD_GET_LENGTH_BIT
    - wpabuf_alloc
    - eap_pwd_process_id_resp
    - eap_hdr_validate
    - EAP_PWD_GET_EXCHANGE
    linkageType: ''
    returnType: void
    signature: "void eap_pwd_process(struct eap_sm *sm, void *priv,\n\t\t\t    struct
      wpabuf *respData)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memdup
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:997,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 989
    functionDepth: 0
    functionLinenumber: 989
    functionLinenumberEnd: 1004
    functionName: eap_pwd_getkey
    functionSourceFile: /src/hostap/src/eap_server/eap_server_pwd.c
    functionUses: 0
    functionsReached:
    - os_memdup
    linkageType: ''
    returnType: u8
    signature: u8 * eap_pwd_getkey(struct eap_sm *sm, void *priv, size_t *len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memdup
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:1015,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1022
      start: 1007
    functionDepth: 0
    functionLinenumber: 1007
    functionLinenumberEnd: 1022
    functionName: eap_pwd_get_emsk
    functionSourceFile: /src/hostap/src/eap_server/eap_server_pwd.c
    functionUses: 0
    functionsReached:
    - os_memdup
    linkageType: ''
    returnType: u8
    signature: u8 * eap_pwd_get_emsk(struct eap_sm *sm, void *priv, size_t *len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1029
      start: 1025
    functionDepth: 0
    functionLinenumber: 1025
    functionLinenumberEnd: 1029
    functionName: eap_pwd_is_success
    functionSourceFile: /src/hostap/src/eap_server/eap_server_pwd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool eap_pwd_is_success(struct eap_sm *sm, void *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 1032
    functionDepth: 0
    functionLinenumber: 1032
    functionLinenumberEnd: 1036
    functionName: eap_pwd_is_done
    functionSourceFile: /src/hostap/src/eap_server/eap_server_pwd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool eap_pwd_is_done(struct eap_sm *sm, void *priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memdup
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:1047,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1054
      start: 1039
    functionDepth: 0
    functionLinenumber: 1039
    functionLinenumberEnd: 1054
    functionName: eap_pwd_get_session_id
    functionSourceFile: /src/hostap/src/eap_server/eap_server_pwd.c
    functionUses: 0
    functionsReached:
    - os_memdup
    linkageType: ''
    returnType: u8
    signature: u8 * eap_pwd_get_session_id(struct eap_sm *sm, void *priv, size_t *len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_server_method_alloc
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:1061,1
    - Dst: eap_server_method_register
      Src: /src/hostap/src/eap_server/eap_server_pwd.c:1078,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 1057
    functionDepth: 1
    functionLinenumber: 1057
    functionLinenumberEnd: 1079
    functionName: eap_server_pwd_register
    functionSourceFile: /src/hostap/src/eap_server/eap_server_pwd.c
    functionUses: 2
    functionsReached:
    - eap_server_method_register
    - eap_server_method_alloc
    linkageType: ''
    returnType: int
    signature: int eap_server_pwd_register(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - state
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 53
    functionName: eap_gpsk_state_txt
    functionSourceFile: /src/hostap/src/eap_server/eap_server_gpsk.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * eap_gpsk_state_txt(int state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:58,1
    - Dst: eap_gpsk_state_txt
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:59,1
    - Dst: eap_gpsk_state_txt
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - state
    argTypes:
    - struct eap_gpsk_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: eap_gpsk_state
    functionSourceFile: /src/hostap/src/eap_server/eap_server_gpsk.c
    functionUses: 4
    functionsReached:
    - eap_gpsk_state_txt
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void eap_gpsk_state(struct eap_gpsk_data *data, int state)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:69,1
    - Dst: eap_gpsk_supported_ciphersuite
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:75,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:77,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:79,1
    - Dst: eap_gpsk_supported_ciphersuite
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:83,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:85,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 93
    functionName: eap_gpsk_init
    functionSourceFile: /src/hostap/src/eap_server/eap_server_gpsk.c
    functionUses: 0
    functionsReached:
    - WPA_PUT_BE32
    - os_zalloc
    - WPA_PUT_BE16
    - eap_gpsk_supported_ciphersuite
    linkageType: ''
    returnType: void
    signature: void * eap_gpsk_init(struct eap_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:99,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: eap_gpsk_reset
    functionSourceFile: /src/hostap/src/eap_server/eap_server_gpsk.c
    functionUses: 0
    functionsReached:
    - os_free
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: void eap_gpsk_reset(struct eap_sm *sm, void *priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:110,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:112,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:113,1
    - Dst: eap_gpsk_state
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:114,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:117,1
    - Dst: eap_msg_alloc
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:122,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:125,1
    - Dst: eap_gpsk_state
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:127,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:131,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:132,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:133,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:134,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:135,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 3
    argNames:
    - sm
    - data
    - id
    argTypes:
    - struct eap_sm*
    - struct eap_gpsk_data*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 141
    functionName: eap_gpsk_build_gpsk_1
    functionSourceFile: /src/hostap/src/eap_server/eap_server_gpsk.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - random_get_bytes
    - wpa_hexdump
    - wpabuf_put_u8
    - wpabuf_put_data
    - eap_msg_alloc
    - wpabuf_put_be16
    - eap_gpsk_state
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_gpsk_build_gpsk_1(struct eap_sm *sm,\n\t\t\t\t\t
      \    struct eap_gpsk_data *data, u8 id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:152,1
    - Dst: eap_gpsk_mic_len
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:154,1
    - Dst: eap_msg_alloc
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:157,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:160,1
    - Dst: eap_gpsk_state
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:162,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:166,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:167,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:169,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:170,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:171,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:172,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:173,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:174,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:175,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:178,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:180,1
    - Dst: eap_gpsk_compute_mic
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:181,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:184,1
    - Dst: eap_gpsk_state
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 3
    argNames:
    - sm
    - data
    - id
    argTypes:
    - struct eap_sm*
    - struct eap_gpsk_data*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 190
    functionName: eap_gpsk_build_gpsk_3
    functionSourceFile: /src/hostap/src/eap_server/eap_server_gpsk.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put
    - wpabuf_put_u8
    - wpabuf_put_data
    - eap_gpsk_mic_len
    - eap_msg_alloc
    - wpabuf_free
    - wpabuf_put_be16
    - WPA_PUT_BE16
    - WPA_PUT_BE32
    - eap_gpsk_compute_mic
    - eap_gpsk_state
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_gpsk_build_gpsk_3(struct eap_sm *sm,\n\t\t\t\t\t
      \    struct eap_gpsk_data *data, u8 id)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: eap_gpsk_build_gpsk_1
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:199,1
    - Dst: eap_gpsk_build_gpsk_3
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:201,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - sm
    - priv
    - id
    argTypes:
    - struct eap_sm*
    - void*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 208
    functionName: eap_gpsk_buildReq
    functionSourceFile: /src/hostap/src/eap_server/eap_server_gpsk.c
    functionUses: 0
    functionsReached:
    - eap_gpsk_build_gpsk_3
    - eap_gpsk_build_gpsk_1
    - wpa_printf
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * eap_gpsk_buildReq(struct eap_sm *sm, void *priv, u8
      id)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:218,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:220,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:224,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:232,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - sm
    - priv
    - respData
    argTypes:
    - struct eap_sm*
    - void*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 236
    functionName: eap_gpsk_check
    functionSourceFile: /src/hostap/src/eap_server/eap_server_gpsk.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_hdr_validate
    linkageType: ''
    returnType: bool
    signature: "bool eap_gpsk_check(struct eap_sm *sm, void *priv,\n\t\t\t   struct
      wpabuf *respData)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:252,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:258,1
    - Dst: eap_gpsk_state
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:260,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:263,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:266,1
    - Dst: eap_gpsk_state
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:268,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:271,1
    - Dst: os_memdup
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:272,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:274,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:279,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:284,1
    - Dst: eap_gpsk_state
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:286,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:289,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:292,1
    - Dst: eap_gpsk_state
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:294,1
    - Dst: os_memcmp
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:298,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:299,1
    - Dst: eap_gpsk_state
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:301,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:307,1
    - Dst: eap_gpsk_state
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:309,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:312,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:313,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:318,1
    - Dst: eap_gpsk_state
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:320,1
    - Dst: os_memcmp
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:323,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:324,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:326,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:328,1
    - Dst: eap_gpsk_state
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:330,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:336,1
    - Dst: eap_gpsk_state
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:338,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:341,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:344,1
    - Dst: eap_gpsk_state
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:346,1
    - Dst: os_memcmp
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:350,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:351,1
    - Dst: eap_gpsk_state
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:353,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:359,1
    - Dst: eap_gpsk_state
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:361,1
    - Dst: os_memcmp
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:366,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:371,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:373,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:374,1
    - Dst: eap_gpsk_state
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:375,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:378,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:379,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:380,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:385,1
    - Dst: eap_gpsk_state
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:387,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:390,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:393,1
    - Dst: eap_gpsk_state
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:395,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:398,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:402,1
    - Dst: eap_gpsk_state
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:404,1
    - Dst: eap_gpsk_derive_keys
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:408,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:416,1
    - Dst: eap_gpsk_state
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:417,1
    - Dst: eap_gpsk_derive_session_id
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:421,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:430,1
    - Dst: eap_gpsk_state
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:431,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:434,1
    - Dst: eap_gpsk_mic_len
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:437,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:439,1
    - Dst: eap_gpsk_state
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:443,1
    - Dst: eap_gpsk_compute_mic
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:446,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:449,1
    - Dst: eap_gpsk_state
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:450,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:453,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:454,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:455,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:456,1
    - Dst: eap_gpsk_state
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:457,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:463,1
    - Dst: eap_gpsk_state
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:468,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 156
    argCount: 4
    argNames:
    - sm
    - data
    - payload
    - payloadlen
    argTypes:
    - struct eap_sm*
    - struct eap_gpsk_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 469
    functionName: eap_gpsk_process_gpsk_2
    functionSourceFile: /src/hostap/src/eap_server/eap_server_gpsk.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - WPA_GET_BE16
    - os_memcpy
    - wpa_hexdump
    - eap_gpsk_derive_keys
    - os_memdup
    - eap_gpsk_mic_len
    - WPA_GET_BE32
    - eap_gpsk_derive_session_id
    - os_memcmp_const
    - os_memcmp
    - os_free
    - eap_gpsk_compute_mic
    - wpa_hexdump_ascii
    - eap_gpsk_state
    linkageType: ''
    returnType: void
    signature: "void eap_gpsk_process_gpsk_2(struct eap_sm *sm,\n\t\t\t\t    struct
      eap_gpsk_data *data,\n\t\t\t\t    const u8 *payload, size_t payloadlen)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:484,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:490,1
    - Dst: eap_gpsk_state
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:492,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:495,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:498,1
    - Dst: eap_gpsk_state
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:500,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:503,1
    - Dst: eap_gpsk_mic_len
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:506,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:508,1
    - Dst: eap_gpsk_state
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:512,1
    - Dst: eap_gpsk_compute_mic
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:515,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:518,1
    - Dst: eap_gpsk_state
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:519,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:522,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:523,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:524,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:525,1
    - Dst: eap_gpsk_state
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:526,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:532,1
    - Dst: eap_gpsk_state
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:537,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 43
    argCount: 4
    argNames:
    - sm
    - data
    - payload
    - payloadlen
    argTypes:
    - struct eap_sm*
    - struct eap_gpsk_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 472
    functionDepth: 1
    functionLinenumber: 472
    functionLinenumberEnd: 538
    functionName: eap_gpsk_process_gpsk_4
    functionSourceFile: /src/hostap/src/eap_server/eap_server_gpsk.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - WPA_GET_BE16
    - wpa_hexdump
    - eap_gpsk_mic_len
    - os_memcmp_const
    - eap_gpsk_compute_mic
    - eap_gpsk_state
    linkageType: ''
    returnType: void
    signature: "void eap_gpsk_process_gpsk_4(struct eap_sm *sm,\n\t\t\t\t    struct
      eap_gpsk_data *data,\n\t\t\t\t    const u8 *payload, size_t payloadlen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:548,1
    - Dst: eap_gpsk_process_gpsk_2
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:554,1
    - Dst: eap_gpsk_process_gpsk_4
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:557,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - sm
    - priv
    - respData
    argTypes:
    - struct eap_sm*
    - void*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 541
    functionDepth: 2
    functionLinenumber: 541
    functionLinenumberEnd: 560
    functionName: eap_gpsk_process
    functionSourceFile: /src/hostap/src/eap_server/eap_server_gpsk.c
    functionUses: 0
    functionsReached:
    - eap_gpsk_process_gpsk_4
    - eap_gpsk_process_gpsk_2
    - eap_hdr_validate
    linkageType: ''
    returnType: void
    signature: "void eap_gpsk_process(struct eap_sm *sm, void *priv,\n\t\t\t     struct
      wpabuf *respData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 567
    functionName: eap_gpsk_isDone
    functionSourceFile: /src/hostap/src/eap_server/eap_server_gpsk.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool eap_gpsk_isDone(struct eap_sm *sm, void *priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memdup
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:578,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 584
    functionName: eap_gpsk_getKey
    functionSourceFile: /src/hostap/src/eap_server/eap_server_gpsk.c
    functionUses: 0
    functionsReached:
    - os_memdup
    linkageType: ''
    returnType: u8
    signature: u8 * eap_gpsk_getKey(struct eap_sm *sm, void *priv, size_t *len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memdup
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:595,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 601
    functionName: eap_gpsk_get_emsk
    functionSourceFile: /src/hostap/src/eap_server/eap_server_gpsk.c
    functionUses: 0
    functionsReached:
    - os_memdup
    linkageType: ''
    returnType: u8
    signature: u8 * eap_gpsk_get_emsk(struct eap_sm *sm, void *priv, size_t *len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 608
    functionName: eap_gpsk_isSuccess
    functionSourceFile: /src/hostap/src/eap_server/eap_server_gpsk.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool eap_gpsk_isSuccess(struct eap_sm *sm, void *priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memdup
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:619,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 625
    functionName: eap_gpsk_get_session_id
    functionSourceFile: /src/hostap/src/eap_server/eap_server_gpsk.c
    functionUses: 0
    functionsReached:
    - os_memdup
    linkageType: ''
    returnType: u8
    signature: u8 * eap_gpsk_get_session_id(struct eap_sm *sm, void *priv, size_t
      *len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_server_method_alloc
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:632,1
    - Dst: eap_server_method_register
      Src: /src/hostap/src/eap_server/eap_server_gpsk.c:648,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 628
    functionDepth: 1
    functionLinenumber: 628
    functionLinenumberEnd: 649
    functionName: eap_server_gpsk_register
    functionSourceFile: /src/hostap/src/eap_server/eap_server_gpsk.c
    functionUses: 2
    functionsReached:
    - eap_server_method_register
    - eap_server_method_alloc
    linkageType: ''
    returnType: int
    signature: int eap_server_gpsk_register(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - state
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 51
    functionName: eap_wsc_state_txt
    functionSourceFile: /src/hostap/src/eap_server/eap_server_wsc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * eap_wsc_state_txt(int state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:57,1
    - Dst: eap_wsc_state_txt
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:58,1
    - Dst: eap_wsc_state_txt
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - state
    argTypes:
    - struct eap_wsc_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: eap_wsc_state
    functionSourceFile: /src/hostap/src/eap_server/eap_server_wsc.c
    functionUses: 3
    functionsReached:
    - wpa_printf
    - eap_wsc_state_txt
    linkageType: ''
    returnType: void
    signature: void eap_wsc_state(struct eap_wsc_data *data, int state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:72,1
    - Dst: eap_sm_pending_cb
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 76
    functionName: eap_wsc_ext_reg_timeout
    functionSourceFile: /src/hostap/src/eap_server/eap_server_wsc.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_sm_pending_cb
    linkageType: ''
    returnType: void
    signature: void eap_wsc_ext_reg_timeout(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:86,1
    - Dst: os_memcmp
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:90,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:94,1
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:99,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:105,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:110,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:112,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:123,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:136,1
    - Dst: p2p_get_go_dev_addr
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:140,1
    - Dst: wps_init
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:144,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:146,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 153
    functionName: eap_wsc_init
    functionSourceFile: /src/hostap/src/eap_server/eap_server_wsc.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - p2p_get_go_dev_addr
    - os_zalloc
    - os_memcmp
    - wps_init
    - os_free
    - wpa_hexdump_ascii
    - os_memset
    linkageType: ''
    returnType: void
    signature: void * eap_wsc_init(struct eap_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:159,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:160,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:161,1
    - Dst: wps_deinit
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:162,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 164
    functionName: eap_wsc_reset
    functionSourceFile: /src/hostap/src/eap_server/eap_server_wsc.c
    functionUses: 0
    functionsReached:
    - eloop_cancel_timeout
    - wps_deinit
    - os_free
    - wpabuf_free
    linkageType: ''
    returnType: void
    signature: void eap_wsc_reset(struct eap_sm *sm, void *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_msg_alloc
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:172,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:175,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:180,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:181,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - sm
    - data
    - id
    argTypes:
    - struct eap_sm*
    - struct eap_wsc_data*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 185
    functionName: eap_wsc_build_start
    functionSourceFile: /src/hostap/src/eap_server/eap_server_wsc.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_msg_alloc
    - wpabuf_put_u8
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_wsc_build_start(struct eap_sm *sm,\n\t\t\t\t\t
      \  struct eap_wsc_data *data, u8 id)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:195,1
    - Dst: eap_msg_alloc
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:207,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:210,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:215,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:216,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:218,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:218,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:220,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:220,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:224,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:225,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:228,1
    - Dst: eap_wsc_state
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:231,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:233,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:235,1
    - Dst: eap_wsc_state
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:237,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 2
    argNames:
    - data
    - id
    argTypes:
    - struct eap_wsc_data*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 241
    functionName: eap_wsc_build_msg
    functionSourceFile: /src/hostap/src/eap_server/eap_server_wsc.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpabuf_head_u8
    - wpabuf_put_u8
    - wpabuf_put_data
    - wpabuf_len
    - eap_msg_alloc
    - wpabuf_free
    - wpabuf_put_be16
    - eap_wsc_state
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * eap_wsc_build_msg(struct eap_wsc_data *data, u8 id)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: eap_wsc_build_start
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:250,1
    - Dst: wps_get_msg
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:253,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:256,1
    - Dst: eap_wsc_build_msg
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:264,1
    - Dst: eap_wsc_build_frag_ack
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:266,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:268,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - sm
    - priv
    - id
    argTypes:
    - struct eap_sm*
    - void*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 244
    functionDepth: 2
    functionLinenumber: 244
    functionLinenumberEnd: 272
    functionName: eap_wsc_buildReq
    functionSourceFile: /src/hostap/src/eap_server/eap_server_wsc.c
    functionUses: 0
    functionsReached:
    - eap_wsc_build_frag_ack
    - wpa_printf
    - eap_wsc_build_msg
    - eap_wsc_build_start
    - wps_get_msg
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * eap_wsc_buildReq(struct eap_sm *sm, void *priv, u8
      id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:281,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - sm
    - priv
    - respData
    argTypes:
    - struct eap_sm*
    - void*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 289
    functionName: eap_wsc_check
    functionSourceFile: /src/hostap/src/eap_server/eap_server_wsc.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_hdr_validate
    linkageType: ''
    returnType: bool
    signature: "bool eap_wsc_check(struct eap_sm *sm, void *priv,\n\t\t\t  struct
      wpabuf *respData)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:297,1
    - Dst: eap_wsc_state
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:300,1
    - Dst: wpabuf_tailroom
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:304,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:305,1
    - Dst: eap_wsc_state
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:306,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:310,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:311,1
    - Dst: wpabuf_tailroom
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:313,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - data
    - buf
    - len
    - op_code
    argTypes:
    - struct eap_wsc_data*
    - u8*
    - size_t
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 316
    functionName: eap_wsc_process_cont
    functionSourceFile: /src/hostap/src/eap_server/eap_server_wsc.c
    functionUses: 1
    functionsReached:
    - wpabuf_tailroom
    - wpa_printf
    - wpabuf_put_data
    - eap_wsc_state
    linkageType: ''
    returnType: int
    signature: "int eap_wsc_process_cont(struct eap_wsc_data *data,\n\t\t\t\tconst
      u8 *buf, size_t len, u8 op_code)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:325,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:332,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:334,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:339,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:340,1
    - Dst: wpabuf_tailroom
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:343,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 6
    argNames:
    - data
    - flags
    - op_code
    - message_length
    - buf
    - len
    argTypes:
    - struct eap_wsc_data*
    - u8
    - u8
    - u16
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 347
    functionName: eap_wsc_process_fragment
    functionSourceFile: /src/hostap/src/eap_server/eap_server_wsc.c
    functionUses: 1
    functionsReached:
    - wpabuf_tailroom
    - wpa_printf
    - wpabuf_put_data
    - wpabuf_alloc
    linkageType: ''
    returnType: int
    signature: "int eap_wsc_process_fragment(struct eap_wsc_data *data,\n\t\t\t\t
      \   u8 flags, u8 op_code, u16 message_length,\n\t\t\t\t    const u8 *buf, size_t
      len)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:361,1
    - Dst: eap_wsc_state
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:363,1
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:367,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:379,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:382,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:386,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:392,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:398,1
    - Dst: eap_wsc_state
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:400,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:403,1
    - Dst: eap_wsc_state
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:404,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:410,1
    - Dst: eap_wsc_state
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:412,1
    - Dst: eap_wsc_process_cont
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:417,1
    - Dst: eap_wsc_state
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:418,1
    - Dst: eap_wsc_process_fragment
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:423,1
    - Dst: eap_wsc_state
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:426,1
    - Dst: eap_wsc_state
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:428,1
    - Dst: wpabuf_set
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:434,1
    - Dst: wps_process_msg
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:438,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:441,1
    - Dst: eap_wsc_state
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:443,1
    - Dst: eap_wsc_state
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:446,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:449,1
    - Dst: eap_wsc_state
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:450,1
    - Dst: eap_wsc_state
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:453,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:455,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:456,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:462,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 78
    argCount: 3
    argNames:
    - sm
    - priv
    - respData
    argTypes:
    - struct eap_sm*
    - void*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 464
    functionName: eap_wsc_process
    functionSourceFile: /src/hostap/src/eap_server/eap_server_wsc.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - WPA_GET_BE16
    - eap_wsc_process_fragment
    - eloop_cancel_timeout
    - wps_process_msg
    - wpabuf_free
    - eap_wsc_process_cont
    - wpabuf_set
    - eloop_register_timeout
    - eap_hdr_validate
    - eap_wsc_state
    linkageType: ''
    returnType: void
    signature: "void eap_wsc_process(struct eap_sm *sm, void *priv,\n\t\t\t    struct
      wpabuf *respData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 471
    functionName: eap_wsc_isDone
    functionSourceFile: /src/hostap/src/eap_server/eap_server_wsc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool eap_wsc_isDone(struct eap_sm *sm, void *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 478
    functionName: eap_wsc_isSuccess
    functionSourceFile: /src/hostap/src/eap_server/eap_server_wsc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool eap_wsc_isSuccess(struct eap_sm *sm, void *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 487
    functionName: eap_wsc_getTimeout
    functionSourceFile: /src/hostap/src/eap_server/eap_server_wsc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int eap_wsc_getTimeout(struct eap_sm *sm, void *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_server_method_alloc
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:494,1
    - Dst: eap_server_method_register
      Src: /src/hostap/src/eap_server/eap_server_wsc.c:509,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 490
    functionDepth: 1
    functionLinenumber: 490
    functionLinenumberEnd: 510
    functionName: eap_server_wsc_register
    functionSourceFile: /src/hostap/src/eap_server/eap_server_wsc.c
    functionUses: 2
    functionsReached:
    - eap_server_method_register
    - eap_server_method_alloc
    linkageType: ''
    returnType: int
    signature: int eap_server_wsc_register(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:37,1
    - Dst: eap_user_get
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:43,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:45,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - ctx
    - IDr
    - IDr_len
    - secret_len
    argTypes:
    - void*
    - u8*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 51
    functionName: eap_ikev2_get_shared_secret
    functionSourceFile: /src/hostap/src/eap_server/eap_server_ikev2.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_user_get
    linkageType: ''
    returnType: u8
    signature: "u8 * eap_ikev2_get_shared_secret(void *ctx, const u8 *IDr,\n\t\t\t\t\t
      \     size_t IDr_len,\n\t\t\t\t\t      size_t *secret_len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - state
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 70
    functionName: eap_ikev2_state_txt
    functionSourceFile: /src/hostap/src/eap_server/eap_server_ikev2.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * eap_ikev2_state_txt(int state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:75,1
    - Dst: eap_ikev2_state_txt
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:76,1
    - Dst: eap_ikev2_state_txt
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - state
    argTypes:
    - struct eap_ikev2_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: eap_ikev2_state
    functionSourceFile: /src/hostap/src/eap_server/eap_server_ikev2.c
    functionUses: 3
    functionsReached:
    - wpa_printf
    - eap_ikev2_state_txt
    linkageType: ''
    returnType: void
    signature: void eap_ikev2_state(struct eap_ikev2_data *data, int state)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:86,1
    - Dst: os_strdup
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:94,1
    - Dst: os_memdup
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:106,1
    - Dst: ikev2_initiator_deinit
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:117,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:118,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 120
    functionName: eap_ikev2_init
    functionSourceFile: /src/hostap/src/eap_server/eap_server_ikev2.c
    functionUses: 0
    functionsReached:
    - os_memdup
    - ikev2_initiator_deinit
    - os_zalloc
    - os_free
    - os_strdup
    linkageType: ''
    returnType: void
    signature: void * eap_ikev2_init(struct eap_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:126,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:127,1
    - Dst: ikev2_initiator_deinit
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:128,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 130
    functionName: eap_ikev2_reset
    functionSourceFile: /src/hostap/src/eap_server/eap_server_ikev2.c
    functionUses: 0
    functionsReached:
    - ikev2_initiator_deinit
    - wpabuf_free
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: void eap_ikev2_reset(struct eap_sm *sm, void *priv)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:139,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:142,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:157,1
    - Dst: ikev2_get_integ
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:160,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:162,1
    - Dst: eap_msg_alloc
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:170,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:175,1
    - Dst: wpabuf_put_be32
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:177,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:177,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:179,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:179,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:184,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:185,1
    - Dst: ikev2_integ_hash
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:186,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:189,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:192,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:193,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:196,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:200,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:202,1
    - Dst: eap_ikev2_state
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:204,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 47
    argCount: 2
    argNames:
    - data
    - id
    argTypes:
    - struct eap_ikev2_data*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 208
    functionName: eap_ikev2_build_msg
    functionSourceFile: /src/hostap/src/eap_server/eap_server_ikev2.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpabuf_put
    - ikev2_get_integ
    - wpabuf_head_u8
    - wpabuf_put_u8
    - wpabuf_put_data
    - wpabuf_len
    - eap_msg_alloc
    - wpabuf_free
    - wpabuf_head
    - eap_ikev2_state
    - wpabuf_put_be32
    - ikev2_integ_hash
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * eap_ikev2_build_msg(struct eap_ikev2_data *data, u8
      id)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ikev2_initiator_build
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:218,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:220,1
    - Dst: eap_ikev2_build_msg
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:228,1
    - Dst: eap_ikev2_build_frag_ack
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:230,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:232,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - sm
    - priv
    - id
    argTypes:
    - struct eap_sm*
    - void*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 236
    functionName: eap_ikev2_buildReq
    functionSourceFile: /src/hostap/src/eap_server/eap_server_ikev2.c
    functionUses: 0
    functionsReached:
    - ikev2_initiator_build
    - wpa_printf
    - eap_ikev2_build_frag_ack
    - eap_ikev2_build_msg
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * eap_ikev2_buildReq(struct eap_sm *sm, void *priv, u8
      id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:245,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - sm
    - priv
    - respData
    argTypes:
    - struct eap_sm*
    - void*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 253
    functionName: eap_ikev2_check
    functionSourceFile: /src/hostap/src/eap_server/eap_server_ikev2.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_hdr_validate
    linkageType: ''
    returnType: bool
    signature: "bool eap_ikev2_check(struct eap_sm *sm, void *priv,\n\t\t\t    struct
      wpabuf *respData)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: eap_ikev2_validate_icv
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:262,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:270,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 6
    argNames:
    - data
    - respData
    - flags
    - pos
    - end
    - frag_ack
    argTypes:
    - struct eap_ikev2_data*
    - struct wpabuf*
    - u8
    - u8*
    - u8**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 276
    functionName: eap_ikev2_process_icv
    functionSourceFile: /src/hostap/src/eap_server/eap_server_ikev2.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - eap_ikev2_validate_icv
    linkageType: ''
    returnType: int
    signature: "int eap_ikev2_process_icv(struct eap_ikev2_data *data,\n\t\t\t\t const
      struct wpabuf *respData,\n\t\t\t\t u8 flags, const u8 *pos, const u8 **end,\n\t\t\t\t
      int frag_ack)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_tailroom
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:283,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:284,1
    - Dst: eap_ikev2_state
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:285,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:289,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:290,1
    - Dst: wpabuf_tailroom
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - data
    - buf
    - len
    argTypes:
    - struct eap_ikev2_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 295
    functionName: eap_ikev2_process_cont
    functionSourceFile: /src/hostap/src/eap_server/eap_server_ikev2.c
    functionUses: 1
    functionsReached:
    - eap_ikev2_state
    - wpa_printf
    - wpabuf_put_data
    - wpabuf_tailroom
    linkageType: ''
    returnType: int
    signature: "int eap_ikev2_process_cont(struct eap_ikev2_data *data,\n\t\t\t\t
      \ const u8 *buf, size_t len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:304,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:313,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:317,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:319,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:323,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:324,1
    - Dst: wpabuf_tailroom
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:327,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 5
    argNames:
    - data
    - flags
    - message_length
    - buf
    - len
    argTypes:
    - struct eap_ikev2_data*
    - u8
    - u32
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 331
    functionName: eap_ikev2_process_fragment
    functionSourceFile: /src/hostap/src/eap_server/eap_server_ikev2.c
    functionUses: 1
    functionsReached:
    - wpabuf_tailroom
    - wpa_printf
    - wpabuf_put_data
    - wpabuf_alloc
    linkageType: ''
    returnType: int
    signature: "int eap_ikev2_process_fragment(struct eap_ikev2_data *data,\n\t\t\t\t
      \     u8 flags, u32 message_length,\n\t\t\t\t      const u8 *buf, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_ikev2_derive_keymat
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:336,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct eap_ikev2_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 347
    functionName: eap_ikev2_server_keymat
    functionSourceFile: /src/hostap/src/eap_server/eap_server_ikev2.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_ikev2_derive_keymat
    linkageType: ''
    returnType: int
    signature: int eap_ikev2_server_keymat(struct eap_ikev2_data *data)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:360,1
    - Dst: eap_ikev2_process_icv
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:374,1
    - Dst: eap_ikev2_state
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:377,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:383,1
    - Dst: eap_ikev2_state
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:384,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:387,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:391,1
    - Dst: eap_ikev2_state
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:394,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:398,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:403,1
    - Dst: eap_ikev2_state
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:405,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:408,1
    - Dst: eap_ikev2_state
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:409,1
    - Dst: eap_ikev2_process_cont
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:413,1
    - Dst: eap_ikev2_state
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:414,1
    - Dst: eap_ikev2_process_fragment
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:419,1
    - Dst: eap_ikev2_state
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:421,1
    - Dst: eap_ikev2_state
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:423,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:426,1
    - Dst: wpabuf_set
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:432,1
    - Dst: ikev2_initiator_process
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:436,1
    - Dst: eap_ikev2_state
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:439,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:452,1
    - Dst: eap_ikev2_server_keymat
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:454,1
    - Dst: eap_ikev2_state
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:456,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:463,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 81
    argCount: 3
    argNames:
    - sm
    - priv
    - respData
    argTypes:
    - struct eap_sm*
    - void*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 350
    functionDepth: 2
    functionLinenumber: 350
    functionLinenumberEnd: 465
    functionName: eap_ikev2_process
    functionSourceFile: /src/hostap/src/eap_server/eap_server_ikev2.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_ikev2_process_icv
    - wpabuf_free
    - eap_ikev2_process_fragment
    - wpabuf_set
    - ikev2_initiator_process
    - eap_ikev2_state
    - eap_hdr_validate
    - eap_ikev2_process_cont
    - eap_ikev2_server_keymat
    - WPA_GET_BE32
    linkageType: ''
    returnType: void
    signature: "void eap_ikev2_process(struct eap_sm *sm, void *priv,\n\t\t\t      struct
      wpabuf *respData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 472
    functionName: eap_ikev2_isDone
    functionSourceFile: /src/hostap/src/eap_server/eap_server_ikev2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool eap_ikev2_isDone(struct eap_sm *sm, void *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 480
    functionName: eap_ikev2_isSuccess
    functionSourceFile: /src/hostap/src/eap_server/eap_server_ikev2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool eap_ikev2_isSuccess(struct eap_sm *sm, void *priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:491,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:493,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 498
    functionName: eap_ikev2_getKey
    functionSourceFile: /src/hostap/src/eap_server/eap_server_ikev2.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - os_malloc
    linkageType: ''
    returnType: u8
    signature: u8 * eap_ikev2_getKey(struct eap_sm *sm, void *priv, size_t *len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:509,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:511,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 516
    functionName: eap_ikev2_get_emsk
    functionSourceFile: /src/hostap/src/eap_server/eap_server_ikev2.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - os_malloc
    linkageType: ''
    returnType: u8
    signature: u8 * eap_ikev2_get_emsk(struct eap_sm *sm, void *priv, size_t *len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:530,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:535,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:538,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:541,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 546
    functionName: eap_ikev2_get_session_id
    functionSourceFile: /src/hostap/src/eap_server/eap_server_ikev2.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - os_malloc
    - wpa_hexdump
    linkageType: ''
    returnType: u8
    signature: u8 * eap_ikev2_get_session_id(struct eap_sm *sm, void *priv, size_t
      *len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_server_method_alloc
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:553,1
    - Dst: eap_server_method_register
      Src: /src/hostap/src/eap_server/eap_server_ikev2.c:570,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 549
    functionDepth: 1
    functionLinenumber: 549
    functionLinenumberEnd: 571
    functionName: eap_server_ikev2_register
    functionSourceFile: /src/hostap/src/eap_server/eap_server_ikev2.c
    functionUses: 2
    functionsReached:
    - eap_server_method_register
    - eap_server_method_alloc
    linkageType: ''
    returnType: int
    signature: int eap_server_ikev2_register(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - state
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 65
    functionName: eap_ttls_state_txt
    functionSourceFile: /src/hostap/src/eap_server/eap_server_ttls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * eap_ttls_state_txt(int state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:70,1
    - Dst: eap_ttls_state_txt
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:71,1
    - Dst: eap_ttls_state_txt
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:72,1
    - Dst: tls_connection_remove_session
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - data
    - state
    argTypes:
    - struct eap_ttls_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 76
    functionName: eap_ttls_state
    functionSourceFile: /src/hostap/src/eap_server/eap_server_ttls.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_ttls_state_txt
    - tls_connection_remove_session
    linkageType: ''
    returnType: void
    signature: void eap_ttls_state(struct eap_ttls_data *data, int state)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:87,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:90,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:98,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:99,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:101,1
    - Dst: tls_connection_set_success_data
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - sm
    - data
    argTypes:
    - struct eap_sm*
    - struct eap_ttls_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 104
    functionName: eap_ttls_valid_session
    functionSourceFile: /src/hostap/src/eap_server/eap_server_ttls.c
    functionUses: 0
    functionsReached:
    - wpabuf_alloc
    - wpabuf_put_data
    - wpabuf_put_u8
    - tls_connection_set_success_data
    linkageType: ''
    returnType: void
    signature: "void eap_ttls_valid_session(struct eap_sm *sm,\n\t\t\t\t   struct
      eap_ttls_data *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: host_to_be32
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:119,1
    - Dst: host_to_be32
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:124,1
    - Dst: host_to_be32
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 5
    argNames:
    - avphdr
    - avp_code
    - vendor_id
    - mandatory
    - len
    argTypes:
    - u8*
    - u32
    - u32
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 129
    functionName: eap_ttls_avp_hdr
    functionSourceFile: /src/hostap/src/eap_server/eap_server_ttls.c
    functionUses: 6
    functionsReached:
    - host_to_be32
    linkageType: ''
    returnType: u8
    signature: "u8 * eap_ttls_avp_hdr(u8 *avphdr, u32 avp_code, u32 vendor_id,\n\t\t\t
      \    int mandatory, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:138,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:138,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:140,1
    - Dst: eap_ttls_avp_hdr
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:144,1
    - Dst: wpabuf_mhead
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:144,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:145,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:146,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:146,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:146,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:147,1
    - Dst: AVP_PAD
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:148,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:148,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:149,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:150,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - resp
    - avp_code
    - mandatory
    argTypes:
    - struct wpabuf*
    - u32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 152
    functionName: eap_ttls_avp_encapsulate
    functionSourceFile: /src/hostap/src/eap_server/eap_server_ttls.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    - wpabuf_put
    - wpabuf_len
    - wpabuf_free
    - wpabuf_head
    - AVP_PAD
    - wpabuf_alloc
    - wpabuf_mhead
    - eap_ttls_avp_hdr
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_ttls_avp_encapsulate(struct wpabuf *resp,\n\t\t\t\t\t\tu32
      avp_code, int mandatory)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_mhead
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:184,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:185,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:186,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:194,1
    - Dst: be_to_host32
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:201,1
    - Dst: be_to_host32
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:202,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:205,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:209,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:215,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:223,1
    - Dst: be_to_host32
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:227,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:228,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:234,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:237,1
    - Dst: os_memdup
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:239,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:241,1
    - Dst: os_realloc
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:248,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:251,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:256,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:262,1
    - Dst: wpa_hexdump_ascii_key
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:274,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:281,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:288,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:295,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:302,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:309,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:315,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:320,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:333,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 116
    argCount: 2
    argNames:
    - buf
    - parse
    argTypes:
    - struct wpabuf*
    - struct eap_ttls_avp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 336
    functionName: eap_ttls_avp_parse
    functionSourceFile: /src/hostap/src/eap_server/eap_server_ttls.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_hexdump
    - wpabuf_len
    - os_memdup
    - os_realloc
    - be_to_host32
    - wpabuf_mhead
    - wpa_hexdump_ascii_key
    - os_free
    - wpa_hexdump_ascii
    - os_memset
    linkageType: ''
    returnType: int
    signature: int eap_ttls_avp_parse(struct wpabuf *buf, struct eap_ttls_avp *parse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eap_server_tls_derive_key
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sm
    - data
    - len
    argTypes:
    - struct eap_sm*
    - struct eap_ttls_data*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 344
    functionName: eap_ttls_implicit_challenge
    functionSourceFile: /src/hostap/src/eap_server/eap_server_ttls.c
    functionUses: 3
    functionsReached:
    - eap_server_tls_derive_key
    linkageType: ''
    returnType: u8
    signature: "u8 * eap_ttls_implicit_challenge(struct eap_sm *sm,\n\t\t\t\t\tstruct
      eap_ttls_data *data, size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:351,1
    - Dst: eap_server_tls_ssl_init
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:357,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:358,1
    - Dst: eap_ttls_reset
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 347
    functionDepth: 3
    functionLinenumber: 347
    functionLinenumberEnd: 364
    functionName: eap_ttls_init
    functionSourceFile: /src/hostap/src/eap_server/eap_server_ttls.c
    functionUses: 0
    functionsReached:
    - eap_server_tls_ssl_init
    - os_zalloc
    - wpa_printf
    - eap_ttls_reset
    linkageType: ''
    returnType: void
    signature: void * eap_ttls_init(struct eap_sm *sm)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct eap_ttls_data*::phase2_method::reset
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:373,1
    - Dst: eap_server_tls_ssl_deinit
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:374,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:375,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:376,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 367
    functionDepth: 2
    functionLinenumber: 367
    functionLinenumberEnd: 377
    functionName: eap_ttls_reset
    functionSourceFile: /src/hostap/src/eap_server/eap_server_ttls.c
    functionUses: 1
    functionsReached:
    - struct eap_ttls_data*::phase2_method::reset
    - wpabuf_free
    - bin_clear_free
    - eap_server_tls_ssl_deinit
    linkageType: ''
    returnType: void
    signature: void eap_ttls_reset(struct eap_sm *sm, void *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_msg_alloc
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:385,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:388,1
    - Dst: eap_ttls_state
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:390,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:394,1
    - Dst: eap_ttls_state
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:396,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - sm
    - data
    - id
    argTypes:
    - struct eap_sm*
    - struct eap_ttls_data*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 380
    functionDepth: 2
    functionLinenumber: 380
    functionLinenumberEnd: 399
    functionName: eap_ttls_build_start
    functionSourceFile: /src/hostap/src/eap_server/eap_server_ttls.c
    functionUses: 0
    functionsReached:
    - eap_ttls_state
    - wpa_printf
    - eap_msg_alloc
    - wpabuf_put_u8
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_ttls_build_start(struct eap_sm *sm,\n\t\t\t\t\t
      \   struct eap_ttls_data *data, u8 id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct eap_ttls_data*::phase2_method::buildReq
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:408,1
    - Dst: wpa_hexdump_buf_key
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:412,1
    - Dst: eap_ttls_avp_encapsulate
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:415,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:417,1
    - Dst: wpa_hexdump_buf_key
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:422,1
    - Dst: eap_server_tls_encrypt
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:425,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:426,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - sm
    - data
    - id
    argTypes:
    - struct eap_sm*
    - struct eap_ttls_data*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 429
    functionName: eap_ttls_build_phase2_eap_req
    functionSourceFile: /src/hostap/src/eap_server/eap_server_ttls.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_server_tls_encrypt
    - wpabuf_free
    - eap_ttls_avp_encapsulate
    - struct eap_ttls_data*::phase2_method::buildReq
    - wpa_hexdump_buf_key
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_ttls_build_phase2_eap_req(\n\tstruct eap_sm *sm,
      struct eap_ttls_data *data, u8 id)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:439,1
    - Dst: eap_ttls_avp_hdr
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:445,1
    - Dst: os_snprintf
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:448,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:449,1
    - Dst: wpa_snprintf_hex_uppercase
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:451,1
    - Dst: eap_ttls_avp_hdr
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:455,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:458,1
    - Dst: AVP_PAD
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:460,1
    - Dst: wpabuf_set
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:463,1
    - Dst: wpa_hexdump_buf_key
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:464,1
    - Dst: eap_server_tls_encrypt
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:467,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:468,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 2
    argNames:
    - sm
    - data
    argTypes:
    - struct eap_sm*
    - struct eap_ttls_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 471
    functionName: eap_ttls_build_phase2_mschapv2
    functionSourceFile: /src/hostap/src/eap_server/eap_server_ttls.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - eap_server_tls_encrypt
    - os_malloc
    - wpa_snprintf_hex_uppercase
    - wpabuf_set
    - os_snprintf
    - eap_ttls_avp_hdr
    - AVP_PAD
    - os_free
    - wpa_hexdump_buf_key
    - os_snprintf_error
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_ttls_build_phase2_mschapv2(\n\tstruct eap_sm *sm,
      struct eap_ttls_data *data)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: eap_server_tls_build_ack
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:479,1
    - Dst: eap_server_tls_build_msg
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:484,1
    - Dst: eap_ttls_build_start
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:490,1
    - Dst: tls_connection_established
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:492,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:494,1
    - Dst: eap_ttls_state
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:496,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:500,1
    - Dst: eap_ttls_build_phase2_eap_req
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:502,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:506,1
    - Dst: eap_ttls_build_phase2_mschapv2
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:508,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:511,1
    - Dst: eap_server_tls_build_msg
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:516,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 3
    argNames:
    - sm
    - priv
    - id
    argTypes:
    - struct eap_sm*
    - void*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 474
    functionDepth: 3
    functionLinenumber: 474
    functionLinenumberEnd: 518
    functionName: eap_ttls_buildReq
    functionSourceFile: /src/hostap/src/eap_server/eap_server_ttls.c
    functionUses: 0
    functionsReached:
    - eap_ttls_state
    - wpa_printf
    - eap_ttls_build_phase2_mschapv2
    - wpabuf_free
    - eap_server_tls_build_msg
    - eap_server_tls_build_ack
    - tls_connection_established
    - eap_ttls_build_phase2_eap_req
    - eap_ttls_build_start
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * eap_ttls_buildReq(struct eap_sm *sm, void *priv, u8
      id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:527,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:529,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - sm
    - priv
    - respData
    argTypes:
    - struct eap_sm*
    - void*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 521
    functionDepth: 1
    functionLinenumber: 521
    functionLinenumberEnd: 534
    functionName: eap_ttls_check
    functionSourceFile: /src/hostap/src/eap_server/eap_server_ttls.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_hdr_validate
    linkageType: ''
    returnType: bool
    signature: "bool eap_ttls_check(struct eap_sm *sm, void *priv,\n\t\t\t   struct
      wpabuf *respData)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:544,1
    - Dst: eap_ttls_state
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:546,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:551,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:553,1
    - Dst: eap_ttls_state
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:554,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:558,1
    - Dst: eap_ttls_state
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:559,1
    - Dst: eap_ttls_valid_session
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:560,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - sm
    - data
    - user_password
    - user_password_len
    argTypes:
    - struct eap_sm*
    - struct eap_ttls_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 537
    functionDepth: 2
    functionLinenumber: 537
    functionLinenumberEnd: 561
    functionName: eap_ttls_process_phase2_pap
    functionSourceFile: /src/hostap/src/eap_server/eap_server_ttls.c
    functionUses: 0
    functionsReached:
    - eap_ttls_state
    - wpa_printf
    - os_memcmp_const
    - eap_ttls_valid_session
    linkageType: ''
    returnType: void
    signature: "void eap_ttls_process_phase2_pap(struct eap_sm *sm,\n\t\t\t\t\tstruct
      eap_ttls_data *data,\n\t\t\t\t\tconst u8 *user_password,\n\t\t\t\t\tsize_t user_password_len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:572,1
    - Dst: eap_ttls_state
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:573,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:580,1
    - Dst: eap_ttls_state
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:584,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:590,1
    - Dst: eap_ttls_state
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:592,1
    - Dst: eap_ttls_implicit_challenge
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:596,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:599,1
    - Dst: eap_ttls_state
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:601,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:605,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:608,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:609,1
    - Dst: eap_ttls_state
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:610,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:613,1
    - Dst: chap_md5
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:616,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:619,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:621,1
    - Dst: eap_ttls_state
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:622,1
    - Dst: eap_ttls_valid_session
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:623,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:625,1
    - Dst: eap_ttls_state
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:626,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 6
    argNames:
    - sm
    - data
    - challenge
    - challenge_len
    - password
    - password_len
    argTypes:
    - struct eap_sm*
    - struct eap_ttls_data*
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 564
    functionDepth: 2
    functionLinenumber: 564
    functionLinenumberEnd: 629
    functionName: eap_ttls_process_phase2_chap
    functionSourceFile: /src/hostap/src/eap_server/eap_server_ttls.c
    functionUses: 0
    functionsReached:
    - eap_ttls_state
    - wpa_printf
    - eap_ttls_valid_session
    - os_memcmp_const
    - chap_md5
    - eap_ttls_implicit_challenge
    - os_free
    linkageType: ''
    returnType: void
    signature: "void eap_ttls_process_phase2_chap(struct eap_sm *sm,\n\t\t\t\t\t struct
      eap_ttls_data *data,\n\t\t\t\t\t const u8 *challenge,\n\t\t\t\t\t size_t challenge_len,\n\t\t\t\t\t
      const u8 *password,\n\t\t\t\t\t size_t password_len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:642,1
    - Dst: eap_ttls_state
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:646,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:652,1
    - Dst: eap_ttls_state
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:654,1
    - Dst: eap_ttls_implicit_challenge
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:658,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:661,1
    - Dst: eap_ttls_state
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:663,1
    - Dst: eap_server_mschap_rx_callback
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:668,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:673,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:676,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:677,1
    - Dst: eap_ttls_state
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:678,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:681,1
    - Dst: challenge_response
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:684,1
    - Dst: nt_challenge_response
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:686,1
    - Dst: eap_ttls_state
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:688,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:692,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:693,1
    - Dst: eap_ttls_state
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:694,1
    - Dst: eap_ttls_valid_session
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:695,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:697,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:698,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:700,1
    - Dst: eap_ttls_state
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:702,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 6
    argNames:
    - sm
    - data
    - challenge
    - challenge_len
    - response
    - response_len
    argTypes:
    - struct eap_sm*
    - struct eap_ttls_data*
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 632
    functionDepth: 4
    functionLinenumber: 632
    functionLinenumberEnd: 704
    functionName: eap_ttls_process_phase2_mschap
    functionSourceFile: /src/hostap/src/eap_server/eap_server_ttls.c
    functionUses: 0
    functionsReached:
    - eap_ttls_state
    - eap_server_mschap_rx_callback
    - wpa_printf
    - wpa_hexdump
    - challenge_response
    - eap_ttls_valid_session
    - os_memcmp_const
    - eap_ttls_implicit_challenge
    - os_free
    - nt_challenge_response
    linkageType: ''
    returnType: void
    signature: "void eap_ttls_process_phase2_mschap(struct eap_sm *sm,\n\t\t\t\t\t
      \  struct eap_ttls_data *data,\n\t\t\t\t\t   u8 *challenge, size_t challenge_len,\n\t\t\t\t\t
      \  u8 *response, size_t response_len)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:720,1
    - Dst: eap_ttls_state
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:724,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:730,1
    - Dst: eap_ttls_state
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:732,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:737,1
    - Dst: eap_ttls_state
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:739,1
    - Dst: eap_ttls_implicit_challenge
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:756,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:759,1
    - Dst: eap_ttls_state
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:761,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:765,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:768,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:769,1
    - Dst: eap_ttls_state
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:770,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:773,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:778,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:780,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:782,1
    - Dst: generate_nt_response_pwhash
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:786,1
    - Dst: generate_nt_response
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:791,1
    - Dst: challenge_hash
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:803,1
    - Dst: eap_server_mschap_rx_callback
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:805,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:811,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:812,1
    - Dst: generate_authenticator_response_pwhash
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:817,1
    - Dst: generate_authenticator_response
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:823,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:830,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:832,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:834,1
    - Dst: eap_ttls_state
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:838,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 69
    argCount: 6
    argNames:
    - sm
    - data
    - challenge
    - challenge_len
    - response
    - response_len
    argTypes:
    - struct eap_sm*
    - struct eap_ttls_data*
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 707
    functionDepth: 4
    functionLinenumber: 707
    functionLinenumberEnd: 840
    functionName: eap_ttls_process_phase2_mschapv2
    functionSourceFile: /src/hostap/src/eap_server/eap_server_ttls.c
    functionUses: 1
    functionsReached:
    - eap_ttls_state
    - eap_server_mschap_rx_callback
    - wpa_printf
    - wpa_hexdump
    - generate_nt_response
    - generate_authenticator_response_pwhash
    - generate_nt_response_pwhash
    - os_memcmp_const
    - challenge_hash
    - generate_authenticator_response
    - eap_ttls_implicit_challenge
    - os_free
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: void
    signature: "void eap_ttls_process_phase2_mschapv2(struct eap_sm *sm,\n\t\t\t\t\t
      \    struct eap_ttls_data *data,\n\t\t\t\t\t     u8 *challenge,\n\t\t\t\t\t
      \    size_t challenge_len,\n\t\t\t\t\t     u8 *response, size_t response_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct eap_ttls_data*::phase2_method::reset
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:848,1
    - Dst: eap_server_get_eap_method
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:852,1
    - Dst: struct eap_ttls_data*::phase2_method::init
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:857,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - sm
    - data
    - vendor
    - eap_type
    argTypes:
    - struct eap_sm*
    - struct eap_ttls_data*
    - int
    - enum eap_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 843
    functionDepth: 1
    functionLinenumber: 843
    functionLinenumberEnd: 860
    functionName: eap_ttls_phase2_eap_init
    functionSourceFile: /src/hostap/src/eap_server/eap_server_ttls.c
    functionUses: 0
    functionsReached:
    - struct eap_ttls_data*::phase2_method::reset
    - struct eap_ttls_data*::phase2_method::init
    - eap_server_get_eap_method
    linkageType: ''
    returnType: int
    signature: "int eap_ttls_phase2_eap_init(struct eap_sm *sm,\n\t\t\t\t    struct
      eap_ttls_data *data,\n\t\t\t\t    int vendor, enum eap_type eap_type)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:877,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:887,1
    - Dst: eap_sm_process_nak
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:889,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:897,1
    - Dst: eap_ttls_phase2_eap_init
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:899,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:901,1
    - Dst: eap_ttls_state
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:904,1
    - Dst: eap_ttls_state
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:908,1
    - Dst: wpabuf_set
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:913,1
    - Dst: struct eap_method*::check
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:915,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:916,1
    - Dst: struct eap_method*::process
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:921,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:924,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:926,1
    - Dst: wpabuf_dup
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:927,1
    - Dst: struct eap_method*::isDone
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:930,1
    - Dst: struct eap_method*::isSuccess
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:933,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:934,1
    - Dst: eap_ttls_state
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:935,1
    - Dst: eap_user_get
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:941,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:942,1
    - Dst: eap_ttls_state
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:946,1
    - Dst: eap_ttls_state
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:950,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:954,1
    - Dst: eap_ttls_phase2_eap_init
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:956,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:958,1
    - Dst: eap_ttls_state
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:961,1
    - Dst: eap_ttls_state
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:965,1
    - Dst: eap_ttls_valid_session
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:966,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:971,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 70
    argCount: 4
    argNames:
    - sm
    - data
    - in_data
    - in_len
    argTypes:
    - struct eap_sm*
    - struct eap_ttls_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 975
      start: 863
    functionDepth: 2
    functionLinenumber: 863
    functionLinenumberEnd: 975
    functionName: eap_ttls_process_phase2_eap_response
    functionSourceFile: /src/hostap/src/eap_server/eap_server_ttls.c
    functionUses: 0
    functionsReached:
    - eap_ttls_state
    - wpabuf_dup
    - wpa_printf
    - eap_sm_process_nak
    - wpa_hexdump
    - wpabuf_free
    - struct eap_method*::isSuccess
    - struct eap_method*::check
    - struct eap_method*::process
    - wpabuf_set
    - eap_ttls_valid_session
    - struct eap_method*::isDone
    - eap_user_get
    - wpa_hexdump_ascii
    - eap_ttls_phase2_eap_init
    linkageType: ''
    returnType: void
    signature: "void eap_ttls_process_phase2_eap_response(struct eap_sm *sm,\n\t\t\t\t\t\t
      struct eap_ttls_data *data,\n\t\t\t\t\t\t u8 *in_data, size_t in_len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:986,1
    - Dst: eap_ttls_phase2_eap_init
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:987,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:989,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:996,1
    - Dst: be_to_host16
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1002,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1003,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1007,1
    - Dst: eap_ttls_process_phase2_eap_response
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1015,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1019,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 4
    argNames:
    - sm
    - data
    - eap
    - eap_len
    argTypes:
    - struct eap_sm*
    - struct eap_ttls_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1023
      start: 978
    functionDepth: 3
    functionLinenumber: 978
    functionLinenumberEnd: 1023
    functionName: eap_ttls_process_phase2_eap
    functionSourceFile: /src/hostap/src/eap_server/eap_server_ttls.c
    functionUses: 2
    functionsReached:
    - be_to_host16
    - eap_ttls_process_phase2_eap_response
    - wpa_printf
    - eap_ttls_phase2_eap_init
    linkageType: ''
    returnType: void
    signature: "void eap_ttls_process_phase2_eap(struct eap_sm *sm,\n\t\t\t\t\tstruct
      eap_ttls_data *data,\n\t\t\t\t\tconst u8 *eap, size_t eap_len)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1033,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1034,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1037,1
    - Dst: eap_ttls_process_phase2_eap
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1039,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1040,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1041,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1042,1
    - Dst: tls_connection_decrypt
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1047,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1050,1
    - Dst: eap_ttls_state
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1052,1
    - Dst: wpa_hexdump_buf_key
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1056,1
    - Dst: eap_ttls_avp_parse
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1059,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1060,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1061,1
    - Dst: eap_ttls_state
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1062,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1068,1
    - Dst: printf_encode
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1070,1
    - Dst: eap_log_msg
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1073,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1074,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1077,1
    - Dst: os_memdup
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1078,1
    - Dst: eap_ttls_state
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1080,1
    - Dst: eap_user_get
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1084,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1086,1
    - Dst: eap_ttls_state
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1088,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1095,1
    - Dst: eap_ttls_state
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1097,1
    - Dst: eap_ttls_process_phase2_eap
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1103,1
    - Dst: eap_ttls_process_phase2_pap
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1106,1
    - Dst: eap_ttls_process_phase2_chap
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1109,1
    - Dst: eap_ttls_process_phase2_mschap
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1115,1
    - Dst: eap_ttls_process_phase2_mschapv2
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1121,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1129,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1130,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 69
    argCount: 3
    argNames:
    - sm
    - data
    - in_buf
    argTypes:
    - struct eap_sm*
    - struct eap_ttls_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1131
      start: 1026
    functionDepth: 5
    functionLinenumber: 1026
    functionLinenumberEnd: 1131
    functionName: eap_ttls_process_phase2
    functionSourceFile: /src/hostap/src/eap_server/eap_server_ttls.c
    functionUses: 0
    functionsReached:
    - eap_ttls_process_phase2_eap
    - wpa_printf
    - tls_connection_decrypt
    - os_memdup
    - eap_ttls_process_phase2_mschapv2
    - printf_encode
    - os_free
    - eap_ttls_process_phase2_pap
    - wpabuf_len
    - eap_log_msg
    - os_malloc
    - wpabuf_head
    - eap_ttls_process_phase2_mschap
    - eap_ttls_state
    - wpabuf_free
    - eap_ttls_avp_parse
    - eap_user_get
    - eap_ttls_process_phase2_chap
    - wpa_hexdump_buf_key
    linkageType: ''
    returnType: void
    signature: "void eap_ttls_process_phase2(struct eap_sm *sm,\n\t\t\t\t    struct
      eap_ttls_data *data,\n\t\t\t\t    struct wpabuf *in_buf)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1140,1
    - Dst: eap_ttls_phase2_eap_init
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1141,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1142,1
    - Dst: eap_ttls_state
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1143,1
    - Dst: eap_ttls_state
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1148,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - sm
    - data
    argTypes:
    - struct eap_sm*
    - struct eap_ttls_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1150
      start: 1134
    functionDepth: 2
    functionLinenumber: 1134
    functionLinenumberEnd: 1150
    functionName: eap_ttls_start_tnc
    functionSourceFile: /src/hostap/src/eap_server/eap_server_ttls.c
    functionUses: 0
    functionsReached:
    - eap_ttls_state
    - wpa_printf
    - eap_ttls_phase2_eap_init
    linkageType: ''
    returnType: void
    signature: void eap_ttls_start_tnc(struct eap_sm *sm, struct eap_ttls_data *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - sm
    - priv
    - peer_version
    argTypes:
    - struct eap_sm*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1165
      start: 1153
    functionDepth: 0
    functionLinenumber: 1153
    functionLinenumberEnd: 1165
    functionName: eap_ttls_process_version
    functionSourceFile: /src/hostap/src/eap_server/eap_server_ttls.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int eap_ttls_process_version(struct eap_sm *sm, void *priv,\n\t\t\t\t
      \   int peer_version)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: eap_server_tls_phase1
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1175,1
    - Dst: eap_ttls_state
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1176,1
    - Dst: eap_ttls_process_phase2
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1180,1
    - Dst: eap_ttls_start_tnc
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1181,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1184,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1186,1
    - Dst: eap_ttls_state
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1188,1
    - Dst: eap_ttls_valid_session
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1189,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1191,1
    - Dst: eap_ttls_state
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1193,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1195,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1199,1
    - Dst: eap_ttls_state
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1200,1
    - Dst: eap_ttls_start_tnc
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1202,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1205,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 3
    argNames:
    - sm
    - priv
    - respData
    argTypes:
    - struct eap_sm*
    - void*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1209
      start: 1168
    functionDepth: 6
    functionLinenumber: 1168
    functionLinenumberEnd: 1209
    functionName: eap_ttls_process_msg
    functionSourceFile: /src/hostap/src/eap_server/eap_server_ttls.c
    functionUses: 0
    functionsReached:
    - eap_ttls_state
    - eap_ttls_process_phase2
    - eap_ttls_start_tnc
    - wpa_printf
    - wpabuf_len
    - eap_server_tls_phase1
    - eap_ttls_valid_session
    linkageType: ''
    returnType: void
    signature: "void eap_ttls_process_msg(struct eap_sm *sm, void *priv,\n\t\t\t\t
      const struct wpabuf *respData)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: eap_server_tls_process
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1220,1
    - Dst: eap_ttls_state
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1223,1
    - Dst: tls_connection_established
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1227,1
    - Dst: tls_connection_resumed
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1228,1
    - Dst: tls_connection_get_success_data
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1231,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1232,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1233,1
    - Dst: eap_ttls_state
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1235,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1239,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1241,1
    - Dst: eap_ttls_state
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1244,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1250,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1252,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1253,1
    - Dst: eap_ttls_state
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1256,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1260,1
    - Dst: eap_user_get
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1263,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1264,1
    - Dst: eap_ttls_state
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1266,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1270,1
    - Dst: eap_ttls_state
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1272,1
    - Dst: tls_connection_set_success_data_resumed
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1273,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 3
    argNames:
    - sm
    - priv
    - respData
    argTypes:
    - struct eap_sm*
    - void*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1212
    functionDepth: 4
    functionLinenumber: 1212
    functionLinenumberEnd: 1274
    functionName: eap_ttls_process
    functionSourceFile: /src/hostap/src/eap_server/eap_server_ttls.c
    functionUses: 0
    functionsReached:
    - eap_ttls_state
    - eap_server_tls_process
    - wpa_printf
    - os_memcpy
    - tls_connection_get_success_data
    - wpabuf_len
    - os_malloc
    - wpabuf_head
    - eap_user_get
    - tls_connection_resumed
    - tls_connection_established
    - os_free
    - tls_connection_set_success_data_resumed
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: void
    signature: "void eap_ttls_process(struct eap_sm *sm, void *priv,\n\t\t\t     struct
      wpabuf *respData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1281
      start: 1277
    functionDepth: 0
    functionLinenumber: 1277
    functionLinenumberEnd: 1281
    functionName: eap_ttls_isDone
    functionSourceFile: /src/hostap/src/eap_server/eap_server_ttls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool eap_ttls_isDone(struct eap_sm *sm, void *priv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: eap_server_tls_derive_key
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1304,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1309,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1312,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1316
      start: 1284
    functionDepth: 1
    functionLinenumber: 1284
    functionLinenumberEnd: 1316
    functionName: eap_ttls_getKey
    functionSourceFile: /src/hostap/src/eap_server/eap_server_ttls.c
    functionUses: 0
    functionsReached:
    - wpa_hexdump_key
    - wpa_printf
    - eap_server_tls_derive_key
    linkageType: ''
    returnType: u8
    signature: u8 * eap_ttls_getKey(struct eap_sm *sm, void *priv, size_t *len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1323
      start: 1319
    functionDepth: 0
    functionLinenumber: 1319
    functionLinenumberEnd: 1323
    functionName: eap_ttls_isSuccess
    functionSourceFile: /src/hostap/src/eap_server/eap_server_ttls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool eap_ttls_isSuccess(struct eap_sm *sm, void *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_server_tls_derive_session_id
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1333,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1335
      start: 1326
    functionDepth: 2
    functionLinenumber: 1326
    functionLinenumberEnd: 1335
    functionName: eap_ttls_get_session_id
    functionSourceFile: /src/hostap/src/eap_server/eap_server_ttls.c
    functionUses: 0
    functionsReached:
    - eap_server_tls_derive_session_id
    linkageType: ''
    returnType: u8
    signature: u8 * eap_ttls_get_session_id(struct eap_sm *sm, void *priv, size_t
      *len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: eap_server_tls_derive_key
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1358,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1362,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1364,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1366,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1372,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1375,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1379
      start: 1338
    functionDepth: 1
    functionLinenumber: 1338
    functionLinenumberEnd: 1379
    functionName: eap_ttls_get_emsk
    functionSourceFile: /src/hostap/src/eap_server/eap_server_ttls.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_printf
    - wpa_hexdump
    - os_malloc
    - eap_server_tls_derive_key
    - bin_clear_free
    linkageType: ''
    returnType: u8
    signature: u8 * eap_ttls_get_emsk(struct eap_sm *sm, void *priv, size_t *len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_server_method_alloc
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1386,1
    - Dst: eap_server_method_register
      Src: /src/hostap/src/eap_server/eap_server_ttls.c:1402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1403
      start: 1382
    functionDepth: 1
    functionLinenumber: 1382
    functionLinenumberEnd: 1403
    functionName: eap_server_ttls_register
    functionSourceFile: /src/hostap/src/eap_server/eap_server_ttls.c
    functionUses: 2
    functionsReached:
    - eap_server_method_register
    - eap_server_method_alloc
    linkageType: ''
    returnType: int
    signature: int eap_server_ttls_register(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - state
    argTypes:
    - enum eap_tnc_state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 60
    functionName: eap_tnc_state_txt
    functionSourceFile: /src/hostap/src/eap_server/eap_server_tnc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * eap_tnc_state_txt(enum eap_tnc_state state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:66,1
    - Dst: eap_tnc_state_txt
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:67,1
    - Dst: eap_tnc_state_txt
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - new_state
    argTypes:
    - struct eap_tnc_data*
    - enum eap_tnc_state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: eap_tnc_set_state
    functionSourceFile: /src/hostap/src/eap_server/eap_server_tnc.c
    functionUses: 0
    functionsReached:
    - eap_tnc_state_txt
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: "void eap_tnc_set_state(struct eap_tnc_data *data,\n\t\t\t      enum
      eap_tnc_state new_state)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:77,1
    - Dst: eap_tnc_set_state
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:80,1
    - Dst: tncs_init
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:81,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 91
    functionName: eap_tnc_init
    functionSourceFile: /src/hostap/src/eap_server/eap_server_tnc.c
    functionUses: 0
    functionsReached:
    - os_free
    - os_zalloc
    - eap_tnc_set_state
    - tncs_init
    linkageType: ''
    returnType: void
    signature: void * eap_tnc_init(struct eap_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:97,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:98,1
    - Dst: tncs_deinit
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:99,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 101
    functionName: eap_tnc_reset
    functionSourceFile: /src/hostap/src/eap_server/eap_server_tnc.c
    functionUses: 0
    functionsReached:
    - os_free
    - tncs_deinit
    - wpabuf_free
    linkageType: ''
    returnType: void
    signature: void eap_tnc_reset(struct eap_sm *sm, void *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_msg_alloc
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:109,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:112,1
    - Dst: eap_tnc_set_state
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:114,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:118,1
    - Dst: eap_tnc_set_state
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - sm
    - data
    - id
    argTypes:
    - struct eap_sm*
    - struct eap_tnc_data*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 123
    functionName: eap_tnc_build_start
    functionSourceFile: /src/hostap/src/eap_server/eap_server_tnc.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_msg_alloc
    - eap_tnc_set_state
    - wpabuf_put_u8
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_tnc_build_start(struct eap_sm *sm,\n\t\t\t\t\t
      \  struct eap_tnc_data *data, u8 id)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tncs_total_send_len
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:136,1
    - Dst: tncs_if_tnccs_start
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:138,1
    - Dst: os_strlen
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:141,1
    - Dst: tncs_if_tnccs_end
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:142,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:144,1
    - Dst: os_strlen
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:147,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:150,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:152,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:153,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:157,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:158,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:160,1
    - Dst: tncs_copy_send_buf
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:161,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:162,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:164,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:165,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:167,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:168,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:168,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 2
    argNames:
    - sm
    - data
    argTypes:
    - struct eap_sm*
    - struct eap_tnc_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 171
    functionName: eap_tnc_build
    functionSourceFile: /src/hostap/src/eap_server/eap_server_tnc.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpabuf_put
    - tncs_if_tnccs_end
    - wpabuf_put_data
    - wpabuf_len
    - wpabuf_head
    - wpabuf_alloc
    - tncs_total_send_len
    - os_free
    - tncs_if_tnccs_start
    - tncs_copy_send_buf
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_tnc_build(struct eap_sm *sm,\n\t\t\t\t     struct
      eap_tnc_data *data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: eap_tnc_set_state
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:179,1
    - Dst: eap_tnc_set_state
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:182,1
    - Dst: eap_tnc_set_state
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:186,1
    - Dst: eap_tnc_set_state
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:189,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:192,1
    - Dst: eap_tnc_build
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:196,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - sm
    - data
    argTypes:
    - struct eap_sm*
    - struct eap_tnc_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 197
    functionName: eap_tnc_build_recommendation
    functionSourceFile: /src/hostap/src/eap_server/eap_server_tnc.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_tnc_set_state
    - eap_tnc_build
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_tnc_build_recommendation(struct eap_sm *sm,\n\t\t\t\t\t\t
      \   struct eap_tnc_data *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_msg_alloc
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:204,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:206,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:210,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - id
    - code
    argTypes:
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 215
    functionName: eap_tnc_build_frag_ack
    functionSourceFile: /src/hostap/src/eap_server/eap_server_tnc.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - eap_msg_alloc
    - wpabuf_put_u8
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * eap_tnc_build_frag_ack(u8 id, u8 code)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:224,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:227,1
    - Dst: eap_msg_alloc
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:240,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:245,1
    - Dst: wpabuf_put_be32
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:247,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:247,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:249,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:249,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:253,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:254,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:257,1
    - Dst: eap_tnc_set_state
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:261,1
    - Dst: eap_tnc_set_state
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:263,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:265,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:267,1
    - Dst: eap_tnc_set_state
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:273,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 2
    argNames:
    - data
    - id
    argTypes:
    - struct eap_tnc_data*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 277
    functionName: eap_tnc_build_msg
    functionSourceFile: /src/hostap/src/eap_server/eap_server_tnc.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpabuf_head_u8
    - wpabuf_put_u8
    - wpabuf_put_data
    - wpabuf_len
    - eap_msg_alloc
    - wpabuf_free
    - eap_tnc_set_state
    - wpabuf_put_be32
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * eap_tnc_build_msg(struct eap_tnc_data *data, u8 id)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: tncs_init_connection
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:286,1
    - Dst: eap_tnc_build_start
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:287,1
    - Dst: eap_tnc_build
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:290,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:292,1
    - Dst: eap_tnc_build_msg
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:298,1
    - Dst: eap_tnc_build_recommendation
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:301,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:303,1
    - Dst: eap_tnc_build_msg
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:309,1
    - Dst: eap_tnc_build_msg
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:311,1
    - Dst: eap_tnc_build_frag_ack
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:313,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 3
    argNames:
    - sm
    - priv
    - id
    argTypes:
    - struct eap_sm*
    - void*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 280
    functionDepth: 3
    functionLinenumber: 280
    functionLinenumberEnd: 320
    functionName: eap_tnc_buildReq
    functionSourceFile: /src/hostap/src/eap_server/eap_server_tnc.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_tnc_build
    - tncs_init_connection
    - eap_tnc_build_recommendation
    - eap_tnc_build_msg
    - eap_tnc_build_frag_ack
    - eap_tnc_build_start
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * eap_tnc_buildReq(struct eap_sm *sm, void *priv, u8
      id)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:330,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:333,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:338,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:346,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:352,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - sm
    - priv
    - respData
    argTypes:
    - struct eap_sm*
    - void*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 357
    functionName: eap_tnc_check
    functionSourceFile: /src/hostap/src/eap_server/eap_server_tnc.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_hdr_validate
    linkageType: ''
    returnType: bool
    signature: "bool eap_tnc_check(struct eap_sm *sm, void *priv,\n\t\t\t  struct
      wpabuf *respData)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tncs_process_if_tnccs
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:364,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:364,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:365,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:368,1
    - Dst: eap_tnc_set_state
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:369,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:373,1
    - Dst: eap_tnc_set_state
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:374,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:378,1
    - Dst: eap_tnc_set_state
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:379,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:383,1
    - Dst: eap_tnc_set_state
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:384,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:388,1
    - Dst: eap_tnc_set_state
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:389,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 2
    argNames:
    - data
    - inbuf
    argTypes:
    - struct eap_tnc_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 360
    functionDepth: 2
    functionLinenumber: 360
    functionLinenumberEnd: 394
    functionName: tncs_process
    functionSourceFile: /src/hostap/src/eap_server/eap_server_tnc.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - tncs_process_if_tnccs
    - wpabuf_len
    - wpabuf_head
    - eap_tnc_set_state
    linkageType: ''
    returnType: void
    signature: void tncs_process(struct eap_tnc_data *data, struct wpabuf *inbuf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_tailroom
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:401,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:402,1
    - Dst: eap_tnc_set_state
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:403,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:407,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:408,1
    - Dst: wpabuf_tailroom
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:410,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - data
    - buf
    - len
    argTypes:
    - struct eap_tnc_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 397
    functionDepth: 2
    functionLinenumber: 397
    functionLinenumberEnd: 413
    functionName: eap_tnc_process_cont
    functionSourceFile: /src/hostap/src/eap_server/eap_server_tnc.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - eap_tnc_set_state
    - wpabuf_put_data
    - wpabuf_tailroom
    linkageType: ''
    returnType: int
    signature: "int eap_tnc_process_cont(struct eap_tnc_data *data,\n\t\t\t\tconst
      u8 *buf, size_t len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:422,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:429,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:431,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:435,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:436,1
    - Dst: wpabuf_tailroom
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:439,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 5
    argNames:
    - data
    - flags
    - message_length
    - buf
    - len
    argTypes:
    - struct eap_tnc_data*
    - u8
    - u32
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 443
    functionName: eap_tnc_process_fragment
    functionSourceFile: /src/hostap/src/eap_server/eap_server_tnc.c
    functionUses: 1
    functionsReached:
    - wpabuf_tailroom
    - wpa_printf
    - wpabuf_put_data
    - wpabuf_alloc
    linkageType: ''
    returnType: int
    signature: "int eap_tnc_process_fragment(struct eap_tnc_data *data,\n\t\t\t\t
      \   u8 flags, u32 message_length,\n\t\t\t\t    const u8 *buf, size_t len)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:456,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:463,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:476,1
    - Dst: eap_tnc_set_state
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:477,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:480,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:485,1
    - Dst: eap_tnc_set_state
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:488,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:492,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:497,1
    - Dst: eap_tnc_set_state
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:499,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:502,1
    - Dst: eap_tnc_set_state
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:503,1
    - Dst: eap_tnc_process_cont
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:507,1
    - Dst: eap_tnc_set_state
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:508,1
    - Dst: eap_tnc_process_fragment
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:513,1
    - Dst: eap_tnc_set_state
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:515,1
    - Dst: eap_tnc_set_state
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:517,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:520,1
    - Dst: eap_tnc_set_state
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:521,1
    - Dst: wpabuf_set
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:526,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:530,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:531,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:531,1
    - Dst: tncs_process
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:532,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:535,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 61
    argCount: 3
    argNames:
    - sm
    - priv
    - respData
    argTypes:
    - struct eap_sm*
    - void*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 446
    functionDepth: 3
    functionLinenumber: 446
    functionLinenumberEnd: 537
    functionName: eap_tnc_process
    functionSourceFile: /src/hostap/src/eap_server/eap_server_tnc.c
    functionUses: 0
    functionsReached:
    - eap_tnc_process_cont
    - wpa_printf
    - wpabuf_len
    - tncs_process
    - wpabuf_free
    - wpabuf_set
    - wpabuf_head
    - eap_tnc_set_state
    - eap_tnc_process_fragment
    - eap_hdr_validate
    - WPA_GET_BE32
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: void
    signature: "void eap_tnc_process(struct eap_sm *sm, void *priv,\n\t\t\t    struct
      wpabuf *respData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 544
    functionName: eap_tnc_isDone
    functionSourceFile: /src/hostap/src/eap_server/eap_server_tnc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool eap_tnc_isDone(struct eap_sm *sm, void *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 551
    functionName: eap_tnc_isSuccess
    functionSourceFile: /src/hostap/src/eap_server/eap_server_tnc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool eap_tnc_isSuccess(struct eap_sm *sm, void *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_server_method_alloc
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:558,1
    - Dst: eap_server_method_register
      Src: /src/hostap/src/eap_server/eap_server_tnc.c:571,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 554
    functionDepth: 1
    functionLinenumber: 554
    functionLinenumberEnd: 572
    functionName: eap_server_tnc_register
    functionSourceFile: /src/hostap/src/eap_server/eap_server_tnc.c
    functionUses: 2
    functionsReached:
    - eap_server_method_register
    - eap_server_method_alloc
    linkageType: ''
    returnType: int
    signature: int eap_server_tnc_register(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - state
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 49
    functionName: eap_sake_state_txt
    functionSourceFile: /src/hostap/src/eap_server/eap_server_sake.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * eap_sake_state_txt(int state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sake.c:54,1
    - Dst: eap_sake_state_txt
      Src: /src/hostap/src/eap_server/eap_server_sake.c:55,1
    - Dst: eap_sake_state_txt
      Src: /src/hostap/src/eap_server/eap_server_sake.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - state
    argTypes:
    - struct eap_sake_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: eap_sake_state
    functionSourceFile: /src/hostap/src/eap_server/eap_server_sake.c
    functionUses: 3
    functionsReached:
    - wpa_printf
    - eap_sake_state_txt
    linkageType: ''
    returnType: void
    signature: void eap_sake_state(struct eap_sake_data *data, int state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_server/eap_server_sake.c:65,1
    - Dst: os_get_random
      Src: /src/hostap/src/eap_server/eap_server_sake.c:70,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sake.c:71,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_sake.c:72,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sake.c:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 79
    functionName: eap_sake_init
    functionSourceFile: /src/hostap/src/eap_server/eap_server_sake.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_free
    - os_zalloc
    - os_get_random
    linkageType: ''
    returnType: void
    signature: void * eap_sake_init(struct eap_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_sake.c:85,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/eap_server/eap_server_sake.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: eap_sake_reset
    functionSourceFile: /src/hostap/src/eap_server/eap_server_sake.c
    functionUses: 0
    functionsReached:
    - os_free
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: void eap_sake_reset(struct eap_sm *sm, void *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_msg_alloc
      Src: /src/hostap/src/eap_server/eap_server_sake.c:99,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sake.c:102,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_server/eap_server_sake.c:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - data
    - id
    - length
    - subtype
    argTypes:
    - struct eap_sake_data*
    - u8
    - size_t
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 113
    functionName: eap_sake_build_msg
    functionSourceFile: /src/hostap/src/eap_server/eap_server_sake.c
    functionUses: 3
    functionsReached:
    - wpa_printf
    - eap_msg_alloc
    - wpabuf_put
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_sake_build_msg(struct eap_sake_data *data,\n\t\t\t\t\t
      \ u8 id, size_t length, u8 subtype)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sake.c:123,1
    - Dst: eap_sake_build_msg
      Src: /src/hostap/src/eap_server/eap_server_sake.c:127,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sake.c:133,1
    - Dst: eap_sake_add_attr
      Src: /src/hostap/src/eap_server/eap_server_sake.c:134,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sake.c:136,1
    - Dst: eap_sake_add_attr
      Src: /src/hostap/src/eap_server/eap_server_sake.c:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - sm
    - data
    - id
    argTypes:
    - struct eap_sm*
    - struct eap_sake_data*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 141
    functionName: eap_sake_build_identity
    functionSourceFile: /src/hostap/src/eap_server/eap_server_sake.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_sake_build_msg
    - eap_sake_add_attr
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_sake_build_identity(struct eap_sm *sm,\n\t\t\t\t\t
      \      struct eap_sake_data *data,\n\t\t\t\t\t       u8 id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sake.c:151,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/eap_server/eap_server_sake.c:153,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sake.c:154,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_sake.c:158,1
    - Dst: eap_sake_build_msg
      Src: /src/hostap/src/eap_server/eap_server_sake.c:162,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sake.c:168,1
    - Dst: eap_sake_add_attr
      Src: /src/hostap/src/eap_server/eap_server_sake.c:169,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sake.c:172,1
    - Dst: eap_sake_add_attr
      Src: /src/hostap/src/eap_server/eap_server_sake.c:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - sm
    - data
    - id
    argTypes:
    - struct eap_sm*
    - struct eap_sake_data*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 177
    functionName: eap_sake_build_challenge
    functionSourceFile: /src/hostap/src/eap_server/eap_server_sake.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - random_get_bytes
    - eap_sake_build_msg
    - wpa_hexdump
    - eap_sake_add_attr
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_sake_build_challenge(struct eap_sm *sm,\n\t\t\t\t\t\tstruct
      eap_sake_data *data,\n\t\t\t\t\t\tu8 id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sake.c:187,1
    - Dst: eap_sake_build_msg
      Src: /src/hostap/src/eap_server/eap_server_sake.c:189,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sake.c:196,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server_sake.c:197,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server_sake.c:198,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_server/eap_server_sake.c:199,1
    - Dst: eap_sake_compute_mic
      Src: /src/hostap/src/eap_server/eap_server_sake.c:200,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_server/eap_server_sake.c:203,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_sake.c:203,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sake.c:205,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_sake.c:207,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - sm
    - data
    - id
    argTypes:
    - struct eap_sm*
    - struct eap_sake_data*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 212
    functionName: eap_sake_build_confirm
    functionSourceFile: /src/hostap/src/eap_server/eap_server_sake.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put
    - eap_sake_build_msg
    - wpabuf_put_u8
    - wpabuf_len
    - eap_sake_compute_mic
    - wpabuf_free
    - wpabuf_head
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_sake_build_confirm(struct eap_sm *sm,\n\t\t\t\t\t
      \     struct eap_sake_data *data,\n\t\t\t\t\t      u8 id)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: eap_sake_build_identity
      Src: /src/hostap/src/eap_server/eap_server_sake.c:221,1
    - Dst: eap_sake_build_challenge
      Src: /src/hostap/src/eap_server/eap_server_sake.c:223,1
    - Dst: eap_sake_build_confirm
      Src: /src/hostap/src/eap_server/eap_server_sake.c:225,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sake.c:227,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - sm
    - priv
    - id
    argTypes:
    - struct eap_sm*
    - void*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 232
    functionName: eap_sake_buildReq
    functionSourceFile: /src/hostap/src/eap_server/eap_server_sake.c
    functionUses: 0
    functionsReached:
    - eap_sake_build_challenge
    - wpa_printf
    - eap_sake_build_identity
    - eap_sake_build_confirm
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * eap_sake_buildReq(struct eap_sm *sm, void *priv, u8
      id)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_server/eap_server_sake.c:244,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sake.c:246,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sake.c:256,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sake.c:261,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sake.c:266,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sake.c:280,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 3
    argNames:
    - sm
    - priv
    - respData
    argTypes:
    - struct eap_sm*
    - void*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 284
    functionName: eap_sake_check
    functionSourceFile: /src/hostap/src/eap_server/eap_server_sake.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_hdr_validate
    linkageType: ''
    returnType: bool
    signature: "bool eap_sake_check(struct eap_sm *sm, void *priv,\n\t\t\t   struct
      wpabuf *respData)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sake.c:295,1
    - Dst: eap_sake_state
      Src: /src/hostap/src/eap_server/eap_server_sake.c:297,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - sm
    - data
    - respData
    - payload
    - payloadlen
    argTypes:
    - struct eap_sm*
    - struct eap_sake_data*
    - struct wpabuf*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 298
    functionName: eap_sake_process_identity
    functionSourceFile: /src/hostap/src/eap_server/eap_server_sake.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - eap_sake_state
    linkageType: ''
    returnType: void
    signature: "void eap_sake_process_identity(struct eap_sm *sm,\n\t\t\t\t      struct
      eap_sake_data *data,\n\t\t\t\t      const struct wpabuf *respData,\n\t\t\t\t
      \     const u8 *payload, size_t payloadlen)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sake.c:312,1
    - Dst: eap_sake_parse_attributes
      Src: /src/hostap/src/eap_server/eap_server_sake.c:314,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sake.c:318,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_sake.c:323,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_sake.c:325,1
    - Dst: os_memdup
      Src: /src/hostap/src/eap_server/eap_server_sake.c:329,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sake.c:337,1
    - Dst: eap_sake_derive_keys
      Src: /src/hostap/src/eap_server/eap_server_sake.c:343,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sake.c:348,1
    - Dst: eap_sake_compute_mic
      Src: /src/hostap/src/eap_server/eap_server_sake.c:353,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_server/eap_server_sake.c:356,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_sake.c:356,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sake.c:358,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/eap_server/eap_server_sake.c:362,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sake.c:363,1
    - Dst: eap_sake_state
      Src: /src/hostap/src/eap_server/eap_server_sake.c:364,1
    - Dst: eap_sake_state
      Src: /src/hostap/src/eap_server/eap_server_sake.c:368,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 5
    argNames:
    - sm
    - data
    - respData
    - payload
    - payloadlen
    argTypes:
    - struct eap_sm*
    - struct eap_sake_data*
    - struct wpabuf*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 369
    functionName: eap_sake_process_challenge
    functionSourceFile: /src/hostap/src/eap_server/eap_server_sake.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - os_memcpy
    - eap_sake_derive_keys
    - eap_sake_parse_attributes
    - os_memdup
    - eap_sake_compute_mic
    - wpabuf_len
    - wpabuf_head
    - os_memcmp_const
    - eap_sake_state
    - os_free
    linkageType: ''
    returnType: void
    signature: "void eap_sake_process_challenge(struct eap_sm *sm,\n\t\t\t\t       struct
      eap_sake_data *data,\n\t\t\t\t       const struct wpabuf *respData,\n\t\t\t\t
      \      const u8 *payload, size_t payloadlen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sake.c:383,1
    - Dst: eap_sake_parse_attributes
      Src: /src/hostap/src/eap_server/eap_server_sake.c:385,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sake.c:389,1
    - Dst: eap_sake_compute_mic
      Src: /src/hostap/src/eap_server/eap_server_sake.c:394,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_server/eap_server_sake.c:397,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_sake.c:397,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sake.c:399,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/eap_server/eap_server_sake.c:402,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sake.c:403,1
    - Dst: eap_sake_state
      Src: /src/hostap/src/eap_server/eap_server_sake.c:404,1
    - Dst: eap_sake_state
      Src: /src/hostap/src/eap_server/eap_server_sake.c:406,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 5
    argNames:
    - sm
    - data
    - respData
    - payload
    - payloadlen
    argTypes:
    - struct eap_sm*
    - struct eap_sake_data*
    - struct wpabuf*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 407
    functionName: eap_sake_process_confirm
    functionSourceFile: /src/hostap/src/eap_server/eap_server_sake.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - eap_sake_parse_attributes
    - eap_sake_compute_mic
    - wpabuf_len
    - wpabuf_head
    - os_memcmp_const
    - eap_sake_state
    linkageType: ''
    returnType: void
    signature: "void eap_sake_process_confirm(struct eap_sm *sm,\n\t\t\t\t     struct
      eap_sake_data *data,\n\t\t\t\t     const struct wpabuf *respData,\n\t\t\t\t
      \    const u8 *payload, size_t payloadlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_sake.c:415,1
    - Dst: eap_sake_state
      Src: /src/hostap/src/eap_server/eap_server_sake.c:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - sm
    - data
    - respData
    - payload
    - payloadlen
    argTypes:
    - struct eap_sm*
    - struct eap_sake_data*
    - struct wpabuf*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 417
    functionName: eap_sake_process_auth_reject
    functionSourceFile: /src/hostap/src/eap_server/eap_server_sake.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_sake_state
    linkageType: ''
    returnType: void
    signature: "void eap_sake_process_auth_reject(struct eap_sm *sm,\n\t\t\t\t\t struct
      eap_sake_data *data,\n\t\t\t\t\t const struct wpabuf *respData,\n\t\t\t\t\t
      const u8 *payload, size_t payloadlen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_server/eap_server_sake.c:429,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_sake.c:438,1
    - Dst: eap_sake_process_identity
      Src: /src/hostap/src/eap_server/eap_server_sake.c:443,1
    - Dst: eap_sake_process_challenge
      Src: /src/hostap/src/eap_server/eap_server_sake.c:446,1
    - Dst: eap_sake_process_confirm
      Src: /src/hostap/src/eap_server/eap_server_sake.c:449,1
    - Dst: eap_sake_process_auth_reject
      Src: /src/hostap/src/eap_server/eap_server_sake.c:452,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - sm
    - priv
    - respData
    argTypes:
    - struct eap_sm*
    - void*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 456
    functionName: eap_sake_process
    functionSourceFile: /src/hostap/src/eap_server/eap_server_sake.c
    functionUses: 0
    functionsReached:
    - eap_sake_process_identity
    - wpa_hexdump
    - eap_sake_process_challenge
    - eap_sake_process_confirm
    - eap_sake_process_auth_reject
    - eap_hdr_validate
    linkageType: ''
    returnType: void
    signature: "void eap_sake_process(struct eap_sm *sm, void *priv,\n\t\t\t     struct
      wpabuf *respData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 463
    functionName: eap_sake_isDone
    functionSourceFile: /src/hostap/src/eap_server/eap_server_sake.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool eap_sake_isDone(struct eap_sm *sm, void *priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memdup
      Src: /src/hostap/src/eap_server/eap_server_sake.c:474,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 480
    functionName: eap_sake_getKey
    functionSourceFile: /src/hostap/src/eap_server/eap_server_sake.c
    functionUses: 0
    functionsReached:
    - os_memdup
    linkageType: ''
    returnType: u8
    signature: u8 * eap_sake_getKey(struct eap_sm *sm, void *priv, size_t *len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memdup
      Src: /src/hostap/src/eap_server/eap_server_sake.c:491,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 497
    functionName: eap_sake_get_emsk
    functionSourceFile: /src/hostap/src/eap_server/eap_server_sake.c
    functionUses: 0
    functionsReached:
    - os_memdup
    linkageType: ''
    returnType: u8
    signature: u8 * eap_sake_get_emsk(struct eap_sm *sm, void *priv, size_t *len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 504
    functionName: eap_sake_isSuccess
    functionSourceFile: /src/hostap/src/eap_server/eap_server_sake.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool eap_sake_isSuccess(struct eap_sm *sm, void *priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/eap_server/eap_server_sake.c:516,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_sake.c:521,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_sake.c:522,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_sake.c:523,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 526
    functionName: eap_sake_get_session_id
    functionSourceFile: /src/hostap/src/eap_server/eap_server_sake.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - os_malloc
    - wpa_hexdump
    linkageType: ''
    returnType: u8
    signature: u8 * eap_sake_get_session_id(struct eap_sm *sm, void *priv, size_t
      *len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_server_method_alloc
      Src: /src/hostap/src/eap_server/eap_server_sake.c:533,1
    - Dst: eap_server_method_register
      Src: /src/hostap/src/eap_server/eap_server_sake.c:549,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 529
    functionDepth: 1
    functionLinenumber: 529
    functionLinenumberEnd: 550
    functionName: eap_server_sake_register
    functionSourceFile: /src/hostap/src/eap_server/eap_server_sake.c
    functionUses: 2
    functionsReached:
    - eap_server_method_register
    - eap_server_method_alloc
    linkageType: ''
    returnType: int
    signature: int eap_server_sake_register(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - state
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 56
    functionName: eap_eke_state_txt
    functionSourceFile: /src/hostap/src/eap_server/eap_server_eke.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * eap_eke_state_txt(int state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_eke.c:61,1
    - Dst: eap_eke_state_txt
      Src: /src/hostap/src/eap_server/eap_server_eke.c:62,1
    - Dst: eap_eke_state_txt
      Src: /src/hostap/src/eap_server/eap_server_eke.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - state
    argTypes:
    - struct eap_eke_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: eap_eke_state
    functionSourceFile: /src/hostap/src/eap_server/eap_server_eke.c
    functionUses: 5
    functionsReached:
    - eap_eke_state_txt
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void eap_eke_state(struct eap_eke_data *data, int state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_eke.c:70,1
    - Dst: eap_eke_state
      Src: /src/hostap/src/eap_server/eap_server_eke.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - code
    argTypes:
    - struct eap_eke_data*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: eap_eke_fail
    functionSourceFile: /src/hostap/src/eap_server/eap_server_eke.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_eke_state
    linkageType: ''
    returnType: void
    signature: void eap_eke_fail(struct eap_eke_data *data, u32 code)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_server/eap_server_eke.c:81,1
    - Dst: eap_eke_state
      Src: /src/hostap/src/eap_server/eap_server_eke.c:84,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 98
    functionName: eap_eke_init
    functionSourceFile: /src/hostap/src/eap_server/eap_server_eke.c
    functionUses: 0
    functionsReached:
    - os_zalloc
    - eap_eke_state
    linkageType: ''
    returnType: void
    signature: void * eap_eke_init(struct eap_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eap_eke_session_clean
      Src: /src/hostap/src/eap_server/eap_server_eke.c:104,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_eke.c:105,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_eke.c:106,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/eap_server/eap_server_eke.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 108
    functionName: eap_eke_reset
    functionSourceFile: /src/hostap/src/eap_server/eap_server_eke.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpabuf_free
    - eap_eke_session_clean
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: void eap_eke_reset(struct eap_sm *sm, void *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_msg_alloc
      Src: /src/hostap/src/eap_server/eap_server_eke.c:119,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_eke.c:122,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server_eke.c:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - data
    - id
    - length
    - eke_exch
    argTypes:
    - struct eap_eke_data*
    - u8
    - size_t
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 129
    functionName: eap_eke_build_msg
    functionSourceFile: /src/hostap/src/eap_server/eap_server_eke.c
    functionUses: 4
    functionsReached:
    - wpa_printf
    - eap_msg_alloc
    - wpabuf_put_u8
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_eke_build_msg(struct eap_eke_data *data,\n\t\t\t\t\t
      u8 id, size_t length, u8 eke_exch)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 10
    argCount: 1
    argNames:
    - pos
    argTypes:
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 159
    functionName: supported_proposal
    functionSourceFile: /src/hostap/src/eap_server/eap_server_eke.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int supported_proposal(const u8 *pos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_eke.c:166,1
    - Dst: eap_eke_build_msg
      Src: /src/hostap/src/eap_server/eap_server_eke.c:169,1
    - Dst: eap_eke_state
      Src: /src/hostap/src/eap_server/eap_server_eke.c:171,1
    - Dst: wpabuf_put_be32
      Src: /src/hostap/src/eap_server/eap_server_eke.c:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - data
    - id
    argTypes:
    - struct eap_eke_data*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 177
    functionName: eap_eke_build_failure
    functionSourceFile: /src/hostap/src/eap_server/eap_server_eke.c
    functionUses: 0
    functionsReached:
    - eap_eke_build_msg
    - wpa_printf
    - eap_eke_state
    - wpabuf_put_be32
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * eap_eke_build_failure(struct eap_eke_data *data, u8
      id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_eke.c:187,1
    - Dst: eap_eke_build_msg
      Src: /src/hostap/src/eap_server/eap_server_eke.c:190,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server_eke.c:194,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server_eke.c:195,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server_eke.c:198,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server_eke.c:199,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server_eke.c:200,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server_eke.c:201,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server_eke.c:204,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server_eke.c:205,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server_eke.c:206,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server_eke.c:207,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server_eke.c:210,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server_eke.c:211,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server_eke.c:212,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server_eke.c:213,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server_eke.c:219,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server_eke.c:220,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server_eke.c:221,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server_eke.c:222,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server_eke.c:225,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_server/eap_server_eke.c:226,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_eke.c:228,1
    - Dst: wpabuf_dup
      Src: /src/hostap/src/eap_server/eap_server_eke.c:229,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_eke.c:231,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 33
    argCount: 3
    argNames:
    - sm
    - data
    - id
    argTypes:
    - struct eap_sm*
    - struct eap_eke_data*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 236
    functionName: eap_eke_build_identity
    functionSourceFile: /src/hostap/src/eap_server/eap_server_eke.c
    functionUses: 0
    functionsReached:
    - wpabuf_dup
    - wpa_printf
    - wpabuf_put_data
    - wpabuf_put_u8
    - eap_eke_build_msg
    - wpabuf_free
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_eke_build_identity(struct eap_sm *sm,\n\t\t\t\t\t
      \     struct eap_eke_data *data,\n\t\t\t\t\t      u8 id)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_eke.c:245,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_eke.c:248,1
    - Dst: eap_eke_fail
      Src: /src/hostap/src/eap_server/eap_server_eke.c:249,1
    - Dst: eap_eke_build_failure
      Src: /src/hostap/src/eap_server/eap_server_eke.c:250,1
    - Dst: eap_eke_derive_key
      Src: /src/hostap/src/eap_server/eap_server_eke.c:253,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_eke.c:257,1
    - Dst: eap_eke_fail
      Src: /src/hostap/src/eap_server/eap_server_eke.c:258,1
    - Dst: eap_eke_build_failure
      Src: /src/hostap/src/eap_server/eap_server_eke.c:259,1
    - Dst: eap_eke_build_msg
      Src: /src/hostap/src/eap_server/eap_server_eke.c:262,1
    - Dst: eap_eke_fail
      Src: /src/hostap/src/eap_server/eap_server_eke.c:265,1
    - Dst: eap_eke_build_failure
      Src: /src/hostap/src/eap_server/eap_server_eke.c:266,1
    - Dst: eap_eke_dh_init
      Src: /src/hostap/src/eap_server/eap_server_eke.c:277,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_eke.c:278,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_eke.c:279,1
    - Dst: eap_eke_fail
      Src: /src/hostap/src/eap_server/eap_server_eke.c:280,1
    - Dst: eap_eke_build_failure
      Src: /src/hostap/src/eap_server/eap_server_eke.c:281,1
    - Dst: eap_eke_dhcomp
      Src: /src/hostap/src/eap_server/eap_server_eke.c:284,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_server/eap_server_eke.c:285,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_eke.c:287,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_eke.c:288,1
    - Dst: eap_eke_fail
      Src: /src/hostap/src/eap_server/eap_server_eke.c:289,1
    - Dst: eap_eke_build_failure
      Src: /src/hostap/src/eap_server/eap_server_eke.c:290,1
    - Dst: wpabuf_resize
      Src: /src/hostap/src/eap_server/eap_server_eke.c:293,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_eke.c:293,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_eke.c:294,1
    - Dst: eap_eke_fail
      Src: /src/hostap/src/eap_server/eap_server_eke.c:295,1
    - Dst: eap_eke_build_failure
      Src: /src/hostap/src/eap_server/eap_server_eke.c:296,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/eap_server/eap_server_eke.c:298,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 3
    argNames:
    - sm
    - data
    - id
    argTypes:
    - struct eap_sm*
    - struct eap_eke_data*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 301
    functionName: eap_eke_build_commit
    functionSourceFile: /src/hostap/src/eap_server/eap_server_eke.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_eke_dh_init
    - wpabuf_put
    - wpabuf_resize
    - eap_eke_build_msg
    - wpabuf_len
    - wpabuf_free
    - eap_eke_build_failure
    - eap_eke_fail
    - wpabuf_put_buf
    - eap_eke_dhcomp
    - eap_eke_derive_key
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_eke_build_commit(struct eap_sm *sm,\n\t\t\t\t\t
      \   struct eap_eke_data *data, u8 id)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_eke.c:312,1
    - Dst: eap_eke_build_msg
      Src: /src/hostap/src/eap_server/eap_server_eke.c:315,1
    - Dst: eap_eke_fail
      Src: /src/hostap/src/eap_server/eap_server_eke.c:317,1
    - Dst: eap_eke_build_failure
      Src: /src/hostap/src/eap_server/eap_server_eke.c:318,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/eap_server/eap_server_eke.c:321,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_eke.c:322,1
    - Dst: eap_eke_fail
      Src: /src/hostap/src/eap_server/eap_server_eke.c:323,1
    - Dst: eap_eke_build_failure
      Src: /src/hostap/src/eap_server/eap_server_eke.c:324,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_server/eap_server_eke.c:326,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_eke.c:329,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_eke.c:330,1
    - Dst: wpabuf_tailroom
      Src: /src/hostap/src/eap_server/eap_server_eke.c:332,1
    - Dst: eap_eke_prot
      Src: /src/hostap/src/eap_server/eap_server_eke.c:333,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_server/eap_server_eke.c:334,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_eke.c:335,1
    - Dst: eap_eke_fail
      Src: /src/hostap/src/eap_server/eap_server_eke.c:336,1
    - Dst: eap_eke_build_failure
      Src: /src/hostap/src/eap_server/eap_server_eke.c:337,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_server/eap_server_eke.c:339,1
    - Dst: eap_eke_derive_ka
      Src: /src/hostap/src/eap_server/eap_server_eke.c:341,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_eke.c:345,1
    - Dst: eap_eke_fail
      Src: /src/hostap/src/eap_server/eap_server_eke.c:346,1
    - Dst: eap_eke_build_failure
      Src: /src/hostap/src/eap_server/eap_server_eke.c:347,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_server/eap_server_eke.c:350,1
    - Dst: eap_eke_auth
      Src: /src/hostap/src/eap_server/eap_server_eke.c:351,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_eke.c:352,1
    - Dst: eap_eke_fail
      Src: /src/hostap/src/eap_server/eap_server_eke.c:353,1
    - Dst: eap_eke_build_failure
      Src: /src/hostap/src/eap_server/eap_server_eke.c:354,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_eke.c:356,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 3
    argNames:
    - sm
    - data
    - id
    argTypes:
    - struct eap_sm*
    - struct eap_eke_data*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 304
    functionDepth: 2
    functionLinenumber: 304
    functionLinenumberEnd: 359
    functionName: eap_eke_build_confirm
    functionSourceFile: /src/hostap/src/eap_server/eap_server_eke.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - random_get_bytes
    - wpa_hexdump_key
    - os_memcpy
    - wpabuf_put
    - wpa_hexdump
    - eap_eke_build_msg
    - wpabuf_free
    - eap_eke_derive_ka
    - eap_eke_build_failure
    - wpabuf_tailroom
    - eap_eke_fail
    - eap_eke_prot
    - eap_eke_auth
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_eke_build_confirm(struct eap_sm *sm,\n\t\t\t\t\t
      \    struct eap_eke_data *data, u8 id)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: eap_eke_build_identity
      Src: /src/hostap/src/eap_server/eap_server_eke.c:368,1
    - Dst: eap_eke_build_commit
      Src: /src/hostap/src/eap_server/eap_server_eke.c:370,1
    - Dst: eap_eke_build_confirm
      Src: /src/hostap/src/eap_server/eap_server_eke.c:372,1
    - Dst: eap_eke_build_failure
      Src: /src/hostap/src/eap_server/eap_server_eke.c:374,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_eke.c:376,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - sm
    - priv
    - id
    argTypes:
    - struct eap_sm*
    - void*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 362
    functionDepth: 3
    functionLinenumber: 362
    functionLinenumberEnd: 381
    functionName: eap_eke_buildReq
    functionSourceFile: /src/hostap/src/eap_server/eap_server_eke.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_eke_build_confirm
    - eap_eke_build_failure
    - eap_eke_build_commit
    - eap_eke_build_identity
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * eap_eke_buildReq(struct eap_sm *sm, void *priv, u8
      id)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_server/eap_server_eke.c:392,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_eke.c:394,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_eke.c:399,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_eke.c:413,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 3
    argNames:
    - sm
    - priv
    - respData
    argTypes:
    - struct eap_sm*
    - void*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 417
    functionName: eap_eke_check
    functionSourceFile: /src/hostap/src/eap_server/eap_server_eke.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_hdr_validate
    linkageType: ''
    returnType: bool
    signature: "bool eap_eke_check(struct eap_sm *sm, void *priv,\n\t\t\t  struct
      wpabuf *respData)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_eke.c:428,1
    - Dst: eap_eke_fail
      Src: /src/hostap/src/eap_server/eap_server_eke.c:431,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_eke.c:439,1
    - Dst: eap_eke_fail
      Src: /src/hostap/src/eap_server/eap_server_eke.c:440,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_eke.c:445,1
    - Dst: eap_eke_fail
      Src: /src/hostap/src/eap_server/eap_server_eke.c:447,1
    - Dst: supported_proposal
      Src: /src/hostap/src/eap_server/eap_server_eke.c:453,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_eke.c:454,1
    - Dst: eap_eke_fail
      Src: /src/hostap/src/eap_server/eap_server_eke.c:456,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_eke.c:460,1
    - Dst: eap_eke_session_init
      Src: /src/hostap/src/eap_server/eap_server_eke.c:462,1
    - Dst: eap_eke_fail
      Src: /src/hostap/src/eap_server/eap_server_eke.c:464,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_eke.c:470,1
    - Dst: os_memdup
      Src: /src/hostap/src/eap_server/eap_server_eke.c:471,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_eke.c:473,1
    - Dst: eap_eke_fail
      Src: /src/hostap/src/eap_server/eap_server_eke.c:474,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_eke.c:478,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_server/eap_server_eke.c:479,1
    - Dst: eap_user_get
      Src: /src/hostap/src/eap_server/eap_server_eke.c:482,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_eke.c:483,1
    - Dst: eap_eke_fail
      Src: /src/hostap/src/eap_server/eap_server_eke.c:484,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_eke.c:494,1
    - Dst: eap_eke_fail
      Src: /src/hostap/src/eap_server/eap_server_eke.c:495,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_eke.c:500,1
    - Dst: eap_eke_fail
      Src: /src/hostap/src/eap_server/eap_server_eke.c:501,1
    - Dst: wpabuf_resize
      Src: /src/hostap/src/eap_server/eap_server_eke.c:505,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_eke.c:505,1
    - Dst: eap_eke_fail
      Src: /src/hostap/src/eap_server/eap_server_eke.c:506,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/eap_server/eap_server_eke.c:509,1
    - Dst: eap_eke_state
      Src: /src/hostap/src/eap_server/eap_server_eke.c:511,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 66
    argCount: 5
    argNames:
    - sm
    - data
    - respData
    - payload
    - payloadlen
    argTypes:
    - struct eap_sm*
    - struct eap_eke_data*
    - struct wpabuf*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 512
    functionName: eap_eke_process_identity
    functionSourceFile: /src/hostap/src/eap_server/eap_server_eke.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_resize
    - eap_eke_state
    - wpabuf_len
    - os_memdup
    - eap_eke_session_init
    - eap_eke_fail
    - eap_user_get
    - wpabuf_put_buf
    - os_free
    - supported_proposal
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: void
    signature: "void eap_eke_process_identity(struct eap_sm *sm,\n\t\t\t\t     struct
      eap_eke_data *data,\n\t\t\t\t     const struct wpabuf *respData,\n\t\t\t\t     const
      u8 *payload, size_t payloadlen)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_eke.c:523,1
    - Dst: eap_eke_fail
      Src: /src/hostap/src/eap_server/eap_server_eke.c:526,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_eke.c:534,1
    - Dst: eap_eke_fail
      Src: /src/hostap/src/eap_server/eap_server_eke.c:535,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_eke.c:539,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_eke.c:543,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_eke.c:546,1
    - Dst: eap_eke_shared_secret
      Src: /src/hostap/src/eap_server/eap_server_eke.c:548,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_eke.c:550,1
    - Dst: eap_eke_fail
      Src: /src/hostap/src/eap_server/eap_server_eke.c:551,1
    - Dst: eap_eke_derive_ke_ki
      Src: /src/hostap/src/eap_server/eap_server_eke.c:555,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_eke.c:558,1
    - Dst: eap_eke_fail
      Src: /src/hostap/src/eap_server/eap_server_eke.c:559,1
    - Dst: eap_eke_decrypt_prot
      Src: /src/hostap/src/eap_server/eap_server_eke.c:564,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_eke.c:566,1
    - Dst: eap_eke_fail
      Src: /src/hostap/src/eap_server/eap_server_eke.c:567,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_eke.c:571,1
    - Dst: eap_eke_fail
      Src: /src/hostap/src/eap_server/eap_server_eke.c:572,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_server/eap_server_eke.c:575,1
    - Dst: wpabuf_resize
      Src: /src/hostap/src/eap_server/eap_server_eke.c:578,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_eke.c:578,1
    - Dst: eap_eke_fail
      Src: /src/hostap/src/eap_server/eap_server_eke.c:579,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/eap_server/eap_server_eke.c:582,1
    - Dst: eap_eke_state
      Src: /src/hostap/src/eap_server/eap_server_eke.c:584,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 48
    argCount: 5
    argNames:
    - sm
    - data
    - respData
    - payload
    - payloadlen
    argTypes:
    - struct eap_sm*
    - struct eap_eke_data*
    - struct wpabuf*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 515
    functionDepth: 1
    functionLinenumber: 515
    functionLinenumberEnd: 585
    functionName: eap_eke_process_commit
    functionSourceFile: /src/hostap/src/eap_server/eap_server_eke.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpa_hexdump_key
    - eap_eke_derive_ke_ki
    - wpabuf_resize
    - wpa_hexdump
    - eap_eke_state
    - wpabuf_len
    - eap_eke_shared_secret
    - eap_eke_fail
    - wpabuf_put_buf
    - eap_eke_decrypt_prot
    linkageType: ''
    returnType: void
    signature: "void eap_eke_process_commit(struct eap_sm *sm,\n\t\t\t\t   struct
      eap_eke_data *data,\n\t\t\t\t   const struct wpabuf *respData,\n\t\t\t\t   const
      u8 *payload, size_t payloadlen)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_eke.c:597,1
    - Dst: eap_eke_fail
      Src: /src/hostap/src/eap_server/eap_server_eke.c:600,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_eke.c:604,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_eke.c:607,1
    - Dst: eap_eke_fail
      Src: /src/hostap/src/eap_server/eap_server_eke.c:608,1
    - Dst: eap_eke_decrypt_prot
      Src: /src/hostap/src/eap_server/eap_server_eke.c:613,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_eke.c:615,1
    - Dst: eap_eke_fail
      Src: /src/hostap/src/eap_server/eap_server_eke.c:616,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_eke.c:620,1
    - Dst: eap_eke_fail
      Src: /src/hostap/src/eap_server/eap_server_eke.c:621,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_server/eap_server_eke.c:624,1
    - Dst: os_memcmp
      Src: /src/hostap/src/eap_server/eap_server_eke.c:626,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_eke.c:627,1
    - Dst: eap_eke_fail
      Src: /src/hostap/src/eap_server/eap_server_eke.c:628,1
    - Dst: eap_eke_auth
      Src: /src/hostap/src/eap_server/eap_server_eke.c:632,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_eke.c:633,1
    - Dst: eap_eke_fail
      Src: /src/hostap/src/eap_server/eap_server_eke.c:634,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_eke.c:637,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/eap_server/eap_server_eke.c:638,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_eke.c:640,1
    - Dst: eap_eke_fail
      Src: /src/hostap/src/eap_server/eap_server_eke.c:641,1
    - Dst: eap_eke_derive_msk
      Src: /src/hostap/src/eap_server/eap_server_eke.c:645,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_eke.c:650,1
    - Dst: eap_eke_fail
      Src: /src/hostap/src/eap_server/eap_server_eke.c:651,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_server/eap_server_eke.c:655,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_server/eap_server_eke.c:656,1
    - Dst: eap_eke_session_clean
      Src: /src/hostap/src/eap_server/eap_server_eke.c:657,1
    - Dst: eap_eke_state
      Src: /src/hostap/src/eap_server/eap_server_eke.c:659,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 49
    argCount: 5
    argNames:
    - sm
    - data
    - respData
    - payload
    - payloadlen
    argTypes:
    - struct eap_sm*
    - struct eap_eke_data*
    - struct wpabuf*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 588
    functionDepth: 1
    functionLinenumber: 588
    functionLinenumberEnd: 660
    functionName: eap_eke_process_confirm
    functionSourceFile: /src/hostap/src/eap_server/eap_server_eke.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpa_hexdump_key
    - eap_eke_derive_msk
    - eap_eke_state
    - wpa_hexdump
    - os_memcmp_const
    - eap_eke_fail
    - os_memcmp
    - eap_eke_session_clean
    - eap_eke_decrypt_prot
    - eap_eke_auth
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void eap_eke_process_confirm(struct eap_sm *sm,\n\t\t\t\t    struct
      eap_eke_data *data,\n\t\t\t\t    const struct wpabuf *respData,\n\t\t\t\t    const
      u8 *payload, size_t payloadlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_eke.c:670,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_eke.c:673,1
    - Dst: eap_eke_state
      Src: /src/hostap/src/eap_server/eap_server_eke.c:674,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/eap_server/eap_server_eke.c:678,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_eke.c:679,1
    - Dst: eap_eke_state
      Src: /src/hostap/src/eap_server/eap_server_eke.c:681,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - sm
    - data
    - respData
    - payload
    - payloadlen
    argTypes:
    - struct eap_sm*
    - struct eap_eke_data*
    - struct wpabuf*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 663
    functionDepth: 1
    functionLinenumber: 663
    functionLinenumberEnd: 682
    functionName: eap_eke_process_failure
    functionSourceFile: /src/hostap/src/eap_server/eap_server_eke.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - eap_eke_state
    - WPA_GET_BE32
    linkageType: ''
    returnType: void
    signature: "void eap_eke_process_failure(struct eap_sm *sm,\n\t\t\t\t    struct
      eap_eke_data *data,\n\t\t\t\t    const struct wpabuf *respData,\n\t\t\t\t    const
      u8 *payload, size_t payloadlen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_server/eap_server_eke.c:693,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_eke.c:701,1
    - Dst: eap_eke_process_identity
      Src: /src/hostap/src/eap_server/eap_server_eke.c:705,1
    - Dst: eap_eke_process_commit
      Src: /src/hostap/src/eap_server/eap_server_eke.c:708,1
    - Dst: eap_eke_process_confirm
      Src: /src/hostap/src/eap_server/eap_server_eke.c:711,1
    - Dst: eap_eke_process_failure
      Src: /src/hostap/src/eap_server/eap_server_eke.c:714,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - sm
    - priv
    - respData
    argTypes:
    - struct eap_sm*
    - void*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 685
    functionDepth: 2
    functionLinenumber: 685
    functionLinenumberEnd: 717
    functionName: eap_eke_process
    functionSourceFile: /src/hostap/src/eap_server/eap_server_eke.c
    functionUses: 0
    functionsReached:
    - wpa_hexdump
    - eap_eke_process_commit
    - eap_hdr_validate
    - eap_eke_process_identity
    - eap_eke_process_confirm
    - eap_eke_process_failure
    linkageType: ''
    returnType: void
    signature: "void eap_eke_process(struct eap_sm *sm, void *priv,\n\t\t\t     struct
      wpabuf *respData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 724
    functionName: eap_eke_isDone
    functionSourceFile: /src/hostap/src/eap_server/eap_server_eke.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool eap_eke_isDone(struct eap_sm *sm, void *priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memdup
      Src: /src/hostap/src/eap_server/eap_server_eke.c:735,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 741
    functionName: eap_eke_getKey
    functionSourceFile: /src/hostap/src/eap_server/eap_server_eke.c
    functionUses: 0
    functionsReached:
    - os_memdup
    linkageType: ''
    returnType: u8
    signature: u8 * eap_eke_getKey(struct eap_sm *sm, void *priv, size_t *len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memdup
      Src: /src/hostap/src/eap_server/eap_server_eke.c:752,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 758
    functionName: eap_eke_get_emsk
    functionSourceFile: /src/hostap/src/eap_server/eap_server_eke.c
    functionUses: 0
    functionsReached:
    - os_memdup
    linkageType: ''
    returnType: u8
    signature: u8 * eap_eke_get_emsk(struct eap_sm *sm, void *priv, size_t *len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 765
    functionName: eap_eke_isSuccess
    functionSourceFile: /src/hostap/src/eap_server/eap_server_eke.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool eap_eke_isSuccess(struct eap_sm *sm, void *priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/eap_server/eap_server_eke.c:778,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_eke.c:782,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_eke.c:783,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 788
    functionName: eap_eke_get_session_id
    functionSourceFile: /src/hostap/src/eap_server/eap_server_eke.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - os_malloc
    linkageType: ''
    returnType: u8
    signature: u8 * eap_eke_get_session_id(struct eap_sm *sm, void *priv, size_t *len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_server_method_alloc
      Src: /src/hostap/src/eap_server/eap_server_eke.c:795,1
    - Dst: eap_server_method_register
      Src: /src/hostap/src/eap_server/eap_server_eke.c:811,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 791
    functionDepth: 1
    functionLinenumber: 791
    functionLinenumberEnd: 812
    functionName: eap_server_eke_register
    functionSourceFile: /src/hostap/src/eap_server/eap_server_eke.c
    functionUses: 1
    functionsReached:
    - eap_server_method_register
    - eap_server_method_alloc
    linkageType: ''
    returnType: int
    signature: int eap_server_eke_register(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - vendor
    - method
    argTypes:
    - int
    - enum eap_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 34
    functionName: eap_server_get_eap_method
    functionSourceFile: /src/hostap/src/eap_server/eap_server_methods.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: struct eap_method
    signature: "struct eap_method * eap_server_get_eap_method(int vendor,\n\t\t\t\t\t\t
      \   enum eap_type method)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/src/eap_server/eap_server_methods.c:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - name
    - vendor
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 57
    functionName: eap_server_get_type
    functionSourceFile: /src/hostap/src/eap_server/eap_server_methods.c
    functionUses: 1
    functionsReached:
    - os_strcmp
    linkageType: ''
    returnType: enum eap_type
    signature: enum eap_type eap_server_get_type(const char *name, int *vendor)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_server/eap_server_methods.c:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - version
    - vendor
    - method
    - name
    argTypes:
    - int
    - int
    - enum eap_type
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 85
    functionName: eap_server_method_alloc
    functionSourceFile: /src/hostap/src/eap_server/eap_server_methods.c
    functionUses: 15
    functionsReached:
    - os_zalloc
    linkageType: ''
    returnType: struct eap_method
    signature: "struct eap_method * eap_server_method_alloc(int version, int vendor,\n\t\t\t\t\t
      \   enum eap_type method,\n\t\t\t\t\t    const char *name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_methods.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - method
    argTypes:
    - struct eap_method*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: eap_server_method_free
    functionSourceFile: /src/hostap/src/eap_server/eap_server_methods.c
    functionUses: 0
    functionsReached:
    - os_free
    linkageType: ''
    returnType: void
    signature: void eap_server_method_free(struct eap_method *method)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: eap_server_method_free
      Src: /src/hostap/src/eap_server/eap_server_methods.c:114,1
    - Dst: os_strcmp
      Src: /src/hostap/src/eap_server/eap_server_methods.c:121,1
    - Dst: eap_server_method_free
      Src: /src/hostap/src/eap_server/eap_server_methods.c:122,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - method
    argTypes:
    - struct eap_method*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 134
    functionName: eap_server_method_register
    functionSourceFile: /src/hostap/src/eap_server/eap_server_methods.c
    functionUses: 15
    functionsReached:
    - os_strcmp
    - eap_server_method_free
    linkageType: ''
    returnType: int
    signature: int eap_server_method_register(struct eap_method *method)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct eap_method*::free
      Src: /src/hostap/src/eap_server/eap_server_methods.c:152,1
    - Dst: eap_server_method_free
      Src: /src/hostap/src/eap_server/eap_server_methods.c:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 156
    functionName: eap_server_unregister_methods
    functionSourceFile: /src/hostap/src/eap_server/eap_server_methods.c
    functionUses: 3
    functionsReached:
    - struct eap_method*::free
    - eap_server_method_free
    linkageType: ''
    returnType: void
    signature: void eap_server_unregister_methods(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - vendor
    - type
    argTypes:
    - int
    - enum eap_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 178
    functionName: eap_server_get_name
    functionSourceFile: /src/hostap/src/eap_server/eap_server_methods.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * eap_server_get_name(int vendor, enum eap_type type)
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 1
    argNames:
    - state
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 106
    functionName: eap_teap_state_txt
    functionSourceFile: /src/hostap/src/eap_server/eap_server_teap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * eap_teap_state_txt(int state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:111,1
    - Dst: eap_teap_state_txt
      Src: /src/hostap/src/eap_server/eap_server_teap.c:112,1
    - Dst: eap_teap_state_txt
      Src: /src/hostap/src/eap_server/eap_server_teap.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - state
    argTypes:
    - struct eap_teap_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 115
    functionName: eap_teap_state
    functionSourceFile: /src/hostap/src/eap_server/eap_server_teap.c
    functionUses: 0
    functionsReached:
    - eap_teap_state_txt
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void eap_teap_state(struct eap_teap_data *data, int state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eap_teap_state
      Src: /src/hostap/src/eap_server/eap_server_teap.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - error
    argTypes:
    - struct eap_teap_data*
    - enum teap_error_codes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 123
    functionName: eap_teap_req_failure
    functionSourceFile: /src/hostap/src/eap_server/eap_server_teap.c
    functionUses: 0
    functionsReached:
    - eap_teap_state
    linkageType: ''
    returnType: enum eap_type
    signature: "enum eap_type eap_teap_req_failure(struct eap_teap_data *data,\n\t\t\t\t\t
      \ enum teap_error_codes error)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tls_connection_export_key
      Src: /src/hostap/src/eap_server/eap_server_teap.c:132,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_server/eap_server_teap.c:137,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_teap.c:140,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_teap.c:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - sm
    - data
    argTypes:
    - struct eap_sm*
    - struct eap_teap_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 144
    functionName: eap_teap_derive_key_auth
    functionSourceFile: /src/hostap/src/eap_server/eap_server_teap.c
    functionUses: 1
    functionsReached:
    - wpa_hexdump_key
    - os_memcpy
    - tls_connection_export_key
    linkageType: ''
    returnType: int
    signature: "int eap_teap_derive_key_auth(struct eap_sm *sm,\n\t\t\t\t    struct
      eap_teap_data *data)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:153,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:160,1
    - Dst: struct eap_teap_data*::phase2_method::getKey
      Src: /src/hostap/src/eap_server/eap_server_teap.c:165,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:168,1
    - Dst: struct eap_teap_data*::phase2_method::get_emsk
      Src: /src/hostap/src/eap_server/eap_server_teap.c:175,1
    - Dst: eap_teap_derive_imck
      Src: /src/hostap/src/eap_server/eap_server_teap.c:180,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/eap_server/eap_server_teap.c:184,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/eap_server/eap_server_teap.c:185,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - sm
    - data
    argTypes:
    - struct eap_sm*
    - struct eap_teap_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 191
    functionName: eap_teap_update_icmk
    functionSourceFile: /src/hostap/src/eap_server/eap_server_teap.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_teap_derive_imck
    - struct eap_teap_data*::phase2_method::get_emsk
    - struct eap_teap_data*::phase2_method::getKey
    - bin_clear_free
    linkageType: ''
    returnType: int
    signature: int eap_teap_update_icmk(struct eap_sm *sm, struct eap_teap_data *data)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_server/eap_server_teap.c:198,1
    - Dst: eap_server_tls_ssl_init
      Src: /src/hostap/src/eap_server/eap_server_teap.c:204,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:207,1
    - Dst: eap_teap_reset
      Src: /src/hostap/src/eap_server/eap_server_teap.c:208,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:213,1
    - Dst: eap_teap_reset
      Src: /src/hostap/src/eap_server/eap_server_teap.c:214,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_server/eap_server_teap.c:217,1
    - Dst: eap_teap_reset
      Src: /src/hostap/src/eap_server/eap_server_teap.c:219,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_teap.c:222,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:227,1
    - Dst: eap_teap_reset
      Src: /src/hostap/src/eap_server/eap_server_teap.c:228,1
    - Dst: os_strdup
      Src: /src/hostap/src/eap_server/eap_server_teap.c:231,1
    - Dst: eap_teap_reset
      Src: /src/hostap/src/eap_server/eap_server_teap.c:233,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 194
    functionDepth: 3
    functionLinenumber: 194
    functionLinenumberEnd: 238
    functionName: eap_teap_init
    functionSourceFile: /src/hostap/src/eap_server/eap_server_teap.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - eap_server_tls_ssl_init
    - os_malloc
    - os_zalloc
    - eap_teap_reset
    - os_strdup
    linkageType: ''
    returnType: void
    signature: void * eap_teap_init(struct eap_sm *sm)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct eap_teap_data*::phase2_method::reset
      Src: /src/hostap/src/eap_server/eap_server_teap.c:248,1
    - Dst: eap_server_tls_ssl_deinit
      Src: /src/hostap/src/eap_server/eap_server_teap.c:249,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_teap.c:250,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_teap.c:251,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_teap.c:252,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_teap.c:253,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_teap.c:254,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_teap.c:255,1
    - Dst: forced_memzero
      Src: /src/hostap/src/eap_server/eap_server_teap.c:256,1
    - Dst: forced_memzero
      Src: /src/hostap/src/eap_server/eap_server_teap.c:257,1
    - Dst: forced_memzero
      Src: /src/hostap/src/eap_server/eap_server_teap.c:258,1
    - Dst: forced_memzero
      Src: /src/hostap/src/eap_server/eap_server_teap.c:259,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/eap_server/eap_server_teap.c:260,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 261
    functionName: eap_teap_reset
    functionSourceFile: /src/hostap/src/eap_server/eap_server_teap.c
    functionUses: 1
    functionsReached:
    - forced_memzero
    - wpabuf_free
    - eap_server_tls_ssl_deinit
    - os_free
    - struct eap_teap_data*::phase2_method::reset
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: void eap_teap_reset(struct eap_sm *sm, void *priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eap_msg_alloc
      Src: /src/hostap/src/eap_server/eap_server_teap.c:271,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:274,1
    - Dst: eap_teap_state
      Src: /src/hostap/src/eap_server/eap_server_teap.c:276,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server_teap.c:280,1
    - Dst: wpabuf_put_be32
      Src: /src/hostap/src/eap_server/eap_server_teap.c:282,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_server/eap_server_teap.c:284,1
    - Dst: eap_teap_put_tlv
      Src: /src/hostap/src/eap_server/eap_server_teap.c:287,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_server/eap_server_teap.c:290,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_teap.c:291,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/eap_server/eap_server_teap.c:292,1
    - Dst: eap_teap_state
      Src: /src/hostap/src/eap_server/eap_server_teap.c:294,1
    - Dst: eap_teap_state
      Src: /src/hostap/src/eap_server/eap_server_teap.c:298,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 3
    argNames:
    - sm
    - data
    - id
    argTypes:
    - struct eap_sm*
    - struct eap_teap_data*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 301
    functionName: eap_teap_build_start
    functionSourceFile: /src/hostap/src/eap_server/eap_server_teap.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put
    - wpabuf_put_u8
    - eap_teap_put_tlv
    - eap_msg_alloc
    - eap_teap_state
    - wpabuf_free
    - wpabuf_alloc_copy
    - wpabuf_put_be32
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_teap_build_start(struct eap_sm *sm,\n\t\t\t\t\t
      \   struct eap_teap_data *data, u8 id)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:306,1
    - Dst: tls_connection_get_peer_subject
      Src: /src/hostap/src/eap_server/eap_server_teap.c:311,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:313,1
    - Dst: os_strdup
      Src: /src/hostap/src/eap_server/eap_server_teap.c:316,1
    - Dst: os_strlen
      Src: /src/hostap/src/eap_server/eap_server_teap.c:317,1
    - Dst: tls_connection_get_cipher_suite
      Src: /src/hostap/src/eap_server/eap_server_teap.c:321,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:322,1
    - Dst: eap_teap_derive_key_auth
      Src: /src/hostap/src/eap_server/eap_server_teap.c:325,1
    - Dst: eap_teap_state
      Src: /src/hostap/src/eap_server/eap_server_teap.c:326,1
    - Dst: eap_teap_state
      Src: /src/hostap/src/eap_server/eap_server_teap.c:330,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - sm
    - data
    argTypes:
    - struct eap_sm*
    - struct eap_teap_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 304
    functionDepth: 2
    functionLinenumber: 304
    functionLinenumberEnd: 333
    functionName: eap_teap_phase1_done
    functionSourceFile: /src/hostap/src/eap_server/eap_server_teap.c
    functionUses: 0
    functionsReached:
    - os_strdup
    - os_strlen
    - wpa_printf
    - eap_teap_state
    - tls_connection_get_peer_subject
    - eap_teap_derive_key_auth
    - tls_connection_get_cipher_suite
    linkageType: ''
    returnType: int
    signature: int eap_teap_phase1_done(struct eap_sm *sm, struct eap_teap_data *data)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: eap_teap_tlv_identity_type
      Src: /src/hostap/src/eap_server/eap_server_teap.c:352,1
    - Dst: eap_teap_tlv_identity_type
      Src: /src/hostap/src/eap_server/eap_server_teap.c:357,1
    - Dst: eap_teap_tlv_identity_type
      Src: /src/hostap/src/eap_server/eap_server_teap.c:364,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:370,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eap_server/eap_server_teap.c:372,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_teap.c:374,1
    - Dst: eap_teap_put_tlv_hdr
      Src: /src/hostap/src/eap_server/eap_server_teap.c:377,1
    - Dst: wpabuf_concat
      Src: /src/hostap/src/eap_server/eap_server_teap.c:378,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:381,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:384,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_teap.c:386,1
    - Dst: struct eap_teap_data*::phase2_method::buildReq
      Src: /src/hostap/src/eap_server/eap_server_teap.c:390,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_teap.c:392,1
    - Dst: wpa_hexdump_buf_key
      Src: /src/hostap/src/eap_server/eap_server_teap.c:396,1
    - Dst: wpabuf_concat
      Src: /src/hostap/src/eap_server/eap_server_teap.c:398,1
    - Dst: eap_teap_tlv_eap_payload
      Src: /src/hostap/src/eap_server/eap_server_teap.c:398,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 48
    argCount: 3
    argNames:
    - sm
    - data
    - id
    argTypes:
    - struct eap_sm*
    - struct eap_teap_data*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 399
    functionName: eap_teap_build_phase2_req
    functionSourceFile: /src/hostap/src/eap_server/eap_server_teap.c
    functionUses: 0
    functionsReached:
    - eap_teap_tlv_identity_type
    - wpa_printf
    - wpabuf_free
    - eap_teap_put_tlv_hdr
    - eap_teap_tlv_eap_payload
    - wpabuf_alloc
    - wpabuf_concat
    - struct eap_teap_data*::phase2_method::buildReq
    - wpa_hexdump_buf_key
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_teap_build_phase2_req(struct eap_sm *sm,\n\t\t\t\t\t\t
      struct eap_teap_data *data,\n\t\t\t\t\t\t u8 id)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eap_server/eap_server_teap.c:410,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:423,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_server/eap_server_teap.c:425,1
    - Dst: host_to_be16
      Src: /src/hostap/src/eap_server/eap_server_teap.c:426,1
    - Dst: host_to_be16
      Src: /src/hostap/src/eap_server/eap_server_teap.c:428,1
    - Dst: host_to_be16
      Src: /src/hostap/src/eap_server/eap_server_teap.c:429,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:434,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_server/eap_server_teap.c:436,1
    - Dst: host_to_be16
      Src: /src/hostap/src/eap_server/eap_server_teap.c:437,1
    - Dst: host_to_be16
      Src: /src/hostap/src/eap_server/eap_server_teap.c:439,1
    - Dst: host_to_be16
      Src: /src/hostap/src/eap_server/eap_server_teap.c:440,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_server/eap_server_teap.c:444,1
    - Dst: host_to_be16
      Src: /src/hostap/src/eap_server/eap_server_teap.c:445,1
    - Dst: host_to_be16
      Src: /src/hostap/src/eap_server/eap_server_teap.c:447,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/eap_server/eap_server_teap.c:455,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_teap.c:456,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_teap.c:466,1
    - Dst: eap_teap_compound_mac
      Src: /src/hostap/src/eap_server/eap_server_teap.c:468,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_teap.c:471,1
    - Dst: eap_teap_compound_mac
      Src: /src/hostap/src/eap_server/eap_server_teap.c:476,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_teap.c:479,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:483,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_teap.c:486,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_teap.c:488,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_teap.c:490,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 49
    argCount: 2
    argNames:
    - sm
    - data
    argTypes:
    - struct eap_sm*
    - struct eap_teap_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 496
    functionName: eap_teap_build_crypto_binding
    functionSourceFile: /src/hostap/src/eap_server/eap_server_teap.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - random_get_bytes
    - wpabuf_put
    - os_memcpy
    - wpa_hexdump
    - host_to_be16
    - wpabuf_free
    - eap_teap_compound_mac
    - wpabuf_alloc
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_teap_build_crypto_binding(\n\tstruct eap_sm *sm,
      struct eap_teap_data *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump_buf_key
      Src: /src/hostap/src/eap_server/eap_server_teap.c:505,1
    - Dst: eap_server_tls_encrypt
      Src: /src/hostap/src/eap_server/eap_server_teap.c:507,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_teap.c:508,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:514,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_teap.c:516,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_teap.c:517,1
    - Dst: wpabuf_resize
      Src: /src/hostap/src/eap_server/eap_server_teap.c:519,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_teap.c:519,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:520,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_teap.c:522,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:525,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_teap.c:526,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_teap.c:528,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 4
    argNames:
    - sm
    - data
    - plain
    - piggyback
    argTypes:
    - struct eap_sm*
    - struct eap_teap_data*
    - struct wpabuf*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 499
    functionDepth: 1
    functionLinenumber: 499
    functionLinenumberEnd: 534
    functionName: eap_teap_encrypt_phase2
    functionSourceFile: /src/hostap/src/eap_server/eap_server_teap.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_resize
    - wpabuf_len
    - eap_server_tls_encrypt
    - wpabuf_free
    - wpabuf_put_buf
    - wpa_hexdump_buf_key
    linkageType: ''
    returnType: int
    signature: "int eap_teap_encrypt_phase2(struct eap_sm *sm,\n\t\t\t\t   struct
      eap_teap_data *data,\n\t\t\t\t   struct wpabuf *plain, int piggyback)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: eap_server_tls_build_ack
      Src: /src/hostap/src/eap_server/eap_server_teap.c:545,1
    - Dst: eap_server_tls_build_msg
      Src: /src/hostap/src/eap_server/eap_server_teap.c:550,1
    - Dst: eap_teap_build_start
      Src: /src/hostap/src/eap_server/eap_server_teap.c:556,1
    - Dst: tls_connection_established
      Src: /src/hostap/src/eap_server/eap_server_teap.c:558,1
    - Dst: eap_teap_phase1_done
      Src: /src/hostap/src/eap_server/eap_server_teap.c:560,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:570,1
    - Dst: eap_teap_process_phase2_start
      Src: /src/hostap/src/eap_server/eap_server_teap.c:572,1
    - Dst: eap_teap_build_crypto_binding
      Src: /src/hostap/src/eap_server/eap_server_teap.c:574,1
    - Dst: eap_teap_build_phase2_req
      Src: /src/hostap/src/eap_server/eap_server_teap.c:582,1
    - Dst: eap_teap_build_phase2_req
      Src: /src/hostap/src/eap_server/eap_server_teap.c:590,1
    - Dst: eap_teap_build_crypto_binding
      Src: /src/hostap/src/eap_server/eap_server_teap.c:593,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:598,1
    - Dst: eap_teap_state
      Src: /src/hostap/src/eap_server/eap_server_teap.c:600,1
    - Dst: eap_teap_phase2_init
      Src: /src/hostap/src/eap_server/eap_server_teap.c:601,1
    - Dst: eap_teap_state
      Src: /src/hostap/src/eap_server/eap_server_teap.c:603,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_teap.c:604,1
    - Dst: eap_teap_build_phase2_req
      Src: /src/hostap/src/eap_server/eap_server_teap.c:617,1
    - Dst: wpabuf_concat
      Src: /src/hostap/src/eap_server/eap_server_teap.c:618,1
    - Dst: eap_teap_state
      Src: /src/hostap/src/eap_server/eap_server_teap.c:620,1
    - Dst: eap_teap_tlv_result
      Src: /src/hostap/src/eap_server/eap_server_teap.c:624,1
    - Dst: wpabuf_concat
      Src: /src/hostap/src/eap_server/eap_server_teap.c:626,1
    - Dst: eap_teap_tlv_error
      Src: /src/hostap/src/eap_server/eap_server_teap.c:627,1
    - Dst: eap_teap_tlv_result
      Src: /src/hostap/src/eap_server/eap_server_teap.c:630,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:634,1
    - Dst: eap_teap_encrypt_phase2
      Src: /src/hostap/src/eap_server/eap_server_teap.c:639,1
    - Dst: eap_server_tls_build_msg
      Src: /src/hostap/src/eap_server/eap_server_teap.c:642,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 69
    argCount: 3
    argNames:
    - sm
    - priv
    - id
    argTypes:
    - struct eap_sm*
    - void*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 537
    functionDepth: 3
    functionLinenumber: 537
    functionLinenumberEnd: 644
    functionName: eap_teap_buildReq
    functionSourceFile: /src/hostap/src/eap_server/eap_server_teap.c
    functionUses: 0
    functionsReached:
    - eap_teap_tlv_result
    - wpa_printf
    - eap_teap_process_phase2_start
    - wpabuf_free
    - eap_teap_state
    - eap_teap_encrypt_phase2
    - eap_teap_build_phase2_req
    - eap_teap_phase1_done
    - eap_teap_build_start
    - eap_server_tls_build_msg
    - eap_server_tls_build_ack
    - tls_connection_established
    - eap_teap_phase2_init
    - wpabuf_concat
    - eap_teap_tlv_error
    - eap_teap_build_crypto_binding
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * eap_teap_buildReq(struct eap_sm *sm, void *priv, u8
      id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_server/eap_server_teap.c:653,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:655,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - sm
    - priv
    - respData
    argTypes:
    - struct eap_sm*
    - void*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 647
    functionDepth: 1
    functionLinenumber: 647
    functionLinenumberEnd: 660
    functionName: eap_teap_check
    functionSourceFile: /src/hostap/src/eap_server/eap_server_teap.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_hdr_validate
    linkageType: ''
    returnType: bool
    signature: "bool eap_teap_check(struct eap_sm *sm, void *priv,\n\t\t\t   struct
      wpabuf *respData)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct eap_teap_data*::phase2_method::reset
      Src: /src/hostap/src/eap_server/eap_server_teap.c:667,1
    - Dst: eap_server_get_eap_method
      Src: /src/hostap/src/eap_server/eap_server_teap.c:671,1
    - Dst: struct eap_teap_data*::phase2_method::init
      Src: /src/hostap/src/eap_server/eap_server_teap.c:683,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - sm
    - data
    - vendor
    - eap_type
    argTypes:
    - struct eap_sm*
    - struct eap_teap_data*
    - int
    - enum eap_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 663
    functionDepth: 1
    functionLinenumber: 663
    functionLinenumberEnd: 687
    functionName: eap_teap_phase2_init
    functionSourceFile: /src/hostap/src/eap_server/eap_server_teap.c
    functionUses: 1
    functionsReached:
    - struct eap_teap_data*::phase2_method::init
    - eap_server_get_eap_method
    - struct eap_teap_data*::phase2_method::reset
    linkageType: ''
    returnType: int
    signature: "int eap_teap_phase2_init(struct eap_sm *sm, struct eap_teap_data *data,\n\t\t\t\tint
      vendor, enum eap_type eap_type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 3
    argNames:
    - sm
    - data
    - id_type
    argTypes:
    - struct eap_sm*
    - struct eap_teap_data*
    - enum teap_identity_types
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 707
    functionName: eap_teap_valid_id_type
    functionSourceFile: /src/hostap/src/eap_server/eap_server_teap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int eap_teap_valid_id_type(struct eap_sm *sm, struct eap_teap_data
      *data,\n\t\t\t\t  enum teap_identity_types id_type)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:725,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_teap.c:736,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:742,1
    - Dst: eap_teap_req_failure
      Src: /src/hostap/src/eap_server/eap_server_teap.c:745,1
    - Dst: eap_teap_phase2_init
      Src: /src/hostap/src/eap_server/eap_server_teap.c:746,1
    - Dst: eap_sm_process_nak
      Src: /src/hostap/src/eap_server/eap_server_teap.c:750,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:758,1
    - Dst: eap_teap_req_failure
      Src: /src/hostap/src/eap_server/eap_server_teap.c:762,1
    - Dst: eap_teap_phase2_init
      Src: /src/hostap/src/eap_server/eap_server_teap.c:764,1
    - Dst: wpabuf_set
      Src: /src/hostap/src/eap_server/eap_server_teap.c:768,1
    - Dst: struct eap_method*::check
      Src: /src/hostap/src/eap_server/eap_server_teap.c:770,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:771,1
    - Dst: eap_teap_req_failure
      Src: /src/hostap/src/eap_server/eap_server_teap.c:773,1
    - Dst: struct eap_method*::process
      Src: /src/hostap/src/eap_server/eap_server_teap.c:777,1
    - Dst: struct eap_method*::isDone
      Src: /src/hostap/src/eap_server/eap_server_teap.c:779,1
    - Dst: struct eap_method*::isSuccess
      Src: /src/hostap/src/eap_server/eap_server_teap.c:782,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:783,1
    - Dst: eap_teap_req_failure
      Src: /src/hostap/src/eap_server/eap_server_teap.c:785,1
    - Dst: eap_teap_phase2_init
      Src: /src/hostap/src/eap_server/eap_server_teap.c:786,1
    - Dst: eap_teap_valid_id_type
      Src: /src/hostap/src/eap_server/eap_server_teap.c:792,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:793,1
    - Dst: eap_teap_req_failure
      Src: /src/hostap/src/eap_server/eap_server_teap.c:796,1
    - Dst: eap_user_get
      Src: /src/hostap/src/eap_server/eap_server_teap.c:799,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_server/eap_server_teap.c:800,1
    - Dst: eap_teap_req_failure
      Src: /src/hostap/src/eap_server/eap_server_teap.c:804,1
    - Dst: eap_teap_state
      Src: /src/hostap/src/eap_server/eap_server_teap.c:809,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:813,1
    - Dst: eap_teap_update_icmk
      Src: /src/hostap/src/eap_server/eap_server_teap.c:818,1
    - Dst: eap_teap_state
      Src: /src/hostap/src/eap_server/eap_server_teap.c:824,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:830,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:840,1
    - Dst: eap_teap_phase2_init
      Src: /src/hostap/src/eap_server/eap_server_teap.c:845,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 87
    argCount: 5
    argNames:
    - sm
    - data
    - in_data
    - in_len
    - id_type
    argTypes:
    - struct eap_sm*
    - struct eap_teap_data*
    - u8*
    - size_t
    - enum teap_identity_types
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 710
    functionDepth: 3
    functionLinenumber: 710
    functionLinenumberEnd: 846
    functionName: eap_teap_process_phase2_response
    functionSourceFile: /src/hostap/src/eap_server/eap_server_teap.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_sm_process_nak
    - wpa_hexdump
    - struct eap_method*::isSuccess
    - struct eap_method*::check
    - struct eap_method*::process
    - wpabuf_set
    - eap_teap_state
    - eap_teap_update_icmk
    - eap_teap_req_failure
    - struct eap_method*::isDone
    - eap_user_get
    - eap_teap_phase2_init
    - eap_teap_valid_id_type
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: void
    signature: "void eap_teap_process_phase2_response(struct eap_sm *sm,\n\t\t\t\t\t
      \    struct eap_teap_data *data,\n\t\t\t\t\t     u8 *in_data, size_t in_len,\n\t\t\t\t\t
      \    enum teap_identity_types id_type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:859,1
    - Dst: eap_teap_req_failure
      Src: /src/hostap/src/eap_server/eap_server_teap.c:862,1
    - Dst: be_to_host16
      Src: /src/hostap/src/eap_server/eap_server_teap.c:865,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:867,1
    - Dst: eap_teap_req_failure
      Src: /src/hostap/src/eap_server/eap_server_teap.c:870,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:873,1
    - Dst: eap_teap_process_phase2_response
      Src: /src/hostap/src/eap_server/eap_server_teap.c:879,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:883,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 5
    argNames:
    - sm
    - data
    - in_data
    - in_len
    - id_type
    argTypes:
    - struct eap_sm*
    - struct eap_teap_data*
    - u8*
    - size_t
    - enum teap_identity_types
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 849
    functionDepth: 4
    functionLinenumber: 849
    functionLinenumberEnd: 888
    functionName: eap_teap_process_phase2_eap
    functionSourceFile: /src/hostap/src/eap_server/eap_server_teap.c
    functionUses: 0
    functionsReached:
    - be_to_host16
    - wpa_printf
    - eap_teap_req_failure
    - eap_teap_process_phase2_response
    linkageType: ''
    returnType: void
    signature: "void eap_teap_process_phase2_eap(struct eap_sm *sm,\n\t\t\t\t\tstruct
      eap_teap_data *data,\n\t\t\t\t\tu8 *in_data, size_t in_len,\n\t\t\t\t\tenum
      teap_identity_types id_type)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: eap_teap_valid_id_type
      Src: /src/hostap/src/eap_server/eap_server_teap.c:899,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:900,1
    - Dst: eap_teap_req_failure
      Src: /src/hostap/src/eap_server/eap_server_teap.c:903,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:911,1
    - Dst: eap_teap_req_failure
      Src: /src/hostap/src/eap_server/eap_server_teap.c:913,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:918,1
    - Dst: eap_teap_req_failure
      Src: /src/hostap/src/eap_server/eap_server_teap.c:920,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_server/eap_server_teap.c:925,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:930,1
    - Dst: eap_teap_req_failure
      Src: /src/hostap/src/eap_server/eap_server_teap.c:932,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:937,1
    - Dst: eap_teap_req_failure
      Src: /src/hostap/src/eap_server/eap_server_teap.c:939,1
    - Dst: wpa_hexdump_ascii_key
      Src: /src/hostap/src/eap_server/eap_server_teap.c:944,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:949,1
    - Dst: eap_teap_req_failure
      Src: /src/hostap/src/eap_server/eap_server_teap.c:952,1
    - Dst: eap_user_get
      Src: /src/hostap/src/eap_server/eap_server_teap.c:956,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:957,1
    - Dst: eap_teap_req_failure
      Src: /src/hostap/src/eap_server/eap_server_teap.c:959,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:964,1
    - Dst: eap_teap_req_failure
      Src: /src/hostap/src/eap_server/eap_server_teap.c:966,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/eap_server/eap_server_teap.c:971,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:972,1
    - Dst: eap_teap_req_failure
      Src: /src/hostap/src/eap_server/eap_server_teap.c:973,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:977,1
    - Dst: os_memdup
      Src: /src/hostap/src/eap_server/eap_server_teap.c:978,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_teap.c:980,1
    - Dst: eap_teap_state
      Src: /src/hostap/src/eap_server/eap_server_teap.c:987,1
    - Dst: eap_teap_update_icmk
      Src: /src/hostap/src/eap_server/eap_server_teap.c:988,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 67
    argCount: 5
    argNames:
    - sm
    - data
    - in_data
    - in_len
    - id_type
    argTypes:
    - struct eap_sm*
    - struct eap_teap_data*
    - u8*
    - size_t
    - enum teap_identity_types
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 891
    functionDepth: 3
    functionLinenumber: 891
    functionLinenumberEnd: 989
    functionName: eap_teap_process_basic_auth_resp
    functionSourceFile: /src/hostap/src/eap_server/eap_server_teap.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memdup
    - eap_teap_state
    - eap_teap_update_icmk
    - os_memcmp_const
    - eap_teap_req_failure
    - eap_user_get
    - wpa_hexdump_ascii_key
    - eap_teap_valid_id_type
    - os_free
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: void
    signature: "void eap_teap_process_basic_auth_resp(struct eap_sm *sm,\n\t\t\t\t\t
      \    struct eap_teap_data *data,\n\t\t\t\t\t     u8 *in_data, size_t in_len,\n\t\t\t\t\t
      \    enum teap_identity_types id_type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1000,1
    - Dst: wpabuf_mhead
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1002,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1003,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1006,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1008,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1011,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1014,1
    - Dst: eap_teap_tlv_type_str
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1016,1
    - Dst: eap_teap_parse_tlv
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1020,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1025,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1032,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - data
    - tlv
    argTypes:
    - struct wpabuf*
    - struct eap_teap_tlv_parse*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 992
    functionDepth: 1
    functionLinenumber: 992
    functionLinenumberEnd: 1041
    functionName: eap_teap_parse_tlvs
    functionSourceFile: /src/hostap/src/eap_server/eap_server_teap.c
    functionUses: 0
    functionsReached:
    - WPA_GET_BE16
    - wpa_printf
    - wpabuf_len
    - eap_teap_tlv_type_str
    - wpabuf_mhead
    - eap_teap_parse_tlv
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int eap_teap_parse_tlvs(struct wpabuf *data,\n\t\t\t       struct
      eap_teap_tlv_parse *tlv)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1053,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1056,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1058,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1060,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1065,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1072,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1079,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1085,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1089,1
    - Dst: eap_teap_compound_mac
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1098,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1103,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1105,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1109,1
    - Dst: eap_teap_compound_mac
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1120,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1125,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1127,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1131,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1139,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1147,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1148,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1151,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1152,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1154,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 55
    argCount: 3
    argNames:
    - data
    - cb
    - bind_len
    argTypes:
    - struct eap_teap_data*
    - struct teap_tlv_crypto_binding*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1158
      start: 1044
    functionDepth: 1
    functionLinenumber: 1044
    functionLinenumberEnd: 1158
    functionName: eap_teap_validate_crypto_binding
    functionSourceFile: /src/hostap/src/eap_server/eap_server_teap.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_hexdump_key
    - wpa_hexdump
    - eap_teap_compound_mac
    - os_memcmp_const
    linkageType: ''
    returnType: int
    signature: "int eap_teap_validate_crypto_binding(\n\tstruct eap_teap_data *data,
      const struct teap_tlv_crypto_binding *cb,\n\tsize_t bind_len)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: eap_teap_parse_tlvs
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1169,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1170,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1176,1
    - Dst: eap_teap_state
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1177,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1182,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1184,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1184,1
    - Dst: eap_teap_state
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1185,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1191,1
    - Dst: eap_teap_state
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1193,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1199,1
    - Dst: eap_teap_state
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1201,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1208,1
    - Dst: eap_teap_state
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1210,1
    - Dst: eap_teap_validate_crypto_binding
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1214,1
    - Dst: eap_teap_state
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1216,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1220,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1224,1
    - Dst: eap_teap_state
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1229,1
    - Dst: eap_teap_state
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1231,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1236,1
    - Dst: eap_teap_state
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1238,1
    - Dst: eap_teap_process_basic_auth_resp
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1241,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1248,1
    - Dst: eap_teap_state
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1250,1
    - Dst: eap_teap_process_phase2_eap
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1253,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1260,1
    - Dst: eap_teap_state
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1262,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1265,1
    - Dst: eap_teap_state
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1267,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1271,1
    - Dst: eap_teap_state
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1273,1
    - Dst: eap_teap_phase2_init
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1274,1
    - Dst: eap_teap_state
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1276,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 75
    argCount: 3
    argNames:
    - sm
    - data
    - in_data
    argTypes:
    - struct eap_sm*
    - struct eap_teap_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1278
      start: 1161
    functionDepth: 5
    functionLinenumber: 1161
    functionLinenumberEnd: 1278
    functionName: eap_teap_process_phase2_tlvs
    functionSourceFile: /src/hostap/src/eap_server/eap_server_teap.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - WPA_GET_BE16
    - eap_teap_state
    - eap_teap_validate_crypto_binding
    - eap_teap_process_basic_auth_resp
    - eap_teap_process_phase2_eap
    - eap_teap_phase2_init
    - eap_teap_parse_tlvs
    - WPA_GET_BE32
    linkageType: ''
    returnType: void
    signature: "void eap_teap_process_phase2_tlvs(struct eap_sm *sm,\n\t\t\t\t\t struct
      eap_teap_data *data,\n\t\t\t\t\t struct wpabuf *in_data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1287,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1289,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1292,1
    - Dst: eap_teap_process_phase2_tlvs
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1294,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1296,1
    - Dst: tls_connection_decrypt
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1301,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1304,1
    - Dst: eap_teap_state
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1306,1
    - Dst: wpa_hexdump_buf_key
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1310,1
    - Dst: eap_teap_process_phase2_tlvs
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1313,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1316,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1318,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1323,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 3
    argNames:
    - sm
    - data
    - in_buf
    argTypes:
    - struct eap_sm*
    - struct eap_teap_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1324
      start: 1281
    functionDepth: 6
    functionLinenumber: 1281
    functionLinenumberEnd: 1324
    functionName: eap_teap_process_phase2
    functionSourceFile: /src/hostap/src/eap_server/eap_server_teap.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - tls_connection_decrypt
    - wpabuf_len
    - wpabuf_free
    - eap_teap_process_phase2_tlvs
    - eap_teap_state
    - wpa_hexdump_buf_key
    linkageType: ''
    returnType: void
    signature: "void eap_teap_process_phase2(struct eap_sm *sm,\n\t\t\t\t    struct
      eap_teap_data *data,\n\t\t\t\t    struct wpabuf *in_buf)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1334,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1341,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - sm
    - priv
    - peer_version
    argTypes:
    - struct eap_sm*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1350
      start: 1327
    functionDepth: 0
    functionLinenumber: 1327
    functionLinenumberEnd: 1350
    functionName: eap_teap_process_version
    functionSourceFile: /src/hostap/src/eap_server/eap_server_teap.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int eap_teap_process_version(struct eap_sm *sm, void *priv,\n\t\t\t\t
      \   int peer_version)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eap_server_tls_phase1
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1356,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1357,1
    - Dst: eap_teap_state
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1358,1
    - Dst: tls_connection_established
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1362,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1363,1
    - Dst: eap_teap_phase1_done
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1372,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - sm
    - data
    argTypes:
    - struct eap_sm*
    - struct eap_teap_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1373
      start: 1353
    functionDepth: 3
    functionLinenumber: 1353
    functionLinenumberEnd: 1373
    functionName: eap_teap_process_phase1
    functionSourceFile: /src/hostap/src/eap_server/eap_server_teap.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_len
    - eap_teap_state
    - eap_server_tls_phase1
    - eap_teap_phase1_done
    - tls_connection_established
    linkageType: ''
    returnType: int
    signature: "int eap_teap_process_phase1(struct eap_sm *sm,\n\t\t\t\t   struct
      eap_teap_data *data)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1384,1
    - Dst: eap_user_get
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1389,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1390,1
    - Dst: eap_teap_state
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1395,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1397,1
    - Dst: eap_teap_derive_imck
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1400,1
    - Dst: eap_teap_state
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1406,1
    - Dst: eap_teap_state
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1409,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1412,1
    - Dst: eap_teap_state
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1417,1
    - Dst: eap_teap_state
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1421,1
    - Dst: eap_teap_state
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1424,1
    - Dst: eap_teap_phase2_init
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1429,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 41
    argCount: 2
    argNames:
    - sm
    - data
    argTypes:
    - struct eap_sm*
    - struct eap_teap_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1430
      start: 1376
    functionDepth: 2
    functionLinenumber: 1376
    functionLinenumberEnd: 1430
    functionName: eap_teap_process_phase2_start
    functionSourceFile: /src/hostap/src/eap_server/eap_server_teap.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - eap_teap_derive_imck
    - eap_teap_state
    - eap_user_get
    - eap_teap_phase2_init
    - os_free
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: int
    signature: "int eap_teap_process_phase2_start(struct eap_sm *sm,\n\t\t\t\t\t struct
      eap_teap_data *data)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: eap_teap_process_phase1
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1441,1
    - Dst: eap_teap_process_phase2_start
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1446,1
    - Dst: eap_teap_process_phase2
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1453,1
    - Dst: eap_teap_state
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1460,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1463,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - sm
    - priv
    - respData
    argTypes:
    - struct eap_sm*
    - void*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1467
      start: 1433
    functionDepth: 7
    functionLinenumber: 1433
    functionLinenumberEnd: 1467
    functionName: eap_teap_process_msg
    functionSourceFile: /src/hostap/src/eap_server/eap_server_teap.c
    functionUses: 0
    functionsReached:
    - eap_teap_process_phase2
    - wpa_printf
    - eap_teap_process_phase2_start
    - eap_teap_state
    - eap_teap_process_phase1
    linkageType: ''
    returnType: void
    signature: "void eap_teap_process_msg(struct eap_sm *sm, void *priv,\n\t\t\t\t
      const struct wpabuf *respData)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1479,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1493,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1500,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1505,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1509,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1516,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1521,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1525,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1529,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1537,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1542,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1545,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1545,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1548,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1549,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1550,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1551,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1551,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1553,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1555,1
    - Dst: wpabuf_put_be32
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1558,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1560,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1562,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1563,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1566,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1569,1
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1572,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1575,1
    - Dst: eap_teap_state
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1582,1
    - Dst: eap_server_tls_process
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1584,1
    - Dst: eap_teap_state
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1587,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1590,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 74
    argCount: 3
    argNames:
    - sm
    - priv
    - respData
    argTypes:
    - struct eap_sm*
    - void*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1591
      start: 1470
    functionDepth: 4
    functionLinenumber: 1470
    functionLinenumberEnd: 1591
    functionName: eap_teap_process
    functionSourceFile: /src/hostap/src/eap_server/eap_server_teap.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - WPA_GET_BE16
    - wpabuf_put_be32
    - eap_server_tls_process
    - wpabuf_put_u8
    - wpabuf_put_data
    - wpabuf_len
    - wpabuf_free
    - eap_teap_state
    - wpabuf_put_be16
    - wpabuf_alloc_copy
    - wpabuf_head
    - wpabuf_alloc
    - eap_hdr_validate
    - WPA_GET_BE32
    - wpa_hexdump_buf
    linkageType: ''
    returnType: void
    signature: "void eap_teap_process(struct eap_sm *sm, void *priv,\n\t\t\t     struct
      wpabuf *respData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1599
      start: 1594
    functionDepth: 0
    functionLinenumber: 1594
    functionLinenumberEnd: 1599
    functionName: eap_teap_isDone
    functionSourceFile: /src/hostap/src/eap_server/eap_server_teap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool eap_teap_isDone(struct eap_sm *sm, void *priv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1610,1
    - Dst: eap_teap_derive_eap_msk
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1614,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1616,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1622
      start: 1602
    functionDepth: 1
    functionLinenumber: 1602
    functionLinenumberEnd: 1622
    functionName: eap_teap_getKey
    functionSourceFile: /src/hostap/src/eap_server/eap_server_teap.c
    functionUses: 0
    functionsReached:
    - os_free
    - os_malloc
    - eap_teap_derive_eap_msk
    linkageType: ''
    returnType: u8
    signature: u8 * eap_teap_getKey(struct eap_sm *sm, void *priv, size_t *len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1633,1
    - Dst: eap_teap_derive_eap_emsk
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1637,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1639,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1645
      start: 1625
    functionDepth: 1
    functionLinenumber: 1625
    functionLinenumberEnd: 1645
    functionName: eap_teap_get_emsk
    functionSourceFile: /src/hostap/src/eap_server/eap_server_teap.c
    functionUses: 0
    functionsReached:
    - os_free
    - eap_teap_derive_eap_emsk
    - os_malloc
    linkageType: ''
    returnType: u8
    signature: u8 * eap_teap_get_emsk(struct eap_sm *sm, void *priv, size_t *len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1653
      start: 1648
    functionDepth: 0
    functionLinenumber: 1648
    functionLinenumberEnd: 1653
    functionName: eap_teap_isSuccess
    functionSourceFile: /src/hostap/src/eap_server/eap_server_teap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool eap_teap_isSuccess(struct eap_sm *sm, void *priv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1666,1
    - Dst: tls_get_tls_unique
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1671,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1673,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1674,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1679,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1681
      start: 1656
    functionDepth: 0
    functionLinenumber: 1656
    functionLinenumberEnd: 1681
    functionName: eap_teap_get_session_id
    functionSourceFile: /src/hostap/src/eap_server/eap_server_teap.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    - os_malloc
    - tls_get_tls_unique
    - os_free
    linkageType: ''
    returnType: u8
    signature: u8 * eap_teap_get_session_id(struct eap_sm *sm, void *priv, size_t
      *len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_server_method_alloc
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1688,1
    - Dst: eap_server_method_register
      Src: /src/hostap/src/eap_server/eap_server_teap.c:1704,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1705
      start: 1684
    functionDepth: 2
    functionLinenumber: 1684
    functionLinenumberEnd: 1705
    functionName: eap_server_teap_register
    functionSourceFile: /src/hostap/src/eap_server/eap_server_teap.c
    functionUses: 2
    functionsReached:
    - eap_server_method_register
    - eap_server_method_alloc
    linkageType: ''
    returnType: int
    signature: int eap_server_teap_register(void)
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 1
    argNames:
    - state
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 99
    functionName: eap_fast_state_txt
    functionSourceFile: /src/hostap/src/eap_server/eap_server_fast.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * eap_fast_state_txt(int state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:104,1
    - Dst: eap_fast_state_txt
      Src: /src/hostap/src/eap_server/eap_server_fast.c:105,1
    - Dst: eap_fast_state_txt
      Src: /src/hostap/src/eap_server/eap_server_fast.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - state
    argTypes:
    - struct eap_fast_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 108
    functionName: eap_fast_state
    functionSourceFile: /src/hostap/src/eap_server/eap_server_fast.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_fast_state_txt
    linkageType: ''
    returnType: void
    signature: void eap_fast_state(struct eap_fast_data *data, int state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eap_fast_state
      Src: /src/hostap/src/eap_server/eap_server_fast.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sm
    - data
    argTypes:
    - struct eap_sm*
    - struct eap_fast_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 117
    functionName: eap_fast_req_failure
    functionSourceFile: /src/hostap/src/eap_server/eap_server_fast.c
    functionUses: 0
    functionsReached:
    - eap_fast_state
    linkageType: ''
    returnType: enum eap_type
    signature: "enum eap_type eap_fast_req_failure(struct eap_sm *sm,\n\t\t\t\t\t
      \ struct eap_fast_data *data)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:134,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_fast.c:135,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_server/eap_server_fast.c:138,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:139,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_server/eap_server_fast.c:144,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:148,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_fast.c:154,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_server/eap_server_fast.c:157,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:159,1
    - Dst: aes_unwrap
      Src: /src/hostap/src/eap_server/eap_server_fast.c:164,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:166,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_fast.c:168,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_server/eap_server_fast.c:179,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:196,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_fast.c:199,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_server/eap_server_fast.c:203,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:209,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_fast.c:212,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/eap_server/eap_server_fast.c:215,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:228,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_fast.c:230,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_server/eap_server_fast.c:235,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_fast.c:237,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_server/eap_server_fast.c:238,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_fast.c:240,1
    - Dst: os_get_time
      Src: /src/hostap/src/eap_server/eap_server_fast.c:245,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:246,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:258,1
    - Dst: eap_fast_derive_master_secret
      Src: /src/hostap/src/eap_server/eap_server_fast.c:263,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_fast.c:266,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 87
    argCount: 6
    argNames:
    - ctx
    - ticket
    - len
    - client_random
    - server_random
    - master_secret
    argTypes:
    - void*
    - u8*
    - size_t
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 269
    functionName: eap_fast_session_ticket_cb
    functionSourceFile: /src/hostap/src/eap_server/eap_server_fast.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - WPA_GET_BE16
    - wpa_hexdump_key
    - os_memcpy
    - wpa_hexdump
    - aes_unwrap
    - os_malloc
    - eap_fast_derive_master_secret
    - os_get_time
    - os_free
    - WPA_GET_BE32
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: int
    signature: "int eap_fast_session_ticket_cb(void *ctx, const u8 *ticket, size_t
      len,\n\t\t\t\t      const u8 *client_random,\n\t\t\t\t      const u8 *server_random,\n\t\t\t\t
      \     u8 *master_secret)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_fast_derive_key
      Src: /src/hostap/src/eap_server/eap_server_fast.c:281,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:284,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_server/eap_server_fast.c:293,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_fast.c:297,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_fast.c:298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - sm
    - data
    argTypes:
    - struct eap_sm*
    - struct eap_fast_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 299
    functionName: eap_fast_derive_key_auth
    functionSourceFile: /src/hostap/src/eap_server/eap_server_fast.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    - wpa_printf
    - wpa_hexdump_key
    - os_free
    - eap_fast_derive_key
    linkageType: ''
    returnType: void
    signature: "void eap_fast_derive_key_auth(struct eap_sm *sm,\n\t\t\t\t     struct
      eap_fast_data *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_fast.c:305,1
    - Dst: eap_fast_derive_key
      Src: /src/hostap/src/eap_server/eap_server_fast.c:307,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:310,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_server/eap_server_fast.c:317,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_fast.c:322,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_server/eap_server_fast.c:324,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_server/eap_server_fast.c:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - sm
    - data
    argTypes:
    - struct eap_sm*
    - struct eap_fast_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 330
    functionName: eap_fast_derive_key_provisioning
    functionSourceFile: /src/hostap/src/eap_server/eap_server_fast.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    - wpa_printf
    - wpa_hexdump_key
    - os_free
    - eap_fast_derive_key
    linkageType: ''
    returnType: void
    signature: "void eap_fast_derive_key_provisioning(struct eap_sm *sm,\n\t\t\t\t\t
      \    struct eap_fast_data *data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/eap_server/eap_server_fast.c:340,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:343,1
    - Dst: struct eap_fast_data*::phase2_method::getKey
      Src: /src/hostap/src/eap_server/eap_server_fast.c:351,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:353,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_fast.c:360,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_fast.c:361,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - sm
    - data
    - isk
    - isk_len
    argTypes:
    - struct eap_sm*
    - struct eap_fast_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 364
    functionName: eap_fast_get_phase2_key
    functionSourceFile: /src/hostap/src/eap_server/eap_server_fast.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - os_memcpy
    - struct eap_fast_data*::phase2_method::getKey
    - os_free
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int eap_fast_get_phase2_key(struct eap_sm *sm,\n\t\t\t\t   struct
      eap_fast_data *data,\n\t\t\t\t   u8 *isk, size_t isk_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:371,1
    - Dst: eap_fast_get_phase2_key
      Src: /src/hostap/src/eap_server/eap_server_fast.c:382,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_server/eap_server_fast.c:384,1
    - Dst: sha1_t_prf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:385,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_fast.c:389,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_server/eap_server_fast.c:390,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_fast.c:392,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_server/eap_server_fast.c:393,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - sm
    - data
    argTypes:
    - struct eap_sm*
    - struct eap_fast_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 367
    functionDepth: 2
    functionLinenumber: 367
    functionLinenumberEnd: 397
    functionName: eap_fast_update_icmk
    functionSourceFile: /src/hostap/src/eap_server/eap_server_fast.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_printf
    - wpa_hexdump_key
    - eap_fast_get_phase2_key
    - sha1_t_prf
    linkageType: ''
    returnType: int
    signature: int eap_fast_update_icmk(struct eap_sm *sm, struct eap_fast_data *data)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_server/eap_server_fast.c:413,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:420,1
    - Dst: eap_server_tls_ssl_init
      Src: /src/hostap/src/eap_server/eap_server_fast.c:426,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:427,1
    - Dst: eap_fast_reset
      Src: /src/hostap/src/eap_server/eap_server_fast.c:428,1
    - Dst: tls_connection_set_cipher_list
      Src: /src/hostap/src/eap_server/eap_server_fast.c:432,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:434,1
    - Dst: eap_fast_reset
      Src: /src/hostap/src/eap_server/eap_server_fast.c:436,1
    - Dst: tls_connection_set_session_ticket_cb
      Src: /src/hostap/src/eap_server/eap_server_fast.c:440,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:444,1
    - Dst: eap_fast_reset
      Src: /src/hostap/src/eap_server/eap_server_fast.c:446,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:451,1
    - Dst: eap_fast_reset
      Src: /src/hostap/src/eap_server/eap_server_fast.c:453,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_fast.c:456,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:460,1
    - Dst: eap_fast_reset
      Src: /src/hostap/src/eap_server/eap_server_fast.c:461,1
    - Dst: os_memdup
      Src: /src/hostap/src/eap_server/eap_server_fast.c:464,1
    - Dst: eap_fast_reset
      Src: /src/hostap/src/eap_server/eap_server_fast.c:467,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:473,1
    - Dst: eap_fast_reset
      Src: /src/hostap/src/eap_server/eap_server_fast.c:474,1
    - Dst: os_strdup
      Src: /src/hostap/src/eap_server/eap_server_fast.c:477,1
    - Dst: eap_fast_reset
      Src: /src/hostap/src/eap_server/eap_server_fast.c:479,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 57
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 400
    functionDepth: 3
    functionLinenumber: 400
    functionLinenumberEnd: 494
    functionName: eap_fast_init
    functionSourceFile: /src/hostap/src/eap_server/eap_server_fast.c
    functionUses: 0
    functionsReached:
    - tls_connection_set_session_ticket_cb
    - wpa_printf
    - os_memcpy
    - tls_connection_set_cipher_list
    - eap_server_tls_ssl_init
    - os_memdup
    - os_zalloc
    - eap_fast_reset
    - os_strdup
    linkageType: ''
    returnType: void
    signature: void * eap_fast_init(struct eap_sm *sm)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct eap_fast_data*::phase2_method::reset
      Src: /src/hostap/src/eap_server/eap_server_fast.c:503,1
    - Dst: eap_server_tls_ssl_deinit
      Src: /src/hostap/src/eap_server/eap_server_fast.c:504,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_fast.c:505,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_fast.c:506,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_fast.c:507,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_fast.c:508,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_fast.c:509,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/eap_server/eap_server_fast.c:510,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 497
    functionDepth: 2
    functionLinenumber: 497
    functionLinenumberEnd: 511
    functionName: eap_fast_reset
    functionSourceFile: /src/hostap/src/eap_server/eap_server_fast.c
    functionUses: 1
    functionsReached:
    - wpabuf_free
    - struct eap_fast_data*::phase2_method::reset
    - eap_server_tls_ssl_deinit
    - os_free
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: void eap_fast_reset(struct eap_sm *sm, void *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_msg_alloc
      Src: /src/hostap/src/eap_server/eap_server_fast.c:519,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:523,1
    - Dst: eap_fast_state
      Src: /src/hostap/src/eap_server/eap_server_fast.c:525,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server_fast.c:529,1
    - Dst: eap_fast_put_tlv
      Src: /src/hostap/src/eap_server/eap_server_fast.c:532,1
    - Dst: eap_fast_state
      Src: /src/hostap/src/eap_server/eap_server_fast.c:534,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - sm
    - data
    - id
    argTypes:
    - struct eap_sm*
    - struct eap_fast_data*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 514
    functionDepth: 2
    functionLinenumber: 514
    functionLinenumberEnd: 537
    functionName: eap_fast_build_start
    functionSourceFile: /src/hostap/src/eap_server/eap_server_fast.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_fast_put_tlv
    - wpabuf_put_u8
    - eap_msg_alloc
    - eap_fast_state
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_fast_build_start(struct eap_sm *sm,\n\t\t\t\t\t
      \   struct eap_fast_data *data, u8 id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:544,1
    - Dst: tls_get_cipher
      Src: /src/hostap/src/eap_server/eap_server_fast.c:546,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:548,1
    - Dst: eap_fast_state
      Src: /src/hostap/src/eap_server/eap_server_fast.c:550,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_server/eap_server_fast.c:553,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:556,1
    - Dst: eap_fast_derive_key_provisioning
      Src: /src/hostap/src/eap_server/eap_server_fast.c:557,1
    - Dst: eap_fast_derive_key_auth
      Src: /src/hostap/src/eap_server/eap_server_fast.c:559,1
    - Dst: eap_fast_state
      Src: /src/hostap/src/eap_server/eap_server_fast.c:561,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - sm
    - data
    argTypes:
    - struct eap_sm*
    - struct eap_fast_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 540
    functionDepth: 2
    functionLinenumber: 540
    functionLinenumberEnd: 564
    functionName: eap_fast_phase1_done
    functionSourceFile: /src/hostap/src/eap_server/eap_server_fast.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_fast_state
    - tls_get_cipher
    - os_strstr
    - eap_fast_derive_key_provisioning
    - eap_fast_derive_key_auth
    linkageType: ''
    returnType: int
    signature: int eap_fast_phase1_done(struct eap_sm *sm, struct eap_fast_data *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:574,1
    - Dst: struct eap_fast_data*::phase2_method::buildReq
      Src: /src/hostap/src/eap_server/eap_server_fast.c:578,1
    - Dst: wpa_hexdump_buf_key
      Src: /src/hostap/src/eap_server/eap_server_fast.c:582,1
    - Dst: eap_fast_tlv_eap_payload
      Src: /src/hostap/src/eap_server/eap_server_fast.c:583,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - sm
    - data
    - id
    argTypes:
    - struct eap_sm*
    - struct eap_fast_data*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 567
    functionDepth: 1
    functionLinenumber: 567
    functionLinenumberEnd: 584
    functionName: eap_fast_build_phase2_req
    functionSourceFile: /src/hostap/src/eap_server/eap_server_fast.c
    functionUses: 0
    functionsReached:
    - eap_fast_tlv_eap_payload
    - wpa_printf
    - wpa_hexdump_buf_key
    - struct eap_fast_data*::phase2_method::buildReq
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_fast_build_phase2_req(struct eap_sm *sm,\n\t\t\t\t\t\t
      struct eap_fast_data *data,\n\t\t\t\t\t\t u8 id)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eap_server/eap_server_fast.c:594,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:606,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_server/eap_server_fast.c:608,1
    - Dst: host_to_be16
      Src: /src/hostap/src/eap_server/eap_server_fast.c:609,1
    - Dst: host_to_be16
      Src: /src/hostap/src/eap_server/eap_server_fast.c:612,1
    - Dst: host_to_be16
      Src: /src/hostap/src/eap_server/eap_server_fast.c:613,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:618,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_server/eap_server_fast.c:620,1
    - Dst: host_to_be16
      Src: /src/hostap/src/eap_server/eap_server_fast.c:621,1
    - Dst: host_to_be16
      Src: /src/hostap/src/eap_server/eap_server_fast.c:623,1
    - Dst: host_to_be16
      Src: /src/hostap/src/eap_server/eap_server_fast.c:624,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_server/eap_server_fast.c:628,1
    - Dst: host_to_be16
      Src: /src/hostap/src/eap_server/eap_server_fast.c:629,1
    - Dst: host_to_be16
      Src: /src/hostap/src/eap_server/eap_server_fast.c:631,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/eap_server/eap_server_fast.c:636,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_fast.c:637,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_fast.c:647,1
    - Dst: hmac_sha1
      Src: /src/hostap/src/eap_server/eap_server_fast.c:656,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:660,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_fast.c:664,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_fast.c:666,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 2
    argNames:
    - sm
    - data
    argTypes:
    - struct eap_sm*
    - struct eap_fast_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 587
    functionDepth: 1
    functionLinenumber: 587
    functionLinenumberEnd: 670
    functionName: eap_fast_build_crypto_binding
    functionSourceFile: /src/hostap/src/eap_server/eap_server_fast.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - random_get_bytes
    - wpabuf_put
    - os_memcpy
    - wpa_hexdump
    - host_to_be16
    - wpabuf_free
    - hmac_sha1
    - wpabuf_alloc
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_fast_build_crypto_binding(\n\tstruct eap_sm *sm,
      struct eap_fast_data *data)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: random_get_bytes
      Src: /src/hostap/src/eap_server/eap_server_fast.c:686,1
    - Dst: os_get_time
      Src: /src/hostap/src/eap_server/eap_server_fast.c:687,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_server/eap_server_fast.c:689,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_server/eap_server_fast.c:694,1
    - Dst: os_strlen
      Src: /src/hostap/src/eap_server/eap_server_fast.c:698,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_fast.c:703,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/src/eap_server/eap_server_fast.c:708,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_fast.c:714,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_server/eap_server_fast.c:724,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_fast.c:726,1
    - Dst: aes_wrap
      Src: /src/hostap/src/eap_server/eap_server_fast.c:729,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_fast.c:731,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_fast.c:732,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_fast.c:735,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_fast.c:738,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eap_server/eap_server_fast.c:745,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_fast.c:747,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:752,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_server/eap_server_fast.c:753,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/eap_server/eap_server_fast.c:754,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/eap_server/eap_server_fast.c:756,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/eap_server/eap_server_fast.c:757,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:760,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_server/eap_server_fast.c:761,1
    - Dst: host_to_be16
      Src: /src/hostap/src/eap_server/eap_server_fast.c:762,1
    - Dst: eap_fast_put_tlv
      Src: /src/hostap/src/eap_server/eap_server_fast.c:766,1
    - Dst: eap_fast_put_tlv
      Src: /src/hostap/src/eap_server/eap_server_fast.c:769,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_fast.c:770,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_server/eap_server_fast.c:773,1
    - Dst: host_to_be16
      Src: /src/hostap/src/eap_server/eap_server_fast.c:774,1
    - Dst: eap_fast_put_tlv_hdr
      Src: /src/hostap/src/eap_server/eap_server_fast.c:777,1
    - Dst: wpabuf_put_be32
      Src: /src/hostap/src/eap_server/eap_server_fast.c:778,1
    - Dst: eap_fast_put_tlv
      Src: /src/hostap/src/eap_server/eap_server_fast.c:781,1
    - Dst: eap_fast_put_tlv
      Src: /src/hostap/src/eap_server/eap_server_fast.c:786,1
    - Dst: eap_fast_put_tlv
      Src: /src/hostap/src/eap_server/eap_server_fast.c:791,1
    - Dst: eap_fast_put_tlv_hdr
      Src: /src/hostap/src/eap_server/eap_server_fast.c:795,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/eap_server/eap_server_fast.c:796,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_server/eap_server_fast.c:799,1
    - Dst: host_to_be16
      Src: /src/hostap/src/eap_server/eap_server_fast.c:800,1
    - Dst: host_to_be16
      Src: /src/hostap/src/eap_server/eap_server_fast.c:801,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 74
    argCount: 2
    argNames:
    - sm
    - data
    argTypes:
    - struct eap_sm*
    - struct eap_fast_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 673
    functionDepth: 1
    functionLinenumber: 673
    functionLinenumberEnd: 804
    functionName: eap_fast_build_pac
    functionSourceFile: /src/hostap/src/eap_server/eap_server_fast.c
    functionUses: 0
    functionsReached:
    - wpa_hexdump
    - aes_wrap
    - WPA_PUT_BE32
    - wpabuf_alloc
    - os_strlen
    - wpa_printf
    - wpabuf_put_be16
    - wpabuf_put_be32
    - os_free
    - wpa_hexdump_key
    - os_malloc
    - WPA_PUT_BE16
    - os_get_time
    - random_get_bytes
    - os_memcpy
    - wpabuf_put
    - eap_fast_put_tlv
    - host_to_be16
    - eap_fast_put_tlv_hdr
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_fast_build_pac(struct eap_sm *sm,\n\t\t\t\t\t
      \ struct eap_fast_data *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump_buf_key
      Src: /src/hostap/src/eap_server/eap_server_fast.c:813,1
    - Dst: eap_server_tls_encrypt
      Src: /src/hostap/src/eap_server/eap_server_fast.c:815,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_fast.c:816,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:822,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_fast.c:825,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_fast.c:826,1
    - Dst: wpabuf_resize
      Src: /src/hostap/src/eap_server/eap_server_fast.c:828,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_fast.c:828,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:829,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_fast.c:831,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:834,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_fast.c:835,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_fast.c:837,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 4
    argNames:
    - sm
    - data
    - plain
    - piggyback
    argTypes:
    - struct eap_sm*
    - struct eap_fast_data*
    - struct wpabuf*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 807
    functionDepth: 1
    functionLinenumber: 807
    functionLinenumberEnd: 843
    functionName: eap_fast_encrypt_phase2
    functionSourceFile: /src/hostap/src/eap_server/eap_server_fast.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_resize
    - wpabuf_len
    - eap_server_tls_encrypt
    - wpabuf_free
    - wpabuf_put_buf
    - wpa_hexdump_buf_key
    linkageType: ''
    returnType: int
    signature: "int eap_fast_encrypt_phase2(struct eap_sm *sm,\n\t\t\t\t   struct
      eap_fast_data *data,\n\t\t\t\t   struct wpabuf *plain, int piggyback)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: eap_server_tls_build_ack
      Src: /src/hostap/src/eap_server/eap_server_fast.c:853,1
    - Dst: eap_server_tls_build_msg
      Src: /src/hostap/src/eap_server/eap_server_fast.c:858,1
    - Dst: eap_fast_build_start
      Src: /src/hostap/src/eap_server/eap_server_fast.c:864,1
    - Dst: tls_connection_established
      Src: /src/hostap/src/eap_server/eap_server_fast.c:866,1
    - Dst: eap_fast_phase1_done
      Src: /src/hostap/src/eap_server/eap_server_fast.c:868,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:876,1
    - Dst: eap_fast_process_phase2_start
      Src: /src/hostap/src/eap_server/eap_server_fast.c:878,1
    - Dst: eap_fast_build_phase2_req
      Src: /src/hostap/src/eap_server/eap_server_fast.c:880,1
    - Dst: eap_fast_build_phase2_req
      Src: /src/hostap/src/eap_server/eap_server_fast.c:887,1
    - Dst: eap_fast_build_crypto_binding
      Src: /src/hostap/src/eap_server/eap_server_fast.c:890,1
    - Dst: eap_fast_build_phase2_req
      Src: /src/hostap/src/eap_server/eap_server_fast.c:898,1
    - Dst: wpabuf_concat
      Src: /src/hostap/src/eap_server/eap_server_fast.c:899,1
    - Dst: eap_fast_state
      Src: /src/hostap/src/eap_server/eap_server_fast.c:900,1
    - Dst: eap_fast_build_pac
      Src: /src/hostap/src/eap_server/eap_server_fast.c:904,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:907,1
    - Dst: eap_fast_encrypt_phase2
      Src: /src/hostap/src/eap_server/eap_server_fast.c:913,1
    - Dst: eap_server_tls_build_msg
      Src: /src/hostap/src/eap_server/eap_server_fast.c:916,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 3
    argNames:
    - sm
    - priv
    - id
    argTypes:
    - struct eap_sm*
    - void*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 846
    functionDepth: 3
    functionLinenumber: 846
    functionLinenumberEnd: 918
    functionName: eap_fast_buildReq
    functionSourceFile: /src/hostap/src/eap_server/eap_server_fast.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_fast_phase1_done
    - eap_fast_build_phase2_req
    - eap_fast_build_start
    - eap_fast_state
    - eap_fast_encrypt_phase2
    - eap_fast_build_crypto_binding
    - eap_fast_build_pac
    - eap_server_tls_build_msg
    - eap_server_tls_build_ack
    - tls_connection_established
    - eap_fast_process_phase2_start
    - wpabuf_concat
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * eap_fast_buildReq(struct eap_sm *sm, void *priv, u8
      id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_server/eap_server_fast.c:927,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:929,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - sm
    - priv
    - respData
    argTypes:
    - struct eap_sm*
    - void*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 921
    functionDepth: 1
    functionLinenumber: 921
    functionLinenumberEnd: 934
    functionName: eap_fast_check
    functionSourceFile: /src/hostap/src/eap_server/eap_server_fast.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_hdr_validate
    linkageType: ''
    returnType: bool
    signature: "bool eap_fast_check(struct eap_sm *sm, void *priv,\n\t\t\t   struct
      wpabuf *respData)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: struct eap_fast_data*::phase2_method::reset
      Src: /src/hostap/src/eap_server/eap_server_fast.c:941,1
    - Dst: eap_server_get_eap_method
      Src: /src/hostap/src/eap_server/eap_server_fast.c:945,1
    - Dst: struct eap_fast_data*::phase2_method::init
      Src: /src/hostap/src/eap_server/eap_server_fast.c:955,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - sm
    - data
    - vendor
    - eap_type
    argTypes:
    - struct eap_sm*
    - struct eap_fast_data*
    - int
    - enum eap_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 937
    functionDepth: 1
    functionLinenumber: 937
    functionLinenumberEnd: 961
    functionName: eap_fast_phase2_init
    functionSourceFile: /src/hostap/src/eap_server/eap_server_fast.c
    functionUses: 0
    functionsReached:
    - struct eap_fast_data*::phase2_method::init
    - eap_server_get_eap_method
    - struct eap_fast_data*::phase2_method::reset
    linkageType: ''
    returnType: int
    signature: "int eap_fast_phase2_init(struct eap_sm *sm, struct eap_fast_data *data,\n\t\t\t\tint
      vendor, enum eap_type eap_type)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:978,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_fast.c:988,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:993,1
    - Dst: eap_fast_req_failure
      Src: /src/hostap/src/eap_server/eap_server_fast.c:996,1
    - Dst: eap_fast_phase2_init
      Src: /src/hostap/src/eap_server/eap_server_fast.c:997,1
    - Dst: eap_sm_process_nak
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1001,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1009,1
    - Dst: eap_fast_req_failure
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1013,1
    - Dst: eap_fast_phase2_init
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1015,1
    - Dst: wpabuf_set
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1019,1
    - Dst: struct eap_method*::check
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1021,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1022,1
    - Dst: eap_fast_req_failure
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1024,1
    - Dst: struct eap_method*::process
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1028,1
    - Dst: struct eap_method*::isDone
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1030,1
    - Dst: struct eap_method*::isSuccess
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1033,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1034,1
    - Dst: eap_fast_req_failure
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1036,1
    - Dst: eap_fast_phase2_init
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1037,1
    - Dst: eap_user_get
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1043,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1044,1
    - Dst: eap_fast_req_failure
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1049,1
    - Dst: eap_fast_state
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1053,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1067,1
    - Dst: eap_fast_update_icmk
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1072,1
    - Dst: eap_fast_state
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1073,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1079,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1089,1
    - Dst: eap_fast_phase2_init
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1094,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 86
    argCount: 4
    argNames:
    - sm
    - data
    - in_data
    - in_len
    argTypes:
    - struct eap_sm*
    - struct eap_fast_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1095
      start: 964
    functionDepth: 3
    functionLinenumber: 964
    functionLinenumberEnd: 1095
    functionName: eap_fast_process_phase2_response
    functionSourceFile: /src/hostap/src/eap_server/eap_server_fast.c
    functionUses: 0
    functionsReached:
    - eap_fast_req_failure
    - wpa_printf
    - eap_sm_process_nak
    - wpa_hexdump
    - eap_fast_state
    - struct eap_method*::isSuccess
    - struct eap_method*::check
    - struct eap_method*::process
    - wpabuf_set
    - eap_fast_update_icmk
    - struct eap_method*::isDone
    - eap_user_get
    - eap_fast_phase2_init
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: void
    signature: "void eap_fast_process_phase2_response(struct eap_sm *sm,\n\t\t\t\t\t
      \    struct eap_fast_data *data,\n\t\t\t\t\t     u8 *in_data, size_t in_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1107,1
    - Dst: eap_fast_req_failure
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1109,1
    - Dst: be_to_host16
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1112,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1114,1
    - Dst: eap_fast_req_failure
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1117,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1120,1
    - Dst: eap_fast_process_phase2_response
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1125,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1128,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 4
    argNames:
    - sm
    - data
    - in_data
    - in_len
    argTypes:
    - struct eap_sm*
    - struct eap_fast_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1132
      start: 1098
    functionDepth: 4
    functionLinenumber: 1098
    functionLinenumberEnd: 1132
    functionName: eap_fast_process_phase2_eap
    functionSourceFile: /src/hostap/src/eap_server/eap_server_fast.c
    functionUses: 0
    functionsReached:
    - eap_fast_req_failure
    - wpa_printf
    - be_to_host16
    - eap_fast_process_phase2_response
    linkageType: ''
    returnType: void
    signature: "void eap_fast_process_phase2_eap(struct eap_sm *sm,\n\t\t\t\t\tstruct
      eap_fast_data *data,\n\t\t\t\t\tu8 *in_data, size_t in_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1142,1
    - Dst: wpabuf_mhead
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1144,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1145,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1148,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1150,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1153,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1156,1
    - Dst: eap_fast_parse_tlv
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1161,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1166,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1171,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - data
    - tlv
    argTypes:
    - struct wpabuf*
    - struct eap_fast_tlv_parse*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1181
      start: 1135
    functionDepth: 1
    functionLinenumber: 1135
    functionLinenumberEnd: 1181
    functionName: eap_fast_parse_tlvs
    functionSourceFile: /src/hostap/src/eap_server/eap_server_fast.c
    functionUses: 0
    functionsReached:
    - WPA_GET_BE16
    - wpa_printf
    - wpabuf_len
    - eap_fast_parse_tlv
    - wpabuf_mhead
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int eap_fast_parse_tlvs(struct wpabuf *data,\n\t\t\t       struct
      eap_fast_tlv_parse *tlv)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1190,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1193,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1195,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1200,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1208,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1213,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1215,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1220,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1221,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1222,1
    - Dst: hmac_sha1
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1225,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1227,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1228,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1231,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - data
    - b
    - bind_len
    argTypes:
    - struct eap_fast_data*
    - struct eap_tlv_crypto_binding_tlv*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1237
      start: 1184
    functionDepth: 0
    functionLinenumber: 1184
    functionLinenumberEnd: 1237
    functionName: eap_fast_validate_crypto_binding
    functionSourceFile: /src/hostap/src/eap_server/eap_server_fast.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_hexdump
    - hmac_sha1
    - os_memcmp_const
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int eap_fast_validate_crypto_binding(\n\tstruct eap_fast_data *data,
      struct eap_tlv_crypto_binding_tlv *b,\n\tsize_t bind_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: be_to_host16
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1249,1
    - Dst: be_to_host16
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1250,1
    - Dst: be_to_host16
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1251,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - pac
    - len
    - type
    argTypes:
    - u8*
    - size_t
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1252
      start: 1240
    functionDepth: 1
    functionLinenumber: 1240
    functionLinenumberEnd: 1252
    functionName: eap_fast_pac_type
    functionSourceFile: /src/hostap/src/eap_server/eap_server_fast.c
    functionUses: 0
    functionsReached:
    - be_to_host16
    linkageType: ''
    returnType: int
    signature: int eap_fast_pac_type(u8 *pac, size_t len, u16 type)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: eap_fast_parse_tlvs
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1262,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1263,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1269,1
    - Dst: eap_fast_state
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1271,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1278,1
    - Dst: eap_fast_state
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1280,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1284,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1285,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1286,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1290,1
    - Dst: eap_fast_state
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1292,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1296,1
    - Dst: eap_fast_state
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1298,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1306,1
    - Dst: eap_fast_state
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1308,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1314,1
    - Dst: eap_fast_state
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1316,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1322,1
    - Dst: eap_fast_state
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1324,1
    - Dst: eap_fast_validate_crypto_binding
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1328,1
    - Dst: eap_fast_state
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1330,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1334,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1337,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1344,1
    - Dst: eap_fast_state
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1347,1
    - Dst: eap_fast_pac_type
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1354,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1356,1
    - Dst: eap_fast_state
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1359,1
    - Dst: eap_fast_pac_type
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1365,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1367,1
    - Dst: eap_fast_state
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1369,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1371,1
    - Dst: eap_fast_state
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1373,1
    - Dst: eap_fast_state
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1375,1
    - Dst: eap_fast_process_phase2_eap
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1379,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 76
    argCount: 3
    argNames:
    - sm
    - data
    - in_data
    argTypes:
    - struct eap_sm*
    - struct eap_fast_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1382
      start: 1255
    functionDepth: 5
    functionLinenumber: 1255
    functionLinenumberEnd: 1382
    functionName: eap_fast_process_phase2_tlvs
    functionSourceFile: /src/hostap/src/eap_server/eap_server_fast.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - WPA_GET_BE16
    - eap_fast_process_phase2_eap
    - eap_fast_state
    - eap_fast_parse_tlvs
    - eap_fast_validate_crypto_binding
    - eap_fast_pac_type
    linkageType: ''
    returnType: void
    signature: "void eap_fast_process_phase2_tlvs(struct eap_sm *sm,\n\t\t\t\t\t struct
      eap_fast_data *data,\n\t\t\t\t\t struct wpabuf *in_data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1391,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1392,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1395,1
    - Dst: eap_fast_process_phase2_tlvs
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1397,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1399,1
    - Dst: tls_connection_decrypt
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1404,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1407,1
    - Dst: eap_fast_state
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1409,1
    - Dst: wpa_hexdump_buf_key
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1413,1
    - Dst: eap_fast_process_phase2_tlvs
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1416,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1419,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1421,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1426,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 3
    argNames:
    - sm
    - data
    - in_buf
    argTypes:
    - struct eap_sm*
    - struct eap_fast_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1427
      start: 1385
    functionDepth: 6
    functionLinenumber: 1385
    functionLinenumberEnd: 1427
    functionName: eap_fast_process_phase2
    functionSourceFile: /src/hostap/src/eap_server/eap_server_fast.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_fast_process_phase2_tlvs
    - tls_connection_decrypt
    - wpabuf_len
    - wpabuf_free
    - eap_fast_state
    - wpa_hexdump_buf_key
    linkageType: ''
    returnType: void
    signature: "void eap_fast_process_phase2(struct eap_sm *sm,\n\t\t\t\t    struct
      eap_fast_data *data,\n\t\t\t\t    struct wpabuf *in_buf)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1438,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1445,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - sm
    - priv
    - peer_version
    argTypes:
    - struct eap_sm*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1452
      start: 1430
    functionDepth: 0
    functionLinenumber: 1430
    functionLinenumberEnd: 1452
    functionName: eap_fast_process_version
    functionSourceFile: /src/hostap/src/eap_server/eap_server_fast.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int eap_fast_process_version(struct eap_sm *sm, void *priv,\n\t\t\t\t
      \   int peer_version)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eap_server_tls_phase1
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1458,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1459,1
    - Dst: eap_fast_state
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1460,1
    - Dst: tls_connection_established
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1464,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1465,1
    - Dst: eap_fast_phase1_done
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1474,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - sm
    - data
    argTypes:
    - struct eap_sm*
    - struct eap_fast_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1475
      start: 1455
    functionDepth: 3
    functionLinenumber: 1455
    functionLinenumberEnd: 1475
    functionName: eap_fast_process_phase1
    functionSourceFile: /src/hostap/src/eap_server/eap_server_fast.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_fast_phase1_done
    - wpabuf_len
    - eap_fast_state
    - eap_server_tls_phase1
    - tls_connection_established
    linkageType: ''
    returnType: int
    signature: "int eap_fast_process_phase1(struct eap_sm *sm,\n\t\t\t\t   struct
      eap_fast_data *data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1485,1
    - Dst: eap_user_get
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1491,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1492,1
    - Dst: eap_fast_req_failure
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1497,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1499,1
    - Dst: eap_fast_state
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1506,1
    - Dst: eap_fast_state
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1508,1
    - Dst: eap_fast_phase2_init
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1513,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 2
    argNames:
    - sm
    - data
    argTypes:
    - struct eap_sm*
    - struct eap_fast_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1514
      start: 1478
    functionDepth: 3
    functionLinenumber: 1478
    functionLinenumberEnd: 1514
    functionName: eap_fast_process_phase2_start
    functionSourceFile: /src/hostap/src/eap_server/eap_server_fast.c
    functionUses: 1
    functionsReached:
    - eap_fast_req_failure
    - wpa_printf
    - eap_fast_state
    - eap_user_get
    - os_free
    - eap_fast_phase2_init
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: int
    signature: "int eap_fast_process_phase2_start(struct eap_sm *sm,\n\t\t\t\t\t struct
      eap_fast_data *data)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: eap_fast_process_phase1
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1524,1
    - Dst: eap_fast_process_phase2_start
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1529,1
    - Dst: eap_fast_process_phase2
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1535,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1538,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - sm
    - priv
    - respData
    argTypes:
    - struct eap_sm*
    - void*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1542
      start: 1517
    functionDepth: 7
    functionLinenumber: 1517
    functionLinenumberEnd: 1542
    functionName: eap_fast_process_msg
    functionSourceFile: /src/hostap/src/eap_server/eap_server_fast.c
    functionUses: 0
    functionsReached:
    - eap_fast_process_phase2
    - wpa_printf
    - eap_fast_process_phase2_start
    - eap_fast_process_phase1
    linkageType: ''
    returnType: void
    signature: "void eap_fast_process_msg(struct eap_sm *sm, void *priv,\n\t\t\t\t
      const struct wpabuf *respData)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_server_tls_process
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1549,1
    - Dst: eap_fast_state
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1552,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - sm
    - priv
    - respData
    argTypes:
    - struct eap_sm*
    - void*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1553
      start: 1545
    functionDepth: 4
    functionLinenumber: 1545
    functionLinenumberEnd: 1553
    functionName: eap_fast_process
    functionSourceFile: /src/hostap/src/eap_server/eap_server_fast.c
    functionUses: 0
    functionsReached:
    - eap_server_tls_process
    - eap_fast_state
    linkageType: ''
    returnType: void
    signature: "void eap_fast_process(struct eap_sm *sm, void *priv,\n\t\t\t     struct
      wpabuf *respData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1560
      start: 1556
    functionDepth: 0
    functionLinenumber: 1556
    functionLinenumberEnd: 1560
    functionName: eap_fast_isDone
    functionSourceFile: /src/hostap/src/eap_server/eap_server_fast.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool eap_fast_isDone(struct eap_sm *sm, void *priv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1571,1
    - Dst: eap_fast_derive_eap_msk
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1575,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1576,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1582
      start: 1563
    functionDepth: 1
    functionLinenumber: 1563
    functionLinenumberEnd: 1582
    functionName: eap_fast_getKey
    functionSourceFile: /src/hostap/src/eap_server/eap_server_fast.c
    functionUses: 0
    functionsReached:
    - os_free
    - os_malloc
    - eap_fast_derive_eap_msk
    linkageType: ''
    returnType: u8
    signature: u8 * eap_fast_getKey(struct eap_sm *sm, void *priv, size_t *len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1593,1
    - Dst: eap_fast_derive_eap_emsk
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1597,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1598,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1604
      start: 1585
    functionDepth: 1
    functionLinenumber: 1585
    functionLinenumberEnd: 1604
    functionName: eap_fast_get_emsk
    functionSourceFile: /src/hostap/src/eap_server/eap_server_fast.c
    functionUses: 0
    functionsReached:
    - os_free
    - os_malloc
    - eap_fast_derive_eap_emsk
    linkageType: ''
    returnType: u8
    signature: u8 * eap_fast_get_emsk(struct eap_sm *sm, void *priv, size_t *len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1611
      start: 1607
    functionDepth: 0
    functionLinenumber: 1607
    functionLinenumberEnd: 1611
    functionName: eap_fast_isSuccess
    functionSourceFile: /src/hostap/src/eap_server/eap_server_fast.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool eap_fast_isSuccess(struct eap_sm *sm, void *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_server_tls_derive_session_id
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1621,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1623
      start: 1614
    functionDepth: 2
    functionLinenumber: 1614
    functionLinenumberEnd: 1623
    functionName: eap_fast_get_session_id
    functionSourceFile: /src/hostap/src/eap_server/eap_server_fast.c
    functionUses: 0
    functionsReached:
    - eap_server_tls_derive_session_id
    linkageType: ''
    returnType: u8
    signature: u8 * eap_fast_get_session_id(struct eap_sm *sm, void *priv, size_t
      *len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_server_method_alloc
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1630,1
    - Dst: eap_server_method_register
      Src: /src/hostap/src/eap_server/eap_server_fast.c:1646,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1647
      start: 1626
    functionDepth: 2
    functionLinenumber: 1626
    functionLinenumberEnd: 1647
    functionName: eap_server_fast_register
    functionSourceFile: /src/hostap/src/eap_server/eap_server_fast.c
    functionUses: 2
    functionsReached:
    - eap_server_method_register
    - eap_server_method_alloc
    linkageType: ''
    returnType: int
    signature: int eap_server_fast_register(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - state
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 38
    functionName: eap_vendor_test_state_txt
    functionSourceFile: /src/hostap/src/eap_server/eap_server_vendor_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * eap_vendor_test_state_txt(int state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_vendor_test.c:44,1
    - Dst: eap_vendor_test_state_txt
      Src: /src/hostap/src/eap_server/eap_server_vendor_test.c:45,1
    - Dst: eap_vendor_test_state_txt
      Src: /src/hostap/src/eap_server/eap_server_vendor_test.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - state
    argTypes:
    - struct eap_vendor_test_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: eap_vendor_test_state
    functionSourceFile: /src/hostap/src/eap_server/eap_server_vendor_test.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_vendor_test_state_txt
    linkageType: ''
    returnType: void
    signature: "void eap_vendor_test_state(struct eap_vendor_test_data *data,\n\t\t\t\t
      \ int state)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_server/eap_server_vendor_test.c:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 61
    functionName: eap_vendor_test_init
    functionSourceFile: /src/hostap/src/eap_server/eap_server_vendor_test.c
    functionUses: 0
    functionsReached:
    - os_zalloc
    linkageType: ''
    returnType: void
    signature: void * eap_vendor_test_init(struct eap_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_vendor_test.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: eap_vendor_test_reset
    functionSourceFile: /src/hostap/src/eap_server/eap_server_vendor_test.c
    functionUses: 0
    functionsReached:
    - os_free
    linkageType: ''
    returnType: void
    signature: void eap_vendor_test_reset(struct eap_sm *sm, void *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_msg_alloc
      Src: /src/hostap/src/eap_server/eap_server_vendor_test.c:77,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_vendor_test.c:80,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server_vendor_test.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - sm
    - priv
    - id
    argTypes:
    - struct eap_sm*
    - void*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 88
    functionName: eap_vendor_test_buildReq
    functionSourceFile: /src/hostap/src/eap_server/eap_server_vendor_test.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_msg_alloc
    - wpabuf_put_u8
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_vendor_test_buildReq(struct eap_sm *sm, void *priv,\n\t\t\t\t\t\tu8
      id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_server/eap_server_vendor_test.c:97,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_vendor_test.c:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - sm
    - priv
    - respData
    argTypes:
    - struct eap_sm*
    - void*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 104
    functionName: eap_vendor_test_check
    functionSourceFile: /src/hostap/src/eap_server/eap_server_vendor_test.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_hdr_validate
    linkageType: ''
    returnType: bool
    signature: "bool eap_vendor_test_check(struct eap_sm *sm, void *priv,\n\t\t\t\t
      \ struct wpabuf *respData)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_server/eap_server_vendor_test.c:114,1
    - Dst: eap_vendor_test_state
      Src: /src/hostap/src/eap_server/eap_server_vendor_test.c:120,1
    - Dst: eap_vendor_test_state
      Src: /src/hostap/src/eap_server/eap_server_vendor_test.c:122,1
    - Dst: eap_vendor_test_state
      Src: /src/hostap/src/eap_server/eap_server_vendor_test.c:125,1
    - Dst: eap_vendor_test_state
      Src: /src/hostap/src/eap_server/eap_server_vendor_test.c:127,1
    - Dst: eap_vendor_test_state
      Src: /src/hostap/src/eap_server/eap_server_vendor_test.c:129,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - sm
    - priv
    - respData
    argTypes:
    - struct eap_sm*
    - void*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 130
    functionName: eap_vendor_test_process
    functionSourceFile: /src/hostap/src/eap_server/eap_server_vendor_test.c
    functionUses: 0
    functionsReached:
    - eap_vendor_test_state
    - eap_hdr_validate
    linkageType: ''
    returnType: void
    signature: "void eap_vendor_test_process(struct eap_sm *sm, void *priv,\n\t\t\t\t
      \   struct wpabuf *respData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: eap_vendor_test_isDone
    functionSourceFile: /src/hostap/src/eap_server/eap_server_vendor_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool eap_vendor_test_isDone(struct eap_sm *sm, void *priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/eap_server/eap_server_vendor_test.c:149,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_server/eap_server_vendor_test.c:153,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_server/eap_server_vendor_test.c:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 158
    functionName: eap_vendor_test_getKey
    functionSourceFile: /src/hostap/src/eap_server/eap_server_vendor_test.c
    functionUses: 0
    functionsReached:
    - os_malloc
    - os_memset
    linkageType: ''
    returnType: u8
    signature: u8 * eap_vendor_test_getKey(struct eap_sm *sm, void *priv, size_t *len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 165
    functionName: eap_vendor_test_isSuccess
    functionSourceFile: /src/hostap/src/eap_server/eap_server_vendor_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool eap_vendor_test_isSuccess(struct eap_sm *sm, void *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_server_method_alloc
      Src: /src/hostap/src/eap_server/eap_server_vendor_test.c:172,1
    - Dst: eap_server_method_register
      Src: /src/hostap/src/eap_server/eap_server_vendor_test.c:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 188
    functionName: eap_server_vendor_test_register
    functionSourceFile: /src/hostap/src/eap_server/eap_server_vendor_test.c
    functionUses: 2
    functionsReached:
    - eap_server_method_register
    - eap_server_method_alloc
    linkageType: ''
    returnType: int
    signature: int eap_server_vendor_test_register(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct eap_sm*::eapol_cb::get_erp_send_reauth_start
      Src: /src/hostap/src/eap_server/eap_server.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: eap_get_erp_send_reauth_start
    functionSourceFile: /src/hostap/src/eap_server/eap_server.c
    functionUses: 0
    functionsReached:
    - struct eap_sm*::eapol_cb::get_erp_send_reauth_start
    linkageType: ''
    returnType: int
    signature: int eap_get_erp_send_reauth_start(struct eap_sm *sm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct eap_sm*::eapol_cb::get_erp_domain
      Src: /src/hostap/src/eap_server/eap_server.c:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: eap_get_erp_domain
    functionSourceFile: /src/hostap/src/eap_server/eap_server.c
    functionUses: 0
    functionsReached:
    - struct eap_sm*::eapol_cb::get_erp_domain
    linkageType: ''
    returnType: char
    signature: char * eap_get_erp_domain(struct eap_sm *sm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct eap_sm*::eapol_cb::erp_get_key
      Src: /src/hostap/src/eap_server/eap_server.c:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - sm
    - keyname
    argTypes:
    - struct eap_sm*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: eap_erp_get_key
    functionSourceFile: /src/hostap/src/eap_server/eap_server.c
    functionUses: 4
    functionsReached:
    - struct eap_sm*::eapol_cb::erp_get_key
    linkageType: ''
    returnType: struct eap_server_erp_key
    signature: "struct eap_server_erp_key * eap_erp_get_key(struct eap_sm *sm,\n\t\t\t\t\t\t
      \  const char *keyname)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct eap_sm*::eapol_cb::erp_add_key
      Src: /src/hostap/src/eap_server/eap_server.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - sm
    - erp
    argTypes:
    - struct eap_sm*
    - struct eap_server_erp_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: eap_erp_add_key
    functionSourceFile: /src/hostap/src/eap_server/eap_server.c
    functionUses: 0
    functionsReached:
    - struct eap_sm*::eapol_cb::erp_add_key
    linkageType: ''
    returnType: int
    signature: int eap_erp_add_key(struct eap_sm *sm, struct eap_server_erp_key *erp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: eap_get_erp_domain
      Src: /src/hostap/src/eap_server/eap_server.c:89,1
    - Dst: os_strlen
      Src: /src/hostap/src/eap_server/eap_server.c:91,1
    - Dst: eap_msg_alloc
      Src: /src/hostap/src/eap_server/eap_server.c:95,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server.c:100,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server.c:103,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server.c:104,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_server/eap_server.c:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - sm
    - id
    argTypes:
    - struct eap_sm*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 109
    functionName: eap_sm_buildInitiateReauthStart
    functionSourceFile: /src/hostap/src/eap_server/eap_server.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpabuf_put_data
    - wpabuf_put_u8
    - eap_msg_alloc
    - eap_get_erp_domain
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_sm_buildInitiateReauthStart(struct eap_sm *sm,\n\t\t\t\t\t\t
      \      u8 id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server.c:117,1
    - Dst: wpabuf_dup
      Src: /src/hostap/src/eap_server/eap_server.c:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - struct wpabuf**
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 120
    functionName: eap_copy_buf
    functionSourceFile: /src/hostap/src/eap_server/eap_server.c
    functionUses: 0
    functionsReached:
    - wpabuf_dup
    - wpabuf_free
    linkageType: ''
    returnType: int
    signature: int eap_copy_buf(struct wpabuf **dst, const struct wpabuf *src)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server.c:129,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_server/eap_server.c:130,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server.c:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - dst
    - dst_len
    - src
    - src_len
    argTypes:
    - u8**
    - size_t*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 139
    functionName: eap_copy_data
    functionSourceFile: /src/hostap/src/eap_server/eap_server.c
    functionUses: 0
    functionsReached:
    - os_free
    - os_memcpy
    - os_malloc
    linkageType: ''
    returnType: int
    signature: "int eap_copy_data(u8 **dst, size_t *dst_len,\n\t\t\t const u8 *src,
      size_t src_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dst
    - ','
    - src
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 143
    functionName: EAP_COPY
    functionSourceFile: /src/hostap/src/eap_server/eap_server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EAP_COPY(dst, src)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: eap_user_free
      Src: /src/hostap/src/eap_server/eap_server.c:167,1
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_server/eap_server.c:170,1
    - Dst: struct eap_sm*::eapol_cb::get_eap_user
      Src: /src/hostap/src/eap_server/eap_server.c:174,1
    - Dst: eap_user_free
      Src: /src/hostap/src/eap_server/eap_server.c:176,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - sm
    - identity
    - identity_len
    - phase2
    argTypes:
    - struct eap_sm*
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 184
    functionName: eap_user_get
    functionSourceFile: /src/hostap/src/eap_server/eap_server.c
    functionUses: 14
    functionsReached:
    - os_zalloc
    - eap_user_free
    - struct eap_sm*::eapol_cb::get_eap_user
    linkageType: ''
    returnType: int
    signature: "int eap_user_get(struct eap_sm *sm, const u8 *identity, size_t identity_len,\n\t\t
      int phase2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/hostap/src/eap_server/eap_server.c:196,1
    - Dst: vsnprintf
      Src: /src/hostap/src/eap_server/eap_server.c:197,1
    - Dst: va_end
      Src: /src/hostap/src/eap_server/eap_server.c:198,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_server/eap_server.c:200,1
    - Dst: va_start
      Src: /src/hostap/src/eap_server/eap_server.c:203,1
    - Dst: vsnprintf
      Src: /src/hostap/src/eap_server/eap_server.c:204,1
    - Dst: va_end
      Src: /src/hostap/src/eap_server/eap_server.c:205,1
    - Dst: struct eap_sm*::eapol_cb::log_msg
      Src: /src/hostap/src/eap_server/eap_server.c:207,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server.c:209,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - sm
    - fmt
    argTypes:
    - struct eap_sm*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 210
    functionName: eap_log_msg
    functionSourceFile: /src/hostap/src/eap_server/eap_server.c
    functionUses: 3
    functionsReached:
    - os_malloc
    - struct eap_sm*::eapol_cb::log_msg
    - vsnprintf
    - va_end
    - va_start
    - os_free
    linkageType: ''
    returnType: void
    signature: void eap_log_msg(struct eap_sm *sm, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY
      Src: /src/hostap/src/eap_server/eap_server.c:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 218
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eap_server/eap_server.c
    functionUses: 0
    functionsReached:
    - SM_ENTRY
    linkageType: ''
    returnType: void
    signature: void SM_STATE(EAP, DISABLED)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY
      Src: /src/hostap/src/eap_server/eap_server.c:223,1
    - Dst: eap_server_clear_identity
      Src: /src/hostap/src/eap_server/eap_server.c:230,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/eap_server/eap_server.c:238,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server.c:241,1
    - Dst: m::reset
      Src: /src/hostap/src/eap_server/eap_server.c:253,1
    - Dst: eap_sm_parseEapResp
      Src: /src/hostap/src/eap_server/eap_server.c:262,1
    - Dst: wpa_msg
      Src: /src/hostap/src/eap_server/eap_server.c:271,1
    - Dst: MAC2STR
      Src: /src/hostap/src/eap_server/eap_server.c:272,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 273
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eap_server/eap_server.c
    functionUses: 0
    functionsReached:
    - eap_server_clear_identity
    - wpa_msg
    - SM_ENTRY
    - bin_clear_free
    - MAC2STR
    - os_free
    - eap_sm_parseEapResp
    - m::reset
    linkageType: ''
    returnType: void
    signature: void SM_STATE(EAP, INITIALIZE)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY
      Src: /src/hostap/src/eap_server/eap_server.c:278,1
    - Dst: eap_sm_Policy_doPickUp
      Src: /src/hostap/src/eap_server/eap_server.c:280,1
    - Dst: m::reset
      Src: /src/hostap/src/eap_server/eap_server.c:283,1
    - Dst: eap_server_get_eap_method
      Src: /src/hostap/src/eap_server/eap_server.c:286,1
    - Dst: m::initPickUp
      Src: /src/hostap/src/eap_server/eap_server.c:289,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server.c:291,1
    - Dst: wpa_msg
      Src: /src/hostap/src/eap_server/eap_server.c:303,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 305
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eap_server/eap_server.c
    functionUses: 0
    functionsReached:
    - m::initPickUp
    - wpa_printf
    - wpa_msg
    - eap_sm_Policy_doPickUp
    - SM_ENTRY
    - eap_server_get_eap_method
    - m::reset
    linkageType: ''
    returnType: void
    signature: void SM_STATE(EAP, PICK_UP_METHOD)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY
      Src: /src/hostap/src/eap_server/eap_server.c:310,1
    - Dst: eap_sm_calculateTimeout
      Src: /src/hostap/src/eap_server/eap_server.c:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 315
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eap_server/eap_server.c
    functionUses: 0
    functionsReached:
    - SM_ENTRY
    - eap_sm_calculateTimeout
    linkageType: ''
    returnType: void
    signature: void SM_STATE(EAP, IDLE)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY
      Src: /src/hostap/src/eap_server/eap_server.c:320,1
    - Dst: eap_copy_buf
      Src: /src/hostap/src/eap_server/eap_server.c:324,1
    - Dst: wpa_msg
      Src: /src/hostap/src/eap_server/eap_server.c:328,1
    - Dst: MAC2STR
      Src: /src/hostap/src/eap_server/eap_server.c:329,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 318
    functionDepth: 2
    functionLinenumber: 318
    functionLinenumberEnd: 330
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eap_server/eap_server.c
    functionUses: 0
    functionsReached:
    - eap_copy_buf
    - MAC2STR
    - SM_ENTRY
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: void SM_STATE(EAP, RETRANSMIT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY
      Src: /src/hostap/src/eap_server/eap_server.c:335,1
    - Dst: eap_sm_parseEapResp
      Src: /src/hostap/src/eap_server/eap_server.c:338,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server.c:340,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 344
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eap_server/eap_server.c
    functionUses: 0
    functionsReached:
    - wpabuf_len
    - SM_ENTRY
    - eap_sm_parseEapResp
    linkageType: ''
    returnType: void
    signature: void SM_STATE(EAP, RECEIVED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY
      Src: /src/hostap/src/eap_server/eap_server.c:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 352
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eap_server/eap_server.c
    functionUses: 0
    functionsReached:
    - SM_ENTRY
    linkageType: ''
    returnType: void
    signature: void SM_STATE(EAP, DISCARD)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY
      Src: /src/hostap/src/eap_server/eap_server.c:357,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server.c:361,1
    - Dst: eap_copy_buf
      Src: /src/hostap/src/eap_server/eap_server.c:363,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server.c:372,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 355
    functionDepth: 2
    functionLinenumber: 355
    functionLinenumberEnd: 377
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eap_server/eap_server.c
    functionUses: 0
    functionsReached:
    - wpabuf_len
    - wpa_printf
    - SM_ENTRY
    - eap_copy_buf
    linkageType: ''
    returnType: void
    signature: void SM_STATE(EAP, SEND_REQUEST)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY
      Src: /src/hostap/src/eap_server/eap_server.c:382,1
    - Dst: eap_hdr_len_valid
      Src: /src/hostap/src/eap_server/eap_server.c:384,1
    - Dst: m::check
      Src: /src/hostap/src/eap_server/eap_server.c:390,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 393
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eap_server/eap_server.c
    functionUses: 0
    functionsReached:
    - eap_hdr_len_valid
    - SM_ENTRY
    - m::check
    linkageType: ''
    returnType: void
    signature: void SM_STATE(EAP, INTEGRITY_CHECK)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY
      Src: /src/hostap/src/eap_server/eap_server.c:398,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server.c:401,1
    - Dst: eap_sm_nextId
      Src: /src/hostap/src/eap_server/eap_server.c:405,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server.c:406,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server.c:409,1
    - Dst: m::buildReq
      Src: /src/hostap/src/eap_server/eap_server.c:410,1
    - Dst: m::getTimeout
      Src: /src/hostap/src/eap_server/eap_server.c:413,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 416
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eap_server/eap_server.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_sm_nextId
    - m::buildReq
    - m::getTimeout
    - wpabuf_free
    - SM_ENTRY
    linkageType: ''
    returnType: void
    signature: void SM_STATE(EAP, METHOD_REQUEST)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: eap_get_erp_domain
      Src: /src/hostap/src/eap_server/eap_server.c:431,1
    - Dst: os_strlen
      Src: /src/hostap/src/eap_server/eap_server.c:435,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server.c:443,1
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_server/eap_server.c:448,1
    - Dst: struct eap_sm*::m::get_emsk
      Src: /src/hostap/src/eap_server/eap_server.c:453,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server.c:455,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_server/eap_server.c:460,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/eap_server/eap_server.c:462,1
    - Dst: hmac_sha256_kdf
      Src: /src/hostap/src/eap_server/eap_server.c:463,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server.c:466,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server.c:469,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/eap_server/eap_server.c:471,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server.c:474,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/eap_server/eap_server.c:476,1
    - Dst: hmac_sha256_kdf
      Src: /src/hostap/src/eap_server/eap_server.c:477,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server.c:480,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_server/eap_server.c:484,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/eap_server/eap_server.c:487,1
    - Dst: hmac_sha256_kdf
      Src: /src/hostap/src/eap_server/eap_server.c:488,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server.c:491,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_server/eap_server.c:495,1
    - Dst: eap_erp_add_key
      Src: /src/hostap/src/eap_server/eap_server.c:497,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server.c:498,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/eap_server/eap_server.c:504,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/eap_server/eap_server.c:505,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 58
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 419
    functionDepth: 2
    functionLinenumber: 419
    functionLinenumberEnd: 507
    functionName: eap_server_erp_init
    functionSourceFile: /src/hostap/src/eap_server/eap_server.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - wpa_hexdump_key
    - wpa_snprintf_hex
    - os_memcpy
    - struct eap_sm*::m::get_emsk
    - wpa_hexdump
    - eap_erp_add_key
    - WPA_PUT_BE16
    - eap_get_erp_domain
    - os_zalloc
    - hmac_sha256_kdf
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: void eap_server_erp_init(struct eap_sm *sm)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY
      Src: /src/hostap/src/eap_server/eap_server.c:512,1
    - Dst: eap_hdr_len_valid
      Src: /src/hostap/src/eap_server/eap_server.c:514,1
    - Dst: m::process
      Src: /src/hostap/src/eap_server/eap_server.c:517,1
    - Dst: m::isDone
      Src: /src/hostap/src/eap_server/eap_server.c:518,1
    - Dst: eap_sm_Policy_update
      Src: /src/hostap/src/eap_server/eap_server.c:519,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/eap_server/eap_server.c:520,1
    - Dst: m::getKey
      Src: /src/hostap/src/eap_server/eap_server.c:522,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server.c:529,1
    - Dst: m::getSessionId
      Src: /src/hostap/src/eap_server/eap_server.c:532,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server.c:535,1
    - Dst: eap_server_erp_init
      Src: /src/hostap/src/eap_server/eap_server.c:540,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 510
    functionDepth: 3
    functionLinenumber: 510
    functionLinenumberEnd: 545
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eap_server/eap_server.c
    functionUses: 0
    functionsReached:
    - m::process
    - m::isDone
    - m::getKey
    - wpa_hexdump
    - m::getSessionId
    - SM_ENTRY
    - eap_sm_Policy_update
    - eap_server_erp_init
    - os_free
    - eap_hdr_len_valid
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: void SM_STATE(EAP, METHOD_RESPONSE)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY
      Src: /src/hostap/src/eap_server/eap_server.c:553,1
    - Dst: eap_sm_Policy_getNextMethod
      Src: /src/hostap/src/eap_server/eap_server.c:557,1
    - Dst: m::reset
      Src: /src/hostap/src/eap_server/eap_server.c:563,1
    - Dst: eap_server_get_eap_method
      Src: /src/hostap/src/eap_server/eap_server.c:566,1
    - Dst: m::init
      Src: /src/hostap/src/eap_server/eap_server.c:568,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server.c:570,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server.c:578,1
    - Dst: eap_log_msg
      Src: /src/hostap/src/eap_server/eap_server.c:579,1
    - Dst: wpa_msg
      Src: /src/hostap/src/eap_server/eap_server.c:589,1
    - Dst: eap_log_msg
      Src: /src/hostap/src/eap_server/eap_server.c:591,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 548
    functionDepth: 1
    functionLinenumber: 548
    functionLinenumberEnd: 593
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eap_server/eap_server.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_msg
    - SM_ENTRY
    - eap_log_msg
    - eap_sm_Policy_getNextMethod
    - m::init
    - eap_server_get_eap_method
    - m::reset
    linkageType: ''
    returnType: void
    signature: void SM_STATE(EAP, PROPOSE_METHOD)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY
      Src: /src/hostap/src/eap_server/eap_server.c:603,1
    - Dst: m::reset
      Src: /src/hostap/src/eap_server/eap_server.c:606,1
    - Dst: eap_hdr_len_valid
      Src: /src/hostap/src/eap_server/eap_server.c:611,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_server/eap_server.c:614,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server.c:615,1
    - Dst: be_to_host16
      Src: /src/hostap/src/eap_server/eap_server.c:616,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server.c:617,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server.c:618,1
    - Dst: eap_sm_Policy_update
      Src: /src/hostap/src/eap_server/eap_server.c:627,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 596
    functionDepth: 1
    functionLinenumber: 596
    functionLinenumberEnd: 628
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eap_server/eap_server.c
    functionUses: 0
    functionsReached:
    - be_to_host16
    - wpabuf_len
    - SM_ENTRY
    - eap_sm_Policy_update
    - wpabuf_head
    - eap_hdr_len_valid
    - m::reset
    linkageType: ''
    returnType: void
    signature: void SM_STATE(EAP, NAK)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY
      Src: /src/hostap/src/eap_server/eap_server.c:633,1
    - Dst: eap_sm_Policy_getDecision
      Src: /src/hostap/src/eap_server/eap_server.c:635,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 631
    functionDepth: 1
    functionLinenumber: 631
    functionLinenumberEnd: 636
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eap_server/eap_server.c
    functionUses: 0
    functionsReached:
    - eap_sm_Policy_getDecision
    - SM_ENTRY
    linkageType: ''
    returnType: void
    signature: void SM_STATE(EAP, SELECT_ACTION)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY
      Src: /src/hostap/src/eap_server/eap_server.c:641,1
    - Dst: wpa_msg
      Src: /src/hostap/src/eap_server/eap_server.c:645,1
    - Dst: MAC2STR
      Src: /src/hostap/src/eap_server/eap_server.c:646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 639
    functionDepth: 1
    functionLinenumber: 639
    functionLinenumberEnd: 647
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eap_server/eap_server.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - SM_ENTRY
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: void SM_STATE(EAP, TIMEOUT_FAILURE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY
      Src: /src/hostap/src/eap_server/eap_server.c:652,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server.c:654,1
    - Dst: eap_sm_buildFailure
      Src: /src/hostap/src/eap_server/eap_server.c:655,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server.c:656,1
    - Dst: wpa_msg
      Src: /src/hostap/src/eap_server/eap_server.c:660,1
    - Dst: MAC2STR
      Src: /src/hostap/src/eap_server/eap_server.c:661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 650
    functionDepth: 1
    functionLinenumber: 650
    functionLinenumberEnd: 662
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eap_server/eap_server.c
    functionUses: 0
    functionsReached:
    - wpa_msg
    - wpabuf_free
    - SM_ENTRY
    - MAC2STR
    - eap_sm_buildFailure
    linkageType: ''
    returnType: void
    signature: void SM_STATE(EAP, FAILURE)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY
      Src: /src/hostap/src/eap_server/eap_server.c:667,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server.c:669,1
    - Dst: eap_sm_buildSuccess
      Src: /src/hostap/src/eap_server/eap_server.c:670,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server.c:671,1
    - Dst: wpa_msg
      Src: /src/hostap/src/eap_server/eap_server.c:677,1
    - Dst: MAC2STR
      Src: /src/hostap/src/eap_server/eap_server.c:678,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 665
    functionDepth: 1
    functionLinenumber: 665
    functionLinenumberEnd: 679
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eap_server/eap_server.c
    functionUses: 0
    functionsReached:
    - wpa_msg
    - wpabuf_free
    - SM_ENTRY
    - eap_sm_buildSuccess
    - MAC2STR
    linkageType: ''
    returnType: void
    signature: void SM_STATE(EAP, SUCCESS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY
      Src: /src/hostap/src/eap_server/eap_server.c:684,1
    - Dst: eap_sm_nextId
      Src: /src/hostap/src/eap_server/eap_server.c:688,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server.c:689,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server.c:693,1
    - Dst: eap_sm_buildInitiateReauthStart
      Src: /src/hostap/src/eap_server/eap_server.c:694,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server.c:696,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 682
    functionDepth: 2
    functionLinenumber: 682
    functionLinenumberEnd: 698
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eap_server/eap_server.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_sm_nextId
    - wpabuf_free
    - SM_ENTRY
    - eap_sm_buildInitiateReauthStart
    linkageType: ''
    returnType: void
    signature: void SM_STATE(EAP, INITIATE_REAUTH_START)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/eap_server/eap_server.c:727,1
    - Dst: eap_msg_alloc
      Src: /src/hostap/src/eap_server/eap_server.c:730,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server.c:735,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/eap_server/eap_server.c:736,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server.c:738,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server.c:739,1
    - Dst: os_strlen
      Src: /src/hostap/src/eap_server/eap_server.c:739,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/eap_server/eap_server.c:740,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/eap_server.c:743,1
    - Dst: hmac_sha256
      Src: /src/hostap/src/eap_server/eap_server.c:744,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_server/eap_server.c:745,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server.c:745,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server.c:746,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_server/eap_server.c:749,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server.c:752,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server.c:757,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server.c:759,1
    - Dst: wpa_msg
      Src: /src/hostap/src/eap_server/eap_server.c:764,1
    - Dst: MAC2STR
      Src: /src/hostap/src/eap_server/eap_server.c:765,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/eap_server/eap_server.c:769,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_server/eap_server.c:771,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/eap_server/eap_server.c:775,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/eap_server/eap_server.c:776,1
    - Dst: hmac_sha256_kdf
      Src: /src/hostap/src/eap_server/eap_server.c:777,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server.c:781,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/eap_server/eap_server.c:782,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_server/eap_server.c:788,1
    - Dst: wpa_msg
      Src: /src/hostap/src/eap_server/eap_server.c:792,1
    - Dst: MAC2STR
      Src: /src/hostap/src/eap_server/eap_server.c:793,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 63
    argCount: 6
    argNames:
    - sm
    - erp
    - id
    - flags
    - seq
    - nai
    argTypes:
    - struct eap_sm*
    - struct eap_server_erp_key*
    - u8
    - u8
    - u16
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 703
    functionDepth: 2
    functionLinenumber: 703
    functionLinenumberEnd: 794
    functionName: erp_send_finish_reauth
    functionSourceFile: /src/hostap/src/eap_server/eap_server.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - wpa_hexdump_key
    - wpabuf_put_u8
    - hmac_sha256
    - wpabuf_put_str
    - wpabuf_len
    - wpabuf_put_data
    - eap_msg_alloc
    - wpabuf_free
    - wpabuf_put_be16
    - wpa_msg
    - wpabuf_head
    - os_malloc
    - MAC2STR
    - WPA_PUT_BE16
    - hmac_sha256_kdf
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: "void erp_send_finish_reauth(struct eap_sm *sm,\n\t\t\t\t   struct
      eap_server_erp_key *erp, u8 id,\n\t\t\t\t   u8 flags, u16 seq, const char *nai)"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY
      Src: /src/hostap/src/eap_server/eap_server.c:812,1
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_server/eap_server.c:816,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server.c:820,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_server/eap_server.c:823,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_server/eap_server.c:824,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server.c:826,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server.c:828,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_server/eap_server.c:834,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server.c:836,1
    - Dst: erp_parse_tlvs
      Src: /src/hostap/src/eap_server/eap_server.c:845,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server.c:849,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_server/eap_server.c:854,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server.c:857,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server.c:861,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server.c:871,1
    - Dst: eap_server_clear_identity
      Src: /src/hostap/src/eap_server/eap_server.c:873,1
    - Dst: dup_binstr
      Src: /src/hostap/src/eap_server/eap_server.c:874,1
    - Dst: eap_erp_get_key
      Src: /src/hostap/src/eap_server/eap_server.c:882,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server.c:884,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server.c:890,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server.c:901,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server.c:909,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server.c:917,1
    - Dst: hmac_sha256
      Src: /src/hostap/src/eap_server/eap_server.c:929,1
    - Dst: os_memcmp
      Src: /src/hostap/src/eap_server/eap_server.c:932,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server.c:933,1
    - Dst: hmac_sha256
      Src: /src/hostap/src/eap_server/eap_server.c:942,1
    - Dst: os_memcmp
      Src: /src/hostap/src/eap_server/eap_server.c:945,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server.c:946,1
    - Dst: hmac_sha256
      Src: /src/hostap/src/eap_server/eap_server.c:954,1
    - Dst: os_memcmp
      Src: /src/hostap/src/eap_server/eap_server.c:957,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server.c:958,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server.c:966,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server.c:976,1
    - Dst: erp_parse_tlvs
      Src: /src/hostap/src/eap_server/eap_server.c:978,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server.c:981,1
    - Dst: erp_send_finish_reauth
      Src: /src/hostap/src/eap_server/eap_server.c:987,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 138
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 797
    functionDepth: 3
    functionLinenumber: 797
    functionLinenumberEnd: 992
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eap_server/eap_server.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - WPA_GET_BE16
    - os_memcpy
    - erp_send_finish_reauth
    - wpa_hexdump
    - eap_server_clear_identity
    - eap_erp_get_key
    - hmac_sha256
    - erp_parse_tlvs
    - SM_ENTRY
    - wpabuf_head
    - os_memcmp
    - eap_hdr_validate
    - wpa_hexdump_ascii
    - dup_binstr
    linkageType: ''
    returnType: void
    signature: void SM_STATE(EAP, INITIATE_RECEIVED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY
      Src: /src/hostap/src/eap_server/eap_server.c:999,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server.c:1001,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 997
    functionDepth: 1
    functionLinenumber: 997
    functionLinenumberEnd: 1004
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eap_server/eap_server.c
    functionUses: 0
    functionsReached:
    - wpabuf_free
    - SM_ENTRY
    linkageType: ''
    returnType: void
    signature: void SM_STATE(EAP, INITIALIZE_PASSTHROUGH)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY
      Src: /src/hostap/src/eap_server/eap_server.c:1009,1
    - Dst: eap_sm_calculateTimeout
      Src: /src/hostap/src/eap_server/eap_server.c:1011,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 1007
    functionDepth: 1
    functionLinenumber: 1007
    functionLinenumberEnd: 1014
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eap_server/eap_server.c
    functionUses: 0
    functionsReached:
    - SM_ENTRY
    - eap_sm_calculateTimeout
    linkageType: ''
    returnType: void
    signature: void SM_STATE(EAP, IDLE2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY
      Src: /src/hostap/src/eap_server/eap_server.c:1019,1
    - Dst: eap_copy_buf
      Src: /src/hostap/src/eap_server/eap_server.c:1023,1
    - Dst: wpa_msg
      Src: /src/hostap/src/eap_server/eap_server.c:1027,1
    - Dst: MAC2STR
      Src: /src/hostap/src/eap_server/eap_server.c:1028,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1029
      start: 1017
    functionDepth: 2
    functionLinenumber: 1017
    functionLinenumberEnd: 1029
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eap_server/eap_server.c
    functionUses: 0
    functionsReached:
    - eap_copy_buf
    - MAC2STR
    - SM_ENTRY
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: void SM_STATE(EAP, RETRANSMIT2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY
      Src: /src/hostap/src/eap_server/eap_server.c:1034,1
    - Dst: eap_sm_parseEapResp
      Src: /src/hostap/src/eap_server/eap_server.c:1037,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1038
      start: 1032
    functionDepth: 1
    functionLinenumber: 1032
    functionLinenumberEnd: 1038
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eap_server/eap_server.c
    functionUses: 0
    functionsReached:
    - SM_ENTRY
    - eap_sm_parseEapResp
    linkageType: ''
    returnType: void
    signature: void SM_STATE(EAP, RECEIVED2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY
      Src: /src/hostap/src/eap_server/eap_server.c:1043,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1041
    functionDepth: 1
    functionLinenumber: 1041
    functionLinenumberEnd: 1046
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eap_server/eap_server.c
    functionUses: 0
    functionsReached:
    - SM_ENTRY
    linkageType: ''
    returnType: void
    signature: void SM_STATE(EAP, DISCARD2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY
      Src: /src/hostap/src/eap_server/eap_server.c:1051,1
    - Dst: eap_copy_buf
      Src: /src/hostap/src/eap_server/eap_server.c:1055,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server.c:1064,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1069
      start: 1049
    functionDepth: 2
    functionLinenumber: 1049
    functionLinenumberEnd: 1069
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eap_server/eap_server.c
    functionUses: 0
    functionsReached:
    - eap_copy_buf
    - wpa_printf
    - SM_ENTRY
    linkageType: ''
    returnType: void
    signature: void SM_STATE(EAP, SEND_REQUEST2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY
      Src: /src/hostap/src/eap_server/eap_server.c:1074,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server.c:1077,1
    - Dst: eap_copy_buf
      Src: /src/hostap/src/eap_server/eap_server.c:1088,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1089
      start: 1072
    functionDepth: 2
    functionLinenumber: 1072
    functionLinenumberEnd: 1089
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eap_server/eap_server.c
    functionUses: 0
    functionsReached:
    - eap_copy_buf
    - wpa_printf
    - SM_ENTRY
    linkageType: ''
    returnType: void
    signature: void SM_STATE(EAP, AAA_REQUEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY
      Src: /src/hostap/src/eap_server/eap_server.c:1094,1
    - Dst: eap_copy_buf
      Src: /src/hostap/src/eap_server/eap_server.c:1096,1
    - Dst: eap_sm_getId
      Src: /src/hostap/src/eap_server/eap_server.c:1097,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1099
      start: 1092
    functionDepth: 2
    functionLinenumber: 1092
    functionLinenumberEnd: 1099
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eap_server/eap_server.c
    functionUses: 0
    functionsReached:
    - eap_copy_buf
    - eap_sm_getId
    - SM_ENTRY
    linkageType: ''
    returnType: void
    signature: void SM_STATE(EAP, AAA_RESPONSE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY
      Src: /src/hostap/src/eap_server/eap_server.c:1104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1111
      start: 1102
    functionDepth: 1
    functionLinenumber: 1102
    functionLinenumberEnd: 1111
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eap_server/eap_server.c
    functionUses: 0
    functionsReached:
    - SM_ENTRY
    linkageType: ''
    returnType: void
    signature: void SM_STATE(EAP, AAA_IDLE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY
      Src: /src/hostap/src/eap_server/eap_server.c:1116,1
    - Dst: wpa_msg
      Src: /src/hostap/src/eap_server/eap_server.c:1120,1
    - Dst: MAC2STR
      Src: /src/hostap/src/eap_server/eap_server.c:1121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1122
      start: 1114
    functionDepth: 1
    functionLinenumber: 1114
    functionLinenumberEnd: 1122
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eap_server/eap_server.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - SM_ENTRY
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: void SM_STATE(EAP, TIMEOUT_FAILURE2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY
      Src: /src/hostap/src/eap_server/eap_server.c:1127,1
    - Dst: eap_copy_buf
      Src: /src/hostap/src/eap_server/eap_server.c:1129,1
    - Dst: wpa_msg
      Src: /src/hostap/src/eap_server/eap_server.c:1132,1
    - Dst: MAC2STR
      Src: /src/hostap/src/eap_server/eap_server.c:1133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1134
      start: 1125
    functionDepth: 2
    functionLinenumber: 1125
    functionLinenumberEnd: 1134
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eap_server/eap_server.c
    functionUses: 0
    functionsReached:
    - eap_copy_buf
    - MAC2STR
    - SM_ENTRY
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: void SM_STATE(EAP, FAILURE2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY
      Src: /src/hostap/src/eap_server/eap_server.c:1139,1
    - Dst: eap_copy_buf
      Src: /src/hostap/src/eap_server/eap_server.c:1141,1
    - Dst: EAP_COPY
      Src: /src/hostap/src/eap_server/eap_server.c:1145,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/eap_server/eap_server.c:1147,1
    - Dst: wpa_msg
      Src: /src/hostap/src/eap_server/eap_server.c:1161,1
    - Dst: MAC2STR
      Src: /src/hostap/src/eap_server/eap_server.c:1162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1163
      start: 1137
    functionDepth: 2
    functionLinenumber: 1137
    functionLinenumberEnd: 1163
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eap_server/eap_server.c
    functionUses: 0
    functionsReached:
    - wpa_msg
    - SM_ENTRY
    - eap_copy_buf
    - MAC2STR
    - EAP_COPY
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: void SM_STATE(EAP, SUCCESS2)
  - BBCount: 72
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTER_GLOBAL
      Src: /src/hostap/src/eap_server/eap_server.c:1169,1
    - Dst: SM_ENTER_GLOBAL
      Src: /src/hostap/src/eap_server/eap_server.c:1171,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server.c:1174,1
    - Dst: SM_ENTER_GLOBAL
      Src: /src/hostap/src/eap_server/eap_server.c:1178,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server.c:1183,1
    - Dst: SM_ENTER_GLOBAL
      Src: /src/hostap/src/eap_server/eap_server.c:1187,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_server/eap_server.c:1193,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_server/eap_server.c:1199,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_server/eap_server.c:1201,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_server/eap_server.c:1203,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_server/eap_server.c:1208,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_server/eap_server.c:1210,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_server/eap_server.c:1215,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_server/eap_server.c:1221,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_server/eap_server.c:1223,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_server/eap_server.c:1226,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_server/eap_server.c:1230,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_server/eap_server.c:1232,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_server/eap_server.c:1241,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_server/eap_server.c:1247,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_server/eap_server.c:1250,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server.c:1253,1
    - Dst: eap_log_msg
      Src: /src/hostap/src/eap_server/eap_server.c:1258,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_server/eap_server.c:1259,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_server/eap_server.c:1263,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_server/eap_server.c:1266,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_server/eap_server.c:1270,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_server/eap_server.c:1272,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_server/eap_server.c:1281,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_server/eap_server.c:1284,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server.c:1291,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_server/eap_server.c:1293,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_server/eap_server.c:1305,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server.c:1307,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server.c:1311,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_server/eap_server.c:1315,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_server/eap_server.c:1317,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server.c:1327,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server.c:1333,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_server/eap_server.c:1337,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_server/eap_server.c:1339,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_server/eap_server.c:1342,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_server/eap_server.c:1346,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_server/eap_server.c:1348,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_server/eap_server.c:1350,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_server/eap_server.c:1352,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_server/eap_server.c:1355,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_server/eap_server.c:1361,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_server/eap_server.c:1365,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_server/eap_server.c:1376,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_server/eap_server.c:1378,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_server/eap_server.c:1382,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_server/eap_server.c:1384,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_server/eap_server.c:1388,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_server/eap_server.c:1390,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_server/eap_server.c:1394,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_server/eap_server.c:1396,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_server/eap_server.c:1399,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_server/eap_server.c:1402,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_server/eap_server.c:1405,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_server/eap_server.c:1408,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_server/eap_server.c:1412,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_server/eap_server.c:1414,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_server/eap_server.c:1416,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eap_server/eap_server.c:1418,1
    CyclomaticComplexity: 94
    EdgeCount: 94
    ICount: 195
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1426
      start: 1166
    functionDepth: 1
    functionLinenumber: 1166
    functionLinenumberEnd: 1426
    functionName: SM_STEP
    functionSourceFile: /src/hostap/src/eap_server/eap_server.c
    functionUses: 0
    functionsReached:
    - SM_ENTER_GLOBAL
    - SM_ENTER
    - wpa_printf
    - eap_log_msg
    linkageType: ''
    returnType: void
    signature: void SM_STEP(EAP)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server.c:1437,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server.c:1448,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server.c:1480,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 5
    argNames:
    - sm
    - retransCount
    - eapSRTT
    - eapRTTVAR
    - methodTimeout
    argTypes:
    - struct eap_sm*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1485
      start: 1430
    functionDepth: 0
    functionLinenumber: 1430
    functionLinenumberEnd: 1485
    functionName: eap_sm_calculateTimeout
    functionSourceFile: /src/hostap/src/eap_server/eap_server.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int eap_sm_calculateTimeout(struct eap_sm *sm, int retransCount,\n\t\t\t\t
      \  int eapSRTT, int eapRTTVAR,\n\t\t\t\t   int methodTimeout)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server.c:1501,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server.c:1502,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server.c:1504,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_server/eap_server.c:1508,1
    - Dst: be_to_host16
      Src: /src/hostap/src/eap_server/eap_server.c:1509,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server.c:1510,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server.c:1511,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server.c:1513,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server.c:1530,1
    - Dst: WPA_GET_BE24
      Src: /src/hostap/src/eap_server/eap_server.c:1535,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/eap_server/eap_server.c:1537,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server.c:1541,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 2
    argNames:
    - sm
    - resp
    argTypes:
    - struct eap_sm*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1545
      start: 1488
    functionDepth: 1
    functionLinenumber: 1488
    functionLinenumberEnd: 1545
    functionName: eap_sm_parseEapResp
    functionSourceFile: /src/hostap/src/eap_server/eap_server.c
    functionUses: 3
    functionsReached:
    - be_to_host16
    - wpa_printf
    - wpabuf_len
    - wpabuf_head
    - WPA_GET_BE24
    - WPA_GET_BE32
    linkageType: ''
    returnType: void
    signature: void eap_sm_parseEapResp(struct eap_sm *sm, const struct wpabuf *resp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server.c:1552,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_server/eap_server.c:1555,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server.c:1556,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1558
      start: 1548
    functionDepth: 1
    functionLinenumber: 1548
    functionLinenumberEnd: 1558
    functionName: eap_sm_getId
    functionSourceFile: /src/hostap/src/eap_server/eap_server.c
    functionUses: 1
    functionsReached:
    - wpabuf_len
    - wpa_printf
    - wpabuf_head
    linkageType: ''
    returnType: int
    signature: int eap_sm_getId(const struct wpabuf *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server.c:1565,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eap_server/eap_server.c:1567,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_server/eap_server.c:1570,1
    - Dst: host_to_be16
      Src: /src/hostap/src/eap_server/eap_server.c:1573,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - sm
    - id
    argTypes:
    - struct eap_sm*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1576
      start: 1561
    functionDepth: 1
    functionLinenumber: 1561
    functionLinenumberEnd: 1576
    functionName: eap_sm_buildSuccess
    functionSourceFile: /src/hostap/src/eap_server/eap_server.c
    functionUses: 1
    functionsReached:
    - host_to_be16
    - wpa_printf
    - wpabuf_put
    - wpabuf_alloc
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * eap_sm_buildSuccess(struct eap_sm *sm, u8 id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server.c:1583,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eap_server/eap_server.c:1585,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_server/eap_server.c:1588,1
    - Dst: host_to_be16
      Src: /src/hostap/src/eap_server/eap_server.c:1591,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - sm
    - id
    argTypes:
    - struct eap_sm*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1594
      start: 1579
    functionDepth: 1
    functionLinenumber: 1579
    functionLinenumberEnd: 1594
    functionName: eap_sm_buildFailure
    functionSourceFile: /src/hostap/src/eap_server/eap_server.c
    functionUses: 1
    functionsReached:
    - host_to_be16
    - wpa_printf
    - wpabuf_put
    - wpabuf_alloc
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * eap_sm_buildFailure(struct eap_sm *sm, u8 id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/hostap/src/eap_server/eap_server.c:1602,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - sm
    - id
    argTypes:
    - struct eap_sm*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1607
      start: 1597
    functionDepth: 0
    functionLinenumber: 1597
    functionLinenumberEnd: 1607
    functionName: eap_sm_nextId
    functionSourceFile: /src/hostap/src/eap_server/eap_server.c
    functionUses: 2
    functionsReached:
    - rand
    linkageType: ''
    returnType: int
    signature: int eap_sm_nextId(struct eap_sm *sm, int id)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server.c:1627,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server.c:1630,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server.c:1633,1
    - Dst: os_memmove
      Src: /src/hostap/src/eap_server/eap_server.c:1657,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server.c:1667,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 3
    argNames:
    - sm
    - nak_list
    - len
    argTypes:
    - struct eap_sm*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1670
      start: 1619
    functionDepth: 0
    functionLinenumber: 1619
    functionLinenumberEnd: 1670
    functionName: eap_sm_process_nak
    functionSourceFile: /src/hostap/src/eap_server/eap_server.c
    functionUses: 4
    functionsReached:
    - wpa_printf
    - os_memmove
    - wpa_hexdump
    linkageType: ''
    returnType: void
    signature: void eap_sm_process_nak(struct eap_sm *sm, const u8 *nak_list, size_t
      len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server.c:1680,1
    - Dst: eap_sm_process_nak
      Src: /src/hostap/src/eap_server/eap_server.c:1686,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - sm
    - nak_list
    - len
    argTypes:
    - struct eap_sm*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1687
      start: 1673
    functionDepth: 1
    functionLinenumber: 1673
    functionLinenumberEnd: 1687
    functionName: eap_sm_Policy_update
    functionSourceFile: /src/hostap/src/eap_server/eap_server.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - eap_sm_process_nak
    linkageType: ''
    returnType: void
    signature: "void eap_sm_Policy_update(struct eap_sm *sm, const u8 *nak_list,\n\t\t\t\t
      size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server.c:1716,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - sm
    - vendor
    argTypes:
    - struct eap_sm*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1719
      start: 1690
    functionDepth: 0
    functionLinenumber: 1690
    functionLinenumberEnd: 1719
    functionName: eap_sm_Policy_getNextMethod
    functionSourceFile: /src/hostap/src/eap_server/eap_server.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: enum eap_type
    signature: enum eap_type eap_sm_Policy_getNextMethod(struct eap_sm *sm, int *vendor)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server.c:1725,1
    - Dst: struct eap_sm*::m::isSuccess
      Src: /src/hostap/src/eap_server/eap_server.c:1730,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server.c:1731,1
    - Dst: struct eap_sm*::m::isDone
      Src: /src/hostap/src/eap_server/eap_server.c:1737,1
    - Dst: struct eap_sm*::m::isSuccess
      Src: /src/hostap/src/eap_server/eap_server.c:1738,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server.c:1739,1
    - Dst: eap_user_get
      Src: /src/hostap/src/eap_server/eap_server.c:1758,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server.c:1759,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server.c:1766,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server.c:1780,1
    - Dst: eap_get_erp_send_reauth_start
      Src: /src/hostap/src/eap_server/eap_server.c:1785,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server.c:1787,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server.c:1793,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server.c:1798,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 44
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1801
      start: 1722
    functionDepth: 2
    functionLinenumber: 1722
    functionLinenumberEnd: 1801
    functionName: eap_sm_Policy_getDecision
    functionSourceFile: /src/hostap/src/eap_server/eap_server.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - struct eap_sm*::m::isSuccess
    - eap_user_get
    - struct eap_sm*::m::isDone
    - eap_get_erp_send_reauth_start
    linkageType: ''
    returnType: int
    signature: int eap_sm_Policy_getDecision(struct eap_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - method
    argTypes:
    - struct eap_sm*
    - enum eap_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1807
      start: 1804
    functionDepth: 0
    functionLinenumber: 1804
    functionLinenumberEnd: 1807
    functionName: eap_sm_Policy_doPickUp
    functionSourceFile: /src/hostap/src/eap_server/eap_server.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool eap_sm_Policy_doPickUp(struct eap_sm *sm, enum eap_type method)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SM_STEP_RUN
      Src: /src/hostap/src/eap_server/eap_server.c:1824,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1829
      start: 1819
    functionDepth: 1
    functionLinenumber: 1819
    functionLinenumberEnd: 1829
    functionName: eap_server_sm_step
    functionSourceFile: /src/hostap/src/eap_server/eap_server.c
    functionUses: 1
    functionsReached:
    - SM_STEP_RUN
    linkageType: ''
    returnType: int
    signature: int eap_server_sm_step(struct eap_sm *sm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bin_clear_free
      Src: /src/hostap/src/eap_server/eap_server.c:1836,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/eap_server/eap_server.c:1838,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server.c:1840,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - user
    argTypes:
    - struct eap_user*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1841
      start: 1832
    functionDepth: 1
    functionLinenumber: 1832
    functionLinenumberEnd: 1841
    functionName: eap_user_free
    functionSourceFile: /src/hostap/src/eap_server/eap_server.c
    functionUses: 1
    functionsReached:
    - os_free
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: void eap_user_free(struct eap_user *user)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_server/eap_server.c:1860,1
    - Dst: wpabuf_dup
      Src: /src/hostap/src/eap_server/eap_server.c:1868,1
    - Dst: wpabuf_dup
      Src: /src/hostap/src/eap_server/eap_server.c:1870,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server.c:1872,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server.c:1877,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - eapol_ctx
    - eapol_cb
    - conf
    - sess
    argTypes:
    - void*
    - struct eapol_callbacks*
    - struct eap_config*
    - struct eap_session_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1880
      start: 1853
    functionDepth: 1
    functionLinenumber: 1853
    functionLinenumberEnd: 1880
    functionName: eap_server_sm_init
    functionSourceFile: /src/hostap/src/eap_server/eap_server.c
    functionUses: 1
    functionsReached:
    - wpabuf_dup
    - os_zalloc
    - wpa_printf
    - os_memcpy
    linkageType: ''
    returnType: struct eap_sm
    signature: "struct eap_sm * eap_server_sm_init(void *eapol_ctx,\n\t\t\t\t   const
      struct eapol_callbacks *eapol_cb,\n\t\t\t\t   const struct eap_config *conf,\n\t\t\t\t
      \  const struct eap_session_data *sess)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server.c:1894,1
    - Dst: struct eap_sm*::m::reset
      Src: /src/hostap/src/eap_server/eap_server.c:1896,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server.c:1897,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/eap_server/eap_server.c:1898,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server.c:1899,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server.c:1900,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server.c:1901,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server.c:1902,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server.c:1903,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server.c:1904,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server.c:1905,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/eap_server/eap_server.c:1906,1
    - Dst: eap_user_free
      Src: /src/hostap/src/eap_server/eap_server.c:1907,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server.c:1908,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server.c:1909,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server.c:1910,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1911
      start: 1890
    functionDepth: 2
    functionLinenumber: 1890
    functionLinenumberEnd: 1911
    functionName: eap_server_sm_deinit
    functionSourceFile: /src/hostap/src/eap_server/eap_server.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - struct eap_sm*::m::reset
    - wpabuf_free
    - eap_user_free
    - os_free
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: void eap_server_sm_deinit(struct eap_sm *sm)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1927
      start: 1921
    functionDepth: 0
    functionLinenumber: 1921
    functionLinenumberEnd: 1927
    functionName: eap_sm_notify_cached
    functionSourceFile: /src/hostap/src/eap_server/eap_server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void eap_sm_notify_cached(struct eap_sm *sm)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server.c:1940,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1943
      start: 1936
    functionDepth: 0
    functionLinenumber: 1936
    functionLinenumberEnd: 1943
    functionName: eap_sm_pending_cb
    functionSourceFile: /src/hostap/src/eap_server/eap_server.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void eap_sm_pending_cb(struct eap_sm *sm)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1956
      start: 1951
    functionDepth: 0
    functionLinenumber: 1951
    functionLinenumberEnd: 1956
    functionName: eap_sm_method_pending
    functionSourceFile: /src/hostap/src/eap_server/eap_server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int eap_sm_method_pending(struct eap_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sm
    - len
    argTypes:
    - struct eap_sm*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1969
      start: 1965
    functionDepth: 0
    functionLinenumber: 1965
    functionLinenumberEnd: 1969
    functionName: eap_get_identity
    functionSourceFile: /src/hostap/src/eap_server/eap_server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 * eap_get_identity(struct eap_sm *sm, size_t *len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1980
      start: 1977
    functionDepth: 0
    functionLinenumber: 1977
    functionLinenumberEnd: 1980
    functionName: eap_get_serial_num
    functionSourceFile: /src/hostap/src/eap_server/eap_server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * eap_get_serial_num(struct eap_sm *sm)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1993
      start: 1988
    functionDepth: 0
    functionLinenumber: 1988
    functionLinenumberEnd: 1993
    functionName: eap_get_method
    functionSourceFile: /src/hostap/src/eap_server/eap_server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * eap_get_method(struct eap_sm *sm)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2006
      start: 2001
    functionDepth: 0
    functionLinenumber: 2001
    functionLinenumberEnd: 2006
    functionName: eap_get_imsi
    functionSourceFile: /src/hostap/src/eap_server/eap_server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * eap_get_imsi(struct eap_sm *sm)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: erp_parse_tlvs
      Src: /src/hostap/src/eap_server/eap_server.c:2030,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_server/eap_server.c:2032,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server.c:2035,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_server/eap_server.c:2036,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server.c:2038,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - sm
    - eap
    - len
    argTypes:
    - struct eap_sm*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2044
      start: 2009
    functionDepth: 1
    functionLinenumber: 2009
    functionLinenumberEnd: 2044
    functionName: eap_erp_update_identity
    functionSourceFile: /src/hostap/src/eap_server/eap_server.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - erp_parse_tlvs
    - os_malloc
    - os_free
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: void
    signature: void eap_erp_update_identity(struct eap_sm *sm, const u8 *eap, size_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2055
      start: 2052
    functionDepth: 0
    functionLinenumber: 2052
    functionLinenumberEnd: 2055
    functionName: eap_get_interface
    functionSourceFile: /src/hostap/src/eap_server/eap_server.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: struct eap_eapol_interface
    signature: struct eap_eapol_interface * eap_get_interface(struct eap_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server.c:2068,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2070
      start: 2066
    functionDepth: 0
    functionLinenumber: 2066
    functionLinenumberEnd: 2070
    functionName: eap_server_clear_identity
    functionSourceFile: /src/hostap/src/eap_server/eap_server.c
    functionUses: 2
    functionsReached:
    - os_free
    linkageType: ''
    returnType: void
    signature: void eap_server_clear_identity(struct eap_sm *sm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf_encode
      Src: /src/hostap/src/eap_server/eap_server.c:2082,1
    - Dst: wpa_snprintf_hex_sep
      Src: /src/hostap/src/eap_server/eap_server.c:2085,1
    - Dst: wpa_snprintf_hex_sep
      Src: /src/hostap/src/eap_server/eap_server.c:2087,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server.c:2089,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 6
    argNames:
    - sm
    - source
    - username
    - username_len
    - challenge
    - response
    argTypes:
    - struct eap_sm*
    - char*
    - u8*
    - size_t
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2091
      start: 2074
    functionDepth: 1
    functionLinenumber: 2074
    functionLinenumberEnd: 2091
    functionName: eap_server_mschap_rx_callback
    functionSourceFile: /src/hostap/src/eap_server/eap_server.c
    functionUses: 3
    functionsReached:
    - printf_encode
    - wpa_printf
    - wpa_snprintf_hex_sep
    linkageType: ''
    returnType: void
    signature: "void eap_server_mschap_rx_callback(struct eap_sm *sm, const char *source,\n\t\t\t\t
      \  const u8 *username, size_t username_len,\n\t\t\t\t   const u8 *challenge,
      const u8 *response)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server.c:2099,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server.c:2100,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server.c:2101,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server.c:2102,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server.c:2103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - struct eap_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2104
      start: 2095
    functionDepth: 0
    functionLinenumber: 2095
    functionLinenumberEnd: 2104
    functionName: eap_server_config_free
    functionSourceFile: /src/hostap/src/eap_server/eap_server.c
    functionUses: 0
    functionsReached:
    - os_free
    linkageType: ''
    returnType: void
    signature: void eap_server_config_free(struct eap_config *cfg)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - state
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 80
    functionName: eap_aka_state_txt
    functionSourceFile: /src/hostap/src/eap_server/eap_server_aka.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * eap_aka_state_txt(int state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:85,1
    - Dst: eap_aka_state_txt
      Src: /src/hostap/src/eap_server/eap_server_aka.c:86,1
    - Dst: eap_aka_state_txt
      Src: /src/hostap/src/eap_server/eap_server_aka.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - state
    argTypes:
    - struct eap_aka_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: eap_aka_state
    functionSourceFile: /src/hostap/src/eap_server/eap_server_aka.c
    functionUses: 7
    functionsReached:
    - wpa_printf
    - eap_aka_state_txt
    linkageType: ''
    returnType: void
    signature: void eap_aka_state(struct eap_aka_data *data, int state)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:103,1
    - Dst: eap_sim_db_get_reauth_entry
      Src: /src/hostap/src/eap_server/eap_server_aka.c:104,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:107,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:114,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:117,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/eap_server/eap_server_aka.c:119,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/eap_server/eap_server_aka.c:121,1
    - Dst: eap_sim_db_remove_reauth
      Src: /src/hostap/src/eap_server/eap_server_aka.c:124,1
    - Dst: eap_aka_fullauth
      Src: /src/hostap/src/eap_server/eap_server_aka.c:127,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:133,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/eap_server/eap_server_aka.c:136,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_aka.c:140,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_aka.c:142,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_aka.c:144,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_aka.c:147,1
    - Dst: eap_aka_state
      Src: /src/hostap/src/eap_server/eap_server_aka.c:150,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 3
    argNames:
    - sm
    - data
    - username
    argTypes:
    - struct eap_sm*
    - struct eap_aka_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 92
    functionDepth: 3
    functionLinenumber: 92
    functionLinenumberEnd: 152
    functionName: eap_aka_check_identity_reauth
    functionSourceFile: /src/hostap/src/eap_server/eap_server_aka.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - eap_sim_db_get_reauth_entry
    - os_strlcpy
    - eap_sim_db_remove_reauth
    - eap_aka_fullauth
    - eap_aka_state
    linkageType: ''
    returnType: int
    signature: "int eap_aka_check_identity_reauth(struct eap_sm *sm,\n\t\t\t\t\t struct
      eap_aka_data *data,\n\t\t\t\t\t const char *username)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/eap_server/eap_server_aka.c:164,1
    - Dst: sim_get_username
      Src: /src/hostap/src/eap_server/eap_server_aka.c:169,1
    - Dst: eap_aka_check_identity_reauth
      Src: /src/hostap/src/eap_server/eap_server_aka.c:173,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_aka.c:174,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_aka.c:185,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/eap_server/eap_server_aka.c:186,1
    - Dst: eap_aka_fullauth
      Src: /src/hostap/src/eap_server/eap_server_aka.c:188,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:197,1
    - Dst: eap_sim_db_get_permanent
      Src: /src/hostap/src/eap_server/eap_server_aka.c:199,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_aka.c:202,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:203,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/eap_server/eap_server_aka.c:208,1
    - Dst: eap_aka_fullauth
      Src: /src/hostap/src/eap_server/eap_server_aka.c:214,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_aka.c:217,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 2
    argNames:
    - sm
    - data
    argTypes:
    - struct eap_sm*
    - struct eap_aka_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 155
    functionDepth: 4
    functionLinenumber: 155
    functionLinenumberEnd: 218
    functionName: eap_aka_check_identity
    functionSourceFile: /src/hostap/src/eap_server/eap_server_aka.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - eap_aka_check_identity_reauth
    - os_strlcpy
    - eap_aka_fullauth
    - sim_get_username
    - os_free
    - eap_sim_db_get_permanent
    linkageType: ''
    returnType: void
    signature: "void eap_aka_check_identity(struct eap_sm *sm,\n\t\t\t\t   struct
      eap_aka_data *data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:226,1
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_server/eap_server_aka.c:230,1
    - Dst: eap_aka_check_identity
      Src: /src/hostap/src/eap_server/eap_server_aka.c:238,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 221
    functionDepth: 5
    functionLinenumber: 221
    functionLinenumberEnd: 241
    functionName: eap_aka_init
    functionSourceFile: /src/hostap/src/eap_server/eap_server_aka.c
    functionUses: 1
    functionsReached:
    - eap_aka_check_identity
    - wpa_printf
    - os_zalloc
    linkageType: ''
    returnType: void
    signature: void * eap_aka_init(struct eap_sm *sm)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:252,1
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_server/eap_server_aka.c:256,1
    - Dst: os_strdup
      Src: /src/hostap/src/eap_server/eap_server_aka.c:261,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_aka.c:263,1
    - Dst: os_strlen
      Src: /src/hostap/src/eap_server/eap_server_aka.c:267,1
    - Dst: eap_aka_check_identity
      Src: /src/hostap/src/eap_server/eap_server_aka.c:271,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 245
    functionDepth: 5
    functionLinenumber: 245
    functionLinenumberEnd: 274
    functionName: eap_aka_prime_init
    functionSourceFile: /src/hostap/src/eap_server/eap_server_aka.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - eap_aka_check_identity
    - wpa_printf
    - os_zalloc
    - os_free
    - os_strdup
    linkageType: ''
    returnType: void
    signature: void * eap_aka_prime_init(struct eap_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_aka.c:281,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_aka.c:282,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_aka.c:283,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_aka.c:284,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/eap_server/eap_server_aka.c:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 286
    functionName: eap_aka_reset
    functionSourceFile: /src/hostap/src/eap_server/eap_server_aka.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpabuf_free
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: void eap_aka_reset(struct eap_sm *sm, void *priv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_dup
      Src: /src/hostap/src/eap_server/eap_server_aka.c:296,1
    - Dst: wpabuf_resize
      Src: /src/hostap/src/eap_server/eap_server_aka.c:300,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_aka.c:300,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:302,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - data
    - msg
    argTypes:
    - struct eap_aka_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 305
    functionName: eap_aka_add_id_msg
    functionSourceFile: /src/hostap/src/eap_server/eap_server_aka.c
    functionUses: 1
    functionsReached:
    - wpabuf_dup
    - wpabuf_put_buf
    - wpabuf_len
    - wpabuf_resize
    linkageType: ''
    returnType: int
    signature: "int eap_aka_add_id_msg(struct eap_aka_data *data,\n\t\t\t      const
      struct wpabuf *msg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:315,1
    - Dst: eap_sim_msg_add
      Src: /src/hostap/src/eap_server/eap_server_aka.c:322,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_server/eap_server_aka.c:327,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_aka.c:328,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_aka.c:329,1
    - Dst: sha256_vector
      Src: /src/hostap/src/eap_server/eap_server_aka.c:331,1
    - Dst: sha1_vector
      Src: /src/hostap/src/eap_server/eap_server_aka.c:333,1
    - Dst: eap_sim_msg_add
      Src: /src/hostap/src/eap_server/eap_server_aka.c:335,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - data
    - msg
    argTypes:
    - struct eap_aka_data*
    - struct eap_sim_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 338
    functionName: eap_aka_add_checkcode
    functionSourceFile: /src/hostap/src/eap_server/eap_server_aka.c
    functionUses: 2
    functionsReached:
    - sha256_vector
    - wpa_printf
    - wpa_hexdump
    - wpabuf_len
    - sha1_vector
    - wpabuf_head
    - eap_sim_msg_add
    linkageType: ''
    returnType: void
    signature: "void eap_aka_add_checkcode(struct eap_aka_data *data,\n\t\t\t\t  struct
      eap_sim_msg *msg)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:354,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:366,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_server/eap_server_aka.c:373,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_aka.c:374,1
    - Dst: sha256_vector
      Src: /src/hostap/src/eap_server/eap_server_aka.c:376,1
    - Dst: sha1_vector
      Src: /src/hostap/src/eap_server/eap_server_aka.c:378,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/eap_server/eap_server_aka.c:380,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:381,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - data
    - checkcode
    - checkcode_len
    argTypes:
    - struct eap_aka_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 386
    functionName: eap_aka_verify_checkcode
    functionSourceFile: /src/hostap/src/eap_server/eap_server_aka.c
    functionUses: 2
    functionsReached:
    - sha256_vector
    - wpa_printf
    - wpabuf_len
    - sha1_vector
    - wpabuf_head
    - os_memcmp_const
    linkageType: ''
    returnType: int
    signature: "int eap_aka_verify_checkcode(struct eap_aka_data *data,\n\t\t\t\t
      \   const u8 *checkcode, size_t checkcode_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:395,1
    - Dst: eap_sim_msg_init
      Src: /src/hostap/src/eap_server/eap_server_aka.c:396,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:405,1
    - Dst: eap_sim_msg_add
      Src: /src/hostap/src/eap_server/eap_server_aka.c:406,1
    - Dst: eap_sim_msg_free
      Src: /src/hostap/src/eap_server/eap_server_aka.c:409,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:415,1
    - Dst: eap_sim_msg_add
      Src: /src/hostap/src/eap_server/eap_server_aka.c:416,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:418,1
    - Dst: eap_sim_msg_add
      Src: /src/hostap/src/eap_server/eap_server_aka.c:419,1
    - Dst: eap_sim_msg_finish
      Src: /src/hostap/src/eap_server/eap_server_aka.c:421,1
    - Dst: eap_aka_add_id_msg
      Src: /src/hostap/src/eap_server/eap_server_aka.c:422,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_aka.c:423,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - sm
    - data
    - id
    argTypes:
    - struct eap_sm*
    - struct eap_aka_data*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 428
    functionName: eap_aka_build_identity
    functionSourceFile: /src/hostap/src/eap_server/eap_server_aka.c
    functionUses: 0
    functionsReached:
    - eap_sim_msg_finish
    - wpa_printf
    - eap_sim_msg_free
    - wpabuf_free
    - eap_sim_msg_init
    - eap_sim_msg_add
    - eap_aka_add_id_msg
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_aka_build_identity(struct eap_sm *sm,\n\t\t\t\t\t
      \     struct eap_aka_data *data, u8 id)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_aka.c:435,1
    - Dst: eap_sim_db_get_next_pseudonym
      Src: /src/hostap/src/eap_server/eap_server_aka.c:441,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_aka.c:449,1
    - Dst: eap_sim_db_get_next_reauth_id
      Src: /src/hostap/src/eap_server/eap_server_aka.c:455,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:460,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:469,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:470,1
    - Dst: eap_sim_msg_add_encr_start
      Src: /src/hostap/src/eap_server/eap_server_aka.c:471,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:474,1
    - Dst: eap_sim_msg_add
      Src: /src/hostap/src/eap_server/eap_server_aka.c:475,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:479,1
    - Dst: eap_sim_msg_add
      Src: /src/hostap/src/eap_server/eap_server_aka.c:480,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:485,1
    - Dst: eap_sim_msg_add
      Src: /src/hostap/src/eap_server/eap_server_aka.c:487,1
    - Dst: os_strlen
      Src: /src/hostap/src/eap_server/eap_server_aka.c:488,1
    - Dst: os_strlen
      Src: /src/hostap/src/eap_server/eap_server_aka.c:490,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:494,1
    - Dst: eap_sim_msg_add
      Src: /src/hostap/src/eap_server/eap_server_aka.c:496,1
    - Dst: os_strlen
      Src: /src/hostap/src/eap_server/eap_server_aka.c:497,1
    - Dst: os_strlen
      Src: /src/hostap/src/eap_server/eap_server_aka.c:499,1
    - Dst: eap_sim_msg_add_encr_end
      Src: /src/hostap/src/eap_server/eap_server_aka.c:502,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:503,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 5
    argNames:
    - sm
    - data
    - msg
    - counter
    - nonce_s
    argTypes:
    - struct eap_sm*
    - struct eap_aka_data*
    - struct eap_sim_msg*
    - u16
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 431
    functionDepth: 3
    functionLinenumber: 431
    functionLinenumberEnd: 509
    functionName: eap_aka_build_encr
    functionSourceFile: /src/hostap/src/eap_server/eap_server_aka.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - eap_sim_msg_add_encr_start
    - eap_sim_msg_add_encr_end
    - eap_sim_db_get_next_reauth_id
    - eap_sim_msg_add
    - os_free
    - eap_sim_db_get_next_pseudonym
    linkageType: ''
    returnType: int
    signature: "int eap_aka_build_encr(struct eap_sm *sm, struct eap_aka_data *data,\n\t\t\t
      \     struct eap_sim_msg *msg, u16 counter,\n\t\t\t      const u8 *nonce_s)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:518,1
    - Dst: eap_sim_msg_init
      Src: /src/hostap/src/eap_server/eap_server_aka.c:519,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:521,1
    - Dst: eap_sim_msg_add
      Src: /src/hostap/src/eap_server/eap_server_aka.c:522,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:523,1
    - Dst: eap_sim_msg_add
      Src: /src/hostap/src/eap_server/eap_server_aka.c:524,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:528,1
    - Dst: eap_sim_msg_add
      Src: /src/hostap/src/eap_server/eap_server_aka.c:529,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:532,1
    - Dst: eap_sim_msg_add
      Src: /src/hostap/src/eap_server/eap_server_aka.c:533,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:535,1
    - Dst: eap_sim_msg_add
      Src: /src/hostap/src/eap_server/eap_server_aka.c:536,1
    - Dst: eap_aka_build_encr
      Src: /src/hostap/src/eap_server/eap_server_aka.c:541,1
    - Dst: eap_sim_msg_free
      Src: /src/hostap/src/eap_server/eap_server_aka.c:542,1
    - Dst: eap_aka_add_checkcode
      Src: /src/hostap/src/eap_server/eap_server_aka.c:546,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:549,1
    - Dst: eap_sim_msg_add
      Src: /src/hostap/src/eap_server/eap_server_aka.c:550,1
    - Dst: eap_sim_msg_add
      Src: /src/hostap/src/eap_server/eap_server_aka.c:578,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:582,1
    - Dst: eap_sim_msg_add_mac
      Src: /src/hostap/src/eap_server/eap_server_aka.c:583,1
    - Dst: eap_sim_msg_finish
      Src: /src/hostap/src/eap_server/eap_server_aka.c:584,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 3
    argNames:
    - sm
    - data
    - id
    argTypes:
    - struct eap_sm*
    - struct eap_aka_data*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 512
    functionDepth: 4
    functionLinenumber: 512
    functionLinenumberEnd: 585
    functionName: eap_aka_build_challenge
    functionSourceFile: /src/hostap/src/eap_server/eap_server_aka.c
    functionUses: 0
    functionsReached:
    - eap_aka_add_checkcode
    - eap_sim_msg_finish
    - wpa_printf
    - eap_sim_msg_free
    - eap_sim_msg_init
    - eap_sim_msg_add
    - eap_aka_build_encr
    - eap_sim_msg_add_mac
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_aka_build_challenge(struct eap_sm *sm,\n\t\t\t\t\t
      \      struct eap_aka_data *data,\n\t\t\t\t\t       u8 id)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:594,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/eap_server/eap_server_aka.c:596,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_server/eap_server_aka.c:598,1
    - Dst: eap_aka_prime_derive_keys_reauth
      Src: /src/hostap/src/eap_server/eap_server_aka.c:602,1
    - Dst: eap_sim_derive_keys
      Src: /src/hostap/src/eap_server/eap_server_aka.c:608,1
    - Dst: eap_sim_derive_keys_reauth
      Src: /src/hostap/src/eap_server/eap_server_aka.c:610,1
    - Dst: eap_sim_msg_init
      Src: /src/hostap/src/eap_server/eap_server_aka.c:615,1
    - Dst: eap_aka_build_encr
      Src: /src/hostap/src/eap_server/eap_server_aka.c:618,1
    - Dst: eap_sim_msg_free
      Src: /src/hostap/src/eap_server/eap_server_aka.c:619,1
    - Dst: eap_aka_add_checkcode
      Src: /src/hostap/src/eap_server/eap_server_aka.c:623,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:626,1
    - Dst: eap_sim_msg_add
      Src: /src/hostap/src/eap_server/eap_server_aka.c:627,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:630,1
    - Dst: eap_sim_msg_add_mac
      Src: /src/hostap/src/eap_server/eap_server_aka.c:631,1
    - Dst: eap_sim_msg_finish
      Src: /src/hostap/src/eap_server/eap_server_aka.c:632,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_aka.c:637,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/eap_server/eap_server_aka.c:638,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_aka.c:638,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 3
    argNames:
    - sm
    - data
    - id
    argTypes:
    - struct eap_sm*
    - struct eap_aka_data*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 588
    functionDepth: 4
    functionLinenumber: 588
    functionLinenumberEnd: 642
    functionName: eap_aka_build_reauth
    functionSourceFile: /src/hostap/src/eap_server/eap_server_aka.c
    functionUses: 0
    functionsReached:
    - eap_aka_add_checkcode
    - eap_sim_msg_finish
    - wpa_printf
    - wpa_hexdump_key
    - random_get_bytes
    - os_memcpy
    - eap_sim_msg_free
    - wpabuf_head_u8
    - eap_sim_derive_keys_reauth
    - wpabuf_len
    - eap_aka_prime_derive_keys_reauth
    - eap_sim_derive_keys
    - eap_sim_msg_init
    - eap_sim_msg_add
    - eap_aka_build_encr
    - eap_sim_msg_add_mac
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_aka_build_reauth(struct eap_sm *sm,\n\t\t\t\t\t
      \   struct eap_aka_data *data, u8 id)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:651,1
    - Dst: eap_sim_msg_init
      Src: /src/hostap/src/eap_server/eap_server_aka.c:652,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:654,1
    - Dst: eap_sim_msg_add
      Src: /src/hostap/src/eap_server/eap_server_aka.c:655,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:659,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:660,1
    - Dst: eap_sim_msg_add_encr_start
      Src: /src/hostap/src/eap_server/eap_server_aka.c:661,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:663,1
    - Dst: eap_sim_msg_add
      Src: /src/hostap/src/eap_server/eap_server_aka.c:665,1
    - Dst: eap_sim_msg_add_encr_end
      Src: /src/hostap/src/eap_server/eap_server_aka.c:668,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:670,1
    - Dst: eap_sim_msg_free
      Src: /src/hostap/src/eap_server/eap_server_aka.c:672,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:677,1
    - Dst: eap_sim_msg_add_mac
      Src: /src/hostap/src/eap_server/eap_server_aka.c:678,1
    - Dst: eap_sim_msg_finish
      Src: /src/hostap/src/eap_server/eap_server_aka.c:680,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - sm
    - data
    - id
    argTypes:
    - struct eap_sm*
    - struct eap_aka_data*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 681
    functionName: eap_aka_build_notification
    functionSourceFile: /src/hostap/src/eap_server/eap_server_aka.c
    functionUses: 0
    functionsReached:
    - eap_sim_msg_finish
    - eap_sim_msg_add_encr_start
    - wpa_printf
    - eap_sim_msg_add_encr_end
    - eap_sim_msg_free
    - eap_sim_msg_init
    - eap_sim_msg_add
    - eap_sim_msg_add_mac
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_aka_build_notification(struct eap_sm *sm,\n\t\t\t\t\t\t
      \ struct eap_aka_data *data,\n\t\t\t\t\t\t  u8 id)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: eap_aka_build_identity
      Src: /src/hostap/src/eap_server/eap_server_aka.c:691,1
    - Dst: eap_aka_build_challenge
      Src: /src/hostap/src/eap_server/eap_server_aka.c:693,1
    - Dst: eap_aka_build_reauth
      Src: /src/hostap/src/eap_server/eap_server_aka.c:695,1
    - Dst: eap_aka_build_notification
      Src: /src/hostap/src/eap_server/eap_server_aka.c:697,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:699,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - sm
    - priv
    - id
    argTypes:
    - struct eap_sm*
    - void*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 684
    functionDepth: 5
    functionLinenumber: 684
    functionLinenumberEnd: 704
    functionName: eap_aka_buildReq
    functionSourceFile: /src/hostap/src/eap_server/eap_server_aka.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_aka_build_challenge
    - eap_aka_build_reauth
    - eap_aka_build_notification
    - eap_aka_build_identity
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * eap_aka_buildReq(struct eap_sm *sm, void *priv, u8
      id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_server/eap_server_aka.c:714,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:717,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - sm
    - priv
    - respData
    argTypes:
    - struct eap_sm*
    - void*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 707
    functionDepth: 1
    functionLinenumber: 707
    functionLinenumberEnd: 722
    functionName: eap_aka_check
    functionSourceFile: /src/hostap/src/eap_server/eap_server_aka.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_hdr_validate
    linkageType: ''
    returnType: bool
    signature: "bool eap_aka_check(struct eap_sm *sm, void *priv,\n\t\t\t  struct
      wpabuf *respData)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:734,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:742,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:749,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:756,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:762,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 2
    argNames:
    - data
    - subtype
    argTypes:
    - struct eap_aka_data*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 768
    functionName: eap_aka_subtype_ok
    functionSourceFile: /src/hostap/src/eap_server/eap_server_aka.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: bool
    signature: bool eap_aka_subtype_ok(struct eap_aka_data *data, u8 subtype)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_server/eap_server_aka.c:776,1
    - Dst: sim_get_username
      Src: /src/hostap/src/eap_server/eap_server_aka.c:779,1
    - Dst: eap_aka_check_identity_reauth
      Src: /src/hostap/src/eap_server/eap_server_aka.c:783,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_aka.c:784,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_aka.c:795,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:804,1
    - Dst: eap_sim_db_get_permanent
      Src: /src/hostap/src/eap_server/eap_server_aka.c:806,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_aka.c:808,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:810,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/eap_server/eap_server_aka.c:815,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:821,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/eap_server/eap_server_aka.c:823,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_aka.c:824,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_aka.c:834,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:836,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_server/eap_server_aka.c:849,1
    - Dst: base64_decode
      Src: /src/hostap/src/eap_server/eap_server_aka.c:852,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:854,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_aka.c:858,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/eap_server/eap_server_aka.c:861,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_aka.c:862,1
    - Dst: crypto_rsa_oaep_sha256_decrypt
      Src: /src/hostap/src/eap_server/eap_server_aka.c:865,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_aka.c:867,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:869,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_server/eap_server_aka.c:873,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_server/eap_server_aka.c:874,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_aka.c:874,1
    - Dst: sim_get_username
      Src: /src/hostap/src/eap_server/eap_server_aka.c:875,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_server/eap_server_aka.c:875,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_aka.c:875,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_aka.c:877,1
    - Dst: os_memdup
      Src: /src/hostap/src/eap_server/eap_server_aka.c:880,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_server/eap_server_aka.c:880,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_aka.c:880,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_aka.c:882,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_aka.c:885,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/eap_server_aka.c:887,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_aka.c:888,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/eap_server/eap_server_aka.c:889,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_aka.c:890,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:893,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_aka.c:895,1
    - Dst: eap_aka_fullauth
      Src: /src/hostap/src/eap_server/eap_server_aka.c:900,1
    - Dst: eap_aka_state
      Src: /src/hostap/src/eap_server/eap_server_aka.c:905,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 95
    argCount: 2
    argNames:
    - sm
    - data
    argTypes:
    - struct eap_sm*
    - struct eap_aka_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 771
    functionDepth: 4
    functionLinenumber: 771
    functionLinenumberEnd: 906
    functionName: eap_aka_determine_identity
    functionSourceFile: /src/hostap/src/eap_server/eap_server_aka.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_aka_state
    - wpa_hexdump
    - eap_aka_check_identity_reauth
    - wpabuf_len
    - os_memdup
    - os_strlcpy
    - wpabuf_free
    - wpabuf_alloc_copy
    - wpabuf_head
    - base64_decode
    - eap_aka_fullauth
    - crypto_rsa_oaep_sha256_decrypt
    - sim_get_username
    - os_free
    - eap_sim_db_get_permanent
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: void
    signature: "void eap_aka_determine_identity(struct eap_sm *sm,\n\t\t\t\t       struct
      eap_aka_data *data)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: eap_sim_db_get_aka_auth
      Src: /src/hostap/src/eap_server/eap_server_aka.c:914,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:918,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/eap_server/eap_server_aka.c:926,1
    - Dst: eap_aka_prime_derive_ck_ik_prime
      Src: /src/hostap/src/eap_server/eap_server_aka.c:932,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:943,1
    - Dst: eap_aka_state
      Src: /src/hostap/src/eap_server/eap_server_aka.c:946,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:950,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:957,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_server/eap_server_aka.c:961,1
    - Dst: eap_aka_prime_derive_keys
      Src: /src/hostap/src/eap_server/eap_server_aka.c:965,1
    - Dst: eap_aka_derive_mk
      Src: /src/hostap/src/eap_server/eap_server_aka.c:969,1
    - Dst: eap_sim_derive_keys
      Src: /src/hostap/src/eap_server/eap_server_aka.c:971,1
    - Dst: eap_aka_state
      Src: /src/hostap/src/eap_server/eap_server_aka.c:975,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 2
    argNames:
    - sm
    - data
    argTypes:
    - struct eap_sm*
    - struct eap_aka_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 976
      start: 909
    functionDepth: 3
    functionLinenumber: 909
    functionLinenumberEnd: 976
    functionName: eap_aka_fullauth
    functionSourceFile: /src/hostap/src/eap_server/eap_server_aka.c
    functionUses: 3
    functionsReached:
    - eap_sim_db_get_aka_auth
    - wpa_printf
    - eap_aka_prime_derive_ck_ik_prime
    - eap_aka_prime_derive_keys
    - os_strlcpy
    - eap_aka_derive_mk
    - eap_sim_derive_keys
    - eap_aka_state
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: void
    signature: void eap_aka_fullauth(struct eap_sm *sm, struct eap_aka_data *data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:986,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:989,1
    - Dst: eap_aka_state
      Src: /src/hostap/src/eap_server/eap_server_aka.c:992,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1001,1
    - Dst: eap_aka_state
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1004,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1008,1
    - Dst: eap_aka_state
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1011,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1014,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1016,1
    - Dst: eap_aka_determine_identity
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1019,1
    - Dst: eap_get_id
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1020,1
    - Dst: eap_aka_add_id_msg
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1022,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 4
    argNames:
    - sm
    - data
    - respData
    - attr
    argTypes:
    - struct eap_sm*
    - struct eap_aka_data*
    - struct wpabuf*
    - struct eap_sim_attrs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 979
    functionDepth: 5
    functionLinenumber: 979
    functionLinenumberEnd: 1024
    functionName: eap_aka_process_identity
    functionSourceFile: /src/hostap/src/eap_server/eap_server_aka.c
    functionUses: 1
    functionsReached:
    - eap_get_id
    - wpa_printf
    - os_memcpy
    - os_malloc
    - eap_aka_determine_identity
    - eap_aka_add_id_msg
    - eap_aka_state
    - os_free
    linkageType: ''
    returnType: void
    signature: "void eap_aka_process_identity(struct eap_sm *sm,\n\t\t\t\t     struct
      eap_aka_data *data,\n\t\t\t\t     struct wpabuf *respData,\n\t\t\t\t     struct
      eap_sim_attrs *attr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_sim_verify_mac_sha256
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1033,1
    - Dst: eap_sim_verify_mac
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1035,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - data
    - req
    - mac
    - extra
    - extra_len
    argTypes:
    - struct eap_aka_data*
    - struct wpabuf*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 1027
    functionDepth: 1
    functionLinenumber: 1027
    functionLinenumberEnd: 1036
    functionName: eap_aka_verify_mac
    functionSourceFile: /src/hostap/src/eap_server/eap_server_aka.c
    functionUses: 3
    functionsReached:
    - eap_sim_verify_mac
    - eap_sim_verify_mac_sha256
    linkageType: ''
    returnType: int
    signature: "int eap_aka_verify_mac(struct eap_aka_data *data,\n\t\t\t      const
      struct wpabuf *req,\n\t\t\t      const u8 *mac, const u8 *extra,\n\t\t\t      size_t
      extra_len)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1044,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1053,1
    - Dst: eap_aka_state
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1057,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1065,1
    - Dst: eap_aka_verify_checkcode
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1072,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1074,1
    - Dst: eap_aka_state
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1077,1
    - Dst: eap_aka_verify_mac
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1081,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1082,1
    - Dst: eap_aka_state
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1085,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1095,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1096,1
    - Dst: eap_aka_state
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1103,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1107,1
    - Dst: eap_aka_state
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1112,1
    - Dst: eap_aka_state
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1114,1
    - Dst: eap_sim_db_add_pseudonym
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1117,1
    - Dst: eap_sim_db_add_reauth_prime
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1125,1
    - Dst: eap_sim_db_add_reauth
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1133,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 50
    argCount: 4
    argNames:
    - sm
    - data
    - respData
    - attr
    argTypes:
    - struct eap_sm*
    - struct eap_aka_data*
    - struct wpabuf*
    - struct eap_sim_attrs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 1039
    functionDepth: 3
    functionLinenumber: 1039
    functionLinenumberEnd: 1141
    functionName: eap_aka_process_challenge
    functionSourceFile: /src/hostap/src/eap_server/eap_server_aka.c
    functionUses: 1
    functionsReached:
    - eap_sim_db_add_reauth_prime
    - wpa_printf
    - eap_aka_verify_checkcode
    - os_memcmp_const
    - eap_sim_db_add_reauth
    - eap_sim_db_add_pseudonym
    - eap_aka_state
    - eap_aka_verify_mac
    linkageType: ''
    returnType: void
    signature: "void eap_aka_process_challenge(struct eap_sm *sm,\n\t\t\t\t      struct
      eap_aka_data *data,\n\t\t\t\t      struct wpabuf *respData,\n\t\t\t\t      struct
      eap_sim_attrs *attr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1149,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1152,1
    - Dst: eap_aka_state
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1155,1
    - Dst: eap_sim_db_resynchronize
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1163,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1165,1
    - Dst: eap_aka_state
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1167,1
    - Dst: eap_aka_fullauth
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1173,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - sm
    - data
    - respData
    - attr
    argTypes:
    - struct eap_sm*
    - struct eap_aka_data*
    - struct wpabuf*
    - struct eap_sim_attrs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1144
    functionDepth: 4
    functionLinenumber: 1144
    functionLinenumberEnd: 1174
    functionName: eap_aka_process_sync_failure
    functionSourceFile: /src/hostap/src/eap_server/eap_server_aka.c
    functionUses: 0
    functionsReached:
    - eap_aka_state
    - eap_sim_db_resynchronize
    - wpa_printf
    - eap_aka_fullauth
    linkageType: ''
    returnType: void
    signature: "void eap_aka_process_sync_failure(struct eap_sm *sm,\n\t\t\t\t\t struct
      eap_aka_data *data,\n\t\t\t\t\t struct wpabuf *respData,\n\t\t\t\t\t struct
      eap_sim_attrs *attr)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1185,1
    - Dst: eap_aka_verify_mac
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1188,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1190,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1196,1
    - Dst: eap_sim_parse_encr
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1201,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1205,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1211,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1216,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1219,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1223,1
    - Dst: eap_aka_fullauth
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1226,1
    - Dst: eap_aka_state
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1233,1
    - Dst: eap_aka_state
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1235,1
    - Dst: eap_sim_db_add_reauth_prime
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1240,1
    - Dst: eap_sim_db_add_reauth
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1248,1
    - Dst: eap_sim_db_remove_reauth
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1256,1
    - Dst: eap_aka_state
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1265,1
    - Dst: eap_sim_db_remove_reauth
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1266,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1268,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 56
    argCount: 4
    argNames:
    - sm
    - data
    - respData
    - attr
    argTypes:
    - struct eap_sm*
    - struct eap_aka_data*
    - struct wpabuf*
    - struct eap_sim_attrs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1269
      start: 1177
    functionDepth: 4
    functionLinenumber: 1177
    functionLinenumberEnd: 1269
    functionName: eap_aka_process_reauth
    functionSourceFile: /src/hostap/src/eap_server/eap_server_aka.c
    functionUses: 0
    functionsReached:
    - eap_sim_db_add_reauth_prime
    - wpa_printf
    - eap_sim_db_remove_reauth
    - eap_sim_parse_encr
    - eap_sim_db_add_reauth
    - eap_aka_fullauth
    - os_free
    - eap_aka_state
    - eap_aka_verify_mac
    linkageType: ''
    returnType: void
    signature: "void eap_aka_process_reauth(struct eap_sm *sm,\n\t\t\t\t   struct
      eap_aka_data *data,\n\t\t\t\t   struct wpabuf *respData,\n\t\t\t\t   struct
      eap_sim_attrs *attr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1277,1
    - Dst: eap_aka_state
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1280,1
    - Dst: eap_aka_state
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - sm
    - data
    - respData
    - attr
    argTypes:
    - struct eap_sm*
    - struct eap_aka_data*
    - struct wpabuf*
    - struct eap_sim_attrs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1283
      start: 1272
    functionDepth: 0
    functionLinenumber: 1272
    functionLinenumberEnd: 1283
    functionName: eap_aka_process_client_error
    functionSourceFile: /src/hostap/src/eap_server/eap_server_aka.c
    functionUses: 0
    functionsReached:
    - eap_aka_state
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: "void eap_aka_process_client_error(struct eap_sm *sm,\n\t\t\t\t\t struct
      eap_aka_data *data,\n\t\t\t\t\t struct wpabuf *respData,\n\t\t\t\t\t struct
      eap_sim_attrs *attr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1290,1
    - Dst: eap_aka_state
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - sm
    - data
    - respData
    - attr
    argTypes:
    - struct eap_sm*
    - struct eap_aka_data*
    - struct wpabuf*
    - struct eap_sim_attrs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1292
      start: 1286
    functionDepth: 0
    functionLinenumber: 1286
    functionLinenumberEnd: 1292
    functionName: eap_aka_process_authentication_reject
    functionSourceFile: /src/hostap/src/eap_server/eap_server_aka.c
    functionUses: 0
    functionsReached:
    - eap_aka_state
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: "void eap_aka_process_authentication_reject(\n\tstruct eap_sm *sm,
      struct eap_aka_data *data,\n\tstruct wpabuf *respData, struct eap_sim_attrs
      *attr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1300,1
    - Dst: eap_aka_state
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1302,1
    - Dst: eap_aka_state
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - sm
    - data
    - respData
    - attr
    argTypes:
    - struct eap_sm*
    - struct eap_aka_data*
    - struct wpabuf*
    - struct eap_sim_attrs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1305
      start: 1295
    functionDepth: 0
    functionLinenumber: 1295
    functionLinenumberEnd: 1305
    functionName: eap_aka_process_notification
    functionSourceFile: /src/hostap/src/eap_server/eap_server_aka.c
    functionUses: 1
    functionsReached:
    - eap_aka_state
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: "void eap_aka_process_notification(struct eap_sm *sm,\n\t\t\t\t\t struct
      eap_aka_data *data,\n\t\t\t\t\t struct wpabuf *respData,\n\t\t\t\t\t struct
      eap_sim_attrs *attr)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1317,1
    - Dst: eap_aka_subtype_ok
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1326,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1327,1
    - Dst: eap_aka_state
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1330,1
    - Dst: eap_sim_parse_attr
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1334,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1337,1
    - Dst: eap_aka_state
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1339,1
    - Dst: eap_aka_process_client_error
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1344,1
    - Dst: eap_aka_process_authentication_reject
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1349,1
    - Dst: eap_aka_process_identity
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1356,1
    - Dst: eap_aka_process_sync_failure
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1360,1
    - Dst: eap_aka_process_challenge
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1363,1
    - Dst: eap_aka_process_reauth
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1367,1
    - Dst: eap_aka_process_notification
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1370,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1373,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 3
    argNames:
    - sm
    - priv
    - respData
    argTypes:
    - struct eap_sm*
    - void*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1377
      start: 1308
    functionDepth: 5
    functionLinenumber: 1308
    functionLinenumberEnd: 1377
    functionName: eap_aka_process
    functionSourceFile: /src/hostap/src/eap_server/eap_server_aka.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_aka_process_sync_failure
    - eap_aka_process_authentication_reject
    - eap_aka_process_notification
    - eap_aka_process_client_error
    - eap_aka_process_reauth
    - eap_sim_parse_attr
    - eap_hdr_validate
    - eap_aka_state
    - eap_aka_process_identity
    - eap_aka_process_challenge
    - eap_aka_subtype_ok
    linkageType: ''
    returnType: void
    signature: "void eap_aka_process(struct eap_sm *sm, void *priv,\n\t\t\t    struct
      wpabuf *respData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1384
      start: 1380
    functionDepth: 0
    functionLinenumber: 1380
    functionLinenumberEnd: 1384
    functionName: eap_aka_isDone
    functionSourceFile: /src/hostap/src/eap_server/eap_server_aka.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool eap_aka_isDone(struct eap_sm *sm, void *priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memdup
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1395,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1400
      start: 1387
    functionDepth: 0
    functionLinenumber: 1387
    functionLinenumberEnd: 1400
    functionName: eap_aka_getKey
    functionSourceFile: /src/hostap/src/eap_server/eap_server_aka.c
    functionUses: 0
    functionsReached:
    - os_memdup
    linkageType: ''
    returnType: u8
    signature: u8 * eap_aka_getKey(struct eap_sm *sm, void *priv, size_t *len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memdup
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1411,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1416
      start: 1403
    functionDepth: 0
    functionLinenumber: 1403
    functionLinenumberEnd: 1416
    functionName: eap_aka_get_emsk
    functionSourceFile: /src/hostap/src/eap_server/eap_server_aka.c
    functionUses: 0
    functionsReached:
    - os_memdup
    linkageType: ''
    returnType: u8
    signature: u8 * eap_aka_get_emsk(struct eap_sm *sm, void *priv, size_t *len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1423
      start: 1419
    functionDepth: 0
    functionLinenumber: 1419
    functionLinenumberEnd: 1423
    functionName: eap_aka_isSuccess
    functionSourceFile: /src/hostap/src/eap_server/eap_server_aka.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool eap_aka_isSuccess(struct eap_sm *sm, void *priv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1438,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1444,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1445,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1448,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1449,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1452,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1455
      start: 1426
    functionDepth: 0
    functionLinenumber: 1426
    functionLinenumberEnd: 1455
    functionName: eap_aka_get_session_id
    functionSourceFile: /src/hostap/src/eap_server/eap_server_aka.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - os_malloc
    - wpa_hexdump
    linkageType: ''
    returnType: u8
    signature: u8 * eap_aka_get_session_id(struct eap_sm *sm, void *priv, size_t *len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_server_method_alloc
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1462,1
    - Dst: eap_server_method_register
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1478,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1479
      start: 1458
    functionDepth: 2
    functionLinenumber: 1458
    functionLinenumberEnd: 1479
    functionName: eap_server_aka_register
    functionSourceFile: /src/hostap/src/eap_server/eap_server_aka.c
    functionUses: 2
    functionsReached:
    - eap_server_method_register
    - eap_server_method_alloc
    linkageType: ''
    returnType: int
    signature: int eap_server_aka_register(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_server_method_alloc
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1487,1
    - Dst: eap_server_method_register
      Src: /src/hostap/src/eap_server/eap_server_aka.c:1504,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1505
      start: 1483
    functionDepth: 2
    functionLinenumber: 1483
    functionLinenumberEnd: 1505
    functionName: eap_server_aka_prime_register
    functionSourceFile: /src/hostap/src/eap_server/eap_server_aka.c
    functionUses: 2
    functionsReached:
    - eap_server_method_register
    - eap_server_method_alloc
    linkageType: ''
    returnType: int
    signature: int eap_server_aka_prime_register(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_server/eap_server_identity.c:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 31
    functionName: eap_identity_init
    functionSourceFile: /src/hostap/src/eap_server/eap_server_identity.c
    functionUses: 0
    functionsReached:
    - os_zalloc
    linkageType: ''
    returnType: void
    signature: void * eap_identity_init(struct eap_sm *sm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_identity_init
      Src: /src/hostap/src/eap_server/eap_server_identity.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 42
    functionName: eap_identity_initPickUp
    functionSourceFile: /src/hostap/src/eap_server/eap_server_identity.c
    functionUses: 0
    functionsReached:
    - eap_identity_init
    linkageType: ''
    returnType: void
    signature: void * eap_identity_initPickUp(struct eap_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_identity.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: eap_identity_reset
    functionSourceFile: /src/hostap/src/eap_server/eap_server_identity.c
    functionUses: 0
    functionsReached:
    - os_free
    linkageType: ''
    returnType: void
    signature: void eap_identity_reset(struct eap_sm *sm, void *priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct eap_sm*::eapol_cb::get_eap_req_id_text
      Src: /src/hostap/src/eap_server/eap_server_identity.c:61,1
    - Dst: eap_msg_alloc
      Src: /src/hostap/src/eap_server/eap_server_identity.c:67,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_identity.c:70,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_server/eap_server_identity.c:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - sm
    - priv
    - id
    argTypes:
    - struct eap_sm*
    - void*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 79
    functionName: eap_identity_buildReq
    functionSourceFile: /src/hostap/src/eap_server/eap_server_identity.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_msg_alloc
    - struct eap_sm*::eapol_cb::get_eap_req_id_text
    - wpabuf_put_data
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_identity_buildReq(struct eap_sm *sm, void *priv,\n\t\t\t\t\t
      \    u8 id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_server/eap_server_identity.c:88,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_identity.c:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - sm
    - priv
    - respData
    argTypes:
    - struct eap_sm*
    - void*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 96
    functionName: eap_identity_check
    functionSourceFile: /src/hostap/src/eap_server/eap_server_identity.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_hdr_validate
    linkageType: ''
    returnType: bool
    signature: "bool eap_identity_check(struct eap_sm *sm, void *priv,\n\t\t\t       struct
      wpabuf *respData)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: eap_identity_check
      Src: /src/hostap/src/eap_server/eap_server_identity.c:108,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_identity.c:109,1
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_server/eap_server_identity.c:117,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_server/eap_server_identity.c:122,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_server/eap_server_identity.c:123,1
    - Dst: printf_encode
      Src: /src/hostap/src/eap_server/eap_server_identity.c:125,1
    - Dst: eap_log_msg
      Src: /src/hostap/src/eap_server/eap_server_identity.c:126,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_identity.c:127,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_identity.c:131,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_server/eap_server_identity.c:132,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_identity.c:136,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 3
    argNames:
    - sm
    - priv
    - respData
    argTypes:
    - struct eap_sm*
    - void*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 140
    functionName: eap_identity_process
    functionSourceFile: /src/hostap/src/eap_server/eap_server_identity.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - eap_log_msg
    - os_malloc
    - printf_encode
    - eap_hdr_validate
    - os_free
    - eap_identity_check
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: void
    signature: "void eap_identity_process(struct eap_sm *sm, void *priv,\n\t\t\t\t
      struct wpabuf *respData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 147
    functionName: eap_identity_isDone
    functionSourceFile: /src/hostap/src/eap_server/eap_server_identity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool eap_identity_isDone(struct eap_sm *sm, void *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: eap_identity_isSuccess
    functionSourceFile: /src/hostap/src/eap_server/eap_server_identity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool eap_identity_isSuccess(struct eap_sm *sm, void *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_server_method_alloc
      Src: /src/hostap/src/eap_server/eap_server_identity.c:161,1
    - Dst: eap_server_method_register
      Src: /src/hostap/src/eap_server/eap_server_identity.c:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 177
    functionName: eap_server_identity_register
    functionSourceFile: /src/hostap/src/eap_server/eap_server_identity.c
    functionUses: 2
    functionsReached:
    - eap_server_method_register
    - eap_server_method_alloc
    linkageType: ''
    returnType: int
    signature: int eap_server_identity_register(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - imvID
    argTypes:
    - TNC_IMVID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 118
    functionName: tncs_get_imv
    functionSourceFile: /src/hostap/src/eap_server/tncs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct tnc_if_imv
    signature: struct tnc_if_imv * tncs_get_imv(TNC_IMVID imvID)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/tncs.c:135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - connectionID
    argTypes:
    - TNC_ConnectionID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 139
    functionName: tncs_get_conn
    functionSourceFile: /src/hostap/src/eap_server/tncs.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: struct tncs_data
    signature: struct tncs_data * tncs_get_conn(TNC_ConnectionID connectionID)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/tncs.c:151,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/tncs.c:156,1
    - Dst: tncs_get_imv
      Src: /src/hostap/src/eap_server/tncs.c:160,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/tncs.c:163,1
    - Dst: os_memdup
      Src: /src/hostap/src/eap_server/tncs.c:164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - imvID
    - supportedTypes
    - typeCount
    argTypes:
    - TNC_IMVID
    - TNC_MessageTypeList
    - TNC_UInt32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 171
    functionName: TNC_TNCS_ReportMessageTypes
    functionSourceFile: /src/hostap/src/eap_server/tncs.c
    functionUses: 0
    functionsReached:
    - os_free
    - os_memdup
    - wpa_printf
    - tncs_get_imv
    linkageType: ''
    returnType: TNC_Result
    signature: "TNC_Result TNC_TNCS_ReportMessageTypes(\n\tTNC_IMVID imvID,\n\tTNC_MessageTypeList
      supportedTypes,\n\tTNC_UInt32 typeCount)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/tncs.c:185,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_server/tncs.c:188,1
    - Dst: tncs_get_imv
      Src: /src/hostap/src/eap_server/tncs.c:191,1
    - Dst: tncs_get_conn
      Src: /src/hostap/src/eap_server/tncs.c:194,1
    - Dst: base64_encode
      Src: /src/hostap/src/eap_server/tncs.c:198,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/tncs.c:202,1
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_server/tncs.c:204,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/tncs.c:206,1
    - Dst: os_snprintf
      Src: /src/hostap/src/eap_server/tncs.c:211,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/tncs.c:217,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 5
    argNames:
    - imvID
    - connectionID
    - message
    - messageLength
    - messageType
    argTypes:
    - TNC_IMVID
    - TNC_ConnectionID
    - TNC_BufferReference
    - TNC_UInt32
    - TNC_MessageType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 220
    functionName: TNC_TNCS_SendMessage
    functionSourceFile: /src/hostap/src/eap_server/tncs.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - tncs_get_conn
    - os_snprintf
    - os_zalloc
    - tncs_get_imv
    - os_free
    - base64_encode
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: TNC_Result
    signature: "TNC_Result TNC_TNCS_SendMessage(\n\tTNC_IMVID imvID,\n\tTNC_ConnectionID
      connectionID,\n\tTNC_BufferReference message,\n\tTNC_UInt32 messageLength,\n\tTNC_MessageType
      messageType)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/tncs.c:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - imvID
    - connectionID
    - reason
    argTypes:
    - TNC_IMVID
    - TNC_ConnectionID
    - TNC_RetryReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 231
    functionName: TNC_TNCS_RequestHandshakeRetry
    functionSourceFile: /src/hostap/src/eap_server/tncs.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: TNC_Result
    signature: "TNC_Result TNC_TNCS_RequestHandshakeRetry(\n\tTNC_IMVID imvID,\n\tTNC_ConnectionID
      connectionID,\n\tTNC_RetryReason reason)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/tncs.c:242,1
    - Dst: tncs_get_imv
      Src: /src/hostap/src/eap_server/tncs.c:247,1
    - Dst: tncs_get_conn
      Src: /src/hostap/src/eap_server/tncs.c:250,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - imvID
    - connectionID
    - recommendation
    - evaluation
    argTypes:
    - TNC_IMVID
    - TNC_ConnectionID
    - TNC_IMV_Action_Recommendation
    - TNC_IMV_Evaluation_Result
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 258
    functionName: TNC_TNCS_ProvideRecommendation
    functionSourceFile: /src/hostap/src/eap_server/tncs.c
    functionUses: 0
    functionsReached:
    - tncs_get_conn
    - wpa_printf
    - tncs_get_imv
    linkageType: ''
    returnType: TNC_Result
    signature: "TNC_Result TNC_TNCS_ProvideRecommendation(\n\tTNC_IMVID imvID,\n\tTNC_ConnectionID
      connectionID,\n\tTNC_IMV_Action_Recommendation recommendation,\n\tTNC_IMV_Evaluation_Result
      evaluation)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/tncs.c:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - imvID
    - connectionID
    - attribureID
    - bufferLength
    - buffer
    - pOutValueLength
    argTypes:
    - TNC_IMVID
    - TNC_ConnectionID
    - TNC_AttributeID
    - TNC_UInt32
    - TNC_BufferReference
    - TNC_UInt32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 272
    functionName: TNC_TNCS_GetAttribute
    functionSourceFile: /src/hostap/src/eap_server/tncs.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: TNC_Result
    signature: "TNC_Result TNC_TNCS_GetAttribute(\n\tTNC_IMVID imvID,\n\tTNC_ConnectionID
      connectionID,\n\tTNC_AttributeID attribureID,\n\tTNC_UInt32 bufferLength,\n\tTNC_BufferReference
      buffer,\n\tTNC_UInt32 *pOutValueLength)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/tncs.c:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - imvID
    - connectionID
    - attribureID
    - bufferLength
    - buffer
    argTypes:
    - TNC_IMVID
    - TNC_ConnectionID
    - TNC_AttributeID
    - TNC_UInt32
    - TNC_BufferReference
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 285
    functionName: TNC_TNCS_SetAttribute
    functionSourceFile: /src/hostap/src/eap_server/tncs.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: TNC_Result
    signature: "TNC_Result TNC_TNCS_SetAttribute(\n\tTNC_IMVID imvID,\n\tTNC_ConnectionID
      connectionID,\n\tTNC_AttributeID attribureID,\n\tTNC_UInt32 bufferLength,\n\tTNC_BufferReference
      buffer)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/tncs.c:293,1
    - Dst: tncs_get_imv
      Src: /src/hostap/src/eap_server/tncs.c:296,1
    - Dst: os_strcmp
      Src: /src/hostap/src/eap_server/tncs.c:302,1
    - Dst: os_strcmp
      Src: /src/hostap/src/eap_server/tncs.c:304,1
    - Dst: os_strcmp
      Src: /src/hostap/src/eap_server/tncs.c:306,1
    - Dst: os_strcmp
      Src: /src/hostap/src/eap_server/tncs.c:309,1
    - Dst: os_strcmp
      Src: /src/hostap/src/eap_server/tncs.c:312,1
    - Dst: os_strcmp
      Src: /src/hostap/src/eap_server/tncs.c:314,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 3
    argNames:
    - imvID
    - functionName
    - pOutFunctionPointer
    argTypes:
    - TNC_IMVID
    - char*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 320
    functionName: TNC_TNCS_BindFunction
    functionSourceFile: /src/hostap/src/eap_server/tncs.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_strcmp
    - tncs_get_imv
    linkageType: ''
    returnType: TNC_Result
    signature: "TNC_Result TNC_TNCS_BindFunction(\n\tTNC_IMVID imvID,\n\tchar *functionName,\n\tvoid
      **pOutFunctionPointer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dlsym
      Src: /src/hostap/src/eap_server/tncs.c:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - handle
    - func
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 330
    functionName: tncs_get_sym
    functionSourceFile: /src/hostap/src/eap_server/tncs.c
    functionUses: 0
    functionsReached:
    - dlsym
    linkageType: ''
    returnType: void
    signature: void * tncs_get_sym(void *handle, char *func)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tncs_get_sym
      Src: /src/hostap/src/eap_server/tncs.c:338,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/tncs.c:340,1
    - Dst: tncs_get_sym
      Src: /src/hostap/src/eap_server/tncs.c:345,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/tncs.c:348,1
    - Dst: tncs_get_sym
      Src: /src/hostap/src/eap_server/tncs.c:354,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/tncs.c:356,1
    - Dst: tncs_get_sym
      Src: /src/hostap/src/eap_server/tncs.c:363,1
    - Dst: tncs_get_sym
      Src: /src/hostap/src/eap_server/tncs.c:364,1
    - Dst: tncs_get_sym
      Src: /src/hostap/src/eap_server/tncs.c:365,1
    - Dst: tncs_get_sym
      Src: /src/hostap/src/eap_server/tncs.c:366,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - imv
    argTypes:
    - struct tnc_if_imv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 369
    functionName: tncs_imv_resolve_funcs
    functionSourceFile: /src/hostap/src/eap_server/tncs.c
    functionUses: 0
    functionsReached:
    - tncs_get_sym
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int tncs_imv_resolve_funcs(struct tnc_if_imv *imv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/tncs.c:377,1
    - Dst: struct tnc_if_imv*::Initialize
      Src: /src/hostap/src/eap_server/tncs.c:379,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/tncs.c:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - imv
    argTypes:
    - struct tnc_if_imv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 385
    functionName: tncs_imv_initialize
    functionSourceFile: /src/hostap/src/eap_server/tncs.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - struct tnc_if_imv*::Initialize
    linkageType: ''
    returnType: int
    signature: int tncs_imv_initialize(struct tnc_if_imv *imv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/tncs.c:395,1
    - Dst: struct tnc_if_imv*::Terminate
      Src: /src/hostap/src/eap_server/tncs.c:397,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/tncs.c:398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - imv
    argTypes:
    - struct tnc_if_imv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 402
    functionName: tncs_imv_terminate
    functionSourceFile: /src/hostap/src/eap_server/tncs.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - struct tnc_if_imv*::Terminate
    linkageType: ''
    returnType: int
    signature: int tncs_imv_terminate(struct tnc_if_imv *imv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/tncs.c:409,1
    - Dst: struct tnc_if_imv*::ProvideBindFunction
      Src: /src/hostap/src/eap_server/tncs.c:411,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/tncs.c:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - imv
    argTypes:
    - struct tnc_if_imv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 416
    functionName: tncs_imv_provide_bind_function
    functionSourceFile: /src/hostap/src/eap_server/tncs.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - struct tnc_if_imv*::ProvideBindFunction
    linkageType: ''
    returnType: int
    signature: int tncs_imv_provide_bind_function(struct tnc_if_imv *imv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/tncs.c:428,1
    - Dst: struct tnc_if_imv*::NotifyConnectionChange
      Src: /src/hostap/src/eap_server/tncs.c:430,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/tncs.c:431,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - imv
    - conn
    - state
    argTypes:
    - struct tnc_if_imv*
    - TNC_ConnectionID
    - TNC_ConnectionState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 435
    functionName: tncs_imv_notify_connection_change
    functionSourceFile: /src/hostap/src/eap_server/tncs.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - struct tnc_if_imv*::NotifyConnectionChange
    linkageType: ''
    returnType: int
    signature: "int tncs_imv_notify_connection_change(struct tnc_if_imv *imv,\n\t\t\t\t\t
      \    TNC_ConnectionID conn,\n\t\t\t\t\t     TNC_ConnectionState state)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/tncs.c:441,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/tncs.c:445,1
    - Dst: dlopen
      Src: /src/hostap/src/eap_server/tncs.c:447,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/tncs.c:449,1
    - Dst: dlerror
      Src: /src/hostap/src/eap_server/tncs.c:450,1
    - Dst: tncs_imv_resolve_funcs
      Src: /src/hostap/src/eap_server/tncs.c:454,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/tncs.c:455,1
    - Dst: tncs_imv_initialize
      Src: /src/hostap/src/eap_server/tncs.c:459,1
    - Dst: tncs_imv_provide_bind_function
      Src: /src/hostap/src/eap_server/tncs.c:460,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/tncs.c:461,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - imv
    argTypes:
    - struct tnc_if_imv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 438
    functionDepth: 2
    functionLinenumber: 438
    functionLinenumberEnd: 466
    functionName: tncs_load_imv
    functionSourceFile: /src/hostap/src/eap_server/tncs.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dlerror
    - tncs_imv_initialize
    - tncs_imv_provide_bind_function
    - tncs_imv_resolve_funcs
    - dlopen
    linkageType: ''
    returnType: int
    signature: int tncs_load_imv(struct tnc_if_imv *imv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/eap_server/tncs.c:471,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/tncs.c:472,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/tncs.c:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - imv
    argTypes:
    - struct tnc_if_imv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 474
    functionName: tncs_free_imv
    functionSourceFile: /src/hostap/src/eap_server/tncs.c
    functionUses: 0
    functionsReached:
    - os_free
    linkageType: ''
    returnType: void
    signature: void tncs_free_imv(struct tnc_if_imv *imv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tncs_imv_terminate
      Src: /src/hostap/src/eap_server/tncs.c:478,1
    - Dst: dlclose
      Src: /src/hostap/src/eap_server/tncs.c:481,1
    - Dst: tncs_free_imv
      Src: /src/hostap/src/eap_server/tncs.c:483,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - imv
    argTypes:
    - struct tnc_if_imv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 476
    functionDepth: 1
    functionLinenumber: 476
    functionLinenumberEnd: 484
    functionName: tncs_unload_imv
    functionSourceFile: /src/hostap/src/eap_server/tncs.c
    functionUses: 0
    functionsReached:
    - tncs_imv_terminate
    - dlclose
    - tncs_free_imv
    linkageType: ''
    returnType: void
    signature: void tncs_unload_imv(struct tnc_if_imv *imv)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - imv
    - type
    argTypes:
    - struct tnc_if_imv*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 508
    functionName: tncs_supported_type
    functionSourceFile: /src/hostap/src/eap_server/tncs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tncs_supported_type(struct tnc_if_imv *imv, unsigned int type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_server/tncs.c:517,1
    - Dst: tncs_supported_type
      Src: /src/hostap/src/eap_server/tncs.c:521,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/tncs.c:524,1
    - Dst: struct tnc_if_imv*::ReceiveMessage
      Src: /src/hostap/src/eap_server/tncs.c:526,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/tncs.c:529,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - tncs
    - type
    - msg
    - len
    argTypes:
    - struct tncs_data*
    - unsigned int
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 511
    functionDepth: 1
    functionLinenumber: 511
    functionLinenumberEnd: 532
    functionName: tncs_send_to_imvs
    functionSourceFile: /src/hostap/src/eap_server/tncs.c
    functionUses: 0
    functionsReached:
    - struct tnc_if_imv*::ReceiveMessage
    - wpa_printf
    - tncs_supported_type
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: void
    signature: "void tncs_send_to_imvs(struct tncs_data *tncs, unsigned int type,\n\t\t\t
      \     const u8 *msg, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/tncs.c:544,1
    - Dst: struct tnc_if_imv*::BatchEnding
      Src: /src/hostap/src/eap_server/tncs.c:546,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/tncs.c:547,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - tncs
    argTypes:
    - struct tncs_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 550
    functionName: tncs_batch_ending
    functionSourceFile: /src/hostap/src/eap_server/tncs.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - struct tnc_if_imv*::BatchEnding
    linkageType: ''
    returnType: void
    signature: void tncs_batch_ending(struct tncs_data *tncs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/tncs.c:562,1
    - Dst: struct tnc_if_imv*::SolicitRecommendation
      Src: /src/hostap/src/eap_server/tncs.c:564,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/tncs.c:566,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - tncs
    argTypes:
    - struct tncs_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 569
    functionName: tncs_solicit_recommendation
    functionSourceFile: /src/hostap/src/eap_server/tncs.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - struct tnc_if_imv*::SolicitRecommendation
    linkageType: ''
    returnType: void
    signature: void tncs_solicit_recommendation(struct tncs_data *tncs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tncs_imv_notify_connection_change
      Src: /src/hostap/src/eap_server/tncs.c:578,1
    - Dst: tncs_imv_notify_connection_change
      Src: /src/hostap/src/eap_server/tncs.c:580,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/tncs.c:586,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - tncs
    argTypes:
    - struct tncs_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 572
    functionDepth: 1
    functionLinenumber: 572
    functionLinenumberEnd: 590
    functionName: tncs_init_connection
    functionSourceFile: /src/hostap/src/eap_server/tncs.c
    functionUses: 1
    functionsReached:
    - os_free
    - tncs_imv_notify_connection_change
    linkageType: ''
    returnType: void
    signature: void tncs_init_connection(struct tncs_data *tncs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/eap_server/tncs.c:601,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - tncs
    argTypes:
    - struct tncs_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 603
    functionName: tncs_total_send_len
    functionSourceFile: /src/hostap/src/eap_server/tncs.c
    functionUses: 1
    functionsReached:
    - os_strlen
    linkageType: ''
    returnType: size_t
    signature: size_t tncs_total_send_len(struct tncs_data *tncs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/tncs.c:614,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/tncs.c:617,1
    - Dst: os_strlen
      Src: /src/hostap/src/eap_server/tncs.c:623,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/tncs.c:624,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/tncs.c:626,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - tncs
    - pos
    argTypes:
    - struct tncs_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 631
    functionName: tncs_copy_send_buf
    functionSourceFile: /src/hostap/src/eap_server/tncs.c
    functionUses: 1
    functionsReached:
    - os_free
    - os_memcpy
    - os_strlen
    linkageType: ''
    returnType: u8
    signature: u8 * tncs_copy_send_buf(struct tncs_data *tncs, u8 *pos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/eap_server/tncs.c:636,1
    - Dst: os_snprintf
      Src: /src/hostap/src/eap_server/tncs.c:640,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - tncs
    argTypes:
    - struct tncs_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 642
    functionName: tncs_if_tnccs_start
    functionSourceFile: /src/hostap/src/eap_server/tncs.c
    functionUses: 1
    functionsReached:
    - os_snprintf
    - os_malloc
    linkageType: ''
    returnType: char
    signature: char * tncs_if_tnccs_start(struct tncs_data *tncs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/eap_server/tncs.c:647,1
    - Dst: os_snprintf
      Src: /src/hostap/src/eap_server/tncs.c:650,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 652
    functionName: tncs_if_tnccs_end
    functionSourceFile: /src/hostap/src/eap_server/tncs.c
    functionUses: 1
    functionsReached:
    - os_snprintf
    - os_malloc
    linkageType: ''
    returnType: char
    signature: char * tncs_if_tnccs_end(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_strstr
      Src: /src/hostap/src/eap_server/tncs.c:657,1
    - Dst: strtoul
      Src: /src/hostap/src/eap_server/tncs.c:661,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - start
    - type
    argTypes:
    - char*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 663
    functionName: tncs_get_type
    functionSourceFile: /src/hostap/src/eap_server/tncs.c
    functionUses: 0
    functionsReached:
    - os_strstr
    - strtoul
    linkageType: ''
    returnType: int
    signature: int tncs_get_type(char *start, unsigned int *type)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_strstr
      Src: /src/hostap/src/eap_server/tncs.c:671,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_server/tncs.c:676,1
    - Dst: base64_decode
      Src: /src/hostap/src/eap_server/tncs.c:681,1
    - Dst: os_strlen
      Src: /src/hostap/src/eap_server/tncs.c:681,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/tncs.c:684,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - start
    - decoded_len
    argTypes:
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 666
    functionDepth: 1
    functionLinenumber: 666
    functionLinenumberEnd: 688
    functionName: tncs_get_base64
    functionSourceFile: /src/hostap/src/eap_server/tncs.c
    functionUses: 0
    functionsReached:
    - os_strstr
    - base64_decode
    - os_strlen
    - wpa_printf
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char * tncs_get_base64(char *start, size_t *decoded_len)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/tncs.c:698,1
    - Dst: tncs_solicit_recommendation
      Src: /src/hostap/src/eap_server/tncs.c:703,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/tncs.c:720,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/tncs.c:745,1
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_server/tncs.c:746,1
    - Dst: os_snprintf
      Src: /src/hostap/src/eap_server/tncs.c:748,1
    - Dst: tncs_imv_notify_connection_change
      Src: /src/hostap/src/eap_server/tncs.c:758,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 59
    argCount: 1
    argNames:
    - tncs
    argTypes:
    - struct tncs_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 691
    functionDepth: 1
    functionLinenumber: 691
    functionLinenumberEnd: 774
    functionName: tncs_derive_recommendation
    functionSourceFile: /src/hostap/src/eap_server/tncs.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_snprintf
    - os_zalloc
    - os_free
    - tncs_imv_notify_connection_change
    - tncs_solicit_recommendation
    linkageType: ''
    returnType: enum tncs_process_res
    signature: enum tncs_process_res tncs_derive_recommendation(struct tncs_data *tncs)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: dup_binstr
      Src: /src/hostap/src/eap_server/tncs.c:785,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_server/tncs.c:789,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_server/tncs.c:790,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/tncs.c:792,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_server/tncs.c:801,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/tncs.c:803,1
    - Dst: atoi
      Src: /src/hostap/src/eap_server/tncs.c:810,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/tncs.c:811,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/tncs.c:814,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/tncs.c:817,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/tncs.c:825,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_server/tncs.c:842,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_server/tncs.c:846,1
    - Dst: tncs_get_type
      Src: /src/hostap/src/eap_server/tncs.c:853,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/tncs.c:858,1
    - Dst: tncs_get_base64
      Src: /src/hostap/src/eap_server/tncs.c:860,1
    - Dst: tncs_send_to_imvs
      Src: /src/hostap/src/eap_server/tncs.c:867,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/tncs.c:869,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_server/tncs.c:887,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_server/tncs.c:891,1
    - Dst: tncs_get_type
      Src: /src/hostap/src/eap_server/tncs.c:898,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/tncs.c:903,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_server/tncs.c:910,1
    - Dst: os_strstr
      Src: /src/hostap/src/eap_server/tncs.c:913,1
    - Dst: tncs_get_base64
      Src: /src/hostap/src/eap_server/tncs.c:922,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_server/tncs.c:931,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/tncs.c:934,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_server/tncs.c:938,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/tncs.c:947,1
    - Dst: tncs_batch_ending
      Src: /src/hostap/src/eap_server/tncs.c:949,1
    - Dst: tncs_total_send_len
      Src: /src/hostap/src/eap_server/tncs.c:951,1
    - Dst: tncs_derive_recommendation
      Src: /src/hostap/src/eap_server/tncs.c:952,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 119
    argCount: 3
    argNames:
    - tncs
    - msg
    - len
    argTypes:
    - struct tncs_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 777
    functionDepth: 2
    functionLinenumber: 777
    functionLinenumberEnd: 955
    functionName: tncs_process_if_tnccs
    functionSourceFile: /src/hostap/src/eap_server/tncs.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - tncs_derive_recommendation
    - tncs_get_type
    - tncs_get_base64
    - os_strstr
    - tncs_send_to_imvs
    - tncs_total_send_len
    - atoi
    - os_free
    - tncs_batch_ending
    - wpa_hexdump_ascii
    - dup_binstr
    linkageType: ''
    returnType: enum tncs_process_res
    signature: "enum tncs_process_res tncs_process_if_tnccs(struct tncs_data *tncs,\n\t\t\t\t\t
      \   const u8 *msg, size_t len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/tncs.c:965,1
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_server/tncs.c:969,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/tncs.c:978,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/tncs.c:980,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/tncs.c:982,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/tncs.c:991,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/tncs.c:993,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/tncs.c:997,1
    - Dst: os_strdup
      Src: /src/hostap/src/eap_server/tncs.c:998,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/tncs.c:1002,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/tncs.c:1004,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/tncs.c:1009,1
    - Dst: os_strdup
      Src: /src/hostap/src/eap_server/tncs.c:1010,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 4
    argNames:
    - id
    - start
    - end
    - error
    argTypes:
    - int
    - char*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1013
      start: 958
    functionDepth: 0
    functionLinenumber: 958
    functionLinenumberEnd: 1013
    functionName: tncs_parse_imv
    functionSourceFile: /src/hostap/src/eap_server/tncs.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpa_printf
    - os_strdup
    - os_zalloc
    linkageType: ''
    returnType: struct tnc_if_imv
    signature: "struct tnc_if_imv * tncs_parse_imv(int id, char *start, char *end,\n\t\t\t\t\t
      \ int *error)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_readfile
      Src: /src/hostap/src/eap_server/tncs.c:1025,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/tncs.c:1027,1
    - Dst: os_strncmp
      Src: /src/hostap/src/eap_server/tncs.c:1040,1
    - Dst: tncs_parse_imv
      Src: /src/hostap/src/eap_server/tncs.c:1043,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/tncs.c:1056,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 1
    argNames:
    - global
    argTypes:
    - struct tncs_global*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1016
    functionDepth: 1
    functionLinenumber: 1016
    functionLinenumberEnd: 1059
    functionName: tncs_read_config
    functionSourceFile: /src/hostap/src/eap_server/tncs.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_strncmp
    - tncs_parse_imv
    - os_readfile
    - os_free
    linkageType: ''
    returnType: int
    signature: int tncs_read_config(struct tncs_global *global)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_server/tncs.c:1069,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1078
      start: 1062
    functionDepth: 0
    functionLinenumber: 1062
    functionLinenumberEnd: 1078
    functionName: tncs_init
    functionSourceFile: /src/hostap/src/eap_server/tncs.c
    functionUses: 1
    functionsReached:
    - os_zalloc
    linkageType: ''
    returnType: struct tncs_data
    signature: struct tncs_data * tncs_init(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/eap_server/tncs.c:1090,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/tncs.c:1106,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/tncs.c:1107,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - tncs
    argTypes:
    - struct tncs_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1081
    functionDepth: 0
    functionLinenumber: 1081
    functionLinenumberEnd: 1108
    functionName: tncs_deinit
    functionSourceFile: /src/hostap/src/eap_server/tncs.c
    functionUses: 1
    functionsReached:
    - os_free
    linkageType: ''
    returnType: void
    signature: void tncs_deinit(struct tncs_data *tncs)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_server/tncs.c:1118,1
    - Dst: tncs_read_config
      Src: /src/hostap/src/eap_server/tncs.c:1122,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/tncs.c:1123,1
    - Dst: tncs_load_imv
      Src: /src/hostap/src/eap_server/tncs.c:1128,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/tncs.c:1129,1
    - Dst: tncs_global_deinit
      Src: /src/hostap/src/eap_server/tncs.c:1138,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1140
      start: 1111
    functionDepth: 3
    functionLinenumber: 1111
    functionLinenumberEnd: 1140
    functionName: tncs_global_init
    functionSourceFile: /src/hostap/src/eap_server/tncs.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - tncs_global_deinit
    - tncs_load_imv
    - tncs_read_config
    - os_zalloc
    linkageType: ''
    returnType: int
    signature: int tncs_global_init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tncs_unload_imv
      Src: /src/hostap/src/eap_server/tncs.c:1152,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/tncs.c:1156,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/tncs.c:1159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1161
      start: 1143
    functionDepth: 2
    functionLinenumber: 1143
    functionLinenumberEnd: 1161
    functionName: tncs_global_deinit
    functionSourceFile: /src/hostap/src/eap_server/tncs.c
    functionUses: 2
    functionsReached:
    - os_free
    - tncs_unload_imv
    linkageType: ''
    returnType: void
    signature: void tncs_global_deinit(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eap_server/tncs.c:1173,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/eap_server/tncs.c:1178,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/eap_server/tncs.c:1179,1
    - Dst: wpabuf_put_be32
      Src: /src/hostap/src/eap_server/tncs.c:1181,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/eap_server/tncs.c:1183,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/eap_server/tncs.c:1184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1187
      start: 1164
    functionDepth: 1
    functionLinenumber: 1164
    functionLinenumberEnd: 1187
    functionName: tncs_build_soh_request
    functionSourceFile: /src/hostap/src/eap_server/tncs.c
    functionUses: 1
    functionsReached:
    - wpabuf_alloc
    - wpabuf_put_be16
    - wpabuf_put_be32
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * tncs_build_soh_request(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/tncs.c:1193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - soh_tlv
    - soh_tlv_len
    - failure
    argTypes:
    - u8*
    - size_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1199
      start: 1190
    functionDepth: 0
    functionLinenumber: 1190
    functionLinenumberEnd: 1199
    functionName: tncs_process_soh
    functionSourceFile: /src/hostap/src/eap_server/tncs.c
    functionUses: 1
    functionsReached:
    - wpa_hexdump
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * tncs_process_soh(const u8 *soh_tlv, size_t soh_tlv_len,\n\t\t\t\t
      int *failure)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_server/eap_server_psk.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 43
    functionName: eap_psk_init
    functionSourceFile: /src/hostap/src/eap_server/eap_server_psk.c
    functionUses: 0
    functionsReached:
    - os_zalloc
    linkageType: ''
    returnType: void
    signature: void * eap_psk_init(struct eap_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_psk.c:49,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/eap_server/eap_server_psk.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: eap_psk_reset
    functionSourceFile: /src/hostap/src/eap_server/eap_server_psk.c
    functionUses: 0
    functionsReached:
    - os_free
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: void eap_psk_reset(struct eap_sm *sm, void *priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_psk.c:60,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/eap_server/eap_server_psk.c:62,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_psk.c:63,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_psk.c:67,1
    - Dst: eap_msg_alloc
      Src: /src/hostap/src/eap_server/eap_server_psk.c:70,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_psk.c:74,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_server/eap_server_psk.c:80,1
    - Dst: EAP_PSK_FLAGS_SET_T
      Src: /src/hostap/src/eap_server/eap_server_psk.c:81,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_psk.c:82,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_server/eap_server_psk.c:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - sm
    - data
    - id
    argTypes:
    - struct eap_sm*
    - struct eap_psk_data*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 86
    functionName: eap_psk_build_1
    functionSourceFile: /src/hostap/src/eap_server/eap_server_psk.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put
    - random_get_bytes
    - os_memcpy
    - wpa_hexdump
    - wpabuf_put_data
    - eap_msg_alloc
    - EAP_PSK_FLAGS_SET_T
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_psk_build_1(struct eap_sm *sm,\n\t\t\t\t       struct
      eap_psk_data *data, u8 id)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_psk.c:97,1
    - Dst: eap_msg_alloc
      Src: /src/hostap/src/eap_server/eap_server_psk.c:99,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_psk.c:102,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_server/eap_server_psk.c:108,1
    - Dst: EAP_PSK_FLAGS_SET_T
      Src: /src/hostap/src/eap_server/eap_server_psk.c:109,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_psk.c:110,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_server/eap_server_psk.c:114,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_psk.c:118,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_psk.c:119,1
    - Dst: omac1_aes_128
      Src: /src/hostap/src/eap_server/eap_server_psk.c:120,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_psk.c:121,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_psk.c:124,1
    - Dst: eap_psk_derive_keys
      Src: /src/hostap/src/eap_server/eap_server_psk.c:126,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_server/eap_server_psk.c:129,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_server/eap_server_psk.c:130,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_server/eap_server_psk.c:131,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_server/eap_server_psk.c:133,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_server/eap_server_psk.c:134,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_psk.c:135,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_server/eap_server_psk.c:136,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_psk.c:138,1
    - Dst: aes_128_eax_encrypt
      Src: /src/hostap/src/eap_server/eap_server_psk.c:140,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_server/eap_server_psk.c:141,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_psk.c:144,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/eap_server_psk.c:150,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 46
    argCount: 3
    argNames:
    - sm
    - data
    - id
    argTypes:
    - struct eap_sm*
    - struct eap_psk_data*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 153
    functionName: eap_psk_build_3
    functionSourceFile: /src/hostap/src/eap_server/eap_server_psk.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpabuf_put
    - wpa_hexdump_key
    - wpa_hexdump
    - aes_128_eax_encrypt
    - eap_msg_alloc
    - os_malloc
    - wpabuf_free
    - wpabuf_head
    - EAP_PSK_FLAGS_SET_T
    - omac1_aes_128
    - os_free
    - eap_psk_derive_keys
    - os_memset
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_psk_build_3(struct eap_sm *sm,\n\t\t\t\t       struct
      eap_psk_data *data, u8 id)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: eap_psk_build_1
      Src: /src/hostap/src/eap_server/eap_server_psk.c:162,1
    - Dst: eap_psk_build_3
      Src: /src/hostap/src/eap_server/eap_server_psk.c:164,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_psk.c:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - sm
    - priv
    - id
    argTypes:
    - struct eap_sm*
    - void*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 156
    functionDepth: 3
    functionLinenumber: 156
    functionLinenumberEnd: 171
    functionName: eap_psk_buildReq
    functionSourceFile: /src/hostap/src/eap_server/eap_server_psk.c
    functionUses: 0
    functionsReached:
    - eap_psk_build_1
    - wpa_printf
    - eap_psk_build_3
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * eap_psk_buildReq(struct eap_sm *sm, void *priv, u8
      id)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_server/eap_server_psk.c:182,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_psk.c:184,1
    - Dst: EAP_PSK_FLAGS_GET_T
      Src: /src/hostap/src/eap_server/eap_server_psk.c:187,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_psk.c:189,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_psk.c:192,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_psk.c:198,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_psk.c:205,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 3
    argNames:
    - sm
    - priv
    - respData
    argTypes:
    - struct eap_sm*
    - void*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 210
    functionName: eap_psk_check
    functionSourceFile: /src/hostap/src/eap_server/eap_server_psk.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - EAP_PSK_FLAGS_GET_T
    - eap_hdr_validate
    linkageType: ''
    returnType: bool
    signature: "bool eap_psk_check(struct eap_sm *sm, void *priv,\n\t\t\t  struct
      wpabuf *respData)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_psk.c:226,1
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_server/eap_server_psk.c:228,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_psk.c:231,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_psk.c:238,1
    - Dst: os_memdup
      Src: /src/hostap/src/eap_server/eap_server_psk.c:239,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_psk.c:241,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_server/eap_server_psk.c:246,1
    - Dst: eap_user_get
      Src: /src/hostap/src/eap_server/eap_server_psk.c:249,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_server/eap_server_psk.c:250,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_server/eap_server_psk.c:269,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_server/eap_server_psk.c:278,1
    - Dst: eap_psk_key_setup
      Src: /src/hostap/src/eap_server/eap_server_psk.c:284,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_server/eap_server_psk.c:288,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_server/eap_server_psk.c:289,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_psk.c:291,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_psk.c:293,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_server/eap_server_psk.c:297,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_psk.c:302,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_psk.c:304,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_psk.c:306,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_psk.c:308,1
    - Dst: omac1_aes_128
      Src: /src/hostap/src/eap_server/eap_server_psk.c:309,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_psk.c:310,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_psk.c:314,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_psk.c:315,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/eap_server/eap_server_psk.c:316,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_psk.c:317,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_psk.c:318,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 74
    argCount: 3
    argNames:
    - sm
    - data
    - respData
    argTypes:
    - struct eap_sm*
    - struct eap_psk_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 325
    functionName: eap_psk_process_2
    functionSourceFile: /src/hostap/src/eap_server/eap_server_psk.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump_key
    - os_memcpy
    - wpa_hexdump
    - os_memdup
    - os_malloc
    - os_memcmp_const
    - eap_psk_key_setup
    - eap_user_get
    - omac1_aes_128
    - eap_hdr_validate
    - os_free
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: void
    signature: "void eap_psk_process_2(struct eap_sm *sm,\n\t\t\t      struct eap_psk_data
      *data,\n\t\t\t      struct wpabuf *respData)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_psk.c:340,1
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_server/eap_server_psk.c:342,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_psk.c:344,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_psk.c:351,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_psk.c:354,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_psk.c:361,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_server/eap_server_psk.c:365,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_psk.c:366,1
    - Dst: os_memdup
      Src: /src/hostap/src/eap_server/eap_server_psk.c:373,1
    - Dst: aes_128_eax_decrypt
      Src: /src/hostap/src/eap_server/eap_server_psk.c:377,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_server/eap_server_psk.c:378,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_psk.c:380,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_psk.c:381,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_psk.c:385,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_psk.c:391,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_psk.c:395,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_psk.c:399,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_psk.c:403,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 53
    argCount: 3
    argNames:
    - sm
    - data
    - respData
    argTypes:
    - struct eap_sm*
    - struct eap_psk_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 328
    functionDepth: 2
    functionLinenumber: 328
    functionLinenumberEnd: 404
    functionName: eap_psk_process_4
    functionSourceFile: /src/hostap/src/eap_server/eap_server_psk.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_hexdump
    - aes_128_eax_decrypt
    - os_memdup
    - wpabuf_head
    - eap_hdr_validate
    - os_free
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void eap_psk_process_4(struct eap_sm *sm,\n\t\t\t      struct eap_psk_data
      *data,\n\t\t\t      struct wpabuf *respData)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_psk.c:415,1
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_server/eap_server_psk.c:421,1
    - Dst: EAP_PSK_FLAGS_GET_T
      Src: /src/hostap/src/eap_server/eap_server_psk.c:425,1
    - Dst: eap_psk_process_2
      Src: /src/hostap/src/eap_server/eap_server_psk.c:427,1
    - Dst: eap_psk_process_4
      Src: /src/hostap/src/eap_server/eap_server_psk.c:430,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - sm
    - priv
    - respData
    argTypes:
    - struct eap_sm*
    - void*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 407
    functionDepth: 3
    functionLinenumber: 407
    functionLinenumberEnd: 433
    functionName: eap_psk_process
    functionSourceFile: /src/hostap/src/eap_server/eap_server_psk.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_psk_process_4
    - eap_psk_process_2
    - EAP_PSK_FLAGS_GET_T
    - eap_hdr_validate
    linkageType: ''
    returnType: void
    signature: "void eap_psk_process(struct eap_sm *sm, void *priv,\n\t\t\t    struct
      wpabuf *respData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 440
    functionName: eap_psk_isDone
    functionSourceFile: /src/hostap/src/eap_server/eap_server_psk.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool eap_psk_isDone(struct eap_sm *sm, void *priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memdup
      Src: /src/hostap/src/eap_server/eap_server_psk.c:451,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 457
    functionName: eap_psk_getKey
    functionSourceFile: /src/hostap/src/eap_server/eap_server_psk.c
    functionUses: 0
    functionsReached:
    - os_memdup
    linkageType: ''
    returnType: u8
    signature: u8 * eap_psk_getKey(struct eap_sm *sm, void *priv, size_t *len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memdup
      Src: /src/hostap/src/eap_server/eap_server_psk.c:468,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 474
    functionName: eap_psk_get_emsk
    functionSourceFile: /src/hostap/src/eap_server/eap_server_psk.c
    functionUses: 0
    functionsReached:
    - os_memdup
    linkageType: ''
    returnType: u8
    signature: u8 * eap_psk_get_emsk(struct eap_sm *sm, void *priv, size_t *len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 481
    functionName: eap_psk_isSuccess
    functionSourceFile: /src/hostap/src/eap_server/eap_server_psk.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool eap_psk_isSuccess(struct eap_sm *sm, void *priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/eap_server/eap_server_psk.c:493,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_psk.c:498,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/eap_server_psk.c:499,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/eap_server_psk.c:500,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - sm
    - priv
    - len
    argTypes:
    - struct eap_sm*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 503
    functionName: eap_psk_get_session_id
    functionSourceFile: /src/hostap/src/eap_server/eap_server_psk.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - os_malloc
    - wpa_hexdump
    linkageType: ''
    returnType: u8
    signature: u8 * eap_psk_get_session_id(struct eap_sm *sm, void *priv, size_t *len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_server_method_alloc
      Src: /src/hostap/src/eap_server/eap_server_psk.c:510,1
    - Dst: eap_server_method_register
      Src: /src/hostap/src/eap_server/eap_server_psk.c:526,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 506
    functionDepth: 2
    functionLinenumber: 506
    functionLinenumberEnd: 527
    functionName: eap_server_psk_register
    functionSourceFile: /src/hostap/src/eap_server/eap_server_psk.c
    functionUses: 2
    functionsReached:
    - eap_server_method_register
    - eap_server_method_alloc
    linkageType: ''
    returnType: int
    signature: int eap_server_psk_register(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ikev2_free_keys
      Src: /src/hostap/src/eap_server/ikev2.c:23,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/ikev2.c:24,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/ikev2.c:25,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/ikev2.c:26,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/ikev2.c:27,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/ikev2.c:28,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/ikev2.c:29,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/ikev2.c:30,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/ikev2.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct ikev2_initiator_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 32
    functionName: ikev2_initiator_deinit
    functionSourceFile: /src/hostap/src/eap_server/ikev2.c
    functionUses: 2
    functionsReached:
    - wpabuf_free
    - os_free
    - ikev2_free_keys
    linkageType: ''
    returnType: void
    signature: void ikev2_initiator_deinit(struct ikev2_initiator_data *data)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ikev2_get_integ
      Src: /src/hostap/src/eap_server/ikev2.c:49,1
    - Dst: ikev2_get_prf
      Src: /src/hostap/src/eap_server/ikev2.c:50,1
    - Dst: ikev2_get_encr
      Src: /src/hostap/src/eap_server/ikev2.c:51,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:53,1
    - Dst: dh_derive_shared
      Src: /src/hostap/src/eap_server/ikev2.c:57,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_server/ikev2.c:65,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/ikev2.c:67,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/ikev2.c:72,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/ikev2.c:74,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/ikev2.c:76,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/ikev2.c:78,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/ikev2.c:83,1
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_server/ikev2.c:84,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/ikev2.c:86,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/ikev2.c:87,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_server/ikev2.c:92,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/ikev2.c:93,1
    - Dst: ikev2_prf_hash
      Src: /src/hostap/src/eap_server/ikev2.c:94,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/ikev2.c:96,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/ikev2.c:97,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/ikev2.c:98,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/ikev2.c:101,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/ikev2.c:102,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/ikev2.c:105,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/ikev2.c:107,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_server/ikev2.c:110,1
    - Dst: ikev2_derive_sk_keys
      Src: /src/hostap/src/eap_server/ikev2.c:113,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/ikev2.c:115,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 52
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct ikev2_initiator_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 117
    functionName: ikev2_derive_keys
    functionSourceFile: /src/hostap/src/eap_server/ikev2.c
    functionUses: 1
    functionsReached:
    - ikev2_get_prf
    - wpa_printf
    - os_memcpy
    - ikev2_get_integ
    - wpa_hexdump_key
    - wpabuf_len
    - ikev2_prf_hash
    - wpabuf_free
    - os_malloc
    - ikev2_get_encr
    - ikev2_derive_sk_keys
    - dh_derive_shared
    - wpabuf_head
    - os_zalloc
    - os_free
    linkageType: ''
    returnType: int
    signature: int ikev2_derive_keys(struct ikev2_initiator_data *data)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:130,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_server/ikev2.c:135,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:137,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_server/ikev2.c:143,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:145,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:146,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:151,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/ikev2.c:157,1
    - Dst: ikev2_get_encr
      Src: /src/hostap/src/eap_server/ikev2.c:163,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:167,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_server/ikev2.c:171,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:172,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_server/ikev2.c:177,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:178,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_server/ikev2.c:181,1
    - Dst: ikev2_get_prf
      Src: /src/hostap/src/eap_server/ikev2.c:189,1
    - Dst: ikev2_get_integ
      Src: /src/hostap/src/eap_server/ikev2.c:194,1
    - Dst: dh_groups_get
      Src: /src/hostap/src/eap_server/ikev2.c:199,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 57
    argCount: 4
    argNames:
    - data
    - prop
    - pos
    - end
    argTypes:
    - struct ikev2_initiator_data*
    - struct ikev2_proposal_data*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 206
    functionName: ikev2_parse_transform
    functionSourceFile: /src/hostap/src/eap_server/ikev2.c
    functionUses: 1
    functionsReached:
    - ikev2_get_prf
    - dh_groups_get
    - wpa_printf
    - WPA_GET_BE16
    - ikev2_get_integ
    - wpa_hexdump
    - ikev2_get_encr
    linkageType: ''
    returnType: int
    signature: "int ikev2_parse_transform(struct ikev2_initiator_data *data,\n\t\t\t\t
      struct ikev2_proposal_data *prop,\n\t\t\t\t const u8 *pos, const u8 *end)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:218,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_server/ikev2.c:223,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:225,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:229,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:231,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:234,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:238,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:243,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:252,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:260,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/ikev2.c:265,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:276,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:281,1
    - Dst: ikev2_parse_transform
      Src: /src/hostap/src/eap_server/ikev2.c:286,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:293,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 57
    argCount: 4
    argNames:
    - data
    - prop
    - pos
    - end
    argTypes:
    - struct ikev2_initiator_data*
    - struct ikev2_proposal_data*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 299
    functionName: ikev2_parse_proposal
    functionSourceFile: /src/hostap/src/eap_server/ikev2.c
    functionUses: 1
    functionsReached:
    - ikev2_parse_transform
    - wpa_printf
    - WPA_GET_BE16
    - wpa_hexdump
    linkageType: ''
    returnType: int
    signature: "int ikev2_parse_proposal(struct ikev2_initiator_data *data,\n\t\t\t\tstruct
      ikev2_proposal_data *prop,\n\t\t\t\tconst u8 *pos, const u8 *end)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:312,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_server/ikev2.c:316,1
    - Dst: ikev2_parse_proposal
      Src: /src/hostap/src/eap_server/ikev2.c:329,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:345,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:350,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:354,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 3
    argNames:
    - data
    - sar1
    - sar1_len
    argTypes:
    - struct ikev2_initiator_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 360
    functionName: ikev2_process_sar1
    functionSourceFile: /src/hostap/src/eap_server/ikev2.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - ikev2_parse_proposal
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int ikev2_process_sar1(struct ikev2_initiator_data *data,\n\t\t\t
      \     const u8 *sar1, size_t sar1_len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:376,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:381,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_server/ikev2.c:385,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:386,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:389,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:396,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:405,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/ikev2.c:411,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/eap_server/ikev2.c:412,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/eap_server/ikev2.c:416,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 3
    argNames:
    - data
    - ker
    - ker_len
    argTypes:
    - struct ikev2_initiator_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 420
    functionName: ikev2_process_ker
    functionSourceFile: /src/hostap/src/eap_server/ikev2.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - WPA_GET_BE16
    - wpabuf_free
    - wpabuf_alloc_copy
    - wpa_hexdump_buf
    linkageType: ''
    returnType: int
    signature: "int ikev2_process_ker(struct ikev2_initiator_data *data,\n\t\t\t     const
      u8 *ker, size_t ker_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:427,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:432,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/ikev2.c:438,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/ikev2.c:439,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - data
    - nr
    - nr_len
    argTypes:
    - struct ikev2_initiator_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 443
    functionName: ikev2_process_nr
    functionSourceFile: /src/hostap/src/eap_server/ikev2.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_hexdump
    linkageType: ''
    returnType: int
    signature: "int ikev2_process_nr(struct ikev2_initiator_data *data,\n\t\t\t    const
      u8 *nr, size_t nr_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ikev2_decrypt_payload
      Src: /src/hostap/src/eap_server/ikev2.c:456,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:463,1
    - Dst: ikev2_parse_payloads
      Src: /src/hostap/src/eap_server/ikev2.c:465,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:467,1
    - Dst: ikev2_process_idr
      Src: /src/hostap/src/eap_server/ikev2.c:473,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/ikev2.c:475,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - data
    - hdr
    - encrypted
    - encrypted_len
    - next_payload
    argTypes:
    - struct ikev2_initiator_data*
    - struct ikev2_hdr*
    - u8*
    - size_t
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 478
    functionName: ikev2_process_sa_init_encr
    functionSourceFile: /src/hostap/src/eap_server/ikev2.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - ikev2_decrypt_payload
    - ikev2_parse_payloads
    - ikev2_process_idr
    - os_free
    linkageType: ''
    returnType: int
    signature: "int ikev2_process_sa_init_encr(struct ikev2_initiator_data *data,\n\t\t\t\t
      \     const struct ikev2_hdr *hdr,\n\t\t\t\t      const u8 *encrypted,\n\t\t\t\t
      \     size_t encrypted_len, u8 next_payload)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ikev2_process_sar1
      Src: /src/hostap/src/eap_server/ikev2.c:485,1
    - Dst: ikev2_process_ker
      Src: /src/hostap/src/eap_server/ikev2.c:486,1
    - Dst: ikev2_process_nr
      Src: /src/hostap/src/eap_server/ikev2.c:487,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/ikev2.c:490,1
    - Dst: ikev2_derive_keys
      Src: /src/hostap/src/eap_server/ikev2.c:492,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:496,1
    - Dst: ikev2_process_sa_init_encr
      Src: /src/hostap/src/eap_server/ikev2.c:498,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:501,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - data
    - hdr
    - pl
    argTypes:
    - struct ikev2_initiator_data*
    - struct ikev2_hdr*
    - struct ikev2_payloads*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 481
    functionDepth: 2
    functionLinenumber: 481
    functionLinenumberEnd: 510
    functionName: ikev2_process_sa_init
    functionSourceFile: /src/hostap/src/eap_server/ikev2.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    - wpa_printf
    - ikev2_process_ker
    - ikev2_derive_keys
    - ikev2_process_nr
    - ikev2_process_sar1
    - ikev2_process_sa_init_encr
    linkageType: ''
    returnType: int
    signature: "int ikev2_process_sa_init(struct ikev2_initiator_data *data,\n\t\t\t\t
      const struct ikev2_hdr *hdr,\n\t\t\t\t struct ikev2_payloads *pl)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:519,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:524,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:532,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_server/ikev2.c:533,1
    - Dst: os_memcmp
      Src: /src/hostap/src/eap_server/ikev2.c:536,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:537,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:539,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_server/ikev2.c:541,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/ikev2.c:545,1
    - Dst: os_memdup
      Src: /src/hostap/src/eap_server/ikev2.c:547,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 3
    argNames:
    - data
    - idr
    - idr_len
    argTypes:
    - struct ikev2_initiator_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 554
    functionName: ikev2_process_idr
    functionSourceFile: /src/hostap/src/eap_server/ikev2.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - os_memdup
    - os_memcmp
    - os_free
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: int
    signature: "int ikev2_process_idr(struct ikev2_initiator_data *data,\n\t\t\t     const
      u8 *idr, size_t idr_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:564,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:571,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:579,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/ikev2.c:580,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - data
    - cert
    - cert_len
    argTypes:
    - struct ikev2_initiator_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 585
    functionName: ikev2_process_cert
    functionSourceFile: /src/hostap/src/eap_server/ikev2.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    linkageType: ''
    returnType: int
    signature: "int ikev2_process_cert(struct ikev2_initiator_data *data,\n\t\t\t
      \     const u8 *cert, size_t cert_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:592,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - data
    - method
    - auth
    - auth_len
    argTypes:
    - struct ikev2_initiator_data*
    - u8
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 599
    functionName: ikev2_process_auth_cert
    functionSourceFile: /src/hostap/src/eap_server/ikev2.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int ikev2_process_auth_cert(struct ikev2_initiator_data *data,\n\t\t\t\t
      \  u8 method, const u8 *auth, size_t auth_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:610,1
    - Dst: ikev2_derive_auth_data
      Src: /src/hostap/src/eap_server/ikev2.c:616,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:623,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/ikev2.c:627,1
    - Dst: ikev2_get_prf
      Src: /src/hostap/src/eap_server/ikev2.c:630,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/eap_server/ikev2.c:635,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:636,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/ikev2.c:637,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/ikev2.c:639,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:644,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 4
    argNames:
    - data
    - method
    - auth
    - auth_len
    argTypes:
    - struct ikev2_initiator_data*
    - u8
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 602
    functionDepth: 1
    functionLinenumber: 602
    functionLinenumberEnd: 648
    functionName: ikev2_process_auth_secret
    functionSourceFile: /src/hostap/src/eap_server/ikev2.c
    functionUses: 1
    functionsReached:
    - ikev2_get_prf
    - wpa_printf
    - wpa_hexdump
    - wpabuf_free
    - os_memcmp_const
    - ikev2_derive_auth_data
    linkageType: ''
    returnType: int
    signature: "int ikev2_process_auth_secret(struct ikev2_initiator_data *data,\n\t\t\t\t
      \    u8 method, const u8 *auth,\n\t\t\t\t     size_t auth_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:657,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:662,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:671,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/ikev2.c:672,1
    - Dst: ikev2_process_auth_cert
      Src: /src/hostap/src/eap_server/ikev2.c:676,1
    - Dst: ikev2_process_auth_secret
      Src: /src/hostap/src/eap_server/ikev2.c:679,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - data
    - auth
    - auth_len
    argTypes:
    - struct ikev2_initiator_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 684
    functionName: ikev2_process_auth
    functionSourceFile: /src/hostap/src/eap_server/ikev2.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - ikev2_process_auth_cert
    - wpa_hexdump
    - ikev2_process_auth_secret
    linkageType: ''
    returnType: int
    signature: "int ikev2_process_auth(struct ikev2_initiator_data *data,\n\t\t\t
      \     const u8 *auth, size_t auth_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:693,1
    - Dst: ikev2_parse_payloads
      Src: /src/hostap/src/eap_server/ikev2.c:695,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:697,1
    - Dst: ikev2_process_idr
      Src: /src/hostap/src/eap_server/ikev2.c:702,1
    - Dst: ikev2_process_cert
      Src: /src/hostap/src/eap_server/ikev2.c:703,1
    - Dst: ikev2_process_auth
      Src: /src/hostap/src/eap_server/ikev2.c:704,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - data
    - next_payload
    - payload
    - payload_len
    argTypes:
    - struct ikev2_initiator_data*
    - u8
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 687
    functionDepth: 1
    functionLinenumber: 687
    functionLinenumberEnd: 708
    functionName: ikev2_process_sa_auth_decrypted
    functionSourceFile: /src/hostap/src/eap_server/ikev2.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - ikev2_process_auth
    - ikev2_process_cert
    - ikev2_parse_payloads
    - ikev2_process_idr
    linkageType: ''
    returnType: int
    signature: "int ikev2_process_sa_auth_decrypted(struct ikev2_initiator_data *data,\n\t\t\t\t\t
      \  u8 next_payload,\n\t\t\t\t\t   u8 *payload, size_t payload_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ikev2_decrypt_payload
      Src: /src/hostap/src/eap_server/ikev2.c:719,1
    - Dst: ikev2_process_sa_auth_decrypted
      Src: /src/hostap/src/eap_server/ikev2.c:726,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/ikev2.c:728,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:731,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - data
    - hdr
    - pl
    argTypes:
    - struct ikev2_initiator_data*
    - struct ikev2_hdr*
    - struct ikev2_payloads*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 711
    functionDepth: 1
    functionLinenumber: 711
    functionLinenumberEnd: 736
    functionName: ikev2_process_sa_auth
    functionSourceFile: /src/hostap/src/eap_server/ikev2.c
    functionUses: 1
    functionsReached:
    - os_free
    - ikev2_process_sa_auth_decrypted
    - ikev2_decrypt_payload
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int ikev2_process_sa_auth(struct ikev2_initiator_data *data,\n\t\t\t\t
      const struct ikev2_hdr *hdr,\n\t\t\t\t struct ikev2_payloads *pl)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:747,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:752,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:762,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:767,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:774,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:779,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 3
    argNames:
    - data
    - exchange_type
    - message_id
    argTypes:
    - struct ikev2_initiator_data*
    - u8
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 739
    functionDepth: 0
    functionLinenumber: 739
    functionLinenumberEnd: 789
    functionName: ikev2_validate_rx_state
    functionSourceFile: /src/hostap/src/eap_server/ikev2.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int ikev2_validate_rx_state(struct ikev2_initiator_data *data,\n\t\t\t\t
      \  u8 exchange_type, u32 message_id)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:800,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/ikev2.c:801,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/ikev2.c:803,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:804,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_server/ikev2.c:808,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/eap_server/ikev2.c:809,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/ikev2.c:809,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/eap_server/ikev2.c:810,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/eap_server/ikev2.c:811,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/ikev2.c:813,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/ikev2.c:815,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:817,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:820,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:824,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/ikev2.c:829,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:830,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/ikev2.c:832,1
    - Dst: ikev2_validate_rx_state
      Src: /src/hostap/src/eap_server/ikev2.c:836,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:841,1
    - Dst: os_memcmp
      Src: /src/hostap/src/eap_server/ikev2.c:847,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:848,1
    - Dst: os_memcmp
      Src: /src/hostap/src/eap_server/ikev2.c:852,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:853,1
    - Dst: ikev2_parse_payloads
      Src: /src/hostap/src/eap_server/ikev2.c:860,1
    - Dst: ikev2_process_sa_init
      Src: /src/hostap/src/eap_server/ikev2.c:865,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/ikev2.c:867,1
    - Dst: wpabuf_dup
      Src: /src/hostap/src/eap_server/ikev2.c:868,1
    - Dst: ikev2_process_sa_auth
      Src: /src/hostap/src/eap_server/ikev2.c:871,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 57
    argCount: 2
    argNames:
    - data
    - buf
    argTypes:
    - struct ikev2_initiator_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 792
    functionDepth: 1
    functionLinenumber: 792
    functionLinenumberEnd: 880
    functionName: ikev2_initiator_process
    functionSourceFile: /src/hostap/src/eap_server/ikev2.c
    functionUses: 1
    functionsReached:
    - wpabuf_dup
    - wpa_printf
    - ikev2_validate_rx_state
    - wpabuf_head_u8
    - wpa_hexdump
    - ikev2_process_sa_auth
    - wpabuf_len
    - wpabuf_free
    - wpabuf_head
    - ikev2_parse_payloads
    - os_memcmp
    - ikev2_process_sa_init
    - WPA_GET_BE32
    linkageType: ''
    returnType: int
    signature: "int ikev2_initiator_process(struct ikev2_initiator_data *data,\n\t\t\t
      \   const struct wpabuf *buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:889,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_server/ikev2.c:892,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/ikev2.c:893,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_server/ikev2.c:894,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/src/eap_server/ikev2.c:899,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 5
    argNames:
    - data
    - msg
    - exchange_type
    - next_payload
    - message_id
    argTypes:
    - struct ikev2_initiator_data*
    - struct wpabuf*
    - u8
    - u8
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 883
    functionDepth: 1
    functionLinenumber: 883
    functionLinenumberEnd: 900
    functionName: ikev2_build_hdr
    functionSourceFile: /src/hostap/src/eap_server/ikev2.c
    functionUses: 3
    functionsReached:
    - WPA_PUT_BE32
    - wpa_printf
    - os_memcpy
    - wpabuf_put
    linkageType: ''
    returnType: void
    signature: "void ikev2_build_hdr(struct ikev2_initiator_data *data,\n\t\t\t    struct
      wpabuf *msg, u8 exchange_type,\n\t\t\t    u8 next_payload, u32 message_id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:911,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_server/ikev2.c:914,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_server/ikev2.c:919,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_server/ikev2.c:924,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/eap_server/ikev2.c:927,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/eap_server/ikev2.c:930,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/eap_server/ikev2.c:931,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_server/ikev2.c:933,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/eap_server/ikev2.c:934,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_server/ikev2.c:936,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/eap_server/ikev2.c:938,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/eap_server/ikev2.c:940,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_server/ikev2.c:942,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/eap_server/ikev2.c:944,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/eap_server/ikev2.c:946,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_server/ikev2.c:948,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/eap_server/ikev2.c:949,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/eap_server/ikev2.c:951,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_server/ikev2.c:953,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/eap_server/ikev2.c:954,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_server/ikev2.c:956,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/eap_server/ikev2.c:957,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 38
    argCount: 3
    argNames:
    - data
    - msg
    - next_payload
    argTypes:
    - struct ikev2_initiator_data*
    - struct wpabuf*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 903
    functionDepth: 1
    functionLinenumber: 903
    functionLinenumberEnd: 960
    functionName: ikev2_build_sai
    functionSourceFile: /src/hostap/src/eap_server/ikev2.c
    functionUses: 0
    functionsReached:
    - wpabuf_put_be16
    - wpa_printf
    - WPA_PUT_BE16
    - wpabuf_put
    linkageType: ''
    returnType: int
    signature: "int ikev2_build_sai(struct ikev2_initiator_data *data,\n\t\t\t    struct
      wpabuf *msg, u8 next_payload)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:970,1
    - Dst: dh_groups_get
      Src: /src/hostap/src/eap_server/ikev2.c:972,1
    - Dst: dh_init
      Src: /src/hostap/src/eap_server/ikev2.c:973,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:975,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_server/ikev2.c:980,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/eap_server/ikev2.c:984,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_server/ikev2.c:985,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_server/ikev2.c:990,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_server/ikev2.c:990,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/eap_server/ikev2.c:991,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/ikev2.c:992,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_server/ikev2.c:994,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/eap_server/ikev2.c:995,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 3
    argNames:
    - data
    - msg
    - next_payload
    argTypes:
    - struct ikev2_initiator_data*
    - struct wpabuf*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 963
    functionDepth: 2
    functionLinenumber: 963
    functionLinenumberEnd: 997
    functionName: ikev2_build_kei
    functionSourceFile: /src/hostap/src/eap_server/ikev2.c
    functionUses: 0
    functionsReached:
    - dh_groups_get
    - wpa_printf
    - wpabuf_put
    - wpabuf_len
    - wpabuf_free
    - wpabuf_put_be16
    - WPA_PUT_BE16
    - wpabuf_put_buf
    - dh_init
    linkageType: ''
    returnType: int
    signature: "int ikev2_build_kei(struct ikev2_initiator_data *data,\n\t\t\t   struct
      wpabuf *msg, u8 next_payload)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:1006,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_server/ikev2.c:1009,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_server/ikev2.c:1012,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_server/ikev2.c:1013,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/eap_server/ikev2.c:1014,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - data
    - msg
    - next_payload
    argTypes:
    - struct ikev2_initiator_data*
    - struct wpabuf*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1016
      start: 1000
    functionDepth: 1
    functionLinenumber: 1000
    functionLinenumberEnd: 1016
    functionName: ikev2_build_ni
    functionSourceFile: /src/hostap/src/eap_server/ikev2.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - WPA_PUT_BE16
    - wpabuf_put_data
    - wpabuf_put
    linkageType: ''
    returnType: int
    signature: "int ikev2_build_ni(struct ikev2_initiator_data *data,\n\t\t\t  struct
      wpabuf *msg, u8 next_payload)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:1025,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:1028,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_server/ikev2.c:1033,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/ikev2.c:1036,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_server/ikev2.c:1037,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_server/ikev2.c:1038,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_server/ikev2.c:1039,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/eap_server/ikev2.c:1040,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - data
    - msg
    - next_payload
    argTypes:
    - struct ikev2_initiator_data*
    - struct wpabuf*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 1019
    functionDepth: 1
    functionLinenumber: 1019
    functionLinenumberEnd: 1042
    functionName: ikev2_build_idi
    functionSourceFile: /src/hostap/src/eap_server/ikev2.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put
    - wpabuf_put_data
    - wpabuf_put_u8
    - WPA_PUT_BE16
    linkageType: ''
    returnType: int
    signature: "int ikev2_build_idi(struct ikev2_initiator_data *data,\n\t\t\t   struct
      wpabuf *msg, u8 next_payload)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:1052,1
    - Dst: ikev2_get_prf
      Src: /src/hostap/src/eap_server/ikev2.c:1054,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_server/ikev2.c:1059,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_server/ikev2.c:1062,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_server/ikev2.c:1063,1
    - Dst: ikev2_derive_auth_data
      Src: /src/hostap/src/eap_server/ikev2.c:1066,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_server/ikev2.c:1072,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:1073,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/ikev2.c:1076,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_server/ikev2.c:1079,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/eap_server/ikev2.c:1080,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - data
    - msg
    - next_payload
    argTypes:
    - struct ikev2_initiator_data*
    - struct wpabuf*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1045
    functionDepth: 1
    functionLinenumber: 1045
    functionLinenumberEnd: 1082
    functionName: ikev2_build_auth
    functionSourceFile: /src/hostap/src/eap_server/ikev2.c
    functionUses: 1
    functionsReached:
    - ikev2_get_prf
    - wpa_printf
    - wpabuf_put
    - wpabuf_put_u8
    - wpabuf_free
    - WPA_PUT_BE16
    - ikev2_derive_auth_data
    linkageType: ''
    returnType: int
    signature: "int ikev2_build_auth(struct ikev2_initiator_data *data,\n\t\t\t    struct
      wpabuf *msg, u8 next_payload)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_get_random
      Src: /src/hostap/src/eap_server/ikev2.c:1091,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/ikev2.c:1093,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/eap_server/ikev2.c:1097,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_server/ikev2.c:1099,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eap_server/ikev2.c:1101,1
    - Dst: ikev2_build_hdr
      Src: /src/hostap/src/eap_server/ikev2.c:1105,1
    - Dst: ikev2_build_sai
      Src: /src/hostap/src/eap_server/ikev2.c:1106,1
    - Dst: ikev2_build_kei
      Src: /src/hostap/src/eap_server/ikev2.c:1107,1
    - Dst: ikev2_build_ni
      Src: /src/hostap/src/eap_server/ikev2.c:1108,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/ikev2.c:1109,1
    - Dst: ikev2_update_hdr
      Src: /src/hostap/src/eap_server/ikev2.c:1113,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/eap_server/ikev2.c:1115,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/ikev2.c:1117,1
    - Dst: wpabuf_dup
      Src: /src/hostap/src/eap_server/ikev2.c:1118,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct ikev2_initiator_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1085
    functionDepth: 3
    functionLinenumber: 1085
    functionLinenumberEnd: 1121
    functionName: ikev2_build_sa_init
    functionSourceFile: /src/hostap/src/eap_server/ikev2.c
    functionUses: 1
    functionsReached:
    - wpabuf_dup
    - random_get_bytes
    - wpa_hexdump
    - ikev2_update_hdr
    - wpabuf_free
    - os_get_random
    - ikev2_build_kei
    - ikev2_build_sai
    - wpabuf_alloc
    - ikev2_build_ni
    - ikev2_build_hdr
    - wpa_hexdump_buf
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * ikev2_build_sa_init(struct ikev2_initiator_data *data)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: struct ikev2_initiator_data*::get_shared_secret
      Src: /src/hostap/src/eap_server/ikev2.c:1130,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/ikev2.c:1133,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/ikev2.c:1140,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_server/ikev2.c:1141,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/eap_server/ikev2.c:1145,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/ikev2.c:1148,1
    - Dst: os_memdup
      Src: /src/hostap/src/eap_server/ikev2.c:1149,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eap_server/ikev2.c:1157,1
    - Dst: ikev2_build_hdr
      Src: /src/hostap/src/eap_server/ikev2.c:1160,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eap_server/ikev2.c:1162,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/ikev2.c:1164,1
    - Dst: ikev2_build_idi
      Src: /src/hostap/src/eap_server/ikev2.c:1168,1
    - Dst: ikev2_build_auth
      Src: /src/hostap/src/eap_server/ikev2.c:1169,1
    - Dst: ikev2_build_encrypted
      Src: /src/hostap/src/eap_server/ikev2.c:1170,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/ikev2.c:1173,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/ikev2.c:1174,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_server/ikev2.c:1177,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/eap_server/ikev2.c:1179,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct ikev2_initiator_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1182
      start: 1124
    functionDepth: 2
    functionLinenumber: 1124
    functionLinenumberEnd: 1182
    functionName: ikev2_build_sa_auth
    functionSourceFile: /src/hostap/src/eap_server/ikev2.c
    functionUses: 1
    functionsReached:
    - ikev2_build_auth
    - wpa_printf
    - struct ikev2_initiator_data*::get_shared_secret
    - random_get_bytes
    - os_memdup
    - wpabuf_free
    - os_malloc
    - ikev2_build_encrypted
    - ikev2_build_idi
    - wpabuf_alloc
    - os_free
    - ikev2_build_hdr
    - wpa_hexdump_buf
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * ikev2_build_sa_auth(struct ikev2_initiator_data *data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ikev2_build_sa_init
      Src: /src/hostap/src/eap_server/ikev2.c:1189,1
    - Dst: ikev2_build_sa_auth
      Src: /src/hostap/src/eap_server/ikev2.c:1191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct ikev2_initiator_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1198
      start: 1185
    functionDepth: 0
    functionLinenumber: 1185
    functionLinenumberEnd: 1198
    functionName: ikev2_initiator_build
    functionSourceFile: /src/hostap/src/eap_server/ikev2.c
    functionUses: 1
    functionsReached:
    - ikev2_build_sa_init
    - ikev2_build_sa_auth
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * ikev2_initiator_build(struct ikev2_initiator_data *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_server/eap_server_gtc.c:25,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_gtc.c:33,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eap_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 40
    functionName: eap_gtc_init
    functionSourceFile: /src/hostap/src/eap_server/eap_server_gtc.c
    functionUses: 0
    functionsReached:
    - os_zalloc
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void * eap_gtc_init(struct eap_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_gtc.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: eap_gtc_reset
    functionSourceFile: /src/hostap/src/eap_server/eap_server_gtc.c
    functionUses: 0
    functionsReached:
    - os_free
    linkageType: ''
    returnType: void
    signature: void eap_gtc_reset(struct eap_sm *sm, void *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/eap_server/eap_server_gtc.c:59,1
    - Dst: eap_msg_alloc
      Src: /src/hostap/src/eap_server/eap_server_gtc.c:60,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_gtc.c:63,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_server/eap_server_gtc.c:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - sm
    - priv
    - id
    argTypes:
    - struct eap_sm*
    - void*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 74
    functionName: eap_gtc_buildReq
    functionSourceFile: /src/hostap/src/eap_server/eap_server_gtc.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - eap_msg_alloc
    - wpabuf_put_data
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * eap_gtc_buildReq(struct eap_sm *sm, void *priv, u8
      id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_server/eap_server_gtc.c:83,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_gtc.c:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - sm
    - priv
    - respData
    argTypes:
    - struct eap_sm*
    - void*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 90
    functionName: eap_gtc_check
    functionSourceFile: /src/hostap/src/eap_server/eap_server_gtc.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eap_hdr_validate
    linkageType: ''
    returnType: bool
    signature: "bool eap_gtc_check(struct eap_sm *sm, void *priv,\n\t\t\t  struct
      wpabuf *respData)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: eap_hdr_validate
      Src: /src/hostap/src/eap_server/eap_server_gtc.c:100,1
    - Dst: wpa_hexdump_ascii_key
      Src: /src/hostap/src/eap_server/eap_server_gtc.c:104,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_gtc.c:111,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_gtc.c:123,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_server/eap_server_gtc.c:129,1
    - Dst: os_memcmp
      Src: /src/hostap/src/eap_server/eap_server_gtc.c:133,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_gtc.c:134,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_server/eap_server_gtc.c:136,1
    - Dst: os_free
      Src: /src/hostap/src/eap_server/eap_server_gtc.c:142,1
    - Dst: os_memdup
      Src: /src/hostap/src/eap_server/eap_server_gtc.c:144,1
    - Dst: eap_user_get
      Src: /src/hostap/src/eap_server/eap_server_gtc.c:151,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_server/eap_server_gtc.c:152,1
    - Dst: wpa_hexdump_ascii_key
      Src: /src/hostap/src/eap_server/eap_server_gtc.c:162,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_gtc.c:170,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/eap_server/eap_server_gtc.c:177,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_gtc.c:178,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_server/eap_server_gtc.c:181,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 57
    argCount: 3
    argNames:
    - sm
    - priv
    - respData
    argTypes:
    - struct eap_sm*
    - void*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 184
    functionName: eap_gtc_process
    functionSourceFile: /src/hostap/src/eap_server/eap_server_gtc.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memdup
    - os_memcmp_const
    - eap_user_get
    - os_memcmp
    - wpa_hexdump_ascii_key
    - eap_hdr_validate
    - os_free
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: void
    signature: "void eap_gtc_process(struct eap_sm *sm, void *priv,\n\t\t\t    struct
      wpabuf *respData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 191
    functionName: eap_gtc_isDone
    functionSourceFile: /src/hostap/src/eap_server/eap_server_gtc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool eap_gtc_isDone(struct eap_sm *sm, void *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct eap_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 198
    functionName: eap_gtc_isSuccess
    functionSourceFile: /src/hostap/src/eap_server/eap_server_gtc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool eap_gtc_isSuccess(struct eap_sm *sm, void *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_server_method_alloc
      Src: /src/hostap/src/eap_server/eap_server_gtc.c:205,1
    - Dst: eap_server_method_register
      Src: /src/hostap/src/eap_server/eap_server_gtc.c:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 219
    functionName: eap_server_gtc_register
    functionSourceFile: /src/hostap/src/eap_server/eap_server_gtc.c
    functionUses: 2
    functionsReached:
    - eap_server_method_register
    - eap_server_method_alloc
    linkageType: ''
    returnType: int
    signature: int eap_server_gtc_register(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/asn1.c:110,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/asn1.c:116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - struct asn1_hdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 123
    functionName: asn1_valid_der_boolean
    functionSourceFile: /src/hostap/src/tls/asn1.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int asn1_valid_der_boolean(struct asn1_hdr *hdr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: asn1_valid_der_boolean
      Src: /src/hostap/src/tls/asn1.c:130,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 12
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - struct asn1_hdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 168
    functionName: asn1_valid_der
    functionSourceFile: /src/hostap/src/tls/asn1.c
    functionUses: 0
    functionsReached:
    - asn1_valid_der_boolean
    linkageType: ''
    returnType: int
    signature: int asn1_valid_der(struct asn1_hdr *hdr)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/tls/asn1.c:176,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/asn1.c:181,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/asn1.c:193,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/asn1.c:199,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/asn1.c:205,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/asn1.c:209,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/asn1.c:213,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/asn1.c:222,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/asn1.c:228,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/asn1.c:235,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/asn1.c:240,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/asn1.c:245,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/asn1.c:252,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/asn1.c:262,1
    - Dst: asn1_valid_der
      Src: /src/hostap/src/tls/asn1.c:268,1
    - Dst: asn1_print_hdr
      Src: /src/hostap/src/tls/asn1.c:269,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 78
    argCount: 3
    argNames:
    - buf
    - len
    - hdr
    argTypes:
    - u8*
    - size_t
    - struct asn1_hdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 273
    functionName: asn1_get_next
    functionSourceFile: /src/hostap/src/tls/asn1.c
    functionUses: 1
    functionsReached:
    - asn1_print_hdr
    - wpa_printf
    - asn1_valid_der
    - os_memset
    linkageType: ''
    returnType: int
    signature: int asn1_get_next(const u8 *buf, size_t len, struct asn1_hdr *hdr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/asn1.c:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hdr
    - title
    argTypes:
    - struct asn1_hdr*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 280
    functionName: asn1_print_hdr
    functionSourceFile: /src/hostap/src/tls/asn1.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void asn1_print_hdr(const struct asn1_hdr *hdr, const char *title)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/asn1.c:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hdr
    - title
    argTypes:
    - struct asn1_hdr*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 287
    functionName: asn1_unexpected
    functionSourceFile: /src/hostap/src/tls/asn1.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void asn1_unexpected(const struct asn1_hdr *hdr, const char *title)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/tls/asn1.c:296,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/asn1.c:312,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - buf
    - len
    - oid
    argTypes:
    - u8*
    - size_t
    - struct asn1_oid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 331
    functionName: asn1_parse_oid
    functionSourceFile: /src/hostap/src/tls/asn1.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memset
    linkageType: ''
    returnType: int
    signature: int asn1_parse_oid(const u8 *buf, size_t len, struct asn1_oid *oid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/asn1.c:339,1
    - Dst: asn1_is_oid
      Src: /src/hostap/src/tls/asn1.c:340,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/asn1.c:341,1
    - Dst: asn1_parse_oid
      Src: /src/hostap/src/tls/asn1.c:347,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - buf
    - len
    - oid
    - next
    argTypes:
    - u8*
    - size_t
    - struct asn1_oid*
    - u8**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 334
    functionDepth: 3
    functionLinenumber: 334
    functionLinenumberEnd: 348
    functionName: asn1_get_oid
    functionSourceFile: /src/hostap/src/tls/asn1.c
    functionUses: 1
    functionsReached:
    - asn1_parse_oid
    - asn1_is_oid
    - asn1_unexpected
    - asn1_get_next
    linkageType: ''
    returnType: int
    signature: "int asn1_get_oid(const u8 *buf, size_t len, struct asn1_oid *oid,\n\t\t
      const u8 **next)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/src/tls/asn1.c:363,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/tls/asn1.c:366,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - oid
    - buf
    - len
    argTypes:
    - struct asn1_oid*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 371
    functionName: asn1_oid_to_str
    functionSourceFile: /src/hostap/src/tls/asn1.c
    functionUses: 1
    functionsReached:
    - os_snprintf
    - os_snprintf_error
    linkageType: ''
    returnType: void
    signature: void asn1_oid_to_str(const struct asn1_oid *oid, char *buf, size_t
      len)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - octet
    argTypes:
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 388
    functionName: rotate_bits
    functionSourceFile: /src/hostap/src/tls/asn1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 rotate_bits(u8 octet)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rotate_bits
      Src: /src/hostap/src/tls/asn1.c:401,1
    - Dst: rotate_bits
      Src: /src/hostap/src/tls/asn1.c:403,1
    - Dst: rotate_bits
      Src: /src/hostap/src/tls/asn1.c:405,1
    - Dst: rotate_bits
      Src: /src/hostap/src/tls/asn1.c:407,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/asn1.c:409,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 414
    functionName: asn1_bit_string_to_long
    functionSourceFile: /src/hostap/src/tls/asn1.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - rotate_bits
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long asn1_bit_string_to_long(const u8 *buf, size_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct asn1_oid*
    - struct asn1_oid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 430
    functionName: asn1_oid_equal
    functionSourceFile: /src/hostap/src/tls/asn1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int asn1_oid_equal(const struct asn1_oid *a, const struct asn1_oid
      *b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/asn1.c:440,1
    - Dst: asn1_is_integer
      Src: /src/hostap/src/tls/asn1.c:441,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/asn1.c:442,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/asn1.c:450,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - buf
    - len
    - integer
    - next
    argTypes:
    - u8*
    - size_t
    - int*
    - u8**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 433
    functionDepth: 3
    functionLinenumber: 433
    functionLinenumberEnd: 463
    functionName: asn1_get_integer
    functionSourceFile: /src/hostap/src/tls/asn1.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - asn1_unexpected
    - asn1_is_integer
    - asn1_get_next
    linkageType: ''
    returnType: int
    signature: int asn1_get_integer(const u8 *buf, size_t len, int *integer, const
      u8 **next)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/asn1.c:469,1
    - Dst: asn1_is_sequence
      Src: /src/hostap/src/tls/asn1.c:469,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/asn1.c:470,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - buf
    - len
    - hdr
    - next
    argTypes:
    - u8*
    - size_t
    - struct asn1_hdr*
    - u8**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 466
    functionDepth: 3
    functionLinenumber: 466
    functionLinenumberEnd: 477
    functionName: asn1_get_sequence
    functionSourceFile: /src/hostap/src/tls/asn1.c
    functionUses: 0
    functionsReached:
    - asn1_is_sequence
    - asn1_unexpected
    - asn1_get_next
    linkageType: ''
    returnType: int
    signature: "int asn1_get_sequence(const u8 *buf, size_t len, struct asn1_hdr *hdr,\n\t\t
      \     const u8 **next)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: asn1_get_sequence
      Src: /src/hostap/src/tls/asn1.c:491,1
    - Dst: asn1_get_oid
      Src: /src/hostap/src/tls/asn1.c:492,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 6
    argNames:
    - buf
    - len
    - oid
    - params
    - params_len
    - next
    argTypes:
    - u8*
    - size_t
    - struct asn1_oid*
    - u8**
    - size_t*
    - u8**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 480
    functionDepth: 4
    functionLinenumber: 480
    functionLinenumberEnd: 501
    functionName: asn1_get_alg_id
    functionSourceFile: /src/hostap/src/tls/asn1.c
    functionUses: 0
    functionsReached:
    - asn1_get_oid
    - asn1_get_sequence
    linkageType: ''
    returnType: int
    signature: "int asn1_get_alg_id(const u8 *buf, size_t len, struct asn1_oid *oid,\n\t\t
      \   const u8 **params, size_t *params_len, const u8 **next)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/src/tls/asn1.c:509,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/tls/asn1.c:513,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/tls/asn1.c:514,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/tls/asn1.c:515,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - buf
    - val
    argTypes:
    - struct wpabuf*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 504
    functionDepth: 1
    functionLinenumber: 504
    functionLinenumberEnd: 516
    functionName: asn1_put_integer
    functionSourceFile: /src/hostap/src/tls/asn1.c
    functionUses: 0
    functionsReached:
    - WPA_PUT_BE32
    - wpabuf_put_data
    - wpabuf_put_u8
    linkageType: ''
    returnType: void
    signature: void asn1_put_integer(struct wpabuf *buf, int val)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/tls/asn1.c:522,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/tls/asn1.c:524,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/tls/asn1.c:525,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/tls/asn1.c:527,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/tls/asn1.c:528,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/tls/asn1.c:530,1
    - Dst: wpabuf_put_be24
      Src: /src/hostap/src/tls/asn1.c:531,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/tls/asn1.c:533,1
    - Dst: wpabuf_put_be32
      Src: /src/hostap/src/tls/asn1.c:534,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - struct wpabuf*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 536
    functionName: asn1_put_len
    functionSourceFile: /src/hostap/src/tls/asn1.c
    functionUses: 0
    functionsReached:
    - wpabuf_put_be32
    - wpabuf_put_be16
    - wpabuf_put_u8
    - wpabuf_put_be24
    linkageType: ''
    returnType: void
    signature: void asn1_put_len(struct wpabuf *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/tls/asn1.c:541,1
    - Dst: asn1_put_len
      Src: /src/hostap/src/tls/asn1.c:542,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/tls/asn1.c:542,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/tls/asn1.c:543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - buf
    - val
    argTypes:
    - struct wpabuf*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 539
    functionDepth: 2
    functionLinenumber: 539
    functionLinenumberEnd: 544
    functionName: asn1_put_octet_string
    functionSourceFile: /src/hostap/src/tls/asn1.c
    functionUses: 0
    functionsReached:
    - wpabuf_len
    - wpabuf_put_buf
    - wpabuf_put_u8
    - asn1_put_len
    linkageType: ''
    returnType: void
    signature: void asn1_put_octet_string(struct wpabuf *buf, const struct wpabuf
      *val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/tls/asn1.c:554,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/tls/asn1.c:555,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/tls/asn1.c:556,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/tls/asn1.c:573,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/tls/asn1.c:576,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - buf
    - oid
    argTypes:
    - struct wpabuf*
    - struct asn1_oid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 547
    functionDepth: 1
    functionLinenumber: 547
    functionLinenumberEnd: 577
    functionName: asn1_put_oid
    functionSourceFile: /src/hostap/src/tls/asn1.c
    functionUses: 0
    functionsReached:
    - wpabuf_put
    - wpabuf_put_u8
    linkageType: ''
    returnType: void
    signature: void asn1_put_oid(struct wpabuf *buf, const struct asn1_oid *oid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/tls/asn1.c:583,1
    - Dst: asn1_put_len
      Src: /src/hostap/src/tls/asn1.c:584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - buf
    - class
    - constructed
    - tag
    - len
    argTypes:
    - struct wpabuf*
    - u8
    - int
    - u8
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 580
    functionDepth: 2
    functionLinenumber: 580
    functionLinenumberEnd: 585
    functionName: asn1_put_hdr
    functionSourceFile: /src/hostap/src/tls/asn1.c
    functionUses: 0
    functionsReached:
    - wpabuf_put_u8
    - asn1_put_len
    linkageType: ''
    returnType: void
    signature: "void asn1_put_hdr(struct wpabuf *buf, u8 class, int constructed, u8
      tag,\n\t\t  size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: asn1_put_hdr
      Src: /src/hostap/src/tls/asn1.c:590,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/tls/asn1.c:591,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/tls/asn1.c:592,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - payload
    argTypes:
    - struct wpabuf*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 588
    functionDepth: 3
    functionLinenumber: 588
    functionLinenumberEnd: 593
    functionName: asn1_put_sequence
    functionSourceFile: /src/hostap/src/tls/asn1.c
    functionUses: 0
    functionsReached:
    - wpabuf_len
    - wpabuf_put_buf
    - asn1_put_hdr
    linkageType: ''
    returnType: void
    signature: void asn1_put_sequence(struct wpabuf *buf, const struct wpabuf *payload)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: asn1_put_hdr
      Src: /src/hostap/src/tls/asn1.c:598,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/tls/asn1.c:599,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/tls/asn1.c:600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - payload
    argTypes:
    - struct wpabuf*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 596
    functionDepth: 3
    functionLinenumber: 596
    functionLinenumberEnd: 601
    functionName: asn1_put_set
    functionSourceFile: /src/hostap/src/tls/asn1.c
    functionUses: 0
    functionsReached:
    - wpabuf_len
    - wpabuf_put_buf
    - asn1_put_hdr
    linkageType: ''
    returnType: void
    signature: void asn1_put_set(struct wpabuf *buf, const struct wpabuf *payload)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: asn1_put_hdr
      Src: /src/hostap/src/tls/asn1.c:606,1
    - Dst: os_strlen
      Src: /src/hostap/src/tls/asn1.c:607,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/tls/asn1.c:608,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - val
    argTypes:
    - struct wpabuf*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 604
    functionDepth: 3
    functionLinenumber: 604
    functionLinenumberEnd: 609
    functionName: asn1_put_utf8string
    functionSourceFile: /src/hostap/src/tls/asn1.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - asn1_put_hdr
    - wpabuf_put_str
    linkageType: ''
    returnType: void
    signature: void asn1_put_utf8string(struct wpabuf *buf, const char *val)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_len
      Src: /src/hostap/src/tls/asn1.c:626,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/tls/asn1.c:627,1
    - Dst: asn1_put_oid
      Src: /src/hostap/src/tls/asn1.c:630,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/tls/asn1.c:632,1
    - Dst: asn1_encaps
      Src: /src/hostap/src/tls/asn1.c:633,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - oid
    - params
    argTypes:
    - struct asn1_oid*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 612
    functionDepth: 2
    functionLinenumber: 612
    functionLinenumberEnd: 634
    functionName: asn1_build_alg_id
    functionSourceFile: /src/hostap/src/tls/asn1.c
    functionUses: 0
    functionsReached:
    - asn1_encaps
    - wpabuf_len
    - wpabuf_alloc
    - wpabuf_put_buf
    - asn1_put_oid
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * asn1_build_alg_id(const struct asn1_oid *oid,\n\t\t\t\t
      \ const struct wpabuf *params)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/tls/asn1.c:643,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/tls/asn1.c:643,1
    - Dst: asn1_put_hdr
      Src: /src/hostap/src/tls/asn1.c:645,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/tls/asn1.c:645,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/tls/asn1.c:646,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/tls/asn1.c:648,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - buf
    - class
    - tag
    argTypes:
    - struct wpabuf*
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 637
    functionDepth: 3
    functionLinenumber: 637
    functionLinenumberEnd: 650
    functionName: asn1_encaps
    functionSourceFile: /src/hostap/src/tls/asn1.c
    functionUses: 1
    functionsReached:
    - wpabuf_len
    - wpabuf_alloc
    - wpabuf_put_buf
    - asn1_put_hdr
    - wpabuf_clear_free
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * asn1_encaps(struct wpabuf *buf, u8 class, u8 tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/tls/x509v3.c:22,1
    - Dst: os_free
      Src: /src/hostap/src/tls/x509v3.c:27,1
    - Dst: os_free
      Src: /src/hostap/src/tls/x509v3.c:30,1
    - Dst: os_free
      Src: /src/hostap/src/tls/x509v3.c:31,1
    - Dst: os_free
      Src: /src/hostap/src/tls/x509v3.c:32,1
    - Dst: os_free
      Src: /src/hostap/src/tls/x509v3.c:33,1
    - Dst: os_memset
      Src: /src/hostap/src/tls/x509v3.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - name
    argTypes:
    - struct x509_name*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 38
    functionName: x509_free_name
    functionSourceFile: /src/hostap/src/tls/x509v3.c
    functionUses: 0
    functionsReached:
    - os_free
    - os_memset
    linkageType: ''
    returnType: void
    signature: void x509_free_name(struct x509_name *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/x509v3.c:50,1
    - Dst: x509_free_name
      Src: /src/hostap/src/tls/x509v3.c:54,1
    - Dst: x509_free_name
      Src: /src/hostap/src/tls/x509v3.c:55,1
    - Dst: os_free
      Src: /src/hostap/src/tls/x509v3.c:56,1
    - Dst: os_free
      Src: /src/hostap/src/tls/x509v3.c:57,1
    - Dst: os_free
      Src: /src/hostap/src/tls/x509v3.c:58,1
    - Dst: os_free
      Src: /src/hostap/src/tls/x509v3.c:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - cert
    argTypes:
    - struct x509_certificate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 60
    functionName: x509_certificate_free
    functionSourceFile: /src/hostap/src/tls/x509v3.c
    functionUses: 1
    functionsReached:
    - os_free
    - x509_free_name
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void x509_certificate_free(struct x509_certificate *cert)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: x509_certificate_free
      Src: /src/hostap/src/tls/x509v3.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - cert
    argTypes:
    - struct x509_certificate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 77
    functionName: x509_certificate_chain_free
    functionSourceFile: /src/hostap/src/tls/x509v3.c
    functionUses: 0
    functionsReached:
    - x509_certificate_free
    linkageType: ''
    returnType: void
    signature: void x509_certificate_chain_free(struct x509_certificate *cert)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: x509_whitespace
    functionSourceFile: /src/hostap/src/tls/x509v3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int x509_whitespace(char c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: x509_whitespace
      Src: /src/hostap/src/tls/x509v3.c:94,1
    - Dst: x509_whitespace
      Src: /src/hostap/src/tls/x509v3.c:97,1
    - Dst: x509_whitespace
      Src: /src/hostap/src/tls/x509v3.c:103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - a
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 105
    functionName: x509_str_strip_whitespace
    functionSourceFile: /src/hostap/src/tls/x509v3.c
    functionUses: 0
    functionsReached:
    - x509_whitespace
    linkageType: ''
    returnType: void
    signature: void x509_str_strip_whitespace(char *a)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_strdup
      Src: /src/hostap/src/tls/x509v3.c:120,1
    - Dst: os_strdup
      Src: /src/hostap/src/tls/x509v3.c:121,1
    - Dst: os_free
      Src: /src/hostap/src/tls/x509v3.c:124,1
    - Dst: os_free
      Src: /src/hostap/src/tls/x509v3.c:125,1
    - Dst: os_strcasecmp
      Src: /src/hostap/src/tls/x509v3.c:126,1
    - Dst: x509_str_strip_whitespace
      Src: /src/hostap/src/tls/x509v3.c:129,1
    - Dst: x509_str_strip_whitespace
      Src: /src/hostap/src/tls/x509v3.c:130,1
    - Dst: os_strcasecmp
      Src: /src/hostap/src/tls/x509v3.c:132,1
    - Dst: os_free
      Src: /src/hostap/src/tls/x509v3.c:134,1
    - Dst: os_free
      Src: /src/hostap/src/tls/x509v3.c:135,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 138
    functionName: x509_str_compare
    functionSourceFile: /src/hostap/src/tls/x509v3.c
    functionUses: 0
    functionsReached:
    - os_free
    - os_strcasecmp
    - os_strdup
    - x509_str_strip_whitespace
    linkageType: ''
    returnType: int
    signature: int x509_str_compare(const char *a, const char *b)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: x509_str_compare
      Src: /src/hostap/src/tls/x509v3.c:169,1
    - Dst: x509_str_compare
      Src: /src/hostap/src/tls/x509v3.c:173,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct x509_name*
    - struct x509_name*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 148
    functionDepth: 3
    functionLinenumber: 148
    functionLinenumberEnd: 178
    functionName: x509_name_compare
    functionSourceFile: /src/hostap/src/tls/x509v3.c
    functionUses: 0
    functionsReached:
    - x509_str_compare
    linkageType: ''
    returnType: int
    signature: int x509_name_compare(struct x509_name *a, struct x509_name *b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/x509v3.c:195,1
    - Dst: asn1_is_sequence
      Src: /src/hostap/src/tls/x509v3.c:195,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/x509v3.c:196,1
    - Dst: asn1_get_oid
      Src: /src/hostap/src/tls/x509v3.c:207,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - buf
    - len
    - id
    - next
    argTypes:
    - u8*
    - size_t
    - struct x509_algorithm_identifier*
    - u8**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 181
    functionDepth: 4
    functionLinenumber: 181
    functionLinenumberEnd: 213
    functionName: x509_parse_algorithm_identifier
    functionSourceFile: /src/hostap/src/tls/x509v3.c
    functionUses: 0
    functionsReached:
    - asn1_get_oid
    - asn1_is_sequence
    - asn1_unexpected
    - asn1_get_next
    linkageType: ''
    returnType: int
    signature: "int x509_parse_algorithm_identifier(const u8 *buf, size_t len,\n\t\t\t\t
      \   struct x509_algorithm_identifier *id,\n\t\t\t\t    const u8 **next)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/x509v3.c:233,1
    - Dst: asn1_is_sequence
      Src: /src/hostap/src/tls/x509v3.c:234,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/x509v3.c:235,1
    - Dst: x509_parse_algorithm_identifier
      Src: /src/hostap/src/tls/x509v3.c:246,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/x509v3.c:250,1
    - Dst: asn1_is_bitstring
      Src: /src/hostap/src/tls/x509v3.c:251,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/x509v3.c:252,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/x509v3.c:260,1
    - Dst: os_free
      Src: /src/hostap/src/tls/x509v3.c:270,1
    - Dst: os_memdup
      Src: /src/hostap/src/tls/x509v3.c:271,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/x509v3.c:273,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/x509v3.c:278,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 4
    argNames:
    - buf
    - len
    - cert
    - next
    argTypes:
    - u8*
    - size_t
    - struct x509_certificate*
    - u8**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 216
    functionDepth: 5
    functionLinenumber: 216
    functionLinenumberEnd: 282
    functionName: x509_parse_public_key
    functionSourceFile: /src/hostap/src/tls/x509v3.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - asn1_is_sequence
    - wpa_hexdump
    - asn1_get_next
    - os_memdup
    - asn1_unexpected
    - asn1_is_bitstring
    - os_free
    - x509_parse_algorithm_identifier
    linkageType: ''
    returnType: int
    signature: "int x509_parse_public_key(const u8 *buf, size_t len,\n\t\t\t\t struct
      x509_certificate *cert,\n\t\t\t\t const u8 **next)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/x509v3.c:305,1
    - Dst: asn1_is_sequence
      Src: /src/hostap/src/tls/x509v3.c:305,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/x509v3.c:306,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/x509v3.c:320,1
    - Dst: asn1_is_set
      Src: /src/hostap/src/tls/x509v3.c:321,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/x509v3.c:322,1
    - Dst: x509_free_name
      Src: /src/hostap/src/tls/x509v3.c:324,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/x509v3.c:331,1
    - Dst: asn1_is_sequence
      Src: /src/hostap/src/tls/x509v3.c:332,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/x509v3.c:333,1
    - Dst: x509_free_name
      Src: /src/hostap/src/tls/x509v3.c:335,1
    - Dst: asn1_get_oid
      Src: /src/hostap/src/tls/x509v3.c:342,1
    - Dst: x509_free_name
      Src: /src/hostap/src/tls/x509v3.c:343,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/x509v3.c:347,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/x509v3.c:349,1
    - Dst: x509_free_name
      Src: /src/hostap/src/tls/x509v3.c:351,1
    - Dst: asn1_is_string_type
      Src: /src/hostap/src/tls/x509v3.c:355,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/x509v3.c:356,1
    - Dst: os_free
      Src: /src/hostap/src/tls/x509v3.c:406,1
    - Dst: os_malloc
      Src: /src/hostap/src/tls/x509v3.c:407,1
    - Dst: x509_free_name
      Src: /src/hostap/src/tls/x509v3.c:409,1
    - Dst: os_memcpy
      Src: /src/hostap/src/tls/x509v3.c:412,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/x509v3.c:425,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/tls/x509v3.c:428,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/x509v3.c:434,1
    - Dst: x509_free_name
      Src: /src/hostap/src/tls/x509v3.c:435,1
    - Dst: dup_binstr
      Src: /src/hostap/src/tls/x509v3.c:439,1
    - Dst: x509_free_name
      Src: /src/hostap/src/tls/x509v3.c:441,1
    - Dst: os_strlen
      Src: /src/hostap/src/tls/x509v3.c:444,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/x509v3.c:445,1
    - Dst: os_free
      Src: /src/hostap/src/tls/x509v3.c:448,1
    - Dst: x509_free_name
      Src: /src/hostap/src/tls/x509v3.c:449,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 100
    argCount: 4
    argNames:
    - buf
    - len
    - name
    - next
    argTypes:
    - u8*
    - size_t
    - struct x509_name*
    - u8**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 285
    functionDepth: 4
    functionLinenumber: 285
    functionLinenumberEnd: 459
    functionName: x509_parse_name
    functionSourceFile: /src/hostap/src/tls/x509v3.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - asn1_is_sequence
    - asn1_get_oid
    - asn1_is_string_type
    - os_memcpy
    - asn1_get_next
    - wpa_hexdump
    - os_malloc
    - asn1_unexpected
    - asn1_is_set
    - x509_free_name
    - os_free
    - wpa_hexdump_ascii
    - dup_binstr
    linkageType: ''
    returnType: int
    signature: "int x509_parse_name(const u8 *buf, size_t len, struct x509_name *name,\n\t\t
      \   const u8 **next)"
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - type
    argTypes:
    - enum x509_name_attr_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 483
    functionName: x509_name_attr_str
    functionSourceFile: /src/hostap/src/tls/x509v3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * x509_name_attr_str(enum x509_name_attr_type type)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/src/tls/x509v3.c:505,1
    - Dst: x509_name_attr_str
      Src: /src/hostap/src/tls/x509v3.c:506,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/tls/x509v3.c:508,1
    - Dst: os_snprintf
      Src: /src/hostap/src/tls/x509v3.c:521,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/tls/x509v3.c:523,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 3
    argNames:
    - name
    - buf
    - len
    argTypes:
    - struct x509_name*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 492
    functionDepth: 1
    functionLinenumber: 492
    functionLinenumberEnd: 532
    functionName: x509_name_string
    functionSourceFile: /src/hostap/src/tls/x509v3.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - x509_name_attr_str
    - os_snprintf_error
    linkageType: ''
    returnType: void
    signature: void x509_name_string(struct x509_name *name, char *buf, size_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/hostap/src/tls/x509v3.c:545,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pos
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 548
    functionName: parse_uint2
    functionSourceFile: /src/hostap/src/tls/x509v3.c
    functionUses: 0
    functionsReached:
    - sscanf
    linkageType: ''
    returnType: int
    signature: int parse_uint2(const char *pos, size_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/hostap/src/tls/x509v3.c:563,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pos
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 566
    functionName: parse_uint4
    functionSourceFile: /src/hostap/src/tls/x509v3.c
    functionUses: 0
    functionsReached:
    - sscanf
    linkageType: ''
    returnType: int
    signature: int parse_uint4(const char *pos, size_t len)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/tls/x509v3.c:590,1
    - Dst: parse_uint2
      Src: /src/hostap/src/tls/x509v3.c:594,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/tls/x509v3.c:596,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/tls/x509v3.c:608,1
    - Dst: parse_uint4
      Src: /src/hostap/src/tls/x509v3.c:612,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/tls/x509v3.c:614,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/x509v3.c:621,1
    - Dst: parse_uint2
      Src: /src/hostap/src/tls/x509v3.c:626,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/tls/x509v3.c:628,1
    - Dst: parse_uint2
      Src: /src/hostap/src/tls/x509v3.c:634,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/tls/x509v3.c:636,1
    - Dst: parse_uint2
      Src: /src/hostap/src/tls/x509v3.c:642,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/tls/x509v3.c:644,1
    - Dst: parse_uint2
      Src: /src/hostap/src/tls/x509v3.c:650,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/tls/x509v3.c:652,1
    - Dst: parse_uint2
      Src: /src/hostap/src/tls/x509v3.c:658,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/tls/x509v3.c:660,1
    - Dst: os_mktime
      Src: /src/hostap/src/tls/x509v3.c:665,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/tls/x509v3.c:666,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/x509v3.c:674,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 74
    argCount: 4
    argNames:
    - buf
    - len
    - asn1_tag
    - val
    argTypes:
    - u8*
    - size_t
    - u8
    - os_time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 569
    functionDepth: 1
    functionLinenumber: 569
    functionLinenumberEnd: 683
    functionName: x509_parse_time
    functionSourceFile: /src/hostap/src/tls/x509v3.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - parse_uint4
    - os_mktime
    - parse_uint2
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: int
    signature: int x509_parse_time(const u8 *buf, size_t len, u8 asn1_tag, os_time_t
      *val)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/x509v3.c:705,1
    - Dst: asn1_is_sequence
      Src: /src/hostap/src/tls/x509v3.c:705,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/x509v3.c:706,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/x509v3.c:717,1
    - Dst: asn1_is_utctime
      Src: /src/hostap/src/tls/x509v3.c:718,1
    - Dst: asn1_is_generalizedtime
      Src: /src/hostap/src/tls/x509v3.c:718,1
    - Dst: x509_parse_time
      Src: /src/hostap/src/tls/x509v3.c:719,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/tls/x509v3.c:721,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/x509v3.c:729,1
    - Dst: asn1_is_utctime
      Src: /src/hostap/src/tls/x509v3.c:730,1
    - Dst: asn1_is_generalizedtime
      Src: /src/hostap/src/tls/x509v3.c:730,1
    - Dst: x509_parse_time
      Src: /src/hostap/src/tls/x509v3.c:731,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/tls/x509v3.c:733,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/x509v3.c:738,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 4
    argNames:
    - buf
    - len
    - cert
    - next
    argTypes:
    - u8*
    - size_t
    - struct x509_certificate*
    - u8**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 686
    functionDepth: 3
    functionLinenumber: 686
    functionLinenumberEnd: 743
    functionName: x509_parse_validity
    functionSourceFile: /src/hostap/src/tls/x509v3.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - asn1_is_sequence
    - asn1_is_generalizedtime
    - asn1_get_next
    - asn1_unexpected
    - x509_parse_time
    - asn1_is_utctime
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: int
    signature: "int x509_parse_validity(const u8 *buf, size_t len,\n\t\t\t       struct
      x509_certificate *cert, const u8 **next)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - oid
    argTypes:
    - struct asn1_oid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 753
    functionName: x509_id_ce_oid
    functionSourceFile: /src/hostap/src/tls/x509v3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int x509_id_ce_oid(struct asn1_oid *oid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: x509_id_ce_oid
      Src: /src/hostap/src/tls/x509v3.c:759,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - oid
    argTypes:
    - struct asn1_oid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 756
    functionDepth: 1
    functionLinenumber: 756
    functionLinenumberEnd: 762
    functionName: x509_any_ext_key_usage_oid
    functionSourceFile: /src/hostap/src/tls/x509v3.c
    functionUses: 0
    functionsReached:
    - x509_id_ce_oid
    linkageType: ''
    returnType: int
    signature: int x509_any_ext_key_usage_oid(struct asn1_oid *oid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/x509v3.c:783,1
    - Dst: asn1_is_bitstring
      Src: /src/hostap/src/tls/x509v3.c:783,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/x509v3.c:785,1
    - Dst: asn1_bit_string_to_long
      Src: /src/hostap/src/tls/x509v3.c:790,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/x509v3.c:792,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - cert
    - pos
    - len
    argTypes:
    - struct x509_certificate*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 765
    functionDepth: 3
    functionLinenumber: 765
    functionLinenumberEnd: 795
    functionName: x509_parse_ext_key_usage
    functionSourceFile: /src/hostap/src/tls/x509v3.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - asn1_get_next
    - asn1_unexpected
    - asn1_is_bitstring
    - asn1_bit_string_to_long
    linkageType: ''
    returnType: int
    signature: "int x509_parse_ext_key_usage(struct x509_certificate *cert,\n\t\t\t\t
      \   const u8 *pos, size_t len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/x509v3.c:812,1
    - Dst: asn1_is_sequence
      Src: /src/hostap/src/tls/x509v3.c:812,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/x509v3.c:813,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/x509v3.c:824,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/x509v3.c:825,1
    - Dst: asn1_is_boolean
      Src: /src/hostap/src/tls/x509v3.c:830,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/x509v3.c:836,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/x509v3.c:840,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/x509v3.c:841,1
    - Dst: asn1_is_integer
      Src: /src/hostap/src/tls/x509v3.c:847,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/x509v3.c:848,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/x509v3.c:865,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 3
    argNames:
    - cert
    - pos
    - len
    argTypes:
    - struct x509_certificate*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 798
    functionDepth: 3
    functionLinenumber: 798
    functionLinenumberEnd: 870
    functionName: x509_parse_ext_basic_constraints
    functionSourceFile: /src/hostap/src/tls/x509v3.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - asn1_is_sequence
    - asn1_is_integer
    - asn1_get_next
    - asn1_unexpected
    - asn1_is_boolean
    linkageType: ''
    returnType: int
    signature: "int x509_parse_ext_basic_constraints(struct x509_certificate *cert,\n\t\t\t\t\t
      \   const u8 *pos, size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/tls/x509v3.c:877,1
    - Dst: os_free
      Src: /src/hostap/src/tls/x509v3.c:878,1
    - Dst: os_zalloc
      Src: /src/hostap/src/tls/x509v3.c:879,1
    - Dst: os_memcpy
      Src: /src/hostap/src/tls/x509v3.c:882,1
    - Dst: os_strlen
      Src: /src/hostap/src/tls/x509v3.c:883,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/x509v3.c:884,1
    - Dst: os_free
      Src: /src/hostap/src/tls/x509v3.c:887,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - name
    - pos
    - len
    argTypes:
    - struct x509_name*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 892
    functionName: x509_parse_alt_name_rfc8222
    functionSourceFile: /src/hostap/src/tls/x509v3.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_memcpy
    - wpa_printf
    - os_zalloc
    - os_free
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: int
    signature: "int x509_parse_alt_name_rfc8222(struct x509_name *name,\n\t\t\t\t
      \      const u8 *pos, size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/tls/x509v3.c:899,1
    - Dst: os_free
      Src: /src/hostap/src/tls/x509v3.c:900,1
    - Dst: os_zalloc
      Src: /src/hostap/src/tls/x509v3.c:901,1
    - Dst: os_memcpy
      Src: /src/hostap/src/tls/x509v3.c:904,1
    - Dst: os_strlen
      Src: /src/hostap/src/tls/x509v3.c:905,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/x509v3.c:906,1
    - Dst: os_free
      Src: /src/hostap/src/tls/x509v3.c:909,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - name
    - pos
    - len
    argTypes:
    - struct x509_name*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 914
    functionName: x509_parse_alt_name_dns
    functionSourceFile: /src/hostap/src/tls/x509v3.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_memcpy
    - wpa_printf
    - os_zalloc
    - os_free
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: int
    signature: "int x509_parse_alt_name_dns(struct x509_name *name,\n\t\t\t\t   const
      u8 *pos, size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/tls/x509v3.c:921,1
    - Dst: os_free
      Src: /src/hostap/src/tls/x509v3.c:924,1
    - Dst: os_zalloc
      Src: /src/hostap/src/tls/x509v3.c:925,1
    - Dst: os_memcpy
      Src: /src/hostap/src/tls/x509v3.c:928,1
    - Dst: os_strlen
      Src: /src/hostap/src/tls/x509v3.c:929,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/x509v3.c:930,1
    - Dst: os_free
      Src: /src/hostap/src/tls/x509v3.c:933,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - name
    - pos
    - len
    argTypes:
    - struct x509_name*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 917
    functionDepth: 0
    functionLinenumber: 917
    functionLinenumberEnd: 938
    functionName: x509_parse_alt_name_uri
    functionSourceFile: /src/hostap/src/tls/x509v3.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_memcpy
    - wpa_printf
    - os_zalloc
    - os_free
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: int
    signature: "int x509_parse_alt_name_uri(struct x509_name *name,\n\t\t\t\t   const
      u8 *pos, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/x509v3.c:945,1
    - Dst: os_free
      Src: /src/hostap/src/tls/x509v3.c:946,1
    - Dst: os_memdup
      Src: /src/hostap/src/tls/x509v3.c:947,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - name
    - pos
    - len
    argTypes:
    - struct x509_name*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 941
    functionDepth: 0
    functionLinenumber: 941
    functionLinenumberEnd: 952
    functionName: x509_parse_alt_name_ip
    functionSourceFile: /src/hostap/src/tls/x509v3.c
    functionUses: 0
    functionsReached:
    - os_free
    - os_memdup
    - wpa_hexdump
    linkageType: ''
    returnType: int
    signature: "int x509_parse_alt_name_ip(struct x509_name *name,\n\t\t\t\t       const
      u8 *pos, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: asn1_parse_oid
      Src: /src/hostap/src/tls/x509v3.c:961,1
    - Dst: asn1_oid_to_str
      Src: /src/hostap/src/tls/x509v3.c:964,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/x509v3.c:965,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - name
    - pos
    - len
    argTypes:
    - struct x509_name*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 955
    functionDepth: 2
    functionLinenumber: 955
    functionLinenumberEnd: 968
    functionName: x509_parse_alt_name_rid
    functionSourceFile: /src/hostap/src/tls/x509v3.c
    functionUses: 0
    functionsReached:
    - asn1_oid_to_str
    - wpa_printf
    - asn1_parse_oid
    linkageType: ''
    returnType: int
    signature: "int x509_parse_alt_name_rid(struct x509_name *name,\n\t\t\t\t   const
      u8 *pos, size_t len)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/x509v3.c:1003,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/x509v3.c:1004,1
    - Dst: x509_parse_alt_name_rfc8222
      Src: /src/hostap/src/tls/x509v3.c:1014,1
    - Dst: x509_parse_alt_name_dns
      Src: /src/hostap/src/tls/x509v3.c:1018,1
    - Dst: x509_parse_alt_name_uri
      Src: /src/hostap/src/tls/x509v3.c:1022,1
    - Dst: x509_parse_alt_name_ip
      Src: /src/hostap/src/tls/x509v3.c:1026,1
    - Dst: x509_parse_alt_name_rid
      Src: /src/hostap/src/tls/x509v3.c:1030,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 3
    argNames:
    - name
    - pos
    - len
    argTypes:
    - struct x509_name*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 971
    functionDepth: 3
    functionLinenumber: 971
    functionLinenumberEnd: 1046
    functionName: x509_parse_ext_alt_name
    functionSourceFile: /src/hostap/src/tls/x509v3.c
    functionUses: 0
    functionsReached:
    - x509_parse_alt_name_rfc8222
    - wpa_printf
    - x509_parse_alt_name_ip
    - asn1_get_next
    - x509_parse_alt_name_uri
    - x509_parse_alt_name_rid
    - x509_parse_alt_name_dns
    linkageType: ''
    returnType: int
    signature: "int x509_parse_ext_alt_name(struct x509_name *name,\n\t\t\t\t   const
      u8 *pos, size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/x509v3.c:1056,1
    - Dst: asn1_is_sequence
      Src: /src/hostap/src/tls/x509v3.c:1056,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/x509v3.c:1057,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/x509v3.c:1062,1
    - Dst: x509_parse_ext_alt_name
      Src: /src/hostap/src/tls/x509v3.c:1068,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - cert
    - pos
    - len
    argTypes:
    - struct x509_certificate*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 1049
    functionDepth: 4
    functionLinenumber: 1049
    functionLinenumberEnd: 1070
    functionName: x509_parse_ext_subject_alt_name
    functionSourceFile: /src/hostap/src/tls/x509v3.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - asn1_is_sequence
    - asn1_get_next
    - asn1_unexpected
    - x509_parse_ext_alt_name
    linkageType: ''
    returnType: int
    signature: "int x509_parse_ext_subject_alt_name(struct x509_certificate *cert,\n\t\t\t\t\t
      \  const u8 *pos, size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/x509v3.c:1080,1
    - Dst: asn1_is_sequence
      Src: /src/hostap/src/tls/x509v3.c:1080,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/x509v3.c:1081,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/x509v3.c:1086,1
    - Dst: x509_parse_ext_alt_name
      Src: /src/hostap/src/tls/x509v3.c:1092,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - cert
    - pos
    - len
    argTypes:
    - struct x509_certificate*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 1073
    functionDepth: 4
    functionLinenumber: 1073
    functionLinenumberEnd: 1094
    functionName: x509_parse_ext_issuer_alt_name
    functionSourceFile: /src/hostap/src/tls/x509v3.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - asn1_is_sequence
    - asn1_get_next
    - asn1_unexpected
    - x509_parse_ext_alt_name
    linkageType: ''
    returnType: int
    signature: "int x509_parse_ext_issuer_alt_name(struct x509_certificate *cert,\n\t\t\t\t\t
      \ const u8 *pos, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - oid
    argTypes:
    - struct asn1_oid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 1097
    functionDepth: 0
    functionLinenumber: 1097
    functionLinenumberEnd: 1105
    functionName: x509_id_cert_policy_any_oid
    functionSourceFile: /src/hostap/src/tls/x509v3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int x509_id_cert_policy_any_oid(struct asn1_oid *oid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 1
    argNames:
    - oid
    argTypes:
    - struct asn1_oid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1108
    functionDepth: 0
    functionLinenumber: 1108
    functionLinenumberEnd: 1118
    functionName: x509_id_wfa_oid
    functionSourceFile: /src/hostap/src/tls/x509v3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int x509_id_wfa_oid(struct asn1_oid *oid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: x509_id_wfa_oid
      Src: /src/hostap/src/tls/x509v3.c:1124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - oid
    argTypes:
    - struct asn1_oid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1121
    functionDepth: 1
    functionLinenumber: 1121
    functionLinenumberEnd: 1127
    functionName: x509_id_wfa_tod_oid
    functionSourceFile: /src/hostap/src/tls/x509v3.c
    functionUses: 0
    functionsReached:
    - x509_id_wfa_oid
    linkageType: ''
    returnType: int
    signature: int x509_id_wfa_tod_oid(struct asn1_oid *oid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: x509_id_wfa_tod_oid
      Src: /src/hostap/src/tls/x509v3.c:1133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - oid
    argTypes:
    - struct asn1_oid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1135
      start: 1130
    functionDepth: 2
    functionLinenumber: 1130
    functionLinenumberEnd: 1135
    functionName: x509_id_wfa_tod_strict_oid
    functionSourceFile: /src/hostap/src/tls/x509v3.c
    functionUses: 0
    functionsReached:
    - x509_id_wfa_tod_oid
    linkageType: ''
    returnType: int
    signature: int x509_id_wfa_tod_strict_oid(struct asn1_oid *oid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: x509_id_wfa_tod_oid
      Src: /src/hostap/src/tls/x509v3.c:1141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - oid
    argTypes:
    - struct asn1_oid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1143
      start: 1138
    functionDepth: 2
    functionLinenumber: 1138
    functionLinenumberEnd: 1143
    functionName: x509_id_wfa_tod_tofu_oid
    functionSourceFile: /src/hostap/src/tls/x509v3.c
    functionUses: 0
    functionsReached:
    - x509_id_wfa_tod_oid
    linkageType: ''
    returnType: int
    signature: int x509_id_wfa_tod_tofu_oid(struct asn1_oid *oid)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/x509v3.c:1163,1
    - Dst: asn1_is_sequence
      Src: /src/hostap/src/tls/x509v3.c:1163,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/x509v3.c:1164,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/x509v3.c:1173,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/x509v3.c:1180,1
    - Dst: asn1_is_sequence
      Src: /src/hostap/src/tls/x509v3.c:1181,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/x509v3.c:1182,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/x509v3.c:1190,1
    - Dst: asn1_get_oid
      Src: /src/hostap/src/tls/x509v3.c:1193,1
    - Dst: x509_id_cert_policy_any_oid
      Src: /src/hostap/src/tls/x509v3.c:1195,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/tls/x509v3.c:1196,1
    - Dst: x509_id_wfa_tod_strict_oid
      Src: /src/hostap/src/tls/x509v3.c:1199,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/tls/x509v3.c:1200,1
    - Dst: x509_id_wfa_tod_tofu_oid
      Src: /src/hostap/src/tls/x509v3.c:1203,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/tls/x509v3.c:1204,1
    - Dst: asn1_oid_to_str
      Src: /src/hostap/src/tls/x509v3.c:1208,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/x509v3.c:1210,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 3
    argNames:
    - cert
    - pos
    - len
    argTypes:
    - struct x509_certificate*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1218
      start: 1146
    functionDepth: 4
    functionLinenumber: 1146
    functionLinenumberEnd: 1218
    functionName: x509_parse_ext_certificate_policies
    functionSourceFile: /src/hostap/src/tls/x509v3.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - asn1_is_sequence
    - wpa_hexdump
    - asn1_get_next
    - os_strlcpy
    - x509_id_wfa_tod_tofu_oid
    - asn1_unexpected
    - x509_id_cert_policy_any_oid
    - asn1_oid_to_str
    - asn1_get_oid
    - x509_id_wfa_tod_strict_oid
    linkageType: ''
    returnType: int
    signature: "int x509_parse_ext_certificate_policies(struct x509_certificate *cert,\n\t\t\t\t\t
      \      const u8 *pos, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 1
    argNames:
    - oid
    argTypes:
    - struct asn1_oid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1231
      start: 1221
    functionDepth: 0
    functionLinenumber: 1221
    functionLinenumberEnd: 1231
    functionName: x509_id_pkix_oid
    functionSourceFile: /src/hostap/src/tls/x509v3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int x509_id_pkix_oid(struct asn1_oid *oid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: x509_id_pkix_oid
      Src: /src/hostap/src/tls/x509v3.c:1238,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - oid
    argTypes:
    - struct asn1_oid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1240
      start: 1234
    functionDepth: 1
    functionLinenumber: 1234
    functionLinenumberEnd: 1240
    functionName: x509_id_kp_oid
    functionSourceFile: /src/hostap/src/tls/x509v3.c
    functionUses: 0
    functionsReached:
    - x509_id_pkix_oid
    linkageType: ''
    returnType: int
    signature: int x509_id_kp_oid(struct asn1_oid *oid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: x509_id_kp_oid
      Src: /src/hostap/src/tls/x509v3.c:1247,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - oid
    argTypes:
    - struct asn1_oid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1249
      start: 1243
    functionDepth: 2
    functionLinenumber: 1243
    functionLinenumberEnd: 1249
    functionName: x509_id_kp_server_auth_oid
    functionSourceFile: /src/hostap/src/tls/x509v3.c
    functionUses: 0
    functionsReached:
    - x509_id_kp_oid
    linkageType: ''
    returnType: int
    signature: int x509_id_kp_server_auth_oid(struct asn1_oid *oid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: x509_id_kp_oid
      Src: /src/hostap/src/tls/x509v3.c:1256,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - oid
    argTypes:
    - struct asn1_oid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1258
      start: 1252
    functionDepth: 2
    functionLinenumber: 1252
    functionLinenumberEnd: 1258
    functionName: x509_id_kp_client_auth_oid
    functionSourceFile: /src/hostap/src/tls/x509v3.c
    functionUses: 0
    functionsReached:
    - x509_id_kp_oid
    linkageType: ''
    returnType: int
    signature: int x509_id_kp_client_auth_oid(struct asn1_oid *oid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: x509_id_kp_oid
      Src: /src/hostap/src/tls/x509v3.c:1265,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - oid
    argTypes:
    - struct asn1_oid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1267
      start: 1261
    functionDepth: 2
    functionLinenumber: 1261
    functionLinenumberEnd: 1267
    functionName: x509_id_kp_ocsp_oid
    functionSourceFile: /src/hostap/src/tls/x509v3.c
    functionUses: 0
    functionsReached:
    - x509_id_kp_oid
    linkageType: ''
    returnType: int
    signature: int x509_id_kp_ocsp_oid(struct asn1_oid *oid)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/x509v3.c:1283,1
    - Dst: asn1_is_sequence
      Src: /src/hostap/src/tls/x509v3.c:1283,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/x509v3.c:1284,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/x509v3.c:1293,1
    - Dst: asn1_get_oid
      Src: /src/hostap/src/tls/x509v3.c:1298,1
    - Dst: x509_any_ext_key_usage_oid
      Src: /src/hostap/src/tls/x509v3.c:1300,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/tls/x509v3.c:1301,1
    - Dst: x509_id_kp_server_auth_oid
      Src: /src/hostap/src/tls/x509v3.c:1303,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/tls/x509v3.c:1304,1
    - Dst: x509_id_kp_client_auth_oid
      Src: /src/hostap/src/tls/x509v3.c:1306,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/tls/x509v3.c:1307,1
    - Dst: x509_id_kp_ocsp_oid
      Src: /src/hostap/src/tls/x509v3.c:1309,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/tls/x509v3.c:1310,1
    - Dst: asn1_oid_to_str
      Src: /src/hostap/src/tls/x509v3.c:1313,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/x509v3.c:1315,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 3
    argNames:
    - cert
    - pos
    - len
    argTypes:
    - struct x509_certificate*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1321
      start: 1270
    functionDepth: 4
    functionLinenumber: 1270
    functionLinenumberEnd: 1321
    functionName: x509_parse_ext_ext_key_usage
    functionSourceFile: /src/hostap/src/tls/x509v3.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - asn1_is_sequence
    - wpa_hexdump
    - asn1_get_next
    - x509_id_kp_client_auth_oid
    - os_strlcpy
    - asn1_unexpected
    - x509_id_kp_server_auth_oid
    - asn1_oid_to_str
    - asn1_get_oid
    - x509_id_kp_ocsp_oid
    - x509_any_ext_key_usage_oid
    linkageType: ''
    returnType: int
    signature: "int x509_parse_ext_ext_key_usage(struct x509_certificate *cert,\n\t\t\t\t\tconst
      u8 *pos, size_t len)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: x509_id_ce_oid
      Src: /src/hostap/src/tls/x509v3.c:1328,1
    - Dst: x509_parse_ext_key_usage
      Src: /src/hostap/src/tls/x509v3.c:1338,1
    - Dst: x509_parse_ext_subject_alt_name
      Src: /src/hostap/src/tls/x509v3.c:1340,1
    - Dst: x509_parse_ext_issuer_alt_name
      Src: /src/hostap/src/tls/x509v3.c:1342,1
    - Dst: x509_parse_ext_basic_constraints
      Src: /src/hostap/src/tls/x509v3.c:1344,1
    - Dst: x509_parse_ext_certificate_policies
      Src: /src/hostap/src/tls/x509v3.c:1346,1
    - Dst: x509_parse_ext_ext_key_usage
      Src: /src/hostap/src/tls/x509v3.c:1348,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 4
    argNames:
    - cert
    - oid
    - pos
    - len
    argTypes:
    - struct x509_certificate*
    - struct asn1_oid*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1352
      start: 1324
    functionDepth: 5
    functionLinenumber: 1324
    functionLinenumberEnd: 1352
    functionName: x509_parse_extension_data
    functionSourceFile: /src/hostap/src/tls/x509v3.c
    functionUses: 0
    functionsReached:
    - x509_parse_ext_subject_alt_name
    - x509_parse_ext_basic_constraints
    - x509_parse_ext_ext_key_usage
    - x509_parse_ext_certificate_policies
    - x509_parse_ext_issuer_alt_name
    - x509_id_ce_oid
    - x509_parse_ext_key_usage
    linkageType: ''
    returnType: int
    signature: "int x509_parse_extension_data(struct x509_certificate *cert,\n\t\t\t\t
      \    struct asn1_oid *oid,\n\t\t\t\t     const u8 *pos, size_t len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/x509v3.c:1372,1
    - Dst: asn1_is_sequence
      Src: /src/hostap/src/tls/x509v3.c:1372,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/x509v3.c:1373,1
    - Dst: asn1_get_oid
      Src: /src/hostap/src/tls/x509v3.c:1379,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/x509v3.c:1380,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/x509v3.c:1385,1
    - Dst: asn1_is_boolean
      Src: /src/hostap/src/tls/x509v3.c:1386,1
    - Dst: asn1_is_octetstring
      Src: /src/hostap/src/tls/x509v3.c:1386,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/x509v3.c:1387,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/x509v3.c:1401,1
    - Dst: asn1_is_octetstring
      Src: /src/hostap/src/tls/x509v3.c:1402,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/x509v3.c:1405,1
    - Dst: asn1_oid_to_str
      Src: /src/hostap/src/tls/x509v3.c:1411,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/x509v3.c:1412,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/x509v3.c:1414,1
    - Dst: x509_parse_extension_data
      Src: /src/hostap/src/tls/x509v3.c:1416,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/x509v3.c:1420,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 4
    argNames:
    - cert
    - pos
    - len
    - next
    argTypes:
    - struct x509_certificate*
    - u8*
    - size_t
    - u8**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1426
      start: 1355
    functionDepth: 6
    functionLinenumber: 1355
    functionLinenumberEnd: 1426
    functionName: x509_parse_extension
    functionSourceFile: /src/hostap/src/tls/x509v3.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - asn1_is_sequence
    - wpa_hexdump
    - asn1_get_next
    - asn1_unexpected
    - asn1_is_octetstring
    - x509_parse_extension_data
    - asn1_oid_to_str
    - asn1_get_oid
    - asn1_is_boolean
    linkageType: ''
    returnType: int
    signature: "int x509_parse_extension(struct x509_certificate *cert,\n\t\t\t\tconst
      u8 *pos, size_t len, const u8 **next)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/x509v3.c:1437,1
    - Dst: asn1_is_sequence
      Src: /src/hostap/src/tls/x509v3.c:1437,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/x509v3.c:1438,1
    - Dst: x509_parse_extension
      Src: /src/hostap/src/tls/x509v3.c:1446,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - cert
    - pos
    - len
    argTypes:
    - struct x509_certificate*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1452
      start: 1429
    functionDepth: 7
    functionLinenumber: 1429
    functionLinenumberEnd: 1452
    functionName: x509_parse_extensions
    functionSourceFile: /src/hostap/src/tls/x509v3.c
    functionUses: 0
    functionsReached:
    - x509_parse_extension
    - asn1_is_sequence
    - asn1_unexpected
    - asn1_get_next
    linkageType: ''
    returnType: int
    signature: "int x509_parse_extensions(struct x509_certificate *cert,\n\t\t\t\t
      const u8 *pos, size_t len)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/x509v3.c:1467,1
    - Dst: asn1_is_sequence
      Src: /src/hostap/src/tls/x509v3.c:1467,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/x509v3.c:1468,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/x509v3.c:1479,1
    - Dst: asn1_is_cs_tag
      Src: /src/hostap/src/tls/x509v3.c:1483,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/x509v3.c:1484,1
    - Dst: asn1_is_integer
      Src: /src/hostap/src/tls/x509v3.c:1485,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/x509v3.c:1486,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/x509v3.c:1491,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/x509v3.c:1508,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/x509v3.c:1513,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/x509v3.c:1517,1
    - Dst: asn1_is_integer
      Src: /src/hostap/src/tls/x509v3.c:1520,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/x509v3.c:1522,1
    - Dst: os_memcpy
      Src: /src/hostap/src/tls/x509v3.c:1532,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/x509v3.c:1534,1
    - Dst: x509_parse_algorithm_identifier
      Src: /src/hostap/src/tls/x509v3.c:1538,1
    - Dst: x509_parse_name
      Src: /src/hostap/src/tls/x509v3.c:1543,1
    - Dst: x509_name_string
      Src: /src/hostap/src/tls/x509v3.c:1545,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/x509v3.c:1546,1
    - Dst: x509_parse_validity
      Src: /src/hostap/src/tls/x509v3.c:1549,1
    - Dst: x509_parse_name
      Src: /src/hostap/src/tls/x509v3.c:1554,1
    - Dst: os_malloc
      Src: /src/hostap/src/tls/x509v3.c:1556,1
    - Dst: os_memcpy
      Src: /src/hostap/src/tls/x509v3.c:1560,1
    - Dst: x509_name_string
      Src: /src/hostap/src/tls/x509v3.c:1561,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/x509v3.c:1562,1
    - Dst: x509_parse_public_key
      Src: /src/hostap/src/tls/x509v3.c:1565,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/x509v3.c:1574,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/x509v3.c:1576,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/x509v3.c:1583,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/x509v3.c:1590,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/x509v3.c:1592,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/x509v3.c:1600,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/x509v3.c:1607,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/x509v3.c:1609,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/x509v3.c:1616,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/x509v3.c:1625,1
    - Dst: x509_parse_extensions
      Src: /src/hostap/src/tls/x509v3.c:1631,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/x509v3.c:1636,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 112
    argCount: 4
    argNames:
    - buf
    - len
    - cert
    - next
    argTypes:
    - u8*
    - size_t
    - struct x509_certificate*
    - u8**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1642
      start: 1455
    functionDepth: 8
    functionLinenumber: 1455
    functionLinenumberEnd: 1642
    functionName: x509_parse_tbs_certificate
    functionSourceFile: /src/hostap/src/tls/x509v3.c
    functionUses: 0
    functionsReached:
    - x509_parse_validity
    - wpa_printf
    - asn1_is_sequence
    - os_memcpy
    - x509_name_string
    - asn1_is_integer
    - asn1_get_next
    - wpa_hexdump
    - asn1_is_cs_tag
    - asn1_unexpected
    - os_malloc
    - x509_parse_name
    - x509_parse_extensions
    - x509_parse_public_key
    - x509_parse_algorithm_identifier
    linkageType: ''
    returnType: int
    signature: "int x509_parse_tbs_certificate(const u8 *buf, size_t len,\n\t\t\t\t
      \     struct x509_certificate *cert,\n\t\t\t\t      const u8 **next)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - oid
    argTypes:
    - struct asn1_oid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1652
      start: 1645
    functionDepth: 0
    functionLinenumber: 1645
    functionLinenumberEnd: 1652
    functionName: x509_rsadsi_oid
    functionSourceFile: /src/hostap/src/tls/x509v3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int x509_rsadsi_oid(struct asn1_oid *oid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: x509_rsadsi_oid
      Src: /src/hostap/src/tls/x509v3.c:1658,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - oid
    argTypes:
    - struct asn1_oid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1660
      start: 1655
    functionDepth: 1
    functionLinenumber: 1655
    functionLinenumberEnd: 1660
    functionName: x509_pkcs_oid
    functionSourceFile: /src/hostap/src/tls/x509v3.c
    functionUses: 0
    functionsReached:
    - x509_rsadsi_oid
    linkageType: ''
    returnType: int
    signature: int x509_pkcs_oid(struct asn1_oid *oid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: x509_rsadsi_oid
      Src: /src/hostap/src/tls/x509v3.c:1666,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - oid
    argTypes:
    - struct asn1_oid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1668
      start: 1663
    functionDepth: 1
    functionLinenumber: 1663
    functionLinenumberEnd: 1668
    functionName: x509_digest_oid
    functionSourceFile: /src/hostap/src/tls/x509v3.c
    functionUses: 0
    functionsReached:
    - x509_rsadsi_oid
    linkageType: ''
    returnType: int
    signature: int x509_digest_oid(struct asn1_oid *oid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - oid
    argTypes:
    - struct asn1_oid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1680
      start: 1671
    functionDepth: 0
    functionLinenumber: 1671
    functionLinenumberEnd: 1680
    functionName: x509_sha1_oid
    functionSourceFile: /src/hostap/src/tls/x509v3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int x509_sha1_oid(struct asn1_oid *oid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 1
    argNames:
    - oid
    argTypes:
    - struct asn1_oid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1694
      start: 1683
    functionDepth: 0
    functionLinenumber: 1683
    functionLinenumberEnd: 1694
    functionName: x509_sha2_oid
    functionSourceFile: /src/hostap/src/tls/x509v3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int x509_sha2_oid(struct asn1_oid *oid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: x509_sha2_oid
      Src: /src/hostap/src/tls/x509v3.c:1699,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - oid
    argTypes:
    - struct asn1_oid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1701
      start: 1697
    functionDepth: 1
    functionLinenumber: 1697
    functionLinenumberEnd: 1701
    functionName: x509_sha256_oid
    functionSourceFile: /src/hostap/src/tls/x509v3.c
    functionUses: 0
    functionsReached:
    - x509_sha2_oid
    linkageType: ''
    returnType: int
    signature: int x509_sha256_oid(struct asn1_oid *oid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: x509_sha2_oid
      Src: /src/hostap/src/tls/x509v3.c:1706,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - oid
    argTypes:
    - struct asn1_oid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1708
      start: 1704
    functionDepth: 1
    functionLinenumber: 1704
    functionLinenumberEnd: 1708
    functionName: x509_sha384_oid
    functionSourceFile: /src/hostap/src/tls/x509v3.c
    functionUses: 0
    functionsReached:
    - x509_sha2_oid
    linkageType: ''
    returnType: int
    signature: int x509_sha384_oid(struct asn1_oid *oid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: x509_sha2_oid
      Src: /src/hostap/src/tls/x509v3.c:1713,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - oid
    argTypes:
    - struct asn1_oid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1715
      start: 1711
    functionDepth: 1
    functionLinenumber: 1711
    functionLinenumberEnd: 1715
    functionName: x509_sha512_oid
    functionSourceFile: /src/hostap/src/tls/x509v3.c
    functionUses: 0
    functionsReached:
    - x509_sha2_oid
    linkageType: ''
    returnType: int
    signature: int x509_sha512_oid(struct asn1_oid *oid)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/tls/x509v3.c:1733,1
    - Dst: os_memcpy
      Src: /src/hostap/src/tls/x509v3.c:1736,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/x509v3.c:1746,1
    - Dst: asn1_is_sequence
      Src: /src/hostap/src/tls/x509v3.c:1746,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/x509v3.c:1747,1
    - Dst: x509_certificate_free
      Src: /src/hostap/src/tls/x509v3.c:1749,1
    - Dst: x509_certificate_free
      Src: /src/hostap/src/tls/x509v3.c:1755,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/x509v3.c:1760,1
    - Dst: x509_parse_tbs_certificate
      Src: /src/hostap/src/tls/x509v3.c:1768,1
    - Dst: x509_certificate_free
      Src: /src/hostap/src/tls/x509v3.c:1769,1
    - Dst: x509_parse_algorithm_identifier
      Src: /src/hostap/src/tls/x509v3.c:1775,1
    - Dst: x509_certificate_free
      Src: /src/hostap/src/tls/x509v3.c:1777,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/x509v3.c:1782,1
    - Dst: asn1_is_bitstring
      Src: /src/hostap/src/tls/x509v3.c:1783,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/x509v3.c:1784,1
    - Dst: x509_certificate_free
      Src: /src/hostap/src/tls/x509v3.c:1786,1
    - Dst: x509_certificate_free
      Src: /src/hostap/src/tls/x509v3.c:1790,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/x509v3.c:1795,1
    - Dst: x509_certificate_free
      Src: /src/hostap/src/tls/x509v3.c:1802,1
    - Dst: os_free
      Src: /src/hostap/src/tls/x509v3.c:1805,1
    - Dst: os_memdup
      Src: /src/hostap/src/tls/x509v3.c:1806,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/x509v3.c:1808,1
    - Dst: x509_certificate_free
      Src: /src/hostap/src/tls/x509v3.c:1810,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/x509v3.c:1814,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 59
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1818
      start: 1727
    functionDepth: 9
    functionLinenumber: 1727
    functionLinenumberEnd: 1818
    functionName: x509_certificate_parse
    functionSourceFile: /src/hostap/src/tls/x509v3.c
    functionUses: 2
    functionsReached:
    - os_memcpy
    - asn1_is_sequence
    - wpa_printf
    - wpa_hexdump
    - asn1_get_next
    - os_memdup
    - asn1_unexpected
    - os_zalloc
    - asn1_is_bitstring
    - x509_parse_tbs_certificate
    - x509_parse_algorithm_identifier
    - os_free
    - x509_certificate_free
    linkageType: ''
    returnType: struct x509_certificate
    signature: struct x509_certificate * x509_certificate_parse(const u8 *buf, size_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: x509_check_signature
      Src: /src/hostap/src/tls/x509v3.c:1831,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - issuer
    - cert
    argTypes:
    - struct x509_certificate*
    - struct x509_certificate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1834
      start: 1828
    functionDepth: 1
    functionLinenumber: 1828
    functionLinenumberEnd: 1834
    functionName: x509_certificate_check_signature
    functionSourceFile: /src/hostap/src/tls/x509v3.c
    functionUses: 0
    functionsReached:
    - x509_check_signature
    linkageType: ''
    returnType: int
    signature: "int x509_certificate_check_signature(struct x509_certificate *issuer,\n\t\t\t\t
      \    struct x509_certificate *cert)"
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: x509_pkcs_oid
      Src: /src/hostap/src/tls/x509v3.c:1853,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/x509v3.c:1856,1
    - Dst: crypto_public_key_import
      Src: /src/hostap/src/tls/x509v3.c:1861,1
    - Dst: os_malloc
      Src: /src/hostap/src/tls/x509v3.c:1867,1
    - Dst: crypto_public_key_free
      Src: /src/hostap/src/tls/x509v3.c:1869,1
    - Dst: crypto_public_key_decrypt_pkcs1
      Src: /src/hostap/src/tls/x509v3.c:1873,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/x509v3.c:1876,1
    - Dst: crypto_public_key_free
      Src: /src/hostap/src/tls/x509v3.c:1877,1
    - Dst: os_free
      Src: /src/hostap/src/tls/x509v3.c:1878,1
    - Dst: crypto_public_key_free
      Src: /src/hostap/src/tls/x509v3.c:1881,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/x509v3.c:1883,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/x509v3.c:1898,1
    - Dst: asn1_is_sequence
      Src: /src/hostap/src/tls/x509v3.c:1899,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/x509v3.c:1900,1
    - Dst: os_free
      Src: /src/hostap/src/tls/x509v3.c:1901,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/x509v3.c:1904,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/x509v3.c:1917,1
    - Dst: asn1_is_sequence
      Src: /src/hostap/src/tls/x509v3.c:1918,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/x509v3.c:1919,1
    - Dst: os_free
      Src: /src/hostap/src/tls/x509v3.c:1921,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/x509v3.c:1924,1
    - Dst: asn1_get_oid
      Src: /src/hostap/src/tls/x509v3.c:1928,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/x509v3.c:1929,1
    - Dst: os_free
      Src: /src/hostap/src/tls/x509v3.c:1930,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/x509v3.c:1933,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/x509v3.c:1942,1
    - Dst: asn1_is_null
      Src: /src/hostap/src/tls/x509v3.c:1943,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/x509v3.c:1945,1
    - Dst: os_free
      Src: /src/hostap/src/tls/x509v3.c:1947,1
    - Dst: x509_sha1_oid
      Src: /src/hostap/src/tls/x509v3.c:1951,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/x509v3.c:1953,1
    - Dst: os_free
      Src: /src/hostap/src/tls/x509v3.c:1957,1
    - Dst: x509_sha256_oid
      Src: /src/hostap/src/tls/x509v3.c:1963,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/x509v3.c:1966,1
    - Dst: os_free
      Src: /src/hostap/src/tls/x509v3.c:1970,1
    - Dst: x509_sha384_oid
      Src: /src/hostap/src/tls/x509v3.c:1976,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/x509v3.c:1978,1
    - Dst: os_free
      Src: /src/hostap/src/tls/x509v3.c:1982,1
    - Dst: x509_sha512_oid
      Src: /src/hostap/src/tls/x509v3.c:1988,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/x509v3.c:1990,1
    - Dst: os_free
      Src: /src/hostap/src/tls/x509v3.c:1994,1
    - Dst: x509_digest_oid
      Src: /src/hostap/src/tls/x509v3.c:2000,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/x509v3.c:2001,1
    - Dst: os_free
      Src: /src/hostap/src/tls/x509v3.c:2002,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/x509v3.c:2008,1
    - Dst: os_free
      Src: /src/hostap/src/tls/x509v3.c:2012,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/x509v3.c:2019,1
    - Dst: os_free
      Src: /src/hostap/src/tls/x509v3.c:2021,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/x509v3.c:2029,1
    - Dst: asn1_is_octetstring
      Src: /src/hostap/src/tls/x509v3.c:2030,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/x509v3.c:2031,1
    - Dst: os_free
      Src: /src/hostap/src/tls/x509v3.c:2032,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/x509v3.c:2035,1
    - Dst: md5_vector
      Src: /src/hostap/src/tls/x509v3.c:2040,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/x509v3.c:2042,1
    - Dst: sha1_vector
      Src: /src/hostap/src/tls/x509v3.c:2046,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/x509v3.c:2048,1
    - Dst: sha256_vector
      Src: /src/hostap/src/tls/x509v3.c:2052,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/x509v3.c:2054,1
    - Dst: sha384_vector
      Src: /src/hostap/src/tls/x509v3.c:2058,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/x509v3.c:2060,1
    - Dst: sha512_vector
      Src: /src/hostap/src/tls/x509v3.c:2064,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/x509v3.c:2066,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/x509v3.c:2071,1
    - Dst: os_free
      Src: /src/hostap/src/tls/x509v3.c:2073,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/tls/x509v3.c:2078,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/x509v3.c:2079,1
    - Dst: os_free
      Src: /src/hostap/src/tls/x509v3.c:2081,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/x509v3.c:2086,1
    - Dst: os_free
      Src: /src/hostap/src/tls/x509v3.c:2090,1
    - Dst: os_free
      Src: /src/hostap/src/tls/x509v3.c:2094,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/x509v3.c:2096,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 158
    argCount: 6
    argNames:
    - issuer
    - signature
    - sign_value
    - sign_value_len
    - signed_data
    - signed_data_len
    argTypes:
    - struct x509_certificate*
    - struct x509_algorithm_identifier*
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2100
      start: 1837
    functionDepth: 4
    functionLinenumber: 1837
    functionLinenumberEnd: 2100
    functionName: x509_check_signature
    functionSourceFile: /src/hostap/src/tls/x509v3.c
    functionUses: 1
    functionsReached:
    - asn1_is_sequence
    - wpa_hexdump
    - crypto_public_key_free
    - crypto_public_key_import
    - crypto_public_key_decrypt_pkcs1
    - sha512_vector
    - sha256_vector
    - wpa_printf
    - asn1_unexpected
    - os_free
    - md5_vector
    - x509_sha1_oid
    - asn1_get_next
    - sha384_vector
    - os_malloc
    - x509_sha512_oid
    - asn1_get_oid
    - x509_digest_oid
    - asn1_is_null
    - sha1_vector
    - asn1_is_octetstring
    - os_memcmp_const
    - x509_sha384_oid
    - x509_pkcs_oid
    - x509_sha256_oid
    linkageType: ''
    returnType: int
    signature: "int x509_check_signature(struct x509_certificate *issuer,\n\t\t\t
      struct x509_algorithm_identifier *signature,\n\t\t\t const u8 *sign_value, size_t
      sign_value_len,\n\t\t\t const u8 *signed_data, size_t signed_data_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/x509v3.c:2107,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/x509v3.c:2114,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/x509v3.c:2121,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - cert
    argTypes:
    - struct x509_certificate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2127
      start: 2103
    functionDepth: 0
    functionLinenumber: 2103
    functionLinenumberEnd: 2127
    functionName: x509_valid_issuer
    functionSourceFile: /src/hostap/src/tls/x509v3.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int x509_valid_issuer(const struct x509_certificate *cert)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/x509v3.c:2150,1
    - Dst: os_get_time
      Src: /src/hostap/src/tls/x509v3.c:2151,1
    - Dst: x509_name_string
      Src: /src/hostap/src/tls/x509v3.c:2155,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/x509v3.c:2156,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/x509v3.c:2166,1
    - Dst: x509_name_compare
      Src: /src/hostap/src/tls/x509v3.c:2174,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/x509v3.c:2176,1
    - Dst: x509_name_string
      Src: /src/hostap/src/tls/x509v3.c:2178,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/x509v3.c:2180,1
    - Dst: x509_name_string
      Src: /src/hostap/src/tls/x509v3.c:2182,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/x509v3.c:2184,1
    - Dst: x509_valid_issuer
      Src: /src/hostap/src/tls/x509v3.c:2190,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/x509v3.c:2198,1
    - Dst: x509_certificate_check_signature
      Src: /src/hostap/src/tls/x509v3.c:2206,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/x509v3.c:2208,1
    - Dst: x509_name_compare
      Src: /src/hostap/src/tls/x509v3.c:2217,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/x509v3.c:2223,1
    - Dst: x509_valid_issuer
      Src: /src/hostap/src/tls/x509v3.c:2225,1
    - Dst: x509_certificate_check_signature
      Src: /src/hostap/src/tls/x509v3.c:2230,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/x509v3.c:2232,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/x509v3.c:2238,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/x509v3.c:2246,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/x509v3.c:2252,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/x509v3.c:2256,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 70
    argCount: 4
    argNames:
    - trusted
    - chain
    - reason
    - disable_time_checks
    argTypes:
    - struct x509_certificate*
    - struct x509_certificate*
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2259
      start: 2138
    functionDepth: 4
    functionLinenumber: 2138
    functionLinenumberEnd: 2259
    functionName: x509_certificate_chain_validate
    functionSourceFile: /src/hostap/src/tls/x509v3.c
    functionUses: 1
    functionsReached:
    - x509_name_string
    - wpa_printf
    - x509_name_compare
    - os_get_time
    - x509_valid_issuer
    - x509_certificate_check_signature
    linkageType: ''
    returnType: int
    signature: "int x509_certificate_chain_validate(struct x509_certificate *trusted,\n\t\t\t\t
      \   struct x509_certificate *chain,\n\t\t\t\t    int *reason, int disable_time_checks)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: x509_name_compare
      Src: /src/hostap/src/tls/x509v3.c:2276,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - chain
    - name
    argTypes:
    - struct x509_certificate*
    - struct x509_name*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2280
      start: 2269
    functionDepth: 4
    functionLinenumber: 2269
    functionLinenumberEnd: 2280
    functionName: x509_certificate_get_subject
    functionSourceFile: /src/hostap/src/tls/x509v3.c
    functionUses: 0
    functionsReached:
    - x509_name_compare
    linkageType: ''
    returnType: struct x509_certificate
    signature: "struct x509_certificate *\nx509_certificate_get_subject(struct x509_certificate
      *chain,\n\t\t\t     struct x509_name *name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: x509_name_compare
      Src: /src/hostap/src/tls/x509v3.c:2290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cert
    argTypes:
    - struct x509_certificate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2291
      start: 2288
    functionDepth: 4
    functionLinenumber: 2288
    functionLinenumberEnd: 2291
    functionName: x509_certificate_self_signed
    functionSourceFile: /src/hostap/src/tls/x509v3.c
    functionUses: 0
    functionsReached:
    - x509_name_compare
    linkageType: ''
    returnType: int
    signature: int x509_certificate_self_signed(struct x509_certificate *cert)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - suite
    argTypes:
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionName: tls_get_cipher_suite
    functionSourceFile: /src/hostap/src/tls/tlsv1_common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct tls_cipher_suite
    signature: struct tls_cipher_suite * tls_get_cipher_suite(u16 suite)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - tls_cipher
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 116
    functionName: tls_get_cipher_data
    functionSourceFile: /src/hostap/src/tls/tlsv1_common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct tls_cipher_data
    signature: struct tls_cipher_data * tls_get_cipher_data(tls_cipher cipher)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tls_get_cipher_suite
      Src: /src/hostap/src/tls/tlsv1_common.c:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - tls_cipher
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 141
    functionName: tls_server_key_exchange_allowed
    functionSourceFile: /src/hostap/src/tls/tlsv1_common.c
    functionUses: 0
    functionsReached:
    - tls_get_cipher_suite
    linkageType: ''
    returnType: int
    signature: int tls_server_key_exchange_allowed(tls_cipher cipher)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/tlsv1_common.c:159,1
    - Dst: crypto_public_key_from_cert
      Src: /src/hostap/src/tls/tlsv1_common.c:162,1
    - Dst: x509_certificate_parse
      Src: /src/hostap/src/tls/tlsv1_common.c:166,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_common.c:168,1
    - Dst: crypto_public_key_import
      Src: /src/hostap/src/tls/tlsv1_common.c:185,1
    - Dst: x509_certificate_free
      Src: /src/hostap/src/tls/tlsv1_common.c:186,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_common.c:189,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - buf
    - len
    - pk
    argTypes:
    - u8*
    - size_t
    - struct crypto_public_key**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 155
    functionDepth: 10
    functionLinenumber: 155
    functionLinenumberEnd: 195
    functionName: tls_parse_cert
    functionSourceFile: /src/hostap/src/tls/tlsv1_common.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    - crypto_public_key_import
    - x509_certificate_parse
    - crypto_public_key_from_cert
    - x509_certificate_free
    linkageType: ''
    returnType: int
    signature: int tls_parse_cert(const u8 *buf, size_t len, struct crypto_public_key
      **pk)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tls_verify_hash_free
      Src: /src/hostap/src/tls/tlsv1_common.c:200,1
    - Dst: crypto_hash_init
      Src: /src/hostap/src/tls/tlsv1_common.c:201,1
    - Dst: crypto_hash_init
      Src: /src/hostap/src/tls/tlsv1_common.c:202,1
    - Dst: crypto_hash_init
      Src: /src/hostap/src/tls/tlsv1_common.c:203,1
    - Dst: crypto_hash_init
      Src: /src/hostap/src/tls/tlsv1_common.c:204,1
    - Dst: crypto_hash_init
      Src: /src/hostap/src/tls/tlsv1_common.c:205,1
    - Dst: crypto_hash_init
      Src: /src/hostap/src/tls/tlsv1_common.c:206,1
    - Dst: tls_verify_hash_free
      Src: /src/hostap/src/tls/tlsv1_common.c:210,1
    - Dst: crypto_hash_init
      Src: /src/hostap/src/tls/tlsv1_common.c:214,1
    - Dst: crypto_hash_init
      Src: /src/hostap/src/tls/tlsv1_common.c:216,1
    - Dst: crypto_hash_init
      Src: /src/hostap/src/tls/tlsv1_common.c:218,1
    - Dst: tls_verify_hash_free
      Src: /src/hostap/src/tls/tlsv1_common.c:222,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 1
    argNames:
    - verify
    argTypes:
    - struct tls_verify_hash*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 227
    functionName: tls_verify_hash_init
    functionSourceFile: /src/hostap/src/tls/tlsv1_common.c
    functionUses: 0
    functionsReached:
    - tls_verify_hash_free
    - crypto_hash_init
    linkageType: ''
    returnType: int
    signature: int tls_verify_hash_init(struct tls_verify_hash *verify)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: crypto_hash_update
      Src: /src/hostap/src/tls/tlsv1_common.c:234,1
    - Dst: crypto_hash_update
      Src: /src/hostap/src/tls/tlsv1_common.c:235,1
    - Dst: crypto_hash_update
      Src: /src/hostap/src/tls/tlsv1_common.c:238,1
    - Dst: crypto_hash_update
      Src: /src/hostap/src/tls/tlsv1_common.c:239,1
    - Dst: crypto_hash_update
      Src: /src/hostap/src/tls/tlsv1_common.c:242,1
    - Dst: crypto_hash_update
      Src: /src/hostap/src/tls/tlsv1_common.c:243,1
    - Dst: crypto_hash_update
      Src: /src/hostap/src/tls/tlsv1_common.c:247,1
    - Dst: crypto_hash_update
      Src: /src/hostap/src/tls/tlsv1_common.c:249,1
    - Dst: crypto_hash_update
      Src: /src/hostap/src/tls/tlsv1_common.c:251,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - verify
    - buf
    - len
    argTypes:
    - struct tls_verify_hash*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 253
    functionName: tls_verify_hash_add
    functionSourceFile: /src/hostap/src/tls/tlsv1_common.c
    functionUses: 0
    functionsReached:
    - crypto_hash_update
    linkageType: ''
    returnType: void
    signature: "void tls_verify_hash_add(struct tls_verify_hash *verify, const u8
      *buf,\n\t\t\t size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_hash_finish
      Src: /src/hostap/src/tls/tlsv1_common.c:258,1
    - Dst: crypto_hash_finish
      Src: /src/hostap/src/tls/tlsv1_common.c:259,1
    - Dst: crypto_hash_finish
      Src: /src/hostap/src/tls/tlsv1_common.c:260,1
    - Dst: crypto_hash_finish
      Src: /src/hostap/src/tls/tlsv1_common.c:261,1
    - Dst: crypto_hash_finish
      Src: /src/hostap/src/tls/tlsv1_common.c:262,1
    - Dst: crypto_hash_finish
      Src: /src/hostap/src/tls/tlsv1_common.c:263,1
    - Dst: crypto_hash_finish
      Src: /src/hostap/src/tls/tlsv1_common.c:271,1
    - Dst: crypto_hash_finish
      Src: /src/hostap/src/tls/tlsv1_common.c:272,1
    - Dst: crypto_hash_finish
      Src: /src/hostap/src/tls/tlsv1_common.c:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 1
    argNames:
    - verify
    argTypes:
    - struct tls_verify_hash*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 278
    functionName: tls_verify_hash_free
    functionSourceFile: /src/hostap/src/tls/tlsv1_common.c
    functionUses: 1
    functionsReached:
    - crypto_hash_finish
    linkageType: ''
    returnType: void
    signature: void tls_verify_hash_free(struct tls_verify_hash *verify)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ver
    argTypes:
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 295
    functionName: tls_version_ok
    functionSourceFile: /src/hostap/src/tls/tlsv1_common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tls_version_ok(u16 ver)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ver
    argTypes:
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 310
    functionName: tls_version_str
    functionSourceFile: /src/hostap/src/tls/tlsv1_common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * tls_version_str(u16 ver)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tls_prf_sha256
      Src: /src/hostap/src/tls/tlsv1_common.c:318,1
    - Dst: tls_prf_sha1_md5
      Src: /src/hostap/src/tls/tlsv1_common.c:324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 8
    argNames:
    - ver
    - secret
    - secret_len
    - label
    - seed
    - seed_len
    - out
    - outlen
    argTypes:
    - u16
    - u8*
    - size_t
    - char*
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 313
    functionDepth: 2
    functionLinenumber: 313
    functionLinenumberEnd: 326
    functionName: tls_prf
    functionSourceFile: /src/hostap/src/tls/tlsv1_common.c
    functionUses: 1
    functionsReached:
    - tls_prf_sha1_md5
    - tls_prf_sha256
    linkageType: ''
    returnType: int
    signature: "int tls_prf(u16 ver, const u8 *secret, size_t secret_len, const char
      *label,\n\t    const u8 *seed, size_t seed_len, u8 *out, size_t outlen)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: crypto_hash_init
      Src: /src/hostap/src/tls/tlsv1_common.c:356,1
    - Dst: crypto_hash_update
      Src: /src/hostap/src/tls/tlsv1_common.c:359,1
    - Dst: crypto_hash_update
      Src: /src/hostap/src/tls/tlsv1_common.c:360,1
    - Dst: crypto_hash_update
      Src: /src/hostap/src/tls/tlsv1_common.c:361,1
    - Dst: crypto_hash_finish
      Src: /src/hostap/src/tls/tlsv1_common.c:362,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 7
    argNames:
    - tls_version
    - hash_alg
    - client_random
    - server_random
    - server_params
    - server_params_len
    - hash
    argTypes:
    - u16
    - u8
    - u8*
    - u8*
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 366
    functionName: tlsv12_key_x_server_params_hash
    functionSourceFile: /src/hostap/src/tls/tlsv1_common.c
    functionUses: 0
    functionsReached:
    - crypto_hash_finish
    - crypto_hash_update
    - crypto_hash_init
    linkageType: ''
    returnType: int
    signature: "int tlsv12_key_x_server_params_hash(u16 tls_version, u8 hash_alg,\n\t\t\t\t
      \   const u8 *client_random,\n\t\t\t\t    const u8 *server_random,\n\t\t\t\t
      \   const u8 *server_params,\n\t\t\t\t    size_t server_params_len, u8 *hash)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: crypto_hash_init
      Src: /src/hostap/src/tls/tlsv1_common.c:381,1
    - Dst: crypto_hash_update
      Src: /src/hostap/src/tls/tlsv1_common.c:384,1
    - Dst: crypto_hash_update
      Src: /src/hostap/src/tls/tlsv1_common.c:385,1
    - Dst: crypto_hash_update
      Src: /src/hostap/src/tls/tlsv1_common.c:386,1
    - Dst: crypto_hash_finish
      Src: /src/hostap/src/tls/tlsv1_common.c:390,1
    - Dst: crypto_hash_init
      Src: /src/hostap/src/tls/tlsv1_common.c:394,1
    - Dst: crypto_hash_update
      Src: /src/hostap/src/tls/tlsv1_common.c:397,1
    - Dst: crypto_hash_update
      Src: /src/hostap/src/tls/tlsv1_common.c:398,1
    - Dst: crypto_hash_update
      Src: /src/hostap/src/tls/tlsv1_common.c:399,1
    - Dst: crypto_hash_finish
      Src: /src/hostap/src/tls/tlsv1_common.c:401,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 7
    argNames:
    - tls_version
    - client_random
    - server_random
    - server_params
    - server_params_len
    - hash
    - hsz
    argTypes:
    - u16
    - u8*
    - u8*
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 405
    functionName: tls_key_x_server_params_hash
    functionSourceFile: /src/hostap/src/tls/tlsv1_common.c
    functionUses: 0
    functionsReached:
    - crypto_hash_finish
    - crypto_hash_update
    - crypto_hash_init
    linkageType: ''
    returnType: int
    signature: "int tls_key_x_server_params_hash(u16 tls_version, const u8 *client_random,\n\t\t\t\t
      const u8 *server_random,\n\t\t\t\t const u8 *server_params,\n\t\t\t\t size_t
      server_params_len, u8 *hash, size_t hsz)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/tls/tlsv1_common.c:422,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/tlsv1_common.c:429,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/tlsv1_common.c:434,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_common.c:436,1
    - Dst: os_malloc
      Src: /src/hostap/src/tls/tlsv1_common.c:442,1
    - Dst: crypto_public_key_decrypt_pkcs1
      Src: /src/hostap/src/tls/tlsv1_common.c:447,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_common.c:449,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_common.c:450,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/tls/tlsv1_common.c:456,1
    - Dst: os_memcmp
      Src: /src/hostap/src/tls/tlsv1_common.c:476,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_common.c:479,1
    - Dst: os_memcmp
      Src: /src/hostap/src/tls/tlsv1_common.c:483,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_common.c:486,1
    - Dst: os_memcmp
      Src: /src/hostap/src/tls/tlsv1_common.c:490,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_common.c:493,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_common.c:498,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_common.c:499,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/tls/tlsv1_common.c:507,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_common.c:508,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_common.c:509,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_common.c:514,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 65
    argCount: 7
    argNames:
    - tls_version
    - pk
    - data
    - data_len
    - pos
    - len
    - alert
    argTypes:
    - u16
    - struct crypto_public_key*
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 517
    functionName: tls_verify_signature
    functionSourceFile: /src/hostap/src/tls/tlsv1_common.c
    functionUses: 0
    functionsReached:
    - WPA_GET_BE16
    - wpa_printf
    - wpa_hexdump_key
    - wpa_hexdump
    - os_malloc
    - os_memcmp_const
    - crypto_public_key_decrypt_pkcs1
    - os_memcmp
    - os_free
    linkageType: ''
    returnType: int
    signature: "int tls_verify_signature(u16 tls_version, struct crypto_public_key
      *pk,\n\t\t\t const u8 *data, size_t data_len,\n\t\t\t const u8 *pos, size_t
      len, u8 *alert)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/rsa.c:39,1
    - Dst: asn1_is_integer
      Src: /src/hostap/src/tls/rsa.c:40,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/rsa.c:41,1
    - Dst: bignum_set_unsigned_bin
      Src: /src/hostap/src/tls/rsa.c:45,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/rsa.c:46,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - pos
    - end
    - num
    argTypes:
    - u8*
    - u8*
    - struct bignum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 31
    functionDepth: 3
    functionLinenumber: 31
    functionLinenumberEnd: 51
    functionName: crypto_rsa_parse_integer
    functionSourceFile: /src/hostap/src/tls/rsa.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - asn1_is_integer
    - asn1_get_next
    - asn1_unexpected
    - bignum_set_unsigned_bin
    linkageType: ''
    returnType: u8
    signature: "u8 * crypto_rsa_parse_integer(const u8 *pos, const u8 *end,\n\t\t\t\t\t
      \  struct bignum *num)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/tls/rsa.c:67,1
    - Dst: bignum_init
      Src: /src/hostap/src/tls/rsa.c:71,1
    - Dst: bignum_init
      Src: /src/hostap/src/tls/rsa.c:72,1
    - Dst: crypto_rsa_free
      Src: /src/hostap/src/tls/rsa.c:74,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/rsa.c:86,1
    - Dst: asn1_is_sequence
      Src: /src/hostap/src/tls/rsa.c:86,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/rsa.c:87,1
    - Dst: crypto_rsa_parse_integer
      Src: /src/hostap/src/tls/rsa.c:93,1
    - Dst: crypto_rsa_parse_integer
      Src: /src/hostap/src/tls/rsa.c:94,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/rsa.c:100,1
    - Dst: crypto_rsa_free
      Src: /src/hostap/src/tls/rsa.c:109,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 60
    functionDepth: 4
    functionLinenumber: 60
    functionLinenumberEnd: 111
    functionName: crypto_rsa_import_public_key
    functionSourceFile: /src/hostap/src/tls/rsa.c
    functionUses: 1
    functionsReached:
    - asn1_is_sequence
    - wpa_hexdump
    - asn1_get_next
    - asn1_unexpected
    - os_zalloc
    - crypto_rsa_parse_integer
    - bignum_init
    - crypto_rsa_free
    linkageType: ''
    returnType: struct crypto_rsa_key
    signature: 'struct crypto_rsa_key *

      crypto_rsa_import_public_key(const u8 *buf, size_t len)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/tls/rsa.c:120,1
    - Dst: bignum_init
      Src: /src/hostap/src/tls/rsa.c:124,1
    - Dst: bignum_init
      Src: /src/hostap/src/tls/rsa.c:125,1
    - Dst: bignum_set_unsigned_bin
      Src: /src/hostap/src/tls/rsa.c:127,1
    - Dst: bignum_set_unsigned_bin
      Src: /src/hostap/src/tls/rsa.c:128,1
    - Dst: crypto_rsa_free
      Src: /src/hostap/src/tls/rsa.c:129,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 4
    argNames:
    - n
    - n_len
    - e
    - e_len
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 134
    functionName: crypto_rsa_import_public_key_parts
    functionSourceFile: /src/hostap/src/tls/rsa.c
    functionUses: 1
    functionsReached:
    - bignum_set_unsigned_bin
    - os_zalloc
    - bignum_init
    - crypto_rsa_free
    linkageType: ''
    returnType: struct crypto_rsa_key
    signature: "struct crypto_rsa_key *\ncrypto_rsa_import_public_key_parts(const
      u8 *n, size_t n_len,\n\t\t\t\t   const u8 *e, size_t e_len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/tls/rsa.c:151,1
    - Dst: bignum_init
      Src: /src/hostap/src/tls/rsa.c:157,1
    - Dst: bignum_init
      Src: /src/hostap/src/tls/rsa.c:158,1
    - Dst: bignum_init
      Src: /src/hostap/src/tls/rsa.c:159,1
    - Dst: bignum_init
      Src: /src/hostap/src/tls/rsa.c:160,1
    - Dst: bignum_init
      Src: /src/hostap/src/tls/rsa.c:161,1
    - Dst: bignum_init
      Src: /src/hostap/src/tls/rsa.c:162,1
    - Dst: bignum_init
      Src: /src/hostap/src/tls/rsa.c:163,1
    - Dst: bignum_init
      Src: /src/hostap/src/tls/rsa.c:164,1
    - Dst: crypto_rsa_free
      Src: /src/hostap/src/tls/rsa.c:169,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/rsa.c:189,1
    - Dst: asn1_is_sequence
      Src: /src/hostap/src/tls/rsa.c:189,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/rsa.c:190,1
    - Dst: bignum_init
      Src: /src/hostap/src/tls/rsa.c:196,1
    - Dst: crypto_rsa_parse_integer
      Src: /src/hostap/src/tls/rsa.c:199,1
    - Dst: bignum_cmp_d
      Src: /src/hostap/src/tls/rsa.c:200,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/rsa.c:201,1
    - Dst: bignum_deinit
      Src: /src/hostap/src/tls/rsa.c:203,1
    - Dst: bignum_deinit
      Src: /src/hostap/src/tls/rsa.c:206,1
    - Dst: crypto_rsa_parse_integer
      Src: /src/hostap/src/tls/rsa.c:208,1
    - Dst: crypto_rsa_parse_integer
      Src: /src/hostap/src/tls/rsa.c:209,1
    - Dst: crypto_rsa_parse_integer
      Src: /src/hostap/src/tls/rsa.c:210,1
    - Dst: crypto_rsa_parse_integer
      Src: /src/hostap/src/tls/rsa.c:211,1
    - Dst: crypto_rsa_parse_integer
      Src: /src/hostap/src/tls/rsa.c:212,1
    - Dst: crypto_rsa_parse_integer
      Src: /src/hostap/src/tls/rsa.c:213,1
    - Dst: crypto_rsa_parse_integer
      Src: /src/hostap/src/tls/rsa.c:214,1
    - Dst: crypto_rsa_parse_integer
      Src: /src/hostap/src/tls/rsa.c:215,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/rsa.c:221,1
    - Dst: crypto_rsa_free
      Src: /src/hostap/src/tls/rsa.c:230,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 57
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 143
    functionDepth: 4
    functionLinenumber: 143
    functionLinenumberEnd: 232
    functionName: crypto_rsa_import_private_key
    functionSourceFile: /src/hostap/src/tls/rsa.c
    functionUses: 1
    functionsReached:
    - bignum_deinit
    - wpa_printf
    - asn1_is_sequence
    - wpa_hexdump
    - asn1_get_next
    - asn1_unexpected
    - os_zalloc
    - crypto_rsa_parse_integer
    - bignum_cmp_d
    - bignum_init
    - crypto_rsa_free
    linkageType: ''
    returnType: struct crypto_rsa_key
    signature: 'struct crypto_rsa_key *

      crypto_rsa_import_private_key(const u8 *buf, size_t len)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bignum_get_unsigned_bin_len
      Src: /src/hostap/src/tls/rsa.c:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - struct crypto_rsa_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 243
    functionName: crypto_rsa_get_modulus_len
    functionSourceFile: /src/hostap/src/tls/rsa.c
    functionUses: 0
    functionsReached:
    - bignum_get_unsigned_bin_len
    linkageType: ''
    returnType: size_t
    signature: size_t crypto_rsa_get_modulus_len(struct crypto_rsa_key *key)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: bignum_init
      Src: /src/hostap/src/tls/rsa.c:266,1
    - Dst: bignum_set_unsigned_bin
      Src: /src/hostap/src/tls/rsa.c:270,1
    - Dst: bignum_cmp
      Src: /src/hostap/src/tls/rsa.c:272,1
    - Dst: bignum_init
      Src: /src/hostap/src/tls/rsa.c:291,1
    - Dst: bignum_init
      Src: /src/hostap/src/tls/rsa.c:292,1
    - Dst: bignum_exptmod
      Src: /src/hostap/src/tls/rsa.c:297,1
    - Dst: bignum_exptmod
      Src: /src/hostap/src/tls/rsa.c:301,1
    - Dst: bignum_sub
      Src: /src/hostap/src/tls/rsa.c:305,1
    - Dst: bignum_mulmod
      Src: /src/hostap/src/tls/rsa.c:306,1
    - Dst: bignum_mul
      Src: /src/hostap/src/tls/rsa.c:310,1
    - Dst: bignum_add
      Src: /src/hostap/src/tls/rsa.c:311,1
    - Dst: bignum_exptmod
      Src: /src/hostap/src/tls/rsa.c:316,1
    - Dst: crypto_rsa_get_modulus_len
      Src: /src/hostap/src/tls/rsa.c:320,1
    - Dst: bignum_get_unsigned_bin_len
      Src: /src/hostap/src/tls/rsa.c:326,1
    - Dst: os_memset
      Src: /src/hostap/src/tls/rsa.c:330,1
    - Dst: bignum_get_unsigned_bin
      Src: /src/hostap/src/tls/rsa.c:331,1
    - Dst: bignum_get_unsigned_bin_len
      Src: /src/hostap/src/tls/rsa.c:333,1
    - Dst: bignum_deinit
      Src: /src/hostap/src/tls/rsa.c:339,1
    - Dst: bignum_deinit
      Src: /src/hostap/src/tls/rsa.c:340,1
    - Dst: bignum_deinit
      Src: /src/hostap/src/tls/rsa.c:341,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 57
    argCount: 6
    argNames:
    - in
    - inlen
    - out
    - outlen
    - key
    - use_private
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t*
    - struct crypto_rsa_key*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 343
    functionName: crypto_rsa_exptmod
    functionSourceFile: /src/hostap/src/tls/rsa.c
    functionUses: 0
    functionsReached:
    - bignum_deinit
    - bignum_exptmod
    - bignum_cmp
    - bignum_sub
    - bignum_get_unsigned_bin
    - crypto_rsa_get_modulus_len
    - bignum_mul
    - bignum_mulmod
    - bignum_set_unsigned_bin
    - bignum_add
    - bignum_init
    - bignum_get_unsigned_bin_len
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int crypto_rsa_exptmod(const u8 *in, size_t inlen, u8 *out, size_t
      *outlen,\n\t\t       struct crypto_rsa_key *key, int use_private)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bignum_deinit
      Src: /src/hostap/src/tls/rsa.c:356,1
    - Dst: bignum_deinit
      Src: /src/hostap/src/tls/rsa.c:357,1
    - Dst: bignum_deinit
      Src: /src/hostap/src/tls/rsa.c:358,1
    - Dst: bignum_deinit
      Src: /src/hostap/src/tls/rsa.c:359,1
    - Dst: bignum_deinit
      Src: /src/hostap/src/tls/rsa.c:360,1
    - Dst: bignum_deinit
      Src: /src/hostap/src/tls/rsa.c:361,1
    - Dst: bignum_deinit
      Src: /src/hostap/src/tls/rsa.c:362,1
    - Dst: bignum_deinit
      Src: /src/hostap/src/tls/rsa.c:363,1
    - Dst: os_free
      Src: /src/hostap/src/tls/rsa.c:364,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - key
    argTypes:
    - struct crypto_rsa_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 366
    functionName: crypto_rsa_free
    functionSourceFile: /src/hostap/src/tls/rsa.c
    functionUses: 5
    functionsReached:
    - os_free
    - bignum_deinit
    linkageType: ''
    returnType: void
    signature: void crypto_rsa_free(struct crypto_rsa_key *key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: x509_certificate_self_signed
      Src: /src/hostap/src/tls/tlsv1_client_write.c:35,1
    - Dst: x509_certificate_get_subject
      Src: /src/hostap/src/tls/tlsv1_client_write.c:37,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct tlsv1_client*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 24
    functionDepth: 5
    functionLinenumber: 24
    functionLinenumberEnd: 42
    functionName: tls_client_cert_chain_der_len
    functionSourceFile: /src/hostap/src/tls/tlsv1_client_write.c
    functionUses: 0
    functionsReached:
    - x509_certificate_self_signed
    - x509_certificate_get_subject
    linkageType: ''
    returnType: size_t
    signature: size_t tls_client_cert_chain_der_len(struct tlsv1_client *conn)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tls_client_highest_ver
      Src: /src/hostap/src/tls/tlsv1_client_write.c:51,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_write.c:54,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_write.c:58,1
    - Dst: tls_version_str
      Src: /src/hostap/src/tls/tlsv1_client_write.c:59,1
    - Dst: os_get_time
      Src: /src/hostap/src/tls/tlsv1_client_write.c:62,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/src/tls/tlsv1_client_write.c:66,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/tls/tlsv1_client_write.c:67,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_write.c:68,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/tlsv1_client_write.c:72,1
    - Dst: os_malloc
      Src: /src/hostap/src/tls/tlsv1_client_write.c:76,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/tls/tlsv1_client_write.c:95,1
    - Dst: os_memcpy
      Src: /src/hostap/src/tls/tlsv1_client_write.c:98,1
    - Dst: os_memcpy
      Src: /src/hostap/src/tls/tlsv1_client_write.c:102,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/tls/tlsv1_client_write.c:105,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/tls/tlsv1_client_write.c:108,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/tls/tlsv1_client_write.c:126,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/tls/tlsv1_client_write.c:129,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/tls/tlsv1_client_write.c:132,1
    - Dst: os_memcpy
      Src: /src/hostap/src/tls/tlsv1_client_write.c:145,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_write.c:151,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/tls/tlsv1_client_write.c:154,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/tls/tlsv1_client_write.c:157,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/tls/tlsv1_client_write.c:182,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/tls/tlsv1_client_write.c:184,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_write.c:187,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/tls/tlsv1_client_write.c:190,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/tls/tlsv1_client_write.c:193,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/tls/tlsv1_client_write.c:216,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/tls/tlsv1_client_write.c:222,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/tls/tlsv1_client_write.c:224,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/tls/tlsv1_client_write.c:231,1
    - Dst: WPA_PUT_BE24
      Src: /src/hostap/src/tls/tlsv1_client_write.c:233,1
    - Dst: tls_verify_hash_add
      Src: /src/hostap/src/tls/tlsv1_client_write.c:234,1
    - Dst: tlsv1_record_send
      Src: /src/hostap/src/tls/tlsv1_client_write.c:236,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_write.c:239,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_write.c:240,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_client_write.c:242,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 98
    argCount: 2
    argNames:
    - conn
    - out_len
    argTypes:
    - struct tlsv1_client*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 249
    functionName: tls_send_client_hello
    functionSourceFile: /src/hostap/src/tls/tlsv1_client_write.c
    functionUses: 0
    functionsReached:
    - tls_alert
    - tls_verify_hash_add
    - wpa_printf
    - tls_client_highest_ver
    - random_get_bytes
    - tls_version_str
    - wpa_hexdump
    - os_memcpy
    - WPA_PUT_BE24
    - os_malloc
    - WPA_PUT_BE16
    - WPA_PUT_BE32
    - os_get_time
    - tlsv1_record_send
    - os_free
    linkageType: ''
    returnType: u8
    signature: u8 * tls_send_client_hello(struct tlsv1_client *conn, size_t *out_len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_write.c:261,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_write.c:266,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_write.c:286,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_write.c:290,1
    - Dst: WPA_PUT_BE24
      Src: /src/hostap/src/tls/tlsv1_client_write.c:294,1
    - Dst: os_memcpy
      Src: /src/hostap/src/tls/tlsv1_client_write.c:296,1
    - Dst: x509_certificate_self_signed
      Src: /src/hostap/src/tls/tlsv1_client_write.c:299,1
    - Dst: x509_certificate_get_subject
      Src: /src/hostap/src/tls/tlsv1_client_write.c:301,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_write.c:311,1
    - Dst: WPA_PUT_BE24
      Src: /src/hostap/src/tls/tlsv1_client_write.c:314,1
    - Dst: WPA_PUT_BE24
      Src: /src/hostap/src/tls/tlsv1_client_write.c:316,1
    - Dst: tlsv1_record_send
      Src: /src/hostap/src/tls/tlsv1_client_write.c:318,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_write.c:321,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_write.c:322,1
    - Dst: tls_verify_hash_add
      Src: /src/hostap/src/tls/tlsv1_client_write.c:328,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 44
    argCount: 3
    argNames:
    - conn
    - msgpos
    - end
    argTypes:
    - struct tlsv1_client*
    - u8**
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 252
    functionDepth: 5
    functionLinenumber: 252
    functionLinenumberEnd: 333
    functionName: tls_write_client_certificate
    functionSourceFile: /src/hostap/src/tls/tlsv1_client_write.c
    functionUses: 0
    functionsReached:
    - tls_alert
    - tls_verify_hash_add
    - wpa_printf
    - os_memcpy
    - x509_certificate_self_signed
    - WPA_PUT_BE24
    - tlsv1_record_send
    - x509_certificate_get_subject
    linkageType: ''
    returnType: int
    signature: "int tls_write_client_certificate(struct tlsv1_client *conn,\n\t\t\t\t\tu8
      **msgpos, u8 *end)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/tls/tlsv1_client_write.c:343,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_write.c:345,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_write.c:347,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/tls/tlsv1_client_write.c:351,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_write.c:352,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_write.c:354,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_client_write.c:356,1
    - Dst: os_memcmp
      Src: /src/hostap/src/tls/tlsv1_client_write.c:360,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/tls/tlsv1_client_write.c:368,1
    - Dst: os_malloc
      Src: /src/hostap/src/tls/tlsv1_client_write.c:373,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_write.c:375,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_write.c:377,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_client_write.c:379,1
    - Dst: crypto_mod_exp
      Src: /src/hostap/src/tls/tlsv1_client_write.c:382,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_write.c:386,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_client_write.c:388,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_client_write.c:389,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/tlsv1_client_write.c:393,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_write.c:397,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_client_write.c:399,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_client_write.c:400,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/tls/tlsv1_client_write.c:403,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_write.c:406,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_write.c:408,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_client_write.c:410,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_client_write.c:411,1
    - Dst: os_memcpy
      Src: /src/hostap/src/tls/tlsv1_client_write.c:414,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_client_write.c:416,1
    - Dst: os_malloc
      Src: /src/hostap/src/tls/tlsv1_client_write.c:419,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_write.c:421,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_write.c:423,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_client_write.c:425,1
    - Dst: crypto_mod_exp
      Src: /src/hostap/src/tls/tlsv1_client_write.c:430,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_write.c:434,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_client_write.c:436,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_client_write.c:437,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/tls/tlsv1_client_write.c:440,1
    - Dst: os_memset
      Src: /src/hostap/src/tls/tlsv1_client_write.c:443,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_client_write.c:444,1
    - Dst: tls_derive_keys
      Src: /src/hostap/src/tls/tlsv1_client_write.c:445,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_write.c:446,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_write.c:447,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_client_write.c:449,1
    - Dst: os_memset
      Src: /src/hostap/src/tls/tlsv1_client_write.c:452,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_client_write.c:453,1
    - Dst: tlsv1_client_free_dh
      Src: /src/hostap/src/tls/tlsv1_client_write.c:454,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 82
    argCount: 3
    argNames:
    - conn
    - pos
    - end
    argTypes:
    - struct tlsv1_client*
    - u8**
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 456
    functionName: tlsv1_key_x_dh
    functionSourceFile: /src/hostap/src/tls/tlsv1_client_write.c
    functionUses: 0
    functionsReached:
    - tls_alert
    - wpa_printf
    - random_get_bytes
    - wpa_hexdump_key
    - os_memcpy
    - wpa_hexdump
    - tlsv1_client_free_dh
    - os_malloc
    - WPA_PUT_BE16
    - os_memcmp
    - os_free
    - crypto_mod_exp
    - tls_derive_keys
    - os_memset
    linkageType: ''
    returnType: int
    signature: int tlsv1_key_x_dh(struct tlsv1_client *conn, u8 **pos, u8 *end)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tls_derive_pre_master_secret
      Src: /src/hostap/src/tls/tlsv1_client_write.c:465,1
    - Dst: tls_derive_keys
      Src: /src/hostap/src/tls/tlsv1_client_write.c:466,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_write.c:468,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_write.c:469,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_write.c:476,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_write.c:478,1
    - Dst: crypto_public_key_encrypt_pkcs1_v15
      Src: /src/hostap/src/tls/tlsv1_client_write.c:486,1
    - Dst: os_memset
      Src: /src/hostap/src/tls/tlsv1_client_write.c:490,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_write.c:492,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_write.c:493,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/tls/tlsv1_client_write.c:497,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/tlsv1_client_write.c:498,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - conn
    - pos
    - end
    argTypes:
    - struct tlsv1_client*
    - u8**
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 459
    functionDepth: 1
    functionLinenumber: 459
    functionLinenumberEnd: 503
    functionName: tlsv1_key_x_rsa
    functionSourceFile: /src/hostap/src/tls/tlsv1_client_write.c
    functionUses: 0
    functionsReached:
    - tls_alert
    - crypto_public_key_encrypt_pkcs1_v15
    - wpa_printf
    - wpa_hexdump
    - WPA_PUT_BE16
    - tls_derive_pre_master_secret
    - tls_derive_keys
    - os_memset
    linkageType: ''
    returnType: int
    signature: int tlsv1_key_x_rsa(struct tlsv1_client *conn, u8 **pos, u8 *end)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tls_get_cipher_suite
      Src: /src/hostap/src/tls/tlsv1_client_write.c:514,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_write.c:522,1
    - Dst: tlsv1_key_x_dh
      Src: /src/hostap/src/tls/tlsv1_client_write.c:538,1
    - Dst: tlsv1_key_x_rsa
      Src: /src/hostap/src/tls/tlsv1_client_write.c:541,1
    - Dst: WPA_PUT_BE24
      Src: /src/hostap/src/tls/tlsv1_client_write.c:545,1
    - Dst: tlsv1_record_send
      Src: /src/hostap/src/tls/tlsv1_client_write.c:547,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_write.c:550,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_write.c:551,1
    - Dst: tls_verify_hash_add
      Src: /src/hostap/src/tls/tlsv1_client_write.c:556,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 3
    argNames:
    - conn
    - msgpos
    - end
    argTypes:
    - struct tlsv1_client*
    - u8**
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 506
    functionDepth: 2
    functionLinenumber: 506
    functionLinenumberEnd: 561
    functionName: tls_write_client_key_exchange
    functionSourceFile: /src/hostap/src/tls/tlsv1_client_write.c
    functionUses: 0
    functionsReached:
    - tls_alert
    - tls_verify_hash_add
    - tls_get_cipher_suite
    - wpa_printf
    - tlsv1_key_x_dh
    - WPA_PUT_BE24
    - tlsv1_record_send
    - tlsv1_key_x_rsa
    linkageType: ''
    returnType: int
    signature: "int tls_write_client_key_exchange(struct tlsv1_client *conn,\n\t\t\t\t\t
      u8 **msgpos, u8 *end)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_write.c:742,1
    - Dst: tlsv1_record_send
      Src: /src/hostap/src/tls/tlsv1_client_write.c:746,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_write.c:749,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_write.c:750,1
    - Dst: tlsv1_record_change_write_cipher
      Src: /src/hostap/src/tls/tlsv1_client_write.c:755,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_write.c:756,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_write.c:758,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - conn
    - msgpos
    - end
    argTypes:
    - struct tlsv1_client*
    - u8**
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 736
    functionDepth: 1
    functionLinenumber: 736
    functionLinenumberEnd: 766
    functionName: tls_write_client_change_cipher_spec
    functionSourceFile: /src/hostap/src/tls/tlsv1_client_write.c
    functionUses: 0
    functionsReached:
    - tls_alert
    - wpa_printf
    - tlsv1_record_send
    - tlsv1_record_change_write_cipher
    linkageType: ''
    returnType: int
    signature: "int tls_write_client_change_cipher_spec(struct tlsv1_client *conn,\n\t\t\t\t\t
      \      u8 **msgpos, u8 *end)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tls_client_cert_chain_der_len
      Src: /src/hostap/src/tls/tlsv1_client_write.c:870,1
    - Dst: os_malloc
      Src: /src/hostap/src/tls/tlsv1_client_write.c:872,1
    - Dst: tls_write_client_certificate
      Src: /src/hostap/src/tls/tlsv1_client_write.c:880,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_client_write.c:881,1
    - Dst: tls_write_client_key_exchange
      Src: /src/hostap/src/tls/tlsv1_client_write.c:886,1
    - Dst: tls_write_client_certificate_verify
      Src: /src/hostap/src/tls/tlsv1_client_write.c:888,1
    - Dst: tls_write_client_change_cipher_spec
      Src: /src/hostap/src/tls/tlsv1_client_write.c:889,1
    - Dst: tls_write_client_finished
      Src: /src/hostap/src/tls/tlsv1_client_write.c:890,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_client_write.c:891,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 2
    argNames:
    - conn
    - out_len
    argTypes:
    - struct tlsv1_client*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 860
    functionDepth: 6
    functionLinenumber: 860
    functionLinenumberEnd: 900
    functionName: tls_send_client_key_exchange
    functionSourceFile: /src/hostap/src/tls/tlsv1_client_write.c
    functionUses: 0
    functionsReached:
    - tls_write_client_change_cipher_spec
    - tls_client_cert_chain_der_len
    - tls_write_client_certificate
    - os_malloc
    - tls_write_client_certificate_verify
    - tls_write_client_finished
    - tls_write_client_key_exchange
    - os_free
    linkageType: ''
    returnType: u8
    signature: "u8 * tls_send_client_key_exchange(struct tlsv1_client *conn,\n\t\t\t\t\t
      size_t *out_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/tls/tlsv1_client_write.c:910,1
    - Dst: tls_write_client_change_cipher_spec
      Src: /src/hostap/src/tls/tlsv1_client_write.c:917,1
    - Dst: tls_write_client_finished
      Src: /src/hostap/src/tls/tlsv1_client_write.c:918,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_client_write.c:919,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_write.c:925,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - conn
    - out_len
    argTypes:
    - struct tlsv1_client*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 903
    functionDepth: 2
    functionLinenumber: 903
    functionLinenumberEnd: 932
    functionName: tls_send_change_cipher_spec
    functionSourceFile: /src/hostap/src/tls/tlsv1_client_write.c
    functionUses: 0
    functionsReached:
    - tls_write_client_change_cipher_spec
    - wpa_printf
    - os_malloc
    - tls_write_client_finished
    - os_free
    linkageType: ''
    returnType: u8
    signature: "u8 * tls_send_change_cipher_spec(struct tlsv1_client *conn,\n\t\t\t\t\tsize_t
      *out_len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tls_send_client_key_exchange
      Src: /src/hostap/src/tls/tlsv1_client_write.c:940,1
    - Dst: tls_send_change_cipher_spec
      Src: /src/hostap/src/tls/tlsv1_client_write.c:942,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_write.c:944,1
    - Dst: os_malloc
      Src: /src/hostap/src/tls/tlsv1_client_write.c:950,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_write.c:954,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - conn
    - out_len
    - no_appl_data
    argTypes:
    - struct tlsv1_client*
    - size_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 958
      start: 935
    functionDepth: 7
    functionLinenumber: 935
    functionLinenumberEnd: 958
    functionName: tlsv1_client_handshake_write
    functionSourceFile: /src/hostap/src/tls/tlsv1_client_write.c
    functionUses: 0
    functionsReached:
    - tls_send_change_cipher_spec
    - wpa_printf
    - os_malloc
    - tls_send_client_key_exchange
    linkageType: ''
    returnType: u8
    signature: "u8 * tlsv1_client_handshake_write(struct tlsv1_client *conn, size_t
      *out_len,\n\t\t\t\t  int no_appl_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_write.c:966,1
    - Dst: os_malloc
      Src: /src/hostap/src/tls/tlsv1_client_write.c:969,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/tls/tlsv1_client_write.c:979,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/tls/tlsv1_client_write.c:993,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 4
    argNames:
    - conn
    - level
    - description
    - out_len
    argTypes:
    - struct tlsv1_client*
    - u8
    - u8
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 961
    functionDepth: 1
    functionLinenumber: 961
    functionLinenumberEnd: 997
    functionName: tlsv1_client_send_alert
    functionSourceFile: /src/hostap/src/tls/tlsv1_client_write.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_malloc
    - WPA_PUT_BE16
    linkageType: ''
    returnType: u8
    signature: "u8 * tlsv1_client_send_alert(struct tlsv1_client *conn, u8 level,\n\t\t\t
      \    u8 description, size_t *out_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: x509_certificate_self_signed
      Src: /src/hostap/src/tls/tlsv1_server_write.c:32,1
    - Dst: x509_certificate_get_subject
      Src: /src/hostap/src/tls/tlsv1_server_write.c:34,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct tlsv1_server*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 24
    functionDepth: 5
    functionLinenumber: 24
    functionLinenumberEnd: 39
    functionName: tls_server_cert_chain_der_len
    functionSourceFile: /src/hostap/src/tls/tlsv1_server_write.c
    functionUses: 0
    functionsReached:
    - x509_certificate_self_signed
    - x509_certificate_get_subject
    linkageType: ''
    returnType: size_t
    signature: size_t tls_server_cert_chain_der_len(struct tlsv1_server *conn)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server_write.c:51,1
    - Dst: os_get_time
      Src: /src/hostap/src/tls/tlsv1_server_write.c:55,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/src/tls/tlsv1_server_write.c:59,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/tls/tlsv1_server_write.c:60,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_server_write.c:61,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/tlsv1_server_write.c:65,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/tls/tlsv1_server_write.c:69,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_server_write.c:70,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/tlsv1_server_write.c:74,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/tls/tlsv1_server_write.c:88,1
    - Dst: os_memcpy
      Src: /src/hostap/src/tls/tlsv1_server_write.c:91,1
    - Dst: os_memcpy
      Src: /src/hostap/src/tls/tlsv1_server_write.c:95,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/tls/tlsv1_server_write.c:98,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/tls/tlsv1_server_write.c:110,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/tls/tlsv1_server_write.c:113,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/tls/tlsv1_server_write.c:122,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/tls/tlsv1_server_write.c:125,1
    - Dst: struct tlsv1_server*::session_ticket_cb
      Src: /src/hostap/src/tls/tlsv1_server_write.c:130,1
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server_write.c:136,1
    - Dst: tlsv1_server_alert
      Src: /src/hostap/src/tls/tlsv1_server_write.c:137,1
    - Dst: tlsv1_server_derive_keys
      Src: /src/hostap/src/tls/tlsv1_server_write.c:144,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_server_write.c:145,1
    - Dst: tlsv1_server_alert
      Src: /src/hostap/src/tls/tlsv1_server_write.c:147,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/tls/tlsv1_server_write.c:168,1
    - Dst: WPA_PUT_BE24
      Src: /src/hostap/src/tls/tlsv1_server_write.c:170,1
    - Dst: tls_verify_hash_add
      Src: /src/hostap/src/tls/tlsv1_server_write.c:171,1
    - Dst: tlsv1_record_send
      Src: /src/hostap/src/tls/tlsv1_server_write.c:173,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_server_write.c:176,1
    - Dst: tlsv1_server_alert
      Src: /src/hostap/src/tls/tlsv1_server_write.c:177,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 75
    argCount: 3
    argNames:
    - conn
    - msgpos
    - end
    argTypes:
    - struct tlsv1_server*
    - u8**
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 186
    functionName: tls_write_server_hello
    functionSourceFile: /src/hostap/src/tls/tlsv1_server_write.c
    functionUses: 0
    functionsReached:
    - tls_verify_hash_add
    - wpa_printf
    - random_get_bytes
    - os_memcpy
    - wpa_hexdump
    - tlsv1_server_derive_keys
    - WPA_PUT_BE24
    - WPA_PUT_BE16
    - WPA_PUT_BE32
    - tlsv1_server_log
    - struct tlsv1_server*::session_ticket_cb
    - os_get_time
    - tlsv1_record_send
    - tlsv1_server_alert
    linkageType: ''
    returnType: int
    signature: "int tls_write_server_hello(struct tlsv1_server *conn,\n\t\t\t\t  u8
      **msgpos, u8 *end)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tls_get_cipher_suite
      Src: /src/hostap/src/tls/tlsv1_server_write.c:197,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_server_write.c:199,1
    - Dst: tlsv1_server_alert
      Src: /src/hostap/src/tls/tlsv1_server_write.c:206,1
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server_write.c:211,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_server_write.c:231,1
    - Dst: tlsv1_server_alert
      Src: /src/hostap/src/tls/tlsv1_server_write.c:235,1
    - Dst: WPA_PUT_BE24
      Src: /src/hostap/src/tls/tlsv1_server_write.c:239,1
    - Dst: os_memcpy
      Src: /src/hostap/src/tls/tlsv1_server_write.c:241,1
    - Dst: x509_certificate_self_signed
      Src: /src/hostap/src/tls/tlsv1_server_write.c:244,1
    - Dst: x509_certificate_get_subject
      Src: /src/hostap/src/tls/tlsv1_server_write.c:246,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_server_write.c:256,1
    - Dst: WPA_PUT_BE24
      Src: /src/hostap/src/tls/tlsv1_server_write.c:259,1
    - Dst: WPA_PUT_BE24
      Src: /src/hostap/src/tls/tlsv1_server_write.c:261,1
    - Dst: tlsv1_record_send
      Src: /src/hostap/src/tls/tlsv1_server_write.c:263,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_server_write.c:266,1
    - Dst: tlsv1_server_alert
      Src: /src/hostap/src/tls/tlsv1_server_write.c:267,1
    - Dst: tls_verify_hash_add
      Src: /src/hostap/src/tls/tlsv1_server_write.c:273,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 49
    argCount: 3
    argNames:
    - conn
    - msgpos
    - end
    argTypes:
    - struct tlsv1_server*
    - u8**
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 189
    functionDepth: 5
    functionLinenumber: 189
    functionLinenumberEnd: 278
    functionName: tls_write_server_certificate
    functionSourceFile: /src/hostap/src/tls/tlsv1_server_write.c
    functionUses: 0
    functionsReached:
    - tls_verify_hash_add
    - tls_get_cipher_suite
    - wpa_printf
    - os_memcpy
    - x509_certificate_self_signed
    - WPA_PUT_BE24
    - tlsv1_server_log
    - tlsv1_record_send
    - x509_certificate_get_subject
    - tlsv1_server_alert
    linkageType: ''
    returnType: int
    signature: "int tls_write_server_certificate(struct tlsv1_server *conn,\n\t\t\t\t\tu8
      **msgpos, u8 *end)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tlsv1_server_alert
      Src: /src/hostap/src/tls/tlsv1_server_write.c:301,1
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server_write.c:306,1
    - Dst: WPA_PUT_BE24
      Src: /src/hostap/src/tls/tlsv1_server_write.c:343,1
    - Dst: os_memcpy
      Src: /src/hostap/src/tls/tlsv1_server_write.c:345,1
    - Dst: WPA_PUT_BE24
      Src: /src/hostap/src/tls/tlsv1_server_write.c:348,1
    - Dst: tlsv1_record_send
      Src: /src/hostap/src/tls/tlsv1_server_write.c:350,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_server_write.c:353,1
    - Dst: tlsv1_server_alert
      Src: /src/hostap/src/tls/tlsv1_server_write.c:354,1
    - Dst: tls_verify_hash_add
      Src: /src/hostap/src/tls/tlsv1_server_write.c:360,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 6
    argNames:
    - conn
    - msgpos
    - end
    - ocsp_multi
    - ocsp_resp
    - ocsp_resp_len
    argTypes:
    - struct tlsv1_server*
    - u8**
    - u8*
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 365
    functionName: tls_write_server_certificate_status
    functionSourceFile: /src/hostap/src/tls/tlsv1_server_write.c
    functionUses: 0
    functionsReached:
    - tls_verify_hash_add
    - os_memcpy
    - wpa_printf
    - WPA_PUT_BE24
    - tlsv1_server_log
    - tlsv1_record_send
    - tlsv1_server_alert
    linkageType: ''
    returnType: int
    signature: "int tls_write_server_certificate_status(struct tlsv1_server *conn,\n\t\t\t\t\t
      \      u8 **msgpos, u8 *end,\n\t\t\t\t\t       int ocsp_multi,\n\t\t\t\t\t       char
      *ocsp_resp,\n\t\t\t\t\t       size_t ocsp_resp_len)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: tls_get_cipher_suite
      Src: /src/hostap/src/tls/tlsv1_server_write.c:380,1
    - Dst: tls_server_key_exchange_allowed
      Src: /src/hostap/src/tls/tlsv1_server_write.c:386,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_server_write.c:387,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_server_write.c:392,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_server_write.c:399,1
    - Dst: tlsv1_server_get_dh_p
      Src: /src/hostap/src/tls/tlsv1_server_write.c:404,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_server_write.c:406,1
    - Dst: os_malloc
      Src: /src/hostap/src/tls/tlsv1_server_write.c:408,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_server_write.c:410,1
    - Dst: tlsv1_server_alert
      Src: /src/hostap/src/tls/tlsv1_server_write.c:412,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/tls/tlsv1_server_write.c:416,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_server_write.c:417,1
    - Dst: tlsv1_server_alert
      Src: /src/hostap/src/tls/tlsv1_server_write.c:419,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_server_write.c:421,1
    - Dst: os_memcmp
      Src: /src/hostap/src/tls/tlsv1_server_write.c:426,1
    - Dst: os_memmove
      Src: /src/hostap/src/tls/tlsv1_server_write.c:433,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/tls/tlsv1_server_write.c:437,1
    - Dst: os_malloc
      Src: /src/hostap/src/tls/tlsv1_server_write.c:442,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_server_write.c:444,1
    - Dst: tlsv1_server_alert
      Src: /src/hostap/src/tls/tlsv1_server_write.c:446,1
    - Dst: crypto_mod_exp
      Src: /src/hostap/src/tls/tlsv1_server_write.c:450,1
    - Dst: tlsv1_server_alert
      Src: /src/hostap/src/tls/tlsv1_server_write.c:453,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_server_write.c:455,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/tlsv1_server_write.c:459,1
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server_write.c:483,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_server_write.c:501,1
    - Dst: tlsv1_server_alert
      Src: /src/hostap/src/tls/tlsv1_server_write.c:503,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_server_write.c:505,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/tls/tlsv1_server_write.c:508,1
    - Dst: os_memcpy
      Src: /src/hostap/src/tls/tlsv1_server_write.c:510,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_server_write.c:515,1
    - Dst: tlsv1_server_alert
      Src: /src/hostap/src/tls/tlsv1_server_write.c:517,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_server_write.c:519,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/tls/tlsv1_server_write.c:522,1
    - Dst: os_memcpy
      Src: /src/hostap/src/tls/tlsv1_server_write.c:524,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_server_write.c:529,1
    - Dst: tlsv1_server_alert
      Src: /src/hostap/src/tls/tlsv1_server_write.c:531,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_server_write.c:533,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/tls/tlsv1_server_write.c:536,1
    - Dst: os_memcpy
      Src: /src/hostap/src/tls/tlsv1_server_write.c:538,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_server_write.c:540,1
    - Dst: tlsv12_key_x_server_params_hash
      Src: /src/hostap/src/tls/tlsv1_server_write.c:571,1
    - Dst: tlsv1_server_alert
      Src: /src/hostap/src/tls/tlsv1_server_write.c:588,1
    - Dst: os_memcpy
      Src: /src/hostap/src/tls/tlsv1_server_write.c:610,1
    - Dst: tlsv1_server_alert
      Src: /src/hostap/src/tls/tlsv1_server_write.c:615,1
    - Dst: tls_key_x_server_params_hash
      Src: /src/hostap/src/tls/tlsv1_server_write.c:620,1
    - Dst: tlsv1_server_alert
      Src: /src/hostap/src/tls/tlsv1_server_write.c:627,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/tlsv1_server_write.c:632,1
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server_write.c:636,1
    - Dst: crypto_private_key_sign_pkcs1
      Src: /src/hostap/src/tls/tlsv1_server_write.c:657,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_server_write.c:659,1
    - Dst: tlsv1_server_alert
      Src: /src/hostap/src/tls/tlsv1_server_write.c:660,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/tls/tlsv1_server_write.c:664,1
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server_write.c:667,1
    - Dst: WPA_PUT_BE24
      Src: /src/hostap/src/tls/tlsv1_server_write.c:675,1
    - Dst: tlsv1_record_send
      Src: /src/hostap/src/tls/tlsv1_server_write.c:677,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_server_write.c:680,1
    - Dst: tlsv1_server_alert
      Src: /src/hostap/src/tls/tlsv1_server_write.c:681,1
    - Dst: tls_verify_hash_add
      Src: /src/hostap/src/tls/tlsv1_server_write.c:687,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 146
    argCount: 3
    argNames:
    - conn
    - msgpos
    - end
    argTypes:
    - struct tlsv1_server*
    - u8**
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 368
    functionDepth: 2
    functionLinenumber: 368
    functionLinenumberEnd: 692
    functionName: tls_write_server_key_exchange
    functionSourceFile: /src/hostap/src/tls/tlsv1_server_write.c
    functionUses: 0
    functionsReached:
    - wpa_hexdump
    - crypto_private_key_sign_pkcs1
    - crypto_mod_exp
    - tls_server_key_exchange_allowed
    - wpa_printf
    - os_memmove
    - tlsv12_key_x_server_params_hash
    - tlsv1_server_log
    - os_memcmp
    - os_free
    - tlsv1_server_get_dh_p
    - tls_get_cipher_suite
    - wpa_hexdump_key
    - tls_key_x_server_params_hash
    - os_malloc
    - WPA_PUT_BE16
    - tls_verify_hash_add
    - random_get_bytes
    - os_memcpy
    - WPA_PUT_BE24
    - tlsv1_record_send
    - tlsv1_server_alert
    linkageType: ''
    returnType: int
    signature: "int tls_write_server_key_exchange(struct tlsv1_server *conn,\n\t\t\t\t\t
      u8 **msgpos, u8 *end)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_server_write.c:702,1
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server_write.c:708,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/tls/tlsv1_server_write.c:738,1
    - Dst: WPA_PUT_BE24
      Src: /src/hostap/src/tls/tlsv1_server_write.c:741,1
    - Dst: tlsv1_record_send
      Src: /src/hostap/src/tls/tlsv1_server_write.c:743,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_server_write.c:746,1
    - Dst: tlsv1_server_alert
      Src: /src/hostap/src/tls/tlsv1_server_write.c:747,1
    - Dst: tls_verify_hash_add
      Src: /src/hostap/src/tls/tlsv1_server_write.c:753,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 3
    argNames:
    - conn
    - msgpos
    - end
    argTypes:
    - struct tlsv1_server*
    - u8**
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 695
    functionDepth: 1
    functionLinenumber: 695
    functionLinenumberEnd: 758
    functionName: tls_write_server_certificate_request
    functionSourceFile: /src/hostap/src/tls/tlsv1_server_write.c
    functionUses: 0
    functionsReached:
    - tls_verify_hash_add
    - wpa_printf
    - WPA_PUT_BE24
    - WPA_PUT_BE16
    - tlsv1_server_log
    - tlsv1_record_send
    - tlsv1_server_alert
    linkageType: ''
    returnType: int
    signature: "int tls_write_server_certificate_request(struct tlsv1_server *conn,\n\t\t\t\t\t\tu8
      **msgpos, u8 *end)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server_write.c:768,1
    - Dst: WPA_PUT_BE24
      Src: /src/hostap/src/tls/tlsv1_server_write.c:777,1
    - Dst: tlsv1_record_send
      Src: /src/hostap/src/tls/tlsv1_server_write.c:781,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_server_write.c:784,1
    - Dst: tlsv1_server_alert
      Src: /src/hostap/src/tls/tlsv1_server_write.c:785,1
    - Dst: tls_verify_hash_add
      Src: /src/hostap/src/tls/tlsv1_server_write.c:790,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - conn
    - msgpos
    - end
    argTypes:
    - struct tlsv1_server*
    - u8**
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 761
    functionDepth: 1
    functionLinenumber: 761
    functionLinenumberEnd: 795
    functionName: tls_write_server_hello_done
    functionSourceFile: /src/hostap/src/tls/tlsv1_server_write.c
    functionUses: 0
    functionsReached:
    - tls_verify_hash_add
    - wpa_printf
    - WPA_PUT_BE24
    - tlsv1_server_log
    - tlsv1_record_send
    - tlsv1_server_alert
    linkageType: ''
    returnType: int
    signature: "int tls_write_server_hello_done(struct tlsv1_server *conn,\n\t\t\t\t
      \      u8 **msgpos, u8 *end)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server_write.c:804,1
    - Dst: tlsv1_record_send
      Src: /src/hostap/src/tls/tlsv1_server_write.c:808,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_server_write.c:811,1
    - Dst: tlsv1_server_alert
      Src: /src/hostap/src/tls/tlsv1_server_write.c:812,1
    - Dst: tlsv1_record_change_write_cipher
      Src: /src/hostap/src/tls/tlsv1_server_write.c:817,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_server_write.c:818,1
    - Dst: tlsv1_server_alert
      Src: /src/hostap/src/tls/tlsv1_server_write.c:820,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - conn
    - msgpos
    - end
    argTypes:
    - struct tlsv1_server*
    - u8**
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 798
    functionDepth: 1
    functionLinenumber: 798
    functionLinenumberEnd: 828
    functionName: tls_write_server_change_cipher_spec
    functionSourceFile: /src/hostap/src/tls/tlsv1_server_write.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - tlsv1_server_log
    - tlsv1_record_send
    - tlsv1_record_change_write_cipher
    - tlsv1_server_alert
    linkageType: ''
    returnType: int
    signature: "int tls_write_server_change_cipher_spec(struct tlsv1_server *conn,\n\t\t\t\t\t
      \      u8 **msgpos, u8 *end)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: os_readfile
      Src: /src/hostap/src/tls/tlsv1_server_write.c:942,1
    - Dst: os_readfile
      Src: /src/hostap/src/tls/tlsv1_server_write.c:948,1
    - Dst: tls_server_cert_chain_der_len
      Src: /src/hostap/src/tls/tlsv1_server_write.c:954,1
    - Dst: os_malloc
      Src: /src/hostap/src/tls/tlsv1_server_write.c:956,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_server_write.c:958,1
    - Dst: tls_write_server_hello
      Src: /src/hostap/src/tls/tlsv1_server_write.c:965,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_server_write.c:966,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_server_write.c:967,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_server_write.c:972,1
    - Dst: tls_write_server_change_cipher_spec
      Src: /src/hostap/src/tls/tlsv1_server_write.c:975,1
    - Dst: tls_write_server_finished
      Src: /src/hostap/src/tls/tlsv1_server_write.c:976,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_server_write.c:977,1
    - Dst: tls_write_server_certificate
      Src: /src/hostap/src/tls/tlsv1_server_write.c:989,1
    - Dst: tls_write_server_certificate_status
      Src: /src/hostap/src/tls/tlsv1_server_write.c:990,1
    - Dst: tls_write_server_key_exchange
      Src: /src/hostap/src/tls/tlsv1_server_write.c:992,1
    - Dst: tls_write_server_certificate_request
      Src: /src/hostap/src/tls/tlsv1_server_write.c:993,1
    - Dst: tls_write_server_hello_done
      Src: /src/hostap/src/tls/tlsv1_server_write.c:994,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_server_write.c:995,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_server_write.c:996,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_server_write.c:999,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 43
    argCount: 2
    argNames:
    - conn
    - out_len
    argTypes:
    - struct tlsv1_server*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 930
    functionDepth: 6
    functionLinenumber: 930
    functionLinenumberEnd: 1006
    functionName: tls_send_server_hello
    functionSourceFile: /src/hostap/src/tls/tlsv1_server_write.c
    functionUses: 0
    functionsReached:
    - tls_write_server_change_cipher_spec
    - tls_write_server_certificate_request
    - tls_write_server_hello
    - tls_write_server_certificate
    - tls_write_server_hello_done
    - os_malloc
    - tls_write_server_key_exchange
    - tls_server_cert_chain_der_len
    - os_readfile
    - tls_write_server_certificate_status
    - tls_write_server_finished
    - os_free
    linkageType: ''
    returnType: u8
    signature: u8 * tls_send_server_hello(struct tlsv1_server *conn, size_t *out_len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/tls/tlsv1_server_write.c:1016,1
    - Dst: tls_write_server_change_cipher_spec
      Src: /src/hostap/src/tls/tlsv1_server_write.c:1023,1
    - Dst: tls_write_server_finished
      Src: /src/hostap/src/tls/tlsv1_server_write.c:1024,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_server_write.c:1025,1
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server_write.c:1031,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - conn
    - out_len
    argTypes:
    - struct tlsv1_server*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1035
      start: 1009
    functionDepth: 2
    functionLinenumber: 1009
    functionLinenumberEnd: 1035
    functionName: tls_send_change_cipher_spec
    functionSourceFile: /src/hostap/src/tls/tlsv1_server_write.c
    functionUses: 1
    functionsReached:
    - tls_write_server_change_cipher_spec
    - os_malloc
    - tlsv1_server_log
    - tls_write_server_finished
    - os_free
    linkageType: ''
    returnType: u8
    signature: "u8 * tls_send_change_cipher_spec(struct tlsv1_server *conn,\n\t\t\t\t\tsize_t
      *out_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tls_send_server_hello
      Src: /src/hostap/src/tls/tlsv1_server_write.c:1042,1
    - Dst: tls_send_change_cipher_spec
      Src: /src/hostap/src/tls/tlsv1_server_write.c:1044,1
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server_write.c:1050,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - conn
    - out_len
    argTypes:
    - struct tlsv1_server*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1054
      start: 1038
    functionDepth: 7
    functionLinenumber: 1038
    functionLinenumberEnd: 1054
    functionName: tlsv1_server_handshake_write
    functionSourceFile: /src/hostap/src/tls/tlsv1_server_write.c
    functionUses: 0
    functionsReached:
    - tls_send_change_cipher_spec
    - tlsv1_server_log
    - tls_send_server_hello
    linkageType: ''
    returnType: u8
    signature: u8 * tlsv1_server_handshake_write(struct tlsv1_server *conn, size_t
      *out_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server_write.c:1062,1
    - Dst: os_malloc
      Src: /src/hostap/src/tls/tlsv1_server_write.c:1065,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/tls/tlsv1_server_write.c:1075,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/tls/tlsv1_server_write.c:1089,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 4
    argNames:
    - conn
    - level
    - description
    - out_len
    argTypes:
    - struct tlsv1_server*
    - u8
    - u8
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1093
      start: 1057
    functionDepth: 1
    functionLinenumber: 1057
    functionLinenumberEnd: 1093
    functionName: tlsv1_server_send_alert
    functionSourceFile: /src/hostap/src/tls/tlsv1_server_write.c
    functionUses: 0
    functionsReached:
    - tlsv1_server_log
    - os_malloc
    - WPA_PUT_BE16
    linkageType: ''
    returnType: u8
    signature: "u8 * tlsv1_server_send_alert(struct tlsv1_server *conn, u8 level,\n\t\t\t
      \    u8 description, size_t *out_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 2
    argNames:
    - conn
    - suite
    argTypes:
    - struct tlsv1_server*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 46
    functionName: testing_cipher_suite_filter
    functionSourceFile: /src/hostap/src/tls/tlsv1_server_read.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int testing_cipher_suite_filter(struct tlsv1_server *conn, u16 suite)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_server_read.c:76,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/tlsv1_server_read.c:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - conn
    - req
    - req_len
    argTypes:
    - struct tlsv1_server*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 87
    functionName: tls_process_status_request_item
    functionSourceFile: /src/hostap/src/tls/tlsv1_server_read.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    linkageType: ''
    returnType: void
    signature: "void tls_process_status_request_item(struct tlsv1_server *conn,\n\t\t\t\t\t
      \   const u8 *req, size_t req_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/tls/tlsv1_server_read.c:111,1
    - Dst: tls_process_status_request_item
      Src: /src/hostap/src/tls/tlsv1_server_read.c:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - conn
    - ext
    - ext_len
    argTypes:
    - struct tlsv1_server*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 118
    functionName: tls_process_status_request_v2
    functionSourceFile: /src/hostap/src/tls/tlsv1_server_read.c
    functionUses: 0
    functionsReached:
    - WPA_GET_BE16
    - tls_process_status_request_item
    linkageType: ''
    returnType: void
    signature: "void tls_process_status_request_v2(struct tlsv1_server *conn,\n\t\t\t\t\t
      \ const u8 *ext, size_t ext_len)"
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server_read.c:132,1
    - Dst: tlsv1_server_alert
      Src: /src/hostap/src/tls/tlsv1_server_read.c:134,1
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server_read.c:143,1
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server_read.c:150,1
    - Dst: tlsv1_server_alert
      Src: /src/hostap/src/tls/tlsv1_server_read.c:152,1
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server_read.c:156,1
    - Dst: WPA_GET_BE24
      Src: /src/hostap/src/tls/tlsv1_server_read.c:159,1
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server_read.c:164,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/tlsv1_server_read.c:172,1
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server_read.c:177,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/tls/tlsv1_server_read.c:180,1
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server_read.c:181,1
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server_read.c:185,1
    - Dst: tlsv1_server_alert
      Src: /src/hostap/src/tls/tlsv1_server_read.c:188,1
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server_read.c:204,1
    - Dst: tls_version_str
      Src: /src/hostap/src/tls/tlsv1_server_read.c:205,1
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server_read.c:209,1
    - Dst: os_memcpy
      Src: /src/hostap/src/tls/tlsv1_server_read.c:213,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/tlsv1_server_read.c:215,1
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server_read.c:220,1
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server_read.c:224,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/tlsv1_server_read.c:227,1
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server_read.c:233,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/tls/tlsv1_server_read.c:237,1
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server_read.c:240,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/tlsv1_server_read.c:243,1
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server_read.c:246,1
    - Dst: testing_cipher_suite_filter
      Src: /src/hostap/src/tls/tlsv1_server_read.c:253,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/tls/tlsv1_server_read.c:257,1
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server_read.c:267,1
    - Dst: tlsv1_server_alert
      Src: /src/hostap/src/tls/tlsv1_server_read.c:268,1
    - Dst: tlsv1_record_set_cipher_suite
      Src: /src/hostap/src/tls/tlsv1_server_read.c:273,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_server_read.c:274,1
    - Dst: tlsv1_server_alert
      Src: /src/hostap/src/tls/tlsv1_server_read.c:276,1
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server_read.c:285,1
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server_read.c:291,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/tlsv1_server_read.c:295,1
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server_read.c:303,1
    - Dst: tlsv1_server_alert
      Src: /src/hostap/src/tls/tlsv1_server_read.c:304,1
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server_read.c:310,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/tls/tlsv1_server_read.c:317,1
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server_read.c:320,1
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server_read.c:323,1
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server_read.c:337,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/tls/tlsv1_server_read.c:341,1
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server_read.c:345,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/tls/tlsv1_server_read.c:349,1
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server_read.c:353,1
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server_read.c:357,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/tlsv1_server_read.c:359,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_server_read.c:363,1
    - Dst: os_malloc
      Src: /src/hostap/src/tls/tlsv1_server_read.c:364,1
    - Dst: os_memcpy
      Src: /src/hostap/src/tls/tlsv1_server_read.c:366,1
    - Dst: tls_process_status_request_v2
      Src: /src/hostap/src/tls/tlsv1_server_read.c:373,1
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server_read.c:383,1
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server_read.c:389,1
    - Dst: tlsv1_server_alert
      Src: /src/hostap/src/tls/tlsv1_server_read.c:390,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 196
    argCount: 4
    argNames:
    - conn
    - ct
    - in_data
    - in_len
    argTypes:
    - struct tlsv1_server*
    - u8
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 393
    functionName: tls_process_client_hello
    functionSourceFile: /src/hostap/src/tls/tlsv1_server_read.c
    functionUses: 0
    functionsReached:
    - WPA_GET_BE16
    - os_memcpy
    - wpa_printf
    - tls_version_str
    - wpa_hexdump
    - testing_cipher_suite_filter
    - os_malloc
    - tls_process_status_request_v2
    - WPA_GET_BE24
    - tlsv1_server_log
    - os_free
    - tlsv1_record_set_cipher_suite
    - tlsv1_server_alert
    linkageType: ''
    returnType: int
    signature: "int tls_process_client_hello(struct tlsv1_server *conn, u8 ct,\n\t\t\t\t
      \   const u8 *in_data, size_t *in_len)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server_read.c:406,1
    - Dst: tlsv1_server_alert
      Src: /src/hostap/src/tls/tlsv1_server_read.c:408,1
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server_read.c:417,1
    - Dst: tlsv1_server_alert
      Src: /src/hostap/src/tls/tlsv1_server_read.c:419,1
    - Dst: WPA_GET_BE24
      Src: /src/hostap/src/tls/tlsv1_server_read.c:425,1
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server_read.c:430,1
    - Dst: tlsv1_server_alert
      Src: /src/hostap/src/tls/tlsv1_server_read.c:432,1
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server_read.c:439,1
    - Dst: tlsv1_server_alert
      Src: /src/hostap/src/tls/tlsv1_server_read.c:440,1
    - Dst: tls_process_client_key_exchange
      Src: /src/hostap/src/tls/tlsv1_server_read.c:445,1
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server_read.c:449,1
    - Dst: tlsv1_server_alert
      Src: /src/hostap/src/tls/tlsv1_server_read.c:451,1
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server_read.c:456,1
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server_read.c:470,1
    - Dst: tlsv1_server_alert
      Src: /src/hostap/src/tls/tlsv1_server_read.c:472,1
    - Dst: WPA_GET_BE24
      Src: /src/hostap/src/tls/tlsv1_server_read.c:477,1
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server_read.c:481,1
    - Dst: tlsv1_server_alert
      Src: /src/hostap/src/tls/tlsv1_server_read.c:484,1
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server_read.c:492,1
    - Dst: tlsv1_server_alert
      Src: /src/hostap/src/tls/tlsv1_server_read.c:493,1
    - Dst: x509_certificate_chain_free
      Src: /src/hostap/src/tls/tlsv1_server_read.c:495,1
    - Dst: WPA_GET_BE24
      Src: /src/hostap/src/tls/tlsv1_server_read.c:499,1
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server_read.c:503,1
    - Dst: tlsv1_server_alert
      Src: /src/hostap/src/tls/tlsv1_server_read.c:506,1
    - Dst: x509_certificate_chain_free
      Src: /src/hostap/src/tls/tlsv1_server_read.c:508,1
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server_read.c:512,1
    - Dst: crypto_public_key_free
      Src: /src/hostap/src/tls/tlsv1_server_read.c:516,1
    - Dst: tls_parse_cert
      Src: /src/hostap/src/tls/tlsv1_server_read.c:517,1
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server_read.c:519,1
    - Dst: tlsv1_server_alert
      Src: /src/hostap/src/tls/tlsv1_server_read.c:520,1
    - Dst: x509_certificate_chain_free
      Src: /src/hostap/src/tls/tlsv1_server_read.c:522,1
    - Dst: x509_certificate_parse
      Src: /src/hostap/src/tls/tlsv1_server_read.c:527,1
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server_read.c:529,1
    - Dst: tlsv1_server_alert
      Src: /src/hostap/src/tls/tlsv1_server_read.c:530,1
    - Dst: x509_certificate_chain_free
      Src: /src/hostap/src/tls/tlsv1_server_read.c:532,1
    - Dst: x509_certificate_chain_validate
      Src: /src/hostap/src/tls/tlsv1_server_read.c:546,1
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server_read.c:549,1
    - Dst: tlsv1_server_alert
      Src: /src/hostap/src/tls/tlsv1_server_read.c:574,1
    - Dst: x509_certificate_chain_free
      Src: /src/hostap/src/tls/tlsv1_server_read.c:575,1
    - Dst: tlsv1_server_alert
      Src: /src/hostap/src/tls/tlsv1_server_read.c:582,1
    - Dst: x509_certificate_chain_free
      Src: /src/hostap/src/tls/tlsv1_server_read.c:584,1
    - Dst: x509_certificate_chain_free
      Src: /src/hostap/src/tls/tlsv1_server_read.c:588,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 127
    argCount: 4
    argNames:
    - conn
    - ct
    - in_data
    - in_len
    argTypes:
    - struct tlsv1_server*
    - u8
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 396
    functionDepth: 11
    functionLinenumber: 396
    functionLinenumberEnd: 595
    functionName: tls_process_certificate
    functionSourceFile: /src/hostap/src/tls/tlsv1_server_read.c
    functionUses: 0
    functionsReached:
    - WPA_GET_BE24
    - crypto_public_key_free
    - tlsv1_server_log
    - x509_certificate_chain_free
    - tls_parse_cert
    - x509_certificate_parse
    - x509_certificate_chain_validate
    - tls_process_client_key_exchange
    - tlsv1_server_alert
    linkageType: ''
    returnType: int
    signature: "int tls_process_certificate(struct tlsv1_server *conn, u8 ct,\n\t\t\t\t
      \  const u8 *in_data, size_t *in_len)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tlsv1_server_alert
      Src: /src/hostap/src/tls/tlsv1_server_read.c:608,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/tls/tlsv1_server_read.c:613,1
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server_read.c:616,1
    - Dst: tlsv1_server_alert
      Src: /src/hostap/src/tls/tlsv1_server_read.c:618,1
    - Dst: os_malloc
      Src: /src/hostap/src/tls/tlsv1_server_read.c:624,1
    - Dst: tlsv1_server_alert
      Src: /src/hostap/src/tls/tlsv1_server_read.c:627,1
    - Dst: crypto_private_key_decrypt_pkcs1_v15
      Src: /src/hostap/src/tls/tlsv1_server_read.c:650,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_server_read.c:653,1
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server_read.c:660,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/tls/tlsv1_server_read.c:665,1
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server_read.c:666,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_server_read.c:671,1
    - Dst: os_get_random
      Src: /src/hostap/src/tls/tlsv1_server_read.c:674,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_server_read.c:675,1
    - Dst: tlsv1_server_alert
      Src: /src/hostap/src/tls/tlsv1_server_read.c:677,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_server_read.c:679,1
    - Dst: tlsv1_server_derive_keys
      Src: /src/hostap/src/tls/tlsv1_server_read.c:684,1
    - Dst: os_memset
      Src: /src/hostap/src/tls/tlsv1_server_read.c:687,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_server_read.c:688,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_server_read.c:691,1
    - Dst: tlsv1_server_alert
      Src: /src/hostap/src/tls/tlsv1_server_read.c:692,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 49
    argCount: 3
    argNames:
    - conn
    - pos
    - end
    argTypes:
    - struct tlsv1_server*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 598
    functionDepth: 2
    functionLinenumber: 598
    functionLinenumberEnd: 698
    functionName: tls_process_client_key_exchange_rsa
    functionSourceFile: /src/hostap/src/tls/tlsv1_server_read.c
    functionUses: 0
    functionsReached:
    - WPA_GET_BE16
    - wpa_printf
    - tlsv1_server_derive_keys
    - os_memset
    - os_malloc
    - os_get_random
    - tlsv1_server_log
    - crypto_private_key_decrypt_pkcs1_v15
    - os_free
    - tlsv1_server_alert
    linkageType: ''
    returnType: int
    signature: "int tls_process_client_key_exchange_rsa(\n\tstruct tlsv1_server *conn,
      const u8 *pos, const u8 *end)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server_read.c:721,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/tlsv1_server_read.c:722,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_server_read.c:726,1
    - Dst: tlsv1_server_alert
      Src: /src/hostap/src/tls/tlsv1_server_read.c:728,1
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server_read.c:734,1
    - Dst: tlsv1_server_alert
      Src: /src/hostap/src/tls/tlsv1_server_read.c:735,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/tls/tlsv1_server_read.c:740,1
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server_read.c:744,1
    - Dst: tlsv1_server_alert
      Src: /src/hostap/src/tls/tlsv1_server_read.c:746,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/tlsv1_server_read.c:751,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_server_read.c:756,1
    - Dst: tlsv1_server_alert
      Src: /src/hostap/src/tls/tlsv1_server_read.c:757,1
    - Dst: tlsv1_server_get_dh_p
      Src: /src/hostap/src/tls/tlsv1_server_read.c:762,1
    - Dst: os_malloc
      Src: /src/hostap/src/tls/tlsv1_server_read.c:765,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_server_read.c:767,1
    - Dst: tlsv1_server_alert
      Src: /src/hostap/src/tls/tlsv1_server_read.c:769,1
    - Dst: crypto_mod_exp
      Src: /src/hostap/src/tls/tlsv1_server_read.c:775,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_server_read.c:778,1
    - Dst: tlsv1_server_alert
      Src: /src/hostap/src/tls/tlsv1_server_read.c:779,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/tls/tlsv1_server_read.c:783,1
    - Dst: os_memset
      Src: /src/hostap/src/tls/tlsv1_server_read.c:786,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_server_read.c:787,1
    - Dst: tlsv1_server_derive_keys
      Src: /src/hostap/src/tls/tlsv1_server_read.c:790,1
    - Dst: os_memset
      Src: /src/hostap/src/tls/tlsv1_server_read.c:793,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_server_read.c:794,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_server_read.c:797,1
    - Dst: tlsv1_server_alert
      Src: /src/hostap/src/tls/tlsv1_server_read.c:798,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 52
    argCount: 3
    argNames:
    - conn
    - pos
    - end
    argTypes:
    - struct tlsv1_server*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 701
    functionDepth: 1
    functionLinenumber: 701
    functionLinenumberEnd: 804
    functionName: tls_process_client_key_exchange_dh
    functionSourceFile: /src/hostap/src/tls/tlsv1_server_read.c
    functionUses: 0
    functionsReached:
    - WPA_GET_BE16
    - wpa_printf
    - wpa_hexdump_key
    - wpa_hexdump
    - tlsv1_server_derive_keys
    - os_memset
    - os_malloc
    - tlsv1_server_log
    - os_free
    - crypto_mod_exp
    - tlsv1_server_get_dh_p
    - tlsv1_server_alert
    linkageType: ''
    returnType: int
    signature: "int tls_process_client_key_exchange_dh(\n\tstruct tlsv1_server *conn,
      const u8 *pos, const u8 *end)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server_read.c:817,1
    - Dst: tlsv1_server_alert
      Src: /src/hostap/src/tls/tlsv1_server_read.c:819,1
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server_read.c:828,1
    - Dst: tlsv1_server_alert
      Src: /src/hostap/src/tls/tlsv1_server_read.c:830,1
    - Dst: WPA_GET_BE24
      Src: /src/hostap/src/tls/tlsv1_server_read.c:836,1
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server_read.c:841,1
    - Dst: tlsv1_server_alert
      Src: /src/hostap/src/tls/tlsv1_server_read.c:843,1
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server_read.c:851,1
    - Dst: tlsv1_server_alert
      Src: /src/hostap/src/tls/tlsv1_server_read.c:853,1
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server_read.c:858,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/tlsv1_server_read.c:860,1
    - Dst: tls_get_cipher_suite
      Src: /src/hostap/src/tls/tlsv1_server_read.c:862,1
    - Dst: tls_process_client_key_exchange_dh
      Src: /src/hostap/src/tls/tlsv1_server_read.c:869,1
    - Dst: tls_process_client_key_exchange_rsa
      Src: /src/hostap/src/tls/tlsv1_server_read.c:873,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 4
    argNames:
    - conn
    - ct
    - in_data
    - in_len
    argTypes:
    - struct tlsv1_server*
    - u8
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 807
    functionDepth: 3
    functionLinenumber: 807
    functionLinenumberEnd: 881
    functionName: tls_process_client_key_exchange
    functionSourceFile: /src/hostap/src/tls/tlsv1_server_read.c
    functionUses: 1
    functionsReached:
    - tls_get_cipher_suite
    - wpa_hexdump
    - WPA_GET_BE24
    - tls_process_client_key_exchange_dh
    - tlsv1_server_log
    - tls_process_client_key_exchange_rsa
    - tlsv1_server_alert
    linkageType: ''
    returnType: int
    signature: "int tls_process_client_key_exchange(struct tlsv1_server *conn, u8
      ct,\n\t\t\t\t\t   const u8 *in_data, size_t *in_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server_read.c:1053,1
    - Dst: tlsv1_server_alert
      Src: /src/hostap/src/tls/tlsv1_server_read.c:1055,1
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server_read.c:1064,1
    - Dst: tlsv1_server_alert
      Src: /src/hostap/src/tls/tlsv1_server_read.c:1065,1
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server_read.c:1071,1
    - Dst: tlsv1_server_alert
      Src: /src/hostap/src/tls/tlsv1_server_read.c:1073,1
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server_read.c:1078,1
    - Dst: tlsv1_record_change_read_cipher
      Src: /src/hostap/src/tls/tlsv1_server_read.c:1079,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_server_read.c:1080,1
    - Dst: tlsv1_server_alert
      Src: /src/hostap/src/tls/tlsv1_server_read.c:1082,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 4
    argNames:
    - conn
    - ct
    - in_data
    - in_len
    argTypes:
    - struct tlsv1_server*
    - u8
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 1045
    functionDepth: 1
    functionLinenumber: 1045
    functionLinenumberEnd: 1092
    functionName: tls_process_change_cipher_spec
    functionSourceFile: /src/hostap/src/tls/tlsv1_server_read.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - tlsv1_server_log
    - tlsv1_record_change_read_cipher
    - tlsv1_server_alert
    linkageType: ''
    returnType: int
    signature: "int tls_process_change_cipher_spec(struct tlsv1_server *conn,\n\t\t\t\t\t
      \ u8 ct, const u8 *in_data,\n\t\t\t\t\t  size_t *in_len)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server_read.c:1274,1
    - Dst: tlsv1_server_alert
      Src: /src/hostap/src/tls/tlsv1_server_read.c:1275,1
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server_read.c:1279,1
    - Dst: tls_process_client_hello
      Src: /src/hostap/src/tls/tlsv1_server_read.c:1287,1
    - Dst: tls_process_certificate
      Src: /src/hostap/src/tls/tlsv1_server_read.c:1291,1
    - Dst: tls_process_client_key_exchange
      Src: /src/hostap/src/tls/tlsv1_server_read.c:1295,1
    - Dst: tls_process_certificate_verify
      Src: /src/hostap/src/tls/tlsv1_server_read.c:1299,1
    - Dst: tls_process_change_cipher_spec
      Src: /src/hostap/src/tls/tlsv1_server_read.c:1303,1
    - Dst: tls_process_client_finished
      Src: /src/hostap/src/tls/tlsv1_server_read.c:1307,1
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server_read.c:1311,1
    - Dst: tls_verify_hash_add
      Src: /src/hostap/src/tls/tlsv1_server_read.c:1317,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 44
    argCount: 4
    argNames:
    - conn
    - ct
    - buf
    - len
    argTypes:
    - struct tlsv1_server*
    - u8
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1320
      start: 1269
    functionDepth: 4
    functionLinenumber: 1269
    functionLinenumberEnd: 1320
    functionName: tlsv1_server_process_handshake
    functionSourceFile: /src/hostap/src/tls/tlsv1_server_read.c
    functionUses: 0
    functionsReached:
    - tls_verify_hash_add
    - tls_process_certificate
    - tls_process_client_finished
    - tlsv1_server_log
    - tlsv1_server_alert
    - tls_process_certificate_verify
    - tls_process_change_cipher_spec
    - tls_process_client_key_exchange
    - tls_process_client_hello
    linkageType: ''
    returnType: int
    signature: "int tlsv1_server_process_handshake(struct tlsv1_server *conn, u8 ct,\n\t\t\t\t
      \  const u8 *buf, size_t *len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - struct asn1_hdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: asn1_is_oid
    functionSourceFile: /src/hostap/src/tls/asn1.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool asn1_is_oid(const struct asn1_hdr *hdr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - struct asn1_hdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: asn1_is_boolean
    functionSourceFile: /src/hostap/src/tls/asn1.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool asn1_is_boolean(const struct asn1_hdr *hdr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - struct asn1_hdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: asn1_is_integer
    functionSourceFile: /src/hostap/src/tls/asn1.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool asn1_is_integer(const struct asn1_hdr *hdr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - struct asn1_hdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: asn1_is_enumerated
    functionSourceFile: /src/hostap/src/tls/asn1.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool asn1_is_enumerated(const struct asn1_hdr *hdr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - struct asn1_hdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 116
    functionName: asn1_is_sequence
    functionSourceFile: /src/hostap/src/tls/asn1.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool asn1_is_sequence(const struct asn1_hdr *hdr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - struct asn1_hdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 122
    functionName: asn1_is_set
    functionSourceFile: /src/hostap/src/tls/asn1.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool asn1_is_set(const struct asn1_hdr *hdr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - struct asn1_hdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: asn1_is_octetstring
    functionSourceFile: /src/hostap/src/tls/asn1.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool asn1_is_octetstring(const struct asn1_hdr *hdr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - struct asn1_hdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: asn1_is_bitstring
    functionSourceFile: /src/hostap/src/tls/asn1.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool asn1_is_bitstring(const struct asn1_hdr *hdr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - struct asn1_hdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 140
    functionName: asn1_is_utctime
    functionSourceFile: /src/hostap/src/tls/asn1.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool asn1_is_utctime(const struct asn1_hdr *hdr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - struct asn1_hdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 146
    functionName: asn1_is_generalizedtime
    functionSourceFile: /src/hostap/src/tls/asn1.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool asn1_is_generalizedtime(const struct asn1_hdr *hdr)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 4
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - struct asn1_hdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 164
    functionName: asn1_is_string_type
    functionSourceFile: /src/hostap/src/tls/asn1.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool asn1_is_string_type(const struct asn1_hdr *hdr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - struct asn1_hdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 170
    functionName: asn1_is_bmpstring
    functionSourceFile: /src/hostap/src/tls/asn1.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool asn1_is_bmpstring(const struct asn1_hdr *hdr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - struct asn1_hdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 176
    functionName: asn1_is_utf8string
    functionSourceFile: /src/hostap/src/tls/asn1.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool asn1_is_utf8string(const struct asn1_hdr *hdr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - struct asn1_hdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 182
    functionName: asn1_is_null
    functionSourceFile: /src/hostap/src/tls/asn1.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool asn1_is_null(const struct asn1_hdr *hdr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - hdr
    - tag
    argTypes:
    - struct asn1_hdr*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 188
    functionName: asn1_is_cs_tag
    functionSourceFile: /src/hostap/src/tls/asn1.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool asn1_is_cs_tag(const struct asn1_hdr *hdr, unsigned int tag)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/hostap/src/tls/tlsv1_server.c:30,1
    - Dst: vsnprintf
      Src: /src/hostap/src/tls/tlsv1_server.c:31,1
    - Dst: va_end
      Src: /src/hostap/src/tls/tlsv1_server.c:32,1
    - Dst: os_malloc
      Src: /src/hostap/src/tls/tlsv1_server.c:34,1
    - Dst: va_start
      Src: /src/hostap/src/tls/tlsv1_server.c:37,1
    - Dst: vsnprintf
      Src: /src/hostap/src/tls/tlsv1_server.c:38,1
    - Dst: va_end
      Src: /src/hostap/src/tls/tlsv1_server.c:39,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_server.c:41,1
    - Dst: struct tlsv1_server*::log_cb
      Src: /src/hostap/src/tls/tlsv1_server.c:43,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_server.c:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - conn
    - fmt
    argTypes:
    - struct tlsv1_server*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 46
    functionName: tlsv1_server_log
    functionSourceFile: /src/hostap/src/tls/tlsv1_server.c
    functionUses: 17
    functionsReached:
    - wpa_printf
    - os_malloc
    - vsnprintf
    - va_end
    - struct tlsv1_server*::log_cb
    - va_start
    - os_free
    linkageType: ''
    returnType: void
    signature: void tlsv1_server_log(struct tlsv1_server *conn, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - conn
    - level
    - description
    argTypes:
    - struct tlsv1_server*
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: tlsv1_server_alert
    functionSourceFile: /src/hostap/src/tls/tlsv1_server.c
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tlsv1_server_alert(struct tlsv1_server *conn, u8 level, u8 description)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/tls/tlsv1_server.c:66,1
    - Dst: os_memcpy
      Src: /src/hostap/src/tls/tlsv1_server.c:68,1
    - Dst: os_memcpy
      Src: /src/hostap/src/tls/tlsv1_server.c:69,1
    - Dst: tls_prf
      Src: /src/hostap/src/tls/tlsv1_server.c:71,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_server.c:75,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/tls/tlsv1_server.c:79,1
    - Dst: os_memcpy
      Src: /src/hostap/src/tls/tlsv1_server.c:83,1
    - Dst: os_memcpy
      Src: /src/hostap/src/tls/tlsv1_server.c:84,1
    - Dst: tls_prf
      Src: /src/hostap/src/tls/tlsv1_server.c:87,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_server.c:91,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/tls/tlsv1_server.c:94,1
    - Dst: os_memcpy
      Src: /src/hostap/src/tls/tlsv1_server.c:100,1
    - Dst: os_memcpy
      Src: /src/hostap/src/tls/tlsv1_server.c:103,1
    - Dst: os_memcpy
      Src: /src/hostap/src/tls/tlsv1_server.c:107,1
    - Dst: os_memcpy
      Src: /src/hostap/src/tls/tlsv1_server.c:110,1
    - Dst: os_memcpy
      Src: /src/hostap/src/tls/tlsv1_server.c:114,1
    - Dst: os_memcpy
      Src: /src/hostap/src/tls/tlsv1_server.c:117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 3
    argNames:
    - conn
    - pre_master_secret
    - pre_master_secret_len
    argTypes:
    - struct tlsv1_server*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 56
    functionDepth: 3
    functionLinenumber: 56
    functionLinenumberEnd: 121
    functionName: tlsv1_server_derive_keys
    functionSourceFile: /src/hostap/src/tls/tlsv1_server.c
    functionUses: 3
    functionsReached:
    - wpa_printf
    - wpa_hexdump_key
    - tls_prf
    - os_memcpy
    linkageType: ''
    returnType: int
    signature: "int tlsv1_server_derive_keys(struct tlsv1_server *conn,\n\t\t\t     const
      u8 *pre_master_secret,\n\t\t\t     size_t pre_master_secret_len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_server.c:142,1
    - Dst: os_malloc
      Src: /src/hostap/src/tls/tlsv1_server.c:148,1
    - Dst: tlsv1_record_receive
      Src: /src/hostap/src/tls/tlsv1_server.c:155,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_server.c:158,1
    - Dst: tlsv1_server_alert
      Src: /src/hostap/src/tls/tlsv1_server.c:160,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_server.c:165,1
    - Dst: tlsv1_server_alert
      Src: /src/hostap/src/tls/tlsv1_server.c:167,1
    - Dst: tlsv1_server_process_handshake
      Src: /src/hostap/src/tls/tlsv1_server.c:180,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_server.c:189,1
    - Dst: tlsv1_server_handshake_write
      Src: /src/hostap/src/tls/tlsv1_server.c:192,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_server.c:195,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_server.c:199,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_server.c:200,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_server.c:204,1
    - Dst: tlsv1_server_send_alert
      Src: /src/hostap/src/tls/tlsv1_server.c:205,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 55
    argCount: 4
    argNames:
    - conn
    - in_data
    - in_len
    - out_len
    argTypes:
    - struct tlsv1_server*
    - u8*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 132
    functionDepth: 8
    functionLinenumber: 132
    functionLinenumberEnd: 212
    functionName: tlsv1_server_handshake
    functionSourceFile: /src/hostap/src/tls/tlsv1_server.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - tlsv1_server_send_alert
    - os_malloc
    - tlsv1_record_receive
    - tlsv1_server_handshake_write
    - tlsv1_server_process_handshake
    - os_free
    - tlsv1_server_alert
    linkageType: ''
    returnType: u8
    signature: "u8 * tlsv1_server_handshake(struct tlsv1_server *conn,\n\t\t\t    const
      u8 *in_data, size_t in_len,\n\t\t\t    size_t *out_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/tls/tlsv1_server.c:233,1
    - Dst: tlsv1_record_send
      Src: /src/hostap/src/tls/tlsv1_server.c:236,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_server.c:238,1
    - Dst: tlsv1_server_alert
      Src: /src/hostap/src/tls/tlsv1_server.c:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - conn
    - in_data
    - in_len
    - out_data
    - out_len
    argTypes:
    - struct tlsv1_server*
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 245
    functionName: tlsv1_server_encrypt
    functionSourceFile: /src/hostap/src/tls/tlsv1_server.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpa_hexdump_key
    - tlsv1_record_send
    - tlsv1_server_alert
    linkageType: ''
    returnType: int
    signature: "int tlsv1_server_encrypt(struct tlsv1_server *conn,\n\t\t\t const
      u8 *in_data, size_t in_len,\n\t\t\t u8 *out_data, size_t out_len)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tlsv1_record_receive
      Src: /src/hostap/src/tls/tlsv1_server.c:277,1
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server.c:280,1
    - Dst: tlsv1_server_alert
      Src: /src/hostap/src/tls/tlsv1_server.c:281,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_server.c:286,1
    - Dst: tlsv1_server_alert
      Src: /src/hostap/src/tls/tlsv1_server.c:288,1
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server.c:294,1
    - Dst: tlsv1_server_alert
      Src: /src/hostap/src/tls/tlsv1_server.c:295,1
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server.c:299,1
    - Dst: tlsv1_server_alert
      Src: /src/hostap/src/tls/tlsv1_server.c:308,1
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server.c:314,1
    - Dst: tlsv1_server_alert
      Src: /src/hostap/src/tls/tlsv1_server.c:316,1
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server.c:326,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_server.c:333,1
    - Dst: tlsv1_server_alert
      Src: /src/hostap/src/tls/tlsv1_server.c:335,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 52
    argCount: 5
    argNames:
    - conn
    - in_data
    - in_len
    - out_data
    - out_len
    argTypes:
    - struct tlsv1_server*
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 344
    functionName: tlsv1_server_decrypt
    functionSourceFile: /src/hostap/src/tls/tlsv1_server.c
    functionUses: 1
    functionsReached:
    - tlsv1_server_log
    - tlsv1_server_alert
    - wpa_printf
    - tlsv1_record_receive
    linkageType: ''
    returnType: int
    signature: "int tlsv1_server_decrypt(struct tlsv1_server *conn,\n\t\t\t const
      u8 *in_data, size_t in_len,\n\t\t\t u8 *out_data, size_t out_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_global_init
      Src: /src/hostap/src/tls/tlsv1_server.c:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 356
    functionName: tlsv1_server_global_init
    functionSourceFile: /src/hostap/src/tls/tlsv1_server.c
    functionUses: 1
    functionsReached:
    - crypto_global_init
    linkageType: ''
    returnType: int
    signature: int tlsv1_server_global_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_global_deinit
      Src: /src/hostap/src/tls/tlsv1_server.c:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 369
    functionName: tlsv1_server_global_deinit
    functionSourceFile: /src/hostap/src/tls/tlsv1_server.c
    functionUses: 1
    functionsReached:
    - crypto_global_deinit
    linkageType: ''
    returnType: void
    signature: void tlsv1_server_global_deinit(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/tls/tlsv1_server.c:383,1
    - Dst: tls_verify_hash_init
      Src: /src/hostap/src/tls/tlsv1_server.c:391,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_server.c:392,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_server.c:394,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 1
    argNames:
    - cred
    argTypes:
    - struct tlsv1_credentials*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 377
    functionDepth: 2
    functionLinenumber: 377
    functionLinenumberEnd: 415
    functionName: tlsv1_server_init
    functionSourceFile: /src/hostap/src/tls/tlsv1_server.c
    functionUses: 1
    functionsReached:
    - tls_verify_hash_init
    - os_free
    - os_zalloc
    - wpa_printf
    linkageType: ''
    returnType: struct tlsv1_server
    signature: struct tlsv1_server * tlsv1_server_init(struct tlsv1_credentials *cred)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlsv1_record_set_cipher_suite
      Src: /src/hostap/src/tls/tlsv1_server.c:420,1
    - Dst: tlsv1_record_change_write_cipher
      Src: /src/hostap/src/tls/tlsv1_server.c:421,1
    - Dst: tlsv1_record_change_read_cipher
      Src: /src/hostap/src/tls/tlsv1_server.c:422,1
    - Dst: tls_verify_hash_free
      Src: /src/hostap/src/tls/tlsv1_server.c:423,1
    - Dst: crypto_public_key_free
      Src: /src/hostap/src/tls/tlsv1_server.c:425,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_server.c:428,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_server.c:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct tlsv1_server*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 436
    functionName: tlsv1_server_clear_data
    functionSourceFile: /src/hostap/src/tls/tlsv1_server.c
    functionUses: 0
    functionsReached:
    - tls_verify_hash_free
    - tlsv1_record_change_read_cipher
    - crypto_public_key_free
    - os_free
    - tlsv1_record_set_cipher_suite
    - tlsv1_record_change_write_cipher
    linkageType: ''
    returnType: void
    signature: void tlsv1_server_clear_data(struct tlsv1_server *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlsv1_server_clear_data
      Src: /src/hostap/src/tls/tlsv1_server.c:445,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_server.c:446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct tlsv1_server*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 443
    functionDepth: 2
    functionLinenumber: 443
    functionLinenumberEnd: 447
    functionName: tlsv1_server_deinit
    functionSourceFile: /src/hostap/src/tls/tlsv1_server.c
    functionUses: 1
    functionsReached:
    - os_free
    - tlsv1_server_clear_data
    linkageType: ''
    returnType: void
    signature: void tlsv1_server_deinit(struct tlsv1_server *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct tlsv1_server*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 458
    functionName: tlsv1_server_established
    functionSourceFile: /src/hostap/src/tls/tlsv1_server.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tlsv1_server_established(struct tlsv1_server *conn)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/tls/tlsv1_server.c:490,1
    - Dst: os_memcpy
      Src: /src/hostap/src/tls/tlsv1_server.c:495,1
    - Dst: os_memcpy
      Src: /src/hostap/src/tls/tlsv1_server.c:496,1
    - Dst: os_memcpy
      Src: /src/hostap/src/tls/tlsv1_server.c:499,1
    - Dst: os_memcpy
      Src: /src/hostap/src/tls/tlsv1_server.c:500,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/tls/tlsv1_server.c:506,1
    - Dst: os_memcpy
      Src: /src/hostap/src/tls/tlsv1_server.c:508,1
    - Dst: tls_prf
      Src: /src/hostap/src/tls/tlsv1_server.c:511,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_server.c:514,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 7
    argNames:
    - conn
    - label
    - context
    - context_len
    - server_random_first
    - out
    - out_len
    argTypes:
    - struct tlsv1_server*
    - char*
    - u8*
    - size_t
    - int
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 473
    functionDepth: 3
    functionLinenumber: 473
    functionLinenumberEnd: 516
    functionName: tlsv1_server_prf
    functionSourceFile: /src/hostap/src/tls/tlsv1_server.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    - os_malloc
    - WPA_PUT_BE16
    - os_free
    - tls_prf
    linkageType: ''
    returnType: int
    signature: "int tlsv1_server_prf(struct tlsv1_server *conn, const char *label,\n\t\t
      \    const u8 *context, size_t context_len,\n\t\t     int server_random_first,
      u8 *out, size_t out_len)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: os_strlcpy
      Src: /src/hostap/src/tls/tlsv1_server.c:601,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 71
    argCount: 3
    argNames:
    - conn
    - buf
    - buflen
    argTypes:
    - struct tlsv1_server*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 604
    functionName: tlsv1_server_get_cipher
    functionSourceFile: /src/hostap/src/tls/tlsv1_server.c
    functionUses: 1
    functionsReached:
    - os_strlcpy
    linkageType: ''
    returnType: int
    signature: "int tlsv1_server_get_cipher(struct tlsv1_server *conn, char *buf,\n\t\t\t
      \   size_t buflen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tls_verify_hash_init
      Src: /src/hostap/src/tls/tlsv1_server.c:616,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_server.c:617,1
    - Dst: tlsv1_server_clear_data
      Src: /src/hostap/src/tls/tlsv1_server.c:622,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct tlsv1_server*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 612
    functionDepth: 2
    functionLinenumber: 612
    functionLinenumberEnd: 625
    functionName: tlsv1_server_shutdown
    functionSourceFile: /src/hostap/src/tls/tlsv1_server.c
    functionUses: 1
    functionsReached:
    - tls_verify_hash_init
    - wpa_printf
    - tlsv1_server_clear_data
    linkageType: ''
    returnType: int
    signature: int tlsv1_server_shutdown(struct tlsv1_server *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct tlsv1_server*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 636
    functionName: tlsv1_server_resumed
    functionSourceFile: /src/hostap/src/tls/tlsv1_server.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tlsv1_server_resumed(struct tlsv1_server *conn)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/tls/tlsv1_server.c:647,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - conn
    - keys
    argTypes:
    - struct tlsv1_server*
    - struct tls_random*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 660
    functionName: tlsv1_server_get_random
    functionSourceFile: /src/hostap/src/tls/tlsv1_server.c
    functionUses: 1
    functionsReached:
    - os_memset
    linkageType: ''
    returnType: int
    signature: int tlsv1_server_get_random(struct tlsv1_server *conn, struct tls_random
      *keys)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct tlsv1_server*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 676
    functionName: tlsv1_server_get_keyblock_size
    functionSourceFile: /src/hostap/src/tls/tlsv1_server.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tlsv1_server_get_keyblock_size(struct tlsv1_server *conn)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - conn
    - ciphers
    argTypes:
    - struct tlsv1_server*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 709
    functionName: tlsv1_server_set_cipher_list
    functionSourceFile: /src/hostap/src/tls/tlsv1_server.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tlsv1_server_set_cipher_list(struct tlsv1_server *conn, u8 *ciphers)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - conn
    - verify_peer
    argTypes:
    - struct tlsv1_server*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 716
    functionName: tlsv1_server_set_verify
    functionSourceFile: /src/hostap/src/tls/tlsv1_server.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tlsv1_server_set_verify(struct tlsv1_server *conn, int verify_peer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_server.c:723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - conn
    - cb
    - ctx
    argTypes:
    - struct tlsv1_server*
    - tlsv1_server_session_ticket_cb
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 727
    functionName: tlsv1_server_set_session_ticket_cb
    functionSourceFile: /src/hostap/src/tls/tlsv1_server.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: "void tlsv1_server_set_session_ticket_cb(struct tlsv1_server *conn,\n\t\t\t\t\ttlsv1_server_session_ticket_cb
      cb,\n\t\t\t\t\tvoid *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - conn
    - ctx
    argTypes:
    - struct tlsv1_server*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 730
    functionDepth: 0
    functionLinenumber: 730
    functionLinenumberEnd: 735
    functionName: tlsv1_server_set_log_cb
    functionSourceFile: /src/hostap/src/tls/tlsv1_server.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void tlsv1_server_set_log_cb(struct tlsv1_server *conn,\n\t\t\t     void
      (*cb)(void *ctx, const char *msg), void *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct tlsv1_server*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 741
    functionName: tlsv1_server_get_failed
    functionSourceFile: /src/hostap/src/tls/tlsv1_server.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tlsv1_server_get_failed(struct tlsv1_server *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct tlsv1_server*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 747
    functionName: tlsv1_server_get_read_alerts
    functionSourceFile: /src/hostap/src/tls/tlsv1_server.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tlsv1_server_get_read_alerts(struct tlsv1_server *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct tlsv1_server*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 753
    functionName: tlsv1_server_get_write_alerts
    functionSourceFile: /src/hostap/src/tls/tlsv1_server.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tlsv1_server_get_write_alerts(struct tlsv1_server *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - conn
    - flags
    argTypes:
    - struct tlsv1_server*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 760
    functionName: tlsv1_server_set_test_flags
    functionSourceFile: /src/hostap/src/tls/tlsv1_server.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tlsv1_server_set_test_flags(struct tlsv1_server *conn, u32 flags)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server.c:846,1
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server.c:850,1
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server.c:854,1
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server.c:858,1
    - Dst: tlsv1_server_log
      Src: /src/hostap/src/tls/tlsv1_server.c:862,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 3
    argNames:
    - conn
    - dh_p
    - dh_p_len
    argTypes:
    - struct tlsv1_server*
    - u8**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 838
    functionDepth: 1
    functionLinenumber: 838
    functionLinenumberEnd: 867
    functionName: tlsv1_server_get_dh_p
    functionSourceFile: /src/hostap/src/tls/tlsv1_server.c
    functionUses: 2
    functionsReached:
    - tlsv1_server_log
    linkageType: ''
    returnType: void
    signature: "void tlsv1_server_get_dh_p(struct tlsv1_server *conn, const u8 **dh_p,\n\t\t\t
      \  size_t *dh_p_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 2
    argCount: 1
    argNames:
    - oid
    argTypes:
    - struct asn1_oid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 47
    functionName: is_oid_basic_ocsp_resp
    functionSourceFile: /src/hostap/src/tls/tlsv1_client_ocsp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_oid_basic_ocsp_resp(struct asn1_oid *oid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sha1_vector
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:58,1
    - Dst: os_memcmp
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:60,1
    - Dst: x509_name_compare
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - signer
    - name
    - key_hash
    argTypes:
    - struct x509_certificate*
    - struct x509_name*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 50
    functionDepth: 4
    functionLinenumber: 50
    functionLinenumberEnd: 64
    functionName: ocsp_responder_id_match
    functionSourceFile: /src/hostap/src/tls/tlsv1_client_ocsp.c
    functionUses: 0
    functionsReached:
    - x509_name_compare
    - sha1_vector
    - os_memcmp
    linkageType: ''
    returnType: int
    signature: "int ocsp_responder_id_match(struct x509_certificate *signer,\n\t\t\t\t
      \  struct x509_name *name, const u8 *key_hash)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: x509_sha1_oid
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:74,1
    - Dst: sha1_vector
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:75,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:77,1
    - Dst: x509_sha256_oid
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:81,1
    - Dst: sha256_vector
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:82,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:84,1
    - Dst: x509_sha384_oid
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:88,1
    - Dst: sha384_vector
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:89,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:91,1
    - Dst: x509_sha512_oid
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:95,1
    - Dst: sha512_vector
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:96,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:98,1
    - Dst: asn1_oid_to_str
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:103,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:104,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 4
    argNames:
    - alg
    - data
    - data_len
    - hash
    argTypes:
    - struct asn1_oid*
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 107
    functionName: ocsp_hash_data
    functionSourceFile: /src/hostap/src/tls/tlsv1_client_ocsp.c
    functionUses: 0
    functionsReached:
    - sha256_vector
    - wpa_printf
    - x509_sha1_oid
    - wpa_hexdump
    - sha384_vector
    - sha1_vector
    - asn1_oid_to_str
    - x509_sha512_oid
    - x509_sha384_oid
    - sha512_vector
    - x509_sha256_oid
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int ocsp_hash_data(struct asn1_oid *alg, const u8 *data,\n\t\t\t\t
      \  size_t data_len, u8 *hash)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:129,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:141,1
    - Dst: asn1_is_sequence
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:141,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:142,1
    - Dst: x509_parse_algorithm_identifier
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:157,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:161,1
    - Dst: asn1_is_octetstring
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:162,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:163,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:169,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:173,1
    - Dst: ocsp_hash_data
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:175,1
    - Dst: os_memcmp
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:178,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:179,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:180,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:186,1
    - Dst: asn1_is_octetstring
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:187,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:188,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:194,1
    - Dst: ocsp_hash_data
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:197,1
    - Dst: os_memcmp
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:200,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:201,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:202,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:208,1
    - Dst: asn1_is_integer
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:209,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:211,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:221,1
    - Dst: os_memcmp
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:225,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:227,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:241,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:243,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:247,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:248,1
    - Dst: os_get_time
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:252,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:254,1
    - Dst: asn1_is_generalizedtime
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:255,1
    - Dst: x509_parse_time
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:256,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:257,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:260,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:263,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:270,1
    - Dst: asn1_is_cs_tag
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:272,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:275,1
    - Dst: asn1_is_generalizedtime
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:276,1
    - Dst: x509_parse_time
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:277,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:279,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:283,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:287,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:295,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 100
    argCount: 6
    argNames:
    - conn
    - cert
    - issuer
    - resp
    - len
    - res
    argTypes:
    - struct tlsv1_client*
    - struct x509_certificate*
    - struct x509_certificate*
    - u8*
    - size_t
    - enum tls_ocsp_result*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 110
    functionDepth: 5
    functionLinenumber: 110
    functionLinenumberEnd: 307
    functionName: tls_process_ocsp_single_response
    functionSourceFile: /src/hostap/src/tls/tlsv1_client_ocsp.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - asn1_is_sequence
    - asn1_is_generalizedtime
    - wpa_hexdump
    - asn1_get_next
    - asn1_is_integer
    - asn1_is_cs_tag
    - asn1_unexpected
    - asn1_is_octetstring
    - os_get_time
    - ocsp_hash_data
    - os_memcmp
    - x509_parse_algorithm_identifier
    - x509_parse_time
    linkageType: ''
    returnType: int
    signature: "int tls_process_ocsp_single_response(struct tlsv1_client *conn,\n\t\t\t\t\t
      \   struct x509_certificate *cert,\n\t\t\t\t\t    struct x509_certificate *issuer,\n\t\t\t\t\t
      \   const u8 *resp, size_t len,\n\t\t\t\t\t    enum tls_ocsp_result *res)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:324,1
    - Dst: asn1_is_sequence
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:325,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:326,1
    - Dst: tls_process_ocsp_single_response
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:330,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:337,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - conn
    - cert
    - issuer
    - resp
    - len
    argTypes:
    - struct tlsv1_client*
    - struct x509_certificate*
    - struct x509_certificate*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 310
    functionDepth: 6
    functionLinenumber: 310
    functionLinenumberEnd: 340
    functionName: tls_process_ocsp_responses
    functionSourceFile: /src/hostap/src/tls/tlsv1_client_ocsp.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - asn1_is_sequence
    - asn1_get_next
    - tls_process_ocsp_single_response
    - asn1_unexpected
    linkageType: ''
    returnType: enum tls_ocsp_result
    signature: "enum tls_ocsp_result tls_process_ocsp_responses(struct tlsv1_client
      *conn,\n\t\t\t   struct x509_certificate *cert,\n\t\t\t   struct x509_certificate
      *issuer, const u8 *resp,\n\t\t\t   size_t len)"
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:362,1
    - Dst: os_memset
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:364,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:375,1
    - Dst: asn1_is_sequence
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:375,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:376,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:384,1
    - Dst: asn1_is_sequence
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:385,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:386,1
    - Dst: x509_parse_algorithm_identifier
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:397,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:401,1
    - Dst: asn1_is_bitstring
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:402,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:403,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:411,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:421,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:425,1
    - Dst: asn1_is_cs_tag
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:426,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:427,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:431,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:438,1
    - Dst: asn1_is_sequence
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:439,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:440,1
    - Dst: x509_certificate_parse
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:445,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:468,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:474,1
    - Dst: asn1_is_cs_tag
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:475,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:476,1
    - Dst: asn1_is_integer
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:477,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:478,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:482,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:485,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:492,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:501,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:503,1
    - Dst: x509_parse_name
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:509,1
    - Dst: x509_name_string
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:511,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:512,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:515,1
    - Dst: asn1_is_octetstring
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:516,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:517,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:522,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:525,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:532,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:538,1
    - Dst: asn1_is_generalizedtime
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:539,1
    - Dst: x509_parse_time
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:540,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:542,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:545,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:550,1
    - Dst: asn1_is_sequence
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:551,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:552,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:558,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:563,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:569,1
    - Dst: x509_name_compare
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:581,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:587,1
    - Dst: ocsp_responder_id_match
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:592,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:593,1
    - Dst: ocsp_responder_id_match
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:598,1
    - Dst: x509_name_compare
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:599,1
    - Dst: x509_certificate_check_signature
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:603,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:606,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:611,1
    - Dst: x509_free_name
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:617,1
    - Dst: os_memset
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:618,1
    - Dst: x509_certificate_chain_free
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:619,1
    - Dst: x509_check_signature
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:622,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:624,1
    - Dst: tls_process_ocsp_responses
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:628,1
    - Dst: x509_free_name
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:637,1
    - Dst: x509_certificate_chain_free
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:638,1
    - Dst: x509_free_name
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:642,1
    - Dst: x509_certificate_chain_free
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:643,1
    CyclomaticComplexity: 71
    EdgeCount: 71
    ICount: 189
    argCount: 4
    argNames:
    - conn
    - srv_cert
    - resp
    - len
    argTypes:
    - struct tlsv1_client*
    - struct x509_certificate*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 343
    functionDepth: 10
    functionLinenumber: 343
    functionLinenumberEnd: 645
    functionName: tls_process_basic_ocsp_response
    functionSourceFile: /src/hostap/src/tls/tlsv1_client_ocsp.c
    functionUses: 0
    functionsReached:
    - asn1_is_sequence
    - wpa_hexdump
    - x509_name_compare
    - x509_certificate_parse
    - tls_process_ocsp_responses
    - x509_free_name
    - x509_check_signature
    - wpa_printf
    - asn1_is_integer
    - asn1_unexpected
    - ocsp_responder_id_match
    - x509_parse_name
    - x509_parse_time
    - x509_name_string
    - asn1_get_next
    - asn1_is_bitstring
    - os_memset
    - asn1_is_generalizedtime
    - asn1_is_cs_tag
    - asn1_is_octetstring
    - x509_certificate_chain_free
    - x509_parse_algorithm_identifier
    - x509_certificate_check_signature
    linkageType: ''
    returnType: enum tls_ocsp_result
    signature: "enum tls_ocsp_result tls_process_basic_ocsp_response(struct tlsv1_client
      *conn,\n\t\t\t\tstruct x509_certificate *srv_cert,\n\t\t\t\tconst u8 *resp,
      size_t len)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:660,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:669,1
    - Dst: asn1_is_sequence
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:669,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:670,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:678,1
    - Dst: asn1_is_enumerated
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:679,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:680,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:685,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:688,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:696,1
    - Dst: asn1_is_cs_tag
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:697,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:698,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:709,1
    - Dst: asn1_is_sequence
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:710,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:711,1
    - Dst: asn1_get_oid
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:719,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:720,1
    - Dst: asn1_oid_to_str
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:724,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:725,1
    - Dst: is_oid_basic_ocsp_resp
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:726,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:727,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:732,1
    - Dst: asn1_is_octetstring
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:733,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:734,1
    - Dst: x509_name_string
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:743,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:744,1
    - Dst: tls_process_basic_ocsp_response
      Src: /src/hostap/src/tls/tlsv1_client_ocsp.c:748,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 59
    argCount: 3
    argNames:
    - conn
    - resp
    - len
    argTypes:
    - struct tlsv1_client*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 648
    functionDepth: 11
    functionLinenumber: 648
    functionLinenumberEnd: 759
    functionName: tls_process_ocsp_response
    functionSourceFile: /src/hostap/src/tls/tlsv1_client_ocsp.c
    functionUses: 0
    functionsReached:
    - tls_process_basic_ocsp_response
    - wpa_printf
    - asn1_is_sequence
    - x509_name_string
    - wpa_hexdump
    - asn1_get_next
    - asn1_is_enumerated
    - asn1_is_cs_tag
    - asn1_unexpected
    - asn1_is_octetstring
    - asn1_oid_to_str
    - is_oid_basic_ocsp_resp
    - asn1_get_oid
    linkageType: ''
    returnType: enum tls_ocsp_result
    signature: "enum tls_ocsp_result tls_process_ocsp_response(struct tlsv1_client
      *conn,\n\t\t\t\t\t       const u8 *resp, size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/tls/bignum.c:32,1
    - Dst: mp_init
      Src: /src/hostap/src/tls/bignum.c:35,1
    - Dst: os_free
      Src: /src/hostap/src/tls/bignum.c:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 40
    functionName: bignum_init
    functionSourceFile: /src/hostap/src/tls/bignum.c
    functionUses: 12
    functionsReached:
    - os_free
    - os_zalloc
    - mp_init
    linkageType: ''
    returnType: struct bignum
    signature: struct bignum * bignum_init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mp_clear
      Src: /src/hostap/src/tls/bignum.c:50,1
    - Dst: os_free
      Src: /src/hostap/src/tls/bignum.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - n
    argTypes:
    - struct bignum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: bignum_deinit
    functionSourceFile: /src/hostap/src/tls/bignum.c
    functionUses: 9
    functionsReached:
    - os_free
    - mp_clear
    linkageType: ''
    returnType: void
    signature: void bignum_deinit(struct bignum *n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mp_unsigned_bin_size
      Src: /src/hostap/src/tls/bignum.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - struct bignum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: bignum_get_unsigned_bin_len
    functionSourceFile: /src/hostap/src/tls/bignum.c
    functionUses: 2
    functionsReached:
    - mp_unsigned_bin_size
    linkageType: ''
    returnType: size_t
    signature: size_t bignum_get_unsigned_bin_len(struct bignum *n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mp_unsigned_bin_size
      Src: /src/hostap/src/tls/bignum.c:77,1
    - Dst: mp_to_unsigned_bin
      Src: /src/hostap/src/tls/bignum.c:82,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/bignum.c:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - n
    - buf
    - len
    argTypes:
    - struct bignum*
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 89
    functionName: bignum_get_unsigned_bin
    functionSourceFile: /src/hostap/src/tls/bignum.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - mp_unsigned_bin_size
    - mp_to_unsigned_bin
    linkageType: ''
    returnType: int
    signature: int bignum_get_unsigned_bin(const struct bignum *n, u8 *buf, size_t
      *len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mp_read_unsigned_bin
      Src: /src/hostap/src/tls/bignum.c:101,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/bignum.c:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - n
    - buf
    - len
    argTypes:
    - struct bignum*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionName: bignum_set_unsigned_bin
    functionSourceFile: /src/hostap/src/tls/bignum.c
    functionUses: 5
    functionsReached:
    - mp_read_unsigned_bin
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int bignum_set_unsigned_bin(struct bignum *n, const u8 *buf, size_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mp_cmp
      Src: /src/hostap/src/tls/bignum.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct bignum*
    - struct bignum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: bignum_cmp
    functionSourceFile: /src/hostap/src/tls/bignum.c
    functionUses: 2
    functionsReached:
    - mp_cmp
    linkageType: ''
    returnType: int
    signature: int bignum_cmp(const struct bignum *a, const struct bignum *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mp_cmp_d
      Src: /src/hostap/src/tls/bignum.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct bignum*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: bignum_cmp_d
    functionSourceFile: /src/hostap/src/tls/bignum.c
    functionUses: 2
    functionsReached:
    - mp_cmp_d
    linkageType: ''
    returnType: int
    signature: int bignum_cmp_d(const struct bignum *a, unsigned long b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mp_add
      Src: /src/hostap/src/tls/bignum.c:143,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/bignum.c:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - a
    - b
    - c
    argTypes:
    - struct bignum*
    - struct bignum*
    - struct bignum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 148
    functionName: bignum_add
    functionSourceFile: /src/hostap/src/tls/bignum.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - mp_add
    linkageType: ''
    returnType: int
    signature: "int bignum_add(const struct bignum *a, const struct bignum *b,\n\t
      \      struct bignum *c)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mp_sub
      Src: /src/hostap/src/tls/bignum.c:161,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/bignum.c:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - a
    - b
    - c
    argTypes:
    - struct bignum*
    - struct bignum*
    - struct bignum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 166
    functionName: bignum_sub
    functionSourceFile: /src/hostap/src/tls/bignum.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - mp_sub
    linkageType: ''
    returnType: int
    signature: "int bignum_sub(const struct bignum *a, const struct bignum *b,\n\t
      \      struct bignum *c)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mp_mul
      Src: /src/hostap/src/tls/bignum.c:179,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/bignum.c:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - a
    - b
    - c
    argTypes:
    - struct bignum*
    - struct bignum*
    - struct bignum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 184
    functionName: bignum_mul
    functionSourceFile: /src/hostap/src/tls/bignum.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - mp_mul
    linkageType: ''
    returnType: int
    signature: "int bignum_mul(const struct bignum *a, const struct bignum *b,\n\t
      \      struct bignum *c)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mp_mulmod
      Src: /src/hostap/src/tls/bignum.c:198,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/bignum.c:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - a
    - b
    - c
    - d
    argTypes:
    - struct bignum*
    - struct bignum*
    - struct bignum*
    - struct bignum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 204
    functionName: bignum_mulmod
    functionSourceFile: /src/hostap/src/tls/bignum.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - mp_mulmod
    linkageType: ''
    returnType: int
    signature: "int bignum_mulmod(const struct bignum *a, const struct bignum *b,\n\t\t
      \ const struct bignum *c, struct bignum *d)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mp_exptmod
      Src: /src/hostap/src/tls/bignum.c:218,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/bignum.c:220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - a
    - b
    - c
    - d
    argTypes:
    - struct bignum*
    - struct bignum*
    - struct bignum*
    - struct bignum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 224
    functionName: bignum_exptmod
    functionSourceFile: /src/hostap/src/tls/bignum.c
    functionUses: 3
    functionsReached:
    - wpa_printf
    - mp_exptmod
    linkageType: ''
    returnType: int
    signature: "int bignum_exptmod(const struct bignum *a, const struct bignum *b,\n\t\t
      \  const struct bignum *c, struct bignum *d)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/pkcs1.c:36,1
    - Dst: os_memset
      Src: /src/hostap/src/tls/pkcs1.c:50,1
    - Dst: os_memset
      Src: /src/hostap/src/tls/pkcs1.c:54,1
    - Dst: os_get_random
      Src: /src/hostap/src/tls/pkcs1.c:58,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/pkcs1.c:59,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/pkcs1.c:70,1
    - Dst: os_memcpy
      Src: /src/hostap/src/tls/pkcs1.c:75,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 6
    argNames:
    - block_type
    - modlen
    - in
    - inlen
    - out
    - outlen
    argTypes:
    - u8
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 78
    functionName: pkcs1_generate_encryption_block
    functionSourceFile: /src/hostap/src/tls/pkcs1.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - os_get_random
    - os_memcpy
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int pkcs1_generate_encryption_block(u8 block_type, size_t modlen,\n\t\t\t\t\t
      \  const u8 *in, size_t inlen,\n\t\t\t\t\t   u8 *out, size_t *outlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_rsa_get_modulus_len
      Src: /src/hostap/src/tls/pkcs1.c:87,1
    - Dst: pkcs1_generate_encryption_block
      Src: /src/hostap/src/tls/pkcs1.c:89,1
    - Dst: crypto_rsa_exptmod
      Src: /src/hostap/src/tls/pkcs1.c:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 7
    argNames:
    - block_type
    - key
    - use_private
    - in
    - inlen
    - out
    - outlen
    argTypes:
    - int
    - struct crypto_rsa_key*
    - int
    - u8*
    - size_t
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 81
    functionDepth: 3
    functionLinenumber: 81
    functionLinenumberEnd: 94
    functionName: pkcs1_encrypt
    functionSourceFile: /src/hostap/src/tls/pkcs1.c
    functionUses: 2
    functionsReached:
    - crypto_rsa_exptmod
    - crypto_rsa_get_modulus_len
    - pkcs1_generate_encryption_block
    linkageType: ''
    returnType: int
    signature: "int pkcs1_encrypt(int block_type, struct crypto_rsa_key *key,\n\t\t
      \ int use_private, const u8 *in, size_t inlen,\n\t\t  u8 *out, size_t *outlen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: crypto_rsa_exptmod
      Src: /src/hostap/src/tls/pkcs1.c:104,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/pkcs1.c:120,1
    - Dst: os_memmove
      Src: /src/hostap/src/tls/pkcs1.c:128,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 5
    argNames:
    - key
    - in
    - inlen
    - out
    - outlen
    argTypes:
    - struct crypto_rsa_key*
    - u8*
    - size_t
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 97
    functionDepth: 3
    functionLinenumber: 97
    functionLinenumberEnd: 131
    functionName: pkcs1_v15_private_key_decrypt
    functionSourceFile: /src/hostap/src/tls/pkcs1.c
    functionUses: 1
    functionsReached:
    - crypto_rsa_exptmod
    - wpa_printf
    - os_memmove
    linkageType: ''
    returnType: int
    signature: "int pkcs1_v15_private_key_decrypt(struct crypto_rsa_key *key,\n\t\t\t\t
      \ const u8 *in, size_t inlen,\n\t\t\t\t  u8 *out, size_t *outlen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: crypto_rsa_exptmod
      Src: /src/hostap/src/tls/pkcs1.c:142,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/pkcs1.c:158,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/tls/pkcs1.c:160,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/pkcs1.c:167,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/tls/pkcs1.c:169,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/pkcs1.c:177,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/tls/pkcs1.c:179,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/pkcs1.c:184,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/tls/pkcs1.c:186,1
    - Dst: os_memmove
      Src: /src/hostap/src/tls/pkcs1.c:193,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 5
    argNames:
    - key
    - crypt
    - crypt_len
    - plain
    - plain_len
    argTypes:
    - struct crypto_rsa_key*
    - u8*
    - size_t
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 134
    functionDepth: 3
    functionLinenumber: 134
    functionLinenumberEnd: 197
    functionName: pkcs1_decrypt_public_key
    functionSourceFile: /src/hostap/src/tls/pkcs1.c
    functionUses: 1
    functionsReached:
    - crypto_rsa_exptmod
    - wpa_printf
    - os_memmove
    - wpa_hexdump_key
    linkageType: ''
    returnType: int
    signature: "int pkcs1_decrypt_public_key(struct crypto_rsa_key *key,\n\t\t\t     const
      u8 *crypt, size_t crypt_len,\n\t\t\t     u8 *plain, size_t *plain_len)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/tls/pkcs1.c:212,1
    - Dst: crypto_public_key_decrypt_pkcs1
      Src: /src/hostap/src/tls/pkcs1.c:216,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/pkcs1.c:219,1
    - Dst: os_free
      Src: /src/hostap/src/tls/pkcs1.c:220,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/pkcs1.c:223,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/pkcs1.c:238,1
    - Dst: asn1_is_sequence
      Src: /src/hostap/src/tls/pkcs1.c:239,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/pkcs1.c:240,1
    - Dst: os_free
      Src: /src/hostap/src/tls/pkcs1.c:242,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/pkcs1.c:245,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/pkcs1.c:259,1
    - Dst: asn1_is_sequence
      Src: /src/hostap/src/tls/pkcs1.c:260,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/pkcs1.c:261,1
    - Dst: os_free
      Src: /src/hostap/src/tls/pkcs1.c:263,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/pkcs1.c:266,1
    - Dst: asn1_get_oid
      Src: /src/hostap/src/tls/pkcs1.c:270,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/pkcs1.c:271,1
    - Dst: os_free
      Src: /src/hostap/src/tls/pkcs1.c:273,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/pkcs1.c:276,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/pkcs1.c:285,1
    - Dst: asn1_is_null
      Src: /src/hostap/src/tls/pkcs1.c:286,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/pkcs1.c:288,1
    - Dst: os_free
      Src: /src/hostap/src/tls/pkcs1.c:290,1
    - Dst: asn1_oid_equal
      Src: /src/hostap/src/tls/pkcs1.c:294,1
    - Dst: asn1_oid_to_str
      Src: /src/hostap/src/tls/pkcs1.c:296,1
    - Dst: asn1_oid_to_str
      Src: /src/hostap/src/tls/pkcs1.c:297,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/pkcs1.c:298,1
    - Dst: os_free
      Src: /src/hostap/src/tls/pkcs1.c:301,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/pkcs1.c:308,1
    - Dst: asn1_is_octetstring
      Src: /src/hostap/src/tls/pkcs1.c:309,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/pkcs1.c:310,1
    - Dst: os_free
      Src: /src/hostap/src/tls/pkcs1.c:312,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/pkcs1.c:315,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/tls/pkcs1.c:319,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/pkcs1.c:320,1
    - Dst: os_free
      Src: /src/hostap/src/tls/pkcs1.c:321,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/pkcs1.c:326,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/pkcs1.c:329,1
    - Dst: os_free
      Src: /src/hostap/src/tls/pkcs1.c:334,1
    - Dst: os_free
      Src: /src/hostap/src/tls/pkcs1.c:338,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 65
    argCount: 6
    argNames:
    - pk
    - s
    - s_len
    - hash_alg
    - hash
    - hash_len
    argTypes:
    - struct crypto_public_key*
    - u8*
    - size_t
    - struct asn1_oid*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 200
    functionDepth: 4
    functionLinenumber: 200
    functionLinenumberEnd: 341
    functionName: pkcs1_v15_sig_ver
    functionSourceFile: /src/hostap/src/tls/pkcs1.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - asn1_is_sequence
    - asn1_get_oid
    - wpa_hexdump
    - asn1_get_next
    - asn1_is_null
    - os_malloc
    - asn1_unexpected
    - asn1_is_octetstring
    - asn1_oid_to_str
    - os_memcmp_const
    - crypto_public_key_decrypt_pkcs1
    - os_free
    - asn1_oid_equal
    linkageType: ''
    returnType: int
    signature: "int pkcs1_v15_sig_ver(struct crypto_public_key *pk,\n\t\t      const
      u8 *s, size_t s_len,\n\t\t      const struct asn1_oid *hash_alg,\n\t\t      const
      u8 *hash, size_t hash_len)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/pkcs8.c:30,1
    - Dst: asn1_is_sequence
      Src: /src/hostap/src/tls/pkcs8.c:30,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/pkcs8.c:31,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/pkcs8.c:39,1
    - Dst: asn1_is_integer
      Src: /src/hostap/src/tls/pkcs8.c:39,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/pkcs8.c:40,1
    - Dst: bignum_init
      Src: /src/hostap/src/tls/pkcs8.c:44,1
    - Dst: bignum_set_unsigned_bin
      Src: /src/hostap/src/tls/pkcs8.c:48,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/pkcs8.c:49,1
    - Dst: bignum_deinit
      Src: /src/hostap/src/tls/pkcs8.c:50,1
    - Dst: bignum_cmp_d
      Src: /src/hostap/src/tls/pkcs8.c:55,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/pkcs8.c:56,1
    - Dst: bignum_deinit
      Src: /src/hostap/src/tls/pkcs8.c:59,1
    - Dst: bignum_deinit
      Src: /src/hostap/src/tls/pkcs8.c:62,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/pkcs8.c:66,1
    - Dst: asn1_is_sequence
      Src: /src/hostap/src/tls/pkcs8.c:66,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/pkcs8.c:67,1
    - Dst: asn1_get_oid
      Src: /src/hostap/src/tls/pkcs8.c:72,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/pkcs8.c:73,1
    - Dst: asn1_oid_to_str
      Src: /src/hostap/src/tls/pkcs8.c:78,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/pkcs8.c:79,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/pkcs8.c:89,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/pkcs8.c:97,1
    - Dst: asn1_is_octetstring
      Src: /src/hostap/src/tls/pkcs8.c:98,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/pkcs8.c:99,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/pkcs8.c:103,1
    - Dst: crypto_rsa_import_private_key
      Src: /src/hostap/src/tls/pkcs8.c:106,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 47
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 19
    functionDepth: 5
    functionLinenumber: 19
    functionLinenumberEnd: 107
    functionName: pkcs8_key_import
    functionSourceFile: /src/hostap/src/tls/pkcs8.c
    functionUses: 1
    functionsReached:
    - bignum_deinit
    - wpa_printf
    - asn1_is_sequence
    - asn1_is_integer
    - asn1_get_next
    - asn1_unexpected
    - asn1_is_octetstring
    - asn1_oid_to_str
    - bignum_set_unsigned_bin
    - bignum_cmp_d
    - asn1_get_oid
    - bignum_init
    - crypto_rsa_import_private_key
    linkageType: ''
    returnType: struct crypto_private_key
    signature: struct crypto_private_key * pkcs8_key_import(const u8 *buf, size_t
      len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/pkcs8.c:131,1
    - Dst: asn1_is_sequence
      Src: /src/hostap/src/tls/pkcs8.c:131,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/pkcs8.c:132,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/pkcs8.c:140,1
    - Dst: asn1_is_sequence
      Src: /src/hostap/src/tls/pkcs8.c:141,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/pkcs8.c:142,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/pkcs8.c:151,1
    - Dst: asn1_is_octetstring
      Src: /src/hostap/src/tls/pkcs8.c:152,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/pkcs8.c:153,1
    - Dst: pkcs5_decrypt
      Src: /src/hostap/src/tls/pkcs8.c:158,1
    - Dst: pkcs8_key_import
      Src: /src/hostap/src/tls/pkcs8.c:162,1
    - Dst: os_free
      Src: /src/hostap/src/tls/pkcs8.c:163,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 3
    argNames:
    - buf
    - len
    - passwd
    argTypes:
    - u8*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 110
    functionDepth: 6
    functionLinenumber: 110
    functionLinenumberEnd: 168
    functionName: pkcs8_enc_key_import
    functionSourceFile: /src/hostap/src/tls/pkcs8.c
    functionUses: 1
    functionsReached:
    - asn1_is_sequence
    - pkcs8_key_import
    - asn1_get_next
    - pkcs5_decrypt
    - asn1_unexpected
    - asn1_is_octetstring
    - os_free
    linkageType: ''
    returnType: struct crypto_private_key
    signature: 'struct crypto_private_key *

      pkcs8_enc_key_import(const u8 *buf, size_t len, const char *passwd)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - conn
    - ver
    argTypes:
    - struct tlsv1_client*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 38
    functionName: tls_version_disabled
    functionSourceFile: /src/hostap/src/tls/tlsv1_client_read.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tls_version_disabled(struct tlsv1_client *conn, u16 ver)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/tlsv1_client_read.c:46,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:52,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/tls/tlsv1_client_read.c:56,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/tls/tlsv1_client_read.c:58,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:62,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:66,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/tlsv1_client_read.c:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - conn
    - pos
    - len
    argTypes:
    - struct tlsv1_client*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 75
    functionName: tls_process_server_hello_extensions
    functionSourceFile: /src/hostap/src/tls/tlsv1_client_read.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - WPA_GET_BE16
    - wpa_hexdump
    linkageType: ''
    returnType: int
    signature: "int tls_process_server_hello_extensions(struct tlsv1_client *conn,\n\t\t\t\t\t
      \      const u8 *pos, size_t len)"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:87,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_read.c:89,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:102,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_read.c:104,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:108,1
    - Dst: WPA_GET_BE24
      Src: /src/hostap/src/tls/tlsv1_client_read.c:111,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/tlsv1_client_read.c:120,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/tls/tlsv1_client_read.c:126,1
    - Dst: tls_version_ok
      Src: /src/hostap/src/tls/tlsv1_client_read.c:127,1
    - Dst: tls_version_disabled
      Src: /src/hostap/src/tls/tlsv1_client_read.c:128,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:129,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_read.c:131,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:137,1
    - Dst: tls_version_str
      Src: /src/hostap/src/tls/tlsv1_client_read.c:138,1
    - Dst: os_memcpy
      Src: /src/hostap/src/tls/tlsv1_client_read.c:145,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/tlsv1_client_read.c:147,1
    - Dst: os_memcmp
      Src: /src/hostap/src/tls/tlsv1_client_read.c:156,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:158,1
    - Dst: os_memcpy
      Src: /src/hostap/src/tls/tlsv1_client_read.c:163,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/tlsv1_client_read.c:166,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/tls/tlsv1_client_read.c:172,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:179,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_read.c:181,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:187,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_read.c:190,1
    - Dst: tlsv1_record_set_cipher_suite
      Src: /src/hostap/src/tls/tlsv1_client_read.c:195,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:196,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_read.c:198,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:209,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_read.c:211,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/tls/tlsv1_client_read.c:220,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:223,1
    - Dst: tls_process_server_hello_extensions
      Src: /src/hostap/src/tls/tlsv1_client_read.c:229,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/tlsv1_client_read.c:235,1
    - Dst: struct tlsv1_client*::session_ticket_cb
      Src: /src/hostap/src/tls/tlsv1_client_read.c:243,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:248,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_read.c:250,1
    - Dst: tls_derive_keys
      Src: /src/hostap/src/tls/tlsv1_client_read.c:258,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:259,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_read.c:260,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:273,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_read.c:274,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 134
    argCount: 4
    argNames:
    - conn
    - ct
    - in_data
    - in_len
    argTypes:
    - struct tlsv1_client*
    - u8
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 276
    functionName: tls_process_server_hello
    functionSourceFile: /src/hostap/src/tls/tlsv1_client_read.c
    functionUses: 0
    functionsReached:
    - tls_alert
    - wpa_printf
    - WPA_GET_BE16
    - os_memcpy
    - tls_version_str
    - wpa_hexdump
    - tls_process_server_hello_extensions
    - WPA_GET_BE24
    - os_memcmp
    - tlsv1_record_set_cipher_suite
    - tls_version_ok
    - tls_version_disabled
    - struct tlsv1_client*::session_ticket_cb
    - tls_derive_keys
    linkageType: ''
    returnType: int
    signature: "int tls_process_server_hello(struct tlsv1_client *conn, u8 ct,\n\t\t\t\t
      \   const u8 *in_data, size_t *in_len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/tls/tlsv1_client_read.c:292,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/tls/tlsv1_client_read.c:294,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/tls/tlsv1_client_read.c:302,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/tls/tlsv1_client_read.c:303,1
    - Dst: sha256_vector
      Src: /src/hostap/src/tls/tlsv1_client_read.c:304,1
    - Dst: x509_name_string
      Src: /src/hostap/src/tls/tlsv1_client_read.c:312,1
    - Dst: struct tlsv1_client*::event_cb
      Src: /src/hostap/src/tls/tlsv1_client_read.c:323,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/tls/tlsv1_client_read.c:324,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 3
    argNames:
    - conn
    - depth
    - cert
    argTypes:
    - struct tlsv1_client*
    - int
    - struct x509_certificate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 279
    functionDepth: 2
    functionLinenumber: 279
    functionLinenumberEnd: 325
    functionName: tls_peer_cert_event
    functionSourceFile: /src/hostap/src/tls/tlsv1_client_read.c
    functionUses: 0
    functionsReached:
    - sha256_vector
    - x509_name_string
    - wpabuf_len
    - wpabuf_free
    - wpabuf_alloc_copy
    - wpabuf_head
    - struct tlsv1_client*::event_cb
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void tls_peer_cert_event(struct tlsv1_client *conn, int depth,\n\t\t\t\tstruct
      x509_certificate *cert)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/tls/tlsv1_client_read.c:340,1
    - Dst: x509_name_string
      Src: /src/hostap/src/tls/tlsv1_client_read.c:342,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/tls/tlsv1_client_read.c:346,1
    - Dst: struct tlsv1_client*::event_cb
      Src: /src/hostap/src/tls/tlsv1_client_read.c:349,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/tls/tlsv1_client_read.c:350,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - conn
    - depth
    - cert
    - reason
    - reason_txt
    argTypes:
    - struct tlsv1_client*
    - int
    - struct x509_certificate*
    - enum tls_fail_reason
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 328
    functionDepth: 2
    functionLinenumber: 328
    functionLinenumberEnd: 351
    functionName: tls_cert_chain_failure_event
    functionSourceFile: /src/hostap/src/tls/tlsv1_client_read.c
    functionUses: 0
    functionsReached:
    - x509_name_string
    - wpabuf_free
    - wpabuf_alloc_copy
    - struct tlsv1_client*::event_cb
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void tls_cert_chain_failure_event(struct tlsv1_client *conn, int depth,\n\t\t\t\t\t
      struct x509_certificate *cert,\n\t\t\t\t\t enum tls_fail_reason reason,\n\t\t\t\t\t
      const char *reason_txt)"
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:364,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_read.c:366,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:375,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_read.c:377,1
    - Dst: WPA_GET_BE24
      Src: /src/hostap/src/tls/tlsv1_client_read.c:382,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:387,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_read.c:390,1
    - Dst: tls_process_server_key_exchange
      Src: /src/hostap/src/tls/tlsv1_client_read.c:395,1
    - Dst: tls_process_certificate_request
      Src: /src/hostap/src/tls/tlsv1_client_read.c:398,1
    - Dst: tls_process_server_hello_done
      Src: /src/hostap/src/tls/tlsv1_client_read.c:401,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:404,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_read.c:408,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:413,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:428,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_read.c:430,1
    - Dst: WPA_GET_BE24
      Src: /src/hostap/src/tls/tlsv1_client_read.c:434,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:438,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_read.c:442,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:449,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_read.c:451,1
    - Dst: x509_certificate_chain_free
      Src: /src/hostap/src/tls/tlsv1_client_read.c:453,1
    - Dst: WPA_GET_BE24
      Src: /src/hostap/src/tls/tlsv1_client_read.c:457,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:461,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_read.c:465,1
    - Dst: x509_certificate_chain_free
      Src: /src/hostap/src/tls/tlsv1_client_read.c:467,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:471,1
    - Dst: crypto_public_key_free
      Src: /src/hostap/src/tls/tlsv1_client_read.c:475,1
    - Dst: tls_parse_cert
      Src: /src/hostap/src/tls/tlsv1_client_read.c:476,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:478,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_read.c:480,1
    - Dst: x509_certificate_chain_free
      Src: /src/hostap/src/tls/tlsv1_client_read.c:482,1
    - Dst: x509_certificate_parse
      Src: /src/hostap/src/tls/tlsv1_client_read.c:487,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:489,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_read.c:491,1
    - Dst: x509_certificate_chain_free
      Src: /src/hostap/src/tls/tlsv1_client_read.c:493,1
    - Dst: tls_peer_cert_event
      Src: /src/hostap/src/tls/tlsv1_client_read.c:497,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:513,1
    - Dst: x509_name_string
      Src: /src/hostap/src/tls/tlsv1_client_read.c:515,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:516,1
    - Dst: sha256_vector
      Src: /src/hostap/src/tls/tlsv1_client_read.c:517,1
    - Dst: os_memcmp
      Src: /src/hostap/src/tls/tlsv1_client_read.c:519,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:521,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/tlsv1_client_read.c:523,1
    - Dst: os_memset
      Src: /src/hostap/src/tls/tlsv1_client_read.c:528,1
    - Dst: struct tlsv1_client*::event_cb
      Src: /src/hostap/src/tls/tlsv1_client_read.c:533,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_read.c:536,1
    - Dst: x509_certificate_chain_free
      Src: /src/hostap/src/tls/tlsv1_client_read.c:538,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:542,1
    - Dst: os_memset
      Src: /src/hostap/src/tls/tlsv1_client_read.c:548,1
    - Dst: x509_name_string
      Src: /src/hostap/src/tls/tlsv1_client_read.c:553,1
    - Dst: struct tlsv1_client*::event_cb
      Src: /src/hostap/src/tls/tlsv1_client_read.c:557,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_read.c:560,1
    - Dst: x509_certificate_chain_free
      Src: /src/hostap/src/tls/tlsv1_client_read.c:562,1
    - Dst: x509_certificate_chain_validate
      Src: /src/hostap/src/tls/tlsv1_client_read.c:565,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:570,1
    - Dst: tls_cert_chain_failure_event
      Src: /src/hostap/src/tls/tlsv1_client_read.c:575,1
    - Dst: tls_cert_chain_failure_event
      Src: /src/hostap/src/tls/tlsv1_client_read.c:584,1
    - Dst: tls_cert_chain_failure_event
      Src: /src/hostap/src/tls/tlsv1_client_read.c:590,1
    - Dst: tls_cert_chain_failure_event
      Src: /src/hostap/src/tls/tlsv1_client_read.c:599,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_read.c:607,1
    - Dst: x509_certificate_chain_free
      Src: /src/hostap/src/tls/tlsv1_client_read.c:608,1
    - Dst: tls_cert_chain_failure_event
      Src: /src/hostap/src/tls/tlsv1_client_read.c:616,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_read.c:619,1
    - Dst: x509_certificate_chain_free
      Src: /src/hostap/src/tls/tlsv1_client_read.c:621,1
    - Dst: x509_certificate_chain_free
      Src: /src/hostap/src/tls/tlsv1_client_read.c:626,1
    - Dst: x509_certificate_chain_free
      Src: /src/hostap/src/tls/tlsv1_client_read.c:629,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 171
    argCount: 4
    argNames:
    - conn
    - ct
    - in_data
    - in_len
    argTypes:
    - struct tlsv1_client*
    - u8
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 354
    functionDepth: 11
    functionLinenumber: 354
    functionLinenumberEnd: 637
    functionName: tls_process_certificate
    functionSourceFile: /src/hostap/src/tls/tlsv1_client_read.c
    functionUses: 1
    functionsReached:
    - wpa_hexdump
    - crypto_public_key_free
    - tls_process_server_key_exchange
    - tls_parse_cert
    - x509_certificate_parse
    - tls_process_certificate_request
    - sha256_vector
    - wpa_printf
    - WPA_GET_BE24
    - x509_certificate_chain_validate
    - os_memcmp
    - tls_cert_chain_failure_event
    - x509_name_string
    - tls_peer_cert_event
    - os_memset
    - tls_alert
    - tls_process_server_hello_done
    - x509_certificate_chain_free
    - struct tlsv1_client*::event_cb
    linkageType: ''
    returnType: int
    signature: "int tls_process_certificate(struct tlsv1_client *conn, u8 ct,\n\t\t\t\t
      \  const u8 *in_data, size_t *in_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - val
    - len
    argTypes:
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 661
    functionName: count_bits
    functionSourceFile: /src/hostap/src/tls/tlsv1_client_read.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int count_bits(const u8 *val, size_t len)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: tlsv1_client_free_dh
      Src: /src/hostap/src/tls/tlsv1_client_read.c:673,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/tls/tlsv1_client_read.c:681,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:684,1
    - Dst: count_bits
      Src: /src/hostap/src/tls/tlsv1_client_read.c:688,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:690,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/tlsv1_client_read.c:692,1
    - Dst: os_memdup
      Src: /src/hostap/src/tls/tlsv1_client_read.c:696,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/tlsv1_client_read.c:700,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/tls/tlsv1_client_read.c:705,1
    - Dst: os_memdup
      Src: /src/hostap/src/tls/tlsv1_client_read.c:710,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/tlsv1_client_read.c:714,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/tls/tlsv1_client_read.c:721,1
    - Dst: os_memdup
      Src: /src/hostap/src/tls/tlsv1_client_read.c:726,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/tlsv1_client_read.c:730,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:756,1
    - Dst: tlsv12_key_x_server_params_hash
      Src: /src/hostap/src/tls/tlsv1_client_read.c:761,1
    - Dst: tls_key_x_server_params_hash
      Src: /src/hostap/src/tls/tlsv1_client_read.c:771,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/tlsv1_client_read.c:780,1
    - Dst: tls_verify_signature
      Src: /src/hostap/src/tls/tlsv1_client_read.c:783,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:793,1
    - Dst: tlsv1_client_free_dh
      Src: /src/hostap/src/tls/tlsv1_client_read.c:794,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 94
    argCount: 4
    argNames:
    - conn
    - buf
    - len
    - key_exchange
    argTypes:
    - struct tlsv1_client*
    - u8*
    - size_t
    - tls_key_exchange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 664
    functionDepth: 2
    functionLinenumber: 664
    functionLinenumberEnd: 796
    functionName: tlsv1_process_diffie_hellman
    functionSourceFile: /src/hostap/src/tls/tlsv1_client_read.c
    functionUses: 0
    functionsReached:
    - WPA_GET_BE16
    - wpa_printf
    - wpa_hexdump
    - os_memdup
    - tls_key_x_server_params_hash
    - tlsv12_key_x_server_params_hash
    - tls_verify_signature
    - tlsv1_client_free_dh
    - count_bits
    linkageType: ''
    returnType: int
    signature: "int tlsv1_process_diffie_hellman(struct tlsv1_client *conn,\n\t\t\t\t\tconst
      u8 *buf, size_t len,\n\t\t\t\t\ttls_key_exchange key_exchange)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:808,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_read.c:809,1
    - Dst: WPA_GET_BE24
      Src: /src/hostap/src/tls/tlsv1_client_read.c:812,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:815,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_read.c:816,1
    - Dst: tls_process_ocsp_response
      Src: /src/hostap/src/tls/tlsv1_client_read.c:820,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - conn
    - pos
    - len
    argTypes:
    - struct tlsv1_client*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 799
    functionDepth: 12
    functionLinenumber: 799
    functionLinenumberEnd: 821
    functionName: tls_process_certificate_status_ocsp_response
    functionSourceFile: /src/hostap/src/tls/tlsv1_client_read.c
    functionUses: 0
    functionsReached:
    - tls_alert
    - WPA_GET_BE24
    - wpa_printf
    - tls_process_ocsp_response
    linkageType: ''
    returnType: enum tls_ocsp_result
    signature: "enum tls_ocsp_result tls_process_certificate_status_ocsp_response(struct
      tlsv1_client *conn,\n\t\t\t\t\t     const u8 *pos, size_t len)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:835,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_read.c:838,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:847,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_read.c:850,1
    - Dst: WPA_GET_BE24
      Src: /src/hostap/src/tls/tlsv1_client_read.c:855,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:860,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_read.c:863,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:870,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_read.c:873,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:878,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:890,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_read.c:891,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:895,1
    - Dst: tls_process_certificate_status_ocsp_response
      Src: /src/hostap/src/tls/tlsv1_client_read.c:899,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:915,1
    - Dst: WPA_GET_BE24
      Src: /src/hostap/src/tls/tlsv1_client_read.c:920,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:923,1
    - Dst: WPA_GET_BE24
      Src: /src/hostap/src/tls/tlsv1_client_read.c:932,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:935,1
    - Dst: tls_process_certificate_status_ocsp_response
      Src: /src/hostap/src/tls/tlsv1_client_read.c:943,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:957,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_read.c:964,1
    - Dst: tls_cert_chain_failure_event
      Src: /src/hostap/src/tls/tlsv1_client_read.c:969,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_read.c:986,1
    - Dst: tls_cert_chain_failure_event
      Src: /src/hostap/src/tls/tlsv1_client_read.c:988,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1000,1
    - Dst: tls_cert_chain_failure_event
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1004,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 116
    argCount: 4
    argNames:
    - conn
    - ct
    - in_data
    - in_len
    argTypes:
    - struct tlsv1_client*
    - u8
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 824
    functionDepth: 13
    functionLinenumber: 824
    functionLinenumberEnd: 1019
    functionName: tls_process_certificate_status
    functionSourceFile: /src/hostap/src/tls/tlsv1_client_read.c
    functionUses: 0
    functionsReached:
    - tls_alert
    - wpa_printf
    - tls_process_certificate_status_ocsp_response
    - WPA_GET_BE24
    - tls_cert_chain_failure_event
    linkageType: ''
    returnType: int
    signature: "int tls_process_certificate_status(struct tlsv1_client *conn, u8 ct,\n\t\t\t\t\t
      \  const u8 *in_data, size_t *in_len)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1031,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1033,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1042,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1044,1
    - Dst: WPA_GET_BE24
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1049,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1054,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1057,1
    - Dst: tls_process_certificate_status
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1065,1
    - Dst: tls_process_certificate_request
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1068,1
    - Dst: tls_process_server_hello_done
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1071,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1074,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1079,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1084,1
    - Dst: tls_server_key_exchange_allowed
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1086,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1087,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1089,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1094,1
    - Dst: tls_get_cipher_suite
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1095,1
    - Dst: tlsv1_process_diffie_hellman
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1098,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1100,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1105,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1106,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 55
    argCount: 4
    argNames:
    - conn
    - ct
    - in_data
    - in_len
    argTypes:
    - struct tlsv1_client*
    - u8
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1116
      start: 1022
    functionDepth: 14
    functionLinenumber: 1022
    functionLinenumberEnd: 1116
    functionName: tls_process_server_key_exchange
    functionSourceFile: /src/hostap/src/tls/tlsv1_client_read.c
    functionUses: 1
    functionsReached:
    - tls_alert
    - wpa_printf
    - tls_get_cipher_suite
    - tls_process_certificate_status
    - wpa_hexdump
    - tlsv1_process_diffie_hellman
    - tls_process_server_hello_done
    - WPA_GET_BE24
    - tls_process_certificate_request
    - tls_server_key_exchange_allowed
    linkageType: ''
    returnType: int
    signature: "int tls_process_server_key_exchange(struct tlsv1_client *conn, u8
      ct,\n\t\t\t\t\t   const u8 *in_data, size_t *in_len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1127,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1129,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1138,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1140,1
    - Dst: WPA_GET_BE24
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1145,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1150,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1153,1
    - Dst: tls_process_server_hello_done
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1160,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1163,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1166,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1171,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 4
    argNames:
    - conn
    - ct
    - in_data
    - in_len
    argTypes:
    - struct tlsv1_client*
    - u8
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1180
      start: 1119
    functionDepth: 1
    functionLinenumber: 1119
    functionLinenumberEnd: 1180
    functionName: tls_process_certificate_request
    functionSourceFile: /src/hostap/src/tls/tlsv1_client_read.c
    functionUses: 2
    functionsReached:
    - tls_alert
    - WPA_GET_BE24
    - wpa_printf
    - tls_process_server_hello_done
    linkageType: ''
    returnType: int
    signature: "int tls_process_certificate_request(struct tlsv1_client *conn, u8
      ct,\n\t\t\t\t\t   const u8 *in_data, size_t *in_len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1191,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1193,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1202,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1204,1
    - Dst: WPA_GET_BE24
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1209,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1214,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1217,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1223,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1225,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1230,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1234,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1236,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 4
    argNames:
    - conn
    - ct
    - in_data
    - in_len
    argTypes:
    - struct tlsv1_client*
    - u8
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1246
      start: 1183
    functionDepth: 1
    functionLinenumber: 1183
    functionLinenumberEnd: 1246
    functionName: tls_process_server_hello_done
    functionSourceFile: /src/hostap/src/tls/tlsv1_client_read.c
    functionUses: 3
    functionsReached:
    - tls_alert
    - WPA_GET_BE24
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int tls_process_server_hello_done(struct tlsv1_client *conn, u8 ct,\n\t\t\t\t\t
      const u8 *in_data, size_t *in_len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1257,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1261,1
    - Dst: struct tlsv1_client*::session_ticket_cb
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1266,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1270,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1272,1
    - Dst: tls_process_certificate
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1278,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1281,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1290,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1291,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1296,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1298,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1303,1
    - Dst: tlsv1_record_change_read_cipher
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1304,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1305,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1307,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 39
    argCount: 4
    argNames:
    - conn
    - ct
    - in_data
    - in_len
    argTypes:
    - struct tlsv1_client*
    - u8
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1317
      start: 1249
    functionDepth: 1
    functionLinenumber: 1249
    functionLinenumberEnd: 1317
    functionName: tls_process_server_change_cipher_spec
    functionSourceFile: /src/hostap/src/tls/tlsv1_client_read.c
    functionUses: 0
    functionsReached:
    - tls_alert
    - wpa_printf
    - tls_process_certificate
    - tlsv1_record_change_read_cipher
    - struct tlsv1_client*::session_ticket_cb
    linkageType: ''
    returnType: int
    signature: "int tls_process_server_change_cipher_spec(struct tlsv1_client *conn,\n\t\t\t\t\t\t
      u8 ct, const u8 *in_data,\n\t\t\t\t\t\t size_t *in_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1461,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1463,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1471,1
    - Dst: os_malloc
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1474,1
    - Dst: os_memcpy
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1476,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 6
    argNames:
    - conn
    - ct
    - in_data
    - in_len
    - out_data
    - out_len
    argTypes:
    - struct tlsv1_client*
    - u8
    - u8*
    - size_t*
    - u8**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1481
      start: 1453
    functionDepth: 1
    functionLinenumber: 1453
    functionLinenumberEnd: 1481
    functionName: tls_process_application_data
    functionSourceFile: /src/hostap/src/tls/tlsv1_client_read.c
    functionUses: 0
    functionsReached:
    - tls_alert
    - wpa_printf
    - os_memcpy
    - wpa_hexdump
    - os_malloc
    linkageType: ''
    returnType: int
    signature: "int tls_process_application_data(struct tlsv1_client *conn, u8 ct,\n\t\t\t\t\tconst
      u8 *in_data, size_t *in_len,\n\t\t\t\t\tu8 **out_data, size_t *out_len)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1490,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1491,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1495,1
    - Dst: WPA_GET_BE24
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1504,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1506,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1507,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1511,1
    - Dst: tls_process_server_hello
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1518,1
    - Dst: tls_process_certificate
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1522,1
    - Dst: tls_process_server_key_exchange
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1526,1
    - Dst: tls_process_certificate_request
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1530,1
    - Dst: tls_process_server_hello_done
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1534,1
    - Dst: tls_process_server_change_cipher_spec
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1538,1
    - Dst: tls_process_server_finished
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1542,1
    - Dst: tls_process_application_data
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1547,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1552,1
    - Dst: tls_verify_hash_add
      Src: /src/hostap/src/tls/tlsv1_client_read.c:1559,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 62
    argCount: 6
    argNames:
    - conn
    - ct
    - buf
    - len
    - out_data
    - out_len
    argTypes:
    - struct tlsv1_client*
    - u8
    - u8*
    - size_t*
    - u8**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1562
      start: 1484
    functionDepth: 15
    functionLinenumber: 1484
    functionLinenumberEnd: 1562
    functionName: tlsv1_client_process_handshake
    functionSourceFile: /src/hostap/src/tls/tlsv1_client_read.c
    functionUses: 0
    functionsReached:
    - tls_alert
    - tls_verify_hash_add
    - wpa_printf
    - tls_process_certificate
    - tls_process_application_data
    - tls_process_server_hello_done
    - WPA_GET_BE24
    - tls_process_server_finished
    - tls_process_server_key_exchange
    - tls_process_certificate_request
    - tls_process_server_change_cipher_spec
    - tls_process_server_hello
    linkageType: ''
    returnType: int
    signature: "int tlsv1_client_process_handshake(struct tlsv1_client *conn, u8 ct,\n\t\t\t\t
      \  const u8 *buf, size_t *len,\n\t\t\t\t   u8 **out_data, size_t *out_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/tls/tlsv1_cred.c:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 26
    functionName: tlsv1_cred_alloc
    functionSourceFile: /src/hostap/src/tls/tlsv1_cred.c
    functionUses: 2
    functionsReached:
    - os_zalloc
    linkageType: ''
    returnType: struct tlsv1_credentials
    signature: struct tlsv1_credentials * tlsv1_cred_alloc(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: x509_certificate_chain_free
      Src: /src/hostap/src/tls/tlsv1_cred.c:34,1
    - Dst: x509_certificate_chain_free
      Src: /src/hostap/src/tls/tlsv1_cred.c:35,1
    - Dst: crypto_private_key_free
      Src: /src/hostap/src/tls/tlsv1_cred.c:36,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_cred.c:37,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_cred.c:38,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_cred.c:39,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_cred.c:40,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_cred.c:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - cred
    argTypes:
    - struct tlsv1_credentials*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 29
    functionDepth: 3
    functionLinenumber: 29
    functionLinenumberEnd: 42
    functionName: tlsv1_cred_free
    functionSourceFile: /src/hostap/src/tls/tlsv1_cred.c
    functionUses: 3
    functionsReached:
    - os_free
    - crypto_private_key_free
    - x509_certificate_chain_free
    linkageType: ''
    returnType: void
    signature: void tlsv1_cred_free(struct tlsv1_credentials *cred)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: x509_certificate_parse
      Src: /src/hostap/src/tls/tlsv1_cred.c:51,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_cred.c:53,1
    - Dst: x509_name_compare
      Src: /src/hostap/src/tls/tlsv1_cred.c:61,1
    - Dst: x509_name_string
      Src: /src/hostap/src/tls/tlsv1_cred.c:73,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_cred.c:74,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - chain
    - buf
    - len
    argTypes:
    - struct x509_certificate**
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 45
    functionDepth: 10
    functionLinenumber: 45
    functionLinenumberEnd: 77
    functionName: tlsv1_add_cert_der
    functionSourceFile: /src/hostap/src/tls/tlsv1_cred.c
    functionUses: 0
    functionsReached:
    - x509_name_compare
    - x509_name_string
    - x509_certificate_parse
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int tlsv1_add_cert_der(struct x509_certificate **chain,\n\t\t\t      const
      u8 *buf, size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/tls/tlsv1_cred.c:94,1
    - Dst: os_memcmp
      Src: /src/hostap/src/tls/tlsv1_cred.c:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - tag
    - buf
    - len
    argTypes:
    - char*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 104
    functionName: search_tag
    functionSourceFile: /src/hostap/src/tls/tlsv1_cred.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_memcmp
    linkageType: ''
    returnType: u8
    signature: u8 * search_tag(const char *tag, const u8 *buf, size_t len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: search_tag
      Src: /src/hostap/src/tls/tlsv1_cred.c:114,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_cred.c:116,1
    - Dst: tlsv1_add_cert_der
      Src: /src/hostap/src/tls/tlsv1_cred.c:118,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_cred.c:121,1
    - Dst: os_strlen
      Src: /src/hostap/src/tls/tlsv1_cred.c:125,1
    - Dst: search_tag
      Src: /src/hostap/src/tls/tlsv1_cred.c:126,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_cred.c:128,1
    - Dst: base64_decode
      Src: /src/hostap/src/tls/tlsv1_cred.c:133,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_cred.c:135,1
    - Dst: tlsv1_add_cert_der
      Src: /src/hostap/src/tls/tlsv1_cred.c:140,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_cred.c:141,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_cred.c:143,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_cred.c:147,1
    - Dst: os_strlen
      Src: /src/hostap/src/tls/tlsv1_cred.c:149,1
    - Dst: search_tag
      Src: /src/hostap/src/tls/tlsv1_cred.c:150,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 3
    argNames:
    - chain
    - buf
    - len
    argTypes:
    - struct x509_certificate**
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 107
    functionDepth: 11
    functionLinenumber: 107
    functionLinenumberEnd: 154
    functionName: tlsv1_add_cert
    functionSourceFile: /src/hostap/src/tls/tlsv1_cred.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - tlsv1_add_cert_der
    - base64_decode
    - os_free
    - search_tag
    linkageType: ''
    returnType: int
    signature: "int tlsv1_add_cert(struct x509_certificate **chain,\n\t\t\t  const
      u8 *buf, size_t len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tlsv1_add_cert
      Src: /src/hostap/src/tls/tlsv1_cred.c:162,1
    - Dst: os_readfile
      Src: /src/hostap/src/tls/tlsv1_cred.c:169,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_cred.c:171,1
    - Dst: tlsv1_add_cert
      Src: /src/hostap/src/tls/tlsv1_cred.c:176,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_cred.c:177,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - chain
    - cert
    - cert_blob
    - cert_blob_len
    argTypes:
    - struct x509_certificate**
    - char*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 157
    functionDepth: 12
    functionLinenumber: 157
    functionLinenumberEnd: 182
    functionName: tlsv1_set_cert_chain
    functionSourceFile: /src/hostap/src/tls/tlsv1_cred.c
    functionUses: 0
    functionsReached:
    - os_readfile
    - os_free
    - tlsv1_add_cert
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int tlsv1_set_cert_chain(struct x509_certificate **chain,\n\t\t\t\tconst
      char *cert, const u8 *cert_blob,\n\t\t\t\tsize_t cert_blob_len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: os_strncmp
      Src: /src/hostap/src/tls/tlsv1_cred.c:198,1
    - Dst: os_strncmp
      Src: /src/hostap/src/tls/tlsv1_cred.c:200,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_cred.c:201,1
    - Dst: os_strlen
      Src: /src/hostap/src/tls/tlsv1_cred.c:207,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_cred.c:208,1
    - Dst: hexstr2bin
      Src: /src/hostap/src/tls/tlsv1_cred.c:213,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_cred.c:214,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_cred.c:221,1
    - Dst: os_strncmp
      Src: /src/hostap/src/tls/tlsv1_cred.c:226,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_cred.c:229,1
    - Dst: tlsv1_set_cert_chain
      Src: /src/hostap/src/tls/tlsv1_cred.c:235,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_cred.c:241,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 5
    argNames:
    - cred
    - cert
    - cert_blob
    - cert_blob_len
    - path
    argTypes:
    - struct tlsv1_credentials*
    - char*
    - u8*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 194
    functionDepth: 13
    functionLinenumber: 194
    functionLinenumberEnd: 247
    functionName: tlsv1_set_ca_cert
    functionSourceFile: /src/hostap/src/tls/tlsv1_cred.c
    functionUses: 2
    functionsReached:
    - os_strlen
    - tlsv1_set_cert_chain
    - wpa_printf
    - hexstr2bin
    - os_strncmp
    linkageType: ''
    returnType: int
    signature: "int tlsv1_set_ca_cert(struct tlsv1_credentials *cred, const char *cert,\n\t\t
      \     const u8 *cert_blob, size_t cert_blob_len,\n\t\t      const char *path)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlsv1_set_cert_chain
      Src: /src/hostap/src/tls/tlsv1_cred.c:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cred
    - cert
    - cert_blob
    - cert_blob_len
    argTypes:
    - struct tlsv1_credentials*
    - char*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 258
    functionDepth: 13
    functionLinenumber: 258
    functionLinenumberEnd: 263
    functionName: tlsv1_set_cert
    functionSourceFile: /src/hostap/src/tls/tlsv1_cred.c
    functionUses: 2
    functionsReached:
    - tlsv1_set_cert_chain
    linkageType: ''
    returnType: int
    signature: "int tlsv1_set_cert(struct tlsv1_credentials *cred, const char *cert,\n\t\t
      \  const u8 *cert_blob, size_t cert_blob_len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: search_tag
      Src: /src/hostap/src/tls/tlsv1_cred.c:273,1
    - Dst: search_tag
      Src: /src/hostap/src/tls/tlsv1_cred.c:275,1
    - Dst: os_strlen
      Src: /src/hostap/src/tls/tlsv1_cred.c:278,1
    - Dst: search_tag
      Src: /src/hostap/src/tls/tlsv1_cred.c:279,1
    - Dst: os_strlen
      Src: /src/hostap/src/tls/tlsv1_cred.c:284,1
    - Dst: search_tag
      Src: /src/hostap/src/tls/tlsv1_cred.c:285,1
    - Dst: search_tag
      Src: /src/hostap/src/tls/tlsv1_cred.c:288,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_cred.c:290,1
    - Dst: base64_decode
      Src: /src/hostap/src/tls/tlsv1_cred.c:296,1
    - Dst: crypto_private_key_import
      Src: /src/hostap/src/tls/tlsv1_cred.c:299,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_cred.c:300,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - key
    - len
    argTypes:
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 302
    functionName: tlsv1_set_key_pem
    functionSourceFile: /src/hostap/src/tls/tlsv1_cred.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - crypto_private_key_import
    - base64_decode
    - os_free
    - search_tag
    linkageType: ''
    returnType: struct crypto_private_key
    signature: struct crypto_private_key * tlsv1_set_key_pem(const u8 *key, size_t
      len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: search_tag
      Src: /src/hostap/src/tls/tlsv1_cred.c:316,1
    - Dst: os_strlen
      Src: /src/hostap/src/tls/tlsv1_cred.c:319,1
    - Dst: search_tag
      Src: /src/hostap/src/tls/tlsv1_cred.c:320,1
    - Dst: base64_decode
      Src: /src/hostap/src/tls/tlsv1_cred.c:324,1
    - Dst: crypto_private_key_import
      Src: /src/hostap/src/tls/tlsv1_cred.c:327,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_cred.c:328,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - key
    - len
    - passwd
    argTypes:
    - u8*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 330
    functionName: tlsv1_set_key_enc_pem
    functionSourceFile: /src/hostap/src/tls/tlsv1_cred.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - crypto_private_key_import
    - base64_decode
    - os_free
    - search_tag
    linkageType: ''
    returnType: struct crypto_private_key
    signature: "struct crypto_private_key * tlsv1_set_key_enc_pem(const u8 *key,\n\t\t\t\t\t\t\t
      size_t len,\n\t\t\t\t\t\t\t const char *passwd)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - oid
    argTypes:
    - struct asn1_oid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 342
    functionName: oid_is_rsadsi
    functionSourceFile: /src/hostap/src/tls/tlsv1_cred.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int oid_is_rsadsi(struct asn1_oid *oid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: oid_is_rsadsi
      Src: /src/hostap/src/tls/tlsv1_cred.c:348,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 2
    argNames:
    - oid
    - type
    argTypes:
    - struct asn1_oid*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 354
    functionName: pkcs12_is_bagtype_oid
    functionSourceFile: /src/hostap/src/tls/tlsv1_cred.c
    functionUses: 0
    functionsReached:
    - oid_is_rsadsi
    linkageType: ''
    returnType: int
    signature: int pkcs12_is_bagtype_oid(struct asn1_oid *oid, unsigned long type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - oid
    argTypes:
    - struct asn1_oid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 366
    functionName: is_oid_pkcs7
    functionSourceFile: /src/hostap/src/tls/tlsv1_cred.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_oid_pkcs7(struct asn1_oid *oid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_oid_pkcs7
      Src: /src/hostap/src/tls/tlsv1_cred.c:371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - oid
    argTypes:
    - struct asn1_oid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 372
    functionName: is_oid_pkcs7_data
    functionSourceFile: /src/hostap/src/tls/tlsv1_cred.c
    functionUses: 0
    functionsReached:
    - is_oid_pkcs7
    linkageType: ''
    returnType: int
    signature: int is_oid_pkcs7_data(struct asn1_oid *oid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_oid_pkcs7
      Src: /src/hostap/src/tls/tlsv1_cred.c:377,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - oid
    argTypes:
    - struct asn1_oid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 378
    functionName: is_oid_pkcs7_enc_data
    functionSourceFile: /src/hostap/src/tls/tlsv1_cred.c
    functionUses: 0
    functionsReached:
    - is_oid_pkcs7
    linkageType: ''
    returnType: int
    signature: int is_oid_pkcs7_enc_data(struct asn1_oid *oid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - oid
    argTypes:
    - struct asn1_oid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 390
    functionName: is_oid_pkcs9
    functionSourceFile: /src/hostap/src/tls/tlsv1_cred.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_oid_pkcs9(struct asn1_oid *oid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_oid_pkcs9
      Src: /src/hostap/src/tls/tlsv1_cred.c:395,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - oid
    argTypes:
    - struct asn1_oid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 397
    functionName: is_oid_pkcs9_friendly_name
    functionSourceFile: /src/hostap/src/tls/tlsv1_cred.c
    functionUses: 0
    functionsReached:
    - is_oid_pkcs9
    linkageType: ''
    returnType: int
    signature: int is_oid_pkcs9_friendly_name(struct asn1_oid *oid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_oid_pkcs9
      Src: /src/hostap/src/tls/tlsv1_cred.c:402,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - oid
    argTypes:
    - struct asn1_oid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 404
    functionName: is_oid_pkcs9_local_key_id
    functionSourceFile: /src/hostap/src/tls/tlsv1_cred.c
    functionUses: 0
    functionsReached:
    - is_oid_pkcs9
    linkageType: ''
    returnType: int
    signature: int is_oid_pkcs9_local_key_id(struct asn1_oid *oid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_oid_pkcs9
      Src: /src/hostap/src/tls/tlsv1_cred.c:409,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - oid
    argTypes:
    - struct asn1_oid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 412
    functionName: is_oid_pkcs9_x509_cert
    functionSourceFile: /src/hostap/src/tls/tlsv1_cred.c
    functionUses: 0
    functionsReached:
    - is_oid_pkcs9
    linkageType: ''
    returnType: int
    signature: int is_oid_pkcs9_x509_cert(struct asn1_oid *oid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cred
    - buf
    - len
    argTypes:
    - struct tlsv1_credentials*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 420
    functionName: pkcs12_keybag
    functionSourceFile: /src/hostap/src/tls/tlsv1_cred.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int pkcs12_keybag(struct tlsv1_credentials *cred,\n\t\t\t const u8
      *buf, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pkcs8_enc_key_import
      Src: /src/hostap/src/tls/tlsv1_cred.c:430,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_cred.c:434,1
    - Dst: crypto_private_key_free
      Src: /src/hostap/src/tls/tlsv1_cred.c:436,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - cred
    - buf
    - len
    - passwd
    argTypes:
    - struct tlsv1_credentials*
    - u8*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 423
    functionDepth: 7
    functionLinenumber: 423
    functionLinenumberEnd: 440
    functionName: pkcs12_pkcs8_keybag
    functionSourceFile: /src/hostap/src/tls/tlsv1_cred.c
    functionUses: 0
    functionsReached:
    - pkcs8_enc_key_import
    - wpa_printf
    - crypto_private_key_free
    linkageType: ''
    returnType: int
    signature: "int pkcs12_pkcs8_keybag(struct tlsv1_credentials *cred,\n\t\t\t       const
      u8 *buf, size_t len,\n\t\t\t       const char *passwd)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/tlsv1_cred.c:458,1
    - Dst: asn1_is_sequence
      Src: /src/hostap/src/tls/tlsv1_cred.c:458,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/tlsv1_cred.c:459,1
    - Dst: asn1_get_oid
      Src: /src/hostap/src/tls/tlsv1_cred.c:466,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_cred.c:467,1
    - Dst: asn1_oid_to_str
      Src: /src/hostap/src/tls/tlsv1_cred.c:472,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_cred.c:473,1
    - Dst: is_oid_pkcs9_x509_cert
      Src: /src/hostap/src/tls/tlsv1_cred.c:475,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_cred.c:476,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/tlsv1_cred.c:481,1
    - Dst: asn1_is_cs_tag
      Src: /src/hostap/src/tls/tlsv1_cred.c:482,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/tlsv1_cred.c:483,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/tlsv1_cred.c:488,1
    - Dst: asn1_is_octetstring
      Src: /src/hostap/src/tls/tlsv1_cred.c:489,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/tlsv1_cred.c:490,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/tlsv1_cred.c:495,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_cred.c:500,1
    - Dst: x509_certificate_parse
      Src: /src/hostap/src/tls/tlsv1_cred.c:501,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_cred.c:503,1
    - Dst: x509_certificate_chain_free
      Src: /src/hostap/src/tls/tlsv1_cred.c:507,1
    - Dst: tlsv1_set_cert
      Src: /src/hostap/src/tls/tlsv1_cred.c:511,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 3
    argNames:
    - cred
    - buf
    - len
    argTypes:
    - struct tlsv1_credentials*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 443
    functionDepth: 14
    functionLinenumber: 443
    functionLinenumberEnd: 512
    functionName: pkcs12_certbag
    functionSourceFile: /src/hostap/src/tls/tlsv1_cred.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - asn1_is_sequence
    - wpa_hexdump
    - asn1_get_next
    - tlsv1_set_cert
    - asn1_is_cs_tag
    - asn1_unexpected
    - asn1_is_octetstring
    - asn1_oid_to_str
    - x509_certificate_parse
    - x509_certificate_chain_free
    - asn1_get_oid
    - is_oid_pkcs9_x509_cert
    linkageType: ''
    returnType: int
    signature: "int pkcs12_certbag(struct tlsv1_credentials *cred,\n\t\t\t  const
      u8 *buf, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/tlsv1_cred.c:528,1
    - Dst: asn1_is_bmpstring
      Src: /src/hostap/src/tls/tlsv1_cred.c:529,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/tlsv1_cred.c:530,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/tls/tlsv1_cred.c:534,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pos
    - end
    argTypes:
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 515
    functionDepth: 3
    functionLinenumber: 515
    functionLinenumberEnd: 537
    functionName: pkcs12_parse_attr_friendly_name
    functionSourceFile: /src/hostap/src/tls/tlsv1_cred.c
    functionUses: 0
    functionsReached:
    - asn1_is_bmpstring
    - asn1_unexpected
    - wpa_hexdump_ascii
    - asn1_get_next
    linkageType: ''
    returnType: int
    signature: int pkcs12_parse_attr_friendly_name(const u8 *pos, const u8 *end)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/tlsv1_cred.c:553,1
    - Dst: asn1_is_octetstring
      Src: /src/hostap/src/tls/tlsv1_cred.c:554,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/tlsv1_cred.c:555,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/tls/tlsv1_cred.c:559,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pos
    - end
    argTypes:
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 540
    functionDepth: 3
    functionLinenumber: 540
    functionLinenumberEnd: 562
    functionName: pkcs12_parse_attr_local_key_id
    functionSourceFile: /src/hostap/src/tls/tlsv1_cred.c
    functionUses: 0
    functionsReached:
    - wpa_hexdump_key
    - asn1_unexpected
    - asn1_is_octetstring
    - asn1_get_next
    linkageType: ''
    returnType: int
    signature: int pkcs12_parse_attr_local_key_id(const u8 *pos, const u8 *end)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: asn1_get_oid
      Src: /src/hostap/src/tls/tlsv1_cred.c:579,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_cred.c:580,1
    - Dst: asn1_oid_to_str
      Src: /src/hostap/src/tls/tlsv1_cred.c:584,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_cred.c:585,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/tlsv1_cred.c:587,1
    - Dst: asn1_is_set
      Src: /src/hostap/src/tls/tlsv1_cred.c:587,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/tlsv1_cred.c:588,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/tls/tlsv1_cred.c:591,1
    - Dst: is_oid_pkcs9_friendly_name
      Src: /src/hostap/src/tls/tlsv1_cred.c:596,1
    - Dst: pkcs12_parse_attr_friendly_name
      Src: /src/hostap/src/tls/tlsv1_cred.c:597,1
    - Dst: is_oid_pkcs9_local_key_id
      Src: /src/hostap/src/tls/tlsv1_cred.c:598,1
    - Dst: pkcs12_parse_attr_local_key_id
      Src: /src/hostap/src/tls/tlsv1_cred.c:599,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_cred.c:601,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - pos
    - len
    argTypes:
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 565
    functionDepth: 4
    functionLinenumber: 565
    functionLinenumberEnd: 603
    functionName: pkcs12_parse_attr
    functionSourceFile: /src/hostap/src/tls/tlsv1_cred.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump_key
    - pkcs12_parse_attr_friendly_name
    - asn1_get_next
    - is_oid_pkcs9_friendly_name
    - asn1_unexpected
    - pkcs12_parse_attr_local_key_id
    - asn1_is_set
    - asn1_oid_to_str
    - is_oid_pkcs9_local_key_id
    - asn1_get_oid
    linkageType: ''
    returnType: int
    signature: int pkcs12_parse_attr(const u8 *pos, size_t len)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/tls/tlsv1_cred.c:616,1
    - Dst: asn1_get_oid
      Src: /src/hostap/src/tls/tlsv1_cred.c:619,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_cred.c:620,1
    - Dst: asn1_oid_to_str
      Src: /src/hostap/src/tls/tlsv1_cred.c:625,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_cred.c:626,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/tlsv1_cred.c:628,1
    - Dst: asn1_is_cs_tag
      Src: /src/hostap/src/tls/tlsv1_cred.c:629,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/tlsv1_cred.c:630,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/tls/tlsv1_cred.c:636,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/tlsv1_cred.c:641,1
    - Dst: asn1_is_set
      Src: /src/hostap/src/tls/tlsv1_cred.c:642,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/tlsv1_cred.c:643,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/tls/tlsv1_cred.c:647,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/tlsv1_cred.c:654,1
    - Dst: asn1_is_sequence
      Src: /src/hostap/src/tls/tlsv1_cred.c:655,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/tlsv1_cred.c:656,1
    - Dst: pkcs12_parse_attr
      Src: /src/hostap/src/tls/tlsv1_cred.c:660,1
    - Dst: pkcs12_is_bagtype_oid
      Src: /src/hostap/src/tls/tlsv1_cred.c:666,1
    - Dst: pkcs12_keybag
      Src: /src/hostap/src/tls/tlsv1_cred.c:667,1
    - Dst: pkcs12_is_bagtype_oid
      Src: /src/hostap/src/tls/tlsv1_cred.c:668,1
    - Dst: pkcs12_pkcs8_keybag
      Src: /src/hostap/src/tls/tlsv1_cred.c:669,1
    - Dst: pkcs12_is_bagtype_oid
      Src: /src/hostap/src/tls/tlsv1_cred.c:670,1
    - Dst: pkcs12_certbag
      Src: /src/hostap/src/tls/tlsv1_cred.c:671,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_cred.c:673,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 4
    argNames:
    - cred
    - buf
    - len
    - passwd
    argTypes:
    - struct tlsv1_credentials*
    - u8*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 606
    functionDepth: 15
    functionLinenumber: 606
    functionLinenumberEnd: 675
    functionName: pkcs12_safebag
    functionSourceFile: /src/hostap/src/tls/tlsv1_cred.c
    functionUses: 0
    functionsReached:
    - pkcs12_parse_attr
    - wpa_hexdump_key
    - wpa_printf
    - asn1_is_sequence
    - asn1_get_next
    - asn1_is_cs_tag
    - asn1_unexpected
    - asn1_oid_to_str
    - asn1_is_set
    - pkcs12_keybag
    - asn1_get_oid
    - pkcs12_is_bagtype_oid
    - pkcs12_certbag
    - pkcs12_pkcs8_keybag
    linkageType: ''
    returnType: int
    signature: "int pkcs12_safebag(struct tlsv1_credentials *cred,\n\t\t\t  const
      u8 *buf, size_t len, const char *passwd)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/tlsv1_cred.c:686,1
    - Dst: asn1_is_sequence
      Src: /src/hostap/src/tls/tlsv1_cred.c:686,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/tlsv1_cred.c:687,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/tlsv1_cred.c:703,1
    - Dst: asn1_is_sequence
      Src: /src/hostap/src/tls/tlsv1_cred.c:704,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/tlsv1_cred.c:705,1
    - Dst: pkcs12_safebag
      Src: /src/hostap/src/tls/tlsv1_cred.c:709,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - cred
    - buf
    - len
    - passwd
    argTypes:
    - struct tlsv1_credentials*
    - u8*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 678
    functionDepth: 16
    functionLinenumber: 678
    functionLinenumberEnd: 715
    functionName: pkcs12_safecontents
    functionSourceFile: /src/hostap/src/tls/tlsv1_cred.c
    functionUses: 0
    functionsReached:
    - pkcs12_safebag
    - asn1_is_sequence
    - asn1_unexpected
    - asn1_get_next
    linkageType: ''
    returnType: int
    signature: "int pkcs12_safecontents(struct tlsv1_credentials *cred,\n\t\t\t       const
      u8 *buf, size_t len,\n\t\t\t       const char *passwd)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/tlsv1_cred.c:725,1
    - Dst: asn1_is_octetstring
      Src: /src/hostap/src/tls/tlsv1_cred.c:726,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/tlsv1_cred.c:727,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/tlsv1_cred.c:731,1
    - Dst: pkcs12_safecontents
      Src: /src/hostap/src/tls/tlsv1_cred.c:733,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - cred
    - pos
    - end
    - passwd
    argTypes:
    - struct tlsv1_credentials*
    - u8*
    - u8*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 718
    functionDepth: 17
    functionLinenumber: 718
    functionLinenumberEnd: 734
    functionName: pkcs12_parse_content_data
    functionSourceFile: /src/hostap/src/tls/tlsv1_cred.c
    functionUses: 0
    functionsReached:
    - wpa_hexdump
    - asn1_get_next
    - pkcs12_safecontents
    - asn1_unexpected
    - asn1_is_octetstring
    linkageType: ''
    returnType: int
    signature: "int pkcs12_parse_content_data(struct tlsv1_credentials *cred,\n\t\t\t\t
      \    const u8 *pos, const u8 *end,\n\t\t\t\t     const char *passwd)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/tlsv1_cred.c:754,1
    - Dst: asn1_is_sequence
      Src: /src/hostap/src/tls/tlsv1_cred.c:755,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/tlsv1_cred.c:756,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/tlsv1_cred.c:763,1
    - Dst: asn1_is_integer
      Src: /src/hostap/src/tls/tlsv1_cred.c:763,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/tlsv1_cred.c:764,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_cred.c:769,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/tlsv1_cred.c:774,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/tlsv1_cred.c:783,1
    - Dst: asn1_is_sequence
      Src: /src/hostap/src/tls/tlsv1_cred.c:784,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/tlsv1_cred.c:785,1
    - Dst: asn1_get_oid
      Src: /src/hostap/src/tls/tlsv1_cred.c:794,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_cred.c:795,1
    - Dst: asn1_oid_to_str
      Src: /src/hostap/src/tls/tlsv1_cred.c:799,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_cred.c:800,1
    - Dst: is_oid_pkcs7_data
      Src: /src/hostap/src/tls/tlsv1_cred.c:803,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_cred.c:804,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/tlsv1_cred.c:811,1
    - Dst: asn1_is_sequence
      Src: /src/hostap/src/tls/tlsv1_cred.c:812,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/tlsv1_cred.c:813,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/tlsv1_cred.c:821,1
    - Dst: asn1_is_cs_tag
      Src: /src/hostap/src/tls/tlsv1_cred.c:822,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/tlsv1_cred.c:823,1
    - Dst: pkcs5_decrypt
      Src: /src/hostap/src/tls/tlsv1_cred.c:829,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/tls/tlsv1_cred.c:832,1
    - Dst: pkcs12_safecontents
      Src: /src/hostap/src/tls/tlsv1_cred.c:835,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_cred.c:836,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 50
    argCount: 4
    argNames:
    - cred
    - pos
    - end
    - passwd
    argTypes:
    - struct tlsv1_credentials*
    - u8*
    - u8*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 737
    functionDepth: 17
    functionLinenumber: 737
    functionLinenumberEnd: 840
    functionName: pkcs12_parse_content_enc_data
    functionSourceFile: /src/hostap/src/tls/tlsv1_cred.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - asn1_is_sequence
    - wpa_hexdump_key
    - is_oid_pkcs7_data
    - asn1_is_integer
    - asn1_get_next
    - wpa_hexdump
    - pkcs5_decrypt
    - pkcs12_safecontents
    - asn1_is_cs_tag
    - asn1_unexpected
    - asn1_oid_to_str
    - asn1_get_oid
    - os_free
    linkageType: ''
    returnType: int
    signature: "int pkcs12_parse_content_enc_data(struct tlsv1_credentials *cred,\n\t\t\t\t\t
      const u8 *pos, const u8 *end,\n\t\t\t\t\t const char *passwd)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/tlsv1_cred.c:853,1
    - Dst: asn1_get_oid
      Src: /src/hostap/src/tls/tlsv1_cred.c:855,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_cred.c:856,1
    - Dst: asn1_oid_to_str
      Src: /src/hostap/src/tls/tlsv1_cred.c:861,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_cred.c:862,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/tlsv1_cred.c:864,1
    - Dst: asn1_is_cs_tag
      Src: /src/hostap/src/tls/tlsv1_cred.c:865,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/tlsv1_cred.c:866,1
    - Dst: is_oid_pkcs7_data
      Src: /src/hostap/src/tls/tlsv1_cred.c:872,1
    - Dst: pkcs12_parse_content_data
      Src: /src/hostap/src/tls/tlsv1_cred.c:873,1
    - Dst: is_oid_pkcs7_enc_data
      Src: /src/hostap/src/tls/tlsv1_cred.c:874,1
    - Dst: pkcs12_parse_content_enc_data
      Src: /src/hostap/src/tls/tlsv1_cred.c:875,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_cred.c:877,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 4
    argNames:
    - cred
    - buf
    - len
    - passwd
    argTypes:
    - struct tlsv1_credentials*
    - u8*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 843
    functionDepth: 18
    functionLinenumber: 843
    functionLinenumberEnd: 881
    functionName: pkcs12_parse_content
    functionSourceFile: /src/hostap/src/tls/tlsv1_cred.c
    functionUses: 0
    functionsReached:
    - pkcs12_parse_content_data
    - pkcs12_parse_content_enc_data
    - wpa_printf
    - is_oid_pkcs7_data
    - wpa_hexdump
    - asn1_get_next
    - asn1_is_cs_tag
    - asn1_unexpected
    - is_oid_pkcs7_enc_data
    - asn1_oid_to_str
    - asn1_get_oid
    linkageType: ''
    returnType: int
    signature: "int pkcs12_parse_content(struct tlsv1_credentials *cred,\n\t\t\t\tconst
      u8 *buf, size_t len,\n\t\t\t\tconst char *passwd)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/tlsv1_cred.c:900,1
    - Dst: asn1_is_sequence
      Src: /src/hostap/src/tls/tlsv1_cred.c:900,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/tlsv1_cred.c:901,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/tlsv1_cred.c:909,1
    - Dst: asn1_is_integer
      Src: /src/hostap/src/tls/tlsv1_cred.c:909,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/tlsv1_cred.c:910,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_cred.c:915,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/tlsv1_cred.c:926,1
    - Dst: asn1_is_sequence
      Src: /src/hostap/src/tls/tlsv1_cred.c:927,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/tlsv1_cred.c:928,1
    - Dst: asn1_get_oid
      Src: /src/hostap/src/tls/tlsv1_cred.c:937,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_cred.c:938,1
    - Dst: asn1_oid_to_str
      Src: /src/hostap/src/tls/tlsv1_cred.c:942,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_cred.c:943,1
    - Dst: is_oid_pkcs7_data
      Src: /src/hostap/src/tls/tlsv1_cred.c:944,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_cred.c:945,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/tlsv1_cred.c:950,1
    - Dst: asn1_is_cs_tag
      Src: /src/hostap/src/tls/tlsv1_cred.c:951,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/tlsv1_cred.c:952,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/tlsv1_cred.c:960,1
    - Dst: asn1_is_octetstring
      Src: /src/hostap/src/tls/tlsv1_cred.c:961,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/tlsv1_cred.c:962,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/tlsv1_cred.c:973,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/tlsv1_cred.c:976,1
    - Dst: asn1_is_sequence
      Src: /src/hostap/src/tls/tlsv1_cred.c:977,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/tlsv1_cred.c:978,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/tlsv1_cred.c:987,1
    - Dst: asn1_is_sequence
      Src: /src/hostap/src/tls/tlsv1_cred.c:988,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/tlsv1_cred.c:989,1
    - Dst: pkcs12_parse_content
      Src: /src/hostap/src/tls/tlsv1_cred.c:993,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 58
    argCount: 4
    argNames:
    - cred
    - key
    - len
    - passwd
    argTypes:
    - struct tlsv1_credentials*
    - u8*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 884
    functionDepth: 19
    functionLinenumber: 884
    functionLinenumberEnd: 1001
    functionName: pkcs12_parse
    functionSourceFile: /src/hostap/src/tls/tlsv1_cred.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - asn1_is_sequence
    - is_oid_pkcs7_data
    - asn1_is_integer
    - asn1_get_next
    - wpa_hexdump
    - asn1_is_cs_tag
    - asn1_unexpected
    - asn1_is_octetstring
    - asn1_oid_to_str
    - pkcs12_parse_content
    - asn1_get_oid
    linkageType: ''
    returnType: int
    signature: "int pkcs12_parse(struct tlsv1_credentials *cred,\n\t\t\tconst u8 *key,
      size_t len, const char *passwd)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: crypto_private_key_import
      Src: /src/hostap/src/tls/tlsv1_cred.c:1009,1
    - Dst: tlsv1_set_key_pem
      Src: /src/hostap/src/tls/tlsv1_cred.c:1011,1
    - Dst: tlsv1_set_key_enc_pem
      Src: /src/hostap/src/tls/tlsv1_cred.c:1013,1
    - Dst: pkcs12_parse
      Src: /src/hostap/src/tls/tlsv1_cred.c:1016,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_cred.c:1019,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - cred
    - key
    - len
    - passwd
    argTypes:
    - struct tlsv1_credentials*
    - u8*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1023
      start: 1006
    functionDepth: 20
    functionLinenumber: 1006
    functionLinenumberEnd: 1023
    functionName: tlsv1_set_key
    functionSourceFile: /src/hostap/src/tls/tlsv1_cred.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - crypto_private_key_import
    - pkcs12_parse
    - tlsv1_set_key_enc_pem
    - tlsv1_set_key_pem
    linkageType: ''
    returnType: int
    signature: "int tlsv1_set_key(struct tlsv1_credentials *cred,\n\t\t\t const u8
      *key, size_t len, const char *passwd)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: crypto_private_key_free
      Src: /src/hostap/src/tls/tlsv1_cred.c:1042,1
    - Dst: tlsv1_set_key
      Src: /src/hostap/src/tls/tlsv1_cred.c:1046,1
    - Dst: os_readfile
      Src: /src/hostap/src/tls/tlsv1_cred.c:1055,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_cred.c:1057,1
    - Dst: tlsv1_set_key
      Src: /src/hostap/src/tls/tlsv1_cred.c:1062,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_cred.c:1063,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 5
    argNames:
    - cred
    - private_key
    - private_key_passwd
    - private_key_blob
    - private_key_blob_len
    argTypes:
    - struct tlsv1_credentials*
    - char*
    - char*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1068
      start: 1036
    functionDepth: 21
    functionLinenumber: 1036
    functionLinenumberEnd: 1068
    functionName: tlsv1_set_private_key
    functionSourceFile: /src/hostap/src/tls/tlsv1_cred.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - tlsv1_set_key
    - crypto_private_key_free
    - os_readfile
    - os_free
    linkageType: ''
    returnType: int
    signature: "int tlsv1_set_private_key(struct tlsv1_credentials *cred,\n\t\t\t
      \ const char *private_key,\n\t\t\t  const char *private_key_passwd,\n\t\t\t
      \ const u8 *private_key_blob,\n\t\t\t  size_t private_key_blob_len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/tlsv1_cred.c:1088,1
    - Dst: asn1_is_sequence
      Src: /src/hostap/src/tls/tlsv1_cred.c:1088,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/tlsv1_cred.c:1089,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/tlsv1_cred.c:1096,1
    - Dst: asn1_is_integer
      Src: /src/hostap/src/tls/tlsv1_cred.c:1097,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/tlsv1_cred.c:1098,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/tlsv1_cred.c:1102,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_cred.c:1105,1
    - Dst: os_memdup
      Src: /src/hostap/src/tls/tlsv1_cred.c:1106,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/tlsv1_cred.c:1113,1
    - Dst: asn1_is_integer
      Src: /src/hostap/src/tls/tlsv1_cred.c:1114,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/tlsv1_cred.c:1115,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/tlsv1_cred.c:1119,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_cred.c:1122,1
    - Dst: os_memdup
      Src: /src/hostap/src/tls/tlsv1_cred.c:1123,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 3
    argNames:
    - cred
    - dh
    - len
    argTypes:
    - struct tlsv1_credentials*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1129
      start: 1071
    functionDepth: 3
    functionLinenumber: 1071
    functionLinenumberEnd: 1129
    functionName: tlsv1_set_dhparams_der
    functionSourceFile: /src/hostap/src/tls/tlsv1_cred.c
    functionUses: 0
    functionsReached:
    - asn1_is_sequence
    - wpa_hexdump
    - asn1_is_integer
    - asn1_get_next
    - os_memdup
    - asn1_unexpected
    - os_free
    linkageType: ''
    returnType: int
    signature: "int tlsv1_set_dhparams_der(struct tlsv1_credentials *cred,\n\t\t\t\t
      \ const u8 *dh, size_t len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: search_tag
      Src: /src/hostap/src/tls/tlsv1_cred.c:1143,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_cred.c:1145,1
    - Dst: tlsv1_set_dhparams_der
      Src: /src/hostap/src/tls/tlsv1_cred.c:1147,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_cred.c:1150,1
    - Dst: os_strlen
      Src: /src/hostap/src/tls/tlsv1_cred.c:1153,1
    - Dst: search_tag
      Src: /src/hostap/src/tls/tlsv1_cred.c:1154,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_cred.c:1156,1
    - Dst: base64_decode
      Src: /src/hostap/src/tls/tlsv1_cred.c:1161,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_cred.c:1163,1
    - Dst: tlsv1_set_dhparams_der
      Src: /src/hostap/src/tls/tlsv1_cred.c:1167,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_cred.c:1168,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_cred.c:1170,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_cred.c:1174,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 3
    argNames:
    - cred
    - buf
    - len
    argTypes:
    - struct tlsv1_credentials*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1136
    functionDepth: 4
    functionLinenumber: 1136
    functionLinenumberEnd: 1177
    functionName: tlsv1_set_dhparams_blob
    functionSourceFile: /src/hostap/src/tls/tlsv1_cred.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - base64_decode
    - os_free
    - tlsv1_set_dhparams_der
    - search_tag
    linkageType: ''
    returnType: int
    signature: "int tlsv1_set_dhparams_blob(struct tlsv1_credentials *cred,\n\t\t\t\t
      \  const u8 *buf, size_t len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tlsv1_set_dhparams_blob
      Src: /src/hostap/src/tls/tlsv1_cred.c:1192,1
    - Dst: os_readfile
      Src: /src/hostap/src/tls/tlsv1_cred.c:1199,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_cred.c:1201,1
    - Dst: tlsv1_set_dhparams_blob
      Src: /src/hostap/src/tls/tlsv1_cred.c:1206,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_cred.c:1207,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - cred
    - dh_file
    - dh_blob
    - dh_blob_len
    argTypes:
    - struct tlsv1_credentials*
    - char*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1212
      start: 1188
    functionDepth: 5
    functionLinenumber: 1188
    functionLinenumberEnd: 1212
    functionName: tlsv1_set_dhparams
    functionSourceFile: /src/hostap/src/tls/tlsv1_cred.c
    functionUses: 1
    functionsReached:
    - os_free
    - os_readfile
    - tlsv1_set_dhparams_blob
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int tlsv1_set_dhparams(struct tlsv1_credentials *cred, const char
      *dh_file,\n\t\t       const u8 *dh_blob, size_t dh_blob_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 126
    functionName: mp_iszero
    functionSourceFile: /src/hostap/src/tls/libtommath.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mp_iszero(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 127
    functionName: mp_iseven
    functionSourceFile: /src/hostap/src/tls/libtommath.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mp_iseven(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 128
    functionName: mp_isodd
    functionSourceFile: /src/hostap/src/tls/libtommath.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mp_isodd(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 132
    functionName: s_mp_mul
    functionSourceFile: /src/hostap/src/tls/libtommath.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: s_mp_mul(a, b, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - s
    - len
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 208
    functionName: bn_reverse
    functionSourceFile: /src/hostap/src/tls/libtommath.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bn_reverse (unsigned char *s, int len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mp_grow
      Src: /src/hostap/src/tls/libtommath.c:232,1
    - Dst: mp_clamp
      Src: /src/hostap/src/tls/libtommath.c:294,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 3
    argNames:
    - a
    - b
    - c
    argTypes:
    - mp_int*
    - mp_int*
    - mp_int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 296
    functionName: s_mp_add
    functionSourceFile: /src/hostap/src/tls/libtommath.c
    functionUses: 0
    functionsReached:
    - mp_grow
    - mp_clamp
    linkageType: ''
    returnType: int
    signature: int s_mp_add (mp_int * a, mp_int * b, mp_int * c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mp_grow
      Src: /src/hostap/src/tls/libtommath.c:310,1
    - Dst: mp_clamp
      Src: /src/hostap/src/tls/libtommath.c:361,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 3
    argNames:
    - a
    - b
    - c
    argTypes:
    - mp_int*
    - mp_int*
    - mp_int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 363
    functionName: s_mp_sub
    functionSourceFile: /src/hostap/src/tls/libtommath.c
    functionUses: 0
    functionsReached:
    - mp_grow
    - mp_clamp
    linkageType: ''
    returnType: int
    signature: int s_mp_sub (mp_int * a, mp_int * b, mp_int * c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPT_CAST
      Src: /src/hostap/src/tls/libtommath.c:372,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - a
    argTypes:
    - mp_int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 389
    functionName: mp_init
    functionSourceFile: /src/hostap/src/tls/libtommath.c
    functionUses: 4
    functionsReached:
    - OPT_CAST
    linkageType: ''
    returnType: int
    signature: int mp_init (mp_int * a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XFREE
      Src: /src/hostap/src/tls/libtommath.c:405,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - a
    argTypes:
    - mp_int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 412
    functionName: mp_clear
    functionSourceFile: /src/hostap/src/tls/libtommath.c
    functionUses: 6
    functionsReached:
    - XFREE
    linkageType: ''
    returnType: void
    signature: void mp_clear (mp_int * a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: s_mp_add
      Src: /src/hostap/src/tls/libtommath.c:429,1
    - Dst: mp_cmp_mag
      Src: /src/hostap/src/tls/libtommath.c:435,1
    - Dst: s_mp_sub
      Src: /src/hostap/src/tls/libtommath.c:437,1
    - Dst: s_mp_sub
      Src: /src/hostap/src/tls/libtommath.c:440,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - a
    - b
    - c
    argTypes:
    - mp_int*
    - mp_int*
    - mp_int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 416
    functionDepth: 2
    functionLinenumber: 416
    functionLinenumberEnd: 444
    functionName: mp_add
    functionSourceFile: /src/hostap/src/tls/libtommath.c
    functionUses: 3
    functionsReached:
    - s_mp_add
    - mp_cmp_mag
    - s_mp_sub
    linkageType: ''
    returnType: int
    signature: int mp_add (mp_int * a, mp_int * b, mp_int * c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: s_mp_add
      Src: /src/hostap/src/tls/libtommath.c:461,1
    - Dst: mp_cmp_mag
      Src: /src/hostap/src/tls/libtommath.c:467,1
    - Dst: s_mp_sub
      Src: /src/hostap/src/tls/libtommath.c:471,1
    - Dst: s_mp_sub
      Src: /src/hostap/src/tls/libtommath.c:477,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - a
    - b
    - c
    argTypes:
    - mp_int*
    - mp_int*
    - mp_int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 448
    functionDepth: 2
    functionLinenumber: 448
    functionLinenumberEnd: 481
    functionName: mp_sub
    functionSourceFile: /src/hostap/src/tls/libtommath.c
    functionUses: 5
    functionsReached:
    - s_mp_add
    - mp_cmp_mag
    - s_mp_sub
    linkageType: ''
    returnType: int
    signature: int mp_sub (mp_int * a, mp_int * b, mp_int * c)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/hostap/src/tls/libtommath.c:492,1
    - Dst: mp_toom_mul
      Src: /src/hostap/src/tls/libtommath.c:493,1
    - Dst: MIN
      Src: /src/hostap/src/tls/libtommath.c:498,1
    - Dst: mp_karatsuba_mul
      Src: /src/hostap/src/tls/libtommath.c:499,1
    - Dst: MIN
      Src: /src/hostap/src/tls/libtommath.c:513,1
    - Dst: fast_s_mp_mul_digs
      Src: /src/hostap/src/tls/libtommath.c:515,1
    - Dst: s_mp_mul
      Src: /src/hostap/src/tls/libtommath.c:519,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - a
    - b
    - c
    argTypes:
    - mp_int*
    - mp_int*
    - mp_int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 528
    functionName: mp_mul
    functionSourceFile: /src/hostap/src/tls/libtommath.c
    functionUses: 2
    functionsReached:
    - s_mp_mul
    - mp_karatsuba_mul
    - mp_toom_mul
    - fast_s_mp_mul_digs
    - MIN
    linkageType: ''
    returnType: int
    signature: int mp_mul (mp_int * a, mp_int * b, mp_int * c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mp_init
      Src: /src/hostap/src/tls/libtommath.c:537,1
    - Dst: mp_mul
      Src: /src/hostap/src/tls/libtommath.c:541,1
    - Dst: mp_clear
      Src: /src/hostap/src/tls/libtommath.c:542,1
    - Dst: mp_mod
      Src: /src/hostap/src/tls/libtommath.c:545,1
    - Dst: mp_clear
      Src: /src/hostap/src/tls/libtommath.c:546,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - a
    - b
    - c
    - d
    argTypes:
    - mp_int*
    - mp_int*
    - mp_int*
    - mp_int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 532
    functionDepth: 2
    functionLinenumber: 532
    functionLinenumberEnd: 548
    functionName: mp_mulmod
    functionSourceFile: /src/hostap/src/tls/libtommath.c
    functionUses: 4
    functionsReached:
    - mp_mod
    - mp_clear
    - mp_init
    - mp_mul
    linkageType: ''
    returnType: int
    signature: int mp_mulmod (mp_int * a, mp_int * b, mp_int * c, mp_int * d)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mp_init
      Src: /src/hostap/src/tls/libtommath.c:557,1
    - Dst: mp_div
      Src: /src/hostap/src/tls/libtommath.c:561,1
    - Dst: mp_clear
      Src: /src/hostap/src/tls/libtommath.c:562,1
    - Dst: mp_add
      Src: /src/hostap/src/tls/libtommath.c:567,1
    - Dst: mp_exch
      Src: /src/hostap/src/tls/libtommath.c:570,1
    - Dst: mp_clear
      Src: /src/hostap/src/tls/libtommath.c:573,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - a
    - b
    - c
    argTypes:
    - mp_int*
    - mp_int*
    - mp_int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 552
    functionDepth: 3
    functionLinenumber: 552
    functionLinenumberEnd: 575
    functionName: mp_mod
    functionSourceFile: /src/hostap/src/tls/libtommath.c
    functionUses: 3
    functionsReached:
    - mp_add
    - mp_exch
    - mp_div
    - mp_clear
    - mp_init
    linkageType: ''
    returnType: int
    signature: int mp_mod (mp_int * a, mp_int * b, mp_int * c)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mp_cmp_mag
      Src: /src/hostap/src/tls/libtommath.c:692,1
    - Dst: mp_cmp_mag
      Src: /src/hostap/src/tls/libtommath.c:694,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - mp_int*
    - mp_int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 678
    functionDepth: 1
    functionLinenumber: 678
    functionLinenumberEnd: 696
    functionName: mp_cmp
    functionSourceFile: /src/hostap/src/tls/libtommath.c
    functionUses: 2
    functionsReached:
    - mp_cmp_mag
    linkageType: ''
    returnType: int
    signature: int mp_cmp (mp_int * a, mp_int * b)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - mp_int*
    - mp_digit
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 700
    functionDepth: 0
    functionLinenumber: 700
    functionLinenumberEnd: 720
    functionName: mp_cmp_d
    functionSourceFile: /src/hostap/src/tls/libtommath.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mp_cmp_d(mp_int * a, mp_digit b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mp_iszero
      Src: /src/hostap/src/tls/libtommath.c:728,1
    - Dst: mp_isodd
      Src: /src/hostap/src/tls/libtommath.c:734,1
    - Dst: fast_mp_invmod
      Src: /src/hostap/src/tls/libtommath.c:735,1
    - Dst: mp_invmod_slow
      Src: /src/hostap/src/tls/libtommath.c:740,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - a
    - b
    - c
    argTypes:
    - mp_int*
    - mp_int*
    - mp_int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 725
    functionDepth: 1
    functionLinenumber: 725
    functionLinenumberEnd: 749
    functionName: mp_invmod
    functionSourceFile: /src/hostap/src/tls/libtommath.c
    functionUses: 2
    functionsReached:
    - mp_isodd
    - fast_mp_invmod
    - mp_invmod_slow
    - mp_iszero
    linkageType: ''
    returnType: int
    signature: int mp_invmod (mp_int * a, mp_int * b, mp_int * c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mp_count_bits
      Src: /src/hostap/src/tls/libtommath.c:756,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - mp_int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 754
    functionDepth: 1
    functionLinenumber: 754
    functionLinenumberEnd: 758
    functionName: mp_unsigned_bin_size
    functionSourceFile: /src/hostap/src/tls/libtommath.c
    functionUses: 5
    functionsReached:
    - mp_count_bits
    linkageType: ''
    returnType: int
    signature: int mp_unsigned_bin_size (mp_int * a)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: mp_iszero
      Src: /src/hostap/src/tls/libtommath.c:769,1
    - Dst: mp_init_multi
      Src: /src/hostap/src/tls/libtommath.c:774,1
    - Dst: mp_mod
      Src: /src/hostap/src/tls/libtommath.c:780,1
    - Dst: mp_copy
      Src: /src/hostap/src/tls/libtommath.c:783,1
    - Dst: mp_iseven
      Src: /src/hostap/src/tls/libtommath.c:788,1
    - Dst: mp_iseven
      Src: /src/hostap/src/tls/libtommath.c:788,1
    - Dst: mp_copy
      Src: /src/hostap/src/tls/libtommath.c:794,1
    - Dst: mp_copy
      Src: /src/hostap/src/tls/libtommath.c:797,1
    - Dst: mp_set
      Src: /src/hostap/src/tls/libtommath.c:800,1
    - Dst: mp_set
      Src: /src/hostap/src/tls/libtommath.c:801,1
    - Dst: mp_iseven
      Src: /src/hostap/src/tls/libtommath.c:805,1
    - Dst: mp_div_2
      Src: /src/hostap/src/tls/libtommath.c:807,1
    - Dst: mp_isodd
      Src: /src/hostap/src/tls/libtommath.c:811,1
    - Dst: mp_isodd
      Src: /src/hostap/src/tls/libtommath.c:811,1
    - Dst: mp_add
      Src: /src/hostap/src/tls/libtommath.c:813,1
    - Dst: mp_sub
      Src: /src/hostap/src/tls/libtommath.c:816,1
    - Dst: mp_div_2
      Src: /src/hostap/src/tls/libtommath.c:821,1
    - Dst: mp_div_2
      Src: /src/hostap/src/tls/libtommath.c:824,1
    - Dst: mp_iseven
      Src: /src/hostap/src/tls/libtommath.c:830,1
    - Dst: mp_div_2
      Src: /src/hostap/src/tls/libtommath.c:832,1
    - Dst: mp_isodd
      Src: /src/hostap/src/tls/libtommath.c:836,1
    - Dst: mp_isodd
      Src: /src/hostap/src/tls/libtommath.c:836,1
    - Dst: mp_add
      Src: /src/hostap/src/tls/libtommath.c:838,1
    - Dst: mp_sub
      Src: /src/hostap/src/tls/libtommath.c:841,1
    - Dst: mp_div_2
      Src: /src/hostap/src/tls/libtommath.c:846,1
    - Dst: mp_div_2
      Src: /src/hostap/src/tls/libtommath.c:849,1
    - Dst: mp_cmp
      Src: /src/hostap/src/tls/libtommath.c:855,1
    - Dst: mp_sub
      Src: /src/hostap/src/tls/libtommath.c:857,1
    - Dst: mp_sub
      Src: /src/hostap/src/tls/libtommath.c:861,1
    - Dst: mp_sub
      Src: /src/hostap/src/tls/libtommath.c:865,1
    - Dst: mp_sub
      Src: /src/hostap/src/tls/libtommath.c:870,1
    - Dst: mp_sub
      Src: /src/hostap/src/tls/libtommath.c:874,1
    - Dst: mp_sub
      Src: /src/hostap/src/tls/libtommath.c:878,1
    - Dst: mp_iszero
      Src: /src/hostap/src/tls/libtommath.c:884,1
    - Dst: mp_cmp_d
      Src: /src/hostap/src/tls/libtommath.c:890,1
    - Dst: mp_cmp_d
      Src: /src/hostap/src/tls/libtommath.c:896,1
    - Dst: mp_add
      Src: /src/hostap/src/tls/libtommath.c:897,1
    - Dst: mp_cmp_mag
      Src: /src/hostap/src/tls/libtommath.c:903,1
    - Dst: mp_sub
      Src: /src/hostap/src/tls/libtommath.c:904,1
    - Dst: mp_exch
      Src: /src/hostap/src/tls/libtommath.c:910,1
    - Dst: mp_clear_multi
      Src: /src/hostap/src/tls/libtommath.c:912,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 133
    argCount: 3
    argNames:
    - a
    - b
    - c
    argTypes:
    - mp_int*
    - mp_int*
    - mp_int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 763
    functionDepth: 4
    functionLinenumber: 763
    functionLinenumberEnd: 914
    functionName: mp_invmod_slow
    functionSourceFile: /src/hostap/src/tls/libtommath.c
    functionUses: 1
    functionsReached:
    - mp_cmp_d
    - mp_clear_multi
    - mp_copy
    - mp_isodd
    - mp_cmp
    - mp_div_2
    - mp_add
    - mp_cmp_mag
    - mp_exch
    - mp_init_multi
    - mp_set
    - mp_iseven
    - mp_mod
    - mp_sub
    - mp_iszero
    linkageType: ''
    returnType: int
    signature: int mp_invmod_slow (mp_int * a, mp_int * b, mp_int * c)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - mp_int*
    - mp_int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 919
    functionDepth: 0
    functionLinenumber: 919
    functionLinenumberEnd: 950
    functionName: mp_cmp_mag
    functionSourceFile: /src/hostap/src/tls/libtommath.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mp_cmp_mag (mp_int * a, mp_int * b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mp_grow
      Src: /src/hostap/src/tls/libtommath.c:960,1
    - Dst: mp_zero
      Src: /src/hostap/src/tls/libtommath.c:966,1
    - Dst: mp_mul_2d
      Src: /src/hostap/src/tls/libtommath.c:970,1
    - Dst: mp_clamp
      Src: /src/hostap/src/tls/libtommath.c:983,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - a
    - b
    - c
    argTypes:
    - mp_int*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 954
    functionDepth: 1
    functionLinenumber: 954
    functionLinenumberEnd: 985
    functionName: mp_read_unsigned_bin
    functionSourceFile: /src/hostap/src/tls/libtommath.c
    functionUses: 5
    functionsReached:
    - mp_grow
    - mp_mul_2d
    - mp_zero
    - mp_clamp
    linkageType: ''
    returnType: int
    signature: int mp_read_unsigned_bin (mp_int * a, const unsigned char *b, int c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mp_init_copy
      Src: /src/hostap/src/tls/libtommath.c:994,1
    - Dst: mp_iszero
      Src: /src/hostap/src/tls/libtommath.c:999,1
    - Dst: mp_div_2d
      Src: /src/hostap/src/tls/libtommath.c:1005,1
    - Dst: mp_clear
      Src: /src/hostap/src/tls/libtommath.c:1006,1
    - Dst: bn_reverse
      Src: /src/hostap/src/tls/libtommath.c:1010,1
    - Dst: mp_clear
      Src: /src/hostap/src/tls/libtommath.c:1011,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - mp_int*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1013
      start: 989
    functionDepth: 1
    functionLinenumber: 989
    functionLinenumberEnd: 1013
    functionName: mp_to_unsigned_bin
    functionSourceFile: /src/hostap/src/tls/libtommath.c
    functionUses: 3
    functionsReached:
    - mp_div_2d
    - mp_init_copy
    - mp_clear
    - bn_reverse
    - mp_iszero
    linkageType: ''
    returnType: int
    signature: int mp_to_unsigned_bin (mp_int * a, unsigned char *b)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mp_copy
      Src: /src/hostap/src/tls/libtommath.c:1026,1
    - Dst: mp_zero
      Src: /src/hostap/src/tls/libtommath.c:1028,1
    - Dst: mp_init
      Src: /src/hostap/src/tls/libtommath.c:1033,1
    - Dst: mp_mod_2d
      Src: /src/hostap/src/tls/libtommath.c:1039,1
    - Dst: mp_clear
      Src: /src/hostap/src/tls/libtommath.c:1040,1
    - Dst: mp_copy
      Src: /src/hostap/src/tls/libtommath.c:1046,1
    - Dst: mp_clear
      Src: /src/hostap/src/tls/libtommath.c:1047,1
    - Dst: mp_rshd
      Src: /src/hostap/src/tls/libtommath.c:1053,1
    - Dst: mp_clamp
      Src: /src/hostap/src/tls/libtommath.c:1084,1
    - Dst: mp_exch
      Src: /src/hostap/src/tls/libtommath.c:1086,1
    - Dst: mp_clear
      Src: /src/hostap/src/tls/libtommath.c:1088,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 4
    argNames:
    - a
    - b
    - c
    - d
    argTypes:
    - mp_int*
    - int
    - mp_int*
    - mp_int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1090
      start: 1017
    functionDepth: 1
    functionLinenumber: 1017
    functionLinenumberEnd: 1090
    functionName: mp_div_2d
    functionSourceFile: /src/hostap/src/tls/libtommath.c
    functionUses: 1
    functionsReached:
    - mp_zero
    - mp_copy
    - mp_mod_2d
    - mp_exch
    - mp_rshd
    - mp_clear
    - mp_init
    - mp_clamp
    linkageType: ''
    returnType: int
    signature: int mp_div_2d (mp_int * a, int b, mp_int * c, mp_int * d)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mp_init
      Src: /src/hostap/src/tls/libtommath.c:1097,1
    - Dst: mp_copy
      Src: /src/hostap/src/tls/libtommath.c:1100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - mp_int*
    - mp_int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1101
      start: 1093
    functionDepth: 1
    functionLinenumber: 1093
    functionLinenumberEnd: 1101
    functionName: mp_init_copy
    functionSourceFile: /src/hostap/src/tls/libtommath.c
    functionUses: 1
    functionsReached:
    - mp_copy
    - mp_init
    linkageType: ''
    returnType: int
    signature: int mp_init_copy (mp_int * a, mp_int * b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - a
    argTypes:
    - mp_int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1117
    functionName: mp_zero
    functionSourceFile: /src/hostap/src/tls/libtommath.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mp_zero (mp_int * a)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mp_grow
      Src: /src/hostap/src/tls/libtommath.c:1132,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - mp_int*
    - mp_int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1164
      start: 1121
    functionDepth: 1
    functionLinenumber: 1121
    functionLinenumberEnd: 1164
    functionName: mp_copy
    functionSourceFile: /src/hostap/src/tls/libtommath.c
    functionUses: 5
    functionsReached:
    - mp_grow
    linkageType: ''
    returnType: int
    signature: int mp_copy (mp_int * a, mp_int * b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mp_zero
      Src: /src/hostap/src/tls/libtommath.c:1179,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - mp_int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1216
      start: 1168
    functionDepth: 1
    functionLinenumber: 1168
    functionLinenumberEnd: 1216
    functionName: mp_rshd
    functionSourceFile: /src/hostap/src/tls/libtommath.c
    functionUses: 1
    functionsReached:
    - mp_zero
    linkageType: ''
    returnType: void
    signature: void mp_rshd (mp_int * a, int b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - mp_int*
    - mp_int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1229
      start: 1222
    functionDepth: 0
    functionLinenumber: 1222
    functionLinenumberEnd: 1229
    functionName: mp_exch
    functionSourceFile: /src/hostap/src/tls/libtommath.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mp_exch (mp_int * a, mp_int * b)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - a
    argTypes:
    - mp_int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1252
      start: 1239
    functionDepth: 0
    functionLinenumber: 1239
    functionLinenumberEnd: 1252
    functionName: mp_clamp
    functionSourceFile: /src/hostap/src/tls/libtommath.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mp_clamp (mp_int * a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPT_CAST
      Src: /src/hostap/src/tls/libtommath.c:1272,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - a
    - size
    argTypes:
    - mp_int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1289
      start: 1256
    functionDepth: 0
    functionLinenumber: 1256
    functionLinenumberEnd: 1289
    functionName: mp_grow
    functionSourceFile: /src/hostap/src/tls/libtommath.c
    functionUses: 4
    functionsReached:
    - OPT_CAST
    linkageType: ''
    returnType: int
    signature: int mp_grow (mp_int * a, int size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mp_copy
      Src: /src/hostap/src/tls/libtommath.c:1303,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - mp_int*
    - mp_int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1312
      start: 1297
    functionDepth: 2
    functionLinenumber: 1297
    functionLinenumberEnd: 1312
    functionName: mp_abs
    functionSourceFile: /src/hostap/src/tls/libtommath.c
    functionUses: 0
    functionsReached:
    - mp_copy
    linkageType: ''
    returnType: int
    signature: int mp_abs (mp_int * a, mp_int * b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mp_zero
      Src: /src/hostap/src/tls/libtommath.c:1319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - mp_int*
    - mp_digit
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1322
      start: 1317
    functionDepth: 1
    functionLinenumber: 1317
    functionLinenumberEnd: 1322
    functionName: mp_set
    functionSourceFile: /src/hostap/src/tls/libtommath.c
    functionUses: 3
    functionsReached:
    - mp_zero
    linkageType: ''
    returnType: void
    signature: void mp_set (mp_int * a, mp_digit b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mp_grow
      Src: /src/hostap/src/tls/libtommath.c:1333,1
    - Dst: mp_clamp
      Src: /src/hostap/src/tls/libtommath.c:1369,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - mp_int*
    - mp_int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1371
      start: 1327
    functionDepth: 1
    functionLinenumber: 1327
    functionLinenumberEnd: 1371
    functionName: mp_div_2
    functionSourceFile: /src/hostap/src/tls/libtommath.c
    functionUses: 1
    functionsReached:
    - mp_grow
    - mp_clamp
    linkageType: ''
    returnType: int
    signature: int mp_div_2(mp_int * a, mp_int * b)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mp_copy
      Src: /src/hostap/src/tls/libtommath.c:1383,1
    - Dst: mp_grow
      Src: /src/hostap/src/tls/libtommath.c:1389,1
    - Dst: mp_lshd
      Src: /src/hostap/src/tls/libtommath.c:1396,1
    - Dst: mp_clamp
      Src: /src/hostap/src/tls/libtommath.c:1435,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 3
    argNames:
    - a
    - b
    - c
    argTypes:
    - mp_int*
    - int
    - mp_int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1437
      start: 1376
    functionDepth: 2
    functionLinenumber: 1376
    functionLinenumberEnd: 1437
    functionName: mp_mul_2d
    functionSourceFile: /src/hostap/src/tls/libtommath.c
    functionUses: 1
    functionsReached:
    - mp_grow
    - mp_copy
    - mp_clamp
    - mp_lshd
    linkageType: ''
    returnType: int
    signature: int mp_mul_2d (mp_int * a, int b, mp_int * c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/hostap/src/tls/libtommath.c:1448,1
    - Dst: mp_init
      Src: /src/hostap/src/tls/libtommath.c:1450,1
    - Dst: va_end
      Src: /src/hostap/src/tls/libtommath.c:1457,1
    - Dst: va_start
      Src: /src/hostap/src/tls/libtommath.c:1461,1
    - Dst: mp_clear
      Src: /src/hostap/src/tls/libtommath.c:1463,1
    - Dst: va_arg
      Src: /src/hostap/src/tls/libtommath.c:1464,1
    - Dst: va_end
      Src: /src/hostap/src/tls/libtommath.c:1466,1
    - Dst: va_arg
      Src: /src/hostap/src/tls/libtommath.c:1470,1
    - Dst: va_end
      Src: /src/hostap/src/tls/libtommath.c:1472,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - mp
    argTypes:
    - mp_int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1474
      start: 1441
    functionDepth: 1
    functionLinenumber: 1441
    functionLinenumberEnd: 1474
    functionName: mp_init_multi
    functionSourceFile: /src/hostap/src/tls/libtommath.c
    functionUses: 4
    functionsReached:
    - va_end
    - va_arg
    - va_start
    - mp_clear
    - mp_init
    linkageType: ''
    returnType: int
    signature: int mp_init_multi(mp_int *mp, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/hostap/src/tls/libtommath.c:1483,1
    - Dst: mp_clear
      Src: /src/hostap/src/tls/libtommath.c:1485,1
    - Dst: va_arg
      Src: /src/hostap/src/tls/libtommath.c:1486,1
    - Dst: va_end
      Src: /src/hostap/src/tls/libtommath.c:1488,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - mp
    argTypes:
    - mp_int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1489
      start: 1479
    functionDepth: 1
    functionLinenumber: 1479
    functionLinenumberEnd: 1489
    functionName: mp_clear_multi
    functionSourceFile: /src/hostap/src/tls/libtommath.c
    functionUses: 2
    functionsReached:
    - va_start
    - mp_clear
    - va_arg
    - va_end
    linkageType: ''
    returnType: void
    signature: void mp_clear_multi(mp_int *mp, ...)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mp_grow
      Src: /src/hostap/src/tls/libtommath.c:1505,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - mp_int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1537
      start: 1494
    functionDepth: 1
    functionLinenumber: 1494
    functionLinenumberEnd: 1537
    functionName: mp_lshd
    functionSourceFile: /src/hostap/src/tls/libtommath.c
    functionUses: 1
    functionsReached:
    - mp_grow
    linkageType: ''
    returnType: int
    signature: int mp_lshd (mp_int * a, int b)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - a
    argTypes:
    - mp_int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1561
      start: 1541
    functionDepth: 0
    functionLinenumber: 1541
    functionLinenumberEnd: 1561
    functionName: mp_count_bits
    functionSourceFile: /src/hostap/src/tls/libtommath.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mp_count_bits (mp_int * a)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mp_zero
      Src: /src/hostap/src/tls/libtommath.c:1571,1
    - Dst: mp_copy
      Src: /src/hostap/src/tls/libtommath.c:1577,1
    - Dst: mp_copy
      Src: /src/hostap/src/tls/libtommath.c:1582,1
    - Dst: mp_clamp
      Src: /src/hostap/src/tls/libtommath.c:1593,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - a
    - b
    - c
    argTypes:
    - mp_int*
    - int
    - mp_int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1595
      start: 1565
    functionDepth: 2
    functionLinenumber: 1565
    functionLinenumberEnd: 1595
    functionName: mp_mod_2d
    functionSourceFile: /src/hostap/src/tls/libtommath.c
    functionUses: 1
    functionsReached:
    - mp_zero
    - mp_copy
    - mp_clamp
    linkageType: ''
    returnType: int
    signature: int mp_mod_2d (mp_int * a, int b, mp_int * c)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: mp_iszero
      Src: /src/hostap/src/tls/libtommath.c:1607,1
    - Dst: mp_cmp_mag
      Src: /src/hostap/src/tls/libtommath.c:1612,1
    - Dst: mp_copy
      Src: /src/hostap/src/tls/libtommath.c:1614,1
    - Dst: mp_zero
      Src: /src/hostap/src/tls/libtommath.c:1619,1
    - Dst: mp_init_multi
      Src: /src/hostap/src/tls/libtommath.c:1625,1
    - Dst: mp_set
      Src: /src/hostap/src/tls/libtommath.c:1630,1
    - Dst: mp_count_bits
      Src: /src/hostap/src/tls/libtommath.c:1631,1
    - Dst: mp_count_bits
      Src: /src/hostap/src/tls/libtommath.c:1631,1
    - Dst: mp_abs
      Src: /src/hostap/src/tls/libtommath.c:1632,1
    - Dst: mp_abs
      Src: /src/hostap/src/tls/libtommath.c:1633,1
    - Dst: mp_mul_2d
      Src: /src/hostap/src/tls/libtommath.c:1634,1
    - Dst: mp_mul_2d
      Src: /src/hostap/src/tls/libtommath.c:1635,1
    - Dst: mp_cmp
      Src: /src/hostap/src/tls/libtommath.c:1640,1
    - Dst: mp_sub
      Src: /src/hostap/src/tls/libtommath.c:1641,1
    - Dst: mp_add
      Src: /src/hostap/src/tls/libtommath.c:1642,1
    - Dst: mp_div_2d
      Src: /src/hostap/src/tls/libtommath.c:1646,1
    - Dst: mp_div_2d
      Src: /src/hostap/src/tls/libtommath.c:1647,1
    - Dst: mp_exch
      Src: /src/hostap/src/tls/libtommath.c:1656,1
    - Dst: mp_iszero
      Src: /src/hostap/src/tls/libtommath.c:1657,1
    - Dst: mp_exch
      Src: /src/hostap/src/tls/libtommath.c:1660,1
    - Dst: mp_iszero
      Src: /src/hostap/src/tls/libtommath.c:1661,1
    - Dst: mp_clear_multi
      Src: /src/hostap/src/tls/libtommath.c:1664,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 50
    argCount: 4
    argNames:
    - a
    - b
    - c
    - d
    argTypes:
    - mp_int*
    - mp_int*
    - mp_int*
    - mp_int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1666
      start: 1601
    functionDepth: 3
    functionLinenumber: 1601
    functionLinenumberEnd: 1666
    functionName: mp_div
    functionSourceFile: /src/hostap/src/tls/libtommath.c
    functionUses: 2
    functionsReached:
    - mp_div_2d
    - mp_clear_multi
    - mp_zero
    - mp_copy
    - mp_count_bits
    - mp_cmp
    - mp_cmp_mag
    - mp_add
    - mp_exch
    - mp_init_multi
    - mp_set
    - mp_mul_2d
    - mp_abs
    - mp_sub
    - mp_iszero
    linkageType: ''
    returnType: int
    signature: int mp_div(mp_int * a, mp_int * b, mp_int * c, mp_int * d)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: mp_iszero
      Src: /src/hostap/src/tls/libtommath.c:1689,1
    - Dst: mp_cmp_mag
      Src: /src/hostap/src/tls/libtommath.c:1694,1
    - Dst: mp_copy
      Src: /src/hostap/src/tls/libtommath.c:1696,1
    - Dst: mp_zero
      Src: /src/hostap/src/tls/libtommath.c:1701,1
    - Dst: mp_init_size
      Src: /src/hostap/src/tls/libtommath.c:1706,1
    - Dst: mp_init
      Src: /src/hostap/src/tls/libtommath.c:1711,1
    - Dst: mp_init
      Src: /src/hostap/src/tls/libtommath.c:1715,1
    - Dst: mp_init_copy
      Src: /src/hostap/src/tls/libtommath.c:1719,1
    - Dst: mp_init_copy
      Src: /src/hostap/src/tls/libtommath.c:1723,1
    - Dst: mp_count_bits
      Src: /src/hostap/src/tls/libtommath.c:1732,1
    - Dst: mp_mul_2d
      Src: /src/hostap/src/tls/libtommath.c:1735,1
    - Dst: mp_mul_2d
      Src: /src/hostap/src/tls/libtommath.c:1738,1
    - Dst: mp_lshd
      Src: /src/hostap/src/tls/libtommath.c:1750,1
    - Dst: mp_cmp
      Src: /src/hostap/src/tls/libtommath.c:1754,1
    - Dst: mp_sub
      Src: /src/hostap/src/tls/libtommath.c:1756,1
    - Dst: mp_rshd
      Src: /src/hostap/src/tls/libtommath.c:1762,1
    - Dst: mp_zero
      Src: /src/hostap/src/tls/libtommath.c:1794,1
    - Dst: mp_mul_d
      Src: /src/hostap/src/tls/libtommath.c:1798,1
    - Dst: mp_cmp_mag
      Src: /src/hostap/src/tls/libtommath.c:1807,1
    - Dst: mp_mul_d
      Src: /src/hostap/src/tls/libtommath.c:1810,1
    - Dst: mp_lshd
      Src: /src/hostap/src/tls/libtommath.c:1814,1
    - Dst: mp_sub
      Src: /src/hostap/src/tls/libtommath.c:1818,1
    - Dst: mp_copy
      Src: /src/hostap/src/tls/libtommath.c:1824,1
    - Dst: mp_lshd
      Src: /src/hostap/src/tls/libtommath.c:1827,1
    - Dst: mp_add
      Src: /src/hostap/src/tls/libtommath.c:1830,1
    - Dst: mp_clamp
      Src: /src/hostap/src/tls/libtommath.c:1846,1
    - Dst: mp_exch
      Src: /src/hostap/src/tls/libtommath.c:1847,1
    - Dst: mp_div_2d
      Src: /src/hostap/src/tls/libtommath.c:1852,1
    - Dst: mp_exch
      Src: /src/hostap/src/tls/libtommath.c:1853,1
    - Dst: mp_clear
      Src: /src/hostap/src/tls/libtommath.c:1858,1
    - Dst: mp_clear
      Src: /src/hostap/src/tls/libtommath.c:1859,1
    - Dst: mp_clear
      Src: /src/hostap/src/tls/libtommath.c:1860,1
    - Dst: mp_clear
      Src: /src/hostap/src/tls/libtommath.c:1861,1
    - Dst: mp_clear
      Src: /src/hostap/src/tls/libtommath.c:1862,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 150
    argCount: 4
    argNames:
    - a
    - b
    - c
    - d
    argTypes:
    - mp_int*
    - mp_int*
    - mp_int*
    - mp_int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1864
      start: 1683
    functionDepth: 3
    functionLinenumber: 1683
    functionLinenumberEnd: 1864
    functionName: mp_div
    functionSourceFile: /src/hostap/src/tls/libtommath.c
    functionUses: 2
    functionsReached:
    - mp_div_2d
    - mp_zero
    - mp_init_size
    - mp_init_copy
    - mp_count_bits
    - mp_lshd
    - mp_exch
    - mp_rshd
    - mp_add
    - mp_iszero
    - mp_copy
    - mp_cmp
    - mp_mul_d
    - mp_cmp_mag
    - mp_clear
    - mp_mul_2d
    - mp_init
    - mp_clamp
    - mp_sub
    linkageType: ''
    returnType: int
    signature: int mp_div (mp_int * a, mp_int * b, mp_int * c, mp_int * d)
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: mp_count_bits
      Src: /src/hostap/src/tls/libtommath.c:1883,1
    - Dst: mp_init
      Src: /src/hostap/src/tls/libtommath.c:1908,1
    - Dst: mp_init
      Src: /src/hostap/src/tls/libtommath.c:1914,1
    - Dst: mp_clear
      Src: /src/hostap/src/tls/libtommath.c:1916,1
    - Dst: mp_clear
      Src: /src/hostap/src/tls/libtommath.c:1918,1
    - Dst: mp_init
      Src: /src/hostap/src/tls/libtommath.c:1924,1
    - Dst: mp_reduce_setup
      Src: /src/hostap/src/tls/libtommath.c:1929,1
    - Dst: mp_reduce_2k_setup_l
      Src: /src/hostap/src/tls/libtommath.c:1934,1
    - Dst: mp_mod
      Src: /src/hostap/src/tls/libtommath.c:1948,1
    - Dst: mp_copy
      Src: /src/hostap/src/tls/libtommath.c:1955,1
    - Dst: mp_sqr
      Src: /src/hostap/src/tls/libtommath.c:1961,1
    - Dst: redux
      Src: /src/hostap/src/tls/libtommath.c:1967,1
    - Dst: mp_mul
      Src: /src/hostap/src/tls/libtommath.c:1976,1
    - Dst: redux
      Src: /src/hostap/src/tls/libtommath.c:1979,1
    - Dst: mp_init
      Src: /src/hostap/src/tls/libtommath.c:1985,1
    - Dst: mp_set
      Src: /src/hostap/src/tls/libtommath.c:1988,1
    - Dst: mp_sqr
      Src: /src/hostap/src/tls/libtommath.c:2025,1
    - Dst: redux
      Src: /src/hostap/src/tls/libtommath.c:2028,1
    - Dst: mp_sqr
      Src: /src/hostap/src/tls/libtommath.c:2042,1
    - Dst: redux
      Src: /src/hostap/src/tls/libtommath.c:2045,1
    - Dst: mp_mul
      Src: /src/hostap/src/tls/libtommath.c:2051,1
    - Dst: redux
      Src: /src/hostap/src/tls/libtommath.c:2054,1
    - Dst: mp_sqr
      Src: /src/hostap/src/tls/libtommath.c:2069,1
    - Dst: redux
      Src: /src/hostap/src/tls/libtommath.c:2072,1
    - Dst: mp_mul
      Src: /src/hostap/src/tls/libtommath.c:2079,1
    - Dst: redux
      Src: /src/hostap/src/tls/libtommath.c:2082,1
    - Dst: mp_exch
      Src: /src/hostap/src/tls/libtommath.c:2089,1
    - Dst: mp_clear
      Src: /src/hostap/src/tls/libtommath.c:2091,1
    - Dst: mp_clear
      Src: /src/hostap/src/tls/libtommath.c:2092,1
    - Dst: mp_clear
      Src: /src/hostap/src/tls/libtommath.c:2094,1
    - Dst: mp_clear
      Src: /src/hostap/src/tls/libtommath.c:2096,1
    CyclomaticComplexity: 71
    EdgeCount: 71
    ICount: 181
    argCount: 5
    argNames:
    - G
    - X
    - P
    - Y
    - redmode
    argTypes:
    - mp_int*
    - mp_int*
    - mp_int*
    - mp_int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2099
      start: 1875
    functionDepth: 4
    functionLinenumber: 1875
    functionLinenumberEnd: 2099
    functionName: s_mp_exptmod
    functionSourceFile: /src/hostap/src/tls/libtommath.c
    functionUses: 0
    functionsReached:
    - mp_mod
    - mp_reduce_2k_setup_l
    - mp_copy
    - mp_count_bits
    - mp_sqr
    - mp_exch
    - mp_reduce_setup
    - redux
    - mp_set
    - mp_mul
    - mp_clear
    - mp_init
    linkageType: ''
    returnType: int
    signature: int s_mp_exptmod (mp_int * G, mp_int * X, mp_int * P, mp_int * Y, int
      redmode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mp_toom_sqr
      Src: /src/hostap/src/tls/libtommath.c:2110,1
    - Dst: mp_karatsuba_sqr
      Src: /src/hostap/src/tls/libtommath.c:2116,1
    - Dst: fast_s_mp_sqr
      Src: /src/hostap/src/tls/libtommath.c:2125,1
    - Dst: s_mp_sqr
      Src: /src/hostap/src/tls/libtommath.c:2129,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - mp_int*
    - mp_int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2137
      start: 2103
    functionDepth: 1
    functionLinenumber: 2103
    functionLinenumberEnd: 2137
    functionName: mp_sqr
    functionSourceFile: /src/hostap/src/tls/libtommath.c
    functionUses: 2
    functionsReached:
    - mp_karatsuba_sqr
    - mp_toom_sqr
    - s_mp_sqr
    - fast_s_mp_sqr
    linkageType: ''
    returnType: int
    signature: int mp_sqr (mp_int * a, mp_int * b)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mp_init
      Src: /src/hostap/src/tls/libtommath.c:2149,1
    - Dst: mp_count_bits
      Src: /src/hostap/src/tls/libtommath.c:2153,1
    - Dst: mp_div_2d
      Src: /src/hostap/src/tls/libtommath.c:2156,1
    - Dst: mp_mul
      Src: /src/hostap/src/tls/libtommath.c:2161,1
    - Dst: s_mp_add
      Src: /src/hostap/src/tls/libtommath.c:2166,1
    - Dst: mp_cmp_mag
      Src: /src/hostap/src/tls/libtommath.c:2170,1
    - Dst: s_mp_sub
      Src: /src/hostap/src/tls/libtommath.c:2171,1
    - Dst: mp_clear
      Src: /src/hostap/src/tls/libtommath.c:2176,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 3
    argNames:
    - a
    - n
    - d
    argTypes:
    - mp_int*
    - mp_int*
    - mp_int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2178
      start: 2144
    functionDepth: 2
    functionLinenumber: 2144
    functionLinenumberEnd: 2178
    functionName: mp_reduce_2k_l
    functionSourceFile: /src/hostap/src/tls/libtommath.c
    functionUses: 0
    functionsReached:
    - s_mp_add
    - mp_div_2d
    - mp_count_bits
    - mp_cmp_mag
    - mp_mul
    - mp_clear
    - mp_init
    - s_mp_sub
    linkageType: ''
    returnType: int
    signature: int mp_reduce_2k_l(mp_int *a, mp_int *n, mp_int *d)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mp_init
      Src: /src/hostap/src/tls/libtommath.c:2187,1
    - Dst: mp_2expt
      Src: /src/hostap/src/tls/libtommath.c:2191,1
    - Dst: mp_count_bits
      Src: /src/hostap/src/tls/libtommath.c:2191,1
    - Dst: s_mp_sub
      Src: /src/hostap/src/tls/libtommath.c:2195,1
    - Dst: mp_clear
      Src: /src/hostap/src/tls/libtommath.c:2200,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - a
    - d
    argTypes:
    - mp_int*
    - mp_int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2202
      start: 2182
    functionDepth: 2
    functionLinenumber: 2182
    functionLinenumberEnd: 2202
    functionName: mp_reduce_2k_setup_l
    functionSourceFile: /src/hostap/src/tls/libtommath.c
    functionUses: 1
    functionsReached:
    - mp_2expt
    - mp_count_bits
    - mp_clear
    - mp_init
    - s_mp_sub
    linkageType: ''
    returnType: int
    signature: int mp_reduce_2k_setup_l(mp_int *a, mp_int *d)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mp_zero
      Src: /src/hostap/src/tls/libtommath.c:2215,1
    - Dst: mp_grow
      Src: /src/hostap/src/tls/libtommath.c:2218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - mp_int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2229
      start: 2210
    functionDepth: 1
    functionLinenumber: 2210
    functionLinenumberEnd: 2229
    functionName: mp_2expt
    functionSourceFile: /src/hostap/src/tls/libtommath.c
    functionUses: 1
    functionsReached:
    - mp_zero
    - mp_grow
    linkageType: ''
    returnType: int
    signature: int mp_2expt (mp_int * a, int b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mp_2expt
      Src: /src/hostap/src/tls/libtommath.c:2239,1
    - Dst: mp_div
      Src: /src/hostap/src/tls/libtommath.c:2242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - mp_int*
    - mp_int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2243
      start: 2235
    functionDepth: 4
    functionLinenumber: 2235
    functionLinenumberEnd: 2243
    functionName: mp_reduce_setup
    functionSourceFile: /src/hostap/src/tls/libtommath.c
    functionUses: 1
    functionsReached:
    - mp_2expt
    - mp_div
    linkageType: ''
    returnType: int
    signature: int mp_reduce_setup (mp_int * a, mp_int * b)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: mp_init_copy
      Src: /src/hostap/src/tls/libtommath.c:2256,1
    - Dst: mp_rshd
      Src: /src/hostap/src/tls/libtommath.c:2261,1
    - Dst: mp_mul
      Src: /src/hostap/src/tls/libtommath.c:2265,1
    - Dst: s_mp_mul_high_digs
      Src: /src/hostap/src/tls/libtommath.c:2270,1
    - Dst: fast_s_mp_mul_high_digs
      Src: /src/hostap/src/tls/libtommath.c:2274,1
    - Dst: mp_rshd
      Src: /src/hostap/src/tls/libtommath.c:2287,1
    - Dst: mp_mod_2d
      Src: /src/hostap/src/tls/libtommath.c:2290,1
    - Dst: s_mp_mul_digs
      Src: /src/hostap/src/tls/libtommath.c:2295,1
    - Dst: mp_sub
      Src: /src/hostap/src/tls/libtommath.c:2300,1
    - Dst: mp_cmp_d
      Src: /src/hostap/src/tls/libtommath.c:2305,1
    - Dst: mp_set
      Src: /src/hostap/src/tls/libtommath.c:2306,1
    - Dst: mp_lshd
      Src: /src/hostap/src/tls/libtommath.c:2307,1
    - Dst: mp_add
      Src: /src/hostap/src/tls/libtommath.c:2310,1
    - Dst: mp_cmp
      Src: /src/hostap/src/tls/libtommath.c:2316,1
    - Dst: s_mp_sub
      Src: /src/hostap/src/tls/libtommath.c:2317,1
    - Dst: mp_clear
      Src: /src/hostap/src/tls/libtommath.c:2323,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 58
    argCount: 3
    argNames:
    - x
    - m
    - mu
    argTypes:
    - mp_int*
    - mp_int*
    - mp_int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2326
      start: 2250
    functionDepth: 3
    functionLinenumber: 2250
    functionLinenumberEnd: 2326
    functionName: mp_reduce
    functionSourceFile: /src/hostap/src/tls/libtommath.c
    functionUses: 0
    functionsReached:
    - mp_cmp_d
    - mp_init_copy
    - mp_mod_2d
    - fast_s_mp_mul_high_digs
    - mp_cmp
    - mp_add
    - mp_lshd
    - s_mp_mul_high_digs
    - mp_set
    - mp_mul
    - mp_rshd
    - mp_clear
    - s_mp_mul_digs
    - mp_sub
    - s_mp_sub
    linkageType: ''
    returnType: int
    signature: int mp_reduce (mp_int * x, mp_int * m, mp_int * mu)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/hostap/src/tls/libtommath.c:2344,1
    - Dst: fast_s_mp_mul_digs
      Src: /src/hostap/src/tls/libtommath.c:2346,1
    - Dst: mp_init_size
      Src: /src/hostap/src/tls/libtommath.c:2350,1
    - Dst: MIN
      Src: /src/hostap/src/tls/libtommath.c:2362,1
    - Dst: mp_clamp
      Src: /src/hostap/src/tls/libtommath.c:2393,1
    - Dst: mp_exch
      Src: /src/hostap/src/tls/libtommath.c:2394,1
    - Dst: mp_clear
      Src: /src/hostap/src/tls/libtommath.c:2396,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 4
    argNames:
    - a
    - b
    - c
    - digs
    argTypes:
    - mp_int*
    - mp_int*
    - mp_int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2398
      start: 2333
    functionDepth: 1
    functionLinenumber: 2333
    functionLinenumberEnd: 2398
    functionName: s_mp_mul_digs
    functionSourceFile: /src/hostap/src/tls/libtommath.c
    functionUses: 3
    functionsReached:
    - mp_init_size
    - mp_exch
    - fast_s_mp_mul_digs
    - MIN
    - mp_clear
    - mp_clamp
    linkageType: ''
    returnType: int
    signature: int s_mp_mul_digs (mp_int * a, mp_int * b, mp_int * c, int digs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mp_grow
      Src: /src/hostap/src/tls/libtommath.c:2426,1
    - Dst: MIN
      Src: /src/hostap/src/tls/libtommath.c:2432,1
    - Dst: os_memset
      Src: /src/hostap/src/tls/libtommath.c:2436,1
    - Dst: MIN
      Src: /src/hostap/src/tls/libtommath.c:2443,1
    - Dst: MIN
      Src: /src/hostap/src/tls/libtommath.c:2453,1
    - Dst: mp_clamp
      Src: /src/hostap/src/tls/libtommath.c:2485,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 4
    argNames:
    - a
    - b
    - c
    - digs
    argTypes:
    - mp_int*
    - mp_int*
    - mp_int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2487
      start: 2418
    functionDepth: 1
    functionLinenumber: 2418
    functionLinenumberEnd: 2487
    functionName: fast_s_mp_mul_digs
    functionSourceFile: /src/hostap/src/tls/libtommath.c
    functionUses: 2
    functionsReached:
    - mp_grow
    - MIN
    - mp_clamp
    - os_memset
    linkageType: ''
    returnType: int
    signature: int fast_s_mp_mul_digs (mp_int * a, mp_int * b, mp_int * c, int digs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPT_CAST
      Src: /src/hostap/src/tls/libtommath.c:2500,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - a
    - size
    argTypes:
    - mp_int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2516
      start: 2492
    functionDepth: 0
    functionLinenumber: 2492
    functionLinenumberEnd: 2516
    functionName: mp_init_size
    functionSourceFile: /src/hostap/src/tls/libtommath.c
    functionUses: 2
    functionsReached:
    - OPT_CAST
    linkageType: ''
    returnType: int
    signature: int mp_init_size (mp_int * a, int size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mp_init_size
      Src: /src/hostap/src/tls/libtommath.c:2528,1
    - Dst: mp_clamp
      Src: /src/hostap/src/tls/libtommath.c:2576,1
    - Dst: mp_exch
      Src: /src/hostap/src/tls/libtommath.c:2577,1
    - Dst: mp_clear
      Src: /src/hostap/src/tls/libtommath.c:2578,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - mp_int*
    - mp_int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2580
      start: 2520
    functionDepth: 1
    functionLinenumber: 2520
    functionLinenumberEnd: 2580
    functionName: s_mp_sqr
    functionSourceFile: /src/hostap/src/tls/libtommath.c
    functionUses: 1
    functionsReached:
    - mp_init_size
    - mp_clear
    - mp_clamp
    - mp_exch
    linkageType: ''
    returnType: int
    signature: int s_mp_sqr (mp_int * a, mp_int * b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/hostap/src/tls/libtommath.c:2597,1
    - Dst: fast_s_mp_mul_high_digs
      Src: /src/hostap/src/tls/libtommath.c:2598,1
    - Dst: mp_init_size
      Src: /src/hostap/src/tls/libtommath.c:2602,1
    - Dst: mp_clamp
      Src: /src/hostap/src/tls/libtommath.c:2636,1
    - Dst: mp_exch
      Src: /src/hostap/src/tls/libtommath.c:2637,1
    - Dst: mp_clear
      Src: /src/hostap/src/tls/libtommath.c:2638,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 4
    argNames:
    - a
    - b
    - c
    - digs
    argTypes:
    - mp_int*
    - mp_int*
    - mp_int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2640
      start: 2586
    functionDepth: 1
    functionLinenumber: 2586
    functionLinenumberEnd: 2640
    functionName: s_mp_mul_high_digs
    functionSourceFile: /src/hostap/src/tls/libtommath.c
    functionUses: 2
    functionsReached:
    - mp_init_size
    - fast_s_mp_mul_high_digs
    - mp_exch
    - MIN
    - mp_clear
    - mp_clamp
    linkageType: ''
    returnType: int
    signature: int s_mp_mul_high_digs (mp_int * a, mp_int * b, mp_int * c, int digs)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - n
    - rho
    argTypes:
    - mp_int*
    - mp_digit*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2680
      start: 2645
    functionDepth: 0
    functionLinenumber: 2645
    functionLinenumberEnd: 2680
    functionName: mp_montgomery_setup
    functionSourceFile: /src/hostap/src/tls/libtommath.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mp_montgomery_setup (mp_int * n, mp_digit * rho)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mp_grow
      Src: /src/hostap/src/tls/libtommath.c:2703,1
    - Dst: mp_clamp
      Src: /src/hostap/src/tls/libtommath.c:2827,1
    - Dst: mp_cmp_mag
      Src: /src/hostap/src/tls/libtommath.c:2830,1
    - Dst: s_mp_sub
      Src: /src/hostap/src/tls/libtommath.c:2831,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 46
    argCount: 3
    argNames:
    - x
    - n
    - rho
    argTypes:
    - mp_int*
    - mp_int*
    - mp_digit
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2834
      start: 2693
    functionDepth: 2
    functionLinenumber: 2693
    functionLinenumberEnd: 2834
    functionName: fast_mp_montgomery_reduce
    functionSourceFile: /src/hostap/src/tls/libtommath.c
    functionUses: 0
    functionsReached:
    - mp_grow
    - mp_clamp
    - mp_cmp_mag
    - s_mp_sub
    linkageType: ''
    returnType: int
    signature: int fast_mp_montgomery_reduce (mp_int * x, mp_int * n, mp_digit rho)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mp_grow
      Src: /src/hostap/src/tls/libtommath.c:2846,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - mp_int*
    - mp_int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2898
      start: 2840
    functionDepth: 1
    functionLinenumber: 2840
    functionLinenumberEnd: 2898
    functionName: mp_mul_2
    functionSourceFile: /src/hostap/src/tls/libtommath.c
    functionUses: 0
    functionsReached:
    - mp_grow
    linkageType: ''
    returnType: int
    signature: int mp_mul_2(mp_int * a, mp_int * b)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mp_count_bits
      Src: /src/hostap/src/tls/libtommath.c:2914,1
    - Dst: mp_2expt
      Src: /src/hostap/src/tls/libtommath.c:2917,1
    - Dst: mp_set
      Src: /src/hostap/src/tls/libtommath.c:2921,1
    - Dst: mp_mul_2
      Src: /src/hostap/src/tls/libtommath.c:2928,1
    - Dst: mp_cmp_mag
      Src: /src/hostap/src/tls/libtommath.c:2931,1
    - Dst: s_mp_sub
      Src: /src/hostap/src/tls/libtommath.c:2932,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - mp_int*
    - mp_int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2939
      start: 2909
    functionDepth: 2
    functionLinenumber: 2909
    functionLinenumberEnd: 2939
    functionName: mp_montgomery_calc_normalization
    functionSourceFile: /src/hostap/src/tls/libtommath.c
    functionUses: 1
    functionsReached:
    - mp_2expt
    - mp_mul_2
    - mp_count_bits
    - mp_cmp_mag
    - mp_set
    - s_mp_sub
    linkageType: ''
    returnType: int
    signature: int mp_montgomery_calc_normalization (mp_int * a, mp_int * b)
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: mp_count_bits
      Src: /src/hostap/src/tls/libtommath.c:2965,1
    - Dst: mp_init
      Src: /src/hostap/src/tls/libtommath.c:2990,1
    - Dst: mp_init
      Src: /src/hostap/src/tls/libtommath.c:2996,1
    - Dst: mp_clear
      Src: /src/hostap/src/tls/libtommath.c:2998,1
    - Dst: mp_clear
      Src: /src/hostap/src/tls/libtommath.c:3000,1
    - Dst: mp_montgomery_setup
      Src: /src/hostap/src/tls/libtommath.c:3009,1
    - Dst: mp_dr_setup
      Src: /src/hostap/src/tls/libtommath.c:3036,1
    - Dst: mp_reduce_2k_setup
      Src: /src/hostap/src/tls/libtommath.c:3045,1
    - Dst: mp_init
      Src: /src/hostap/src/tls/libtommath.c:3056,1
    - Dst: mp_montgomery_calc_normalization
      Src: /src/hostap/src/tls/libtommath.c:3070,1
    - Dst: mp_mulmod
      Src: /src/hostap/src/tls/libtommath.c:3079,1
    - Dst: mp_set
      Src: /src/hostap/src/tls/libtommath.c:3083,1
    - Dst: mp_mod
      Src: /src/hostap/src/tls/libtommath.c:3084,1
    - Dst: mp_copy
      Src: /src/hostap/src/tls/libtommath.c:3090,1
    - Dst: mp_sqr
      Src: /src/hostap/src/tls/libtommath.c:3095,1
    - Dst: redux
      Src: /src/hostap/src/tls/libtommath.c:3098,1
    - Dst: mp_mul
      Src: /src/hostap/src/tls/libtommath.c:3105,1
    - Dst: redux
      Src: /src/hostap/src/tls/libtommath.c:3108,1
    - Dst: mp_sqr
      Src: /src/hostap/src/tls/libtommath.c:3148,1
    - Dst: redux
      Src: /src/hostap/src/tls/libtommath.c:3151,1
    - Dst: mp_sqr
      Src: /src/hostap/src/tls/libtommath.c:3165,1
    - Dst: redux
      Src: /src/hostap/src/tls/libtommath.c:3168,1
    - Dst: mp_mul
      Src: /src/hostap/src/tls/libtommath.c:3174,1
    - Dst: redux
      Src: /src/hostap/src/tls/libtommath.c:3177,1
    - Dst: mp_sqr
      Src: /src/hostap/src/tls/libtommath.c:3192,1
    - Dst: redux
      Src: /src/hostap/src/tls/libtommath.c:3195,1
    - Dst: mp_mul
      Src: /src/hostap/src/tls/libtommath.c:3203,1
    - Dst: redux
      Src: /src/hostap/src/tls/libtommath.c:3206,1
    - Dst: redux
      Src: /src/hostap/src/tls/libtommath.c:3220,1
    - Dst: mp_exch
      Src: /src/hostap/src/tls/libtommath.c:3226,1
    - Dst: mp_clear
      Src: /src/hostap/src/tls/libtommath.c:3228,1
    - Dst: mp_clear
      Src: /src/hostap/src/tls/libtommath.c:3230,1
    - Dst: mp_clear
      Src: /src/hostap/src/tls/libtommath.c:3232,1
    CyclomaticComplexity: 87
    EdgeCount: 87
    ICount: 214
    argCount: 5
    argNames:
    - G
    - X
    - P
    - Y
    - redmode
    argTypes:
    - mp_int*
    - mp_int*
    - mp_int*
    - mp_int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3235
      start: 2952
    functionDepth: 4
    functionLinenumber: 2952
    functionLinenumberEnd: 3235
    functionName: mp_exptmod_fast
    functionSourceFile: /src/hostap/src/tls/libtommath.c
    functionUses: 0
    functionsReached:
    - mp_reduce_2k_setup
    - mp_mod
    - mp_copy
    - mp_count_bits
    - mp_sqr
    - mp_mulmod
    - mp_dr_setup
    - mp_exch
    - mp_montgomery_setup
    - mp_set
    - redux
    - mp_mul
    - mp_clear
    - mp_init
    - mp_montgomery_calc_normalization
    linkageType: ''
    returnType: int
    signature: int mp_exptmod_fast (mp_int * G, mp_int * X, mp_int * P, mp_int * Y,
      int redmode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mp_grow
      Src: /src/hostap/src/tls/libtommath.c:3259,1
    - Dst: MIN
      Src: /src/hostap/src/tls/libtommath.c:3275,1
    - Dst: MIN
      Src: /src/hostap/src/tls/libtommath.c:3285,1
    - Dst: MIN
      Src: /src/hostap/src/tls/libtommath.c:3291,1
    - Dst: mp_clamp
      Src: /src/hostap/src/tls/libtommath.c:3329,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - mp_int*
    - mp_int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3331
      start: 3250
    functionDepth: 1
    functionLinenumber: 3250
    functionLinenumberEnd: 3331
    functionName: fast_s_mp_sqr
    functionSourceFile: /src/hostap/src/tls/libtommath.c
    functionUses: 1
    functionsReached:
    - mp_grow
    - MIN
    - mp_clamp
    linkageType: ''
    returnType: int
    signature: int fast_s_mp_sqr (mp_int * a, mp_int * b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mp_grow
      Src: /src/hostap/src/tls/libtommath.c:3346,1
    - Dst: mp_clamp
      Src: /src/hostap/src/tls/libtommath.c:3389,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - a
    - b
    - c
    argTypes:
    - mp_int*
    - mp_digit
    - mp_int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3392
      start: 3337
    functionDepth: 1
    functionLinenumber: 3337
    functionLinenumberEnd: 3392
    functionName: mp_mul_d
    functionSourceFile: /src/hostap/src/tls/libtommath.c
    functionUses: 1
    functionsReached:
    - mp_grow
    - mp_clamp
    linkageType: ''
    returnType: int
    signature: int mp_mul_d (mp_int * a, mp_digit b, mp_int * c)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_record.c:36,1
    - Dst: tls_get_cipher_suite
      Src: /src/hostap/src/tls/tlsv1_record.c:40,1
    - Dst: tls_get_cipher_data
      Src: /src/hostap/src/tls/tlsv1_record.c:55,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - rl
    - cipher_suite
    argTypes:
    - struct tlsv1_record_layer*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 64
    functionName: tlsv1_record_set_cipher_suite
    functionSourceFile: /src/hostap/src/tls/tlsv1_record.c
    functionUses: 3
    functionsReached:
    - tls_get_cipher_suite
    - wpa_printf
    - tls_get_cipher_data
    linkageType: ''
    returnType: int
    signature: "int tlsv1_record_set_cipher_suite(struct tlsv1_record_layer *rl,\n\t\t\t\t
      \ u16 cipher_suite)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_record.c:77,1
    - Dst: os_memset
      Src: /src/hostap/src/tls/tlsv1_record.c:80,1
    - Dst: crypto_cipher_deinit
      Src: /src/hostap/src/tls/tlsv1_record.c:83,1
    - Dst: crypto_cipher_init
      Src: /src/hostap/src/tls/tlsv1_record.c:87,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_record.c:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - rl
    argTypes:
    - struct tlsv1_record_layer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 98
    functionName: tlsv1_record_change_write_cipher
    functionSourceFile: /src/hostap/src/tls/tlsv1_record.c
    functionUses: 3
    functionsReached:
    - wpa_printf
    - crypto_cipher_deinit
    - crypto_cipher_init
    - os_memset
    linkageType: ''
    returnType: int
    signature: int tlsv1_record_change_write_cipher(struct tlsv1_record_layer *rl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_record.c:111,1
    - Dst: os_memset
      Src: /src/hostap/src/tls/tlsv1_record.c:114,1
    - Dst: crypto_cipher_deinit
      Src: /src/hostap/src/tls/tlsv1_record.c:117,1
    - Dst: crypto_cipher_init
      Src: /src/hostap/src/tls/tlsv1_record.c:121,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_record.c:125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - rl
    argTypes:
    - struct tlsv1_record_layer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 132
    functionName: tlsv1_record_change_read_cipher
    functionSourceFile: /src/hostap/src/tls/tlsv1_record.c
    functionUses: 3
    functionsReached:
    - wpa_printf
    - crypto_cipher_deinit
    - crypto_cipher_init
    - os_memset
    linkageType: ''
    returnType: int
    signature: int tlsv1_record_change_read_cipher(struct tlsv1_record_layer *rl)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/tls/tlsv1_record.c:167,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/tls/tlsv1_record.c:171,1
    - Dst: os_get_random
      Src: /src/hostap/src/tls/tlsv1_record.c:187,1
    - Dst: os_memmove
      Src: /src/hostap/src/tls/tlsv1_record.c:198,1
    - Dst: crypto_hash_init
      Src: /src/hostap/src/tls/tlsv1_record.c:207,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_record.c:210,1
    - Dst: crypto_hash_update
      Src: /src/hostap/src/tls/tlsv1_record.c:214,1
    - Dst: crypto_hash_update
      Src: /src/hostap/src/tls/tlsv1_record.c:216,1
    - Dst: crypto_hash_update
      Src: /src/hostap/src/tls/tlsv1_record.c:217,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_record.c:220,1
    - Dst: crypto_hash_finish
      Src: /src/hostap/src/tls/tlsv1_record.c:222,1
    - Dst: crypto_hash_finish
      Src: /src/hostap/src/tls/tlsv1_record.c:226,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_record.c:227,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/tlsv1_record.c:231,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_record.c:241,1
    - Dst: os_memset
      Src: /src/hostap/src/tls/tlsv1_record.c:245,1
    - Dst: crypto_cipher_encrypt
      Src: /src/hostap/src/tls/tlsv1_record.c:249,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/tls/tlsv1_record.c:254,1
    - Dst: inc_byte_array
      Src: /src/hostap/src/tls/tlsv1_record.c:255,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 63
    argCount: 7
    argNames:
    - rl
    - content_type
    - buf
    - buf_size
    - payload
    - payload_len
    - out_len
    argTypes:
    - struct tlsv1_record_layer*
    - u8
    - u8*
    - size_t
    - u8*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 260
    functionName: tlsv1_record_send
    functionSourceFile: /src/hostap/src/tls/tlsv1_record.c
    functionUses: 12
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    - crypto_hash_init
    - inc_byte_array
    - os_get_random
    - WPA_PUT_BE16
    - os_memmove
    - crypto_hash_update
    - crypto_hash_finish
    - crypto_cipher_encrypt
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int tlsv1_record_send(struct tlsv1_record_layer *rl, u8 content_type,
      u8 *buf,\n\t\t      size_t buf_size, const u8 *payload, size_t payload_len,\n\t\t
      \     size_t *out_len)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_record.c:290,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/tlsv1_record.c:293,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/tls/tlsv1_record.c:299,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_record.c:300,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_record.c:309,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_record.c:317,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_record.c:327,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/tlsv1_record.c:333,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_record.c:340,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_record.c:349,1
    - Dst: crypto_cipher_decrypt
      Src: /src/hostap/src/tls/tlsv1_record.c:357,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/tls/tlsv1_record.c:363,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_record.c:381,1
    - Dst: os_memmove
      Src: /src/hostap/src/tls/tlsv1_record.c:386,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_record.c:393,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_record.c:400,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/tlsv1_record.c:409,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/tls/tlsv1_record.c:421,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_record.c:428,1
    - Dst: crypto_hash_init
      Src: /src/hostap/src/tls/tlsv1_record.c:436,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_record.c:439,1
    - Dst: crypto_hash_update
      Src: /src/hostap/src/tls/tlsv1_record.c:445,1
    - Dst: crypto_hash_update
      Src: /src/hostap/src/tls/tlsv1_record.c:447,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/tls/tlsv1_record.c:448,1
    - Dst: crypto_hash_update
      Src: /src/hostap/src/tls/tlsv1_record.c:449,1
    - Dst: crypto_hash_update
      Src: /src/hostap/src/tls/tlsv1_record.c:450,1
    - Dst: crypto_hash_finish
      Src: /src/hostap/src/tls/tlsv1_record.c:452,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_record.c:453,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/tls/tlsv1_record.c:459,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_record.c:461,1
    - Dst: os_memcpy
      Src: /src/hostap/src/tls/tlsv1_record.c:470,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_record.c:476,1
    - Dst: inc_byte_array
      Src: /src/hostap/src/tls/tlsv1_record.c:482,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 121
    argCount: 6
    argNames:
    - rl
    - in_data
    - in_len
    - out_data
    - out_len
    - alert
    argTypes:
    - struct tlsv1_record_layer*
    - u8*
    - size_t
    - u8*
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 485
    functionName: tlsv1_record_receive
    functionSourceFile: /src/hostap/src/tls/tlsv1_record.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - WPA_GET_BE16
    - wpa_hexdump_key
    - os_memcpy
    - wpa_hexdump
    - crypto_hash_init
    - inc_byte_array
    - os_memmove
    - WPA_PUT_BE16
    - crypto_hash_update
    - os_memcmp_const
    - crypto_hash_finish
    - crypto_cipher_decrypt
    linkageType: ''
    returnType: int
    signature: "int tlsv1_record_receive(struct tlsv1_record_layer *rl,\n\t\t\t const
      u8 *in_data, size_t in_len,\n\t\t\t u8 *out_data, size_t *out_len, u8 *alert)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - conn
    - level
    - description
    argTypes:
    - struct tlsv1_client*
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: tls_alert
    functionSourceFile: /src/hostap/src/tls/tlsv1_client.c
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tls_alert(struct tlsv1_client *conn, u8 level, u8 description)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_client.c:34,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_client.c:35,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_client.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct tlsv1_client*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 38
    functionName: tlsv1_client_free_dh
    functionSourceFile: /src/hostap/src/tls/tlsv1_client.c
    functionUses: 2
    functionsReached:
    - os_free
    linkageType: ''
    returnType: void
    signature: void tlsv1_client_free_dh(struct tlsv1_client *conn)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct tlsv1_client*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 61
    functionName: tls_client_highest_ver
    functionSourceFile: /src/hostap/src/tls/tlsv1_client.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: u16
    signature: u16 tls_client_highest_ver(struct tlsv1_client *conn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/tls/tlsv1_client.c:67,1
    - Dst: tls_client_highest_ver
      Src: /src/hostap/src/tls/tlsv1_client.c:67,1
    - Dst: os_get_random
      Src: /src/hostap/src/tls/tlsv1_client.c:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - conn
    - pre_master_secret
    argTypes:
    - struct tlsv1_client*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 72
    functionName: tls_derive_pre_master_secret
    functionSourceFile: /src/hostap/src/tls/tlsv1_client.c
    functionUses: 1
    functionsReached:
    - tls_client_highest_ver
    - os_get_random
    - WPA_PUT_BE16
    linkageType: ''
    returnType: int
    signature: "int tls_derive_pre_master_secret(struct tlsv1_client *conn,\n\t\t\t\t
      u8 *pre_master_secret)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/tls/tlsv1_client.c:84,1
    - Dst: os_memcpy
      Src: /src/hostap/src/tls/tlsv1_client.c:86,1
    - Dst: os_memcpy
      Src: /src/hostap/src/tls/tlsv1_client.c:87,1
    - Dst: tls_prf
      Src: /src/hostap/src/tls/tlsv1_client.c:89,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client.c:93,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/tls/tlsv1_client.c:97,1
    - Dst: os_memcpy
      Src: /src/hostap/src/tls/tlsv1_client.c:101,1
    - Dst: os_memcpy
      Src: /src/hostap/src/tls/tlsv1_client.c:102,1
    - Dst: tls_prf
      Src: /src/hostap/src/tls/tlsv1_client.c:106,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client.c:110,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/tls/tlsv1_client.c:113,1
    - Dst: os_memcpy
      Src: /src/hostap/src/tls/tlsv1_client.c:119,1
    - Dst: os_memcpy
      Src: /src/hostap/src/tls/tlsv1_client.c:122,1
    - Dst: os_memcpy
      Src: /src/hostap/src/tls/tlsv1_client.c:126,1
    - Dst: os_memcpy
      Src: /src/hostap/src/tls/tlsv1_client.c:129,1
    - Dst: os_memcpy
      Src: /src/hostap/src/tls/tlsv1_client.c:134,1
    - Dst: os_memcpy
      Src: /src/hostap/src/tls/tlsv1_client.c:137,1
    - Dst: os_memset
      Src: /src/hostap/src/tls/tlsv1_client.c:144,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 38
    argCount: 3
    argNames:
    - conn
    - pre_master_secret
    - pre_master_secret_len
    argTypes:
    - struct tlsv1_client*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 75
    functionDepth: 3
    functionLinenumber: 75
    functionLinenumberEnd: 148
    functionName: tls_derive_keys
    functionSourceFile: /src/hostap/src/tls/tlsv1_client.c
    functionUses: 3
    functionsReached:
    - wpa_printf
    - wpa_hexdump_key
    - os_memcpy
    - tls_prf
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int tls_derive_keys(struct tlsv1_client *conn,\n\t\t    const u8 *pre_master_secret,
      size_t pre_master_secret_len)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: tls_send_client_hello
      Src: /src/hostap/src/tls/tlsv1_client.c:180,1
    - Dst: wpabuf_resize
      Src: /src/hostap/src/tls/tlsv1_client.c:184,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client.c:185,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client.c:187,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/tls/tlsv1_client.c:191,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/tls/tlsv1_client.c:192,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/tls/tlsv1_client.c:193,1
    - Dst: os_malloc
      Src: /src/hostap/src/tls/tlsv1_client.c:201,1
    - Dst: tlsv1_record_receive
      Src: /src/hostap/src/tls/tlsv1_client.c:208,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client.c:211,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client.c:213,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client.c:218,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/tls/tlsv1_client.c:219,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/tls/tlsv1_client.c:220,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client.c:223,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client.c:226,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_client.c:230,1
    - Dst: tlsv1_client_process_handshake
      Src: /src/hostap/src/tls/tlsv1_client.c:244,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_client.c:255,1
    - Dst: tlsv1_client_handshake_write
      Src: /src/hostap/src/tls/tlsv1_client.c:259,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_client.c:262,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/tls/tlsv1_client.c:264,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_client.c:267,1
    - Dst: tlsv1_client_send_alert
      Src: /src/hostap/src/tls/tlsv1_client.c:268,1
    - Dst: os_zalloc
      Src: /src/hostap/src/tls/tlsv1_client.c:272,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/tls/tlsv1_client.c:277,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 86
    argCount: 7
    argNames:
    - conn
    - in_data
    - in_len
    - out_len
    - appl_data
    - appl_data_len
    - need_more_data
    argTypes:
    - struct tlsv1_client*
    - u8*
    - size_t
    - size_t*
    - u8**
    - size_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 163
    functionDepth: 16
    functionLinenumber: 163
    functionLinenumberEnd: 282
    functionName: tlsv1_client_handshake
    functionSourceFile: /src/hostap/src/tls/tlsv1_client.c
    functionUses: 1
    functionsReached:
    - tls_alert
    - wpa_printf
    - wpabuf_resize
    - wpabuf_put_data
    - tlsv1_client_process_handshake
    - wpabuf_len
    - wpabuf_free
    - os_malloc
    - wpabuf_alloc_copy
    - wpabuf_head
    - tlsv1_record_receive
    - os_zalloc
    - tlsv1_client_handshake_write
    - os_free
    - tls_send_client_hello
    - tlsv1_client_send_alert
    linkageType: ''
    returnType: u8
    signature: "u8 * tlsv1_client_handshake(struct tlsv1_client *conn,\n\t\t\t    const
      u8 *in_data, size_t in_len,\n\t\t\t    size_t *out_len, u8 **appl_data,\n\t\t\t
      \   size_t *appl_data_len, int *need_more_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/tls/tlsv1_client.c:303,1
    - Dst: tlsv1_record_send
      Src: /src/hostap/src/tls/tlsv1_client.c:306,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client.c:308,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client.c:309,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - conn
    - in_data
    - in_len
    - out_data
    - out_len
    argTypes:
    - struct tlsv1_client*
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 297
    functionDepth: 2
    functionLinenumber: 297
    functionLinenumberEnd: 315
    functionName: tlsv1_client_encrypt
    functionSourceFile: /src/hostap/src/tls/tlsv1_client.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpa_hexdump_key
    - tlsv1_record_send
    - tls_alert
    linkageType: ''
    returnType: int
    signature: "int tlsv1_client_encrypt(struct tlsv1_client *conn,\n\t\t\t const
      u8 *in_data, size_t in_len,\n\t\t\t u8 *out_data, size_t out_len)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_resize
      Src: /src/hostap/src/tls/tlsv1_client.c:344,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client.c:345,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/tls/tlsv1_client.c:350,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/tls/tlsv1_client.c:351,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/tls/tlsv1_client.c:352,1
    - Dst: wpabuf_resize
      Src: /src/hostap/src/tls/tlsv1_client.c:360,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/tls/tlsv1_client.c:364,1
    - Dst: wpabuf_tailroom
      Src: /src/hostap/src/tls/tlsv1_client.c:365,1
    - Dst: tlsv1_record_receive
      Src: /src/hostap/src/tls/tlsv1_client.c:366,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client.c:369,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client.c:375,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/tls/tlsv1_client.c:376,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/tls/tlsv1_client.c:377,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client.c:380,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client.c:393,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client.c:398,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client.c:411,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/tls/tlsv1_client.c:418,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/tls/tlsv1_client.c:423,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/tls/tlsv1_client.c:428,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/tls/tlsv1_client.c:429,1
    - Dst: tls_alert
      Src: /src/hostap/src/tls/tlsv1_client.c:431,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 81
    argCount: 4
    argNames:
    - conn
    - in_data
    - in_len
    - need_more_data
    argTypes:
    - struct tlsv1_client*
    - u8*
    - size_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 330
    functionDepth: 2
    functionLinenumber: 330
    functionLinenumberEnd: 433
    functionName: tlsv1_client_decrypt
    functionSourceFile: /src/hostap/src/tls/tlsv1_client.c
    functionUses: 1
    functionsReached:
    - tls_alert
    - wpa_printf
    - wpabuf_put
    - wpabuf_resize
    - wpabuf_put_data
    - wpabuf_len
    - wpabuf_free
    - wpabuf_alloc_copy
    - wpabuf_head
    - wpabuf_tailroom
    - tlsv1_record_receive
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * tlsv1_client_decrypt(struct tlsv1_client *conn,\n\t\t\t\t
      \    const u8 *in_data, size_t in_len,\n\t\t\t\t     int *need_more_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_global_init
      Src: /src/hostap/src/tls/tlsv1_client.c:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 445
    functionName: tlsv1_client_global_init
    functionSourceFile: /src/hostap/src/tls/tlsv1_client.c
    functionUses: 1
    functionsReached:
    - crypto_global_init
    linkageType: ''
    returnType: int
    signature: int tlsv1_client_global_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_global_deinit
      Src: /src/hostap/src/tls/tlsv1_client.c:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 458
    functionName: tlsv1_client_global_deinit
    functionSourceFile: /src/hostap/src/tls/tlsv1_client.c
    functionUses: 1
    functionsReached:
    - crypto_global_deinit
    linkageType: ''
    returnType: void
    signature: void tlsv1_client_global_deinit(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/tls/tlsv1_client.c:471,1
    - Dst: tls_verify_hash_init
      Src: /src/hostap/src/tls/tlsv1_client.c:477,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client.c:478,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_client.c:480,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 465
    functionDepth: 2
    functionLinenumber: 465
    functionLinenumberEnd: 503
    functionName: tlsv1_client_init
    functionSourceFile: /src/hostap/src/tls/tlsv1_client.c
    functionUses: 1
    functionsReached:
    - tls_verify_hash_init
    - os_free
    - os_zalloc
    - wpa_printf
    linkageType: ''
    returnType: struct tlsv1_client
    signature: struct tlsv1_client * tlsv1_client_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_public_key_free
      Src: /src/hostap/src/tls/tlsv1_client.c:512,1
    - Dst: tlsv1_record_set_cipher_suite
      Src: /src/hostap/src/tls/tlsv1_client.c:513,1
    - Dst: tlsv1_record_change_write_cipher
      Src: /src/hostap/src/tls/tlsv1_client.c:514,1
    - Dst: tlsv1_record_change_read_cipher
      Src: /src/hostap/src/tls/tlsv1_client.c:515,1
    - Dst: tls_verify_hash_free
      Src: /src/hostap/src/tls/tlsv1_client.c:516,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_client.c:517,1
    - Dst: tlsv1_client_free_dh
      Src: /src/hostap/src/tls/tlsv1_client.c:518,1
    - Dst: tlsv1_cred_free
      Src: /src/hostap/src/tls/tlsv1_client.c:519,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/tls/tlsv1_client.c:520,1
    - Dst: x509_certificate_chain_free
      Src: /src/hostap/src/tls/tlsv1_client.c:521,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_client.c:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct tlsv1_client*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 510
    functionDepth: 4
    functionLinenumber: 510
    functionLinenumberEnd: 523
    functionName: tlsv1_client_deinit
    functionSourceFile: /src/hostap/src/tls/tlsv1_client.c
    functionUses: 1
    functionsReached:
    - tls_verify_hash_free
    - tlsv1_record_change_read_cipher
    - tlsv1_client_free_dh
    - wpabuf_free
    - crypto_public_key_free
    - tlsv1_cred_free
    - x509_certificate_chain_free
    - os_free
    - tlsv1_record_set_cipher_suite
    - tlsv1_record_change_write_cipher
    linkageType: ''
    returnType: void
    signature: void tlsv1_client_deinit(struct tlsv1_client *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct tlsv1_client*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 534
    functionName: tlsv1_client_established
    functionSourceFile: /src/hostap/src/tls/tlsv1_client.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tlsv1_client_established(struct tlsv1_client *conn)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/tls/tlsv1_client.c:566,1
    - Dst: os_memcpy
      Src: /src/hostap/src/tls/tlsv1_client.c:571,1
    - Dst: os_memcpy
      Src: /src/hostap/src/tls/tlsv1_client.c:572,1
    - Dst: os_memcpy
      Src: /src/hostap/src/tls/tlsv1_client.c:575,1
    - Dst: os_memcpy
      Src: /src/hostap/src/tls/tlsv1_client.c:576,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/tls/tlsv1_client.c:582,1
    - Dst: os_memcpy
      Src: /src/hostap/src/tls/tlsv1_client.c:584,1
    - Dst: tls_prf
      Src: /src/hostap/src/tls/tlsv1_client.c:587,1
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_client.c:590,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 7
    argNames:
    - conn
    - label
    - context
    - context_len
    - server_random_first
    - out
    - out_len
    argTypes:
    - struct tlsv1_client*
    - char*
    - u8*
    - size_t
    - int
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 549
    functionDepth: 3
    functionLinenumber: 549
    functionLinenumberEnd: 592
    functionName: tlsv1_client_prf
    functionSourceFile: /src/hostap/src/tls/tlsv1_client.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    - os_malloc
    - WPA_PUT_BE16
    - os_free
    - tls_prf
    linkageType: ''
    returnType: int
    signature: "int tlsv1_client_prf(struct tlsv1_client *conn, const char *label,\n\t\t
      \    const u8 *context, size_t context_len,\n\t\t     int server_random_first,
      u8 *out, size_t out_len)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: os_strlcpy
      Src: /src/hostap/src/tls/tlsv1_client.c:677,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 71
    argCount: 3
    argNames:
    - conn
    - buf
    - buflen
    argTypes:
    - struct tlsv1_client*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 680
    functionName: tlsv1_client_get_cipher
    functionSourceFile: /src/hostap/src/tls/tlsv1_client.c
    functionUses: 1
    functionsReached:
    - os_strlcpy
    linkageType: ''
    returnType: int
    signature: "int tlsv1_client_get_cipher(struct tlsv1_client *conn, char *buf,\n\t\t\t
      \   size_t buflen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tls_verify_hash_init
      Src: /src/hostap/src/tls/tlsv1_client.c:692,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client.c:693,1
    - Dst: tlsv1_record_set_cipher_suite
      Src: /src/hostap/src/tls/tlsv1_client.c:698,1
    - Dst: tlsv1_record_change_write_cipher
      Src: /src/hostap/src/tls/tlsv1_client.c:699,1
    - Dst: tlsv1_record_change_read_cipher
      Src: /src/hostap/src/tls/tlsv1_client.c:700,1
    - Dst: crypto_public_key_free
      Src: /src/hostap/src/tls/tlsv1_client.c:703,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct tlsv1_client*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 688
    functionDepth: 2
    functionLinenumber: 688
    functionLinenumberEnd: 708
    functionName: tlsv1_client_shutdown
    functionSourceFile: /src/hostap/src/tls/tlsv1_client.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - tlsv1_record_change_read_cipher
    - tls_verify_hash_init
    - crypto_public_key_free
    - tlsv1_record_set_cipher_suite
    - tlsv1_record_change_write_cipher
    linkageType: ''
    returnType: int
    signature: int tlsv1_client_shutdown(struct tlsv1_client *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct tlsv1_client*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 719
    functionName: tlsv1_client_resumed
    functionSourceFile: /src/hostap/src/tls/tlsv1_client.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tlsv1_client_resumed(struct tlsv1_client *conn)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/tls/tlsv1_client.c:736,1
    - Dst: os_malloc
      Src: /src/hostap/src/tls/tlsv1_client.c:743,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/tls/tlsv1_client.c:747,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/tls/tlsv1_client.c:749,1
    - Dst: os_memcpy
      Src: /src/hostap/src/tls/tlsv1_client.c:751,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client.c:756,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 4
    argNames:
    - conn
    - ext_type
    - data
    - data_len
    argTypes:
    - struct tlsv1_client*
    - int
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 730
    functionDepth: 1
    functionLinenumber: 730
    functionLinenumberEnd: 760
    functionName: tlsv1_client_hello_ext
    functionSourceFile: /src/hostap/src/tls/tlsv1_client.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    - wpa_printf
    - os_malloc
    - WPA_PUT_BE16
    - os_free
    linkageType: ''
    returnType: int
    signature: "int tlsv1_client_hello_ext(struct tlsv1_client *conn, int ext_type,\n\t\t\t
      \  const u8 *data, size_t data_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/tls/tlsv1_client.c:771,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - conn
    - keys
    argTypes:
    - struct tlsv1_client*
    - struct tls_random*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 784
    functionName: tlsv1_client_get_random
    functionSourceFile: /src/hostap/src/tls/tlsv1_client.c
    functionUses: 1
    functionsReached:
    - os_memset
    linkageType: ''
    returnType: int
    signature: int tlsv1_client_get_random(struct tlsv1_client *conn, struct tls_random
      *keys)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct tlsv1_client*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 800
    functionName: tlsv1_client_get_keyblock_size
    functionSourceFile: /src/hostap/src/tls/tlsv1_client.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tlsv1_client_get_keyblock_size(struct tlsv1_client *conn)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - conn
    - ciphers
    argTypes:
    - struct tlsv1_client*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 841
    functionName: tlsv1_client_set_cipher_list
    functionSourceFile: /src/hostap/src/tls/tlsv1_client.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tlsv1_client_set_cipher_list(struct tlsv1_client *conn, u8 *ciphers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlsv1_cred_free
      Src: /src/hostap/src/tls/tlsv1_client.c:857,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - conn
    - cred
    argTypes:
    - struct tlsv1_client*
    - struct tlsv1_credentials*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 854
    functionDepth: 4
    functionLinenumber: 854
    functionLinenumberEnd: 860
    functionName: tlsv1_client_set_cred
    functionSourceFile: /src/hostap/src/tls/tlsv1_client.c
    functionUses: 1
    functionsReached:
    - tlsv1_cred_free
    linkageType: ''
    returnType: int
    signature: "int tlsv1_client_set_cred(struct tlsv1_client *conn,\n\t\t\t  struct
      tlsv1_credentials *cred)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tls_client_highest_ver
      Src: /src/hostap/src/tls/tlsv1_client.c:871,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - conn
    - flags
    argTypes:
    - struct tlsv1_client*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 868
    functionDepth: 1
    functionLinenumber: 868
    functionLinenumberEnd: 872
    functionName: tlsv1_client_set_flags
    functionSourceFile: /src/hostap/src/tls/tlsv1_client.c
    functionUses: 1
    functionsReached:
    - tls_client_highest_ver
    linkageType: ''
    returnType: void
    signature: void tlsv1_client_set_flags(struct tlsv1_client *conn, unsigned int
      flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/tlsv1_client.c:879,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - conn
    - cb
    - ctx
    argTypes:
    - struct tlsv1_client*
    - tlsv1_client_session_ticket_cb
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 883
    functionName: tlsv1_client_set_session_ticket_cb
    functionSourceFile: /src/hostap/src/tls/tlsv1_client.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: "void tlsv1_client_set_session_ticket_cb(struct tlsv1_client *conn,\n\t\t\t\t\ttlsv1_client_session_ticket_cb
      cb,\n\t\t\t\t\tvoid *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - conn
    - cb_ctx
    - cert_in_cb
    argTypes:
    - struct tlsv1_client*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 886
    functionDepth: 0
    functionLinenumber: 886
    functionLinenumberEnd: 895
    functionName: tlsv1_client_set_cb
    functionSourceFile: /src/hostap/src/tls/tlsv1_client.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void tlsv1_client_set_cb(struct tlsv1_client *conn,\n\t\t\t void (*event_cb)(void
      *ctx, enum tls_event ev,\n\t\t\t\t\t  union tls_event_data *data),\n\t\t\t void
      *cb_ctx,\n\t\t\t int cert_in_cb)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_strlcpy
      Src: /src/hostap/src/tls/tlsv1_client.c:905,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/tls/tlsv1_client.c:908,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/tls/tlsv1_client.c:911,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - conn
    - buf
    - buflen
    argTypes:
    - struct tlsv1_client*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 898
    functionDepth: 0
    functionLinenumber: 898
    functionLinenumberEnd: 918
    functionName: tlsv1_client_get_version
    functionSourceFile: /src/hostap/src/tls/tlsv1_client.c
    functionUses: 1
    functionsReached:
    - os_strlcpy
    linkageType: ''
    returnType: int
    signature: "int tlsv1_client_get_version(struct tlsv1_client *conn, char *buf,\n\t\t\t
      \    size_t buflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - oid
    argTypes:
    - struct asn1_oid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 45
    functionName: oid_is_rsadsi
    functionSourceFile: /src/hostap/src/tls/pkcs5.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int oid_is_rsadsi(struct asn1_oid *oid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: oid_is_rsadsi
      Src: /src/hostap/src/tls/pkcs5.c:51,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - oid
    - alg
    argTypes:
    - struct asn1_oid*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: pkcs5_is_oid
    functionSourceFile: /src/hostap/src/tls/pkcs5.c
    functionUses: 0
    functionsReached:
    - oid_is_rsadsi
    linkageType: ''
    returnType: int
    signature: int pkcs5_is_oid(struct asn1_oid *oid, unsigned long alg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: oid_is_rsadsi
      Src: /src/hostap/src/tls/pkcs5.c:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - oid
    - alg
    argTypes:
    - struct asn1_oid*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: enc_alg_is_oid
    functionSourceFile: /src/hostap/src/tls/pkcs5.c
    functionUses: 0
    functionsReached:
    - oid_is_rsadsi
    linkageType: ''
    returnType: int
    signature: int enc_alg_is_oid(struct asn1_oid *oid, unsigned long alg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: oid_is_rsadsi
      Src: /src/hostap/src/tls/pkcs5.c:70,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - oid
    - alg
    argTypes:
    - struct asn1_oid*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 75
    functionName: pkcs12_is_pbe_oid
    functionSourceFile: /src/hostap/src/tls/pkcs5.c
    functionUses: 0
    functionsReached:
    - oid_is_rsadsi
    linkageType: ''
    returnType: int
    signature: int pkcs12_is_pbe_oid(struct asn1_oid *oid, unsigned long alg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pkcs5_is_oid
      Src: /src/hostap/src/tls/pkcs5.c:80,1
    - Dst: pkcs12_is_pbe_oid
      Src: /src/hostap/src/tls/pkcs5.c:82,1
    - Dst: pkcs5_is_oid
      Src: /src/hostap/src/tls/pkcs5.c:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - oid
    argTypes:
    - struct asn1_oid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 87
    functionName: pkcs5_get_alg
    functionSourceFile: /src/hostap/src/tls/pkcs5.c
    functionUses: 0
    functionsReached:
    - pkcs12_is_pbe_oid
    - pkcs5_is_oid
    linkageType: ''
    returnType: enum pkcs5_alg
    signature: enum pkcs5_alg pkcs5_get_alg(struct asn1_oid *oid)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/pkcs5.c:109,1
    - Dst: asn1_is_sequence
      Src: /src/hostap/src/tls/pkcs5.c:110,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/pkcs5.c:111,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/pkcs5.c:118,1
    - Dst: asn1_is_sequence
      Src: /src/hostap/src/tls/pkcs5.c:119,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/pkcs5.c:120,1
    - Dst: asn1_get_oid
      Src: /src/hostap/src/tls/pkcs5.c:128,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/pkcs5.c:129,1
    - Dst: asn1_oid_to_str
      Src: /src/hostap/src/tls/pkcs5.c:134,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/pkcs5.c:135,1
    - Dst: pkcs5_is_oid
      Src: /src/hostap/src/tls/pkcs5.c:137,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/pkcs5.c:138,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/pkcs5.c:159,1
    - Dst: asn1_is_sequence
      Src: /src/hostap/src/tls/pkcs5.c:160,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/pkcs5.c:161,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/pkcs5.c:170,1
    - Dst: asn1_is_octetstring
      Src: /src/hostap/src/tls/pkcs5.c:171,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/pkcs5.c:173,1
    - Dst: os_memcpy
      Src: /src/hostap/src/tls/pkcs5.c:178,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/pkcs5.c:180,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/pkcs5.c:183,1
    - Dst: asn1_is_integer
      Src: /src/hostap/src/tls/pkcs5.c:183,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/pkcs5.c:184,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/tls/pkcs5.c:190,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/tls/pkcs5.c:192,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/pkcs5.c:194,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/pkcs5.c:199,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/pkcs5.c:202,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/pkcs5.c:213,1
    - Dst: asn1_is_sequence
      Src: /src/hostap/src/tls/pkcs5.c:214,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/pkcs5.c:215,1
    - Dst: asn1_get_oid
      Src: /src/hostap/src/tls/pkcs5.c:223,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/pkcs5.c:224,1
    - Dst: asn1_oid_to_str
      Src: /src/hostap/src/tls/pkcs5.c:229,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/pkcs5.c:230,1
    - Dst: enc_alg_is_oid
      Src: /src/hostap/src/tls/pkcs5.c:232,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/pkcs5.c:235,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/pkcs5.c:247,1
    - Dst: asn1_is_octetstring
      Src: /src/hostap/src/tls/pkcs5.c:248,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/pkcs5.c:249,1
    - Dst: os_memcpy
      Src: /src/hostap/src/tls/pkcs5.c:253,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/pkcs5.c:255,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 85
    argCount: 3
    argNames:
    - params
    - pos
    - enc_alg_end
    argTypes:
    - struct pkcs5_params*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 90
    functionDepth: 4
    functionLinenumber: 90
    functionLinenumberEnd: 258
    functionName: pkcs5_get_params_pbes2
    functionSourceFile: /src/hostap/src/tls/pkcs5.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - asn1_is_sequence
    - os_memcpy
    - WPA_GET_BE16
    - wpa_hexdump
    - asn1_get_next
    - asn1_is_integer
    - pkcs5_is_oid
    - asn1_unexpected
    - asn1_is_octetstring
    - asn1_oid_to_str
    - asn1_get_oid
    - enc_alg_is_oid
    - WPA_GET_BE32
    linkageType: ''
    returnType: int
    signature: "int pkcs5_get_params_pbes2(struct pkcs5_params *params, const u8 *pos,\n\t\t\t\t
      \ const u8 *enc_alg_end)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/tls/pkcs5.c:273,1
    - Dst: asn1_get_oid
      Src: /src/hostap/src/tls/pkcs5.c:275,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/pkcs5.c:276,1
    - Dst: asn1_oid_to_str
      Src: /src/hostap/src/tls/pkcs5.c:281,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/pkcs5.c:282,1
    - Dst: pkcs5_get_alg
      Src: /src/hostap/src/tls/pkcs5.c:283,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/pkcs5.c:285,1
    - Dst: pkcs5_get_params_pbes2
      Src: /src/hostap/src/tls/pkcs5.c:291,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/pkcs5.c:309,1
    - Dst: asn1_is_sequence
      Src: /src/hostap/src/tls/pkcs5.c:310,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/pkcs5.c:311,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/pkcs5.c:319,1
    - Dst: asn1_is_octetstring
      Src: /src/hostap/src/tls/pkcs5.c:320,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/pkcs5.c:321,1
    - Dst: os_memcpy
      Src: /src/hostap/src/tls/pkcs5.c:326,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/pkcs5.c:328,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/tls/pkcs5.c:332,1
    - Dst: asn1_is_integer
      Src: /src/hostap/src/tls/pkcs5.c:333,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/tls/pkcs5.c:334,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/tls/pkcs5.c:340,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/tls/pkcs5.c:342,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/pkcs5.c:344,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/pkcs5.c:349,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/pkcs5.c:352,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 49
    argCount: 3
    argNames:
    - enc_alg
    - enc_alg_len
    - params
    argTypes:
    - u8*
    - size_t
    - struct pkcs5_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 261
    functionDepth: 5
    functionLinenumber: 261
    functionLinenumberEnd: 358
    functionName: pkcs5_get_params
    functionSourceFile: /src/hostap/src/tls/pkcs5.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - asn1_is_sequence
    - os_memcpy
    - WPA_GET_BE16
    - wpa_hexdump
    - asn1_get_next
    - pkcs5_get_alg
    - asn1_is_integer
    - asn1_unexpected
    - asn1_is_octetstring
    - asn1_oid_to_str
    - pkcs5_get_params_pbes2
    - asn1_get_oid
    - WPA_GET_BE32
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int pkcs5_get_params(const u8 *enc_alg, size_t enc_alg_len,\n\t\t\t
      \   struct pkcs5_params *params)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump_ascii_key
      Src: /src/hostap/src/tls/pkcs5.c:370,1
    - Dst: os_strlen
      Src: /src/hostap/src/tls/pkcs5.c:371,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/pkcs5.c:372,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/pkcs5.c:374,1
    - Dst: pbkdf2_sha1
      Src: /src/hostap/src/tls/pkcs5.c:376,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/tls/pkcs5.c:379,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/pkcs5.c:380,1
    - Dst: crypto_cipher_init
      Src: /src/hostap/src/tls/pkcs5.c:382,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - params
    - passwd
    argTypes:
    - struct pkcs5_params*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 384
    functionName: pkcs5_crypto_init_pbes2
    functionSourceFile: /src/hostap/src/tls/pkcs5.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - wpa_hexdump_key
    - crypto_cipher_init
    - wpa_hexdump
    - pbkdf2_sha1
    - wpa_hexdump_ascii_key
    linkageType: ''
    returnType: struct crypto_cipher
    signature: 'struct crypto_cipher *

      pkcs5_crypto_init_pbes2(struct pkcs5_params *params, const char *passwd)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - a
    - b
    - len
    argTypes:
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 397
    functionName: add_byte_array_mod
    functionSourceFile: /src/hostap/src/tls/pkcs5.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void add_byte_array_mod(u8 *a, const u8 *b, size_t len)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/tls/pkcs5.c:413,1
    - Dst: os_memset
      Src: /src/hostap/src/tls/pkcs5.c:416,1
    - Dst: os_malloc
      Src: /src/hostap/src/tls/pkcs5.c:421,1
    - Dst: os_malloc
      Src: /src/hostap/src/tls/pkcs5.c:434,1
    - Dst: sha1_vector
      Src: /src/hostap/src/tls/pkcs5.c:447,1
    - Dst: sha1_vector
      Src: /src/hostap/src/tls/pkcs5.c:453,1
    - Dst: os_memcpy
      Src: /src/hostap/src/tls/pkcs5.c:458,1
    - Dst: os_memcpy
      Src: /src/hostap/src/tls/pkcs5.c:463,1
    - Dst: inc_byte_array
      Src: /src/hostap/src/tls/pkcs5.c:471,1
    - Dst: add_byte_array_mod
      Src: /src/hostap/src/tls/pkcs5.c:473,1
    - Dst: os_free
      Src: /src/hostap/src/tls/pkcs5.c:477,1
    - Dst: os_free
      Src: /src/hostap/src/tls/pkcs5.c:478,1
    - Dst: os_free
      Src: /src/hostap/src/tls/pkcs5.c:479,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 63
    argCount: 8
    argNames:
    - pw
    - pw_len
    - salt
    - salt_len
    - id
    - iter
    - out_len
    - out
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - u8
    - unsigned int
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 481
    functionName: pkcs12_key_gen
    functionSourceFile: /src/hostap/src/tls/pkcs5.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - inc_byte_array
    - sha1_vector
    - os_malloc
    - os_free
    - add_byte_array_mod
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int pkcs12_key_gen(const u8 *pw, size_t pw_len, const u8 *salt,\n\t\t\t
      \ size_t salt_len, u8 id, unsigned int iter,\n\t\t\t  size_t out_len, u8 *out)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/tls/pkcs5.c:500,1
    - Dst: os_malloc
      Src: /src/hostap/src/tls/pkcs5.c:501,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/tls/pkcs5.c:506,1
    - Dst: pkcs12_key_gen
      Src: /src/hostap/src/tls/pkcs5.c:510,1
    - Dst: pkcs12_key_gen
      Src: /src/hostap/src/tls/pkcs5.c:513,1
    - Dst: os_free
      Src: /src/hostap/src/tls/pkcs5.c:516,1
    - Dst: os_free
      Src: /src/hostap/src/tls/pkcs5.c:520,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/tls/pkcs5.c:522,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/tls/pkcs5.c:523,1
    - Dst: crypto_cipher_init
      Src: /src/hostap/src/tls/pkcs5.c:525,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - params
    - passwd
    argTypes:
    - struct pkcs5_params*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 488
    functionDepth: 2
    functionLinenumber: 488
    functionLinenumberEnd: 526
    functionName: pkcs12_crypto_init_sha1
    functionSourceFile: /src/hostap/src/tls/pkcs5.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_hexdump_key
    - pkcs12_key_gen
    - crypto_cipher_init
    - os_malloc
    - WPA_PUT_BE16
    - os_free
    linkageType: ''
    returnType: struct crypto_cipher
    signature: 'struct crypto_cipher *

      pkcs12_crypto_init_sha1(struct pkcs5_params *params, const char *passwd)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pkcs5_crypto_init_pbes2
      Src: /src/hostap/src/tls/pkcs5.c:538,1
    - Dst: pkcs12_crypto_init_sha1
      Src: /src/hostap/src/tls/pkcs5.c:541,1
    - Dst: os_strlen
      Src: /src/hostap/src/tls/pkcs5.c:547,1
    - Dst: md5_vector
      Src: /src/hostap/src/tls/pkcs5.c:550,1
    - Dst: md5_vector
      Src: /src/hostap/src/tls/pkcs5.c:555,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/tls/pkcs5.c:559,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/tls/pkcs5.c:560,1
    - Dst: crypto_cipher_init
      Src: /src/hostap/src/tls/pkcs5.c:562,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - params
    - passwd
    argTypes:
    - struct pkcs5_params*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 529
    functionDepth: 3
    functionLinenumber: 529
    functionLinenumberEnd: 563
    functionName: pkcs5_crypto_init
    functionSourceFile: /src/hostap/src/tls/pkcs5.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_hexdump_key
    - crypto_cipher_init
    - pkcs5_crypto_init_pbes2
    - md5_vector
    - pkcs12_crypto_init_sha1
    linkageType: ''
    returnType: struct crypto_cipher
    signature: "struct crypto_cipher * pkcs5_crypto_init(struct pkcs5_params *params,\n\t\t\t\t\t\tconst
      char *passwd)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pkcs5_get_params
      Src: /src/hostap/src/tls/pkcs5.c:575,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/pkcs5.c:576,1
    - Dst: pkcs5_crypto_init
      Src: /src/hostap/src/tls/pkcs5.c:580,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/pkcs5.c:582,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/pkcs5.c:588,1
    - Dst: crypto_cipher_deinit
      Src: /src/hostap/src/tls/pkcs5.c:590,1
    - Dst: os_malloc
      Src: /src/hostap/src/tls/pkcs5.c:594,1
    - Dst: crypto_cipher_deinit
      Src: /src/hostap/src/tls/pkcs5.c:596,1
    - Dst: crypto_cipher_decrypt
      Src: /src/hostap/src/tls/pkcs5.c:600,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/pkcs5.c:601,1
    - Dst: crypto_cipher_deinit
      Src: /src/hostap/src/tls/pkcs5.c:602,1
    - Dst: os_free
      Src: /src/hostap/src/tls/pkcs5.c:603,1
    - Dst: crypto_cipher_deinit
      Src: /src/hostap/src/tls/pkcs5.c:606,1
    - Dst: wpa_printf
      Src: /src/hostap/src/tls/pkcs5.c:610,1
    - Dst: os_free
      Src: /src/hostap/src/tls/pkcs5.c:611,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/tls/pkcs5.c:616,1
    - Dst: os_free
      Src: /src/hostap/src/tls/pkcs5.c:618,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/tls/pkcs5.c:623,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 6
    argNames:
    - enc_alg
    - enc_alg_len
    - enc_data
    - enc_data_len
    - passwd
    - data_len
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 566
    functionDepth: 6
    functionLinenumber: 566
    functionLinenumberEnd: 628
    functionName: pkcs5_decrypt
    functionSourceFile: /src/hostap/src/tls/pkcs5.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - wpa_hexdump_key
    - wpa_hexdump
    - crypto_cipher_deinit
    - pkcs5_crypto_init
    - os_malloc
    - pkcs5_get_params
    - crypto_cipher_decrypt
    - os_free
    linkageType: ''
    returnType: u8
    signature: "u8 * pkcs5_decrypt(const u8 *enc_alg, size_t enc_alg_len,\n\t\t   const
      u8 *enc_data, size_t enc_data_len,\n\t\t   const char *passwd, size_t *data_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - sm
    - link_id
    argTypes:
    - struct wpa_sm*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 174
    functionName: wpa_tdls_get_link_bssid
    functionSourceFile: /src/hostap/src/rsn_supp/tdls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 * wpa_tdls_get_link_bssid(struct wpa_sm *sm, int link_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 185
    functionName: wpa_tdls_get_privacy
    functionSourceFile: /src/hostap/src/rsn_supp/tdls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpa_tdls_get_privacy(struct wpa_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/tdls.c:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pos
    - ie
    - ie_len
    argTypes:
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: wpa_add_ie
    functionSourceFile: /src/hostap/src/rsn_supp/tdls.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    linkageType: ''
    returnType: u8
    signature: u8 * wpa_add_ie(u8 *pos, const u8 *ie, size_t ie_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_sm_set_key
      Src: /src/hostap/src/rsn_supp/tdls.c:197,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - sm
    - peer
    argTypes:
    - struct wpa_sm*
    - struct wpa_tdls_peer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 205
    functionName: wpa_tdls_del_key
    functionSourceFile: /src/hostap/src/rsn_supp/tdls.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_sm_set_key
    linkageType: ''
    returnType: int
    signature: int wpa_tdls_del_key(struct wpa_sm *sm, struct wpa_tdls_peer *peer)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:222,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/tdls.c:224,1
    - Dst: os_memset
      Src: /src/hostap/src/rsn_supp/tdls.c:228,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:236,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:240,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:245,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/tdls.c:246,1
    - Dst: wpa_sm_set_key
      Src: /src/hostap/src/rsn_supp/tdls.c:247,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:250,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - sm
    - peer
    argTypes:
    - struct wpa_sm*
    - struct wpa_tdls_peer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 256
    functionName: wpa_tdls_set_key
    functionSourceFile: /src/hostap/src/rsn_supp/tdls.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    - wpa_sm_set_key
    - os_memset
    linkageType: ''
    returnType: int
    signature: int wpa_tdls_set_key(struct wpa_sm *sm, struct wpa_tdls_peer *peer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_sm_send_tdls_mgmt
      Src: /src/hostap/src/rsn_supp/tdls.c:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 10
    argNames:
    - sm
    - dst
    - action_code
    - dialog_token
    - status_code
    - peer_capab
    - initiator
    - buf
    - len
    - link_id
    argTypes:
    - struct wpa_sm*
    - u8*
    - u8
    - u8
    - u16
    - u32
    - int
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 268
    functionName: wpa_tdls_send_tpk_msg
    functionSourceFile: /src/hostap/src/rsn_supp/tdls.c
    functionUses: 0
    functionsReached:
    - wpa_sm_send_tdls_mgmt
    linkageType: ''
    returnType: int
    signature: "int wpa_tdls_send_tpk_msg(struct wpa_sm *sm, const u8 *dst,\n\t\t\t\t
      u8 action_code, u8 dialog_token,\n\t\t\t\t u16 status_code, u32 peer_capab,\n\t\t\t\t
      int initiator, const u8 *buf, size_t len,\n\t\t\t\t int link_id)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:278,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/tdls.c:281,1
    - Dst: wpa_tdls_send_tpk_msg
      Src: /src/hostap/src/rsn_supp/tdls.c:284,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:287,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/rsn_supp/tdls.c:299,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:304,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/tdls.c:305,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/rsn_supp/tdls.c:309,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/tdls.c:320,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/tdls.c:326,1
    - Dst: os_memdup
      Src: /src/hostap/src/rsn_supp/tdls.c:327,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:331,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/rsn_supp/tdls.c:333,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 10
    argNames:
    - sm
    - dest
    - action_code
    - dialog_token
    - status_code
    - peer_capab
    - initiator
    - msg
    - msg_len
    - link_id
    argTypes:
    - struct wpa_sm*
    - u8*
    - u8
    - u8
    - u16
    - u32
    - int
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 337
    functionName: wpa_tdls_tpk_send
    functionSourceFile: /src/hostap/src/rsn_supp/tdls.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - eloop_cancel_timeout
    - os_memdup
    - ether_addr_equal
    - MAC2STR
    - wpa_tdls_send_tpk_msg
    - eloop_register_timeout
    - os_free
    linkageType: ''
    returnType: int
    signature: "int wpa_tdls_tpk_send(struct wpa_sm *sm, const u8 *dest, u8 action_code,\n\t\t\t
      \    u8 dialog_token, u16 status_code, u32 peer_capab,\n\t\t\t     int initiator,
      const u8 *msg, size_t msg_len,\n\t\t\t     int link_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_tdls_send_teardown
      Src: /src/hostap/src/rsn_supp/tdls.c:345,1
    - Dst: wpa_tdls_disable_peer_link
      Src: /src/hostap/src/rsn_supp/tdls.c:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - sm
    - peer
    - reason_code
    argTypes:
    - struct wpa_sm*
    - struct wpa_tdls_peer*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 350
    functionName: wpa_tdls_do_teardown
    functionSourceFile: /src/hostap/src/rsn_supp/tdls.c
    functionUses: 0
    functionsReached:
    - wpa_tdls_disable_peer_link
    - wpa_tdls_send_teardown
    linkageType: ''
    returnType: int
    signature: "int wpa_tdls_do_teardown(struct wpa_sm *sm, struct wpa_tdls_peer *peer,\n\t\t\t\tu16
      reason_code)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:362,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:367,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/rsn_supp/tdls.c:370,1
    - Dst: wpa_tdls_send_tpk_msg
      Src: /src/hostap/src/rsn_supp/tdls.c:376,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:384,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/rsn_supp/tdls.c:388,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/rsn_supp/tdls.c:389,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/rsn_supp/tdls.c:393,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:395,1
    - Dst: wpa_tdls_do_teardown
      Src: /src/hostap/src/rsn_supp/tdls.c:396,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 353
    functionDepth: 2
    functionLinenumber: 353
    functionLinenumberEnd: 399
    functionName: wpa_tdls_tpk_retry_timeout
    functionSourceFile: /src/hostap/src/rsn_supp/tdls.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eloop_cancel_timeout
    - wpa_tdls_do_teardown
    - wpa_tdls_send_tpk_msg
    - eloop_register_timeout
    linkageType: ''
    returnType: void
    signature: void wpa_tdls_tpk_retry_timeout(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:407,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/rsn_supp/tdls.c:411,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/tdls.c:414,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:422,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - sm
    - peer
    - action_code
    argTypes:
    - struct wpa_sm*
    - struct wpa_tdls_peer*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 425
    functionName: wpa_tdls_tpk_retry_timeout_cancel
    functionSourceFile: /src/hostap/src/rsn_supp/tdls.c
    functionUses: 0
    functionsReached:
    - eloop_cancel_timeout
    - os_free
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: "void wpa_tdls_tpk_retry_timeout_cancel(struct wpa_sm *sm,\n\t\t\t\t\t
      \     struct wpa_tdls_peer *peer,\n\t\t\t\t\t      u8 action_code)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/src/rsn_supp/tdls.c:442,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/tdls.c:449,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/tdls.c:450,1
    - Dst: sha256_vector
      Src: /src/hostap/src/rsn_supp/tdls.c:451,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/rsn_supp/tdls.c:452,1
    - Dst: os_memcmp
      Src: /src/hostap/src/rsn_supp/tdls.c:460,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/tdls.c:461,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/tdls.c:462,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/tdls.c:464,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/tdls.c:465,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/tdls.c:467,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/tdls.c:468,1
    - Dst: sha256_prf
      Src: /src/hostap/src/rsn_supp/tdls.c:470,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/rsn_supp/tdls.c:472,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/rsn_supp/tdls.c:474,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 3
    argNames:
    - peer
    - own_addr
    - bssid
    argTypes:
    - struct wpa_tdls_peer*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 477
    functionName: wpa_tdls_generate_tpk
    functionSourceFile: /src/hostap/src/rsn_supp/tdls.c
    functionUses: 0
    functionsReached:
    - sha256_vector
    - sha256_prf
    - os_memcpy
    - wpa_hexdump_key
    - wpa_hexdump
    - os_memcmp
    linkageType: ''
    returnType: void
    signature: "void wpa_tdls_generate_tpk(struct wpa_tdls_peer *peer,\n\t\t\t\t  const
      u8 *own_addr, const u8 *bssid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/rsn_supp/tdls.c:504,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:506,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/tdls.c:513,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/tdls.c:516,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/tdls.c:521,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/tdls.c:524,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/tdls.c:527,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/tdls.c:530,1
    - Dst: os_memset
      Src: /src/hostap/src/rsn_supp/tdls.c:532,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/tdls.c:535,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/rsn_supp/tdls.c:536,1
    - Dst: omac1_aes_128
      Src: /src/hostap/src/rsn_supp/tdls.c:537,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/tdls.c:538,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/tdls.c:539,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 9
    argNames:
    - kck
    - trans_seq
    - lnkid
    - rsne
    - rsne_len
    - timeoutie
    - fte
    - fte_len
    - mic
    argTypes:
    - u8*
    - u8
    - u8*
    - u8*
    - size_t
    - u8*
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 541
    functionName: wpa_tdls_ftie_mic
    functionSourceFile: /src/hostap/src/rsn_supp/tdls.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_hexdump_key
    - wpa_hexdump
    - os_zalloc
    - omac1_aes_128
    - os_free
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpa_tdls_ftie_mic(const u8 *kck, u8 trans_seq, const u8 *lnkid,\n\t\t\t
      \    const u8 *rsne, size_t rsne_len,\n\t\t\t     const u8 *timeoutie,\n\t\t\t
      \    const u8 *fte, size_t fte_len, u8 *mic)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/rsn_supp/tdls.c:572,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:574,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/tdls.c:580,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/rsn_supp/tdls.c:583,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/tdls.c:590,1
    - Dst: os_memset
      Src: /src/hostap/src/rsn_supp/tdls.c:592,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/tdls.c:595,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/rsn_supp/tdls.c:596,1
    - Dst: omac1_aes_128
      Src: /src/hostap/src/rsn_supp/tdls.c:597,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/tdls.c:598,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/tdls.c:599,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 8
    argNames:
    - kck
    - trans_seq
    - rcode
    - dtoken
    - lnkid
    - fte
    - fte_len
    - mic
    argTypes:
    - u8*
    - u8
    - u16
    - u8
    - u8*
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 557
    functionDepth: 1
    functionLinenumber: 557
    functionLinenumberEnd: 601
    functionName: wpa_tdls_key_mic_teardown
    functionSourceFile: /src/hostap/src/rsn_supp/tdls.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_hexdump_key
    - wpa_hexdump
    - os_zalloc
    - omac1_aes_128
    - os_free
    - WPA_PUT_LE16
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpa_tdls_key_mic_teardown(const u8 *kck, u8 trans_seq, u16 rcode,\n\t\t\t\t
      \    u8 dtoken, const u8 *lnkid,\n\t\t\t\t     const u8 *fte, size_t fte_len,
      u8 *mic)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_tdls_ftie_mic
      Src: /src/hostap/src/rsn_supp/tdls.c:613,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/rsn_supp/tdls.c:616,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:617,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/tdls.c:619,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/tdls.c:621,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:626,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 6
    argNames:
    - trans_seq
    - peer
    - lnkid
    - timeoutie
    - ftie
    - fte_len
    argTypes:
    - u8
    - struct wpa_tdls_peer*
    - u8*
    - u8*
    - struct wpa_tdls_ftie*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 604
    functionDepth: 1
    functionLinenumber: 604
    functionLinenumberEnd: 631
    functionName: wpa_supplicant_verify_tdls_mic
    functionSourceFile: /src/hostap/src/rsn_supp/tdls.c
    functionUses: 0
    functionsReached:
    - os_memcmp_const
    - wpa_printf
    - wpa_tdls_ftie_mic
    - wpa_hexdump
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_verify_tdls_mic(u8 trans_seq,\n\t\t\t\t\t  struct
      wpa_tdls_peer *peer,\n\t\t\t\t\t  const u8 *lnkid, const u8 *timeoutie,\n\t\t\t\t\t
      \ const struct wpa_tdls_ftie *ftie,\n\t\t\t\t\t  size_t fte_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_tdls_key_mic_teardown
      Src: /src/hostap/src/rsn_supp/tdls.c:641,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/rsn_supp/tdls.c:644,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:645,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:650,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 7
    argNames:
    - trans_seq
    - rcode
    - dtoken
    - peer
    - lnkid
    - ftie
    - fte_len
    argTypes:
    - u8
    - u16
    - u8
    - struct wpa_tdls_peer*
    - u8*
    - struct wpa_tdls_ftie*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 634
    functionDepth: 2
    functionLinenumber: 634
    functionLinenumberEnd: 655
    functionName: wpa_supplicant_verify_tdls_mic_teardown
    functionSourceFile: /src/hostap/src/rsn_supp/tdls.c
    functionUses: 0
    functionsReached:
    - os_memcmp_const
    - wpa_printf
    - wpa_tdls_key_mic_teardown
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_verify_tdls_mic_teardown(\n\tu8 trans_seq, u16
      rcode, u8 dtoken, struct wpa_tdls_peer *peer,\n\tconst u8 *lnkid, const struct
      wpa_tdls_ftie *ftie, size_t fte_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:674,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/tdls.c:675,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/tdls.c:677,1
    - Dst: wpa_tdls_do_teardown
      Src: /src/hostap/src/rsn_supp/tdls.c:678,1
    - Dst: wpa_tdls_start
      Src: /src/hostap/src/rsn_supp/tdls.c:680,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:682,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/tdls.c:683,1
    - Dst: wpa_tdls_do_teardown
      Src: /src/hostap/src/rsn_supp/tdls.c:684,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 658
    functionDepth: 2
    functionLinenumber: 658
    functionLinenumberEnd: 687
    functionName: wpa_tdls_tpk_timeout
    functionSourceFile: /src/hostap/src/rsn_supp/tdls.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_tdls_start
    - wpa_tdls_do_teardown
    - MAC2STR
    linkageType: ''
    returnType: void
    signature: void wpa_tdls_tpk_timeout(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:703,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/tdls.c:705,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - sm
    - peer
    argTypes:
    - struct wpa_sm*
    - struct wpa_tdls_peer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 690
    functionDepth: 1
    functionLinenumber: 690
    functionLinenumberEnd: 713
    functionName: wpa_tdls_peer_remove_from_list
    functionSourceFile: /src/hostap/src/rsn_supp/tdls.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: "void wpa_tdls_peer_remove_from_list(struct wpa_sm *sm,\n\t\t\t\t\t
      \  struct wpa_tdls_peer *peer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:718,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/tdls.c:719,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/rsn_supp/tdls.c:720,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/rsn_supp/tdls.c:721,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/tdls.c:725,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/tdls.c:727,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/tdls.c:729,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/tdls.c:731,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/tdls.c:733,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/tdls.c:735,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/tdls.c:737,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/tdls.c:739,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/tdls.c:741,1
    - Dst: os_memset
      Src: /src/hostap/src/rsn_supp/tdls.c:749,1
    - Dst: os_memset
      Src: /src/hostap/src/rsn_supp/tdls.c:750,1
    - Dst: os_memset
      Src: /src/hostap/src/rsn_supp/tdls.c:751,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 2
    argNames:
    - sm
    - peer
    argTypes:
    - struct wpa_sm*
    - struct wpa_tdls_peer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 716
    functionDepth: 1
    functionLinenumber: 716
    functionLinenumberEnd: 753
    functionName: wpa_tdls_peer_clear
    functionSourceFile: /src/hostap/src/rsn_supp/tdls.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eloop_cancel_timeout
    - MAC2STR
    - os_free
    - os_memset
    linkageType: ''
    returnType: void
    signature: void wpa_tdls_peer_clear(struct wpa_sm *sm, struct wpa_tdls_peer *peer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_tdls_peer_clear
      Src: /src/hostap/src/rsn_supp/tdls.c:758,1
    - Dst: wpa_tdls_peer_remove_from_list
      Src: /src/hostap/src/rsn_supp/tdls.c:759,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/tdls.c:760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - sm
    - peer
    argTypes:
    - struct wpa_sm*
    - struct wpa_tdls_peer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 756
    functionDepth: 2
    functionLinenumber: 756
    functionLinenumberEnd: 761
    functionName: wpa_tdls_peer_free
    functionSourceFile: /src/hostap/src/rsn_supp/tdls.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpa_tdls_peer_clear
    - wpa_tdls_peer_remove_from_list
    linkageType: ''
    returnType: void
    signature: void wpa_tdls_peer_free(struct wpa_sm *sm, struct wpa_tdls_peer *peer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/tdls.c:769,1
    - Dst: wpa_tdls_get_link_bssid
      Src: /src/hostap/src/rsn_supp/tdls.c:769,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/tdls.c:772,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/tdls.c:773,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/tdls.c:775,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/tdls.c:776,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - sm
    - peer
    - lnkid
    argTypes:
    - struct wpa_sm*
    - struct wpa_tdls_peer*
    - struct wpa_tdls_lnkid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 764
    functionDepth: 1
    functionLinenumber: 764
    functionLinenumberEnd: 778
    functionName: wpa_tdls_linkid
    functionSourceFile: /src/hostap/src/rsn_supp/tdls.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_tdls_get_link_bssid
    linkageType: ''
    returnType: void
    signature: "void wpa_tdls_linkid(struct wpa_sm *sm, struct wpa_tdls_peer *peer,\n\t\t\t
      \   struct wpa_tdls_lnkid *lnkid)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/src/rsn_supp/tdls.c:796,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:801,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/tdls.c:802,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:808,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/tdls.c:809,1
    - Dst: wpa_sm_tdls_disable_channel_switch
      Src: /src/hostap/src/rsn_supp/tdls.c:810,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:815,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/tdls.c:816,1
    - Dst: wpa_tdls_get_privacy
      Src: /src/hostap/src/rsn_supp/tdls.c:819,1
    - Dst: os_zalloc
      Src: /src/hostap/src/rsn_supp/tdls.c:828,1
    - Dst: wpa_tdls_get_privacy
      Src: /src/hostap/src/rsn_supp/tdls.c:833,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/tdls.c:839,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/tdls.c:840,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:845,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/tdls.c:853,1
    - Dst: wpa_tdls_linkid
      Src: /src/hostap/src/rsn_supp/tdls.c:857,1
    - Dst: wpa_tdls_key_mic_teardown
      Src: /src/hostap/src/rsn_supp/tdls.c:858,1
    - Dst: wpa_tdls_tpk_send
      Src: /src/hostap/src/rsn_supp/tdls.c:868,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/tdls.c:871,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 51
    argCount: 3
    argNames:
    - sm
    - addr
    - reason_code
    argTypes:
    - struct wpa_sm*
    - u8*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 781
    functionDepth: 3
    functionLinenumber: 781
    functionLinenumberEnd: 874
    functionName: wpa_tdls_send_teardown
    functionSourceFile: /src/hostap/src/rsn_supp/tdls.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_hexdump
    - wpa_tdls_linkid
    - ether_addr_equal
    - MAC2STR
    - os_zalloc
    - wpa_tdls_key_mic_teardown
    - wpa_tdls_tpk_send
    - os_free
    - wpa_sm_tdls_disable_channel_switch
    - wpa_tdls_get_privacy
    linkageType: ''
    returnType: int
    signature: "int wpa_tdls_send_teardown(struct wpa_sm *sm, const u8 *addr,\n\t\t\t\t
      \ u16 reason_code)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/src/rsn_supp/tdls.c:885,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:890,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/tdls.c:891,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:896,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/tdls.c:897,1
    - Dst: wpa_tdls_do_teardown
      Src: /src/hostap/src/rsn_supp/tdls.c:901,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - sm
    - addr
    - reason_code
    argTypes:
    - struct wpa_sm*
    - u8*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 877
    functionDepth: 2
    functionLinenumber: 877
    functionLinenumberEnd: 902
    functionName: wpa_tdls_teardown_link
    functionSourceFile: /src/hostap/src/rsn_supp/tdls.c
    functionUses: 3
    functionsReached:
    - MAC2STR
    - wpa_printf
    - ether_addr_equal
    - wpa_tdls_do_teardown
    linkageType: ''
    returnType: int
    signature: int wpa_tdls_teardown_link(struct wpa_sm *sm, const u8 *addr, u16 reason_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_sm_tdls_oper
      Src: /src/hostap/src/rsn_supp/tdls.c:908,1
    - Dst: wpa_tdls_peer_free
      Src: /src/hostap/src/rsn_supp/tdls.c:909,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sm
    - peer
    argTypes:
    - struct wpa_sm*
    - struct wpa_tdls_peer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 905
    functionDepth: 3
    functionLinenumber: 905
    functionLinenumberEnd: 910
    functionName: wpa_tdls_disable_peer_link
    functionSourceFile: /src/hostap/src/rsn_supp/tdls.c
    functionUses: 1
    functionsReached:
    - wpa_sm_tdls_oper
    - wpa_tdls_peer_free
    linkageType: ''
    returnType: void
    signature: "void wpa_tdls_disable_peer_link(struct wpa_sm *sm,\n\t\t\t\t       struct
      wpa_tdls_peer *peer)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/src/rsn_supp/tdls.c:918,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:923,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/tdls.c:925,1
    - Dst: wpa_tdls_is_external_setup
      Src: /src/hostap/src/rsn_supp/tdls.c:929,1
    - Dst: wpa_sm_tdls_disable_channel_switch
      Src: /src/hostap/src/rsn_supp/tdls.c:935,1
    - Dst: wpa_sm_tdls_oper
      Src: /src/hostap/src/rsn_supp/tdls.c:936,1
    - Dst: wpa_tdls_send_teardown
      Src: /src/hostap/src/rsn_supp/tdls.c:937,1
    - Dst: wpa_tdls_peer_free
      Src: /src/hostap/src/rsn_supp/tdls.c:939,1
    - Dst: wpa_tdls_disable_peer_link
      Src: /src/hostap/src/rsn_supp/tdls.c:941,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - sm
    - addr
    argTypes:
    - struct wpa_sm*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 913
    functionDepth: 4
    functionLinenumber: 913
    functionLinenumberEnd: 943
    functionName: wpa_tdls_disable_unreachable_link
    functionSourceFile: /src/hostap/src/rsn_supp/tdls.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpa_tdls_disable_peer_link
    - wpa_sm_tdls_oper
    - ether_addr_equal
    - MAC2STR
    - wpa_tdls_is_external_setup
    - wpa_sm_tdls_disable_channel_switch
    - wpa_tdls_peer_free
    - wpa_tdls_send_teardown
    linkageType: ''
    returnType: void
    signature: void wpa_tdls_disable_unreachable_link(struct wpa_sm *sm, const u8
      *addr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/src/rsn_supp/tdls.c:954,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - sm
    - addr
    argTypes:
    - struct wpa_sm*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 946
    functionDepth: 1
    functionLinenumber: 946
    functionLinenumberEnd: 965
    functionName: wpa_tdls_get_link_status
    functionSourceFile: /src/hostap/src/rsn_supp/tdls.c
    functionUses: 2
    functionsReached:
    - ether_addr_equal
    linkageType: ''
    returnType: char
    signature: char * wpa_tdls_get_link_status(struct wpa_sm *sm, const u8 *addr)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/src/rsn_supp/tdls.c:981,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:986,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/tdls.c:987,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:992,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/rsn_supp/tdls.c:1000,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:1003,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/tdls.c:1004,1
    - Dst: wpa_supplicant_parse_ies
      Src: /src/hostap/src/rsn_supp/tdls.c:1013,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:1014,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:1018,1
    - Dst: wpa_tdls_get_privacy
      Src: /src/hostap/src/rsn_supp/tdls.c:1024,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:1028,1
    - Dst: wpa_supplicant_verify_tdls_mic_teardown
      Src: /src/hostap/src/rsn_supp/tdls.c:1035,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:1039,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/tdls.c:1040,1
    - Dst: wpa_tdls_disable_peer_link
      Src: /src/hostap/src/rsn_supp/tdls.c:1049,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 4
    argNames:
    - sm
    - src_addr
    - buf
    - len
    argTypes:
    - struct wpa_sm*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 968
    functionDepth: 4
    functionLinenumber: 968
    functionLinenumberEnd: 1051
    functionName: wpa_tdls_recv_teardown
    functionSourceFile: /src/hostap/src/rsn_supp/tdls.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_tdls_disable_peer_link
    - ether_addr_equal
    - WPA_GET_LE16
    - MAC2STR
    - wpa_supplicant_verify_tdls_mic_teardown
    - wpa_supplicant_parse_ies
    - wpa_tdls_get_privacy
    linkageType: ''
    returnType: int
    signature: "int wpa_tdls_recv_teardown(struct wpa_sm *sm, const u8 *src_addr,\n\t\t\t\t
      \ const u8 *buf, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:1067,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/tdls.c:1069,1
    - Dst: wpa_tdls_tpk_send
      Src: /src/hostap/src/rsn_supp/tdls.c:1070,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - sm
    - dst
    - tdls_action
    - dialog_token
    - initiator
    - status
    argTypes:
    - struct wpa_sm*
    - u8*
    - u8
    - u8
    - int
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1063
    functionDepth: 3
    functionLinenumber: 1063
    functionLinenumberEnd: 1072
    functionName: wpa_tdls_send_error
    functionSourceFile: /src/hostap/src/rsn_supp/tdls.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    - wpa_tdls_tpk_send
    linkageType: ''
    returnType: int
    signature: "int wpa_tdls_send_error(struct wpa_sm *sm, const u8 *dst,\n\t\t\t
      \      u8 tdls_action, u8 dialog_token, int initiator,\n\t\t\t       u16 status)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/src/rsn_supp/tdls.c:1083,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:1090,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/tdls.c:1091,1
    - Dst: os_zalloc
      Src: /src/hostap/src/rsn_supp/tdls.c:1093,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/tdls.c:1097,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - sm
    - addr
    - existing
    argTypes:
    - struct wpa_sm*
    - u8*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1075
    functionDepth: 1
    functionLinenumber: 1075
    functionLinenumberEnd: 1103
    functionName: wpa_tdls_add_peer
    functionSourceFile: /src/hostap/src/rsn_supp/tdls.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - ether_addr_equal
    - MAC2STR
    - os_zalloc
    linkageType: ''
    returnType: struct wpa_tdls_peer
    signature: 'struct wpa_tdls_peer *

      wpa_tdls_add_peer(struct wpa_sm *sm, const u8 *addr, int *existing)'
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: wpa_tdls_get_privacy
      Src: /src/hostap/src/rsn_supp/tdls.c:1118,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:1119,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/rsn_supp/tdls.c:1133,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/rsn_supp/tdls.c:1136,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/rsn_supp/tdls.c:1151,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/rsn_supp/tdls.c:1155,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/rsn_supp/tdls.c:1157,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/rsn_supp/tdls.c:1159,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:1166,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/rsn_supp/tdls.c:1171,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/tdls.c:1183,1
    - Dst: wpa_tdls_get_privacy
      Src: /src/hostap/src/rsn_supp/tdls.c:1188,1
    - Dst: wpa_tdls_get_privacy
      Src: /src/hostap/src/rsn_supp/tdls.c:1192,1
    - Dst: os_zalloc
      Src: /src/hostap/src/rsn_supp/tdls.c:1198,1
    - Dst: wpa_tdls_peer_free
      Src: /src/hostap/src/rsn_supp/tdls.c:1200,1
    - Dst: wpa_tdls_get_privacy
      Src: /src/hostap/src/rsn_supp/tdls.c:1205,1
    - Dst: wpa_add_ie
      Src: /src/hostap/src/rsn_supp/tdls.c:1209,1
    - Dst: os_get_random
      Src: /src/hostap/src/rsn_supp/tdls.c:1215,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/tdls.c:1216,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/tdls.c:1218,1
    - Dst: wpa_tdls_peer_free
      Src: /src/hostap/src/rsn_supp/tdls.c:1219,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/tdls.c:1223,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/tdls.c:1225,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/tdls.c:1227,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:1234,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:1247,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:1252,1
    - Dst: wpa_add_tdls_timeoutie
      Src: /src/hostap/src/rsn_supp/tdls.c:1257,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:1259,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:1267,1
    - Dst: wpa_tdls_linkid
      Src: /src/hostap/src/rsn_supp/tdls.c:1269,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:1275,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/tdls.c:1277,1
    - Dst: wpa_tdls_tpk_send
      Src: /src/hostap/src/rsn_supp/tdls.c:1279,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/tdls.c:1282,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 103
    argCount: 2
    argNames:
    - sm
    - peer
    argTypes:
    - struct wpa_sm*
    - struct wpa_tdls_peer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1285
      start: 1106
    functionDepth: 3
    functionLinenumber: 1106
    functionLinenumberEnd: 1285
    functionName: wpa_tdls_send_tpk_m1
    functionSourceFile: /src/hostap/src/rsn_supp/tdls.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_hexdump
    - wpa_msg
    - wpa_add_ie
    - wpa_tdls_linkid
    - os_get_random
    - MAC2STR
    - RSN_SELECTOR_PUT
    - os_zalloc
    - wpa_add_tdls_timeoutie
    - wpa_tdls_tpk_send
    - os_free
    - wpa_tdls_peer_free
    - wpa_tdls_get_privacy
    - WPA_PUT_LE16
    linkageType: ''
    returnType: int
    signature: "int wpa_tdls_send_tpk_m1(struct wpa_sm *sm,\n\t\t\t\tstruct wpa_tdls_peer
      *peer)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_tdls_get_privacy
      Src: /src/hostap/src/rsn_supp/tdls.c:1301,1
    - Dst: os_zalloc
      Src: /src/hostap/src/rsn_supp/tdls.c:1312,1
    - Dst: wpa_tdls_get_privacy
      Src: /src/hostap/src/rsn_supp/tdls.c:1317,1
    - Dst: wpa_add_ie
      Src: /src/hostap/src/rsn_supp/tdls.c:1321,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/tdls.c:1326,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/tdls.c:1327,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/tdls.c:1329,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:1336,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:1349,1
    - Dst: wpa_add_tdls_timeoutie
      Src: /src/hostap/src/rsn_supp/tdls.c:1354,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:1356,1
    - Dst: wpa_tdls_ftie_mic
      Src: /src/hostap/src/rsn_supp/tdls.c:1360,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:1365,1
    - Dst: wpa_tdls_tpk_send
      Src: /src/hostap/src/rsn_supp/tdls.c:1371,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/tdls.c:1374,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 46
    argCount: 5
    argNames:
    - sm
    - src_addr
    - dtoken
    - lnkid
    - peer
    argTypes:
    - struct wpa_sm*
    - unsigned char*
    - u8
    - struct wpa_tdls_lnkid*
    - struct wpa_tdls_peer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1377
      start: 1288
    functionDepth: 3
    functionLinenumber: 1288
    functionLinenumberEnd: 1377
    functionName: wpa_tdls_send_tpk_m2
    functionSourceFile: /src/hostap/src/rsn_supp/tdls.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_printf
    - wpa_tdls_ftie_mic
    - wpa_hexdump
    - wpa_add_ie
    - os_zalloc
    - wpa_add_tdls_timeoutie
    - wpa_tdls_tpk_send
    - os_free
    - wpa_tdls_get_privacy
    linkageType: ''
    returnType: int
    signature: "int wpa_tdls_send_tpk_m2(struct wpa_sm *sm,\n\t\t\t\tconst unsigned
      char *src_addr, u8 dtoken,\n\t\t\t\tstruct wpa_tdls_lnkid *lnkid,\n\t\t\t\tconst
      struct wpa_tdls_peer *peer)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: wpa_tdls_get_privacy
      Src: /src/hostap/src/rsn_supp/tdls.c:1394,1
    - Dst: os_zalloc
      Src: /src/hostap/src/rsn_supp/tdls.c:1405,1
    - Dst: wpa_tdls_get_privacy
      Src: /src/hostap/src/rsn_supp/tdls.c:1410,1
    - Dst: wpa_add_ie
      Src: /src/hostap/src/rsn_supp/tdls.c:1414,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/tdls.c:1419,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/tdls.c:1420,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:1427,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:1440,1
    - Dst: wpa_add_tdls_timeoutie
      Src: /src/hostap/src/rsn_supp/tdls.c:1445,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:1447,1
    - Dst: wpa_tdls_ftie_mic
      Src: /src/hostap/src/rsn_supp/tdls.c:1451,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:1456,1
    - Dst: wpa_tdls_tpk_send
      Src: /src/hostap/src/rsn_supp/tdls.c:1472,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/tdls.c:1475,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 53
    argCount: 5
    argNames:
    - sm
    - src_addr
    - dtoken
    - lnkid
    - peer
    argTypes:
    - struct wpa_sm*
    - unsigned char*
    - u8
    - struct wpa_tdls_lnkid*
    - struct wpa_tdls_peer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1478
      start: 1380
    functionDepth: 3
    functionLinenumber: 1380
    functionLinenumberEnd: 1478
    functionName: wpa_tdls_send_tpk_m3
    functionSourceFile: /src/hostap/src/rsn_supp/tdls.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_printf
    - wpa_tdls_ftie_mic
    - wpa_add_ie
    - os_zalloc
    - wpa_add_tdls_timeoutie
    - wpa_tdls_tpk_send
    - os_free
    - wpa_tdls_get_privacy
    linkageType: ''
    returnType: int
    signature: "int wpa_tdls_send_tpk_m3(struct wpa_sm *sm,\n\t\t\t\tconst unsigned
      char *src_addr, u8 dtoken,\n\t\t\t\tstruct wpa_tdls_lnkid *lnkid,\n\t\t\t\tconst
      struct wpa_tdls_peer *peer)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:1493,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/tdls.c:1494,1
    - Dst: wpa_tdls_get_privacy
      Src: /src/hostap/src/rsn_supp/tdls.c:1495,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/rsn_supp/tdls.c:1501,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/rsn_supp/tdls.c:1503,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/rsn_supp/tdls.c:1517,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/rsn_supp/tdls.c:1520,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/rsn_supp/tdls.c:1521,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/rsn_supp/tdls.c:1523,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/rsn_supp/tdls.c:1528,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/tdls.c:1533,1
    - Dst: wpa_tdls_get_privacy
      Src: /src/hostap/src/rsn_supp/tdls.c:1537,1
    - Dst: os_zalloc
      Src: /src/hostap/src/rsn_supp/tdls.c:1542,1
    - Dst: wpa_tdls_peer_free
      Src: /src/hostap/src/rsn_supp/tdls.c:1544,1
    - Dst: wpa_tdls_get_privacy
      Src: /src/hostap/src/rsn_supp/tdls.c:1549,1
    - Dst: wpa_add_ie
      Src: /src/hostap/src/rsn_supp/tdls.c:1552,1
    - Dst: wpa_add_tdls_timeoutie
      Src: /src/hostap/src/rsn_supp/tdls.c:1555,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:1557,1
    - Dst: wpa_tdls_tpk_send
      Src: /src/hostap/src/rsn_supp/tdls.c:1559,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/tdls.c:1562,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 53
    argCount: 4
    argNames:
    - sm
    - peer
    - dialog_token
    - link_id
    argTypes:
    - struct wpa_sm*
    - struct wpa_tdls_peer*
    - u8
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1565
      start: 1481
    functionDepth: 3
    functionLinenumber: 1481
    functionLinenumberEnd: 1565
    functionName: wpa_tdls_send_discovery_response
    functionSourceFile: /src/hostap/src/rsn_supp/tdls.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    - wpa_add_ie
    - MAC2STR
    - RSN_SELECTOR_PUT
    - os_zalloc
    - wpa_add_tdls_timeoutie
    - wpa_tdls_tpk_send
    - os_free
    - wpa_tdls_peer_free
    - wpa_tdls_get_privacy
    - WPA_PUT_LE16
    linkageType: ''
    returnType: int
    signature: "int wpa_tdls_send_discovery_response(struct wpa_sm *sm,\n\t\t\t\t\t
      \   struct wpa_tdls_peer *peer,\n\t\t\t\t\t    u8 dialog_token, int link_id)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/src/rsn_supp/tdls.c:1575,1
    - Dst: for_each_link
      Src: /src/hostap/src/rsn_supp/tdls.c:1580,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/rsn_supp/tdls.c:1581,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:1588,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/tdls.c:1590,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - sm
    - lnkid
    - link_id
    argTypes:
    - struct wpa_sm*
    - struct wpa_tdls_lnkid*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1596
      start: 1568
    functionDepth: 1
    functionLinenumber: 1568
    functionLinenumberEnd: 1596
    functionName: wpa_tdls_is_lnkid_bss_valid
    functionSourceFile: /src/hostap/src/rsn_supp/tdls.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    - ether_addr_equal
    - for_each_link
    linkageType: ''
    returnType: bool
    signature: "bool wpa_tdls_is_lnkid_bss_valid(struct wpa_sm *sm,\n\t\t\t\t\tconst
      struct wpa_tdls_lnkid *lnkid,\n\t\t\t\t\tint *link_id)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:1611,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/tdls.c:1612,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:1615,1
    - Dst: wpa_supplicant_parse_ies
      Src: /src/hostap/src/rsn_supp/tdls.c:1627,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:1630,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:1635,1
    - Dst: wpa_tdls_is_lnkid_bss_valid
      Src: /src/hostap/src/rsn_supp/tdls.c:1642,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:1643,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/tdls.c:1645,1
    - Dst: wpa_tdls_add_peer
      Src: /src/hostap/src/rsn_supp/tdls.c:1649,1
    - Dst: wpa_tdls_send_discovery_response
      Src: /src/hostap/src/rsn_supp/tdls.c:1653,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 4
    argNames:
    - sm
    - addr
    - buf
    - len
    argTypes:
    - struct wpa_sm*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1655
      start: 1599
    functionDepth: 4
    functionLinenumber: 1599
    functionLinenumberEnd: 1655
    functionName: wpa_tdls_process_discovery_request
    functionSourceFile: /src/hostap/src/rsn_supp/tdls.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_tdls_send_discovery_response
    - wpa_tdls_add_peer
    - wpa_tdls_is_lnkid_bss_valid
    - MAC2STR
    - wpa_supplicant_parse_ies
    linkageType: ''
    returnType: int
    signature: "int wpa_tdls_process_discovery_request(struct wpa_sm *sm, const u8
      *addr,\n\t\t\t\t   const u8 *buf, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:1663,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/tdls.c:1664,1
    - Dst: wpa_tdls_tpk_send
      Src: /src/hostap/src/rsn_supp/tdls.c:1665,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - sm
    - addr
    argTypes:
    - struct wpa_sm*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1667
      start: 1658
    functionDepth: 3
    functionLinenumber: 1658
    functionLinenumberEnd: 1667
    functionName: wpa_tdls_send_discovery_request
    functionSourceFile: /src/hostap/src/rsn_supp/tdls.c
    functionUses: 3
    functionsReached:
    - MAC2STR
    - wpa_printf
    - wpa_tdls_tpk_send
    linkageType: ''
    returnType: int
    signature: int wpa_tdls_send_discovery_request(struct wpa_sm *sm, const u8 *addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:1674,1
    - Dst: merge_byte_arrays
      Src: /src/hostap/src/rsn_supp/tdls.c:1677,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - kde
    - peer
    argTypes:
    - struct wpa_eapol_ie_parse*
    - struct wpa_tdls_peer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1683
      start: 1670
    functionDepth: 1
    functionLinenumber: 1670
    functionLinenumberEnd: 1683
    functionName: copy_supp_rates
    functionSourceFile: /src/hostap/src/rsn_supp/tdls.c
    functionUses: 1
    functionsReached:
    - merge_byte_arrays
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int copy_supp_rates(const struct wpa_eapol_ie_parse *kde,\n\t\t\t
      \  struct wpa_tdls_peer *peer)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:1690,1
    - Dst: os_zalloc
      Src: /src/hostap/src/rsn_supp/tdls.c:1697,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/tdls.c:1702,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/tdls.c:1704,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - kde
    - peer
    argTypes:
    - struct wpa_eapol_ie_parse*
    - struct wpa_tdls_peer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1709
      start: 1686
    functionDepth: 0
    functionLinenumber: 1686
    functionLinenumberEnd: 1709
    functionName: copy_peer_ht_capab
    functionSourceFile: /src/hostap/src/rsn_supp/tdls.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - os_zalloc
    - wpa_hexdump
    linkageType: ''
    returnType: int
    signature: "int copy_peer_ht_capab(const struct wpa_eapol_ie_parse *kde,\n\t\t\t
      \     struct wpa_tdls_peer *peer)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:1716,1
    - Dst: os_zalloc
      Src: /src/hostap/src/rsn_supp/tdls.c:1723,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/tdls.c:1728,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/tdls.c:1730,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - kde
    - peer
    argTypes:
    - struct wpa_eapol_ie_parse*
    - struct wpa_tdls_peer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1735
      start: 1712
    functionDepth: 0
    functionLinenumber: 1712
    functionLinenumberEnd: 1735
    functionName: copy_peer_vht_capab
    functionSourceFile: /src/hostap/src/rsn_supp/tdls.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - os_zalloc
    - wpa_hexdump
    linkageType: ''
    returnType: int
    signature: "int copy_peer_vht_capab(const struct wpa_eapol_ie_parse *kde,\n\t\t\t
      \     struct wpa_tdls_peer *peer)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:1742,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/tdls.c:1746,1
    - Dst: os_memdup
      Src: /src/hostap/src/rsn_supp/tdls.c:1748,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/tdls.c:1754,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - kde
    - peer
    argTypes:
    - struct wpa_eapol_ie_parse*
    - struct wpa_tdls_peer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1758
      start: 1738
    functionDepth: 0
    functionLinenumber: 1738
    functionLinenumberEnd: 1758
    functionName: copy_peer_he_capab
    functionSourceFile: /src/hostap/src/rsn_supp/tdls.c
    functionUses: 0
    functionsReached:
    - os_free
    - os_memdup
    - wpa_printf
    - wpa_hexdump
    linkageType: ''
    returnType: int
    signature: "int copy_peer_he_capab(const struct wpa_eapol_ie_parse *kde,\n\t\t\t
      \     struct wpa_tdls_peer *peer)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:1765,1
    - Dst: os_zalloc
      Src: /src/hostap/src/rsn_supp/tdls.c:1772,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/tdls.c:1777,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/tdls.c:1780,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - kde
    - peer
    argTypes:
    - struct wpa_eapol_ie_parse*
    - struct wpa_tdls_peer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1785
      start: 1761
    functionDepth: 0
    functionLinenumber: 1761
    functionLinenumberEnd: 1785
    functionName: copy_peer_he_6ghz_band_capab
    functionSourceFile: /src/hostap/src/rsn_supp/tdls.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - os_zalloc
    - wpa_hexdump
    linkageType: ''
    returnType: int
    signature: "int copy_peer_he_6ghz_band_capab(const struct wpa_eapol_ie_parse *kde,\n\t\t\t\t\tstruct
      wpa_tdls_peer *peer)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:1792,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/tdls.c:1799,1
    - Dst: os_zalloc
      Src: /src/hostap/src/rsn_supp/tdls.c:1800,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/tdls.c:1806,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - kde
    - peer
    argTypes:
    - struct wpa_eapol_ie_parse*
    - struct wpa_tdls_peer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1809
      start: 1788
    functionDepth: 0
    functionLinenumber: 1788
    functionLinenumberEnd: 1809
    functionName: copy_peer_ext_capab
    functionSourceFile: /src/hostap/src/rsn_supp/tdls.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpa_printf
    - os_memcpy
    - os_zalloc
    linkageType: ''
    returnType: int
    signature: "int copy_peer_ext_capab(const struct wpa_eapol_ie_parse *kde,\n\t\t\t
      \      struct wpa_tdls_peer *peer)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:1816,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/tdls.c:1820,1
    - Dst: os_memdup
      Src: /src/hostap/src/rsn_supp/tdls.c:1822,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/tdls.c:1828,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - kde
    - peer
    argTypes:
    - struct wpa_eapol_ie_parse*
    - struct wpa_tdls_peer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1832
      start: 1812
    functionDepth: 0
    functionLinenumber: 1812
    functionLinenumberEnd: 1832
    functionName: copy_peer_eht_capab
    functionSourceFile: /src/hostap/src/rsn_supp/tdls.c
    functionUses: 0
    functionsReached:
    - os_free
    - os_memdup
    - wpa_printf
    - wpa_hexdump
    linkageType: ''
    returnType: int
    signature: "int copy_peer_eht_capab(const struct wpa_eapol_ie_parse *kde,\n\t\t\t
      \      struct wpa_tdls_peer *peer)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:1841,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:1846,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:1855,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - kde
    - peer
    argTypes:
    - struct wpa_eapol_ie_parse*
    - struct wpa_tdls_peer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1857
      start: 1835
    functionDepth: 0
    functionLinenumber: 1835
    functionLinenumberEnd: 1857
    functionName: copy_peer_wmm_capab
    functionSourceFile: /src/hostap/src/rsn_supp/tdls.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int copy_peer_wmm_capab(const struct wpa_eapol_ie_parse *kde,\n\t\t\t
      \      struct wpa_tdls_peer *peer)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:1864,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/tdls.c:1870,1
    - Dst: os_zalloc
      Src: /src/hostap/src/rsn_supp/tdls.c:1871,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/tdls.c:1878,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/tdls.c:1880,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - kde
    - peer
    argTypes:
    - struct wpa_eapol_ie_parse*
    - struct wpa_tdls_peer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1883
      start: 1860
    functionDepth: 0
    functionLinenumber: 1860
    functionLinenumberEnd: 1883
    functionName: copy_peer_supp_channels
    functionSourceFile: /src/hostap/src/rsn_supp/tdls.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_hexdump
    - os_zalloc
    - os_free
    linkageType: ''
    returnType: int
    signature: "int copy_peer_supp_channels(const struct wpa_eapol_ie_parse *kde,\n\t\t\t\t
      \  struct wpa_tdls_peer *peer)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:1890,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/tdls.c:1896,1
    - Dst: os_zalloc
      Src: /src/hostap/src/rsn_supp/tdls.c:1897,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/tdls.c:1903,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/tdls.c:1905,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - kde
    - peer
    argTypes:
    - struct wpa_eapol_ie_parse*
    - struct wpa_tdls_peer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1909
      start: 1886
    functionDepth: 0
    functionLinenumber: 1886
    functionLinenumberEnd: 1909
    functionName: copy_peer_supp_oper_classes
    functionSourceFile: /src/hostap/src/rsn_supp/tdls.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_hexdump
    - os_zalloc
    - os_free
    linkageType: ''
    returnType: int
    signature: "int copy_peer_supp_oper_classes(const struct wpa_eapol_ie_parse *kde,\n\t\t\t\t
      \      struct wpa_tdls_peer *peer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_sm_tdls_peer_addset
      Src: /src/hostap/src/rsn_supp/tdls.c:1915,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sm
    - peer
    - add
    argTypes:
    - struct wpa_sm*
    - struct wpa_tdls_peer*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1932
      start: 1912
    functionDepth: 1
    functionLinenumber: 1912
    functionLinenumberEnd: 1932
    functionName: wpa_tdls_addset_peer
    functionSourceFile: /src/hostap/src/rsn_supp/tdls.c
    functionUses: 0
    functionsReached:
    - wpa_sm_tdls_peer_addset
    linkageType: ''
    returnType: int
    signature: "int wpa_tdls_addset_peer(struct wpa_sm *sm, struct wpa_tdls_peer *peer,\n\t\t\t\tint
      add)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - nonce
    argTypes:
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1945
      start: 1935
    functionDepth: 0
    functionLinenumber: 1935
    functionLinenumberEnd: 1945
    functionName: tdls_nonce_set
    functionSourceFile: /src/hostap/src/rsn_supp/tdls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tdls_nonce_set(const u8 *nonce)
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:1982,1
    - Dst: wpa_tdls_add_peer
      Src: /src/hostap/src/rsn_supp/tdls.c:1984,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:1993,1
    - Dst: wpa_sm_tdls_oper
      Src: /src/hostap/src/rsn_supp/tdls.c:1996,1
    - Dst: wpa_tdls_peer_clear
      Src: /src/hostap/src/rsn_supp/tdls.c:1997,1
    - Dst: os_memcmp
      Src: /src/hostap/src/rsn_supp/tdls.c:2006,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:2007,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/tdls.c:2009,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:2012,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/tdls.c:2016,1
    - Dst: wpa_sm_tdls_oper
      Src: /src/hostap/src/rsn_supp/tdls.c:2017,1
    - Dst: wpa_tdls_peer_clear
      Src: /src/hostap/src/rsn_supp/tdls.c:2019,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/rsn_supp/tdls.c:2025,1
    - Dst: wpa_supplicant_parse_ies
      Src: /src/hostap/src/rsn_supp/tdls.c:2035,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:2036,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:2040,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/tdls.c:2044,1
    - Dst: wpa_tdls_is_lnkid_bss_valid
      Src: /src/hostap/src/rsn_supp/tdls.c:2048,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:2049,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/tdls.c:2050,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:2056,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/tdls.c:2057,1
    - Dst: copy_supp_rates
      Src: /src/hostap/src/rsn_supp/tdls.c:2059,1
    - Dst: copy_peer_ht_capab
      Src: /src/hostap/src/rsn_supp/tdls.c:2062,1
    - Dst: copy_peer_vht_capab
      Src: /src/hostap/src/rsn_supp/tdls.c:2065,1
    - Dst: copy_peer_he_capab
      Src: /src/hostap/src/rsn_supp/tdls.c:2066,1
    - Dst: copy_peer_he_6ghz_band_capab
      Src: /src/hostap/src/rsn_supp/tdls.c:2067,1
    - Dst: copy_peer_eht_capab
      Src: /src/hostap/src/rsn_supp/tdls.c:2070,1
    - Dst: copy_peer_ext_capab
      Src: /src/hostap/src/rsn_supp/tdls.c:2073,1
    - Dst: copy_peer_supp_channels
      Src: /src/hostap/src/rsn_supp/tdls.c:2076,1
    - Dst: copy_peer_supp_oper_classes
      Src: /src/hostap/src/rsn_supp/tdls.c:2079,1
    - Dst: copy_peer_wmm_capab
      Src: /src/hostap/src/rsn_supp/tdls.c:2085,1
    - Dst: wpa_tdls_add_peer
      Src: /src/hostap/src/rsn_supp/tdls.c:2092,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:2095,1
    - Dst: wpa_sm_tdls_peer_addset
      Src: /src/hostap/src/rsn_supp/tdls.c:2098,1
    - Dst: wpa_tdls_send_tpk_m1
      Src: /src/hostap/src/rsn_supp/tdls.c:2101,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:2109,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:2116,1
    - Dst: wpa_tdls_get_privacy
      Src: /src/hostap/src/rsn_supp/tdls.c:2121,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:2123,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:2133,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:2139,1
    - Dst: wpa_parse_wpa_ie_rsn
      Src: /src/hostap/src/rsn_supp/tdls.c:2145,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:2146,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:2153,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:2156,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:2164,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:2172,1
    - Dst: WPA_GET_LE32
      Src: /src/hostap/src/rsn_supp/tdls.c:2177,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:2178,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:2180,1
    - Dst: os_memcmp
      Src: /src/hostap/src/rsn_supp/tdls.c:2188,1
    - Dst: wpa_tdls_get_privacy
      Src: /src/hostap/src/rsn_supp/tdls.c:2202,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/tdls.c:2210,1
    - Dst: os_memcmp
      Src: /src/hostap/src/rsn_supp/tdls.c:2214,1
    - Dst: tdls_nonce_set
      Src: /src/hostap/src/rsn_supp/tdls.c:2215,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:2223,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/tdls.c:2225,1
    - Dst: os_get_random
      Src: /src/hostap/src/rsn_supp/tdls.c:2226,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/tdls.c:2227,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/rsn_supp/tdls.c:2237,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/rsn_supp/tdls.c:2246,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/rsn_supp/tdls.c:2249,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/rsn_supp/tdls.c:2252,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/rsn_supp/tdls.c:2255,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/rsn_supp/tdls.c:2258,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/rsn_supp/tdls.c:2260,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/rsn_supp/tdls.c:2265,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/tdls.c:2273,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/tdls.c:2276,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:2282,1
    - Dst: wpa_tdls_generate_tpk
      Src: /src/hostap/src/rsn_supp/tdls.c:2284,1
    - Dst: wpa_tdls_get_link_bssid
      Src: /src/hostap/src/rsn_supp/tdls.c:2285,1
    - Dst: wpa_tdls_addset_peer
      Src: /src/hostap/src/rsn_supp/tdls.c:2294,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:2302,1
    - Dst: wpa_tdls_send_tpk_m2
      Src: /src/hostap/src/rsn_supp/tdls.c:2303,1
    - Dst: wpa_sm_tdls_oper
      Src: /src/hostap/src/rsn_supp/tdls.c:2304,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:2310,1
    - Dst: wpa_tdls_send_tpk_m2
      Src: /src/hostap/src/rsn_supp/tdls.c:2311,1
    - Dst: wpa_tdls_send_error
      Src: /src/hostap/src/rsn_supp/tdls.c:2318,1
    - Dst: wpa_tdls_peer_free
      Src: /src/hostap/src/rsn_supp/tdls.c:2321,1
    CyclomaticComplexity: 80
    EdgeCount: 80
    ICount: 251
    argCount: 4
    argNames:
    - sm
    - src_addr
    - buf
    - len
    argTypes:
    - struct wpa_sm*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2323
      start: 1948
    functionDepth: 4
    functionLinenumber: 1948
    functionLinenumberEnd: 2323
    functionName: wpa_tdls_process_tpk_m1
    functionSourceFile: /src/hostap/src/rsn_supp/tdls.c
    functionUses: 0
    functionsReached:
    - wpa_hexdump
    - copy_peer_eht_capab
    - wpa_tdls_is_lnkid_bss_valid
    - wpa_tdls_send_tpk_m1
    - WPA_GET_LE16
    - copy_peer_he_6ghz_band_capab
    - copy_peer_supp_oper_classes
    - copy_peer_wmm_capab
    - wpa_printf
    - wpa_tdls_send_error
    - tdls_nonce_set
    - wpa_sm_tdls_oper
    - os_get_random
    - copy_peer_ht_capab
    - os_memcmp
    - wpa_supplicant_parse_ies
    - wpa_tdls_send_tpk_m2
    - wpa_tdls_get_privacy
    - WPA_PUT_LE16
    - copy_peer_he_capab
    - wpa_tdls_generate_tpk
    - wpa_tdls_add_peer
    - wpa_sm_tdls_peer_addset
    - wpa_tdls_peer_clear
    - wpa_tdls_get_link_bssid
    - wpa_tdls_peer_free
    - copy_peer_supp_channels
    - copy_supp_rates
    - os_memcpy
    - copy_peer_ext_capab
    - wpa_msg
    - copy_peer_vht_capab
    - wpa_parse_wpa_ie_rsn
    - WPA_GET_LE32
    - MAC2STR
    - RSN_SELECTOR_PUT
    - wpa_tdls_addset_peer
    linkageType: ''
    returnType: int
    signature: "int wpa_tdls_process_tpk_m1(struct wpa_sm *sm, const u8 *src_addr,\n\t\t\t\t
      \  const u8 *buf, size_t len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/rsn_supp/tdls.c:2330,1
    - Dst: wpa_tdls_get_privacy
      Src: /src/hostap/src/rsn_supp/tdls.c:2331,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/rsn_supp/tdls.c:2339,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:2343,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/rsn_supp/tdls.c:2345,1
    - Dst: wpa_tdls_set_key
      Src: /src/hostap/src/rsn_supp/tdls.c:2350,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:2351,1
    - Dst: wpa_sm_tdls_oper
      Src: /src/hostap/src/rsn_supp/tdls.c:2357,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - sm
    - peer
    argTypes:
    - struct wpa_sm*
    - struct wpa_tdls_peer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2358
      start: 2326
    functionDepth: 2
    functionLinenumber: 2326
    functionLinenumberEnd: 2358
    functionName: wpa_tdls_enable_link
    functionSourceFile: /src/hostap/src/rsn_supp/tdls.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eloop_cancel_timeout
    - wpa_sm_tdls_oper
    - wpa_tdls_set_key
    - eloop_register_timeout
    - wpa_tdls_get_privacy
    linkageType: ''
    returnType: int
    signature: int wpa_tdls_enable_link(struct wpa_sm *sm, struct wpa_tdls_peer *peer)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:2378,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/tdls.c:2379,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/rsn_supp/tdls.c:2381,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:2385,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/tdls.c:2386,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:2395,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/tdls.c:2396,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:2401,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/tdls.c:2403,1
    - Dst: wpa_tdls_tpk_retry_timeout_cancel
      Src: /src/hostap/src/rsn_supp/tdls.c:2407,1
    - Dst: wpa_tdls_disable_peer_link
      Src: /src/hostap/src/rsn_supp/tdls.c:2410,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/rsn_supp/tdls.c:2416,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:2420,1
    - Dst: wpa_tdls_disable_peer_link
      Src: /src/hostap/src/rsn_supp/tdls.c:2422,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:2431,1
    - Dst: wpa_tdls_disable_peer_link
      Src: /src/hostap/src/rsn_supp/tdls.c:2434,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/rsn_supp/tdls.c:2439,1
    - Dst: wpa_supplicant_parse_ies
      Src: /src/hostap/src/rsn_supp/tdls.c:2449,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:2450,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:2455,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:2462,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/tdls.c:2466,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/rsn_supp/tdls.c:2470,1
    - Dst: wpa_tdls_get_link_bssid
      Src: /src/hostap/src/rsn_supp/tdls.c:2470,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:2472,1
    - Dst: copy_supp_rates
      Src: /src/hostap/src/rsn_supp/tdls.c:2477,1
    - Dst: copy_peer_ht_capab
      Src: /src/hostap/src/rsn_supp/tdls.c:2480,1
    - Dst: copy_peer_vht_capab
      Src: /src/hostap/src/rsn_supp/tdls.c:2483,1
    - Dst: copy_peer_he_capab
      Src: /src/hostap/src/rsn_supp/tdls.c:2484,1
    - Dst: copy_peer_he_6ghz_band_capab
      Src: /src/hostap/src/rsn_supp/tdls.c:2485,1
    - Dst: copy_peer_eht_capab
      Src: /src/hostap/src/rsn_supp/tdls.c:2488,1
    - Dst: copy_peer_ext_capab
      Src: /src/hostap/src/rsn_supp/tdls.c:2491,1
    - Dst: copy_peer_supp_channels
      Src: /src/hostap/src/rsn_supp/tdls.c:2494,1
    - Dst: copy_peer_supp_oper_classes
      Src: /src/hostap/src/rsn_supp/tdls.c:2497,1
    - Dst: copy_peer_wmm_capab
      Src: /src/hostap/src/rsn_supp/tdls.c:2503,1
    - Dst: wpa_tdls_get_privacy
      Src: /src/hostap/src/rsn_supp/tdls.c:2508,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:2516,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/tdls.c:2520,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:2524,1
    - Dst: os_memcmp
      Src: /src/hostap/src/rsn_supp/tdls.c:2537,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:2538,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/tdls.c:2540,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/tdls.c:2542,1
    - Dst: wpa_parse_wpa_ie_rsn
      Src: /src/hostap/src/rsn_supp/tdls.c:2548,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:2549,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:2556,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:2559,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/tdls.c:2564,1
    - Dst: os_memcmp
      Src: /src/hostap/src/rsn_supp/tdls.c:2568,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:2569,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/tdls.c:2576,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/tdls.c:2577,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:2583,1
    - Dst: WPA_GET_LE32
      Src: /src/hostap/src/rsn_supp/tdls.c:2588,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:2589,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:2592,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:2599,1
    - Dst: wpa_tdls_generate_tpk
      Src: /src/hostap/src/rsn_supp/tdls.c:2601,1
    - Dst: wpa_tdls_get_link_bssid
      Src: /src/hostap/src/rsn_supp/tdls.c:2602,1
    - Dst: wpa_supplicant_verify_tdls_mic
      Src: /src/hostap/src/rsn_supp/tdls.c:2605,1
    - Dst: wpa_tdls_del_key
      Src: /src/hostap/src/rsn_supp/tdls.c:2609,1
    - Dst: wpa_tdls_disable_peer_link
      Src: /src/hostap/src/rsn_supp/tdls.c:2610,1
    - Dst: wpa_tdls_set_key
      Src: /src/hostap/src/rsn_supp/tdls.c:2614,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:2619,1
    - Dst: wpa_tdls_addset_peer
      Src: /src/hostap/src/rsn_supp/tdls.c:2628,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:2631,1
    - Dst: wpa_tdls_send_tpk_m3
      Src: /src/hostap/src/rsn_supp/tdls.c:2633,1
    - Dst: wpa_tdls_enable_link
      Src: /src/hostap/src/rsn_supp/tdls.c:2642,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:2644,1
    - Dst: wpa_tdls_do_teardown
      Src: /src/hostap/src/rsn_supp/tdls.c:2645,1
    - Dst: wpa_tdls_send_error
      Src: /src/hostap/src/rsn_supp/tdls.c:2653,1
    - Dst: wpa_tdls_disable_peer_link
      Src: /src/hostap/src/rsn_supp/tdls.c:2656,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 194
    argCount: 4
    argNames:
    - sm
    - src_addr
    - buf
    - len
    argTypes:
    - struct wpa_sm*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2658
      start: 2361
    functionDepth: 4
    functionLinenumber: 2361
    functionLinenumberEnd: 2658
    functionName: wpa_tdls_process_tpk_m2
    functionSourceFile: /src/hostap/src/rsn_supp/tdls.c
    functionUses: 0
    functionsReached:
    - wpa_hexdump
    - copy_peer_eht_capab
    - WPA_GET_LE16
    - copy_peer_he_6ghz_band_capab
    - copy_peer_supp_oper_classes
    - wpa_supplicant_verify_tdls_mic
    - copy_peer_wmm_capab
    - wpa_tdls_tpk_retry_timeout_cancel
    - wpa_printf
    - wpa_tdls_disable_peer_link
    - wpa_tdls_send_error
    - ether_addr_equal
    - copy_peer_ht_capab
    - wpa_tdls_set_key
    - os_memcmp
    - wpa_supplicant_parse_ies
    - wpa_tdls_get_privacy
    - wpa_tdls_send_tpk_m3
    - copy_peer_he_capab
    - wpa_tdls_generate_tpk
    - wpa_tdls_del_key
    - wpa_tdls_get_link_bssid
    - copy_peer_supp_channels
    - copy_supp_rates
    - wpa_tdls_enable_link
    - os_memcpy
    - copy_peer_ext_capab
    - wpa_tdls_do_teardown
    - copy_peer_vht_capab
    - wpa_parse_wpa_ie_rsn
    - WPA_GET_LE32
    - MAC2STR
    - wpa_tdls_addset_peer
    linkageType: ''
    returnType: int
    signature: "int wpa_tdls_process_tpk_m2(struct wpa_sm *sm, const u8 *src_addr,\n\t\t\t\t
      \  const u8 *buf, size_t len)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:2675,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/tdls.c:2676,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/rsn_supp/tdls.c:2678,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:2682,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/tdls.c:2683,1
    - Dst: wpa_tdls_tpk_retry_timeout_cancel
      Src: /src/hostap/src/rsn_supp/tdls.c:2686,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/rsn_supp/tdls.c:2693,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:2696,1
    - Dst: wpa_supplicant_parse_ies
      Src: /src/hostap/src/rsn_supp/tdls.c:2710,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:2711,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:2716,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/tdls.c:2719,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/rsn_supp/tdls.c:2723,1
    - Dst: wpa_tdls_get_link_bssid
      Src: /src/hostap/src/rsn_supp/tdls.c:2723,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:2725,1
    - Dst: wpa_tdls_get_privacy
      Src: /src/hostap/src/rsn_supp/tdls.c:2729,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:2733,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/tdls.c:2736,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:2741,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/tdls.c:2744,1
    - Dst: os_memcmp
      Src: /src/hostap/src/rsn_supp/tdls.c:2747,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:2748,1
    - Dst: os_memcmp
      Src: /src/hostap/src/rsn_supp/tdls.c:2753,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:2754,1
    - Dst: os_memcmp
      Src: /src/hostap/src/rsn_supp/tdls.c:2759,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:2760,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:2766,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/tdls.c:2770,1
    - Dst: WPA_GET_LE32
      Src: /src/hostap/src/rsn_supp/tdls.c:2772,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:2773,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:2776,1
    - Dst: wpa_supplicant_verify_tdls_mic
      Src: /src/hostap/src/rsn_supp/tdls.c:2781,1
    - Dst: wpa_tdls_del_key
      Src: /src/hostap/src/rsn_supp/tdls.c:2784,1
    - Dst: wpa_tdls_set_key
      Src: /src/hostap/src/rsn_supp/tdls.c:2788,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:2793,1
    - Dst: wpa_tdls_addset_peer
      Src: /src/hostap/src/rsn_supp/tdls.c:2800,1
    - Dst: wpa_tdls_enable_link
      Src: /src/hostap/src/rsn_supp/tdls.c:2809,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:2811,1
    - Dst: wpa_tdls_do_teardown
      Src: /src/hostap/src/rsn_supp/tdls.c:2817,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 111
    argCount: 4
    argNames:
    - sm
    - src_addr
    - buf
    - len
    argTypes:
    - struct wpa_sm*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2819
      start: 2661
    functionDepth: 3
    functionLinenumber: 2661
    functionLinenumberEnd: 2819
    functionName: wpa_tdls_process_tpk_m3
    functionSourceFile: /src/hostap/src/rsn_supp/tdls.c
    functionUses: 0
    functionsReached:
    - wpa_tdls_enable_link
    - wpa_tdls_tpk_retry_timeout_cancel
    - wpa_printf
    - wpa_hexdump
    - wpa_tdls_do_teardown
    - ether_addr_equal
    - WPA_GET_LE32
    - WPA_GET_LE16
    - wpa_tdls_del_key
    - wpa_tdls_set_key
    - MAC2STR
    - wpa_tdls_addset_peer
    - os_memcmp
    - wpa_supplicant_parse_ies
    - wpa_supplicant_verify_tdls_mic
    - wpa_tdls_get_link_bssid
    - wpa_tdls_get_privacy
    linkageType: ''
    returnType: int
    signature: "int wpa_tdls_process_tpk_m3(struct wpa_sm *sm, const u8 *src_addr,\n\t\t\t\t
      \  const u8 *buf, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/rsn_supp/tdls.c:2826,1
    - Dst: WPA_PUT_LE32
      Src: /src/hostap/src/rsn_supp/tdls.c:2830,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/tdls.c:2831,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - pos
    - ie
    - ie_len
    - tsecs
    argTypes:
    - u8*
    - u8*
    - size_t
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2833
      start: 2822
    functionDepth: 1
    functionLinenumber: 2822
    functionLinenumberEnd: 2833
    functionName: wpa_add_tdls_timeoutie
    functionSourceFile: /src/hostap/src/rsn_supp/tdls.c
    functionUses: 4
    functionsReached:
    - os_memcpy
    - WPA_PUT_LE32
    - os_memset
    linkageType: ''
    returnType: u8
    signature: u8 * wpa_add_tdls_timeoutie(u8 *pos, u8 *ie, size_t ie_len, u32 tsecs)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:2857,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:2864,1
    - Dst: wpa_tdls_add_peer
      Src: /src/hostap/src/rsn_supp/tdls.c:2869,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:2874,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:2879,1
    - Dst: wpa_sm_tdls_peer_addset
      Src: /src/hostap/src/rsn_supp/tdls.c:2887,1
    - Dst: wpa_tdls_disable_peer_link
      Src: /src/hostap/src/rsn_supp/tdls.c:2890,1
    - Dst: wpa_tdls_send_tpk_m1
      Src: /src/hostap/src/rsn_supp/tdls.c:2896,1
    - Dst: wpa_tdls_disable_peer_link
      Src: /src/hostap/src/rsn_supp/tdls.c:2899,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 2
    argNames:
    - sm
    - addr
    argTypes:
    - struct wpa_sm*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2904
      start: 2845
    functionDepth: 4
    functionLinenumber: 2845
    functionLinenumberEnd: 2904
    functionName: wpa_tdls_start
    functionSourceFile: /src/hostap/src/rsn_supp/tdls.c
    functionUses: 4
    functionsReached:
    - wpa_printf
    - wpa_tdls_disable_peer_link
    - wpa_tdls_add_peer
    - wpa_tdls_send_tpk_m1
    - wpa_sm_tdls_peer_addset
    linkageType: ''
    returnType: int
    signature: int wpa_tdls_start(struct wpa_sm *sm, const u8 *addr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/src/rsn_supp/tdls.c:2915,1
    - Dst: wpa_tdls_do_teardown
      Src: /src/hostap/src/rsn_supp/tdls.c:2927,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - sm
    - addr
    argTypes:
    - struct wpa_sm*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2930
      start: 2907
    functionDepth: 2
    functionLinenumber: 2907
    functionLinenumberEnd: 2930
    functionName: wpa_tdls_remove
    functionSourceFile: /src/hostap/src/rsn_supp/tdls.c
    functionUses: 3
    functionsReached:
    - wpa_tdls_do_teardown
    - ether_addr_equal
    linkageType: ''
    returnType: void
    signature: void wpa_tdls_remove(struct wpa_sm *sm, const u8 *addr)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/tdls.c:2944,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:2948,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/rsn_supp/tdls.c:2953,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:2954,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:2959,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:2967,1
    - Dst: wpa_tdls_process_tpk_m1
      Src: /src/hostap/src/rsn_supp/tdls.c:2975,1
    - Dst: wpa_tdls_process_tpk_m2
      Src: /src/hostap/src/rsn_supp/tdls.c:2978,1
    - Dst: wpa_tdls_process_tpk_m3
      Src: /src/hostap/src/rsn_supp/tdls.c:2981,1
    - Dst: wpa_tdls_recv_teardown
      Src: /src/hostap/src/rsn_supp/tdls.c:2984,1
    - Dst: wpa_tdls_process_discovery_request
      Src: /src/hostap/src/rsn_supp/tdls.c:2987,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:2991,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 4
    argNames:
    - ctx
    - src_addr
    - buf
    - len
    argTypes:
    - void*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2995
      start: 2938
    functionDepth: 5
    functionLinenumber: 2938
    functionLinenumberEnd: 2995
    functionName: wpa_supplicant_rx_tdls
    functionSourceFile: /src/hostap/src/rsn_supp/tdls.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_tdls_process_discovery_request
    - wpa_hexdump
    - ether_addr_equal
    - wpa_tdls_process_tpk_m2
    - wpa_tdls_process_tpk_m1
    - wpa_tdls_recv_teardown
    - wpa_tdls_process_tpk_m3
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_rx_tdls(void *ctx, const u8 *src_addr,\n\t\t\t\t
      \  const u8 *buf, size_t len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: l2_packet_deinit
      Src: /src/hostap/src/rsn_supp/tdls.c:3013,1
    - Dst: l2_packet_init
      Src: /src/hostap/src/rsn_supp/tdls.c:3017,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:3023,1
    - Dst: wpa_sm_tdls_get_capa
      Src: /src/hostap/src/rsn_supp/tdls.c:3032,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:3039,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:3041,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:3043,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3047
      start: 3007
    functionDepth: 1
    functionLinenumber: 3007
    functionLinenumberEnd: 3047
    functionName: wpa_tdls_init
    functionSourceFile: /src/hostap/src/rsn_supp/tdls.c
    functionUses: 2
    functionsReached:
    - l2_packet_deinit
    - wpa_printf
    - l2_packet_init
    - wpa_sm_tdls_get_capa
    linkageType: ''
    returnType: int
    signature: int wpa_tdls_init(struct wpa_sm *sm)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:3058,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:3062,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/tdls.c:3063,1
    - Dst: wpa_tdls_do_teardown
      Src: /src/hostap/src/rsn_supp/tdls.c:3065,1
    - Dst: wpa_sm_tdls_oper
      Src: /src/hostap/src/rsn_supp/tdls.c:3068,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3072
      start: 3050
    functionDepth: 2
    functionLinenumber: 3050
    functionLinenumberEnd: 3072
    functionName: wpa_tdls_teardown_peers
    functionSourceFile: /src/hostap/src/rsn_supp/tdls.c
    functionUses: 2
    functionsReached:
    - MAC2STR
    - wpa_printf
    - wpa_sm_tdls_oper
    - wpa_tdls_do_teardown
    linkageType: ''
    returnType: void
    signature: void wpa_tdls_teardown_peers(struct wpa_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_sm_tdls_oper
      Src: /src/hostap/src/rsn_supp/tdls.c:3084,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:3085,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/tdls.c:3086,1
    - Dst: wpa_tdls_peer_free
      Src: /src/hostap/src/rsn_supp/tdls.c:3087,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3090
      start: 3075
    functionDepth: 3
    functionLinenumber: 3075
    functionLinenumberEnd: 3090
    functionName: wpa_tdls_remove_peers
    functionSourceFile: /src/hostap/src/rsn_supp/tdls.c
    functionUses: 0
    functionsReached:
    - wpa_sm_tdls_oper
    - wpa_printf
    - MAC2STR
    - wpa_tdls_peer_free
    linkageType: ''
    returnType: void
    signature: void wpa_tdls_remove_peers(struct wpa_sm *sm)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: l2_packet_deinit
      Src: /src/hostap/src/rsn_supp/tdls.c:3105,1
    - Dst: wpa_tdls_remove_peers
      Src: /src/hostap/src/rsn_supp/tdls.c:3108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3109
      start: 3099
    functionDepth: 4
    functionLinenumber: 3099
    functionLinenumberEnd: 3109
    functionName: wpa_tdls_deinit
    functionSourceFile: /src/hostap/src/rsn_supp/tdls.c
    functionUses: 1
    functionsReached:
    - l2_packet_deinit
    - wpa_tdls_remove_peers
    linkageType: ''
    returnType: void
    signature: void wpa_tdls_deinit(struct wpa_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:3114,1
    - Dst: wpa_tdls_remove_peers
      Src: /src/hostap/src/rsn_supp/tdls.c:3115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3116
      start: 3112
    functionDepth: 4
    functionLinenumber: 3112
    functionLinenumberEnd: 3116
    functionName: wpa_tdls_assoc
    functionSourceFile: /src/hostap/src/rsn_supp/tdls.c
    functionUses: 0
    functionsReached:
    - wpa_tdls_remove_peers
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void wpa_tdls_assoc(struct wpa_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:3121,1
    - Dst: wpa_tdls_remove_peers
      Src: /src/hostap/src/rsn_supp/tdls.c:3122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3123
      start: 3119
    functionDepth: 4
    functionLinenumber: 3119
    functionLinenumberEnd: 3123
    functionName: wpa_tdls_disassoc
    functionSourceFile: /src/hostap/src/rsn_supp/tdls.c
    functionUses: 0
    functionsReached:
    - wpa_tdls_remove_peers
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void wpa_tdls_disassoc(struct wpa_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - elems
    argTypes:
    - struct ieee802_11_elems*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3130
      start: 3126
    functionDepth: 0
    functionLinenumber: 3126
    functionLinenumberEnd: 3130
    functionName: wpa_tdls_prohibited
    functionSourceFile: /src/hostap/src/rsn_supp/tdls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpa_tdls_prohibited(struct ieee802_11_elems *elems)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - elems
    argTypes:
    - struct ieee802_11_elems*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3137
      start: 3133
    functionDepth: 0
    functionLinenumber: 3133
    functionLinenumberEnd: 3137
    functionName: wpa_tdls_chan_switch_prohibited
    functionSourceFile: /src/hostap/src/rsn_supp/tdls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpa_tdls_chan_switch_prohibited(struct ieee802_11_elems *elems)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/src/rsn_supp/tdls.c:3148,1
    - Dst: wpa_tdls_prohibited
      Src: /src/hostap/src/rsn_supp/tdls.c:3152,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:3153,1
    - Dst: wpa_tdls_chan_switch_prohibited
      Src: /src/hostap/src/rsn_supp/tdls.c:3156,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:3157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - sm
    - ies
    - len
    argTypes:
    - struct wpa_sm*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3159
      start: 3140
    functionDepth: 1
    functionLinenumber: 3140
    functionLinenumberEnd: 3159
    functionName: wpa_tdls_ap_ies
    functionSourceFile: /src/hostap/src/rsn_supp/tdls.c
    functionUses: 1
    functionsReached:
    - wpa_tdls_chan_switch_prohibited
    - wpa_printf
    - ieee802_11_parse_elems
    - wpa_tdls_prohibited
    linkageType: ''
    returnType: void
    signature: void wpa_tdls_ap_ies(struct wpa_sm *sm, const u8 *ies, size_t len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/src/rsn_supp/tdls.c:3167,1
    - Dst: wpa_tdls_prohibited
      Src: /src/hostap/src/rsn_supp/tdls.c:3171,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:3172,1
    - Dst: wpa_tdls_chan_switch_prohibited
      Src: /src/hostap/src/rsn_supp/tdls.c:3178,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:3179,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 3
    argNames:
    - sm
    - ies
    - len
    argTypes:
    - struct wpa_sm*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3183
      start: 3162
    functionDepth: 1
    functionLinenumber: 3162
    functionLinenumberEnd: 3183
    functionName: wpa_tdls_assoc_resp_ies
    functionSourceFile: /src/hostap/src/rsn_supp/tdls.c
    functionUses: 1
    functionsReached:
    - wpa_tdls_chan_switch_prohibited
    - wpa_printf
    - ieee802_11_parse_elems
    - wpa_tdls_prohibited
    linkageType: ''
    returnType: void
    signature: void wpa_tdls_assoc_resp_ies(struct wpa_sm *sm, const u8 *ies, size_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:3188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sm
    - enabled
    argTypes:
    - struct wpa_sm*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3190
      start: 3186
    functionDepth: 0
    functionLinenumber: 3186
    functionLinenumberEnd: 3190
    functionName: wpa_tdls_enable
    functionSourceFile: /src/hostap/src/rsn_supp/tdls.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void wpa_tdls_enable(struct wpa_sm *sm, int enabled)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3196
      start: 3193
    functionDepth: 0
    functionLinenumber: 3193
    functionLinenumberEnd: 3196
    functionName: wpa_tdls_is_external_setup
    functionSourceFile: /src/hostap/src/rsn_supp/tdls.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpa_tdls_is_external_setup(struct wpa_sm *sm)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:3209,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/tdls.c:3210,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:3213,1
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/src/rsn_supp/tdls.c:3220,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:3222,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:3228,1
    - Dst: wpa_tdls_is_lnkid_bss_valid
      Src: /src/hostap/src/rsn_supp/tdls.c:3235,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:3236,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/tdls.c:3238,1
    - Dst: wpa_tdls_add_peer
      Src: /src/hostap/src/rsn_supp/tdls.c:3242,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:3244,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:3249,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/tdls.c:3250,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:3255,1
    - Dst: wpa_tdls_start
      Src: /src/hostap/src/rsn_supp/tdls.c:3256,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 4
    argNames:
    - sm
    - addr
    - buf
    - len
    argTypes:
    - struct wpa_sm*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3260
      start: 3199
    functionDepth: 5
    functionLinenumber: 3199
    functionLinenumberEnd: 3260
    functionName: wpa_tdls_process_discovery_response
    functionSourceFile: /src/hostap/src/rsn_supp/tdls.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpa_tdls_start
    - wpa_tdls_add_peer
    - wpa_tdls_is_lnkid_bss_valid
    - MAC2STR
    - ieee802_11_parse_elems
    linkageType: ''
    returnType: int
    signature: "int wpa_tdls_process_discovery_response(struct wpa_sm *sm, const u8
      *addr,\n\t\t\t\t\tconst u8 *buf, size_t len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:3274,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:3280,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/rsn_supp/tdls.c:3286,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:3291,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/tdls.c:3292,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:3297,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/tdls.c:3299,1
    - Dst: wpa_sm_tdls_enable_channel_switch
      Src: /src/hostap/src/rsn_supp/tdls.c:3303,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 4
    argNames:
    - sm
    - addr
    - oper_class
    - freq_params
    argTypes:
    - struct wpa_sm*
    - u8*
    - u8
    - struct hostapd_freq_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3309
      start: 3263
    functionDepth: 1
    functionLinenumber: 3263
    functionLinenumberEnd: 3309
    functionName: wpa_tdls_enable_chan_switch
    functionSourceFile: /src/hostap/src/rsn_supp/tdls.c
    functionUses: 2
    functionsReached:
    - MAC2STR
    - wpa_printf
    - ether_addr_equal
    - wpa_sm_tdls_enable_channel_switch
    linkageType: ''
    returnType: int
    signature: "int wpa_tdls_enable_chan_switch(struct wpa_sm *sm, const u8 *addr,\n\t\t\t\tu8
      oper_class,\n\t\t\t\tstruct hostapd_freq_params *freq_params)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/src/rsn_supp/tdls.c:3320,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/tdls.c:3325,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/tdls.c:3326,1
    - Dst: wpa_sm_tdls_disable_channel_switch
      Src: /src/hostap/src/rsn_supp/tdls.c:3331,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - sm
    - addr
    argTypes:
    - struct wpa_sm*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3335
      start: 3312
    functionDepth: 1
    functionLinenumber: 3312
    functionLinenumberEnd: 3335
    functionName: wpa_tdls_disable_chan_switch
    functionSourceFile: /src/hostap/src/rsn_supp/tdls.c
    functionUses: 2
    functionsReached:
    - wpa_sm_tdls_disable_channel_switch
    - MAC2STR
    - wpa_printf
    - ether_addr_equal
    linkageType: ''
    returnType: int
    signature: int wpa_tdls_disable_chan_switch(struct wpa_sm *sm, const u8 *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: pmksa_candidate_free
    functionSourceFile: /src/hostap/src/rsn_supp/preauth.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pmksa_candidate_free(struct wpa_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: rsn_preauth_candidate_process
    functionSourceFile: /src/hostap/src/rsn_supp/preauth.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void rsn_preauth_candidate_process(struct wpa_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sm
    - dst
    - eap_conf
    argTypes:
    - struct wpa_sm*
    - u8*
    - struct eap_peer_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: rsn_preauth_init
    functionSourceFile: /src/hostap/src/rsn_supp/preauth.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int rsn_preauth_init(struct wpa_sm *sm, const u8 *dst,\n\t\t\t\t   struct
      eap_peer_config *eap_conf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: rsn_preauth_deinit
    functionSourceFile: /src/hostap/src/rsn_supp/preauth.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void rsn_preauth_deinit(struct wpa_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: rsn_preauth_scan_results
    functionSourceFile: /src/hostap/src/rsn_supp/preauth.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int rsn_preauth_scan_results(struct wpa_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - sm
    - bssid
    - ssid
    - rsn
    argTypes:
    - struct wpa_sm*
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: rsn_preauth_scan_result
    functionSourceFile: /src/hostap/src/rsn_supp/preauth.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void rsn_preauth_scan_result(struct wpa_sm *sm, const u8 *bssid,\n\t\t\t\t\t
      \  const u8 *ssid, const u8 *rsn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - sm
    - bssid
    - prio
    - preauth
    argTypes:
    - struct wpa_sm*
    - u8*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: pmksa_candidate_add
    functionSourceFile: /src/hostap/src/rsn_supp/preauth.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void pmksa_candidate_add(struct wpa_sm *sm,\n\t\t\t\t       const
      u8 *bssid,\n\t\t\t\t       int prio, int preauth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - sm
    - buf
    - buflen
    - verbose
    argTypes:
    - struct wpa_sm*
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: rsn_preauth_get_status
    functionSourceFile: /src/hostap/src/rsn_supp/preauth.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int rsn_preauth_get_status(struct wpa_sm *sm, char *buf,\n\t\t\t\t\t
      size_t buflen, int verbose)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: rsn_preauth_in_progress
    functionSourceFile: /src/hostap/src/rsn_supp/preauth.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int rsn_preauth_in_progress(struct wpa_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - sm
    - bssid
    argTypes:
    - struct wpa_sm*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: wpa_ft_pasn_store_r1kh
    functionSourceFile: /src/hostap/src/rsn_supp/wpa_ft.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wpa_ft_pasn_store_r1kh(struct wpa_sm *sm, const u8 *bssid)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_key_mgmt_sha384
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:42,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:54,1
    - Dst: wpa_key_mgmt_sae_ext_key
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:59,1
    - Dst: wpa_derive_pmk_r0
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:63,1
    - Dst: wpa_derive_pmk_r1
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:69,1
    - Dst: wpa_ft_pasn_store_r1kh
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:74,1
    - Dst: ieee802_11_rsnx_capab
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:78,1
    - Dst: wpa_pmk_r1_to_ptk
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:83,1
    - Dst: wpa_sm_get_auth_addr
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:84,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:88,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:92,1
    - Dst: ieee802_11_rsnx_capab
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:97,1
    - Dst: wpa_ltf_keyseed
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:98,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 4
    argNames:
    - sm
    - src_addr
    - key
    - ptk
    argTypes:
    - struct wpa_sm*
    - unsigned char*
    - struct wpa_eapol_key*
    - struct wpa_ptk*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 102
    functionName: wpa_derive_ptk_ft
    functionSourceFile: /src/hostap/src/rsn_supp/wpa_ft.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_key_mgmt_sae_ext_key
    - wpa_derive_pmk_r1
    - wpa_ltf_keyseed
    - wpa_key_mgmt_sha384
    - ieee802_11_rsnx_capab
    - wpa_derive_pmk_r0
    - wpa_pmk_r1_to_ptk
    - wpa_ft_pasn_store_r1kh
    - wpa_sm_get_auth_addr
    linkageType: ''
    returnType: int
    signature: "int wpa_derive_ptk_ft(struct wpa_sm *sm, const unsigned char *src_addr,\n\t\t
      \     const struct wpa_eapol_key *key, struct wpa_ptk *ptk)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: get_ie
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:119,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:120,1
    - Dst: os_memset
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:123,1
    - Dst: os_memset
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:124,1
    - Dst: os_memset
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:126,1
    - Dst: wpa_ft_parse_ies
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:130,1
    - Dst: wpa_ft_parse_ies_free
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:134,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:138,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:140,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:142,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:146,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:148,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:160,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:162,1
    - Dst: os_memset
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:164,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:166,1
    - Dst: os_malloc
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:167,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:171,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:175,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:179,1
    - Dst: wpa_ft_parse_ies_free
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:184,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 48
    argCount: 3
    argNames:
    - sm
    - ies
    - ies_len
    argTypes:
    - struct wpa_sm*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 186
    functionName: wpa_sm_set_ft_params
    functionSourceFile: /src/hostap/src/rsn_supp/wpa_ft.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    - wpa_printf
    - wpa_hexdump
    - wpa_ft_parse_ies_free
    - os_malloc
    - get_ie
    - wpa_ft_parse_ies
    - os_free
    - os_memset
    linkageType: ''
    returnType: int
    signature: int wpa_sm_set_ft_params(struct wpa_sm *sm, const u8 *ies, size_t ies_len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:230,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:238,1
    - Dst: wpa_cipher_valid_group
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:242,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:243,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:245,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:248,1
    - Dst: wpa_cipher_to_suite
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:248,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:253,1
    - Dst: wpa_cipher_valid_pairwise
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:257,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:258,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:260,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:263,1
    - Dst: wpa_cipher_to_suite
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:263,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:268,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:273,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:276,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:279,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:281,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:283,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:286,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:288,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:291,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:293,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 41
    argCount: 11
    argNames:
    - sm
    - len
    - anonce
    - pmk_name
    - kck
    - kck_len
    - target_ap
    - ric_ies
    - ric_ies_len
    - ap_mdie
    - omit_rsnxe
    argTypes:
    - struct wpa_sm*
    - size_t*
    - u8*
    - u8*
    - u8*
    - size_t
    - u8*
    - u8*
    - size_t
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 295
    functionName: wpa_ft_gen_req_ies
    functionSourceFile: /src/hostap/src/rsn_supp/wpa_ft.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_cipher_to_suite
    - wpa_cipher_valid_pairwise
    - os_zalloc
    - wpa_cipher_valid_group
    - RSN_SELECTOR_PUT
    - os_free
    - WPA_PUT_LE16
    linkageType: ''
    returnType: u8
    signature: "u8 * wpa_ft_gen_req_ies(struct wpa_sm *sm, size_t *len,\n\t\t\t       const
      u8 *anonce, const u8 *pmk_name,\n\t\t\t       const u8 *kck, size_t kck_len,\n\t\t\t
      \      const u8 *target_ap,\n\t\t\t       const u8 *ric_ies, size_t ric_ies_len,\n\t\t\t
      \      const u8 *ap_mdie, int omit_rsnxe)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:498,1
    - Dst: wpa_cipher_valid_pairwise
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:500,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:501,1
    - Dst: wpa_cipher_to_alg
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:506,1
    - Dst: wpa_cipher_key_len
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:507,1
    - Dst: wpa_sm_set_key
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:510,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:513,1
    - Dst: wpa_sm_store_ptk
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:518,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - sm
    - bssid
    argTypes:
    - struct wpa_sm*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 492
    functionDepth: 1
    functionLinenumber: 492
    functionLinenumberEnd: 521
    functionName: wpa_ft_install_ptk
    functionSourceFile: /src/hostap/src/rsn_supp/wpa_ft.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_cipher_key_len
    - wpa_sm_set_key
    - wpa_cipher_valid_pairwise
    - wpa_sm_store_ptk
    - wpa_cipher_to_alg
    linkageType: ''
    returnType: int
    signature: int wpa_ft_install_ptk(struct wpa_sm *sm, const u8 *bssid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: random_get_bytes
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:536,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:537,1
    - Dst: wpa_ft_gen_req_ies
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:541,1
    - Dst: wpa_sm_update_ft_ies
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:544,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:546,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - sm
    - mdie
    argTypes:
    - struct wpa_sm*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 530
    functionDepth: 2
    functionLinenumber: 530
    functionLinenumberEnd: 550
    functionName: wpa_ft_prepare_auth_request
    functionSourceFile: /src/hostap/src/rsn_supp/wpa_ft.c
    functionUses: 0
    functionsReached:
    - random_get_bytes
    - wpa_printf
    - wpa_ft_gen_req_ies
    - wpa_sm_update_ft_ies
    - os_free
    linkageType: ''
    returnType: int
    signature: int wpa_ft_prepare_auth_request(struct wpa_sm *sm, const u8 *mdie)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:560,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:569,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - sm
    - buf
    - buf_len
    - ap_mdie
    argTypes:
    - struct wpa_sm*
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 575
    functionName: wpa_ft_add_mdie
    functionSourceFile: /src/hostap/src/rsn_supp/wpa_ft.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    linkageType: ''
    returnType: int
    signature: "int wpa_ft_add_mdie(struct wpa_sm *sm, u8 *buf, size_t buf_len,\n\t\t
      \   const u8 *ap_mdie)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 581
    functionName: wpa_sm_get_ft_md
    functionSourceFile: /src/hostap/src/rsn_supp/wpa_ft.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 * wpa_sm_get_ft_md(struct wpa_sm *sm)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:598,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:600,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:601,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:605,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:610,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:611,1
    - Dst: wpa_key_mgmt_ft
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:618,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:619,1
    - Dst: wpa_ft_parse_ies
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:624,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:626,1
    - Dst: os_memcmp
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:632,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:634,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:639,1
    - Dst: os_memcmp
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:643,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:644,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:645,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:647,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:653,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:658,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:660,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:662,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:664,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:670,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:675,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:677,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:683,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:688,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:689,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:690,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:691,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:692,1
    - Dst: wpa_derive_pmk_r1
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:693,1
    - Dst: wpa_ft_pasn_store_r1kh
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:707,1
    - Dst: ieee802_11_rsnx_capab
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:711,1
    - Dst: wpa_pmk_r1_to_ptk
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:717,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:724,1
    - Dst: ieee802_11_rsnx_capab
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:729,1
    - Dst: wpa_ltf_keyseed
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:730,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:731,1
    - Dst: wpa_key_mgmt_fils
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:736,1
    - Dst: wpa_ft_gen_req_ies
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:743,1
    - Dst: wpa_sm_update_ft_ies
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:750,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:752,1
    - Dst: wpa_sm_mark_authenticated
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:755,1
    - Dst: wpa_ft_install_ptk
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:756,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:764,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:776,1
    - Dst: wpa_ft_parse_ies_free
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:781,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 127
    argCount: 7
    argNames:
    - sm
    - ies
    - ies_len
    - ft_action
    - target_ap
    - ric_ies
    - ric_ies_len
    argTypes:
    - struct wpa_sm*
    - u8*
    - size_t
    - int
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 584
    functionDepth: 2
    functionLinenumber: 584
    functionLinenumberEnd: 783
    functionName: wpa_ft_process_response
    functionSourceFile: /src/hostap/src/rsn_supp/wpa_ft.c
    functionUses: 3
    functionsReached:
    - wpa_derive_pmk_r1
    - wpa_hexdump
    - wpa_ft_gen_req_ies
    - wpa_key_mgmt_fils
    - wpa_printf
    - wpa_ltf_keyseed
    - ether_addr_equal
    - wpa_key_mgmt_ft
    - os_memcmp
    - wpa_ft_parse_ies
    - os_free
    - wpa_ft_parse_ies_free
    - ieee802_11_rsnx_capab
    - wpa_sm_mark_authenticated
    - os_memset
    - os_memcpy
    - os_memcmp_const
    - wpa_ft_install_ptk
    - wpa_pmk_r1_to_ptk
    - wpa_sm_update_ft_ies
    - wpa_ft_pasn_store_r1kh
    linkageType: ''
    returnType: int
    signature: "int wpa_ft_process_response(struct wpa_sm *sm, const u8 *ies, size_t
      ies_len,\n\t\t\t    int ft_action, const u8 *target_ap,\n\t\t\t    const u8
      *ric_ies, size_t ric_ies_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_key_mgmt_ft
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:791,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 786
    functionDepth: 1
    functionLinenumber: 786
    functionLinenumberEnd: 795
    functionName: wpa_ft_is_completed
    functionSourceFile: /src/hostap/src/rsn_supp/wpa_ft.c
    functionUses: 2
    functionsReached:
    - wpa_key_mgmt_ft
    linkageType: ''
    returnType: int
    signature: int wpa_ft_is_completed(struct wpa_sm *sm)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 798
    functionDepth: 0
    functionLinenumber: 798
    functionLinenumberEnd: 802
    functionName: wpa_reset_ft_completed
    functionSourceFile: /src/hostap/src/rsn_supp/wpa_ft.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wpa_reset_ft_completed(struct wpa_sm *sm)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpa_key_mgmt_fils
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:815,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:824,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:828,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:833,1
    - Dst: aes_unwrap
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:838,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:839,1
    - Dst: wpa_cipher_key_len
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:844,1
    - Dst: wpa_cipher_rsc_len
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:845,1
    - Dst: wpa_cipher_to_alg
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:846,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:848,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:854,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:860,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:863,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:869,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:873,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:874,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:875,1
    - Dst: wpa_sm_set_key
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:877,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:880,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 49
    argCount: 3
    argNames:
    - sm
    - gtk_elem
    - gtk_elem_len
    argTypes:
    - struct wpa_sm*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 805
    functionDepth: 1
    functionLinenumber: 805
    functionLinenumberEnd: 886
    functionName: wpa_ft_process_gtk_subelem
    functionSourceFile: /src/hostap/src/rsn_supp/wpa_ft.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump_key
    - os_memcpy
    - wpa_cipher_key_len
    - wpa_sm_set_key
    - aes_unwrap
    - WPA_GET_LE16
    - wpa_cipher_rsc_len
    - wpa_key_mgmt_fils
    - wpa_cipher_to_alg
    linkageType: ''
    returnType: int
    signature: "int wpa_ft_process_gtk_subelem(struct wpa_sm *sm, const u8 *gtk_elem,\n\t\t\t\t
      \     size_t gtk_elem_len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_key_mgmt_fils
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:898,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:913,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:917,1
    - Dst: wpa_cipher_key_len
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:920,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:922,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:927,1
    - Dst: aes_unwrap
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:932,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:933,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:940,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:942,1
    - Dst: wpa_sm_set_key
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:944,1
    - Dst: wpa_cipher_to_alg
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:944,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:948,1
    - Dst: forced_memzero
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:950,1
    - Dst: forced_memzero
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:953,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 3
    argNames:
    - sm
    - igtk_elem
    - igtk_elem_len
    argTypes:
    - struct wpa_sm*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 889
    functionDepth: 1
    functionLinenumber: 889
    functionLinenumberEnd: 956
    functionName: wpa_ft_process_igtk_subelem
    functionSourceFile: /src/hostap/src/rsn_supp/wpa_ft.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump_key
    - wpa_cipher_key_len
    - wpa_sm_set_key
    - aes_unwrap
    - forced_memzero
    - WPA_GET_LE16
    - wpa_key_mgmt_fils
    - wpa_cipher_to_alg
    linkageType: ''
    returnType: int
    signature: "int wpa_ft_process_igtk_subelem(struct wpa_sm *sm, const u8 *igtk_elem,\n\t\t\t\t
      \      size_t igtk_elem_len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_key_mgmt_fils
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:975,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:983,1
    - Dst: wpa_cipher_key_len
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:986,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:988,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:994,1
    - Dst: aes_unwrap
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1000,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1001,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1008,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1010,1
    - Dst: wpa_sm_set_key
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1012,1
    - Dst: wpa_cipher_to_alg
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1012,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1016,1
    - Dst: forced_memzero
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1018,1
    - Dst: forced_memzero
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1021,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 3
    argNames:
    - sm
    - bigtk_elem
    - bigtk_elem_len
    argTypes:
    - struct wpa_sm*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 959
    functionDepth: 1
    functionLinenumber: 959
    functionLinenumberEnd: 1024
    functionName: wpa_ft_process_bigtk_subelem
    functionSourceFile: /src/hostap/src/rsn_supp/wpa_ft.c
    functionUses: 0
    functionsReached:
    - wpa_hexdump_key
    - wpa_printf
    - wpa_cipher_key_len
    - wpa_sm_set_key
    - aes_unwrap
    - forced_memzero
    - WPA_GET_LE16
    - wpa_key_mgmt_fils
    - wpa_cipher_to_alg
    linkageType: ''
    returnType: int
    signature: "int wpa_ft_process_bigtk_subelem(struct wpa_sm *sm, const u8 *bigtk_elem,\n\t\t\t\t
      \      size_t bigtk_elem_len)"
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1040,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1042,1
    - Dst: wpa_key_mgmt_ft
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1044,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1045,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1051,1
    - Dst: wpa_ft_parse_ies
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1055,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1056,1
    - Dst: os_memcmp
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1062,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1064,1
    - Dst: wpa_key_mgmt_sha384
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1073,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1080,1
    - Dst: os_memcmp
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1086,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1087,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1088,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1090,1
    - Dst: os_memcmp
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1095,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1096,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1097,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1099,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1105,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1110,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1112,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1114,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1116,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1122,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1126,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1127,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1133,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1135,1
    - Dst: ieee802_11_ie_count
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1142,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1146,1
    - Dst: wpa_key_mgmt_fils
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1152,1
    - Dst: wpa_ft_mic
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1160,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1169,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1173,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1174,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1175,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1177,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1182,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1188,1
    - Dst: wpa_sm_get_beacon_ie
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1190,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1191,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1195,1
    - Dst: wpa_compare_rsn_ie
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1200,1
    - Dst: wpa_key_mgmt_ft
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1200,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1203,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1205,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1207,1
    - Dst: wpa_key_mgmt_sae
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1214,1
    - Dst: os_memcmp
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1221,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1223,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1225,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1227,1
    - Dst: wpa_sm_ocv_enabled
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1235,1
    - Dst: wpa_sm_channel_info
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1238,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1239,1
    - Dst: ocv_verify_tx_params
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1244,1
    - Dst: channel_width_to_int
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1245,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1247,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1249,1
    - Dst: wpa_ft_process_gtk_subelem
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1257,1
    - Dst: wpa_ft_process_igtk_subelem
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1258,1
    - Dst: wpa_ft_process_bigtk_subelem
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1259,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1263,1
    - Dst: wpa_ft_install_ptk
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1265,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1271,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1277,1
    - Dst: wpa_ft_parse_ies_free
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1281,1
    CyclomaticComplexity: 78
    EdgeCount: 78
    ICount: 164
    argCount: 4
    argNames:
    - sm
    - ies
    - ies_len
    - src_addr
    argTypes:
    - struct wpa_sm*
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1283
      start: 1027
    functionDepth: 2
    functionLinenumber: 1027
    functionLinenumberEnd: 1283
    functionName: wpa_ft_validate_reassoc_resp
    functionSourceFile: /src/hostap/src/rsn_supp/wpa_ft.c
    functionUses: 1
    functionsReached:
    - wpa_hexdump
    - wpa_sm_get_beacon_ie
    - ieee802_11_ie_count
    - ocv_verify_tx_params
    - wpa_key_mgmt_sae
    - wpa_printf
    - wpa_sm_ocv_enabled
    - wpa_key_mgmt_sha384
    - wpa_key_mgmt_ft
    - os_memcmp
    - wpa_ft_parse_ies
    - channel_width_to_int
    - wpa_ft_mic
    - wpa_ft_process_gtk_subelem
    - wpa_ft_process_bigtk_subelem
    - wpa_ft_parse_ies_free
    - wpa_dbg
    - wpa_sm_channel_info
    - os_memset
    - wpa_ft_process_igtk_subelem
    - wpa_msg
    - os_memcmp_const
    - MAC2STR
    - wpa_ft_install_ptk
    - wpa_key_mgmt_fils
    - wpa_compare_rsn_ie
    linkageType: ''
    returnType: int
    signature: "int wpa_ft_validate_reassoc_resp(struct wpa_sm *sm, const u8 *ies,\n\t\t\t\t
      size_t ies_len, const u8 *src_addr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_sm_has_ft_keys
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1302,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1303,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1305,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1309,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1310,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1313,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1314,1
    - Dst: wpa_ft_gen_req_ies
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1318,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1322,1
    - Dst: wpa_sm_send_ft_action
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1323,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1324,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - sm
    - target_ap
    - mdie
    - force
    argTypes:
    - struct wpa_sm*
    - u8*
    - u8*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1328
      start: 1295
    functionDepth: 2
    functionLinenumber: 1295
    functionLinenumberEnd: 1328
    functionName: wpa_ft_start_over_ds
    functionSourceFile: /src/hostap/src/rsn_supp/wpa_ft.c
    functionUses: 1
    functionsReached:
    - wpa_sm_has_ft_keys
    - wpa_printf
    - random_get_bytes
    - os_memcpy
    - wpa_ft_gen_req_ies
    - MAC2STR
    - os_free
    - wpa_sm_send_ft_action
    linkageType: ''
    returnType: int
    signature: "int wpa_ft_start_over_ds(struct wpa_sm *sm, const u8 *target_ap,\n\t\t\t
      const u8 *mdie, bool force)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1339,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - sm
    - bssid
    argTypes:
    - struct wpa_sm*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1343
      start: 1333
    functionDepth: 1
    functionLinenumber: 1333
    functionLinenumberEnd: 1343
    functionName: wpa_ft_pasn_get_r1kh
    functionSourceFile: /src/hostap/src/rsn_supp/wpa_ft.c
    functionUses: 0
    functionsReached:
    - ether_addr_equal
    linkageType: ''
    returnType: struct pasn_ft_r1kh
    signature: "struct pasn_ft_r1kh * wpa_ft_pasn_get_r1kh(struct wpa_sm *sm,\n\t\t\t\t\t\t
      \ const u8 *bssid)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ft_pasn_get_r1kh
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1348,1
    - Dst: os_realloc_array
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1353,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1356,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1363,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1364,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1366,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - sm
    - bssid
    argTypes:
    - struct wpa_sm*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1370
      start: 1346
    functionDepth: 2
    functionLinenumber: 1346
    functionLinenumberEnd: 1370
    functionName: wpa_ft_pasn_store_r1kh
    functionSourceFile: /src/hostap/src/rsn_supp/wpa_ft.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - os_memcpy
    - MAC2STR
    - wpa_ft_pasn_get_r1kh
    - os_realloc_array
    linkageType: ''
    returnType: void
    signature: void wpa_ft_pasn_store_r1kh(struct wpa_sm *sm, const u8 *bssid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1379,1
    - Dst: wpa_ft_pasn_get_r1kh
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1385,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1387,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1389,1
    - Dst: wpa_derive_pmk_r1
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1398,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1405,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa_ft.c:1406,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 6
    argNames:
    - sm
    - akmp
    - bssid
    - pmk_r1
    - pmk_r1_len
    - pmk_r1_name
    argTypes:
    - struct wpa_sm*
    - int
    - u8*
    - u8*
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1410
      start: 1373
    functionDepth: 2
    functionLinenumber: 1373
    functionLinenumberEnd: 1410
    functionName: wpa_pasn_ft_derive_pmk_r1
    functionSourceFile: /src/hostap/src/rsn_supp/wpa_ft.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpa_hexdump_key
    - wpa_derive_pmk_r1
    - wpa_hexdump
    - MAC2STR
    - wpa_ft_pasn_get_r1kh
    linkageType: ''
    returnType: int
    signature: "int wpa_pasn_ft_derive_pmk_r1(struct wpa_sm *sm, int akmp, const u8
      *bssid,\n\t\t\t      u8 *pmk_r1, size_t *pmk_r1_len, u8 *pmk_r1_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WPA_ASSERT
      Src: /src/hostap/src/rsn_supp/wpa_i.h:265,1
    - Dst: struct wpa_sm*::ctx::set_state
      Src: /src/hostap/src/rsn_supp/wpa_i.h:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sm
    - state
    argTypes:
    - struct wpa_sm*
    - enum wpa_states
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 267
    functionName: wpa_sm_set_state
    functionSourceFile: /src/hostap/src/rsn_supp/wpa_i.h
    functionUses: 0
    functionsReached:
    - WPA_ASSERT
    - struct wpa_sm*::ctx::set_state
    linkageType: ''
    returnType: void
    signature: void wpa_sm_set_state(struct wpa_sm *sm, enum wpa_states state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WPA_ASSERT
      Src: /src/hostap/src/rsn_supp/wpa_i.h:271,1
    - Dst: struct wpa_sm*::ctx::get_state
      Src: /src/hostap/src/rsn_supp/wpa_i.h:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 273
    functionName: wpa_sm_get_state
    functionSourceFile: /src/hostap/src/rsn_supp/wpa_i.h
    functionUses: 0
    functionsReached:
    - struct wpa_sm*::ctx::get_state
    - WPA_ASSERT
    linkageType: ''
    returnType: enum wpa_states
    signature: enum wpa_states wpa_sm_get_state(struct wpa_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WPA_ASSERT
      Src: /src/hostap/src/rsn_supp/wpa_i.h:277,1
    - Dst: struct wpa_sm*::ctx::deauthenticate
      Src: /src/hostap/src/rsn_supp/wpa_i.h:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sm
    - reason_code
    argTypes:
    - struct wpa_sm*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 279
    functionName: wpa_sm_deauthenticate
    functionSourceFile: /src/hostap/src/rsn_supp/wpa_i.h
    functionUses: 0
    functionsReached:
    - struct wpa_sm*::ctx::deauthenticate
    - WPA_ASSERT
    linkageType: ''
    returnType: void
    signature: void wpa_sm_deauthenticate(struct wpa_sm *sm, u16 reason_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WPA_ASSERT
      Src: /src/hostap/src/rsn_supp/wpa_i.h:287,1
    - Dst: struct wpa_sm*::ctx::set_key
      Src: /src/hostap/src/rsn_supp/wpa_i.h:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 11
    argNames:
    - sm
    - link_id
    - alg
    - addr
    - key_idx
    - set_tx
    - seq
    - seq_len
    - key
    - key_len
    - key_flag
    argTypes:
    - struct wpa_sm*
    - int
    - enum wpa_alg
    - u8*
    - int
    - int
    - u8*
    - size_t
    - u8*
    - size_t
    - enum key_flag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 290
    functionName: wpa_sm_set_key
    functionSourceFile: /src/hostap/src/rsn_supp/wpa_i.h
    functionUses: 6
    functionsReached:
    - struct wpa_sm*::ctx::set_key
    - WPA_ASSERT
    linkageType: ''
    returnType: int
    signature: "int wpa_sm_set_key(struct wpa_sm *sm, int link_id,\n\t\t\t\t enum
      wpa_alg alg, const u8 *addr, int key_idx,\n\t\t\t\t int set_tx, const u8 *seq,
      size_t seq_len,\n\t\t\t\t const u8 *key, size_t key_len,\n\t\t\t\t enum key_flag
      key_flag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WPA_ASSERT
      Src: /src/hostap/src/rsn_supp/wpa_i.h:294,1
    - Dst: struct wpa_sm*::ctx::reconnect
      Src: /src/hostap/src/rsn_supp/wpa_i.h:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 296
    functionName: wpa_sm_reconnect
    functionSourceFile: /src/hostap/src/rsn_supp/wpa_i.h
    functionUses: 0
    functionsReached:
    - WPA_ASSERT
    - struct wpa_sm*::ctx::reconnect
    linkageType: ''
    returnType: void
    signature: void wpa_sm_reconnect(struct wpa_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WPA_ASSERT
      Src: /src/hostap/src/rsn_supp/wpa_i.h:300,1
    - Dst: struct wpa_sm*::ctx::get_network_ctx
      Src: /src/hostap/src/rsn_supp/wpa_i.h:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 302
    functionName: wpa_sm_get_network_ctx
    functionSourceFile: /src/hostap/src/rsn_supp/wpa_i.h
    functionUses: 0
    functionsReached:
    - WPA_ASSERT
    - struct wpa_sm*::ctx::get_network_ctx
    linkageType: ''
    returnType: void
    signature: void * wpa_sm_get_network_ctx(struct wpa_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WPA_ASSERT
      Src: /src/hostap/src/rsn_supp/wpa_i.h:306,1
    - Dst: struct wpa_sm*::ctx::get_bssid
      Src: /src/hostap/src/rsn_supp/wpa_i.h:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sm
    - bssid
    argTypes:
    - struct wpa_sm*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 308
    functionName: wpa_sm_get_bssid
    functionSourceFile: /src/hostap/src/rsn_supp/wpa_i.h
    functionUses: 0
    functionsReached:
    - struct wpa_sm*::ctx::get_bssid
    - WPA_ASSERT
    linkageType: ''
    returnType: int
    signature: int wpa_sm_get_bssid(struct wpa_sm *sm, u8 *bssid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WPA_ASSERT
      Src: /src/hostap/src/rsn_supp/wpa_i.h:313,1
    - Dst: struct wpa_sm*::ctx::ether_send
      Src: /src/hostap/src/rsn_supp/wpa_i.h:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - sm
    - dest
    - proto
    - buf
    - len
    argTypes:
    - struct wpa_sm*
    - u8*
    - u16
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 315
    functionName: wpa_sm_ether_send
    functionSourceFile: /src/hostap/src/rsn_supp/wpa_i.h
    functionUses: 0
    functionsReached:
    - struct wpa_sm*::ctx::ether_send
    - WPA_ASSERT
    linkageType: ''
    returnType: int
    signature: "int wpa_sm_ether_send(struct wpa_sm *sm, const u8 *dest,\n\t\t\t\t
      \   u16 proto, const u8 *buf, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WPA_ASSERT
      Src: /src/hostap/src/rsn_supp/wpa_i.h:319,1
    - Dst: struct wpa_sm*::ctx::get_beacon_ie
      Src: /src/hostap/src/rsn_supp/wpa_i.h:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 321
    functionName: wpa_sm_get_beacon_ie
    functionSourceFile: /src/hostap/src/rsn_supp/wpa_i.h
    functionUses: 1
    functionsReached:
    - struct wpa_sm*::ctx::get_beacon_ie
    - WPA_ASSERT
    linkageType: ''
    returnType: int
    signature: int wpa_sm_get_beacon_ie(struct wpa_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WPA_ASSERT
      Src: /src/hostap/src/rsn_supp/wpa_i.h:325,1
    - Dst: struct wpa_sm*::ctx::cancel_auth_timeout
      Src: /src/hostap/src/rsn_supp/wpa_i.h:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 327
    functionName: wpa_sm_cancel_auth_timeout
    functionSourceFile: /src/hostap/src/rsn_supp/wpa_i.h
    functionUses: 0
    functionsReached:
    - struct wpa_sm*::ctx::cancel_auth_timeout
    - WPA_ASSERT
    linkageType: ''
    returnType: void
    signature: void wpa_sm_cancel_auth_timeout(struct wpa_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WPA_ASSERT
      Src: /src/hostap/src/rsn_supp/wpa_i.h:333,1
    - Dst: struct wpa_sm*::ctx::alloc_eapol
      Src: /src/hostap/src/rsn_supp/wpa_i.h:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - sm
    - type
    - data
    - data_len
    - msg_len
    - data_pos
    argTypes:
    - struct wpa_sm*
    - u8
    - void*
    - u16
    - size_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 329
    functionDepth: 2
    functionLinenumber: 329
    functionLinenumberEnd: 336
    functionName: wpa_sm_alloc_eapol
    functionSourceFile: /src/hostap/src/rsn_supp/wpa_i.h
    functionUses: 0
    functionsReached:
    - struct wpa_sm*::ctx::alloc_eapol
    - WPA_ASSERT
    linkageType: ''
    returnType: u8
    signature: "u8 * wpa_sm_alloc_eapol(struct wpa_sm *sm, u8 type,\n\t\t\t\t      const
      void *data, u16 data_len,\n\t\t\t\t      size_t *msg_len, void **data_pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WPA_ASSERT
      Src: /src/hostap/src/rsn_supp/wpa_i.h:344,1
    - Dst: struct wpa_sm*::ctx::add_pmkid
      Src: /src/hostap/src/rsn_supp/wpa_i.h:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 10
    argNames:
    - sm
    - network_ctx
    - bssid
    - pmkid
    - cache_id
    - pmk
    - pmk_len
    - pmk_lifetime
    - pmk_reauth_threshold
    - akmp
    argTypes:
    - struct wpa_sm*
    - void*
    - u8*
    - u8*
    - u8*
    - u8*
    - size_t
    - u32
    - u8
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 348
    functionName: wpa_sm_add_pmkid
    functionSourceFile: /src/hostap/src/rsn_supp/wpa_i.h
    functionUses: 0
    functionsReached:
    - WPA_ASSERT
    - struct wpa_sm*::ctx::add_pmkid
    linkageType: ''
    returnType: int
    signature: "int wpa_sm_add_pmkid(struct wpa_sm *sm, void *network_ctx,\n\t\t\t\t
      \  const u8 *bssid, const u8 *pmkid,\n\t\t\t\t   const u8 *cache_id, const u8
      *pmk,\n\t\t\t\t   size_t pmk_len, u32 pmk_lifetime,\n\t\t\t\t   u8 pmk_reauth_threshold,
      int akmp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WPA_ASSERT
      Src: /src/hostap/src/rsn_supp/wpa_i.h:354,1
    - Dst: struct wpa_sm*::ctx::remove_pmkid
      Src: /src/hostap/src/rsn_supp/wpa_i.h:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - sm
    - network_ctx
    - bssid
    - pmkid
    - cache_id
    argTypes:
    - struct wpa_sm*
    - void*
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 357
    functionName: wpa_sm_remove_pmkid
    functionSourceFile: /src/hostap/src/rsn_supp/wpa_i.h
    functionUses: 0
    functionsReached:
    - struct wpa_sm*::ctx::remove_pmkid
    - WPA_ASSERT
    linkageType: ''
    returnType: int
    signature: "int wpa_sm_remove_pmkid(struct wpa_sm *sm, void *network_ctx,\n\t\t\t\t
      \     const u8 *bssid, const u8 *pmkid,\n\t\t\t\t      const u8 *cache_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WPA_ASSERT
      Src: /src/hostap/src/rsn_supp/wpa_i.h:362,1
    - Dst: struct wpa_sm*::ctx::mlme_setprotection
      Src: /src/hostap/src/rsn_supp/wpa_i.h:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - sm
    - addr
    - protect_type
    - key_type
    argTypes:
    - struct wpa_sm*
    - u8*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 365
    functionName: wpa_sm_mlme_setprotection
    functionSourceFile: /src/hostap/src/rsn_supp/wpa_i.h
    functionUses: 0
    functionsReached:
    - WPA_ASSERT
    - struct wpa_sm*::ctx::mlme_setprotection
    linkageType: ''
    returnType: int
    signature: "int wpa_sm_mlme_setprotection(struct wpa_sm *sm, const u8 *addr,\n\t\t\t\t\t
      \   int protect_type, int key_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_sm*::ctx::update_ft_ies
      Src: /src/hostap/src/rsn_supp/wpa_i.h:371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - sm
    - md
    - ies
    - ies_len
    argTypes:
    - struct wpa_sm*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 373
    functionName: wpa_sm_update_ft_ies
    functionSourceFile: /src/hostap/src/rsn_supp/wpa_i.h
    functionUses: 2
    functionsReached:
    - struct wpa_sm*::ctx::update_ft_ies
    linkageType: ''
    returnType: int
    signature: "int wpa_sm_update_ft_ies(struct wpa_sm *sm, const u8 *md,\n\t\t\t\t
      \      const u8 *ies, size_t ies_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_sm*::ctx::send_ft_action
      Src: /src/hostap/src/rsn_supp/wpa_i.h:380,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - sm
    - action
    - target_ap
    - ies
    - ies_len
    argTypes:
    - struct wpa_sm*
    - u8
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 383
    functionName: wpa_sm_send_ft_action
    functionSourceFile: /src/hostap/src/rsn_supp/wpa_i.h
    functionUses: 1
    functionsReached:
    - struct wpa_sm*::ctx::send_ft_action
    linkageType: ''
    returnType: int
    signature: "int wpa_sm_send_ft_action(struct wpa_sm *sm, u8 action,\n\t\t\t\t\tconst
      u8 *target_ap,\n\t\t\t\t\tconst u8 *ies, size_t ies_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_sm*::ctx::mark_authenticated
      Src: /src/hostap/src/rsn_supp/wpa_i.h:389,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - sm
    - target_ap
    argTypes:
    - struct wpa_sm*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 391
    functionName: wpa_sm_mark_authenticated
    functionSourceFile: /src/hostap/src/rsn_supp/wpa_i.h
    functionUses: 1
    functionsReached:
    - struct wpa_sm*::ctx::mark_authenticated
    linkageType: ''
    returnType: int
    signature: "int wpa_sm_mark_authenticated(struct wpa_sm *sm,\n\t\t\t\t\t    const
      u8 *target_ap)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_sm*::ctx::set_rekey_offload
      Src: /src/hostap/src/rsn_supp/wpa_i.h:397,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 400
    functionName: wpa_sm_set_rekey_offload
    functionSourceFile: /src/hostap/src/rsn_supp/wpa_i.h
    functionUses: 0
    functionsReached:
    - struct wpa_sm*::ctx::set_rekey_offload
    linkageType: ''
    returnType: void
    signature: void wpa_sm_set_rekey_offload(struct wpa_sm *sm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_sm*::ctx::tdls_get_capa
      Src: /src/hostap/src/rsn_supp/wpa_i.h:409,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - sm
    - tdls_supported
    - tdls_ext_setup
    - tdls_chan_switch
    argTypes:
    - struct wpa_sm*
    - int*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 412
    functionName: wpa_sm_tdls_get_capa
    functionSourceFile: /src/hostap/src/rsn_supp/wpa_i.h
    functionUses: 1
    functionsReached:
    - struct wpa_sm*::ctx::tdls_get_capa
    linkageType: ''
    returnType: int
    signature: "int wpa_sm_tdls_get_capa(struct wpa_sm *sm,\n\t\t\t\t       int *tdls_supported,\n\t\t\t\t
      \      int *tdls_ext_setup,\n\t\t\t\t       int *tdls_chan_switch)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_sm*::ctx::send_tdls_mgmt
      Src: /src/hostap/src/rsn_supp/wpa_i.h:421,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 10
    argNames:
    - sm
    - dst
    - action_code
    - dialog_token
    - status_code
    - peer_capab
    - initiator
    - buf
    - len
    - link_id
    argTypes:
    - struct wpa_sm*
    - u8*
    - u8
    - u8
    - u16
    - u32
    - int
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 426
    functionName: wpa_sm_send_tdls_mgmt
    functionSourceFile: /src/hostap/src/rsn_supp/wpa_i.h
    functionUses: 1
    functionsReached:
    - struct wpa_sm*::ctx::send_tdls_mgmt
    linkageType: ''
    returnType: int
    signature: "int wpa_sm_send_tdls_mgmt(struct wpa_sm *sm, const u8 *dst,\n\t\t\t\t\tu8
      action_code, u8 dialog_token,\n\t\t\t\t\tu16 status_code, u32 peer_capab,\n\t\t\t\t\tint
      initiator, const u8 *buf,\n\t\t\t\t\tsize_t len, int link_id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_sm*::ctx::tdls_oper
      Src: /src/hostap/src/rsn_supp/wpa_i.h:432,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - sm
    - oper
    - peer
    argTypes:
    - struct wpa_sm*
    - int
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 434
    functionName: wpa_sm_tdls_oper
    functionSourceFile: /src/hostap/src/rsn_supp/wpa_i.h
    functionUses: 6
    functionsReached:
    - struct wpa_sm*::ctx::tdls_oper
    linkageType: ''
    returnType: int
    signature: "int wpa_sm_tdls_oper(struct wpa_sm *sm, int oper,\n\t\t\t\t   const
      u8 *peer)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_sm*::ctx::tdls_peer_addset
      Src: /src/hostap/src/rsn_supp/wpa_i.h:453,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 23
    argNames:
    - sm
    - addr
    - add
    - aid
    - capability
    - supp_rates
    - supp_rates_len
    - ht_capab
    - vht_capab
    - he_capab
    - he_capab_len
    - he_6ghz_capab
    - qosinfo
    - wmm
    - ext_capab
    - ext_capab_len
    - supp_channels
    - supp_channels_len
    - supp_oper_classes
    - supp_oper_classes_len
    - eht_capab
    - eht_capab_len
    - mld_link_id
    argTypes:
    - struct wpa_sm*
    - u8*
    - int
    - u16
    - u16
    - u8*
    - size_t
    - struct ieee80211_ht_capabilities*
    - struct ieee80211_vht_capabilities*
    - struct ieee80211_he_capabilities*
    - size_t
    - struct ieee80211_he_6ghz_band_cap*
    - u8
    - int
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    - struct ieee80211_eht_capabilities*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 467
    functionName: wpa_sm_tdls_peer_addset
    functionSourceFile: /src/hostap/src/rsn_supp/wpa_i.h
    functionUses: 3
    functionsReached:
    - struct wpa_sm*::ctx::tdls_peer_addset
    linkageType: ''
    returnType: int
    signature: "int wpa_sm_tdls_peer_addset(struct wpa_sm *sm, const u8 *addr, int
      add,\n\t\t\tu16 aid, u16 capability, const u8 *supp_rates,\n\t\t\tsize_t supp_rates_len,\n\t\t\tconst
      struct ieee80211_ht_capabilities *ht_capab,\n\t\t\tconst struct ieee80211_vht_capabilities
      *vht_capab,\n\t\t\tconst struct ieee80211_he_capabilities *he_capab,\n\t\t\tsize_t
      he_capab_len,\n\t\t\tconst struct ieee80211_he_6ghz_band_cap *he_6ghz_capab,\n\t\t\tu8
      qosinfo, int wmm, const u8 *ext_capab,\n\t\t\tsize_t ext_capab_len, const u8
      *supp_channels,\n\t\t\tsize_t supp_channels_len, const u8 *supp_oper_classes,\n\t\t\tsize_t
      supp_oper_classes_len,\n\t\t\tconst struct ieee80211_eht_capabilities *eht_capab,\n\t\t\tsize_t
      eht_capab_len, int mld_link_id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_sm*::ctx::tdls_enable_channel_switch
      Src: /src/hostap/src/rsn_supp/wpa_i.h:475,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - sm
    - addr
    - oper_class
    - freq_params
    argTypes:
    - struct wpa_sm*
    - u8*
    - u8
    - struct hostapd_freq_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 479
    functionName: wpa_sm_tdls_enable_channel_switch
    functionSourceFile: /src/hostap/src/rsn_supp/wpa_i.h
    functionUses: 1
    functionsReached:
    - struct wpa_sm*::ctx::tdls_enable_channel_switch
    linkageType: ''
    returnType: int
    signature: "int wpa_sm_tdls_enable_channel_switch(struct wpa_sm *sm, const u8
      *addr,\n\t\t\t\t  u8 oper_class,\n\t\t\t\t  const struct hostapd_freq_params
      *freq_params)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_sm*::ctx::tdls_disable_channel_switch
      Src: /src/hostap/src/rsn_supp/wpa_i.h:485,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - sm
    - addr
    argTypes:
    - struct wpa_sm*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 487
    functionName: wpa_sm_tdls_disable_channel_switch
    functionSourceFile: /src/hostap/src/rsn_supp/wpa_i.h
    functionUses: 3
    functionsReached:
    - struct wpa_sm*::ctx::tdls_disable_channel_switch
    linkageType: ''
    returnType: int
    signature: int wpa_sm_tdls_disable_channel_switch(struct wpa_sm *sm, const u8
      *addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_sm*::ctx::key_mgmt_set_pmk
      Src: /src/hostap/src/rsn_supp/wpa_i.h:495,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - sm
    - pmk
    - pmk_len
    argTypes:
    - struct wpa_sm*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 496
    functionName: wpa_sm_key_mgmt_set_pmk
    functionSourceFile: /src/hostap/src/rsn_supp/wpa_i.h
    functionUses: 0
    functionsReached:
    - struct wpa_sm*::ctx::key_mgmt_set_pmk
    linkageType: ''
    returnType: int
    signature: "int wpa_sm_key_mgmt_set_pmk(struct wpa_sm *sm,\n\t\t\t\t\t  const
      u8 *pmk, size_t pmk_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_sm*::ctx::fils_hlp_rx
      Src: /src/hostap/src/rsn_supp/wpa_i.h:503,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 5
    argNames:
    - sm
    - dst
    - src
    - pkt
    - pkt_len
    argTypes:
    - struct wpa_sm*
    - u8*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 504
    functionName: wpa_sm_fils_hlp_rx
    functionSourceFile: /src/hostap/src/rsn_supp/wpa_i.h
    functionUses: 0
    functionsReached:
    - struct wpa_sm*::ctx::fils_hlp_rx
    linkageType: ''
    returnType: void
    signature: "void wpa_sm_fils_hlp_rx(struct wpa_sm *sm,\n\t\t\t\t      const u8
      *dst, const u8 *src,\n\t\t\t\t      const u8 *pkt, size_t pkt_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_sm*::ctx::channel_info
      Src: /src/hostap/src/rsn_supp/wpa_i.h:511,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - sm
    - ci
    argTypes:
    - struct wpa_sm*
    - struct wpa_channel_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 512
    functionName: wpa_sm_channel_info
    functionSourceFile: /src/hostap/src/rsn_supp/wpa_i.h
    functionUses: 1
    functionsReached:
    - struct wpa_sm*::ctx::channel_info
    linkageType: ''
    returnType: int
    signature: "int wpa_sm_channel_info(struct wpa_sm *sm,\n\t\t\t\t      struct wpa_channel_info
      *ci)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_sm*::ctx::transition_disable
      Src: /src/hostap/src/rsn_supp/wpa_i.h:517,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - sm
    - bitmap
    argTypes:
    - struct wpa_sm*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 518
    functionName: wpa_sm_transition_disable
    functionSourceFile: /src/hostap/src/rsn_supp/wpa_i.h
    functionUses: 0
    functionsReached:
    - struct wpa_sm*::ctx::transition_disable
    linkageType: ''
    returnType: void
    signature: void wpa_sm_transition_disable(struct wpa_sm *sm, u8 bitmap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_sm*::ctx::store_ptk
      Src: /src/hostap/src/rsn_supp/wpa_i.h:525,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 5
    argNames:
    - sm
    - addr
    - cipher
    - life_time
    - ptk
    argTypes:
    - struct wpa_sm*
    - u8*
    - int
    - u32
    - struct wpa_ptk*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 527
    functionName: wpa_sm_store_ptk
    functionSourceFile: /src/hostap/src/rsn_supp/wpa_i.h
    functionUses: 1
    functionsReached:
    - struct wpa_sm*::ctx::store_ptk
    linkageType: ''
    returnType: void
    signature: "void wpa_sm_store_ptk(struct wpa_sm *sm,\n\t\t\t\t    const u8 *addr,
      int cipher,\n\t\t\t\t    u32 life_time, struct wpa_ptk *ptk)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WPA_ASSERT
      Src: /src/hostap/src/rsn_supp/wpa_i.h:535,1
    - Dst: struct wpa_sm*::ctx::set_ltf_keyseed
      Src: /src/hostap/src/rsn_supp/wpa_i.h:536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - sm
    - own_addr
    - peer_addr
    - ltf_keyseed_len
    - ltf_keyseed
    argTypes:
    - struct wpa_sm*
    - u8*
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 530
    functionDepth: 1
    functionLinenumber: 530
    functionLinenumberEnd: 538
    functionName: wpa_sm_set_ltf_keyseed
    functionSourceFile: /src/hostap/src/rsn_supp/wpa_i.h
    functionUses: 0
    functionsReached:
    - struct wpa_sm*::ctx::set_ltf_keyseed
    - WPA_ASSERT
    linkageType: ''
    returnType: int
    signature: "int wpa_sm_set_ltf_keyseed(struct wpa_sm *sm, const u8 *own_addr,\n\t\t\t\t\t
      const u8 *peer_addr,\n\t\t\t\t\t size_t ltf_keyseed_len,\n\t\t\t\t\t const u8
      *ltf_keyseed)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_sm*::ctx::notify_pmksa_cache_entry
      Src: /src/hostap/src/rsn_supp/wpa_i.h:546,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - sm
    - entry
    argTypes:
    - struct wpa_sm*
    - struct rsn_pmksa_cache_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 547
    functionName: wpa_sm_notify_pmksa_cache_entry
    functionSourceFile: /src/hostap/src/rsn_supp/wpa_i.h
    functionUses: 0
    functionsReached:
    - struct wpa_sm*::ctx::notify_pmksa_cache_entry
    linkageType: ''
    returnType: void
    signature: "void wpa_sm_notify_pmksa_cache_entry(struct wpa_sm *sm,\n\t\t\t\tstruct
      rsn_pmksa_cache_entry *entry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_sm*::ctx::ssid_verified
      Src: /src/hostap/src/rsn_supp/wpa_i.h:552,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 553
    functionName: wpa_sm_ssid_verified
    functionSourceFile: /src/hostap/src/rsn_supp/wpa_i.h
    functionUses: 0
    functionsReached:
    - struct wpa_sm*::ctx::ssid_verified
    linkageType: ''
    returnType: void
    signature: void wpa_sm_ssid_verified(struct wpa_sm *sm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/rsn_supp/preauth.c:44,1
    - Dst: dl_list_del
      Src: /src/hostap/src/rsn_supp/preauth.c:46,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/preauth.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 49
    functionName: pmksa_candidate_free
    functionSourceFile: /src/hostap/src/rsn_supp/preauth.c
    functionUses: 2
    functionsReached:
    - os_free
    - dl_list_del
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: void pmksa_candidate_free(struct wpa_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - akmp
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: rsn_preauth_key_mgmt
    functionSourceFile: /src/hostap/src/rsn_supp/preauth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int rsn_preauth_key_mgmt(int akmp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/preauth.c:67,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/preauth.c:67,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/preauth.c:68,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/rsn_supp/preauth.c:71,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/rsn_supp/preauth.c:72,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/preauth.c:73,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/preauth.c:75,1
    - Dst: eapol_sm_rx_eapol
      Src: /src/hostap/src/rsn_supp/preauth.c:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - ctx
    - src_addr
    - buf
    - len
    argTypes:
    - void*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 81
    functionName: rsn_preauth_receive
    functionSourceFile: /src/hostap/src/rsn_supp/preauth.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    - is_zero_ether_addr
    - ether_addr_equal
    - MAC2STR
    - eapol_sm_rx_eapol
    linkageType: ''
    returnType: void
    signature: "void rsn_preauth_receive(void *ctx, const u8 *src_addr,\n\t\t\t\tconst
      u8 *buf, size_t len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: eapol_sm_get_key
      Src: /src/hostap/src/rsn_supp/preauth.c:94,1
    - Dst: eapol_sm_get_key
      Src: /src/hostap/src/rsn_supp/preauth.c:100,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/rsn_supp/preauth.c:104,1
    - Dst: pmksa_cache_add
      Src: /src/hostap/src/rsn_supp/preauth.c:107,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/preauth.c:113,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/preauth.c:120,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/preauth.c:121,1
    - Dst: rsn_preauth_deinit
      Src: /src/hostap/src/rsn_supp/preauth.c:125,1
    - Dst: rsn_preauth_candidate_process
      Src: /src/hostap/src/rsn_supp/preauth.c:126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - eapol
    - result
    - ctx
    argTypes:
    - struct eapol_sm*
    - enum eapol_supp_result
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 127
    functionName: rsn_preauth_eapol_cb
    functionSourceFile: /src/hostap/src/rsn_supp/preauth.c
    functionUses: 0
    functionsReached:
    - wpa_hexdump_key
    - wpa_msg
    - rsn_preauth_candidate_process
    - pmksa_cache_add
    - MAC2STR
    - eapol_sm_get_key
    - rsn_preauth_deinit
    linkageType: ''
    returnType: void
    signature: "void rsn_preauth_eapol_cb(struct eapol_sm *eapol,\n\t\t\t\t enum eapol_supp_result
      result,\n\t\t\t\t void *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/preauth.c:134,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/preauth.c:135,1
    - Dst: rsn_preauth_deinit
      Src: /src/hostap/src/rsn_supp/preauth.c:136,1
    - Dst: rsn_preauth_candidate_process
      Src: /src/hostap/src/rsn_supp/preauth.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 138
    functionName: rsn_preauth_timeout
    functionSourceFile: /src/hostap/src/rsn_supp/preauth.c
    functionUses: 0
    functionsReached:
    - rsn_preauth_deinit
    - MAC2STR
    - rsn_preauth_candidate_process
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: void rsn_preauth_timeout(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_sm_alloc_eapol
      Src: /src/hostap/src/rsn_supp/preauth.c:155,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/preauth.c:159,1
    - Dst: l2_packet_send
      Src: /src/hostap/src/rsn_supp/preauth.c:160,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/preauth.c:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - ctx
    - type
    - buf
    - len
    argTypes:
    - void*
    - int
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 141
    functionDepth: 3
    functionLinenumber: 141
    functionLinenumberEnd: 164
    functionName: rsn_preauth_eapol_send
    functionSourceFile: /src/hostap/src/rsn_supp/preauth.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpa_sm_alloc_eapol
    - l2_packet_send
    - wpa_hexdump
    linkageType: ''
    returnType: int
    signature: "int rsn_preauth_eapol_send(void *ctx, int type, const u8 *buf,\n\t\t\t\t
      \ size_t len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/preauth.c:191,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/preauth.c:192,1
    - Dst: l2_packet_init
      Src: /src/hostap/src/rsn_supp/preauth.c:194,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/preauth.c:198,1
    - Dst: l2_packet_init
      Src: /src/hostap/src/rsn_supp/preauth.c:204,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/preauth.c:209,1
    - Dst: os_zalloc
      Src: /src/hostap/src/rsn_supp/preauth.c:217,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/preauth.c:219,1
    - Dst: eapol_sm_init
      Src: /src/hostap/src/rsn_supp/preauth.c:234,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/preauth.c:236,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/preauth.c:237,1
    - Dst: os_memset
      Src: /src/hostap/src/rsn_supp/preauth.c:242,1
    - Dst: eapol_sm_notify_config
      Src: /src/hostap/src/rsn_supp/preauth.c:247,1
    - Dst: eapol_sm_configure
      Src: /src/hostap/src/rsn_supp/preauth.c:254,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/preauth.c:255,1
    - Dst: eapol_sm_notify_portValid
      Src: /src/hostap/src/rsn_supp/preauth.c:257,1
    - Dst: eapol_sm_notify_portEnabled
      Src: /src/hostap/src/rsn_supp/preauth.c:259,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/rsn_supp/preauth.c:261,1
    - Dst: l2_packet_deinit
      Src: /src/hostap/src/rsn_supp/preauth.c:268,1
    - Dst: l2_packet_deinit
      Src: /src/hostap/src/rsn_supp/preauth.c:271,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 64
    argCount: 3
    argNames:
    - sm
    - dst
    - eap_conf
    argTypes:
    - struct wpa_sm*
    - u8*
    - struct eap_peer_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 274
    functionName: rsn_preauth_init
    functionSourceFile: /src/hostap/src/rsn_supp/preauth.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - os_memcpy
    - eapol_sm_notify_config
    - wpa_msg
    - l2_packet_deinit
    - eapol_sm_configure
    - eapol_sm_notify_portValid
    - eapol_sm_notify_portEnabled
    - MAC2STR
    - os_zalloc
    - eapol_sm_init
    - eloop_register_timeout
    - os_free
    - l2_packet_init
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int rsn_preauth_init(struct wpa_sm *sm, const u8 *dst,\n\t\t     struct
      eap_peer_config *eap_conf)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/rsn_supp/preauth.c:289,1
    - Dst: eapol_sm_deinit
      Src: /src/hostap/src/rsn_supp/preauth.c:290,1
    - Dst: os_memset
      Src: /src/hostap/src/rsn_supp/preauth.c:292,1
    - Dst: l2_packet_deinit
      Src: /src/hostap/src/rsn_supp/preauth.c:294,1
    - Dst: l2_packet_deinit
      Src: /src/hostap/src/rsn_supp/preauth.c:297,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 300
    functionName: rsn_preauth_deinit
    functionSourceFile: /src/hostap/src/rsn_supp/preauth.c
    functionUses: 7
    functionsReached:
    - eloop_cancel_timeout
    - eapol_sm_deinit
    - l2_packet_deinit
    - os_memset
    linkageType: ''
    returnType: void
    signature: void rsn_preauth_deinit(struct wpa_sm *sm)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_empty
      Src: /src/hostap/src/rsn_supp/preauth.c:315,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/preauth.c:320,1
    - Dst: wpa_sm_get_state
      Src: /src/hostap/src/rsn_supp/preauth.c:324,1
    - Dst: rsn_preauth_key_mgmt
      Src: /src/hostap/src/rsn_supp/preauth.c:325,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/preauth.c:326,1
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/rsn_supp/preauth.c:331,1
    - Dst: pmksa_cache_get
      Src: /src/hostap/src/rsn_supp/preauth.c:334,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/rsn_supp/preauth.c:336,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/preauth.c:338,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/preauth.c:341,1
    - Dst: dl_list_del
      Src: /src/hostap/src/rsn_supp/preauth.c:342,1
    - Dst: rsn_preauth_init
      Src: /src/hostap/src/rsn_supp/preauth.c:343,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/preauth.c:345,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/preauth.c:348,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/preauth.c:350,1
    - Dst: wpa_sm_add_pmkid
      Src: /src/hostap/src/rsn_supp/preauth.c:354,1
    - Dst: dl_list_del
      Src: /src/hostap/src/rsn_supp/preauth.c:359,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/preauth.c:360,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/preauth.c:362,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 311
    functionDepth: 2
    functionLinenumber: 311
    functionLinenumberEnd: 364
    functionName: rsn_preauth_candidate_process
    functionSourceFile: /src/hostap/src/rsn_supp/preauth.c
    functionUses: 2
    functionsReached:
    - wpa_sm_get_state
    - dl_list_del
    - wpa_msg
    - dl_list_empty
    - ether_addr_equal
    - rsn_preauth_key_mgmt
    - rsn_preauth_init
    - MAC2STR
    - wpa_sm_add_pmkid
    - os_free
    - pmksa_cache_get
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: void rsn_preauth_candidate_process(struct wpa_sm *sm)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: pmksa_cache_get_opportunistic
      Src: /src/hostap/src/rsn_supp/preauth.c:384,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/preauth.c:388,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/rsn_supp/preauth.c:396,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/rsn_supp/preauth.c:398,1
    - Dst: dl_list_del
      Src: /src/hostap/src/rsn_supp/preauth.c:405,1
    - Dst: os_zalloc
      Src: /src/hostap/src/rsn_supp/preauth.c:409,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/preauth.c:412,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/rsn_supp/preauth.c:418,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/preauth.c:430,1
    - Dst: dl_list_add
      Src: /src/hostap/src/rsn_supp/preauth.c:433,1
    - Dst: dl_list_add_tail
      Src: /src/hostap/src/rsn_supp/preauth.c:439,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/preauth.c:441,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/preauth.c:442,1
    - Dst: rsn_preauth_candidate_process
      Src: /src/hostap/src/rsn_supp/preauth.c:443,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 4
    argNames:
    - sm
    - bssid
    - prio
    - preauth
    argTypes:
    - struct wpa_sm*
    - u8*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 444
    functionName: pmksa_candidate_add
    functionSourceFile: /src/hostap/src/rsn_supp/preauth.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - os_memcpy
    - dl_list_del
    - wpa_msg
    - dl_list_add_tail
    - ether_addr_equal
    - rsn_preauth_candidate_process
    - dl_list_for_each
    - MAC2STR
    - os_zalloc
    - dl_list_add
    - pmksa_cache_get_opportunistic
    - os_free
    linkageType: ''
    returnType: void
    signature: "void pmksa_candidate_add(struct wpa_sm *sm, const u8 *bssid,\n\t\t\t
      int prio, int preauth)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pmksa_candidate_free
      Src: /src/hostap/src/rsn_supp/preauth.c:467,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 470
    functionName: rsn_preauth_scan_results
    functionSourceFile: /src/hostap/src/rsn_supp/preauth.c
    functionUses: 2
    functionsReached:
    - pmksa_candidate_free
    linkageType: ''
    returnType: int
    signature: int rsn_preauth_scan_results(struct wpa_sm *sm)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/src/rsn_supp/preauth.c:487,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/rsn_supp/preauth.c:490,1
    - Dst: wpa_parse_wpa_ie
      Src: /src/hostap/src/rsn_supp/preauth.c:493,1
    - Dst: pmksa_cache_get
      Src: /src/hostap/src/rsn_supp/preauth.c:496,1
    - Dst: rsn_preauth_key_mgmt
      Src: /src/hostap/src/rsn_supp/preauth.c:501,1
    - Dst: pmksa_candidate_add
      Src: /src/hostap/src/rsn_supp/preauth.c:505,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 4
    argNames:
    - sm
    - bssid
    - ssid
    - rsn
    argTypes:
    - struct wpa_sm*
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 507
    functionName: rsn_preauth_scan_result
    functionSourceFile: /src/hostap/src/rsn_supp/preauth.c
    functionUses: 1
    functionsReached:
    - ether_addr_equal
    - rsn_preauth_key_mgmt
    - wpa_parse_wpa_ie
    - pmksa_candidate_add
    - os_memcmp
    - pmksa_cache_get
    linkageType: ''
    returnType: void
    signature: "void rsn_preauth_scan_result(struct wpa_sm *sm, const u8 *bssid,\n\t\t\t
      \    const u8 *ssid, const u8 *rsn)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/src/rsn_supp/preauth.c:530,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/rsn_supp/preauth.c:532,1
    - Dst: eapol_sm_get_status
      Src: /src/hostap/src/rsn_supp/preauth.c:535,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - sm
    - buf
    - buflen
    - verbose
    argTypes:
    - struct wpa_sm*
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 523
    functionDepth: 1
    functionLinenumber: 523
    functionLinenumberEnd: 542
    functionName: rsn_preauth_get_status
    functionSourceFile: /src/hostap/src/rsn_supp/preauth.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - eapol_sm_get_status
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int rsn_preauth_get_status(struct wpa_sm *sm, char *buf, size_t buflen,\n\t\t\t
      \  int verbose)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 553
    functionName: rsn_preauth_in_progress
    functionSourceFile: /src/hostap/src/rsn_supp/preauth.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int rsn_preauth_in_progress(struct wpa_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct wpa_sm_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 302
    functionName: wpa_sm_init
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: struct wpa_sm
    signature: struct wpa_sm * wpa_sm_init(struct wpa_sm_ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 306
    functionName: wpa_sm_deinit
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wpa_sm_deinit(struct wpa_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - sm
    - bssid
    argTypes:
    - struct wpa_sm*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 310
    functionName: wpa_sm_notify_assoc
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wpa_sm_notify_assoc(struct wpa_sm *sm, const u8 *bssid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 314
    functionName: wpa_sm_notify_disassoc
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wpa_sm_notify_disassoc(struct wpa_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - sm
    - pmk
    - pmk_len
    - pmkid
    - bssid
    argTypes:
    - struct wpa_sm*
    - u8*
    - size_t
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 320
    functionName: wpa_sm_set_pmk
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpa_sm_set_pmk(struct wpa_sm *sm, const u8 *pmk,\n\t\t\t\t  size_t
      pmk_len, const u8 *pmkid,\n\t\t\t\t  const u8 *bssid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 324
    functionName: wpa_sm_set_pmk_from_pmksa
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wpa_sm_set_pmk_from_pmksa(struct wpa_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - sm
    - fast_reauth
    argTypes:
    - struct wpa_sm*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 328
    functionName: wpa_sm_set_fast_reauth
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wpa_sm_set_fast_reauth(struct wpa_sm *sm, int fast_reauth)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - sm
    - scard_ctx
    argTypes:
    - struct wpa_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 332
    functionName: wpa_sm_set_scard_ctx
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wpa_sm_set_scard_ctx(struct wpa_sm *sm, void *scard_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - sm
    - config
    argTypes:
    - struct wpa_sm*
    - struct rsn_supp_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 337
    functionName: wpa_sm_set_config
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpa_sm_set_config(struct wpa_sm *sm,\n\t\t\t\t     struct rsn_supp_config
      *config)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - sm
    - ssid
    - ssid_len
    argTypes:
    - struct wpa_sm*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 342
    functionName: wpa_sm_set_ssid
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpa_sm_set_ssid(struct wpa_sm *sm, const u8 *ssid,\n\t\t\t\t
      \  size_t ssid_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - sm
    - addr
    argTypes:
    - struct wpa_sm*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 346
    functionName: wpa_sm_set_own_addr
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wpa_sm_set_own_addr(struct wpa_sm *sm, const u8 *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - sm
    - ifname
    - bridge_ifname
    argTypes:
    - struct wpa_sm*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 351
    functionName: wpa_sm_set_ifname
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpa_sm_set_ifname(struct wpa_sm *sm, const char *ifname,\n\t\t\t\t
      \    const char *bridge_ifname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - sm
    - eapol
    argTypes:
    - struct wpa_sm*
    - struct eapol_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 355
    functionName: wpa_sm_set_eapol
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wpa_sm_set_eapol(struct wpa_sm *sm, struct eapol_sm *eapol)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sm
    - ie
    - len
    argTypes:
    - struct wpa_sm*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 361
    functionName: wpa_sm_set_assoc_wpa_ie
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int wpa_sm_set_assoc_wpa_ie(struct wpa_sm *sm, const u8 *ie,\n\t\t\t\t\t
      \ size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sm
    - wpa_ie
    - wpa_ie_len
    argTypes:
    - struct wpa_sm*
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 368
    functionName: wpa_sm_set_assoc_wpa_ie_default
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int wpa_sm_set_assoc_wpa_ie_default(struct wpa_sm *sm,\n\t\t\t\t\t\t
      \ u8 *wpa_ie,\n\t\t\t\t\t\t  size_t *wpa_ie_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sm
    - ie
    - len
    argTypes:
    - struct wpa_sm*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 374
    functionName: wpa_sm_set_ap_wpa_ie
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int wpa_sm_set_ap_wpa_ie(struct wpa_sm *sm, const u8 *ie,\n\t\t\t\t
      \      size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sm
    - ie
    - len
    argTypes:
    - struct wpa_sm*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 380
    functionName: wpa_sm_set_ap_rsn_ie
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int wpa_sm_set_ap_rsn_ie(struct wpa_sm *sm, const u8 *ie,\n\t\t\t\t
      \      size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sm
    - ie
    - len
    argTypes:
    - struct wpa_sm*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 386
    functionName: wpa_sm_set_ap_rsnxe
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int wpa_sm_set_ap_rsnxe(struct wpa_sm *sm, const u8 *ie,\n\t\t\t\t
      \     size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sm
    - ie
    - len
    argTypes:
    - struct wpa_sm*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 392
    functionName: wpa_sm_set_ap_rsne_override
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int wpa_sm_set_ap_rsne_override(struct wpa_sm *sm, const u8 *ie,\n\t\t\t\t\t
      \     size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sm
    - ie
    - len
    argTypes:
    - struct wpa_sm*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 398
    functionName: wpa_sm_set_ap_rsne_override_2
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int wpa_sm_set_ap_rsne_override_2(struct wpa_sm *sm, const u8 *ie,\n\t\t\t\t\t\tsize_t
      len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sm
    - ie
    - len
    argTypes:
    - struct wpa_sm*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 404
    functionName: wpa_sm_set_ap_rsnxe_override
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int wpa_sm_set_ap_rsnxe_override(struct wpa_sm *sm, const u8 *ie,\n\t\t\t\t\t
      \      size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sm
    - buf
    - buflen
    argTypes:
    - struct wpa_sm*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 409
    functionName: wpa_sm_get_mib
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpa_sm_get_mib(struct wpa_sm *sm, char *buf, size_t buflen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sm
    - param
    - value
    argTypes:
    - struct wpa_sm*
    - enum wpa_sm_conf_params
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 416
    functionName: wpa_sm_set_param
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int wpa_sm_set_param(struct wpa_sm *sm,\n\t\t\t\t   enum wpa_sm_conf_params
      param,\n\t\t\t\t   unsigned int value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - sm
    - buf
    - buflen
    - verbose
    argTypes:
    - struct wpa_sm*
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 422
    functionName: wpa_sm_get_status
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int wpa_sm_get_status(struct wpa_sm *sm, char *buf,\n\t\t\t\t    size_t
      buflen, int verbose)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 427
    functionName: wpa_sm_pmf_enabled
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpa_sm_pmf_enabled(struct wpa_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 432
    functionName: wpa_sm_ext_key_id
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpa_sm_ext_key_id(struct wpa_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 437
    functionName: wpa_sm_ext_key_id_active
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpa_sm_ext_key_id_active(struct wpa_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 442
    functionName: wpa_sm_ocv_enabled
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpa_sm_ocv_enabled(struct wpa_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - sm
    - error
    - pairwise
    argTypes:
    - struct wpa_sm*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 447
    functionName: wpa_sm_key_request
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpa_sm_key_request(struct wpa_sm *sm, int error,\n\t\t\t\t      int
      pairwise)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - wpa_ie
    - wpa_ie_len
    - data
    argTypes:
    - u8*
    - size_t
    - struct wpa_ie_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 453
    functionName: wpa_parse_wpa_ie
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int wpa_parse_wpa_ie(const u8 *wpa_ie, size_t wpa_ie_len,\n\t\t\t\t
      \  struct wpa_ie_data *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 457
    functionName: wpa_sm_aborted_cached
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wpa_sm_aborted_cached(struct wpa_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 461
    functionName: wpa_sm_aborted_external_cached
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wpa_sm_aborted_external_cached(struct wpa_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sm
    - src_addr
    - buf
    - len
    - encrypted
    argTypes:
    - struct wpa_sm*
    - u8*
    - u8*
    - size_t
    - enum frame_encryption
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 468
    functionName: wpa_sm_rx_eapol
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int wpa_sm_rx_eapol(struct wpa_sm *sm, const u8 *src_addr,\n\t\t\t\t
      \ const u8 *buf, size_t len,\n\t\t\t\t  enum frame_encryption encrypted)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - data
    argTypes:
    - struct wpa_sm*
    - struct wpa_ie_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 474
    functionName: wpa_sm_parse_own_wpa_ie
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int wpa_sm_parse_own_wpa_ie(struct wpa_sm *sm,\n\t\t\t\t\t  struct
      wpa_ie_data *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sm
    - buf
    - len
    argTypes:
    - struct wpa_sm*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 480
    functionName: wpa_sm_pmksa_cache_list
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int wpa_sm_pmksa_cache_list(struct wpa_sm *sm, char *buf,\n\t\t\t\t\t
      \ size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 484
    functionName: wpa_sm_drop_sa
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wpa_sm_drop_sa(struct wpa_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sm
    - aa
    - pmkid
    - network_ctx
    - akmp
    argTypes:
    - struct wpa_sm*
    - u8*
    - u8*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 491
    functionName: wpa_sm_pmksa_cache_get
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct rsn_pmksa_cache_entry
    signature: "struct rsn_pmksa_cache_entry *\nwpa_sm_pmksa_cache_get(struct wpa_sm
      *sm, const u8 *aa, const u8 *pmkid,\n\t\t       const void *network_ctx, int
      akmp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 496
    functionName: wpa_sm_has_ptk_installed
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpa_sm_has_ptk_installed(struct wpa_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - sm
    - replay_ctr
    argTypes:
    - struct wpa_sm*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 501
    functionName: wpa_sm_update_replay_ctr
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpa_sm_update_replay_ctr(struct wpa_sm *sm,\n\t\t\t\t\t    const
      u8 *replay_ctr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - sm
    - network_ctx
    argTypes:
    - struct wpa_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 506
    functionName: wpa_sm_external_pmksa_cache_flush
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpa_sm_external_pmksa_cache_flush(struct wpa_sm *sm,\n\t\t\t\t\t\t
      \    void *network_ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - sm
    - network_ctx
    - addr
    argTypes:
    - struct wpa_sm*
    - void*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 512
    functionName: wpa_sm_external_pmksa_cache_flush_addr
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpa_sm_external_pmksa_cache_flush_addr(struct wpa_sm *sm,\n\t\t\t\t\t\t\t
      \ void *network_ctx,\n\t\t\t\t\t\t\t  const u8 *addr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - sm
    - network_ctx
    argTypes:
    - struct wpa_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 517
    functionName: wpa_sm_pmksa_cache_flush
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpa_sm_pmksa_cache_flush(struct wpa_sm *sm,\n\t\t\t\t\t    void
      *network_ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - sm
    - rx_replay_counter
    argTypes:
    - struct wpa_sm*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 522
    functionName: wpa_sm_set_rx_replay_ctr
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpa_sm_set_rx_replay_ctr(struct wpa_sm *sm,\n\t\t\t\t\t    const
      u8 *rx_replay_counter)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - sm
    - ptk_kck
    - ptk_kck_len
    - ptk_kek
    - ptk_kek_len
    argTypes:
    - struct wpa_sm*
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 528
    functionName: wpa_sm_set_ptk_kck_kek
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpa_sm_set_ptk_kck_kek(struct wpa_sm *sm, const u8 *ptk_kck,\n\t\t\t\t\t
      \ size_t ptk_kck_len,\n\t\t\t\t\t  const u8 *ptk_kek, size_t ptk_kek_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 533
    functionName: wpa_fils_is_completed
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpa_fils_is_completed(struct wpa_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 538
    functionName: wpa_eppke_is_completed
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool wpa_eppke_is_completed(struct wpa_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 543
    functionName: wpa_eap_over_auth_frame_is_completed
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool wpa_eap_over_auth_frame_is_completed(struct wpa_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 547
    functionName: wpa_sm_pmksa_cache_reconfig
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wpa_sm_pmksa_cache_reconfig(struct wpa_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - mlo
    argTypes:
    - struct wpa_sm*
    - struct wpa_sm_mlo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 553
    functionName: wpa_sm_set_mlo_params
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int wpa_sm_set_mlo_params(struct wpa_sm *sm,\n\t\t\t\t\tconst struct
      wpa_sm_mlo *mlo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - sm
    - driver_bss_selection
    argTypes:
    - struct wpa_sm*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 558
    functionName: wpa_sm_set_driver_bss_selection
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpa_sm_set_driver_bss_selection(struct wpa_sm *sm,\n\t\t\t\t\t\t
      \  bool driver_bss_selection)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 563
    functionName: wpa_sm_uses_spp_amsdu
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool wpa_sm_uses_spp_amsdu(struct wpa_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sm
    - ies
    - ies_len
    argTypes:
    - struct wpa_sm*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 597
    functionName: wpa_sm_set_ft_params
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpa_sm_set_ft_params(struct wpa_sm *sm, const u8 *ies, size_t ies_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - mdie
    argTypes:
    - struct wpa_sm*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 603
    functionName: wpa_ft_prepare_auth_request
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int wpa_ft_prepare_auth_request(struct wpa_sm *sm,\n\t\t\t\t\t      const
      u8 *mdie)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - sm
    - ies
    - ies_len
    - mdie
    argTypes:
    - struct wpa_sm*
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 609
    functionName: wpa_ft_add_mdie
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int wpa_ft_add_mdie(struct wpa_sm *sm, u8 *ies, size_t ies_len,\n\t\t\t\t
      \ const u8 *mdie)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sm
    - ies
    - ies_len
    - ft_action
    - target_ap
    argTypes:
    - struct wpa_sm*
    - u8*
    - size_t
    - int
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 616
    functionName: wpa_ft_process_response
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int wpa_ft_process_response(struct wpa_sm *sm, const u8 *ies, size_t
      ies_len,\n\t\t\tint ft_action, const u8 *target_ap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 621
    functionName: wpa_ft_is_completed
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpa_ft_is_completed(struct wpa_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 625
    functionName: wpa_reset_ft_completed
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wpa_reset_ft_completed(struct wpa_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - sm
    - ies
    - ies_len
    - src_addr
    argTypes:
    - struct wpa_sm*
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 632
    functionName: wpa_ft_validate_reassoc_resp
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int wpa_ft_validate_reassoc_resp(struct wpa_sm *sm, const u8 *ies,
      size_t ies_len,\n\t\t\t     const u8 *src_addr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - sm
    - akmp
    - r1kh_id
    - pmk_r1
    - pmk_r1_len
    - pmk_r1_name
    argTypes:
    - struct wpa_sm*
    - int
    - u8*
    - u8*
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 641
    functionName: wpa_pasn_ft_derive_pmk_r1
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int wpa_pasn_ft_derive_pmk_r1(struct wpa_sm *sm, int akmp, const u8
      *r1kh_id,\n\t\t\t  u8 *pmk_r1, size_t *pmk_r1_len, u8 *pmk_r1_name)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_parse_wpa_ie_rsn
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:32,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:35,1
    - Dst: wpa_parse_wpa_ie_rsn
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:36,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:39,1
    - Dst: wpa_parse_wpa_ie_rsn
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:40,1
    - Dst: wpa_parse_wpa_ie_wpa
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:41,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 8
    argCount: 3
    argNames:
    - wpa_ie
    - wpa_ie_len
    - data
    argTypes:
    - u8*
    - size_t
    - struct wpa_ie_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 42
    functionName: wpa_parse_wpa_ie
    functionSourceFile: /src/hostap/src/rsn_supp/wpa_ie.c
    functionUses: 13
    functionsReached:
    - wpa_parse_wpa_ie_wpa
    - wpa_parse_wpa_ie_rsn
    - WPA_GET_BE32
    linkageType: ''
    returnType: int
    signature: "int wpa_parse_wpa_ie(const u8 *wpa_ie, size_t wpa_ie_len,\n\t\t     struct
      wpa_ie_data *data)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:59,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:60,1
    - Dst: wpa_cipher_to_suite
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:63,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:65,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:69,1
    - Dst: wpa_cipher_to_suite
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:74,1
    - Dst: wpa_cipher_valid_pairwise
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:76,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:78,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:82,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:88,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:90,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:92,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:94,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:96,1
    - Dst: WPA_ASSERT
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:106,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 45
    argCount: 5
    argNames:
    - wpa_ie
    - wpa_ie_len
    - pairwise_cipher
    - group_cipher
    - key_mgmt
    argTypes:
    - u8*
    - size_t
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 109
    functionName: wpa_gen_wpa_ie_wpa
    functionSourceFile: /src/hostap/src/rsn_supp/wpa_ie.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_cipher_valid_pairwise
    - RSN_SELECTOR_PUT
    - wpa_cipher_to_suite
    - WPA_ASSERT
    - WPA_PUT_LE16
    linkageType: ''
    returnType: int
    signature: "int wpa_gen_wpa_ie_wpa(u8 *wpa_ie, size_t wpa_ie_len,\n\t\t\t      int
      pairwise_cipher, int group_cipher,\n\t\t\t      int key_mgmt)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 130
    functionName: rsn_supp_capab
    functionSourceFile: /src/hostap/src/rsn_supp/wpa_ie.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u16
    signature: u16 rsn_supp_capab(struct wpa_sm *sm)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:145,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:152,1
    - Dst: wpa_cipher_to_suite
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:155,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:157,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:161,1
    - Dst: wpa_cipher_to_suite
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:166,1
    - Dst: wpa_cipher_valid_pairwise
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:168,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:170,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:174,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:180,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:182,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:184,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:187,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:190,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:193,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:196,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:198,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:201,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:203,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:205,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:207,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:210,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:212,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:215,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:217,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:220,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:222,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:227,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:231,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:235,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:239,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:242,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:249,1
    - Dst: rsn_supp_capab
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:249,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:257,1
    - Dst: wpa_cipher_valid_mgmt_group
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:261,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:264,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:269,1
    - Dst: wpa_cipher_to_suite
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:269,1
    - Dst: WPA_ASSERT
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:276,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 116
    argCount: 7
    argNames:
    - rsn_ie
    - rsn_ie_len
    - pairwise_cipher
    - group_cipher
    - key_mgmt
    - mgmt_group_cipher
    - sm
    argTypes:
    - u8*
    - size_t
    - int
    - int
    - int
    - int
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 279
    functionName: wpa_gen_wpa_ie_rsn
    functionSourceFile: /src/hostap/src/rsn_supp/wpa_ie.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - os_memcpy
    - rsn_supp_capab
    - wpa_cipher_valid_pairwise
    - RSN_SELECTOR_PUT
    - wpa_cipher_valid_mgmt_group
    - wpa_cipher_to_suite
    - WPA_ASSERT
    - WPA_PUT_LE16
    linkageType: ''
    returnType: int
    signature: "int wpa_gen_wpa_ie_rsn(u8 *rsn_ie, size_t rsn_ie_len,\n\t\t       int
      pairwise_cipher, int group_cipher,\n\t\t       int key_mgmt, int mgmt_group_cipher,\n\t\t
      \      struct wpa_sm *sm)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_gen_wpa_ie_rsn
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:292,1
    - Dst: wpa_gen_wpa_ie_wpa
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - sm
    - wpa_ie
    - wpa_ie_len
    argTypes:
    - struct wpa_sm*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 289
    functionDepth: 2
    functionLinenumber: 289
    functionLinenumberEnd: 302
    functionName: wpa_gen_wpa_ie
    functionSourceFile: /src/hostap/src/rsn_supp/wpa_ie.c
    functionUses: 1
    functionsReached:
    - wpa_gen_wpa_ie_rsn
    - wpa_gen_wpa_ie_wpa
    linkageType: ''
    returnType: int
    signature: int wpa_gen_wpa_ie(struct wpa_sm *sm, u8 *wpa_ie, size_t wpa_ie_len)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:326,1
    - Dst: wpa_cipher_valid_mgmt_group
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:331,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:333,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:340,1
    - Dst: wpa_cipher_to_suite
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:344,1
    - Dst: wpa_cipher_valid_group
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:345,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:346,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:351,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:355,1
    - Dst: wpa_cipher_to_suite
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:357,1
    - Dst: wpa_cipher_valid_pairwise
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:359,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:361,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:366,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:370,1
    - Dst: wpa_akm_to_suite
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:372,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:374,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:377,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:381,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:385,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:387,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:390,1
    - Dst: wpa_cipher_valid_mgmt_group
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:395,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:398,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:403,1
    - Dst: wpa_cipher_to_suite
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:403,1
    - Dst: WPA_ASSERT
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:410,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 55
    argCount: 8
    argNames:
    - rsne
    - rsne_len
    - akmp
    - pairwise_cipher
    - group_cipher
    - group_mgmt_cipher
    - rsn_capab
    - pmkid
    argTypes:
    - u8*
    - size_t
    - int
    - int
    - int
    - int
    - u16
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 413
    functionName: wpa_external_auth_add_rsne
    functionSourceFile: /src/hostap/src/rsn_supp/wpa_ie.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_akm_to_suite
    - wpa_cipher_valid_pairwise
    - RSN_SELECTOR_PUT
    - wpa_cipher_valid_group
    - wpa_cipher_valid_mgmt_group
    - wpa_cipher_to_suite
    - WPA_ASSERT
    - WPA_PUT_LE16
    linkageType: ''
    returnType: int
    signature: "int wpa_external_auth_add_rsne(u8 *rsne, size_t rsne_len, int akmp,\n\t\t\t
      \      int pairwise_cipher, int group_cipher,\n\t\t\t       int group_mgmt_cipher,
      u16 rsn_capab,\n\t\t\t       const u8 *pmkid)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: wpa_key_mgmt_sae
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:422,1
    - Dst: BIT
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:425,1
    - Dst: BIT
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:428,1
    - Dst: BIT
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:433,1
    - Dst: BIT
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:435,1
    - Dst: BIT
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:437,1
    - Dst: BIT
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:439,1
    - Dst: BIT
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:441,1
    - Dst: BIT
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:443,1
    - Dst: BIT_ULL
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:445,1
    - Dst: BIT
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:448,1
    - Dst: BIT
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:449,1
    - Dst: BIT
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:453,1
    - Dst: wpa_key_mgmt_wpa_ieee8021x
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:456,1
    - Dst: BIT
      Src: /src/hostap/src/rsn_supp/wpa_ie.c:459,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 44
    argCount: 3
    argNames:
    - sm
    - rsnxe
    - rsnxe_len
    argTypes:
    - struct wpa_sm*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 482
    functionName: wpa_gen_rsnxe
    functionSourceFile: /src/hostap/src/rsn_supp/wpa_ie.c
    functionUses: 1
    functionsReached:
    - wpa_key_mgmt_sae
    - BIT
    - wpa_key_mgmt_wpa_ieee8021x
    - BIT_ULL
    linkageType: ''
    returnType: int
    signature: int wpa_gen_rsnxe(struct wpa_sm *sm, u8 *rsnxe, size_t rsnxe_len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/rsn_supp/wpa.c:50,1
    - Dst: os_strlen
      Src: /src/hostap/src/rsn_supp/wpa.c:50,1
    - Dst: os_snprintf
      Src: /src/hostap/src/rsn_supp/wpa.c:54,1
    - Dst: os_strlen
      Src: /src/hostap/src/rsn_supp/wpa.c:54,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/rsn_supp/wpa.c:59,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:62,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/wpa.c:63,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 6
    argNames:
    - level
    - link_id
    - title
    - buf
    - len
    - key
    argTypes:
    - int
    - u8
    - char*
    - void*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 64
    functionName: _wpa_hexdump_link
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_hexdump_key
    - wpa_hexdump
    - os_malloc
    - os_snprintf
    - os_free
    linkageType: ''
    returnType: void
    signature: "void _wpa_hexdump_link(int level, u8 link_id, const char *title,\n\t\t\t
      \     const void *buf, size_t len, bool key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _wpa_hexdump_link
      Src: /src/hostap/src/rsn_supp/wpa.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - level
    - link_id
    - title
    - buf
    - len
    argTypes:
    - int
    - u8
    - char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: wpa_hexdump_link
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 1
    functionsReached:
    - _wpa_hexdump_link
    linkageType: ''
    returnType: void
    signature: "void wpa_hexdump_link(int level, u8 link_id, const char *title,\n\t\t\t
      \    const void *buf, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _wpa_hexdump_link
      Src: /src/hostap/src/rsn_supp/wpa.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - level
    - link_id
    - title
    - buf
    - len
    argTypes:
    - int
    - u8
    - char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: wpa_hexdump_link_key
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - _wpa_hexdump_link
    linkageType: ''
    returnType: void
    signature: "void wpa_hexdump_link_key(int level, u8 link_id, const char *title,\n\t\t\t\t
      const void *buf, size_t len)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpa_mic_len
      Src: /src/hostap/src/rsn_supp/wpa.c:98,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:100,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/wpa.c:102,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/rsn_supp/wpa.c:103,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/rsn_supp/wpa.c:103,1
    - Dst: wpa_sm_get_bssid
      Src: /src/hostap/src/rsn_supp/wpa.c:108,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:109,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:114,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/wpa.c:117,1
    - Dst: wpa_eapol_key_mic
      Src: /src/hostap/src/rsn_supp/wpa.c:126,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:129,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/rsn_supp/wpa.c:135,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:137,1
    - Dst: os_malloc
      Src: /src/hostap/src/rsn_supp/wpa.c:157,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:161,1
    - Dst: be_to_host16
      Src: /src/hostap/src/rsn_supp/wpa.c:167,1
    - Dst: host_to_be16
      Src: /src/hostap/src/rsn_supp/wpa.c:169,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/rsn_supp/wpa.c:172,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/rsn_supp/wpa.c:178,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/rsn_supp/wpa.c:181,1
    - Dst: aes_siv_encrypt
      Src: /src/hostap/src/rsn_supp/wpa.c:186,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/wpa.c:189,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:193,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/wpa.c:196,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:204,1
    - Dst: wpa_sm_ether_send
      Src: /src/hostap/src/rsn_supp/wpa.c:205,1
    - Dst: eapol_sm_notify_tx_eapol_key
      Src: /src/hostap/src/rsn_supp/wpa.c:206,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/wpa.c:208,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 65
    argCount: 8
    argNames:
    - sm
    - ptk
    - ver
    - dest
    - proto
    - msg
    - msg_len
    - key_mic
    argTypes:
    - struct wpa_sm*
    - struct wpa_ptk*
    - int
    - u8*
    - u16
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 93
    functionDepth: 3
    functionLinenumber: 93
    functionLinenumberEnd: 210
    functionName: wpa_eapol_key_send
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - wpa_hexdump
    - wpa_eapol_key_mic
    - wpa_sm_ether_send
    - be_to_host16
    - wpa_printf
    - os_free
    - aes_siv_encrypt
    - wpa_sm_get_bssid
    - wpa_hexdump_key
    - is_zero_ether_addr
    - os_malloc
    - WPA_PUT_BE16
    - wpa_dbg
    - os_memcpy
    - wpa_msg
    - host_to_be16
    - MAC2STR
    - eapol_sm_notify_tx_eapol_key
    - wpa_mic_len
    linkageType: ''
    returnType: int
    signature: "int wpa_eapol_key_send(struct wpa_sm *sm, struct wpa_ptk *ptk,\n\t\t
      \      int ver, const u8 *dest, u16 proto,\n\t\t       u8 *msg, size_t msg_len,
      u8 *key_mic)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: wpa_sm_get_state
      Src: /src/hostap/src/rsn_supp/wpa.c:231,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:232,1
    - Dst: wpa_sm_reconnect
      Src: /src/hostap/src/rsn_supp/wpa.c:234,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:239,1
    - Dst: wpa_use_akm_defined
      Src: /src/hostap/src/rsn_supp/wpa.c:244,1
    - Dst: wpa_key_mgmt_ft
      Src: /src/hostap/src/rsn_supp/wpa.c:246,1
    - Dst: wpa_key_mgmt_sha256
      Src: /src/hostap/src/rsn_supp/wpa.c:247,1
    - Dst: wpa_mic_len
      Src: /src/hostap/src/rsn_supp/wpa.c:254,1
    - Dst: wpa_sm_alloc_eapol
      Src: /src/hostap/src/rsn_supp/wpa.c:256,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/rsn_supp/wpa.c:273,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/rsn_supp/wpa.c:274,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:275,1
    - Dst: inc_byte_array
      Src: /src/hostap/src/rsn_supp/wpa.c:277,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/rsn_supp/wpa.c:280,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:286,1
    - Dst: wpa_eapol_key_send
      Src: /src/hostap/src/rsn_supp/wpa.c:290,1
    - Dst: wpa_sm_get_auth_addr
      Src: /src/hostap/src/rsn_supp/wpa.c:290,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 3
    argNames:
    - sm
    - error
    - pairwise
    argTypes:
    - struct wpa_sm*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 223
    functionDepth: 4
    functionLinenumber: 223
    functionLinenumberEnd: 292
    functionName: wpa_sm_key_request
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 3
    functionsReached:
    - wpa_printf
    - wpa_sm_get_state
    - wpa_sm_reconnect
    - os_memcpy
    - wpa_use_akm_defined
    - wpa_msg
    - inc_byte_array
    - wpa_key_mgmt_sha256
    - WPA_PUT_BE16
    - wpa_key_mgmt_ft
    - wpa_eapol_key_send
    - wpa_sm_get_auth_addr
    - wpa_sm_alloc_eapol
    - wpa_mic_len
    linkageType: ''
    returnType: void
    signature: void wpa_sm_key_request(struct wpa_sm *sm, int error, int pairwise)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: pmksa_cache_get
      Src: /src/hostap/src/rsn_supp/wpa.c:324,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:328,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:331,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/rsn_supp/wpa.c:338,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:339,1
    - Dst: wpa_sm_set_pmk_from_pmksa
      Src: /src/hostap/src/rsn_supp/wpa.c:340,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/rsn_supp/wpa.c:341,1
    - Dst: eapol_sm_notify_cached
      Src: /src/hostap/src/rsn_supp/wpa.c:343,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:355,1
    - Dst: wpa_key_mgmt_wpa_ieee8021x
      Src: /src/hostap/src/rsn_supp/wpa.c:360,1
    - Dst: wpa_key_mgmt_sha384
      Src: /src/hostap/src/rsn_supp/wpa.c:366,1
    - Dst: eapol_sm_get_key
      Src: /src/hostap/src/rsn_supp/wpa.c:370,1
    - Dst: eapol_sm_get_key
      Src: /src/hostap/src/rsn_supp/wpa.c:377,1
    - Dst: eapol_sm_get_key
      Src: /src/hostap/src/rsn_supp/wpa.c:383,1
    - Dst: wpa_key_mgmt_sha384
      Src: /src/hostap/src/rsn_supp/wpa.c:384,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:385,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:388,1
    - Dst: forced_memzero
      Src: /src/hostap/src/rsn_supp/wpa.c:391,1
    - Dst: wpa_key_mgmt_ft
      Src: /src/hostap/src/rsn_supp/wpa.c:393,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/rsn_supp/wpa.c:401,1
    - Dst: pmksa_cache_add
      Src: /src/hostap/src/rsn_supp/wpa.c:404,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/rsn_supp/wpa.c:425,1
    - Dst: wpa_supplicant_key_mgmt_set_pmk
      Src: /src/hostap/src/rsn_supp/wpa.c:428,1
    - Dst: wpa_key_mgmt_suite_b
      Src: /src/hostap/src/rsn_supp/wpa.c:430,1
    - Dst: wpa_key_mgmt_ft
      Src: /src/hostap/src/rsn_supp/wpa.c:431,1
    - Dst: eapol_sm_get_eap_over_auth_frame
      Src: /src/hostap/src/rsn_supp/wpa.c:435,1
    - Dst: pmksa_cache_add
      Src: /src/hostap/src/rsn_supp/wpa.c:439,1
    - Dst: pmksa_cache_get
      Src: /src/hostap/src/rsn_supp/wpa.c:448,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:450,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:462,1
    - Dst: wpa_key_mgmt_ft
      Src: /src/hostap/src/rsn_supp/wpa.c:470,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:471,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:475,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:480,1
    - Dst: wpa_key_mgmt_wpa_ieee8021x
      Src: /src/hostap/src/rsn_supp/wpa.c:491,1
    - Dst: wpa_key_mgmt_suite_b
      Src: /src/hostap/src/rsn_supp/wpa.c:492,1
    - Dst: wpa_key_mgmt_ft
      Src: /src/hostap/src/rsn_supp/wpa.c:493,1
    - Dst: eapol_sm_get_eap_over_auth_frame
      Src: /src/hostap/src/rsn_supp/wpa.c:495,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:496,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:506,1
    - Dst: wpa_sm_alloc_eapol
      Src: /src/hostap/src/rsn_supp/wpa.c:509,1
    - Dst: eapol_sm_notify_eap_fail
      Src: /src/hostap/src/rsn_supp/wpa.c:514,1
    - Dst: eapol_sm_notify_eap_fail
      Src: /src/hostap/src/rsn_supp/wpa.c:515,1
    - Dst: wpa_sm_ether_send
      Src: /src/hostap/src/rsn_supp/wpa.c:516,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/wpa.c:518,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 103
    argCount: 3
    argNames:
    - sm
    - src_addr
    - pmkid
    argTypes:
    - struct wpa_sm*
    - unsigned char*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 313
    functionDepth: 3
    functionLinenumber: 313
    functionLinenumberEnd: 526
    functionName: wpa_supplicant_get_pmk
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - eapol_sm_notify_cached
    - wpa_hexdump
    - forced_memzero
    - wpa_key_mgmt_suite_b
    - wpa_sm_ether_send
    - wpa_printf
    - wpa_key_mgmt_sha384
    - wpa_key_mgmt_ft
    - pmksa_cache_add
    - os_free
    - wpa_hexdump_key
    - wpa_sm_set_pmk_from_pmksa
    - eapol_sm_notify_eap_fail
    - eapol_sm_get_key
    - wpa_dbg
    - pmksa_cache_get
    - os_memcpy
    - eapol_sm_get_eap_over_auth_frame
    - wpa_msg
    - wpa_supplicant_key_mgmt_set_pmk
    - os_memcmp_const
    - wpa_key_mgmt_wpa_ieee8021x
    - wpa_sm_alloc_eapol
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_get_pmk(struct wpa_sm *sm,\n\t\t\t\t  const unsigned
      char *src_addr,\n\t\t\t\t  const u8 *pmkid)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:557,1
    - Dst: wpa_key_mgmt_ft
      Src: /src/hostap/src/rsn_supp/wpa.c:563,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:566,1
    - Dst: os_malloc
      Src: /src/hostap/src/rsn_supp/wpa.c:572,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:576,1
    - Dst: wpa_insert_pmkid
      Src: /src/hostap/src/rsn_supp/wpa.c:577,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/wpa.c:580,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:583,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:588,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:591,1
    - Dst: os_malloc
      Src: /src/hostap/src/rsn_supp/wpa.c:603,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/wpa.c:605,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:608,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/src/rsn_supp/wpa.c:612,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/wpa.c:621,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/wpa.c:622,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:631,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/rsn_supp/wpa.c:635,1
    - Dst: wpa_mic_len
      Src: /src/hostap/src/rsn_supp/wpa.c:644,1
    - Dst: wpa_sm_alloc_eapol
      Src: /src/hostap/src/rsn_supp/wpa.c:646,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/wpa.c:650,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/wpa.c:651,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/rsn_supp/wpa.c:670,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/rsn_supp/wpa.c:672,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:674,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:675,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:677,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/rsn_supp/wpa.c:682,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:683,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/wpa.c:684,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/wpa.c:685,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:688,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/rsn_supp/wpa.c:689,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/rsn_supp/wpa.c:690,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/rsn_supp/wpa.c:698,1
    - Dst: os_memdup
      Src: /src/hostap/src/rsn_supp/wpa.c:702,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/wpa.c:704,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/rsn_supp/wpa.c:710,1
    - Dst: aes_wrap
      Src: /src/hostap/src/rsn_supp/wpa.c:712,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/wpa.c:714,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/wpa.c:715,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:718,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/wpa.c:721,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:725,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:727,1
    - Dst: wpa_eapol_key_send
      Src: /src/hostap/src/rsn_supp/wpa.c:728,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 118
    argCount: 8
    argNames:
    - sm
    - dst
    - key
    - ver
    - nonce
    - wpa_ie
    - wpa_ie_len
    - ptk
    argTypes:
    - struct wpa_sm*
    - unsigned char*
    - struct wpa_eapol_key*
    - int
    - u8*
    - u8*
    - size_t
    - struct wpa_ptk*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 541
    functionDepth: 4
    functionLinenumber: 541
    functionLinenumberEnd: 730
    functionName: wpa_supplicant_send_2_of_4
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_hexdump_key
    - wpa_hexdump
    - wpa_msg
    - wpa_insert_pmkid
    - wpabuf_len
    - os_memdup
    - os_malloc
    - WPA_PUT_BE16
    - wpa_key_mgmt_ft
    - wpabuf_head
    - aes_wrap
    - WPA_PUT_BE32
    - wpa_dbg
    - os_free
    - wpa_eapol_key_send
    - wpa_sm_alloc_eapol
    - wpa_mic_len
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_send_2_of_4(struct wpa_sm *sm, const unsigned char
      *dst,\n\t\t\t       const struct wpa_eapol_key *key,\n\t\t\t       int ver,
      const u8 *nonce,\n\t\t\t       const u8 *wpa_ie, size_t wpa_ie_len,\n\t\t\t
      \      struct wpa_ptk *ptk)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_sm_get_ap_rsnxe
      Src: /src/hostap/src/rsn_supp/wpa.c:741,1
    - Dst: wpa_key_mgmt_ft
      Src: /src/hostap/src/rsn_supp/wpa.c:744,1
    - Dst: wpa_derive_ptk_ft
      Src: /src/hostap/src/rsn_supp/wpa.c:745,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/rsn_supp/wpa.c:750,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/rsn_supp/wpa.c:751,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:759,1
    - Dst: ieee802_11_rsnx_capab
      Src: /src/hostap/src/rsn_supp/wpa.c:767,1
    - Dst: wpa_pmk_to_ptk
      Src: /src/hostap/src/rsn_supp/wpa.c:772,1
    - Dst: wpa_sm_get_auth_addr
      Src: /src/hostap/src/rsn_supp/wpa.c:773,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:778,1
    - Dst: ieee802_11_rsnx_capab
      Src: /src/hostap/src/rsn_supp/wpa.c:784,1
    - Dst: wpa_ltf_keyseed
      Src: /src/hostap/src/rsn_supp/wpa.c:785,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 4
    argNames:
    - sm
    - src_addr
    - key
    - ptk
    argTypes:
    - struct wpa_sm*
    - unsigned char*
    - struct wpa_eapol_key*
    - struct wpa_ptk*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 733
    functionDepth: 2
    functionLinenumber: 733
    functionLinenumberEnd: 789
    functionName: wpa_derive_ptk
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_ltf_keyseed
    - wpabuf_len
    - wpa_pmk_to_ptk
    - wpa_key_mgmt_ft
    - wpabuf_head
    - ieee802_11_rsnx_capab
    - wpa_sm_get_ap_rsnxe
    - wpa_derive_ptk_ft
    - wpa_sm_get_auth_addr
    linkageType: ''
    returnType: int
    signature: "int wpa_derive_ptk(struct wpa_sm *sm, const unsigned char *src_addr,\n\t\t\t
      \ const struct wpa_eapol_key *key, struct wpa_ptk *ptk)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:799,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:808,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:812,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:818,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:826,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - sm
    - kde
    argTypes:
    - struct wpa_sm*
    - struct wpa_eapol_ie_parse*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 792
    functionDepth: 1
    functionLinenumber: 792
    functionLinenumberEnd: 834
    functionName: wpa_handle_ext_key_id
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - wpa_dbg
    - wpa_msg
    linkageType: ''
    returnType: int
    signature: "int wpa_handle_ext_key_id(struct wpa_sm *sm,\n\t\t\t\t struct wpa_eapol_ie_parse
      *kde)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/rsn_supp/wpa.c:841,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:843,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - pos
    - kde
    - data
    - data_len
    argTypes:
    - u8*
    - u32
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 837
    functionDepth: 1
    functionLinenumber: 837
    functionLinenumberEnd: 847
    functionName: rsn_add_kde
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - RSN_SELECTOR_PUT
    - os_memcpy
    linkageType: ''
    returnType: u8
    signature: u8 * rsn_add_kde(u8 *pos, u32 kde, const u8 *data, size_t data_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: for_each_link
      Src: /src/hostap/src/rsn_supp/wpa.c:855,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 861
    functionName: wpa_mlo_link_kde_len
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - for_each_link
    linkageType: ''
    returnType: size_t
    signature: size_t wpa_mlo_link_kde_len(struct wpa_sm *sm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: for_each_link
      Src: /src/hostap/src/rsn_supp/wpa.c:869,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:873,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:876,1
    - Dst: rsn_add_kde
      Src: /src/hostap/src/rsn_supp/wpa.c:877,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - sm
    - pos
    argTypes:
    - struct wpa_sm*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 864
    functionDepth: 2
    functionLinenumber: 864
    functionLinenumberEnd: 881
    functionName: wpa_mlo_link_kde
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - for_each_link
    - os_memcpy
    - rsn_add_kde
    linkageType: ''
    returnType: u8
    signature: u8 * wpa_mlo_link_kde(struct wpa_sm *sm, u8 *pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/src/rsn_supp/wpa.c:887,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - mac_kde
    argTypes:
    - struct wpa_sm*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 884
    functionDepth: 1
    functionLinenumber: 884
    functionLinenumberEnd: 888
    functionName: is_valid_ap_mld_mac_kde
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - ether_addr_equal
    linkageType: ''
    returnType: bool
    signature: bool is_valid_ap_mld_mac_kde(struct wpa_sm *sm, const u8 *mac_kde)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:896,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:897,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:898,1
    - Dst: forced_memzero
      Src: /src/hostap/src/rsn_supp/wpa.c:899,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ptk
    argTypes:
    - struct wpa_ptk*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 891
    functionDepth: 1
    functionLinenumber: 891
    functionLinenumberEnd: 900
    functionName: wpas_swap_tkip_mic_keys
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - forced_memzero
    linkageType: ''
    returnType: void
    signature: void wpas_swap_tkip_mic_keys(struct wpa_ptk *ptk)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_sm_get_network_ctx
      Src: /src/hostap/src/rsn_supp/wpa.c:914,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:915,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:920,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/wpa.c:922,1
    - Dst: os_memset
      Src: /src/hostap/src/rsn_supp/wpa.c:924,1
    - Dst: wpa_supplicant_get_pmk
      Src: /src/hostap/src/rsn_supp/wpa.c:926,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:928,1
    - Dst: wpa_sm_set_state
      Src: /src/hostap/src/rsn_supp/wpa.c:935,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/rsn_supp/wpa.c:938,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:939,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:944,1
    - Dst: wpa_derive_ptk
      Src: /src/hostap/src/rsn_supp/wpa.c:951,1
    - Dst: wpas_swap_tkip_mic_keys
      Src: /src/hostap/src/rsn_supp/wpa.c:954,1
    - Dst: wpa_supplicant_send_2_of_4
      Src: /src/hostap/src/rsn_supp/wpa.c:958,1
    - Dst: wpa_sm_get_auth_addr
      Src: /src/hostap/src/rsn_supp/wpa.c:958,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:963,1
    - Dst: wpa_sm_deauthenticate
      Src: /src/hostap/src/rsn_supp/wpa.c:967,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 7
    argNames:
    - sm
    - src_addr
    - key
    - ver
    - key_data
    - key_data_len
    - encrypted
    argTypes:
    - struct wpa_sm*
    - unsigned char*
    - struct wpa_eapol_key*
    - u16
    - u8*
    - size_t
    - enum frame_encryption
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 903
    functionDepth: 5
    functionLinenumber: 903
    functionLinenumberEnd: 968
    functionName: wpa_supplicant_process_1_of_4_wpa
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - random_get_bytes
    - os_memcpy
    - wpa_sm_deauthenticate
    - wpa_hexdump
    - wpa_msg
    - wpa_sm_set_state
    - wpa_derive_ptk
    - MAC2STR
    - wpa_supplicant_get_pmk
    - wpa_sm_get_network_ctx
    - wpa_supplicant_send_2_of_4
    - wpa_dbg
    - wpas_swap_tkip_mic_keys
    - wpa_sm_get_auth_addr
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_process_1_of_4_wpa(struct wpa_sm *sm,\n\t\t\t\t\t
      \     const unsigned char *src_addr,\n\t\t\t\t\t      const struct wpa_eapol_key
      *key,\n\t\t\t\t\t      u16 ver, const u8 *key_data,\n\t\t\t\t\t      size_t
      key_data_len,\n\t\t\t\t\t      enum frame_encryption encrypted)"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: wpa_sm_pmf_enabled
      Src: /src/hostap/src/rsn_supp/wpa.c:986,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:987,1
    - Dst: wpa_sm_get_network_ctx
      Src: /src/hostap/src/rsn_supp/wpa.c:992,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:993,1
    - Dst: wpa_sm_get_state
      Src: /src/hostap/src/rsn_supp/wpa.c:999,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:1000,1
    - Dst: wpa_sm_reconnect
      Src: /src/hostap/src/rsn_supp/wpa.c:1002,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:1006,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/wpa.c:1007,1
    - Dst: os_memset
      Src: /src/hostap/src/rsn_supp/wpa.c:1009,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:1012,1
    - Dst: wpa_supplicant_parse_ies
      Src: /src/hostap/src/rsn_supp/wpa.c:1013,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:1014,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:1019,1
    - Dst: is_valid_ap_mld_mac_kde
      Src: /src/hostap/src/rsn_supp/wpa.c:1023,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:1024,1
    - Dst: wpa_supplicant_get_pmk
      Src: /src/hostap/src/rsn_supp/wpa.c:1029,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:1031,1
    - Dst: wpa_sm_set_state
      Src: /src/hostap/src/rsn_supp/wpa.c:1038,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/rsn_supp/wpa.c:1041,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:1042,1
    - Dst: wpa_sm_rsn_overriding_supported
      Src: /src/hostap/src/rsn_supp/wpa.c:1046,1
    - Dst: rsn_set_snonce_cookie
      Src: /src/hostap/src/rsn_supp/wpa.c:1047,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:1049,1
    - Dst: wpa_derive_ptk
      Src: /src/hostap/src/rsn_supp/wpa.c:1056,1
    - Dst: wpas_swap_tkip_mic_keys
      Src: /src/hostap/src/rsn_supp/wpa.c:1059,1
    - Dst: wpa_mlo_link_kde_len
      Src: /src/hostap/src/rsn_supp/wpa.c:1065,1
    - Dst: os_malloc
      Src: /src/hostap/src/rsn_supp/wpa.c:1070,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:1078,1
    - Dst: wpa_sm_ocv_enabled
      Src: /src/hostap/src/rsn_supp/wpa.c:1082,1
    - Dst: wpa_sm_channel_info
      Src: /src/hostap/src/rsn_supp/wpa.c:1087,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:1088,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:1094,1
    - Dst: ocv_insert_oci_kde
      Src: /src/hostap/src/rsn_supp/wpa.c:1101,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:1108,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:1116,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/rsn_supp/wpa.c:1121,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:1132,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/rsn_supp/wpa.c:1136,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:1153,1
    - Dst: rsn_add_kde
      Src: /src/hostap/src/rsn_supp/wpa.c:1155,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:1159,1
    - Dst: wpa_mlo_link_kde
      Src: /src/hostap/src/rsn_supp/wpa.c:1160,1
    - Dst: wpa_supplicant_send_2_of_4
      Src: /src/hostap/src/rsn_supp/wpa.c:1164,1
    - Dst: wpa_sm_get_auth_addr
      Src: /src/hostap/src/rsn_supp/wpa.c:1164,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/wpa.c:1168,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:1169,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/wpa.c:1173,1
    - Dst: wpa_sm_deauthenticate
      Src: /src/hostap/src/rsn_supp/wpa.c:1174,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 130
    argCount: 7
    argNames:
    - sm
    - src_addr
    - key
    - ver
    - key_data
    - key_data_len
    - encrypted
    argTypes:
    - struct wpa_sm*
    - unsigned char*
    - struct wpa_eapol_key*
    - u16
    - u8*
    - size_t
    - enum frame_encryption
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1175
      start: 971
    functionDepth: 5
    functionLinenumber: 971
    functionLinenumberEnd: 1175
    functionName: wpa_supplicant_process_1_of_4
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - wpa_sm_get_state
    - wpa_hexdump
    - ocv_insert_oci_kde
    - rsn_set_snonce_cookie
    - wpa_sm_rsn_overriding_supported
    - wpa_mlo_link_kde
    - wpa_printf
    - wpa_sm_ocv_enabled
    - wpa_sm_deauthenticate
    - wpa_sm_set_state
    - rsn_add_kde
    - wpa_derive_ptk
    - wpa_supplicant_get_pmk
    - wpa_sm_pmf_enabled
    - wpa_supplicant_parse_ies
    - os_free
    - wpa_sm_get_auth_addr
    - wpa_sm_reconnect
    - os_malloc
    - wpa_sm_get_network_ctx
    - wpa_dbg
    - wpa_supplicant_send_2_of_4
    - wpas_swap_tkip_mic_keys
    - wpa_sm_channel_info
    - os_memset
    - random_get_bytes
    - os_memcpy
    - wpa_msg
    - MAC2STR
    - RSN_SELECTOR_PUT
    - wpa_mlo_link_kde_len
    - is_valid_ap_mld_mac_kde
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_process_1_of_4(struct wpa_sm *sm,\n\t\t\t\t\t
      \ const unsigned char *src_addr,\n\t\t\t\t\t  const struct wpa_eapol_key *key,\n\t\t\t\t\t
      \ u16 ver, const u8 *key_data,\n\t\t\t\t\t  size_t key_data_len,\n\t\t\t\t\t
      \ enum frame_encryption encrypted)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rsn_preauth_candidate_process
      Src: /src/hostap/src/rsn_supp/wpa.c:1181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1182
      start: 1178
    functionDepth: 0
    functionLinenumber: 1178
    functionLinenumberEnd: 1182
    functionName: wpa_sm_start_preauth
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - rsn_preauth_candidate_process
    linkageType: ''
    returnType: void
    signature: void wpa_sm_start_preauth(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:1188,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/wpa.c:1190,1
    - Dst: wpa_cipher_txt
      Src: /src/hostap/src/rsn_supp/wpa.c:1191,1
    - Dst: wpa_cipher_txt
      Src: /src/hostap/src/rsn_supp/wpa.c:1192,1
    - Dst: wpa_sm_cancel_auth_timeout
      Src: /src/hostap/src/rsn_supp/wpa.c:1193,1
    - Dst: wpa_sm_set_state
      Src: /src/hostap/src/rsn_supp/wpa.c:1194,1
    - Dst: wpa_sm_mlme_setprotection
      Src: /src/hostap/src/rsn_supp/wpa.c:1197,1
    - Dst: eapol_sm_notify_portValid
      Src: /src/hostap/src/rsn_supp/wpa.c:1200,1
    - Dst: wpa_key_mgmt_wpa_psk
      Src: /src/hostap/src/rsn_supp/wpa.c:1201,1
    - Dst: eapol_sm_notify_eap_success
      Src: /src/hostap/src/rsn_supp/wpa.c:1204,1
    - Dst: dl_list_empty
      Src: /src/hostap/src/rsn_supp/wpa.c:1212,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/rsn_supp/wpa.c:1213,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:1218,1
    - Dst: wpa_key_mgmt_ft
      Src: /src/hostap/src/rsn_supp/wpa.c:1225,1
    - Dst: wpa_ft_prepare_auth_request
      Src: /src/hostap/src/rsn_supp/wpa.c:1227,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - sm
    - addr
    - secure
    argTypes:
    - struct wpa_sm*
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1230
      start: 1185
    functionDepth: 2
    functionLinenumber: 1185
    functionLinenumberEnd: 1230
    functionName: wpa_supplicant_key_neg_complete
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - wpa_msg
    - dl_list_empty
    - wpa_sm_set_state
    - eapol_sm_notify_portValid
    - wpa_key_mgmt_ft
    - MAC2STR
    - wpa_key_mgmt_wpa_psk
    - eapol_sm_notify_eap_success
    - eloop_register_timeout
    - wpa_dbg
    - wpa_sm_mlme_setprotection
    - wpa_cipher_txt
    - wpa_sm_cancel_auth_timeout
    - wpa_ft_prepare_auth_request
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_key_neg_complete(struct wpa_sm *sm,\n\t\t\t\t\t
      \   const u8 *addr, int secure)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:1236,1
    - Dst: wpa_sm_key_request
      Src: /src/hostap/src/rsn_supp/wpa.c:1237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1233
    functionDepth: 1
    functionLinenumber: 1233
    functionLinenumberEnd: 1238
    functionName: wpa_sm_rekey_ptk
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - wpa_sm_key_request
    - wpa_dbg
    linkageType: ''
    returnType: void
    signature: void wpa_sm_rekey_ptk(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:1255,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:1260,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:1265,1
    - Dst: wpa_cipher_valid_pairwise
      Src: /src/hostap/src/rsn_supp/wpa.c:1270,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:1271,1
    - Dst: wpa_cipher_to_alg
      Src: /src/hostap/src/rsn_supp/wpa.c:1277,1
    - Dst: wpa_cipher_key_len
      Src: /src/hostap/src/rsn_supp/wpa.c:1278,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:1280,1
    - Dst: wpa_cipher_rsc_len
      Src: /src/hostap/src/rsn_supp/wpa.c:1284,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:1290,1
    - Dst: wpa_sm_set_key
      Src: /src/hostap/src/rsn_supp/wpa.c:1293,1
    - Dst: wpa_sm_get_auth_addr
      Src: /src/hostap/src/rsn_supp/wpa.c:1293,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:1299,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/wpa.c:1302,1
    - Dst: wpa_sm_get_auth_addr
      Src: /src/hostap/src/rsn_supp/wpa.c:1302,1
    - Dst: wpa_sm_get_ap_rsnxe
      Src: /src/hostap/src/rsn_supp/wpa.c:1308,1
    - Dst: ieee802_11_rsnx_capab
      Src: /src/hostap/src/rsn_supp/wpa.c:1310,1
    - Dst: wpa_sm_set_ltf_keyseed
      Src: /src/hostap/src/rsn_supp/wpa.c:1311,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:1314,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/wpa.c:1317,1
    - Dst: wpa_sm_store_ptk
      Src: /src/hostap/src/rsn_supp/wpa.c:1322,1
    - Dst: wpa_sm_get_auth_addr
      Src: /src/hostap/src/rsn_supp/wpa.c:1322,1
    - Dst: os_memset
      Src: /src/hostap/src/rsn_supp/wpa.c:1330,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/rsn_supp/wpa.c:1338,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/rsn_supp/wpa.c:1339,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 3
    argNames:
    - sm
    - key
    - key_flag
    argTypes:
    - struct wpa_sm*
    - struct wpa_eapol_key*
    - enum key_flag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1343
      start: 1241
    functionDepth: 2
    functionLinenumber: 1241
    functionLinenumberEnd: 1343
    functionName: wpa_supplicant_install_ptk
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_cipher_key_len
    - wpa_hexdump
    - wpa_msg
    - wpa_sm_set_key
    - wpa_sm_set_ltf_keyseed
    - os_memset
    - eloop_cancel_timeout
    - wpa_cipher_valid_pairwise
    - MAC2STR
    - wpa_cipher_rsc_len
    - ieee802_11_rsnx_capab
    - wpa_sm_get_ap_rsnxe
    - wpa_sm_store_ptk
    - eloop_register_timeout
    - wpa_dbg
    - wpa_sm_get_auth_addr
    - wpa_cipher_to_alg
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_install_ptk(struct wpa_sm *sm,\n\t\t\t\t      const
      struct wpa_eapol_key *key,\n\t\t\t\t      enum key_flag key_flag)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:1348,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/wpa.c:1350,1
    - Dst: wpa_sm_get_auth_addr
      Src: /src/hostap/src/rsn_supp/wpa.c:1350,1
    - Dst: wpa_sm_set_key
      Src: /src/hostap/src/rsn_supp/wpa.c:1352,1
    - Dst: wpa_sm_get_auth_addr
      Src: /src/hostap/src/rsn_supp/wpa.c:1352,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:1355,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/wpa.c:1358,1
    - Dst: wpa_sm_get_auth_addr
      Src: /src/hostap/src/rsn_supp/wpa.c:1358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1362
      start: 1346
    functionDepth: 2
    functionLinenumber: 1346
    functionLinenumberEnd: 1362
    functionName: wpa_supplicant_activate_ptk
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - wpa_sm_set_key
    - wpa_msg
    - MAC2STR
    - wpa_dbg
    - wpa_sm_get_auth_addr
    linkageType: ''
    returnType: int
    signature: int wpa_supplicant_activate_ptk(struct wpa_sm *sm)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cipher_to_alg
      Src: /src/hostap/src/rsn_supp/wpa.c:1373,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:1375,1
    - Dst: wpa_cipher_rsc_len
      Src: /src/hostap/src/rsn_supp/wpa.c:1380,1
    - Dst: wpa_cipher_key_len
      Src: /src/hostap/src/rsn_supp/wpa.c:1382,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:1384,1
    - Dst: wpa_cipher_txt
      Src: /src/hostap/src/rsn_supp/wpa.c:1386,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 6
    argNames:
    - sm
    - group_cipher
    - keylen
    - maxkeylen
    - key_rsc_len
    - alg
    argTypes:
    - struct wpa_sm*
    - int
    - int
    - int
    - int*
    - enum wpa_alg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1390
      start: 1365
    functionDepth: 1
    functionLinenumber: 1365
    functionLinenumberEnd: 1390
    functionName: wpa_supplicant_check_group_cipher
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - wpa_cipher_key_len
    - wpa_msg
    - wpa_cipher_rsc_len
    - wpa_cipher_txt
    - wpa_cipher_to_alg
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_check_group_cipher(struct wpa_sm *sm,\n\t\t\t\t\t
      \    int group_cipher,\n\t\t\t\t\t     int keylen, int maxkeylen,\n\t\t\t\t\t
      \    int *key_rsc_len,\n\t\t\t\t\t     enum wpa_alg *alg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - gtk_len
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1407
      start: 1401
    functionDepth: 0
    functionLinenumber: 1401
    functionLinenumberEnd: 1407
    functionName: wpa_supplicant_validate_gtk_kde_len
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpa_supplicant_validate_gtk_kde_len(size_t gtk_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - gtk_len
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1417
      start: 1410
    functionDepth: 0
    functionLinenumber: 1410
    functionLinenumberEnd: 1417
    functionName: wpa_supplicant_validate_mlo_gtk_kde_len
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpa_supplicant_validate_mlo_gtk_kde_len(size_t gtk_len)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/src/rsn_supp/wpa.c:1429,1
    - Dst: os_memcmp
      Src: /src/hostap/src/rsn_supp/wpa.c:1431,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:1433,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/rsn_supp/wpa.c:1439,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:1440,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:1443,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:1446,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:1447,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:1448,1
    - Dst: wpa_sm_set_key
      Src: /src/hostap/src/rsn_supp/wpa.c:1452,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:1456,1
    - Dst: forced_memzero
      Src: /src/hostap/src/rsn_supp/wpa.c:1459,1
    - Dst: wpa_sm_set_key
      Src: /src/hostap/src/rsn_supp/wpa.c:1462,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:1465,1
    - Dst: forced_memzero
      Src: /src/hostap/src/rsn_supp/wpa.c:1469,1
    - Dst: forced_memzero
      Src: /src/hostap/src/rsn_supp/wpa.c:1472,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:1476,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:1480,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 4
    argNames:
    - sm
    - gd
    - key_rsc
    - wnm_sleep
    argTypes:
    - struct wpa_sm*
    - struct wpa_gtk_data*
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1484
      start: 1420
    functionDepth: 2
    functionLinenumber: 1420
    functionLinenumberEnd: 1484
    functionName: wpa_supplicant_install_gtk
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_hexdump_key
    - wpa_hexdump
    - wpa_sm_set_key
    - wpa_msg
    - forced_memzero
    - os_memcmp
    - wpa_dbg
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_install_gtk(struct wpa_sm *sm,\n\t\t\t\t      const
      struct wpa_gtk_data *gd,\n\t\t\t\t      const u8 *key_rsc, int wnm_sleep)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/src/rsn_supp/wpa.c:1496,1
    - Dst: os_memcmp
      Src: /src/hostap/src/rsn_supp/wpa.c:1500,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:1502,1
    - Dst: wpa_hexdump_link_key
      Src: /src/hostap/src/rsn_supp/wpa.c:1508,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:1510,1
    - Dst: wpa_hexdump_link
      Src: /src/hostap/src/rsn_supp/wpa.c:1513,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:1517,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:1518,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:1519,1
    - Dst: wpa_sm_set_key
      Src: /src/hostap/src/rsn_supp/wpa.c:1522,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:1525,1
    - Dst: forced_memzero
      Src: /src/hostap/src/rsn_supp/wpa.c:1528,1
    - Dst: forced_memzero
      Src: /src/hostap/src/rsn_supp/wpa.c:1531,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:1535,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:1539,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 5
    argNames:
    - sm
    - link_id
    - gd
    - key_rsc
    - wnm_sleep
    argTypes:
    - struct wpa_sm*
    - u8
    - struct wpa_gtk_data*
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1544
      start: 1487
    functionDepth: 2
    functionLinenumber: 1487
    functionLinenumberEnd: 1544
    functionName: wpa_supplicant_install_mlo_gtk
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_sm_set_key
    - wpa_msg
    - forced_memzero
    - wpa_hexdump_link
    - os_memcmp
    - wpa_dbg
    - wpa_hexdump_link_key
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_install_mlo_gtk(struct wpa_sm *sm, u8 link_id,\n\t\t\t\t\t
      \ const struct wpa_gtk_data *gd,\n\t\t\t\t\t  const u8 *key_rsc, int wnm_sleep)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:1556,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - sm
    - tx
    argTypes:
    - struct wpa_sm*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1562
      start: 1547
    functionDepth: 0
    functionLinenumber: 1547
    functionLinenumberEnd: 1562
    functionName: wpa_supplicant_gtk_tx_bit_workaround
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - wpa_msg
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_gtk_tx_bit_workaround(const struct wpa_sm *sm,\n\t\t\t\t\t\tint
      tx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cipher_rsc_len
      Src: /src/hostap/src/rsn_supp/wpa.c:1573,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:1583,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - sm
    - rsc
    argTypes:
    - struct wpa_sm*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1592
      start: 1565
    functionDepth: 1
    functionLinenumber: 1565
    functionLinenumberEnd: 1592
    functionName: wpa_supplicant_rsc_relaxation
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - wpa_cipher_rsc_len
    - wpa_msg
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_rsc_relaxation(const struct wpa_sm *sm,\n\t\t\t\t\t
      const u8 *rsc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/rsn_supp/wpa.c:1608,1
    - Dst: wpa_hexdump_link_key
      Src: /src/hostap/src/rsn_supp/wpa.c:1609,1
    - Dst: wpa_supplicant_validate_mlo_gtk_kde_len
      Src: /src/hostap/src/rsn_supp/wpa.c:1613,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:1625,1
    - Dst: wpa_supplicant_check_group_cipher
      Src: /src/hostap/src/rsn_supp/wpa.c:1629,1
    - Dst: wpa_supplicant_install_mlo_gtk
      Src: /src/hostap/src/rsn_supp/wpa.c:1632,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:1633,1
    - Dst: forced_memzero
      Src: /src/hostap/src/rsn_supp/wpa.c:1641,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 5
    argNames:
    - sm
    - link_id
    - gtk
    - gtk_len
    - key_info
    argTypes:
    - struct wpa_sm*
    - u8
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1643
      start: 1595
    functionDepth: 3
    functionLinenumber: 1595
    functionLinenumberEnd: 1643
    functionName: wpa_supplicant_mlo_gtk
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - forced_memzero
    - wpa_supplicant_validate_mlo_gtk_kde_len
    - wpa_supplicant_check_group_cipher
    - wpa_dbg
    - wpa_hexdump_link_key
    - wpa_supplicant_install_mlo_gtk
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_mlo_gtk(struct wpa_sm *sm, u8 link_id, const u8
      *gtk,\n\t\t\t\t  size_t gtk_len, int key_info)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: for_each_link
      Src: /src/hostap/src/rsn_supp/wpa.c:1653,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:1655,1
    - Dst: wpa_supplicant_mlo_gtk
      Src: /src/hostap/src/rsn_supp/wpa.c:1660,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - sm
    - key
    - ie
    - key_info
    argTypes:
    - struct wpa_sm*
    - struct wpa_eapol_key*
    - struct wpa_eapol_ie_parse*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1666
      start: 1646
    functionDepth: 4
    functionLinenumber: 1646
    functionLinenumberEnd: 1666
    functionName: wpa_supplicant_pairwise_mlo_gtk
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - for_each_link
    - wpa_supplicant_mlo_gtk
    - wpa_msg
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_pairwise_mlo_gtk(struct wpa_sm *sm,\n\t\t\t\t\t
      \  const struct wpa_eapol_key *key,\n\t\t\t\t\t   struct wpa_eapol_ie_parse
      *ie,\n\t\t\t\t\t   int key_info)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/rsn_supp/wpa.c:1685,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/rsn_supp/wpa.c:1686,1
    - Dst: wpa_supplicant_validate_gtk_kde_len
      Src: /src/hostap/src/rsn_supp/wpa.c:1689,1
    - Dst: wpa_supplicant_gtk_tx_bit_workaround
      Src: /src/hostap/src/rsn_supp/wpa.c:1693,1
    - Dst: BIT
      Src: /src/hostap/src/rsn_supp/wpa.c:1694,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:1698,1
    - Dst: wpa_supplicant_rsc_relaxation
      Src: /src/hostap/src/rsn_supp/wpa.c:1702,1
    - Dst: wpa_supplicant_check_group_cipher
      Src: /src/hostap/src/rsn_supp/wpa.c:1706,1
    - Dst: wpa_supplicant_install_gtk
      Src: /src/hostap/src/rsn_supp/wpa.c:1709,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:1710,1
    - Dst: forced_memzero
      Src: /src/hostap/src/rsn_supp/wpa.c:1712,1
    - Dst: forced_memzero
      Src: /src/hostap/src/rsn_supp/wpa.c:1715,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 5
    argNames:
    - sm
    - key
    - gtk
    - gtk_len
    - key_info
    argTypes:
    - struct wpa_sm*
    - struct wpa_eapol_key*
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1718
      start: 1669
    functionDepth: 3
    functionLinenumber: 1669
    functionLinenumberEnd: 1718
    functionName: wpa_supplicant_pairwise_gtk
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - wpa_hexdump_key
    - os_memcpy
    - wpa_supplicant_validate_gtk_kde_len
    - forced_memzero
    - wpa_supplicant_gtk_tx_bit_workaround
    - wpa_supplicant_rsc_relaxation
    - BIT
    - wpa_supplicant_check_group_cipher
    - wpa_dbg
    - wpa_supplicant_install_gtk
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_pairwise_gtk(struct wpa_sm *sm,\n\t\t\t\t       const
      struct wpa_eapol_key *key,\n\t\t\t\t       const u8 *gtk, size_t gtk_len,\n\t\t\t\t
      \      int key_info)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cipher_key_len
      Src: /src/hostap/src/rsn_supp/wpa.c:1725,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/rsn_supp/wpa.c:1726,1
    - Dst: os_memcmp
      Src: /src/hostap/src/rsn_supp/wpa.c:1730,1
    - Dst: os_memcmp
      Src: /src/hostap/src/rsn_supp/wpa.c:1732,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:1734,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:1740,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/wpa.c:1742,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/rsn_supp/wpa.c:1743,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:1745,1
    - Dst: wpa_sm_set_key
      Src: /src/hostap/src/rsn_supp/wpa.c:1749,1
    - Dst: wpa_cipher_to_alg
      Src: /src/hostap/src/rsn_supp/wpa.c:1749,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:1767,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:1770,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:1778,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:1782,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 3
    argNames:
    - sm
    - igtk
    - wnm_sleep
    argTypes:
    - struct wpa_sm*
    - struct wpa_igtk_kde*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1786
      start: 1721
    functionDepth: 2
    functionLinenumber: 1721
    functionLinenumberEnd: 1786
    functionName: wpa_supplicant_install_igtk
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - wpa_hexdump_key
    - os_memcpy
    - wpa_cipher_key_len
    - wpa_sm_set_key
    - wpa_msg
    - WPA_GET_LE16
    - MAC2STR
    - os_memcmp
    - wpa_dbg
    - wpa_cipher_to_alg
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_install_igtk(struct wpa_sm *sm,\n\t\t\t\t       const
      struct wpa_igtk_kde *igtk,\n\t\t\t\t       int wnm_sleep)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cipher_key_len
      Src: /src/hostap/src/rsn_supp/wpa.c:1793,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/rsn_supp/wpa.c:1794,1
    - Dst: os_memcmp
      Src: /src/hostap/src/rsn_supp/wpa.c:1798,1
    - Dst: os_memcmp
      Src: /src/hostap/src/rsn_supp/wpa.c:1801,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:1803,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:1809,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/wpa.c:1811,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/rsn_supp/wpa.c:1812,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:1814,1
    - Dst: wpa_sm_set_key
      Src: /src/hostap/src/rsn_supp/wpa.c:1818,1
    - Dst: wpa_cipher_to_alg
      Src: /src/hostap/src/rsn_supp/wpa.c:1818,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:1822,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:1829,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:1833,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 3
    argNames:
    - sm
    - bigtk
    - wnm_sleep
    argTypes:
    - struct wpa_sm*
    - struct wpa_bigtk_kde*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1837
      start: 1789
    functionDepth: 2
    functionLinenumber: 1789
    functionLinenumberEnd: 1837
    functionName: wpa_supplicant_install_bigtk
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - wpa_hexdump_key
    - os_memcpy
    - wpa_cipher_key_len
    - wpa_sm_set_key
    - wpa_msg
    - WPA_GET_LE16
    - MAC2STR
    - os_memcmp
    - wpa_dbg
    - wpa_cipher_to_alg
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_install_bigtk(struct wpa_sm *sm,\n\t\t\t\t       const
      struct wpa_bigtk_kde *bigtk,\n\t\t\t\t       int wnm_sleep)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cipher_key_len
      Src: /src/hostap/src/rsn_supp/wpa.c:1844,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/rsn_supp/wpa.c:1845,1
    - Dst: os_memcmp
      Src: /src/hostap/src/rsn_supp/wpa.c:1849,1
    - Dst: os_memcmp
      Src: /src/hostap/src/rsn_supp/wpa.c:1852,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:1854,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:1860,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/wpa.c:1862,1
    - Dst: wpa_hexdump_link_key
      Src: /src/hostap/src/rsn_supp/wpa.c:1863,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:1865,1
    - Dst: wpa_sm_set_key
      Src: /src/hostap/src/rsn_supp/wpa.c:1870,1
    - Dst: wpa_cipher_to_alg
      Src: /src/hostap/src/rsn_supp/wpa.c:1871,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:1875,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:1883,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:1888,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 4
    argNames:
    - sm
    - link_id
    - igtk
    - wnm_sleep
    argTypes:
    - struct wpa_sm*
    - u8
    - struct rsn_mlo_igtk_kde*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1893
      start: 1840
    functionDepth: 2
    functionLinenumber: 1840
    functionLinenumberEnd: 1893
    functionName: wpa_supplicant_install_mlo_igtk
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_cipher_key_len
    - wpa_sm_set_key
    - wpa_msg
    - WPA_GET_LE16
    - MAC2STR
    - os_memcmp
    - wpa_dbg
    - wpa_hexdump_link_key
    - wpa_cipher_to_alg
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_install_mlo_igtk(struct wpa_sm *sm, u8 link_id,\n\t\t\t\t\t
      \  const struct rsn_mlo_igtk_kde *igtk,\n\t\t\t\t\t   int wnm_sleep)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cipher_key_len
      Src: /src/hostap/src/rsn_supp/wpa.c:1901,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/rsn_supp/wpa.c:1902,1
    - Dst: os_memcmp
      Src: /src/hostap/src/rsn_supp/wpa.c:1906,1
    - Dst: os_memcmp
      Src: /src/hostap/src/rsn_supp/wpa.c:1909,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:1913,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:1919,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/wpa.c:1921,1
    - Dst: wpa_hexdump_link_key
      Src: /src/hostap/src/rsn_supp/wpa.c:1922,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:1925,1
    - Dst: wpa_sm_set_key
      Src: /src/hostap/src/rsn_supp/wpa.c:1930,1
    - Dst: wpa_cipher_to_alg
      Src: /src/hostap/src/rsn_supp/wpa.c:1931,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:1935,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:1943,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:1948,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 4
    argNames:
    - sm
    - link_id
    - bigtk
    - wnm_sleep
    argTypes:
    - struct wpa_sm*
    - u8
    - struct rsn_mlo_bigtk_kde*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1953
      start: 1896
    functionDepth: 2
    functionLinenumber: 1896
    functionLinenumberEnd: 1953
    functionName: wpa_supplicant_install_mlo_bigtk
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_cipher_key_len
    - wpa_sm_set_key
    - wpa_msg
    - WPA_GET_LE16
    - MAC2STR
    - os_memcmp
    - wpa_dbg
    - wpa_hexdump_link_key
    - wpa_cipher_to_alg
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_install_mlo_bigtk(struct wpa_sm *sm, u8 link_id,\n\t\t\t\t
      const struct rsn_mlo_bigtk_kde *bigtk,\n\t\t\t\t int wnm_sleep)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cipher_key_len
      Src: /src/hostap/src/rsn_supp/wpa.c:1962,1
    - Dst: wpa_supplicant_install_mlo_igtk
      Src: /src/hostap/src/rsn_supp/wpa.c:1967,1
    - Dst: wpa_cipher_key_len
      Src: /src/hostap/src/rsn_supp/wpa.c:1976,1
    - Dst: wpa_supplicant_install_mlo_bigtk
      Src: /src/hostap/src/rsn_supp/wpa.c:1981,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - sm
    - link_id
    - ie
    argTypes:
    - struct wpa_sm*
    - u8
    - struct wpa_eapol_ie_parse*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1990
      start: 1956
    functionDepth: 3
    functionLinenumber: 1956
    functionLinenumberEnd: 1990
    functionName: _mlo_ieee80211w_set_keys
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_install_mlo_igtk
    - wpa_supplicant_install_mlo_bigtk
    - wpa_cipher_key_len
    linkageType: ''
    returnType: int
    signature: "int _mlo_ieee80211w_set_keys(struct wpa_sm *sm, u8 link_id,\n\t\t\t\t
      \   struct wpa_eapol_ie_parse *ie)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cipher_valid_mgmt_group
      Src: /src/hostap/src/rsn_supp/wpa.c:1998,1
    - Dst: for_each_link
      Src: /src/hostap/src/rsn_supp/wpa.c:2002,1
    - Dst: _mlo_ieee80211w_set_keys
      Src: /src/hostap/src/rsn_supp/wpa.c:2003,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - sm
    - ie
    argTypes:
    - struct wpa_sm*
    - struct wpa_eapol_ie_parse*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2008
      start: 1993
    functionDepth: 4
    functionLinenumber: 1993
    functionLinenumberEnd: 2008
    functionName: mlo_ieee80211w_set_keys
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 1
    functionsReached:
    - _mlo_ieee80211w_set_keys
    - for_each_link
    - wpa_cipher_valid_mgmt_group
    linkageType: ''
    returnType: int
    signature: "int mlo_ieee80211w_set_keys(struct wpa_sm *sm,\n\t\t\t\t   struct
      wpa_eapol_ie_parse *ie)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cipher_valid_mgmt_group
      Src: /src/hostap/src/rsn_supp/wpa.c:2016,1
    - Dst: wpa_cipher_key_len
      Src: /src/hostap/src/rsn_supp/wpa.c:2023,1
    - Dst: wpa_supplicant_install_igtk
      Src: /src/hostap/src/rsn_supp/wpa.c:2028,1
    - Dst: wpa_cipher_key_len
      Src: /src/hostap/src/rsn_supp/wpa.c:2035,1
    - Dst: wpa_supplicant_install_bigtk
      Src: /src/hostap/src/rsn_supp/wpa.c:2040,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - sm
    - ie
    argTypes:
    - struct wpa_sm*
    - struct wpa_eapol_ie_parse*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2045
      start: 2011
    functionDepth: 3
    functionLinenumber: 2011
    functionLinenumberEnd: 2045
    functionName: ieee80211w_set_keys
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 1
    functionsReached:
    - wpa_supplicant_install_bigtk
    - wpa_supplicant_install_igtk
    - wpa_cipher_key_len
    - wpa_cipher_valid_mgmt_group
    linkageType: ''
    returnType: int
    signature: "int ieee80211w_set_keys(struct wpa_sm *sm,\n\t\t\t       struct wpa_eapol_ie_parse
      *ie)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:2053,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/wpa.c:2054,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:2057,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:2062,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:2065,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:2070,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:2075,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:2078,1
    - Dst: wpa_sm_deauthenticate
      Src: /src/hostap/src/rsn_supp/wpa.c:2082,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 7
    argNames:
    - sm
    - reason
    - src_addr
    - wpa_ie
    - wpa_ie_len
    - rsn_ie
    - rsn_ie_len
    argTypes:
    - struct wpa_sm*
    - char*
    - u8*
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2083
      start: 2048
    functionDepth: 2
    functionLinenumber: 2048
    functionLinenumberEnd: 2083
    functionName: wpa_report_ie_mismatch
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_sm_deauthenticate
    - wpa_hexdump
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: "void wpa_report_ie_mismatch(struct wpa_sm *sm,\n\t\t\t\t   const char
      *reason, const u8 *src_addr,\n\t\t\t\t   const u8 *wpa_ie, size_t wpa_ie_len,\n\t\t\t\t
      \  const u8 *rsn_ie, size_t rsn_ie_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/src/rsn_supp/wpa.c:2097,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:2099,1
    - Dst: os_memcmp
      Src: /src/hostap/src/rsn_supp/wpa.c:2106,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:2107,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:2108,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:2110,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 4
    argNames:
    - sm
    - src_addr
    - ie
    - assoc_resp_mdie
    argTypes:
    - struct wpa_sm*
    - unsigned char*
    - struct wpa_eapol_ie_parse*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2116
      start: 2088
    functionDepth: 1
    functionLinenumber: 2088
    functionLinenumberEnd: 2116
    functionName: ft_validate_mdie
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - os_memcmp
    - wpa_hexdump
    - wpa_dbg
    linkageType: ''
    returnType: int
    signature: "int ft_validate_mdie(struct wpa_sm *sm,\n\t\t\t    const unsigned
      char *src_addr,\n\t\t\t    struct wpa_eapol_ie_parse *ie,\n\t\t\t    const u8
      *assoc_resp_mdie)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:2125,1
    - Dst: os_memcmp
      Src: /src/hostap/src/rsn_supp/wpa.c:2134,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:2135,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:2136,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:2138,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - sm
    - src_addr
    - ie
    - assoc_resp_ftie
    argTypes:
    - struct wpa_sm*
    - unsigned char*
    - struct wpa_eapol_ie_parse*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2144
      start: 2119
    functionDepth: 1
    functionLinenumber: 2119
    functionLinenumberEnd: 2144
    functionName: ft_validate_ftie
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - os_memcmp
    - wpa_hexdump
    - wpa_dbg
    linkageType: ''
    returnType: int
    signature: "int ft_validate_ftie(struct wpa_sm *sm,\n\t\t\t    const unsigned
      char *src_addr,\n\t\t\t    struct wpa_eapol_ie_parse *ie,\n\t\t\t    const u8
      *assoc_resp_ftie)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_parse_wpa_ie_rsn
      Src: /src/hostap/src/rsn_supp/wpa.c:2160,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:2162,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/rsn_supp/wpa.c:2167,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:2169,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:2172,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:2174,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - sm
    - src_addr
    - ie
    argTypes:
    - struct wpa_sm*
    - unsigned char*
    - struct wpa_eapol_ie_parse*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2180
      start: 2147
    functionDepth: 1
    functionLinenumber: 2147
    functionLinenumberEnd: 2180
    functionName: ft_validate_rsnie
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - os_memcmp_const
    - wpa_parse_wpa_ie_rsn
    - wpa_hexdump
    - wpa_dbg
    linkageType: ''
    returnType: int
    signature: "int ft_validate_rsnie(struct wpa_sm *sm,\n\t\t\t     const unsigned
      char *src_addr,\n\t\t\t     struct wpa_eapol_ie_parse *ie)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ft_validate_mdie
      Src: /src/hostap/src/rsn_supp/wpa.c:2207,1
    - Dst: ft_validate_ftie
      Src: /src/hostap/src/rsn_supp/wpa.c:2208,1
    - Dst: ft_validate_rsnie
      Src: /src/hostap/src/rsn_supp/wpa.c:2209,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 3
    argNames:
    - sm
    - src_addr
    - ie
    argTypes:
    - struct wpa_sm*
    - unsigned char*
    - struct wpa_eapol_ie_parse*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2213
      start: 2183
    functionDepth: 2
    functionLinenumber: 2183
    functionLinenumberEnd: 2213
    functionName: wpa_supplicant_validate_ie_ft
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - ft_validate_mdie
    - ft_validate_rsnie
    - ft_validate_ftie
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_validate_ie_ft(struct wpa_sm *sm,\n\t\t\t\t\t const
      unsigned char *src_addr,\n\t\t\t\t\t struct wpa_eapol_ie_parse *ie)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:2223,1
    - Dst: wpa_sm_get_beacon_ie
      Src: /src/hostap/src/rsn_supp/wpa.c:2226,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:2227,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:2232,1
    - Dst: wpa_report_ie_mismatch
      Src: /src/hostap/src/rsn_supp/wpa.c:2238,1
    - Dst: os_memcmp
      Src: /src/hostap/src/rsn_supp/wpa.c:2247,1
    - Dst: wpa_compare_rsn_ie
      Src: /src/hostap/src/rsn_supp/wpa.c:2249,1
    - Dst: wpa_key_mgmt_ft
      Src: /src/hostap/src/rsn_supp/wpa.c:2249,1
    - Dst: wpa_report_ie_mismatch
      Src: /src/hostap/src/rsn_supp/wpa.c:2252,1
    - Dst: wpa_report_ie_mismatch
      Src: /src/hostap/src/rsn_supp/wpa.c:2261,1
    - Dst: os_memcmp
      Src: /src/hostap/src/rsn_supp/wpa.c:2275,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:2276,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:2278,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:2280,1
    - Dst: wpa_sm_deauthenticate
      Src: /src/hostap/src/rsn_supp/wpa.c:2282,1
    - Dst: wpa_sm_rsn_overriding_supported
      Src: /src/hostap/src/rsn_supp/wpa.c:2286,1
    - Dst: os_memcmp
      Src: /src/hostap/src/rsn_supp/wpa.c:2291,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:2293,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:2295,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:2299,1
    - Dst: wpa_sm_deauthenticate
      Src: /src/hostap/src/rsn_supp/wpa.c:2302,1
    - Dst: os_memcmp
      Src: /src/hostap/src/rsn_supp/wpa.c:2311,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:2313,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:2315,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:2319,1
    - Dst: wpa_sm_deauthenticate
      Src: /src/hostap/src/rsn_supp/wpa.c:2322,1
    - Dst: os_memcmp
      Src: /src/hostap/src/rsn_supp/wpa.c:2331,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:2333,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:2335,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:2339,1
    - Dst: wpa_sm_deauthenticate
      Src: /src/hostap/src/rsn_supp/wpa.c:2342,1
    - Dst: wpa_key_mgmt_ft
      Src: /src/hostap/src/rsn_supp/wpa.c:2349,1
    - Dst: wpa_supplicant_validate_ie_ft
      Src: /src/hostap/src/rsn_supp/wpa.c:2350,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 54
    argCount: 3
    argNames:
    - sm
    - src_addr
    - ie
    argTypes:
    - struct wpa_sm*
    - unsigned char*
    - struct wpa_eapol_ie_parse*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2355
      start: 2218
    functionDepth: 3
    functionLinenumber: 2218
    functionLinenumberEnd: 2355
    functionName: wpa_supplicant_validate_ie
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - wpa_report_ie_mismatch
    - wpa_sm_deauthenticate
    - wpa_hexdump
    - wpa_msg
    - wpa_key_mgmt_ft
    - os_memcmp
    - wpa_sm_get_beacon_ie
    - wpa_dbg
    - wpa_sm_rsn_overriding_supported
    - wpa_supplicant_validate_ie_ft
    - wpa_compare_rsn_ie
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_validate_ie(struct wpa_sm *sm,\n\t\t\t\t      const
      unsigned char *src_addr,\n\t\t\t\t      struct wpa_eapol_ie_parse *ie)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/rsn_supp/wpa.c:2385,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:2390,1
    - Dst: rsn_add_kde
      Src: /src/hostap/src/rsn_supp/wpa.c:2392,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/rsn_supp/wpa.c:2399,1
    - Dst: wpa_mic_len
      Src: /src/hostap/src/rsn_supp/wpa.c:2408,1
    - Dst: wpa_sm_alloc_eapol
      Src: /src/hostap/src/rsn_supp/wpa.c:2410,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/wpa.c:2414,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/rsn_supp/wpa.c:2430,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/rsn_supp/wpa.c:2432,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:2434,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:2435,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/rsn_supp/wpa.c:2440,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:2442,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/wpa.c:2443,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:2448,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/rsn_supp/wpa.c:2449,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/rsn_supp/wpa.c:2450,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/rsn_supp/wpa.c:2458,1
    - Dst: os_memdup
      Src: /src/hostap/src/rsn_supp/wpa.c:2462,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/wpa.c:2464,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/rsn_supp/wpa.c:2470,1
    - Dst: aes_wrap
      Src: /src/hostap/src/rsn_supp/wpa.c:2472,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/wpa.c:2474,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/wpa.c:2475,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:2478,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/wpa.c:2481,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:2485,1
    - Dst: wpa_eapol_key_send
      Src: /src/hostap/src/rsn_supp/wpa.c:2486,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 70
    argCount: 6
    argNames:
    - sm
    - dst
    - key
    - ver
    - key_info
    - ptk
    argTypes:
    - struct wpa_sm*
    - unsigned char*
    - struct wpa_eapol_key*
    - u16
    - u16
    - struct wpa_ptk*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2488
      start: 2368
    functionDepth: 4
    functionLinenumber: 2368
    functionLinenumberEnd: 2488
    functionName: wpa_supplicant_send_4_of_4
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_hexdump_key
    - wpa_hexdump
    - wpabuf_len
    - os_memdup
    - os_malloc
    - rsn_add_kde
    - WPA_PUT_BE16
    - wpabuf_head
    - aes_wrap
    - wpa_dbg
    - os_free
    - wpa_eapol_key_send
    - wpa_sm_alloc_eapol
    - wpa_mic_len
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_send_4_of_4(struct wpa_sm *sm, const unsigned char
      *dst,\n\t\t\t       const struct wpa_eapol_key *key,\n\t\t\t       u16 ver,
      u16 key_info,\n\t\t\t       struct wpa_ptk *ptk)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:2504,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/rsn_supp/wpa.c:2510,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:2512,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/wpa.c:2516,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/wpa.c:2517,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:2526,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:2536,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:2547,1
    - Dst: wpa_compare_rsn_ie
      Src: /src/hostap/src/rsn_supp/wpa.c:2556,1
    - Dst: wpa_key_mgmt_ft
      Src: /src/hostap/src/rsn_supp/wpa.c:2556,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:2560,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:2563,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:2566,1
    - Dst: os_memcmp
      Src: /src/hostap/src/rsn_supp/wpa.c:2575,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:2577,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:2580,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:2583,1
    - Dst: wpa_sm_rsn_overriding_supported
      Src: /src/hostap/src/rsn_supp/wpa.c:2588,1
    - Dst: get_vendor_ie
      Src: /src/hostap/src/rsn_supp/wpa.c:2592,1
    - Dst: get_vendor_ie
      Src: /src/hostap/src/rsn_supp/wpa.c:2598,1
    - Dst: get_vendor_ie
      Src: /src/hostap/src/rsn_supp/wpa.c:2604,1
    - Dst: wpa_compare_rsn_ie
      Src: /src/hostap/src/rsn_supp/wpa.c:2614,1
    - Dst: wpa_key_mgmt_ft
      Src: /src/hostap/src/rsn_supp/wpa.c:2614,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:2618,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:2621,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:2624,1
    - Dst: wpa_compare_rsn_ie
      Src: /src/hostap/src/rsn_supp/wpa.c:2632,1
    - Dst: wpa_key_mgmt_ft
      Src: /src/hostap/src/rsn_supp/wpa.c:2632,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:2636,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:2639,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:2642,1
    - Dst: os_memcmp
      Src: /src/hostap/src/rsn_supp/wpa.c:2651,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:2653,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:2656,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:2659,1
    - Dst: wpa_sm_deauthenticate
      Src: /src/hostap/src/rsn_supp/wpa.c:2666,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 82
    argCount: 6
    argNames:
    - sm
    - link_id
    - link_kde
    - link_kde_len
    - rsn_override_link_kde
    - rsn_override_link_kde_len
    argTypes:
    - struct wpa_sm*
    - u8
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2668
      start: 2491
    functionDepth: 2
    functionLinenumber: 2491
    functionLinenumberEnd: 2668
    functionName: wpa_supplicant_validate_link_kde
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - wpa_sm_deauthenticate
    - wpa_hexdump
    - wpa_msg
    - ether_addr_equal
    - get_vendor_ie
    - wpa_key_mgmt_ft
    - MAC2STR
    - os_memcmp
    - wpa_sm_rsn_overriding_supported
    - wpa_compare_rsn_ie
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_validate_link_kde(struct wpa_sm *sm, u8 link_id,\n\t\t\t\t\t
      \   const u8 *link_kde,\n\t\t\t\t\t    size_t link_kde_len,\n\t\t\t\t\t    const
      u8 *rsn_override_link_kde,\n\t\t\t\t\t    size_t rsn_override_link_kde_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cipher_key_len
      Src: /src/hostap/src/rsn_supp/wpa.c:2677,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:2678,1
    - Dst: wpa_cipher_key_len
      Src: /src/hostap/src/rsn_supp/wpa.c:2689,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:2690,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - sm
    - link_id
    - ie
    argTypes:
    - struct wpa_sm*
    - u8
    - struct wpa_eapol_ie_parse*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2697
      start: 2671
    functionDepth: 1
    functionLinenumber: 2671
    functionLinenumberEnd: 2697
    functionName: wpa_validate_mlo_ieee80211w_kdes
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - wpa_cipher_key_len
    - wpa_msg
    linkageType: ''
    returnType: int
    signature: "int wpa_validate_mlo_ieee80211w_kdes(struct wpa_sm *sm,\n\t\t\t\t\t
      \   u8 link_id,\n\t\t\t\t\t    struct wpa_eapol_ie_parse *ie)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_sm_set_state
      Src: /src/hostap/src/rsn_supp/wpa.c:2708,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:2709,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/wpa.c:2711,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/rsn_supp/wpa.c:2713,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:2715,1
    - Dst: wpa_supplicant_parse_ies
      Src: /src/hostap/src/rsn_supp/wpa.c:2716,1
    - Dst: wpa_supplicant_validate_ie
      Src: /src/hostap/src/rsn_supp/wpa.c:2719,1
    - Dst: os_memcmp
      Src: /src/hostap/src/rsn_supp/wpa.c:2722,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:2723,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/wpa.c:2725,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/rsn_supp/wpa.c:2729,1
    - Dst: wpa_cipher_key_len
      Src: /src/hostap/src/rsn_supp/wpa.c:2730,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:2731,1
    - Dst: wpa_cipher_txt
      Src: /src/hostap/src/rsn_supp/wpa.c:2733,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/wpa.c:2734,1
    - Dst: wpa_supplicant_send_4_of_4
      Src: /src/hostap/src/rsn_supp/wpa.c:2738,1
    - Dst: wpa_sm_get_auth_addr
      Src: /src/hostap/src/rsn_supp/wpa.c:2738,1
    - Dst: wpa_supplicant_install_ptk
      Src: /src/hostap/src/rsn_supp/wpa.c:2748,1
    - Dst: wpa_sm_mlme_setprotection
      Src: /src/hostap/src/rsn_supp/wpa.c:2752,1
    - Dst: eapol_sm_notify_portValid
      Src: /src/hostap/src/rsn_supp/wpa.c:2755,1
    - Dst: wpa_sm_set_state
      Src: /src/hostap/src/rsn_supp/wpa.c:2757,1
    - Dst: wpa_sm_deauthenticate
      Src: /src/hostap/src/rsn_supp/wpa.c:2763,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 5
    argNames:
    - sm
    - key
    - ver
    - key_data
    - key_data_len
    argTypes:
    - struct wpa_sm*
    - struct wpa_eapol_key*
    - u16
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2764
      start: 2700
    functionDepth: 5
    functionLinenumber: 2700
    functionLinenumberEnd: 2764
    functionName: wpa_supplicant_process_3_of_4_wpa
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - WPA_GET_BE16
    - wpa_sm_deauthenticate
    - wpa_cipher_key_len
    - wpa_hexdump
    - wpa_msg
    - wpa_supplicant_install_ptk
    - wpa_sm_set_state
    - eapol_sm_notify_portValid
    - wpa_supplicant_validate_ie
    - MAC2STR
    - wpa_supplicant_send_4_of_4
    - os_memcmp
    - wpa_supplicant_parse_ies
    - wpa_dbg
    - wpa_sm_mlme_setprotection
    - wpa_cipher_txt
    - wpa_sm_get_auth_addr
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_process_3_of_4_wpa(struct wpa_sm *sm,\n\t\t\t\t\t
      \     const struct wpa_eapol_key *key,\n\t\t\t\t\t      u16 ver, const u8 *key_data,\n\t\t\t\t\t
      \     size_t key_data_len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:2774,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:2780,1
    - Dst: wpabuf_array_alloc
      Src: /src/hostap/src/rsn_supp/wpa.c:2786,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:2795,1
    - Dst: wpabuf_array_free
      Src: /src/hostap/src/rsn_supp/wpa.c:2797,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:2800,1
    - Dst: wpabuf_array_add
      Src: /src/hostap/src/rsn_supp/wpa.c:2802,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/rsn_supp/wpa.c:2802,1
    - Dst: wpabuf_array_free
      Src: /src/hostap/src/rsn_supp/wpa.c:2803,1
    - Dst: struct wpa_sm*::ctx::sae_pw_id_change
      Src: /src/hostap/src/rsn_supp/wpa.c:2809,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - sm
    - kde
    - kde_len
    argTypes:
    - struct wpa_sm*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2810
      start: 2767
    functionDepth: 1
    functionLinenumber: 2767
    functionLinenumberEnd: 2810
    functionName: wpa_sm_sae_pw_id_change
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    - wpabuf_array_alloc
    - wpabuf_alloc_copy
    - wpabuf_array_free
    - struct wpa_sm*::ctx::sae_pw_id_change
    - wpabuf_array_add
    linkageType: ''
    returnType: void
    signature: "void wpa_sm_sae_pw_id_change(struct wpa_sm *sm, const u8 *kde,\n\t\t\t\t
      \   size_t kde_len)"
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: wpa_sm_set_state
      Src: /src/hostap/src/rsn_supp/wpa.c:2823,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:2824,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/wpa.c:2826,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/rsn_supp/wpa.c:2828,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:2830,1
    - Dst: wpa_supplicant_parse_ies
      Src: /src/hostap/src/rsn_supp/wpa.c:2831,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:2836,1
    - Dst: os_memcmp
      Src: /src/hostap/src/rsn_supp/wpa.c:2842,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:2843,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/rsn_supp/wpa.c:2845,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/rsn_supp/wpa.c:2847,1
    - Dst: wpa_sm_ssid_verified
      Src: /src/hostap/src/rsn_supp/wpa.c:2852,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:2856,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:2866,1
    - Dst: is_valid_ap_mld_mac_kde
      Src: /src/hostap/src/rsn_supp/wpa.c:2872,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:2873,1
    - Dst: BIT
      Src: /src/hostap/src/rsn_supp/wpa.c:2878,1
    - Dst: wpa_supplicant_validate_link_kde
      Src: /src/hostap/src/rsn_supp/wpa.c:2881,1
    - Dst: BIT
      Src: /src/hostap/src/rsn_supp/wpa.c:2887,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:2891,1
    - Dst: wpa_supplicant_validate_mlo_gtk_kde_len
      Src: /src/hostap/src/rsn_supp/wpa.c:2896,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:2898,1
    - Dst: wpa_cipher_valid_mgmt_group
      Src: /src/hostap/src/rsn_supp/wpa.c:2905,1
    - Dst: wpa_validate_mlo_ieee80211w_kdes
      Src: /src/hostap/src/rsn_supp/wpa.c:2906,1
    - Dst: wpa_key_mgmt_ft
      Src: /src/hostap/src/rsn_supp/wpa.c:2911,1
    - Dst: wpa_supplicant_validate_ie_ft
      Src: /src/hostap/src/rsn_supp/wpa.c:2912,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:2917,1
    - Dst: wpa_supplicant_validate_gtk_kde_len
      Src: /src/hostap/src/rsn_supp/wpa.c:2923,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:2924,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:2930,1
    - Dst: wpa_cipher_valid_mgmt_group
      Src: /src/hostap/src/rsn_supp/wpa.c:2937,1
    - Dst: wpa_cipher_key_len
      Src: /src/hostap/src/rsn_supp/wpa.c:2939,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:2940,1
    - Dst: wpa_supplicant_validate_ie
      Src: /src/hostap/src/rsn_supp/wpa.c:2946,1
    - Dst: wpa_handle_ext_key_id
      Src: /src/hostap/src/rsn_supp/wpa.c:2949,1
    - Dst: os_memcmp
      Src: /src/hostap/src/rsn_supp/wpa.c:2952,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:2953,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/wpa.c:2956,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/rsn_supp/wpa.c:2960,1
    - Dst: wpa_cipher_key_len
      Src: /src/hostap/src/rsn_supp/wpa.c:2961,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:2962,1
    - Dst: wpa_cipher_txt
      Src: /src/hostap/src/rsn_supp/wpa.c:2964,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/wpa.c:2965,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:2971,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:2972,1
    - Dst: wpa_sm_ocv_enabled
      Src: /src/hostap/src/rsn_supp/wpa.c:2978,1
    - Dst: wpa_sm_channel_info
      Src: /src/hostap/src/rsn_supp/wpa.c:2981,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:2982,1
    - Dst: ocv_verify_tx_params
      Src: /src/hostap/src/rsn_supp/wpa.c:2987,1
    - Dst: channel_width_to_int
      Src: /src/hostap/src/rsn_supp/wpa.c:2988,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:2990,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/wpa.c:2992,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:3000,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:3005,1
    - Dst: wpa_supplicant_install_ptk
      Src: /src/hostap/src/rsn_supp/wpa.c:3013,1
    - Dst: wpa_supplicant_install_ptk
      Src: /src/hostap/src/rsn_supp/wpa.c:3017,1
    - Dst: wpa_supplicant_send_4_of_4
      Src: /src/hostap/src/rsn_supp/wpa.c:3026,1
    - Dst: wpa_sm_get_auth_addr
      Src: /src/hostap/src/rsn_supp/wpa.c:3026,1
    - Dst: wpa_supplicant_activate_ptk
      Src: /src/hostap/src/rsn_supp/wpa.c:3039,1
    - Dst: wpa_supplicant_install_ptk
      Src: /src/hostap/src/rsn_supp/wpa.c:3041,1
    - Dst: wpa_sm_mlme_setprotection
      Src: /src/hostap/src/rsn_supp/wpa.c:3048,1
    - Dst: eapol_sm_notify_portValid
      Src: /src/hostap/src/rsn_supp/wpa.c:3051,1
    - Dst: wpa_sm_set_state
      Src: /src/hostap/src/rsn_supp/wpa.c:3053,1
    - Dst: wpa_supplicant_pairwise_mlo_gtk
      Src: /src/hostap/src/rsn_supp/wpa.c:3056,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:3058,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:3065,1
    - Dst: wpa_supplicant_pairwise_gtk
      Src: /src/hostap/src/rsn_supp/wpa.c:3069,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:3071,1
    - Dst: mlo_ieee80211w_set_keys
      Src: /src/hostap/src/rsn_supp/wpa.c:3076,1
    - Dst: ieee80211w_set_keys
      Src: /src/hostap/src/rsn_supp/wpa.c:3077,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:3078,1
    - Dst: wpa_supplicant_key_neg_complete
      Src: /src/hostap/src/rsn_supp/wpa.c:3084,1
    - Dst: wpa_sm_set_rekey_offload
      Src: /src/hostap/src/rsn_supp/wpa.c:3088,1
    - Dst: wpa_key_mgmt_suite_b
      Src: /src/hostap/src/rsn_supp/wpa.c:3095,1
    - Dst: pmksa_cache_add
      Src: /src/hostap/src/rsn_supp/wpa.c:3099,1
    - Dst: wpa_sm_get_auth_addr
      Src: /src/hostap/src/rsn_supp/wpa.c:3101,1
    - Dst: wpa_sm_transition_disable
      Src: /src/hostap/src/rsn_supp/wpa.c:3108,1
    - Dst: wpa_key_mgmt_sae
      Src: /src/hostap/src/rsn_supp/wpa.c:3109,1
    - Dst: wpa_sm_sae_pw_id_change
      Src: /src/hostap/src/rsn_supp/wpa.c:3111,1
    - Dst: wpa_sm_deauthenticate
      Src: /src/hostap/src/rsn_supp/wpa.c:3116,1
    CyclomaticComplexity: 115
    EdgeCount: 115
    ICount: 186
    argCount: 5
    argNames:
    - sm
    - key
    - ver
    - key_data
    - key_data_len
    argTypes:
    - struct wpa_sm*
    - struct wpa_eapol_key*
    - u16
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3117
      start: 2813
    functionDepth: 5
    functionLinenumber: 2813
    functionLinenumberEnd: 3117
    functionName: wpa_supplicant_process_3_of_4
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - wpa_hexdump
    - wpa_sm_transition_disable
    - wpa_key_mgmt_suite_b
    - wpa_supplicant_validate_mlo_gtk_kde_len
    - wpa_supplicant_send_4_of_4
    - BIT
    - ocv_verify_tx_params
    - wpa_validate_mlo_ieee80211w_kdes
    - wpa_hexdump_ascii
    - wpa_key_mgmt_sae
    - wpa_supplicant_validate_link_kde
    - WPA_GET_BE16
    - wpa_printf
    - wpa_sm_ocv_enabled
    - wpa_supplicant_pairwise_gtk
    - wpa_sm_deauthenticate
    - wpa_sm_set_state
    - eapol_sm_notify_portValid
    - mlo_ieee80211w_set_keys
    - wpa_key_mgmt_ft
    - wpa_supplicant_validate_ie
    - pmksa_cache_add
    - os_memcmp
    - wpa_supplicant_parse_ies
    - wpa_sm_set_rekey_offload
    - wpa_sm_mlme_setprotection
    - wpa_sm_get_auth_addr
    - channel_width_to_int
    - wpa_supplicant_pairwise_mlo_gtk
    - wpa_supplicant_install_ptk
    - wpa_sm_sae_pw_id_change
    - wpa_sm_ssid_verified
    - ieee80211w_set_keys
    - wpa_dbg
    - wpa_cipher_txt
    - wpa_sm_channel_info
    - wpa_supplicant_validate_ie_ft
    - wpa_handle_ext_key_id
    - os_memcpy
    - wpa_supplicant_key_neg_complete
    - wpa_cipher_key_len
    - wpa_msg
    - wpa_supplicant_validate_gtk_kde_len
    - wpa_supplicant_activate_ptk
    - MAC2STR
    - wpa_cipher_valid_mgmt_group
    - is_valid_ap_mld_mac_kde
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_process_3_of_4(struct wpa_sm *sm,\n\t\t\t\t\t
      \ const struct wpa_eapol_key *key,\n\t\t\t\t\t  u16 ver, const u8 *key_data,\n\t\t\t\t\t
      \ size_t key_data_len)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:3131,1
    - Dst: wpa_sm_ocv_enabled
      Src: /src/hostap/src/rsn_supp/wpa.c:3137,1
    - Dst: wpa_mic_len
      Src: /src/hostap/src/rsn_supp/wpa.c:3141,1
    - Dst: wpa_sm_alloc_eapol
      Src: /src/hostap/src/rsn_supp/wpa.c:3143,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/rsn_supp/wpa.c:3156,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/rsn_supp/wpa.c:3158,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:3160,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:3161,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/rsn_supp/wpa.c:3165,1
    - Dst: wpa_sm_ocv_enabled
      Src: /src/hostap/src/rsn_supp/wpa.c:3168,1
    - Dst: wpa_sm_channel_info
      Src: /src/hostap/src/rsn_supp/wpa.c:3172,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:3173,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/wpa.c:3175,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:3180,1
    - Dst: ocv_insert_oci_kde
      Src: /src/hostap/src/rsn_supp/wpa.c:3189,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/wpa.c:3190,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:3196,1
    - Dst: wpa_eapol_key_send
      Src: /src/hostap/src/rsn_supp/wpa.c:3197,1
    - Dst: wpa_sm_get_auth_addr
      Src: /src/hostap/src/rsn_supp/wpa.c:3197,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 4
    argNames:
    - sm
    - key
    - ver
    - key_info
    argTypes:
    - struct wpa_sm*
    - struct wpa_eapol_key*
    - int
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3199
      start: 3120
    functionDepth: 4
    functionLinenumber: 3120
    functionLinenumberEnd: 3199
    functionName: wpa_supplicant_send_2_of_2
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_sm_ocv_enabled
    - WPA_PUT_BE16
    - ocv_insert_oci_kde
    - wpa_dbg
    - os_free
    - wpa_sm_get_auth_addr
    - wpa_eapol_key_send
    - wpa_sm_alloc_eapol
    - wpa_sm_channel_info
    - wpa_mic_len
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_send_2_of_2(struct wpa_sm *sm,\n\t\t\t\t      const
      struct wpa_eapol_key *key,\n\t\t\t\t      int ver, u16 key_info)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: wpa_fils_is_completed
      Src: /src/hostap/src/rsn_supp/wpa.c:3212,1
    - Dst: wpa_eppke_is_completed
      Src: /src/hostap/src/rsn_supp/wpa.c:3213,1
    - Dst: wpa_eap_over_auth_frame_is_completed
      Src: /src/hostap/src/rsn_supp/wpa.c:3214,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:3215,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:3220,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/wpa.c:3221,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/rsn_supp/wpa.c:3224,1
    - Dst: wpa_sm_set_state
      Src: /src/hostap/src/rsn_supp/wpa.c:3226,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/rsn_supp/wpa.c:3228,1
    - Dst: wpa_supplicant_parse_ies
      Src: /src/hostap/src/rsn_supp/wpa.c:3230,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:3234,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:3240,1
    - Dst: wpa_sm_ocv_enabled
      Src: /src/hostap/src/rsn_supp/wpa.c:3246,1
    - Dst: wpa_sm_channel_info
      Src: /src/hostap/src/rsn_supp/wpa.c:3249,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:3250,1
    - Dst: ocv_verify_tx_params
      Src: /src/hostap/src/rsn_supp/wpa.c:3255,1
    - Dst: channel_width_to_int
      Src: /src/hostap/src/rsn_supp/wpa.c:3256,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:3258,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/wpa.c:3260,1
    - Dst: mlo_ieee80211w_set_keys
      Src: /src/hostap/src/rsn_supp/wpa.c:3266,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:3267,1
    - Dst: for_each_link
      Src: /src/hostap/src/rsn_supp/wpa.c:3270,1
    - Dst: wpa_supplicant_mlo_gtk
      Src: /src/hostap/src/rsn_supp/wpa.c:3278,1
    - Dst: wpa_supplicant_send_2_of_2
      Src: /src/hostap/src/rsn_supp/wpa.c:3283,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:3286,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/wpa.c:3287,1
    - Dst: wpa_cipher_txt
      Src: /src/hostap/src/rsn_supp/wpa.c:3288,1
    - Dst: wpa_sm_cancel_auth_timeout
      Src: /src/hostap/src/rsn_supp/wpa.c:3289,1
    - Dst: wpa_sm_set_state
      Src: /src/hostap/src/rsn_supp/wpa.c:3290,1
    - Dst: wpa_sm_set_rekey_offload
      Src: /src/hostap/src/rsn_supp/wpa.c:3292,1
    - Dst: wpa_sm_deauthenticate
      Src: /src/hostap/src/rsn_supp/wpa.c:3297,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 55
    argCount: 6
    argNames:
    - sm
    - src_addr
    - key
    - key_data
    - key_data_len
    - ver
    argTypes:
    - struct wpa_sm*
    - unsigned char*
    - struct wpa_eapol_key*
    - u8*
    - size_t
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3298
      start: 3202
    functionDepth: 5
    functionLinenumber: 3202
    functionLinenumberEnd: 3298
    functionName: wpa_supplicant_process_mlo_1_of_2
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - wpa_eppke_is_completed
    - ocv_verify_tx_params
    - wpa_fils_is_completed
    - WPA_GET_BE16
    - wpa_sm_ocv_enabled
    - wpa_sm_deauthenticate
    - wpa_sm_set_state
    - mlo_ieee80211w_set_keys
    - wpa_sm_set_rekey_offload
    - wpa_supplicant_parse_ies
    - channel_width_to_int
    - wpa_hexdump_key
    - wpa_supplicant_send_2_of_2
    - wpa_dbg
    - wpa_cipher_txt
    - wpa_sm_cancel_auth_timeout
    - wpa_sm_channel_info
    - wpa_eap_over_auth_frame_is_completed
    - wpa_msg
    - for_each_link
    - wpa_supplicant_mlo_gtk
    - MAC2STR
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_process_mlo_1_of_2(struct wpa_sm *sm,\n\t\t\t\t\t
      \     const unsigned char *src_addr,\n\t\t\t\t\t      const struct wpa_eapol_key
      *key,\n\t\t\t\t\t      const u8 *key_data,\n\t\t\t\t\t      size_t key_data_len,
      u16 ver)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:3315,1
    - Dst: os_memset
      Src: /src/hostap/src/rsn_supp/wpa.c:3320,1
    - Dst: wpa_sm_get_state
      Src: /src/hostap/src/rsn_supp/wpa.c:3322,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:3323,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/wpa.c:3325,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/rsn_supp/wpa.c:3327,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/rsn_supp/wpa.c:3329,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:3333,1
    - Dst: wpa_supplicant_check_group_cipher
      Src: /src/hostap/src/rsn_supp/wpa.c:3342,1
    - Dst: wpa_sm_set_state
      Src: /src/hostap/src/rsn_supp/wpa.c:3347,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:3354,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:3360,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:3365,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:3366,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:3367,1
    - Dst: rc4_skip
      Src: /src/hostap/src/rsn_supp/wpa.c:3368,1
    - Dst: forced_memzero
      Src: /src/hostap/src/rsn_supp/wpa.c:3369,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:3370,1
    - Dst: forced_memzero
      Src: /src/hostap/src/rsn_supp/wpa.c:3374,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:3378,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:3384,1
    - Dst: aes_unwrap
      Src: /src/hostap/src/rsn_supp/wpa.c:3391,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:3393,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:3399,1
    - Dst: wpa_supplicant_gtk_tx_bit_workaround
      Src: /src/hostap/src/rsn_supp/wpa.c:3403,1
    - Dst: wpa_supplicant_rsc_relaxation
      Src: /src/hostap/src/rsn_supp/wpa.c:3407,1
    - Dst: wpa_supplicant_install_gtk
      Src: /src/hostap/src/rsn_supp/wpa.c:3410,1
    - Dst: wpa_supplicant_send_2_of_2
      Src: /src/hostap/src/rsn_supp/wpa.c:3411,1
    - Dst: forced_memzero
      Src: /src/hostap/src/rsn_supp/wpa.c:3413,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:3416,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/wpa.c:3419,1
    - Dst: wpa_cipher_txt
      Src: /src/hostap/src/rsn_supp/wpa.c:3419,1
    - Dst: wpa_sm_cancel_auth_timeout
      Src: /src/hostap/src/rsn_supp/wpa.c:3420,1
    - Dst: wpa_sm_set_state
      Src: /src/hostap/src/rsn_supp/wpa.c:3421,1
    - Dst: wpa_supplicant_key_neg_complete
      Src: /src/hostap/src/rsn_supp/wpa.c:3423,1
    - Dst: wpa_sm_set_rekey_offload
      Src: /src/hostap/src/rsn_supp/wpa.c:3427,1
    - Dst: forced_memzero
      Src: /src/hostap/src/rsn_supp/wpa.c:3432,1
    - Dst: wpa_sm_deauthenticate
      Src: /src/hostap/src/rsn_supp/wpa.c:3433,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 88
    argCount: 6
    argNames:
    - sm
    - src_addr
    - key
    - key_data
    - key_data_len
    - ver
    argTypes:
    - struct wpa_sm*
    - unsigned char*
    - struct wpa_eapol_key*
    - u8*
    - size_t
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3434
      start: 3301
    functionDepth: 5
    functionLinenumber: 3301
    functionLinenumberEnd: 3434
    functionName: wpa_supplicant_process_1_of_2_wpa
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - wpa_sm_get_state
    - forced_memzero
    - wpa_supplicant_check_group_cipher
    - WPA_GET_BE16
    - wpa_sm_deauthenticate
    - wpa_sm_set_state
    - wpa_sm_set_rekey_offload
    - wpa_supplicant_gtk_tx_bit_workaround
    - wpa_supplicant_rsc_relaxation
    - wpa_supplicant_send_2_of_2
    - wpa_dbg
    - wpa_cipher_txt
    - wpa_sm_cancel_auth_timeout
    - os_memset
    - os_memcpy
    - wpa_supplicant_key_neg_complete
    - wpa_msg
    - aes_unwrap
    - rc4_skip
    - MAC2STR
    - wpa_supplicant_install_gtk
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_process_1_of_2_wpa(struct wpa_sm *sm,\n\t\t\t\t\t
      \     const unsigned char *src_addr,\n\t\t\t\t\t      const struct wpa_eapol_key
      *key,\n\t\t\t\t\t      const u8 *key_data,\n\t\t\t\t\t      size_t key_data_len,
      u16 ver)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: wpa_fils_is_completed
      Src: /src/hostap/src/rsn_supp/wpa.c:3450,1
    - Dst: wpa_eppke_is_completed
      Src: /src/hostap/src/rsn_supp/wpa.c:3451,1
    - Dst: wpa_eap_over_auth_frame_is_completed
      Src: /src/hostap/src/rsn_supp/wpa.c:3452,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:3453,1
    - Dst: os_memset
      Src: /src/hostap/src/rsn_supp/wpa.c:3458,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:3460,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/wpa.c:3462,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/rsn_supp/wpa.c:3464,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/rsn_supp/wpa.c:3466,1
    - Dst: wpa_supplicant_parse_ies
      Src: /src/hostap/src/rsn_supp/wpa.c:3468,1
    - Dst: wpa_sm_set_state
      Src: /src/hostap/src/rsn_supp/wpa.c:3471,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:3474,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:3479,1
    - Dst: wpa_supplicant_validate_gtk_kde_len
      Src: /src/hostap/src/rsn_supp/wpa.c:3484,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:3485,1
    - Dst: wpa_sm_ocv_enabled
      Src: /src/hostap/src/rsn_supp/wpa.c:3494,1
    - Dst: wpa_sm_channel_info
      Src: /src/hostap/src/rsn_supp/wpa.c:3497,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:3498,1
    - Dst: ocv_verify_tx_params
      Src: /src/hostap/src/rsn_supp/wpa.c:3503,1
    - Dst: channel_width_to_int
      Src: /src/hostap/src/rsn_supp/wpa.c:3504,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:3506,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/wpa.c:3508,1
    - Dst: wpa_supplicant_check_group_cipher
      Src: /src/hostap/src/rsn_supp/wpa.c:3514,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/rsn_supp/wpa.c:3519,1
    - Dst: wpa_supplicant_gtk_tx_bit_workaround
      Src: /src/hostap/src/rsn_supp/wpa.c:3522,1
    - Dst: BIT
      Src: /src/hostap/src/rsn_supp/wpa.c:3523,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:3524,1
    - Dst: ieee80211w_set_keys
      Src: /src/hostap/src/rsn_supp/wpa.c:3526,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:3527,1
    - Dst: wpa_supplicant_rsc_relaxation
      Src: /src/hostap/src/rsn_supp/wpa.c:3531,1
    - Dst: wpa_supplicant_install_gtk
      Src: /src/hostap/src/rsn_supp/wpa.c:3534,1
    - Dst: wpa_supplicant_send_2_of_2
      Src: /src/hostap/src/rsn_supp/wpa.c:3535,1
    - Dst: forced_memzero
      Src: /src/hostap/src/rsn_supp/wpa.c:3537,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:3539,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/wpa.c:3541,1
    - Dst: wpa_cipher_txt
      Src: /src/hostap/src/rsn_supp/wpa.c:3541,1
    - Dst: wpa_sm_cancel_auth_timeout
      Src: /src/hostap/src/rsn_supp/wpa.c:3542,1
    - Dst: wpa_sm_set_state
      Src: /src/hostap/src/rsn_supp/wpa.c:3543,1
    - Dst: wpa_sm_set_rekey_offload
      Src: /src/hostap/src/rsn_supp/wpa.c:3545,1
    - Dst: forced_memzero
      Src: /src/hostap/src/rsn_supp/wpa.c:3550,1
    - Dst: wpa_sm_deauthenticate
      Src: /src/hostap/src/rsn_supp/wpa.c:3551,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 69
    argCount: 6
    argNames:
    - sm
    - src_addr
    - key
    - key_data
    - key_data_len
    - ver
    argTypes:
    - struct wpa_sm*
    - unsigned char*
    - struct wpa_eapol_key*
    - u8*
    - size_t
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3552
      start: 3437
    functionDepth: 5
    functionLinenumber: 3437
    functionLinenumberEnd: 3552
    functionName: wpa_supplicant_process_1_of_2
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - wpa_eppke_is_completed
    - forced_memzero
    - BIT
    - wpa_supplicant_check_group_cipher
    - ocv_verify_tx_params
    - wpa_fils_is_completed
    - WPA_GET_BE16
    - wpa_sm_ocv_enabled
    - wpa_sm_deauthenticate
    - wpa_sm_set_state
    - wpa_sm_set_rekey_offload
    - wpa_supplicant_parse_ies
    - channel_width_to_int
    - wpa_hexdump_key
    - wpa_supplicant_gtk_tx_bit_workaround
    - wpa_supplicant_rsc_relaxation
    - wpa_supplicant_send_2_of_2
    - ieee80211w_set_keys
    - wpa_dbg
    - wpa_cipher_txt
    - wpa_sm_cancel_auth_timeout
    - wpa_sm_channel_info
    - os_memset
    - os_memcpy
    - wpa_eap_over_auth_frame_is_completed
    - wpa_msg
    - wpa_supplicant_validate_gtk_kde_len
    - MAC2STR
    - wpa_supplicant_install_gtk
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_process_1_of_2(struct wpa_sm *sm,\n\t\t\t\t\t
      \ const unsigned char *src_addr,\n\t\t\t\t\t  const struct wpa_eapol_key *key,\n\t\t\t\t\t
      \ const u8 *key_data,\n\t\t\t\t\t  size_t key_data_len, u16 ver)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:3559,1
    - Dst: os_memset
      Src: /src/hostap/src/rsn_supp/wpa.c:3560,1
    - Dst: wpa_sm_pmf_enabled
      Src: /src/hostap/src/rsn_supp/wpa.c:3563,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:3564,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:3569,1
    - Dst: wpa_sm_get_auth_addr
      Src: /src/hostap/src/rsn_supp/wpa.c:3569,1
    - Dst: os_memset
      Src: /src/hostap/src/rsn_supp/wpa.c:3571,1
    - Dst: os_memset
      Src: /src/hostap/src/rsn_supp/wpa.c:3573,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3575
      start: 3555
    functionDepth: 1
    functionLinenumber: 3555
    functionLinenumberEnd: 3575
    functionName: wpa_sm_tptk_to_ptk
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - wpa_sm_get_auth_addr
    - os_memcpy
    - wpa_sm_pmf_enabled
    - os_memset
    linkageType: ''
    returnType: void
    signature: void wpa_sm_tptk_to_ptk(struct wpa_sm *sm)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_mic_len
      Src: /src/hostap/src/rsn_supp/wpa.c:3585,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:3587,1
    - Dst: os_memset
      Src: /src/hostap/src/rsn_supp/wpa.c:3589,1
    - Dst: wpa_eapol_key_mic
      Src: /src/hostap/src/rsn_supp/wpa.c:3590,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/rsn_supp/wpa.c:3593,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:3594,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:3598,1
    - Dst: wpa_sm_tptk_to_ptk
      Src: /src/hostap/src/rsn_supp/wpa.c:3607,1
    - Dst: os_memset
      Src: /src/hostap/src/rsn_supp/wpa.c:3620,1
    - Dst: wpa_eapol_key_mic
      Src: /src/hostap/src/rsn_supp/wpa.c:3621,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/rsn_supp/wpa.c:3624,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:3625,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:3629,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:3642,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:3648,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 5
    argNames:
    - sm
    - key
    - ver
    - buf
    - len
    argTypes:
    - struct wpa_sm*
    - struct wpa_eapol_key*
    - u16
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3652
      start: 3578
    functionDepth: 2
    functionLinenumber: 3578
    functionLinenumberEnd: 3652
    functionName: wpa_supplicant_verify_eapol_key_mic
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - wpa_sm_tptk_to_ptk
    - os_memcpy
    - wpa_printf
    - wpa_msg
    - os_memcmp_const
    - wpa_eapol_key_mic
    - wpa_mic_len
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_verify_eapol_key_mic(struct wpa_sm *sm,\n\t\t\t\t\t
      \      struct wpa_eapol_key *key,\n\t\t\t\t\t       u16 ver,\n\t\t\t\t\t       const
      u8 *buf, size_t len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:3661,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:3664,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:3674,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:3680,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:3681,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:3682,1
    - Dst: rc4_skip
      Src: /src/hostap/src/rsn_supp/wpa.c:3683,1
    - Dst: forced_memzero
      Src: /src/hostap/src/rsn_supp/wpa.c:3684,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:3685,1
    - Dst: forced_memzero
      Src: /src/hostap/src/rsn_supp/wpa.c:3689,1
    - Dst: wpa_use_aes_key_wrap
      Src: /src/hostap/src/rsn_supp/wpa.c:3693,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:3696,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:3700,1
    - Dst: os_malloc
      Src: /src/hostap/src/rsn_supp/wpa.c:3706,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:3708,1
    - Dst: os_memset
      Src: /src/hostap/src/rsn_supp/wpa.c:3713,1
    - Dst: aes_unwrap
      Src: /src/hostap/src/rsn_supp/wpa.c:3715,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:3718,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/rsn_supp/wpa.c:3722,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:3723,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:3731,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/rsn_supp/wpa.c:3732,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/rsn_supp/wpa.c:3733,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:3735,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/rsn_supp/wpa.c:3739,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 6
    argNames:
    - sm
    - key
    - mic_len
    - ver
    - key_data
    - key_data_len
    argTypes:
    - struct wpa_sm*
    - struct wpa_eapol_key*
    - size_t
    - u16
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3742
      start: 3656
    functionDepth: 1
    functionLinenumber: 3656
    functionLinenumberEnd: 3742
    functionName: wpa_supplicant_decrypt_key_data
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_hexdump_key
    - wpa_use_aes_key_wrap
    - wpa_hexdump
    - wpa_msg
    - aes_unwrap
    - forced_memzero
    - os_malloc
    - WPA_PUT_BE16
    - rc4_skip
    - bin_clear_free
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_decrypt_key_data(struct wpa_sm *sm,\n\t\t\t\t\t
      \  struct wpa_eapol_key *key,\n\t\t\t\t\t   size_t mic_len, u16 ver,\n\t\t\t\t\t
      \  u8 *key_data, size_t *key_data_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:3752,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3756
      start: 3749
    functionDepth: 1
    functionLinenumber: 3749
    functionLinenumberEnd: 3756
    functionName: wpa_sm_aborted_cached
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 5
    functionsReached:
    - wpa_dbg
    linkageType: ''
    returnType: void
    signature: void wpa_sm_aborted_cached(struct wpa_sm *sm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:3762,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3766
      start: 3759
    functionDepth: 1
    functionLinenumber: 3759
    functionLinenumberEnd: 3766
    functionName: wpa_sm_aborted_external_cached
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 1
    functionsReached:
    - wpa_dbg
    linkageType: ''
    returnType: void
    signature: void wpa_sm_aborted_external_cached(struct wpa_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/rsn_supp/wpa.c:3775,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:3777,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:3778,1
    - Dst: BIT
      Src: /src/hostap/src/rsn_supp/wpa.c:3783,1
    - Dst: BIT
      Src: /src/hostap/src/rsn_supp/wpa.c:3783,1
    - Dst: BIT
      Src: /src/hostap/src/rsn_supp/wpa.c:3783,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:3792,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/rsn_supp/wpa.c:3794,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:3795,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:3797,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:3798,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:3799,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:3800,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:3801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 5
    argNames:
    - sm
    - key
    - key_data_len
    - mic
    - mic_len
    argTypes:
    - struct wpa_sm*
    - struct wpa_eapol_key*
    - unsigned int
    - u8*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3803
      start: 3769
    functionDepth: 1
    functionLinenumber: 3769
    functionLinenumberEnd: 3803
    functionName: wpa_eapol_key_dump
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - WPA_GET_BE16
    - BIT
    - wpa_hexdump
    - wpa_dbg
    linkageType: ''
    returnType: void
    signature: "void wpa_eapol_key_dump(struct wpa_sm *sm,\n\t\t\t       const struct
      wpa_eapol_key *key,\n\t\t\t       unsigned int key_data_len,\n\t\t\t       const
      u8 *mic, unsigned int mic_len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:3818,1
    - Dst: os_malloc
      Src: /src/hostap/src/rsn_supp/wpa.c:3834,1
    - Dst: aes_siv_decrypt
      Src: /src/hostap/src/rsn_supp/wpa.c:3842,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:3844,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/rsn_supp/wpa.c:3845,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/rsn_supp/wpa.c:3851,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:3855,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/rsn_supp/wpa.c:3857,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/rsn_supp/wpa.c:3858,1
    - Dst: wpa_sm_tptk_to_ptk
      Src: /src/hostap/src/rsn_supp/wpa.c:3861,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:3863,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 4
    argNames:
    - sm
    - buf
    - buf_len
    - key_data_len
    argTypes:
    - struct wpa_sm*
    - u8*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3868
      start: 3807
    functionDepth: 3
    functionLinenumber: 3807
    functionLinenumberEnd: 3868
    functionName: wpa_supp_aead_decrypt
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - wpa_sm_tptk_to_ptk
    - wpa_printf
    - wpa_hexdump_key
    - os_memcpy
    - os_malloc
    - WPA_PUT_BE16
    - aes_siv_decrypt
    - bin_clear_free
    linkageType: ''
    returnType: int
    signature: "int wpa_supp_aead_decrypt(struct wpa_sm *sm, u8 *buf, size_t buf_len,\n\t\t\t\t
      size_t *key_data_len)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/rsn_supp/wpa.c:3880,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:3883,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:3891,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:3899,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:3908,1
    - Dst: wpa_supplicant_verify_eapol_key_mic
      Src: /src/hostap/src/rsn_supp/wpa.c:3915,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:3920,1
    - Dst: wpa_supplicant_process_3_of_4_wpa
      Src: /src/hostap/src/rsn_supp/wpa.c:3927,1
    - Dst: wpa_supplicant_process_1_of_4_wpa
      Src: /src/hostap/src/rsn_supp/wpa.c:3932,1
    - Dst: wpa_supplicant_process_1_of_2_wpa
      Src: /src/hostap/src/rsn_supp/wpa.c:3940,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:3945,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 8
    argNames:
    - sm
    - src_addr
    - key
    - encrypted
    - tmp
    - data_len
    - key_data
    - key_data_len
    argTypes:
    - struct wpa_sm*
    - u8*
    - struct wpa_eapol_key*
    - enum frame_encryption
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3951
      start: 3872
    functionDepth: 6
    functionLinenumber: 3872
    functionLinenumberEnd: 3951
    functionName: wpa_sm_rx_eapol_wpa
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_process_3_of_4_wpa
    - WPA_GET_BE16
    - wpa_supplicant_process_1_of_4_wpa
    - wpa_msg
    - wpa_supplicant_process_1_of_2_wpa
    - wpa_supplicant_verify_eapol_key_mic
    linkageType: ''
    returnType: int
    signature: "int wpa_sm_rx_eapol_wpa(struct wpa_sm *sm, const u8 *src_addr,\n\t\t\t
      \      struct wpa_eapol_key *key,\n\t\t\t       enum frame_encryption encrypted,\n\t\t\t
      \      const u8 *tmp, size_t data_len,\n\t\t\t       u8 *key_data, size_t key_data_len)"
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: wpa_mic_len
      Src: /src/hostap/src/rsn_supp/wpa.c:3991,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:3995,1
    - Dst: be_to_host16
      Src: /src/hostap/src/rsn_supp/wpa.c:4004,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:4006,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:4014,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:4020,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:4022,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:4030,1
    - Dst: os_memdup
      Src: /src/hostap/src/rsn_supp/wpa.c:4039,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:4048,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/rsn_supp/wpa.c:4055,1
    - Dst: wpa_eapol_key_dump
      Src: /src/hostap/src/rsn_supp/wpa.c:4056,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:4059,1
    - Dst: os_memcmp
      Src: /src/hostap/src/rsn_supp/wpa.c:4067,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:4069,1
    - Dst: eapol_sm_notify_lower_layer_success
      Src: /src/hostap/src/rsn_supp/wpa.c:4075,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/rsn_supp/wpa.c:4077,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:4080,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:4086,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:4092,1
    - Dst: wpa_sm_rx_eapol_wpa
      Src: /src/hostap/src/rsn_supp/wpa.c:4098,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:4105,1
    - Dst: wpa_use_akm_defined
      Src: /src/hostap/src/rsn_supp/wpa.c:4114,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:4115,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:4123,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:4132,1
    - Dst: wpa_use_akm_defined
      Src: /src/hostap/src/rsn_supp/wpa.c:4138,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:4140,1
    - Dst: wpa_key_mgmt_ft
      Src: /src/hostap/src/rsn_supp/wpa.c:4147,1
    - Dst: wpa_use_akm_defined
      Src: /src/hostap/src/rsn_supp/wpa.c:4150,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:4151,1
    - Dst: wpa_key_mgmt_sha256
      Src: /src/hostap/src/rsn_supp/wpa.c:4157,1
    - Dst: wpa_use_akm_defined
      Src: /src/hostap/src/rsn_supp/wpa.c:4159,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:4160,1
    - Dst: wpa_use_akm_defined
      Src: /src/hostap/src/rsn_supp/wpa.c:4165,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:4167,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:4170,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:4173,1
    - Dst: wpa_use_akm_defined
      Src: /src/hostap/src/rsn_supp/wpa.c:4178,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:4180,1
    - Dst: wpa_supplicant_verify_eapol_key_mic
      Src: /src/hostap/src/rsn_supp/wpa.c:4189,1
    - Dst: wpa_supp_aead_decrypt
      Src: /src/hostap/src/rsn_supp/wpa.c:4194,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:4208,1
    - Dst: wpa_supplicant_decrypt_key_data
      Src: /src/hostap/src/rsn_supp/wpa.c:4212,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:4220,1
    - Dst: wpa_supplicant_process_3_of_4
      Src: /src/hostap/src/rsn_supp/wpa.c:4227,1
    - Dst: wpa_supplicant_process_1_of_4
      Src: /src/hostap/src/rsn_supp/wpa.c:4231,1
    - Dst: wpa_supplicant_process_mlo_1_of_2
      Src: /src/hostap/src/rsn_supp/wpa.c:4241,1
    - Dst: wpa_supplicant_process_1_of_2
      Src: /src/hostap/src/rsn_supp/wpa.c:4246,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:4251,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/rsn_supp/wpa.c:4259,1
    CyclomaticComplexity: 85
    EdgeCount: 85
    ICount: 180
    argCount: 5
    argNames:
    - sm
    - src_addr
    - buf
    - len
    - encrypted
    argTypes:
    - struct wpa_sm*
    - u8*
    - u8*
    - size_t
    - enum frame_encryption
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4261
      start: 3972
    functionDepth: 7
    functionLinenumber: 3972
    functionLinenumberEnd: 4261
    functionName: wpa_sm_rx_eapol
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 4
    functionsReached:
    - wpa_supplicant_process_mlo_1_of_2
    - wpa_hexdump
    - wpa_use_akm_defined
    - wpa_supplicant_verify_eapol_key_mic
    - be_to_host16
    - WPA_GET_BE16
    - wpa_supplicant_process_3_of_4
    - os_memdup
    - wpa_key_mgmt_ft
    - wpa_supplicant_process_1_of_4
    - os_memcmp
    - eapol_sm_notify_lower_layer_success
    - wpa_supplicant_decrypt_key_data
    - wpa_sm_rx_eapol_wpa
    - wpa_dbg
    - wpa_supplicant_process_1_of_2
    - wpa_msg
    - wpa_key_mgmt_sha256
    - wpa_eapol_key_dump
    - wpa_supp_aead_decrypt
    - wpa_mic_len
    - bin_clear_free
    linkageType: ''
    returnType: int
    signature: "int wpa_sm_rx_eapol(struct wpa_sm *sm, const u8 *src_addr,\n\t\t    const
      u8 *buf, size_t len, enum frame_encryption encrypted)"
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4301
      start: 4265
    functionDepth: 0
    functionLinenumber: 4265
    functionLinenumberEnd: 4301
    functionName: wpa_key_mgmt_suite
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: u32 wpa_key_mgmt_suite(struct wpa_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4307
      start: 4305
    functionDepth: 0
    functionLinenumber: 4305
    functionLinenumberEnd: 4307
    functionName: RSN_SUITE_ARG
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RSN_SUITE_ARG(s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/rsn_supp/wpa.c:4325,1
    - Dst: wpa_key_mgmt_wpa_psk
      Src: /src/hostap/src/rsn_supp/wpa.c:4330,1
    - Dst: wpa_key_mgmt_wpa_ieee8021x
      Src: /src/hostap/src/rsn_supp/wpa.c:4331,1
    - Dst: os_snprintf
      Src: /src/hostap/src/rsn_supp/wpa.c:4334,1
    - Dst: wpa_cipher_key_len
      Src: /src/hostap/src/rsn_supp/wpa.c:4349,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/rsn_supp/wpa.c:4353,1
    - Dst: os_snprintf
      Src: /src/hostap/src/rsn_supp/wpa.c:4357,1
    - Dst: RSN_SUITE_ARG
      Src: /src/hostap/src/rsn_supp/wpa.c:4368,1
    - Dst: wpa_key_mgmt_suite
      Src: /src/hostap/src/rsn_supp/wpa.c:4368,1
    - Dst: RSN_SUITE_ARG
      Src: /src/hostap/src/rsn_supp/wpa.c:4369,1
    - Dst: wpa_cipher_to_suite
      Src: /src/hostap/src/rsn_supp/wpa.c:4369,1
    - Dst: RSN_SUITE_ARG
      Src: /src/hostap/src/rsn_supp/wpa.c:4371,1
    - Dst: wpa_cipher_to_suite
      Src: /src/hostap/src/rsn_supp/wpa.c:4371,1
    - Dst: RSN_SUITE_ARG
      Src: /src/hostap/src/rsn_supp/wpa.c:4374,1
    - Dst: wpa_key_mgmt_suite
      Src: /src/hostap/src/rsn_supp/wpa.c:4374,1
    - Dst: RSN_SUITE_ARG
      Src: /src/hostap/src/rsn_supp/wpa.c:4375,1
    - Dst: wpa_cipher_to_suite
      Src: /src/hostap/src/rsn_supp/wpa.c:4375,1
    - Dst: RSN_SUITE_ARG
      Src: /src/hostap/src/rsn_supp/wpa.c:4377,1
    - Dst: wpa_cipher_to_suite
      Src: /src/hostap/src/rsn_supp/wpa.c:4377,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/rsn_supp/wpa.c:4380,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - sm
    - buf
    - buflen
    argTypes:
    - struct wpa_sm*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4384
      start: 4317
    functionDepth: 1
    functionLinenumber: 4317
    functionLinenumberEnd: 4384
    functionName: wpa_sm_get_mib
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - wpa_snprintf_hex
    - wpa_cipher_key_len
    - RSN_SUITE_ARG
    - os_snprintf
    - wpa_key_mgmt_suite
    - wpa_key_mgmt_wpa_psk
    - wpa_key_mgmt_wpa_ieee8021x
    - wpa_cipher_to_suite
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: int wpa_sm_get_mib(struct wpa_sm *sm, char *buf, size_t buflen)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:4394,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/wpa.c:4395,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:4398,1
    - Dst: pmksa_cache_clear_current
      Src: /src/hostap/src/rsn_supp/wpa.c:4401,1
    - Dst: os_memcmp
      Src: /src/hostap/src/rsn_supp/wpa.c:4415,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:4416,1
    - Dst: pmksa_cache_clear_current
      Src: /src/hostap/src/rsn_supp/wpa.c:4418,1
    - Dst: os_memset
      Src: /src/hostap/src/rsn_supp/wpa.c:4424,1
    - Dst: wpa_sm_deauthenticate
      Src: /src/hostap/src/rsn_supp/wpa.c:4425,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - entry
    - ctx
    - reason
    argTypes:
    - struct rsn_pmksa_cache_entry*
    - void*
    - enum pmksa_free_reason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4427
      start: 4388
    functionDepth: 2
    functionLinenumber: 4388
    functionLinenumberEnd: 4427
    functionName: wpa_sm_pmksa_free_cb
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - wpa_sm_deauthenticate
    - MAC2STR
    - os_memcmp
    - wpa_dbg
    - pmksa_cache_clear_current
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void wpa_sm_pmksa_free_cb(struct rsn_pmksa_cache_entry *entry,\n\t\t\t\t
      void *ctx, enum pmksa_free_reason reason)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - entry
    - ctx
    argTypes:
    - struct rsn_pmksa_cache_entry*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4436
      start: 4430
    functionDepth: 0
    functionLinenumber: 4430
    functionLinenumberEnd: 4436
    functionName: wpa_sm_pmksa_is_current_cb
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool wpa_sm_pmksa_is_current_cb(struct rsn_pmksa_cache_entry *entry,\n\t\t\t\t
      \      void *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_sm_notify_pmksa_cache_entry
      Src: /src/hostap/src/rsn_supp/wpa.c:4444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - entry
    - ctx
    argTypes:
    - struct rsn_pmksa_cache_entry*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4445
      start: 4439
    functionDepth: 1
    functionLinenumber: 4439
    functionLinenumberEnd: 4445
    functionName: wpa_sm_pmksa_notify_cb
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - wpa_sm_notify_pmksa_cache_entry
    linkageType: ''
    returnType: void
    signature: "void wpa_sm_pmksa_notify_cb(struct rsn_pmksa_cache_entry *entry,\n\t\t\t\t
      \  void *ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/rsn_supp/wpa.c:4460,1
    - Dst: dl_list_init
      Src: /src/hostap/src/rsn_supp/wpa.c:4463,1
    - Dst: pmksa_cache_init
      Src: /src/hostap/src/rsn_supp/wpa.c:4471,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:4475,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/wpa.c:4477,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct wpa_sm_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4482
      start: 4456
    functionDepth: 1
    functionLinenumber: 4456
    functionLinenumberEnd: 4482
    functionName: wpa_sm_init
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 6
    functionsReached:
    - pmksa_cache_init
    - wpa_msg
    - os_zalloc
    - dl_list_init
    - os_free
    linkageType: ''
    returnType: struct wpa_sm
    signature: struct wpa_sm * wpa_sm_init(struct wpa_sm_ctx *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pmksa_cache_deinit
      Src: /src/hostap/src/rsn_supp/wpa.c:4495,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/rsn_supp/wpa.c:4496,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/rsn_supp/wpa.c:4497,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/wpa.c:4498,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/wpa.c:4499,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/wpa.c:4500,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/wpa.c:4501,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/wpa.c:4502,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/wpa.c:4503,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/wpa.c:4504,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/wpa.c:4505,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/wpa.c:4507,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/wpa.c:4508,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/wpa.c:4509,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/wpa.c:4510,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/wpa.c:4511,1
    - Dst: wpa_sm_drop_sa
      Src: /src/hostap/src/rsn_supp/wpa.c:4513,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/wpa.c:4514,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/wpa.c:4516,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/rsn_supp/wpa.c:4519,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/rsn_supp/wpa.c:4520,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/rsn_supp/wpa.c:4521,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/rsn_supp/wpa.c:4522,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/rsn_supp/wpa.c:4523,1
    - Dst: crypto_ecdh_deinit
      Src: /src/hostap/src/rsn_supp/wpa.c:4526,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/rsn_supp/wpa.c:4529,1
    - Dst: crypto_ecdh_deinit
      Src: /src/hostap/src/rsn_supp/wpa.c:4532,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/rsn_supp/wpa.c:4535,1
    - Dst: os_memset
      Src: /src/hostap/src/rsn_supp/wpa.c:4537,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/wpa.c:4538,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 35
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4539
      start: 4489
    functionDepth: 1
    functionLinenumber: 4489
    functionLinenumberEnd: 4539
    functionName: wpa_sm_deinit
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 6
    functionsReached:
    - wpa_sm_drop_sa
    - crypto_ecdh_deinit
    - eloop_cancel_timeout
    - wpabuf_free
    - pmksa_cache_deinit
    - wpabuf_clear_free
    - os_free
    - os_memset
    linkageType: ''
    returnType: void
    signature: void wpa_sm_deinit(struct wpa_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/rsn_supp/wpa.c:4547,1
    - Dst: os_memset
      Src: /src/hostap/src/rsn_supp/wpa.c:4549,1
    - Dst: os_memset
      Src: /src/hostap/src/rsn_supp/wpa.c:4550,1
    - Dst: os_memset
      Src: /src/hostap/src/rsn_supp/wpa.c:4551,1
    - Dst: os_memset
      Src: /src/hostap/src/rsn_supp/wpa.c:4552,1
    - Dst: os_memset
      Src: /src/hostap/src/rsn_supp/wpa.c:4553,1
    - Dst: os_memset
      Src: /src/hostap/src/rsn_supp/wpa.c:4554,1
    - Dst: os_memset
      Src: /src/hostap/src/rsn_supp/wpa.c:4555,1
    - Dst: os_memset
      Src: /src/hostap/src/rsn_supp/wpa.c:4558,1
    - Dst: os_memset
      Src: /src/hostap/src/rsn_supp/wpa.c:4560,1
    - Dst: os_memset
      Src: /src/hostap/src/rsn_supp/wpa.c:4562,1
    - Dst: os_memset
      Src: /src/hostap/src/rsn_supp/wpa.c:4564,1
    - Dst: os_memset
      Src: /src/hostap/src/rsn_supp/wpa.c:4566,1
    - Dst: os_memset
      Src: /src/hostap/src/rsn_supp/wpa.c:4568,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4571
      start: 4542
    functionDepth: 0
    functionLinenumber: 4542
    functionLinenumberEnd: 4571
    functionName: wpa_sm_clear_ptk
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - os_memset
    linkageType: ''
    returnType: void
    signature: void wpa_sm_clear_ptk(struct wpa_sm *sm)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:4589,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:4591,1
    - Dst: os_memset
      Src: /src/hostap/src/rsn_supp/wpa.c:4592,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/rsn_supp/wpa.c:4595,1
    - Dst: rsn_preauth_deinit
      Src: /src/hostap/src/rsn_supp/wpa.c:4596,1
    - Dst: wpa_ft_is_completed
      Src: /src/hostap/src/rsn_supp/wpa.c:4599,1
    - Dst: eapol_sm_notify_portValid
      Src: /src/hostap/src/rsn_supp/wpa.c:4604,1
    - Dst: wpa_supplicant_key_neg_complete
      Src: /src/hostap/src/rsn_supp/wpa.c:4605,1
    - Dst: wpa_ft_prepare_auth_request
      Src: /src/hostap/src/rsn_supp/wpa.c:4608,1
    - Dst: wpa_supplicant_key_neg_complete
      Src: /src/hostap/src/rsn_supp/wpa.c:4622,1
    - Dst: wpa_supplicant_key_neg_complete
      Src: /src/hostap/src/rsn_supp/wpa.c:4632,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:4642,1
    - Dst: wpa_sm_clear_ptk
      Src: /src/hostap/src/rsn_supp/wpa.c:4643,1
    - Dst: wpa_tdls_assoc
      Src: /src/hostap/src/rsn_supp/wpa.c:4648,1
    - Dst: os_memset
      Src: /src/hostap/src/rsn_supp/wpa.c:4652,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 2
    argNames:
    - sm
    - bssid
    argTypes:
    - struct wpa_sm*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4656
      start: 4582
    functionDepth: 5
    functionLinenumber: 4582
    functionLinenumberEnd: 4656
    functionName: wpa_sm_notify_assoc
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 3
    functionsReached:
    - os_memcpy
    - wpa_supplicant_key_neg_complete
    - wpa_ft_is_completed
    - ether_addr_equal
    - eapol_sm_notify_portValid
    - wpa_tdls_assoc
    - wpa_sm_clear_ptk
    - wpa_dbg
    - rsn_preauth_deinit
    - wpa_ft_prepare_auth_request
    - os_memset
    linkageType: ''
    returnType: void
    signature: void wpa_sm_notify_assoc(struct wpa_sm *sm, const u8 *bssid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/rsn_supp/wpa.c:4668,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/rsn_supp/wpa.c:4669,1
    - Dst: rsn_preauth_deinit
      Src: /src/hostap/src/rsn_supp/wpa.c:4670,1
    - Dst: pmksa_cache_clear_current
      Src: /src/hostap/src/rsn_supp/wpa.c:4671,1
    - Dst: wpa_sm_get_state
      Src: /src/hostap/src/rsn_supp/wpa.c:4672,1
    - Dst: wpa_tdls_disassoc
      Src: /src/hostap/src/rsn_supp/wpa.c:4675,1
    - Dst: wpa_sm_drop_sa
      Src: /src/hostap/src/rsn_supp/wpa.c:4690,1
    - Dst: os_memset
      Src: /src/hostap/src/rsn_supp/wpa.c:4694,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4696
      start: 4666
    functionDepth: 5
    functionLinenumber: 4666
    functionLinenumberEnd: 4696
    functionName: wpa_sm_notify_disassoc
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 2
    functionsReached:
    - wpa_sm_drop_sa
    - wpa_sm_get_state
    - eloop_cancel_timeout
    - wpa_tdls_disassoc
    - rsn_preauth_deinit
    - pmksa_cache_clear_current
    - os_memset
    linkageType: ''
    returnType: void
    signature: void wpa_sm_notify_disassoc(struct wpa_sm *sm)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/rsn_supp/wpa.c:4715,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:4718,1
    - Dst: wpa_key_mgmt_sae_ext_key
      Src: /src/hostap/src/rsn_supp/wpa.c:4721,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:4734,1
    - Dst: pmksa_cache_add
      Src: /src/hostap/src/rsn_supp/wpa.c:4738,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 5
    argNames:
    - sm
    - pmk
    - pmk_len
    - pmkid
    - bssid
    argTypes:
    - struct wpa_sm*
    - u8*
    - size_t
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4744
      start: 4709
    functionDepth: 1
    functionLinenumber: 4709
    functionLinenumberEnd: 4744
    functionName: wpa_sm_set_pmk
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 6
    functionsReached:
    - pmksa_cache_add
    - wpa_hexdump_key
    - os_memcpy
    - wpa_key_mgmt_sae_ext_key
    linkageType: ''
    returnType: void
    signature: "void wpa_sm_set_pmk(struct wpa_sm *sm, const u8 *pmk, size_t pmk_len,\n\t\t
      \   const u8 *pmkid, const u8 *bssid)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/rsn_supp/wpa.c:4760,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:4764,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:4766,1
    - Dst: os_memset
      Src: /src/hostap/src/rsn_supp/wpa.c:4768,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4770
      start: 4754
    functionDepth: 0
    functionLinenumber: 4754
    functionLinenumberEnd: 4770
    functionName: wpa_sm_set_pmk_from_pmksa
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 4
    functionsReached:
    - wpa_hexdump_key
    - wpa_printf
    - os_memcpy
    - os_memset
    linkageType: ''
    returnType: void
    signature: void wpa_sm_set_pmk_from_pmksa(struct wpa_sm *sm)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - sm
    - fast_reauth
    argTypes:
    - struct wpa_sm*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4782
      start: 4778
    functionDepth: 0
    functionLinenumber: 4778
    functionLinenumberEnd: 4782
    functionName: wpa_sm_set_fast_reauth
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wpa_sm_set_fast_reauth(struct wpa_sm *sm, int fast_reauth)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eapol_sm_register_scard_ctx
      Src: /src/hostap/src/rsn_supp/wpa.c:4796,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - sm
    - scard_ctx
    argTypes:
    - struct wpa_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4797
      start: 4790
    functionDepth: 0
    functionLinenumber: 4790
    functionLinenumberEnd: 4797
    functionName: wpa_sm_set_scard_ctx
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 3
    functionsReached:
    - eapol_sm_register_scard_ctx
    linkageType: ''
    returnType: void
    signature: void wpa_sm_set_scard_ctx(struct wpa_sm *sm, void *scard_ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:4821,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:4833,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 40
    argCount: 2
    argNames:
    - sm
    - config
    argTypes:
    - struct wpa_sm*
    - struct rsn_supp_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4854
      start: 4809
    functionDepth: 0
    functionLinenumber: 4809
    functionLinenumberEnd: 4854
    functionName: wpa_sm_set_config
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 8
    functionsReached:
    - os_memcpy
    linkageType: ''
    returnType: void
    signature: void wpa_sm_set_config(struct wpa_sm *sm, struct rsn_supp_config *config)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:4863,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - sm
    - ssid
    - ssid_len
    argTypes:
    - struct wpa_sm*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4868
      start: 4857
    functionDepth: 0
    functionLinenumber: 4857
    functionLinenumberEnd: 4868
    functionName: wpa_sm_set_ssid
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    linkageType: ''
    returnType: void
    signature: void wpa_sm_set_ssid(struct wpa_sm *sm, const u8 *ssid, size_t ssid_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/rsn_supp/wpa.c:4876,1
    - Dst: os_memset
      Src: /src/hostap/src/rsn_supp/wpa.c:4878,1
    - Dst: os_memset
      Src: /src/hostap/src/rsn_supp/wpa.c:4880,1
    - Dst: os_memset
      Src: /src/hostap/src/rsn_supp/wpa.c:4882,1
    - Dst: os_memset
      Src: /src/hostap/src/rsn_supp/wpa.c:4884,1
    - Dst: os_memset
      Src: /src/hostap/src/rsn_supp/wpa.c:4886,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - sm
    - link_id
    argTypes:
    - struct wpa_sm*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4888
      start: 4871
    functionDepth: 0
    functionLinenumber: 4871
    functionLinenumberEnd: 4888
    functionName: wpa_sm_clear_mlo_group_keys
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - os_memset
    linkageType: ''
    returnType: void
    signature: void wpa_sm_clear_mlo_group_keys(struct wpa_sm *sm, int link_id)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:4899,1
    - Dst: BIT
      Src: /src/hostap/src/rsn_supp/wpa.c:4909,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:4912,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/wpa.c:4915,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:4919,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:4921,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/wpa.c:4927,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:4930,1
    - Dst: wpa_hexdump_link
      Src: /src/hostap/src/rsn_supp/wpa.c:4936,1
    - Dst: os_memdup
      Src: /src/hostap/src/rsn_supp/wpa.c:4938,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/wpa.c:4948,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:4951,1
    - Dst: wpa_hexdump_link
      Src: /src/hostap/src/rsn_supp/wpa.c:4957,1
    - Dst: os_memdup
      Src: /src/hostap/src/rsn_supp/wpa.c:4959,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/wpa.c:4969,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:4972,1
    - Dst: wpa_hexdump_link
      Src: /src/hostap/src/rsn_supp/wpa.c:4978,1
    - Dst: os_memdup
      Src: /src/hostap/src/rsn_supp/wpa.c:4980,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/wpa.c:4990,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:4993,1
    - Dst: wpa_hexdump_link
      Src: /src/hostap/src/rsn_supp/wpa.c:4999,1
    - Dst: os_memdup
      Src: /src/hostap/src/rsn_supp/wpa.c:5001,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/wpa.c:5011,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:5014,1
    - Dst: wpa_hexdump_link
      Src: /src/hostap/src/rsn_supp/wpa.c:5020,1
    - Dst: os_memdup
      Src: /src/hostap/src/rsn_supp/wpa.c:5022,1
    - Dst: BIT
      Src: /src/hostap/src/rsn_supp/wpa.c:5030,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:5031,1
    - Dst: wpa_sm_clear_mlo_group_keys
      Src: /src/hostap/src/rsn_supp/wpa.c:5034,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 108
    argCount: 2
    argNames:
    - sm
    - mlo
    argTypes:
    - struct wpa_sm*
    - struct wpa_sm_mlo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5039
      start: 4891
    functionDepth: 2
    functionLinenumber: 4891
    functionLinenumberEnd: 5039
    functionName: wpa_sm_set_mlo_params
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 2
    functionsReached:
    - os_memcpy
    - wpa_printf
    - os_memdup
    - wpa_sm_clear_mlo_group_keys
    - MAC2STR
    - BIT
    - wpa_hexdump_link
    - wpa_dbg
    - os_free
    linkageType: ''
    returnType: int
    signature: int wpa_sm_set_mlo_params(struct wpa_sm *sm, const struct wpa_sm_mlo
      *mlo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:5050,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - sm
    - addr
    argTypes:
    - struct wpa_sm*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5051
      start: 5047
    functionDepth: 0
    functionLinenumber: 5047
    functionLinenumberEnd: 5051
    functionName: wpa_sm_set_own_addr
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 5
    functionsReached:
    - os_memcpy
    linkageType: ''
    returnType: void
    signature: void wpa_sm_set_own_addr(struct wpa_sm *sm, const u8 *addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - sm
    - ifname
    - bridge_ifname
    argTypes:
    - struct wpa_sm*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5067
      start: 5060
    functionDepth: 0
    functionLinenumber: 5060
    functionLinenumberEnd: 5067
    functionName: wpa_sm_set_ifname
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpa_sm_set_ifname(struct wpa_sm *sm, const char *ifname,\n\t\t
      \      const char *bridge_ifname)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - sm
    - eapol
    argTypes:
    - struct wpa_sm*
    - struct eapol_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5079
      start: 5075
    functionDepth: 0
    functionLinenumber: 5075
    functionLinenumberEnd: 5079
    functionName: wpa_sm_set_eapol
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wpa_sm_set_eapol(struct wpa_sm *sm, struct eapol_sm *eapol)
  - BBCount: 43
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 125
    argCount: 3
    argNames:
    - sm
    - param
    - value
    argTypes:
    - struct wpa_sm*
    - enum wpa_sm_conf_params
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5227
      start: 5089
    functionDepth: 0
    functionLinenumber: 5089
    functionLinenumberEnd: 5227
    functionName: wpa_sm_set_param
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int wpa_sm_set_param(struct wpa_sm *sm, enum wpa_sm_conf_params param,\n\t\t
      \    unsigned int value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - sm
    - len
    argTypes:
    - struct wpa_sm*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5244
      start: 5230
    functionDepth: 0
    functionLinenumber: 5230
    functionLinenumberEnd: 5244
    functionName: wpa_sm_get_ap_rsne
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 * wpa_sm_get_ap_rsne(struct wpa_sm *sm, size_t *len)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - sm
    - len
    argTypes:
    - struct wpa_sm*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5258
      start: 5247
    functionDepth: 0
    functionLinenumber: 5247
    functionLinenumberEnd: 5258
    functionName: wpa_sm_get_ap_rsnxe
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 * wpa_sm_get_ap_rsnxe(struct wpa_sm *sm, size_t *len)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_sm_get_ap_rsne
      Src: /src/hostap/src/rsn_supp/wpa.c:5281,1
    - Dst: os_snprintf
      Src: /src/hostap/src/rsn_supp/wpa.c:5283,1
    - Dst: wpa_cipher_txt
      Src: /src/hostap/src/rsn_supp/wpa.c:5287,1
    - Dst: wpa_cipher_txt
      Src: /src/hostap/src/rsn_supp/wpa.c:5288,1
    - Dst: wpa_key_mgmt_txt
      Src: /src/hostap/src/rsn_supp/wpa.c:5289,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/rsn_supp/wpa.c:5290,1
    - Dst: os_snprintf
      Src: /src/hostap/src/rsn_supp/wpa.c:5296,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/rsn_supp/wpa.c:5297,1
    - Dst: wpa_parse_wpa_ie_rsn
      Src: /src/hostap/src/rsn_supp/wpa.c:5306,1
    - Dst: os_snprintf
      Src: /src/hostap/src/rsn_supp/wpa.c:5309,1
    - Dst: wpa_cipher_txt
      Src: /src/hostap/src/rsn_supp/wpa.c:5313,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/rsn_supp/wpa.c:5315,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 4
    argNames:
    - sm
    - buf
    - buflen
    - verbose
    argTypes:
    - struct wpa_sm*
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5322
      start: 5273
    functionDepth: 1
    functionLinenumber: 5273
    functionLinenumberEnd: 5322
    functionName: wpa_sm_get_status
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - wpa_parse_wpa_ie_rsn
    - os_snprintf
    - wpa_key_mgmt_txt
    - wpa_cipher_txt
    - wpa_sm_get_ap_rsne
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int wpa_sm_get_status(struct wpa_sm *sm, char *buf, size_t buflen,\n\t\t
      \     int verbose)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_sm_get_ap_rsne
      Src: /src/hostap/src/rsn_supp/wpa.c:5331,1
    - Dst: wpa_parse_wpa_ie_rsn
      Src: /src/hostap/src/rsn_supp/wpa.c:5336,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5341
      start: 5325
    functionDepth: 1
    functionLinenumber: 5325
    functionLinenumberEnd: 5341
    functionName: wpa_sm_pmf_enabled
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 9
    functionsReached:
    - wpa_sm_get_ap_rsne
    - wpa_parse_wpa_ie_rsn
    linkageType: ''
    returnType: int
    signature: int wpa_sm_pmf_enabled(struct wpa_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_sm_get_ap_rsne
      Src: /src/hostap/src/rsn_supp/wpa.c:5349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5352
      start: 5344
    functionDepth: 1
    functionLinenumber: 5344
    functionLinenumberEnd: 5352
    functionName: wpa_sm_rsn_overriding_supported
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 3
    functionsReached:
    - wpa_sm_get_ap_rsne
    linkageType: ''
    returnType: bool
    signature: bool wpa_sm_rsn_overriding_supported(struct wpa_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5358
      start: 5355
    functionDepth: 0
    functionLinenumber: 5355
    functionLinenumberEnd: 5358
    functionName: wpa_sm_ext_key_id
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpa_sm_ext_key_id(struct wpa_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5364
      start: 5361
    functionDepth: 0
    functionLinenumber: 5361
    functionLinenumberEnd: 5364
    functionName: wpa_sm_ext_key_id_active
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpa_sm_ext_key_id_active(struct wpa_sm *sm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_sm_get_ap_rsne
      Src: /src/hostap/src/rsn_supp/wpa.c:5373,1
    - Dst: wpa_parse_wpa_ie_rsn
      Src: /src/hostap/src/rsn_supp/wpa.c:5377,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5379
      start: 5367
    functionDepth: 1
    functionLinenumber: 5367
    functionLinenumberEnd: 5379
    functionName: wpa_sm_ocv_enabled
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 12
    functionsReached:
    - wpa_sm_get_ap_rsne
    - wpa_parse_wpa_ie_rsn
    linkageType: ''
    returnType: int
    signature: int wpa_sm_ocv_enabled(struct wpa_sm *sm)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:5399,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/rsn_supp/wpa.c:5401,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:5403,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/rsn_supp/wpa.c:5403,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/rsn_supp/wpa.c:5404,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/rsn_supp/wpa.c:5405,1
    - Dst: wpa_gen_wpa_ie
      Src: /src/hostap/src/rsn_supp/wpa.c:5408,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:5413,1
    - Dst: os_memdup
      Src: /src/hostap/src/rsn_supp/wpa.c:5422,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:5428,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - sm
    - wpa_ie
    - wpa_ie_len
    argTypes:
    - struct wpa_sm*
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5434
      start: 5389
    functionDepth: 3
    functionLinenumber: 5389
    functionLinenumberEnd: 5434
    functionName: wpa_sm_set_assoc_wpa_ie_default
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 3
    functionsReached:
    - wpa_gen_wpa_ie
    - wpa_printf
    - os_memcpy
    - wpa_hexdump
    - wpabuf_len
    - os_memdup
    - wpabuf_head
    linkageType: ''
    returnType: int
    signature: "int wpa_sm_set_assoc_wpa_ie_default(struct wpa_sm *sm, u8 *wpa_ie,\n\t\t\t\t
      \   size_t *wpa_ie_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/wpa.c:5453,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:5455,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:5460,1
    - Dst: os_memdup
      Src: /src/hostap/src/rsn_supp/wpa.c:5461,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - sm
    - ie
    - len
    argTypes:
    - struct wpa_sm*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5469
      start: 5448
    functionDepth: 1
    functionLinenumber: 5448
    functionLinenumberEnd: 5469
    functionName: wpa_sm_set_assoc_wpa_ie
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 4
    functionsReached:
    - os_free
    - os_memdup
    - wpa_hexdump
    - wpa_dbg
    linkageType: ''
    returnType: int
    signature: int wpa_sm_set_assoc_wpa_ie(struct wpa_sm *sm, const u8 *ie, size_t
      len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/src/rsn_supp/wpa.c:5479,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/rsn_supp/wpa.c:5481,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/rsn_supp/wpa.c:5488,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/rsn_supp/wpa.c:5490,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - sm
    - data
    - mask
    argTypes:
    - struct wpa_sm*
    - struct wpabuf*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5499
      start: 5474
    functionDepth: 1
    functionLinenumber: 5474
    functionLinenumberEnd: 5499
    functionName: wpa_sm_set_test_rsnxe_data
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 2
    functionsReached:
    - wpabuf_len
    - wpabuf_free
    linkageType: ''
    returnType: int
    signature: "int wpa_sm_set_test_rsnxe_data(struct wpa_sm *sm, struct wpabuf *data,\n\t\t\t
      \      struct wpabuf *mask)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_head
      Src: /src/hostap/src/rsn_supp/wpa.c:5511,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/rsn_supp/wpa.c:5512,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/rsn_supp/wpa.c:5513,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:5515,1
    - Dst: os_memset
      Src: /src/hostap/src/rsn_supp/wpa.c:5521,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 4
    argNames:
    - sm
    - rsnxe
    - orig_len
    - max_len
    argTypes:
    - struct wpa_sm*
    - u8*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5537
      start: 5502
    functionDepth: 1
    functionLinenumber: 5502
    functionLinenumberEnd: 5537
    functionName: wpa_set_test_rsnxe_data
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - wpabuf_len
    - wpa_printf
    - os_memset
    - wpabuf_head
    linkageType: ''
    returnType: int
    signature: "int wpa_set_test_rsnxe_data(struct wpa_sm *sm, u8 *rsnxe,\n\t\t\t\t
      \  size_t orig_len, size_t max_len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_gen_rsnxe
      Src: /src/hostap/src/rsn_supp/wpa.c:5557,1
    - Dst: wpa_set_test_rsnxe_data
      Src: /src/hostap/src/rsn_supp/wpa.c:5561,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:5567,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:5570,1
    - Dst: os_memdup
      Src: /src/hostap/src/rsn_supp/wpa.c:5578,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - sm
    - rsnxe
    - rsnxe_len
    argTypes:
    - struct wpa_sm*
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5586
      start: 5549
    functionDepth: 2
    functionLinenumber: 5549
    functionLinenumberEnd: 5586
    functionName: wpa_sm_set_assoc_rsnxe_default
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - wpa_gen_rsnxe
    - os_memdup
    - wpa_set_test_rsnxe_data
    - wpa_hexdump
    linkageType: ''
    returnType: int
    signature: "int wpa_sm_set_assoc_rsnxe_default(struct wpa_sm *sm, u8 *rsnxe,\n\t\t\t\t
      \  size_t *rsnxe_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/wpa.c:5605,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:5607,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:5612,1
    - Dst: os_memdup
      Src: /src/hostap/src/rsn_supp/wpa.c:5613,1
    - Dst: ieee802_11_rsnx_capab
      Src: /src/hostap/src/rsn_supp/wpa.c:5621,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:5623,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - sm
    - ie
    - len
    argTypes:
    - struct wpa_sm*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5629
      start: 5600
    functionDepth: 1
    functionLinenumber: 5600
    functionLinenumberEnd: 5629
    functionName: wpa_sm_set_assoc_rsnxe
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 4
    functionsReached:
    - wpa_hexdump
    - os_memdup
    - ieee802_11_rsnx_capab
    - wpa_dbg
    - os_free
    linkageType: ''
    returnType: int
    signature: int wpa_sm_set_assoc_rsnxe(struct wpa_sm *sm, const u8 *ie, size_t
      len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/wpa.c:5647,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:5649,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:5654,1
    - Dst: os_memdup
      Src: /src/hostap/src/rsn_supp/wpa.c:5655,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - sm
    - ie
    - len
    argTypes:
    - struct wpa_sm*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5663
      start: 5642
    functionDepth: 1
    functionLinenumber: 5642
    functionLinenumberEnd: 5663
    functionName: wpa_sm_set_ap_wpa_ie
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 5
    functionsReached:
    - os_free
    - os_memdup
    - wpa_hexdump
    - wpa_dbg
    linkageType: ''
    returnType: int
    signature: int wpa_sm_set_ap_wpa_ie(struct wpa_sm *sm, const u8 *ie, size_t len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/wpa.c:5681,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:5683,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:5688,1
    - Dst: os_memdup
      Src: /src/hostap/src/rsn_supp/wpa.c:5689,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - sm
    - ie
    - len
    argTypes:
    - struct wpa_sm*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5697
      start: 5676
    functionDepth: 1
    functionLinenumber: 5676
    functionLinenumberEnd: 5697
    functionName: wpa_sm_set_ap_rsn_ie
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 6
    functionsReached:
    - os_free
    - os_memdup
    - wpa_hexdump
    - wpa_dbg
    linkageType: ''
    returnType: int
    signature: int wpa_sm_set_ap_rsn_ie(struct wpa_sm *sm, const u8 *ie, size_t len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/wpa.c:5715,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:5717,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:5721,1
    - Dst: os_memdup
      Src: /src/hostap/src/rsn_supp/wpa.c:5722,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - sm
    - ie
    - len
    argTypes:
    - struct wpa_sm*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5730
      start: 5710
    functionDepth: 1
    functionLinenumber: 5710
    functionLinenumberEnd: 5730
    functionName: wpa_sm_set_ap_rsnxe
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 5
    functionsReached:
    - os_free
    - os_memdup
    - wpa_hexdump
    - wpa_dbg
    linkageType: ''
    returnType: int
    signature: int wpa_sm_set_ap_rsnxe(struct wpa_sm *sm, const u8 *ie, size_t len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/wpa.c:5738,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:5740,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:5745,1
    - Dst: os_memdup
      Src: /src/hostap/src/rsn_supp/wpa.c:5747,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - sm
    - ie
    - len
    argTypes:
    - struct wpa_sm*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5755
      start: 5733
    functionDepth: 1
    functionLinenumber: 5733
    functionLinenumberEnd: 5755
    functionName: wpa_sm_set_ap_rsne_override
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 4
    functionsReached:
    - os_free
    - os_memdup
    - wpa_hexdump
    - wpa_dbg
    linkageType: ''
    returnType: int
    signature: int wpa_sm_set_ap_rsne_override(struct wpa_sm *sm, const u8 *ie, size_t
      len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/wpa.c:5763,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:5765,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:5770,1
    - Dst: os_memdup
      Src: /src/hostap/src/rsn_supp/wpa.c:5772,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - sm
    - ie
    - len
    argTypes:
    - struct wpa_sm*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5780
      start: 5758
    functionDepth: 1
    functionLinenumber: 5758
    functionLinenumberEnd: 5780
    functionName: wpa_sm_set_ap_rsne_override_2
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 4
    functionsReached:
    - os_free
    - os_memdup
    - wpa_hexdump
    - wpa_dbg
    linkageType: ''
    returnType: int
    signature: int wpa_sm_set_ap_rsne_override_2(struct wpa_sm *sm, const u8 *ie,
      size_t len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/wpa.c:5788,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:5790,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:5795,1
    - Dst: os_memdup
      Src: /src/hostap/src/rsn_supp/wpa.c:5797,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - sm
    - ie
    - len
    argTypes:
    - struct wpa_sm*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5805
      start: 5783
    functionDepth: 1
    functionLinenumber: 5783
    functionLinenumberEnd: 5805
    functionName: wpa_sm_set_ap_rsnxe_override
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 4
    functionsReached:
    - os_free
    - os_memdup
    - wpa_hexdump
    - wpa_dbg
    linkageType: ''
    returnType: int
    signature: int wpa_sm_set_ap_rsnxe_override(struct wpa_sm *sm, const u8 *ie, size_t
      len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:5823,1
    - Dst: wpa_parse_wpa_ie
      Src: /src/hostap/src/rsn_supp/wpa.c:5827,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - sm
    - data
    argTypes:
    - struct wpa_sm*
    - struct wpa_ie_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5830
      start: 5817
    functionDepth: 1
    functionLinenumber: 5817
    functionLinenumberEnd: 5830
    functionName: wpa_sm_parse_own_wpa_ie
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 2
    functionsReached:
    - wpa_parse_wpa_ie
    - wpa_dbg
    linkageType: ''
    returnType: int
    signature: int wpa_sm_parse_own_wpa_ie(struct wpa_sm *sm, struct wpa_ie_data *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pmksa_cache_list
      Src: /src/hostap/src/rsn_supp/wpa.c:5835,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sm
    - buf
    - len
    argTypes:
    - struct wpa_sm*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5836
      start: 5833
    functionDepth: 1
    functionLinenumber: 5833
    functionLinenumberEnd: 5836
    functionName: wpa_sm_pmksa_cache_list
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 1
    functionsReached:
    - pmksa_cache_list
    linkageType: ''
    returnType: int
    signature: int wpa_sm_pmksa_cache_list(struct wpa_sm *sm, char *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pmksa_cache_head
      Src: /src/hostap/src/rsn_supp/wpa.c:5841,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5842
      start: 5839
    functionDepth: 1
    functionLinenumber: 5839
    functionLinenumberEnd: 5842
    functionName: wpa_sm_pmksa_cache_head
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 1
    functionsReached:
    - pmksa_cache_head
    linkageType: ''
    returnType: struct rsn_pmksa_cache_entry
    signature: struct rsn_pmksa_cache_entry * wpa_sm_pmksa_cache_head(struct wpa_sm
      *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pmksa_cache_add_entry
      Src: /src/hostap/src/rsn_supp/wpa.c:5849,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - entry
    argTypes:
    - struct wpa_sm*
    - struct rsn_pmksa_cache_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5850
      start: 5845
    functionDepth: 1
    functionLinenumber: 5845
    functionLinenumberEnd: 5850
    functionName: wpa_sm_pmksa_cache_add_entry
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 5
    functionsReached:
    - pmksa_cache_add_entry
    linkageType: ''
    returnType: struct rsn_pmksa_cache_entry
    signature: "struct rsn_pmksa_cache_entry *\nwpa_sm_pmksa_cache_add_entry(struct
      wpa_sm *sm,\n\t\t\t     struct rsn_pmksa_cache_entry * entry)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pmksa_cache_add
      Src: /src/hostap/src/rsn_supp/wpa.c:5857,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - sm
    - pmk
    - pmk_len
    - pmkid
    - bssid
    - fils_cache_id
    argTypes:
    - struct wpa_sm*
    - u8*
    - size_t
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5860
      start: 5853
    functionDepth: 1
    functionLinenumber: 5853
    functionLinenumberEnd: 5860
    functionName: wpa_sm_pmksa_cache_add
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 1
    functionsReached:
    - pmksa_cache_add
    linkageType: ''
    returnType: void
    signature: "void wpa_sm_pmksa_cache_add(struct wpa_sm *sm, const u8 *pmk, size_t
      pmk_len,\n\t\t\t    const u8 *pmkid, const u8 *bssid,\n\t\t\t    const u8 *fils_cache_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pmksa_cache_get
      Src: /src/hostap/src/rsn_supp/wpa.c:5866,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - sm
    - bssid
    - own_addr
    - network_ctx
    argTypes:
    - struct wpa_sm*
    - u8*
    - u8*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5868
      start: 5863
    functionDepth: 1
    functionLinenumber: 5863
    functionLinenumberEnd: 5868
    functionName: wpa_sm_pmksa_exists
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 2
    functionsReached:
    - pmksa_cache_get
    linkageType: ''
    returnType: int
    signature: "int wpa_sm_pmksa_exists(struct wpa_sm *sm, const u8 *bssid, const
      u8 *own_addr,\n\t\t\tconst void *network_ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pmksa_cache_get
      Src: /src/hostap/src/rsn_supp/wpa.c:5877,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sm
    - aa
    - pmkid
    - network_ctx
    - akmp
    argTypes:
    - struct wpa_sm*
    - u8*
    - u8*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5879
      start: 5871
    functionDepth: 1
    functionLinenumber: 5871
    functionLinenumberEnd: 5879
    functionName: wpa_sm_pmksa_cache_get
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - pmksa_cache_get
    linkageType: ''
    returnType: struct rsn_pmksa_cache_entry
    signature: "struct rsn_pmksa_cache_entry * wpa_sm_pmksa_cache_get(struct wpa_sm
      *sm,\n\t\t\t\t\t\t      const u8 *aa,\n\t\t\t\t\t\t      const u8 *pmkid,\n\t\t\t\t\t\t
      \     const void *network_ctx,\n\t\t\t\t\t\t      int akmp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_sm_pmksa_cache_get
      Src: /src/hostap/src/rsn_supp/wpa.c:5887,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:5889,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/wpa.c:5890,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - sm
    - aa
    - pmk
    - pmk_len
    - pmkid
    argTypes:
    - struct wpa_sm*
    - u8*
    - u8**
    - size_t*
    - u8**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5898
      start: 5882
    functionDepth: 1
    functionLinenumber: 5882
    functionLinenumberEnd: 5898
    functionName: wpa_sm_pmksa_get_pmk
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 1
    functionsReached:
    - MAC2STR
    - wpa_printf
    - wpa_sm_pmksa_cache_get
    linkageType: ''
    returnType: int
    signature: "int wpa_sm_pmksa_get_pmk(struct wpa_sm *sm, const u8 *aa, const u8
      **pmk,\n\t\t\t size_t *pmk_len, const u8 **pmkid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pmksa_cache_remove
      Src: /src/hostap/src/rsn_supp/wpa.c:5905,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - sm
    - entry
    argTypes:
    - struct wpa_sm*
    - struct rsn_pmksa_cache_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5906
      start: 5901
    functionDepth: 1
    functionLinenumber: 5901
    functionLinenumberEnd: 5906
    functionName: wpa_sm_pmksa_cache_remove
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 1
    functionsReached:
    - pmksa_cache_remove
    linkageType: ''
    returnType: void
    signature: "void wpa_sm_pmksa_cache_remove(struct wpa_sm *sm,\n\t\t\t       struct
      rsn_pmksa_cache_entry *entry)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/src/rsn_supp/wpa.c:5911,1
    - Dst: wpa_sm_clear_ptk
      Src: /src/hostap/src/rsn_supp/wpa.c:5912,1
    - Dst: os_memset
      Src: /src/hostap/src/rsn_supp/wpa.c:5914,1
    - Dst: os_memset
      Src: /src/hostap/src/rsn_supp/wpa.c:5916,1
    - Dst: os_memset
      Src: /src/hostap/src/rsn_supp/wpa.c:5918,1
    - Dst: os_memset
      Src: /src/hostap/src/rsn_supp/wpa.c:5920,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/wpa.c:5923,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5928
      start: 5909
    functionDepth: 1
    functionLinenumber: 5909
    functionLinenumberEnd: 5928
    functionName: wpa_sm_drop_sa
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 3
    functionsReached:
    - os_free
    - os_memset
    - wpa_sm_clear_ptk
    - wpa_dbg
    linkageType: ''
    returnType: void
    signature: void wpa_sm_drop_sa(struct wpa_sm *sm)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_key_mgmt_ft
      Src: /src/hostap/src/rsn_supp/wpa.c:5936,1
    - Dst: os_memcmp
      Src: /src/hostap/src/rsn_supp/wpa.c:5937,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - sm
    - md
    argTypes:
    - struct wpa_sm*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5944
      start: 5932
    functionDepth: 1
    functionLinenumber: 5932
    functionLinenumberEnd: 5944
    functionName: wpa_sm_has_ft_keys
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 1
    functionsReached:
    - os_memcmp
    - wpa_key_mgmt_ft
    linkageType: ''
    returnType: bool
    signature: bool wpa_sm_has_ft_keys(struct wpa_sm *sm, const u8 *md)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5953
      start: 5948
    functionDepth: 0
    functionLinenumber: 5948
    functionLinenumberEnd: 5953
    functionName: wpa_sm_has_ptk_installed
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpa_sm_has_ptk_installed(struct wpa_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:5958,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - replay_ctr
    argTypes:
    - struct wpa_sm*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5959
      start: 5956
    functionDepth: 0
    functionLinenumber: 5956
    functionLinenumberEnd: 5959
    functionName: wpa_sm_update_replay_ctr
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    linkageType: ''
    returnType: void
    signature: void wpa_sm_update_replay_ctr(struct wpa_sm *sm, const u8 *replay_ctr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pmksa_cache_flush
      Src: /src/hostap/src/rsn_supp/wpa.c:5964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - network_ctx
    argTypes:
    - struct wpa_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5965
      start: 5962
    functionDepth: 1
    functionLinenumber: 5962
    functionLinenumberEnd: 5965
    functionName: wpa_sm_pmksa_cache_flush
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 11
    functionsReached:
    - pmksa_cache_flush
    linkageType: ''
    returnType: void
    signature: void wpa_sm_pmksa_cache_flush(struct wpa_sm *sm, void *network_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pmksa_cache_flush
      Src: /src/hostap/src/rsn_supp/wpa.c:5971,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sm
    - network_ctx
    - addr
    argTypes:
    - struct wpa_sm*
    - void*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5972
      start: 5968
    functionDepth: 1
    functionLinenumber: 5968
    functionLinenumberEnd: 5972
    functionName: wpa_sm_pmksa_cache_flush_addr
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 2
    functionsReached:
    - pmksa_cache_flush
    linkageType: ''
    returnType: void
    signature: "void wpa_sm_pmksa_cache_flush_addr(struct wpa_sm *sm, void *network_ctx,\n\t\t\t\t
      \  const u8 *addr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pmksa_cache_flush
      Src: /src/hostap/src/rsn_supp/wpa.c:5977,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - network_ctx
    argTypes:
    - struct wpa_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5978
      start: 5975
    functionDepth: 1
    functionLinenumber: 5975
    functionLinenumberEnd: 5978
    functionName: wpa_sm_external_pmksa_cache_flush
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 1
    functionsReached:
    - pmksa_cache_flush
    linkageType: ''
    returnType: void
    signature: void wpa_sm_external_pmksa_cache_flush(struct wpa_sm *sm, void *network_ctx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/rsn_supp/wpa.c:5991,1
    - Dst: wpa_cipher_key_len
      Src: /src/hostap/src/rsn_supp/wpa.c:5992,1
    - Dst: wpa_cipher_rsc_len
      Src: /src/hostap/src/rsn_supp/wpa.c:5993,1
    - Dst: wpa_cipher_to_alg
      Src: /src/hostap/src/rsn_supp/wpa.c:5994,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:5996,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/rsn_supp/wpa.c:6001,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:6004,1
    - Dst: wpa_supplicant_gtk_tx_bit_workaround
      Src: /src/hostap/src/rsn_supp/wpa.c:6009,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:6012,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/rsn_supp/wpa.c:6014,1
    - Dst: wpa_supplicant_install_gtk
      Src: /src/hostap/src/rsn_supp/wpa.c:6016,1
    - Dst: forced_memzero
      Src: /src/hostap/src/rsn_supp/wpa.c:6017,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:6018,1
    - Dst: forced_memzero
      Src: /src/hostap/src/rsn_supp/wpa.c:6022,1
    - Dst: wpa_supplicant_install_igtk
      Src: /src/hostap/src/rsn_supp/wpa.c:6027,1
    - Dst: wpa_supplicant_install_bigtk
      Src: /src/hostap/src/rsn_supp/wpa.c:6034,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:6037,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 3
    argNames:
    - sm
    - subelem_id
    - buf
    argTypes:
    - struct wpa_sm*
    - u8
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6042
      start: 5982
    functionDepth: 3
    functionLinenumber: 5982
    functionLinenumberEnd: 6042
    functionName: wpa_wnmsleep_install_key
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_hexdump_key
    - wpa_cipher_key_len
    - wpa_supplicant_install_bigtk
    - os_memset
    - wpa_supplicant_gtk_tx_bit_workaround
    - forced_memzero
    - WPA_GET_LE16
    - wpa_cipher_rsc_len
    - wpa_supplicant_install_igtk
    - wpa_supplicant_install_gtk
    - wpa_cipher_to_alg
    linkageType: ''
    returnType: int
    signature: int wpa_wnmsleep_install_key(struct wpa_sm *sm, u8 subelem_id, u8 *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/rsn_supp/wpa.c:6050,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:6052,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - sm
    - buf
    argTypes:
    - struct wpa_sm*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6054
      start: 6048
    functionDepth: 1
    functionLinenumber: 6048
    functionLinenumberEnd: 6054
    functionName: wpa_sm_get_p2p_ip_addr
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    - WPA_GET_BE32
    linkageType: ''
    returnType: int
    signature: int wpa_sm_get_p2p_ip_addr(struct wpa_sm *sm, u8 *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:6064,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:6067,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - sm
    - rx_replay_counter
    argTypes:
    - struct wpa_sm*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6068
      start: 6059
    functionDepth: 0
    functionLinenumber: 6059
    functionLinenumberEnd: 6068
    functionName: wpa_sm_set_rx_replay_ctr
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void wpa_sm_set_rx_replay_ctr(struct wpa_sm *sm, const u8 *rx_replay_counter)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:6076,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:6078,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:6081,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:6083,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:6087,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 6
    argNames:
    - sm
    - hash
    - ptk_kck
    - ptk_kck_len
    - ptk_kek
    - ptk_kek_len
    argTypes:
    - struct wpa_sm*
    - enum rsn_hash_alg
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6093
      start: 6071
    functionDepth: 0
    functionLinenumber: 6071
    functionLinenumberEnd: 6093
    functionName: wpa_sm_set_ptk_kck_kek
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 2
    functionsReached:
    - os_memcpy
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: "void wpa_sm_set_ptk_kck_kek(struct wpa_sm *sm, enum rsn_hash_alg hash,\n\t\t\t
      \   const u8 *ptk_kck, size_t ptk_kck_len,\n\t\t\t    const u8 *ptk_kek, size_t
      ptk_kek_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:6101,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:6103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - sm
    - ptk_tk
    - ptk_tk_len
    argTypes:
    - struct wpa_sm*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6105
      start: 6098
    functionDepth: 0
    functionLinenumber: 6098
    functionLinenumberEnd: 6105
    functionName: wpa_sm_set_ptk_tk
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void wpa_sm_set_ptk_tk(struct wpa_sm *sm, const u8 *ptk_tk, size_t
      ptk_tk_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/src/rsn_supp/wpa.c:6110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sm
    - buf
    argTypes:
    - struct wpa_sm*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6112
      start: 6108
    functionDepth: 1
    functionLinenumber: 6108
    functionLinenumberEnd: 6112
    functionName: wpa_sm_set_test_assoc_ie
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 2
    functionsReached:
    - wpabuf_free
    linkageType: ''
    returnType: void
    signature: void wpa_sm_set_test_assoc_ie(struct wpa_sm *sm, struct wpabuf *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/src/rsn_supp/wpa.c:6117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sm
    - buf
    argTypes:
    - struct wpa_sm*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6119
      start: 6115
    functionDepth: 1
    functionLinenumber: 6115
    functionLinenumberEnd: 6119
    functionName: wpa_sm_set_test_eapol_m2_elems
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 2
    functionsReached:
    - wpabuf_free
    linkageType: ''
    returnType: void
    signature: void wpa_sm_set_test_eapol_m2_elems(struct wpa_sm *sm, struct wpabuf
      *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/src/rsn_supp/wpa.c:6124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sm
    - buf
    argTypes:
    - struct wpa_sm*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6126
      start: 6122
    functionDepth: 1
    functionLinenumber: 6122
    functionLinenumberEnd: 6126
    functionName: wpa_sm_set_test_eapol_m4_elems
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 2
    functionsReached:
    - wpabuf_free
    linkageType: ''
    returnType: void
    signature: void wpa_sm_set_test_eapol_m4_elems(struct wpa_sm *sm, struct wpabuf
      *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6132
      start: 6129
    functionDepth: 0
    functionLinenumber: 6129
    functionLinenumberEnd: 6132
    functionName: wpa_sm_get_anonce
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 * wpa_sm_get_anonce(struct wpa_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6140
      start: 6137
    functionDepth: 0
    functionLinenumber: 6137
    functionLinenumberEnd: 6140
    functionName: wpa_sm_get_key_mgmt
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int wpa_sm_get_key_mgmt(struct wpa_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6146
      start: 6143
    functionDepth: 0
    functionLinenumber: 6143
    functionLinenumberEnd: 6146
    functionName: wpa_sm_get_auth_addr
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 * wpa_sm_get_auth_addr(struct wpa_sm *sm)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: eapol_sm_build_erp_reauth_start
      Src: /src/hostap/src/rsn_supp/wpa.c:6157,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:6159,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:6164,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:6170,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/rsn_supp/wpa.c:6174,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/rsn_supp/wpa.c:6175,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:6178,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:6180,1
    - Dst: crypto_ecdh_deinit
      Src: /src/hostap/src/rsn_supp/wpa.c:6186,1
    - Dst: crypto_ecdh_init
      Src: /src/hostap/src/rsn_supp/wpa.c:6187,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:6189,1
    - Dst: crypto_ecdh_get_pubkey
      Src: /src/hostap/src/rsn_supp/wpa.c:6194,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/rsn_supp/wpa.c:6197,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/rsn_supp/wpa.c:6199,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/rsn_supp/wpa.c:6203,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/rsn_supp/wpa.c:6204,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/rsn_supp/wpa.c:6211,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/rsn_supp/wpa.c:6214,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/rsn_supp/wpa.c:6220,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/rsn_supp/wpa.c:6222,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:6227,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/rsn_supp/wpa.c:6229,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/rsn_supp/wpa.c:6235,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/rsn_supp/wpa.c:6236,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/rsn_supp/wpa.c:6237,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:6238,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/rsn_supp/wpa.c:6243,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/rsn_supp/wpa.c:6244,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/rsn_supp/wpa.c:6246,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/rsn_supp/wpa.c:6247,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/rsn_supp/wpa.c:6250,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/rsn_supp/wpa.c:6251,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/rsn_supp/wpa.c:6253,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/rsn_supp/wpa.c:6254,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/rsn_supp/wpa.c:6259,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/rsn_supp/wpa.c:6260,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/rsn_supp/wpa.c:6260,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/rsn_supp/wpa.c:6262,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/rsn_supp/wpa.c:6263,1
    - Dst: fils_pmkid_erp
      Src: /src/hostap/src/rsn_supp/wpa.c:6266,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/rsn_supp/wpa.c:6266,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/rsn_supp/wpa.c:6267,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/rsn_supp/wpa.c:6272,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/rsn_supp/wpa.c:6276,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/rsn_supp/wpa.c:6277,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 77
    argCount: 3
    argNames:
    - sm
    - dh_group
    - md
    argTypes:
    - struct wpa_sm*
    - int
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6279
      start: 6151
    functionDepth: 1
    functionLinenumber: 6151
    functionLinenumberEnd: 6279
    functionName: fils_build_auth
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - eapol_sm_build_erp_reauth_start
    - wpa_hexdump
    - wpabuf_alloc
    - crypto_ecdh_init
    - fils_pmkid_erp
    - wpa_printf
    - wpabuf_put_data
    - crypto_ecdh_get_pubkey
    - wpa_hexdump_buf
    - crypto_ecdh_deinit
    - wpabuf_put_u8
    - wpabuf_len
    - wpabuf_head
    - random_get_bytes
    - wpabuf_put
    - os_memcpy
    - wpabuf_free
    - wpabuf_put_le16
    - wpabuf_put_buf
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * fils_build_auth(struct wpa_sm *sm, int dh_group, const
      u8 *md)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/rsn_supp/wpa.c:6301,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:6304,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:6306,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:6320,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/rsn_supp/wpa.c:6324,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:6327,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:6335,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:6340,1
    - Dst: crypto_ecdh_set_peerkey
      Src: /src/hostap/src/rsn_supp/wpa.c:6343,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:6346,1
    - Dst: wpa_hexdump_buf_key
      Src: /src/hostap/src/rsn_supp/wpa.c:6349,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:6356,1
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/src/rsn_supp/wpa.c:6357,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:6358,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:6363,1
    - Dst: wpa_parse_wpa_ie_rsn
      Src: /src/hostap/src/rsn_supp/wpa.c:6366,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:6368,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:6373,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:6376,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:6377,1
    - Dst: wpa_key_mgmt_ft
      Src: /src/hostap/src/rsn_supp/wpa.c:6380,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:6382,1
    - Dst: wpa_ft_parse_ies
      Src: /src/hostap/src/rsn_supp/wpa.c:6386,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:6388,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:6393,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:6397,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/rsn_supp/wpa.c:6399,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:6403,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:6407,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:6408,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/rsn_supp/wpa.c:6413,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/rsn_supp/wpa.c:6414,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/rsn_supp/wpa.c:6418,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/rsn_supp/wpa.c:6420,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/rsn_supp/wpa.c:6423,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:6430,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:6434,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:6437,1
    - Dst: os_memcmp
      Src: /src/hostap/src/rsn_supp/wpa.c:6438,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:6440,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:6441,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:6445,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:6450,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:6457,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:6460,1
    - Dst: os_memcmp
      Src: /src/hostap/src/rsn_supp/wpa.c:6462,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:6464,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:6465,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:6475,1
    - Dst: eapol_sm_process_erp_finish
      Src: /src/hostap/src/rsn_supp/wpa.c:6478,1
    - Dst: eapol_sm_failed
      Src: /src/hostap/src/rsn_supp/wpa.c:6480,1
    - Dst: eapol_sm_get_key
      Src: /src/hostap/src/rsn_supp/wpa.c:6484,1
    - Dst: eapol_sm_get_key
      Src: /src/hostap/src/rsn_supp/wpa.c:6487,1
    - Dst: fils_rmsk_to_pmk
      Src: /src/hostap/src/rsn_supp/wpa.c:6492,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/rsn_supp/wpa.c:6494,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/rsn_supp/wpa.c:6495,1
    - Dst: forced_memzero
      Src: /src/hostap/src/rsn_supp/wpa.c:6497,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/rsn_supp/wpa.c:6501,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:6508,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:6511,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:6513,1
    - Dst: pmksa_cache_add
      Src: /src/hostap/src/rsn_supp/wpa.c:6514,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:6522,1
    - Dst: ieee802_11_rsnx_capab
      Src: /src/hostap/src/rsn_supp/wpa.c:6529,1
    - Dst: fils_pmk_to_ptk
      Src: /src/hostap/src/rsn_supp/wpa.c:6534,1
    - Dst: wpa_sm_get_auth_addr
      Src: /src/hostap/src/rsn_supp/wpa.c:6535,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/rsn_supp/wpa.c:6537,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/rsn_supp/wpa.c:6538,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:6543,1
    - Dst: ieee802_11_rsnx_capab
      Src: /src/hostap/src/rsn_supp/wpa.c:6549,1
    - Dst: wpa_ltf_keyseed
      Src: /src/hostap/src/rsn_supp/wpa.c:6550,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:6551,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/rsn_supp/wpa.c:6556,1
    - Dst: os_memset
      Src: /src/hostap/src/rsn_supp/wpa.c:6561,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:6566,1
    - Dst: crypto_ecdh_get_pubkey
      Src: /src/hostap/src/rsn_supp/wpa.c:6569,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/rsn_supp/wpa.c:6572,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/rsn_supp/wpa.c:6573,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/rsn_supp/wpa.c:6574,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:6576,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:6579,1
    - Dst: fils_key_auth_sk
      Src: /src/hostap/src/rsn_supp/wpa.c:6583,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/rsn_supp/wpa.c:6589,1
    - Dst: forced_memzero
      Src: /src/hostap/src/rsn_supp/wpa.c:6590,1
    - Dst: wpa_ft_parse_ies_free
      Src: /src/hostap/src/rsn_supp/wpa.c:6592,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/rsn_supp/wpa.c:6596,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/rsn_supp/wpa.c:6597,1
    - Dst: wpa_ft_parse_ies_free
      Src: /src/hostap/src/rsn_supp/wpa.c:6599,1
    CyclomaticComplexity: 71
    EdgeCount: 71
    ICount: 214
    argCount: 4
    argNames:
    - sm
    - bssid
    - data
    - len
    argTypes:
    - struct wpa_sm*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6602
      start: 6282
    functionDepth: 1
    functionLinenumber: 6282
    functionLinenumberEnd: 6602
    functionName: fils_process_auth
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 1
    functionsReached:
    - wpa_hexdump
    - forced_memzero
    - WPA_GET_LE16
    - crypto_ecdh_set_peerkey
    - wpabuf_alloc
    - wpa_hexdump_ascii
    - fils_key_auth_sk
    - wpa_printf
    - wpabuf_put_data
    - wpa_ltf_keyseed
    - wpa_key_mgmt_ft
    - fils_rmsk_to_pmk
    - pmksa_cache_add
    - ieee802_11_parse_elems
    - os_memcmp
    - wpa_ft_parse_ies
    - wpabuf_clear_free
    - crypto_ecdh_get_pubkey
    - wpa_sm_get_auth_addr
    - eapol_sm_process_erp_finish
    - wpa_hexdump_buf
    - wpabuf_len
    - wpa_ft_parse_ies_free
    - fils_pmk_to_ptk
    - wpabuf_head
    - ieee802_11_rsnx_capab
    - eapol_sm_get_key
    - os_memset
    - os_memcpy
    - eapol_sm_failed
    - wpa_parse_wpa_ie_rsn
    - wpabuf_free
    - wpa_hexdump_buf_key
    linkageType: ''
    returnType: int
    signature: "int fils_process_auth(struct wpa_sm *sm, const u8 *bssid, const u8
      *data,\n\t\t      size_t len)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: wpa_key_mgmt_sha384
      Src: /src/hostap/src/rsn_supp/wpa.c:6611,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/rsn_supp/wpa.c:6614,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/rsn_supp/wpa.c:6616,1
    - Dst: wpa_cipher_valid_group
      Src: /src/hostap/src/rsn_supp/wpa.c:6619,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:6620,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/rsn_supp/wpa.c:6624,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/rsn_supp/wpa.c:6625,1
    - Dst: wpa_cipher_to_suite
      Src: /src/hostap/src/rsn_supp/wpa.c:6625,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/rsn_supp/wpa.c:6629,1
    - Dst: wpa_cipher_valid_pairwise
      Src: /src/hostap/src/rsn_supp/wpa.c:6632,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:6633,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/rsn_supp/wpa.c:6637,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/rsn_supp/wpa.c:6638,1
    - Dst: wpa_cipher_to_suite
      Src: /src/hostap/src/rsn_supp/wpa.c:6638,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/rsn_supp/wpa.c:6642,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/rsn_supp/wpa.c:6645,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/rsn_supp/wpa.c:6647,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/rsn_supp/wpa.c:6649,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:6651,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/rsn_supp/wpa.c:6667,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/rsn_supp/wpa.c:6670,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/rsn_supp/wpa.c:6673,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/rsn_supp/wpa.c:6675,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:6676,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/rsn_supp/wpa.c:6678,1
    - Dst: wpa_derive_pmk_r0
      Src: /src/hostap/src/rsn_supp/wpa.c:6680,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:6684,1
    - Dst: wpa_key_mgmt_sae_ext_key
      Src: /src/hostap/src/rsn_supp/wpa.c:6687,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:6691,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/wpa.c:6692,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/rsn_supp/wpa.c:6693,1
    - Dst: wpa_derive_pmk_r1_name
      Src: /src/hostap/src/rsn_supp/wpa.c:6694,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:6696,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:6699,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:6701,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/rsn_supp/wpa.c:6706,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/rsn_supp/wpa.c:6707,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/rsn_supp/wpa.c:6710,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 62
    argCount: 2
    argNames:
    - sm
    - buf
    argTypes:
    - struct wpa_sm*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6712
      start: 6606
    functionDepth: 1
    functionLinenumber: 6606
    functionLinenumberEnd: 6712
    functionName: fils_ft_build_assoc_req_rsne
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - wpabuf_put
    - wpa_printf
    - wpa_hexdump_key
    - wpa_key_mgmt_sae_ext_key
    - wpa_hexdump
    - os_memcpy
    - wpa_key_mgmt_sha384
    - wpa_cipher_valid_pairwise
    - wpabuf_put_le16
    - MAC2STR
    - RSN_SELECTOR_PUT
    - wpa_cipher_valid_group
    - wpa_derive_pmk_r0
    - wpa_cipher_to_suite
    - wpa_hexdump_ascii
    - wpa_derive_pmk_r1_name
    - WPA_PUT_LE16
    linkageType: ''
    returnType: int
    signature: int fils_ft_build_assoc_req_rsne(struct wpa_sm *sm, struct wpabuf *buf)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_len
      Src: /src/hostap/src/rsn_supp/wpa.c:6729,1
    - Dst: wpa_key_mgmt_ft
      Src: /src/hostap/src/rsn_supp/wpa.c:6730,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/rsn_supp/wpa.c:6734,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/rsn_supp/wpa.c:6735,1
    - Dst: wpa_key_mgmt_ft
      Src: /src/hostap/src/rsn_supp/wpa.c:6740,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/rsn_supp/wpa.c:6742,1
    - Dst: fils_ft_build_assoc_req_rsne
      Src: /src/hostap/src/rsn_supp/wpa.c:6744,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/rsn_supp/wpa.c:6745,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/rsn_supp/wpa.c:6752,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/rsn_supp/wpa.c:6753,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/rsn_supp/wpa.c:6755,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/rsn_supp/wpa.c:6756,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/rsn_supp/wpa.c:6764,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/rsn_supp/wpa.c:6765,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/rsn_supp/wpa.c:6767,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/rsn_supp/wpa.c:6768,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/rsn_supp/wpa.c:6772,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/rsn_supp/wpa.c:6773,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/rsn_supp/wpa.c:6775,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/rsn_supp/wpa.c:6780,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/rsn_supp/wpa.c:6782,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/rsn_supp/wpa.c:6786,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/rsn_supp/wpa.c:6790,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/rsn_supp/wpa.c:6792,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/rsn_supp/wpa.c:6793,1
    - Dst: wpa_sm_ocv_enabled
      Src: /src/hostap/src/rsn_supp/wpa.c:6802,1
    - Dst: wpa_sm_channel_info
      Src: /src/hostap/src/rsn_supp/wpa.c:6806,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:6807,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/rsn_supp/wpa.c:6809,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:6814,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/rsn_supp/wpa.c:6822,1
    - Dst: ocv_insert_extended_oci
      Src: /src/hostap/src/rsn_supp/wpa.c:6823,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/rsn_supp/wpa.c:6824,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/rsn_supp/wpa.c:6830,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/rsn_supp/wpa.c:6834,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:6836,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:6838,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 70
    argCount: 7
    argNames:
    - sm
    - kek
    - kek_len
    - snonce
    - anonce
    - hlp
    - num_hlp
    argTypes:
    - struct wpa_sm*
    - u8**
    - size_t*
    - u8**
    - u8**
    - struct wpabuf**
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6841
      start: 6716
    functionDepth: 2
    functionLinenumber: 6716
    functionLinenumberEnd: 6841
    functionName: fils_build_assoc_req
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put
    - wpa_sm_ocv_enabled
    - wpa_hexdump_key
    - wpabuf_put_u8
    - wpabuf_put_data
    - wpabuf_len
    - wpa_hexdump
    - wpabuf_free
    - wpa_key_mgmt_ft
    - wpabuf_head
    - wpabuf_alloc
    - wpabuf_put_buf
    - ocv_insert_extended_oci
    - fils_ft_build_assoc_req_rsne
    - wpa_sm_channel_info
    - wpa_hexdump_buf
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * fils_build_assoc_req(struct wpa_sm *sm, const u8 **kek,\n\t\t\t\t
      \    size_t *kek_len, const u8 **snonce,\n\t\t\t\t     const u8 **anonce,\n\t\t\t\t
      \    const struct wpabuf **hlp,\n\t\t\t\t     unsigned int num_hlp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:6848,1
    - Dst: os_memcmp
      Src: /src/hostap/src/rsn_supp/wpa.c:6854,1
    - Dst: wpa_sm_fils_hlp_rx
      Src: /src/hostap/src/rsn_supp/wpa.c:6856,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - sm
    - resp
    - len
    argTypes:
    - struct wpa_sm*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6857
      start: 6844
    functionDepth: 1
    functionLinenumber: 6844
    functionLinenumberEnd: 6857
    functionName: fils_process_hlp_resp
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - wpa_sm_fils_hlp_rx
    - os_memcmp
    - wpa_hexdump
    linkageType: ''
    returnType: void
    signature: void fils_process_hlp_resp(struct wpa_sm *sm, const u8 *resp, size_t
      len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/rsn_supp/wpa.c:6879,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:6890,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:6897,1
    - Dst: fils_process_hlp_resp
      Src: /src/hostap/src/rsn_supp/wpa.c:6902,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/wpa.c:6905,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 28
    argCount: 3
    argNames:
    - sm
    - pos
    - len
    argTypes:
    - struct wpa_sm*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6906
      start: 6860
    functionDepth: 2
    functionLinenumber: 6860
    functionLinenumberEnd: 6906
    functionName: fils_process_hlp_container
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - os_free
    - os_memcpy
    - os_malloc
    - fils_process_hlp_resp
    linkageType: ''
    returnType: void
    signature: "void fils_process_hlp_container(struct wpa_sm *sm, const u8 *pos,\n\t\t\t\t
      \      size_t len)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:6921,1
    - Dst: wpa_key_mgmt_fils
      Src: /src/hostap/src/rsn_supp/wpa.c:6925,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:6926,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:6931,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:6936,1
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/src/rsn_supp/wpa.c:6947,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:6949,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:6955,1
    - Dst: os_memcmp
      Src: /src/hostap/src/rsn_supp/wpa.c:6958,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:6960,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:6961,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:6963,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:6968,1
    - Dst: wpa_compare_rsn_ie
      Src: /src/hostap/src/rsn_supp/wpa.c:6975,1
    - Dst: wpa_key_mgmt_ft
      Src: /src/hostap/src/rsn_supp/wpa.c:6975,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:6978,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:6980,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:6982,1
    - Dst: os_memcmp
      Src: /src/hostap/src/rsn_supp/wpa.c:6991,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:6993,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:6995,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:6997,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:7013,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:7017,1
    - Dst: os_memcmp
      Src: /src/hostap/src/rsn_supp/wpa.c:7023,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:7025,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:7026,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:7029,1
    - Dst: wpa_sm_ocv_enabled
      Src: /src/hostap/src/rsn_supp/wpa.c:7035,1
    - Dst: wpa_sm_channel_info
      Src: /src/hostap/src/rsn_supp/wpa.c:7038,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:7039,1
    - Dst: ocv_verify_tx_params
      Src: /src/hostap/src/rsn_supp/wpa.c:7044,1
    - Dst: channel_width_to_int
      Src: /src/hostap/src/rsn_supp/wpa.c:7045,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:7047,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/wpa.c:7049,1
    - Dst: wpa_key_mgmt_ft
      Src: /src/hostap/src/rsn_supp/wpa.c:7056,1
    - Dst: wpa_parse_wpa_ie_rsn
      Src: /src/hostap/src/rsn_supp/wpa.c:7061,1
    - Dst: os_memcmp
      Src: /src/hostap/src/rsn_supp/wpa.c:7064,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:7066,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:7075,1
    - Dst: os_memset
      Src: /src/hostap/src/rsn_supp/wpa.c:7080,1
    - Dst: wpa_supplicant_parse_ies
      Src: /src/hostap/src/rsn_supp/wpa.c:7081,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:7084,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:7088,1
    - Dst: wpa_supplicant_check_group_cipher
      Src: /src/hostap/src/rsn_supp/wpa.c:7092,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/rsn_supp/wpa.c:7097,1
    - Dst: wpa_supplicant_gtk_tx_bit_workaround
      Src: /src/hostap/src/rsn_supp/wpa.c:7099,1
    - Dst: BIT
      Src: /src/hostap/src/rsn_supp/wpa.c:7100,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:7102,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:7106,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:7108,1
    - Dst: wpa_supplicant_install_gtk
      Src: /src/hostap/src/rsn_supp/wpa.c:7109,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:7110,1
    - Dst: ieee80211w_set_keys
      Src: /src/hostap/src/rsn_supp/wpa.c:7114,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:7115,1
    - Dst: wpa_cipher_to_alg
      Src: /src/hostap/src/rsn_supp/wpa.c:7119,1
    - Dst: wpa_cipher_key_len
      Src: /src/hostap/src/rsn_supp/wpa.c:7120,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:7122,1
    - Dst: wpa_cipher_rsc_len
      Src: /src/hostap/src/rsn_supp/wpa.c:7127,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/rsn_supp/wpa.c:7128,1
    - Dst: wpa_sm_set_key
      Src: /src/hostap/src/rsn_supp/wpa.c:7130,1
    - Dst: wpa_sm_get_auth_addr
      Src: /src/hostap/src/rsn_supp/wpa.c:7130,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:7133,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/wpa.c:7136,1
    - Dst: wpa_sm_get_auth_addr
      Src: /src/hostap/src/rsn_supp/wpa.c:7136,1
    - Dst: wpa_sm_store_ptk
      Src: /src/hostap/src/rsn_supp/wpa.c:7140,1
    - Dst: wpa_sm_get_auth_addr
      Src: /src/hostap/src/rsn_supp/wpa.c:7140,1
    - Dst: os_memset
      Src: /src/hostap/src/rsn_supp/wpa.c:7146,1
    - Dst: fils_process_hlp_container
      Src: /src/hostap/src/rsn_supp/wpa.c:7152,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:7156,1
    - Dst: forced_memzero
      Src: /src/hostap/src/rsn_supp/wpa.c:7158,1
    - Dst: wpa_sm_transition_disable
      Src: /src/hostap/src/rsn_supp/wpa.c:7161,1
    - Dst: forced_memzero
      Src: /src/hostap/src/rsn_supp/wpa.c:7165,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 157
    argCount: 3
    argNames:
    - sm
    - resp
    - len
    argTypes:
    - struct wpa_sm*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7167
      start: 6909
    functionDepth: 4
    functionLinenumber: 6909
    functionLinenumberEnd: 7167
    functionName: fils_process_assoc_resp
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 1
    functionsReached:
    - wpa_hexdump
    - wpa_sm_transition_disable
    - forced_memzero
    - BIT
    - wpa_supplicant_check_group_cipher
    - ocv_verify_tx_params
    - wpa_printf
    - wpa_sm_ocv_enabled
    - wpa_key_mgmt_ft
    - fils_process_hlp_container
    - wpa_cipher_rsc_len
    - ieee802_11_parse_elems
    - os_memcmp
    - wpa_supplicant_parse_ies
    - wpa_sm_get_auth_addr
    - channel_width_to_int
    - wpa_hexdump_key
    - wpa_sm_set_key
    - wpa_supplicant_gtk_tx_bit_workaround
    - ieee80211w_set_keys
    - wpa_sm_channel_info
    - os_memset
    - os_memcpy
    - wpa_cipher_key_len
    - wpa_msg
    - wpa_parse_wpa_ie_rsn
    - MAC2STR
    - wpa_sm_store_ptk
    - wpa_key_mgmt_fils
    - wpa_supplicant_install_gtk
    - wpa_compare_rsn_ie
    - wpa_cipher_to_alg
    linkageType: ''
    returnType: int
    signature: int fils_process_assoc_resp(struct wpa_sm *sm, const u8 *resp, size_t
      len)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - sm
    - set
    argTypes:
    - struct wpa_sm*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7174
      start: 7170
    functionDepth: 0
    functionLinenumber: 7170
    functionLinenumberEnd: 7174
    functionName: wpa_sm_set_reset_fils_completed
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wpa_sm_set_reset_fils_completed(struct wpa_sm *sm, int set)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7186
      start: 7179
    functionDepth: 0
    functionLinenumber: 7179
    functionLinenumberEnd: 7186
    functionName: wpa_fils_is_completed
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpa_fils_is_completed(struct wpa_sm *sm)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: crypto_ecdh_deinit
      Src: /src/hostap/src/rsn_supp/wpa.c:7205,1
    - Dst: crypto_ecdh_init
      Src: /src/hostap/src/rsn_supp/wpa.c:7206,1
    - Dst: crypto_ecdh_get_pubkey
      Src: /src/hostap/src/rsn_supp/wpa.c:7210,1
    - Dst: wpabuf_zeropad
      Src: /src/hostap/src/rsn_supp/wpa.c:7211,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/rsn_supp/wpa.c:7215,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/rsn_supp/wpa.c:7215,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/rsn_supp/wpa.c:7218,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/rsn_supp/wpa.c:7219,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/rsn_supp/wpa.c:7219,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/rsn_supp/wpa.c:7220,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/rsn_supp/wpa.c:7221,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/rsn_supp/wpa.c:7222,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/rsn_supp/wpa.c:7223,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/rsn_supp/wpa.c:7224,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/rsn_supp/wpa.c:7229,1
    - Dst: crypto_ecdh_deinit
      Src: /src/hostap/src/rsn_supp/wpa.c:7230,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 2
    argNames:
    - sm
    - group
    argTypes:
    - struct wpa_sm*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7233
      start: 7191
    functionDepth: 1
    functionLinenumber: 7191
    functionLinenumberEnd: 7233
    functionName: owe_build_assoc_req
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - crypto_ecdh_deinit
    - wpabuf_put_u8
    - wpabuf_len
    - wpabuf_free
    - wpabuf_put_le16
    - wpabuf_alloc
    - wpabuf_zeropad
    - crypto_ecdh_get_pubkey
    - wpabuf_put_buf
    - crypto_ecdh_init
    - wpa_hexdump_buf
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * owe_build_assoc_req(struct wpa_sm *sm, u16 group)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/src/rsn_supp/wpa.c:7251,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:7253,1
    - Dst: wpa_parse_wpa_ie_rsn
      Src: /src/hostap/src/rsn_supp/wpa.c:7259,1
    - Dst: os_memcmp
      Src: /src/hostap/src/rsn_supp/wpa.c:7262,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:7263,1
    - Dst: wpa_sm_set_pmk_from_pmksa
      Src: /src/hostap/src/rsn_supp/wpa.c:7264,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:7269,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/rsn_supp/wpa.c:7274,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:7276,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:7283,1
    - Dst: crypto_ecdh_set_peerkey
      Src: /src/hostap/src/rsn_supp/wpa.c:7296,1
    - Dst: wpabuf_zeropad
      Src: /src/hostap/src/rsn_supp/wpa.c:7299,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:7301,1
    - Dst: wpa_hexdump_buf_key
      Src: /src/hostap/src/rsn_supp/wpa.c:7304,1
    - Dst: crypto_ecdh_get_pubkey
      Src: /src/hostap/src/rsn_supp/wpa.c:7308,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/rsn_supp/wpa.c:7310,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/rsn_supp/wpa.c:7315,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/rsn_supp/wpa.c:7316,1
    - Dst: sha256_vector
      Src: /src/hostap/src/rsn_supp/wpa.c:7320,1
    - Dst: sha384_vector
      Src: /src/hostap/src/rsn_supp/wpa.c:7323,1
    - Dst: sha512_vector
      Src: /src/hostap/src/rsn_supp/wpa.c:7326,1
    - Dst: wpabuf_zeropad
      Src: /src/hostap/src/rsn_supp/wpa.c:7332,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/rsn_supp/wpa.c:7334,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/rsn_supp/wpa.c:7335,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/rsn_supp/wpa.c:7339,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/rsn_supp/wpa.c:7339,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/rsn_supp/wpa.c:7341,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/rsn_supp/wpa.c:7342,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/rsn_supp/wpa.c:7346,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/rsn_supp/wpa.c:7347,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/rsn_supp/wpa.c:7348,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/rsn_supp/wpa.c:7349,1
    - Dst: hmac_sha256
      Src: /src/hostap/src/rsn_supp/wpa.c:7351,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/rsn_supp/wpa.c:7351,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/rsn_supp/wpa.c:7351,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/rsn_supp/wpa.c:7352,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/rsn_supp/wpa.c:7352,1
    - Dst: hmac_sha384
      Src: /src/hostap/src/rsn_supp/wpa.c:7354,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/rsn_supp/wpa.c:7354,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/rsn_supp/wpa.c:7354,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/rsn_supp/wpa.c:7355,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/rsn_supp/wpa.c:7355,1
    - Dst: hmac_sha512
      Src: /src/hostap/src/rsn_supp/wpa.c:7357,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/rsn_supp/wpa.c:7357,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/rsn_supp/wpa.c:7357,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/rsn_supp/wpa.c:7358,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/rsn_supp/wpa.c:7358,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/rsn_supp/wpa.c:7359,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/rsn_supp/wpa.c:7360,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/rsn_supp/wpa.c:7364,1
    - Dst: hmac_sha256_kdf
      Src: /src/hostap/src/rsn_supp/wpa.c:7369,1
    - Dst: os_strlen
      Src: /src/hostap/src/rsn_supp/wpa.c:7370,1
    - Dst: hmac_sha384_kdf
      Src: /src/hostap/src/rsn_supp/wpa.c:7372,1
    - Dst: os_strlen
      Src: /src/hostap/src/rsn_supp/wpa.c:7373,1
    - Dst: hmac_sha512_kdf
      Src: /src/hostap/src/rsn_supp/wpa.c:7375,1
    - Dst: os_strlen
      Src: /src/hostap/src/rsn_supp/wpa.c:7376,1
    - Dst: forced_memzero
      Src: /src/hostap/src/rsn_supp/wpa.c:7377,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/rsn_supp/wpa.c:7384,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:7385,1
    - Dst: pmksa_cache_add
      Src: /src/hostap/src/rsn_supp/wpa.c:7386,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 104
    argCount: 4
    argNames:
    - sm
    - bssid
    - resp_ies
    - resp_ies_len
    argTypes:
    - struct wpa_sm*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7391
      start: 7236
    functionDepth: 2
    functionLinenumber: 7236
    functionLinenumberEnd: 7391
    functionName: owe_process_assoc_resp
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 1
    functionsReached:
    - wpa_hexdump
    - forced_memzero
    - hmac_sha512
    - WPA_GET_LE16
    - crypto_ecdh_set_peerkey
    - sha512_vector
    - wpabuf_alloc
    - hmac_sha384_kdf
    - hmac_sha512_kdf
    - sha256_vector
    - os_strlen
    - wpa_printf
    - wpabuf_put_data
    - pmksa_cache_add
    - ieee802_11_parse_elems
    - os_memcmp
    - crypto_ecdh_get_pubkey
    - wpabuf_clear_free
    - hmac_sha384
    - wpa_hexdump_key
    - wpa_sm_set_pmk_from_pmksa
    - wpabuf_len
    - sha384_vector
    - wpabuf_head
    - hmac_sha256_kdf
    - hmac_sha256
    - wpa_parse_wpa_ie_rsn
    - wpabuf_free
    - wpabuf_put_le16
    - wpabuf_put_buf
    - wpabuf_zeropad
    - wpa_hexdump_buf_key
    linkageType: ''
    returnType: int
    signature: "int owe_process_assoc_resp(struct wpa_sm *sm, const u8 *bssid,\n\t\t\t
      \  const u8 *resp_ies, size_t resp_ies_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:7401,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - sm
    - fils_cache_id
    argTypes:
    - struct wpa_sm*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7404
      start: 7396
    functionDepth: 0
    functionLinenumber: 7396
    functionLinenumberEnd: 7404
    functionName: wpa_sm_set_fils_cache_id
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    linkageType: ''
    returnType: void
    signature: void wpa_sm_set_fils_cache_id(struct wpa_sm *sm, const u8 *fils_cache_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/rsn_supp/wpa.c:7411,1
    - Dst: wpabuf_dup
      Src: /src/hostap/src/rsn_supp/wpa.c:7412,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - sm
    - z
    argTypes:
    - struct wpa_sm*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7414
      start: 7408
    functionDepth: 1
    functionLinenumber: 7408
    functionLinenumberEnd: 7414
    functionName: wpa_sm_set_dpp_z
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 1
    functionsReached:
    - wpabuf_dup
    - wpabuf_clear_free
    linkageType: ''
    returnType: void
    signature: void wpa_sm_set_dpp_z(struct wpa_sm *sm, const struct wpabuf *z)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - sm
    - flags2
    argTypes:
    - struct wpa_sm*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7428
      start: 7420
    functionDepth: 0
    functionLinenumber: 7420
    functionLinenumberEnd: 7428
    functionName: wpa_pasn_sm_set_caps
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wpa_pasn_sm_set_caps(struct wpa_sm *sm, unsigned int flags2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pmksa_cache_reconfig
      Src: /src/hostap/src/rsn_supp/wpa.c:7436,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7437
      start: 7433
    functionDepth: 1
    functionLinenumber: 7433
    functionLinenumberEnd: 7437
    functionName: wpa_sm_pmksa_cache_reconfig
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 1
    functionsReached:
    - pmksa_cache_reconfig
    linkageType: ''
    returnType: void
    signature: void wpa_sm_pmksa_cache_reconfig(struct wpa_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7443
      start: 7440
    functionDepth: 0
    functionLinenumber: 7440
    functionLinenumberEnd: 7443
    functionName: wpa_sm_uses_spp_amsdu
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool wpa_sm_uses_spp_amsdu(struct wpa_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7449
      start: 7446
    functionDepth: 0
    functionLinenumber: 7446
    functionLinenumberEnd: 7449
    functionName: wpa_sm_get_pmksa_cache
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: struct rsn_pmksa_cache
    signature: struct rsn_pmksa_cache * wpa_sm_get_pmksa_cache(struct wpa_sm *sm)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - sm
    - entry
    argTypes:
    - struct wpa_sm*
    - struct rsn_pmksa_cache_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7457
      start: 7452
    functionDepth: 0
    functionLinenumber: 7452
    functionLinenumberEnd: 7457
    functionName: wpa_sm_set_cur_pmksa
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpa_sm_set_cur_pmksa(struct wpa_sm *sm,\n\t\t\t  struct rsn_pmksa_cache_entry
      *entry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - sm
    - driver_bss_selection
    argTypes:
    - struct wpa_sm*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7465
      start: 7460
    functionDepth: 0
    functionLinenumber: 7460
    functionLinenumberEnd: 7465
    functionName: wpa_sm_set_driver_bss_selection
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpa_sm_set_driver_bss_selection(struct wpa_sm *sm,\n\t\t\t\t
      \    bool driver_bss_selection)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/src/rsn_supp/wpa.c:7479,1
    - Dst: wpa_mic_len
      Src: /src/hostap/src/rsn_supp/wpa.c:7482,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/rsn_supp/wpa.c:7485,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/rsn_supp/wpa.c:7489,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/rsn_supp/wpa.c:7490,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/rsn_supp/wpa.c:7491,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/rsn_supp/wpa.c:7492,1
    - Dst: wpabuf_put_le64
      Src: /src/hostap/src/rsn_supp/wpa.c:7493,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/rsn_supp/wpa.c:7494,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/rsn_supp/wpa.c:7495,1
    - Dst: wpa_eapol_key_mic
      Src: /src/hostap/src/rsn_supp/wpa.c:7496,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/rsn_supp/wpa.c:7500,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - sm
    - aa
    - timestamp
    argTypes:
    - struct wpa_sm*
    - u8*
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7505
      start: 7468
    functionDepth: 1
    functionLinenumber: 7468
    functionLinenumberEnd: 7505
    functionName: wpa_sm_known_sta_identification
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - wpabuf_put
    - wpabuf_put_u8
    - ether_addr_equal
    - wpabuf_free
    - wpabuf_alloc
    - wpa_eapol_key_mic
    - wpa_mic_len
    - wpabuf_put_le64
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * wpa_sm_known_sta_identification(struct wpa_sm *sm,
      const u8 *aa,\n\t\t\t\t\t\tu64 timestamp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cipher_valid_mgmt_group
      Src: /src/hostap/src/rsn_supp/wpa.c:7514,1
    - Dst: _mlo_ieee80211w_set_keys
      Src: /src/hostap/src/rsn_supp/wpa.c:7519,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - sm
    - ie
    - added_links_bitmap
    argTypes:
    - struct wpa_sm*
    - struct wpa_eapol_ie_parse*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7524
      start: 7508
    functionDepth: 4
    functionLinenumber: 7508
    functionLinenumberEnd: 7524
    functionName: mlo_ieee80211w_set_keys_for_new_links
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - _mlo_ieee80211w_set_keys
    - wpa_cipher_valid_mgmt_group
    linkageType: ''
    returnType: int
    signature: "int mlo_ieee80211w_set_keys_for_new_links(struct wpa_sm *sm,\n\t\t\t\t\t\t
      struct wpa_eapol_ie_parse *ie,\n\t\t\t\t\t\t u16 added_links_bitmap)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _mlo_ieee80211w_set_keys
      Src: /src/hostap/src/rsn_supp/wpa.c:7519,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7521
      start: 7518
    functionDepth: 4
    functionLinenumber: 7518
    functionLinenumberEnd: 7521
    functionName: for_each_link
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 23
    functionsReached:
    - _mlo_ieee80211w_set_keys
    linkageType: ''
    returnType: void
    signature: void for_each_link(added_links_bitmap, i)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:7535,1
    - Dst: wpa_supplicant_mlo_gtk
      Src: /src/hostap/src/rsn_supp/wpa.c:7540,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - sm
    - ie
    - added_links_bitmap
    argTypes:
    - struct wpa_sm*
    - struct wpa_eapol_ie_parse*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7546
      start: 7527
    functionDepth: 4
    functionLinenumber: 7527
    functionLinenumberEnd: 7546
    functionName: wpa_supplicant_install_mlo_gtk_keys
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_mlo_gtk
    - wpa_msg
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_install_mlo_gtk_keys(struct wpa_sm *sm,\n\t\t\t\t\t
      \      struct wpa_eapol_ie_parse *ie,\n\t\t\t\t\t       u16 added_links_bitmap)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:7535,1
    - Dst: wpa_supplicant_mlo_gtk
      Src: /src/hostap/src/rsn_supp/wpa.c:7540,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7543
      start: 7533
    functionDepth: 4
    functionLinenumber: 7533
    functionLinenumberEnd: 7543
    functionName: for_each_link
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 23
    functionsReached:
    - wpa_supplicant_mlo_gtk
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: void for_each_link(added_links_bitmap, i)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/rsn_supp/wpa.c:7557,1
    - Dst: wpa_supplicant_parse_ies
      Src: /src/hostap/src/rsn_supp/wpa.c:7560,1
    - Dst: wpa_supplicant_install_mlo_gtk_keys
      Src: /src/hostap/src/rsn_supp/wpa.c:7563,1
    - Dst: mlo_ieee80211w_set_keys_for_new_links
      Src: /src/hostap/src/rsn_supp/wpa.c:7567,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - sm
    - key_data
    - key_data_len
    - added_links_bitmap
    argTypes:
    - struct wpa_sm*
    - u8*
    - size_t
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7572
      start: 7549
    functionDepth: 5
    functionLinenumber: 7549
    functionLinenumberEnd: 7572
    functionName: wpa_sm_install_mlo_group_keys
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 1
    functionsReached:
    - wpa_hexdump_key
    - wpa_supplicant_install_mlo_gtk_keys
    - mlo_ieee80211w_set_keys_for_new_links
    - wpa_supplicant_parse_ies
    linkageType: ''
    returnType: int
    signature: "int wpa_sm_install_mlo_group_keys(struct wpa_sm *sm, const u8 *key_data,\n\t\t\t\t
      \ size_t key_data_len, u16 added_links_bitmap)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_supplicant_mlo_gtk
      Src: /src/hostap/src/rsn_supp/wpa.c:7580,1
    - Dst: _mlo_ieee80211w_set_keys
      Src: /src/hostap/src/rsn_supp/wpa.c:7584,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:7585,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - sm
    - i
    - kde
    argTypes:
    - struct wpa_sm*
    - u8
    - struct wpa_eapol_ie_parse*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7592
      start: 7577
    functionDepth: 4
    functionLinenumber: 7577
    functionLinenumberEnd: 7592
    functionName: process_key_delivery_link
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - _mlo_ieee80211w_set_keys
    - wpa_supplicant_mlo_gtk
    linkageType: ''
    returnType: int
    signature: "int process_key_delivery_link(struct wpa_sm *sm, u8 i,\n\t\t\t\t     struct
      wpa_eapol_ie_parse *kde)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: process_key_delivery_link
      Src: /src/hostap/src/rsn_supp/wpa.c:7602,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - sm
    - kde
    - valid_links
    argTypes:
    - struct wpa_sm*
    - struct wpa_eapol_ie_parse*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7607
      start: 7595
    functionDepth: 5
    functionLinenumber: 7595
    functionLinenumberEnd: 7607
    functionName: process_key_delivery_ml
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - process_key_delivery_link
    linkageType: ''
    returnType: int
    signature: "int process_key_delivery_ml(struct wpa_sm *sm,\n\t\t\t\t   struct
      wpa_eapol_ie_parse *kde,\n\t\t\t\t   int valid_links)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: process_key_delivery_link
      Src: /src/hostap/src/rsn_supp/wpa.c:7602,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7604
      start: 7601
    functionDepth: 5
    functionLinenumber: 7601
    functionLinenumberEnd: 7604
    functionName: for_each_link
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 23
    functionsReached:
    - process_key_delivery_link
    linkageType: ''
    returnType: void
    signature: void for_each_link(valid_links, i)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/rsn_supp/wpa.c:7618,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:7621,1
    - Dst: wpa_supplicant_check_group_cipher
      Src: /src/hostap/src/rsn_supp/wpa.c:7626,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/rsn_supp/wpa.c:7631,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:7635,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:7640,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:7642,1
    - Dst: wpa_supplicant_install_gtk
      Src: /src/hostap/src/rsn_supp/wpa.c:7643,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:7644,1
    - Dst: ieee80211w_set_keys
      Src: /src/hostap/src/rsn_supp/wpa.c:7648,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:7649,1
    - Dst: forced_memzero
      Src: /src/hostap/src/rsn_supp/wpa.c:7655,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 3
    argNames:
    - sm
    - kde
    - rsc
    argTypes:
    - struct wpa_sm*
    - struct wpa_eapol_ie_parse*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7657
      start: 7610
    functionDepth: 4
    functionLinenumber: 7610
    functionLinenumberEnd: 7657
    functionName: process_key_delivery
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_printf
    - wpa_hexdump_key
    - forced_memzero
    - wpa_supplicant_check_group_cipher
    - ieee80211w_set_keys
    - wpa_supplicant_install_gtk
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int process_key_delivery(struct wpa_sm *sm,\n\t\t\t\tstruct wpa_eapol_ie_parse
      *kde,\n\t\t\t\tconst u8 *rsc)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:7670,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/rsn_supp/wpa.c:7676,1
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/src/rsn_supp/wpa.c:7679,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:7683,1
    - Dst: wpa_compare_rsn_ie
      Src: /src/hostap/src/rsn_supp/wpa.c:7688,1
    - Dst: wpa_key_mgmt_sae
      Src: /src/hostap/src/rsn_supp/wpa.c:7688,1
    - Dst: wpa_key_mgmt_wpa_ieee8021x
      Src: /src/hostap/src/rsn_supp/wpa.c:7689,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:7692,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:7694,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:7697,1
    - Dst: os_memcmp
      Src: /src/hostap/src/rsn_supp/wpa.c:7707,1
    - Dst: wpa_msg
      Src: /src/hostap/src/rsn_supp/wpa.c:7709,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:7711,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/wpa.c:7714,1
    - Dst: ieee802_11_defrag
      Src: /src/hostap/src/rsn_supp/wpa.c:7724,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:7727,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/rsn_supp/wpa.c:7730,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/rsn_supp/wpa.c:7731,1
    - Dst: wpa_supplicant_parse_ies
      Src: /src/hostap/src/rsn_supp/wpa.c:7735,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:7738,1
    - Dst: process_key_delivery
      Src: /src/hostap/src/rsn_supp/wpa.c:7743,1
    - Dst: process_key_delivery_ml
      Src: /src/hostap/src/rsn_supp/wpa.c:7745,1
    - Dst: wpa_key_mgmt_sae
      Src: /src/hostap/src/rsn_supp/wpa.c:7750,1
    - Dst: wpa_sm_sae_pw_id_change
      Src: /src/hostap/src/rsn_supp/wpa.c:7752,1
    - Dst: wpa_sm_set_rekey_offload
      Src: /src/hostap/src/rsn_supp/wpa.c:7755,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/wpa.c:7757,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/rsn_supp/wpa.c:7763,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 54
    argCount: 4
    argNames:
    - sm
    - valid_links
    - ies
    - ies_len
    argTypes:
    - struct wpa_sm*
    - int
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7765
      start: 7660
    functionDepth: 6
    functionLinenumber: 7660
    functionLinenumberEnd: 7765
    functionName: process_encrypted_assoc_resp
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 1
    functionsReached:
    - wpa_key_mgmt_sae
    - wpa_printf
    - wpa_hexdump_key
    - process_key_delivery_ml
    - wpa_hexdump
    - wpa_msg
    - wpabuf_len
    - wpabuf_free
    - wpabuf_head
    - wpa_sm_sae_pw_id_change
    - ieee802_11_parse_elems
    - wpa_key_mgmt_wpa_ieee8021x
    - os_memcmp
    - wpa_supplicant_parse_ies
    - wpa_sm_set_rekey_offload
    - process_key_delivery
    - wpa_compare_rsn_ie
    - ieee802_11_defrag
    linkageType: ''
    returnType: int
    signature: "int process_encrypted_assoc_resp(struct wpa_sm *sm, int valid_links,\n\t\t\t\t
      const u8 *ies, size_t ies_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7777
      start: 7770
    functionDepth: 0
    functionLinenumber: 7770
    functionLinenumberEnd: 7777
    functionName: wpa_eppke_is_completed
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool wpa_eppke_is_completed(struct wpa_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7787
      start: 7780
    functionDepth: 0
    functionLinenumber: 7780
    functionLinenumberEnd: 7787
    functionName: wpa_eap_over_auth_frame_is_completed
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool wpa_eap_over_auth_frame_is_completed(struct wpa_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7793
      start: 7790
    functionDepth: 0
    functionLinenumber: 7790
    functionLinenumberEnd: 7793
    functionName: wpa_sm_pmksa_privacy_supported
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool wpa_sm_pmksa_privacy_supported(struct wpa_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - flags2
    argTypes:
    - struct wpa_sm*
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7802
      start: 7798
    functionDepth: 0
    functionLinenumber: 7798
    functionLinenumberEnd: 7802
    functionName: wpa_sm_set_802_1x_auth_caps
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wpa_sm_set_802_1x_auth_caps(struct wpa_sm *sm, u64 flags2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_supplicant_get_pmk
      Src: /src/hostap/src/rsn_supp/wpa.c:7808,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - sm
    - addr
    - pmkid
    - pmk_len
    argTypes:
    - struct wpa_sm*
    - u8*
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7814
      start: 7805
    functionDepth: 4
    functionLinenumber: 7805
    functionLinenumberEnd: 7814
    functionName: wpa_sm_get_pmk
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 1
    functionsReached:
    - wpa_supplicant_get_pmk
    linkageType: ''
    returnType: u8
    signature: "u8 * wpa_sm_get_pmk(struct wpa_sm *sm, const u8 *addr, const u8 *pmkid,\n\t\t\t
      \ size_t *pmk_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/wpa.c:7836,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - sm
    - tk
    - tk_len
    argTypes:
    - struct wpa_sm*
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7840
      start: 7830
    functionDepth: 0
    functionLinenumber: 7830
    functionLinenumberEnd: 7840
    functionName: wpa_sm_get_cached_tk
    functionSourceFile: /src/hostap/src/rsn_supp/wpa.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    linkageType: ''
    returnType: int
    signature: int wpa_sm_get_cached_tk(struct wpa_sm *sm, u8 *tk, size_t *tk_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bin_clear_free
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - struct rsn_pmksa_cache_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: _pmksa_cache_free_entry
    functionSourceFile: /src/hostap/src/rsn_supp/pmksa_cache.c
    functionUses: 0
    functionsReached:
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: void _pmksa_cache_free_entry(struct rsn_pmksa_cache_entry *entry)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_sm_remove_pmkid
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:50,1
    - Dst: struct rsn_pmksa_cache*::free_cb
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:56,1
    - Dst: _pmksa_cache_free_entry
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - pmksa
    - entry
    - reason
    argTypes:
    - struct rsn_pmksa_cache*
    - struct rsn_pmksa_cache_entry*
    - enum pmksa_free_reason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 58
    functionName: pmksa_cache_free_entry
    functionSourceFile: /src/hostap/src/rsn_supp/pmksa_cache.c
    functionUses: 1
    functionsReached:
    - struct rsn_pmksa_cache*::free_cb
    - _pmksa_cache_free_entry
    - wpa_sm_remove_pmkid
    linkageType: ''
    returnType: void
    signature: "void pmksa_cache_free_entry(struct rsn_pmksa_cache *pmksa,\n\t\t\t\t
      \  struct rsn_pmksa_cache_entry *entry,\n\t\t\t\t   enum pmksa_free_reason reason)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:79,1
    - Dst: pmksa_cache_free_entry
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:85,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - pmksa
    - entry
    argTypes:
    - struct rsn_pmksa_cache*
    - struct rsn_pmksa_cache_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 86
    functionName: pmksa_cache_remove
    functionSourceFile: /src/hostap/src/rsn_supp/pmksa_cache.c
    functionUses: 2
    functionsReached:
    - pmksa_cache_free_entry
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: "void pmksa_cache_remove(struct rsn_pmksa_cache *pmksa,\n\t\t\tstruct
      rsn_pmksa_cache_entry *entry)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_get_reltime
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:96,1
    - Dst: wpa_key_mgmt_sae
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:98,1
    - Dst: struct rsn_pmksa_cache*::is_current_cb
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:99,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:105,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:107,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:113,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:114,1
    - Dst: pmksa_cache_free_entry
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:121,1
    - Dst: pmksa_cache_set_expiration
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:124,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 125
    functionName: pmksa_cache_expire
    functionSourceFile: /src/hostap/src/rsn_supp/pmksa_cache.c
    functionUses: 0
    functionsReached:
    - wpa_key_mgmt_sae
    - os_get_reltime
    - struct rsn_pmksa_cache*::is_current_cb
    - wpa_printf
    - pmksa_cache_free_entry
    - pmksa_cache_set_expiration
    - MAC2STR
    linkageType: ''
    returnType: void
    signature: void pmksa_cache_expire(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pmksa_cache_get
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:140,1
    - Dst: wpa_key_mgmt_sae
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:142,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:143,1
    - Dst: wpa_sm_remove_pmkid
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:146,1
    - Dst: eapol_sm_request_reauth
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:153,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 154
    functionName: pmksa_cache_reauth
    functionSourceFile: /src/hostap/src/rsn_supp/pmksa_cache.c
    functionUses: 0
    functionsReached:
    - wpa_key_mgmt_sae
    - wpa_printf
    - wpa_sm_remove_pmkid
    - eapol_sm_request_reauth
    - pmksa_cache_get
    linkageType: ''
    returnType: void
    signature: void pmksa_cache_reauth(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:163,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:164,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:167,1
    - Dst: wpa_key_mgmt_sae
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:171,1
    - Dst: struct rsn_pmksa_cache*::is_current_cb
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:173,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:191,1
    - Dst: pmksa_cache_get
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:197,1
    - Dst: wpa_key_mgmt_sae
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:199,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:205,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 1
    argNames:
    - pmksa
    argTypes:
    - struct rsn_pmksa_cache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 208
    functionName: pmksa_cache_set_expiration
    functionSourceFile: /src/hostap/src/rsn_supp/pmksa_cache.c
    functionUses: 1
    functionsReached:
    - wpa_key_mgmt_sae
    - os_get_reltime
    - struct rsn_pmksa_cache*::is_current_cb
    - eloop_cancel_timeout
    - eloop_register_timeout
    - pmksa_cache_get
    linkageType: ''
    returnType: void
    signature: void pmksa_cache_set_expiration(struct rsn_pmksa_cache *pmksa)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rsn_pmkid_suite_b_192
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:224,1
    - Dst: wpa_key_mgmt_suite_b
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:226,1
    - Dst: rsn_pmkid_suite_b
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:227,1
    - Dst: rsn_pmkid
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - entry
    - aa
    - spa
    - pmkid
    argTypes:
    - struct rsn_pmksa_cache_entry*
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 232
    functionName: pmksa_cache_derive_pmkid
    functionSourceFile: /src/hostap/src/rsn_supp/pmksa_cache.c
    functionUses: 1
    functionsReached:
    - rsn_pmkid_suite_b
    - rsn_pmkid
    - wpa_key_mgmt_suite_b
    - rsn_pmkid_suite_b_192
    linkageType: ''
    returnType: void
    signature: "void pmksa_cache_derive_pmkid(const struct rsn_pmksa_cache_entry *entry,\n\t\t\t
      \     const u8 *aa, const u8 *spa, u8 *pmkid)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_key_mgmt_suite_b
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:273,1
    - Dst: os_zalloc
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:276,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:279,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:282,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:286,1
    - Dst: pmksa_cache_derive_pmkid
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:288,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:289,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:301,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:303,1
    - Dst: os_memcpy
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:304,1
    - Dst: pmksa_cache_add_entry
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:307,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 12
    argNames:
    - pmksa
    - pmk
    - pmk_len
    - pmkid
    - kck
    - kck_len
    - aa
    - spa
    - network_ctx
    - akmp
    - cache_id
    - auth_alg
    argTypes:
    - struct rsn_pmksa_cache*
    - u8*
    - size_t
    - u8*
    - u8*
    - size_t
    - u8*
    - u8*
    - void*
    - int
    - u8*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 308
    functionName: pmksa_cache_add
    functionSourceFile: /src/hostap/src/rsn_supp/pmksa_cache.c
    functionUses: 8
    functionsReached:
    - os_get_reltime
    - os_memcpy
    - pmksa_cache_add_entry
    - wpa_key_mgmt_suite_b
    - os_zalloc
    - pmksa_cache_derive_pmkid
    linkageType: ''
    returnType: struct rsn_pmksa_cache_entry
    signature: "struct rsn_pmksa_cache_entry *\npmksa_cache_add(struct rsn_pmksa_cache
      *pmksa, const u8 *pmk, size_t pmk_len,\n\t\tconst u8 *pmkid, const u8 *kck,
      size_t kck_len,\n\t\tconst u8 *aa, const u8 *spa, void *network_ctx, int akmp,\n\t\tconst
      u8 *cache_id, u16 auth_alg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_get_reltime
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:330,1
    - Dst: wpa_sm_add_pmkid
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:347,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - pmksa
    - entry
    argTypes:
    - struct rsn_pmksa_cache*
    - struct rsn_pmksa_cache_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 320
    functionDepth: 2
    functionLinenumber: 320
    functionLinenumberEnd: 351
    functionName: pmksa_cache_add_to_driver
    functionSourceFile: /src/hostap/src/rsn_supp/pmksa_cache.c
    functionUses: 0
    functionsReached:
    - wpa_sm_add_pmkid
    - os_get_reltime
    linkageType: ''
    returnType: void
    signature: "void pmksa_cache_add_to_driver(struct rsn_pmksa_cache *pmksa,\n\t\t\t\t
      \     struct rsn_pmksa_cache_entry *entry)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:365,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:366,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:368,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:370,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:372,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:374,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:391,1
    - Dst: pmksa_cache_flush
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:395,1
    - Dst: pmksa_cache_free_entry
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:398,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:421,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:424,1
    - Dst: pmksa_cache_free_entry
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:425,1
    - Dst: pmksa_cache_set_expiration
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:441,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:447,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:449,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:449,1
    - Dst: struct rsn_pmksa_cache*::notify_cb
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:456,1
    - Dst: pmksa_cache_add_to_driver
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:458,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 58
    argCount: 2
    argNames:
    - pmksa
    - entry
    argTypes:
    - struct rsn_pmksa_cache*
    - struct rsn_pmksa_cache_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 354
    functionDepth: 3
    functionLinenumber: 354
    functionLinenumberEnd: 461
    functionName: pmksa_cache_add_entry
    functionSourceFile: /src/hostap/src/rsn_supp/pmksa_cache.c
    functionUses: 7
    functionsReached:
    - pmksa_cache_flush
    - wpa_printf
    - pmksa_cache_free_entry
    - struct rsn_pmksa_cache*::notify_cb
    - ether_addr_equal
    - pmksa_cache_set_expiration
    - os_memcmp_const
    - MAC2STR
    - pmksa_cache_add_to_driver
    - os_free
    linkageType: ''
    returnType: struct rsn_pmksa_cache_entry
    signature: "struct rsn_pmksa_cache_entry *\npmksa_cache_add_entry(struct rsn_pmksa_cache
      *pmksa,\n\t\t      struct rsn_pmksa_cache_entry *entry)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:487,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:489,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:490,1
    - Dst: pmksa_cache_free_entry
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:497,1
    - Dst: pmksa_cache_set_expiration
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:505,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 6
    argNames:
    - pmksa
    - network_ctx
    - pmk
    - pmk_len
    - external_only
    - addr
    argTypes:
    - struct rsn_pmksa_cache*
    - void*
    - u8*
    - size_t
    - bool
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 506
    functionName: pmksa_cache_flush
    functionSourceFile: /src/hostap/src/rsn_supp/pmksa_cache.c
    functionUses: 15
    functionsReached:
    - wpa_printf
    - pmksa_cache_free_entry
    - pmksa_cache_set_expiration
    - MAC2STR
    - os_memcmp
    linkageType: ''
    returnType: void
    signature: "void pmksa_cache_flush(struct rsn_pmksa_cache *pmksa, void *network_ctx,\n\t\t
      \      const u8 *pmk, size_t pmk_len, bool external_only,\n\t\t       const
      u8 *addr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:525,1
    - Dst: pmksa_cache_set_expiration
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:527,1
    - Dst: os_free
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:528,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - pmksa
    argTypes:
    - struct rsn_pmksa_cache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 529
    functionName: pmksa_cache_deinit
    functionSourceFile: /src/hostap/src/rsn_supp/pmksa_cache.c
    functionUses: 1
    functionsReached:
    - os_free
    - pmksa_cache_set_expiration
    linkageType: ''
    returnType: void
    signature: void pmksa_cache_deinit(struct rsn_pmksa_cache *pmksa)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:549,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:550,1
    - Dst: os_memcmp
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:552,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 7
    argCount: 6
    argNames:
    - pmksa
    - aa
    - spa
    - pmkid
    - network_ctx
    - akmp
    argTypes:
    - struct rsn_pmksa_cache*
    - u8*
    - u8*
    - u8*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 559
    functionName: pmksa_cache_get
    functionSourceFile: /src/hostap/src/rsn_supp/pmksa_cache.c
    functionUses: 11
    functionsReached:
    - ether_addr_equal
    - os_memcmp
    linkageType: ''
    returnType: struct rsn_pmksa_cache_entry
    signature: "struct rsn_pmksa_cache_entry * pmksa_cache_get(struct rsn_pmksa_cache
      *pmksa,\n\t\t\t\t\t       const u8 *aa, const u8 *spa,\n\t\t\t\t\t       const
      u8 *pmkid,\n\t\t\t\t\t       const void *network_ctx,\n\t\t\t\t\t       int
      akmp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_key_mgmt_sae
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:575,1
    - Dst: wpa_key_mgmt_fils
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:576,1
    - Dst: pmksa_cache_add
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:578,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - pmksa
    - old_entry
    - aa
    argTypes:
    - struct rsn_pmksa_cache*
    - struct rsn_pmksa_cache_entry*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 562
    functionDepth: 3
    functionLinenumber: 562
    functionLinenumberEnd: 594
    functionName: pmksa_cache_clone_entry
    functionSourceFile: /src/hostap/src/rsn_supp/pmksa_cache.c
    functionUses: 1
    functionsReached:
    - wpa_key_mgmt_sae
    - pmksa_cache_add
    - wpa_key_mgmt_fils
    linkageType: ''
    returnType: struct rsn_pmksa_cache_entry
    signature: "struct rsn_pmksa_cache_entry *\npmksa_cache_clone_entry(struct rsn_pmksa_cache
      *pmksa,\n\t\t\tconst struct rsn_pmksa_cache_entry *old_entry,\n\t\t\tconst u8
      *aa)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:615,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:615,1
    - Dst: wpa_key_mgmt_sae
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:623,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:624,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:626,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:630,1
    - Dst: pmksa_cache_clone_entry
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:635,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:637,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:639,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 4
    argNames:
    - pmksa
    - network_ctx
    - aa
    - akmp
    argTypes:
    - struct rsn_pmksa_cache*
    - void*
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 609
    functionDepth: 4
    functionLinenumber: 609
    functionLinenumberEnd: 646
    functionName: pmksa_cache_get_opportunistic
    functionSourceFile: /src/hostap/src/rsn_supp/pmksa_cache.c
    functionUses: 1
    functionsReached:
    - wpa_key_mgmt_sae
    - wpa_printf
    - os_get_reltime
    - MAC2STR
    - pmksa_cache_clone_entry
    linkageType: ''
    returnType: struct rsn_pmksa_cache_entry
    signature: "struct rsn_pmksa_cache_entry *\npmksa_cache_get_opportunistic(struct
      rsn_pmksa_cache *pmksa, void *network_ctx,\n\t\t\t      const u8 *aa, int akmp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:658,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - pmksa
    - network_ctx
    - cache_id
    argTypes:
    - struct rsn_pmksa_cache*
    - void*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 664
    functionName: pmksa_cache_get_fils_cache_id
    functionSourceFile: /src/hostap/src/rsn_supp/pmksa_cache.c
    functionUses: 0
    functionsReached:
    - os_memcmp
    linkageType: ''
    returnType: struct rsn_pmksa_cache_entry
    signature: "struct rsn_pmksa_cache_entry *\npmksa_cache_get_fils_cache_id(struct
      rsn_pmksa_cache *pmksa,\n\t\t\t      const void *network_ctx, const u8 *cache_id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 677
    functionName: pmksa_cache_get_current
    functionSourceFile: /src/hostap/src/rsn_supp/pmksa_cache.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: struct rsn_pmksa_cache_entry
    signature: struct rsn_pmksa_cache_entry * pmksa_cache_get_current(struct wpa_sm
      *sm)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:689,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 692
    functionName: pmksa_cache_clear_current
    functionSourceFile: /src/hostap/src/rsn_supp/pmksa_cache.c
    functionUses: 4
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void pmksa_cache_clear_current(struct wpa_sm *sm)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:713,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:717,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:720,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:721,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:723,1
    - Dst: pmksa_cache_get
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:729,1
    - Dst: pmksa_cache_get
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:732,1
    - Dst: pmksa_cache_get_opportunistic
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:735,1
    - Dst: pmksa_cache_get_fils_cache_id
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:739,1
    - Dst: wpa_key_mgmt_sae
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:745,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:746,1
    - Dst: wpa_sm_remove_pmkid
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:754,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:758,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:761,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:763,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:767,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:773,1
    - Dst: wpa_printf
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:777,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 33
    argCount: 8
    argNames:
    - sm
    - pmkid
    - bssid
    - network_ctx
    - try_opportunistic
    - fils_cache_id
    - akmp
    - associated
    argTypes:
    - struct wpa_sm*
    - u8*
    - u8*
    - void*
    - int
    - u8*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 707
    functionDepth: 5
    functionLinenumber: 707
    functionLinenumberEnd: 779
    functionName: pmksa_cache_set_current
    functionSourceFile: /src/hostap/src/rsn_supp/pmksa_cache.c
    functionUses: 5
    functionsReached:
    - wpa_key_mgmt_sae
    - wpa_printf
    - os_get_reltime
    - wpa_hexdump
    - wpa_sm_remove_pmkid
    - MAC2STR
    - pmksa_cache_get_fils_cache_id
    - pmksa_cache_get_opportunistic
    - pmksa_cache_get
    linkageType: ''
    returnType: int
    signature: "int pmksa_cache_set_current(struct wpa_sm *sm, const u8 *pmkid,\n\t\t\t
      \   const u8 *bssid, void *network_ctx,\n\t\t\t    int try_opportunistic, const
      u8 *fils_cache_id,\n\t\t\t    int akmp, bool associated)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: os_get_reltime
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:807,1
    - Dst: os_snprintf
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:808,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:812,1
    - Dst: os_snprintf
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:819,1
    - Dst: MAC2STR
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:820,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:821,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:824,1
    - Dst: os_snprintf
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:826,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:829,1
    - Dst: os_snprintf
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:833,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:836,1
    - Dst: os_snprintf
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:840,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:841,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 3
    argNames:
    - pmksa
    - buf
    - len
    argTypes:
    - struct rsn_pmksa_cache*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 792
    functionDepth: 1
    functionLinenumber: 792
    functionLinenumberEnd: 847
    functionName: pmksa_cache_list
    functionSourceFile: /src/hostap/src/rsn_supp/pmksa_cache.c
    functionUses: 2
    functionsReached:
    - os_get_reltime
    - wpa_snprintf_hex
    - os_snprintf
    - MAC2STR
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: int pmksa_cache_list(struct rsn_pmksa_cache *pmksa, char *buf, size_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pmksa
    argTypes:
    - struct rsn_pmksa_cache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 853
    functionName: pmksa_cache_head
    functionSourceFile: /src/hostap/src/rsn_supp/pmksa_cache.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: struct rsn_pmksa_cache_entry
    signature: struct rsn_pmksa_cache_entry * pmksa_cache_head(struct rsn_pmksa_cache
      *pmksa)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:874,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - sm
    argTypes:
    - void*
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 863
    functionDepth: 0
    functionLinenumber: 863
    functionLinenumberEnd: 884
    functionName: pmksa_cache_init
    functionSourceFile: /src/hostap/src/rsn_supp/pmksa_cache.c
    functionUses: 1
    functionsReached:
    - os_zalloc
    linkageType: ''
    returnType: struct rsn_pmksa_cache
    signature: "struct rsn_pmksa_cache *\npmksa_cache_init(void (*free_cb)(struct
      rsn_pmksa_cache_entry *entry,\n\t\t\t\t void *ctx, enum pmksa_free_reason reason),\n\t\t
      bool (*is_current_cb)(struct rsn_pmksa_cache_entry *entry,\n\t\t\t\t       void
      *ctx),\n\t\t void (*notify_cb)(struct rsn_pmksa_cache_entry *entry,\n\t\t\t\t
      \  void *ctx),\n\t\t void *ctx, struct wpa_sm *sm)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pmksa_cache_add_to_driver
      Src: /src/hostap/src/rsn_supp/pmksa_cache.c:895,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pmksa
    argTypes:
    - struct rsn_pmksa_cache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 887
    functionDepth: 3
    functionLinenumber: 887
    functionLinenumberEnd: 896
    functionName: pmksa_cache_reconfig
    functionSourceFile: /src/hostap/src/rsn_supp/pmksa_cache.c
    functionUses: 2
    functionsReached:
    - pmksa_cache_add_to_driver
    linkageType: ''
    returnType: void
    signature: void pmksa_cache_reconfig(struct rsn_pmksa_cache *pmksa)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - sm
    argTypes:
    - void*
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 900
    functionDepth: 0
    functionLinenumber: 900
    functionLinenumberEnd: 910
    functionName: pmksa_cache_init
    functionSourceFile: /src/hostap/src/rsn_supp/pmksa_cache.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: struct rsn_pmksa_cache
    signature: "struct rsn_pmksa_cache *\npmksa_cache_init(void (*free_cb)(struct
      rsn_pmksa_cache_entry *entry,\n\t\t\t\t void *ctx, enum pmksa_free_reason reason),\n\t\t
      bool (*is_current_cb)(struct rsn_pmksa_cache_entry *entry,\n\t\t\t\t       void
      *ctx),\n\t\t void (*notify_cb)(struct rsn_pmksa_cache_entry *entry,\n\t\t\t\t
      \  void *ctx),\n\t\t void *ctx, struct wpa_sm *sm)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pmksa
    argTypes:
    - struct rsn_pmksa_cache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 915
      start: 913
    functionDepth: 0
    functionLinenumber: 913
    functionLinenumberEnd: 915
    functionName: pmksa_cache_deinit
    functionSourceFile: /src/hostap/src/rsn_supp/pmksa_cache.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pmksa_cache_deinit(struct rsn_pmksa_cache *pmksa)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - pmksa
    - aa
    - spa
    - pmkid
    - network_ctx
    - akmp
    argTypes:
    - struct rsn_pmksa_cache*
    - u8*
    - u8*
    - u8*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 918
    functionDepth: 0
    functionLinenumber: 918
    functionLinenumberEnd: 923
    functionName: pmksa_cache_get
    functionSourceFile: /src/hostap/src/rsn_supp/pmksa_cache.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: struct rsn_pmksa_cache_entry
    signature: "struct rsn_pmksa_cache_entry *\npmksa_cache_get(struct rsn_pmksa_cache
      *pmksa, const u8 *aa, const u8 *spa,\n\t\tconst u8 *pmkid, const void *network_ctx,
      int akmp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 926
    functionDepth: 0
    functionLinenumber: 926
    functionLinenumberEnd: 930
    functionName: pmksa_cache_get_current
    functionSourceFile: /src/hostap/src/rsn_supp/pmksa_cache.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: struct rsn_pmksa_cache_entry
    signature: 'struct rsn_pmksa_cache_entry *

      pmksa_cache_get_current(struct wpa_sm *sm)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pmksa
    - buf
    - len
    argTypes:
    - struct rsn_pmksa_cache*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 933
    functionDepth: 0
    functionLinenumber: 933
    functionLinenumberEnd: 936
    functionName: pmksa_cache_list
    functionSourceFile: /src/hostap/src/rsn_supp/pmksa_cache.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pmksa_cache_list(struct rsn_pmksa_cache *pmksa, char *buf, size_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pmksa
    argTypes:
    - struct rsn_pmksa_cache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 939
    functionDepth: 0
    functionLinenumber: 939
    functionLinenumberEnd: 943
    functionName: pmksa_cache_head
    functionSourceFile: /src/hostap/src/rsn_supp/pmksa_cache.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: struct rsn_pmksa_cache_entry
    signature: 'struct rsn_pmksa_cache_entry *

      pmksa_cache_head(struct rsn_pmksa_cache *pmksa)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pmksa
    - entry
    argTypes:
    - struct rsn_pmksa_cache*
    - struct rsn_pmksa_cache_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 951
    functionName: pmksa_cache_add_entry
    functionSourceFile: /src/hostap/src/rsn_supp/pmksa_cache.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: struct rsn_pmksa_cache_entry
    signature: "struct rsn_pmksa_cache_entry *\npmksa_cache_add_entry(struct rsn_pmksa_cache
      *pmksa,\n\t\t      struct rsn_pmksa_cache_entry *entry)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 12
    argNames:
    - pmksa
    - pmk
    - pmk_len
    - pmkid
    - kck
    - kck_len
    - aa
    - spa
    - network_ctx
    - akmp
    - cache_id
    - auth_alg
    argTypes:
    - struct rsn_pmksa_cache*
    - u8*
    - size_t
    - u8*
    - u8*
    - size_t
    - u8*
    - u8*
    - void*
    - int
    - u8*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 954
    functionDepth: 0
    functionLinenumber: 954
    functionLinenumberEnd: 961
    functionName: pmksa_cache_add
    functionSourceFile: /src/hostap/src/rsn_supp/pmksa_cache.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: struct rsn_pmksa_cache_entry
    signature: "struct rsn_pmksa_cache_entry *\npmksa_cache_add(struct rsn_pmksa_cache
      *pmksa, const u8 *pmk, size_t pmk_len,\n\t\tconst u8 *pmkid, const u8 *kck,
      size_t kck_len,\n\t\tconst u8 *aa, const u8 *spa, void *network_ctx, int akmp,\n\t\tconst
      u8 *cache_id, u16 auth_alg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 964
    functionDepth: 0
    functionLinenumber: 964
    functionLinenumberEnd: 966
    functionName: pmksa_cache_clear_current
    functionSourceFile: /src/hostap/src/rsn_supp/pmksa_cache.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pmksa_cache_clear_current(struct wpa_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - sm
    - pmkid
    - bssid
    - network_ctx
    - try_opportunistic
    - fils_cache_id
    - akmp
    - associated
    argTypes:
    - struct wpa_sm*
    - u8*
    - u8*
    - void*
    - int
    - u8*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 969
    functionDepth: 0
    functionLinenumber: 969
    functionLinenumberEnd: 974
    functionName: pmksa_cache_set_current
    functionSourceFile: /src/hostap/src/rsn_supp/pmksa_cache.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int pmksa_cache_set_current(struct wpa_sm *sm, const u8 *pmkid, const
      u8 *bssid,\n\t\t\t    void *network_ctx, int try_opportunistic,\n\t\t\t    const
      u8 *fils_cache_id, int akmp, bool associated)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 6
    argNames:
    - pmksa
    - network_ctx
    - pmk
    - pmk_len
    - external_only
    - addr
    argTypes:
    - struct rsn_pmksa_cache*
    - void*
    - u8*
    - size_t
    - bool
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 981
      start: 977
    functionDepth: 0
    functionLinenumber: 977
    functionLinenumberEnd: 981
    functionName: pmksa_cache_flush
    functionSourceFile: /src/hostap/src/rsn_supp/pmksa_cache.c
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void pmksa_cache_flush(struct rsn_pmksa_cache *pmksa, void *network_ctx,\n\t\t
      \      const u8 *pmk, size_t pmk_len, bool external_only,\n\t\t       const
      u8 *addr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - pmksa
    - entry
    argTypes:
    - struct rsn_pmksa_cache*
    - struct rsn_pmksa_cache_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 987
      start: 984
    functionDepth: 0
    functionLinenumber: 984
    functionLinenumberEnd: 987
    functionName: pmksa_cache_remove
    functionSourceFile: /src/hostap/src/rsn_supp/pmksa_cache.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void pmksa_cache_remove(struct rsn_pmksa_cache *pmksa,\n\t\t\tstruct
      rsn_pmksa_cache_entry *entry)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pmksa
    argTypes:
    - struct rsn_pmksa_cache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 992
    functionName: pmksa_cache_reconfig
    functionSourceFile: /src/hostap/src/rsn_supp/pmksa_cache.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pmksa_cache_reconfig(struct rsn_pmksa_cache *pmksa)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - nan
    argTypes:
    - struct nan_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 686
    functionName: nan_get_next_dialog_token
    functionSourceFile: /src/hostap/src/nan/nan_i.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 nan_get_next_dialog_token(struct nan_data *nan)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - nan
    argTypes:
    - struct nan_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 700
    functionName: nan_get_next_ndp_id
    functionSourceFile: /src/hostap/src/nan/nan_i.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 nan_get_next_ndp_id(struct nan_data *nan)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - nan
    - nonce
    - tag
    argTypes:
    - struct nan_config*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 860
    functionName: nan_nira_get_tag_nonce
    functionSourceFile: /src/hostap/src/nan/nan_i.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int nan_nira_get_tag_nonce(const struct nan_config *nan, u8 *nonce,
      u8 *tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - peer
    argTypes:
    - struct nan_peer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 862
    functionDepth: 0
    functionLinenumber: 862
    functionLinenumberEnd: 864
    functionName: nan_pairing_deinit_peer
    functionSourceFile: /src/hostap/src/nan/nan_i.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nan_pairing_deinit_peer(struct nan_peer *peer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: C2S
      Src: /src/hostap/src/nan/nan_ndp.c:18,1
    - Dst: C2S
      Src: /src/hostap/src/nan/nan_ndp.c:19,1
    - Dst: C2S
      Src: /src/hostap/src/nan/nan_ndp.c:20,1
    - Dst: C2S
      Src: /src/hostap/src/nan/nan_ndp.c:21,1
    - Dst: C2S
      Src: /src/hostap/src/nan/nan_ndp.c:22,1
    - Dst: C2S
      Src: /src/hostap/src/nan/nan_ndp.c:23,1
    - Dst: C2S
      Src: /src/hostap/src/nan/nan_ndp.c:24,1
    - Dst: C2S
      Src: /src/hostap/src/nan/nan_ndp.c:25,1
    - Dst: C2S
      Src: /src/hostap/src/nan/nan_ndp.c:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - state
    argTypes:
    - enum nan_ndp_state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 30
    functionName: nan_ndp_state_str
    functionSourceFile: /src/hostap/src/nan/nan_ndp.c
    functionUses: 0
    functionsReached:
    - C2S
    linkageType: ''
    returnType: char
    signature: char * nan_ndp_state_str(enum nan_ndp_state state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 17
    functionName: C2S
    functionSourceFile: /src/hostap/src/nan/nan_ndp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: C2S(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndp.c:37,1
    - Dst: nan_ndp_state_str
      Src: /src/hostap/src/nan/nan_ndp.c:39,1
    - Dst: nan_ndp_state_str
      Src: /src/hostap/src/nan/nan_ndp.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - nan
    - ndp_setup
    - state
    argTypes:
    - struct nan_data*
    - struct nan_ndp_setup*
    - enum nan_ndp_state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 44
    functionName: nan_ndp_set_state
    functionSourceFile: /src/hostap/src/nan/nan_ndp.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - nan_ndp_state_str
    linkageType: ''
    returnType: void
    signature: "void nan_ndp_set_state(struct nan_data *nan,\n\t\t\t      struct nan_ndp_setup
      *ndp_setup,\n\t\t\t      enum nan_ndp_state state)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/nan/nan_ndp.c:52,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_ndp.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 7
    argNames:
    - nan
    - peer
    - initiator
    - init_ndi
    - ndp_id
    - min_slots
    - max_latency
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - u8
    - u8*
    - u8
    - u8
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 67
    functionName: nan_ndp_alloc
    functionSourceFile: /src/hostap/src/nan/nan_ndp.c
    functionUses: 0
    functionsReached:
    - os_zalloc
    - os_memcpy
    linkageType: ''
    returnType: struct nan_ndp
    signature: "struct nan_ndp *\nnan_ndp_alloc(struct nan_data *nan, struct nan_peer
      *peer,\n\t      u8 initiator, u8 *init_ndi, u8 ndp_id, u8 min_slots,\n\t      u16
      max_latency)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/nan/nan_ndp.c:73,1
    - Dst: os_memdup
      Src: /src/hostap/src/nan/nan_ndp.c:80,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndp.c:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - nan
    - ndp_setup
    - ssi
    - ssi_len
    argTypes:
    - struct nan_data*
    - struct nan_ndp_setup*
    - u8*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 88
    functionName: nan_ndp_ssi
    functionSourceFile: /src/hostap/src/nan/nan_ndp.c
    functionUses: 0
    functionsReached:
    - os_free
    - os_memdup
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int nan_ndp_ssi(struct nan_data *nan, struct nan_ndp_setup *ndp_setup,\n\t\t
      \      const u8 *ssi, u16 ssi_len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndp.c:107,1
    - Dst: nan_ndp_alloc
      Src: /src/hostap/src/nan/nan_ndp.c:111,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndp.c:117,1
    - Dst: nan_get_next_dialog_token
      Src: /src/hostap/src/nan/nan_ndp.c:121,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_ndp.c:123,1
    - Dst: nan_ndp_ssi
      Src: /src/hostap/src/nan/nan_ndp.c:130,1
    - Dst: os_free
      Src: /src/hostap/src/nan/nan_ndp.c:132,1
    - Dst: nan_sec_reset
      Src: /src/hostap/src/nan/nan_ndp.c:137,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_ndp.c:141,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_ndp.c:149,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndp.c:154,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_ndp.c:157,1
    - Dst: nan_ndp_set_state
      Src: /src/hostap/src/nan/nan_ndp.c:164,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 37
    argCount: 3
    argNames:
    - nan
    - peer
    - params
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - struct nan_ndp_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 167
    functionName: nan_ndp_setup_req
    functionSourceFile: /src/hostap/src/nan/nan_ndp.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - nan_sec_reset
    - nan_get_next_dialog_token
    - nan_ndp_alloc
    - nan_ndp_set_state
    - os_free
    - nan_ndp_ssi
    linkageType: ''
    returnType: int
    signature: "int nan_ndp_setup_req(struct nan_data *nan, struct nan_peer *peer,\n\t\t
      \     struct nan_ndp_params *params)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/src/nan/nan_ndp.c:188,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndp.c:190,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndp.c:196,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndp.c:203,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_ndp.c:216,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndp.c:220,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndp.c:227,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_ndp.c:233,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_ndp.c:235,1
    - Dst: nan_sec_init_resp
      Src: /src/hostap/src/nan/nan_ndp.c:239,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndp.c:241,1
    - Dst: nan_ndp_ssi
      Src: /src/hostap/src/nan/nan_ndp.c:256,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndp.c:261,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_ndp.c:264,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 3
    argNames:
    - nan
    - peer
    - params
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - struct nan_ndp_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 272
    functionName: nan_ndp_setup_resp
    functionSourceFile: /src/hostap/src/nan/nan_ndp.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - ether_addr_equal
    - nan_sec_init_resp
    - nan_ndp_ssi
    linkageType: ''
    returnType: int
    signature: "int nan_ndp_setup_resp(struct nan_data *nan, struct nan_peer *peer,\n\t\t
      \      struct nan_ndp_params *params)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndp.c:279,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/nan/nan_ndp.c:283,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndp.c:288,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndp.c:297,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_ndp.c:304,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndp.c:308,1
    - Dst: WPA_GET_BE24
      Src: /src/hostap/src/nan/nan_ndp.c:311,1
    - Dst: nan_ndp_ssi
      Src: /src/hostap/src/nan/nan_ndp.c:313,1
    - Dst: nan_ndp_ssi
      Src: /src/hostap/src/nan/nan_ndp.c:316,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndp.c:319,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndp.c:323,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndp.c:333,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 4
    argNames:
    - nan
    - peer
    - tlvs
    - tlvs_len
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - u8*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 340
    functionName: nan_ndp_attr_handle_tlvs
    functionSourceFile: /src/hostap/src/nan/nan_ndp.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_printf
    - WPA_GET_LE16
    - WPA_GET_BE24
    - nan_ndp_ssi
    linkageType: ''
    returnType: int
    signature: "int nan_ndp_attr_handle_tlvs(struct nan_data *nan,\n\t\t\t\t    struct
      nan_peer *peer,\n\t\t\t\t    const u8 *tlvs, u16 tlvs_len)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndp.c:352,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndp.c:358,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndp.c:365,1
    - Dst: nan_publish_instance_id_valid
      Src: /src/hostap/src/nan/nan_ndp.c:372,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndp.c:374,1
    - Dst: nan_ndp_alloc
      Src: /src/hostap/src/nan/nan_ndp.c:381,1
    - Dst: nan_sec_reset
      Src: /src/hostap/src/nan/nan_ndp.c:389,1
    - Dst: nan_ndp_set_state
      Src: /src/hostap/src/nan/nan_ndp.c:390,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndp.c:407,1
    - Dst: nan_ndp_ssi
      Src: /src/hostap/src/nan/nan_ndp.c:410,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndp.c:414,1
    - Dst: nan_ndp_attr_handle_tlvs
      Src: /src/hostap/src/nan/nan_ndp.c:420,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 6
    argNames:
    - nan
    - peer
    - ndp_attr
    - ndp_len
    - status
    - ndpe
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - struct ieee80211_ndp*
    - u16
    - u8
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 343
    functionDepth: 2
    functionLinenumber: 343
    functionLinenumberEnd: 425
    functionName: nan_ndp_attr_handle_req
    functionSourceFile: /src/hostap/src/nan/nan_ndp.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - nan_sec_reset
    - nan_ndp_attr_handle_tlvs
    - nan_ndp_alloc
    - nan_ndp_set_state
    - nan_publish_instance_id_valid
    - nan_ndp_ssi
    linkageType: ''
    returnType: int
    signature: "int nan_ndp_attr_handle_req(struct nan_data *nan, struct nan_peer
      *peer,\n\t\t\t\t   struct ieee80211_ndp *ndp_attr, u16 ndp_len,\n\t\t\t\t   u8
      status, bool ndpe)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndp.c:437,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndp.c:443,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndp.c:455,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndp.c:460,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndp.c:470,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndp.c:478,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/nan/nan_ndp.c:484,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndp.c:486,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndp.c:492,1
    - Dst: nan_ndp_set_state
      Src: /src/hostap/src/nan/nan_ndp.c:494,1
    - Dst: nan_ndp_set_state
      Src: /src/hostap/src/nan/nan_ndp.c:502,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndp.c:509,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndp.c:516,1
    - Dst: nan_ndp_set_state
      Src: /src/hostap/src/nan/nan_ndp.c:522,1
    - Dst: nan_ndp_set_state
      Src: /src/hostap/src/nan/nan_ndp.c:524,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_ndp.c:527,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndp.c:547,1
    - Dst: nan_ndp_ssi
      Src: /src/hostap/src/nan/nan_ndp.c:548,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndp.c:551,1
    - Dst: nan_ndp_attr_handle_tlvs
      Src: /src/hostap/src/nan/nan_ndp.c:557,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 70
    argCount: 6
    argNames:
    - nan
    - peer
    - ndp_attr
    - ndp_len
    - status
    - ndpe
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - struct ieee80211_ndp*
    - u16
    - u8
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 562
    functionName: nan_ndp_attr_handle_res
    functionSourceFile: /src/hostap/src/nan/nan_ndp.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - nan_ndp_attr_handle_tlvs
    - ether_addr_equal
    - nan_ndp_set_state
    - nan_ndp_ssi
    linkageType: ''
    returnType: int
    signature: "int nan_ndp_attr_handle_res(struct nan_data *nan, struct nan_peer
      *peer,\n\t\t\t\t   struct ieee80211_ndp *ndp_attr, u16 ndp_len,\n\t\t\t\t   u8
      status, bool ndpe)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndp.c:574,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndp.c:580,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndp.c:593,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/nan/nan_ndp.c:599,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndp.c:601,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndp.c:608,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndp.c:614,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndp.c:620,1
    - Dst: nan_ndp_set_state
      Src: /src/hostap/src/nan/nan_ndp.c:622,1
    - Dst: nan_ndp_set_state
      Src: /src/hostap/src/nan/nan_ndp.c:629,1
    - Dst: nan_ndp_set_state
      Src: /src/hostap/src/nan/nan_ndp.c:632,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 4
    argNames:
    - nan
    - peer
    - ndp_attr
    - status
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - struct ieee80211_ndp*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 565
    functionDepth: 2
    functionLinenumber: 565
    functionLinenumberEnd: 635
    functionName: nan_ndp_attr_handle_confirm
    functionSourceFile: /src/hostap/src/nan/nan_ndp.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - ether_addr_equal
    - nan_ndp_set_state
    linkageType: ''
    returnType: int
    signature: "int nan_ndp_attr_handle_confirm(struct nan_data *nan,\n\t\t\t\t       struct
      nan_peer *peer,\n\t\t\t\t       struct ieee80211_ndp *ndp_attr,\n\t\t\t\t       u8
      status)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/nan/nan_ndp.c:643,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/nan/nan_ndp.c:645,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - peer
    - ndp_id
    - init_ndi
    argTypes:
    - struct nan_peer*
    - u8
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 638
    functionDepth: 1
    functionLinenumber: 638
    functionLinenumberEnd: 650
    functionName: nan_ndp_find_ndp
    functionSourceFile: /src/hostap/src/nan/nan_ndp.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    - ether_addr_equal
    linkageType: ''
    returnType: struct nan_ndp
    signature: "struct nan_ndp * nan_ndp_find_ndp(struct nan_peer *peer,\n\t\t\t\t\t
      u8 ndp_id, const u8 *init_ndi)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndp.c:661,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndp.c:667,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndp.c:679,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/nan/nan_ndp.c:685,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndp.c:687,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndp.c:694,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndp.c:700,1
    - Dst: nan_ndp_set_state
      Src: /src/hostap/src/nan/nan_ndp.c:705,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 4
    argNames:
    - nan
    - peer
    - ndp_attr
    - status
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - struct ieee80211_ndp*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 653
    functionDepth: 2
    functionLinenumber: 653
    functionLinenumberEnd: 707
    functionName: nan_ndp_attr_sec_install
    functionSourceFile: /src/hostap/src/nan/nan_ndp.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - ether_addr_equal
    - nan_ndp_set_state
    linkageType: ''
    returnType: int
    signature: "int nan_ndp_attr_sec_install(struct nan_data *nan, struct nan_peer
      *peer,\n\t\t\t\t    const struct ieee80211_ndp *ndp_attr,\n\t\t\t\t    u8 status)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndp.c:718,1
    - Dst: MAC2STR
      Src: /src/hostap/src/nan/nan_ndp.c:721,1
    - Dst: MAC2STR
      Src: /src/hostap/src/nan/nan_ndp.c:722,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/nan/nan_ndp.c:730,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndp.c:732,1
    - Dst: nan_ndp_set_state
      Src: /src/hostap/src/nan/nan_ndp.c:735,1
    - Dst: nan_ndp_find_ndp
      Src: /src/hostap/src/nan/nan_ndp.c:742,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndp.c:745,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndp.c:750,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_ndp.c:752,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_ndp.c:753,1
    - Dst: dl_list_del
      Src: /src/hostap/src/nan/nan_ndp.c:770,1
    - Dst: nan_ndp_terminated
      Src: /src/hostap/src/nan/nan_ndp.c:772,1
    - Dst: os_free
      Src: /src/hostap/src/nan/nan_ndp.c:775,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 4
    argNames:
    - nan
    - peer
    - ndp_attr
    - status
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - struct ieee80211_ndp*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 710
    functionDepth: 2
    functionLinenumber: 710
    functionLinenumberEnd: 779
    functionName: nan_ndp_attr_handle_term
    functionSourceFile: /src/hostap/src/nan/nan_ndp.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - nan_ndp_terminated
    - dl_list_del
    - ether_addr_equal
    - nan_ndp_find_ndp
    - MAC2STR
    - nan_ndp_set_state
    - os_free
    linkageType: ''
    returnType: int
    signature: "int nan_ndp_attr_handle_term(struct nan_data *nan, struct nan_peer
      *peer,\n\t\t\t\t    struct ieee80211_ndp *ndp_attr, u8 status)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: nan_is_ndpe_supported
      Src: /src/hostap/src/nan/nan_ndp.c:803,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndp.c:804,1
    - Dst: BITS
      Src: /src/hostap/src/nan/nan_ndp.c:825,1
    - Dst: BITS
      Src: /src/hostap/src/nan/nan_ndp.c:827,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndp.c:831,1
    - Dst: nan_ndp_state_str
      Src: /src/hostap/src/nan/nan_ndp.c:833,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndp.c:837,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndp.c:840,1
    - Dst: nan_ndp_attr_handle_req
      Src: /src/hostap/src/nan/nan_ndp.c:845,1
    - Dst: nan_ndp_attr_handle_res
      Src: /src/hostap/src/nan/nan_ndp.c:850,1
    - Dst: nan_ndp_attr_handle_confirm
      Src: /src/hostap/src/nan/nan_ndp.c:855,1
    - Dst: nan_ndp_attr_sec_install
      Src: /src/hostap/src/nan/nan_ndp.c:858,1
    - Dst: nan_ndp_attr_handle_term
      Src: /src/hostap/src/nan/nan_ndp.c:861,1
    - Dst: nan_sec_rx
      Src: /src/hostap/src/nan/nan_ndp.c:871,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 50
    argCount: 3
    argNames:
    - nan
    - peer
    - msg
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - struct nan_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 791
    functionDepth: 3
    functionLinenumber: 791
    functionLinenumberEnd: 881
    functionName: nan_ndp_handle_ndp_attr
    functionSourceFile: /src/hostap/src/nan/nan_ndp.c
    functionUses: 0
    functionsReached:
    - nan_is_ndpe_supported
    - nan_ndp_attr_handle_confirm
    - wpa_printf
    - nan_ndp_attr_handle_res
    - nan_ndp_attr_handle_term
    - BITS
    - nan_ndp_state_str
    - nan_ndp_attr_handle_req
    - nan_sec_rx
    - nan_ndp_attr_sec_install
    linkageType: ''
    returnType: int
    signature: "int nan_ndp_handle_ndp_attr(struct nan_data *nan, struct nan_peer
      *peer,\n\t\t\t    struct nan_msg *msg)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: nan_is_ndpe_supported
      Src: /src/hostap/src/nan/nan_ndp.c:903,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_ndp.c:957,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_ndp.c:959,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/nan/nan_ndp.c:961,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_ndp.c:963,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_ndp.c:964,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_ndp.c:966,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/nan/nan_ndp.c:967,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_ndp.c:968,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_ndp.c:969,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_ndp.c:972,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/nan/nan_ndp.c:975,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/nan/nan_ndp.c:979,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_ndp.c:987,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/nan/nan_ndp.c:988,1
    - Dst: wpabuf_put_be24
      Src: /src/hostap/src/nan/nan_ndp.c:989,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_ndp.c:990,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/nan/nan_ndp.c:991,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_ndp.c:997,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/nan/nan_ndp.c:998,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/nan/nan_ndp.c:999,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/nan/nan_ndp.c:1003,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/nan/nan_ndp.c:1003,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 79
    argCount: 3
    argNames:
    - nan
    - peer
    - buf
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 891
    functionDepth: 1
    functionLinenumber: 891
    functionLinenumberEnd: 1005
    functionName: nan_ndp_add_ndp_attr
    functionSourceFile: /src/hostap/src/nan/nan_ndp.c
    functionUses: 0
    functionsReached:
    - nan_is_ndpe_supported
    - wpabuf_put
    - wpabuf_put_data
    - wpabuf_put_u8
    - wpabuf_put_le16
    - wpabuf_put_be24
    - WPA_PUT_LE16
    linkageType: ''
    returnType: int
    signature: "int nan_ndp_add_ndp_attr(struct nan_data *nan, struct nan_peer *peer,\n\t\t\t
      struct wpabuf *buf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/nan/nan_ndp.c:1018,1
    - Dst: os_free
      Src: /src/hostap/src/nan/nan_ndp.c:1019,1
    - Dst: os_memset
      Src: /src/hostap/src/nan/nan_ndp.c:1021,1
    - Dst: nan_ndp_set_state
      Src: /src/hostap/src/nan/nan_ndp.c:1022,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - nan
    - peer
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1023
      start: 1013
    functionDepth: 2
    functionLinenumber: 1013
    functionLinenumberEnd: 1023
    functionName: nan_ndp_setup_reset
    functionSourceFile: /src/hostap/src/nan/nan_ndp.c
    functionUses: 0
    functionsReached:
    - os_free
    - nan_ndp_set_state
    - os_memset
    linkageType: ''
    returnType: void
    signature: void nan_ndp_setup_reset(struct nan_data *nan, struct nan_peer *peer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndp.c:1038,1
    - Dst: MAC2STR
      Src: /src/hostap/src/nan/nan_ndp.c:1040,1
    - Dst: nan_ndp_state_str
      Src: /src/hostap/src/nan/nan_ndp.c:1040,1
    - Dst: nan_ndp_setup_reset
      Src: /src/hostap/src/nan/nan_ndp.c:1044,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - nan
    - peer
    - reason
    - reset_state
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - enum nan_reason
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1033
    functionDepth: 3
    functionLinenumber: 1033
    functionLinenumberEnd: 1049
    functionName: nan_ndp_setup_failure
    functionSourceFile: /src/hostap/src/nan/nan_ndp.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    - nan_ndp_state_str
    - nan_ndp_setup_reset
    linkageType: ''
    returnType: void
    signature: "void nan_ndp_setup_failure(struct nan_data *nan, struct nan_peer *peer,\n\t\t\t
      \  enum nan_reason reason, bool reset_state)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndp.c:1071,1
    - Dst: nan_ndp_state_str
      Src: /src/hostap/src/nan/nan_ndp.c:1072,1
    - Dst: nan_ndp_set_state
      Src: /src/hostap/src/nan/nan_ndp.c:1085,1
    - Dst: nan_ndp_set_state
      Src: /src/hostap/src/nan/nan_ndp.c:1091,1
    - Dst: nan_ndp_set_state
      Src: /src/hostap/src/nan/nan_ndp.c:1094,1
    - Dst: nan_ndp_set_state
      Src: /src/hostap/src/nan/nan_ndp.c:1101,1
    - Dst: nan_ndp_set_state
      Src: /src/hostap/src/nan/nan_ndp.c:1104,1
    - Dst: nan_ndp_set_state
      Src: /src/hostap/src/nan/nan_ndp.c:1111,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 36
    argCount: 3
    argNames:
    - nan
    - peer
    - subtype
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - enum nan_subtype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1123
      start: 1061
    functionDepth: 2
    functionLinenumber: 1061
    functionLinenumberEnd: 1123
    functionName: nan_ndp_naf_sent
    functionSourceFile: /src/hostap/src/nan/nan_ndp.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - nan_ndp_state_str
    - nan_ndp_set_state
    linkageType: ''
    returnType: int
    signature: "int nan_ndp_naf_sent(struct nan_data *nan, struct nan_peer *peer,\n\t\t
      \    enum nan_subtype subtype)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndp.c:1139,1
    - Dst: MAC2STR
      Src: /src/hostap/src/nan/nan_ndp.c:1142,1
    - Dst: MAC2STR
      Src: /src/hostap/src/nan/nan_ndp.c:1143,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/nan/nan_ndp.c:1147,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndp.c:1149,1
    - Dst: nan_ndp_set_state
      Src: /src/hostap/src/nan/nan_ndp.c:1152,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndp.c:1159,1
    - Dst: nan_ndp_find_ndp
      Src: /src/hostap/src/nan/nan_ndp.c:1165,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndp.c:1167,1
    - Dst: dl_list_del
      Src: /src/hostap/src/nan/nan_ndp.c:1173,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 3
    argNames:
    - nan
    - peer
    - ndp_id
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - struct nan_ndp_id*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1133
    functionDepth: 2
    functionLinenumber: 1133
    functionLinenumberEnd: 1179
    functionName: nan_ndp_term_req
    functionSourceFile: /src/hostap/src/nan/nan_ndp.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dl_list_del
    - ether_addr_equal
    - nan_ndp_find_ndp
    - MAC2STR
    - nan_ndp_set_state
    linkageType: ''
    returnType: int
    signature: "int nan_ndp_term_req(struct nan_data *nan, struct nan_peer *peer,\n\t\t
      \    struct nan_ndp_id *ndp_id)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nan_get_peer
      Src: /src/hostap/src/nan/nan_ndp.c:1194,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndp.c:1196,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/nan/nan_ndp.c:1203,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndp.c:1205,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - nan
    - ndp_id
    argTypes:
    - struct nan_data*
    - struct nan_ndp_id*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1214
      start: 1189
    functionDepth: 1
    functionLinenumber: 1189
    functionLinenumberEnd: 1214
    functionName: nan_ndp_requested_gtk_csid
    functionSourceFile: /src/hostap/src/nan/nan_ndp.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - ether_addr_equal
    - nan_get_peer
    linkageType: ''
    returnType: int
    signature: "int nan_ndp_requested_gtk_csid(struct nan_data *nan,\n\t\t\t       const
      struct nan_ndp_id *ndp_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_del
      Src: /src/hostap/src/nan/nan_util.c:24,1
    - Dst: os_free
      Src: /src/hostap/src/nan/nan_util.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - nan
    - list
    argTypes:
    - struct nan_data*
    - struct dl_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 27
    functionName: nan_attrs_clear_list
    functionSourceFile: /src/hostap/src/nan/nan_util.c
    functionUses: 0
    functionsReached:
    - os_free
    - dl_list_del
    linkageType: ''
    returnType: void
    signature: "void nan_attrs_clear_list(struct nan_data *nan,\n\t\t\t\t struct dl_list
      *list)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_del
      Src: /src/hostap/src/nan/nan_util.c:24,1
    - Dst: os_free
      Src: /src/hostap/src/nan/nan_util.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: dl_list_for_each_safe
    functionSourceFile: /src/hostap/src/nan/nan_util.c
    functionUses: 28
    functionsReached:
    - os_free
    - dl_list_del
    linkageType: ''
    returnType: void
    signature: "void dl_list_for_each_safe(entry, pentry, list, struct nan_attrs_entry,\n\t\t\t
      \     list)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nan_attrs_clear_list
      Src: /src/hostap/src/nan/nan_util.c:37,1
    - Dst: nan_attrs_clear_list
      Src: /src/hostap/src/nan/nan_util.c:38,1
    - Dst: nan_attrs_clear_list
      Src: /src/hostap/src/nan/nan_util.c:39,1
    - Dst: nan_attrs_clear_list
      Src: /src/hostap/src/nan/nan_util.c:40,1
    - Dst: nan_attrs_clear_list
      Src: /src/hostap/src/nan/nan_util.c:41,1
    - Dst: nan_attrs_clear_list
      Src: /src/hostap/src/nan/nan_util.c:42,1
    - Dst: os_memset
      Src: /src/hostap/src/nan/nan_util.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - nan
    - attrs
    argTypes:
    - struct nan_data*
    - struct nan_attrs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 45
    functionName: nan_attrs_clear
    functionSourceFile: /src/hostap/src/nan/nan_util.c
    functionUses: 0
    functionsReached:
    - os_memset
    - nan_attrs_clear_list
    linkageType: ''
    returnType: void
    signature: void nan_attrs_clear(struct nan_data *nan, struct nan_attrs *attrs)
  - BBCount: 67
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/nan/nan_util.c:66,1
    - Dst: dl_list_init
      Src: /src/hostap/src/nan/nan_util.c:68,1
    - Dst: dl_list_init
      Src: /src/hostap/src/nan/nan_util.c:69,1
    - Dst: dl_list_init
      Src: /src/hostap/src/nan/nan_util.c:70,1
    - Dst: dl_list_init
      Src: /src/hostap/src/nan/nan_util.c:71,1
    - Dst: dl_list_init
      Src: /src/hostap/src/nan/nan_util.c:72,1
    - Dst: dl_list_init
      Src: /src/hostap/src/nan/nan_util.c:73,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/nan/nan_util.c:77,1
    - Dst: os_zalloc
      Src: /src/hostap/src/nan/nan_util.c:85,1
    - Dst: dl_list_add_tail
      Src: /src/hostap/src/nan/nan_util.c:91,1
    - Dst: os_zalloc
      Src: /src/hostap/src/nan/nan_util.c:98,1
    - Dst: dl_list_add_tail
      Src: /src/hostap/src/nan/nan_util.c:104,1
    - Dst: os_zalloc
      Src: /src/hostap/src/nan/nan_util.c:119,1
    - Dst: dl_list_add_tail
      Src: /src/hostap/src/nan/nan_util.c:125,1
    - Dst: os_zalloc
      Src: /src/hostap/src/nan/nan_util.c:132,1
    - Dst: dl_list_add_tail
      Src: /src/hostap/src/nan/nan_util.c:138,1
    - Dst: os_malloc
      Src: /src/hostap/src/nan/nan_util.c:144,1
    - Dst: dl_list_add_tail
      Src: /src/hostap/src/nan/nan_util.c:150,1
    - Dst: os_zalloc
      Src: /src/hostap/src/nan/nan_util.c:174,1
    - Dst: dl_list_add_tail
      Src: /src/hostap/src/nan/nan_util.c:180,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_util.c:272,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_util.c:275,1
    - Dst: nan_attrs_clear
      Src: /src/hostap/src/nan/nan_util.c:287,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 178
    argCount: 4
    argNames:
    - nan
    - data
    - len
    - attrs
    argTypes:
    - struct nan_data*
    - u8*
    - size_t
    - struct nan_attrs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 59
    functionDepth: 3
    functionLinenumber: 59
    functionLinenumberEnd: 289
    functionName: nan_parse_attrs
    functionSourceFile: /src/hostap/src/nan/nan_util.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dl_list_add_tail
    - nan_attrs_clear
    - os_malloc
    - WPA_GET_LE16
    - os_zalloc
    - dl_list_init
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int nan_parse_attrs(struct nan_data *nan, const u8 *data, size_t len,\n\t\t
      \   struct nan_attrs *attrs)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IEEE80211_MIN_ACTION_LEN
      Src: /src/hostap/src/nan/nan_util.c:305,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_util.c:306,1
    - Dst: WPA_GET_BE24
      Src: /src/hostap/src/nan/nan_util.c:311,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_util.c:321,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - mgmt
    - len
    argTypes:
    - struct ieee80211_mgmt*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 326
    functionName: nan_is_naf
    functionSourceFile: /src/hostap/src/nan/nan_util.c
    functionUses: 0
    functionsReached:
    - WPA_GET_BE24
    - wpa_printf
    - IEEE80211_MIN_ACTION_LEN
    linkageType: ''
    returnType: bool
    signature: bool nan_is_naf(const struct ieee80211_mgmt *mgmt, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nan_is_naf
      Src: /src/hostap/src/nan/nan_util.c:346,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_util.c:349,1
    - Dst: nan_parse_attrs
      Src: /src/hostap/src/nan/nan_util.c:357,1
    - Dst: IEEE80211_MIN_ACTION_LEN
      Src: /src/hostap/src/nan/nan_util.c:359,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - nan
    - mgmt
    - len
    - msg
    argTypes:
    - struct nan_data*
    - struct ieee80211_mgmt*
    - size_t
    - struct nan_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 343
    functionDepth: 4
    functionLinenumber: 343
    functionLinenumberEnd: 361
    functionName: nan_parse_naf
    functionSourceFile: /src/hostap/src/nan/nan_util.c
    functionUses: 0
    functionsReached:
    - nan_parse_attrs
    - nan_is_naf
    - wpa_printf
    - IEEE80211_MIN_ACTION_LEN
    linkageType: ''
    returnType: int
    signature: "int nan_parse_naf(struct nan_data *nan, const struct ieee80211_mgmt
      *mgmt,\n\t\t  size_t len, struct nan_msg *msg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_util.c:371,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/nan/nan_util.c:372,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_util.c:375,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/nan/nan_util.c:376,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_util.c:377,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_util.c:378,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_util.c:379,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/nan/nan_util.c:380,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_util.c:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - nan
    - buf
    argTypes:
    - struct nan_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 382
    functionName: nan_add_dev_capa_attr
    functionSourceFile: /src/hostap/src/nan/nan_util.c
    functionUses: 1
    functionsReached:
    - wpabuf_put_u8
    - wpabuf_put_le16
    linkageType: ''
    returnType: void
    signature: void nan_add_dev_capa_attr(struct nan_data *nan, struct wpabuf *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_tailroom
      Src: /src/hostap/src/nan/nan_util.c:404,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_util.c:406,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_util.c:411,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/nan/nan_util.c:412,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_util.c:413,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_util.c:416,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_util.c:417,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - buf
    - capab
    - cs_list_len
    - cs_list
    argTypes:
    - struct wpabuf*
    - u8
    - size_t
    - struct nan_cipher_suite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 421
    functionName: nan_add_csia
    functionSourceFile: /src/hostap/src/nan/nan_util.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put_le16
    - wpabuf_put_u8
    - wpabuf_tailroom
    linkageType: ''
    returnType: int
    signature: "int nan_add_csia(struct wpabuf *buf, u8 capab, size_t cs_list_len,\n\t\t
      const struct nan_cipher_suite *cs_list)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_util.c:444,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/nan/nan_util.c:445,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_util.c:446,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_util.c:447,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - nan
    - buf
    argTypes:
    - struct nan_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 448
    functionName: nan_add_dev_capa_ext_attr
    functionSourceFile: /src/hostap/src/nan/nan_util.c
    functionUses: 0
    functionsReached:
    - wpabuf_put_u8
    - wpabuf_put_le16
    linkageType: ''
    returnType: void
    signature: void nan_add_dev_capa_ext_attr(struct nan_data *nan, struct wpabuf
      *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_tailroom
      Src: /src/hostap/src/nan/nan_util.c:465,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_util.c:466,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_util.c:470,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/nan/nan_util.c:471,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_util.c:472,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/nan/nan_util.c:473,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/nan/nan_util.c:474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - buf
    - tag
    - nonce
    argTypes:
    - struct wpabuf*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 477
    functionName: nan_add_nira
    functionSourceFile: /src/hostap/src/nan/nan_util.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put_data
    - wpabuf_put_u8
    - wpabuf_put_le16
    - wpabuf_tailroom
    linkageType: ''
    returnType: int
    signature: int nan_add_nira(struct wpabuf *buf, const u8 *tag, const u8 *nonce)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_oper_class
      Src: /src/hostap/src/nan/nan_util.c:497,1
    - Dst: op_class_chan_to_idx
      Src: /src/hostap/src/nan/nan_util.c:501,1
    - Dst: BIT
      Src: /src/hostap/src/nan/nan_util.c:508,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - nan
    - op_class
    - channel
    - chan_idx_map
    argTypes:
    - struct nan_data*
    - u8
    - u8
    - u16*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 510
    functionName: nan_chan_to_chan_idx_map
    functionSourceFile: /src/hostap/src/nan/nan_util.c
    functionUses: 0
    functionsReached:
    - get_oper_class
    - BIT
    - op_class_chan_to_idx
    linkageType: ''
    returnType: int
    signature: "int nan_chan_to_chan_idx_map(struct nan_data *nan,\n\t\t\t     u8
      op_class, u8 channel, u16 *chan_idx_map)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BITS
      Src: /src/hostap/src/nan/nan_util.c:521,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/nan/nan_util.c:524,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_util.c:529,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/nan/nan_util.c:543,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/nan/nan_util.c:549,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_util.c:551,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/nan/nan_util.c:552,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_util.c:557,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_util.c:558,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/nan/nan_util.c:559,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_util.c:560,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/nan/nan_util.c:562,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/nan/nan_util.c:562,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/nan/nan_util.c:563,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 7
    argNames:
    - nan
    - tbm
    - type
    - op_class
    - chan_bm
    - prim_chan_bm
    - buf
    argTypes:
    - struct nan_data*
    - struct nan_time_bitmap*
    - u8
    - u8
    - u16
    - u8
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 513
    functionDepth: 1
    functionLinenumber: 513
    functionLinenumberEnd: 564
    functionName: nan_add_avail_entry
    functionSourceFile: /src/hostap/src/nan/nan_util.c
    functionUses: 0
    functionsReached:
    - wpabuf_put
    - wpa_printf
    - BITS
    - wpabuf_put_u8
    - wpabuf_put_data
    - wpabuf_put_le16
    - WPA_PUT_LE16
    linkageType: ''
    returnType: u16
    signature: "u16 nan_add_avail_entry(struct nan_data *nan,\n\t\t\t       struct
      nan_time_bitmap *tbm,\n\t\t\t       u8 type, u8 op_class, u16 chan_bm,\n\t\t\t
      \      u8 prim_chan_bm, struct wpabuf *buf)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BIT
      Src: /src/hostap/src/nan/nan_util.c:588,1
    - Dst: BIT
      Src: /src/hostap/src/nan/nan_util.c:596,1
    - Dst: BIT
      Src: /src/hostap/src/nan/nan_util.c:600,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_util.c:612,1
    - Dst: ieee80211_freq_to_channel_ext
      Src: /src/hostap/src/nan/nan_util.c:618,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_util.c:624,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_util.c:629,1
    - Dst: nan_chan_to_chan_idx_map
      Src: /src/hostap/src/nan/nan_util.c:632,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_util.c:634,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 5
    argNames:
    - nan
    - chan
    - op_class
    - chan_bm
    - pri_chan_bm
    argTypes:
    - struct nan_data*
    - struct nan_sched_chan*
    - u8*
    - u16*
    - u16*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 567
    functionDepth: 2
    functionLinenumber: 567
    functionLinenumberEnd: 639
    functionName: nan_get_chan_bm
    functionSourceFile: /src/hostap/src/nan/nan_util.c
    functionUses: 0
    functionsReached:
    - ieee80211_freq_to_channel_ext
    - nan_chan_to_chan_idx_map
    - wpa_printf
    - BIT
    linkageType: ''
    returnType: int
    signature: "int nan_get_chan_bm(struct nan_data *nan, const struct nan_sched_chan
      *chan,\n\t\t    u8 *op_class, u16 *chan_bm, u16 *pri_chan_bm)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BITS
      Src: /src/hostap/src/nan/nan_util.c:650,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_util.c:653,1
    - Dst: wpabuf_tailroom
      Src: /src/hostap/src/nan/nan_util.c:660,1
    - Dst: wpabuf_tailroom
      Src: /src/hostap/src/nan/nan_util.c:661,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_util.c:663,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/nan/nan_util.c:672,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/nan/nan_util.c:678,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_util.c:683,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_util.c:688,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/nan/nan_util.c:689,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_util.c:690,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 5
    argNames:
    - nan
    - entries
    - n_entries
    - pref
    - buf
    argTypes:
    - struct nan_data*
    - struct nan_chan_entry*
    - unsigned int
    - u8
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 642
    functionDepth: 1
    functionLinenumber: 642
    functionLinenumberEnd: 692
    functionName: nan_add_pot_avail_entry
    functionSourceFile: /src/hostap/src/nan/nan_util.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - BITS
    - wpabuf_put_u8
    - wpabuf_put_le16
    - wpabuf_tailroom
    linkageType: ''
    returnType: void
    signature: "void nan_add_pot_avail_entry(struct nan_data *nan,\n\t\t\t\t    struct
      nan_chan_entry *entries,\n\t\t\t\t    unsigned int n_entries, u8 pref,\n\t\t\t\t
      \   struct wpabuf *buf)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/nan/nan_util.c:703,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_util.c:706,1
    - Dst: nan_add_pot_avail_entry
      Src: /src/hostap/src/nan/nan_util.c:717,1
    - Dst: os_memset
      Src: /src/hostap/src/nan/nan_util.c:721,1
    - Dst: nan_chan_to_chan_idx_map
      Src: /src/hostap/src/nan/nan_util.c:725,1
    - Dst: nan_add_pot_avail_entry
      Src: /src/hostap/src/nan/nan_util.c:750,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_util.c:753,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 4
    argNames:
    - nan
    - pot_chans
    - buf
    - map_id
    argTypes:
    - struct nan_data*
    - struct nan_channels*
    - struct wpabuf*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 695
    functionDepth: 2
    functionLinenumber: 695
    functionLinenumberEnd: 754
    functionName: nan_build_pot_avail_entry_with_chans
    functionSourceFile: /src/hostap/src/nan/nan_util.c
    functionUses: 0
    functionsReached:
    - nan_chan_to_chan_idx_map
    - wpa_printf
    - nan_add_pot_avail_entry
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void nan_build_pot_avail_entry_with_chans(struct nan_data *nan,\n\t\t\t\t
      \    const struct nan_channels *pot_chans,\n\t\t\t\t     struct wpabuf *buf,
      u8 map_id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/nan/nan_util.c:762,1
    - Dst: struct nan_data*::cfg::get_chans
      Src: /src/hostap/src/nan/nan_util.c:765,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_util.c:766,1
    - Dst: nan_build_pot_avail_entry_with_chans
      Src: /src/hostap/src/nan/nan_util.c:772,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_util.c:775,1
    - Dst: os_free
      Src: /src/hostap/src/nan/nan_util.c:779,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - nan
    - buf
    - map_id
    argTypes:
    - struct nan_data*
    - struct wpabuf*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 757
    functionDepth: 3
    functionLinenumber: 757
    functionLinenumberEnd: 780
    functionName: nan_build_pot_avail_entry
    functionSourceFile: /src/hostap/src/nan/nan_util.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - struct nan_data*::cfg::get_chans
    - nan_build_pot_avail_entry_with_chans
    - os_free
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void nan_build_pot_avail_entry(struct nan_data *nan, struct wpabuf
      *buf,\n\t\t\t\t      u8 map_id)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_util.c:811,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_util.c:821,1
    - Dst: nan_get_chan_bm
      Src: /src/hostap/src/nan/nan_util.c:826,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_util.c:838,1
    - Dst: BIT
      Src: /src/hostap/src/nan/nan_util.c:843,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_util.c:844,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_util.c:854,1
    - Dst: nan_build_pot_avail_entry
      Src: /src/hostap/src/nan/nan_util.c:859,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/nan/nan_util.c:861,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/nan/nan_util.c:862,1
    - Dst: BIT
      Src: /src/hostap/src/nan/nan_util.c:867,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_util.c:869,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_util.c:872,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/nan/nan_util.c:873,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_util.c:874,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/nan/nan_util.c:887,1
    - Dst: nan_add_avail_entry
      Src: /src/hostap/src/nan/nan_util.c:892,1
    - Dst: nan_add_avail_entry
      Src: /src/hostap/src/nan/nan_util.c:898,1
    - Dst: nan_build_pot_avail_entry
      Src: /src/hostap/src/nan/nan_util.c:906,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/nan/nan_util.c:907,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/nan/nan_util.c:907,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_util.c:909,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_util.c:912,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_util.c:924,1
    - Dst: ffs
      Src: /src/hostap/src/nan/nan_util.c:930,1
    - Dst: BIT
      Src: /src/hostap/src/nan/nan_util.c:934,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_util.c:936,1
    - Dst: os_memset
      Src: /src/hostap/src/nan/nan_util.c:939,1
    - Dst: struct nan_data*::cfg::get_chans
      Src: /src/hostap/src/nan/nan_util.c:942,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_util.c:945,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_util.c:951,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/nan/nan_util.c:952,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_util.c:953,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/nan/nan_util.c:954,1
    - Dst: nan_build_pot_avail_entry_with_chans
      Src: /src/hostap/src/nan/nan_util.c:956,1
    - Dst: os_free
      Src: /src/hostap/src/nan/nan_util.c:958,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/nan/nan_util.c:960,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/nan/nan_util.c:960,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 69
    argCount: 8
    argNames:
    - nan
    - sequence_id
    - map_ids_bitmap
    - type_for_conditional
    - n_chans
    - chans
    - buf
    - include_potential
    argTypes:
    - struct nan_data*
    - u8
    - u32
    - u8
    - size_t
    - struct nan_chan_schedule*
    - struct wpabuf*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 801
    functionDepth: 4
    functionLinenumber: 801
    functionLinenumberEnd: 964
    functionName: nan_add_avail_attrs
    functionSourceFile: /src/hostap/src/nan/nan_util.c
    functionUses: 0
    functionsReached:
    - nan_build_pot_avail_entry
    - wpa_printf
    - wpabuf_put
    - wpabuf_put_u8
    - ffs
    - os_memset
    - wpabuf_put_le16
    - nan_add_avail_entry
    - struct nan_data*::cfg::get_chans
    - nan_build_pot_avail_entry_with_chans
    - BIT
    - nan_get_chan_bm
    - os_free
    - WPA_PUT_LE16
    linkageType: ''
    returnType: int
    signature: "int nan_add_avail_attrs(struct nan_data *nan, u8 sequence_id,\n\t\t\tu32
      map_ids_bitmap, u8 type_for_conditional,\n\t\t\tsize_t n_chans, struct nan_chan_schedule
      *chans,\n\t\t\tstruct wpabuf *buf, bool include_potential)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/nan/nan_util.c:975,1
    - Dst: os_free
      Src: /src/hostap/src/nan/nan_util.c:976,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - entry
    argTypes:
    - struct nan_avail_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 971
    functionDepth: 0
    functionLinenumber: 971
    functionLinenumberEnd: 977
    functionName: nan_del_avail_entry
    functionSourceFile: /src/hostap/src/nan/nan_util.c
    functionUses: 0
    functionsReached:
    - os_free
    linkageType: ''
    returnType: void
    signature: void nan_del_avail_entry(struct nan_avail_entry *entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_del
      Src: /src/hostap/src/nan/nan_util.c:990,1
    - Dst: nan_del_avail_entry
      Src: /src/hostap/src/nan/nan_util.c:991,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - avail_entries
    argTypes:
    - struct dl_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 984
    functionDepth: 1
    functionLinenumber: 984
    functionLinenumberEnd: 993
    functionName: nan_flush_avail_entries
    functionSourceFile: /src/hostap/src/nan/nan_util.c
    functionUses: 0
    functionsReached:
    - nan_del_avail_entry
    - dl_list_del
    linkageType: ''
    returnType: void
    signature: void nan_flush_avail_entries(struct dl_list *avail_entries)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_del
      Src: /src/hostap/src/nan/nan_util.c:990,1
    - Dst: nan_del_avail_entry
      Src: /src/hostap/src/nan/nan_util.c:991,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 988
    functionDepth: 1
    functionLinenumber: 988
    functionLinenumberEnd: 992
    functionName: dl_list_for_each_safe
    functionSourceFile: /src/hostap/src/nan/nan_util.c
    functionUses: 28
    functionsReached:
    - nan_del_avail_entry
    - dl_list_del
    linkageType: ''
    returnType: void
    signature: "void dl_list_for_each_safe(cur, next, avail_entries,\n\t\t\t      struct
      nan_avail_entry, list)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_init
      Src: /src/hostap/src/nan/nan_util.c:1012,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_util.c:1018,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_util.c:1034,1
    - Dst: os_zalloc
      Src: /src/hostap/src/nan/nan_util.c:1043,1
    - Dst: le_to_host16
      Src: /src/hostap/src/nan/nan_util.c:1048,1
    - Dst: BITS
      Src: /src/hostap/src/nan/nan_util.c:1051,1
    - Dst: BITS
      Src: /src/hostap/src/nan/nan_util.c:1055,1
    - Dst: BITS
      Src: /src/hostap/src/nan/nan_util.c:1059,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_util.c:1064,1
    - Dst: dl_list_init
      Src: /src/hostap/src/nan/nan_util.c:1067,1
    - Dst: dl_list_add
      Src: /src/hostap/src/nan/nan_util.c:1068,1
    - Dst: nan_flush_avail_entries
      Src: /src/hostap/src/nan/nan_util.c:1077,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 4
    argNames:
    - nan
    - avail_entries
    - sched_entries
    - sched_entries_len
    argTypes:
    - struct nan_data*
    - struct dl_list*
    - u8*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 1007
    functionDepth: 2
    functionLinenumber: 1007
    functionLinenumberEnd: 1079
    functionName: nan_sched_entries_to_avail_entries
    functionSourceFile: /src/hostap/src/nan/nan_util.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - BITS
    - nan_flush_avail_entries
    - os_zalloc
    - dl_list_add
    - dl_list_init
    - le_to_host16
    linkageType: ''
    returnType: int
    signature: "int nan_sched_entries_to_avail_entries(struct nan_data *nan,\n\t\t\t\t
      \      struct dl_list *avail_entries,\n\t\t\t\t       const u8 *sched_entries,\n\t\t\t\t
      \      u16 sched_entries_len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_util.c:1100,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_util.c:1115,1
    - Dst: bitfield_alloc_data
      Src: /src/hostap/src/nan/nan_util.c:1121,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_util.c:1123,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_util.c:1128,1
    - Dst: bitfield_alloc
      Src: /src/hostap/src/nan/nan_util.c:1133,1
    - Dst: bitfield_free
      Src: /src/hostap/src/nan/nan_util.c:1135,1
    - Dst: bitfield_is_set
      Src: /src/hostap/src/nan/nan_util.c:1150,1
    - Dst: bitfield_set
      Src: /src/hostap/src/nan/nan_util.c:1160,1
    - Dst: bitfield_free
      Src: /src/hostap/src/nan/nan_util.c:1166,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_util.c:1168,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 2
    argNames:
    - nan
    - tbm
    argTypes:
    - struct nan_data*
    - struct nan_time_bitmap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1171
      start: 1093
    functionDepth: 1
    functionLinenumber: 1093
    functionLinenumberEnd: 1171
    functionName: nan_tbm_to_bf
    functionSourceFile: /src/hostap/src/nan/nan_util.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - bitfield_alloc_data
    - bitfield_alloc
    - bitfield_set
    - bitfield_is_set
    - bitfield_free
    linkageType: ''
    returnType: struct bitfield
    signature: "struct bitfield * nan_tbm_to_bf(struct nan_data *nan,\n\t\t\t\tconst
      struct nan_time_bitmap *tbm)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_util.c:1200,1
    - Dst: nan_tbm_to_bf
      Src: /src/hostap/src/nan/nan_util.c:1206,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_util.c:1208,1
    - Dst: bitfield_dump
      Src: /src/hostap/src/nan/nan_util.c:1214,1
    - Dst: bitfield_intersects
      Src: /src/hostap/src/nan/nan_util.c:1221,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_util.c:1222,1
    - Dst: bitfield_free
      Src: /src/hostap/src/nan/nan_util.c:1225,1
    - Dst: bitfield_union_in_place
      Src: /src/hostap/src/nan/nan_util.c:1229,1
    - Dst: bitfield_free
      Src: /src/hostap/src/nan/nan_util.c:1230,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_util.c:1232,1
    - Dst: bitfield_free
      Src: /src/hostap/src/nan/nan_util.c:1243,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 4
    argNames:
    - nan
    - sched
    - map_id
    - reason
    argTypes:
    - struct nan_data*
    - struct dl_list*
    - u8*
    - enum nan_reason*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1246
      start: 1185
    functionDepth: 2
    functionLinenumber: 1185
    functionLinenumberEnd: 1246
    functionName: nan_sched_to_bf
    functionSourceFile: /src/hostap/src/nan/nan_util.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - bitfield_intersects
    - bitfield_union_in_place
    - nan_tbm_to_bf
    - bitfield_free
    - bitfield_dump
    linkageType: ''
    returnType: struct bitfield
    signature: "struct bitfield * nan_sched_to_bf(struct nan_data *nan, struct dl_list
      *sched,\n\t\t\t\t  u8 *map_id, enum nan_reason *reason)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_util.c:1200,1
    - Dst: nan_tbm_to_bf
      Src: /src/hostap/src/nan/nan_util.c:1206,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_util.c:1208,1
    - Dst: bitfield_dump
      Src: /src/hostap/src/nan/nan_util.c:1214,1
    - Dst: bitfield_intersects
      Src: /src/hostap/src/nan/nan_util.c:1221,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_util.c:1222,1
    - Dst: bitfield_free
      Src: /src/hostap/src/nan/nan_util.c:1225,1
    - Dst: bitfield_union_in_place
      Src: /src/hostap/src/nan/nan_util.c:1229,1
    - Dst: bitfield_free
      Src: /src/hostap/src/nan/nan_util.c:1230,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_util.c:1232,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1194
    functionDepth: 2
    functionLinenumber: 1194
    functionLinenumberEnd: 1238
    functionName: dl_list_for_each
    functionSourceFile: /src/hostap/src/nan/nan_util.c
    functionUses: 102
    functionsReached:
    - wpa_printf
    - bitfield_intersects
    - bitfield_union_in_place
    - nan_tbm_to_bf
    - bitfield_free
    - bitfield_dump
    linkageType: ''
    returnType: void
    signature: void dl_list_for_each(cur, sched, struct nan_avail_entry, list)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_util.c:1270,1
    - Dst: nan_tbm_to_bf
      Src: /src/hostap/src/nan/nan_util.c:1282,1
    - Dst: bitfield_dump
      Src: /src/hostap/src/nan/nan_util.c:1286,1
    - Dst: bitfield_is_subset
      Src: /src/hostap/src/nan/nan_util.c:1288,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_util.c:1289,1
    - Dst: bitfield_free
      Src: /src/hostap/src/nan/nan_util.c:1291,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - nan
    - avail
    - sched_bf
    - map_id
    argTypes:
    - struct nan_data*
    - struct nan_avail_entry*
    - struct bitfield*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1259
    functionDepth: 2
    functionLinenumber: 1259
    functionLinenumberEnd: 1294
    functionName: nan_sched_covered_by_avail_entry
    functionSourceFile: /src/hostap/src/nan/nan_util.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - bitfield_is_subset
    - nan_tbm_to_bf
    - bitfield_free
    - bitfield_dump
    linkageType: ''
    returnType: bool
    signature: "bool nan_sched_covered_by_avail_entry(struct nan_data *nan,\n\t\t\t\t
      \     struct nan_avail_entry *avail,\n\t\t\t\t      struct bitfield *sched_bf,
      u8 map_id)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nan_tbm_to_bf
      Src: /src/hostap/src/nan/nan_util.c:1326,1
    - Dst: bitfield_dump
      Src: /src/hostap/src/nan/nan_util.c:1330,1
    - Dst: bitfield_union
      Src: /src/hostap/src/nan/nan_util.c:1336,1
    - Dst: bitfield_free
      Src: /src/hostap/src/nan/nan_util.c:1337,1
    - Dst: bitfield_free
      Src: /src/hostap/src/nan/nan_util.c:1342,1
    - Dst: bitfield_free
      Src: /src/hostap/src/nan/nan_util.c:1350,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 29
    argCount: 5
    argNames:
    - nan
    - avail_entries
    - map_id
    - op_class
    - cbm
    argTypes:
    - struct nan_data*
    - struct dl_list*
    - u8
    - u8
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1352
      start: 1297
    functionDepth: 2
    functionLinenumber: 1297
    functionLinenumberEnd: 1352
    functionName: nan_sched_bf_from_avail_and_chan
    functionSourceFile: /src/hostap/src/nan/nan_util.c
    functionUses: 0
    functionsReached:
    - bitfield_union
    - bitfield_dump
    - nan_tbm_to_bf
    - bitfield_free
    linkageType: ''
    returnType: struct bitfield
    signature: "struct bitfield *\nnan_sched_bf_from_avail_and_chan(struct nan_data
      *nan,\n\t\t\t\t const struct dl_list *avail_entries,\n\t\t\t\t u8 map_id, u8
      op_class, u16 cbm)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nan_tbm_to_bf
      Src: /src/hostap/src/nan/nan_util.c:1326,1
    - Dst: bitfield_dump
      Src: /src/hostap/src/nan/nan_util.c:1330,1
    - Dst: bitfield_union
      Src: /src/hostap/src/nan/nan_util.c:1336,1
    - Dst: bitfield_free
      Src: /src/hostap/src/nan/nan_util.c:1337,1
    - Dst: bitfield_free
      Src: /src/hostap/src/nan/nan_util.c:1342,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1345
      start: 1305
    functionDepth: 2
    functionLinenumber: 1305
    functionLinenumberEnd: 1345
    functionName: dl_list_for_each
    functionSourceFile: /src/hostap/src/nan/nan_util.c
    functionUses: 102
    functionsReached:
    - bitfield_union
    - bitfield_dump
    - nan_tbm_to_bf
    - bitfield_free
    linkageType: ''
    returnType: void
    signature: "void dl_list_for_each(avail, avail_entries, struct nan_avail_entry,\n\t\t\t
      list)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_init
      Src: /src/hostap/src/nan/nan_util.c:1378,1
    - Dst: nan_sched_entries_to_avail_entries
      Src: /src/hostap/src/nan/nan_util.c:1379,1
    - Dst: nan_sched_to_bf
      Src: /src/hostap/src/nan/nan_util.c:1384,1
    - Dst: nan_flush_avail_entries
      Src: /src/hostap/src/nan/nan_util.c:1386,1
    - Dst: nan_flush_avail_entries
      Src: /src/hostap/src/nan/nan_util.c:1390,1
    - Dst: nan_sched_bf_from_avail_and_chan
      Src: /src/hostap/src/nan/nan_util.c:1392,1
    - Dst: bitfield_is_subset
      Src: /src/hostap/src/nan/nan_util.c:1395,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_util.c:1397,1
    - Dst: bitfield_free
      Src: /src/hostap/src/nan/nan_util.c:1400,1
    - Dst: bitfield_free
      Src: /src/hostap/src/nan/nan_util.c:1401,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - nan
    - avail_entries
    - sched
    - sched_len
    argTypes:
    - struct nan_data*
    - struct dl_list*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1404
      start: 1365
    functionDepth: 3
    functionLinenumber: 1365
    functionLinenumberEnd: 1404
    functionName: nan_sched_covered_by_avail_entries
    functionSourceFile: /src/hostap/src/nan/nan_util.c
    functionUses: 0
    functionsReached:
    - nan_sched_to_bf
    - wpa_printf
    - bitfield_is_subset
    - nan_sched_bf_from_avail_and_chan
    - nan_flush_avail_entries
    - dl_list_init
    - bitfield_free
    - nan_sched_entries_to_avail_entries
    linkageType: ''
    returnType: bool
    signature: "bool nan_sched_covered_by_avail_entries(struct nan_data *nan,\n\t\t\t\t\tstruct
      dl_list *avail_entries,\n\t\t\t\t\tconst u8 *sched, size_t sched_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nan_sched_bf_from_avail_and_chan
      Src: /src/hostap/src/nan/nan_util.c:1430,1
    - Dst: bitfield_is_subset
      Src: /src/hostap/src/nan/nan_util.c:1437,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_util.c:1440,1
    - Dst: bitfield_free
      Src: /src/hostap/src/nan/nan_util.c:1443,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 6
    argNames:
    - nan
    - avail_entries
    - sched_bf
    - map_id
    - op_class
    - cbm
    argTypes:
    - struct nan_data*
    - struct dl_list*
    - struct bitfield*
    - u8
    - u8
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1445
      start: 1419
    functionDepth: 3
    functionLinenumber: 1419
    functionLinenumberEnd: 1445
    functionName: nan_sched_bf_covered_by_avail_entries_and_chan
    functionSourceFile: /src/hostap/src/nan/nan_util.c
    functionUses: 0
    functionsReached:
    - bitfield_is_subset
    - nan_sched_bf_from_avail_and_chan
    - wpa_printf
    - bitfield_free
    linkageType: ''
    returnType: bool
    signature: "bool nan_sched_bf_covered_by_avail_entries_and_chan(\n\tstruct nan_data
      *nan, const struct dl_list *avail_entries,\n\tstruct bitfield *sched_bf, u8
      map_id, u8 op_class, u16 cbm)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: get_oper_class
      Src: /src/hostap/src/nan/nan_util.c:1451,1
    - Dst: ffs
      Src: /src/hostap/src/nan/nan_util.c:1458,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_util.c:1460,1
    - Dst: op_class_idx_to_chan
      Src: /src/hostap/src/nan/nan_util.c:1466,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_util.c:1468,1
    - Dst: ieee80211_chan_to_freq
      Src: /src/hostap/src/nan/nan_util.c:1474,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_util.c:1488,1
    - Dst: ffs
      Src: /src/hostap/src/nan/nan_util.c:1494,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 4
    argNames:
    - nan
    - op_class
    - cbm
    - pri_cbm
    argTypes:
    - struct nan_data*
    - u8
    - u16
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1503
      start: 1448
    functionDepth: 1
    functionLinenumber: 1448
    functionLinenumberEnd: 1503
    functionName: nan_get_control_channel
    functionSourceFile: /src/hostap/src/nan/nan_util.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - ieee80211_chan_to_freq
    - ffs
    - get_oper_class
    - op_class_idx_to_chan
    linkageType: ''
    returnType: int
    signature: "int nan_get_control_channel(struct nan_data *nan, u8 op_class,\n\t\t\t\t
      \  u16 cbm, u16 pri_cbm)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nan_get_control_channel
      Src: /src/hostap/src/nan/nan_util.c:1553,1
    - Dst: le_to_host16
      Src: /src/hostap/src/nan/nan_util.c:1556,1
    - Dst: le_to_host16
      Src: /src/hostap/src/nan/nan_util.c:1558,1
    - Dst: nan_get_control_channel
      Src: /src/hostap/src/nan/nan_util.c:1560,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_util.c:1567,1
    - Dst: nan_tbm_to_bf
      Src: /src/hostap/src/nan/nan_util.c:1573,1
    - Dst: bitfield_union
      Src: /src/hostap/src/nan/nan_util.c:1582,1
    - Dst: bitfield_free
      Src: /src/hostap/src/nan/nan_util.c:1586,1
    - Dst: bitfield_free
      Src: /src/hostap/src/nan/nan_util.c:1587,1
    - Dst: bitfield_free
      Src: /src/hostap/src/nan/nan_util.c:1595,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 35
    argCount: 5
    argNames:
    - nan
    - avail_entries
    - op_class
    - cbm
    - pri_cbm
    argTypes:
    - struct nan_data*
    - struct dl_list*
    - u8
    - u16
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1597
      start: 1518
    functionDepth: 2
    functionLinenumber: 1518
    functionLinenumberEnd: 1597
    functionName: nan_avail_entries_to_bf
    functionSourceFile: /src/hostap/src/nan/nan_util.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - bitfield_union
    - nan_get_control_channel
    - nan_tbm_to_bf
    - bitfield_free
    - le_to_host16
    linkageType: ''
    returnType: struct bitfield
    signature: "struct bitfield * nan_avail_entries_to_bf(struct nan_data *nan,\n\t\t\t\t\t
      \ const struct dl_list *avail_entries,\n\t\t\t\t\t  u8 op_class, u16 cbm, u16
      pri_cbm)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nan_get_control_channel
      Src: /src/hostap/src/nan/nan_util.c:1553,1
    - Dst: le_to_host16
      Src: /src/hostap/src/nan/nan_util.c:1556,1
    - Dst: le_to_host16
      Src: /src/hostap/src/nan/nan_util.c:1558,1
    - Dst: nan_get_control_channel
      Src: /src/hostap/src/nan/nan_util.c:1560,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_util.c:1567,1
    - Dst: nan_tbm_to_bf
      Src: /src/hostap/src/nan/nan_util.c:1573,1
    - Dst: bitfield_union
      Src: /src/hostap/src/nan/nan_util.c:1582,1
    - Dst: bitfield_free
      Src: /src/hostap/src/nan/nan_util.c:1586,1
    - Dst: bitfield_free
      Src: /src/hostap/src/nan/nan_util.c:1587,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1590
      start: 1525
    functionDepth: 2
    functionLinenumber: 1525
    functionLinenumberEnd: 1590
    functionName: dl_list_for_each
    functionSourceFile: /src/hostap/src/nan/nan_util.c
    functionUses: 102
    functionsReached:
    - wpa_printf
    - bitfield_union
    - nan_get_control_channel
    - nan_tbm_to_bf
    - bitfield_free
    - le_to_host16
    linkageType: ''
    returnType: void
    signature: "void dl_list_for_each(avail, avail_entries, struct nan_avail_entry,\n\t\t\t
      list)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: wpa_scnprintf
      Src: /src/hostap/src/nan/nan_util.c:1619,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/nan/nan_util.c:1622,1
    - Dst: wpa_scnprintf
      Src: /src/hostap/src/nan/nan_util.c:1629,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/nan/nan_util.c:1636,1
    - Dst: wpa_scnprintf
      Src: /src/hostap/src/nan/nan_util.c:1640,1
    - Dst: BIT
      Src: /src/hostap/src/nan/nan_util.c:1642,1
    - Dst: BIT
      Src: /src/hostap/src/nan/nan_util.c:1643,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/nan/nan_util.c:1645,1
    - Dst: wpa_scnprintf
      Src: /src/hostap/src/nan/nan_util.c:1649,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/nan/nan_util.c:1650,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/nan/nan_util.c:1654,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/nan/nan_util.c:1656,1
    - Dst: wpa_scnprintf
      Src: /src/hostap/src/nan/nan_util.c:1660,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/nan/nan_util.c:1661,1
    - Dst: wpa_scnprintf
      Src: /src/hostap/src/nan/nan_util.c:1666,1
    - Dst: BIT
      Src: /src/hostap/src/nan/nan_util.c:1668,1
    - Dst: BIT
      Src: /src/hostap/src/nan/nan_util.c:1669,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/nan/nan_util.c:1671,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/nan/nan_util.c:1675,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/nan/nan_util.c:1677,1
    - Dst: wpa_scnprintf
      Src: /src/hostap/src/nan/nan_util.c:1681,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/nan/nan_util.c:1686,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/nan/nan_util.c:1690,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/nan/nan_util.c:1692,1
    - Dst: wpa_scnprintf
      Src: /src/hostap/src/nan/nan_util.c:1696,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/nan/nan_util.c:1697,1
    - Dst: wpa_scnprintf
      Src: /src/hostap/src/nan/nan_util.c:1702,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/nan/nan_util.c:1705,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_util.c:1713,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 70
    argCount: 3
    argNames:
    - sched
    - buf
    - buflen
    argTypes:
    - struct nan_peer_schedule*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1715
      start: 1609
    functionDepth: 1
    functionLinenumber: 1609
    functionLinenumberEnd: 1715
    functionName: nan_peer_dump_sched_to_buf
    functionSourceFile: /src/hostap/src/nan/nan_util.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpa_snprintf_hex
    - wpa_scnprintf
    - BIT
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int nan_peer_dump_sched_to_buf(struct nan_peer_schedule *sched,\n\t\t\t
      \      char *buf, size_t buflen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_scnprintf
      Src: /src/hostap/src/nan/nan_util.c:1740,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/nan/nan_util.c:1744,1
    - Dst: wpa_scnprintf
      Src: /src/hostap/src/nan/nan_util.c:1750,1
    - Dst: wpa_scnprintf
      Src: /src/hostap/src/nan/nan_util.c:1754,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/nan/nan_util.c:1760,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_util.c:1769,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - pot_avail
    - buf
    - buflen
    argTypes:
    - struct nan_peer_potential_avail*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1772
      start: 1729
    functionDepth: 1
    functionLinenumber: 1729
    functionLinenumberEnd: 1772
    functionName: nan_peer_dump_pot_avail_to_buf
    functionSourceFile: /src/hostap/src/nan/nan_util.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpa_scnprintf
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int nan_peer_dump_pot_avail_to_buf(struct nan_peer_potential_avail
      *pot_avail,\n\t\t\t\t   char *buf, size_t buflen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_util.c:1794,1
    - Dst: nan_tbm_to_bf
      Src: /src/hostap/src/nan/nan_util.c:1800,1
    - Dst: nan_tbm_to_bf
      Src: /src/hostap/src/nan/nan_util.c:1812,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_util.c:1815,1
    - Dst: bitfield_free
      Src: /src/hostap/src/nan/nan_util.c:1817,1
    - Dst: bitfield_intersects
      Src: /src/hostap/src/nan/nan_util.c:1821,1
    - Dst: bitfield_free
      Src: /src/hostap/src/nan/nan_util.c:1822,1
    - Dst: bitfield_free
      Src: /src/hostap/src/nan/nan_util.c:1823,1
    - Dst: bitfield_free
      Src: /src/hostap/src/nan/nan_util.c:1827,1
    - Dst: bitfield_free
      Src: /src/hostap/src/nan/nan_util.c:1830,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - nan
    - peer_sched
    - map_idx
    argTypes:
    - struct nan_data*
    - struct nan_peer_schedule*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1832
      start: 1786
    functionDepth: 2
    functionLinenumber: 1786
    functionLinenumberEnd: 1832
    functionName: nan_get_peer_ndc_freq
    functionSourceFile: /src/hostap/src/nan/nan_util.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - nan_tbm_to_bf
    - bitfield_intersects
    - bitfield_free
    linkageType: ''
    returnType: int
    signature: "int nan_get_peer_ndc_freq(struct nan_data *nan,\n\t\t\t  const struct
      nan_peer_schedule *peer_sched,\n\t\t\t  u8 map_idx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nan_get_chan_bm
      Src: /src/hostap/src/nan/nan_util.c:1852,1
    - Dst: os_memset
      Src: /src/hostap/src/nan/nan_util.c:1856,1
    - Dst: host_to_le16
      Src: /src/hostap/src/nan/nan_util.c:1858,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - nan
    - chan
    - chan_entry
    argTypes:
    - struct nan_data*
    - struct nan_sched_chan*
    - struct nan_chan_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1862
      start: 1842
    functionDepth: 3
    functionLinenumber: 1842
    functionLinenumberEnd: 1862
    functionName: nan_get_chan_entry
    functionSourceFile: /src/hostap/src/nan/nan_util.c
    functionUses: 2
    functionsReached:
    - nan_get_chan_bm
    - host_to_le16
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int nan_get_chan_entry(struct nan_data *nan, const struct nan_sched_chan
      *chan,\n\t\t       struct nan_chan_entry *chan_entry)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nan_get_chan_bm
      Src: /src/hostap/src/nan/nan_util.c:1894,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_util.c:1896,1
    - Dst: nan_tbm_to_bf
      Src: /src/hostap/src/nan/nan_util.c:1901,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_util.c:1903,1
    - Dst: nan_tbm_to_bf
      Src: /src/hostap/src/nan/nan_util.c:1908,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_util.c:1910,1
    - Dst: bitfield_free
      Src: /src/hostap/src/nan/nan_util.c:1912,1
    - Dst: bitfield_union
      Src: /src/hostap/src/nan/nan_util.c:1916,1
    - Dst: bitfield_free
      Src: /src/hostap/src/nan/nan_util.c:1917,1
    - Dst: bitfield_free
      Src: /src/hostap/src/nan/nan_util.c:1918,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_util.c:1921,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_util.c:1926,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 7
    argNames:
    - nan
    - chan
    - avail_bf
    - map_id
    - op_class
    - cbm
    - pcbm
    argTypes:
    - struct nan_data*
    - struct nan_chan_schedule*
    - struct bitfield**
    - u8*
    - u8*
    - u16*
    - u16*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1929
      start: 1881
    functionDepth: 3
    functionLinenumber: 1881
    functionLinenumberEnd: 1929
    functionName: nan_convert_chan_sched_to_bf
    functionSourceFile: /src/hostap/src/nan/nan_util.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - bitfield_union
    - nan_get_chan_bm
    - nan_tbm_to_bf
    - bitfield_free
    linkageType: ''
    returnType: int
    signature: "int nan_convert_chan_sched_to_bf(struct nan_data *nan,\n\t\t\t\t const
      struct nan_chan_schedule *chan,\n\t\t\t\t struct bitfield **avail_bf, u8 *map_id,\n\t\t\t\t
      u8 *op_class, u16 *cbm, u16 *pcbm)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_util.c:1961,1
    - Dst: nan_convert_chan_sched_to_bf
      Src: /src/hostap/src/nan/nan_util.c:1971,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_util.c:1975,1
    - Dst: nan_avail_entries_to_bf
      Src: /src/hostap/src/nan/nan_util.c:1982,1
    - Dst: bitfield_free
      Src: /src/hostap/src/nan/nan_util.c:1986,1
    - Dst: bitfield_intersects
      Src: /src/hostap/src/nan/nan_util.c:1990,1
    - Dst: bitfield_intersect_in_place
      Src: /src/hostap/src/nan/nan_util.c:1992,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_util.c:1994,1
    - Dst: bitfield_free
      Src: /src/hostap/src/nan/nan_util.c:1996,1
    - Dst: bitfield_free
      Src: /src/hostap/src/nan/nan_util.c:1997,1
    - Dst: bitfield_free
      Src: /src/hostap/src/nan/nan_util.c:1998,1
    - Dst: bitfield_free
      Src: /src/hostap/src/nan/nan_util.c:2002,1
    - Dst: bitfield_union_in_place
      Src: /src/hostap/src/nan/nan_util.c:2005,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_util.c:2007,1
    - Dst: bitfield_free
      Src: /src/hostap/src/nan/nan_util.c:2010,1
    - Dst: bitfield_free
      Src: /src/hostap/src/nan/nan_util.c:2011,1
    - Dst: bitfield_dup
      Src: /src/hostap/src/nan/nan_util.c:2015,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_util.c:2017,1
    - Dst: bitfield_free
      Src: /src/hostap/src/nan/nan_util.c:2020,1
    - Dst: bitfield_free
      Src: /src/hostap/src/nan/nan_util.c:2021,1
    - Dst: bitfield_free
      Src: /src/hostap/src/nan/nan_util.c:2026,1
    - Dst: bitfield_free
      Src: /src/hostap/src/nan/nan_util.c:2030,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 47
    argCount: 3
    argNames:
    - nan
    - peer
    - sched
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - struct nan_schedule*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2035
      start: 1944
    functionDepth: 4
    functionLinenumber: 1944
    functionLinenumberEnd: 2035
    functionName: nan_peer_schedule_intersection
    functionSourceFile: /src/hostap/src/nan/nan_util.c
    functionUses: 0
    functionsReached:
    - nan_convert_chan_sched_to_bf
    - wpa_printf
    - bitfield_intersects
    - nan_avail_entries_to_bf
    - bitfield_union_in_place
    - bitfield_dup
    - bitfield_free
    - bitfield_intersect_in_place
    linkageType: ''
    returnType: struct bitfield
    signature: "struct bitfield * nan_peer_schedule_intersection(\n\tstruct nan_data
      *nan, const struct nan_peer *peer,\n\tconst struct nan_schedule *sched)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_util.c:2040,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_util.c:2041,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/nan/nan_util.c:2042,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/nan/nan_util.c:2042,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - buf
    - kde
    - data_len
    argTypes:
    - struct wpabuf*
    - u32
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2043
      start: 2038
    functionDepth: 1
    functionLinenumber: 2038
    functionLinenumberEnd: 2043
    functionName: nan_add_kde_hdr
    functionSourceFile: /src/hostap/src/nan/nan_util.c
    functionUses: 0
    functionsReached:
    - RSN_SELECTOR_PUT
    - wpabuf_put_u8
    - wpabuf_put
    linkageType: ''
    returnType: void
    signature: void nan_add_kde_hdr(struct wpabuf *buf, u32 kde, size_t data_len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_get_random
      Src: /src/hostap/src/nan/nan_pairing.c:43,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:44,1
    - Dst: nan_crypto_derive_nira_tag
      Src: /src/hostap/src/nan/nan_pairing.c:48,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_pairing.c:53,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/nan/nan_pairing.c:53,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/nan/nan_pairing.c:54,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/nan/nan_pairing.c:56,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/nan/nan_pairing.c:57,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/nan/nan_pairing.c:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - nan
    - nonce
    - tag
    argTypes:
    - struct nan_config*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 60
    functionName: nan_nira_get_tag_nonce
    functionSourceFile: /src/hostap/src/nan/nan_pairing.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_hexdump_key
    - wpa_hexdump
    - nan_crypto_derive_nira_tag
    - wpabuf_free
    - os_get_random
    - wpabuf_head
    linkageType: ''
    returnType: int
    signature: int nan_nira_get_tag_nonce(const struct nan_config *nan, u8 *nonce,
      u8 *tag)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nan_add_dev_capa_ext_attr
      Src: /src/hostap/src/nan/nan_pairing.c:77,1
    - Dst: nan_add_nira
      Src: /src/hostap/src/nan/nan_pairing.c:80,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:81,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - nan
    - buf
    argTypes:
    - struct nan_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 87
    functionName: nan_pairing_add_attrs
    functionSourceFile: /src/hostap/src/nan/nan_pairing.c
    functionUses: 1
    functionsReached:
    - nan_add_dev_capa_ext_attr
    - wpa_printf
    - nan_add_nira
    linkageType: ''
    returnType: int
    signature: int nan_pairing_add_attrs(struct nan_data *nan, struct wpabuf *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/src/nan/nan_pairing.c:92,1
    - Dst: wpa_pasn_reset
      Src: /src/hostap/src/nan/nan_pairing.c:98,1
    - Dst: pasn_data_deinit
      Src: /src/hostap/src/nan/nan_pairing.c:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - peer
    argTypes:
    - struct nan_peer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 102
    functionName: nan_pairing_deinit_peer
    functionSourceFile: /src/hostap/src/nan/nan_pairing.c
    functionUses: 0
    functionsReached:
    - wpa_pasn_reset
    - pasn_data_deinit
    - wpabuf_free
    linkageType: ''
    returnType: void
    signature: void nan_pairing_deinit_peer(struct nan_peer *peer)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nan_get_peer
      Src: /src/hostap/src/nan/nan_pairing.c:112,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:114,1
    - Dst: MAC2STR
      Src: /src/hostap/src/nan/nan_pairing.c:116,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:121,1
    - Dst: MAC2STR
      Src: /src/hostap/src/nan/nan_pairing.c:123,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:127,1
    - Dst: MAC2STR
      Src: /src/hostap/src/nan/nan_pairing.c:128,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:131,1
    - Dst: MAC2STR
      Src: /src/hostap/src/nan/nan_pairing.c:133,1
    - Dst: nan_pairing_pasn_initialize
      Src: /src/hostap/src/nan/nan_pairing.c:145,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:148,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/nan/nan_pairing.c:152,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:154,1
    - Dst: nan_pairing_prepare_pasn_elems
      Src: /src/hostap/src/nan/nan_pairing.c:159,1
    - Dst: pasn_set_extra_ies
      Src: /src/hostap/src/nan/nan_pairing.c:162,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/nan/nan_pairing.c:162,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/nan/nan_pairing.c:163,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/nan/nan_pairing.c:164,1
    - Dst: nan_configure_peer_schedule
      Src: /src/hostap/src/nan/nan_pairing.c:166,1
    - Dst: handle_auth_pasn_resp
      Src: /src/hostap/src/nan/nan_pairing.c:168,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:172,1
    - Dst: nan_clear_peer_schedule
      Src: /src/hostap/src/nan/nan_pairing.c:174,1
    - Dst: nan_pairing_deinit_peer
      Src: /src/hostap/src/nan/nan_pairing.c:178,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 2
    argNames:
    - nan_data
    - peer_addr
    argTypes:
    - struct nan_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 180
    functionName: nan_pairing_abort
    functionSourceFile: /src/hostap/src/nan/nan_pairing.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - pasn_set_extra_ies
    - wpabuf_head_u8
    - wpabuf_len
    - handle_auth_pasn_resp
    - nan_pairing_deinit_peer
    - wpabuf_free
    - nan_pairing_prepare_pasn_elems
    - nan_get_peer
    - MAC2STR
    - wpabuf_alloc
    - nan_pairing_pasn_initialize
    - nan_configure_peer_schedule
    - nan_clear_peer_schedule
    linkageType: ''
    returnType: int
    signature: int nan_pairing_abort(struct nan_data *nan_data, const u8 *peer_addr)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:189,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:195,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:201,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:207,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:213,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - nan_data
    - peer
    - auth_mode
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 220
    functionName: nan_pairing_is_supported
    functionSourceFile: /src/hostap/src/nan/nan_pairing.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: bool
    signature: "bool nan_pairing_is_supported(struct nan_data *nan_data,\n\t\t\t\t
      \    struct nan_peer *peer, u8 auth_mode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sae_derive_pt
      Src: /src/hostap/src/nan/nan_pairing.c:229,1
    - Dst: os_strlen
      Src: /src/hostap/src/nan/nan_pairing.c:230,1
    - Dst: os_strlen
      Src: /src/hostap/src/nan/nan_pairing.c:231,1
    - Dst: pasn_set_pt
      Src: /src/hostap/src/nan/nan_pairing.c:232,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:233,1
    - Dst: sae_deinit_pt
      Src: /src/hostap/src/nan/nan_pairing.c:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - pasn
    - passphrase
    argTypes:
    - struct pasn_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 242
    functionName: nan_pairing_set_password
    functionSourceFile: /src/hostap/src/nan/nan_pairing.c
    functionUses: 0
    functionsReached:
    - sae_derive_pt
    - os_strlen
    - wpa_printf
    - sae_deinit_pt
    - pasn_set_pt
    linkageType: ''
    returnType: int
    signature: "int nan_pairing_set_password(struct pasn_data *pasn,\n\t\t\t\t    const
      char *passphrase)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_key_mgmt_sae
      Src: /src/hostap/src/nan/nan_pairing.c:255,1
    - Dst: BIT
      Src: /src/hostap/src/nan/nan_pairing.c:256,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/nan/nan_pairing.c:259,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:263,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_pairing.c:264,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_pairing.c:265,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/nan/nan_pairing.c:266,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - akmp
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 268
    functionName: nan_pairing_generate_rsnxe
    functionSourceFile: /src/hostap/src/nan/nan_pairing.c
    functionUses: 0
    functionsReached:
    - wpa_key_mgmt_sae
    - wpa_printf
    - wpabuf_put_u8
    - wpabuf_put_le16
    - wpabuf_alloc
    - BIT
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * nan_pairing_generate_rsnxe(int akmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct nan_data*::cfg::send_pasn
      Src: /src/hostap/src/nan/nan_pairing.c:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ctx
    - data
    - data_len
    - noack
    - freq
    - wait
    argTypes:
    - void*
    - u8*
    - size_t
    - int
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 277
    functionName: nan_pairing_send_cb
    functionSourceFile: /src/hostap/src/nan/nan_pairing.c
    functionUses: 0
    functionsReached:
    - struct nan_data*::cfg::send_pasn
    linkageType: ''
    returnType: int
    signature: "int nan_pairing_send_cb(void *ctx, const u8 *data, size_t data_len,\n\t\t\t
      \      int noack, unsigned int freq, unsigned int wait)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:301,1
    - Dst: struct nan_data*::cfg::get_npk_akmp
      Src: /src/hostap/src/nan/nan_pairing.c:306,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:310,1
    - Dst: pasn_set_akmp
      Src: /src/hostap/src/nan/nan_pairing.c:315,1
    - Dst: pasn_initiator_pmksa_cache_add
      Src: /src/hostap/src/nan/nan_pairing.c:318,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/nan/nan_pairing.c:321,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/nan/nan_pairing.c:322,1
    - Dst: pasn_responder_pmksa_cache_add
      Src: /src/hostap/src/nan/nan_pairing.c:324,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/nan/nan_pairing.c:327,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/nan/nan_pairing.c:328,1
    - Dst: nan_nira_get_tag_nonce
      Src: /src/hostap/src/nan/nan_pairing.c:336,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:338,1
    - Dst: pasn_set_custom_pmkid
      Src: /src/hostap/src/nan/nan_pairing.c:342,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - nan_data
    - peer
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 344
    functionName: nan_pasn_verification_init
    functionSourceFile: /src/hostap/src/nan/nan_pairing.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_head_u8
    - wpabuf_len
    - pasn_set_custom_pmkid
    - pasn_initiator_pmksa_cache_add
    - pasn_set_akmp
    - pasn_responder_pmksa_cache_add
    - struct nan_data*::cfg::get_npk_akmp
    - nan_nira_get_tag_nonce
    linkageType: ''
    returnType: int
    signature: "int nan_pasn_verification_init(struct nan_data *nan_data,\n\t\t\t\t
      \     struct nan_peer *peer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - addr
    - pmkid
    argTypes:
    - void*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 355
    functionName: nan_validate_custom_pmkid
    functionSourceFile: /src/hostap/src/nan/nan_pairing.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int nan_validate_custom_pmkid(void *ctx, const u8 *addr, const u8 *pmkid)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: wpa_pasn_reset
      Src: /src/hostap/src/nan/nan_pairing.c:369,1
    - Dst: pasn_data_init
      Src: /src/hostap/src/nan/nan_pairing.c:371,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:373,1
    - Dst: pasn_set_own_addr
      Src: /src/hostap/src/nan/nan_pairing.c:380,1
    - Dst: pasn_set_peer_addr
      Src: /src/hostap/src/nan/nan_pairing.c:381,1
    - Dst: pasn_set_bssid
      Src: /src/hostap/src/nan/nan_pairing.c:382,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:399,1
    - Dst: wpa_cipher_txt
      Src: /src/hostap/src/nan/nan_pairing.c:401,1
    - Dst: pasn_enable_kdk_derivation
      Src: /src/hostap/src/nan/nan_pairing.c:405,1
    - Dst: os_free
      Src: /src/hostap/src/nan/nan_pairing.c:408,1
    - Dst: os_calloc
      Src: /src/hostap/src/nan/nan_pairing.c:409,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:411,1
    - Dst: pasn_set_akmp
      Src: /src/hostap/src/nan/nan_pairing.c:418,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:420,1
    - Dst: nan_pairing_set_password
      Src: /src/hostap/src/nan/nan_pairing.c:425,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:426,1
    - Dst: pasn_set_akmp
      Src: /src/hostap/src/nan/nan_pairing.c:431,1
    - Dst: pasn_set_noauth
      Src: /src/hostap/src/nan/nan_pairing.c:432,1
    - Dst: nan_pasn_verification_init
      Src: /src/hostap/src/nan/nan_pairing.c:434,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:435,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:440,1
    - Dst: pasn_set_rsn_pairwise
      Src: /src/hostap/src/nan/nan_pairing.c:446,1
    - Dst: pasn_set_wpa_key_mgmt
      Src: /src/hostap/src/nan/nan_pairing.c:447,1
    - Dst: nan_pairing_generate_rsnxe
      Src: /src/hostap/src/nan/nan_pairing.c:450,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:452,1
    - Dst: pasn_set_rsnxe_ie
      Src: /src/hostap/src/nan/nan_pairing.c:457,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/nan/nan_pairing.c:457,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/nan/nan_pairing.c:458,1
    - Dst: pasn_register_callbacks
      Src: /src/hostap/src/nan/nan_pairing.c:461,1
    - Dst: pasn_data_deinit
      Src: /src/hostap/src/nan/nan_pairing.c:466,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 86
    argCount: 6
    argNames:
    - nan_data
    - peer
    - auth_mode
    - cipher
    - password
    - self_role
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - u8
    - int
    - char*
    - enum nan_pairing_role
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 358
    functionDepth: 2
    functionLinenumber: 358
    functionLinenumberEnd: 469
    functionName: nan_pairing_pasn_initialize
    functionSourceFile: /src/hostap/src/nan/nan_pairing.c
    functionUses: 1
    functionsReached:
    - pasn_set_rsn_pairwise
    - pasn_set_akmp
    - pasn_set_bssid
    - wpa_printf
    - pasn_set_wpa_key_mgmt
    - pasn_set_rsnxe_ie
    - pasn_set_own_addr
    - os_free
    - nan_pairing_generate_rsnxe
    - wpabuf_head_u8
    - pasn_set_peer_addr
    - pasn_data_init
    - pasn_register_callbacks
    - wpa_cipher_txt
    - pasn_enable_kdk_derivation
    - pasn_data_deinit
    - nan_pasn_verification_init
    - os_calloc
    - wpabuf_free
    - nan_pairing_set_password
    - pasn_set_noauth
    - wpa_pasn_reset
    linkageType: ''
    returnType: int
    signature: "int nan_pairing_pasn_initialize(struct nan_data *nan_data,\n\t\t\t\t
      \      struct nan_peer *peer, u8 auth_mode,\n\t\t\t\t       int cipher, const
      char *password,\n\t\t\t\t       enum nan_pairing_role self_role)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_len
      Src: /src/hostap/src/nan/nan_pairing.c:495,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_pairing.c:497,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/nan/nan_pairing.c:500,1
    - Dst: wpabuf_put_be32
      Src: /src/hostap/src/nan/nan_pairing.c:503,1
    - Dst: nan_add_csia
      Src: /src/hostap/src/nan/nan_pairing.c:512,1
    - Dst: nan_add_dev_capa_ext_attr
      Src: /src/hostap/src/nan/nan_pairing.c:516,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/nan/nan_pairing.c:518,1
    - Dst: nan_add_nira
      Src: /src/hostap/src/nan/nan_pairing.c:526,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:528,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/nan/nan_pairing.c:532,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 5
    argNames:
    - nan_data
    - peer
    - extra_ies
    - publish_id
    - auth_mode
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - struct wpabuf*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 488
    functionDepth: 2
    functionLinenumber: 488
    functionLinenumberEnd: 533
    functionName: nan_pairing_prepare_pasn_elems
    functionSourceFile: /src/hostap/src/nan/nan_pairing.c
    functionUses: 1
    functionsReached:
    - wpabuf_put
    - wpa_printf
    - wpabuf_put_u8
    - wpabuf_len
    - wpabuf_put_buf
    - nan_add_csia
    - wpabuf_put_be32
    - nan_add_dev_capa_ext_attr
    - nan_add_nira
    linkageType: ''
    returnType: void
    signature: "void nan_pairing_prepare_pasn_elems(struct nan_data *nan_data,\n\t\t\t\t\t
      \  struct nan_peer *peer,\n\t\t\t\t\t   struct wpabuf *extra_ies,\n\t\t\t\t\t
      \  int publish_id, int auth_mode)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:561,1
    - Dst: nan_get_peer
      Src: /src/hostap/src/nan/nan_pairing.c:565,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:567,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:572,1
    - Dst: nan_pairing_is_supported
      Src: /src/hostap/src/nan/nan_pairing.c:577,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:578,1
    - Dst: nan_pairing_pasn_initialize
      Src: /src/hostap/src/nan/nan_pairing.c:586,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:589,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/nan/nan_pairing.c:595,1
    - Dst: nan_pairing_prepare_pasn_elems
      Src: /src/hostap/src/nan/nan_pairing.c:602,1
    - Dst: pasn_set_extra_ies
      Src: /src/hostap/src/nan/nan_pairing.c:604,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/nan/nan_pairing.c:604,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/nan/nan_pairing.c:605,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/nan/nan_pairing.c:606,1
    - Dst: nan_configure_peer_schedule
      Src: /src/hostap/src/nan/nan_pairing.c:612,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:613,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:617,1
    - Dst: nan_pairing_auth_rx
      Src: /src/hostap/src/nan/nan_pairing.c:619,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/nan/nan_pairing.c:621,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/nan/nan_pairing.c:622,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/nan/nan_pairing.c:623,1
    - Dst: wpa_pasn_verify
      Src: /src/hostap/src/nan/nan_pairing.c:633,1
    - Dst: wpas_pasn_start
      Src: /src/hostap/src/nan/nan_pairing.c:637,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:643,1
    - Dst: nan_pairing_deinit_peer
      Src: /src/hostap/src/nan/nan_pairing.c:644,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 56
    argCount: 9
    argNames:
    - nan_data
    - addr
    - auth_mode
    - cipher
    - handle
    - peer_instance_id
    - responder
    - password
    - sched
    argTypes:
    - struct nan_data*
    - u8*
    - u8
    - int
    - int
    - u8
    - bool
    - char*
    - struct nan_schedule*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 549
    functionDepth: 3
    functionLinenumber: 549
    functionLinenumberEnd: 648
    functionName: nan_pairing_initiate_pasn_auth
    functionSourceFile: /src/hostap/src/nan/nan_pairing.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - pasn_set_extra_ies
    - wpabuf_head_u8
    - wpabuf_len
    - nan_pairing_deinit_peer
    - wpabuf_free
    - nan_pairing_prepare_pasn_elems
    - nan_get_peer
    - nan_pairing_is_supported
    - wpabuf_head
    - wpas_pasn_start
    - wpabuf_alloc
    - nan_pairing_pasn_initialize
    - nan_configure_peer_schedule
    - nan_pairing_auth_rx
    - wpa_pasn_verify
    linkageType: ''
    returnType: int
    signature: "int nan_pairing_initiate_pasn_auth(struct nan_data *nan_data, const
      u8 *addr,\n\t\t\t\t   u8 auth_mode, int cipher, int handle,\n\t\t\t\t   u8 peer_instance_id,
      bool responder,\n\t\t\t\t   const char *password,\n\t\t\t\t   const struct nan_schedule
      *sched)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pasn_get_cipher
      Src: /src/hostap/src/nan/nan_pairing.c:664,1
    - Dst: pasn_get_akmp
      Src: /src/hostap/src/nan/nan_pairing.c:672,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:679,1
    - Dst: nan_crypto_derive_kek
      Src: /src/hostap/src/nan/nan_pairing.c:689,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:694,1
    - Dst: pasn_get_akmp
      Src: /src/hostap/src/nan/nan_pairing.c:703,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:706,1
    - Dst: nan_crypto_derive_npk
      Src: /src/hostap/src/nan/nan_pairing.c:708,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:713,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_pairing.c:717,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - nan_data
    - peer
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 660
    functionDepth: 1
    functionLinenumber: 660
    functionLinenumberEnd: 719
    functionName: nan_pairing_done
    functionSourceFile: /src/hostap/src/nan/nan_pairing.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - pasn_get_cipher
    - os_memcpy
    - nan_crypto_derive_npk
    - pasn_get_akmp
    - nan_crypto_derive_kek
    linkageType: ''
    returnType: void
    signature: void nan_pairing_done(struct nan_data *nan_data, struct nan_peer *peer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/nan/nan_pairing.c:738,1
    - Dst: nan_add_kde_hdr
      Src: /src/hostap/src/nan/nan_pairing.c:743,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_pairing.c:744,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/nan/nan_pairing.c:745,1
    - Dst: nan_add_kde_hdr
      Src: /src/hostap/src/nan/nan_pairing.c:747,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/nan/nan_pairing.c:749,1
    - Dst: wpabuf_put_be32
      Src: /src/hostap/src/nan/nan_pairing.c:750,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - nan_data
    argTypes:
    - struct nan_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 734
    functionDepth: 2
    functionLinenumber: 734
    functionLinenumberEnd: 753
    functionName: nan_nik_build_key_data
    functionSourceFile: /src/hostap/src/nan/nan_pairing.c
    functionUses: 0
    functionsReached:
    - wpabuf_put_data
    - wpabuf_put_u8
    - wpabuf_put_le16
    - nan_add_kde_hdr
    - wpabuf_alloc
    - wpabuf_put_be32
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * nan_nik_build_key_data(struct nan_data *nan_data)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:777,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:783,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:792,1
    - Dst: nan_nik_build_key_data
      Src: /src/hostap/src/nan/nan_pairing.c:797,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:799,1
    - Dst: nan_crypto_encrypt_key_data
      Src: /src/hostap/src/nan/nan_pairing.c:805,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/nan/nan_pairing.c:808,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:810,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/nan/nan_pairing.c:817,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/nan/nan_pairing.c:819,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:821,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/nan/nan_pairing.c:823,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_pairing.c:827,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/nan/nan_pairing.c:828,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_pairing.c:829,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/nan/nan_pairing.c:831,1
    - Dst: os_memset
      Src: /src/hostap/src/nan/nan_pairing.c:832,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/nan/nan_pairing.c:837,1
    - Dst: wpa_cipher_key_len
      Src: /src/hostap/src/nan/nan_pairing.c:839,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/nan/nan_pairing.c:840,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/nan/nan_pairing.c:842,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/nan/nan_pairing.c:842,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/nan/nan_pairing.c:843,1
    - Dst: struct nan_data*::cfg::transmit_followup
      Src: /src/hostap/src/nan/nan_pairing.c:845,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/nan/nan_pairing.c:850,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/nan/nan_pairing.c:851,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 49
    argCount: 2
    argNames:
    - nan_data
    - peer
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 767
    functionDepth: 3
    functionLinenumber: 767
    functionLinenumberEnd: 854
    functionName: nan_send_nik
    functionSourceFile: /src/hostap/src/nan/nan_pairing.c
    functionUses: 0
    functionsReached:
    - nan_crypto_encrypt_key_data
    - wpa_printf
    - wpabuf_put
    - wpa_cipher_key_len
    - wpabuf_put_u8
    - wpabuf_len
    - wpabuf_free
    - nan_nik_build_key_data
    - WPA_PUT_BE16
    - wpabuf_put_be16
    - wpabuf_put_le16
    - wpabuf_alloc
    - wpabuf_put_buf
    - struct nan_data*::cfg::transmit_followup
    - wpabuf_clear_free
    - os_memset
    linkageType: ''
    returnType: int
    signature: int nan_send_nik(struct nan_data *nan_data, struct nan_peer *peer)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pasn_get_cipher
      Src: /src/hostap/src/nan/nan_pairing.c:861,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:866,1
    - Dst: nan_crypto_derive_nd_pmk_from_kdk
      Src: /src/hostap/src/nan/nan_pairing.c:879,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:884,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - nan_data
    - peer
    - nd_pmk
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 857
    functionDepth: 1
    functionLinenumber: 857
    functionLinenumberEnd: 887
    functionName: nan_pairing_derive_nd_pmk
    functionSourceFile: /src/hostap/src/nan/nan_pairing.c
    functionUses: 0
    functionsReached:
    - nan_crypto_derive_nd_pmk_from_kdk
    - wpa_printf
    - pasn_get_cipher
    linkageType: ''
    returnType: int
    signature: "int nan_pairing_derive_nd_pmk(struct nan_data *nan_data,\n\t\t\t\t
      \    struct nan_peer *peer, u8 *nd_pmk)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: nan_get_peer
      Src: /src/hostap/src/nan/nan_pairing.c:915,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:917,1
    - Dst: MAC2STR
      Src: /src/hostap/src/nan/nan_pairing.c:918,1
    - Dst: dl_list_empty
      Src: /src/hostap/src/nan/nan_pairing.c:924,1
    - Dst: nan_clear_peer_schedule
      Src: /src/hostap/src/nan/nan_pairing.c:925,1
    - Dst: wpa_pasn_auth_tx_status
      Src: /src/hostap/src/nan/nan_pairing.c:932,1
    - Dst: nan_pairing_derive_nd_pmk
      Src: /src/hostap/src/nan/nan_pairing.c:937,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:939,1
    - Dst: struct nan_data*::cfg::pairing_result_cb
      Src: /src/hostap/src/nan/nan_pairing.c:943,1
    - Dst: forced_memzero
      Src: /src/hostap/src/nan/nan_pairing.c:950,1
    - Dst: nan_pairing_deinit_peer
      Src: /src/hostap/src/nan/nan_pairing.c:952,1
    - Dst: nan_pairing_done
      Src: /src/hostap/src/nan/nan_pairing.c:956,1
    - Dst: os_sleep
      Src: /src/hostap/src/nan/nan_pairing.c:965,1
    - Dst: nan_send_nik
      Src: /src/hostap/src/nan/nan_pairing.c:967,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:968,1
    - Dst: nan_pairing_deinit_peer
      Src: /src/hostap/src/nan/nan_pairing.c:970,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/nan/nan_pairing.c:975,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 4
    argNames:
    - nan
    - data
    - data_len
    - acked
    argTypes:
    - struct nan_data*
    - u8*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 902
    functionDepth: 4
    functionLinenumber: 902
    functionLinenumberEnd: 979
    functionName: nan_pairing_pasn_auth_tx_status
    functionSourceFile: /src/hostap/src/nan/nan_pairing.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - dl_list_empty
    - nan_pairing_deinit_peer
    - os_sleep
    - forced_memzero
    - wpabuf_free
    - nan_get_peer
    - MAC2STR
    - wpa_pasn_auth_tx_status
    - nan_pairing_derive_nd_pmk
    - nan_clear_peer_schedule
    - struct nan_data*::cfg::pairing_result_cb
    - nan_pairing_done
    - nan_send_nik
    linkageType: ''
    returnType: int
    signature: "int nan_pairing_pasn_auth_tx_status(struct nan_data *nan, const u8
      *data,\n\t\t\t\t    size_t data_len, bool acked)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:1000,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:1008,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - csia
    - len
    - cs
    argTypes:
    - u8*
    - size_t
    - struct nan_cipher_suite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 994
    functionDepth: 0
    functionLinenumber: 994
    functionLinenumberEnd: 1015
    functionName: nan_parse_csia
    functionSourceFile: /src/hostap/src/nan/nan_pairing.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int nan_parse_csia(const u8 *csia, size_t len,\n\t\t\t  struct nan_cipher_suite
      *cs)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:1043,1
    - Dst: get_vendor_ie
      Src: /src/hostap/src/nan/nan_pairing.c:1051,1
    - Dst: ieee802_11_defrag
      Src: /src/hostap/src/nan/nan_pairing.c:1055,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/nan/nan_pairing.c:1059,1
    - Dst: nan_parse_attrs
      Src: /src/hostap/src/nan/nan_pairing.c:1060,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/nan/nan_pairing.c:1060,1
    - Dst: nan_parse_peer_dev_capa_ext
      Src: /src/hostap/src/nan/nan_pairing.c:1065,1
    - Dst: nan_parse_csia
      Src: /src/hostap/src/nan/nan_pairing.c:1068,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:1070,1
    - Dst: nan_attrs_clear
      Src: /src/hostap/src/nan/nan_pairing.c:1075,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/nan/nan_pairing.c:1077,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 5
    argNames:
    - nan_data
    - peer
    - mgmt
    - len
    - cs
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - struct ieee80211_mgmt*
    - size_t
    - struct nan_cipher_suite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 1030
    functionDepth: 4
    functionLinenumber: 1030
    functionLinenumberEnd: 1079
    functionName: nan_pairing_process_elems
    functionSourceFile: /src/hostap/src/nan/nan_pairing.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - nan_parse_attrs
    - wpabuf_len
    - nan_attrs_clear
    - get_vendor_ie
    - wpabuf_free
    - wpabuf_head
    - nan_parse_peer_dev_capa_ext
    - nan_parse_csia
    - ieee802_11_defrag
    linkageType: ''
    returnType: int
    signature: "int nan_pairing_process_elems(struct nan_data *nan_data,\n\t\t\t\t
      \    struct nan_peer *peer,\n\t\t\t\t     const struct ieee80211_mgmt *mgmt,\n\t\t\t\t
      \    size_t len, struct nan_cipher_suite *cs)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:1106,1
    - Dst: nan_pairing_process_elems
      Src: /src/hostap/src/nan/nan_pairing.c:1113,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:1114,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:1123,1
    - Dst: wpa_cipher_txt
      Src: /src/hostap/src/nan/nan_pairing.c:1125,1
    - Dst: wpa_cipher_txt
      Src: /src/hostap/src/nan/nan_pairing.c:1126,1
    - Dst: handle_auth_pasn_1
      Src: /src/hostap/src/nan/nan_pairing.c:1130,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:1132,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 5
    argNames:
    - nan_data
    - own_addr
    - peer
    - mgmt
    - len
    argTypes:
    - struct nan_data*
    - u8*
    - struct nan_peer*
    - struct ieee80211_mgmt*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1096
    functionDepth: 5
    functionLinenumber: 1096
    functionLinenumberEnd: 1137
    functionName: nan_pairing_handle_auth_1
    functionSourceFile: /src/hostap/src/nan/nan_pairing.c
    functionUses: 0
    functionsReached:
    - wpa_cipher_txt
    - wpa_printf
    - nan_pairing_process_elems
    - handle_auth_pasn_1
    linkageType: ''
    returnType: int
    signature: "int nan_pairing_handle_auth_1(struct nan_data *nan_data, u8 *own_addr,\n\t\t\t\t
      \    struct nan_peer *peer,\n\t\t\t\t     const struct ieee80211_mgmt *mgmt,\n\t\t\t\t
      \    size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_pasn_auth_rx
      Src: /src/hostap/src/nan/nan_pairing.c:1148,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:1150,1
    - Dst: struct nan_data*::cfg::pairing_result_cb
      Src: /src/hostap/src/nan/nan_pairing.c:1152,1
    - Dst: nan_pairing_deinit_peer
      Src: /src/hostap/src/nan/nan_pairing.c:1156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - nan_data
    - peer
    - mgmt
    - len
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - struct ieee80211_mgmt*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1161
      start: 1140
    functionDepth: 1
    functionLinenumber: 1140
    functionLinenumberEnd: 1161
    functionName: nan_pairing_handle_auth_2
    functionSourceFile: /src/hostap/src/nan/nan_pairing.c
    functionUses: 0
    functionsReached:
    - struct nan_data*::cfg::pairing_result_cb
    - wpa_printf
    - nan_pairing_deinit_peer
    - wpa_pasn_auth_rx
    linkageType: ''
    returnType: int
    signature: "int nan_pairing_handle_auth_2(struct nan_data *nan_data,\n\t\t\t\t
      \    struct nan_peer *peer,\n\t\t\t\t     const struct ieee80211_mgmt *mgmt,\n\t\t\t\t
      \    size_t len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: handle_auth_pasn_3
      Src: /src/hostap/src/nan/nan_pairing.c:1174,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:1178,1
    - Dst: nan_pairing_derive_nd_pmk
      Src: /src/hostap/src/nan/nan_pairing.c:1180,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:1182,1
    - Dst: struct nan_data*::cfg::pairing_result_cb
      Src: /src/hostap/src/nan/nan_pairing.c:1187,1
    - Dst: forced_memzero
      Src: /src/hostap/src/nan/nan_pairing.c:1193,1
    - Dst: nan_pairing_deinit_peer
      Src: /src/hostap/src/nan/nan_pairing.c:1195,1
    - Dst: nan_pairing_done
      Src: /src/hostap/src/nan/nan_pairing.c:1197,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - nan_data
    - peer
    - mgmt
    - len
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - struct ieee80211_mgmt*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1204
      start: 1164
    functionDepth: 2
    functionLinenumber: 1164
    functionLinenumberEnd: 1204
    functionName: nan_pairing_handle_auth_3
    functionSourceFile: /src/hostap/src/nan/nan_pairing.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - handle_auth_pasn_3
    - nan_pairing_deinit_peer
    - forced_memzero
    - nan_pairing_derive_nd_pmk
    - struct nan_data*::cfg::pairing_result_cb
    - nan_pairing_done
    linkageType: ''
    returnType: int
    signature: "int nan_pairing_handle_auth_3(struct nan_data *nan_data,\n\t\t\t\t
      \    struct nan_peer *peer,\n\t\t\t\t     const struct ieee80211_mgmt *mgmt,\n\t\t\t\t
      \    size_t len)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/src/nan/nan_pairing.c:1226,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:1227,1
    - Dst: le_to_host16
      Src: /src/hostap/src/nan/nan_pairing.c:1231,1
    - Dst: le_to_host16
      Src: /src/hostap/src/nan/nan_pairing.c:1232,1
    - Dst: le_to_host16
      Src: /src/hostap/src/nan/nan_pairing.c:1233,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:1236,1
    - Dst: get_vendor_ie
      Src: /src/hostap/src/nan/nan_pairing.c:1242,1
    - Dst: ieee802_11_defrag
      Src: /src/hostap/src/nan/nan_pairing.c:1249,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:1251,1
    - Dst: nan_add_peer
      Src: /src/hostap/src/nan/nan_pairing.c:1256,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/nan/nan_pairing.c:1256,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/nan/nan_pairing.c:1257,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/nan/nan_pairing.c:1258,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:1260,1
    - Dst: nan_get_peer
      Src: /src/hostap/src/nan/nan_pairing.c:1265,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:1267,1
    - Dst: nan_pairing_process_elems
      Src: /src/hostap/src/nan/nan_pairing.c:1279,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:1281,1
    - Dst: get_ie
      Src: /src/hostap/src/nan/nan_pairing.c:1286,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:1291,1
    - Dst: wpa_parse_wpa_ie_rsn
      Src: /src/hostap/src/nan/nan_pairing.c:1296,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:1298,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/nan/nan_pairing.c:1303,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/nan/nan_pairing.c:1305,1
    - Dst: struct nan_data*::cfg::pairing_request
      Src: /src/hostap/src/nan/nan_pairing.c:1309,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:1316,1
    - Dst: struct nan_data*::cfg::pairing_result_cb
      Src: /src/hostap/src/nan/nan_pairing.c:1324,1
    - Dst: nan_pairing_deinit_peer
      Src: /src/hostap/src/nan/nan_pairing.c:1328,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:1329,1
    - Dst: nan_pairing_handle_auth_1
      Src: /src/hostap/src/nan/nan_pairing.c:1336,1
    - Dst: nan_pairing_handle_auth_2
      Src: /src/hostap/src/nan/nan_pairing.c:1340,1
    - Dst: nan_pairing_handle_auth_3
      Src: /src/hostap/src/nan/nan_pairing.c:1342,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 71
    argCount: 3
    argNames:
    - nan_data
    - mgmt
    - len
    argTypes:
    - struct nan_data*
    - struct ieee80211_mgmt*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1345
      start: 1214
    functionDepth: 6
    functionLinenumber: 1214
    functionLinenumberEnd: 1345
    functionName: nan_pairing_auth_rx
    functionSourceFile: /src/hostap/src/nan/nan_pairing.c
    functionUses: 2
    functionsReached:
    - get_vendor_ie
    - nan_get_peer
    - nan_pairing_handle_auth_2
    - wpa_printf
    - nan_pairing_deinit_peer
    - ether_addr_equal
    - nan_pairing_handle_auth_3
    - struct nan_data*::cfg::pairing_result_cb
    - ieee802_11_defrag
    - nan_pairing_process_elems
    - wpabuf_head_u8
    - wpabuf_len
    - wpabuf_alloc_copy
    - struct nan_data*::cfg::pairing_request
    - nan_add_peer
    - wpabuf_free
    - wpa_parse_wpa_ie_rsn
    - get_ie
    - le_to_host16
    - nan_pairing_handle_auth_1
    linkageType: ''
    returnType: int
    signature: "int nan_pairing_auth_rx(struct nan_data *nan_data,\n\t\t\tconst struct
      ieee80211_mgmt *mgmt, size_t len)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: nan_get_peer
      Src: /src/hostap/src/nan/nan_pairing.c:1379,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:1381,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:1388,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:1394,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/nan/nan_pairing.c:1400,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:1403,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:1409,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:1415,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/nan/nan_pairing.c:1421,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:1425,1
    - Dst: nan_crypto_decrypt_key_data
      Src: /src/hostap/src/nan/nan_pairing.c:1432,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:1435,1
    - Dst: wpa_parse_kde_ies
      Src: /src/hostap/src/nan/nan_pairing.c:1440,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/nan/nan_pairing.c:1440,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/nan/nan_pairing.c:1440,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:1442,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:1448,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:1455,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:1462,1
    - Dst: le_to_host16
      Src: /src/hostap/src/nan/nan_pairing.c:1469,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:1471,1
    - Dst: struct nan_data*::cfg::update_pairing_credentials
      Src: /src/hostap/src/nan/nan_pairing.c:1478,1
    - Dst: be_to_host32
      Src: /src/hostap/src/nan/nan_pairing.c:1480,1
    - Dst: pasn_get_akmp
      Src: /src/hostap/src/nan/nan_pairing.c:1481,1
    - Dst: pasn_get_pmk
      Src: /src/hostap/src/nan/nan_pairing.c:1482,1
    - Dst: pasn_get_pmk_len
      Src: /src/hostap/src/nan/nan_pairing.c:1482,1
    - Dst: nan_send_nik
      Src: /src/hostap/src/nan/nan_pairing.c:1485,1
    - Dst: nan_pairing_deinit_peer
      Src: /src/hostap/src/nan/nan_pairing.c:1489,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/nan/nan_pairing.c:1490,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 79
    argCount: 4
    argNames:
    - nan_data
    - peer_addr
    - shared_key_descr
    - attr_len
    argTypes:
    - struct nan_data*
    - u8*
    - struct nan_shared_key*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1492
      start: 1363
    functionDepth: 4
    functionLinenumber: 1363
    functionLinenumberEnd: 1492
    functionName: nan_pairing_followup_rx
    functionSourceFile: /src/hostap/src/nan/nan_pairing.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - WPA_GET_BE16
    - struct nan_data*::cfg::update_pairing_credentials
    - pasn_get_pmk
    - wpabuf_len
    - nan_pairing_deinit_peer
    - wpabuf_free
    - be_to_host32
    - nan_get_peer
    - wpabuf_head
    - wpa_parse_kde_ies
    - pasn_get_akmp
    - pasn_get_pmk_len
    - nan_crypto_decrypt_key_data
    - le_to_host16
    - nan_send_nik
    linkageType: ''
    returnType: bool
    signature: "bool nan_pairing_followup_rx(struct nan_data *nan_data, const u8 *peer_addr,\n\t\t\t
      \    const struct nan_shared_key *shared_key_descr,\n\t\t\t     size_t attr_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:1497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - nan
    - value
    argTypes:
    - struct nan_data*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1501
      start: 1495
    functionDepth: 0
    functionLinenumber: 1495
    functionLinenumberEnd: 1501
    functionName: nan_pairing_set_pairing_setup
    functionSourceFile: /src/hostap/src/nan/nan_pairing.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int nan_pairing_set_pairing_setup(struct nan_data *nan, bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:1506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - nan
    - value
    argTypes:
    - struct nan_data*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1510
      start: 1504
    functionDepth: 0
    functionLinenumber: 1504
    functionLinenumberEnd: 1510
    functionName: nan_pairing_set_npk_caching
    functionSourceFile: /src/hostap/src/nan/nan_pairing.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int nan_pairing_set_npk_caching(struct nan_data *nan, bool value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:1515,1
    - Dst: nan_nira_get_tag_nonce
      Src: /src/hostap/src/nan/nan_pairing.c:1519,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:1521,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - nan
    - value
    argTypes:
    - struct nan_data*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1529
      start: 1513
    functionDepth: 0
    functionLinenumber: 1513
    functionLinenumberEnd: 1529
    functionName: nan_pairing_set_pairing_verification
    functionSourceFile: /src/hostap/src/nan/nan_pairing.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - nan_nira_get_tag_nonce
    linkageType: ''
    returnType: int
    signature: int nan_pairing_set_pairing_verification(struct nan_data *nan, bool
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:1535,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:1540,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - nan
    - value
    argTypes:
    - struct nan_data*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1546
      start: 1532
    functionDepth: 0
    functionLinenumber: 1532
    functionLinenumberEnd: 1546
    functionName: nan_pairing_set_cipher_suites
    functionSourceFile: /src/hostap/src/nan/nan_pairing.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int nan_pairing_set_cipher_suites(struct nan_data *nan, u32 value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:1555,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_pairing.c:1560,1
    - Dst: nan_nira_get_tag_nonce
      Src: /src/hostap/src/nan/nan_pairing.c:1563,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:1564,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_pairing.c:1568,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/nan/nan_pairing.c:1569,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_pairing.c:1571,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/nan/nan_pairing.c:1572,1
    - Dst: os_memset
      Src: /src/hostap/src/nan/nan_pairing.c:1575,1
    - Dst: os_memset
      Src: /src/hostap/src/nan/nan_pairing.c:1576,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/nan/nan_pairing.c:1579,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - nan
    - nik
    - nik_len
    argTypes:
    - struct nan_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1582
      start: 1549
    functionDepth: 0
    functionLinenumber: 1549
    functionLinenumberEnd: 1582
    functionName: nan_pairing_set_nik
    functionSourceFile: /src/hostap/src/nan/nan_pairing.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_hexdump_key
    - nan_nira_get_tag_nonce
    - os_memset
    linkageType: ''
    returnType: int
    signature: int nan_pairing_set_nik(struct nan_data *nan, const u8 *nik, size_t
      nik_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:1588,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:1594,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - nan
    - lifetime
    argTypes:
    - struct nan_data*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1597
      start: 1585
    functionDepth: 0
    functionLinenumber: 1585
    functionLinenumberEnd: 1597
    functionName: nan_pairing_set_nik_lifetime
    functionSourceFile: /src/hostap/src/nan/nan_pairing.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int nan_pairing_set_nik_lifetime(struct nan_data *nan, u32 lifetime)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nan_get_peer
      Src: /src/hostap/src/nan/nan_pairing.c:1604,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - nan_data
    - peer_addr
    argTypes:
    - struct nan_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1609
      start: 1600
    functionDepth: 1
    functionLinenumber: 1600
    functionLinenumberEnd: 1609
    functionName: nan_pairing_is_peer_paired
    functionSourceFile: /src/hostap/src/nan/nan_pairing.c
    functionUses: 1
    functionsReached:
    - nan_get_peer
    linkageType: ''
    returnType: bool
    signature: bool nan_pairing_is_peer_paired(struct nan_data *nan_data, const u8
      *peer_addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nan_get_peer
      Src: /src/hostap/src/nan/nan_pairing.c:1616,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_pairing.c:1620,1
    - Dst: MAC2STR
      Src: /src/hostap/src/nan/nan_pairing.c:1621,1
    - Dst: nan_pairing_deinit_peer
      Src: /src/hostap/src/nan/nan_pairing.c:1624,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - nan_data
    - peer_addr
    argTypes:
    - struct nan_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1625
      start: 1612
    functionDepth: 1
    functionLinenumber: 1612
    functionLinenumberEnd: 1625
    functionName: nan_pairing_unpair_peer
    functionSourceFile: /src/hostap/src/nan/nan_pairing.c
    functionUses: 1
    functionsReached:
    - nan_pairing_deinit_peer
    - MAC2STR
    - wpa_printf
    - nan_get_peer
    linkageType: ''
    returnType: void
    signature: void nan_pairing_unpair_peer(struct nan_data *nan_data, const u8 *peer_addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - nan_data
    - buf
    argTypes:
    - struct nan_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 903
    functionDepth: 0
    functionLinenumber: 903
    functionLinenumberEnd: 907
    functionName: nan_pairing_add_attrs
    functionSourceFile: /src/hostap/src/nan/nan.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int nan_pairing_add_attrs(struct nan_data *nan_data,\n\t\t\t\t\tstruct
      wpabuf *buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - nan_data
    - addr
    - auth_mode
    - cipher
    - handle
    - peer_instance_id
    - responder
    - password
    - sched
    argTypes:
    - struct nan_data*
    - u8*
    - u8
    - int
    - int
    - u8
    - bool
    - char*
    - struct nan_schedule*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 909
    functionDepth: 0
    functionLinenumber: 909
    functionLinenumberEnd: 917
    functionName: nan_pairing_initiate_pasn_auth
    functionSourceFile: /src/hostap/src/nan/nan.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int nan_pairing_initiate_pasn_auth(struct nan_data *nan_data, const
      u8 *addr,\n\t\t\t\t   u8 auth_mode, int cipher, int handle,\n\t\t\t\t   u8 peer_instance_id,
      bool responder,\n\t\t\t\t   const char *password,\n\t\t\t\t   const struct nan_schedule
      *sched)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - nan
    - data
    - data_len
    - acked
    argTypes:
    - struct nan_data*
    - u8*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 924
      start: 919
    functionDepth: 0
    functionLinenumber: 919
    functionLinenumberEnd: 924
    functionName: nan_pairing_pasn_auth_tx_status
    functionSourceFile: /src/hostap/src/nan/nan.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int nan_pairing_pasn_auth_tx_status(struct nan_data *nan,\n\t\t\t\t\t\t
      \ const u8 *data,\n\t\t\t\t\t\t  size_t data_len, bool acked)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - nan_data
    - mgmt
    - len
    argTypes:
    - struct nan_data*
    - struct ieee80211_mgmt*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 926
    functionDepth: 0
    functionLinenumber: 926
    functionLinenumberEnd: 931
    functionName: nan_pairing_auth_rx
    functionSourceFile: /src/hostap/src/nan/nan.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int nan_pairing_auth_rx(struct nan_data *nan_data,\n\t\t\t\t      const
      struct ieee80211_mgmt *mgmt,\n\t\t\t\t      size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - nan_data
    - peer_addr
    argTypes:
    - struct nan_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 933
    functionDepth: 0
    functionLinenumber: 933
    functionLinenumberEnd: 937
    functionName: nan_pairing_is_peer_paired
    functionSourceFile: /src/hostap/src/nan/nan.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool nan_pairing_is_peer_paired(struct nan_data *nan_data, const u8
      *peer_addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - nan_data
    - peer_addr
    argTypes:
    - struct nan_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 939
    functionDepth: 0
    functionLinenumber: 939
    functionLinenumberEnd: 942
    functionName: nan_pairing_unpair_peer
    functionSourceFile: /src/hostap/src/nan/nan.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nan_pairing_unpair_peer(struct nan_data *nan_data, const u8 *peer_addr)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - enum nan_cipher_suite_id
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 41
    functionName: nan_crypto_cipher_kck_len
    functionSourceFile: /src/hostap/src/nan/nan_crypto.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t nan_crypto_cipher_kck_len(enum nan_cipher_suite_id cipher)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - enum nan_cipher_suite_id
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 56
    functionName: nan_crypto_cipher_kek_len
    functionSourceFile: /src/hostap/src/nan/nan_crypto.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t nan_crypto_cipher_kek_len(enum nan_cipher_suite_id cipher)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - enum nan_cipher_suite_id
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 71
    functionName: nan_cipher_key_len
    functionSourceFile: /src/hostap/src/nan/nan_crypto.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t nan_cipher_key_len(enum nan_cipher_suite_id cipher)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256_vector
      Src: /src/hostap/src/nan/nan_crypto.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - plaintext
    - psize
    - output
    argTypes:
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 83
    functionName: nan_crypto_sha256
    functionSourceFile: /src/hostap/src/nan/nan_crypto.c
    functionUses: 0
    functionsReached:
    - sha256_vector
    linkageType: ''
    returnType: int
    signature: int nan_crypto_sha256(const u8 *plaintext, size_t psize, u8 *output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha384_vector
      Src: /src/hostap/src/nan/nan_crypto.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - plaintext
    - psize
    - output
    argTypes:
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 95
    functionName: nan_crypto_sha384
    functionSourceFile: /src/hostap/src/nan/nan_crypto.c
    functionUses: 0
    functionsReached:
    - sha384_vector
    linkageType: ''
    returnType: int
    signature: int nan_crypto_sha384(const u8 *plaintext, size_t psize, u8 *output)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NAN_CS_IS_VALID_NDP
      Src: /src/hostap/src/nan/nan_crypto.c:119,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_crypto.c:125,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_crypto.c:126,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_crypto.c:127,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_crypto.c:128,1
    - Dst: nan_crypto_cipher_kck_len
      Src: /src/hostap/src/nan/nan_crypto.c:131,1
    - Dst: nan_crypto_cipher_kek_len
      Src: /src/hostap/src/nan/nan_crypto.c:132,1
    - Dst: nan_cipher_key_len
      Src: /src/hostap/src/nan/nan_crypto.c:133,1
    - Dst: NAN_CS_IS_128
      Src: /src/hostap/src/nan/nan_crypto.c:136,1
    - Dst: sha256_prf
      Src: /src/hostap/src/nan/nan_crypto.c:137,1
    - Dst: sha384_prf
      Src: /src/hostap/src/nan/nan_crypto.c:140,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/nan/nan_crypto.c:145,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/nan/nan_crypto.c:146,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/nan/nan_crypto.c:147,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/nan/nan_crypto.c:148,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/nan/nan_crypto.c:149,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/nan/nan_crypto.c:150,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_crypto.c:152,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/nan/nan_crypto.c:153,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_crypto.c:155,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/nan/nan_crypto.c:156,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_crypto.c:158,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/nan/nan_crypto.c:159,1
    - Dst: forced_memzero
      Src: /src/hostap/src/nan/nan_crypto.c:162,1
    - Dst: forced_memzero
      Src: /src/hostap/src/nan/nan_crypto.c:163,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 7
    argNames:
    - pmk
    - iaddr
    - raddr
    - inonce
    - rnonce
    - ptk
    - cipher
    argTypes:
    - u8*
    - u8*
    - u8*
    - u8*
    - u8*
    - struct nan_ptk*
    - enum nan_cipher_suite_id
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 165
    functionName: nan_crypto_pmk_to_ptk
    functionSourceFile: /src/hostap/src/nan/nan_crypto.c
    functionUses: 0
    functionsReached:
    - sha256_prf
    - os_memcpy
    - sha384_prf
    - nan_crypto_cipher_kck_len
    - wpa_hexdump_key
    - forced_memzero
    - NAN_CS_IS_VALID_NDP
    - nan_crypto_cipher_kek_len
    - NAN_CS_IS_128
    - nan_cipher_key_len
    linkageType: ''
    returnType: int
    signature: "int nan_crypto_pmk_to_ptk(const u8 *pmk, const u8 *iaddr, const u8
      *raddr,\n\t\t\t  const u8 *inonce, const u8 *rnonce,\n\t\t\t  struct nan_ptk
      *ptk,\n\t\t\t  enum nan_cipher_suite_id cipher)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/nan/nan_crypto.c:187,1
    - Dst: os_memset
      Src: /src/hostap/src/nan/nan_crypto.c:188,1
    - Dst: NAN_CS_IS_VALID_NDP
      Src: /src/hostap/src/nan/nan_crypto.c:190,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/nan/nan_crypto.c:193,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_crypto.c:196,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_crypto.c:197,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_crypto.c:198,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_crypto.c:200,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/nan/nan_crypto.c:203,1
    - Dst: NAN_CS_IS_128
      Src: /src/hostap/src/nan/nan_crypto.c:205,1
    - Dst: hmac_sha256
      Src: /src/hostap/src/nan/nan_crypto.c:206,1
    - Dst: hmac_sha384
      Src: /src/hostap/src/nan/nan_crypto.c:208,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_crypto.c:212,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/nan/nan_crypto.c:213,1
    - Dst: forced_memzero
      Src: /src/hostap/src/nan/nan_crypto.c:216,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 6
    argNames:
    - pmk
    - iaddr
    - raddr
    - serv_id
    - cipher
    - pmkid
    argTypes:
    - u8*
    - u8*
    - u8*
    - u8*
    - enum nan_cipher_suite_id
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 218
    functionName: nan_crypto_calc_pmkid
    functionSourceFile: /src/hostap/src/nan/nan_crypto.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_hexdump_key
    - hmac_sha256
    - forced_memzero
    - is_zero_ether_addr
    - NAN_CS_IS_VALID_NDP
    - NAN_CS_IS_128
    - hmac_sha384
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int nan_crypto_calc_pmkid(const u8 *pmk, const u8 *iaddr, const u8
      *raddr,\n\t\t\t  const u8 *serv_id,\n\t\t\t  enum nan_cipher_suite_id cipher,
      u8 *pmkid)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NAN_CS_IS_VALID_NDP
      Src: /src/hostap/src/nan/nan_crypto.c:235,1
    - Dst: NAN_CS_IS_128
      Src: /src/hostap/src/nan/nan_crypto.c:238,1
    - Dst: nan_crypto_sha256
      Src: /src/hostap/src/nan/nan_crypto.c:239,1
    - Dst: nan_crypto_sha384
      Src: /src/hostap/src/nan/nan_crypto.c:241,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_crypto.c:245,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/nan/nan_crypto.c:246,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/nan/nan_crypto.c:247,1
    - Dst: forced_memzero
      Src: /src/hostap/src/nan/nan_crypto.c:250,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - cipher
    - buf
    - len
    - token
    argTypes:
    - enum nan_cipher_suite_id
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 253
    functionName: nan_crypto_calc_auth_token
    functionSourceFile: /src/hostap/src/nan/nan_crypto.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - nan_crypto_sha256
    - wpa_hexdump_key
    - nan_crypto_sha384
    - forced_memzero
    - NAN_CS_IS_VALID_NDP
    - NAN_CS_IS_128
    linkageType: ''
    returnType: int
    signature: "int nan_crypto_calc_auth_token(enum nan_cipher_suite_id cipher,\n\t\t\t
      \      const u8 *buf, size_t len, u8 *token)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/nan/nan_crypto.c:273,1
    - Dst: NAN_CS_IS_VALID_NDP
      Src: /src/hostap/src/nan/nan_crypto.c:275,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/nan/nan_crypto.c:278,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/nan/nan_crypto.c:279,1
    - Dst: NAN_CS_IS_128
      Src: /src/hostap/src/nan/nan_crypto.c:281,1
    - Dst: hmac_sha256
      Src: /src/hostap/src/nan/nan_crypto.c:283,1
    - Dst: hmac_sha384
      Src: /src/hostap/src/nan/nan_crypto.c:286,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_crypto.c:291,1
    - Dst: forced_memzero
      Src: /src/hostap/src/nan/nan_crypto.c:292,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/nan/nan_crypto.c:294,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 6
    argNames:
    - buf
    - len
    - kck
    - kck_len
    - cipher
    - mic
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - u8
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 296
    functionName: nan_crypto_key_mic
    functionSourceFile: /src/hostap/src/nan/nan_crypto.c
    functionUses: 0
    functionsReached:
    - wpa_hexdump_key
    - os_memcpy
    - hmac_sha256
    - forced_memzero
    - NAN_CS_IS_VALID_NDP
    - NAN_CS_IS_128
    - hmac_sha384
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int nan_crypto_key_mic(const u8 *buf, size_t len, const u8 *kck,\n\t\t
      \      size_t kck_len, u8 cipher, u8 *mic)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_crypto.c:307,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_crypto.c:308,1
    - Dst: pbkdf2_sha256
      Src: /src/hostap/src/nan/nan_crypto.c:313,1
    - Dst: pbkdf2_sha384
      Src: /src/hostap/src/nan/nan_crypto.c:316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 5
    argNames:
    - pwd
    - service_id
    - csid
    - peer_nmi
    - nd_pmk
    argTypes:
    - char*
    - u8*
    - enum nan_cipher_suite_id
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 320
    functionName: nan_crypto_derive_nd_pmk
    functionSourceFile: /src/hostap/src/nan/nan_crypto.c
    functionUses: 1
    functionsReached:
    - pbkdf2_sha256
    - os_memcpy
    - pbkdf2_sha384
    linkageType: ''
    returnType: int
    signature: "int nan_crypto_derive_nd_pmk(const char *pwd, const u8 *service_id,\n\t\t\t
      \    enum nan_cipher_suite_id csid,\n\t\t\t     const u8 *peer_nmi, u8 *nd_pmk)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_crypto.c:345,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_crypto.c:352,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_crypto.c:360,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_crypto.c:361,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_crypto.c:362,1
    - Dst: hmac_sha256
      Src: /src/hostap/src/nan/nan_crypto.c:366,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_crypto.c:367,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/nan/nan_crypto.c:371,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_crypto.c:373,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/nan/nan_crypto.c:375,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/nan/nan_crypto.c:376,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/nan/nan_crypto.c:376,1
    - Dst: forced_memzero
      Src: /src/hostap/src/nan/nan_crypto.c:378,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 4
    argNames:
    - nik
    - nik_len
    - nmi_addr
    - nira_nonce
    argTypes:
    - u8*
    - size_t
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 380
    functionName: nan_crypto_derive_nira_tag
    functionSourceFile: /src/hostap/src/nan/nan_crypto.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_hexdump
    - hmac_sha256
    - wpabuf_len
    - forced_memzero
    - wpabuf_alloc_copy
    - wpabuf_head
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * nan_crypto_derive_nira_tag(const u8 *nik, size_t nik_len,\n\t\t\t\t\t
      \  const u8 *nmi_addr,\n\t\t\t\t\t   const u8 *nira_nonce)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_crypto.c:410,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_crypto.c:416,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_crypto.c:417,1
    - Dst: sha256_prf
      Src: /src/hostap/src/nan/nan_crypto.c:420,1
    - Dst: sha384_prf
      Src: /src/hostap/src/nan/nan_crypto.c:423,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_crypto.c:426,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_crypto.c:433,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/nan/nan_crypto.c:438,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_crypto.c:439,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_crypto.c:440,1
    - Dst: MAC2STR
      Src: /src/hostap/src/nan/nan_crypto.c:441,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_crypto.c:442,1
    - Dst: MAC2STR
      Src: /src/hostap/src/nan/nan_crypto.c:443,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/nan/nan_crypto.c:444,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 8
    argNames:
    - kdk
    - kdk_len
    - cipher
    - label
    - initiator_nmi
    - responder_nmi
    - key
    - key_len
    argTypes:
    - u8*
    - size_t
    - enum nan_cipher_suite_id
    - char*
    - u8*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 398
    functionDepth: 2
    functionLinenumber: 398
    functionLinenumberEnd: 447
    functionName: nan_crypto_derive_from_kdk
    functionSourceFile: /src/hostap/src/nan/nan_crypto.c
    functionUses: 0
    functionsReached:
    - sha256_prf
    - sha384_prf
    - wpa_printf
    - os_memcpy
    - wpa_hexdump_key
    - MAC2STR
    linkageType: ''
    returnType: int
    signature: "int nan_crypto_derive_from_kdk(const u8 *kdk, size_t kdk_len,\n\t\t\t\t
      \     enum nan_cipher_suite_id cipher,\n\t\t\t\t      const char *label,\n\t\t\t\t
      \     const u8 *initiator_nmi,\n\t\t\t\t      const u8 *responder_nmi,\n\t\t\t\t
      \     u8 *key, size_t key_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_crypto.c:481,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_crypto.c:484,1
    - Dst: nan_crypto_derive_from_kdk
      Src: /src/hostap/src/nan/nan_crypto.c:489,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 7
    argNames:
    - kdk
    - kdk_len
    - cipher
    - initiator_nmi
    - responder_nmi
    - buf
    - buf_len
    argTypes:
    - u8*
    - size_t
    - enum nan_cipher_suite_id
    - u8*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 474
    functionDepth: 3
    functionLinenumber: 474
    functionLinenumberEnd: 492
    functionName: nan_crypto_derive_npk
    functionSourceFile: /src/hostap/src/nan/nan_crypto.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - nan_crypto_derive_from_kdk
    linkageType: ''
    returnType: int
    signature: "int nan_crypto_derive_npk(const u8 *kdk, size_t kdk_len,\n\t\t\t  enum
      nan_cipher_suite_id cipher,\n\t\t\t  const u8 *initiator_nmi, const u8 *responder_nmi,\n\t\t\t
      \ u8 *buf, size_t buf_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_crypto.c:515,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_crypto.c:519,1
    - Dst: nan_crypto_cipher_kek_len
      Src: /src/hostap/src/nan/nan_crypto.c:525,1
    - Dst: nan_crypto_derive_from_kdk
      Src: /src/hostap/src/nan/nan_crypto.c:527,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 6
    argNames:
    - kdk
    - kdk_len
    - cipher
    - initiator_nmi
    - responder_nmi
    - ptk
    argTypes:
    - u8*
    - size_t
    - enum nan_cipher_suite_id
    - u8*
    - u8*
    - struct wpa_ptk*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 508
    functionDepth: 3
    functionLinenumber: 508
    functionLinenumberEnd: 530
    functionName: nan_crypto_derive_kek
    functionSourceFile: /src/hostap/src/nan/nan_crypto.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - nan_crypto_derive_from_kdk
    - nan_crypto_cipher_kek_len
    linkageType: ''
    returnType: int
    signature: "int nan_crypto_derive_kek(const u8 *kdk, size_t kdk_len,\n\t\t\t  enum
      nan_cipher_suite_id cipher,\n\t\t\t  const u8 *initiator_nmi, const u8 *responder_nmi,\n\t\t\t
      \ struct wpa_ptk *ptk)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_crypto.c:553,1
    - Dst: nan_crypto_derive_from_kdk
      Src: /src/hostap/src/nan/nan_crypto.c:556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - kdk
    - kdk_len
    - cipher
    - initiator_nmi
    - responder_nmi
    - nd_pmk
    argTypes:
    - u8*
    - size_t
    - enum nan_cipher_suite_id
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 546
    functionDepth: 3
    functionLinenumber: 546
    functionLinenumberEnd: 559
    functionName: nan_crypto_derive_nd_pmk_from_kdk
    functionSourceFile: /src/hostap/src/nan/nan_crypto.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - nan_crypto_derive_from_kdk
    linkageType: ''
    returnType: int
    signature: "int nan_crypto_derive_nd_pmk_from_kdk(const u8 *kdk, size_t kdk_len,\n\t\t\t\t
      \     enum nan_cipher_suite_id cipher,\n\t\t\t\t      const u8 *initiator_nmi,\n\t\t\t\t
      \     const u8 *responder_nmi, u8 *nd_pmk)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_crypto.c:586,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/nan/nan_crypto.c:591,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_crypto.c:593,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/nan/nan_crypto.c:598,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/nan/nan_crypto.c:598,1
    - Dst: os_zalloc
      Src: /src/hostap/src/nan/nan_crypto.c:607,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_crypto.c:612,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/nan/nan_crypto.c:612,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/nan/nan_crypto.c:617,1
    - Dst: aes_wrap
      Src: /src/hostap/src/nan/nan_crypto.c:622,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/nan/nan_crypto.c:623,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_crypto.c:624,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/nan/nan_crypto.c:625,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/nan/nan_crypto.c:628,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/nan/nan_crypto.c:629,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/nan/nan_crypto.c:630,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/nan/nan_crypto.c:634,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 3
    argNames:
    - key_data
    - kek
    - kek_len
    argTypes:
    - struct wpabuf*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 576
    functionDepth: 1
    functionLinenumber: 576
    functionLinenumberEnd: 636
    functionName: nan_crypto_encrypt_key_data
    functionSourceFile: /src/hostap/src/nan/nan_crypto.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpa_hexdump_key
    - os_memcpy
    - wpabuf_put
    - wpa_hexdump
    - wpabuf_len
    - wpabuf_free
    - aes_wrap
    - wpabuf_head
    - os_zalloc
    - wpabuf_alloc
    - bin_clear_free
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * nan_crypto_encrypt_key_data(const struct wpabuf *key_data,\n\t\t\t\t\t
      \   const u8 *kek, size_t kek_len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_crypto.c:661,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/nan/nan_crypto.c:665,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_crypto.c:669,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/nan/nan_crypto.c:674,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_crypto.c:678,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/nan/nan_crypto.c:685,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_crypto.c:687,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/nan/nan_crypto.c:692,1
    - Dst: aes_unwrap
      Src: /src/hostap/src/nan/nan_crypto.c:693,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_crypto.c:694,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/nan/nan_crypto.c:696,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/nan/nan_crypto.c:700,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/nan/nan_crypto.c:701,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/nan/nan_crypto.c:701,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 4
    argNames:
    - kek
    - kek_len
    - encrypted_data
    - encrypted_len
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 652
    functionDepth: 1
    functionLinenumber: 652
    functionLinenumberEnd: 704
    functionName: nan_crypto_decrypt_key_data
    functionSourceFile: /src/hostap/src/nan/nan_crypto.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpa_hexdump_key
    - wpabuf_put
    - wpabuf_len
    - aes_unwrap
    - wpabuf_free
    - wpabuf_head
    - wpabuf_alloc
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * nan_crypto_decrypt_key_data(const u8 *kek, size_t
      kek_len,\n\t\t\t\t\t    const u8 *encrypted_data,\n\t\t\t\t\t    size_t encrypted_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_del
      Src: /src/hostap/src/nan/nan_crypto.c:718,1
    - Dst: os_free
      Src: /src/hostap/src/nan/nan_crypto.c:719,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pmkid_list
    argTypes:
    - struct dl_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 713
    functionDepth: 1
    functionLinenumber: 713
    functionLinenumberEnd: 721
    functionName: nan_crypto_clear_pmkid_list
    functionSourceFile: /src/hostap/src/nan/nan_crypto.c
    functionUses: 0
    functionsReached:
    - os_free
    - dl_list_del
    linkageType: ''
    returnType: void
    signature: void nan_crypto_clear_pmkid_list(struct dl_list *pmkid_list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_del
      Src: /src/hostap/src/nan/nan_crypto.c:718,1
    - Dst: os_free
      Src: /src/hostap/src/nan/nan_crypto.c:719,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 717
    functionDepth: 1
    functionLinenumber: 717
    functionLinenumberEnd: 720
    functionName: dl_list_for_each_safe
    functionSourceFile: /src/hostap/src/nan/nan_crypto.c
    functionUses: 28
    functionsReached:
    - os_free
    - dl_list_del
    linkageType: ''
    returnType: void
    signature: void dl_list_for_each_safe(p, n, pmkid_list, struct nan_de_pmkid, list)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: int_array_len
      Src: /src/hostap/src/nan/nan_crypto.c:740,1
    - Dst: os_zalloc
      Src: /src/hostap/src/nan/nan_crypto.c:755,1
    - Dst: nan_crypto_calc_pmkid
      Src: /src/hostap/src/nan/nan_crypto.c:759,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_crypto.c:762,1
    - Dst: nan_crypto_clear_pmkid_list
      Src: /src/hostap/src/nan/nan_crypto.c:765,1
    - Dst: dl_list_add
      Src: /src/hostap/src/nan/nan_crypto.c:769,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 5
    argNames:
    - pmkid_list
    - raddr
    - srv_id
    - cipher_suites
    - pmk
    argTypes:
    - struct dl_list*
    - u8*
    - u8*
    - int*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 736
    functionDepth: 2
    functionLinenumber: 736
    functionLinenumberEnd: 773
    functionName: nan_crypto_pmkid_list
    functionSourceFile: /src/hostap/src/nan/nan_crypto.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - int_array_len
    - os_zalloc
    - dl_list_add
    - nan_crypto_clear_pmkid_list
    - nan_crypto_calc_pmkid
    linkageType: ''
    returnType: int
    signature: "int nan_crypto_pmkid_list(struct dl_list *pmkid_list, const u8 *raddr,\n\t\t\t
      \ const u8 *srv_id, const int *cipher_suites,\n\t\t\t  const u8 *pmk)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _dev
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 104
    functionName: DEV_NOT_INIT_ERR
    functionSourceFile: /src/hostap/src/nan/nan_module_tests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEV_NOT_INIT_ERR(_dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _dev
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 114
    functionName: DEV_NOT_INIT_ERR_VOID
    functionSourceFile: /src/hostap/src/nan/nan_module_tests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEV_NOT_INIT_ERR_VOID(_dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_module_tests.c:140,1
    - Dst: os_memset
      Src: /src/hostap/src/nan/nan_module_tests.c:141,1
    - Dst: dl_list_init
      Src: /src/hostap/src/nan/nan_module_tests.c:142,1
    - Dst: dl_list_init
      Src: /src/hostap/src/nan/nan_module_tests.c:143,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/nan/nan_module_tests.c:145,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_module_tests.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - global
    argTypes:
    - struct nan_test_global*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 148
    functionName: nan_test_global_init
    functionSourceFile: /src/hostap/src/nan/nan_module_tests.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_alloc_copy
    - dl_list_init
    - os_memset
    linkageType: ''
    returnType: void
    signature: void nan_test_global_init(struct nan_test_global *global)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEV_NOT_INIT_ERR_VOID
      Src: /src/hostap/src/nan/nan_module_tests.c:157,1
    - Dst: os_free
      Src: /src/hostap/src/nan/nan_module_tests.c:159,1
    - Dst: nan_stop
      Src: /src/hostap/src/nan/nan_module_tests.c:160,1
    - Dst: nan_deinit
      Src: /src/hostap/src/nan/nan_module_tests.c:161,1
    - Dst: os_memset
      Src: /src/hostap/src/nan/nan_module_tests.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - dev
    argTypes:
    - struct nan_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 163
    functionName: nan_test_dev_deinit
    functionSourceFile: /src/hostap/src/nan/nan_module_tests.c
    functionUses: 0
    functionsReached:
    - nan_deinit
    - nan_stop
    - os_free
    - DEV_NOT_INIT_ERR_VOID
    - os_memset
    linkageType: ''
    returnType: void
    signature: void nan_test_dev_deinit(struct nan_device *dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_module_tests.c:175,1
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/nan/nan_module_tests.c:177,1
    - Dst: dl_list_del
      Src: /src/hostap/src/nan/nan_module_tests.c:179,1
    - Dst: nan_test_dev_deinit
      Src: /src/hostap/src/nan/nan_module_tests.c:180,1
    - Dst: os_free
      Src: /src/hostap/src/nan/nan_module_tests.c:181,1
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/nan/nan_module_tests.c:184,1
    - Dst: dl_list_del
      Src: /src/hostap/src/nan/nan_module_tests.c:186,1
    - Dst: os_free
      Src: /src/hostap/src/nan/nan_module_tests.c:187,1
    - Dst: os_free
      Src: /src/hostap/src/nan/nan_module_tests.c:188,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/nan/nan_module_tests.c:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - global
    argTypes:
    - struct nan_test_global*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 192
    functionName: nan_test_global_deinit
    functionSourceFile: /src/hostap/src/nan/nan_module_tests.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dl_list_del
    - nan_test_dev_deinit
    - wpabuf_free
    - os_free
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: void nan_test_global_deinit(struct nan_test_global *global)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/nan/nan_module_tests.c:211,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_module_tests.c:213,1
    - Dst: dl_list_add_tail
      Src: /src/hostap/src/nan/nan_module_tests.c:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - global
    - dev
    - ctx
    argTypes:
    - struct nan_test_global*
    - struct nan_device*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 223
    functionName: nan_test_add_action
    functionSourceFile: /src/hostap/src/nan/nan_module_tests.c
    functionUses: 0
    functionsReached:
    - dl_list_add_tail
    - wpa_printf
    - os_malloc
    linkageType: ''
    returnType: struct nan_test_action
    signature: "struct nan_test_action *\nnan_test_add_action(struct nan_test_global
      *global,\n\t\t    struct nan_device *dev,\n\t\t    int (*cb)(struct nan_device
      *dev, void *ctx),\n\t\t    void *ctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_module_tests.c:238,1
    - Dst: dl_list_empty
      Src: /src/hostap/src/nan/nan_module_tests.c:240,1
    - Dst: dl_list_first
      Src: /src/hostap/src/nan/nan_module_tests.c:242,1
    - Dst: dl_list_del
      Src: /src/hostap/src/nan/nan_module_tests.c:246,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_module_tests.c:249,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_module_tests.c:255,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_module_tests.c:260,1
    - Dst: struct nan_test_action*::cb
      Src: /src/hostap/src/nan/nan_module_tests.c:262,1
    - Dst: os_free
      Src: /src/hostap/src/nan/nan_module_tests.c:269,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_module_tests.c:272,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_module_tests.c:277,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - global
    argTypes:
    - struct nan_test_global*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 279
    functionName: nan_test_run_actions
    functionSourceFile: /src/hostap/src/nan/nan_module_tests.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dl_list_del
    - dl_list_empty
    - dl_list_first
    - struct nan_test_action*::cb
    - os_free
    linkageType: ''
    returnType: int
    signature: int nan_test_run_actions(struct nan_test_global *global)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEV_NOT_INIT_ERR
      Src: /src/hostap/src/nan/nan_module_tests.c:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - config
    argTypes:
    - void*
    - struct nan_cluster_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 289
    functionName: nan_test_start_cb
    functionSourceFile: /src/hostap/src/nan/nan_module_tests.c
    functionUses: 0
    functionsReached:
    - DEV_NOT_INIT_ERR
    linkageType: ''
    returnType: int
    signature: int nan_test_start_cb(void *ctx, const struct nan_cluster_config *config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEV_NOT_INIT_ERR_VOID
      Src: /src/hostap/src/nan/nan_module_tests.c:300,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_module_tests.c:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 303
    functionName: nan_test_stop_cb
    functionSourceFile: /src/hostap/src/nan/nan_module_tests.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - DEV_NOT_INIT_ERR_VOID
    linkageType: ''
    returnType: void
    signature: void nan_test_stop_cb(void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_module_tests.c:311,1
    - Dst: MAC2STR
      Src: /src/hostap/src/nan/nan_module_tests.c:313,1
    - Dst: nan_handle_ndp_setup
      Src: /src/hostap/src/nan/nan_module_tests.c:315,1
    - Dst: os_free
      Src: /src/hostap/src/nan/nan_module_tests.c:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - dev
    - ctx
    argTypes:
    - struct nan_device*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 320
    functionName: nan_test_nan_ndp_action
    functionSourceFile: /src/hostap/src/nan/nan_module_tests.c
    functionUses: 0
    functionsReached:
    - os_free
    - MAC2STR
    - wpa_printf
    - nan_handle_ndp_setup
    linkageType: ''
    returnType: int
    signature: int nan_test_nan_ndp_action(struct nan_device *dev, void *ctx)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_module_tests.c:334,1
    - Dst: MAC2STR
      Src: /src/hostap/src/nan/nan_module_tests.c:336,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/nan/nan_module_tests.c:344,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/nan/nan_module_tests.c:346,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_module_tests.c:354,1
    - Dst: os_zalloc
      Src: /src/hostap/src/nan/nan_module_tests.c:359,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_module_tests.c:366,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_module_tests.c:368,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_module_tests.c:375,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_module_tests.c:378,1
    - Dst: struct nan_device*::conf::schedule_cb
      Src: /src/hostap/src/nan/nan_module_tests.c:380,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_module_tests.c:386,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_module_tests.c:388,1
    - Dst: nan_test_add_action
      Src: /src/hostap/src/nan/nan_module_tests.c:396,1
    - Dst: os_zalloc
      Src: /src/hostap/src/nan/nan_module_tests.c:404,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_module_tests.c:411,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_module_tests.c:413,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_module_tests.c:421,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_module_tests.c:424,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_module_tests.c:428,1
    - Dst: os_free
      Src: /src/hostap/src/nan/nan_module_tests.c:431,1
    - Dst: struct nan_device*::conf::schedule_conf_cb
      Src: /src/hostap/src/nan/nan_module_tests.c:436,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_module_tests.c:442,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_module_tests.c:444,1
    - Dst: nan_test_add_action
      Src: /src/hostap/src/nan/nan_module_tests.c:452,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_module_tests.c:465,1
    - Dst: os_zalloc
      Src: /src/hostap/src/nan/nan_module_tests.c:469,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_module_tests.c:476,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_module_tests.c:479,1
    - Dst: nan_test_add_action
      Src: /src/hostap/src/nan/nan_module_tests.c:484,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_module_tests.c:493,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_module_tests.c:498,1
    - Dst: os_free
      Src: /src/hostap/src/nan/nan_module_tests.c:506,1
    - Dst: os_free
      Src: /src/hostap/src/nan/nan_module_tests.c:507,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 117
    argCount: 2
    argNames:
    - dev
    - ctx
    argTypes:
    - struct nan_device*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 328
    functionDepth: 2
    functionLinenumber: 328
    functionLinenumberEnd: 509
    functionName: nan_ndp_notify_action
    functionSourceFile: /src/hostap/src/nan/nan_module_tests.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - ether_addr_equal
    - dl_list_for_each
    - MAC2STR
    - os_zalloc
    - struct nan_device*::conf::schedule_cb
    - nan_test_add_action
    - os_free
    - struct nan_device*::conf::schedule_conf_cb
    linkageType: ''
    returnType: int
    signature: int nan_ndp_notify_action(struct nan_device *dev, void *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEV_NOT_INIT_ERR_VOID
      Src: /src/hostap/src/nan/nan_module_tests.c:522,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_module_tests.c:524,1
    - Dst: os_zalloc
      Src: /src/hostap/src/nan/nan_module_tests.c:527,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_module_tests.c:529,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_module_tests.c:535,1
    - Dst: os_memdup
      Src: /src/hostap/src/nan/nan_module_tests.c:538,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_module_tests.c:540,1
    - Dst: os_free
      Src: /src/hostap/src/nan/nan_module_tests.c:541,1
    - Dst: nan_test_add_action
      Src: /src/hostap/src/nan/nan_module_tests.c:547,1
    - Dst: os_free
      Src: /src/hostap/src/nan/nan_module_tests.c:551,1
    - Dst: os_free
      Src: /src/hostap/src/nan/nan_module_tests.c:552,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 8
    argNames:
    - dev
    - type
    - ndp_id
    - publish_inst_id
    - ssi
    - ssi_len
    - csid
    - pmkid
    argTypes:
    - struct nan_device*
    - "enum\n\t\t\t\tnan_test_ndp_notify_type"
    - struct nan_ndp_id*
    - u8
    - u8*
    - size_t
    - enum nan_cipher_suite_id
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 512
    functionDepth: 2
    functionLinenumber: 512
    functionLinenumberEnd: 553
    functionName: nan_test_ndp_action
    functionSourceFile: /src/hostap/src/nan/nan_module_tests.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - os_memdup
    - nan_test_add_action
    - os_zalloc
    - os_free
    - DEV_NOT_INIT_ERR_VOID
    linkageType: ''
    returnType: void
    signature: "void nan_test_ndp_action(struct nan_device *dev, enum\n\t\t\t\tnan_test_ndp_notify_type
      type,\n\t\t\t\tstruct nan_ndp_id *ndp_id,\n\t\t\t\tu8 publish_inst_id,\n\t\t\t\tconst
      u8 *ssi, size_t ssi_len,\n\t\t\t\tenum nan_cipher_suite_id csid,\n\t\t\t\tconst
      u8 *pmkid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEV_NOT_INIT_ERR_VOID
      Src: /src/hostap/src/nan/nan_module_tests.c:571,1
    - Dst: nan_test_ndp_action
      Src: /src/hostap/src/nan/nan_module_tests.c:578,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - void*
    - struct nan_ndp_action_notif_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 564
    functionDepth: 3
    functionLinenumber: 564
    functionLinenumberEnd: 581
    functionName: nan_test_ndp_action_notfi_cb
    functionSourceFile: /src/hostap/src/nan/nan_module_tests.c
    functionUses: 0
    functionsReached:
    - DEV_NOT_INIT_ERR_VOID
    - nan_test_ndp_action
    linkageType: ''
    returnType: void
    signature: "void nan_test_ndp_action_notfi_cb(void *ctx,\n\t\t\t     struct nan_ndp_action_notif_params
      *params)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEV_NOT_INIT_ERR
      Src: /src/hostap/src/nan/nan_module_tests.c:600,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_module_tests.c:602,1
    - Dst: MAC2STR
      Src: /src/hostap/src/nan/nan_module_tests.c:605,1
    - Dst: MAC2STR
      Src: /src/hostap/src/nan/nan_module_tests.c:605,1
    - Dst: nan_peer_get_schedule_info
      Src: /src/hostap/src/nan/nan_module_tests.c:607,1
    - Dst: nan_peer_get_pot_avail
      Src: /src/hostap/src/nan/nan_module_tests.c:608,1
    - Dst: nan_peer_get_tk
      Src: /src/hostap/src/nan/nan_module_tests.c:610,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/nan/nan_module_tests.c:613,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_module_tests.c:617,1
    - Dst: nan_test_ndp_action
      Src: /src/hostap/src/nan/nan_module_tests.c:626,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - void*
    - struct nan_ndp_connection_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 593
    functionDepth: 3
    functionLinenumber: 593
    functionLinenumberEnd: 632
    functionName: nan_test_ndp_connected_cb
    functionSourceFile: /src/hostap/src/nan/nan_module_tests.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    - nan_peer_get_schedule_info
    - nan_peer_get_tk
    - nan_test_ndp_action
    - MAC2STR
    - DEV_NOT_INIT_ERR
    - nan_peer_get_pot_avail
    linkageType: ''
    returnType: int
    signature: "int nan_test_ndp_connected_cb(void *ctx,\n\t\t\t\t     struct nan_ndp_connection_params
      *params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEV_NOT_INIT_ERR_VOID
      Src: /src/hostap/src/nan/nan_module_tests.c:661,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_module_tests.c:663,1
    - Dst: nan_test_ndp_action
      Src: /src/hostap/src/nan/nan_module_tests.c:665,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 9
    argNames:
    - ctx
    - ndp_id
    - local_ndi
    - peer_ndi
    - reason
    - locally_generated
    - remove_sta
    - failure
    - gtk_id
    argTypes:
    - void*
    - struct nan_ndp_id*
    - u8*
    - u8*
    - enum nan_reason
    - bool
    - bool
    - bool
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 650
    functionDepth: 3
    functionLinenumber: 650
    functionLinenumberEnd: 669
    functionName: nan_test_ndp_disconnected_cb
    functionSourceFile: /src/hostap/src/nan/nan_module_tests.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - DEV_NOT_INIT_ERR_VOID
    - nan_test_ndp_action
    linkageType: ''
    returnType: void
    signature: "void nan_test_ndp_disconnected_cb(void *ctx, struct nan_ndp_id *ndp_id,\n\t\t\t\t\t
      const u8 *local_ndi,\n\t\t\t\t\t const u8 *peer_ndi,\n\t\t\t\t\t enum nan_reason
      reason,\n\t\t\t\t\t bool locally_generated,\n\t\t\t\t\t bool remove_sta,\n\t\t\t\t\t
      bool failure,\n\t\t\t\t\t u8 gtk_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEV_NOT_INIT_ERR
      Src: /src/hostap/src/nan/nan_module_tests.c:682,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_module_tests.c:684,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/nan/nan_module_tests.c:685,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/nan/nan_module_tests.c:685,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/nan/nan_module_tests.c:686,1
    - Dst: nan_action_rx
      Src: /src/hostap/src/nan/nan_module_tests.c:688,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/nan/nan_module_tests.c:688,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/nan/nan_module_tests.c:688,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/nan/nan_module_tests.c:689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - dev
    - ctx
    argTypes:
    - struct nan_device*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 677
    functionDepth: 1
    functionLinenumber: 677
    functionLinenumberEnd: 691
    functionName: nan_test_send_naf_cb_action
    functionSourceFile: /src/hostap/src/nan/nan_module_tests.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - nan_action_rx
    - wpa_hexdump
    - wpabuf_len
    - wpabuf_free
    - wpabuf_head
    - DEV_NOT_INIT_ERR
    linkageType: ''
    returnType: int
    signature: int nan_test_send_naf_cb_action(struct nan_device *dev, void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEV_NOT_INIT_ERR
      Src: /src/hostap/src/nan/nan_module_tests.c:704,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_module_tests.c:706,1
    - Dst: nan_tx_status
      Src: /src/hostap/src/nan/nan_module_tests.c:708,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/nan/nan_module_tests.c:709,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/nan/nan_module_tests.c:710,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/nan/nan_module_tests.c:712,1
    - Dst: os_free
      Src: /src/hostap/src/nan/nan_module_tests.c:713,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - dev
    - ctx
    argTypes:
    - struct nan_device*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 699
    functionDepth: 1
    functionLinenumber: 699
    functionLinenumberEnd: 715
    functionName: nan_test_tx_status_action
    functionSourceFile: /src/hostap/src/nan/nan_module_tests.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_len
    - nan_tx_status
    - wpabuf_free
    - wpabuf_head
    - DEV_NOT_INIT_ERR
    - os_free
    linkageType: ''
    returnType: int
    signature: int nan_test_tx_status_action(struct nan_device *dev, void *ctx)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: DEV_NOT_INIT_ERR
      Src: /src/hostap/src/nan/nan_module_tests.c:741,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_module_tests.c:746,1
    - Dst: MAC2STR
      Src: /src/hostap/src/nan/nan_module_tests.c:747,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/nan/nan_module_tests.c:749,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/nan/nan_module_tests.c:750,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/nan/nan_module_tests.c:751,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_module_tests.c:758,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/nan/nan_module_tests.c:764,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/nan/nan_module_tests.c:764,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_module_tests.c:766,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/nan/nan_module_tests.c:770,1
    - Dst: IEEE80211_FC
      Src: /src/hostap/src/nan/nan_module_tests.c:772,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_module_tests.c:774,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_module_tests.c:776,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_module_tests.c:778,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_module_tests.c:780,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/nan/nan_module_tests.c:782,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/nan/nan_module_tests.c:782,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/nan/nan_module_tests.c:782,1
    - Dst: os_malloc
      Src: /src/hostap/src/nan/nan_module_tests.c:785,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_module_tests.c:787,1
    - Dst: wpabuf_dup
      Src: /src/hostap/src/nan/nan_module_tests.c:792,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_module_tests.c:794,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_module_tests.c:799,1
    - Dst: nan_test_add_action
      Src: /src/hostap/src/nan/nan_module_tests.c:803,1
    - Dst: nan_test_add_action
      Src: /src/hostap/src/nan/nan_module_tests.c:809,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/nan/nan_module_tests.c:817,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/nan/nan_module_tests.c:819,1
    - Dst: os_free
      Src: /src/hostap/src/nan/nan_module_tests.c:821,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 59
    argCount: 5
    argNames:
    - ctx
    - dst
    - src
    - cluster_id
    - buf
    argTypes:
    - void*
    - u8*
    - u8*
    - u8*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 730
    functionDepth: 2
    functionLinenumber: 730
    functionLinenumberEnd: 824
    functionName: nan_test_send_naf_cb
    functionSourceFile: /src/hostap/src/nan/nan_module_tests.c
    functionUses: 0
    functionsReached:
    - wpabuf_dup
    - wpa_printf
    - wpabuf_put
    - os_memcpy
    - wpabuf_put_data
    - wpabuf_len
    - ether_addr_equal
    - os_malloc
    - wpabuf_free
    - wpabuf_head
    - dl_list_for_each
    - MAC2STR
    - wpabuf_alloc
    - DEV_NOT_INIT_ERR
    - nan_test_add_action
    - IEEE80211_FC
    - os_free
    linkageType: ''
    returnType: int
    signature: "int nan_test_send_naf_cb(void *ctx, const u8 *dst, const u8 *src,\n\t\t\t\tconst
      u8 *cluster_id, struct wpabuf *buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEV_NOT_INIT_ERR
      Src: /src/hostap/src/nan/nan_module_tests.c:838,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_module_tests.c:840,1
    - Dst: struct nan_device*::conf::get_chans_cb
      Src: /src/hostap/src/nan/nan_module_tests.c:842,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - map_id
    - chans
    argTypes:
    - void*
    - u8
    - struct nan_channels*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 833
    functionDepth: 1
    functionLinenumber: 833
    functionLinenumberEnd: 843
    functionName: nan_test_get_chans_cb
    functionSourceFile: /src/hostap/src/nan/nan_module_tests.c
    functionUses: 0
    functionsReached:
    - struct nan_device*::conf::get_chans_cb
    - wpa_printf
    - DEV_NOT_INIT_ERR
    linkageType: ''
    returnType: int
    signature: "int nan_test_get_chans_cb(void *ctx, u8 map_id,\n\t\t\t\t struct nan_channels
      *chans)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/nan/nan_module_tests.c:859,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - instance_id
    - service_id
    argTypes:
    - void*
    - u8
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 861
    functionName: nan_test_is_valid_publish_id_cb
    functionSourceFile: /src/hostap/src/nan/nan_module_tests.c
    functionUses: 0
    functionsReached:
    - os_memset
    linkageType: ''
    returnType: bool
    signature: "bool nan_test_is_valid_publish_id_cb(void *ctx, u8 instance_id,\n\t\t\t\t\t
      \   u8 *service_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEV_NOT_INIT_ERR
      Src: /src/hostap/src/nan/nan_module_tests.c:879,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_module_tests.c:881,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_module_tests.c:882,1
    - Dst: MAC2STR
      Src: /src/hostap/src/nan/nan_module_tests.c:884,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 8
    argNames:
    - ctx
    - nmi_addr
    - new_sta
    - cdw
    - sequence_id
    - max_channel_switch_time
    - sched
    - ulw_elems
    argTypes:
    - void*
    - u8*
    - bool
    - u16
    - u8
    - u16
    - struct nan_peer_schedule*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 870
    functionDepth: 1
    functionLinenumber: 870
    functionLinenumberEnd: 888
    functionName: nan_test_set_peer_schedule_cb
    functionSourceFile: /src/hostap/src/nan/nan_module_tests.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    - DEV_NOT_INIT_ERR
    linkageType: ''
    returnType: int
    signature: "int nan_test_set_peer_schedule_cb(void *ctx, const u8 *nmi_addr, bool
      new_sta,\n\t\t\t      u16 cdw, u8 sequence_id,\n\t\t\t      u16 max_channel_switch_time,\n\t\t\t
      \     const struct nan_peer_schedule *sched,\n\t\t\t      const struct wpabuf
      *ulw_elems)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/nan/nan_module_tests.c:899,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_module_tests.c:900,1
    - Dst: nan_init
      Src: /src/hostap/src/nan/nan_module_tests.c:928,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_module_tests.c:930,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 1
    argNames:
    - dev
    argTypes:
    - struct nan_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 895
    functionDepth: 1
    functionLinenumber: 895
    functionLinenumberEnd: 935
    functionName: nan_test_dev_init
    functionSourceFile: /src/hostap/src/nan/nan_module_tests.c
    functionUses: 0
    functionsReached:
    - nan_init
    - os_memcpy
    - wpa_printf
    - os_memset
    linkageType: ''
    returnType: int
    signature: int nan_test_dev_init(struct nan_device *dev)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/nan/nan_module_tests.c:958,1
    - Dst: os_strlen
      Src: /src/hostap/src/nan/nan_module_tests.c:962,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_module_tests.c:965,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_module_tests.c:966,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_module_tests.c:967,1
    - Dst: dl_list_init
      Src: /src/hostap/src/nan/nan_module_tests.c:968,1
    - Dst: os_memdup
      Src: /src/hostap/src/nan/nan_module_tests.c:972,1
    - Dst: nan_test_dev_init
      Src: /src/hostap/src/nan/nan_module_tests.c:979,1
    - Dst: nan_start
      Src: /src/hostap/src/nan/nan_module_tests.c:984,1
    - Dst: dl_list_add
      Src: /src/hostap/src/nan/nan_module_tests.c:988,1
    - Dst: nan_test_dev_deinit
      Src: /src/hostap/src/nan/nan_module_tests.c:992,1
    - Dst: os_free
      Src: /src/hostap/src/nan/nan_module_tests.c:993,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 6
    argNames:
    - global
    - name
    - nmi
    - ndi
    - conf
    - dconf
    argTypes:
    - struct nan_test_global*
    - char*
    - u8*
    - u8*
    - struct nan_cluster_config*
    - struct nan_test_dev_conf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 947
    functionDepth: 2
    functionLinenumber: 947
    functionLinenumberEnd: 995
    functionName: nan_test_start_dev
    functionSourceFile: /src/hostap/src/nan/nan_module_tests.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_memcpy
    - nan_test_dev_deinit
    - os_memdup
    - nan_test_dev_init
    - nan_start
    - os_zalloc
    - dl_list_add
    - dl_list_init
    - os_free
    linkageType: ''
    returnType: struct nan_device
    signature: "struct nan_device *\nnan_test_start_dev(struct nan_test_global *global,\n\t\t
      \  const char *name, const u8 *nmi,\n\t\t   const u8 *ndi,\n\t\t   struct nan_cluster_config
      *conf,\n\t\t   const struct nan_test_dev_conf *dconf)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_module_tests.c:1036,1
    - Dst: nan_test_start_dev
      Src: /src/hostap/src/nan/nan_module_tests.c:1038,1
    - Dst: nan_test_start_dev
      Src: /src/hostap/src/nan/nan_module_tests.c:1043,1
    - Dst: nan_add_peer
      Src: /src/hostap/src/nan/nan_module_tests.c:1048,1
    - Dst: nan_add_peer
      Src: /src/hostap/src/nan/nan_module_tests.c:1049,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_module_tests.c:1051,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_module_tests.c:1055,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - global
    - pub_conf
    - sub_conf
    argTypes:
    - struct nan_test_global*
    - struct nan_test_dev_conf*
    - struct nan_test_dev_conf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1057
      start: 1004
    functionDepth: 3
    functionLinenumber: 1004
    functionLinenumberEnd: 1057
    functionName: nan_test_setup_devices
    functionSourceFile: /src/hostap/src/nan/nan_module_tests.c
    functionUses: 0
    functionsReached:
    - nan_add_peer
    - wpa_printf
    - nan_test_start_dev
    linkageType: ''
    returnType: struct nan_device
    signature: "struct nan_device *\nnan_test_setup_devices(struct nan_test_global
      *global,\n\t\t       const struct nan_test_dev_conf *pub_conf,\n\t\t       const
      struct nan_test_dev_conf *sub_conf)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEV_NOT_INIT_ERR
      Src: /src/hostap/src/nan/nan_module_tests.c:1065,1
    - Dst: os_zalloc
      Src: /src/hostap/src/nan/nan_module_tests.c:1067,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_module_tests.c:1069,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_module_tests.c:1074,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_module_tests.c:1075,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_module_tests.c:1080,1
    - Dst: struct nan_device*::conf::schedule_cb
      Src: /src/hostap/src/nan/nan_module_tests.c:1083,1
    - Dst: os_memset
      Src: /src/hostap/src/nan/nan_module_tests.c:1088,1
    - Dst: nan_test_add_action
      Src: /src/hostap/src/nan/nan_module_tests.c:1090,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_module_tests.c:1095,1
    - Dst: os_free
      Src: /src/hostap/src/nan/nan_module_tests.c:1096,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 2
    argNames:
    - sub
    - pub_nmi
    argTypes:
    - struct nan_device*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1099
      start: 1060
    functionDepth: 2
    functionLinenumber: 1060
    functionLinenumberEnd: 1099
    functionName: nan_test_ndp_request
    functionSourceFile: /src/hostap/src/nan/nan_module_tests.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - nan_test_add_action
    - struct nan_device*::conf::schedule_cb
    - os_zalloc
    - DEV_NOT_INIT_ERR
    - os_free
    - os_memset
    linkageType: ''
    returnType: int
    signature: int nan_test_ndp_request(struct nan_device *sub, const u8 *pub_nmi)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_module_tests.c:1119,1
    - Dst: nan_test_setup_devices
      Src: /src/hostap/src/nan/nan_module_tests.c:1124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - global
    - pub_conf
    - sub_conf
    argTypes:
    - struct nan_test_global*
    - struct nan_test_dev_conf*
    - struct nan_test_dev_conf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1112
    functionDepth: 4
    functionLinenumber: 1112
    functionLinenumberEnd: 1125
    functionName: nan_test_ndp_setup
    functionSourceFile: /src/hostap/src/nan/nan_module_tests.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - nan_test_setup_devices
    linkageType: ''
    returnType: struct nan_device
    signature: "struct nan_device *\nnan_test_ndp_setup(struct nan_test_global *global,\n\t\t
      \  const struct nan_test_dev_conf *pub_conf,\n\t\t   const struct nan_test_dev_conf
      *sub_conf)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEV_NOT_INIT_ERR
      Src: /src/hostap/src/nan/nan_module_tests.c:1130,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_module_tests.c:1135,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_module_tests.c:1144,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - dev
    argTypes:
    - struct nan_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1151
      start: 1128
    functionDepth: 1
    functionLinenumber: 1128
    functionLinenumberEnd: 1151
    functionName: nan_test_verify_expected_result
    functionSourceFile: /src/hostap/src/nan/nan_module_tests.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - DEV_NOT_INIT_ERR
    linkageType: ''
    returnType: int
    signature: int nan_test_verify_expected_result(struct nan_device *dev)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/nan/nan_module_tests.c:1162,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/nan/nan_module_tests.c:1164,1
    - Dst: nan_test_verify_expected_result
      Src: /src/hostap/src/nan/nan_module_tests.c:1165,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_module_tests.c:1171,1
    - Dst: os_memcmp
      Src: /src/hostap/src/nan/nan_module_tests.c:1177,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_module_tests.c:1178,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_module_tests.c:1184,1
    - Dst: os_memset
      Src: /src/hostap/src/nan/nan_module_tests.c:1191,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - global
    argTypes:
    - struct nan_test_global*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1198
      start: 1154
    functionDepth: 2
    functionLinenumber: 1154
    functionLinenumberEnd: 1198
    functionName: nan_test_iteration_done
    functionSourceFile: /src/hostap/src/nan/nan_module_tests.c
    functionUses: 0
    functionsReached:
    - nan_test_verify_expected_result
    - os_memcpy
    - wpa_printf
    - dl_list_for_each
    - os_memcmp
    - os_memset
    linkageType: ''
    returnType: int
    signature: int nan_test_iteration_done(struct nan_test_global *global)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nan_test_case_get_next
      Src: /src/hostap/src/nan/nan_module_tests.c:1212,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_module_tests.c:1217,1
    - Dst: nan_test_global_init
      Src: /src/hostap/src/nan/nan_module_tests.c:1221,1
    - Dst: nan_test_ndp_setup
      Src: /src/hostap/src/nan/nan_module_tests.c:1222,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_module_tests.c:1226,1
    - Dst: nan_test_global_deinit
      Src: /src/hostap/src/nan/nan_module_tests.c:1228,1
    - Dst: nan_test_ndp_request
      Src: /src/hostap/src/nan/nan_module_tests.c:1234,1
    - Dst: nan_test_run_actions
      Src: /src/hostap/src/nan/nan_module_tests.c:1237,1
    - Dst: nan_test_iteration_done
      Src: /src/hostap/src/nan/nan_module_tests.c:1240,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_module_tests.c:1242,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_module_tests.c:1253,1
    - Dst: nan_test_global_deinit
      Src: /src/hostap/src/nan/nan_module_tests.c:1259,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1263
      start: 1206
    functionDepth: 5
    functionLinenumber: 1206
    functionLinenumberEnd: 1263
    functionName: nan_test_run
    functionSourceFile: /src/hostap/src/nan/nan_module_tests.c
    functionUses: 0
    functionsReached:
    - nan_test_iteration_done
    - wpa_printf
    - nan_test_case_get_next
    - nan_test_global_deinit
    - nan_test_run_actions
    - nan_test_global_init
    - nan_test_ndp_setup
    - nan_test_ndp_request
    linkageType: ''
    returnType: int
    signature: int nan_test_run(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _ret
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1394
      start: 1387
    functionDepth: 0
    functionLinenumber: 1387
    functionLinenumberEnd: 1394
    functionName: NAN_CRYPTO_FAIL
    functionSourceFile: /src/hostap/src/nan/nan_module_tests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NAN_CRYPTO_FAIL(_ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NAN_CRYPTO_FAIL
      Src: /src/hostap/src/nan/nan_module_tests.c:1402,1
    - Dst: nan_crypto_key_mic
      Src: /src/hostap/src/nan/nan_module_tests.c:1402,1
    - Dst: NAN_CRYPTO_FAIL
      Src: /src/hostap/src/nan/nan_module_tests.c:1406,1
    - Dst: os_memcmp
      Src: /src/hostap/src/nan/nan_module_tests.c:1406,1
    - Dst: os_memset
      Src: /src/hostap/src/nan/nan_module_tests.c:1409,1
    - Dst: NAN_CRYPTO_FAIL
      Src: /src/hostap/src/nan/nan_module_tests.c:1411,1
    - Dst: nan_crypto_key_mic
      Src: /src/hostap/src/nan/nan_module_tests.c:1411,1
    - Dst: NAN_CRYPTO_FAIL
      Src: /src/hostap/src/nan/nan_module_tests.c:1414,1
    - Dst: os_memcmp
      Src: /src/hostap/src/nan/nan_module_tests.c:1414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1418
      start: 1396
    functionDepth: 2
    functionLinenumber: 1396
    functionLinenumberEnd: 1418
    functionName: nan_test_crypto_key_mic
    functionSourceFile: /src/hostap/src/nan/nan_module_tests.c
    functionUses: 0
    functionsReached:
    - os_memset
    - os_memcmp
    - nan_crypto_key_mic
    - NAN_CRYPTO_FAIL
    linkageType: ''
    returnType: int
    signature: int nan_test_crypto_key_mic(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NAN_CRYPTO_FAIL
      Src: /src/hostap/src/nan/nan_module_tests.c:1425,1
    - Dst: nan_crypto_calc_pmkid
      Src: /src/hostap/src/nan/nan_module_tests.c:1425,1
    - Dst: NAN_CRYPTO_FAIL
      Src: /src/hostap/src/nan/nan_module_tests.c:1429,1
    - Dst: os_memcmp
      Src: /src/hostap/src/nan/nan_module_tests.c:1429,1
    - Dst: NAN_CRYPTO_FAIL
      Src: /src/hostap/src/nan/nan_module_tests.c:1431,1
    - Dst: nan_crypto_calc_pmkid
      Src: /src/hostap/src/nan/nan_module_tests.c:1431,1
    - Dst: NAN_CRYPTO_FAIL
      Src: /src/hostap/src/nan/nan_module_tests.c:1435,1
    - Dst: os_memcmp
      Src: /src/hostap/src/nan/nan_module_tests.c:1435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1438
      start: 1421
    functionDepth: 2
    functionLinenumber: 1421
    functionLinenumberEnd: 1438
    functionName: nan_test_crypto_pmkid
    functionSourceFile: /src/hostap/src/nan/nan_module_tests.c
    functionUses: 0
    functionsReached:
    - nan_crypto_calc_pmkid
    - os_memcmp
    - NAN_CRYPTO_FAIL
    linkageType: ''
    returnType: int
    signature: int nan_test_crypto_pmkid(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/nan/nan_module_tests.c:1445,1
    - Dst: NAN_CRYPTO_FAIL
      Src: /src/hostap/src/nan/nan_module_tests.c:1447,1
    - Dst: nan_crypto_pmk_to_ptk
      Src: /src/hostap/src/nan/nan_module_tests.c:1447,1
    - Dst: NAN_CRYPTO_FAIL
      Src: /src/hostap/src/nan/nan_module_tests.c:1452,1
    - Dst: os_memcmp
      Src: /src/hostap/src/nan/nan_module_tests.c:1452,1
    - Dst: os_memset
      Src: /src/hostap/src/nan/nan_module_tests.c:1454,1
    - Dst: NAN_CRYPTO_FAIL
      Src: /src/hostap/src/nan/nan_module_tests.c:1456,1
    - Dst: nan_crypto_pmk_to_ptk
      Src: /src/hostap/src/nan/nan_module_tests.c:1456,1
    - Dst: NAN_CRYPTO_FAIL
      Src: /src/hostap/src/nan/nan_module_tests.c:1461,1
    - Dst: os_memcmp
      Src: /src/hostap/src/nan/nan_module_tests.c:1461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1464
      start: 1441
    functionDepth: 3
    functionLinenumber: 1441
    functionLinenumberEnd: 1464
    functionName: nan_test_ptk
    functionSourceFile: /src/hostap/src/nan/nan_module_tests.c
    functionUses: 0
    functionsReached:
    - nan_crypto_pmk_to_ptk
    - os_memcmp
    - NAN_CRYPTO_FAIL
    - os_memset
    linkageType: ''
    returnType: int
    signature: int nan_test_ptk(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/nan/nan_module_tests.c:1471,1
    - Dst: NAN_CRYPTO_FAIL
      Src: /src/hostap/src/nan/nan_module_tests.c:1473,1
    - Dst: nan_crypto_calc_auth_token
      Src: /src/hostap/src/nan/nan_module_tests.c:1473,1
    - Dst: NAN_CRYPTO_FAIL
      Src: /src/hostap/src/nan/nan_module_tests.c:1475,1
    - Dst: os_memcmp
      Src: /src/hostap/src/nan/nan_module_tests.c:1475,1
    - Dst: os_memset
      Src: /src/hostap/src/nan/nan_module_tests.c:1477,1
    - Dst: NAN_CRYPTO_FAIL
      Src: /src/hostap/src/nan/nan_module_tests.c:1479,1
    - Dst: nan_crypto_calc_auth_token
      Src: /src/hostap/src/nan/nan_module_tests.c:1479,1
    - Dst: NAN_CRYPTO_FAIL
      Src: /src/hostap/src/nan/nan_module_tests.c:1481,1
    - Dst: os_memcmp
      Src: /src/hostap/src/nan/nan_module_tests.c:1481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1484
      start: 1467
    functionDepth: 2
    functionLinenumber: 1467
    functionLinenumberEnd: 1484
    functionName: nan_test_crypto_auth_token
    functionSourceFile: /src/hostap/src/nan/nan_module_tests.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - NAN_CRYPTO_FAIL
    - nan_crypto_calc_auth_token
    - os_memcmp
    - os_memset
    linkageType: ''
    returnType: int
    signature: int nan_test_crypto_auth_token(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NAN_CRYPTO_FAIL
      Src: /src/hostap/src/nan/nan_module_tests.c:1505,1
    - Dst: nan_crypto_derive_nd_pmk
      Src: /src/hostap/src/nan/nan_module_tests.c:1505,1
    - Dst: NAN_CRYPTO_FAIL
      Src: /src/hostap/src/nan/nan_module_tests.c:1507,1
    - Dst: os_memcmp
      Src: /src/hostap/src/nan/nan_module_tests.c:1507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1510
      start: 1487
    functionDepth: 2
    functionLinenumber: 1487
    functionLinenumberEnd: 1510
    functionName: nan_test_derive_nd_pmk
    functionSourceFile: /src/hostap/src/nan/nan_module_tests.c
    functionUses: 0
    functionsReached:
    - nan_crypto_derive_nd_pmk
    - os_memcmp
    - NAN_CRYPTO_FAIL
    linkageType: ''
    returnType: int
    signature: int nan_test_derive_nd_pmk(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NAN_CRYPTO_FAIL
      Src: /src/hostap/src/nan/nan_module_tests.c:1514,1
    - Dst: nan_test_crypto_key_mic
      Src: /src/hostap/src/nan/nan_module_tests.c:1514,1
    - Dst: NAN_CRYPTO_FAIL
      Src: /src/hostap/src/nan/nan_module_tests.c:1515,1
    - Dst: nan_test_crypto_pmkid
      Src: /src/hostap/src/nan/nan_module_tests.c:1515,1
    - Dst: NAN_CRYPTO_FAIL
      Src: /src/hostap/src/nan/nan_module_tests.c:1516,1
    - Dst: nan_test_ptk
      Src: /src/hostap/src/nan/nan_module_tests.c:1516,1
    - Dst: NAN_CRYPTO_FAIL
      Src: /src/hostap/src/nan/nan_module_tests.c:1517,1
    - Dst: nan_test_crypto_auth_token
      Src: /src/hostap/src/nan/nan_module_tests.c:1517,1
    - Dst: NAN_CRYPTO_FAIL
      Src: /src/hostap/src/nan/nan_module_tests.c:1518,1
    - Dst: nan_test_derive_nd_pmk
      Src: /src/hostap/src/nan/nan_module_tests.c:1518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1521
      start: 1512
    functionDepth: 4
    functionLinenumber: 1512
    functionLinenumberEnd: 1521
    functionName: nan_test_crypto
    functionSourceFile: /src/hostap/src/nan/nan_module_tests.c
    functionUses: 0
    functionsReached:
    - nan_test_crypto_key_mic
    - nan_test_crypto_auth_token
    - nan_test_derive_nd_pmk
    - NAN_CRYPTO_FAIL
    - nan_test_ptk
    - nan_test_crypto_pmkid
    linkageType: ''
    returnType: int
    signature: int nan_test_crypto(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nan_test_crypto
      Src: /src/hostap/src/nan/nan_module_tests.c:1526,1
    - Dst: nan_test_run
      Src: /src/hostap/src/nan/nan_module_tests.c:1529,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1530
      start: 1524
    functionDepth: 6
    functionLinenumber: 1524
    functionLinenumberEnd: 1530
    functionName: nan_module_tests
    functionSourceFile: /src/hostap/src/nan/nan_module_tests.c
    functionUses: 1
    functionsReached:
    - nan_test_crypto
    - nan_test_run
    linkageType: ''
    returnType: int
    signature: int nan_module_tests(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/nan/nan.c:42,1
    - Dst: nan_nira_get_tag_nonce
      Src: /src/hostap/src/nan/nan.c:47,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:48,1
    - Dst: os_free
      Src: /src/hostap/src/nan/nan.c:49,1
    - Dst: os_memdup
      Src: /src/hostap/src/nan/nan.c:53,1
    - Dst: os_free
      Src: /src/hostap/src/nan/nan.c:55,1
    - Dst: pasn_initiator_pmksa_cache_init
      Src: /src/hostap/src/nan/nan.c:60,1
    - Dst: pasn_responder_pmksa_cache_init
      Src: /src/hostap/src/nan/nan.c:61,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:63,1
    - Dst: nan_deinit
      Src: /src/hostap/src/nan/nan.c:65,1
    - Dst: dl_list_init
      Src: /src/hostap/src/nan/nan.c:70,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:72,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - struct nan_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 75
    functionName: nan_init
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 3
    functionsReached:
    - wpa_printf
    - pasn_responder_pmksa_cache_init
    - nan_deinit
    - os_memdup
    - os_zalloc
    - dl_list_init
    - os_free
    - pasn_initiator_pmksa_cache_init
    - nan_nira_get_tag_nonce
    linkageType: ''
    returnType: struct nan_data
    signature: struct nan_data * nan_init(const struct nan_config *cfg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nan_flush_avail_entries
      Src: /src/hostap/src/nan/nan.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - info
    argTypes:
    - struct nan_peer_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: nan_peer_flush_avail
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 0
    functionsReached:
    - nan_flush_avail_entries
    linkageType: ''
    returnType: void
    signature: void nan_peer_flush_avail(struct nan_peer_info *info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/nan/nan.c:88,1
    - Dst: dl_list_del
      Src: /src/hostap/src/nan/nan.c:90,1
    - Dst: os_free
      Src: /src/hostap/src/nan/nan.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - info
    argTypes:
    - struct nan_peer_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 93
    functionName: nan_peer_flush_dev_capa
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 0
    functionsReached:
    - os_free
    - dl_list_del
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: void nan_peer_flush_dev_capa(struct nan_peer_info *info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/nan/nan.c:100,1
    - Dst: dl_list_del
      Src: /src/hostap/src/nan/nan.c:102,1
    - Dst: os_free
      Src: /src/hostap/src/nan/nan.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - info
    argTypes:
    - struct nan_peer_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 105
    functionName: nan_peer_flush_elem_container
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 0
    functionsReached:
    - os_free
    - dl_list_del
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: void nan_peer_flush_elem_container(struct nan_peer_info *info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/nan/nan.c:112,1
    - Dst: dl_list_del
      Src: /src/hostap/src/nan/nan.c:114,1
    - Dst: os_free
      Src: /src/hostap/src/nan/nan.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - info
    argTypes:
    - struct nan_peer_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 117
    functionName: nan_peer_flush_ulw
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 0
    functionsReached:
    - os_free
    - dl_list_del
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: void nan_peer_flush_ulw(struct nan_peer_info *info)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_empty
      Src: /src/hostap/src/nan/nan.c:127,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/nan/nan.c:130,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/nan/nan.c:133,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:135,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/nan/nan.c:140,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan.c:141,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/nan/nan.c:142,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/nan/nan.c:143,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - info
    argTypes:
    - struct nan_peer_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 147
    functionName: nan_peer_build_ulw_attrs
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put_u8
    - dl_list_empty
    - wpabuf_put_data
    - wpabuf_put_le16
    - dl_list_for_each
    - wpabuf_alloc
    linkageType: ''
    returnType: struct wpabuf
    signature: 'struct wpabuf *

      nan_peer_build_ulw_attrs(const struct nan_peer_info *info)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/nan/nan.c:152,1
    - Dst: nan_ndp_setup_reset
      Src: /src/hostap/src/nan/nan.c:153,1
    - Dst: dl_list_empty
      Src: /src/hostap/src/nan/nan.c:156,1
    - Dst: nan_ndl_reset
      Src: /src/hostap/src/nan/nan.c:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - nan
    - peer
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 150
    functionDepth: 3
    functionLinenumber: 150
    functionLinenumberEnd: 158
    functionName: nan_ndp_setup_stop
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 0
    functionsReached:
    - eloop_cancel_timeout
    - nan_ndl_reset
    - nan_ndp_setup_reset
    - dl_list_empty
    linkageType: ''
    returnType: void
    signature: void nan_ndp_setup_stop(struct nan_data *nan, struct nan_peer *peer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/nan/nan.c:165,1
    - Dst: dl_list_del
      Src: /src/hostap/src/nan/nan.c:167,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/nan/nan.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - info
    argTypes:
    - struct nan_peer_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 170
    functionName: nan_peer_flush_sec
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 0
    functionsReached:
    - bin_clear_free
    - dl_list_del
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: void nan_peer_flush_sec(struct nan_peer_info *info)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/nan/nan.c:178,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/nan/nan.c:180,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:183,1
    - Dst: MAC2STR
      Src: /src/hostap/src/nan/nan.c:186,1
    - Dst: MAC2STR
      Src: /src/hostap/src/nan/nan.c:186,1
    - Dst: dl_list_del
      Src: /src/hostap/src/nan/nan.c:187,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/nan/nan.c:188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - info
    - peer_ndi
    argTypes:
    - struct nan_peer_info*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 190
    functionName: nan_peer_del_sec_entry
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dl_list_del
    - ether_addr_equal
    - bin_clear_free
    - MAC2STR
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: "void nan_peer_del_sec_entry(struct nan_peer_info *info,\n\t\t\t\t
      \  const u8 *peer_ndi)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: struct nan_data*::cfg::set_group_key
      Src: /src/hostap/src/nan/nan.c:196,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:199,1
    - Dst: MAC2STR
      Src: /src/hostap/src/nan/nan.c:201,1
    - Dst: struct nan_data*::cfg::set_group_key
      Src: /src/hostap/src/nan/nan.c:206,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:209,1
    - Dst: MAC2STR
      Src: /src/hostap/src/nan/nan.c:211,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - nan
    - peer
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 214
    functionName: nan_remove_group_keys
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    - struct nan_data*::cfg::set_group_key
    linkageType: ''
    returnType: void
    signature: void nan_remove_group_keys(struct nan_data *nan, struct nan_peer *peer)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:222,1
    - Dst: MAC2STR
      Src: /src/hostap/src/nan/nan.c:223,1
    - Dst: dl_list_empty
      Src: /src/hostap/src/nan/nan.c:225,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:229,1
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/nan/nan.c:232,1
    - Dst: dl_list_del
      Src: /src/hostap/src/nan/nan.c:234,1
    - Dst: os_free
      Src: /src/hostap/src/nan/nan.c:235,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:240,1
    - Dst: nan_ndp_setup_stop
      Src: /src/hostap/src/nan/nan.c:242,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/nan/nan.c:245,1
    - Dst: nan_bootstrap_reset
      Src: /src/hostap/src/nan/nan.c:247,1
    - Dst: dl_list_del
      Src: /src/hostap/src/nan/nan.c:248,1
    - Dst: nan_peer_flush_avail
      Src: /src/hostap/src/nan/nan.c:249,1
    - Dst: nan_peer_flush_ulw
      Src: /src/hostap/src/nan/nan.c:250,1
    - Dst: nan_peer_flush_dev_capa
      Src: /src/hostap/src/nan/nan.c:251,1
    - Dst: nan_peer_flush_elem_container
      Src: /src/hostap/src/nan/nan.c:252,1
    - Dst: nan_remove_group_keys
      Src: /src/hostap/src/nan/nan.c:253,1
    - Dst: nan_ndl_reset
      Src: /src/hostap/src/nan/nan.c:255,1
    - Dst: nan_peer_flush_sec
      Src: /src/hostap/src/nan/nan.c:256,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/nan/nan.c:257,1
    - Dst: nan_pairing_deinit_peer
      Src: /src/hostap/src/nan/nan.c:258,1
    - Dst: os_free
      Src: /src/hostap/src/nan/nan.c:259,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 2
    argNames:
    - nan
    - peer
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 217
    functionDepth: 4
    functionLinenumber: 217
    functionLinenumberEnd: 260
    functionName: nan_del_peer
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - nan_bootstrap_reset
    - dl_list_del
    - nan_peer_flush_ulw
    - dl_list_empty
    - eloop_cancel_timeout
    - nan_pairing_deinit_peer
    - nan_ndp_setup_stop
    - wpabuf_free
    - nan_remove_group_keys
    - nan_peer_flush_dev_capa
    - nan_ndl_reset
    - nan_peer_flush_sec
    - MAC2STR
    - nan_peer_flush_elem_container
    - os_free
    - nan_peer_flush_avail
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: void nan_del_peer(struct nan_data *nan, struct nan_peer *peer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/nan/nan.c:267,1
    - Dst: nan_del_peer
      Src: /src/hostap/src/nan/nan.c:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - nan
    argTypes:
    - struct nan_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 263
    functionDepth: 5
    functionLinenumber: 263
    functionLinenumberEnd: 270
    functionName: nan_peer_clear_all
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 0
    functionsReached:
    - nan_del_peer
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: void nan_peer_clear_all(struct nan_data *nan)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:275,1
    - Dst: nan_stop
      Src: /src/hostap/src/nan/nan.c:277,1
    - Dst: nan_flush
      Src: /src/hostap/src/nan/nan.c:278,1
    - Dst: pasn_initiator_pmksa_cache_deinit
      Src: /src/hostap/src/nan/nan.c:281,1
    - Dst: pasn_responder_pmksa_cache_deinit
      Src: /src/hostap/src/nan/nan.c:282,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/nan/nan.c:284,1
    - Dst: os_free
      Src: /src/hostap/src/nan/nan.c:285,1
    - Dst: os_free
      Src: /src/hostap/src/nan/nan.c:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - nan
    argTypes:
    - struct nan_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 287
    functionName: nan_deinit
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 5
    functionsReached:
    - wpa_printf
    - nan_flush
    - wpabuf_free
    - pasn_responder_pmksa_cache_deinit
    - nan_stop
    - os_free
    - pasn_initiator_pmksa_cache_deinit
    linkageType: ''
    returnType: void
    signature: void nan_deinit(struct nan_data *nan)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cipher_key_len
      Src: /src/hostap/src/nan/nan.c:309,1
    - Dst: os_get_random
      Src: /src/hostap/src/nan/nan.c:311,1
    - Dst: os_memset
      Src: /src/hostap/src/nan/nan.c:313,1
    - Dst: struct nan_data*::cfg::set_group_key
      Src: /src/hostap/src/nan/nan.c:314,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:318,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/nan/nan.c:322,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - nan
    argTypes:
    - struct nan_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 325
    functionName: nan_gen_igtk
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump_key
    - wpa_cipher_key_len
    - struct nan_data*::cfg::set_group_key
    - os_get_random
    - os_memset
    linkageType: ''
    returnType: int
    signature: int nan_gen_igtk(struct nan_data *nan)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:336,1
    - Dst: wpa_cipher_key_len
      Src: /src/hostap/src/nan/nan.c:349,1
    - Dst: os_get_random
      Src: /src/hostap/src/nan/nan.c:351,1
    - Dst: os_memset
      Src: /src/hostap/src/nan/nan.c:353,1
    - Dst: struct nan_data*::cfg::set_group_key
      Src: /src/hostap/src/nan/nan.c:354,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:358,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/nan/nan.c:362,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - nan
    argTypes:
    - struct nan_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 365
    functionName: nan_gen_bigtk
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump_key
    - wpa_cipher_key_len
    - struct nan_data*::cfg::set_group_key
    - os_get_random
    - os_memset
    linkageType: ''
    returnType: int
    signature: int nan_gen_bigtk(struct nan_data *nan)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:372,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:375,1
    - Dst: struct nan_data*::cfg::start
      Src: /src/hostap/src/nan/nan.c:379,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:381,1
    - Dst: nan_gen_igtk
      Src: /src/hostap/src/nan/nan.c:386,1
    - Dst: nan_gen_bigtk
      Src: /src/hostap/src/nan/nan.c:386,1
    - Dst: nan_stop
      Src: /src/hostap/src/nan/nan.c:387,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - nan
    - config
    argTypes:
    - struct nan_data*
    - struct nan_cluster_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 368
    functionDepth: 2
    functionLinenumber: 368
    functionLinenumberEnd: 392
    functionName: nan_start
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 4
    functionsReached:
    - wpa_printf
    - nan_gen_bigtk
    - nan_gen_igtk
    - nan_stop
    - struct nan_data*::cfg::start
    linkageType: ''
    returnType: int
    signature: int nan_start(struct nan_data *nan, const struct nan_cluster_config
      *config)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:400,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:403,1
    - Dst: struct nan_data*::cfg::update_config
      Src: /src/hostap/src/nan/nan.c:407,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:409,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - nan
    - config
    argTypes:
    - struct nan_data*
    - struct nan_cluster_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 413
    functionName: nan_update_config
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - struct nan_data*::cfg::update_config
    linkageType: ''
    returnType: int
    signature: "int nan_update_config(struct nan_data *nan,\n\t\t      const struct
      nan_cluster_config *config)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:437,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - nan
    - map_id_2g
    - map_id_5g
    argTypes:
    - struct nan_data*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 439
    functionName: nan_set_cdw_overwrite
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void nan_set_cdw_overwrite(struct nan_data *nan, int map_id_2g, int
      map_id_5g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:444,1
    - Dst: nan_peer_clear_all
      Src: /src/hostap/src/nan/nan.c:446,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/nan/nan.c:447,1
    - Dst: os_memset
      Src: /src/hostap/src/nan/nan.c:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - nan
    argTypes:
    - struct nan_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 442
    functionDepth: 6
    functionLinenumber: 442
    functionLinenumberEnd: 449
    functionName: nan_flush
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 5
    functionsReached:
    - nan_peer_clear_all
    - wpa_printf
    - wpabuf_free
    - os_memset
    linkageType: ''
    returnType: void
    signature: void nan_flush(struct nan_data *nan)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:454,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:457,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/nan/nan.c:461,1
    - Dst: struct nan_data*::cfg::set_group_key
      Src: /src/hostap/src/nan/nan.c:464,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:467,1
    - Dst: struct nan_data*::cfg::set_group_key
      Src: /src/hostap/src/nan/nan.c:474,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:477,1
    - Dst: nan_flush
      Src: /src/hostap/src/nan/nan.c:484,1
    - Dst: struct nan_data*::cfg::stop
      Src: /src/hostap/src/nan/nan.c:486,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - nan
    argTypes:
    - struct nan_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 452
    functionDepth: 7
    functionLinenumber: 452
    functionLinenumberEnd: 487
    functionName: nan_stop
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 6
    functionsReached:
    - wpa_printf
    - struct nan_data*::cfg::set_group_key
    - eloop_cancel_timeout
    - nan_flush
    - struct nan_data*::cfg::stop
    linkageType: ''
    returnType: void
    signature: void nan_stop(struct nan_data *nan)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/nan/nan.c:494,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/nan/nan.c:495,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - nan
    - addr
    argTypes:
    - struct nan_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 490
    functionDepth: 1
    functionLinenumber: 490
    functionLinenumberEnd: 500
    functionName: nan_get_peer
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 8
    functionsReached:
    - dl_list_for_each
    - ether_addr_equal
    linkageType: ''
    returnType: struct nan_peer
    signature: struct nan_peer * nan_get_peer(struct nan_data *nan, const u8 *addr)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:521,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:528,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:534,1
    - Dst: le_to_host16
      Src: /src/hostap/src/nan/nan.c:540,1
    - Dst: BITS
      Src: /src/hostap/src/nan/nan.c:542,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:546,1
    - Dst: BITS
      Src: /src/hostap/src/nan/nan.c:552,1
    - Dst: BIT
      Src: /src/hostap/src/nan/nan.c:555,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:557,1
    - Dst: BITS
      Src: /src/hostap/src/nan/nan.c:562,1
    - Dst: BIT
      Src: /src/hostap/src/nan/nan.c:565,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:566,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:572,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan.c:579,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 4
    argNames:
    - nan
    - tbm
    - buf
    - buf_len
    argTypes:
    - struct nan_data*
    - struct nan_time_bitmap*
    - u8*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 581
    functionName: nan_parse_tbm
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_printf
    - BITS
    - BIT
    - le_to_host16
    linkageType: ''
    returnType: int
    signature: "int nan_parse_tbm(struct nan_data *nan, struct nan_time_bitmap *tbm,\n\t\t\t
      const u8 *buf, u16 buf_len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:603,1
    - Dst: BITS
      Src: /src/hostap/src/nan/nan.c:609,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:618,1
    - Dst: os_zalloc
      Src: /src/hostap/src/nan/nan.c:624,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:627,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:643,1
    - Dst: os_zalloc
      Src: /src/hostap/src/nan/nan.c:647,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:650,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 4
    argNames:
    - nan
    - entry
    - list
    - len
    argTypes:
    - struct nan_data*
    - struct nan_avail_entry*
    - struct nan_band_chan_list*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 593
    functionDepth: 1
    functionLinenumber: 593
    functionLinenumberEnd: 669
    functionName: nan_parse_band_chan_list
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - BITS
    - os_zalloc
    linkageType: ''
    returnType: int
    signature: "int nan_parse_band_chan_list(struct nan_data *nan,\n\t\t\t\t    struct
      nan_avail_entry *entry,\n\t\t\t\t    const struct nan_band_chan_list *list,\n\t\t\t\t
      \   u16 len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:694,1
    - Dst: os_zalloc
      Src: /src/hostap/src/nan/nan.c:697,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:699,1
    - Dst: dl_list_init
      Src: /src/hostap/src/nan/nan.c:710,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan.c:717,1
    - Dst: os_zalloc
      Src: /src/hostap/src/nan/nan.c:721,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:724,1
    - Dst: os_free
      Src: /src/hostap/src/nan/nan.c:726,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan.c:730,1
    - Dst: os_memdup
      Src: /src/hostap/src/nan/nan.c:737,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:739,1
    - Dst: os_free
      Src: /src/hostap/src/nan/nan.c:741,1
    - Dst: os_free
      Src: /src/hostap/src/nan/nan.c:742,1
    - Dst: os_free
      Src: /src/hostap/src/nan/nan.c:748,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 39
    argCount: 2
    argNames:
    - nan
    - entry
    argTypes:
    - struct nan_data*
    - struct nan_avail_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 687
    functionDepth: 1
    functionLinenumber: 687
    functionLinenumberEnd: 750
    functionName: nan_split_avail_entry
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_printf
    - os_memdup
    - os_zalloc
    - dl_list_init
    - os_free
    linkageType: ''
    returnType: struct nan_avail_entry
    signature: "struct nan_avail_entry *\nnan_split_avail_entry(struct nan_data *nan,\n\t\t
      \     struct nan_avail_entry *entry)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:774,1
    - Dst: le_to_host16
      Src: /src/hostap/src/nan/nan.c:780,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:786,1
    - Dst: BITS
      Src: /src/hostap/src/nan/nan.c:790,1
    - Dst: BITS
      Src: /src/hostap/src/nan/nan.c:792,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:797,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:801,1
    - Dst: os_zalloc
      Src: /src/hostap/src/nan/nan.c:805,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:807,1
    - Dst: dl_list_init
      Src: /src/hostap/src/nan/nan.c:816,1
    - Dst: BITS
      Src: /src/hostap/src/nan/nan.c:818,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:821,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:830,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:834,1
    - Dst: nan_parse_tbm
      Src: /src/hostap/src/nan/nan.c:839,1
    - Dst: os_memset
      Src: /src/hostap/src/nan/nan.c:846,1
    - Dst: nan_parse_band_chan_list
      Src: /src/hostap/src/nan/nan.c:849,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:863,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:869,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:879,1
    - Dst: nan_split_avail_entry
      Src: /src/hostap/src/nan/nan.c:885,1
    - Dst: dl_list_add
      Src: /src/hostap/src/nan/nan.c:889,1
    - Dst: dl_list_add
      Src: /src/hostap/src/nan/nan.c:900,1
    - Dst: nan_del_avail_entry
      Src: /src/hostap/src/nan/nan.c:904,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 86
    argCount: 5
    argNames:
    - nan
    - peer_info
    - avail_entry
    - entry_len
    - map_id
    argTypes:
    - struct nan_data*
    - struct nan_peer_info*
    - struct nan_avail_ent*
    - u16
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 763
    functionDepth: 2
    functionLinenumber: 763
    functionLinenumberEnd: 906
    functionName: nan_parse_avail_entry
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - nan_parse_band_chan_list
    - BITS
    - nan_split_avail_entry
    - os_zalloc
    - nan_del_avail_entry
    - dl_list_add
    - dl_list_init
    - nan_parse_tbm
    - le_to_host16
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int nan_parse_avail_entry(struct nan_data *nan,\n\t\t\t\t struct nan_peer_info
      *peer_info,\n\t\t\t\t const struct nan_avail_ent *avail_entry,\n\t\t\t\t u16
      entry_len, u8 map_id)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:928,1
    - Dst: le_to_host16
      Src: /src/hostap/src/nan/nan.c:932,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:938,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/nan/nan.c:944,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:949,1
    - Dst: nan_parse_avail_entry
      Src: /src/hostap/src/nan/nan.c:954,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:963,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 4
    argNames:
    - nan
    - peer_info
    - avail_attr
    - attr_len
    argTypes:
    - struct nan_data*
    - struct nan_peer_info*
    - struct nan_avail*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 969
      start: 919
    functionDepth: 3
    functionLinenumber: 919
    functionLinenumberEnd: 969
    functionName: nan_parse_avail_attr
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 0
    functionsReached:
    - le_to_host16
    - wpa_printf
    - nan_parse_avail_entry
    - WPA_GET_LE16
    linkageType: ''
    returnType: int
    signature: "int nan_parse_avail_attr(struct nan_data *nan,\n\t\t\t\tstruct nan_peer_info
      *peer_info,\n\t\t\t\tconst struct nan_avail *avail_attr,\n\t\t\t\tu16 attr_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:976,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/nan/nan.c:981,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:985,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:989,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:997,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:1000,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - nan
    - info
    argTypes:
    - struct nan_data*
    - struct nan_peer_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1007
      start: 972
    functionDepth: 0
    functionLinenumber: 972
    functionLinenumberEnd: 1007
    functionName: nan_peer_dump_info
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void nan_peer_dump_info(struct nan_data *nan, struct nan_peer_info
      *info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:1012,1
    - Dst: MAC2STR
      Src: /src/hostap/src/nan/nan.c:1014,1
    - Dst: nan_peer_dump_info
      Src: /src/hostap/src/nan/nan.c:1017,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - nan
    - peer
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 1010
    functionDepth: 1
    functionLinenumber: 1010
    functionLinenumberEnd: 1018
    functionName: nan_peer_dump
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    - nan_peer_dump_info
    linkageType: ''
    returnType: void
    signature: void nan_peer_dump(struct nan_data *nan, struct nan_peer *peer)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nan_ndp_disconnected
      Src: /src/hostap/src/nan/nan.c:1029,1
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/nan/nan.c:1032,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan.c:1041,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan.c:1042,1
    - Dst: nan_action_send
      Src: /src/hostap/src/nan/nan.c:1049,1
    - Dst: dl_list_del
      Src: /src/hostap/src/nan/nan.c:1052,1
    - Dst: nan_ndp_terminated
      Src: /src/hostap/src/nan/nan.c:1053,1
    - Dst: os_free
      Src: /src/hostap/src/nan/nan.c:1056,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 2
    argNames:
    - nan
    - peer
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1021
    functionDepth: 1
    functionLinenumber: 1021
    functionLinenumberEnd: 1058
    functionName: nan_peer_disconnect_all_ndps
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - nan_ndp_terminated
    - dl_list_del
    - nan_ndp_disconnected
    - nan_action_send
    - os_free
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: "void nan_peer_disconnect_all_ndps(struct nan_data *nan,\n\t\t\t\t\t
      struct nan_peer *peer)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nan_peer_schedule_intersection
      Src: /src/hostap/src/nan/nan.c:1068,1
    - Dst: nan_ndl_meets_qos
      Src: /src/hostap/src/nan/nan.c:1069,1
    - Dst: nan_ndl_validate_peer_avail
      Src: /src/hostap/src/nan/nan.c:1070,1
    - Dst: nan_configure_peer_schedule
      Src: /src/hostap/src/nan/nan.c:1071,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:1073,1
    - Dst: nan_peer_disconnect_all_ndps
      Src: /src/hostap/src/nan/nan.c:1076,1
    - Dst: struct nan_data*::cfg::schedule_changed
      Src: /src/hostap/src/nan/nan.c:1078,1
    - Dst: bitfield_free
      Src: /src/hostap/src/nan/nan.c:1080,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - nan
    - peer
    - sched
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - struct nan_schedule*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1061
    functionDepth: 5
    functionLinenumber: 1061
    functionLinenumberEnd: 1081
    functionName: nan_peer_update_schedule
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - struct nan_data*::cfg::schedule_changed
    - nan_ndl_validate_peer_avail
    - nan_configure_peer_schedule
    - nan_peer_disconnect_all_ndps
    - nan_ndl_meets_qos
    - bitfield_free
    - nan_peer_schedule_intersection
    linkageType: ''
    returnType: void
    signature: "void nan_peer_update_schedule(struct nan_data *nan,\n\t\t\t\t     struct
      nan_peer *peer,\n\t\t\t\t     struct nan_schedule *sched)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_empty
      Src: /src/hostap/src/nan/nan.c:1096,1
    - Dst: avail_entries::avail_entries
      Src: /src/hostap/src/nan/nan.c:1096,1
    - Dst: nan_peer_flush_avail
      Src: /src/hostap/src/nan/nan.c:1099,1
    - Dst: dl_list_init
      Src: /src/hostap/src/nan/nan.c:1100,1
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/nan/nan.c:1102,1
    - Dst: avail_entries::avail_entries
      Src: /src/hostap/src/nan/nan.c:1102,1
    - Dst: dl_list_del
      Src: /src/hostap/src/nan/nan.c:1104,1
    - Dst: dl_list_add
      Src: /src/hostap/src/nan/nan.c:1105,1
    - Dst: seq_id::seq_id
      Src: /src/hostap/src/nan/nan.c:1107,1
    - Dst: dl_list_empty
      Src: /src/hostap/src/nan/nan.c:1111,1
    - Dst: ulw::ulw
      Src: /src/hostap/src/nan/nan.c:1111,1
    - Dst: nan_peer_flush_ulw
      Src: /src/hostap/src/nan/nan.c:1114,1
    - Dst: dl_list_init
      Src: /src/hostap/src/nan/nan.c:1115,1
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/nan/nan.c:1117,1
    - Dst: ulw::ulw
      Src: /src/hostap/src/nan/nan.c:1117,1
    - Dst: dl_list_del
      Src: /src/hostap/src/nan/nan.c:1119,1
    - Dst: dl_list_add
      Src: /src/hostap/src/nan/nan.c:1120,1
    - Dst: last_seen::last_seen
      Src: /src/hostap/src/nan/nan.c:1126,1
    - Dst: nan_peer_update_schedule
      Src: /src/hostap/src/nan/nan.c:1130,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 4
    argNames:
    - nan
    - peer
    - old
    - new
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - struct nan_peer_info*
    - struct nan_peer_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1131
      start: 1090
    functionDepth: 6
    functionLinenumber: 1090
    functionLinenumberEnd: 1131
    functionName: nan_merge_peer_info
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 0
    functionsReached:
    - dl_list_del
    - nan_peer_flush_ulw
    - dl_list_empty
    - last_seen::last_seen
    - seq_id::seq_id
    - ulw::ulw
    - nan_peer_update_schedule
    - dl_list_add
    - dl_list_init
    - avail_entries::avail_entries
    - nan_peer_flush_avail
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: "void nan_merge_peer_info(struct nan_data *nan, struct nan_peer *peer,\n\t\t\t\tstruct
      nan_peer_info *old,\n\t\t\t\tstruct nan_peer_info *new)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_first
      Src: /src/hostap/src/nan/nan.c:1140,1
    - Dst: dl_list_empty
      Src: /src/hostap/src/nan/nan.c:1152,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:1155,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/nan/nan.c:1163,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:1167,1
    - Dst: nan_parse_avail_attr
      Src: /src/hostap/src/nan/nan.c:1172,1
    - Dst: nan_peer_flush_avail
      Src: /src/hostap/src/nan/nan.c:1178,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 4
    argNames:
    - nan
    - peer
    - attrs
    - info
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - struct nan_attrs*
    - struct nan_peer_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1180
      start: 1134
    functionDepth: 4
    functionLinenumber: 1134
    functionLinenumberEnd: 1180
    functionName: nan_avail_info
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dl_list_empty
    - dl_list_first
    - nan_parse_avail_attr
    - dl_list_for_each
    - nan_peer_flush_avail
    linkageType: ''
    returnType: int
    signature: "int nan_avail_info(struct nan_data *nan, struct nan_peer *peer,\n\t\t\t
      \ struct nan_attrs *attrs, struct nan_peer_info *info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/nan/nan.c:1188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - peer
    - map_id
    argTypes:
    - struct nan_peer*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1195
      start: 1183
    functionDepth: 0
    functionLinenumber: 1183
    functionLinenumberEnd: 1195
    functionName: nan_get_dev_capa_entry
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    linkageType: ''
    returnType: struct nan_dev_capa_entry
    signature: "struct nan_dev_capa_entry * nan_get_dev_capa_entry(struct nan_peer
      *peer,\n\t\t\t\t\t\t\t  u8 map_id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nan_get_dev_capa_entry
      Src: /src/hostap/src/nan/nan.c:1208,1
    - Dst: os_zalloc
      Src: /src/hostap/src/nan/nan.c:1210,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:1212,1
    - Dst: dl_list_init
      Src: /src/hostap/src/nan/nan.c:1217,1
    - Dst: dl_list_add
      Src: /src/hostap/src/nan/nan.c:1218,1
    - Dst: le_to_host16
      Src: /src/hostap/src/nan/nan.c:1222,1
    - Dst: le_to_host16
      Src: /src/hostap/src/nan/nan.c:1227,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - nan
    - peer
    - attr
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - struct nan_attrs_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1229
      start: 1198
    functionDepth: 1
    functionLinenumber: 1198
    functionLinenumberEnd: 1229
    functionName: nan_parse_peer_device_capa_attr
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_zalloc
    - dl_list_add
    - dl_list_init
    - le_to_host16
    - nan_get_dev_capa_entry
    linkageType: ''
    returnType: void
    signature: "void nan_parse_peer_device_capa_attr(struct nan_data *nan,\n\t\t\t\t\t
      \   struct nan_peer *peer,\n\t\t\t\t\t    const struct nan_attrs_entry *attr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/nan/nan.c:1238,1
    - Dst: nan_parse_peer_device_capa_attr
      Src: /src/hostap/src/nan/nan.c:1239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - nan
    - peer
    - attrs
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - struct nan_attrs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1240
      start: 1232
    functionDepth: 2
    functionLinenumber: 1232
    functionLinenumberEnd: 1240
    functionName: nan_parse_peer_device_capa
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    - nan_parse_peer_device_capa_attr
    linkageType: ''
    returnType: void
    signature: "void nan_parse_peer_device_capa(struct nan_data *nan,\n\t\t\t\t       struct
      nan_peer *peer,\n\t\t\t\t       const struct nan_attrs *attrs)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/nan/nan.c:1251,1
    - Dst: dl_list_del
      Src: /src/hostap/src/nan/nan.c:1254,1
    - Dst: os_free
      Src: /src/hostap/src/nan/nan.c:1255,1
    - Dst: os_zalloc
      Src: /src/hostap/src/nan/nan.c:1260,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:1262,1
    - Dst: dl_list_init
      Src: /src/hostap/src/nan/nan.c:1267,1
    - Dst: dl_list_add
      Src: /src/hostap/src/nan/nan.c:1268,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan.c:1272,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - nan
    - peer
    - attr
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - struct nan_attrs_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1273
      start: 1243
    functionDepth: 1
    functionLinenumber: 1243
    functionLinenumberEnd: 1273
    functionName: nan_parse_peer_elem_container_attr
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - dl_list_del
    - os_zalloc
    - dl_list_add
    - dl_list_init
    - os_free
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: "void nan_parse_peer_elem_container_attr(\n\tstruct nan_data *nan,
      struct nan_peer *peer,\n\tconst struct nan_attrs_entry *attr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/nan/nan.c:1282,1
    - Dst: nan_parse_peer_elem_container_attr
      Src: /src/hostap/src/nan/nan.c:1284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - nan
    - peer
    - attrs
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - struct nan_attrs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1285
      start: 1276
    functionDepth: 2
    functionLinenumber: 1276
    functionLinenumberEnd: 1285
    functionName: nan_parse_peer_elem_container
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    - nan_parse_peer_elem_container_attr
    linkageType: ''
    returnType: void
    signature: "void nan_parse_peer_elem_container(struct nan_data *nan,\n\t\t\t\t\t
      \ struct nan_peer *peer,\n\t\t\t\t\t  const struct nan_attrs *attrs)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_empty
      Src: /src/hostap/src/nan/nan.c:1297,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/nan/nan.c:1300,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/nan/nan.c:1310,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:1316,1
    - Dst: os_zalloc
      Src: /src/hostap/src/nan/nan.c:1322,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:1324,1
    - Dst: nan_peer_flush_ulw
      Src: /src/hostap/src/nan/nan.c:1326,1
    - Dst: dl_list_init
      Src: /src/hostap/src/nan/nan.c:1330,1
    - Dst: dl_list_add
      Src: /src/hostap/src/nan/nan.c:1331,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan.c:1334,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 3
    argNames:
    - attrs
    - cur_info
    - info
    argTypes:
    - struct nan_attrs*
    - struct nan_peer_info*
    - struct nan_peer_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1338
      start: 1288
    functionDepth: 2
    functionLinenumber: 1288
    functionLinenumberEnd: 1338
    functionName: nan_parse_peer_ulw
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - nan_peer_flush_ulw
    - dl_list_empty
    - dl_list_for_each
    - os_zalloc
    - dl_list_add
    - dl_list_init
    linkageType: ''
    returnType: int
    signature: "int nan_parse_peer_ulw(const struct nan_attrs *attrs,\n\t\t\t      const
      struct nan_peer_info *cur_info,\n\t\t\t      struct nan_peer_info *info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - nan
    - peer
    - attrs
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - struct nan_attrs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1351
      start: 1341
    functionDepth: 0
    functionLinenumber: 1341
    functionLinenumberEnd: 1351
    functionName: nan_parse_peer_dev_capa_ext
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void nan_parse_peer_dev_capa_ext(struct nan_data *nan, struct nan_peer
      *peer,\n\t\t\t\t struct nan_attrs *attrs)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/nan/nan.c:1368,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:1370,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - nan
    - peer
    - attrs
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - struct nan_attrs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1372
      start: 1354
    functionDepth: 1
    functionLinenumber: 1354
    functionLinenumberEnd: 1372
    functionName: nan_parse_npba
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - WPA_GET_LE16
    linkageType: ''
    returnType: void
    signature: "void nan_parse_npba(struct nan_data *nan, struct nan_peer *peer,\n\t\t\t
      \  struct nan_attrs *attrs)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan.c:1386,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan.c:1388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - nan
    - peer
    - attrs
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - struct nan_attrs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1390
      start: 1375
    functionDepth: 0
    functionLinenumber: 1375
    functionLinenumberEnd: 1390
    functionName: nan_parse_nira
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    linkageType: ''
    returnType: void
    signature: "void nan_parse_nira(struct nan_data *nan, struct nan_peer *peer,\n\t\t\t
      \  struct nan_attrs *attrs)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/nan/nan.c:1409,1
    - Dst: dl_list_init
      Src: /src/hostap/src/nan/nan.c:1410,1
    - Dst: dl_list_init
      Src: /src/hostap/src/nan/nan.c:1411,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/nan/nan.c:1412,1
    - Dst: nan_parse_attrs
      Src: /src/hostap/src/nan/nan.c:1414,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:1415,1
    - Dst: MAC2STR
      Src: /src/hostap/src/nan/nan.c:1417,1
    - Dst: nan_avail_info
      Src: /src/hostap/src/nan/nan.c:1421,1
    - Dst: nan_parse_peer_ulw
      Src: /src/hostap/src/nan/nan.c:1426,1
    - Dst: nan_merge_peer_info
      Src: /src/hostap/src/nan/nan.c:1431,1
    - Dst: nan_parse_peer_device_capa
      Src: /src/hostap/src/nan/nan.c:1432,1
    - Dst: nan_parse_peer_elem_container
      Src: /src/hostap/src/nan/nan.c:1433,1
    - Dst: nan_parse_peer_dev_capa_ext
      Src: /src/hostap/src/nan/nan.c:1434,1
    - Dst: nan_parse_npba
      Src: /src/hostap/src/nan/nan.c:1435,1
    - Dst: nan_parse_nira
      Src: /src/hostap/src/nan/nan.c:1436,1
    - Dst: nan_peer_dump
      Src: /src/hostap/src/nan/nan.c:1438,1
    - Dst: nan_peer_flush_avail
      Src: /src/hostap/src/nan/nan.c:1441,1
    - Dst: nan_peer_flush_ulw
      Src: /src/hostap/src/nan/nan.c:1442,1
    - Dst: nan_attrs_clear
      Src: /src/hostap/src/nan/nan.c:1443,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 4
    argNames:
    - nan
    - peer
    - attrs_data
    - attrs_len
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1445
      start: 1402
    functionDepth: 7
    functionLinenumber: 1402
    functionLinenumberEnd: 1445
    functionName: nan_parse_device_attrs
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 0
    functionsReached:
    - nan_peer_dump
    - os_get_reltime
    - wpa_printf
    - nan_parse_nira
    - nan_merge_peer_info
    - nan_peer_flush_ulw
    - nan_parse_attrs
    - nan_parse_peer_device_capa
    - nan_attrs_clear
    - nan_parse_peer_dev_capa_ext
    - MAC2STR
    - nan_parse_peer_ulw
    - nan_parse_npba
    - dl_list_init
    - nan_avail_info
    - nan_parse_peer_elem_container
    - nan_peer_flush_avail
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int nan_parse_device_attrs(struct nan_data *nan, struct nan_peer *peer,\n\t\t\t
      \  const u8 *attrs_data, size_t attrs_len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/nan/nan.c:1453,1
    - Dst: dl_list_empty
      Src: /src/hostap/src/nan/nan.c:1457,1
    - Dst: os_reltime_before
      Src: /src/hostap/src/nan/nan.c:1461,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:1467,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:1472,1
    - Dst: MAC2STR
      Src: /src/hostap/src/nan/nan.c:1474,1
    - Dst: nan_del_peer
      Src: /src/hostap/src/nan/nan.c:1476,1
    - Dst: os_zalloc
      Src: /src/hostap/src/nan/nan.c:1479,1
    - Dst: dl_list_init
      Src: /src/hostap/src/nan/nan.c:1483,1
    - Dst: dl_list_init
      Src: /src/hostap/src/nan/nan.c:1484,1
    - Dst: dl_list_init
      Src: /src/hostap/src/nan/nan.c:1485,1
    - Dst: dl_list_init
      Src: /src/hostap/src/nan/nan.c:1486,1
    - Dst: dl_list_init
      Src: /src/hostap/src/nan/nan.c:1487,1
    - Dst: dl_list_add
      Src: /src/hostap/src/nan/nan.c:1489,1
    - Dst: dl_list_init
      Src: /src/hostap/src/nan/nan.c:1490,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - nan
    argTypes:
    - struct nan_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1492
      start: 1448
    functionDepth: 5
    functionLinenumber: 1448
    functionLinenumberEnd: 1492
    functionName: nan_alloc_peer
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 0
    functionsReached:
    - nan_del_peer
    - wpa_printf
    - dl_list_empty
    - dl_list_for_each
    - MAC2STR
    - os_zalloc
    - dl_list_add
    - dl_list_init
    - os_reltime_before
    linkageType: ''
    returnType: struct nan_peer
    signature: struct nan_peer * nan_alloc_peer(struct nan_data *nan)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:1506,1
    - Dst: nan_get_peer
      Src: /src/hostap/src/nan/nan.c:1511,1
    - Dst: nan_alloc_peer
      Src: /src/hostap/src/nan/nan.c:1513,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan.c:1517,1
    - Dst: nan_parse_device_attrs
      Src: /src/hostap/src/nan/nan.c:1520,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/nan/nan.c:1522,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - nan
    - addr
    - device_attrs
    - device_attrs_len
    argTypes:
    - struct nan_data*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1524
      start: 1495
    functionDepth: 8
    functionLinenumber: 1495
    functionLinenumberEnd: 1524
    functionName: nan_add_peer
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 3
    functionsReached:
    - os_memcpy
    - wpa_printf
    - os_get_reltime
    - nan_get_peer
    - nan_alloc_peer
    - nan_parse_device_attrs
    linkageType: ''
    returnType: int
    signature: "int nan_add_peer(struct nan_data *nan, const u8 *addr,\n\t\t const
      u8 *device_attrs, size_t device_attrs_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nan_pairing_is_peer_paired
      Src: /src/hostap/src/nan/nan.c:1533,1
    - Dst: dl_list_empty
      Src: /src/hostap/src/nan/nan.c:1534,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan.c:1537,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan.c:1538,1
    - Dst: wpabuf_put_be24
      Src: /src/hostap/src/nan/nan.c:1539,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan.c:1540,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan.c:1541,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - nan
    - peer
    - buf
    - subtype
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - struct wpabuf*
    - enum nan_subtype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1542
      start: 1527
    functionDepth: 1
    functionLinenumber: 1527
    functionLinenumberEnd: 1542
    functionName: nan_action_build_header
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 0
    functionsReached:
    - nan_pairing_is_peer_paired
    - wpabuf_put_be24
    - wpabuf_put_u8
    - dl_list_empty
    linkageType: ''
    returnType: void
    signature: "void nan_action_build_header(struct nan_data *nan, struct nan_peer
      *peer,\n\t\t\t\t    struct wpabuf *buf,\n\t\t\t\t    enum nan_subtype subtype)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:1550,1
    - Dst: nan_action_build_header
      Src: /src/hostap/src/nan/nan.c:1552,1
    - Dst: nan_add_dev_capa_attr
      Src: /src/hostap/src/nan/nan.c:1554,1
    - Dst: nan_add_dev_capa_ext_attr
      Src: /src/hostap/src/nan/nan.c:1555,1
    - Dst: nan_ndp_add_ndp_attr
      Src: /src/hostap/src/nan/nan.c:1557,1
    - Dst: nan_sec_add_attrs
      Src: /src/hostap/src/nan/nan.c:1561,1
    - Dst: nan_ndl_add_avail_attrs
      Src: /src/hostap/src/nan/nan.c:1565,1
    - Dst: nan_ndl_add_ndc_attr
      Src: /src/hostap/src/nan/nan.c:1569,1
    - Dst: nan_ndl_add_ndl_attr
      Src: /src/hostap/src/nan/nan.c:1573,1
    - Dst: nan_ndl_add_qos_attr
      Src: /src/hostap/src/nan/nan.c:1577,1
    - Dst: nan_ndl_add_elem_container_attr
      Src: /src/hostap/src/nan/nan.c:1581,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:1583,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 4
    argNames:
    - nan
    - peer
    - subtype
    - buf
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - enum nan_subtype
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1586
      start: 1545
    functionDepth: 2
    functionLinenumber: 1545
    functionLinenumberEnd: 1586
    functionName: nan_action_build
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - nan_add_dev_capa_attr
    - nan_ndl_add_ndc_attr
    - nan_ndl_add_ndl_attr
    - nan_ndl_add_qos_attr
    - nan_action_build_header
    - nan_ndl_add_avail_attrs
    - nan_sec_add_attrs
    - nan_ndp_add_ndp_attr
    - nan_add_dev_capa_ext_attr
    - nan_ndl_add_elem_container_attr
    linkageType: ''
    returnType: int
    signature: "int nan_action_build(struct nan_data *nan, struct nan_peer *peer,\n\t\t\t
      \   enum nan_subtype subtype, struct wpabuf *buf)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/nan/nan.c:1597,1
    - Dst: nan_action_build
      Src: /src/hostap/src/nan/nan.c:1601,1
    - Dst: nan_sec_pre_tx
      Src: /src/hostap/src/nan/nan.c:1605,1
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/nan/nan.c:1622,1
    - Dst: struct nan_data*::cfg::send_naf
      Src: /src/hostap/src/nan/nan.c:1630,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:1633,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/nan/nan.c:1634,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 3
    argNames:
    - nan
    - peer
    - subtype
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - enum nan_subtype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1636
      start: 1589
    functionDepth: 3
    functionLinenumber: 1589
    functionLinenumberEnd: 1636
    functionName: nan_action_send
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - nan_sec_pre_tx
    - wpabuf_free
    - struct nan_data*::cfg::send_naf
    - wpabuf_alloc
    - nan_action_build
    - dl_list_for_each_safe
    linkageType: ''
    returnType: int
    signature: "int nan_action_send(struct nan_data *nan, struct nan_peer *peer,\n\t\t\t
      \  enum nan_subtype subtype)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:1648,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 1
    argNames:
    - nan
    argTypes:
    - struct nan_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1650
      start: 1639
    functionDepth: 0
    functionLinenumber: 1639
    functionLinenumberEnd: 1650
    functionName: nan_ndp_supported
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: bool
    signature: bool nan_ndp_supported(struct nan_data *nan)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:1670,1
    - Dst: MAC2STR
      Src: /src/hostap/src/nan/nan.c:1671,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:1674,1
    - Dst: os_memset
      Src: /src/hostap/src/nan/nan.c:1679,1
    - Dst: nan_peer_schedule_intersection
      Src: /src/hostap/src/nan/nan.c:1680,1
    - Dst: nan_peer_get_committed_avail
      Src: /src/hostap/src/nan/nan.c:1682,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:1684,1
    - Dst: bitfield_free
      Src: /src/hostap/src/nan/nan.c:1687,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/nan/nan.c:1689,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:1700,1
    - Dst: nan_peer_build_ulw_attrs
      Src: /src/hostap/src/nan/nan.c:1705,1
    - Dst: struct nan_data*::cfg::set_peer_schedule
      Src: /src/hostap/src/nan/nan.c:1707,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/nan/nan.c:1712,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:1714,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 3
    argNames:
    - nan
    - peer
    - local_sched
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - struct nan_schedule*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1720
      start: 1660
    functionDepth: 5
    functionLinenumber: 1660
    functionLinenumberEnd: 1720
    functionName: nan_configure_peer_schedule
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 3
    functionsReached:
    - wpa_printf
    - wpabuf_free
    - nan_peer_build_ulw_attrs
    - nan_peer_get_committed_avail
    - dl_list_for_each
    - MAC2STR
    - bitfield_free
    - nan_peer_schedule_intersection
    - struct nan_data*::cfg::set_peer_schedule
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int nan_configure_peer_schedule(struct nan_data *nan, struct nan_peer
      *peer,\n\t\t\t\tconst struct nan_schedule *local_sched)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:1727,1
    - Dst: struct nan_data*::cfg::set_peer_schedule
      Src: /src/hostap/src/nan/nan.c:1733,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:1737,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - nan
    - peer
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1741
      start: 1723
    functionDepth: 0
    functionLinenumber: 1723
    functionLinenumberEnd: 1741
    functionName: nan_clear_peer_schedule
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - struct nan_data*::cfg::set_peer_schedule
    linkageType: ''
    returnType: int
    signature: int nan_clear_peer_schedule(struct nan_data *nan, struct nan_peer *peer)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nan_parse_attrs
      Src: /src/hostap/src/nan/nan.c:1760,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:1761,1
    - Dst: nan_bootstrap_handle_rx
      Src: /src/hostap/src/nan/nan.c:1767,1
    - Dst: nan_pairing_followup_rx
      Src: /src/hostap/src/nan/nan.c:1772,1
    - Dst: nan_attrs_clear
      Src: /src/hostap/src/nan/nan.c:1778,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 6
    argNames:
    - nan
    - addr
    - buf
    - len
    - req_instance_id
    - handle
    argTypes:
    - struct nan_data*
    - u8*
    - u8*
    - size_t
    - u8
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1780
      start: 1754
    functionDepth: 5
    functionLinenumber: 1754
    functionLinenumberEnd: 1780
    functionName: nan_process_followup
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - nan_bootstrap_handle_rx
    - nan_parse_attrs
    - nan_pairing_followup_rx
    - nan_attrs_clear
    linkageType: ''
    returnType: bool
    signature: "bool nan_process_followup(struct nan_data *nan, const u8 *addr, const
      u8 *buf,\n\t\t\t  size_t len, u8 req_instance_id, int handle)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:1788,1
    - Dst: MAC2STR
      Src: /src/hostap/src/nan/nan.c:1789,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:1797,1
    - Dst: nan_ndp_disconnected
      Src: /src/hostap/src/nan/nan.c:1799,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:1808,1
    - Dst: nan_action_send
      Src: /src/hostap/src/nan/nan.c:1816,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:1817,1
    - Dst: nan_ndp_disconnected
      Src: /src/hostap/src/nan/nan.c:1819,1
    - Dst: nan_set_peer_timeout
      Src: /src/hostap/src/nan/nan.c:1829,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1830
      start: 1783
    functionDepth: 4
    functionLinenumber: 1783
    functionLinenumberEnd: 1830
    functionName: nan_peer_state_timeout
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 0
    functionsReached:
    - nan_set_peer_timeout
    - wpa_printf
    - nan_ndp_disconnected
    - MAC2STR
    - nan_action_send
    linkageType: ''
    returnType: void
    signature: void nan_peer_state_timeout(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:1836,1
    - Dst: MAC2STR
      Src: /src/hostap/src/nan/nan.c:1837,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/nan/nan.c:1839,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/nan/nan.c:1840,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - nan
    - peer
    - sec
    - usec
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1841
      start: 1833
    functionDepth: 1
    functionLinenumber: 1833
    functionLinenumberEnd: 1841
    functionName: nan_set_peer_timeout
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 1
    functionsReached:
    - eloop_cancel_timeout
    - MAC2STR
    - wpa_printf
    - eloop_register_timeout
    linkageType: ''
    returnType: void
    signature: "void nan_set_peer_timeout(struct nan_data *nan, struct nan_peer *peer,\n\t\t\t\t
      unsigned int sec, unsigned int usec)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/nan/nan.c:1848,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan.c:1850,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan.c:1851,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:1875,1
    - Dst: MAC2STR
      Src: /src/hostap/src/nan/nan.c:1878,1
    - Dst: struct nan_data*::cfg::ndp_action_notif
      Src: /src/hostap/src/nan/nan.c:1882,1
    - Dst: nan_set_peer_timeout
      Src: /src/hostap/src/nan/nan.c:1883,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 2
    argNames:
    - nan
    - peer
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1884
      start: 1844
    functionDepth: 2
    functionLinenumber: 1844
    functionLinenumberEnd: 1884
    functionName: nan_ndp_action_notif
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 0
    functionsReached:
    - nan_set_peer_timeout
    - struct nan_data*::cfg::ndp_action_notif
    - os_memcpy
    - wpa_printf
    - MAC2STR
    - os_memset
    linkageType: ''
    returnType: void
    signature: void nan_ndp_action_notif(struct nan_data *nan, struct nan_peer *peer)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/nan/nan.c:1891,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/nan/nan.c:1893,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/nan/nan.c:1896,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - peer
    - peer_ndi
    argTypes:
    - struct nan_peer*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1902
      start: 1887
    functionDepth: 1
    functionLinenumber: 1887
    functionLinenumberEnd: 1902
    functionName: nan_peer_ndi_in_use
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    - ether_addr_equal
    linkageType: ''
    returnType: bool
    signature: bool nan_peer_ndi_in_use(struct nan_peer *peer, const u8 *peer_ndi)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/nan/nan.c:1913,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/nan/nan.c:1917,1
    - Dst: dl_list_del
      Src: /src/hostap/src/nan/nan.c:1920,1
    - Dst: nan_ndp_disconnected
      Src: /src/hostap/src/nan/nan.c:1924,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - nan
    - peer
    - peer_ndi
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1930
      start: 1905
    functionDepth: 1
    functionLinenumber: 1905
    functionLinenumberEnd: 1930
    functionName: nan_terminate_ndps_for_ndi
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 0
    functionsReached:
    - nan_ndp_disconnected
    - ether_addr_equal
    - dl_list_del
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: "void nan_terminate_ndps_for_ndi(struct nan_data *nan,\n\t\t\t\t       struct
      nan_peer *peer,\n\t\t\t\t       const u8 *peer_ndi)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/nan/nan.c:1938,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:1943,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/nan/nan.c:1947,1
    - Dst: dl_list_empty
      Src: /src/hostap/src/nan/nan.c:1951,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:1954,1
    - Dst: MAC2STR
      Src: /src/hostap/src/nan/nan.c:1955,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/nan/nan.c:1958,1
    - Dst: struct nan_data*::cfg::get_peer_inactivity
      Src: /src/hostap/src/nan/nan.c:1971,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:1974,1
    - Dst: MAC2STR
      Src: /src/hostap/src/nan/nan.c:1977,1
    - Dst: MAC2STR
      Src: /src/hostap/src/nan/nan.c:1977,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:1991,1
    - Dst: MAC2STR
      Src: /src/hostap/src/nan/nan.c:1993,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:1996,1
    - Dst: MAC2STR
      Src: /src/hostap/src/nan/nan.c:1998,1
    - Dst: nan_peer_del_all_ndps
      Src: /src/hostap/src/nan/nan.c:1999,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:2013,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/nan/nan.c:2017,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    argCount: 1
    argNames:
    - nan
    argTypes:
    - struct nan_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2019
      start: 1933
    functionDepth: 1
    functionLinenumber: 1933
    functionLinenumberEnd: 2019
    functionName: nan_handle_idle_period
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dl_list_empty
    - eloop_cancel_timeout
    - dl_list_for_each
    - MAC2STR
    - eloop_register_timeout
    - struct nan_data*::cfg::get_peer_inactivity
    - nan_peer_del_all_ndps
    linkageType: ''
    returnType: void
    signature: void nan_handle_idle_period(struct nan_data *nan)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nan_handle_idle_period
      Src: /src/hostap/src/nan/nan.c:2024,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2025
      start: 2022
    functionDepth: 2
    functionLinenumber: 2022
    functionLinenumberEnd: 2025
    functionName: nan_idle_period_timeout
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 0
    functionsReached:
    - nan_handle_idle_period
    linkageType: ''
    returnType: void
    signature: void nan_idle_period_timeout(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/nan/nan.c:2033,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:2035,1
    - Dst: MAC2STR
      Src: /src/hostap/src/nan/nan.c:2036,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan.c:2038,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan.c:2039,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:2046,1
    - Dst: nan_sec_ndp_store_keys
      Src: /src/hostap/src/nan/nan.c:2060,1
    - Dst: dl_list_empty
      Src: /src/hostap/src/nan/nan.c:2063,1
    - Dst: nan_peer_ndi_in_use
      Src: /src/hostap/src/nan/nan.c:2074,1
    - Dst: struct nan_data*::cfg::ndp_connected
      Src: /src/hostap/src/nan/nan.c:2076,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:2078,1
    - Dst: nan_terminate_ndps_for_ndi
      Src: /src/hostap/src/nan/nan.c:2082,1
    - Dst: dl_list_add
      Src: /src/hostap/src/nan/nan.c:2090,1
    - Dst: nan_ndp_setup_stop
      Src: /src/hostap/src/nan/nan.c:2093,1
    - Dst: nan_handle_idle_period
      Src: /src/hostap/src/nan/nan.c:2094,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 43
    argCount: 2
    argNames:
    - nan
    - peer
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2097
      start: 2028
    functionDepth: 4
    functionLinenumber: 2028
    functionLinenumberEnd: 2097
    functionName: nan_ndp_connected
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 1
    functionsReached:
    - nan_peer_ndi_in_use
    - wpa_printf
    - os_memcpy
    - dl_list_empty
    - nan_ndp_setup_stop
    - nan_handle_idle_period
    - nan_sec_ndp_store_keys
    - MAC2STR
    - dl_list_add
    - struct nan_data*::cfg::ndp_connected
    - nan_terminate_ndps_for_ndi
    - os_memset
    linkageType: ''
    returnType: int
    signature: int nan_ndp_connected(struct nan_data *nan, struct nan_peer *peer)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/nan/nan.c:2108,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:2110,1
    - Dst: MAC2STR
      Src: /src/hostap/src/nan/nan.c:2112,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan.c:2114,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan.c:2115,1
    - Dst: nan_peer_ndi_in_use
      Src: /src/hostap/src/nan/nan.c:2131,1
    - Dst: nan_peer_del_sec_entry
      Src: /src/hostap/src/nan/nan.c:2135,1
    - Dst: struct nan_data*::cfg::ndp_disconnected
      Src: /src/hostap/src/nan/nan.c:2144,1
    - Dst: nan_ndp_setup_stop
      Src: /src/hostap/src/nan/nan.c:2149,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 4
    argNames:
    - nan
    - peer
    - reason
    - locally_generated
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - enum nan_reason
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2150
      start: 2100
    functionDepth: 4
    functionLinenumber: 2100
    functionLinenumberEnd: 2150
    functionName: nan_ndp_disconnected
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 4
    functionsReached:
    - nan_peer_ndi_in_use
    - wpa_printf
    - os_memcpy
    - nan_peer_del_sec_entry
    - nan_ndp_setup_stop
    - MAC2STR
    - struct nan_data*::cfg::ndp_disconnected
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void nan_ndp_disconnected(struct nan_data *nan, struct nan_peer *peer,\n\t\t\t\t
      enum nan_reason reason,\n\t\t\t\t bool locally_generated)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: nan_ndp_handle_ndp_attr
      Src: /src/hostap/src/nan/nan.c:2166,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:2179,1
    - Dst: nan_ndl_handle_ndl_attr
      Src: /src/hostap/src/nan/nan.c:2181,1
    - Dst: nan_ndp_setup_stop
      Src: /src/hostap/src/nan/nan.c:2183,1
    - Dst: nan_ndp_setup_failure
      Src: /src/hostap/src/nan/nan.c:2188,1
    - Dst: nan_action_send
      Src: /src/hostap/src/nan/nan.c:2192,1
    - Dst: nan_ndp_setup_stop
      Src: /src/hostap/src/nan/nan.c:2193,1
    - Dst: nan_ndp_action_notif
      Src: /src/hostap/src/nan/nan.c:2195,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:2205,1
    - Dst: nan_ndp_disconnected
      Src: /src/hostap/src/nan/nan.c:2207,1
    - Dst: nan_ndl_handle_ndl_attr
      Src: /src/hostap/src/nan/nan.c:2215,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:2225,1
    - Dst: nan_ndp_setup_failure
      Src: /src/hostap/src/nan/nan.c:2231,1
    - Dst: nan_action_send
      Src: /src/hostap/src/nan/nan.c:2232,1
    - Dst: nan_ndp_disconnected
      Src: /src/hostap/src/nan/nan.c:2235,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:2240,1
    - Dst: nan_ndp_action_notif
      Src: /src/hostap/src/nan/nan.c:2241,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:2248,1
    - Dst: nan_configure_peer_schedule
      Src: /src/hostap/src/nan/nan.c:2249,1
    - Dst: nan_ndp_connected
      Src: /src/hostap/src/nan/nan.c:2250,1
    - Dst: nan_ndp_disconnected
      Src: /src/hostap/src/nan/nan.c:2251,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:2257,1
    - Dst: nan_action_send
      Src: /src/hostap/src/nan/nan.c:2258,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:2260,1
    - Dst: nan_ndp_disconnected
      Src: /src/hostap/src/nan/nan.c:2262,1
    - Dst: nan_set_peer_timeout
      Src: /src/hostap/src/nan/nan.c:2266,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 62
    argCount: 4
    argNames:
    - nan
    - peer
    - msg
    - resp_oui
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - struct nan_msg*
    - enum nan_subtype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2269
      start: 2161
    functionDepth: 6
    functionLinenumber: 2161
    functionLinenumberEnd: 2269
    functionName: nan_action_rx_ndp
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 0
    functionsReached:
    - nan_set_peer_timeout
    - wpa_printf
    - nan_ndp_connected
    - nan_ndp_setup_stop
    - nan_ndp_disconnected
    - nan_ndl_handle_ndl_attr
    - nan_configure_peer_schedule
    - nan_action_send
    - nan_ndp_setup_failure
    - nan_ndp_action_notif
    - nan_ndp_handle_ndp_attr
    linkageType: ''
    returnType: int
    signature: "int nan_action_rx_ndp(struct nan_data *nan, struct nan_peer *peer,\n\t\t\t
      \    struct nan_msg *msg, enum nan_subtype resp_oui)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nan_get_peer
      Src: /src/hostap/src/nan/nan.c:2292,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/nan/nan.c:2301,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/nan/nan.c:2308,1
    - Dst: os_memcmp
      Src: /src/hostap/src/nan/nan.c:2316,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:2319,1
    - Dst: MAC2STR
      Src: /src/hostap/src/nan/nan.c:2321,1
    - Dst: MAC2STR
      Src: /src/hostap/src/nan/nan.c:2321,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan.c:2323,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:2327,1
    - Dst: MAC2STR
      Src: /src/hostap/src/nan/nan.c:2329,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - nan
    - mgmt
    - len
    argTypes:
    - struct nan_data*
    - struct ieee80211_mgmt*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2330
      start: 2285
    functionDepth: 2
    functionLinenumber: 2285
    functionLinenumberEnd: 2330
    functionName: nan_action_substitute_src
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - nan_get_peer
    - dl_list_for_each
    - MAC2STR
    - os_memcmp
    linkageType: ''
    returnType: void
    signature: "void nan_action_substitute_src(struct nan_data *nan,\n\t\t\t\t      const
      struct ieee80211_mgmt *mgmt,\n\t\t\t\t      size_t len)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: nan_ndp_supported
      Src: /src/hostap/src/nan/nan.c:2348,1
    - Dst: nan_action_substitute_src
      Src: /src/hostap/src/nan/nan.c:2351,1
    - Dst: nan_parse_naf
      Src: /src/hostap/src/nan/nan.c:2355,1
    - Dst: nan_add_peer
      Src: /src/hostap/src/nan/nan.c:2359,1
    - Dst: IEEE80211_MIN_ACTION_LEN
      Src: /src/hostap/src/nan/nan.c:2360,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:2362,1
    - Dst: nan_get_peer
      Src: /src/hostap/src/nan/nan.c:2364,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:2366,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:2371,1
    - Dst: nan_action_rx_ndp
      Src: /src/hostap/src/nan/nan.c:2401,1
    - Dst: nan_attrs_clear
      Src: /src/hostap/src/nan/nan.c:2403,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 51
    argCount: 3
    argNames:
    - nan
    - mgmt
    - len
    argTypes:
    - struct nan_data*
    - struct ieee80211_mgmt*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2405
      start: 2340
    functionDepth: 9
    functionLinenumber: 2340
    functionLinenumberEnd: 2405
    functionName: nan_action_rx
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 2
    functionsReached:
    - nan_add_peer
    - wpa_printf
    - nan_action_rx_ndp
    - nan_attrs_clear
    - nan_ndp_supported
    - nan_get_peer
    - nan_action_substitute_src
    - IEEE80211_MIN_ACTION_LEN
    - nan_parse_naf
    linkageType: ''
    returnType: int
    signature: "int nan_action_rx(struct nan_data *nan, const struct ieee80211_mgmt
      *mgmt,\n\t\t  size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:2420,1
    - Dst: struct nan_data*::cfg::is_valid_publish_id
      Src: /src/hostap/src/nan/nan.c:2425,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - nan
    - instance_id
    - service_id
    argTypes:
    - struct nan_data*
    - u8
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2427
      start: 2416
    functionDepth: 0
    functionLinenumber: 2416
    functionLinenumberEnd: 2427
    functionName: nan_publish_instance_id_valid
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - struct nan_data*::cfg::is_valid_publish_id
    linkageType: ''
    returnType: bool
    signature: "bool nan_publish_instance_id_valid(struct nan_data *nan, u8 instance_id,\n\t\t\t\t
      \  u8 *service_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan.c:2437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - nan
    - cluster_id
    argTypes:
    - struct nan_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2438
      start: 2435
    functionDepth: 0
    functionLinenumber: 2435
    functionLinenumberEnd: 2438
    functionName: nan_set_cluster_id
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    linkageType: ''
    returnType: void
    signature: void nan_set_cluster_id(struct nan_data *nan, const u8 *cluster_id)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nan_get_peer
      Src: /src/hostap/src/nan/nan.c:2453,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/nan/nan.c:2461,1
    - Dst: os_memcmp
      Src: /src/hostap/src/nan/nan.c:2482,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/nan/nan.c:2486,1
    - Dst: os_memcmp
      Src: /src/hostap/src/nan/nan.c:2492,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 2
    argNames:
    - nan
    - dst
    argTypes:
    - struct nan_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2500
      start: 2448
    functionDepth: 2
    functionLinenumber: 2448
    functionLinenumberEnd: 2500
    functionName: nan_tx_status_get_peer
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    - os_memcmp
    - nan_get_peer
    linkageType: ''
    returnType: struct nan_peer
    signature: "struct nan_peer *nan_tx_status_get_peer(struct nan_data *nan,\n\t\t\t\t\t
      \      const u8 *dst)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nan_is_naf
      Src: /src/hostap/src/nan/nan.c:2520,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:2523,1
    - Dst: MAC2STR
      Src: /src/hostap/src/nan/nan.c:2524,1
    - Dst: nan_tx_status_get_peer
      Src: /src/hostap/src/nan/nan.c:2526,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:2528,1
    - Dst: nan_ndp_naf_sent
      Src: /src/hostap/src/nan/nan.c:2534,1
    - Dst: nan_ndl_naf_sent
      Src: /src/hostap/src/nan/nan.c:2535,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:2539,1
    - Dst: nan_ndp_disconnected
      Src: /src/hostap/src/nan/nan.c:2544,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:2552,1
    - Dst: nan_configure_peer_schedule
      Src: /src/hostap/src/nan/nan.c:2554,1
    - Dst: nan_ndp_connected
      Src: /src/hostap/src/nan/nan.c:2555,1
    - Dst: nan_ndp_disconnected
      Src: /src/hostap/src/nan/nan.c:2556,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 5
    argNames:
    - nan
    - dst
    - data
    - data_len
    - acked
    argTypes:
    - struct nan_data*
    - u8*
    - u8*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2562
      start: 2512
    functionDepth: 6
    functionLinenumber: 2512
    functionLinenumberEnd: 2562
    functionName: nan_tx_status
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 3
    functionsReached:
    - nan_is_naf
    - wpa_printf
    - nan_ndl_naf_sent
    - nan_tx_status_get_peer
    - nan_ndp_connected
    - nan_ndp_disconnected
    - MAC2STR
    - nan_ndp_naf_sent
    - nan_configure_peer_schedule
    linkageType: ''
    returnType: int
    signature: "int nan_tx_status(struct nan_data *nan, const u8 *dst, const u8 *data,\n\t\t
      \ size_t data_len, bool acked)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: nan_ndp_supported
      Src: /src/hostap/src/nan/nan.c:2572,1
    - Dst: nan_get_peer
      Src: /src/hostap/src/nan/nan.c:2575,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:2577,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:2588,1
    - Dst: NAN_CS_IS_PASN
      Src: /src/hostap/src/nan/nan.c:2591,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:2592,1
    - Dst: nan_get_next_ndp_id
      Src: /src/hostap/src/nan/nan.c:2600,1
    - Dst: nan_ndp_setup_req
      Src: /src/hostap/src/nan/nan.c:2601,1
    - Dst: nan_ndl_setup
      Src: /src/hostap/src/nan/nan.c:2605,1
    - Dst: nan_ndp_setup_stop
      Src: /src/hostap/src/nan/nan.c:2608,1
    - Dst: nan_configure_peer_schedule
      Src: /src/hostap/src/nan/nan.c:2614,1
    - Dst: nan_ndp_setup_stop
      Src: /src/hostap/src/nan/nan.c:2616,1
    - Dst: nan_ndp_setup_resp
      Src: /src/hostap/src/nan/nan.c:2626,1
    - Dst: nan_ndp_setup_stop
      Src: /src/hostap/src/nan/nan.c:2628,1
    - Dst: nan_ndl_setup
      Src: /src/hostap/src/nan/nan.c:2633,1
    - Dst: nan_configure_peer_schedule
      Src: /src/hostap/src/nan/nan.c:2636,1
    - Dst: nan_ndp_setup_failure
      Src: /src/hostap/src/nan/nan.c:2644,1
    - Dst: nan_ndp_setup_stop
      Src: /src/hostap/src/nan/nan.c:2648,1
    - Dst: dl_list_empty
      Src: /src/hostap/src/nan/nan.c:2652,1
    - Dst: nan_ndl_setup
      Src: /src/hostap/src/nan/nan.c:2668,1
    - Dst: nan_configure_peer_schedule
      Src: /src/hostap/src/nan/nan.c:2671,1
    - Dst: nan_ndp_setup_failure
      Src: /src/hostap/src/nan/nan.c:2679,1
    - Dst: nan_ndp_setup_stop
      Src: /src/hostap/src/nan/nan.c:2683,1
    - Dst: nan_ndp_term_req
      Src: /src/hostap/src/nan/nan.c:2695,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:2700,1
    - Dst: nan_action_send
      Src: /src/hostap/src/nan/nan.c:2705,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:2707,1
    - Dst: nan_ndp_disconnected
      Src: /src/hostap/src/nan/nan.c:2709,1
    - Dst: nan_set_peer_timeout
      Src: /src/hostap/src/nan/nan.c:2713,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 100
    argCount: 2
    argNames:
    - nan
    - params
    argTypes:
    - struct nan_data*
    - struct nan_ndp_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2715
      start: 2565
    functionDepth: 6
    functionLinenumber: 2565
    functionLinenumberEnd: 2715
    functionName: nan_handle_ndp_setup
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 4
    functionsReached:
    - NAN_CS_IS_PASN
    - nan_set_peer_timeout
    - wpa_printf
    - nan_ndl_setup
    - dl_list_empty
    - nan_ndp_setup_stop
    - nan_get_next_ndp_id
    - nan_ndp_supported
    - nan_get_peer
    - nan_ndp_disconnected
    - nan_configure_peer_schedule
    - nan_action_send
    - nan_ndp_setup_failure
    - nan_ndp_setup_resp
    - nan_ndp_setup_req
    - nan_ndp_term_req
    linkageType: ''
    returnType: int
    signature: int nan_handle_ndp_setup(struct nan_data *nan, struct nan_ndp_params
      *params)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nan_peer_ndi_in_use
      Src: /src/hostap/src/nan/nan.c:2727,1
    - Dst: nan_peer_del_sec_entry
      Src: /src/hostap/src/nan/nan.c:2731,1
    - Dst: struct nan_data*::cfg::ndp_disconnected
      Src: /src/hostap/src/nan/nan.c:2734,1
    - Dst: dl_list_empty
      Src: /src/hostap/src/nan/nan.c:2739,1
    - Dst: nan_ndl_reset
      Src: /src/hostap/src/nan/nan.c:2740,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 7
    argNames:
    - nan
    - peer
    - ndp_id
    - local_ndi
    - peer_ndi
    - reason
    - gtk_id
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - struct nan_ndp_id*
    - u8*
    - u8*
    - enum nan_reason
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2741
      start: 2718
    functionDepth: 2
    functionLinenumber: 2718
    functionLinenumberEnd: 2741
    functionName: nan_ndp_terminated
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 2
    functionsReached:
    - nan_peer_ndi_in_use
    - dl_list_empty
    - nan_peer_del_sec_entry
    - nan_ndl_reset
    - struct nan_data*::cfg::ndp_disconnected
    linkageType: ''
    returnType: void
    signature: "void nan_ndp_terminated(struct nan_data *nan, struct nan_peer *peer,\n\t\t\tstruct
      nan_ndp_id *ndp_id, const u8 *local_ndi,\n\t\t\tconst u8 *peer_ndi, enum nan_reason
      reason, u8 gtk_id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nan_get_peer
      Src: /src/hostap/src/nan/nan.c:2751,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/nan/nan.c:2755,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - nan
    - addr
    - map_id
    argTypes:
    - struct nan_data*
    - u8*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2762
      start: 2744
    functionDepth: 2
    functionLinenumber: 2744
    functionLinenumberEnd: 2762
    functionName: nan_peer_get_device_capabilities
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 1
    functionsReached:
    - dl_list_for_each
    - nan_get_peer
    linkageType: ''
    returnType: struct nan_device_capabilities
    signature: "struct nan_device_capabilities *\nnan_peer_get_device_capabilities(struct
      nan_data *nan, const u8 *addr,\n\t\t\t\t u8 map_id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nan_get_peer
      Src: /src/hostap/src/nan/nan.c:2774,1
    - Dst: nan_sec_get_tk
      Src: /src/hostap/src/nan/nan.c:2778,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 7
    argNames:
    - nan
    - addr
    - peer_ndi
    - local_ndi
    - tk
    - tk_len
    - csid
    argTypes:
    - struct nan_data*
    - u8*
    - u8*
    - u8*
    - u8*
    - size_t*
    - enum nan_cipher_suite_id*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2779
      start: 2765
    functionDepth: 2
    functionLinenumber: 2765
    functionLinenumberEnd: 2779
    functionName: nan_peer_get_tk
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 2
    functionsReached:
    - nan_sec_get_tk
    - nan_get_peer
    linkageType: ''
    returnType: int
    signature: "int nan_peer_get_tk(struct nan_data *nan, const u8 *addr,\n\t\t    const
      u8 *peer_ndi, const u8 *local_ndi,\n\t\t    u8 *tk, size_t *tk_len, enum nan_cipher_suite_id
      *csid)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nan_get_peer
      Src: /src/hostap/src/nan/nan.c:2792,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - nan
    - addr
    - nonce
    - tag
    argTypes:
    - struct nan_data*
    - u8*
    - u8**
    - u8**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2806
      start: 2782
    functionDepth: 2
    functionLinenumber: 2782
    functionLinenumberEnd: 2806
    functionName: nan_peer_get_pairing_cfg
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 1
    functionsReached:
    - nan_get_peer
    linkageType: ''
    returnType: struct nan_pairing_cfg
    signature: "struct nan_pairing_cfg * nan_peer_get_pairing_cfg(struct nan_data
      *nan,\n\t\t\t\t\t\t\tconst u8 *addr,\n\t\t\t\t\t\t\tconst u8 **nonce,\n\t\t\t\t\t\t\tconst
      u8 **tag)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - nan
    - peer_ctrl_freq
    - local_sched
    argTypes:
    - struct nan_data*
    - int
    - struct nan_schedule*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2823
      start: 2809
    functionDepth: 0
    functionLinenumber: 2809
    functionLinenumberEnd: 2823
    functionName: nan_peer_channel_in_local_sched
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool nan_peer_channel_in_local_sched(const struct nan_data *nan,\n\t\t\t\tint
      peer_ctrl_freq,\n\t\t\t\tconst struct nan_schedule *local_sched)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:2853,1
    - Dst: get_oper_class
      Src: /src/hostap/src/nan/nan.c:2863,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:2865,1
    - Dst: ffs
      Src: /src/hostap/src/nan/nan.c:2870,1
    - Dst: le_to_host16
      Src: /src/hostap/src/nan/nan.c:2870,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:2872,1
    - Dst: le_to_host16
      Src: /src/hostap/src/nan/nan.c:2874,1
    - Dst: op_class_idx_to_chan
      Src: /src/hostap/src/nan/nan.c:2879,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:2881,1
    - Dst: ieee80211_chan_to_freq
      Src: /src/hostap/src/nan/nan.c:2887,1
    - Dst: oper_class_bw_to_int
      Src: /src/hostap/src/nan/nan.c:2888,1
    - Dst: ieee80211_get_center_freq
      Src: /src/hostap/src/nan/nan.c:2892,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:2894,1
    - Dst: ffs
      Src: /src/hostap/src/nan/nan.c:2898,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:2900,1
    - Dst: le_to_host16
      Src: /src/hostap/src/nan/nan.c:2902,1
    - Dst: nan_peer_channel_in_local_sched
      Src: /src/hostap/src/nan/nan.c:2917,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:2934,1
    - Dst: os_memset
      Src: /src/hostap/src/nan/nan.c:2943,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:2960,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan.c:2975,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 82
    argCount: 5
    argNames:
    - nan
    - peer
    - avail
    - local_sched
    - sched
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - struct nan_avail_entry*
    - struct nan_schedule*
    - struct nan_peer_schedule*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2976
      start: 2826
    functionDepth: 1
    functionLinenumber: 2826
    functionLinenumberEnd: 2976
    functionName: nan_peer_get_committed_avail_add
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - nan_peer_channel_in_local_sched
    - os_memcpy
    - ffs
    - ieee80211_chan_to_freq
    - get_oper_class
    - op_class_idx_to_chan
    - le_to_host16
    - ieee80211_get_center_freq
    - oper_class_bw_to_int
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void nan_peer_get_committed_avail_add(const struct nan_data *nan,\n\t\t\t\t
      const struct nan_peer *peer,\n\t\t\t\t const struct nan_avail_entry *avail,\n\t\t\t\t
      const struct nan_schedule *local_sched,\n\t\t\t\t struct nan_peer_schedule *sched)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/nan/nan.c:2987,1
    - Dst: nan_peer_get_committed_avail_add
      Src: /src/hostap/src/nan/nan.c:2989,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - nan
    - peer
    - local_sched
    - sched
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - struct nan_schedule*
    - struct nan_peer_schedule*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2991
      start: 2979
    functionDepth: 2
    functionLinenumber: 2979
    functionLinenumberEnd: 2991
    functionName: nan_peer_get_committed_avail
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 1
    functionsReached:
    - dl_list_for_each
    - nan_peer_get_committed_avail_add
    linkageType: ''
    returnType: void
    signature: "void nan_peer_get_committed_avail(const struct nan_data *nan,\n\t\t\t
      \    const struct nan_peer *peer,\n\t\t\t     const struct nan_schedule *local_sched,\n\t\t\t
      \    struct nan_peer_schedule *sched)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:3010,1
    - Dst: nan_sched_entries_to_avail_entries
      Src: /src/hostap/src/nan/nan.c:3016,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:3019,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/nan/nan.c:3028,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:3040,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan.c:3047,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan.c:3049,1
    - Dst: nan_flush_avail_entries
      Src: /src/hostap/src/nan/nan.c:3052,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 6
    argNames:
    - nan
    - peer
    - sched
    - sched_buf
    - sched_buf_len
    - ndc
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - struct nan_peer_schedule*
    - u8*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3053
      start: 2994
    functionDepth: 3
    functionLinenumber: 2994
    functionLinenumberEnd: 3053
    functionName: nan_peer_set_sched
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - nan_flush_avail_entries
    - dl_list_for_each
    - nan_sched_entries_to_avail_entries
    linkageType: ''
    returnType: void
    signature: "void nan_peer_set_sched(struct nan_data *nan, struct nan_peer *peer,\n\t\t\t
      \      struct nan_peer_schedule *sched,\n\t\t\t       const u8 *sched_buf, size_t
      sched_buf_len,\n\t\t\t       bool ndc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nan_peer_set_sched
      Src: /src/hostap/src/nan/nan.c:3063,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - nan
    - peer
    - sched
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - struct nan_peer_schedule*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3066
      start: 3056
    functionDepth: 4
    functionLinenumber: 3056
    functionLinenumberEnd: 3066
    functionName: nan_peer_get_ndc_sched
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 0
    functionsReached:
    - nan_peer_set_sched
    linkageType: ''
    returnType: void
    signature: "void nan_peer_get_ndc_sched(struct nan_data *nan,\n\t\t\t\t   struct
      nan_peer *peer,\n\t\t\t\t   struct nan_peer_schedule *sched)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nan_peer_set_sched
      Src: /src/hostap/src/nan/nan.c:3076,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - nan
    - peer
    - sched
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - struct nan_peer_schedule*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3079
      start: 3069
    functionDepth: 4
    functionLinenumber: 3069
    functionLinenumberEnd: 3079
    functionName: nan_peer_get_immut_sched
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 0
    functionsReached:
    - nan_peer_set_sched
    linkageType: ''
    returnType: void
    signature: "void nan_peer_get_immut_sched(struct nan_data *nan,\n\t\t\t\t     struct
      nan_peer *peer,\n\t\t\t\t     struct nan_peer_schedule *sched)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/nan/nan.c:3098,1
    - Dst: nan_get_peer
      Src: /src/hostap/src/nan/nan.c:3100,1
    - Dst: nan_peer_get_committed_avail
      Src: /src/hostap/src/nan/nan.c:3104,1
    - Dst: nan_peer_get_ndc_sched
      Src: /src/hostap/src/nan/nan.c:3105,1
    - Dst: nan_peer_get_immut_sched
      Src: /src/hostap/src/nan/nan.c:3106,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - nan
    - addr
    - sched
    argTypes:
    - struct nan_data*
    - u8*
    - struct nan_peer_schedule*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3112
      start: 3090
    functionDepth: 5
    functionLinenumber: 3090
    functionLinenumberEnd: 3112
    functionName: nan_peer_get_schedule_info
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 3
    functionsReached:
    - nan_peer_get_ndc_sched
    - nan_peer_get_immut_sched
    - nan_get_peer
    - nan_peer_get_committed_avail
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int nan_peer_get_schedule_info(struct nan_data *nan, const u8 *addr,\n\t\t\t
      \      struct nan_peer_schedule *sched)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/nan/nan.c:3132,1
    - Dst: nan_get_peer
      Src: /src/hostap/src/nan/nan.c:3134,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/nan/nan.c:3138,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:3146,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:3161,1
    - Dst: le_to_host16
      Src: /src/hostap/src/nan/nan.c:3177,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 3
    argNames:
    - nan
    - addr
    - pot_avail
    argTypes:
    - struct nan_data*
    - u8*
    - struct nan_peer_potential_avail*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3183
      start: 3122
    functionDepth: 2
    functionLinenumber: 3122
    functionLinenumberEnd: 3183
    functionName: nan_peer_get_pot_avail
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - nan_get_peer
    - dl_list_for_each
    - le_to_host16
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int nan_peer_get_pot_avail(struct nan_data *nan, const u8 *addr,\n\t\t\t
      \  struct nan_peer_potential_avail *pot_avail)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nan_add_avail_attrs
      Src: /src/hostap/src/nan/nan.c:3211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - nan
    - sequence_id
    - map_ids_bitmap
    - n_chans
    - chans
    - buf
    - include_potential
    argTypes:
    - struct nan_data*
    - u8
    - u32
    - size_t
    - struct nan_chan_schedule*
    - struct wpabuf*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3214
      start: 3204
    functionDepth: 5
    functionLinenumber: 3204
    functionLinenumberEnd: 3214
    functionName: nan_convert_sched_to_avail_attrs
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 2
    functionsReached:
    - nan_add_avail_attrs
    linkageType: ''
    returnType: int
    signature: "int nan_convert_sched_to_avail_attrs(struct nan_data *nan, u8 sequence_id,\n\t\t\t\t
      \    u32 map_ids_bitmap,\n\t\t\t\t     size_t n_chans,\n\t\t\t\t     struct
      nan_chan_schedule *chans,\n\t\t\t\t     struct wpabuf *buf,\n\t\t\t\t     bool
      include_potential)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nan_get_peer
      Src: /src/hostap/src/nan/nan.c:3221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - nan
    - addr
    argTypes:
    - struct nan_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3226
      start: 3217
    functionDepth: 2
    functionLinenumber: 3217
    functionLinenumberEnd: 3226
    functionName: nan_peer_pairing_supported
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 0
    functionsReached:
    - nan_get_peer
    linkageType: ''
    returnType: bool
    signature: bool nan_peer_pairing_supported(struct nan_data *nan, const u8 *addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nan_get_peer
      Src: /src/hostap/src/nan/nan.c:3233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - nan
    - addr
    argTypes:
    - struct nan_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3238
      start: 3229
    functionDepth: 2
    functionLinenumber: 3229
    functionLinenumberEnd: 3238
    functionName: nan_peer_npk_nik_caching_supported
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 0
    functionsReached:
    - nan_get_peer
    linkageType: ''
    returnType: bool
    signature: bool nan_peer_npk_nik_caching_supported(struct nan_data *nan, const
      u8 *addr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nan_get_peer
      Src: /src/hostap/src/nan/nan.c:3260,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:3264,1
    - Dst: MAC2STR
      Src: /src/hostap/src/nan/nan.c:3265,1
    - Dst: nan_ndp_setup_stop
      Src: /src/hostap/src/nan/nan.c:3268,1
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/nan/nan.c:3270,1
    - Dst: dl_list_del
      Src: /src/hostap/src/nan/nan.c:3271,1
    - Dst: nan_ndp_disconnected
      Src: /src/hostap/src/nan/nan.c:3273,1
    - Dst: nan_ndl_reset
      Src: /src/hostap/src/nan/nan.c:3277,1
    - Dst: nan_peer_flush_sec
      Src: /src/hostap/src/nan/nan.c:3278,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - nan
    - addr
    argTypes:
    - struct nan_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3281
      start: 3252
    functionDepth: 5
    functionLinenumber: 3252
    functionLinenumberEnd: 3281
    functionName: nan_peer_del_all_ndps
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - dl_list_del
    - nan_ndp_setup_stop
    - nan_get_peer
    - nan_ndl_reset
    - nan_peer_flush_sec
    - nan_ndp_disconnected
    - MAC2STR
    - dl_list_for_each_safe
    linkageType: ''
    returnType: int
    signature: int nan_peer_del_all_ndps(struct nan_data *nan, const u8 *addr)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nan_get_peer
      Src: /src/hostap/src/nan/nan.c:3303,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/nan/nan.c:3317,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/nan/nan.c:3337,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - nan
    - addr
    - elems
    argTypes:
    - struct nan_data*
    - u8*
    - u8**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3346
      start: 3296
    functionDepth: 2
    functionLinenumber: 3296
    functionLinenumberEnd: 3346
    functionName: nan_get_peer_elems
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 1
    functionsReached:
    - dl_list_for_each
    - nan_get_peer
    linkageType: ''
    returnType: int
    signature: int nan_get_peer_elems(struct nan_data *nan, const u8 *addr, u8 **elems)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - nan
    - supported_bootstrap_methods
    - auto_accept_bootstrap_methods
    - bootstrap_comeback_timeout
    argTypes:
    - struct nan_data*
    - u16
    - u16
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3371
      start: 3357
    functionDepth: 0
    functionLinenumber: 3357
    functionLinenumberEnd: 3371
    functionName: nan_set_bootstrap_configuration
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int nan_set_bootstrap_configuration(struct nan_data *nan,\n\t\t\t\t
      \   u16 supported_bootstrap_methods,\n\t\t\t\t    u16 auto_accept_bootstrap_methods,\n\t\t\t\t
      \   u16 bootstrap_comeback_timeout)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/nan/nan.c:3387,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - nan
    - peer
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3397
      start: 3380
    functionDepth: 0
    functionLinenumber: 3380
    functionLinenumberEnd: 3397
    functionName: nan_is_ndpe_supported
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 2
    functionsReached:
    - dl_list_for_each
    linkageType: ''
    returnType: bool
    signature: bool nan_is_ndpe_supported(struct nan_data *nan, const struct nan_peer
      *peer)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:3416,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:3423,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - nan
    - cipher
    argTypes:
    - struct nan_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3436
      start: 3410
    functionDepth: 0
    functionLinenumber: 3410
    functionLinenumberEnd: 3436
    functionName: nan_set_mgmt_group_cipher
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int nan_set_mgmt_group_cipher(struct nan_data *nan, int cipher)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:3457,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:3465,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - nan
    - enable
    argTypes:
    - struct nan_data*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3480
      start: 3449
    functionDepth: 0
    functionLinenumber: 3449
    functionLinenumberEnd: 3480
    functionName: nan_set_beacon_prot
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int nan_set_beacon_prot(struct nan_data *nan, bool enable)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:3495,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:3500,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/nan/nan.c:3515,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/nan/nan.c:3517,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - nan
    - max_idle_period
    argTypes:
    - struct nan_data*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3520
      start: 3489
    functionDepth: 0
    functionLinenumber: 3489
    functionLinenumberEnd: 3520
    functionName: nan_set_max_ndl_idle_period
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 1
    functionsReached:
    - eloop_cancel_timeout
    - wpa_printf
    - eloop_register_timeout
    linkageType: ''
    returnType: int
    signature: int nan_set_max_ndl_idle_period(struct nan_data *nan, u16 max_idle_period)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/nan/nan.c:3530,1
    - Dst: dl_list_empty
      Src: /src/hostap/src/nan/nan.c:3531,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - nan
    argTypes:
    - struct nan_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3536
      start: 3523
    functionDepth: 1
    functionLinenumber: 3523
    functionLinenumberEnd: 3536
    functionName: nan_has_active_ndp
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 1
    functionsReached:
    - dl_list_for_each
    - dl_list_empty
    linkageType: ''
    returnType: bool
    signature: bool nan_has_active_ndp(struct nan_data *nan)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:3544,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - nan
    - pending
    argTypes:
    - struct nan_data*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3546
      start: 3539
    functionDepth: 0
    functionLinenumber: 3539
    functionLinenumberEnd: 3546
    functionName: nan_set_sched_update_pending
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void nan_set_sched_update_pending(struct nan_data *nan, bool pending)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/src/nan/nan.c:3556,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan.c:3557,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/nan/nan.c:3559,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:3560,1
    - Dst: MAC2STR
      Src: /src/hostap/src/nan/nan.c:3561,1
    - Dst: nan_peer_update_schedule
      Src: /src/hostap/src/nan/nan.c:3564,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - nan
    - sched
    argTypes:
    - struct nan_data*
    - struct nan_schedule*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3566
      start: 3549
    functionDepth: 6
    functionLinenumber: 3549
    functionLinenumberEnd: 3566
    functionName: nan_local_sched_update
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    - wpa_printf
    - nan_peer_update_schedule
    - wpabuf_free
    - dl_list_for_each
    - MAC2STR
    linkageType: ''
    returnType: void
    signature: void nan_local_sched_update(struct nan_data *nan, struct nan_schedule
      *sched)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/src/nan/nan.c:3581,1
    - Dst: MAC2STR
      Src: /src/hostap/src/nan/nan.c:3585,1
    - Dst: MAC2STR
      Src: /src/hostap/src/nan/nan.c:3586,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/nan/nan.c:3587,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/nan/nan.c:3591,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/nan/nan.c:3595,1
    - Dst: os_snprintf
      Src: /src/hostap/src/nan/nan.c:3598,1
    - Dst: MAC2STR
      Src: /src/hostap/src/nan/nan.c:3600,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/nan/nan.c:3604,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - nan
    - buf
    - buflen
    argTypes:
    - struct nan_data*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3610
      start: 3569
    functionDepth: 1
    functionLinenumber: 3569
    functionLinenumberEnd: 3610
    functionName: nan_get_status
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 1
    functionsReached:
    - os_snprintf
    - MAC2STR
    - dl_list_for_each
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: int nan_get_status(struct nan_data *nan, char *buf, size_t buflen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nan_get_peer
      Src: /src/hostap/src/nan/nan.c:3623,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan.c:3625,1
    - Dst: MAC2STR
      Src: /src/hostap/src/nan/nan.c:3626,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/nan/nan.c:3633,1
    - Dst: os_snprintf
      Src: /src/hostap/src/nan/nan.c:3636,1
    - Dst: MAC2STR
      Src: /src/hostap/src/nan/nan.c:3641,1
    - Dst: MAC2STR
      Src: /src/hostap/src/nan/nan.c:3642,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/nan/nan.c:3644,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - nan
    - addr
    - buf
    - buflen
    argTypes:
    - struct nan_data*
    - u8*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3650
      start: 3613
    functionDepth: 2
    functionLinenumber: 3613
    functionLinenumberEnd: 3650
    functionName: nan_peer_dump_ndps_to_buf
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - nan_get_peer
    - dl_list_for_each
    - MAC2STR
    - os_snprintf
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int nan_peer_dump_ndps_to_buf(struct nan_data *nan, const u8 *addr,\n\t\t\t
      \     char *buf, size_t buflen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/nan/nan.c:3668,1
    - Dst: nan_ndp_setup_stop
      Src: /src/hostap/src/nan/nan.c:3674,1
    - Dst: nan_terminate_ndps_for_ndi
      Src: /src/hostap/src/nan/nan.c:3675,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - nan
    - ndi_addr
    argTypes:
    - struct nan_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3677
      start: 3661
    functionDepth: 4
    functionLinenumber: 3661
    functionLinenumberEnd: 3677
    functionName: nan_terminate_ndi_ndps
    functionSourceFile: /src/hostap/src/nan/nan.c
    functionUses: 1
    functionsReached:
    - dl_list_for_each
    - nan_terminate_ndps_for_ndi
    - nan_ndp_setup_stop
    linkageType: ''
    returnType: void
    signature: void nan_terminate_ndi_ndps(struct nan_data *nan, const u8 *ndi_addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/nan/nan_sec.c:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - nan
    - ndp_sec
    argTypes:
    - struct nan_data*
    - struct nan_ndp_sec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 23
    functionName: nan_sec_reset
    functionSourceFile: /src/hostap/src/nan/nan_sec.c
    functionUses: 2
    functionsReached:
    - os_memset
    linkageType: ''
    returnType: void
    signature: void nan_sec_reset(struct nan_data *nan, struct nan_ndp_sec *ndp_sec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:31,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:33,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - nan
    - peer
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 37
    functionName: nan_sec_dump
    functionSourceFile: /src/hostap/src/nan/nan_sec.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: "void nan_sec_dump(const struct nan_data *nan,\n\t\t\t const struct
      nan_peer *peer)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:51,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:60,1
    - Dst: le_to_host16
      Src: /src/hostap/src/nan/nan_sec.c:67,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:68,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - nan
    - attrs
    argTypes:
    - struct nan_data*
    - struct nan_attrs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 74
    functionName: nan_sec_rx_m1_verify
    functionSourceFile: /src/hostap/src/nan/nan_sec.c
    functionUses: 0
    functionsReached:
    - le_to_host16
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int nan_sec_rx_m1_verify(struct nan_data *nan,\n\t\t\t\tconst struct
      nan_attrs *attrs)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:86,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:100,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:110,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:118,1
    - Dst: NAN_CS_IS_VALID_NDP
      Src: /src/hostap/src/nan/nan_sec.c:123,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:124,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:138,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 6
    argNames:
    - csia
    - csia_len
    - instance_id
    - capab
    - csid
    - gtk_csid
    argTypes:
    - u8*
    - size_t
    - u8*
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 143
    functionName: nan_sec_parse_csia
    functionSourceFile: /src/hostap/src/nan/nan_sec.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - NAN_CS_IS_VALID_NDP
    linkageType: ''
    returnType: int
    signature: "int nan_sec_parse_csia(const u8 *csia, size_t csia_len, u8 *instance_id,\n\t\t\t
      \     u8 *capab, u8 *csid, u8 *gtk_csid)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:156,1
    - Dst: nan_sec_rx_m1_verify
      Src: /src/hostap/src/nan/nan_sec.c:160,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:169,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_sec.c:173,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_sec.c:176,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_sec.c:179,1
    - Dst: nan_crypto_calc_auth_token
      Src: /src/hostap/src/nan/nan_sec.c:185,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 4
    argNames:
    - nan
    - peer
    - msg
    - key
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - struct nan_msg*
    - struct wpa_eapol_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 194
    functionName: nan_sec_rx_m1
    functionSourceFile: /src/hostap/src/nan/nan_sec.c
    functionUses: 0
    functionsReached:
    - nan_sec_rx_m1_verify
    - wpa_printf
    - nan_crypto_calc_auth_token
    - os_memcpy
    linkageType: ''
    returnType: int
    signature: "int nan_sec_rx_m1(struct nan_data *nan, struct nan_peer *peer,\n\t\t\t
      const struct nan_msg *msg,\n\t\t\t const struct wpa_eapol_key *key)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/nan/nan_sec.c:206,1
    - Dst: NAN_CS_IS_128
      Src: /src/hostap/src/nan/nan_sec.c:208,1
    - Dst: NAN_CS_IS_256
      Src: /src/hostap/src/nan/nan_sec.c:210,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_sec.c:215,1
    - Dst: os_memset
      Src: /src/hostap/src/nan/nan_sec.c:216,1
    - Dst: nan_crypto_key_mic
      Src: /src/hostap/src/nan/nan_sec.c:218,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/nan/nan_sec.c:222,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:223,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 7
    argNames:
    - nan
    - buf
    - len
    - key
    - kck
    - kck_len
    - csid
    argTypes:
    - struct nan_data*
    - u8*
    - size_t
    - struct wpa_eapol_key*
    - u8*
    - size_t
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 228
    functionName: nan_sec_key_mic_ver
    functionSourceFile: /src/hostap/src/nan/nan_sec.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_printf
    - NAN_CS_IS_128
    - os_memcmp_const
    - NAN_CS_IS_256
    - nan_crypto_key_mic
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int nan_sec_key_mic_ver(struct nan_data *nan, const u8 *buf, size_t
      len,\n\t\t\t       const struct wpa_eapol_key *key,\n\t\t\t       const u8 *kck,
      size_t kck_len, u8 csid)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:242,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:247,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_sec.c:253,1
    - Dst: nan_crypto_pmk_to_ptk
      Src: /src/hostap/src/nan/nan_sec.c:258,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:263,1
    - Dst: NAN_CS_IS_128
      Src: /src/hostap/src/nan/nan_sec.c:272,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/nan/nan_sec.c:277,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:278,1
    - Dst: nan_sec_key_mic_ver
      Src: /src/hostap/src/nan/nan_sec.c:283,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_sec.c:291,1
    - Dst: forced_memzero
      Src: /src/hostap/src/nan/nan_sec.c:292,1
    - Dst: WPA_PUT_BE64
      Src: /src/hostap/src/nan/nan_sec.c:295,1
    - Dst: WPA_GET_BE64
      Src: /src/hostap/src/nan/nan_sec.c:296,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 4
    argNames:
    - nan
    - peer
    - msg
    - key
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - struct nan_msg*
    - struct wpa_eapol_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 231
    functionDepth: 3
    functionLinenumber: 231
    functionLinenumberEnd: 298
    functionName: nan_sec_rx_m2
    functionSourceFile: /src/hostap/src/nan/nan_sec.c
    functionUses: 0
    functionsReached:
    - WPA_PUT_BE64
    - wpa_printf
    - WPA_GET_BE16
    - os_memcpy
    - WPA_GET_BE64
    - nan_crypto_pmk_to_ptk
    - forced_memzero
    - NAN_CS_IS_128
    - nan_sec_key_mic_ver
    linkageType: ''
    returnType: int
    signature: "int nan_sec_rx_m2(struct nan_data *nan, struct nan_peer *peer,\n\t\t\t
      const struct nan_msg *msg,\n\t\t\t const struct wpa_eapol_key *key)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:313,1
    - Dst: os_memcmp
      Src: /src/hostap/src/nan/nan_sec.c:320,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:321,1
    - Dst: os_malloc
      Src: /src/hostap/src/nan/nan_sec.c:331,1
    - Dst: NAN_CS_IS_128
      Src: /src/hostap/src/nan/nan_sec.c:340,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/nan/nan_sec.c:345,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:346,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_sec.c:349,1
    - Dst: os_memset
      Src: /src/hostap/src/nan/nan_sec.c:350,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_sec.c:351,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_sec.c:352,1
    - Dst: nan_crypto_key_mic
      Src: /src/hostap/src/nan/nan_sec.c:355,1
    - Dst: os_free
      Src: /src/hostap/src/nan/nan_sec.c:358,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:361,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/nan/nan_sec.c:365,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:366,1
    - Dst: forced_memzero
      Src: /src/hostap/src/nan/nan_sec.c:370,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_sec.c:373,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 4
    argNames:
    - nan
    - peer
    - msg
    - key
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - struct nan_msg*
    - struct wpa_eapol_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 376
    functionName: nan_sec_rx_m3
    functionSourceFile: /src/hostap/src/nan/nan_sec.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - WPA_GET_BE16
    - os_memcpy
    - forced_memzero
    - os_malloc
    - NAN_CS_IS_128
    - os_memcmp_const
    - os_memcmp
    - os_free
    - nan_crypto_key_mic
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int nan_sec_rx_m3(struct nan_data *nan, struct nan_peer *peer,\n\t\t\t
      const struct nan_msg *msg,\n\t\t\t const struct wpa_eapol_key *key)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:388,1
    - Dst: NAN_CS_IS_128
      Src: /src/hostap/src/nan/nan_sec.c:398,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/nan/nan_sec.c:403,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:404,1
    - Dst: nan_sec_key_mic_ver
      Src: /src/hostap/src/nan/nan_sec.c:409,1
    - Dst: WPA_PUT_BE64
      Src: /src/hostap/src/nan/nan_sec.c:417,1
    - Dst: WPA_GET_BE64
      Src: /src/hostap/src/nan/nan_sec.c:418,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - nan
    - peer
    - msg
    - key
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - struct nan_msg*
    - struct wpa_eapol_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 379
    functionDepth: 3
    functionLinenumber: 379
    functionLinenumberEnd: 422
    functionName: nan_sec_rx_m4
    functionSourceFile: /src/hostap/src/nan/nan_sec.c
    functionUses: 0
    functionsReached:
    - WPA_PUT_BE64
    - wpa_printf
    - WPA_GET_BE16
    - WPA_GET_BE64
    - NAN_CS_IS_128
    - nan_sec_key_mic_ver
    linkageType: ''
    returnType: int
    signature: "int nan_sec_rx_m4(struct nan_data *nan, struct nan_peer *peer,\n\t\t\t
      const struct nan_msg *msg,\n\t\t\t const struct wpa_eapol_key *key)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:440,1
    - Dst: wpa_cipher_key_len
      Src: /src/hostap/src/nan/nan_sec.c:453,1
    - Dst: nan_crypto_decrypt_key_data
      Src: /src/hostap/src/nan/nan_sec.c:455,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:459,1
    - Dst: wpa_parse_kde_ies
      Src: /src/hostap/src/nan/nan_sec.c:463,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/nan/nan_sec.c:463,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/nan/nan_sec.c:463,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:465,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:476,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/nan/nan_sec.c:486,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:488,1
    - Dst: struct nan_data*::cfg::set_group_key
      Src: /src/hostap/src/nan/nan_sec.c:494,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:498,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/nan/nan_sec.c:504,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:514,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/nan/nan_sec.c:521,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:523,1
    - Dst: struct nan_data*::cfg::set_group_key
      Src: /src/hostap/src/nan/nan_sec.c:529,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:533,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/nan/nan_sec.c:539,1
    - Dst: wpa_cipher_key_len
      Src: /src/hostap/src/nan/nan_sec.c:548,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:551,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:562,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_sec.c:569,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/nan/nan_sec.c:571,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/nan/nan_sec.c:577,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 84
    argCount: 5
    argNames:
    - nan
    - peer
    - peer_capab
    - enc_key_data
    - key_data_len
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - u8
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 425
    functionDepth: 2
    functionLinenumber: 425
    functionLinenumberEnd: 579
    functionName: nan_sec_rx_key_data
    functionSourceFile: /src/hostap/src/nan/nan_sec.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump_key
    - os_memcpy
    - wpa_cipher_key_len
    - struct nan_data*::cfg::set_group_key
    - wpabuf_len
    - WPA_GET_LE16
    - wpabuf_head
    - wpa_parse_kde_ies
    - nan_crypto_decrypt_key_data
    - wpabuf_clear_free
    linkageType: ''
    returnType: int
    signature: "int nan_sec_rx_key_data(struct nan_data *nan,\n\t\t\t       struct
      nan_peer *peer, u8 peer_capab,\n\t\t\t       const u8 *enc_key_data, size_t
      key_data_len)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:603,1
    - Dst: nan_sec_dump
      Src: /src/hostap/src/nan/nan_sec.c:604,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:610,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:620,1
    - Dst: nan_sec_parse_csia
      Src: /src/hostap/src/nan/nan_sec.c:632,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:636,1
    - Dst: NAN_CS_IS_128
      Src: /src/hostap/src/nan/nan_sec.c:649,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:653,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/nan/nan_sec.c:658,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:664,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:672,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/nan/nan_sec.c:677,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:683,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:700,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/nan/nan_sec.c:706,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:711,1
    - Dst: WPA_GET_BE64
      Src: /src/hostap/src/nan/nan_sec.c:718,1
    - Dst: WPA_GET_BE64
      Src: /src/hostap/src/nan/nan_sec.c:719,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:720,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:726,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:732,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:738,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_sec.c:740,1
    - Dst: nan_sec_rx_m1
      Src: /src/hostap/src/nan/nan_sec.c:753,1
    - Dst: nan_sec_rx_m2
      Src: /src/hostap/src/nan/nan_sec.c:762,1
    - Dst: nan_sec_rx_m3
      Src: /src/hostap/src/nan/nan_sec.c:769,1
    - Dst: nan_sec_rx_key_data
      Src: /src/hostap/src/nan/nan_sec.c:774,1
    - Dst: nan_sec_rx_m4
      Src: /src/hostap/src/nan/nan_sec.c:782,1
    - Dst: nan_sec_rx_key_data
      Src: /src/hostap/src/nan/nan_sec.c:787,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:792,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:802,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 121
    argCount: 3
    argNames:
    - nan
    - peer
    - msg
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - struct nan_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 589
    functionDepth: 4
    functionLinenumber: 589
    functionLinenumberEnd: 808
    functionName: nan_sec_rx
    functionSourceFile: /src/hostap/src/nan/nan_sec.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - WPA_GET_BE16
    - os_memcpy
    - WPA_GET_BE64
    - nan_sec_rx_m1
    - nan_sec_rx_m4
    - nan_sec_rx_m3
    - nan_sec_rx_key_data
    - NAN_CS_IS_128
    - nan_sec_parse_csia
    - nan_sec_dump
    - nan_sec_rx_m2
    linkageType: ''
    returnType: int
    signature: "int nan_sec_rx(struct nan_data *nan, struct nan_peer *peer,\n\t       struct
      nan_msg *msg)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: NAN_CS_IS_128
      Src: /src/hostap/src/nan/nan_sec.c:838,1
    - Dst: NAN_CS_IS_256
      Src: /src/hostap/src/nan/nan_sec.c:840,1
    - Dst: os_get_random
      Src: /src/hostap/src/nan/nan_sec.c:846,1
    - Dst: nan_crypto_calc_pmkid
      Src: /src/hostap/src/nan/nan_sec.c:852,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:858,1
    - Dst: nan_add_csia
      Src: /src/hostap/src/nan/nan_sec.c:872,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_sec.c:875,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/nan/nan_sec.c:876,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/nan/nan_sec.c:878,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_sec.c:879,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_sec.c:880,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/nan/nan_sec.c:881,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_sec.c:884,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/nan/nan_sec.c:885,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_sec.c:886,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/nan/nan_sec.c:888,1
    - Dst: os_memset
      Src: /src/hostap/src/nan/nan_sec.c:889,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/nan/nan_sec.c:894,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_sec.c:897,1
    - Dst: WPA_PUT_BE64
      Src: /src/hostap/src/nan/nan_sec.c:902,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_sec.c:903,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 43
    argCount: 3
    argNames:
    - nan
    - peer
    - buf
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 827
    functionDepth: 2
    functionLinenumber: 827
    functionLinenumberEnd: 909
    functionName: nan_sec_add_m1_attrs
    functionSourceFile: /src/hostap/src/nan/nan_sec.c
    functionUses: 0
    functionsReached:
    - WPA_PUT_BE64
    - wpa_printf
    - wpabuf_put
    - os_memcpy
    - wpabuf_put_u8
    - wpabuf_put_data
    - os_get_random
    - WPA_PUT_BE16
    - NAN_CS_IS_128
    - wpabuf_put_le16
    - nan_add_csia
    - NAN_CS_IS_256
    - nan_crypto_calc_pmkid
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int nan_sec_add_m1_attrs(struct nan_data *nan, struct nan_peer *peer,\n\t\t\t\tstruct
      wpabuf *buf)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NAN_CS_IS_128
      Src: /src/hostap/src/nan/nan_sec.c:931,1
    - Dst: NAN_CS_IS_256
      Src: /src/hostap/src/nan/nan_sec.c:933,1
    - Dst: nan_add_csia
      Src: /src/hostap/src/nan/nan_sec.c:947,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_sec.c:950,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/nan/nan_sec.c:951,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/nan/nan_sec.c:953,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_sec.c:954,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_sec.c:955,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/nan/nan_sec.c:956,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_sec.c:962,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/nan/nan_sec.c:963,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_sec.c:964,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/nan/nan_sec.c:966,1
    - Dst: os_memset
      Src: /src/hostap/src/nan/nan_sec.c:967,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/nan/nan_sec.c:972,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_sec.c:975,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_sec.c:983,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 35
    argCount: 3
    argNames:
    - nan
    - peer
    - buf
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 919
    functionDepth: 2
    functionLinenumber: 919
    functionLinenumberEnd: 988
    functionName: nan_sec_add_m2_attrs
    functionSourceFile: /src/hostap/src/nan/nan_sec.c
    functionUses: 0
    functionsReached:
    - wpabuf_put
    - os_memcpy
    - wpabuf_put_u8
    - wpabuf_put_data
    - WPA_PUT_BE16
    - wpabuf_put_le16
    - NAN_CS_IS_128
    - nan_add_csia
    - NAN_CS_IS_256
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int nan_sec_add_m2_attrs(struct nan_data *nan, struct nan_peer *peer,\n\t\t\t\tstruct
      wpabuf *buf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct nan_data*::cfg::get_seqnum
      Src: /src/hostap/src/nan/nan_sec.c:995,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:997,1
    - Dst: nan_add_kde_hdr
      Src: /src/hostap/src/nan/nan_sec.c:1001,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/nan/nan_sec.c:1003,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/nan/nan_sec.c:1004,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/nan/nan_sec.c:1005,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - nan
    - buf
    argTypes:
    - struct nan_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1007
      start: 991
    functionDepth: 2
    functionLinenumber: 991
    functionLinenumberEnd: 1007
    functionName: nan_sec_igtk_kde
    functionSourceFile: /src/hostap/src/nan/nan_sec.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put_data
    - wpabuf_put_le16
    - nan_add_kde_hdr
    - struct nan_data*::cfg::get_seqnum
    linkageType: ''
    returnType: int
    signature: int nan_sec_igtk_kde(struct nan_data *nan, struct wpabuf *buf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:1017,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:1024,1
    - Dst: struct nan_data*::cfg::get_seqnum
      Src: /src/hostap/src/nan/nan_sec.c:1029,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:1031,1
    - Dst: nan_add_kde_hdr
      Src: /src/hostap/src/nan/nan_sec.c:1035,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/nan/nan_sec.c:1037,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/nan/nan_sec.c:1038,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/nan/nan_sec.c:1039,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - nan
    - ndp_sec
    - buf
    argTypes:
    - struct nan_data*
    - struct nan_ndp_sec*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 1010
    functionDepth: 2
    functionLinenumber: 1010
    functionLinenumberEnd: 1041
    functionName: nan_sec_bigtk_kde
    functionSourceFile: /src/hostap/src/nan/nan_sec.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put_data
    - wpabuf_put_le16
    - nan_add_kde_hdr
    - struct nan_data*::cfg::get_seqnum
    linkageType: ''
    returnType: int
    signature: "int nan_sec_bigtk_kde(struct nan_data *nan, struct nan_ndp_sec *ndp_sec,\n\t\t\t
      \    struct wpabuf *buf)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:1051,1
    - Dst: nan_add_kde_hdr
      Src: /src/hostap/src/nan/nan_sec.c:1056,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_sec.c:1059,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_sec.c:1060,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/nan/nan_sec.c:1061,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - nan
    - buf
    - ndp_sec
    argTypes:
    - struct nan_data*
    - struct wpabuf*
    - struct nan_ndp_sec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1044
    functionDepth: 2
    functionLinenumber: 1044
    functionLinenumberEnd: 1065
    functionName: nan_sec_gtk_kde
    functionSourceFile: /src/hostap/src/nan/nan_sec.c
    functionUses: 0
    functionsReached:
    - nan_add_kde_hdr
    - wpa_printf
    - wpabuf_put_data
    - wpabuf_put_u8
    linkageType: ''
    returnType: int
    signature: "int nan_sec_gtk_kde(struct nan_data *nan, struct wpabuf *buf,\n\t\t\t
      \  struct nan_ndp_sec *ndp_sec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ndp_sec
    argTypes:
    - struct nan_ndp_sec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1068
    functionDepth: 0
    functionLinenumber: 1068
    functionLinenumberEnd: 1076
    functionName: nan_sec_igtk_supported
    functionSourceFile: /src/hostap/src/nan/nan_sec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool nan_sec_igtk_supported(struct nan_ndp_sec *ndp_sec)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nan_sec_igtk_supported
      Src: /src/hostap/src/nan/nan_sec.c:1091,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:1093,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:1099,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/nan/nan_sec.c:1104,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:1106,1
    - Dst: nan_sec_igtk_kde
      Src: /src/hostap/src/nan/nan_sec.c:1110,1
    - Dst: nan_sec_bigtk_kde
      Src: /src/hostap/src/nan/nan_sec.c:1113,1
    - Dst: nan_sec_gtk_kde
      Src: /src/hostap/src/nan/nan_sec.c:1116,1
    - Dst: nan_crypto_encrypt_key_data
      Src: /src/hostap/src/nan/nan_sec.c:1119,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:1122,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/nan/nan_sec.c:1126,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/nan/nan_sec.c:1127,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/nan/nan_sec.c:1128,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/nan/nan_sec.c:1130,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 3
    argNames:
    - nan
    - ndp_sec
    - buf
    argTypes:
    - struct nan_data*
    - struct nan_ndp_sec*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1132
      start: 1084
    functionDepth: 3
    functionLinenumber: 1084
    functionLinenumberEnd: 1132
    functionName: nan_sec_add_kdes
    functionSourceFile: /src/hostap/src/nan/nan_sec.c
    functionUses: 0
    functionsReached:
    - nan_sec_igtk_kde
    - nan_crypto_encrypt_key_data
    - wpa_printf
    - wpabuf_len
    - nan_sec_gtk_kde
    - wpabuf_free
    - nan_sec_igtk_supported
    - nan_sec_bigtk_kde
    - wpabuf_alloc
    - wpabuf_put_buf
    - wpabuf_clear_free
    linkageType: ''
    returnType: int
    signature: "int nan_sec_add_kdes(struct nan_data *nan, struct nan_ndp_sec *ndp_sec,\n\t\t\t
      \   struct wpabuf *buf)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: NAN_CS_IS_128
      Src: /src/hostap/src/nan/nan_sec.c:1157,1
    - Dst: NAN_CS_IS_256
      Src: /src/hostap/src/nan/nan_sec.c:1159,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_sec.c:1165,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/nan/nan_sec.c:1166,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_sec.c:1167,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/nan/nan_sec.c:1169,1
    - Dst: os_memset
      Src: /src/hostap/src/nan/nan_sec.c:1170,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_sec.c:1174,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_sec.c:1180,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/nan/nan_sec.c:1184,1
    - Dst: nan_sec_add_kdes
      Src: /src/hostap/src/nan/nan_sec.c:1186,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:1188,1
    - Dst: struct nan_data*::cfg::get_seqnum
      Src: /src/hostap/src/nan/nan_sec.c:1203,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:1206,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/nan/nan_sec.c:1219,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/nan/nan_sec.c:1221,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/nan/nan_sec.c:1223,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 6
    argNames:
    - nan
    - peer
    - buf
    - instance_id
    - nonce
    - is_ack
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - struct wpabuf*
    - u8
    - u8*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1145
    functionDepth: 4
    functionLinenumber: 1145
    functionLinenumberEnd: 1225
    functionName: nan_sec_add_key_attrs
    functionSourceFile: /src/hostap/src/nan/nan_sec.c
    functionUses: 0
    functionsReached:
    - wpabuf_put
    - os_memcpy
    - nan_sec_add_kdes
    - wpa_printf
    - wpabuf_put_u8
    - WPA_PUT_BE16
    - NAN_CS_IS_128
    - NAN_CS_IS_256
    - WPA_PUT_LE16
    - struct nan_data*::cfg::get_seqnum
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int nan_sec_add_key_attrs(struct nan_data *nan, struct nan_peer *peer,\n\t\t\t\t
      struct wpabuf *buf, u8 instance_id,\n\t\t\t\t const u8 *nonce, bool is_ack)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nan_sec_add_key_attrs
      Src: /src/hostap/src/nan/nan_sec.c:1240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - nan
    - peer
    - buf
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1242
      start: 1235
    functionDepth: 5
    functionLinenumber: 1235
    functionLinenumberEnd: 1242
    functionName: nan_sec_add_m3_attrs
    functionSourceFile: /src/hostap/src/nan/nan_sec.c
    functionUses: 0
    functionsReached:
    - nan_sec_add_key_attrs
    linkageType: ''
    returnType: int
    signature: "int nan_sec_add_m3_attrs(struct nan_data *nan, struct nan_peer *peer,\n\t\t\t\tstruct
      wpabuf *buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nan_sec_add_key_attrs
      Src: /src/hostap/src/nan/nan_sec.c:1257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - nan
    - peer
    - buf
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1259
      start: 1252
    functionDepth: 5
    functionLinenumber: 1252
    functionLinenumberEnd: 1259
    functionName: nan_sec_add_m4_attrs
    functionSourceFile: /src/hostap/src/nan/nan_sec.c
    functionUses: 0
    functionsReached:
    - nan_sec_add_key_attrs
    linkageType: ''
    returnType: int
    signature: "int nan_sec_add_m4_attrs(struct nan_data *nan, struct nan_peer *peer,\n\t\t\t\tstruct
      wpabuf *buf)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:1277,1
    - Dst: nan_sec_dump
      Src: /src/hostap/src/nan/nan_sec.c:1278,1
    - Dst: NAN_CS_IS_VALID_NDP
      Src: /src/hostap/src/nan/nan_sec.c:1281,1
    - Dst: nan_sec_add_m1_attrs
      Src: /src/hostap/src/nan/nan_sec.c:1286,1
    - Dst: nan_sec_add_m2_attrs
      Src: /src/hostap/src/nan/nan_sec.c:1288,1
    - Dst: nan_sec_add_m3_attrs
      Src: /src/hostap/src/nan/nan_sec.c:1290,1
    - Dst: nan_sec_add_m4_attrs
      Src: /src/hostap/src/nan/nan_sec.c:1292,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 4
    argNames:
    - nan
    - peer
    - subtype
    - buf
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - enum nan_subtype
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1300
      start: 1270
    functionDepth: 6
    functionLinenumber: 1270
    functionLinenumberEnd: 1300
    functionName: nan_sec_add_attrs
    functionSourceFile: /src/hostap/src/nan/nan_sec.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - nan_sec_add_m2_attrs
    - NAN_CS_IS_VALID_NDP
    - nan_sec_add_m3_attrs
    - nan_sec_add_m1_attrs
    - nan_sec_dump
    - nan_sec_add_m4_attrs
    linkageType: ''
    returnType: int
    signature: "int nan_sec_add_attrs(struct nan_data *nan, struct nan_peer *peer,\n\t\t
      \     enum nan_subtype subtype, struct wpabuf *buf)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_get_random
      Src: /src/hostap/src/nan/nan_sec.c:1328,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:1334,1
    - Dst: nan_crypto_calc_pmkid
      Src: /src/hostap/src/nan/nan_sec.c:1340,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:1345,1
    - Dst: os_memcmp
      Src: /src/hostap/src/nan/nan_sec.c:1350,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:1351,1
    - Dst: nan_crypto_pmk_to_ptk
      Src: /src/hostap/src/nan/nan_sec.c:1357,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:1362,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - nan
    - peer
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1367
      start: 1318
    functionDepth: 3
    functionLinenumber: 1318
    functionLinenumberEnd: 1367
    functionName: nan_sec_init_resp
    functionSourceFile: /src/hostap/src/nan/nan_sec.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - nan_crypto_pmk_to_ptk
    - os_get_random
    - os_memcmp
    - nan_crypto_calc_pmkid
    linkageType: ''
    returnType: int
    signature: int nan_sec_init_resp(struct nan_data *nan, struct nan_peer *peer)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:1402,1
    - Dst: wpabuf_mhead_u8
      Src: /src/hostap/src/nan/nan_sec.c:1405,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/nan/nan_sec.c:1406,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:1409,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:1417,1
    - Dst: nan_parse_attrs
      Src: /src/hostap/src/nan/nan_sec.c:1433,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:1440,1
    - Dst: nan_attrs_clear
      Src: /src/hostap/src/nan/nan_sec.c:1448,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:1453,1
    - Dst: nan_crypto_calc_auth_token
      Src: /src/hostap/src/nan/nan_sec.c:1457,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:1462,1
    - Dst: nan_crypto_key_mic
      Src: /src/hostap/src/nan/nan_sec.c:1466,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:1473,1
    - Dst: os_malloc
      Src: /src/hostap/src/nan/nan_sec.c:1480,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_sec.c:1484,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_sec.c:1485,1
    - Dst: nan_crypto_key_mic
      Src: /src/hostap/src/nan/nan_sec.c:1487,1
    - Dst: os_free
      Src: /src/hostap/src/nan/nan_sec.c:1491,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:1495,1
    - Dst: nan_crypto_key_mic
      Src: /src/hostap/src/nan/nan_sec.c:1499,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 63
    argCount: 3
    argNames:
    - nan
    - peer
    - buf
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1507
      start: 1381
    functionDepth: 4
    functionLinenumber: 1381
    functionLinenumberEnd: 1507
    functionName: nan_sec_pre_tx
    functionSourceFile: /src/hostap/src/nan/nan_sec.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpabuf_mhead_u8
    - wpabuf_len
    - nan_parse_attrs
    - nan_attrs_clear
    - os_malloc
    - nan_crypto_calc_auth_token
    - os_free
    - nan_crypto_key_mic
    linkageType: ''
    returnType: int
    signature: "int nan_sec_pre_tx(struct nan_data *nan, struct nan_peer *peer,\n\t\t
      \  struct wpabuf *buf)"
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - csid
    - pairing_akmp
    argTypes:
    - enum nan_cipher_suite_id
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1543
      start: 1526
    functionDepth: 0
    functionLinenumber: 1526
    functionLinenumberEnd: 1543
    functionName: nan_sec_get_strength
    functionSourceFile: /src/hostap/src/nan/nan_sec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int nan_sec_get_strength(enum nan_cipher_suite_id csid, int pairing_akmp)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: NAN_CS_IS_VALID_NDP
      Src: /src/hostap/src/nan/nan_sec.c:1570,1
    - Dst: nan_sec_get_strength
      Src: /src/hostap/src/nan/nan_sec.c:1577,1
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/nan/nan_sec.c:1579,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/nan/nan_sec.c:1581,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/nan/nan_sec.c:1582,1
    - Dst: nan_sec_get_strength
      Src: /src/hostap/src/nan/nan_sec.c:1593,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:1596,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:1604,1
    - Dst: os_zalloc
      Src: /src/hostap/src/nan/nan_sec.c:1609,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:1611,1
    - Dst: dl_list_add
      Src: /src/hostap/src/nan/nan_sec.c:1616,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_sec.c:1617,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_sec.c:1618,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_sec.c:1621,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_sec.c:1626,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_sec.c:1627,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_sec.c:1628,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 4
    argNames:
    - nan
    - peer
    - peer_ndi
    - local_ndi
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1631
      start: 1557
    functionDepth: 1
    functionLinenumber: 1557
    functionLinenumberEnd: 1631
    functionName: nan_sec_ndp_store_keys
    functionSourceFile: /src/hostap/src/nan/nan_sec.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - os_memcpy
    - nan_sec_get_strength
    - ether_addr_equal
    - NAN_CS_IS_VALID_NDP
    - os_zalloc
    - dl_list_add
    - dl_list_for_each_safe
    linkageType: ''
    returnType: bool
    signature: "bool nan_sec_ndp_store_keys(struct nan_data *nan, struct nan_peer
      *peer,\n\t\t\t    const u8 *peer_ndi, const u8 *local_ndi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/nan/nan_sec.c:1640,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/nan/nan_sec.c:1642,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/nan/nan_sec.c:1643,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_sec.c:1646,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 7
    argNames:
    - nan
    - peer
    - peer_ndi
    - local_ndi
    - tk
    - tk_len
    - csid
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - u8*
    - u8*
    - u8*
    - size_t*
    - enum nan_cipher_suite_id*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1653
      start: 1634
    functionDepth: 1
    functionLinenumber: 1634
    functionLinenumberEnd: 1653
    functionName: nan_sec_get_tk
    functionSourceFile: /src/hostap/src/nan/nan_sec.c
    functionUses: 1
    functionsReached:
    - dl_list_for_each
    - os_memcpy
    - ether_addr_equal
    linkageType: ''
    returnType: int
    signature: "int nan_sec_get_tk(struct nan_data *nan, struct nan_peer *peer,\n\t\t
      \    const u8 *peer_ndi, const u8 *local_ndi,\n\t\t     u8 *tk, size_t *tk_len,
      enum nan_cipher_suite_id *csid)"
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 1
    argNames:
    - pbm
    argTypes:
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 51
    functionName: nan_complement_pbm
    functionSourceFile: /src/hostap/src/nan/nan_bootstrap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u16
    signature: u16 nan_complement_pbm(u16 pbm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_bootstrap.c:61,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/nan/nan_bootstrap.c:63,1
    - Dst: os_free
      Src: /src/hostap/src/nan/nan_bootstrap.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - nan
    - peer
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 82
    functionName: nan_bootstrap_reset
    functionSourceFile: /src/hostap/src/nan/nan_bootstrap.c
    functionUses: 1
    functionsReached:
    - eloop_cancel_timeout
    - os_free
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void nan_bootstrap_reset(struct nan_data *nan, struct nan_peer *peer)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/nan/nan_bootstrap.c:103,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_bootstrap.c:107,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_bootstrap.c:119,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/nan/nan_bootstrap.c:120,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_bootstrap.c:122,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_bootstrap.c:123,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_bootstrap.c:124,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/nan/nan_bootstrap.c:128,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_bootstrap.c:130,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/nan/nan_bootstrap.c:132,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/nan/nan_bootstrap.c:136,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/nan/nan_bootstrap.c:137,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/nan/nan_bootstrap.c:137,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 2
    argNames:
    - nan
    - peer
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 140
    functionName: nan_bootstrap_build_npba
    functionSourceFile: /src/hostap/src/nan/nan_bootstrap.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put
    - wpabuf_put_u8
    - wpabuf_put_data
    - wpabuf_len
    - wpabuf_put_le16
    - wpabuf_alloc
    - WPA_PUT_LE16
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * nan_bootstrap_build_npba(struct nan_data *nan,\n\t\t\t\t\t\tstruct
      nan_peer *peer)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_bootstrap.c:154,1
    - Dst: nan_bootstrap_build_npba
      Src: /src/hostap/src/nan/nan_bootstrap.c:157,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_bootstrap.c:159,1
    - Dst: nan_bootstrap_reset
      Src: /src/hostap/src/nan/nan_bootstrap.c:162,1
    - Dst: struct nan_data*::cfg::bootstrap_completed
      Src: /src/hostap/src/nan/nan_bootstrap.c:164,1
    - Dst: struct nan_data*::cfg::transmit_followup
      Src: /src/hostap/src/nan/nan_bootstrap.c:171,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_bootstrap.c:174,1
    - Dst: nan_bootstrap_reset
      Src: /src/hostap/src/nan/nan_bootstrap.c:177,1
    - Dst: struct nan_data*::cfg::bootstrap_completed
      Src: /src/hostap/src/nan/nan_bootstrap.c:179,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/nan/nan_bootstrap.c:186,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/nan/nan_bootstrap.c:190,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - eloop_data
    - user_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 192
    functionName: nan_bootstrap_timeout
    functionSourceFile: /src/hostap/src/nan/nan_bootstrap.c
    functionUses: 0
    functionsReached:
    - struct nan_data*::cfg::bootstrap_completed
    - wpa_printf
    - nan_bootstrap_reset
    - wpabuf_free
    - struct nan_data*::cfg::transmit_followup
    - eloop_register_timeout
    - nan_bootstrap_build_npba
    linkageType: ''
    returnType: void
    signature: void nan_bootstrap_timeout(void *eloop_data, void *user_ctx)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_bootstrap.c:220,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_bootstrap.c:224,1
    - Dst: os_memcmp
      Src: /src/hostap/src/nan/nan_bootstrap.c:231,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_bootstrap.c:233,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_bootstrap.c:239,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_bootstrap.c:246,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_bootstrap.c:251,1
    - Dst: nan_complement_pbm
      Src: /src/hostap/src/nan/nan_bootstrap.c:255,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_bootstrap.c:256,1
    - Dst: nan_complement_pbm
      Src: /src/hostap/src/nan/nan_bootstrap.c:262,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_bootstrap.c:268,1
    - Dst: nan_bootstrap_reset
      Src: /src/hostap/src/nan/nan_bootstrap.c:271,1
    - Dst: nan_complement_pbm
      Src: /src/hostap/src/nan/nan_bootstrap.c:275,1
    - Dst: struct nan_data*::cfg::get_supported_bootstrap_methods
      Src: /src/hostap/src/nan/nan_bootstrap.c:280,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_bootstrap.c:284,1
    - Dst: os_malloc
      Src: /src/hostap/src/nan/nan_bootstrap.c:303,1
    - Dst: os_get_random
      Src: /src/hostap/src/nan/nan_bootstrap.c:306,1
    - Dst: nan_bootstrap_reset
      Src: /src/hostap/src/nan/nan_bootstrap.c:308,1
    - Dst: struct nan_data*::cfg::bootstrap_request
      Src: /src/hostap/src/nan/nan_bootstrap.c:318,1
    - Dst: nan_bootstrap_build_npba
      Src: /src/hostap/src/nan/nan_bootstrap.c:323,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_bootstrap.c:325,1
    - Dst: struct nan_data*::cfg::transmit_followup
      Src: /src/hostap/src/nan/nan_bootstrap.c:330,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_bootstrap.c:332,1
    - Dst: struct nan_data*::cfg::bootstrap_completed
      Src: /src/hostap/src/nan/nan_bootstrap.c:335,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_bootstrap.c:343,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/nan/nan_bootstrap.c:346,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/nan/nan_bootstrap.c:351,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/nan/nan_bootstrap.c:352,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_bootstrap.c:354,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/nan/nan_bootstrap.c:355,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/nan/nan_bootstrap.c:356,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_bootstrap.c:358,1
    - Dst: struct nan_data*::cfg::bootstrap_completed
      Src: /src/hostap/src/nan/nan_bootstrap.c:363,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/nan/nan_bootstrap.c:372,1
    - Dst: nan_bootstrap_reset
      Src: /src/hostap/src/nan/nan_bootstrap.c:373,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 102
    argCount: 11
    argNames:
    - nan
    - peer
    - dialog_token
    - pbm
    - cookie
    - cookie_len
    - status
    - handle
    - req_instance_id
    - npba
    - npba_len
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - u8
    - u16
    - u8*
    - u8
    - u8
    - int
    - u8
    - u8*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 374
    functionName: nan_bootstrap_handle_rx_request
    functionSourceFile: /src/hostap/src/nan/nan_bootstrap.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - struct nan_data*::cfg::bootstrap_completed
    - nan_bootstrap_reset
    - wpabuf_put_u8
    - wpabuf_put_data
    - wpabuf_free
    - os_malloc
    - os_get_random
    - wpabuf_put_le16
    - wpabuf_alloc
    - nan_complement_pbm
    - os_memcmp
    - struct nan_data*::cfg::bootstrap_request
    - struct nan_data*::cfg::transmit_followup
    - nan_bootstrap_build_npba
    - struct nan_data*::cfg::get_supported_bootstrap_methods
    linkageType: ''
    returnType: void
    signature: "void nan_bootstrap_handle_rx_request(struct nan_data *nan,\n\t\t\t\t\t
      \   struct nan_peer *peer,\n\t\t\t\t\t    u8 dialog_token, u16 pbm,\n\t\t\t\t\t
      \   const u8 *cookie,\n\t\t\t\t\t    u8 cookie_len, u8 status,\n\t\t\t\t\t    int
      handle, u8 req_instance_id,\n\t\t\t\t\t    const u8 *npba, u16 npba_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - nan
    argTypes:
    - struct nan_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 388
    functionName: nan_bootstrap_supported
    functionSourceFile: /src/hostap/src/nan/nan_bootstrap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool nan_bootstrap_supported(struct nan_data *nan)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: nan_bootstrap_supported
      Src: /src/hostap/src/nan/nan_bootstrap.c:415,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_bootstrap.c:416,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_bootstrap.c:430,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_bootstrap.c:437,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_bootstrap.c:445,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/nan/nan_bootstrap.c:450,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_bootstrap.c:456,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_bootstrap.c:464,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_bootstrap.c:475,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/nan/nan_bootstrap.c:480,1
    - Dst: nan_get_peer
      Src: /src/hostap/src/nan/nan_bootstrap.c:481,1
    - Dst: nan_add_peer
      Src: /src/hostap/src/nan/nan_bootstrap.c:486,1
    - Dst: nan_get_peer
      Src: /src/hostap/src/nan/nan_bootstrap.c:487,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_bootstrap.c:489,1
    - Dst: nan_bootstrap_handle_rx_request
      Src: /src/hostap/src/nan/nan_bootstrap.c:495,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_bootstrap.c:506,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_bootstrap.c:512,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_bootstrap.c:519,1
    - Dst: os_free
      Src: /src/hostap/src/nan/nan_bootstrap.c:530,1
    - Dst: os_memdup
      Src: /src/hostap/src/nan/nan_bootstrap.c:531,1
    - Dst: nan_bootstrap_reset
      Src: /src/hostap/src/nan/nan_bootstrap.c:533,1
    - Dst: nan_complement_pbm
      Src: /src/hostap/src/nan/nan_bootstrap.c:540,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_bootstrap.c:541,1
    - Dst: struct nan_data*::cfg::bootstrap_completed
      Src: /src/hostap/src/nan/nan_bootstrap.c:543,1
    - Dst: nan_bootstrap_reset
      Src: /src/hostap/src/nan/nan_bootstrap.c:549,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_bootstrap.c:551,1
    - Dst: struct nan_data*::cfg::bootstrap_completed
      Src: /src/hostap/src/nan/nan_bootstrap.c:553,1
    - Dst: nan_bootstrap_reset
      Src: /src/hostap/src/nan/nan_bootstrap.c:557,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_bootstrap.c:559,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/nan/nan_bootstrap.c:563,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/nan/nan_bootstrap.c:564,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_bootstrap.c:569,1
    - Dst: struct nan_data*::cfg::bootstrap_completed
      Src: /src/hostap/src/nan/nan_bootstrap.c:573,1
    - Dst: nan_bootstrap_reset
      Src: /src/hostap/src/nan/nan_bootstrap.c:578,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 107
    argCount: 8
    argNames:
    - nan
    - peer_nmi
    - npba
    - npba_len
    - buf
    - len
    - handle
    - req_instance_id
    argTypes:
    - struct nan_data*
    - u8*
    - u8*
    - u16
    - u8*
    - size_t
    - int
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 403
    functionDepth: 9
    functionLinenumber: 403
    functionLinenumberEnd: 582
    functionName: nan_bootstrap_handle_rx
    functionSourceFile: /src/hostap/src/nan/nan_bootstrap.c
    functionUses: 1
    functionsReached:
    - nan_add_peer
    - wpa_printf
    - struct nan_data*::cfg::bootstrap_completed
    - nan_bootstrap_reset
    - nan_bootstrap_handle_rx_request
    - eloop_cancel_timeout
    - os_memdup
    - WPA_GET_LE16
    - nan_get_peer
    - nan_complement_pbm
    - eloop_register_timeout
    - os_free
    - nan_bootstrap_supported
    linkageType: ''
    returnType: bool
    signature: "bool nan_bootstrap_handle_rx(struct nan_data *nan, const u8 *peer_nmi,\n\t\t\t
      \    const u8 *npba, u16 npba_len,\n\t\t\t     const u8 *buf, size_t len,\n\t\t\t
      \    int handle, u8 req_instance_id)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: nan_bootstrap_supported
      Src: /src/hostap/src/nan/nan_bootstrap.c:606,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_bootstrap.c:607,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_bootstrap.c:612,1
    - Dst: MAC2STR
      Src: /src/hostap/src/nan/nan_bootstrap.c:615,1
    - Dst: nan_get_peer
      Src: /src/hostap/src/nan/nan_bootstrap.c:617,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_bootstrap.c:619,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_bootstrap.c:625,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_bootstrap.c:632,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_bootstrap.c:639,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_bootstrap.c:646,1
    - Dst: nan_complement_pbm
      Src: /src/hostap/src/nan/nan_bootstrap.c:651,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_bootstrap.c:652,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_bootstrap.c:658,1
    - Dst: nan_bootstrap_reset
      Src: /src/hostap/src/nan/nan_bootstrap.c:660,1
    - Dst: nan_get_next_dialog_token
      Src: /src/hostap/src/nan/nan_bootstrap.c:662,1
    - Dst: nan_bootstrap_build_npba
      Src: /src/hostap/src/nan/nan_bootstrap.c:668,1
    - Dst: nan_bootstrap_reset
      Src: /src/hostap/src/nan/nan_bootstrap.c:670,1
    - Dst: struct nan_data*::cfg::transmit_followup
      Src: /src/hostap/src/nan/nan_bootstrap.c:674,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_bootstrap.c:678,1
    - Dst: nan_bootstrap_reset
      Src: /src/hostap/src/nan/nan_bootstrap.c:681,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/nan/nan_bootstrap.c:685,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 54
    argCount: 6
    argNames:
    - nan
    - handle
    - peer_nmi
    - req_instance_id
    - pbm
    - auth
    argTypes:
    - struct nan_data*
    - int
    - u8*
    - u8
    - u16
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 596
    functionDepth: 2
    functionLinenumber: 596
    functionLinenumberEnd: 688
    functionName: nan_bootstrap_request
    functionSourceFile: /src/hostap/src/nan/nan_bootstrap.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - nan_bootstrap_reset
    - nan_get_peer
    - MAC2STR
    - nan_get_next_dialog_token
    - nan_complement_pbm
    - struct nan_data*::cfg::transmit_followup
    - eloop_register_timeout
    - nan_bootstrap_build_npba
    - nan_bootstrap_supported
    linkageType: ''
    returnType: int
    signature: "int nan_bootstrap_request(struct nan_data *nan, int handle,\n\t\t\t
      \ const u8 *peer_nmi, u8 req_instance_id, u16 pbm,\n\t\t\t  bool auth)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nan_get_peer
      Src: /src/hostap/src/nan/nan_bootstrap.c:704,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_bootstrap.c:706,1
    - Dst: nan_bootstrap_reset
      Src: /src/hostap/src/nan/nan_bootstrap.c:710,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - nan
    - peer_nmi
    argTypes:
    - struct nan_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 697
    functionDepth: 2
    functionLinenumber: 697
    functionLinenumberEnd: 712
    functionName: nan_bootstrap_peer_reset
    functionSourceFile: /src/hostap/src/nan/nan_bootstrap.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - nan_bootstrap_reset
    - nan_get_peer
    linkageType: ''
    returnType: int
    signature: int nan_bootstrap_peer_reset(struct nan_data *nan, const u8 *peer_nmi)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nan_get_peer
      Src: /src/hostap/src/nan/nan_bootstrap.c:732,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_bootstrap.c:734,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - nan
    - peer_nmi
    - supported_methods
    argTypes:
    - struct nan_data*
    - u8*
    - u16*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 723
    functionDepth: 2
    functionLinenumber: 723
    functionLinenumberEnd: 741
    functionName: nan_bootstrap_get_supported_methods
    functionSourceFile: /src/hostap/src/nan/nan_bootstrap.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - nan_get_peer
    linkageType: ''
    returnType: int
    signature: "int nan_bootstrap_get_supported_methods(struct nan_data *nan,\n\t\t\t\t\tconst
      u8 *peer_nmi,\n\t\t\t\t\tu16 *supported_methods)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/nan/nan_module_test_cases.c:21,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_module_test_cases.c:36,1
    - Dst: os_memset
      Src: /src/hostap/src/nan/nan_module_test_cases.c:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 6
    argNames:
    - sched
    - ndc
    - freq
    - center_freq1
    - center_freq2
    - bandwidth
    argTypes:
    - struct nan_schedule*
    - bool
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 50
    functionName: nan_test_schedule_cb
    functionSourceFile: /src/hostap/src/nan/nan_module_test_cases.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void nan_test_schedule_cb(struct nan_schedule *sched, bool ndc,\n\t\t\t\t
      int freq, int center_freq1, int center_freq2,\n\t\t\t\t int bandwidth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nan_test_schedule_cb
      Src: /src/hostap/src/nan/nan_module_test_cases.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sched
    argTypes:
    - struct nan_schedule*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 60
    functionName: nan_test_schedule_cb_all_ndc
    functionSourceFile: /src/hostap/src/nan/nan_module_test_cases.c
    functionUses: 0
    functionsReached:
    - nan_test_schedule_cb
    linkageType: ''
    returnType: int
    signature: int nan_test_schedule_cb_all_ndc(struct nan_schedule *sched)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nan_test_schedule_cb
      Src: /src/hostap/src/nan/nan_module_test_cases.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sched
    argTypes:
    - struct nan_schedule*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: nan_test_schedule_cb_all_no_ndc
    functionSourceFile: /src/hostap/src/nan/nan_module_test_cases.c
    functionUses: 0
    functionsReached:
    - nan_test_schedule_cb
    linkageType: ''
    returnType: int
    signature: int nan_test_schedule_cb_all_no_ndc(struct nan_schedule *sched)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nan_test_schedule_cb
      Src: /src/hostap/src/nan/nan_module_test_cases.c:77,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_module_test_cases.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - sched
    argTypes:
    - struct nan_schedule*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 91
    functionName: nan_test_schedule_cb_all_no_ndc_period_4
    functionSourceFile: /src/hostap/src/nan/nan_module_test_cases.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - nan_test_schedule_cb
    linkageType: ''
    returnType: int
    signature: int nan_test_schedule_cb_all_no_ndc_period_4(struct nan_schedule *sched)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nan_test_schedule_cb
      Src: /src/hostap/src/nan/nan_module_test_cases.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sched
    argTypes:
    - struct nan_schedule*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 101
    functionName: nan_test_schedule_cb_2ghz_no_ndc
    functionSourceFile: /src/hostap/src/nan/nan_module_test_cases.c
    functionUses: 0
    functionsReached:
    - nan_test_schedule_cb
    linkageType: ''
    returnType: int
    signature: int nan_test_schedule_cb_2ghz_no_ndc(struct nan_schedule *sched)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/nan/nan_module_test_cases.c:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - chans
    argTypes:
    - struct nan_channels*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 121
    functionName: nan_test_get_chans_default
    functionSourceFile: /src/hostap/src/nan/nan_module_test_cases.c
    functionUses: 0
    functionsReached:
    - os_zalloc
    linkageType: ''
    returnType: int
    signature: int nan_test_get_chans_default(struct nan_channels *chans)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/nan/nan_module_test_cases.c:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - chans
    argTypes:
    - struct nan_channels*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 141
    functionName: nan_test_get_chans_default_reverse
    functionSourceFile: /src/hostap/src/nan/nan_module_test_cases.c
    functionUses: 0
    functionsReached:
    - os_zalloc
    linkageType: ''
    returnType: int
    signature: int nan_test_get_chans_default_reverse(struct nan_channels *chans)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/nan/nan_module_test_cases.c:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - chans
    argTypes:
    - struct nan_channels*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 157
    functionName: nan_test_get_chans_default_24g
    functionSourceFile: /src/hostap/src/nan/nan_module_test_cases.c
    functionUses: 0
    functionsReached:
    - os_zalloc
    linkageType: ''
    returnType: int
    signature: int nan_test_get_chans_default_24g(struct nan_channels *chans)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/nan/nan_module_test_cases.c:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - chans
    argTypes:
    - struct nan_channels*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 173
    functionName: nan_test_get_chans_default_52g
    functionSourceFile: /src/hostap/src/nan/nan_module_test_cases.c
    functionUses: 0
    functionsReached:
    - os_zalloc
    linkageType: ''
    returnType: int
    signature: int nan_test_get_chans_default_52g(struct nan_channels *chans)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 817
    functionName: nan_test_case_get_next
    functionSourceFile: /src/hostap/src/nan/nan_module_test_cases.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: struct nan_test_case
    signature: struct nan_test_case * nan_test_case_get_next(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: C2S
      Src: /src/hostap/src/nan/nan_ndl.c:39,1
    - Dst: C2S
      Src: /src/hostap/src/nan/nan_ndl.c:40,1
    - Dst: C2S
      Src: /src/hostap/src/nan/nan_ndl.c:41,1
    - Dst: C2S
      Src: /src/hostap/src/nan/nan_ndl.c:42,1
    - Dst: C2S
      Src: /src/hostap/src/nan/nan_ndl.c:43,1
    - Dst: C2S
      Src: /src/hostap/src/nan/nan_ndl.c:44,1
    - Dst: C2S
      Src: /src/hostap/src/nan/nan_ndl.c:45,1
    - Dst: C2S
      Src: /src/hostap/src/nan/nan_ndl.c:46,1
    - Dst: C2S
      Src: /src/hostap/src/nan/nan_ndl.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - state
    argTypes:
    - enum nan_ndl_state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 51
    functionName: nan_ndl_state_str
    functionSourceFile: /src/hostap/src/nan/nan_ndl.c
    functionUses: 0
    functionsReached:
    - C2S
    linkageType: ''
    returnType: char
    signature: char * nan_ndl_state_str(enum nan_ndl_state state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: C2S
    functionSourceFile: /src/hostap/src/nan/nan_ndl.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: C2S(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:57,1
    - Dst: nan_ndl_state_str
      Src: /src/hostap/src/nan/nan_ndl.c:58,1
    - Dst: nan_ndl_state_str
      Src: /src/hostap/src/nan/nan_ndl.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - nan
    - ndl
    - state
    argTypes:
    - struct nan_data*
    - struct nan_ndl*
    - enum nan_ndl_state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 62
    functionName: nan_ndl_set_state
    functionSourceFile: /src/hostap/src/nan/nan_ndl.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - nan_ndl_state_str
    linkageType: ''
    returnType: void
    signature: "void nan_ndl_set_state(struct nan_data *nan, struct nan_ndl *ndl,\n\t\t\t
      \     enum nan_ndl_state state)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:72,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - nan
    - tbm
    - type
    argTypes:
    - struct nan_data*
    - struct nan_time_bitmap*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 79
    functionName: nan_ndl_time_bitmap_print
    functionSourceFile: /src/hostap/src/nan/nan_ndl.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: "void nan_ndl_time_bitmap_print(struct nan_data *nan,\n\t\t\t\t      struct
      nan_time_bitmap *tbm,\n\t\t\t\t      const char *type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:85,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:88,1
    - Dst: nan_ndl_time_bitmap_print
      Src: /src/hostap/src/nan/nan_ndl.c:93,1
    - Dst: nan_ndl_time_bitmap_print
      Src: /src/hostap/src/nan/nan_ndl.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - nan
    - idx
    - cs
    argTypes:
    - struct nan_data*
    - size_t
    - struct nan_chan_schedule*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 95
    functionName: nan_ndl_chan_sched_print
    functionSourceFile: /src/hostap/src/nan/nan_ndl.c
    functionUses: 0
    functionsReached:
    - nan_ndl_time_bitmap_print
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: "void nan_ndl_chan_sched_print(struct nan_data *nan, size_t idx,\n\t\t\t\t
      \    struct nan_chan_schedule *cs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:103,1
    - Dst: nan_ndl_chan_sched_print
      Src: /src/hostap/src/nan/nan_ndl.c:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - nan
    - sched
    argTypes:
    - struct nan_data*
    - struct nan_schedule*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 110
    functionName: nan_ndl_sched_print
    functionSourceFile: /src/hostap/src/nan/nan_ndl.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - nan_ndl_chan_sched_print
    linkageType: ''
    returnType: void
    signature: "void nan_ndl_sched_print(struct nan_data *nan,\n\t\t\t\tstruct nan_schedule
      *sched)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:117,1
    - Dst: MAC2STR
      Src: /src/hostap/src/nan/nan_ndl.c:119,1
    - Dst: nan_ndl_state_str
      Src: /src/hostap/src/nan/nan_ndl.c:120,1
    - Dst: nan_clear_peer_schedule
      Src: /src/hostap/src/nan/nan_ndl.c:122,1
    - Dst: os_free
      Src: /src/hostap/src/nan/nan_ndl.c:124,1
    - Dst: os_free
      Src: /src/hostap/src/nan/nan_ndl.c:128,1
    - Dst: os_memset
      Src: /src/hostap/src/nan/nan_ndl.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 2
    argNames:
    - nan
    - peer
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 141
    functionName: nan_ndl_clear
    functionSourceFile: /src/hostap/src/nan/nan_ndl.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - nan_ndl_state_str
    - MAC2STR
    - nan_clear_peer_schedule
    - os_free
    - os_memset
    linkageType: ''
    returnType: void
    signature: void nan_ndl_clear(struct nan_data *nan, struct nan_peer *peer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:152,1
    - Dst: MAC2STR
      Src: /src/hostap/src/nan/nan_ndl.c:153,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:156,1
    - Dst: nan_ndl_clear
      Src: /src/hostap/src/nan/nan_ndl.c:160,1
    - Dst: os_free
      Src: /src/hostap/src/nan/nan_ndl.c:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - nan
    - peer
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 164
    functionName: nan_ndl_reset
    functionSourceFile: /src/hostap/src/nan/nan_ndl.c
    functionUses: 4
    functionsReached:
    - os_free
    - MAC2STR
    - wpa_printf
    - nan_ndl_clear
    linkageType: ''
    returnType: void
    signature: void nan_ndl_reset(struct nan_data *nan, struct nan_peer *peer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:171,1
    - Dst: os_zalloc
      Src: /src/hostap/src/nan/nan_ndl.c:173,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:175,1
    - Dst: nan_ndl_set_state
      Src: /src/hostap/src/nan/nan_ndl.c:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - nan
    argTypes:
    - struct nan_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 191
    functionName: nan_ndl_alloc
    functionSourceFile: /src/hostap/src/nan/nan_ndl.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_zalloc
    - nan_ndl_set_state
    linkageType: ''
    returnType: struct nan_ndl
    signature: struct nan_ndl * nan_ndl_alloc(struct nan_data *nan)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nan_sched_covered_by_avail_entries
      Src: /src/hostap/src/nan/nan_ndl.c:200,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:204,1
    - Dst: nan_sched_covered_by_avail_entries
      Src: /src/hostap/src/nan/nan_ndl.c:211,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:215,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - nan
    - peer
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 194
    functionDepth: 4
    functionLinenumber: 194
    functionLinenumberEnd: 225
    functionName: nan_ndl_validate_peer_avail
    functionSourceFile: /src/hostap/src/nan/nan_ndl.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - nan_sched_covered_by_avail_entries
    linkageType: ''
    returnType: bool
    signature: bool nan_ndl_validate_peer_avail(struct nan_data *nan, struct nan_peer
      *peer)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nan_sched_entries_to_avail_entries
      Src: /src/hostap/src/nan/nan_ndl.c:291,1
    - Dst: nan_sched_to_bf
      Src: /src/hostap/src/nan/nan_ndl.c:297,1
    - Dst: nan_flush_avail_entries
      Src: /src/hostap/src/nan/nan_ndl.c:298,1
    - Dst: nan_sched_bf_covered_by_avail_entries_and_chan
      Src: /src/hostap/src/nan/nan_ndl.c:306,1
    - Dst: bitfield_is_subset
      Src: /src/hostap/src/nan/nan_ndl.c:315,1
    - Dst: bitfield_is_subset
      Src: /src/hostap/src/nan/nan_ndl.c:316,1
    - Dst: bitfield_free
      Src: /src/hostap/src/nan/nan_ndl.c:330,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 7
    argNames:
    - nan
    - avail_entries
    - sched
    - sched_len
    - common_bf
    - op_class
    - cbm
    argTypes:
    - struct nan_data*
    - struct dl_list*
    - u8*
    - size_t
    - struct bitfield*
    - u8
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 272
    functionDepth: 4
    functionLinenumber: 272
    functionLinenumberEnd: 332
    functionName: nan_ndl_match_sched_vs_common
    functionSourceFile: /src/hostap/src/nan/nan_ndl.c
    functionUses: 0
    functionsReached:
    - nan_sched_to_bf
    - bitfield_is_subset
    - nan_flush_avail_entries
    - bitfield_free
    - nan_sched_bf_covered_by_avail_entries_and_chan
    - nan_sched_entries_to_avail_entries
    linkageType: ''
    returnType: enum nan_ndl_ver
    signature: "enum nan_ndl_ver nan_ndl_match_sched_vs_common(struct nan_data *nan,\n\t\t\t
      \     struct dl_list *avail_entries,\n\t\t\t      const u8 *sched, size_t sched_len,\n\t\t\t
      \     const struct bitfield *common_bf,\n\t\t\t      u8 op_class, u16 cbm)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:344,1
    - Dst: bitfield_size
      Src: /src/hostap/src/nan/nan_ndl.c:348,1
    - Dst: bitfield_is_set
      Src: /src/hostap/src/nan/nan_ndl.c:355,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:364,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:373,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 3
    argNames:
    - nan
    - peer
    - common_bf
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - struct bitfield*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 378
    functionName: nan_ndl_meets_qos
    functionSourceFile: /src/hostap/src/nan/nan_ndl.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - bitfield_is_set
    - bitfield_size
    linkageType: ''
    returnType: bool
    signature: "bool nan_ndl_meets_qos(struct nan_data *nan, const struct nan_peer
      *peer,\n\t\t       const struct bitfield *common_bf)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: nan_tbm_to_bf
      Src: /src/hostap/src/nan/nan_ndl.c:394,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:396,1
    - Dst: bitfield_alloc
      Src: /src/hostap/src/nan/nan_ndl.c:403,1
    - Dst: bitfield_size
      Src: /src/hostap/src/nan/nan_ndl.c:403,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:405,1
    - Dst: bitfield_free
      Src: /src/hostap/src/nan/nan_ndl.c:408,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:427,1
    - Dst: nan_convert_chan_sched_to_bf
      Src: /src/hostap/src/nan/nan_ndl.c:436,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:440,1
    - Dst: bitfield_dup
      Src: /src/hostap/src/nan/nan_ndl.c:449,1
    - Dst: bitfield_intersect_in_place
      Src: /src/hostap/src/nan/nan_ndl.c:452,1
    - Dst: bitfield_union_in_place
      Src: /src/hostap/src/nan/nan_ndl.c:453,1
    - Dst: bitfield_free
      Src: /src/hostap/src/nan/nan_ndl.c:454,1
    - Dst: nan_avail_entries_to_bf
      Src: /src/hostap/src/nan/nan_ndl.c:459,1
    - Dst: bitfield_free
      Src: /src/hostap/src/nan/nan_ndl.c:463,1
    - Dst: bitfield_intersect_in_place
      Src: /src/hostap/src/nan/nan_ndl.c:467,1
    - Dst: bitfield_free
      Src: /src/hostap/src/nan/nan_ndl.c:468,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:472,1
    - Dst: bitfield_free
      Src: /src/hostap/src/nan/nan_ndl.c:475,1
    - Dst: bitfield_union_in_place
      Src: /src/hostap/src/nan/nan_ndl.c:487,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:489,1
    - Dst: bitfield_free
      Src: /src/hostap/src/nan/nan_ndl.c:492,1
    - Dst: bitfield_dup
      Src: /src/hostap/src/nan/nan_ndl.c:499,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:501,1
    - Dst: bitfield_free
      Src: /src/hostap/src/nan/nan_ndl.c:504,1
    - Dst: bitfield_free
      Src: /src/hostap/src/nan/nan_ndl.c:512,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:517,1
    - Dst: bitfield_is_subset
      Src: /src/hostap/src/nan/nan_ndl.c:529,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:530,1
    - Dst: bitfield_free
      Src: /src/hostap/src/nan/nan_ndl.c:538,1
    - Dst: nan_ndl_match_sched_vs_common
      Src: /src/hostap/src/nan/nan_ndl.c:546,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:553,1
    - Dst: nan_ndl_match_sched_vs_common
      Src: /src/hostap/src/nan/nan_ndl.c:568,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:573,1
    - Dst: nan_ndl_meets_qos
      Src: /src/hostap/src/nan/nan_ndl.c:581,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:582,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:585,1
    - Dst: bitfield_free
      Src: /src/hostap/src/nan/nan_ndl.c:591,1
    - Dst: bitfield_free
      Src: /src/hostap/src/nan/nan_ndl.c:592,1
    - Dst: bitfield_free
      Src: /src/hostap/src/nan/nan_ndl.c:593,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:595,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:603,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 124
    argCount: 4
    argNames:
    - nan
    - peer
    - can_counter
    - reason
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - bool
    - enum nan_reason*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 381
    functionDepth: 5
    functionLinenumber: 381
    functionLinenumberEnd: 609
    functionName: nan_ndl_determine_status
    functionSourceFile: /src/hostap/src/nan/nan_ndl.c
    functionUses: 0
    functionsReached:
    - nan_convert_chan_sched_to_bf
    - wpa_printf
    - nan_avail_entries_to_bf
    - bitfield_union_in_place
    - bitfield_is_subset
    - bitfield_alloc
    - nan_ndl_match_sched_vs_common
    - bitfield_dup
    - nan_tbm_to_bf
    - bitfield_size
    - bitfield_free
    - nan_ndl_meets_qos
    - bitfield_intersect_in_place
    linkageType: ''
    returnType: enum nan_ndl_status
    signature: "enum nan_ndl_status nan_ndl_determine_status(struct nan_data *nan,\n\t\t\t\t\t\t
      \   struct nan_peer *peer,\n\t\t\t\t\t\t    bool can_counter,\n\t\t\t\t\t\t
      \   enum nan_reason *reason)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:634,1
    - Dst: nan_ndl_alloc
      Src: /src/hostap/src/nan/nan_ndl.c:639,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:649,1
    - Dst: MAC2STR
      Src: /src/hostap/src/nan/nan_ndl.c:651,1
    - Dst: nan_ndl_state_str
      Src: /src/hostap/src/nan/nan_ndl.c:652,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:656,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:665,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:678,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/nan/nan_ndl.c:683,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_ndl.c:684,1
    - Dst: nan_ndl_sched_print
      Src: /src/hostap/src/nan/nan_ndl.c:685,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/nan/nan_ndl.c:690,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/nan/nan_ndl.c:690,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/nan/nan_ndl.c:691,1
    - Dst: nan_ndl_sched_print
      Src: /src/hostap/src/nan/nan_ndl.c:698,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/nan/nan_ndl.c:700,1
    - Dst: os_get_random
      Src: /src/hostap/src/nan/nan_ndl.c:701,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:705,1
    - Dst: MAC2STR
      Src: /src/hostap/src/nan/nan_ndl.c:707,1
    - Dst: nan_ndl_set_state
      Src: /src/hostap/src/nan/nan_ndl.c:715,1
    - Dst: nan_ndl_determine_status
      Src: /src/hostap/src/nan/nan_ndl.c:718,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:728,1
    - Dst: nan_ndl_state_str
      Src: /src/hostap/src/nan/nan_ndl.c:730,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:736,1
    - Dst: nan_ndl_clear
      Src: /src/hostap/src/nan/nan_ndl.c:748,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 80
    argCount: 4
    argNames:
    - nan
    - peer
    - params
    - dialog_token
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - struct nan_ndp_params*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 625
    functionDepth: 6
    functionLinenumber: 625
    functionLinenumberEnd: 752
    functionName: nan_ndl_setup
    functionSourceFile: /src/hostap/src/nan/nan_ndl.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - nan_ndl_state_str
    - os_memcpy
    - nan_ndl_determine_status
    - nan_ndl_set_state
    - wpabuf_len
    - nan_ndl_sched_print
    - wpabuf_free
    - is_zero_ether_addr
    - wpabuf_alloc_copy
    - os_get_random
    - wpabuf_head
    - MAC2STR
    - nan_ndl_clear
    - nan_ndl_alloc
    linkageType: ''
    returnType: int
    signature: "int nan_ndl_setup(struct nan_data *nan, struct nan_peer *peer,\n\t\t
      \ const struct nan_ndp_params *params,\n\t\t  u8 dialog_token)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:767,1
    - Dst: MAC2STR
      Src: /src/hostap/src/nan/nan_ndl.c:770,1
    - Dst: nan_ndl_state_str
      Src: /src/hostap/src/nan/nan_ndl.c:770,1
    - Dst: nan_ndl_reset
      Src: /src/hostap/src/nan/nan_ndl.c:774,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - nan
    - peer
    - reason
    - reset_state
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - enum nan_reason
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 762
    functionDepth: 3
    functionLinenumber: 762
    functionLinenumberEnd: 779
    functionName: nan_ndl_setup_failure
    functionSourceFile: /src/hostap/src/nan/nan_ndl.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    - nan_ndl_reset
    - nan_ndl_state_str
    linkageType: ''
    returnType: void
    signature: "void nan_ndl_setup_failure(struct nan_data *nan, struct nan_peer *peer,\n\t\t\t
      \  enum nan_reason reason, bool reset_state)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:799,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_ndl.c:804,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:808,1
    - Dst: MAC2STR
      Src: /src/hostap/src/nan/nan_ndl.c:809,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 6
    argNames:
    - nan
    - ndc_attr
    - ndc_attr_len
    - ndc_id
    - ndc_schedule
    - ndc_schedule_len
    argTypes:
    - struct nan_data*
    - struct ieee80211_ndc*
    - u16
    - u8*
    - u8**
    - u16*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 782
    functionDepth: 1
    functionLinenumber: 782
    functionLinenumberEnd: 811
    functionName: nan_ndl_parse_ndc_attr
    functionSourceFile: /src/hostap/src/nan/nan_ndl.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    - os_memcpy
    linkageType: ''
    returnType: int
    signature: "int nan_ndl_parse_ndc_attr(struct nan_data *nan,\n\t\t\t\t  const
      struct ieee80211_ndc *ndc_attr,\n\t\t\t\t  u16 ndc_attr_len, u8 *ndc_id,\n\t\t\t\t
      \ const u8 **ndc_schedule,\n\t\t\t\t  u16 *ndc_schedule_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: le_to_host16
      Src: /src/hostap/src/nan/nan_ndl.c:820,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:822,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - nan
    - qos_attr
    - qos_attr_len
    - min_slots
    - max_latency
    argTypes:
    - struct nan_data*
    - struct ieee80211_nan_qos*
    - u16
    - u8*
    - u16*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 814
    functionDepth: 1
    functionLinenumber: 814
    functionLinenumberEnd: 825
    functionName: nan_ndl_parse_qos_attr
    functionSourceFile: /src/hostap/src/nan/nan_ndl.c
    functionUses: 0
    functionsReached:
    - le_to_host16
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int nan_ndl_parse_qos_attr(struct nan_data *nan,\n\t\t\t\t  const
      struct ieee80211_nan_qos *qos_attr,\n\t\t\t\t  u16 qos_attr_len,\n\t\t\t\t  u8
      *min_slots, u16 *max_latency)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:834,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:837,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:843,1
    - Dst: nan_ndl_alloc
      Src: /src/hostap/src/nan/nan_ndl.c:849,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/nan/nan_ndl.c:861,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_ndl.c:862,1
    - Dst: os_free
      Src: /src/hostap/src/nan/nan_ndl.c:865,1
    - Dst: os_memdup
      Src: /src/hostap/src/nan/nan_ndl.c:868,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:871,1
    - Dst: os_memdup
      Src: /src/hostap/src/nan/nan_ndl.c:884,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:887,1
    - Dst: nan_ndl_validate_peer_avail
      Src: /src/hostap/src/nan/nan_ndl.c:894,1
    - Dst: nan_ndl_set_state
      Src: /src/hostap/src/nan/nan_ndl.c:900,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:902,1
    - Dst: nan_ndl_reset
      Src: /src/hostap/src/nan/nan_ndl.c:906,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 55
    argCount: 3
    argNames:
    - nan
    - peer
    - params
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - struct ndl_attr_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 828
    functionDepth: 5
    functionLinenumber: 828
    functionLinenumberEnd: 908
    functionName: nan_ndl_attr_handle_req
    functionSourceFile: /src/hostap/src/nan/nan_ndl.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - nan_ndl_set_state
    - os_memdup
    - is_zero_ether_addr
    - nan_ndl_reset
    - nan_ndl_validate_peer_avail
    - os_free
    - nan_ndl_alloc
    linkageType: ''
    returnType: int
    signature: "int nan_ndl_attr_handle_req(struct nan_data *nan, struct nan_peer
      *peer,\n\t\t\t\t   const struct ndl_attr_params *params)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:917,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:920,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:926,1
    - Dst: nan_ndl_state_str
      Src: /src/hostap/src/nan/nan_ndl.c:928,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:938,1
    - Dst: nan_ndl_set_state
      Src: /src/hostap/src/nan/nan_ndl.c:944,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:947,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:955,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/nan/nan_ndl.c:964,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:965,1
    - Dst: os_memcmp
      Src: /src/hostap/src/nan/nan_ndl.c:969,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:970,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_ndl.c:971,1
    - Dst: os_free
      Src: /src/hostap/src/nan/nan_ndl.c:982,1
    - Dst: os_memdup
      Src: /src/hostap/src/nan/nan_ndl.c:985,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:988,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:999,1
    - Dst: os_free
      Src: /src/hostap/src/nan/nan_ndl.c:1004,1
    - Dst: os_memdup
      Src: /src/hostap/src/nan/nan_ndl.c:1006,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:1009,1
    - Dst: nan_ndl_validate_peer_avail
      Src: /src/hostap/src/nan/nan_ndl.c:1017,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:1021,1
    - Dst: nan_ndl_set_state
      Src: /src/hostap/src/nan/nan_ndl.c:1025,1
    - Dst: nan_ndl_clear
      Src: /src/hostap/src/nan/nan_ndl.c:1030,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 81
    argCount: 3
    argNames:
    - nan
    - peer
    - params
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - struct ndl_attr_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1035
      start: 911
    functionDepth: 5
    functionLinenumber: 911
    functionLinenumberEnd: 1035
    functionName: nan_ndl_attr_handle_resp
    functionSourceFile: /src/hostap/src/nan/nan_ndl.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - nan_ndl_state_str
    - os_memcpy
    - nan_ndl_set_state
    - os_memdup
    - is_zero_ether_addr
    - nan_ndl_validate_peer_avail
    - nan_ndl_clear
    - os_memcmp
    - os_free
    linkageType: ''
    returnType: int
    signature: "int nan_ndl_attr_handle_resp(struct nan_data *nan, struct nan_peer
      *peer,\n\t\t\t\t    const struct ndl_attr_params *params)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:1045,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:1050,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:1063,1
    - Dst: nan_ndl_set_state
      Src: /src/hostap/src/nan/nan_ndl.c:1069,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:1072,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:1081,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/nan/nan_ndl.c:1087,1
    - Dst: os_memcmp
      Src: /src/hostap/src/nan/nan_ndl.c:1088,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:1089,1
    - Dst: os_memcpy
      Src: /src/hostap/src/nan/nan_ndl.c:1090,1
    - Dst: os_free
      Src: /src/hostap/src/nan/nan_ndl.c:1101,1
    - Dst: os_memdup
      Src: /src/hostap/src/nan/nan_ndl.c:1104,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:1107,1
    - Dst: os_free
      Src: /src/hostap/src/nan/nan_ndl.c:1119,1
    - Dst: os_memdup
      Src: /src/hostap/src/nan/nan_ndl.c:1122,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:1125,1
    - Dst: nan_ndl_validate_peer_avail
      Src: /src/hostap/src/nan/nan_ndl.c:1133,1
    - Dst: nan_ndl_set_state
      Src: /src/hostap/src/nan/nan_ndl.c:1137,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 66
    argCount: 3
    argNames:
    - nan
    - peer
    - params
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - struct ndl_attr_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1144
      start: 1038
    functionDepth: 5
    functionLinenumber: 1038
    functionLinenumberEnd: 1144
    functionName: nan_ndl_attr_handle_conf
    functionSourceFile: /src/hostap/src/nan/nan_ndl.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_printf
    - nan_ndl_set_state
    - os_memdup
    - is_zero_ether_addr
    - nan_ndl_validate_peer_avail
    - os_memcmp
    - os_free
    linkageType: ''
    returnType: int
    signature: "int nan_ndl_attr_handle_conf(struct nan_data *nan, struct nan_peer
      *peer,\n\t\t\t\t    const struct ndl_attr_params *params)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/nan/nan_ndl.c:1170,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:1185,1
    - Dst: nan_ndl_set_state
      Src: /src/hostap/src/nan/nan_ndl.c:1187,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:1191,1
    - Dst: BITS
      Src: /src/hostap/src/nan/nan_ndl.c:1206,1
    - Dst: BITS
      Src: /src/hostap/src/nan/nan_ndl.c:1209,1
    - Dst: le_to_host16
      Src: /src/hostap/src/nan/nan_ndl.c:1212,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:1215,1
    - Dst: nan_ndl_state_str
      Src: /src/hostap/src/nan/nan_ndl.c:1217,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:1220,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:1224,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:1230,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:1247,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/nan/nan_ndl.c:1253,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:1257,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/nan/nan_ndl.c:1266,1
    - Dst: nan_ndl_parse_ndc_attr
      Src: /src/hostap/src/nan/nan_ndl.c:1268,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:1283,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:1291,1
    - Dst: nan_ndl_parse_qos_attr
      Src: /src/hostap/src/nan/nan_ndl.c:1295,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:1306,1
    - Dst: BITS
      Src: /src/hostap/src/nan/nan_ndl.c:1316,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:1321,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:1326,1
    - Dst: nan_ndl_attr_handle_req
      Src: /src/hostap/src/nan/nan_ndl.c:1332,1
    - Dst: nan_ndl_attr_handle_resp
      Src: /src/hostap/src/nan/nan_ndl.c:1334,1
    - Dst: nan_ndl_attr_handle_conf
      Src: /src/hostap/src/nan/nan_ndl.c:1336,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 102
    argCount: 3
    argNames:
    - nan
    - peer
    - msg
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - struct nan_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1340
      start: 1158
    functionDepth: 6
    functionLinenumber: 1158
    functionLinenumberEnd: 1340
    functionName: nan_ndl_handle_ndl_attr
    functionSourceFile: /src/hostap/src/nan/nan_ndl.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - nan_ndl_state_str
    - nan_ndl_attr_handle_req
    - BITS
    - nan_ndl_attr_handle_conf
    - nan_ndl_set_state
    - nan_ndl_attr_handle_resp
    - WPA_GET_LE16
    - dl_list_for_each
    - le_to_host16
    - nan_ndl_parse_ndc_attr
    - nan_ndl_parse_qos_attr
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int nan_ndl_handle_ndl_attr(struct nan_data *nan, struct nan_peer
      *peer,\n\t\t\t    struct nan_msg *msg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:1365,1
    - Dst: nan_ndl_state_str
      Src: /src/hostap/src/nan/nan_ndl.c:1367,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:1371,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:1376,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:1385,1
    - Dst: nan_add_avail_attrs
      Src: /src/hostap/src/nan/nan_ndl.c:1390,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - nan
    - peer
    - buf
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1394
      start: 1354
    functionDepth: 5
    functionLinenumber: 1354
    functionLinenumberEnd: 1394
    functionName: nan_ndl_add_avail_attrs
    functionSourceFile: /src/hostap/src/nan/nan_ndl.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - nan_add_avail_attrs
    - nan_ndl_state_str
    linkageType: ''
    returnType: int
    signature: "int nan_ndl_add_avail_attrs(struct nan_data *nan, const struct nan_peer
      *peer,\n\t\t\t    struct wpabuf *buf)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:1418,1
    - Dst: nan_ndl_state_str
      Src: /src/hostap/src/nan/nan_ndl.c:1419,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:1422,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:1453,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_ndl.c:1463,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/nan/nan_ndl.c:1464,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_ndl.c:1466,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_ndl.c:1467,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_ndl.c:1468,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_ndl.c:1469,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/nan/nan_ndl.c:1472,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/nan/nan_ndl.c:1474,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/nan/nan_ndl.c:1474,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 3
    argNames:
    - nan
    - peer
    - buf
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1477
      start: 1404
    functionDepth: 1
    functionLinenumber: 1404
    functionLinenumberEnd: 1477
    functionName: nan_ndl_add_ndl_attr
    functionSourceFile: /src/hostap/src/nan/nan_ndl.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - nan_ndl_state_str
    - wpabuf_put
    - wpabuf_put_u8
    - wpabuf_put_le16
    - WPA_PUT_LE16
    linkageType: ''
    returnType: int
    signature: "int nan_ndl_add_ndl_attr(struct nan_data *nan, const struct nan_peer
      *peer,\n\t\t\t struct wpabuf *buf)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:1505,1
    - Dst: nan_ndl_state_str
      Src: /src/hostap/src/nan/nan_ndl.c:1506,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:1518,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_ndl.c:1525,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/nan/nan_ndl.c:1526,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/nan/nan_ndl.c:1530,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_ndl.c:1531,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_ndl.c:1534,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/nan/nan_ndl.c:1543,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_ndl.c:1546,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/nan/nan_ndl.c:1547,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 3
    argNames:
    - nan
    - peer
    - buf
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1550
      start: 1487
    functionDepth: 1
    functionLinenumber: 1487
    functionLinenumberEnd: 1550
    functionName: nan_ndl_add_ndc_attr
    functionSourceFile: /src/hostap/src/nan/nan_ndl.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - nan_ndl_state_str
    - wpabuf_put_data
    - wpabuf_put_u8
    - wpabuf_put_le16
    linkageType: ''
    returnType: int
    signature: "int nan_ndl_add_ndc_attr(struct nan_data *nan, const struct nan_peer
      *peer,\n\t\t\t struct wpabuf *buf)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:1571,1
    - Dst: nan_ndl_state_str
      Src: /src/hostap/src/nan/nan_ndl.c:1572,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_ndl.c:1593,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/nan/nan_ndl.c:1594,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_ndl.c:1595,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/nan/nan_ndl.c:1596,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - nan
    - peer
    - buf
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1599
      start: 1560
    functionDepth: 1
    functionLinenumber: 1560
    functionLinenumberEnd: 1599
    functionName: nan_ndl_add_qos_attr
    functionSourceFile: /src/hostap/src/nan/nan_ndl.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpabuf_put_u8
    - nan_ndl_state_str
    - wpabuf_put_le16
    linkageType: ''
    returnType: int
    signature: "int nan_ndl_add_qos_attr(struct nan_data *nan,\n\t\t\t const struct
      nan_peer *peer,\n\t\t\t struct wpabuf *buf)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:1628,1
    - Dst: MAC2STR
      Src: /src/hostap/src/nan/nan_ndl.c:1630,1
    - Dst: nan_ndl_state_str
      Src: /src/hostap/src/nan/nan_ndl.c:1630,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:1644,1
    - Dst: nan_ndl_set_state
      Src: /src/hostap/src/nan/nan_ndl.c:1648,1
    - Dst: nan_ndl_set_state
      Src: /src/hostap/src/nan/nan_ndl.c:1654,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:1662,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:1673,1
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:1679,1
    - Dst: nan_ndl_set_state
      Src: /src/hostap/src/nan/nan_ndl.c:1680,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 3
    argNames:
    - nan
    - peer
    - subtype
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - enum nan_subtype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1688
      start: 1615
    functionDepth: 2
    functionLinenumber: 1615
    functionLinenumberEnd: 1688
    functionName: nan_ndl_naf_sent
    functionSourceFile: /src/hostap/src/nan/nan_ndl.c
    functionUses: 1
    functionsReached:
    - MAC2STR
    - wpa_printf
    - nan_ndl_state_str
    - nan_ndl_set_state
    linkageType: ''
    returnType: int
    signature: "int nan_ndl_naf_sent(struct nan_data *nan, struct nan_peer *peer,\n\t\t
      \    enum nan_subtype subtype)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/nan/nan_ndl.c:1709,1
    - Dst: nan_ndl_state_str
      Src: /src/hostap/src/nan/nan_ndl.c:1710,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_ndl.c:1720,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/nan/nan_ndl.c:1721,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/nan/nan_ndl.c:1721,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/nan/nan_ndl.c:1722,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/nan/nan_ndl.c:1723,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - nan
    - peer
    - buf
    argTypes:
    - struct nan_data*
    - struct nan_peer*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1724
      start: 1698
    functionDepth: 1
    functionLinenumber: 1698
    functionLinenumberEnd: 1724
    functionName: nan_ndl_add_elem_container_attr
    functionSourceFile: /src/hostap/src/nan/nan_ndl.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - nan_ndl_state_str
    - wpabuf_put_u8
    - wpabuf_len
    - wpabuf_put_le16
    - wpabuf_put_buf
    linkageType: ''
    returnType: void
    signature: "void nan_ndl_add_elem_container_attr(const struct nan_data *nan,\n\t\t\t\t
      \    const struct nan_peer *peer,\n\t\t\t\t     struct wpabuf *buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/gas_serv.c:31,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/gas_serv.c:32,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/gas_serv.c:33,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/gas_serv.c:34,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/gas_serv.c:35,1
    - Dst: wpabuf_put_be24
      Src: /src/hostap/src/ap/gas_serv.c:36,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/gas_serv.c:37,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/gas_serv.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - buf
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 39
    functionName: gas_serv_write_dpp_adv_proto
    functionSourceFile: /src/hostap/src/ap/gas_serv.c
    functionUses: 0
    functionsReached:
    - wpabuf_put_u8
    - wpabuf_put_be24
    linkageType: ''
    returnType: void
    signature: void gas_serv_write_dpp_adv_proto(struct wpabuf *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_mhead_u8
      Src: /src/hostap/src/ap/gas_serv.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: convert_to_protected_dual
    functionSourceFile: /src/hostap/src/ap/gas_serv.c
    functionUses: 0
    functionsReached:
    - wpabuf_mhead_u8
    linkageType: ''
    returnType: void
    signature: void convert_to_protected_dual(struct wpabuf *msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/ap/gas_serv.c:55,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/gas_serv.c:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - hapd
    - addr
    argTypes:
    - struct hostapd_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 61
    functionName: gas_serv_get_peer
    functionSourceFile: /src/hostap/src/ap/gas_serv.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    - ether_addr_equal
    linkageType: ''
    returnType: struct gas_peer
    signature: "struct gas_peer * gas_serv_get_peer(struct hostapd_data *hapd,\n\t\t\t\t\t
      \  const u8 *addr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_len
      Src: /src/hostap/src/ap/gas_serv.c:69,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_serv.c:70,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/gas_serv.c:74,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_serv.c:78,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/gas_serv.c:79,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/gas_serv.c:80,1
    - Dst: dl_list_add
      Src: /src/hostap/src/ap/gas_serv.c:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - hapd
    - addr
    argTypes:
    - struct hostapd_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 84
    functionName: gas_serv_add_peer
    functionSourceFile: /src/hostap/src/ap/gas_serv.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - MAC2STR
    - os_zalloc
    - dl_list_add
    - dl_list_len
    linkageType: ''
    returnType: struct gas_peer
    signature: "struct gas_peer * gas_serv_add_peer(struct hostapd_data *hapd,\n\t\t\t\t\t
      \  const u8 *addr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_serv.c:92,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/gas_serv.c:93,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/gas_serv.c:94,1
    - Dst: dl_list_del
      Src: /src/hostap/src/ap/gas_serv.c:95,1
    - Dst: gas_serv_dialog_clear
      Src: /src/hostap/src/ap/gas_serv.c:97,1
    - Dst: os_free
      Src: /src/hostap/src/ap/gas_serv.c:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - hapd
    - peer
    argTypes:
    - struct hostapd_data*
    - struct gas_peer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 99
    functionName: gas_serv_remove_peer
    functionSourceFile: /src/hostap/src/ap/gas_serv.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dl_list_del
    - eloop_cancel_timeout
    - MAC2STR
    - os_free
    - gas_serv_dialog_clear
    linkageType: ''
    returnType: void
    signature: "void gas_serv_remove_peer(struct hostapd_data *hapd,\n\t\t\t\t struct
      gas_peer *peer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_serv.c:107,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/gas_serv.c:108,1
    - Dst: gas_serv_remove_peer
      Src: /src/hostap/src/ap/gas_serv.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 110
    functionName: gas_serv_peer_timeout
    functionSourceFile: /src/hostap/src/ap/gas_serv.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    - gas_serv_remove_peer
    linkageType: ''
    returnType: void
    signature: void gas_serv_peer_timeout(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gas_serv_get_peer
      Src: /src/hostap/src/ap/gas_serv.c:120,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_serv.c:126,1
    - Dst: gas_serv_add_peer
      Src: /src/hostap/src/ap/gas_serv.c:128,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_serv.c:130,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/gas_serv.c:131,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/gas_serv.c:135,1
    - Dst: eloop_replenish_timeout
      Src: /src/hostap/src/ap/gas_serv.c:138,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/gas_serv.c:154,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/gas_serv.c:156,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - hapd
    - addr
    - dialog_token
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 159
    functionName: gas_dialog_create
    functionSourceFile: /src/hostap/src/ap/gas_serv.c
    functionUses: 0
    functionsReached:
    - gas_serv_add_peer
    - wpa_printf
    - wpa_msg
    - eloop_replenish_timeout
    - gas_serv_get_peer
    - MAC2STR
    - eloop_register_timeout
    linkageType: ''
    returnType: struct gas_dialog_info
    signature: 'struct gas_dialog_info *

      gas_dialog_create(struct hostapd_data *hapd, const u8 *addr, u8 dialog_token)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gas_serv_get_peer
      Src: /src/hostap/src/ap/gas_serv.c:169,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_serv.c:171,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/gas_serv.c:172,1
    - Dst: eloop_replenish_timeout
      Src: /src/hostap/src/ap/gas_serv.c:179,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_serv.c:183,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/gas_serv.c:184,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - hapd
    - addr
    - dialog_token
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 162
    functionDepth: 2
    functionLinenumber: 162
    functionLinenumberEnd: 186
    functionName: gas_serv_dialog_find
    functionSourceFile: /src/hostap/src/ap/gas_serv.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    - eloop_replenish_timeout
    - gas_serv_get_peer
    linkageType: ''
    returnType: struct gas_dialog_info
    signature: "struct gas_dialog_info *\ngas_serv_dialog_find(struct hostapd_data
      *hapd, const u8 *addr,\n\t\t     u8 dialog_token)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/gas_serv.c:191,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/gas_serv.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dia
    argTypes:
    - struct gas_dialog_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 193
    functionName: gas_serv_dialog_clear
    functionSourceFile: /src/hostap/src/ap/gas_serv.c
    functionUses: 1
    functionsReached:
    - wpabuf_free
    - os_memset
    linkageType: ''
    returnType: void
    signature: void gas_serv_dialog_clear(struct gas_dialog_info *dia)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gas_serv_get_peer
      Src: /src/hostap/src/ap/gas_serv.c:202,1
    - Dst: gas_serv_remove_peer
      Src: /src/hostap/src/ap/gas_serv.c:211,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - hapd
    - sta_addr
    argTypes:
    - struct hostapd_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 212
    functionName: gas_serv_free_dialogs
    functionSourceFile: /src/hostap/src/ap/gas_serv.c
    functionUses: 0
    functionsReached:
    - gas_serv_remove_peer
    - gas_serv_get_peer
    linkageType: ''
    returnType: void
    signature: "void gas_serv_free_dialogs(struct hostapd_data *hapd,\n\t\t\t\t  const
      u8 *sta_addr)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_resize
      Src: /src/hostap/src/ap/gas_serv.c:222,1
    - Dst: gas_anqp_add_element
      Src: /src/hostap/src/ap/gas_serv.c:226,1
    - Dst: wpabuf_put_be24
      Src: /src/hostap/src/ap/gas_serv.c:227,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/gas_serv.c:228,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/gas_serv.c:229,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/gas_serv.c:230,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/gas_serv.c:231,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/gas_serv.c:233,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/gas_serv.c:235,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/gas_serv.c:237,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/gas_serv.c:239,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/gas_serv.c:241,1
    - Dst: gas_anqp_set_element_len
      Src: /src/hostap/src/ap/gas_serv.c:242,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - hapd
    - _buf
    argTypes:
    - struct hostapd_data*
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 243
    functionName: anqp_add_hs_capab_list
    functionSourceFile: /src/hostap/src/ap/gas_serv.c
    functionUses: 0
    functionsReached:
    - wpabuf_resize
    - wpabuf_put_u8
    - gas_anqp_add_element
    - gas_anqp_set_element_len
    - wpabuf_put_be24
    linkageType: ''
    returnType: void
    signature: "void anqp_add_hs_capab_list(struct hostapd_data *hapd,\n\t\t\t\t   struct
      wpabuf **_buf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/ap/gas_serv.c:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - hapd
    - infoid
    argTypes:
    - struct hostapd_data*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 259
    functionName: get_anqp_elem
    functionSourceFile: /src/hostap/src/ap/gas_serv.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    linkageType: ''
    returnType: struct anqp_element
    signature: "struct anqp_element * get_anqp_elem(struct hostapd_data *hapd,\n\t\t\t\t\t
      \  u16 infoid)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_anqp_elem
      Src: /src/hostap/src/ap/gas_serv.c:267,1
    - Dst: wpabuf_resize
      Src: /src/hostap/src/ap/gas_serv.c:270,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/gas_serv.c:270,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/ap/gas_serv.c:273,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/ap/gas_serv.c:274,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/gas_serv.c:274,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/ap/gas_serv.c:275,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - hapd
    - buf
    - infoid
    argTypes:
    - struct hostapd_data*
    - struct wpabuf**
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 276
    functionName: anqp_add_elem
    functionSourceFile: /src/hostap/src/ap/gas_serv.c
    functionUses: 0
    functionsReached:
    - wpabuf_resize
    - wpabuf_len
    - wpabuf_put_le16
    - wpabuf_put_buf
    - get_anqp_elem
    linkageType: ''
    returnType: void
    signature: "void anqp_add_elem(struct hostapd_data *hapd, struct wpabuf **buf,\n\t\t\t
      \ u16 infoid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_anqp_elem
      Src: /src/hostap/src/ap/gas_serv.c:282,1
    - Dst: anqp_add_elem
      Src: /src/hostap/src/ap/gas_serv.c:283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - hapd
    - buf
    - infoid
    argTypes:
    - struct hostapd_data*
    - struct wpabuf**
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 279
    functionDepth: 2
    functionLinenumber: 279
    functionLinenumberEnd: 288
    functionName: anqp_add_override
    functionSourceFile: /src/hostap/src/ap/gas_serv.c
    functionUses: 0
    functionsReached:
    - get_anqp_elem
    - anqp_add_elem
    linkageType: ''
    returnType: int
    signature: "int anqp_add_override(struct hostapd_data *hapd, struct wpabuf **buf,\n\t\t\t
      \    u16 infoid)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: anqp_add_override
      Src: /src/hostap/src/ap/gas_serv.c:298,1
    - Dst: gas_anqp_add_element
      Src: /src/hostap/src/ap/gas_serv.c:302,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/ap/gas_serv.c:303,1
    - Dst: get_anqp_elem
      Src: /src/hostap/src/ap/gas_serv.c:304,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/ap/gas_serv.c:305,1
    - Dst: get_anqp_elem
      Src: /src/hostap/src/ap/gas_serv.c:306,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/ap/gas_serv.c:307,1
    - Dst: get_anqp_elem
      Src: /src/hostap/src/ap/gas_serv.c:309,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/ap/gas_serv.c:310,1
    - Dst: get_anqp_elem
      Src: /src/hostap/src/ap/gas_serv.c:312,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/ap/gas_serv.c:313,1
    - Dst: get_anqp_elem
      Src: /src/hostap/src/ap/gas_serv.c:315,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/ap/gas_serv.c:316,1
    - Dst: get_anqp_elem
      Src: /src/hostap/src/ap/gas_serv.c:318,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/ap/gas_serv.c:319,1
    - Dst: get_anqp_elem
      Src: /src/hostap/src/ap/gas_serv.c:321,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/ap/gas_serv.c:322,1
    - Dst: get_anqp_elem
      Src: /src/hostap/src/ap/gas_serv.c:323,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/ap/gas_serv.c:324,1
    - Dst: get_anqp_elem
      Src: /src/hostap/src/ap/gas_serv.c:325,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/ap/gas_serv.c:326,1
    - Dst: get_anqp_elem
      Src: /src/hostap/src/ap/gas_serv.c:327,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/ap/gas_serv.c:328,1
    - Dst: get_anqp_elem
      Src: /src/hostap/src/ap/gas_serv.c:329,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/ap/gas_serv.c:330,1
    - Dst: get_anqp_elem
      Src: /src/hostap/src/ap/gas_serv.c:331,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/ap/gas_serv.c:332,1
    - Dst: get_anqp_elem
      Src: /src/hostap/src/ap/gas_serv.c:333,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/ap/gas_serv.c:334,1
    - Dst: get_anqp_elem
      Src: /src/hostap/src/ap/gas_serv.c:335,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/ap/gas_serv.c:336,1
    - Dst: get_anqp_elem
      Src: /src/hostap/src/ap/gas_serv.c:337,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/ap/gas_serv.c:338,1
    - Dst: dl_list_empty
      Src: /src/hostap/src/ap/gas_serv.c:340,1
    - Dst: get_anqp_elem
      Src: /src/hostap/src/ap/gas_serv.c:341,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/ap/gas_serv.c:342,1
    - Dst: get_anqp_elem
      Src: /src/hostap/src/ap/gas_serv.c:344,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/ap/gas_serv.c:345,1
    - Dst: get_anqp_elem
      Src: /src/hostap/src/ap/gas_serv.c:346,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/ap/gas_serv.c:347,1
    - Dst: get_anqp_elem
      Src: /src/hostap/src/ap/gas_serv.c:348,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/ap/gas_serv.c:349,1
    - Dst: get_anqp_elem
      Src: /src/hostap/src/ap/gas_serv.c:350,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/ap/gas_serv.c:351,1
    - Dst: get_anqp_elem
      Src: /src/hostap/src/ap/gas_serv.c:353,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/ap/gas_serv.c:354,1
    - Dst: anqp_add_hs_capab_list
      Src: /src/hostap/src/ap/gas_serv.c:357,1
    - Dst: gas_anqp_set_element_len
      Src: /src/hostap/src/ap/gas_serv.c:359,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 52
    argCount: 2
    argNames:
    - hapd
    - _buf
    argTypes:
    - struct hostapd_data*
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 291
    functionDepth: 3
    functionLinenumber: 291
    functionLinenumberEnd: 360
    functionName: anqp_add_capab_list
    functionSourceFile: /src/hostap/src/ap/gas_serv.c
    functionUses: 0
    functionsReached:
    - anqp_add_override
    - dl_list_empty
    - wpabuf_put_le16
    - anqp_add_hs_capab_list
    - gas_anqp_add_element
    - gas_anqp_set_element_len
    - get_anqp_elem
    linkageType: ''
    returnType: void
    signature: "void anqp_add_capab_list(struct hostapd_data *hapd,\n\t\t\t\tstruct
      wpabuf **_buf)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: anqp_add_override
      Src: /src/hostap/src/ap/gas_serv.c:365,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_serv.c:378,1
    - Dst: wpabuf_resize
      Src: /src/hostap/src/ap/gas_serv.c:385,1
    - Dst: gas_anqp_add_element
      Src: /src/hostap/src/ap/gas_serv.c:388,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/gas_serv.c:389,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/gas_serv.c:390,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/gas_serv.c:395,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/ap/gas_serv.c:396,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/ap/gas_serv.c:397,1
    - Dst: gas_anqp_set_element_len
      Src: /src/hostap/src/ap/gas_serv.c:399,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - hapd
    - buf
    argTypes:
    - struct hostapd_data*
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 363
    functionDepth: 3
    functionLinenumber: 363
    functionLinenumberEnd: 401
    functionName: anqp_add_venue_name
    functionSourceFile: /src/hostap/src/ap/gas_serv.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_resize
    - anqp_add_override
    - wpabuf_put_u8
    - wpabuf_put_data
    - gas_anqp_add_element
    - gas_anqp_set_element_len
    linkageType: ''
    returnType: void
    signature: void anqp_add_venue_name(struct hostapd_data *hapd, struct wpabuf **buf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: anqp_add_override
      Src: /src/hostap/src/ap/gas_serv.c:406,1
    - Dst: wpabuf_resize
      Src: /src/hostap/src/ap/gas_serv.c:420,1
    - Dst: gas_anqp_add_element
      Src: /src/hostap/src/ap/gas_serv.c:423,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/gas_serv.c:428,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/gas_serv.c:429,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/ap/gas_serv.c:430,1
    - Dst: gas_anqp_set_element_len
      Src: /src/hostap/src/ap/gas_serv.c:432,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - hapd
    - buf
    argTypes:
    - struct hostapd_data*
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 404
    functionDepth: 3
    functionLinenumber: 404
    functionLinenumberEnd: 434
    functionName: anqp_add_venue_url
    functionSourceFile: /src/hostap/src/ap/gas_serv.c
    functionUses: 0
    functionsReached:
    - wpabuf_resize
    - anqp_add_override
    - wpabuf_put_u8
    - wpabuf_put_data
    - gas_anqp_add_element
    - gas_anqp_set_element_len
    linkageType: ''
    returnType: void
    signature: void anqp_add_venue_url(struct hostapd_data *hapd, struct wpabuf **buf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: anqp_add_override
      Src: /src/hostap/src/ap/gas_serv.c:440,1
    - Dst: wpabuf_resize
      Src: /src/hostap/src/ap/gas_serv.c:444,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/ap/gas_serv.c:447,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/ap/gas_serv.c:448,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/ap/gas_serv.c:449,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - hapd
    - buf
    argTypes:
    - struct hostapd_data*
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 437
    functionDepth: 3
    functionLinenumber: 437
    functionLinenumberEnd: 452
    functionName: anqp_add_network_auth_type
    functionSourceFile: /src/hostap/src/ap/gas_serv.c
    functionUses: 0
    functionsReached:
    - wpabuf_resize
    - anqp_add_override
    - wpabuf_put_data
    - wpabuf_put_le16
    linkageType: ''
    returnType: void
    signature: "void anqp_add_network_auth_type(struct hostapd_data *hapd,\n\t\t\t\t
      \      struct wpabuf **buf)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: anqp_add_override
      Src: /src/hostap/src/ap/gas_serv.c:462,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_serv.c:470,1
    - Dst: wpabuf_resize
      Src: /src/hostap/src/ap/gas_serv.c:478,1
    - Dst: gas_anqp_add_element
      Src: /src/hostap/src/ap/gas_serv.c:481,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/gas_serv.c:486,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/ap/gas_serv.c:487,1
    - Dst: gas_anqp_set_element_len
      Src: /src/hostap/src/ap/gas_serv.c:489,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - hapd
    - buf
    argTypes:
    - struct hostapd_data*
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 455
    functionDepth: 3
    functionLinenumber: 455
    functionLinenumberEnd: 490
    functionName: anqp_add_roaming_consortium
    functionSourceFile: /src/hostap/src/ap/gas_serv.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_resize
    - anqp_add_override
    - wpabuf_put_u8
    - wpabuf_put_data
    - gas_anqp_add_element
    - gas_anqp_set_element_len
    linkageType: ''
    returnType: void
    signature: "void anqp_add_roaming_consortium(struct hostapd_data *hapd,\n\t\t\t\t\tstruct
      wpabuf **buf)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: anqp_add_override
      Src: /src/hostap/src/ap/gas_serv.c:496,1
    - Dst: wpabuf_resize
      Src: /src/hostap/src/ap/gas_serv.c:500,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/ap/gas_serv.c:502,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/ap/gas_serv.c:503,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/gas_serv.c:504,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - hapd
    - buf
    argTypes:
    - struct hostapd_data*
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 493
    functionDepth: 3
    functionLinenumber: 493
    functionLinenumberEnd: 506
    functionName: anqp_add_ip_addr_type_availability
    functionSourceFile: /src/hostap/src/ap/gas_serv.c
    functionUses: 0
    functionsReached:
    - wpabuf_resize
    - anqp_add_override
    - wpabuf_put_u8
    - wpabuf_put_le16
    linkageType: ''
    returnType: void
    signature: "void anqp_add_ip_addr_type_availability(struct hostapd_data *hapd,\n\t\t\t\t\t
      \      struct wpabuf **buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - realm
    argTypes:
    - struct hostapd_nai_realm_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 521
    functionName: anqp_len_nai_realm_eap
    functionSourceFile: /src/hostap/src/ap/gas_serv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t anqp_len_nai_realm_eap(struct hostapd_nai_realm_data *realm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/gas_serv.c:529,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/gas_serv.c:533,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/gas_serv.c:534,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/gas_serv.c:535,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/gas_serv.c:537,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/gas_serv.c:538,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/gas_serv.c:539,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - buf
    - realm
    argTypes:
    - struct wpabuf*
    - struct hostapd_nai_realm_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 542
    functionName: anqp_add_nai_realm_eap
    functionSourceFile: /src/hostap/src/ap/gas_serv.c
    functionUses: 0
    functionsReached:
    - wpabuf_put_u8
    linkageType: ''
    returnType: void
    signature: "void anqp_add_nai_realm_eap(struct wpabuf *buf,\n\t\t\t\t   struct
      hostapd_nai_realm_data *realm)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_serv.c:551,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/gas_serv.c:552,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/ap/gas_serv.c:553,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/gas_serv.c:554,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/gas_serv.c:555,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/gas_serv.c:555,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/ap/gas_serv.c:556,1
    - Dst: anqp_add_nai_realm_eap
      Src: /src/hostap/src/ap/gas_serv.c:557,1
    - Dst: gas_anqp_set_element_len
      Src: /src/hostap/src/ap/gas_serv.c:558,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - buf
    - realm
    - realm_idx
    argTypes:
    - struct wpabuf*
    - struct hostapd_nai_realm_data*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 545
    functionDepth: 2
    functionLinenumber: 545
    functionLinenumberEnd: 559
    functionName: anqp_add_nai_realm_data
    functionSourceFile: /src/hostap/src/ap/gas_serv.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - wpabuf_put
    - wpabuf_put_u8
    - wpabuf_put_str
    - anqp_add_nai_realm_eap
    - gas_anqp_set_element_len
    linkageType: ''
    returnType: void
    signature: "void anqp_add_nai_realm_data(struct wpabuf *buf,\n\t\t\t\t    struct
      hostapd_nai_realm_data *realm,\n\t\t\t\t    unsigned int realm_idx)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/gas_serv.c:580,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/gas_serv.c:588,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/gas_serv.c:596,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/gas_serv.c:622,1
    - Dst: os_strncmp
      Src: /src/hostap/src/ap/gas_serv.c:624,1
    - Dst: anqp_len_nai_realm_eap
      Src: /src/hostap/src/ap/gas_serv.c:629,1
    - Dst: wpabuf_resize
      Src: /src/hostap/src/ap/gas_serv.c:642,1
    - Dst: gas_anqp_add_element
      Src: /src/hostap/src/ap/gas_serv.c:645,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/ap/gas_serv.c:646,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_serv.c:655,1
    - Dst: anqp_add_nai_realm_data
      Src: /src/hostap/src/ap/gas_serv.c:658,1
    - Dst: gas_anqp_set_element_len
      Src: /src/hostap/src/ap/gas_serv.c:660,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 55
    argCount: 4
    argNames:
    - hapd
    - buf
    - home_realm
    - home_realm_len
    argTypes:
    - struct hostapd_data*
    - struct wpabuf**
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 562
    functionDepth: 3
    functionLinenumber: 562
    functionLinenumberEnd: 662
    functionName: hs20_add_nai_home_realm_matches
    functionSourceFile: /src/hostap/src/ap/gas_serv.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - wpabuf_resize
    - wpa_hexdump
    - os_strncmp
    - wpabuf_put_le16
    - gas_anqp_add_element
    - anqp_len_nai_realm_eap
    - anqp_add_nai_realm_data
    - gas_anqp_set_element_len
    linkageType: ''
    returnType: int
    signature: "int hs20_add_nai_home_realm_matches(struct hostapd_data *hapd,\n\t\t\t\t\t
      \  struct wpabuf **buf,\n\t\t\t\t\t   const u8 *home_realm,\n\t\t\t\t\t   size_t
      home_realm_len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: anqp_add_override
      Src: /src/hostap/src/ap/gas_serv.c:670,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/gas_serv.c:687,1
    - Dst: anqp_len_nai_realm_eap
      Src: /src/hostap/src/ap/gas_serv.c:689,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_serv.c:692,1
    - Dst: wpabuf_resize
      Src: /src/hostap/src/ap/gas_serv.c:698,1
    - Dst: gas_anqp_add_element
      Src: /src/hostap/src/ap/gas_serv.c:701,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/ap/gas_serv.c:702,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/ap/gas_serv.c:708,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/gas_serv.c:709,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/ap/gas_serv.c:710,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/gas_serv.c:713,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/ap/gas_serv.c:714,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/ap/gas_serv.c:716,1
    - Dst: anqp_add_nai_realm_eap
      Src: /src/hostap/src/ap/gas_serv.c:717,1
    - Dst: gas_anqp_set_element_len
      Src: /src/hostap/src/ap/gas_serv.c:718,1
    - Dst: gas_anqp_set_element_len
      Src: /src/hostap/src/ap/gas_serv.c:720,1
    - Dst: hs20_add_nai_home_realm_matches
      Src: /src/hostap/src/ap/gas_serv.c:722,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 43
    argCount: 6
    argNames:
    - hapd
    - buf
    - home_realm
    - home_realm_len
    - nai_realm
    - nai_home_realm
    argTypes:
    - struct hostapd_data*
    - struct wpabuf**
    - u8*
    - size_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 665
    functionDepth: 4
    functionLinenumber: 665
    functionLinenumberEnd: 725
    functionName: anqp_add_nai_realm
    functionSourceFile: /src/hostap/src/ap/gas_serv.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - wpabuf_put
    - anqp_add_override
    - wpabuf_resize
    - wpabuf_put_u8
    - hs20_add_nai_home_realm_matches
    - wpabuf_put_str
    - wpabuf_put_le16
    - anqp_add_nai_realm_eap
    - gas_anqp_add_element
    - anqp_len_nai_realm_eap
    - gas_anqp_set_element_len
    linkageType: ''
    returnType: void
    signature: "void anqp_add_nai_realm(struct hostapd_data *hapd, struct wpabuf **buf,\n\t\t\t
      \      const u8 *home_realm, size_t home_realm_len,\n\t\t\t       int nai_realm,
      int nai_home_realm)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: anqp_add_override
      Src: /src/hostap/src/ap/gas_serv.c:731,1
    - Dst: wpabuf_resize
      Src: /src/hostap/src/ap/gas_serv.c:735,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/ap/gas_serv.c:738,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/ap/gas_serv.c:739,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/ap/gas_serv.c:741,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - hapd
    - buf
    argTypes:
    - struct hostapd_data*
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 728
    functionDepth: 3
    functionLinenumber: 728
    functionLinenumberEnd: 744
    functionName: anqp_add_3gpp_cellular_network
    functionSourceFile: /src/hostap/src/ap/gas_serv.c
    functionUses: 0
    functionsReached:
    - wpabuf_resize
    - anqp_add_override
    - wpabuf_put_data
    - wpabuf_put_le16
    linkageType: ''
    returnType: void
    signature: "void anqp_add_3gpp_cellular_network(struct hostapd_data *hapd,\n\t\t\t\t\t
      \  struct wpabuf **buf)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: anqp_add_override
      Src: /src/hostap/src/ap/gas_serv.c:749,1
    - Dst: wpabuf_resize
      Src: /src/hostap/src/ap/gas_serv.c:753,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/ap/gas_serv.c:755,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/ap/gas_serv.c:756,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/ap/gas_serv.c:757,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - hapd
    - buf
    argTypes:
    - struct hostapd_data*
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 747
    functionDepth: 3
    functionLinenumber: 747
    functionLinenumberEnd: 760
    functionName: anqp_add_domain_name
    functionSourceFile: /src/hostap/src/ap/gas_serv.c
    functionUses: 0
    functionsReached:
    - wpabuf_resize
    - anqp_add_override
    - wpabuf_put_data
    - wpabuf_put_le16
    linkageType: ''
    returnType: void
    signature: void anqp_add_domain_name(struct hostapd_data *hapd, struct wpabuf
      **buf)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: anqp_add_override
      Src: /src/hostap/src/ap/gas_serv.c:769,1
    - Dst: dl_list_len
      Src: /src/hostap/src/ap/gas_serv.c:772,1
    - Dst: wpabuf_resize
      Src: /src/hostap/src/ap/gas_serv.c:778,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/ap/gas_serv.c:780,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/ap/gas_serv.c:781,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/ap/gas_serv.c:783,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/ap/gas_serv.c:787,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - hapd
    - buf
    argTypes:
    - struct hostapd_data*
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 764
    functionDepth: 3
    functionLinenumber: 764
    functionLinenumberEnd: 791
    functionName: anqp_add_fils_realm_info
    functionSourceFile: /src/hostap/src/ap/gas_serv.c
    functionUses: 0
    functionsReached:
    - wpabuf_resize
    - anqp_add_override
    - wpabuf_put_data
    - wpabuf_put_le16
    - dl_list_for_each
    - dl_list_len
    linkageType: ''
    returnType: void
    signature: "void anqp_add_fils_realm_info(struct hostapd_data *hapd,\n\t\t\t\t
      \    struct wpabuf **buf)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_resize
      Src: /src/hostap/src/ap/gas_serv.c:814,1
    - Dst: gas_anqp_add_element
      Src: /src/hostap/src/ap/gas_serv.c:818,1
    - Dst: wpabuf_put_be24
      Src: /src/hostap/src/ap/gas_serv.c:819,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/gas_serv.c:820,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/gas_serv.c:821,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/gas_serv.c:822,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/gas_serv.c:827,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/ap/gas_serv.c:828,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/ap/gas_serv.c:829,1
    - Dst: gas_anqp_set_element_len
      Src: /src/hostap/src/ap/gas_serv.c:831,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - hapd
    - _buf
    argTypes:
    - struct hostapd_data*
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 797
    functionDepth: 1
    functionLinenumber: 797
    functionLinenumberEnd: 833
    functionName: anqp_add_operator_friendly_name
    functionSourceFile: /src/hostap/src/ap/gas_serv.c
    functionUses: 0
    functionsReached:
    - wpabuf_resize
    - wpabuf_put_u8
    - wpabuf_put_data
    - gas_anqp_add_element
    - gas_anqp_set_element_len
    - wpabuf_put_be24
    linkageType: ''
    returnType: void
    signature: "void anqp_add_operator_friendly_name(struct hostapd_data *hapd,\n\t\t\t\t\t
      \   struct wpabuf **_buf)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_resize
      Src: /src/hostap/src/ap/gas_serv.c:842,1
    - Dst: gas_anqp_add_element
      Src: /src/hostap/src/ap/gas_serv.c:844,1
    - Dst: wpabuf_put_be24
      Src: /src/hostap/src/ap/gas_serv.c:845,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/gas_serv.c:846,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/gas_serv.c:847,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/gas_serv.c:848,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/ap/gas_serv.c:849,1
    - Dst: gas_anqp_set_element_len
      Src: /src/hostap/src/ap/gas_serv.c:850,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - hapd
    - buf
    argTypes:
    - struct hostapd_data*
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 836
    functionDepth: 1
    functionLinenumber: 836
    functionLinenumberEnd: 852
    functionName: anqp_add_wan_metrics
    functionSourceFile: /src/hostap/src/ap/gas_serv.c
    functionUses: 0
    functionsReached:
    - wpabuf_resize
    - wpabuf_put_u8
    - wpabuf_put_data
    - gas_anqp_add_element
    - gas_anqp_set_element_len
    - wpabuf_put_be24
    linkageType: ''
    returnType: void
    signature: "void anqp_add_wan_metrics(struct hostapd_data *hapd,\n\t\t\t\t struct
      wpabuf **buf)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_resize
      Src: /src/hostap/src/ap/gas_serv.c:861,1
    - Dst: gas_anqp_add_element
      Src: /src/hostap/src/ap/gas_serv.c:865,1
    - Dst: wpabuf_put_be24
      Src: /src/hostap/src/ap/gas_serv.c:866,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/gas_serv.c:867,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/gas_serv.c:868,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/gas_serv.c:869,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/ap/gas_serv.c:870,1
    - Dst: gas_anqp_set_element_len
      Src: /src/hostap/src/ap/gas_serv.c:872,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - hapd
    - buf
    argTypes:
    - struct hostapd_data*
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 855
    functionDepth: 1
    functionLinenumber: 855
    functionLinenumberEnd: 874
    functionName: anqp_add_connection_capability
    functionSourceFile: /src/hostap/src/ap/gas_serv.c
    functionUses: 0
    functionsReached:
    - wpabuf_resize
    - wpabuf_put_u8
    - wpabuf_put_data
    - gas_anqp_add_element
    - gas_anqp_set_element_len
    - wpabuf_put_be24
    linkageType: ''
    returnType: void
    signature: "void anqp_add_connection_capability(struct hostapd_data *hapd,\n\t\t\t\t\t
      \  struct wpabuf **buf)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_resize
      Src: /src/hostap/src/ap/gas_serv.c:883,1
    - Dst: gas_anqp_add_element
      Src: /src/hostap/src/ap/gas_serv.c:886,1
    - Dst: wpabuf_put_be24
      Src: /src/hostap/src/ap/gas_serv.c:887,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/gas_serv.c:888,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/gas_serv.c:889,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/gas_serv.c:890,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/ap/gas_serv.c:891,1
    - Dst: gas_anqp_set_element_len
      Src: /src/hostap/src/ap/gas_serv.c:893,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - hapd
    - buf
    argTypes:
    - struct hostapd_data*
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 877
    functionDepth: 1
    functionLinenumber: 877
    functionLinenumberEnd: 895
    functionName: anqp_add_operating_class
    functionSourceFile: /src/hostap/src/ap/gas_serv.c
    functionUses: 0
    functionsReached:
    - wpabuf_resize
    - wpabuf_put_u8
    - wpabuf_put_data
    - gas_anqp_add_element
    - gas_anqp_set_element_len
    - wpabuf_put_be24
    linkageType: ''
    returnType: void
    signature: "void anqp_add_operating_class(struct hostapd_data *hapd,\n\t\t\t\t
      \    struct wpabuf **buf)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_resize
      Src: /src/hostap/src/ap/gas_serv.c:907,1
    - Dst: gas_anqp_add_element
      Src: /src/hostap/src/ap/gas_serv.c:909,1
    - Dst: wpabuf_put_be24
      Src: /src/hostap/src/ap/gas_serv.c:910,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/gas_serv.c:911,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/gas_serv.c:912,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/gas_serv.c:913,1
    - Dst: gas_anqp_set_element_len
      Src: /src/hostap/src/ap/gas_serv.c:914,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - hapd
    - buf
    argTypes:
    - struct hostapd_data*
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 901
    functionDepth: 1
    functionLinenumber: 901
    functionLinenumberEnd: 916
    functionName: anqp_add_mbo_cell_data_conn_pref
    functionSourceFile: /src/hostap/src/ap/gas_serv.c
    functionUses: 0
    functionsReached:
    - wpabuf_resize
    - wpabuf_put_u8
    - gas_anqp_add_element
    - gas_anqp_set_element_len
    - wpabuf_put_be24
    linkageType: ''
    returnType: void
    signature: "void anqp_add_mbo_cell_data_conn_pref(struct hostapd_data *hapd,\n\t\t\t\t\t
      \    struct wpabuf **buf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_anqp_elem
      Src: /src/hostap/src/ap/gas_serv.c:928,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/gas_serv.c:931,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - hapd
    - infoid
    - num_infoid
    argTypes:
    - struct hostapd_data*
    - u16*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 920
    functionDepth: 1
    functionLinenumber: 920
    functionLinenumberEnd: 935
    functionName: anqp_get_required_len
    functionSourceFile: /src/hostap/src/ap/gas_serv.c
    functionUses: 0
    functionsReached:
    - wpabuf_len
    - get_anqp_elem
    linkageType: ''
    returnType: size_t
    signature: "size_t anqp_get_required_len(struct hostapd_data *hapd,\n\t\t\t\t
      \   const u16 *infoid,\n\t\t\t\t    unsigned int num_infoid)"
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_len
      Src: /src/hostap/src/ap/gas_serv.c:955,1
    - Dst: anqp_get_required_len
      Src: /src/hostap/src/ap/gas_serv.c:957,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/ap/gas_serv.c:959,1
    - Dst: anqp_add_capab_list
      Src: /src/hostap/src/ap/gas_serv.c:964,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/gas_serv.c:967,1
    - Dst: anqp_add_venue_name
      Src: /src/hostap/src/ap/gas_serv.c:968,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/gas_serv.c:969,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_serv.c:970,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/gas_serv.c:977,1
    - Dst: anqp_add_elem
      Src: /src/hostap/src/ap/gas_serv.c:978,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/gas_serv.c:979,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_serv.c:980,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/gas_serv.c:986,1
    - Dst: anqp_add_network_auth_type
      Src: /src/hostap/src/ap/gas_serv.c:987,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/gas_serv.c:988,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_serv.c:989,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/gas_serv.c:995,1
    - Dst: anqp_add_roaming_consortium
      Src: /src/hostap/src/ap/gas_serv.c:996,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/gas_serv.c:997,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_serv.c:998,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/gas_serv.c:1004,1
    - Dst: anqp_add_ip_addr_type_availability
      Src: /src/hostap/src/ap/gas_serv.c:1005,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/gas_serv.c:1006,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_serv.c:1007,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/gas_serv.c:1013,1
    - Dst: anqp_add_nai_realm
      Src: /src/hostap/src/ap/gas_serv.c:1014,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/gas_serv.c:1017,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_serv.c:1018,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/gas_serv.c:1025,1
    - Dst: anqp_add_3gpp_cellular_network
      Src: /src/hostap/src/ap/gas_serv.c:1026,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/gas_serv.c:1027,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_serv.c:1028,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/gas_serv.c:1035,1
    - Dst: anqp_add_elem
      Src: /src/hostap/src/ap/gas_serv.c:1036,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/gas_serv.c:1037,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_serv.c:1038,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/gas_serv.c:1045,1
    - Dst: anqp_add_elem
      Src: /src/hostap/src/ap/gas_serv.c:1046,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/gas_serv.c:1047,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_serv.c:1048,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/gas_serv.c:1055,1
    - Dst: anqp_add_elem
      Src: /src/hostap/src/ap/gas_serv.c:1056,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/gas_serv.c:1057,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_serv.c:1058,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/gas_serv.c:1065,1
    - Dst: anqp_add_domain_name
      Src: /src/hostap/src/ap/gas_serv.c:1066,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/gas_serv.c:1067,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_serv.c:1068,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/gas_serv.c:1075,1
    - Dst: anqp_add_elem
      Src: /src/hostap/src/ap/gas_serv.c:1076,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/gas_serv.c:1077,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_serv.c:1078,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/gas_serv.c:1085,1
    - Dst: anqp_add_elem
      Src: /src/hostap/src/ap/gas_serv.c:1086,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/gas_serv.c:1087,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_serv.c:1088,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/gas_serv.c:1095,1
    - Dst: anqp_add_elem
      Src: /src/hostap/src/ap/gas_serv.c:1096,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/gas_serv.c:1097,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_serv.c:1098,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/gas_serv.c:1105,1
    - Dst: anqp_add_fils_realm_info
      Src: /src/hostap/src/ap/gas_serv.c:1108,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/gas_serv.c:1109,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_serv.c:1110,1
    - Dst: anqp_add_venue_url
      Src: /src/hostap/src/ap/gas_serv.c:1118,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/gas_serv.c:1119,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_serv.c:1120,1
    - Dst: anqp_add_elem
      Src: /src/hostap/src/ap/gas_serv.c:1126,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/gas_serv.c:1127,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_serv.c:1128,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/gas_serv.c:1136,1
    - Dst: anqp_add_hs_capab_list
      Src: /src/hostap/src/ap/gas_serv.c:1137,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/gas_serv.c:1138,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_serv.c:1139,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/gas_serv.c:1146,1
    - Dst: anqp_add_operator_friendly_name
      Src: /src/hostap/src/ap/gas_serv.c:1147,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/gas_serv.c:1148,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_serv.c:1149,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/gas_serv.c:1156,1
    - Dst: anqp_add_wan_metrics
      Src: /src/hostap/src/ap/gas_serv.c:1157,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/gas_serv.c:1158,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_serv.c:1159,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/gas_serv.c:1166,1
    - Dst: anqp_add_connection_capability
      Src: /src/hostap/src/ap/gas_serv.c:1167,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/gas_serv.c:1168,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_serv.c:1169,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/gas_serv.c:1176,1
    - Dst: anqp_add_operating_class
      Src: /src/hostap/src/ap/gas_serv.c:1177,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/gas_serv.c:1178,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_serv.c:1179,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/gas_serv.c:1188,1
    - Dst: anqp_add_mbo_cell_data_conn_pref
      Src: /src/hostap/src/ap/gas_serv.c:1189,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/gas_serv.c:1190,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_serv.c:1191,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 197
    argCount: 6
    argNames:
    - hapd
    - request
    - home_realm
    - home_realm_len
    - extra_req
    - num_extra_req
    argTypes:
    - struct hostapd_data*
    - unsigned int
    - u8*
    - size_t
    - u16*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1199
      start: 938
    functionDepth: 5
    functionLinenumber: 938
    functionLinenumberEnd: 1199
    functionName: gas_serv_build_gas_resp_payload
    functionSourceFile: /src/hostap/src/ap/gas_serv.c
    functionUses: 0
    functionsReached:
    - anqp_add_ip_addr_type_availability
    - anqp_add_fils_realm_info
    - anqp_add_roaming_consortium
    - anqp_add_venue_url
    - anqp_add_operator_friendly_name
    - wpabuf_alloc
    - dl_list_len
    - anqp_add_capab_list
    - anqp_add_3gpp_cellular_network
    - anqp_add_elem
    - anqp_add_domain_name
    - wpa_printf
    - anqp_add_mbo_cell_data_conn_pref
    - anqp_add_connection_capability
    - anqp_add_venue_name
    - anqp_add_nai_realm
    - wpabuf_len
    - anqp_add_hs_capab_list
    - anqp_add_wan_metrics
    - anqp_add_operating_class
    - anqp_get_required_len
    - anqp_add_network_auth_type
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf *\ngas_serv_build_gas_resp_payload(struct hostapd_data
      *hapd,\n\t\t\t\tunsigned int request,\n\t\t\t\tconst u8 *home_realm, size_t
      home_realm_len,\n\t\t\t\tconst u16 *extra_req,\n\t\t\t\tunsigned int num_extra_req)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_serv.c:1219,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_serv.c:1221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - bit
    - name
    - local
    - qi
    argTypes:
    - unsigned int
    - char*
    - int
    - struct anqp_query_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1223
      start: 1214
    functionDepth: 0
    functionLinenumber: 1214
    functionLinenumberEnd: 1223
    functionName: set_anqp_req
    functionSourceFile: /src/hostap/src/ap/gas_serv.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: "void set_anqp_req(unsigned int bit, const char *name, int local,\n\t\t\t
      struct anqp_query_info *qi)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: set_anqp_req
      Src: /src/hostap/src/ap/gas_serv.c:1231,1
    - Dst: set_anqp_req
      Src: /src/hostap/src/ap/gas_serv.c:1235,1
    - Dst: set_anqp_req
      Src: /src/hostap/src/ap/gas_serv.c:1239,1
    - Dst: get_anqp_elem
      Src: /src/hostap/src/ap/gas_serv.c:1241,1
    - Dst: set_anqp_req
      Src: /src/hostap/src/ap/gas_serv.c:1244,1
    - Dst: set_anqp_req
      Src: /src/hostap/src/ap/gas_serv.c:1248,1
    - Dst: set_anqp_req
      Src: /src/hostap/src/ap/gas_serv.c:1252,1
    - Dst: set_anqp_req
      Src: /src/hostap/src/ap/gas_serv.c:1257,1
    - Dst: set_anqp_req
      Src: /src/hostap/src/ap/gas_serv.c:1261,1
    - Dst: set_anqp_req
      Src: /src/hostap/src/ap/gas_serv.c:1266,1
    - Dst: get_anqp_elem
      Src: /src/hostap/src/ap/gas_serv.c:1268,1
    - Dst: set_anqp_req
      Src: /src/hostap/src/ap/gas_serv.c:1271,1
    - Dst: get_anqp_elem
      Src: /src/hostap/src/ap/gas_serv.c:1273,1
    - Dst: set_anqp_req
      Src: /src/hostap/src/ap/gas_serv.c:1276,1
    - Dst: get_anqp_elem
      Src: /src/hostap/src/ap/gas_serv.c:1278,1
    - Dst: set_anqp_req
      Src: /src/hostap/src/ap/gas_serv.c:1281,1
    - Dst: set_anqp_req
      Src: /src/hostap/src/ap/gas_serv.c:1285,1
    - Dst: get_anqp_elem
      Src: /src/hostap/src/ap/gas_serv.c:1287,1
    - Dst: set_anqp_req
      Src: /src/hostap/src/ap/gas_serv.c:1290,1
    - Dst: get_anqp_elem
      Src: /src/hostap/src/ap/gas_serv.c:1292,1
    - Dst: set_anqp_req
      Src: /src/hostap/src/ap/gas_serv.c:1295,1
    - Dst: get_anqp_elem
      Src: /src/hostap/src/ap/gas_serv.c:1297,1
    - Dst: dl_list_empty
      Src: /src/hostap/src/ap/gas_serv.c:1302,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_serv.c:1303,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_serv.c:1308,1
    - Dst: get_anqp_elem
      Src: /src/hostap/src/ap/gas_serv.c:1310,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_serv.c:1311,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_serv.c:1316,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_serv.c:1321,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 67
    argCount: 3
    argNames:
    - hapd
    - info_id
    - qi
    argTypes:
    - struct hostapd_data*
    - u16
    - struct anqp_query_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1326
      start: 1226
    functionDepth: 1
    functionLinenumber: 1226
    functionLinenumberEnd: 1326
    functionName: rx_anqp_query_list_id
    functionSourceFile: /src/hostap/src/ap/gas_serv.c
    functionUses: 0
    functionsReached:
    - set_anqp_req
    - wpa_printf
    - get_anqp_elem
    - dl_list_empty
    linkageType: ''
    returnType: void
    signature: "void rx_anqp_query_list_id(struct hostapd_data *hapd, u16 info_id,\n\t\t\t\t
      \ struct anqp_query_info *qi)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_serv.c:1333,1
    - Dst: rx_anqp_query_list_id
      Src: /src/hostap/src/ap/gas_serv.c:1337,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/ap/gas_serv.c:1337,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - hapd
    - pos
    - end
    - qi
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8*
    - struct anqp_query_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1340
      start: 1329
    functionDepth: 2
    functionLinenumber: 1329
    functionLinenumberEnd: 1340
    functionName: rx_anqp_query_list
    functionSourceFile: /src/hostap/src/ap/gas_serv.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - WPA_GET_LE16
    - rx_anqp_query_list_id
    linkageType: ''
    returnType: void
    signature: "void rx_anqp_query_list(struct hostapd_data *hapd,\n\t\t\t       const
      u8 *pos, const u8 *end,\n\t\t\t       struct anqp_query_info *qi)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: set_anqp_req
      Src: /src/hostap/src/ap/gas_serv.c:1350,1
    - Dst: set_anqp_req
      Src: /src/hostap/src/ap/gas_serv.c:1354,1
    - Dst: set_anqp_req
      Src: /src/hostap/src/ap/gas_serv.c:1359,1
    - Dst: set_anqp_req
      Src: /src/hostap/src/ap/gas_serv.c:1363,1
    - Dst: set_anqp_req
      Src: /src/hostap/src/ap/gas_serv.c:1369,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_serv.c:1373,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - hapd
    - subtype
    - qi
    argTypes:
    - struct hostapd_data*
    - u8
    - struct anqp_query_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1377
      start: 1345
    functionDepth: 1
    functionLinenumber: 1345
    functionLinenumberEnd: 1377
    functionName: rx_anqp_hs_query_list
    functionSourceFile: /src/hostap/src/ap/gas_serv.c
    functionUses: 0
    functionsReached:
    - set_anqp_req
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: "void rx_anqp_hs_query_list(struct hostapd_data *hapd, u8 subtype,\n\t\t\t\t
      \ struct anqp_query_info *qi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_serv.c:1388,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_serv.c:1391,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - hapd
    - pos
    - end
    - qi
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8*
    - struct anqp_query_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1394
      start: 1380
    functionDepth: 0
    functionLinenumber: 1380
    functionLinenumberEnd: 1394
    functionName: rx_anqp_hs_nai_home_realm
    functionSourceFile: /src/hostap/src/ap/gas_serv.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: "void rx_anqp_hs_nai_home_realm(struct hostapd_data *hapd,\n\t\t\t\t
      \     const u8 *pos, const u8 *end,\n\t\t\t\t      struct anqp_query_info *qi)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_serv.c:1410,1
    - Dst: rx_anqp_hs_query_list
      Src: /src/hostap/src/ap/gas_serv.c:1412,1
    - Dst: rx_anqp_hs_nai_home_realm
      Src: /src/hostap/src/ap/gas_serv.c:1417,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_serv.c:1420,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 4
    argNames:
    - hapd
    - pos
    - end
    - qi
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8*
    - struct anqp_query_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1424
      start: 1397
    functionDepth: 2
    functionLinenumber: 1397
    functionLinenumberEnd: 1424
    functionName: rx_anqp_vendor_specific_hs20
    functionSourceFile: /src/hostap/src/ap/gas_serv.c
    functionUses: 0
    functionsReached:
    - rx_anqp_hs_query_list
    - wpa_printf
    - rx_anqp_hs_nai_home_realm
    linkageType: ''
    returnType: void
    signature: "void rx_anqp_vendor_specific_hs20(struct hostapd_data *hapd,\n\t\t\t\t\t
      const u8 *pos, const u8 *end,\n\t\t\t\t\t struct anqp_query_info *qi)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_serv.c:1438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - hapd
    - qi
    argTypes:
    - struct hostapd_data*
    - struct anqp_query_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1443
      start: 1430
    functionDepth: 0
    functionLinenumber: 1430
    functionLinenumberEnd: 1443
    functionName: rx_anqp_vendor_specific_p2p
    functionSourceFile: /src/hostap/src/ap/gas_serv.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: "void rx_anqp_vendor_specific_p2p(struct hostapd_data *hapd,\n\t\t\t\t\tstruct
      anqp_query_info *qi)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: set_anqp_req
      Src: /src/hostap/src/ap/gas_serv.c:1454,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_serv.c:1459,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - hapd
    - subtype
    - qi
    argTypes:
    - struct hostapd_data*
    - u8
    - struct anqp_query_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1463
      start: 1449
    functionDepth: 1
    functionLinenumber: 1449
    functionLinenumberEnd: 1463
    functionName: rx_anqp_mbo_query_list
    functionSourceFile: /src/hostap/src/ap/gas_serv.c
    functionUses: 0
    functionsReached:
    - set_anqp_req
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: "void rx_anqp_mbo_query_list(struct hostapd_data *hapd, u8 subtype,\n\t\t\t\t
      \ struct anqp_query_info *qi)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_serv.c:1478,1
    - Dst: rx_anqp_mbo_query_list
      Src: /src/hostap/src/ap/gas_serv.c:1480,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_serv.c:1485,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - hapd
    - pos
    - end
    - qi
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8*
    - struct anqp_query_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1489
      start: 1466
    functionDepth: 2
    functionLinenumber: 1466
    functionLinenumberEnd: 1489
    functionName: rx_anqp_vendor_specific_mbo
    functionSourceFile: /src/hostap/src/ap/gas_serv.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - rx_anqp_mbo_query_list
    linkageType: ''
    returnType: void
    signature: "void rx_anqp_vendor_specific_mbo(struct hostapd_data *hapd,\n\t\t\t\t\tconst
      u8 *pos, const u8 *end,\n\t\t\t\t\tstruct anqp_query_info *qi)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_serv.c:1501,1
    - Dst: WPA_GET_BE24
      Src: /src/hostap/src/ap/gas_serv.c:1506,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_serv.c:1509,1
    - Dst: rx_anqp_vendor_specific_p2p
      Src: /src/hostap/src/ap/gas_serv.c:1517,1
    - Dst: rx_anqp_vendor_specific_hs20
      Src: /src/hostap/src/ap/gas_serv.c:1522,1
    - Dst: rx_anqp_vendor_specific_mbo
      Src: /src/hostap/src/ap/gas_serv.c:1527,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_serv.c:1531,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 4
    argNames:
    - hapd
    - pos
    - end
    - qi
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8*
    - struct anqp_query_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1535
      start: 1494
    functionDepth: 3
    functionLinenumber: 1494
    functionLinenumberEnd: 1535
    functionName: rx_anqp_vendor_specific
    functionSourceFile: /src/hostap/src/ap/gas_serv.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - rx_anqp_vendor_specific_mbo
    - rx_anqp_vendor_specific_p2p
    - rx_anqp_vendor_specific_hs20
    - WPA_GET_BE24
    linkageType: ''
    returnType: void
    signature: "void rx_anqp_vendor_specific(struct hostapd_data *hapd,\n\t\t\t\t
      \   const u8 *pos, const u8 *end,\n\t\t\t\t    struct anqp_query_info *qi)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gas_serv_build_gas_resp_payload
      Src: /src/hostap/src/ap/gas_serv.c:1545,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/ap/gas_serv.c:1549,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/gas_serv.c:1554,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_serv.c:1555,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/gas_serv.c:1557,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/gas_serv.c:1562,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/gas_serv.c:1573,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_serv.c:1574,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/gas_serv.c:1576,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_serv.c:1579,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/gas_serv.c:1581,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/gas_serv.c:1582,1
    - Dst: gas_anqp_build_initial_resp_buf
      Src: /src/hostap/src/ap/gas_serv.c:1583,1
    - Dst: gas_dialog_create
      Src: /src/hostap/src/ap/gas_serv.c:1588,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_serv.c:1590,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/gas_serv.c:1592,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/gas_serv.c:1593,1
    - Dst: gas_anqp_build_initial_resp_buf
      Src: /src/hostap/src/ap/gas_serv.c:1594,1
    - Dst: gas_anqp_build_initial_resp_buf
      Src: /src/hostap/src/ap/gas_serv.c:1601,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_serv.c:1606,1
    - Dst: gas_anqp_build_initial_resp_buf
      Src: /src/hostap/src/ap/gas_serv.c:1607,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/gas_serv.c:1609,1
    - Dst: convert_to_protected_dual
      Src: /src/hostap/src/ap/gas_serv.c:1615,1
    - Dst: hostapd_drv_send_action
      Src: /src/hostap/src/ap/gas_serv.c:1617,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/gas_serv.c:1618,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/gas_serv.c:1619,1
    - Dst: hostapd_drv_send_action_addr3_ap
      Src: /src/hostap/src/ap/gas_serv.c:1621,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/gas_serv.c:1622,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/gas_serv.c:1623,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/gas_serv.c:1624,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 6
    argNames:
    - hapd
    - sa
    - dialog_token
    - qi
    - prot
    - std_addr3
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8
    - struct anqp_query_info*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1625
      start: 1538
    functionDepth: 6
    functionLinenumber: 1538
    functionLinenumberEnd: 1625
    functionName: gas_serv_req_local_processing
    functionSourceFile: /src/hostap/src/ap/gas_serv.c
    functionUses: 0
    functionsReached:
    - gas_serv_build_gas_resp_payload
    - wpa_printf
    - hostapd_drv_send_action
    - hostapd_drv_send_action_addr3_ap
    - wpabuf_len
    - wpabuf_free
    - gas_anqp_build_initial_resp_buf
    - convert_to_protected_dual
    - wpabuf_head
    - MAC2STR
    - gas_dialog_create
    - wpa_hexdump_buf
    linkageType: ''
    returnType: void
    signature: "void gas_serv_req_local_processing(struct hostapd_data *hapd,\n\t\t\t\t\t
      \ const u8 *sa, u8 dialog_token,\n\t\t\t\t\t  struct anqp_query_info *qi, int
      prot,\n\t\t\t\t\t  int std_addr3)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/gas_serv.c:1635,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_serv.c:1645,1
    - Dst: gas_dialog_create
      Src: /src/hostap/src/ap/gas_serv.c:1647,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_serv.c:1649,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/gas_serv.c:1651,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/gas_serv.c:1652,1
    - Dst: gas_build_initial_resp
      Src: /src/hostap/src/ap/gas_serv.c:1653,1
    - Dst: gas_serv_write_dpp_adv_proto
      Src: /src/hostap/src/ap/gas_serv.c:1657,1
    - Dst: gas_build_initial_resp
      Src: /src/hostap/src/ap/gas_serv.c:1663,1
    - Dst: gas_serv_write_dpp_adv_proto
      Src: /src/hostap/src/ap/gas_serv.c:1667,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/ap/gas_serv.c:1668,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_serv.c:1672,1
    - Dst: gas_build_initial_resp
      Src: /src/hostap/src/ap/gas_serv.c:1674,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/gas_serv.c:1676,1
    - Dst: gas_serv_write_dpp_adv_proto
      Src: /src/hostap/src/ap/gas_serv.c:1678,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/ap/gas_serv.c:1679,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/gas_serv.c:1679,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/ap/gas_serv.c:1680,1
    - Dst: hostapd_dpp_gas_status_handler
      Src: /src/hostap/src/ap/gas_serv.c:1681,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/gas_serv.c:1683,1
    - Dst: convert_to_protected_dual
      Src: /src/hostap/src/ap/gas_serv.c:1688,1
    - Dst: hostapd_drv_send_action
      Src: /src/hostap/src/ap/gas_serv.c:1689,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/gas_serv.c:1690,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/gas_serv.c:1691,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/gas_serv.c:1692,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 6
    argNames:
    - hapd
    - sa
    - dialog_token
    - prot
    - buf
    - freq
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8
    - int
    - struct wpabuf*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1693
      start: 1629
    functionDepth: 3
    functionLinenumber: 1629
    functionLinenumberEnd: 1693
    functionName: gas_serv_req_dpp_processing
    functionSourceFile: /src/hostap/src/ap/gas_serv.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hostapd_drv_send_action
    - wpabuf_len
    - gas_serv_write_dpp_adv_proto
    - wpabuf_free
    - convert_to_protected_dual
    - wpabuf_put_le16
    - wpabuf_head
    - MAC2STR
    - wpabuf_put_buf
    - hostapd_dpp_gas_status_handler
    - gas_build_initial_resp
    - gas_dialog_create
    linkageType: ''
    returnType: void
    signature: "void gas_serv_req_dpp_processing(struct hostapd_data *hapd,\n\t\t\t\t
      const u8 *sa, u8 dialog_token,\n\t\t\t\t int prot, struct wpabuf *buf, int freq)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/ap/gas_serv.c:1716,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/gas_serv.c:1719,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/gas_serv.c:1721,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/gas_serv.c:1724,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/gas_serv.c:1732,1
    - Dst: WPA_GET_BE24
      Src: /src/hostap/src/ap/gas_serv.c:1741,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_serv.c:1743,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/gas_serv.c:1750,1
    - Dst: gas_build_initial_resp
      Src: /src/hostap/src/ap/gas_serv.c:1755,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/ap/gas_serv.c:1760,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/ap/gas_serv.c:1761,1
    - Dst: convert_to_protected_dual
      Src: /src/hostap/src/ap/gas_serv.c:1763,1
    - Dst: hostapd_drv_send_action
      Src: /src/hostap/src/ap/gas_serv.c:1765,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/gas_serv.c:1766,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/gas_serv.c:1767,1
    - Dst: hostapd_drv_send_action_addr3_ap
      Src: /src/hostap/src/ap/gas_serv.c:1769,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/gas_serv.c:1771,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/gas_serv.c:1772,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/gas_serv.c:1773,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/ap/gas_serv.c:1781,1
    - Dst: hostapd_dpp_gas_req_handler
      Src: /src/hostap/src/ap/gas_serv.c:1791,1
    - Dst: gas_serv_req_dpp_processing
      Src: /src/hostap/src/ap/gas_serv.c:1795,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/ap/gas_serv.c:1808,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/ap/gas_serv.c:1810,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_serv.c:1814,1
    - Dst: rx_anqp_query_list
      Src: /src/hostap/src/ap/gas_serv.c:1820,1
    - Dst: rx_anqp_vendor_specific
      Src: /src/hostap/src/ap/gas_serv.c:1823,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_serv.c:1826,1
    - Dst: gas_serv_req_local_processing
      Src: /src/hostap/src/ap/gas_serv.c:1834,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 79
    argCount: 7
    argNames:
    - hapd
    - sa
    - data
    - len
    - prot
    - std_addr3
    - freq
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8*
    - size_t
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1836
      start: 1697
    functionDepth: 7
    functionLinenumber: 1697
    functionLinenumberEnd: 1836
    functionName: gas_serv_rx_gas_initial_req
    functionSourceFile: /src/hostap/src/ap/gas_serv.c
    functionUses: 0
    functionsReached:
    - hostapd_drv_send_action_addr3_ap
    - WPA_GET_LE16
    - gas_build_initial_resp
    - wpa_printf
    - hostapd_drv_send_action
    - wpabuf_put_data
    - convert_to_protected_dual
    - WPA_GET_BE24
    - gas_serv_req_local_processing
    - wpabuf_len
    - wpabuf_head
    - os_memset
    - rx_anqp_vendor_specific
    - wpa_msg
    - hostapd_dpp_gas_req_handler
    - wpabuf_free
    - wpabuf_put_le16
    - MAC2STR
    - rx_anqp_query_list
    - gas_serv_req_dpp_processing
    linkageType: ''
    returnType: void
    signature: "void gas_serv_rx_gas_initial_req(struct hostapd_data *hapd,\n\t\t\t\t\tconst
      u8 *sa,\n\t\t\t\t\tconst u8 *data, size_t len, int prot,\n\t\t\t\t\tint std_addr3,
      int freq)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/gas_serv.c:1850,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/gas_serv.c:1854,1
    - Dst: gas_serv_dialog_find
      Src: /src/hostap/src/ap/gas_serv.c:1857,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/gas_serv.c:1859,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/gas_serv.c:1861,1
    - Dst: gas_anqp_build_comeback_resp_buf
      Src: /src/hostap/src/ap/gas_serv.c:1865,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/gas_serv.c:1873,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/gas_serv.c:1878,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/ap/gas_serv.c:1880,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/ap/gas_serv.c:1880,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/gas_serv.c:1883,1
    - Dst: gas_serv_dialog_clear
      Src: /src/hostap/src/ap/gas_serv.c:1885,1
    - Dst: gas_build_comeback_resp
      Src: /src/hostap/src/ap/gas_serv.c:1890,1
    - Dst: gas_serv_write_dpp_adv_proto
      Src: /src/hostap/src/ap/gas_serv.c:1895,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/ap/gas_serv.c:1896,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/ap/gas_serv.c:1897,1
    - Dst: gas_anqp_build_comeback_resp_buf
      Src: /src/hostap/src/ap/gas_serv.c:1901,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/gas_serv.c:1905,1
    - Dst: gas_serv_dialog_clear
      Src: /src/hostap/src/ap/gas_serv.c:1907,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/gas_serv.c:1910,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/gas_serv.c:1917,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/gas_serv.c:1919,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/gas_serv.c:1922,1
    - Dst: hostapd_dpp_gas_status_handler
      Src: /src/hostap/src/ap/gas_serv.c:1926,1
    - Dst: gas_serv_dialog_clear
      Src: /src/hostap/src/ap/gas_serv.c:1928,1
    - Dst: gas_serv_free_dialogs
      Src: /src/hostap/src/ap/gas_serv.c:1929,1
    - Dst: convert_to_protected_dual
      Src: /src/hostap/src/ap/gas_serv.c:1934,1
    - Dst: hostapd_drv_send_action
      Src: /src/hostap/src/ap/gas_serv.c:1936,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/gas_serv.c:1937,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/gas_serv.c:1938,1
    - Dst: hostapd_drv_send_action_addr3_ap
      Src: /src/hostap/src/ap/gas_serv.c:1940,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/gas_serv.c:1941,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/gas_serv.c:1942,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/gas_serv.c:1943,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 63
    argCount: 6
    argNames:
    - hapd
    - sa
    - data
    - len
    - prot
    - std_addr3
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8*
    - size_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1944
      start: 1839
    functionDepth: 3
    functionLinenumber: 1839
    functionLinenumberEnd: 1944
    functionName: gas_serv_rx_gas_comeback_req
    functionSourceFile: /src/hostap/src/ap/gas_serv.c
    functionUses: 0
    functionsReached:
    - hostapd_drv_send_action_addr3_ap
    - wpa_hexdump
    - gas_serv_write_dpp_adv_proto
    - hostapd_drv_send_action
    - convert_to_protected_dual
    - hostapd_dpp_gas_status_handler
    - gas_serv_dialog_clear
    - gas_build_comeback_resp
    - wpabuf_head_u8
    - wpabuf_len
    - wpabuf_alloc_copy
    - wpabuf_head
    - gas_serv_dialog_find
    - gas_serv_free_dialogs
    - wpa_msg
    - wpabuf_free
    - wpabuf_put_le16
    - MAC2STR
    - wpabuf_put_buf
    - gas_anqp_build_comeback_resp_buf
    linkageType: ''
    returnType: void
    signature: "void gas_serv_rx_gas_comeback_req(struct hostapd_data *hapd,\n\t\t\t\t\t
      const u8 *sa,\n\t\t\t\t\t const u8 *data, size_t len, int prot,\n\t\t\t\t\t
      int std_addr3)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: is_broadcast_ether_addr
      Src: /src/hostap/src/ap/gas_serv.c:1973,1
    - Dst: gas_serv_rx_gas_initial_req
      Src: /src/hostap/src/ap/gas_serv.c:1978,1
    - Dst: gas_serv_rx_gas_comeback_req
      Src: /src/hostap/src/ap/gas_serv.c:1982,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 4
    argNames:
    - ctx
    - buf
    - len
    - freq
    argTypes:
    - void*
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1986
      start: 1947
    functionDepth: 8
    functionLinenumber: 1947
    functionLinenumberEnd: 1986
    functionName: gas_serv_rx_public_action
    functionSourceFile: /src/hostap/src/ap/gas_serv.c
    functionUses: 0
    functionsReached:
    - is_broadcast_ether_addr
    - gas_serv_rx_gas_initial_req
    - gas_serv_rx_gas_comeback_req
    linkageType: ''
    returnType: void
    signature: "void gas_serv_rx_public_action(void *ctx, const u8 *buf, size_t len,\n\t\t\t\t
      \     int freq)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_init
      Src: /src/hostap/src/ap/gas_serv.c:1995,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1998
      start: 1989
    functionDepth: 1
    functionLinenumber: 1989
    functionLinenumberEnd: 1998
    functionName: gas_serv_init
    functionSourceFile: /src/hostap/src/ap/gas_serv.c
    functionUses: 0
    functionsReached:
    - dl_list_init
    linkageType: ''
    returnType: int
    signature: int gas_serv_init(struct hostapd_data *hapd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/ap/gas_serv.c:2008,1
    - Dst: gas_serv_remove_peer
      Src: /src/hostap/src/ap/gas_serv.c:2010,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2013
      start: 2001
    functionDepth: 2
    functionLinenumber: 2001
    functionLinenumberEnd: 2013
    functionName: gas_serv_deinit
    functionSourceFile: /src/hostap/src/ap/gas_serv.c
    functionUses: 0
    functionsReached:
    - gas_serv_remove_peer
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: void gas_serv_deinit(struct hostapd_data *hapd)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/x_snoop.c:23,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/x_snoop.c:29,1
    - Dst: hostapd_drv_br_port_set_attr
      Src: /src/hostap/src/ap/x_snoop.c:36,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/x_snoop.c:38,1
    - Dst: hostapd_drv_br_port_set_attr
      Src: /src/hostap/src/ap/x_snoop.c:43,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/x_snoop.c:44,1
    - Dst: hostapd_drv_br_set_net_param
      Src: /src/hostap/src/ap/x_snoop.c:49,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/x_snoop.c:51,1
    - Dst: hostapd_drv_br_set_net_param
      Src: /src/hostap/src/ap/x_snoop.c:57,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/x_snoop.c:58,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 65
    functionName: x_snoop_init
    functionSourceFile: /src/hostap/src/ap/x_snoop.c
    functionUses: 0
    functionsReached:
    - hostapd_drv_br_port_set_attr
    - wpa_printf
    - hostapd_drv_br_set_net_param
    linkageType: ''
    returnType: int
    signature: int x_snoop_init(struct hostapd_data *hapd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: l2_packet_init
      Src: /src/hostap/src/ap/x_snoop.c:77,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/x_snoop.c:79,1
    - Dst: strerror
      Src: /src/hostap/src/ap/x_snoop.c:81,1
    - Dst: l2_packet_set_packet_filter
      Src: /src/hostap/src/ap/x_snoop.c:85,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/x_snoop.c:86,1
    - Dst: l2_packet_deinit
      Src: /src/hostap/src/ap/x_snoop.c:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - hapd
    - type
    argTypes:
    - struct hostapd_data*
    - enum l2_packet_filter_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 94
    functionName: x_snoop_get_l2_packet
    functionSourceFile: /src/hostap/src/ap/x_snoop.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - strerror
    - l2_packet_deinit
    - l2_packet_set_packet_filter
    - l2_packet_init
    linkageType: ''
    returnType: struct l2_packet_data
    signature: "struct l2_packet_data *\nx_snoop_get_l2_packet(struct hostapd_data
      *hapd,\n\t\t      void (*handler)(void *ctx, const u8 *src_addr,\n\t\t\t\t      const
      u8 *buf, size_t len),\n\t\t      enum l2_packet_filter_type type)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/x_snoop.c:108,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/x_snoop.c:110,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/x_snoop.c:110,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/x_snoop.c:113,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/x_snoop.c:115,1
    - Dst: l2_packet_send
      Src: /src/hostap/src/ap/x_snoop.c:116,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/x_snoop.c:118,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/x_snoop.c:120,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/x_snoop.c:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - hapd
    - sta
    - buf
    - len
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 125
    functionName: x_snoop_mcast_to_ucast_convert_send
    functionSourceFile: /src/hostap/src/ap/x_snoop.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    - l2_packet_send
    - os_memcpy
    linkageType: ''
    returnType: void
    signature: "void x_snoop_mcast_to_ucast_convert_send(struct hostapd_data *hapd,\n\t\t\t\t\t
      struct sta_info *sta, u8 *buf,\n\t\t\t\t\t size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_drv_br_set_net_param
      Src: /src/hostap/src/ap/x_snoop.c:132,1
    - Dst: hostapd_drv_br_port_set_attr
      Src: /src/hostap/src/ap/x_snoop.c:133,1
    - Dst: hostapd_drv_br_port_set_attr
      Src: /src/hostap/src/ap/x_snoop.c:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 136
    functionName: x_snoop_deinit
    functionSourceFile: /src/hostap/src/ap/x_snoop.c
    functionUses: 0
    functionsReached:
    - hostapd_drv_br_port_set_attr
    - hostapd_drv_br_set_net_param
    linkageType: ''
    returnType: void
    signature: void x_snoop_deinit(struct hostapd_data *hapd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WPA_PUT_LE32
      Src: /src/hostap/src/ap/ieee802_11_shared.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - pos
    - type
    - value
    argTypes:
    - u8*
    - u8
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 34
    functionName: hostapd_eid_timeout_interval
    functionSourceFile: /src/hostap/src/ap/ieee802_11_shared.c
    functionUses: 0
    functionsReached:
    - WPA_PUT_LE32
    linkageType: ''
    returnType: u8
    signature: u8 * hostapd_eid_timeout_interval(u8 *pos, u8 type, u32 value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_get_reltime
      Src: /src/hostap/src/ap/ieee802_11_shared.c:44,1
    - Dst: os_reltime_sub
      Src: /src/hostap/src/ap/ieee802_11_shared.c:45,1
    - Dst: hostapd_eid_timeout_interval
      Src: /src/hostap/src/ap/ieee802_11_shared.c:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - hapd
    - sta
    - eid
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 59
    functionName: hostapd_eid_assoc_comeback_time
    functionSourceFile: /src/hostap/src/ap/ieee802_11_shared.c
    functionUses: 0
    functionsReached:
    - os_reltime_sub
    - os_get_reltime
    - hostapd_eid_timeout_interval
    linkageType: ''
    returnType: u8
    signature: "u8 * hostapd_eid_assoc_comeback_time(struct hostapd_data *hapd,\n\t\t\t\t
      \    struct sta_info *sta, u8 *eid)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/ieee802_11_shared.c:67,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_shared.c:75,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11_shared.c:76,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/ieee802_11_shared.c:77,1
    - Dst: wpa_auth_uses_ocv
      Src: /src/hostap/src/ap/ieee802_11_shared.c:81,1
    - Dst: hostapd_drv_channel_info
      Src: /src/hostap/src/ap/ieee802_11_shared.c:84,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_shared.c:85,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_shared.c:91,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/ieee802_11_shared.c:101,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_shared.c:103,1
    - Dst: ocv_insert_extended_oci
      Src: /src/hostap/src/ap/ieee802_11_shared.c:108,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_11_shared.c:109,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/ieee802_11_shared.c:115,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_shared.c:117,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_11_shared.c:119,1
    - Dst: ap_sta_is_mld
      Src: /src/hostap/src/ap/ieee802_11_shared.c:124,1
    - Dst: IEEE80211_FC
      Src: /src/hostap/src/ap/ieee802_11_shared.c:128,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_shared.c:130,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_shared.c:131,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_shared.c:132,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_shared.c:135,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_shared.c:140,1
    - Dst: hostapd_drv_send_mlme
      Src: /src/hostap/src/ap/ieee802_11_shared.c:144,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_shared.c:146,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_11_shared.c:148,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_11_shared.c:149,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 3
    argNames:
    - hapd
    - addr
    - trans_id
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 150
    functionName: ieee802_11_send_sa_query_req
    functionSourceFile: /src/hostap/src/ap/ieee802_11_shared.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_hexdump
    - ap_sta_is_mld
    - hostapd_drv_send_mlme
    - MAC2STR
    - os_zalloc
    - ocv_insert_extended_oci
    - IEEE80211_FC
    - os_free
    - wpa_auth_uses_ocv
    - hostapd_drv_channel_info
    - ap_get_sta
    linkageType: ''
    returnType: void
    signature: "void ieee802_11_send_sa_query_req(struct hostapd_data *hapd,\n\t\t\t\t
      \ const u8 *addr, const u8 *trans_id)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_shared.c:163,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11_shared.c:164,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/ieee802_11_shared.c:165,1
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/ieee802_11_shared.c:168,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_shared.c:170,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11_shared.c:171,1
    - Dst: wpa_auth_uses_ocv
      Src: /src/hostap/src/ap/ieee802_11_shared.c:176,1
    - Dst: hostapd_drv_channel_info
      Src: /src/hostap/src/ap/ieee802_11_shared.c:179,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_shared.c:180,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_shared.c:186,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/ieee802_11_shared.c:196,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_shared.c:198,1
    - Dst: ocv_insert_extended_oci
      Src: /src/hostap/src/ap/ieee802_11_shared.c:203,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_11_shared.c:204,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/ieee802_11_shared.c:210,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_shared.c:212,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_11_shared.c:214,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_shared.c:218,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11_shared.c:219,1
    - Dst: ap_sta_is_mld
      Src: /src/hostap/src/ap/ieee802_11_shared.c:222,1
    - Dst: IEEE80211_FC
      Src: /src/hostap/src/ap/ieee802_11_shared.c:226,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_shared.c:228,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_shared.c:229,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_shared.c:230,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_shared.c:233,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_shared.c:238,1
    - Dst: hostapd_drv_send_mlme
      Src: /src/hostap/src/ap/ieee802_11_shared.c:242,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_shared.c:244,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_11_shared.c:246,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_11_shared.c:247,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 53
    argCount: 3
    argNames:
    - hapd
    - sa
    - trans_id
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 248
    functionName: ieee802_11_send_sa_query_resp
    functionSourceFile: /src/hostap/src/ap/ieee802_11_shared.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_hexdump
    - ap_sta_is_mld
    - hostapd_drv_send_mlme
    - MAC2STR
    - os_zalloc
    - ocv_insert_extended_oci
    - IEEE80211_FC
    - os_free
    - wpa_auth_uses_ocv
    - hostapd_drv_channel_info
    - ap_get_sta
    linkageType: ''
    returnType: void
    signature: "void ieee802_11_send_sa_query_resp(struct hostapd_data *hapd,\n\t\t\t\t\t
      \ const u8 *sa, const u8 *trans_id)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_shared.c:263,1
    - Dst: is_multicast_ether_addr
      Src: /src/hostap/src/ap/ieee802_11_shared.c:268,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_shared.c:269,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11_shared.c:271,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11_shared.c:271,1
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/ieee802_11_shared.c:275,1
    - Dst: wpa_auth_uses_ocv
      Src: /src/hostap/src/ap/ieee802_11_shared.c:278,1
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/src/ap/ieee802_11_shared.c:288,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_shared.c:290,1
    - Dst: hostapd_drv_channel_info
      Src: /src/hostap/src/ap/ieee802_11_shared.c:295,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_shared.c:296,1
    - Dst: get_sta_tx_parameters
      Src: /src/hostap/src/ap/ieee802_11_shared.c:301,1
    - Dst: channel_width_to_int
      Src: /src/hostap/src/ap/ieee802_11_shared.c:302,1
    - Dst: ocv_verify_tx_params
      Src: /src/hostap/src/ap/ieee802_11_shared.c:307,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/ieee802_11_shared.c:310,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11_shared.c:312,1
    - Dst: ieee802_11_send_sa_query_resp
      Src: /src/hostap/src/ap/ieee802_11_shared.c:323,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_shared.c:328,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_shared.c:333,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11_shared.c:334,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/ieee802_11_shared.c:335,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_shared.c:341,1
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/ieee802_11_shared.c:347,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_shared.c:354,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_11_shared.c:359,1
    - Dst: ap_sta_stop_sa_query
      Src: /src/hostap/src/ap/ieee802_11_shared.c:362,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 54
    argCount: 3
    argNames:
    - hapd
    - mgmt
    - len
    argTypes:
    - struct hostapd_data*
    - struct ieee80211_mgmt*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 363
    functionName: ieee802_11_sa_query_action
    functionSourceFile: /src/hostap/src/ap/ieee802_11_shared.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - is_multicast_ether_addr
    - get_sta_tx_parameters
    - wpa_hexdump
    - wpa_msg
    - ieee802_11_send_sa_query_resp
    - ap_sta_stop_sa_query
    - hostapd_logger
    - MAC2STR
    - ieee802_11_parse_elems
    - os_memcmp
    - ocv_verify_tx_params
    - channel_width_to_int
    - wpa_auth_uses_ocv
    - hostapd_drv_channel_info
    - ap_get_sta
    linkageType: ''
    returnType: void
    signature: "void ieee802_11_sa_query_action(struct hostapd_data *hapd,\n\t\t\t\tconst
      struct ieee80211_mgmt *mgmt,\n\t\t\t\tsize_t len)"
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: wpa_key_mgmt_fils
      Src: /src/hostap/src/ap/ieee802_11_shared.c:442,1
    - Dst: hostapd_get_he_twt_responder
      Src: /src/hostap/src/ap/ieee802_11_shared.c:446,1
    - Dst: hostapd_get_ht_vht_twt_responder
      Src: /src/hostap/src/ap/ieee802_11_shared.c:449,1
    - Dst: wpa_key_mgmt_sae
      Src: /src/hostap/src/ap/ieee802_11_shared.c:455,1
    - Dst: hostapd_sae_pw_id_in_use
      Src: /src/hostap/src/ap/ieee802_11_shared.c:456,1
    - Dst: wpa_key_mgmt_sae
      Src: /src/hostap/src/ap/ieee802_11_shared.c:479,1
    - Dst: hostapd_sae_pk_exclusively
      Src: /src/hostap/src/ap/ieee802_11_shared.c:480,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 101
    argCount: 4
    argNames:
    - hapd
    - pos
    - idx
    - mbssid_complete
    argTypes:
    - struct hostapd_data*
    - u8*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 498
    functionName: hostapd_ext_capab_byte
    functionSourceFile: /src/hostap/src/ap/ieee802_11_shared.c
    functionUses: 0
    functionsReached:
    - wpa_key_mgmt_sae
    - hostapd_sae_pk_exclusively
    - hostapd_get_he_twt_responder
    - wpa_key_mgmt_fils
    - hostapd_sae_pw_id_in_use
    - hostapd_get_ht_vht_twt_responder
    linkageType: ''
    returnType: void
    signature: "void hostapd_ext_capab_byte(struct hostapd_data *hapd, u8 *pos, int
      idx,\n\t\t\t\t   bool mbssid_complete)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_ext_capab_byte
      Src: /src/hostap/src/ap/ieee802_11_shared.c:513,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 3
    argNames:
    - hapd
    - eid
    - mbssid_complete
    argTypes:
    - struct hostapd_data*
    - u8*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 501
    functionDepth: 2
    functionLinenumber: 501
    functionLinenumberEnd: 541
    functionName: hostapd_eid_ext_capab
    functionSourceFile: /src/hostap/src/ap/ieee802_11_shared.c
    functionUses: 0
    functionsReached:
    - hostapd_ext_capab_byte
    linkageType: ''
    returnType: u8
    signature: "u8 * hostapd_eid_ext_capab(struct hostapd_data *hapd, u8 *eid,\n\t\t\t
      \  bool mbssid_complete)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_shared.c:554,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - hapd
    - eid
    argTypes:
    - struct hostapd_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 558
    functionName: hostapd_eid_qos_map_set
    functionSourceFile: /src/hostap/src/ap/ieee802_11_shared.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    linkageType: ''
    returnType: u8
    signature: u8 * hostapd_eid_qos_map_set(struct hostapd_data *hapd, u8 *eid)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/ap/ieee802_11_shared.c:589,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_shared.c:590,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - hapd
    - eid
    argTypes:
    - struct hostapd_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 561
    functionDepth: 1
    functionLinenumber: 561
    functionLinenumberEnd: 598
    functionName: hostapd_eid_interworking
    functionSourceFile: /src/hostap/src/ap/ieee802_11_shared.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - is_zero_ether_addr
    linkageType: ''
    returnType: u8
    signature: u8 * hostapd_eid_interworking(struct hostapd_data *hapd, u8 *eid)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - hapd
    - eid
    argTypes:
    - struct hostapd_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 617
    functionName: hostapd_eid_adv_proto
    functionSourceFile: /src/hostap/src/ap/ieee802_11_shared.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 * hostapd_eid_adv_proto(struct hostapd_data *hapd, u8 *eid)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_shared.c:655,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - hapd
    - eid
    argTypes:
    - struct hostapd_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 664
    functionName: hostapd_eid_roaming_consortium
    functionSourceFile: /src/hostap/src/ap/ieee802_11_shared.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    linkageType: ''
    returnType: u8
    signature: u8 * hostapd_eid_roaming_consortium(struct hostapd_data *hapd, u8 *eid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_update_time_adv
      Src: /src/hostap/src/ap/ieee802_11_shared.c:673,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_shared.c:679,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/ieee802_11_shared.c:679,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_11_shared.c:680,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_11_shared.c:681,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - hapd
    - eid
    argTypes:
    - struct hostapd_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 667
    functionDepth: 1
    functionLinenumber: 667
    functionLinenumberEnd: 684
    functionName: hostapd_eid_time_adv
    functionSourceFile: /src/hostap/src/ap/ieee802_11_shared.c
    functionUses: 0
    functionsReached:
    - wpabuf_len
    - hostapd_update_time_adv
    - os_memcpy
    - wpabuf_head
    linkageType: ''
    returnType: u8
    signature: u8 * hostapd_eid_time_adv(struct hostapd_data *hapd, u8 *eid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/ap/ieee802_11_shared.c:694,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_shared.c:698,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - hapd
    - eid
    argTypes:
    - struct hostapd_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 702
    functionName: hostapd_eid_time_zone
    functionSourceFile: /src/hostap/src/ap/ieee802_11_shared.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_memcpy
    linkageType: ''
    returnType: u8
    signature: u8 * hostapd_eid_time_zone(struct hostapd_data *hapd, u8 *eid)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_get_time
      Src: /src/hostap/src/ap/ieee802_11_shared.c:715,1
    - Dst: os_gmtime
      Src: /src/hostap/src/ap/ieee802_11_shared.c:715,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/ap/ieee802_11_shared.c:719,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/ap/ieee802_11_shared.c:722,1
    - Dst: wpabuf_mhead_u8
      Src: /src/hostap/src/ap/ieee802_11_shared.c:724,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/ap/ieee802_11_shared.c:733,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/ap/ieee802_11_shared.c:740,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 705
    functionDepth: 1
    functionLinenumber: 705
    functionLinenumberEnd: 755
    functionName: hostapd_update_time_adv
    functionSourceFile: /src/hostap/src/ap/ieee802_11_shared.c
    functionUses: 1
    functionsReached:
    - os_gmtime
    - wpabuf_put
    - wpabuf_mhead_u8
    - wpabuf_alloc
    - os_get_time
    - WPA_PUT_LE16
    linkageType: ''
    returnType: int
    signature: int hostapd_update_time_adv(struct hostapd_data *hapd)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/ap/ieee802_11_shared.c:780,1
    - Dst: BIT
      Src: /src/hostap/src/ap/ieee802_11_shared.c:784,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - hapd
    - eid
    - value
    argTypes:
    - struct hostapd_data*
    - u8*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 758
    functionDepth: 1
    functionLinenumber: 758
    functionLinenumberEnd: 789
    functionName: hostapd_eid_bss_max_idle_period
    functionSourceFile: /src/hostap/src/ap/ieee802_11_shared.c
    functionUses: 0
    functionsReached:
    - BIT
    - WPA_PUT_LE16
    linkageType: ''
    returnType: u8
    signature: "u8 * hostapd_eid_bss_max_idle_period(struct hostapd_data *hapd, u8
      *eid,\n\t\t\t\t     u16 value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbo_add_ie
      Src: /src/hostap/src/ap/ieee802_11_shared.c:806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - hapd
    - eid
    - len
    - delta
    argTypes:
    - struct hostapd_data*
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 794
    functionDepth: 1
    functionLinenumber: 794
    functionLinenumberEnd: 807
    functionName: hostapd_eid_mbo_rssi_assoc_rej
    functionSourceFile: /src/hostap/src/ap/ieee802_11_shared.c
    functionUses: 0
    functionsReached:
    - mbo_add_ie
    linkageType: ''
    returnType: u8
    signature: "u8 * hostapd_eid_mbo_rssi_assoc_rej(struct hostapd_data *hapd, u8
      *eid,\n\t\t\t\t    size_t len, int delta)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OCE_STA_CFON_ENABLED
      Src: /src/hostap/src/ap/ieee802_11_shared.c:816,1
    - Dst: OCE_AP_ENABLED
      Src: /src/hostap/src/ap/ieee802_11_shared.c:816,1
    - Dst: OCE_STA_CFON_ENABLED
      Src: /src/hostap/src/ap/ieee802_11_shared.c:832,1
    - Dst: OCE_AP_ENABLED
      Src: /src/hostap/src/ap/ieee802_11_shared.c:832,1
    - Dst: OCE_STA_CFON_ENABLED
      Src: /src/hostap/src/ap/ieee802_11_shared.c:836,1
    - Dst: OCE_AP_ENABLED
      Src: /src/hostap/src/ap/ieee802_11_shared.c:836,1
    - Dst: mbo_add_ie
      Src: /src/hostap/src/ap/ieee802_11_shared.c:844,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 3
    argNames:
    - hapd
    - eid
    - len
    argTypes:
    - struct hostapd_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 810
    functionDepth: 1
    functionLinenumber: 810
    functionLinenumberEnd: 847
    functionName: hostapd_eid_mbo
    functionSourceFile: /src/hostap/src/ap/ieee802_11_shared.c
    functionUses: 0
    functionsReached:
    - mbo_add_ie
    - OCE_STA_CFON_ENABLED
    - OCE_AP_ENABLED
    linkageType: ''
    returnType: u8
    signature: u8 * hostapd_eid_mbo(struct hostapd_data *hapd, u8 *eid, size_t len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OCE_STA_CFON_ENABLED
      Src: /src/hostap/src/ap/ieee802_11_shared.c:855,1
    - Dst: OCE_AP_ENABLED
      Src: /src/hostap/src/ap/ieee802_11_shared.c:855,1
    - Dst: OCE_STA_CFON_ENABLED
      Src: /src/hostap/src/ap/ieee802_11_shared.c:867,1
    - Dst: OCE_AP_ENABLED
      Src: /src/hostap/src/ap/ieee802_11_shared.c:867,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 850
    functionDepth: 1
    functionLinenumber: 850
    functionLinenumberEnd: 871
    functionName: hostapd_mbo_ie_len
    functionSourceFile: /src/hostap/src/ap/ieee802_11_shared.c
    functionUses: 0
    functionsReached:
    - OCE_STA_CFON_ENABLED
    - OCE_AP_ENABLED
    linkageType: ''
    returnType: u8
    signature: u8 hostapd_mbo_ie_len(struct hostapd_data *hapd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/ap/ieee802_11_shared.c:880,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 877
    functionDepth: 1
    functionLinenumber: 877
    functionLinenumberEnd: 881
    functionName: hostapd_eid_owe_trans_enabled
    functionSourceFile: /src/hostap/src/ap/ieee802_11_shared.c
    functionUses: 0
    functionsReached:
    - is_zero_ether_addr
    linkageType: ''
    returnType: int
    signature: int hostapd_eid_owe_trans_enabled(struct hostapd_data *hapd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_eid_owe_trans_enabled
      Src: /src/hostap/src/ap/ieee802_11_shared.c:888,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 885
    functionDepth: 2
    functionLinenumber: 885
    functionLinenumberEnd: 894
    functionName: hostapd_eid_owe_trans_len
    functionSourceFile: /src/hostap/src/ap/ieee802_11_shared.c
    functionUses: 0
    functionsReached:
    - hostapd_eid_owe_trans_enabled
    linkageType: ''
    returnType: size_t
    signature: size_t hostapd_eid_owe_trans_len(struct hostapd_data *hapd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_eid_owe_trans_enabled
      Src: /src/hostap/src/ap/ieee802_11_shared.c:905,1
    - Dst: hostapd_owe_trans_get_info
      Src: /src/hostap/src/ap/ieee802_11_shared.c:906,1
    - Dst: hostapd_eid_owe_trans_enabled
      Src: /src/hostap/src/ap/ieee802_11_shared.c:908,1
    - Dst: hostapd_eid_owe_trans_len
      Src: /src/hostap/src/ap/ieee802_11_shared.c:911,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_shared.c:913,1
    - Dst: WPA_PUT_BE24
      Src: /src/hostap/src/ap/ieee802_11_shared.c:920,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_shared.c:923,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_shared.c:926,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - hapd
    - eid
    - len
    argTypes:
    - struct hostapd_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 897
    functionDepth: 3
    functionLinenumber: 897
    functionLinenumberEnd: 934
    functionName: hostapd_eid_owe_trans
    functionSourceFile: /src/hostap/src/ap/ieee802_11_shared.c
    functionUses: 0
    functionsReached:
    - hostapd_owe_trans_get_info
    - wpa_printf
    - os_memcpy
    - WPA_PUT_BE24
    - hostapd_eid_owe_trans_len
    - hostapd_eid_owe_trans_enabled
    linkageType: ''
    returnType: u8
    signature: "u8 * hostapd_eid_owe_trans(struct hostapd_data *hapd, u8 *eid,\n\t\t\t\t
      \ size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_dpp_configurator_connectivity
      Src: /src/hostap/src/ap/ieee802_11_shared.c:940,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 937
    functionDepth: 1
    functionLinenumber: 937
    functionLinenumberEnd: 944
    functionName: hostapd_eid_dpp_cc_len
    functionSourceFile: /src/hostap/src/ap/ieee802_11_shared.c
    functionUses: 0
    functionsReached:
    - hostapd_dpp_configurator_connectivity
    linkageType: ''
    returnType: size_t
    signature: size_t hostapd_eid_dpp_cc_len(struct hostapd_data *hapd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_dpp_configurator_connectivity
      Src: /src/hostap/src/ap/ieee802_11_shared.c:952,1
    - Dst: WPA_PUT_BE24
      Src: /src/hostap/src/ap/ieee802_11_shared.c:957,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - hapd
    - eid
    - len
    argTypes:
    - struct hostapd_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 963
      start: 947
    functionDepth: 1
    functionLinenumber: 947
    functionLinenumberEnd: 963
    functionName: hostapd_eid_dpp_cc
    functionSourceFile: /src/hostap/src/ap/ieee802_11_shared.c
    functionUses: 0
    functionsReached:
    - WPA_PUT_BE24
    - hostapd_dpp_configurator_connectivity
    linkageType: ''
    returnType: u8
    signature: u8 * hostapd_eid_dpp_cc(struct hostapd_data *hapd, u8 *eid, size_t
      len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_11_shared.c:972,1
    - Dst: os_malloc
      Src: /src/hostap/src/ap/ieee802_11_shared.c:973,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_shared.c:978,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - sta
    - supp_op_classes
    - supp_op_classes_len
    argTypes:
    - struct sta_info*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 966
    functionDepth: 0
    functionLinenumber: 966
    functionLinenumberEnd: 980
    functionName: ap_copy_sta_supp_op_classes
    functionSourceFile: /src/hostap/src/ap/ieee802_11_shared.c
    functionUses: 0
    functionsReached:
    - os_free
    - os_memcpy
    - os_malloc
    linkageType: ''
    returnType: void
    signature: "void ap_copy_sta_supp_op_classes(struct sta_info *sta,\n\t\t\t\t const
      u8 *supp_op_classes,\n\t\t\t\t size_t supp_op_classes_len)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpa_key_mgmt_fils
      Src: /src/hostap/src/ap/ieee802_11_shared.c:993,1
    - Dst: dl_list_len
      Src: /src/hostap/src/ap/ieee802_11_shared.c:996,1
    - Dst: BIT
      Src: /src/hostap/src/ap/ieee802_11_shared.c:1009,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/ap/ieee802_11_shared.c:1010,1
    - Dst: BIT
      Src: /src/hostap/src/ap/ieee802_11_shared.c:1011,1
    - Dst: BIT
      Src: /src/hostap/src/ap/ieee802_11_shared.c:1013,1
    - Dst: BIT
      Src: /src/hostap/src/ap/ieee802_11_shared.c:1016,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/ap/ieee802_11_shared.c:1020,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_shared.c:1023,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/ap/ieee802_11_shared.c:1026,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_shared.c:1027,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/ap/ieee802_11_shared.c:1031,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_shared.c:1036,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 3
    argNames:
    - hapd
    - eid
    - hessid
    argTypes:
    - struct hostapd_data*
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 983
    functionDepth: 1
    functionLinenumber: 983
    functionLinenumberEnd: 1043
    functionName: hostapd_eid_fils_indic
    functionSourceFile: /src/hostap/src/ap/ieee802_11_shared.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - is_zero_ether_addr
    - dl_list_for_each
    - BIT
    - wpa_key_mgmt_fils
    - dl_list_len
    - WPA_PUT_LE16
    linkageType: ''
    returnType: u8
    signature: u8 * hostapd_eid_fils_indic(struct hostapd_data *hapd, u8 *eid, int
      hessid)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: le_to_host16
      Src: /src/hostap/src/ap/ieee802_11_shared.c:1055,1
    - Dst: abs
      Src: /src/hostap/src/ap/ieee802_11_shared.c:1074,1
    - Dst: le_to_host32
      Src: /src/hostap/src/ap/ieee802_11_shared.c:1092,1
    - Dst: le_to_host32
      Src: /src/hostap/src/ap/ieee802_11_shared.c:1094,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 5
    argNames:
    - sta
    - ap_max_chanwidth
    - ap_seg1_idx
    - bandwidth
    - seg1_idx
    argTypes:
    - struct sta_info*
    - int
    - int
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1111
      start: 1047
    functionDepth: 1
    functionLinenumber: 1047
    functionLinenumberEnd: 1111
    functionName: get_tx_parameters
    functionSourceFile: /src/hostap/src/ap/ieee802_11_shared.c
    functionUses: 1
    functionsReached:
    - le_to_host16
    - le_to_host32
    - abs
    linkageType: ''
    returnType: int
    signature: "int get_tx_parameters(struct sta_info *sta, int ap_max_chanwidth,\n\t\t
      \     int ap_seg1_idx, int *bandwidth, int *seg1_idx)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_sae_pk_in_use
      Src: /src/hostap/src/ap/ieee802_11_shared.c:1126,1
    - Dst: wpa_key_mgmt_sae
      Src: /src/hostap/src/ap/ieee802_11_shared.c:1129,1
    - Dst: hostapd_sae_pw_id_in_use
      Src: /src/hostap/src/ap/ieee802_11_shared.c:1132,1
    - Dst: wpa_key_mgmt_sae_ext_key
      Src: /src/hostap/src/ap/ieee802_11_shared.c:1133,1
    - Dst: BIT
      Src: /src/hostap/src/ap/ieee802_11_shared.c:1135,1
    - Dst: BIT
      Src: /src/hostap/src/ap/ieee802_11_shared.c:1138,1
    - Dst: BIT
      Src: /src/hostap/src/ap/ieee802_11_shared.c:1143,1
    - Dst: BIT
      Src: /src/hostap/src/ap/ieee802_11_shared.c:1145,1
    - Dst: BIT
      Src: /src/hostap/src/ap/ieee802_11_shared.c:1148,1
    - Dst: BIT
      Src: /src/hostap/src/ap/ieee802_11_shared.c:1150,1
    - Dst: BIT
      Src: /src/hostap/src/ap/ieee802_11_shared.c:1153,1
    - Dst: BIT
      Src: /src/hostap/src/ap/ieee802_11_shared.c:1156,1
    - Dst: BIT
      Src: /src/hostap/src/ap/ieee802_11_shared.c:1167,1
    - Dst: BIT
      Src: /src/hostap/src/ap/ieee802_11_shared.c:1169,1
    - Dst: BIT
      Src: /src/hostap/src/ap/ieee802_11_shared.c:1171,1
    - Dst: BIT
      Src: /src/hostap/src/ap/ieee802_11_shared.c:1173,1
    - Dst: BIT_ULL
      Src: /src/hostap/src/ap/ieee802_11_shared.c:1175,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 51
    argCount: 3
    argNames:
    - hapd
    - eid
    - len
    argTypes:
    - struct hostapd_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1199
      start: 1115
    functionDepth: 1
    functionLinenumber: 1115
    functionLinenumberEnd: 1199
    functionName: hostapd_eid_rsnxe
    functionSourceFile: /src/hostap/src/ap/ieee802_11_shared.c
    functionUses: 0
    functionsReached:
    - wpa_key_mgmt_sae
    - wpa_key_mgmt_sae_ext_key
    - BIT
    - BIT_ULL
    - hostapd_sae_pw_id_in_use
    - hostapd_sae_pk_in_use
    linkageType: ''
    returnType: u8
    signature: u8 * hostapd_eid_rsnxe(struct hostapd_data *hapd, u8 *eid, size_t len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIT
      Src: /src/hostap/src/ap/ieee802_11_shared.c:1212,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_11_shared.c:1213,1
    - Dst: os_malloc
      Src: /src/hostap/src/ap/ieee802_11_shared.c:1214,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_shared.c:1217,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - hapd
    - sta
    - ext_capab_ie
    - ext_capab_ie_len
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1223
      start: 1202
    functionDepth: 0
    functionLinenumber: 1202
    functionLinenumberEnd: 1223
    functionName: check_ext_capab
    functionSourceFile: /src/hostap/src/ap/ieee802_11_shared.c
    functionUses: 0
    functionsReached:
    - os_free
    - os_memcpy
    - BIT
    - os_malloc
    linkageType: ''
    returnType: u16
    signature: "u16 check_ext_capab(struct hostapd_data *hapd, struct sta_info *sta,\n\t\t
      \   const u8 *ext_capab_ie, size_t ext_capab_ie_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_sta_is_mld
      Src: /src/hostap/src/ap/ieee802_11_shared.c:1234,1
    - Dst: hostapd_mld_get_link_bss
      Src: /src/hostap/src/ap/ieee802_11_shared.c:1243,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_shared.c:1245,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - hapd
    - sta
    - assoc_hapd
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - struct hostapd_data**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1264
      start: 1226
    functionDepth: 1
    functionLinenumber: 1226
    functionLinenumberEnd: 1264
    functionName: hostapd_ml_get_assoc_sta
    functionSourceFile: /src/hostap/src/ap/ieee802_11_shared.c
    functionUses: 0
    functionsReached:
    - ap_sta_is_mld
    - wpa_printf
    - hostapd_mld_get_link_bss
    linkageType: ''
    returnType: struct sta_info
    signature: "struct sta_info * hostapd_ml_get_assoc_sta(struct hostapd_data *hapd,\n\t\t\t\t\t
      \  struct sta_info *sta,\n\t\t\t\t\t   struct hostapd_data **assoc_hapd)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_is_ht_enabled
      Src: /src/hostap/src/ap/ieee802_11_shared.c:1270,1
    - Dst: hostapd_is_vht_enabled
      Src: /src/hostap/src/ap/ieee802_11_shared.c:1271,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1267
    functionDepth: 1
    functionLinenumber: 1267
    functionLinenumberEnd: 1274
    functionName: hostapd_get_ht_vht_twt_responder
    functionSourceFile: /src/hostap/src/ap/ieee802_11_shared.c
    functionUses: 1
    functionsReached:
    - hostapd_is_vht_enabled
    - hostapd_is_ht_enabled
    linkageType: ''
    returnType: bool
    signature: bool hostapd_get_ht_vht_twt_responder(struct hostapd_data *hapd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_shared.c:1284,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11_shared.c:1286,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/ieee802_11_shared.c:1287,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/ieee802_11_shared.c:1290,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/ap/ieee802_11_shared.c:1293,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/ieee802_11_shared.c:1294,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11_shared.c:1295,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_11_shared.c:1296,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - hapd
    - sta
    - capab
    - len
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1297
      start: 1277
    functionDepth: 1
    functionLinenumber: 1277
    functionLinenumberEnd: 1297
    functionName: hostapd_wfa_gen_capab
    functionSourceFile: /src/hostap/src/ap/ieee802_11_shared.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_snprintf_hex
    - wpa_hexdump
    - wpa_msg
    - MAC2STR
    - os_zalloc
    - os_free
    linkageType: ''
    returnType: void
    signature: "void hostapd_wfa_gen_capab(struct hostapd_data *hapd,\n\t\t\t\t  struct
      sta_info *sta,\n\t\t\t\t  const u8 *capab, size_t len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_update_dscp_policy_capability
      Src: /src/hostap/src/ap/ieee802_11_shared.c:1312,1
    - Dst: get_ie
      Src: /src/hostap/src/ap/ieee802_11_shared.c:1318,1
    - Dst: hostapd_wfa_gen_capab
      Src: /src/hostap/src/ap/ieee802_11_shared.c:1320,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - hapd
    - sta
    - pos
    - end
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1321
      start: 1300
    functionDepth: 2
    functionLinenumber: 1300
    functionLinenumberEnd: 1321
    functionName: hostapd_wfa_capab
    functionSourceFile: /src/hostap/src/ap/ieee802_11_shared.c
    functionUses: 0
    functionsReached:
    - get_ie
    - hostapd_wfa_gen_capab
    - hostapd_update_dscp_policy_capability
    linkageType: ''
    returnType: void
    signature: "void hostapd_wfa_capab(struct hostapd_data *hapd, struct sta_info
      *sta,\n\t\t       const u8 *pos, const u8 *end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_eid_wfa_capab
      Src: /src/hostap/src/ap/ieee802_11_shared.c:1328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1324
    functionDepth: 1
    functionLinenumber: 1324
    functionLinenumberEnd: 1330
    functionName: hostapd_eid_wfa_capab_len
    functionSourceFile: /src/hostap/src/ap/ieee802_11_shared.c
    functionUses: 0
    functionsReached:
    - hostapd_eid_wfa_capab
    linkageType: ''
    returnType: u8
    signature: u8 hostapd_eid_wfa_capab_len(struct hostapd_data *hapd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_pmf_enabled
      Src: /src/hostap/src/ap/ieee802_11_shared.c:1341,1
    - Dst: WPA_PUT_BE24
      Src: /src/hostap/src/ap/ieee802_11_shared.c:1352,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - hapd
    - sta
    - eid
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1364
      start: 1333
    functionDepth: 1
    functionLinenumber: 1333
    functionLinenumberEnd: 1364
    functionName: hostapd_eid_wfa_capab
    functionSourceFile: /src/hostap/src/ap/ieee802_11_shared.c
    functionUses: 1
    functionsReached:
    - WPA_PUT_BE24
    - ap_pmf_enabled
    linkageType: ''
    returnType: u8
    signature: "u8 * hostapd_eid_wfa_capab(struct hostapd_data *hapd, struct sta_info
      *sta,\n\t\t\t   u8 *eid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hapd
    - conf
    argTypes:
    - struct hostapd_data*
    - struct hostapd_bss_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: hostapd_init_wps
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int hostapd_init_wps(struct hostapd_data *hapd,\n\t\t\t\t   struct
      hostapd_bss_config *conf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: hostapd_deinit_wps
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void hostapd_deinit_wps(struct hostapd_data *hapd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: hostapd_init_wps_complete
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int hostapd_init_wps_complete(struct hostapd_data *hapd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: hostapd_update_wps
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void hostapd_update_wps(struct hostapd_data *hapd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: hostapd_wps_eap_completed
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void hostapd_wps_eap_completed(struct hostapd_data *hapd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - hapd
    - addr
    - buf
    - buflen
    argTypes:
    - struct hostapd_data*
    - u8*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: hostapd_wps_get_mib_sta
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int hostapd_wps_get_mib_sta(struct hostapd_data *hapd,\n\t\t\t\t\t
      \ const u8 *addr,\n\t\t\t\t\t  char *buf, size_t buflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hapd
    - p2p_dev_addr
    argTypes:
    - struct hostapd_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: hostapd_wps_button_pushed
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int hostapd_wps_button_pushed(struct hostapd_data *hapd,\n\t\t\t\t\t
      \   const u8 *p2p_dev_addr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: hostapd_wps_cancel
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int hostapd_wps_cancel(struct hostapd_data *hapd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: dhcp_snoop_init
    functionSourceFile: /src/hostap/src/ap/dhcp_snoop.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dhcp_snoop_init(struct hostapd_data *hapd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 26
    functionName: dhcp_snoop_deinit
    functionSourceFile: /src/hostap/src/ap/dhcp_snoop.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dhcp_snoop_deinit(struct hostapd_data *hapd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/ap/mbo_ap.c:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - sta
    argTypes:
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 30
    functionName: mbo_ap_sta_free
    functionSourceFile: /src/hostap/src/ap/mbo_ap.c
    functionUses: 0
    functionsReached:
    - os_free
    linkageType: ''
    returnType: void
    signature: void mbo_ap_sta_free(struct sta_info *sta)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/mbo_ap.c:45,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/mbo_ap.c:53,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/mbo_ap.c:67,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/mbo_ap.c:69,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/mbo_ap.c:76,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/mbo_ap.c:78,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 3
    argNames:
    - sta
    - buf
    - len
    argTypes:
    - struct sta_info*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 80
    functionName: mbo_ap_parse_non_pref_chan
    functionSourceFile: /src/hostap/src/ap/mbo_ap.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - os_snprintf
    - MAC2STR
    - os_zalloc
    - os_snprintf_error
    linkageType: ''
    returnType: void
    signature: "void mbo_ap_parse_non_pref_chan(struct sta_info *sta,\n\t\t\t\t       const
      u8 *buf, size_t len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/mbo_ap.c:94,1
    - Dst: get_ie
      Src: /src/hostap/src/ap/mbo_ap.c:96,1
    - Dst: mbo_ap_sta_free
      Src: /src/hostap/src/ap/mbo_ap.c:100,1
    - Dst: mbo_ap_parse_non_pref_chan
      Src: /src/hostap/src/ap/mbo_ap.c:109,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 3
    argNames:
    - hapd
    - sta
    - elems
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - struct ieee802_11_elems*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 112
    functionName: mbo_ap_check_sta_assoc
    functionSourceFile: /src/hostap/src/ap/mbo_ap.c
    functionUses: 0
    functionsReached:
    - get_ie
    - mbo_ap_parse_non_pref_chan
    - wpa_hexdump
    - mbo_ap_sta_free
    linkageType: ''
    returnType: void
    signature: "void mbo_ap_check_sta_assoc(struct hostapd_data *hapd, struct sta_info
      *sta,\n\t\t\t    struct ieee802_11_elems *elems)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/mbo_ap.c:126,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/mbo_ap.c:127,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/mbo_ap.c:134,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/mbo_ap.c:139,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/mbo_ap.c:144,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/mbo_ap.c:148,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/mbo_ap.c:157,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/mbo_ap.c:158,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 3
    argNames:
    - sta
    - buf
    - buflen
    argTypes:
    - struct sta_info*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 165
    functionName: mbo_ap_get_info
    functionSourceFile: /src/hostap/src/ap/mbo_ap.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: int mbo_ap_get_info(struct sta_info *sta, char *buf, size_t buflen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/mbo_ap.c:173,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/mbo_ap.c:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - sta
    - buf
    - len
    argTypes:
    - struct sta_info*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 177
    functionName: mbo_ap_wnm_notif_req_cell_capa
    functionSourceFile: /src/hostap/src/ap/mbo_ap.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: "void mbo_ap_wnm_notif_req_cell_capa(struct sta_info *sta,\n\t\t\t\t\t
      \  const u8 *buf, size_t len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbo_ap_sta_free
      Src: /src/hostap/src/ap/mbo_ap.c:192,1
    - Dst: mbo_ap_parse_non_pref_chan
      Src: /src/hostap/src/ap/mbo_ap.c:194,1
    - Dst: mbo_ap_wnm_notif_req_cell_capa
      Src: /src/hostap/src/ap/mbo_ap.c:197,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/mbo_ap.c:200,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 5
    argNames:
    - sta
    - type
    - buf
    - len
    - first_non_pref_chan
    argTypes:
    - struct sta_info*
    - u8
    - u8*
    - size_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 205
    functionName: mbo_ap_wnm_notif_req_elem
    functionSourceFile: /src/hostap/src/ap/mbo_ap.c
    functionUses: 0
    functionsReached:
    - mbo_ap_parse_non_pref_chan
    - wpa_printf
    - mbo_ap_wnm_notif_req_cell_capa
    - mbo_ap_sta_free
    linkageType: ''
    returnType: void
    signature: "void mbo_ap_wnm_notif_req_elem(struct sta_info *sta, u8 type,\n\t\t\t\t
      \     const u8 *buf, size_t len,\n\t\t\t\t      int *first_non_pref_chan)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/mbo_ap.c:219,1
    - Dst: WPA_GET_BE24
      Src: /src/hostap/src/ap/mbo_ap.c:233,1
    - Dst: mbo_ap_wnm_notif_req_elem
      Src: /src/hostap/src/ap/mbo_ap.c:234,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/mbo_ap.c:238,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 4
    argNames:
    - hapd
    - addr
    - buf
    - len
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 208
    functionDepth: 3
    functionLinenumber: 208
    functionLinenumberEnd: 244
    functionName: mbo_ap_wnm_notification_req
    functionSourceFile: /src/hostap/src/ap/mbo_ap.c
    functionUses: 0
    functionsReached:
    - WPA_GET_BE24
    - wpa_printf
    - mbo_ap_wnm_notif_req_elem
    - ap_get_sta
    linkageType: ''
    returnType: void
    signature: "void mbo_ap_wnm_notification_req(struct hostapd_data *hapd, const
      u8 *addr,\n\t\t\t\t const u8 *buf, size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:37,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:39,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:44,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:46,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - buf
    - buflen
    - curr_len
    - mcs_set
    argTypes:
    - char*
    - size_t
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 52
    functionName: hostapd_write_ht_mcs_bitmask
    functionSourceFile: /src/hostap/src/ap/ctrl_iface_ap.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - wpa_snprintf_hex
    - os_snprintf_error
    linkageType: ''
    returnType: size_t
    signature: "size_t hostapd_write_ht_mcs_bitmask(char *buf, size_t buflen,\n\t\t\t\t\t
      \  size_t curr_len, const u8 *mcs_set)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_reltime_age
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:65,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:74,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - sta
    - data
    - buf
    - buflen
    argTypes:
    - struct sta_info*
    - struct hostap_sta_driver_data*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 78
    functionName: hostapd_get_sta_conn_time
    functionSourceFile: /src/hostap/src/ap/ctrl_iface_ap.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - os_reltime_age
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int hostapd_get_sta_conn_time(struct sta_info *sta,\n\t\t\t\t     struct
      hostap_sta_driver_data *data,\n\t\t\t\t     char *buf, size_t buflen)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_drv_read_sta_data
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:89,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:92,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:98,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:102,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:104,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:108,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:110,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:114,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:116,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:120,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:122,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:126,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:127,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:130,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:131,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:134,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:136,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:140,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:142,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:146,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:148,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:152,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:154,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:158,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:159,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:162,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:163,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:167,1
    - Dst: le_to_host16
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:170,1
    - Dst: le_to_host16
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:172,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:174,1
    - Dst: hostapd_write_ht_mcs_bitmask
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:179,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:185,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:187,1
    - Dst: hostapd_get_sta_conn_time
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:191,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 76
    argCount: 4
    argNames:
    - hapd
    - sta
    - buf
    - buflen
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 194
    functionName: hostapd_get_sta_info
    functionSourceFile: /src/hostap/src/ap/ctrl_iface_ap.c
    functionUses: 0
    functionsReached:
    - hostapd_get_sta_conn_time
    - hostapd_drv_read_sta_data
    - os_snprintf
    - hostapd_write_ht_mcs_bitmask
    - le_to_host16
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int hostapd_get_sta_info(struct hostapd_data *hapd,\n\t\t\t\tstruct
      sta_info *sta,\n\t\t\t\tchar *buf, size_t buflen)"
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - val
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 213
    functionName: timeout_next_str
    functionSourceFile: /src/hostap/src/ap/ctrl_iface_ap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * timeout_next_str(int val)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - mode
    argTypes:
    - enum hostapd_hw_mode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 233
    functionName: hw_mode_str
    functionSourceFile: /src/hostap/src/ap/ctrl_iface_ap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * hw_mode_str(enum hostapd_hw_mode mode)
  - BBCount: 58
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:248,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:249,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:250,1
    - Dst: ap_sta_flags_txt
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:254,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:259,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:262,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:267,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:270,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:275,1
    - Dst: timeout_next_str
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:276,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:277,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:282,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:284,1
    - Dst: ieee802_11_get_mib_sta
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:289,1
    - Dst: wpa_get_mib_sta
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:292,1
    - Dst: ieee802_1x_get_mib_sta
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:295,1
    - Dst: hostapd_wps_get_mib_sta
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:298,1
    - Dst: hostapd_p2p_get_mib_sta
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:302,1
    - Dst: hostapd_get_sta_info
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:306,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:310,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:312,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:321,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:323,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:327,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:328,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:334,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:335,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:336,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:341,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:342,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:348,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:350,1
    - Dst: mbo_ap_get_info
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:354,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:360,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:361,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:363,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:366,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:367,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:372,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:376,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:382,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:383,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:385,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:388,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:389,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:396,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:397,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:399,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:402,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:403,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:410,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:411,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:413,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:416,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:417,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:424,1
    - Dst: le_to_host32
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:426,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:428,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:431,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:432,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:434,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:437,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:438,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:444,1
    - Dst: le_to_host16
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:446,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:448,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:454,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:455,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:457,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:460,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:461,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:466,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:468,1
    - Dst: ap_sta_wpa_get_keyid
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:472,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:474,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:475,1
    - Dst: ap_sta_wpa_get_dpp_pkhash
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:479,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:481,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:482,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:484,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:486,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:487,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:500,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:503,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:504,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:508,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:510,1
    CyclomaticComplexity: 72
    EdgeCount: 72
    ICount: 183
    argCount: 4
    argNames:
    - hapd
    - sta
    - buf
    - buflen
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 236
    functionDepth: 3
    functionLinenumber: 236
    functionLinenumberEnd: 516
    functionName: hostapd_ctrl_iface_sta_mib
    functionSourceFile: /src/hostap/src/ap/ctrl_iface_ap.c
    functionUses: 0
    functionsReached:
    - le_to_host32
    - ap_sta_flags_txt
    - timeout_next_str
    - WPA_GET_LE16
    - os_snprintf
    - ap_sta_wpa_get_dpp_pkhash
    - wpa_get_mib_sta
    - wpa_snprintf_hex
    - hostapd_p2p_get_mib_sta
    - ap_sta_wpa_get_keyid
    - mbo_ap_get_info
    - ieee802_1x_get_mib_sta
    - wpabuf_len
    - wpabuf_head
    - hostapd_get_sta_info
    - hostapd_wps_get_mib_sta
    - MAC2STR
    - ieee802_11_get_mib_sta
    - le_to_host16
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_iface_sta_mib(struct hostapd_data *hapd,\n\t\t\t\t
      \     struct sta_info *sta,\n\t\t\t\t      char *buf, size_t buflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_ctrl_iface_sta_mib
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - hapd
    - buf
    - buflen
    argTypes:
    - struct hostapd_data*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 519
    functionDepth: 4
    functionLinenumber: 519
    functionLinenumberEnd: 523
    functionName: hostapd_ctrl_iface_sta_first
    functionSourceFile: /src/hostap/src/ap/ctrl_iface_ap.c
    functionUses: 1
    functionsReached:
    - hostapd_ctrl_iface_sta_mib
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_iface_sta_first(struct hostapd_data *hapd,\n\t\t\t\t
      char *buf, size_t buflen)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: hwaddr_aton
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:534,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:535,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:536,1
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:541,1
    - Dst: os_strchr
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:545,1
    - Dst: os_strcmp
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:550,1
    - Dst: eapol_auth_dump_state
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:553,1
    - Dst: hostapd_ctrl_iface_sta_mib
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:561,1
    - Dst: fst_ctrl_iface_mb_info
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:562,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 4
    argNames:
    - hapd
    - txtaddr
    - buf
    - buflen
    argTypes:
    - struct hostapd_data*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 526
    functionDepth: 4
    functionLinenumber: 526
    functionLinenumberEnd: 565
    functionName: hostapd_ctrl_iface_sta
    functionSourceFile: /src/hostap/src/ap/ctrl_iface_ap.c
    functionUses: 1
    functionsReached:
    - eapol_auth_dump_state
    - hwaddr_aton
    - os_snprintf
    - hostapd_ctrl_iface_sta_mib
    - os_strchr
    - fst_ctrl_iface_mb_info
    - os_snprintf_error
    - os_strcmp
    - ap_get_sta
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_iface_sta(struct hostapd_data *hapd, const char *txtaddr,\n\t\t\t
      \  char *buf, size_t buflen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hwaddr_aton
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:575,1
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:576,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:577,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:578,1
    - Dst: hostapd_ctrl_iface_sta_mib
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:586,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - hapd
    - txtaddr
    - buf
    - buflen
    argTypes:
    - struct hostapd_data*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 568
    functionDepth: 4
    functionLinenumber: 568
    functionLinenumberEnd: 587
    functionName: hostapd_ctrl_iface_sta_next
    functionSourceFile: /src/hostap/src/ap/ctrl_iface_ap.c
    functionUses: 1
    functionsReached:
    - hwaddr_aton
    - os_snprintf
    - hostapd_ctrl_iface_sta_mib
    - ap_get_sta
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_iface_sta_next(struct hostapd_data *hapd, const char
      *txtaddr,\n\t\t\t\tchar *buf, size_t buflen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:598,1
    - Dst: IEEE80211_FC
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:602,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:603,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:605,1
    - Dst: fc2str
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:606,1
    - Dst: le_to_host16
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:606,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:608,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:609,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:610,1
    - Dst: host_to_le16
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:613,1
    - Dst: host_to_le16
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:617,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:623,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:627,1
    - Dst: hostapd_drv_send_mlme
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:631,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:633,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 4
    argNames:
    - hapd
    - stype
    - minor_reason_code
    - addr
    argTypes:
    - struct hostapd_data*
    - u16
    - u8
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 591
    functionDepth: 1
    functionLinenumber: 591
    functionLinenumberEnd: 636
    functionName: p2p_manager_disconnect
    functionSourceFile: /src/hostap/src/ap/ctrl_iface_ap.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - hostapd_drv_send_mlme
    - fc2str
    - MAC2STR
    - os_zalloc
    - WPA_PUT_BE32
    - IEEE80211_FC
    - wpa_dbg
    - le_to_host16
    - os_free
    - host_to_le16
    - WPA_PUT_LE16
    linkageType: ''
    returnType: int
    signature: "int p2p_manager_disconnect(struct hostapd_data *hapd, u16 stype,\n\t\t\t\t
      \ u8 minor_reason_code, const u8 *addr)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:648,1
    - Dst: hwaddr_aton
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:651,1
    - Dst: os_strstr
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:654,1
    - Dst: atoi
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:656,1
    - Dst: os_strstr
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:658,1
    - Dst: atoi
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:664,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:665,1
    - Dst: IEEE80211_FC
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:666,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:668,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:669,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:670,1
    - Dst: host_to_le16
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:671,1
    - Dst: hostapd_drv_send_mlme
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:672,1
    - Dst: os_strstr
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:681,1
    - Dst: p2p_manager_disconnect
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:683,1
    - Dst: atoi
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:684,1
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:688,1
    - Dst: os_strstr
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:689,1
    - Dst: hostapd_drv_sta_remove
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:690,1
    - Dst: ap_free_sta
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:692,1
    - Dst: hostapd_drv_sta_deauth
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:694,1
    - Dst: ap_sta_deauthenticate
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:696,1
    - Dst: hostapd_free_stas
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:698,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 2
    argNames:
    - hapd
    - txtaddr
    argTypes:
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 640
    functionDepth: 2
    functionLinenumber: 640
    functionLinenumberEnd: 702
    functionName: hostapd_ctrl_iface_deauthenticate
    functionSourceFile: /src/hostap/src/ap/ctrl_iface_ap.c
    functionUses: 1
    functionsReached:
    - hostapd_free_stas
    - os_memcpy
    - ap_free_sta
    - hwaddr_aton
    - hostapd_drv_send_mlme
    - p2p_manager_disconnect
    - hostapd_drv_sta_remove
    - hostapd_drv_sta_deauth
    - ap_sta_deauthenticate
    - os_strstr
    - ap_get_sta
    - IEEE80211_FC
    - wpa_dbg
    - atoi
    - host_to_le16
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_iface_deauthenticate(struct hostapd_data *hapd,\n\t\t\t\t
      \     const char *txtaddr)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:713,1
    - Dst: hwaddr_aton
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:716,1
    - Dst: os_strstr
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:719,1
    - Dst: atoi
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:721,1
    - Dst: os_strstr
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:723,1
    - Dst: atoi
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:729,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:730,1
    - Dst: IEEE80211_FC
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:731,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:733,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:734,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:735,1
    - Dst: host_to_le16
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:736,1
    - Dst: hostapd_drv_send_mlme
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:737,1
    - Dst: os_strstr
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:746,1
    - Dst: p2p_manager_disconnect
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:748,1
    - Dst: atoi
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:749,1
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:753,1
    - Dst: os_strstr
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:754,1
    - Dst: hostapd_drv_sta_remove
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:755,1
    - Dst: ap_free_sta
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:757,1
    - Dst: hostapd_drv_sta_disassoc
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:759,1
    - Dst: ap_sta_disassociate
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:761,1
    - Dst: hostapd_free_stas
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:763,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 2
    argNames:
    - hapd
    - txtaddr
    argTypes:
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 705
    functionDepth: 2
    functionLinenumber: 705
    functionLinenumberEnd: 767
    functionName: hostapd_ctrl_iface_disassociate
    functionSourceFile: /src/hostap/src/ap/ctrl_iface_ap.c
    functionUses: 1
    functionsReached:
    - hostapd_free_stas
    - os_memcpy
    - ap_sta_disassociate
    - ap_free_sta
    - hwaddr_aton
    - hostapd_drv_send_mlme
    - p2p_manager_disconnect
    - hostapd_drv_sta_remove
    - os_strstr
    - ap_get_sta
    - IEEE80211_FC
    - wpa_dbg
    - atoi
    - hostapd_drv_sta_disassoc
    - host_to_le16
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_iface_disassociate(struct hostapd_data *hapd,\n\t\t\t\t
      \   const char *txtaddr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:778,1
    - Dst: hwaddr_aton
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:780,1
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:783,1
    - Dst: retrieve_sta_taxonomy
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:787,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - hapd
    - txtaddr
    - buf
    - buflen
    argTypes:
    - struct hostapd_data*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 771
    functionDepth: 1
    functionLinenumber: 771
    functionLinenumberEnd: 788
    functionName: hostapd_ctrl_iface_signature
    functionSourceFile: /src/hostap/src/ap/ctrl_iface_ap.c
    functionUses: 0
    functionsReached:
    - hwaddr_aton
    - ap_get_sta
    - retrieve_sta_taxonomy
    - wpa_dbg
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_iface_signature(struct hostapd_data *hapd,\n\t\t\t\t
      const char *txtaddr,\n\t\t\t\t char *buf, size_t buflen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:798,1
    - Dst: hwaddr_aton
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:800,1
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:803,1
    - Dst: hostapd_drv_poll_client
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:807,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - hapd
    - txtaddr
    argTypes:
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 792
    functionDepth: 1
    functionLinenumber: 792
    functionLinenumberEnd: 810
    functionName: hostapd_ctrl_iface_poll_sta
    functionSourceFile: /src/hostap/src/ap/ctrl_iface_ap.c
    functionUses: 0
    functionsReached:
    - hwaddr_aton
    - hostapd_drv_poll_client
    - ap_get_sta
    - wpa_dbg
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_iface_poll_sta(struct hostapd_data *hapd,\n\t\t\t\tconst
      char *txtaddr)"
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:822,1
    - Dst: hostapd_state_text
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:836,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:849,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:854,1
    - Dst: hw_mode_str
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:855,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:856,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:862,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:866,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:872,1
    - Dst: os_reltime_age
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:881,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:883,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:889,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:893,1
    - Dst: hostapd_is_ht_enabled
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:908,1
    - Dst: hostapd_is_ht_enabled
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:910,1
    - Dst: hostapd_is_vht_enabled
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:911,1
    - Dst: hostapd_is_he_enabled
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:912,1
    - Dst: hostapd_is_eht_enabled
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:913,1
    - Dst: hostapd_is_uhr_enabled
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:914,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:917,1
    - Dst: hostapd_is_eht_enabled
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:922,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:923,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:928,1
    - Dst: is_6ghz_op_class
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:932,1
    - Dst: hostapd_get_oper_chwidth
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:933,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:935,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:938,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:944,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:947,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:955,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:958,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:963,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:967,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:968,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:977,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:981,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:982,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:987,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:992,1
    - Dst: hostapd_is_he_enabled
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1000,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1001,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1008,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1014,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1017,1
    - Dst: hostapd_is_vht_enabled
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1024,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1025,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1034,1
    - Dst: hostapd_is_vht_enabled
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1039,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1040,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1041,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1043,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1047,1
    - Dst: hostapd_is_ht_enabled
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1052,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1053,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1056,1
    - Dst: hostapd_is_ht_enabled
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1061,1
    - Dst: hostapd_write_ht_mcs_bitmask
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1062,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1067,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1068,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1073,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1076,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1080,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1081,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1088,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1091,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1100,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1106,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1108,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1111,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1117,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1121,1
    - Dst: hostapd_get_mld_id
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1122,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1124,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1132,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1135,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 147
    argCount: 3
    argNames:
    - hapd
    - buf
    - buflen
    argTypes:
    - struct hostapd_data*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 813
    functionDepth: 2
    functionLinenumber: 813
    functionLinenumberEnd: 1141
    functionName: hostapd_ctrl_iface_status
    functionSourceFile: /src/hostap/src/ap/ctrl_iface_ap.c
    functionUses: 0
    functionsReached:
    - hw_mode_str
    - hostapd_get_mld_id
    - hostapd_is_uhr_enabled
    - is_6ghz_op_class
    - hostapd_is_vht_enabled
    - hostapd_is_ht_enabled
    - wpa_ssid_txt
    - hostapd_state_text
    - WPA_GET_LE16
    - os_snprintf
    - hostapd_is_eht_enabled
    - MAC2STR
    - hostapd_is_he_enabled
    - hostapd_write_ht_mcs_bitmask
    - os_reltime_age
    - hostapd_get_oper_chwidth
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_iface_status(struct hostapd_data *hapd, char *buf,\n\t\t\t
      \     size_t buflen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:977,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:981,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:982,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 973
    functionDepth: 1
    functionLinenumber: 973
    functionLinenumberEnd: 985
    functionName: for_each_mld_link
    functionSourceFile: /src/hostap/src/ap/ctrl_iface_ap.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - MAC2STR
    - os_snprintf_error
    linkageType: ''
    returnType: void
    signature: void for_each_mld_link(link_bss, hapd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1148,1
    - Dst: atoi
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1153,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1156,1
    - Dst: SET_FREQ_PARAM
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1169,1
    - Dst: SET_FREQ_PARAM
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1170,1
    - Dst: SET_FREQ_PARAM
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1171,1
    - Dst: SET_FREQ_PARAM
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1172,1
    - Dst: SET_FREQ_PARAM
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1173,1
    - Dst: os_strstr
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1174,1
    - Dst: os_strstr
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1175,1
    - Dst: os_strstr
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1176,1
    - Dst: os_strstr
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1177,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - pos
    - params
    - freq
    argTypes:
    - char*
    - struct hostapd_freq_params*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1182
      start: 1144
    functionDepth: 1
    functionLinenumber: 1144
    functionLinenumberEnd: 1182
    functionName: hostapd_parse_freq_params
    functionSourceFile: /src/hostap/src/ap/ctrl_iface_ap.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - os_strstr
    - SET_FREQ_PARAM
    - atoi
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int hostapd_parse_freq_params(const char *pos,\n\t\t\t      struct
      hostapd_freq_params *params,\n\t\t\t      unsigned int freq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1168
      start: 1160
    functionDepth: 0
    functionLinenumber: 1160
    functionLinenumberEnd: 1168
    functionName: SET_FREQ_PARAM
    functionSourceFile: /src/hostap/src/ap/ctrl_iface_ap.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_FREQ_PARAM(str)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_6ghz_freq
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1190,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - iface
    - freq
    argTypes:
    - struct hostapd_iface*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1208
      start: 1185
    functionDepth: 1
    functionLinenumber: 1185
    functionLinenumberEnd: 1208
    functionName: get_target_hw_mode
    functionSourceFile: /src/hostap/src/ap/ctrl_iface_ap.c
    functionUses: 0
    functionsReached:
    - is_6ghz_freq
    linkageType: ''
    returnType: struct hostapd_hw_modes
    signature: "struct hostapd_hw_modes * get_target_hw_mode(struct hostapd_iface
      *iface,\n\t\t\t\t\t\t    int freq)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: chan_in_current_hw_info
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1225,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - mode
    - current_hw_info
    - freq
    argTypes:
    - struct hostapd_hw_modes*
    - struct hostapd_multi_hw_info*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1232
      start: 1211
    functionDepth: 1
    functionLinenumber: 1211
    functionLinenumberEnd: 1232
    functionName: hostapd_ctrl_is_freq_in_mode
    functionSourceFile: /src/hostap/src/ap/ctrl_iface_ap.c
    functionUses: 0
    functionsReached:
    - chan_in_current_hw_info
    linkageType: ''
    returnType: bool
    signature: "bool hostapd_ctrl_is_freq_in_mode(struct hostapd_hw_modes *mode,\n\t\t\t
      \    struct hostapd_multi_hw_info *current_hw_info,\n\t\t\t     int freq)"
  - BBCount: 56
    BranchProfiles: []
    Callsites:
    - Dst: is_6ghz_freq
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1239,1
    - Dst: center_idx_to_bw_6ghz
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1254,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1255,1
    - Dst: IS_5GHZ
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1270,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1421,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1427,1
    - Dst: is_punct_bitmap_valid
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1433,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1436,1
    CyclomaticComplexity: 94
    EdgeCount: 94
    ICount: 134
    argCount: 2
    argNames:
    - params
    - punct_bitmap
    argTypes:
    - struct hostapd_freq_params*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1441
      start: 1235
    functionDepth: 1
    functionLinenumber: 1235
    functionLinenumberEnd: 1441
    functionName: hostapd_ctrl_check_freq_params
    functionSourceFile: /src/hostap/src/ap/ctrl_iface_ap.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - is_6ghz_freq
    - IS_5GHZ
    - center_idx_to_bw_6ghz
    - is_punct_bitmap_valid
    - ARRAY_SIZE
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_check_freq_params(struct hostapd_freq_params *params,\n\t\t\t\t\t
      \ u16 punct_bitmap)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1452,1
    - Dst: strtol
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1453,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1455,1
    - Dst: os_strstr
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1459,1
    - Dst: hostapd_parse_freq_params
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1461,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1463,1
    - Dst: get_target_hw_mode
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1468,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1470,1
    - Dst: hostapd_ctrl_is_freq_in_mode
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1476,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1478,1
    - Dst: hostapd_ctrl_check_freq_params
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1483,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1486,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 3
    argNames:
    - iface
    - pos
    - settings
    argTypes:
    - struct hostapd_iface*
    - char*
    - struct csa_settings*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1492
      start: 1444
    functionDepth: 2
    functionLinenumber: 1444
    functionLinenumberEnd: 1492
    functionName: hostapd_parse_csa_settings
    functionSourceFile: /src/hostap/src/ap/ctrl_iface_ap.c
    functionUses: 2
    functionsReached:
    - strtol
    - wpa_printf
    - hostapd_ctrl_is_freq_in_mode
    - hostapd_parse_freq_params
    - os_strstr
    - hostapd_ctrl_check_freq_params
    - get_target_hw_mode
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int hostapd_parse_csa_settings(struct hostapd_iface *iface,\n\t\t\t
      \      const char *pos,\n\t\t\t       struct csa_settings *settings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_drv_stop_ap
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1498
      start: 1495
    functionDepth: 1
    functionLinenumber: 1495
    functionLinenumberEnd: 1498
    functionName: hostapd_ctrl_iface_stop_ap
    functionSourceFile: /src/hostap/src/ap/ctrl_iface_ap.c
    functionUses: 1
    functionsReached:
    - hostapd_drv_stop_ap
    linkageType: ''
    returnType: int
    signature: int hostapd_ctrl_iface_stop_ap(struct hostapd_data *hapd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_auth_pmksa_list
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - hapd
    - buf
    - len
    argTypes:
    - struct hostapd_data*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1505
      start: 1501
    functionDepth: 1
    functionLinenumber: 1501
    functionLinenumberEnd: 1505
    functionName: hostapd_ctrl_iface_pmksa_list
    functionSourceFile: /src/hostap/src/ap/ctrl_iface_ap.c
    functionUses: 1
    functionsReached:
    - wpa_auth_pmksa_list
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_iface_pmksa_list(struct hostapd_data *hapd, char
      *buf,\n\t\t\t\t  size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_auth_pmksa_flush
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1511
      start: 1508
    functionDepth: 1
    functionLinenumber: 1508
    functionLinenumberEnd: 1511
    functionName: hostapd_ctrl_iface_pmksa_flush
    functionSourceFile: /src/hostap/src/ap/ctrl_iface_ap.c
    functionUses: 1
    functionsReached:
    - wpa_auth_pmksa_flush
    linkageType: ''
    returnType: void
    signature: void hostapd_ctrl_iface_pmksa_flush(struct hostapd_data *hapd)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: hwaddr_aton
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1529,1
    - Dst: os_strchr
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1532,1
    - Dst: hexstr2bin
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1537,1
    - Dst: os_strchr
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1540,1
    - Dst: os_strchr
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1545,1
    - Dst: hexstr2bin
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1550,1
    - Dst: sscanf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1555,1
    - Dst: wpa_auth_pmksa_add2
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1558,1
    - Dst: wpa_auth_pmksa_add2
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1565,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 2
    argNames:
    - hapd
    - cmd
    argTypes:
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1570
      start: 1514
    functionDepth: 1
    functionLinenumber: 1514
    functionLinenumberEnd: 1570
    functionName: hostapd_ctrl_iface_pmksa_add
    functionSourceFile: /src/hostap/src/ap/ctrl_iface_ap.c
    functionUses: 0
    functionsReached:
    - wpa_auth_pmksa_add2
    - hexstr2bin
    - hwaddr_aton
    - sscanf
    - os_strchr
    linkageType: ''
    returnType: int
    signature: int hostapd_ctrl_iface_pmksa_add(struct hostapd_data *hapd, char *cmd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_auth_pmksa_list_mesh
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - hapd
    - addr
    - buf
    - len
    argTypes:
    - struct hostapd_data*
    - u8*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1580
      start: 1576
    functionDepth: 1
    functionLinenumber: 1576
    functionLinenumberEnd: 1580
    functionName: hostapd_ctrl_iface_pmksa_list_mesh
    functionSourceFile: /src/hostap/src/ap/ctrl_iface_ap.c
    functionUses: 1
    functionsReached:
    - wpa_auth_pmksa_list_mesh
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_iface_pmksa_list_mesh(struct hostapd_data *hapd,\n\t\t\t\t
      \      const u8 *addr, char *buf, size_t len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: hwaddr_aton
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1596,1
    - Dst: os_strchr
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1599,1
    - Dst: hexstr2bin
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1604,1
    - Dst: os_strchr
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1607,1
    - Dst: hexstr2bin
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1612,1
    - Dst: os_strchr
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1615,1
    - Dst: sscanf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1620,1
    - Dst: wpa_auth_pmksa_create_entry
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1623,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - aa
    - cmd
    argTypes:
    - u8*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1625
      start: 1583
    functionDepth: 1
    functionLinenumber: 1583
    functionLinenumberEnd: 1625
    functionName: hostapd_ctrl_iface_pmksa_create_entry
    functionSourceFile: /src/hostap/src/ap/ctrl_iface_ap.c
    functionUses: 1
    functionsReached:
    - hexstr2bin
    - hwaddr_aton
    - sscanf
    - wpa_auth_pmksa_create_entry
    - os_strchr
    linkageType: ''
    returnType: void
    signature: void * hostapd_ctrl_iface_pmksa_create_entry(const u8 *aa, char *cmd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hwaddr_aton
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1640,1
    - Dst: atoi
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1644,1
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1646,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1648,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1650,1
    - Dst: wnm_send_disassoc_imminent
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1654,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - hapd
    - cmd
    argTypes:
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1655
      start: 1633
    functionDepth: 1
    functionLinenumber: 1633
    functionLinenumberEnd: 1655
    functionName: hostapd_ctrl_iface_disassoc_imminent
    functionSourceFile: /src/hostap/src/ap/ctrl_iface_ap.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - hwaddr_aton
    - wnm_send_disassoc_imminent
    - MAC2STR
    - atoi
    - ap_get_sta
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_iface_disassoc_imminent(struct hostapd_data *hapd,\n\t\t\t\t\t
      const char *cmd)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: hwaddr_aton
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1666,1
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1669,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1671,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1673,1
    - Dst: atoi
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1681,1
    - Dst: os_strchr
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1685,1
    - Dst: wnm_send_ess_disassoc_imminent
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1690,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - hapd
    - cmd
    argTypes:
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1691
      start: 1658
    functionDepth: 1
    functionLinenumber: 1658
    functionLinenumberEnd: 1691
    functionName: hostapd_ctrl_iface_ess_disassoc
    functionSourceFile: /src/hostap/src/ap/ctrl_iface_ap.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - hwaddr_aton
    - MAC2STR
    - atoi
    - os_strchr
    - wnm_send_ess_disassoc_imminent
    - ap_get_sta
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_iface_ess_disassoc(struct hostapd_data *hapd,\n\t\t\t\t
      \   const char *cmd)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: hwaddr_aton
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1710,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1711,1
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1715,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1717,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1719,1
    - Dst: os_strstr
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1723,1
    - Dst: atoi
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1726,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1728,1
    - Dst: os_strstr
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1733,1
    - Dst: atoi
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1736,1
    - Dst: os_strstr
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1739,1
    - Dst: atoi
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1742,1
    - Dst: os_strstr
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1745,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1752,1
    - Dst: os_strchr
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1753,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1755,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1759,1
    - Dst: atoi
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1759,1
    - Dst: ieee802_11_parse_candidate_list
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1762,1
    - Dst: os_strstr
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1767,1
    - Dst: os_strchr
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1771,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1775,1
    - Dst: os_malloc
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1776,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1779,1
    - Dst: os_strstr
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1784,1
    - Dst: os_strstr
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1786,1
    - Dst: os_strstr
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1788,1
    - Dst: os_strstr
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1790,1
    - Dst: os_strstr
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1794,1
    - Dst: sscanf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1799,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1802,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1809,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1818,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1828,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1844,1
    - Dst: wnm_send_bss_tm_req
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1852,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1859,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 116
    argCount: 2
    argNames:
    - hapd
    - cmd
    argTypes:
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1861
      start: 1694
    functionDepth: 1
    functionLinenumber: 1694
    functionLinenumberEnd: 1861
    functionName: hostapd_ctrl_iface_bss_tm_req
    functionSourceFile: /src/hostap/src/ap/ctrl_iface_ap.c
    functionUses: 1
    functionsReached:
    - os_strlen
    - wpa_printf
    - os_memcpy
    - sscanf
    - hwaddr_aton
    - os_memset
    - WPA_PUT_LE16
    - os_malloc
    - wnm_send_bss_tm_req
    - os_strstr
    - MAC2STR
    - ieee802_11_parse_candidate_list
    - atoi
    - os_strchr
    - os_free
    - ap_get_sta
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_iface_bss_tm_req(struct hostapd_data *hapd,\n\t\t\t\t
      \ const char *cmd)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hwaddr_aton
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1875,1
    - Dst: hostapd_maclist_found
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1878,1
    - Dst: hostapd_remove_acl_mac
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1879,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - acl
    - num
    - txtaddr
    argTypes:
    - struct mac_acl_entry**
    - int*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1882
      start: 1866
    functionDepth: 1
    functionLinenumber: 1866
    functionLinenumberEnd: 1882
    functionName: hostapd_ctrl_iface_acl_del_mac
    functionSourceFile: /src/hostap/src/ap/ctrl_iface_ap.c
    functionUses: 1
    functionsReached:
    - hwaddr_aton
    - hostapd_maclist_found
    - hostapd_remove_acl_mac
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_iface_acl_del_mac(struct mac_acl_entry **acl, int
      *num,\n\t\t\t\t   const char *txtaddr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_remove_acl_mac
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1889,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - acl
    - num
    argTypes:
    - struct mac_acl_entry**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1890
      start: 1885
    functionDepth: 1
    functionLinenumber: 1885
    functionLinenumberEnd: 1890
    functionName: hostapd_ctrl_iface_acl_clear_list
    functionSourceFile: /src/hostap/src/ap/ctrl_iface_ap.c
    functionUses: 1
    functionsReached:
    - hostapd_remove_acl_mac
    linkageType: ''
    returnType: void
    signature: "void hostapd_ctrl_iface_acl_clear_list(struct mac_acl_entry **acl,\n\t\t\t\t
      \      int *num)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1902,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1904,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - acl
    - num
    - buf
    - buflen
    argTypes:
    - struct mac_acl_entry*
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1912
      start: 1893
    functionDepth: 1
    functionLinenumber: 1893
    functionLinenumberEnd: 1912
    functionName: hostapd_ctrl_iface_acl_show_mac
    functionSourceFile: /src/hostap/src/ap/ctrl_iface_ap.c
    functionUses: 1
    functionsReached:
    - os_snprintf
    - MAC2STR
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_iface_acl_show_mac(struct mac_acl_entry *acl, int
      num,\n\t\t\t\t    char *buf, size_t buflen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hwaddr_aton
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1923,1
    - Dst: os_strstr
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1926,1
    - Dst: atoi
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1928,1
    - Dst: hostapd_maclist_found
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1930,1
    - Dst: hostapd_add_acl_maclist
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1931,1
    - Dst: qsort
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1933,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - acl
    - num
    - cmd
    argTypes:
    - struct mac_acl_entry**
    - int*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1937
      start: 1915
    functionDepth: 1
    functionLinenumber: 1915
    functionLinenumberEnd: 1937
    functionName: hostapd_ctrl_iface_acl_add_mac
    functionSourceFile: /src/hostap/src/ap/ctrl_iface_ap.c
    functionUses: 1
    functionsReached:
    - hwaddr_aton
    - hostapd_add_acl_maclist
    - os_strstr
    - atoi
    - hostapd_maclist_found
    - qsort
    linkageType: ''
    returnType: int
    signature: "int hostapd_ctrl_iface_acl_add_mac(struct mac_acl_entry **acl, int
      *num,\n\t\t\t\t   const char *cmd)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_maclist_found
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1949,1
    - Dst: vlan_compare
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1953,1
    - Dst: ap_sta_disconnect
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1954,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1959
      start: 1940
    functionDepth: 1
    functionLinenumber: 1940
    functionLinenumberEnd: 1959
    functionName: hostapd_disassoc_accept_mac
    functionSourceFile: /src/hostap/src/ap/ctrl_iface_ap.c
    functionUses: 2
    functionsReached:
    - hostapd_maclist_found
    - ap_sta_disconnect
    - vlan_compare
    linkageType: ''
    returnType: int
    signature: int hostapd_disassoc_accept_mac(struct hostapd_data *hapd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_maclist_found
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1973,1
    - Dst: vlan_compare
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1977,1
    - Dst: ap_sta_disconnect
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1978,1
    - Dst: hostapd_maclist_found
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1988,1
    - Dst: vlan_compare
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1993,1
    - Dst: ap_sta_disconnect
      Src: /src/hostap/src/ap/ctrl_iface_ap.c:1994,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 13
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2001
      start: 1962
    functionDepth: 1
    functionLinenumber: 1962
    functionLinenumberEnd: 2001
    functionName: hostapd_disassoc_deny_mac
    functionSourceFile: /src/hostap/src/ap/ctrl_iface_ap.c
    functionUses: 2
    functionsReached:
    - hostapd_maclist_found
    - ap_sta_disconnect
    - vlan_compare
    linkageType: ''
    returnType: int
    signature: int hostapd_disassoc_deny_mac(struct hostapd_data *hapd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: dfs_use_radar_background
    functionSourceFile: /src/hostap/src/ap/dfs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool dfs_use_radar_background(struct hostapd_iface *iface)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_get_oper_chwidth
      Src: /src/hostap/src/ap/dfs.c:54,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 2
    argNames:
    - iface
    - seg1
    argTypes:
    - struct hostapd_iface*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 73
    functionName: dfs_get_used_n_chans
    functionSourceFile: /src/hostap/src/ap/dfs.c
    functionUses: 0
    functionsReached:
    - hostapd_get_oper_chwidth
    linkageType: ''
    returnType: int
    signature: int dfs_get_used_n_chans(struct hostapd_iface *iface, int *seg1)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 2
    argNames:
    - chan
    - type
    argTypes:
    - struct hostapd_channel_data*
    - enum dfs_channel_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 108
    functionName: dfs_channel_available
    functionSourceFile: /src/hostap/src/ap/dfs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int dfs_channel_available(struct hostapd_channel_data *chan,\n\t\t\t\t
      enum dfs_channel_type type)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/ap/dfs.c:135,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/ap/dfs.c:139,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/ap/dfs.c:143,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dfs.c:146,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - chan
    - n_chans
    argTypes:
    - struct hostapd_channel_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 156
    functionName: dfs_is_chan_allowed
    functionSourceFile: /src/hostap/src/ap/dfs.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - ARRAY_SIZE
    linkageType: ''
    returnType: int
    signature: int dfs_is_chan_allowed(struct hostapd_channel_data *chan, int n_chans)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - mode
    - freq
    - first_chan_idx
    argTypes:
    - struct hostapd_hw_modes*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 170
    functionName: dfs_get_chan_data
    functionSourceFile: /src/hostap/src/ap/dfs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct hostapd_channel_data
    signature: 'struct hostapd_channel_data *

      dfs_get_chan_data(struct hostapd_hw_modes *mode, int freq, int first_chan_idx)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: num_chan_to_bw
      Src: /src/hostap/src/ap/dfs.c:179,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dfs.c:182,1
    - Dst: chan_pri_allowed
      Src: /src/hostap/src/ap/dfs.c:192,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dfs.c:193,1
    - Dst: dfs_get_chan_data
      Src: /src/hostap/src/ap/dfs.c:198,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dfs.c:201,1
    - Dst: chan_bw_allowed
      Src: /src/hostap/src/ap/dfs.c:208,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dfs.c:209,1
    - Dst: dfs_channel_available
      Src: /src/hostap/src/ap/dfs.c:214,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dfs.c:215,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 4
    argNames:
    - mode
    - first_chan_idx
    - num_chans
    - type
    argTypes:
    - struct hostapd_hw_modes*
    - int
    - int
    - enum dfs_channel_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 222
    functionName: dfs_chan_range_available
    functionSourceFile: /src/hostap/src/ap/dfs.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - num_chan_to_bw
    - dfs_get_chan_data
    - dfs_channel_available
    - chan_pri_allowed
    - chan_bw_allowed
    linkageType: ''
    returnType: int
    signature: "int dfs_chan_range_available(struct hostapd_hw_modes *mode,\n\t\t\t\t
      \   int first_chan_idx, int num_chans,\n\t\t\t\t    enum dfs_channel_type type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: freq_range_list_includes
      Src: /src/hostap/src/ap/dfs.c:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - chan
    argTypes:
    - struct hostapd_iface*
    - struct hostapd_channel_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 232
    functionName: is_in_chanlist
    functionSourceFile: /src/hostap/src/ap/dfs.c
    functionUses: 0
    functionsReached:
    - freq_range_list_includes
    linkageType: ''
    returnType: int
    signature: "int is_in_chanlist(struct hostapd_iface *iface,\n\t\t\t  struct hostapd_channel_data
      *chan)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dfs_get_used_n_chans
      Src: /src/hostap/src/ap/dfs.c:251,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dfs.c:253,1
    - Dst: chan_in_current_hw_info
      Src: /src/hostap/src/ap/dfs.c:257,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dfs.c:258,1
    - Dst: dfs_is_chan_allowed
      Src: /src/hostap/src/ap/dfs.c:267,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dfs.c:269,1
    - Dst: dfs_chan_range_available
      Src: /src/hostap/src/ap/dfs.c:276,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dfs.c:277,1
    - Dst: is_in_chanlist
      Src: /src/hostap/src/ap/dfs.c:283,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dfs.c:284,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dfs.c:298,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dfs.c:303,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 35
    argCount: 4
    argNames:
    - iface
    - ret_chan
    - idx
    - type
    argTypes:
    - struct hostapd_iface*
    - struct hostapd_channel_data**
    - int
    - enum dfs_channel_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 308
    functionName: dfs_find_channel
    functionSourceFile: /src/hostap/src/ap/dfs.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - chan_in_current_hw_info
    - dfs_get_used_n_chans
    - dfs_chan_range_available
    - is_in_chanlist
    - dfs_is_chan_allowed
    linkageType: ''
    returnType: int
    signature: "int dfs_find_channel(struct hostapd_iface *iface,\n\t\t\t    struct
      hostapd_channel_data **ret_chan,\n\t\t\t    int idx, enum dfs_channel_type type)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_get_oper_chwidth
      Src: /src/hostap/src/ap/dfs.c:326,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dfs.c:347,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dfs.c:353,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 6
    argNames:
    - iface
    - chan
    - secondary_channel
    - sec_chan_idx_80p80
    - oper_centr_freq_seg0_idx
    - oper_centr_freq_seg1_idx
    argTypes:
    - struct hostapd_iface*
    - struct hostapd_channel_data*
    - int
    - int
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 356
    functionName: dfs_adjust_center_freq
    functionSourceFile: /src/hostap/src/ap/dfs.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hostapd_get_oper_chwidth
    linkageType: ''
    returnType: void
    signature: "void dfs_adjust_center_freq(struct hostapd_iface *iface,\n\t\t\t\t
      \  struct hostapd_channel_data *chan,\n\t\t\t\t   int secondary_channel,\n\t\t\t\t
      \  int sec_chan_idx_80p80,\n\t\t\t\t   u8 *oper_centr_freq_seg0_idx,\n\t\t\t\t
      \  u8 *oper_centr_freq_seg1_idx)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_get_oper_chwidth
      Src: /src/hostap/src/ap/dfs.c:377,1
    - Dst: hostapd_get_oper_centr_freq_seg0_idx
      Src: /src/hostap/src/ap/dfs.c:381,1
    - Dst: hostapd_get_oper_centr_freq_seg0_idx
      Src: /src/hostap/src/ap/dfs.c:385,1
    - Dst: hostapd_get_oper_centr_freq_seg0_idx
      Src: /src/hostap/src/ap/dfs.c:389,1
    - Dst: hostapd_get_oper_centr_freq_seg1_idx
      Src: /src/hostap/src/ap/dfs.c:391,1
    - Dst: hostapd_get_oper_centr_freq_seg0_idx
      Src: /src/hostap/src/ap/dfs.c:395,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dfs.c:399,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dfs.c:434,1
    - Dst: hostapd_get_oper_chwidth
      Src: /src/hostap/src/ap/dfs.c:439,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dfs.c:442,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 55
    argCount: 2
    argNames:
    - iface
    - seg1_start
    argTypes:
    - struct hostapd_iface*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 448
    functionName: dfs_get_start_chan_idx
    functionSourceFile: /src/hostap/src/ap/dfs.c
    functionUses: 0
    functionsReached:
    - hostapd_get_oper_centr_freq_seg1_idx
    - hostapd_get_oper_centr_freq_seg0_idx
    - wpa_printf
    - hostapd_get_oper_chwidth
    linkageType: ''
    returnType: int
    signature: int dfs_get_start_chan_idx(struct hostapd_iface *iface, int *seg1_start)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - iface
    - start_chan_idx
    - n_chans
    argTypes:
    - struct hostapd_iface*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 470
    functionName: dfs_check_chans_radar
    functionSourceFile: /src/hostap/src/ap/dfs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int dfs_check_chans_radar(struct hostapd_iface *iface,\n\t\t\t\t int
      start_chan_idx, int n_chans)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - iface
    - start_chan_idx
    - n_chans
    argTypes:
    - struct hostapd_iface*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 498
    functionName: dfs_check_chans_available
    functionSourceFile: /src/hostap/src/ap/dfs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int dfs_check_chans_available(struct hostapd_iface *iface,\n\t\t\t\t
      \    int start_chan_idx, int n_chans)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - iface
    - start_chan_idx
    - n_chans
    argTypes:
    - struct hostapd_iface*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 522
    functionName: dfs_check_chans_unavailable
    functionSourceFile: /src/hostap/src/ap/dfs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int dfs_check_chans_unavailable(struct hostapd_iface *iface,\n\t\t\t\t
      \      int start_chan_idx,\n\t\t\t\t       int n_chans)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dfs.c:541,1
    - Dst: dfs_find_channel
      Src: /src/hostap/src/ap/dfs.c:554,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dfs.c:555,1
    - Dst: os_get_random
      Src: /src/hostap/src/ap/dfs.c:560,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dfs.c:563,1
    - Dst: dfs_find_channel
      Src: /src/hostap/src/ap/dfs.c:565,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dfs.c:567,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dfs.c:570,1
    - Dst: hostapd_get_oper_chwidth
      Src: /src/hostap/src/ap/dfs.c:580,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dfs.c:583,1
    - Dst: dfs_find_channel
      Src: /src/hostap/src/ap/dfs.c:595,1
    - Dst: abs
      Src: /src/hostap/src/ap/dfs.c:596,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dfs.c:599,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dfs.c:610,1
    - Dst: dfs_adjust_center_freq
      Src: /src/hostap/src/ap/dfs.c:616,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 5
    argNames:
    - iface
    - secondary_channel
    - oper_centr_freq_seg0_idx
    - oper_centr_freq_seg1_idx
    - type
    argTypes:
    - struct hostapd_iface*
    - int*
    - u8*
    - u8*
    - enum dfs_channel_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 525
    functionDepth: 3
    functionLinenumber: 525
    functionLinenumberEnd: 623
    functionName: dfs_get_valid_channel
    functionSourceFile: /src/hostap/src/ap/dfs.c
    functionUses: 0
    functionsReached:
    - dfs_adjust_center_freq
    - wpa_printf
    - dfs_find_channel
    - os_get_random
    - hostapd_get_oper_chwidth
    - abs
    linkageType: ''
    returnType: struct hostapd_channel_data
    signature: "struct hostapd_channel_data *\ndfs_get_valid_channel(struct hostapd_iface
      *iface,\n\t\t      int *secondary_channel,\n\t\t      u8 *oper_centr_freq_seg0_idx,\n\t\t
      \     u8 *oper_centr_freq_seg1_idx,\n\t\t      enum dfs_channel_type type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dfs_get_valid_channel
      Src: /src/hostap/src/ap/dfs.c:632,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dfs.c:636,1
    - Dst: hostapd_set_oper_centr_freq_seg0_idx
      Src: /src/hostap/src/ap/dfs.c:643,1
    - Dst: hostapd_set_oper_centr_freq_seg1_idx
      Src: /src/hostap/src/ap/dfs.c:644,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - iface
    - skip_radar
    argTypes:
    - struct hostapd_iface*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 626
    functionDepth: 4
    functionLinenumber: 626
    functionLinenumberEnd: 647
    functionName: dfs_set_valid_channel
    functionSourceFile: /src/hostap/src/ap/dfs.c
    functionUses: 0
    functionsReached:
    - hostapd_set_oper_centr_freq_seg0_idx
    - wpa_printf
    - dfs_get_valid_channel
    - hostapd_set_oper_centr_freq_seg1_idx
    linkageType: ''
    returnType: int
    signature: int dfs_set_valid_channel(struct hostapd_iface *iface, int skip_radar)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dfs.c:660,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dfs.c:671,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - iface
    - freq
    - state
    argTypes:
    - struct hostapd_iface*
    - int
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 673
    functionName: set_dfs_state_freq
    functionSourceFile: /src/hostap/src/ap/dfs.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int set_dfs_state_freq(struct hostapd_iface *iface, int freq, u32 state)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dfs.c:691,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dfs.c:721,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dfs.c:726,1
    - Dst: set_dfs_state_freq
      Src: /src/hostap/src/ap/dfs.c:729,1
    - Dst: set_dfs_state_freq
      Src: /src/hostap/src/ap/dfs.c:733,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 8
    argNames:
    - iface
    - freq
    - ht_enabled
    - chan_offset
    - chan_width
    - cf1
    - cf2
    - state
    argTypes:
    - struct hostapd_iface*
    - int
    - int
    - int
    - int
    - int
    - int
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 676
    functionDepth: 1
    functionLinenumber: 676
    functionLinenumberEnd: 739
    functionName: set_dfs_state
    functionSourceFile: /src/hostap/src/ap/dfs.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - set_dfs_state_freq
    linkageType: ''
    returnType: int
    signature: "int set_dfs_state(struct hostapd_iface *iface, int freq, int ht_enabled,\n\t\t\t
      int chan_offset, int chan_width, int cf1,\n\t\t\t int cf2, u32 state)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: dfs_get_start_chan_idx
      Src: /src/hostap/src/ap/dfs.c:754,1
    - Dst: dfs_get_used_n_chans
      Src: /src/hostap/src/ap/dfs.c:755,1
    - Dst: dfs_check_chans_radar
      Src: /src/hostap/src/ap/dfs.c:758,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dfs.c:782,1
    - Dst: ieee80211_freq_to_chan
      Src: /src/hostap/src/ap/dfs.c:787,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dfs.c:794,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dfs.c:801,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 5
    argNames:
    - iface
    - freq
    - chan_width
    - cf1
    - cf2
    argTypes:
    - struct hostapd_iface*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 742
    functionDepth: 2
    functionLinenumber: 742
    functionLinenumberEnd: 804
    functionName: dfs_are_channels_overlapped
    functionSourceFile: /src/hostap/src/ap/dfs.c
    functionUses: 0
    functionsReached:
    - dfs_get_start_chan_idx
    - wpa_printf
    - dfs_get_used_n_chans
    - dfs_check_chans_radar
    - ieee80211_freq_to_chan
    linkageType: ''
    returnType: int
    signature: "int dfs_are_channels_overlapped(struct hostapd_iface *iface, int freq,\n\t\t\t\t
      \      int chan_width, int cf1, int cf2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - iface
    - start_chan_idx
    - n_chans
    argTypes:
    - struct hostapd_iface*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 807
    functionDepth: 0
    functionLinenumber: 807
    functionLinenumberEnd: 828
    functionName: dfs_get_cac_time
    functionSourceFile: /src/hostap/src/ap/dfs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int dfs_get_cac_time(struct hostapd_iface *iface,\n\t\t\t\t
      \    int start_chan_idx, int n_chans)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: is_6ghz_freq
      Src: /src/hostap/src/ap/dfs.c:842,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dfs.c:850,1
    - Dst: dfs_get_start_chan_idx
      Src: /src/hostap/src/ap/dfs.c:859,1
    - Dst: dfs_get_used_n_chans
      Src: /src/hostap/src/ap/dfs.c:865,1
    - Dst: dfs_get_cac_time
      Src: /src/hostap/src/ap/dfs.c:868,1
    - Dst: dfs_check_chans_radar
      Src: /src/hostap/src/ap/dfs.c:872,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dfs.c:873,1
    - Dst: dfs_check_chans_available
      Src: /src/hostap/src/ap/dfs.c:880,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dfs.c:881,1
    - Dst: dfs_check_chans_unavailable
      Src: /src/hostap/src/ap/dfs.c:888,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dfs.c:890,1
    - Dst: dfs_set_valid_channel
      Src: /src/hostap/src/ap/dfs.c:893,1
    - Dst: hostapd_set_state
      Src: /src/hostap/src/ap/dfs.c:894,1
    - Dst: hostapd_set_state
      Src: /src/hostap/src/ap/dfs.c:901,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dfs.c:902,1
    - Dst: dfs_use_radar_background
      Src: /src/hostap/src/ap/dfs.c:903,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dfs.c:904,1
    - Dst: hostapd_get_oper_chwidth
      Src: /src/hostap/src/ap/dfs.c:908,1
    - Dst: hostapd_get_oper_centr_freq_seg0_idx
      Src: /src/hostap/src/ap/dfs.c:909,1
    - Dst: hostapd_get_oper_centr_freq_seg1_idx
      Src: /src/hostap/src/ap/dfs.c:910,1
    - Dst: hostapd_start_dfs_cac
      Src: /src/hostap/src/ap/dfs.c:913,1
    - Dst: hostapd_get_oper_chwidth
      Src: /src/hostap/src/ap/dfs.c:918,1
    - Dst: hostapd_get_oper_centr_freq_seg0_idx
      Src: /src/hostap/src/ap/dfs.c:919,1
    - Dst: hostapd_get_oper_centr_freq_seg1_idx
      Src: /src/hostap/src/ap/dfs.c:920,1
    - Dst: dfs_use_radar_background
      Src: /src/hostap/src/ap/dfs.c:921,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dfs.c:924,1
    - Dst: dfs_use_radar_background
      Src: /src/hostap/src/ap/dfs.c:928,1
    - Dst: hostapd_get_oper_centr_freq_seg0_idx
      Src: /src/hostap/src/ap/dfs.c:935,1
    - Dst: hostapd_get_oper_centr_freq_seg1_idx
      Src: /src/hostap/src/ap/dfs.c:937,1
    - Dst: dfs_set_valid_channel
      Src: /src/hostap/src/ap/dfs.c:943,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 52
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 837
    functionDepth: 5
    functionLinenumber: 837
    functionLinenumberEnd: 952
    functionName: hostapd_handle_dfs
    functionSourceFile: /src/hostap/src/ap/dfs.c
    functionUses: 0
    functionsReached:
    - dfs_get_start_chan_idx
    - hostapd_set_state
    - wpa_printf
    - hostapd_get_oper_centr_freq_seg1_idx
    - is_6ghz_freq
    - wpa_msg
    - dfs_check_chans_available
    - hostapd_get_oper_centr_freq_seg0_idx
    - dfs_get_used_n_chans
    - hostapd_start_dfs_cac
    - dfs_get_cac_time
    - dfs_use_radar_background
    - dfs_set_valid_channel
    - dfs_check_chans_radar
    - dfs_check_chans_unavailable
    - hostapd_get_oper_chwidth
    linkageType: ''
    returnType: int
    signature: int hostapd_handle_dfs(struct hostapd_iface *iface)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dfs_get_start_chan_idx
      Src: /src/hostap/src/ap/dfs.c:960,1
    - Dst: dfs_get_used_n_chans
      Src: /src/hostap/src/ap/dfs.c:965,1
    - Dst: dfs_check_chans_available
      Src: /src/hostap/src/ap/dfs.c:968,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 969
      start: 955
    functionDepth: 2
    functionLinenumber: 955
    functionLinenumberEnd: 969
    functionName: hostapd_is_dfs_chan_available
    functionSourceFile: /src/hostap/src/ap/dfs.c
    functionUses: 0
    functionsReached:
    - dfs_get_start_chan_idx
    - dfs_check_chans_available
    - dfs_get_used_n_chans
    linkageType: ''
    returnType: int
    signature: int hostapd_is_dfs_chan_available(struct hostapd_iface *iface)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dfs.c:988,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dfs.c:989,1
    - Dst: hostapd_get_oper_chwidth
      Src: /src/hostap/src/ap/dfs.c:993,1
    - Dst: hostapd_set_oper_chwidth
      Src: /src/hostap/src/ap/dfs.c:994,1
    - Dst: ieee80211_freq_to_channel_ext
      Src: /src/hostap/src/ap/dfs.c:995,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dfs.c:998,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/dfs.c:1004,1
    - Dst: hostapd_get_punct_bitmap
      Src: /src/hostap/src/ap/dfs.c:1034,1
    - Dst: hostapd_set_freq_params
      Src: /src/hostap/src/ap/dfs.c:1037,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dfs.c:1039,1
    - Dst: hostapd_disable_iface
      Src: /src/hostap/src/ap/dfs.c:1041,1
    - Dst: hostapd_switch_channel
      Src: /src/hostap/src/ap/dfs.c:1046,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dfs.c:1052,1
    - Dst: hostapd_set_oper_chwidth
      Src: /src/hostap/src/ap/dfs.c:1058,1
    - Dst: hostapd_set_oper_centr_freq_seg0_idx
      Src: /src/hostap/src/ap/dfs.c:1059,1
    - Dst: hostapd_set_oper_centr_freq_seg1_idx
      Src: /src/hostap/src/ap/dfs.c:1061,1
    - Dst: ieee80211_freq_to_channel_ext
      Src: /src/hostap/src/ap/dfs.c:1063,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dfs.c:1067,1
    - Dst: hostapd_disable_iface
      Src: /src/hostap/src/ap/dfs.c:1072,1
    - Dst: hostapd_enable_iface
      Src: /src/hostap/src/ap/dfs.c:1073,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dfs.c:1080,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 47
    argCount: 7
    argNames:
    - iface
    - channel
    - freq
    - secondary_channel
    - current_vht_oper_chwidth
    - oper_centr_freq_seg0_idx
    - oper_centr_freq_seg1_idx
    argTypes:
    - struct hostapd_iface*
    - int
    - int
    - int
    - u8
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 972
    functionDepth: 1
    functionLinenumber: 972
    functionLinenumberEnd: 1083
    functionName: hostapd_dfs_request_channel_switch
    functionSourceFile: /src/hostap/src/ap/dfs.c
    functionUses: 0
    functionsReached:
    - hostapd_set_oper_chwidth
    - wpa_printf
    - hostapd_enable_iface
    - wpa_msg
    - hostapd_get_punct_bitmap
    - os_memset
    - hostapd_disable_iface
    - hostapd_set_freq_params
    - hostapd_switch_channel
    - ieee80211_freq_to_channel_ext
    - hostapd_set_oper_centr_freq_seg0_idx
    - hostapd_set_oper_centr_freq_seg1_idx
    - hostapd_get_oper_chwidth
    linkageType: ''
    returnType: int
    signature: "int hostapd_dfs_request_channel_switch(struct hostapd_iface *iface,\n\t\t\t\t\t
      \     int channel, int freq,\n\t\t\t\t\t      int secondary_channel,\n\t\t\t\t\t
      \     u8 current_vht_oper_chwidth,\n\t\t\t\t\t      u8 oper_centr_freq_seg0_idx,\n\t\t\t\t\t
      \     u8 oper_centr_freq_seg1_idx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dfs_get_valid_channel
      Src: /src/hostap/src/ap/dfs.c:1101,1
    - Dst: dfs_downgrade_bandwidth
      Src: /src/hostap/src/ap/dfs.c:1107,1
    - Dst: hostapd_start_dfs_cac
      Src: /src/hostap/src/ap/dfs.c:1112,1
    - Dst: hostapd_get_oper_chwidth
      Src: /src/hostap/src/ap/dfs.c:1118,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dfs.c:1121,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dfs.c:1132,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1135
      start: 1086
    functionDepth: 4
    functionLinenumber: 1086
    functionLinenumberEnd: 1135
    functionName: hostapd_dfs_update_background_chain
    functionSourceFile: /src/hostap/src/ap/dfs.c
    functionUses: 0
    functionsReached:
    - dfs_downgrade_bandwidth
    - wpa_printf
    - hostapd_start_dfs_cac
    - dfs_get_valid_channel
    - hostapd_get_oper_chwidth
    linkageType: ''
    returnType: void
    signature: void hostapd_dfs_update_background_chain(struct hostapd_iface *iface)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hw_mode_get_channel
      Src: /src/hostap/src/ap/dfs.c:1146,1
    - Dst: chan_in_current_hw_info
      Src: /src/hostap/src/ap/dfs.c:1153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - iface
    - freq
    argTypes:
    - struct hostapd_iface*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1154
      start: 1138
    functionDepth: 1
    functionLinenumber: 1138
    functionLinenumberEnd: 1154
    functionName: hostapd_is_freq_in_current_hw_info
    functionSourceFile: /src/hostap/src/ap/dfs.c
    functionUses: 0
    functionsReached:
    - hw_mode_get_channel
    - chan_in_current_hw_info
    linkageType: ''
    returnType: bool
    signature: bool hostapd_is_freq_in_current_hw_info(struct hostapd_iface *iface,
      int freq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dfs_use_radar_background
      Src: /src/hostap/src/ap/dfs.c:1160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - iface
    - freq
    argTypes:
    - struct hostapd_iface*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1163
      start: 1157
    functionDepth: 1
    functionLinenumber: 1157
    functionLinenumberEnd: 1163
    functionName: hostapd_dfs_is_background_event
    functionSourceFile: /src/hostap/src/ap/dfs.c
    functionUses: 0
    functionsReached:
    - dfs_use_radar_background
    linkageType: ''
    returnType: bool
    signature: bool hostapd_dfs_is_background_event(struct hostapd_iface *iface, int
      freq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_get_oper_chwidth
      Src: /src/hostap/src/ap/dfs.c:1169,1
    - Dst: hostapd_set_oper_centr_freq_seg0_idx
      Src: /src/hostap/src/ap/dfs.c:1175,1
    - Dst: hostapd_set_oper_centr_freq_seg1_idx
      Src: /src/hostap/src/ap/dfs.c:1177,1
    - Dst: hostapd_dfs_update_background_chain
      Src: /src/hostap/src/ap/dfs.c:1180,1
    - Dst: hostapd_dfs_request_channel_switch
      Src: /src/hostap/src/ap/dfs.c:1182,1
    - Dst: hostapd_get_oper_centr_freq_seg0_idx
      Src: /src/hostap/src/ap/dfs.c:1185,1
    - Dst: hostapd_get_oper_centr_freq_seg1_idx
      Src: /src/hostap/src/ap/dfs.c:1186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1187
      start: 1166
    functionDepth: 5
    functionLinenumber: 1166
    functionLinenumberEnd: 1187
    functionName: hostapd_dfs_start_channel_switch_background
    functionSourceFile: /src/hostap/src/ap/dfs.c
    functionUses: 0
    functionsReached:
    - hostapd_get_oper_centr_freq_seg1_idx
    - hostapd_get_oper_centr_freq_seg0_idx
    - hostapd_dfs_update_background_chain
    - hostapd_dfs_request_channel_switch
    - hostapd_set_oper_centr_freq_seg0_idx
    - hostapd_set_oper_centr_freq_seg1_idx
    - hostapd_get_oper_chwidth
    linkageType: ''
    returnType: int
    signature: int hostapd_dfs_start_channel_switch_background(struct hostapd_iface
      *iface)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_is_freq_in_current_hw_info
      Src: /src/hostap/src/ap/dfs.c:1194,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dfs.c:1195,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dfs.c:1202,1
    - Dst: hostapd_setup_interface_complete
      Src: /src/hostap/src/ap/dfs.c:1220,1
    - Dst: set_dfs_state
      Src: /src/hostap/src/ap/dfs.c:1224,1
    - Dst: hostapd_dfs_is_background_event
      Src: /src/hostap/src/ap/dfs.c:1234,1
    - Dst: hostapd_dfs_start_channel_switch_background
      Src: /src/hostap/src/ap/dfs.c:1240,1
    - Dst: hostapd_is_dfs_chan_available
      Src: /src/hostap/src/ap/dfs.c:1254,1
    - Dst: hostapd_setup_interface_complete
      Src: /src/hostap/src/ap/dfs.c:1255,1
    - Dst: hostapd_dfs_is_background_event
      Src: /src/hostap/src/ap/dfs.c:1259,1
    - Dst: hostapd_dfs_update_background_chain
      Src: /src/hostap/src/ap/dfs.c:1261,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 8
    argNames:
    - iface
    - success
    - freq
    - ht_enabled
    - chan_offset
    - chan_width
    - cf1
    - cf2
    argTypes:
    - struct hostapd_iface*
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1266
      start: 1190
    functionDepth: 6
    functionLinenumber: 1190
    functionLinenumberEnd: 1266
    functionName: hostapd_dfs_complete_cac
    functionSourceFile: /src/hostap/src/ap/dfs.c
    functionUses: 2
    functionsReached:
    - hostapd_is_freq_in_current_hw_info
    - hostapd_dfs_start_channel_switch_background
    - hostapd_dfs_is_background_event
    - hostapd_setup_interface_complete
    - wpa_msg
    - hostapd_dfs_update_background_chain
    - set_dfs_state
    - hostapd_is_dfs_chan_available
    linkageType: ''
    returnType: int
    signature: "int hostapd_dfs_complete_cac(struct hostapd_iface *iface, int success,
      int freq,\n\t\t\t     int ht_enabled, int chan_offset, int chan_width,\n\t\t\t
      \    int cf1, int cf2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_is_freq_in_current_hw_info
      Src: /src/hostap/src/ap/dfs.c:1273,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dfs.c:1274,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dfs.c:1281,1
    - Dst: set_dfs_state
      Src: /src/hostap/src/ap/dfs.c:1289,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 7
    argNames:
    - iface
    - freq
    - ht_enabled
    - chan_offset
    - chan_width
    - cf1
    - cf2
    argTypes:
    - struct hostapd_iface*
    - int
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1293
      start: 1269
    functionDepth: 2
    functionLinenumber: 1269
    functionLinenumberEnd: 1293
    functionName: hostapd_dfs_pre_cac_expired
    functionSourceFile: /src/hostap/src/ap/dfs.c
    functionUses: 0
    functionsReached:
    - set_dfs_state
    - hostapd_is_freq_in_current_hw_info
    - wpa_msg
    linkageType: ''
    returnType: int
    signature: "int hostapd_dfs_pre_cac_expired(struct hostapd_iface *iface, int freq,\n\t\t\t\tint
      ht_enabled, int chan_offset, int chan_width,\n\t\t\t\tint cf1, int cf2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dfs_get_valid_channel
      Src: /src/hostap/src/ap/dfs.c:1305,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dfs.c:1310,1
    - Dst: hostapd_get_oper_chwidth
      Src: /src/hostap/src/ap/dfs.c:1320,1
    - Dst: hostapd_set_oper_chwidth
      Src: /src/hostap/src/ap/dfs.c:1324,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dfs.c:1328,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 5
    argNames:
    - iface
    - secondary_channel
    - oper_centr_freq_seg0_idx
    - oper_centr_freq_seg1_idx
    - channel_type
    argTypes:
    - struct hostapd_iface*
    - int*
    - u8*
    - u8*
    - enum dfs_channel_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1332
      start: 1296
    functionDepth: 4
    functionLinenumber: 1296
    functionLinenumberEnd: 1332
    functionName: dfs_downgrade_bandwidth
    functionSourceFile: /src/hostap/src/ap/dfs.c
    functionUses: 1
    functionsReached:
    - hostapd_set_oper_chwidth
    - wpa_printf
    - dfs_get_valid_channel
    - hostapd_get_oper_chwidth
    linkageType: ''
    returnType: struct hostapd_channel_data
    signature: "struct hostapd_channel_data *\ndfs_downgrade_bandwidth(struct hostapd_iface
      *iface, int *secondary_channel,\n\t\t\tu8 *oper_centr_freq_seg0_idx,\n\t\t\tu8
      *oper_centr_freq_seg1_idx,\n\t\t\tenum dfs_channel_type *channel_type)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dfs_get_valid_channel
      Src: /src/hostap/src/ap/dfs.c:1347,1
    - Dst: dfs_downgrade_bandwidth
      Src: /src/hostap/src/ap/dfs.c:1353,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dfs.c:1358,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dfs.c:1363,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dfs.c:1365,1
    - Dst: hostapd_set_oper_centr_freq_seg0_idx
      Src: /src/hostap/src/ap/dfs.c:1372,1
    - Dst: hostapd_set_oper_centr_freq_seg1_idx
      Src: /src/hostap/src/ap/dfs.c:1374,1
    - Dst: ieee80211_freq_to_channel_ext
      Src: /src/hostap/src/ap/dfs.c:1376,1
    - Dst: hostapd_get_oper_chwidth
      Src: /src/hostap/src/ap/dfs.c:1377,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dfs.c:1380,1
    - Dst: hostapd_setup_interface_complete
      Src: /src/hostap/src/ap/dfs.c:1386,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1388
      start: 1335
    functionDepth: 5
    functionLinenumber: 1335
    functionLinenumberEnd: 1388
    functionName: hostapd_dfs_start_channel_switch_cac
    functionSourceFile: /src/hostap/src/ap/dfs.c
    functionUses: 0
    functionsReached:
    - dfs_downgrade_bandwidth
    - wpa_printf
    - wpa_msg
    - hostapd_setup_interface_complete
    - hostapd_set_oper_centr_freq_seg0_idx
    - ieee80211_freq_to_channel_ext
    - hostapd_set_oper_centr_freq_seg1_idx
    - dfs_get_valid_channel
    - hostapd_get_oper_chwidth
    linkageType: ''
    returnType: int
    signature: int hostapd_dfs_start_channel_switch_cac(struct hostapd_iface *iface)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dfs_use_radar_background
      Src: /src/hostap/src/ap/dfs.c:1395,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dfs.c:1398,1
    - Dst: hostapd_csa_in_progress
      Src: /src/hostap/src/ap/dfs.c:1401,1
    - Dst: hostapd_csa_in_progress
      Src: /src/hostap/src/ap/dfs.c:1404,1
    - Dst: hostapd_dfs_is_background_event
      Src: /src/hostap/src/ap/dfs.c:1407,1
    - Dst: hostapd_dfs_update_background_chain
      Src: /src/hostap/src/ap/dfs.c:1413,1
    - Dst: hostapd_dfs_start_channel_switch_background
      Src: /src/hostap/src/ap/dfs.c:1434,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - iface
    - freq
    argTypes:
    - struct hostapd_iface*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1435
      start: 1391
    functionDepth: 6
    functionLinenumber: 1391
    functionLinenumberEnd: 1435
    functionName: hostapd_dfs_background_start_channel_switch
    functionSourceFile: /src/hostap/src/ap/dfs.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hostapd_dfs_start_channel_switch_background
    - hostapd_dfs_is_background_event
    - hostapd_csa_in_progress
    - hostapd_dfs_update_background_chain
    - dfs_use_radar_background
    linkageType: ''
    returnType: int
    signature: "int hostapd_dfs_background_start_channel_switch(struct hostapd_iface
      *iface,\n\t\t\t\t\t    int freq)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_get_oper_chwidth
      Src: /src/hostap/src/ap/dfs.c:1445,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dfs.c:1447,1
    - Dst: hostapd_csa_in_progress
      Src: /src/hostap/src/ap/dfs.c:1449,1
    - Dst: hostapd_csa_in_progress
      Src: /src/hostap/src/ap/dfs.c:1452,1
    - Dst: hostapd_dfs_start_channel_switch_cac
      Src: /src/hostap/src/ap/dfs.c:1457,1
    - Dst: dfs_get_valid_channel
      Src: /src/hostap/src/ap/dfs.c:1467,1
    - Dst: dfs_downgrade_bandwidth
      Src: /src/hostap/src/ap/dfs.c:1479,1
    - Dst: hostapd_disable_iface
      Src: /src/hostap/src/ap/dfs.c:1488,1
    - Dst: hostapd_enable_iface
      Src: /src/hostap/src/ap/dfs.c:1489,1
    - Dst: hostapd_set_oper_centr_freq_seg0_idx
      Src: /src/hostap/src/ap/dfs.c:1497,1
    - Dst: hostapd_set_oper_centr_freq_seg1_idx
      Src: /src/hostap/src/ap/dfs.c:1499,1
    - Dst: hostapd_disable_iface
      Src: /src/hostap/src/ap/dfs.c:1502,1
    - Dst: hostapd_enable_iface
      Src: /src/hostap/src/ap/dfs.c:1503,1
    - Dst: hostapd_dfs_request_channel_switch
      Src: /src/hostap/src/ap/dfs.c:1508,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1514
      start: 1438
    functionDepth: 6
    functionLinenumber: 1438
    functionLinenumberEnd: 1514
    functionName: hostapd_dfs_start_channel_switch
    functionSourceFile: /src/hostap/src/ap/dfs.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dfs_downgrade_bandwidth
    - hostapd_enable_iface
    - hostapd_dfs_start_channel_switch_cac
    - hostapd_csa_in_progress
    - hostapd_disable_iface
    - hostapd_dfs_request_channel_switch
    - hostapd_set_oper_centr_freq_seg0_idx
    - hostapd_set_oper_centr_freq_seg1_idx
    - dfs_get_valid_channel
    - hostapd_get_oper_chwidth
    linkageType: ''
    returnType: int
    signature: int hostapd_dfs_start_channel_switch(struct hostapd_iface *iface)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_is_freq_in_current_hw_info
      Src: /src/hostap/src/ap/dfs.c:1521,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dfs.c:1522,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dfs.c:1529,1
    - Dst: set_dfs_state
      Src: /src/hostap/src/ap/dfs.c:1543,1
    - Dst: hostapd_dfs_is_background_event
      Src: /src/hostap/src/ap/dfs.c:1547,1
    - Dst: dfs_are_channels_overlapped
      Src: /src/hostap/src/ap/dfs.c:1549,1
    - Dst: hostapd_dfs_background_start_channel_switch
      Src: /src/hostap/src/ap/dfs.c:1554,1
    - Dst: hostapd_dfs_start_channel_switch
      Src: /src/hostap/src/ap/dfs.c:1556,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 7
    argNames:
    - iface
    - freq
    - ht_enabled
    - chan_offset
    - chan_width
    - cf1
    - cf2
    argTypes:
    - struct hostapd_iface*
    - int
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1560
      start: 1517
    functionDepth: 7
    functionLinenumber: 1517
    functionLinenumberEnd: 1560
    functionName: hostapd_dfs_radar_detected
    functionSourceFile: /src/hostap/src/ap/dfs.c
    functionUses: 1
    functionsReached:
    - dfs_are_channels_overlapped
    - hostapd_is_freq_in_current_hw_info
    - hostapd_dfs_is_background_event
    - wpa_msg
    - hostapd_dfs_start_channel_switch
    - set_dfs_state
    - hostapd_dfs_background_start_channel_switch
    linkageType: ''
    returnType: int
    signature: "int hostapd_dfs_radar_detected(struct hostapd_iface *iface, int freq,\n\t\t\t
      \      int ht_enabled, int chan_offset, int chan_width,\n\t\t\t       int cf1,
      int cf2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_is_freq_in_current_hw_info
      Src: /src/hostap/src/ap/dfs.c:1567,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dfs.c:1568,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dfs.c:1575,1
    - Dst: set_dfs_state
      Src: /src/hostap/src/ap/dfs.c:1584,1
    - Dst: hostapd_handle_dfs
      Src: /src/hostap/src/ap/dfs.c:1589,1
    - Dst: dfs_use_radar_background
      Src: /src/hostap/src/ap/dfs.c:1590,1
    - Dst: hostapd_dfs_update_background_chain
      Src: /src/hostap/src/ap/dfs.c:1593,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 7
    argNames:
    - iface
    - freq
    - ht_enabled
    - chan_offset
    - chan_width
    - cf1
    - cf2
    argTypes:
    - struct hostapd_iface*
    - int
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1597
      start: 1563
    functionDepth: 6
    functionLinenumber: 1563
    functionLinenumberEnd: 1597
    functionName: hostapd_dfs_nop_finished
    functionSourceFile: /src/hostap/src/ap/dfs.c
    functionUses: 1
    functionsReached:
    - hostapd_is_freq_in_current_hw_info
    - wpa_msg
    - hostapd_dfs_update_background_chain
    - dfs_use_radar_background
    - hostapd_handle_dfs
    - set_dfs_state
    linkageType: ''
    returnType: int
    signature: "int hostapd_dfs_nop_finished(struct hostapd_iface *iface, int freq,\n\t\t\t
      \    int ht_enabled, int chan_offset, int chan_width,\n\t\t\t     int cf1, int
      cf2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dfs_get_start_chan_idx
      Src: /src/hostap/src/ap/dfs.c:1611,1
    - Dst: dfs_get_used_n_chans
      Src: /src/hostap/src/ap/dfs.c:1616,1
    - Dst: dfs_check_chans_radar
      Src: /src/hostap/src/ap/dfs.c:1619,1
    - Dst: dfs_check_chans_radar
      Src: /src/hostap/src/ap/dfs.c:1623,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1625
      start: 1600
    functionDepth: 2
    functionLinenumber: 1600
    functionLinenumberEnd: 1625
    functionName: hostapd_is_dfs_required
    functionSourceFile: /src/hostap/src/ap/dfs.c
    functionUses: 0
    functionsReached:
    - dfs_get_start_chan_idx
    - dfs_check_chans_radar
    - dfs_get_used_n_chans
    linkageType: ''
    returnType: int
    signature: int hostapd_is_dfs_required(struct hostapd_iface *iface)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_is_freq_in_current_hw_info
      Src: /src/hostap/src/ap/dfs.c:1634,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dfs.c:1635,1
    - Dst: hostapd_dfs_is_background_event
      Src: /src/hostap/src/ap/dfs.c:1641,1
    - Dst: hostapd_set_state
      Src: /src/hostap/src/ap/dfs.c:1647,1
    - Dst: ieee802_11_set_beacons
      Src: /src/hostap/src/ap/dfs.c:1655,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dfs.c:1659,1
    - Dst: hostapd_dfs_is_background_event
      Src: /src/hostap/src/ap/dfs.c:1664,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/ap/dfs.c:1667,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 7
    argNames:
    - hapd
    - freq
    - ht_enabled
    - chan_offset
    - chan_width
    - cf1
    - cf2
    argTypes:
    - struct hostapd_data*
    - int
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1669
      start: 1628
    functionDepth: 2
    functionLinenumber: 1628
    functionLinenumberEnd: 1669
    functionName: hostapd_dfs_start_cac
    functionSourceFile: /src/hostap/src/ap/dfs.c
    functionUses: 1
    functionsReached:
    - hostapd_set_state
    - os_get_reltime
    - hostapd_is_freq_in_current_hw_info
    - hostapd_dfs_is_background_event
    - wpa_msg
    - ieee802_11_set_beacons
    linkageType: ''
    returnType: int
    signature: "int hostapd_dfs_start_cac(struct hostapd_data *hapd, int freq,\n\t\t\t
      \ int ht_enabled, int chan_offset, int chan_width,\n\t\t\t  int cf1, int cf2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dfs.c:1683,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dfs.c:1692,1
    - Dst: hostapd_is_dfs_required
      Src: /src/hostap/src/ap/dfs.c:1698,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dfs.c:1700,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dfs.c:1706,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1710
      start: 1679
    functionDepth: 3
    functionLinenumber: 1679
    functionLinenumberEnd: 1710
    functionName: hostapd_handle_dfs_offload
    functionSourceFile: /src/hostap/src/ap/dfs.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hostapd_is_dfs_required
    linkageType: ''
    returnType: int
    signature: int hostapd_handle_dfs_offload(struct hostapd_iface *iface)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dfs.c:1742,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dfs.c:1762,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    argCount: 3
    argNames:
    - iface
    - width
    - center_freq
    argTypes:
    - struct hostapd_iface*
    - enum chan_width
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1767
      start: 1713
    functionDepth: 0
    functionLinenumber: 1713
    functionLinenumberEnd: 1767
    functionName: hostapd_is_dfs_overlap
    functionSourceFile: /src/hostap/src/ap/dfs.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int hostapd_is_dfs_overlap(struct hostapd_iface *iface, enum chan_width
      width,\n\t\t\t   int center_freq)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_empty
      Src: /src/hostap/src/ap/acs.c:319,1
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/ap/acs.c:322,1
    - Dst: dl_list_del
      Src: /src/hostap/src/ap/acs.c:324,1
    - Dst: os_free
      Src: /src/hostap/src/ap/acs.c:325,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - chan
    argTypes:
    - struct hostapd_channel_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 327
    functionName: acs_clean_chan_surveys
    functionSourceFile: /src/hostap/src/ap/acs.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each_safe
    - os_free
    - dl_list_del
    - dl_list_empty
    linkageType: ''
    returnType: void
    signature: void acs_clean_chan_surveys(struct hostapd_channel_data *chan)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: acs_clean_chan_surveys
      Src: /src/hostap/src/ap/acs.c:339,1
    - Dst: dl_list_init
      Src: /src/hostap/src/ap/acs.c:341,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - mode
    argTypes:
    - struct hostapd_hw_modes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 330
    functionDepth: 2
    functionLinenumber: 330
    functionLinenumberEnd: 346
    functionName: acs_cleanup_mode
    functionSourceFile: /src/hostap/src/ap/acs.c
    functionUses: 0
    functionsReached:
    - dl_list_init
    - acs_clean_chan_surveys
    linkageType: ''
    returnType: void
    signature: void acs_cleanup_mode(struct hostapd_hw_modes *mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: acs_cleanup_mode
      Src: /src/hostap/src/ap/acs.c:354,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/acs.c:359,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 349
    functionDepth: 3
    functionLinenumber: 349
    functionLinenumberEnd: 360
    functionName: acs_cleanup
    functionSourceFile: /src/hostap/src/ap/acs.c
    functionUses: 0
    functionsReached:
    - eloop_cancel_timeout
    - acs_cleanup_mode
    linkageType: ''
    returnType: void
    signature: void acs_cleanup(struct hostapd_iface *iface)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/acs.c:365,1
    - Dst: acs_cleanup
      Src: /src/hostap/src/ap/acs.c:366,1
    - Dst: hostapd_disable_iface
      Src: /src/hostap/src/ap/acs.c:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 368
    functionName: acs_fail
    functionSourceFile: /src/hostap/src/ap/acs.c
    functionUses: 0
    functionsReached:
    - hostapd_disable_iface
    - wpa_printf
    - acs_cleanup
    linkageType: ''
    returnType: void
    signature: void acs_fail(struct hostapd_iface *iface)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/acs.c:381,1
    - Dst: pow
      Src: /src/hostap/src/ap/acs.c:393,1
    - Dst: pow
      Src: /src/hostap/src/ap/acs.c:395,1
    - Dst: pow
      Src: /src/hostap/src/ap/acs.c:395,1
    - Dst: pow
      Src: /src/hostap/src/ap/acs.c:396,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - survey
    - min_nf
    argTypes:
    - struct freq_survey*
    - s8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 399
    functionName: acs_survey_interference_factor
    functionSourceFile: /src/hostap/src/ap/acs.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - pow
    linkageType: ''
    returnType: long double
    signature: long double acs_survey_interference_factor(struct freq_survey *survey,
      s8 min_nf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_empty
      Src: /src/hostap/src/ap/acs.c:411,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/ap/acs.c:417,1
    - Dst: acs_survey_is_sufficient
      Src: /src/hostap/src/ap/acs.c:421,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/acs.c:422,1
    - Dst: acs_survey_interference_factor
      Src: /src/hostap/src/ap/acs.c:427,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/acs.c:430,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - iface
    - chan
    argTypes:
    - struct hostapd_iface*
    - struct hostapd_channel_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 439
    functionName: acs_survey_chan_interference_factor
    functionSourceFile: /src/hostap/src/ap/acs.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - acs_survey_interference_factor
    - dl_list_empty
    - acs_survey_is_sufficient
    - dl_list_for_each
    linkageType: ''
    returnType: void
    signature: "void acs_survey_chan_interference_factor(struct hostapd_iface *iface,\n\t\t\t\t
      \   struct hostapd_channel_data *chan)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - chan
    - bw
    argTypes:
    - struct hostapd_channel_data*
    - enum bw_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 454
    functionName: acs_usable_bw_chan
    functionSourceFile: /src/hostap/src/ap/acs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool acs_usable_bw_chan(const struct hostapd_channel_data *chan,\n\t\t\t
      \      enum bw_type bw)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - freq
    - bw
    argTypes:
    - int
    - enum bw_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 469
    functionName: acs_get_bw_center_chan
    functionSourceFile: /src/hostap/src/ap/acs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int acs_get_bw_center_chan(int freq, enum bw_type bw)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/acs.c:475,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/acs.c:482,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/acs.c:490,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - survey
    argTypes:
    - struct freq_survey*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 497
    functionName: acs_survey_is_sufficient
    functionSourceFile: /src/hostap/src/ap/acs.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int acs_survey_is_sufficient(struct freq_survey *survey)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/ap/acs.c:505,1
    - Dst: acs_survey_is_sufficient
      Src: /src/hostap/src/ap/acs.c:507,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/acs.c:518,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - chan
    argTypes:
    - struct hostapd_channel_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 524
    functionName: acs_survey_list_is_sufficient
    functionSourceFile: /src/hostap/src/ap/acs.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    - wpa_printf
    - acs_survey_is_sufficient
    linkageType: ''
    returnType: int
    signature: int acs_survey_list_is_sufficient(struct hostapd_channel_data *chan)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: acs_survey_list_is_sufficient
      Src: /src/hostap/src/ap/acs.c:535,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - mode
    argTypes:
    - struct hostapd_hw_modes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 527
    functionDepth: 2
    functionLinenumber: 527
    functionLinenumberEnd: 540
    functionName: acs_surveys_are_sufficient_mode
    functionSourceFile: /src/hostap/src/ap/acs.c
    functionUses: 0
    functionsReached:
    - acs_survey_list_is_sufficient
    linkageType: ''
    returnType: int
    signature: int acs_surveys_are_sufficient_mode(struct hostapd_hw_modes *mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_hw_skip_mode
      Src: /src/hostap/src/ap/acs.c:550,1
    - Dst: acs_surveys_are_sufficient_mode
      Src: /src/hostap/src/ap/acs.c:551,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 543
    functionDepth: 3
    functionLinenumber: 543
    functionLinenumberEnd: 556
    functionName: acs_surveys_are_sufficient
    functionSourceFile: /src/hostap/src/ap/acs.c
    functionUses: 0
    functionsReached:
    - hostapd_hw_skip_mode
    - acs_surveys_are_sufficient_mode
    linkageType: ''
    returnType: int
    signature: int acs_surveys_are_sufficient(struct hostapd_iface *iface)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_empty
      Src: /src/hostap/src/ap/acs.c:564,1
    - Dst: acs_survey_list_is_sufficient
      Src: /src/hostap/src/ap/acs.c:566,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - chan
    argTypes:
    - struct hostapd_channel_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 559
    functionDepth: 2
    functionLinenumber: 559
    functionLinenumberEnd: 567
    functionName: acs_usable_chan
    functionSourceFile: /src/hostap/src/ap/acs.c
    functionUses: 0
    functionsReached:
    - acs_survey_list_is_sufficient
    - dl_list_empty
    linkageType: ''
    returnType: int
    signature: int acs_usable_chan(struct hostapd_channel_data *chan)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: freq_range_list_includes
      Src: /src/hostap/src/ap/acs.c:576,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - chan
    argTypes:
    - struct hostapd_iface*
    - struct hostapd_channel_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 570
    functionDepth: 1
    functionLinenumber: 570
    functionLinenumberEnd: 577
    functionName: is_in_chanlist
    functionSourceFile: /src/hostap/src/ap/acs.c
    functionUses: 1
    functionsReached:
    - freq_range_list_includes
    linkageType: ''
    returnType: int
    signature: "int is_in_chanlist(struct hostapd_iface *iface,\n\t\t\t  struct hostapd_channel_data
      *chan)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: freq_range_list_includes
      Src: /src/hostap/src/ap/acs.c:586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - chan
    argTypes:
    - struct hostapd_iface*
    - struct hostapd_channel_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 580
    functionDepth: 1
    functionLinenumber: 580
    functionLinenumberEnd: 588
    functionName: is_in_freqlist
    functionSourceFile: /src/hostap/src/ap/acs.c
    functionUses: 0
    functionsReached:
    - freq_range_list_includes
    linkageType: ''
    returnType: int
    signature: "int is_in_freqlist(struct hostapd_iface *iface,\n\t\t\t  struct hostapd_channel_data
      *chan)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: acs_usable_chan
      Src: /src/hostap/src/ap/acs.c:600,1
    - Dst: is_in_chanlist
      Src: /src/hostap/src/ap/acs.c:607,1
    - Dst: is_in_freqlist
      Src: /src/hostap/src/ap/acs.c:610,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/acs.c:620,1
    - Dst: acs_survey_chan_interference_factor
      Src: /src/hostap/src/ap/acs.c:623,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/acs.c:625,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 19
    argCount: 2
    argNames:
    - iface
    - mode
    argTypes:
    - struct hostapd_iface*
    - struct hostapd_hw_modes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 591
    functionDepth: 3
    functionLinenumber: 591
    functionLinenumberEnd: 628
    functionName: acs_survey_mode_interference_factor
    functionSourceFile: /src/hostap/src/ap/acs.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - acs_usable_chan
    - is_in_freqlist
    - is_in_chanlist
    - acs_survey_chan_interference_factor
    linkageType: ''
    returnType: void
    signature: "void acs_survey_mode_interference_factor(\n\tstruct hostapd_iface
      *iface, struct hostapd_hw_modes *mode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_hw_skip_mode
      Src: /src/hostap/src/ap/acs.c:639,1
    - Dst: acs_survey_mode_interference_factor
      Src: /src/hostap/src/ap/acs.c:640,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 631
    functionDepth: 4
    functionLinenumber: 631
    functionLinenumberEnd: 642
    functionName: acs_survey_all_chans_interference_factor
    functionSourceFile: /src/hostap/src/ap/acs.c
    functionUses: 0
    functionsReached:
    - hostapd_hw_skip_mode
    - acs_survey_mode_interference_factor
    linkageType: ''
    returnType: void
    signature: "void acs_survey_all_chans_interference_factor(\n\tstruct hostapd_iface
      *iface)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - mode
    - freq
    argTypes:
    - struct hostapd_hw_modes*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 662
    functionName: acs_find_chan_mode
    functionSourceFile: /src/hostap/src/ap/acs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct hostapd_channel_data
    signature: 'struct hostapd_channel_data *

      acs_find_chan_mode(struct hostapd_hw_modes *mode, int freq)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_hw_skip_mode
      Src: /src/hostap/src/ap/acs.c:674,1
    - Dst: acs_find_chan_mode
      Src: /src/hostap/src/ap/acs.c:675,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - iface
    - freq
    argTypes:
    - struct hostapd_iface*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 665
    functionDepth: 1
    functionLinenumber: 665
    functionLinenumberEnd: 682
    functionName: acs_find_mode
    functionSourceFile: /src/hostap/src/ap/acs.c
    functionUses: 0
    functionsReached:
    - hostapd_hw_skip_mode
    - acs_find_chan_mode
    linkageType: ''
    returnType: enum hostapd_hw_mode
    signature: enum hostapd_hw_mode acs_find_mode(struct hostapd_iface *iface, int
      freq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_hw_skip_mode
      Src: /src/hostap/src/ap/acs.c:694,1
    - Dst: acs_find_chan_mode
      Src: /src/hostap/src/ap/acs.c:695,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - iface
    - freq
    argTypes:
    - struct hostapd_iface*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 685
    functionDepth: 1
    functionLinenumber: 685
    functionLinenumberEnd: 702
    functionName: acs_find_chan
    functionSourceFile: /src/hostap/src/ap/acs.c
    functionUses: 0
    functionsReached:
    - hostapd_hw_skip_mode
    - acs_find_chan_mode
    linkageType: ''
    returnType: struct hostapd_channel_data
    signature: 'struct hostapd_channel_data *

      acs_find_chan(struct hostapd_iface *iface, int freq)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - mode
    argTypes:
    - enum hostapd_hw_mode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 709
    functionName: is_24ghz_mode
    functionSourceFile: /src/hostap/src/ap/acs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_24ghz_mode(enum hostapd_hw_mode mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - chan
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 715
    functionName: is_common_24ghz_chan
    functionSourceFile: /src/hostap/src/ap/acs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_common_24ghz_chan(int chan)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: is_24ghz_mode
      Src: /src/hostap/src/ap/acs.c:756,1
    - Dst: acs_find_chan
      Src: /src/hostap/src/ap/acs.c:771,1
    - Dst: BIT
      Src: /src/hostap/src/ap/acs.c:781,1
    - Dst: is_punct_bitmap_valid
      Src: /src/hostap/src/ap/acs.c:784,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 7
    argNames:
    - iface
    - mode
    - bw
    - n_chans
    - chan
    - factor
    - index_primary
    argTypes:
    - struct hostapd_iface*
    - struct hostapd_hw_modes*
    - u32
    - int
    - struct hostapd_channel_data*
    - long double
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 737
    functionDepth: 2
    functionLinenumber: 737
    functionLinenumberEnd: 787
    functionName: acs_update_puncturing_bitmap
    functionSourceFile: /src/hostap/src/ap/acs.c
    functionUses: 0
    functionsReached:
    - acs_find_chan
    - is_punct_bitmap_valid
    - BIT
    - is_24ghz_mode
    linkageType: ''
    returnType: void
    signature: "void acs_update_puncturing_bitmap(struct hostapd_iface *iface,\n\t\t\t\t\t
      struct hostapd_hw_modes *mode, u32 bw,\n\t\t\t\t\t int n_chans,\n\t\t\t\t\t
      struct hostapd_channel_data *chan,\n\t\t\t\t\t long double factor,\n\t\t\t\t\t
      int index_primary)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_get_bw320_offset
      Src: /src/hostap/src/ap/acs.c:796,1
    - Dst: acs_usable_bw_chan
      Src: /src/hostap/src/ap/acs.c:801,1
    - Dst: acs_usable_bw_chan
      Src: /src/hostap/src/ap/acs.c:805,1
    - Dst: acs_usable_bw_chan
      Src: /src/hostap/src/ap/acs.c:811,1
    - Dst: acs_usable_bw_chan
      Src: /src/hostap/src/ap/acs.c:813,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/acs.c:819,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - iface
    - chan
    - bw320_offset
    argTypes:
    - struct hostapd_iface*
    - struct hostapd_channel_data*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 791
    functionDepth: 1
    functionLinenumber: 791
    functionLinenumberEnd: 824
    functionName: acs_usable_bw320_chan
    functionSourceFile: /src/hostap/src/ap/acs.c
    functionUses: 0
    functionsReached:
    - acs_usable_bw_chan
    - hostapd_get_bw320_offset
    - wpa_printf
    linkageType: ''
    returnType: bool
    signature: "bool acs_usable_bw320_chan(struct hostapd_iface *iface,\n\t\t      struct
      hostapd_channel_data *chan, int *bw320_offset)"
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: is_24ghz_mode
      Src: /src/hostap/src/ap/acs.c:846,1
    - Dst: acs_usable_bw_chan
      Src: /src/hostap/src/ap/acs.c:860,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/acs.c:861,1
    - Dst: acs_usable_bw_chan
      Src: /src/hostap/src/ap/acs.c:870,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/acs.c:871,1
    - Dst: acs_usable_bw_chan
      Src: /src/hostap/src/ap/acs.c:877,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/acs.c:878,1
    - Dst: acs_usable_bw320_chan
      Src: /src/hostap/src/ap/acs.c:888,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/acs.c:890,1
    - Dst: acs_find_chan
      Src: /src/hostap/src/ap/acs.c:901,1
    - Dst: chan_bw_allowed
      Src: /src/hostap/src/ap/acs.c:906,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/acs.c:908,1
    - Dst: acs_usable_chan
      Src: /src/hostap/src/ap/acs.c:925,1
    - Dst: chan_pri_allowed
      Src: /src/hostap/src/ap/acs.c:931,1
    - Dst: is_in_chanlist
      Src: /src/hostap/src/ap/acs.c:934,1
    - Dst: is_in_freqlist
      Src: /src/hostap/src/ap/acs.c:937,1
    - Dst: is_6ghz_psc_frequency
      Src: /src/hostap/src/ap/acs.c:941,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/acs.c:951,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/acs.c:957,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/acs.c:968,1
    - Dst: is_24ghz_mode
      Src: /src/hostap/src/ap/acs.c:981,1
    - Dst: acs_find_chan
      Src: /src/hostap/src/ap/acs.c:984,1
    - Dst: acs_usable_chan
      Src: /src/hostap/src/ap/acs.c:986,1
    - Dst: acs_find_chan
      Src: /src/hostap/src/ap/acs.c:992,1
    - Dst: acs_usable_chan
      Src: /src/hostap/src/ap/acs.c:994,1
    - Dst: acs_find_chan
      Src: /src/hostap/src/ap/acs.c:1000,1
    - Dst: acs_usable_chan
      Src: /src/hostap/src/ap/acs.c:1002,1
    - Dst: acs_find_chan
      Src: /src/hostap/src/ap/acs.c:1008,1
    - Dst: acs_usable_chan
      Src: /src/hostap/src/ap/acs.c:1010,1
    - Dst: is_24ghz_mode
      Src: /src/hostap/src/ap/acs.c:1031,1
    - Dst: is_common_24ghz_chan
      Src: /src/hostap/src/ap/acs.c:1032,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/acs.c:1040,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/acs.c:1044,1
    - Dst: acs_usable_chan
      Src: /src/hostap/src/ap/acs.c:1049,1
    - Dst: acs_update_puncturing_bitmap
      Src: /src/hostap/src/ap/acs.c:1062,1
    - Dst: hostapd_set_and_check_bw320_offset
      Src: /src/hostap/src/ap/acs.c:1076,1
    CyclomaticComplexity: 80
    EdgeCount: 80
    ICount: 132
    argCount: 7
    argNames:
    - iface
    - mode
    - n_chans
    - bw
    - rand_chan
    - ideal_chan
    - ideal_factor
    argTypes:
    - struct hostapd_iface*
    - struct hostapd_hw_modes*
    - int
    - u32
    - struct hostapd_channel_data**
    - struct hostapd_channel_data**
    - long double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1077
      start: 827
    functionDepth: 3
    functionLinenumber: 827
    functionLinenumberEnd: 1077
    functionName: acs_find_ideal_chan_mode
    functionSourceFile: /src/hostap/src/ap/acs.c
    functionUses: 0
    functionsReached:
    - acs_find_chan
    - hostapd_set_and_check_bw320_offset
    - wpa_printf
    - acs_usable_bw_chan
    - acs_usable_bw320_chan
    - acs_update_puncturing_bitmap
    - chan_pri_allowed
    - acs_usable_chan
    - is_in_freqlist
    - is_24ghz_mode
    - is_in_chanlist
    - is_6ghz_psc_frequency
    - is_common_24ghz_chan
    - chan_bw_allowed
    linkageType: ''
    returnType: void
    signature: "void acs_find_ideal_chan_mode(struct hostapd_iface *iface,\n\t\t\t
      struct hostapd_hw_modes *mode,\n\t\t\t int n_chans, u32 bw,\n\t\t\t struct hostapd_channel_data
      **rand_chan,\n\t\t\t struct hostapd_channel_data **ideal_chan,\n\t\t\t long
      double *ideal_factor)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: is_6ghz_op_class
      Src: /src/hostap/src/ap/acs.c:1097,1
    - Dst: op_class_to_bandwidth
      Src: /src/hostap/src/ap/acs.c:1098,1
    - Dst: hostapd_get_oper_chwidth
      Src: /src/hostap/src/ap/acs.c:1109,1
    - Dst: num_chan_to_bw
      Src: /src/hostap/src/ap/acs.c:1124,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/acs.c:1129,1
    - Dst: hostapd_hw_skip_mode
      Src: /src/hostap/src/ap/acs.c:1134,1
    - Dst: acs_find_ideal_chan_mode
      Src: /src/hostap/src/ap/acs.c:1135,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/acs.c:1141,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/acs.c:1146,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1154
      start: 1086
    functionDepth: 4
    functionLinenumber: 1086
    functionLinenumberEnd: 1154
    functionName: acs_find_ideal_chan
    functionSourceFile: /src/hostap/src/ap/acs.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - num_chan_to_bw
    - is_6ghz_op_class
    - hostapd_hw_skip_mode
    - acs_find_ideal_chan_mode
    - op_class_to_bandwidth
    - hostapd_get_oper_chwidth
    linkageType: ''
    returnType: struct hostapd_channel_data
    signature: 'struct hostapd_channel_data *

      acs_find_ideal_chan(struct hostapd_iface *iface)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: acs_find_mode
      Src: /src/hostap/src/ap/acs.c:1165,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/acs.c:1168,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1157
    functionDepth: 2
    functionLinenumber: 1157
    functionLinenumberEnd: 1177
    functionName: acs_adjust_secondary
    functionSourceFile: /src/hostap/src/ap/acs.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - acs_find_mode
    linkageType: ''
    returnType: void
    signature: void acs_adjust_secondary(struct hostapd_iface *iface)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/acs.c:1184,1
    - Dst: hostapd_get_oper_chwidth
      Src: /src/hostap/src/ap/acs.c:1186,1
    - Dst: acs_get_bw_center_chan
      Src: /src/hostap/src/ap/acs.c:1193,1
    - Dst: acs_get_bw_center_chan
      Src: /src/hostap/src/ap/acs.c:1198,1
    - Dst: acs_get_bw_center_chan
      Src: /src/hostap/src/ap/acs.c:1201,1
    - Dst: hostapd_get_bw320_offset
      Src: /src/hostap/src/ap/acs.c:1204,1
    - Dst: acs_get_bw_center_chan
      Src: /src/hostap/src/ap/acs.c:1206,1
    - Dst: acs_get_bw_center_chan
      Src: /src/hostap/src/ap/acs.c:1210,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/acs.c:1214,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/acs.c:1223,1
    - Dst: hostapd_set_oper_centr_freq_seg0_idx
      Src: /src/hostap/src/ap/acs.c:1228,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1229
      start: 1180
    functionDepth: 1
    functionLinenumber: 1180
    functionLinenumberEnd: 1229
    functionName: acs_adjust_center_freq
    functionSourceFile: /src/hostap/src/ap/acs.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - acs_get_bw_center_chan
    - hostapd_get_bw320_offset
    - hostapd_set_oper_centr_freq_seg0_idx
    - hostapd_get_oper_chwidth
    linkageType: ''
    returnType: void
    signature: void acs_adjust_center_freq(struct hostapd_iface *iface)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/acs.c:1234,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/acs.c:1237,1
    - Dst: acs_surveys_are_sufficient
      Src: /src/hostap/src/ap/acs.c:1241,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/acs.c:1242,1
    - Dst: acs_survey_all_chans_interference_factor
      Src: /src/hostap/src/ap/acs.c:1246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1248
      start: 1232
    functionDepth: 5
    functionLinenumber: 1232
    functionLinenumberEnd: 1248
    functionName: acs_study_survey_based
    functionSourceFile: /src/hostap/src/ap/acs.c
    functionUses: 0
    functionsReached:
    - acs_surveys_are_sufficient
    - wpa_printf
    - acs_survey_all_chans_interference_factor
    linkageType: ''
    returnType: int
    signature: int acs_study_survey_based(struct hostapd_iface *iface)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/acs.c:1256,1
    - Dst: hostapd_driver_get_scan_results
      Src: /src/hostap/src/ap/acs.c:1258,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/acs.c:1260,1
    - Dst: hostapd_setup_interface_complete
      Src: /src/hostap/src/ap/acs.c:1261,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/acs.c:1278,1
    - Dst: wpa_scan_results_free
      Src: /src/hostap/src/ap/acs.c:1285,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1287
      start: 1251
    functionDepth: 1
    functionLinenumber: 1251
    functionLinenumberEnd: 1287
    functionName: acs_study_bss_based
    functionSourceFile: /src/hostap/src/ap/acs.c
    functionUses: 0
    functionsReached:
    - hostapd_setup_interface_complete
    - wpa_printf
    - wpa_scan_results_free
    - hostapd_driver_get_scan_results
    linkageType: ''
    returnType: int
    signature: int acs_study_bss_based(struct hostapd_iface *iface)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: acs_study_survey_based
      Src: /src/hostap/src/ap/acs.c:1292,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/acs.c:1295,1
    - Dst: acs_study_bss_based
      Src: /src/hostap/src/ap/acs.c:1296,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1300
      start: 1290
    functionDepth: 6
    functionLinenumber: 1290
    functionLinenumberEnd: 1300
    functionName: acs_study_options
    functionSourceFile: /src/hostap/src/ap/acs.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - acs_study_bss_based
    - acs_study_survey_based
    linkageType: ''
    returnType: int
    signature: int acs_study_options(struct hostapd_iface *iface)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: acs_study_options
      Src: /src/hostap/src/ap/acs.c:1308,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/acs.c:1310,1
    - Dst: acs_find_ideal_chan
      Src: /src/hostap/src/ap/acs.c:1314,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/acs.c:1316,1
    - Dst: acs_adjust_secondary
      Src: /src/hostap/src/ap/acs.c:1329,1
    - Dst: acs_adjust_center_freq
      Src: /src/hostap/src/ap/acs.c:1330,1
    - Dst: hostapd_select_hw_mode
      Src: /src/hostap/src/ap/acs.c:1333,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/acs.c:1335,1
    - Dst: hostapd_acs_completed
      Src: /src/hostap/src/ap/acs.c:1348,1
    - Dst: acs_cleanup
      Src: /src/hostap/src/ap/acs.c:1349,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/acs.c:1355,1
    - Dst: acs_fail
      Src: /src/hostap/src/ap/acs.c:1356,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1357
      start: 1303
    functionDepth: 7
    functionLinenumber: 1303
    functionLinenumberEnd: 1357
    functionName: acs_study
    functionSourceFile: /src/hostap/src/ap/acs.c
    functionUses: 0
    functionsReached:
    - hostapd_acs_completed
    - wpa_printf
    - acs_adjust_center_freq
    - acs_cleanup
    - acs_adjust_secondary
    - acs_find_ideal_chan
    - hostapd_select_hw_mode
    - acs_study_options
    - acs_fail
    linkageType: ''
    returnType: void
    signature: void acs_study(struct hostapd_iface *iface)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/acs.c:1367,1
    - Dst: hostapd_drv_get_survey
      Src: /src/hostap/src/ap/acs.c:1370,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/acs.c:1372,1
    - Dst: acs_request_scan
      Src: /src/hostap/src/ap/acs.c:1377,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/acs.c:1379,1
    - Dst: acs_study
      Src: /src/hostap/src/ap/acs.c:1386,1
    - Dst: hostapd_acs_completed
      Src: /src/hostap/src/ap/acs.c:1389,1
    - Dst: acs_fail
      Src: /src/hostap/src/ap/acs.c:1390,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1391
      start: 1360
    functionDepth: 8
    functionLinenumber: 1360
    functionLinenumberEnd: 1391
    functionName: acs_scan_complete
    functionSourceFile: /src/hostap/src/ap/acs.c
    functionUses: 0
    functionsReached:
    - hostapd_acs_completed
    - wpa_printf
    - hostapd_drv_get_survey
    - acs_request_scan
    - acs_study
    - acs_fail
    linkageType: ''
    returnType: void
    signature: void acs_scan_complete(struct hostapd_iface *iface)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: is_in_chanlist
      Src: /src/hostap/src/ap/acs.c:1408,1
    - Dst: is_in_freqlist
      Src: /src/hostap/src/ap/acs.c:1411,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 16
    argCount: 3
    argNames:
    - iface
    - mode
    - freq
    argTypes:
    - struct hostapd_iface*
    - struct hostapd_hw_modes*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1425
      start: 1394
    functionDepth: 2
    functionLinenumber: 1394
    functionLinenumberEnd: 1425
    functionName: acs_request_scan_add_freqs
    functionSourceFile: /src/hostap/src/ap/acs.c
    functionUses: 0
    functionsReached:
    - is_in_freqlist
    - is_in_chanlist
    linkageType: ''
    returnType: int
    signature: "int * acs_request_scan_add_freqs(struct hostapd_iface *iface,\n\t\t\t\t\tstruct
      hostapd_hw_modes *mode,\n\t\t\t\t\tint *freq)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/ap/acs.c:1435,1
    - Dst: hostapd_hw_skip_mode
      Src: /src/hostap/src/ap/acs.c:1440,1
    - Dst: os_calloc
      Src: /src/hostap/src/ap/acs.c:1444,1
    - Dst: hostapd_hw_skip_mode
      Src: /src/hostap/src/ap/acs.c:1452,1
    - Dst: acs_request_scan_add_freqs
      Src: /src/hostap/src/ap/acs.c:1453,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/acs.c:1459,1
    - Dst: os_free
      Src: /src/hostap/src/ap/acs.c:1460,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/acs.c:1465,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/acs.c:1469,1
    - Dst: hostapd_driver_scan
      Src: /src/hostap/src/ap/acs.c:1475,1
    - Dst: os_free
      Src: /src/hostap/src/ap/acs.c:1476,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/acs.c:1481,1
    - Dst: acs_fail
      Src: /src/hostap/src/ap/acs.c:1483,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/acs.c:1487,1
    - Dst: strerror
      Src: /src/hostap/src/ap/acs.c:1489,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/acs.c:1490,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/acs.c:1491,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/acs.c:1497,1
    - Dst: acs_cleanup
      Src: /src/hostap/src/ap/acs.c:1498,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 47
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1505
      start: 1428
    functionDepth: 3
    functionLinenumber: 1428
    functionLinenumberEnd: 1505
    functionName: acs_request_scan
    functionSourceFile: /src/hostap/src/ap/acs.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - hostapd_driver_scan
    - os_calloc
    - strerror
    - eloop_cancel_timeout
    - acs_cleanup
    - hostapd_hw_skip_mode
    - acs_request_scan_add_freqs
    - eloop_register_timeout
    - os_free
    - acs_fail
    - os_memset
    linkageType: ''
    returnType: int
    signature: int acs_request_scan(struct hostapd_iface *iface)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: acs_request_scan
      Src: /src/hostap/src/ap/acs.c:1512,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/acs.c:1513,1
    - Dst: acs_fail
      Src: /src/hostap/src/ap/acs.c:1515,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - eloop_data
    - user_data
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1517
      start: 1508
    functionDepth: 4
    functionLinenumber: 1508
    functionLinenumberEnd: 1517
    functionName: acs_scan_retry
    functionSourceFile: /src/hostap/src/ap/acs.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - acs_request_scan
    - acs_fail
    linkageType: ''
    returnType: void
    signature: void acs_scan_retry(void *eloop_data, void *user_data)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/acs.c:1524,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/acs.c:1527,1
    - Dst: hostapd_drv_do_acs
      Src: /src/hostap/src/ap/acs.c:1529,1
    - Dst: acs_cleanup
      Src: /src/hostap/src/ap/acs.c:1543,1
    - Dst: acs_request_scan
      Src: /src/hostap/src/ap/acs.c:1545,1
    - Dst: hostapd_set_state
      Src: /src/hostap/src/ap/acs.c:1548,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/acs.c:1549,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1552
      start: 1520
    functionDepth: 4
    functionLinenumber: 1520
    functionLinenumberEnd: 1552
    functionName: acs_init
    functionSourceFile: /src/hostap/src/ap/acs.c
    functionUses: 0
    functionsReached:
    - hostapd_set_state
    - wpa_printf
    - wpa_msg
    - hostapd_drv_do_acs
    - acs_cleanup
    - acs_request_scan
    linkageType: ''
    returnType: enum hostapd_chan_status
    signature: enum hostapd_chan_status acs_init(struct hostapd_iface *iface)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - hapd
    - sta
    - elems
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - struct ieee802_11_elems*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: mbo_ap_check_sta_assoc
    functionSourceFile: /src/hostap/src/ap/mbo_ap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void mbo_ap_check_sta_assoc(struct hostapd_data *hapd,\n\t\t\t\t\t
      \ struct sta_info *sta,\n\t\t\t\t\t  struct ieee802_11_elems *elems)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sta
    - buf
    - buflen
    argTypes:
    - struct sta_info*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: mbo_ap_get_info
    functionSourceFile: /src/hostap/src/ap/mbo_ap.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int mbo_ap_get_info(struct sta_info *sta, char *buf,\n\t\t\t\t  size_t
      buflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - hapd
    - addr
    - buf
    - len
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: mbo_ap_wnm_notification_req
    functionSourceFile: /src/hostap/src/ap/mbo_ap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void mbo_ap_wnm_notification_req(struct hostapd_data *hapd,\n\t\t\t\t\t
      \      const u8 *addr,\n\t\t\t\t\t       const u8 *buf, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sta
    argTypes:
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: mbo_ap_sta_free
    functionSourceFile: /src/hostap/src/ap/mbo_ap.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mbo_ap_sta_free(struct sta_info *sta)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 23
    functionName: ndisc_snoop_init
    functionSourceFile: /src/hostap/src/ap/ndisc_snoop.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ndisc_snoop_init(struct hostapd_data *hapd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: ndisc_snoop_deinit
    functionSourceFile: /src/hostap/src/ap/ndisc_snoop.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ndisc_snoop_deinit(struct hostapd_data *hapd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: sta_ip6addr_del
    functionSourceFile: /src/hostap/src/ap/ndisc_snoop.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void sta_ip6addr_del(struct hostapd_data *hapd,\n\t\t\t\t   struct
      sta_info *sta)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/preauth_auth.c:50,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/preauth_auth.c:53,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/preauth_auth.c:61,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/preauth_auth.c:62,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/preauth_auth.c:63,1
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/preauth_auth.c:67,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/preauth_auth.c:69,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/preauth_auth.c:70,1
    - Dst: ap_sta_add
      Src: /src/hostap/src/ap/preauth_auth.c:74,1
    - Dst: ieee802_1x_new_station
      Src: /src/hostap/src/ap/preauth_auth.c:79,1
    - Dst: ap_free_sta
      Src: /src/hostap/src/ap/preauth_auth.c:81,1
    - Dst: ieee802_1x_receive
      Src: /src/hostap/src/ap/preauth_auth.c:92,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 4
    argNames:
    - ctx
    - src_addr
    - buf
    - len
    argTypes:
    - void*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 94
    functionName: rsn_preauth_receive
    functionSourceFile: /src/hostap/src/ap/preauth_auth.c
    functionUses: 0
    functionsReached:
    - ap_sta_add
    - wpa_printf
    - ap_free_sta
    - ether_addr_equal
    - ieee802_1x_new_station
    - MAC2STR
    - ieee802_1x_receive
    - ap_get_sta
    linkageType: ''
    returnType: void
    signature: "void rsn_preauth_receive(void *ctx, const u8 *src_addr,\n\t\t\t\tconst
      u8 *buf, size_t len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/preauth_auth.c:101,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/preauth_auth.c:103,1
    - Dst: os_strdup
      Src: /src/hostap/src/ap/preauth_auth.c:108,1
    - Dst: l2_packet_init
      Src: /src/hostap/src/ap/preauth_auth.c:113,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/preauth_auth.c:116,1
    - Dst: os_free
      Src: /src/hostap/src/ap/preauth_auth.c:126,1
    - Dst: os_free
      Src: /src/hostap/src/ap/preauth_auth.c:128,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - hapd
    - ifname
    argTypes:
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 130
    functionName: rsn_preauth_iface_add
    functionSourceFile: /src/hostap/src/ap/preauth_auth.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_zalloc
    - os_free
    - l2_packet_init
    - os_strdup
    linkageType: ''
    returnType: int
    signature: int rsn_preauth_iface_add(struct hostapd_data *hapd, const char *ifname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: l2_packet_deinit
      Src: /src/hostap/src/ap/preauth_auth.c:142,1
    - Dst: os_free
      Src: /src/hostap/src/ap/preauth_auth.c:143,1
    - Dst: os_free
      Src: /src/hostap/src/ap/preauth_auth.c:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 146
    functionName: rsn_preauth_iface_deinit
    functionSourceFile: /src/hostap/src/ap/preauth_auth.c
    functionUses: 0
    functionsReached:
    - l2_packet_deinit
    - os_free
    linkageType: ''
    returnType: void
    signature: void rsn_preauth_iface_deinit(struct hostapd_data *hapd)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_strdup
      Src: /src/hostap/src/ap/preauth_auth.c:156,1
    - Dst: os_strchr
      Src: /src/hostap/src/ap/preauth_auth.c:165,1
    - Dst: rsn_preauth_iface_add
      Src: /src/hostap/src/ap/preauth_auth.c:169,1
    - Dst: rsn_preauth_iface_deinit
      Src: /src/hostap/src/ap/preauth_auth.c:170,1
    - Dst: os_free
      Src: /src/hostap/src/ap/preauth_auth.c:171,1
    - Dst: os_free
      Src: /src/hostap/src/ap/preauth_auth.c:180,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 182
    functionName: rsn_preauth_iface_init
    functionSourceFile: /src/hostap/src/ap/preauth_auth.c
    functionUses: 0
    functionsReached:
    - rsn_preauth_iface_add
    - rsn_preauth_iface_deinit
    - os_free
    - os_strchr
    - os_strdup
    linkageType: ''
    returnType: int
    signature: int rsn_preauth_iface_init(struct hostapd_data *hapd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/preauth_auth.c:189,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/preauth_auth.c:190,1
    - Dst: ap_free_sta
      Src: /src/hostap/src/ap/preauth_auth.c:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 192
    functionName: rsn_preauth_finished_cb
    functionSourceFile: /src/hostap/src/ap/preauth_auth.c
    functionUses: 0
    functionsReached:
    - ap_free_sta
    - MAC2STR
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void rsn_preauth_finished_cb(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/preauth_auth.c:200,1
    - Dst: ieee802_1x_get_key
      Src: /src/hostap/src/ap/preauth_auth.c:204,1
    - Dst: wpa_auth_pmksa_add_preauth
      Src: /src/hostap/src/ap/preauth_auth.c:208,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/preauth_auth.c:212,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/preauth_auth.c:216,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/preauth_auth.c:227,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - hapd
    - sta
    - success
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 228
    functionName: rsn_preauth_finished
    functionSourceFile: /src/hostap/src/ap/preauth_auth.c
    functionUses: 0
    functionsReached:
    - wpa_auth_pmksa_add_preauth
    - ieee802_1x_get_key
    - hostapd_logger
    - eloop_register_timeout
    linkageType: ''
    returnType: void
    signature: "void rsn_preauth_finished(struct hostapd_data *hapd, struct sta_info
      *sta,\n\t\t\t  int success)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/preauth_auth.c:245,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/preauth_auth.c:246,1
    - Dst: os_malloc
      Src: /src/hostap/src/ap/preauth_auth.c:250,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/preauth_auth.c:254,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/preauth_auth.c:255,1
    - Dst: host_to_be16
      Src: /src/hostap/src/ap/preauth_auth.c:256,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/preauth_auth.c:257,1
    - Dst: l2_packet_send
      Src: /src/hostap/src/ap/preauth_auth.c:259,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/preauth_auth.c:261,1
    - Dst: os_free
      Src: /src/hostap/src/ap/preauth_auth.c:264,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 4
    argNames:
    - hapd
    - sta
    - buf
    - len
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 265
    functionName: rsn_preauth_send
    functionSourceFile: /src/hostap/src/ap/preauth_auth.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - host_to_be16
    - os_malloc
    - MAC2STR
    - l2_packet_send
    - os_free
    linkageType: ''
    returnType: void
    signature: "void rsn_preauth_send(struct hostapd_data *hapd, struct sta_info *sta,\n\t\t
      \     u8 *buf, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/preauth_auth.c:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 271
    functionName: rsn_preauth_free_station
    functionSourceFile: /src/hostap/src/ap/preauth_auth.c
    functionUses: 0
    functionsReached:
    - eloop_cancel_timeout
    linkageType: ''
    returnType: void
    signature: void rsn_preauth_free_station(struct hostapd_data *hapd, struct sta_info
      *sta)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/ap/neighbor_db.c:25,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/neighbor_db.c:27,1
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/neighbor_db.c:30,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - hapd
    - bssid
    - ssid
    argTypes:
    - struct hostapd_data*
    - u8*
    - struct wpa_ssid_value*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 35
    functionName: hostapd_neighbor_get
    functionSourceFile: /src/hostap/src/ap/neighbor_db.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    - ether_addr_equal
    - os_memcmp
    linkageType: ''
    returnType: struct hostapd_neighbor_entry
    signature: "struct hostapd_neighbor_entry *\nhostapd_neighbor_get(struct hostapd_data
      *hapd, const u8 *bssid,\n\t\t     const struct wpa_ssid_value *ssid)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/ap/neighbor_db.c:46,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/ap/neighbor_db.c:55,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/ap/neighbor_db.c:60,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/neighbor_db.c:61,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/neighbor_db.c:62,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/ap/neighbor_db.c:66,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/neighbor_db.c:67,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/neighbor_db.c:68,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/ap/neighbor_db.c:72,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/neighbor_db.c:73,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/neighbor_db.c:74,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/neighbor_db.c:76,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/neighbor_db.c:78,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/neighbor_db.c:83,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - hapd
    - buf
    - buflen
    argTypes:
    - struct hostapd_data*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 89
    functionName: hostapd_neighbor_show
    functionSourceFile: /src/hostap/src/ap/neighbor_db.c
    functionUses: 1
    functionsReached:
    - wpa_snprintf_hex
    - wpabuf_len
    - wpabuf_head
    - dl_list_for_each
    - os_snprintf
    - MAC2STR
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: int hostapd_neighbor_show(struct hostapd_data *hapd, char *buf, size_t
      buflen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/neighbor_db.c:94,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/neighbor_db.c:96,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/neighbor_db.c:98,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/neighbor_db.c:100,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/neighbor_db.c:101,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/neighbor_db.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - nr
    argTypes:
    - struct hostapd_neighbor_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 106
    functionName: hostapd_neighbor_clear_entry
    functionSourceFile: /src/hostap/src/ap/neighbor_db.c
    functionUses: 0
    functionsReached:
    - wpabuf_free
    - os_memset
    linkageType: ''
    returnType: void
    signature: void hostapd_neighbor_clear_entry(struct hostapd_neighbor_entry *nr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/neighbor_db.c:114,1
    - Dst: dl_list_add
      Src: /src/hostap/src/ap/neighbor_db.c:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 121
    functionName: hostapd_neighbor_add
    functionSourceFile: /src/hostap/src/ap/neighbor_db.c
    functionUses: 0
    functionsReached:
    - os_zalloc
    - dl_list_add
    linkageType: ''
    returnType: struct hostapd_neighbor_entry
    signature: 'struct hostapd_neighbor_entry *

      hostapd_neighbor_add(struct hostapd_data *hapd)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_neighbor_get
      Src: /src/hostap/src/ap/neighbor_db.c:132,1
    - Dst: hostapd_neighbor_add
      Src: /src/hostap/src/ap/neighbor_db.c:134,1
    - Dst: hostapd_neighbor_clear_entry
      Src: /src/hostap/src/ap/neighbor_db.c:138,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/neighbor_db.c:140,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/neighbor_db.c:141,1
    - Dst: ieee80211_crc32
      Src: /src/hostap/src/ap/neighbor_db.c:142,1
    - Dst: wpabuf_dup
      Src: /src/hostap/src/ap/neighbor_db.c:144,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/neighbor_db.c:148,1
    - Dst: wpabuf_dup
      Src: /src/hostap/src/ap/neighbor_db.c:149,1
    - Dst: os_get_time
      Src: /src/hostap/src/ap/neighbor_db.c:150,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/neighbor_db.c:154,1
    - Dst: wpabuf_dup
      Src: /src/hostap/src/ap/neighbor_db.c:155,1
    - Dst: hostapd_neighbor_remove
      Src: /src/hostap/src/ap/neighbor_db.c:166,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 8
    argNames:
    - hapd
    - bssid
    - ssid
    - nr
    - lci
    - civic
    - stationary
    - bss_parameters
    argTypes:
    - struct hostapd_data*
    - u8*
    - struct wpa_ssid_value*
    - struct wpabuf*
    - struct wpabuf*
    - struct wpabuf*
    - int
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 168
    functionName: hostapd_neighbor_set
    functionSourceFile: /src/hostap/src/ap/neighbor_db.c
    functionUses: 1
    functionsReached:
    - wpabuf_dup
    - os_memcpy
    - hostapd_neighbor_get
    - hostapd_neighbor_add
    - wpabuf_len
    - os_get_time
    - hostapd_neighbor_clear_entry
    - hostapd_neighbor_remove
    - ieee80211_crc32
    linkageType: ''
    returnType: int
    signature: "int hostapd_neighbor_set(struct hostapd_data *hapd, const u8 *bssid,\n\t\t\t
      const struct wpa_ssid_value *ssid,\n\t\t\t const struct wpabuf *nr, const struct
      wpabuf *lci,\n\t\t\t const struct wpabuf *civic, int stationary,\n\t\t\t u8
      bss_parameters)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_neighbor_clear_entry
      Src: /src/hostap/src/ap/neighbor_db.c:173,1
    - Dst: dl_list_del
      Src: /src/hostap/src/ap/neighbor_db.c:174,1
    - Dst: os_free
      Src: /src/hostap/src/ap/neighbor_db.c:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - nr
    argTypes:
    - struct hostapd_neighbor_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 176
    functionName: hostapd_neighbor_free
    functionSourceFile: /src/hostap/src/ap/neighbor_db.c
    functionUses: 0
    functionsReached:
    - os_free
    - dl_list_del
    - hostapd_neighbor_clear_entry
    linkageType: ''
    returnType: void
    signature: void hostapd_neighbor_free(struct hostapd_neighbor_entry *nr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_neighbor_get
      Src: /src/hostap/src/ap/neighbor_db.c:184,1
    - Dst: hostapd_neighbor_free
      Src: /src/hostap/src/ap/neighbor_db.c:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - hapd
    - bssid
    - ssid
    argTypes:
    - struct hostapd_data*
    - u8*
    - struct wpa_ssid_value*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 179
    functionDepth: 3
    functionLinenumber: 179
    functionLinenumberEnd: 191
    functionName: hostapd_neighbor_remove
    functionSourceFile: /src/hostap/src/ap/neighbor_db.c
    functionUses: 2
    functionsReached:
    - hostapd_neighbor_get
    - hostapd_neighbor_free
    linkageType: ''
    returnType: int
    signature: "int hostapd_neighbor_remove(struct hostapd_data *hapd, const u8 *bssid,\n\t\t\t
      \   const struct wpa_ssid_value *ssid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/ap/neighbor_db.c:198,1
    - Dst: hostapd_neighbor_free
      Src: /src/hostap/src/ap/neighbor_db.c:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 194
    functionDepth: 3
    functionLinenumber: 194
    functionLinenumberEnd: 202
    functionName: hostapd_free_neighbor_db
    functionSourceFile: /src/hostap/src/ap/neighbor_db.c
    functionUses: 0
    functionsReached:
    - hostapd_neighbor_free
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: void hostapd_free_neighbor_db(struct hostapd_data *hapd)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 6
    argNames:
    - hapd
    - ht
    - vht
    - he
    - oper_chwidth
    - secondary_channel
    argTypes:
    - struct hostapd_data*
    - int
    - int
    - int
    - enum oper_chan_width
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 225
    functionName: hostapd_get_nr_chan_width
    functionSourceFile: /src/hostap/src/ap/neighbor_db.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum nr_chan_width
    signature: "enum nr_chan_width hostapd_get_nr_chan_width(struct hostapd_data *hapd,\n\t\t\t
      \ int ht, int vht, int he,\n\t\t\t  enum oper_chan_width oper_chwidth,\n\t\t\t
      \ int secondary_channel)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_own_capab_info
      Src: /src/hostap/src/ap/neighbor_db.c:232,1
    - Dst: hostapd_is_ht_enabled
      Src: /src/hostap/src/ap/neighbor_db.c:233,1
    - Dst: hostapd_is_vht_enabled
      Src: /src/hostap/src/ap/neighbor_db.c:234,1
    - Dst: hostapd_is_he_enabled
      Src: /src/hostap/src/ap/neighbor_db.c:235,1
    - Dst: hostapd_is_eht_enabled
      Src: /src/hostap/src/ap/neighbor_db.c:236,1
    - Dst: hostapd_get_oper_chan_info_of_bss
      Src: /src/hostap/src/ap/neighbor_db.c:279,1
    - Dst: ieee80211_freq_to_channel_ext
      Src: /src/hostap/src/ap/neighbor_db.c:287,1
    - Dst: hostapd_get_nr_chan_width
      Src: /src/hostap/src/ap/neighbor_db.c:293,1
    - Dst: ieee80211_freq_to_chan
      Src: /src/hostap/src/ap/neighbor_db.c:301,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/neighbor_db.c:307,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/ap/neighbor_db.c:313,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/ap/neighbor_db.c:317,1
    - Dst: wpabuf_put_le32
      Src: /src/hostap/src/ap/neighbor_db.c:318,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/neighbor_db.c:319,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/neighbor_db.c:320,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/neighbor_db.c:321,1
    - Dst: ieee80211_get_phy_type
      Src: /src/hostap/src/ap/neighbor_db.c:321,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/neighbor_db.c:329,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/neighbor_db.c:330,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/neighbor_db.c:331,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/neighbor_db.c:332,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/neighbor_db.c:333,1
    - Dst: hostapd_neighbor_set
      Src: /src/hostap/src/ap/neighbor_db.c:335,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/neighbor_db.c:338,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 53
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 229
    functionDepth: 3
    functionLinenumber: 229
    functionLinenumberEnd: 340
    functionName: hostapd_neighbor_set_own_report
    functionSourceFile: /src/hostap/src/ap/neighbor_db.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - hostapd_get_nr_chan_width
    - wpabuf_put_le32
    - hostapd_neighbor_set
    - wpabuf_put_data
    - wpabuf_put_u8
    - hostapd_is_vht_enabled
    - hostapd_is_ht_enabled
    - wpabuf_free
    - hostapd_is_eht_enabled
    - wpabuf_alloc
    - ieee80211_freq_to_channel_ext
    - hostapd_own_capab_info
    - ieee80211_get_phy_type
    - hostapd_get_oper_chan_info_of_bss
    - ieee80211_freq_to_chan
    - hostapd_is_he_enabled
    linkageType: ''
    returnType: void
    signature: void hostapd_neighbor_set_own_report(struct hostapd_data *hapd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/ap/neighbor_db.c:348,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/neighbor_db.c:350,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - hapd
    - bssid
    argTypes:
    - struct hostapd_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 355
    functionName: hostapd_neighbor_get_diff_short_ssid
    functionSourceFile: /src/hostap/src/ap/neighbor_db.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    - ether_addr_equal
    linkageType: ''
    returnType: struct hostapd_neighbor_entry
    signature: 'struct hostapd_neighbor_entry *

      hostapd_neighbor_get_diff_short_ssid(struct hostapd_data *hapd, const u8 *bssid)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_neighbor_get_diff_short_ssid
      Src: /src/hostap/src/ap/neighbor_db.c:362,1
    - Dst: hostapd_neighbor_free
      Src: /src/hostap/src/ap/neighbor_db.c:367,1
    - Dst: hostapd_neighbor_set_own_report
      Src: /src/hostap/src/ap/neighbor_db.c:369,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 358
    functionDepth: 4
    functionLinenumber: 358
    functionLinenumberEnd: 372
    functionName: hostapd_neighbor_sync_own_report
    functionSourceFile: /src/hostap/src/ap/neighbor_db.c
    functionUses: 1
    functionsReached:
    - hostapd_neighbor_set_own_report
    - hostapd_neighbor_get_diff_short_ssid
    - hostapd_neighbor_free
    linkageType: ''
    returnType: int
    signature: int hostapd_neighbor_sync_own_report(struct hostapd_data *hapd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_get_hw_features
      Src: /src/hostap/src/ap/afc.c:33,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/afc.c:35,1
    - Dst: hostapd_set_current_hw_info
      Src: /src/hostap/src/ap/afc.c:39,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/afc.c:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 45
    functionName: hostapd_afc_reset_channels
    functionSourceFile: /src/hostap/src/ap/afc.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hostapd_get_hw_features
    - hostapd_set_current_hw_info
    linkageType: ''
    returnType: int
    signature: int hostapd_afc_reset_channels(struct hostapd_iface *iface)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: he_reg_is_indoor
      Src: /src/hostap/src/ap/afc.c:53,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/ap/afc.c:57,1
    - Dst: json_start_object
      Src: /src/hostap/src/ap/afc.c:61,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/ap/afc.c:69,1
    - Dst: json_start_object
      Src: /src/hostap/src/ap/afc.c:73,1
    - Dst: json_add_double
      Src: /src/hostap/src/ap/afc.c:75,1
    - Dst: json_value_sep
      Src: /src/hostap/src/ap/afc.c:76,1
    - Dst: json_add_double
      Src: /src/hostap/src/ap/afc.c:78,1
    - Dst: json_end_object
      Src: /src/hostap/src/ap/afc.c:79,1
    - Dst: json_value_sep
      Src: /src/hostap/src/ap/afc.c:80,1
    - Dst: json_start_object
      Src: /src/hostap/src/ap/afc.c:85,1
    - Dst: json_start_array
      Src: /src/hostap/src/ap/afc.c:86,1
    - Dst: json_start_object
      Src: /src/hostap/src/ap/afc.c:92,1
    - Dst: json_add_double
      Src: /src/hostap/src/ap/afc.c:94,1
    - Dst: json_value_sep
      Src: /src/hostap/src/ap/afc.c:96,1
    - Dst: json_add_double
      Src: /src/hostap/src/ap/afc.c:98,1
    - Dst: json_end_object
      Src: /src/hostap/src/ap/afc.c:101,1
    - Dst: json_value_sep
      Src: /src/hostap/src/ap/afc.c:103,1
    - Dst: json_end_array
      Src: /src/hostap/src/ap/afc.c:105,1
    - Dst: json_end_object
      Src: /src/hostap/src/ap/afc.c:108,1
    - Dst: json_value_sep
      Src: /src/hostap/src/ap/afc.c:109,1
    - Dst: json_start_object
      Src: /src/hostap/src/ap/afc.c:112,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/ap/afc.c:113,1
    - Dst: json_start_array
      Src: /src/hostap/src/ap/afc.c:115,1
    - Dst: json_start_object
      Src: /src/hostap/src/ap/afc.c:121,1
    - Dst: json_add_double
      Src: /src/hostap/src/ap/afc.c:122,1
    - Dst: json_value_sep
      Src: /src/hostap/src/ap/afc.c:123,1
    - Dst: json_add_double
      Src: /src/hostap/src/ap/afc.c:125,1
    - Dst: json_end_object
      Src: /src/hostap/src/ap/afc.c:126,1
    - Dst: json_value_sep
      Src: /src/hostap/src/ap/afc.c:128,1
    - Dst: json_end_array
      Src: /src/hostap/src/ap/afc.c:130,1
    - Dst: json_end_object
      Src: /src/hostap/src/ap/afc.c:133,1
    - Dst: json_value_sep
      Src: /src/hostap/src/ap/afc.c:134,1
    - Dst: json_start_object
      Src: /src/hostap/src/ap/afc.c:138,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/ap/afc.c:139,1
    - Dst: json_add_int
      Src: /src/hostap/src/ap/afc.c:141,1
    - Dst: json_value_sep
      Src: /src/hostap/src/ap/afc.c:143,1
    - Dst: json_add_int
      Src: /src/hostap/src/ap/afc.c:144,1
    - Dst: json_value_sep
      Src: /src/hostap/src/ap/afc.c:146,1
    - Dst: json_add_int
      Src: /src/hostap/src/ap/afc.c:147,1
    - Dst: json_end_object
      Src: /src/hostap/src/ap/afc.c:150,1
    - Dst: json_value_sep
      Src: /src/hostap/src/ap/afc.c:151,1
    - Dst: json_start_object
      Src: /src/hostap/src/ap/afc.c:155,1
    - Dst: json_add_double
      Src: /src/hostap/src/ap/afc.c:157,1
    - Dst: json_value_sep
      Src: /src/hostap/src/ap/afc.c:158,1
    - Dst: json_add_string
      Src: /src/hostap/src/ap/afc.c:160,1
    - Dst: json_value_sep
      Src: /src/hostap/src/ap/afc.c:162,1
    - Dst: json_add_int
      Src: /src/hostap/src/ap/afc.c:164,1
    - Dst: json_end_object
      Src: /src/hostap/src/ap/afc.c:168,1
    - Dst: json_value_sep
      Src: /src/hostap/src/ap/afc.c:169,1
    - Dst: json_add_int
      Src: /src/hostap/src/ap/afc.c:171,1
    - Dst: json_end_object
      Src: /src/hostap/src/ap/afc.c:174,1
    - Dst: json_value_sep
      Src: /src/hostap/src/ap/afc.c:175,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/afc.c:177,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/afc.c:181,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/afc.c:182,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 87
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 185
    functionName: hostapd_afc_build_location_request
    functionSourceFile: /src/hostap/src/ap/afc.c
    functionUses: 0
    functionsReached:
    - json_end_array
    - json_value_sep
    - json_end_object
    - json_start_array
    - he_reg_is_indoor
    - wpabuf_free
    - wpabuf_alloc
    - wpabuf_put_buf
    - json_add_string
    - json_start_object
    - json_add_double
    - json_add_int
    linkageType: ''
    returnType: struct wpabuf
    signature: 'struct wpabuf *

      hostapd_afc_build_location_request(struct hostapd_iface *iface)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: get_oper_class
      Src: /src/hostap/src/ap/afc.c:195,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/ap/afc.c:199,1
    - Dst: json_start_array
      Src: /src/hostap/src/ap/afc.c:202,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/afc.c:231,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/ap/afc.c:234,1
    - Dst: json_end_array
      Src: /src/hostap/src/ap/afc.c:236,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 1
    argNames:
    - op_class
    argTypes:
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 239
    functionName: hostapd_afc_get_opclass_chan_list
    functionSourceFile: /src/hostap/src/ap/afc.c
    functionUses: 0
    functionsReached:
    - json_end_array
    - json_start_array
    - wpabuf_put_str
    - get_oper_class
    - os_snprintf
    - wpabuf_alloc
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * hostapd_afc_get_opclass_chan_list(u8 op_class)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/ap/afc.c:249,1
    - Dst: json_start_array
      Src: /src/hostap/src/ap/afc.c:253,1
    - Dst: int_array_len
      Src: /src/hostap/src/ap/afc.c:254,1
    - Dst: is_6ghz_op_class
      Src: /src/hostap/src/ap/afc.c:259,1
    - Dst: json_start_object
      Src: /src/hostap/src/ap/afc.c:262,1
    - Dst: json_add_int
      Src: /src/hostap/src/ap/afc.c:264,1
    - Dst: json_value_sep
      Src: /src/hostap/src/ap/afc.c:266,1
    - Dst: hostapd_afc_get_opclass_chan_list
      Src: /src/hostap/src/ap/afc.c:268,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/ap/afc.c:272,1
    - Dst: json_end_object
      Src: /src/hostap/src/ap/afc.c:273,1
    - Dst: json_value_sep
      Src: /src/hostap/src/ap/afc.c:276,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/afc.c:278,1
    - Dst: json_end_array
      Src: /src/hostap/src/ap/afc.c:281,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/afc.c:286,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 288
    functionName: hostapd_afc_build_req_chan_list
    functionSourceFile: /src/hostap/src/ap/afc.c
    functionUses: 0
    functionsReached:
    - hostapd_afc_get_opclass_chan_list
    - json_end_array
    - json_value_sep
    - json_end_object
    - json_start_array
    - is_6ghz_op_class
    - wpabuf_free
    - wpabuf_alloc
    - int_array_len
    - wpabuf_put_buf
    - json_start_object
    - json_add_int
    linkageType: ''
    returnType: struct wpabuf
    signature: 'struct wpabuf *

      hostapd_afc_build_req_chan_list(struct hostapd_iface *iface)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/ap/afc.c:299,1
    - Dst: json_start_object
      Src: /src/hostap/src/ap/afc.c:303,1
    - Dst: json_add_string
      Src: /src/hostap/src/ap/afc.c:306,1
    - Dst: json_value_sep
      Src: /src/hostap/src/ap/afc.c:307,1
    - Dst: json_start_array
      Src: /src/hostap/src/ap/afc.c:310,1
    - Dst: json_start_object
      Src: /src/hostap/src/ap/afc.c:311,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/afc.c:314,1
    - Dst: json_add_string
      Src: /src/hostap/src/ap/afc.c:316,1
    - Dst: json_value_sep
      Src: /src/hostap/src/ap/afc.c:317,1
    - Dst: json_start_object
      Src: /src/hostap/src/ap/afc.c:319,1
    - Dst: json_add_string
      Src: /src/hostap/src/ap/afc.c:321,1
    - Dst: json_value_sep
      Src: /src/hostap/src/ap/afc.c:322,1
    - Dst: json_start_array
      Src: /src/hostap/src/ap/afc.c:325,1
    - Dst: json_start_object
      Src: /src/hostap/src/ap/afc.c:328,1
    - Dst: json_add_string
      Src: /src/hostap/src/ap/afc.c:329,1
    - Dst: json_value_sep
      Src: /src/hostap/src/ap/afc.c:331,1
    - Dst: json_add_string
      Src: /src/hostap/src/ap/afc.c:333,1
    - Dst: json_end_object
      Src: /src/hostap/src/ap/afc.c:334,1
    - Dst: json_value_sep
      Src: /src/hostap/src/ap/afc.c:337,1
    - Dst: json_end_array
      Src: /src/hostap/src/ap/afc.c:340,1
    - Dst: json_end_object
      Src: /src/hostap/src/ap/afc.c:343,1
    - Dst: json_value_sep
      Src: /src/hostap/src/ap/afc.c:344,1
    - Dst: hostapd_afc_build_location_request
      Src: /src/hostap/src/ap/afc.c:346,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/ap/afc.c:350,1
    - Dst: json_start_array
      Src: /src/hostap/src/ap/afc.c:353,1
    - Dst: json_start_object
      Src: /src/hostap/src/ap/afc.c:357,1
    - Dst: json_add_int
      Src: /src/hostap/src/ap/afc.c:359,1
    - Dst: json_value_sep
      Src: /src/hostap/src/ap/afc.c:360,1
    - Dst: json_add_int
      Src: /src/hostap/src/ap/afc.c:361,1
    - Dst: json_end_object
      Src: /src/hostap/src/ap/afc.c:363,1
    - Dst: json_value_sep
      Src: /src/hostap/src/ap/afc.c:365,1
    - Dst: json_end_array
      Src: /src/hostap/src/ap/afc.c:367,1
    - Dst: json_value_sep
      Src: /src/hostap/src/ap/afc.c:368,1
    - Dst: hostapd_afc_build_req_chan_list
      Src: /src/hostap/src/ap/afc.c:371,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/ap/afc.c:375,1
    - Dst: json_value_sep
      Src: /src/hostap/src/ap/afc.c:378,1
    - Dst: json_add_int
      Src: /src/hostap/src/ap/afc.c:379,1
    - Dst: json_end_object
      Src: /src/hostap/src/ap/afc.c:383,1
    - Dst: json_end_array
      Src: /src/hostap/src/ap/afc.c:384,1
    - Dst: json_end_object
      Src: /src/hostap/src/ap/afc.c:386,1
    - Dst: wpa_hexdump_ascii_buf
      Src: /src/hostap/src/ap/afc.c:387,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/afc.c:389,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/afc.c:390,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/afc.c:395,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/afc.c:396,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/afc.c:397,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 74
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 291
    functionDepth: 3
    functionLinenumber: 291
    functionLinenumberEnd: 400
    functionName: hostapd_afc_build_request
    functionSourceFile: /src/hostap/src/ap/afc.c
    functionUses: 0
    functionsReached:
    - json_end_array
    - json_value_sep
    - json_end_object
    - hostapd_afc_build_location_request
    - json_start_array
    - wpabuf_free
    - os_snprintf
    - wpabuf_alloc
    - json_add_string
    - wpabuf_put_buf
    - json_start_object
    - wpa_hexdump_ascii_buf
    - hostapd_afc_build_req_chan_list
    - json_add_int
    linkageType: ''
    returnType: struct wpabuf
    signature: 'struct wpabuf *

      hostapd_afc_build_request(struct hostapd_iface *iface)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: json_get_member
      Src: /src/hostap/src/ap/afc.c:417,1
    - Dst: json_get_member
      Src: /src/hostap/src/ap/afc.c:421,1
    - Dst: json_get_member
      Src: /src/hostap/src/ap/afc.c:426,1
    - Dst: json_get_member
      Src: /src/hostap/src/ap/afc.c:431,1
    - Dst: json_get_member
      Src: /src/hostap/src/ap/afc.c:433,1
    - Dst: os_realloc_array
      Src: /src/hostap/src/ap/afc.c:440,1
    - Dst: os_free
      Src: /src/hostap/src/ap/afc.c:442,1
    - Dst: os_free
      Src: /src/hostap/src/ap/afc.c:451,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 33
    argCount: 2
    argNames:
    - iface
    - freq_info
    argTypes:
    - struct hostapd_iface*
    - struct json_token*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 456
    functionName: hostad_afc_parse_available_freq_info
    functionSourceFile: /src/hostap/src/ap/afc.c
    functionUses: 0
    functionsReached:
    - os_free
    - os_realloc_array
    - json_get_member
    linkageType: ''
    returnType: int
    signature: "int hostad_afc_parse_available_freq_info(struct hostapd_iface *iface,\n\t\t\t\t
      \    struct json_token *freq_info)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: os_realloc_array
      Src: /src/hostap/src/ap/afc.c:500,1
    - Dst: os_free
      Src: /src/hostap/src/ap/afc.c:502,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/afc.c:510,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 5
    argNames:
    - chan_list
    - chan_list_size
    - op_class
    - center_chan
    - power
    argTypes:
    - struct afc_chan_info_elem**
    - int*
    - u8
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 459
    functionDepth: 1
    functionLinenumber: 459
    functionLinenumberEnd: 520
    functionName: hostad_afc_update_chan_info
    functionSourceFile: /src/hostap/src/ap/afc.c
    functionUses: 0
    functionsReached:
    - os_free
    - os_memset
    - os_realloc_array
    linkageType: ''
    returnType: int
    signature: "int hostad_afc_update_chan_info(struct afc_chan_info_elem **chan_list,\n\t\t\t\t
      \      int *chan_list_size, u8 op_class,\n\t\t\t\t       int center_chan, double
      power)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: json_get_member
      Src: /src/hostap/src/ap/afc.c:537,1
    - Dst: json_get_member
      Src: /src/hostap/src/ap/afc.c:542,1
    - Dst: json_get_member
      Src: /src/hostap/src/ap/afc.c:546,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/afc.c:559,1
    - Dst: hostad_afc_update_chan_info
      Src: /src/hostap/src/ap/afc.c:569,1
    - Dst: os_free
      Src: /src/hostap/src/ap/afc.c:580,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 35
    argCount: 2
    argNames:
    - iface
    - chan_info
    argTypes:
    - struct hostapd_iface*
    - struct json_token*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 523
    functionDepth: 2
    functionLinenumber: 523
    functionLinenumberEnd: 585
    functionName: hostad_afc_parse_available_chan_info
    functionSourceFile: /src/hostap/src/ap/afc.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpa_printf
    - hostad_afc_update_chan_info
    - json_get_member
    linkageType: ''
    returnType: int
    signature: "int hostad_afc_parse_available_chan_info(struct hostapd_iface *iface,\n\t\t\t\t
      \    struct json_token *chan_info)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/hostap/src/ap/afc.c:594,1
    - Dst: os_mktime
      Src: /src/hostap/src/ap/afc.c:598,1
    - Dst: os_get_time
      Src: /src/hostap/src/ap/afc.c:601,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct json_token*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 605
    functionName: hostad_afc_get_timeout
    functionSourceFile: /src/hostap/src/ap/afc.c
    functionUses: 0
    functionsReached:
    - sscanf
    - os_mktime
    - os_get_time
    linkageType: ''
    returnType: int
    signature: int hostad_afc_get_timeout(struct json_token *obj)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/ap/afc.c:615,1
    - Dst: os_malloc
      Src: /src/hostap/src/ap/afc.c:617,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/afc.c:619,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/afc.c:623,1
    - Dst: json_parse
      Src: /src/hostap/src/ap/afc.c:626,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/afc.c:628,1
    - Dst: json_get_member
      Src: /src/hostap/src/ap/afc.c:632,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/afc.c:634,1
    - Dst: os_strcmp
      Src: /src/hostap/src/ap/afc.c:638,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/afc.c:639,1
    - Dst: json_get_member
      Src: /src/hostap/src/ap/afc.c:643,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/afc.c:645,1
    - Dst: json_get_member
      Src: /src/hostap/src/ap/afc.c:656,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/afc.c:658,1
    - Dst: snprintf
      Src: /src/hostap/src/ap/afc.c:663,1
    - Dst: os_strcmp
      Src: /src/hostap/src/ap/afc.c:665,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/afc.c:666,1
    - Dst: json_get_member
      Src: /src/hostap/src/ap/afc.c:671,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/afc.c:673,1
    - Dst: os_strcmp
      Src: /src/hostap/src/ap/afc.c:679,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/afc.c:685,1
    - Dst: json_get_member
      Src: /src/hostap/src/ap/afc.c:690,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/afc.c:692,1
    - Dst: json_get_member
      Src: /src/hostap/src/ap/afc.c:697,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/afc.c:699,1
    - Dst: json_get_member
      Src: /src/hostap/src/ap/afc.c:702,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/afc.c:707,1
    - Dst: json_get_member
      Src: /src/hostap/src/ap/afc.c:712,1
    - Dst: hostad_afc_parse_available_freq_info
      Src: /src/hostap/src/ap/afc.c:714,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/afc.c:715,1
    - Dst: json_get_member
      Src: /src/hostap/src/ap/afc.c:720,1
    - Dst: hostad_afc_parse_available_chan_info
      Src: /src/hostap/src/ap/afc.c:722,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/afc.c:723,1
    - Dst: json_get_member
      Src: /src/hostap/src/ap/afc.c:728,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/afc.c:730,1
    - Dst: hostad_afc_get_timeout
      Src: /src/hostap/src/ap/afc.c:735,1
    - Dst: json_free
      Src: /src/hostap/src/ap/afc.c:748,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 99
    argCount: 3
    argNames:
    - iface
    - reply
    - len
    argTypes:
    - struct hostapd_iface*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 608
    functionDepth: 3
    functionLinenumber: 608
    functionLinenumberEnd: 750
    functionName: hostapd_afc_parse_reply
    functionSourceFile: /src/hostap/src/ap/afc.c
    functionUses: 0
    functionsReached:
    - json_parse
    - os_memcpy
    - wpa_printf
    - snprintf
    - hostad_afc_get_timeout
    - os_malloc
    - hostad_afc_parse_available_freq_info
    - os_strcmp
    - hostad_afc_parse_available_chan_info
    - wpa_hexdump_ascii
    - json_free
    - json_get_member
    linkageType: ''
    returnType: int
    signature: int hostapd_afc_parse_reply(struct hostapd_iface *iface, char *reply,
      size_t len)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/afc.c:777,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/afc.c:781,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/afc.c:782,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/ap/afc.c:787,1
    - Dst: socket
      Src: /src/hostap/src/ap/afc.c:788,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/afc.c:790,1
    - Dst: connect
      Src: /src/hostap/src/ap/afc.c:794,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/afc.c:795,1
    - Dst: hostapd_afc_build_request
      Src: /src/hostap/src/ap/afc.c:800,1
    - Dst: send
      Src: /src/hostap/src/ap/afc.c:806,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/afc.c:806,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/afc.c:806,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/afc.c:808,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/afc.c:809,1
    - Dst: FD_ZERO
      Src: /src/hostap/src/ap/afc.c:814,1
    - Dst: FD_SET
      Src: /src/hostap/src/ap/afc.c:815,1
    - Dst: select
      Src: /src/hostap/src/ap/afc.c:816,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/afc.c:817,1
    - Dst: FD_ISSET
      Src: /src/hostap/src/ap/afc.c:822,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/afc.c:827,1
    - Dst: recv
      Src: /src/hostap/src/ap/afc.c:833,1
    - Dst: hostapd_afc_parse_reply
      Src: /src/hostap/src/ap/afc.c:839,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/afc.c:841,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/afc.c:844,1
    - Dst: os_free
      Src: /src/hostap/src/ap/afc.c:846,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/afc.c:847,1
    - Dst: close
      Src: /src/hostap/src/ap/afc.c:849,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 77
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 753
    functionDepth: 4
    functionLinenumber: 753
    functionLinenumberEnd: 852
    functionName: hostapd_afc_send_receive
    functionSourceFile: /src/hostap/src/ap/afc.c
    functionUses: 0
    functionsReached:
    - send
    - os_strlcpy
    - FD_SET
    - os_strlen
    - wpa_printf
    - select
    - FD_ZERO
    - connect
    - recv
    - os_free
    - wpabuf_len
    - FD_ISSET
    - hostapd_afc_parse_reply
    - wpabuf_head
    - wpa_msg
    - hostapd_afc_build_request
    - socket
    - wpabuf_free
    - os_zalloc
    - close
    linkageType: ''
    returnType: int
    signature: int hostapd_afc_send_receive(struct hostapd_iface *iface)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: get_oper_class
      Src: /src/hostap/src/ap/afc.c:860,1
    - Dst: hw_get_channel_chan
      Src: /src/hostap/src/ap/afc.c:892,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 904
      start: 855
    functionDepth: 1
    functionLinenumber: 855
    functionLinenumberEnd: 904
    functionName: hostapd_afc_has_usable_chans
    functionSourceFile: /src/hostap/src/ap/afc.c
    functionUses: 0
    functionsReached:
    - get_oper_class
    - hw_get_channel_chan
    linkageType: ''
    returnType: bool
    signature: bool hostapd_afc_has_usable_chans(struct hostapd_iface *iface)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: he_reg_is_sp
      Src: /src/hostap/src/ap/afc.c:913,1
    - Dst: is_6ghz_op_class
      Src: /src/hostap/src/ap/afc.c:916,1
    - Dst: is_6ghz_freq
      Src: /src/hostap/src/ap/afc.c:916,1
    - Dst: os_random
      Src: /src/hostap/src/ap/afc.c:922,1
    - Dst: hostapd_afc_send_receive
      Src: /src/hostap/src/ap/afc.c:923,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/afc.c:929,1
    - Dst: hostap_afc_disable_channels
      Src: /src/hostap/src/ap/afc.c:935,1
    - Dst: hostapd_afc_has_usable_chans
      Src: /src/hostap/src/ap/afc.c:936,1
    - Dst: hostapd_is_usable_chans
      Src: /src/hostap/src/ap/afc.c:939,1
    - Dst: hostapd_set_and_check_bw320_offset
      Src: /src/hostap/src/ap/afc.c:944,1
    - Dst: acs_init
      Src: /src/hostap/src/ap/afc.c:946,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/afc.c:947,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/afc.c:953,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/afc.c:954,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 958
      start: 907
    functionDepth: 5
    functionLinenumber: 907
    functionLinenumberEnd: 958
    functionName: hostapd_afc_handle_request
    functionSourceFile: /src/hostap/src/ap/afc.c
    functionUses: 0
    functionsReached:
    - hostapd_set_and_check_bw320_offset
    - wpa_printf
    - is_6ghz_freq
    - acs_init
    - eloop_cancel_timeout
    - is_6ghz_op_class
    - os_random
    - he_reg_is_sp
    - hostapd_afc_send_receive
    - hostapd_is_usable_chans
    - hostap_afc_disable_channels
    - eloop_register_timeout
    - hostapd_afc_has_usable_chans
    linkageType: ''
    returnType: int
    signature: int hostapd_afc_handle_request(struct hostapd_iface *iface)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/afc.c:963,1
    - Dst: os_free
      Src: /src/hostap/src/ap/afc.c:964,1
    - Dst: os_free
      Src: /src/hostap/src/ap/afc.c:965,1
    - Dst: os_free
      Src: /src/hostap/src/ap/afc.c:966,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 961
    functionDepth: 1
    functionLinenumber: 961
    functionLinenumberEnd: 978
    functionName: hostapd_afc_delete_data_from_server
    functionSourceFile: /src/hostap/src/ap/afc.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpabuf_free
    linkageType: ''
    returnType: void
    signature: void hostapd_afc_delete_data_from_server(struct hostapd_iface *iface)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_afc_delete_data_from_server
      Src: /src/hostap/src/ap/afc.c:986,1
    - Dst: hostapd_afc_send_receive
      Src: /src/hostap/src/ap/afc.c:992,1
    - Dst: hostapd_afc_reset_channels
      Src: /src/hostap/src/ap/afc.c:993,1
    - Dst: hostapd_is_usable_chans
      Src: /src/hostap/src/ap/afc.c:998,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/afc.c:999,1
    - Dst: hostapd_afc_has_usable_chans
      Src: /src/hostap/src/ap/afc.c:1003,1
    - Dst: hostapd_set_and_check_bw320_offset
      Src: /src/hostap/src/ap/afc.c:1008,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/afc.c:1010,1
    - Dst: hostapd_disable_iface
      Src: /src/hostap/src/ap/afc.c:1014,1
    - Dst: hostapd_enable_iface
      Src: /src/hostap/src/ap/afc.c:1016,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/afc.c:1018,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1020
      start: 981
    functionDepth: 5
    functionLinenumber: 981
    functionLinenumberEnd: 1020
    functionName: hostapd_afc_timeout_handler
    functionSourceFile: /src/hostap/src/ap/afc.c
    functionUses: 0
    functionsReached:
    - hostapd_set_and_check_bw320_offset
    - hostapd_afc_delete_data_from_server
    - hostapd_enable_iface
    - wpa_msg
    - hostapd_disable_iface
    - hostapd_afc_reset_channels
    - hostapd_afc_send_receive
    - hostapd_is_usable_chans
    - eloop_register_timeout
    - hostapd_afc_has_usable_chans
    linkageType: ''
    returnType: void
    signature: void hostapd_afc_timeout_handler(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/afc.c:1025,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/afc.c:1026,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 1023
    functionDepth: 0
    functionLinenumber: 1023
    functionLinenumberEnd: 1027
    functionName: hostapd_afc_send_request
    functionSourceFile: /src/hostap/src/ap/afc.c
    functionUses: 1
    functionsReached:
    - eloop_cancel_timeout
    - eloop_register_timeout
    linkageType: ''
    returnType: void
    signature: void hostapd_afc_send_request(struct hostapd_iface *iface)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/afc.c:1032,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1033
      start: 1030
    functionDepth: 0
    functionLinenumber: 1030
    functionLinenumberEnd: 1033
    functionName: hostapd_afc_stop
    functionSourceFile: /src/hostap/src/ap/afc.c
    functionUses: 0
    functionsReached:
    - eloop_cancel_timeout
    linkageType: ''
    returnType: void
    signature: void hostapd_afc_stop(struct hostapd_iface *iface)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: he_reg_is_sp
      Src: /src/hostap/src/ap/afc.c:1049,1
    - Dst: is_6ghz_freq
      Src: /src/hostap/src/ap/afc.c:1057,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/afc.c:1078,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 26
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1036
    functionDepth: 1
    functionLinenumber: 1036
    functionLinenumberEnd: 1082
    functionName: hostap_afc_disable_channels
    functionSourceFile: /src/hostap/src/ap/afc.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - he_reg_is_sp
    - is_6ghz_freq
    linkageType: ''
    returnType: void
    signature: void hostap_afc_disable_channels(struct hostapd_iface *iface)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: he_reg_is_sp
      Src: /src/hostap/src/ap/afc.c:1090,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/ap/afc.c:1114,1
    - Dst: MAX
      Src: /src/hostap/src/ap/afc.c:1115,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - iface
    - psd
    - power
    argTypes:
    - struct hostapd_iface*
    - bool
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1123
      start: 1085
    functionDepth: 1
    functionLinenumber: 1085
    functionLinenumberEnd: 1123
    functionName: hostap_afc_get_chan_max_eirp_power
    functionSourceFile: /src/hostap/src/ap/afc.c
    functionUses: 0
    functionsReached:
    - MAX
    - ARRAY_SIZE
    - he_reg_is_sp
    linkageType: ''
    returnType: int
    signature: "int hostap_afc_get_chan_max_eirp_power(struct hostapd_iface *iface,
      bool psd,\n\t\t\t\t       int *power)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - ppe_thres_hdr
    - phy_cap_info
    argTypes:
    - u16
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 47
    functionName: ieee80211_eht_ppet_size
    functionSourceFile: /src/hostap/src/ap/ieee802_11_eht.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u16
    signature: u16 ieee80211_eht_ppet_size(u16 ppe_thres_hdr, const u8 *phy_cap_info)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: is_6ghz_op_class
      Src: /src/hostap/src/ap/ieee802_11_eht.c:65,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 4
    argNames:
    - mode
    - opclass
    - he_phy_cap
    - eht_phy_cap
    argTypes:
    - enum hostapd_hw_mode
    - u8
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 90
    functionName: ieee80211_eht_mcs_set_size
    functionSourceFile: /src/hostap/src/ap/ieee802_11_eht.c
    functionUses: 0
    functionsReached:
    - is_6ghz_op_class
    linkageType: ''
    returnType: u8
    signature: "u8 ieee80211_eht_mcs_set_size(enum hostapd_hw_mode mode, u8 opclass,\n\t\t\t\t
      \    const u8 *he_phy_cap,\n\t\t\t\t     const u8 *eht_phy_cap)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ieee80211_eht_mcs_set_size
      Src: /src/hostap/src/ap/ieee802_11_eht.c:108,1
    - Dst: ieee80211_eht_ppet_size
      Src: /src/hostap/src/ap/ieee802_11_eht.c:111,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/ap/ieee802_11_eht.c:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - hapd
    - opmode
    argTypes:
    - struct hostapd_data*
    - enum ieee80211_op_mode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 115
    functionName: hostapd_eid_eht_capab_len
    functionSourceFile: /src/hostap/src/ap/ieee802_11_eht.c
    functionUses: 0
    functionsReached:
    - WPA_GET_LE16
    - ieee80211_eht_mcs_set_size
    - ieee80211_eht_ppet_size
    linkageType: ''
    returnType: size_t
    signature: "size_t hostapd_eid_eht_capab_len(struct hostapd_data *hapd,\n\t\t\t\t
      enum ieee80211_op_mode opmode)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/ap/ieee802_11_eht.c:140,1
    - Dst: host_to_le16
      Src: /src/hostap/src/ap/ieee802_11_eht.c:141,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_eht.c:142,1
    - Dst: is_6ghz_op_class
      Src: /src/hostap/src/ap/ieee802_11_eht.c:144,1
    - Dst: ieee80211_eht_mcs_set_size
      Src: /src/hostap/src/ap/ieee802_11_eht.c:161,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_eht.c:166,1
    - Dst: ieee80211_eht_ppet_size
      Src: /src/hostap/src/ap/ieee802_11_eht.c:170,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/ap/ieee802_11_eht.c:171,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_eht.c:174,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 3
    argNames:
    - hapd
    - eid
    - opmode
    argTypes:
    - struct hostapd_data*
    - u8*
    - enum ieee80211_op_mode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 180
    functionName: hostapd_eid_eht_capab
    functionSourceFile: /src/hostap/src/ap/ieee802_11_eht.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    - ieee80211_eht_mcs_set_size
    - is_6ghz_op_class
    - WPA_GET_LE16
    - ieee80211_eht_ppet_size
    - host_to_le16
    - os_memset
    linkageType: ''
    returnType: u8
    signature: "u8 * hostapd_eid_eht_capab(struct hostapd_data *hapd, u8 *eid,\n\t\t\t
      \  enum ieee80211_op_mode opmode)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_get_punct_bitmap
      Src: /src/hostap/src/ap/ieee802_11_eht.c:191,1
    - Dst: is_6ghz_op_class
      Src: /src/hostap/src/ap/ieee802_11_eht.c:196,1
    - Dst: op_class_to_ch_width
      Src: /src/hostap/src/ap/ieee802_11_eht.c:197,1
    - Dst: hostapd_get_oper_centr_freq_seg0_idx
      Src: /src/hostap/src/ap/ieee802_11_eht.c:233,1
    - Dst: host_to_le16
      Src: /src/hostap/src/ap/ieee802_11_eht.c:269,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 60
    argCount: 2
    argNames:
    - hapd
    - eid
    argTypes:
    - struct hostapd_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 273
    functionName: hostapd_eid_eht_operation
    functionSourceFile: /src/hostap/src/ap/ieee802_11_eht.c
    functionUses: 1
    functionsReached:
    - is_6ghz_op_class
    - hostapd_get_punct_bitmap
    - hostapd_get_oper_centr_freq_seg0_idx
    - op_class_to_ch_width
    - host_to_le16
    linkageType: ''
    returnType: u8
    signature: u8 * hostapd_eid_eht_operation(struct hostapd_data *hapd, u8 *eid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:296,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 5
    argNames:
    - hapd
    - ap_mcs
    - sta_mcs
    - mcs_count
    - map_len
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8*
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 299
    functionName: check_valid_eht_mcs_nss
    functionSourceFile: /src/hostap/src/ap/ieee802_11_eht.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: bool
    signature: "bool check_valid_eht_mcs_nss(struct hostapd_data *hapd, const u8 *ap_mcs,\n\t\t\t\t
      \   const u8 *sta_mcs, u8 mcs_count, u8 map_len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ieee80211_eht_mcs_set_size
      Src: /src/hostap/src/ap/ieee802_11_eht.c:319,1
    - Dst: check_valid_eht_mcs_nss
      Src: /src/hostap/src/ap/ieee802_11_eht.c:323,1
    - Dst: check_valid_eht_mcs_nss
      Src: /src/hostap/src/ap/ieee802_11_eht.c:339,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - hapd
    - sta_eht_capab
    - opmode
    argTypes:
    - struct hostapd_data*
    - u8*
    - enum ieee80211_op_mode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 302
    functionDepth: 2
    functionLinenumber: 302
    functionLinenumberEnd: 341
    functionName: check_valid_eht_mcs
    functionSourceFile: /src/hostap/src/ap/ieee802_11_eht.c
    functionUses: 0
    functionsReached:
    - check_valid_eht_mcs_nss
    - ieee80211_eht_mcs_set_size
    linkageType: ''
    returnType: bool
    signature: "bool check_valid_eht_mcs(struct hostapd_data *hapd,\n\t\t\t\tconst
      u8 *sta_eht_capab,\n\t\t\t\tenum ieee80211_op_mode opmode)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ieee80211_eht_mcs_set_size
      Src: /src/hostap/src/ap/ieee802_11_eht.c:361,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/ap/ieee802_11_eht.c:367,1
    - Dst: ieee80211_eht_ppet_size
      Src: /src/hostap/src/ap/ieee802_11_eht.c:368,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - mode
    - opclass
    - he_cap
    - eht_cap
    - len
    argTypes:
    - enum hostapd_hw_mode
    - u8
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 344
    functionDepth: 2
    functionLinenumber: 344
    functionLinenumberEnd: 371
    functionName: ieee80211_invalid_eht_cap_size
    functionSourceFile: /src/hostap/src/ap/ieee802_11_eht.c
    functionUses: 0
    functionsReached:
    - WPA_GET_LE16
    - ieee80211_eht_mcs_set_size
    - ieee80211_eht_ppet_size
    linkageType: ''
    returnType: bool
    signature: "bool ieee80211_invalid_eht_cap_size(enum hostapd_hw_mode mode,\n\t\t\t\t\t
      \  u8 opclass, const u8 *he_cap,\n\t\t\t\t\t   const u8 *eht_cap, size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_is_eht_enabled
      Src: /src/hostap/src/ap/ieee802_11_eht.c:382,1
    - Dst: ieee80211_invalid_eht_cap_size
      Src: /src/hostap/src/ap/ieee802_11_eht.c:385,1
    - Dst: check_valid_eht_mcs
      Src: /src/hostap/src/ap/ieee802_11_eht.c:388,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_11_eht.c:391,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_11_eht.c:396,1
    - Dst: os_memdup
      Src: /src/hostap/src/ap/ieee802_11_eht.c:397,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 7
    argNames:
    - hapd
    - sta
    - opmode
    - he_capab
    - he_capab_len
    - eht_capab
    - eht_capab_len
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - enum ieee80211_op_mode
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 374
    functionDepth: 3
    functionLinenumber: 374
    functionLinenumberEnd: 407
    functionName: copy_sta_eht_capab
    functionSourceFile: /src/hostap/src/ap/ieee802_11_eht.c
    functionUses: 1
    functionsReached:
    - os_memdup
    - ieee80211_invalid_eht_cap_size
    - hostapd_is_eht_enabled
    - os_free
    - check_valid_eht_mcs
    linkageType: ''
    returnType: u16
    signature: "u16 copy_sta_eht_capab(struct hostapd_data *hapd, struct sta_info
      *sta,\n\t\t       enum ieee80211_op_mode opmode,\n\t\t       const u8 *he_capab,
      size_t he_capab_len,\n\t\t       const u8 *eht_capab, size_t eht_capab_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/ap/ieee802_11_eht.c:422,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_eht.c:423,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - hapd
    - src
    - dest
    - len
    argTypes:
    - struct hostapd_data*
    - struct ieee80211_eht_capabilities*
    - struct ieee80211_eht_capabilities*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 424
    functionName: hostapd_get_eht_capab
    functionSourceFile: /src/hostap/src/ap/ieee802_11_eht.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void hostapd_get_eht_capab(struct hostapd_data *hapd,\n\t\t\t   const
      struct ieee80211_eht_capabilities *src,\n\t\t\t   struct ieee80211_eht_capabilities
      *dest,\n\t\t\t   size_t len)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/ap/ieee802_11_eht.c:457,1
    - Dst: hostapd_is_uhr_enabled
      Src: /src/hostap/src/ap/ieee802_11_eht.c:483,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/ap/ieee802_11_eht.c:489,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/ieee802_11_eht.c:491,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/ap/ieee802_11_eht.c:494,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/ieee802_11_eht.c:497,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/ieee802_11_eht.c:499,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:509,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/ap/ieee802_11_eht.c:510,1
    - Dst: hostapd_get_active_links
      Src: /src/hostap/src/ap/ieee802_11_eht.c:514,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:517,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:531,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/ap/ieee802_11_eht.c:533,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:536,1
    - Dst: hostapd_get_mld_id
      Src: /src/hostap/src/ap/ieee802_11_eht.c:537,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/ieee802_11_eht.c:538,1
    - Dst: hostapd_get_mld_id
      Src: /src/hostap/src/ap/ieee802_11_eht.c:538,1
    - Dst: hostapd_is_uhr_enabled
      Src: /src/hostap/src/ap/ieee802_11_eht.c:542,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/ieee802_11_eht.c:543,1
    - Dst: hostapd_mld_get_link_bss
      Src: /src/hostap/src/ap/ieee802_11_eht.c:559,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:561,1
    - Dst: hostapd_is_uhr_enabled
      Src: /src/hostap/src/ap/ieee802_11_eht.c:571,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/ieee802_11_eht.c:577,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/ieee802_11_eht.c:580,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/ieee802_11_eht.c:582,1
    - Dst: hostapd_is_uhr_enabled
      Src: /src/hostap/src/ap/ieee802_11_eht.c:594,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/ap/ieee802_11_eht.c:597,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/ieee802_11_eht.c:602,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/ap/ieee802_11_eht.c:603,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/ap/ieee802_11_eht.c:604,1
    - Dst: wpabuf_put_le64
      Src: /src/hostap/src/ap/ieee802_11_eht.c:611,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/ieee802_11_eht.c:614,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/ieee802_11_eht.c:615,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/ieee802_11_eht.c:619,1
    - Dst: hostapd_is_uhr_enabled
      Src: /src/hostap/src/ap/ieee802_11_eht.c:621,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/ieee802_11_eht.c:622,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/ap/ieee802_11_eht.c:629,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/ap/ieee802_11_eht.c:637,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/ieee802_11_eht.c:647,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/ieee802_11_eht.c:649,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/ap/ieee802_11_eht.c:650,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_11_eht.c:660,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/ieee802_11_eht.c:661,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_eht.c:671,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_eht.c:685,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ieee802_11_eht.c:692,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 127
    argCount: 5
    argNames:
    - hapd
    - eid
    - mld_info
    - include_mld_id
    - include_bpcc
    argTypes:
    - struct hostapd_data*
    - u8*
    - struct mld_info*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 694
    functionName: hostapd_eid_eht_basic_ml_common
    functionSourceFile: /src/hostap/src/ap/ieee802_11_eht.c
    functionUses: 0
    functionsReached:
    - hostapd_get_mld_id
    - hostapd_is_uhr_enabled
    - wpa_printf
    - os_memcpy
    - wpabuf_put_data
    - wpabuf_put_u8
    - wpabuf_len
    - wpabuf_free
    - hostapd_mld_get_link_bss
    - wpabuf_put_le16
    - wpabuf_head
    - wpabuf_alloc
    - hostapd_get_active_links
    - wpabuf_put_le64
    linkageType: ''
    returnType: u8
    signature: "u8 * hostapd_eid_eht_basic_ml_common(struct hostapd_data *hapd,\n\t\t\t\t
      \    u8 *eid, struct mld_info *mld_info,\n\t\t\t\t     bool include_mld_id,
      bool include_bpcc)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_is_uhr_enabled
      Src: /src/hostap/src/ap/ieee802_11_eht.c:717,1
    - Dst: hostapd_mld_get_link_bss
      Src: /src/hostap/src/ap/ieee802_11_eht.c:734,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:736,1
    - Dst: hostapd_is_uhr_enabled
      Src: /src/hostap/src/ap/ieee802_11_eht.c:747,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 39
    argCount: 4
    argNames:
    - hapd
    - info
    - include_mld_id
    - include_bpcc
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 697
    functionDepth: 1
    functionLinenumber: 697
    functionLinenumberEnd: 771
    functionName: hostapd_eid_eht_basic_ml_len
    functionSourceFile: /src/hostap/src/ap/ieee802_11_eht.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hostapd_is_uhr_enabled
    - hostapd_mld_get_link_bss
    linkageType: ''
    returnType: size_t
    signature: "size_t hostapd_eid_eht_basic_ml_len(struct hostapd_data *hapd,\n\t\t\t\t
      \   struct sta_info *info,\n\t\t\t\t    bool include_mld_id, bool include_bpcc)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:782,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:788,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:799,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/ap/ieee802_11_eht.c:808,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/ap/ieee802_11_eht.c:827,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/ap/ieee802_11_eht.c:833,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/ieee802_11_eht.c:839,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 2
    argNames:
    - hapd
    - eid
    argTypes:
    - struct hostapd_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 774
    functionDepth: 1
    functionLinenumber: 774
    functionLinenumberEnd: 844
    functionName: hostapd_eid_eht_reconf_ml
    functionSourceFile: /src/hostap/src/ap/ieee802_11_eht.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    - WPA_PUT_LE16
    linkageType: ''
    returnType: u8
    signature: u8 * hostapd_eid_eht_reconf_ml(struct hostapd_data *hapd, u8 *eid)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_is_uhr_enabled
      Src: /src/hostap/src/ap/ieee802_11_eht.c:859,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/ap/ieee802_11_eht.c:862,1
    - Dst: hostapd_is_uhr_enabled
      Src: /src/hostap/src/ap/ieee802_11_eht.c:880,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 4
    argNames:
    - hapd
    - info
    - include_mld_id
    - include_bpcc
    argTypes:
    - struct hostapd_data*
    - struct mld_info*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 847
    functionDepth: 1
    functionLinenumber: 847
    functionLinenumberEnd: 898
    functionName: hostapd_eid_eht_ml_len
    functionSourceFile: /src/hostap/src/ap/ieee802_11_eht.c
    functionUses: 0
    functionsReached:
    - hostapd_is_uhr_enabled
    - ARRAY_SIZE
    linkageType: ''
    returnType: size_t
    signature: "size_t hostapd_eid_eht_ml_len(struct hostapd_data *hapd,\n\t\t\t\t
      \    struct mld_info *info,\n\t\t\t\t     bool include_mld_id, bool include_bpcc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_eid_eht_basic_ml_common
      Src: /src/hostap/src/ap/ieee802_11_eht.c:907,1
    - Dst: hostapd_eid_eht_reconf_ml
      Src: /src/hostap/src/ap/ieee802_11_eht.c:909,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - hapd
    - info
    - eid
    - include_mld_id
    argTypes:
    - struct hostapd_data*
    - struct mld_info*
    - u8*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 903
    functionDepth: 2
    functionLinenumber: 903
    functionLinenumberEnd: 910
    functionName: hostapd_eid_eht_ml_beacon
    functionSourceFile: /src/hostap/src/ap/ieee802_11_eht.c
    functionUses: 0
    functionsReached:
    - hostapd_eid_eht_reconf_ml
    - hostapd_eid_eht_basic_ml_common
    linkageType: ''
    returnType: u8
    signature: "u8 * hostapd_eid_eht_ml_beacon(struct hostapd_data *hapd,\n\t\t\t
      \      struct mld_info *info,\n\t\t\t       u8 *eid, bool include_mld_id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_sta_is_mld
      Src: /src/hostap/src/ap/ieee802_11_eht.c:917,1
    - Dst: hostapd_eid_eht_basic_ml_common
      Src: /src/hostap/src/ap/ieee802_11_eht.c:920,1
    - Dst: ap_sta_free_sta_profile
      Src: /src/hostap/src/ap/ieee802_11_eht.c:922,1
    - Dst: hostapd_eid_eht_reconf_ml
      Src: /src/hostap/src/ap/ieee802_11_eht.c:923,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - hapd
    - info
    - eid
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 924
      start: 914
    functionDepth: 2
    functionLinenumber: 914
    functionLinenumberEnd: 924
    functionName: hostapd_eid_eht_ml_assoc
    functionSourceFile: /src/hostap/src/ap/ieee802_11_eht.c
    functionUses: 0
    functionsReached:
    - ap_sta_is_mld
    - hostapd_eid_eht_reconf_ml
    - ap_sta_free_sta_profile
    - hostapd_eid_eht_basic_ml_common
    linkageType: ''
    returnType: u8
    signature: "u8 * hostapd_eid_eht_ml_assoc(struct hostapd_data *hapd, struct sta_info
      *info,\n\t\t\t      u8 *eid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_eid_eht_ml_len
      Src: /src/hostap/src/ap/ieee802_11_eht.c:931,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - hapd
    - info
    - include_mld_id
    argTypes:
    - struct hostapd_data*
    - struct mld_info*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 927
    functionDepth: 2
    functionLinenumber: 927
    functionLinenumberEnd: 932
    functionName: hostapd_eid_eht_ml_beacon_len
    functionSourceFile: /src/hostap/src/ap/ieee802_11_eht.c
    functionUses: 0
    functionsReached:
    - hostapd_eid_eht_ml_len
    linkageType: ''
    returnType: size_t
    signature: "size_t hostapd_eid_eht_ml_beacon_len(struct hostapd_data *hapd,\n\t\t\t\t
      \    struct mld_info *info,\n\t\t\t\t     bool include_mld_id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/ap/ieee802_11_eht.c:937,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/ieee802_11_eht.c:942,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/ieee802_11_eht.c:943,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/ieee802_11_eht.c:944,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/ap/ieee802_11_eht.c:945,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/ieee802_11_eht.c:946,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/ap/ieee802_11_eht.c:947,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 935
    functionDepth: 1
    functionLinenumber: 935
    functionLinenumberEnd: 950
    functionName: hostapd_ml_auth_resp
    functionSourceFile: /src/hostap/src/ap/ieee802_11_eht.c
    functionUses: 0
    functionsReached:
    - wpabuf_alloc
    - wpabuf_put_data
    - wpabuf_put_u8
    - wpabuf_put_le16
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * hostapd_ml_auth_resp(struct hostapd_data *hapd)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:968,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/ap/ieee802_11_eht.c:973,1
    - Dst: crypto_ec_init
      Src: /src/hostap/src/ap/ieee802_11_eht.c:977,1
    - Dst: dh_groups_get
      Src: /src/hostap/src/ap/ieee802_11_eht.c:979,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:982,1
    - Dst: crypto_ec_prime_len
      Src: /src/hostap/src/ap/ieee802_11_eht.c:989,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:992,1
    - Dst: crypto_ec_deinit
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1001,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1008,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1013,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 4
    argNames:
    - mgmt
    - len
    - pos
    - status_code
    argTypes:
    - struct ieee80211_mgmt*
    - size_t
    - u8*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 955
    functionDepth: 1
    functionLinenumber: 955
    functionLinenumberEnd: 1017
    functionName: sae_commit_skip_fixed_fields
    functionSourceFile: /src/hostap/src/ap/ieee802_11_eht.c
    functionUses: 0
    functionsReached:
    - dh_groups_get
    - wpa_printf
    - wpa_hexdump
    - crypto_ec_deinit
    - WPA_GET_LE16
    - crypto_ec_prime_len
    - crypto_ec_init
    linkageType: ''
    returnType: u8
    signature: "u8 *\nsae_commit_skip_fixed_fields(const struct ieee80211_mgmt *mgmt,
      size_t len,\n\t\t\t     const u8 *pos, u16 status_code)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1045,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1047,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1053,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1057,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1067,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1070,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1074,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1083,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 37
    argCount: 5
    argNames:
    - hapd
    - mgmt
    - len
    - pos
    - status_code
    argTypes:
    - struct hostapd_data*
    - struct ieee80211_mgmt*
    - size_t
    - u8*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1089
      start: 1020
    functionDepth: 1
    functionLinenumber: 1020
    functionLinenumberEnd: 1089
    functionName: sae_confirm_skip_fixed_fields
    functionSourceFile: /src/hostap/src/ap/ieee802_11_eht.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - ether_addr_equal
    - ap_get_sta
    linkageType: ''
    returnType: u8
    signature: "u8 *\nsae_confirm_skip_fixed_fields(struct hostapd_data *hapd,\n\t\t\t
      \     const struct ieee80211_mgmt *mgmt, size_t len,\n\t\t\t      const u8 *pos,
      u16 status_code)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: le_to_host16
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1098,1
    - Dst: le_to_host16
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1100,1
    - Dst: le_to_host16
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1101,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1119,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1137,1
    - Dst: sae_commit_skip_fixed_fields
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1142,1
    - Dst: sae_confirm_skip_fixed_fields
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1145,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1164,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 3
    argNames:
    - hapd
    - mgmt
    - len
    argTypes:
    - struct hostapd_data*
    - struct ieee80211_mgmt*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1168
      start: 1094
    functionDepth: 2
    functionLinenumber: 1094
    functionLinenumberEnd: 1168
    functionName: auth_skip_fixed_fields
    functionSourceFile: /src/hostap/src/ap/ieee802_11_eht.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - sae_confirm_skip_fixed_fields
    - sae_commit_skip_fixed_fields
    - WPA_GET_LE16
    - le_to_host16
    linkageType: ''
    returnType: u8
    signature: "u8 * auth_skip_fixed_fields(struct hostapd_data *hapd,\n\t\t\t\t\t
      const struct ieee80211_mgmt *mgmt,\n\t\t\t\t\t size_t len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: auth_skip_fixed_fields
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1183,1
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1187,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1190,1
    - Dst: get_basic_mle_mld_addr
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1197,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - hapd
    - mgmt
    - len
    argTypes:
    - struct hostapd_data*
    - struct ieee80211_mgmt*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1198
      start: 1171
    functionDepth: 3
    functionLinenumber: 1171
    functionLinenumberEnd: 1198
    functionName: hostapd_process_ml_auth
    functionSourceFile: /src/hostap/src/ap/ieee802_11_eht.c
    functionUses: 0
    functionsReached:
    - auth_skip_fixed_fields
    - wpa_printf
    - ieee802_11_parse_elems
    - get_basic_mle_mld_addr
    linkageType: ''
    returnType: u8
    signature: "u8 * hostapd_process_ml_auth(struct hostapd_data *hapd,\n\t\t\t\t
      \  const struct ieee80211_mgmt *mgmt,\n\t\t\t\t   size_t len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_sta_is_mld
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1207,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1208,1
    - Dst: hostapd_mld_get_link_bss
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1227,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1229,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1234,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1239
      start: 1201
    functionDepth: 1
    functionLinenumber: 1201
    functionLinenumberEnd: 1239
    functionName: hostapd_mld_validate_assoc_info
    functionSourceFile: /src/hostap/src/ap/ieee802_11_eht.c
    functionUses: 0
    functionsReached:
    - ap_sta_is_mld
    - wpa_printf
    - hostapd_mld_get_link_bss
    - os_memcpy
    linkageType: ''
    returnType: int
    signature: "int hostapd_mld_validate_assoc_info(struct hostapd_data *hapd,\n\t\t\t\t\t
      \  struct sta_info *sta)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_11_defrag
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1246,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1257,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1258,1
    - Dst: le_to_host16
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1263,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1266,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1276,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1284,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1290,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1294,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 4
    argNames:
    - hapd
    - basic_mle
    - basic_mle_len
    - mld_addr
    argTypes:
    - struct hostapd_data*
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1296
      start: 1242
    functionDepth: 1
    functionLinenumber: 1242
    functionLinenumberEnd: 1296
    functionName: hostapd_process_ml_assoc_req_addr
    functionSourceFile: /src/hostap/src/ap/ieee802_11_eht.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpabuf_len
    - wpabuf_free
    - wpabuf_head
    - le_to_host16
    - ieee802_11_defrag
    linkageType: ''
    returnType: int
    signature: "int hostapd_process_ml_assoc_req_addr(struct hostapd_data *hapd,\n\t\t\t\t
      \     const u8 *basic_mle, size_t basic_mle_len,\n\t\t\t\t      u8 *mld_addr)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_11_defrag
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1315,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1319,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1320,1
    - Dst: le_to_host16
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1323,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1326,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1335,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1340,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1345,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1352,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1359,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1366,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1369,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1373,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1381,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1391,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1397,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1404,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1405,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1409,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1411,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1414,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1415,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1429,1
    - Dst: ap_sta_free_sta_profile
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1431,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1432,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1434,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1436,1
    - Dst: ieee802_11_defrag_mle_subelem
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1450,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1453,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1463,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1468,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1475,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1483,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1496,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1500,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1503,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1511,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1517,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1524,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1545,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1556,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1557,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1560,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1566,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1574,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1578,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1580,1
    - Dst: hostapd_mld_validate_assoc_info
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1586,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1588,1
    - Dst: ap_sta_free_sta_profile
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1590,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1591,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 182
    argCount: 3
    argNames:
    - hapd
    - elems
    - sta
    argTypes:
    - struct hostapd_data*
    - struct ieee802_11_elems*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1596
      start: 1299
    functionDepth: 2
    functionLinenumber: 1299
    functionLinenumberEnd: 1596
    functionName: hostapd_process_ml_assoc_req
    functionSourceFile: /src/hostap/src/ap/ieee802_11_eht.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpabuf_len
    - os_memset
    - ether_addr_equal
    - wpabuf_free
    - WPA_GET_LE16
    - hostapd_mld_validate_assoc_info
    - wpabuf_head
    - MAC2STR
    - ieee802_11_defrag_mle_subelem
    - le_to_host16
    - ap_sta_free_sta_profile
    - ieee802_11_defrag
    linkageType: ''
    returnType: u16
    signature: "u16 hostapd_process_ml_assoc_req(struct hostapd_data *hapd,\n\t\t\t\t
      struct ieee802_11_elems *elems,\n\t\t\t\t struct sta_info *sta)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1607,1
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1611,1
    - Dst: dl_list_del
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1613,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1614,1
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1617,1
    - Dst: dl_list_del
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1619,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1620,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1623,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - req_list_ptr
    argTypes:
    - struct link_reconf_req_list**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1625
      start: 1599
    functionDepth: 1
    functionLinenumber: 1599
    functionLinenumberEnd: 1625
    functionName: ml_deinit_link_reconf_req
    functionSourceFile: /src/hostap/src/ap/ieee802_11_eht.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpa_printf
    - dl_list_del
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: void ml_deinit_link_reconf_req(struct link_reconf_req_list **req_list_ptr)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1640,1
    - Dst: hostapd_ml_get_assoc_sta
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1644,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1646,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1647,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1652,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1659,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1660,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1666,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1673,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1676,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1678,1
    - Dst: hostapd_mld_get_link_bss
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1685,1
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1687,1
    - Dst: ap_free_sta
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1691,1
    - Dst: dl_list_empty
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1696,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1699,1
    - Dst: hostapd_mld_get_link_bss
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1705,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1707,1
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1713,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1715,1
    - Dst: hostapd_sta_is_link_sta
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1722,1
    - Dst: BIT
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1730,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1737,1
    - Dst: hostapd_notif_disassoc_mld
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1739,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1744,1
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1748,1
    - Dst: hostapd_ml_get_assoc_sta
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1758,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1767,1
    - Dst: wpa_reset_assoc_sm_info
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1773,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1778,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1780,1
    - Dst: ap_free_sta
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1781,1
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1786,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1791,1
    - Dst: wpa_auth_set_ml_info
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1796,1
    - Dst: ml_deinit_link_reconf_req
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1802,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 101
    argCount: 5
    argNames:
    - hapd
    - sta
    - mgmt
    - len
    - ok
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - struct ieee80211_mgmt*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1805
      start: 1628
    functionDepth: 2
    functionLinenumber: 1628
    functionLinenumberEnd: 1805
    functionName: hostapd_link_reconf_resp_tx_status
    functionSourceFile: /src/hostap/src/ap/ieee802_11_eht.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dl_list_empty
    - ap_free_sta
    - wpa_msg
    - ml_deinit_link_reconf_req
    - ether_addr_equal
    - hostapd_mld_get_link_bss
    - hostapd_notif_disassoc_mld
    - hostapd_ml_get_assoc_sta
    - dl_list_for_each
    - MAC2STR
    - wpa_reset_assoc_sm_info
    - BIT
    - os_free
    - wpa_auth_set_ml_info
    - hostapd_sta_is_link_sta
    - ap_get_sta
    linkageType: ''
    returnType: void
    signature: "void hostapd_link_reconf_resp_tx_status(struct hostapd_data *hapd,\n\t\t\t\t\tstruct
      sta_info *sta,\n\t\t\t\t\tconst struct ieee80211_mgmt *mgmt,\n\t\t\t\t\tsize_t
      len, int ok)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1748,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1751
      start: 1747
    functionDepth: 1
    functionLinenumber: 1747
    functionLinenumberEnd: 1751
    functionName: for_each_mld_link
    functionSourceFile: /src/hostap/src/ap/ieee802_11_eht.c
    functionUses: 0
    functionsReached:
    - ap_get_sta
    linkageType: ''
    returnType: void
    signature: void for_each_mld_link(other_hapd, lhapd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1786,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1791,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1795
      start: 1783
    functionDepth: 1
    functionLinenumber: 1783
    functionLinenumberEnd: 1795
    functionName: for_each_mld_link
    functionSourceFile: /src/hostap/src/ap/ieee802_11_eht.c
    functionUses: 0
    functionsReached:
    - os_free
    - ap_get_sta
    linkageType: ''
    returnType: void
    signature: void for_each_mld_link(other_hapd, lhapd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1824,1
    - Dst: BIT
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1830,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1831,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - links_del_ok
    - recovery_link
    argTypes:
    - u16*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1835
      start: 1808
    functionDepth: 0
    functionLinenumber: 1808
    functionLinenumberEnd: 1835
    functionName: recover_from_zero_links
    functionSourceFile: /src/hostap/src/ap/ieee802_11_eht.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - BIT
    linkageType: ''
    returnType: bool
    signature: bool recover_from_zero_links(u16 *links_del_ok, u8 *recovery_link)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_mld_get_link_bss
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1847,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1851,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1854,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1855,1
    - Dst: ieee80211_ml_process_link
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1858,1
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1863,1
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1870,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1877,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1878,1
    - Dst: wpa_auth_set_ml_info
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1880,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 6
    argNames:
    - hapd
    - assoc_sta
    - ies
    - ies_len
    - link_id
    - link_addr
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u8*
    - size_t
    - u8
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1884
      start: 1838
    functionDepth: 1
    functionLinenumber: 1838
    functionLinenumberEnd: 1884
    functionName: hostapd_ml_process_reconf_link
    functionSourceFile: /src/hostap/src/ap/ieee802_11_eht.c
    functionUses: 0
    functionsReached:
    - ieee80211_ml_process_link
    - os_memcpy
    - os_memset
    - hostapd_mld_get_link_bss
    - wpa_auth_set_ml_info
    - ap_get_sta
    linkageType: ''
    returnType: u16
    signature: "u16 hostapd_ml_process_reconf_link(struct hostapd_data *hapd,\n\t\t\t
      \      struct sta_info *assoc_sta, const u8 *ies,\n\t\t\t       size_t ies_len,
      u8 link_id, const u8 *link_addr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1870,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1877,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1878,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1879
      start: 1867
    functionDepth: 1
    functionLinenumber: 1867
    functionLinenumberEnd: 1879
    functionName: for_each_mld_link
    functionSourceFile: /src/hostap/src/ap/ieee802_11_eht.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - ap_get_sta
    linkageType: ''
    returnType: void
    signature: void for_each_mld_link(other_hapd, lhapd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1897,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1904,1
    - Dst: hostapd_mld_get_link_bss
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1907,1
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1909,1
    - Dst: ap_free_sta
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1913,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1917,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1922,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1927,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1932,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 3
    argNames:
    - hapd
    - pos
    - req_list
    argTypes:
    - struct hostapd_data*
    - u8*
    - struct link_reconf_req_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1938
      start: 1887
    functionDepth: 1
    functionLinenumber: 1887
    functionLinenumberEnd: 1938
    functionName: hostapd_reject_all_reconf_req
    functionSourceFile: /src/hostap/src/ap/ieee802_11_eht.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - ap_free_sta
    - hostapd_mld_get_link_bss
    - dl_list_for_each
    - WPA_PUT_LE16
    - ap_get_sta
    linkageType: ''
    returnType: int
    signature: "int hostapd_reject_all_reconf_req(struct hostapd_data *hapd, u8 *pos,\n\t\t\t
      \     struct link_reconf_req_list *req_list)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_len
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1956,1
    - Dst: dl_list_len
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1957,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1961,1
    - Dst: wpa_auth_ml_group_kdes_len
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1979,1
    - Dst: wpa_auth_uses_ocv
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1984,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1989,1
    - Dst: hostapd_mld_get_link_bss
      Src: /src/hostap/src/ap/ieee802_11_eht.c:1999,1
    - Dst: ieee80211_ml_build_assoc_resp
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2004,1
    - Dst: hostapd_eid_eht_ml_len
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2013,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2017,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2019,1
    - Dst: IEEE80211_FC
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2026,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2028,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2029,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2030,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2041,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2044,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2049,1
    - Dst: BIT
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2052,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2057,1
    - Dst: wpa_auth_ml_group_kdes
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2069,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2077,1
    - Dst: wpa_auth_uses_ocv
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2085,1
    - Dst: hostapd_drv_channel_info
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2088,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2089,1
    - Dst: ocv_insert_extended_oci
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2095,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2096,1
    - Dst: hostapd_eid_eht_basic_ml_common
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2118,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2121,1
    - Dst: hostapd_reject_all_reconf_req
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2136,1
    - Dst: hostapd_drv_send_mlme
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2144,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2145,1
    - Dst: ap_sta_free_sta_profile
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2148,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 116
    argCount: 3
    argNames:
    - hapd
    - assoc_sta
    - req_list
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - struct link_reconf_req_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2151
      start: 1941
    functionDepth: 2
    functionLinenumber: 1941
    functionLinenumberEnd: 2151
    functionName: hostapd_send_link_reconf_resp
    functionSourceFile: /src/hostap/src/ap/ieee802_11_eht.c
    functionUses: 0
    functionsReached:
    - hostapd_drv_send_mlme
    - hostapd_mld_get_link_bss
    - BIT
    - ap_sta_free_sta_profile
    - dl_list_len
    - wpa_printf
    - dl_list_for_each
    - ocv_insert_extended_oci
    - os_free
    - WPA_PUT_LE16
    - hostapd_eid_eht_basic_ml_common
    - hostapd_drv_channel_info
    - hostapd_eid_eht_ml_len
    - wpa_hexdump_key
    - ieee80211_ml_build_assoc_resp
    - IEEE80211_FC
    - hostapd_reject_all_reconf_req
    - wpa_auth_uses_ocv
    - wpa_auth_ml_group_kdes_len
    - os_memset
    - os_memcpy
    - os_zalloc
    - wpa_auth_ml_group_kdes
    linkageType: ''
    returnType: int
    signature: "int hostapd_send_link_reconf_resp(struct hostapd_data *hapd,\n\t\t\t
      \     struct sta_info *assoc_sta,\n\t\t\t      struct link_reconf_req_list *req_list)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2166,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2169,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2171,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2172,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2176,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2177,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2179,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - hapd
    - sta
    - ctx
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2184
      start: 2154
    functionDepth: 1
    functionLinenumber: 2154
    functionLinenumberEnd: 2184
    functionName: hostapd_ml_check_sta_entry_by_link_addr_iter
    functionSourceFile: /src/hostap/src/ap/ieee802_11_eht.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    - ether_addr_equal
    linkageType: ''
    returnType: int
    signature: "int hostapd_ml_check_sta_entry_by_link_addr_iter(struct hostapd_data
      *hapd,\n\t\t\t\t\t     struct sta_info *sta, void *ctx)"
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2211,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2220,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2223,1
    - Dst: le_to_host16
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2233,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2237,1
    - Dst: EHT_PER_STA_RECONF_CTRL_OP_UPDATE_TYPE_VAL
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2244,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2251,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2259,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2267,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2273,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2279,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2286,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2297,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2304,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2309,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2316,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2318,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2319,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2319,1
    - Dst: hostapd_mld_get_link_bss
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2323,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2325,1
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2331,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2336,1
    - Dst: ap_sta_is_mld
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2339,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2341,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2343,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2348,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2350,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2352,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2367,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2372,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2374,1
    - Dst: ap_for_each_sta
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2382,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2393,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2396,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2398,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2405,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2407,1
    - Dst: dl_list_add_tail
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2410,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2412,1
    - Dst: dl_list_add_tail
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2415,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2417,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2419,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2426,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 167
    argCount: 4
    argNames:
    - hapd
    - req
    - buf
    - len
    argTypes:
    - struct hostapd_data*
    - struct link_reconf_req_list*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2429
      start: 2192
    functionDepth: 1
    functionLinenumber: 2192
    functionLinenumberEnd: 2429
    functionName: hostapd_parse_link_reconf_req_sta_profile
    functionSourceFile: /src/hostap/src/ap/ieee802_11_eht.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_hexdump
    - ap_for_each_sta
    - ap_sta_is_mld
    - dl_list_add_tail
    - ether_addr_equal
    - hostapd_mld_get_link_bss
    - MAC2STR
    - os_zalloc
    - ap_get_sta
    - le_to_host16
    - os_free
    - EHT_PER_STA_RECONF_CTRL_OP_UPDATE_TYPE_VAL
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int hostapd_parse_link_reconf_req_sta_profile(struct hostapd_data
      *hapd,\n\t\t\t\t\t    struct link_reconf_req_list *req,\n\t\t\t\t\t    const
      u8 *buf, size_t len)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_11_defrag
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2447,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2449,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2454,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2455,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2458,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2464,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2482,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2489,1
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2497,1
    - Dst: ap_sta_is_mld
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2498,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2499,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2500,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2504,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2506,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2511,1
    - Dst: dl_list_init
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2512,1
    - Dst: dl_list_init
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2513,1
    - Dst: ieee802_11_defrag_mle_subelem
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2522,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2525,1
    - Dst: hostapd_parse_link_reconf_req_sta_profile
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2538,1
    - Dst: ml_deinit_link_reconf_req
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2549,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2551,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 82
    argCount: 4
    argNames:
    - hapd
    - mle
    - mle_len
    - req_list_ptr
    argTypes:
    - struct hostapd_data*
    - u8*
    - size_t
    - struct link_reconf_req_list**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2553
      start: 2432
    functionDepth: 2
    functionLinenumber: 2432
    functionLinenumberEnd: 2553
    functionName: hostapd_parse_link_reconf_req_reconf_mle
    functionSourceFile: /src/hostap/src/ap/ieee802_11_eht.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_hexdump
    - wpabuf_len
    - ap_sta_is_mld
    - ml_deinit_link_reconf_req
    - wpabuf_free
    - WPA_GET_LE16
    - wpabuf_head
    - MAC2STR
    - os_zalloc
    - ieee802_11_defrag_mle_subelem
    - ap_get_sta
    - dl_list_init
    - hostapd_parse_link_reconf_req_sta_profile
    - ieee802_11_defrag
    linkageType: ''
    returnType: int
    signature: "int hostapd_parse_link_reconf_req_reconf_mle(\n\t\tstruct hostapd_data
      *hapd, const u8 *mle, size_t mle_len,\n\t\tstruct link_reconf_req_list **req_list_ptr)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_ml_get_assoc_sta
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2570,1
    - Dst: dl_list_empty
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2574,1
    - Dst: dl_list_empty
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2575,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2576,1
    - Dst: BIT
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2584,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2588,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2593,1
    - Dst: hostapd_ml_process_reconf_link
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2601,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2607,1
    - Dst: wpa_auth_ml_group_kdes_len
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2614,1
    - Dst: BIT
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2615,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2622,1
    - Dst: hostapd_mld_get_link_bss
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2629,1
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2631,1
    - Dst: ap_free_sta
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2635,1
    - Dst: BIT
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2638,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2639,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2641,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2648,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2650,1
    - Dst: BIT
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2654,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2657,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2662,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2668,1
    - Dst: recover_from_zero_links
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2677,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2678,1
    - Dst: BIT
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2683,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 69
    argCount: 3
    argNames:
    - hapd
    - sta
    - req_list
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - struct link_reconf_req_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2694
      start: 2556
    functionDepth: 2
    functionLinenumber: 2556
    functionLinenumberEnd: 2694
    functionName: hostapd_validate_link_reconf_req
    functionSourceFile: /src/hostap/src/ap/ieee802_11_eht.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dl_list_empty
    - ap_free_sta
    - wpa_msg
    - recover_from_zero_links
    - hostapd_mld_get_link_bss
    - hostapd_ml_get_assoc_sta
    - dl_list_for_each
    - hostapd_ml_process_reconf_link
    - MAC2STR
    - BIT
    - wpa_auth_ml_group_kdes_len
    - ap_get_sta
    linkageType: ''
    returnType: bool
    signature: "bool hostapd_validate_link_reconf_req(struct hostapd_data *hapd,\n\t\t\t\t
      struct sta_info *sta,\n\t\t\t\t struct link_reconf_req_list *req_list)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2710,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2712,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2719,1
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2728,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2730,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2732,1
    - Dst: ap_sta_is_mld
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2736,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2737,1
    - Dst: hostapd_ml_get_assoc_sta
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2742,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2744,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2750,1
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2757,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2759,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2765,1
    - Dst: hostapd_parse_link_reconf_req_reconf_mle
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2770,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2773,1
    - Dst: dl_list_empty
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2779,1
    - Dst: wpa_auth_uses_ocv
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2784,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2785,1
    - Dst: wpa_auth_uses_ocv
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2792,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2793,1
    - Dst: hostapd_drv_channel_info
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2798,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2799,1
    - Dst: ocv_verify_tx_params
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2804,1
    - Dst: channel_width_to_int
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2805,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2807,1
    - Dst: hostapd_validate_link_reconf_req
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2816,1
    - Dst: hostapd_send_link_reconf_resp
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2820,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2822,1
    - Dst: ml_deinit_link_reconf_req
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2828,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 89
    argCount: 3
    argNames:
    - hapd
    - buf
    - len
    argTypes:
    - struct hostapd_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2833
      start: 2697
    functionDepth: 3
    functionLinenumber: 2697
    functionLinenumberEnd: 2833
    functionName: hostapd_handle_link_reconf_req
    functionSourceFile: /src/hostap/src/ap/ieee802_11_eht.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dl_list_empty
    - ap_sta_is_mld
    - ml_deinit_link_reconf_req
    - hostapd_ml_get_assoc_sta
    - MAC2STR
    - hostapd_parse_link_reconf_req_reconf_mle
    - hostapd_validate_link_reconf_req
    - ieee802_11_parse_elems
    - hostapd_send_link_reconf_resp
    - ocv_verify_tx_params
    - channel_width_to_int
    - wpa_auth_uses_ocv
    - hostapd_drv_channel_info
    - ap_get_sta
    linkageType: ''
    returnType: int
    signature: "int hostapd_handle_link_reconf_req(struct hostapd_data *hapd, const
      u8 *buf,\n\t\t\t       size_t len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_handle_link_reconf_req
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2851,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2853,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2858,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2860,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - hapd
    - mgmt
    - len
    argTypes:
    - struct hostapd_data*
    - struct ieee80211_mgmt*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2861
      start: 2836
    functionDepth: 4
    functionLinenumber: 2836
    functionLinenumberEnd: 2861
    functionName: ieee802_11_rx_protected_eht_action
    functionSourceFile: /src/hostap/src/ap/ieee802_11_eht.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    - hostapd_handle_link_reconf_req
    linkageType: ''
    returnType: void
    signature: "void ieee802_11_rx_protected_eht_action(struct hostapd_data *hapd,\n\t\t\t\t\tconst
      struct ieee80211_mgmt *mgmt,\n\t\t\t\t\tsize_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2879
      start: 2864
    functionDepth: 0
    functionLinenumber: 2864
    functionLinenumberEnd: 2879
    functionName: hostapd_eid_eht_ml_tid_to_link_map_len
    functionSourceFile: /src/hostap/src/ap/ieee802_11_eht.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t hostapd_eid_eht_ml_tid_to_link_map_len(struct hostapd_data *hapd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIT
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2899,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2913,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - hapd
    - eid
    argTypes:
    - struct hostapd_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2920
      start: 2882
    functionDepth: 1
    functionLinenumber: 2882
    functionLinenumberEnd: 2920
    functionName: hostapd_eid_eht_ml_tid_to_link_map
    functionSourceFile: /src/hostap/src/ap/ieee802_11_eht.c
    functionUses: 0
    functionsReached:
    - BIT
    - WPA_PUT_LE16
    linkageType: ''
    returnType: u8
    signature: u8 * hostapd_eid_eht_ml_tid_to_link_map(struct hostapd_data *hapd,
      u8 *eid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIT
      Src: /src/hostap/src/ap/ieee802_11_eht.c:2899,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2900
      start: 2895
    functionDepth: 0
    functionLinenumber: 2895
    functionLinenumberEnd: 2900
    functionName: for_each_mld_link
    functionSourceFile: /src/hostap/src/ap/ieee802_11_eht.c
    functionUses: 0
    functionsReached:
    - BIT
    linkageType: ''
    returnType: void
    signature: void for_each_mld_link(other_hapd, hapd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::macsec_init
      Src: /src/hostap/src/ap/wpa_auth_kay.c:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - priv
    - params
    argTypes:
    - void*
    - struct macsec_init_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 32
    functionName: hapd_macsec_init
    functionSourceFile: /src/hostap/src/ap/wpa_auth_kay.c
    functionUses: 0
    functionsReached:
    - struct hostapd_data*::driver::macsec_init
    linkageType: ''
    returnType: int
    signature: int hapd_macsec_init(void *priv, struct macsec_init_params *params)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::macsec_deinit
      Src: /src/hostap/src/ap/wpa_auth_kay.c:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: hapd_macsec_deinit
    functionSourceFile: /src/hostap/src/ap/wpa_auth_kay.c
    functionUses: 0
    functionsReached:
    - struct hostapd_data*::driver::macsec_deinit
    linkageType: ''
    returnType: int
    signature: int hapd_macsec_deinit(void *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::macsec_get_capability
      Src: /src/hostap/src/ap/wpa_auth_kay.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - priv
    - cap
    argTypes:
    - void*
    - enum macsec_cap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 52
    functionName: hapd_macsec_get_capability
    functionSourceFile: /src/hostap/src/ap/wpa_auth_kay.c
    functionUses: 0
    functionsReached:
    - struct hostapd_data*::driver::macsec_get_capability
    linkageType: ''
    returnType: int
    signature: int hapd_macsec_get_capability(void *priv, enum macsec_cap *cap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::enable_protect_frames
      Src: /src/hostap/src/ap/wpa_auth_kay.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - priv
    - enabled
    argTypes:
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: hapd_enable_protect_frames
    functionSourceFile: /src/hostap/src/ap/wpa_auth_kay.c
    functionUses: 0
    functionsReached:
    - struct hostapd_data*::driver::enable_protect_frames
    linkageType: ''
    returnType: int
    signature: int hapd_enable_protect_frames(void *priv, bool enabled)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::enable_encrypt
      Src: /src/hostap/src/ap/wpa_auth_kay.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - priv
    - enabled
    argTypes:
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: hapd_enable_encrypt
    functionSourceFile: /src/hostap/src/ap/wpa_auth_kay.c
    functionUses: 0
    functionsReached:
    - struct hostapd_data*::driver::enable_encrypt
    linkageType: ''
    returnType: int
    signature: int hapd_enable_encrypt(void *priv, bool enabled)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::set_replay_protect
      Src: /src/hostap/src/ap/wpa_auth_kay.c:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - priv
    - enabled
    - window
    argTypes:
    - void*
    - bool
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 83
    functionName: hapd_set_replay_protect
    functionSourceFile: /src/hostap/src/ap/wpa_auth_kay.c
    functionUses: 0
    functionsReached:
    - struct hostapd_data*::driver::set_replay_protect
    linkageType: ''
    returnType: int
    signature: int hapd_set_replay_protect(void *priv, bool enabled, u32 window)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::set_current_cipher_suite
      Src: /src/hostap/src/ap/wpa_auth_kay.c:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - priv
    - cs
    argTypes:
    - void*
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 93
    functionName: hapd_set_current_cipher_suite
    functionSourceFile: /src/hostap/src/ap/wpa_auth_kay.c
    functionUses: 0
    functionsReached:
    - struct hostapd_data*::driver::set_current_cipher_suite
    linkageType: ''
    returnType: int
    signature: int hapd_set_current_cipher_suite(void *priv, u64 cs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::enable_controlled_port
      Src: /src/hostap/src/ap/wpa_auth_kay.c:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - priv
    - enabled
    argTypes:
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 103
    functionName: hapd_enable_controlled_port
    functionSourceFile: /src/hostap/src/ap/wpa_auth_kay.c
    functionUses: 0
    functionsReached:
    - struct hostapd_data*::driver::enable_controlled_port
    linkageType: ''
    returnType: int
    signature: int hapd_enable_controlled_port(void *priv, bool enabled)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::get_receive_lowest_pn
      Src: /src/hostap/src/ap/wpa_auth_kay.c:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - priv
    - sa
    argTypes:
    - void*
    - struct receive_sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 113
    functionName: hapd_get_receive_lowest_pn
    functionSourceFile: /src/hostap/src/ap/wpa_auth_kay.c
    functionUses: 0
    functionsReached:
    - struct hostapd_data*::driver::get_receive_lowest_pn
    linkageType: ''
    returnType: int
    signature: int hapd_get_receive_lowest_pn(void *priv, struct receive_sa *sa)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::get_transmit_next_pn
      Src: /src/hostap/src/ap/wpa_auth_kay.c:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - priv
    - sa
    argTypes:
    - void*
    - struct transmit_sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 123
    functionName: hapd_get_transmit_next_pn
    functionSourceFile: /src/hostap/src/ap/wpa_auth_kay.c
    functionUses: 0
    functionsReached:
    - struct hostapd_data*::driver::get_transmit_next_pn
    linkageType: ''
    returnType: int
    signature: int hapd_get_transmit_next_pn(void *priv, struct transmit_sa *sa)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::set_transmit_next_pn
      Src: /src/hostap/src/ap/wpa_auth_kay.c:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - priv
    - sa
    argTypes:
    - void*
    - struct transmit_sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 133
    functionName: hapd_set_transmit_next_pn
    functionSourceFile: /src/hostap/src/ap/wpa_auth_kay.c
    functionUses: 0
    functionsReached:
    - struct hostapd_data*::driver::set_transmit_next_pn
    linkageType: ''
    returnType: int
    signature: int hapd_set_transmit_next_pn(void *priv, struct transmit_sa *sa)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - co
    argTypes:
    - enum confidentiality_offset
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 146
    functionName: conf_offset_val
    functionSourceFile: /src/hostap/src/ap/wpa_auth_kay.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int conf_offset_val(enum confidentiality_offset co)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::create_receive_sc
      Src: /src/hostap/src/ap/wpa_auth_kay.c:157,1
    - Dst: conf_offset_val
      Src: /src/hostap/src/ap/wpa_auth_kay.c:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - priv
    - sc
    - vf
    - co
    argTypes:
    - void*
    - struct receive_sc*
    - enum validate_frames
    - enum confidentiality_offset
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 159
    functionName: hapd_create_receive_sc
    functionSourceFile: /src/hostap/src/ap/wpa_auth_kay.c
    functionUses: 0
    functionsReached:
    - struct hostapd_data*::driver::create_receive_sc
    - conf_offset_val
    linkageType: ''
    returnType: int
    signature: "int hapd_create_receive_sc(void *priv, struct receive_sc *sc,\n\t\t\t\t
      \ enum validate_frames vf,\n\t\t\t\t  enum confidentiality_offset co)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::delete_receive_sc
      Src: /src/hostap/src/ap/wpa_auth_kay.c:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - priv
    - sc
    argTypes:
    - void*
    - struct receive_sc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 169
    functionName: hapd_delete_receive_sc
    functionSourceFile: /src/hostap/src/ap/wpa_auth_kay.c
    functionUses: 0
    functionsReached:
    - struct hostapd_data*::driver::delete_receive_sc
    linkageType: ''
    returnType: int
    signature: int hapd_delete_receive_sc(void *priv, struct receive_sc *sc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::create_receive_sa
      Src: /src/hostap/src/ap/wpa_auth_kay.c:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - priv
    - sa
    argTypes:
    - void*
    - struct receive_sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 179
    functionName: hapd_create_receive_sa
    functionSourceFile: /src/hostap/src/ap/wpa_auth_kay.c
    functionUses: 0
    functionsReached:
    - struct hostapd_data*::driver::create_receive_sa
    linkageType: ''
    returnType: int
    signature: int hapd_create_receive_sa(void *priv, struct receive_sa *sa)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::delete_receive_sa
      Src: /src/hostap/src/ap/wpa_auth_kay.c:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - priv
    - sa
    argTypes:
    - void*
    - struct receive_sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 189
    functionName: hapd_delete_receive_sa
    functionSourceFile: /src/hostap/src/ap/wpa_auth_kay.c
    functionUses: 0
    functionsReached:
    - struct hostapd_data*::driver::delete_receive_sa
    linkageType: ''
    returnType: int
    signature: int hapd_delete_receive_sa(void *priv, struct receive_sa *sa)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::enable_receive_sa
      Src: /src/hostap/src/ap/wpa_auth_kay.c:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - priv
    - sa
    argTypes:
    - void*
    - struct receive_sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 199
    functionName: hapd_enable_receive_sa
    functionSourceFile: /src/hostap/src/ap/wpa_auth_kay.c
    functionUses: 0
    functionsReached:
    - struct hostapd_data*::driver::enable_receive_sa
    linkageType: ''
    returnType: int
    signature: int hapd_enable_receive_sa(void *priv, struct receive_sa *sa)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::disable_receive_sa
      Src: /src/hostap/src/ap/wpa_auth_kay.c:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - priv
    - sa
    argTypes:
    - void*
    - struct receive_sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 209
    functionName: hapd_disable_receive_sa
    functionSourceFile: /src/hostap/src/ap/wpa_auth_kay.c
    functionUses: 0
    functionsReached:
    - struct hostapd_data*::driver::disable_receive_sa
    linkageType: ''
    returnType: int
    signature: int hapd_disable_receive_sa(void *priv, struct receive_sa *sa)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::create_transmit_sc
      Src: /src/hostap/src/ap/wpa_auth_kay.c:220,1
    - Dst: conf_offset_val
      Src: /src/hostap/src/ap/wpa_auth_kay.c:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - priv
    - sc
    - co
    argTypes:
    - void*
    - struct transmit_sc*
    - enum confidentiality_offset
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 222
    functionName: hapd_create_transmit_sc
    functionSourceFile: /src/hostap/src/ap/wpa_auth_kay.c
    functionUses: 0
    functionsReached:
    - struct hostapd_data*::driver::create_transmit_sc
    - conf_offset_val
    linkageType: ''
    returnType: int
    signature: "int hapd_create_transmit_sc(void *priv, struct transmit_sc *sc,\n\t\t\tenum
      confidentiality_offset co)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::delete_transmit_sc
      Src: /src/hostap/src/ap/wpa_auth_kay.c:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - priv
    - sc
    argTypes:
    - void*
    - struct transmit_sc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 232
    functionName: hapd_delete_transmit_sc
    functionSourceFile: /src/hostap/src/ap/wpa_auth_kay.c
    functionUses: 0
    functionsReached:
    - struct hostapd_data*::driver::delete_transmit_sc
    linkageType: ''
    returnType: int
    signature: int hapd_delete_transmit_sc(void *priv, struct transmit_sc *sc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::create_transmit_sa
      Src: /src/hostap/src/ap/wpa_auth_kay.c:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - priv
    - sa
    argTypes:
    - void*
    - struct transmit_sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 242
    functionName: hapd_create_transmit_sa
    functionSourceFile: /src/hostap/src/ap/wpa_auth_kay.c
    functionUses: 0
    functionsReached:
    - struct hostapd_data*::driver::create_transmit_sa
    linkageType: ''
    returnType: int
    signature: int hapd_create_transmit_sa(void *priv, struct transmit_sa *sa)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::delete_transmit_sa
      Src: /src/hostap/src/ap/wpa_auth_kay.c:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - priv
    - sa
    argTypes:
    - void*
    - struct transmit_sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 252
    functionName: hapd_delete_transmit_sa
    functionSourceFile: /src/hostap/src/ap/wpa_auth_kay.c
    functionUses: 0
    functionsReached:
    - struct hostapd_data*::driver::delete_transmit_sa
    linkageType: ''
    returnType: int
    signature: int hapd_delete_transmit_sa(void *priv, struct transmit_sa *sa)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::enable_transmit_sa
      Src: /src/hostap/src/ap/wpa_auth_kay.c:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - priv
    - sa
    argTypes:
    - void*
    - struct transmit_sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 262
    functionName: hapd_enable_transmit_sa
    functionSourceFile: /src/hostap/src/ap/wpa_auth_kay.c
    functionUses: 0
    functionsReached:
    - struct hostapd_data*::driver::enable_transmit_sa
    linkageType: ''
    returnType: int
    signature: int hapd_enable_transmit_sa(void *priv, struct transmit_sa *sa)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::disable_transmit_sa
      Src: /src/hostap/src/ap/wpa_auth_kay.c:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - priv
    - sa
    argTypes:
    - void*
    - struct transmit_sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 272
    functionName: hapd_disable_transmit_sa
    functionSourceFile: /src/hostap/src/ap/wpa_auth_kay.c
    functionUses: 0
    functionsReached:
    - struct hostapd_data*::driver::disable_transmit_sa
    linkageType: ''
    returnType: int
    signature: int hapd_disable_transmit_sa(void *priv, struct transmit_sa *sa)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_1x_dealloc_kay_sm_hapd
      Src: /src/hostap/src/ap/wpa_auth_kay.c:282,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_kay.c:296,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/wpa_auth_kay.c:297,1
    - Dst: ieee802_1x_kay_init
      Src: /src/hostap/src/ap/wpa_auth_kay.c:327,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 44
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 344
    functionName: ieee802_1x_alloc_kay_sm_hapd
    functionSourceFile: /src/hostap/src/ap/wpa_auth_kay.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - ieee802_1x_kay_init
    - ieee802_1x_dealloc_kay_sm_hapd
    - os_zalloc
    linkageType: ''
    returnType: int
    signature: "int ieee802_1x_alloc_kay_sm_hapd(struct hostapd_data *hapd,\n\t\t\t\t
      struct sta_info *sta)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_1x_kay_deinit
      Src: /src/hostap/src/ap/wpa_auth_kay.c:352,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 354
    functionName: ieee802_1x_dealloc_kay_sm_hapd
    functionSourceFile: /src/hostap/src/ap/wpa_auth_kay.c
    functionUses: 1
    functionsReached:
    - ieee802_1x_kay_deinit
    linkageType: ''
    returnType: void
    signature: void ieee802_1x_dealloc_kay_sm_hapd(struct hostapd_data *hapd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_1x_get_key
      Src: /src/hostap/src/ap/wpa_auth_kay.c:366,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_kay.c:368,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_kay.c:372,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/ap/wpa_auth_kay.c:374,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_kay.c:378,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - hapd
    - sta
    - msk
    - len
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 382
    functionName: ieee802_1x_auth_get_msk
    functionSourceFile: /src/hostap/src/ap/wpa_auth_kay.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    - ieee802_1x_get_key
    - wpa_printf
    - wpa_hexdump_key
    linkageType: ''
    returnType: int
    signature: "int ieee802_1x_auth_get_msk(struct hostapd_data *hapd,\n\t\t\t\t   struct
      sta_info *sta, u8 *msk, size_t *len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_kay.c:398,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth_kay.c:400,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/wpa_auth_kay.c:402,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/wpa_auth_kay.c:403,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/wpa_auth_kay.c:404,1
    - Dst: ieee802_1x_auth_get_msk
      Src: /src/hostap/src/ap/wpa_auth_kay.c:409,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_kay.c:410,1
    - Dst: ieee802_1x_get_session_id
      Src: /src/hostap/src/ap/wpa_auth_kay.c:414,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_kay.c:416,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth_kay.c:421,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth_kay.c:422,1
    - Dst: ieee802_1x_cak_aes_cmac
      Src: /src/hostap/src/ap/wpa_auth_kay.c:426,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_kay.c:428,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/ap/wpa_auth_kay.c:431,1
    - Dst: ieee802_1x_ckn_aes_cmac
      Src: /src/hostap/src/ap/wpa_auth_kay.c:435,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_kay.c:437,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth_kay.c:440,1
    - Dst: ieee802_1x_kay_create_mka
      Src: /src/hostap/src/ap/wpa_auth_kay.c:442,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/ap/wpa_auth_kay.c:446,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth_kay.c:447,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/ap/wpa_auth_kay.c:448,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 451
    functionName: ieee802_1x_notify_create_actor_hapd
    functionSourceFile: /src/hostap/src/ap/wpa_auth_kay.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump_key
    - ieee802_1x_ckn_aes_cmac
    - wpa_hexdump
    - ieee802_1x_get_session_id
    - ieee802_1x_auth_get_msk
    - ieee802_1x_kay_create_mka
    - MAC2STR
    - os_zalloc
    - ieee802_1x_cak_aes_cmac
    - os_free
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: "void * ieee802_1x_notify_create_actor_hapd(struct hostapd_data *hapd,\n\t\t\t\t\t
      \  struct sta_info *sta)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/wpa_auth_kay.c:464,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/wpa_auth_kay.c:468,1
    - Dst: ieee802_1x_alloc_kay_sm_hapd
      Src: /src/hostap/src/ap/wpa_auth_kay.c:472,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_kay.c:479,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_kay.c:482,1
    - Dst: ieee802_1x_kay_create_mka
      Src: /src/hostap/src/ap/wpa_auth_kay.c:484,1
    - Dst: ieee802_1x_dealloc_kay_sm_hapd
      Src: /src/hostap/src/ap/wpa_auth_kay.c:490,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth_kay.c:492,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth_kay.c:494,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 497
    functionName: ieee802_1x_create_preshared_mka_hapd
    functionSourceFile: /src/hostap/src/ap/wpa_auth_kay.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - ieee802_1x_kay_create_mka
    - os_zalloc
    - ieee802_1x_dealloc_kay_sm_hapd
    - os_free
    - ieee802_1x_alloc_kay_sm_hapd
    linkageType: ''
    returnType: void
    signature: "void * ieee802_1x_create_preshared_mka_hapd(struct hostapd_data *hapd,\n\t\t\t\t\t
      \   struct sta_info *sta)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: rsn_preauth_iface_init
    functionSourceFile: /src/hostap/src/ap/preauth_auth.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int rsn_preauth_iface_init(struct hostapd_data *hapd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: rsn_preauth_iface_deinit
    functionSourceFile: /src/hostap/src/ap/preauth_auth.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void rsn_preauth_iface_deinit(struct hostapd_data *hapd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - hapd
    - sta
    - success
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: rsn_preauth_finished
    functionSourceFile: /src/hostap/src/ap/preauth_auth.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void rsn_preauth_finished(struct hostapd_data *hapd,\n\t\t\t\t\tstruct
      sta_info *sta,\n\t\t\t\t\tint success)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - hapd
    - sta
    - buf
    - len
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: rsn_preauth_send
    functionSourceFile: /src/hostap/src/ap/preauth_auth.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void rsn_preauth_send(struct hostapd_data *hapd,\n\t\t\t\t    struct
      sta_info *sta,\n\t\t\t\t    u8 *buf, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: rsn_preauth_free_station
    functionSourceFile: /src/hostap/src/ap/preauth_auth.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void rsn_preauth_free_station(struct hostapd_data *hapd,\n\t\t\t\t\t
      \   struct sta_info *sta)"
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - flags
    argTypes:
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 47
    functionName: hostapd_sta_flags_to_drv
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: u32 hostapd_sta_flags_to_drv(u32 flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_resize
      Src: /src/hostap/src/ap/ap_drv_ops.c:54,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ap_drv_ops.c:54,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/ap/ap_drv_ops.c:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - struct wpabuf**
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 58
    functionName: add_buf
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.c
    functionUses: 0
    functionsReached:
    - wpabuf_len
    - wpabuf_put_buf
    - wpabuf_resize
    linkageType: ''
    returnType: int
    signature: int add_buf(struct wpabuf **dst, const struct wpabuf *src)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_resize
      Src: /src/hostap/src/ap/ap_drv_ops.c:65,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/ap/ap_drv_ops.c:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - dst
    - data
    - len
    argTypes:
    - struct wpabuf**
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: add_buf_data
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.c
    functionUses: 0
    functionsReached:
    - wpabuf_resize
    - wpabuf_put_data
    linkageType: ''
    returnType: int
    signature: int add_buf_data(struct wpabuf **dst, const u8 *data, size_t len)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_eid_rm_enabled_capab
      Src: /src/hostap/src/ap/ap_drv_ops.c:84,1
    - Dst: add_buf_data
      Src: /src/hostap/src/ap/ap_drv_ops.c:85,1
    - Dst: add_buf_data
      Src: /src/hostap/src/ap/ap_drv_ops.c:86,1
    - Dst: hostapd_eid_time_adv
      Src: /src/hostap/src/ap/ap_drv_ops.c:91,1
    - Dst: add_buf_data
      Src: /src/hostap/src/ap/ap_drv_ops.c:92,1
    - Dst: hostapd_eid_time_zone
      Src: /src/hostap/src/ap/ap_drv_ops.c:94,1
    - Dst: add_buf_data
      Src: /src/hostap/src/ap/ap_drv_ops.c:95,1
    - Dst: hostapd_eid_ext_capab
      Src: /src/hostap/src/ap/ap_drv_ops.c:99,1
    - Dst: add_buf_data
      Src: /src/hostap/src/ap/ap_drv_ops.c:100,1
    - Dst: hostapd_eid_interworking
      Src: /src/hostap/src/ap/ap_drv_ops.c:102,1
    - Dst: hostapd_eid_adv_proto
      Src: /src/hostap/src/ap/ap_drv_ops.c:103,1
    - Dst: hostapd_eid_roaming_consortium
      Src: /src/hostap/src/ap/ap_drv_ops.c:104,1
    - Dst: add_buf_data
      Src: /src/hostap/src/ap/ap_drv_ops.c:105,1
    - Dst: add_buf_data
      Src: /src/hostap/src/ap/ap_drv_ops.c:106,1
    - Dst: add_buf
      Src: /src/hostap/src/ap/ap_drv_ops.c:110,1
    - Dst: add_buf
      Src: /src/hostap/src/ap/ap_drv_ops.c:111,1
    - Dst: add_buf
      Src: /src/hostap/src/ap/ap_drv_ops.c:112,1
    - Dst: hostapd_eid_fils_indic
      Src: /src/hostap/src/ap/ap_drv_ops.c:117,1
    - Dst: add_buf_data
      Src: /src/hostap/src/ap/ap_drv_ops.c:118,1
    - Dst: add_buf_data
      Src: /src/hostap/src/ap/ap_drv_ops.c:119,1
    - Dst: hostapd_eid_wfa_capab
      Src: /src/hostap/src/ap/ap_drv_ops.c:123,1
    - Dst: add_buf_data
      Src: /src/hostap/src/ap/ap_drv_ops.c:124,1
    - Dst: add_buf_data
      Src: /src/hostap/src/ap/ap_drv_ops.c:125,1
    - Dst: add_buf_data
      Src: /src/hostap/src/ap/ap_drv_ops.c:126,1
    - Dst: hostapd_eid_rsnxe
      Src: /src/hostap/src/ap/ap_drv_ops.c:130,1
    - Dst: add_buf_data
      Src: /src/hostap/src/ap/ap_drv_ops.c:131,1
    - Dst: add_buf
      Src: /src/hostap/src/ap/ap_drv_ops.c:135,1
    - Dst: add_buf
      Src: /src/hostap/src/ap/ap_drv_ops.c:136,1
    - Dst: add_buf
      Src: /src/hostap/src/ap/ap_drv_ops.c:140,1
    - Dst: add_buf
      Src: /src/hostap/src/ap/ap_drv_ops.c:141,1
    - Dst: wpabuf_resize
      Src: /src/hostap/src/ap/ap_drv_ops.c:147,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/ap/ap_drv_ops.c:149,1
    - Dst: hostapd_eid_p2p_manage
      Src: /src/hostap/src/ap/ap_drv_ops.c:150,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/ap/ap_drv_ops.c:151,1
    - Dst: wpabuf_resize
      Src: /src/hostap/src/ap/ap_drv_ops.c:154,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/ap/ap_drv_ops.c:156,1
    - Dst: hostapd_eid_p2p_manage
      Src: /src/hostap/src/ap/ap_drv_ops.c:157,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/ap/ap_drv_ops.c:158,1
    - Dst: wps_build_assoc_resp_ie
      Src: /src/hostap/src/ap/ap_drv_ops.c:165,1
    - Dst: add_buf
      Src: /src/hostap/src/ap/ap_drv_ops.c:166,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ap_drv_ops.c:167,1
    - Dst: wpabuf_resize
      Src: /src/hostap/src/ap/ap_drv_ops.c:173,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/ap/ap_drv_ops.c:175,1
    - Dst: hostapd_eid_p2p_manage
      Src: /src/hostap/src/ap/ap_drv_ops.c:176,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/ap/ap_drv_ops.c:177,1
    - Dst: p2p_group_assoc_resp_ie
      Src: /src/hostap/src/ap/ap_drv_ops.c:185,1
    - Dst: add_buf
      Src: /src/hostap/src/ap/ap_drv_ops.c:186,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ap_drv_ops.c:187,1
    - Dst: hostapd_eid_hs20_indication
      Src: /src/hostap/src/ap/ap_drv_ops.c:192,1
    - Dst: add_buf_data
      Src: /src/hostap/src/ap/ap_drv_ops.c:193,1
    - Dst: add_buf_data
      Src: /src/hostap/src/ap/ap_drv_ops.c:194,1
    - Dst: OCE_STA_CFON_ENABLED
      Src: /src/hostap/src/ap/ap_drv_ops.c:200,1
    - Dst: OCE_AP_ENABLED
      Src: /src/hostap/src/ap/ap_drv_ops.c:200,1
    - Dst: hostapd_eid_mbo
      Src: /src/hostap/src/ap/ap_drv_ops.c:201,1
    - Dst: add_buf_data
      Src: /src/hostap/src/ap/ap_drv_ops.c:202,1
    - Dst: add_buf_data
      Src: /src/hostap/src/ap/ap_drv_ops.c:203,1
    - Dst: add_buf_data
      Src: /src/hostap/src/ap/ap_drv_ops.c:204,1
    - Dst: hostapd_eid_owe_trans
      Src: /src/hostap/src/ap/ap_drv_ops.c:210,1
    - Dst: add_buf_data
      Src: /src/hostap/src/ap/ap_drv_ops.c:211,1
    - Dst: add_buf_data
      Src: /src/hostap/src/ap/ap_drv_ops.c:212,1
    - Dst: add_buf
      Src: /src/hostap/src/ap/ap_drv_ops.c:216,1
    - Dst: add_buf
      Src: /src/hostap/src/ap/ap_drv_ops.c:217,1
    - Dst: add_buf
      Src: /src/hostap/src/ap/ap_drv_ops.c:219,1
    - Dst: add_buf
      Src: /src/hostap/src/ap/ap_drv_ops.c:221,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ap_drv_ops.c:230,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ap_drv_ops.c:231,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ap_drv_ops.c:232,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 106
    argCount: 4
    argNames:
    - hapd
    - beacon_ret
    - proberesp_ret
    - assocresp_ret
    argTypes:
    - struct hostapd_data*
    - struct wpabuf**
    - struct wpabuf**
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 72
    functionDepth: 4
    functionLinenumber: 72
    functionLinenumberEnd: 234
    functionName: hostapd_build_ap_extra_ies
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.c
    functionUses: 0
    functionsReached:
    - OCE_AP_ENABLED
    - hostapd_eid_mbo
    - hostapd_eid_time_zone
    - hostapd_eid_owe_trans
    - hostapd_eid_roaming_consortium
    - hostapd_eid_p2p_manage
    - hostapd_eid_fils_indic
    - wps_build_assoc_resp_ie
    - OCE_STA_CFON_ENABLED
    - hostapd_eid_time_adv
    - hostapd_eid_ext_capab
    - hostapd_eid_hs20_indication
    - hostapd_eid_adv_proto
    - add_buf
    - hostapd_eid_rsnxe
    - hostapd_eid_wfa_capab
    - wpabuf_put
    - wpabuf_resize
    - hostapd_eid_interworking
    - wpabuf_free
    - add_buf_data
    - hostapd_eid_rm_enabled_capab
    - p2p_group_assoc_resp_ie
    linkageType: ''
    returnType: int
    signature: "int hostapd_build_ap_extra_ies(struct hostapd_data *hapd,\n\t\t\t
      \      struct wpabuf **beacon_ret,\n\t\t\t       struct wpabuf **proberesp_ret,\n\t\t\t
      \      struct wpabuf **assocresp_ret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ap_drv_ops.c:242,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ap_drv_ops.c:243,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ap_drv_ops.c:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - hapd
    - beacon
    - proberesp
    - assocresp
    argTypes:
    - struct hostapd_data*
    - struct wpabuf*
    - struct wpabuf*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 245
    functionName: hostapd_free_ap_extra_ies
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.c
    functionUses: 0
    functionsReached:
    - wpabuf_free
    linkageType: ''
    returnType: void
    signature: "void hostapd_free_ap_extra_ies(struct hostapd_data *hapd,\n\t\t\t
      \      struct wpabuf *beacon,\n\t\t\t       struct wpabuf *proberesp,\n\t\t\t
      \      struct wpabuf *assocresp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::set_ap_wps_ie
      Src: /src/hostap/src/ap/ap_drv_ops.c:253,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 254
    functionName: hostapd_reset_ap_wps_ie
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.c
    functionUses: 0
    functionsReached:
    - struct hostapd_data*::driver::set_ap_wps_ie
    linkageType: ''
    returnType: int
    signature: int hostapd_reset_ap_wps_ie(struct hostapd_data *hapd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_build_ap_extra_ies
      Src: /src/hostap/src/ap/ap_drv_ops.c:265,1
    - Dst: struct hostapd_data*::driver::set_ap_wps_ie
      Src: /src/hostap/src/ap/ap_drv_ops.c:269,1
    - Dst: hostapd_free_ap_extra_ies
      Src: /src/hostap/src/ap/ap_drv_ops.c:272,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 257
    functionDepth: 5
    functionLinenumber: 257
    functionLinenumberEnd: 275
    functionName: hostapd_set_ap_wps_ie
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.c
    functionUses: 1
    functionsReached:
    - struct hostapd_data*::driver::set_ap_wps_ie
    - hostapd_build_ap_extra_ies
    - hostapd_free_ap_extra_ies
    linkageType: ''
    returnType: int
    signature: int hostapd_set_ap_wps_ie(struct hostapd_data *hapd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_sta_is_mld
      Src: /src/hostap/src/ap/ap_drv_ops.c:282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 288
    functionName: hostapd_sta_is_link_sta
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.c
    functionUses: 1
    functionsReached:
    - ap_sta_is_mld
    linkageType: ''
    returnType: bool
    signature: "bool hostapd_sta_is_link_sta(struct hostapd_data *hapd,\n\t\t\t     struct
      sta_info *sta)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_sta_is_link_sta
      Src: /src/hostap/src/ap/ap_drv_ops.c:300,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ap_drv_ops.c:301,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ap_drv_ops.c:303,1
    - Dst: hostapd_sta_set_flags
      Src: /src/hostap/src/ap/ap_drv_ops.c:308,1
    - Dst: hostapd_sta_flags_to_drv
      Src: /src/hostap/src/ap/ap_drv_ops.c:309,1
    - Dst: hostapd_sta_set_flags
      Src: /src/hostap/src/ap/ap_drv_ops.c:314,1
    - Dst: hostapd_sta_flags_to_drv
      Src: /src/hostap/src/ap/ap_drv_ops.c:315,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - hapd
    - sta
    - authorized
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 291
    functionDepth: 2
    functionLinenumber: 291
    functionLinenumberEnd: 317
    functionName: hostapd_set_authorized
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hostapd_sta_flags_to_drv
    - MAC2STR
    - hostapd_sta_set_flags
    - hostapd_sta_is_link_sta
    linkageType: ''
    returnType: int
    signature: "int hostapd_set_authorized(struct hostapd_data *hapd,\n\t\t\t   struct
      sta_info *sta, int authorized)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_sta_flags_to_drv
      Src: /src/hostap/src/ap/ap_drv_ops.c:323,1
    - Dst: hostapd_sta_is_link_sta
      Src: /src/hostap/src/ap/ap_drv_ops.c:335,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ap_drv_ops.c:336,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ap_drv_ops.c:338,1
    - Dst: hostapd_sta_set_flags
      Src: /src/hostap/src/ap/ap_drv_ops.c:344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 320
    functionDepth: 2
    functionLinenumber: 320
    functionLinenumberEnd: 346
    functionName: hostapd_set_sta_flags
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hostapd_sta_flags_to_drv
    - MAC2STR
    - hostapd_sta_set_flags
    - hostapd_sta_is_link_sta
    linkageType: ''
    returnType: int
    signature: int hostapd_set_sta_flags(struct hostapd_data *hapd, struct sta_info
      *sta)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/ap/ap_drv_ops.c:353,1
    - Dst: hostapd_set_ieee8021x
      Src: /src/hostap/src/ap/ap_drv_ops.c:372,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - hapd
    - ifname
    - enabled
    argTypes:
    - struct hostapd_data*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 373
    functionName: hostapd_set_drv_ieee8021x
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.c
    functionUses: 0
    functionsReached:
    - hostapd_set_ieee8021x
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int hostapd_set_drv_ieee8021x(struct hostapd_data *hapd, const char
      *ifname,\n\t\t\t      int enabled)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_if_add
      Src: /src/hostap/src/ap/ap_drv_ops.c:387,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - hapd
    - ifname
    argTypes:
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 389
    functionName: hostapd_vlan_if_add
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.c
    functionUses: 0
    functionsReached:
    - hostapd_if_add
    linkageType: ''
    returnType: int
    signature: int hostapd_vlan_if_add(struct hostapd_data *hapd, const char *ifname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_if_remove
      Src: /src/hostap/src/ap/ap_drv_ops.c:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hapd
    - ifname
    argTypes:
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 395
    functionName: hostapd_vlan_if_remove
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.c
    functionUses: 0
    functionsReached:
    - hostapd_if_remove
    linkageType: ''
    returnType: int
    signature: int hostapd_vlan_if_remove(struct hostapd_data *hapd, const char *ifname)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::set_wds_sta
      Src: /src/hostap/src/ap/ap_drv_ops.c:409,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 5
    argNames:
    - hapd
    - ifname_wds
    - addr
    - aid
    - val
    argTypes:
    - struct hostapd_data*
    - char*
    - u8*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 411
    functionName: hostapd_set_wds_sta
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.c
    functionUses: 0
    functionsReached:
    - struct hostapd_data*::driver::set_wds_sta
    linkageType: ''
    returnType: int
    signature: "int hostapd_set_wds_sta(struct hostapd_data *hapd, char *ifname_wds,\n\t\t\tconst
      u8 *addr, int aid, int val)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::add_sta_node
      Src: /src/hostap/src/ap/ap_drv_ops.c:419,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - hapd
    - addr
    - auth_alg
    argTypes:
    - struct hostapd_data*
    - u8*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 420
    functionName: hostapd_add_sta_node
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.c
    functionUses: 0
    functionsReached:
    - struct hostapd_data*::driver::add_sta_node
    linkageType: ''
    returnType: int
    signature: "int hostapd_add_sta_node(struct hostapd_data *hapd, const u8 *addr,\n\t\t\t
      u16 auth_alg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/ap/ap_drv_ops.c:434,1
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/ap_drv_ops.c:437,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ap_drv_ops.c:439,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ap_drv_ops.c:441,1
    - Dst: wpa_auth_get_fils_aead_params
      Src: /src/hostap/src/ap/ap_drv_ops.c:449,1
    - Dst: struct hostapd_data*::driver::sta_auth
      Src: /src/hostap/src/ap/ap_drv_ops.c:463,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 6
    argNames:
    - hapd
    - addr
    - seq
    - status
    - ie
    - len
    argTypes:
    - struct hostapd_data*
    - u8*
    - u16
    - u16
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 464
    functionName: hostapd_sta_auth
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memset
    - wpa_auth_get_fils_aead_params
    - struct hostapd_data*::driver::sta_auth
    - MAC2STR
    - ap_get_sta
    linkageType: ''
    returnType: int
    signature: "int hostapd_sta_auth(struct hostapd_data *hapd, const u8 *addr,\n\t\t
      \    u16 seq, u16 status, const u8 *ie, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::sta_assoc
      Src: /src/hostap/src/ap/ap_drv_ops.c:472,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 6
    argNames:
    - hapd
    - addr
    - reassoc
    - status
    - ie
    - len
    argTypes:
    - struct hostapd_data*
    - u8*
    - int
    - u16
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 474
    functionName: hostapd_sta_assoc
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.c
    functionUses: 0
    functionsReached:
    - struct hostapd_data*::driver::sta_assoc
    linkageType: ''
    returnType: int
    signature: "int hostapd_sta_assoc(struct hostapd_data *hapd, const u8 *addr,\n\t\t
      \     int reassoc, u16 status, const u8 *ie, size_t len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/ap/ap_drv_ops.c:501,1
    - Dst: hostapd_sta_flags_to_drv
      Src: /src/hostap/src/ap/ap_drv_ops.c:519,1
    - Dst: struct hostapd_data*::driver::sta_add
      Src: /src/hostap/src/ap/ap_drv_ops.c:543,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 37
    argCount: 25
    argNames:
    - hapd
    - addr
    - aid
    - capability
    - supp_rates
    - supp_rates_len
    - listen_interval
    - ht_capab
    - vht_capab
    - he_capab
    - he_capab_len
    - eht_capab
    - eht_capab_len
    - uhr_capab
    - uhr_capab_len
    - he_6ghz_capab
    - flags
    - qosinfo
    - vht_opmode
    - supp_p2p_ps
    - set
    - link_addr
    - mld_link_sta
    - eml_cap
    - epp_sta
    argTypes:
    - struct hostapd_data*
    - u8*
    - u16
    - u16
    - u8*
    - size_t
    - u16
    - struct ieee80211_ht_capabilities*
    - struct ieee80211_vht_capabilities*
    - struct ieee80211_he_capabilities*
    - size_t
    - struct ieee80211_eht_capabilities*
    - size_t
    - struct ieee80211_uhr_capabilities*
    - size_t
    - struct ieee80211_he_6ghz_band_cap*
    - u32
    - u8
    - u8
    - int
    - int
    - u8*
    - bool
    - u16
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 477
    functionDepth: 1
    functionLinenumber: 477
    functionLinenumberEnd: 544
    functionName: hostapd_sta_add
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.c
    functionUses: 0
    functionsReached:
    - hostapd_sta_flags_to_drv
    - struct hostapd_data*::driver::sta_add
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int hostapd_sta_add(struct hostapd_data *hapd,\n\t\t    const u8 *addr,
      u16 aid, u16 capability,\n\t\t    const u8 *supp_rates, size_t supp_rates_len,\n\t\t
      \   u16 listen_interval,\n\t\t    const struct ieee80211_ht_capabilities *ht_capab,\n\t\t
      \   const struct ieee80211_vht_capabilities *vht_capab,\n\t\t    const struct
      ieee80211_he_capabilities *he_capab,\n\t\t    size_t he_capab_len,\n\t\t    const
      struct ieee80211_eht_capabilities *eht_capab,\n\t\t    size_t eht_capab_len,\n\t\t
      \   const struct ieee80211_uhr_capabilities *uhr_capab,\n\t\t    size_t uhr_capab_len,\n\t\t
      \   const struct ieee80211_he_6ghz_band_cap *he_6ghz_capab,\n\t\t    u32 flags,
      u8 qosinfo, u8 vht_opmode, int supp_p2p_ps,\n\t\t    int set, const u8 *link_addr,
      bool mld_link_sta,\n\t\t    u16 eml_cap, bool epp_sta)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::set_privacy
      Src: /src/hostap/src/ap/ap_drv_ops.c:551,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - hapd
    - enabled
    argTypes:
    - struct hostapd_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 552
    functionName: hostapd_set_privacy
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.c
    functionUses: 0
    functionsReached:
    - struct hostapd_data*::driver::set_privacy
    linkageType: ''
    returnType: int
    signature: int hostapd_set_privacy(struct hostapd_data *hapd, int enabled)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::set_generic_elem
      Src: /src/hostap/src/ap/ap_drv_ops.c:560,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - hapd
    - elem
    - elem_len
    argTypes:
    - struct hostapd_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 561
    functionName: hostapd_set_generic_elem
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.c
    functionUses: 0
    functionsReached:
    - struct hostapd_data*::driver::set_generic_elem
    linkageType: ''
    returnType: int
    signature: "int hostapd_set_generic_elem(struct hostapd_data *hapd, const u8 *elem,\n\t\t\t
      \    size_t elem_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::hapd_get_ssid
      Src: /src/hostap/src/ap/ap_drv_ops.c:568,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - hapd
    - buf
    - len
    argTypes:
    - struct hostapd_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 569
    functionName: hostapd_get_ssid
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.c
    functionUses: 0
    functionsReached:
    - struct hostapd_data*::driver::hapd_get_ssid
    linkageType: ''
    returnType: int
    signature: int hostapd_get_ssid(struct hostapd_data *hapd, u8 *buf, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::hapd_set_ssid
      Src: /src/hostap/src/ap/ap_drv_ops.c:576,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - hapd
    - buf
    - len
    argTypes:
    - struct hostapd_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 577
    functionName: hostapd_set_ssid
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.c
    functionUses: 0
    functionsReached:
    - struct hostapd_data*::driver::hapd_set_ssid
    linkageType: ''
    returnType: int
    signature: int hostapd_set_ssid(struct hostapd_data *hapd, const u8 *buf, size_t
      len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::if_add
      Src: /src/hostap/src/ap/ap_drv_ops.c:587,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 10
    argNames:
    - hapd
    - type
    - ifname
    - addr
    - bss_ctx
    - drv_priv
    - force_ifname
    - if_addr
    - bridge
    - use_existing
    argTypes:
    - struct hostapd_data*
    - enum wpa_driver_if_type
    - char*
    - u8*
    - void*
    - void**
    - char*
    - u8*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 590
    functionName: hostapd_if_add
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.c
    functionUses: 2
    functionsReached:
    - struct hostapd_data*::driver::if_add
    linkageType: ''
    returnType: int
    signature: "int hostapd_if_add(struct hostapd_data *hapd, enum wpa_driver_if_type
      type,\n\t\t   const char *ifname, const u8 *addr, void *bss_ctx,\n\t\t   void
      **drv_priv, char *force_ifname, u8 *if_addr,\n\t\t   const char *bridge, int
      use_existing)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::link_remove
      Src: /src/hostap/src/ap/ap_drv_ops.c:601,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 4
    argNames:
    - hapd
    - type
    - ifname
    - link_id
    argTypes:
    - struct hostapd_data*
    - enum wpa_driver_if_type
    - char*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 603
    functionName: hostapd_if_link_remove
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.c
    functionUses: 0
    functionsReached:
    - struct hostapd_data*::driver::link_remove
    linkageType: ''
    returnType: int
    signature: "int hostapd_if_link_remove(struct hostapd_data *hapd,\n\t\t\t   enum
      wpa_driver_if_type type,\n\t\t\t   const char *ifname, u8 link_id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_if_link_remove
      Src: /src/hostap/src/ap/ap_drv_ops.c:616,1
    - Dst: struct hostapd_data*::driver::if_remove
      Src: /src/hostap/src/ap/ap_drv_ops.c:620,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - hapd
    - type
    - ifname
    argTypes:
    - struct hostapd_data*
    - enum wpa_driver_if_type
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 607
    functionDepth: 1
    functionLinenumber: 607
    functionLinenumberEnd: 621
    functionName: hostapd_if_remove
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.c
    functionUses: 1
    functionsReached:
    - hostapd_if_link_remove
    - struct hostapd_data*::driver::if_remove
    linkageType: ''
    returnType: int
    signature: "int hostapd_if_remove(struct hostapd_data *hapd, enum wpa_driver_if_type
      type,\n\t\t      const char *ifname)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::set_ieee8021x
      Src: /src/hostap/src/ap/ap_drv_ops.c:629,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - hapd
    - params
    argTypes:
    - struct hostapd_data*
    - struct wpa_bss_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 630
    functionName: hostapd_set_ieee8021x
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.c
    functionUses: 1
    functionsReached:
    - struct hostapd_data*::driver::set_ieee8021x
    linkageType: ''
    returnType: int
    signature: "int hostapd_set_ieee8021x(struct hostapd_data *hapd,\n\t\t\t  struct
      wpa_bss_params *params)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::get_seqnum
      Src: /src/hostap/src/ap/ap_drv_ops.c:638,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 6
    argNames:
    - ifname
    - hapd
    - addr
    - idx
    - link_id
    - seq
    argTypes:
    - char*
    - struct hostapd_data*
    - u8*
    - int
    - int
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 640
    functionName: hostapd_get_seqnum
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.c
    functionUses: 0
    functionsReached:
    - struct hostapd_data*::driver::get_seqnum
    linkageType: ''
    returnType: int
    signature: "int hostapd_get_seqnum(const char *ifname, struct hostapd_data *hapd,\n\t\t
      \      const u8 *addr, int idx, int link_id, u8 *seq)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::flush
      Src: /src/hostap/src/ap/ap_drv_ops.c:655,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 656
    functionName: hostapd_flush
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.c
    functionUses: 0
    functionsReached:
    - struct hostapd_data*::driver::flush
    linkageType: ''
    returnType: int
    signature: int hostapd_flush(struct hostapd_data *hapd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_get_punct_bitmap
      Src: /src/hostap/src/ap/ap_drv_ops.c:685,1
    - Dst: hostapd_set_freq_params
      Src: /src/hostap/src/ap/ap_drv_ops.c:688,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ap_drv_ops.c:701,1
    - Dst: struct hostapd_data*::driver::set_freq
      Src: /src/hostap/src/ap/ap_drv_ops.c:706,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 14
    argNames:
    - hapd
    - mode
    - freq
    - channel
    - edmg
    - edmg_channel
    - ht_enabled
    - vht_enabled
    - he_enabled
    - eht_enabled
    - sec_channel_offset
    - oper_chwidth
    - center_segment0
    - center_segment1
    argTypes:
    - struct hostapd_data*
    - enum hostapd_hw_mode
    - int
    - int
    - int
    - u8
    - int
    - int
    - int
    - bool
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 659
    functionDepth: 1
    functionLinenumber: 659
    functionLinenumberEnd: 707
    functionName: hostapd_set_freq
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.c
    functionUses: 0
    functionsReached:
    - hostapd_get_punct_bitmap
    - wpa_printf
    - struct hostapd_data*::driver::set_freq
    - hostapd_set_freq_params
    linkageType: ''
    returnType: int
    signature: "int hostapd_set_freq(struct hostapd_data *hapd, enum hostapd_hw_mode
      mode,\n\t\t     int freq, int channel, int edmg, u8 edmg_channel,\n\t\t     int
      ht_enabled, int vht_enabled,\n\t\t     int he_enabled, bool eht_enabled,\n\t\t
      \    int sec_channel_offset, int oper_chwidth,\n\t\t     int center_segment0,
      int center_segment1)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::set_rts
      Src: /src/hostap/src/ap/ap_drv_ops.c:713,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - hapd
    - rts
    argTypes:
    - struct hostapd_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 714
    functionName: hostapd_set_rts
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.c
    functionUses: 0
    functionsReached:
    - struct hostapd_data*::driver::set_rts
    linkageType: ''
    returnType: int
    signature: int hostapd_set_rts(struct hostapd_data *hapd, int rts)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::set_frag
      Src: /src/hostap/src/ap/ap_drv_ops.c:721,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - hapd
    - frag
    argTypes:
    - struct hostapd_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 722
    functionName: hostapd_set_frag
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.c
    functionUses: 0
    functionsReached:
    - struct hostapd_data*::driver::set_frag
    linkageType: ''
    returnType: int
    signature: int hostapd_set_frag(struct hostapd_data *hapd, int frag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::sta_set_flags
      Src: /src/hostap/src/ap/ap_drv_ops.c:730,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 5
    argNames:
    - hapd
    - addr
    - total_flags
    - flags_or
    - flags_and
    argTypes:
    - struct hostapd_data*
    - u8*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 732
    functionName: hostapd_sta_set_flags
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.c
    functionUses: 2
    functionsReached:
    - struct hostapd_data*::driver::sta_set_flags
    linkageType: ''
    returnType: int
    signature: "int hostapd_sta_set_flags(struct hostapd_data *hapd, u8 *addr,\n\t\t\t
      \ int total_flags, int flags_or, int flags_and)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::sta_set_airtime_weight
      Src: /src/hostap/src/ap/ap_drv_ops.c:740,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - hapd
    - addr
    - weight
    argTypes:
    - struct hostapd_data*
    - u8*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 735
    functionDepth: 1
    functionLinenumber: 735
    functionLinenumberEnd: 742
    functionName: hostapd_sta_set_airtime_weight
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.c
    functionUses: 0
    functionsReached:
    - struct hostapd_data*::driver::sta_set_airtime_weight
    linkageType: ''
    returnType: int
    signature: "int hostapd_sta_set_airtime_weight(struct hostapd_data *hapd, const
      u8 *addr,\n\t\t\t\t   unsigned int weight)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::set_country
      Src: /src/hostap/src/ap/ap_drv_ops.c:750,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - hapd
    - country
    argTypes:
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 751
    functionName: hostapd_set_country
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.c
    functionUses: 0
    functionsReached:
    - struct hostapd_data*::driver::set_country
    linkageType: ''
    returnType: int
    signature: int hostapd_set_country(struct hostapd_data *hapd, const char *country)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::set_tx_queue_params
      Src: /src/hostap/src/ap/ap_drv_ops.c:767,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 6
    argNames:
    - hapd
    - queue
    - aifs
    - cw_min
    - cw_max
    - burst_time
    argTypes:
    - struct hostapd_data*
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 770
    functionName: hostapd_set_tx_queue_params
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.c
    functionUses: 0
    functionsReached:
    - struct hostapd_data*::driver::set_tx_queue_params
    linkageType: ''
    returnType: int
    signature: "int hostapd_set_tx_queue_params(struct hostapd_data *hapd, int queue,
      int aifs,\n\t\t\t\tint cw_min, int cw_max, int burst_time)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::get_hw_feature_data
      Src: /src/hostap/src/ap/ap_drv_ops.c:780,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 4
    argNames:
    - hapd
    - num_modes
    - flags
    - dfs_domain
    argTypes:
    - struct hostapd_data*
    - u16*
    - u16*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 782
    functionName: hostapd_get_hw_feature_data
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.c
    functionUses: 0
    functionsReached:
    - struct hostapd_data*::driver::get_hw_feature_data
    linkageType: ''
    returnType: struct hostapd_hw_modes
    signature: "struct hostapd_hw_modes *\nhostapd_get_hw_feature_data(struct hostapd_data
      *hapd, u16 *num_modes,\n\t\t\t    u16 *flags, u8 *dfs_domain)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/src/ap/ap_drv_ops.c:787,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 785
    functionDepth: 0
    functionLinenumber: 785
    functionLinenumberEnd: 788
    functionName: hostapd_drv_none
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.c
    functionUses: 1
    functionsReached:
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: int hostapd_drv_none(struct hostapd_data *hapd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/src/ap/ap_drv_ops.c:793,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 791
    functionDepth: 0
    functionLinenumber: 791
    functionLinenumberEnd: 794
    functionName: hostapd_drv_nl80211
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.c
    functionUses: 0
    functionsReached:
    - os_strcmp
    linkageType: ''
    returnType: bool
    signature: bool hostapd_drv_nl80211(struct hostapd_data *hapd)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_is_ml_partner
      Src: /src/hostap/src/ap/ap_drv_ops.c:821,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ap_drv_ops.c:823,1
    - Dst: struct hostapd_data*::driver::scan2
      Src: /src/hostap/src/ap/ap_drv_ops.c:832,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 18
    argCount: 2
    argNames:
    - hapd
    - params
    argTypes:
    - struct hostapd_data*
    - struct wpa_driver_scan_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 797
    functionDepth: 1
    functionLinenumber: 797
    functionLinenumberEnd: 834
    functionName: hostapd_driver_scan
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - struct hostapd_data*::driver::scan2
    - hostapd_is_ml_partner
    linkageType: ''
    returnType: int
    signature: "int hostapd_driver_scan(struct hostapd_data *hapd,\n\t\t\tstruct wpa_driver_scan_params
      *params)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::get_scan_results
      Src: /src/hostap/src/ap/ap_drv_ops.c:841,1
    - Dst: struct hostapd_data*::driver::get_scan_results2
      Src: /src/hostap/src/ap/ap_drv_ops.c:843,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 845
    functionName: hostapd_driver_get_scan_results
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.c
    functionUses: 1
    functionsReached:
    - struct hostapd_data*::driver::get_scan_results
    - struct hostapd_data*::driver::get_scan_results2
    linkageType: ''
    returnType: struct wpa_scan_results
    signature: "struct wpa_scan_results * hostapd_driver_get_scan_results(\n\tstruct
      hostapd_data *hapd)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::set_noa
      Src: /src/hostap/src/ap/ap_drv_ops.c:852,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - hapd
    - count
    - start
    - duration
    argTypes:
    - struct hostapd_data*
    - u8
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 855
    functionName: hostapd_driver_set_noa
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.c
    functionUses: 0
    functionsReached:
    - struct hostapd_data*::driver::set_noa
    linkageType: ''
    returnType: int
    signature: "int hostapd_driver_set_noa(struct hostapd_data *hapd, u8 count, int
      start,\n\t\t\t   int duration)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/ap/ap_drv_ops.c:869,1
    - Dst: struct hostapd_data*::driver::set_key
      Src: /src/hostap/src/ap/ap_drv_ops.c:888,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 12
    argNames:
    - ifname
    - hapd
    - alg
    - addr
    - key_idx
    - vlan_id
    - set_tx
    - seq
    - seq_len
    - key
    - key_len
    - key_flag
    argTypes:
    - char*
    - struct hostapd_data*
    - enum wpa_alg
    - u8*
    - int
    - int
    - int
    - u8*
    - size_t
    - u8*
    - size_t
    - enum key_flag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 858
    functionDepth: 0
    functionLinenumber: 858
    functionLinenumberEnd: 889
    functionName: hostapd_drv_set_key
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.c
    functionUses: 6
    functionsReached:
    - struct hostapd_data*::driver::set_key
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int hostapd_drv_set_key(const char *ifname, struct hostapd_data *hapd,\n\t\t\tenum
      wpa_alg alg, const u8 *addr,\n\t\t\tint key_idx, int vlan_id, int set_tx,\n\t\t\tconst
      u8 *seq, size_t seq_len,\n\t\t\tconst u8 *key, size_t key_len, enum key_flag
      key_flag)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::send_mlme
      Src: /src/hostap/src/ap/ap_drv_ops.c:906,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 7
    argNames:
    - hapd
    - msg
    - len
    - noack
    - csa_offs
    - csa_offs_len
    - no_encrypt
    argTypes:
    - struct hostapd_data*
    - void*
    - size_t
    - int
    - u16*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 892
    functionDepth: 0
    functionLinenumber: 892
    functionLinenumberEnd: 909
    functionName: hostapd_drv_send_mlme
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.c
    functionUses: 7
    functionsReached:
    - struct hostapd_data*::driver::send_mlme
    linkageType: ''
    returnType: int
    signature: "int hostapd_drv_send_mlme(struct hostapd_data *hapd,\n\t\t\t  const
      void *msg, size_t len, int noack,\n\t\t\t  const u16 *csa_offs, size_t csa_offs_len,\n\t\t\t
      \ int no_encrypt)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/ap_drv_ops.c:920,1
    - Dst: ap_sta_is_mld
      Src: /src/hostap/src/ap/ap_drv_ops.c:923,1
    - Dst: struct hostapd_data*::driver::sta_deauth
      Src: /src/hostap/src/ap/ap_drv_ops.c:930,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - hapd
    - addr
    - reason
    argTypes:
    - struct hostapd_data*
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 912
    functionDepth: 1
    functionLinenumber: 912
    functionLinenumberEnd: 932
    functionName: hostapd_drv_sta_deauth
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.c
    functionUses: 3
    functionsReached:
    - ap_sta_is_mld
    - struct hostapd_data*::driver::sta_deauth
    - ap_get_sta
    linkageType: ''
    returnType: int
    signature: "int hostapd_drv_sta_deauth(struct hostapd_data *hapd,\n\t\t\t   const
      u8 *addr, int reason)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/ap_drv_ops.c:943,1
    - Dst: ap_sta_is_mld
      Src: /src/hostap/src/ap/ap_drv_ops.c:945,1
    - Dst: struct hostapd_data*::driver::sta_disassoc
      Src: /src/hostap/src/ap/ap_drv_ops.c:954,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - hapd
    - addr
    - reason
    argTypes:
    - struct hostapd_data*
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 935
    functionDepth: 1
    functionLinenumber: 935
    functionLinenumberEnd: 956
    functionName: hostapd_drv_sta_disassoc
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.c
    functionUses: 1
    functionsReached:
    - ap_sta_is_mld
    - struct hostapd_data*::driver::sta_disassoc
    - ap_get_sta
    linkageType: ''
    returnType: int
    signature: "int hostapd_drv_sta_disassoc(struct hostapd_data *hapd,\n\t\t\t     const
      u8 *addr, int reason)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::wnm_oper
      Src: /src/hostap/src/ap/ap_drv_ops.c:964,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 5
    argNames:
    - hapd
    - oper
    - peer
    - buf
    - buf_len
    argTypes:
    - struct hostapd_data*
    - enum wnm_oper
    - u8*
    - u8*
    - u16*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 959
    functionDepth: 0
    functionLinenumber: 959
    functionLinenumberEnd: 966
    functionName: hostapd_drv_wnm_oper
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.c
    functionUses: 0
    functionsReached:
    - struct hostapd_data*::driver::wnm_oper
    linkageType: ''
    returnType: int
    signature: "int hostapd_drv_wnm_oper(struct hostapd_data *hapd, enum wnm_oper
      oper,\n\t\t\t const u8 *peer, u8 *buf, u16 *buf_len)"
  - BBCount: 17
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 2
    argNames:
    - category
    - sub_category
    argTypes:
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 970
    functionDepth: 0
    functionLinenumber: 970
    functionLinenumberEnd: 1005
    functionName: hostapd_is_action_frame_link_agnostic
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hostapd_is_action_frame_link_agnostic(u8 category, u8 sub_category)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: is_multicast_ether_addr
      Src: /src/hostap/src/ap/ap_drv_ops.c:1027,1
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/ap_drv_ops.c:1033,1
    - Dst: is_broadcast_ether_addr
      Src: /src/hostap/src/ap/ap_drv_ops.c:1036,1
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/ap_drv_ops.c:1047,1
    - Dst: ap_sta_is_mld
      Src: /src/hostap/src/ap/ap_drv_ops.c:1049,1
    - Dst: hostapd_is_action_frame_link_agnostic
      Src: /src/hostap/src/ap/ap_drv_ops.c:1054,1
    - Dst: struct hostapd_data*::driver::send_action
      Src: /src/hostap/src/ap/ap_drv_ops.c:1059,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 25
    argCount: 8
    argNames:
    - hapd
    - freq
    - wait
    - dst
    - data
    - len
    - addr3_ap
    - forced_a3
    argTypes:
    - struct hostapd_data*
    - unsigned int
    - unsigned int
    - u8*
    - u8*
    - size_t
    - bool
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1009
    functionDepth: 1
    functionLinenumber: 1009
    functionLinenumberEnd: 1062
    functionName: hapd_drv_send_action
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.c
    functionUses: 0
    functionsReached:
    - is_multicast_ether_addr
    - is_broadcast_ether_addr
    - ap_sta_is_mld
    - hostapd_is_action_frame_link_agnostic
    - struct hostapd_data*::driver::send_action
    - ap_get_sta
    linkageType: ''
    returnType: int
    signature: "int hapd_drv_send_action(struct hostapd_data *hapd, unsigned int freq,\n\t\t\t\tunsigned
      int wait, const u8 *dst,\n\t\t\t\tconst u8 *data, size_t len, bool addr3_ap,\n\t\t\t\tconst
      u8 *forced_a3)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hapd_drv_send_action
      Src: /src/hostap/src/ap/ap_drv_ops.c:1069,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - hapd
    - freq
    - wait
    - dst
    - data
    - len
    argTypes:
    - struct hostapd_data*
    - unsigned int
    - unsigned int
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 1065
    functionDepth: 2
    functionLinenumber: 1065
    functionLinenumberEnd: 1071
    functionName: hostapd_drv_send_action
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.c
    functionUses: 7
    functionsReached:
    - hapd_drv_send_action
    linkageType: ''
    returnType: int
    signature: "int hostapd_drv_send_action(struct hostapd_data *hapd, unsigned int
      freq,\n\t\t\t    unsigned int wait, const u8 *dst, const u8 *data,\n\t\t\t    size_t
      len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hapd_drv_send_action
      Src: /src/hostap/src/ap/ap_drv_ops.c:1079,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - hapd
    - freq
    - wait
    - dst
    - data
    - len
    argTypes:
    - struct hostapd_data*
    - unsigned int
    - unsigned int
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1074
    functionDepth: 2
    functionLinenumber: 1074
    functionLinenumberEnd: 1081
    functionName: hostapd_drv_send_action_addr3_ap
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.c
    functionUses: 3
    functionsReached:
    - hapd_drv_send_action
    linkageType: ''
    returnType: int
    signature: "int hostapd_drv_send_action_addr3_ap(struct hostapd_data *hapd,\n\t\t\t\t
      \    unsigned int freq,\n\t\t\t\t     unsigned int wait, const u8 *dst,\n\t\t\t\t
      \    const u8 *data, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hapd_drv_send_action
      Src: /src/hostap/src/ap/ap_drv_ops.c:1090,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - hapd
    - freq
    - wait
    - dst
    - a3
    - data
    - len
    argTypes:
    - struct hostapd_data*
    - unsigned int
    - unsigned int
    - u8*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 1084
    functionDepth: 2
    functionLinenumber: 1084
    functionLinenumberEnd: 1092
    functionName: hostapd_drv_send_action_forced_addr3
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.c
    functionUses: 0
    functionsReached:
    - hapd_drv_send_action
    linkageType: ''
    returnType: int
    signature: "int hostapd_drv_send_action_forced_addr3(struct hostapd_data *hapd,\n\t\t\t\t\t
      unsigned int freq,\n\t\t\t\t\t unsigned int wait, const u8 *dst,\n\t\t\t\t\t
      const u8 *a3,\n\t\t\t\t\t const u8 *data, size_t len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_get_punct_bitmap
      Src: /src/hostap/src/ap/ap_drv_ops.c:1122,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ap_drv_ops.c:1129,1
    - Dst: hostapd_set_freq_params
      Src: /src/hostap/src/ap/ap_drv_ops.c:1134,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ap_drv_ops.c:1135,1
    - Dst: struct hostapd_data*::driver::start_dfs_cac
      Src: /src/hostap/src/ap/ap_drv_ops.c:1146,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/ap/ap_drv_ops.c:1152,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 13
    argNames:
    - iface
    - mode
    - freq
    - channel
    - ht_enabled
    - vht_enabled
    - he_enabled
    - eht_enabled
    - sec_channel_offset
    - oper_chwidth
    - center_segment0
    - center_segment1
    - radar_background
    argTypes:
    - struct hostapd_iface*
    - enum hostapd_hw_mode
    - int
    - int
    - int
    - int
    - int
    - bool
    - int
    - int
    - int
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1095
    functionDepth: 1
    functionLinenumber: 1095
    functionLinenumberEnd: 1156
    functionName: hostapd_start_dfs_cac
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - os_get_reltime
    - struct hostapd_data*::driver::start_dfs_cac
    - hostapd_get_punct_bitmap
    - hostapd_set_freq_params
    linkageType: ''
    returnType: int
    signature: "int hostapd_start_dfs_cac(struct hostapd_iface *iface,\n\t\t\t  enum
      hostapd_hw_mode mode, int freq,\n\t\t\t  int channel, int ht_enabled, int vht_enabled,\n\t\t\t
      \ int he_enabled, bool eht_enabled,\n\t\t\t  int sec_channel_offset, int oper_chwidth,\n\t\t\t
      \ int center_segment0, int center_segment1,\n\t\t\t  bool radar_background)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::set_qos_map
      Src: /src/hostap/src/ap/ap_drv_ops.c:1165,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - hapd
    - qos_map_set
    - qos_map_set_len
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1167
      start: 1159
    functionDepth: 0
    functionLinenumber: 1159
    functionLinenumberEnd: 1167
    functionName: hostapd_drv_set_qos_map
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.c
    functionUses: 1
    functionsReached:
    - struct hostapd_data*::driver::set_qos_map
    linkageType: ''
    returnType: int
    signature: "int hostapd_drv_set_qos_map(struct hostapd_data *hapd,\n\t\t\t    const
      u8 *qos_map_set, u8 qos_map_set_len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: is_6ghz_op_class
      Src: /src/hostap/src/ap/ap_drv_ops.c:1177,1
    - Dst: hostapd_config_check_bss_6g
      Src: /src/hostap/src/ap/ap_drv_ops.c:1178,1
    - Dst: freq_range_list_includes
      Src: /src/hostap/src/ap/ap_drv_ops.c:1187,1
    - Dst: freq_range_list_includes
      Src: /src/hostap/src/ap/ap_drv_ops.c:1194,1
    - Dst: is_6ghz_freq
      Src: /src/hostap/src/ap/ap_drv_ops.c:1198,1
    - Dst: is_6ghz_psc_frequency
      Src: /src/hostap/src/ap/ap_drv_ops.c:1200,1
    - Dst: int_array_add_unique
      Src: /src/hostap/src/ap/ap_drv_ops.c:1207,1
    - Dst: is_6ghz_freq
      Src: /src/hostap/src/ap/ap_drv_ops.c:1209,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 14
    argCount: 5
    argNames:
    - hapd
    - mode
    - acs_ch_list_all
    - allow_disabled
    - freq_list
    argTypes:
    - struct hostapd_data*
    - struct hostapd_hw_modes*
    - int
    - bool
    - int**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1214
      start: 1170
    functionDepth: 1
    functionLinenumber: 1170
    functionLinenumberEnd: 1214
    functionName: hostapd_get_hw_mode_any_channels
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.c
    functionUses: 0
    functionsReached:
    - freq_range_list_includes
    - is_6ghz_freq
    - is_6ghz_op_class
    - is_6ghz_psc_frequency
    - int_array_add_unique
    - hostapd_config_check_bss_6g
    linkageType: ''
    returnType: void
    signature: "void hostapd_get_hw_mode_any_channels(struct hostapd_data *hapd,\n\t\t\t\t
      \     struct hostapd_hw_modes *mode,\n\t\t\t\t      int acs_ch_list_all, bool
      allow_disabled,\n\t\t\t\t      int **freq_list)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::get_ext_capab
      Src: /src/hostap/src/ap/ap_drv_ops.c:1224,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 1217
    functionDepth: 0
    functionLinenumber: 1217
    functionLinenumberEnd: 1228
    functionName: hostapd_get_ext_capa
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.c
    functionUses: 1
    functionsReached:
    - struct hostapd_data*::driver::get_ext_capab
    linkageType: ''
    returnType: void
    signature: void hostapd_get_ext_capa(struct hostapd_iface *iface)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::get_mld_capab
      Src: /src/hostap/src/ap/ap_drv_ops.c:1238,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1241
      start: 1231
    functionDepth: 0
    functionLinenumber: 1231
    functionLinenumberEnd: 1241
    functionName: hostapd_get_mld_capa
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.c
    functionUses: 1
    functionsReached:
    - struct hostapd_data*::driver::get_mld_capab
    linkageType: ''
    returnType: void
    signature: void hostapd_get_mld_capa(struct hostapd_iface *iface)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/ap/ap_drv_ops.c:1260,1
    - Dst: hostapd_get_hw_mode_any_channels
      Src: /src/hostap/src/ap/ap_drv_ops.c:1287,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ap_drv_ops.c:1292,1
    - Dst: hostapd_get_oper_chwidth
      Src: /src/hostap/src/ap/ap_drv_ops.c:1317,1
    - Dst: op_class_to_bandwidth
      Src: /src/hostap/src/ap/ap_drv_ops.c:1328,1
    - Dst: struct hostapd_data*::driver::do_acs
      Src: /src/hostap/src/ap/ap_drv_ops.c:1330,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_drv_ops.c:1331,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 47
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1334
      start: 1249
    functionDepth: 2
    functionLinenumber: 1249
    functionLinenumberEnd: 1334
    functionName: hostapd_drv_do_acs
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - os_memset
    - struct hostapd_data*::driver::do_acs
    - op_class_to_bandwidth
    - os_free
    - hostapd_get_hw_mode_any_channels
    - hostapd_get_oper_chwidth
    linkageType: ''
    returnType: int
    signature: int hostapd_drv_do_acs(struct hostapd_data *hapd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::update_dh_ie
      Src: /src/hostap/src/ap/ap_drv_ops.c:1342,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 5
    argNames:
    - hapd
    - peer
    - reason_code
    - ie
    - ielen
    argTypes:
    - struct hostapd_data*
    - u8*
    - u16
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1344
      start: 1337
    functionDepth: 0
    functionLinenumber: 1337
    functionLinenumberEnd: 1344
    functionName: hostapd_drv_update_dh_ie
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.c
    functionUses: 0
    functionsReached:
    - struct hostapd_data*::driver::update_dh_ie
    linkageType: ''
    returnType: int
    signature: "int hostapd_drv_update_dh_ie(struct hostapd_data *hapd, const u8 *peer,\n\t\t\t
      \    u16 reason_code, const u8 *ie, size_t ielen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::dpp_listen
      Src: /src/hostap/src/ap/ap_drv_ops.c:1351,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - hapd
    - enable
    argTypes:
    - struct hostapd_data*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1352
      start: 1347
    functionDepth: 0
    functionLinenumber: 1347
    functionLinenumberEnd: 1352
    functionName: hostapd_drv_dpp_listen
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.c
    functionUses: 0
    functionsReached:
    - struct hostapd_data*::driver::dpp_listen
    linkageType: ''
    returnType: int
    signature: int hostapd_drv_dpp_listen(struct hostapd_data *hapd, bool enable)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/ap/ap_drv_ops.c:1367,1
    - Dst: struct hostapd_data*::driver::set_secure_ranging_ctx
      Src: /src/hostap/src/ap/ap_drv_ops.c:1377,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 9
    argNames:
    - hapd
    - own_addr
    - peer_addr
    - cipher
    - tk_len
    - tk
    - ltf_keyseed_len
    - ltf_keyseed
    - action
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8*
    - u32
    - u8
    - u8*
    - u8
    - u8*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1378
      start: 1356
    functionDepth: 0
    functionLinenumber: 1356
    functionLinenumberEnd: 1378
    functionName: hostapd_drv_set_secure_ranging_ctx
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.c
    functionUses: 0
    functionsReached:
    - struct hostapd_data*::driver::set_secure_ranging_ctx
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int hostapd_drv_set_secure_ranging_ctx(struct hostapd_data *hapd,\n\t\t\t\t
      \      const u8 *own_addr, const u8 *peer_addr,\n\t\t\t\t       u32 cipher,
      u8 tk_len, const u8 *tk,\n\t\t\t\t       u8 ltf_keyseed_len,\n\t\t\t\t       const
      u8 *ltf_keyseed, u32 action)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::get_multi_hw_info
      Src: /src/hostap/src/ap/ap_drv_ops.c:1389,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - hapd
    - num_multi_hws
    argTypes:
    - struct hostapd_data*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1390
      start: 1382
    functionDepth: 0
    functionLinenumber: 1382
    functionLinenumberEnd: 1390
    functionName: hostapd_get_multi_hw_info
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.c
    functionUses: 0
    functionsReached:
    - struct hostapd_data*::driver::get_multi_hw_info
    linkageType: ''
    returnType: struct hostapd_multi_hw_info
    signature: "struct hostapd_multi_hw_info *\nhostapd_get_multi_hw_info(struct hostapd_data
      *hapd,\n\t\t\t  unsigned int *num_multi_hws)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::add_pmkid
      Src: /src/hostap/src/ap/ap_drv_ops.c:1398,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - hapd
    - params
    argTypes:
    - struct hostapd_data*
    - struct wpa_pmkid_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1399
      start: 1393
    functionDepth: 0
    functionLinenumber: 1393
    functionLinenumberEnd: 1399
    functionName: hostapd_drv_add_pmkid
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.c
    functionUses: 0
    functionsReached:
    - struct hostapd_data*::driver::add_pmkid
    linkageType: ''
    returnType: int
    signature: "int hostapd_drv_add_pmkid(struct hostapd_data *hapd,\n\t\t\t  struct
      wpa_pmkid_params *params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/ap/ap_drv_ops.c:1407,1
    - Dst: hostapd_drv_add_pmkid
      Src: /src/hostap/src/ap/ap_drv_ops.c:1413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 6
    argNames:
    - hapd
    - bssid
    - pmk
    - pmk_len
    - pmkid
    - akmp
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8*
    - size_t
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1414
      start: 1402
    functionDepth: 1
    functionLinenumber: 1402
    functionLinenumberEnd: 1414
    functionName: hostapd_add_pmkid
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.c
    functionUses: 2
    functionsReached:
    - hostapd_drv_add_pmkid
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int hostapd_add_pmkid(struct hostapd_data *hapd, const u8 *bssid,
      const u8 *pmk,\n\t\t      size_t pmk_len, const u8 *pmkid, int akmp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::remove_pmkid
      Src: /src/hostap/src/ap/ap_drv_ops.c:1422,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - hapd
    - params
    argTypes:
    - struct hostapd_data*
    - struct wpa_pmkid_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1423
      start: 1417
    functionDepth: 0
    functionLinenumber: 1417
    functionLinenumberEnd: 1423
    functionName: hostapd_drv_remove_pmkid
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.c
    functionUses: 0
    functionsReached:
    - struct hostapd_data*::driver::remove_pmkid
    linkageType: ''
    returnType: int
    signature: "int hostapd_drv_remove_pmkid(struct hostapd_data *hapd,\n\t\t\t\t
      \   struct wpa_pmkid_params *params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/ap/ap_drv_ops.c:1431,1
    - Dst: hostapd_drv_remove_pmkid
      Src: /src/hostap/src/ap/ap_drv_ops.c:1435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - hapd
    - sta_addr
    - pmkid
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1436
      start: 1426
    functionDepth: 1
    functionLinenumber: 1426
    functionLinenumberEnd: 1436
    functionName: hostapd_remove_pmkid
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.c
    functionUses: 0
    functionsReached:
    - hostapd_drv_remove_pmkid
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int hostapd_remove_pmkid(struct hostapd_data *hapd, const u8 *sta_addr,\n\t\t\t
      const u8 *pmkid)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:83,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth_ft.c:84,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/ap/wpa_auth_ft.c:85,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth_ft.c:86,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth_ft.c:87,1
    - Dst: os_memdup
      Src: /src/hostap/src/ap/wpa_auth_ft.c:90,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/wpa_auth_ft.c:105,1
    - Dst: aes_siv_decrypt
      Src: /src/hostap/src/ap/wpa_auth_ft.c:109,1
    - Dst: aes_siv_decrypt
      Src: /src/hostap/src/ap/wpa_auth_ft.c:118,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/ap/wpa_auth_ft.c:124,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth_ft.c:128,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:132,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 10
    argNames:
    - key
    - key_len
    - enc
    - enc_len
    - auth
    - auth_len
    - src_addr
    - type
    - plain
    - plain_size
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - u8
    - u8**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 74
    functionDepth: 3
    functionLinenumber: 74
    functionLinenumberEnd: 135
    functionName: wpa_ft_rrb_decrypt
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump_key
    - wpa_hexdump
    - os_memdup
    - MAC2STR
    - os_zalloc
    - os_free
    - aes_siv_decrypt
    linkageType: ''
    returnType: int
    signature: "int wpa_ft_rrb_decrypt(const u8 *key, const size_t key_len,\n\t\t\t
      \     const u8 *enc, size_t enc_len,\n\t\t\t      const u8 *auth, const size_t
      auth_len,\n\t\t\t      const u8 *src_addr, u8 type,\n\t\t\t      u8 **plain,
      size_t *plain_size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: host_to_le16
      Src: /src/hostap/src/ap/wpa_auth_ft.c:151,1
    - Dst: le_to_host16
      Src: /src/hostap/src/ap/wpa_auth_ft.c:158,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 5
    argNames:
    - plain
    - plain_len
    - type
    - tlv_len
    - tlv_data
    argTypes:
    - u8*
    - size_t
    - u16
    - size_t*
    - u8**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 176
    functionName: wpa_ft_rrb_get_tlv
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - le_to_host16
    - wpa_printf
    - host_to_le16
    linkageType: ''
    returnType: int
    signature: "int wpa_ft_rrb_get_tlv(const u8 *plain, size_t plain_len,\n\t\t\t
      \     u16 type, size_t *tlv_len, const u8 **tlv_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:187,1
    - Dst: le_to_host16
      Src: /src/hostap/src/ap/wpa_auth_ft.c:193,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:195,1
    - Dst: le_to_host16
      Src: /src/hostap/src/ap/wpa_auth_ft.c:196,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:199,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth_ft.c:205,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth_ft.c:212,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:214,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - plain
    - plain_len
    argTypes:
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 215
    functionName: wpa_ft_rrb_dump
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - le_to_host16
    - wpa_printf
    - wpa_hexdump
    linkageType: ''
    returnType: void
    signature: void wpa_ft_rrb_dump(const u8 *plain, const size_t plain_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 225
    functionName: cmp_int
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cmp_int(const void *a, const void *b)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/ap/wpa_auth_ft.c:240,1
    - Dst: le_to_host16
      Src: /src/hostap/src/ap/wpa_auth_ft.c:248,1
    - Dst: le_to_host16
      Src: /src/hostap/src/ap/wpa_auth_ft.c:249,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:252,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:260,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:266,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/ap/wpa_auth_ft.c:272,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:278,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:292,1
    - Dst: qsort
      Src: /src/hostap/src/ap/wpa_auth_ft.c:302,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 53
    argCount: 3
    argNames:
    - plain
    - plain_len
    - vlan
    argTypes:
    - u8*
    - size_t
    - struct vlan_description*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 307
    functionName: wpa_ft_rrb_get_tlv_vlan
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - WPA_GET_LE16
    - le_to_host16
    - qsort
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpa_ft_rrb_get_tlv_vlan(const u8 *plain, const size_t plain_len,\n\t\t\t\t
      \  struct vlan_description *vlan)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - tlvs
    argTypes:
    - struct tlv_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 324
    functionName: wpa_ft_tlv_len
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t wpa_ft_tlv_len(const struct tlv_list *tlvs)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: host_to_le16
      Src: /src/hostap/src/ap/wpa_auth_ft.c:345,1
    - Dst: host_to_le16
      Src: /src/hostap/src/ap/wpa_auth_ft.c:346,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_ft.c:354,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - tlvs
    - start
    - endpos
    argTypes:
    - struct tlv_list*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 359
    functionName: wpa_ft_tlv_lin
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - host_to_le16
    linkageType: ''
    returnType: size_t
    signature: "size_t wpa_ft_tlv_lin(const struct tlv_list *tlvs, u8 *start,\n\t\t\t
      \    u8 *endpos)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - vlan
    argTypes:
    - struct vlan_description*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 380
    functionName: wpa_ft_vlan_len
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t wpa_ft_vlan_len(const struct vlan_description *vlan)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: host_to_le16
      Src: /src/hostap/src/ap/wpa_auth_ft.c:400,1
    - Dst: host_to_le16
      Src: /src/hostap/src/ap/wpa_auth_ft.c:401,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/ap/wpa_auth_ft.c:407,1
    - Dst: host_to_le16
      Src: /src/hostap/src/ap/wpa_auth_ft.c:418,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/ap/wpa_auth_ft.c:427,1
    - Dst: host_to_le16
      Src: /src/hostap/src/ap/wpa_auth_ft.c:431,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 3
    argNames:
    - vlan
    - start
    - endpos
    argTypes:
    - struct vlan_description*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 434
    functionName: wpa_ft_vlan_lin
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - host_to_le16
    - WPA_PUT_LE16
    linkageType: ''
    returnType: size_t
    signature: "size_t wpa_ft_vlan_lin(const struct vlan_description *vlan,\n\t\t\t
      \     u8 *start, u8 *endpos)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ft_tlv_len
      Src: /src/hostap/src/ap/wpa_auth_ft.c:445,1
    - Dst: wpa_ft_tlv_len
      Src: /src/hostap/src/ap/wpa_auth_ft.c:446,1
    - Dst: wpa_ft_vlan_len
      Src: /src/hostap/src/ap/wpa_auth_ft.c:447,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/wpa_auth_ft.c:450,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:452,1
    - Dst: wpa_ft_tlv_lin
      Src: /src/hostap/src/ap/wpa_auth_ft.c:458,1
    - Dst: wpa_ft_tlv_lin
      Src: /src/hostap/src/ap/wpa_auth_ft.c:459,1
    - Dst: wpa_ft_vlan_lin
      Src: /src/hostap/src/ap/wpa_auth_ft.c:460,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:464,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth_ft.c:471,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 5
    argNames:
    - tlvs1
    - tlvs2
    - vlan
    - plain
    - plain_len
    argTypes:
    - struct tlv_list*
    - struct tlv_list*
    - struct vlan_description*
    - u8**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 437
    functionDepth: 2
    functionLinenumber: 437
    functionLinenumberEnd: 475
    functionName: wpa_ft_rrb_lin
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_ft_vlan_len
    - wpa_ft_vlan_lin
    - os_zalloc
    - wpa_ft_tlv_len
    - os_free
    - wpa_ft_tlv_lin
    linkageType: ''
    returnType: int
    signature: "int wpa_ft_rrb_lin(const struct tlv_list *tlvs1,\n\t\t\t  const struct
      tlv_list *tlvs2,\n\t\t\t  const struct vlan_description *vlan,\n\t\t\t  u8 **plain,
      size_t *plain_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:486,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth_ft.c:487,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/ap/wpa_auth_ft.c:488,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/ap/wpa_auth_ft.c:490,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth_ft.c:491,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_ft.c:495,1
    - Dst: aes_siv_encrypt
      Src: /src/hostap/src/ap/wpa_auth_ft.c:496,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:498,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth_ft.c:501,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 9
    argNames:
    - key
    - key_len
    - plain
    - plain_len
    - auth
    - auth_len
    - src_addr
    - type
    - enc
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - u8
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 478
    functionDepth: 3
    functionLinenumber: 478
    functionLinenumberEnd: 505
    functionName: wpa_ft_rrb_encrypt
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump_key
    - os_memcpy
    - wpa_hexdump
    - MAC2STR
    - aes_siv_encrypt
    linkageType: ''
    returnType: int
    signature: "int wpa_ft_rrb_encrypt(const u8 *key, const size_t key_len,\n\t\t\t
      \     const u8 *plain, const size_t plain_len,\n\t\t\t      const u8 *auth,
      const size_t auth_len,\n\t\t\t      const u8 *src_addr, u8 type, u8 *enc)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ft_rrb_lin
      Src: /src/hostap/src/ap/wpa_auth_ft.c:537,1
    - Dst: wpa_ft_rrb_lin
      Src: /src/hostap/src/ap/wpa_auth_ft.c:540,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:551,1
    - Dst: os_realloc
      Src: /src/hostap/src/ap/wpa_auth_ft.c:555,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/ap/wpa_auth_ft.c:560,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/ap/wpa_auth_ft.c:562,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/wpa_auth_ft.c:564,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/wpa_auth_ft.c:568,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/ap/wpa_auth_ft.c:573,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_ft.c:575,1
    - Dst: wpa_ft_rrb_encrypt
      Src: /src/hostap/src/ap/wpa_auth_ft.c:577,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth_ft.c:580,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/ap/wpa_auth_ft.c:585,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth_ft.c:586,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:589,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth_ft.c:590,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 55
    argCount: 10
    argNames:
    - key
    - key_len
    - tlvs_enc0
    - tlvs_enc1
    - tlvs_auth
    - vlan
    - src_addr
    - type
    - packet
    - packet_len
    argTypes:
    - u8*
    - size_t
    - struct tlv_list*
    - struct tlv_list*
    - struct tlv_list*
    - struct vlan_description*
    - u8*
    - u8
    - u8**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 523
    functionDepth: 4
    functionLinenumber: 523
    functionLinenumberEnd: 596
    functionName: wpa_ft_rrb_build
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - wpa_ft_rrb_lin
    - wpa_printf
    - os_memcpy
    - wpa_ft_rrb_encrypt
    - wpa_hexdump
    - os_memset
    - os_realloc
    - bin_clear_free
    - os_zalloc
    - os_free
    - WPA_PUT_LE16
    linkageType: ''
    returnType: int
    signature: "int wpa_ft_rrb_build(const u8 *key, const size_t key_len,\n\t\t\t
      \   const struct tlv_list *tlvs_enc0,\n\t\t\t    const struct tlv_list *tlvs_enc1,\n\t\t\t
      \   const struct tlv_list *tlvs_auth,\n\t\t\t    const struct vlan_description
      *vlan,\n\t\t\t    const u8 *src_addr, u8 type,\n\t\t\t    u8 **packet, size_t
      *packet_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - srcfield
    - ','
    - type
    - ','
    - field
    - ','
    - txt
    - ','
    - checklength
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 609
    functionName: RRB_GET_SRC
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RRB_GET_SRC(srcfield, type, field, txt, checklength)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - type
    - ','
    - field
    - ','
    - txt
    - ','
    - checklength
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 612
    functionName: RRB_GET
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RRB_GET(type, field, txt, checklength)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - type
    - ','
    - field
    - ','
    - txt
    - ','
    - checklength
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 614
    functionName: RRB_GET_AUTH
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RRB_GET_AUTH(type, field, txt, checklength)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - srcfield
    - ','
    - type
    - ','
    - field
    - ','
    - txt
    - ','
    - checklength
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 625
    functionName: RRB_GET_OPTIONAL_SRC
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RRB_GET_OPTIONAL_SRC(srcfield, type, field, txt, checklength)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - type
    - ','
    - field
    - ','
    - txt
    - ','
    - checklength
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 628
    functionName: RRB_GET_OPTIONAL
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RRB_GET_OPTIONAL(type, field, txt, checklength)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - type
    - ','
    - field
    - ','
    - txt
    - ','
    - checklength
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 630
    functionName: RRB_GET_OPTIONAL_AUTH
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RRB_GET_OPTIONAL_AUTH(type, field, txt, checklength)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:636,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth_ft.c:636,1
    - Dst: struct wpa_authenticator*::cb::send_ether
      Src: /src/hostap/src/ap/wpa_auth_ft.c:637,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - wpa_auth
    - dst
    - data
    - data_len
    argTypes:
    - struct wpa_authenticator*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 631
    functionDepth: 1
    functionLinenumber: 631
    functionLinenumberEnd: 639
    functionName: wpa_ft_rrb_send
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    - struct wpa_authenticator*::cb::send_ether
    linkageType: ''
    returnType: int
    signature: "int wpa_ft_rrb_send(struct wpa_authenticator *wpa_auth, const u8 *dst,\n\t\t\t
      \  const u8 *data, size_t data_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:648,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth_ft.c:649,1
    - Dst: struct wpa_authenticator*::cb::send_oui
      Src: /src/hostap/src/ap/wpa_auth_ft.c:650,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - wpa_auth
    - dst
    - oui_suffix
    - data
    - data_len
    argTypes:
    - struct wpa_authenticator*
    - u8*
    - u8
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 642
    functionDepth: 1
    functionLinenumber: 642
    functionLinenumberEnd: 652
    functionName: wpa_ft_rrb_oui_send
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    - struct wpa_authenticator*::cb::send_oui
    linkageType: ''
    returnType: int
    signature: "int wpa_ft_rrb_oui_send(struct wpa_authenticator *wpa_auth,\n\t\t\t
      \      const u8 *dst, u8 oui_suffix,\n\t\t\t       const u8 *data, size_t data_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_authenticator*::cb::send_ft_action
      Src: /src/hostap/src/ap/wpa_auth_ft.c:660,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - wpa_auth
    - dst
    - data
    - data_len
    argTypes:
    - struct wpa_authenticator*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 662
    functionName: wpa_ft_action_send
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - struct wpa_authenticator*::cb::send_ft_action
    linkageType: ''
    returnType: int
    signature: "int wpa_ft_action_send(struct wpa_authenticator *wpa_auth,\n\t\t\t
      \     const u8 *dst, const u8 *data, size_t data_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_authenticator*::cb::get_psk
      Src: /src/hostap/src/ap/wpa_auth_ft.c:671,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - wpa_auth
    - addr
    - p2p_dev_addr
    - prev_psk
    argTypes:
    - struct wpa_authenticator*
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 673
    functionName: wpa_ft_get_psk
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - struct wpa_authenticator*::cb::get_psk
    linkageType: ''
    returnType: u8
    signature: "u8 * wpa_ft_get_psk(struct wpa_authenticator *wpa_auth,\n\t\t\t\t
      const u8 *addr, const u8 *p2p_dev_addr,\n\t\t\t\t const u8 *prev_psk)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_authenticator*::cb::add_sta
      Src: /src/hostap/src/ap/wpa_auth_ft.c:681,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_auth
    - sta_addr
    argTypes:
    - struct wpa_authenticator*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 682
    functionName: wpa_ft_add_sta
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - struct wpa_authenticator*::cb::add_sta
    linkageType: ''
    returnType: struct wpa_state_machine
    signature: 'struct wpa_state_machine *

      wpa_ft_add_sta(struct wpa_authenticator *wpa_auth, const u8 *sta_addr)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_authenticator*::cb::set_vlan
      Src: /src/hostap/src/ap/wpa_auth_ft.c:690,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - wpa_auth
    - sta_addr
    - vlan
    argTypes:
    - struct wpa_authenticator*
    - u8*
    - struct vlan_description*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 691
    functionName: wpa_ft_set_vlan
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - struct wpa_authenticator*::cb::set_vlan
    linkageType: ''
    returnType: int
    signature: "int wpa_ft_set_vlan(struct wpa_authenticator *wpa_auth,\n\t\t\t   const
      u8 *sta_addr, struct vlan_description *vlan)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_authenticator*::cb::get_vlan
      Src: /src/hostap/src/ap/wpa_auth_ft.c:699,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - wpa_auth
    - sta_addr
    - vlan
    argTypes:
    - struct wpa_authenticator*
    - u8*
    - struct vlan_description*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 700
    functionName: wpa_ft_get_vlan
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - struct wpa_authenticator*::cb::get_vlan
    linkageType: ''
    returnType: int
    signature: "int wpa_ft_get_vlan(struct wpa_authenticator *wpa_auth,\n\t\t\t   const
      u8 *sta_addr, struct vlan_description *vlan)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_authenticator*::cb::set_identity
      Src: /src/hostap/src/ap/wpa_auth_ft.c:709,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - wpa_auth
    - sta_addr
    - identity
    - identity_len
    argTypes:
    - struct wpa_authenticator*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 711
    functionName: wpa_ft_set_identity
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - struct wpa_authenticator*::cb::set_identity
    linkageType: ''
    returnType: int
    signature: "int wpa_ft_set_identity(struct wpa_authenticator *wpa_auth, const
      u8 *sta_addr,\n\t\t    const u8 *identity, size_t identity_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_authenticator*::cb::get_identity
      Src: /src/hostap/src/ap/wpa_auth_ft.c:721,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - wpa_auth
    - sta_addr
    - buf
    argTypes:
    - struct wpa_authenticator*
    - u8*
    - u8**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 722
    functionName: wpa_ft_get_identity
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - struct wpa_authenticator*::cb::get_identity
    linkageType: ''
    returnType: size_t
    signature: "size_t wpa_ft_get_identity(struct wpa_authenticator *wpa_auth, const
      u8 *sta_addr,\n\t\t    const u8 **buf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_authenticator*::cb::set_radius_cui
      Src: /src/hostap/src/ap/wpa_auth_ft.c:731,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - wpa_auth
    - sta_addr
    - radius_cui
    - radius_cui_len
    argTypes:
    - struct wpa_authenticator*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 733
    functionName: wpa_ft_set_radius_cui
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - struct wpa_authenticator*::cb::set_radius_cui
    linkageType: ''
    returnType: int
    signature: "int wpa_ft_set_radius_cui(struct wpa_authenticator *wpa_auth, const
      u8 *sta_addr,\n\t\t      const u8 *radius_cui, size_t radius_cui_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_authenticator*::cb::get_radius_cui
      Src: /src/hostap/src/ap/wpa_auth_ft.c:743,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - wpa_auth
    - sta_addr
    - buf
    argTypes:
    - struct wpa_authenticator*
    - u8*
    - u8**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 744
    functionName: wpa_ft_get_radius_cui
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - struct wpa_authenticator*::cb::get_radius_cui
    linkageType: ''
    returnType: size_t
    signature: "size_t wpa_ft_get_radius_cui(struct wpa_authenticator *wpa_auth, const
      u8 *sta_addr,\n\t\t      const u8 **buf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_authenticator*::cb::set_session_timeout
      Src: /src/hostap/src/ap/wpa_auth_ft.c:753,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - wpa_auth
    - sta_addr
    - session_timeout
    argTypes:
    - struct wpa_authenticator*
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 755
    functionName: wpa_ft_set_session_timeout
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - struct wpa_authenticator*::cb::set_session_timeout
    linkageType: ''
    returnType: void
    signature: "void wpa_ft_set_session_timeout(struct wpa_authenticator *wpa_auth,\n\t\t\t
      \   const u8 *sta_addr, int session_timeout)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_authenticator*::cb::get_session_timeout
      Src: /src/hostap/src/ap/wpa_auth_ft.c:764,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_auth
    - sta_addr
    argTypes:
    - struct wpa_authenticator*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 765
    functionName: wpa_ft_get_session_timeout
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - struct wpa_authenticator*::cb::get_session_timeout
    linkageType: ''
    returnType: int
    signature: "int wpa_ft_get_session_timeout(struct wpa_authenticator *wpa_auth,\n\t\t\t
      \   const u8 *sta_addr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_authenticator*::cb::channel_info
      Src: /src/hostap/src/ap/wpa_auth_ft.c:774,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_auth
    - ci
    argTypes:
    - struct wpa_authenticator*
    - struct wpa_channel_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 775
    functionName: wpa_channel_info
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - struct wpa_authenticator*::cb::channel_info
    linkageType: ''
    returnType: int
    signature: "int wpa_channel_info(struct wpa_authenticator *wpa_auth,\n\t\t\t       struct
      wpa_channel_info *ci)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_ft.c:788,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - conf
    - buf
    - len
    argTypes:
    - struct wpa_auth_config*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 796
    functionName: wpa_write_mdie
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    linkageType: ''
    returnType: int
    signature: int wpa_write_mdie(struct wpa_auth_config *conf, u8 *buf, size_t len)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: wpa_key_mgmt_sha384
      Src: /src/hostap/src/ap/wpa_auth_ft.c:818,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/wpa_auth_ft.c:834,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/ap/wpa_auth_ft.c:837,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_ft.c:839,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_ft.c:841,1
    - Dst: wpa_key_mgmt_sha384
      Src: /src/hostap/src/ap/wpa_auth_ft.c:844,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/wpa_auth_ft.c:847,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/ap/wpa_auth_ft.c:850,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_ft.c:852,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_ft.c:854,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/wpa_auth_ft.c:858,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/ap/wpa_auth_ft.c:861,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_ft.c:863,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_ft.c:865,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_ft.c:871,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_ft.c:877,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_ft.c:882,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 59
    argCount: 12
    argNames:
    - conf
    - key_mgmt
    - key_len
    - r0kh_id
    - r0kh_id_len
    - anonce
    - snonce
    - buf
    - len
    - subelem
    - subelem_len
    - rsnxe_used
    argTypes:
    - struct wpa_auth_config*
    - int
    - size_t
    - u8*
    - size_t
    - u8*
    - u8*
    - u8*
    - size_t
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 799
    functionDepth: 1
    functionLinenumber: 799
    functionLinenumberEnd: 889
    functionName: wpa_write_ftie
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - WPA_PUT_LE16
    - os_memcpy
    - wpa_key_mgmt_sha384
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpa_write_ftie(struct wpa_auth_config *conf, int key_mgmt, size_t
      key_len,\n\t\t   const u8 *r0kh_id, size_t r0kh_id_len,\n\t\t   const u8 *anonce,
      const u8 *snonce,\n\t\t   u8 *buf, size_t len, const u8 *subelem,\n\t\t   size_t
      subelem_len, int rsnxe_used)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/wpa_auth_ft.c:914,1
    - Dst: dl_list_del
      Src: /src/hostap/src/ap/wpa_auth_ft.c:915,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/ap/wpa_auth_ft.c:916,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth_ft.c:917,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth_ft.c:918,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - item
    argTypes:
    - struct ft_remote_item*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 919
      start: 912
    functionDepth: 1
    functionLinenumber: 912
    functionLinenumberEnd: 919
    functionName: wpa_ft_rrb_seq_free
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - eloop_cancel_timeout
    - os_free
    - dl_list_del
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: void wpa_ft_rrb_seq_free(struct ft_remote_item *item)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/ap/wpa_auth_ft.c:927,1
    - Dst: struct ft_remote_item*::cb
      Src: /src/hostap/src/ap/wpa_auth_ft.c:930,1
    - Dst: wpa_ft_rrb_seq_free
      Src: /src/hostap/src/ap/wpa_auth_ft.c:932,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - wpa_auth
    - rkh_seq
    - cb
    argTypes:
    - struct wpa_authenticator*
    - struct ft_remote_seq*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 922
    functionDepth: 2
    functionLinenumber: 922
    functionLinenumberEnd: 934
    functionName: wpa_ft_rrb_seq_flush
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - wpa_ft_rrb_seq_free
    - struct ft_remote_item*::cb
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: "void wpa_ft_rrb_seq_flush(struct wpa_authenticator *wpa_auth,\n\t\t\t\t
      struct ft_remote_seq *rkh_seq, int cb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ft_rrb_seq_free
      Src: /src/hostap/src/ap/wpa_auth_ft.c:941,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 937
    functionDepth: 2
    functionLinenumber: 937
    functionLinenumberEnd: 942
    functionName: wpa_ft_rrb_seq_timeout
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - wpa_ft_rrb_seq_free
    linkageType: ''
    returnType: void
    signature: void wpa_ft_rrb_seq_timeout(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_len
      Src: /src/hostap/src/ap/wpa_auth_ft.c:971,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:972,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:976,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth_ft.c:978,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth_ft.c:978,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/wpa_auth_ft.c:979,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_ft.c:983,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/ap/wpa_auth_ft.c:986,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:987,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/ap/wpa_auth_ft.c:991,1
    - Dst: os_memdup
      Src: /src/hostap/src/ap/wpa_auth_ft.c:995,1
    - Dst: os_memdup
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1002,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1008,1
    - Dst: wpa_ft_rrb_build
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1013,1
    - Dst: dl_list_add
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1020,1
    - Dst: wpa_ft_rrb_oui_send
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1022,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1025,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1029,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1031,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1032,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1033,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 55
    argCount: 12
    argNames:
    - wpa_auth
    - rkh_seq
    - src_addr
    - f_r0kh_id
    - f_r0kh_id_len
    - f_r1kh_id
    - key
    - key_len
    - enc
    - enc_len
    - auth
    - auth_len
    argTypes:
    - struct wpa_authenticator*
    - struct ft_remote_seq*
    - u8*
    - u8*
    - size_t
    - u8*
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 945
    functionDepth: 5
    functionLinenumber: 945
    functionLinenumberEnd: 1037
    functionName: wpa_ft_rrb_seq_req
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - random_get_bytes
    - os_get_reltime
    - os_memdup
    - wpa_ft_rrb_build
    - MAC2STR
    - os_zalloc
    - dl_list_add
    - eloop_register_timeout
    - wpa_ft_rrb_oui_send
    - os_free
    - dl_list_len
    - bin_clear_free
    linkageType: ''
    returnType: int
    signature: "int wpa_ft_rrb_seq_req(struct wpa_authenticator *wpa_auth,\n\t\t   struct
      ft_remote_seq *rkh_seq, const u8 *src_addr,\n\t\t   const u8 *f_r0kh_id, size_t
      f_r0kh_id_len,\n\t\t   const u8 *f_r1kh_id, const u8 *key, size_t key_len,\n\t\t
      \  const u8 *enc, size_t enc_len,\n\t\t   const u8 *auth, size_t auth_len,\n\t\t
      \  int (*cb)(struct wpa_authenticator *wpa_auth,\n\t\t\t     const u8 *src_addr,\n\t\t\t
      \    const u8 *enc, size_t enc_len,\n\t\t\t     const u8 *auth, size_t auth_len,\n\t\t\t
      \    int no_defer))"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: RRB_GET_AUTH
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1057,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1058,1
    - Dst: le_to_host32
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1066,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1071,1
    - Dst: os_reltime_sub
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1075,1
    - Dst: le_to_host32
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1077,1
    - Dst: le_to_host32
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1083,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1102,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1103,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1107,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1108,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 8
    argNames:
    - rkh_seq
    - src_addr
    - enc
    - enc_len
    - auth
    - auth_len
    - msgtype
    - no_defer
    argTypes:
    - struct ft_remote_seq*
    - u8*
    - u8*
    - size_t
    - u8*
    - size_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1111
      start: 1044
    functionDepth: 1
    functionLinenumber: 1044
    functionLinenumberEnd: 1111
    functionName: wpa_ft_rrb_seq_chk
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - le_to_host32
    - os_get_reltime
    - wpa_printf
    - wpa_hexdump
    - MAC2STR
    - os_reltime_sub
    - RRB_GET_AUTH
    linkageType: ''
    returnType: int
    signature: "int wpa_ft_rrb_seq_chk(struct ft_remote_seq *rkh_seq, const u8 *src_addr,\n\t\t
      \  const u8 *enc, size_t enc_len,\n\t\t   const u8 *auth, size_t auth_len,\n\t\t
      \  const char *msgtype, int no_defer)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RRB_GET_AUTH
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1127,1
    - Dst: le_to_host32
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1130,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1152,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 6
    argNames:
    - wpa_auth
    - rkh_seq
    - src_addr
    - auth
    - auth_len
    - msgtype
    argTypes:
    - struct wpa_authenticator*
    - struct ft_remote_seq*
    - u8*
    - u8*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1114
    functionDepth: 1
    functionLinenumber: 1114
    functionLinenumberEnd: 1153
    functionName: wpa_ft_rrb_seq_accept
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - le_to_host32
    - wpa_printf
    - RRB_GET_AUTH
    linkageType: ''
    returnType: void
    signature: "void wpa_ft_rrb_seq_accept(struct wpa_authenticator *wpa_auth,\n\t\t
      \     struct ft_remote_seq *rkh_seq, const u8 *src_addr,\n\t\t      const u8
      *auth, size_t auth_len,\n\t\t      const char *msgtype)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_get_reltime
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1161,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1165,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1167,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1171,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1173,1
    - Dst: host_to_le32
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1180,1
    - Dst: host_to_le32
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1181,1
    - Dst: host_to_le32
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1182,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - rkh_seq
    - f_seq
    argTypes:
    - struct ft_remote_seq*
    - struct ft_rrb_seq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1187
      start: 1156
    functionDepth: 1
    functionLinenumber: 1156
    functionLinenumberEnd: 1187
    functionName: wpa_ft_new_seq
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - os_get_reltime
    - wpa_printf
    - host_to_le32
    - random_get_bytes
    linkageType: ''
    returnType: int
    signature: "int wpa_ft_new_seq(struct ft_remote_seq *rkh_seq,\n\t\t\t  struct
      ft_rrb_seq *f_seq)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_del
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1239,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1240,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1242,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1243,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1244,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1245,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - r0
    argTypes:
    - struct wpa_ft_pmk_r0_sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1247
      start: 1234
    functionDepth: 1
    functionLinenumber: 1234
    functionLinenumberEnd: 1247
    functionName: wpa_ft_free_pmk_r0
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - eloop_cancel_timeout
    - os_free
    - dl_list_del
    - os_memset
    linkageType: ''
    returnType: void
    signature: void wpa_ft_free_pmk_r0(struct wpa_ft_pmk_r0_sa *r0)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_get_reltime
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1257,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1271,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1274,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1276,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1279,1
    - Dst: wpa_ft_free_pmk_r0
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1284,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1285
      start: 1250
    functionDepth: 2
    functionLinenumber: 1250
    functionLinenumberEnd: 1285
    functionName: wpa_ft_expire_pmk_r0
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - os_get_reltime
    - wpa_printf
    - wpa_ft_free_pmk_r0
    - eloop_cancel_timeout
    - eloop_register_timeout
    linkageType: ''
    returnType: void
    signature: void wpa_ft_expire_pmk_r0(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_del
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1293,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1294,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1296,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1297,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1298,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1299,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1300,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - r1
    argTypes:
    - struct wpa_ft_pmk_r1_sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1301
      start: 1288
    functionDepth: 1
    functionLinenumber: 1288
    functionLinenumberEnd: 1301
    functionName: wpa_ft_free_pmk_r1
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - eloop_cancel_timeout
    - os_free
    - dl_list_del
    - os_memset
    linkageType: ''
    returnType: void
    signature: void wpa_ft_free_pmk_r1(struct wpa_ft_pmk_r1_sa *r1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ft_free_pmk_r1
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1309
      start: 1304
    functionDepth: 2
    functionLinenumber: 1304
    functionLinenumberEnd: 1309
    functionName: wpa_ft_expire_pmk_r1
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - wpa_ft_free_pmk_r1
    linkageType: ''
    returnType: void
    signature: void wpa_ft_expire_pmk_r1(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1316,1
    - Dst: dl_list_init
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1318,1
    - Dst: dl_list_init
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1323
      start: 1312
    functionDepth: 1
    functionLinenumber: 1312
    functionLinenumberEnd: 1323
    functionName: wpa_ft_pmk_cache_init
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - os_zalloc
    - dl_list_init
    linkageType: ''
    returnType: struct wpa_ft_pmk_cache
    signature: struct wpa_ft_pmk_cache * wpa_ft_pmk_cache_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1331,1
    - Dst: wpa_ft_free_pmk_r0
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1333,1
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1335,1
    - Dst: wpa_ft_free_pmk_r1
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1337,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - cache
    argTypes:
    - struct wpa_ft_pmk_cache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1340
      start: 1326
    functionDepth: 2
    functionLinenumber: 1326
    functionLinenumberEnd: 1340
    functionName: wpa_ft_pmk_cache_deinit
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpa_ft_free_pmk_r1
    - wpa_ft_free_pmk_r0
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: void wpa_ft_pmk_cache_deinit(struct wpa_ft_pmk_cache *cache)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: os_get_reltime
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1357,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1359,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1363,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1365,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1366,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1371,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1373,1
    - Dst: os_malloc
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1379,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1381,1
    - Dst: os_malloc
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1386,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1388,1
    - Dst: dl_list_add
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1395,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1397,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1400,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 13
    argNames:
    - wpa_auth
    - spa
    - pmk_r0
    - pmk_r0_len
    - pmk_r0_name
    - pairwise
    - vlan
    - expires_in
    - session_timeout
    - identity
    - identity_len
    - radius_cui
    - radius_cui_len
    argTypes:
    - struct wpa_authenticator*
    - u8*
    - u8*
    - size_t
    - u8*
    - int
    - struct vlan_description*
    - int
    - int
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1404
      start: 1343
    functionDepth: 1
    functionLinenumber: 1343
    functionLinenumberEnd: 1404
    functionName: wpa_ft_store_pmk_r0
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - os_get_reltime
    - os_memcpy
    - os_malloc
    - os_zalloc
    - dl_list_add
    - eloop_register_timeout
    - bin_clear_free
    linkageType: ''
    returnType: int
    signature: "int wpa_ft_store_pmk_r0(struct wpa_authenticator *wpa_auth,\n\t\t\t
      \      const u8 *spa, const u8 *pmk_r0,\n\t\t\t       size_t pmk_r0_len,\n\t\t\t
      \      const u8 *pmk_r0_name, int pairwise,\n\t\t\t       const struct vlan_description
      *vlan,\n\t\t\t       int expires_in, int session_timeout,\n\t\t\t       const
      u8 *identity, size_t identity_len,\n\t\t\t       const u8 *radius_cui, size_t
      radius_cui_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_get_reltime
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1415,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1416,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1417,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1418,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - wpa_auth
    - spa
    - pmk_r0_name
    - r0_out
    argTypes:
    - struct wpa_authenticator*
    - u8*
    - u8*
    - struct wpa_ft_pmk_r0_sa**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1427
      start: 1407
    functionDepth: 1
    functionLinenumber: 1407
    functionLinenumberEnd: 1427
    functionName: wpa_ft_fetch_pmk_r0
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    - os_get_reltime
    - ether_addr_equal
    - os_memcmp_const
    linkageType: ''
    returnType: int
    signature: "int wpa_ft_fetch_pmk_r0(struct wpa_authenticator *wpa_auth,\n\t\t\t
      \      const u8 *spa, const u8 *pmk_r0_name,\n\t\t\t       const struct wpa_ft_pmk_r0_sa
      **r0_out)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: os_get_reltime
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1445,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1450,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1454,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1456,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1457,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1460,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1462,1
    - Dst: os_malloc
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1468,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1470,1
    - Dst: os_malloc
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1475,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1477,1
    - Dst: dl_list_add
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1484,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1487,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1490,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 13
    argNames:
    - wpa_auth
    - spa
    - pmk_r1
    - pmk_r1_len
    - pmk_r1_name
    - pairwise
    - vlan
    - expires_in
    - session_timeout
    - identity
    - identity_len
    - radius_cui
    - radius_cui_len
    argTypes:
    - struct wpa_authenticator*
    - u8*
    - u8*
    - size_t
    - u8*
    - int
    - struct vlan_description*
    - int
    - int
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1494
      start: 1430
    functionDepth: 1
    functionLinenumber: 1430
    functionLinenumberEnd: 1494
    functionName: wpa_ft_store_pmk_r1
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - os_get_reltime
    - os_memcpy
    - os_malloc
    - os_zalloc
    - dl_list_add
    - eloop_register_timeout
    - bin_clear_free
    linkageType: ''
    returnType: int
    signature: "int wpa_ft_store_pmk_r1(struct wpa_authenticator *wpa_auth,\n\t\t\t
      \      const u8 *spa, const u8 *pmk_r1,\n\t\t\t       size_t pmk_r1_len,\n\t\t\t
      \      const u8 *pmk_r1_name, int pairwise,\n\t\t\t       const struct vlan_description
      *vlan,\n\t\t\t       int expires_in, int session_timeout,\n\t\t\t       const
      u8 *identity, size_t identity_len,\n\t\t\t       const u8 *radius_cui, size_t
      radius_cui_len)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: os_get_reltime
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1509,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1511,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1512,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1513,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1515,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1522,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 30
    argCount: 12
    argNames:
    - wpa_auth
    - spa
    - pmk_r1_name
    - pmk_r1
    - pmk_r1_len
    - pairwise
    - vlan
    - identity
    - identity_len
    - radius_cui
    - radius_cui_len
    - session_timeout
    argTypes:
    - struct wpa_authenticator*
    - u8*
    - u8*
    - u8*
    - size_t*
    - int*
    - struct vlan_description*
    - u8**
    - size_t*
    - u8**
    - size_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1543
      start: 1497
    functionDepth: 1
    functionLinenumber: 1497
    functionLinenumberEnd: 1543
    functionName: wpa_ft_fetch_pmk_r1
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - os_get_reltime
    - ether_addr_equal
    - dl_list_for_each
    - os_memcmp_const
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpa_ft_fetch_pmk_r1(struct wpa_authenticator *wpa_auth,\n\t\t\tconst
      u8 *spa, const u8 *pmk_r1_name,\n\t\t\tu8 *pmk_r1, size_t *pmk_r1_len, int *pairwise,\n\t\t\tstruct
      vlan_description *vlan,\n\t\t\tconst u8 **identity, size_t *identity_len,\n\t\t\tconst
      u8 **radius_cui, size_t *radius_cui_len,\n\t\t\tint *session_timeout)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1551,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1553,1
    - Dst: dl_list_init
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1557,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - r0kh
    argTypes:
    - struct ft_remote_r0kh*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1560
      start: 1546
    functionDepth: 1
    functionLinenumber: 1546
    functionLinenumberEnd: 1560
    functionName: wpa_ft_rrb_init_r0kh_seq
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - os_zalloc
    - wpa_printf
    - dl_list_init
    linkageType: ''
    returnType: int
    signature: int wpa_ft_rrb_init_r0kh_seq(struct ft_remote_r0kh *r0kh)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp_const
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1581,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1586,1
    - Dst: wpa_ft_rrb_init_r0kh_seq
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1588,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 5
    argNames:
    - wpa_auth
    - f_r0kh_id
    - f_r0kh_id_len
    - r0kh_out
    - r0kh_wildcard
    argTypes:
    - struct wpa_authenticator*
    - u8*
    - size_t
    - struct ft_remote_r0kh**
    - struct ft_remote_r0kh**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1590
      start: 1563
    functionDepth: 2
    functionLinenumber: 1563
    functionLinenumberEnd: 1590
    functionName: wpa_ft_rrb_lookup_r0kh
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - os_memcmp_const
    - wpa_printf
    - wpa_ft_rrb_init_r0kh_seq
    linkageType: ''
    returnType: void
    signature: "void wpa_ft_rrb_lookup_r0kh(struct wpa_authenticator *wpa_auth,\n\t\t\t\t
      \  const u8 *f_r0kh_id, size_t f_r0kh_id_len,\n\t\t\t\t   struct ft_remote_r0kh
      **r0kh_out,\n\t\t\t\t   struct ft_remote_r0kh **r0kh_wildcard)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1598,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1600,1
    - Dst: dl_list_init
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1604,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - r1kh
    argTypes:
    - struct ft_remote_r1kh*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1607
      start: 1593
    functionDepth: 1
    functionLinenumber: 1593
    functionLinenumberEnd: 1607
    functionName: wpa_ft_rrb_init_r1kh_seq
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - os_zalloc
    - wpa_printf
    - dl_list_init
    linkageType: ''
    returnType: int
    signature: int wpa_ft_rrb_init_r1kh_seq(struct ft_remote_r1kh *r1kh)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1625,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1626,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1629,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1634,1
    - Dst: wpa_ft_rrb_init_r1kh_seq
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1636,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 4
    argNames:
    - wpa_auth
    - f_r1kh_id
    - r1kh_out
    - r1kh_wildcard
    argTypes:
    - struct wpa_authenticator*
    - u8*
    - struct ft_remote_r1kh**
    - struct ft_remote_r1kh**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1638
      start: 1610
    functionDepth: 2
    functionLinenumber: 1610
    functionLinenumberEnd: 1638
    functionName: wpa_ft_rrb_lookup_r1kh
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - os_memcmp_const
    - wpa_printf
    - is_zero_ether_addr
    - wpa_ft_rrb_init_r1kh_seq
    linkageType: ''
    returnType: void
    signature: "void wpa_ft_rrb_lookup_r1kh(struct wpa_authenticator *wpa_auth,\n\t\t\t\t
      \  const u8 *f_r1kh_id,\n\t\t\t\t   struct ft_remote_r1kh **r1kh_out,\n\t\t\t\t
      \  struct ft_remote_r1kh **r1kh_wildcard)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp_const
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1645,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - wpa_auth
    - f_r0kh_id
    - f_r0kh_id_len
    argTypes:
    - struct wpa_authenticator*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1650
      start: 1641
    functionDepth: 0
    functionLinenumber: 1641
    functionLinenumberEnd: 1650
    functionName: wpa_ft_rrb_check_r0kh
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - os_memcmp_const
    linkageType: ''
    returnType: int
    signature: "int wpa_ft_rrb_check_r0kh(struct wpa_authenticator *wpa_auth,\n\t\t\t\t
      const u8 *f_r0kh_id, size_t f_r0kh_id_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp_const
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1656,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_auth
    - f_r1kh_id
    argTypes:
    - struct wpa_authenticator*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1661
      start: 1653
    functionDepth: 0
    functionLinenumber: 1653
    functionLinenumberEnd: 1661
    functionName: wpa_ft_rrb_check_r1kh
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - os_memcmp_const
    linkageType: ''
    returnType: int
    signature: "int wpa_ft_rrb_check_r1kh(struct wpa_authenticator *wpa_auth,\n\t\t\t\t
      const u8 *f_r1kh_id)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ft_rrb_seq_flush
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1684,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1685,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1686,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1687
      start: 1664
    functionDepth: 3
    functionLinenumber: 1664
    functionLinenumberEnd: 1687
    functionName: wpa_ft_rrb_del_r0kh
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpa_ft_rrb_seq_flush
    linkageType: ''
    returnType: void
    signature: void wpa_ft_rrb_del_r0kh(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eloop_replenish_timeout
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1694,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - wpa_auth
    - r0kh
    - timeout
    argTypes:
    - struct wpa_authenticator*
    - struct ft_remote_r0kh*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1696
      start: 1690
    functionDepth: 0
    functionLinenumber: 1690
    functionLinenumberEnd: 1696
    functionName: wpa_ft_rrb_r0kh_replenish
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - eloop_replenish_timeout
    linkageType: ''
    returnType: void
    signature: "void wpa_ft_rrb_r0kh_replenish(struct wpa_authenticator *wpa_auth,\n\t\t\t\t
      \     struct ft_remote_r0kh *r0kh, int timeout)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1702,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1705,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - wpa_auth
    - r0kh
    - timeout
    argTypes:
    - struct wpa_authenticator*
    - struct ft_remote_r0kh*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1707
      start: 1699
    functionDepth: 0
    functionLinenumber: 1699
    functionLinenumberEnd: 1707
    functionName: wpa_ft_rrb_r0kh_timeout
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - eloop_cancel_timeout
    - eloop_register_timeout
    linkageType: ''
    returnType: void
    signature: "void wpa_ft_rrb_r0kh_timeout(struct wpa_authenticator *wpa_auth,\n\t\t\t\t
      \   struct ft_remote_r0kh *r0kh, int timeout)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1721,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1726,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1730,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1733,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1739,1
    - Dst: wpa_ft_rrb_init_r0kh_seq
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1742,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 6
    argNames:
    - wpa_auth
    - r0kh_wildcard
    - src_addr
    - r0kh_id
    - id_len
    - timeout
    argTypes:
    - struct wpa_authenticator*
    - struct ft_remote_r0kh*
    - u8*
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1746
      start: 1710
    functionDepth: 2
    functionLinenumber: 1710
    functionLinenumberEnd: 1746
    functionName: wpa_ft_rrb_add_r0kh
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - wpa_ft_rrb_init_r0kh_seq
    - eloop_register_timeout
    - os_zalloc
    - os_memcpy
    linkageType: ''
    returnType: struct ft_remote_r0kh
    signature: "struct ft_remote_r0kh *\nwpa_ft_rrb_add_r0kh(struct wpa_authenticator
      *wpa_auth,\n\t\t    struct ft_remote_r0kh *r0kh_wildcard,\n\t\t    const u8
      *src_addr, const u8 *r0kh_id, size_t id_len,\n\t\t    int timeout)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ft_rrb_seq_flush
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1769,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1770,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1771,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1772
      start: 1749
    functionDepth: 3
    functionLinenumber: 1749
    functionLinenumberEnd: 1772
    functionName: wpa_ft_rrb_del_r1kh
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpa_ft_rrb_seq_flush
    linkageType: ''
    returnType: void
    signature: void wpa_ft_rrb_del_r1kh(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eloop_replenish_timeout
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1779,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - wpa_auth
    - r1kh
    - timeout
    argTypes:
    - struct wpa_authenticator*
    - struct ft_remote_r1kh*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1781
      start: 1775
    functionDepth: 0
    functionLinenumber: 1775
    functionLinenumberEnd: 1781
    functionName: wpa_ft_rrb_r1kh_replenish
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - eloop_replenish_timeout
    linkageType: ''
    returnType: void
    signature: "void wpa_ft_rrb_r1kh_replenish(struct wpa_authenticator *wpa_auth,\n\t\t\t\t
      \     struct ft_remote_r1kh *r1kh, int timeout)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1794,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1798,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1799,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1800,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1805,1
    - Dst: wpa_ft_rrb_init_r1kh_seq
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1808,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 5
    argNames:
    - wpa_auth
    - r1kh_wildcard
    - src_addr
    - r1kh_id
    - timeout
    argTypes:
    - struct wpa_authenticator*
    - struct ft_remote_r1kh*
    - u8*
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1812
      start: 1784
    functionDepth: 2
    functionLinenumber: 1784
    functionLinenumberEnd: 1812
    functionName: wpa_ft_rrb_add_r1kh
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - eloop_register_timeout
    - os_zalloc
    - wpa_ft_rrb_init_r1kh_seq
    - os_memcpy
    linkageType: ''
    returnType: struct ft_remote_r1kh
    signature: "struct ft_remote_r1kh *\nwpa_ft_rrb_add_r1kh(struct wpa_authenticator
      *wpa_auth,\n\t\t    struct ft_remote_r1kh *r1kh_wildcard,\n\t\t    const u8
      *src_addr, const u8 *r1kh_id, int timeout)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1817,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_state_machine*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1818
      start: 1815
    functionDepth: 0
    functionLinenumber: 1815
    functionLinenumberEnd: 1818
    functionName: wpa_ft_sta_deinit
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - eloop_cancel_timeout
    linkageType: ''
    returnType: void
    signature: void wpa_ft_sta_deinit(struct wpa_state_machine *sm)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1826,1
    - Dst: wpa_ft_rrb_seq_flush
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1835,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1836,1
    - Dst: wpa_ft_rrb_seq_flush
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1847,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1848,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - wpa_auth
    argTypes:
    - struct wpa_authenticator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1851
      start: 1821
    functionDepth: 3
    functionLinenumber: 1821
    functionLinenumberEnd: 1851
    functionName: wpa_ft_deinit_seq
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - eloop_cancel_timeout
    - os_free
    - wpa_ft_rrb_seq_flush
    linkageType: ''
    returnType: void
    signature: void wpa_ft_deinit_seq(struct wpa_authenticator *wpa_auth)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1865,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1871,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1884,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1890,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 1
    argNames:
    - wpa_auth
    argTypes:
    - struct wpa_authenticator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1896
      start: 1854
    functionDepth: 0
    functionLinenumber: 1854
    functionLinenumberEnd: 1896
    functionName: wpa_ft_deinit_rkh_tmp
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - eloop_cancel_timeout
    - os_free
    linkageType: ''
    returnType: void
    signature: void wpa_ft_deinit_rkh_tmp(struct wpa_authenticator *wpa_auth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ft_deinit_seq
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1901,1
    - Dst: wpa_ft_deinit_rkh_tmp
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1902,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - wpa_auth
    argTypes:
    - struct wpa_authenticator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1903
      start: 1899
    functionDepth: 4
    functionLinenumber: 1899
    functionLinenumberEnd: 1903
    functionName: wpa_ft_deinit
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - wpa_ft_deinit_rkh_tmp
    - wpa_ft_deinit_seq
    linkageType: ''
    returnType: void
    signature: void wpa_ft_deinit(struct wpa_authenticator *wpa_auth)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ft_rrb_lookup_r0kh
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1914,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1922,1
    - Dst: wpa_ft_rrb_r0kh_timeout
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1926,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1928,1
    - Dst: wpa_ft_rrb_add_r0kh
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1930,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - wpa_auth
    - f_r0kh_id
    - f_r0kh_id_len
    argTypes:
    - struct wpa_authenticator*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1933
      start: 1906
    functionDepth: 3
    functionLinenumber: 1906
    functionLinenumberEnd: 1933
    functionName: wpa_ft_block_r0kh
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - wpa_ft_rrb_r0kh_timeout
    - wpa_hexdump
    - wpa_ft_rrb_add_r0kh
    - wpa_ft_rrb_lookup_r0kh
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void wpa_ft_block_r0kh(struct wpa_authenticator *wpa_auth,\n\t\t\t
      \     const u8 *f_r0kh_id, size_t f_r0kh_id_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1940,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1941,1
    - Dst: wpa_ft_block_r0kh
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1943,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1946,1
    - Dst: ft_finish_pull
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1947,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1948
      start: 1936
    functionDepth: 4
    functionLinenumber: 1936
    functionLinenumberEnd: 1948
    functionName: wpa_ft_expire_pull
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eloop_cancel_timeout
    - ft_finish_pull
    - MAC2STR
    - wpa_ft_block_r0kh
    linkageType: ''
    returnType: void
    signature: void wpa_ft_expire_pull(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ft_rrb_lookup_r0kh
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1988,1
    - Dst: wpa_ft_rrb_r0kh_replenish
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1995,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1997,1
    - Dst: wpa_ft_rrb_add_r0kh
      Src: /src/hostap/src/ap/wpa_auth_ft.c:1999,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2005,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2009,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2010,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2014,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2015,1
    - Dst: wpa_ft_rrb_seq_req
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2026,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2031,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2033,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2033,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2036,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2037,1
    - Dst: wpa_ft_new_seq
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2042,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2043,1
    - Dst: wpa_ft_rrb_build
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2047,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2052,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2053,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2056,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2062,1
    - Dst: wpa_ft_rrb_oui_send
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2064,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2067,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 55
    argCount: 4
    argNames:
    - sm
    - ies
    - ies_len
    - pmk_r0_name
    argTypes:
    - struct wpa_state_machine*
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2070
      start: 1951
    functionDepth: 6
    functionLinenumber: 1951
    functionLinenumberEnd: 2070
    functionName: wpa_ft_pull_pmk_r1
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - wpa_ft_new_seq
    - wpa_printf
    - random_get_bytes
    - wpa_ft_rrb_r0kh_replenish
    - wpa_hexdump
    - wpa_ft_rrb_build
    - is_zero_ether_addr
    - wpa_ft_rrb_add_r0kh
    - ether_addr_equal
    - wpa_ft_rrb_seq_req
    - wpa_ft_rrb_lookup_r0kh
    - wpabuf_alloc_copy
    - MAC2STR
    - wpabuf_free
    - eloop_register_timeout
    - os_free
    - wpa_ft_rrb_oui_send
    linkageType: ''
    returnType: int
    signature: "int wpa_ft_pull_pmk_r1(struct wpa_state_machine *sm,\n\t\t\t      const
      u8 *ies, size_t ies_len,\n\t\t\t      const u8 *pmk_r0_name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_key_mgmt_sha384
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2081,1
    - Dst: wpa_ft_get_vlan
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2084,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2085,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2086,1
    - Dst: wpa_ft_get_identity
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2090,1
    - Dst: wpa_ft_get_radius_cui
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2091,1
    - Dst: wpa_ft_get_session_timeout
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2093,1
    - Dst: wpa_ft_store_pmk_r0
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2095,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - sm
    - pmk_r0
    - pmk_r0_name
    argTypes:
    - struct wpa_state_machine*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2099
      start: 2073
    functionDepth: 2
    functionLinenumber: 2073
    functionLinenumberEnd: 2099
    functionName: wpa_ft_store_pmk_fils
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - wpa_ft_get_radius_cui
    - wpa_printf
    - wpa_key_mgmt_sha384
    - wpa_ft_get_vlan
    - MAC2STR
    - wpa_ft_store_pmk_r0
    - wpa_ft_get_session_timeout
    - wpa_ft_get_identity
    linkageType: ''
    returnType: int
    signature: "int wpa_ft_store_pmk_fils(struct wpa_state_machine *sm,\n\t\t\t  const
      u8 *pmk_r0, const u8 *pmk_r0_name)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_key_mgmt_sha384
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2122,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2135,1
    - Dst: wpa_derive_pmk_r0
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2140,1
    - Dst: wpa_derive_pmk_r1
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2144,1
    - Dst: wpa_pmk_r1_to_ptk
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2148,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 7
    argNames:
    - sm
    - ptk
    - pmk_r0
    - pmk_r1
    - pmk_r0_name
    - key_len
    - kdk_len
    argTypes:
    - struct wpa_state_machine*
    - struct wpa_ptk*
    - u8*
    - u8*
    - u8*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2152
      start: 2102
    functionDepth: 1
    functionLinenumber: 2102
    functionLinenumberEnd: 2152
    functionName: wpa_auth_derive_ptk_ft
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_derive_pmk_r1
    - wpa_key_mgmt_sha384
    - wpa_derive_pmk_r0
    - wpa_pmk_r1_to_ptk
    linkageType: ''
    returnType: int
    signature: "int wpa_auth_derive_ptk_ft(struct wpa_state_machine *sm, struct wpa_ptk
      *ptk,\n\t\t\t   u8 *pmk_r0, u8 *pmk_r1, u8 *pmk_r0_name,\n\t\t\t   size_t *key_len,
      size_t kdk_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_key_mgmt_ft_psk
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2166,1
    - Dst: wpa_ft_get_vlan
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2169,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2170,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2171,1
    - Dst: wpa_ft_get_identity
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2175,1
    - Dst: wpa_ft_get_radius_cui
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2176,1
    - Dst: wpa_ft_get_session_timeout
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2178,1
    - Dst: wpa_ft_store_pmk_r0
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2181,1
    - Dst: wpa_ft_store_pmk_r1
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - sm
    - pmk_r0
    - pmk_r1
    - pmk_r0_name
    - key_len
    argTypes:
    - struct wpa_state_machine*
    - u8*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2190
      start: 2155
    functionDepth: 2
    functionLinenumber: 2155
    functionLinenumberEnd: 2190
    functionName: wpa_auth_ft_store_keys
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - wpa_ft_store_pmk_r1
    - wpa_ft_get_radius_cui
    - wpa_printf
    - wpa_key_mgmt_ft_psk
    - MAC2STR
    - wpa_ft_get_vlan
    - wpa_ft_store_pmk_r0
    - wpa_ft_get_session_timeout
    - wpa_ft_get_identity
    linkageType: ''
    returnType: void
    signature: "void wpa_auth_ft_store_keys(struct wpa_state_machine *sm, const u8
      *pmk_r0,\n\t\t\t    const u8 *pmk_r1, const u8 *pmk_r0_name,\n\t\t\t    size_t
      key_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_authenticator*::cb::get_seqnum
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - wpa_auth
    - addr
    - idx
    - seq
    argTypes:
    - struct wpa_authenticator*
    - u8*
    - int
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2199
      start: 2193
    functionDepth: 0
    functionLinenumber: 2193
    functionLinenumberEnd: 2199
    functionName: wpa_auth_get_seqnum
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - struct wpa_authenticator*::cb::get_seqnum
    linkageType: ''
    returnType: int
    signature: "int wpa_auth_get_seqnum(struct wpa_authenticator *wpa_auth,\n\t\t\t\t
      \     const u8 *addr, int idx, u8 *seq)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: wpa_select_vlan_wpa_group
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2217,1
    - Dst: wpa_key_mgmt_fils
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2220,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2242,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2248,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2251,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2260,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2272,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2279,1
    - Dst: wpa_auth_get_seqnum
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2281,1
    - Dst: aes_wrap
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2282,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2283,1
    - Dst: forced_memzero
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2286,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2287,1
    - Dst: forced_memzero
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2291,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 54
    argCount: 4
    argNames:
    - sm
    - len
    - reassoc
    - vlan_id
    argTypes:
    - struct wpa_state_machine*
    - size_t*
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2294
      start: 2202
    functionDepth: 1
    functionLinenumber: 2202
    functionLinenumberEnd: 2294
    functionName: wpa_ft_gtk_subelem
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - random_get_bytes
    - wpa_printf
    - forced_memzero
    - aes_wrap
    - os_zalloc
    - wpa_auth_get_seqnum
    - wpa_select_vlan_wpa_group
    - wpa_key_mgmt_fils
    - os_free
    - WPA_PUT_LE16
    - os_memset
    linkageType: ''
    returnType: u8
    signature: "u8 * wpa_ft_gtk_subelem(struct wpa_state_machine *sm, size_t *len,\n\t\t\t
      \      bool reassoc, int vlan_id)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_key_mgmt_fils
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2308,1
    - Dst: wpa_cipher_key_len
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2316,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2321,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2328,1
    - Dst: wpa_auth_get_seqnum
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2330,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2339,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2340,1
    - Dst: aes_wrap
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2345,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2346,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2349,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 2
    argNames:
    - sm
    - len
    argTypes:
    - struct wpa_state_machine*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2355
      start: 2297
    functionDepth: 1
    functionLinenumber: 2297
    functionLinenumberEnd: 2355
    functionName: wpa_ft_igtk_subelem
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - random_get_bytes
    - wpa_printf
    - wpa_cipher_key_len
    - aes_wrap
    - os_zalloc
    - wpa_auth_get_seqnum
    - wpa_key_mgmt_fils
    - os_free
    - WPA_PUT_LE16
    linkageType: ''
    returnType: u8
    signature: u8 * wpa_ft_igtk_subelem(struct wpa_state_machine *sm, size_t *len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_key_mgmt_fils
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2368,1
    - Dst: wpa_cipher_key_len
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2376,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2381,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2388,1
    - Dst: wpa_auth_get_seqnum
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2390,1
    - Dst: aes_wrap
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2394,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2395,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2398,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 2
    argNames:
    - sm
    - len
    argTypes:
    - struct wpa_state_machine*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2404
      start: 2358
    functionDepth: 1
    functionLinenumber: 2358
    functionLinenumberEnd: 2404
    functionName: wpa_ft_bigtk_subelem
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_cipher_key_len
    - aes_wrap
    - os_zalloc
    - wpa_auth_get_seqnum
    - wpa_key_mgmt_fils
    - os_free
    - WPA_PUT_LE16
    linkageType: ''
    returnType: u8
    signature: u8 * wpa_ft_bigtk_subelem(struct wpa_state_machine *sm, size_t *len)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2414,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2416,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2420,1
    - Dst: host_to_le16
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2429,1
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2432,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2434,1
    - Dst: host_to_le16
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2436,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2444,1
    - Dst: host_to_le16
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2447,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2451,1
    - Dst: host_to_le16
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2454,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2458,1
    - Dst: wmm_process_tspec
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2465,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2466,1
    - Dst: host_to_le16
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2469,1
    - Dst: host_to_le16
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2472,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2482,1
    - Dst: host_to_le16
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2483,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 48
    argCount: 7
    argNames:
    - sm
    - pos
    - end
    - id
    - descr_count
    - ies
    - ies_len
    argTypes:
    - struct wpa_state_machine*
    - u8*
    - u8*
    - u8
    - u8
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2485
      start: 2407
    functionDepth: 1
    functionLinenumber: 2407
    functionLinenumberEnd: 2485
    functionName: wpa_ft_process_rdie
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_hexdump
    - ieee802_11_parse_elems
    - host_to_le16
    - wmm_process_tspec
    linkageType: ''
    returnType: u8
    signature: "u8 * wpa_ft_process_rdie(struct wpa_state_machine *sm,\n\t\t\t\tu8
      *pos, u8 *end, u8 id, u8 descr_count,\n\t\t\t\tconst u8 *ies, size_t ies_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2494,1
    - Dst: wpa_ft_process_rdie
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2511,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 5
    argNames:
    - sm
    - pos
    - end
    - ric
    - ric_len
    argTypes:
    - struct wpa_state_machine*
    - u8*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2517
      start: 2488
    functionDepth: 2
    functionLinenumber: 2488
    functionLinenumberEnd: 2517
    functionName: wpa_ft_process_ric
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - wpa_hexdump
    - wpa_ft_process_rdie
    linkageType: ''
    returnType: u8
    signature: "u8 * wpa_ft_process_ric(struct wpa_state_machine *sm, u8 *pos, u8
      *end,\n\t\t\t       const u8 *ric, size_t ric_len)"
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: wpa_key_mgmt_ft
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2545,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2553,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2559,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2571,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2583,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2587,1
    - Dst: wpa_write_rsn_ie
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2595,1
    - Dst: wpa_write_mdie
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2604,1
    - Dst: wpa_ft_gtk_subelem
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2613,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2616,1
    - Dst: wpa_ft_igtk_subelem
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2628,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2630,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2632,1
    - Dst: os_realloc
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2635,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2637,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2638,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2642,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2644,1
    - Dst: wpa_ft_bigtk_subelem
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2651,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2653,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2655,1
    - Dst: os_realloc
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2658,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2660,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2661,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2665,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2667,1
    - Dst: wpa_auth_uses_ocv
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2670,1
    - Dst: wpa_channel_info
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2674,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2675,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2677,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2682,1
    - Dst: os_realloc
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2691,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2693,1
    - Dst: ocv_insert_oci
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2701,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2702,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2719,1
    - Dst: struct wpa_state_machine*::wpa_auth::cb::get_psk
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2730,1
    - Dst: wpa_write_ftie
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2735,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2739,1
    - Dst: wpa_key_mgmt_sha384
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2755,1
    - Dst: wpa_ft_parse_ies
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2771,1
    - Dst: wpa_ft_process_ric
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2773,1
    - Dst: ieee802_11_ie_count
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2777,1
    - Dst: wpa_write_rsnxe
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2786,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2797,1
    - Dst: wpa_key_mgmt_fils
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2806,1
    - Dst: wpa_ft_mic
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2814,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2822,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2827,1
    - Dst: os_malloc
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2828,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2833,1
    - Dst: wpa_ft_parse_ies_free
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2836,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 204
    argCount: 9
    argNames:
    - sm
    - pos
    - max_len
    - auth_alg
    - req_ies
    - req_ies_len
    - omit_rsnxe
    - reassoc
    - vlan_id
    argTypes:
    - struct wpa_state_machine*
    - u8*
    - size_t
    - int
    - u8*
    - size_t
    - int
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2838
      start: 2520
    functionDepth: 3
    functionLinenumber: 2520
    functionLinenumberEnd: 2838
    functionName: wpa_sm_write_assoc_resp_ies
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - wpa_hexdump
    - wpa_ft_igtk_subelem
    - os_realloc
    - wpa_write_rsnxe
    - ieee802_11_ie_count
    - wpa_printf
    - wpa_key_mgmt_sha384
    - wpa_key_mgmt_ft
    - struct wpa_state_machine*::wpa_auth::cb::get_psk
    - wpa_ft_parse_ies
    - wpa_channel_info
    - os_free
    - ocv_insert_oci
    - wpa_ft_mic
    - wpa_ft_process_ric
    - os_malloc
    - wpa_ft_parse_ies_free
    - wpa_write_rsn_ie
    - wpa_ft_bigtk_subelem
    - wpa_auth_uses_ocv
    - wpa_write_ftie
    - os_memcpy
    - wpa_ft_gtk_subelem
    - wpa_key_mgmt_fils
    - wpa_write_mdie
    linkageType: ''
    returnType: u8
    signature: "u8 * wpa_sm_write_assoc_resp_ies(struct wpa_state_machine *sm, u8
      *pos,\n\t\t\t\t size_t max_len, int auth_alg,\n\t\t\t\t const u8 *req_ies, size_t
      req_ies_len,\n\t\t\t\t int omit_rsnxe, bool reassoc, int vlan_id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_authenticator*::cb::set_key
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2849,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 8
    argNames:
    - wpa_auth
    - vlan_id
    - alg
    - addr
    - idx
    - key
    - key_len
    - key_flag
    argTypes:
    - struct wpa_authenticator*
    - int
    - enum wpa_alg
    - u8*
    - int
    - u8*
    - size_t
    - enum key_flag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2851
      start: 2841
    functionDepth: 0
    functionLinenumber: 2841
    functionLinenumberEnd: 2851
    functionName: wpa_auth_set_key
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - struct wpa_authenticator*::cb::set_key
    linkageType: ''
    returnType: int
    signature: "int wpa_auth_set_key(struct wpa_authenticator *wpa_auth,\n\t\t\t\t
      \  int vlan_id,\n\t\t\t\t   enum wpa_alg alg, const u8 *addr, int idx,\n\t\t\t\t
      \  u8 *key, size_t key_len,\n\t\t\t\t   enum key_flag key_flag)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_authenticator*::cb::set_ltf_keyseed
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2862,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - wpa_auth
    - peer_addr
    - ltf_keyseed
    - ltf_keyseed_len
    argTypes:
    - struct wpa_authenticator*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2864
      start: 2855
    functionDepth: 0
    functionLinenumber: 2855
    functionLinenumberEnd: 2864
    functionName: wpa_auth_set_ltf_keyseed
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - struct wpa_authenticator*::cb::set_ltf_keyseed
    linkageType: ''
    returnType: int
    signature: "int wpa_auth_set_ltf_keyseed(struct wpa_authenticator *wpa_auth,\n\t\t\t\t\t
      \  const u8 *peer_addr,\n\t\t\t\t\t   const u8 *ltf_keyseed,\n\t\t\t\t\t   size_t
      ltf_keyseed_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_authenticator*::cb::add_sta_ft
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2873,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_auth
    - addr
    argTypes:
    - struct wpa_authenticator*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2874
      start: 2868
    functionDepth: 0
    functionLinenumber: 2868
    functionLinenumberEnd: 2874
    functionName: wpa_auth_add_sta_ft
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - struct wpa_authenticator*::cb::add_sta_ft
    linkageType: ''
    returnType: int
    signature: "int wpa_auth_add_sta_ft(struct wpa_authenticator *wpa_auth,\n\t\t\t\t
      \     const u8 *addr)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cipher_to_alg
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2883,1
    - Dst: wpa_cipher_key_len
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2884,1
    - Dst: wpa_cipher_valid_pairwise
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2885,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2886,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2894,1
    - Dst: wpa_auth_add_sta_ft
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2900,1
    - Dst: wpa_auth_set_key
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2908,1
    - Dst: ieee802_11_rsnx_capab
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2914,1
    - Dst: wpa_auth_set_ltf_keyseed
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2915,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2918,1
    - Dst: wpa_auth_store_ptksa
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2928,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - sm
    - retry
    argTypes:
    - struct wpa_state_machine*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2930
      start: 2877
    functionDepth: 1
    functionLinenumber: 2877
    functionLinenumberEnd: 2930
    functionName: wpa_ft_install_ptk
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 2
    functionsReached:
    - wpa_auth_add_sta_ft
    - wpa_printf
    - wpa_auth_set_ltf_keyseed
    - wpa_cipher_key_len
    - wpa_cipher_valid_pairwise
    - ieee802_11_rsnx_capab
    - wpa_auth_set_key
    - wpa_auth_store_ptksa
    - wpa_cipher_to_alg
    linkageType: ''
    returnType: void
    signature: void wpa_ft_install_ptk(struct wpa_state_machine *sm, int retry)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ft_get_psk
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2958,1
    - Dst: wpa_derive_pmk_r0
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2963,1
    - Dst: wpa_derive_pmk_r1
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2967,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2969,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2974,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2976,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2979,1
    - Dst: wpa_ft_get_vlan
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2982,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2983,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2984,1
    - Dst: wpa_ft_get_identity
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2989,1
    - Dst: wpa_ft_get_radius_cui
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2994,1
    - Dst: wpa_ft_get_session_timeout
      Src: /src/hostap/src/ap/wpa_auth_ft.c:2999,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3006,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 10
    argNames:
    - sm
    - req_pmk_r1_name
    - out_pmk_r1
    - out_pairwise
    - out_vlan
    - out_identity
    - out_identity_len
    - out_radius_cui
    - out_radius_cui_len
    - out_session_timeout
    argTypes:
    - struct wpa_state_machine*
    - u8*
    - u8*
    - int*
    - struct vlan_description*
    - u8**
    - size_t*
    - u8**
    - size_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3009
      start: 2934
    functionDepth: 1
    functionLinenumber: 2934
    functionLinenumberEnd: 3009
    functionName: wpa_ft_psk_pmk_r1
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - wpa_ft_get_radius_cui
    - wpa_printf
    - os_memcpy
    - wpa_derive_pmk_r1
    - os_memcmp_const
    - wpa_ft_get_vlan
    - MAC2STR
    - wpa_derive_pmk_r0
    - wpa_ft_get_session_timeout
    - wpa_ft_get_identity
    - wpa_ft_get_psk
    linkageType: ''
    returnType: int
    signature: "int wpa_ft_psk_pmk_r1(struct wpa_state_machine *sm,\n\t\t\t     const
      u8 *req_pmk_r1_name,\n\t\t\t     u8 *out_pmk_r1, int *out_pairwise,\n\t\t\t
      \    struct vlan_description *out_vlan,\n\t\t\t     const u8 **out_identity,
      size_t *out_identity_len,\n\t\t\t     const u8 **out_radius_cui,\n\t\t\t     size_t
      *out_radius_cui_len,\n\t\t\t     int *out_session_timeout)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3025,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3026,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3045,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3047,1
    - Dst: wpa_pick_pairwise_cipher
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3050,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - sm
    - parse
    argTypes:
    - struct wpa_state_machine*
    - struct wpa_ft_ies*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3053
      start: 3015
    functionDepth: 1
    functionLinenumber: 3015
    functionLinenumberEnd: 3053
    functionName: wpa_ft_set_key_mgmt
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    - wpa_pick_pairwise_cipher
    linkageType: ''
    returnType: int
    signature: "int wpa_ft_set_key_mgmt(struct wpa_state_machine *sm,\n\t\t\t       struct
      wpa_ft_ies *parse)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3076,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3080,1
    - Dst: wpa_ft_fetch_pmk_r0
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3081,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3085,1
    - Dst: wpa_derive_pmk_r1
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3087,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3092,1
    - Dst: wpa_ft_store_pmk_r1
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3099,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3110,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 15
    argNames:
    - wpa_auth
    - sm
    - r0kh_id
    - r0kh_id_len
    - req_pmk_r0_name
    - out_pmk_r1_name
    - out_pmk_r1
    - out_pairwise
    - vlan
    - identity
    - identity_len
    - radius_cui
    - radius_cui_len
    - out_session_timeout
    - pmk_r1_len
    argTypes:
    - struct wpa_authenticator*
    - struct wpa_state_machine*
    - u8*
    - size_t
    - u8*
    - u8*
    - u8*
    - int*
    - struct vlan_description*
    - u8**
    - size_t*
    - u8**
    - size_t*
    - int*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3128
      start: 3056
    functionDepth: 2
    functionLinenumber: 3056
    functionLinenumberEnd: 3128
    functionName: wpa_ft_local_derive_pmk_r1
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - wpa_ft_store_pmk_r1
    - wpa_ft_fetch_pmk_r0
    - wpa_printf
    - os_get_reltime
    - wpa_derive_pmk_r1
    - os_memcmp
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpa_ft_local_derive_pmk_r1(struct wpa_authenticator *wpa_auth,\n\t\t\t\t
      \     struct wpa_state_machine *sm,\n\t\t\t\t      const u8 *r0kh_id, size_t
      r0kh_id_len,\n\t\t\t\t      const u8 *req_pmk_r0_name,\n\t\t\t\t      u8 *out_pmk_r1_name,\n\t\t\t\t
      \     u8 *out_pmk_r1, int *out_pairwise,\n\t\t\t\t      struct vlan_description
      *vlan,\n\t\t\t\t      const u8 **identity, size_t *identity_len,\n\t\t\t\t      const
      u8 **radius_cui,\n\t\t\t\t      size_t *radius_cui_len,\n\t\t\t\t      int *out_session_timeout,\n\t\t\t\t
      \     size_t *pmk_r1_len)"
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3156,1
    - Dst: wpa_ft_parse_ies
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3159,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3160,1
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3166,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3169,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3175,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3181,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3186,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3188,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3192,1
    - Dst: wpa_ft_set_key_mgmt
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3197,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3200,1
    - Dst: wpa_key_mgmt_ft_psk
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3204,1
    - Dst: wpa_derive_pmk_r1_name
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3205,1
    - Dst: wpa_ft_psk_pmk_r1
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3209,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3217,1
    - Dst: wpa_key_mgmt_sha384
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3227,1
    - Dst: wpa_key_mgmt_sha384
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3229,1
    - Dst: wpa_derive_pmk_r1_name
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3232,1
    - Dst: wpa_ft_fetch_pmk_r1
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3237,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3242,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3249,1
    - Dst: wpa_ft_local_derive_pmk_r1
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3251,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3258,1
    - Dst: wpa_ft_pull_pmk_r1
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3263,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3264,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3274,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3276,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3277,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3285,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3299,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3300,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3312,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3317,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3323,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3328,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3334,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3339,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3342,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3344,1
    - Dst: ieee802_11_rsnx_capab
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3349,1
    - Dst: wpa_pmk_r1_to_ptk
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3354,1
    - Dst: ieee802_11_rsnx_capab
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3362,1
    - Dst: wpa_ltf_keyseed
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3363,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3364,1
    - Dst: wpa_ft_install_ptk
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3372,1
    - Dst: wpa_ft_set_vlan
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3374,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3375,1
    - Dst: wpa_ft_set_identity
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3378,1
    - Dst: wpa_ft_set_radius_cui
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3380,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3382,1
    - Dst: wpa_ft_set_session_timeout
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3385,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3389,1
    - Dst: wpa_write_rsn_ie
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3396,1
    - Dst: wpa_write_mdie
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3401,1
    - Dst: wpa_write_ftie
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3406,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3419,1
    - Dst: wpa_ft_parse_ies_free
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3422,1
    CyclomaticComplexity: 77
    EdgeCount: 77
    ICount: 196
    argCount: 5
    argNames:
    - sm
    - ies
    - ies_len
    - resp_ies
    - resp_ies_len
    argTypes:
    - struct wpa_state_machine*
    - u8*
    - size_t
    - u8**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3424
      start: 3131
    functionDepth: 7
    functionLinenumber: 3131
    functionLinenumberEnd: 3424
    functionName: wpa_ft_process_auth_req
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - wpa_hexdump
    - wpa_ft_set_radius_cui
    - wpa_printf
    - wpa_ltf_keyseed
    - wpa_key_mgmt_sha384
    - wpa_ft_set_vlan
    - wpa_ft_set_session_timeout
    - os_memcmp
    - wpa_ft_parse_ies
    - os_free
    - wpa_ft_pull_pmk_r1
    - wpa_hexdump_key
    - wpa_ft_parse_ies_free
    - wpa_write_rsn_ie
    - wpa_ft_set_key_mgmt
    - ieee802_11_rsnx_capab
    - wpa_ft_local_derive_pmk_r1
    - wpa_ft_set_identity
    - wpa_write_ftie
    - os_memcpy
    - random_get_bytes
    - wpa_key_mgmt_ft_psk
    - wpa_ft_install_ptk
    - os_zalloc
    - wpa_ft_psk_pmk_r1
    - wpa_pmk_r1_to_ptk
    - wpa_ft_fetch_pmk_r1
    - wpa_write_mdie
    - wpa_derive_pmk_r1_name
    linkageType: ''
    returnType: int
    signature: "int wpa_ft_process_auth_req(struct wpa_state_machine *sm,\n\t\t\t\t
      \  const u8 *ies, size_t ies_len,\n\t\t\t\t   u8 **resp_ies, size_t *resp_ies_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3440,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3445,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3447,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3447,1
    - Dst: wpa_ft_process_auth_req
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3453,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3456,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3461,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3463,1
    - Dst: status2str
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3464,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3465,1
    - Dst: cb
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3466,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3467,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 5
    argNames:
    - sm
    - auth_transaction
    - ies
    - ies_len
    - ctx
    argTypes:
    - struct wpa_state_machine*
    - u16
    - u8*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3468
      start: 3427
    functionDepth: 8
    functionLinenumber: 3427
    functionLinenumberEnd: 3468
    functionName: wpa_ft_process_auth
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_ft_process_auth_req
    - wpa_hexdump
    - MAC2STR
    - cb
    - os_free
    - status2str
    linkageType: ''
    returnType: void
    signature: "void wpa_ft_process_auth(struct wpa_state_machine *sm,\n\t\t\t u16
      auth_transaction, const u8 *ies, size_t ies_len,\n\t\t\t void (*cb)(void *ctx,
      const u8 *dst,\n\t\t\t\t    u16 auth_transaction, u16 status,\n\t\t\t\t    const
      u8 *ies, size_t ies_len),\n\t\t\t void *ctx)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3489,1
    - Dst: wpa_ft_parse_ies
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3491,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3493,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3498,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3503,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3508,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3510,1
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3518,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3520,1
    - Dst: wpa_key_mgmt_sha384
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3530,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3537,1
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3544,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3545,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3546,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3548,1
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3554,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3555,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3556,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3558,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3565,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3571,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3573,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3575,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3577,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3584,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3589,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3591,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3593,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3595,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3602,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3604,1
    - Dst: ieee802_11_ie_count
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3612,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3616,1
    - Dst: wpa_key_mgmt_fils
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3622,1
    - Dst: wpa_ft_mic
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3629,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3639,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3643,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3644,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3645,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3646,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3646,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3647,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3649,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3650,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3652,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3654,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3656,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3667,1
    - Dst: wpa_auth_uses_ocv
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3674,1
    - Dst: wpa_channel_info
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3680,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3681,1
    - Dst: get_sta_tx_parameters
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3686,1
    - Dst: channel_width_to_int
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3687,1
    - Dst: ocv_verify_tx_params
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3692,1
    - Dst: wpa_auth_uses_ocv
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3694,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3696,1
    - Dst: wpa_auth_set_ocv
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3698,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3700,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3702,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3705,1
    - Dst: wpa_ft_parse_ies_free
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3714,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 163
    argCount: 3
    argNames:
    - sm
    - ies
    - ies_len
    argTypes:
    - struct wpa_state_machine*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3716
      start: 3471
    functionDepth: 1
    functionLinenumber: 3471
    functionLinenumberEnd: 3716
    functionName: wpa_ft_validate_reassoc
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_auth_set_ocv
    - wpa_ft_mic
    - wpa_hexdump
    - get_sta_tx_parameters
    - wpa_msg
    - wpa_key_mgmt_sha384
    - wpa_ft_parse_ies_free
    - os_memcmp_const
    - MAC2STR
    - os_memcmp
    - wpa_ft_parse_ies
    - ieee802_11_ie_count
    - wpa_channel_info
    - ocv_verify_tx_params
    - channel_width_to_int
    - wpa_auth_uses_ocv
    - wpa_key_mgmt_fils
    linkageType: ''
    returnType: int
    signature: "int wpa_ft_validate_reassoc(struct wpa_state_machine *sm, const u8
      *ies,\n\t\t\t    size_t ies_len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3736,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3747,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3749,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3749,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3751,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3752,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3754,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3754,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3764,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3765,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3770,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3773,1
    - Dst: os_malloc
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3778,1
    - Dst: host_to_le16
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3783,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3784,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3785,1
    - Dst: wpa_ft_rrb_send
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3787,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3789,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 3
    argNames:
    - sm
    - data
    - len
    argTypes:
    - struct wpa_state_machine*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3792
      start: 3719
    functionDepth: 2
    functionLinenumber: 3719
    functionLinenumberEnd: 3792
    functionName: wpa_ft_action_rx
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_hexdump
    - ether_addr_equal
    - os_malloc
    - MAC2STR
    - wpa_ft_rrb_send
    - os_free
    - host_to_le16
    linkageType: ''
    returnType: int
    signature: int wpa_ft_action_rx(struct wpa_state_machine *sm, const u8 *data,
      size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3800,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3801,1
    - Dst: wpa_ft_send_rrb_auth_resp
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3802,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - ctx
    - dst
    - auth_transaction
    - resp
    - ies
    - ies_len
    argTypes:
    - void*
    - u8*
    - u16
    - u16
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3804
      start: 3795
    functionDepth: 1
    functionLinenumber: 3795
    functionLinenumberEnd: 3804
    functionName: wpa_ft_rrb_rx_request_cb
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    - wpa_ft_send_rrb_auth_resp
    linkageType: ''
    returnType: void
    signature: "void wpa_ft_rrb_rx_request_cb(void *ctx, const u8 *dst,\n\t\t\t\t
      \    u16 auth_transaction, u16 resp,\n\t\t\t\t     const u8 *ies, size_t ies_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ft_add_sta
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3817,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3819,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3824,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3828,1
    - Dst: wpa_ft_process_auth_req
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3830,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3833,1
    - Dst: wpa_ft_send_rrb_auth_resp
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3838,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3840,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 5
    argNames:
    - wpa_auth
    - current_ap
    - sta_addr
    - body
    - len
    argTypes:
    - struct wpa_authenticator*
    - u8*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3842
      start: 3807
    functionDepth: 8
    functionLinenumber: 3807
    functionLinenumberEnd: 3842
    functionName: wpa_ft_rrb_rx_request
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_ft_process_auth_req
    - os_memcpy
    - wpa_hexdump
    - wpa_ft_send_rrb_auth_resp
    - wpa_ft_add_sta
    - os_free
    linkageType: ''
    returnType: int
    signature: "int wpa_ft_rrb_rx_request(struct wpa_authenticator *wpa_auth,\n\t\t\t\t
      const u8 *current_ap, const u8 *sta_addr,\n\t\t\t\t const u8 *body, size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3855,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3857,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3857,1
    - Dst: status2str
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3858,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3859,1
    - Dst: os_malloc
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3869,1
    - Dst: host_to_le16
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3874,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3875,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3879,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3881,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3883,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3886,1
    - Dst: wpa_ft_rrb_send
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3888,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3890,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 6
    argNames:
    - sm
    - current_ap
    - sta_addr
    - status
    - resp_ies
    - resp_ies_len
    argTypes:
    - struct wpa_state_machine*
    - u8*
    - u8*
    - u16
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3893
      start: 3845
    functionDepth: 2
    functionLinenumber: 3845
    functionLinenumberEnd: 3893
    functionName: wpa_ft_send_rrb_auth_resp
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_hexdump
    - os_malloc
    - MAC2STR
    - wpa_ft_rrb_send
    - os_free
    - status2str
    - host_to_le16
    - WPA_PUT_LE16
    linkageType: ''
    returnType: int
    signature: "int wpa_ft_send_rrb_auth_resp(struct wpa_state_machine *sm,\n\t\t\t\t
      \    const u8 *current_ap, const u8 *sta_addr,\n\t\t\t\t     u16 status, const
      u8 *resp_ies,\n\t\t\t\t     size_t resp_ies_len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3933,1
    - Dst: wpa_derive_pmk_r1
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3934,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3938,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3940,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3947,1
    - Dst: WPA_PUT_LE32
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3955,1
    - Dst: wpa_ft_rrb_build
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3957,1
    - Dst: forced_memzero
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3961,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 11
    argNames:
    - key
    - key_len
    - tlvs
    - pmk_r0
    - r1kh_id
    - s1kh_id
    - tlv_auth
    - src_addr
    - type
    - packet
    - packet_len
    argTypes:
    - u8*
    - size_t
    - struct tlv_list*
    - struct wpa_ft_pmk_r0_sa*
    - u8*
    - u8*
    - struct tlv_list*
    - u8*
    - u8
    - u8**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3964
      start: 3896
    functionDepth: 5
    functionLinenumber: 3896
    functionLinenumberEnd: 3964
    functionName: wpa_ft_rrb_build_r0
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - os_get_reltime
    - wpa_printf
    - wpa_derive_pmk_r1
    - wpa_ft_rrb_build
    - forced_memzero
    - WPA_PUT_LE32
    - WPA_PUT_LE16
    linkageType: ''
    returnType: int
    signature: "int wpa_ft_rrb_build_r0(const u8 *key, const size_t key_len,\n\t\t\t
      \      const struct tlv_list *tlvs,\n\t\t\t       const struct wpa_ft_pmk_r0_sa
      *pmk_r0,\n\t\t\t       const u8 *r1kh_id, const u8 *s1kh_id,\n\t\t\t       const
      struct tlv_list *tlv_auth,\n\t\t\t       const u8 *src_addr, u8 type,\n\t\t\t
      \      u8 **packet, size_t *packet_len)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3989,1
    - Dst: RRB_GET_AUTH
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3991,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3992,1
    - Dst: wpa_ft_rrb_check_r0kh
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3994,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3995,1
    - Dst: RRB_GET_AUTH
      Src: /src/hostap/src/ap/wpa_auth_ft.c:3999,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4000,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4000,1
    - Dst: wpa_ft_rrb_lookup_r1kh
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4002,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4007,1
    - Dst: RRB_GET_AUTH
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4014,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4015,1
    - Dst: wpa_ft_rrb_seq_chk
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4019,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4022,1
    - Dst: wpa_ft_rrb_decrypt
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4030,1
    - Dst: wpa_ft_rrb_add_r1kh
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4036,1
    - Dst: wpa_ft_rrb_seq_req
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4043,1
    - Dst: wpa_ft_rrb_seq_accept
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4050,1
    - Dst: wpa_ft_rrb_r1kh_replenish
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4052,1
    - Dst: RRB_GET
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4055,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4056,1
    - Dst: RRB_GET
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4059,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4060,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4060,1
    - Dst: wpa_ft_new_seq
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4062,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4063,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4067,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4069,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4069,1
    - Dst: wpa_ft_fetch_pmk_r0
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4094,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4095,1
    - Dst: wpa_ft_rrb_build
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4096,1
    - Dst: wpa_ft_rrb_build_r0
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4101,1
    - Dst: wpa_ft_rrb_oui_send
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4108,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4113,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4114,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 94
    argCount: 7
    argNames:
    - wpa_auth
    - src_addr
    - enc
    - enc_len
    - auth
    - auth_len
    - no_defer
    argTypes:
    - struct wpa_authenticator*
    - u8*
    - u8*
    - size_t
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4117
      start: 3967
    functionDepth: 6
    functionLinenumber: 3967
    functionLinenumberEnd: 4117
    functionName: wpa_ft_rrb_rx_pull
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - wpa_hexdump
    - wpa_ft_rrb_seq_accept
    - wpa_ft_rrb_check_r0kh
    - wpa_ft_fetch_pmk_r0
    - wpa_printf
    - ether_addr_equal
    - wpa_ft_rrb_seq_req
    - RRB_GET
    - wpa_ft_rrb_add_r1kh
    - os_free
    - wpa_ft_rrb_lookup_r1kh
    - wpa_ft_rrb_build_r0
    - wpa_ft_rrb_decrypt
    - RRB_GET_AUTH
    - wpa_ft_rrb_oui_send
    - wpa_ft_new_seq
    - wpa_ft_rrb_build
    - wpa_ft_rrb_seq_chk
    - MAC2STR
    - wpa_ft_rrb_r1kh_replenish
    linkageType: ''
    returnType: int
    signature: "int wpa_ft_rrb_rx_pull(struct wpa_authenticator *wpa_auth,\n\t\t\t
      \     const u8 *src_addr,\n\t\t\t      const u8 *enc, size_t enc_len,\n\t\t\t
      \     const u8 *auth, size_t auth_len,\n\t\t\t      int no_defer)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: RRB_GET_AUTH
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4158,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4159,1
    - Dst: RRB_GET_AUTH
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4161,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4162,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4162,1
    - Dst: wpa_ft_rrb_check_r1kh
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4164,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4165,1
    - Dst: wpa_ft_rrb_lookup_r0kh
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4169,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4175,1
    - Dst: wpa_ft_rrb_seq_chk
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4184,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4189,1
    - Dst: wpa_ft_rrb_decrypt
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4197,1
    - Dst: wpa_ft_rrb_add_r0kh
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4202,1
    - Dst: wpa_ft_rrb_seq_req
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4209,1
    - Dst: wpa_ft_rrb_seq_accept
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4215,1
    - Dst: wpa_ft_rrb_r0kh_replenish
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4217,1
    - Dst: RRB_GET
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4220,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4221,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4221,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4224,1
    - Dst: RRB_GET
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4227,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4228,1
    - Dst: RRB_GET
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4231,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4232,1
    - Dst: wpa_ft_rrb_get_tlv
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4236,1
    - Dst: RRB_GET
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4241,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4242,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4244,1
    - Dst: RRB_GET_OPTIONAL
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4246,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4249,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4253,1
    - Dst: wpa_ft_rrb_get_tlv_vlan
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4256,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4257,1
    - Dst: wpa_ft_rrb_dump
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4258,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4262,1
    - Dst: le_to_host16
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4263,1
    - Dst: RRB_GET_OPTIONAL
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4265,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4267,1
    - Dst: RRB_GET_OPTIONAL
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4270,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4272,1
    - Dst: RRB_GET_OPTIONAL
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4275,1
    - Dst: WPA_GET_LE32
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4278,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4281,1
    - Dst: wpa_ft_store_pmk_r1
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4283,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4292,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 95
    argCount: 9
    argNames:
    - wpa_auth
    - src_addr
    - type
    - enc
    - enc_len
    - auth
    - auth_len
    - msgtype
    - s1kh_id_out
    argTypes:
    - struct wpa_authenticator*
    - u8*
    - u8
    - u8*
    - size_t
    - u8*
    - size_t
    - char*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4296
      start: 4124
    functionDepth: 6
    functionLinenumber: 4124
    functionLinenumberEnd: 4296
    functionName: wpa_ft_rrb_rx_r1
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - wpa_hexdump
    - wpa_ft_rrb_seq_accept
    - WPA_GET_LE16
    - wpa_ft_rrb_get_tlv
    - wpa_hexdump_ascii
    - wpa_printf
    - ether_addr_equal
    - wpa_ft_rrb_seq_req
    - RRB_GET
    - wpa_ft_rrb_check_r1kh
    - RRB_GET_OPTIONAL
    - wpa_ft_store_pmk_r1
    - wpa_hexdump_key
    - wpa_ft_rrb_decrypt
    - wpa_ft_rrb_r0kh_replenish
    - wpa_ft_rrb_add_r0kh
    - wpa_ft_rrb_lookup_r0kh
    - wpa_ft_rrb_dump
    - RRB_GET_AUTH
    - os_memcpy
    - WPA_GET_LE32
    - wpa_ft_rrb_get_tlv_vlan
    - wpa_ft_rrb_seq_chk
    - MAC2STR
    - le_to_host16
    - bin_clear_free
    linkageType: ''
    returnType: int
    signature: "int wpa_ft_rrb_rx_r1(struct wpa_authenticator *wpa_auth,\n\t\t\t    const
      u8 *src_addr, u8 type,\n\t\t\t    const u8 *enc, size_t enc_len,\n\t\t\t    const
      u8 *auth, size_t auth_len,\n\t\t\t    const char *msgtype, u8 *s1kh_id_out,\n\t\t\t
      \   int (*cb)(struct wpa_authenticator *wpa_auth,\n\t\t\t\t      const u8 *src_addr,\n\t\t\t\t
      \     const u8 *enc, size_t enc_len,\n\t\t\t\t      const u8 *auth, size_t auth_len,\n\t\t\t\t
      \     int no_defer))"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ft_process_auth_req
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4309,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4309,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4310,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4314,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4318,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4321,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4322,1
    - Dst: struct wpa_state_machine*::ft_pending_cb
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4324,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4327,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_state_machine*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4328
      start: 4299
    functionDepth: 8
    functionLinenumber: 4299
    functionLinenumberEnd: 4328
    functionName: ft_finish_pull
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 1
    functionsReached:
    - wpa_ft_process_auth_req
    - wpa_printf
    - wpabuf_len
    - wpabuf_free
    - wpabuf_head
    - MAC2STR
    - struct wpa_state_machine*::ft_pending_cb
    - os_free
    linkageType: ''
    returnType: void
    signature: void ft_finish_pull(struct wpa_state_machine *sm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4343,1
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4344,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - sm
    - ctx
    argTypes:
    - struct wpa_state_machine*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4352
      start: 4338
    functionDepth: 1
    functionLinenumber: 4338
    functionLinenumberEnd: 4352
    functionName: ft_get_sta_cb
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - ether_addr_equal
    - os_memcmp
    linkageType: ''
    returnType: int
    signature: int ft_get_sta_cb(struct wpa_state_machine *sm, void *ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4368,1
    - Dst: RRB_GET_AUTH
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4370,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4371,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4373,1
    - Dst: wpa_auth_for_each_sta
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4375,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4377,1
    - Dst: wpa_ft_rrb_rx_r1
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4381,1
    - Dst: wpa_auth_for_each_sta
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4394,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4395,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4397,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4398,1
    - Dst: ft_finish_pull
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4401,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 7
    argNames:
    - wpa_auth
    - src_addr
    - enc
    - enc_len
    - auth
    - auth_len
    - no_defer
    argTypes:
    - struct wpa_authenticator*
    - u8*
    - u8*
    - size_t
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4406
      start: 4355
    functionDepth: 9
    functionLinenumber: 4355
    functionLinenumberEnd: 4406
    functionName: wpa_ft_rrb_rx_resp
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    - wpa_ft_rrb_rx_r1
    - eloop_cancel_timeout
    - ft_finish_pull
    - wpa_auth_for_each_sta
    - MAC2STR
    - RRB_GET_AUTH
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpa_ft_rrb_rx_resp(struct wpa_authenticator *wpa_auth,\n\t\t\t
      \     const u8 *src_addr,\n\t\t\t      const u8 *enc, size_t enc_len,\n\t\t\t
      \     const u8 *auth, size_t auth_len,\n\t\t\t      int no_defer)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4416,1
    - Dst: wpa_ft_rrb_rx_r1
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4418,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 7
    argNames:
    - wpa_auth
    - src_addr
    - enc
    - enc_len
    - auth
    - auth_len
    - no_defer
    argTypes:
    - struct wpa_authenticator*
    - u8*
    - u8*
    - size_t
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4424
      start: 4409
    functionDepth: 7
    functionLinenumber: 4409
    functionLinenumberEnd: 4424
    functionName: wpa_ft_rrb_rx_push
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_ft_rrb_rx_r1
    linkageType: ''
    returnType: int
    signature: "int wpa_ft_rrb_rx_push(struct wpa_authenticator *wpa_auth,\n\t\t\t
      \     const u8 *src_addr,\n\t\t\t      const u8 *enc, size_t enc_len,\n\t\t\t
      \     const u8 *auth, size_t auth_len, int no_defer)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: RRB_GET_AUTH
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4448,1
    - Dst: RRB_GET_AUTH
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4449,1
    - Dst: wpa_ft_rrb_check_r0kh
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4451,1
    - Dst: wpa_ft_rrb_check_r1kh
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4452,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4455,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4460,1
    - Dst: wpa_ft_rrb_lookup_r0kh
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4465,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4468,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4469,1
    - Dst: wpa_ft_rrb_lookup_r1kh
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4483,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4486,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4487,1
    - Dst: wpa_ft_rrb_decrypt
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4500,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4504,1
    - Dst: wpa_ft_rrb_add_r0kh
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4508,1
    - Dst: wpa_ft_rrb_r0kh_replenish
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4515,1
    - Dst: wpa_ft_rrb_add_r1kh
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4525,1
    - Dst: wpa_ft_rrb_r1kh_replenish
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4531,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 79
    argCount: 14
    argNames:
    - wpa_auth
    - src_addr
    - type
    - enc
    - enc_len
    - auth
    - auth_len
    - rkh_seq
    - key
    - key_len
    - r0kh_out
    - r1kh_out
    - r0kh_wildcard_out
    - r1kh_wildcard_out
    argTypes:
    - struct wpa_authenticator*
    - u8*
    - int
    - u8*
    - size_t
    - u8*
    - size_t
    - struct ft_remote_seq**
    - u8**
    - size_t*
    - struct ft_remote_r0kh**
    - struct ft_remote_r1kh**
    - struct ft_remote_r0kh**
    - struct ft_remote_r1kh**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4542
      start: 4427
    functionDepth: 4
    functionLinenumber: 4427
    functionLinenumberEnd: 4542
    functionName: wpa_ft_rrb_rx_seq
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_ft_rrb_decrypt
    - wpa_hexdump
    - wpa_ft_rrb_r0kh_replenish
    - ether_addr_equal
    - wpa_ft_rrb_add_r0kh
    - wpa_ft_rrb_lookup_r0kh
    - wpa_ft_rrb_r1kh_replenish
    - wpa_ft_rrb_check_r1kh
    - wpa_ft_rrb_check_r0kh
    - wpa_ft_rrb_add_r1kh
    - RRB_GET_AUTH
    - os_free
    - wpa_ft_rrb_lookup_r1kh
    linkageType: ''
    returnType: int
    signature: "int wpa_ft_rrb_rx_seq(struct wpa_authenticator *wpa_auth,\n\t\t\t
      \    const u8 *src_addr, int type,\n\t\t\t     const u8 *enc, size_t enc_len,\n\t\t\t
      \    const u8 *auth, size_t auth_len,\n\t\t\t     struct ft_remote_seq **rkh_seq,\n\t\t\t
      \    u8 **key, size_t *key_len,\n\t\t\t     struct ft_remote_r0kh **r0kh_out,\n\t\t\t
      \    struct ft_remote_r1kh **r1kh_out,\n\t\t\t     struct ft_remote_r0kh **r0kh_wildcard_out,\n\t\t\t
      \    struct ft_remote_r1kh **r1kh_wildcard_out)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4560,1
    - Dst: wpa_ft_rrb_rx_seq
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4562,1
    - Dst: RRB_GET_AUTH
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4567,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4568,1
    - Dst: RRB_GET_AUTH
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4570,1
    - Dst: RRB_GET_AUTH
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4571,1
    - Dst: wpa_ft_new_seq
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4573,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4574,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4578,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4580,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4580,1
    - Dst: wpa_ft_rrb_build
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4598,1
    - Dst: wpa_ft_rrb_oui_send
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4603,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4608,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 7
    argNames:
    - wpa_auth
    - src_addr
    - enc
    - enc_len
    - auth
    - auth_len
    - no_defer
    argTypes:
    - struct wpa_authenticator*
    - u8*
    - u8*
    - size_t
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4611
      start: 4545
    functionDepth: 5
    functionLinenumber: 4545
    functionLinenumberEnd: 4611
    functionName: wpa_ft_rrb_rx_seq_req
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - wpa_ft_new_seq
    - wpa_printf
    - wpa_hexdump
    - wpa_ft_rrb_build
    - MAC2STR
    - wpa_ft_rrb_rx_seq
    - RRB_GET_AUTH
    - wpa_ft_rrb_oui_send
    - os_free
    linkageType: ''
    returnType: int
    signature: "int wpa_ft_rrb_rx_seq_req(struct wpa_authenticator *wpa_auth,\n\t\t\t\t
      const u8 *src_addr,\n\t\t\t\t const u8 *enc, size_t enc_len,\n\t\t\t\t const
      u8 *auth, size_t auth_len,\n\t\t\t\t int no_defer)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4633,1
    - Dst: wpa_ft_rrb_rx_seq
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4635,1
    - Dst: RRB_GET_AUTH
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4641,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4642,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4646,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4648,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4650,1
    - Dst: os_reltime_expired
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4651,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4658,1
    - Dst: wpa_ft_rrb_r0kh_replenish
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4663,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4666,1
    - Dst: wpa_ft_rrb_r1kh_replenish
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4670,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4673,1
    - Dst: wpa_ft_rrb_seq_chk
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4676,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4679,1
    - Dst: wpa_ft_rrb_seq_accept
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4680,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4683,1
    - Dst: RRB_GET_AUTH
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4685,1
    - Dst: le_to_host32
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4689,1
    - Dst: le_to_host32
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4690,1
    - Dst: le_to_host32
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4691,1
    - Dst: dl_list_len
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4699,1
    - Dst: os_reltime_sub
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4704,1
    - Dst: wpa_ft_rrb_seq_flush
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4707,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 53
    argCount: 7
    argNames:
    - wpa_auth
    - src_addr
    - enc
    - enc_len
    - auth
    - auth_len
    - no_defer
    argTypes:
    - struct wpa_authenticator*
    - u8*
    - u8*
    - size_t
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4712
      start: 4614
    functionDepth: 5
    functionLinenumber: 4614
    functionLinenumberEnd: 4712
    functionName: wpa_ft_rrb_rx_seq_resp
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - le_to_host32
    - wpa_printf
    - os_get_reltime
    - os_memcpy
    - wpa_ft_rrb_r0kh_replenish
    - wpa_hexdump
    - wpa_ft_rrb_seq_accept
    - wpa_ft_rrb_seq_chk
    - dl_list_for_each
    - os_memcmp_const
    - wpa_ft_rrb_rx_seq
    - os_reltime_sub
    - RRB_GET_AUTH
    - wpa_ft_rrb_seq_flush
    - os_reltime_expired
    - wpa_ft_rrb_r1kh_replenish
    - dl_list_len
    linkageType: ''
    returnType: int
    signature: "int wpa_ft_rrb_rx_seq_resp(struct wpa_authenticator *wpa_auth,\n\t\t\t\t
      \ const u8 *src_addr,\n\t\t\t\t  const u8 *enc, size_t enc_len,\n\t\t\t\t  const
      u8 *auth, size_t auth_len,\n\t\t\t\t  int no_defer)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4724,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4725,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4728,1
    - Dst: le_to_host16
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4737,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4738,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4741,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4745,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4751,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4756,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4759,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4768,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4779,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4781,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4781,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4784,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4787,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4792,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4793,1
    - Dst: wpa_ft_rrb_rx_request
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4799,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4806,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4810,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4812,1
    - Dst: wpa_ft_action_send
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4815,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4818,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 64
    argCount: 4
    argNames:
    - wpa_auth
    - src_addr
    - data
    - data_len
    argTypes:
    - struct wpa_authenticator*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4824
      start: 4715
    functionDepth: 9
    functionLinenumber: 4715
    functionLinenumberEnd: 4824
    functionName: wpa_ft_rrb_rx
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_ft_rrb_rx_request
    - wpa_ft_action_send
    - wpa_hexdump
    - ether_addr_equal
    - WPA_GET_LE16
    - MAC2STR
    - le_to_host16
    linkageType: ''
    returnType: int
    signature: "int wpa_ft_rrb_rx(struct wpa_authenticator *wpa_auth, const u8 *src_addr,\n\t\t
      \ const u8 *data, size_t data_len)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4835,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4838,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4838,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4839,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4840,1
    - Dst: is_multicast_ether_addr
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4842,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4843,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4845,1
    - Dst: is_multicast_ether_addr
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4849,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4853,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4857,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4859,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4864,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4867,1
    - Dst: wpa_ft_rrb_rx_pull
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4871,1
    - Dst: wpa_ft_rrb_rx_resp
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4875,1
    - Dst: wpa_ft_rrb_rx_push
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4879,1
    - Dst: wpa_ft_rrb_rx_seq_req
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4883,1
    - Dst: wpa_ft_rrb_rx_seq_resp
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4887,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 6
    argNames:
    - wpa_auth
    - src_addr
    - dst_addr
    - oui_suffix
    - data
    - data_len
    argTypes:
    - struct wpa_authenticator*
    - u8*
    - u8*
    - u8
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4891
      start: 4827
    functionDepth: 10
    functionLinenumber: 4827
    functionLinenumberEnd: 4891
    functionName: wpa_ft_rrb_oui_rx
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - wpa_ft_rrb_rx_push
    - wpa_printf
    - is_multicast_ether_addr
    - wpa_hexdump
    - wpa_ft_rrb_rx_pull
    - wpa_ft_rrb_rx_seq_req
    - wpa_ft_rrb_rx_resp
    - WPA_GET_LE16
    - MAC2STR
    - wpa_ft_rrb_rx_seq_resp
    linkageType: ''
    returnType: void
    signature: "void wpa_ft_rrb_oui_rx(struct wpa_authenticator *wpa_auth, const u8
      *src_addr,\n\t\t       const u8 *dst_addr, u8 oui_suffix, const u8 *data,\n\t\t
      \      size_t data_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ft_new_seq
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4920,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4921,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4925,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4927,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4927,1
    - Dst: wpa_ft_rrb_build_r0
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4929,1
    - Dst: wpa_ft_rrb_oui_send
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4935,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4938,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - wpa_auth
    - pmk_r0
    - r1kh
    - s1kh_id
    argTypes:
    - struct wpa_authenticator*
    - struct wpa_ft_pmk_r0_sa*
    - struct ft_remote_r1kh*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4940
      start: 4894
    functionDepth: 6
    functionLinenumber: 4894
    functionLinenumberEnd: 4940
    functionName: wpa_ft_generate_pmk_r1
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - wpa_ft_new_seq
    - wpa_printf
    - MAC2STR
    - wpa_ft_rrb_oui_send
    - os_free
    - wpa_ft_rrb_build_r0
    linkageType: ''
    returnType: int
    signature: "int wpa_ft_generate_pmk_r1(struct wpa_authenticator *wpa_auth,\n\t\t\t\t
      \ struct wpa_ft_pmk_r0_sa *pmk_r0,\n\t\t\t\t  struct ft_remote_r1kh *r1kh,\n\t\t\t\t
      \ const u8 *s1kh_id)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4954,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4955,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4966,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4967,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4970,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4971,1
    - Dst: wpa_ft_rrb_init_r1kh_seq
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4973,1
    - Dst: wpa_ft_generate_pmk_r1
      Src: /src/hostap/src/ap/wpa_auth_ft.c:4975,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 2
    argNames:
    - wpa_auth
    - addr
    argTypes:
    - struct wpa_authenticator*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4977
      start: 4943
    functionDepth: 7
    functionLinenumber: 4943
    functionLinenumberEnd: 4977
    functionName: wpa_ft_push_pmk_r1
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ft.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - ether_addr_equal
    - is_zero_ether_addr
    - dl_list_for_each
    - MAC2STR
    - wpa_ft_rrb_init_r1kh_seq
    - wpa_ft_generate_pmk_r1
    linkageType: ''
    returnType: void
    signature: void wpa_ft_push_pmk_r1(struct wpa_authenticator *wpa_auth, const u8
      *addr)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: os_strdup
      Src: /src/hostap/src/ap/eap_user_db.c:28,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/eap_user_db.c:32,1
    - Dst: os_strchr
      Src: /src/hostap/src/ap/eap_user_db.c:36,1
    - Dst: eap_server_get_type
      Src: /src/hostap/src/ap/eap_user_db.c:40,1
    - Dst: os_strcmp
      Src: /src/hostap/src/ap/eap_user_db.c:44,1
    - Dst: os_strcmp
      Src: /src/hostap/src/ap/eap_user_db.c:48,1
    - Dst: os_strcmp
      Src: /src/hostap/src/ap/eap_user_db.c:52,1
    - Dst: os_strcmp
      Src: /src/hostap/src/ap/eap_user_db.c:56,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/eap_user_db.c:60,1
    - Dst: os_free
      Src: /src/hostap/src/ap/eap_user_db.c:62,1
    - Dst: os_free
      Src: /src/hostap/src/ap/eap_user_db.c:75,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    argCount: 2
    argNames:
    - user
    - methods
    argTypes:
    - struct hostapd_eap_user*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 76
    functionName: set_user_methods
    functionSourceFile: /src/hostap/src/ap/eap_user_db.c
    functionUses: 0
    functionsReached:
    - os_strdup
    - wpa_printf
    - os_free
    - os_strchr
    - eap_server_get_type
    - os_strcmp
    - os_memset
    linkageType: ''
    returnType: void
    signature: void set_user_methods(struct hostapd_eap_user *user, const char *methods)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/src/ap/eap_user_db.c:85,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/ap/eap_user_db.c:86,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/eap_user_db.c:87,1
    - Dst: os_strdup
      Src: /src/hostap/src/ap/eap_user_db.c:88,1
    - Dst: os_strcmp
      Src: /src/hostap/src/ap/eap_user_db.c:90,1
    - Dst: set_user_methods
      Src: /src/hostap/src/ap/eap_user_db.c:91,1
    - Dst: os_strcmp
      Src: /src/hostap/src/ap/eap_user_db.c:92,1
    - Dst: strtol
      Src: /src/hostap/src/ap/eap_user_db.c:93,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 4
    argNames:
    - ctx
    - argc
    - argv
    - col
    argTypes:
    - void*
    - int
    - char*[]
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 98
    functionName: get_user_cb
    functionSourceFile: /src/hostap/src/ap/eap_user_db.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_strdup
    - strtol
    - set_user_methods
    - os_strcmp
    - bin_clear_free
    linkageType: ''
    returnType: int
    signature: int get_user_cb(void *ctx, int argc, char *argv[], char *col[])
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/src/ap/eap_user_db.c:108,1
    - Dst: os_strcmp
      Src: /src/hostap/src/ap/eap_user_db.c:110,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/eap_user_db.c:117,1
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/eap_user_db.c:119,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/ap/eap_user_db.c:121,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/eap_user_db.c:122,1
    - Dst: os_strdup
      Src: /src/hostap/src/ap/eap_user_db.c:123,1
    - Dst: set_user_methods
      Src: /src/hostap/src/ap/eap_user_db.c:125,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 4
    argNames:
    - ctx
    - argc
    - argv
    - col
    argTypes:
    - void*
    - int
    - char*[]
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 129
    functionName: get_wildcard_cb
    functionSourceFile: /src/hostap/src/ap/eap_user_db.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_strdup
    - set_user_methods
    - os_memcmp
    - os_strcmp
    - bin_clear_free
    linkageType: ''
    returnType: int
    signature: int get_wildcard_cb(void *ctx, int argc, char *argv[], char *col[])
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/eap_user_db.c:143,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/eap_user_db.c:148,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/eap_user_db.c:162,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/ap/eap_user_db.c:166,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/ap/eap_user_db.c:168,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/eap_user_db.c:170,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/eap_user_db.c:172,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/eap_user_db.c:175,1
    - Dst: sqlite3_open
      Src: /src/hostap/src/ap/eap_user_db.c:178,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/eap_user_db.c:179,1
    - Dst: sqlite3_errmsg
      Src: /src/hostap/src/ap/eap_user_db.c:180,1
    - Dst: sqlite3_close
      Src: /src/hostap/src/ap/eap_user_db.c:181,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/eap_user_db.c:185,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/eap_user_db.c:188,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/eap_user_db.c:191,1
    - Dst: sqlite3_exec
      Src: /src/hostap/src/ap/eap_user_db.c:192,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/eap_user_db.c:194,1
    - Dst: sqlite3_errmsg
      Src: /src/hostap/src/ap/eap_user_db.c:196,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/eap_user_db.c:201,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/eap_user_db.c:203,1
    - Dst: sqlite3_exec
      Src: /src/hostap/src/ap/eap_user_db.c:204,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/eap_user_db.c:206,1
    - Dst: sqlite3_errmsg
      Src: /src/hostap/src/ap/eap_user_db.c:208,1
    - Dst: os_free
      Src: /src/hostap/src/ap/eap_user_db.c:212,1
    - Dst: sqlite3_close
      Src: /src/hostap/src/ap/eap_user_db.c:221,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 62
    argCount: 4
    argNames:
    - hapd
    - identity
    - identity_len
    - phase2
    argTypes:
    - struct hostapd_data*
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 224
    functionName: eap_user_sqlite_get
    functionSourceFile: /src/hostap/src/ap/eap_user_db.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - sqlite3_exec
    - bin_clear_free
    - sqlite3_close
    - os_snprintf
    - os_zalloc
    - sqlite3_errmsg
    - os_snprintf_error
    - os_free
    - sqlite3_open
    - os_memset
    linkageType: ''
    returnType: struct hostapd_eap_user
    signature: "struct hostapd_eap_user *\neap_user_sqlite_get(struct hostapd_data
      *hapd, const u8 *identity,\n\t\t    size_t identity_len, int phase2)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/eap_user_db.c:238,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/eap_user_db.c:240,1
    - Dst: eap_server_get_type
      Src: /src/hostap/src/ap/eap_user_db.c:241,1
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/eap_user_db.c:247,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/eap_user_db.c:249,1
    - Dst: eap_server_get_type
      Src: /src/hostap/src/ap/eap_user_db.c:250,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/eap_user_db.c:254,1
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/eap_user_db.c:267,1
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/eap_user_db.c:275,1
    - Dst: eap_user_sqlite_get
      Src: /src/hostap/src/ap/eap_user_db.c:282,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 28
    argCount: 4
    argNames:
    - hapd
    - identity
    - identity_len
    - phase2
    argTypes:
    - struct hostapd_data*
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 288
    functionName: hostapd_get_eap_user
    functionSourceFile: /src/hostap/src/ap/eap_user_db.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - eap_user_sqlite_get
    - os_memcmp
    - eap_server_get_type
    - os_memset
    linkageType: ''
    returnType: struct hostapd_eap_user
    signature: "struct hostapd_eap_user *\nhostapd_get_eap_user(struct hostapd_data
      *hapd, const u8 *identity,\n\t\t     size_t identity_len, int phase2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/beacon.c:51,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/ap/beacon.c:59,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/ap/beacon.c:62,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - hapd
    - eid
    - len
    argTypes:
    - struct hostapd_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 66
    functionName: hostapd_eid_bss_load
    functionSourceFile: /src/hostap/src/ap/beacon.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - WPA_PUT_LE16
    linkageType: ''
    returnType: u8
    signature: u8 * hostapd_eid_bss_load(struct hostapd_data *hapd, u8 *eid, size_t
      len)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 88
    functionName: ieee802_11_erp_info
    functionSourceFile: /src/hostap/src/ap/beacon.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 ieee802_11_erp_info(struct hostapd_data *hapd)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - hapd
    - eid
    argTypes:
    - struct hostapd_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 103
    functionName: hostapd_eid_ds_params
    functionSourceFile: /src/hostap/src/ap/beacon.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 * hostapd_eid_ds_params(struct hostapd_data *hapd, u8 *eid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_11_erp_info
      Src: /src/hostap/src/ap/beacon.c:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - hapd
    - eid
    argTypes:
    - struct hostapd_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 127
    functionName: hostapd_eid_erp_info
    functionSourceFile: /src/hostap/src/ap/beacon.c
    functionUses: 0
    functionsReached:
    - ieee802_11_erp_info
    linkageType: ''
    returnType: u8
    signature: u8 * hostapd_eid_erp_info(struct hostapd_data *hapd, u8 *eid)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_is_dfs_required
      Src: /src/hostap/src/ap/beacon.c:153,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/beacon.c:155,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 2
    argNames:
    - hapd
    - eid
    argTypes:
    - struct hostapd_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 130
    functionDepth: 3
    functionLinenumber: 130
    functionLinenumberEnd: 195
    functionName: hostapd_eid_pwr_constraint
    functionSourceFile: /src/hostap/src/ap/beacon.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hostapd_is_dfs_required
    linkageType: ''
    returnType: u8
    signature: u8 * hostapd_eid_pwr_constraint(struct hostapd_data *hapd, u8 *eid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_6ghz_op_class
      Src: /src/hostap/src/ap/beacon.c:211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 6
    argNames:
    - hapd
    - pos
    - end
    - chan_spacing
    - start
    - prev
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8*
    - int
    - struct hostapd_channel_data*
    - struct hostapd_channel_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 217
    functionName: hostapd_eid_country_add
    functionSourceFile: /src/hostap/src/ap/beacon.c
    functionUses: 0
    functionsReached:
    - is_6ghz_op_class
    linkageType: ''
    returnType: u8
    signature: "u8 * hostapd_eid_country_add(struct hostapd_data *hapd, u8 *pos,\n\t\t\t\t
      \   u8 *end, int chan_spacing,\n\t\t\t\t    struct hostapd_channel_data *start,\n\t\t\t\t
      \   struct hostapd_channel_data *prev)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_eid_country_add
      Src: /src/hostap/src/ap/beacon.c:245,1
    - Dst: hostapd_eid_country_add
      Src: /src/hostap/src/ap/beacon.c:254,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 3
    argNames:
    - hapd
    - pos
    - end
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 259
    functionName: hostapd_fill_subband_triplets
    functionSourceFile: /src/hostap/src/ap/beacon.c
    functionUses: 0
    functionsReached:
    - hostapd_eid_country_add
    linkageType: ''
    returnType: u8
    signature: "u8 * hostapd_fill_subband_triplets(struct hostapd_data *hapd, u8 *pos,\n\t\t\t\t\t
      \   u8 *end)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_get_oper_class_of_bss
      Src: /src/hostap/src/ap/beacon.c:274,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/beacon.c:278,1
    - Dst: is_6ghz_op_class
      Src: /src/hostap/src/ap/beacon.c:282,1
    - Dst: is_6ghz_op_class
      Src: /src/hostap/src/ap/beacon.c:297,1
    - Dst: hostapd_fill_subband_triplets
      Src: /src/hostap/src/ap/beacon.c:308,1
    - Dst: hostapd_fill_subband_triplets
      Src: /src/hostap/src/ap/beacon.c:310,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 3
    argNames:
    - hapd
    - eid
    - max_len
    argTypes:
    - struct hostapd_data*
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 262
    functionDepth: 3
    functionLinenumber: 262
    functionLinenumberEnd: 322
    functionName: hostapd_eid_country
    functionSourceFile: /src/hostap/src/ap/beacon.c
    functionUses: 0
    functionsReached:
    - hostapd_get_oper_class_of_bss
    - is_6ghz_op_class
    - os_memcpy
    - hostapd_fill_subband_triplets
    linkageType: ''
    returnType: u8
    signature: "u8 * hostapd_eid_country(struct hostapd_data *hapd, u8 *eid,\n\t\t\t\tint
      max_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_auth_get_wpa_ie
      Src: /src/hostap/src/ap/beacon.c:330,1
    - Dst: get_ie
      Src: /src/hostap/src/ap/beacon.c:334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - hapd
    - eid
    argTypes:
    - struct hostapd_data*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 335
    functionName: hostapd_wpa_ie
    functionSourceFile: /src/hostap/src/ap/beacon.c
    functionUses: 0
    functionsReached:
    - get_ie
    - wpa_auth_get_wpa_ie
    linkageType: ''
    returnType: u8
    signature: u8 * hostapd_wpa_ie(struct hostapd_data *hapd, u8 eid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_auth_get_wpa_ie
      Src: /src/hostap/src/ap/beacon.c:344,1
    - Dst: get_vendor_ie
      Src: /src/hostap/src/ap/beacon.c:348,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - hapd
    - vendor_type
    argTypes:
    - struct hostapd_data*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 349
    functionName: hostapd_vendor_wpa_ie
    functionSourceFile: /src/hostap/src/ap/beacon.c
    functionUses: 0
    functionsReached:
    - get_vendor_ie
    - wpa_auth_get_wpa_ie
    linkageType: ''
    returnType: u8
    signature: "u8 * hostapd_vendor_wpa_ie(struct hostapd_data *hapd,\n\t\t\t\t\tu32
      vendor_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_wpa_ie
      Src: /src/hostap/src/ap/beacon.c:356,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/beacon.c:360,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - hapd
    - pos
    - len
    argTypes:
    - struct hostapd_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 352
    functionDepth: 2
    functionLinenumber: 352
    functionLinenumberEnd: 362
    functionName: hostapd_get_rsne
    functionSourceFile: /src/hostap/src/ap/beacon.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - hostapd_wpa_ie
    linkageType: ''
    returnType: u8
    signature: u8 * hostapd_get_rsne(struct hostapd_data *hapd, u8 *pos, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_wpa_ie
      Src: /src/hostap/src/ap/beacon.c:369,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/beacon.c:373,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - hapd
    - pos
    - len
    argTypes:
    - struct hostapd_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 365
    functionDepth: 2
    functionLinenumber: 365
    functionLinenumberEnd: 375
    functionName: hostapd_get_mde
    functionSourceFile: /src/hostap/src/ap/beacon.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - hostapd_wpa_ie
    linkageType: ''
    returnType: u8
    signature: u8 * hostapd_get_mde(struct hostapd_data *hapd, u8 *pos, size_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/beacon.c:384,1
    - Dst: hostapd_wpa_ie
      Src: /src/hostap/src/ap/beacon.c:388,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/beacon.c:392,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - hapd
    - pos
    - len
    argTypes:
    - struct hostapd_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 378
    functionDepth: 2
    functionLinenumber: 378
    functionLinenumberEnd: 394
    functionName: hostapd_get_rsnxe
    functionSourceFile: /src/hostap/src/ap/beacon.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hostapd_wpa_ie
    - os_memcpy
    linkageType: ''
    returnType: u8
    signature: u8 * hostapd_get_rsnxe(struct hostapd_data *hapd, u8 *pos, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_vendor_wpa_ie
      Src: /src/hostap/src/ap/beacon.c:401,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/beacon.c:405,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - hapd
    - pos
    - len
    argTypes:
    - struct hostapd_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 397
    functionDepth: 2
    functionLinenumber: 397
    functionLinenumberEnd: 407
    functionName: hostapd_get_wpa_ie
    functionSourceFile: /src/hostap/src/ap/beacon.c
    functionUses: 0
    functionsReached:
    - hostapd_vendor_wpa_ie
    - os_memcpy
    linkageType: ''
    returnType: u8
    signature: u8 * hostapd_get_wpa_ie(struct hostapd_data *hapd, u8 *pos, size_t
      len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_vendor_wpa_ie
      Src: /src/hostap/src/ap/beacon.c:415,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/beacon.c:419,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - hapd
    - pos
    - len
    argTypes:
    - struct hostapd_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 410
    functionDepth: 2
    functionLinenumber: 410
    functionLinenumberEnd: 421
    functionName: hostapd_get_rsne_override
    functionSourceFile: /src/hostap/src/ap/beacon.c
    functionUses: 0
    functionsReached:
    - hostapd_vendor_wpa_ie
    - os_memcpy
    linkageType: ''
    returnType: u8
    signature: "u8 * hostapd_get_rsne_override(struct hostapd_data *hapd, u8 *pos,\n\t\t\t\t
      \     size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_vendor_wpa_ie
      Src: /src/hostap/src/ap/beacon.c:429,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/beacon.c:433,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - hapd
    - pos
    - len
    argTypes:
    - struct hostapd_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 424
    functionDepth: 2
    functionLinenumber: 424
    functionLinenumberEnd: 435
    functionName: hostapd_get_rsne_override_2
    functionSourceFile: /src/hostap/src/ap/beacon.c
    functionUses: 0
    functionsReached:
    - hostapd_vendor_wpa_ie
    - os_memcpy
    linkageType: ''
    returnType: u8
    signature: "u8 * hostapd_get_rsne_override_2(struct hostapd_data *hapd, u8 *pos,\n\t\t\t\t\tsize_t
      len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_vendor_wpa_ie
      Src: /src/hostap/src/ap/beacon.c:443,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/beacon.c:447,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - hapd
    - pos
    - len
    argTypes:
    - struct hostapd_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 438
    functionDepth: 2
    functionLinenumber: 438
    functionLinenumberEnd: 449
    functionName: hostapd_get_rsnxe_override
    functionSourceFile: /src/hostap/src/ap/beacon.c
    functionUses: 0
    functionsReached:
    - hostapd_vendor_wpa_ie
    - os_memcpy
    linkageType: ''
    returnType: u8
    signature: "u8 * hostapd_get_rsnxe_override(struct hostapd_data *hapd, u8 *pos,\n\t\t\t\t
      \      size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_vendor_wpa_ie
      Src: /src/hostap/src/ap/beacon.c:456,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 452
    functionDepth: 2
    functionLinenumber: 452
    functionLinenumberEnd: 460
    functionName: hostapd_get_rsne_override_len
    functionSourceFile: /src/hostap/src/ap/beacon.c
    functionUses: 0
    functionsReached:
    - hostapd_vendor_wpa_ie
    linkageType: ''
    returnType: size_t
    signature: size_t hostapd_get_rsne_override_len(struct hostapd_data *hapd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_vendor_wpa_ie
      Src: /src/hostap/src/ap/beacon.c:467,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 463
    functionDepth: 2
    functionLinenumber: 463
    functionLinenumberEnd: 471
    functionName: hostapd_get_rsne_override_2_len
    functionSourceFile: /src/hostap/src/ap/beacon.c
    functionUses: 0
    functionsReached:
    - hostapd_vendor_wpa_ie
    linkageType: ''
    returnType: size_t
    signature: size_t hostapd_get_rsne_override_2_len(struct hostapd_data *hapd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_vendor_wpa_ie
      Src: /src/hostap/src/ap/beacon.c:478,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 474
    functionDepth: 2
    functionLinenumber: 474
    functionLinenumberEnd: 482
    functionName: hostapd_get_rsnxe_override_len
    functionSourceFile: /src/hostap/src/ap/beacon.c
    functionUses: 0
    functionsReached:
    - hostapd_vendor_wpa_ie
    linkageType: ''
    returnType: size_t
    signature: size_t hostapd_get_rsnxe_override_len(struct hostapd_data *hapd)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - hapd
    - eid
    argTypes:
    - struct hostapd_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 502
    functionName: hostapd_eid_csa
    functionSourceFile: /src/hostap/src/ap/beacon.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 * hostapd_eid_csa(struct hostapd_data *hapd, u8 *eid)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - hapd
    - eid
    argTypes:
    - struct hostapd_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 523
    functionName: hostapd_eid_ecsa
    functionSourceFile: /src/hostap/src/ap/beacon.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 * hostapd_eid_ecsa(struct hostapd_data *hapd, u8 *eid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: USEC_TO_TU
      Src: /src/hostap/src/ap/beacon.c:542,1
    - Dst: WPA_PUT_LE24
      Src: /src/hostap/src/ap/beacon.c:547,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - hapd
    - eid
    argTypes:
    - struct hostapd_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 526
    functionDepth: 1
    functionLinenumber: 526
    functionLinenumberEnd: 552
    functionName: hostapd_eid_max_cs_time
    functionSourceFile: /src/hostap/src/ap/beacon.c
    functionUses: 0
    functionsReached:
    - USEC_TO_TU
    - WPA_PUT_LE24
    linkageType: ''
    returnType: u8
    signature: u8 * hostapd_eid_max_cs_time(struct hostapd_data *hapd, u8 *eid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_get_oper_chan_info_of_bss
      Src: /src/hostap/src/ap/beacon.c:566,1
    - Dst: ieee80211_freq_to_channel_ext
      Src: /src/hostap/src/ap/beacon.c:573,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - hapd
    - eid
    argTypes:
    - struct hostapd_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 555
    functionDepth: 1
    functionLinenumber: 555
    functionLinenumberEnd: 590
    functionName: hostapd_eid_supported_op_classes
    functionSourceFile: /src/hostap/src/ap/beacon.c
    functionUses: 0
    functionsReached:
    - hostapd_get_oper_chan_info_of_bss
    - ieee80211_freq_to_channel_ext
    linkageType: ''
    returnType: u8
    signature: u8 * hostapd_eid_supported_op_classes(struct hostapd_data *hapd, u8
      *eid)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_mbssid_get_tx_bss
      Src: /src/hostap/src/ap/beacon.c:609,1
    - Dst: hostapd_eid_mbssid_len
      Src: /src/hostap/src/ap/beacon.c:610,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/beacon.c:616,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/beacon.c:620,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/beacon.c:625,1
    - Dst: os_calloc
      Src: /src/hostap/src/ap/beacon.c:629,1
    - Dst: hostapd_eid_mbssid
      Src: /src/hostap/src/ap/beacon.c:634,1
    - Dst: hostapd_mbssid_get_bss_index
      Src: /src/hostap/src/ap/beacon.c:639,1
    - Dst: os_free
      Src: /src/hostap/src/ap/beacon.c:660,1
    - Dst: os_free
      Src: /src/hostap/src/ap/beacon.c:661,1
    - Dst: os_free
      Src: /src/hostap/src/ap/beacon.c:662,1
    - Dst: os_free
      Src: /src/hostap/src/ap/beacon.c:663,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/beacon.c:664,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 52
    argCount: 2
    argNames:
    - hapd
    - params
    argTypes:
    - struct hostapd_data*
    - struct wpa_driver_ap_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 593
    functionDepth: 1
    functionLinenumber: 593
    functionLinenumberEnd: 666
    functionName: ieee802_11_build_ap_params_mbssid
    functionSourceFile: /src/hostap/src/ap/beacon.c
    functionUses: 0
    functionsReached:
    - hostapd_mbssid_get_bss_index
    - wpa_printf
    - hostapd_eid_mbssid_len
    - os_calloc
    - os_zalloc
    - hostapd_eid_mbssid
    - os_free
    - hostapd_mbssid_get_tx_bss
    linkageType: ''
    returnType: int
    signature: "int ieee802_11_build_ap_params_mbssid(struct hostapd_data *hapd,\n\t\t\t\t
      \ struct wpa_driver_ap_params *params)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - hapd
    - eid
    - mbssid_elem_count
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 683
    functionName: hostapd_eid_mbssid_config
    functionSourceFile: /src/hostap/src/ap/beacon.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: "u8 * hostapd_eid_mbssid_config(struct hostapd_data *hapd, u8 *eid,\n\t\t\t\t
      \     u8 mbssid_elem_count)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_is_he_enabled
      Src: /src/hostap/src/ap/beacon.c:691,1
    - Dst: is_6ghz_op_class
      Src: /src/hostap/src/ap/beacon.c:698,1
    - Dst: he_reg_is_indoor
      Src: /src/hostap/src/ap/beacon.c:703,1
    - Dst: he_reg_is_sp
      Src: /src/hostap/src/ap/beacon.c:710,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 686
    functionDepth: 1
    functionLinenumber: 686
    functionLinenumberEnd: 716
    functionName: he_elem_len
    functionSourceFile: /src/hostap/src/ap/beacon.c
    functionUses: 0
    functionsReached:
    - is_6ghz_op_class
    - he_reg_is_indoor
    - he_reg_is_sp
    - hostapd_is_he_enabled
    linkageType: ''
    returnType: size_t
    signature: size_t he_elem_len(struct hostapd_data *hapd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/ap/beacon.c:746,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - params
    argTypes:
    - struct probe_resp_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 740
    functionDepth: 0
    functionLinenumber: 740
    functionLinenumberEnd: 749
    functionName: hostapd_free_probe_resp_params
    functionSourceFile: /src/hostap/src/ap/beacon.c
    functionUses: 0
    functionsReached:
    - os_free
    linkageType: ''
    returnType: void
    signature: void hostapd_free_probe_resp_params(struct probe_resp_params *params)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_mbssid_get_tx_bss
      Src: /src/hostap/src/ap/beacon.c:759,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/beacon.c:763,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/beacon.c:767,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/beacon.c:771,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/beacon.c:774,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/beacon.c:777,1
    - Dst: he_elem_len
      Src: /src/hostap/src/ap/beacon.c:784,1
    - Dst: hostapd_is_eht_enabled
      Src: /src/hostap/src/ap/beacon.c:787,1
    - Dst: hostapd_eid_eht_capab_len
      Src: /src/hostap/src/ap/beacon.c:789,1
    - Dst: hostapd_eid_eht_ml_beacon_len
      Src: /src/hostap/src/ap/beacon.c:795,1
    - Dst: hostapd_eid_eht_ml_beacon_len
      Src: /src/hostap/src/ap/beacon.c:800,1
    - Dst: hostapd_eid_eht_ml_beacon_len
      Src: /src/hostap/src/ap/beacon.c:807,1
    - Dst: hostapd_eid_eht_ml_tid_to_link_map_len
      Src: /src/hostap/src/ap/beacon.c:816,1
    - Dst: hostapd_eid_mbssid_len
      Src: /src/hostap/src/ap/beacon.c:821,1
    - Dst: hostapd_eid_rnr_len
      Src: /src/hostap/src/ap/beacon.c:825,1
    - Dst: hostapd_is_uhr_enabled
      Src: /src/hostap/src/ap/beacon.c:828,1
    - Dst: hostapd_eid_uhr_capab_len
      Src: /src/hostap/src/ap/beacon.c:829,1
    - Dst: hostapd_mbo_ie_len
      Src: /src/hostap/src/ap/beacon.c:834,1
    - Dst: hostapd_eid_owe_trans_len
      Src: /src/hostap/src/ap/beacon.c:835,1
    - Dst: hostapd_eid_dpp_cc_len
      Src: /src/hostap/src/ap/beacon.c:836,1
    - Dst: hostapd_get_rsne_override_len
      Src: /src/hostap/src/ap/beacon.c:837,1
    - Dst: hostapd_get_rsne_override_2_len
      Src: /src/hostap/src/ap/beacon.c:838,1
    - Dst: hostapd_get_rsnxe_override_len
      Src: /src/hostap/src/ap/beacon.c:839,1
    - Dst: hostapd_eid_wfa_capab_len
      Src: /src/hostap/src/ap/beacon.c:840,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 48
    argCount: 2
    argNames:
    - hapd
    - params
    argTypes:
    - struct hostapd_data*
    - struct probe_resp_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 752
    functionDepth: 3
    functionLinenumber: 752
    functionLinenumberEnd: 843
    functionName: hostapd_probe_resp_elems_len
    functionSourceFile: /src/hostap/src/ap/beacon.c
    functionUses: 0
    functionsReached:
    - hostapd_eid_eht_ml_beacon_len
    - he_elem_len
    - hostapd_eid_mbssid_len
    - hostapd_is_uhr_enabled
    - hostapd_get_rsne_override_len
    - hostapd_eid_dpp_cc_len
    - wpabuf_len
    - hostapd_mbo_ie_len
    - hostapd_eid_uhr_capab_len
    - hostapd_eid_owe_trans_len
    - hostapd_eid_wfa_capab_len
    - hostapd_is_eht_enabled
    - hostapd_eid_eht_ml_tid_to_link_map_len
    - hostapd_eid_eht_capab_len
    - hostapd_get_rsne_override_2_len
    - hostapd_get_rsnxe_override_len
    - hostapd_eid_rnr_len
    - hostapd_mbssid_get_tx_bss
    linkageType: ''
    returnType: size_t
    signature: "size_t hostapd_probe_resp_elems_len(struct hostapd_data *hapd,\n\t\t\t\t\t
      \  struct probe_resp_params *params)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_mbssid_get_tx_bss
      Src: /src/hostap/src/ap/beacon.c:855,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/beacon.c:860,1
    - Dst: hostapd_eid_supp_rates
      Src: /src/hostap/src/ap/beacon.c:865,1
    - Dst: hostapd_eid_ds_params
      Src: /src/hostap/src/ap/beacon.c:868,1
    - Dst: hostapd_eid_country
      Src: /src/hostap/src/ap/beacon.c:870,1
    - Dst: hostapd_eid_pwr_constraint
      Src: /src/hostap/src/ap/beacon.c:873,1
    - Dst: hostapd_eid_csa
      Src: /src/hostap/src/ap/beacon.c:876,1
    - Dst: hostapd_eid_erp_info
      Src: /src/hostap/src/ap/beacon.c:884,1
    - Dst: hostapd_eid_ext_supp_rates
      Src: /src/hostap/src/ap/beacon.c:887,1
    - Dst: hostapd_get_rsne
      Src: /src/hostap/src/ap/beacon.c:889,1
    - Dst: hostapd_eid_bss_load
      Src: /src/hostap/src/ap/beacon.c:890,1
    - Dst: hostapd_eid_mbssid
      Src: /src/hostap/src/ap/beacon.c:891,1
    - Dst: hostapd_eid_rm_enabled_capab
      Src: /src/hostap/src/ap/beacon.c:895,1
    - Dst: hostapd_get_mde
      Src: /src/hostap/src/ap/beacon.c:896,1
    - Dst: hostapd_eid_ecsa
      Src: /src/hostap/src/ap/beacon.c:899,1
    - Dst: hostapd_eid_supported_op_classes
      Src: /src/hostap/src/ap/beacon.c:906,1
    - Dst: hostapd_eid_ht_capabilities
      Src: /src/hostap/src/ap/beacon.c:907,1
    - Dst: hostapd_eid_ht_operation
      Src: /src/hostap/src/ap/beacon.c:908,1
    - Dst: hostapd_eid_ext_capab
      Src: /src/hostap/src/ap/beacon.c:912,1
    - Dst: hostapd_eid_time_adv
      Src: /src/hostap/src/ap/beacon.c:916,1
    - Dst: hostapd_eid_time_zone
      Src: /src/hostap/src/ap/beacon.c:917,1
    - Dst: hostapd_eid_interworking
      Src: /src/hostap/src/ap/beacon.c:919,1
    - Dst: hostapd_eid_adv_proto
      Src: /src/hostap/src/ap/beacon.c:920,1
    - Dst: hostapd_eid_roaming_consortium
      Src: /src/hostap/src/ap/beacon.c:921,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/beacon.c:925,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/beacon.c:925,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/beacon.c:926,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/beacon.c:927,1
    - Dst: hostapd_is_vht_enabled
      Src: /src/hostap/src/ap/beacon.c:932,1
    - Dst: is_6ghz_op_class
      Src: /src/hostap/src/ap/beacon.c:933,1
    - Dst: hostapd_eid_vht_capabilities
      Src: /src/hostap/src/ap/beacon.c:934,1
    - Dst: hostapd_eid_vht_operation
      Src: /src/hostap/src/ap/beacon.c:935,1
    - Dst: hostapd_eid_txpower_envelope
      Src: /src/hostap/src/ap/beacon.c:936,1
    - Dst: hostapd_is_he_enabled
      Src: /src/hostap/src/ap/beacon.c:941,1
    - Dst: is_6ghz_op_class
      Src: /src/hostap/src/ap/beacon.c:942,1
    - Dst: hostapd_eid_txpower_envelope
      Src: /src/hostap/src/ap/beacon.c:943,1
    - Dst: hostapd_eid_chsw_wrapper
      Src: /src/hostap/src/ap/beacon.c:946,1
    - Dst: hostapd_eid_rnr
      Src: /src/hostap/src/ap/beacon.c:948,1
    - Dst: hostapd_eid_fils_indic
      Src: /src/hostap/src/ap/beacon.c:949,1
    - Dst: hostapd_eid_max_cs_time
      Src: /src/hostap/src/ap/beacon.c:952,1
    - Dst: hostapd_get_rsnxe
      Src: /src/hostap/src/ap/beacon.c:954,1
    - Dst: hostapd_is_he_enabled
      Src: /src/hostap/src/ap/beacon.c:957,1
    - Dst: hostapd_eid_he_capab
      Src: /src/hostap/src/ap/beacon.c:960,1
    - Dst: hostapd_eid_he_operation
      Src: /src/hostap/src/ap/beacon.c:961,1
    - Dst: hostapd_eid_cca
      Src: /src/hostap/src/ap/beacon.c:964,1
    - Dst: hostapd_eid_spatial_reuse
      Src: /src/hostap/src/ap/beacon.c:971,1
    - Dst: hostapd_eid_he_mu_edca_parameter_set
      Src: /src/hostap/src/ap/beacon.c:972,1
    - Dst: hostapd_eid_he_6ghz_band_cap
      Src: /src/hostap/src/ap/beacon.c:973,1
    - Dst: hostapd_is_eht_enabled
      Src: /src/hostap/src/ap/beacon.c:978,1
    - Dst: hostapd_eid_eht_ml_beacon
      Src: /src/hostap/src/ap/beacon.c:980,1
    - Dst: hostapd_eid_eht_ml_beacon
      Src: /src/hostap/src/ap/beacon.c:985,1
    - Dst: hostapd_eid_eht_ml_beacon
      Src: /src/hostap/src/ap/beacon.c:989,1
    - Dst: hostapd_eid_eht_capab
      Src: /src/hostap/src/ap/beacon.c:994,1
    - Dst: hostapd_eid_eht_operation
      Src: /src/hostap/src/ap/beacon.c:995,1
    - Dst: hostapd_eid_eht_ml_tid_to_link_map
      Src: /src/hostap/src/ap/beacon.c:998,1
    - Dst: hostapd_is_uhr_enabled
      Src: /src/hostap/src/ap/beacon.c:1003,1
    - Dst: hostapd_eid_uhr_capab
      Src: /src/hostap/src/ap/beacon.c:1004,1
    - Dst: hostapd_eid_uhr_operation
      Src: /src/hostap/src/ap/beacon.c:1005,1
    - Dst: hostapd_eid_vendor_vht
      Src: /src/hostap/src/ap/beacon.c:1011,1
    - Dst: hostapd_get_wpa_ie
      Src: /src/hostap/src/ap/beacon.c:1015,1
    - Dst: hostapd_eid_wmm
      Src: /src/hostap/src/ap/beacon.c:1018,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/beacon.c:1022,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/beacon.c:1022,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/beacon.c:1023,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/beacon.c:1024,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/beacon.c:1031,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/beacon.c:1031,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/beacon.c:1032,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/beacon.c:1033,1
    - Dst: hostapd_eid_p2p_manage
      Src: /src/hostap/src/ap/beacon.c:1039,1
    - Dst: hostapd_eid_hs20_indication
      Src: /src/hostap/src/ap/beacon.c:1043,1
    - Dst: hostapd_eid_mbo
      Src: /src/hostap/src/ap/beacon.c:1046,1
    - Dst: hostapd_eid_owe_trans
      Src: /src/hostap/src/ap/beacon.c:1047,1
    - Dst: hostapd_eid_dpp_cc
      Src: /src/hostap/src/ap/beacon.c:1048,1
    - Dst: hostapd_get_rsne_override
      Src: /src/hostap/src/ap/beacon.c:1050,1
    - Dst: hostapd_get_rsne_override_2
      Src: /src/hostap/src/ap/beacon.c:1051,1
    - Dst: hostapd_get_rsnxe_override
      Src: /src/hostap/src/ap/beacon.c:1052,1
    - Dst: hostapd_eid_wfa_capab
      Src: /src/hostap/src/ap/beacon.c:1054,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/beacon.c:1057,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/beacon.c:1057,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/beacon.c:1058,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/beacon.c:1059,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/beacon.c:1064,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/beacon.c:1064,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/beacon.c:1065,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/beacon.c:1066,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 114
    argCount: 4
    argNames:
    - hapd
    - params
    - pos
    - len
    argTypes:
    - struct hostapd_data*
    - struct probe_resp_params*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 846
    functionDepth: 4
    functionLinenumber: 846
    functionLinenumberEnd: 1071
    functionName: hostapd_probe_resp_fill_elems
    functionSourceFile: /src/hostap/src/ap/beacon.c
    functionUses: 0
    functionsReached:
    - hostapd_eid_ext_supp_rates
    - hostapd_is_uhr_enabled
    - hostapd_eid_pwr_constraint
    - hostapd_eid_he_mu_edca_parameter_set
    - hostapd_eid_uhr_capab
    - hostapd_eid_ht_capabilities
    - hostapd_eid_vht_operation
    - hostapd_eid_mbo
    - hostapd_get_rsnxe_override
    - hostapd_eid_time_zone
    - hostapd_is_eht_enabled
    - hostapd_eid_eht_ml_beacon
    - hostapd_eid_he_capab
    - hostapd_get_rsne_override
    - hostapd_eid_txpower_envelope
    - hostapd_eid_cca
    - hostapd_eid_owe_trans
    - hostapd_eid_bss_load
    - hostapd_eid_eht_operation
    - hostapd_eid_eht_ml_tid_to_link_map
    - hostapd_eid_eht_capab
    - hostapd_eid_he_operation
    - hostapd_eid_ecsa
    - hostapd_eid_ht_operation
    - hostapd_eid_roaming_consortium
    - hostapd_eid_p2p_manage
    - hostapd_eid_fils_indic
    - hostapd_eid_time_adv
    - hostapd_eid_max_cs_time
    - hostapd_eid_mbssid
    - hostapd_eid_spatial_reuse
    - hostapd_eid_ext_capab
    - hostapd_eid_supp_rates
    - hostapd_eid_rnr
    - hostapd_eid_vendor_vht
    - hostapd_eid_dpp_cc
    - wpabuf_len
    - is_6ghz_op_class
    - hostapd_is_vht_enabled
    - hostapd_eid_hs20_indication
    - hostapd_eid_chsw_wrapper
    - hostapd_get_rsnxe
    - hostapd_get_wpa_ie
    - wpabuf_head
    - hostapd_eid_adv_proto
    - hostapd_get_mde
    - hostapd_eid_wmm
    - hostapd_eid_wfa_capab
    - hostapd_mbssid_get_tx_bss
    - hostapd_eid_csa
    - hostapd_get_rsne_override_2
    - os_memcpy
    - hostapd_eid_interworking
    - hostapd_eid_supported_op_classes
    - hostapd_eid_uhr_operation
    - hostapd_eid_country
    - hostapd_is_he_enabled
    - hostapd_eid_he_6ghz_band_cap
    - hostapd_eid_rm_enabled_capab
    - hostapd_eid_erp_info
    - hostapd_get_rsne
    - hostapd_eid_ds_params
    - hostapd_eid_vht_capabilities
    linkageType: ''
    returnType: u8
    signature: "u8 * hostapd_probe_resp_fill_elems(struct hostapd_data *hapd,\n\t\t\t\t\t
      \ struct probe_resp_params *params,\n\t\t\t\t\t  u8 *pos, size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_mbssid_get_tx_bss
      Src: /src/hostap/src/ap/beacon.c:1081,1
    - Dst: hostapd_probe_resp_elems_len
      Src: /src/hostap/src/ap/beacon.c:1085,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/beacon.c:1086,1
    - Dst: IEEE80211_FC
      Src: /src/hostap/src/ap/beacon.c:1092,1
    - Dst: is_6ghz_op_class
      Src: /src/hostap/src/ap/beacon.c:1100,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/beacon.c:1102,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/beacon.c:1104,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/beacon.c:1105,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/beacon.c:1107,1
    - Dst: host_to_le16
      Src: /src/hostap/src/ap/beacon.c:1109,1
    - Dst: host_to_le16
      Src: /src/hostap/src/ap/beacon.c:1113,1
    - Dst: hostapd_own_capab_info
      Src: /src/hostap/src/ap/beacon.c:1113,1
    - Dst: hostapd_probe_resp_fill_elems
      Src: /src/hostap/src/ap/beacon.c:1115,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - hapd
    - params
    argTypes:
    - struct hostapd_data*
    - struct probe_resp_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1074
    functionDepth: 5
    functionLinenumber: 1074
    functionLinenumberEnd: 1120
    functionName: hostapd_gen_probe_resp
    functionSourceFile: /src/hostap/src/ap/beacon.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - hostapd_probe_resp_fill_elems
    - is_6ghz_op_class
    - os_memset
    - os_zalloc
    - hostapd_own_capab_info
    - IEEE80211_FC
    - hostapd_probe_resp_elems_len
    - host_to_le16
    - hostapd_mbssid_get_tx_bss
    linkageType: ''
    returnType: void
    signature: "void hostapd_gen_probe_resp(struct hostapd_data *hapd,\n\t\t\t\t   struct
      probe_resp_params *params)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/beacon.c:1132,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/beacon.c:1136,1
    - Dst: hostapd_mbssid_get_tx_bss
      Src: /src/hostap/src/ap/beacon.c:1145,1
    - Dst: hostapd_get_mbssid_bss_by_idx
      Src: /src/hostap/src/ap/beacon.c:1146,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/beacon.c:1148,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/beacon.c:1151,1
    - Dst: BIT
      Src: /src/hostap/src/ap/beacon.c:1167,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/beacon.c:1171,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/beacon.c:1174,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/beacon.c:1180,1
    - Dst: hostapd_free_probe_resp_params
      Src: /src/hostap/src/ap/beacon.c:1189,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 5
    argNames:
    - hapd
    - params
    - mgmt
    - mld_id
    - links
    argTypes:
    - struct hostapd_data*
    - struct probe_resp_params*
    - struct ieee80211_mgmt*
    - int
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1192
      start: 1124
    functionDepth: 1
    functionLinenumber: 1124
    functionLinenumberEnd: 1192
    functionName: hostapd_fill_probe_resp_ml_params
    functionSourceFile: /src/hostap/src/ap/beacon.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - hostapd_free_probe_resp_params
    - hostapd_get_mbssid_bss_by_idx
    - MAC2STR
    - os_zalloc
    - BIT
    - hostapd_mbssid_get_tx_bss
    linkageType: ''
    returnType: void
    signature: "void hostapd_fill_probe_resp_ml_params(struct hostapd_data *hapd,\n\t\t\t\t\t
      \     struct probe_resp_params *params,\n\t\t\t\t\t      const struct ieee80211_mgmt
      *mgmt,\n\t\t\t\t\t      int mld_id, u16 links)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIT
      Src: /src/hostap/src/ap/beacon.c:1167,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/beacon.c:1171,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/beacon.c:1174,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1158
    functionDepth: 0
    functionLinenumber: 1158
    functionLinenumberEnd: 1177
    functionName: for_each_mld_link
    functionSourceFile: /src/hostap/src/ap/beacon.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - BIT
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void for_each_mld_link(link, hapd)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/beacon.c:1218,1
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/beacon.c:1230,1
    - Dst: WPA_GET_LE32
      Src: /src/hostap/src/ap/beacon.c:1241,1
    - Dst: is_6ghz_op_class
      Src: /src/hostap/src/ap/beacon.c:1251,1
    - Dst: is_6ghz_op_class
      Src: /src/hostap/src/ap/beacon.c:1260,1
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/beacon.c:1268,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 42
    argCount: 7
    argNames:
    - hapd
    - ssid
    - ssid_len
    - ssid_list
    - ssid_list_len
    - short_ssid_list
    - short_ssid_list_len
    argTypes:
    - struct hostapd_data*
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1203
    functionDepth: 1
    functionLinenumber: 1203
    functionLinenumberEnd: 1274
    functionName: ssid_match
    functionSourceFile: /src/hostap/src/ap/beacon.c
    functionUses: 7
    functionsReached:
    - is_6ghz_op_class
    - WPA_GET_LE32
    - os_memcmp
    linkageType: ''
    returnType: enum ssid_match_result
    signature: "enum ssid_match_result ssid_match(struct hostapd_data *hapd,\n\t\t\t\t\t
      const u8 *ssid, size_t ssid_len,\n\t\t\t\t\t const u8 *ssid_list,\n\t\t\t\t\t
      size_t ssid_list_len,\n\t\t\t\t\t const u8 *short_ssid_list,\n\t\t\t\t\t size_t
      short_ssid_list_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_get_reltime
      Src: /src/hostap/src/ap/beacon.c:1285,1
    - Dst: dl_list_first
      Src: /src/hostap/src/ap/beacon.c:1286,1
    - Dst: os_reltime_expired
      Src: /src/hostap/src/ap/beacon.c:1289,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/beacon.c:1294,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/beacon.c:1296,1
    - Dst: dl_list_del
      Src: /src/hostap/src/ap/beacon.c:1297,1
    - Dst: sta_track_del
      Src: /src/hostap/src/ap/beacon.c:1299,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - iface
    - force
    argTypes:
    - struct hostapd_iface*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1301
      start: 1277
    functionDepth: 1
    functionLinenumber: 1277
    functionLinenumberEnd: 1301
    functionName: sta_track_expire
    functionSourceFile: /src/hostap/src/ap/beacon.c
    functionUses: 1
    functionsReached:
    - os_get_reltime
    - wpa_printf
    - sta_track_del
    - dl_list_del
    - dl_list_first
    - MAC2STR
    - os_reltime_expired
    linkageType: ''
    returnType: void
    signature: void sta_track_expire(struct hostapd_iface *iface, int force)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/ap/beacon.c:1309,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/beacon.c:1310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - iface
    - addr
    argTypes:
    - struct hostapd_iface*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1314
      start: 1304
    functionDepth: 1
    functionLinenumber: 1304
    functionLinenumberEnd: 1314
    functionName: sta_track_get
    functionSourceFile: /src/hostap/src/ap/beacon.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    - ether_addr_equal
    linkageType: ''
    returnType: struct hostapd_sta_info
    signature: "struct hostapd_sta_info * sta_track_get(struct hostapd_iface *iface,\n\t\t\t\t\t
      \      const u8 *addr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sta_track_get
      Src: /src/hostap/src/ap/beacon.c:1321,1
    - Dst: dl_list_del
      Src: /src/hostap/src/ap/beacon.c:1324,1
    - Dst: dl_list_add_tail
      Src: /src/hostap/src/ap/beacon.c:1325,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/ap/beacon.c:1326,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/beacon.c:1332,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/beacon.c:1335,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/ap/beacon.c:1336,1
    - Dst: sta_track_expire
      Src: /src/hostap/src/ap/beacon.c:1341,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/beacon.c:1344,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/beacon.c:1345,1
    - Dst: dl_list_add_tail
      Src: /src/hostap/src/ap/beacon.c:1346,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - iface
    - addr
    - ssi_signal
    argTypes:
    - struct hostapd_iface*
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1348
      start: 1317
    functionDepth: 2
    functionLinenumber: 1317
    functionLinenumberEnd: 1348
    functionName: sta_track_add
    functionSourceFile: /src/hostap/src/ap/beacon.c
    functionUses: 0
    functionsReached:
    - os_get_reltime
    - sta_track_get
    - os_memcpy
    - dl_list_del
    - wpa_printf
    - dl_list_add_tail
    - sta_track_expire
    - MAC2STR
    - os_zalloc
    linkageType: ''
    returnType: void
    signature: void sta_track_add(struct hostapd_iface *iface, const u8 *addr, int
      ssi_signal)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/src/ap/beacon.c:1364,1
    - Dst: sta_track_get
      Src: /src/hostap/src/ap/beacon.c:1369,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - iface
    - addr
    - ifname
    argTypes:
    - struct hostapd_iface*
    - u8*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1374
      start: 1351
    functionDepth: 2
    functionLinenumber: 1351
    functionLinenumberEnd: 1374
    functionName: sta_track_seen_on
    functionSourceFile: /src/hostap/src/ap/beacon.c
    functionUses: 0
    functionsReached:
    - sta_track_get
    - os_strcmp
    linkageType: ''
    returnType: struct hostapd_data
    signature: "struct hostapd_data *\nsta_track_seen_on(struct hostapd_iface *iface,
      const u8 *addr,\n\t\t  const char *ifname)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sta_track_get
      Src: /src/hostap/src/ap/beacon.c:1383,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/beacon.c:1387,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - iface
    - addr
    - probe_ie_taxonomy
    argTypes:
    - struct hostapd_iface*
    - u8*
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1390
      start: 1378
    functionDepth: 2
    functionLinenumber: 1378
    functionLinenumberEnd: 1390
    functionName: sta_track_claim_taxonomy_info
    functionSourceFile: /src/hostap/src/ap/beacon.c
    functionUses: 0
    functionsReached:
    - wpabuf_free
    - sta_track_get
    linkageType: ''
    returnType: void
    signature: "void sta_track_claim_taxonomy_info(struct hostapd_iface *iface, const
      u8 *addr,\n\t\t\t\t   struct wpabuf **probe_ie_taxonomy)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: le_to_host16
      Src: /src/hostap/src/ap/beacon.c:1409,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/beacon.c:1412,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/beacon.c:1417,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/beacon.c:1424,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/beacon.c:1431,1
    - Dst: for_each_element_id
      Src: /src/hostap/src/ap/beacon.c:1442,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/beacon.c:1452,1
    - Dst: le_to_host16
      Src: /src/hostap/src/ap/beacon.c:1464,1
    - Dst: BIT
      Src: /src/hostap/src/ap/beacon.c:1467,1
    - Dst: for_each_element_completed
      Src: /src/hostap/src/ap/beacon.c:1470,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/beacon.c:1471,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 4
    argNames:
    - ml
    - ml_len
    - mld_id
    - links
    argTypes:
    - struct ieee80211_eht_ml*
    - size_t
    - int*
    - u16*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1477
      start: 1395
    functionDepth: 1
    functionLinenumber: 1395
    functionLinenumberEnd: 1477
    functionName: parse_ml_probe_req
    functionSourceFile: /src/hostap/src/ap/beacon.c
    functionUses: 0
    functionsReached:
    - for_each_element_id
    - wpa_printf
    - BIT
    - le_to_host16
    - for_each_element_completed
    linkageType: ''
    returnType: bool
    signature: "bool parse_ml_probe_req(const struct ieee80211_eht_ml *ml, size_t
      ml_len,\n\t\t\t       int *mld_id, u16 *links)"
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: sta_track_add
      Src: /src/hostap/src/ap/beacon.c:1510,1
    - Dst: hostapd_allowed_address
      Src: /src/hostap/src/ap/beacon.c:1513,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/beacon.c:1516,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/beacon.c:1518,1
    - Dst: cb
      Src: /src/hostap/src/ap/beacon.c:1523,1
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/src/ap/beacon.c:1531,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/beacon.c:1532,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/beacon.c:1533,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/beacon.c:1538,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/beacon.c:1540,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/beacon.c:1559,1
    - Dst: ieee802_11_vendor_ie_concat
      Src: /src/hostap/src/ap/beacon.c:1568,1
    - Dst: p2p_group_match_dev_type
      Src: /src/hostap/src/ap/beacon.c:1569,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/beacon.c:1570,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/beacon.c:1573,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/beacon.c:1576,1
    - Dst: ieee802_11_vendor_ie_concat
      Src: /src/hostap/src/ap/beacon.c:1581,1
    - Dst: p2p_group_match_dev_id
      Src: /src/hostap/src/ap/beacon.c:1582,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/beacon.c:1583,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/beacon.c:1585,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/beacon.c:1588,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/beacon.c:1594,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/beacon.c:1595,1
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/beacon.c:1602,1
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/beacon.c:1614,1
    - Dst: taxonomy_sta_info_probe_req
      Src: /src/hostap/src/ap/beacon.c:1615,1
    - Dst: sta_track_get
      Src: /src/hostap/src/ap/beacon.c:1616,1
    - Dst: taxonomy_hostapd_sta_info_probe_req
      Src: /src/hostap/src/ap/beacon.c:1618,1
    - Dst: ssid_match
      Src: /src/hostap/src/ap/beacon.c:1624,1
    - Dst: ssid_match
      Src: /src/hostap/src/ap/beacon.c:1636,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/beacon.c:1650,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/beacon.c:1652,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/src/ap/beacon.c:1653,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/beacon.c:1654,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/beacon.c:1661,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/beacon.c:1662,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/beacon.c:1672,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/beacon.c:1674,1
    - Dst: is_broadcast_ether_addr
      Src: /src/hostap/src/ap/beacon.c:1686,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/beacon.c:1687,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/beacon.c:1688,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/beacon.c:1691,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/beacon.c:1691,1
    - Dst: supp_rates_11b_only
      Src: /src/hostap/src/ap/beacon.c:1699,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/beacon.c:1701,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/beacon.c:1703,1
    - Dst: is_multicast_ether_addr
      Src: /src/hostap/src/ap/beacon.c:1712,1
    - Dst: is_multicast_ether_addr
      Src: /src/hostap/src/ap/beacon.c:1713,1
    - Dst: sta_track_seen_on
      Src: /src/hostap/src/ap/beacon.c:1714,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/beacon.c:1716,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/beacon.c:1718,1
    - Dst: is_multicast_ether_addr
      Src: /src/hostap/src/ap/beacon.c:1724,1
    - Dst: is_multicast_ether_addr
      Src: /src/hostap/src/ap/beacon.c:1725,1
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/beacon.c:1727,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/beacon.c:1728,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/beacon.c:1730,1
    - Dst: drand48
      Src: /src/hostap/src/ap/beacon.c:1736,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/beacon.c:1737,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/beacon.c:1739,1
    - Dst: hostapd_mbssid_get_tx_bss
      Src: /src/hostap/src/ap/beacon.c:1747,1
    - Dst: os_malloc
      Src: /src/hostap/src/ap/beacon.c:1754,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/ap/beacon.c:1756,1
    - Dst: wpa_msg_ctrl
      Src: /src/hostap/src/ap/beacon.c:1759,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/beacon.c:1760,1
    - Dst: os_free
      Src: /src/hostap/src/ap/beacon.c:1763,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/beacon.c:1765,1
    - Dst: parse_ml_probe_req
      Src: /src/hostap/src/ap/beacon.c:1769,1
    - Dst: hostapd_fill_probe_resp_ml_params
      Src: /src/hostap/src/ap/beacon.c:1771,1
    - Dst: hostapd_gen_probe_resp
      Src: /src/hostap/src/ap/beacon.c:1781,1
    - Dst: hostapd_free_probe_resp_params
      Src: /src/hostap/src/ap/beacon.c:1783,1
    - Dst: is_broadcast_ether_addr
      Src: /src/hostap/src/ap/beacon.c:1793,1
    - Dst: hostapd_drv_send_mlme
      Src: /src/hostap/src/ap/beacon.c:1806,1
    - Dst: hostapd_mbssid_get_tx_bss
      Src: /src/hostap/src/ap/beacon.c:1806,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/beacon.c:1812,1
    - Dst: os_free
      Src: /src/hostap/src/ap/beacon.c:1814,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/beacon.c:1816,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/beacon.c:1817,1
    CyclomaticComplexity: 88
    EdgeCount: 88
    ICount: 151
    argCount: 4
    argNames:
    - hapd
    - mgmt
    - len
    - ssi_signal
    argTypes:
    - struct hostapd_data*
    - struct ieee80211_mgmt*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1819
      start: 1481
    functionDepth: 6
    functionLinenumber: 1481
    functionLinenumberEnd: 1819
    functionName: handle_probe_req
    functionSourceFile: /src/hostap/src/ap/beacon.c
    functionUses: 0
    functionsReached:
    - hostapd_gen_probe_resp
    - hostapd_drv_send_mlme
    - ssid_match
    - ap_get_sta
    - drand48
    - wpa_printf
    - sta_track_add
    - is_multicast_ether_addr
    - wpa_snprintf_hex
    - parse_ml_probe_req
    - hostapd_allowed_address
    - wpa_ssid_txt
    - ether_addr_equal
    - wpa_msg_ctrl
    - taxonomy_hostapd_sta_info_probe_req
    - ieee802_11_parse_elems
    - os_memcmp
    - os_free
    - p2p_group_match_dev_type
    - sta_track_get
    - supp_rates_11b_only
    - hostapd_fill_probe_resp_ml_params
    - os_malloc
    - taxonomy_sta_info_probe_req
    - cb
    - p2p_group_match_dev_id
    - hostapd_mbssid_get_tx_bss
    - sta_track_seen_on
    - os_memset
    - ieee802_11_vendor_ie_concat
    - wpa_msg
    - is_broadcast_ether_addr
    - hostapd_free_probe_resp_params
    - wpabuf_free
    - MAC2STR
    linkageType: ''
    returnType: void
    signature: "void handle_probe_req(struct hostapd_data *hapd,\n\t\t      const
      struct ieee80211_mgmt *mgmt, size_t len,\n\t\t      int ssi_signal)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/beacon.c:1836,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/beacon.c:1844,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/beacon.c:1851,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/beacon.c:1856,1
    - Dst: hostapd_gen_probe_resp
      Src: /src/hostap/src/ap/beacon.c:1864,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 2
    argNames:
    - hapd
    - resp_len
    argTypes:
    - struct hostapd_data*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1881
      start: 1822
    functionDepth: 6
    functionLinenumber: 1822
    functionLinenumberEnd: 1881
    functionName: hostapd_probe_resp_offloads
    functionSourceFile: /src/hostap/src/ap/beacon.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hostapd_gen_probe_resp
    - os_memset
    linkageType: ''
    returnType: u8
    signature: "u8 * hostapd_probe_resp_offloads(struct hostapd_data *hapd,\n\t\t\t\t\tsize_t
      *resp_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_6ghz_op_class
      Src: /src/hostap/src/ap/beacon.c:1893,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/beacon.c:1899,1
    - Dst: hostapd_gen_probe_resp
      Src: /src/hostap/src/ap/beacon.c:1907,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - hapd
    - ubpr
    argTypes:
    - struct hostapd_data*
    - struct unsol_bcast_probe_resp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1910
      start: 1888
    functionDepth: 6
    functionLinenumber: 1888
    functionLinenumberEnd: 1910
    functionName: hostapd_unsol_bcast_probe_resp
    functionSourceFile: /src/hostap/src/ap/beacon.c
    functionUses: 0
    functionsReached:
    - is_6ghz_op_class
    - hostapd_gen_probe_resp
    - os_memset
    linkageType: ''
    returnType: u8
    signature: "u8 * hostapd_unsol_bcast_probe_resp(struct hostapd_data *hapd,\n\t\t\t\t
      \   struct unsol_bcast_probe_resp *ubpr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/beacon.c:1917,1
    - Dst: os_free
      Src: /src/hostap/src/ap/beacon.c:1920,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - info
    argTypes:
    - struct hostapd_sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1921
      start: 1914
    functionDepth: 1
    functionLinenumber: 1914
    functionLinenumberEnd: 1921
    functionName: sta_track_del
    functionSourceFile: /src/hostap/src/ap/beacon.c
    functionUses: 1
    functionsReached:
    - os_free
    - wpabuf_free
    linkageType: ''
    returnType: void
    signature: void sta_track_del(struct hostapd_sta_info *info)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_is_eht_enabled
      Src: /src/hostap/src/ap/beacon.c:1929,1
    - Dst: hostapd_is_he_enabled
      Src: /src/hostap/src/ap/beacon.c:1934,1
    - Dst: hostapd_is_vht_enabled
      Src: /src/hostap/src/ap/beacon.c:1939,1
    - Dst: hostapd_is_ht_enabled
      Src: /src/hostap/src/ap/beacon.c:1943,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1947
      start: 1926
    functionDepth: 1
    functionLinenumber: 1926
    functionLinenumberEnd: 1947
    functionName: hostapd_gen_fils_discovery_phy_index
    functionSourceFile: /src/hostap/src/ap/beacon.c
    functionUses: 0
    functionsReached:
    - hostapd_is_eht_enabled
    - hostapd_is_vht_enabled
    - hostapd_is_ht_enabled
    - hostapd_is_he_enabled
    linkageType: ''
    returnType: u16
    signature: u16 hostapd_gen_fils_discovery_phy_index(struct hostapd_data *hapd)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/ap/beacon.c:1963,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/ap/beacon.c:1966,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/ap/beacon.c:1967,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/ap/beacon.c:1971,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/ap/beacon.c:1972,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/ap/beacon.c:1976,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/ap/beacon.c:1977,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 48
    argCount: 3
    argNames:
    - mode
    - phy_index
    - he_mcs_nss_size
    argTypes:
    - struct hostapd_hw_modes*
    - u16
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2041
      start: 1950
    functionDepth: 1
    functionLinenumber: 1950
    functionLinenumberEnd: 2041
    functionName: hostapd_gen_fils_discovery_nss
    functionSourceFile: /src/hostap/src/ap/beacon.c
    functionUses: 0
    functionsReached:
    - WPA_GET_LE16
    - os_memset
    linkageType: ''
    returnType: u16
    signature: "u16 hostapd_gen_fils_discovery_nss(struct hostapd_hw_modes *mode,\n\t\t\t\t\t
      \ u16 phy_index, u8 he_mcs_nss_size)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: is_6ghz_op_class
      Src: /src/hostap/src/ap/beacon.c:2054,1
    - Dst: hostapd_get_oper_chwidth
      Src: /src/hostap/src/ap/beacon.c:2074,1
    - Dst: hostapd_gen_fils_discovery_phy_index
      Src: /src/hostap/src/ap/beacon.c:2096,1
    - Dst: hostapd_gen_fils_discovery_nss
      Src: /src/hostap/src/ap/beacon.c:2099,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 47
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2102
      start: 2044
    functionDepth: 2
    functionLinenumber: 2044
    functionLinenumberEnd: 2102
    functionName: hostapd_fils_discovery_cap
    functionSourceFile: /src/hostap/src/ap/beacon.c
    functionUses: 0
    functionsReached:
    - is_6ghz_op_class
    - hostapd_gen_fils_discovery_phy_index
    - hostapd_gen_fils_discovery_nss
    - hostapd_get_oper_chwidth
    linkageType: ''
    returnType: u16
    signature: u16 hostapd_fils_discovery_cap(struct hostapd_data *hapd)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: is_6ghz_op_class
      Src: /src/hostap/src/ap/beacon.c:2125,1
    - Dst: is_6ghz_psc_frequency
      Src: /src/hostap/src/ap/beacon.c:2126,1
    - Dst: ieee80211_chan_to_freq
      Src: /src/hostap/src/ap/beacon.c:2126,1
    - Dst: op_class_to_bandwidth
      Src: /src/hostap/src/ap/beacon.c:2129,1
    - Dst: wpa_auth_write_fd_rsn_info
      Src: /src/hostap/src/ap/beacon.c:2135,1
    - Dst: hostapd_wpa_ie
      Src: /src/hostap/src/ap/beacon.c:2140,1
    - Dst: hostapd_eid_rnr_len
      Src: /src/hostap/src/ap/beacon.c:2146,1
    - Dst: hostapd_eid_fils_indic
      Src: /src/hostap/src/ap/beacon.c:2148,1
    - Dst: he_elem_len
      Src: /src/hostap/src/ap/beacon.c:2154,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/beacon.c:2156,1
    - Dst: IEEE80211_FC
      Src: /src/hostap/src/ap/beacon.c:2160,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/beacon.c:2162,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/beacon.c:2163,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/beacon.c:2164,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/ap/beacon.c:2174,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/ap/beacon.c:2181,1
    - Dst: WPA_PUT_LE32
      Src: /src/hostap/src/ap/beacon.c:2185,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/ap/beacon.c:2192,1
    - Dst: hostapd_fils_discovery_cap
      Src: /src/hostap/src/ap/beacon.c:2192,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/beacon.c:2207,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/beacon.c:2215,1
    - Dst: hostapd_eid_rnr
      Src: /src/hostap/src/ap/beacon.c:2222,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/beacon.c:2226,1
    - Dst: is_6ghz_op_class
      Src: /src/hostap/src/ap/beacon.c:2230,1
    - Dst: hostapd_eid_txpower_envelope
      Src: /src/hostap/src/ap/beacon.c:2231,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/beacon.c:2234,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 65
    argCount: 2
    argNames:
    - hapd
    - len
    argTypes:
    - struct hostapd_data*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2237
      start: 2105
    functionDepth: 3
    functionLinenumber: 2105
    functionLinenumberEnd: 2237
    functionName: hostapd_gen_fils_discovery
    functionSourceFile: /src/hostap/src/ap/beacon.c
    functionUses: 0
    functionsReached:
    - he_elem_len
    - wpa_hexdump
    - is_6ghz_psc_frequency
    - hostapd_eid_txpower_envelope
    - wpa_auth_write_fd_rsn_info
    - hostapd_eid_fils_indic
    - WPA_PUT_LE32
    - hostapd_fils_discovery_cap
    - hostapd_eid_rnr
    - WPA_PUT_LE16
    - ieee80211_chan_to_freq
    - is_6ghz_op_class
    - hostapd_wpa_ie
    - IEEE80211_FC
    - op_class_to_bandwidth
    - os_memset
    - os_memcpy
    - os_zalloc
    - hostapd_eid_rnr_len
    linkageType: ''
    returnType: u8
    signature: u8 * hostapd_gen_fils_discovery(struct hostapd_data *hapd, size_t *len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_6ghz_op_class
      Src: /src/hostap/src/ap/beacon.c:2245,1
    - Dst: hostapd_gen_fils_discovery
      Src: /src/hostap/src/ap/beacon.c:2254,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - hapd
    - params
    argTypes:
    - struct hostapd_data*
    - struct wpa_driver_ap_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2258
      start: 2241
    functionDepth: 4
    functionLinenumber: 2241
    functionLinenumberEnd: 2258
    functionName: hostapd_fils_discovery
    functionSourceFile: /src/hostap/src/ap/beacon.c
    functionUses: 0
    functionsReached:
    - is_6ghz_op_class
    - hostapd_gen_fils_discovery
    linkageType: ''
    returnType: u8
    signature: "u8 * hostapd_fils_discovery(struct hostapd_data *hapd,\n\t\t\t\t   struct
      wpa_driver_ap_params *params)"
  - BBCount: 53
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/ap/beacon.c:2277,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/beacon.c:2282,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/beacon.c:2286,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/beacon.c:2290,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/beacon.c:2294,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/beacon.c:2297,1
    - Dst: he_elem_len
      Src: /src/hostap/src/ap/beacon.c:2306,1
    - Dst: hostapd_is_eht_enabled
      Src: /src/hostap/src/ap/beacon.c:2309,1
    - Dst: hostapd_eid_eht_capab_len
      Src: /src/hostap/src/ap/beacon.c:2310,1
    - Dst: hostapd_eid_eht_ml_tid_to_link_map_len
      Src: /src/hostap/src/ap/beacon.c:2323,1
    - Dst: hostapd_mbssid_get_tx_bss
      Src: /src/hostap/src/ap/beacon.c:2333,1
    - Dst: hostapd_eid_rnr_len
      Src: /src/hostap/src/ap/beacon.c:2335,1
    - Dst: hostapd_is_uhr_enabled
      Src: /src/hostap/src/ap/beacon.c:2338,1
    - Dst: hostapd_mbo_ie_len
      Src: /src/hostap/src/ap/beacon.c:2342,1
    - Dst: hostapd_eid_owe_trans_len
      Src: /src/hostap/src/ap/beacon.c:2343,1
    - Dst: hostapd_eid_dpp_cc_len
      Src: /src/hostap/src/ap/beacon.c:2344,1
    - Dst: hostapd_get_rsne_override_len
      Src: /src/hostap/src/ap/beacon.c:2345,1
    - Dst: hostapd_get_rsne_override_2_len
      Src: /src/hostap/src/ap/beacon.c:2346,1
    - Dst: hostapd_get_rsnxe_override_len
      Src: /src/hostap/src/ap/beacon.c:2347,1
    - Dst: hostapd_eid_wfa_capab_len
      Src: /src/hostap/src/ap/beacon.c:2348,1
    - Dst: os_malloc
      Src: /src/hostap/src/ap/beacon.c:2350,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/beacon.c:2352,1
    - Dst: IEEE80211_FC
      Src: /src/hostap/src/ap/beacon.c:2357,1
    - Dst: host_to_le16
      Src: /src/hostap/src/ap/beacon.c:2359,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/beacon.c:2360,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/beacon.c:2362,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/beacon.c:2363,1
    - Dst: host_to_le16
      Src: /src/hostap/src/ap/beacon.c:2365,1
    - Dst: hostapd_own_capab_info
      Src: /src/hostap/src/ap/beacon.c:2368,1
    - Dst: host_to_le16
      Src: /src/hostap/src/ap/beacon.c:2369,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/beacon.c:2377,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/beacon.c:2383,1
    - Dst: hostapd_eid_supp_rates
      Src: /src/hostap/src/ap/beacon.c:2389,1
    - Dst: hostapd_eid_ds_params
      Src: /src/hostap/src/ap/beacon.c:2392,1
    - Dst: hostapd_eid_country
      Src: /src/hostap/src/ap/beacon.c:2396,1
    - Dst: hostapd_eid_pwr_constraint
      Src: /src/hostap/src/ap/beacon.c:2399,1
    - Dst: hostapd_eid_csa
      Src: /src/hostap/src/ap/beacon.c:2402,1
    - Dst: hostapd_eid_erp_info
      Src: /src/hostap/src/ap/beacon.c:2408,1
    - Dst: hostapd_eid_ext_supp_rates
      Src: /src/hostap/src/ap/beacon.c:2411,1
    - Dst: hostapd_get_rsne
      Src: /src/hostap/src/ap/beacon.c:2413,1
    - Dst: hostapd_eid_bss_load
      Src: /src/hostap/src/ap/beacon.c:2414,1
    - Dst: hostapd_eid_rm_enabled_capab
      Src: /src/hostap/src/ap/beacon.c:2415,1
    - Dst: hostapd_get_mde
      Src: /src/hostap/src/ap/beacon.c:2417,1
    - Dst: hostapd_eid_ecsa
      Src: /src/hostap/src/ap/beacon.c:2420,1
    - Dst: hostapd_eid_supported_op_classes
      Src: /src/hostap/src/ap/beacon.c:2425,1
    - Dst: hostapd_eid_ht_capabilities
      Src: /src/hostap/src/ap/beacon.c:2426,1
    - Dst: hostapd_eid_ht_operation
      Src: /src/hostap/src/ap/beacon.c:2427,1
    - Dst: ieee802_11_build_ap_params_mbssid
      Src: /src/hostap/src/ap/beacon.c:2434,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/beacon.c:2435,1
    - Dst: hostapd_eid_ext_capab
      Src: /src/hostap/src/ap/beacon.c:2444,1
    - Dst: hostapd_eid_time_adv
      Src: /src/hostap/src/ap/beacon.c:2450,1
    - Dst: hostapd_eid_interworking
      Src: /src/hostap/src/ap/beacon.c:2452,1
    - Dst: hostapd_eid_adv_proto
      Src: /src/hostap/src/ap/beacon.c:2453,1
    - Dst: hostapd_eid_roaming_consortium
      Src: /src/hostap/src/ap/beacon.c:2454,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/beacon.c:2458,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/beacon.c:2458,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/beacon.c:2459,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/beacon.c:2460,1
    - Dst: hostapd_is_vht_enabled
      Src: /src/hostap/src/ap/beacon.c:2465,1
    - Dst: is_6ghz_op_class
      Src: /src/hostap/src/ap/beacon.c:2466,1
    - Dst: hostapd_eid_vht_capabilities
      Src: /src/hostap/src/ap/beacon.c:2467,1
    - Dst: hostapd_eid_vht_operation
      Src: /src/hostap/src/ap/beacon.c:2468,1
    - Dst: hostapd_eid_txpower_envelope
      Src: /src/hostap/src/ap/beacon.c:2469,1
    - Dst: hostapd_is_he_enabled
      Src: /src/hostap/src/ap/beacon.c:2474,1
    - Dst: is_6ghz_op_class
      Src: /src/hostap/src/ap/beacon.c:2475,1
    - Dst: hostapd_eid_txpower_envelope
      Src: /src/hostap/src/ap/beacon.c:2476,1
    - Dst: hostapd_eid_chsw_wrapper
      Src: /src/hostap/src/ap/beacon.c:2479,1
    - Dst: hostapd_eid_rnr
      Src: /src/hostap/src/ap/beacon.c:2481,1
    - Dst: hostapd_eid_fils_indic
      Src: /src/hostap/src/ap/beacon.c:2482,1
    - Dst: hostapd_eid_max_cs_time
      Src: /src/hostap/src/ap/beacon.c:2485,1
    - Dst: hostapd_get_rsnxe
      Src: /src/hostap/src/ap/beacon.c:2487,1
    - Dst: hostapd_eid_mbssid_config
      Src: /src/hostap/src/ap/beacon.c:2488,1
    - Dst: hostapd_is_he_enabled
      Src: /src/hostap/src/ap/beacon.c:2492,1
    - Dst: hostapd_eid_he_capab
      Src: /src/hostap/src/ap/beacon.c:2495,1
    - Dst: hostapd_eid_he_operation
      Src: /src/hostap/src/ap/beacon.c:2497,1
    - Dst: hostapd_eid_cca
      Src: /src/hostap/src/ap/beacon.c:2500,1
    - Dst: hostapd_eid_spatial_reuse
      Src: /src/hostap/src/ap/beacon.c:2505,1
    - Dst: hostapd_eid_he_mu_edca_parameter_set
      Src: /src/hostap/src/ap/beacon.c:2506,1
    - Dst: hostapd_eid_he_6ghz_band_cap
      Src: /src/hostap/src/ap/beacon.c:2507,1
    - Dst: hostapd_is_eht_enabled
      Src: /src/hostap/src/ap/beacon.c:2512,1
    - Dst: hostapd_eid_eht_ml_beacon
      Src: /src/hostap/src/ap/beacon.c:2514,1
    - Dst: hostapd_eid_eht_capab
      Src: /src/hostap/src/ap/beacon.c:2516,1
    - Dst: hostapd_eid_eht_operation
      Src: /src/hostap/src/ap/beacon.c:2518,1
    - Dst: hostapd_eid_eht_ml_tid_to_link_map
      Src: /src/hostap/src/ap/beacon.c:2520,1
    - Dst: hostapd_is_uhr_enabled
      Src: /src/hostap/src/ap/beacon.c:2526,1
    - Dst: hostapd_eid_uhr_operation
      Src: /src/hostap/src/ap/beacon.c:2529,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/beacon.c:2530,1
    - Dst: hostapd_eid_uhr_operation
      Src: /src/hostap/src/ap/beacon.c:2534,1
    - Dst: os_free
      Src: /src/hostap/src/ap/beacon.c:2538,1
    - Dst: hostapd_eid_vendor_vht
      Src: /src/hostap/src/ap/beacon.c:2546,1
    - Dst: hostapd_get_wpa_ie
      Src: /src/hostap/src/ap/beacon.c:2550,1
    - Dst: hostapd_eid_wmm
      Src: /src/hostap/src/ap/beacon.c:2553,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/beacon.c:2557,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/beacon.c:2557,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/beacon.c:2558,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/beacon.c:2559,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/beacon.c:2565,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/beacon.c:2565,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/beacon.c:2566,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/beacon.c:2567,1
    - Dst: hostapd_eid_p2p_manage
      Src: /src/hostap/src/ap/beacon.c:2573,1
    - Dst: hostapd_eid_hs20_indication
      Src: /src/hostap/src/ap/beacon.c:2577,1
    - Dst: hostapd_eid_mbo
      Src: /src/hostap/src/ap/beacon.c:2580,1
    - Dst: hostapd_eid_owe_trans
      Src: /src/hostap/src/ap/beacon.c:2581,1
    - Dst: hostapd_eid_dpp_cc
      Src: /src/hostap/src/ap/beacon.c:2583,1
    - Dst: hostapd_get_rsne_override
      Src: /src/hostap/src/ap/beacon.c:2585,1
    - Dst: hostapd_get_rsne_override_2
      Src: /src/hostap/src/ap/beacon.c:2587,1
    - Dst: hostapd_get_rsnxe_override
      Src: /src/hostap/src/ap/beacon.c:2589,1
    - Dst: hostapd_eid_wfa_capab
      Src: /src/hostap/src/ap/beacon.c:2592,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/beacon.c:2595,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/beacon.c:2595,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/beacon.c:2596,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/beacon.c:2597,1
    - Dst: hostapd_probe_resp_offloads
      Src: /src/hostap/src/ap/beacon.c:2602,1
    - Dst: wpa_key_mgmt_wpa_psk_no_sae
      Src: /src/hostap/src/ap/beacon.c:2606,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/beacon.c:2610,1
    - Dst: pbkdf2_sha1
      Src: /src/hostap/src/ap/beacon.c:2614,1
    - Dst: wpa_key_mgmt_sae
      Src: /src/hostap/src/ap/beacon.c:2626,1
    - Dst: hostapd_sae_pk_in_use
      Src: /src/hostap/src/ap/beacon.c:2630,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/beacon.c:2631,1
    - Dst: hostapd_sae_pw_id_in_use
      Src: /src/hostap/src/ap/beacon.c:2636,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/beacon.c:2637,1
    - Dst: sae_get_password
      Src: /src/hostap/src/ap/beacon.c:2642,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/beacon.c:2645,1
    - Dst: ieee802_11_erp_info
      Src: /src/hostap/src/ap/beacon.c:2698,1
    - Dst: hostapd_is_ht_enabled
      Src: /src/hostap/src/ap/beacon.c:2708,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/ap/beacon.c:2715,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/beacon.c:2734,1
    - Dst: os_free
      Src: /src/hostap/src/ap/beacon.c:2750,1
    - Dst: os_free
      Src: /src/hostap/src/ap/beacon.c:2751,1
    - Dst: os_free
      Src: /src/hostap/src/ap/beacon.c:2752,1
    - Dst: os_free
      Src: /src/hostap/src/ap/beacon.c:2753,1
    CyclomaticComplexity: 79
    EdgeCount: 79
    ICount: 282
    argCount: 2
    argNames:
    - hapd
    - params
    argTypes:
    - struct hostapd_data*
    - struct wpa_driver_ap_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2757
      start: 2263
    functionDepth: 7
    functionLinenumber: 2263
    functionLinenumberEnd: 2757
    functionName: ieee802_11_build_ap_params
    functionSourceFile: /src/hostap/src/ap/beacon.c
    functionUses: 0
    functionsReached:
    - hostapd_eid_mbo
    - hostapd_get_rsne_override
    - ieee802_11_erp_info
    - hostapd_eid_bss_load
    - hostapd_eid_eht_operation
    - wpa_key_mgmt_sae
    - wpa_printf
    - hostapd_eid_ecsa
    - hostapd_eid_spatial_reuse
    - os_free
    - hostapd_probe_resp_offloads
    - hostapd_eid_dpp_cc_len
    - wpabuf_len
    - hostapd_eid_hs20_indication
    - is_zero_ether_addr
    - hostapd_eid_chsw_wrapper
    - hostapd_eid_wfa_capab_len
    - hostapd_eid_eht_ml_tid_to_link_map_len
    - hostapd_eid_wfa_capab
    - hostapd_get_rsne_override_2
    - hostapd_sae_pk_in_use
    - hostapd_eid_mbssid_config
    - hostapd_eid_supported_op_classes
    - hostapd_eid_uhr_operation
    - os_zalloc
    - hostapd_get_rsne_override_2_len
    - hostapd_get_rsnxe
    - hostapd_get_rsne
    - hostapd_eid_ext_supp_rates
    - he_elem_len
    - hostapd_is_uhr_enabled
    - hostapd_eid_pwr_constraint
    - hostapd_eid_vht_operation
    - hostapd_is_eht_enabled
    - hostapd_eid_txpower_envelope
    - hostapd_eid_eht_capab
    - hostapd_eid_p2p_manage
    - hostapd_eid_max_cs_time
    - hostapd_eid_ext_capab
    - hostapd_eid_vendor_vht
    - hostapd_is_ht_enabled
    - hostapd_get_wpa_ie
    - hostapd_sae_pw_id_in_use
    - hostapd_mbssid_get_tx_bss
    - hostapd_eid_csa
    - os_memcpy
    - hostapd_eid_he_6ghz_band_cap
    - hostapd_eid_rm_enabled_capab
    - hostapd_eid_erp_info
    - hostapd_is_he_enabled
    - hostapd_eid_vht_capabilities
    - hostapd_eid_he_mu_edca_parameter_set
    - hostapd_eid_eht_ml_beacon
    - hostapd_get_rsnxe_override_len
    - hostapd_eid_eht_ml_tid_to_link_map
    - hostapd_eid_he_operation
    - hostapd_eid_ht_operation
    - hostapd_eid_roaming_consortium
    - wpa_key_mgmt_wpa_psk_no_sae
    - hostapd_eid_fils_indic
    - hostapd_eid_eht_capab_len
    - hostapd_eid_supp_rates
    - is_6ghz_op_class
    - hostapd_eid_adv_proto
    - hostapd_own_capab_info
    - hostapd_get_mde
    - hostapd_eid_wmm
    - sae_get_password
    - hostapd_eid_interworking
    - hostapd_eid_country
    - hostapd_eid_he_capab
    - hostapd_eid_ht_capabilities
    - hostapd_get_rsnxe_override
    - hostapd_eid_cca
    - hostapd_eid_owe_trans
    - hostapd_mbo_ie_len
    - hostapd_eid_owe_trans_len
    - pbkdf2_sha1
    - hostapd_eid_time_adv
    - ieee802_11_build_ap_params_mbssid
    - hostapd_eid_rnr
    - hostapd_eid_dpp_cc
    - hostapd_is_vht_enabled
    - os_malloc
    - wpabuf_head
    - IEEE80211_FC
    - os_memset
    - hostapd_get_rsne_override_len
    - hostapd_eid_rnr_len
    - hostapd_eid_ds_params
    - host_to_le16
    linkageType: ''
    returnType: int
    signature: "int ieee802_11_build_ap_params(struct hostapd_data *hapd,\n\t\t\t
      \      struct wpa_driver_ap_params *params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/ap/beacon.c:2762,1
    - Dst: os_free
      Src: /src/hostap/src/ap/beacon.c:2764,1
    - Dst: os_free
      Src: /src/hostap/src/ap/beacon.c:2766,1
    - Dst: os_free
      Src: /src/hostap/src/ap/beacon.c:2768,1
    - Dst: os_free
      Src: /src/hostap/src/ap/beacon.c:2770,1
    - Dst: os_free
      Src: /src/hostap/src/ap/beacon.c:2772,1
    - Dst: os_free
      Src: /src/hostap/src/ap/beacon.c:2774,1
    - Dst: os_free
      Src: /src/hostap/src/ap/beacon.c:2777,1
    - Dst: os_free
      Src: /src/hostap/src/ap/beacon.c:2781,1
    - Dst: os_free
      Src: /src/hostap/src/ap/beacon.c:2784,1
    - Dst: os_free
      Src: /src/hostap/src/ap/beacon.c:2786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 1
    argNames:
    - params
    argTypes:
    - struct wpa_driver_ap_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2788
      start: 2760
    functionDepth: 0
    functionLinenumber: 2760
    functionLinenumberEnd: 2788
    functionName: ieee802_11_free_ap_params
    functionSourceFile: /src/hostap/src/ap/beacon.c
    functionUses: 0
    functionsReached:
    - os_free
    linkageType: ''
    returnType: void
    signature: void ieee802_11_free_ap_params(struct wpa_driver_ap_params *params)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/beacon.c:2805,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/beacon.c:2810,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/beacon.c:2816,1
    - Dst: ieee802_11_build_ap_params
      Src: /src/hostap/src/ap/beacon.c:2824,1
    - Dst: hostapd_build_ap_extra_ies
      Src: /src/hostap/src/ap/beacon.c:2827,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/beacon.c:2843,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/beacon.c:2845,1
    - Dst: hostapd_get_he_twt_responder
      Src: /src/hostap/src/ap/beacon.c:2852,1
    - Dst: hostapd_unsol_bcast_probe_resp
      Src: /src/hostap/src/ap/beacon.c:2855,1
    - Dst: hostapd_get_ht_vht_twt_responder
      Src: /src/hostap/src/ap/beacon.c:2858,1
    - Dst: hostapd_fils_discovery
      Src: /src/hostap/src/ap/beacon.c:2865,1
    - Dst: hostapd_get_oper_chwidth
      Src: /src/hostap/src/ap/beacon.c:2883,1
    - Dst: hostapd_get_oper_centr_freq_seg0_idx
      Src: /src/hostap/src/ap/beacon.c:2884,1
    - Dst: hostapd_get_oper_centr_freq_seg1_idx
      Src: /src/hostap/src/ap/beacon.c:2885,1
    - Dst: hostapd_get_punct_bitmap
      Src: /src/hostap/src/ap/beacon.c:2889,1
    - Dst: hostapd_set_freq_params
      Src: /src/hostap/src/ap/beacon.c:2898,1
    - Dst: hostapd_get_hw_mode_any_channels
      Src: /src/hostap/src/ap/beacon.c:2914,1
    - Dst: hostapd_drv_set_ap
      Src: /src/hostap/src/ap/beacon.c:2920,1
    - Dst: hostapd_free_ap_extra_ies
      Src: /src/hostap/src/ap/beacon.c:2921,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/beacon.c:2923,1
    - Dst: ieee802_11_free_ap_params
      Src: /src/hostap/src/ap/beacon.c:2927,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 61
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2929
      start: 2791
    functionDepth: 8
    functionLinenumber: 2791
    functionLinenumberEnd: 2929
    functionName: __ieee802_11_set_beacon
    functionSourceFile: /src/hostap/src/ap/beacon.c
    functionUses: 0
    functionsReached:
    - hostapd_get_oper_centr_freq_seg1_idx
    - os_memcpy
    - wpa_printf
    - hostapd_free_ap_extra_ies
    - hostapd_drv_set_ap
    - hostapd_get_punct_bitmap
    - hostapd_get_oper_centr_freq_seg0_idx
    - ieee802_11_free_ap_params
    - hostapd_set_freq_params
    - hostapd_fils_discovery
    - hostapd_unsol_bcast_probe_resp
    - hostapd_get_he_twt_responder
    - ieee802_11_build_ap_params
    - hostapd_get_ht_vht_twt_responder
    - hostapd_build_ap_extra_ies
    - hostapd_get_hw_mode_any_channels
    - hostapd_get_oper_chwidth
    linkageType: ''
    returnType: int
    signature: int __ieee802_11_set_beacon(struct hostapd_data *hapd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __ieee802_11_set_beacon
      Src: /src/hostap/src/ap/beacon.c:2934,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2935
      start: 2932
    functionDepth: 9
    functionLinenumber: 2932
    functionLinenumberEnd: 2935
    functionName: ieee802_11_set_beacon_per_bss_only
    functionSourceFile: /src/hostap/src/ap/beacon.c
    functionUses: 0
    functionsReached:
    - __ieee802_11_set_beacon
    linkageType: ''
    returnType: void
    signature: void ieee802_11_set_beacon_per_bss_only(struct hostapd_data *hapd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/ap/beacon.c:2944,1
    - Dst: hostapd_gen_probe_resp
      Src: /src/hostap/src/ap/beacon.c:2945,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - hapd
    - params
    - is_ml_sta_info
    argTypes:
    - struct hostapd_data*
    - struct probe_resp_params*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2951
      start: 2940
    functionDepth: 6
    functionLinenumber: 2940
    functionLinenumberEnd: 2951
    functionName: hostapd_get_probe_resp_tmpl
    functionSourceFile: /src/hostap/src/ap/beacon.c
    functionUses: 0
    functionsReached:
    - hostapd_gen_probe_resp
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int hostapd_get_probe_resp_tmpl(struct hostapd_data *hapd,\n\t\t\t\t
      \      struct probe_resp_params *params,\n\t\t\t\t       bool is_ml_sta_info)"
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - eid
    - tx_vap
    argTypes:
    - u8
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2969
      start: 2954
    functionDepth: 0
    functionLinenumber: 2954
    functionLinenumberEnd: 2969
    functionName: is_restricted_eid_in_sta_profile
    functionSourceFile: /src/hostap/src/ap/beacon.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_restricted_eid_in_sta_profile(u8 eid, bool tx_vap)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ext_id
    argTypes:
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2980
      start: 2972
    functionDepth: 0
    functionLinenumber: 2972
    functionLinenumberEnd: 2980
    functionName: is_restricted_ext_eid_in_sta_profile
    functionSourceFile: /src/hostap/src/ap/beacon.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_restricted_ext_eid_in_sta_profile(u8 ext_id)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/beacon.c:3022,1
    - Dst: is_restricted_ext_eid_in_sta_profile
      Src: /src/hostap/src/ap/beacon.c:3047,1
    - Dst: is_restricted_eid_in_sta_profile
      Src: /src/hostap/src/ap/beacon.c:3051,1
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/beacon.c:3081,1
    - Dst: BIT
      Src: /src/hostap/src/ap/beacon.c:3091,1
    - Dst: BIT
      Src: /src/hostap/src/ap/beacon.c:3094,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/beacon.c:3111,1
    - Dst: BIT
      Src: /src/hostap/src/ap/beacon.c:3120,1
    - Dst: BIT
      Src: /src/hostap/src/ap/beacon.c:3123,1
    - Dst: BIT
      Src: /src/hostap/src/ap/beacon.c:3166,1
    - Dst: is_restricted_ext_eid_in_sta_profile
      Src: /src/hostap/src/ap/beacon.c:3167,1
    - Dst: BIT
      Src: /src/hostap/src/ap/beacon.c:3173,1
    - Dst: is_restricted_eid_in_sta_profile
      Src: /src/hostap/src/ap/beacon.c:3174,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/beacon.c:3180,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/beacon.c:3202,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/beacon.c:3231,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/beacon.c:3235,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 115
    argCount: 6
    argNames:
    - link_fdata
    - link_data_len
    - own_fdata
    - own_data_len
    - sta_profile
    - tx_vap
    argTypes:
    - struct ieee80211_mgmt*
    - size_t
    - struct ieee80211_mgmt*
    - size_t
    - u8*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3241
      start: 2990
    functionDepth: 1
    functionLinenumber: 2990
    functionLinenumberEnd: 3241
    functionName: hostapd_add_sta_profile
    functionSourceFile: /src/hostap/src/ap/beacon.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - is_restricted_ext_eid_in_sta_profile
    - is_restricted_eid_in_sta_profile
    - BIT
    - os_memcmp
    linkageType: ''
    returnType: size_t
    signature: "size_t hostapd_add_sta_profile(struct ieee80211_mgmt *link_fdata,\n\t\t\t\t
      \     size_t link_data_len,\n\t\t\t\t      struct ieee80211_mgmt *own_fdata,\n\t\t\t\t
      \     size_t own_data_len,\n\t\t\t\t      u8 *sta_profile, bool tx_vap)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: is_restricted_ext_eid_in_sta_profile
      Src: /src/hostap/src/ap/beacon.c:3047,1
    - Dst: is_restricted_eid_in_sta_profile
      Src: /src/hostap/src/ap/beacon.c:3051,1
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/beacon.c:3081,1
    - Dst: BIT
      Src: /src/hostap/src/ap/beacon.c:3091,1
    - Dst: BIT
      Src: /src/hostap/src/ap/beacon.c:3094,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/beacon.c:3111,1
    - Dst: BIT
      Src: /src/hostap/src/ap/beacon.c:3120,1
    - Dst: BIT
      Src: /src/hostap/src/ap/beacon.c:3123,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 60
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3148
      start: 3036
    functionDepth: 1
    functionLinenumber: 3036
    functionLinenumberEnd: 3148
    functionName: for_each_element
    functionSourceFile: /src/hostap/src/ap/beacon.c
    functionUses: 2
    functionsReached:
    - os_memcpy
    - is_restricted_ext_eid_in_sta_profile
    - is_restricted_eid_in_sta_profile
    - BIT
    - os_memcmp
    linkageType: ''
    returnType: void
    signature: void for_each_element(own_elem, own_data, own_data_len)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/beacon.c:3081,1
    - Dst: BIT
      Src: /src/hostap/src/ap/beacon.c:3091,1
    - Dst: BIT
      Src: /src/hostap/src/ap/beacon.c:3094,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/beacon.c:3111,1
    - Dst: BIT
      Src: /src/hostap/src/ap/beacon.c:3120,1
    - Dst: BIT
      Src: /src/hostap/src/ap/beacon.c:3123,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3125
      start: 3055
    functionDepth: 0
    functionLinenumber: 3055
    functionLinenumberEnd: 3125
    functionName: for_each_element
    functionSourceFile: /src/hostap/src/ap/beacon.c
    functionUses: 2
    functionsReached:
    - os_memcpy
    - BIT
    - os_memcmp
    linkageType: ''
    returnType: void
    signature: void for_each_element(link_elem, link_data, link_data_len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BIT
      Src: /src/hostap/src/ap/beacon.c:3166,1
    - Dst: is_restricted_ext_eid_in_sta_profile
      Src: /src/hostap/src/ap/beacon.c:3167,1
    - Dst: BIT
      Src: /src/hostap/src/ap/beacon.c:3173,1
    - Dst: is_restricted_eid_in_sta_profile
      Src: /src/hostap/src/ap/beacon.c:3174,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/beacon.c:3180,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3184
      start: 3151
    functionDepth: 1
    functionLinenumber: 3151
    functionLinenumberEnd: 3184
    functionName: for_each_element
    functionSourceFile: /src/hostap/src/ap/beacon.c
    functionUses: 2
    functionsReached:
    - is_restricted_ext_eid_in_sta_profile
    - is_restricted_eid_in_sta_profile
    - os_memcpy
    - BIT
    linkageType: ''
    returnType: void
    signature: void for_each_element(link_elem, link_data, link_data_len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/beacon.c:3202,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3207
      start: 3193
    functionDepth: 0
    functionLinenumber: 3193
    functionLinenumberEnd: 3207
    functionName: for_each_element
    functionSourceFile: /src/hostap/src/ap/beacon.c
    functionUses: 2
    functionsReached:
    - os_memcpy
    linkageType: ''
    returnType: void
    signature: void for_each_element(link_elem, link_data, link_data_len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_add_sta_profile
      Src: /src/hostap/src/ap/beacon.c:3253,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/beacon.c:3259,1
    - Dst: hostapd_add_sta_profile
      Src: /src/hostap/src/ap/beacon.c:3264,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 6
    argNames:
    - link_data
    - link_data_len
    - own_data
    - own_data_len
    - sta_profile_len
    - tx_vap
    argTypes:
    - struct ieee80211_mgmt*
    - size_t
    - struct ieee80211_mgmt*
    - size_t
    - size_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3269
      start: 3244
    functionDepth: 2
    functionLinenumber: 3244
    functionLinenumberEnd: 3269
    functionName: hostapd_gen_sta_profile
    functionSourceFile: /src/hostap/src/ap/beacon.c
    functionUses: 0
    functionsReached:
    - os_zalloc
    - hostapd_add_sta_profile
    linkageType: ''
    returnType: u8
    signature: "u8 * hostapd_gen_sta_profile(struct ieee80211_mgmt *link_data,\n\t\t\t\t
      \   size_t link_data_len,\n\t\t\t\t    struct ieee80211_mgmt *own_data,\n\t\t\t\t
      \   size_t own_data_len,\n\t\t\t\t    size_t *sta_profile_len, bool tx_vap)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_mbssid_get_tx_bss
      Src: /src/hostap/src/ap/beacon.c:3274,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/beacon.c:3288,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/beacon.c:3291,1
    - Dst: hostapd_get_probe_resp_tmpl
      Src: /src/hostap/src/ap/beacon.c:3294,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/beacon.c:3295,1
    - Dst: hostapd_get_probe_resp_tmpl
      Src: /src/hostap/src/ap/beacon.c:3321,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/beacon.c:3322,1
    - Dst: hostapd_gen_sta_profile
      Src: /src/hostap/src/ap/beacon.c:3337,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/beacon.c:3341,1
    - Dst: os_free
      Src: /src/hostap/src/ap/beacon.c:3350,1
    - Dst: os_memdup
      Src: /src/hostap/src/ap/beacon.c:3353,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/beacon.c:3358,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/beacon.c:3360,1
    - Dst: os_free
      Src: /src/hostap/src/ap/beacon.c:3364,1
    - Dst: os_free
      Src: /src/hostap/src/ap/beacon.c:3365,1
    - Dst: os_free
      Src: /src/hostap/src/ap/beacon.c:3369,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 53
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3370
      start: 3272
    functionDepth: 7
    functionLinenumber: 3272
    functionLinenumberEnd: 3370
    functionName: hostapd_gen_per_sta_profiles
    functionSourceFile: /src/hostap/src/ap/beacon.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - os_memdup
    - os_free
    - hostapd_get_probe_resp_tmpl
    - hostapd_gen_sta_profile
    - hostapd_mbssid_get_tx_bss
    linkageType: ''
    returnType: void
    signature: void hostapd_gen_per_sta_profiles(struct hostapd_data *hapd)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_get_probe_resp_tmpl
      Src: /src/hostap/src/ap/beacon.c:3321,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/beacon.c:3322,1
    - Dst: hostapd_gen_sta_profile
      Src: /src/hostap/src/ap/beacon.c:3337,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/beacon.c:3341,1
    - Dst: os_free
      Src: /src/hostap/src/ap/beacon.c:3350,1
    - Dst: os_memdup
      Src: /src/hostap/src/ap/beacon.c:3353,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/beacon.c:3358,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/beacon.c:3360,1
    - Dst: os_free
      Src: /src/hostap/src/ap/beacon.c:3364,1
    - Dst: os_free
      Src: /src/hostap/src/ap/beacon.c:3365,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3366
      start: 3309
    functionDepth: 7
    functionLinenumber: 3309
    functionLinenumberEnd: 3366
    functionName: for_each_mld_link
    functionSourceFile: /src/hostap/src/ap/beacon.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - os_memdup
    - os_free
    - hostapd_get_probe_resp_tmpl
    - hostapd_gen_sta_profile
    linkageType: ''
    returnType: void
    signature: void for_each_mld_link(link_bss, hapd)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: __ieee802_11_set_beacon
      Src: /src/hostap/src/ap/beacon.c:3385,1
    - Dst: is_6ghz_op_class
      Src: /src/hostap/src/ap/beacon.c:3397,1
    - Dst: is_6ghz_op_class
      Src: /src/hostap/src/ap/beacon.c:3406,1
    - Dst: hostapd_is_ml_partner
      Src: /src/hostap/src/ap/beacon.c:3415,1
    - Dst: __ieee802_11_set_beacon
      Src: /src/hostap/src/ap/beacon.c:3421,1
    - Dst: for_each_mld_link
      Src: /src/hostap/src/ap/beacon.c:3430,1
    - Dst: hostapd_gen_per_sta_profiles
      Src: /src/hostap/src/ap/beacon.c:3431,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 27
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3435
      start: 3375
    functionDepth: 9
    functionLinenumber: 3375
    functionLinenumberEnd: 3435
    functionName: ieee802_11_set_beacon
    functionSourceFile: /src/hostap/src/ap/beacon.c
    functionUses: 4
    functionsReached:
    - for_each_mld_link
    - is_6ghz_op_class
    - hostapd_gen_per_sta_profiles
    - hostapd_is_ml_partner
    - __ieee802_11_set_beacon
    linkageType: ''
    returnType: int
    signature: int ieee802_11_set_beacon(struct hostapd_data *hapd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_11_set_beacon
      Src: /src/hostap/src/ap/beacon.c:3445,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3450
      start: 3438
    functionDepth: 10
    functionLinenumber: 3438
    functionLinenumberEnd: 3450
    functionName: ieee802_11_set_beacons
    functionSourceFile: /src/hostap/src/ap/beacon.c
    functionUses: 3
    functionsReached:
    - ieee802_11_set_beacon
    linkageType: ''
    returnType: int
    signature: int ieee802_11_set_beacons(struct hostapd_iface *iface)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_11_set_beacon
      Src: /src/hostap/src/ap/beacon.c:3461,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3466
      start: 3454
    functionDepth: 10
    functionLinenumber: 3454
    functionLinenumberEnd: 3466
    functionName: ieee802_11_update_beacons
    functionSourceFile: /src/hostap/src/ap/beacon.c
    functionUses: 2
    functionsReached:
    - ieee802_11_set_beacon
    linkageType: ''
    returnType: int
    signature: int ieee802_11_update_beacons(struct hostapd_iface *iface)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: x_snoop_init
    functionSourceFile: /src/hostap/src/ap/x_snoop.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int x_snoop_init(struct hostapd_data *hapd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hapd
    - type
    argTypes:
    - struct hostapd_data*
    - enum l2_packet_filter_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 41
    functionName: x_snoop_get_l2_packet
    functionSourceFile: /src/hostap/src/ap/x_snoop.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct l2_packet_data
    signature: "struct l2_packet_data *\nx_snoop_get_l2_packet(struct hostapd_data
      *hapd,\n\t\t      void (*handler)(void *ctx, const u8 *src_addr,\n\t\t\t\t      const
      u8 *buf, size_t len),\n\t\t      enum l2_packet_filter_type type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - hapd
    - sta
    - buf
    - len
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: x_snoop_mcast_to_ucast_convert_send
    functionSourceFile: /src/hostap/src/ap/x_snoop.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void x_snoop_mcast_to_ucast_convert_send(struct hostapd_data *hapd,\n\t\t\t\t
      \   struct sta_info *sta, void *buf,\n\t\t\t\t    size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: x_snoop_deinit
    functionSourceFile: /src/hostap/src/ap/x_snoop.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void x_snoop_deinit(struct hostapd_data *hapd)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_state_machine*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 97
    functionName: wpa_auth_get_aa
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 * wpa_auth_get_aa(const struct wpa_state_machine *sm)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_state_machine*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 107
    functionName: wpa_auth_get_spa
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 * wpa_auth_get_spa(const struct wpa_state_machine *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_select_vlan_wpa_group
      Src: /src/hostap/src/ap/wpa_auth.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_state_machine*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 129
    functionName: wpa_gkeydone_sta
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpa_select_vlan_wpa_group
    linkageType: ''
    returnType: void
    signature: void wpa_gkeydone_sta(struct wpa_state_machine *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_select_vlan_wpa_group
      Src: /src/hostap/src/ap/wpa_auth.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 127
    functionName: for_each_sm_auth
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpa_select_vlan_wpa_group
    linkageType: ''
    returnType: void
    signature: void for_each_sm_auth(sm, link_id)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_group_put_vlan
      Src: /src/hostap/src/ap/wpa_auth.c:150,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - sm
    - link_id
    - rejected
    argTypes:
    - struct wpa_state_machine*
    - u8
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 153
    functionName: wpa_release_link_auth_ref
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpa_group_put_vlan
    linkageType: ''
    returnType: void
    signature: "void wpa_release_link_auth_ref(struct wpa_state_machine *sm, u8 link_id,\n\t\t\t
      \      bool rejected)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/wpa_auth.c:171,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/wpa_auth.c:174,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - wpa_auth
    - data
    argTypes:
    - struct wpa_authenticator*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 182
    functionName: wpa_get_link_sta_auth
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - ether_addr_equal
    linkageType: ''
    returnType: int
    signature: int wpa_get_link_sta_auth(struct wpa_authenticator *wpa_auth, void
      *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_auth_for_each_auth
      Src: /src/hostap/src/ap/wpa_auth.c:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - wpa_auth
    - link_id
    argTypes:
    - struct wpa_authenticator*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 196
    functionName: wpa_get_link_auth
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpa_auth_for_each_auth
    linkageType: ''
    returnType: struct wpa_authenticator
    signature: 'struct wpa_authenticator *

      wpa_get_link_auth(struct wpa_authenticator *wpa_auth, int link_id)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/wpa_auth.c:205,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - wpa_auth
    - data
    argTypes:
    - struct wpa_authenticator*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 211
    functionName: wpa_get_primary_auth_cb
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - ether_addr_equal
    linkageType: ''
    returnType: int
    signature: "int wpa_get_primary_auth_cb(struct wpa_authenticator *wpa_auth,\n\t\t\t\t
      \  void *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_auth_for_each_auth
      Src: /src/hostap/src/ap/wpa_auth.c:227,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - wpa_auth
    argTypes:
    - struct wpa_authenticator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 233
    functionName: wpa_get_primary_auth
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpa_auth_for_each_auth
    linkageType: ''
    returnType: struct wpa_authenticator
    signature: 'struct wpa_authenticator *

      wpa_get_primary_auth(struct wpa_authenticator *wpa_auth)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_authenticator*::cb::mic_failure_report
      Src: /src/hostap/src/ap/wpa_auth.c:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_auth
    - addr
    argTypes:
    - struct wpa_authenticator*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 242
    functionName: wpa_auth_mic_failure_report
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - struct wpa_authenticator*::cb::mic_failure_report
    linkageType: ''
    returnType: int
    signature: "int wpa_auth_mic_failure_report(\n\tstruct wpa_authenticator *wpa_auth,
      const u8 *addr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_authenticator*::cb::psk_failure_report
      Src: /src/hostap/src/ap/wpa_auth.c:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - wpa_auth
    - addr
    argTypes:
    - struct wpa_authenticator*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 250
    functionName: wpa_auth_psk_failure_report
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - struct wpa_authenticator*::cb::psk_failure_report
    linkageType: ''
    returnType: void
    signature: "void wpa_auth_psk_failure_report(\n\tstruct wpa_authenticator *wpa_auth,
      const u8 *addr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_authenticator*::cb::set_eapol
      Src: /src/hostap/src/ap/wpa_auth.c:258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 4
    argNames:
    - wpa_auth
    - addr
    - var
    - value
    argTypes:
    - struct wpa_authenticator*
    - u8*
    - wpa_eapol_variable
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 259
    functionName: wpa_auth_set_eapol
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - struct wpa_authenticator*::cb::set_eapol
    linkageType: ''
    returnType: void
    signature: "void wpa_auth_set_eapol(struct wpa_authenticator *wpa_auth,\n\t\t\t\t
      \     const u8 *addr, wpa_eapol_variable var,\n\t\t\t\t      int value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_authenticator*::cb::get_eapol
      Src: /src/hostap/src/ap/wpa_auth.c:267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - wpa_auth
    - addr
    - var
    argTypes:
    - struct wpa_authenticator*
    - u8*
    - wpa_eapol_variable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 268
    functionName: wpa_auth_get_eapol
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - struct wpa_authenticator*::cb::get_eapol
    linkageType: ''
    returnType: int
    signature: "int wpa_auth_get_eapol(struct wpa_authenticator *wpa_auth,\n\t\t\t\t
      \    const u8 *addr, wpa_eapol_variable var)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_authenticator*::cb::get_psk
      Src: /src/hostap/src/ap/wpa_auth.c:279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - wpa_auth
    - addr
    - p2p_dev_addr
    - prev_psk
    - psk_len
    - vlan_id
    argTypes:
    - struct wpa_authenticator*
    - u8*
    - u8*
    - u8*
    - size_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 281
    functionName: wpa_auth_get_psk
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - struct wpa_authenticator*::cb::get_psk
    linkageType: ''
    returnType: u8
    signature: "u8 * wpa_auth_get_psk(struct wpa_authenticator *wpa_auth,\n\t\t\t\t\t
      \ const u8 *addr,\n\t\t\t\t\t  const u8 *p2p_dev_addr,\n\t\t\t\t\t  const u8
      *prev_psk, size_t *psk_len,\n\t\t\t\t\t  int *vlan_id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_authenticator*::cb::get_msk
      Src: /src/hostap/src/ap/wpa_auth.c:289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - wpa_auth
    - addr
    - msk
    - len
    argTypes:
    - struct wpa_authenticator*
    - u8*
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 290
    functionName: wpa_auth_get_msk
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - struct wpa_authenticator*::cb::get_msk
    linkageType: ''
    returnType: int
    signature: "int wpa_auth_get_msk(struct wpa_authenticator *wpa_auth,\n\t\t\t\t
      \  const u8 *addr, u8 *msk, size_t *len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_authenticator*::cb::set_key
      Src: /src/hostap/src/ap/wpa_auth.c:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 8
    argNames:
    - wpa_auth
    - vlan_id
    - alg
    - addr
    - idx
    - key
    - key_len
    - key_flag
    argTypes:
    - struct wpa_authenticator*
    - int
    - enum wpa_alg
    - u8*
    - int
    - u8*
    - size_t
    - enum key_flag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 303
    functionName: wpa_auth_set_key
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 1
    functionsReached:
    - struct wpa_authenticator*::cb::set_key
    linkageType: ''
    returnType: int
    signature: "int wpa_auth_set_key(struct wpa_authenticator *wpa_auth,\n\t\t\t\t
      \  int vlan_id,\n\t\t\t\t   enum wpa_alg alg, const u8 *addr, int idx,\n\t\t\t\t
      \  u8 *key, size_t key_len,\n\t\t\t\t   enum key_flag key_flag)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_authenticator*::cb::set_ltf_keyseed
      Src: /src/hostap/src/ap/wpa_auth.c:314,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - wpa_auth
    - peer_addr
    - ltf_keyseed
    - ltf_keyseed_len
    argTypes:
    - struct wpa_authenticator*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 316
    functionName: wpa_auth_set_ltf_keyseed
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 1
    functionsReached:
    - struct wpa_authenticator*::cb::set_ltf_keyseed
    linkageType: ''
    returnType: int
    signature: "int wpa_auth_set_ltf_keyseed(struct wpa_authenticator *wpa_auth,\n\t\t\t\t\t
      \  const u8 *peer_addr,\n\t\t\t\t\t   const u8 *ltf_keyseed,\n\t\t\t\t\t   size_t
      ltf_keyseed_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/ap/wpa_auth.c:328,1
    - Dst: struct wpa_authenticator*::cb::get_seqnum
      Src: /src/hostap/src/ap/wpa_auth.c:330,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:333,1
    - Dst: WPA_GET_LE64
      Src: /src/hostap/src/ap/wpa_auth.c:335,1
    - Dst: WPA_GET_LE64
      Src: /src/hostap/src/ap/wpa_auth.c:337,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:338,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:343,1
    - Dst: WPA_GET_LE64
      Src: /src/hostap/src/ap/wpa_auth.c:345,1
    - Dst: WPA_GET_LE64
      Src: /src/hostap/src/ap/wpa_auth.c:347,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:348,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 4
    argNames:
    - wpa_auth
    - addr
    - idx
    - seq
    argTypes:
    - struct wpa_authenticator*
    - u8*
    - int
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 353
    functionName: wpa_auth_get_seqnum
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 3
    functionsReached:
    - os_memcpy
    - wpa_printf
    - WPA_GET_LE64
    - struct wpa_authenticator*::cb::get_seqnum
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpa_auth_get_seqnum(struct wpa_authenticator *wpa_auth,\n\t\t\t\t
      \     const u8 *addr, int idx, u8 *seq)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_authenticator*::cb::send_eapol
      Src: /src/hostap/src/ap/wpa_auth.c:362,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - wpa_auth
    - addr
    - data
    - data_len
    - encrypt
    argTypes:
    - struct wpa_authenticator*
    - u8*
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 364
    functionName: wpa_auth_send_eapol
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 1
    functionsReached:
    - struct wpa_authenticator*::cb::send_eapol
    linkageType: ''
    returnType: int
    signature: "int wpa_auth_send_eapol(struct wpa_authenticator *wpa_auth, const
      u8 *addr,\n\t\t    const u8 *data, size_t data_len, int encrypt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_authenticator*::cb::start_ampe
      Src: /src/hostap/src/ap/wpa_auth.c:373,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_auth
    - addr
    argTypes:
    - struct wpa_authenticator*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 374
    functionName: wpa_auth_start_ampe
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - struct wpa_authenticator*::cb::start_ampe
    linkageType: ''
    returnType: int
    signature: "int wpa_auth_start_ampe(struct wpa_authenticator *wpa_auth,\n\t\t\t\t
      \     const u8 *addr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_authenticator*::cb::get_drv_flags
      Src: /src/hostap/src/ap/wpa_auth.c:383,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - wpa_auth
    - drv_flags
    - drv_flags2
    argTypes:
    - struct wpa_authenticator*
    - u64*
    - u64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 385
    functionName: wpa_auth_get_drv_flags
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - struct wpa_authenticator*::cb::get_drv_flags
    linkageType: ''
    returnType: int
    signature: "int wpa_auth_get_drv_flags(struct wpa_authenticator *wpa_auth,\n\t\t\t\t\t
      u64 *drv_flags, u64 *drv_flags2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_auth_get_drv_flags
      Src: /src/hostap/src/ap/wpa_auth.c:392,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - wpa_auth
    argTypes:
    - struct wpa_authenticator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 394
    functionName: wpa_auth_4way_handshake_offload
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpa_auth_get_drv_flags
    linkageType: ''
    returnType: bool
    signature: bool wpa_auth_4way_handshake_offload(struct wpa_authenticator *wpa_auth)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_authenticator*::cb::for_each_sta
      Src: /src/hostap/src/ap/wpa_auth.c:403,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_auth
    - cb_ctx
    argTypes:
    - struct wpa_authenticator*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 404
    functionName: wpa_auth_for_each_sta
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 1
    functionsReached:
    - struct wpa_authenticator*::cb::for_each_sta
    linkageType: ''
    returnType: int
    signature: "int wpa_auth_for_each_sta(struct wpa_authenticator *wpa_auth,\n\t\t\t
      \ int (*cb)(struct wpa_state_machine *sm, void *ctx),\n\t\t\t  void *cb_ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_authenticator*::cb::for_each_auth
      Src: /src/hostap/src/ap/wpa_auth.c:413,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_auth
    - cb_ctx
    argTypes:
    - struct wpa_authenticator*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 414
    functionName: wpa_auth_for_each_auth
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 2
    functionsReached:
    - struct wpa_authenticator*::cb::for_each_auth
    linkageType: ''
    returnType: int
    signature: "int wpa_auth_for_each_auth(struct wpa_authenticator *wpa_auth,\n\t\t\t
      \  int (*cb)(struct wpa_authenticator *a, void *ctx),\n\t\t\t   void *cb_ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_authenticator*::cb::for_each_partner_auth
      Src: /src/hostap/src/ap/wpa_auth.c:425,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_auth
    - cb_ctx
    argTypes:
    - struct wpa_authenticator*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 427
    functionName: wpa_auth_for_each_partner_auth
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - struct wpa_authenticator*::cb::for_each_partner_auth
    linkageType: ''
    returnType: int
    signature: "int wpa_auth_for_each_partner_auth(struct wpa_authenticator *wpa_auth,\n\t\t\t\t\t
      \ int (*cb)(struct wpa_authenticator *a,\n\t\t\t\t\t\t    void *ctx),\n\t\t\t\t\t
      \ void *cb_ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_authenticator*::cb::store_ptksa
      Src: /src/hostap/src/ap/wpa_auth.c:436,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 5
    argNames:
    - wpa_auth
    - addr
    - cipher
    - life_time
    - ptk
    argTypes:
    - struct wpa_authenticator*
    - u8*
    - int
    - u32
    - struct wpa_ptk*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 438
    functionName: wpa_auth_store_ptksa
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 1
    functionsReached:
    - struct wpa_authenticator*::cb::store_ptksa
    linkageType: ''
    returnType: void
    signature: "void wpa_auth_store_ptksa(struct wpa_authenticator *wpa_auth,\n\t\t\t
      \ const u8 *addr, int cipher,\n\t\t\t  u32 life_time, const struct wpa_ptk *ptk)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_authenticator*::cb::clear_ptksa
      Src: /src/hostap/src/ap/wpa_auth.c:445,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - wpa_auth
    - addr
    - cipher
    argTypes:
    - struct wpa_authenticator*
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 446
    functionName: wpa_auth_remove_ptksa
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - struct wpa_authenticator*::cb::clear_ptksa
    linkageType: ''
    returnType: void
    signature: "void wpa_auth_remove_ptksa(struct wpa_authenticator *wpa_auth,\n\t\t\t\t
      \ const u8 *addr, int cipher)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_authenticator*::cb::logger
      Src: /src/hostap/src/ap/wpa_auth.c:454,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - wpa_auth
    - addr
    - level
    - txt
    argTypes:
    - struct wpa_authenticator*
    - u8*
    - logger_level
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 455
    functionName: wpa_auth_logger
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - struct wpa_authenticator*::cb::logger
    linkageType: ''
    returnType: void
    signature: "void wpa_auth_logger(struct wpa_authenticator *wpa_auth, const u8
      *addr,\n\t\t     logger_level level, const char *txt)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/ap/wpa_auth.c:468,1
    - Dst: os_malloc
      Src: /src/hostap/src/ap/wpa_auth.c:469,1
    - Dst: va_start
      Src: /src/hostap/src/ap/wpa_auth.c:473,1
    - Dst: vsnprintf
      Src: /src/hostap/src/ap/wpa_auth.c:474,1
    - Dst: va_end
      Src: /src/hostap/src/ap/wpa_auth.c:475,1
    - Dst: wpa_auth_logger
      Src: /src/hostap/src/ap/wpa_auth.c:477,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth.c:479,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - wpa_auth
    - addr
    - level
    - fmt
    argTypes:
    - struct wpa_authenticator*
    - u8*
    - logger_level
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 480
    functionName: wpa_auth_vlogger
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_malloc
    - vsnprintf
    - va_end
    - wpa_auth_logger
    - va_start
    - os_free
    linkageType: ''
    returnType: void
    signature: "void wpa_auth_vlogger(struct wpa_authenticator *wpa_auth, const u8
      *addr,\n\t\t      logger_level level, const char *fmt, ...)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:488,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth.c:489,1
    - Dst: struct wpa_authenticator*::cb::disconnect
      Src: /src/hostap/src/ap/wpa_auth.c:490,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - wpa_auth
    - addr
    - reason
    argTypes:
    - struct wpa_authenticator*
    - u8*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 491
    functionName: wpa_sta_disconnect
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    - struct wpa_authenticator*::cb::disconnect
    linkageType: ''
    returnType: void
    signature: "void wpa_sta_disconnect(struct wpa_authenticator *wpa_auth,\n\t\t\t
      \      const u8 *addr, u16 reason)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_authenticator*::cb::channel_info
      Src: /src/hostap/src/ap/wpa_auth.c:500,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_auth
    - ci
    argTypes:
    - struct wpa_authenticator*
    - struct wpa_channel_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 501
    functionName: wpa_channel_info
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 2
    functionsReached:
    - struct wpa_authenticator*::cb::channel_info
    linkageType: ''
    returnType: int
    signature: "int wpa_channel_info(struct wpa_authenticator *wpa_auth,\n\t\t\t    struct
      wpa_channel_info *ci)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_authenticator*::cb::update_vlan
      Src: /src/hostap/src/ap/wpa_auth.c:510,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - wpa_auth
    - addr
    - vlan_id
    argTypes:
    - struct wpa_authenticator*
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 511
    functionName: wpa_auth_update_vlan
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - struct wpa_authenticator*::cb::update_vlan
    linkageType: ''
    returnType: int
    signature: "int wpa_auth_update_vlan(struct wpa_authenticator *wpa_auth,\n\t\t\t\tconst
      u8 *addr, int vlan_id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: random_get_bytes
      Src: /src/hostap/src/ap/wpa_auth.c:518,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:519,1
    - Dst: wpa_auth_logger
      Src: /src/hostap/src/ap/wpa_auth.c:522,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/ap/wpa_auth.c:523,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/wpa_auth.c:528,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 531
    functionName: wpa_rekey_gmk
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - random_get_bytes
    - wpa_printf
    - wpa_hexdump_key
    - eloop_register_timeout
    - wpa_auth_logger
    linkageType: ''
    returnType: void
    signature: void wpa_rekey_gmk(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_auth_logger
      Src: /src/hostap/src/ap/wpa_auth.c:538,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:541,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth.c:543,1
    - Dst: wpa_group_get
      Src: /src/hostap/src/ap/wpa_auth.c:544,1
    - Dst: wpa_group_sm_step
      Src: /src/hostap/src/ap/wpa_auth.c:549,1
    - Dst: wpa_group_put
      Src: /src/hostap/src/ap/wpa_auth.c:553,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - wpa_auth
    argTypes:
    - struct wpa_authenticator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 534
    functionDepth: 1
    functionLinenumber: 534
    functionLinenumberEnd: 556
    functionName: wpa_rekey_all_groups
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_group_put
    - MAC2STR
    - wpa_auth_logger
    - wpa_group_sm_step
    - wpa_group_get
    linkageType: ''
    returnType: void
    signature: void wpa_rekey_all_groups(struct wpa_authenticator *wpa_auth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_group_get
      Src: /src/hostap/src/ap/wpa_auth.c:567,1
    - Dst: wpa_group_update_gtk
      Src: /src/hostap/src/ap/wpa_auth.c:569,1
    - Dst: wpa_group_put
      Src: /src/hostap/src/ap/wpa_auth.c:571,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - wpa_auth
    argTypes:
    - struct wpa_authenticator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 561
    functionDepth: 1
    functionLinenumber: 561
    functionLinenumberEnd: 574
    functionName: wpa_update_all_gtks
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpa_group_update_gtk
    - wpa_group_get
    - wpa_group_put
    linkageType: ''
    returnType: void
    signature: void wpa_update_all_gtks(struct wpa_authenticator *wpa_auth)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/wpa_auth.c:581,1
    - Dst: wpa_update_all_gtks
      Src: /src/hostap/src/ap/wpa_auth.c:584,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - wpa_auth
    - ctx
    argTypes:
    - struct wpa_authenticator*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 577
    functionDepth: 2
    functionLinenumber: 577
    functionLinenumberEnd: 586
    functionName: wpa_update_all_gtks_cb
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - ether_addr_equal
    - wpa_update_all_gtks
    linkageType: ''
    returnType: int
    signature: int wpa_update_all_gtks_cb(struct wpa_authenticator *wpa_auth, void
      *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/wpa_auth.c:594,1
    - Dst: wpa_rekey_all_groups
      Src: /src/hostap/src/ap/wpa_auth.c:597,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - wpa_auth
    - ctx
    argTypes:
    - struct wpa_authenticator*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 589
    functionDepth: 2
    functionLinenumber: 589
    functionLinenumberEnd: 599
    functionName: wpa_rekey_all_groups_cb
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpa_rekey_all_groups
    - ether_addr_equal
    linkageType: ''
    returnType: int
    signature: "int wpa_rekey_all_groups_cb(struct wpa_authenticator *wpa_auth,\n\t\t\t\t
      \  void *ctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:614,1
    - Dst: wpa_auth_for_each_auth
      Src: /src/hostap/src/ap/wpa_auth.c:620,1
    - Dst: wpa_auth_for_each_auth
      Src: /src/hostap/src/ap/wpa_auth.c:625,1
    - Dst: wpa_rekey_all_groups
      Src: /src/hostap/src/ap/wpa_auth.c:628,1
    - Dst: wpa_rekey_all_groups
      Src: /src/hostap/src/ap/wpa_auth.c:631,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/wpa_auth.c:635,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 604
    functionDepth: 2
    functionLinenumber: 604
    functionLinenumberEnd: 638
    functionName: wpa_rekey_gtk
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - eloop_register_timeout
    - wpa_printf
    - wpa_rekey_all_groups
    - wpa_auth_for_each_auth
    linkageType: ''
    returnType: void
    signature: void wpa_rekey_gtk(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_auth_logger
      Src: /src/hostap/src/ap/wpa_auth.c:646,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:646,1
    - Dst: wpa_request_new_ptk
      Src: /src/hostap/src/ap/wpa_auth.c:648,1
    - Dst: wpa_sm_step
      Src: /src/hostap/src/ap/wpa_auth.c:649,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 641
    functionDepth: 1
    functionLinenumber: 641
    functionLinenumberEnd: 650
    functionName: wpa_rekey_ptk
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpa_auth_get_spa
    - wpa_sm_step
    - wpa_request_new_ptk
    - wpa_auth_logger
    linkageType: ''
    returnType: void
    signature: void wpa_rekey_ptk(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:656,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth.c:658,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:658,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/wpa_auth.c:660,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/wpa_auth.c:661,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_state_machine*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 653
    functionDepth: 1
    functionLinenumber: 653
    functionLinenumberEnd: 664
    functionName: wpa_auth_set_ptk_rekey_timer
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_auth_get_spa
    - eloop_cancel_timeout
    - MAC2STR
    - eloop_register_timeout
    linkageType: ''
    returnType: void
    signature: void wpa_auth_set_ptk_rekey_timer(struct wpa_state_machine *sm)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - sm
    - ctx
    argTypes:
    - struct wpa_state_machine*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 672
    functionName: wpa_auth_pmksa_clear_cb
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpa_auth_pmksa_clear_cb(struct wpa_state_machine *sm, void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_auth_for_each_sta
      Src: /src/hostap/src/ap/wpa_auth.c:680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_auth
    - ctx
    argTypes:
    - struct wpa_authenticator*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 677
    functionDepth: 1
    functionLinenumber: 677
    functionLinenumberEnd: 681
    functionName: wpa_auth_pmksa_clear_auth_cb
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpa_auth_for_each_sta
    linkageType: ''
    returnType: int
    signature: "int wpa_auth_pmksa_clear_auth_cb(struct wpa_authenticator *wpa_auth,\n\t\t\t\t\tvoid
      *ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_auth_for_each_sta
      Src: /src/hostap/src/ap/wpa_auth.c:692,1
    - Dst: wpa_auth_for_each_partner_auth
      Src: /src/hostap/src/ap/wpa_auth.c:695,1
    - Dst: wpa_auth_for_each_sta
      Src: /src/hostap/src/ap/wpa_auth.c:700,1
    - Dst: struct wpa_authenticator*::cb::remove_pmkid
      Src: /src/hostap/src/ap/wpa_auth.c:706,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - entry
    - ctx
    argTypes:
    - struct rsn_pmksa_cache_entry*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 685
    functionDepth: 1
    functionLinenumber: 685
    functionLinenumberEnd: 708
    functionName: wpa_auth_pmksa_free_cb
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpa_auth_for_each_sta
    - wpa_auth_for_each_partner_auth
    - struct wpa_authenticator*::cb::remove_pmkid
    linkageType: ''
    returnType: void
    signature: "void wpa_auth_pmksa_free_cb(struct rsn_pmksa_cache_entry *entry,\n\t\t\t\t
      \  void *ctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: random_get_bytes
      Src: /src/hostap/src/ap/wpa_auth.c:718,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/ap/wpa_auth.c:720,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:726,1
    - Dst: wpa_get_ntp_timestamp
      Src: /src/hostap/src/ap/wpa_auth.c:727,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:729,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/wpa_auth.c:731,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/wpa_auth.c:732,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/ap/wpa_auth.c:734,1
    - Dst: sha1_prf
      Src: /src/hostap/src/ap/wpa_auth.c:737,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/ap/wpa_auth.c:740,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - wpa_auth
    - group
    argTypes:
    - struct wpa_authenticator*
    - struct wpa_group*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 711
    functionDepth: 2
    functionLinenumber: 711
    functionLinenumberEnd: 744
    functionName: wpa_group_init_gmk_and_counter
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - random_get_bytes
    - wpa_hexdump_key
    - sha1_prf
    - wpa_get_ntp_timestamp
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpa_group_init_gmk_and_counter(struct wpa_authenticator *wpa_auth,\n\t\t\t\t\t
      \ struct wpa_group *group)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/wpa_auth.c:752,1
    - Dst: wpa_cipher_key_len
      Src: /src/hostap/src/ap/wpa_auth.c:758,1
    - Dst: random_pool_ready
      Src: /src/hostap/src/ap/wpa_auth.c:760,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:761,1
    - Dst: wpa_group_init_gmk_and_counter
      Src: /src/hostap/src/ap/wpa_auth.c:771,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:772,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth.c:774,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:780,1
    - Dst: wpa_group_sm_step
      Src: /src/hostap/src/ap/wpa_auth.c:784,1
    - Dst: wpa_group_sm_step
      Src: /src/hostap/src/ap/wpa_auth.c:786,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - wpa_auth
    - vlan_id
    - delay_init
    argTypes:
    - struct wpa_authenticator*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 747
    functionDepth: 3
    functionLinenumber: 747
    functionLinenumberEnd: 790
    functionName: wpa_group_init
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_cipher_key_len
    - wpa_group_sm_step
    - os_zalloc
    - os_free
    - random_pool_ready
    - wpa_group_init_gmk_and_counter
    linkageType: ''
    returnType: struct wpa_group
    signature: "struct wpa_group * wpa_group_init(struct wpa_authenticator *wpa_auth,\n\t\t\t\t\t
      int vlan_id, int delay_init)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bin_clear_free
      Src: /src/hostap/src/ap/wpa_auth.c:801,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - wpa_auth
    argTypes:
    - struct wpa_authenticator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 793
    functionDepth: 1
    functionLinenumber: 793
    functionLinenumberEnd: 803
    functionName: wpa_deinit_groups
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: void wpa_deinit_groups(struct wpa_authenticator *wpa_auth)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:941,1
    - Dst: wpa_group_sm_step
      Src: /src/hostap/src/ap/wpa_auth.c:943,1
    - Dst: wpa_group_sm_step
      Src: /src/hostap/src/ap/wpa_auth.c:945,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - wpa_auth
    argTypes:
    - struct wpa_authenticator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 937
    functionDepth: 1
    functionLinenumber: 937
    functionLinenumberEnd: 949
    functionName: wpa_init_keys
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpa_group_sm_step
    linkageType: ''
    returnType: int
    signature: int wpa_init_keys(struct wpa_authenticator *wpa_auth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/wpa_auth.c:955,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/wpa_auth.c:957,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - conf
    argTypes:
    - struct wpa_auth_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 952
    functionDepth: 1
    functionLinenumber: 952
    functionLinenumberEnd: 960
    functionName: wpa_auth_free_conf
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpabuf_free
    linkageType: ''
    returnType: void
    signature: void wpa_auth_free_conf(struct wpa_auth_config *conf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/wpa_auth.c:973,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/wpa_auth.c:974,1
    - Dst: pmksa_cache_auth_deinit
      Src: /src/hostap/src/ap/wpa_auth.c:976,1
    - Dst: struct wpa_authenticator*::cb::next_primary_auth
      Src: /src/hostap/src/ap/wpa_auth.c:980,1
    - Dst: pmksa_cache_auth_deinit
      Src: /src/hostap/src/ap/wpa_auth.c:984,1
    - Dst: pmksa_cache_auth_set_ctx
      Src: /src/hostap/src/ap/wpa_auth.c:990,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/wpa_auth.c:992,1
    - Dst: wpa_ft_pmk_cache_deinit
      Src: /src/hostap/src/ap/wpa_auth.c:1000,1
    - Dst: wpa_ft_deinit
      Src: /src/hostap/src/ap/wpa_auth.c:1002,1
    - Dst: bitfield_free
      Src: /src/hostap/src/ap/wpa_auth.c:1006,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth.c:1009,1
    - Dst: wpa_deinit_groups
      Src: /src/hostap/src/ap/wpa_auth.c:1010,1
    - Dst: wpa_auth_free_conf
      Src: /src/hostap/src/ap/wpa_auth.c:1011,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth.c:1012,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - wpa_auth
    argTypes:
    - struct wpa_authenticator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1013
      start: 967
    functionDepth: 5
    functionLinenumber: 967
    functionLinenumberEnd: 1013
    functionName: wpa_deinit
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 3
    functionsReached:
    - struct wpa_authenticator*::cb::next_primary_auth
    - pmksa_cache_auth_set_ctx
    - eloop_cancel_timeout
    - pmksa_cache_auth_deinit
    - wpa_ft_deinit
    - wpa_deinit_groups
    - wpa_auth_free_conf
    - eloop_register_timeout
    - bitfield_free
    - os_free
    - wpa_ft_pmk_cache_deinit
    linkageType: ''
    returnType: void
    signature: void wpa_deinit(struct wpa_authenticator *wpa_auth)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_auth_free_conf
      Src: /src/hostap/src/ap/wpa_auth.c:1029,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:1030,1
    - Dst: wpa_auth_gen_wpa_ie
      Src: /src/hostap/src/ap/wpa_auth.c:1031,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:1032,1
    - Dst: wpa_cipher_key_len
      Src: /src/hostap/src/ap/wpa_auth.c:1041,1
    - Dst: wpa_group_sm_step
      Src: /src/hostap/src/ap/wpa_auth.c:1043,1
    - Dst: wpa_group_sm_step
      Src: /src/hostap/src/ap/wpa_auth.c:1045,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - wpa_auth
    - conf
    argTypes:
    - struct wpa_authenticator*
    - struct wpa_auth_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 1021
    functionDepth: 2
    functionLinenumber: 1021
    functionLinenumberEnd: 1048
    functionName: wpa_reconfig
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_cipher_key_len
    - wpa_auth_gen_wpa_ie
    - wpa_auth_free_conf
    - wpa_group_sm_step
    linkageType: ''
    returnType: int
    signature: "int wpa_reconfig(struct wpa_authenticator *wpa_auth,\n\t\t struct
      wpa_auth_config *conf)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/wpa_auth.c:1060,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:1063,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:1065,1
    - Dst: wpa_group_get
      Src: /src/hostap/src/ap/wpa_auth.c:1069,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - wpa_auth
    - addr
    - p2p_dev_addr
    argTypes:
    - struct wpa_authenticator*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 1051
    functionDepth: 1
    functionLinenumber: 1051
    functionLinenumberEnd: 1075
    functionName: wpa_auth_sta_init
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 3
    functionsReached:
    - os_zalloc
    - os_memcpy
    - wpa_group_get
    linkageType: ''
    returnType: struct wpa_state_machine
    signature: "struct wpa_state_machine *\nwpa_auth_sta_init(struct wpa_authenticator
      *wpa_auth, const u8 *addr,\n\t\t  const u8 *p2p_dev_addr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:1083,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:1084,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - sm
    - ptk
    - pmk
    - pmk_len
    argTypes:
    - struct wpa_state_machine*
    - struct wpa_ptk*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1089
      start: 1079
    functionDepth: 0
    functionLinenumber: 1079
    functionLinenumberEnd: 1089
    functionName: wpa_store_eppke_pmk_ptk_sm
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    linkageType: ''
    returnType: void
    signature: "void wpa_store_eppke_pmk_ptk_sm(struct wpa_state_machine *sm,\n\t\t\t\tconst
      struct wpa_ptk *ptk, const u8 *pmk,\n\t\t\t\tsize_t pmk_len)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_auth_logger
      Src: /src/hostap/src/ap/wpa_auth.c:1101,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:1101,1
    - Dst: ieee802_11_rsnx_capab
      Src: /src/hostap/src/ap/wpa_auth.c:1112,1
    - Dst: wpa_auth_logger
      Src: /src/hostap/src/ap/wpa_auth.c:1114,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:1114,1
    - Dst: wpa_auth_logger
      Src: /src/hostap/src/ap/wpa_auth.c:1125,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:1125,1
    - Dst: wpa_auth_logger
      Src: /src/hostap/src/ap/wpa_auth.c:1136,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:1136,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/wpa_auth.c:1146,1
    - Dst: wpa_sm_step
      Src: /src/hostap/src/ap/wpa_auth.c:1148,1
    - Dst: wpa_auth_logger
      Src: /src/hostap/src/ap/wpa_auth.c:1151,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:1151,1
    - Dst: wpa_sm_step
      Src: /src/hostap/src/ap/wpa_auth.c:1156,1
    - Dst: wpa_auth_4way_handshake_offload
      Src: /src/hostap/src/ap/wpa_auth.c:1160,1
    - Dst: wpa_auth_logger
      Src: /src/hostap/src/ap/wpa_auth.c:1161,1
    - Dst: wpa_sm_step
      Src: /src/hostap/src/ap/wpa_auth.c:1166,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 2
    argNames:
    - wpa_auth
    - sm
    argTypes:
    - struct wpa_authenticator*
    - struct wpa_state_machine*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1167
      start: 1093
    functionDepth: 2
    functionLinenumber: 1093
    functionLinenumberEnd: 1167
    functionName: wpa_auth_sta_associated
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 2
    functionsReached:
    - wpa_auth_4way_handshake_offload
    - wpa_auth_get_spa
    - wpa_sm_step
    - ieee802_11_rsnx_capab
    - wpa_auth_logger
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpa_auth_sta_associated(struct wpa_authenticator *wpa_auth,\n\t\t\t
      \   struct wpa_state_machine *sm)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_state_machine*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1170
    functionDepth: 0
    functionLinenumber: 1170
    functionLinenumberEnd: 1179
    functionName: wpa_auth_sta_no_wpa
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wpa_auth_sta_no_wpa(struct wpa_state_machine *sm)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/ap/wpa_auth.c:1189,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:1190,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth.c:1195,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:1195,1
    - Dst: bitfield_clear
      Src: /src/hostap/src/ap/wpa_auth.c:1197,1
    - Dst: wpa_gkeydone_sta
      Src: /src/hostap/src/ap/wpa_auth.c:1201,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth.c:1203,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/wpa_auth.c:1204,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth.c:1206,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth.c:1207,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth.c:1208,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth.c:1209,1
    - Dst: wpa_group_put_vlan
      Src: /src/hostap/src/ap/wpa_auth.c:1217,1
    - Dst: wpa_group_put
      Src: /src/hostap/src/ap/wpa_auth.c:1220,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/ap/wpa_auth.c:1222,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/wpa_auth.c:1224,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/ap/wpa_auth.c:1225,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_state_machine*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1182
    functionDepth: 2
    functionLinenumber: 1182
    functionLinenumberEnd: 1226
    functionName: wpa_free_sta_sm
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_gkeydone_sta
    - wpa_auth_get_spa
    - wpabuf_free
    - wpa_group_put
    - MAC2STR
    - wpabuf_clear_free
    - os_free
    - bitfield_clear
    - wpa_group_put_vlan
    - WPA_GET_BE32
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: void wpa_free_sta_sm(struct wpa_state_machine *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_group_put_vlan
      Src: /src/hostap/src/ap/wpa_auth.c:1217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1218
      start: 1211
    functionDepth: 1
    functionLinenumber: 1211
    functionLinenumberEnd: 1218
    functionName: for_each_sm_auth
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpa_group_put_vlan
    linkageType: ''
    returnType: void
    signature: void for_each_sm_auth(sm, link_id)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_auth_logger
      Src: /src/hostap/src/ap/wpa_auth.c:1240,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:1240,1
    - Dst: wpa_get_primary_auth
      Src: /src/hostap/src/ap/wpa_auth.c:1245,1
    - Dst: eloop_deplete_timeout
      Src: /src/hostap/src/ap/wpa_auth.c:1248,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/wpa_auth.c:1250,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/wpa_auth.c:1254,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/wpa_auth.c:1256,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/wpa_auth.c:1257,1
    - Dst: wpa_ft_sta_deinit
      Src: /src/hostap/src/ap/wpa_auth.c:1259,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:1264,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth.c:1266,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:1266,1
    - Dst: wpa_free_sta_sm
      Src: /src/hostap/src/ap/wpa_auth.c:1269,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_state_machine*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1270
      start: 1229
    functionDepth: 3
    functionLinenumber: 1229
    functionLinenumberEnd: 1270
    functionName: wpa_auth_sta_deinit
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - eloop_deplete_timeout
    - wpa_free_sta_sm
    - wpa_auth_get_spa
    - eloop_cancel_timeout
    - wpa_ft_sta_deinit
    - MAC2STR
    - eloop_register_timeout
    - wpa_auth_logger
    - wpa_get_primary_auth
    linkageType: ''
    returnType: void
    signature: void wpa_auth_sta_deinit(struct wpa_state_machine *sm)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:1279,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth.c:1281,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:1281,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_state_machine*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1292
      start: 1273
    functionDepth: 1
    functionLinenumber: 1273
    functionLinenumberEnd: 1292
    functionName: wpa_request_new_ptk
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 1
    functionsReached:
    - wpa_auth_get_spa
    - MAC2STR
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void wpa_request_new_ptk(struct wpa_state_machine *sm)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/wpa_auth.c:1302,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - ctr
    - replay_counter
    argTypes:
    - struct wpa_key_replay_counter*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1307
      start: 1295
    functionDepth: 0
    functionLinenumber: 1295
    functionLinenumberEnd: 1307
    functionName: wpa_replay_counter_valid
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - os_memcmp
    linkageType: ''
    returnType: int
    signature: "int wpa_replay_counter_valid(struct wpa_key_replay_counter *ctr,\n\t\t\t\t
      \   const u8 *replay_counter)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/wpa_auth.c:1317,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - ctr
    - replay_counter
    argTypes:
    - struct wpa_key_replay_counter*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1321
      start: 1310
    functionDepth: 0
    functionLinenumber: 1310
    functionLinenumberEnd: 1321
    functionName: wpa_replay_counter_mark_invalid
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - os_memcmp
    linkageType: ''
    returnType: void
    signature: "void wpa_replay_counter_mark_invalid(struct wpa_key_replay_counter
      *ctr,\n\t\t\t\t\t    const u8 *replay_counter)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpa_parse_wpa_ie_rsn
      Src: /src/hostap/src/ap/wpa_auth.c:1337,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:1339,1
    - Dst: wpa_parse_wpa_ie_rsn
      Src: /src/hostap/src/ap/wpa_auth.c:1344,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:1345,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/wpa_auth.c:1347,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/ap/wpa_auth.c:1355,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:1357,1
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/wpa_auth.c:1363,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:1370,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:1376,1
    - Dst: wpa_auth_logger
      Src: /src/hostap/src/ap/wpa_auth.c:1383,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:1383,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth.c:1386,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth.c:1389,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:1395,1
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/wpa_auth.c:1403,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:1405,1
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/wpa_auth.c:1411,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:1413,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth.c:1414,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth.c:1416,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 48
    argCount: 3
    argNames:
    - wpa_auth
    - sm
    - kde
    argTypes:
    - struct wpa_authenticator*
    - struct wpa_state_machine*
    - struct wpa_eapol_ie_parse*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1422
      start: 1325
    functionDepth: 1
    functionLinenumber: 1325
    functionLinenumberEnd: 1422
    functionName: ft_check_msg_2_of_4
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    - wpa_auth_get_spa
    - wpa_parse_wpa_ie_rsn
    - os_memcmp_const
    - os_memcmp
    - wpa_auth_logger
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int ft_check_msg_2_of_4(struct wpa_authenticator *wpa_auth,\n\t\t\t
      \      struct wpa_state_machine *sm,\n\t\t\t       struct wpa_eapol_ie_parse
      *kde)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_auth_vlogger
      Src: /src/hostap/src/ap/wpa_auth.c:1430,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:1430,1
    - Dst: wpa_auth_logger
      Src: /src/hostap/src/ap/wpa_auth.c:1435,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:1435,1
    - Dst: wpa_auth_logger
      Src: /src/hostap/src/ap/wpa_auth.c:1438,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:1438,1
    - Dst: wpa_auth_mic_failure_report
      Src: /src/hostap/src/ap/wpa_auth.c:1441,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:1442,1
    - Dst: wpa_request_new_ptk
      Src: /src/hostap/src/ap/wpa_auth.c:1452,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - wpa_auth
    - sm
    - group
    argTypes:
    - struct wpa_authenticator*
    - struct wpa_state_machine*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1454
      start: 1426
    functionDepth: 2
    functionLinenumber: 1426
    functionLinenumberEnd: 1454
    functionName: wpa_receive_error_report
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpa_auth_get_spa
    - wpa_auth_mic_failure_report
    - wpa_auth_vlogger
    - wpa_auth_logger
    - wpa_request_new_ptk
    linkageType: ''
    returnType: int
    signature: "int wpa_receive_error_report(struct wpa_authenticator *wpa_auth,\n\t\t\t\t
      \   struct wpa_state_machine *sm, int group)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/ap/wpa_auth.c:1470,1
    - Dst: wpa_key_mgmt_wpa_psk
      Src: /src/hostap/src/ap/wpa_auth.c:1472,1
    - Dst: wpa_key_mgmt_sae
      Src: /src/hostap/src/ap/wpa_auth.c:1473,1
    - Dst: wpa_auth_get_psk
      Src: /src/hostap/src/ap/wpa_auth.c:1474,1
    - Dst: wpa_key_mgmt_ft_psk
      Src: /src/hostap/src/ap/wpa_auth.c:1480,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:1481,1
    - Dst: wpa_derive_ptk
      Src: /src/hostap/src/ap/wpa_auth.c:1490,1
    - Dst: wpa_verify_key_mic
      Src: /src/hostap/src/ap/wpa_auth.c:1495,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:1498,1
    - Dst: wpa_key_mgmt_wpa_psk
      Src: /src/hostap/src/ap/wpa_auth.c:1505,1
    - Dst: wpa_key_mgmt_sae
      Src: /src/hostap/src/ap/wpa_auth.c:1506,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:1511,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:1516,1
    - Dst: wpa_key_mgmt_wpa_psk
      Src: /src/hostap/src/ap/wpa_auth.c:1520,1
    - Dst: wpa_auth_update_vlan
      Src: /src/hostap/src/ap/wpa_auth.c:1521,1
    - Dst: wpa_key_mgmt_ft
      Src: /src/hostap/src/ap/wpa_auth.c:1525,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:1526,1
    - Dst: wpa_auth_ft_store_keys
      Src: /src/hostap/src/ap/wpa_auth.c:1527,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:1532,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:1533,1
    - Dst: forced_memzero
      Src: /src/hostap/src/ap/wpa_auth.c:1534,1
    - Dst: forced_memzero
      Src: /src/hostap/src/ap/wpa_auth.c:1540,1
    - Dst: forced_memzero
      Src: /src/hostap/src/ap/wpa_auth.c:1541,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 53
    argCount: 3
    argNames:
    - sm
    - data
    - data_len
    argTypes:
    - struct wpa_state_machine*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1543
      start: 1457
    functionDepth: 3
    functionLinenumber: 1457
    functionLinenumberEnd: 1543
    functionName: wpa_try_alt_snonce
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpa_key_mgmt_sae
    - os_memcpy
    - wpa_printf
    - forced_memzero
    - wpa_derive_ptk
    - wpa_key_mgmt_ft
    - wpa_key_mgmt_ft_psk
    - wpa_auth_get_psk
    - wpa_key_mgmt_wpa_psk
    - wpa_auth_update_vlan
    - wpa_verify_key_mic
    - wpa_auth_ft_store_keys
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpa_try_alt_snonce(struct wpa_state_machine *sm, u8 *data,\n\t\t\t
      \     size_t data_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - wpa_auth
    argTypes:
    - struct wpa_authenticator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1555
      start: 1546
    functionDepth: 0
    functionLinenumber: 1546
    functionLinenumberEnd: 1555
    functionName: wpa_auth_gtk_rekey_in_process
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool wpa_auth_gtk_rekey_in_process(struct wpa_authenticator *wpa_auth)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:1564,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth.c:1566,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:1566,1
    - Dst: wpa_use_akm_defined
      Src: /src/hostap/src/ap/wpa_auth.c:1570,1
    - Dst: wpa_use_cmac
      Src: /src/hostap/src/ap/wpa_auth.c:1571,1
    - Dst: wpa_auth_logger
      Src: /src/hostap/src/ap/wpa_auth.c:1573,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:1573,1
    - Dst: wpa_use_akm_defined
      Src: /src/hostap/src/ap/wpa_auth.c:1580,1
    - Dst: wpa_use_cmac
      Src: /src/hostap/src/ap/wpa_auth.c:1581,1
    - Dst: wpa_auth_logger
      Src: /src/hostap/src/ap/wpa_auth.c:1583,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:1583,1
    - Dst: wpa_use_akm_defined
      Src: /src/hostap/src/ap/wpa_auth.c:1589,1
    - Dst: wpa_auth_logger
      Src: /src/hostap/src/ap/wpa_auth.c:1591,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:1591,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 3
    argNames:
    - wpa_auth
    - sm
    - ver
    argTypes:
    - struct wpa_authenticator*
    - struct wpa_state_machine*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1598
      start: 1560
    functionDepth: 1
    functionLinenumber: 1560
    functionLinenumberEnd: 1598
    functionName: wpa_auth_valid_key_desc_ver
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_use_akm_defined
    - wpa_auth_get_spa
    - MAC2STR
    - wpa_auth_logger
    - wpa_use_cmac
    linkageType: ''
    returnType: bool
    signature: "bool wpa_auth_valid_key_desc_ver(struct wpa_authenticator *wpa_auth,\n\t\t\t\t\tstruct
      wpa_state_machine *sm, u16 ver)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/wpa_auth.c:1607,1
    - Dst: wpa_auth_logger
      Src: /src/hostap/src/ap/wpa_auth.c:1609,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:1609,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - wpa_auth
    - sm
    - replay_counter
    argTypes:
    - struct wpa_authenticator*
    - struct wpa_state_machine*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1616
      start: 1601
    functionDepth: 1
    functionLinenumber: 1601
    functionLinenumberEnd: 1616
    functionName: wpa_auth_valid_request_counter
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpa_auth_get_spa
    - os_memcmp
    - wpa_auth_logger
    linkageType: ''
    returnType: bool
    signature: "bool wpa_auth_valid_request_counter(struct wpa_authenticator *wpa_auth,\n\t\t\t\t\t
      \  struct wpa_state_machine *sm,\n\t\t\t\t\t   const u8 *replay_counter)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_auth_valid_request_counter
      Src: /src/hostap/src/ap/wpa_auth.c:1628,1
    - Dst: wpa_replay_counter_valid
      Src: /src/hostap/src/ap/wpa_auth.c:1631,1
    - Dst: wpa_replay_counter_valid
      Src: /src/hostap/src/ap/wpa_auth.c:1635,1
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/wpa_auth.c:1638,1
    - Dst: wpa_auth_vlogger
      Src: /src/hostap/src/ap/wpa_auth.c:1646,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:1646,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:1650,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:1652,1
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/wpa_auth.c:1660,1
    - Dst: wpa_auth_vlogger
      Src: /src/hostap/src/ap/wpa_auth.c:1667,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:1667,1
    - Dst: wpa_replay_counter_valid
      Src: /src/hostap/src/ap/wpa_auth.c:1674,1
    - Dst: wpa_auth_vlogger
      Src: /src/hostap/src/ap/wpa_auth.c:1677,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:1677,1
    - Dst: wpa_auth_vlogger
      Src: /src/hostap/src/ap/wpa_auth.c:1682,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:1682,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth.c:1690,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth.c:1694,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 29
    argCount: 5
    argNames:
    - wpa_auth
    - sm
    - key
    - msg
    - msgtxt
    argTypes:
    - struct wpa_authenticator*
    - struct wpa_state_machine*
    - struct wpa_eapol_key*
    - enum eapol_key_msg
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1697
      start: 1619
    functionDepth: 2
    functionLinenumber: 1619
    functionLinenumberEnd: 1697
    functionName: wpa_auth_valid_counter
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_auth_valid_request_counter
    - wpa_hexdump
    - wpa_auth_get_spa
    - wpa_replay_counter_valid
    - wpa_auth_vlogger
    - os_memcmp
    linkageType: ''
    returnType: bool
    signature: "bool wpa_auth_valid_counter(struct wpa_authenticator *wpa_auth,\n\t\t\t\t
      \  struct wpa_state_machine *sm,\n\t\t\t\t   const struct wpa_eapol_key *key,\n\t\t\t\t
      \  enum eapol_key_msg msg,\n\t\t\t\t   const char *msgtxt)"
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth.c:1718,1
    - Dst: wpa_mic_len
      Src: /src/hostap/src/ap/wpa_auth.c:1720,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:1724,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/ap/wpa_auth.c:1731,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/ap/wpa_auth.c:1733,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:1734,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth.c:1736,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:1736,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth.c:1738,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth.c:1741,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:1744,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:1757,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:1760,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:1767,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth.c:1774,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth.c:1776,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:1783,1
    - Dst: wpa_auth_valid_key_desc_ver
      Src: /src/hostap/src/ap/wpa_auth.c:1788,1
    - Dst: wpa_use_aes_key_wrap
      Src: /src/hostap/src/ap/wpa_auth.c:1794,1
    - Dst: os_malloc
      Src: /src/hostap/src/ap/wpa_auth.c:1797,1
    - Dst: aes_unwrap
      Src: /src/hostap/src/ap/wpa_auth.c:1801,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:1803,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/ap/wpa_auth.c:1808,1
    - Dst: get_ie
      Src: /src/hostap/src/ap/wpa_auth.c:1823,1
    - Dst: wpa_auth_valid_counter
      Src: /src/hostap/src/ap/wpa_auth.c:1833,1
    - Dst: wpa_auth_vlogger
      Src: /src/hostap/src/ap/wpa_auth.c:1839,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:1839,1
    - Dst: wpa_auth_vlogger
      Src: /src/hostap/src/ap/wpa_auth.c:1851,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:1851,1
    - Dst: random_add_randomness
      Src: /src/hostap/src/ap/wpa_auth.c:1857,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:1868,1
    - Dst: random_mark_pool_ready
      Src: /src/hostap/src/ap/wpa_auth.c:1870,1
    - Dst: wpa_sta_disconnect
      Src: /src/hostap/src/ap/wpa_auth.c:1871,1
    - Dst: wpa_auth_vlogger
      Src: /src/hostap/src/ap/wpa_auth.c:1879,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:1879,1
    - Dst: wpa_auth_vlogger
      Src: /src/hostap/src/ap/wpa_auth.c:1889,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:1889,1
    - Dst: wpa_auth_vlogger
      Src: /src/hostap/src/ap/wpa_auth.c:1901,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:1901,1
    - Dst: wpa_auth_vlogger
      Src: /src/hostap/src/ap/wpa_auth.c:1910,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:1910,1
    - Dst: wpa_auth_logger
      Src: /src/hostap/src/ap/wpa_auth.c:1914,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:1914,1
    - Dst: wpa_key_mgmt_fils
      Src: /src/hostap/src/ap/wpa_auth.c:1919,1
    - Dst: wpa_auth_logger
      Src: /src/hostap/src/ap/wpa_auth.c:1921,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:1921,1
    - Dst: wpa_key_mgmt_fils
      Src: /src/hostap/src/ap/wpa_auth.c:1927,1
    - Dst: wpa_auth_logger
      Src: /src/hostap/src/ap/wpa_auth.c:1929,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:1929,1
    - Dst: wpa_verify_key_mic
      Src: /src/hostap/src/ap/wpa_auth.c:1938,1
    - Dst: wpa_try_alt_snonce
      Src: /src/hostap/src/ap/wpa_auth.c:1941,1
    - Dst: wpa_auth_logger
      Src: /src/hostap/src/ap/wpa_auth.c:1942,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:1942,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:1946,1
    - Dst: wpa_aead_decrypt
      Src: /src/hostap/src/ap/wpa_auth.c:1954,1
    - Dst: wpa_auth_logger
      Src: /src/hostap/src/ap/wpa_auth.c:1956,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:1956,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:1960,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/wpa_auth.c:1971,1
    - Dst: wpa_auth_logger
      Src: /src/hostap/src/ap/wpa_auth.c:1977,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:1977,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:1984,1
    - Dst: wpa_auth_logger
      Src: /src/hostap/src/ap/wpa_auth.c:1987,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:1987,1
    - Dst: wpa_receive_error_report
      Src: /src/hostap/src/ap/wpa_auth.c:1994,1
    - Dst: wpa_auth_logger
      Src: /src/hostap/src/ap/wpa_auth.c:1999,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:1999,1
    - Dst: wpa_request_new_ptk
      Src: /src/hostap/src/ap/wpa_auth.c:2002,1
    - Dst: wpa_auth_logger
      Src: /src/hostap/src/ap/wpa_auth.c:2004,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:2004,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/wpa_auth.c:2008,1
    - Dst: wpa_get_primary_auth
      Src: /src/hostap/src/ap/wpa_auth.c:2009,1
    - Dst: wpa_auth_gtk_rekey_in_process
      Src: /src/hostap/src/ap/wpa_auth.c:2011,1
    - Dst: wpa_auth_logger
      Src: /src/hostap/src/ap/wpa_auth.c:2012,1
    - Dst: wpa_rekey_gtk
      Src: /src/hostap/src/ap/wpa_auth.c:2015,1
    - Dst: wpa_get_primary_auth
      Src: /src/hostap/src/ap/wpa_auth.c:2015,1
    - Dst: wpa_replay_counter_mark_invalid
      Src: /src/hostap/src/ap/wpa_auth.c:2020,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:2031,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/wpa_auth.c:2034,1
    - Dst: wpa_replay_counter_mark_invalid
      Src: /src/hostap/src/ap/wpa_auth.c:2042,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth.c:2045,1
    - Dst: os_memdup
      Src: /src/hostap/src/ap/wpa_auth.c:2046,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:2056,1
    - Dst: wpa_sm_step
      Src: /src/hostap/src/ap/wpa_auth.c:2057,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/ap/wpa_auth.c:2060,1
    CyclomaticComplexity: 99
    EdgeCount: 99
    ICount: 218
    argCount: 4
    argNames:
    - wpa_auth
    - sm
    - data
    - data_len
    argTypes:
    - struct wpa_authenticator*
    - struct wpa_state_machine*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2061
      start: 1700
    functionDepth: 4
    functionLinenumber: 1700
    functionLinenumberEnd: 2061
    functionName: wpa_receive
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 2
    functionsReached:
    - wpa_hexdump
    - random_mark_pool_ready
    - wpa_auth_logger
    - wpa_try_alt_snonce
    - wpa_request_new_ptk
    - wpa_auth_gtk_rekey_in_process
    - wpa_printf
    - WPA_GET_BE16
    - wpa_auth_get_spa
    - os_memdup
    - wpa_auth_valid_key_desc_ver
    - wpa_receive_error_report
    - wpa_get_primary_auth
    - os_free
    - wpa_replay_counter_mark_invalid
    - wpa_aead_decrypt
    - wpa_hexdump_key
    - wpa_sm_step
    - os_malloc
    - wpa_rekey_gtk
    - os_memset
    - os_memcpy
    - wpa_use_aes_key_wrap
    - eloop_cancel_timeout
    - aes_unwrap
    - bin_clear_free
    - get_ie
    - MAC2STR
    - random_add_randomness
    - wpa_auth_vlogger
    - wpa_key_mgmt_fils
    - wpa_sta_disconnect
    - wpa_verify_key_mic
    - wpa_mic_len
    - wpa_auth_valid_counter
    linkageType: ''
    returnType: void
    signature: "void wpa_receive(struct wpa_authenticator *wpa_auth,\n\t\t struct
      wpa_state_machine *sm,\n\t\t u8 *data, size_t data_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/ap/wpa_auth.c:2078,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:2079,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:2080,1
    - Dst: wpa_get_ntp_timestamp
      Src: /src/hostap/src/ap/wpa_auth.c:2082,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/wpa_auth.c:2084,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/ap/wpa_auth.c:2087,1
    - Dst: sha384_prf
      Src: /src/hostap/src/ap/wpa_auth.c:2091,1
    - Dst: sha256_prf
      Src: /src/hostap/src/ap/wpa_auth.c:2096,1
    - Dst: sha1_prf
      Src: /src/hostap/src/ap/wpa_auth.c:2100,1
    - Dst: forced_memzero
      Src: /src/hostap/src/ap/wpa_auth.c:2106,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 6
    argNames:
    - gmk
    - label
    - addr
    - gnonce
    - gtk
    - gtk_len
    argTypes:
    - u8*
    - char*
    - u8*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2109
      start: 2064
    functionDepth: 2
    functionLinenumber: 2064
    functionLinenumberEnd: 2109
    functionName: wpa_gmk_to_gtk
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - sha256_prf
    - sha384_prf
    - os_memcpy
    - random_get_bytes
    - forced_memzero
    - sha1_prf
    - wpa_get_ntp_timestamp
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpa_gmk_to_gtk(const u8 *gmk, const char *label, const u8 *addr,\n\t\t\t
      \ const u8 *gnonce, u8 *gtk, size_t gtk_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_auth_logger
      Src: /src/hostap/src/ap/wpa_auth.c:2118,1
    - Dst: wpa_auth_logger
      Src: /src/hostap/src/ap/wpa_auth.c:2124,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:2124,1
    - Dst: wpa_sm_step
      Src: /src/hostap/src/ap/wpa_auth.c:2127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2128
      start: 2112
    functionDepth: 1
    functionLinenumber: 2112
    functionLinenumberEnd: 2128
    functionName: wpa_send_eapol_timeout
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpa_auth_get_spa
    - wpa_sm_step
    - wpa_auth_logger
    linkageType: ''
    returnType: void
    signature: void wpa_send_eapol_timeout(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: wpa_mic_len
      Src: /src/hostap/src/ap/wpa_auth.c:2148,1
    - Dst: wpa_use_akm_defined
      Src: /src/hostap/src/ap/wpa_auth.c:2155,1
    - Dst: wpa_use_cmac
      Src: /src/hostap/src/ap/wpa_auth.c:2157,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:2166,1
    - Dst: wpa_use_aes_key_wrap
      Src: /src/hostap/src/ap/wpa_auth.c:2178,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/wpa_auth.c:2190,1
    - Dst: host_to_be16
      Src: /src/hostap/src/ap/wpa_auth.c:2195,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/ap/wpa_auth.c:2207,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/ap/wpa_auth.c:2211,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/ap/wpa_auth.c:2213,1
    - Dst: wpa_cipher_key_len
      Src: /src/hostap/src/ap/wpa_auth.c:2213,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:2217,1
    - Dst: inc_byte_array
      Src: /src/hostap/src/ap/wpa_auth.c:2221,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:2222,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth.c:2224,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:2229,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:2232,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/ap/wpa_auth.c:2236,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/wpa_auth.c:2237,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:2241,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/ap/wpa_auth.c:2242,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/ap/wpa_auth.c:2248,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/ap/wpa_auth.c:2249,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/ap/wpa_auth.c:2252,1
    - Dst: aes_siv_encrypt
      Src: /src/hostap/src/ap/wpa_auth.c:2258,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:2260,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth.c:2261,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth.c:2265,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/wpa_auth.c:2269,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth.c:2271,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:2275,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/ap/wpa_auth.c:2281,1
    - Dst: wpa_use_aes_key_wrap
      Src: /src/hostap/src/ap/wpa_auth.c:2285,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/ap/wpa_auth.c:2287,1
    - Dst: aes_wrap
      Src: /src/hostap/src/ap/wpa_auth.c:2289,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth.c:2291,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/ap/wpa_auth.c:2292,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth.c:2295,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/ap/wpa_auth.c:2298,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:2303,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:2305,1
    - Dst: inc_byte_array
      Src: /src/hostap/src/ap/wpa_auth.c:2307,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:2308,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:2309,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:2310,1
    - Dst: rc4_skip
      Src: /src/hostap/src/ap/wpa_auth.c:2311,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/ap/wpa_auth.c:2312,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth.c:2315,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/ap/wpa_auth.c:2316,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/ap/wpa_auth.c:2319,1
    - Dst: wpa_auth_logger
      Src: /src/hostap/src/ap/wpa_auth.c:2324,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:2324,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth.c:2327,1
    - Dst: wpa_eapol_key_mic
      Src: /src/hostap/src/ap/wpa_auth.c:2331,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth.c:2334,1
    - Dst: drand48
      Src: /src/hostap/src/ap/wpa_auth.c:2340,1
    - Dst: wpa_auth_logger
      Src: /src/hostap/src/ap/wpa_auth.c:2341,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:2341,1
    - Dst: wpa_auth_set_eapol
      Src: /src/hostap/src/ap/wpa_auth.c:2349,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth.c:2350,1
    - Dst: wpa_auth_send_eapol
      Src: /src/hostap/src/ap/wpa_auth.c:2351,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth.c:2353,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 133
    argCount: 10
    argNames:
    - wpa_auth
    - sm
    - key_info
    - key_rsc
    - nonce
    - kde
    - kde_len
    - keyidx
    - encr
    - force_version
    argTypes:
    - struct wpa_authenticator*
    - struct wpa_state_machine*
    - int
    - u8*
    - u8*
    - u8*
    - size_t
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2354
      start: 2131
    functionDepth: 3
    functionLinenumber: 2131
    functionLinenumberEnd: 2354
    functionName: __wpa_send_eapol
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpa_use_akm_defined
    - inc_byte_array
    - wpa_hexdump
    - aes_wrap
    - wpa_auth_logger
    - wpa_eapol_key_mic
    - drand48
    - wpa_auth_set_eapol
    - wpa_printf
    - wpa_auth_get_spa
    - os_free
    - wpa_use_cmac
    - aes_siv_encrypt
    - wpa_hexdump_key
    - WPA_PUT_BE16
    - os_memset
    - os_memcpy
    - random_get_bytes
    - wpa_use_aes_key_wrap
    - wpa_cipher_key_len
    - host_to_be16
    - rc4_skip
    - wpa_auth_send_eapol
    - os_zalloc
    - wpa_mic_len
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: "void __wpa_send_eapol(struct wpa_authenticator *wpa_auth,\n\t\t      struct
      wpa_state_machine *sm, int key_info,\n\t\t      const u8 *key_rsc, const u8
      *nonce,\n\t\t      const u8 *kde, size_t kde_len,\n\t\t      int keyidx, int
      encr, int force_version)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_authenticator*::cb::get_sta_count
      Src: /src/hostap/src/ap/wpa_auth.c:2362,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - wpa_auth
    argTypes:
    - struct wpa_authenticator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2363
      start: 2357
    functionDepth: 0
    functionLinenumber: 2357
    functionLinenumberEnd: 2363
    functionName: wpa_auth_get_sta_count
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - struct wpa_authenticator*::cb::get_sta_count
    linkageType: ''
    returnType: int
    signature: int wpa_auth_get_sta_count(struct wpa_authenticator *wpa_auth)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/wpa_auth.c:2387,1
    - Dst: __wpa_send_eapol
      Src: /src/hostap/src/ap/wpa_auth.c:2392,1
    - Dst: wpa_auth_get_sta_count
      Src: /src/hostap/src/ap/wpa_auth.c:2401,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:2416,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/wpa_auth.c:2419,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 9
    argNames:
    - wpa_auth
    - sm
    - key_info
    - key_rsc
    - nonce
    - kde
    - kde_len
    - keyidx
    - encr
    argTypes:
    - struct wpa_authenticator*
    - struct wpa_state_machine*
    - int
    - u8*
    - u8*
    - u8*
    - size_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2421
      start: 2366
    functionDepth: 4
    functionLinenumber: 2366
    functionLinenumberEnd: 2421
    functionName: wpa_send_eapol
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpa_auth_get_sta_count
    - wpa_msg
    - __wpa_send_eapol
    - eloop_register_timeout
    linkageType: ''
    returnType: void
    signature: "void wpa_send_eapol(struct wpa_authenticator *wpa_auth,\n\t\t\t   struct
      wpa_state_machine *sm, int key_info,\n\t\t\t   const u8 *key_rsc, const u8 *nonce,\n\t\t\t
      \  const u8 *kde, size_t kde_len,\n\t\t\t   int keyidx, int encr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_mic_len
      Src: /src/hostap/src/ap/wpa_auth.c:2432,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/ap/wpa_auth.c:2440,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:2441,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/wpa_auth.c:2442,1
    - Dst: wpa_eapol_key_mic
      Src: /src/hostap/src/ap/wpa_auth.c:2443,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/ap/wpa_auth.c:2446,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:2448,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - akmp
    - pmk_len
    - PTK
    - data
    - data_len
    argTypes:
    - int
    - size_t
    - struct wpa_ptk*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2450
      start: 2424
    functionDepth: 1
    functionLinenumber: 2424
    functionLinenumberEnd: 2450
    functionName: wpa_verify_key_mic
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 2
    functionsReached:
    - WPA_GET_BE16
    - os_memcpy
    - os_memcmp_const
    - wpa_eapol_key_mic
    - wpa_mic_len
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpa_verify_key_mic(int akmp, size_t pmk_len, struct wpa_ptk *PTK,\n\t\t\t
      \     u8 *data, size_t data_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/ap/wpa_auth.c:2456,1
    - Dst: wpa_auth_remove_ptksa
      Src: /src/hostap/src/ap/wpa_auth.c:2458,1
    - Dst: wpa_auth_set_key
      Src: /src/hostap/src/ap/wpa_auth.c:2460,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:2462,1
    - Dst: wpa_auth_set_key
      Src: /src/hostap/src/ap/wpa_auth.c:2465,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:2467,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/wpa_auth.c:2470,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_state_machine*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2471
      start: 2453
    functionDepth: 1
    functionLinenumber: 2453
    functionLinenumberEnd: 2471
    functionName: wpa_remove_ptk
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eloop_cancel_timeout
    - wpa_auth_remove_ptksa
    - wpa_auth_set_key
    - os_memset
    linkageType: ''
    returnType: void
    signature: void wpa_remove_ptk(struct wpa_state_machine *sm)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: wpa_auth_vlogger
      Src: /src/hostap/src/ap/wpa_auth.c:2481,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:2481,1
    - Dst: wpa_auth_start_ampe
      Src: /src/hostap/src/ap/wpa_auth.c:2488,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/wpa_auth.c:2499,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/wpa_auth.c:2502,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/wpa_auth.c:2504,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:2512,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:2525,1
    - Dst: wpa_sm_step
      Src: /src/hostap/src/ap/wpa_auth.c:2529,1
    - Dst: wpa_auth_4way_handshake_offload
      Src: /src/hostap/src/ap/wpa_auth.c:2533,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:2534,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:2542,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth.c:2544,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:2551,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth.c:2553,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:2553,1
    - Dst: wpa_gkeydone_sta
      Src: /src/hostap/src/ap/wpa_auth.c:2569,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:2576,1
    - Dst: wpa_ft_install_ptk
      Src: /src/hostap/src/ap/wpa_auth.c:2578,1
    - Dst: wpa_auth_set_ptk_rekey_timer
      Src: /src/hostap/src/ap/wpa_auth.c:2582,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:2589,1
    - Dst: fils_set_tk
      Src: /src/hostap/src/ap/wpa_auth.c:2591,1
    - Dst: wpa_key_mgmt_fils
      Src: /src/hostap/src/ap/wpa_auth.c:2609,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/wpa_auth.c:2626,1
    - Dst: wpa_remove_ptk
      Src: /src/hostap/src/ap/wpa_auth.c:2629,1
    - Dst: wpa_sm_step
      Src: /src/hostap/src/ap/wpa_auth.c:2640,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 96
    argCount: 2
    argNames:
    - sm
    - event
    argTypes:
    - struct wpa_state_machine*
    - enum wpa_event
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2641
      start: 2474
    functionDepth: 2
    functionLinenumber: 2474
    functionLinenumberEnd: 2641
    functionName: wpa_auth_sm_event
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - wpa_auth_4way_handshake_offload
    - wpa_auth_start_ampe
    - wpa_gkeydone_sta
    - wpa_auth_get_spa
    - wpa_sm_step
    - wpa_remove_ptk
    - wpa_ft_install_ptk
    - MAC2STR
    - wpa_auth_vlogger
    - wpa_auth_set_ptk_rekey_timer
    - wpa_key_mgmt_fils
    - fils_set_tk
    - os_memset
    linkageType: ''
    returnType: int
    signature: int wpa_auth_sm_event(struct wpa_state_machine *sm, enum wpa_event
      event)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY_MA
      Src: /src/hostap/src/ap/wpa_auth.c:2646,1
    - Dst: wpa_gkeydone_sta
      Src: /src/hostap/src/ap/wpa_auth.c:2655,1
    - Dst: wpa_auth_set_eapol
      Src: /src/hostap/src/ap/wpa_auth.c:2662,1
    - Dst: wpa_remove_ptk
      Src: /src/hostap/src/ap/wpa_auth.c:2663,1
    - Dst: wpa_auth_set_eapol
      Src: /src/hostap/src/ap/wpa_auth.c:2664,1
    - Dst: wpa_key_mgmt_wpa_psk
      Src: /src/hostap/src/ap/wpa_auth.c:2666,1
    - Dst: wpa_auth_set_eapol
      Src: /src/hostap/src/ap/wpa_auth.c:2669,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2672
      start: 2644
    functionDepth: 2
    functionLinenumber: 2644
    functionLinenumberEnd: 2672
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpa_auth_set_eapol
    - wpa_gkeydone_sta
    - wpa_remove_ptk
    - wpa_key_mgmt_wpa_psk
    - SM_ENTRY_MA
    linkageType: ''
    returnType: void
    signature: void SM_STATE(WPA_PTK, INITIALIZE)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY_MA
      Src: /src/hostap/src/ap/wpa_auth.c:2679,1
    - Dst: wpa_sta_disconnect
      Src: /src/hostap/src/ap/wpa_auth.c:2684,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2685
      start: 2675
    functionDepth: 2
    functionLinenumber: 2675
    functionLinenumberEnd: 2685
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpa_sta_disconnect
    - SM_ENTRY_MA
    linkageType: ''
    returnType: void
    signature: void SM_STATE(WPA_PTK, DISCONNECT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY_MA
      Src: /src/hostap/src/ap/wpa_auth.c:2690,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2692
      start: 2688
    functionDepth: 1
    functionLinenumber: 2688
    functionLinenumberEnd: 2692
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - SM_ENTRY_MA
    linkageType: ''
    returnType: void
    signature: void SM_STATE(WPA_PTK, DISCONNECTED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY_MA
      Src: /src/hostap/src/ap/wpa_auth.c:2697,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/wpa_auth.c:2698,1
    - Dst: wpa_auth_set_eapol
      Src: /src/hostap/src/ap/wpa_auth.c:2700,1
    - Dst: wpa_auth_set_eapol
      Src: /src/hostap/src/ap/wpa_auth.c:2702,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2704
      start: 2695
    functionDepth: 1
    functionLinenumber: 2695
    functionLinenumberEnd: 2704
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpa_auth_set_eapol
    - os_memset
    - SM_ENTRY_MA
    linkageType: ''
    returnType: void
    signature: void SM_STATE(WPA_PTK, AUTHENTICATION)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_authenticator*::cb::first_sta_seen_mbssid
      Src: /src/hostap/src/ap/wpa_auth.c:2713,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_auth
    - group
    argTypes:
    - struct wpa_authenticator*
    - struct wpa_group*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2715
      start: 2707
    functionDepth: 0
    functionLinenumber: 2707
    functionLinenumberEnd: 2715
    functionName: wpa_group_first_sta_seen_mbssid
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - struct wpa_authenticator*::cb::first_sta_seen_mbssid
    linkageType: ''
    returnType: bool
    signature: "bool wpa_group_first_sta_seen_mbssid(struct wpa_authenticator *wpa_auth,\n\t\t\t\t\t
      \ struct wpa_group *group)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_group_first_sta_seen_mbssid
      Src: /src/hostap/src/ap/wpa_auth.c:2722,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:2746,1
    - Dst: random_pool_ready
      Src: /src/hostap/src/ap/wpa_auth.c:2748,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:2749,1
    - Dst: wpa_group_init_gmk_and_counter
      Src: /src/hostap/src/ap/wpa_auth.c:2757,1
    - Dst: wpa_group_update_gtk
      Src: /src/hostap/src/ap/wpa_auth.c:2758,1
    - Dst: wpa_group_config_group_keys
      Src: /src/hostap/src/ap/wpa_auth.c:2759,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:2760,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - wpa_auth
    - group
    argTypes:
    - struct wpa_authenticator*
    - struct wpa_group*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2764
      start: 2718
    functionDepth: 3
    functionLinenumber: 2718
    functionLinenumberEnd: 2764
    functionName: wpa_group_ensure_init
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_group_update_gtk
    - wpa_group_first_sta_seen_mbssid
    - wpa_group_config_group_keys
    - random_pool_ready
    - wpa_group_init_gmk_and_counter
    linkageType: ''
    returnType: void
    signature: "void wpa_group_ensure_init(struct wpa_authenticator *wpa_auth,\n\t\t\t\t
      \ struct wpa_group *group)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY_MA
      Src: /src/hostap/src/ap/wpa_auth.c:2773,1
    - Dst: wpa_group_ensure_init
      Src: /src/hostap/src/ap/wpa_auth.c:2775,1
    - Dst: for_each_sm_auth
      Src: /src/hostap/src/ap/wpa_auth.c:2777,1
    - Dst: wpa_group_ensure_init
      Src: /src/hostap/src/ap/wpa_auth.c:2778,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/ap/wpa_auth.c:2792,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:2793,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth.c:2798,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2805
      start: 2767
    functionDepth: 4
    functionLinenumber: 2767
    functionLinenumberEnd: 2805
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - random_get_bytes
    - wpa_group_ensure_init
    - wpa_hexdump
    - for_each_sm_auth
    - SM_ENTRY_MA
    linkageType: ''
    returnType: void
    signature: void SM_STATE(WPA_PTK, AUTHENTICATION2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: random_get_bytes
      Src: /src/hostap/src/ap/wpa_auth.c:2810,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:2811,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth.c:2816,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_state_machine*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2820
      start: 2808
    functionDepth: 0
    functionLinenumber: 2808
    functionLinenumberEnd: 2820
    functionName: wpa_auth_sm_ptk_update
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - random_get_bytes
    - wpa_printf
    - wpa_hexdump
    linkageType: ''
    returnType: int
    signature: int wpa_auth_sm_ptk_update(struct wpa_state_machine *sm)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY_MA
      Src: /src/hostap/src/ap/wpa_auth.c:2828,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:2833,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:2834,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:2838,1
    - Dst: wpa_auth_get_msk
      Src: /src/hostap/src/ap/wpa_auth.c:2844,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:2844,1
    - Dst: wpa_key_mgmt_sha384
      Src: /src/hostap/src/ap/wpa_auth.c:2848,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:2852,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:2856,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:2862,1
    - Dst: wpa_key_mgmt_sha384
      Src: /src/hostap/src/ap/wpa_auth.c:2866,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:2867,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:2870,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:2876,1
    - Dst: forced_memzero
      Src: /src/hostap/src/ap/wpa_auth.c:2881,1
    - Dst: wpa_auth_set_eapol
      Src: /src/hostap/src/ap/wpa_auth.c:2892,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2893
      start: 2823
    functionDepth: 1
    functionLinenumber: 2823
    functionLinenumberEnd: 2893
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpa_auth_set_eapol
    - wpa_auth_get_msk
    - wpa_printf
    - os_memcpy
    - wpa_auth_get_spa
    - forced_memzero
    - wpa_key_mgmt_sha384
    - SM_ENTRY_MA
    linkageType: ''
    returnType: void
    signature: void SM_STATE(WPA_PTK, INITPMK)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY_MA
      Src: /src/hostap/src/ap/wpa_auth.c:2901,1
    - Dst: wpa_auth_get_psk
      Src: /src/hostap/src/ap/wpa_auth.c:2902,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:2905,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:2915,1
    - Dst: wpa_auth_uses_sae
      Src: /src/hostap/src/ap/wpa_auth.c:2919,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:2920,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:2922,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:2925,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2931
      start: 2896
    functionDepth: 1
    functionLinenumber: 2896
    functionLinenumberEnd: 2931
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_printf
    - wpa_auth_uses_sae
    - wpa_auth_get_psk
    - SM_ENTRY_MA
    linkageType: ''
    returnType: void
    signature: void SM_STATE(WPA_PTK, INITPSK)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY_MA
      Src: /src/hostap/src/ap/wpa_auth.c:2945,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/wpa_auth.c:2964,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/wpa_auth.c:2967,1
    - Dst: wpa_auth_logger
      Src: /src/hostap/src/ap/wpa_auth.c:2971,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:2971,1
    - Dst: wpa_key_mgmt_wpa_ieee8021x
      Src: /src/hostap/src/ap/wpa_auth.c:2988,1
    - Dst: wpa_key_mgmt_sae
      Src: /src/hostap/src/ap/wpa_auth.c:2990,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/ap/wpa_auth.c:2995,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth.c:2997,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:3000,1
    - Dst: wpa_key_mgmt_suite_b
      Src: /src/hostap/src/ap/wpa_auth.c:3002,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:3004,1
    - Dst: wpa_key_mgmt_fils
      Src: /src/hostap/src/ap/wpa_auth.c:3008,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth.c:3010,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:3013,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:3017,1
    - Dst: wpa_key_mgmt_ft
      Src: /src/hostap/src/ap/wpa_auth.c:3023,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:3025,1
    - Dst: wpa_key_mgmt_sae
      Src: /src/hostap/src/ap/wpa_auth.c:3030,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth.c:3032,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:3035,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:3039,1
    - Dst: rsn_pmkid
      Src: /src/hostap/src/ap/wpa_auth.c:3049,1
    - Dst: wpa_auth_get_aa
      Src: /src/hostap/src/ap/wpa_auth.c:3050,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:3051,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth.c:3054,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:3064,1
    - Dst: wpa_add_kde
      Src: /src/hostap/src/ap/wpa_auth.c:3067,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:3075,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/wpa_auth.c:3075,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/wpa_auth.c:3076,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/wpa_auth.c:3077,1
    - Dst: wpa_send_eapol
      Src: /src/hostap/src/ap/wpa_auth.c:3084,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth.c:3086,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 74
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3087
      start: 2934
    functionDepth: 5
    functionLinenumber: 2934
    functionLinenumberEnd: 3087
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpa_hexdump
    - rsn_pmkid
    - wpa_key_mgmt_suite_b
    - wpa_auth_logger
    - wpa_key_mgmt_sae
    - wpa_printf
    - wpa_auth_get_spa
    - wpa_key_mgmt_ft
    - wpa_send_eapol
    - os_free
    - SM_ENTRY_MA
    - wpabuf_len
    - wpabuf_head
    - wpa_auth_get_aa
    - os_memcpy
    - wpa_add_kde
    - os_zalloc
    - RSN_SELECTOR_PUT
    - wpa_key_mgmt_wpa_ieee8021x
    - wpa_key_mgmt_fils
    linkageType: ''
    returnType: void
    signature: void SM_STATE(WPA_PTK, PTKSTART)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_11_rsnx_capab
      Src: /src/hostap/src/ap/wpa_auth.c:3103,1
    - Dst: wpa_key_mgmt_ft
      Src: /src/hostap/src/ap/wpa_auth.c:3109,1
    - Dst: wpa_pmk_r1_to_ptk
      Src: /src/hostap/src/ap/wpa_auth.c:3113,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:3115,1
    - Dst: wpa_auth_get_aa
      Src: /src/hostap/src/ap/wpa_auth.c:3116,1
    - Dst: wpa_auth_derive_ptk_ft
      Src: /src/hostap/src/ap/wpa_auth.c:3121,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:3126,1
    - Dst: ieee802_11_rsnx_capab
      Src: /src/hostap/src/ap/wpa_auth.c:3132,1
    - Dst: wpa_ltf_keyseed
      Src: /src/hostap/src/ap/wpa_auth.c:3134,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:3137,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/wpa_auth.c:3148,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/wpa_auth.c:3149,1
    - Dst: wpa_pmk_to_ptk
      Src: /src/hostap/src/ap/wpa_auth.c:3156,1
    - Dst: wpa_auth_get_aa
      Src: /src/hostap/src/ap/wpa_auth.c:3157,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:3157,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:3161,1
    - Dst: ieee802_11_rsnx_capab
      Src: /src/hostap/src/ap/wpa_auth.c:3168,1
    - Dst: wpa_ltf_keyseed
      Src: /src/hostap/src/ap/wpa_auth.c:3169,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:3171,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 41
    argCount: 11
    argNames:
    - sm
    - snonce
    - pmk
    - pmk_len
    - ptk
    - force_sha256
    - pmk_r0
    - pmk_r1
    - pmk_r0_name
    - key_len
    - no_kdk
    argTypes:
    - struct wpa_state_machine*
    - u8*
    - u8*
    - unsigned int
    - struct wpa_ptk*
    - int
    - u8*
    - u8*
    - u8*
    - size_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3177
      start: 3090
    functionDepth: 2
    functionLinenumber: 3090
    functionLinenumberEnd: 3177
    functionName: wpa_derive_ptk
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 3
    functionsReached:
    - wpa_auth_derive_ptk_ft
    - wpa_printf
    - wpa_ltf_keyseed
    - wpa_auth_get_spa
    - wpabuf_len
    - wpa_pmk_to_ptk
    - wpa_key_mgmt_ft
    - wpabuf_head
    - ieee802_11_rsnx_capab
    - wpa_pmk_r1_to_ptk
    - wpa_auth_get_aa
    linkageType: ''
    returnType: int
    signature: "int wpa_derive_ptk(struct wpa_state_machine *sm, const u8 *snonce,\n\t\t\t
      \ const u8 *pmk, unsigned int pmk_len,\n\t\t\t  struct wpa_ptk *ptk, int force_sha256,\n\t\t\t
      \ u8 *pmk_r0, u8 *pmk_r1, u8 *pmk_r0_name,\n\t\t\t  size_t *key_len, bool no_kdk)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_11_rsnx_capab
      Src: /src/hostap/src/ap/wpa_auth.c:3195,1
    - Dst: fils_pmk_to_ptk
      Src: /src/hostap/src/ap/wpa_auth.c:3200,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:3200,1
    - Dst: wpa_auth_get_aa
      Src: /src/hostap/src/ap/wpa_auth.c:3201,1
    - Dst: ieee802_11_rsnx_capab
      Src: /src/hostap/src/ap/wpa_auth.c:3211,1
    - Dst: wpa_ltf_keyseed
      Src: /src/hostap/src/ap/wpa_auth.c:3212,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:3214,1
    - Dst: wpa_derive_pmk_r0
      Src: /src/hostap/src/ap/wpa_auth.c:3230,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:3235,1
    - Dst: wpa_ft_store_pmk_fils
      Src: /src/hostap/src/ap/wpa_auth.c:3239,1
    - Dst: forced_memzero
      Src: /src/hostap/src/ap/wpa_auth.c:3240,1
    - Dst: wpa_derive_pmk_r1_name
      Src: /src/hostap/src/ap/wpa_auth.c:3242,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:3243,1
    - Dst: forced_memzero
      Src: /src/hostap/src/ap/wpa_auth.c:3246,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth.c:3249,1
    - Dst: fils_key_auth_sk
      Src: /src/hostap/src/ap/wpa_auth.c:3255,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:3256,1
    - Dst: wpa_auth_get_aa
      Src: /src/hostap/src/ap/wpa_auth.c:3257,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/wpa_auth.c:3258,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/wpa_auth.c:3259,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/wpa_auth.c:3260,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/wpa_auth.c:3261,1
    - Dst: forced_memzero
      Src: /src/hostap/src/ap/wpa_auth.c:3265,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:3268,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:3269,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 9
    argNames:
    - sm
    - pmk
    - pmk_len
    - snonce
    - anonce
    - dhss
    - dhss_len
    - g_sta
    - g_ap
    argTypes:
    - struct wpa_state_machine*
    - u8*
    - size_t
    - u8*
    - u8*
    - u8*
    - size_t
    - struct wpabuf*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3272
      start: 3182
    functionDepth: 3
    functionLinenumber: 3182
    functionLinenumberEnd: 3272
    functionName: fils_auth_pmk_to_ptk
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - fils_key_auth_sk
    - wpa_printf
    - os_memcpy
    - wpa_ltf_keyseed
    - wpa_hexdump
    - wpa_auth_get_spa
    - wpabuf_len
    - forced_memzero
    - fils_pmk_to_ptk
    - wpabuf_head
    - ieee802_11_rsnx_capab
    - wpa_derive_pmk_r0
    - wpa_auth_get_aa
    - wpa_ft_store_pmk_fils
    - wpa_derive_pmk_r1_name
    linkageType: ''
    returnType: int
    signature: "int fils_auth_pmk_to_ptk(struct wpa_state_machine *sm, const u8 *pmk,\n\t\t\t
      size_t pmk_len, const u8 *snonce, const u8 *anonce,\n\t\t\t const u8 *dhss,
      size_t dhss_len,\n\t\t\t struct wpabuf *g_sta, struct wpabuf *g_ap)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/ap/wpa_auth.c:3289,1
    - Dst: wpa_auth_logger
      Src: /src/hostap/src/ap/wpa_auth.c:3292,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:3292,1
    - Dst: os_malloc
      Src: /src/hostap/src/ap/wpa_auth.c:3298,1
    - Dst: aes_siv_decrypt
      Src: /src/hostap/src/ap/wpa_auth.c:3306,1
    - Dst: wpa_auth_logger
      Src: /src/hostap/src/ap/wpa_auth.c:3308,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:3308,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/ap/wpa_auth.c:3310,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/ap/wpa_auth.c:3316,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:3320,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/ap/wpa_auth.c:3322,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/ap/wpa_auth.c:3323,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 5
    argNames:
    - sm
    - ptk
    - buf
    - buf_len
    - _key_data_len
    argTypes:
    - struct wpa_state_machine*
    - struct wpa_ptk*
    - u8*
    - size_t
    - u16*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3327
      start: 3275
    functionDepth: 3
    functionLinenumber: 3275
    functionLinenumberEnd: 3327
    functionName: wpa_aead_decrypt
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 1
    functionsReached:
    - WPA_GET_BE16
    - wpa_hexdump_key
    - os_memcpy
    - wpa_auth_get_spa
    - os_malloc
    - WPA_PUT_BE16
    - bin_clear_free
    - wpa_auth_logger
    - aes_siv_decrypt
    linkageType: ''
    returnType: int
    signature: "int wpa_aead_decrypt(struct wpa_state_machine *sm, struct wpa_ptk
      *ptk,\n\t\t\t    u8 *buf, size_t buf_len, u16 *_key_data_len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_key_mgmt_fils
      Src: /src/hostap/src/ap/wpa_auth.c:3337,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:3338,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:3359,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:3366,1
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/wpa_auth.c:3372,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:3373,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth.c:3374,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth.c:3376,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 4
    argNames:
    - sm
    - ies
    - ies_len
    - fils_session
    argTypes:
    - struct wpa_state_machine*
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3381
      start: 3330
    functionDepth: 1
    functionLinenumber: 3330
    functionLinenumberEnd: 3381
    functionName: wpa_fils_validate_fils_session
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcmp
    - wpa_hexdump
    - wpa_key_mgmt_fils
    linkageType: ''
    returnType: u8
    signature: "u8 * wpa_fils_validate_fils_session(struct wpa_state_machine *sm,\n\t\t\t\t\t
      \ const u8 *ies, size_t ies_len,\n\t\t\t\t\t  const u8 *fils_session)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/src/ap/wpa_auth.c:3389,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:3390,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:3396,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:3401,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:3406,1
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/wpa_auth.c:3413,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:3415,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth.c:3416,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth.c:3418,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - sm
    - ies
    - ies_len
    argTypes:
    - struct wpa_state_machine*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3424
      start: 3384
    functionDepth: 1
    functionLinenumber: 3384
    functionLinenumberEnd: 3424
    functionName: wpa_fils_validate_key_confirm
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - ieee802_11_parse_elems
    - os_memcmp
    - wpa_hexdump
    linkageType: ''
    returnType: int
    signature: "int wpa_fils_validate_key_confirm(struct wpa_state_machine *sm, const
      u8 *ies,\n\t\t\t\t  size_t ies_len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:3437,1
    - Dst: wpa_key_mgmt_fils
      Src: /src/hostap/src/ap/wpa_auth.c:3442,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:3443,1
    - Dst: le_to_host16
      Src: /src/hostap/src/ap/wpa_auth.c:3449,1
    - Dst: WLAN_FC_GET_STYPE
      Src: /src/hostap/src/ap/wpa_auth.c:3450,1
    - Dst: wpa_fils_validate_fils_session
      Src: /src/hostap/src/ap/wpa_auth.c:3461,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:3464,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:3471,1
    - Dst: aes_siv_decrypt
      Src: /src/hostap/src/ap/wpa_auth.c:3497,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:3499,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth.c:3503,1
    - Dst: wpa_fils_validate_key_confirm
      Src: /src/hostap/src/ap/wpa_auth.c:3506,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:3507,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 46
    argCount: 6
    argNames:
    - sm
    - fils_session
    - mgmt
    - frame_len
    - pos
    - left
    argTypes:
    - struct wpa_state_machine*
    - u8*
    - struct ieee80211_mgmt*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3512
      start: 3427
    functionDepth: 3
    functionLinenumber: 3427
    functionLinenumberEnd: 3512
    functionName: fils_decrypt_assoc
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - WLAN_FC_GET_STYPE
    - wpa_hexdump
    - wpa_fils_validate_key_confirm
    - wpa_fils_validate_fils_session
    - wpa_key_mgmt_fils
    - le_to_host16
    - aes_siv_decrypt
    linkageType: ''
    returnType: int
    signature: "int fils_decrypt_assoc(struct wpa_state_machine *sm, const u8 *fils_session,\n\t\t
      \      const struct ieee80211_mgmt *mgmt, size_t frame_len,\n\t\t       u8 *pos,
      size_t left)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth.c:3529,1
    - Dst: fils_prepare_plainbuf
      Src: /src/hostap/src/ap/wpa_auth.c:3558,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:3560,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/wpa_auth.c:3564,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:3565,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/ap/wpa_auth.c:3567,1
    - Dst: wpa_hexdump_buf_key
      Src: /src/hostap/src/ap/wpa_auth.c:3571,1
    - Dst: aes_siv_encrypt
      Src: /src/hostap/src/ap/wpa_auth.c:3574,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/wpa_auth.c:3575,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/wpa_auth.c:3575,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/ap/wpa_auth.c:3577,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth.c:3581,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/wpa_auth.c:3583,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/wpa_auth.c:3584,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/ap/wpa_auth.c:3585,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 5
    argNames:
    - sm
    - buf
    - current_len
    - max_len
    - hlp
    argTypes:
    - struct wpa_state_machine*
    - u8*
    - size_t
    - size_t
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3590
      start: 3515
    functionDepth: 3
    functionLinenumber: 3515
    functionLinenumberEnd: 3590
    functionName: fils_encrypt_assoc
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    - wpabuf_len
    - wpabuf_head
    - fils_prepare_plainbuf
    - wpabuf_clear_free
    - wpa_hexdump_buf_key
    - aes_siv_encrypt
    linkageType: ''
    returnType: int
    signature: "int fils_encrypt_assoc(struct wpa_state_machine *sm, u8 *buf,\n\t\t
      \      size_t current_len, size_t max_len,\n\t\t       const struct wpabuf *hlp)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ieee80211w_kde_len
      Src: /src/hostap/src/ap/wpa_auth.c:3605,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/ap/wpa_auth.c:3608,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/wpa_auth.c:3615,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/wpa_auth.c:3616,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/wpa_auth.c:3618,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/ap/wpa_auth.c:3619,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/ap/wpa_auth.c:3623,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/wpa_auth.c:3629,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/ap/wpa_auth.c:3630,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/wpa_auth.c:3631,1
    - Dst: wpa_auth_get_seqnum
      Src: /src/hostap/src/ap/wpa_auth.c:3632,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/ap/wpa_auth.c:3633,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/ap/wpa_auth.c:3642,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/ap/wpa_auth.c:3643,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/ap/wpa_auth.c:3650,1
    - Dst: wpa_add_kde
      Src: /src/hostap/src/ap/wpa_auth.c:3651,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/ap/wpa_auth.c:3653,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/ap/wpa_auth.c:3656,1
    - Dst: ieee80211w_kde_add
      Src: /src/hostap/src/ap/wpa_auth.c:3657,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/ap/wpa_auth.c:3658,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/ap/wpa_auth.c:3661,1
    - Dst: wpa_add_kde
      Src: /src/hostap/src/ap/wpa_auth.c:3662,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/ap/wpa_auth.c:3664,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/ap/wpa_auth.c:3667,1
    - Dst: wpa_auth_uses_ocv
      Src: /src/hostap/src/ap/wpa_auth.c:3670,1
    - Dst: wpa_channel_info
      Src: /src/hostap/src/ap/wpa_auth.c:3674,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:3675,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/ap/wpa_auth.c:3677,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:3682,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/ap/wpa_auth.c:3690,1
    - Dst: ocv_insert_extended_oci
      Src: /src/hostap/src/ap/wpa_auth.c:3691,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/ap/wpa_auth.c:3692,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 58
    argCount: 2
    argNames:
    - sm
    - hlp
    argTypes:
    - struct wpa_state_machine*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3699
      start: 3593
    functionDepth: 1
    functionLinenumber: 3593
    functionLinenumberEnd: 3699
    functionName: fils_prepare_plainbuf
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 1
    functionsReached:
    - wpabuf_put
    - random_get_bytes
    - wpa_add_kde
    - wpa_printf
    - wpabuf_put_u8
    - wpabuf_put_data
    - ieee80211w_kde_len
    - ieee80211w_kde_add
    - wpabuf_put_buf
    - wpabuf_alloc
    - ocv_insert_extended_oci
    - wpa_auth_get_seqnum
    - wpabuf_clear_free
    - wpa_channel_info
    - wpa_auth_uses_ocv
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * fils_prepare_plainbuf(struct wpa_state_machine *sm,\n\t\t\t\t\t
      \    const struct wpabuf *hlp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:3708,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:3712,1
    - Dst: wpa_cipher_to_alg
      Src: /src/hostap/src/ap/wpa_auth.c:3716,1
    - Dst: wpa_cipher_key_len
      Src: /src/hostap/src/ap/wpa_auth.c:3717,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:3719,1
    - Dst: wpa_auth_set_key
      Src: /src/hostap/src/ap/wpa_auth.c:3720,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:3722,1
    - Dst: ieee802_11_rsnx_capab
      Src: /src/hostap/src/ap/wpa_auth.c:3728,1
    - Dst: wpa_auth_set_ltf_keyseed
      Src: /src/hostap/src/ap/wpa_auth.c:3729,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:3732,1
    - Dst: wpa_auth_store_ptksa
      Src: /src/hostap/src/ap/wpa_auth.c:3741,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_state_machine*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3745
      start: 3702
    functionDepth: 1
    functionLinenumber: 3702
    functionLinenumberEnd: 3745
    functionName: fils_set_tk
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 1
    functionsReached:
    - wpa_auth_set_ltf_keyseed
    - wpa_printf
    - wpa_cipher_key_len
    - ieee802_11_rsnx_capab
    - wpa_auth_set_key
    - wpa_auth_store_ptksa
    - wpa_cipher_to_alg
    linkageType: ''
    returnType: int
    signature: int fils_set_tk(struct wpa_state_machine *sm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:3758,1
    - Dst: fils_prepare_plainbuf
      Src: /src/hostap/src/ap/wpa_auth.c:3761,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:3763,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:3767,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/wpa_auth.c:3767,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/wpa_auth.c:3767,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/wpa_auth.c:3768,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:3770,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/wpa_auth.c:3771,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/ap/wpa_auth.c:3772,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 4
    argNames:
    - sm
    - buf
    - fils_session
    - hlp
    argTypes:
    - struct wpa_state_machine*
    - u8*
    - u8*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3775
      start: 3748
    functionDepth: 2
    functionLinenumber: 3748
    functionLinenumberEnd: 3775
    functionName: hostapd_eid_assoc_fils_session
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_printf
    - wpabuf_len
    - wpabuf_head
    - fils_prepare_plainbuf
    - wpabuf_clear_free
    linkageType: ''
    returnType: u8
    signature: "u8 * hostapd_eid_assoc_fils_session(struct wpa_state_machine *sm,
      u8 *buf,\n\t\t\t\t    const u8 *fils_session, struct wpabuf *hlp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_authenticator*::cb::get_sta_tx_params
      Src: /src/hostap/src/ap/wpa_auth.c:3788,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - sm
    - ap_max_chanwidth
    - ap_seg1_idx
    - bandwidth
    - seg1_idx
    argTypes:
    - struct wpa_state_machine*
    - int
    - int
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3791
      start: 3781
    functionDepth: 0
    functionLinenumber: 3781
    functionLinenumberEnd: 3791
    functionName: get_sta_tx_parameters
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 2
    functionsReached:
    - struct wpa_authenticator*::cb::get_sta_tx_params
    linkageType: ''
    returnType: int
    signature: "int get_sta_tx_parameters(struct wpa_state_machine *sm, int ap_max_chanwidth,\n\t\t\t
      \ int ap_seg1_idx, int *bandwidth, int *seg1_idx)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/wpa_auth.c:3807,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:3808,1
    - Dst: for_each_link
      Src: /src/hostap/src/ap/wpa_auth.c:3813,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:3819,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:3832,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/wpa_auth.c:3837,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:3839,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth.c:3842,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth.c:3843,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:3852,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 2
    argNames:
    - sm
    - kde
    argTypes:
    - struct wpa_state_machine*
    - struct wpa_eapol_ie_parse*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3860
      start: 3795
    functionDepth: 1
    functionLinenumber: 3795
    functionLinenumberEnd: 3860
    functionName: wpa_auth_validate_ml_kdes_m2
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    - ether_addr_equal
    - for_each_link
    linkageType: ''
    returnType: int
    signature: "int wpa_auth_validate_ml_kdes_m2(struct wpa_state_machine *sm,\n\t\t\t\t\tstruct
      wpa_eapol_ie_parse *kde)"
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY_MA
      Src: /src/hostap/src/ap/wpa_auth.c:3886,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/wpa_auth.c:3889,1
    - Dst: wpa_mic_len
      Src: /src/hostap/src/ap/wpa_auth.c:3891,1
    - Dst: ieee802_11_rsnx_capab
      Src: /src/hostap/src/ap/wpa_auth.c:3894,1
    - Dst: wpa_key_mgmt_wpa_psk
      Src: /src/hostap/src/ap/wpa_auth.c:3900,1
    - Dst: wpa_key_mgmt_sae
      Src: /src/hostap/src/ap/wpa_auth.c:3901,1
    - Dst: wpa_auth_get_psk
      Src: /src/hostap/src/ap/wpa_auth.c:3902,1
    - Dst: wpa_key_mgmt_ft_psk
      Src: /src/hostap/src/ap/wpa_auth.c:3909,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:3910,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:3920,1
    - Dst: wpa_derive_ptk
      Src: /src/hostap/src/ap/wpa_auth.c:3927,1
    - Dst: wpa_verify_key_mic
      Src: /src/hostap/src/ap/wpa_auth.c:3933,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:3937,1
    - Dst: wpa_aead_decrypt
      Src: /src/hostap/src/ap/wpa_auth.c:3946,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:3956,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:3969,1
    - Dst: wpa_key_mgmt_wpa_psk
      Src: /src/hostap/src/ap/wpa_auth.c:3975,1
    - Dst: wpa_key_mgmt_sae
      Src: /src/hostap/src/ap/wpa_auth.c:3976,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:3983,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth.c:3985,1
    - Dst: wpa_key_mgmt_wpa_psk_no_sae
      Src: /src/hostap/src/ap/wpa_auth.c:3988,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:3991,1
    - Dst: struct wpa_authenticator*::cb::request_radius_psk
      Src: /src/hostap/src/ap/wpa_auth.c:3992,1
    - Dst: wpa_auth_logger
      Src: /src/hostap/src/ap/wpa_auth.c:4002,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:4002,1
    - Dst: wpa_auth_psk_failure_report
      Src: /src/hostap/src/ap/wpa_auth.c:4006,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/ap/wpa_auth.c:4017,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/ap/wpa_auth.c:4019,1
    - Dst: wpa_use_aes_key_wrap
      Src: /src/hostap/src/ap/wpa_auth.c:4028,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:4029,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:4035,1
    - Dst: os_malloc
      Src: /src/hostap/src/ap/wpa_auth.c:4041,1
    - Dst: aes_unwrap
      Src: /src/hostap/src/ap/wpa_auth.c:4045,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:4047,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/ap/wpa_auth.c:4052,1
    - Dst: wpa_parse_kde_ies
      Src: /src/hostap/src/ap/wpa_auth.c:4056,1
    - Dst: wpa_auth_vlogger
      Src: /src/hostap/src/ap/wpa_auth.c:4057,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:4057,1
    - Dst: wpa_key_mgmt_ft
      Src: /src/hostap/src/ap/wpa_auth.c:4068,1
    - Dst: wpa_compare_rsn_ie
      Src: /src/hostap/src/ap/wpa_auth.c:4070,1
    - Dst: wpa_auth_logger
      Src: /src/hostap/src/ap/wpa_auth.c:4072,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:4072,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth.c:4075,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth.c:4078,1
    - Dst: wpa_sta_disconnect
      Src: /src/hostap/src/ap/wpa_auth.c:4081,1
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/wpa_auth.c:4089,1
    - Dst: wpa_auth_logger
      Src: /src/hostap/src/ap/wpa_auth.c:4090,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:4090,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth.c:4092,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth.c:4094,1
    - Dst: wpa_sta_disconnect
      Src: /src/hostap/src/ap/wpa_auth.c:4097,1
    - Dst: wpa_auth_uses_ocv
      Src: /src/hostap/src/ap/wpa_auth.c:4102,1
    - Dst: wpa_channel_info
      Src: /src/hostap/src/ap/wpa_auth.c:4108,1
    - Dst: wpa_auth_logger
      Src: /src/hostap/src/ap/wpa_auth.c:4109,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:4109,1
    - Dst: get_sta_tx_parameters
      Src: /src/hostap/src/ap/wpa_auth.c:4115,1
    - Dst: channel_width_to_int
      Src: /src/hostap/src/ap/wpa_auth.c:4116,1
    - Dst: ocv_verify_tx_params
      Src: /src/hostap/src/ap/wpa_auth.c:4121,1
    - Dst: wpa_auth_uses_ocv
      Src: /src/hostap/src/ap/wpa_auth.c:4123,1
    - Dst: wpa_auth_vlogger
      Src: /src/hostap/src/ap/wpa_auth.c:4125,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:4125,1
    - Dst: wpa_auth_set_ocv
      Src: /src/hostap/src/ap/wpa_auth.c:4128,1
    - Dst: wpa_auth_vlogger
      Src: /src/hostap/src/ap/wpa_auth.c:4130,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:4130,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/wpa_auth.c:4134,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth.c:4137,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:4137,1
    - Dst: ft_check_msg_2_of_4
      Src: /src/hostap/src/ap/wpa_auth.c:4144,1
    - Dst: wpa_sta_disconnect
      Src: /src/hostap/src/ap/wpa_auth.c:4145,1
    - Dst: rsn_is_snonce_cookie
      Src: /src/hostap/src/ap/wpa_auth.c:4154,1
    - Dst: rsn_is_snonce_cookie
      Src: /src/hostap/src/ap/wpa_auth.c:4155,1
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/wpa_auth.c:4160,1
    - Dst: wpa_auth_logger
      Src: /src/hostap/src/ap/wpa_auth.c:4162,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:4162,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:4164,1
    - Dst: rsn_is_snonce_cookie
      Src: /src/hostap/src/ap/wpa_auth.c:4166,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth.c:4167,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth.c:4169,1
    - Dst: wpa_sta_disconnect
      Src: /src/hostap/src/ap/wpa_auth.c:4172,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/ap/wpa_auth.c:4180,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:4182,1
    - Dst: bitfield_get_first_zero
      Src: /src/hostap/src/ap/wpa_auth.c:4184,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/ap/wpa_auth.c:4186,1
    - Dst: bitfield_set
      Src: /src/hostap/src/ap/wpa_auth.c:4187,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/src/ap/wpa_auth.c:4189,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:4190,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth.c:4195,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:4195,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:4203,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:4210,1
    - Dst: wpa_sta_disconnect
      Src: /src/hostap/src/ap/wpa_auth.c:4212,1
    - Dst: wpa_auth_validate_ml_kdes_m2
      Src: /src/hostap/src/ap/wpa_auth.c:4219,1
    - Dst: wpa_sta_disconnect
      Src: /src/hostap/src/ap/wpa_auth.c:4220,1
    - Dst: wpa_key_mgmt_wpa_psk
      Src: /src/hostap/src/ap/wpa_auth.c:4225,1
    - Dst: wpa_auth_update_vlan
      Src: /src/hostap/src/ap/wpa_auth.c:4226,1
    - Dst: wpa_sta_disconnect
      Src: /src/hostap/src/ap/wpa_auth.c:4227,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/wpa_auth.c:4233,1
    - Dst: wpa_key_mgmt_wpa_psk
      Src: /src/hostap/src/ap/wpa_auth.c:4235,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:4239,1
    - Dst: wpa_key_mgmt_ft
      Src: /src/hostap/src/ap/wpa_auth.c:4246,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:4247,1
    - Dst: wpa_auth_ft_store_keys
      Src: /src/hostap/src/ap/wpa_auth.c:4248,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:4253,1
    - Dst: forced_memzero
      Src: /src/hostap/src/ap/wpa_auth.c:4254,1
    - Dst: forced_memzero
      Src: /src/hostap/src/ap/wpa_auth.c:4258,1
    - Dst: forced_memzero
      Src: /src/hostap/src/ap/wpa_auth.c:4259,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/ap/wpa_auth.c:4260,1
    CyclomaticComplexity: 123
    EdgeCount: 123
    ICount: 225
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4261
      start: 3863
    functionDepth: 4
    functionLinenumber: 3863
    functionLinenumberEnd: 4261
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpa_hexdump
    - struct wpa_authenticator*::cb::request_radius_psk
    - forced_memzero
    - wpa_auth_get_psk
    - wpa_key_mgmt_wpa_psk
    - wpa_parse_kde_ies
    - WPA_PUT_BE32
    - wpa_auth_update_vlan
    - ocv_verify_tx_params
    - wpa_auth_logger
    - ft_check_msg_2_of_4
    - wpa_auth_ft_store_keys
    - wpa_key_mgmt_sae
    - wpa_printf
    - WPA_GET_BE16
    - wpa_compare_rsn_ie
    - wpa_auth_set_ocv
    - bitfield_get_first_zero
    - wpa_auth_get_spa
    - wpa_key_mgmt_wpa_psk_no_sae
    - bitfield_set
    - wpa_derive_ptk
    - wpa_key_mgmt_ft
    - rsn_is_snonce_cookie
    - os_memcmp
    - wpa_channel_info
    - channel_width_to_int
    - SM_ENTRY_MA
    - wpa_aead_decrypt
    - wpa_hexdump_key
    - wpa_auth_psk_failure_report
    - get_sta_tx_parameters
    - os_malloc
    - ieee802_11_rsnx_capab
    - wpa_auth_uses_ocv
    - os_memset
    - os_memcpy
    - wpa_use_aes_key_wrap
    - wpa_msg
    - eloop_cancel_timeout
    - aes_unwrap
    - wpa_key_mgmt_ft_psk
    - MAC2STR
    - wpa_auth_validate_ml_kdes_m2
    - wpa_auth_vlogger
    - wpa_sta_disconnect
    - wpa_verify_key_mic
    - WPA_GET_BE32
    - wpa_mic_len
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: void SM_STATE(WPA_PTK, PTKCALCNEGOTIATING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY_MA
      Src: /src/hostap/src/ap/wpa_auth.c:4266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4268
      start: 4264
    functionDepth: 1
    functionLinenumber: 4264
    functionLinenumberEnd: 4268
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - SM_ENTRY_MA
    linkageType: ''
    returnType: void
    signature: void SM_STATE(WPA_PTK, PTKCALCNEGOTIATING2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cipher_key_len
      Src: /src/hostap/src/ap/wpa_auth.c:4278,1
    - Dst: wpa_cipher_key_len
      Src: /src/hostap/src/ap/wpa_auth.c:4285,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_state_machine*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4289
      start: 4271
    functionDepth: 1
    functionLinenumber: 4271
    functionLinenumberEnd: 4289
    functionName: ieee80211w_kde_len
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 1
    functionsReached:
    - wpa_cipher_key_len
    linkageType: ''
    returnType: int
    signature: int ieee80211w_kde_len(struct wpa_state_machine *sm)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cipher_key_len
      Src: /src/hostap/src/ap/wpa_auth.c:4300,1
    - Dst: wpa_auth_get_seqnum
      Src: /src/hostap/src/ap/wpa_auth.c:4313,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/wpa_auth.c:4314,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:4316,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:4317,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/ap/wpa_auth.c:4323,1
    - Dst: wpa_add_kde
      Src: /src/hostap/src/ap/wpa_auth.c:4326,1
    - Dst: forced_memzero
      Src: /src/hostap/src/ap/wpa_auth.c:4329,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:4332,1
    - Dst: wpa_cipher_key_len
      Src: /src/hostap/src/ap/wpa_auth.c:4339,1
    - Dst: wpa_auth_get_seqnum
      Src: /src/hostap/src/ap/wpa_auth.c:4349,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/wpa_auth.c:4350,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:4352,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:4353,1
    - Dst: wpa_add_kde
      Src: /src/hostap/src/ap/wpa_auth.c:4354,1
    - Dst: forced_memzero
      Src: /src/hostap/src/ap/wpa_auth.c:4357,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 2
    argNames:
    - sm
    - pos
    argTypes:
    - struct wpa_state_machine*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4360
      start: 4292
    functionDepth: 1
    functionLinenumber: 4292
    functionLinenumberEnd: 4360
    functionName: ieee80211w_kde_add
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    - random_get_bytes
    - wpa_add_kde
    - wpa_cipher_key_len
    - wpa_printf
    - forced_memzero
    - wpa_auth_get_seqnum
    - os_memset
    linkageType: ''
    returnType: u8
    signature: u8 * ieee80211w_kde_add(struct wpa_state_machine *sm, u8 *pos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_auth_uses_ocv
      Src: /src/hostap/src/ap/wpa_auth.c:4366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_state_machine*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4370
      start: 4363
    functionDepth: 1
    functionLinenumber: 4363
    functionLinenumberEnd: 4370
    functionName: ocv_oci_len
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpa_auth_uses_ocv
    linkageType: ''
    returnType: int
    signature: int ocv_oci_len(struct wpa_state_machine *sm)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_auth_uses_ocv
      Src: /src/hostap/src/ap/wpa_auth.c:4379,1
    - Dst: wpa_channel_info
      Src: /src/hostap/src/ap/wpa_auth.c:4382,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:4383,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:4389,1
    - Dst: ocv_insert_oci_kde
      Src: /src/hostap/src/ap/wpa_auth.c:4396,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - sm
    - argpos
    - freq
    argTypes:
    - struct wpa_state_machine*
    - u8**
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4400
      start: 4373
    functionDepth: 1
    functionLinenumber: 4373
    functionLinenumberEnd: 4400
    functionName: ocv_oci_add
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpa_channel_info
    - wpa_printf
    - wpa_auth_uses_ocv
    - ocv_insert_oci_kde
    linkageType: ''
    returnType: int
    signature: "int ocv_oci_add(struct wpa_state_machine *sm, u8 **argpos,\n\t\t       unsigned
      int freq)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:4410,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth.c:4411,1
    - Dst: os_malloc
      Src: /src/hostap/src/ap/wpa_auth.c:4413,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:4416,1
    - Dst: get_ie
      Src: /src/hostap/src/ap/wpa_auth.c:4417,1
    - Dst: os_memmove
      Src: /src/hostap/src/ap/wpa_auth.c:4421,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:4425,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth.c:4427,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 6
    argNames:
    - name
    - old_buf
    - len
    - eid
    - ie
    - ie_len
    argTypes:
    - char*
    - u8*
    - size_t*
    - u8
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4431
      start: 4404
    functionDepth: 1
    functionLinenumber: 4404
    functionLinenumberEnd: 4431
    functionName: replace_ie
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_hexdump
    - os_malloc
    - os_memmove
    - get_ie
    linkageType: ''
    returnType: u8
    signature: "u8 * replace_ie(const char *name, const u8 *old_buf, size_t *len,
      u8 eid,\n\t\t       const u8 *ie, size_t ie_len)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:4445,1
    - Dst: wpa_select_vlan_wpa_group
      Src: /src/hostap/src/ap/wpa_auth.c:4450,1
    - Dst: wpa_auth_get_seqnum
      Src: /src/hostap/src/ap/wpa_auth.c:4456,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/wpa_auth.c:4457,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:4459,1
    - Dst: wpa_cipher_key_len
      Src: /src/hostap/src/ap/wpa_auth.c:4466,1
    - Dst: wpa_auth_get_seqnum
      Src: /src/hostap/src/ap/wpa_auth.c:4468,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/wpa_auth.c:4469,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:4471,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:4477,1
    - Dst: wpa_auth_get_seqnum
      Src: /src/hostap/src/ap/wpa_auth.c:4489,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/wpa_auth.c:4490,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:4492,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 6
    argNames:
    - a
    - info
    - mgmt_frame_prot
    - beacon_prot
    - rekey
    - vlan_id
    argTypes:
    - struct wpa_authenticator*
    - struct wpa_auth_ml_link_key_info*
    - bool
    - bool
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4493
      start: 4437
    functionDepth: 1
    functionLinenumber: 4437
    functionLinenumberEnd: 4493
    functionName: wpa_auth_ml_get_key_info
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_printf
    - wpa_cipher_key_len
    - wpa_auth_get_seqnum
    - wpa_select_vlan_wpa_group
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void wpa_auth_ml_get_key_info(struct wpa_authenticator *a,\n\t\t\t
      \     struct wpa_auth_ml_link_key_info *info,\n\t\t\t      bool mgmt_frame_prot,
      bool beacon_prot,\n\t\t\t      bool rekey, int vlan_id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_authenticator*::cb::get_ml_key_info
      Src: /src/hostap/src/ap/wpa_auth.c:4503,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - wpa_auth
    - info
    - rekey
    - vlan_id
    argTypes:
    - struct wpa_authenticator*
    - struct wpa_auth_ml_key_info*
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4504
      start: 4496
    functionDepth: 0
    functionLinenumber: 4496
    functionLinenumberEnd: 4504
    functionName: wpa_auth_get_ml_key_info
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - struct wpa_authenticator*::cb::get_ml_key_info
    linkageType: ''
    returnType: void
    signature: "void wpa_auth_get_ml_key_info(struct wpa_authenticator *wpa_auth,\n\t\t\t\t
      \    struct wpa_auth_ml_key_info *info,\n\t\t\t\t     bool rekey, int vlan_id)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BIT
      Src: /src/hostap/src/ap/wpa_auth.c:4520,1
    - Dst: wpa_cipher_key_len
      Src: /src/hostap/src/ap/wpa_auth.c:4541,1
    - Dst: wpa_cipher_key_len
      Src: /src/hostap/src/ap/wpa_auth.c:4549,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:4552,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 2
    argNames:
    - sm
    - req_links
    argTypes:
    - struct wpa_state_machine*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4555
      start: 4507
    functionDepth: 1
    functionLinenumber: 4507
    functionLinenumberEnd: 4555
    functionName: wpa_auth_ml_group_kdes_len
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - BIT
    - wpa_cipher_key_len
    linkageType: ''
    returnType: size_t
    signature: size_t wpa_auth_ml_group_kdes_len(struct wpa_state_machine *sm, u16
      req_links)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/ap/wpa_auth.c:4567,1
    - Dst: BIT
      Src: /src/hostap/src/ap/wpa_auth.c:4580,1
    - Dst: wpa_auth_get_ml_key_info
      Src: /src/hostap/src/ap/wpa_auth.c:4587,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:4598,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/ap/wpa_auth.c:4599,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/ap/wpa_auth.c:4607,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:4612,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:4615,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:4621,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:4634,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/ap/wpa_auth.c:4635,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/ap/wpa_auth.c:4644,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:4652,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:4658,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:4664,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:4678,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/ap/wpa_auth.c:4679,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/ap/wpa_auth.c:4688,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:4696,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:4702,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:4707,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 75
    argCount: 3
    argNames:
    - sm
    - pos
    - req_links
    argTypes:
    - struct wpa_state_machine*
    - u8*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4709
      start: 4558
    functionDepth: 1
    functionLinenumber: 4558
    functionLinenumberEnd: 4709
    functionName: wpa_auth_ml_group_kdes
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpa_hexdump_key
    - os_memcpy
    - wpa_auth_get_ml_key_info
    - RSN_SELECTOR_PUT
    - BIT
    - os_memset
    linkageType: ''
    returnType: u8
    signature: "u8 * wpa_auth_ml_group_kdes(struct wpa_state_machine *sm, u8 *pos,\n\t\t\t
      \   u16 req_links)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_get_link_auth
      Src: /src/hostap/src/ap/wpa_auth.c:4732,1
    - Dst: get_ie
      Src: /src/hostap/src/ap/wpa_auth.c:4739,1
    - Dst: get_ie
      Src: /src/hostap/src/ap/wpa_auth.c:4744,1
    - Dst: rsn_is_snonce_cookie
      Src: /src/hostap/src/ap/wpa_auth.c:4751,1
    - Dst: get_vendor_ie
      Src: /src/hostap/src/ap/wpa_auth.c:4757,1
    - Dst: get_vendor_ie
      Src: /src/hostap/src/ap/wpa_auth.c:4762,1
    - Dst: get_vendor_ie
      Src: /src/hostap/src/ap/wpa_auth.c:4767,1
    - Dst: wpa_auth_ml_group_kdes_len
      Src: /src/hostap/src/ap/wpa_auth.c:4773,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_state_machine*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4777
      start: 4714
    functionDepth: 2
    functionLinenumber: 4714
    functionLinenumberEnd: 4777
    functionName: wpa_auth_ml_kdes_len
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - get_vendor_ie
    - get_ie
    - rsn_is_snonce_cookie
    - wpa_get_link_auth
    - wpa_auth_ml_group_kdes_len
    linkageType: ''
    returnType: size_t
    signature: size_t wpa_auth_ml_kdes_len(struct wpa_state_machine *sm)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:4789,1
    - Dst: wpa_add_kde
      Src: /src/hostap/src/ap/wpa_auth.c:4790,1
    - Dst: wpa_get_link_auth
      Src: /src/hostap/src/ap/wpa_auth.c:4799,1
    - Dst: get_ie
      Src: /src/hostap/src/ap/wpa_auth.c:4803,1
    - Dst: get_ie
      Src: /src/hostap/src/ap/wpa_auth.c:4807,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:4811,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/ap/wpa_auth.c:4821,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:4832,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:4836,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:4841,1
    - Dst: rsn_is_snonce_cookie
      Src: /src/hostap/src/ap/wpa_auth.c:4847,1
    - Dst: get_vendor_ie
      Src: /src/hostap/src/ap/wpa_auth.c:4850,1
    - Dst: get_vendor_ie
      Src: /src/hostap/src/ap/wpa_auth.c:4854,1
    - Dst: get_vendor_ie
      Src: /src/hostap/src/ap/wpa_auth.c:4858,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:4862,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:4872,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/ap/wpa_auth.c:4879,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:4885,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:4890,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:4895,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:4900,1
    - Dst: wpa_auth_ml_group_kdes
      Src: /src/hostap/src/ap/wpa_auth.c:4903,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 69
    argCount: 2
    argNames:
    - sm
    - pos
    argTypes:
    - struct wpa_state_machine*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4907
      start: 4780
    functionDepth: 2
    functionLinenumber: 4780
    functionLinenumberEnd: 4907
    functionName: wpa_auth_ml_kdes
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_add_kde
    - get_vendor_ie
    - get_ie
    - rsn_is_snonce_cookie
    - RSN_SELECTOR_PUT
    - wpa_get_link_auth
    - wpa_auth_ml_group_kdes
    linkageType: ''
    returnType: u8
    signature: u8 * wpa_auth_ml_kdes(struct wpa_state_machine *sm, u8 *pos)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/wpa_auth.c:4919,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:4923,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/ap/wpa_auth.c:4925,1
    - Dst: os_malloc
      Src: /src/hostap/src/ap/wpa_auth.c:4927,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/ap/wpa_auth.c:4937,1
    - Dst: os_get_time
      Src: /src/hostap/src/ap/wpa_auth.c:4944,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/src/ap/wpa_auth.c:4946,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:4947,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/wpa_auth.c:4947,1
    - Dst: os_random
      Src: /src/hostap/src/ap/wpa_auth.c:4952,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/wpa_auth.c:4954,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/src/ap/wpa_auth.c:4956,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:4964,1
    - Dst: aes_siv_encrypt
      Src: /src/hostap/src/ap/wpa_auth.c:4971,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:4974,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:4984,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/ap/wpa_auth.c:4986,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/ap/wpa_auth.c:4993,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth.c:4997,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 58
    argCount: 3
    argNames:
    - sm
    - pos
    - end
    argTypes:
    - struct wpa_state_machine*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4999
      start: 4911
    functionDepth: 3
    functionLinenumber: 4911
    functionLinenumberEnd: 4999
    functionName: add_sae_pw_ids
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_hexdump_key
    - wpabuf_len
    - os_memset
    - os_malloc
    - os_random
    - wpabuf_head
    - WPA_PUT_BE32
    - RSN_SELECTOR_PUT
    - os_get_time
    - os_free
    - aes_siv_encrypt
    - wpa_hexdump_buf
    linkageType: ''
    returnType: u8
    signature: u8 * add_sae_pw_ids(struct wpa_state_machine *sm, u8 *pos, u8 *end)
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY_MA
      Src: /src/hostap/src/ap/wpa_auth.c:5022,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/wpa_auth.c:5039,1
    - Dst: wpa_auth_get_seqnum
      Src: /src/hostap/src/ap/wpa_auth.c:5040,1
    - Dst: rsn_is_snonce_cookie
      Src: /src/hostap/src/ap/wpa_auth.c:5055,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:5066,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth.c:5068,1
    - Dst: os_memdup
      Src: /src/hostap/src/ap/wpa_auth.c:5070,1
    - Dst: get_vendor_ie
      Src: /src/hostap/src/ap/wpa_auth.c:5076,1
    - Dst: os_memmove
      Src: /src/hostap/src/ap/wpa_auth.c:5079,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth.c:5084,1
    - Dst: replace_ie
      Src: /src/hostap/src/ap/wpa_auth.c:5089,1
    - Dst: replace_ie
      Src: /src/hostap/src/ap/wpa_auth.c:5098,1
    - Dst: wpa_auth_logger
      Src: /src/hostap/src/ap/wpa_auth.c:5107,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:5107,1
    - Dst: wpa_auth_set_key
      Src: /src/hostap/src/ap/wpa_auth.c:5111,1
    - Dst: wpa_cipher_to_alg
      Src: /src/hostap/src/ap/wpa_auth.c:5112,1
    - Dst: wpa_cipher_key_len
      Src: /src/hostap/src/ap/wpa_auth.c:5115,1
    - Dst: wpa_sta_disconnect
      Src: /src/hostap/src/ap/wpa_auth.c:5117,1
    - Dst: wpa_auth_set_key
      Src: /src/hostap/src/ap/wpa_auth.c:5123,1
    - Dst: wpa_cipher_to_alg
      Src: /src/hostap/src/ap/wpa_auth.c:5124,1
    - Dst: wpa_cipher_key_len
      Src: /src/hostap/src/ap/wpa_auth.c:5126,1
    - Dst: ieee802_11_rsnx_capab
      Src: /src/hostap/src/ap/wpa_auth.c:5138,1
    - Dst: wpa_auth_set_ltf_keyseed
      Src: /src/hostap/src/ap/wpa_auth.c:5140,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:5143,1
    - Dst: wpa_sta_disconnect
      Src: /src/hostap/src/ap/wpa_auth.c:5145,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/ap/wpa_auth.c:5160,1
    - Dst: wpa_auth_logger
      Src: /src/hostap/src/ap/wpa_auth.c:5183,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:5183,1
    - Dst: ieee80211w_kde_len
      Src: /src/hostap/src/ap/wpa_auth.c:5190,1
    - Dst: ocv_oci_len
      Src: /src/hostap/src/ap/wpa_auth.c:5190,1
    - Dst: wpa_key_mgmt_ft
      Src: /src/hostap/src/ap/wpa_auth.c:5198,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/ap/wpa_auth.c:5204,1
    - Dst: wpa_auth_ml_kdes_len
      Src: /src/hostap/src/ap/wpa_auth.c:5216,1
    - Dst: wpa_key_mgmt_sae
      Src: /src/hostap/src/ap/wpa_auth.c:5222,1
    - Dst: ieee802_11_rsnx_capab
      Src: /src/hostap/src/ap/wpa_auth.c:5225,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/wpa_auth.c:5234,1
    - Dst: os_malloc
      Src: /src/hostap/src/ap/wpa_auth.c:5237,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:5243,1
    - Dst: wpa_key_mgmt_ft
      Src: /src/hostap/src/ap/wpa_auth.c:5247,1
    - Dst: wpa_insert_pmkid
      Src: /src/hostap/src/ap/wpa_auth.c:5252,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:5254,1
    - Dst: wpa_add_kde
      Src: /src/hostap/src/ap/wpa_auth.c:5266,1
    - Dst: wpa_add_kde
      Src: /src/hostap/src/ap/wpa_auth.c:5271,1
    - Dst: ieee80211w_kde_add
      Src: /src/hostap/src/ap/wpa_auth.c:5274,1
    - Dst: ocv_oci_add
      Src: /src/hostap/src/ap/wpa_auth.c:5275,1
    - Dst: wpa_key_mgmt_ft
      Src: /src/hostap/src/ap/wpa_auth.c:5279,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:5284,1
    - Dst: wpa_write_ftie
      Src: /src/hostap/src/ap/wpa_auth.c:5288,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:5297,1
    - Dst: WPA_PUT_LE32
      Src: /src/hostap/src/ap/wpa_auth.c:5307,1
    - Dst: WPA_PUT_LE32
      Src: /src/hostap/src/ap/wpa_auth.c:5314,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/ap/wpa_auth.c:5319,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:5321,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:5322,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:5323,1
    - Dst: wpa_add_kde
      Src: /src/hostap/src/ap/wpa_auth.c:5324,1
    - Dst: wpa_add_kde
      Src: /src/hostap/src/ap/wpa_auth.c:5330,1
    - Dst: wpa_add_kde
      Src: /src/hostap/src/ap/wpa_auth.c:5344,1
    - Dst: wpa_auth_ml_kdes
      Src: /src/hostap/src/ap/wpa_auth.c:5349,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:5351,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:5358,1
    - Dst: add_sae_pw_ids
      Src: /src/hostap/src/ap/wpa_auth.c:5366,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:5368,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:5381,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/wpa_auth.c:5381,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/wpa_auth.c:5382,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/wpa_auth.c:5383,1
    - Dst: wpa_send_eapol
      Src: /src/hostap/src/ap/wpa_auth.c:5390,1
    - Dst: wpa_mic_len
      Src: /src/hostap/src/ap/wpa_auth.c:5392,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/ap/wpa_auth.c:5398,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth.c:5399,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth.c:5400,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth.c:5401,1
    CyclomaticComplexity: 77
    EdgeCount: 77
    ICount: 221
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5402
      start: 5003
    functionDepth: 5
    functionLinenumber: 5003
    functionLinenumberEnd: 5402
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpa_hexdump
    - wpa_auth_ml_kdes
    - get_vendor_ie
    - wpa_auth_logger
    - wpa_key_mgmt_sae
    - wpa_printf
    - wpa_auth_get_spa
    - os_memdup
    - os_memmove
    - ieee80211w_kde_len
    - wpa_key_mgmt_ft
    - ieee80211w_kde_add
    - rsn_is_snonce_cookie
    - WPA_PUT_LE32
    - wpa_send_eapol
    - wpa_auth_set_key
    - os_free
    - SM_ENTRY_MA
    - wpa_insert_pmkid
    - wpabuf_len
    - os_malloc
    - wpabuf_head
    - replace_ie
    - ieee802_11_rsnx_capab
    - wpa_auth_get_seqnum
    - wpa_auth_ml_kdes_len
    - add_sae_pw_ids
    - os_memset
    - wpa_write_ftie
    - wpa_auth_set_ltf_keyseed
    - random_get_bytes
    - os_memcpy
    - wpa_add_kde
    - wpa_cipher_key_len
    - bin_clear_free
    - ocv_oci_len
    - wpa_sta_disconnect
    - ocv_oci_add
    - WPA_GET_BE32
    - wpa_mic_len
    - wpa_cipher_to_alg
    linkageType: ''
    returnType: void
    signature: void SM_STATE(WPA_PTK, PTKINITNEGOTIATING)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_mic_len
      Src: /src/hostap/src/ap/wpa_auth.c:5422,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/ap/wpa_auth.c:5428,1
    - Dst: wpa_parse_kde_ies
      Src: /src/hostap/src/ap/wpa_auth.c:5433,1
    - Dst: wpa_auth_vlogger
      Src: /src/hostap/src/ap/wpa_auth.c:5434,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:5434,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/wpa_auth.c:5442,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:5443,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:5448,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth.c:5449,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_state_machine*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5453
      start: 5405
    functionDepth: 2
    functionLinenumber: 5405
    functionLinenumberEnd: 5453
    functionName: wpa_auth_validate_ml_kdes_m4
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - WPA_GET_BE16
    - wpa_printf
    - wpa_auth_get_spa
    - ether_addr_equal
    - wpa_parse_kde_ies
    - MAC2STR
    - wpa_auth_vlogger
    - wpa_mic_len
    linkageType: ''
    returnType: int
    signature: int wpa_auth_validate_ml_kdes_m4(struct wpa_state_machine *sm)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY_MA
      Src: /src/hostap/src/ap/wpa_auth.c:5458,1
    - Dst: wpa_auth_validate_ml_kdes_m4
      Src: /src/hostap/src/ap/wpa_auth.c:5461,1
    - Dst: wpa_sta_disconnect
      Src: /src/hostap/src/ap/wpa_auth.c:5462,1
    - Dst: wpa_cipher_to_alg
      Src: /src/hostap/src/ap/wpa_auth.c:5468,1
    - Dst: wpa_cipher_key_len
      Src: /src/hostap/src/ap/wpa_auth.c:5469,1
    - Dst: wpa_auth_set_key
      Src: /src/hostap/src/ap/wpa_auth.c:5473,1
    - Dst: wpa_auth_set_key
      Src: /src/hostap/src/ap/wpa_auth.c:5477,1
    - Dst: wpa_sta_disconnect
      Src: /src/hostap/src/ap/wpa_auth.c:5481,1
    - Dst: ieee802_11_rsnx_capab
      Src: /src/hostap/src/ap/wpa_auth.c:5488,1
    - Dst: wpa_auth_set_ltf_keyseed
      Src: /src/hostap/src/ap/wpa_auth.c:5490,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:5493,1
    - Dst: wpa_sta_disconnect
      Src: /src/hostap/src/ap/wpa_auth.c:5495,1
    - Dst: wpa_auth_set_ptk_rekey_timer
      Src: /src/hostap/src/ap/wpa_auth.c:5504,1
    - Dst: wpa_auth_store_ptksa
      Src: /src/hostap/src/ap/wpa_auth.c:5505,1
    - Dst: wpa_key_mgmt_wpa_psk
      Src: /src/hostap/src/ap/wpa_auth.c:5508,1
    - Dst: wpa_auth_set_eapol
      Src: /src/hostap/src/ap/wpa_auth.c:5511,1
    - Dst: wpa_auth_set_eapol
      Src: /src/hostap/src/ap/wpa_auth.c:5519,1
    - Dst: wpa_auth_set_eapol
      Src: /src/hostap/src/ap/wpa_auth.c:5523,1
    - Dst: wpa_auth_set_eapol
      Src: /src/hostap/src/ap/wpa_auth.c:5526,1
    - Dst: wpa_auth_set_eapol
      Src: /src/hostap/src/ap/wpa_auth.c:5528,1
    - Dst: wpa_auth_vlogger
      Src: /src/hostap/src/ap/wpa_auth.c:5533,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:5533,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/wpa_auth.c:5536,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth.c:5537,1
    - Dst: wpa_ft_push_pmk_r1
      Src: /src/hostap/src/ap/wpa_auth.c:5540,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:5540,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5544
      start: 5456
    functionDepth: 8
    functionLinenumber: 5456
    functionLinenumberEnd: 5544
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpa_auth_set_eapol
    - SM_ENTRY_MA
    - wpa_auth_set_ltf_keyseed
    - wpa_auth_validate_ml_kdes_m4
    - wpa_printf
    - wpa_cipher_key_len
    - wpa_msg
    - wpa_auth_get_spa
    - wpa_ft_push_pmk_r1
    - MAC2STR
    - wpa_key_mgmt_wpa_psk
    - ieee802_11_rsnx_capab
    - wpa_auth_set_ptk_rekey_timer
    - wpa_auth_vlogger
    - wpa_auth_set_key
    - wpa_sta_disconnect
    - wpa_auth_store_ptksa
    - wpa_cipher_to_alg
    linkageType: ''
    returnType: void
    signature: void SM_STATE(WPA_PTK, PTKINITDONE)
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTER
      Src: /src/hostap/src/ap/wpa_auth.c:5553,1
    - Dst: wpa_auth_logger
      Src: /src/hostap/src/ap/wpa_auth.c:5556,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:5556,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/ap/wpa_auth.c:5558,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/ap/wpa_auth.c:5561,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/ap/wpa_auth.c:5563,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/ap/wpa_auth.c:5565,1
    - Dst: wpa_auth_sm_ptk_update
      Src: /src/hostap/src/ap/wpa_auth.c:5567,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/ap/wpa_auth.c:5568,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/ap/wpa_auth.c:5570,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/ap/wpa_auth.c:5575,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/ap/wpa_auth.c:5578,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/ap/wpa_auth.c:5581,1
    - Dst: wpa_key_mgmt_wpa_ieee8021x
      Src: /src/hostap/src/ap/wpa_auth.c:5584,1
    - Dst: wpa_auth_get_eapol
      Src: /src/hostap/src/ap/wpa_auth.c:5585,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/ap/wpa_auth.c:5587,1
    - Dst: wpa_key_mgmt_wpa_psk
      Src: /src/hostap/src/ap/wpa_auth.c:5588,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/ap/wpa_auth.c:5591,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/ap/wpa_auth.c:5593,1
    - Dst: wpa_auth_get_eapol
      Src: /src/hostap/src/ap/wpa_auth.c:5596,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/ap/wpa_auth.c:5598,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/ap/wpa_auth.c:5601,1
    - Dst: wpa_auth_logger
      Src: /src/hostap/src/ap/wpa_auth.c:5605,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:5605,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/ap/wpa_auth.c:5608,1
    - Dst: wpa_auth_get_psk
      Src: /src/hostap/src/ap/wpa_auth.c:5612,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/ap/wpa_auth.c:5614,1
    - Dst: wpa_auth_uses_sae
      Src: /src/hostap/src/ap/wpa_auth.c:5616,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/ap/wpa_auth.c:5617,1
    - Dst: wpa_key_mgmt_wpa_psk_no_sae
      Src: /src/hostap/src/ap/wpa_auth.c:5619,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:5621,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/ap/wpa_auth.c:5623,1
    - Dst: wpa_auth_logger
      Src: /src/hostap/src/ap/wpa_auth.c:5625,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:5625,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/ap/wpa_auth.c:5629,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/ap/wpa_auth.c:5635,1
    - Dst: wpa_auth_vlogger
      Src: /src/hostap/src/ap/wpa_auth.c:5638,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:5638,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/ap/wpa_auth.c:5644,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/ap/wpa_auth.c:5646,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/ap/wpa_auth.c:5650,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/ap/wpa_auth.c:5653,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/ap/wpa_auth.c:5655,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/ap/wpa_auth.c:5658,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/ap/wpa_auth.c:5662,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/ap/wpa_auth.c:5665,1
    - Dst: wpa_auth_vlogger
      Src: /src/hostap/src/ap/wpa_auth.c:5671,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:5671,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/ap/wpa_auth.c:5677,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/ap/wpa_auth.c:5679,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 106
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5684
      start: 5547
    functionDepth: 2
    functionLinenumber: 5547
    functionLinenumberEnd: 5684
    functionName: SM_STEP
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_auth_uses_sae
    - wpa_auth_get_spa
    - wpa_key_mgmt_wpa_psk_no_sae
    - wpa_auth_get_eapol
    - wpa_auth_sm_ptk_update
    - wpa_auth_get_psk
    - SM_ENTER
    - wpa_key_mgmt_wpa_psk
    - wpa_auth_vlogger
    - wpa_key_mgmt_wpa_ieee8021x
    - wpa_auth_logger
    linkageType: ''
    returnType: void
    signature: void SM_STEP(WPA_PTK)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY_MA
      Src: /src/hostap/src/ap/wpa_auth.c:5689,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5696
      start: 5687
    functionDepth: 1
    functionLinenumber: 5687
    functionLinenumberEnd: 5696
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - SM_ENTRY_MA
    linkageType: ''
    returnType: void
    signature: void SM_STATE(WPA_PTK_GROUP, IDLE)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY_MA
      Src: /src/hostap/src/ap/wpa_auth.c:5714,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/wpa_auth.c:5731,1
    - Dst: wpa_auth_get_seqnum
      Src: /src/hostap/src/ap/wpa_auth.c:5733,1
    - Dst: wpa_auth_logger
      Src: /src/hostap/src/ap/wpa_auth.c:5735,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:5735,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/ap/wpa_auth.c:5744,1
    - Dst: ieee80211w_kde_len
      Src: /src/hostap/src/ap/wpa_auth.c:5751,1
    - Dst: ocv_oci_len
      Src: /src/hostap/src/ap/wpa_auth.c:5751,1
    - Dst: os_malloc
      Src: /src/hostap/src/ap/wpa_auth.c:5752,1
    - Dst: wpa_add_kde
      Src: /src/hostap/src/ap/wpa_auth.c:5759,1
    - Dst: ieee80211w_kde_add
      Src: /src/hostap/src/ap/wpa_auth.c:5761,1
    - Dst: ocv_oci_add
      Src: /src/hostap/src/ap/wpa_auth.c:5762,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth.c:5764,1
    - Dst: wpa_auth_ml_group_kdes_len
      Src: /src/hostap/src/ap/wpa_auth.c:5770,1
    - Dst: os_malloc
      Src: /src/hostap/src/ap/wpa_auth.c:5772,1
    - Dst: wpa_auth_ml_group_kdes
      Src: /src/hostap/src/ap/wpa_auth.c:5777,1
    - Dst: wpa_send_eapol
      Src: /src/hostap/src/ap/wpa_auth.c:5786,1
    - Dst: wpa_mic_len
      Src: /src/hostap/src/ap/wpa_auth.c:5788,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/ap/wpa_auth.c:5794,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5795
      start: 5699
    functionDepth: 5
    functionLinenumber: 5699
    functionLinenumberEnd: 5795
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - SM_ENTRY_MA
    - random_get_bytes
    - wpa_add_kde
    - wpa_mic_len
    - wpa_auth_get_spa
    - ieee80211w_kde_len
    - os_malloc
    - ieee80211w_kde_add
    - bin_clear_free
    - ocv_oci_len
    - wpa_auth_get_seqnum
    - wpa_auth_ml_group_kdes
    - wpa_auth_logger
    - os_free
    - wpa_send_eapol
    - ocv_oci_add
    - wpa_auth_ml_group_kdes_len
    - os_memset
    linkageType: ''
    returnType: void
    signature: void SM_STATE(WPA_PTK_GROUP, REKEYNEGOTIATING)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY_MA
      Src: /src/hostap/src/ap/wpa_auth.c:5810,1
    - Dst: wpa_mic_len
      Src: /src/hostap/src/ap/wpa_auth.c:5814,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/ap/wpa_auth.c:5824,1
    - Dst: wpa_parse_kde_ies
      Src: /src/hostap/src/ap/wpa_auth.c:5829,1
    - Dst: wpa_auth_vlogger
      Src: /src/hostap/src/ap/wpa_auth.c:5830,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:5830,1
    - Dst: wpa_auth_uses_ocv
      Src: /src/hostap/src/ap/wpa_auth.c:5835,1
    - Dst: wpa_channel_info
      Src: /src/hostap/src/ap/wpa_auth.c:5840,1
    - Dst: wpa_auth_logger
      Src: /src/hostap/src/ap/wpa_auth.c:5841,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:5841,1
    - Dst: get_sta_tx_parameters
      Src: /src/hostap/src/ap/wpa_auth.c:5847,1
    - Dst: channel_width_to_int
      Src: /src/hostap/src/ap/wpa_auth.c:5848,1
    - Dst: ocv_verify_tx_params
      Src: /src/hostap/src/ap/wpa_auth.c:5853,1
    - Dst: wpa_auth_vlogger
      Src: /src/hostap/src/ap/wpa_auth.c:5856,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:5856,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/wpa_auth.c:5860,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth.c:5863,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:5863,1
    - Dst: wpa_gkeydone_sta
      Src: /src/hostap/src/ap/wpa_auth.c:5871,1
    - Dst: wpa_auth_vlogger
      Src: /src/hostap/src/ap/wpa_auth.c:5874,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:5874,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5878
      start: 5798
    functionDepth: 2
    functionLinenumber: 5798
    functionLinenumberEnd: 5878
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - WPA_GET_BE16
    - get_sta_tx_parameters
    - wpa_gkeydone_sta
    - wpa_msg
    - wpa_auth_get_spa
    - wpa_parse_kde_ies
    - MAC2STR
    - wpa_auth_vlogger
    - ocv_verify_tx_params
    - wpa_auth_logger
    - wpa_channel_info
    - channel_width_to_int
    - wpa_auth_uses_ocv
    - wpa_mic_len
    - SM_ENTRY_MA
    linkageType: ''
    returnType: void
    signature: void SM_STATE(WPA_PTK_GROUP, REKEYESTABLISHED)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY_MA
      Src: /src/hostap/src/ap/wpa_auth.c:5883,1
    - Dst: wpa_gkeydone_sta
      Src: /src/hostap/src/ap/wpa_auth.c:5885,1
    - Dst: wpa_auth_vlogger
      Src: /src/hostap/src/ap/wpa_auth.c:5888,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:5888,1
    - Dst: wpa_auth_vlogger
      Src: /src/hostap/src/ap/wpa_auth.c:5896,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:5896,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5900
      start: 5881
    functionDepth: 2
    functionLinenumber: 5881
    functionLinenumberEnd: 5900
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpa_auth_get_spa
    - wpa_auth_vlogger
    - wpa_gkeydone_sta
    - SM_ENTRY_MA
    linkageType: ''
    returnType: void
    signature: void SM_STATE(WPA_PTK_GROUP, KEYERROR)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTER
      Src: /src/hostap/src/ap/wpa_auth.c:5906,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/ap/wpa_auth.c:5912,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/ap/wpa_auth.c:5917,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/ap/wpa_auth.c:5922,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/ap/wpa_auth.c:5924,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/ap/wpa_auth.c:5927,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/ap/wpa_auth.c:5930,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5933
      start: 5903
    functionDepth: 1
    functionLinenumber: 5903
    functionLinenumberEnd: 5933
    functionName: SM_STEP
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - SM_ENTER
    linkageType: ''
    returnType: void
    signature: void SM_STEP(WPA_PTK_GROUP)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:5943,1
    - Dst: inc_byte_array
      Src: /src/hostap/src/ap/wpa_auth.c:5944,1
    - Dst: wpa_gmk_to_gtk
      Src: /src/hostap/src/ap/wpa_auth.c:5945,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/ap/wpa_auth.c:5949,1
    - Dst: wpa_auth_pmf_enabled
      Src: /src/hostap/src/ap/wpa_auth.c:5952,1
    - Dst: wpa_cipher_key_len
      Src: /src/hostap/src/ap/wpa_auth.c:5953,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:5954,1
    - Dst: inc_byte_array
      Src: /src/hostap/src/ap/wpa_auth.c:5955,1
    - Dst: wpa_gmk_to_gtk
      Src: /src/hostap/src/ap/wpa_auth.c:5956,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/ap/wpa_auth.c:5960,1
    - Dst: wpa_auth_pmf_enabled
      Src: /src/hostap/src/ap/wpa_auth.c:5970,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:5982,1
    - Dst: wpa_cipher_key_len
      Src: /src/hostap/src/ap/wpa_auth.c:5985,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:5986,1
    - Dst: inc_byte_array
      Src: /src/hostap/src/ap/wpa_auth.c:5987,1
    - Dst: wpa_gmk_to_gtk
      Src: /src/hostap/src/ap/wpa_auth.c:5988,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/ap/wpa_auth.c:5993,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 2
    argNames:
    - wpa_auth
    - group
    argTypes:
    - struct wpa_authenticator*
    - struct wpa_group*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5997
      start: 5936
    functionDepth: 3
    functionLinenumber: 5936
    functionLinenumberEnd: 5997
    functionName: wpa_gtk_update
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpa_gmk_to_gtk
    - os_memcpy
    - wpa_hexdump_key
    - wpa_printf
    - wpa_cipher_key_len
    - inc_byte_array
    - wpa_auth_pmf_enabled
    linkageType: ''
    returnType: int
    signature: "int wpa_gtk_update(struct wpa_authenticator *wpa_auth,\n\t\t\t  struct
      wpa_group *group)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:6003,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/wpa_auth.c:6010,1
    - Dst: wpa_gtk_update
      Src: /src/hostap/src/ap/wpa_auth.c:6018,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - wpa_auth
    - group
    argTypes:
    - struct wpa_authenticator*
    - struct wpa_group*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6019
      start: 6000
    functionDepth: 4
    functionLinenumber: 6000
    functionLinenumberEnd: 6019
    functionName: wpa_group_gtk_init
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpa_gtk_update
    - wpa_printf
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void wpa_group_gtk_init(struct wpa_authenticator *wpa_auth,\n\t\t\t
      \      struct wpa_group *group)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_select_vlan_wpa_group
      Src: /src/hostap/src/ap/wpa_auth.c:6036,1
    - Dst: wpa_auth_logger
      Src: /src/hostap/src/ap/wpa_auth.c:6061,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:6061,1
    - Dst: wpa_auth_logger
      Src: /src/hostap/src/ap/wpa_auth.c:6073,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:6073,1
    - Dst: wpa_select_vlan_wpa_group
      Src: /src/hostap/src/ap/wpa_auth.c:6088,1
    - Dst: wpa_sm_step
      Src: /src/hostap/src/ap/wpa_auth.c:6096,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 2
    argNames:
    - sm
    - ctx
    argTypes:
    - struct wpa_state_machine*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6098
      start: 6022
    functionDepth: 1
    functionLinenumber: 6022
    functionLinenumberEnd: 6098
    functionName: wpa_group_update_sta
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpa_auth_get_spa
    - wpa_sm_step
    - wpa_select_vlan_wpa_group
    - wpa_auth_logger
    linkageType: ''
    returnType: int
    signature: int wpa_group_update_sta(struct wpa_state_machine *sm, void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_select_vlan_wpa_group
      Src: /src/hostap/src/ap/wpa_auth.c:6088,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6091
      start: 6084
    functionDepth: 1
    functionLinenumber: 6084
    functionLinenumberEnd: 6091
    functionName: for_each_sm_auth
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 1
    functionsReached:
    - wpa_select_vlan_wpa_group
    linkageType: ''
    returnType: void
    signature: void for_each_sm_auth(sm, link_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_group_update_sta
      Src: /src/hostap/src/ap/wpa_auth.c:6108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_state_machine*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6109
      start: 6103
    functionDepth: 2
    functionLinenumber: 6103
    functionLinenumberEnd: 6109
    functionName: wpa_wnmsleep_rekey_gtk
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpa_group_update_sta
    linkageType: ''
    returnType: void
    signature: void wpa_wnmsleep_rekey_gtk(struct wpa_state_machine *sm)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - sm
    - flag
    argTypes:
    - struct wpa_state_machine*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6116
      start: 6112
    functionDepth: 0
    functionLinenumber: 6112
    functionLinenumberEnd: 6116
    functionName: wpa_set_wnmsleep
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wpa_set_wnmsleep(struct wpa_state_machine *sm, int flag)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/ap/wpa_auth.c:6133,1
    - Dst: wpa_auth_get_seqnum
      Src: /src/hostap/src/ap/wpa_auth.c:6136,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:6139,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/ap/wpa_auth.c:6145,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:6150,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/ap/wpa_auth.c:6152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - sm
    - pos
    argTypes:
    - struct wpa_state_machine*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6156
      start: 6119
    functionDepth: 1
    functionLinenumber: 6119
    functionLinenumberEnd: 6156
    functionName: wpa_wnmsleep_gtk_subelem
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_printf
    - random_get_bytes
    - wpa_hexdump_key
    - wpa_auth_get_seqnum
    - WPA_PUT_LE16
    linkageType: ''
    returnType: int
    signature: int wpa_wnmsleep_gtk_subelem(struct wpa_state_machine *sm, u8 *pos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cipher_key_len
      Src: /src/hostap/src/ap/wpa_auth.c:6164,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/ap/wpa_auth.c:6172,1
    - Dst: wpa_auth_get_seqnum
      Src: /src/hostap/src/ap/wpa_auth.c:6174,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:6178,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/ap/wpa_auth.c:6184,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:6189,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/ap/wpa_auth.c:6191,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - sm
    - pos
    argTypes:
    - struct wpa_state_machine*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6195
      start: 6159
    functionDepth: 1
    functionLinenumber: 6159
    functionLinenumberEnd: 6195
    functionName: wpa_wnmsleep_igtk_subelem
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - random_get_bytes
    - wpa_printf
    - wpa_cipher_key_len
    - wpa_hexdump_key
    - wpa_auth_get_seqnum
    - WPA_PUT_LE16
    linkageType: ''
    returnType: int
    signature: int wpa_wnmsleep_igtk_subelem(struct wpa_state_machine *sm, u8 *pos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cipher_key_len
      Src: /src/hostap/src/ap/wpa_auth.c:6203,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/ap/wpa_auth.c:6211,1
    - Dst: wpa_auth_get_seqnum
      Src: /src/hostap/src/ap/wpa_auth.c:6213,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:6217,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:6220,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/ap/wpa_auth.c:6222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - sm
    - pos
    argTypes:
    - struct wpa_state_machine*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6226
      start: 6198
    functionDepth: 1
    functionLinenumber: 6198
    functionLinenumberEnd: 6226
    functionName: wpa_wnmsleep_bigtk_subelem
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_printf
    - wpa_hexdump_key
    - wpa_cipher_key_len
    - wpa_auth_get_seqnum
    - WPA_PUT_LE16
    linkageType: ''
    returnType: int
    signature: int wpa_wnmsleep_bigtk_subelem(struct wpa_state_machine *sm, u8 *pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_gtk_update
      Src: /src/hostap/src/ap/wpa_auth.c:6248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - wpa_auth
    - group
    argTypes:
    - struct wpa_authenticator*
    - struct wpa_group*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6249
      start: 6231
    functionDepth: 4
    functionLinenumber: 6231
    functionLinenumberEnd: 6249
    functionName: wpa_group_update_gtk
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 2
    functionsReached:
    - wpa_gtk_update
    linkageType: ''
    returnType: int
    signature: "int wpa_group_update_gtk(struct wpa_authenticator *wpa_auth,\n\t\t\t\tstruct
      wpa_group *group)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:6255,1
    - Dst: wpa_group_update_gtk
      Src: /src/hostap/src/ap/wpa_auth.c:6267,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:6270,1
    - Dst: wpa_auth_for_each_sta
      Src: /src/hostap/src/ap/wpa_auth.c:6279,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:6280,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - wpa_auth
    - group
    argTypes:
    - struct wpa_authenticator*
    - struct wpa_group*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6282
      start: 6252
    functionDepth: 5
    functionLinenumber: 6252
    functionLinenumberEnd: 6282
    functionName: wpa_group_setkeys
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpa_auth_for_each_sta
    - wpa_printf
    - wpa_group_update_gtk
    linkageType: ''
    returnType: void
    signature: "void wpa_group_setkeys(struct wpa_authenticator *wpa_auth,\n\t\t\t
      \     struct wpa_group *group)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_auth_set_key
      Src: /src/hostap/src/ap/wpa_auth.c:6293,1
    - Dst: wpa_cipher_to_alg
      Src: /src/hostap/src/ap/wpa_auth.c:6294,1
    - Dst: wpa_cipher_to_alg
      Src: /src/hostap/src/ap/wpa_auth.c:6300,1
    - Dst: wpa_cipher_key_len
      Src: /src/hostap/src/ap/wpa_auth.c:6301,1
    - Dst: wpa_auth_pmf_enabled
      Src: /src/hostap/src/ap/wpa_auth.c:6303,1
    - Dst: wpa_auth_set_key
      Src: /src/hostap/src/ap/wpa_auth.c:6304,1
    - Dst: wpa_auth_pmf_enabled
      Src: /src/hostap/src/ap/wpa_auth.c:6318,1
    - Dst: wpa_auth_set_key
      Src: /src/hostap/src/ap/wpa_auth.c:6331,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 21
    argCount: 2
    argNames:
    - wpa_auth
    - group
    argTypes:
    - struct wpa_authenticator*
    - struct wpa_group*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6340
      start: 6285
    functionDepth: 1
    functionLinenumber: 6285
    functionLinenumberEnd: 6340
    functionName: wpa_group_config_group_keys
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 1
    functionsReached:
    - wpa_auth_set_key
    - wpa_auth_pmf_enabled
    - wpa_cipher_key_len
    - wpa_cipher_to_alg
    linkageType: ''
    returnType: int
    signature: "int wpa_group_config_group_keys(struct wpa_authenticator *wpa_auth,\n\t\t\t\t
      \      struct wpa_group *group)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:6346,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth.c:6348,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:6348,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - sm
    - ctx
    argTypes:
    - struct wpa_state_machine*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6353
      start: 6343
    functionDepth: 1
    functionLinenumber: 6343
    functionLinenumberEnd: 6353
    functionName: wpa_group_disconnect_cb
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpa_auth_get_spa
    - MAC2STR
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int wpa_group_disconnect_cb(struct wpa_state_machine *sm, void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:6359,1
    - Dst: wpa_auth_for_each_sta
      Src: /src/hostap/src/ap/wpa_auth.c:6363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - wpa_auth
    - group
    argTypes:
    - struct wpa_authenticator*
    - struct wpa_group*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6364
      start: 6356
    functionDepth: 1
    functionLinenumber: 6356
    functionLinenumberEnd: 6364
    functionName: wpa_group_fatal_failure
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpa_auth_for_each_sta
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: "void wpa_group_fatal_failure(struct wpa_authenticator *wpa_auth,\n\t\t\t\t
      \   struct wpa_group *group)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:6370,1
    - Dst: wpa_group_config_group_keys
      Src: /src/hostap/src/ap/wpa_auth.c:6376,1
    - Dst: wpa_group_fatal_failure
      Src: /src/hostap/src/ap/wpa_auth.c:6377,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - wpa_auth
    - group
    argTypes:
    - struct wpa_authenticator*
    - struct wpa_group*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6382
      start: 6367
    functionDepth: 2
    functionLinenumber: 6367
    functionLinenumberEnd: 6382
    functionName: wpa_group_setkeysdone
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpa_group_config_group_keys
    - wpa_printf
    - wpa_group_fatal_failure
    linkageType: ''
    returnType: int
    signature: "int wpa_group_setkeysdone(struct wpa_authenticator *wpa_auth,\n\t\t\t\t
      struct wpa_group *group)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_group_gtk_init
      Src: /src/hostap/src/ap/wpa_auth.c:6389,1
    - Dst: wpa_group_setkeysdone
      Src: /src/hostap/src/ap/wpa_auth.c:6394,1
    - Dst: wpa_group_setkeys
      Src: /src/hostap/src/ap/wpa_auth.c:6397,1
    - Dst: wpa_group_setkeysdone
      Src: /src/hostap/src/ap/wpa_auth.c:6400,1
    - Dst: wpa_group_setkeys
      Src: /src/hostap/src/ap/wpa_auth.c:6402,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - wpa_auth
    - group
    argTypes:
    - struct wpa_authenticator*
    - struct wpa_group*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6404
      start: 6385
    functionDepth: 6
    functionLinenumber: 6385
    functionLinenumberEnd: 6404
    functionName: wpa_group_sm_step
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 4
    functionsReached:
    - wpa_group_setkeys
    - wpa_group_gtk_init
    - wpa_group_setkeysdone
    linkageType: ''
    returnType: void
    signature: "void wpa_group_sm_step(struct wpa_authenticator *wpa_auth,\n\t\t\t
      \     struct wpa_group *group)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: for_each_sm_auth
      Src: /src/hostap/src/ap/wpa_auth.c:6417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_state_machine*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6420
      start: 6407
    functionDepth: 0
    functionLinenumber: 6407
    functionLinenumberEnd: 6420
    functionName: wpa_clear_changed
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - for_each_sm_auth
    linkageType: ''
    returnType: void
    signature: void wpa_clear_changed(struct wpa_state_machine *sm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_group_sm_step
      Src: /src/hostap/src/ap/wpa_auth.c:6431,1
    - Dst: wpa_select_vlan_wpa_group
      Src: /src/hostap/src/ap/wpa_auth.c:6438,1
    - Dst: wpa_group_sm_step
      Src: /src/hostap/src/ap/wpa_auth.c:6440,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_state_machine*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6443
      start: 6423
    functionDepth: 7
    functionLinenumber: 6423
    functionLinenumberEnd: 6443
    functionName: wpa_group_sm_step_links
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpa_group_sm_step
    - wpa_select_vlan_wpa_group
    linkageType: ''
    returnType: void
    signature: void wpa_group_sm_step_links(struct wpa_state_machine *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_select_vlan_wpa_group
      Src: /src/hostap/src/ap/wpa_auth.c:6438,1
    - Dst: wpa_group_sm_step
      Src: /src/hostap/src/ap/wpa_auth.c:6440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6441
      start: 6434
    functionDepth: 7
    functionLinenumber: 6434
    functionLinenumberEnd: 6441
    functionName: for_each_sm_auth
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 2
    functionsReached:
    - wpa_group_sm_step
    - wpa_select_vlan_wpa_group
    linkageType: ''
    returnType: void
    signature: void for_each_sm_auth(sm, link_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: for_each_sm_auth
      Src: /src/hostap/src/ap/wpa_auth.c:6458,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_state_machine*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6463
      start: 6446
    functionDepth: 0
    functionLinenumber: 6446
    functionLinenumberEnd: 6463
    functionName: wpa_group_sm_changed
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - for_each_sm_auth
    linkageType: ''
    returnType: bool
    signature: bool wpa_group_sm_changed(struct wpa_state_machine *sm)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:6475,1
    - Dst: wpa_clear_changed
      Src: /src/hostap/src/ap/wpa_auth.c:6484,1
    - Dst: SM_STEP_RUN
      Src: /src/hostap/src/ap/wpa_auth.c:6486,1
    - Dst: SM_STEP_RUN
      Src: /src/hostap/src/ap/wpa_auth.c:6489,1
    - Dst: wpa_group_sm_step_links
      Src: /src/hostap/src/ap/wpa_auth.c:6492,1
    - Dst: wpa_group_sm_changed
      Src: /src/hostap/src/ap/wpa_auth.c:6493,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:6497,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth.c:6499,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:6499,1
    - Dst: wpa_free_sta_sm
      Src: /src/hostap/src/ap/wpa_auth.c:6500,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_state_machine*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6504
      start: 6466
    functionDepth: 8
    functionLinenumber: 6466
    functionLinenumberEnd: 6504
    functionName: wpa_sm_step
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 6
    functionsReached:
    - wpa_clear_changed
    - wpa_printf
    - wpa_free_sta_sm
    - wpa_auth_get_spa
    - wpa_group_sm_changed
    - wpa_group_sm_step_links
    - SM_STEP_RUN
    - MAC2STR
    linkageType: ''
    returnType: int
    signature: int wpa_sm_step(struct wpa_state_machine *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_sm_step
      Src: /src/hostap/src/ap/wpa_auth.c:6510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6511
      start: 6507
    functionDepth: 9
    functionLinenumber: 6507
    functionLinenumberEnd: 6511
    functionName: wpa_sm_call_step
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpa_sm_step
    linkageType: ''
    returnType: void
    signature: void wpa_sm_call_step(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/wpa_auth.c:6518,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_state_machine*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6519
      start: 6514
    functionDepth: 0
    functionLinenumber: 6514
    functionLinenumberEnd: 6519
    functionName: wpa_auth_sm_notify
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - eloop_register_timeout
    linkageType: ''
    returnType: void
    signature: void wpa_auth_sm_notify(struct wpa_state_machine *sm)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_gtk_update
      Src: /src/hostap/src/ap/wpa_auth.c:6544,1
    - Dst: wpa_group_config_group_keys
      Src: /src/hostap/src/ap/wpa_auth.c:6545,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - wpa_auth
    argTypes:
    - struct wpa_authenticator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6547
      start: 6522
    functionDepth: 4
    functionLinenumber: 6522
    functionLinenumberEnd: 6547
    functionName: wpa_gtk_rekey
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpa_gtk_update
    - wpa_group_config_group_keys
    linkageType: ''
    returnType: void
    signature: void wpa_gtk_rekey(struct wpa_authenticator *wpa_auth)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6553
      start: 6550
    functionDepth: 0
    functionLinenumber: 6550
    functionLinenumberEnd: 6553
    functionName: wpa_bool_txt
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * wpa_bool_txt(int val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6559
      start: 6557
    functionDepth: 0
    functionLinenumber: 6557
    functionLinenumberEnd: 6559
    functionName: RSN_SUITE_ARG
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RSN_SUITE_ARG(s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/wpa_auth.c:6575,1
    - Dst: wpa_bool_txt
      Src: /src/hostap/src/ap/wpa_auth.c:6580,1
    - Dst: wpa_bool_txt
      Src: /src/hostap/src/ap/wpa_auth.c:6581,1
    - Dst: wpa_bool_txt
      Src: /src/hostap/src/ap/wpa_auth.c:6582,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/wpa_auth.c:6583,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/ap/wpa_auth.c:6587,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/wpa_auth.c:6590,1
    - Dst: wpa_cipher_key_len
      Src: /src/hostap/src/ap/wpa_auth.c:6620,1
    - Dst: RSN_SUITE_ARG
      Src: /src/hostap/src/ap/wpa_auth.c:6624,1
    - Dst: RSN_SUITE_ARG
      Src: /src/hostap/src/ap/wpa_auth.c:6625,1
    - Dst: RSN_SUITE_ARG
      Src: /src/hostap/src/ap/wpa_auth.c:6626,1
    - Dst: RSN_SUITE_ARG
      Src: /src/hostap/src/ap/wpa_auth.c:6628,1
    - Dst: RSN_SUITE_ARG
      Src: /src/hostap/src/ap/wpa_auth.c:6629,1
    - Dst: RSN_SUITE_ARG
      Src: /src/hostap/src/ap/wpa_auth.c:6630,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/wpa_auth.c:6633,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/wpa_auth.c:6641,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/wpa_auth.c:6643,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - wpa_auth
    - buf
    - buflen
    argTypes:
    - struct wpa_authenticator*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6648
      start: 6560
    functionDepth: 1
    functionLinenumber: 6560
    functionLinenumberEnd: 6648
    functionName: wpa_get_mib
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpa_snprintf_hex
    - wpa_cipher_key_len
    - RSN_SUITE_ARG
    - wpa_bool_txt
    - os_snprintf
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: int wpa_get_mib(struct wpa_authenticator *wpa_auth, char *buf, size_t
      buflen)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cipher_to_suite
      Src: /src/hostap/src/ap/wpa_auth.c:6663,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/wpa_auth.c:6669,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth.c:6681,1
    - Dst: RSN_SUITE_ARG
      Src: /src/hostap/src/ap/wpa_auth.c:6682,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/wpa_auth.c:6685,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/wpa_auth.c:6690,1
    - Dst: RSN_SUITE_ARG
      Src: /src/hostap/src/ap/wpa_auth.c:6697,1
    - Dst: wpa_akm_to_suite
      Src: /src/hostap/src/ap/wpa_auth.c:6697,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/wpa_auth.c:6701,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - sm
    - buf
    - buflen
    argTypes:
    - struct wpa_state_machine*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6706
      start: 6651
    functionDepth: 1
    functionLinenumber: 6651
    functionLinenumberEnd: 6706
    functionName: wpa_get_mib_sta
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 1
    functionsReached:
    - wpa_akm_to_suite
    - RSN_SUITE_ARG
    - os_snprintf
    - MAC2STR
    - wpa_cipher_to_suite
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: int wpa_get_mib_sta(struct wpa_state_machine *sm, char *buf, size_t
      buflen)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - wpa_auth
    argTypes:
    - struct wpa_authenticator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6713
      start: 6709
    functionDepth: 0
    functionLinenumber: 6709
    functionLinenumberEnd: 6713
    functionName: wpa_auth_countermeasures_start
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wpa_auth_countermeasures_start(struct wpa_authenticator *wpa_auth)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_state_machine*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6719
      start: 6716
    functionDepth: 0
    functionLinenumber: 6716
    functionLinenumberEnd: 6719
    functionName: wpa_auth_pairwise_set
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpa_auth_pairwise_set(struct wpa_state_machine *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_state_machine*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6725
      start: 6722
    functionDepth: 0
    functionLinenumber: 6722
    functionLinenumberEnd: 6725
    functionName: wpa_auth_get_pairwise
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpa_auth_get_pairwise(struct wpa_state_machine *sm)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - sm
    - len
    argTypes:
    - struct wpa_state_machine*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6734
      start: 6728
    functionDepth: 0
    functionLinenumber: 6728
    functionLinenumberEnd: 6734
    functionName: wpa_auth_get_pmk
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 * wpa_auth_get_pmk(struct wpa_state_machine *sm, int *len)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_state_machine*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6742
      start: 6737
    functionDepth: 0
    functionLinenumber: 6737
    functionLinenumberEnd: 6742
    functionName: wpa_auth_get_dpp_pkhash
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 * wpa_auth_get_dpp_pkhash(struct wpa_state_machine *sm)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_state_machine*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6750
      start: 6745
    functionDepth: 0
    functionLinenumber: 6745
    functionLinenumberEnd: 6750
    functionName: wpa_auth_sta_key_mgmt
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpa_auth_sta_key_mgmt(struct wpa_state_machine *sm)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_state_machine*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6758
      start: 6753
    functionDepth: 0
    functionLinenumber: 6753
    functionLinenumberEnd: 6758
    functionName: wpa_auth_sta_wpa_version
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpa_auth_sta_wpa_version(struct wpa_state_machine *sm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_key_mgmt_ft
      Src: /src/hostap/src/ap/wpa_auth.c:6763,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_state_machine*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6766
      start: 6761
    functionDepth: 1
    functionLinenumber: 6761
    functionLinenumberEnd: 6766
    functionName: wpa_auth_sta_ft_tk_already_set
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpa_key_mgmt_ft
    linkageType: ''
    returnType: int
    signature: int wpa_auth_sta_ft_tk_already_set(struct wpa_state_machine *sm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_key_mgmt_fils
      Src: /src/hostap/src/ap/wpa_auth.c:6771,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_state_machine*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6774
      start: 6769
    functionDepth: 1
    functionLinenumber: 6769
    functionLinenumberEnd: 6774
    functionName: wpa_auth_sta_fils_tk_already_set
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpa_key_mgmt_fils
    linkageType: ''
    returnType: int
    signature: int wpa_auth_sta_fils_tk_already_set(struct wpa_state_machine *sm)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - sm
    - entry
    argTypes:
    - struct wpa_state_machine*
    - struct rsn_pmksa_cache_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6784
      start: 6777
    functionDepth: 0
    functionLinenumber: 6777
    functionLinenumberEnd: 6784
    functionName: wpa_auth_sta_clear_pmksa
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int wpa_auth_sta_clear_pmksa(struct wpa_state_machine *sm,\n\t\t\t
      \    struct rsn_pmksa_cache_entry *entry)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_state_machine*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6791
      start: 6787
    functionDepth: 0
    functionLinenumber: 6787
    functionLinenumberEnd: 6791
    functionName: wpa_auth_sta_get_pmksa
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct rsn_pmksa_cache_entry
    signature: 'struct rsn_pmksa_cache_entry *

      wpa_auth_sta_get_pmksa(struct wpa_state_machine *sm)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_state_machine*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6798
      start: 6794
    functionDepth: 0
    functionLinenumber: 6794
    functionLinenumberEnd: 6798
    functionName: wpa_auth_sta_local_mic_failure_report
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wpa_auth_sta_local_mic_failure_report(struct wpa_state_machine
      *sm)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - wpa_auth
    - len
    argTypes:
    - struct wpa_authenticator*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6807
      start: 6801
    functionDepth: 0
    functionLinenumber: 6801
    functionLinenumberEnd: 6807
    functionName: wpa_auth_get_wpa_ie
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 * wpa_auth_get_wpa_ie(struct wpa_authenticator *wpa_auth, size_t
      *len)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_key_mgmt_ft
      Src: /src/hostap/src/ap/wpa_auth.c:6819,1
    - Dst: wpa_key_mgmt_wpa_ieee8021x
      Src: /src/hostap/src/ap/wpa_auth.c:6820,1
    - Dst: wpa_key_mgmt_sha384
      Src: /src/hostap/src/ap/wpa_auth.c:6821,1
    - Dst: wpa_key_mgmt_sha384
      Src: /src/hostap/src/ap/wpa_auth.c:6827,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/ap/wpa_auth.c:6834,1
    - Dst: pmksa_cache_auth_add
      Src: /src/hostap/src/ap/wpa_auth.c:6835,1
    - Dst: wpa_auth_get_aa
      Src: /src/hostap/src/ap/wpa_auth.c:6837,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:6838,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 5
    argNames:
    - sm
    - pmk
    - pmk_len
    - session_timeout
    - eapol
    argTypes:
    - struct wpa_state_machine*
    - u8*
    - unsigned int
    - int
    - struct eapol_state_machine*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6843
      start: 6810
    functionDepth: 1
    functionLinenumber: 6810
    functionLinenumberEnd: 6843
    functionName: wpa_auth_pmksa_add
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpa_hexdump_key
    - pmksa_cache_auth_add
    - wpa_auth_get_spa
    - wpa_key_mgmt_sha384
    - wpa_key_mgmt_ft
    - wpa_key_mgmt_wpa_ieee8021x
    - wpa_auth_get_aa
    linkageType: ''
    returnType: int
    signature: "int wpa_auth_pmksa_add(struct wpa_state_machine *sm, const u8 *pmk,\n\t\t
      \      unsigned int pmk_len,\n\t\t       int session_timeout, struct eapol_state_machine
      *eapol)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/ap/wpa_auth.c:6854,1
    - Dst: pmksa_cache_auth_add
      Src: /src/hostap/src/ap/wpa_auth.c:6855,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 6
    argNames:
    - wpa_auth
    - pmk
    - len
    - sta_addr
    - session_timeout
    - eapol
    argTypes:
    - struct wpa_authenticator*
    - u8*
    - size_t
    - u8*
    - int
    - struct eapol_state_machine*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6863
      start: 6846
    functionDepth: 0
    functionLinenumber: 6846
    functionLinenumberEnd: 6863
    functionName: wpa_auth_pmksa_add_preauth
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 1
    functionsReached:
    - wpa_hexdump_key
    - pmksa_cache_auth_add
    linkageType: ''
    returnType: int
    signature: "int wpa_auth_pmksa_add_preauth(struct wpa_authenticator *wpa_auth,\n\t\t\t
      \      const u8 *pmk, size_t len, const u8 *sta_addr,\n\t\t\t       int session_timeout,\n\t\t\t
      \      struct eapol_state_machine *eapol)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/ap/wpa_auth.c:6877,1
    - Dst: pmksa_cache_auth_add
      Src: /src/hostap/src/ap/wpa_auth.c:6888,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 8
    argNames:
    - wpa_auth
    - addr
    - pmk
    - pmk_len
    - pmkid
    - akmp
    - is_ml
    - vlan_id
    argTypes:
    - struct wpa_authenticator*
    - u8*
    - u8*
    - size_t
    - u8*
    - int
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6899
      start: 6866
    functionDepth: 0
    functionLinenumber: 6866
    functionLinenumberEnd: 6899
    functionName: wpa_auth_pmksa_add_sae
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 2
    functionsReached:
    - wpa_hexdump_key
    - pmksa_cache_auth_add
    linkageType: ''
    returnType: int
    signature: "int wpa_auth_pmksa_add_sae(struct wpa_authenticator *wpa_auth, const
      u8 *addr,\n\t\t\t   const u8 *pmk, size_t pmk_len, const u8 *pmkid,\n\t\t\t
      \  int akmp, bool is_ml, int vlan_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:6904,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sm
    - pmkid
    argTypes:
    - struct wpa_state_machine*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6906
      start: 6902
    functionDepth: 0
    functionLinenumber: 6902
    functionLinenumberEnd: 6906
    functionName: wpa_auth_add_sae_pmkid
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    linkageType: ''
    returnType: void
    signature: void wpa_auth_add_sae_pmkid(struct wpa_state_machine *sm, const u8
      *pmkid)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/ap/wpa_auth.c:6921,1
    - Dst: pmksa_cache_auth_add
      Src: /src/hostap/src/ap/wpa_auth.c:6930,1
    - Dst: os_memdup
      Src: /src/hostap/src/ap/wpa_auth.c:6939,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 9
    argNames:
    - wpa_auth
    - addr
    - pmk
    - pmk_len
    - pmkid
    - session_timeout
    - akmp
    - dpp_pkhash
    - is_ml
    argTypes:
    - struct wpa_authenticator*
    - u8*
    - u8*
    - size_t
    - u8*
    - int
    - int
    - u8*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6942
      start: 6909
    functionDepth: 0
    functionLinenumber: 6909
    functionLinenumberEnd: 6942
    functionName: wpa_auth_pmksa_add2
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 1
    functionsReached:
    - os_memdup
    - wpa_hexdump_key
    - pmksa_cache_auth_add
    linkageType: ''
    returnType: int
    signature: "int wpa_auth_pmksa_add2(struct wpa_authenticator *wpa_auth, const
      u8 *addr,\n\t\t\tconst u8 *pmk, size_t pmk_len, const u8 *pmkid,\n\t\t\tint
      session_timeout, int akmp, const u8 *dpp_pkhash,\n\t\t\tbool is_ml)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pmksa_cache_auth_get
      Src: /src/hostap/src/ap/wpa_auth.c:6953,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:6955,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth.c:6956,1
    - Dst: pmksa_cache_free_entry
      Src: /src/hostap/src/ap/wpa_auth.c:6957,1
    - Dst: pmksa_cache_auth_get
      Src: /src/hostap/src/ap/wpa_auth.c:6962,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:6965,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth.c:6968,1
    - Dst: pmksa_cache_free_entry
      Src: /src/hostap/src/ap/wpa_auth.c:6969,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - wpa_auth
    - sta_addr
    argTypes:
    - struct wpa_authenticator*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6973
      start: 6945
    functionDepth: 1
    functionLinenumber: 6945
    functionLinenumberEnd: 6973
    functionName: wpa_auth_pmksa_remove
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 1
    functionsReached:
    - pmksa_cache_auth_get
    - MAC2STR
    - wpa_printf
    - pmksa_cache_free_entry
    linkageType: ''
    returnType: void
    signature: "void wpa_auth_pmksa_remove(struct wpa_authenticator *wpa_auth,\n\t\t\t
      \  const u8 *sta_addr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/wpa_auth.c:6985,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/wpa_auth.c:6987,1
    - Dst: pmksa_cache_auth_list
      Src: /src/hostap/src/ap/wpa_auth.c:6992,1
    - Dst: pmksa_cache_auth_list
      Src: /src/hostap/src/ap/wpa_auth.c:6995,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - wpa_auth
    - buf
    - len
    argTypes:
    - struct wpa_authenticator*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7000
      start: 6976
    functionDepth: 1
    functionLinenumber: 6976
    functionLinenumberEnd: 7000
    functionName: wpa_auth_pmksa_list
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 1
    functionsReached:
    - os_snprintf
    - pmksa_cache_auth_list
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int wpa_auth_pmksa_list(struct wpa_authenticator *wpa_auth, char *buf,\n\t\t\tsize_t
      len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pmksa_cache_auth_flush
      Src: /src/hostap/src/ap/wpa_auth.c:7006,1
    - Dst: pmksa_cache_auth_flush
      Src: /src/hostap/src/ap/wpa_auth.c:7009,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - wpa_auth
    argTypes:
    - struct wpa_authenticator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7012
      start: 7003
    functionDepth: 0
    functionLinenumber: 7003
    functionLinenumberEnd: 7012
    functionName: wpa_auth_pmksa_flush
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 1
    functionsReached:
    - pmksa_cache_auth_flush
    linkageType: ''
    returnType: void
    signature: void wpa_auth_pmksa_flush(struct wpa_authenticator *wpa_auth)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pmksa_cache_auth_list_mesh
      Src: /src/hostap/src/ap/wpa_auth.c:7024,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - wpa_auth
    - addr
    - buf
    - len
    argTypes:
    - struct wpa_authenticator*
    - u8*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7025
      start: 7018
    functionDepth: 1
    functionLinenumber: 7018
    functionLinenumberEnd: 7025
    functionName: wpa_auth_pmksa_list_mesh
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 1
    functionsReached:
    - pmksa_cache_auth_list_mesh
    linkageType: ''
    returnType: int
    signature: "int wpa_auth_pmksa_list_mesh(struct wpa_authenticator *wpa_auth, const
      u8 *addr,\n\t\t\t     char *buf, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pmksa_cache_auth_create_entry
      Src: /src/hostap/src/ap/wpa_auth.c:7036,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/ap/wpa_auth.c:7041,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 7
    argNames:
    - aa
    - spa
    - pmk
    - pmk_len
    - akmp
    - pmkid
    - expiration
    argTypes:
    - u8*
    - u8*
    - u8*
    - size_t
    - int
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7044
      start: 7028
    functionDepth: 1
    functionLinenumber: 7028
    functionLinenumberEnd: 7044
    functionName: wpa_auth_pmksa_create_entry
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 1
    functionsReached:
    - os_get_reltime
    - pmksa_cache_auth_create_entry
    linkageType: ''
    returnType: struct rsn_pmksa_cache_entry
    signature: "struct rsn_pmksa_cache_entry *\nwpa_auth_pmksa_create_entry(const
      u8 *aa, const u8 *spa, const u8 *pmk,\n\t\t\t    size_t pmk_len, int akmp,\n\t\t\t
      \   const u8 *pmkid, int expiration)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pmksa_cache_auth_add_entry
      Src: /src/hostap/src/ap/wpa_auth.c:7055,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:7057,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth.c:7059,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - wpa_auth
    - entry
    argTypes:
    - struct wpa_authenticator*
    - struct rsn_pmksa_cache_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7062
      start: 7047
    functionDepth: 1
    functionLinenumber: 7047
    functionLinenumberEnd: 7062
    functionName: wpa_auth_pmksa_add_entry
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 1
    functionsReached:
    - MAC2STR
    - wpa_printf
    - pmksa_cache_auth_add_entry
    linkageType: ''
    returnType: int
    signature: "int wpa_auth_pmksa_add_entry(struct wpa_authenticator *wpa_auth,\n\t\t\t
      \    struct rsn_pmksa_cache_entry *entry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - wpa_auth
    - is_ml
    argTypes:
    - struct wpa_authenticator*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7078
      start: 7068
    functionDepth: 0
    functionLinenumber: 7068
    functionLinenumberEnd: 7078
    functionName: wpa_auth_get_pmksa_cache
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct rsn_pmksa_cache
    signature: 'struct rsn_pmksa_cache *

      wpa_auth_get_pmksa_cache(struct wpa_authenticator *wpa_auth, bool is_ml)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pmksa_cache_auth_get
      Src: /src/hostap/src/ap/wpa_auth.c:7087,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - wpa_auth
    - sta_addr
    - pmkid
    argTypes:
    - struct wpa_authenticator*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7088
      start: 7081
    functionDepth: 0
    functionLinenumber: 7081
    functionLinenumberEnd: 7088
    functionName: wpa_auth_pmksa_get
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 4
    functionsReached:
    - pmksa_cache_auth_get
    linkageType: ''
    returnType: struct rsn_pmksa_cache_entry
    signature: "struct rsn_pmksa_cache_entry *\nwpa_auth_pmksa_get(struct wpa_authenticator
      *wpa_auth, const u8 *sta_addr,\n\t\t   const u8 *pmkid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_auth_pmksa_get
      Src: /src/hostap/src/ap/wpa_auth.c:7097,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:7099,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth.c:7100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - wpa_auth
    - sta_addr
    - pmk
    - pmk_len
    - pmkid
    argTypes:
    - struct wpa_authenticator*
    - u8*
    - u8**
    - size_t*
    - u8**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7108
      start: 7091
    functionDepth: 1
    functionLinenumber: 7091
    functionLinenumberEnd: 7108
    functionName: wpa_auth_pmksa_get_pmk
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 1
    functionsReached:
    - wpa_auth_pmksa_get
    - MAC2STR
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int wpa_auth_pmksa_get_pmk(struct wpa_authenticator *wpa_auth,\n\t\t\t
      \  const u8 *sta_addr, const u8 **pmk, size_t *pmk_len,\n\t\t\t   const u8 **pmkid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:7120,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:7122,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:7123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 6
    argNames:
    - pmksa
    - sm
    - wpa_auth
    - pmkid
    - pmk
    - pmk_len
    argTypes:
    - struct rsn_pmksa_cache_entry*
    - struct wpa_state_machine*
    - struct wpa_authenticator*
    - u8*
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7124
      start: 7111
    functionDepth: 0
    functionLinenumber: 7111
    functionLinenumberEnd: 7124
    functionName: wpa_auth_pmksa_set_to_sm
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    linkageType: ''
    returnType: void
    signature: "void wpa_auth_pmksa_set_to_sm(struct rsn_pmksa_cache_entry *pmksa,\n\t\t\t
      \     struct wpa_state_machine *sm,\n\t\t\t      struct wpa_authenticator *wpa_auth,\n\t\t\t
      \     u8 *pmkid, u8 *pmk, size_t *pmk_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:7137,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth.c:7144,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - wpa_auth
    - group
    argTypes:
    - struct wpa_authenticator*
    - struct wpa_group*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7150
      start: 7132
    functionDepth: 0
    functionLinenumber: 7132
    functionLinenumberEnd: 7150
    functionName: wpa_group_free
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: "void wpa_group_free(struct wpa_authenticator *wpa_auth,\n\t\t\t   struct
      wpa_group *group)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wpa_auth
    - group
    argTypes:
    - struct wpa_authenticator*
    - struct wpa_group*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7162
      start: 7154
    functionDepth: 0
    functionLinenumber: 7154
    functionLinenumberEnd: 7162
    functionName: wpa_group_get
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpa_group_get(struct wpa_authenticator *wpa_auth,\n\t\t\t  struct
      wpa_group *group)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_group_free
      Src: /src/hostap/src/ap/wpa_auth.c:7176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - wpa_auth
    - group
    argTypes:
    - struct wpa_authenticator*
    - struct wpa_group*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7177
      start: 7166
    functionDepth: 1
    functionLinenumber: 7166
    functionLinenumberEnd: 7177
    functionName: wpa_group_put
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 3
    functionsReached:
    - wpa_group_free
    linkageType: ''
    returnType: void
    signature: "void wpa_group_put(struct wpa_authenticator *wpa_auth,\n\t\t\t  struct
      wpa_group *group)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_select_vlan_wpa_group
      Src: /src/hostap/src/ap/wpa_auth.c:7185,1
    - Dst: wpa_group_put
      Src: /src/hostap/src/ap/wpa_auth.c:7187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_auth
    - vlan_id
    argTypes:
    - struct wpa_authenticator*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7188
      start: 7181
    functionDepth: 2
    functionLinenumber: 7181
    functionLinenumberEnd: 7188
    functionName: wpa_group_put_vlan
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 3
    functionsReached:
    - wpa_select_vlan_wpa_group
    - wpa_group_put
    linkageType: ''
    returnType: void
    signature: "void wpa_group_put_vlan(struct wpa_authenticator *wpa_auth,\n\t\t\t
      \      int vlan_id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:7204,1
    - Dst: wpa_group_init
      Src: /src/hostap/src/ap/wpa_auth.c:7206,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - wpa_auth
    - vlan_id
    argTypes:
    - struct wpa_authenticator*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7214
      start: 7196
    functionDepth: 4
    functionLinenumber: 7196
    functionLinenumberEnd: 7214
    functionName: wpa_auth_add_group
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_group_init
    linkageType: ''
    returnType: struct wpa_group
    signature: 'struct wpa_group *

      wpa_auth_add_group(struct wpa_authenticator *wpa_auth, int vlan_id)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_auth_add_group
      Src: /src/hostap/src/ap/wpa_auth.c:7238,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:7243,1
    - Dst: wpa_group_get
      Src: /src/hostap/src/ap/wpa_auth.c:7247,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - wpa_auth
    - vlan_id
    argTypes:
    - struct wpa_authenticator*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7254
      start: 7223
    functionDepth: 5
    functionLinenumber: 7223
    functionLinenumberEnd: 7254
    functionName: wpa_auth_ensure_group
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpa_group_get
    - wpa_printf
    - wpa_auth_add_group
    linkageType: ''
    returnType: int
    signature: int wpa_auth_ensure_group(struct wpa_authenticator *wpa_auth, int vlan_id)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:7281,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:7286,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:7297,1
    - Dst: wpa_group_put
      Src: /src/hostap/src/ap/wpa_auth.c:7303,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - wpa_auth
    - vlan_id
    argTypes:
    - struct wpa_authenticator*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7306
      start: 7263
    functionDepth: 2
    functionLinenumber: 7263
    functionLinenumberEnd: 7306
    functionName: wpa_auth_release_group
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_group_put
    linkageType: ''
    returnType: int
    signature: int wpa_auth_release_group(struct wpa_authenticator *wpa_auth, int
      vlan_id)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_auth_add_group
      Src: /src/hostap/src/ap/wpa_auth.c:7325,1
    - Dst: wpa_group_get
      Src: /src/hostap/src/ap/wpa_auth.c:7333,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:7344,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth.c:7346,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:7346,1
    - Dst: wpa_group_get
      Src: /src/hostap/src/ap/wpa_auth.c:7348,1
    - Dst: wpa_group_put
      Src: /src/hostap/src/ap/wpa_auth.c:7349,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 3
    argNames:
    - sm
    - wpa_auth
    - vlan_id
    argTypes:
    - struct wpa_state_machine*
    - struct wpa_authenticator*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7353
      start: 7309
    functionDepth: 5
    functionLinenumber: 7309
    functionLinenumberEnd: 7353
    functionName: wpa_auth_sta_set_vlan
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_auth_get_spa
    - wpa_auth_add_group
    - wpa_group_put
    - MAC2STR
    - wpa_group_get
    linkageType: ''
    returnType: int
    signature: "int wpa_auth_sta_set_vlan(struct wpa_state_machine *sm,\n\t\t\t  struct
      wpa_authenticator *wpa_auth, int vlan_id)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:7361,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth.c:7362,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:7362,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:7375,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/wpa_auth.c:7378,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/wpa_auth.c:7379,1
    - Dst: struct wpa_state_machine*::eapol_status_cb
      Src: /src/hostap/src/ap/wpa_auth.c:7386,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - wpa_auth
    - sm
    - ack
    argTypes:
    - struct wpa_authenticator*
    - struct wpa_state_machine*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7391
      start: 7356
    functionDepth: 1
    functionLinenumber: 7356
    functionLinenumberEnd: 7391
    functionName: wpa_auth_eapol_key_tx_status
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_auth_get_spa
    - eloop_cancel_timeout
    - struct wpa_state_machine*::eapol_status_cb
    - MAC2STR
    - eloop_register_timeout
    linkageType: ''
    returnType: void
    signature: "void wpa_auth_eapol_key_tx_status(struct wpa_authenticator *wpa_auth,\n\t\t\t\t
      \ struct wpa_state_machine *sm, int ack)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_key_mgmt_sae
      Src: /src/hostap/src/ap/wpa_auth.c:7398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_state_machine*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7399
      start: 7394
    functionDepth: 1
    functionLinenumber: 7394
    functionLinenumberEnd: 7399
    functionName: wpa_auth_uses_sae
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 2
    functionsReached:
    - wpa_key_mgmt_sae
    linkageType: ''
    returnType: int
    signature: int wpa_auth_uses_sae(struct wpa_state_machine *sm)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_state_machine*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7408
      start: 7402
    functionDepth: 0
    functionLinenumber: 7402
    functionLinenumberEnd: 7408
    functionName: wpa_auth_uses_ft_sae
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpa_auth_uses_ft_sae(struct wpa_state_machine *sm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/ap/wpa_auth.c:7414,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:7416,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - sm
    - addr
    argTypes:
    - struct wpa_state_machine*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7418
      start: 7412
    functionDepth: 1
    functionLinenumber: 7412
    functionLinenumberEnd: 7418
    functionName: wpa_auth_get_ip_addr
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - WPA_GET_BE32
    linkageType: ''
    returnType: int
    signature: int wpa_auth_get_ip_addr(struct wpa_state_machine *sm, u8 *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pmksa_cache_auth_radius_das_disconnect
      Src: /src/hostap/src/ap/wpa_auth.c:7425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wpa_auth
    - attr
    argTypes:
    - struct wpa_authenticator*
    - struct radius_das_attrs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7426
      start: 7422
    functionDepth: 1
    functionLinenumber: 7422
    functionLinenumberEnd: 7426
    functionName: wpa_auth_radius_das_disconnect_pmksa
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - pmksa_cache_auth_radius_das_disconnect
    linkageType: ''
    returnType: int
    signature: "int wpa_auth_radius_das_disconnect_pmksa(struct wpa_authenticator
      *wpa_auth,\n\t\t\t\t\t struct radius_das_attrs *attr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_group_config_group_keys
      Src: /src/hostap/src/ap/wpa_auth.c:7436,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - wpa_auth
    argTypes:
    - struct wpa_authenticator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7437
      start: 7429
    functionDepth: 2
    functionLinenumber: 7429
    functionLinenumberEnd: 7437
    functionName: wpa_auth_reconfig_group_keys
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpa_group_config_group_keys
    linkageType: ''
    returnType: void
    signature: void wpa_auth_reconfig_group_keys(struct wpa_authenticator *wpa_auth)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/wpa_auth.c:7456,1
    - Dst: pmksa_cache_auth_get
      Src: /src/hostap/src/ap/wpa_auth.c:7459,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - a
    - ctx
    argTypes:
    - struct wpa_authenticator*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7461
      start: 7451
    functionDepth: 0
    functionLinenumber: 7451
    functionLinenumberEnd: 7461
    functionName: wpa_auth_fils_iter
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - pmksa_cache_auth_get
    - os_memcmp
    linkageType: ''
    returnType: int
    signature: int wpa_auth_fils_iter(struct wpa_authenticator *a, void *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_auth_for_each_auth
      Src: /src/hostap/src/ap/wpa_auth.c:7477,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - wpa_auth
    - sta_addr
    - pmkid
    argTypes:
    - struct wpa_authenticator*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7479
      start: 7464
    functionDepth: 1
    functionLinenumber: 7464
    functionLinenumberEnd: 7479
    functionName: wpa_auth_pmksa_get_fils_cache_id
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpa_auth_for_each_auth
    linkageType: ''
    returnType: struct rsn_pmksa_cache_entry
    signature: "struct rsn_pmksa_cache_entry *\nwpa_auth_pmksa_get_fils_cache_id(struct
      wpa_authenticator *wpa_auth,\n\t\t\t\t const u8 *sta_addr, const u8 *pmkid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_write_ftie
      Src: /src/hostap/src/ap/wpa_auth.c:7489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - wpa_auth
    - sm
    - buf
    - len
    argTypes:
    - struct wpa_authenticator*
    - struct wpa_state_machine*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7492
      start: 7483
    functionDepth: 2
    functionLinenumber: 7483
    functionLinenumberEnd: 7492
    functionName: wpa_auth_write_fte
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpa_write_ftie
    linkageType: ''
    returnType: int
    signature: "int wpa_auth_write_fte(struct wpa_authenticator *wpa_auth,\n\t\t       struct
      wpa_state_machine *sm,\n\t\t       u8 *buf, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:7500,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:7501,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:7502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - sm
    - fils_anonce
    - fils_snonce
    - fils_kek
    - fils_kek_len
    argTypes:
    - struct wpa_state_machine*
    - u8*
    - u8*
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7504
      start: 7496
    functionDepth: 0
    functionLinenumber: 7496
    functionLinenumberEnd: 7504
    functionName: wpa_auth_get_fils_aead_params
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    linkageType: ''
    returnType: void
    signature: "void wpa_auth_get_fils_aead_params(struct wpa_state_machine *sm,\n\t\t\t\t
      \  u8 *fils_anonce, u8 *fils_snonce,\n\t\t\t\t   u8 *fils_kek, size_t *fils_kek_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:7510,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:7512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - sm
    - pmk
    - pmk_len
    - pmkid
    argTypes:
    - struct wpa_state_machine*
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7514
      start: 7507
    functionDepth: 0
    functionLinenumber: 7507
    functionLinenumberEnd: 7514
    functionName: wpa_auth_add_fils_pmk_pmkid
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    linkageType: ''
    returnType: void
    signature: "void wpa_auth_add_fils_pmk_pmkid(struct wpa_state_machine *sm, const
      u8 *pmk,\n\t\t\t\t size_t pmk_len, const u8 *pmkid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - sm
    - auth_alg
    argTypes:
    - struct wpa_state_machine*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7523
      start: 7519
    functionDepth: 0
    functionLinenumber: 7519
    functionLinenumberEnd: 7523
    functionName: wpa_auth_set_auth_alg
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wpa_auth_set_auth_alg(struct wpa_state_machine *sm, u16 auth_alg)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - sm
    - pmk_len
    argTypes:
    - struct wpa_state_machine*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7538
      start: 7526
    functionDepth: 0
    functionLinenumber: 7526
    functionLinenumberEnd: 7538
    functionName: wpa_auth_set_hash_alg_sae_ext_key
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpa_auth_set_hash_alg_sae_ext_key(struct wpa_state_machine *sm,\n\t\t\t\t
      \      size_t pmk_len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth.c:7546,1
    - Dst: os_memdup
      Src: /src/hostap/src/ap/wpa_auth.c:7558,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - sm
    - ie
    - len
    argTypes:
    - struct wpa_state_machine*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7562
      start: 7541
    functionDepth: 0
    functionLinenumber: 7541
    functionLinenumberEnd: 7562
    functionName: wpa_auth_set_rsn_selection
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - os_free
    - os_memdup
    linkageType: ''
    returnType: void
    signature: "void wpa_auth_set_rsn_selection(struct wpa_state_machine *sm, const
      u8 *ie,\n\t\t\t\tsize_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/ap/wpa_auth.c:7569,1
    - Dst: wpabuf_dup
      Src: /src/hostap/src/ap/wpa_auth.c:7570,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - sm
    - z
    argTypes:
    - struct wpa_state_machine*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7572
      start: 7566
    functionDepth: 1
    functionLinenumber: 7566
    functionLinenumberEnd: 7572
    functionName: wpa_auth_set_dpp_z
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpabuf_dup
    - wpabuf_clear_free
    linkageType: ''
    returnType: void
    signature: void wpa_auth_set_dpp_z(struct wpa_state_machine *sm, const struct
      wpabuf *z)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - sm
    - val
    argTypes:
    - struct wpa_state_machine*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7580
      start: 7576
    functionDepth: 0
    functionLinenumber: 7576
    functionLinenumberEnd: 7580
    functionName: wpa_auth_set_ssid_protection
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wpa_auth_set_ssid_protection(struct wpa_state_machine *sm, bool
      val)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - wpa_auth
    - val
    argTypes:
    - struct wpa_authenticator*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7588
      start: 7583
    functionDepth: 0
    functionLinenumber: 7583
    functionLinenumberEnd: 7588
    functionName: wpa_auth_set_transition_disable
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpa_auth_set_transition_disable(struct wpa_authenticator *wpa_auth,\n\t\t\t\t
      \    u8 val)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: random_get_bytes
      Src: /src/hostap/src/ap/wpa_auth.c:7601,1
    - Dst: wpa_auth_logger
      Src: /src/hostap/src/ap/wpa_auth.c:7606,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:7606,1
    - Dst: wpa_send_eapol
      Src: /src/hostap/src/ap/wpa_auth.c:7608,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - sm
    - change_anonce
    - ctx1
    - ctx2
    argTypes:
    - struct wpa_state_machine*
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7612
      start: 7593
    functionDepth: 5
    functionLinenumber: 7593
    functionLinenumberEnd: 7612
    functionName: wpa_auth_resend_m1
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 1
    functionsReached:
    - wpa_auth_get_spa
    - random_get_bytes
    - wpa_send_eapol
    - wpa_auth_logger
    linkageType: ''
    returnType: int
    signature: "int wpa_auth_resend_m1(struct wpa_state_machine *sm, int change_anonce,\n\t\t
      \      void (*cb)(void *ctx1, void *ctx2),\n\t\t       void *ctx1, void *ctx2)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/ap/wpa_auth.c:7633,1
    - Dst: wpa_auth_logger
      Src: /src/hostap/src/ap/wpa_auth.c:7648,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:7648,1
    - Dst: wpa_auth_logger
      Src: /src/hostap/src/ap/wpa_auth.c:7673,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:7673,1
    - Dst: ieee80211w_kde_len
      Src: /src/hostap/src/ap/wpa_auth.c:7680,1
    - Dst: ocv_oci_len
      Src: /src/hostap/src/ap/wpa_auth.c:7680,1
    - Dst: wpa_key_mgmt_ft
      Src: /src/hostap/src/ap/wpa_auth.c:7688,1
    - Dst: os_malloc
      Src: /src/hostap/src/ap/wpa_auth.c:7693,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:7698,1
    - Dst: wpa_key_mgmt_ft
      Src: /src/hostap/src/ap/wpa_auth.c:7701,1
    - Dst: wpa_insert_pmkid
      Src: /src/hostap/src/ap/wpa_auth.c:7706,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:7708,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth.c:7710,1
    - Dst: wpa_add_kde
      Src: /src/hostap/src/ap/wpa_auth.c:7721,1
    - Dst: wpa_add_kde
      Src: /src/hostap/src/ap/wpa_auth.c:7726,1
    - Dst: ieee80211w_kde_add
      Src: /src/hostap/src/ap/wpa_auth.c:7730,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/wpa_auth.c:7734,1
    - Dst: ocv_oci_add
      Src: /src/hostap/src/ap/wpa_auth.c:7736,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth.c:7737,1
    - Dst: wpa_key_mgmt_ft
      Src: /src/hostap/src/ap/wpa_auth.c:7742,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:7747,1
    - Dst: wpa_write_ftie
      Src: /src/hostap/src/ap/wpa_auth.c:7751,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:7760,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth.c:7762,1
    - Dst: WPA_PUT_LE32
      Src: /src/hostap/src/ap/wpa_auth.c:7771,1
    - Dst: WPA_PUT_LE32
      Src: /src/hostap/src/ap/wpa_auth.c:7778,1
    - Dst: wpa_send_eapol
      Src: /src/hostap/src/ap/wpa_auth.c:7783,1
    - Dst: wpa_mic_len
      Src: /src/hostap/src/ap/wpa_auth.c:7785,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/ap/wpa_auth.c:7790,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 102
    argCount: 3
    argNames:
    - sm
    - ctx1
    - ctx2
    argTypes:
    - struct wpa_state_machine*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7792
      start: 7615
    functionDepth: 5
    functionLinenumber: 7615
    functionLinenumberEnd: 7792
    functionName: wpa_auth_resend_m3
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 1
    functionsReached:
    - wpa_auth_logger
    - wpa_printf
    - wpa_auth_get_spa
    - ieee80211w_kde_len
    - wpa_key_mgmt_ft
    - ieee80211w_kde_add
    - WPA_PUT_LE32
    - wpa_send_eapol
    - os_free
    - wpa_insert_pmkid
    - os_malloc
    - wpa_write_ftie
    - os_memset
    - os_memcpy
    - wpa_add_kde
    - ocv_oci_len
    - ocv_oci_add
    - wpa_mic_len
    - bin_clear_free
    linkageType: ''
    returnType: int
    signature: "int wpa_auth_resend_m3(struct wpa_state_machine *sm,\n\t\t       void
      (*cb)(void *ctx1, void *ctx2),\n\t\t       void *ctx1, void *ctx2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/ap/wpa_auth.c:7809,1
    - Dst: wpa_auth_logger
      Src: /src/hostap/src/ap/wpa_auth.c:7811,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:7811,1
    - Dst: ieee80211w_kde_len
      Src: /src/hostap/src/ap/wpa_auth.c:7817,1
    - Dst: ocv_oci_len
      Src: /src/hostap/src/ap/wpa_auth.c:7817,1
    - Dst: os_malloc
      Src: /src/hostap/src/ap/wpa_auth.c:7818,1
    - Dst: wpa_add_kde
      Src: /src/hostap/src/ap/wpa_auth.c:7825,1
    - Dst: ieee80211w_kde_add
      Src: /src/hostap/src/ap/wpa_auth.c:7828,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/wpa_auth.c:7833,1
    - Dst: ocv_oci_add
      Src: /src/hostap/src/ap/wpa_auth.c:7835,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth.c:7837,1
    - Dst: wpa_send_eapol
      Src: /src/hostap/src/ap/wpa_auth.c:7850,1
    - Dst: wpa_mic_len
      Src: /src/hostap/src/ap/wpa_auth.c:7852,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/ap/wpa_auth.c:7858,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 3
    argNames:
    - sm
    - ctx1
    - ctx2
    argTypes:
    - struct wpa_state_machine*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7860
      start: 7795
    functionDepth: 5
    functionLinenumber: 7795
    functionLinenumberEnd: 7860
    functionName: wpa_auth_resend_group_m1
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 1
    functionsReached:
    - wpa_add_kde
    - wpa_auth_get_spa
    - ieee80211w_kde_len
    - os_malloc
    - ieee80211w_kde_add
    - bin_clear_free
    - ocv_oci_len
    - wpa_send_eapol
    - wpa_auth_logger
    - os_free
    - ocv_oci_add
    - wpa_mic_len
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpa_auth_resend_group_m1(struct wpa_state_machine *sm,\n\t\t\t
      \    void (*cb)(void *ctx1, void *ctx2),\n\t\t\t     void *ctx1, void *ctx2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/wpa_auth.c:7867,1
    - Dst: wpa_get_primary_auth
      Src: /src/hostap/src/ap/wpa_auth.c:7868,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/wpa_auth.c:7869,1
    - Dst: wpa_get_primary_auth
      Src: /src/hostap/src/ap/wpa_auth.c:7870,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - wpa_auth
    argTypes:
    - struct wpa_authenticator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7871
      start: 7863
    functionDepth: 2
    functionLinenumber: 7863
    functionLinenumberEnd: 7871
    functionName: wpa_auth_rekey_gtk
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - eloop_cancel_timeout
    - eloop_register_timeout
    - wpa_get_primary_auth
    linkageType: ''
    returnType: int
    signature: int wpa_auth_rekey_gtk(struct wpa_authenticator *wpa_auth)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_auth_logger
      Src: /src/hostap/src/ap/wpa_auth.c:7879,1
    - Dst: wpa_request_new_ptk
      Src: /src/hostap/src/ap/wpa_auth.c:7880,1
    - Dst: wpa_sm_step
      Src: /src/hostap/src/ap/wpa_auth.c:7881,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - wpa_auth
    - sm
    argTypes:
    - struct wpa_authenticator*
    - struct wpa_state_machine*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7883
      start: 7874
    functionDepth: 9
    functionLinenumber: 7874
    functionLinenumberEnd: 7883
    functionName: wpa_auth_rekey_ptk
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 1
    functionsReached:
    - wpa_sm_step
    - wpa_request_new_ptk
    - wpa_auth_logger
    linkageType: ''
    returnType: int
    signature: "int wpa_auth_rekey_ptk(struct wpa_authenticator *wpa_auth,\n\t\t       struct
      wpa_state_machine *sm)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - wpa_auth
    - val
    argTypes:
    - struct wpa_authenticator*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7890
      start: 7886
    functionDepth: 0
    functionLinenumber: 7886
    functionLinenumberEnd: 7890
    functionName: wpa_auth_set_ft_rsnxe_used
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wpa_auth_set_ft_rsnxe_used(struct wpa_authenticator *wpa_auth,
      int val)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - wpa_auth
    - frame
    - freq
    argTypes:
    - struct wpa_authenticator*
    - enum wpa_auth_ocv_override_frame
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7913
      start: 7893
    functionDepth: 0
    functionLinenumber: 7893
    functionLinenumberEnd: 7913
    functionName: wpa_auth_set_ocv_override_freq
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpa_auth_set_ocv_override_freq(struct wpa_authenticator *wpa_auth,\n\t\t\t\t
      \   enum wpa_auth_ocv_override_frame frame,\n\t\t\t\t    unsigned int freq)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:7921,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth.c:7924,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:7928,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth.c:7929,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/wpa_auth.c:7939,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - sm
    - success
    argTypes:
    - struct wpa_state_machine*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7940
      start: 7918
    functionDepth: 1
    functionLinenumber: 7918
    functionLinenumberEnd: 7940
    functionName: wpa_auth_sta_radius_psk_resp
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    - eloop_register_timeout
    linkageType: ''
    returnType: void
    signature: void wpa_auth_sta_radius_psk_resp(struct wpa_state_machine *sm, bool
      success)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/ap/wpa_auth.c:7952,1
    - Dst: wpa_auth_logger
      Src: /src/hostap/src/ap/wpa_auth.c:7955,1
    - Dst: wpa_auth_get_spa
      Src: /src/hostap/src/ap/wpa_auth.c:7955,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:7958,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:7972,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:7974,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth.c:7977,1
    - Dst: wpa_auth_for_each_auth
      Src: /src/hostap/src/ap/wpa_auth.c:7985,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:7994,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth.c:7997,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 3
    argNames:
    - sm
    - mld_assoc_link_id
    - info
    argTypes:
    - struct wpa_state_machine*
    - u8
    - struct mld_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8001
      start: 7943
    functionDepth: 1
    functionLinenumber: 7943
    functionLinenumberEnd: 8001
    functionName: wpa_auth_set_ml_info
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_auth_get_spa
    - MAC2STR
    - wpa_auth_logger
    - wpa_auth_for_each_auth
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void wpa_auth_set_ml_info(struct wpa_state_machine *sm,\n\t\t\t  u8
      mld_assoc_link_id, struct mld_info *info)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:8016,1
    - Dst: wpa_mic_len
      Src: /src/hostap/src/ap/wpa_auth.c:8021,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:8023,1
    - Dst: wpa_use_akm_defined
      Src: /src/hostap/src/ap/wpa_auth.c:8029,1
    - Dst: wpa_use_cmac
      Src: /src/hostap/src/ap/wpa_auth.c:8031,1
    - Dst: wpa_eapol_key_mic
      Src: /src/hostap/src/ap/wpa_auth.c:8038,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/ap/wpa_auth.c:8040,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:8041,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 4
    argNames:
    - sm
    - timestamp
    - mic
    - mic_len
    argTypes:
    - struct wpa_state_machine*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8047
      start: 8004
    functionDepth: 1
    functionLinenumber: 8004
    functionLinenumberEnd: 8047
    functionName: wpa_auth_sm_known_sta_identification
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_use_akm_defined
    - os_memcmp_const
    - wpa_use_cmac
    - wpa_eapol_key_mic
    - wpa_mic_len
    linkageType: ''
    returnType: bool
    signature: "bool wpa_auth_sm_known_sta_identification(struct wpa_state_machine
      *sm,\n\t\t\t\t\t  const u8 *timestamp,\n\t\t\t\t\t  const u8 *mic, size_t mic_len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/ap/wpa_auth.c:8067,1
    - Dst: wpa_auth_ml_group_kdes
      Src: /src/hostap/src/ap/wpa_auth.c:8075,1
    - Dst: wpa_auth_ml_group_kdes_len
      Src: /src/hostap/src/ap/wpa_auth.c:8076,1
    - Dst: wpa_add_kde
      Src: /src/hostap/src/ap/wpa_auth.c:8083,1
    - Dst: ieee80211w_kde_add
      Src: /src/hostap/src/ap/wpa_auth.c:8085,1
    - Dst: ieee80211w_kde_len
      Src: /src/hostap/src/ap/wpa_auth.c:8088,1
    - Dst: wpa_key_mgmt_sae
      Src: /src/hostap/src/ap/wpa_auth.c:8096,1
    - Dst: ieee802_11_rsnx_capab
      Src: /src/hostap/src/ap/wpa_auth.c:8099,1
    - Dst: add_sae_pw_ids
      Src: /src/hostap/src/ap/wpa_auth.c:8101,1
    - Dst: wpa_auth_get_seqnum
      Src: /src/hostap/src/ap/wpa_auth.c:8111,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:8122,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:8125,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth.c:8135,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/ap/wpa_auth.c:8142,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 48
    argCount: 4
    argNames:
    - eid
    - max_len
    - sm
    - is_ml
    argTypes:
    - u8*
    - size_t
    - struct wpa_state_machine*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8144
      start: 8052
    functionDepth: 4
    functionLinenumber: 8052
    functionLinenumberEnd: 8144
    functionName: wpa_auth_eid_key_delivery
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpa_key_mgmt_sae
    - os_memcpy
    - wpa_add_kde
    - os_malloc
    - ieee80211w_kde_len
    - ieee80211w_kde_add
    - ieee802_11_rsnx_capab
    - add_sae_pw_ids
    - wpa_auth_ml_group_kdes
    - wpa_auth_get_seqnum
    - wpa_auth_ml_group_kdes_len
    - bin_clear_free
    linkageType: ''
    returnType: u8
    signature: "u8 * wpa_auth_eid_key_delivery(u8 *eid, size_t max_len,\n\t\t\t       struct
      wpa_state_machine *sm, bool is_ml)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_11_rsnx_capab
      Src: /src/hostap/src/ap/wpa_auth.c:8153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_state_machine*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8155
      start: 8147
    functionDepth: 1
    functionLinenumber: 8147
    functionLinenumberEnd: 8155
    functionName: wpa_auth_ap_sta_support_assoc_enc
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - ieee802_11_rsnx_capab
    linkageType: ''
    returnType: bool
    signature: bool wpa_auth_ap_sta_support_assoc_enc(struct wpa_state_machine *sm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_group_ensure_init
      Src: /src/hostap/src/ap/wpa_auth.c:8167,1
    - Dst: for_each_sm_auth
      Src: /src/hostap/src/ap/wpa_auth.c:8169,1
    - Dst: wpa_group_ensure_init
      Src: /src/hostap/src/ap/wpa_auth.c:8170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_state_machine*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8175
      start: 8158
    functionDepth: 4
    functionLinenumber: 8158
    functionLinenumberEnd: 8175
    functionName: wpa_auth_ensure_group_init
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - for_each_sm_auth
    - wpa_group_ensure_init
    linkageType: ''
    returnType: void
    signature: void wpa_auth_ensure_group_init(struct wpa_state_machine *sm)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_write_rsn_ie
      Src: /src/hostap/src/ap/wpa_auth.c:8187,1
    - Dst: wpa_auth_eid_key_delivery
      Src: /src/hostap/src/ap/wpa_auth.c:8191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - sm
    - pos
    - max_len
    - is_ml
    argTypes:
    - struct wpa_state_machine*
    - u8*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8194
      start: 8178
    functionDepth: 5
    functionLinenumber: 8178
    functionLinenumberEnd: 8194
    functionName: wpa_auth_write_assoc_resp_eppke
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpa_write_rsn_ie
    - wpa_auth_eid_key_delivery
    linkageType: ''
    returnType: u8
    signature: "u8 * wpa_auth_write_assoc_resp_eppke(struct wpa_state_machine *sm,\n\t\t\t\t
      \    u8 *pos, size_t max_len, bool is_ml)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rsn_pmkid_privacy
      Src: /src/hostap/src/ap/wpa_auth.c:8204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - anonce
    - snonce
    - akmp
    - pmk_len
    - pmkid
    argTypes:
    - u8*
    - u8*
    - int
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8205
      start: 8201
    functionDepth: 1
    functionLinenumber: 8201
    functionLinenumberEnd: 8205
    functionName: wpa_auth_epp_derive_new_pmkid
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - rsn_pmkid_privacy
    linkageType: ''
    returnType: int
    signature: "int wpa_auth_epp_derive_new_pmkid(const u8 *anonce, const u8 *snonce,\n\t\t\t\t
      \ int akmp, size_t pmk_len, u8 *pmkid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_11_rsnx_capab
      Src: /src/hostap/src/ap/wpa_auth.c:8218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_state_machine*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8220
      start: 8208
    functionDepth: 1
    functionLinenumber: 8208
    functionLinenumberEnd: 8220
    functionName: wpa_auth_ap_sta_support_pmkid_privacy
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - ieee802_11_rsnx_capab
    linkageType: ''
    returnType: bool
    signature: bool wpa_auth_ap_sta_support_pmkid_privacy(struct wpa_state_machine
      *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - assoc_sm
    - wpa_auth
    - mld_assoc_link_id
    argTypes:
    - struct wpa_state_machine*
    - struct wpa_authenticator*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8233
      start: 8225
    functionDepth: 0
    functionLinenumber: 8225
    functionLinenumberEnd: 8233
    functionName: wpa_reset_assoc_sm_info
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpa_reset_assoc_sm_info(struct wpa_state_machine *assoc_sm,\n\t\t\t
      \    struct wpa_authenticator *wpa_auth,\n\t\t\t     u8 mld_assoc_link_id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth.c:8257,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - gsm
    - vlan_id
    argTypes:
    - struct wpa_group*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8262
      start: 8245
    functionDepth: 0
    functionLinenumber: 8245
    functionLinenumberEnd: 8262
    functionName: wpa_select_vlan_wpa_group
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 9
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: struct wpa_group
    signature: struct wpa_group * wpa_select_vlan_wpa_group(struct wpa_group *gsm,
      int vlan_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/wpa_auth.c:8270,1
    - Dst: wpabuf_dup
      Src: /src/hostap/src/ap/wpa_auth.c:8271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - sm
    - pw_id
    - counter
    argTypes:
    - struct wpa_state_machine*
    - struct wpabuf*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8274
      start: 8265
    functionDepth: 1
    functionLinenumber: 8265
    functionLinenumberEnd: 8274
    functionName: wpa_auth_set_sae_pw_id
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpabuf_dup
    - wpabuf_free
    linkageType: ''
    returnType: void
    signature: "void wpa_auth_set_sae_pw_id(struct wpa_state_machine *sm,\n\t\t\t
      \   const struct wpabuf *pw_id,\n\t\t\t    unsigned int counter)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_select_vlan_wpa_group
      Src: /src/hostap/src/ap/wpa_auth.c:8285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - wpa_auth
    - vlan_id
    argTypes:
    - struct wpa_authenticator*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8287
      start: 8277
    functionDepth: 1
    functionLinenumber: 8277
    functionLinenumberEnd: 8287
    functionName: wpa_auth_get_first_sta_seen
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpa_select_vlan_wpa_group
    linkageType: ''
    returnType: bool
    signature: "bool wpa_auth_get_first_sta_seen(struct wpa_authenticator *wpa_auth,\n\t\t\t\t
      int vlan_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_auth_get_msk
      Src: /src/hostap/src/ap/wpa_auth.c:8293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - wpa_auth
    - addr
    - msk
    - len
    argTypes:
    - struct wpa_authenticator*
    - u8*
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8294
      start: 8290
    functionDepth: 1
    functionLinenumber: 8290
    functionLinenumberEnd: 8294
    functionName: wpa_auth_802_1x_get_msk
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpa_auth_get_msk
    linkageType: ''
    returnType: int
    signature: "int wpa_auth_802_1x_get_msk(struct wpa_authenticator *wpa_auth,\n\t\t\t
      \    const u8 *addr, u8 *msk, size_t *len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_auth_set_key
      Src: /src/hostap/src/ap/wpa_auth.c:8302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - wpa_auth
    - alg
    - addr
    - key
    - key_len
    argTypes:
    - struct wpa_authenticator*
    - enum wpa_alg
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8305
      start: 8297
    functionDepth: 0
    functionLinenumber: 8297
    functionLinenumberEnd: 8305
    functionName: wpa_auth_802_1x_set_key
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached:
    - wpa_auth_set_key
    linkageType: ''
    returnType: int
    signature: "int wpa_auth_802_1x_set_key(struct wpa_authenticator *wpa_auth,\n\t\t\t
      \   enum wpa_alg alg, const u8 *addr,\n\t\t\t    u8 *key, size_t key_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wpa_auth
    argTypes:
    - struct wpa_authenticator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8310
      start: 8307
    functionDepth: 0
    functionLinenumber: 8307
    functionLinenumberEnd: 8310
    functionName: wpa_auth_ap_support_secure_ltf
    functionSourceFile: /src/hostap/src/ap/wpa_auth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool wpa_auth_ap_support_secure_ltf(struct wpa_authenticator *wpa_auth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - bss
    argTypes:
    - struct hostapd_bss_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 41
    functionName: hostapd_config_free_vlan
    functionSourceFile: /src/hostap/src/ap/ap_config.c
    functionUses: 0
    functionsReached:
    - os_free
    linkageType: ''
    returnType: void
    signature: void hostapd_config_free_vlan(struct hostapd_bss_config *bss)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_init
      Src: /src/hostap/src/ap/ap_config.c:50,1
    - Dst: dl_list_init
      Src: /src/hostap/src/ap/ap_config.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 80
    argCount: 1
    argNames:
    - bss
    argTypes:
    - struct hostapd_bss_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 190
    functionName: hostapd_config_defaults_bss
    functionSourceFile: /src/hostap/src/ap/ap_config.c
    functionUses: 2
    functionsReached:
    - dl_list_init
    linkageType: ''
    returnType: void
    signature: void hostapd_config_defaults_bss(struct hostapd_bss_config *bss)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ecw2cw
      Src: /src/hostap/src/ap/ap_config.c:209,1
    - Dst: ecw2cw
      Src: /src/hostap/src/ap/ap_config.c:209,1
    - Dst: ecw2cw
      Src: /src/hostap/src/ap/ap_config.c:211,1
    - Dst: ecw2cw
      Src: /src/hostap/src/ap/ap_config.c:211,1
    - Dst: ecw2cw
      Src: /src/hostap/src/ap/ap_config.c:213,1
    - Dst: ecw2cw
      Src: /src/hostap/src/ap/ap_config.c:213,1
    - Dst: ecw2cw
      Src: /src/hostap/src/ap/ap_config.c:215,1
    - Dst: ecw2cw
      Src: /src/hostap/src/ap/ap_config.c:216,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/ap_config.c:220,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/ap_config.c:221,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ap_config.c:223,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:225,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:226,1
    - Dst: os_calloc
      Src: /src/hostap/src/ap/ap_config.c:229,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:231,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:232,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/ap_config.c:237,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:239,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:240,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:241,1
    - Dst: hostapd_config_defaults_bss
      Src: /src/hostap/src/ap/ap_config.c:245,1
    - Dst: os_random
      Src: /src/hostap/src/ap/ap_config.c:293,1
    - Dst: hostapd_set_and_check_bw320_offset
      Src: /src/hostap/src/ap/ap_config.c:317,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 71
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 322
    functionName: hostapd_config_defaults
    functionSourceFile: /src/hostap/src/ap/ap_config.c
    functionUses: 5
    functionsReached:
    - hostapd_set_and_check_bw320_offset
    - ecw2cw
    - wpa_printf
    - os_calloc
    - os_random
    - os_zalloc
    - os_free
    - hostapd_config_defaults_bss
    linkageType: ''
    returnType: struct hostapd_config
    signature: struct hostapd_config * hostapd_config_defaults(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ecw
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 196
    functionName: ecw2cw
    functionSourceFile: /src/hostap/src/ap/ap_config.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ecw2cw(ecw)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/ap_config.c:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 328
    functionName: hostapd_mac_comp
    functionSourceFile: /src/hostap/src/ap/ap_config.c
    functionUses: 0
    functionsReached:
    - os_memcmp
    linkageType: ''
    returnType: int
    signature: int hostapd_mac_comp(const void *a, const void *b)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/hostap/src/ap/ap_config.c:349,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ap_config.c:351,1
    - Dst: fgets
      Src: /src/hostap/src/ap/ap_config.c:355,1
    - Dst: str_token
      Src: /src/hostap/src/ap/ap_config.c:376,1
    - Dst: os_strchr
      Src: /src/hostap/src/ap/ap_config.c:377,1
    - Dst: str_token
      Src: /src/hostap/src/ap/ap_config.c:380,1
    - Dst: str_token
      Src: /src/hostap/src/ap/ap_config.c:383,1
    - Dst: os_strcmp
      Src: /src/hostap/src/ap/ap_config.c:386,1
    - Dst: os_strcmp
      Src: /src/hostap/src/ap/ap_config.c:388,1
    - Dst: atoi
      Src: /src/hostap/src/ap/ap_config.c:389,1
    - Dst: os_strcmp
      Src: /src/hostap/src/ap/ap_config.c:390,1
    - Dst: atoi
      Src: /src/hostap/src/ap/ap_config.c:391,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ap_config.c:393,1
    - Dst: hwaddr_aton
      Src: /src/hostap/src/ap/ap_config.c:406,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ap_config.c:407,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/ap_config.c:414,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ap_config.c:416,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/ap/ap_config.c:421,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ap_config.c:424,1
    - Dst: str_token
      Src: /src/hostap/src/ap/ap_config.c:426,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ap_config.c:428,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:430,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/ap_config.c:436,1
    - Dst: hexstr2bin
      Src: /src/hostap/src/ap/ap_config.c:438,1
    - Dst: pbkdf2_sha1
      Src: /src/hostap/src/ap/ap_config.c:441,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ap_config.c:445,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:448,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/ap/ap_config.c:454,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ap_config.c:456,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:459,1
    - Dst: fclose
      Src: /src/hostap/src/ap/ap_config.c:471,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 101
    argCount: 2
    argNames:
    - fname
    - ssid
    argTypes:
    - char*
    - struct hostapd_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 474
    functionName: hostapd_config_read_wpa_psk
    functionSourceFile: /src/hostap/src/ap/ap_config.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - os_memcpy
    - str_token
    - hexstr2bin
    - hwaddr_aton
    - is_zero_ether_addr
    - os_strlcpy
    - fclose
    - pbkdf2_sha1
    - os_zalloc
    - atoi
    - os_strchr
    - os_free
    - fopen
    - os_strcmp
    - fgets
    linkageType: ''
    returnType: int
    signature: "int hostapd_config_read_wpa_psk(const char *fname,\n\t\t\t\t       struct
      hostapd_ssid *ssid)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/ap_config.c:479,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ap_config.c:481,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/ap/ap_config.c:484,1
    - Dst: wpa_hexdump_ascii_key
      Src: /src/hostap/src/ap/ap_config.c:486,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/ap_config.c:488,1
    - Dst: pbkdf2_sha1
      Src: /src/hostap/src/ap/ap_config.c:489,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ap_config.c:492,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/ap/ap_config.c:495,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - ssid
    argTypes:
    - struct hostapd_ssid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 498
    functionName: hostapd_derive_psk
    functionSourceFile: /src/hostap/src/ap/ap_config.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - wpa_hexdump_key
    - pbkdf2_sha1
    - os_zalloc
    - wpa_hexdump_ascii_key
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: int
    signature: int hostapd_derive_psk(struct hostapd_ssid *ssid)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_sae_pw_id_in_use
      Src: /src/hostap/src/ap/ap_config.c:510,1
    - Dst: wpa_key_mgmt_sae_ext_key
      Src: /src/hostap/src/ap/ap_config.c:511,1
    - Dst: hostapd_sae_pk_in_use
      Src: /src/hostap/src/ap/ap_config.c:514,1
    - Dst: wpa_key_mgmt_sae
      Src: /src/hostap/src/ap/ap_config.c:516,1
    - Dst: wpa_key_mgmt_sae_ext_key
      Src: /src/hostap/src/ap/ap_config.c:523,1
    - Dst: sae_deinit_pt
      Src: /src/hostap/src/ap/ap_config.c:529,1
    - Dst: sae_derive_pt
      Src: /src/hostap/src/ap/ap_config.c:532,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/ap_config.c:534,1
    - Dst: sae_deinit_pt
      Src: /src/hostap/src/ap/ap_config.c:541,1
    - Dst: sae_derive_pt
      Src: /src/hostap/src/ap/ap_config.c:542,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/ap_config.c:544,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/ap_config.c:547,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 1
    argNames:
    - conf
    argTypes:
    - struct hostapd_bss_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 501
    functionDepth: 1
    functionLinenumber: 501
    functionLinenumberEnd: 554
    functionName: hostapd_setup_sae_pt
    functionSourceFile: /src/hostap/src/ap/ap_config.c
    functionUses: 1
    functionsReached:
    - wpa_key_mgmt_sae
    - sae_derive_pt
    - os_strlen
    - sae_deinit_pt
    - wpa_key_mgmt_sae_ext_key
    - hostapd_sae_pw_id_in_use
    - hostapd_sae_pk_in_use
    linkageType: ''
    returnType: int
    signature: int hostapd_setup_sae_pt(struct hostapd_bss_config *conf)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_setup_sae_pt
      Src: /src/hostap/src/ap/ap_config.c:561,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ap_config.c:566,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ap_config.c:569,1
    - Dst: hostapd_derive_psk
      Src: /src/hostap/src/ap/ap_config.c:571,1
    - Dst: hostapd_config_read_wpa_psk
      Src: /src/hostap/src/ap/ap_config.c:577,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - conf
    argTypes:
    - struct hostapd_bss_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 557
    functionDepth: 2
    functionLinenumber: 557
    functionLinenumberEnd: 578
    functionName: hostapd_setup_wpa_psk
    functionSourceFile: /src/hostap/src/ap/ap_config.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - hostapd_derive_psk
    - hostapd_config_read_wpa_psk
    - hostapd_setup_sae_pt
    linkageType: ''
    returnType: int
    signature: int hostapd_setup_wpa_psk(struct hostapd_bss_config *conf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:587,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:588,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:589,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:590,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:591,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:593,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - servers
    - num_servers
    argTypes:
    - struct hostapd_radius_server*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 594
    functionName: hostapd_config_free_radius
    functionSourceFile: /src/hostap/src/ap/ap_config.c
    functionUses: 0
    functionsReached:
    - os_free
    linkageType: ''
    returnType: void
    signature: "void hostapd_config_free_radius(struct hostapd_radius_server *servers,\n\t\t\t\t
      \      int num_servers)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - attr
    - type
    argTypes:
    - struct hostapd_radius_attr*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 605
    functionName: hostapd_config_get_radius_attr
    functionSourceFile: /src/hostap/src/ap/ap_config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct hostapd_radius_attr
    signature: 'struct hostapd_radius_attr *

      hostapd_config_get_radius_attr(struct hostapd_radius_attr *attr, u8 type)'
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/ap_config.c:615,1
    - Dst: atoi
      Src: /src/hostap/src/ap/ap_config.c:619,1
    - Dst: os_strchr
      Src: /src/hostap/src/ap/ap_config.c:621,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/ap/ap_config.c:623,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:625,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/ap_config.c:628,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:634,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/ap/ap_config.c:642,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/ap_config.c:642,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/ap_config.c:645,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/ap/ap_config.c:649,1
    - Dst: hexstr2bin
      Src: /src/hostap/src/ap/ap_config.c:652,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/ap/ap_config.c:652,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ap_config.c:653,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:654,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/ap/ap_config.c:659,1
    - Dst: wpabuf_put_be32
      Src: /src/hostap/src/ap/ap_config.c:661,1
    - Dst: atoi
      Src: /src/hostap/src/ap/ap_config.c:661,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:664,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:669,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 54
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 608
    functionDepth: 1
    functionLinenumber: 608
    functionLinenumberEnd: 674
    functionName: hostapd_parse_radius_attr
    functionSourceFile: /src/hostap/src/ap/ap_config.c
    functionUses: 1
    functionsReached:
    - os_strlen
    - wpabuf_put
    - wpabuf_put_u8
    - hexstr2bin
    - wpabuf_free
    - wpabuf_alloc_copy
    - os_zalloc
    - wpabuf_alloc
    - wpabuf_put_be32
    - atoi
    - os_strchr
    - os_free
    linkageType: ''
    returnType: struct hostapd_radius_attr
    signature: struct hostapd_radius_attr * hostapd_parse_radius_attr(const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ap_config.c:684,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:685,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - attr
    argTypes:
    - struct hostapd_radius_attr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 677
    functionDepth: 1
    functionLinenumber: 677
    functionLinenumberEnd: 687
    functionName: hostapd_config_free_radius_attr
    functionSourceFile: /src/hostap/src/ap/ap_config.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpabuf_free
    linkageType: ''
    returnType: void
    signature: void hostapd_config_free_radius_attr(struct hostapd_radius_attr *attr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_config_free_radius_attr
      Src: /src/hostap/src/ap/ap_config.c:692,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:693,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/ap/ap_config.c:694,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/ap/ap_config.c:695,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:696,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - user
    argTypes:
    - struct hostapd_eap_user*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 690
    functionDepth: 2
    functionLinenumber: 690
    functionLinenumberEnd: 697
    functionName: hostapd_config_free_eap_user
    functionSourceFile: /src/hostap/src/ap/ap_config.c
    functionUses: 1
    functionsReached:
    - os_free
    - hostapd_config_free_radius_attr
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: void hostapd_config_free_eap_user(struct hostapd_eap_user *user)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_config_free_eap_user
      Src: /src/hostap/src/ap/ap_config.c:707,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - user
    argTypes:
    - struct hostapd_eap_user*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 700
    functionDepth: 3
    functionLinenumber: 700
    functionLinenumberEnd: 709
    functionName: hostapd_config_free_eap_users
    functionSourceFile: /src/hostap/src/ap/ap_config.c
    functionUses: 1
    functionsReached:
    - hostapd_config_free_eap_user
    linkageType: ''
    returnType: void
    signature: void hostapd_config_free_eap_users(struct hostapd_eap_user *user)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bin_clear_free
      Src: /src/hostap/src/ap/ap_config.c:717,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - keys
    argTypes:
    - struct hostapd_wep_keys*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 713
    functionDepth: 1
    functionLinenumber: 713
    functionLinenumberEnd: 720
    functionName: hostapd_config_free_wep
    functionSourceFile: /src/hostap/src/ap/ap_config.c
    functionUses: 0
    functionsReached:
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: void hostapd_config_free_wep(struct hostapd_wep_keys *keys)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bin_clear_free
      Src: /src/hostap/src/ap/ap_config.c:731,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - l
    argTypes:
    - struct hostapd_wpa_psk**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 724
    functionDepth: 1
    functionLinenumber: 724
    functionLinenumberEnd: 734
    functionName: hostapd_config_clear_wpa_psk
    functionSourceFile: /src/hostap/src/ap/ap_config.c
    functionUses: 1
    functionsReached:
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: void hostapd_config_clear_wpa_psk(struct hostapd_wpa_psk **l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:749,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:757,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - conf
    argTypes:
    - struct hostapd_bss_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 739
    functionDepth: 0
    functionLinenumber: 739
    functionLinenumberEnd: 759
    functionName: hostapd_config_clear_rxkhs
    functionSourceFile: /src/hostap/src/ap/ap_config.c
    functionUses: 1
    functionsReached:
    - os_free
    linkageType: ''
    returnType: void
    signature: void hostapd_config_clear_rxkhs(struct hostapd_bss_config *conf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_first
      Src: /src/hostap/src/ap/ap_config.c:768,1
    - Dst: dl_list_del
      Src: /src/hostap/src/ap/ap_config.c:770,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ap_config.c:771,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:772,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - conf
    argTypes:
    - struct hostapd_bss_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 764
    functionDepth: 1
    functionLinenumber: 764
    functionLinenumberEnd: 774
    functionName: hostapd_config_free_anqp_elem
    functionSourceFile: /src/hostap/src/ap/ap_config.c
    functionUses: 0
    functionsReached:
    - os_free
    - dl_list_first
    - wpabuf_free
    - dl_list_del
    linkageType: ''
    returnType: void
    signature: void hostapd_config_free_anqp_elem(struct hostapd_bss_config *conf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_first
      Src: /src/hostap/src/ap/ap_config.c:782,1
    - Dst: dl_list_del
      Src: /src/hostap/src/ap/ap_config.c:784,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:785,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - conf
    argTypes:
    - struct hostapd_bss_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 777
    functionDepth: 1
    functionLinenumber: 777
    functionLinenumberEnd: 788
    functionName: hostapd_config_free_fils_realms
    functionSourceFile: /src/hostap/src/ap/ap_config.c
    functionUses: 0
    functionsReached:
    - os_free
    - dl_list_first
    - dl_list_del
    linkageType: ''
    returnType: void
    signature: void hostapd_config_free_fils_realms(struct hostapd_bss_config *conf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: str_clear_free
      Src: /src/hostap/src/ap/ap_config.c:800,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:801,1
    - Dst: sae_deinit_pt
      Src: /src/hostap/src/ap/ap_config.c:803,1
    - Dst: sae_deinit_pk
      Src: /src/hostap/src/ap/ap_config.c:806,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:808,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:809,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:810,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - conf
    argTypes:
    - struct hostapd_bss_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 791
    functionDepth: 1
    functionLinenumber: 791
    functionLinenumberEnd: 812
    functionName: hostapd_config_free_sae_passwords
    functionSourceFile: /src/hostap/src/ap/ap_config.c
    functionUses: 0
    functionsReached:
    - os_free
    - sae_deinit_pk
    - str_clear_free
    - sae_deinit_pt
    linkageType: ''
    returnType: void
    signature: void hostapd_config_free_sae_passwords(struct hostapd_bss_config *conf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:823,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - conf
    argTypes:
    - struct dpp_controller_conf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 825
    functionName: hostapd_dpp_controller_conf_free
    functionSourceFile: /src/hostap/src/ap/ap_config.c
    functionUses: 0
    functionsReached:
    - os_free
    linkageType: ''
    returnType: void
    signature: void hostapd_dpp_controller_conf_free(struct dpp_controller_conf *conf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_config_clear_wpa_psk
      Src: /src/hostap/src/ap/ap_config.c:838,1
    - Dst: str_clear_free
      Src: /src/hostap/src/ap/ap_config.c:840,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:841,1
    - Dst: hostapd_config_free_wep
      Src: /src/hostap/src/ap/ap_config.c:843,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:846,1
    - Dst: sae_deinit_pt
      Src: /src/hostap/src/ap/ap_config.c:849,1
    - Dst: hostapd_config_free_eap_users
      Src: /src/hostap/src/ap/ap_config.c:852,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:853,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:855,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:856,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:857,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:858,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:859,1
    - Dst: hostapd_config_free_radius
      Src: /src/hostap/src/ap/ap_config.c:861,1
    - Dst: hostapd_config_free_radius
      Src: /src/hostap/src/ap/ap_config.c:863,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:865,1
    - Dst: hostapd_config_free_radius_attr
      Src: /src/hostap/src/ap/ap_config.c:867,1
    - Dst: hostapd_config_free_radius_attr
      Src: /src/hostap/src/ap/ap_config.c:868,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:869,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:870,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:871,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:872,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:873,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:874,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:875,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:876,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:877,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:878,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:879,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:880,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:881,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:882,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:883,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:884,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:885,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:886,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:887,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:888,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:889,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:890,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:891,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:892,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:893,1
    - Dst: hostapd_config_free_vlan
      Src: /src/hostap/src/ap/ap_config.c:894,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:895,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:896,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:897,1
    - Dst: hostapd_config_clear_rxkhs
      Src: /src/hostap/src/ap/ap_config.c:900,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:901,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:906,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:907,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:908,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:909,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:910,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:911,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:912,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:913,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:914,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:915,1
    - Dst: hostapd_config_clear_wpa_psk
      Src: /src/hostap/src/ap/ap_config.c:916,1
    - Dst: str_clear_free
      Src: /src/hostap/src/ap/ap_config.c:917,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:918,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:919,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:920,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:921,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:922,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:923,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ap_config.c:925,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ap_config.c:926,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ap_config.c:927,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ap_config.c:928,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ap_config.c:929,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:932,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:933,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:934,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:935,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:936,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:937,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:938,1
    - Dst: hostapd_config_free_anqp_elem
      Src: /src/hostap/src/ap/ap_config.c:939,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:942,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:946,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:947,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:948,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:949,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:950,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:951,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ap_config.c:954,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ap_config.c:955,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:957,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:959,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:962,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:964,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ap_config.c:967,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ap_config.c:968,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ap_config.c:969,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ap_config.c:970,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ap_config.c:971,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ap_config.c:972,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ap_config.c:973,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ap_config.c:974,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ap_config.c:975,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ap_config.c:976,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ap_config.c:977,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ap_config.c:978,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ap_config.c:979,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ap_config.c:980,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ap_config.c:981,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ap_config.c:982,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:985,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:986,1
    - Dst: hostapd_config_free_fils_realms
      Src: /src/hostap/src/ap/ap_config.c:988,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:991,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:992,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:993,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:994,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:995,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ap_config.c:996,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ap_config.c:997,1
    - Dst: hostapd_dpp_controller_conf_free
      Src: /src/hostap/src/ap/ap_config.c:999,1
    - Dst: hostapd_config_free_sae_passwords
      Src: /src/hostap/src/ap/ap_config.c:1003,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:1014,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:1020,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:1022,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/ap/ap_config.c:1026,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:1028,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 140
    argCount: 1
    argNames:
    - conf
    argTypes:
    - struct hostapd_bss_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1029
      start: 829
    functionDepth: 4
    functionLinenumber: 829
    functionLinenumberEnd: 1029
    functionName: hostapd_config_free_bss
    functionSourceFile: /src/hostap/src/ap/ap_config.c
    functionUses: 0
    functionsReached:
    - hostapd_config_free_eap_users
    - sae_deinit_pt
    - hostapd_dpp_controller_conf_free
    - wpabuf_free
    - hostapd_config_free_vlan
    - hostapd_config_free_sae_passwords
    - hostapd_config_clear_wpa_psk
    - hostapd_config_free_anqp_elem
    - str_clear_free
    - hostapd_config_free_radius_attr
    - hostapd_config_free_wep
    - wpabuf_clear_free
    - hostapd_config_clear_rxkhs
    - os_free
    - hostapd_config_free_fils_realms
    - hostapd_config_free_radius
    linkageType: ''
    returnType: void
    signature: void hostapd_config_free_bss(struct hostapd_bss_config *conf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:1038,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:1039,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:1041,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - conf
    argTypes:
    - struct hostapd_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1033
    functionDepth: 0
    functionLinenumber: 1033
    functionLinenumberEnd: 1044
    functionName: hostapd_config_free_afc_cert_ids
    functionSourceFile: /src/hostap/src/ap/ap_config.c
    functionUses: 1
    functionsReached:
    - os_free
    linkageType: ''
    returnType: void
    signature: void hostapd_config_free_afc_cert_ids(struct hostapd_config *conf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_config_free_bss
      Src: /src/hostap/src/ap/ap_config.c:1060,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:1061,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:1062,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:1063,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:1064,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:1066,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ap_config.c:1068,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ap_config.c:1069,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:1071,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:1072,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:1073,1
    - Dst: hostapd_config_free_afc_cert_ids
      Src: /src/hostap/src/ap/ap_config.c:1074,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:1075,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:1076,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:1077,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:1078,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:1079,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:1080,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_config.c:1083,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 1
    argNames:
    - conf
    argTypes:
    - struct hostapd_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1052
    functionDepth: 5
    functionLinenumber: 1052
    functionLinenumberEnd: 1084
    functionName: hostapd_config_free
    functionSourceFile: /src/hostap/src/ap/ap_config.c
    functionUses: 4
    functionsReached:
    - os_free
    - hostapd_config_free_afc_cert_ids
    - wpabuf_free
    - hostapd_config_free_bss
    linkageType: ''
    returnType: void
    signature: void hostapd_config_free(struct hostapd_config *conf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/ap_config.c:1107,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - list
    - num_entries
    - addr
    - vlan_id
    argTypes:
    - struct mac_acl_entry*
    - int
    - u8*
    - struct vlan_description*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1097
    functionDepth: 0
    functionLinenumber: 1097
    functionLinenumberEnd: 1120
    functionName: hostapd_maclist_found
    functionSourceFile: /src/hostap/src/ap/ap_config.c
    functionUses: 4
    functionsReached:
    - os_memcmp
    linkageType: ''
    returnType: int
    signature: "int hostapd_maclist_found(struct mac_acl_entry *list, int num_entries,\n\t\t\t
      \ const u8 *addr, struct vlan_description *vlan_id)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlan_compare
      Src: /src/hostap/src/ap/ap_config.c:1141,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 2
    argNames:
    - vlan
    - vlan_desc
    argTypes:
    - struct hostapd_vlan*
    - struct vlan_description*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1147
      start: 1123
    functionDepth: 0
    functionLinenumber: 1123
    functionLinenumberEnd: 1147
    functionName: hostapd_vlan_valid
    functionSourceFile: /src/hostap/src/ap/ap_config.c
    functionUses: 0
    functionsReached:
    - vlan_compare
    linkageType: ''
    returnType: int
    signature: "int hostapd_vlan_valid(struct hostapd_vlan *vlan,\n\t\t       struct
      vlan_description *vlan_desc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - vlan
    - vlan_id
    argTypes:
    - struct hostapd_vlan*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1159
      start: 1150
    functionDepth: 0
    functionLinenumber: 1150
    functionLinenumberEnd: 1159
    functionName: hostapd_get_vlan_id_ifname
    functionSourceFile: /src/hostap/src/ap/ap_config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * hostapd_get_vlan_id_ifname(struct hostapd_vlan *vlan, int vlan_id)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/ap/ap_config.c:1172,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ap_config.c:1173,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ap_config.c:1175,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ap_config.c:1175,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ap_config.c:1178,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ap_config.c:1180,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/ap_config.c:1186,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/ap_config.c:1188,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 19
    argCount: 5
    argNames:
    - conf
    - addr
    - p2p_dev_addr
    - prev_psk
    - vlan_id
    argTypes:
    - struct hostapd_bss_config*
    - u8*
    - u8*
    - u8*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1199
      start: 1162
    functionDepth: 1
    functionLinenumber: 1162
    functionLinenumberEnd: 1199
    functionName: hostapd_get_psk
    functionSourceFile: /src/hostap/src/ap/ap_config.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    - is_zero_ether_addr
    - ether_addr_equal
    linkageType: ''
    returnType: u8
    signature: "u8 * hostapd_get_psk(const struct hostapd_bss_config *conf,\n\t\t\t
      \  const u8 *addr, const u8 *p2p_dev_addr,\n\t\t\t   const u8 *prev_psk, int
      *vlan_id)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ap_config.c:1236,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ap_config.c:1242,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ap_config.c:1250,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ap_config.c:1257,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ap_config.c:1265,1
    - Dst: wpa_key_mgmt_sae
      Src: /src/hostap/src/ap/ap_config.c:1270,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ap_config.c:1272,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - bss
    argTypes:
    - struct hostapd_bss_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1278
      start: 1233
    functionDepth: 1
    functionLinenumber: 1233
    functionLinenumberEnd: 1278
    functionName: hostapd_config_check_bss_6g
    functionSourceFile: /src/hostap/src/ap/ap_config.c
    functionUses: 1
    functionsReached:
    - wpa_key_mgmt_sae
    - wpa_printf
    linkageType: ''
    returnType: bool
    signature: bool hostapd_config_check_bss_6g(struct hostapd_bss_config *bss)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: is_6ghz_op_class
      Src: /src/hostap/src/ap/ap_config.c:1285,1
    - Dst: hostapd_config_check_bss_6g
      Src: /src/hostap/src/ap/ap_config.c:1286,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ap_config.c:1291,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ap_config.c:1310,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ap_config.c:1320,1
    - Dst: wpa_key_mgmt_wpa_psk_no_sae
      Src: /src/hostap/src/ap/ap_config.c:1326,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ap_config.c:1332,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/ap/ap_config.c:1337,1
    - Dst: hostapd_mac_comp
      Src: /src/hostap/src/ap/ap_config.c:1342,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ap_config.c:1344,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ap_config.c:1346,1
    - Dst: os_strcmp
      Src: /src/hostap/src/ap/ap_config.c:1358,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ap_config.c:1359,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ap_config.c:1362,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ap_config.c:1363,1
    - Dst: wpa_key_mgmt_ft
      Src: /src/hostap/src/ap/ap_config.c:1370,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/ap_config.c:1372,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/ap_config.c:1373,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ap_config.c:1374,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ap_config.c:1384,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ap_config.c:1392,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ap_config.c:1403,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ap_config.c:1413,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ap_config.c:1424,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ap_config.c:1434,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ap_config.c:1445,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ap_config.c:1452,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ap_config.c:1460,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ap_config.c:1471,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ap_config.c:1483,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ap_config.c:1493,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ap_config.c:1502,1
    - Dst: hostapd_sae_pk_in_use
      Src: /src/hostap/src/ap/ap_config.c:1509,1
    - Dst: hostapd_sae_pk_password_without_pk
      Src: /src/hostap/src/ap/ap_config.c:1510,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ap_config.c:1511,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ap_config.c:1520,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ap_config.c:1527,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ap_config.c:1537,1
    - Dst: ap_pmf_enabled
      Src: /src/hostap/src/ap/ap_config.c:1542,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ap_config.c:1544,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ap_config.c:1550,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ap_config.c:1558,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ap_config.c:1564,1
    CyclomaticComplexity: 124
    EdgeCount: 124
    ICount: 136
    argCount: 3
    argNames:
    - bss
    - conf
    - full_config
    argTypes:
    - struct hostapd_bss_config*
    - struct hostapd_config*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1577
      start: 1281
    functionDepth: 2
    functionLinenumber: 1281
    functionLinenumberEnd: 1577
    functionName: hostapd_config_check_bss
    functionSourceFile: /src/hostap/src/ap/ap_config.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - ap_pmf_enabled
    - wpa_printf
    - is_6ghz_op_class
    - wpa_key_mgmt_wpa_psk_no_sae
    - is_zero_ether_addr
    - wpa_key_mgmt_ft
    - hostapd_sae_pk_password_without_pk
    - MAC2STR
    - hostapd_mac_comp
    - hostapd_config_check_bss_6g
    - os_strcmp
    - hostapd_sae_pk_in_use
    linkageType: ''
    returnType: int
    signature: "int hostapd_config_check_bss(struct hostapd_bss_config *bss,\n\t\t\t\t
      \   struct hostapd_config *conf,\n\t\t\t\t    int full_config)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ap_config.c:1588,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ap_config.c:1594,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - conf
    - queue
    argTypes:
    - struct hostapd_config*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1600
      start: 1580
    functionDepth: 0
    functionLinenumber: 1580
    functionLinenumberEnd: 1600
    functionName: hostapd_config_check_cw
    functionSourceFile: /src/hostap/src/ap/ap_config.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int hostapd_config_check_cw(struct hostapd_config *conf, int queue)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: is_6ghz_op_class
      Src: /src/hostap/src/ap/ap_config.c:1607,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ap_config.c:1616,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ap_config.c:1622,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ap_config.c:1629,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ap_config.c:1635,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ap_config.c:1642,1
    - Dst: hostapd_config_check_cw
      Src: /src/hostap/src/ap/ap_config.c:1647,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ap_config.c:1653,1
    - Dst: hostapd_set_and_check_bw320_offset
      Src: /src/hostap/src/ap/ap_config.c:1659,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ap_config.c:1664,1
    - Dst: hostapd_config_check_bss
      Src: /src/hostap/src/ap/ap_config.c:1670,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 43
    argCount: 2
    argNames:
    - conf
    - full_config
    argTypes:
    - struct hostapd_config*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1675
      start: 1603
    functionDepth: 3
    functionLinenumber: 1603
    functionLinenumberEnd: 1675
    functionName: hostapd_config_check
    functionSourceFile: /src/hostap/src/ap/ap_config.c
    functionUses: 2
    functionsReached:
    - hostapd_set_and_check_bw320_offset
    - wpa_printf
    - is_6ghz_op_class
    - hostapd_config_check_cw
    - hostapd_config_check_bss
    linkageType: ''
    returnType: int
    signature: int hostapd_config_check(struct hostapd_config *conf, int full_config)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: wpa_select_ap_group_cipher
      Src: /src/hostap/src/ap/ap_config.c:1694,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 56
    argCount: 2
    argNames:
    - bss
    - full_config
    argTypes:
    - struct hostapd_bss_config*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1751
      start: 1678
    functionDepth: 1
    functionLinenumber: 1678
    functionLinenumberEnd: 1751
    functionName: hostapd_set_security_params
    functionSourceFile: /src/hostap/src/ap/ap_config.c
    functionUses: 2
    functionsReached:
    - wpa_select_ap_group_cipher
    linkageType: ''
    returnType: void
    signature: "void hostapd_set_security_params(struct hostapd_bss_config *bss,\n\t\t\t\t
      int full_config)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - conf
    argTypes:
    - struct hostapd_bss_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1774
      start: 1754
    functionDepth: 0
    functionLinenumber: 1754
    functionLinenumberEnd: 1774
    functionName: hostapd_sae_pw_id_in_use
    functionSourceFile: /src/hostap/src/ap/ap_config.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int hostapd_sae_pw_id_in_use(struct hostapd_bss_config *conf)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - conf
    argTypes:
    - struct hostapd_bss_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1789
      start: 1777
    functionDepth: 0
    functionLinenumber: 1777
    functionLinenumberEnd: 1789
    functionName: hostapd_sae_pk_in_use
    functionSourceFile: /src/hostap/src/ap/ap_config.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hostapd_sae_pk_in_use(struct hostapd_bss_config *conf)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - conf
    argTypes:
    - struct hostapd_bss_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1808
      start: 1793
    functionDepth: 0
    functionLinenumber: 1793
    functionLinenumberEnd: 1808
    functionName: hostapd_sae_pk_exclusively
    functionSourceFile: /src/hostap/src/ap/ap_config.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hostapd_sae_pk_exclusively(struct hostapd_bss_config *conf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/ap_config.c:1816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1817
      start: 1812
    functionDepth: 0
    functionLinenumber: 1812
    functionLinenumberEnd: 1817
    functionName: hostapd_acl_comp
    functionSourceFile: /src/hostap/src/ap/ap_config.c
    functionUses: 0
    functionsReached:
    - os_memcmp
    linkageType: ''
    returnType: int
    signature: int hostapd_acl_comp(const void *a, const void *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_realloc_array
      Src: /src/hostap/src/ap/ap_config.c:1825,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ap_config.c:1827,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ap_config.c:1832,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/ap_config.c:1833,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - acl
    - num
    - vlan_id
    - addr
    argTypes:
    - struct mac_acl_entry**
    - int*
    - int
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1839
      start: 1820
    functionDepth: 1
    functionLinenumber: 1820
    functionLinenumberEnd: 1839
    functionName: hostapd_add_acl_maclist
    functionSourceFile: /src/hostap/src/ap/ap_config.c
    functionUses: 2
    functionsReached:
    - os_memset
    - wpa_printf
    - os_memcpy
    - os_realloc_array
    linkageType: ''
    returnType: int
    signature: "int hostapd_add_acl_maclist(struct mac_acl_entry **acl, int *num,\n\t\t\t
      \   int vlan_id, const u8 *addr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/ap_config.c:1848,1
    - Dst: os_remove_in_array
      Src: /src/hostap/src/ap/ap_config.c:1849,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - acl
    - num
    - addr
    argTypes:
    - struct mac_acl_entry**
    - int*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1855
      start: 1842
    functionDepth: 1
    functionLinenumber: 1842
    functionLinenumberEnd: 1855
    functionName: hostapd_remove_acl_mac
    functionSourceFile: /src/hostap/src/ap/ap_config.c
    functionUses: 3
    functionsReached:
    - ether_addr_equal
    - os_remove_in_array
    linkageType: ''
    returnType: void
    signature: "void hostapd_remove_acl_mac(struct mac_acl_entry **acl, int *num,\n\t\t\t
      \   const u8 *addr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pmkid
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: PMKID_HASH
    functionSourceFile: /src/hostap/src/ap/pmksa_cache_auth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PMKID_HASH(pmkid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:41,1
    - Dst: os_free
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:42,1
    - Dst: os_free
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:43,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:44,1
    - Dst: radius_free_class
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:46,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - entry
    argTypes:
    - struct rsn_pmksa_cache_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 49
    functionName: _pmksa_cache_free_entry
    functionSourceFile: /src/hostap/src/ap/pmksa_cache_auth.c
    functionUses: 1
    functionsReached:
    - os_free
    - radius_free_class
    - wpabuf_free
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: void _pmksa_cache_free_entry(struct rsn_pmksa_cache_entry *entry)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: struct rsn_pmksa_cache*::free_cb
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:61,1
    - Dst: PMKID_HASH
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:64,1
    - Dst: _pmksa_cache_free_entry
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:94,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 2
    argNames:
    - pmksa
    - entry
    argTypes:
    - struct rsn_pmksa_cache*
    - struct rsn_pmksa_cache_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 95
    functionName: pmksa_cache_free_entry
    functionSourceFile: /src/hostap/src/ap/pmksa_cache_auth.c
    functionUses: 7
    functionsReached:
    - struct rsn_pmksa_cache*::free_cb
    - _pmksa_cache_free_entry
    - PMKID_HASH
    linkageType: ''
    returnType: void
    signature: "void pmksa_cache_free_entry(struct rsn_pmksa_cache *pmksa,\n\t\t\t
      \   struct rsn_pmksa_cache_entry *entry)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:105,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:106,1
    - Dst: pmksa_cache_free_entry
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pmksa
    argTypes:
    - struct rsn_pmksa_cache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 109
    functionName: pmksa_cache_auth_flush
    functionSourceFile: /src/hostap/src/ap/pmksa_cache_auth.c
    functionUses: 1
    functionsReached:
    - MAC2STR
    - wpa_printf
    - pmksa_cache_free_entry
    linkageType: ''
    returnType: void
    signature: void pmksa_cache_auth_flush(struct rsn_pmksa_cache *pmksa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_get_reltime
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:117,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:119,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:120,1
    - Dst: pmksa_cache_free_entry
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:121,1
    - Dst: pmksa_cache_set_expiration
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 125
    functionName: pmksa_cache_expire
    functionSourceFile: /src/hostap/src/ap/pmksa_cache_auth.c
    functionUses: 0
    functionsReached:
    - os_get_reltime
    - wpa_printf
    - pmksa_cache_free_entry
    - pmksa_cache_set_expiration
    - MAC2STR
    linkageType: ''
    returnType: void
    signature: void pmksa_cache_expire(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:133,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:136,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pmksa
    argTypes:
    - struct rsn_pmksa_cache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 141
    functionName: pmksa_cache_set_expiration
    functionSourceFile: /src/hostap/src/ap/pmksa_cache_auth.c
    functionUses: 5
    functionsReached:
    - eloop_cancel_timeout
    - os_get_reltime
    - eloop_register_timeout
    linkageType: ''
    returnType: void
    signature: void pmksa_cache_set_expiration(struct rsn_pmksa_cache *pmksa)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:153,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:156,1
    - Dst: wpabuf_dup
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:162,1
    - Dst: radius_copy_class
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:165,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:172,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - entry
    - eapol
    argTypes:
    - struct rsn_pmksa_cache_entry*
    - struct eapol_state_machine*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 180
    functionName: pmksa_cache_from_eapol_data
    functionSourceFile: /src/hostap/src/ap/pmksa_cache_auth.c
    functionUses: 0
    functionsReached:
    - wpabuf_dup
    - radius_copy_class
    - os_memcpy
    - os_malloc
    - os_zalloc
    linkageType: ''
    returnType: void
    signature: "void pmksa_cache_from_eapol_data(struct rsn_pmksa_cache_entry *entry,\n\t\t\t\t
      struct eapol_state_machine *eapol)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:191,1
    - Dst: os_malloc
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:192,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:195,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:198,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:203,1
    - Dst: wpabuf_dup
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:204,1
    - Dst: radius_free_class
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:208,1
    - Dst: radius_copy_class
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:209,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:212,1
    - Dst: ap_sta_set_vlan
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:218,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - hapd
    - entry
    - eapol
    argTypes:
    - struct hostapd_data*
    - struct rsn_pmksa_cache_entry*
    - struct eapol_state_machine*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 222
    functionName: pmksa_cache_to_eapol_data
    functionSourceFile: /src/hostap/src/ap/pmksa_cache_auth.c
    functionUses: 0
    functionsReached:
    - wpabuf_dup
    - radius_copy_class
    - os_memcpy
    - wpa_printf
    - wpabuf_free
    - os_malloc
    - radius_free_class
    - ap_sta_set_vlan
    - os_free
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: void
    signature: "void pmksa_cache_to_eapol_data(struct hostapd_data *hapd,\n\t\t\t
      \      struct rsn_pmksa_cache_entry *entry,\n\t\t\t       struct eapol_state_machine
      *eapol)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PMKID_HASH
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:248,1
    - Dst: pmksa_cache_set_expiration
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:254,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:255,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:256,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:257,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - pmksa
    - entry
    argTypes:
    - struct rsn_pmksa_cache*
    - struct rsn_pmksa_cache_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 258
    functionName: pmksa_cache_link_entry
    functionSourceFile: /src/hostap/src/ap/pmksa_cache_auth.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - PMKID_HASH
    - wpa_hexdump
    - pmksa_cache_set_expiration
    - MAC2STR
    linkageType: ''
    returnType: void
    signature: "void pmksa_cache_link_entry(struct rsn_pmksa_cache *pmksa,\n\t\t\t\t
      \  struct rsn_pmksa_cache_entry *entry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pmksa_cache_auth_create_entry
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:290,1
    - Dst: pmksa_cache_auth_add_entry
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 11
    argNames:
    - pmksa
    - pmk
    - pmk_len
    - pmkid
    - kck
    - kck_len
    - aa
    - spa
    - session_timeout
    - eapol
    - akmp
    argTypes:
    - struct rsn_pmksa_cache*
    - u8*
    - size_t
    - u8*
    - u8*
    - size_t
    - u8*
    - u8*
    - int
    - struct eapol_state_machine*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 298
    functionName: pmksa_cache_auth_add
    functionSourceFile: /src/hostap/src/ap/pmksa_cache_auth.c
    functionUses: 4
    functionsReached:
    - pmksa_cache_auth_add_entry
    - pmksa_cache_auth_create_entry
    linkageType: ''
    returnType: struct rsn_pmksa_cache_entry
    signature: "struct rsn_pmksa_cache_entry *\npmksa_cache_auth_add(struct rsn_pmksa_cache
      *pmksa,\n\t\t     const u8 *pmk, size_t pmk_len, const u8 *pmkid,\n\t\t     const
      u8 *kck, size_t kck_len,\n\t\t     const u8 *aa, const u8 *spa, int session_timeout,\n\t\t
      \    struct eapol_state_machine *eapol, int akmp)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_key_mgmt_suite_b
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:329,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:332,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:335,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:338,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:342,1
    - Dst: rsn_pmkid_suite_b_192
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:344,1
    - Dst: wpa_key_mgmt_suite_b
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:345,1
    - Dst: rsn_pmkid_suite_b
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:346,1
    - Dst: rsn_pmkid
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:348,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:349,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:356,1
    - Dst: pmksa_cache_from_eapol_data
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:357,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 10
    argNames:
    - pmk
    - pmk_len
    - pmkid
    - kck
    - kck_len
    - aa
    - spa
    - session_timeout
    - eapol
    - akmp
    argTypes:
    - u8*
    - size_t
    - u8*
    - u8*
    - size_t
    - u8*
    - u8*
    - int
    - struct eapol_state_machine*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 317
    functionDepth: 2
    functionLinenumber: 317
    functionLinenumberEnd: 360
    functionName: pmksa_cache_auth_create_entry
    functionSourceFile: /src/hostap/src/ap/pmksa_cache_auth.c
    functionUses: 2
    functionsReached:
    - os_memcpy
    - os_get_reltime
    - rsn_pmkid_suite_b_192
    - pmksa_cache_from_eapol_data
    - rsn_pmkid_suite_b
    - rsn_pmkid
    - wpa_key_mgmt_suite_b
    - os_zalloc
    linkageType: ''
    returnType: struct rsn_pmksa_cache_entry
    signature: "struct rsn_pmksa_cache_entry *\npmksa_cache_auth_create_entry(const
      u8 *pmk, size_t pmk_len, const u8 *pmkid,\n\t\t\t      const u8 *kck, size_t
      kck_len, const u8 *aa,\n\t\t\t      const u8 *spa, int session_timeout,\n\t\t\t
      \     struct eapol_state_machine *eapol, int akmp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pmksa_cache_auth_get
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:382,1
    - Dst: pmksa_cache_free_entry
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:384,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:388,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:390,1
    - Dst: pmksa_cache_free_entry
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:391,1
    - Dst: pmksa_cache_link_entry
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:394,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - pmksa
    - entry
    argTypes:
    - struct rsn_pmksa_cache*
    - struct rsn_pmksa_cache_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 372
    functionDepth: 2
    functionLinenumber: 372
    functionLinenumberEnd: 397
    functionName: pmksa_cache_auth_add_entry
    functionSourceFile: /src/hostap/src/ap/pmksa_cache_auth.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - pmksa_cache_free_entry
    - MAC2STR
    - pmksa_cache_auth_get
    - pmksa_cache_link_entry
    linkageType: ''
    returnType: int
    signature: "int pmksa_cache_auth_add_entry(struct rsn_pmksa_cache *pmksa,\n\t\t\t
      \      struct rsn_pmksa_cache_entry *entry)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:407,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:410,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:411,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:415,1
    - Dst: os_malloc
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:418,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:421,1
    - Dst: wpabuf_dup
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:426,1
    - Dst: radius_copy_class
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:428,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:432,1
    - Dst: pmksa_cache_link_entry
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:440,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 4
    argNames:
    - pmksa
    - old_entry
    - aa
    - pmkid
    argTypes:
    - struct rsn_pmksa_cache*
    - struct rsn_pmksa_cache_entry*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 400
    functionDepth: 2
    functionLinenumber: 400
    functionLinenumberEnd: 443
    functionName: pmksa_cache_add_okc
    functionSourceFile: /src/hostap/src/ap/pmksa_cache_auth.c
    functionUses: 0
    functionsReached:
    - wpabuf_dup
    - radius_copy_class
    - os_memcpy
    - os_malloc
    - os_zalloc
    - pmksa_cache_link_entry
    linkageType: ''
    returnType: struct rsn_pmksa_cache_entry
    signature: "struct rsn_pmksa_cache_entry *\npmksa_cache_add_okc(struct rsn_pmksa_cache
      *pmksa,\n\t\t    const struct rsn_pmksa_cache_entry *old_entry,\n\t\t    const
      u8 *aa, const u8 *pmkid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _pmksa_cache_free_entry
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:462,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:464,1
    - Dst: os_free
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:469,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - pmksa
    argTypes:
    - struct rsn_pmksa_cache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 470
    functionName: pmksa_cache_auth_deinit
    functionSourceFile: /src/hostap/src/ap/pmksa_cache_auth.c
    functionUses: 1
    functionsReached:
    - eloop_cancel_timeout
    - os_free
    - _pmksa_cache_free_entry
    linkageType: ''
    returnType: void
    signature: void pmksa_cache_auth_deinit(struct rsn_pmksa_cache *pmksa)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cache
    - ctx
    argTypes:
    - struct rsn_pmksa_cache*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 481
    functionName: pmksa_cache_auth_set_ctx
    functionSourceFile: /src/hostap/src/ap/pmksa_cache_auth.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pmksa_cache_auth_set_ctx(struct rsn_pmksa_cache *cache, void *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PMKID_HASH
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:498,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:501,1
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:502,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:508,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 3
    argNames:
    - pmksa
    - spa
    - pmkid
    argTypes:
    - struct rsn_pmksa_cache*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 491
    functionDepth: 1
    functionLinenumber: 491
    functionLinenumberEnd: 514
    functionName: pmksa_cache_auth_get
    functionSourceFile: /src/hostap/src/ap/pmksa_cache_auth.c
    functionUses: 4
    functionsReached:
    - ether_addr_equal
    - PMKID_HASH
    - os_memcmp
    linkageType: ''
    returnType: struct rsn_pmksa_cache_entry
    signature: "struct rsn_pmksa_cache_entry *\npmksa_cache_auth_get(struct rsn_pmksa_cache
      *pmksa,\n\t\t     const u8 *spa, const u8 *pmkid)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:535,1
    - Dst: wpa_key_mgmt_sae
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:537,1
    - Dst: wpa_key_mgmt_fils
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:538,1
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:539,1
    - Dst: rsn_pmkid_suite_b_192
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:545,1
    - Dst: wpa_key_mgmt_suite_b
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:547,1
    - Dst: rsn_pmkid_suite_b
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:549,1
    - Dst: rsn_pmkid
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:552,1
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:554,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 4
    argNames:
    - pmksa
    - aa
    - spa
    - pmkid
    argTypes:
    - struct rsn_pmksa_cache*
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 527
    functionDepth: 1
    functionLinenumber: 527
    functionLinenumberEnd: 558
    functionName: pmksa_cache_get_okc
    functionSourceFile: /src/hostap/src/ap/pmksa_cache_auth.c
    functionUses: 0
    functionsReached:
    - wpa_key_mgmt_sae
    - rsn_pmkid_suite_b_192
    - rsn_pmkid_suite_b
    - rsn_pmkid
    - wpa_key_mgmt_suite_b
    - ether_addr_equal
    - os_memcmp
    - wpa_key_mgmt_fils
    linkageType: ''
    returnType: struct rsn_pmksa_cache_entry
    signature: "struct rsn_pmksa_cache_entry * pmksa_cache_get_okc(\n\tstruct rsn_pmksa_cache
      *pmksa, const u8 *aa, const u8 *spa,\n\tconst u8 *pmkid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:573,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 580
    functionName: pmksa_cache_auth_init
    functionSourceFile: /src/hostap/src/ap/pmksa_cache_auth.c
    functionUses: 0
    functionsReached:
    - os_zalloc
    linkageType: ''
    returnType: struct rsn_pmksa_cache
    signature: "struct rsn_pmksa_cache *\npmksa_cache_auth_init(void (*free_cb)(struct
      rsn_pmksa_cache_entry *entry,\n\t\t\t\t      void *ctx), void *ctx)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:589,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:599,1
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:601,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:608,1
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:609,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:609,1
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:618,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 2
    argNames:
    - entry
    - attr
    argTypes:
    - struct rsn_pmksa_cache_entry*
    - struct radius_das_attrs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 583
    functionDepth: 1
    functionLinenumber: 583
    functionLinenumberEnd: 625
    functionName: das_attr_match
    functionSourceFile: /src/hostap/src/ap/pmksa_cache_auth.c
    functionUses: 0
    functionsReached:
    - wpabuf_len
    - ether_addr_equal
    - wpabuf_head
    - os_snprintf
    - os_memcmp
    linkageType: ''
    returnType: int
    signature: "int das_attr_match(struct rsn_pmksa_cache_entry *entry,\n\t\t\t  struct
      radius_das_attrs *attr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: das_attr_match
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:639,1
    - Dst: pmksa_cache_free_entry
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:643,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - pmksa
    - attr
    argTypes:
    - struct rsn_pmksa_cache*
    - struct radius_das_attrs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 628
    functionDepth: 2
    functionLinenumber: 628
    functionLinenumberEnd: 650
    functionName: pmksa_cache_auth_radius_das_disconnect
    functionSourceFile: /src/hostap/src/ap/pmksa_cache_auth.c
    functionUses: 1
    functionsReached:
    - pmksa_cache_free_entry
    - das_attr_match
    linkageType: ''
    returnType: int
    signature: "int pmksa_cache_auth_radius_das_disconnect(struct rsn_pmksa_cache
      *pmksa,\n\t\t\t\t\t   struct radius_das_attrs *attr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_get_reltime
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:672,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:675,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:676,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:677,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:680,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:682,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:685,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - pmksa
    - buf
    - len
    - index
    argTypes:
    - struct rsn_pmksa_cache*
    - char*
    - size_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 664
    functionDepth: 1
    functionLinenumber: 664
    functionLinenumberEnd: 692
    functionName: pmksa_cache_auth_list
    functionSourceFile: /src/hostap/src/ap/pmksa_cache_auth.c
    functionUses: 1
    functionsReached:
    - os_get_reltime
    - wpa_snprintf_hex
    - os_snprintf
    - MAC2STR
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int pmksa_cache_auth_list(struct rsn_pmksa_cache *pmksa, char *buf,
      size_t len,\n\t\t\t  int *index)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_get_reltime
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:720,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:728,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:731,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:732,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:733,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:737,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:740,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:741,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:745,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:748,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/pmksa_cache_auth.c:750,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 4
    argNames:
    - pmksa
    - addr
    - buf
    - len
    argTypes:
    - struct rsn_pmksa_cache*
    - u8*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 710
    functionDepth: 1
    functionLinenumber: 710
    functionLinenumberEnd: 756
    functionName: pmksa_cache_auth_list_mesh
    functionSourceFile: /src/hostap/src/ap/pmksa_cache_auth.c
    functionUses: 1
    functionsReached:
    - os_get_reltime
    - wpa_snprintf_hex
    - ether_addr_equal
    - os_snprintf
    - MAC2STR
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int pmksa_cache_auth_list_mesh(struct rsn_pmksa_cache *pmksa, const
      u8 *addr,\n\t\t\t       char *buf, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wnm_ap.c:31,1
    - Dst: hostapd_drv_wnm_oper
      Src: /src/hostap/src/ap/wnm_ap.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - hapd
    - addr
    - buf
    - buf_len
    - oper
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8*
    - u16*
    - enum wnm_oper
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 34
    functionName: ieee80211_11_get_tfs_ie
    functionSourceFile: /src/hostap/src/ap/wnm_ap.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - hostapd_drv_wnm_oper
    linkageType: ''
    returnType: int
    signature: "int ieee80211_11_get_tfs_ie(struct hostapd_data *hapd, const u8 *addr,\n\t\t\t\t
      \  u8 *buf, u16 *buf_len, enum wnm_oper oper)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wnm_ap.c:41,1
    - Dst: hostapd_drv_wnm_oper
      Src: /src/hostap/src/ap/wnm_ap.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - hapd
    - addr
    - buf
    - buf_len
    - oper
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8*
    - u16*
    - enum wnm_oper
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: ieee80211_11_set_tfs_ie
    functionSourceFile: /src/hostap/src/ap/wnm_ap.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - hostapd_drv_wnm_oper
    linkageType: ''
    returnType: int
    signature: "int ieee80211_11_set_tfs_ie(struct hostapd_data *hapd, const u8 *addr,\n\t\t\t\t
      \  u8 *buf, u16 *buf_len, enum wnm_oper oper)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_sta_is_mld
      Src: /src/hostap/src/ap/wnm_ap.c:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 58
    functionName: wnm_ap_get_own_addr
    functionSourceFile: /src/hostap/src/ap/wnm_ap.c
    functionUses: 0
    functionsReached:
    - ap_sta_is_mld
    linkageType: ''
    returnType: u8
    signature: "u8 * wnm_ap_get_own_addr(struct hostapd_data *hapd,\n\t\t\t\t      struct
      sta_info *sta)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/wnm_ap.c:82,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wnm_ap.c:84,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/wnm_ap.c:89,1
    - Dst: host_to_le16
      Src: /src/hostap/src/ap/wnm_ap.c:95,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/wnm_ap.c:98,1
    - Dst: ieee80211_11_get_tfs_ie
      Src: /src/hostap/src/ap/wnm_ap.c:101,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wnm_ap.c:104,1
    - Dst: wpa_auth_uses_ocv
      Src: /src/hostap/src/ap/wnm_ap.c:112,1
    - Dst: hostapd_drv_channel_info
      Src: /src/hostap/src/ap/wnm_ap.c:115,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wnm_ap.c:116,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wnm_ap.c:118,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wnm_ap.c:123,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/wnm_ap.c:132,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wnm_ap.c:134,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wnm_ap.c:136,1
    - Dst: ocv_insert_extended_oci
      Src: /src/hostap/src/ap/wnm_ap.c:140,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wnm_ap.c:141,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wnm_ap.c:142,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/wnm_ap.c:151,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wnm_ap.c:156,1
    - Dst: wnm_ap_get_own_addr
      Src: /src/hostap/src/ap/wnm_ap.c:162,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wnm_ap.c:164,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wnm_ap.c:165,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wnm_ap.c:166,1
    - Dst: IEEE80211_FC
      Src: /src/hostap/src/ap/wnm_ap.c:167,1
    - Dst: wpa_auth_uses_mfp
      Src: /src/hostap/src/ap/wnm_ap.c:174,1
    - Dst: wpa_wnmsleep_gtk_subelem
      Src: /src/hostap/src/ap/wnm_ap.c:179,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wnm_ap.c:181,1
    - Dst: wpa_wnmsleep_igtk_subelem
      Src: /src/hostap/src/ap/wnm_ap.c:183,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wnm_ap.c:188,1
    - Dst: wpa_wnmsleep_bigtk_subelem
      Src: /src/hostap/src/ap/wnm_ap.c:193,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wnm_ap.c:198,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/ap/wnm_ap.c:202,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wnm_ap.c:206,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wnm_ap.c:210,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wnm_ap.c:216,1
    - Dst: hostapd_drv_send_action
      Src: /src/hostap/src/ap/wnm_ap.c:225,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wnm_ap.c:229,1
    - Dst: hostapd_drv_wnm_oper
      Src: /src/hostap/src/ap/wnm_ap.c:240,1
    - Dst: wpa_set_wnmsleep
      Src: /src/hostap/src/ap/wnm_ap.c:242,1
    - Dst: wpa_set_wnmsleep
      Src: /src/hostap/src/ap/wnm_ap.c:254,1
    - Dst: hostapd_drv_wnm_oper
      Src: /src/hostap/src/ap/wnm_ap.c:255,1
    - Dst: wpa_auth_uses_mfp
      Src: /src/hostap/src/ap/wnm_ap.c:257,1
    - Dst: wpa_wnmsleep_rekey_gtk
      Src: /src/hostap/src/ap/wnm_ap.c:259,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wnm_ap.c:262,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wnm_ap.c:268,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wnm_ap.c:269,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wnm_ap.c:270,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 118
    argCount: 5
    argNames:
    - hapd
    - addr
    - dialog_token
    - action_type
    - intval
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8
    - u8
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 62
    functionDepth: 3
    functionLinenumber: 62
    functionLinenumberEnd: 272
    functionName: ieee802_11_send_wnmsleep_resp
    functionSourceFile: /src/hostap/src/ap/wnm_ap.c
    functionUses: 0
    functionsReached:
    - wpa_wnmsleep_igtk_subelem
    - wpa_wnmsleep_bigtk_subelem
    - wnm_ap_get_own_addr
    - ap_get_sta
    - wpa_printf
    - hostapd_drv_send_action
    - wpa_wnmsleep_gtk_subelem
    - ocv_insert_extended_oci
    - os_free
    - wpa_auth_uses_mfp
    - WPA_PUT_LE16
    - hostapd_drv_channel_info
    - IEEE80211_FC
    - wpa_wnmsleep_rekey_gtk
    - wpa_auth_uses_ocv
    - os_memset
    - os_memcpy
    - os_zalloc
    - ieee80211_11_get_tfs_ie
    - hostapd_drv_wnm_oper
    - wpa_set_wnmsleep
    - host_to_le16
    linkageType: ''
    returnType: int
    signature: "int ieee802_11_send_wnmsleep_resp(struct hostapd_data *hapd,\n\t\t\t\t\t
      const u8 *addr, u8 dialog_token,\n\t\t\t\t\t u8 action_type, u16 intval)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wnm_ap.c:293,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wnm_ap.c:295,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wnm_ap.c:300,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wnm_ap.c:302,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wnm_ap.c:325,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wnm_ap.c:331,1
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/wnm_ap.c:336,1
    - Dst: wpa_auth_uses_ocv
      Src: /src/hostap/src/ap/wnm_ap.c:338,1
    - Dst: hostapd_drv_channel_info
      Src: /src/hostap/src/ap/wnm_ap.c:341,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wnm_ap.c:342,1
    - Dst: ocv_verify_tx_params
      Src: /src/hostap/src/ap/wnm_ap.c:347,1
    - Dst: channel_width_to_int
      Src: /src/hostap/src/ap/wnm_ap.c:348,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/wnm_ap.c:350,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wnm_ap.c:362,1
    - Dst: ieee80211_11_set_tfs_ie
      Src: /src/hostap/src/ap/wnm_ap.c:364,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wnm_ap.c:367,1
    - Dst: ieee802_11_send_wnmsleep_resp
      Src: /src/hostap/src/ap/wnm_ap.c:370,1
    - Dst: le_to_host16
      Src: /src/hostap/src/ap/wnm_ap.c:372,1
    - Dst: ieee80211_11_set_tfs_ie
      Src: /src/hostap/src/ap/wnm_ap.c:376,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 52
    argCount: 4
    argNames:
    - hapd
    - addr
    - frm
    - len
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 275
    functionDepth: 4
    functionLinenumber: 275
    functionLinenumberEnd: 379
    functionName: ieee802_11_rx_wnmsleep_req
    functionSourceFile: /src/hostap/src/ap/wnm_ap.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - ieee802_11_send_wnmsleep_resp
    - wpa_msg
    - ieee80211_11_set_tfs_ie
    - MAC2STR
    - ap_get_sta
    - ocv_verify_tx_params
    - le_to_host16
    - channel_width_to_int
    - wpa_auth_uses_ocv
    - hostapd_drv_channel_info
    linkageType: ''
    returnType: void
    signature: "void ieee802_11_rx_wnmsleep_req(struct hostapd_data *hapd,\n\t\t\t\t
      \      const u8 *addr, const u8 *frm, int len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/wnm_ap.c:393,1
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/wnm_ap.c:397,1
    - Dst: wnm_ap_get_own_addr
      Src: /src/hostap/src/ap/wnm_ap.c:398,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wnm_ap.c:400,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wnm_ap.c:401,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wnm_ap.c:402,1
    - Dst: IEEE80211_FC
      Src: /src/hostap/src/ap/wnm_ap.c:403,1
    - Dst: host_to_le16
      Src: /src/hostap/src/ap/wnm_ap.c:409,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wnm_ap.c:413,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wnm_ap.c:416,1
    - Dst: le_to_host16
      Src: /src/hostap/src/ap/wnm_ap.c:418,1
    - Dst: hostapd_drv_send_action
      Src: /src/hostap/src/ap/wnm_ap.c:422,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wnm_ap.c:424,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 3
    argNames:
    - hapd
    - addr
    - dialog_token
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 382
    functionDepth: 3
    functionLinenumber: 382
    functionLinenumberEnd: 426
    functionName: ieee802_11_send_bss_trans_mgmt_request
    functionSourceFile: /src/hostap/src/ap/wnm_ap.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_printf
    - hostapd_drv_send_action
    - MAC2STR
    - os_zalloc
    - IEEE80211_FC
    - wnm_ap_get_own_addr
    - le_to_host16
    - os_free
    - host_to_le16
    - ap_get_sta
    linkageType: ''
    returnType: int
    signature: "int ieee802_11_send_bss_trans_mgmt_request(struct hostapd_data *hapd,\n\t\t\t\t\t\t
      \ const u8 *addr,\n\t\t\t\t\t\t  u8 dialog_token)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wnm_ap.c:444,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wnm_ap.c:448,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wnm_ap.c:453,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wnm_ap.c:454,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wnm_ap.c:463,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wnm_ap.c:465,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wnm_ap.c:467,1
    - Dst: os_malloc
      Src: /src/hostap/src/ap/wnm_ap.c:472,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/ap/wnm_ap.c:474,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/wnm_ap.c:476,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wnm_ap.c:478,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wnm_ap.c:479,1
    - Dst: ieee802_11_send_bss_trans_mgmt_request
      Src: /src/hostap/src/ap/wnm_ap.c:481,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 4
    argNames:
    - hapd
    - addr
    - frm
    - len
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 429
    functionDepth: 4
    functionLinenumber: 429
    functionLinenumberEnd: 482
    functionName: ieee802_11_rx_bss_trans_mgmt_query
    functionSourceFile: /src/hostap/src/ap/wnm_ap.c
    functionUses: 0
    functionsReached:
    - ieee802_11_send_bss_trans_mgmt_request
    - wpa_printf
    - wpa_snprintf_hex
    - wpa_hexdump
    - wpa_msg
    - os_malloc
    - MAC2STR
    - os_free
    linkageType: ''
    returnType: void
    signature: "void ieee802_11_rx_bss_trans_mgmt_query(struct hostapd_data *hapd,\n\t\t\t\t\t
      \      const u8 *addr, const u8 *frm,\n\t\t\t\t\t       size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wnm_ap.c:491,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wnm_ap.c:492,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 495
    functionName: ap_sta_reset_steer_flag_timer
    functionSourceFile: /src/hostap/src/ap/wnm_ap.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void ap_sta_reset_steer_flag_timer(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wnm_ap.c:512,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wnm_ap.c:516,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wnm_ap.c:521,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wnm_ap.c:522,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wnm_ap.c:532,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wnm_ap.c:534,1
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/wnm_ap.c:537,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wnm_ap.c:539,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wnm_ap.c:541,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wnm_ap.c:547,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/wnm_ap.c:551,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/wnm_ap.c:552,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wnm_ap.c:554,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wnm_ap.c:555,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/wnm_ap.c:556,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wnm_ap.c:559,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wnm_ap.c:560,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/wnm_ap.c:564,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wnm_ap.c:566,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wnm_ap.c:569,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 4
    argNames:
    - hapd
    - addr
    - frm
    - len
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 571
    functionName: ieee802_11_rx_bss_trans_mgmt_resp
    functionSourceFile: /src/hostap/src/ap/wnm_ap.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    - wpa_msg
    - eloop_cancel_timeout
    - MAC2STR
    - eloop_register_timeout
    - ap_get_sta
    linkageType: ''
    returnType: void
    signature: "void ieee802_11_rx_bss_trans_mgmt_resp(struct hostapd_data *hapd,\n\t\t\t\t\t
      \     const u8 *addr, const u8 *frm,\n\t\t\t\t\t      size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/wnm_ap.c:583,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wnm_ap.c:585,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wnm_ap.c:587,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/wnm_ap.c:591,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/wnm_ap.c:594,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wnm_ap.c:595,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - hapd
    - addr
    argTypes:
    - struct hostapd_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 574
    functionDepth: 1
    functionLinenumber: 574
    functionLinenumberEnd: 596
    functionName: wnm_beacon_protection_failure
    functionSourceFile: /src/hostap/src/ap/wnm_ap.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_msg
    - hostapd_logger
    - MAC2STR
    - ap_get_sta
    linkageType: ''
    returnType: void
    signature: "void wnm_beacon_protection_failure(struct hostapd_data *hapd,\n\t\t\t\t\t
      \ const u8 *addr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wnm_ap.c:611,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wnm_ap.c:614,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wnm_ap.c:615,1
    - Dst: wnm_beacon_protection_failure
      Src: /src/hostap/src/ap/wnm_ap.c:619,1
    - Dst: mbo_ap_wnm_notification_req
      Src: /src/hostap/src/ap/wnm_ap.c:622,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - hapd
    - addr
    - buf
    - len
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 599
    functionDepth: 2
    functionLinenumber: 599
    functionLinenumberEnd: 625
    functionName: ieee802_11_rx_wnm_notification_req
    functionSourceFile: /src/hostap/src/ap/wnm_ap.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    - MAC2STR
    - mbo_ap_wnm_notification_req
    - wnm_beacon_protection_failure
    linkageType: ''
    returnType: void
    signature: "void ieee802_11_rx_wnm_notification_req(struct hostapd_data *hapd,\n\t\t\t\t\t
      \      const u8 *addr, const u8 *buf,\n\t\t\t\t\t       size_t len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wnm_ap.c:637,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wnm_ap.c:639,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wnm_ap.c:644,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wnm_ap.c:646,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wnm_ap.c:652,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wnm_ap.c:655,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wnm_ap.c:656,1
    - Dst: os_malloc
      Src: /src/hostap/src/ap/wnm_ap.c:660,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/ap/wnm_ap.c:663,1
    - Dst: wpa_msg_ctrl
      Src: /src/hostap/src/ap/wnm_ap.c:664,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wnm_ap.c:665,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wnm_ap.c:666,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 4
    argNames:
    - hapd
    - addr
    - buf
    - len
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 628
    functionDepth: 1
    functionLinenumber: 628
    functionLinenumberEnd: 667
    functionName: ieee802_11_rx_wnm_coloc_intf_report
    functionSourceFile: /src/hostap/src/ap/wnm_ap.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_snprintf_hex
    - wpa_hexdump
    - os_malloc
    - MAC2STR
    - wpa_msg_ctrl
    - os_free
    linkageType: ''
    returnType: void
    signature: "void ieee802_11_rx_wnm_coloc_intf_report(struct hostapd_data *hapd,\n\t\t\t\t\t\tconst
      u8 *addr, const u8 *buf,\n\t\t\t\t\t\tsize_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: W2S
      Src: /src/hostap/src/ap/wnm_ap.c:675,1
    - Dst: W2S
      Src: /src/hostap/src/ap/wnm_ap.c:676,1
    - Dst: W2S
      Src: /src/hostap/src/ap/wnm_ap.c:677,1
    - Dst: W2S
      Src: /src/hostap/src/ap/wnm_ap.c:678,1
    - Dst: W2S
      Src: /src/hostap/src/ap/wnm_ap.c:679,1
    - Dst: W2S
      Src: /src/hostap/src/ap/wnm_ap.c:680,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - wtype
    argTypes:
    - enum wnm_event_report_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 671
    functionDepth: 1
    functionLinenumber: 671
    functionLinenumberEnd: 684
    functionName: wnm_event_type2str
    functionSourceFile: /src/hostap/src/ap/wnm_ap.c
    functionUses: 0
    functionsReached:
    - W2S
    linkageType: ''
    returnType: char
    signature: char * wnm_event_type2str(enum wnm_event_report_type wtype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - wtype
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 674
    functionName: W2S
    functionSourceFile: /src/hostap/src/ap/wnm_ap.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: W2S(wtype)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wnm_ap.c:703,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wnm_ap.c:705,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wnm_ap.c:714,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wnm_ap.c:716,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wnm_ap.c:724,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wnm_ap.c:726,1
    - Dst: wnm_event_type2str
      Src: /src/hostap/src/ap/wnm_ap.c:727,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wnm_ap.c:730,1
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/wnm_ap.c:732,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wnm_ap.c:734,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wnm_ap.c:736,1
    - Dst: hostapd_is_he_enabled
      Src: /src/hostap/src/ap/wnm_ap.c:743,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wnm_ap.c:747,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wnm_ap.c:749,1
    - Dst: WPA_GET_LE64
      Src: /src/hostap/src/ap/wnm_ap.c:752,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wnm_ap.c:753,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wnm_ap.c:755,1
    - Dst: hostapd_switch_color
      Src: /src/hostap/src/ap/wnm_ap.c:756,1
    - Dst: hostapd_is_he_enabled
      Src: /src/hostap/src/ap/wnm_ap.c:759,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wnm_ap.c:762,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wnm_ap.c:764,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wnm_ap.c:769,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wnm_ap.c:771,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wnm_ap.c:775,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wnm_ap.c:777,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wnm_ap.c:782,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wnm_ap.c:783,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wnm_ap.c:788,1
    - Dst: wnm_event_type2str
      Src: /src/hostap/src/ap/wnm_ap.c:791,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 56
    argCount: 4
    argNames:
    - hapd
    - addr
    - buf
    - len
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 687
    functionDepth: 2
    functionLinenumber: 687
    functionLinenumberEnd: 794
    functionName: ieee802_11_rx_wnm_event_report
    functionSourceFile: /src/hostap/src/ap/wnm_ap.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wnm_event_type2str
    - wpa_hexdump
    - WPA_GET_LE64
    - hostapd_switch_color
    - MAC2STR
    - hostapd_is_he_enabled
    - ap_get_sta
    linkageType: ''
    returnType: void
    signature: "void ieee802_11_rx_wnm_event_report(struct hostapd_data *hapd,\n\t\t\t\t\t
      \  const u8 *addr, const u8 *buf,\n\t\t\t\t\t   size_t len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_11_rx_wnm_event_report
      Src: /src/hostap/src/ap/wnm_ap.c:813,1
    - Dst: ieee802_11_rx_bss_trans_mgmt_query
      Src: /src/hostap/src/ap/wnm_ap.c:817,1
    - Dst: ieee802_11_rx_bss_trans_mgmt_resp
      Src: /src/hostap/src/ap/wnm_ap.c:821,1
    - Dst: ieee802_11_rx_wnmsleep_req
      Src: /src/hostap/src/ap/wnm_ap.c:825,1
    - Dst: ieee802_11_rx_wnm_notification_req
      Src: /src/hostap/src/ap/wnm_ap.c:828,1
    - Dst: ieee802_11_rx_wnm_coloc_intf_report
      Src: /src/hostap/src/ap/wnm_ap.c:832,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wnm_ap.c:837,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wnm_ap.c:838,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 3
    argNames:
    - hapd
    - mgmt
    - len
    argTypes:
    - struct hostapd_data*
    - struct ieee80211_mgmt*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 797
    functionDepth: 5
    functionLinenumber: 797
    functionLinenumberEnd: 840
    functionName: ieee802_11_rx_wnm_action_ap
    functionSourceFile: /src/hostap/src/ap/wnm_ap.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - ieee802_11_rx_bss_trans_mgmt_resp
    - ieee802_11_rx_wnm_event_report
    - ieee802_11_rx_wnm_notification_req
    - MAC2STR
    - ieee802_11_rx_wnmsleep_req
    - ieee802_11_rx_bss_trans_mgmt_query
    - ieee802_11_rx_wnm_coloc_intf_report
    linkageType: ''
    returnType: int
    signature: "int ieee802_11_rx_wnm_action_ap(struct hostapd_data *hapd,\n\t\t\t\tconst
      struct ieee80211_mgmt *mgmt, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wnm_ap_get_own_addr
      Src: /src/hostap/src/ap/wnm_ap.c:848,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/wnm_ap.c:850,1
    - Dst: IEEE80211_FC
      Src: /src/hostap/src/ap/wnm_ap.c:852,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wnm_ap.c:854,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wnm_ap.c:855,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wnm_ap.c:856,1
    - Dst: host_to_le16
      Src: /src/hostap/src/ap/wnm_ap.c:863,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wnm_ap.c:868,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wnm_ap.c:869,1
    - Dst: hostapd_drv_send_mlme
      Src: /src/hostap/src/ap/wnm_ap.c:870,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wnm_ap.c:871,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 3
    argNames:
    - hapd
    - sta
    - disassoc_timer
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 843
    functionDepth: 2
    functionLinenumber: 843
    functionLinenumberEnd: 877
    functionName: wnm_send_disassoc_imminent
    functionSourceFile: /src/hostap/src/ap/wnm_ap.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    - wpa_printf
    - hostapd_drv_send_mlme
    - MAC2STR
    - IEEE80211_FC
    - wnm_ap_get_own_addr
    - host_to_le16
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wnm_send_disassoc_imminent(struct hostapd_data *hapd,\n\t\t\t
      \      struct sta_info *sta, int disassoc_timer)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_auth_pmksa_remove
      Src: /src/hostap/src/ap/wnm_ap.c:890,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wnm_ap.c:897,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wnm_ap.c:898,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/wnm_ap.c:901,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/wnm_ap.c:902,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - hapd
    - sta
    - disassoc_timer
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 880
    functionDepth: 2
    functionLinenumber: 880
    functionLinenumberEnd: 905
    functionName: set_disassoc_timer
    functionSourceFile: /src/hostap/src/ap/wnm_ap.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eloop_cancel_timeout
    - MAC2STR
    - eloop_register_timeout
    - wpa_auth_pmksa_remove
    linkageType: ''
    returnType: void
    signature: "void set_disassoc_timer(struct hostapd_data *hapd, struct sta_info
      *sta,\n\t\t\t       int disassoc_timer)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wnm_ap_get_own_addr
      Src: /src/hostap/src/ap/wnm_ap.c:915,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/wnm_ap.c:917,1
    - Dst: IEEE80211_FC
      Src: /src/hostap/src/ap/wnm_ap.c:919,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wnm_ap.c:921,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wnm_ap.c:922,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wnm_ap.c:923,1
    - Dst: host_to_le16
      Src: /src/hostap/src/ap/wnm_ap.c:931,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/wnm_ap.c:937,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wnm_ap.c:941,1
    - Dst: hostapd_drv_send_mlme
      Src: /src/hostap/src/ap/wnm_ap.c:944,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wnm_ap.c:945,1
    - Dst: set_disassoc_timer
      Src: /src/hostap/src/ap/wnm_ap.c:952,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 4
    argNames:
    - hapd
    - sta
    - url
    - disassoc_timer
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 908
    functionDepth: 3
    functionLinenumber: 908
    functionLinenumberEnd: 956
    functionName: wnm_send_ess_disassoc_imminent
    functionSourceFile: /src/hostap/src/ap/wnm_ap.c
    functionUses: 1
    functionsReached:
    - os_strlen
    - os_memcpy
    - wpa_printf
    - hostapd_drv_send_mlme
    - IEEE80211_FC
    - wnm_ap_get_own_addr
    - set_disassoc_timer
    - host_to_le16
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wnm_send_ess_disassoc_imminent(struct hostapd_data *hapd,\n\t\t\t\t
      \  struct sta_info *sta, const char *url,\n\t\t\t\t   int disassoc_timer)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: wnm_ap_get_own_addr
      Src: /src/hostap/src/ap/wnm_ap.c:968,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wnm_ap.c:970,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wnm_ap.c:973,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/wnm_ap.c:975,1
    - Dst: IEEE80211_FC
      Src: /src/hostap/src/ap/wnm_ap.c:979,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wnm_ap.c:981,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wnm_ap.c:982,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wnm_ap.c:983,1
    - Dst: host_to_le16
      Src: /src/hostap/src/ap/wnm_ap.c:989,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wnm_ap.c:996,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/wnm_ap.c:1002,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wnm_ap.c:1004,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wnm_ap.c:1009,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wnm_ap.c:1014,1
    - Dst: mbo_add_ie
      Src: /src/hostap/src/ap/wnm_ap.c:1019,1
    - Dst: hostapd_drv_send_mlme
      Src: /src/hostap/src/ap/wnm_ap.c:1023,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wnm_ap.c:1024,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wnm_ap.c:1026,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wnm_ap.c:1029,1
    - Dst: ap_sta_is_mld
      Src: /src/hostap/src/ap/wnm_ap.c:1038,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wnm_ap.c:1049,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wnm_ap.c:1052,1
    - Dst: set_disassoc_timer
      Src: /src/hostap/src/ap/wnm_ap.c:1059,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 58
    argCount: 12
    argNames:
    - hapd
    - sta
    - req_mode
    - disassoc_timer
    - valid_int
    - bss_term_dur
    - dialog_token
    - url
    - nei_rep
    - nei_rep_len
    - mbo_attrs
    - mbo_len
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u8
    - int
    - u8
    - u8*
    - u8
    - char*
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 959
    functionDepth: 3
    functionLinenumber: 959
    functionLinenumberEnd: 1063
    functionName: wnm_send_bss_tm_req
    functionSourceFile: /src/hostap/src/ap/wnm_ap.c
    functionUses: 1
    functionsReached:
    - os_strlen
    - wpa_printf
    - os_memcpy
    - ap_sta_is_mld
    - hostapd_drv_send_mlme
    - mbo_add_ie
    - MAC2STR
    - os_zalloc
    - IEEE80211_FC
    - wnm_ap_get_own_addr
    - os_free
    - set_disassoc_timer
    - host_to_le16
    linkageType: ''
    returnType: int
    signature: "int wnm_send_bss_tm_req(struct hostapd_data *hapd, struct sta_info
      *sta,\n\t\t\tu8 req_mode, int disassoc_timer, u8 valid_int,\n\t\t\tconst u8
      *bss_term_dur, u8 dialog_token,\n\t\t\tconst char *url, const u8 *nei_rep, size_t
      nei_rep_len,\n\t\t\tconst u8 *mbo_attrs, size_t mbo_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wnm_ap_get_own_addr
      Src: /src/hostap/src/ap/wnm_ap.c:1072,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/wnm_ap.c:1076,1
    - Dst: IEEE80211_FC
      Src: /src/hostap/src/ap/wnm_ap.c:1078,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wnm_ap.c:1080,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wnm_ap.c:1081,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wnm_ap.c:1082,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wnm_ap.c:1091,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wnm_ap.c:1093,1
    - Dst: hostapd_drv_send_mlme
      Src: /src/hostap/src/ap/wnm_ap.c:1094,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wnm_ap.c:1095,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 4
    argNames:
    - hapd
    - sta
    - auto_report
    - timeout
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1101
      start: 1066
    functionDepth: 2
    functionLinenumber: 1066
    functionLinenumberEnd: 1101
    functionName: wnm_send_coloc_intf_req
    functionSourceFile: /src/hostap/src/ap/wnm_ap.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    - wpa_printf
    - hostapd_drv_send_mlme
    - MAC2STR
    - IEEE80211_FC
    - wnm_ap_get_own_addr
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wnm_send_coloc_intf_req(struct hostapd_data *hapd, struct sta_info
      *sta,\n\t\t\t    unsigned int auto_report, unsigned int timeout)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eapol_auth_eap_pending_cb
      Src: /src/hostap/src/ap/authsrv.c:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - hapd
    - sta
    - ctx
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 37
    functionName: hostapd_sim_db_cb_sta
    functionSourceFile: /src/hostap/src/ap/authsrv.c
    functionUses: 0
    functionsReached:
    - eapol_auth_eap_pending_cb
    linkageType: ''
    returnType: int
    signature: "int hostapd_sim_db_cb_sta(struct hostapd_data *hapd,\n\t\t\t\t struct
      sta_info *sta, void *ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_for_each_sta
      Src: /src/hostap/src/ap/authsrv.c:43,1
    - Dst: radius_server_eap_pending_cb
      Src: /src/hostap/src/ap/authsrv.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - session_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 48
    functionName: hostapd_sim_db_cb
    functionSourceFile: /src/hostap/src/ap/authsrv.c
    functionUses: 0
    functionsReached:
    - radius_server_eap_pending_cb
    - ap_for_each_sta
    linkageType: ''
    returnType: void
    signature: void hostapd_sim_db_cb(void *ctx, void *session_ctx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_get_eap_user
      Src: /src/hostap/src/ap/authsrv.c:62,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/authsrv.c:69,1
    - Dst: os_memdup
      Src: /src/hostap/src/ap/authsrv.c:76,1
    - Dst: os_memdup
      Src: /src/hostap/src/ap/authsrv.c:83,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/authsrv.c:99,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 5
    argNames:
    - ctx
    - identity
    - identity_len
    - phase2
    - user
    argTypes:
    - void*
    - u8*
    - size_t
    - int
    - struct eap_user*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 54
    functionDepth: 3
    functionLinenumber: 54
    functionLinenumberEnd: 102
    functionName: hostapd_radius_get_eap_user
    functionSourceFile: /src/hostap/src/ap/authsrv.c
    functionUses: 0
    functionsReached:
    - hostapd_get_eap_user
    - os_memdup
    - wpa_printf
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int hostapd_radius_get_eap_user(void *ctx, const u8 *identity,\n\t\t\t\t
      \      size_t identity_len, int phase2,\n\t\t\t\t       struct eap_user *user)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: radius_msg_get_attr
      Src: /src/hostap/src/ap/authsrv.c:128,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/authsrv.c:135,1
    - Dst: radius_msg_get_attr
      Src: /src/hostap/src/ap/authsrv.c:143,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/authsrv.c:146,1
    - Dst: radius_msg_get_attr
      Src: /src/hostap/src/ap/authsrv.c:152,1
    - Dst: radius_msg_get_attr
      Src: /src/hostap/src/ap/authsrv.c:156,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/authsrv.c:162,1
    - Dst: radius_msg_get_attr_int32
      Src: /src/hostap/src/ap/authsrv.c:169,1
    - Dst: radius_msg_get_attr_int32
      Src: /src/hostap/src/ap/authsrv.c:171,1
    - Dst: radius_msg_get_attr_int32
      Src: /src/hostap/src/ap/authsrv.c:174,1
    - Dst: radius_msg_get_attr_int32
      Src: /src/hostap/src/ap/authsrv.c:176,1
    - Dst: radius_msg_get_attr_int32
      Src: /src/hostap/src/ap/authsrv.c:178,1
    - Dst: radius_msg_get_attr_int32
      Src: /src/hostap/src/ap/authsrv.c:180,1
    - Dst: radius_msg_get_attr_int32
      Src: /src/hostap/src/ap/authsrv.c:182,1
    - Dst: radius_msg_get_attr_int32
      Src: /src/hostap/src/ap/authsrv.c:185,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/authsrv.c:193,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/authsrv.c:203,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 3
    argNames:
    - ctx
    - msg
    - status_type
    argTypes:
    - void*
    - struct radius_msg*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 210
    functionName: hostapd_radius_log_acct_req
    functionSourceFile: /src/hostap/src/ap/authsrv.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - radius_msg_get_attr_int32
    - radius_msg_get_attr
    linkageType: ''
    returnType: int
    signature: "int hostapd_radius_log_acct_req(void *ctx, struct radius_msg *msg,\n\t\t\t\t
      \      u32 status_type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_mld_is_first_bss
      Src: /src/hostap/src/ap/authsrv.c:219,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/authsrv.c:222,1
    - Dst: hostapd_mld_get_first_bss
      Src: /src/hostap/src/ap/authsrv.c:225,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/authsrv.c:233,1
    - Dst: radius_server_init
      Src: /src/hostap/src/ap/authsrv.c:254,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/authsrv.c:256,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 261
    functionName: hostapd_setup_radius_srv
    functionSourceFile: /src/hostap/src/ap/authsrv.c
    functionUses: 0
    functionsReached:
    - hostapd_mld_get_first_bss
    - wpa_printf
    - radius_server_init
    - hostapd_mld_is_first_bss
    - os_memset
    linkageType: ''
    returnType: int
    signature: int hostapd_setup_radius_srv(struct hostapd_data *hapd)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/authsrv.c:272,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/authsrv.c:275,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/authsrv.c:282,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/authsrv.c:289,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/authsrv.c:292,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - ctx
    - ev
    - data
    argTypes:
    - void*
    - enum tls_event
    - union tls_event_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 299
    functionName: authsrv_tls_event
    functionSourceFile: /src/hostap/src/ap/authsrv.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: "void authsrv_tls_event(void *ctx, enum tls_event ev,\n\t\t\t      union
      tls_event_data *data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/authsrv.c:307,1
    - Dst: os_memdup
      Src: /src/hostap/src/ap/authsrv.c:321,1
    - Dst: os_memdup
      Src: /src/hostap/src/ap/authsrv.c:323,1
    - Dst: os_strdup
      Src: /src/hostap/src/ap/authsrv.c:329,1
    - Dst: os_strdup
      Src: /src/hostap/src/ap/authsrv.c:348,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/authsrv.c:349,1
    - Dst: os_strdup
      Src: /src/hostap/src/ap/authsrv.c:351,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 46
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 360
    functionName: authsrv_eap_config
    functionSourceFile: /src/hostap/src/ap/authsrv.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_memdup
    - os_zalloc
    - os_strdup
    linkageType: ''
    returnType: struct eap_config
    signature: struct eap_config * authsrv_eap_config(struct hostapd_data *hapd)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_mld_is_first_bss
      Src: /src/hostap/src/ap/authsrv.c:366,1
    - Dst: hostapd_mld_get_first_bss
      Src: /src/hostap/src/ap/authsrv.c:369,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/authsrv.c:374,1
    - Dst: authsrv_init
      Src: /src/hostap/src/ap/authsrv.c:377,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/authsrv.c:381,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/authsrv.c:402,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/authsrv.c:406,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/authsrv.c:411,1
    - Dst: tls_init
      Src: /src/hostap/src/ap/authsrv.c:417,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/authsrv.c:419,1
    - Dst: authsrv_deinit
      Src: /src/hostap/src/ap/authsrv.c:420,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/authsrv.c:424,1
    - Dst: tls_global_set_params
      Src: /src/hostap/src/ap/authsrv.c:441,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/authsrv.c:442,1
    - Dst: authsrv_deinit
      Src: /src/hostap/src/ap/authsrv.c:443,1
    - Dst: tls_global_set_verify
      Src: /src/hostap/src/ap/authsrv.c:447,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/authsrv.c:450,1
    - Dst: authsrv_deinit
      Src: /src/hostap/src/ap/authsrv.c:451,1
    - Dst: crypto_rsa_key_free
      Src: /src/hostap/src/ap/authsrv.c:458,1
    - Dst: crypto_rsa_key_read
      Src: /src/hostap/src/ap/authsrv.c:461,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/authsrv.c:464,1
    - Dst: authsrv_deinit
      Src: /src/hostap/src/ap/authsrv.c:467,1
    - Dst: eap_sim_db_init
      Src: /src/hostap/src/ap/authsrv.c:476,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/authsrv.c:480,1
    - Dst: authsrv_deinit
      Src: /src/hostap/src/ap/authsrv.c:482,1
    - Dst: authsrv_eap_config
      Src: /src/hostap/src/ap/authsrv.c:488,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/authsrv.c:490,1
    - Dst: authsrv_deinit
      Src: /src/hostap/src/ap/authsrv.c:492,1
    - Dst: hostapd_setup_radius_srv
      Src: /src/hostap/src/ap/authsrv.c:498,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 87
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 363
    functionDepth: 2
    functionLinenumber: 363
    functionLinenumberEnd: 503
    functionName: authsrv_init
    functionSourceFile: /src/hostap/src/ap/authsrv.c
    functionUses: 1
    functionsReached:
    - authsrv_init
    - hostapd_mld_get_first_bss
    - wpa_printf
    - authsrv_deinit
    - hostapd_setup_radius_srv
    - authsrv_eap_config
    - tls_global_set_verify
    - tls_global_set_params
    - tls_init
    - eap_sim_db_init
    - crypto_rsa_key_free
    - crypto_rsa_key_read
    - hostapd_mld_is_first_bss
    - os_memset
    linkageType: ''
    returnType: int
    signature: int authsrv_init(struct hostapd_data *hapd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_mld_is_first_bss
      Src: /src/hostap/src/ap/authsrv.c:509,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/authsrv.c:510,1
    - Dst: radius_server_deinit
      Src: /src/hostap/src/ap/authsrv.c:526,1
    - Dst: crypto_rsa_key_free
      Src: /src/hostap/src/ap/authsrv.c:531,1
    - Dst: tls_deinit
      Src: /src/hostap/src/ap/authsrv.c:537,1
    - Dst: eap_sim_db_deinit
      Src: /src/hostap/src/ap/authsrv.c:544,1
    - Dst: eap_server_config_free
      Src: /src/hostap/src/ap/authsrv.c:549,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 506
    functionDepth: 2
    functionLinenumber: 506
    functionLinenumberEnd: 551
    functionName: authsrv_deinit
    functionSourceFile: /src/hostap/src/ap/authsrv.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - radius_server_deinit
    - eap_server_config_free
    - tls_deinit
    - crypto_rsa_key_free
    - hostapd_mld_is_first_bss
    - eap_sim_db_deinit
    linkageType: ''
    returnType: void
    signature: void authsrv_deinit(struct hostapd_data *hapd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/ndisc_snoop.c:45,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ndisc_snoop.c:49,1
    - Dst: dl_list_add_tail
      Src: /src/hostap/src/ap/ndisc_snoop.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - sta
    - addr
    argTypes:
    - struct sta_info*
    - struct in6_addr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 54
    functionName: sta_ip6addr_add
    functionSourceFile: /src/hostap/src/ap/ndisc_snoop.c
    functionUses: 0
    functionsReached:
    - dl_list_add_tail
    - os_zalloc
    - os_memcpy
    linkageType: ''
    returnType: int
    signature: int sta_ip6addr_add(struct sta_info *sta, struct in6_addr *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/ap/ndisc_snoop.c:61,1
    - Dst: hostapd_drv_br_delete_ip_neigh
      Src: /src/hostap/src/ap/ndisc_snoop.c:63,1
    - Dst: dl_list_del
      Src: /src/hostap/src/ap/ndisc_snoop.c:64,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ndisc_snoop.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 67
    functionName: sta_ip6addr_del
    functionSourceFile: /src/hostap/src/ap/ndisc_snoop.c
    functionUses: 0
    functionsReached:
    - os_free
    - dl_list_del
    - hostapd_drv_br_delete_ip_neigh
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: void sta_ip6addr_del(struct hostapd_data *hapd, struct sta_info *sta)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/ap/ndisc_snoop.c:74,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - sta
    - addr
    argTypes:
    - struct sta_info*
    - struct in6_addr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 83
    functionName: sta_has_ip6addr
    functionSourceFile: /src/hostap/src/ap/ndisc_snoop.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    linkageType: ''
    returnType: int
    signature: int sta_has_ip6addr(struct sta_info *sta, struct in6_addr *addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: x_snoop_mcast_to_ucast_convert_send
      Src: /src/hostap/src/ap/ndisc_snoop.c:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - hapd
    - buf
    - len
    argTypes:
    - struct hostapd_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 95
    functionName: ucast_to_stas
    functionSourceFile: /src/hostap/src/ap/ndisc_snoop.c
    functionUses: 0
    functionsReached:
    - x_snoop_mcast_to_ucast_convert_send
    linkageType: ''
    returnType: void
    signature: void ucast_to_stas(struct hostapd_data *hapd, const u8 *buf, size_t
      len)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ndisc_snoop.c:122,1
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/ndisc_snoop.c:127,1
    - Dst: sta_has_ip6addr
      Src: /src/hostap/src/ap/ndisc_snoop.c:131,1
    - Dst: inet_ntop
      Src: /src/hostap/src/ap/ndisc_snoop.c:134,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ndisc_snoop.c:137,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ndisc_snoop.c:138,1
    - Dst: hostapd_drv_br_delete_ip_neigh
      Src: /src/hostap/src/ap/ndisc_snoop.c:139,1
    - Dst: hostapd_drv_br_add_ip_neigh
      Src: /src/hostap/src/ap/ndisc_snoop.c:140,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ndisc_snoop.c:144,1
    - Dst: sta_ip6addr_add
      Src: /src/hostap/src/ap/ndisc_snoop.c:150,1
    - Dst: ucast_to_stas
      Src: /src/hostap/src/ap/ndisc_snoop.c:157,1
    - Dst: ucast_to_stas
      Src: /src/hostap/src/ap/ndisc_snoop.c:162,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 43
    argCount: 4
    argNames:
    - ctx
    - src_addr
    - buf
    - len
    argTypes:
    - void*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 167
    functionName: handle_ndisc
    functionSourceFile: /src/hostap/src/ap/ndisc_snoop.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - sta_ip6addr_add
    - inet_ntop
    - MAC2STR
    - hostapd_drv_br_add_ip_neigh
    - hostapd_drv_br_delete_ip_neigh
    - sta_has_ip6addr
    - ucast_to_stas
    - ap_get_sta
    linkageType: ''
    returnType: void
    signature: "void handle_ndisc(void *ctx, const u8 *src_addr, const u8 *buf,\n\t\t\t
      size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: x_snoop_get_l2_packet
      Src: /src/hostap/src/ap/ndisc_snoop.c:172,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ndisc_snoop.c:175,1
    - Dst: strerror
      Src: /src/hostap/src/ap/ndisc_snoop.c:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 182
    functionName: ndisc_snoop_init
    functionSourceFile: /src/hostap/src/ap/ndisc_snoop.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - strerror
    - x_snoop_get_l2_packet
    linkageType: ''
    returnType: int
    signature: int ndisc_snoop_init(struct hostapd_data *hapd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: l2_packet_deinit
      Src: /src/hostap/src/ap/ndisc_snoop.c:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 189
    functionName: ndisc_snoop_deinit
    functionSourceFile: /src/hostap/src/ap/ndisc_snoop.c
    functionUses: 0
    functionsReached:
    - l2_packet_deinit
    linkageType: ''
    returnType: void
    signature: void ndisc_snoop_deinit(struct hostapd_data *hapd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_get_reltime
      Src: /src/hostap/src/ap/gas_query_ap.c:83,1
    - Dst: os_reltime_sub
      Src: /src/hostap/src/ap/gas_query_ap.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - last
    argTypes:
    - struct os_reltime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 86
    functionName: ms_from_time
    functionSourceFile: /src/hostap/src/ap/gas_query_ap.c
    functionUses: 2
    functionsReached:
    - os_reltime_sub
    - os_get_reltime
    linkageType: ''
    returnType: int
    signature: int ms_from_time(struct os_reltime *last)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/gas_query_ap.c:99,1
    - Dst: dl_list_init
      Src: /src/hostap/src/ap/gas_query_ap.c:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - hapd
    - msg_ctx
    argTypes:
    - struct hostapd_data*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 108
    functionName: gas_query_ap_init
    functionSourceFile: /src/hostap/src/ap/gas_query_ap.c
    functionUses: 0
    functionsReached:
    - os_zalloc
    - dl_list_init
    linkageType: ''
    returnType: struct gas_query_ap
    signature: "struct gas_query_ap * gas_query_ap_init(struct hostapd_data *hapd,\n\t\t\t\t\tvoid
      *msg_ctx)"
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - result
    argTypes:
    - enum gas_query_ap_result
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 129
    functionName: gas_result_txt
    functionSourceFile: /src/hostap/src/ap/gas_query_ap.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * gas_result_txt(enum gas_query_ap_result result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_del
      Src: /src/hostap/src/ap/gas_query_ap.c:135,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/gas_query_ap.c:137,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/gas_query_ap.c:138,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/gas_query_ap.c:139,1
    - Dst: os_free
      Src: /src/hostap/src/ap/gas_query_ap.c:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - query
    - del_list
    argTypes:
    - struct gas_query_pending*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 141
    functionName: gas_query_free
    functionSourceFile: /src/hostap/src/ap/gas_query_ap.c
    functionUses: 3
    functionsReached:
    - os_free
    - wpabuf_free
    - dl_list_del
    linkageType: ''
    returnType: void
    signature: void gas_query_free(struct gas_query_pending *query, int del_list)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/gas_query_ap.c:148,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/gas_query_ap.c:150,1
    - Dst: gas_result_txt
      Src: /src/hostap/src/ap/gas_query_ap.c:151,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/gas_query_ap.c:154,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/gas_query_ap.c:155,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/gas_query_ap.c:156,1
    - Dst: dl_list_del
      Src: /src/hostap/src/ap/gas_query_ap.c:157,1
    - Dst: struct gas_query_pending*::cb
      Src: /src/hostap/src/ap/gas_query_ap.c:158,1
    - Dst: gas_query_free
      Src: /src/hostap/src/ap/gas_query_ap.c:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - gas
    - query
    - result
    argTypes:
    - struct gas_query_ap*
    - struct gas_query_pending*
    - enum gas_query_ap_result
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 161
    functionName: gas_query_done
    functionSourceFile: /src/hostap/src/ap/gas_query_ap.c
    functionUses: 9
    functionsReached:
    - dl_list_del
    - wpa_msg
    - eloop_cancel_timeout
    - gas_query_free
    - gas_result_txt
    - MAC2STR
    - struct gas_query_pending*::cb
    linkageType: ''
    returnType: void
    signature: "void gas_query_done(struct gas_query_ap *gas,\n\t\t\t   struct gas_query_pending
      *query,\n\t\t\t   enum gas_query_ap_result result)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/ap/gas_query_ap.c:175,1
    - Dst: gas_query_done
      Src: /src/hostap/src/ap/gas_query_ap.c:177,1
    - Dst: os_free
      Src: /src/hostap/src/ap/gas_query_ap.c:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - gas
    argTypes:
    - struct gas_query_ap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 180
    functionName: gas_query_ap_deinit
    functionSourceFile: /src/hostap/src/ap/gas_query_ap.c
    functionUses: 0
    functionsReached:
    - os_free
    - gas_query_done
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: void gas_query_ap_deinit(struct gas_query_ap *gas)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/ap/gas_query_ap.c:187,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/gas_query_ap.c:188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - gas
    - addr
    - dialog_token
    argTypes:
    - struct gas_query_ap*
    - u8*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 193
    functionName: gas_query_get_pending
    functionSourceFile: /src/hostap/src/ap/gas_query_ap.c
    functionUses: 1
    functionsReached:
    - dl_list_for_each
    - ether_addr_equal
    linkageType: ''
    returnType: struct gas_query_pending
    signature: 'struct gas_query_pending *

      gas_query_get_pending(struct gas_query_ap *gas, const u8 *addr, u8 dialog_token)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_resize
      Src: /src/hostap/src/ap/gas_query_ap.c:199,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_query_ap.c:200,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/ap/gas_query_ap.c:203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - query
    - data
    - len
    argTypes:
    - struct gas_query_pending*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 205
    functionName: gas_query_append
    functionSourceFile: /src/hostap/src/ap/gas_query_ap.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - wpabuf_resize
    - wpabuf_put_data
    linkageType: ''
    returnType: int
    signature: "int gas_query_append(struct gas_query_pending *query, const u8 *data,\n\t\t\t
      \   size_t len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_query_ap.c:215,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/gas_query_ap.c:216,1
    - Dst: ms_from_time
      Src: /src/hostap/src/ap/gas_query_ap.c:222,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_query_ap.c:223,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/gas_query_ap.c:225,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/gas_query_ap.c:226,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_query_ap.c:227,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/ap/gas_query_ap.c:230,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/gas_query_ap.c:232,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_query_ap.c:234,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/gas_query_ap.c:235,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/gas_query_ap.c:238,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/gas_query_ap.c:242,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/gas_query_ap.c:244,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 5
    argNames:
    - gas
    - dst
    - data
    - data_len
    - ok
    argTypes:
    - struct gas_query_ap*
    - u8*
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 248
    functionName: gas_query_ap_tx_status
    functionSourceFile: /src/hostap/src/ap/gas_query_ap.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_get_reltime
    - eloop_cancel_timeout
    - ether_addr_equal
    - MAC2STR
    - eloop_register_timeout
    - ms_from_time
    linkageType: ''
    returnType: void
    signature: "void gas_query_ap_tx_status(struct gas_query_ap *gas, const u8 *dst,\n\t\t\t
      \   const u8 *data, size_t data_len, int ok)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/gas_query_ap.c:255,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - hapd
    - addr
    argTypes:
    - struct hostapd_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 257
    functionName: pmf_in_use
    functionSourceFile: /src/hostap/src/ap/gas_query_ap.c
    functionUses: 6
    functionsReached:
    - ap_get_sta
    linkageType: ''
    returnType: int
    signature: int pmf_in_use(struct hostapd_data *hapd, const u8 *addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pmf_in_use
      Src: /src/hostap/src/ap/gas_query_ap.c:264,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_query_ap.c:266,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/gas_query_ap.c:268,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/gas_query_ap.c:268,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/gas_query_ap.c:269,1
    - Dst: wpabuf_mhead_u8
      Src: /src/hostap/src/ap/gas_query_ap.c:271,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/ap/gas_query_ap.c:274,1
    - Dst: hostapd_drv_send_action
      Src: /src/hostap/src/ap/gas_query_ap.c:275,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/gas_query_ap.c:276,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/gas_query_ap.c:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - gas
    - query
    - req
    - wait_time
    argTypes:
    - struct gas_query_ap*
    - struct gas_query_pending*
    - struct wpabuf*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 260
    functionDepth: 3
    functionLinenumber: 260
    functionLinenumberEnd: 279
    functionName: gas_query_tx
    functionSourceFile: /src/hostap/src/ap/gas_query_ap.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - os_get_reltime
    - hostapd_drv_send_action
    - wpabuf_len
    - wpabuf_mhead_u8
    - pmf_in_use
    - wpabuf_head
    - MAC2STR
    linkageType: ''
    returnType: int
    signature: "int gas_query_tx(struct gas_query_ap *gas,\n\t\t\tstruct gas_query_pending
      *query,\n\t\t\tstruct wpabuf *req, unsigned int wait_time)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gas_build_comeback_req
      Src: /src/hostap/src/ap/gas_query_ap.c:288,1
    - Dst: gas_query_done
      Src: /src/hostap/src/ap/gas_query_ap.c:290,1
    - Dst: gas_query_tx
      Src: /src/hostap/src/ap/gas_query_ap.c:297,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_query_ap.c:298,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/gas_query_ap.c:299,1
    - Dst: gas_query_done
      Src: /src/hostap/src/ap/gas_query_ap.c:300,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/gas_query_ap.c:303,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - gas
    - query
    argTypes:
    - struct gas_query_ap*
    - struct gas_query_pending*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 304
    functionName: gas_query_tx_comeback_req
    functionSourceFile: /src/hostap/src/ap/gas_query_ap.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - gas_build_comeback_req
    - wpabuf_free
    - MAC2STR
    - gas_query_tx
    - gas_query_done
    linkageType: ''
    returnType: void
    signature: "void gas_query_tx_comeback_req(struct gas_query_ap *gas,\n\t\t\t\t
      \     struct gas_query_pending *query)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_query_ap.c:313,1
    - Dst: gas_query_new_dialog_token
      Src: /src/hostap/src/ap/gas_query_ap.c:318,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_query_ap.c:321,1
    - Dst: wpabuf_mhead_u8
      Src: /src/hostap/src/ap/gas_query_ap.c:325,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/gas_query_ap.c:328,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/gas_query_ap.c:330,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/gas_query_ap.c:331,1
    - Dst: gas_query_tx_initial_req
      Src: /src/hostap/src/ap/gas_query_ap.c:332,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - eloop_data
    - user_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 333
    functionName: gas_query_rx_comeback_timeout
    functionSourceFile: /src/hostap/src/ap/gas_query_ap.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - gas_query_tx_initial_req
    - gas_query_new_dialog_token
    - wpabuf_mhead_u8
    - eloop_cancel_timeout
    - wpabuf_free
    linkageType: ''
    returnType: void
    signature: void gas_query_rx_comeback_timeout(void *eloop_data, void *user_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_query_ap.c:341,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/gas_query_ap.c:342,1
    - Dst: gas_query_tx_comeback_req
      Src: /src/hostap/src/ap/gas_query_ap.c:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - eloop_data
    - user_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 344
    functionName: gas_query_tx_comeback_timeout
    functionSourceFile: /src/hostap/src/ap/gas_query_ap.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    - gas_query_tx_comeback_req
    linkageType: ''
    returnType: void
    signature: void gas_query_tx_comeback_timeout(void *eloop_data, void *user_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_query_ap.c:355,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/gas_query_ap.c:356,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/gas_query_ap.c:357,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/gas_query_ap.c:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - gas
    - query
    - comeback_delay
    argTypes:
    - struct gas_query_ap*
    - struct gas_query_pending*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 360
    functionName: gas_query_tx_comeback_req_delay
    functionSourceFile: /src/hostap/src/ap/gas_query_ap.c
    functionUses: 2
    functionsReached:
    - eloop_cancel_timeout
    - MAC2STR
    - wpa_printf
    - eloop_register_timeout
    linkageType: ''
    returnType: void
    signature: "void gas_query_tx_comeback_req_delay(struct gas_query_ap *gas,\n\t\t\t\t\t
      \   struct gas_query_pending *query,\n\t\t\t\t\t    u16 comeback_delay)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_query_ap.c:368,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/gas_query_ap.c:370,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/ap/gas_query_ap.c:372,1
    - Dst: gas_query_done
      Src: /src/hostap/src/ap/gas_query_ap.c:374,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/gas_query_ap.c:379,1
    - Dst: gas_query_tx_comeback_req_delay
      Src: /src/hostap/src/ap/gas_query_ap.c:381,1
    - Dst: gas_query_append
      Src: /src/hostap/src/ap/gas_query_ap.c:386,1
    - Dst: gas_query_done
      Src: /src/hostap/src/ap/gas_query_ap.c:387,1
    - Dst: gas_query_done
      Src: /src/hostap/src/ap/gas_query_ap.c:391,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 6
    argNames:
    - gas
    - query
    - adv_proto
    - resp
    - len
    - comeback_delay
    argTypes:
    - struct gas_query_ap*
    - struct gas_query_pending*
    - u8*
    - u8*
    - size_t
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 392
    functionName: gas_query_rx_initial
    functionSourceFile: /src/hostap/src/ap/gas_query_ap.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - eloop_cancel_timeout
    - wpabuf_alloc_copy
    - MAC2STR
    - gas_query_append
    - gas_query_done
    - gas_query_tx_comeback_req_delay
    linkageType: ''
    returnType: void
    signature: "void gas_query_rx_initial(struct gas_query_ap *gas,\n\t\t\t\t struct
      gas_query_pending *query,\n\t\t\t\t const u8 *adv_proto, const u8 *resp,\n\t\t\t\t
      size_t len, u16 comeback_delay)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_query_ap.c:401,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/gas_query_ap.c:404,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/gas_query_ap.c:406,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/gas_query_ap.c:408,1
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/gas_query_ap.c:409,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/gas_query_ap.c:409,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/gas_query_ap.c:410,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_query_ap.c:411,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/gas_query_ap.c:413,1
    - Dst: gas_query_done
      Src: /src/hostap/src/ap/gas_query_ap.c:414,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_query_ap.c:420,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/gas_query_ap.c:422,1
    - Dst: gas_query_done
      Src: /src/hostap/src/ap/gas_query_ap.c:423,1
    - Dst: gas_query_tx_comeback_req_delay
      Src: /src/hostap/src/ap/gas_query_ap.c:426,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_query_ap.c:431,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/gas_query_ap.c:432,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_query_ap.c:434,1
    - Dst: gas_query_done
      Src: /src/hostap/src/ap/gas_query_ap.c:438,1
    - Dst: gas_query_append
      Src: /src/hostap/src/ap/gas_query_ap.c:443,1
    - Dst: gas_query_done
      Src: /src/hostap/src/ap/gas_query_ap.c:444,1
    - Dst: gas_query_tx_comeback_req
      Src: /src/hostap/src/ap/gas_query_ap.c:449,1
    - Dst: gas_query_done
      Src: /src/hostap/src/ap/gas_query_ap.c:453,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 8
    argNames:
    - gas
    - query
    - adv_proto
    - resp
    - len
    - frag_id
    - more_frags
    - comeback_delay
    argTypes:
    - struct gas_query_ap*
    - struct gas_query_pending*
    - u8*
    - u8*
    - size_t
    - u8
    - u8
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 454
    functionName: gas_query_rx_comeback
    functionSourceFile: /src/hostap/src/ap/gas_query_ap.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - gas_query_tx_comeback_req
    - eloop_cancel_timeout
    - wpabuf_len
    - wpabuf_head
    - MAC2STR
    - os_memcmp
    - gas_query_append
    - gas_query_done
    - gas_query_tx_comeback_req_delay
    linkageType: ''
    returnType: void
    signature: "void gas_query_rx_comeback(struct gas_query_ap *gas,\n\t\t\t\t  struct
      gas_query_pending *query,\n\t\t\t\t  const u8 *adv_proto, const u8 *resp,\n\t\t\t\t
      \ size_t len, u8 frag_id, u8 more_frags,\n\t\t\t\t  u16 comeback_delay)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: pmf_in_use
      Src: /src/hostap/src/ap/gas_query_ap.c:490,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_query_ap.c:492,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_query_ap.c:496,1
    - Dst: gas_query_get_pending
      Src: /src/hostap/src/ap/gas_query_ap.c:500,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_query_ap.c:502,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/gas_query_ap.c:503,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_query_ap.c:507,1
    - Dst: ms_from_time
      Src: /src/hostap/src/ap/gas_query_ap.c:508,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/gas_query_ap.c:508,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_query_ap.c:511,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/gas_query_ap.c:513,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_query_ap.c:518,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/gas_query_ap.c:520,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/ap/gas_query_ap.c:524,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_query_ap.c:529,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_query_ap.c:531,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/gas_query_ap.c:533,1
    - Dst: gas_query_done
      Src: /src/hostap/src/ap/gas_query_ap.c:534,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_query_ap.c:540,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/gas_query_ap.c:542,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_query_ap.c:552,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/gas_query_ap.c:554,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/ap/gas_query_ap.c:557,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_query_ap.c:564,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/gas_query_ap.c:566,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_query_ap.c:571,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/gas_query_ap.c:573,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_query_ap.c:582,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/ap/gas_query_ap.c:585,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_query_ap.c:590,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/gas_query_ap.c:591,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_query_ap.c:596,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/gas_query_ap.c:598,1
    - Dst: gas_query_rx_comeback
      Src: /src/hostap/src/ap/gas_query_ap.c:602,1
    - Dst: gas_query_rx_initial
      Src: /src/hostap/src/ap/gas_query_ap.c:605,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 87
    argCount: 6
    argNames:
    - gas
    - sa
    - categ
    - data
    - len
    - freq
    argTypes:
    - struct gas_query_ap*
    - u8*
    - u8
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 609
    functionName: gas_query_ap_rx
    functionSourceFile: /src/hostap/src/ap/gas_query_ap.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - gas_query_rx_comeback
    - pmf_in_use
    - WPA_GET_LE16
    - gas_query_rx_initial
    - MAC2STR
    - gas_query_get_pending
    - ms_from_time
    - gas_query_done
    linkageType: ''
    returnType: int
    signature: "int gas_query_ap_rx(struct gas_query_ap *gas, const u8 *sa, u8 categ,\n\t\t
      \   const u8 *data, size_t len, int freq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_query_ap.c:617,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/gas_query_ap.c:619,1
    - Dst: gas_query_done
      Src: /src/hostap/src/ap/gas_query_ap.c:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - eloop_data
    - user_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 621
    functionName: gas_query_timeout
    functionSourceFile: /src/hostap/src/ap/gas_query_ap.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    - gas_query_done
    linkageType: ''
    returnType: void
    signature: void gas_query_timeout(void *eloop_data, void *user_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/ap/gas_query_ap.c:628,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/gas_query_ap.c:629,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - gas
    - dst
    - dialog_token
    argTypes:
    - struct gas_query_ap*
    - u8*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 635
    functionName: gas_query_dialog_token_available
    functionSourceFile: /src/hostap/src/ap/gas_query_ap.c
    functionUses: 1
    functionsReached:
    - dl_list_for_each
    - ether_addr_equal
    linkageType: ''
    returnType: int
    signature: "int gas_query_dialog_token_available(struct gas_query_ap *gas,\n\t\t\t\t\t
      \   const u8 *dst, u8 dialog_token)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gas_query_tx
      Src: /src/hostap/src/ap/gas_query_ap.c:641,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_query_ap.c:643,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/gas_query_ap.c:644,1
    - Dst: gas_query_done
      Src: /src/hostap/src/ap/gas_query_ap.c:645,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/gas_query_ap.c:650,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/gas_query_ap.c:652,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - gas
    - query
    argTypes:
    - struct gas_query_ap*
    - struct gas_query_pending*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 638
    functionDepth: 1
    functionLinenumber: 638
    functionLinenumberEnd: 654
    functionName: gas_query_tx_initial_req
    functionSourceFile: /src/hostap/src/ap/gas_query_ap.c
    functionUses: 3
    functionsReached:
    - wpa_printf
    - MAC2STR
    - eloop_register_timeout
    - gas_query_tx
    - gas_query_done
    linkageType: ''
    returnType: void
    signature: "void gas_query_tx_initial_req(struct gas_query_ap *gas,\n\t\t\t\t
      \    struct gas_query_pending *query)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gas_query_dialog_token_available
      Src: /src/hostap/src/ap/gas_query_ap.c:663,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - gas
    - dst
    argTypes:
    - struct gas_query_ap*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 672
    functionName: gas_query_new_dialog_token
    functionSourceFile: /src/hostap/src/ap/gas_query_ap.c
    functionUses: 3
    functionsReached:
    - gas_query_dialog_token_available
    linkageType: ''
    returnType: int
    signature: int gas_query_new_dialog_token(struct gas_query_ap *gas, const u8 *dst)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/gas_query_ap.c:697,1
    - Dst: gas_query_new_dialog_token
      Src: /src/hostap/src/ap/gas_query_ap.c:700,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/gas_query_ap.c:704,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/gas_query_ap.c:709,1
    - Dst: dl_list_add
      Src: /src/hostap/src/ap/gas_query_ap.c:715,1
    - Dst: wpabuf_mhead_u8
      Src: /src/hostap/src/ap/gas_query_ap.c:717,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/gas_query_ap.c:719,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/gas_query_ap.c:721,1
    - Dst: gas_query_tx_initial_req
      Src: /src/hostap/src/ap/gas_query_ap.c:723,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 5
    argNames:
    - gas
    - dst
    - freq
    - req
    - ctx
    argTypes:
    - struct gas_query_ap*
    - u8*
    - int
    - struct wpabuf*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 686
    functionDepth: 1
    functionLinenumber: 686
    functionLinenumberEnd: 726
    functionName: gas_query_ap_req
    functionSourceFile: /src/hostap/src/ap/gas_query_ap.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - gas_query_tx_initial_req
    - gas_query_new_dialog_token
    - wpa_msg
    - wpabuf_len
    - wpabuf_mhead_u8
    - MAC2STR
    - os_zalloc
    - dl_list_add
    linkageType: ''
    returnType: int
    signature: "int gas_query_ap_req(struct gas_query_ap *gas, const u8 *dst, int
      freq,\n\t\t     struct wpabuf *req,\n\t\t     void (*cb)(void *ctx, const u8
      *dst, u8 dialog_token,\n\t\t\t\tenum gas_query_ap_result result,\n\t\t\t\tconst
      struct wpabuf *adv_proto,\n\t\t\t\tconst struct wpabuf *resp, u16 status_code),\n\t\t
      \    void *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct eth_p_oui_ctx*::rx_callback
      Src: /src/hostap/src/ap/eth_p_oui.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ctx
    - src_addr
    - dst_addr
    - buf
    - len
    argTypes:
    - struct eth_p_oui_ctx*
    - u8*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: eth_p_oui_deliver
    functionSourceFile: /src/hostap/src/ap/eth_p_oui.c
    functionUses: 0
    functionsReached:
    - struct eth_p_oui_ctx*::rx_callback
    linkageType: ''
    returnType: void
    signature: "void eth_p_oui_deliver(struct eth_p_oui_ctx *ctx, const u8 *src_addr,\n\t\t
      \      const u8 *dst_addr, const u8 *buf, size_t len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/eth_p_oui.c:68,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/ap/eth_p_oui.c:73,1
    - Dst: eth_p_oui_deliver
      Src: /src/hostap/src/ap/eth_p_oui.c:78,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - ctx
    - src_addr
    - buf
    - len
    argTypes:
    - void*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 81
    functionName: eth_p_rx
    functionSourceFile: /src/hostap/src/ap/eth_p_oui.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    - eth_p_oui_deliver
    - os_memcmp
    linkageType: ''
    returnType: void
    signature: void eth_p_rx(void *ctx, const u8 *src_addr, const u8 *buf, size_t
      len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/eth_p_oui.c:96,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/ap/eth_p_oui.c:106,1
    - Dst: os_strcmp
      Src: /src/hostap/src/ap/eth_p_oui.c:108,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/eth_p_oui.c:115,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/ap/eth_p_oui.c:119,1
    - Dst: l2_packet_init
      Src: /src/hostap/src/ap/eth_p_oui.c:120,1
    - Dst: os_free
      Src: /src/hostap/src/ap/eth_p_oui.c:123,1
    - Dst: dl_list_init
      Src: /src/hostap/src/ap/eth_p_oui.c:126,1
    - Dst: dl_list_add_tail
      Src: /src/hostap/src/ap/eth_p_oui.c:128,1
    - Dst: dl_list_add_tail
      Src: /src/hostap/src/ap/eth_p_oui.c:131,1
    - Dst: os_free
      Src: /src/hostap/src/ap/eth_p_oui.c:136,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 4
    argNames:
    - hapd
    - ifname
    - oui_suffix
    - rx_callback_ctx
    argTypes:
    - struct hostapd_data*
    - char*
    - u8
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 138
    functionName: eth_p_oui_register
    functionSourceFile: /src/hostap/src/ap/eth_p_oui.c
    functionUses: 0
    functionsReached:
    - dl_list_add_tail
    - os_strlcpy
    - dl_list_for_each
    - os_zalloc
    - dl_list_init
    - os_free
    - l2_packet_init
    - os_strcmp
    linkageType: ''
    returnType: struct eth_p_oui_ctx
    signature: "struct eth_p_oui_ctx *\neth_p_oui_register(struct hostapd_data *hapd,
      const char *ifname, u8 oui_suffix,\n\t\t   void (*rx_callback)(void *ctx, const
      u8 *src_addr,\n\t\t\t\t       const u8 *dst_addr, u8 oui_suffix,\n\t\t\t\t       const
      u8 *buf, size_t len),\n\t\t   void *rx_callback_ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_del
      Src: /src/hostap/src/ap/eth_p_oui.c:150,1
    - Dst: os_free
      Src: /src/hostap/src/ap/eth_p_oui.c:151,1
    - Dst: dl_list_empty
      Src: /src/hostap/src/ap/eth_p_oui.c:153,1
    - Dst: dl_list_del
      Src: /src/hostap/src/ap/eth_p_oui.c:154,1
    - Dst: l2_packet_deinit
      Src: /src/hostap/src/ap/eth_p_oui.c:155,1
    - Dst: os_free
      Src: /src/hostap/src/ap/eth_p_oui.c:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct eth_p_oui_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 158
    functionName: eth_p_oui_unregister
    functionSourceFile: /src/hostap/src/ap/eth_p_oui.c
    functionUses: 0
    functionsReached:
    - os_free
    - l2_packet_deinit
    - dl_list_del
    - dl_list_empty
    linkageType: ''
    returnType: void
    signature: void eth_p_oui_unregister(struct eth_p_oui_ctx *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/eth_p_oui.c:171,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/eth_p_oui.c:177,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/eth_p_oui.c:178,1
    - Dst: host_to_be16
      Src: /src/hostap/src/ap/eth_p_oui.c:179,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/eth_p_oui.c:182,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/eth_p_oui.c:186,1
    - Dst: l2_packet_send
      Src: /src/hostap/src/ap/eth_p_oui.c:188,1
    - Dst: os_free
      Src: /src/hostap/src/ap/eth_p_oui.c:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 5
    argNames:
    - ctx
    - src_addr
    - dst_addr
    - buf
    - len
    argTypes:
    - struct eth_p_oui_ctx*
    - u8*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 191
    functionName: eth_p_oui_send
    functionSourceFile: /src/hostap/src/ap/eth_p_oui.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - host_to_be16
    - os_zalloc
    - l2_packet_send
    - os_free
    linkageType: ''
    returnType: int
    signature: "int eth_p_oui_send(struct eth_p_oui_ctx *ctx, const u8 *src_addr,\n\t\t
      \  const u8 *dst_addr, const u8 *buf, size_t len)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/vlan_util.c:31,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/vlan_util.c:34,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/vlan_util.c:35,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/vlan_util.c:40,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/vlan_util.c:41,1
    - Dst: nl_socket_alloc
      Src: /src/hostap/src/ap/vlan_util.c:46,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/vlan_util.c:48,1
    - Dst: nl_connect
      Src: /src/hostap/src/ap/vlan_util.c:52,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/vlan_util.c:54,1
    - Dst: nl_geterror
      Src: /src/hostap/src/ap/vlan_util.c:55,1
    - Dst: rtnl_link_get_kernel
      Src: /src/hostap/src/ap/vlan_util.c:59,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/vlan_util.c:62,1
    - Dst: rtnl_link_get_ifindex
      Src: /src/hostap/src/ap/vlan_util.c:66,1
    - Dst: rtnl_link_put
      Src: /src/hostap/src/ap/vlan_util.c:67,1
    - Dst: rtnl_link_get_kernel
      Src: /src/hostap/src/ap/vlan_util.c:70,1
    - Dst: rtnl_link_put
      Src: /src/hostap/src/ap/vlan_util.c:73,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/vlan_util.c:75,1
    - Dst: rtnl_link_alloc
      Src: /src/hostap/src/ap/vlan_util.c:81,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/vlan_util.c:83,1
    - Dst: rtnl_link_set_type
      Src: /src/hostap/src/ap/vlan_util.c:87,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/vlan_util.c:89,1
    - Dst: nl_geterror
      Src: /src/hostap/src/ap/vlan_util.c:90,1
    - Dst: rtnl_link_set_link
      Src: /src/hostap/src/ap/vlan_util.c:94,1
    - Dst: rtnl_link_set_name
      Src: /src/hostap/src/ap/vlan_util.c:95,1
    - Dst: rtnl_link_vlan_set_id
      Src: /src/hostap/src/ap/vlan_util.c:97,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/vlan_util.c:99,1
    - Dst: nl_geterror
      Src: /src/hostap/src/ap/vlan_util.c:100,1
    - Dst: rtnl_link_add
      Src: /src/hostap/src/ap/vlan_util.c:104,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/vlan_util.c:106,1
    - Dst: nl_geterror
      Src: /src/hostap/src/ap/vlan_util.c:109,1
    - Dst: rtnl_link_put
      Src: /src/hostap/src/ap/vlan_util.c:117,1
    - Dst: nl_socket_free
      Src: /src/hostap/src/ap/vlan_util.c:119,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 74
    argCount: 3
    argNames:
    - if_name
    - vid
    - vlan_if_name
    argTypes:
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 121
    functionName: vlan_add
    functionSourceFile: /src/hostap/src/ap/vlan_util.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - nl_socket_free
    - rtnl_link_set_link
    - rtnl_link_get_ifindex
    - rtnl_link_alloc
    - nl_socket_alloc
    - rtnl_link_set_name
    - rtnl_link_add
    - nl_connect
    - rtnl_link_get_kernel
    - rtnl_link_vlan_set_id
    - rtnl_link_put
    - rtnl_link_set_type
    - nl_geterror
    linkageType: ''
    returnType: int
    signature: int vlan_add(const char *if_name, int vid, const char *vlan_if_name)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/vlan_util.c:130,1
    - Dst: nl_socket_alloc
      Src: /src/hostap/src/ap/vlan_util.c:132,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/vlan_util.c:134,1
    - Dst: nl_connect
      Src: /src/hostap/src/ap/vlan_util.c:138,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/vlan_util.c:140,1
    - Dst: nl_geterror
      Src: /src/hostap/src/ap/vlan_util.c:141,1
    - Dst: rtnl_link_get_kernel
      Src: /src/hostap/src/ap/vlan_util.c:145,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/vlan_util.c:148,1
    - Dst: rtnl_link_delete
      Src: /src/hostap/src/ap/vlan_util.c:153,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/vlan_util.c:155,1
    - Dst: nl_geterror
      Src: /src/hostap/src/ap/vlan_util.c:156,1
    - Dst: rtnl_link_put
      Src: /src/hostap/src/ap/vlan_util.c:164,1
    - Dst: nl_socket_free
      Src: /src/hostap/src/ap/vlan_util.c:166,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 1
    argNames:
    - if_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 168
    functionName: vlan_rem
    functionSourceFile: /src/hostap/src/ap/vlan_util.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - nl_socket_free
    - nl_socket_alloc
    - rtnl_link_delete
    - nl_connect
    - rtnl_link_get_kernel
    - rtnl_link_put
    - nl_geterror
    linkageType: ''
    returnType: int
    signature: int vlan_rem(const char *if_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name_type
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: vlan_set_name_type
    functionSourceFile: /src/hostap/src/ap/vlan_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int vlan_set_name_type(unsigned int name_type)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct vlan_description*
    - struct vlan_description*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 34
    functionName: vlan_compare
    functionSourceFile: /src/hostap/src/ap/vlan.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int vlan_compare(struct vlan_description *a, struct vlan_description
      *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/airtime_policy.c:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - iface
    - sec
    - usec
    argTypes:
    - struct hostapd_iface*
    - unsigned int*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 53
    functionName: get_airtime_policy_update_timeout
    functionSourceFile: /src/hostap/src/ap/airtime_policy.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int get_airtime_policy_update_timeout(struct hostapd_iface *iface,\n\t\t\t\t\t
      \    unsigned int *sec,\n\t\t\t\t\t     unsigned int *usec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - hapd
    - sta
    - now
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - struct os_reltime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 67
    functionName: set_new_backlog_time
    functionSourceFile: /src/hostap/src/ap/airtime_policy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void set_new_backlog_time(struct hostapd_data *hapd,\n\t\t\t\t struct
      sta_info *sta,\n\t\t\t\t struct os_reltime *now)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_get_reltime
      Src: /src/hostap/src/ap/airtime_policy.c:77,1
    - Dst: hostapd_drv_read_sta_data
      Src: /src/hostap/src/ap/airtime_policy.c:80,1
    - Dst: set_new_backlog_time
      Src: /src/hostap/src/ap/airtime_policy.c:88,1
    - Dst: os_reltime_before
      Src: /src/hostap/src/ap/airtime_policy.c:89,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 93
    functionName: count_backlogged_sta
    functionSourceFile: /src/hostap/src/ap/airtime_policy.c
    functionUses: 0
    functionsReached:
    - set_new_backlog_time
    - os_get_reltime
    - os_reltime_before
    - hostapd_drv_read_sta_data
    linkageType: ''
    returnType: void
    signature: void count_backlogged_sta(struct hostapd_data *hapd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_sta_set_airtime_weight
      Src: /src/hostap/src/ap/airtime_policy.c:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - hapd
    - sta
    - weight
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 108
    functionName: sta_set_airtime_weight
    functionSourceFile: /src/hostap/src/ap/airtime_policy.c
    functionUses: 2
    functionsReached:
    - hostapd_sta_set_airtime_weight
    linkageType: ''
    returnType: int
    signature: "int sta_set_airtime_weight(struct hostapd_data *hapd,\n\t\t\t\t  struct
      sta_info *sta,\n\t\t\t\t  unsigned int weight)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sta_set_airtime_weight
      Src: /src/hostap/src/ap/airtime_policy.c:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - hapd
    - weight
    argTypes:
    - struct hostapd_data*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 111
    functionDepth: 3
    functionLinenumber: 111
    functionLinenumberEnd: 117
    functionName: set_sta_weights
    functionSourceFile: /src/hostap/src/ap/airtime_policy.c
    functionUses: 0
    functionsReached:
    - sta_set_airtime_weight
    linkageType: ''
    returnType: void
    signature: void set_sta_weights(struct hostapd_data *hapd, unsigned int weight)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - max_wt
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 135
    functionName: get_airtime_quantum
    functionSourceFile: /src/hostap/src/ap/airtime_policy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int get_airtime_quantum(unsigned int max_wt)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: count_backlogged_sta
      Src: /src/hostap/src/ap/airtime_policy.c:156,1
    - Dst: get_airtime_quantum
      Src: /src/hostap/src/ap/airtime_policy.c:218,1
    - Dst: set_sta_weights
      Src: /src/hostap/src/ap/airtime_policy.c:224,1
    - Dst: get_airtime_policy_update_timeout
      Src: /src/hostap/src/ap/airtime_policy.c:227,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/airtime_policy.c:230,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 51
    argCount: 2
    argNames:
    - eloop_data
    - user_data
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 138
    functionDepth: 4
    functionLinenumber: 138
    functionLinenumberEnd: 232
    functionName: update_airtime_weights
    functionSourceFile: /src/hostap/src/ap/airtime_policy.c
    functionUses: 0
    functionsReached:
    - count_backlogged_sta
    - get_airtime_policy_update_timeout
    - get_airtime_quantum
    - eloop_register_timeout
    - set_sta_weights
    linkageType: ''
    returnType: void
    signature: void update_airtime_weights(void *eloop_data, void *user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/airtime_policy.c:240,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 244
    functionName: get_weight_for_sta
    functionSourceFile: /src/hostap/src/ap/airtime_policy.c
    functionUses: 0
    functionsReached:
    - ether_addr_equal
    linkageType: ''
    returnType: int
    signature: int get_weight_for_sta(struct hostapd_data *hapd, const u8 *sta)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_weight_for_sta
      Src: /src/hostap/src/ap/airtime_policy.c:252,1
    - Dst: sta_set_airtime_weight
      Src: /src/hostap/src/ap/airtime_policy.c:254,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 247
    functionDepth: 3
    functionLinenumber: 247
    functionLinenumberEnd: 257
    functionName: airtime_policy_new_sta
    functionSourceFile: /src/hostap/src/ap/airtime_policy.c
    functionUses: 0
    functionsReached:
    - sta_set_airtime_weight
    - get_weight_for_sta
    linkageType: ''
    returnType: int
    signature: int airtime_policy_new_sta(struct hostapd_data *hapd, struct sta_info
      *sta)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_airtime_policy_update_timeout
      Src: /src/hostap/src/ap/airtime_policy.c:267,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/airtime_policy.c:270,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 272
    functionName: airtime_policy_update_init
    functionSourceFile: /src/hostap/src/ap/airtime_policy.c
    functionUses: 0
    functionsReached:
    - eloop_register_timeout
    - get_airtime_policy_update_timeout
    linkageType: ''
    returnType: int
    signature: int airtime_policy_update_init(struct hostapd_iface *iface)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/airtime_policy.c:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 278
    functionName: airtime_policy_update_deinit
    functionSourceFile: /src/hostap/src/ap/airtime_policy.c
    functionUses: 0
    functionsReached:
    - eloop_cancel_timeout
    linkageType: ''
    returnType: void
    signature: void airtime_policy_update_deinit(struct hostapd_iface *iface)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: p2p_ie_text
      Src: /src/hostap/src/ap/p2p_hostapd.c:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - hapd
    - sta
    - buf
    - buflen
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 30
    functionName: hostapd_p2p_get_mib_sta
    functionSourceFile: /src/hostap/src/ap/p2p_hostapd.c
    functionUses: 1
    functionsReached:
    - p2p_ie_text
    linkageType: ''
    returnType: int
    signature: "int hostapd_p2p_get_mib_sta(struct hostapd_data *hapd, struct sta_info
      *sta,\n\t\t\t    char *buf, size_t buflen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/p2p_hostapd.c:36,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/p2p_hostapd.c:46,1
    - Dst: hostapd_driver_set_noa
      Src: /src/hostap/src/ap/p2p_hostapd.c:48,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/p2p_hostapd.c:56,1
    - Dst: hostapd_driver_set_noa
      Src: /src/hostap/src/ap/p2p_hostapd.c:58,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/p2p_hostapd.c:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 4
    argNames:
    - hapd
    - count
    - start
    - duration
    argTypes:
    - struct hostapd_data*
    - u8
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 65
    functionName: hostapd_p2p_set_noa
    functionSourceFile: /src/hostap/src/ap/p2p_hostapd.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - hostapd_driver_set_noa
    linkageType: ''
    returnType: int
    signature: "int hostapd_p2p_set_noa(struct hostapd_data *hapd, u8 count, int start,\n\t\t\tint
      duration)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/p2p_hostapd.c:70,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/p2p_hostapd.c:73,1
    - Dst: hostapd_driver_set_noa
      Src: /src/hostap/src/ap/p2p_hostapd.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 76
    functionName: hostapd_p2p_non_p2p_sta_connected
    functionSourceFile: /src/hostap/src/ap/p2p_hostapd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hostapd_driver_set_noa
    linkageType: ''
    returnType: void
    signature: void hostapd_p2p_non_p2p_sta_connected(struct hostapd_data *hapd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/p2p_hostapd.c:81,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/p2p_hostapd.c:84,1
    - Dst: hostapd_driver_set_noa
      Src: /src/hostap/src/ap/p2p_hostapd.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 88
    functionName: hostapd_p2p_non_p2p_sta_disconnected
    functionSourceFile: /src/hostap/src/ap/p2p_hostapd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hostapd_driver_set_noa
    linkageType: ''
    returnType: void
    signature: void hostapd_p2p_non_p2p_sta_disconnected(struct hostapd_data *hapd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/src/ap/p2p_hostapd.c:99,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/ap/p2p_hostapd.c:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - hapd
    - eid
    argTypes:
    - struct hostapd_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 112
    functionName: hostapd_eid_p2p_manage
    functionSourceFile: /src/hostap/src/ap/p2p_hostapd.c
    functionUses: 3
    functionsReached:
    - WPA_PUT_BE32
    - WPA_PUT_LE16
    linkageType: ''
    returnType: u8
    signature: u8 * hostapd_eid_p2p_manage(struct hostapd_data *hapd, u8 *eid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_realloc_array
      Src: /src/hostap/src/ap/utils.c:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - hapd
    - ctx
    argTypes:
    - struct hostapd_data*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 40
    functionName: hostapd_register_probereq_cb
    functionSourceFile: /src/hostap/src/ap/utils.c
    functionUses: 1
    functionsReached:
    - os_realloc_array
    linkageType: ''
    returnType: int
    signature: "int hostapd_register_probereq_cb(struct hostapd_data *hapd,\n\t\t\t\t
      int (*cb)(void *ctx, const u8 *sa,\n\t\t\t\t\t   const u8 *da, const u8 *bssid,\n\t\t\t\t\t
      \  const u8 *ie, size_t ie_len,\n\t\t\t\t\t   int ssi_signal),\n\t\t\t\t void
      *ctx)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fst_are_ifaces_aggregated
      Src: /src/hostap/src/ap/utils.c:68,1
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/utils.c:72,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/utils.c:82,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/utils.c:83,1
    - Dst: ap_sta_disassociate
      Src: /src/hostap/src/ap/utils.c:84,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 18
    argCount: 2
    argNames:
    - iface
    - ctx
    argTypes:
    - struct hostapd_iface*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 88
    functionName: prune_associations
    functionSourceFile: /src/hostap/src/ap/utils.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - ap_sta_disassociate
    - MAC2STR
    - fst_are_ifaces_aggregated
    - ap_get_sta
    linkageType: ''
    returnType: int
    signature: int prune_associations(struct hostapd_iface *iface, void *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::iface::interfaces::for_each_interface
      Src: /src/hostap/src/ap/utils.c:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - hapd
    - addr
    - mld_assoc_link_id
    argTypes:
    - struct hostapd_data*
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 112
    functionName: hostapd_prune_associations
    functionSourceFile: /src/hostap/src/ap/utils.c
    functionUses: 0
    functionsReached:
    - struct hostapd_data*::iface::interfaces::for_each_interface
    linkageType: ''
    returnType: void
    signature: "void hostapd_prune_associations(struct hostapd_data *hapd, const u8
      *addr,\n\t\t\t\tint mld_assoc_link_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_11_auth.c:59,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_11_auth.c:60,1
    - Dst: hostapd_free_psk_list
      Src: /src/hostap/src/ap/ieee802_11_auth.c:61,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_11_auth.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct hostapd_cached_radius_acl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: hostapd_acl_cache_free_entry
    functionSourceFile: /src/hostap/src/ap/ieee802_11_auth.c
    functionUses: 0
    functionsReached:
    - os_free
    - hostapd_free_psk_list
    linkageType: ''
    returnType: void
    signature: void hostapd_acl_cache_free_entry(struct hostapd_cached_radius_acl
      *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_acl_cache_free_entry
      Src: /src/hostap/src/ap/ieee802_11_auth.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - acl_cache
    argTypes:
    - struct hostapd_cached_radius_acl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 75
    functionName: hostapd_acl_cache_free
    functionSourceFile: /src/hostap/src/ap/ieee802_11_auth.c
    functionUses: 0
    functionsReached:
    - hostapd_acl_cache_free_entry
    linkageType: ''
    returnType: void
    signature: void hostapd_acl_cache_free(struct hostapd_cached_radius_acl *acl_cache)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_get_reltime
      Src: /src/hostap/src/ap/ieee802_11_auth.c:84,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/ieee802_11_auth.c:87,1
    - Dst: os_reltime_expired
      Src: /src/hostap/src/ap/ieee802_11_auth.c:90,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - hapd
    - addr
    - out
    argTypes:
    - struct hostapd_data*
    - u8*
    - struct radius_sta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 99
    functionName: hostapd_acl_cache_get
    functionSourceFile: /src/hostap/src/ap/ieee802_11_auth.c
    functionUses: 0
    functionsReached:
    - os_reltime_expired
    - os_get_reltime
    - ether_addr_equal
    linkageType: ''
    returnType: int
    signature: "int hostapd_acl_cache_get(struct hostapd_data *hapd, const u8 *addr,\n\t\t\t\t
      struct radius_sta *out)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_11_auth.c:107,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_11_auth.c:108,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_11_auth.c:109,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_11_auth.c:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - query
    argTypes:
    - struct hostapd_acl_query_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 111
    functionName: hostapd_acl_query_free
    functionSourceFile: /src/hostap/src/ap/ieee802_11_auth.c
    functionUses: 0
    functionsReached:
    - os_free
    linkageType: ''
    returnType: void
    signature: void hostapd_acl_query_free(struct hostapd_acl_query_data *query)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: radius_client_get_id
      Src: /src/hostap/src/ap/ieee802_11_auth.c:121,1
    - Dst: radius_msg_new
      Src: /src/hostap/src/ap/ieee802_11_auth.c:122,1
    - Dst: radius_msg_make_authenticator
      Src: /src/hostap/src/ap/ieee802_11_auth.c:126,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_auth.c:127,1
    - Dst: radius_msg_add_msg_auth
      Src: /src/hostap/src/ap/ieee802_11_auth.c:131,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ieee802_11_auth.c:134,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11_auth.c:134,1
    - Dst: radius_msg_add_attr
      Src: /src/hostap/src/ap/ieee802_11_auth.c:135,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/ieee802_11_auth.c:136,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_auth.c:137,1
    - Dst: radius_msg_add_attr_user_password
      Src: /src/hostap/src/ap/ieee802_11_auth.c:141,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/ieee802_11_auth.c:142,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_auth.c:145,1
    - Dst: add_common_radius_attr
      Src: /src/hostap/src/ap/ieee802_11_auth.c:149,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ieee802_11_auth.c:153,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11_auth.c:154,1
    - Dst: radius_msg_add_attr
      Src: /src/hostap/src/ap/ieee802_11_auth.c:155,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/ieee802_11_auth.c:156,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_auth.c:157,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ieee802_11_auth.c:161,1
    - Dst: radius_msg_add_attr
      Src: /src/hostap/src/ap/ieee802_11_auth.c:162,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/ieee802_11_auth.c:163,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_auth.c:164,1
    - Dst: radius_msg_add_attr_int32
      Src: /src/hostap/src/ap/ieee802_11_auth.c:169,1
    - Dst: wpa_akm_to_suite
      Src: /src/hostap/src/ap/ieee802_11_auth.c:170,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_auth.c:171,1
    - Dst: radius_msg_add_ext_vs
      Src: /src/hostap/src/ap/ieee802_11_auth.c:176,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_auth.c:180,1
    - Dst: radius_msg_add_ext_vs
      Src: /src/hostap/src/ap/ieee802_11_auth.c:185,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_auth.c:189,1
    - Dst: radius_client_send
      Src: /src/hostap/src/ap/ieee802_11_auth.c:193,1
    - Dst: radius_msg_free
      Src: /src/hostap/src/ap/ieee802_11_auth.c:198,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 62
    argCount: 3
    argNames:
    - hapd
    - addr
    - query
    argTypes:
    - struct hostapd_data*
    - u8*
    - struct hostapd_acl_query_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 200
    functionName: hostapd_radius_acl_query
    functionSourceFile: /src/hostap/src/ap/ieee802_11_auth.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - radius_client_send
    - radius_msg_add_ext_vs
    - radius_msg_add_attr
    - radius_client_get_id
    - radius_msg_new
    - wpa_akm_to_suite
    - add_common_radius_attr
    - os_snprintf
    - MAC2STR
    - radius_msg_add_attr_int32
    - radius_msg_add_attr_user_password
    - radius_msg_add_msg_auth
    - radius_msg_free
    - radius_msg_make_authenticator
    linkageType: ''
    returnType: int
    signature: "int hostapd_radius_acl_query(struct hostapd_data *hapd, const u8 *addr,\n\t\t\t\t
      \   struct hostapd_acl_query_data *query)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_maclist_found
      Src: /src/hostap/src/ap/ieee802_11_auth.c:214,1
    - Dst: hostapd_maclist_found
      Src: /src/hostap/src/ap/ieee802_11_auth.c:218,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - hapd
    - addr
    - vlan_id
    argTypes:
    - struct hostapd_data*
    - u8*
    - struct vlan_description*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 228
    functionName: hostapd_check_acl
    functionSourceFile: /src/hostap/src/ap/ieee802_11_auth.c
    functionUses: 0
    functionsReached:
    - hostapd_maclist_found
    linkageType: ''
    returnType: int
    signature: "int hostapd_check_acl(struct hostapd_data *hapd, const u8 *addr,\n\t\t
      \     struct vlan_description *vlan_id)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/ap/ieee802_11_auth.c:256,1
    - Dst: hostapd_check_acl
      Src: /src/hostap/src/ap/ieee802_11_auth.c:258,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/ieee802_11_auth.c:275,1
    - Dst: hostapd_acl_cache_get
      Src: /src/hostap/src/ap/ieee802_11_auth.c:278,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/ieee802_11_auth.c:287,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/ieee802_11_auth.c:299,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_auth.c:301,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/ap/ieee802_11_auth.c:304,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_auth.c:305,1
    - Dst: hostapd_radius_acl_query
      Src: /src/hostap/src/ap/ieee802_11_auth.c:306,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_auth.c:307,1
    - Dst: hostapd_acl_query_free
      Src: /src/hostap/src/ap/ieee802_11_auth.c:309,1
    - Dst: os_memdup
      Src: /src/hostap/src/ap/ieee802_11_auth.c:313,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_auth.c:315,1
    - Dst: hostapd_acl_query_free
      Src: /src/hostap/src/ap/ieee802_11_auth.c:317,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 51
    argCount: 6
    argNames:
    - hapd
    - addr
    - msg
    - len
    - out
    - is_probe_req
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8*
    - size_t
    - struct radius_sta*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 331
    functionName: hostapd_allowed_address
    functionSourceFile: /src/hostap/src/ap/ieee802_11_auth.c
    functionUses: 1
    functionsReached:
    - hostapd_check_acl
    - wpa_printf
    - os_get_reltime
    - os_memcpy
    - hostapd_acl_query_free
    - os_memdup
    - ether_addr_equal
    - hostapd_acl_cache_get
    - os_zalloc
    - hostapd_radius_acl_query
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int hostapd_allowed_address(struct hostapd_data *hapd, const u8 *addr,\n\t\t\t
      \   const u8 *msg, size_t len, struct radius_sta *out,\n\t\t\t    int is_probe_req)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_reltime_expired
      Src: /src/hostap/src/ap/ieee802_11_auth.c:344,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_auth.c:346,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11_auth.c:347,1
    - Dst: hostapd_drv_set_radius_acl_expire
      Src: /src/hostap/src/ap/ieee802_11_auth.c:352,1
    - Dst: hostapd_acl_cache_free_entry
      Src: /src/hostap/src/ap/ieee802_11_auth.c:355,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - hapd
    - now
    argTypes:
    - struct hostapd_data*
    - struct os_reltime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 335
    functionDepth: 2
    functionLinenumber: 335
    functionLinenumberEnd: 362
    functionName: hostapd_acl_expire_cache
    functionSourceFile: /src/hostap/src/ap/ieee802_11_auth.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hostapd_acl_cache_free_entry
    - hostapd_drv_set_radius_acl_expire
    - MAC2STR
    - os_reltime_expired
    linkageType: ''
    returnType: void
    signature: "void hostapd_acl_expire_cache(struct hostapd_data *hapd,\n\t\t\t\t
      \    struct os_reltime *now)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_reltime_expired
      Src: /src/hostap/src/ap/ieee802_11_auth.c:374,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_auth.c:376,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11_auth.c:377,1
    - Dst: hostapd_acl_query_free
      Src: /src/hostap/src/ap/ieee802_11_auth.c:385,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - hapd
    - now
    argTypes:
    - struct hostapd_data*
    - struct os_reltime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 392
    functionName: hostapd_acl_expire_queries
    functionSourceFile: /src/hostap/src/ap/ieee802_11_auth.c
    functionUses: 0
    functionsReached:
    - os_reltime_expired
    - MAC2STR
    - wpa_printf
    - hostapd_acl_query_free
    linkageType: ''
    returnType: void
    signature: "void hostapd_acl_expire_queries(struct hostapd_data *hapd,\n\t\t\t\t
      \      struct os_reltime *now)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_get_reltime
      Src: /src/hostap/src/ap/ieee802_11_auth.c:403,1
    - Dst: hostapd_acl_expire_cache
      Src: /src/hostap/src/ap/ieee802_11_auth.c:404,1
    - Dst: hostapd_acl_expire_queries
      Src: /src/hostap/src/ap/ieee802_11_auth.c:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 399
    functionDepth: 3
    functionLinenumber: 399
    functionLinenumberEnd: 406
    functionName: hostapd_acl_expire
    functionSourceFile: /src/hostap/src/ap/ieee802_11_auth.c
    functionUses: 0
    functionsReached:
    - hostapd_acl_expire_queries
    - os_get_reltime
    - hostapd_acl_expire_cache
    linkageType: ''
    returnType: void
    signature: void hostapd_acl_expire(struct hostapd_data *hapd)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: radius_msg_get_tunnel_password
      Src: /src/hostap/src/ap/ieee802_11_auth.c:425,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/ieee802_11_auth.c:448,1
    - Dst: hexstr2bin
      Src: /src/hostap/src/ap/ieee802_11_auth.c:451,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_11_auth.c:452,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_auth.c:459,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_11_auth.c:468,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_11_auth.c:470,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 6
    argNames:
    - hapd
    - shared_secret
    - shared_secret_len
    - msg
    - req
    - cache
    argTypes:
    - struct hostapd_data*
    - u8*
    - size_t
    - struct radius_msg*
    - struct radius_msg*
    - struct hostapd_cached_radius_acl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 472
    functionName: decode_tunnel_passwords
    functionSourceFile: /src/hostap/src/ap/ieee802_11_auth.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - radius_msg_get_tunnel_password
    - hexstr2bin
    - hostapd_logger
    - os_zalloc
    - os_free
    linkageType: ''
    returnType: void
    signature: "void decode_tunnel_passwords(struct hostapd_data *hapd,\n\t\t\t\t
      \   const u8 *shared_secret,\n\t\t\t\t    size_t shared_secret_len,\n\t\t\t\t
      \   struct radius_msg *msg,\n\t\t\t\t    struct radius_msg *req,\n\t\t\t\t    struct
      hostapd_cached_radius_acl *cache)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: radius_msg_get_hdr
      Src: /src/hostap/src/ap/ieee802_11_auth.c:494,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_auth.c:507,1
    - Dst: radius_msg_verify
      Src: /src/hostap/src/ap/ieee802_11_auth.c:511,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_auth.c:514,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_auth.c:521,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/ieee802_11_auth.c:528,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_auth.c:530,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/ap/ieee802_11_auth.c:533,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_auth.c:534,1
    - Dst: radius_msg_get_attr_int32
      Src: /src/hostap/src/ap/ieee802_11_auth.c:540,1
    - Dst: radius_msg_get_attr_int32
      Src: /src/hostap/src/ap/ieee802_11_auth.c:546,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_auth.c:550,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11_auth.c:554,1
    - Dst: radius_msg_get_vlanid
      Src: /src/hostap/src/ap/ieee802_11_auth.c:559,1
    - Dst: decode_tunnel_passwords
      Src: /src/hostap/src/ap/ieee802_11_auth.c:563,1
    - Dst: radius_msg_get_attr_ptr
      Src: /src/hostap/src/ap/ieee802_11_auth.c:566,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/ieee802_11_auth.c:568,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_auth.c:570,1
    - Dst: radius_msg_get_attr_ptr
      Src: /src/hostap/src/ap/ieee802_11_auth.c:572,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/ieee802_11_auth.c:575,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_auth.c:577,1
    - Dst: hostapd_vlan_valid
      Src: /src/hostap/src/ap/ieee802_11_auth.c:585,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_11_auth.c:586,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/ieee802_11_auth.c:592,1
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/ieee802_11_auth.c:607,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_auth.c:609,1
    - Dst: ieee802_11_set_radius_info
      Src: /src/hostap/src/ap/ieee802_11_auth.c:615,1
    - Dst: ap_sta_bind_vlan
      Src: /src/hostap/src/ap/ieee802_11_auth.c:617,1
    - Dst: wpa_auth_sta_radius_psk_resp
      Src: /src/hostap/src/ap/ieee802_11_auth.c:620,1
    - Dst: hostapd_drv_set_radius_acl_auth
      Src: /src/hostap/src/ap/ieee802_11_auth.c:623,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_auth.c:630,1
    - Dst: ieee802_11_mgmt
      Src: /src/hostap/src/ap/ieee802_11_auth.c:632,1
    - Dst: hostapd_acl_query_free
      Src: /src/hostap/src/ap/ieee802_11_auth.c:644,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 84
    argCount: 5
    argNames:
    - msg
    - req
    - shared_secret
    - shared_secret_len
    - data
    argTypes:
    - struct radius_msg*
    - struct radius_msg*
    - u8*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 485
    functionDepth: 2
    functionLinenumber: 485
    functionLinenumberEnd: 647
    functionName: hostapd_acl_recv_radius
    functionSourceFile: /src/hostap/src/ap/ieee802_11_auth.c
    functionUses: 0
    functionsReached:
    - wpa_auth_sta_radius_psk_resp
    - hostapd_logger
    - ap_sta_bind_vlan
    - radius_msg_get_attr_int32
    - ap_get_sta
    - wpa_printf
    - radius_msg_verify
    - radius_msg_get_attr_ptr
    - ieee802_11_set_radius_info
    - os_get_reltime
    - hostapd_acl_query_free
    - decode_tunnel_passwords
    - ieee802_11_mgmt
    - os_memset
    - radius_msg_get_hdr
    - os_memcpy
    - radius_msg_get_vlanid
    - MAC2STR
    - os_zalloc
    - hostapd_vlan_valid
    - hostapd_drv_set_radius_acl_auth
    linkageType: ''
    returnType: RadiusRxResult
    signature: "RadiusRxResult hostapd_acl_recv_radius(struct radius_msg *msg, struct
      radius_msg *req,\n\t\t\tconst u8 *shared_secret, size_t shared_secret_len,\n\t\t\tvoid
      *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: radius_client_register
      Src: /src/hostap/src/ap/ieee802_11_auth.c:659,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 656
    functionDepth: 1
    functionLinenumber: 656
    functionLinenumberEnd: 665
    functionName: hostapd_acl_init
    functionSourceFile: /src/hostap/src/ap/ieee802_11_auth.c
    functionUses: 0
    functionsReached:
    - radius_client_register
    linkageType: ''
    returnType: int
    signature: int hostapd_acl_init(struct hostapd_data *hapd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_acl_cache_free
      Src: /src/hostap/src/ap/ieee802_11_auth.c:677,1
    - Dst: hostapd_acl_query_free
      Src: /src/hostap/src/ap/ieee802_11_auth.c:686,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 672
    functionDepth: 3
    functionLinenumber: 672
    functionLinenumberEnd: 688
    functionName: hostapd_acl_deinit
    functionSourceFile: /src/hostap/src/ap/ieee802_11_auth.c
    functionUses: 0
    functionsReached:
    - hostapd_acl_cache_free
    - hostapd_acl_query_free
    linkageType: ''
    returnType: void
    signature: void hostapd_acl_deinit(struct hostapd_data *hapd)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - psk
    - src
    argTypes:
    - struct hostapd_sta_wpa_psk_short**
    - struct hostapd_sta_wpa_psk_short*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 701
    functionName: hostapd_copy_psk_list
    functionSourceFile: /src/hostap/src/ap/ieee802_11_auth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void hostapd_copy_psk_list(struct hostapd_sta_wpa_psk_short **psk,\n\t\t\t
      \  struct hostapd_sta_wpa_psk_short *src)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bin_clear_free
      Src: /src/hostap/src/ap/ieee802_11_auth.c:715,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - psk
    argTypes:
    - struct hostapd_sta_wpa_psk_short*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 704
    functionDepth: 1
    functionLinenumber: 704
    functionLinenumberEnd: 717
    functionName: hostapd_free_psk_list
    functionSourceFile: /src/hostap/src/ap/ieee802_11_auth.c
    functionUses: 1
    functionsReached:
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: void hostapd_free_psk_list(struct hostapd_sta_wpa_psk_short *psk)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/ieee802_11_auth.c:727,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/ap/ieee802_11_auth.c:733,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_auth.c:734,1
    - Dst: os_memdup
      Src: /src/hostap/src/ap/ieee802_11_auth.c:736,1
    - Dst: os_memdup
      Src: /src/hostap/src/ap/ieee802_11_auth.c:738,1
    - Dst: hostapd_radius_acl_query
      Src: /src/hostap/src/ap/ieee802_11_auth.c:741,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_auth.c:742,1
    - Dst: hostapd_acl_query_free
      Src: /src/hostap/src/ap/ieee802_11_auth.c:744,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 6
    argNames:
    - hapd
    - addr
    - key_mgmt
    - anonce
    - eapol
    - eapol_len
    argTypes:
    - struct hostapd_data*
    - u8*
    - int
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 721
    functionDepth: 2
    functionLinenumber: 721
    functionLinenumberEnd: 750
    functionName: hostapd_acl_req_radius_psk
    functionSourceFile: /src/hostap/src/ap/ieee802_11_auth.c
    functionUses: 0
    functionsReached:
    - os_get_reltime
    - os_memcpy
    - wpa_printf
    - hostapd_acl_query_free
    - os_memdup
    - os_zalloc
    - hostapd_radius_acl_query
    linkageType: ''
    returnType: void
    signature: "void hostapd_acl_req_radius_psk(struct hostapd_data *hapd, const u8
      *addr,\n\t\t\t\tint key_mgmt, const u8 *anonce,\n\t\t\t\tconst u8 *eapol, size_t
      eapol_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/ap/hw_features.c:37,1
    - Dst: os_free
      Src: /src/hostap/src/ap/hw_features.c:38,1
    - Dst: os_free
      Src: /src/hostap/src/ap/hw_features.c:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - hw_features
    - num_hw_features
    argTypes:
    - struct hostapd_hw_modes*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 42
    functionName: hostapd_free_hw_features
    functionSourceFile: /src/hostap/src/ap/hw_features.c
    functionUses: 1
    functionsReached:
    - os_free
    linkageType: ''
    returnType: void
    signature: "void hostapd_free_hw_features(struct hostapd_hw_modes *hw_features,\n\t\t\t
      \     size_t num_hw_features)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/hw_features.c:67,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - chan
    argTypes:
    - struct hostapd_channel_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 71
    functionName: dfs_info
    functionSourceFile: /src/hostap/src/ap/hw_features.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    linkageType: ''
    returnType: char
    signature: char * dfs_info(struct hostapd_channel_data *chan)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_init
      Src: /src/hostap/src/ap/hw_features.c:82,1
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/ap/hw_features.c:83,1
    - Dst: dl_list_del
      Src: /src/hostap/src/ap/hw_features.c:85,1
    - Dst: dl_list_add
      Src: /src/hostap/src/ap/hw_features.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - new_chan
    - old_chan
    argTypes:
    - struct hostapd_channel_data*
    - struct hostapd_channel_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 91
    functionName: move_survey_data
    functionSourceFile: /src/hostap/src/ap/hw_features.c
    functionUses: 0
    functionsReached:
    - dl_list_del
    - dl_list_add
    - dl_list_init
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: "void move_survey_data(struct hostapd_channel_data *new_chan,\n\t\t\t
      \    struct hostapd_channel_data *old_chan)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: move_survey_data
      Src: /src/hostap/src/ap/hw_features.c:111,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - new_feature
    - old_feature
    argTypes:
    - struct hostapd_hw_modes*
    - struct hostapd_hw_modes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 115
    functionName: move_hw_mode_data
    functionSourceFile: /src/hostap/src/ap/hw_features.c
    functionUses: 0
    functionsReached:
    - move_survey_data
    linkageType: ''
    returnType: void
    signature: "void move_hw_mode_data(struct hostapd_hw_modes *new_feature,\n\t\t\t
      \     struct hostapd_hw_modes *old_feature)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_drv_none
      Src: /src/hostap/src/ap/hw_features.c:132,1
    - Dst: hostapd_get_hw_feature_data
      Src: /src/hostap/src/ap/hw_features.c:134,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/hw_features.c:137,1
    - Dst: is_6ghz_freq
      Src: /src/hostap/src/ap/hw_features.c:168,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hw_features.c:199,1
    - Dst: dfs_info
      Src: /src/hostap/src/ap/hw_features.c:205,1
    - Dst: move_hw_mode_data
      Src: /src/hostap/src/ap/hw_features.c:216,1
    - Dst: hostapd_free_hw_features
      Src: /src/hostap/src/ap/hw_features.c:220,1
    - Dst: hostap_afc_disable_channels
      Src: /src/hostap/src/ap/hw_features.c:224,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hw_features.c:227,1
    - Dst: hostapd_get_multi_hw_info
      Src: /src/hostap/src/ap/hw_features.c:232,1
    - Dst: hostapd_free_multi_hw_info
      Src: /src/hostap/src/ap/hw_features.c:236,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hw_features.c:240,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hw_features.c:245,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 54
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 118
    functionDepth: 3
    functionLinenumber: 118
    functionLinenumberEnd: 252
    functionName: hostapd_get_hw_features
    functionSourceFile: /src/hostap/src/ap/hw_features.c
    functionUses: 1
    functionsReached:
    - hostapd_get_hw_feature_data
    - wpa_printf
    - hostapd_drv_none
    - is_6ghz_freq
    - hostapd_logger
    - dfs_info
    - move_hw_mode_data
    - hostapd_free_multi_hw_info
    - hostap_afc_disable_channels
    - hostapd_free_hw_features
    - hostapd_get_multi_hw_info
    linkageType: ''
    returnType: int
    signature: int hostapd_get_hw_features(struct hostapd_iface *iface)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/ap/hw_features.c:283,1
    - Dst: int_array_dup
      Src: /src/hostap/src/ap/hw_features.c:284,1
    - Dst: os_free
      Src: /src/hostap/src/ap/hw_features.c:286,1
    - Dst: os_calloc
      Src: /src/hostap/src/ap/hw_features.c:290,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hw_features.c:292,1
    - Dst: int_array_includes
      Src: /src/hostap/src/ap/hw_features.c:301,1
    - Dst: int_array_includes
      Src: /src/hostap/src/ap/hw_features.c:306,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hw_features.c:310,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hw_features.c:317,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 2
    argNames:
    - hapd
    - mode
    argTypes:
    - struct hostapd_data*
    - struct hostapd_hw_modes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 324
    functionName: hostapd_prepare_rates
    functionSourceFile: /src/hostap/src/ap/hw_features.c
    functionUses: 0
    functionsReached:
    - int_array_dup
    - wpa_printf
    - os_calloc
    - int_array_includes
    - os_free
    linkageType: ''
    returnType: int
    signature: "int hostapd_prepare_rates(struct hostapd_data *hapd,\n\t\t\t  struct
      hostapd_hw_modes *mode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hw_get_channel_freq
      Src: /src/hostap/src/ap/hw_features.c:338,1
    - Dst: hw_get_channel_freq
      Src: /src/hostap/src/ap/hw_features.c:342,1
    - Dst: allowed_ht40_channel_pair
      Src: /src/hostap/src/ap/hw_features.c:346,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 348
    functionName: ieee80211n_allowed_ht40_channel_pair
    functionSourceFile: /src/hostap/src/ap/hw_features.c
    functionUses: 0
    functionsReached:
    - hw_get_channel_freq
    - allowed_ht40_channel_pair
    linkageType: ''
    returnType: int
    signature: int ieee80211n_allowed_ht40_channel_pair(struct hostapd_iface *iface)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 362
    functionName: ieee80211n_switch_pri_sec
    functionSourceFile: /src/hostap/src/ap/hw_features.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ieee80211n_switch_pri_sec(struct hostapd_iface *iface)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hw_get_channel_freq
      Src: /src/hostap/src/ap/hw_features.c:377,1
    - Dst: hw_get_channel_freq
      Src: /src/hostap/src/ap/hw_features.c:380,1
    - Dst: check_40mhz_5g
      Src: /src/hostap/src/ap/hw_features.c:384,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hw_features.c:388,1
    - Dst: ieee80211n_switch_pri_sec
      Src: /src/hostap/src/ap/hw_features.c:391,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - iface
    - scan_res
    argTypes:
    - struct hostapd_iface*
    - struct wpa_scan_results*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 396
    functionName: ieee80211n_check_40mhz_5g
    functionSourceFile: /src/hostap/src/ap/hw_features.c
    functionUses: 0
    functionsReached:
    - hw_get_channel_freq
    - wpa_printf
    - ieee80211n_switch_pri_sec
    - check_40mhz_5g
    linkageType: ''
    returnType: int
    signature: "int ieee80211n_check_40mhz_5g(struct hostapd_iface *iface,\n\t\t\t\t
      \    struct wpa_scan_results *scan_res)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_40mhz_2g4
      Src: /src/hostap/src/ap/hw_features.c:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - scan_res
    argTypes:
    - struct hostapd_iface*
    - struct wpa_scan_results*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 409
    functionName: ieee80211n_check_40mhz_2g4
    functionSourceFile: /src/hostap/src/ap/hw_features.c
    functionUses: 0
    functionsReached:
    - check_40mhz_2g4
    linkageType: ''
    returnType: int
    signature: "int ieee80211n_check_40mhz_2g4(struct hostapd_iface *iface,\n\t\t\t\t
      \     struct wpa_scan_results *scan_res)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_driver_get_scan_results
      Src: /src/hostap/src/ap/hw_features.c:423,1
    - Dst: hostapd_setup_interface_complete
      Src: /src/hostap/src/ap/hw_features.c:425,1
    - Dst: ieee80211n_check_40mhz_5g
      Src: /src/hostap/src/ap/hw_features.c:430,1
    - Dst: ieee80211n_check_40mhz_2g4
      Src: /src/hostap/src/ap/hw_features.c:432,1
    - Dst: wpa_scan_results_free
      Src: /src/hostap/src/ap/hw_features.c:433,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hw_features.c:437,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hw_features.c:461,1
    - Dst: ieee80211n_allowed_ht40_channel_pair
      Src: /src/hostap/src/ap/hw_features.c:469,1
    - Dst: hostapd_set_oper_centr_freq_seg0_idx
      Src: /src/hostap/src/ap/hw_features.c:472,1
    - Dst: hostapd_set_oper_centr_freq_seg1_idx
      Src: /src/hostap/src/ap/hw_features.c:473,1
    - Dst: hostapd_set_oper_chwidth
      Src: /src/hostap/src/ap/hw_features.c:474,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hw_features.c:476,1
    - Dst: hostapd_setup_interface_complete
      Src: /src/hostap/src/ap/hw_features.c:479,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 412
    functionDepth: 2
    functionLinenumber: 412
    functionLinenumberEnd: 480
    functionName: ieee80211n_check_scan
    functionSourceFile: /src/hostap/src/ap/hw_features.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - ieee80211n_check_40mhz_5g
    - hostapd_set_oper_chwidth
    - hostapd_setup_interface_complete
    - ieee80211n_check_40mhz_2g4
    - wpa_scan_results_free
    - hostapd_set_oper_centr_freq_seg0_idx
    - hostapd_driver_get_scan_results
    - ieee80211n_allowed_ht40_channel_pair
    - hostapd_set_oper_centr_freq_seg1_idx
    linkageType: ''
    returnType: void
    signature: void ieee80211n_check_scan(struct hostapd_iface *iface)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hw_features.c:507,1
    - Dst: os_calloc
      Src: /src/hostap/src/ap/hw_features.c:511,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - iface
    - params
    argTypes:
    - struct hostapd_iface*
    - struct wpa_driver_scan_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 525
    functionName: ieee80211n_scan_channels_2g4
    functionSourceFile: /src/hostap/src/ap/hw_features.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_calloc
    linkageType: ''
    returnType: void
    signature: "void ieee80211n_scan_channels_2g4(struct hostapd_iface *iface,\n\t\t\t\t\t
      struct wpa_driver_scan_params *params)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hw_features.c:548,1
    - Dst: os_calloc
      Src: /src/hostap/src/ap/hw_features.c:552,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - iface
    - params
    argTypes:
    - struct hostapd_iface*
    - struct wpa_driver_scan_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 566
    functionName: ieee80211n_scan_channels_5g
    functionSourceFile: /src/hostap/src/ap/hw_features.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_calloc
    linkageType: ''
    returnType: void
    signature: "void ieee80211n_scan_channels_5g(struct hostapd_iface *iface,\n\t\t\t\t\tstruct
      wpa_driver_scan_params *params)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/ap/hw_features.c:576,1
    - Dst: ieee80211n_scan_channels_2g4
      Src: /src/hostap/src/ap/hw_features.c:578,1
    - Dst: ieee80211n_scan_channels_5g
      Src: /src/hostap/src/ap/hw_features.c:580,1
    - Dst: hostapd_driver_scan
      Src: /src/hostap/src/ap/hw_features.c:582,1
    - Dst: os_free
      Src: /src/hostap/src/ap/hw_features.c:584,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hw_features.c:588,1
    - Dst: strerror
      Src: /src/hostap/src/ap/hw_features.c:590,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/hw_features.c:591,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hw_features.c:601,1
    - Dst: hostapd_set_oper_centr_freq_seg0_idx
      Src: /src/hostap/src/ap/hw_features.c:603,1
    - Dst: hostapd_set_oper_centr_freq_seg1_idx
      Src: /src/hostap/src/ap/hw_features.c:604,1
    - Dst: hostapd_set_oper_chwidth
      Src: /src/hostap/src/ap/hw_features.c:605,1
    - Dst: hostapd_setup_interface_complete
      Src: /src/hostap/src/ap/hw_features.c:608,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - eloop_data
    - user_data
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 569
    functionDepth: 2
    functionLinenumber: 569
    functionLinenumberEnd: 609
    functionName: ap_ht40_scan_retry
    functionSourceFile: /src/hostap/src/ap/hw_features.c
    functionUses: 0
    functionsReached:
    - ieee80211n_scan_channels_5g
    - wpa_printf
    - hostapd_driver_scan
    - hostapd_set_oper_chwidth
    - strerror
    - hostapd_setup_interface_complete
    - ieee80211n_scan_channels_2g4
    - hostapd_set_oper_centr_freq_seg0_idx
    - eloop_register_timeout
    - os_free
    - hostapd_set_oper_centr_freq_seg1_idx
    - os_memset
    linkageType: ''
    returnType: void
    signature: void ap_ht40_scan_retry(void *eloop_data, void *user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/hw_features.c:614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 615
    functionName: hostapd_stop_setup_timers
    functionSourceFile: /src/hostap/src/ap/hw_features.c
    functionUses: 0
    functionsReached:
    - eloop_cancel_timeout
    linkageType: ''
    returnType: void
    signature: void hostapd_stop_setup_timers(struct hostapd_iface *iface)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_set_state
      Src: /src/hostap/src/ap/hw_features.c:627,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hw_features.c:628,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/hw_features.c:630,1
    - Dst: ieee80211n_scan_channels_2g4
      Src: /src/hostap/src/ap/hw_features.c:632,1
    - Dst: ieee80211n_scan_channels_5g
      Src: /src/hostap/src/ap/hw_features.c:634,1
    - Dst: hostapd_driver_scan
      Src: /src/hostap/src/ap/hw_features.c:636,1
    - Dst: os_free
      Src: /src/hostap/src/ap/hw_features.c:637,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hw_features.c:640,1
    - Dst: strerror
      Src: /src/hostap/src/ap/hw_features.c:642,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/hw_features.c:644,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/hw_features.c:645,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hw_features.c:650,1
    - Dst: strerror
      Src: /src/hostap/src/ap/hw_features.c:652,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 618
    functionDepth: 2
    functionLinenumber: 618
    functionLinenumberEnd: 659
    functionName: ieee80211n_check_40mhz
    functionSourceFile: /src/hostap/src/ap/hw_features.c
    functionUses: 0
    functionsReached:
    - hostapd_set_state
    - wpa_printf
    - ieee80211n_scan_channels_5g
    - hostapd_driver_scan
    - strerror
    - ieee80211n_scan_channels_2g4
    - eloop_cancel_timeout
    - eloop_register_timeout
    - os_free
    - os_memset
    linkageType: ''
    returnType: int
    signature: int ieee80211n_check_40mhz(struct hostapd_iface *iface)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hw_features.c:669,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hw_features.c:680,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hw_features.c:687,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hw_features.c:694,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hw_features.c:701,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hw_features.c:707,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hw_features.c:714,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hw_features.c:721,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hw_features.c:728,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hw_features.c:735,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hw_features.c:742,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 46
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 748
    functionName: ieee80211n_supported_ht_capab
    functionSourceFile: /src/hostap/src/ap/hw_features.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int ieee80211n_supported_ht_capab(struct hostapd_iface *iface)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hw_features.c:758,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hw_features.c:771,1
    - Dst: ieee80211ac_cap_check
      Src: /src/hostap/src/ap/hw_features.c:779,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 752
    functionDepth: 1
    functionLinenumber: 752
    functionLinenumberEnd: 780
    functionName: ieee80211ac_supported_vht_capab
    functionSourceFile: /src/hostap/src/ap/hw_features.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - ieee80211ac_cap_check
    linkageType: ''
    returnType: int
    signature: int ieee80211ac_supported_vht_capab(struct hostapd_iface *iface)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 785
    functionDepth: 0
    functionLinenumber: 785
    functionLinenumberEnd: 788
    functionName: ieee80211be_supported_eht_capab
    functionSourceFile: /src/hostap/src/ap/hw_features.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ieee80211be_supported_eht_capab(struct hostapd_iface *iface)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 796
    functionName: ieee80211ax_supported_he_capab
    functionSourceFile: /src/hostap/src/ap/hw_features.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ieee80211ax_supported_he_capab(struct hostapd_iface *iface)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: is_6ghz_freq
      Src: /src/hostap/src/ap/hw_features.c:804,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hw_features.c:812,1
    - Dst: ieee80211n_supported_ht_capab
      Src: /src/hostap/src/ap/hw_features.c:817,1
    - Dst: ieee80211be_supported_eht_capab
      Src: /src/hostap/src/ap/hw_features.c:821,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hw_features.c:822,1
    - Dst: ieee80211ax_supported_he_capab
      Src: /src/hostap/src/ap/hw_features.c:828,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hw_features.c:829,1
    - Dst: ieee80211ac_supported_vht_capab
      Src: /src/hostap/src/ap/hw_features.c:835,1
    - Dst: ieee80211n_check_40mhz
      Src: /src/hostap/src/ap/hw_features.c:838,1
    - Dst: ieee80211n_allowed_ht40_channel_pair
      Src: /src/hostap/src/ap/hw_features.c:841,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 800
    functionDepth: 3
    functionLinenumber: 800
    functionLinenumberEnd: 845
    functionName: hostapd_check_ht_capab
    functionSourceFile: /src/hostap/src/ap/hw_features.c
    functionUses: 0
    functionsReached:
    - ieee80211n_supported_ht_capab
    - wpa_printf
    - ieee80211be_supported_eht_capab
    - is_6ghz_freq
    - ieee80211n_check_40mhz
    - ieee80211ax_supported_he_capab
    - ieee80211n_allowed_ht40_channel_pair
    - ieee80211ac_supported_vht_capab
    linkageType: ''
    returnType: int
    signature: int hostapd_check_ht_capab(struct hostapd_iface *iface)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_encode_edmg_chan
      Src: /src/hostap/src/ap/hw_features.c:856,1
    - Dst: ieee802_edmg_is_allowed
      Src: /src/hostap/src/ap/hw_features.c:861,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hw_features.c:864,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hw_features.c:865,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hw_features.c:867,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 848
    functionDepth: 1
    functionLinenumber: 848
    functionLinenumberEnd: 871
    functionName: hostapd_check_edmg_capab
    functionSourceFile: /src/hostap/src/ap/hw_features.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - ieee802_edmg_is_allowed
    - hostapd_encode_edmg_chan
    linkageType: ''
    returnType: int
    signature: int hostapd_check_edmg_capab(struct hostapd_iface *iface)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: is_6ghz_freq
      Src: /src/hostap/src/ap/hw_features.c:880,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hw_features.c:888,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hw_features.c:896,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hw_features.c:903,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hw_features.c:910,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 874
    functionDepth: 1
    functionLinenumber: 874
    functionLinenumberEnd: 916
    functionName: hostapd_check_he_6ghz_capab
    functionSourceFile: /src/hostap/src/ap/hw_features.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - is_6ghz_freq
    linkageType: ''
    returnType: int
    signature: int hostapd_check_he_6ghz_capab(struct hostapd_iface *iface)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hw_get_channel_freq
      Src: /src/hostap/src/ap/hw_features.c:932,1
    - Dst: chan_pri_allowed
      Src: /src/hostap/src/ap/hw_features.c:937,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hw_features.c:941,1
    - Dst: is_6ghz_freq
      Src: /src/hostap/src/ap/hw_features.c:948,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - iface
    - frequency
    - primary
    argTypes:
    - struct hostapd_iface*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 924
    functionDepth: 1
    functionLinenumber: 924
    functionLinenumberEnd: 952
    functionName: hostapd_is_usable_chan
    functionSourceFile: /src/hostap/src/ap/hw_features.c
    functionUses: 0
    functionsReached:
    - chan_pri_allowed
    - hw_get_channel_freq
    - wpa_printf
    - is_6ghz_freq
    linkageType: ''
    returnType: int
    signature: "int hostapd_is_usable_chan(struct hostapd_iface *iface,\n\t\t\t\t
      \ int frequency, int primary)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: hw_get_channel_freq
      Src: /src/hostap/src/ap/hw_features.c:969,1
    - Dst: hostapd_encode_edmg_chan
      Src: /src/hostap/src/ap/hw_features.c:975,1
    - Dst: BIT
      Src: /src/hostap/src/ap/hw_features.c:979,1
    - Dst: BIT
      Src: /src/hostap/src/ap/hw_features.c:986,1
    - Dst: hostapd_is_usable_chan
      Src: /src/hostap/src/ap/hw_features.c:1000,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 40
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 955
    functionDepth: 2
    functionLinenumber: 955
    functionLinenumberEnd: 1026
    functionName: hostapd_is_usable_edmg
    functionSourceFile: /src/hostap/src/ap/hw_features.c
    functionUses: 0
    functionsReached:
    - hw_get_channel_freq
    - BIT
    - hostapd_is_usable_chan
    - hostapd_encode_edmg_chan
    linkageType: ''
    returnType: int
    signature: int hostapd_is_usable_edmg(struct hostapd_iface *iface)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hw_features.c:1040,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hw_features.c:1046,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hw_features.c:1061,1
    - Dst: is_punct_bitmap_valid
      Src: /src/hostap/src/ap/hw_features.c:1077,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hw_features.c:1079,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1085
      start: 1029
    functionDepth: 1
    functionLinenumber: 1029
    functionLinenumberEnd: 1085
    functionName: hostapd_is_usable_punct_bitmap
    functionSourceFile: /src/hostap/src/ap/hw_features.c
    functionUses: 0
    functionsReached:
    - is_punct_bitmap_valid
    - wpa_printf
    linkageType: ''
    returnType: bool
    signature: bool hostapd_is_usable_punct_bitmap(struct hostapd_iface *iface)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_get_oper_chwidth
      Src: /src/hostap/src/ap/hw_features.c:1093,1
    - Dst: hostapd_get_oper_centr_freq_seg0_idx
      Src: /src/hostap/src/ap/hw_features.c:1094,1
    - Dst: hw_get_freq
      Src: /src/hostap/src/ap/hw_features.c:1111,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hw_features.c:1114,1
    - Dst: hostapd_is_usable_chan
      Src: /src/hostap/src/ap/hw_features.c:1121,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hw_features.c:1123,1
    - Dst: hostapd_get_oper_centr_freq_seg1_idx
      Src: /src/hostap/src/ap/hw_features.c:1133,1
    - Dst: hw_get_freq
      Src: /src/hostap/src/ap/hw_features.c:1135,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hw_features.c:1138,1
    - Dst: hostapd_is_usable_chan
      Src: /src/hostap/src/ap/hw_features.c:1145,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hw_features.c:1147,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1155
      start: 1088
    functionDepth: 2
    functionLinenumber: 1088
    functionLinenumberEnd: 1155
    functionName: hostapd_is_usable_chan_seg
    functionSourceFile: /src/hostap/src/ap/hw_features.c
    functionUses: 0
    functionsReached:
    - hw_get_freq
    - wpa_printf
    - hostapd_get_oper_centr_freq_seg1_idx
    - hostapd_get_oper_centr_freq_seg0_idx
    - hostapd_is_usable_chan
    - hostapd_get_oper_chwidth
    linkageType: ''
    returnType: int
    signature: int hostapd_is_usable_chan_seg(struct hostapd_iface *iface)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: hw_get_channel_freq
      Src: /src/hostap/src/ap/hw_features.c:1172,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hw_features.c:1177,1
    - Dst: hostapd_is_usable_edmg
      Src: /src/hostap/src/ap/hw_features.c:1181,1
    - Dst: hostapd_is_usable_punct_bitmap
      Src: /src/hostap/src/ap/hw_features.c:1185,1
    - Dst: hostapd_get_oper_chwidth
      Src: /src/hostap/src/ap/hw_features.c:1188,1
    - Dst: hostapd_get_oper_centr_freq_seg0_idx
      Src: /src/hostap/src/ap/hw_features.c:1194,1
    - Dst: hostapd_is_usable_chan_seg
      Src: /src/hostap/src/ap/hw_features.c:1198,1
    - Dst: hostapd_is_usable_chan
      Src: /src/hostap/src/ap/hw_features.c:1200,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hw_features.c:1202,1
    - Dst: hostapd_is_usable_chan
      Src: /src/hostap/src/ap/hw_features.c:1209,1
    - Dst: hostapd_is_usable_chan
      Src: /src/hostap/src/ap/hw_features.c:1229,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 44
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1239
      start: 1163
    functionDepth: 3
    functionLinenumber: 1163
    functionLinenumberEnd: 1239
    functionName: hostapd_is_usable_chans
    functionSourceFile: /src/hostap/src/ap/hw_features.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - hostapd_is_usable_chan_seg
    - hostapd_get_oper_centr_freq_seg0_idx
    - hostapd_is_usable_chan
    - hostapd_is_usable_edmg
    - hw_get_channel_freq
    - hostapd_is_usable_punct_bitmap
    - hostapd_get_oper_chwidth
    linkageType: ''
    returnType: int
    signature: int hostapd_is_usable_chans(struct hostapd_iface *iface)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hw_mode_get_channel
      Src: /src/hostap/src/ap/hw_features.c:1247,1
    - Dst: is_6ghz_op_class
      Src: /src/hostap/src/ap/hw_features.c:1250,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - iface
    - mode
    argTypes:
    - struct hostapd_iface*
    - struct hostapd_hw_modes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1255
      start: 1242
    functionDepth: 1
    functionLinenumber: 1242
    functionLinenumberEnd: 1255
    functionName: skip_mode
    functionSourceFile: /src/hostap/src/ap/hw_features.c
    functionUses: 6
    functionsReached:
    - is_6ghz_op_class
    - hw_mode_get_channel
    linkageType: ''
    returnType: bool
    signature: "bool skip_mode(struct hostapd_iface *iface,\n\t\t      struct hostapd_hw_modes
      *mode)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: skip_mode
      Src: /src/hostap/src/ap/hw_features.c:1279,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hw_features.c:1289,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1293
      start: 1258
    functionDepth: 2
    functionLinenumber: 1258
    functionLinenumberEnd: 1293
    functionName: hostapd_determine_mode
    functionSourceFile: /src/hostap/src/ap/hw_features.c
    functionUses: 0
    functionsReached:
    - skip_mode
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int hostapd_determine_mode(struct hostapd_iface *iface)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_determine_mode
      Src: /src/hostap/src/ap/hw_features.c:1302,1
    - Dst: hostapd_is_usable_chans
      Src: /src/hostap/src/ap/hw_features.c:1304,1
    - Dst: acs_init
      Src: /src/hostap/src/ap/hw_features.c:1318,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1328
      start: 1296
    functionDepth: 0
    functionLinenumber: 1296
    functionLinenumberEnd: 1328
    functionName: hostapd_check_chans
    functionSourceFile: /src/hostap/src/ap/hw_features.c
    functionUses: 0
    functionsReached:
    - hostapd_determine_mode
    - hostapd_is_usable_chans
    - acs_init
    linkageType: ''
    returnType: enum hostapd_chan_status
    signature: enum hostapd_chan_status hostapd_check_chans(struct hostapd_iface *iface)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/hw_features.c:1334,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/hw_features.c:1339,1
    - Dst: hostapd_hw_mode_txt
      Src: /src/hostap/src/ap/hw_features.c:1346,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/hw_features.c:1347,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1350
      start: 1331
    functionDepth: 0
    functionLinenumber: 1331
    functionLinenumberEnd: 1350
    functionName: hostapd_notify_bad_chans
    functionSourceFile: /src/hostap/src/ap/hw_features.c
    functionUses: 0
    functionsReached:
    - hostapd_hw_mode_txt
    - hostapd_logger
    linkageType: ''
    returnType: void
    signature: void hostapd_notify_bad_chans(struct hostapd_iface *iface)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_check_chans
      Src: /src/hostap/src/ap/hw_features.c:1360,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/hw_features.c:1363,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hw_features.c:1368,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/hw_features.c:1369,1
    - Dst: hostapd_notify_bad_chans
      Src: /src/hostap/src/ap/hw_features.c:1370,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hw_features.c:1377,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/hw_features.c:1378,1
    - Dst: hostapd_notify_bad_chans
      Src: /src/hostap/src/ap/hw_features.c:1379,1
    - Dst: hostapd_check_ht_capab
      Src: /src/hostap/src/ap/hw_features.c:1383,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hw_features.c:1387,1
    - Dst: hostapd_setup_interface_complete
      Src: /src/hostap/src/ap/hw_features.c:1393,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 2
    argNames:
    - iface
    - err
    argTypes:
    - struct hostapd_iface*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1394
      start: 1353
    functionDepth: 1
    functionLinenumber: 1353
    functionLinenumberEnd: 1394
    functionName: hostapd_acs_completed
    functionSourceFile: /src/hostap/src/ap/hw_features.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - hostapd_notify_bad_chans
    - wpa_msg
    - hostapd_check_ht_capab
    - hostapd_setup_interface_complete
    - hostapd_check_chans
    linkageType: ''
    returnType: int
    signature: int hostapd_acs_completed(struct hostapd_iface *iface, int err)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_determine_mode
      Src: /src/hostap/src/ap/hw_features.c:1412,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1413
      start: 1404
    functionDepth: 0
    functionLinenumber: 1404
    functionLinenumberEnd: 1413
    functionName: hostapd_csa_update_hwmode
    functionSourceFile: /src/hostap/src/ap/hw_features.c
    functionUses: 0
    functionsReached:
    - hostapd_determine_mode
    linkageType: ''
    returnType: int
    signature: int hostapd_csa_update_hwmode(struct hostapd_iface *iface)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hw_features.c:1435,1
    - Dst: skip_mode
      Src: /src/hostap/src/ap/hw_features.c:1448,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hw_features.c:1459,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hw_features.c:1463,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hw_features.c:1466,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/hw_features.c:1468,1
    - Dst: hostapd_check_chans
      Src: /src/hostap/src/ap/hw_features.c:1477,1
    - Dst: hostapd_notify_bad_chans
      Src: /src/hostap/src/ap/hw_features.c:1488,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 45
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1491
      start: 1424
    functionDepth: 2
    functionLinenumber: 1424
    functionLinenumberEnd: 1491
    functionName: hostapd_select_hw_mode
    functionSourceFile: /src/hostap/src/ap/hw_features.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - hostapd_notify_bad_chans
    - hostapd_logger
    - skip_mode
    - hostapd_check_chans
    linkageType: ''
    returnType: int
    signature: int hostapd_select_hw_mode(struct hostapd_iface *iface)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - mode
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1508
      start: 1494
    functionDepth: 0
    functionLinenumber: 1494
    functionLinenumberEnd: 1508
    functionName: hostapd_hw_mode_txt
    functionSourceFile: /src/hostap/src/ap/hw_features.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * hostapd_hw_mode_txt(int mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hw_get_freq
      Src: /src/hostap/src/ap/hw_features.c:1513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hapd
    - chan
    argTypes:
    - struct hostapd_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1514
      start: 1511
    functionDepth: 1
    functionLinenumber: 1511
    functionLinenumberEnd: 1514
    functionName: hostapd_hw_get_freq
    functionSourceFile: /src/hostap/src/ap/hw_features.c
    functionUses: 0
    functionsReached:
    - hw_get_freq
    linkageType: ''
    returnType: int
    signature: int hostapd_hw_get_freq(struct hostapd_data *hapd, int chan)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hw_get_chan
      Src: /src/hostap/src/ap/hw_features.c:1523,1
    - Dst: hw_get_chan
      Src: /src/hostap/src/ap/hw_features.c:1536,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - hapd
    - freq
    argTypes:
    - struct hostapd_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1543
      start: 1517
    functionDepth: 1
    functionLinenumber: 1517
    functionLinenumberEnd: 1543
    functionName: hostapd_hw_get_channel
    functionSourceFile: /src/hostap/src/ap/hw_features.c
    functionUses: 0
    functionsReached:
    - hw_get_chan
    linkageType: ''
    returnType: int
    signature: int hostapd_hw_get_channel(struct hostapd_data *hapd, int freq)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - iface
    - mode
    argTypes:
    - struct hostapd_iface*
    - struct hostapd_hw_modes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1560
      start: 1546
    functionDepth: 0
    functionLinenumber: 1546
    functionLinenumberEnd: 1560
    functionName: hostapd_hw_skip_mode
    functionSourceFile: /src/hostap/src/ap/hw_features.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int hostapd_hw_skip_mode(struct hostapd_iface *iface,\n\t\t\t struct
      hostapd_hw_modes *mode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/ap/hw_features.c:1565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - multi_hw_info
    argTypes:
    - struct hostapd_multi_hw_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1566
      start: 1563
    functionDepth: 0
    functionLinenumber: 1563
    functionLinenumberEnd: 1566
    functionName: hostapd_free_multi_hw_info
    functionSourceFile: /src/hostap/src/ap/hw_features.c
    functionUses: 1
    functionsReached:
    - os_free
    linkageType: ''
    returnType: void
    signature: void hostapd_free_multi_hw_info(struct hostapd_multi_hw_info *multi_hw_info)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hw_features.c:1583,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - iface
    - oper_freq
    argTypes:
    - struct hostapd_iface*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1591
      start: 1569
    functionDepth: 0
    functionLinenumber: 1569
    functionLinenumberEnd: 1591
    functionName: hostapd_set_current_hw_info
    functionSourceFile: /src/hostap/src/ap/hw_features.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int hostapd_set_current_hw_info(struct hostapd_iface *iface, int oper_freq)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/ieee802_1x.c:60,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:62,1
    - Dst: host_to_be16
      Src: /src/hostap/src/ap/ieee802_1x.c:74,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_1x.c:77,1
    - Dst: wpa_auth_pairwise_set
      Src: /src/hostap/src/ap/ieee802_1x.c:79,1
    - Dst: os_malloc
      Src: /src/hostap/src/ap/ieee802_1x.c:84,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/ap/ieee802_1x.c:87,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/ieee802_1x.c:88,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_1x.c:90,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_1x.c:91,1
    - Dst: rsn_preauth_send
      Src: /src/hostap/src/ap/ieee802_1x.c:96,1
    - Dst: hostapd_drv_hapd_send_eapol
      Src: /src/hostap/src/ap/ieee802_1x.c:103,1
    - Dst: hostapd_sta_flags_to_drv
      Src: /src/hostap/src/ap/ieee802_1x.c:105,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_1x.c:108,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 5
    argNames:
    - hapd
    - sta
    - type
    - data
    - datalen
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u8
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 109
    functionName: ieee802_1x_send
    functionSourceFile: /src/hostap/src/ap/ieee802_1x.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_snprintf_hex
    - wpa_msg
    - host_to_be16
    - rsn_preauth_send
    - hostapd_drv_hapd_send_eapol
    - os_malloc
    - hostapd_sta_flags_to_drv
    - MAC2STR
    - os_zalloc
    - wpa_auth_pairwise_set
    - os_free
    linkageType: ''
    returnType: void
    signature: "void ieee802_1x_send(struct hostapd_data *hapd, struct sta_info *sta,\n\t\t\t
      \   u8 type, const u8 *data, size_t datalen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_sta_set_authorized_flag
      Src: /src/hostap/src/ap/ieee802_1x.c:122,1
    - Dst: hostapd_set_authorized
      Src: /src/hostap/src/ap/ieee802_1x.c:123,1
    - Dst: ap_sta_set_authorized_event
      Src: /src/hostap/src/ap/ieee802_1x.c:125,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_1x.c:126,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:131,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_1x.c:133,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:135,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_1x.c:137,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/ap/ieee802_1x.c:141,1
    - Dst: accounting_sta_start
      Src: /src/hostap/src/ap/ieee802_1x.c:142,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 4
    argNames:
    - hapd
    - sta
    - authorized
    - mld
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 112
    functionDepth: 3
    functionLinenumber: 112
    functionLinenumberEnd: 144
    functionName: ieee802_1x_set_authorized
    functionSourceFile: /src/hostap/src/ap/ieee802_1x.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_get_reltime
    - ap_sta_set_authorized_event
    - accounting_sta_start
    - hostapd_logger
    - ap_sta_set_authorized_flag
    - MAC2STR
    - hostapd_set_authorized
    linkageType: ''
    returnType: void
    signature: "void ieee802_1x_set_authorized(struct hostapd_data *hapd,\n\t\t\t\t
      \     struct sta_info *sta,\n\t\t\t\t      bool authorized, bool mld)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_is_multiple_link_mld
      Src: /src/hostap/src/ap/ieee802_1x.c:154,1
    - Dst: hostapd_is_ml_partner
      Src: /src/hostap/src/ap/ieee802_1x.c:170,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/ieee802_1x.c:185,1
    - Dst: ieee802_1x_set_authorized
      Src: /src/hostap/src/ap/ieee802_1x.c:190,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 20
    argCount: 3
    argNames:
    - hapd
    - sta
    - authorized
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 147
    functionDepth: 4
    functionLinenumber: 147
    functionLinenumberEnd: 196
    functionName: ieee802_1x_ml_set_sta_authorized
    functionSourceFile: /src/hostap/src/ap/ieee802_1x.c
    functionUses: 0
    functionsReached:
    - ieee802_1x_set_authorized
    - ether_addr_equal
    - hostapd_is_multiple_link_mld
    - hostapd_is_ml_partner
    linkageType: ''
    returnType: void
    signature: "void ieee802_1x_ml_set_sta_authorized(struct hostapd_data *hapd,\n\t\t\t\t\t
      \    struct sta_info *sta,\n\t\t\t\t\t     bool authorized)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_1x_set_authorized
      Src: /src/hostap/src/ap/ieee802_1x.c:203,1
    - Dst: ieee802_1x_ml_set_sta_authorized
      Src: /src/hostap/src/ap/ieee802_1x.c:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - hapd
    - sta
    - authorized
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 200
    functionDepth: 5
    functionLinenumber: 200
    functionLinenumberEnd: 205
    functionName: ieee802_1x_set_sta_authorized
    functionSourceFile: /src/hostap/src/ap/ieee802_1x.c
    functionUses: 0
    functionsReached:
    - ieee802_1x_set_authorized
    - ieee802_1x_ml_set_sta_authorized
    linkageType: ''
    returnType: void
    signature: "void ieee802_1x_set_sta_authorized(struct hostapd_data *hapd,\n\t\t\t\t
      \  struct sta_info *sta, int authorized)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/ieee802_1x.c:227,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/ap/ieee802_1x.c:234,1
    - Dst: wpa_get_ntp_timestamp
      Src: /src/hostap/src/ap/ieee802_1x.c:235,1
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/ieee802_1x.c:236,1
    - Dst: inc_byte_array
      Src: /src/hostap/src/ap/ieee802_1x.c:241,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_1x.c:243,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_1x.c:247,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/ap/ieee802_1x.c:252,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:253,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_1x.c:254,1
    - Dst: BIT
      Src: /src/hostap/src/ap/ieee802_1x.c:258,1
    - Dst: BIT
      Src: /src/hostap/src/ap/ieee802_1x.c:264,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:270,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_1x.c:272,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_1x.c:275,1
    - Dst: os_malloc
      Src: /src/hostap/src/ap/ieee802_1x.c:277,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:279,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_1x.c:280,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_1x.c:283,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_1x.c:284,1
    - Dst: rc4_skip
      Src: /src/hostap/src/ap/ieee802_1x.c:285,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_1x.c:286,1
    - Dst: host_to_be16
      Src: /src/hostap/src/ap/ieee802_1x.c:296,1
    - Dst: hmac_md5
      Src: /src/hostap/src/ap/ieee802_1x.c:297,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:300,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_1x.c:301,1
    - Dst: ieee802_1x_send
      Src: /src/hostap/src/ap/ieee802_1x.c:303,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_1x.c:306,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 55
    argCount: 6
    argNames:
    - hapd
    - sta
    - idx
    - broadcast
    - key_data
    - key_len
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - int
    - int
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 307
    functionName: ieee802_1x_tx_key_one
    functionSourceFile: /src/hostap/src/ap/ieee802_1x.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - random_get_bytes
    - wpa_printf
    - ieee802_1x_send
    - inc_byte_array
    - host_to_be16
    - os_malloc
    - WPA_PUT_BE16
    - rc4_skip
    - MAC2STR
    - os_zalloc
    - BIT
    - os_memcmp
    - os_free
    - wpa_get_ntp_timestamp
    - hmac_md5
    linkageType: ''
    returnType: void
    signature: "void ieee802_1x_tx_key_one(struct hostapd_data *hapd,\n\t\t\t\t  struct
      sta_info *sta,\n\t\t\t\t  int idx, int broadcast,\n\t\t\t\t  u8 *key_data, size_t
      key_len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:318,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_1x.c:319,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:323,1
    - Dst: ieee802_1x_tx_key_one
      Src: /src/hostap/src/ap/ieee802_1x.c:329,1
    - Dst: os_malloc
      Src: /src/hostap/src/ap/ieee802_1x.c:337,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/ap/ieee802_1x.c:339,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:341,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_1x.c:343,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/ap/ieee802_1x.c:347,1
    - Dst: ieee802_1x_tx_key_one
      Src: /src/hostap/src/ap/ieee802_1x.c:350,1
    - Dst: hostapd_drv_set_key
      Src: /src/hostap/src/ap/ieee802_1x.c:355,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:359,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_1x.c:363,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 310
    functionDepth: 3
    functionLinenumber: 310
    functionLinenumberEnd: 365
    functionName: ieee802_1x_tx_key
    functionSourceFile: /src/hostap/src/ap/ieee802_1x.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - random_get_bytes
    - wpa_hexdump_key
    - hostapd_drv_set_key
    - os_malloc
    - ieee802_1x_tx_key_one
    - MAC2STR
    - os_free
    linkageType: ''
    returnType: void
    signature: void ieee802_1x_tx_key(struct hostapd_data *hapd, struct sta_info *sta)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 385
    functionName: radius_mode_txt
    functionSourceFile: /src/hostap/src/ap/ieee802_1x.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *radius_mode_txt(struct hostapd_data *hapd)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 398
    functionName: radius_sta_rate
    functionSourceFile: /src/hostap/src/ap/ieee802_1x.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int radius_sta_rate(struct hostapd_data *hapd, struct sta_info *sta)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: eap_erp_update_identity
      Src: /src/hostap/src/ap/ieee802_1x.c:419,1
    - Dst: eap_get_identity
      Src: /src/hostap/src/ap/ieee802_1x.c:420,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_1x.c:425,1
    - Dst: dup_binstr
      Src: /src/hostap/src/ap/ieee802_1x.c:426,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_1x.c:433,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 4
    argNames:
    - hapd
    - sm
    - eap
    - len
    argTypes:
    - struct hostapd_data*
    - struct eapol_state_machine*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 402
    functionDepth: 2
    functionLinenumber: 402
    functionLinenumberEnd: 436
    functionName: ieee802_1x_learn_identity
    functionSourceFile: /src/hostap/src/ap/ieee802_1x.c
    functionUses: 0
    functionsReached:
    - eap_erp_update_identity
    - hostapd_logger
    - eap_get_identity
    - os_free
    - dup_binstr
    linkageType: ''
    returnType: void
    signature: "void ieee802_1x_learn_identity(struct hostapd_data *hapd,\n\t\t\t\t
      \     struct eapol_state_machine *sm,\n\t\t\t\t      const u8 *eap, size_t len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_auth_sta_wpa_version
      Src: /src/hostap/src/ap/ieee802_1x.c:447,1
    - Dst: wpa_auth_get_pairwise
      Src: /src/hostap/src/ap/ieee802_1x.c:448,1
    - Dst: wpa_cipher_to_suite
      Src: /src/hostap/src/ap/ieee802_1x.c:449,1
    - Dst: hostapd_config_get_radius_attr
      Src: /src/hostap/src/ap/ieee802_1x.c:451,1
    - Dst: radius_msg_add_attr_int32
      Src: /src/hostap/src/ap/ieee802_1x.c:453,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:455,1
    - Dst: wpa_cipher_to_suite
      Src: /src/hostap/src/ap/ieee802_1x.c:459,1
    - Dst: hostapd_config_get_radius_attr
      Src: /src/hostap/src/ap/ieee802_1x.c:462,1
    - Dst: radius_msg_add_attr_int32
      Src: /src/hostap/src/ap/ieee802_1x.c:464,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:466,1
    - Dst: wpa_auth_sta_key_mgmt
      Src: /src/hostap/src/ap/ieee802_1x.c:470,1
    - Dst: wpa_akm_to_suite
      Src: /src/hostap/src/ap/ieee802_1x.c:471,1
    - Dst: hostapd_config_get_radius_attr
      Src: /src/hostap/src/ap/ieee802_1x.c:473,1
    - Dst: radius_msg_add_attr_int32
      Src: /src/hostap/src/ap/ieee802_1x.c:475,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:477,1
    - Dst: wpa_cipher_to_suite
      Src: /src/hostap/src/ap/ieee802_1x.c:482,1
    - Dst: hostapd_config_get_radius_attr
      Src: /src/hostap/src/ap/ieee802_1x.c:484,1
    - Dst: radius_msg_add_attr_int32
      Src: /src/hostap/src/ap/ieee802_1x.c:486,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:488,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 4
    argNames:
    - hapd
    - req_attr
    - sta
    - msg
    argTypes:
    - struct hostapd_data*
    - struct hostapd_radius_attr*
    - struct sta_info*
    - struct radius_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 439
    functionDepth: 1
    functionLinenumber: 439
    functionLinenumberEnd: 495
    functionName: add_common_radius_sta_attr_rsn
    functionSourceFile: /src/hostap/src/ap/ieee802_1x.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hostapd_config_get_radius_attr
    - wpa_akm_to_suite
    - wpa_auth_sta_key_mgmt
    - radius_msg_add_attr_int32
    - wpa_cipher_to_suite
    - wpa_auth_get_pairwise
    - wpa_auth_sta_wpa_version
    linkageType: ''
    returnType: int
    signature: "int add_common_radius_sta_attr_rsn(struct hostapd_data *hapd,\n\t\t\t\t\t
      \ struct hostapd_radius_attr *req_attr,\n\t\t\t\t\t  struct sta_info *sta,\n\t\t\t\t\t
      \ struct radius_msg *msg)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_config_get_radius_attr
      Src: /src/hostap/src/ap/ieee802_1x.c:505,1
    - Dst: radius_msg_add_attr_int32
      Src: /src/hostap/src/ap/ieee802_1x.c:507,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:509,1
    - Dst: hostapd_config_get_radius_attr
      Src: /src/hostap/src/ap/ieee802_1x.c:513,1
    - Dst: radius_msg_add_attr_int32
      Src: /src/hostap/src/ap/ieee802_1x.c:516,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:517,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ieee802_1x.c:521,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_1x.c:522,1
    - Dst: radius_msg_add_attr
      Src: /src/hostap/src/ap/ieee802_1x.c:524,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/ieee802_1x.c:525,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:526,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/ap/ieee802_1x.c:531,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ieee802_1x.c:534,1
    - Dst: radius_sta_rate
      Src: /src/hostap/src/ap/ieee802_1x.c:535,1
    - Dst: radius_sta_rate
      Src: /src/hostap/src/ap/ieee802_1x.c:536,1
    - Dst: radius_mode_txt
      Src: /src/hostap/src/ap/ieee802_1x.c:537,1
    - Dst: hostapd_config_get_radius_attr
      Src: /src/hostap/src/ap/ieee802_1x.c:540,1
    - Dst: radius_msg_add_attr
      Src: /src/hostap/src/ap/ieee802_1x.c:542,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/ieee802_1x.c:543,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:544,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ieee802_1x.c:549,1
    - Dst: radius_msg_add_attr
      Src: /src/hostap/src/ap/ieee802_1x.c:551,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/ieee802_1x.c:552,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:553,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ieee802_1x.c:561,1
    - Dst: radius_msg_add_attr
      Src: /src/hostap/src/ap/ieee802_1x.c:564,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/ieee802_1x.c:566,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:567,1
    - Dst: wpa_key_mgmt_ft
      Src: /src/hostap/src/ap/ieee802_1x.c:574,1
    - Dst: wpa_key_mgmt_ft
      Src: /src/hostap/src/ap/ieee802_1x.c:576,1
    - Dst: wpa_auth_sta_key_mgmt
      Src: /src/hostap/src/ap/ieee802_1x.c:576,1
    - Dst: hostapd_config_get_radius_attr
      Src: /src/hostap/src/ap/ieee802_1x.c:578,1
    - Dst: radius_msg_add_attr_int32
      Src: /src/hostap/src/ap/ieee802_1x.c:580,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/ap/ieee802_1x.c:581,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:583,1
    - Dst: add_common_radius_sta_attr_rsn
      Src: /src/hostap/src/ap/ieee802_1x.c:589,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 46
    argCount: 4
    argNames:
    - hapd
    - req_attr
    - sta
    - msg
    argTypes:
    - struct hostapd_data*
    - struct hostapd_radius_attr*
    - struct sta_info*
    - struct radius_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 498
    functionDepth: 2
    functionLinenumber: 498
    functionLinenumberEnd: 593
    functionName: add_common_radius_sta_attr
    functionSourceFile: /src/hostap/src/ap/ieee802_1x.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - WPA_GET_BE16
    - hostapd_config_get_radius_attr
    - radius_msg_add_attr
    - os_strlcpy
    - wpa_auth_sta_key_mgmt
    - wpa_key_mgmt_ft
    - radius_mode_txt
    - os_snprintf
    - MAC2STR
    - radius_msg_add_attr_int32
    - add_common_radius_sta_attr_rsn
    - radius_sta_rate
    linkageType: ''
    returnType: int
    signature: "int add_common_radius_sta_attr(struct hostapd_data *hapd,\n\t\t\t\t
      \     struct hostapd_radius_attr *req_attr,\n\t\t\t\t      struct sta_info *sta,\n\t\t\t\t
      \     struct radius_msg *msg)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_config_get_radius_attr
      Src: /src/hostap/src/ap/ieee802_1x.c:605,1
    - Dst: radius_msg_add_attr
      Src: /src/hostap/src/ap/ieee802_1x.c:608,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:610,1
    - Dst: hostapd_config_get_radius_attr
      Src: /src/hostap/src/ap/ieee802_1x.c:615,1
    - Dst: radius_msg_add_attr
      Src: /src/hostap/src/ap/ieee802_1x.c:618,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:620,1
    - Dst: hostapd_config_get_radius_attr
      Src: /src/hostap/src/ap/ieee802_1x.c:625,1
    - Dst: radius_msg_add_attr
      Src: /src/hostap/src/ap/ieee802_1x.c:628,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/ieee802_1x.c:630,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:631,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ieee802_1x.c:635,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_1x.c:636,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_1x.c:637,1
    - Dst: hostapd_config_get_radius_attr
      Src: /src/hostap/src/ap/ieee802_1x.c:640,1
    - Dst: radius_msg_add_attr
      Src: /src/hostap/src/ap/ieee802_1x.c:642,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:644,1
    - Dst: hostapd_config_get_radius_attr
      Src: /src/hostap/src/ap/ieee802_1x.c:648,1
    - Dst: radius_msg_add_attr_int32
      Src: /src/hostap/src/ap/ieee802_1x.c:650,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:652,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/ap/ieee802_1x.c:658,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ieee802_1x.c:659,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_1x.c:660,1
    - Dst: hostapd_config_get_radius_attr
      Src: /src/hostap/src/ap/ieee802_1x.c:662,1
    - Dst: radius_msg_add_attr
      Src: /src/hostap/src/ap/ieee802_1x.c:664,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/ieee802_1x.c:665,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:666,1
    - Dst: add_common_radius_sta_attr
      Src: /src/hostap/src/ap/ieee802_1x.c:672,1
    - Dst: radius_msg_add_attr
      Src: /src/hostap/src/ap/ieee802_1x.c:676,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/ieee802_1x.c:677,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_1x.c:678,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:679,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 41
    argCount: 4
    argNames:
    - hapd
    - req_attr
    - sta
    - msg
    argTypes:
    - struct hostapd_data*
    - struct hostapd_radius_attr*
    - struct sta_info*
    - struct radius_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 596
    functionDepth: 3
    functionLinenumber: 596
    functionLinenumberEnd: 685
    functionName: add_common_radius_attr
    functionSourceFile: /src/hostap/src/ap/ieee802_1x.c
    functionUses: 1
    functionsReached:
    - os_strlen
    - wpa_printf
    - os_memcpy
    - hostapd_config_get_radius_attr
    - radius_msg_add_attr
    - wpabuf_len
    - is_zero_ether_addr
    - add_common_radius_sta_attr
    - wpabuf_head
    - os_snprintf
    - MAC2STR
    - radius_msg_add_attr_int32
    linkageType: ''
    returnType: int
    signature: "int add_common_radius_attr(struct hostapd_data *hapd,\n\t\t\t   struct
      hostapd_radius_attr *req_attr,\n\t\t\t   struct sta_info *sta,\n\t\t\t   struct
      radius_msg *msg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ieee802_1x.c:700,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_1x.c:700,1
    - Dst: sqlite3_prepare_v2
      Src: /src/hostap/src/ap/ieee802_1x.c:703,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/ieee802_1x.c:703,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:705,1
    - Dst: sqlite3_errmsg
      Src: /src/hostap/src/ap/ieee802_1x.c:706,1
    - Dst: sqlite3_bind_text
      Src: /src/hostap/src/ap/ieee802_1x.c:709,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/ieee802_1x.c:709,1
    - Dst: sqlite3_bind_text
      Src: /src/hostap/src/ap/ieee802_1x.c:710,1
    - Dst: sqlite3_step
      Src: /src/hostap/src/ap/ieee802_1x.c:711,1
    - Dst: sqlite3_column_text
      Src: /src/hostap/src/ap/ieee802_1x.c:715,1
    - Dst: hostapd_parse_radius_attr
      Src: /src/hostap/src/ap/ieee802_1x.c:716,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:718,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:723,1
    - Dst: radius_msg_add_attr
      Src: /src/hostap/src/ap/ieee802_1x.c:725,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/ieee802_1x.c:726,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_1x.c:727,1
    - Dst: hostapd_config_free_radius_attr
      Src: /src/hostap/src/ap/ieee802_1x.c:728,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:730,1
    - Dst: sqlite3_reset
      Src: /src/hostap/src/ap/ieee802_1x.c:736,1
    - Dst: sqlite3_clear_bindings
      Src: /src/hostap/src/ap/ieee802_1x.c:737,1
    - Dst: sqlite3_finalize
      Src: /src/hostap/src/ap/ieee802_1x.c:738,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 4
    argNames:
    - hapd
    - sta
    - msg
    - acct
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - struct radius_msg*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 688
    functionDepth: 2
    functionLinenumber: 688
    functionLinenumberEnd: 742
    functionName: add_sqlite_radius_attr
    functionSourceFile: /src/hostap/src/ap/ieee802_1x.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - sqlite3_clear_bindings
    - wpa_printf
    - radius_msg_add_attr
    - wpabuf_len
    - hostapd_parse_radius_attr
    - sqlite3_bind_text
    - os_snprintf
    - MAC2STR
    - wpabuf_head
    - sqlite3_prepare_v2
    - sqlite3_errmsg
    - hostapd_config_free_radius_attr
    - sqlite3_reset
    - sqlite3_finalize
    - sqlite3_column_text
    - sqlite3_step
    linkageType: ''
    returnType: int
    signature: "int add_sqlite_radius_attr(struct hostapd_data *hapd, struct sta_info
      *sta,\n\t\t\t   struct radius_msg *msg, int acct)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_1x_learn_identity
      Src: /src/hostap/src/ap/ieee802_1x.c:755,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:757,1
    - Dst: radius_client_get_id
      Src: /src/hostap/src/ap/ieee802_1x.c:759,1
    - Dst: radius_msg_new
      Src: /src/hostap/src/ap/ieee802_1x.c:760,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:763,1
    - Dst: radius_msg_make_authenticator
      Src: /src/hostap/src/ap/ieee802_1x.c:767,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:768,1
    - Dst: radius_msg_add_msg_auth
      Src: /src/hostap/src/ap/ieee802_1x.c:772,1
    - Dst: radius_msg_add_attr
      Src: /src/hostap/src/ap/ieee802_1x.c:776,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:778,1
    - Dst: add_common_radius_attr
      Src: /src/hostap/src/ap/ieee802_1x.c:782,1
    - Dst: add_sqlite_radius_attr
      Src: /src/hostap/src/ap/ieee802_1x.c:786,1
    - Dst: hostapd_config_get_radius_attr
      Src: /src/hostap/src/ap/ieee802_1x.c:792,1
    - Dst: radius_msg_add_attr_int32
      Src: /src/hostap/src/ap/ieee802_1x.c:794,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:795,1
    - Dst: radius_msg_add_eap
      Src: /src/hostap/src/ap/ieee802_1x.c:799,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:800,1
    - Dst: radius_msg_get_hdr
      Src: /src/hostap/src/ap/ieee802_1x.c:807,1
    - Dst: radius_msg_copy_attr
      Src: /src/hostap/src/ap/ieee802_1x.c:809,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:812,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:817,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/ieee802_1x.c:825,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_1x.c:826,1
    - Dst: radius_msg_add_attr
      Src: /src/hostap/src/ap/ieee802_1x.c:831,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:834,1
    - Dst: radius_msg_add_wfa
      Src: /src/hostap/src/ap/ieee802_1x.c:843,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:846,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_1x.c:851,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/ap/ieee802_1x.c:856,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_1x.c:859,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/ap/ieee802_1x.c:860,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/ap/ieee802_1x.c:863,1
    - Dst: radius_msg_add_wfa
      Src: /src/hostap/src/ap/ieee802_1x.c:864,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:868,1
    - Dst: radius_msg_add_wfa
      Src: /src/hostap/src/ap/ieee802_1x.c:875,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/ieee802_1x.c:877,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_1x.c:878,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:879,1
    - Dst: radius_msg_add_wfa
      Src: /src/hostap/src/ap/ieee802_1x.c:887,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/ieee802_1x.c:891,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:892,1
    - Dst: host_to_be32
      Src: /src/hostap/src/ap/ieee802_1x.c:897,1
    - Dst: radius_msg_add_wfa
      Src: /src/hostap/src/ap/ieee802_1x.c:898,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:903,1
    - Dst: radius_client_send
      Src: /src/hostap/src/ap/ieee802_1x.c:911,1
    - Dst: radius_msg_free
      Src: /src/hostap/src/ap/ieee802_1x.c:917,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 108
    argCount: 4
    argNames:
    - hapd
    - sta
    - eap
    - len
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 745
    functionDepth: 4
    functionLinenumber: 745
    functionLinenumberEnd: 918
    functionName: ieee802_1x_encapsulate_radius
    functionSourceFile: /src/hostap/src/ap/ieee802_1x.c
    functionUses: 1
    functionsReached:
    - radius_client_send
    - WPA_GET_LE16
    - radius_msg_make_authenticator
    - os_strlen
    - wpa_printf
    - radius_msg_add_eap
    - radius_msg_new
    - radius_msg_copy_attr
    - ieee802_1x_learn_identity
    - wpabuf_head_u8
    - wpabuf_len
    - radius_msg_add_wfa
    - WPA_PUT_BE16
    - wpabuf_head
    - add_sqlite_radius_attr
    - radius_msg_get_hdr
    - hostapd_config_get_radius_attr
    - radius_msg_add_attr
    - radius_client_get_id
    - host_to_be32
    - add_common_radius_attr
    - radius_msg_add_attr_int32
    - radius_msg_add_msg_auth
    - radius_msg_free
    linkageType: ''
    returnType: void
    signature: "void ieee802_1x_encapsulate_radius(struct hostapd_data *hapd,\n\t\t\t\t
      \  struct sta_info *sta,\n\t\t\t\t   const u8 *eap, size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:935,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_1x.c:941,1
    - Dst: be_to_host16
      Src: /src/hostap/src/ap/ieee802_1x.c:944,1
    - Dst: eap_server_get_name
      Src: /src/hostap/src/ap/ieee802_1x.c:945,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ieee802_1x.c:949,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/ap/ieee802_1x.c:950,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - hapd
    - sta
    - eap
    - len
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - struct eap_hdr*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 922
    functionDepth: 1
    functionLinenumber: 922
    functionLinenumberEnd: 952
    functionName: handle_eap_response
    functionSourceFile: /src/hostap/src/ap/ieee802_1x.c
    functionUses: 0
    functionsReached:
    - be_to_host16
    - wpa_printf
    - wpabuf_free
    - hostapd_logger
    - wpabuf_alloc_copy
    - eap_server_get_name
    linkageType: ''
    returnType: void
    signature: "void handle_eap_response(struct hostapd_data *hapd,\n\t\t\t\tstruct
      sta_info *sta, struct eap_hdr *eap,\n\t\t\t\tsize_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:967,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_1x.c:974,1
    - Dst: be_to_host16
      Src: /src/hostap/src/ap/ieee802_1x.c:977,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ieee802_1x.c:980,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/ap/ieee802_1x.c:981,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - hapd
    - sta
    - eap
    - len
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - struct eap_hdr*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 955
    functionDepth: 1
    functionLinenumber: 955
    functionLinenumberEnd: 984
    functionName: handle_eap_initiate
    functionSourceFile: /src/hostap/src/ap/ieee802_1x.c
    functionUses: 0
    functionsReached:
    - be_to_host16
    - wpa_printf
    - wpabuf_free
    - wpabuf_alloc_copy
    - hostapd_logger
    linkageType: ''
    returnType: void
    signature: "void handle_eap_initiate(struct hostapd_data *hapd,\n\t\t\t\tstruct
      sta_info *sta, struct eap_hdr *eap,\n\t\t\t\tsize_t len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - code
    argTypes:
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 988
    functionDepth: 0
    functionLinenumber: 988
    functionLinenumberEnd: 1006
    functionName: eap_code_str
    functionSourceFile: /src/hostap/src/ap/ieee802_1x.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * eap_code_str(u8 code)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:1018,1
    - Dst: be_to_host16
      Src: /src/hostap/src/ap/ieee802_1x.c:1024,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:1025,1
    - Dst: eap_code_str
      Src: /src/hostap/src/ap/ieee802_1x.c:1026,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:1029,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:1032,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:1036,1
    - Dst: handle_eap_response
      Src: /src/hostap/src/ap/ieee802_1x.c:1043,1
    - Dst: handle_eap_initiate
      Src: /src/hostap/src/ap/ieee802_1x.c:1046,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 4
    argNames:
    - hapd
    - sta
    - buf
    - len
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1011
    functionDepth: 2
    functionLinenumber: 1011
    functionLinenumberEnd: 1049
    functionName: handle_eap
    functionSourceFile: /src/hostap/src/ap/ieee802_1x.c
    functionUses: 0
    functionsReached:
    - be_to_host16
    - wpa_printf
    - handle_eap_response
    - eap_code_str
    - handle_eap_initiate
    linkageType: ''
    returnType: void
    signature: "void handle_eap(struct hostapd_data *hapd, struct sta_info *sta,\n\t\t
      \      u8 *buf, size_t len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_auth_sta_get_pmksa
      Src: /src/hostap/src/ap/ieee802_1x.c:1061,1
    - Dst: eapol_auth_alloc
      Src: /src/hostap/src/ap/ieee802_1x.c:1064,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1067
      start: 1052
    functionDepth: 2
    functionLinenumber: 1052
    functionLinenumberEnd: 1067
    functionName: ieee802_1x_alloc_eapol_sm
    functionSourceFile: /src/hostap/src/ap/ieee802_1x.c
    functionUses: 0
    functionsReached:
    - eapol_auth_alloc
    - wpa_auth_sta_get_pmksa
    linkageType: ''
    returnType: struct eapol_state_machine
    signature: 'struct eapol_state_machine *

      ieee802_1x_alloc_eapol_sm(struct hostapd_data *hapd, struct sta_info *sta)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ieee802_1x.c:1074,1
    - Dst: os_malloc
      Src: /src/hostap/src/ap/ieee802_1x.c:1077,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/ap/ieee802_1x.c:1082,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_1x.c:1084,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/ap/ieee802_1x.c:1090,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - sta
    - buf
    - len
    - encrypted
    argTypes:
    - struct sta_info*
    - u8*
    - size_t
    - enum frame_encryption
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1070
    functionDepth: 1
    functionLinenumber: 1070
    functionLinenumberEnd: 1091
    functionName: ieee802_1x_save_eapol
    functionSourceFile: /src/hostap/src/ap/ieee802_1x.c
    functionUses: 0
    functionsReached:
    - os_get_reltime
    - wpabuf_free
    - os_malloc
    - wpabuf_alloc_copy
    - os_free
    linkageType: ''
    returnType: void
    signature: "void ieee802_1x_save_eapol(struct sta_info *sta, const u8 *buf,\n\t\t\t\t
      \ size_t len, enum frame_encryption encrypted)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_auth_pairwise_set
      Src: /src/hostap/src/ap/ieee802_1x.c:1106,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - sta
    - encrypted
    - type
    argTypes:
    - struct sta_info*
    - enum frame_encryption
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1094
    functionDepth: 1
    functionLinenumber: 1094
    functionLinenumberEnd: 1107
    functionName: ieee802_1x_check_encryption
    functionSourceFile: /src/hostap/src/ap/ieee802_1x.c
    functionUses: 0
    functionsReached:
    - wpa_auth_pairwise_set
    linkageType: ''
    returnType: bool
    signature: "bool ieee802_1x_check_encryption(struct sta_info *sta,\n\t\t\t\t\tenum
      frame_encryption encrypted,\n\t\t\t\t\tu8 type)"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:1134,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_1x.c:1136,1
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/ieee802_1x.c:1137,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:1143,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:1147,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_1x.c:1148,1
    - Dst: ieee802_1x_save_eapol
      Src: /src/hostap/src/ap/ieee802_1x.c:1149,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:1156,1
    - Dst: be_to_host16
      Src: /src/hostap/src/ap/ieee802_1x.c:1161,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:1162,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:1166,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:1173,1
    - Dst: wpa_receive
      Src: /src/hostap/src/ap/ieee802_1x.c:1188,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:1195,1
    - Dst: wpa_auth_sta_key_mgmt
      Src: /src/hostap/src/ap/ieee802_1x.c:1200,1
    - Dst: wpa_key_mgmt_wpa_psk
      Src: /src/hostap/src/ap/ieee802_1x.c:1202,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:1204,1
    - Dst: ieee802_1x_check_encryption
      Src: /src/hostap/src/ap/ieee802_1x.c:1209,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:1210,1
    - Dst: ieee802_1x_alloc_eapol_sm
      Src: /src/hostap/src/ap/ieee802_1x.c:1216,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:1234,1
    - Dst: handle_eap
      Src: /src/hostap/src/ap/ieee802_1x.c:1253,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_1x.c:1257,1
    - Dst: wpa_key_mgmt_ft
      Src: /src/hostap/src/ap/ieee802_1x.c:1262,1
    - Dst: wpa_key_mgmt_ft
      Src: /src/hostap/src/ap/ieee802_1x.c:1263,1
    - Dst: wpa_auth_sta_key_mgmt
      Src: /src/hostap/src/ap/ieee802_1x.c:1263,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_1x.c:1276,1
    - Dst: wpa_auth_sta_get_pmksa
      Src: /src/hostap/src/ap/ieee802_1x.c:1284,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_1x.c:1286,1
    - Dst: wpa_auth_sta_clear_pmksa
      Src: /src/hostap/src/ap/ieee802_1x.c:1289,1
    - Dst: eap_server_clear_identity
      Src: /src/hostap/src/ap/ieee802_1x.c:1293,1
    - Dst: wpa_auth_sm_event
      Src: /src/hostap/src/ap/ieee802_1x.c:1294,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_1x.c:1298,1
    - Dst: accounting_sta_stop
      Src: /src/hostap/src/ap/ieee802_1x.c:1303,1
    - Dst: eap_server_clear_identity
      Src: /src/hostap/src/ap/ieee802_1x.c:1306,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:1310,1
    - Dst: ap_sta_is_authorized
      Src: /src/hostap/src/ap/ieee802_1x.c:1311,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:1312,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:1319,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:1325,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:1331,1
    - Dst: eapol_auth_step
      Src: /src/hostap/src/ap/ieee802_1x.c:1336,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 111
    argCount: 5
    argNames:
    - hapd
    - sa
    - buf
    - len
    - encrypted
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8*
    - size_t
    - enum frame_encryption
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1337
      start: 1120
    functionDepth: 5
    functionLinenumber: 1120
    functionLinenumberEnd: 1337
    functionName: ieee802_1x_receive
    functionSourceFile: /src/hostap/src/ap/ieee802_1x.c
    functionUses: 3
    functionsReached:
    - eap_server_clear_identity
    - eapol_auth_step
    - hostapd_logger
    - wpa_key_mgmt_wpa_psk
    - ieee802_1x_save_eapol
    - wpa_auth_sta_clear_pmksa
    - handle_eap
    - ap_get_sta
    - be_to_host16
    - wpa_printf
    - wpa_auth_sta_key_mgmt
    - wpa_key_mgmt_ft
    - wpa_auth_sm_event
    - ap_sta_is_authorized
    - wpa_auth_sta_get_pmksa
    - wpa_receive
    - ieee802_1x_check_encryption
    - MAC2STR
    - ieee802_1x_alloc_eapol_sm
    - accounting_sta_stop
    linkageType: ''
    returnType: void
    signature: "void ieee802_1x_receive(struct hostapd_data *hapd, const u8 *sa, const
      u8 *buf,\n\t\t\tsize_t len, enum frame_encryption encrypted)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:1369,1
    - Dst: ieee802_1x_free_station
      Src: /src/hostap/src/ap/ieee802_1x.c:1375,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:1381,1
    - Dst: ieee802_1x_free_station
      Src: /src/hostap/src/ap/ieee802_1x.c:1387,1
    - Dst: wpa_auth_sta_key_mgmt
      Src: /src/hostap/src/ap/ieee802_1x.c:1392,1
    - Dst: wpa_key_mgmt_wpa_psk
      Src: /src/hostap/src/ap/ieee802_1x.c:1394,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:1396,1
    - Dst: ieee802_1x_free_station
      Src: /src/hostap/src/ap/ieee802_1x.c:1401,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_1x.c:1406,1
    - Dst: ieee802_1x_alloc_eapol_sm
      Src: /src/hostap/src/ap/ieee802_1x.c:1408,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_1x.c:1410,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:1428,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_1x.c:1438,1
    - Dst: eap_sm_notify_cached
      Src: /src/hostap/src/ap/ieee802_1x.c:1451,1
    - Dst: ap_sta_bind_vlan
      Src: /src/hostap/src/ap/ieee802_1x.c:1452,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_1x.c:1461,1
    - Dst: eap_sm_notify_cached
      Src: /src/hostap/src/ap/ieee802_1x.c:1474,1
    - Dst: wpa_auth_set_ptk_rekey_timer
      Src: /src/hostap/src/ap/ieee802_1x.c:1475,1
    - Dst: wpa_auth_sta_get_pmksa
      Src: /src/hostap/src/ap/ieee802_1x.c:1480,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_1x.c:1482,1
    - Dst: eap_sm_notify_cached
      Src: /src/hostap/src/ap/ieee802_1x.c:1494,1
    - Dst: pmksa_cache_to_eapol_data
      Src: /src/hostap/src/ap/ieee802_1x.c:1495,1
    - Dst: ap_sta_bind_vlan
      Src: /src/hostap/src/ap/ieee802_1x.c:1496,1
    - Dst: eapol_auth_step
      Src: /src/hostap/src/ap/ieee802_1x.c:1506,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 82
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1508
      start: 1348
    functionDepth: 3
    functionLinenumber: 1348
    functionLinenumberEnd: 1508
    functionName: ieee802_1x_new_station
    functionSourceFile: /src/hostap/src/ap/ieee802_1x.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - eapol_auth_step
    - pmksa_cache_to_eapol_data
    - wpa_auth_sta_key_mgmt
    - hostapd_logger
    - ap_sta_bind_vlan
    - eap_sm_notify_cached
    - wpa_key_mgmt_wpa_psk
    - wpa_auth_set_ptk_rekey_timer
    - ieee802_1x_free_station
    - ieee802_1x_alloc_eapol_sm
    - wpa_auth_sta_get_pmksa
    linkageType: ''
    returnType: void
    signature: void ieee802_1x_new_station(struct hostapd_data *hapd, struct sta_info
      *sta)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ieee802_1x.c:1516,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_1x.c:1517,1
    - Dst: radius_msg_free
      Src: /src/hostap/src/ap/ieee802_1x.c:1527,1
    - Dst: radius_free_class
      Src: /src/hostap/src/ap/ieee802_1x.c:1528,1
    - Dst: eapol_auth_free
      Src: /src/hostap/src/ap/ieee802_1x.c:1531,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1532
      start: 1511
    functionDepth: 2
    functionLinenumber: 1511
    functionLinenumberEnd: 1532
    functionName: ieee802_1x_free_station
    functionSourceFile: /src/hostap/src/ap/ieee802_1x.c
    functionUses: 1
    functionsReached:
    - wpabuf_free
    - eapol_auth_free
    - radius_free_class
    - os_free
    - radius_msg_free
    linkageType: ''
    returnType: void
    signature: void ieee802_1x_free_station(struct hostapd_data *hapd, struct sta_info
      *sta)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: radius_msg_get_eap
      Src: /src/hostap/src/ap/ieee802_1x.c:1554,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_1x.c:1559,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_1x.c:1566,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_1x.c:1567,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ieee802_1x.c:1570,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_1x.c:1575,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/ap/ieee802_1x.c:1576,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/ieee802_1x.c:1578,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ieee802_1x.c:1583,1
    - Dst: eap_server_get_name
      Src: /src/hostap/src/ap/ieee802_1x.c:1584,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ieee802_1x.c:1587,1
    - Dst: eap_server_get_name
      Src: /src/hostap/src/ap/ieee802_1x.c:1588,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/ap/ieee802_1x.c:1591,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/ap/ieee802_1x.c:1594,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/ap/ieee802_1x.c:1597,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_1x.c:1601,1
    - Dst: be_to_host16
      Src: /src/hostap/src/ap/ieee802_1x.c:1604,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ieee802_1x.c:1608,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1610
      start: 1536
    functionDepth: 1
    functionLinenumber: 1536
    functionLinenumberEnd: 1610
    functionName: ieee802_1x_decapsulate_radius
    functionSourceFile: /src/hostap/src/ap/ieee802_1x.c
    functionUses: 1
    functionsReached:
    - be_to_host16
    - radius_msg_get_eap
    - wpabuf_head_u8
    - wpabuf_len
    - wpabuf_free
    - os_strlcpy
    - hostapd_logger
    - wpabuf_head
    - os_snprintf
    - eap_server_get_name
    linkageType: ''
    returnType: void
    signature: "void ieee802_1x_decapsulate_radius(struct hostapd_data *hapd,\n\t\t\t\t\t
      \ struct sta_info *sta)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: radius_msg_get_ms_keys
      Src: /src/hostap/src/ap/ieee802_1x.c:1627,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/ap/ieee802_1x.c:1632,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/ap/ieee802_1x.c:1634,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_1x.c:1637,1
    - Dst: os_malloc
      Src: /src/hostap/src/ap/ieee802_1x.c:1638,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_1x.c:1640,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_1x.c:1642,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:1648,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_1x.c:1655,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_1x.c:1656,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_1x.c:1657,1
    - Dst: radius_msg_get_attr_ptr
      Src: /src/hostap/src/ap/ieee802_1x.c:1660,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_1x.c:1662,1
    - Dst: os_memdup
      Src: /src/hostap/src/ap/ieee802_1x.c:1663,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/ieee802_1x.c:1666,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 6
    argNames:
    - hapd
    - sta
    - msg
    - req
    - shared_secret
    - shared_secret_len
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - struct radius_msg*
    - struct radius_msg*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1673
      start: 1613
    functionDepth: 1
    functionLinenumber: 1613
    functionLinenumberEnd: 1673
    functionName: ieee802_1x_get_keys
    functionSourceFile: /src/hostap/src/ap/ieee802_1x.c
    functionUses: 1
    functionsReached:
    - wpa_hexdump_key
    - os_memcpy
    - wpa_printf
    - wpa_hexdump
    - os_memdup
    - os_malloc
    - radius_msg_get_attr_ptr
    - os_free
    - radius_msg_get_ms_keys
    linkageType: ''
    returnType: void
    signature: "void ieee802_1x_get_keys(struct hostapd_data *hapd,\n\t\t\t\tstruct
      sta_info *sta, struct radius_msg *msg,\n\t\t\t\tstruct radius_msg *req,\n\t\t\t\tconst
      u8 *shared_secret,\n\t\t\t\tsize_t shared_secret_len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: radius_free_class
      Src: /src/hostap/src/ap/ieee802_1x.c:1690,1
    - Dst: radius_msg_count_attr
      Src: /src/hostap/src/ap/ieee802_1x.c:1691,1
    - Dst: os_calloc
      Src: /src/hostap/src/ap/ieee802_1x.c:1695,1
    - Dst: radius_msg_get_attr_ptr
      Src: /src/hostap/src/ap/ieee802_1x.c:1704,1
    - Dst: os_memdup
      Src: /src/hostap/src/ap/ieee802_1x.c:1712,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:1722,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_1x.c:1726,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 3
    argNames:
    - hapd
    - sta
    - msg
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - struct radius_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1727
      start: 1676
    functionDepth: 1
    functionLinenumber: 1676
    functionLinenumberEnd: 1727
    functionName: ieee802_1x_store_radius_class
    functionSourceFile: /src/hostap/src/ap/ieee802_1x.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_calloc
    - os_memdup
    - radius_free_class
    - radius_msg_get_attr_ptr
    - MAC2STR
    - radius_msg_count_attr
    linkageType: ''
    returnType: void
    signature: "void ieee802_1x_store_radius_class(struct hostapd_data *hapd,\n\t\t\t\t\t
      \ struct sta_info *sta,\n\t\t\t\t\t  struct radius_msg *msg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: radius_msg_get_attr_ptr
      Src: /src/hostap/src/ap/ieee802_1x.c:1742,1
    - Dst: dup_binstr
      Src: /src/hostap/src/ap/ieee802_1x.c:1746,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_1x.c:1750,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_1x.c:1756,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - hapd
    - sta
    - msg
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - struct radius_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1759
      start: 1731
    functionDepth: 1
    functionLinenumber: 1731
    functionLinenumberEnd: 1759
    functionName: ieee802_1x_update_sta_identity
    functionSourceFile: /src/hostap/src/ap/ieee802_1x.c
    functionUses: 0
    functionsReached:
    - os_free
    - radius_msg_get_attr_ptr
    - hostapd_logger
    - dup_binstr
    linkageType: ''
    returnType: void
    signature: "void ieee802_1x_update_sta_identity(struct hostapd_data *hapd,\n\t\t\t\t\t
      \  struct sta_info *sta,\n\t\t\t\t\t   struct radius_msg *msg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: radius_msg_get_attr_ptr
      Src: /src/hostap/src/ap/ieee802_1x.c:1775,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/ap/ieee802_1x.c:1779,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ieee802_1x.c:1783,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - hapd
    - sta
    - msg
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - struct radius_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1785
      start: 1763
    functionDepth: 1
    functionLinenumber: 1763
    functionLinenumberEnd: 1785
    functionName: ieee802_1x_update_sta_cui
    functionSourceFile: /src/hostap/src/ap/ieee802_1x.c
    functionUses: 0
    functionsReached:
    - radius_msg_get_attr_ptr
    - wpabuf_free
    - wpabuf_alloc_copy
    linkageType: ''
    returnType: void
    signature: "void ieee802_1x_update_sta_cui(struct hostapd_data *hapd,\n\t\t\t\t
      \     struct sta_info *sta,\n\t\t\t\t      struct radius_msg *msg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:1802,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/ap/ieee802_1x.c:1804,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ieee802_1x.c:1805,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/ap/ieee802_1x.c:1806,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/ap/ieee802_1x.c:1808,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/ieee802_1x.c:1809,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/ap/ieee802_1x.c:1810,1
    - Dst: ap_sta_session_timeout
      Src: /src/hostap/src/ap/ieee802_1x.c:1819,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - hapd
    - sta
    - pos
    - len
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1820
      start: 1790
    functionDepth: 1
    functionLinenumber: 1790
    functionLinenumberEnd: 1820
    functionName: ieee802_1x_hs20_deauth_req
    functionSourceFile: /src/hostap/src/ap/ieee802_1x.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put_data
    - wpabuf_put_u8
    - wpabuf_free
    - WPA_GET_LE16
    - wpabuf_alloc
    - ap_sta_session_timeout
    linkageType: ''
    returnType: void
    signature: "void ieee802_1x_hs20_deauth_req(struct hostapd_data *hapd,\n\t\t\t\t
      \      struct sta_info *sta, const u8 *pos,\n\t\t\t\t       size_t len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_1x.c:1832,1
    - Dst: os_malloc
      Src: /src/hostap/src/ap/ieee802_1x.c:1833,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_1x.c:1837,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:1839,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:1843,1
    - Dst: ap_sta_session_warning_timeout
      Src: /src/hostap/src/ap/ieee802_1x.c:1862,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 5
    argNames:
    - hapd
    - sta
    - pos
    - len
    - session_timeout
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1863
      start: 1823
    functionDepth: 1
    functionLinenumber: 1823
    functionLinenumberEnd: 1863
    functionName: ieee802_1x_hs20_session_info
    functionSourceFile: /src/hostap/src/ap/ieee802_1x.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_printf
    - os_malloc
    - os_free
    - ap_sta_session_warning_timeout
    linkageType: ''
    returnType: void
    signature: "void ieee802_1x_hs20_session_info(struct hostapd_data *hapd,\n\t\t\t\t\t
      struct sta_info *sta, u8 *pos,\n\t\t\t\t\t size_t len, int session_timeout)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:1872,1
    - Dst: hs20_t_c_filtering
      Src: /src/hostap/src/ap/ieee802_1x.c:1875,1
    - Dst: BIT
      Src: /src/hostap/src/ap/ieee802_1x.c:1875,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - hapd
    - sta
    - pos
    - len
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1876
      start: 1866
    functionDepth: 1
    functionLinenumber: 1866
    functionLinenumberEnd: 1876
    functionName: ieee802_1x_hs20_t_c_filtering
    functionSourceFile: /src/hostap/src/ap/ieee802_1x.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - BIT
    - hs20_t_c_filtering
    linkageType: ''
    returnType: void
    signature: "void ieee802_1x_hs20_t_c_filtering(struct hostapd_data *hapd,\n\t\t\t\t\t
      \ struct sta_info *sta, u8 *pos,\n\t\t\t\t\t  size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_1x.c:1882,1
    - Dst: os_malloc
      Src: /src/hostap/src/ap/ieee802_1x.c:1883,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_1x.c:1886,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:1888,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - hapd
    - sta
    - pos
    - len
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1890
      start: 1879
    functionDepth: 0
    functionLinenumber: 1879
    functionLinenumberEnd: 1890
    functionName: ieee802_1x_hs20_t_c_url
    functionSourceFile: /src/hostap/src/ap/ieee802_1x.c
    functionUses: 0
    functionsReached:
    - os_free
    - os_memcpy
    - wpa_printf
    - os_malloc
    linkageType: ''
    returnType: void
    signature: "void ieee802_1x_hs20_t_c_url(struct hostapd_data *hapd,\n\t\t\t\t
      \   struct sta_info *sta, u8 *pos, size_t len)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: radius_msg_get_attr_ptr
      Src: /src/hostap/src/ap/ieee802_1x.c:1909,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/ap/ieee802_1x.c:1916,1
    - Dst: ieee802_1x_hs20_deauth_req
      Src: /src/hostap/src/ap/ieee802_1x.c:1930,1
    - Dst: ieee802_1x_hs20_session_info
      Src: /src/hostap/src/ap/ieee802_1x.c:1933,1
    - Dst: ieee802_1x_hs20_t_c_filtering
      Src: /src/hostap/src/ap/ieee802_1x.c:1937,1
    - Dst: ieee802_1x_hs20_t_c_url
      Src: /src/hostap/src/ap/ieee802_1x.c:1940,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 4
    argNames:
    - hapd
    - sta
    - msg
    - session_timeout
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - struct radius_msg*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1945
      start: 1895
    functionDepth: 2
    functionLinenumber: 1895
    functionLinenumberEnd: 1945
    functionName: ieee802_1x_check_hs20
    functionSourceFile: /src/hostap/src/ap/ieee802_1x.c
    functionUses: 0
    functionsReached:
    - ieee802_1x_hs20_session_info
    - ieee802_1x_hs20_t_c_filtering
    - radius_msg_get_attr_ptr
    - ieee802_1x_hs20_deauth_req
    - WPA_GET_BE32
    - ieee802_1x_hs20_t_c_url
    linkageType: ''
    returnType: void
    signature: "void ieee802_1x_check_hs20(struct hostapd_data *hapd,\n\t\t\t\t  struct
      sta_info *sta,\n\t\t\t\t  struct radius_msg *msg,\n\t\t\t\t  int session_timeout)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - hapd
    - sta
    - ctx
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1967
      start: 1954
    functionDepth: 0
    functionLinenumber: 1954
    functionLinenumberEnd: 1967
    functionName: ieee802_1x_select_radius_identifier
    functionSourceFile: /src/hostap/src/ap/ieee802_1x.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ieee802_1x_select_radius_identifier(struct hostapd_data *hapd,\n\t\t\t\t\t
      \      struct sta_info *sta,\n\t\t\t\t\t       void *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_for_each_sta
      Src: /src/hostap/src/ap/ieee802_1x.c:1977,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - hapd
    - identifier
    argTypes:
    - struct hostapd_data*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1979
      start: 1970
    functionDepth: 1
    functionLinenumber: 1970
    functionLinenumberEnd: 1979
    functionName: ieee802_1x_search_radius_identifier
    functionSourceFile: /src/hostap/src/ap/ieee802_1x.c
    functionUses: 0
    functionsReached:
    - ap_for_each_sta
    linkageType: ''
    returnType: struct eapol_state_machine
    signature: 'struct eapol_state_machine *

      ieee802_1x_search_radius_identifier(struct hostapd_data *hapd, u8 identifier)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/ap/ieee802_1x.c:1989,1
    - Dst: radius_msg_get_vlanid
      Src: /src/hostap/src/ap/ieee802_1x.c:1990,1
    - Dst: hostapd_vlan_valid
      Src: /src/hostap/src/ap/ieee802_1x.c:1995,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_1x.c:1997,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/ieee802_1x.c:2002,1
    - Dst: ap_sta_set_vlan
      Src: /src/hostap/src/ap/ieee802_1x.c:2003,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_1x.c:2010,1
    - Dst: ap_sta_set_vlan
      Src: /src/hostap/src/ap/ieee802_1x.c:2016,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - msg
    - hapd
    - sta
    argTypes:
    - struct radius_msg*
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2017
      start: 1983
    functionDepth: 1
    functionLinenumber: 1983
    functionLinenumberEnd: 2017
    functionName: ieee802_1x_update_vlan
    functionSourceFile: /src/hostap/src/ap/ieee802_1x.c
    functionUses: 0
    functionsReached:
    - radius_msg_get_vlanid
    - hostapd_logger
    - hostapd_vlan_valid
    - ap_sta_set_vlan
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int ieee802_1x_update_vlan(struct radius_msg *msg,\n\t\t\t\t  struct
      hostapd_data *hapd,\n\t\t\t\t  struct sta_info *sta)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: radius_msg_get_hdr
      Src: /src/hostap/src/ap/ieee802_1x.c:2042,1
    - Dst: ieee802_1x_search_radius_identifier
      Src: /src/hostap/src/ap/ieee802_1x.c:2044,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:2046,1
    - Dst: radius_msg_verify
      Src: /src/hostap/src/ap/ieee802_1x.c:2052,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:2053,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:2061,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:2066,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_1x.c:2067,1
    - Dst: radius_msg_free
      Src: /src/hostap/src/ap/ieee802_1x.c:2069,1
    - Dst: radius_msg_get_attr_int32
      Src: /src/hostap/src/ap/ieee802_1x.c:2073,1
    - Dst: radius_msg_get_attr_int32
      Src: /src/hostap/src/ap/ieee802_1x.c:2075,1
    - Dst: radius_msg_get_attr_int32
      Src: /src/hostap/src/ap/ieee802_1x.c:2081,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_1x.c:2084,1
    - Dst: ieee802_1x_update_vlan
      Src: /src/hostap/src/ap/ieee802_1x.c:2098,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_1x.c:2102,1
    - Dst: ap_sta_bind_vlan
      Src: /src/hostap/src/ap/ieee802_1x.c:2109,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/ap/ieee802_1x.c:2114,1
    - Dst: ap_sta_session_timeout
      Src: /src/hostap/src/ap/ieee802_1x.c:2122,1
    - Dst: ap_sta_no_session_timeout
      Src: /src/hostap/src/ap/ieee802_1x.c:2124,1
    - Dst: ieee802_1x_get_keys
      Src: /src/hostap/src/ap/ieee802_1x.c:2128,1
    - Dst: ieee802_1x_store_radius_class
      Src: /src/hostap/src/ap/ieee802_1x.c:2130,1
    - Dst: ieee802_1x_update_sta_identity
      Src: /src/hostap/src/ap/ieee802_1x.c:2131,1
    - Dst: ieee802_1x_update_sta_cui
      Src: /src/hostap/src/ap/ieee802_1x.c:2132,1
    - Dst: ieee802_1x_check_hs20
      Src: /src/hostap/src/ap/ieee802_1x.c:2133,1
    - Dst: radius_msg_get_attr_int32
      Src: /src/hostap/src/ap/ieee802_1x.c:2140,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:2142,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_1x.c:2144,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_1x.c:2153,1
    - Dst: ieee802_1x_decapsulate_radius
      Src: /src/hostap/src/ap/ieee802_1x.c:2168,1
    - Dst: ieee802_11_finish_fils_auth
      Src: /src/hostap/src/ap/ieee802_1x.c:2177,1
    - Dst: eapol_auth_step
      Src: /src/hostap/src/ap/ieee802_1x.c:2186,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 79
    argCount: 5
    argNames:
    - msg
    - req
    - shared_secret
    - shared_secret_len
    - data
    argTypes:
    - struct radius_msg*
    - struct radius_msg*
    - u8*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2189
      start: 2030
    functionDepth: 3
    functionLinenumber: 2030
    functionLinenumberEnd: 2189
    functionName: ieee802_1x_receive_auth
    functionSourceFile: /src/hostap/src/ap/ieee802_1x.c
    functionUses: 0
    functionsReached:
    - eapol_auth_step
    - hostapd_logger
    - ap_sta_bind_vlan
    - radius_msg_get_attr_int32
    - ieee802_1x_decapsulate_radius
    - ap_sta_session_timeout
    - ieee802_1x_check_hs20
    - wpa_printf
    - ieee802_1x_update_sta_cui
    - radius_msg_verify
    - ieee802_1x_get_keys
    - ieee802_1x_store_radius_class
    - ieee802_1x_update_sta_identity
    - ieee802_11_finish_fils_auth
    - os_get_reltime
    - ap_sta_no_session_timeout
    - ieee802_1x_update_vlan
    - ieee802_1x_search_radius_identifier
    - radius_msg_get_hdr
    - MAC2STR
    - radius_msg_free
    linkageType: ''
    returnType: RadiusRxResult
    signature: "RadiusRxResult ieee802_1x_receive_auth(struct radius_msg *msg, struct
      radius_msg *req,\n\t\t\tconst u8 *shared_secret, size_t shared_secret_len,\n\t\t\tvoid
      *data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_1x.c:2200,1
    - Dst: radius_msg_free
      Src: /src/hostap/src/ap/ieee802_1x.c:2204,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/ap/ieee802_1x.c:2214,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_1x.c:2215,1
    - Dst: ap_sta_disconnect
      Src: /src/hostap/src/ap/ieee802_1x.c:2218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2221
      start: 2193
    functionDepth: 1
    functionLinenumber: 2193
    functionLinenumberEnd: 2221
    functionName: ieee802_1x_abort_auth
    functionSourceFile: /src/hostap/src/ap/ieee802_1x.c
    functionUses: 0
    functionsReached:
    - hostapd_logger
    - MAC2STR
    - wpa_dbg
    - radius_msg_free
    - ap_sta_disconnect
    linkageType: ''
    returnType: void
    signature: void ieee802_1x_abort_auth(struct hostapd_data *hapd, struct sta_info
      *sta)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_1x.c:2233,1
    - Dst: os_malloc
      Src: /src/hostap/src/ap/ieee802_1x.c:2234,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/ap/ieee802_1x.c:2236,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:2238,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_1x.c:2239,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/ap/ieee802_1x.c:2244,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2249
      start: 2226
    functionDepth: 0
    functionLinenumber: 2226
    functionLinenumberEnd: 2249
    functionName: ieee802_1x_rekey_broadcast
    functionSourceFile: /src/hostap/src/ap/ieee802_1x.c
    functionUses: 0
    functionsReached:
    - random_get_bytes
    - wpa_printf
    - wpa_hexdump_key
    - os_malloc
    - os_free
    linkageType: ''
    returnType: int
    signature: int ieee802_1x_rekey_broadcast(struct hostapd_data *hapd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eapol_auth_step
      Src: /src/hostap/src/ap/ieee802_1x.c:2257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - hapd
    - sta
    - ctx
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2260
      start: 2252
    functionDepth: 1
    functionLinenumber: 2252
    functionLinenumberEnd: 2260
    functionName: ieee802_1x_sta_key_available
    functionSourceFile: /src/hostap/src/ap/ieee802_1x.c
    functionUses: 0
    functionsReached:
    - eapol_auth_step
    linkageType: ''
    returnType: int
    signature: "int ieee802_1x_sta_key_available(struct hostapd_data *hapd,\n\t\t\t\t\tstruct
      sta_info *sta, void *ctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:2274,1
    - Dst: ieee802_1x_rekey_broadcast
      Src: /src/hostap/src/ap/ieee802_1x.c:2277,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_1x.c:2278,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_1x.c:2281,1
    - Dst: hostapd_drv_set_key
      Src: /src/hostap/src/ap/ieee802_1x.c:2288,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_1x.c:2294,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_1x.c:2297,1
    - Dst: ap_for_each_sta
      Src: /src/hostap/src/ap/ieee802_1x.c:2302,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/ieee802_1x.c:2305,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2308
      start: 2263
    functionDepth: 1
    functionLinenumber: 2263
    functionLinenumberEnd: 2308
    functionName: ieee802_1x_rekey
    functionSourceFile: /src/hostap/src/ap/ieee802_1x.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hostapd_drv_set_key
    - ap_for_each_sta
    - hostapd_logger
    - eloop_register_timeout
    - os_free
    - ieee802_1x_rekey_broadcast
    linkageType: ''
    returnType: void
    signature: void ieee802_1x_rekey(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: eap_get_identity
      Src: /src/hostap/src/ap/ieee802_1x.c:2327,1
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/ieee802_1x.c:2330,1
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/ieee802_1x.c:2333,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:2335,1
    - Dst: struct hostapd_data*::send_eap_req
      Src: /src/hostap/src/ap/ieee802_1x.c:2344,1
    - Dst: ieee802_1x_send
      Src: /src/hostap/src/ap/ieee802_1x.c:2351,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 5
    argNames:
    - ctx
    - sta_ctx
    - type
    - data
    - datalen
    argTypes:
    - void*
    - void*
    - u8
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2352
      start: 2313
    functionDepth: 2
    functionLinenumber: 2313
    functionLinenumberEnd: 2352
    functionName: ieee802_1x_eapol_send
    functionSourceFile: /src/hostap/src/ap/ieee802_1x.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - ieee802_1x_send
    - struct hostapd_data*::send_eap_req
    - os_memcmp
    - eap_get_identity
    linkageType: ''
    returnType: void
    signature: "void ieee802_1x_eapol_send(void *ctx, void *sta_ctx, u8 type,\n\t\t\t\t
      \ const u8 *data, size_t datalen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_1x_encapsulate_radius
      Src: /src/hostap/src/ap/ieee802_1x.c:2362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - sta_ctx
    - data
    - datalen
    argTypes:
    - void*
    - void*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2364
      start: 2355
    functionDepth: 0
    functionLinenumber: 2355
    functionLinenumberEnd: 2364
    functionName: ieee802_1x_aaa_send
    functionSourceFile: /src/hostap/src/ap/ieee802_1x.c
    functionUses: 0
    functionsReached:
    - ieee802_1x_encapsulate_radius
    linkageType: ''
    returnType: void
    signature: "void ieee802_1x_aaa_send(void *ctx, void *sta_ctx,\n\t\t\t\tconst
      u8 *data, size_t datalen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rsn_preauth_finished
      Src: /src/hostap/src/ap/ieee802_1x.c:2374,1
    - Dst: ieee802_1x_finished
      Src: /src/hostap/src/ap/ieee802_1x.c:2378,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - ctx
    - sta_ctx
    - success
    - preauth
    - logoff
    argTypes:
    - void*
    - void*
    - int
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2379
      start: 2367
    functionDepth: 1
    functionLinenumber: 2367
    functionLinenumberEnd: 2379
    functionName: _ieee802_1x_finished
    functionSourceFile: /src/hostap/src/ap/ieee802_1x.c
    functionUses: 0
    functionsReached:
    - rsn_preauth_finished
    - ieee802_1x_finished
    linkageType: ''
    returnType: bool
    signature: "bool _ieee802_1x_finished(void *ctx, void *sta_ctx, int success,\n\t\t\t\t
      int preauth, bool logoff)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_get_eap_user
      Src: /src/hostap/src/ap/ieee802_1x.c:2391,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/ieee802_1x.c:2395,1
    - Dst: os_memdup
      Src: /src/hostap/src/ap/ieee802_1x.c:2403,1
    - Dst: os_memdup
      Src: /src/hostap/src/ap/ieee802_1x.c:2410,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:2424,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 5
    argNames:
    - ctx
    - identity
    - identity_len
    - phase2
    - user
    argTypes:
    - void*
    - u8*
    - size_t
    - int
    - struct eap_user*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2427
      start: 2382
    functionDepth: 3
    functionLinenumber: 2382
    functionLinenumberEnd: 2427
    functionName: ieee802_1x_get_eap_user
    functionSourceFile: /src/hostap/src/ap/ieee802_1x.c
    functionUses: 0
    functionsReached:
    - hostapd_get_eap_user
    - os_memdup
    - wpa_printf
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int ieee802_1x_get_eap_user(void *ctx, const u8 *identity,\n\t\t\t\t
      \  size_t identity_len, int phase2,\n\t\t\t\t   struct eap_user *user)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/ieee802_1x.c:2435,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - addr
    argTypes:
    - void*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2439
      start: 2430
    functionDepth: 1
    functionLinenumber: 2430
    functionLinenumberEnd: 2439
    functionName: ieee802_1x_sta_entry_alive
    functionSourceFile: /src/hostap/src/ap/ieee802_1x.c
    functionUses: 0
    functionsReached:
    - ap_get_sta
    linkageType: ''
    returnType: int
    signature: int ieee802_1x_sta_entry_alive(void *ctx, const u8 *addr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_1x.c:2462,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - ctx
    - addr
    - level
    - txt
    argTypes:
    - void*
    - u8*
    - eapol_logger_level
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2465
      start: 2442
    functionDepth: 0
    functionLinenumber: 2442
    functionLinenumberEnd: 2465
    functionName: ieee802_1x_logger
    functionSourceFile: /src/hostap/src/ap/ieee802_1x.c
    functionUses: 0
    functionsReached:
    - hostapd_logger
    linkageType: ''
    returnType: void
    signature: "void ieee802_1x_logger(void *ctx, const u8 *addr,\n\t\t\t      eapol_logger_level
      level, const char *txt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_1x_set_sta_authorized
      Src: /src/hostap/src/ap/ieee802_1x.c:2474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - sta_ctx
    - authorized
    argTypes:
    - void*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2475
      start: 2468
    functionDepth: 6
    functionLinenumber: 2468
    functionLinenumberEnd: 2475
    functionName: ieee802_1x_set_port_authorized
    functionSourceFile: /src/hostap/src/ap/ieee802_1x.c
    functionUses: 0
    functionsReached:
    - ieee802_1x_set_sta_authorized
    linkageType: ''
    returnType: void
    signature: "void ieee802_1x_set_port_authorized(void *ctx, void *sta_ctx,\n\t\t\t\t\t
      \  int authorized)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_1x_abort_auth
      Src: /src/hostap/src/ap/ieee802_1x.c:2483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - sta_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2484
      start: 2478
    functionDepth: 2
    functionLinenumber: 2478
    functionLinenumberEnd: 2484
    functionName: _ieee802_1x_abort_auth
    functionSourceFile: /src/hostap/src/ap/ieee802_1x.c
    functionUses: 0
    functionsReached:
    - ieee802_1x_abort_auth
    linkageType: ''
    returnType: void
    signature: void _ieee802_1x_abort_auth(void *ctx, void *sta_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_1x_tx_key
      Src: /src/hostap/src/ap/ieee802_1x.c:2495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - sta_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2498
      start: 2488
    functionDepth: 4
    functionLinenumber: 2488
    functionLinenumberEnd: 2498
    functionName: _ieee802_1x_tx_key
    functionSourceFile: /src/hostap/src/ap/ieee802_1x.c
    functionUses: 0
    functionsReached:
    - ieee802_1x_tx_key
    linkageType: ''
    returnType: void
    signature: void _ieee802_1x_tx_key(void *ctx, void *sta_ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_auth_sm_notify
      Src: /src/hostap/src/ap/ieee802_1x.c:2510,1
    - Dst: wpa_auth_sm_event
      Src: /src/hostap/src/ap/ieee802_1x.c:2513,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - sta_ctx
    - type
    argTypes:
    - void*
    - void*
    - enum eapol_event
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2516
      start: 2502
    functionDepth: 3
    functionLinenumber: 2502
    functionLinenumberEnd: 2516
    functionName: ieee802_1x_eapol_event
    functionSourceFile: /src/hostap/src/ap/ieee802_1x.c
    functionUses: 0
    functionsReached:
    - wpa_auth_sm_notify
    - wpa_auth_sm_event
    linkageType: ''
    returnType: void
    signature: "void ieee802_1x_eapol_event(void *ctx, void *sta_ctx,\n\t\t\t\t   enum
      eapol_event type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/ap/ieee802_1x.c:2527,1
    - Dst: os_strcmp
      Src: /src/hostap/src/ap/ieee802_1x.c:2529,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - keyname
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2534
      start: 2521
    functionDepth: 0
    functionLinenumber: 2521
    functionLinenumberEnd: 2534
    functionName: ieee802_1x_erp_get_key
    functionSourceFile: /src/hostap/src/ap/ieee802_1x.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    - os_strcmp
    linkageType: ''
    returnType: struct eap_server_erp_key
    signature: 'struct eap_server_erp_key *

      ieee802_1x_erp_get_key(void *ctx, const char *keyname)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_add
      Src: /src/hostap/src/ap/ieee802_1x.c:2541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - erp
    argTypes:
    - void*
    - struct eap_server_erp_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2543
      start: 2537
    functionDepth: 1
    functionLinenumber: 2537
    functionLinenumberEnd: 2543
    functionName: ieee802_1x_erp_add_key
    functionSourceFile: /src/hostap/src/ap/ieee802_1x.c
    functionUses: 0
    functionsReached:
    - dl_list_add
    linkageType: ''
    returnType: int
    signature: int ieee802_1x_erp_add_key(void *ctx, struct eap_server_erp_key *erp)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_mld_is_first_bss
      Src: /src/hostap/src/ap/ieee802_1x.c:2554,1
    - Dst: hostapd_mld_get_first_bss
      Src: /src/hostap/src/ap/ieee802_1x.c:2557,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:2562,1
    - Dst: ieee802_1x_init
      Src: /src/hostap/src/ap/ieee802_1x.c:2565,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:2569,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/ieee802_1x.c:2577,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/ieee802_1x.c:2593,1
    - Dst: eapol_auth_init
      Src: /src/hostap/src/ap/ieee802_1x.c:2611,1
    - Dst: hostapd_set_drv_ieee8021x
      Src: /src/hostap/src/ap/ieee802_1x.c:2616,1
    - Dst: radius_client_register
      Src: /src/hostap/src/ap/ieee802_1x.c:2620,1
    - Dst: hostapd_drv_set_key
      Src: /src/hostap/src/ap/ieee802_1x.c:2630,1
    - Dst: ieee802_1x_rekey
      Src: /src/hostap/src/ap/ieee802_1x.c:2634,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 53
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2642
      start: 2548
    functionDepth: 3
    functionLinenumber: 2548
    functionLinenumberEnd: 2642
    functionName: ieee802_1x_init
    functionSourceFile: /src/hostap/src/ap/ieee802_1x.c
    functionUses: 1
    functionsReached:
    - hostapd_mld_get_first_bss
    - wpa_printf
    - hostapd_drv_set_key
    - ieee802_1x_rekey
    - eapol_auth_init
    - ieee802_1x_init
    - radius_client_register
    - hostapd_set_drv_ieee8021x
    - hostapd_mld_is_first_bss
    - os_memset
    linkageType: ''
    returnType: int
    signature: int ieee802_1x_init(struct hostapd_data *hapd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_first
      Src: /src/hostap/src/ap/ieee802_1x.c:2649,1
    - Dst: dl_list_del
      Src: /src/hostap/src/ap/ieee802_1x.c:2651,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/ap/ieee802_1x.c:2652,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2654
      start: 2645
    functionDepth: 1
    functionLinenumber: 2645
    functionLinenumberEnd: 2654
    functionName: ieee802_1x_erp_flush
    functionSourceFile: /src/hostap/src/ap/ieee802_1x.c
    functionUses: 0
    functionsReached:
    - dl_list_first
    - dl_list_del
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: void ieee802_1x_erp_flush(struct hostapd_data *hapd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_mld_is_first_bss
      Src: /src/hostap/src/ap/ieee802_1x.c:2660,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:2661,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/ieee802_1x.c:2670,1
    - Dst: hostapd_set_drv_ieee8021x
      Src: /src/hostap/src/ap/ieee802_1x.c:2675,1
    - Dst: eapol_auth_deinit
      Src: /src/hostap/src/ap/ieee802_1x.c:2677,1
    - Dst: ieee802_1x_erp_flush
      Src: /src/hostap/src/ap/ieee802_1x.c:2680,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2681
      start: 2657
    functionDepth: 2
    functionLinenumber: 2657
    functionLinenumberEnd: 2681
    functionName: ieee802_1x_deinit
    functionSourceFile: /src/hostap/src/ap/ieee802_1x.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eloop_cancel_timeout
    - eapol_auth_deinit
    - ieee802_1x_erp_flush
    - hostapd_set_drv_ieee8021x
    - hostapd_mld_is_first_bss
    linkageType: ''
    returnType: void
    signature: void ieee802_1x_deinit(struct hostapd_data *hapd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/ieee802_1x.c:2699,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/ap/ieee802_1x.c:2702,1
    - Dst: ieee802_1x_eapol_tx_status
      Src: /src/hostap/src/ap/ieee802_1x.c:2706,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - hapd
    - sta
    - buf
    - len
    - ack
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2708
      start: 2684
    functionDepth: 1
    functionLinenumber: 2684
    functionLinenumberEnd: 2708
    functionName: ieee802_1x_tx_status
    functionSourceFile: /src/hostap/src/ap/ieee802_1x.c
    functionUses: 0
    functionsReached:
    - WPA_GET_BE16
    - ieee802_1x_eapol_tx_status
    - os_memcmp
    linkageType: ''
    returnType: int
    signature: "int ieee802_1x_tx_status(struct hostapd_data *hapd, struct sta_info
      *sta,\n\t\t\t const u8 *buf, size_t len, int ack)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:2721,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_1x.c:2723,1
    - Dst: be_to_host16
      Src: /src/hostap/src/ap/ieee802_1x.c:2724,1
    - Dst: ap_sta_pending_delayed_1x_auth_fail_disconnect
      Src: /src/hostap/src/ap/ieee802_1x.c:2729,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:2730,1
    - Dst: hostapd_wps_eap_completed
      Src: /src/hostap/src/ap/ieee802_1x.c:2732,1
    - Dst: wpa_auth_eapol_key_tx_status
      Src: /src/hostap/src/ap/ieee802_1x.c:2745,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_1x.c:2756,1
    - Dst: BIT
      Src: /src/hostap/src/ap/ieee802_1x.c:2759,1
    - Dst: BIT
      Src: /src/hostap/src/ap/ieee802_1x.c:2760,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 5
    argNames:
    - hapd
    - sta
    - buf
    - len
    - ack
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u8*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2773
      start: 2711
    functionDepth: 2
    functionLinenumber: 2711
    functionLinenumberEnd: 2773
    functionName: ieee802_1x_eapol_tx_status
    functionSourceFile: /src/hostap/src/ap/ieee802_1x.c
    functionUses: 1
    functionsReached:
    - be_to_host16
    - hostapd_wps_eap_completed
    - wpa_printf
    - hostapd_logger
    - ap_sta_pending_delayed_1x_auth_fail_disconnect
    - MAC2STR
    - BIT
    - wpa_auth_eapol_key_tx_status
    linkageType: ''
    returnType: int
    signature: "int ieee802_1x_eapol_tx_status(struct hostapd_data *hapd, struct sta_info
      *sta,\n\t\t\t       const u8 *buf, int len, int ack)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - sm
    - len
    argTypes:
    - struct eapol_state_machine*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2783
      start: 2776
    functionDepth: 0
    functionLinenumber: 2776
    functionLinenumberEnd: 2783
    functionName: ieee802_1x_get_identity
    functionSourceFile: /src/hostap/src/ap/ieee802_1x.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 * ieee802_1x_get_identity(struct eapol_state_machine *sm, size_t
      *len)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - sm
    - len
    - idx
    argTypes:
    - struct eapol_state_machine*
    - size_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2795
      start: 2786
    functionDepth: 0
    functionLinenumber: 2786
    functionLinenumberEnd: 2795
    functionName: ieee802_1x_get_radius_class
    functionSourceFile: /src/hostap/src/ap/ieee802_1x.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: "u8 * ieee802_1x_get_radius_class(struct eapol_state_machine *sm, size_t
      *len,\n\t\t\t\t int idx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eapol_state_machine*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2803
      start: 2798
    functionDepth: 0
    functionLinenumber: 2798
    functionLinenumberEnd: 2803
    functionName: ieee802_1x_get_radius_cui
    functionSourceFile: /src/hostap/src/ap/ieee802_1x.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * ieee802_1x_get_radius_cui(struct eapol_state_machine
      *sm)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - sm
    - len
    argTypes:
    - struct eapol_state_machine*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2814
      start: 2806
    functionDepth: 0
    functionLinenumber: 2806
    functionLinenumberEnd: 2814
    functionName: ieee802_1x_get_key
    functionSourceFile: /src/hostap/src/ap/ieee802_1x.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 * ieee802_1x_get_key(struct eapol_state_machine *sm, size_t *len)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - sm
    - len
    argTypes:
    - struct eapol_state_machine*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2827
      start: 2818
    functionDepth: 0
    functionLinenumber: 2818
    functionLinenumberEnd: 2827
    functionName: ieee802_1x_get_session_id
    functionSourceFile: /src/hostap/src/ap/ieee802_1x.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: "u8 * ieee802_1x_get_session_id(struct eapol_state_machine *sm,\n\t\t\t\t
      \    size_t *len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eapol_auth_step
      Src: /src/hostap/src/ap/ieee802_1x.c:2837,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - sm
    - enabled
    argTypes:
    - struct eapol_state_machine*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2838
      start: 2831
    functionDepth: 1
    functionLinenumber: 2831
    functionLinenumberEnd: 2838
    functionName: ieee802_1x_notify_port_enabled
    functionSourceFile: /src/hostap/src/ap/ieee802_1x.c
    functionUses: 0
    functionsReached:
    - eapol_auth_step
    linkageType: ''
    returnType: void
    signature: "void ieee802_1x_notify_port_enabled(struct eapol_state_machine *sm,\n\t\t\t\t
      \   bool enabled)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eapol_auth_step
      Src: /src/hostap/src/ap/ieee802_1x.c:2846,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - sm
    - valid
    argTypes:
    - struct eapol_state_machine*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2847
      start: 2841
    functionDepth: 1
    functionLinenumber: 2841
    functionLinenumberEnd: 2847
    functionName: ieee802_1x_notify_port_valid
    functionSourceFile: /src/hostap/src/ap/ieee802_1x.c
    functionUses: 0
    functionsReached:
    - eapol_auth_step
    linkageType: ''
    returnType: void
    signature: void ieee802_1x_notify_port_valid(struct eapol_state_machine *sm, bool
      valid)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - sm
    - pre_auth
    argTypes:
    - struct eapol_state_machine*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2858
      start: 2850
    functionDepth: 0
    functionLinenumber: 2850
    functionLinenumberEnd: 2858
    functionName: ieee802_1x_notify_pre_auth
    functionSourceFile: /src/hostap/src/ap/ieee802_1x.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ieee802_1x_notify_pre_auth(struct eapol_state_machine *sm, bool
      pre_auth)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2864
      start: 2861
    functionDepth: 0
    functionLinenumber: 2861
    functionLinenumberEnd: 2864
    functionName: bool_txt
    functionSourceFile: /src/hostap/src/ap/ieee802_1x.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * bool_txt(bool val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - hapd
    - buf
    - buflen
    argTypes:
    - struct hostapd_data*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2871
      start: 2867
    functionDepth: 0
    functionLinenumber: 2867
    functionLinenumberEnd: 2871
    functionName: ieee802_1x_get_mib
    functionSourceFile: /src/hostap/src/ap/ieee802_1x.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ieee802_1x_get_mib(struct hostapd_data *hapd, char *buf, size_t
      buflen)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ieee802_1x.c:2887,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ieee802_1x.c:2896,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ieee802_1x.c:2901,1
    - Dst: bool_txt
      Src: /src/hostap/src/ap/ieee802_1x.c:2922,1
    - Dst: bool_txt
      Src: /src/hostap/src/ap/ieee802_1x.c:2923,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ieee802_1x.c:2924,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ieee802_1x.c:2929,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_1x.c:2953,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ieee802_1x.c:2954,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ieee802_1x.c:2959,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ieee802_1x.c:2992,1
    - Dst: os_reltime_age
      Src: /src/hostap/src/ap/ieee802_1x.c:2997,1
    - Dst: eap_get_identity
      Src: /src/hostap/src/ap/ieee802_1x.c:3002,1
    - Dst: dup_binstr
      Src: /src/hostap/src/ap/ieee802_1x.c:3004,1
    - Dst: dup_binstr
      Src: /src/hostap/src/ap/ieee802_1x.c:3006,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ieee802_1x.c:3010,1
    - Dst: wpa_key_mgmt_wpa_ieee8021x
      Src: /src/hostap/src/ap/ieee802_1x.c:3021,1
    - Dst: wpa_auth_sta_key_mgmt
      Src: /src/hostap/src/ap/ieee802_1x.c:3022,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_1x.c:3026,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ieee802_1x.c:3027,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ieee802_1x.c:3032,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ieee802_1x.c:3036,1
    - Dst: eap_server_get_name
      Src: /src/hostap/src/ap/ieee802_1x.c:3041,1
    - Dst: eap_server_get_name
      Src: /src/hostap/src/ap/ieee802_1x.c:3042,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ieee802_1x.c:3043,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ieee802_1x.c:3048,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 4
    argNames:
    - hapd
    - sta
    - buf
    - buflen
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3053
      start: 2874
    functionDepth: 1
    functionLinenumber: 2874
    functionLinenumberEnd: 3053
    functionName: ieee802_1x_get_mib_sta
    functionSourceFile: /src/hostap/src/ap/ieee802_1x.c
    functionUses: 1
    functionsReached:
    - bool_txt
    - eap_server_get_name
    - wpa_auth_sta_key_mgmt
    - dup_binstr
    - os_snprintf
    - MAC2STR
    - wpa_key_mgmt_wpa_ieee8021x
    - os_free
    - os_reltime_age
    - eap_get_identity
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int ieee802_1x_get_mib_sta(struct hostapd_data *hapd, struct sta_info
      *sta,\n\t\t\t   char *buf, size_t buflen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:3063,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_1x.c:3065,1
    - Dst: hs20_send_wnm_notification_deauth_req
      Src: /src/hostap/src/ap/ieee802_1x.c:3066,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:3071,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_1x.c:3073,1
    - Dst: hs20_send_wnm_notification_t_c
      Src: /src/hostap/src/ap/ieee802_1x.c:3074,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_1x.c:3075,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3078
      start: 3057
    functionDepth: 1
    functionLinenumber: 3057
    functionLinenumberEnd: 3078
    functionName: ieee802_1x_wnm_notif_send
    functionSourceFile: /src/hostap/src/ap/ieee802_1x.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - MAC2STR
    - hs20_send_wnm_notification_t_c
    - hs20_send_wnm_notification_deauth_req
    - os_free
    linkageType: ''
    returnType: void
    signature: void ieee802_1x_wnm_notif_send(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_1x.c:3095,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_1x.c:3096,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/ieee802_1x.c:3097,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/ieee802_1x.c:3098,1
    - Dst: ieee802_1x_notify_create_actor_hapd
      Src: /src/hostap/src/ap/ieee802_1x.c:3104,1
    - Dst: ieee802_1x_get_key
      Src: /src/hostap/src/ap/ieee802_1x.c:3107,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/ap/ieee802_1x.c:3109,1
    - Dst: os_reltime_sub
      Src: /src/hostap/src/ap/ieee802_1x.c:3110,1
    - Dst: wpa_auth_pmksa_add
      Src: /src/hostap/src/ap/ieee802_1x.c:3117,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_1x.c:3119,1
    - Dst: ap_sta_delayed_1x_auth_fail_disconnect
      Src: /src/hostap/src/ap/ieee802_1x.c:3135,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 4
    argNames:
    - hapd
    - sta
    - success
    - logoff
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3142
      start: 3082
    functionDepth: 2
    functionLinenumber: 3082
    functionLinenumberEnd: 3142
    functionName: ieee802_1x_finished
    functionSourceFile: /src/hostap/src/ap/ieee802_1x.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - ieee802_1x_notify_create_actor_hapd
    - os_get_reltime
    - eloop_cancel_timeout
    - hostapd_logger
    - wpa_auth_pmksa_add
    - MAC2STR
    - ieee802_1x_get_key
    - os_reltime_sub
    - ap_sta_delayed_1x_auth_fail_disconnect
    - eloop_register_timeout
    linkageType: ''
    returnType: bool
    signature: "bool ieee802_1x_finished(struct hostapd_data *hapd,\n\t\t\t\tstruct
      sta_info *sta, int success,\n\t\t\t\tbool logoff)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - sm
    - value
    argTypes:
    - struct eapol_state_machine*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3151
      start: 3146
    functionDepth: 0
    functionLinenumber: 3146
    functionLinenumberEnd: 3151
    functionName: ieee802_1x_eapol_sm_set_port_enabled
    functionSourceFile: /src/hostap/src/ap/ieee802_1x.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ieee802_1x_eapol_sm_set_port_enabled(struct eapol_state_machine
      *sm,\n\t\t\t\t\t  bool value)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/ap/wpa_auth_ie.c:37,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/ap/wpa_auth_ie.c:38,1
    - Dst: wpa_cipher_to_suite
      Src: /src/hostap/src/ap/wpa_auth_ie.c:41,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ie.c:43,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/ap/wpa_auth_ie.c:47,1
    - Dst: wpa_cipher_put_suites
      Src: /src/hostap/src/ap/wpa_auth_ie.c:53,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ie.c:55,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/ap/wpa_auth_ie.c:60,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/ap/wpa_auth_ie.c:67,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/ap/wpa_auth_ie.c:72,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ie.c:78,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/ap/wpa_auth_ie.c:82,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 42
    argCount: 3
    argNames:
    - conf
    - buf
    - len
    argTypes:
    - struct wpa_auth_config*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 89
    functionName: wpa_write_wpa_ie
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ie.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - RSN_SELECTOR_PUT
    - wpa_cipher_to_suite
    - wpa_cipher_put_suites
    - WPA_PUT_LE16
    linkageType: ''
    returnType: int
    signature: int wpa_write_wpa_ie(struct wpa_auth_config *conf, u8 *buf, size_t
      len)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BIT
      Src: /src/hostap/src/ap/wpa_auth_ie.c:114,1
    - Dst: BIT
      Src: /src/hostap/src/ap/wpa_auth_ie.c:114,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - conf
    - mfp
    argTypes:
    - struct wpa_auth_config*
    - enum mfp_options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 120
    functionName: wpa_own_rsn_capab
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ie.c
    functionUses: 0
    functionsReached:
    - BIT
    linkageType: ''
    returnType: u16
    signature: "u16 wpa_own_rsn_capab(struct wpa_auth_config *conf,\n\t\t\t     enum
      mfp_options mfp)"
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cipher_to_suite
      Src: /src/hostap/src/ap/wpa_auth_ie.c:132,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ie.c:134,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/ap/wpa_auth_ie.c:137,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/ap/wpa_auth_ie.c:146,1
    - Dst: RSN_SELECTOR
      Src: /src/hostap/src/ap/wpa_auth_ie.c:146,1
    - Dst: rsn_cipher_put_suites
      Src: /src/hostap/src/ap/wpa_auth_ie.c:152,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/ap/wpa_auth_ie.c:158,1
    - Dst: RSN_SELECTOR
      Src: /src/hostap/src/ap/wpa_auth_ie.c:158,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ie.c:165,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/ap/wpa_auth_ie.c:169,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/ap/wpa_auth_ie.c:177,1
    - Dst: RSN_SELECTOR
      Src: /src/hostap/src/ap/wpa_auth_ie.c:177,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/ap/wpa_auth_ie.c:184,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/ap/wpa_auth_ie.c:189,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/ap/wpa_auth_ie.c:195,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/ap/wpa_auth_ie.c:201,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/ap/wpa_auth_ie.c:207,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/ap/wpa_auth_ie.c:214,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/ap/wpa_auth_ie.c:220,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/ap/wpa_auth_ie.c:225,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/ap/wpa_auth_ie.c:231,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/ap/wpa_auth_ie.c:236,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/ap/wpa_auth_ie.c:241,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/ap/wpa_auth_ie.c:246,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/ap/wpa_auth_ie.c:252,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/ap/wpa_auth_ie.c:257,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/ap/wpa_auth_ie.c:263,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/ap/wpa_auth_ie.c:268,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/ap/wpa_auth_ie.c:274,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/ap/wpa_auth_ie.c:279,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/ap/wpa_auth_ie.c:287,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/ap/wpa_auth_ie.c:294,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/ap/wpa_auth_ie.c:301,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/ap/wpa_auth_ie.c:308,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/ap/wpa_auth_ie.c:316,1
    - Dst: RSN_SELECTOR
      Src: /src/hostap/src/ap/wpa_auth_ie.c:316,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ie.c:323,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/ap/wpa_auth_ie.c:327,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/ap/wpa_auth_ie.c:330,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/ap/wpa_auth_ie.c:337,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_ie.c:339,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/ap/wpa_auth_ie.c:350,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/ap/wpa_auth_ie.c:357,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/ap/wpa_auth_ie.c:360,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/ap/wpa_auth_ie.c:363,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ie.c:366,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/ap/wpa_auth_ie.c:384,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/ap/wpa_auth_ie.c:388,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/wpa_auth_ie.c:392,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 203
    argCount: 10
    argNames:
    - buf
    - len
    - pos
    - group
    - pairwise
    - key_mgmt
    - rsn_capab
    - pmkid
    - mfp
    - group_mgmt_cipher
    argTypes:
    - u8*
    - size_t
    - u8*
    - int
    - int
    - int
    - u16
    - u8*
    - enum mfp_options
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 397
    functionName: rsne_write_data
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ie.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - rsn_cipher_put_suites
    - os_memset
    - RSN_SELECTOR
    - RSN_SELECTOR_PUT
    - wpa_cipher_to_suite
    - WPA_PUT_LE16
    linkageType: ''
    returnType: u8
    signature: "u8 * rsne_write_data(u8 *buf, size_t len, u8 *pos, int group,\n\t\t\t
      \   int pairwise, int key_mgmt, u16 rsn_capab,\n\t\t\t    const u8 *pmkid, enum
      mfp_options mfp,\n\t\t\t    int group_mgmt_cipher)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/ap/wpa_auth_ie.c:408,1
    - Dst: rsne_write_data
      Src: /src/hostap/src/ap/wpa_auth_ie.c:411,1
    - Dst: wpa_own_rsn_capab
      Src: /src/hostap/src/ap/wpa_auth_ie.c:413,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - conf
    - buf
    - len
    - pmkid
    argTypes:
    - struct wpa_auth_config*
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 400
    functionDepth: 2
    functionLinenumber: 400
    functionLinenumberEnd: 421
    functionName: wpa_write_rsn_ie
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ie.c
    functionUses: 3
    functionsReached:
    - wpa_own_rsn_capab
    - rsne_write_data
    - WPA_PUT_LE16
    linkageType: ''
    returnType: int
    signature: "int wpa_write_rsn_ie(struct wpa_auth_config *conf, u8 *buf, size_t
      len,\n\t\t     const u8 *pmkid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/src/ap/wpa_auth_ie.c:433,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/ap/wpa_auth_ie.c:436,1
    - Dst: rsne_write_data
      Src: /src/hostap/src/ap/wpa_auth_ie.c:439,1
    - Dst: wpa_own_rsn_capab
      Src: /src/hostap/src/ap/wpa_auth_ie.c:442,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - conf
    - buf
    - len
    argTypes:
    - struct wpa_auth_config*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 424
    functionDepth: 2
    functionLinenumber: 424
    functionLinenumberEnd: 451
    functionName: wpa_write_rsne_override
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ie.c
    functionUses: 0
    functionsReached:
    - WPA_PUT_BE32
    - wpa_own_rsn_capab
    - rsne_write_data
    - WPA_PUT_LE16
    linkageType: ''
    returnType: int
    signature: "int wpa_write_rsne_override(struct wpa_auth_config *conf, u8 *buf,\n\t\t\t\t
      \  size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/src/ap/wpa_auth_ie.c:463,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/ap/wpa_auth_ie.c:466,1
    - Dst: rsne_write_data
      Src: /src/hostap/src/ap/wpa_auth_ie.c:469,1
    - Dst: wpa_own_rsn_capab
      Src: /src/hostap/src/ap/wpa_auth_ie.c:472,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - conf
    - buf
    - len
    argTypes:
    - struct wpa_auth_config*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 454
    functionDepth: 2
    functionLinenumber: 454
    functionLinenumberEnd: 481
    functionName: wpa_write_rsne_override_2
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ie.c
    functionUses: 0
    functionsReached:
    - WPA_PUT_BE32
    - wpa_own_rsn_capab
    - rsne_write_data
    - WPA_PUT_LE16
    linkageType: ''
    returnType: int
    signature: "int wpa_write_rsne_override_2(struct wpa_auth_config *conf, u8 *buf,\n\t\t\t\t
      \    size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/ap/wpa_auth_ie.c:496,1
    - Dst: rsne_write_data
      Src: /src/hostap/src/ap/wpa_auth_ie.c:499,1
    - Dst: wpa_own_rsn_capab
      Src: /src/hostap/src/ap/wpa_auth_ie.c:501,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 9
    argNames:
    - wpa_auth
    - buf
    - len
    - pmkid
    - akmp
    - pairwise_cipher
    - group_cipher
    - group_mgmt_cipher
    - mfp
    argTypes:
    - struct wpa_authenticator*
    - u8*
    - size_t
    - u8*
    - int
    - int
    - int
    - int
    - enum mfp_options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 485
    functionDepth: 2
    functionLinenumber: 485
    functionLinenumberEnd: 509
    functionName: wpa_write_802_1x_rsne
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ie.c
    functionUses: 0
    functionsReached:
    - wpa_own_rsn_capab
    - rsne_write_data
    - WPA_PUT_LE16
    linkageType: ''
    returnType: int
    signature: "int wpa_write_802_1x_rsne(struct wpa_authenticator *wpa_auth, u8 *buf,\n\t\t\t
      \ size_t len, const u8 *pmkid, int akmp,\n\t\t\t  int pairwise_cipher, int group_cipher,\n\t\t\t
      \ int group_mgmt_cipher, enum mfp_options mfp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/ap/wpa_auth_ie.c:526,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/wpa_auth_ie.c:529,1
    - Dst: get_ie
      Src: /src/hostap/src/ap/wpa_auth_ie.c:530,1
    - Dst: wpa_parse_wpa_ie_rsn
      Src: /src/hostap/src/ap/wpa_auth_ie.c:531,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ie.c:532,1
    - Dst: rsne_write_data
      Src: /src/hostap/src/ap/wpa_auth_ie.c:536,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 8
    argNames:
    - wpa_ie
    - wpa_ie_len
    - buf
    - len
    - pmkid
    - akmp
    - pairwise_cipher
    - mfp
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - int
    - int
    - enum mfp_options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 514
    functionDepth: 2
    functionLinenumber: 514
    functionLinenumberEnd: 545
    functionName: wpa_write_eppke_rsne
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ie.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - rsne_write_data
    - wpa_parse_wpa_ie_rsn
    - get_ie
    - WPA_PUT_LE16
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpa_write_eppke_rsne(const u8 *wpa_ie, size_t wpa_ie_len,\n\t\t\t
      u8 *buf, size_t len,\n\t\t\t const u8 *pmkid, int akmp,\n\t\t\t int pairwise_cipher,
      enum mfp_options mfp)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: wpa_key_mgmt_sae
      Src: /src/hostap/src/ap/wpa_auth_ie.c:553,1
    - Dst: wpa_key_mgmt_sae_ext_key
      Src: /src/hostap/src/ap/wpa_auth_ie.c:556,1
    - Dst: BIT
      Src: /src/hostap/src/ap/wpa_auth_ie.c:557,1
    - Dst: BIT
      Src: /src/hostap/src/ap/wpa_auth_ie.c:560,1
    - Dst: BIT
      Src: /src/hostap/src/ap/wpa_auth_ie.c:565,1
    - Dst: BIT
      Src: /src/hostap/src/ap/wpa_auth_ie.c:567,1
    - Dst: BIT
      Src: /src/hostap/src/ap/wpa_auth_ie.c:570,1
    - Dst: BIT
      Src: /src/hostap/src/ap/wpa_auth_ie.c:572,1
    - Dst: BIT
      Src: /src/hostap/src/ap/wpa_auth_ie.c:575,1
    - Dst: BIT
      Src: /src/hostap/src/ap/wpa_auth_ie.c:577,1
    - Dst: BIT
      Src: /src/hostap/src/ap/wpa_auth_ie.c:586,1
    - Dst: BIT
      Src: /src/hostap/src/ap/wpa_auth_ie.c:588,1
    - Dst: BIT
      Src: /src/hostap/src/ap/wpa_auth_ie.c:590,1
    - Dst: BIT
      Src: /src/hostap/src/ap/wpa_auth_ie.c:592,1
    - Dst: BIT_ULL
      Src: /src/hostap/src/ap/wpa_auth_ie.c:594,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 31
    argCount: 2
    argNames:
    - conf
    - key_mgmt
    argTypes:
    - struct wpa_auth_config*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 549
    functionDepth: 1
    functionLinenumber: 549
    functionLinenumberEnd: 598
    functionName: rsnxe_capab
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ie.c
    functionUses: 0
    functionsReached:
    - wpa_key_mgmt_sae
    - BIT
    - wpa_key_mgmt_sae_ext_key
    - BIT_ULL
    linkageType: ''
    returnType: u64
    signature: u64 rsnxe_capab(struct wpa_auth_config *conf, int key_mgmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rsnxe_capab
      Src: /src/hostap/src/ap/wpa_auth_ie.c:607,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - conf
    - buf
    - len
    argTypes:
    - struct wpa_auth_config*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 601
    functionDepth: 2
    functionLinenumber: 601
    functionLinenumberEnd: 629
    functionName: wpa_write_rsnxe
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ie.c
    functionUses: 1
    functionsReached:
    - rsnxe_capab
    linkageType: ''
    returnType: int
    signature: int wpa_write_rsnxe(struct wpa_auth_config *conf, u8 *buf, size_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rsnxe_capab
      Src: /src/hostap/src/ap/wpa_auth_ie.c:639,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/src/ap/wpa_auth_ie.c:656,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - conf
    - buf
    - len
    argTypes:
    - struct wpa_auth_config*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 632
    functionDepth: 2
    functionLinenumber: 632
    functionLinenumberEnd: 665
    functionName: wpa_write_rsnxe_override
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ie.c
    functionUses: 0
    functionsReached:
    - WPA_PUT_BE32
    - rsnxe_capab
    linkageType: ''
    returnType: int
    signature: "int wpa_write_rsnxe_override(struct wpa_auth_config *conf, u8 *buf,\n\t\t\t\t
      \   size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/ap/wpa_auth_ie.c:854,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_ie.c:856,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_ie.c:859,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 6
    argNames:
    - pos
    - kde
    - data
    - data_len
    - data2
    - data2_len
    argTypes:
    - u8*
    - u32
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 849
    functionDepth: 1
    functionLinenumber: 849
    functionLinenumberEnd: 863
    functionName: wpa_add_kde
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ie.c
    functionUses: 9
    functionsReached:
    - RSN_SELECTOR_PUT
    - os_memcpy
    linkageType: ''
    returnType: u8
    signature: "u8 * wpa_add_kde(u8 *pos, u32 kde, const u8 *data, size_t data_len,\n\t\t
      const u8 *data2, size_t data2_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pmksa_cache_get_okc
      Src: /src/hostap/src/ap/wpa_auth_ie.c:877,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - a
    - ctx
    argTypes:
    - struct wpa_authenticator*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 874
    functionDepth: 2
    functionLinenumber: 874
    functionLinenumberEnd: 882
    functionName: wpa_auth_okc_iter
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ie.c
    functionUses: 0
    functionsReached:
    - pmksa_cache_get_okc
    linkageType: ''
    returnType: int
    signature: int wpa_auth_okc_iter(struct wpa_authenticator *a, void *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/wpa_auth_ie.c:899,1
    - Dst: pmksa_cache_auth_get
      Src: /src/hostap/src/ap/wpa_auth_ie.c:902,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - a
    - ctx
    argTypes:
    - struct wpa_authenticator*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 894
    functionDepth: 1
    functionLinenumber: 894
    functionLinenumberEnd: 906
    functionName: wpa_auth_pmksa_iter
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ie.c
    functionUses: 0
    functionsReached:
    - pmksa_cache_auth_get
    - ether_addr_equal
    linkageType: ''
    returnType: int
    signature: int wpa_auth_pmksa_iter(struct wpa_authenticator *a, void *ctx)
  - BBCount: 73
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ie.c:940,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth_ie.c:941,1
    - Dst: wpa_parse_wpa_ie_rsn
      Src: /src/hostap/src/ap/wpa_auth_ie.c:946,1
    - Dst: wpa_default_rsn_cipher
      Src: /src/hostap/src/ap/wpa_auth_ie.c:948,1
    - Dst: wpa_default_rsn_cipher
      Src: /src/hostap/src/ap/wpa_auth_ie.c:950,1
    - Dst: wpa_key_mgmt_ft
      Src: /src/hostap/src/ap/wpa_auth_ie.c:952,1
    - Dst: wpa_key_mgmt_only_ft
      Src: /src/hostap/src/ap/wpa_auth_ie.c:953,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ie.c:957,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth_ie.c:961,1
    - Dst: wpa_cipher_to_suite
      Src: /src/hostap/src/ap/wpa_auth_ie.c:1030,1
    - Dst: wpa_cipher_to_suite
      Src: /src/hostap/src/ap/wpa_auth_ie.c:1036,1
    - Dst: wpa_parse_wpa_ie_wpa
      Src: /src/hostap/src/ap/wpa_auth_ie.c:1042,1
    - Dst: wpa_cipher_to_suite
      Src: /src/hostap/src/ap/wpa_auth_ie.c:1051,1
    - Dst: wpa_cipher_to_suite
      Src: /src/hostap/src/ap/wpa_auth_ie.c:1057,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ie.c:1064,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth_ie.c:1065,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth_ie.c:1066,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ie.c:1071,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth_ie.c:1072,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ie.c:1097,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth_ie.c:1098,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ie.c:1175,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth_ie.c:1178,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ie.c:1184,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ie.c:1191,1
    - Dst: wpa_key_mgmt_sae
      Src: /src/hostap/src/ap/wpa_auth_ie.c:1200,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ie.c:1202,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ie.c:1217,1
    - Dst: wpa_auth_set_ocv
      Src: /src/hostap/src/ap/wpa_auth_ie.c:1219,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ie.c:1221,1
    - Dst: wpa_auth_set_ocv
      Src: /src/hostap/src/ap/wpa_auth_ie.c:1226,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ie.c:1247,1
    - Dst: ieee802_11_rsnx_capab
      Src: /src/hostap/src/ap/wpa_auth_ie.c:1253,1
    - Dst: wpa_key_mgmt_ft
      Src: /src/hostap/src/ap/wpa_auth_ie.c:1261,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ie.c:1263,1
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/wpa_auth_ie.c:1267,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth_ie.c:1269,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ie.c:1274,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ie.c:1282,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ie.c:1292,1
    - Dst: wpa_pick_pairwise_cipher
      Src: /src/hostap/src/ap/wpa_auth_ie.c:1298,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/ap/wpa_auth_ie.c:1324,1
    - Dst: wpa_auth_vlogger
      Src: /src/hostap/src/ap/wpa_auth_ie.c:1326,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth_ie.c:1336,1
    - Dst: pmksa_cache_auth_get
      Src: /src/hostap/src/ap/wpa_auth_ie.c:1342,1
    - Dst: pmksa_cache_auth_get
      Src: /src/hostap/src/ap/wpa_auth_ie.c:1346,1
    - Dst: wpa_auth_for_each_auth
      Src: /src/hostap/src/ap/wpa_auth_ie.c:1356,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/ap/wpa_auth_ie.c:1363,1
    - Dst: pmksa_cache_auth_get
      Src: /src/hostap/src/ap/wpa_auth_ie.c:1364,1
    - Dst: wpa_auth_for_each_auth
      Src: /src/hostap/src/ap/wpa_auth_ie.c:1379,1
    - Dst: wpa_auth_vlogger
      Src: /src/hostap/src/ap/wpa_auth_ie.c:1381,1
    - Dst: pmksa_cache_add_okc
      Src: /src/hostap/src/ap/wpa_auth_ie.c:1383,1
    - Dst: wpa_auth_vlogger
      Src: /src/hostap/src/ap/wpa_auth_ie.c:1395,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_ie.c:1401,1
    - Dst: struct wpa_authenticator*::cb::get_drv_flags
      Src: /src/hostap/src/ap/wpa_auth_ie.c:1412,1
    - Dst: wpa_auth_vlogger
      Src: /src/hostap/src/ap/wpa_auth_ie.c:1433,1
    - Dst: wpa_auth_vlogger
      Src: /src/hostap/src/ap/wpa_auth_ie.c:1442,1
    - Dst: wpa_key_mgmt_ft
      Src: /src/hostap/src/ap/wpa_auth_ie.c:1453,1
    - Dst: wpa_key_mgmt_fils
      Src: /src/hostap/src/ap/wpa_auth_ie.c:1454,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_ie.c:1458,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth_ie.c:1466,1
    - Dst: os_malloc
      Src: /src/hostap/src/ap/wpa_auth_ie.c:1467,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_ie.c:1471,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth_ie.c:1476,1
    - Dst: os_malloc
      Src: /src/hostap/src/ap/wpa_auth_ie.c:1477,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_ie.c:1481,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth_ie.c:1484,1
    CyclomaticComplexity: 131
    EdgeCount: 131
    ICount: 277
    argCount: 13
    argNames:
    - wpa_auth
    - sm
    - freq
    - wpa_ie
    - wpa_ie_len
    - rsnxe
    - rsnxe_len
    - mdie
    - mdie_len
    - owe_dh
    - owe_dh_len
    - assoc_sm
    - is_ml
    argTypes:
    - struct wpa_authenticator*
    - struct wpa_state_machine*
    - int
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    - struct wpa_state_machine*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1490
      start: 911
    functionDepth: 3
    functionLinenumber: 911
    functionLinenumberEnd: 1490
    functionName: wpa_validate_wpa_ie
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ie.c
    functionUses: 2
    functionsReached:
    - wpa_hexdump
    - wpa_key_mgmt_sae
    - wpa_printf
    - wpa_auth_set_ocv
    - wpa_pick_pairwise_cipher
    - wpa_key_mgmt_ft
    - os_memcmp
    - os_free
    - wpa_key_mgmt_only_ft
    - is_zero_ether_addr
    - os_malloc
    - struct wpa_authenticator*::cb::get_drv_flags
    - wpa_parse_wpa_ie_wpa
    - ieee802_11_rsnx_capab
    - pmksa_cache_auth_get
    - wpa_default_rsn_cipher
    - wpa_auth_for_each_auth
    - os_memcpy
    - pmksa_cache_add_okc
    - wpa_parse_wpa_ie_rsn
    - os_memcmp_const
    - MAC2STR
    - wpa_auth_vlogger
    - wpa_key_mgmt_fils
    - wpa_cipher_to_suite
    linkageType: ''
    returnType: enum wpa_validate_result
    signature: "enum wpa_validate_result wpa_validate_wpa_ie(struct wpa_authenticator
      *wpa_auth,\n\t\t    struct wpa_state_machine *sm, int freq,\n\t\t    const u8
      *wpa_ie, size_t wpa_ie_len,\n\t\t    const u8 *rsnxe, size_t rsnxe_len,\n\t\t
      \   const u8 *mdie, size_t mdie_len,\n\t\t    const u8 *owe_dh, size_t owe_dh_len,\n\t\t
      \   struct wpa_state_machine *assoc_sm, bool is_ml)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_state_machine*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1496
      start: 1493
    functionDepth: 0
    functionLinenumber: 1493
    functionLinenumberEnd: 1496
    functionName: wpa_auth_uses_mfp
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ie.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpa_auth_uses_mfp(struct wpa_state_machine *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_state_machine*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1502
      start: 1499
    functionDepth: 0
    functionLinenumber: 1499
    functionLinenumberEnd: 1502
    functionName: wpa_auth_uses_spp_amsdu
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ie.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpa_auth_uses_spp_amsdu(struct wpa_state_machine *sm)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - sm
    - ocv
    argTypes:
    - struct wpa_state_machine*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1510
      start: 1506
    functionDepth: 0
    functionLinenumber: 1506
    functionLinenumberEnd: 1510
    functionName: wpa_auth_set_ocv
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ie.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wpa_auth_set_ocv(struct wpa_state_machine *sm, int ocv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct wpa_state_machine*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1516
      start: 1513
    functionDepth: 0
    functionLinenumber: 1513
    functionLinenumberEnd: 1516
    functionName: wpa_auth_uses_ocv
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ie.c
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpa_auth_uses_ocv(struct wpa_state_machine *sm)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth_ie.c:1536,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_ie.c:1538,1
    - Dst: wpa_write_rsn_ie
      Src: /src/hostap/src/ap/wpa_auth_ie.c:1544,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - sm
    - pos
    - max_len
    argTypes:
    - struct wpa_state_machine*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1549
      start: 1522
    functionDepth: 3
    functionLinenumber: 1522
    functionLinenumberEnd: 1549
    functionName: wpa_auth_write_assoc_resp_owe
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ie.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_write_rsn_ie
    - wpa_hexdump
    linkageType: ''
    returnType: u8
    signature: "u8 * wpa_auth_write_assoc_resp_owe(struct wpa_state_machine *sm,\n\t\t\t\t
      \  u8 *pos, size_t max_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_write_rsn_ie
      Src: /src/hostap/src/ap/wpa_auth_ie.c:1565,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - sm
    - pos
    - max_len
    argTypes:
    - struct wpa_state_machine*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1569
      start: 1555
    functionDepth: 3
    functionLinenumber: 1555
    functionLinenumberEnd: 1569
    functionName: wpa_auth_write_assoc_resp_fils
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ie.c
    functionUses: 0
    functionsReached:
    - wpa_write_rsn_ie
    linkageType: ''
    returnType: u8
    signature: "u8 * wpa_auth_write_assoc_resp_fils(struct wpa_state_machine *sm,\n\t\t\t\t
      \   u8 *pos, size_t max_len)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/ap/wpa_auth_ie.c:1590,1
    - Dst: wpa_own_rsn_capab
      Src: /src/hostap/src/ap/wpa_auth_ie.c:1590,1
    - Dst: wpa_cipher_to_suite
      Src: /src/hostap/src/ap/wpa_auth_ie.c:1594,1
    - Dst: rsn_cipher_put_suites
      Src: /src/hostap/src/ap/wpa_auth_ie.c:1625,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 57
    argCount: 2
    argNames:
    - wpa_auth
    - fd_rsn_info
    argTypes:
    - struct wpa_authenticator*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1655
      start: 1572
    functionDepth: 1
    functionLinenumber: 1572
    functionLinenumberEnd: 1655
    functionName: wpa_auth_write_fd_rsn_info
    functionSourceFile: /src/hostap/src/ap/wpa_auth_ie.c
    functionUses: 1
    functionsReached:
    - wpa_cipher_to_suite
    - rsn_cipher_put_suites
    - wpa_own_rsn_capab
    - WPA_PUT_LE16
    linkageType: ''
    returnType: bool
    signature: "bool wpa_auth_write_fd_rsn_info(struct wpa_authenticator *wpa_auth,\n\t\t\t\tu8
      *fd_rsn_info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cb
      Src: /src/hostap/src/ap/sta_info.c:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - hapd
    - ctx
    argTypes:
    - struct hostapd_data*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 67
    functionName: ap_for_each_sta
    functionSourceFile: /src/hostap/src/ap/sta_info.c
    functionUses: 8
    functionsReached:
    - cb
    linkageType: ''
    returnType: int
    signature: "int ap_for_each_sta(struct hostapd_data *hapd,\n\t\t    int (*cb)(struct
      hostapd_data *hapd, struct sta_info *sta,\n\t\t\t      void *ctx),\n\t\t    void
      *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STA_HASH
      Src: /src/hostap/src/ap/sta_info.c:74,1
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/sta_info.c:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 78
    functionName: ap_get_sta
    functionSourceFile: /src/hostap/src/ap/sta_info.c
    functionUses: 71
    functionsReached:
    - STA_HASH
    - os_memcmp
    linkageType: ''
    returnType: struct sta_info
    signature: struct sta_info * ap_get_sta(struct hostapd_data *hapd, const u8 *sta)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/sta_info.c:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - hapd
    - link_addr
    argTypes:
    - struct hostapd_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 95
    functionName: ap_get_link_sta
    functionSourceFile: /src/hostap/src/ap/sta_info.c
    functionUses: 0
    functionsReached:
    - ether_addr_equal
    linkageType: ''
    returnType: struct sta_info
    signature: "struct sta_info * ap_get_link_sta(struct hostapd_data *hapd,\n\t\t\t\t
      \ const u8 *link_addr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: p2p_get_go_dev_addr
      Src: /src/hostap/src/ap/sta_info.c:110,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/sta_info.c:114,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - hapd
    - addr
    argTypes:
    - struct hostapd_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 119
    functionName: ap_get_sta_p2p
    functionSourceFile: /src/hostap/src/ap/sta_info.c
    functionUses: 1
    functionsReached:
    - ether_addr_equal
    - p2p_get_go_dev_addr
    linkageType: ''
    returnType: struct sta_info
    signature: struct sta_info * ap_get_sta_p2p(struct hostapd_data *hapd, const u8
      *addr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/sta_info.c:136,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/sta_info.c:137,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 140
    functionName: ap_sta_list_del
    functionSourceFile: /src/hostap/src/ap/sta_info.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void ap_sta_list_del(struct hostapd_data *hapd, struct sta_info *sta)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STA_HASH
      Src: /src/hostap/src/ap/sta_info.c:145,1
    - Dst: STA_HASH
      Src: /src/hostap/src/ap/sta_info.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 147
    functionName: ap_sta_hash_add
    functionSourceFile: /src/hostap/src/ap/sta_info.c
    functionUses: 0
    functionsReached:
    - STA_HASH
    linkageType: ''
    returnType: void
    signature: void ap_sta_hash_add(struct hostapd_data *hapd, struct sta_info *sta)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: STA_HASH
      Src: /src/hostap/src/ap/sta_info.c:154,1
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/sta_info.c:156,1
    - Dst: STA_HASH
      Src: /src/hostap/src/ap/sta_info.c:157,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/sta_info.c:162,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/sta_info.c:167,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/sta_info.c:168,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 169
    functionName: ap_sta_hash_del
    functionSourceFile: /src/hostap/src/ap/sta_info.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - ether_addr_equal
    - MAC2STR
    - os_memcmp
    - STA_HASH
    linkageType: ''
    returnType: void
    signature: void ap_sta_hash_del(struct hostapd_data *hapd, struct sta_info *sta)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sta_ip6addr_del
      Src: /src/hostap/src/ap/sta_info.c:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 175
    functionName: ap_sta_ip6addr_del
    functionSourceFile: /src/hostap/src/ap/sta_info.c
    functionUses: 0
    functionsReached:
    - sta_ip6addr_del
    linkageType: ''
    returnType: void
    signature: void ap_sta_ip6addr_del(struct hostapd_data *hapd, struct sta_info
      *sta)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/sta_info.c:183,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/sta_info.c:184,1
    - Dst: crypto_ecdh_deinit
      Src: /src/hostap/src/ap/sta_info.c:187,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/sta_info.c:189,1
    - Dst: sae_clear_data
      Src: /src/hostap/src/ap/sta_info.c:193,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/sta_info.c:198,1
    - Dst: pasn_data_deinit
      Src: /src/hostap/src/ap/sta_info.c:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 205
    functionName: ap_free_sta_pasn
    functionSourceFile: /src/hostap/src/ap/sta_info.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - crypto_ecdh_deinit
    - wpabuf_free
    - sae_clear_data
    - MAC2STR
    - pasn_data_deinit
    linkageType: ''
    returnType: void
    signature: void ap_free_sta_pasn(struct hostapd_data *hapd, struct sta_info *sta)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_sta_is_link_sta
      Src: /src/hostap/src/ap/sta_info.c:213,1
    - Dst: hostapd_drv_link_sta_remove
      Src: /src/hostap/src/ap/sta_info.c:214,1
    - Dst: hostapd_drv_sta_remove
      Src: /src/hostap/src/ap/sta_info.c:219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 220
    functionName: __ap_free_sta
    functionSourceFile: /src/hostap/src/ap/sta_info.c
    functionUses: 0
    functionsReached:
    - hostapd_drv_link_sta_remove
    - hostapd_drv_sta_remove
    - hostapd_sta_is_link_sta
    linkageType: ''
    returnType: void
    signature: void __ap_free_sta(struct hostapd_data *hapd, struct sta_info *sta)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_sta_is_mld
      Src: /src/hostap/src/ap/sta_info.c:231,1
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/sta_info.c:238,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/sta_info.c:241,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - hapd
    - psta
    - wpa_sm
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 247
    functionName: set_wpa_sm_for_each_partner_link
    functionSourceFile: /src/hostap/src/ap/sta_info.c
    functionUses: 0
    functionsReached:
    - ap_sta_is_mld
    - wpa_printf
    - ap_get_sta
    linkageType: ''
    returnType: void
    signature: "void set_wpa_sm_for_each_partner_link(struct hostapd_data *hapd,\n\t\t\t\t
      \     struct sta_info *psta, void *wpa_sm)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/sta_info.c:238,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/sta_info.c:241,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 246
    functionName: for_each_mld_link
    functionSourceFile: /src/hostap/src/ap/sta_info.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - ap_get_sta
    linkageType: ''
    returnType: void
    signature: void for_each_mld_link(lhapd, hapd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_wpa_sm_for_each_partner_link
      Src: /src/hostap/src/ap/sta_info.c:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hapd
    - psta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 250
    functionDepth: 3
    functionLinenumber: 250
    functionLinenumberEnd: 254
    functionName: clear_wpa_sm_for_each_partner_link
    functionSourceFile: /src/hostap/src/ap/sta_info.c
    functionUses: 0
    functionsReached:
    - set_wpa_sm_for_each_partner_link
    linkageType: ''
    returnType: void
    signature: "void clear_wpa_sm_for_each_partner_link(struct hostapd_data *hapd,\n\t\t\t\t\tstruct
      sta_info *psta)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/sta_info.c:270,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - hapd
    - wpa_sm
    argTypes:
    - struct hostapd_data*
    - struct wpa_state_machine*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 277
    functionName: clear_wpa_sm_for_all_sta
    functionSourceFile: /src/hostap/src/ap/sta_info.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: "void clear_wpa_sm_for_all_sta(struct hostapd_data *hapd,\n\t\t\t      struct
      wpa_state_machine *wpa_sm)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/sta_info.c:270,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 276
    functionName: for_each_mld_link
    functionSourceFile: /src/hostap/src/ap/sta_info.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void for_each_mld_link(lhapd, hapd)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: accounting_sta_stop
      Src: /src/hostap/src/ap/sta_info.c:289,1
    - Dst: ap_sta_set_authorized
      Src: /src/hostap/src/ap/sta_info.c:292,1
    - Dst: hostapd_set_sta_flags
      Src: /src/hostap/src/ap/sta_info.c:293,1
    - Dst: hostapd_set_wds_sta
      Src: /src/hostap/src/ap/sta_info.c:300,1
    - Dst: hostapd_drv_br_delete_ip_neigh
      Src: /src/hostap/src/ap/sta_info.c:303,1
    - Dst: ap_sta_ip6addr_del
      Src: /src/hostap/src/ap/sta_info.c:304,1
    - Dst: __ap_free_sta
      Src: /src/hostap/src/ap/sta_info.c:308,1
    - Dst: ap_sta_hash_del
      Src: /src/hostap/src/ap/sta_info.c:312,1
    - Dst: ap_sta_list_del
      Src: /src/hostap/src/ap/sta_info.c:313,1
    - Dst: BIT
      Src: /src/hostap/src/ap/sta_info.c:317,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/sta_info.c:361,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/sta_info.c:363,1
    - Dst: ht40_intolerant_remove
      Src: /src/hostap/src/ap/sta_info.c:367,1
    - Dst: hostapd_p2p_non_p2p_sta_disconnected
      Src: /src/hostap/src/ap/sta_info.c:374,1
    - Dst: hostapd_ht_operation_update
      Src: /src/hostap/src/ap/sta_info.c:379,1
    - Dst: struct hostapd_data*::mesh_sta_free_cb
      Src: /src/hostap/src/ap/sta_info.c:385,1
    - Dst: ieee802_11_update_beacons
      Src: /src/hostap/src/ap/sta_info.c:389,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/sta_info.c:391,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/sta_info.c:392,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/sta_info.c:393,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/sta_info.c:394,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/sta_info.c:395,1
    - Dst: ap_sta_clear_disconnect_timeouts
      Src: /src/hostap/src/ap/sta_info.c:396,1
    - Dst: ap_sta_clear_assoc_timeout
      Src: /src/hostap/src/ap/sta_info.c:397,1
    - Dst: sae_clear_retransmit_timer
      Src: /src/hostap/src/ap/sta_info.c:398,1
    - Dst: ieee802_1x_free_station
      Src: /src/hostap/src/ap/sta_info.c:400,1
    - Dst: hostapd_sta_is_link_sta
      Src: /src/hostap/src/ap/sta_info.c:405,1
    - Dst: wpa_release_link_auth_ref
      Src: /src/hostap/src/ap/sta_info.c:406,1
    - Dst: ap_sta_is_mld
      Src: /src/hostap/src/ap/sta_info.c:408,1
    - Dst: clear_wpa_sm_for_each_partner_link
      Src: /src/hostap/src/ap/sta_info.c:413,1
    - Dst: clear_wpa_sm_for_all_sta
      Src: /src/hostap/src/ap/sta_info.c:415,1
    - Dst: wpa_auth_sta_deinit
      Src: /src/hostap/src/ap/sta_info.c:416,1
    - Dst: wpa_auth_sta_deinit
      Src: /src/hostap/src/ap/sta_info.c:419,1
    - Dst: rsn_preauth_free_station
      Src: /src/hostap/src/ap/sta_info.c:422,1
    - Dst: radius_client_flush_auth
      Src: /src/hostap/src/ap/sta_info.c:425,1
    - Dst: hostapd_mld_get_first_bss
      Src: /src/hostap/src/ap/sta_info.c:431,1
    - Dst: vlan_remove_dynamic
      Src: /src/hostap/src/ap/sta_info.c:442,1
    - Dst: hostapd_drv_sta_remove
      Src: /src/hostap/src/ap/sta_info.c:450,1
    - Dst: vlan_remove_dynamic
      Src: /src/hostap/src/ap/sta_info.c:453,1
    - Dst: os_free
      Src: /src/hostap/src/ap/sta_info.c:457,1
    - Dst: os_free
      Src: /src/hostap/src/ap/sta_info.c:459,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/sta_info.c:460,1
    - Dst: p2p_group_notif_disassoc
      Src: /src/hostap/src/ap/sta_info.c:463,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/sta_info.c:466,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/sta_info.c:467,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/sta_info.c:468,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/sta_info.c:469,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/sta_info.c:471,1
    - Dst: os_free
      Src: /src/hostap/src/ap/sta_info.c:474,1
    - Dst: os_free
      Src: /src/hostap/src/ap/sta_info.c:475,1
    - Dst: os_free
      Src: /src/hostap/src/ap/sta_info.c:476,1
    - Dst: os_free
      Src: /src/hostap/src/ap/sta_info.c:477,1
    - Dst: os_free
      Src: /src/hostap/src/ap/sta_info.c:478,1
    - Dst: os_free
      Src: /src/hostap/src/ap/sta_info.c:479,1
    - Dst: os_free
      Src: /src/hostap/src/ap/sta_info.c:480,1
    - Dst: hostapd_free_psk_list
      Src: /src/hostap/src/ap/sta_info.c:481,1
    - Dst: os_free
      Src: /src/hostap/src/ap/sta_info.c:482,1
    - Dst: os_free
      Src: /src/hostap/src/ap/sta_info.c:483,1
    - Dst: os_free
      Src: /src/hostap/src/ap/sta_info.c:484,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/sta_info.c:485,1
    - Dst: os_free
      Src: /src/hostap/src/ap/sta_info.c:486,1
    - Dst: sae_clear_data
      Src: /src/hostap/src/ap/sta_info.c:489,1
    - Dst: os_free
      Src: /src/hostap/src/ap/sta_info.c:490,1
    - Dst: mbo_ap_sta_free
      Src: /src/hostap/src/ap/sta_info.c:493,1
    - Dst: os_free
      Src: /src/hostap/src/ap/sta_info.c:494,1
    - Dst: os_free
      Src: /src/hostap/src/ap/sta_info.c:497,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/sta_info.c:498,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/sta_info.c:499,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/sta_info.c:500,1
    - Dst: crypto_ecdh_deinit
      Src: /src/hostap/src/ap/sta_info.c:502,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/ap/sta_info.c:503,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/sta_info.c:504,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/ap/sta_info.c:509,1
    - Dst: crypto_ecdh_deinit
      Src: /src/hostap/src/ap/sta_info.c:510,1
    - Dst: dpp_pfs_free
      Src: /src/hostap/src/ap/sta_info.c:514,1
    - Dst: os_free
      Src: /src/hostap/src/ap/sta_info.c:518,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/sta_info.c:521,1
    - Dst: ap_free_sta_pasn
      Src: /src/hostap/src/ap/sta_info.c:525,1
    - Dst: os_free
      Src: /src/hostap/src/ap/sta_info.c:528,1
    - Dst: ap_sta_free_sta_profile
      Src: /src/hostap/src/ap/sta_info.c:531,1
    - Dst: ml_deinit_link_reconf_req
      Src: /src/hostap/src/ap/sta_info.c:532,1
    - Dst: free_dscp_policies
      Src: /src/hostap/src/ap/sta_info.c:535,1
    - Dst: os_free
      Src: /src/hostap/src/ap/sta_info.c:538,1
    - Dst: forced_memzero
      Src: /src/hostap/src/ap/sta_info.c:539,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/sta_info.c:542,1
    - Dst: crypto_ecdh_deinit
      Src: /src/hostap/src/ap/sta_info.c:545,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/ap/sta_info.c:546,1
    - Dst: os_free
      Src: /src/hostap/src/ap/sta_info.c:547,1
    - Dst: os_free
      Src: /src/hostap/src/ap/sta_info.c:550,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 149
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 282
    functionDepth: 11
    functionLinenumber: 282
    functionLinenumberEnd: 551
    functionName: ap_free_sta
    functionSourceFile: /src/hostap/src/ap/sta_info.c
    functionUses: 11
    functionsReached:
    - sae_clear_retransmit_timer
    - ap_sta_list_del
    - dpp_pfs_free
    - mbo_ap_sta_free
    - ap_sta_is_mld
    - hostapd_set_wds_sta
    - forced_memzero
    - hostapd_set_sta_flags
    - BIT
    - ap_sta_free_sta_profile
    - hostapd_p2p_non_p2p_sta_disconnected
    - hostapd_sta_is_link_sta
    - wpa_printf
    - hostapd_ht_operation_update
    - vlan_remove_dynamic
    - wpabuf_clear_free
    - clear_wpa_sm_for_each_partner_link
    - os_free
    - ieee802_11_update_beacons
    - p2p_group_notif_disassoc
    - hostapd_mld_get_first_bss
    - wpa_release_link_auth_ref
    - radius_client_flush_auth
    - crypto_ecdh_deinit
    - ml_deinit_link_reconf_req
    - ap_sta_ip6addr_del
    - ap_sta_clear_assoc_timeout
    - free_dscp_policies
    - hostapd_drv_br_delete_ip_neigh
    - clear_wpa_sm_for_all_sta
    - wpa_auth_sta_deinit
    - ht40_intolerant_remove
    - hostapd_free_psk_list
    - ap_sta_clear_disconnect_timeouts
    - eloop_cancel_timeout
    - hostapd_drv_sta_remove
    - __ap_free_sta
    - wpabuf_free
    - rsn_preauth_free_station
    - ap_sta_hash_del
    - sae_clear_data
    - MAC2STR
    - ap_free_sta_pasn
    - ap_sta_set_authorized
    - ieee802_1x_free_station
    - struct hostapd_data*::mesh_sta_free_cb
    - accounting_sta_stop
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: void ap_free_sta(struct hostapd_data *hapd, struct sta_info *sta)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mlme_deauthenticate_indication
      Src: /src/hostap/src/ap/sta_info.c:563,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/sta_info.c:567,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/sta_info.c:568,1
    - Dst: ap_free_sta
      Src: /src/hostap/src/ap/sta_info.c:569,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 554
    functionDepth: 12
    functionLinenumber: 554
    functionLinenumberEnd: 571
    functionName: hostapd_free_stas
    functionSourceFile: /src/hostap/src/ap/sta_info.c
    functionUses: 4
    functionsReached:
    - ap_free_sta
    - mlme_deauthenticate_indication
    - wpa_printf
    - MAC2STR
    linkageType: ''
    returnType: void
    signature: void hostapd_free_stas(struct hostapd_data *hapd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_sta_is_link_sta
      Src: /src/hostap/src/ap/sta_info.c:584,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/sta_info.c:587,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/sta_info.c:588,1
    - Dst: ap_free_sta
      Src: /src/hostap/src/ap/sta_info.c:589,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 575
    functionDepth: 12
    functionLinenumber: 575
    functionLinenumberEnd: 591
    functionName: hostapd_free_link_stas
    functionSourceFile: /src/hostap/src/ap/sta_info.c
    functionUses: 0
    functionsReached:
    - ap_free_sta
    - MAC2STR
    - wpa_printf
    - hostapd_sta_is_link_sta
    linkageType: ''
    returnType: void
    signature: void hostapd_free_link_stas(struct hostapd_data *hapd)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/sta_info.c:611,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/sta_info.c:612,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/sta_info.c:615,1
    - Dst: ap_free_sta
      Src: /src/hostap/src/ap/sta_info.c:618,1
    - Dst: os_random
      Src: /src/hostap/src/ap/sta_info.c:634,1
    - Dst: hostapd_drv_get_inact_sec
      Src: /src/hostap/src/ap/sta_info.c:635,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/sta_info.c:637,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/sta_info.c:640,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/sta_info.c:648,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/sta_info.c:650,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/sta_info.c:658,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/sta_info.c:662,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/sta_info.c:668,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/sta_info.c:670,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/sta_info.c:674,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/sta_info.c:677,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/sta_info.c:689,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/sta_info.c:690,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/sta_info.c:699,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/sta_info.c:701,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/sta_info.c:702,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/sta_info.c:709,1
    - Dst: hostapd_drv_poll_client
      Src: /src/hostap/src/ap/sta_info.c:711,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/ap/sta_info.c:723,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/sta_info.c:726,1
    - Dst: hostapd_drv_sta_deauth
      Src: /src/hostap/src/ap/sta_info.c:729,1
    - Dst: hostapd_drv_sta_disassoc
      Src: /src/hostap/src/ap/sta_info.c:737,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/sta_info.c:744,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/sta_info.c:746,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/sta_info.c:747,1
    - Dst: ap_sta_set_authorized
      Src: /src/hostap/src/ap/sta_info.c:752,1
    - Dst: hostapd_set_sta_flags
      Src: /src/hostap/src/ap/sta_info.c:754,1
    - Dst: ieee802_1x_notify_port_enabled
      Src: /src/hostap/src/ap/sta_info.c:755,1
    - Dst: accounting_sta_stop
      Src: /src/hostap/src/ap/sta_info.c:759,1
    - Dst: ieee802_1x_free_station
      Src: /src/hostap/src/ap/sta_info.c:760,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/sta_info.c:761,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/sta_info.c:768,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/sta_info.c:770,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/sta_info.c:771,1
    - Dst: mlme_disassociate_indication
      Src: /src/hostap/src/ap/sta_info.c:773,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/sta_info.c:777,1
    - Dst: mlme_deauthenticate_indication
      Src: /src/hostap/src/ap/sta_info.c:783,1
    - Dst: ap_free_sta
      Src: /src/hostap/src/ap/sta_info.c:786,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 99
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 603
    functionDepth: 12
    functionLinenumber: 603
    functionLinenumberEnd: 789
    functionName: ap_handle_timer
    functionSourceFile: /src/hostap/src/ap/sta_info.c
    functionUses: 0
    functionsReached:
    - ap_free_sta
    - hostapd_drv_sta_deauth
    - os_random
    - hostapd_logger
    - hostapd_set_sta_flags
    - wpa_printf
    - hostapd_drv_get_inact_sec
    - hostapd_drv_poll_client
    - wpa_dbg
    - mlme_deauthenticate_indication
    - ieee802_1x_notify_port_enabled
    - mlme_disassociate_indication
    - wpa_msg
    - MAC2STR
    - ap_sta_set_authorized
    - eloop_register_timeout
    - ieee802_1x_free_station
    - hostapd_drv_sta_disassoc
    - accounting_sta_stop
    linkageType: ''
    returnType: void
    signature: void ap_handle_timer(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/sta_info.c:797,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/sta_info.c:798,1
    - Dst: hostapd_drv_sta_deauth
      Src: /src/hostap/src/ap/sta_info.c:803,1
    - Dst: mlme_deauthenticate_indication
      Src: /src/hostap/src/ap/sta_info.c:805,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/sta_info.c:807,1
    - Dst: ap_free_sta
      Src: /src/hostap/src/ap/sta_info.c:812,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 792
    functionDepth: 12
    functionLinenumber: 792
    functionLinenumberEnd: 813
    functionName: ap_handle_session_timer
    functionSourceFile: /src/hostap/src/ap/sta_info.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - ap_free_sta
    - hostapd_drv_sta_deauth
    - hostapd_logger
    - MAC2STR
    - mlme_deauthenticate_indication
    linkageType: ''
    returnType: void
    signature: void ap_handle_session_timer(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eloop_replenish_timeout
      Src: /src/hostap/src/ap/sta_info.c:819,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/sta_info.c:821,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - hapd
    - sta
    - session_timeout
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 825
    functionName: ap_sta_replenish_timeout
    functionSourceFile: /src/hostap/src/ap/sta_info.c
    functionUses: 0
    functionsReached:
    - eloop_replenish_timeout
    - hostapd_logger
    linkageType: ''
    returnType: void
    signature: "void ap_sta_replenish_timeout(struct hostapd_data *hapd, struct sta_info
      *sta,\n\t\t\t      u32 session_timeout)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/sta_info.c:831,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/sta_info.c:834,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/sta_info.c:835,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - hapd
    - sta
    - session_timeout
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 828
    functionDepth: 0
    functionLinenumber: 828
    functionLinenumberEnd: 837
    functionName: ap_sta_session_timeout
    functionSourceFile: /src/hostap/src/ap/sta_info.c
    functionUses: 2
    functionsReached:
    - eloop_cancel_timeout
    - eloop_register_timeout
    - hostapd_logger
    linkageType: ''
    returnType: void
    signature: "void ap_sta_session_timeout(struct hostapd_data *hapd, struct sta_info
      *sta,\n\t\t\t    u32 session_timeout)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/sta_info.c:842,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 843
    functionName: ap_sta_no_session_timeout
    functionSourceFile: /src/hostap/src/ap/sta_info.c
    functionUses: 1
    functionsReached:
    - eloop_cancel_timeout
    linkageType: ''
    returnType: void
    signature: void ap_sta_no_session_timeout(struct hostapd_data *hapd, struct sta_info
      *sta)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/sta_info.c:852,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/sta_info.c:853,1
    - Dst: wnm_send_ess_disassoc_imminent
      Src: /src/hostap/src/ap/sta_info.c:857,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 846
    functionDepth: 4
    functionLinenumber: 846
    functionLinenumberEnd: 860
    functionName: ap_handle_session_warning_timer
    functionSourceFile: /src/hostap/src/ap/sta_info.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    - wnm_send_ess_disassoc_imminent
    linkageType: ''
    returnType: void
    signature: void ap_handle_session_warning_timer(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/sta_info.c:866,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/sta_info.c:867,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - hapd
    - sta
    - warning_time
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 863
    functionDepth: 0
    functionLinenumber: 863
    functionLinenumberEnd: 869
    functionName: ap_sta_session_warning_timeout
    functionSourceFile: /src/hostap/src/ap/sta_info.c
    functionUses: 1
    functionsReached:
    - eloop_cancel_timeout
    - eloop_register_timeout
    linkageType: ''
    returnType: void
    signature: "void ap_sta_session_warning_timeout(struct hostapd_data *hapd,\n\t\t\t\t
      \   struct sta_info *sta, int warning_time)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/sta_info.c:880,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/sta_info.c:882,1
    - Dst: ap_sta_deauthenticate
      Src: /src/hostap/src/ap/sta_info.c:884,1
    - Dst: ap_free_sta
      Src: /src/hostap/src/ap/sta_info.c:887,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 872
    functionDepth: 12
    functionLinenumber: 872
    functionLinenumberEnd: 888
    functionName: ap_sta_assoc_timeout
    functionSourceFile: /src/hostap/src/ap/sta_info.c
    functionUses: 0
    functionsReached:
    - ap_free_sta
    - MAC2STR
    - wpa_printf
    - ap_sta_deauthenticate
    linkageType: ''
    returnType: void
    signature: void ap_sta_assoc_timeout(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/sta_info.c:897,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/sta_info.c:901,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/sta_info.c:904,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/sta_info.c:909,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/sta_info.c:911,1
    - Dst: accounting_sta_get_id
      Src: /src/hostap/src/ap/sta_info.c:915,1
    - Dst: os_free
      Src: /src/hostap/src/ap/sta_info.c:916,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/sta_info.c:933,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/sta_info.c:935,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/sta_info.c:937,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/sta_info.c:942,1
    - Dst: ap_sta_hash_add
      Src: /src/hostap/src/ap/sta_info.c:946,1
    - Dst: ap_sta_remove_in_other_bss
      Src: /src/hostap/src/ap/sta_info.c:947,1
    - Dst: dl_list_init
      Src: /src/hostap/src/ap/sta_info.c:949,1
    - Dst: sta_track_claim_taxonomy_info
      Src: /src/hostap/src/ap/sta_info.c:952,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/sta_info.c:957,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 2
    argNames:
    - hapd
    - addr
    argTypes:
    - struct hostapd_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 891
    functionDepth: 3
    functionLinenumber: 891
    functionLinenumberEnd: 960
    functionName: ap_sta_add
    functionSourceFile: /src/hostap/src/ap/sta_info.c
    functionUses: 4
    functionsReached:
    - wpa_printf
    - os_memcpy
    - accounting_sta_get_id
    - MAC2STR
    - os_zalloc
    - ap_sta_remove_in_other_bss
    - eloop_register_timeout
    - dl_list_init
    - sta_track_claim_taxonomy_info
    - os_free
    - ap_sta_hash_add
    - ap_get_sta
    linkageType: ''
    returnType: struct sta_info
    signature: struct sta_info * ap_sta_add(struct hostapd_data *hapd, const u8 *addr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_1x_notify_port_enabled
      Src: /src/hostap/src/ap/sta_info.c:965,1
    - Dst: hostapd_drv_br_delete_ip_neigh
      Src: /src/hostap/src/ap/sta_info.c:968,1
    - Dst: ap_sta_ip6addr_del
      Src: /src/hostap/src/ap/sta_info.c:969,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/sta_info.c:971,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/sta_info.c:972,1
    - Dst: hostapd_drv_sta_remove
      Src: /src/hostap/src/ap/sta_info.c:973,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/sta_info.c:975,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/sta_info.c:977,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 963
    functionDepth: 2
    functionLinenumber: 963
    functionLinenumberEnd: 982
    functionName: ap_sta_remove
    functionSourceFile: /src/hostap/src/ap/sta_info.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hostapd_drv_sta_remove
    - ap_sta_ip6addr_del
    - MAC2STR
    - hostapd_drv_br_delete_ip_neigh
    - ieee802_1x_notify_port_enabled
    linkageType: ''
    returnType: int
    signature: int ap_sta_remove(struct hostapd_data *hapd, struct sta_info *sta)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/sta_info.c:1000,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/sta_info.c:1004,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/sta_info.c:1006,1
    - Dst: ap_sta_disconnect
      Src: /src/hostap/src/ap/sta_info.c:1008,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1011
      start: 985
    functionDepth: 2
    functionLinenumber: 985
    functionLinenumberEnd: 1011
    functionName: ap_sta_remove_in_other_bss
    functionSourceFile: /src/hostap/src/ap/sta_info.c
    functionUses: 1
    functionsReached:
    - MAC2STR
    - wpa_printf
    - ap_sta_disconnect
    - ap_get_sta
    linkageType: ''
    returnType: void
    signature: "void ap_sta_remove_in_other_bss(struct hostapd_data *hapd,\n\t\t\t\t
      \      struct sta_info *sta)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/sta_info.c:1019,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/sta_info.c:1020,1
    - Dst: ap_sta_remove
      Src: /src/hostap/src/ap/sta_info.c:1021,1
    - Dst: mlme_disassociate_indication
      Src: /src/hostap/src/ap/sta_info.c:1022,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1023
      start: 1014
    functionDepth: 3
    functionLinenumber: 1014
    functionLinenumberEnd: 1023
    functionName: ap_sta_disassoc_cb_timeout
    functionSourceFile: /src/hostap/src/ap/sta_info.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    - ap_sta_remove
    - mlme_disassociate_indication
    linkageType: ''
    returnType: void
    signature: void ap_sta_disassoc_cb_timeout(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_sta_set_authorized
      Src: /src/hostap/src/ap/sta_info.c:1032,1
    - Dst: hostapd_set_sta_flags
      Src: /src/hostap/src/ap/sta_info.c:1033,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/sta_info.c:1035,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/sta_info.c:1037,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/sta_info.c:1039,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/sta_info.c:1040,1
    - Dst: accounting_sta_stop
      Src: /src/hostap/src/ap/sta_info.c:1041,1
    - Dst: ieee802_1x_free_station
      Src: /src/hostap/src/ap/sta_info.c:1043,1
    - Dst: ap_sta_is_mld
      Src: /src/hostap/src/ap/sta_info.c:1045,1
    - Dst: clear_wpa_sm_for_each_partner_link
      Src: /src/hostap/src/ap/sta_info.c:1049,1
    - Dst: clear_wpa_sm_for_all_sta
      Src: /src/hostap/src/ap/sta_info.c:1050,1
    - Dst: wpa_auth_sta_deinit
      Src: /src/hostap/src/ap/sta_info.c:1051,1
    - Dst: wpa_auth_sta_deinit
      Src: /src/hostap/src/ap/sta_info.c:1054,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - hapd
    - sta
    - timeout
    - free_1x
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - unsigned int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1026
    functionDepth: 4
    functionLinenumber: 1026
    functionLinenumberEnd: 1058
    functionName: ap_sta_disconnect_common
    functionSourceFile: /src/hostap/src/ap/sta_info.c
    functionUses: 0
    functionsReached:
    - wpa_auth_sta_deinit
    - wpa_printf
    - eloop_cancel_timeout
    - ap_sta_is_mld
    - hostapd_set_sta_flags
    - MAC2STR
    - ap_sta_set_authorized
    - eloop_register_timeout
    - ieee802_1x_free_station
    - clear_wpa_sm_for_each_partner_link
    - clear_wpa_sm_for_all_sta
    - accounting_sta_stop
    linkageType: ''
    returnType: void
    signature: "void ap_sta_disconnect_common(struct hostapd_data *hapd,\n\t\t\t\t
      \    struct sta_info *sta, unsigned int timeout,\n\t\t\t\t     bool free_1x)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/sta_info.c:1066,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/sta_info.c:1067,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - hapd
    - sta
    - reason
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 1061
    functionDepth: 0
    functionLinenumber: 1061
    functionLinenumberEnd: 1070
    functionName: ap_sta_disassociate_common
    functionSourceFile: /src/hostap/src/ap/sta_info.c
    functionUses: 0
    functionsReached:
    - eloop_cancel_timeout
    - eloop_register_timeout
    linkageType: ''
    returnType: void
    signature: "void ap_sta_disassociate_common(struct hostapd_data *hapd,\n\t\t\t\t
      \      struct sta_info *sta, u16 reason)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/sta_info.c:1076,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/sta_info.c:1077,1
    - Dst: ap_sta_disconnect_common
      Src: /src/hostap/src/ap/sta_info.c:1090,1
    - Dst: ap_sta_disassociate_common
      Src: /src/hostap/src/ap/sta_info.c:1092,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - hapd
    - sta
    - reason
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1093
      start: 1073
    functionDepth: 5
    functionLinenumber: 1073
    functionLinenumberEnd: 1093
    functionName: ap_sta_handle_disassociate
    functionSourceFile: /src/hostap/src/ap/sta_info.c
    functionUses: 0
    functionsReached:
    - ap_sta_disassociate_common
    - MAC2STR
    - wpa_printf
    - ap_sta_disconnect_common
    linkageType: ''
    returnType: void
    signature: "void ap_sta_handle_disassociate(struct hostapd_data *hapd,\n\t\t\t\t
      \      struct sta_info *sta, u16 reason)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/sta_info.c:1101,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/sta_info.c:1102,1
    - Dst: ap_sta_remove
      Src: /src/hostap/src/ap/sta_info.c:1103,1
    - Dst: mlme_deauthenticate_indication
      Src: /src/hostap/src/ap/sta_info.c:1104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 1096
    functionDepth: 3
    functionLinenumber: 1096
    functionLinenumberEnd: 1105
    functionName: ap_sta_deauth_cb_timeout
    functionSourceFile: /src/hostap/src/ap/sta_info.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    - mlme_deauthenticate_indication
    - ap_sta_remove
    linkageType: ''
    returnType: void
    signature: void ap_sta_deauth_cb_timeout(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/sta_info.c:1113,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/sta_info.c:1114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - hapd
    - sta
    - reason
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1108
    functionDepth: 0
    functionLinenumber: 1108
    functionLinenumberEnd: 1117
    functionName: ap_sta_deauthenticate_common
    functionSourceFile: /src/hostap/src/ap/sta_info.c
    functionUses: 0
    functionsReached:
    - eloop_cancel_timeout
    - eloop_register_timeout
    linkageType: ''
    returnType: void
    signature: "void ap_sta_deauthenticate_common(struct hostapd_data *hapd,\n\t\t\t\t\t
      struct sta_info *sta, u16 reason)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/sta_info.c:1123,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/sta_info.c:1124,1
    - Dst: ap_sta_disconnect_common
      Src: /src/hostap/src/ap/sta_info.c:1129,1
    - Dst: ap_sta_deauthenticate_common
      Src: /src/hostap/src/ap/sta_info.c:1131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - hapd
    - sta
    - reason
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1132
      start: 1120
    functionDepth: 5
    functionLinenumber: 1120
    functionLinenumberEnd: 1132
    functionName: ap_sta_handle_deauthenticate
    functionSourceFile: /src/hostap/src/ap/sta_info.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    - ap_sta_deauthenticate_common
    - ap_sta_disconnect_common
    linkageType: ''
    returnType: void
    signature: "void ap_sta_handle_deauthenticate(struct hostapd_data *hapd,\n\t\t\t\t\t
      struct sta_info *sta, u16 reason)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/sta_info.c:1138,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/sta_info.c:1139,1
    - Dst: wpa_auth_sm_event
      Src: /src/hostap/src/ap/sta_info.c:1142,1
    - Dst: ieee802_1x_notify_port_enabled
      Src: /src/hostap/src/ap/sta_info.c:1143,1
    - Dst: ap_sta_disconnect_common
      Src: /src/hostap/src/ap/sta_info.c:1146,1
    - Dst: ap_sta_deauthenticate_common
      Src: /src/hostap/src/ap/sta_info.c:1148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - hapd
    - sta
    - reason
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1135
    functionDepth: 5
    functionLinenumber: 1135
    functionLinenumberEnd: 1149
    functionName: ap_sta_handle_disconnect
    functionSourceFile: /src/hostap/src/ap/sta_info.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - ap_sta_disconnect_common
    - wpa_auth_sm_event
    - MAC2STR
    - ap_sta_deauthenticate_common
    - ieee802_1x_notify_port_enabled
    linkageType: ''
    returnType: void
    signature: "void ap_sta_handle_disconnect(struct hostapd_data *hapd,\n\t\t\t\t
      \    struct sta_info *sta, u16 reason)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_is_multiple_link_mld
      Src: /src/hostap/src/ap/sta_info.c:1168,1
    - Dst: hostapd_ml_get_assoc_sta
      Src: /src/hostap/src/ap/sta_info.c:1175,1
    - Dst: hostapd_is_ml_partner
      Src: /src/hostap/src/ap/sta_info.c:1189,1
    - Dst: ap_sta_handle_disassociate
      Src: /src/hostap/src/ap/sta_info.c:1210,1
    - Dst: ap_sta_handle_deauthenticate
      Src: /src/hostap/src/ap/sta_info.c:1214,1
    - Dst: ap_sta_handle_disconnect
      Src: /src/hostap/src/ap/sta_info.c:1218,1
    - Dst: ap_sta_handle_disassociate
      Src: /src/hostap/src/ap/sta_info.c:1228,1
    - Dst: ap_sta_handle_deauthenticate
      Src: /src/hostap/src/ap/sta_info.c:1230,1
    - Dst: ap_sta_handle_disconnect
      Src: /src/hostap/src/ap/sta_info.c:1232,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 35
    argCount: 4
    argNames:
    - hapd
    - sta
    - reason
    - op
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u16
    - enum ap_sta_disconnect_op
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1158
    functionDepth: 6
    functionLinenumber: 1158
    functionLinenumberEnd: 1238
    functionName: ap_sta_ml_disconnect
    functionSourceFile: /src/hostap/src/ap/sta_info.c
    functionUses: 0
    functionsReached:
    - ap_sta_handle_disassociate
    - ap_sta_handle_deauthenticate
    - hostapd_ml_get_assoc_sta
    - hostapd_is_multiple_link_mld
    - hostapd_is_ml_partner
    - ap_sta_handle_disconnect
    linkageType: ''
    returnType: bool
    signature: "bool ap_sta_ml_disconnect(struct hostapd_data *hapd,\n\t\t\t\t struct
      sta_info *sta, u16 reason,\n\t\t\t\t enum ap_sta_disconnect_op op)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_sta_ml_disconnect
      Src: /src/hostap/src/ap/sta_info.c:1244,1
    - Dst: ap_sta_handle_disassociate
      Src: /src/hostap/src/ap/sta_info.c:1247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - hapd
    - sta
    - reason
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1248
      start: 1241
    functionDepth: 7
    functionLinenumber: 1241
    functionLinenumberEnd: 1248
    functionName: ap_sta_disassociate
    functionSourceFile: /src/hostap/src/ap/sta_info.c
    functionUses: 2
    functionsReached:
    - ap_sta_ml_disconnect
    - ap_sta_handle_disassociate
    linkageType: ''
    returnType: void
    signature: "void ap_sta_disassociate(struct hostapd_data *hapd, struct sta_info
      *sta,\n\t\t\t u16 reason)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_sta_disassociate
      Src: /src/hostap/src/ap/sta_info.c:1258,1
    - Dst: ap_sta_ml_disconnect
      Src: /src/hostap/src/ap/sta_info.c:1262,1
    - Dst: ap_sta_handle_deauthenticate
      Src: /src/hostap/src/ap/sta_info.c:1265,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - hapd
    - sta
    - reason
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1266
      start: 1251
    functionDepth: 8
    functionLinenumber: 1251
    functionLinenumberEnd: 1266
    functionName: ap_sta_deauthenticate
    functionSourceFile: /src/hostap/src/ap/sta_info.c
    functionUses: 4
    functionsReached:
    - ap_sta_handle_deauthenticate
    - ap_sta_ml_disconnect
    - ap_sta_disassociate
    linkageType: ''
    returnType: void
    signature: "void ap_sta_deauthenticate(struct hostapd_data *hapd, struct sta_info
      *sta,\n\t\t\t   u16 reason)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_sta_deauthenticate
      Src: /src/hostap/src/ap/sta_info.c:1274,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/sta_info.c:1276,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/sta_info.c:1277,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - hapd
    - sta
    - ctx
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1282
      start: 1270
    functionDepth: 9
    functionLinenumber: 1270
    functionLinenumberEnd: 1282
    functionName: ap_sta_wps_cancel
    functionSourceFile: /src/hostap/src/ap/sta_info.c
    functionUses: 0
    functionsReached:
    - ap_sta_deauthenticate
    - wpa_printf
    - MAC2STR
    linkageType: ''
    returnType: int
    signature: "int ap_sta_wps_cancel(struct hostapd_data *hapd,\n\t\t      struct
      sta_info *sta, void *ctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_mld_get_first_bss
      Src: /src/hostap/src/ap/sta_info.c:1294,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1308
      start: 1286
    functionDepth: 1
    functionLinenumber: 1286
    functionLinenumberEnd: 1308
    functionName: ap_sta_get_free_vlan_id
    functionSourceFile: /src/hostap/src/ap/sta_info.c
    functionUses: 0
    functionsReached:
    - hostapd_mld_get_first_bss
    linkageType: ''
    returnType: int
    signature: int ap_sta_get_free_vlan_id(struct hostapd_data *hapd)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_mld_get_first_bss
      Src: /src/hostap/src/ap/sta_info.c:1321,1
    - Dst: vlan_compare
      Src: /src/hostap/src/ap/sta_info.c:1333,1
    - Dst: ap_sta_get_free_vlan_id
      Src: /src/hostap/src/ap/sta_info.c:1341,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/sta_info.c:1348,1
    - Dst: vlan_compare
      Src: /src/hostap/src/ap/sta_info.c:1358,1
    - Dst: ap_sta_get_free_vlan_id
      Src: /src/hostap/src/ap/sta_info.c:1370,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/sta_info.c:1373,1
    - Dst: vlan_add_dynamic
      Src: /src/hostap/src/ap/sta_info.c:1386,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/sta_info.c:1388,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/sta_info.c:1400,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/sta_info.c:1406,1
    - Dst: vlan_remove_dynamic
      Src: /src/hostap/src/ap/sta_info.c:1418,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 74
    argCount: 3
    argNames:
    - hapd
    - sta
    - vlan_desc
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - struct vlan_description*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1421
      start: 1311
    functionDepth: 2
    functionLinenumber: 1311
    functionLinenumberEnd: 1421
    functionName: ap_sta_set_vlan_helper
    functionSourceFile: /src/hostap/src/ap/sta_info.c
    functionUses: 0
    functionsReached:
    - hostapd_mld_get_first_bss
    - hostapd_logger
    - vlan_remove_dynamic
    - vlan_compare
    - vlan_add_dynamic
    - ap_sta_get_free_vlan_id
    linkageType: ''
    returnType: int
    signature: "int ap_sta_set_vlan_helper(struct hostapd_data *hapd,\n\t\t\t\t  struct
      sta_info *sta,\n\t\t\t\t  struct vlan_description *vlan_desc)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_sta_set_vlan_helper
      Src: /src/hostap/src/ap/sta_info.c:1433,1
    - Dst: hostapd_is_ml_partner
      Src: /src/hostap/src/ap/sta_info.c:1443,1
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/sta_info.c:1446,1
    - Dst: ap_sta_set_vlan_helper
      Src: /src/hostap/src/ap/sta_info.c:1448,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - hapd
    - sta
    - vlan_desc
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - struct vlan_description*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1454
      start: 1424
    functionDepth: 3
    functionLinenumber: 1424
    functionLinenumberEnd: 1454
    functionName: ap_sta_set_vlan
    functionSourceFile: /src/hostap/src/ap/sta_info.c
    functionUses: 2
    functionsReached:
    - ap_sta_set_vlan_helper
    - hostapd_is_ml_partner
    - ap_get_sta
    linkageType: ''
    returnType: int
    signature: "int ap_sta_set_vlan(struct hostapd_data *hapd, struct sta_info *sta,\n\t\t
      \   struct vlan_description *vlan_desc)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_mld_get_first_bss
      Src: /src/hostap/src/ap/sta_info.c:1471,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/sta_info.c:1478,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/sta_info.c:1480,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/sta_info.c:1507,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/sta_info.c:1515,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/sta_info.c:1526,1
    - Dst: wpa_auth_sta_set_vlan
      Src: /src/hostap/src/ap/sta_info.c:1530,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/sta_info.c:1532,1
    - Dst: hostapd_drv_set_sta_vlan
      Src: /src/hostap/src/ap/sta_info.c:1534,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/sta_info.c:1537,1
    - Dst: vlan_remove_dynamic
      Src: /src/hostap/src/ap/sta_info.c:1544,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 51
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1551
      start: 1457
    functionDepth: 6
    functionLinenumber: 1457
    functionLinenumberEnd: 1551
    functionName: ap_sta_bind_vlan_helper
    functionSourceFile: /src/hostap/src/ap/sta_info.c
    functionUses: 0
    functionsReached:
    - hostapd_mld_get_first_bss
    - wpa_printf
    - hostapd_logger
    - vlan_remove_dynamic
    - MAC2STR
    - wpa_auth_sta_set_vlan
    - hostapd_drv_set_sta_vlan
    linkageType: ''
    returnType: int
    signature: "int ap_sta_bind_vlan_helper(struct hostapd_data *hapd,\n\t\t\t\t   struct
      sta_info *sta)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_sta_bind_vlan_helper
      Src: /src/hostap/src/ap/sta_info.c:1562,1
    - Dst: hostapd_is_ml_partner
      Src: /src/hostap/src/ap/sta_info.c:1572,1
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/sta_info.c:1575,1
    - Dst: ap_sta_bind_vlan_helper
      Src: /src/hostap/src/ap/sta_info.c:1577,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1582
      start: 1554
    functionDepth: 7
    functionLinenumber: 1554
    functionLinenumberEnd: 1582
    functionName: ap_sta_bind_vlan
    functionSourceFile: /src/hostap/src/ap/sta_info.c
    functionUses: 3
    functionsReached:
    - ap_sta_bind_vlan_helper
    - hostapd_is_ml_partner
    - ap_get_sta
    linkageType: ''
    returnType: int
    signature: int ap_sta_bind_vlan(struct hostapd_data *hapd, struct sta_info *sta)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_sta_is_mld
      Src: /src/hostap/src/ap/sta_info.c:1590,1
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/sta_info.c:1599,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - hapd
    - sta
    - value
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1605
      start: 1585
    functionDepth: 2
    functionLinenumber: 1585
    functionLinenumberEnd: 1605
    functionName: ap_sta_set_sa_query_timeout
    functionSourceFile: /src/hostap/src/ap/sta_info.c
    functionUses: 0
    functionsReached:
    - ap_sta_is_mld
    - ap_get_sta
    linkageType: ''
    returnType: void
    signature: "void ap_sta_set_sa_query_timeout(struct hostapd_data *hapd,\n\t\t\t\t
      struct sta_info *sta, int value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/sta_info.c:1599,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1602
      start: 1593
    functionDepth: 2
    functionLinenumber: 1593
    functionLinenumberEnd: 1602
    functionName: for_each_mld_link
    functionSourceFile: /src/hostap/src/ap/sta_info.c
    functionUses: 1
    functionsReached:
    - ap_get_sta
    linkageType: ''
    returnType: void
    signature: void for_each_mld_link(lhapd, hapd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_get_reltime
      Src: /src/hostap/src/ap/sta_info.c:1612,1
    - Dst: os_reltime_sub
      Src: /src/hostap/src/ap/sta_info.c:1613,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/sta_info.c:1616,1
    - Dst: ap_sta_set_sa_query_timeout
      Src: /src/hostap/src/ap/sta_info.c:1620,1
    - Dst: os_free
      Src: /src/hostap/src/ap/sta_info.c:1621,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/sta_info.c:1624,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1629
      start: 1608
    functionDepth: 3
    functionLinenumber: 1608
    functionLinenumberEnd: 1629
    functionName: ap_check_sa_query_timeout
    functionSourceFile: /src/hostap/src/ap/sta_info.c
    functionUses: 0
    functionsReached:
    - os_get_reltime
    - eloop_cancel_timeout
    - hostapd_logger
    - ap_sta_set_sa_query_timeout
    - os_reltime_sub
    - os_free
    linkageType: ''
    returnType: int
    signature: int ap_check_sa_query_timeout(struct hostapd_data *hapd, struct sta_info
      *sta)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/sta_info.c:1639,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/sta_info.c:1641,1
    - Dst: ap_check_sa_query_timeout
      Src: /src/hostap/src/ap/sta_info.c:1644,1
    - Dst: os_realloc_array
      Src: /src/hostap/src/ap/sta_info.c:1649,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/ap/sta_info.c:1656,1
    - Dst: os_get_random
      Src: /src/hostap/src/ap/sta_info.c:1662,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/sta_info.c:1675,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/sta_info.c:1677,1
    - Dst: ieee802_11_send_sa_query_req
      Src: /src/hostap/src/ap/sta_info.c:1681,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1682
      start: 1632
    functionDepth: 4
    functionLinenumber: 1632
    functionLinenumberEnd: 1682
    functionName: ap_sa_query_timer
    functionSourceFile: /src/hostap/src/ap/sta_info.c
    functionUses: 0
    functionsReached:
    - os_get_reltime
    - wpa_printf
    - ieee802_11_send_sa_query_req
    - ap_check_sa_query_timeout
    - os_get_random
    - hostapd_logger
    - MAC2STR
    - eloop_register_timeout
    - os_realloc_array
    linkageType: ''
    returnType: void
    signature: void ap_sa_query_timer(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_sa_query_timer
      Src: /src/hostap/src/ap/sta_info.c:1687,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1688
      start: 1685
    functionDepth: 5
    functionLinenumber: 1685
    functionLinenumberEnd: 1688
    functionName: ap_sta_start_sa_query
    functionSourceFile: /src/hostap/src/ap/sta_info.c
    functionUses: 0
    functionsReached:
    - ap_sa_query_timer
    linkageType: ''
    returnType: void
    signature: void ap_sta_start_sa_query(struct hostapd_data *hapd, struct sta_info
      *sta)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/sta_info.c:1693,1
    - Dst: os_free
      Src: /src/hostap/src/ap/sta_info.c:1694,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1697
      start: 1691
    functionDepth: 0
    functionLinenumber: 1691
    functionLinenumberEnd: 1697
    functionName: ap_sta_stop_sa_query
    functionSourceFile: /src/hostap/src/ap/sta_info.c
    functionUses: 1
    functionsReached:
    - eloop_cancel_timeout
    - os_free
    linkageType: ''
    returnType: void
    signature: void ap_sta_stop_sa_query(struct hostapd_data *hapd, struct sta_info
      *sta)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_auth_get_pmk
      Src: /src/hostap/src/ap/sta_info.c:1710,1
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/sta_info.c:1715,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1721
      start: 1700
    functionDepth: 1
    functionLinenumber: 1700
    functionLinenumberEnd: 1721
    functionName: ap_sta_wpa_get_keyid
    functionSourceFile: /src/hostap/src/ap/sta_info.c
    functionUses: 1
    functionsReached:
    - wpa_auth_get_pmk
    - os_memcmp
    linkageType: ''
    returnType: char
    signature: "char * ap_sta_wpa_get_keyid(struct hostapd_data *hapd,\n\t\t\t\t  struct
      sta_info *sta)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_auth_get_dpp_pkhash
      Src: /src/hostap/src/ap/sta_info.c:1727,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1728
      start: 1724
    functionDepth: 1
    functionLinenumber: 1724
    functionLinenumberEnd: 1728
    functionName: ap_sta_wpa_get_dpp_pkhash
    functionSourceFile: /src/hostap/src/ap/sta_info.c
    functionUses: 1
    functionsReached:
    - wpa_auth_get_dpp_pkhash
    linkageType: ''
    returnType: u8
    signature: "u8 * ap_sta_wpa_get_dpp_pkhash(struct hostapd_data *hapd,\n\t\t\t\t
      \    struct sta_info *sta)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_sta_is_mld
      Src: /src/hostap/src/ap/sta_info.c:1741,1
    - Dst: hostapd_prune_associations
      Src: /src/hostap/src/ap/sta_info.c:1749,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - hapd
    - sta
    - authorized
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1757
      start: 1731
    functionDepth: 1
    functionLinenumber: 1731
    functionLinenumberEnd: 1757
    functionName: ap_sta_set_authorized_flag
    functionSourceFile: /src/hostap/src/ap/sta_info.c
    functionUses: 1
    functionsReached:
    - ap_sta_is_mld
    - hostapd_prune_associations
    linkageType: ''
    returnType: bool
    signature: "bool ap_sta_set_authorized_flag(struct hostapd_data *hapd, struct
      sta_info *sta,\n\t\t\t\tint authorized)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: p2p_parse_dev_addr_in_p2p_ie
      Src: /src/hostap/src/ap/sta_info.c:1774,1
    - Dst: p2p_group_get_dev_addr
      Src: /src/hostap/src/ap/sta_info.c:1777,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/sta_info.c:1780,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/sta_info.c:1781,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/sta_info.c:1781,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/sta_info.c:1784,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/sta_info.c:1784,1
    - Dst: wpa_auth_get_ip_addr
      Src: /src/hostap/src/ap/sta_info.c:1800,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/sta_info.c:1801,1
    - Dst: ap_sta_wpa_get_keyid
      Src: /src/hostap/src/ap/sta_info.c:1809,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/sta_info.c:1811,1
    - Dst: ap_sta_wpa_get_dpp_pkhash
      Src: /src/hostap/src/ap/sta_info.c:1815,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/sta_info.c:1818,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/ap/sta_info.c:1820,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/ap/sta_info.c:1822,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/sta_info.c:1829,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/sta_info.c:1833,1
    - Dst: wpa_msg_no_global
      Src: /src/hostap/src/ap/sta_info.c:1838,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/sta_info.c:1843,1
    - Dst: wpa_msg_no_global
      Src: /src/hostap/src/ap/sta_info.c:1847,1
    - Dst: struct hostapd_data*::sta_authorized_cb
      Src: /src/hostap/src/ap/sta_info.c:1852,1
    - Dst: fst_notify_peer_connected
      Src: /src/hostap/src/ap/sta_info.c:1859,1
    - Dst: fst_notify_peer_disconnected
      Src: /src/hostap/src/ap/sta_info.c:1861,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 44
    argCount: 3
    argNames:
    - hapd
    - sta
    - authorized
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1865
      start: 1760
    functionDepth: 2
    functionLinenumber: 1760
    functionLinenumberEnd: 1865
    functionName: ap_sta_set_authorized_event
    functionSourceFile: /src/hostap/src/ap/sta_info.c
    functionUses: 1
    functionsReached:
    - os_strlen
    - wpa_msg_no_global
    - struct hostapd_data*::sta_authorized_cb
    - wpa_snprintf_hex
    - p2p_group_get_dev_addr
    - wpa_msg
    - p2p_parse_dev_addr_in_p2p_ie
    - wpa_auth_get_ip_addr
    - os_strlcpy
    - fst_notify_peer_disconnected
    - os_snprintf
    - MAC2STR
    - ap_sta_wpa_get_keyid
    - ap_sta_wpa_get_dpp_pkhash
    - fst_notify_peer_connected
    linkageType: ''
    returnType: void
    signature: "void ap_sta_set_authorized_event(struct hostapd_data *hapd,\n\t\t\t\t
      struct sta_info *sta, int authorized)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_sta_set_authorized_flag
      Src: /src/hostap/src/ap/sta_info.c:1871,1
    - Dst: ap_sta_set_authorized_event
      Src: /src/hostap/src/ap/sta_info.c:1873,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - hapd
    - sta
    - authorized
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1875
      start: 1868
    functionDepth: 3
    functionLinenumber: 1868
    functionLinenumberEnd: 1875
    functionName: ap_sta_set_authorized
    functionSourceFile: /src/hostap/src/ap/sta_info.c
    functionUses: 4
    functionsReached:
    - ap_sta_set_authorized_flag
    - ap_sta_set_authorized_event
    linkageType: ''
    returnType: bool
    signature: "bool ap_sta_set_authorized(struct hostapd_data *hapd, struct sta_info
      *sta,\n\t\t\t   int authorized)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/sta_info.c:1882,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/sta_info.c:1883,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/sta_info.c:1886,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/sta_info.c:1887,1
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/sta_info.c:1891,1
    - Dst: hostapd_drv_sta_deauth
      Src: /src/hostap/src/ap/sta_info.c:1894,1
    - Dst: ap_sta_disassociate_common
      Src: /src/hostap/src/ap/sta_info.c:1903,1
    - Dst: ap_sta_ml_disconnect
      Src: /src/hostap/src/ap/sta_info.c:1907,1
    - Dst: ap_sta_handle_disconnect
      Src: /src/hostap/src/ap/sta_info.c:1910,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 4
    argNames:
    - hapd
    - sta
    - addr
    - reason
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u8*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1911
      start: 1878
    functionDepth: 7
    functionLinenumber: 1878
    functionLinenumberEnd: 1911
    functionName: ap_sta_disconnect
    functionSourceFile: /src/hostap/src/ap/sta_info.c
    functionUses: 4
    functionsReached:
    - wpa_printf
    - hostapd_drv_sta_deauth
    - MAC2STR
    - ap_sta_ml_disconnect
    - ap_sta_disassociate_common
    - ap_sta_handle_disconnect
    - ap_get_sta
    linkageType: ''
    returnType: void
    signature: "void ap_sta_disconnect(struct hostapd_data *hapd, struct sta_info
      *sta,\n\t\t       const u8 *addr, u16 reason)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/sta_info.c:1917,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/sta_info.c:1921,1
    - Dst: ap_sta_deauth_cb_timeout
      Src: /src/hostap/src/ap/sta_info.c:1922,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1923
      start: 1914
    functionDepth: 4
    functionLinenumber: 1914
    functionLinenumberEnd: 1923
    functionName: ap_sta_deauth_cb
    functionSourceFile: /src/hostap/src/ap/sta_info.c
    functionUses: 0
    functionsReached:
    - eloop_cancel_timeout
    - ap_sta_deauth_cb_timeout
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void ap_sta_deauth_cb(struct hostapd_data *hapd, struct sta_info *sta)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/sta_info.c:1929,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/sta_info.c:1933,1
    - Dst: ap_sta_disassoc_cb_timeout
      Src: /src/hostap/src/ap/sta_info.c:1934,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1935
      start: 1926
    functionDepth: 4
    functionLinenumber: 1926
    functionLinenumberEnd: 1935
    functionName: ap_sta_disassoc_cb
    functionSourceFile: /src/hostap/src/ap/sta_info.c
    functionUses: 0
    functionsReached:
    - eloop_cancel_timeout
    - ap_sta_disassoc_cb_timeout
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void ap_sta_disassoc_cb(struct hostapd_data *hapd, struct sta_info
      *sta)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/sta_info.c:1941,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/sta_info.c:1942,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/sta_info.c:1945,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/sta_info.c:1946,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/sta_info.c:1947,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/sta_info.c:1950,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/sta_info.c:1951,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/sta_info.c:1953,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/sta_info.c:1956,1
    - Dst: hostapd_wps_eap_completed
      Src: /src/hostap/src/ap/sta_info.c:1958,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1960
      start: 1938
    functionDepth: 1
    functionLinenumber: 1938
    functionLinenumberEnd: 1960
    functionName: ap_sta_clear_disconnect_timeouts
    functionSourceFile: /src/hostap/src/ap/sta_info.c
    functionUses: 1
    functionsReached:
    - eloop_cancel_timeout
    - MAC2STR
    - wpa_printf
    - hostapd_wps_eap_completed
    linkageType: ''
    returnType: void
    signature: "void ap_sta_clear_disconnect_timeouts(struct hostapd_data *hapd,\n\t\t\t\t
      \     struct sta_info *sta)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/sta_info.c:1966,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1967
      start: 1963
    functionDepth: 0
    functionLinenumber: 1963
    functionLinenumberEnd: 1967
    functionName: ap_sta_clear_assoc_timeout
    functionSourceFile: /src/hostap/src/ap/sta_info.c
    functionUses: 1
    functionsReached:
    - eloop_cancel_timeout
    linkageType: ''
    returnType: void
    signature: "void ap_sta_clear_assoc_timeout(struct hostapd_data *hapd,\n\t\t\t\tstruct
      sta_info *sta)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/sta_info.c:1975,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/sta_info.c:2002,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - flags
    - buf
    - buflen
    argTypes:
    - unsigned long long
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2006
      start: 1970
    functionDepth: 1
    functionLinenumber: 1970
    functionLinenumberEnd: 2006
    functionName: ap_sta_flags_txt
    functionSourceFile: /src/hostap/src/ap/sta_info.c
    functionUses: 1
    functionsReached:
    - os_snprintf
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: int ap_sta_flags_txt(unsigned long long flags, char *buf, size_t buflen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/src/ap/sta_info.c:2015,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/sta_info.c:2017,1
    - Dst: ap_sta_disconnect
      Src: /src/hostap/src/ap/sta_info.c:2022,1
    - Dst: hostapd_wps_eap_completed
      Src: /src/hostap/src/ap/sta_info.c:2024,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2025
      start: 2009
    functionDepth: 8
    functionLinenumber: 2009
    functionLinenumberEnd: 2025
    functionName: ap_sta_delayed_1x_auth_fail_cb
    functionSourceFile: /src/hostap/src/ap/sta_info.c
    functionUses: 0
    functionsReached:
    - hostapd_wps_eap_completed
    - MAC2STR
    - ap_sta_disconnect
    - wpa_dbg
    linkageType: ''
    returnType: void
    signature: void ap_sta_delayed_1x_auth_fail_cb(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/src/ap/sta_info.c:2032,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/sta_info.c:2034,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/sta_info.c:2041,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/sta_info.c:2042,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - hapd
    - sta
    - timeout
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2044
      start: 2028
    functionDepth: 1
    functionLinenumber: 2028
    functionLinenumberEnd: 2044
    functionName: ap_sta_delayed_1x_auth_fail_disconnect
    functionSourceFile: /src/hostap/src/ap/sta_info.c
    functionUses: 1
    functionsReached:
    - eloop_cancel_timeout
    - MAC2STR
    - eloop_register_timeout
    - wpa_dbg
    linkageType: ''
    returnType: void
    signature: "void ap_sta_delayed_1x_auth_fail_disconnect(struct hostapd_data *hapd,\n\t\t\t\t\t
      \   struct sta_info *sta,\n\t\t\t\t\t    unsigned timeout)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eloop_is_timeout_registered
      Src: /src/hostap/src/ap/sta_info.c:2050,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2052
      start: 2047
    functionDepth: 0
    functionLinenumber: 2047
    functionLinenumberEnd: 2052
    functionName: ap_sta_pending_delayed_1x_auth_fail_disconnect
    functionSourceFile: /src/hostap/src/ap/sta_info.c
    functionUses: 1
    functionsReached:
    - eloop_is_timeout_registered
    linkageType: ''
    returnType: int
    signature: "int ap_sta_pending_delayed_1x_auth_fail_disconnect(struct hostapd_data
      *hapd,\n\t\t\t\t\t\t   struct sta_info *sta)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/sta_info.c:2070,1
    - Dst: ap_free_sta
      Src: /src/hostap/src/ap/sta_info.c:2073,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2077
      start: 2056
    functionDepth: 12
    functionLinenumber: 2056
    functionLinenumberEnd: 2077
    functionName: ap_sta_remove_link_sta
    functionSourceFile: /src/hostap/src/ap/sta_info.c
    functionUses: 0
    functionsReached:
    - ap_free_sta
    - ether_addr_equal
    linkageType: ''
    returnType: void
    signature: "void ap_sta_remove_link_sta(struct hostapd_data *hapd,\n\t\t\t\t   struct
      sta_info *sta)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/sta_info.c:2070,1
    - Dst: ap_free_sta
      Src: /src/hostap/src/ap/sta_info.c:2073,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2076
      start: 2061
    functionDepth: 12
    functionLinenumber: 2061
    functionLinenumberEnd: 2076
    functionName: for_each_mld_link
    functionSourceFile: /src/hostap/src/ap/sta_info.c
    functionUses: 1
    functionsReached:
    - ap_free_sta
    - ether_addr_equal
    linkageType: ''
    returnType: void
    signature: void for_each_mld_link(tmp_hapd, hapd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_sta_is_mld
      Src: /src/hostap/src/ap/sta_info.c:2099,1
    - Dst: ap_sta_remove_link_sta
      Src: /src/hostap/src/ap/sta_info.c:2110,1
    - Dst: ap_sta_set_authorized
      Src: /src/hostap/src/ap/sta_info.c:2114,1
    - Dst: hostapd_drv_sta_remove
      Src: /src/hostap/src/ap/sta_info.c:2115,1
    - Dst: hostapd_sta_add
      Src: /src/hostap/src/ap/sta_info.c:2118,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/sta_info.c:2124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2133
      start: 2081
    functionDepth: 13
    functionLinenumber: 2081
    functionLinenumberEnd: 2133
    functionName: ap_sta_re_add
    functionSourceFile: /src/hostap/src/ap/sta_info.c
    functionUses: 0
    functionsReached:
    - ap_sta_is_mld
    - hostapd_drv_sta_remove
    - hostapd_logger
    - ap_sta_set_authorized
    - ap_sta_remove_link_sta
    - hostapd_sta_add
    linkageType: ''
    returnType: int
    signature: int ap_sta_re_add(struct hostapd_data *hapd, struct sta_info *sta)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/ap/sta_info.c:2145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - info
    argTypes:
    - struct mld_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2148
      start: 2137
    functionDepth: 0
    functionLinenumber: 2137
    functionLinenumberEnd: 2148
    functionName: ap_sta_free_sta_profile
    functionSourceFile: /src/hostap/src/ap/sta_info.c
    functionUses: 4
    functionsReached:
    - os_free
    linkageType: ''
    returnType: void
    signature: void ap_sta_free_sta_profile(struct mld_info *info)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - hapd
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: OCE_STA_CFON_ENABLED
    functionSourceFile: /src/hostap/src/ap/hostapd.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OCE_STA_CFON_ENABLED(hapd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - hapd
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: OCE_AP_ENABLED
    functionSourceFile: /src/hostap/src/ap/hostapd.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OCE_AP_ENABLED(hapd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sta
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 210
    functionName: STA_HASH
    functionSourceFile: /src/hostap/src/ap/hostapd.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STA_HASH(sta)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - iface
    - psd
    - power
    argTypes:
    - struct hostapd_iface*
    - bool
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 862
    functionDepth: 0
    functionLinenumber: 862
    functionLinenumberEnd: 867
    functionName: hostap_afc_get_chan_max_eirp_power
    functionSourceFile: /src/hostap/src/ap/hostapd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int hostap_afc_get_chan_max_eirp_power(struct hostapd_iface *iface,
      bool psd,\n\t\t\t\t   int *power)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 869
    functionDepth: 0
    functionLinenumber: 869
    functionLinenumberEnd: 872
    functionName: hostapd_afc_handle_request
    functionSourceFile: /src/hostap/src/ap/hostapd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int hostapd_afc_handle_request(struct hostapd_iface *iface)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 874
    functionDepth: 0
    functionLinenumber: 874
    functionLinenumberEnd: 876
    functionName: hostapd_afc_send_request
    functionSourceFile: /src/hostap/src/ap/hostapd.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void hostapd_afc_send_request(struct hostapd_iface *iface)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 878
    functionDepth: 0
    functionLinenumber: 878
    functionLinenumberEnd: 880
    functionName: hostapd_afc_stop
    functionSourceFile: /src/hostap/src/ap/hostapd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void hostapd_afc_stop(struct hostapd_iface *iface)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 882
    functionDepth: 0
    functionLinenumber: 882
    functionLinenumberEnd: 884
    functionName: hostap_afc_disable_channels
    functionSourceFile: /src/hostap/src/ap/hostapd.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void hostap_afc_disable_channels(struct hostapd_iface *iface)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - partner
    - ','
    - self
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 968
    functionDepth: 0
    functionLinenumber: 968
    functionLinenumberEnd: 970
    functionName: for_each_mld_link
    functionSourceFile: /src/hostap/src/ap/hostapd.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: for_each_mld_link(partner, self)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 976
      start: 973
    functionDepth: 0
    functionLinenumber: 973
    functionLinenumberEnd: 976
    functionName: hostapd_mld_is_first_bss
    functionSourceFile: /src/hostap/src/ap/hostapd.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hostapd_mld_is_first_bss(struct hostapd_data *hapd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - partner
    - ','
    - self
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 978
    functionDepth: 0
    functionLinenumber: 978
    functionLinenumberEnd: 980
    functionName: for_each_mld_link
    functionSourceFile: /src/hostap/src/ap/hostapd.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: for_each_mld_link(partner, self)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - conf
    argTypes:
    - struct hostapd_bss_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 999
      start: 994
    functionDepth: 0
    functionLinenumber: 994
    functionLinenumberEnd: 999
    functionName: ap_pmf_enabled
    functionSourceFile: /src/hostap/src/ap/hostapd.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ap_pmf_enabled(struct hostapd_bss_config *conf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 1010
    functionDepth: 0
    functionLinenumber: 1010
    functionLinenumberEnd: 1014
    functionName: hostapd_is_ht_enabled
    functionSourceFile: /src/hostap/src/ap/hostapd.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hostapd_is_ht_enabled(struct hostapd_data *hapd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1020
      start: 1016
    functionDepth: 0
    functionLinenumber: 1016
    functionLinenumberEnd: 1020
    functionName: hostapd_is_vht_enabled
    functionSourceFile: /src/hostap/src/ap/hostapd.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hostapd_is_vht_enabled(struct hostapd_data *hapd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 1022
    functionDepth: 0
    functionLinenumber: 1022
    functionLinenumberEnd: 1026
    functionName: hostapd_is_he_enabled
    functionSourceFile: /src/hostap/src/ap/hostapd.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hostapd_is_he_enabled(struct hostapd_data *hapd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 1028
    functionDepth: 0
    functionLinenumber: 1028
    functionLinenumberEnd: 1032
    functionName: hostapd_is_eht_enabled
    functionSourceFile: /src/hostap/src/ap/hostapd.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hostapd_is_eht_enabled(struct hostapd_data *hapd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1038
      start: 1034
    functionDepth: 0
    functionLinenumber: 1034
    functionLinenumberEnd: 1038
    functionName: hostapd_is_uhr_enabled
    functionSourceFile: /src/hostap/src/ap/hostapd.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hostapd_is_uhr_enabled(struct hostapd_data *hapd)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - hapd
    - opmode
    argTypes:
    - struct hostapd_data*
    - enum ieee80211_op_mode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 36
    functionName: hostapd_eid_uhr_capab_len
    functionSourceFile: /src/hostap/src/ap/ieee802_11_uhr.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t hostapd_eid_uhr_capab_len(struct hostapd_data *hapd,\n\t\t\t\t
      enum ieee80211_op_mode opmode)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_uhr.c:66,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_uhr.c:67,1
    - Dst: is_6ghz_op_class
      Src: /src/hostap/src/ap/ieee802_11_uhr.c:85,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 3
    argNames:
    - hapd
    - eid
    - opmode
    argTypes:
    - struct hostapd_data*
    - u8*
    - enum ieee80211_op_mode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 100
    functionName: hostapd_eid_uhr_capab
    functionSourceFile: /src/hostap/src/ap/ieee802_11_uhr.c
    functionUses: 1
    functionsReached:
    - is_6ghz_op_class
    - os_memcpy
    linkageType: ''
    returnType: u8
    signature: "u8 * hostapd_eid_uhr_capab(struct hostapd_data *hapd, u8 *eid,\n\t\t\t
      \  enum ieee80211_op_mode opmode)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/ap/ieee802_11_uhr.c:147,1
    - Dst: host_to_le16
      Src: /src/hostap/src/ap/ieee802_11_uhr.c:152,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 3
    argNames:
    - hapd
    - eid
    - beacon
    argTypes:
    - struct hostapd_data*
    - u8*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 156
    functionName: hostapd_eid_uhr_operation
    functionSourceFile: /src/hostap/src/ap/ieee802_11_uhr.c
    functionUses: 2
    functionsReached:
    - host_to_le16
    - WPA_PUT_LE16
    linkageType: ''
    returnType: u8
    signature: u8 * hostapd_eid_uhr_operation(struct hostapd_data *hapd, u8 *eid,
      bool beacon)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mode
    - uhr_cap
    - len
    argTypes:
    - enum hostapd_hw_mode
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: ieee80211_invalid_uhr_cap_size
    functionSourceFile: /src/hostap/src/ap/ieee802_11_uhr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool ieee80211_invalid_uhr_cap_size(enum hostapd_hw_mode mode,\n\t\t\t\t\t
      \  const u8 *uhr_cap, size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_is_uhr_enabled
      Src: /src/hostap/src/ap/ieee802_11_uhr.c:173,1
    - Dst: ieee80211_invalid_uhr_cap_size
      Src: /src/hostap/src/ap/ieee802_11_uhr.c:174,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_11_uhr.c:176,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_11_uhr.c:181,1
    - Dst: os_memdup
      Src: /src/hostap/src/ap/ieee802_11_uhr.c:182,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 5
    argNames:
    - hapd
    - sta
    - opmode
    - uhr_capab
    - uhr_capab_len
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - enum ieee80211_op_mode
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 192
    functionName: copy_sta_uhr_capab
    functionSourceFile: /src/hostap/src/ap/ieee802_11_uhr.c
    functionUses: 0
    functionsReached:
    - os_free
    - os_memdup
    - hostapd_is_uhr_enabled
    - ieee80211_invalid_uhr_cap_size
    linkageType: ''
    returnType: u16
    signature: "u16 copy_sta_uhr_capab(struct hostapd_data *hapd, struct sta_info
      *sta,\n\t\t       enum ieee80211_op_mode opmode,\n\t\t       const u8 *uhr_capab,
      size_t uhr_capab_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/ap/ieee802_11_uhr.c:207,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_uhr.c:208,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - hapd
    - src
    - dest
    - len
    argTypes:
    - struct hostapd_data*
    - struct ieee80211_uhr_capabilities*
    - struct ieee80211_uhr_capabilities*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 209
    functionName: hostapd_get_uhr_capab
    functionSourceFile: /src/hostap/src/ap/ieee802_11_uhr.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void hostapd_get_uhr_capab(struct hostapd_data *hapd,\n\t\t\t   const
      struct ieee80211_uhr_capabilities *src,\n\t\t\t   struct ieee80211_uhr_capabilities
      *dest,\n\t\t\t   size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sta
    argTypes:
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 446
    functionName: ap_sta_is_authorized
    functionSourceFile: /src/hostap/src/ap/sta_info.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ap_sta_is_authorized(struct sta_info *sta)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 473
    functionName: ap_sta_is_mld
    functionSourceFile: /src/hostap/src/ap/sta_info.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool ap_sta_is_mld(struct hostapd_data *hapd,\n\t\t\t\t struct sta_info
      *sta)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - sta
    - mld
    argTypes:
    - struct sta_info*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 481
    functionName: ap_sta_set_mld
    functionSourceFile: /src/hostap/src/ap/sta_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ap_sta_set_mld(struct sta_info *sta, bool mld)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - sta
    argTypes:
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 500
    functionName: ap_sta_is_epp
    functionSourceFile: /src/hostap/src/ap/sta_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ap_sta_is_epp(const struct sta_info *sta)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_11_rsnx_capab_len
      Src: /src/hostap/src/ap/sta_info.h:507,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - hapd
    - rsnxe
    - rsnxe_len
    argTypes:
    - struct hostapd_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 513
    functionName: ap_sta_support_enc_assoc
    functionSourceFile: /src/hostap/src/ap/sta_info.h
    functionUses: 0
    functionsReached:
    - ieee802_11_rsnx_capab_len
    linkageType: ''
    returnType: bool
    signature: "bool ap_sta_support_enc_assoc(struct hostapd_data *hapd,\n\t\t\t\t\t
      \   const u8 *rsnxe, size_t rsnxe_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/robust_av.c:41,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/robust_av.c:42,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - hapd
    - sta
    - pos
    - len
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 44
    functionName: hostapd_update_dscp_policy_capability
    functionSourceFile: /src/hostap/src/ap/robust_av.c
    functionUses: 1
    functionsReached:
    - MAC2STR
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: "void hostapd_update_dscp_policy_capability(struct hostapd_data *hapd,\n\t\t\t\t\t
      \  struct sta_info *sta,\n\t\t\t\t\t   const u8 *pos, size_t len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: os_strncmp
      Src: /src/hostap/src/ap/robust_av.c:50,1
    - Dst: inet_pton
      Src: /src/hostap/src/ap/robust_av.c:51,1
    - Dst: os_strncmp
      Src: /src/hostap/src/ap/robust_av.c:54,1
    - Dst: inet_pton
      Src: /src/hostap/src/ap/robust_av.c:55,1
    - Dst: os_strncmp
      Src: /src/hostap/src/ap/robust_av.c:58,1
    - Dst: atoi
      Src: /src/hostap/src/ap/robust_av.c:59,1
    - Dst: os_strncmp
      Src: /src/hostap/src/ap/robust_av.c:60,1
    - Dst: atoi
      Src: /src/hostap/src/ap/robust_av.c:61,1
    - Dst: os_strncmp
      Src: /src/hostap/src/ap/robust_av.c:62,1
    - Dst: atoi
      Src: /src/hostap/src/ap/robust_av.c:63,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - policy
    - token
    argTypes:
    - struct hostapd_dscp_policy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 66
    functionName: parse_ipv4_params
    functionSourceFile: /src/hostap/src/ap/robust_av.c
    functionUses: 0
    functionsReached:
    - atoi
    - inet_pton
    - os_strncmp
    linkageType: ''
    returnType: int
    signature: "int parse_ipv4_params(struct hostapd_dscp_policy *policy,\n\t\t\t
      \    const char *token)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: os_strncmp
      Src: /src/hostap/src/ap/robust_av.c:72,1
    - Dst: inet_pton
      Src: /src/hostap/src/ap/robust_av.c:73,1
    - Dst: os_strncmp
      Src: /src/hostap/src/ap/robust_av.c:76,1
    - Dst: inet_pton
      Src: /src/hostap/src/ap/robust_av.c:77,1
    - Dst: os_strncmp
      Src: /src/hostap/src/ap/robust_av.c:80,1
    - Dst: atoi
      Src: /src/hostap/src/ap/robust_av.c:81,1
    - Dst: os_strncmp
      Src: /src/hostap/src/ap/robust_av.c:82,1
    - Dst: atoi
      Src: /src/hostap/src/ap/robust_av.c:83,1
    - Dst: os_strncmp
      Src: /src/hostap/src/ap/robust_av.c:84,1
    - Dst: atoi
      Src: /src/hostap/src/ap/robust_av.c:85,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - policy
    - token
    argTypes:
    - struct hostapd_dscp_policy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 89
    functionName: parse_ipv6_params
    functionSourceFile: /src/hostap/src/ap/robust_av.c
    functionUses: 0
    functionsReached:
    - atoi
    - inet_pton
    - os_strncmp
    linkageType: ''
    returnType: int
    signature: "int parse_ipv6_params(struct hostapd_dscp_policy *policy,\n\t\t\t
      \    const char *token)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: os_strncmp
      Src: /src/hostap/src/ap/robust_av.c:95,1
    - Dst: atoi
      Src: /src/hostap/src/ap/robust_av.c:96,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/robust_av.c:101,1
    - Dst: os_strncmp
      Src: /src/hostap/src/ap/robust_av.c:105,1
    - Dst: os_strcasecmp
      Src: /src/hostap/src/ap/robust_av.c:108,1
    - Dst: os_strcasecmp
      Src: /src/hostap/src/ap/robust_av.c:109,1
    - Dst: os_strcasecmp
      Src: /src/hostap/src/ap/robust_av.c:111,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/robust_av.c:114,1
    - Dst: os_strncmp
      Src: /src/hostap/src/ap/robust_av.c:117,1
    - Dst: strtoul
      Src: /src/hostap/src/ap/robust_av.c:118,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/robust_av.c:124,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 2
    argNames:
    - policy
    - token
    argTypes:
    - struct hostapd_dscp_policy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 130
    functionName: parse_dscp_value
    functionSourceFile: /src/hostap/src/ap/robust_av.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_strncmp
    - strtoul
    - os_strcasecmp
    - atoi
    linkageType: ''
    returnType: int
    signature: "int parse_dscp_value(struct hostapd_dscp_policy *policy,\n\t\t\t    const
      char *token)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_strncmp
      Src: /src/hostap/src/ap/robust_av.c:138,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/robust_av.c:140,1
    - Dst: os_free
      Src: /src/hostap/src/ap/robust_av.c:141,1
    - Dst: os_strdup
      Src: /src/hostap/src/ap/robust_av.c:142,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/robust_av.c:146,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/robust_av.c:148,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - policy
    - token
    argTypes:
    - struct hostapd_dscp_policy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 153
    functionName: parse_domain_name
    functionSourceFile: /src/hostap/src/ap/robust_av.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - os_strncmp
    - os_free
    - os_strdup
    linkageType: ''
    returnType: int
    signature: "int parse_domain_name(struct hostapd_dscp_policy *policy,\n\t\t\t
      \    const char *token)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_strncmp
      Src: /src/hostap/src/ap/robust_av.c:161,1
    - Dst: atoi
      Src: /src/hostap/src/ap/robust_av.c:162,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/robust_av.c:167,1
    - Dst: os_strncmp
      Src: /src/hostap/src/ap/robust_av.c:170,1
    - Dst: atoi
      Src: /src/hostap/src/ap/robust_av.c:171,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/robust_av.c:176,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - policy
    - token
    argTypes:
    - struct hostapd_dscp_policy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 181
    functionName: parse_port_range
    functionSourceFile: /src/hostap/src/ap/robust_av.c
    functionUses: 0
    functionsReached:
    - atoi
    - wpa_printf
    - os_strncmp
    linkageType: ''
    returnType: int
    signature: "int parse_port_range(struct hostapd_dscp_policy *policy,\n\t\t\t    const
      char *token)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/robust_av.c:190,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/robust_av.c:197,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/robust_av.c:205,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - policy
    argTypes:
    - struct hostapd_dscp_policy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 210
    functionName: validate_dscp_policy
    functionSourceFile: /src/hostap/src/ap/robust_av.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int validate_dscp_policy(struct hostapd_dscp_policy *policy)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/ap/robust_av.c:217,1
    - Dst: os_free
      Src: /src/hostap/src/ap/robust_av.c:219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - policy
    argTypes:
    - struct hostapd_dscp_policy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 221
    functionName: free_dscp_policy
    functionSourceFile: /src/hostap/src/ap/robust_av.c
    functionUses: 1
    functionsReached:
    - os_free
    linkageType: ''
    returnType: void
    signature: void free_dscp_policy(struct hostapd_dscp_policy *policy)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: os_strdup
      Src: /src/hostap/src/ap/robust_av.c:232,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/robust_av.c:236,1
    - Dst: str_token
      Src: /src/hostap/src/ap/robust_av.c:239,1
    - Dst: os_strncmp
      Src: /src/hostap/src/ap/robust_av.c:240,1
    - Dst: strtoul
      Src: /src/hostap/src/ap/robust_av.c:242,1
    - Dst: os_strncmp
      Src: /src/hostap/src/ap/robust_av.c:243,1
    - Dst: atoi
      Src: /src/hostap/src/ap/robust_av.c:244,1
    - Dst: os_strncmp
      Src: /src/hostap/src/ap/robust_av.c:245,1
    - Dst: os_strncmp
      Src: /src/hostap/src/ap/robust_av.c:246,1
    - Dst: os_strncmp
      Src: /src/hostap/src/ap/robust_av.c:247,1
    - Dst: parse_dscp_value
      Src: /src/hostap/src/ap/robust_av.c:248,1
    - Dst: os_strncmp
      Src: /src/hostap/src/ap/robust_av.c:251,1
    - Dst: parse_domain_name
      Src: /src/hostap/src/ap/robust_av.c:252,1
    - Dst: os_strncmp
      Src: /src/hostap/src/ap/robust_av.c:255,1
    - Dst: os_strncmp
      Src: /src/hostap/src/ap/robust_av.c:256,1
    - Dst: parse_port_range
      Src: /src/hostap/src/ap/robust_av.c:257,1
    - Dst: parse_ipv4_params
      Src: /src/hostap/src/ap/robust_av.c:261,1
    - Dst: parse_ipv6_params
      Src: /src/hostap/src/ap/robust_av.c:265,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/robust_av.c:269,1
    - Dst: os_free
      Src: /src/hostap/src/ap/robust_av.c:277,1
    - Dst: free_dscp_policy
      Src: /src/hostap/src/ap/robust_av.c:279,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 47
    argCount: 3
    argNames:
    - sta
    - policy
    - params
    argTypes:
    - struct sta_info*
    - struct hostapd_dscp_policy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 281
    functionName: parse_dscp_policy_string
    functionSourceFile: /src/hostap/src/ap/robust_av.c
    functionUses: 1
    functionsReached:
    - free_dscp_policy
    - parse_ipv6_params
    - wpa_printf
    - str_token
    - os_strncmp
    - parse_port_range
    - parse_dscp_value
    - parse_ipv4_params
    - strtoul
    - parse_domain_name
    - atoi
    - os_free
    - os_strdup
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int parse_dscp_policy_string(struct sta_info *sta,\n\t\t\t     struct
      hostapd_dscp_policy *policy,\n\t\t\t     const char *params)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/robust_av.c:294,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/robust_av.c:303,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/robust_av.c:307,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/ap/robust_av.c:311,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/ap/robust_av.c:315,1
    - Dst: os_free
      Src: /src/hostap/src/ap/robust_av.c:321,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - policy
    argTypes:
    - struct hostapd_dscp_policy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 325
    functionName: build_frame_classifier_type4_ipv4
    functionSourceFile: /src/hostap/src/ap/robust_av.c
    functionUses: 0
    functionsReached:
    - WPA_PUT_BE16
    - os_free
    - os_zalloc
    - os_memcpy
    linkageType: ''
    returnType: int
    signature: int build_frame_classifier_type4_ipv4(struct hostapd_dscp_policy *policy)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/robust_av.c:338,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/robust_av.c:347,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/robust_av.c:351,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/ap/robust_av.c:355,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/ap/robust_av.c:359,1
    - Dst: os_free
      Src: /src/hostap/src/ap/robust_av.c:365,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - policy
    argTypes:
    - struct hostapd_dscp_policy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 370
    functionName: build_frame_classifier_type4_ipv6
    functionSourceFile: /src/hostap/src/ap/robust_av.c
    functionUses: 0
    functionsReached:
    - WPA_PUT_BE16
    - os_free
    - os_zalloc
    - os_memcpy
    linkageType: ''
    returnType: int
    signature: int build_frame_classifier_type4_ipv6(struct hostapd_dscp_policy *policy)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: build_frame_classifier_type4_ipv4
      Src: /src/hostap/src/ap/robust_av.c:377,1
    - Dst: build_frame_classifier_type4_ipv6
      Src: /src/hostap/src/ap/robust_av.c:379,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/robust_av.c:381,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - policy
    argTypes:
    - struct hostapd_dscp_policy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 373
    functionDepth: 2
    functionLinenumber: 373
    functionLinenumberEnd: 384
    functionName: build_frame_classifier
    functionSourceFile: /src/hostap/src/ap/robust_av.c
    functionUses: 1
    functionsReached:
    - build_frame_classifier_type4_ipv4
    - wpa_printf
    - build_frame_classifier_type4_ipv6
    linkageType: ''
    returnType: int
    signature: int build_frame_classifier(struct hostapd_dscp_policy *policy)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/robust_av.c:403,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/robust_av.c:404,1
    - Dst: os_strdup
      Src: /src/hostap/src/ap/robust_av.c:406,1
    - Dst: os_memdup
      Src: /src/hostap/src/ap/robust_av.c:413,1
    - Dst: os_free
      Src: /src/hostap/src/ap/robust_av.c:416,1
    - Dst: free_dscp_policy
      Src: /src/hostap/src/ap/robust_av.c:420,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/robust_av.c:421,1
    - Dst: os_memdup
      Src: /src/hostap/src/ap/robust_av.c:427,1
    - Dst: os_strdup
      Src: /src/hostap/src/ap/robust_av.c:435,1
    - Dst: os_free
      Src: /src/hostap/src/ap/robust_av.c:437,1
    - Dst: os_memdup
      Src: /src/hostap/src/ap/robust_av.c:445,1
    - Dst: free_dscp_policy
      Src: /src/hostap/src/ap/robust_av.c:448,1
    - Dst: os_free
      Src: /src/hostap/src/ap/robust_av.c:449,1
    - Dst: os_realloc_array
      Src: /src/hostap/src/ap/robust_av.c:454,1
    - Dst: free_dscp_policy
      Src: /src/hostap/src/ap/robust_av.c:458,1
    - Dst: os_free
      Src: /src/hostap/src/ap/robust_av.c:459,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    argCount: 2
    argNames:
    - sta
    - new_policy
    argTypes:
    - struct sta_info*
    - struct hostapd_dscp_policy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 467
    functionName: add_dscp_policy_to_sta
    functionSourceFile: /src/hostap/src/ap/robust_av.c
    functionUses: 1
    functionsReached:
    - free_dscp_policy
    - wpa_printf
    - os_memcpy
    - os_memdup
    - MAC2STR
    - os_free
    - os_strdup
    - os_realloc_array
    linkageType: ''
    returnType: int
    signature: "int add_dscp_policy_to_sta(struct sta_info *sta,\n\t\t\t   const struct
      hostapd_dscp_policy *new_policy)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free_dscp_policy
      Src: /src/hostap/src/ap/robust_av.c:478,1
    - Dst: os_free
      Src: /src/hostap/src/ap/robust_av.c:479,1
    - Dst: os_free
      Src: /src/hostap/src/ap/robust_av.c:482,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - sta
    argTypes:
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 485
    functionName: free_dscp_policies
    functionSourceFile: /src/hostap/src/ap/robust_av.c
    functionUses: 1
    functionsReached:
    - os_free
    - free_dscp_policy
    linkageType: ''
    returnType: void
    signature: void free_dscp_policies(struct sta_info *sta)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - sta
    argTypes:
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 494
    functionName: get_next_unsolicited_dialog_token
    functionSourceFile: /src/hostap/src/ap/robust_av.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 get_next_unsolicited_dialog_token(struct sta_info *sta)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - sta
    - id
    argTypes:
    - struct sta_info*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 508
    functionName: hostapd_get_dscp_policy_by_id
    functionSourceFile: /src/hostap/src/ap/robust_av.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct hostapd_dscp_policy
    signature: 'struct hostapd_dscp_policy *

      hostapd_get_dscp_policy_by_id(struct sta_info *sta, int id)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/ap/robust_av.c:517,1
    - Dst: wpabuf_put_be32
      Src: /src/hostap/src/ap/robust_av.c:521,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/robust_av.c:522,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/robust_av.c:523,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/robust_av.c:524,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/robust_av.c:525,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/robust_av.c:526,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/robust_av.c:530,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/robust_av.c:531,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/ap/robust_av.c:532,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/robust_av.c:537,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/robust_av.c:539,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/robust_av.c:540,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/ap/robust_av.c:541,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/robust_av.c:546,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/robust_av.c:547,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/ap/robust_av.c:548,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/ap/robust_av.c:549,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 1
    argNames:
    - policy
    argTypes:
    - struct hostapd_dscp_policy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 511
    functionDepth: 1
    functionLinenumber: 511
    functionLinenumberEnd: 553
    functionName: hostapd_build_qos_element
    functionSourceFile: /src/hostap/src/ap/robust_av.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpabuf_put_data
    - wpabuf_put_u8
    - wpabuf_put_be16
    - wpabuf_alloc
    - wpabuf_put_be32
    linkageType: ''
    returnType: struct wpabuf
    signature: 'struct wpabuf *

      hostapd_build_qos_element(struct hostapd_dscp_policy *policy)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/ap/robust_av.c:564,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/robust_av.c:568,1
    - Dst: wpabuf_put_be32
      Src: /src/hostap/src/ap/robust_av.c:569,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/robust_av.c:570,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/robust_av.c:571,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/robust_av.c:578,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - hapd
    - sta
    - dialog_token
    - reset
    - more
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u8
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 556
    functionDepth: 1
    functionLinenumber: 556
    functionLinenumberEnd: 581
    functionName: new_dscp_policy_req_frame
    functionSourceFile: /src/hostap/src/ap/robust_av.c
    functionUses: 0
    functionsReached:
    - wpabuf_alloc
    - wpabuf_put_u8
    - wpabuf_put_be32
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * new_dscp_policy_req_frame(struct hostapd_data *hapd,\n\t\t\t\t\t\t
      struct sta_info *sta,\n\t\t\t\t\t\t u8 dialog_token,\n\t\t\t\t\t\t u8 reset,
      u8 more)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: get_next_unsolicited_dialog_token
      Src: /src/hostap/src/ap/robust_av.c:607,1
    - Dst: new_dscp_policy_req_frame
      Src: /src/hostap/src/ap/robust_av.c:608,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/robust_av.c:612,1
    - Dst: hostapd_get_dscp_policy_by_id
      Src: /src/hostap/src/ap/robust_av.c:618,1
    - Dst: hostapd_build_qos_element
      Src: /src/hostap/src/ap/robust_av.c:625,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/robust_av.c:629,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/robust_av.c:631,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/robust_av.c:635,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/robust_av.c:636,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/robust_av.c:636,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/ap/robust_av.c:637,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/robust_av.c:638,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/robust_av.c:639,1
    - Dst: wpabuf_mhead_u8
      Src: /src/hostap/src/ap/robust_av.c:643,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/robust_av.c:650,1
    - Dst: hostapd_drv_send_action
      Src: /src/hostap/src/ap/robust_av.c:651,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/robust_av.c:652,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/robust_av.c:652,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/robust_av.c:653,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/robust_av.c:654,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/robust_av.c:655,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/robust_av.c:659,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 41
    argCount: 5
    argNames:
    - hapd
    - sta
    - reset
    - policy_ids
    - num_policies
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u8
    - int*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 584
    functionDepth: 3
    functionLinenumber: 584
    functionLinenumberEnd: 665
    functionName: hostapd_send_unsolicited_dscp_policy_request
    functionSourceFile: /src/hostap/src/ap/robust_av.c
    functionUses: 1
    functionsReached:
    - hostapd_drv_send_action
    - wpa_printf
    - hostapd_build_qos_element
    - wpabuf_put_u8
    - wpabuf_len
    - wpabuf_mhead_u8
    - wpabuf_free
    - get_next_unsolicited_dialog_token
    - new_dscp_policy_req_frame
    - wpabuf_head
    - MAC2STR
    - wpabuf_put_buf
    - hostapd_get_dscp_policy_by_id
    linkageType: ''
    returnType: int
    signature: "int hostapd_send_unsolicited_dscp_policy_request(struct hostapd_data
      *hapd,\n\t\t\t\t\t\t struct sta_info *sta,\n\t\t\t\t\t\t u8 reset,\n\t\t\t\t\t\t
      const int *policy_ids,\n\t\t\t\t\t\t unsigned int num_policies)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/ap/robust_av.c:672,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - ie
    - rem_len
    argTypes:
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 668
    functionDepth: 1
    functionLinenumber: 668
    functionLinenumberEnd: 673
    functionName: is_valid_qm_elem
    functionSourceFile: /src/hostap/src/ap/robust_av.c
    functionUses: 0
    functionsReached:
    - WPA_GET_BE32
    linkageType: ''
    returnType: bool
    signature: bool is_valid_qm_elem(const u8 *ie, size_t rem_len)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/robust_av.c:683,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/robust_av.c:694,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/robust_av.c:701,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/robust_av.c:707,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/ap/robust_av.c:715,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/robust_av.c:721,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/ap/robust_av.c:728,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 1
    argNames:
    - policy
    argTypes:
    - struct hostapd_dscp_policy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 676
    functionDepth: 1
    functionLinenumber: 676
    functionLinenumberEnd: 740
    functionName: set_frame_classifier_type4_ipv4
    functionSourceFile: /src/hostap/src/ap/robust_av.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - WPA_GET_BE16
    - os_memcpy
    linkageType: ''
    returnType: int
    signature: int set_frame_classifier_type4_ipv4(struct hostapd_dscp_policy *policy)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/robust_av.c:750,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/robust_av.c:761,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/robust_av.c:768,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/robust_av.c:773,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/ap/robust_av.c:781,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/robust_av.c:787,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/ap/robust_av.c:794,1
    - Dst: BIT
      Src: /src/hostap/src/ap/robust_av.c:800,1
    - Dst: BIT
      Src: /src/hostap/src/ap/robust_av.c:801,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 1
    argNames:
    - policy
    argTypes:
    - struct hostapd_dscp_policy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 743
    functionDepth: 1
    functionLinenumber: 743
    functionLinenumberEnd: 806
    functionName: set_frame_classifier_type4_ipv6
    functionSourceFile: /src/hostap/src/ap/robust_av.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - BIT
    - WPA_GET_BE16
    - os_memcpy
    linkageType: ''
    returnType: int
    signature: int set_frame_classifier_type4_ipv6(struct hostapd_dscp_policy *policy)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/robust_av.c:815,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/robust_av.c:823,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/robust_av.c:831,1
    - Dst: set_frame_classifier_type4_ipv4
      Src: /src/hostap/src/ap/robust_av.c:838,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/robust_av.c:839,1
    - Dst: set_frame_classifier_type4_ipv6
      Src: /src/hostap/src/ap/robust_av.c:846,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/robust_av.c:847,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/robust_av.c:854,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 1
    argNames:
    - policy
    argTypes:
    - struct hostapd_dscp_policy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 860
    functionName: ap_set_frame_classifier_params
    functionSourceFile: /src/hostap/src/ap/robust_av.c
    functionUses: 0
    functionsReached:
    - set_frame_classifier_type4_ipv4
    - wpa_printf
    - set_frame_classifier_type4_ipv6
    linkageType: ''
    returnType: int
    signature: int ap_set_frame_classifier_params(struct hostapd_dscp_policy *policy)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/robust_av.c:870,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/robust_av.c:876,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/ap/robust_av.c:880,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/ap/robust_av.c:881,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/robust_av.c:886,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/robust_av.c:892,1
    - Dst: ap_set_frame_classifier_params
      Src: /src/hostap/src/ap/robust_av.c:898,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/robust_av.c:899,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/robust_av.c:906,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/robust_av.c:912,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 4
    argNames:
    - query
    - attr_id
    - attr_len
    - attr_data
    argTypes:
    - struct hostapd_dscp_policy*
    - u8
    - u8
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 863
    functionDepth: 1
    functionLinenumber: 863
    functionLinenumberEnd: 923
    functionName: hostapd_parse_query_elements
    functionSourceFile: /src/hostap/src/ap/robust_av.c
    functionUses: 0
    functionsReached:
    - ap_set_frame_classifier_params
    - wpa_printf
    - WPA_GET_BE16
    linkageType: ''
    returnType: int
    signature: "int hostapd_parse_query_elements(struct hostapd_dscp_policy *query,\n\t\t\t\t\tu8
      attr_id, u8 attr_len,\n\t\t\t\t\tconst u8 *attr_data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/robust_av.c:937,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/robust_av.c:948,1
    - Dst: os_free
      Src: /src/hostap/src/ap/robust_av.c:950,1
    - Dst: hostapd_parse_query_elements
      Src: /src/hostap/src/ap/robust_av.c:954,1
    - Dst: os_free
      Src: /src/hostap/src/ap/robust_av.c:956,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 4
    argNames:
    - ie
    - ie_len
    - el_out
    - index
    argTypes:
    - u8*
    - size_t
    - struct hostapd_dscp_policy**
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 926
    functionDepth: 2
    functionLinenumber: 926
    functionLinenumberEnd: 966
    functionName: parse_single_policy
    functionSourceFile: /src/hostap/src/ap/robust_av.c
    functionUses: 0
    functionsReached:
    - os_free
    - os_zalloc
    - wpa_printf
    - hostapd_parse_query_elements
    linkageType: ''
    returnType: int
    signature: "int parse_single_policy(const u8 *ie, size_t ie_len,\n\t\t\t       struct
      hostapd_dscp_policy **el_out,\n\t\t\t       unsigned int index)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/robust_av.c:986,1
    - Dst: is_valid_qm_elem
      Src: /src/hostap/src/ap/robust_av.c:996,1
    - Dst: os_calloc
      Src: /src/hostap/src/ap/robust_av.c:1007,1
    - Dst: is_valid_qm_elem
      Src: /src/hostap/src/ap/robust_av.c:1018,1
    - Dst: parse_single_policy
      Src: /src/hostap/src/ap/robust_av.c:1023,1
    - Dst: os_free
      Src: /src/hostap/src/ap/robust_av.c:1036,1
    - Dst: os_free
      Src: /src/hostap/src/ap/robust_av.c:1037,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 49
    argCount: 3
    argNames:
    - data
    - len
    - ctx
    argTypes:
    - u8*
    - size_t
    - struct dscp_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 969
    functionDepth: 3
    functionLinenumber: 969
    functionLinenumberEnd: 1039
    functionName: parse_dscp_query
    functionSourceFile: /src/hostap/src/ap/robust_av.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_calloc
    - parse_single_policy
    - is_valid_qm_elem
    - os_free
    linkageType: ''
    returnType: int
    signature: "int parse_dscp_query(const u8 *data, size_t len,\n\t\t\t    struct
      dscp_context *ctx)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/robust_av.c:1046,1
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/robust_av.c:1051,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 2
    argNames:
    - query
    - policy
    argTypes:
    - struct type4_params*
    - struct type4_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1068
      start: 1042
    functionDepth: 0
    functionLinenumber: 1042
    functionLinenumberEnd: 1068
    functionName: match_ipv4_classifier
    functionSourceFile: /src/hostap/src/ap/robust_av.c
    functionUses: 0
    functionsReached:
    - os_memcmp
    linkageType: ''
    returnType: bool
    signature: "bool match_ipv4_classifier(const struct type4_params *query,\n\t\t\t\t
      \ const struct type4_params *policy)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/robust_av.c:1075,1
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/robust_av.c:1080,1
    - Dst: BIT
      Src: /src/hostap/src/ap/robust_av.c:1092,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 2
    argNames:
    - query
    - policy
    argTypes:
    - struct type4_params*
    - struct type4_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1097
      start: 1071
    functionDepth: 0
    functionLinenumber: 1071
    functionLinenumberEnd: 1097
    functionName: match_ipv6_classifier
    functionSourceFile: /src/hostap/src/ap/robust_av.c
    functionUses: 0
    functionsReached:
    - BIT
    - os_memcmp
    linkageType: ''
    returnType: bool
    signature: "bool match_ipv6_classifier(const struct type4_params *query,\n\t\t\t\t
      \ const struct type4_params *policy)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: match_ipv4_classifier
      Src: /src/hostap/src/ap/robust_av.c:1109,1
    - Dst: match_ipv6_classifier
      Src: /src/hostap/src/ap/robust_av.c:1113,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - query
    - policy
    - ip_version
    argTypes:
    - struct type4_params*
    - struct type4_params*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1100
    functionDepth: 1
    functionLinenumber: 1100
    functionLinenumberEnd: 1121
    functionName: match_type4_classifier
    functionSourceFile: /src/hostap/src/ap/robust_av.c
    functionUses: 0
    functionsReached:
    - match_ipv6_classifier
    - match_ipv4_classifier
    linkageType: ''
    returnType: bool
    signature: "bool match_type4_classifier(const struct type4_params *query,\n\t\t\t\t
      \  const struct type4_params *policy,\n\t\t\t\t   u8 ip_version)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: os_calloc
      Src: /src/hostap/src/ap/robust_av.c:1136,1
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/robust_av.c:1167,1
    - Dst: match_type4_classifier
      Src: /src/hostap/src/ap/robust_av.c:1181,1
    - Dst: os_realloc_array
      Src: /src/hostap/src/ap/robust_av.c:1190,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 38
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct dscp_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1124
    functionDepth: 2
    functionLinenumber: 1124
    functionLinenumberEnd: 1202
    functionName: policy_matches_query
    functionSourceFile: /src/hostap/src/ap/robust_av.c
    functionUses: 0
    functionsReached:
    - match_type4_classifier
    - os_memcmp
    - os_calloc
    - os_realloc_array
    linkageType: ''
    returnType: int
    signature: int policy_matches_query(struct dscp_context *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - policy
    argTypes:
    - struct hostapd_dscp_policy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1232
      start: 1205
    functionDepth: 0
    functionLinenumber: 1205
    functionLinenumberEnd: 1232
    functionName: policy_element_len
    functionSourceFile: /src/hostap/src/ap/robust_av.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t policy_element_len(const struct hostapd_dscp_policy *policy)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/ap/robust_av.c:1240,1
    - Dst: policy_element_len
      Src: /src/hostap/src/ap/robust_av.c:1240,1
    - Dst: wpabuf_put_be32
      Src: /src/hostap/src/ap/robust_av.c:1244,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/robust_av.c:1247,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/robust_av.c:1248,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/robust_av.c:1249,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/robust_av.c:1250,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/robust_av.c:1253,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/robust_av.c:1255,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/robust_av.c:1258,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/robust_av.c:1259,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/ap/robust_av.c:1260,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/robust_av.c:1266,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/robust_av.c:1267,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/ap/robust_av.c:1268,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/robust_av.c:1273,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/robust_av.c:1274,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/ap/robust_av.c:1275,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/ap/robust_av.c:1276,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/robust_av.c:1279,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/robust_av.c:1280,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/robust_av.c:1280,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/ap/robust_av.c:1281,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/robust_av.c:1283,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 2
    argNames:
    - buf
    - policy
    argTypes:
    - struct wpabuf*
    - struct hostapd_dscp_policy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1235
    functionDepth: 1
    functionLinenumber: 1235
    functionLinenumberEnd: 1284
    functionName: add_policy_element
    functionSourceFile: /src/hostap/src/ap/robust_av.c
    functionUses: 0
    functionsReached:
    - wpabuf_put_data
    - wpabuf_put_u8
    - policy_element_len
    - wpabuf_len
    - wpabuf_free
    - wpabuf_put_be16
    - wpabuf_alloc
    - wpabuf_put_buf
    - wpabuf_put_be32
    linkageType: ''
    returnType: void
    signature: "void add_policy_element(struct wpabuf *buf,\n\t\t\t       const struct
      hostapd_dscp_policy *policy)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/ap/robust_av.c:1300,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/robust_av.c:1305,1
    - Dst: wpabuf_put_be32
      Src: /src/hostap/src/ap/robust_av.c:1306,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/robust_av.c:1307,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/robust_av.c:1310,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/ap/robust_av.c:1313,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/robust_av.c:1324,1
    - Dst: policy_element_len
      Src: /src/hostap/src/ap/robust_av.c:1324,1
    - Dst: add_policy_element
      Src: /src/hostap/src/ap/robust_av.c:1331,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/robust_av.c:1339,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 7
    argNames:
    - hapd
    - sta
    - ctx
    - offset
    - policies_used
    - dialog_token
    - more
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - struct dscp_context*
    - size_t
    - size_t*
    - u8
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1343
      start: 1288
    functionDepth: 2
    functionLinenumber: 1288
    functionLinenumberEnd: 1343
    functionName: build_dscp_policy_request
    functionSourceFile: /src/hostap/src/ap/robust_av.c
    functionUses: 0
    functionsReached:
    - wpabuf_put
    - add_policy_element
    - wpa_printf
    - wpabuf_put_u8
    - wpabuf_len
    - policy_element_len
    - wpabuf_alloc
    - wpabuf_put_be32
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * build_dscp_policy_request(struct hostapd_data *hapd,\n\t\t\t\t\t\t
      struct sta_info *sta,\n\t\t\t\t\t\t const struct dscp_context *ctx,\n\t\t\t\t\t\t
      size_t offset,\n\t\t\t\t\t\t size_t *policies_used,\n\t\t\t\t\t\t u8 dialog_token,\n\t\t\t\t\t\t
      bool *more)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/robust_av.c:1358,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/robust_av.c:1363,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/robust_av.c:1364,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/robust_av.c:1371,1
    - Dst: parse_dscp_query
      Src: /src/hostap/src/ap/robust_av.c:1375,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/robust_av.c:1376,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/robust_av.c:1378,1
    - Dst: policy_matches_query
      Src: /src/hostap/src/ap/robust_av.c:1382,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/robust_av.c:1383,1
    - Dst: build_dscp_policy_request
      Src: /src/hostap/src/ap/robust_av.c:1387,1
    - Dst: hostapd_drv_send_action
      Src: /src/hostap/src/ap/robust_av.c:1392,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/robust_av.c:1393,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/robust_av.c:1393,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/robust_av.c:1395,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/robust_av.c:1396,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/robust_av.c:1397,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/robust_av.c:1401,1
    - Dst: os_free
      Src: /src/hostap/src/ap/robust_av.c:1411,1
    - Dst: os_free
      Src: /src/hostap/src/ap/robust_av.c:1412,1
    - Dst: os_free
      Src: /src/hostap/src/ap/robust_av.c:1413,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 4
    argNames:
    - hapd
    - sta
    - data
    - len
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1415
      start: 1346
    functionDepth: 4
    functionLinenumber: 1346
    functionLinenumberEnd: 1415
    functionName: hostapd_handle_dscp_policy_query
    functionSourceFile: /src/hostap/src/ap/robust_av.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hostapd_drv_send_action
    - wpabuf_len
    - wpabuf_free
    - wpabuf_head
    - policy_matches_query
    - MAC2STR
    - build_dscp_policy_request
    - os_free
    - parse_dscp_query
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int hostapd_handle_dscp_policy_query(struct hostapd_data *hapd,\n\t\t\t\t
      \    struct sta_info *sta,\n\t\t\t\t     const u8 *data, size_t len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/robust_av.c:1434,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/robust_av.c:1438,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/robust_av.c:1445,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - sta
    - policy_id
    - status
    argTypes:
    - struct sta_info*
    - u8
    - enum dscp_policy_status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1447
      start: 1418
    functionDepth: 0
    functionLinenumber: 1418
    functionLinenumberEnd: 1447
    functionName: update_policy_status
    functionSourceFile: /src/hostap/src/ap/robust_av.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: "void update_policy_status(struct sta_info *sta, u8 policy_id,\n\t\t\t\t
      enum dscp_policy_status status)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/robust_av.c:1458,1
    - Dst: free_dscp_policy
      Src: /src/hostap/src/ap/robust_av.c:1460,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - sta
    - policy_id
    argTypes:
    - struct sta_info*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1465
      start: 1450
    functionDepth: 1
    functionLinenumber: 1450
    functionLinenumberEnd: 1465
    functionName: invalidate_policy_by_id
    functionSourceFile: /src/hostap/src/ap/robust_av.c
    functionUses: 0
    functionsReached:
    - free_dscp_policy
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void invalidate_policy_by_id(struct sta_info *sta, u8 policy_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - sta
    argTypes:
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1475
      start: 1468
    functionDepth: 0
    functionLinenumber: 1468
    functionLinenumberEnd: 1475
    functionName: reset_dscp_state
    functionSourceFile: /src/hostap/src/ap/robust_av.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reset_dscp_state(struct sta_info *sta)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: new_dscp_policy_req_frame
      Src: /src/hostap/src/ap/robust_av.c:1489,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/robust_av.c:1493,1
    - Dst: hostapd_build_qos_element
      Src: /src/hostap/src/ap/robust_av.c:1503,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/robust_av.c:1507,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/robust_av.c:1508,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/robust_av.c:1513,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/robust_av.c:1514,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/robust_av.c:1514,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/ap/robust_av.c:1515,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/robust_av.c:1516,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/robust_av.c:1517,1
    - Dst: wpabuf_mhead_u8
      Src: /src/hostap/src/ap/robust_av.c:1521,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 7
    argNames:
    - hapd
    - sta
    - dialog_token
    - reset
    - offset
    - next_offset
    - more
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u8
    - u8
    - size_t
    - size_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1530
      start: 1478
    functionDepth: 2
    functionLinenumber: 1478
    functionLinenumberEnd: 1530
    functionName: hostapd_build_dscp_policy_request_from_offset
    functionSourceFile: /src/hostap/src/ap/robust_av.c
    functionUses: 0
    functionsReached:
    - hostapd_build_qos_element
    - wpabuf_put_u8
    - wpabuf_len
    - wpabuf_mhead_u8
    - wpabuf_free
    - new_dscp_policy_req_frame
    - wpabuf_put_buf
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf *\nhostapd_build_dscp_policy_request_from_offset(struct
      hostapd_data *hapd,\n\t\t\t\t\t      struct sta_info *sta,\n\t\t\t\t\t      u8
      dialog_token,\n\t\t\t\t\t      u8 reset, size_t offset,\n\t\t\t\t\t      size_t
      *next_offset,\n\t\t\t\t\t      bool *more)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_next_unsolicited_dialog_token
      Src: /src/hostap/src/ap/robust_av.c:1545,1
    - Dst: hostapd_build_dscp_policy_request_from_offset
      Src: /src/hostap/src/ap/robust_av.c:1547,1
    - Dst: hostapd_drv_send_action
      Src: /src/hostap/src/ap/robust_av.c:1555,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/robust_av.c:1556,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/robust_av.c:1556,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/robust_av.c:1558,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/robust_av.c:1560,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/robust_av.c:1563,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - hapd
    - sta
    - start_offset
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1568
      start: 1533
    functionDepth: 3
    functionLinenumber: 1533
    functionLinenumberEnd: 1568
    functionName: hostapd_send_next_dscp_policy_batch
    functionSourceFile: /src/hostap/src/ap/robust_av.c
    functionUses: 0
    functionsReached:
    - hostapd_drv_send_action
    - wpa_printf
    - wpabuf_len
    - wpabuf_free
    - get_next_unsolicited_dialog_token
    - wpabuf_head
    - MAC2STR
    - hostapd_build_dscp_policy_request_from_offset
    linkageType: ''
    returnType: void
    signature: "void hostapd_send_next_dscp_policy_batch(struct hostapd_data *hapd,\n\t\t\t\t\t\tstruct
      sta_info *sta,\n\t\t\t\t\t\tsize_t start_offset)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/robust_av.c:1582,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/robust_av.c:1583,1
    - Dst: free_dscp_policies
      Src: /src/hostap/src/ap/robust_av.c:1595,1
    - Dst: reset_dscp_state
      Src: /src/hostap/src/ap/robust_av.c:1596,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/robust_av.c:1601,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/robust_av.c:1602,1
    - Dst: free_dscp_policies
      Src: /src/hostap/src/ap/robust_av.c:1603,1
    - Dst: reset_dscp_state
      Src: /src/hostap/src/ap/robust_av.c:1604,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/robust_av.c:1629,1
    - Dst: invalidate_policy_by_id
      Src: /src/hostap/src/ap/robust_av.c:1638,1
    - Dst: update_policy_status
      Src: /src/hostap/src/ap/robust_av.c:1640,1
    - Dst: invalidate_policy_by_id
      Src: /src/hostap/src/ap/robust_av.c:1645,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/robust_av.c:1648,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/robust_av.c:1658,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/robust_av.c:1661,1
    - Dst: hostapd_send_next_dscp_policy_batch
      Src: /src/hostap/src/ap/robust_av.c:1662,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 55
    argCount: 4
    argNames:
    - hapd
    - sta
    - data
    - len
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1667
      start: 1572
    functionDepth: 4
    functionLinenumber: 1572
    functionLinenumberEnd: 1667
    functionName: hostapd_handle_dscp_policy_response
    functionSourceFile: /src/hostap/src/ap/robust_av.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - reset_dscp_state
    - invalidate_policy_by_id
    - MAC2STR
    - update_policy_status
    - hostapd_send_next_dscp_policy_batch
    - free_dscp_policies
    linkageType: ''
    returnType: int
    signature: "int hostapd_handle_dscp_policy_response(struct hostapd_data *hapd,\n\t\t\t\t\tstruct
      sta_info *sta,\n\t\t\t\t\tconst u8 *data, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/dhcp_snoop.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - addr
    argTypes:
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 29
    functionName: ipaddr_str
    functionSourceFile: /src/hostap/src/ap/dhcp_snoop.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    linkageType: ''
    returnType: char
    signature: char * ipaddr_str(u32 addr)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/hostap/src/ap/dhcp_snoop.c:49,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/ap/dhcp_snoop.c:53,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/ap/dhcp_snoop.c:74,1
    - Dst: is_broadcast_ether_addr
      Src: /src/hostap/src/ap/dhcp_snoop.c:92,1
    - Dst: x_snoop_mcast_to_ucast_convert_send
      Src: /src/hostap/src/ap/dhcp_snoop.c:96,1
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/dhcp_snoop.c:107,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dhcp_snoop.c:111,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/dhcp_snoop.c:113,1
    - Dst: ipaddr_str
      Src: /src/hostap/src/ap/dhcp_snoop.c:114,1
    - Dst: be_to_host32
      Src: /src/hostap/src/ap/dhcp_snoop.c:114,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dhcp_snoop.c:121,1
    - Dst: ipaddr_str
      Src: /src/hostap/src/ap/dhcp_snoop.c:123,1
    - Dst: be_to_host32
      Src: /src/hostap/src/ap/dhcp_snoop.c:123,1
    - Dst: hostapd_drv_br_delete_ip_neigh
      Src: /src/hostap/src/ap/dhcp_snoop.c:124,1
    - Dst: hostapd_drv_br_add_ip_neigh
      Src: /src/hostap/src/ap/dhcp_snoop.c:128,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dhcp_snoop.c:131,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 66
    argCount: 4
    argNames:
    - ctx
    - src_addr
    - buf
    - len
    argTypes:
    - void*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 138
    functionName: handle_dhcp
    functionSourceFile: /src/hostap/src/ap/dhcp_snoop.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - is_broadcast_ether_addr
    - be_to_host32
    - x_snoop_mcast_to_ucast_convert_send
    - MAC2STR
    - hostapd_drv_br_add_ip_neigh
    - hostapd_drv_br_delete_ip_neigh
    - ipaddr_str
    - ntohs
    - WPA_GET_BE32
    - ap_get_sta
    linkageType: ''
    returnType: void
    signature: "void handle_dhcp(void *ctx, const u8 *src_addr, const u8 *buf,\n\t\t\tsize_t
      len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: x_snoop_get_l2_packet
      Src: /src/hostap/src/ap/dhcp_snoop.c:143,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dhcp_snoop.c:146,1
    - Dst: strerror
      Src: /src/hostap/src/ap/dhcp_snoop.c:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 153
    functionName: dhcp_snoop_init
    functionSourceFile: /src/hostap/src/ap/dhcp_snoop.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - strerror
    - x_snoop_get_l2_packet
    linkageType: ''
    returnType: int
    signature: int dhcp_snoop_init(struct hostapd_data *hapd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: l2_packet_deinit
      Src: /src/hostap/src/ap/dhcp_snoop.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: dhcp_snoop_deinit
    functionSourceFile: /src/hostap/src/ap/dhcp_snoop.c
    functionUses: 0
    functionsReached:
    - l2_packet_deinit
    linkageType: ''
    returnType: void
    signature: void dhcp_snoop_deinit(struct hostapd_data *hapd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: WPA_PUT_BE24
      Src: /src/hostap/src/ap/hs20.c:29,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/ap/hs20.c:39,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - hapd
    - eid
    argTypes:
    - struct hostapd_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 44
    functionName: hostapd_eid_hs20_indication
    functionSourceFile: /src/hostap/src/ap/hs20.c
    functionUses: 3
    functionsReached:
    - WPA_PUT_BE24
    - WPA_PUT_LE16
    linkageType: ''
    returnType: u8
    signature: u8 * hostapd_eid_hs20_indication(struct hostapd_data *hapd, u8 *eid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/ap/hs20.c:57,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/hs20.c:57,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/hs20.c:61,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/hs20.c:62,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/hs20.c:63,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/hs20.c:64,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/hs20.c:67,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/hs20.c:68,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/hs20.c:68,1
    - Dst: wpabuf_put_be24
      Src: /src/hostap/src/ap/hs20.c:69,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/hs20.c:70,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/ap/hs20.c:71,1
    - Dst: hostapd_drv_send_action
      Src: /src/hostap/src/ap/hs20.c:73,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/hs20.c:74,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/hs20.c:74,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/hs20.c:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - hapd
    - addr
    - payload
    argTypes:
    - struct hostapd_data*
    - u8*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 47
    functionDepth: 3
    functionLinenumber: 47
    functionLinenumberEnd: 79
    functionName: hs20_send_wnm_notification_deauth_req
    functionSourceFile: /src/hostap/src/ap/hs20.c
    functionUses: 2
    functionsReached:
    - hostapd_drv_send_action
    - wpabuf_put_u8
    - wpabuf_len
    - wpabuf_free
    - wpabuf_head
    - wpabuf_put_buf
    - wpabuf_alloc
    - wpabuf_put_be24
    linkageType: ''
    returnType: int
    signature: "int hs20_send_wnm_notification_deauth_req(struct hostapd_data *hapd,\n\t\t\t\t\t
      \ const u8 *addr,\n\t\t\t\t\t  const struct wpabuf *payload)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hs20.c:90,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/hs20.c:94,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hs20.c:96,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/ap/hs20.c:102,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/hs20.c:106,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/hs20.c:107,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/hs20.c:108,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/hs20.c:109,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/hs20.c:112,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/hs20.c:113,1
    - Dst: wpabuf_put_be24
      Src: /src/hostap/src/ap/hs20.c:114,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/hs20.c:115,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/hs20.c:116,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/ap/hs20.c:117,1
    - Dst: hostapd_drv_send_action
      Src: /src/hostap/src/ap/hs20.c:119,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/hs20.c:120,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/hs20.c:120,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/hs20.c:122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 3
    argNames:
    - hapd
    - addr
    - url
    argTypes:
    - struct hostapd_data*
    - u8*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 82
    functionDepth: 3
    functionLinenumber: 82
    functionLinenumberEnd: 125
    functionName: hs20_send_wnm_notification_t_c
    functionSourceFile: /src/hostap/src/ap/hs20.c
    functionUses: 1
    functionsReached:
    - os_strlen
    - wpa_printf
    - hostapd_drv_send_action
    - wpabuf_put_u8
    - wpabuf_put_str
    - wpabuf_len
    - wpabuf_free
    - wpabuf_head
    - wpabuf_alloc
    - wpabuf_put_be24
    linkageType: ''
    returnType: int
    signature: "int hs20_send_wnm_notification_t_c(struct hostapd_data *hapd,\n\t\t\t\t
      \  const u8 *addr, const char *url)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hs20.c:132,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/hs20.c:134,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/hs20.c:137,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/hs20.c:138,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hs20.c:140,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/hs20.c:142,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/hs20.c:145,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/hs20.c:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - hapd
    - sta
    - enabled
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 148
    functionName: hs20_t_c_filtering
    functionSourceFile: /src/hostap/src/ap/hs20.c
    functionUses: 2
    functionsReached:
    - MAC2STR
    - wpa_printf
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: "void hs20_t_c_filtering(struct hostapd_data *hapd, struct sta_info
      *sta,\n\t\t\tint enabled)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: ieee802_1x_alloc_kay_sm_hapd
    functionSourceFile: /src/hostap/src/ap/wpa_auth_kay.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ieee802_1x_alloc_kay_sm_hapd(struct hostapd_data *hapd,\n\t\t\t\t\t
      \      struct sta_info *sta)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: ieee802_1x_notify_create_actor_hapd
    functionSourceFile: /src/hostap/src/ap/wpa_auth_kay.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void *\nieee802_1x_notify_create_actor_hapd(struct hostapd_data *hapd,\n\t\t\t\t
      \   struct sta_info *sta)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: ieee802_1x_dealloc_kay_sm_hapd
    functionSourceFile: /src/hostap/src/ap/wpa_auth_kay.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ieee802_1x_dealloc_kay_sm_hapd(struct hostapd_data *hapd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 47
    functionName: ieee802_1x_create_preshared_mka_hapd
    functionSourceFile: /src/hostap/src/ap/wpa_auth_kay.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void *\nieee802_1x_create_preshared_mka_hapd(struct hostapd_data *hapd,\n\t\t\t\t
      \    struct sta_info *sta)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_drv_set_countermeasures
      Src: /src/hostap/src/ap/tkip_countermeasures.c:28,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/tkip_countermeasures.c:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 31
    functionName: ieee80211_tkip_countermeasures_stop
    functionSourceFile: /src/hostap/src/ap/tkip_countermeasures.c
    functionUses: 0
    functionsReached:
    - hostapd_logger
    - hostapd_drv_set_countermeasures
    linkageType: ''
    returnType: void
    signature: "void ieee80211_tkip_countermeasures_stop(void *eloop_ctx,\n\t\t\t\t\t\tvoid
      *timeout_ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/tkip_countermeasures.c:38,1
    - Dst: wpa_auth_countermeasures_start
      Src: /src/hostap/src/ap/tkip_countermeasures.c:41,1
    - Dst: hostapd_drv_set_countermeasures
      Src: /src/hostap/src/ap/tkip_countermeasures.c:43,1
    - Dst: wpa_gtk_rekey
      Src: /src/hostap/src/ap/tkip_countermeasures.c:44,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/tkip_countermeasures.c:45,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/tkip_countermeasures.c:46,1
    - Dst: mlme_deauthenticate_indication
      Src: /src/hostap/src/ap/tkip_countermeasures.c:52,1
    - Dst: hostapd_drv_sta_deauth
      Src: /src/hostap/src/ap/tkip_countermeasures.c:56,1
    - Dst: ap_free_sta
      Src: /src/hostap/src/ap/tkip_countermeasures.c:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 34
    functionDepth: 12
    functionLinenumber: 34
    functionLinenumberEnd: 60
    functionName: ieee80211_tkip_countermeasures_start
    functionSourceFile: /src/hostap/src/ap/tkip_countermeasures.c
    functionUses: 0
    functionsReached:
    - wpa_auth_countermeasures_start
    - eloop_cancel_timeout
    - ap_free_sta
    - hostapd_drv_sta_deauth
    - hostapd_drv_set_countermeasures
    - hostapd_logger
    - eloop_register_timeout
    - mlme_deauthenticate_indication
    - wpa_gtk_rekey
    linkageType: ''
    returnType: void
    signature: void ieee80211_tkip_countermeasures_start(struct hostapd_data *hapd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/tkip_countermeasures.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: ieee80211_tkip_countermeasures_deinit
    functionSourceFile: /src/hostap/src/ap/tkip_countermeasures.c
    functionUses: 0
    functionsReached:
    - eloop_cancel_timeout
    linkageType: ''
    returnType: void
    signature: void ieee80211_tkip_countermeasures_deinit(struct hostapd_data *hapd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/tkip_countermeasures.c:74,1
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/tkip_countermeasures.c:80,1
    - Dst: wpa_auth_sta_local_mic_failure_report
      Src: /src/hostap/src/ap/tkip_countermeasures.c:82,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/tkip_countermeasures.c:83,1
    - Dst: mlme_michaelmicfailure_indication
      Src: /src/hostap/src/ap/tkip_countermeasures.c:87,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/tkip_countermeasures.c:89,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/tkip_countermeasures.c:92,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/ap/tkip_countermeasures.c:97,1
    - Dst: os_reltime_expired
      Src: /src/hostap/src/ap/tkip_countermeasures.c:98,1
    - Dst: ieee80211_tkip_countermeasures_start
      Src: /src/hostap/src/ap/tkip_countermeasures.c:103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - hapd
    - addr
    - local
    argTypes:
    - struct hostapd_data*
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 69
    functionDepth: 13
    functionLinenumber: 69
    functionLinenumberEnd: 110
    functionName: michael_mic_failure
    functionSourceFile: /src/hostap/src/ap/tkip_countermeasures.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - os_get_reltime
    - hostapd_logger
    - MAC2STR
    - ieee80211_tkip_countermeasures_start
    - wpa_auth_sta_local_mic_failure_report
    - mlme_michaelmicfailure_indication
    - os_reltime_expired
    - ap_get_sta
    linkageType: ''
    returnType: int
    signature: int michael_mic_failure(struct hostapd_data *hapd, const u8 *addr,
      int local)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/vlan_init.c:32,1
    - Dst: iface_exists
      Src: /src/hostap/src/ap/vlan_init.c:39,1
    - Dst: hostapd_vlan_if_add
      Src: /src/hostap/src/ap/vlan_init.c:40,1
    - Dst: ifconfig_up
      Src: /src/hostap/src/ap/vlan_init.c:49,1
    - Dst: wpa_auth_ensure_group
      Src: /src/hostap/src/ap/vlan_init.c:52,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/vlan_init.c:57,1
    - Dst: wpa_auth_release_group
      Src: /src/hostap/src/ap/vlan_init.c:59,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/vlan_init.c:60,1
    - Dst: hostapd_vlan_if_remove
      Src: /src/hostap/src/ap/vlan_init.c:63,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/vlan_init.c:64,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 3
    argNames:
    - hapd
    - vlan
    - existsok
    argTypes:
    - struct hostapd_data*
    - struct hostapd_vlan*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 22
    functionDepth: 6
    functionLinenumber: 22
    functionLinenumberEnd: 67
    functionName: vlan_if_add
    functionSourceFile: /src/hostap/src/ap/vlan_init.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - hostapd_vlan_if_remove
    - ifconfig_up
    - iface_exists
    - hostapd_vlan_if_add
    - wpa_auth_ensure_group
    - wpa_auth_release_group
    linkageType: ''
    returnType: int
    signature: "int vlan_if_add(struct hostapd_data *hapd, struct hostapd_vlan *vlan,\n\t\t
      \      int existsok)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_auth_release_group
      Src: /src/hostap/src/ap/vlan_init.c:74,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/vlan_init.c:76,1
    - Dst: hostapd_vlan_if_remove
      Src: /src/hostap/src/ap/vlan_init.c:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - hapd
    - vlan
    argTypes:
    - struct hostapd_data*
    - struct hostapd_vlan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 70
    functionDepth: 3
    functionLinenumber: 70
    functionLinenumberEnd: 81
    functionName: vlan_if_remove
    functionSourceFile: /src/hostap/src/ap/vlan_init.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - wpa_auth_release_group
    - hostapd_vlan_if_remove
    linkageType: ''
    returnType: int
    signature: int vlan_if_remove(struct hostapd_data *hapd, struct hostapd_vlan *vlan)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlan_if_add
      Src: /src/hostap/src/ap/vlan_init.c:89,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/vlan_init.c:90,1
    - Dst: strerror
      Src: /src/hostap/src/ap/vlan_init.c:92,1
    - Dst: vlan_newlink
      Src: /src/hostap/src/ap/vlan_init.c:96,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - hapd
    - vlan
    argTypes:
    - struct hostapd_data*
    - struct hostapd_vlan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 84
    functionDepth: 7
    functionLinenumber: 84
    functionLinenumberEnd: 104
    functionName: vlan_dynamic_add
    functionSourceFile: /src/hostap/src/ap/vlan_init.c
    functionUses: 0
    functionsReached:
    - vlan_newlink
    - wpa_printf
    - strerror
    - vlan_if_add
    linkageType: ''
    returnType: int
    signature: "int vlan_dynamic_add(struct hostapd_data *hapd,\n\t\t\t    struct
      hostapd_vlan *vlan)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlan_dellink
      Src: /src/hostap/src/ap/vlan_init.c:118,1
    - Dst: vlan_if_remove
      Src: /src/hostap/src/ap/vlan_init.c:121,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/vlan_init.c:122,1
    - Dst: strerror
      Src: /src/hostap/src/ap/vlan_init.c:124,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - hapd
    - vlan
    argTypes:
    - struct hostapd_data*
    - struct hostapd_vlan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 107
    functionDepth: 4
    functionLinenumber: 107
    functionLinenumberEnd: 130
    functionName: vlan_dynamic_remove
    functionSourceFile: /src/hostap/src/ap/vlan_init.c
    functionUses: 0
    functionsReached:
    - vlan_if_remove
    - wpa_printf
    - vlan_dellink
    - strerror
    linkageType: ''
    returnType: void
    signature: "void vlan_dynamic_remove(struct hostapd_data *hapd,\n\t\t\t\tstruct
      hostapd_vlan *vlan)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: full_dynamic_vlan_init
      Src: /src/hostap/src/ap/vlan_init.c:136,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/vlan_init.c:146,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/vlan_init.c:148,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/vlan_init.c:154,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/vlan_init.c:157,1
    - Dst: os_free
      Src: /src/hostap/src/ap/vlan_init.c:161,1
    - Dst: vlan_dynamic_add
      Src: /src/hostap/src/ap/vlan_init.c:168,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 133
    functionDepth: 8
    functionLinenumber: 133
    functionLinenumberEnd: 172
    functionName: vlan_init
    functionSourceFile: /src/hostap/src/ap/vlan_init.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - os_snprintf
    - os_zalloc
    - vlan_dynamic_add
    - os_free
    - full_dynamic_vlan_init
    linkageType: ''
    returnType: int
    signature: int vlan_init(struct hostapd_data *hapd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlan_dynamic_remove
      Src: /src/hostap/src/ap/vlan_init.c:177,1
    - Dst: full_dynamic_vlan_deinit
      Src: /src/hostap/src/ap/vlan_init.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 175
    functionDepth: 5
    functionLinenumber: 175
    functionLinenumberEnd: 183
    functionName: vlan_deinit
    functionSourceFile: /src/hostap/src/ap/vlan_init.c
    functionUses: 1
    functionsReached:
    - vlan_dynamic_remove
    - full_dynamic_vlan_deinit
    linkageType: ''
    returnType: void
    signature: void vlan_deinit(struct hostapd_data *hapd)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/vlan_init.c:198,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/ap/vlan_init.c:200,1
    - Dst: os_strchr
      Src: /src/hostap/src/ap/vlan_init.c:201,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/vlan_init.c:206,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/vlan_init.c:215,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/vlan_init.c:217,1
    - Dst: os_free
      Src: /src/hostap/src/ap/vlan_init.c:218,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/ap/vlan_init.c:221,1
    - Dst: vlan_if_add
      Src: /src/hostap/src/ap/vlan_init.c:227,1
    - Dst: os_free
      Src: /src/hostap/src/ap/vlan_init.c:229,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 4
    argNames:
    - hapd
    - vlan
    - vlan_id
    - vlan_desc
    argTypes:
    - struct hostapd_data*
    - struct hostapd_vlan*
    - int
    - struct vlan_description*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 186
    functionDepth: 7
    functionLinenumber: 186
    functionLinenumberEnd: 234
    functionName: vlan_add_dynamic
    functionSourceFile: /src/hostap/src/ap/vlan_init.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - os_strlcpy
    - os_snprintf
    - os_zalloc
    - os_free
    - os_strchr
    - vlan_if_add
    - os_snprintf_error
    linkageType: ''
    returnType: struct hostapd_vlan
    signature: "struct hostapd_vlan * vlan_add_dynamic(struct hostapd_data *hapd,\n\t\t\t\t
      \      struct hostapd_vlan *vlan,\n\t\t\t\t       int vlan_id,\n\t\t\t\t       struct
      vlan_description *vlan_desc)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/vlan_init.c:244,1
    - Dst: vlan_if_remove
      Src: /src/hostap/src/ap/vlan_init.c:260,1
    - Dst: vlan_dellink
      Src: /src/hostap/src/ap/vlan_init.c:262,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - hapd
    - vlan_id
    argTypes:
    - struct hostapd_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 237
    functionDepth: 4
    functionLinenumber: 237
    functionLinenumberEnd: 267
    functionName: vlan_remove_dynamic
    functionSourceFile: /src/hostap/src/ap/vlan_init.c
    functionUses: 3
    functionsReached:
    - vlan_if_remove
    - wpa_printf
    - vlan_dellink
    linkageType: ''
    returnType: int
    signature: int vlan_remove_dynamic(struct hostapd_data *hapd, int vlan_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - aifsn
    - acm
    - aci
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 32
    functionName: wmm_aci_aifsn
    functionSourceFile: /src/hostap/src/ap/wmm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 wmm_aci_aifsn(int aifsn, int acm, int aci)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ecwmin
    - ecwmax
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: wmm_ecw
    functionSourceFile: /src/hostap/src/ap/wmm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 wmm_ecw(int ecwmin, int ecwmax)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MAX
      Src: /src/hostap/src/ap/wmm.c:50,1
    - Dst: MAX
      Src: /src/hostap/src/ap/wmm.c:51,1
    - Dst: MAX
      Src: /src/hostap/src/ap/wmm.c:52,1
    - Dst: MIN
      Src: /src/hostap/src/ap/wmm.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - wmm_conf
    - wmm
    - wmm_reg
    argTypes:
    - struct hostapd_wmm_ac_params*
    - struct hostapd_wmm_ac_params*
    - struct hostapd_wmm_rule*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 58
    functionName: wmm_set_regulatory_limit
    functionSourceFile: /src/hostap/src/ap/wmm.c
    functionUses: 0
    functionsReached:
    - MAX
    - MIN
    linkageType: ''
    returnType: void
    signature: "void wmm_set_regulatory_limit(const struct hostapd_wmm_ac_params *wmm_conf,\n\t\t\t
      struct hostapd_wmm_ac_params *wmm,\n\t\t\t const struct hostapd_wmm_rule *wmm_reg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wmm.c:70,1
    - Dst: wmm_set_regulatory_limit
      Src: /src/hostap/src/ap/wmm.c:80,1
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/wmm.c:89,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wmm.c:91,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - hapd
    - acp
    argTypes:
    - struct hostapd_data*
    - struct hostapd_wmm_ac_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 95
    functionName: wmm_calc_regulatory_limit
    functionSourceFile: /src/hostap/src/ap/wmm.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wmm_set_regulatory_limit
    - os_memcmp
    linkageType: ''
    returnType: void
    signature: "void wmm_calc_regulatory_limit(struct hostapd_data *hapd,\n\t\t\t\t
      \     struct hostapd_wmm_ac_params *acp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/ap/wmm.c:110,1
    - Dst: wmm_calc_regulatory_limit
      Src: /src/hostap/src/ap/wmm.c:114,1
    - Dst: wmm_aci_aifsn
      Src: /src/hostap/src/ap/wmm.c:135,1
    - Dst: wmm_ecw
      Src: /src/hostap/src/ap/wmm.c:138,1
    - Dst: host_to_le16
      Src: /src/hostap/src/ap/wmm.c:139,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - hapd
    - eid
    argTypes:
    - struct hostapd_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 102
    functionDepth: 3
    functionLinenumber: 102
    functionLinenumberEnd: 146
    functionName: hostapd_eid_wmm
    functionSourceFile: /src/hostap/src/ap/wmm.c
    functionUses: 2
    functionsReached:
    - wmm_aci_aifsn
    - wmm_calc_regulatory_limit
    - wmm_ecw
    - host_to_le16
    - os_memset
    linkageType: ''
    returnType: u8
    signature: u8 * hostapd_eid_wmm(struct hostapd_data *hapd, u8 *eid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wmm.c:158,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wmm.c:161,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wmm.c:167,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wmm.c:173,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - hapd
    - eid
    - len
    argTypes:
    - struct hostapd_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 178
    functionName: hostapd_eid_wmm_valid
    functionSourceFile: /src/hostap/src/ap/wmm.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    linkageType: ''
    returnType: int
    signature: int hostapd_eid_wmm_valid(struct hostapd_data *hapd, const u8 *eid,
      size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/wmm.c:191,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/wmm.c:194,1
    - Dst: IEEE80211_FC
      Src: /src/hostap/src/ap/wmm.c:195,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wmm.c:197,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wmm.c:198,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wmm.c:199,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wmm.c:204,1
    - Dst: hostapd_drv_send_mlme
      Src: /src/hostap/src/ap/wmm.c:207,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wmm.c:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 6
    argNames:
    - hapd
    - addr
    - tspec
    - action_code
    - dialogue_token
    - status_code
    argTypes:
    - struct hostapd_data*
    - u8*
    - struct wmm_tspec_element*
    - u8
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 209
    functionName: wmm_send_action
    functionSourceFile: /src/hostap/src/ap/wmm.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_printf
    - hostapd_drv_send_mlme
    - hostapd_logger
    - IEEE80211_FC
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void wmm_send_action(struct hostapd_data *hapd, const u8 *addr,\n\t\t\t
      \   const struct wmm_tspec_element *tspec,\n\t\t\t    u8 action_code, u8 dialogue_token,
      u8 status_code)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wmm.c:223,1
    - Dst: le_to_host16
      Src: /src/hostap/src/ap/wmm.c:225,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wmm.c:226,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wmm.c:228,1
    - Dst: le_to_host32
      Src: /src/hostap/src/ap/wmm.c:229,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wmm.c:230,1
    - Dst: le_to_host32
      Src: /src/hostap/src/ap/wmm.c:231,1
    - Dst: le_to_host16
      Src: /src/hostap/src/ap/wmm.c:232,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wmm.c:233,1
    - Dst: le_to_host16
      Src: /src/hostap/src/ap/wmm.c:236,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wmm.c:238,1
    - Dst: le_to_host32
      Src: /src/hostap/src/ap/wmm.c:242,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wmm.c:243,1
    - Dst: le_to_host32
      Src: /src/hostap/src/ap/wmm.c:246,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wmm.c:247,1
    - Dst: le_to_host16
      Src: /src/hostap/src/ap/wmm.c:251,1
    - Dst: le_to_host32
      Src: /src/hostap/src/ap/wmm.c:252,1
    - Dst: le_to_host16
      Src: /src/hostap/src/ap/wmm.c:257,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wmm.c:259,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wmm.c:265,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wmm.c:275,1
    - Dst: host_to_le16
      Src: /src/hostap/src/ap/wmm.c:281,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 37
    argCount: 1
    argNames:
    - tspec
    argTypes:
    - struct wmm_tspec_element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 284
    functionName: wmm_process_tspec
    functionSourceFile: /src/hostap/src/ap/wmm.c
    functionUses: 1
    functionsReached:
    - le_to_host16
    - le_to_host32
    - wpa_printf
    - host_to_le16
    linkageType: ''
    returnType: int
    signature: int wmm_process_tspec(struct wmm_tspec_element *tspec)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wmm.c:296,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wmm.c:300,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wmm.c:303,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wmm.c:305,1
    - Dst: wmm_process_tspec
      Src: /src/hostap/src/ap/wmm.c:306,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wmm.c:307,1
    - Dst: wmm_send_action
      Src: /src/hostap/src/ap/wmm.c:309,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - hapd
    - mgmt
    - tspec
    - len
    argTypes:
    - struct hostapd_data*
    - struct ieee80211_mgmt*
    - struct wmm_tspec_element*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 287
    functionDepth: 2
    functionLinenumber: 287
    functionLinenumberEnd: 311
    functionName: wmm_addts_req
    functionSourceFile: /src/hostap/src/ap/wmm.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wmm_send_action
    - MAC2STR
    - wmm_process_tspec
    linkageType: ''
    returnType: void
    signature: "void wmm_addts_req(struct hostapd_data *hapd,\n\t\t\t  const struct
      ieee80211_mgmt *mgmt,\n\t\t\t  const struct wmm_tspec_element *tspec, size_t
      len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/wmm.c:321,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/wmm.c:327,1
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/src/ap/wmm.c:339,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/wmm.c:340,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/wmm.c:351,1
    - Dst: wmm_addts_req
      Src: /src/hostap/src/ap/wmm.c:366,1
    - Dst: wmm_setup_request
      Src: /src/hostap/src/ap/wmm.c:372,1
    - Dst: wmm_teardown
      Src: /src/hostap/src/ap/wmm.c:376,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/wmm.c:381,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - hapd
    - mgmt
    - len
    argTypes:
    - struct hostapd_data*
    - struct ieee80211_mgmt*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 314
    functionDepth: 3
    functionLinenumber: 314
    functionLinenumberEnd: 385
    functionName: hostapd_wmm_action
    functionSourceFile: /src/hostap/src/ap/wmm.c
    functionUses: 0
    functionsReached:
    - hostapd_logger
    - ieee802_11_parse_elems
    - wmm_addts_req
    - ap_get_sta
    - wmm_teardown
    - wmm_setup_request
    linkageType: ''
    returnType: void
    signature: "void hostapd_wmm_action(struct hostapd_data *hapd,\n\t\t\tconst struct
      ieee80211_mgmt *mgmt, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - hapd
    - sta
    - pos
    - len
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 125
    functionName: hostapd_update_dscp_policy_capability
    functionSourceFile: /src/hostap/src/ap/robust_av.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void hostapd_update_dscp_policy_capability(struct hostapd_data *hapd,\n\t\t\t\t
      \     struct sta_info *sta,\n\t\t\t\t      const u8 *pos, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sta
    argTypes:
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 129
    functionName: free_dscp_policies
    functionSourceFile: /src/hostap/src/ap/robust_av.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void free_dscp_policies(struct sta_info *sta)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/src/ap/vlan_full.c:60,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/vlan_full.c:73,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/ap/vlan_full.c:76,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - hapd
    - ifname
    - clean
    argTypes:
    - struct hostapd_data*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 81
    functionName: dyn_iface_get
    functionSourceFile: /src/hostap/src/ap/vlan_full.c
    functionUses: 0
    functionsReached:
    - os_zalloc
    - os_strlcpy
    - os_strcmp
    linkageType: ''
    returnType: void
    signature: "void dyn_iface_get(struct hostapd_data *hapd, const char *ifname,\n\t\t\t
      \ int clean)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/src/ap/vlan_full.c:97,1
    - Dst: os_free
      Src: /src/hostap/src/ap/vlan_full.c:114,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - hapd
    - ifname
    argTypes:
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 117
    functionName: dyn_iface_put
    functionSourceFile: /src/hostap/src/ap/vlan_full.c
    functionUses: 0
    functionsReached:
    - os_free
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: int dyn_iface_put(struct hostapd_data *hapd, const char *ifname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/vlan_full.c:122,1
    - Dst: ifconfig_helper
      Src: /src/hostap/src/ap/vlan_full.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - if_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: ifconfig_down
    functionSourceFile: /src/hostap/src/ap/vlan_full.c
    functionUses: 0
    functionsReached:
    - ifconfig_helper
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int ifconfig_down(const char *if_name)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/vlan_full.c:140,1
    - Dst: socket
      Src: /src/hostap/src/ap/vlan_full.c:141,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/vlan_full.c:142,1
    - Dst: strerror
      Src: /src/hostap/src/ap/vlan_full.c:143,1
    - Dst: linux_br_del_if
      Src: /src/hostap/src/ap/vlan_full.c:147,1
    - Dst: if_nametoindex
      Src: /src/hostap/src/ap/vlan_full.c:150,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/vlan_full.c:153,1
    - Dst: close
      Src: /src/hostap/src/ap/vlan_full.c:156,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/ap/vlan_full.c:163,1
    - Dst: ioctl
      Src: /src/hostap/src/ap/vlan_full.c:166,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/vlan_full.c:168,1
    - Dst: strerror
      Src: /src/hostap/src/ap/vlan_full.c:170,1
    - Dst: close
      Src: /src/hostap/src/ap/vlan_full.c:171,1
    - Dst: close
      Src: /src/hostap/src/ap/vlan_full.c:176,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 2
    argNames:
    - br_name
    - if_name
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 178
    functionName: br_delif
    functionSourceFile: /src/hostap/src/ap/vlan_full.c
    functionUses: 0
    functionsReached:
    - ioctl
    - wpa_printf
    - strerror
    - socket
    - os_strlcpy
    - linux_br_del_if
    - close
    - if_nametoindex
    linkageType: ''
    returnType: int
    signature: int br_delif(const char *br_name, const char *if_name)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/vlan_full.c:195,1
    - Dst: socket
      Src: /src/hostap/src/ap/vlan_full.c:196,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/vlan_full.c:197,1
    - Dst: strerror
      Src: /src/hostap/src/ap/vlan_full.c:198,1
    - Dst: linux_br_add_if
      Src: /src/hostap/src/ap/vlan_full.c:202,1
    - Dst: close
      Src: /src/hostap/src/ap/vlan_full.c:206,1
    - Dst: if_nametoindex
      Src: /src/hostap/src/ap/vlan_full.c:210,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/vlan_full.c:213,1
    - Dst: close
      Src: /src/hostap/src/ap/vlan_full.c:216,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/ap/vlan_full.c:223,1
    - Dst: ioctl
      Src: /src/hostap/src/ap/vlan_full.c:226,1
    - Dst: close
      Src: /src/hostap/src/ap/vlan_full.c:229,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/vlan_full.c:233,1
    - Dst: strerror
      Src: /src/hostap/src/ap/vlan_full.c:235,1
    - Dst: close
      Src: /src/hostap/src/ap/vlan_full.c:236,1
    - Dst: close
      Src: /src/hostap/src/ap/vlan_full.c:241,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 2
    argNames:
    - br_name
    - if_name
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 243
    functionName: br_addif
    functionSourceFile: /src/hostap/src/ap/vlan_full.c
    functionUses: 0
    functionsReached:
    - ioctl
    - wpa_printf
    - strerror
    - socket
    - os_strlcpy
    - close
    - linux_br_add_if
    - if_nametoindex
    linkageType: ''
    returnType: int
    signature: int br_addif(const char *br_name, const char *if_name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/vlan_full.c:251,1
    - Dst: socket
      Src: /src/hostap/src/ap/vlan_full.c:252,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/vlan_full.c:253,1
    - Dst: strerror
      Src: /src/hostap/src/ap/vlan_full.c:254,1
    - Dst: linux_br_del
      Src: /src/hostap/src/ap/vlan_full.c:258,1
    - Dst: ioctl
      Src: /src/hostap/src/ap/vlan_full.c:264,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/vlan_full.c:266,1
    - Dst: strerror
      Src: /src/hostap/src/ap/vlan_full.c:267,1
    - Dst: close
      Src: /src/hostap/src/ap/vlan_full.c:268,1
    - Dst: close
      Src: /src/hostap/src/ap/vlan_full.c:273,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - br_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 275
    functionName: br_delbr
    functionSourceFile: /src/hostap/src/ap/vlan_full.c
    functionUses: 0
    functionsReached:
    - ioctl
    - wpa_printf
    - strerror
    - socket
    - close
    - linux_br_del
    linkageType: ''
    returnType: int
    signature: int br_delbr(const char *br_name)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/vlan_full.c:291,1
    - Dst: socket
      Src: /src/hostap/src/ap/vlan_full.c:292,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/vlan_full.c:293,1
    - Dst: strerror
      Src: /src/hostap/src/ap/vlan_full.c:294,1
    - Dst: linux_br_add
      Src: /src/hostap/src/ap/vlan_full.c:298,1
    - Dst: close
      Src: /src/hostap/src/ap/vlan_full.c:302,1
    - Dst: ioctl
      Src: /src/hostap/src/ap/vlan_full.c:309,1
    - Dst: close
      Src: /src/hostap/src/ap/vlan_full.c:312,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/vlan_full.c:315,1
    - Dst: strerror
      Src: /src/hostap/src/ap/vlan_full.c:317,1
    - Dst: close
      Src: /src/hostap/src/ap/vlan_full.c:318,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/vlan_full.c:325,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/ap/vlan_full.c:326,1
    - Dst: ioctl
      Src: /src/hostap/src/ap/vlan_full.c:332,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/vlan_full.c:333,1
    - Dst: strerror
      Src: /src/hostap/src/ap/vlan_full.c:335,1
    - Dst: close
      Src: /src/hostap/src/ap/vlan_full.c:339,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 39
    argCount: 1
    argNames:
    - br_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 341
    functionName: br_addbr
    functionSourceFile: /src/hostap/src/ap/vlan_full.c
    functionUses: 0
    functionsReached:
    - ioctl
    - wpa_printf
    - strerror
    - socket
    - os_strlcpy
    - close
    - linux_br_add
    - os_memset
    linkageType: ''
    returnType: int
    signature: int br_addbr(const char *br_name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/hostap/src/ap/vlan_full.c:353,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/vlan_full.c:354,1
    - Dst: strerror
      Src: /src/hostap/src/ap/vlan_full.c:355,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/vlan_full.c:364,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/ap/vlan_full.c:365,1
    - Dst: ioctl
      Src: /src/hostap/src/ap/vlan_full.c:368,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/vlan_full.c:369,1
    - Dst: strerror
      Src: /src/hostap/src/ap/vlan_full.c:371,1
    - Dst: close
      Src: /src/hostap/src/ap/vlan_full.c:372,1
    - Dst: close
      Src: /src/hostap/src/ap/vlan_full.c:382,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - br_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 384
    functionName: br_getnumports
    functionSourceFile: /src/hostap/src/ap/vlan_full.c
    functionUses: 0
    functionsReached:
    - ioctl
    - wpa_printf
    - strerror
    - socket
    - os_strlcpy
    - close
    - os_memset
    linkageType: ''
    returnType: int
    signature: int br_getnumports(const char *br_name)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/vlan_full.c:396,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/vlan_full.c:399,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/vlan_full.c:402,1
    - Dst: ifconfig_up
      Src: /src/hostap/src/ap/vlan_full.c:407,1
    - Dst: vlan_add
      Src: /src/hostap/src/ap/vlan_full.c:408,1
    - Dst: br_addif
      Src: /src/hostap/src/ap/vlan_full.c:411,1
    - Dst: dyn_iface_get
      Src: /src/hostap/src/ap/vlan_full.c:414,1
    - Dst: ifconfig_up
      Src: /src/hostap/src/ap/vlan_full.c:416,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - vlan_naming
    - tagged_interface
    - br_name
    - vid
    - hapd
    argTypes:
    - int
    - char*
    - char*
    - int
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 387
    functionDepth: 2
    functionLinenumber: 387
    functionLinenumberEnd: 417
    functionName: vlan_newlink_tagged
    functionSourceFile: /src/hostap/src/ap/vlan_full.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - ifconfig_up
    - dyn_iface_get
    - os_snprintf
    - br_addif
    - vlan_add
    linkageType: ''
    returnType: void
    signature: "void vlan_newlink_tagged(int vlan_naming, const char *tagged_interface,\n\t\t\t\tconst
      char *br_name, int vid,\n\t\t\t\tstruct hostapd_data *hapd)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_strlcpy
      Src: /src/hostap/src/ap/vlan_full.c:427,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/vlan_full.c:430,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/vlan_full.c:433,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/vlan_full.c:436,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/vlan_full.c:439,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - br_name
    - hapd
    - vlan
    - vid
    argTypes:
    - char*
    - struct hostapd_data*
    - struct hostapd_vlan*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 442
    functionName: vlan_bridge_name
    functionSourceFile: /src/hostap/src/ap/vlan_full.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - wpa_printf
    - os_strlcpy
    linkageType: ''
    returnType: void
    signature: "void vlan_bridge_name(char *br_name, struct hostapd_data *hapd,\n\t\t\t
      \    struct hostapd_vlan *vlan, int vid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dyn_iface_get
      Src: /src/hostap/src/ap/vlan_full.c:451,1
    - Dst: br_addbr
      Src: /src/hostap/src/ap/vlan_full.c:451,1
    - Dst: ifconfig_up
      Src: /src/hostap/src/ap/vlan_full.c:453,1
    - Dst: vlan_newlink_tagged
      Src: /src/hostap/src/ap/vlan_full.c:456,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - br_name
    - hapd
    - vid
    argTypes:
    - char*
    - struct hostapd_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 445
    functionDepth: 3
    functionLinenumber: 445
    functionLinenumberEnd: 458
    functionName: vlan_get_bridge
    functionSourceFile: /src/hostap/src/ap/vlan_full.c
    functionUses: 0
    functionsReached:
    - vlan_newlink_tagged
    - ifconfig_up
    - br_addbr
    - dyn_iface_get
    linkageType: ''
    returnType: void
    signature: "void vlan_get_bridge(const char *br_name, struct hostapd_data *hapd,\n\t\t\t
      \   int vid)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/vlan_full.c:468,1
    - Dst: hostapd_mld_get_first_bss
      Src: /src/hostap/src/ap/vlan_full.c:472,1
    - Dst: os_strcmp
      Src: /src/hostap/src/ap/vlan_full.c:479,1
    - Dst: br_addif
      Src: /src/hostap/src/ap/vlan_full.c:495,1
    - Dst: vlan_bridge_name
      Src: /src/hostap/src/ap/vlan_full.c:498,1
    - Dst: vlan_get_bridge
      Src: /src/hostap/src/ap/vlan_full.c:500,1
    - Dst: br_addif
      Src: /src/hostap/src/ap/vlan_full.c:502,1
    - Dst: vlan_bridge_name
      Src: /src/hostap/src/ap/vlan_full.c:511,1
    - Dst: vlan_get_bridge
      Src: /src/hostap/src/ap/vlan_full.c:512,1
    - Dst: vlan_newlink_tagged
      Src: /src/hostap/src/ap/vlan_full.c:513,1
    - Dst: ifconfig_up
      Src: /src/hostap/src/ap/vlan_full.c:517,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 36
    argCount: 2
    argNames:
    - ifname
    - hapd
    argTypes:
    - char*
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 461
    functionDepth: 4
    functionLinenumber: 461
    functionLinenumberEnd: 518
    functionName: vlan_newlink
    functionSourceFile: /src/hostap/src/ap/vlan_full.c
    functionUses: 1
    functionsReached:
    - hostapd_mld_get_first_bss
    - wpa_printf
    - vlan_bridge_name
    - vlan_newlink_tagged
    - ifconfig_up
    - vlan_get_bridge
    - br_addif
    - os_strcmp
    linkageType: ''
    returnType: void
    signature: void vlan_newlink(const char *ifname, struct hostapd_data *hapd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/vlan_full.c:530,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/vlan_full.c:533,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/vlan_full.c:536,1
    - Dst: dyn_iface_put
      Src: /src/hostap/src/ap/vlan_full.c:541,1
    - Dst: br_delif
      Src: /src/hostap/src/ap/vlan_full.c:544,1
    - Dst: ifconfig_down
      Src: /src/hostap/src/ap/vlan_full.c:547,1
    - Dst: vlan_rem
      Src: /src/hostap/src/ap/vlan_full.c:548,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 5
    argNames:
    - vlan_naming
    - tagged_interface
    - br_name
    - vid
    - hapd
    argTypes:
    - int
    - char*
    - char*
    - int
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 521
    functionDepth: 2
    functionLinenumber: 521
    functionLinenumberEnd: 550
    functionName: vlan_dellink_tagged
    functionSourceFile: /src/hostap/src/ap/vlan_full.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - br_delif
    - os_snprintf
    - vlan_rem
    - ifconfig_down
    - dyn_iface_put
    linkageType: ''
    returnType: void
    signature: "void vlan_dellink_tagged(int vlan_naming, const char *tagged_interface,\n\t\t\t\tconst
      char *br_name, int vid,\n\t\t\t\tstruct hostapd_data *hapd)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlan_dellink_tagged
      Src: /src/hostap/src/ap/vlan_full.c:561,1
    - Dst: dyn_iface_put
      Src: /src/hostap/src/ap/vlan_full.c:564,1
    - Dst: br_getnumports
      Src: /src/hostap/src/ap/vlan_full.c:565,1
    - Dst: ifconfig_down
      Src: /src/hostap/src/ap/vlan_full.c:566,1
    - Dst: br_delbr
      Src: /src/hostap/src/ap/vlan_full.c:567,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - br_name
    - hapd
    - vid
    argTypes:
    - char*
    - struct hostapd_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 553
    functionDepth: 3
    functionLinenumber: 553
    functionLinenumberEnd: 569
    functionName: vlan_put_bridge
    functionSourceFile: /src/hostap/src/ap/vlan_full.c
    functionUses: 0
    functionsReached:
    - vlan_dellink_tagged
    - ifconfig_down
    - br_delbr
    - dyn_iface_put
    - br_getnumports
    linkageType: ''
    returnType: void
    signature: "void vlan_put_bridge(const char *br_name, struct hostapd_data *hapd,\n\t\t\t
      \   int vid)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/vlan_full.c:577,1
    - Dst: hostapd_mld_get_first_bss
      Src: /src/hostap/src/ap/vlan_full.c:581,1
    - Dst: os_strcmp
      Src: /src/hostap/src/ap/vlan_full.c:591,1
    - Dst: vlan_bridge_name
      Src: /src/hostap/src/ap/vlan_full.c:613,1
    - Dst: vlan_dellink_tagged
      Src: /src/hostap/src/ap/vlan_full.c:614,1
    - Dst: vlan_put_bridge
      Src: /src/hostap/src/ap/vlan_full.c:616,1
    - Dst: br_delif
      Src: /src/hostap/src/ap/vlan_full.c:623,1
    - Dst: vlan_bridge_name
      Src: /src/hostap/src/ap/vlan_full.c:625,1
    - Dst: br_delif
      Src: /src/hostap/src/ap/vlan_full.c:628,1
    - Dst: vlan_put_bridge
      Src: /src/hostap/src/ap/vlan_full.c:630,1
    - Dst: if_nametoindex
      Src: /src/hostap/src/ap/vlan_full.c:638,1
    - Dst: vlan_if_remove
      Src: /src/hostap/src/ap/vlan_full.c:638,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/vlan_full.c:639,1
    - Dst: strerror
      Src: /src/hostap/src/ap/vlan_full.c:641,1
    - Dst: os_free
      Src: /src/hostap/src/ap/vlan_full.c:648,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 44
    argCount: 2
    argNames:
    - ifname
    - hapd
    argTypes:
    - char*
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 572
    functionDepth: 4
    functionLinenumber: 572
    functionLinenumberEnd: 649
    functionName: vlan_dellink
    functionSourceFile: /src/hostap/src/ap/vlan_full.c
    functionUses: 2
    functionsReached:
    - hostapd_mld_get_first_bss
    - wpa_printf
    - vlan_put_bridge
    - vlan_dellink_tagged
    - vlan_bridge_name
    - strerror
    - if_nametoindex
    - br_delif
    - vlan_if_remove
    - os_free
    - os_strcmp
    linkageType: ''
    returnType: void
    signature: void vlan_dellink(const char *ifname, struct hostapd_data *hapd)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: NLMSG_DATA
      Src: /src/hostap/src/ap/vlan_full.c:664,1
    - Dst: NLMSG_ALIGN
      Src: /src/hostap/src/ap/vlan_full.c:666,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/vlan_full.c:674,1
    - Dst: RTA_ALIGN
      Src: /src/hostap/src/ap/vlan_full.c:675,1
    - Dst: RTA_OK
      Src: /src/hostap/src/ap/vlan_full.c:676,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/vlan_full.c:684,1
    - Dst: RTA_NEXT
      Src: /src/hostap/src/ap/vlan_full.c:688,1
    - Dst: if_nametoindex
      Src: /src/hostap/src/ap/vlan_full.c:693,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/vlan_full.c:699,1
    - Dst: vlan_dellink
      Src: /src/hostap/src/ap/vlan_full.c:709,1
    - Dst: vlan_newlink
      Src: /src/hostap/src/ap/vlan_full.c:711,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 4
    argNames:
    - h
    - len
    - del
    - hapd
    argTypes:
    - struct nlmsghdr*
    - size_t
    - int
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 652
    functionDepth: 5
    functionLinenumber: 652
    functionLinenumberEnd: 712
    functionName: vlan_read_ifnames
    functionSourceFile: /src/hostap/src/ap/vlan_full.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_printf
    - RTA_NEXT
    - vlan_dellink
    - vlan_newlink
    - NLMSG_ALIGN
    - NLMSG_DATA
    - RTA_OK
    - RTA_ALIGN
    - if_nametoindex
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void vlan_read_ifnames(struct nlmsghdr *h, size_t len, int del,\n\t\t
      \ struct hostapd_data *hapd)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: recvfrom
      Src: /src/hostap/src/ap/vlan_full.c:725,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/vlan_full.c:729,1
    - Dst: strerror
      Src: /src/hostap/src/ap/vlan_full.c:730,1
    - Dst: NLMSG_OK
      Src: /src/hostap/src/ap/vlan_full.c:735,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/vlan_full.c:741,1
    - Dst: vlan_read_ifnames
      Src: /src/hostap/src/ap/vlan_full.c:749,1
    - Dst: vlan_read_ifnames
      Src: /src/hostap/src/ap/vlan_full.c:752,1
    - Dst: NLMSG_NEXT
      Src: /src/hostap/src/ap/vlan_full.c:756,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/vlan_full.c:760,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 3
    argNames:
    - sock
    - eloop_ctx
    - sock_ctx
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 715
    functionDepth: 6
    functionLinenumber: 715
    functionLinenumberEnd: 763
    functionName: vlan_event_receive
    functionSourceFile: /src/hostap/src/ap/vlan_full.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - strerror
    - recvfrom
    - NLMSG_OK
    - NLMSG_NEXT
    - vlan_read_ifnames
    linkageType: ''
    returnType: void
    signature: void vlan_event_receive(int sock, void *eloop_ctx, void *sock_ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/vlan_full.c:772,1
    - Dst: vlan_set_name_type
      Src: /src/hostap/src/ap/vlan_full.c:776,1
    - Dst: socket
      Src: /src/hostap/src/ap/vlan_full.c:781,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/vlan_full.c:783,1
    - Dst: strerror
      Src: /src/hostap/src/ap/vlan_full.c:785,1
    - Dst: os_free
      Src: /src/hostap/src/ap/vlan_full.c:786,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/vlan_full.c:790,1
    - Dst: bind
      Src: /src/hostap/src/ap/vlan_full.c:793,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/vlan_full.c:794,1
    - Dst: strerror
      Src: /src/hostap/src/ap/vlan_full.c:795,1
    - Dst: close
      Src: /src/hostap/src/ap/vlan_full.c:796,1
    - Dst: os_free
      Src: /src/hostap/src/ap/vlan_full.c:797,1
    - Dst: eloop_register_read_sock
      Src: /src/hostap/src/ap/vlan_full.c:801,1
    - Dst: close
      Src: /src/hostap/src/ap/vlan_full.c:803,1
    - Dst: os_free
      Src: /src/hostap/src/ap/vlan_full.c:804,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 809
    functionName: full_dynamic_vlan_init
    functionSourceFile: /src/hostap/src/ap/vlan_full.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - strerror
    - eloop_register_read_sock
    - socket
    - os_zalloc
    - close
    - vlan_set_name_type
    - os_free
    - bind
    - os_memset
    linkageType: ''
    returnType: struct full_dynamic_vlan
    signature: 'struct full_dynamic_vlan *

      full_dynamic_vlan_init(struct hostapd_data *hapd)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eloop_unregister_read_sock
      Src: /src/hostap/src/ap/vlan_full.c:816,1
    - Dst: close
      Src: /src/hostap/src/ap/vlan_full.c:817,1
    - Dst: os_free
      Src: /src/hostap/src/ap/vlan_full.c:818,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - priv
    argTypes:
    - struct full_dynamic_vlan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 819
    functionName: full_dynamic_vlan_deinit
    functionSourceFile: /src/hostap/src/ap/vlan_full.c
    functionUses: 1
    functionsReached:
    - os_free
    - eloop_unregister_read_sock
    - close
    linkageType: ''
    returnType: void
    signature: void full_dynamic_vlan_deinit(struct full_dynamic_vlan *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: vlan_init
    functionSourceFile: /src/hostap/src/ap/vlan_init.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int vlan_init(struct hostapd_data *hapd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: vlan_deinit
    functionSourceFile: /src/hostap/src/ap/vlan_init.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void vlan_deinit(struct hostapd_data *hapd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - hapd
    - vlan
    - vlan_id
    - vlan_desc
    argTypes:
    - struct hostapd_data*
    - struct hostapd_vlan*
    - int
    - struct vlan_description*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: vlan_add_dynamic
    functionSourceFile: /src/hostap/src/ap/vlan_init.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: struct hostapd_vlan
    signature: "struct hostapd_vlan *\nvlan_add_dynamic(struct hostapd_data *hapd,
      struct hostapd_vlan *vlan,\n\t\t int vlan_id, struct vlan_description *vlan_desc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hapd
    - vlan_id
    argTypes:
    - struct hostapd_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: vlan_remove_dynamic
    functionSourceFile: /src/hostap/src/ap/vlan_init.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int vlan_remove_dynamic(struct hostapd_data *hapd, int vlan_id)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/drv_callbacks.c:61,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/drv_callbacks.c:62,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/drv_callbacks.c:63,1
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/src/ap/drv_callbacks.c:67,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/drv_callbacks.c:71,1
    - Dst: hostapd_eid_assoc_fils_session
      Src: /src/hostap/src/ap/drv_callbacks.c:76,1
    - Dst: hostapd_sta_assoc
      Src: /src/hostap/src/ap/drv_callbacks.c:82,1
    - Dst: ap_sta_set_authorized_flag
      Src: /src/hostap/src/ap/drv_callbacks.c:86,1
    - Dst: hostapd_set_sta_flags
      Src: /src/hostap/src/ap/drv_callbacks.c:90,1
    - Dst: ap_sta_set_authorized_event
      Src: /src/hostap/src/ap/drv_callbacks.c:92,1
    - Dst: wpa_auth_sm_event
      Src: /src/hostap/src/ap/drv_callbacks.c:93,1
    - Dst: ieee802_1x_notify_port_enabled
      Src: /src/hostap/src/ap/drv_callbacks.c:94,1
    - Dst: hostapd_new_assoc_sta
      Src: /src/hostap/src/ap/drv_callbacks.c:95,1
    - Dst: os_free
      Src: /src/hostap/src/ap/drv_callbacks.c:96,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/drv_callbacks.c:99,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/drv_callbacks.c:101,1
    - Dst: fils_hlp_deinit
      Src: /src/hostap/src/ap/drv_callbacks.c:103,1
    - Dst: hostapd_drv_sta_remove
      Src: /src/hostap/src/ap/drv_callbacks.c:111,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 52
    functionDepth: 3
    functionLinenumber: 52
    functionLinenumberEnd: 114
    functionName: hostapd_notify_assoc_fils_finish
    functionSourceFile: /src/hostap/src/ap/drv_callbacks.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - ap_sta_set_authorized_event
    - fils_hlp_deinit
    - eloop_cancel_timeout
    - hostapd_drv_sta_remove
    - wpabuf_free
    - hostapd_set_sta_flags
    - hostapd_sta_assoc
    - wpa_auth_sm_event
    - MAC2STR
    - ap_sta_set_authorized_flag
    - ieee802_11_parse_elems
    - hostapd_eid_assoc_fils_session
    - hostapd_new_assoc_sta
    - os_free
    - ieee802_1x_notify_port_enabled
    linkageType: ''
    returnType: void
    signature: "void hostapd_notify_assoc_fils_finish(struct hostapd_data *hapd,\n\t\t\t\t
      \     struct sta_info *sta)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_sa_query_timeout
      Src: /src/hostap/src/ap/drv_callbacks.c:126,1
    - Dst: ap_sta_start_sa_query
      Src: /src/hostap/src/ap/drv_callbacks.c:135,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 118
    functionDepth: 6
    functionLinenumber: 118
    functionLinenumberEnd: 141
    functionName: check_sa_query_need
    functionSourceFile: /src/hostap/src/ap/drv_callbacks.c
    functionUses: 0
    functionsReached:
    - ap_sta_start_sa_query
    - ap_check_sa_query_timeout
    linkageType: ''
    returnType: bool
    signature: bool check_sa_query_need(struct hostapd_data *hapd, struct sta_info
      *sta)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/drv_callbacks.c:158,1
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/src/ap/drv_callbacks.c:163,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/drv_callbacks.c:165,1
    - Dst: ieee802_11_defrag
      Src: /src/hostap/src/ap/drv_callbacks.c:170,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/drv_callbacks.c:172,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/drv_callbacks.c:177,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/drv_callbacks.c:178,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/drv_callbacks.c:181,1
    - Dst: ieee802_11_defrag_mle_subelem
      Src: /src/hostap/src/ap/drv_callbacks.c:198,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/drv_callbacks.c:201,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/drv_callbacks.c:221,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/ap/drv_callbacks.c:228,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/drv_callbacks.c:231,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/drv_callbacks.c:239,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/ap/drv_callbacks.c:257,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/drv_callbacks.c:265,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 74
    argCount: 4
    argNames:
    - hapd
    - sta
    - resp_ies
    - resp_ies_len
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 267
    functionName: hostapd_update_sta_links_status
    functionSourceFile: /src/hostap/src/ap/drv_callbacks.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_len
    - wpabuf_free
    - WPA_GET_LE16
    - wpabuf_head
    - ieee802_11_defrag_mle_subelem
    - ieee802_11_parse_elems
    - ieee802_11_defrag
    linkageType: ''
    returnType: int
    signature: "int hostapd_update_sta_links_status(struct hostapd_data *hapd,\n\t\t\t\t\t
      \  struct sta_info *sta,\n\t\t\t\t\t   const u8 *resp_ies,\n\t\t\t\t\t   size_t
      resp_ies_len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/drv_callbacks.c:285,1
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/drv_callbacks.c:300,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 24
    argCount: 4
    argNames:
    - iface
    - src
    - rsn
    - sta_ret
    argTypes:
    - struct hostapd_iface*
    - u8*
    - bool
    - struct sta_info**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 272
    functionDepth: 2
    functionLinenumber: 272
    functionLinenumberEnd: 313
    functionName: hostapd_find_by_sta
    functionSourceFile: /src/hostap/src/ap/drv_callbacks.c
    functionUses: 0
    functionsReached:
    - ap_get_sta
    linkageType: ''
    returnType: struct hostapd_data
    signature: "struct hostapd_data * hostapd_find_by_sta(struct hostapd_iface *iface,\n\t\t\t\t\t\t
      const u8 *src, bool rsn,\n\t\t\t\t\t\t struct sta_info **sta_ret)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/drv_callbacks.c:300,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 296
    functionDepth: 2
    functionLinenumber: 296
    functionLinenumberEnd: 307
    functionName: for_each_mld_link
    functionSourceFile: /src/hostap/src/ap/drv_callbacks.c
    functionUses: 1
    functionsReached:
    - ap_get_sta
    linkageType: ''
    returnType: void
    signature: void for_each_mld_link(p_hapd, hapd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_sta_set_authorized
      Src: /src/hostap/src/ap/drv_callbacks.c:1040,1
    - Dst: hostapd_set_sta_flags
      Src: /src/hostap/src/ap/drv_callbacks.c:1042,1
    - Dst: wpa_auth_sm_event
      Src: /src/hostap/src/ap/drv_callbacks.c:1043,1
    - Dst: ieee802_1x_notify_port_enabled
      Src: /src/hostap/src/ap/drv_callbacks.c:1045,1
    - Dst: ap_free_sta
      Src: /src/hostap/src/ap/drv_callbacks.c:1046,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1047
      start: 1038
    functionDepth: 12
    functionLinenumber: 1038
    functionLinenumberEnd: 1047
    functionName: hostapd_remove_sta
    functionSourceFile: /src/hostap/src/ap/drv_callbacks.c
    functionUses: 0
    functionsReached:
    - ap_free_sta
    - hostapd_set_sta_flags
    - wpa_auth_sm_event
    - ap_sta_set_authorized
    - ieee802_1x_notify_port_enabled
    linkageType: ''
    returnType: void
    signature: void hostapd_remove_sta(struct hostapd_data *hapd, struct sta_info
      *sta)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_is_ml_partner
      Src: /src/hostap/src/ap/drv_callbacks.c:1066,1
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/drv_callbacks.c:1069,1
    - Dst: ap_free_sta
      Src: /src/hostap/src/ap/drv_callbacks.c:1071,1
    - Dst: hostapd_remove_sta
      Src: /src/hostap/src/ap/drv_callbacks.c:1075,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - assoc_hapd
    - sta
    - addr
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1051
    functionDepth: 13
    functionLinenumber: 1051
    functionLinenumberEnd: 1076
    functionName: hostapd_notif_disassoc_mld
    functionSourceFile: /src/hostap/src/ap/drv_callbacks.c
    functionUses: 1
    functionsReached:
    - ap_free_sta
    - hostapd_remove_sta
    - hostapd_is_ml_partner
    - ap_get_sta
    linkageType: ''
    returnType: void
    signature: "void hostapd_notif_disassoc_mld(struct hostapd_data *assoc_hapd,\n\t\t\t\tstruct
      sta_info *sta, const u8 *addr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/drv_callbacks.c:1158,1
    - Dst: hostapd_find_by_sta
      Src: /src/hostap/src/ap/drv_callbacks.c:1163,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/drv_callbacks.c:1165,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/drv_callbacks.c:1168,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/drv_callbacks.c:1177,1
    - Dst: hostapd_drv_sta_disassoc
      Src: /src/hostap/src/ap/drv_callbacks.c:1180,1
    - Dst: ap_sta_disassociate
      Src: /src/hostap/src/ap/drv_callbacks.c:1181,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - hapd
    - addr
    argTypes:
    - struct hostapd_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1182
      start: 1156
    functionDepth: 8
    functionLinenumber: 1156
    functionLinenumberEnd: 1182
    functionName: hostapd_event_sta_low_ack
    functionSourceFile: /src/hostap/src/ap/drv_callbacks.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - hostapd_find_by_sta
    - ap_sta_disassociate
    - hostapd_logger
    - MAC2STR
    - hostapd_drv_sta_disassoc
    - ap_get_sta
    linkageType: ''
    returnType: void
    signature: void hostapd_event_sta_low_ack(struct hostapd_data *hapd, const u8
      *addr)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/drv_callbacks.c:1189,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/drv_callbacks.c:1213,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/drv_callbacks.c:1214,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/drv_callbacks.c:1244,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/drv_callbacks.c:1245,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/drv_callbacks.c:1249,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/drv_callbacks.c:1250,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 55
    argCount: 5
    argNames:
    - hapd
    - addr
    - smps_mode
    - chan_width
    - rx_nss
    argTypes:
    - struct hostapd_data*
    - u8*
    - enum smps_mode
    - enum chan_width
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1252
      start: 1185
    functionDepth: 2
    functionLinenumber: 1185
    functionLinenumberEnd: 1252
    functionName: hostapd_event_sta_opmode_changed
    functionSourceFile: /src/hostap/src/ap/drv_callbacks.c
    functionUses: 1
    functionsReached:
    - MAC2STR
    - wpa_msg
    - ap_get_sta
    linkageType: ''
    returnType: void
    signature: "void hostapd_event_sta_opmode_changed(struct hostapd_data *hapd, const
      u8 *addr,\n\t\t\t\t      enum smps_mode smps_mode,\n\t\t\t\t      enum chan_width
      chan_width, u8 rx_nss)"
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/drv_callbacks.c:1264,1
    - Dst: channel_width_to_string
      Src: /src/hostap/src/ap/drv_callbacks.c:1272,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/drv_callbacks.c:1276,1
    - Dst: hostapd_is_dfs_required
      Src: /src/hostap/src/ap/drv_callbacks.c:1283,1
    - Dst: hostapd_hw_get_channel
      Src: /src/hostap/src/ap/drv_callbacks.c:1286,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/drv_callbacks.c:1288,1
    - Dst: hostapd_csa_update_hwmode
      Src: /src/hostap/src/ap/drv_callbacks.c:1318,1
    - Dst: ieee80211_freq_to_chan
      Src: /src/hostap/src/ap/drv_callbacks.c:1338,1
    - Dst: ieee80211_freq_to_chan
      Src: /src/hostap/src/ap/drv_callbacks.c:1339,1
    - Dst: is_6ghz_freq
      Src: /src/hostap/src/ap/drv_callbacks.c:1376,1
    - Dst: ieee80211_freq_to_channel_ext
      Src: /src/hostap/src/ap/drv_callbacks.c:1396,1
    - Dst: hostapd_set_oper_chwidth
      Src: /src/hostap/src/ap/drv_callbacks.c:1400,1
    - Dst: hostapd_set_oper_centr_freq_seg0_idx
      Src: /src/hostap/src/ap/drv_callbacks.c:1401,1
    - Dst: hostapd_set_oper_centr_freq_seg1_idx
      Src: /src/hostap/src/ap/drv_callbacks.c:1402,1
    - Dst: hostapd_set_and_check_bw320_offset
      Src: /src/hostap/src/ap/drv_callbacks.c:1404,1
    - Dst: ieee80211_is_dfs
      Src: /src/hostap/src/ap/drv_callbacks.c:1418,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/drv_callbacks.c:1421,1
    - Dst: channel_width_to_string
      Src: /src/hostap/src/ap/drv_callbacks.c:1425,1
    - Dst: hostapd_cleanup_cs_params
      Src: /src/hostap/src/ap/drv_callbacks.c:1432,1
    - Dst: ieee802_11_set_beacon
      Src: /src/hostap/src/ap/drv_callbacks.c:1433,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/drv_callbacks.c:1435,1
    - Dst: hostapd_is_dfs_required
      Src: /src/hostap/src/ap/drv_callbacks.c:1440,1
    - Dst: hostapd_setup_interface_complete
      Src: /src/hostap/src/ap/drv_callbacks.c:1444,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/drv_callbacks.c:1446,1
    - Dst: hostapd_is_dfs_required
      Src: /src/hostap/src/ap/drv_callbacks.c:1449,1
    - Dst: hostapd_is_dfs_chan_available
      Src: /src/hostap/src/ap/drv_callbacks.c:1450,1
    - Dst: hostapd_disable_iface
      Src: /src/hostap/src/ap/drv_callbacks.c:1452,1
    - Dst: hostapd_enable_iface
      Src: /src/hostap/src/ap/drv_callbacks.c:1453,1
    - Dst: hostapd_neighbor_set_own_report
      Src: /src/hostap/src/ap/drv_callbacks.c:1457,1
    - Dst: wpa_auth_uses_ocv
      Src: /src/hostap/src/ap/drv_callbacks.c:1467,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/drv_callbacks.c:1475,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/drv_callbacks.c:1477,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 140
    argCount: 9
    argNames:
    - hapd
    - freq
    - ht
    - offset
    - width
    - cf1
    - cf2
    - punct_bitmap
    - finished
    argTypes:
    - struct hostapd_data*
    - int
    - int
    - int
    - int
    - int
    - int
    - u16
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1484
      start: 1255
    functionDepth: 10
    functionLinenumber: 1255
    functionLinenumberEnd: 1484
    functionName: hostapd_event_ch_switch
    functionSourceFile: /src/hostap/src/ap/drv_callbacks.c
    functionUses: 1
    functionsReached:
    - is_6ghz_freq
    - hostapd_is_dfs_required
    - hostapd_logger
    - hostapd_csa_update_hwmode
    - ieee80211_freq_to_channel_ext
    - wpa_printf
    - hostapd_enable_iface
    - hostapd_setup_interface_complete
    - channel_width_to_string
    - hostapd_set_oper_centr_freq_seg0_idx
    - hostapd_set_oper_centr_freq_seg1_idx
    - hostapd_hw_get_channel
    - hostapd_set_oper_chwidth
    - hostapd_neighbor_set_own_report
    - ieee80211_freq_to_chan
    - wpa_auth_uses_ocv
    - hostapd_set_and_check_bw320_offset
    - wpa_msg
    - hostapd_cleanup_cs_params
    - hostapd_disable_iface
    - ieee802_11_set_beacon
    - eloop_register_timeout
    - hostapd_is_dfs_chan_available
    - ieee80211_is_dfs
    linkageType: ''
    returnType: void
    signature: "void hostapd_event_ch_switch(struct hostapd_data *hapd, int freq,
      int ht,\n\t\t\t     int offset, int width, int cf1, int cf2,\n\t\t\t     u16
      punct_bitmap, int finished)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/drv_callbacks.c:1492,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/drv_callbacks.c:1493,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/drv_callbacks.c:1496,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/drv_callbacks.c:1497,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - hapd
    - addr
    - reason_code
    argTypes:
    - struct hostapd_data*
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1500
      start: 1487
    functionDepth: 1
    functionLinenumber: 1487
    functionLinenumberEnd: 1500
    functionName: hostapd_event_connect_failed_reason
    functionSourceFile: /src/hostap/src/ap/drv_callbacks.c
    functionUses: 1
    functionsReached:
    - MAC2STR
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: "void hostapd_event_connect_failed_reason(struct hostapd_data *hapd,\n\t\t\t\t\t
      const u8 *addr, int reason_code)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_mld_get_link_bss
      Src: /src/hostap/src/ap/drv_callbacks.c:1513,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/drv_callbacks.c:1515,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/drv_callbacks.c:1524,1
    - Dst: hw_mode_get_channel
      Src: /src/hostap/src/ap/drv_callbacks.c:1538,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/drv_callbacks.c:1547,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/drv_callbacks.c:1556,1
    - Dst: hw_get_channel_freq
      Src: /src/hostap/src/ap/drv_callbacks.c:1562,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/drv_callbacks.c:1567,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/drv_callbacks.c:1584,1
    - Dst: hostapd_set_oper_centr_freq_seg1_idx
      Src: /src/hostap/src/ap/drv_callbacks.c:1593,1
    - Dst: hostapd_set_oper_centr_freq_seg0_idx
      Src: /src/hostap/src/ap/drv_callbacks.c:1594,1
    - Dst: hostapd_set_oper_chwidth
      Src: /src/hostap/src/ap/drv_callbacks.c:1595,1
    - Dst: is_6ghz_freq
      Src: /src/hostap/src/ap/drv_callbacks.c:1597,1
    - Dst: hostapd_set_oper_centr_freq_seg0_idx
      Src: /src/hostap/src/ap/drv_callbacks.c:1598,1
    - Dst: hostapd_set_oper_centr_freq_seg0_idx
      Src: /src/hostap/src/ap/drv_callbacks.c:1602,1
    - Dst: hostapd_set_oper_chwidth
      Src: /src/hostap/src/ap/drv_callbacks.c:1605,1
    - Dst: hostapd_set_oper_chwidth
      Src: /src/hostap/src/ap/drv_callbacks.c:1608,1
    - Dst: hostapd_set_oper_centr_freq_seg1_idx
      Src: /src/hostap/src/ap/drv_callbacks.c:1611,1
    - Dst: hostapd_set_oper_chwidth
      Src: /src/hostap/src/ap/drv_callbacks.c:1616,1
    - Dst: hostapd_set_oper_centr_freq_seg0_idx
      Src: /src/hostap/src/ap/drv_callbacks.c:1618,1
    - Dst: hostapd_set_oper_chwidth
      Src: /src/hostap/src/ap/drv_callbacks.c:1625,1
    - Dst: hostapd_set_oper_centr_freq_seg0_idx
      Src: /src/hostap/src/ap/drv_callbacks.c:1626,1
    - Dst: hostapd_set_oper_centr_freq_seg1_idx
      Src: /src/hostap/src/ap/drv_callbacks.c:1628,1
    - Dst: hostapd_acs_completed
      Src: /src/hostap/src/ap/drv_callbacks.c:1636,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/drv_callbacks.c:1638,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 91
    argCount: 2
    argNames:
    - hapd
    - acs_res
    argTypes:
    - struct hostapd_data*
    - struct acs_selected_channels*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1641
      start: 1504
    functionDepth: 1
    functionLinenumber: 1504
    functionLinenumberEnd: 1641
    functionName: hostapd_acs_channel_selected
    functionSourceFile: /src/hostap/src/ap/drv_callbacks.c
    functionUses: 1
    functionsReached:
    - hostapd_acs_completed
    - wpa_printf
    - hostapd_set_oper_chwidth
    - is_6ghz_freq
    - hostapd_mld_get_link_bss
    - hostapd_logger
    - hw_mode_get_channel
    - hostapd_set_oper_centr_freq_seg0_idx
    - hw_get_channel_freq
    - hostapd_set_oper_centr_freq_seg1_idx
    linkageType: ''
    returnType: void
    signature: "void hostapd_acs_channel_selected(struct hostapd_data *hapd,\n\t\t\t\t
      \ struct acs_selected_channels *acs_res)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: random_add_randomness
      Src: /src/hostap/src/ap/drv_callbacks.c:1655,1
    - Dst: cb
      Src: /src/hostap/src/ap/drv_callbacks.c:1657,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 7
    argNames:
    - hapd
    - sa
    - da
    - bssid
    - ie
    - ie_len
    - ssi_signal
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8*
    - u8*
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1665
      start: 1645
    functionDepth: 0
    functionLinenumber: 1645
    functionLinenumberEnd: 1665
    functionName: hostapd_probe_req_rx
    functionSourceFile: /src/hostap/src/ap/drv_callbacks.c
    functionUses: 1
    functionsReached:
    - random_add_randomness
    - cb
    linkageType: ''
    returnType: int
    signature: "int hostapd_probe_req_rx(struct hostapd_data *hapd, const u8 *sa,
      const u8 *da,\n\t\t\t const u8 *bssid, const u8 *ie, size_t ie_len,\n\t\t\t
      int ssi_signal)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/drv_callbacks.c:1678,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/drv_callbacks.c:1682,1
    - Dst: hostapd_sta_auth
      Src: /src/hostap/src/ap/drv_callbacks.c:1686,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 6
    argNames:
    - ctx
    - dst
    - auth_transaction
    - status
    - ies
    - ies_len
    argTypes:
    - void*
    - u8*
    - u16
    - u16
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1687
      start: 1671
    functionDepth: 2
    functionLinenumber: 1671
    functionLinenumberEnd: 1687
    functionName: hostapd_notify_auth_ft_finish
    functionSourceFile: /src/hostap/src/ap/drv_callbacks.c
    functionUses: 0
    functionsReached:
    - hostapd_sta_auth
    - hostapd_logger
    - ap_get_sta
    linkageType: ''
    returnType: void
    signature: "void hostapd_notify_auth_ft_finish(void *ctx, const u8 *dst,\n\t\t\t\t\t
      \ u16 auth_transaction, u16 status,\n\t\t\t\t\t  const u8 *ies, size_t ies_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/drv_callbacks.c:1697,1
    - Dst: wpa_auth_sm_event
      Src: /src/hostap/src/ap/drv_callbacks.c:1700,1
    - Dst: mlme_authenticate_indication
      Src: /src/hostap/src/ap/drv_callbacks.c:1702,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/drv_callbacks.c:1704,1
    - Dst: hostapd_sta_auth
      Src: /src/hostap/src/ap/drv_callbacks.c:1709,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/drv_callbacks.c:1710,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/drv_callbacks.c:1711,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/drv_callbacks.c:1712,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 5
    argNames:
    - hapd
    - sta
    - resp
    - data
    - pub
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u16
    - struct wpabuf*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1713
      start: 1692
    functionDepth: 3
    functionLinenumber: 1692
    functionLinenumberEnd: 1713
    functionName: hostapd_notify_auth_fils_finish
    functionSourceFile: /src/hostap/src/ap/drv_callbacks.c
    functionUses: 0
    functionsReached:
    - wpabuf_len
    - wpabuf_free
    - hostapd_sta_auth
    - hostapd_logger
    - wpabuf_head
    - wpa_auth_sm_event
    - mlme_authenticate_indication
    linkageType: ''
    returnType: void
    signature: "void hostapd_notify_auth_fils_finish(struct hostapd_data *hapd,\n\t\t\t\t\t
      \   struct sta_info *sta, u16 resp,\n\t\t\t\t\t    struct wpabuf *data, int
      pub)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/drv_callbacks.c:1723,1
    - Dst: ap_sta_add
      Src: /src/hostap/src/ap/drv_callbacks.c:1725,1
    - Dst: ieee802_1x_notify_pre_auth
      Src: /src/hostap/src/ap/drv_callbacks.c:1732,1
    - Dst: wpa_auth_sta_init
      Src: /src/hostap/src/ap/drv_callbacks.c:1737,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/drv_callbacks.c:1740,1
    - Dst: wpa_ft_process_auth
      Src: /src/hostap/src/ap/drv_callbacks.c:1745,1
    - Dst: handle_auth_fils
      Src: /src/hostap/src/ap/drv_callbacks.c:1756,1
    - Dst: hostapd_sta_auth
      Src: /src/hostap/src/ap/drv_callbacks.c:1765,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 2
    argNames:
    - hapd
    - rx_auth
    argTypes:
    - struct hostapd_data*
    - struct auth_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1767
      start: 1717
    functionDepth: 9
    functionLinenumber: 1717
    functionLinenumberEnd: 1767
    functionName: hostapd_notif_auth
    functionSourceFile: /src/hostap/src/ap/drv_callbacks.c
    functionUses: 0
    functionsReached:
    - ap_sta_add
    - wpa_printf
    - wpa_ft_process_auth
    - hostapd_sta_auth
    - handle_auth_fils
    - wpa_auth_sta_init
    - ieee802_1x_notify_pre_auth
    - ap_get_sta
    linkageType: ''
    returnType: void
    signature: "void hostapd_notif_auth(struct hostapd_data *hapd,\n\t\t\t       struct
      auth_info *rx_auth)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: le_to_host16
      Src: /src/hostap/src/ap/drv_callbacks.c:1786,1
    - Dst: WLAN_FC_GET_STYPE
      Src: /src/hostap/src/ap/drv_callbacks.c:1787,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/drv_callbacks.c:1791,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/drv_callbacks.c:1794,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/drv_callbacks.c:1794,1
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/drv_callbacks.c:1796,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/drv_callbacks.c:1798,1
    - Dst: wpa_ft_action_rx
      Src: /src/hostap/src/ap/drv_callbacks.c:1803,1
    - Dst: ieee802_11_sa_query_action
      Src: /src/hostap/src/ap/drv_callbacks.c:1808,1
    - Dst: ieee802_11_rx_wnm_action_ap
      Src: /src/hostap/src/ap/drv_callbacks.c:1813,1
    - Dst: fst_rx_action
      Src: /src/hostap/src/ap/drv_callbacks.c:1819,1
    - Dst: WPA_GET_BE24
      Src: /src/hostap/src/ap/drv_callbacks.c:1828,1
    - Dst: hostapd_dpp_rx_action
      Src: /src/hostap/src/ap/drv_callbacks.c:1836,1
    - Dst: WPA_GET_BE24
      Src: /src/hostap/src/ap/drv_callbacks.c:1845,1
    - Dst: hostapd_nan_usd_rx_sdf
      Src: /src/hostap/src/ap/drv_callbacks.c:1853,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 45
    argCount: 2
    argNames:
    - hapd
    - drv_mgmt
    argTypes:
    - struct hostapd_data*
    - struct rx_mgmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1858
      start: 1771
    functionDepth: 6
    functionLinenumber: 1771
    functionLinenumberEnd: 1858
    functionName: hostapd_action_rx
    functionSourceFile: /src/hostap/src/ap/drv_callbacks.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - WLAN_FC_GET_STYPE
    - ieee802_11_rx_wnm_action_ap
    - wpa_ft_action_rx
    - hostapd_dpp_rx_action
    - fst_rx_action
    - hostapd_nan_usd_rx_sdf
    - ieee802_11_sa_query_action
    - WPA_GET_BE24
    - MAC2STR
    - le_to_host16
    - ap_get_sta
    linkageType: ''
    returnType: void
    signature: "void hostapd_action_rx(struct hostapd_data *hapd,\n\t\t\t      struct
      rx_mgmt *drv_mgmt)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_mld_get_link_bss
      Src: /src/hostap/src/ap/drv_callbacks.c:1871,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - hapd
    - link_id
    argTypes:
    - struct hostapd_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1878
      start: 1864
    functionDepth: 1
    functionLinenumber: 1864
    functionLinenumberEnd: 1878
    functionName: switch_link_hapd
    functionSourceFile: /src/hostap/src/ap/drv_callbacks.c
    functionUses: 0
    functionsReached:
    - hostapd_mld_get_link_bss
    linkageType: ''
    returnType: struct hostapd_data
    signature: 'struct hostapd_data *

      switch_link_hapd(struct hostapd_data *hapd, int link_id)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_is_ml_partner
      Src: /src/hostap/src/ap/drv_callbacks.c:1894,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - hapd
    - scan_cookie
    argTypes:
    - struct hostapd_data*
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1906
      start: 1881
    functionDepth: 1
    functionLinenumber: 1881
    functionLinenumberEnd: 1906
    functionName: switch_link_scan
    functionSourceFile: /src/hostap/src/ap/drv_callbacks.c
    functionUses: 0
    functionsReached:
    - hostapd_is_ml_partner
    linkageType: ''
    returnType: struct hostapd_data
    signature: 'struct hostapd_data *

      switch_link_scan(struct hostapd_data *hapd, u64 scan_cookie)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: nan_de_is_nan_network_id
      Src: /src/hostap/src/ap/drv_callbacks.c:1922,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/drv_callbacks.c:1934,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/drv_callbacks.c:1938,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/drv_callbacks.c:1940,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/drv_callbacks.c:1951,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/drv_callbacks.c:1952,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 22
    argCount: 3
    argNames:
    - iface
    - bssid
    - link_id
    argTypes:
    - struct hostapd_iface*
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1960
      start: 1911
    functionDepth: 1
    functionLinenumber: 1911
    functionLinenumberEnd: 1960
    functionName: get_hapd_bssid
    functionSourceFile: /src/hostap/src/ap/drv_callbacks.c
    functionUses: 0
    functionsReached:
    - nan_de_is_nan_network_id
    - ether_addr_equal
    linkageType: ''
    returnType: struct hostapd_data
    signature: "struct hostapd_data * get_hapd_bssid(struct hostapd_iface *iface,\n\t\t\t\t\t
      \   const u8 *bssid, int link_id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/drv_callbacks.c:1951,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/drv_callbacks.c:1952,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1955
      start: 1947
    functionDepth: 1
    functionLinenumber: 1947
    functionLinenumberEnd: 1955
    functionName: for_each_mld_link
    functionSourceFile: /src/hostap/src/ap/drv_callbacks.c
    functionUses: 1
    functionsReached:
    - ether_addr_equal
    linkageType: ''
    returnType: void
    signature: void for_each_mld_link(p_hapd, hapd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_hapd_bssid
      Src: /src/hostap/src/ap/drv_callbacks.c:1967,1
    - Dst: ieee802_11_rx_from_unknown
      Src: /src/hostap/src/ap/drv_callbacks.c:1971,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - hapd
    - bssid
    - addr
    - wds
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1972
      start: 1963
    functionDepth: 2
    functionLinenumber: 1963
    functionLinenumberEnd: 1972
    functionName: hostapd_rx_from_unknown_sta
    functionSourceFile: /src/hostap/src/ap/drv_callbacks.c
    functionUses: 0
    functionsReached:
    - get_hapd_bssid
    - ieee802_11_rx_from_unknown
    linkageType: ''
    returnType: void
    signature: "void hostapd_rx_from_unknown_sta(struct hostapd_data *hapd,\n\t\t\t\t\tconst
      u8 *bssid, const u8 *addr,\n\t\t\t\t\tint wds)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: switch_link_hapd
      Src: /src/hostap/src/ap/drv_callbacks.c:1985,1
    - Dst: os_malloc
      Src: /src/hostap/src/ap/drv_callbacks.c:1991,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/ap/drv_callbacks.c:1994,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/drv_callbacks.c:1996,1
    - Dst: os_free
      Src: /src/hostap/src/ap/drv_callbacks.c:1997,1
    - Dst: get_hdr_bssid
      Src: /src/hostap/src/ap/drv_callbacks.c:2004,1
    - Dst: get_hapd_bssid
      Src: /src/hostap/src/ap/drv_callbacks.c:2008,1
    - Dst: le_to_host16
      Src: /src/hostap/src/ap/drv_callbacks.c:2011,1
    - Dst: WLAN_FC_GET_TYPE
      Src: /src/hostap/src/ap/drv_callbacks.c:2017,1
    - Dst: WLAN_FC_GET_STYPE
      Src: /src/hostap/src/ap/drv_callbacks.c:2018,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/drv_callbacks.c:2024,1
    - Dst: ieee802_11_mgmt
      Src: /src/hostap/src/ap/drv_callbacks.c:2040,1
    - Dst: ieee802_11_mgmt
      Src: /src/hostap/src/ap/drv_callbacks.c:2045,1
    - Dst: random_add_randomness
      Src: /src/hostap/src/ap/drv_callbacks.c:2048,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 2
    argNames:
    - hapd
    - rx_mgmt
    argTypes:
    - struct hostapd_data*
    - struct rx_mgmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2051
      start: 1975
    functionDepth: 2
    functionLinenumber: 1975
    functionLinenumberEnd: 2051
    functionName: hostapd_mgmt_rx
    functionSourceFile: /src/hostap/src/ap/drv_callbacks.c
    functionUses: 0
    functionsReached:
    - ieee802_11_mgmt
    - wpa_snprintf_hex
    - WLAN_FC_GET_STYPE
    - wpa_msg
    - os_malloc
    - random_add_randomness
    - get_hapd_bssid
    - WLAN_FC_GET_TYPE
    - get_hdr_bssid
    - os_free
    - switch_link_hapd
    - le_to_host16
    - os_memset
    linkageType: ''
    returnType: int
    signature: int hostapd_mgmt_rx(struct hostapd_data *hapd, struct rx_mgmt *rx_mgmt)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: switch_link_hapd
      Src: /src/hostap/src/ap/drv_callbacks.c:2064,1
    - Dst: get_hdr_bssid
      Src: /src/hostap/src/ap/drv_callbacks.c:2065,1
    - Dst: get_hapd_bssid
      Src: /src/hostap/src/ap/drv_callbacks.c:2066,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/drv_callbacks.c:2071,1
    - Dst: get_hapd_bssid
      Src: /src/hostap/src/ap/drv_callbacks.c:2082,1
    - Dst: ieee802_11_mgmt_cb
      Src: /src/hostap/src/ap/drv_callbacks.c:2090,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 6
    argNames:
    - hapd
    - buf
    - len
    - stype
    - ok
    - link_id
    argTypes:
    - struct hostapd_data*
    - u8*
    - size_t
    - u16
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2091
      start: 2054
    functionDepth: 2
    functionLinenumber: 2054
    functionLinenumberEnd: 2091
    functionName: hostapd_mgmt_tx_cb
    functionSourceFile: /src/hostap/src/ap/drv_callbacks.c
    functionUses: 0
    functionsReached:
    - ieee802_11_mgmt_cb
    - ether_addr_equal
    - get_hdr_bssid
    - get_hapd_bssid
    - switch_link_hapd
    linkageType: ''
    returnType: void
    signature: "void hostapd_mgmt_tx_cb(struct hostapd_data *hapd, const u8 *buf,\n\t\t\t
      \      size_t len, u16 stype, int ok, int link_id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/drv_callbacks.c:2098,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/drv_callbacks.c:2103,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/drv_callbacks.c:2104,1
    - Dst: ap_sta_add
      Src: /src/hostap/src/ap/drv_callbacks.c:2105,1
    - Dst: hostapd_new_assoc_sta
      Src: /src/hostap/src/ap/drv_callbacks.c:2107,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/drv_callbacks.c:2109,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/drv_callbacks.c:2110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - hapd
    - addr
    argTypes:
    - struct hostapd_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2115
      start: 2096
    functionDepth: 4
    functionLinenumber: 2096
    functionLinenumberEnd: 2115
    functionName: hostapd_event_new_sta
    functionSourceFile: /src/hostap/src/ap/drv_callbacks.c
    functionUses: 0
    functionsReached:
    - ap_sta_add
    - wpa_printf
    - MAC2STR
    - hostapd_new_assoc_sta
    - ap_get_sta
    linkageType: ''
    returnType: int
    signature: int hostapd_event_new_sta(struct hostapd_data *hapd, const u8 *addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: switch_link_hapd
      Src: /src/hostap/src/ap/drv_callbacks.c:2126,1
    - Dst: hostapd_find_by_sta
      Src: /src/hostap/src/ap/drv_callbacks.c:2127,1
    - Dst: hostapd_find_by_sta
      Src: /src/hostap/src/ap/drv_callbacks.c:2129,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/drv_callbacks.c:2138,1
    - Dst: ieee802_1x_receive
      Src: /src/hostap/src/ap/drv_callbacks.c:2143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 6
    argNames:
    - hapd
    - src
    - data
    - data_len
    - encrypted
    - link_id
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8*
    - size_t
    - enum frame_encryption
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2144
      start: 2118
    functionDepth: 6
    functionLinenumber: 2118
    functionLinenumberEnd: 2144
    functionName: hostapd_event_eapol_rx
    functionSourceFile: /src/hostap/src/ap/drv_callbacks.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - switch_link_hapd
    - hostapd_find_by_sta
    - ieee802_1x_receive
    linkageType: ''
    returnType: void
    signature: "void hostapd_event_eapol_rx(struct hostapd_data *hapd, const u8 *src,\n\t\t\t\t
      \  const u8 *data, size_t data_len,\n\t\t\t\t   enum frame_encryption encrypted,\n\t\t\t\t
      \  int link_id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - mode
    - freq
    argTypes:
    - struct hostapd_hw_modes*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2162
      start: 2149
    functionDepth: 0
    functionLinenumber: 2149
    functionLinenumberEnd: 2162
    functionName: hostapd_get_mode_chan
    functionSourceFile: /src/hostap/src/ap/drv_callbacks.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct hostapd_channel_data
    signature: 'struct hostapd_channel_data *

      hostapd_get_mode_chan(struct hostapd_hw_modes *mode, unsigned int freq)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_hw_skip_mode
      Src: /src/hostap/src/ap/drv_callbacks.c:2172,1
    - Dst: hostapd_get_mode_chan
      Src: /src/hostap/src/ap/drv_callbacks.c:2174,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - iface
    - freq
    argTypes:
    - struct hostapd_iface*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2180
      start: 2165
    functionDepth: 1
    functionLinenumber: 2165
    functionLinenumberEnd: 2180
    functionName: hostapd_get_mode_channel
    functionSourceFile: /src/hostap/src/ap/drv_callbacks.c
    functionUses: 0
    functionsReached:
    - hostapd_hw_skip_mode
    - hostapd_get_mode_chan
    linkageType: ''
    returnType: struct hostapd_channel_data
    signature: "struct hostapd_channel_data * hostapd_get_mode_channel(\n\tstruct
      hostapd_iface *iface, unsigned int freq)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_empty
      Src: /src/hostap/src/ap/drv_callbacks.c:2191,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - iface
    - chan
    - survey
    argTypes:
    - struct hostapd_iface*
    - struct hostapd_channel_data*
    - struct freq_survey*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2198
      start: 2183
    functionDepth: 1
    functionLinenumber: 2183
    functionLinenumberEnd: 2198
    functionName: hostapd_update_nf
    functionSourceFile: /src/hostap/src/ap/drv_callbacks.c
    functionUses: 0
    functionsReached:
    - dl_list_empty
    linkageType: ''
    returnType: void
    signature: "void hostapd_update_nf(struct hostapd_iface *iface,\n\t\t\t      struct
      hostapd_channel_data *chan,\n\t\t\t      struct freq_survey *survey)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_first
      Src: /src/hostap/src/ap/drv_callbacks.c:2208,1
    - Dst: hostapd_get_mode_channel
      Src: /src/hostap/src/ap/drv_callbacks.c:2213,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/drv_callbacks.c:2217,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/drv_callbacks.c:2230,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - iface
    - survey_res
    argTypes:
    - struct hostapd_iface*
    - struct survey_results*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2235
      start: 2201
    functionDepth: 2
    functionLinenumber: 2201
    functionLinenumberEnd: 2235
    functionName: hostapd_single_channel_get_survey
    functionSourceFile: /src/hostap/src/ap/drv_callbacks.c
    functionUses: 0
    functionsReached:
    - hostapd_get_mode_channel
    - dl_list_first
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: "void hostapd_single_channel_get_survey(struct hostapd_iface *iface,\n\t\t\t\t\t
      \     struct survey_results *survey_res)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_empty
      Src: /src/hostap/src/ap/drv_callbacks.c:2244,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/drv_callbacks.c:2245,1
    - Dst: hostapd_single_channel_get_survey
      Src: /src/hostap/src/ap/drv_callbacks.c:2250,1
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/ap/drv_callbacks.c:2254,1
    - Dst: hostapd_get_mode_channel
      Src: /src/hostap/src/ap/drv_callbacks.c:2256,1
    - Dst: dl_list_del
      Src: /src/hostap/src/ap/drv_callbacks.c:2264,1
    - Dst: dl_list_add_tail
      Src: /src/hostap/src/ap/drv_callbacks.c:2265,1
    - Dst: hostapd_update_nf
      Src: /src/hostap/src/ap/drv_callbacks.c:2267,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - iface
    - survey_results
    argTypes:
    - struct hostapd_iface*
    - struct survey_results*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2271
      start: 2238
    functionDepth: 3
    functionLinenumber: 2238
    functionLinenumberEnd: 2271
    functionName: hostapd_event_get_survey
    functionSourceFile: /src/hostap/src/ap/drv_callbacks.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - dl_list_del
    - dl_list_empty
    - dl_list_add_tail
    - hostapd_update_nf
    - hostapd_get_mode_channel
    - hostapd_single_channel_get_survey
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: "void hostapd_event_get_survey(struct hostapd_iface *iface,\n\t\t\t
      \     struct survey_results *survey_results)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/drv_callbacks.c:2279,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/drv_callbacks.c:2283,1
    - Dst: hostapd_switch_channel_fallback
      Src: /src/hostap/src/ap/drv_callbacks.c:2285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2292
      start: 2277
    functionDepth: 1
    functionLinenumber: 2277
    functionLinenumberEnd: 2292
    functionName: hostapd_event_iface_unavailable
    functionSourceFile: /src/hostap/src/ap/drv_callbacks.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hostapd_switch_channel_fallback
    linkageType: ''
    returnType: void
    signature: void hostapd_event_iface_unavailable(struct hostapd_data *hapd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/drv_callbacks.c:2298,1
    - Dst: hostapd_dfs_radar_detected
      Src: /src/hostap/src/ap/drv_callbacks.c:2299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - hapd
    - radar
    argTypes:
    - struct hostapd_data*
    - struct dfs_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2302
      start: 2295
    functionDepth: 8
    functionLinenumber: 2295
    functionLinenumberEnd: 2302
    functionName: hostapd_event_dfs_radar_detected
    functionSourceFile: /src/hostap/src/ap/drv_callbacks.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hostapd_dfs_radar_detected
    linkageType: ''
    returnType: void
    signature: "void hostapd_event_dfs_radar_detected(struct hostapd_data *hapd,\n\t\t\t\t\t
      \    struct dfs_event *radar)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/drv_callbacks.c:2308,1
    - Dst: hostapd_dfs_pre_cac_expired
      Src: /src/hostap/src/ap/drv_callbacks.c:2309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - hapd
    - radar
    argTypes:
    - struct hostapd_data*
    - struct dfs_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2312
      start: 2305
    functionDepth: 3
    functionLinenumber: 2305
    functionLinenumberEnd: 2312
    functionName: hostapd_event_dfs_pre_cac_expired
    functionSourceFile: /src/hostap/src/ap/drv_callbacks.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hostapd_dfs_pre_cac_expired
    linkageType: ''
    returnType: void
    signature: "void hostapd_event_dfs_pre_cac_expired(struct hostapd_data *hapd,\n\t\t\t\t\t
      \     struct dfs_event *radar)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/drv_callbacks.c:2318,1
    - Dst: hostapd_dfs_complete_cac
      Src: /src/hostap/src/ap/drv_callbacks.c:2319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - hapd
    - radar
    argTypes:
    - struct hostapd_data*
    - struct dfs_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2322
      start: 2315
    functionDepth: 7
    functionLinenumber: 2315
    functionLinenumberEnd: 2322
    functionName: hostapd_event_dfs_cac_finished
    functionSourceFile: /src/hostap/src/ap/drv_callbacks.c
    functionUses: 0
    functionsReached:
    - hostapd_dfs_complete_cac
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: "void hostapd_event_dfs_cac_finished(struct hostapd_data *hapd,\n\t\t\t\t\t
      \  struct dfs_event *radar)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/drv_callbacks.c:2328,1
    - Dst: hostapd_dfs_complete_cac
      Src: /src/hostap/src/ap/drv_callbacks.c:2329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - hapd
    - radar
    argTypes:
    - struct hostapd_data*
    - struct dfs_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2332
      start: 2325
    functionDepth: 7
    functionLinenumber: 2325
    functionLinenumberEnd: 2332
    functionName: hostapd_event_dfs_cac_aborted
    functionSourceFile: /src/hostap/src/ap/drv_callbacks.c
    functionUses: 0
    functionsReached:
    - hostapd_dfs_complete_cac
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: "void hostapd_event_dfs_cac_aborted(struct hostapd_data *hapd,\n\t\t\t\t\t
      \ struct dfs_event *radar)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/drv_callbacks.c:2338,1
    - Dst: hostapd_dfs_nop_finished
      Src: /src/hostap/src/ap/drv_callbacks.c:2339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - hapd
    - radar
    argTypes:
    - struct hostapd_data*
    - struct dfs_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2342
      start: 2335
    functionDepth: 7
    functionLinenumber: 2335
    functionLinenumberEnd: 2342
    functionName: hostapd_event_dfs_nop_finished
    functionSourceFile: /src/hostap/src/ap/drv_callbacks.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hostapd_dfs_nop_finished
    linkageType: ''
    returnType: void
    signature: "void hostapd_event_dfs_nop_finished(struct hostapd_data *hapd,\n\t\t\t\t\t
      \  struct dfs_event *radar)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/drv_callbacks.c:2348,1
    - Dst: hostapd_dfs_start_cac
      Src: /src/hostap/src/ap/drv_callbacks.c:2349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - hapd
    - radar
    argTypes:
    - struct hostapd_data*
    - struct dfs_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2352
      start: 2345
    functionDepth: 3
    functionLinenumber: 2345
    functionLinenumberEnd: 2352
    functionName: hostapd_event_dfs_cac_started
    functionSourceFile: /src/hostap/src/ap/drv_callbacks.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hostapd_dfs_start_cac
    linkageType: ''
    returnType: void
    signature: "void hostapd_event_dfs_cac_started(struct hostapd_data *hapd,\n\t\t\t\t\t
      \ struct dfs_event *radar)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/drv_callbacks.c:2358,1
    - Dst: hostapd_incumbt_sig_intf_detected
      Src: /src/hostap/src/ap/drv_callbacks.c:2361,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/drv_callbacks.c:2365,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - hapd
    - intf_info
    argTypes:
    - struct hostapd_data*
    - struct incumbt_sig_intf_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2367
      start: 2355
    functionDepth: 1
    functionLinenumber: 2355
    functionLinenumberEnd: 2367
    functionName: hostapd_event_incumbt_sig_intf_detected
    functionSourceFile: /src/hostap/src/ap/drv_callbacks.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hostapd_incumbt_sig_intf_detected
    linkageType: ''
    returnType: void
    signature: "void hostapd_event_incumbt_sig_intf_detected(\n\tstruct hostapd_data
      *hapd, struct incumbt_sig_intf_event *intf_info)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/drv_callbacks.c:2377,1
    - Dst: os_free
      Src: /src/hostap/src/ap/drv_callbacks.c:2380,1
    - Dst: os_strdup
      Src: /src/hostap/src/ap/drv_callbacks.c:2382,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/drv_callbacks.c:2387,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/drv_callbacks.c:2390,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - hapd
    - istatus
    - ifname
    - addr
    argTypes:
    - struct hostapd_data*
    - int
    - char*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2391
      start: 2372
    functionDepth: 2
    functionLinenumber: 2372
    functionLinenumberEnd: 2391
    functionName: hostapd_event_wds_sta_interface_status
    functionSourceFile: /src/hostap/src/ap/drv_callbacks.c
    functionUses: 0
    functionsReached:
    - wpa_msg
    - MAC2STR
    - os_free
    - os_strdup
    - ap_get_sta
    linkageType: ''
    returnType: void
    signature: "void hostapd_event_wds_sta_interface_status(struct hostapd_data *hapd,\n\t\t\t\t\t\t
      \  int istatus,\n\t\t\t\t\t\t   const char *ifname,\n\t\t\t\t\t\t   const u8
      *addr)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/drv_callbacks.c:2404,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/drv_callbacks.c:2408,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/drv_callbacks.c:2412,1
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/src/ap/drv_callbacks.c:2416,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/drv_callbacks.c:2417,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/drv_callbacks.c:2418,1
    - Dst: owe_validate_request
      Src: /src/hostap/src/ap/drv_callbacks.c:2422,1
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/drv_callbacks.c:2428,1
    - Dst: ap_sta_no_session_timeout
      Src: /src/hostap/src/ap/drv_callbacks.c:2430,1
    - Dst: accounting_sta_stop
      Src: /src/hostap/src/ap/drv_callbacks.c:2431,1
    - Dst: ap_sta_add
      Src: /src/hostap/src/ap/drv_callbacks.c:2439,1
    - Dst: ap_sta_set_mld
      Src: /src/hostap/src/ap/drv_callbacks.c:2452,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/drv_callbacks.c:2454,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/drv_callbacks.c:2456,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/drv_callbacks.c:2458,1
    - Dst: owe_process_rsn_ie
      Src: /src/hostap/src/ap/drv_callbacks.c:2462,1
    - Dst: ap_free_sta
      Src: /src/hostap/src/ap/drv_callbacks.c:2466,1
    - Dst: hostapd_drv_update_dh_ie
      Src: /src/hostap/src/ap/drv_callbacks.c:2470,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 55
    argCount: 5
    argNames:
    - hapd
    - peer
    - ie
    - ie_len
    - link_addr
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2473
      start: 2395
    functionDepth: 12
    functionLinenumber: 2395
    functionLinenumberEnd: 2473
    functionName: hostapd_notif_update_dh_ie
    functionSourceFile: /src/hostap/src/ap/drv_callbacks.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - ap_sta_no_session_timeout
    - ap_sta_add
    - os_memcpy
    - hostapd_drv_update_dh_ie
    - ap_free_sta
    - MAC2STR
    - ieee802_11_parse_elems
    - owe_validate_request
    - ap_sta_set_mld
    - owe_process_rsn_ie
    - accounting_sta_stop
    - ap_get_sta
    linkageType: ''
    returnType: int
    signature: "int hostapd_notif_update_dh_ie(struct hostapd_data *hapd,\n\t\t\t\t
      \     const u8 *peer, const u8 *ie,\n\t\t\t\t      size_t ie_len, const u8 *link_addr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: switch_link_hapd
      Src: /src/hostap/src/ap/drv_callbacks.c:2484,1
    - Dst: hostapd_find_by_sta
      Src: /src/hostap/src/ap/drv_callbacks.c:2485,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/drv_callbacks.c:2488,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/drv_callbacks.c:2490,1
    - Dst: ieee802_1x_eapol_tx_status
      Src: /src/hostap/src/ap/drv_callbacks.c:2494,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 6
    argNames:
    - hapd
    - dst
    - data
    - len
    - ack
    - link_id
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8*
    - size_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2495
      start: 2478
    functionDepth: 3
    functionLinenumber: 2478
    functionLinenumberEnd: 2495
    functionName: hostapd_eapol_tx_status
    functionSourceFile: /src/hostap/src/ap/drv_callbacks.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hostapd_find_by_sta
    - ieee802_1x_eapol_tx_status
    - MAC2STR
    - switch_link_hapd
    linkageType: ''
    returnType: void
    signature: "void hostapd_eapol_tx_status(struct hostapd_data *hapd, const u8 *dst,\n\t\t\t\t
      \   const u8 *data, size_t len, int ack,\n\t\t\t\t    int link_id)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_11_set_beacon
      Src: /src/hostap/src/ap/drv_callbacks.c:2520,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/drv_callbacks.c:2521,1
    - Dst: hostapd_cleanup_cca_params
      Src: /src/hostap/src/ap/drv_callbacks.c:2524,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - hapd
    - success
    argTypes:
    - struct hostapd_data*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2527
      start: 2500
    functionDepth: 10
    functionLinenumber: 2500
    functionLinenumberEnd: 2527
    functionName: hostapd_event_color_change
    functionSourceFile: /src/hostap/src/ap/drv_callbacks.c
    functionUses: 0
    functionsReached:
    - ieee802_11_set_beacon
    - wpa_printf
    - hostapd_cleanup_cca_params
    linkageType: ''
    returnType: void
    signature: void hostapd_event_color_change(struct hostapd_data *hapd, bool success)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/drv_callbacks.c:2533,1
    - Dst: wpa_auth_reconfig_group_keys
      Src: /src/hostap/src/ap/drv_callbacks.c:2541,1
    - Dst: hostapd_reconfig_encryption
      Src: /src/hostap/src/ap/drv_callbacks.c:2543,1
    - Dst: ieee802_11_set_beacon
      Src: /src/hostap/src/ap/drv_callbacks.c:2545,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/drv_callbacks.c:2548,1
    - Dst: hostapd_handle_dfs
      Src: /src/hostap/src/ap/drv_callbacks.c:2549,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2552
      start: 2531
    functionDepth: 10
    functionLinenumber: 2531
    functionLinenumberEnd: 2552
    functionName: hostapd_iface_enable
    functionSourceFile: /src/hostap/src/ap/drv_callbacks.c
    functionUses: 0
    functionsReached:
    - wpa_auth_reconfig_group_keys
    - wpa_printf
    - hostapd_reconfig_encryption
    - wpa_msg
    - ieee802_11_set_beacon
    - hostapd_handle_dfs
    linkageType: ''
    returnType: void
    signature: void hostapd_iface_enable(struct hostapd_data *hapd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_free_stas
      Src: /src/hostap/src/ap/drv_callbacks.c:2557,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/drv_callbacks.c:2558,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2560
      start: 2555
    functionDepth: 13
    functionLinenumber: 2555
    functionLinenumberEnd: 2560
    functionName: hostapd_iface_disable
    functionSourceFile: /src/hostap/src/ap/drv_callbacks.c
    functionUses: 0
    functionsReached:
    - wpa_msg
    - hostapd_free_stas
    linkageType: ''
    returnType: void
    signature: void hostapd_iface_disable(struct hostapd_data *hapd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_mld_is_first_bss
      Src: /src/hostap/src/ap/drv_callbacks.c:2569,1
    - Dst: hostapd_mld_get_first_bss
      Src: /src/hostap/src/ap/drv_callbacks.c:2570,1
    - Dst: hostapd_drv_link_add
      Src: /src/hostap/src/ap/drv_callbacks.c:2574,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/drv_callbacks.c:2576,1
    - Dst: hostapd_iface_enable
      Src: /src/hostap/src/ap/drv_callbacks.c:2581,1
    - Dst: hostapd_drv_link_add
      Src: /src/hostap/src/ap/drv_callbacks.c:2588,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/drv_callbacks.c:2590,1
    - Dst: hostapd_iface_enable
      Src: /src/hostap/src/ap/drv_callbacks.c:2597,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2599
      start: 2565
    functionDepth: 11
    functionLinenumber: 2565
    functionLinenumberEnd: 2599
    functionName: hostapd_mld_iface_enable
    functionSourceFile: /src/hostap/src/ap/drv_callbacks.c
    functionUses: 0
    functionsReached:
    - hostapd_mld_get_first_bss
    - wpa_printf
    - hostapd_iface_enable
    - hostapd_drv_link_add
    - hostapd_mld_is_first_bss
    linkageType: ''
    returnType: void
    signature: void hostapd_mld_iface_enable(struct hostapd_data *hapd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_drv_link_add
      Src: /src/hostap/src/ap/drv_callbacks.c:2588,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/drv_callbacks.c:2590,1
    - Dst: hostapd_iface_enable
      Src: /src/hostap/src/ap/drv_callbacks.c:2597,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2598
      start: 2584
    functionDepth: 11
    functionLinenumber: 2584
    functionLinenumberEnd: 2598
    functionName: for_each_mld_link
    functionSourceFile: /src/hostap/src/ap/drv_callbacks.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - hostapd_iface_enable
    - hostapd_drv_link_add
    linkageType: ''
    returnType: void
    signature: void for_each_mld_link(link_bss, first_link)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: for_each_mld_link
      Src: /src/hostap/src/ap/drv_callbacks.c:2606,1
    - Dst: hostapd_iface_disable
      Src: /src/hostap/src/ap/drv_callbacks.c:2607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2608
      start: 2602
    functionDepth: 14
    functionLinenumber: 2602
    functionLinenumberEnd: 2608
    functionName: hostapd_mld_iface_disable
    functionSourceFile: /src/hostap/src/ap/drv_callbacks.c
    functionUses: 0
    functionsReached:
    - for_each_mld_link
    - hostapd_iface_disable
    linkageType: ''
    returnType: void
    signature: void hostapd_mld_iface_disable(struct hostapd_data *hapd)
  - BBCount: 77
    BranchProfiles: []
    Callsites:
    - Dst: le_to_host16
      Src: /src/hostap/src/ap/drv_callbacks.c:2627,1
    - Dst: WLAN_FC_GET_TYPE
      Src: /src/hostap/src/ap/drv_callbacks.c:2628,1
    - Dst: WLAN_FC_GET_STYPE
      Src: /src/hostap/src/ap/drv_callbacks.c:2629,1
    - Dst: WLAN_FC_GET_TYPE
      Src: /src/hostap/src/ap/drv_callbacks.c:2631,1
    - Dst: WLAN_FC_GET_STYPE
      Src: /src/hostap/src/ap/drv_callbacks.c:2632,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/ap/drv_callbacks.c:2636,1
    - Dst: event_to_string
      Src: /src/hostap/src/ap/drv_callbacks.c:2637,1
    - Dst: michael_mic_failure
      Src: /src/hostap/src/ap/drv_callbacks.c:2642,1
    - Dst: switch_link_scan
      Src: /src/hostap/src/ap/drv_callbacks.c:2647,1
    - Dst: struct hostapd_data*::iface::scan_cb
      Src: /src/hostap/src/ap/drv_callbacks.c:2651,1
    - Dst: hostapd_is_ml_partner
      Src: /src/hostap/src/ap/drv_callbacks.c:2662,1
    - Dst: struct hostapd_data*::iface::scan_cb
      Src: /src/hostap/src/ap/drv_callbacks.c:2664,1
    - Dst: hostapd_wps_button_pushed
      Src: /src/hostap/src/ap/drv_callbacks.c:2670,1
    - Dst: hostapd_mgmt_tx_cb
      Src: /src/hostap/src/ap/drv_callbacks.c:2676,1
    - Dst: hostapd_tx_status
      Src: /src/hostap/src/ap/drv_callbacks.c:2683,1
    - Dst: hostapd_eapol_tx_status
      Src: /src/hostap/src/ap/drv_callbacks.c:2691,1
    - Dst: hostapd_client_poll_ok
      Src: /src/hostap/src/ap/drv_callbacks.c:2698,1
    - Dst: switch_link_hapd
      Src: /src/hostap/src/ap/drv_callbacks.c:2701,1
    - Dst: hostapd_rx_from_unknown_sta
      Src: /src/hostap/src/ap/drv_callbacks.c:2702,1
    - Dst: hostapd_mgmt_rx
      Src: /src/hostap/src/ap/drv_callbacks.c:2711,1
    - Dst: hostapd_action_rx
      Src: /src/hostap/src/ap/drv_callbacks.c:2713,1
    - Dst: hostapd_probe_req_rx
      Src: /src/hostap/src/ap/drv_callbacks.c:2720,1
    - Dst: hostapd_event_new_sta
      Src: /src/hostap/src/ap/drv_callbacks.c:2728,1
    - Dst: hostapd_event_eapol_rx
      Src: /src/hostap/src/ap/drv_callbacks.c:2731,1
    - Dst: hostapd_mld_get_link_bss
      Src: /src/hostap/src/ap/drv_callbacks.c:2742,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/drv_callbacks.c:2745,1
    - Dst: hostapd_notif_assoc
      Src: /src/hostap/src/ap/drv_callbacks.c:2751,1
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/drv_callbacks.c:2761,1
    - Dst: ap_sta_set_authorized
      Src: /src/hostap/src/ap/drv_callbacks.c:2763,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/drv_callbacks.c:2765,1
    - Dst: hostapd_mld_get_link_bss
      Src: /src/hostap/src/ap/drv_callbacks.c:2774,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/drv_callbacks.c:2777,1
    - Dst: hostapd_notif_update_dh_ie
      Src: /src/hostap/src/ap/drv_callbacks.c:2784,1
    - Dst: hostapd_notif_disassoc
      Src: /src/hostap/src/ap/drv_callbacks.c:2792,1
    - Dst: hostapd_notif_disassoc
      Src: /src/hostap/src/ap/drv_callbacks.c:2796,1
    - Dst: hostapd_event_sta_low_ack
      Src: /src/hostap/src/ap/drv_callbacks.c:2801,1
    - Dst: hostapd_notif_auth
      Src: /src/hostap/src/ap/drv_callbacks.c:2804,1
    - Dst: hostapd_mld_get_link_bss
      Src: /src/hostap/src/ap/drv_callbacks.c:2812,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/drv_callbacks.c:2815,1
    - Dst: hostapd_event_ch_switch
      Src: /src/hostap/src/ap/drv_callbacks.c:2822,1
    - Dst: hostapd_event_connect_failed_reason
      Src: /src/hostap/src/ap/drv_callbacks.c:2834,1
    - Dst: hostapd_event_get_survey
      Src: /src/hostap/src/ap/drv_callbacks.c:2839,1
    - Dst: hostapd_event_iface_unavailable
      Src: /src/hostap/src/ap/drv_callbacks.c:2843,1
    - Dst: hostapd_refresh_all_iface_beacons
      Src: /src/hostap/src/ap/drv_callbacks.c:2846,1
    - Dst: switch_link_hapd
      Src: /src/hostap/src/ap/drv_callbacks.c:2851,1
    - Dst: hostapd_event_dfs_radar_detected
      Src: /src/hostap/src/ap/drv_callbacks.c:2852,1
    - Dst: switch_link_hapd
      Src: /src/hostap/src/ap/drv_callbacks.c:2857,1
    - Dst: hostapd_event_dfs_pre_cac_expired
      Src: /src/hostap/src/ap/drv_callbacks.c:2858,1
    - Dst: switch_link_hapd
      Src: /src/hostap/src/ap/drv_callbacks.c:2863,1
    - Dst: hostapd_event_dfs_cac_finished
      Src: /src/hostap/src/ap/drv_callbacks.c:2864,1
    - Dst: switch_link_hapd
      Src: /src/hostap/src/ap/drv_callbacks.c:2869,1
    - Dst: hostapd_event_dfs_cac_aborted
      Src: /src/hostap/src/ap/drv_callbacks.c:2870,1
    - Dst: switch_link_hapd
      Src: /src/hostap/src/ap/drv_callbacks.c:2875,1
    - Dst: hostapd_event_dfs_nop_finished
      Src: /src/hostap/src/ap/drv_callbacks.c:2876,1
    - Dst: hostapd_channel_list_updated
      Src: /src/hostap/src/ap/drv_callbacks.c:2883,1
    - Dst: switch_link_hapd
      Src: /src/hostap/src/ap/drv_callbacks.c:2889,1
    - Dst: hostapd_event_dfs_cac_started
      Src: /src/hostap/src/ap/drv_callbacks.c:2890,1
    - Dst: switch_link_hapd
      Src: /src/hostap/src/ap/drv_callbacks.c:2895,1
    - Dst: hostapd_event_incumbt_sig_intf_detected
      Src: /src/hostap/src/ap/drv_callbacks.c:2897,1
    - Dst: hostapd_mld_iface_enable
      Src: /src/hostap/src/ap/drv_callbacks.c:2904,1
    - Dst: hostapd_iface_enable
      Src: /src/hostap/src/ap/drv_callbacks.c:2908,1
    - Dst: hostapd_mld_iface_disable
      Src: /src/hostap/src/ap/drv_callbacks.c:2913,1
    - Dst: hostapd_iface_disable
      Src: /src/hostap/src/ap/drv_callbacks.c:2917,1
    - Dst: hostapd_acs_channel_selected
      Src: /src/hostap/src/ap/drv_callbacks.c:2921,1
    - Dst: hostapd_event_sta_opmode_changed
      Src: /src/hostap/src/ap/drv_callbacks.c:2926,1
    - Dst: hostapd_event_wds_sta_interface_status
      Src: /src/hostap/src/ap/drv_callbacks.c:2932,1
    - Dst: switch_link_hapd
      Src: /src/hostap/src/ap/drv_callbacks.c:2942,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/drv_callbacks.c:2944,1
    - Dst: hostapd_switch_color
      Src: /src/hostap/src/ap/drv_callbacks.c:2946,1
    - Dst: switch_link_hapd
      Src: /src/hostap/src/ap/drv_callbacks.c:2950,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/drv_callbacks.c:2952,1
    - Dst: switch_link_hapd
      Src: /src/hostap/src/ap/drv_callbacks.c:2956,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/drv_callbacks.c:2958,1
    - Dst: hostapd_event_color_change
      Src: /src/hostap/src/ap/drv_callbacks.c:2960,1
    - Dst: switch_link_hapd
      Src: /src/hostap/src/ap/drv_callbacks.c:2963,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/drv_callbacks.c:2965,1
    - Dst: hostapd_event_color_change
      Src: /src/hostap/src/ap/drv_callbacks.c:2967,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/drv_callbacks.c:2972,1
    - Dst: hostapd_mld_interface_freed
      Src: /src/hostap/src/ap/drv_callbacks.c:2974,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/drv_callbacks.c:2978,1
    CyclomaticComplexity: 100
    EdgeCount: 100
    ICount: 232
    argCount: 3
    argNames:
    - ctx
    - event
    - data
    argTypes:
    - void*
    - enum wpa_event_type
    - union wpa_event_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2981
      start: 2613
    functionDepth: 15
    functionLinenumber: 2613
    functionLinenumberEnd: 2981
    functionName: wpa_supplicant_event
    functionSourceFile: /src/hostap/src/ap/drv_callbacks.c
    functionUses: 14
    functionsReached:
    - hostapd_event_dfs_cac_started
    - struct hostapd_data*::iface::scan_cb
    - hostapd_probe_req_rx
    - hostapd_eapol_tx_status
    - hostapd_event_wds_sta_interface_status
    - hostapd_event_new_sta
    - hostapd_event_ch_switch
    - hostapd_event_dfs_cac_finished
    - hostapd_mld_get_link_bss
    - hostapd_event_dfs_cac_aborted
    - hostapd_event_get_survey
    - hostapd_event_iface_unavailable
    - switch_link_scan
    - event_to_string
    - hostapd_event_sta_opmode_changed
    - hostapd_event_dfs_pre_cac_expired
    - ap_get_sta
    - hostapd_event_color_change
    - hostapd_notif_auth
    - wpa_printf
    - michael_mic_failure
    - hostapd_mgmt_rx
    - hostapd_wps_button_pushed
    - hostapd_mld_interface_freed
    - hostapd_iface_disable
    - hostapd_event_dfs_nop_finished
    - hostapd_action_rx
    - hostapd_tx_status
    - hostapd_mld_iface_enable
    - hostapd_event_dfs_radar_detected
    - hostapd_rx_from_unknown_sta
    - hostapd_refresh_all_iface_beacons
    - WLAN_FC_GET_STYPE
    - hostapd_channel_list_updated
    - hostapd_switch_color
    - WLAN_FC_GET_TYPE
    - hostapd_is_ml_partner
    - wpa_dbg
    - hostapd_event_connect_failed_reason
    - switch_link_hapd
    - hostapd_event_eapol_rx
    - hostapd_mgmt_tx_cb
    - hostapd_notif_update_dh_ie
    - hostapd_notif_disassoc
    - hostapd_acs_channel_selected
    - hostapd_event_sta_low_ack
    - hostapd_client_poll_ok
    - hostapd_notif_assoc
    - hostapd_iface_enable
    - hostapd_event_incumbt_sig_intf_detected
    - ap_sta_set_authorized
    - le_to_host16
    - hostapd_mld_iface_disable
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_event(void *ctx, enum wpa_event_type event,\n\t\t\t
      \ union wpa_event_data *data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_get_iface
      Src: /src/hostap/src/ap/drv_callbacks.c:2993,1
    - Dst: struct hostapd_data*::driver::get_ifindex
      Src: /src/hostap/src/ap/drv_callbacks.c:2998,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/ap/drv_callbacks.c:3000,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/ap/drv_callbacks.c:3007,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - ctx
    - event
    - data
    argTypes:
    - void*
    - enum wpa_event_type
    - union wpa_event_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3008
      start: 2984
    functionDepth: 1
    functionLinenumber: 2984
    functionLinenumberEnd: 3008
    functionName: wpa_supplicant_event_global
    functionSourceFile: /src/hostap/src/ap/drv_callbacks.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - hostapd_get_iface
    - struct hostapd_data*::driver::get_ifindex
    - wpa_dbg
    linkageType: ''
    returnType: void
    signature: "void wpa_supplicant_event_global(void *ctx, enum wpa_event_type event,\n\t\t\t\t
      union wpa_event_data *data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - conf
    argTypes:
    - struct hostapd_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1351
      start: 1339
    functionDepth: 0
    functionLinenumber: 1339
    functionLinenumberEnd: 1351
    functionName: hostapd_get_oper_chwidth
    functionSourceFile: /src/hostap/src/ap/ap_config.h
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: enum oper_chan_width
    signature: enum oper_chan_width hostapd_get_oper_chwidth(struct hostapd_config
      *conf)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - conf
    - oper_chwidth
    argTypes:
    - struct hostapd_config*
    - enum oper_chan_width
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1368
      start: 1353
    functionDepth: 0
    functionLinenumber: 1353
    functionLinenumberEnd: 1368
    functionName: hostapd_set_oper_chwidth
    functionSourceFile: /src/hostap/src/ap/ap_config.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void hostapd_set_oper_chwidth(struct hostapd_config *conf,\n\t\t\t
      enum oper_chan_width oper_chwidth)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - conf
    argTypes:
    - struct hostapd_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1382
      start: 1370
    functionDepth: 0
    functionLinenumber: 1370
    functionLinenumberEnd: 1382
    functionName: hostapd_get_oper_centr_freq_seg0_idx
    functionSourceFile: /src/hostap/src/ap/ap_config.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 hostapd_get_oper_centr_freq_seg0_idx(struct hostapd_config *conf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_6ghz_op_class
      Src: /src/hostap/src/ap/ap_config.h:1391,1
    - Dst: center_idx_to_bw_6ghz
      Src: /src/hostap/src/ap/ap_config.h:1392,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - conf
    - oper_centr_freq_seg0_idx
    argTypes:
    - struct hostapd_config*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1401
      start: 1384
    functionDepth: 1
    functionLinenumber: 1384
    functionLinenumberEnd: 1401
    functionName: hostapd_set_oper_centr_freq_seg0_idx
    functionSourceFile: /src/hostap/src/ap/ap_config.h
    functionUses: 11
    functionsReached:
    - is_6ghz_op_class
    - center_idx_to_bw_6ghz
    linkageType: ''
    returnType: void
    signature: "void hostapd_set_oper_centr_freq_seg0_idx(struct hostapd_config *conf,\n\t\t\t\t
      \    u8 oper_centr_freq_seg0_idx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - conf
    argTypes:
    - struct hostapd_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1411
      start: 1403
    functionDepth: 0
    functionLinenumber: 1403
    functionLinenumberEnd: 1411
    functionName: hostapd_get_oper_centr_freq_seg1_idx
    functionSourceFile: /src/hostap/src/ap/ap_config.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 hostapd_get_oper_centr_freq_seg1_idx(struct hostapd_config *conf)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - conf
    - oper_centr_freq_seg1_idx
    argTypes:
    - struct hostapd_config*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1422
      start: 1413
    functionDepth: 0
    functionLinenumber: 1413
    functionLinenumberEnd: 1422
    functionName: hostapd_set_oper_centr_freq_seg1_idx
    functionSourceFile: /src/hostap/src/ap/ap_config.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void hostapd_set_oper_centr_freq_seg1_idx(struct hostapd_config *conf,\n\t\t\t\t
      \    u8 oper_centr_freq_seg1_idx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_6ghz_op_class
      Src: /src/hostap/src/ap/ap_config.h:1428,1
    - Dst: hostapd_get_oper_chwidth
      Src: /src/hostap/src/ap/ap_config.h:1429,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - conf
    argTypes:
    - struct hostapd_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1433
      start: 1424
    functionDepth: 1
    functionLinenumber: 1424
    functionLinenumberEnd: 1433
    functionName: hostapd_get_bw320_offset
    functionSourceFile: /src/hostap/src/ap/ap_config.h
    functionUses: 2
    functionsReached:
    - is_6ghz_op_class
    - hostapd_get_oper_chwidth
    linkageType: ''
    returnType: u8
    signature: u8 hostapd_get_bw320_offset(struct hostapd_config *conf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_6ghz_op_class
      Src: /src/hostap/src/ap/ap_config.h:1440,1
    - Dst: op_class_to_ch_width
      Src: /src/hostap/src/ap/ap_config.h:1441,1
    - Dst: hostapd_get_oper_centr_freq_seg0_idx
      Src: /src/hostap/src/ap/ap_config.h:1446,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - conf
    - bw320_offset
    argTypes:
    - struct hostapd_config*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1459
      start: 1435
    functionDepth: 1
    functionLinenumber: 1435
    functionLinenumberEnd: 1459
    functionName: hostapd_set_and_check_bw320_offset
    functionSourceFile: /src/hostap/src/ap/ap_config.h
    functionUses: 6
    functionsReached:
    - is_6ghz_op_class
    - hostapd_get_oper_centr_freq_seg0_idx
    - op_class_to_ch_width
    linkageType: ''
    returnType: void
    signature: "void hostapd_set_and_check_bw320_offset(struct hostapd_config *conf,\n\t\t\t\t
      \  u8 bw320_offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: fils_hlp_deinit
    functionSourceFile: /src/hostap/src/ap/fils_hlp.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fils_hlp_deinit(struct hostapd_data *hapd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: ap_list_init
    functionSourceFile: /src/hostap/src/ap/ap_list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ap_list_init(struct hostapd_iface *iface)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: ap_list_deinit
    functionSourceFile: /src/hostap/src/ap/ap_list.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ap_list_deinit(struct hostapd_iface *iface)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: ap_list_timer
    functionSourceFile: /src/hostap/src/ap/ap_list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ap_list_timer(struct hostapd_iface *iface)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: struct wps_for_each_data*::func
      Src: /src/hostap/src/ap/wps_hostapd.c:70,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - iface
    - ctx
    argTypes:
    - struct hostapd_iface*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 76
    functionName: wps_for_each
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.c
    functionUses: 0
    functionsReached:
    - struct wps_for_each_data*::func
    linkageType: ''
    returnType: int
    signature: int wps_for_each(struct hostapd_iface *iface, void *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wps_for_each
      Src: /src/hostap/src/ap/wps_hostapd.c:90,1
    - Dst: struct hostapd_iface*::interfaces::for_each_interface
      Src: /src/hostap/src/ap/wps_hostapd.c:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - hapd
    - ctx
    argTypes:
    - struct hostapd_data*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 93
    functionName: hostapd_wps_for_each
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.c
    functionUses: 0
    functionsReached:
    - wps_for_each
    - struct hostapd_iface*::interfaces::for_each_interface
    linkageType: ''
    returnType: int
    signature: "int hostapd_wps_for_each(struct hostapd_data *hapd,\n\t\t\t\tint (*func)(struct
      hostapd_data *h, void *ctx),\n\t\t\t\tvoid *ctx)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/ap/wps_hostapd.c:104,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wps_hostapd.c:105,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wps_hostapd.c:107,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wps_hostapd.c:109,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wps_hostapd.c:112,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wps_hostapd.c:112,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/ap/wps_hostapd.c:114,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wps_hostapd.c:117,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/wps_hostapd.c:123,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wps_hostapd.c:126,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wps_hostapd.c:127,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wps_hostapd.c:128,1
    - Dst: struct hostapd_data*::new_psk_cb
      Src: /src/hostap/src/ap/wps_hostapd.c:132,1
    - Dst: fopen
      Src: /src/hostap/src/ap/wps_hostapd.c:144,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wps_hostapd.c:146,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/ap/wps_hostapd.c:151,1
    - Dst: fprintf
      Src: /src/hostap/src/ap/wps_hostapd.c:152,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wps_hostapd.c:152,1
    - Dst: fclose
      Src: /src/hostap/src/ap/wps_hostapd.c:153,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 5
    argNames:
    - ctx
    - mac_addr
    - p2p_dev_addr
    - psk
    - psk_len
    argTypes:
    - void*
    - u8*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 157
    functionName: hostapd_wps_new_psk_cb
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump_key
    - os_memcpy
    - wpa_snprintf_hex
    - struct hostapd_data*::new_psk_cb
    - fprintf
    - is_zero_ether_addr
    - fclose
    - MAC2STR
    - os_zalloc
    - fopen
    linkageType: ''
    returnType: int
    signature: "int hostapd_wps_new_psk_cb(void *ctx, const u8 *mac_addr,\n\t\t\t\t
      \ const u8 *p2p_dev_addr, const u8 *psk,\n\t\t\t\t  size_t psk_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/wps_hostapd.c:164,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/wps_hostapd.c:166,1
    - Dst: ieee802_11_set_beacon
      Src: /src/hostap/src/ap/wps_hostapd.c:169,1
    - Dst: hostapd_set_ap_wps_ie
      Src: /src/hostap/src/ap/wps_hostapd.c:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - beacon_ie
    - probe_resp_ie
    argTypes:
    - void*
    - struct wpabuf*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 160
    functionDepth: 10
    functionLinenumber: 160
    functionLinenumberEnd: 171
    functionName: hostapd_wps_set_ie_cb
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.c
    functionUses: 0
    functionsReached:
    - ieee802_11_set_beacon
    - wpabuf_free
    - hostapd_set_ap_wps_ie
    linkageType: ''
    returnType: int
    signature: "int hostapd_wps_set_ie_cb(void *ctx, struct wpabuf *beacon_ie,\n\t\t\t\t
      struct wpabuf *probe_resp_ie)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: uuid_bin2str
      Src: /src/hostap/src/ap/wps_hostapd.c:181,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wps_hostapd.c:183,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/wps_hostapd.c:184,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wps_hostapd.c:186,1
    - Dst: wps_dev_type_bin2str
      Src: /src/hostap/src/ap/wps_hostapd.c:189,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/wps_hostapd.c:191,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/wps_hostapd.c:192,1
    - Dst: fopen
      Src: /src/hostap/src/ap/wps_hostapd.c:197,1
    - Dst: os_get_time
      Src: /src/hostap/src/ap/wps_hostapd.c:200,1
    - Dst: fprintf
      Src: /src/hostap/src/ap/wps_hostapd.c:201,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wps_hostapd.c:203,1
    - Dst: wps_dev_type_bin2str
      Src: /src/hostap/src/ap/wps_hostapd.c:206,1
    - Dst: fclose
      Src: /src/hostap/src/ap/wps_hostapd.c:208,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - ctx
    - uuid_e
    - dev
    argTypes:
    - void*
    - u8*
    - struct wps_device_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 210
    functionName: hostapd_wps_pin_needed_cb
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - fprintf
    - fopen
    - wpa_msg
    - os_snprintf
    - MAC2STR
    - fclose
    - os_get_time
    - uuid_bin2str
    - wps_dev_type_bin2str
    - os_snprintf_error
    linkageType: ''
    returnType: void
    signature: "void hostapd_wps_pin_needed_cb(void *ctx, const u8 *uuid_e,\n\t\t\t\t
      \     const struct wps_device_data *dev)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wps_registrar_complete
      Src: /src/hostap/src/ap/wps_hostapd.c:224,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - hapd
    - ctx
    argTypes:
    - struct hostapd_data*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 227
    functionName: wps_stop_registrar
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.c
    functionUses: 0
    functionsReached:
    - wps_registrar_complete
    linkageType: ''
    returnType: int
    signature: int wps_stop_registrar(struct hostapd_data *hapd, void *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: uuid_bin2str
      Src: /src/hostap/src/ap/wps_hostapd.c:237,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/wps_hostapd.c:239,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wps_hostapd.c:240,1
    - Dst: struct hostapd_data*::wps_reg_success_cb
      Src: /src/hostap/src/ap/wps_hostapd.c:242,1
    - Dst: hostapd_wps_for_each
      Src: /src/hostap/src/ap/wps_hostapd.c:248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - ctx
    - mac_addr
    - uuid_e
    - dev_pw
    - dev_pw_len
    argTypes:
    - void*
    - u8*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 230
    functionDepth: 2
    functionLinenumber: 230
    functionLinenumberEnd: 249
    functionName: hostapd_wps_reg_success_cb
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.c
    functionUses: 0
    functionsReached:
    - hostapd_wps_for_each
    - wpa_msg
    - MAC2STR
    - struct hostapd_data*::wps_reg_success_cb
    - uuid_bin2str
    linkageType: ''
    returnType: void
    signature: "void hostapd_wps_reg_success_cb(void *ctx, const u8 *mac_addr,\n\t\t\t\t
      \      const u8 *uuid_e, const u8 *dev_pw,\n\t\t\t\t       size_t dev_pw_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: uuid_bin2str
      Src: /src/hostap/src/ap/wps_hostapd.c:262,1
    - Dst: wpa_msg_ctrl
      Src: /src/hostap/src/ap/wps_hostapd.c:266,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wps_hostapd.c:268,1
    - Dst: wps_dev_type_bin2str
      Src: /src/hostap/src/ap/wps_hostapd.c:269,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 8
    argNames:
    - ctx
    - addr
    - uuid_e
    - pri_dev_type
    - config_methods
    - dev_password_id
    - request_type
    - dev_name
    argTypes:
    - void*
    - u8*
    - u8*
    - u8*
    - u16
    - u16
    - u8
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 272
    functionName: hostapd_wps_enrollee_seen_cb
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.c
    functionUses: 0
    functionsReached:
    - wpa_msg_ctrl
    - MAC2STR
    - uuid_bin2str
    - wps_dev_type_bin2str
    linkageType: ''
    returnType: void
    signature: "void hostapd_wps_enrollee_seen_cb(void *ctx, const u8 *addr,\n\t\t\t\t\t
      const u8 *uuid_e,\n\t\t\t\t\t const u8 *pri_dev_type,\n\t\t\t\t\t u16 config_methods,\n\t\t\t\t\t
      u16 dev_password_id, u8 request_type,\n\t\t\t\t\t const char *dev_name)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/ap/wps_hostapd.c:288,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/wps_hostapd.c:292,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wps_hostapd.c:304,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 3
    argNames:
    - ctx
    - mac_addr
    - psk
    argTypes:
    - void*
    - u8*
    - u8**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 310
    functionName: hostapd_wps_lookup_pskfile_cb
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - is_zero_ether_addr
    - ether_addr_equal
    linkageType: ''
    returnType: int
    signature: "int hostapd_wps_lookup_pskfile_cb(void *ctx, const u8 *mac_addr,\n\t\t\t\t\t
      const u8 **psk)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wps_hostapd.c:317,1
    - Dst: struct hostapd_iface*::interfaces::reload_config
      Src: /src/hostap/src/ap/wps_hostapd.c:319,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wps_hostapd.c:320,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - eloop_data
    - user_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 323
    functionName: wps_reload_config
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.c
    functionUses: 0
    functionsReached:
    - struct hostapd_iface*::interfaces::reload_config
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void wps_reload_config(void *eloop_data, void *user_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eloop_deplete_timeout
      Src: /src/hostap/src/ap/wps_hostapd.c:334,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wps_hostapd.c:336,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 337
    functionName: hostapd_wps_eap_completed
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.c
    functionUses: 3
    functionsReached:
    - wpa_printf
    - eloop_deplete_timeout
    linkageType: ''
    returnType: void
    signature: void hostapd_wps_eap_completed(struct hostapd_data *hapd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/ap/wps_hostapd.c:344,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/ap/wps_hostapd.c:346,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/wps_hostapd.c:347,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wps_hostapd.c:349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - hapd
    - attr
    - attr_len
    argTypes:
    - struct hostapd_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 351
    functionName: hapd_new_ap_event
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpa_snprintf_hex
    - os_malloc
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: "void hapd_new_ap_event(struct hostapd_data *hapd, const u8 *attr,\n\t\t\t
      \     size_t attr_len)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wps_hostapd.c:359,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wps_hostapd.c:363,1
    - Dst: wpa_select_ap_group_cipher
      Src: /src/hostap/src/ap/wps_hostapd.c:404,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wps_hostapd.c:419,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/wps_hostapd.c:420,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wps_hostapd.c:422,1
    - Dst: hostapd_config_clear_wpa_psk
      Src: /src/hostap/src/ap/wps_hostapd.c:424,1
    - Dst: hostapd_config_clear_wpa_psk
      Src: /src/hostap/src/ap/wps_hostapd.c:426,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/wps_hostapd.c:428,1
    - Dst: hexstr2bin
      Src: /src/hostap/src/ap/wps_hostapd.c:430,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wps_hostapd.c:433,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/wps_hostapd.c:449,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 61
    argCount: 2
    argNames:
    - hapd
    - cred
    argTypes:
    - struct hostapd_data*
    - struct wps_credential*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 354
    functionDepth: 2
    functionLinenumber: 354
    functionLinenumberEnd: 453
    functionName: hapd_wps_reconfig_in_memory
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - hexstr2bin
    - hostapd_config_clear_wpa_psk
    - os_zalloc
    - wpa_select_ap_group_cipher
    - eloop_register_timeout
    - os_free
    linkageType: ''
    returnType: int
    signature: "int hapd_wps_reconfig_in_memory(struct hostapd_data *hapd,\n\t\t\t\t
      \      const struct wps_credential *cred)"
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/ap/wps_hostapd.c:470,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wps_hostapd.c:473,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/ap/wps_hostapd.c:474,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wps_hostapd.c:475,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wps_hostapd.c:477,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wps_hostapd.c:478,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/ap/wps_hostapd.c:479,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wps_hostapd.c:481,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wps_hostapd.c:482,1
    - Dst: hapd_new_ap_event
      Src: /src/hostap/src/ap/wps_hostapd.c:486,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/ap/wps_hostapd.c:490,1
    - Dst: wps_build_credential_wrap
      Src: /src/hostap/src/ap/wps_hostapd.c:491,1
    - Dst: hapd_new_ap_event
      Src: /src/hostap/src/ap/wps_hostapd.c:492,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/ap/wps_hostapd.c:492,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/wps_hostapd.c:493,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/wps_hostapd.c:494,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/wps_hostapd.c:496,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wps_hostapd.c:501,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wps_hostapd.c:510,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wps_hostapd.c:515,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wps_hostapd.c:522,1
    - Dst: os_malloc
      Src: /src/hostap/src/ap/wps_hostapd.c:523,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wps_hostapd.c:528,1
    - Dst: hapd_wps_reconfig_in_memory
      Src: /src/hostap/src/ap/wps_hostapd.c:533,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/wps_hostapd.c:534,1
    - Dst: os_malloc
      Src: /src/hostap/src/ap/wps_hostapd.c:535,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/wps_hostapd.c:538,1
    - Dst: fopen
      Src: /src/hostap/src/ap/wps_hostapd.c:540,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wps_hostapd.c:542,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wps_hostapd.c:544,1
    - Dst: fopen
      Src: /src/hostap/src/ap/wps_hostapd.c:548,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wps_hostapd.c:550,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wps_hostapd.c:552,1
    - Dst: fclose
      Src: /src/hostap/src/ap/wps_hostapd.c:553,1
    - Dst: fprintf
      Src: /src/hostap/src/ap/wps_hostapd.c:557,1
    - Dst: fprintf
      Src: /src/hostap/src/ap/wps_hostapd.c:559,1
    - Dst: is_hex
      Src: /src/hostap/src/ap/wps_hostapd.c:561,1
    - Dst: fprintf
      Src: /src/hostap/src/ap/wps_hostapd.c:562,1
    - Dst: fprintf
      Src: /src/hostap/src/ap/wps_hostapd.c:564,1
    - Dst: fprintf
      Src: /src/hostap/src/ap/wps_hostapd.c:565,1
    - Dst: fprintf
      Src: /src/hostap/src/ap/wps_hostapd.c:567,1
    - Dst: fputc
      Src: /src/hostap/src/ap/wps_hostapd.c:569,1
    - Dst: fprintf
      Src: /src/hostap/src/ap/wps_hostapd.c:570,1
    - Dst: fprintf
      Src: /src/hostap/src/ap/wps_hostapd.c:595,1
    - Dst: fprintf
      Src: /src/hostap/src/ap/wps_hostapd.c:597,1
    - Dst: fprintf
      Src: /src/hostap/src/ap/wps_hostapd.c:600,1
    - Dst: fprintf
      Src: /src/hostap/src/ap/wps_hostapd.c:604,1
    - Dst: fprintf
      Src: /src/hostap/src/ap/wps_hostapd.c:610,1
    - Dst: fprintf
      Src: /src/hostap/src/ap/wps_hostapd.c:613,1
    - Dst: fprintf
      Src: /src/hostap/src/ap/wps_hostapd.c:616,1
    - Dst: fprintf
      Src: /src/hostap/src/ap/wps_hostapd.c:621,1
    - Dst: fprintf
      Src: /src/hostap/src/ap/wps_hostapd.c:623,1
    - Dst: fprintf
      Src: /src/hostap/src/ap/wps_hostapd.c:627,1
    - Dst: fprintf
      Src: /src/hostap/src/ap/wps_hostapd.c:629,1
    - Dst: fprintf
      Src: /src/hostap/src/ap/wps_hostapd.c:635,1
    - Dst: fprintf
      Src: /src/hostap/src/ap/wps_hostapd.c:638,1
    - Dst: fprintf
      Src: /src/hostap/src/ap/wps_hostapd.c:641,1
    - Dst: fputc
      Src: /src/hostap/src/ap/wps_hostapd.c:643,1
    - Dst: fprintf
      Src: /src/hostap/src/ap/wps_hostapd.c:644,1
    - Dst: fprintf
      Src: /src/hostap/src/ap/wps_hostapd.c:646,1
    - Dst: fputc
      Src: /src/hostap/src/ap/wps_hostapd.c:648,1
    - Dst: fprintf
      Src: /src/hostap/src/ap/wps_hostapd.c:649,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wps_hostapd.c:651,1
    - Dst: fprintf
      Src: /src/hostap/src/ap/wps_hostapd.c:656,1
    - Dst: fprintf
      Src: /src/hostap/src/ap/wps_hostapd.c:662,1
    - Dst: fprintf
      Src: /src/hostap/src/ap/wps_hostapd.c:665,1
    - Dst: fgets
      Src: /src/hostap/src/ap/wps_hostapd.c:668,1
    - Dst: os_strncmp
      Src: /src/hostap/src/ap/wps_hostapd.c:669,1
    - Dst: str_starts
      Src: /src/hostap/src/ap/wps_hostapd.c:672,1
    - Dst: str_starts
      Src: /src/hostap/src/ap/wps_hostapd.c:673,1
    - Dst: str_starts
      Src: /src/hostap/src/ap/wps_hostapd.c:674,1
    - Dst: str_starts
      Src: /src/hostap/src/ap/wps_hostapd.c:676,1
    - Dst: str_starts
      Src: /src/hostap/src/ap/wps_hostapd.c:677,1
    - Dst: str_starts
      Src: /src/hostap/src/ap/wps_hostapd.c:679,1
    - Dst: str_starts
      Src: /src/hostap/src/ap/wps_hostapd.c:680,1
    - Dst: str_starts
      Src: /src/hostap/src/ap/wps_hostapd.c:681,1
    - Dst: str_starts
      Src: /src/hostap/src/ap/wps_hostapd.c:682,1
    - Dst: str_starts
      Src: /src/hostap/src/ap/wps_hostapd.c:683,1
    - Dst: str_starts
      Src: /src/hostap/src/ap/wps_hostapd.c:684,1
    - Dst: str_starts
      Src: /src/hostap/src/ap/wps_hostapd.c:685,1
    - Dst: str_starts
      Src: /src/hostap/src/ap/wps_hostapd.c:686,1
    - Dst: fprintf
      Src: /src/hostap/src/ap/wps_hostapd.c:687,1
    - Dst: fprintf
      Src: /src/hostap/src/ap/wps_hostapd.c:689,1
    - Dst: fclose
      Src: /src/hostap/src/ap/wps_hostapd.c:692,1
    - Dst: fclose
      Src: /src/hostap/src/ap/wps_hostapd.c:693,1
    - Dst: rename
      Src: /src/hostap/src/ap/wps_hostapd.c:695,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wps_hostapd.c:696,1
    - Dst: strerror
      Src: /src/hostap/src/ap/wps_hostapd.c:697,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wps_hostapd.c:698,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wps_hostapd.c:702,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/wps_hostapd.c:707,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wps_hostapd.c:710,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 168
    argCount: 2
    argNames:
    - hapd
    - ctx
    argTypes:
    - struct hostapd_data*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 456
    functionDepth: 3
    functionLinenumber: 456
    functionLinenumberEnd: 713
    functionName: hapd_wps_cred_cb
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.c
    functionUses: 0
    functionsReached:
    - fprintf
    - os_snprintf
    - wpabuf_alloc
    - wps_build_credential_wrap
    - fopen
    - wpa_hexdump_ascii
    - os_strlen
    - wpa_printf
    - rename
    - fputc
    - fclose
    - is_hex
    - os_free
    - str_starts
    - fgets
    - hapd_wps_reconfig_in_memory
    - wpa_hexdump_key
    - wpabuf_head_u8
    - wpabuf_len
    - os_malloc
    - os_memcpy
    - strerror
    - wpa_msg
    - wpabuf_free
    - os_strncmp
    - MAC2STR
    - eloop_register_timeout
    - hapd_new_ap_event
    linkageType: ''
    returnType: int
    signature: int hapd_wps_cred_cb(struct hostapd_data *hapd, void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_wps_for_each
      Src: /src/hostap/src/ap/wps_hostapd.c:719,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - cred
    argTypes:
    - void*
    - struct wps_credential*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 716
    functionDepth: 2
    functionLinenumber: 716
    functionLinenumberEnd: 720
    functionName: hostapd_wps_cred_cb
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.c
    functionUses: 0
    functionsReached:
    - hostapd_wps_for_each
    linkageType: ''
    returnType: int
    signature: int hostapd_wps_cred_cb(void *ctx, const struct wps_credential *cred)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wps_hostapd.c:732,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/wps_hostapd.c:733,1
    - Dst: wps_registrar_update_ie
      Src: /src/hostap/src/ap/wps_hostapd.c:735,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - eloop_data
    - user_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 723
    functionDepth: 1
    functionLinenumber: 723
    functionLinenumberEnd: 736
    functionName: hostapd_wps_reenable_ap_pin
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wps_registrar_update_ie
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: void hostapd_wps_reenable_ap_pin(void *eloop_data, void *user_ctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wps_hostapd.c:753,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/wps_hostapd.c:759,1
    - Dst: wps_registrar_update_ie
      Src: /src/hostap/src/ap/wps_hostapd.c:762,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/wps_hostapd.c:770,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wps_hostapd.c:771,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wps_hostapd.c:779,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/wps_hostapd.c:781,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/wps_hostapd.c:782,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 2
    argNames:
    - hapd
    - ctx
    argTypes:
    - struct hostapd_data*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 739
    functionDepth: 1
    functionLinenumber: 739
    functionLinenumberEnd: 788
    functionName: wps_pwd_auth_fail
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_msg
    - eloop_cancel_timeout
    - wps_registrar_update_ie
    - eloop_register_timeout
    linkageType: ''
    returnType: int
    signature: int wps_pwd_auth_fail(struct hostapd_data *hapd, void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wps_hostapd.c:795,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wps_hostapd.c:798,1
    - Dst: hostapd_wps_for_each
      Src: /src/hostap/src/ap/wps_hostapd.c:800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - hapd
    - data
    argTypes:
    - struct hostapd_data*
    - struct wps_event_pwd_auth_fail*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 791
    functionDepth: 2
    functionLinenumber: 791
    functionLinenumberEnd: 801
    functionName: hostapd_pwd_auth_fail
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hostapd_wps_for_each
    - os_memcpy
    linkageType: ''
    returnType: void
    signature: "void hostapd_pwd_auth_fail(struct hostapd_data *hapd,\n\t\t\t\t  struct
      wps_event_pwd_auth_fail *data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wps_hostapd.c:812,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - hapd
    - ctx
    argTypes:
    - struct hostapd_data*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 818
    functionName: wps_ap_pin_success
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int wps_ap_pin_success(struct hostapd_data *hapd, void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_wps_for_each
      Src: /src/hostap/src/ap/wps_hostapd.c:823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 821
    functionDepth: 2
    functionLinenumber: 821
    functionLinenumberEnd: 824
    functionName: hostapd_wps_ap_pin_success
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.c
    functionUses: 0
    functionsReached:
    - hostapd_wps_for_each
    linkageType: ''
    returnType: void
    signature: void hostapd_wps_ap_pin_success(struct hostapd_data *hapd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 827
    functionDepth: 0
    functionLinenumber: 827
    functionLinenumberEnd: 831
    functionName: hostapd_wps_event_pbc_overlap
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void hostapd_wps_event_pbc_overlap(struct hostapd_data *hapd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 838
    functionName: hostapd_wps_event_pbc_timeout
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void hostapd_wps_event_pbc_timeout(struct hostapd_data *hapd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 841
    functionDepth: 0
    functionLinenumber: 841
    functionLinenumberEnd: 845
    functionName: hostapd_wps_event_pbc_active
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void hostapd_wps_event_pbc_active(struct hostapd_data *hapd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 852
    functionName: hostapd_wps_event_pbc_disable
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void hostapd_wps_event_pbc_disable(struct hostapd_data *hapd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wps_hostapd.c:861,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - hapd
    - success
    argTypes:
    - struct hostapd_data*
    - struct wps_event_success*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 862
    functionName: hostapd_wps_event_success
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    linkageType: ''
    returnType: void
    signature: "void hostapd_wps_event_success(struct hostapd_data *hapd,\n\t\t\t\t
      \     struct wps_event_success *success)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wps_hostapd.c:870,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/wps_hostapd.c:876,1
    - Dst: wps_ei_str
      Src: /src/hostap/src/ap/wps_hostapd.c:879,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/wps_hostapd.c:881,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - hapd
    - fail
    argTypes:
    - struct hostapd_data*
    - struct wps_event_fail*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 865
    functionDepth: 1
    functionLinenumber: 865
    functionLinenumberEnd: 885
    functionName: hostapd_wps_event_fail
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.c
    functionUses: 0
    functionsReached:
    - wps_ei_str
    - os_memcpy
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: "void hostapd_wps_event_fail(struct hostapd_data *hapd,\n\t\t\t\t   struct
      wps_event_fail *fail)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/wps_hostapd.c:895,1
    - Dst: hostapd_wps_event_fail
      Src: /src/hostap/src/ap/wps_hostapd.c:898,1
    - Dst: hostapd_wps_event_success
      Src: /src/hostap/src/ap/wps_hostapd.c:901,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/wps_hostapd.c:902,1
    - Dst: hostapd_pwd_auth_fail
      Src: /src/hostap/src/ap/wps_hostapd.c:905,1
    - Dst: hostapd_wps_event_pbc_overlap
      Src: /src/hostap/src/ap/wps_hostapd.c:908,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/wps_hostapd.c:909,1
    - Dst: hostapd_wps_event_pbc_timeout
      Src: /src/hostap/src/ap/wps_hostapd.c:912,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/wps_hostapd.c:913,1
    - Dst: hostapd_wps_event_pbc_active
      Src: /src/hostap/src/ap/wps_hostapd.c:916,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/wps_hostapd.c:917,1
    - Dst: hostapd_wps_event_pbc_disable
      Src: /src/hostap/src/ap/wps_hostapd.c:920,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/wps_hostapd.c:921,1
    - Dst: hostapd_wps_ap_pin_success
      Src: /src/hostap/src/ap/wps_hostapd.c:936,1
    - Dst: struct hostapd_data*::wps_event_cb
      Src: /src/hostap/src/ap/wps_hostapd.c:940,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 49
    argCount: 3
    argNames:
    - ctx
    - event
    - data
    argTypes:
    - void*
    - enum wps_event
    - union wps_event_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 888
    functionDepth: 3
    functionLinenumber: 888
    functionLinenumberEnd: 941
    functionName: hostapd_wps_event_cb
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.c
    functionUses: 0
    functionsReached:
    - hostapd_wps_event_pbc_disable
    - hostapd_wps_event_pbc_overlap
    - wpa_msg
    - hostapd_wps_event_success
    - hostapd_wps_event_fail
    - hostapd_wps_event_pbc_timeout
    - hostapd_wps_event_pbc_active
    - hostapd_pwd_auth_fail
    - hostapd_wps_ap_pin_success
    - struct hostapd_data*::wps_event_cb
    linkageType: ''
    returnType: void
    signature: "void hostapd_wps_event_cb(void *ctx, enum wps_event event,\n\t\t\t\t
      union wps_event_data *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 944
    functionDepth: 0
    functionLinenumber: 944
    functionLinenumberEnd: 952
    functionName: hostapd_wps_rf_band_cb
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int hostapd_wps_rf_band_cb(void *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/wps_hostapd.c:957,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/wps_hostapd.c:960,1
    - Dst: hostapd_reset_ap_wps_ie
      Src: /src/hostap/src/ap/wps_hostapd.c:965,1
    - Dst: hostapd_set_ap_wps_ie
      Src: /src/hostap/src/ap/wps_hostapd.c:969,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - hapd
    - deinit_only
    argTypes:
    - struct hostapd_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 955
    functionDepth: 6
    functionLinenumber: 955
    functionLinenumberEnd: 970
    functionName: hostapd_wps_clear_ies
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.c
    functionUses: 0
    functionsReached:
    - wpabuf_free
    - hostapd_reset_ap_wps_ie
    - hostapd_set_ap_wps_ie
    linkageType: ''
    returnType: void
    signature: void hostapd_wps_clear_ies(struct hostapd_data *hapd, int deinit_only)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_nil_uuid
      Src: /src/hostap/src/ap/wps_hostapd.c:983,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - iface
    - ctx
    argTypes:
    - struct hostapd_iface*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 973
    functionDepth: 1
    functionLinenumber: 973
    functionLinenumberEnd: 990
    functionName: get_uuid_cb
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.c
    functionUses: 0
    functionsReached:
    - is_nil_uuid
    linkageType: ''
    returnType: int
    signature: int get_uuid_cb(struct hostapd_iface *iface, void *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_iface*::interfaces::for_each_interface
      Src: /src/hostap/src/ap/wps_hostapd.c:1000,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 993
    functionDepth: 0
    functionLinenumber: 993
    functionLinenumberEnd: 1003
    functionName: get_own_uuid
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.c
    functionUses: 0
    functionsReached:
    - struct hostapd_iface*::interfaces::for_each_interface
    linkageType: ''
    returnType: u8
    signature: u8 * get_own_uuid(struct hostapd_iface *iface)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - iface
    - ctx
    argTypes:
    - struct hostapd_iface*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1011
      start: 1006
    functionDepth: 0
    functionLinenumber: 1006
    functionLinenumberEnd: 1011
    functionName: count_interface_cb
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int count_interface_cb(struct hostapd_iface *iface, void *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_iface*::interfaces::for_each_interface
      Src: /src/hostap/src/ap/wps_hostapd.c:1020,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1023
      start: 1014
    functionDepth: 0
    functionLinenumber: 1014
    functionLinenumberEnd: 1023
    functionName: interface_count
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.c
    functionUses: 0
    functionsReached:
    - struct hostapd_iface*::interfaces::for_each_interface
    linkageType: ''
    returnType: int
    signature: int interface_count(struct hostapd_iface *iface)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/wps_hostapd.c:1032,1
    - Dst: wpabuf_dup
      Src: /src/hostap/src/ap/wps_hostapd.c:1039,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/wps_hostapd.c:1042,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - hapd
    - wps
    argTypes:
    - struct hostapd_data*
    - struct wps_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 1026
    functionDepth: 1
    functionLinenumber: 1026
    functionLinenumberEnd: 1048
    functionName: hostapd_wps_set_vendor_ext
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.c
    functionUses: 0
    functionsReached:
    - wpabuf_dup
    - wpabuf_free
    linkageType: ''
    returnType: int
    signature: "int hostapd_wps_set_vendor_ext(struct hostapd_data *hapd,\n\t\t\t\t
      \     struct wps_context *wps)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/wps_hostapd.c:1054,1
    - Dst: wpabuf_dup
      Src: /src/hostap/src/ap/wps_hostapd.c:1061,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - hapd
    - wps
    argTypes:
    - struct hostapd_data*
    - struct wps_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1051
    functionDepth: 1
    functionLinenumber: 1051
    functionLinenumberEnd: 1063
    functionName: hostapd_wps_set_application_ext
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.c
    functionUses: 0
    functionsReached:
    - wpabuf_dup
    - wpabuf_free
    linkageType: ''
    returnType: int
    signature: "int hostapd_wps_set_application_ext(struct hostapd_data *hapd,\n\t\t\t\t\t
      \  struct wps_context *wps)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/wps_hostapd.c:1071,1
    - Dst: wps_device_data_free
      Src: /src/hostap/src/ap/wps_hostapd.c:1072,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/ap/wps_hostapd.c:1073,1
    - Dst: hostapd_wps_nfc_clear
      Src: /src/hostap/src/ap/wps_hostapd.c:1074,1
    - Dst: dh5_free
      Src: /src/hostap/src/ap/wps_hostapd.c:1075,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/wps_hostapd.c:1076,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/wps_hostapd.c:1077,1
    - Dst: forced_memzero
      Src: /src/hostap/src/ap/wps_hostapd.c:1078,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wps_hostapd.c:1079,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - wps
    argTypes:
    - struct wps_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1066
    functionDepth: 1
    functionLinenumber: 1066
    functionLinenumberEnd: 1080
    functionName: hostapd_free_wps
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.c
    functionUses: 0
    functionsReached:
    - dh5_free
    - forced_memzero
    - wpabuf_free
    - wps_device_data_free
    - os_free
    - hostapd_wps_nfc_clear
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: void hostapd_free_wps(struct wps_context *wps)
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_wps_clear_ies
      Src: /src/hostap/src/ap/wps_hostapd.c:1091,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/wps_hostapd.c:1095,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/wps_hostapd.c:1104,1
    - Dst: is_nil_uuid
      Src: /src/hostap/src/ap/wps_hostapd.c:1107,1
    - Dst: get_own_uuid
      Src: /src/hostap/src/ap/wps_hostapd.c:1109,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wps_hostapd.c:1111,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wps_hostapd.c:1112,1
    - Dst: uuid_gen_mac_addr
      Src: /src/hostap/src/ap/wps_hostapd.c:1115,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wps_hostapd.c:1116,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wps_hostapd.c:1120,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wps_hostapd.c:1121,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wps_hostapd.c:1125,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wps_hostapd.c:1127,1
    - Dst: os_strdup
      Src: /src/hostap/src/ap/wps_hostapd.c:1129,1
    - Dst: os_strdup
      Src: /src/hostap/src/ap/wps_hostapd.c:1131,1
    - Dst: os_strdup
      Src: /src/hostap/src/ap/wps_hostapd.c:1133,1
    - Dst: os_strdup
      Src: /src/hostap/src/ap/wps_hostapd.c:1135,1
    - Dst: os_strdup
      Src: /src/hostap/src/ap/wps_hostapd.c:1137,1
    - Dst: wps_config_methods_str2bin
      Src: /src/hostap/src/ap/wps_hostapd.c:1139,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wps_hostapd.c:1143,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wps_hostapd.c:1150,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wps_hostapd.c:1154,1
    - Dst: hostapd_wps_set_vendor_ext
      Src: /src/hostap/src/ap/wps_hostapd.c:1157,1
    - Dst: hostapd_wps_set_application_ext
      Src: /src/hostap/src/ap/wps_hostapd.c:1158,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/ap/wps_hostapd.c:1161,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wps_hostapd.c:1189,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wps_hostapd.c:1201,1
    - Dst: os_strdup
      Src: /src/hostap/src/ap/wps_hostapd.c:1230,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/wps_hostapd.c:1231,1
    - Dst: os_malloc
      Src: /src/hostap/src/ap/wps_hostapd.c:1233,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/ap/wps_hostapd.c:1236,1
    - Dst: os_malloc
      Src: /src/hostap/src/ap/wps_hostapd.c:1241,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wps_hostapd.c:1244,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wps_hostapd.c:1251,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/wps_hostapd.c:1283,1
    - Dst: os_malloc
      Src: /src/hostap/src/ap/wps_hostapd.c:1285,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/ap/wps_hostapd.c:1288,1
    - Dst: interface_count
      Src: /src/hostap/src/ap/wps_hostapd.c:1312,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wps_hostapd.c:1317,1
    - Dst: wps_registrar_init
      Src: /src/hostap/src/ap/wps_hostapd.c:1320,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wps_hostapd.c:1322,1
    - Dst: hostapd_register_probereq_cb
      Src: /src/hostap/src/ap/wps_hostapd.c:1334,1
    - Dst: is_6ghz_op_class
      Src: /src/hostap/src/ap/wps_hostapd.c:1338,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/ap/wps_hostapd.c:1342,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/ap/wps_hostapd.c:1347,1
    - Dst: hostapd_free_wps
      Src: /src/hostap/src/ap/wps_hostapd.c:1348,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 195
    argCount: 2
    argNames:
    - hapd
    - conf
    argTypes:
    - struct hostapd_data*
    - struct hostapd_bss_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1350
      start: 1083
    functionDepth: 7
    functionLinenumber: 1083
    functionLinenumberEnd: 1350
    functionName: hostapd_init_wps
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.c
    functionUses: 0
    functionsReached:
    - wpa_hexdump
    - is_nil_uuid
    - get_own_uuid
    - hostapd_free_wps
    - os_strlen
    - wpa_printf
    - wpa_snprintf_hex
    - hostapd_register_probereq_cb
    - wps_config_methods_str2bin
    - hostapd_wps_clear_ies
    - interface_count
    - is_6ghz_op_class
    - os_malloc
    - hostapd_wps_set_vendor_ext
    - os_strdup
    - os_memset
    - wps_registrar_init
    - os_memcpy
    - os_zalloc
    - uuid_gen_mac_addr
    - hostapd_wps_set_application_ext
    - WPA_GET_BE32
    - bin_clear_free
    linkageType: ''
    returnType: int
    signature: "int hostapd_init_wps(struct hostapd_data *hapd,\n\t\t     struct hostapd_bss_config
      *conf)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_wps_upnp_init
      Src: /src/hostap/src/ap/wps_hostapd.c:1361,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wps_hostapd.c:1362,1
    - Dst: wps_registrar_deinit
      Src: /src/hostap/src/ap/wps_hostapd.c:1363,1
    - Dst: hostapd_free_wps
      Src: /src/hostap/src/ap/wps_hostapd.c:1364,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1371
      start: 1353
    functionDepth: 2
    functionLinenumber: 1353
    functionLinenumberEnd: 1371
    functionName: hostapd_init_wps_complete
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.c
    functionUses: 0
    functionsReached:
    - hostapd_wps_upnp_init
    - wpa_printf
    - wps_registrar_deinit
    - hostapd_free_wps
    linkageType: ''
    returnType: int
    signature: int hostapd_init_wps_complete(struct hostapd_data *hapd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wps_hostapd.c:1377,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/wps_hostapd.c:1379,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/wps_hostapd.c:1381,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/wps_hostapd.c:1383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - wps
    argTypes:
    - struct wps_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1386
      start: 1374
    functionDepth: 1
    functionLinenumber: 1374
    functionLinenumberEnd: 1386
    functionName: hostapd_wps_nfc_clear
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpabuf_free
    linkageType: ''
    returnType: void
    signature: void hostapd_wps_nfc_clear(struct wps_context *wps)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_strdup
      Src: /src/hostap/src/ap/wps_hostapd.c:1403,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/wps_hostapd.c:1408,1
    - Dst: os_malloc
      Src: /src/hostap/src/ap/wps_hostapd.c:1410,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/ap/wps_hostapd.c:1413,1
    - Dst: wps_registrar_update_multi_ap
      Src: /src/hostap/src/ap/wps_hostapd.c:1420,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wps_hostapd.c:1425,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - hapd
    - reg
    argTypes:
    - struct hostapd_data*
    - struct wps_registrar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1428
      start: 1389
    functionDepth: 1
    functionLinenumber: 1389
    functionLinenumberEnd: 1428
    functionName: hostapd_wps_update_multi_ap
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_snprintf_hex
    - os_malloc
    - wps_registrar_update_multi_ap
    - os_free
    - os_strdup
    linkageType: ''
    returnType: int
    signature: "int hostapd_wps_update_multi_ap(struct hostapd_data *hapd,\n\t\t\t\t
      \      struct wps_registrar *reg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/wps_hostapd.c:1433,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/wps_hostapd.c:1434,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/wps_hostapd.c:1435,1
    - Dst: hostapd_wps_clear_ies
      Src: /src/hostap/src/ap/wps_hostapd.c:1437,1
    - Dst: hostapd_wps_upnp_deinit
      Src: /src/hostap/src/ap/wps_hostapd.c:1441,1
    - Dst: wps_registrar_deinit
      Src: /src/hostap/src/ap/wps_hostapd.c:1443,1
    - Dst: wps_free_pending_msgs
      Src: /src/hostap/src/ap/wps_hostapd.c:1444,1
    - Dst: hostapd_free_wps
      Src: /src/hostap/src/ap/wps_hostapd.c:1445,1
    - Dst: hostapd_wps_clear_ies
      Src: /src/hostap/src/ap/wps_hostapd.c:1447,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1448
      start: 1431
    functionDepth: 7
    functionLinenumber: 1431
    functionLinenumberEnd: 1448
    functionName: hostapd_deinit_wps
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.c
    functionUses: 0
    functionsReached:
    - wps_registrar_deinit
    - eloop_cancel_timeout
    - wps_free_pending_msgs
    - hostapd_wps_clear_ies
    - hostapd_free_wps
    - hostapd_wps_upnp_deinit
    linkageType: ''
    returnType: void
    signature: void hostapd_deinit_wps(struct hostapd_data *hapd)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wps_hostapd.c:1467,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wps_hostapd.c:1471,1
    - Dst: os_strdup
      Src: /src/hostap/src/ap/wps_hostapd.c:1478,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/wps_hostapd.c:1481,1
    - Dst: os_malloc
      Src: /src/hostap/src/ap/wps_hostapd.c:1483,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/ap/wps_hostapd.c:1486,1
    - Dst: os_malloc
      Src: /src/hostap/src/ap/wps_hostapd.c:1491,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wps_hostapd.c:1494,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wps_hostapd.c:1501,1
    - Dst: hostapd_wps_update_multi_ap
      Src: /src/hostap/src/ap/wps_hostapd.c:1505,1
    - Dst: hostapd_wps_set_vendor_ext
      Src: /src/hostap/src/ap/wps_hostapd.c:1507,1
    - Dst: hostapd_wps_set_application_ext
      Src: /src/hostap/src/ap/wps_hostapd.c:1508,1
    - Dst: wps_registrar_update_ie
      Src: /src/hostap/src/ap/wps_hostapd.c:1511,1
    - Dst: hostapd_deinit_wps
      Src: /src/hostap/src/ap/wps_hostapd.c:1513,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1514
      start: 1451
    functionDepth: 2
    functionLinenumber: 1451
    functionLinenumberEnd: 1514
    functionName: hostapd_update_wps
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.c
    functionUses: 1
    functionsReached:
    - os_strlen
    - os_memcpy
    - hostapd_wps_update_multi_ap
    - wpa_snprintf_hex
    - wps_registrar_update_ie
    - os_malloc
    - hostapd_wps_set_vendor_ext
    - os_free
    - hostapd_wps_set_application_ext
    - os_strdup
    - hostapd_deinit_wps
    linkageType: ''
    returnType: void
    signature: void hostapd_update_wps(struct hostapd_data *hapd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wps_registrar_add_pin
      Src: /src/hostap/src/ap/wps_hostapd.c:1534,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - hapd
    - ctx
    argTypes:
    - struct hostapd_data*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1540
      start: 1527
    functionDepth: 1
    functionLinenumber: 1527
    functionLinenumberEnd: 1540
    functionName: wps_add_pin
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.c
    functionUses: 2
    functionsReached:
    - wps_registrar_add_pin
    linkageType: ''
    returnType: int
    signature: int wps_add_pin(struct hostapd_data *hapd, void *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/ap/wps_hostapd.c:1552,1
    - Dst: os_strcmp
      Src: /src/hostap/src/ap/wps_hostapd.c:1556,1
    - Dst: uuid_str2bin
      Src: /src/hostap/src/ap/wps_hostapd.c:1559,1
    - Dst: hostapd_wps_for_each
      Src: /src/hostap/src/ap/wps_hostapd.c:1563,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 5
    argNames:
    - hapd
    - addr
    - uuid
    - pin
    - timeout
    argTypes:
    - struct hostapd_data*
    - u8*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1566
      start: 1543
    functionDepth: 2
    functionLinenumber: 1543
    functionLinenumberEnd: 1566
    functionName: hostapd_wps_add_pin
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.c
    functionUses: 2
    functionsReached:
    - os_strlen
    - hostapd_wps_for_each
    - uuid_str2bin
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: "int hostapd_wps_add_pin(struct hostapd_data *hapd, const u8 *addr,\n\t\t\tconst
      char *uuid, const char *pin, int timeout)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wps_registrar_button_pushed
      Src: /src/hostap/src/ap/wps_hostapd.c:1580,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - hapd
    - ctx
    argTypes:
    - struct hostapd_data*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1585
      start: 1574
    functionDepth: 1
    functionLinenumber: 1574
    functionLinenumberEnd: 1585
    functionName: wps_button_pushed
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.c
    functionUses: 2
    functionsReached:
    - wps_registrar_button_pushed
    linkageType: ''
    returnType: int
    signature: int wps_button_pushed(struct hostapd_data *hapd, void *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/ap/wps_hostapd.c:1594,1
    - Dst: hostapd_wps_for_each
      Src: /src/hostap/src/ap/wps_hostapd.c:1596,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - hapd
    - p2p_dev_addr
    argTypes:
    - struct hostapd_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1600
      start: 1588
    functionDepth: 2
    functionLinenumber: 1588
    functionLinenumberEnd: 1600
    functionName: hostapd_wps_button_pushed
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.c
    functionUses: 2
    functionsReached:
    - hostapd_wps_for_each
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int hostapd_wps_button_pushed(struct hostapd_data *hapd,\n\t\t\t      const
      u8 *p2p_dev_addr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wps_registrar_wps_cancel
      Src: /src/hostap/src/ap/wps_hostapd.c:1613,1
    - Dst: ap_for_each_sta
      Src: /src/hostap/src/ap/wps_hostapd.c:1614,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/wps_hostapd.c:1615,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - hapd
    - ctx
    argTypes:
    - struct hostapd_data*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1619
      start: 1607
    functionDepth: 1
    functionLinenumber: 1607
    functionLinenumberEnd: 1619
    functionName: wps_cancel
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.c
    functionUses: 6
    functionsReached:
    - wps_registrar_wps_cancel
    - ap_for_each_sta
    - wpa_msg
    linkageType: ''
    returnType: int
    signature: int wps_cancel(struct hostapd_data *hapd, void *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/ap/wps_hostapd.c:1627,1
    - Dst: hostapd_wps_for_each
      Src: /src/hostap/src/ap/wps_hostapd.c:1628,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1632
      start: 1622
    functionDepth: 2
    functionLinenumber: 1622
    functionLinenumberEnd: 1632
    functionName: hostapd_wps_cancel
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.c
    functionUses: 0
    functionsReached:
    - hostapd_wps_for_each
    - os_memset
    linkageType: ''
    returnType: int
    signature: int hostapd_wps_cancel(struct hostapd_data *hapd)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/src/ap/wps_hostapd.c:1647,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wps_hostapd.c:1648,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wps_hostapd.c:1649,1
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/wps_hostapd.c:1655,1
    - Dst: ieee802_11_vendor_ie_concat
      Src: /src/hostap/src/ap/wps_hostapd.c:1659,1
    - Dst: wps_validate_probe_req
      Src: /src/hostap/src/ap/wps_hostapd.c:1662,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/wps_hostapd.c:1663,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/wps_hostapd.c:1667,1
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/wps_hostapd.c:1671,1
    - Dst: wps_registrar_probe_req_rx
      Src: /src/hostap/src/ap/wps_hostapd.c:1675,1
    - Dst: upnp_wps_device_send_wlan_event
      Src: /src/hostap/src/ap/wps_hostapd.c:1681,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/wps_hostapd.c:1687,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 7
    argNames:
    - ctx
    - addr
    - da
    - bssid
    - ie
    - ie_len
    - ssi_signal
    argTypes:
    - void*
    - u8*
    - u8*
    - u8*
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1690
      start: 1635
    functionDepth: 1
    functionLinenumber: 1635
    functionLinenumberEnd: 1690
    functionName: hostapd_wps_probe_req_rx
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wps_validate_probe_req
    - ieee802_11_vendor_ie_concat
    - wpabuf_len
    - wpabuf_free
    - wps_registrar_probe_req_rx
    - MAC2STR
    - ieee802_11_parse_elems
    - os_memcmp
    - upnp_wps_device_send_wlan_event
    linkageType: ''
    returnType: int
    signature: "int hostapd_wps_probe_req_rx(void *ctx, const u8 *addr, const u8 *da,\n\t\t\t\t
      \   const u8 *bssid,\n\t\t\t\t    const u8 *ie, size_t ie_len,\n\t\t\t\t    int
      ssi_signal)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wps_hostapd.c:1704,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wps_hostapd.c:1705,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wps_hostapd.c:1706,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/wps_hostapd.c:1707,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/wps_hostapd.c:1707,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wps_hostapd.c:1709,1
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/wps_hostapd.c:1719,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wps_hostapd.c:1727,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wps_hostapd.c:1737,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wps_hostapd.c:1747,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/wps_hostapd.c:1751,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wps_hostapd.c:1754,1
    - Dst: wpabuf_dup
      Src: /src/hostap/src/ap/wps_hostapd.c:1755,1
    - Dst: eapol_auth_eap_pending_cb
      Src: /src/hostap/src/ap/wps_hostapd.c:1760,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 5
    argNames:
    - priv
    - ev_type
    - mac_addr
    - msg
    - msg_type
    argTypes:
    - void*
    - enum upnp_wps_wlanevent_type
    - u8*
    - struct wpabuf*
    - enum wps_msg_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1761
      start: 1695
    functionDepth: 2
    functionLinenumber: 1695
    functionLinenumberEnd: 1761
    functionName: hostapd_rx_req_put_wlan_response
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.c
    functionUses: 0
    functionsReached:
    - wpabuf_dup
    - wpa_printf
    - os_memcpy
    - wpa_hexdump
    - eapol_auth_eap_pending_cb
    - wpabuf_len
    - wpabuf_head
    - MAC2STR
    - os_zalloc
    - ap_get_sta
    linkageType: ''
    returnType: int
    signature: "int hostapd_rx_req_put_wlan_response(\n\tvoid *priv, enum upnp_wps_wlanevent_type
      ev_type,\n\tconst u8 *mac_addr, const struct wpabuf *msg,\n\tenum wps_msg_type
      msg_type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/wps_hostapd.c:1771,1
    - Dst: os_strdup
      Src: /src/hostap/src/ap/wps_hostapd.c:1777,1
    - Dst: upnp_wps_device_init
      Src: /src/hostap/src/ap/wps_hostapd.c:1779,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - hapd
    - wps
    argTypes:
    - struct hostapd_data*
    - struct wps_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1786
      start: 1764
    functionDepth: 1
    functionLinenumber: 1764
    functionLinenumberEnd: 1786
    functionName: hostapd_wps_upnp_init
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.c
    functionUses: 1
    functionsReached:
    - os_zalloc
    - upnp_wps_device_init
    - os_strdup
    linkageType: ''
    returnType: int
    signature: "int hostapd_wps_upnp_init(struct hostapd_data *hapd,\n\t\t\t\t struct
      wps_context *wps)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: upnp_wps_device_deinit
      Src: /src/hostap/src/ap/wps_hostapd.c:1791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1792
      start: 1789
    functionDepth: 1
    functionLinenumber: 1789
    functionLinenumberEnd: 1792
    functionName: hostapd_wps_upnp_deinit
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.c
    functionUses: 1
    functionsReached:
    - upnp_wps_device_deinit
    linkageType: ''
    returnType: void
    signature: void hostapd_wps_upnp_deinit(struct hostapd_data *hapd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wps_registrar_get_info
      Src: /src/hostap/src/ap/wps_hostapd.c:1802,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - hapd
    - addr
    - buf
    - buflen
    argTypes:
    - struct hostapd_data*
    - u8*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1803
      start: 1797
    functionDepth: 1
    functionLinenumber: 1797
    functionLinenumberEnd: 1803
    functionName: hostapd_wps_get_mib_sta
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.c
    functionUses: 1
    functionsReached:
    - wps_registrar_get_info
    linkageType: ''
    returnType: int
    signature: "int hostapd_wps_get_mib_sta(struct hostapd_data *hapd, const u8 *addr,\n\t\t\t
      \   char *buf, size_t buflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wps_hostapd.c:1809,1
    - Dst: hostapd_wps_ap_pin_disable
      Src: /src/hostap/src/ap/wps_hostapd.c:1810,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/wps_hostapd.c:1811,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - eloop_data
    - user_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1812
      start: 1806
    functionDepth: 1
    functionLinenumber: 1806
    functionLinenumberEnd: 1812
    functionName: hostapd_wps_ap_pin_timeout
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hostapd_wps_ap_pin_disable
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: void hostapd_wps_ap_pin_timeout(void *eloop_data, void *user_ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wps_hostapd.c:1817,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/wps_hostapd.c:1822,1
    - Dst: wps_registrar_update_ie
      Src: /src/hostap/src/ap/wps_hostapd.c:1824,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/wps_hostapd.c:1826,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/wps_hostapd.c:1828,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - hapd
    - timeout
    argTypes:
    - struct hostapd_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1830
      start: 1815
    functionDepth: 1
    functionLinenumber: 1815
    functionLinenumberEnd: 1830
    functionName: hostapd_wps_ap_pin_enable
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_msg
    - eloop_cancel_timeout
    - wps_registrar_update_ie
    - eloop_register_timeout
    linkageType: ''
    returnType: void
    signature: void hostapd_wps_ap_pin_enable(struct hostapd_data *hapd, int timeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/ap/wps_hostapd.c:1835,1
    - Dst: upnp_wps_set_ap_pin
      Src: /src/hostap/src/ap/wps_hostapd.c:1838,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/wps_hostapd.c:1840,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - hapd
    - ctx
    argTypes:
    - struct hostapd_data*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1842
      start: 1833
    functionDepth: 1
    functionLinenumber: 1833
    functionLinenumberEnd: 1842
    functionName: wps_ap_pin_disable
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.c
    functionUses: 4
    functionsReached:
    - os_free
    - upnp_wps_set_ap_pin
    - eloop_cancel_timeout
    linkageType: ''
    returnType: int
    signature: int wps_ap_pin_disable(struct hostapd_data *hapd, void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wps_hostapd.c:1847,1
    - Dst: hostapd_wps_for_each
      Src: /src/hostap/src/ap/wps_hostapd.c:1848,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1849
      start: 1845
    functionDepth: 2
    functionLinenumber: 1845
    functionLinenumberEnd: 1849
    functionName: hostapd_wps_ap_pin_disable
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - hostapd_wps_for_each
    linkageType: ''
    returnType: void
    signature: void hostapd_wps_ap_pin_disable(struct hostapd_data *hapd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/ap/wps_hostapd.c:1865,1
    - Dst: os_strdup
      Src: /src/hostap/src/ap/wps_hostapd.c:1866,1
    - Dst: upnp_wps_set_ap_pin
      Src: /src/hostap/src/ap/wps_hostapd.c:1868,1
    - Dst: hostapd_wps_ap_pin_enable
      Src: /src/hostap/src/ap/wps_hostapd.c:1870,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - hapd
    - ctx
    argTypes:
    - struct hostapd_data*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1872
      start: 1858
    functionDepth: 2
    functionLinenumber: 1858
    functionLinenumberEnd: 1872
    functionName: wps_ap_pin_set
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.c
    functionUses: 2
    functionsReached:
    - os_free
    - upnp_wps_set_ap_pin
    - os_strdup
    - hostapd_wps_ap_pin_enable
    linkageType: ''
    returnType: int
    signature: int wps_ap_pin_set(struct hostapd_data *hapd, void *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wps_generate_pin
      Src: /src/hostap/src/ap/wps_hostapd.c:1880,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/wps_hostapd.c:1882,1
    - Dst: hostapd_wps_for_each
      Src: /src/hostap/src/ap/wps_hostapd.c:1884,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - hapd
    - timeout
    argTypes:
    - struct hostapd_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1886
      start: 1875
    functionDepth: 2
    functionLinenumber: 1875
    functionLinenumberEnd: 1886
    functionName: hostapd_wps_ap_pin_random
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.c
    functionUses: 1
    functionsReached:
    - os_snprintf
    - wps_generate_pin
    - hostapd_wps_for_each
    linkageType: ''
    returnType: char
    signature: char * hostapd_wps_ap_pin_random(struct hostapd_data *hapd, int timeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1892
      start: 1889
    functionDepth: 0
    functionLinenumber: 1889
    functionLinenumberEnd: 1892
    functionName: hostapd_wps_ap_pin_get
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * hostapd_wps_ap_pin_get(struct hostapd_data *hapd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/wps_hostapd.c:1901,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/wps_hostapd.c:1902,1
    - Dst: hostapd_wps_for_each
      Src: /src/hostap/src/ap/wps_hostapd.c:1905,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - hapd
    - pin
    - timeout
    argTypes:
    - struct hostapd_data*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1906
      start: 1895
    functionDepth: 2
    functionLinenumber: 1895
    functionLinenumberEnd: 1906
    functionName: hostapd_wps_ap_pin_set
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.c
    functionUses: 1
    functionsReached:
    - os_snprintf
    - hostapd_wps_for_each
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int hostapd_wps_ap_pin_set(struct hostapd_data *hapd, const char *pin,\n\t\t\t
      \  int timeout)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wps_registrar_update_ie
      Src: /src/hostap/src/ap/wps_hostapd.c:1912,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - hapd
    - ctx
    argTypes:
    - struct hostapd_data*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1914
      start: 1909
    functionDepth: 1
    functionLinenumber: 1909
    functionLinenumberEnd: 1914
    functionName: wps_update_ie
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.c
    functionUses: 1
    functionsReached:
    - wps_registrar_update_ie
    linkageType: ''
    returnType: int
    signature: int wps_update_ie(struct hostapd_data *hapd, void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_wps_for_each
      Src: /src/hostap/src/ap/wps_hostapd.c:1919,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1920
      start: 1917
    functionDepth: 2
    functionLinenumber: 1917
    functionLinenumberEnd: 1920
    functionName: hostapd_wps_update_ie
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.c
    functionUses: 1
    functionsReached:
    - hostapd_wps_for_each
    linkageType: ''
    returnType: void
    signature: void hostapd_wps_update_ie(struct hostapd_data *hapd)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/ap/wps_hostapd.c:1929,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/wps_hostapd.c:1931,1
    - Dst: hexstr2bin
      Src: /src/hostap/src/ap/wps_hostapd.c:1933,1
    - Dst: os_strncmp
      Src: /src/hostap/src/ap/wps_hostapd.c:1937,1
    - Dst: os_strncmp
      Src: /src/hostap/src/ap/wps_hostapd.c:1940,1
    - Dst: os_strncmp
      Src: /src/hostap/src/ap/wps_hostapd.c:1943,1
    - Dst: os_strncmp
      Src: /src/hostap/src/ap/wps_hostapd.c:1949,1
    - Dst: os_strncmp
      Src: /src/hostap/src/ap/wps_hostapd.c:1952,1
    - Dst: os_strncmp
      Src: /src/hostap/src/ap/wps_hostapd.c:1955,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/wps_hostapd.c:1963,1
    - Dst: hexstr2bin
      Src: /src/hostap/src/ap/wps_hostapd.c:1965,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wps_hostapd.c:1971,1
    - Dst: wps_registrar_config_ap
      Src: /src/hostap/src/ap/wps_hostapd.c:1975,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 5
    argNames:
    - hapd
    - ssid
    - auth
    - encr
    - key
    argTypes:
    - struct hostapd_data*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1976
      start: 1923
    functionDepth: 1
    functionLinenumber: 1923
    functionLinenumberEnd: 1976
    functionName: hostapd_wps_config_ap
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.c
    functionUses: 1
    functionsReached:
    - os_strlen
    - wps_registrar_config_ap
    - wpa_printf
    - hexstr2bin
    - os_strncmp
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int hostapd_wps_config_ap(struct hostapd_data *hapd, const char *ssid,\n\t\t\t
      \ const char *auth, const char *encr, const char *key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wps_registrar_add_nfc_password_token
      Src: /src/hostap/src/ap/wps_hostapd.c:1995,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - hapd
    - ctx
    argTypes:
    - struct hostapd_data*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2001
      start: 1988
    functionDepth: 1
    functionLinenumber: 1988
    functionLinenumberEnd: 2001
    functionName: wps_add_nfc_password_token
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.c
    functionUses: 1
    functionsReached:
    - wps_registrar_add_nfc_password_token
    linkageType: ''
    returnType: int
    signature: int wps_add_nfc_password_token(struct hostapd_data *hapd, void *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_wps_for_each
      Src: /src/hostap/src/ap/wps_hostapd.c:2012,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - hapd
    - attr
    argTypes:
    - struct hostapd_data*
    - struct wps_parse_attr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2015
      start: 2004
    functionDepth: 2
    functionLinenumber: 2004
    functionLinenumberEnd: 2015
    functionName: hostapd_wps_add_nfc_password_token
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.c
    functionUses: 0
    functionsReached:
    - hostapd_wps_for_each
    linkageType: ''
    returnType: int
    signature: "int hostapd_wps_add_nfc_password_token(struct hostapd_data *hapd,\n\t\t\t\t\t
      \     struct wps_parse_attr *attr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/ap/wps_hostapd.c:2023,1
    - Dst: wps_parse_msg
      Src: /src/hostap/src/ap/wps_hostapd.c:2025,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wps_hostapd.c:2026,1
    - Dst: hostapd_wps_add_nfc_password_token
      Src: /src/hostap/src/ap/wps_hostapd.c:2031,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wps_hostapd.c:2033,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - hapd
    - wps
    argTypes:
    - struct hostapd_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2035
      start: 2018
    functionDepth: 3
    functionLinenumber: 2018
    functionLinenumberEnd: 2035
    functionName: hostapd_wps_nfc_tag_process
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hostapd_wps_add_nfc_password_token
    - wps_parse_msg
    - wpa_hexdump_buf
    linkageType: ''
    returnType: int
    signature: "int hostapd_wps_nfc_tag_process(struct hostapd_data *hapd,\n\t\t\t\t
      \      const struct wpabuf *wps)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/wps_hostapd.c:2045,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/ap/wps_hostapd.c:2048,1
    - Dst: ndef_parse_wifi
      Src: /src/hostap/src/ap/wps_hostapd.c:2050,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wps_hostapd.c:2052,1
    - Dst: hostapd_wps_nfc_tag_process
      Src: /src/hostap/src/ap/wps_hostapd.c:2058,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/wps_hostapd.c:2059,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - hapd
    - data
    argTypes:
    - struct hostapd_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2061
      start: 2038
    functionDepth: 4
    functionLinenumber: 2038
    functionLinenumberEnd: 2061
    functionName: hostapd_wps_nfc_tag_read
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpabuf_head_u8
    - wpabuf_len
    - wpabuf_free
    - hostapd_wps_nfc_tag_process
    - ndef_parse_wifi
    linkageType: ''
    returnType: int
    signature: "int hostapd_wps_nfc_tag_read(struct hostapd_data *hapd,\n\t\t\t     const
      struct wpabuf *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wps_get_oob_cred
      Src: /src/hostap/src/ap/wps_hostapd.c:2072,1
    - Dst: hostapd_wps_rf_band_cb
      Src: /src/hostap/src/ap/wps_hostapd.c:2072,1
    - Dst: ndef_build_wifi
      Src: /src/hostap/src/ap/wps_hostapd.c:2076,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/wps_hostapd.c:2077,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - hapd
    - ndef
    argTypes:
    - struct hostapd_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2084
      start: 2064
    functionDepth: 1
    functionLinenumber: 2064
    functionLinenumberEnd: 2084
    functionName: hostapd_wps_nfc_config_token
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.c
    functionUses: 2
    functionsReached:
    - wpabuf_free
    - wps_get_oob_cred
    - ndef_build_wifi
    - hostapd_wps_rf_band_cb
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * hostapd_wps_nfc_config_token(struct hostapd_data *hapd,\n\t\t\t\t\t
      \    int ndef)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wps_nfc_gen_dh
      Src: /src/hostap/src/ap/wps_hostapd.c:2096,1
    - Dst: hostapd_wps_nfc_clear
      Src: /src/hostap/src/ap/wps_hostapd.c:2099,1
    - Dst: wpabuf_dup
      Src: /src/hostap/src/ap/wps_hostapd.c:2102,1
    - Dst: wpabuf_dup
      Src: /src/hostap/src/ap/wps_hostapd.c:2104,1
    - Dst: hostapd_wps_nfc_clear
      Src: /src/hostap/src/ap/wps_hostapd.c:2106,1
    - Dst: wps_build_nfc_handover_sel
      Src: /src/hostap/src/ap/wps_hostapd.c:2111,1
    - Dst: ndef_build_wifi
      Src: /src/hostap/src/ap/wps_hostapd.c:2117,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/wps_hostapd.c:2118,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - hapd
    - ndef
    argTypes:
    - struct hostapd_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2125
      start: 2087
    functionDepth: 2
    functionLinenumber: 2087
    functionLinenumberEnd: 2125
    functionName: hostapd_wps_nfc_hs_cr
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.c
    functionUses: 2
    functionsReached:
    - wpabuf_dup
    - wps_build_nfc_handover_sel
    - ndef_build_wifi
    - wpabuf_free
    - hostapd_wps_nfc_clear
    - wps_nfc_gen_dh
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * hostapd_wps_nfc_hs_cr(struct hostapd_data *hapd, int
      ndef)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ndef_parse_wifi
      Src: /src/hostap/src/ap/wps_hostapd.c:2144,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wps_hostapd.c:2147,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/ap/wps_hostapd.c:2149,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/wps_hostapd.c:2150,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wps_hostapd.c:2151,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/wps_hostapd.c:2155,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/ap/wps_hostapd.c:2156,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/wps_hostapd.c:2157,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wps_hostapd.c:2158,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wps_hostapd.c:2164,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/wps_hostapd.c:2167,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wps_hostapd.c:2168,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/wps_hostapd.c:2170,1
    - Dst: wpabuf_set
      Src: /src/hostap/src/ap/wps_hostapd.c:2173,1
    - Dst: wps_parse_msg
      Src: /src/hostap/src/ap/wps_hostapd.c:2174,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wps_hostapd.c:2176,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wps_hostapd.c:2183,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wps_hostapd.c:2190,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wps_hostapd.c:2196,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wps_hostapd.c:2198,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/ap/wps_hostapd.c:2200,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wps_hostapd.c:2203,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wps_hostapd.c:2208,1
    - Dst: wps_registrar_add_nfc_pw_token
      Src: /src/hostap/src/ap/wps_hostapd.c:2211,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/wps_hostapd.c:2217,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 57
    argCount: 3
    argNames:
    - hapd
    - req
    - sel
    argTypes:
    - struct hostapd_data*
    - struct wpabuf*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2219
      start: 2128
    functionDepth: 1
    functionLinenumber: 2128
    functionLinenumberEnd: 2219
    functionName: hostapd_wps_nfc_report_handover
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - WPA_GET_BE16
    - wpa_hexdump
    - wpabuf_len
    - wpabuf_free
    - wps_parse_msg
    - wpabuf_head
    - wpabuf_set
    - wps_registrar_add_nfc_pw_token
    - ndef_parse_wifi
    - wpa_hexdump_buf
    linkageType: ''
    returnType: int
    signature: "int hostapd_wps_nfc_report_handover(struct hostapd_data *hapd,\n\t\t\t\t
      \   const struct wpabuf *req,\n\t\t\t\t    const struct wpabuf *sel)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wps_nfc_token_build
      Src: /src/hostap/src/ap/wps_hostapd.c:2225,1
    - Dst: wps_nfc_token_gen
      Src: /src/hostap/src/ap/wps_hostapd.c:2231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - hapd
    - ndef
    argTypes:
    - struct hostapd_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2235
      start: 2222
    functionDepth: 1
    functionLinenumber: 2222
    functionLinenumberEnd: 2235
    functionName: hostapd_wps_nfc_token_gen
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.c
    functionUses: 1
    functionsReached:
    - wps_nfc_token_build
    - wps_nfc_token_gen
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * hostapd_wps_nfc_token_gen(struct hostapd_data *hapd,
      int ndef)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_wps_nfc_clear
      Src: /src/hostap/src/ap/wps_hostapd.c:2252,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wps_hostapd.c:2253,1
    - Dst: wpabuf_dup
      Src: /src/hostap/src/ap/wps_hostapd.c:2257,1
    - Dst: wpabuf_dup
      Src: /src/hostap/src/ap/wps_hostapd.c:2258,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/ap/wps_hostapd.c:2260,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/wps_hostapd.c:2261,1
    - Dst: wpa_snprintf_hex_uppercase
      Src: /src/hostap/src/ap/wps_hostapd.c:2263,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/ap/wps_hostapd.c:2264,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/wps_hostapd.c:2265,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/wps_hostapd.c:2266,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/wps_hostapd.c:2267,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/wps_hostapd.c:2267,1
    - Dst: hostapd_wps_nfc_clear
      Src: /src/hostap/src/ap/wps_hostapd.c:2272,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2277
      start: 2238
    functionDepth: 2
    functionLinenumber: 2238
    functionLinenumberEnd: 2277
    functionName: hostapd_wps_nfc_token_enable
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.c
    functionUses: 2
    functionsReached:
    - wpabuf_dup
    - wpa_printf
    - wpabuf_put
    - wpabuf_len
    - wpa_snprintf_hex_uppercase
    - wpabuf_head
    - wpabuf_alloc
    - hostapd_wps_nfc_clear
    linkageType: ''
    returnType: int
    signature: int hostapd_wps_nfc_token_enable(struct hostapd_data *hapd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wps_hostapd.c:2282,1
    - Dst: hostapd_wps_nfc_clear
      Src: /src/hostap/src/ap/wps_hostapd.c:2284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2285
      start: 2280
    functionDepth: 2
    functionLinenumber: 2280
    functionLinenumberEnd: 2285
    functionName: hostapd_wps_nfc_token_disable
    functionSourceFile: /src/hostap/src/ap/wps_hostapd.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - hostapd_wps_nfc_clear
    linkageType: ''
    returnType: void
    signature: void hostapd_wps_nfc_token_disable(struct hostapd_data *hapd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cb
      Src: /src/hostap/src/ap/hostapd.c:84,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - interfaces
    - ctx
    argTypes:
    - struct hapd_interfaces*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 90
    functionName: hostapd_for_each_interface
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 2
    functionsReached:
    - cb
    linkageType: ''
    returnType: int
    signature: "int hostapd_for_each_interface(struct hapd_interfaces *interfaces,\n\t\t\t
      \      int (*cb)(struct hostapd_iface *iface,\n\t\t\t\t\t void *ctx), void *ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 99
    functionName: hostapd_mbssid_get_tx_bss
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: struct hostapd_data
    signature: struct hostapd_data * hostapd_mbssid_get_tx_bss(struct hostapd_data
      *hapd)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 113
    functionName: hostapd_mbssid_get_bss_index
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int hostapd_mbssid_get_bss_index(struct hostapd_data *hapd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_set_privacy
      Src: /src/hostap/src/ap/hostapd.c:121,1
    - Dst: hostapd_setup_encryption
      Src: /src/hostap/src/ap/hostapd.c:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 125
    functionName: hostapd_reconfig_encryption
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 1
    functionsReached:
    - hostapd_set_privacy
    - hostapd_setup_encryption
    linkageType: ''
    returnType: void
    signature: void hostapd_reconfig_encryption(struct hostapd_data *hapd)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: radius_client_reconfig
      Src: /src/hostap/src/ap/hostapd.c:140,1
    - Dst: hostapd_config_clear_wpa_psk
      Src: /src/hostap/src/ap/hostapd.c:150,1
    - Dst: hostapd_setup_wpa_psk
      Src: /src/hostap/src/ap/hostapd.c:152,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:153,1
    - Dst: hostapd_set_drv_ieee8021x
      Src: /src/hostap/src/ap/hostapd.c:158,1
    - Dst: hostapd_set_drv_ieee8021x
      Src: /src/hostap/src/ap/hostapd.c:160,1
    - Dst: hostapd_setup_wpa
      Src: /src/hostap/src/ap/hostapd.c:163,1
    - Dst: wpa_init_keys
      Src: /src/hostap/src/ap/hostapd.c:165,1
    - Dst: hostapd_reconfig_wpa
      Src: /src/hostap/src/ap/hostapd.c:169,1
    - Dst: wpa_auth_get_wpa_ie
      Src: /src/hostap/src/ap/hostapd.c:170,1
    - Dst: hostapd_set_generic_elem
      Src: /src/hostap/src/ap/hostapd.c:171,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:172,1
    - Dst: wpa_deinit
      Src: /src/hostap/src/ap/hostapd.c:175,1
    - Dst: hostapd_set_privacy
      Src: /src/hostap/src/ap/hostapd.c:177,1
    - Dst: hostapd_setup_encryption
      Src: /src/hostap/src/ap/hostapd.c:179,1
    - Dst: hostapd_set_generic_elem
      Src: /src/hostap/src/ap/hostapd.c:181,1
    - Dst: hostapd_neighbor_sync_own_report
      Src: /src/hostap/src/ap/hostapd.c:184,1
    - Dst: hostapd_prepare_rates
      Src: /src/hostap/src/ap/hostapd.c:187,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:188,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/hostapd.c:189,1
    - Dst: ieee802_11_set_beacon
      Src: /src/hostap/src/ap/hostapd.c:194,1
    - Dst: hostapd_update_wps
      Src: /src/hostap/src/ap/hostapd.c:195,1
    - Dst: hostapd_set_ssid
      Src: /src/hostap/src/ap/hostapd.c:198,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:200,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:203,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 45
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 128
    functionDepth: 10
    functionLinenumber: 128
    functionLinenumberEnd: 204
    functionName: hostapd_reload_bss
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 0
    functionsReached:
    - hostapd_set_ssid
    - hostapd_logger
    - hostapd_setup_encryption
    - hostapd_set_drv_ieee8021x
    - hostapd_setup_wpa
    - wpa_printf
    - radius_client_reconfig
    - wpa_deinit
    - wpa_init_keys
    - hostapd_update_wps
    - hostapd_reconfig_wpa
    - hostapd_neighbor_sync_own_report
    - hostapd_set_generic_elem
    - hostapd_prepare_rates
    - hostapd_config_clear_wpa_psk
    - ieee802_11_set_beacon
    - hostapd_setup_wpa_psk
    - hostapd_set_privacy
    - wpa_auth_get_wpa_ie
    linkageType: ''
    returnType: void
    signature: void hostapd_reload_bss(struct hostapd_data *hapd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:209,1
    - Dst: hostapd_flush_old_stations
      Src: /src/hostap/src/ap/hostapd.c:216,1
    - Dst: hostapd_broadcast_wep_clear
      Src: /src/hostap/src/ap/hostapd.c:218,1
    - Dst: radius_client_flush
      Src: /src/hostap/src/ap/hostapd.c:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - bss
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 226
    functionName: hostapd_clear_old_bss
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - radius_client_flush
    - hostapd_flush_old_stations
    - hostapd_broadcast_wep_clear
    linkageType: ''
    returnType: void
    signature: void hostapd_clear_old_bss(struct hostapd_data *bss)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_clear_old_bss
      Src: /src/hostap/src/ap/hostapd.c:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 235
    functionName: hostapd_clear_old
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 0
    functionsReached:
    - hostapd_clear_old_bss
    linkageType: ''
    returnType: void
    signature: void hostapd_clear_old(struct hostapd_iface *iface)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/src/ap/hostapd.c:247,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - newconf
    - oldconf
    argTypes:
    - struct hostapd_config*
    - struct hostapd_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 257
    functionName: hostapd_iface_conf_changed
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 0
    functionsReached:
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: "int hostapd_iface_conf_changed(struct hostapd_config *newconf,\n\t\t\t\t
      \     struct hostapd_config *oldconf)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_interface_deinit_free
      Src: /src/hostap/src/ap/hostapd.c:278,1
    - Dst: hostapd_cleanup_unused_mlds
      Src: /src/hostap/src/ap/hostapd.c:286,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - hapd_iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 288
    functionName: hostapd_remove_hapd_iface
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 0
    functionsReached:
    - hostapd_cleanup_unused_mlds
    - hostapd_interface_deinit_free
    linkageType: ''
    returnType: int
    signature: int hostapd_remove_hapd_iface(struct hostapd_iface *hapd_iface)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_clear_old
      Src: /src/hostap/src/ap/hostapd.c:300,1
    - Dst: hostapd_reload_bss
      Src: /src/hostap/src/ap/hostapd.c:302,1
    - Dst: struct hostapd_iface*::interfaces::config_read_cb
      Src: /src/hostap/src/ap/hostapd.c:309,1
    - Dst: hostapd_iface_conf_changed
      Src: /src/hostap/src/ap/hostapd.c:314,1
    - Dst: hostapd_clear_old
      Src: /src/hostap/src/ap/hostapd.c:318,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:320,1
    - Dst: os_strdup
      Src: /src/hostap/src/ap/hostapd.c:322,1
    - Dst: hostapd_config_free
      Src: /src/hostap/src/ap/hostapd.c:324,1
    - Dst: hostapd_remove_hapd_iface
      Src: /src/hostap/src/ap/hostapd.c:327,1
    - Dst: os_free
      Src: /src/hostap/src/ap/hostapd.c:328,1
    - Dst: hostapd_config_free
      Src: /src/hostap/src/ap/hostapd.c:329,1
    - Dst: hostapd_init
      Src: /src/hostap/src/ap/hostapd.c:333,1
    - Dst: os_free
      Src: /src/hostap/src/ap/hostapd.c:334,1
    - Dst: hostapd_config_free
      Src: /src/hostap/src/ap/hostapd.c:335,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:337,1
    - Dst: hostapd_enable_iface
      Src: /src/hostap/src/ap/hostapd.c:344,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:346,1
    - Dst: os_strcmp
      Src: /src/hostap/src/ap/hostapd.c:354,1
    - Dst: hostapd_clear_old_bss
      Src: /src/hostap/src/ap/hostapd.c:356,1
    - Dst: hostapd_set_oper_chwidth
      Src: /src/hostap/src/ap/hostapd.c:365,1
    - Dst: hostapd_get_oper_chwidth
      Src: /src/hostap/src/ap/hostapd.c:366,1
    - Dst: hostapd_set_oper_centr_freq_seg0_idx
      Src: /src/hostap/src/ap/hostapd.c:367,1
    - Dst: hostapd_get_oper_centr_freq_seg0_idx
      Src: /src/hostap/src/ap/hostapd.c:369,1
    - Dst: hostapd_set_oper_centr_freq_seg1_idx
      Src: /src/hostap/src/ap/hostapd.c:370,1
    - Dst: hostapd_get_oper_centr_freq_seg1_idx
      Src: /src/hostap/src/ap/hostapd.c:372,1
    - Dst: hostapd_reload_bss
      Src: /src/hostap/src/ap/hostapd.c:374,1
    - Dst: hostapd_config_free
      Src: /src/hostap/src/ap/hostapd.c:378,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 62
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 291
    functionDepth: 11
    functionLinenumber: 291
    functionLinenumberEnd: 382
    functionName: hostapd_reload_config
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 1
    functionsReached:
    - hostapd_reload_bss
    - hostapd_get_oper_centr_freq_seg0_idx
    - struct hostapd_iface*::interfaces::config_read_cb
    - hostapd_config_free
    - hostapd_clear_old
    - hostapd_iface_conf_changed
    - wpa_printf
    - hostapd_enable_iface
    - hostapd_set_oper_centr_freq_seg0_idx
    - os_free
    - hostapd_set_oper_centr_freq_seg1_idx
    - os_strcmp
    - hostapd_remove_hapd_iface
    - hostapd_set_oper_chwidth
    - hostapd_get_oper_centr_freq_seg1_idx
    - os_strdup
    - hostapd_get_oper_chwidth
    - hostapd_init
    - hostapd_clear_old_bss
    linkageType: ''
    returnType: int
    signature: int hostapd_reload_config(struct hostapd_iface *iface)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_drv_set_key
      Src: /src/hostap/src/ap/hostapd.c:395,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:397,1
    - Dst: ap_pmf_enabled
      Src: /src/hostap/src/ap/hostapd.c:402,1
    - Dst: hostapd_drv_set_key
      Src: /src/hostap/src/ap/hostapd.c:404,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:407,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - hapd
    - ifname
    argTypes:
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 413
    functionName: hostapd_broadcast_key_clear_iface
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hostapd_drv_set_key
    - ap_pmf_enabled
    linkageType: ''
    returnType: void
    signature: "void hostapd_broadcast_key_clear_iface(struct hostapd_data *hapd,\n\t\t\t\t\t
      \     const char *ifname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_broadcast_key_clear_iface
      Src: /src/hostap/src/ap/hostapd.c:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 416
    functionDepth: 2
    functionLinenumber: 416
    functionLinenumberEnd: 420
    functionName: hostapd_broadcast_wep_clear
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 1
    functionsReached:
    - hostapd_broadcast_key_clear_iface
    linkageType: ''
    returnType: int
    signature: int hostapd_broadcast_wep_clear(struct hostapd_data *hapd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_drv_set_key
      Src: /src/hostap/src/ap/hostapd.c:430,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:435,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 440
    functionName: hostapd_broadcast_wep_set
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hostapd_drv_set_key
    linkageType: ''
    returnType: int
    signature: int hostapd_broadcast_wep_set(struct hostapd_data *hapd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:457,1
    - Dst: ieee802_11_set_beacon
      Src: /src/hostap/src/ap/hostapd.c:461,1
    - Dst: hostapd_free_link_stas
      Src: /src/hostap/src/ap/hostapd.c:464,1
    - Dst: hostapd_disable_iface
      Src: /src/hostap/src/ap/hostapd.c:465,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/hostapd.c:469,1
    - Dst: TU_TO_USEC
      Src: /src/hostap/src/ap/hostapd.c:469,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - eloop_data
    - user_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 448
    functionDepth: 13
    functionLinenumber: 448
    functionLinenumberEnd: 472
    functionName: hostapd_link_remove_timeout_handler
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - TU_TO_USEC
    - hostapd_disable_iface
    - hostapd_free_link_stas
    - ieee802_11_set_beacon
    - eloop_register_timeout
    linkageType: ''
    returnType: void
    signature: "void hostapd_link_remove_timeout_handler(void *eloop_data,\n\t\t\t\t\t\tvoid
      *user_ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:480,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/hostapd.c:489,1
    - Dst: TU_TO_USEC
      Src: /src/hostap/src/ap/hostapd.c:489,1
    - Dst: ieee802_11_set_beacon
      Src: /src/hostap/src/ap/hostapd.c:493,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - hapd
    - count
    argTypes:
    - struct hostapd_data*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 475
    functionDepth: 10
    functionLinenumber: 475
    functionLinenumberEnd: 495
    functionName: hostapd_link_remove
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 1
    functionsReached:
    - ieee802_11_set_beacon
    - wpa_printf
    - eloop_register_timeout
    - TU_TO_USEC
    linkageType: ''
    returnType: int
    signature: int hostapd_link_remove(struct hostapd_data *hapd, u32 count)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/ap/hostapd.c:503,1
    - Dst: os_free
      Src: /src/hostap/src/ap/hostapd.c:507,1
    - Dst: os_free
      Src: /src/hostap/src/ap/hostapd.c:509,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/hostapd.c:513,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/hostapd.c:515,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:520,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:527,1
    - Dst: accounting_deinit
      Src: /src/hostap/src/ap/hostapd.c:528,1
    - Dst: hostapd_deinit_wpa
      Src: /src/hostap/src/ap/hostapd.c:529,1
    - Dst: vlan_deinit
      Src: /src/hostap/src/ap/hostapd.c:530,1
    - Dst: hostapd_acl_deinit
      Src: /src/hostap/src/ap/hostapd.c:531,1
    - Dst: hostapd_mld_is_first_bss
      Src: /src/hostap/src/ap/hostapd.c:533,1
    - Dst: radius_client_deinit
      Src: /src/hostap/src/ap/hostapd.c:554,1
    - Dst: radius_das_deinit
      Src: /src/hostap/src/ap/hostapd.c:555,1
    - Dst: hostapd_deinit_wps
      Src: /src/hostap/src/ap/hostapd.c:561,1
    - Dst: ieee802_1x_dealloc_kay_sm_hapd
      Src: /src/hostap/src/ap/hostapd.c:562,1
    - Dst: hostapd_dpp_deinit
      Src: /src/hostap/src/ap/hostapd.c:564,1
    - Dst: gas_query_ap_deinit
      Src: /src/hostap/src/ap/hostapd.c:565,1
    - Dst: hostapd_nan_usd_deinit
      Src: /src/hostap/src/ap/hostapd.c:569,1
    - Dst: authsrv_deinit
      Src: /src/hostap/src/ap/hostapd.c:572,1
    - Dst: hostapd_if_remove
      Src: /src/hostap/src/ap/hostapd.c:579,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:580,1
    - Dst: hostapd_if_link_remove
      Src: /src/hostap/src/ap/hostapd.c:600,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/hostapd.c:604,1
    - Dst: gas_serv_deinit
      Src: /src/hostap/src/ap/hostapd.c:608,1
    - Dst: bss_load_update_deinit
      Src: /src/hostap/src/ap/hostapd.c:611,1
    - Dst: ndisc_snoop_deinit
      Src: /src/hostap/src/ap/hostapd.c:612,1
    - Dst: dhcp_snoop_deinit
      Src: /src/hostap/src/ap/hostapd.c:613,1
    - Dst: x_snoop_deinit
      Src: /src/hostap/src/ap/hostapd.c:614,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/ap/hostapd.c:617,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/ap/hostapd.c:619,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/hostapd.c:621,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/hostapd.c:625,1
    - Dst: hostapd_clean_rrm
      Src: /src/hostap/src/ap/hostapd.c:632,1
    - Dst: fils_hlp_deinit
      Src: /src/hostap/src/ap/hostapd.c:634,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/hostapd.c:637,1
    - Dst: dl_list_first
      Src: /src/hostap/src/ap/hostapd.c:644,1
    - Dst: dl_list_del
      Src: /src/hostap/src/ap/hostapd.c:647,1
    - Dst: os_free
      Src: /src/hostap/src/ap/hostapd.c:648,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/hostapd.c:651,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/hostapd.c:655,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/hostapd.c:658,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 81
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 501
    functionDepth: 4
    functionLinenumber: 501
    functionLinenumberEnd: 663
    functionName: hostapd_free_hapd_data
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 1
    functionsReached:
    - hostapd_if_remove
    - hostapd_nan_usd_deinit
    - dhcp_snoop_deinit
    - radius_das_deinit
    - hostapd_if_link_remove
    - authsrv_deinit
    - wpa_printf
    - ndisc_snoop_deinit
    - vlan_deinit
    - os_free
    - gas_query_ap_deinit
    - hostapd_deinit_wps
    - hostapd_clean_rrm
    - x_snoop_deinit
    - fils_hlp_deinit
    - radius_client_deinit
    - hostapd_dpp_deinit
    - os_memset
    - hostapd_acl_deinit
    - dl_list_del
    - hostapd_deinit_wpa
    - eloop_cancel_timeout
    - gas_serv_deinit
    - dl_list_first
    - wpabuf_free
    - accounting_deinit
    - ieee802_1x_dealloc_kay_sm_hapd
    - bss_load_update_deinit
    - hostapd_mld_is_first_bss
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: void hostapd_free_hapd_data(struct hostapd_data *hapd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - old_fbss
    - new_fbss
    argTypes:
    - struct hostapd_data*
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 678
    functionName: hostapd_mld_move_vlan_list
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void hostapd_mld_move_vlan_list(struct hostapd_data *old_fbss,\n\t\t\t\t
      \      struct hostapd_data *new_fbss)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/ap/hostapd.c:698,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/hostapd.c:699,1
    - Dst: hostapd_mld_remove_link
      Src: /src/hostap/src/ap/hostapd.c:721,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 688
    functionDepth: 1
    functionLinenumber: 688
    functionLinenumberEnd: 723
    functionName: hostapd_bss_link_deinit
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 0
    functionsReached:
    - os_free
    - hostapd_mld_remove_link
    - os_memset
    linkageType: ''
    returnType: void
    signature: void hostapd_bss_link_deinit(struct hostapd_data *hapd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:736,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/hostapd.c:740,1
    - Dst: struct hostapd_data*::iface::interfaces::ctrl_iface_deinit
      Src: /src/hostap/src/ap/hostapd.c:741,1
    - Dst: hostapd_free_hapd_data
      Src: /src/hostap/src/ap/hostapd.c:743,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 734
    functionDepth: 5
    functionLinenumber: 734
    functionLinenumberEnd: 744
    functionName: hostapd_cleanup
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hostapd_free_hapd_data
    - struct hostapd_data*::iface::interfaces::ctrl_iface_deinit
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: void hostapd_cleanup(struct hostapd_data *hapd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_first
      Src: /src/hostap/src/ap/hostapd.c:754,1
    - Dst: dl_list_del
      Src: /src/hostap/src/ap/hostapd.c:756,1
    - Dst: sta_track_del
      Src: /src/hostap/src/ap/hostapd.c:758,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 747
    functionDepth: 2
    functionLinenumber: 747
    functionLinenumberEnd: 760
    functionName: sta_track_deinit
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 0
    functionsReached:
    - dl_list_first
    - dl_list_del
    - sta_track_del
    linkageType: ''
    returnType: void
    signature: void sta_track_deinit(struct hostapd_iface *iface)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:765,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/hostapd.c:766,1
    - Dst: hostapd_stop_setup_timers
      Src: /src/hostap/src/ap/hostapd.c:768,1
    - Dst: acs_cleanup
      Src: /src/hostap/src/ap/hostapd.c:771,1
    - Dst: hostapd_free_hw_features
      Src: /src/hostap/src/ap/hostapd.c:772,1
    - Dst: ap_list_deinit
      Src: /src/hostap/src/ap/hostapd.c:777,1
    - Dst: sta_track_deinit
      Src: /src/hostap/src/ap/hostapd.c:778,1
    - Dst: airtime_policy_update_deinit
      Src: /src/hostap/src/ap/hostapd.c:779,1
    - Dst: hostapd_free_multi_hw_info
      Src: /src/hostap/src/ap/hostapd.c:780,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 763
    functionDepth: 3
    functionLinenumber: 763
    functionLinenumberEnd: 784
    functionName: hostapd_cleanup_iface_partial
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - sta_track_deinit
    - hostapd_stop_setup_timers
    - eloop_cancel_timeout
    - acs_cleanup
    - hostapd_free_multi_hw_info
    - ap_list_deinit
    - hostapd_free_hw_features
    - airtime_policy_update_deinit
    linkageType: ''
    returnType: void
    signature: void hostapd_cleanup_iface_partial(struct hostapd_iface *iface)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:796,1
    - Dst: hostapd_afc_stop
      Src: /src/hostap/src/ap/hostapd.c:797,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/hostapd.c:798,1
    - Dst: hostapd_cleanup_iface_partial
      Src: /src/hostap/src/ap/hostapd.c:801,1
    - Dst: hostapd_config_free
      Src: /src/hostap/src/ap/hostapd.c:802,1
    - Dst: os_free
      Src: /src/hostap/src/ap/hostapd.c:805,1
    - Dst: os_free
      Src: /src/hostap/src/ap/hostapd.c:806,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/hostapd.c:808,1
    - Dst: os_free
      Src: /src/hostap/src/ap/hostapd.c:809,1
    - Dst: os_free
      Src: /src/hostap/src/ap/hostapd.c:810,1
    - Dst: os_free
      Src: /src/hostap/src/ap/hostapd.c:811,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:813,1
    - Dst: os_free
      Src: /src/hostap/src/ap/hostapd.c:814,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 794
    functionDepth: 6
    functionLinenumber: 794
    functionLinenumberEnd: 815
    functionName: hostapd_cleanup_iface
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eloop_cancel_timeout
    - wpabuf_free
    - hostapd_config_free
    - os_free
    - hostapd_cleanup_iface_partial
    - hostapd_afc_stop
    linkageType: ''
    returnType: void
    signature: void hostapd_cleanup_iface(struct hostapd_iface *iface)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_set_privacy
      Src: /src/hostap/src/ap/hostapd.c:823,1
    - Dst: hostapd_broadcast_wep_clear
      Src: /src/hostap/src/ap/hostapd.c:824,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 820
    functionDepth: 3
    functionLinenumber: 820
    functionLinenumberEnd: 826
    functionName: hostapd_clear_wep
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 0
    functionsReached:
    - hostapd_set_privacy
    - hostapd_broadcast_wep_clear
    linkageType: ''
    returnType: void
    signature: void hostapd_clear_wep(struct hostapd_data *hapd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_broadcast_wep_set
      Src: /src/hostap/src/ap/hostapd.c:833,1
    - Dst: hostapd_set_privacy
      Src: /src/hostap/src/ap/hostapd.c:836,1
    - Dst: hostapd_drv_set_key
      Src: /src/hostap/src/ap/hostapd.c:842,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:849,1
    - Dst: hostapd_set_privacy
      Src: /src/hostap/src/ap/hostapd.c:855,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - iface
    - hapd
    argTypes:
    - char*
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 829
    functionDepth: 2
    functionLinenumber: 829
    functionLinenumberEnd: 859
    functionName: hostapd_setup_encryption
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 2
    functionsReached:
    - hostapd_drv_set_key
    - hostapd_broadcast_wep_set
    - wpa_printf
    - hostapd_set_privacy
    linkageType: ''
    returnType: int
    signature: int hostapd_setup_encryption(char *iface, struct hostapd_data *hapd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_drv_none
      Src: /src/hostap/src/ap/hostapd.c:869,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/ap/hostapd.c:873,1
    - Dst: hostapd_flush
      Src: /src/hostap/src/ap/hostapd.c:876,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/hostapd.c:877,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/ap/hostapd.c:883,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/hostapd.c:885,1
    - Dst: hostapd_drv_sta_deauth
      Src: /src/hostap/src/ap/hostapd.c:886,1
    - Dst: hostapd_free_stas
      Src: /src/hostap/src/ap/hostapd.c:888,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - hapd
    - reason
    argTypes:
    - struct hostapd_data*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 864
    functionDepth: 13
    functionLinenumber: 864
    functionLinenumberEnd: 891
    functionName: hostapd_flush_old_stations
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 1
    functionsReached:
    - hostapd_free_stas
    - hostapd_drv_none
    - wpa_msg
    - hostapd_drv_sta_deauth
    - hostapd_flush
    - wpa_dbg
    - os_memset
    linkageType: ''
    returnType: int
    signature: int hostapd_flush_old_stations(struct hostapd_data *hapd, u16 reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_free_stas
      Src: /src/hostap/src/ap/hostapd.c:896,1
    - Dst: hostapd_flush_old_stations
      Src: /src/hostap/src/ap/hostapd.c:897,1
    - Dst: hostapd_clear_wep
      Src: /src/hostap/src/ap/hostapd.c:899,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 894
    functionDepth: 14
    functionLinenumber: 894
    functionLinenumberEnd: 901
    functionName: hostapd_bss_deinit_no_free
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 2
    functionsReached:
    - hostapd_clear_wep
    - hostapd_flush_old_stations
    - hostapd_free_stas
    linkageType: ''
    returnType: void
    signature: void hostapd_bss_deinit_no_free(struct hostapd_data *hapd)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_drv_none
      Src: /src/hostap/src/ap/hostapd.c:918,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/ap/hostapd.c:933,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:965,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/hostapd.c:970,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:981,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/hostapd.c:982,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:989,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/hostapd.c:991,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/hostapd.c:991,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:992,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 58
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 911
    functionDepth: 1
    functionLinenumber: 911
    functionLinenumberEnd: 1000
    functionName: hostapd_validate_bssid_configuration
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hostapd_drv_none
    - is_zero_ether_addr
    - MAC2STR
    - os_memset
    linkageType: ''
    returnType: int
    signature: int hostapd_validate_bssid_configuration(struct hostapd_iface *iface)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_mac_comp
      Src: /src/hostap/src/ap/hostapd.c:1008,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - conf
    - a
    argTypes:
    - struct hostapd_config*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 1003
    functionDepth: 1
    functionLinenumber: 1003
    functionLinenumberEnd: 1014
    functionName: mac_in_conf
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 0
    functionsReached:
    - hostapd_mac_comp
    linkageType: ''
    returnType: int
    signature: int mac_in_conf(struct hostapd_config *conf, const void *a)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/ap/hostapd.c:1024,1
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/hostapd.c:1026,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:1028,1
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/hostapd.c:1034,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:1036,1
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/hostapd.c:1043,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:1045,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 2
    argNames:
    - hapd
    - attr
    argTypes:
    - struct hostapd_data*
    - struct radius_das_attrs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1051
    functionName: hostapd_das_nas_mismatch
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - os_memcmp
    linkageType: ''
    returnType: int
    signature: "int hostapd_das_nas_mismatch(struct hostapd_data *hapd,\n\t\t\t\t
      \   struct radius_das_attrs *attr)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/hostapd.c:1070,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:1072,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:1082,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:1088,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/hostapd.c:1097,1
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/hostapd.c:1099,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:1106,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:1110,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:1116,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/hostapd.c:1130,1
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/hostapd.c:1133,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:1141,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:1145,1
    - Dst: ieee802_1x_get_radius_cui
      Src: /src/hostap/src/ap/hostapd.c:1158,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/hostapd.c:1159,1
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/hostapd.c:1160,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/hostapd.c:1160,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:1168,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:1172,1
    - Dst: ieee802_1x_get_identity
      Src: /src/hostap/src/ap/hostapd.c:1186,1
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/hostapd.c:1190,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:1198,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:1202,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:1212,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 113
    argCount: 3
    argNames:
    - hapd
    - attr
    - multi
    argTypes:
    - struct hostapd_data*
    - struct radius_das_attrs*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1229
      start: 1054
    functionDepth: 2
    functionLinenumber: 1054
    functionLinenumberEnd: 1229
    functionName: hostapd_das_find_sta
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_len
    - ieee802_1x_get_identity
    - wpabuf_head
    - os_snprintf
    - ieee802_1x_get_radius_cui
    - os_memcmp
    - ap_get_sta
    linkageType: ''
    returnType: struct sta_info
    signature: "struct sta_info * hostapd_das_find_sta(struct hostapd_data *hapd,\n\t\t\t\t\t
      \     struct radius_das_attrs *attr,\n\t\t\t\t\t      int *multi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_auth_radius_das_disconnect_pmksa
      Src: /src/hostap/src/ap/hostapd.c:1237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - hapd
    - attr
    argTypes:
    - struct hostapd_data*
    - struct radius_das_attrs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1232
    functionDepth: 2
    functionLinenumber: 1232
    functionLinenumberEnd: 1238
    functionName: hostapd_das_disconnect_pmksa
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 0
    functionsReached:
    - wpa_auth_radius_das_disconnect_pmksa
    linkageType: ''
    returnType: int
    signature: "int hostapd_das_disconnect_pmksa(struct hostapd_data *hapd,\n\t\t\t\t\tstruct
      radius_das_attrs *attr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_das_nas_mismatch
      Src: /src/hostap/src/ap/hostapd.c:1248,1
    - Dst: hostapd_das_find_sta
      Src: /src/hostap/src/ap/hostapd.c:1251,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:1254,1
    - Dst: hostapd_das_disconnect_pmksa
      Src: /src/hostap/src/ap/hostapd.c:1258,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:1259,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:1263,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:1267,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/hostapd.c:1268,1
    - Dst: wpa_auth_pmksa_remove
      Src: /src/hostap/src/ap/hostapd.c:1269,1
    - Dst: hostapd_drv_sta_deauth
      Src: /src/hostap/src/ap/hostapd.c:1271,1
    - Dst: ap_sta_deauthenticate
      Src: /src/hostap/src/ap/hostapd.c:1273,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - ctx
    - attr
    argTypes:
    - void*
    - struct radius_das_attrs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1276
      start: 1241
    functionDepth: 9
    functionLinenumber: 1241
    functionLinenumberEnd: 1276
    functionName: hostapd_das_disconnect
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 0
    functionsReached:
    - hostapd_das_nas_mismatch
    - wpa_printf
    - ap_sta_deauthenticate
    - hostapd_das_find_sta
    - hostapd_drv_sta_deauth
    - MAC2STR
    - wpa_auth_pmksa_remove
    - hostapd_das_disconnect_pmksa
    linkageType: ''
    returnType: enum radius_das_res
    signature: enum radius_das_res hostapd_das_disconnect(void *ctx, struct radius_das_attrs
      *attr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_das_nas_mismatch
      Src: /src/hostap/src/ap/hostapd.c:1287,1
    - Dst: hostapd_das_find_sta
      Src: /src/hostap/src/ap/hostapd.c:1290,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:1293,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:1297,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:1301,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/hostapd.c:1302,1
    - Dst: BIT
      Src: /src/hostap/src/ap/hostapd.c:1305,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:1306,1
    - Dst: hs20_t_c_filtering
      Src: /src/hostap/src/ap/hostapd.c:1311,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - ctx
    - attr
    argTypes:
    - void*
    - struct radius_das_attrs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1315
      start: 1280
    functionDepth: 3
    functionLinenumber: 1280
    functionLinenumberEnd: 1315
    functionName: hostapd_das_coa
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 0
    functionsReached:
    - hostapd_das_nas_mismatch
    - wpa_printf
    - hs20_t_c_filtering
    - hostapd_das_find_sta
    - MAC2STR
    - BIT
    linkageType: ''
    returnType: enum radius_das_res
    signature: enum radius_das_res hostapd_das_coa(void *ctx, struct radius_das_attrs
      *attr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/hostapd.c:1327,1
    - Dst: sqlite3_exec
      Src: /src/hostap/src/ap/hostapd.c:1328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - db
    - name
    argTypes:
    - sqlite3*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1329
      start: 1323
    functionDepth: 0
    functionLinenumber: 1323
    functionLinenumberEnd: 1329
    functionName: db_table_exists
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 2
    functionsReached:
    - os_snprintf
    - sqlite3_exec
    linkageType: ''
    returnType: int
    signature: int db_table_exists(sqlite3 *db, const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:1344,1
    - Dst: sqlite3_exec
      Src: /src/hostap/src/ap/hostapd.c:1346,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:1347,1
    - Dst: sqlite3_free
      Src: /src/hostap/src/ap/hostapd.c:1348,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - db
    argTypes:
    - sqlite3*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1353
      start: 1332
    functionDepth: 0
    functionLinenumber: 1332
    functionLinenumberEnd: 1353
    functionName: db_table_create_radius_attributes
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - sqlite3_free
    - sqlite3_exec
    linkageType: ''
    returnType: int
    signature: int db_table_create_radius_attributes(sqlite3 *db)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_11_set_beacon
      Src: /src/hostap/src/ap/hostapd.c:1365,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/ap/hostapd.c:1376,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/hostapd.c:1378,1
    - Dst: hostapd_drv_sta_deauth
      Src: /src/hostap/src/ap/hostapd.c:1379,1
    - Dst: struct hostapd_data*::driver::set_operstate
      Src: /src/hostap/src/ap/hostapd.c:1384,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - hapd
    - flush_old_stations
    argTypes:
    - struct hostapd_data*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1387
      start: 1360
    functionDepth: 10
    functionLinenumber: 1360
    functionLinenumberEnd: 1387
    functionName: hostapd_start_beacon
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 0
    functionsReached:
    - hostapd_drv_sta_deauth
    - ieee802_11_set_beacon
    - struct hostapd_data*::driver::set_operstate
    - wpa_dbg
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int hostapd_start_beacon(struct hostapd_data *hapd,\n\t\t\t\tbool
      flush_old_stations)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:1401,1
    - Dst: radius_client_init
      Src: /src/hostap/src/ap/hostapd.c:1406,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:1408,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/hostapd.c:1416,1
    - Dst: radius_das_init
      Src: /src/hostap/src/ap/hostapd.c:1430,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:1432,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1439
      start: 1391
    functionDepth: 1
    functionLinenumber: 1391
    functionLinenumberEnd: 1439
    functionName: hostapd_bss_radius_init
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 0
    functionsReached:
    - radius_client_init
    - wpa_printf
    - radius_das_init
    - os_memset
    linkageType: ''
    returnType: int
    signature: int hostapd_bss_radius_init(struct hostapd_data *hapd)
  - BBCount: 58
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_mld_is_first_bss
      Src: /src/hostap/src/ap/hostapd.c:1470,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:1471,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:1474,1
    - Dst: hostapd_prepare_rates
      Src: /src/hostap/src/ap/hostapd.c:1479,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:1480,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/hostapd.c:1481,1
    - Dst: tncs_global_init
      Src: /src/hostap/src/ap/hostapd.c:1488,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:1489,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:1495,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/ap/hostapd.c:1504,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/hostapd.c:1506,1
    - Dst: hostapd_mac_comp
      Src: /src/hostap/src/ap/hostapd.c:1508,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:1511,1
    - Dst: inc_byte_array
      Src: /src/hostap/src/ap/hostapd.c:1521,1
    - Dst: mac_in_conf
      Src: /src/hostap/src/ap/hostapd.c:1522,1
    - Dst: hostapd_mld_get_first_bss
      Src: /src/hostap/src/ap/hostapd.c:1529,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:1533,1
    - Dst: hostapd_if_add
      Src: /src/hostap/src/ap/hostapd.c:1542,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:1547,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/hostapd.c:1548,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/hostapd.c:1554,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:1558,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/hostapd.c:1561,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:1570,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/hostapd.c:1573,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/hostapd.c:1574,1
    - Dst: hostapd_drv_link_add
      Src: /src/hostap/src/ap/hostapd.c:1576,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:1578,1
    - Dst: hostapd_mld_add_link
      Src: /src/hostap/src/ap/hostapd.c:1583,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/ap/hostapd.c:1592,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/hostapd.c:1593,1
    - Dst: hostapd_flush
      Src: /src/hostap/src/ap/hostapd.c:1602,1
    - Dst: hostapd_set_privacy
      Src: /src/hostap/src/ap/hostapd.c:1603,1
    - Dst: hostapd_drv_nl80211
      Src: /src/hostap/src/ap/hostapd.c:1606,1
    - Dst: hostapd_broadcast_wep_clear
      Src: /src/hostap/src/ap/hostapd.c:1607,1
    - Dst: hostapd_setup_encryption
      Src: /src/hostap/src/ap/hostapd.c:1608,1
    - Dst: hostapd_get_ssid
      Src: /src/hostap/src/ap/hostapd.c:1617,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:1619,1
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/hostapd.c:1629,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/hostapd.c:1637,1
    - Dst: ieee80211_crc32
      Src: /src/hostap/src/ap/hostapd.c:1644,1
    - Dst: hostapd_drv_none
      Src: /src/hostap/src/ap/hostapd.c:1647,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:1648,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/hostapd.c:1650,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/src/ap/hostapd.c:1651,1
    - Dst: hostapd_setup_wpa_psk
      Src: /src/hostap/src/ap/hostapd.c:1654,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:1655,1
    - Dst: hostapd_set_ssid
      Src: /src/hostap/src/ap/hostapd.c:1661,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:1663,1
    - Dst: sqlite3_open
      Src: /src/hostap/src/ap/hostapd.c:1673,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:1675,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:1680,1
    - Dst: db_table_exists
      Src: /src/hostap/src/ap/hostapd.c:1682,1
    - Dst: db_table_create_radius_attributes
      Src: /src/hostap/src/ap/hostapd.c:1683,1
    - Dst: hostapd_mld_is_first_bss
      Src: /src/hostap/src/ap/hostapd.c:1688,1
    - Dst: hostapd_bss_radius_init
      Src: /src/hostap/src/ap/hostapd.c:1689,1
    - Dst: hostapd_mld_get_first_bss
      Src: /src/hostap/src/ap/hostapd.c:1695,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:1700,1
    - Dst: hostapd_bss_radius_init
      Src: /src/hostap/src/ap/hostapd.c:1703,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:1707,1
    - Dst: hostapd_acl_init
      Src: /src/hostap/src/ap/hostapd.c:1715,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:1716,1
    - Dst: hostapd_init_wps
      Src: /src/hostap/src/ap/hostapd.c:1719,1
    - Dst: gas_query_ap_init
      Src: /src/hostap/src/ap/hostapd.c:1723,1
    - Dst: hostapd_dpp_init
      Src: /src/hostap/src/ap/hostapd.c:1726,1
    - Dst: hostapd_nan_usd_init
      Src: /src/hostap/src/ap/hostapd.c:1731,1
    - Dst: authsrv_init
      Src: /src/hostap/src/ap/hostapd.c:1735,1
    - Dst: ieee802_1x_init
      Src: /src/hostap/src/ap/hostapd.c:1738,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:1739,1
    - Dst: hostapd_setup_wpa
      Src: /src/hostap/src/ap/hostapd.c:1746,1
    - Dst: accounting_init
      Src: /src/hostap/src/ap/hostapd.c:1749,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:1750,1
    - Dst: gas_serv_init
      Src: /src/hostap/src/ap/hostapd.c:1755,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:1756,1
    - Dst: hostapd_drv_set_qos_map
      Src: /src/hostap/src/ap/hostapd.c:1762,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:1764,1
    - Dst: bss_load_update_init
      Src: /src/hostap/src/ap/hostapd.c:1768,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:1769,1
    - Dst: hostapd_drv_br_port_set_attr
      Src: /src/hostap/src/ap/hostapd.c:1780,1
    - Dst: hostapd_drv_br_port_set_attr
      Src: /src/hostap/src/ap/hostapd.c:1785,1
    - Dst: x_snoop_init
      Src: /src/hostap/src/ap/hostapd.c:1790,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:1791,1
    - Dst: dhcp_snoop_init
      Src: /src/hostap/src/ap/hostapd.c:1796,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:1797,1
    - Dst: ndisc_snoop_init
      Src: /src/hostap/src/ap/hostapd.c:1802,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:1803,1
    - Dst: hostapd_drv_none
      Src: /src/hostap/src/ap/hostapd.c:1809,1
    - Dst: vlan_init
      Src: /src/hostap/src/ap/hostapd.c:1809,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:1810,1
    - Dst: hostapd_start_beacon
      Src: /src/hostap/src/ap/hostapd.c:1814,1
    - Dst: wpa_init_keys
      Src: /src/hostap/src/ap/hostapd.c:1817,1
    CyclomaticComplexity: 73
    EdgeCount: 73
    ICount: 197
    argCount: 3
    argNames:
    - hapd
    - first
    - start_beacon
    argTypes:
    - struct hostapd_data*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1821
      start: 1460
    functionDepth: 11
    functionLinenumber: 1460
    functionLinenumberEnd: 1821
    functionName: hostapd_setup_bss
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 0
    functionsReached:
    - hostapd_set_ssid
    - inc_byte_array
    - ieee802_1x_init
    - hostapd_logger
    - mac_in_conf
    - hostapd_setup_encryption
    - hostapd_nan_usd_init
    - hostapd_mac_comp
    - hostapd_setup_wpa
    - db_table_exists
    - wpa_printf
    - hostapd_bss_radius_init
    - hostapd_drv_none
    - hostapd_broadcast_wep_clear
    - wpa_ssid_txt
    - dhcp_snoop_init
    - tncs_global_init
    - wpa_init_keys
    - ndisc_snoop_init
    - os_memcmp
    - hostapd_flush
    - hostapd_dpp_init
    - hostapd_drv_nl80211
    - gas_query_ap_init
    - hostapd_start_beacon
    - hostapd_mld_get_first_bss
    - authsrv_init
    - hostapd_acl_init
    - hostapd_if_add
    - hostapd_drv_set_qos_map
    - is_zero_ether_addr
    - hostapd_drv_br_port_set_attr
    - hostapd_get_ssid
    - hostapd_prepare_rates
    - db_table_create_radius_attributes
    - ieee80211_crc32
    - sqlite3_open
    - vlan_init
    - hostapd_init_wps
    - os_memcpy
    - gas_serv_init
    - x_snoop_init
    - hostapd_drv_link_add
    - MAC2STR
    - hostapd_mld_add_link
    - bss_load_update_init
    - hostapd_set_privacy
    - hostapd_setup_wpa_psk
    - accounting_init
    - hostapd_mld_is_first_bss
    linkageType: ''
    returnType: int
    signature: "int hostapd_setup_bss(struct hostapd_data *hapd, bool first,\n\t\t\t
      \    bool start_beacon)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_set_tx_queue_params
      Src: /src/hostap/src/ap/hostapd.c:1838,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:1840,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1845
      start: 1824
    functionDepth: 1
    functionLinenumber: 1824
    functionLinenumberEnd: 1845
    functionName: hostapd_tx_queue_params
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hostapd_set_tx_queue_params
    linkageType: ''
    returnType: void
    signature: void hostapd_tx_queue_params(struct hostapd_iface *iface)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/hostapd.c:1855,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/hostapd.c:1861,1
    - Dst: hostapd_drv_set_acl
      Src: /src/hostap/src/ap/hostapd.c:1867,1
    - Dst: os_free
      Src: /src/hostap/src/ap/hostapd.c:1869,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - hapd
    - mac_acl
    - n_entries
    - accept_acl
    argTypes:
    - struct hostapd_data*
    - struct mac_acl_entry*
    - int
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1872
      start: 1848
    functionDepth: 1
    functionLinenumber: 1848
    functionLinenumberEnd: 1872
    functionName: hostapd_set_acl_list
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 0
    functionsReached:
    - os_free
    - os_zalloc
    - os_memcpy
    - hostapd_drv_set_acl
    linkageType: ''
    returnType: int
    signature: "int hostapd_set_acl_list(struct hostapd_data *hapd,\n\t\t\t\tstruct
      mac_acl_entry *mac_acl,\n\t\t\t\tint n_entries, u8 accept_acl)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:1886,1
    - Dst: hostapd_set_acl_list
      Src: /src/hostap/src/ap/hostapd.c:1894,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:1898,1
    - Dst: hostapd_set_acl_list
      Src: /src/hostap/src/ap/hostapd.c:1903,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:1907,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1912
      start: 1875
    functionDepth: 2
    functionLinenumber: 1875
    functionLinenumberEnd: 1912
    functionName: hostapd_set_acl
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - hostapd_set_acl_list
    linkageType: ''
    returnType: int
    signature: int hostapd_set_acl(struct hostapd_data *hapd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/hostapd.c:1921,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/hostapd.c:1925,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/ap/hostapd.c:1928,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1933
      start: 1915
    functionDepth: 1
    functionLinenumber: 1915
    functionLinenumberEnd: 1933
    functionName: hostapd_set_ctrl_sock_iface
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - os_strlcpy
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: int hostapd_set_ctrl_sock_iface(struct hostapd_data *hapd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_set_ctrl_sock_iface
      Src: /src/hostap/src/ap/hostapd.c:1942,1
    - Dst: struct hostapd_data*::iface::interfaces::ctrl_iface_init
      Src: /src/hostap/src/ap/hostapd.c:1945,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:1946,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1953
      start: 1936
    functionDepth: 2
    functionLinenumber: 1936
    functionLinenumberEnd: 1953
    functionName: start_ctrl_iface_bss
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 0
    functionsReached:
    - hostapd_set_ctrl_sock_iface
    - wpa_printf
    - struct hostapd_data*::iface::interfaces::ctrl_iface_init
    linkageType: ''
    returnType: int
    signature: int start_ctrl_iface_bss(struct hostapd_data *hapd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_set_ctrl_sock_iface
      Src: /src/hostap/src/ap/hostapd.c:1966,1
    - Dst: struct hostapd_iface*::interfaces::ctrl_iface_init
      Src: /src/hostap/src/ap/hostapd.c:1969,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:1970,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1978
      start: 1956
    functionDepth: 2
    functionLinenumber: 1956
    functionLinenumberEnd: 1978
    functionName: start_ctrl_iface
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 0
    functionsReached:
    - hostapd_set_ctrl_sock_iface
    - struct hostapd_iface*::interfaces::ctrl_iface_init
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int start_ctrl_iface(struct hostapd_iface *iface)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_bss_deinit_no_free
      Src: /src/hostap/src/ap/hostapd.c:1987,1
    - Dst: hostapd_bss_link_deinit
      Src: /src/hostap/src/ap/hostapd.c:1988,1
    - Dst: hostapd_free_hapd_data
      Src: /src/hostap/src/ap/hostapd.c:1989,1
    - Dst: hostapd_cleanup_iface_partial
      Src: /src/hostap/src/ap/hostapd.c:1990,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - bss
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1991
      start: 1985
    functionDepth: 15
    functionLinenumber: 1985
    functionLinenumberEnd: 1991
    functionName: hostapd_no_ir_cleanup
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 0
    functionsReached:
    - hostapd_bss_deinit_no_free
    - hostapd_bss_link_deinit
    - hostapd_cleanup_iface_partial
    - hostapd_free_hapd_data
    linkageType: ''
    returnType: void
    signature: void hostapd_no_ir_cleanup(struct hostapd_data *bss)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_drv_none
      Src: /src/hostap/src/ap/hostapd.c:2005,1
    - Dst: hostapd_get_hw_feature_data
      Src: /src/hostap/src/ap/hostapd.c:2008,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:2011,1
    - Dst: hw_mode_get_channel
      Src: /src/hostap/src/ap/hostapd.c:2024,1
    - Dst: is_6ghz_freq
      Src: /src/hostap/src/ap/hostapd.c:2034,1
    - Dst: hw_get_channel_freq
      Src: /src/hostap/src/ap/hostapd.c:2048,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:2054,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:2061,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:2064,1
    - Dst: hostapd_set_state
      Src: /src/hostap/src/ap/hostapd.c:2068,1
    - Dst: hostapd_drv_stop_ap
      Src: /src/hostap/src/ap/hostapd.c:2070,1
    - Dst: hostapd_no_ir_cleanup
      Src: /src/hostap/src/ap/hostapd.c:2071,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/hostapd.c:2072,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:2075,1
    - Dst: hw_get_channel_freq
      Src: /src/hostap/src/ap/hostapd.c:2083,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:2088,1
    - Dst: acs_init
      Src: /src/hostap/src/ap/hostapd.c:2098,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:2099,1
    - Dst: setup_interface2
      Src: /src/hostap/src/ap/hostapd.c:2105,1
    - Dst: hostapd_free_hw_features
      Src: /src/hostap/src/ap/hostapd.c:2109,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 78
    argCount: 2
    argNames:
    - iface
    - ctx
    argTypes:
    - struct hostapd_iface*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2111
      start: 1994
    functionDepth: 16
    functionLinenumber: 1994
    functionLinenumberEnd: 2111
    functionName: hostapd_no_ir_channel_list_updated
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 0
    functionsReached:
    - hostapd_set_state
    - hostapd_get_hw_feature_data
    - wpa_printf
    - hostapd_drv_none
    - is_6ghz_freq
    - wpa_msg
    - acs_init
    - setup_interface2
    - hostapd_no_ir_cleanup
    - hw_mode_get_channel
    - hostapd_free_hw_features
    - hw_get_channel_freq
    - hostapd_drv_stop_ap
    linkageType: ''
    returnType: int
    signature: "int hostapd_no_ir_channel_list_updated(struct hostapd_iface *iface,\n\t\t\t\t\t
      \     void *ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:2119,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:2127,1
    - Dst: setup_interface2
      Src: /src/hostap/src/ap/hostapd.c:2128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2129
      start: 2114
    functionDepth: 1
    functionLinenumber: 2114
    functionLinenumberEnd: 2129
    functionName: channel_list_update_timeout
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - setup_interface2
    linkageType: ''
    returnType: void
    signature: void channel_list_update_timeout(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_for_each_interface
      Src: /src/hostap/src/ap/hostapd.c:2135,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:2144,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/hostapd.c:2145,1
    - Dst: setup_interface2
      Src: /src/hostap/src/ap/hostapd.c:2146,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - iface
    - initiator
    argTypes:
    - struct hostapd_iface*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2147
      start: 2132
    functionDepth: 1
    functionLinenumber: 2132
    functionLinenumberEnd: 2147
    functionName: hostapd_channel_list_updated
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 1
    functionsReached:
    - eloop_cancel_timeout
    - wpa_printf
    - hostapd_for_each_interface
    - setup_interface2
    linkageType: ''
    returnType: void
    signature: void hostapd_channel_list_updated(struct hostapd_iface *iface, int
      initiator)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_drv_get_radio_name
      Src: /src/hostap/src/ap/hostapd.c:2165,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:2167,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/ap/hostapd.c:2168,1
    - Dst: hostapd_validate_bssid_configuration
      Src: /src/hostap/src/ap/hostapd.c:2181,1
    - Dst: start_ctrl_iface
      Src: /src/hostap/src/ap/hostapd.c:2189,1
    - Dst: hostapd_set_state
      Src: /src/hostap/src/ap/hostapd.c:2195,1
    - Dst: hostapd_get_country
      Src: /src/hostap/src/ap/hostapd.c:2196,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/hostapd.c:2199,1
    - Dst: hostapd_set_country
      Src: /src/hostap/src/ap/hostapd.c:2201,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:2202,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:2206,1
    - Dst: os_strncmp
      Src: /src/hostap/src/ap/hostapd.c:2209,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:2210,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/hostapd.c:2212,1
    - Dst: setup_interface2
      Src: /src/hostap/src/ap/hostapd.c:2219,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2220
      start: 2150
    functionDepth: 3
    functionLinenumber: 2150
    functionLinenumberEnd: 2220
    functionName: setup_interface
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 4
    functionsReached:
    - hostapd_set_state
    - wpa_printf
    - os_memcpy
    - hostapd_validate_bssid_configuration
    - os_strlcpy
    - setup_interface2
    - os_strncmp
    - start_ctrl_iface
    - eloop_register_timeout
    - hostapd_get_country
    - hostapd_set_country
    - hostapd_drv_get_radio_name
    linkageType: ''
    returnType: int
    signature: int setup_interface(struct hostapd_iface *iface)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ieee80211_chan_to_freq
      Src: /src/hostap/src/ap/hostapd.c:2230,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:2233,1
    - Dst: is_6ghz_freq
      Src: /src/hostap/src/ap/hostapd.c:2256,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:2263,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2265
      start: 2223
    functionDepth: 1
    functionLinenumber: 2223
    functionLinenumberEnd: 2265
    functionName: configured_fixed_chan_to_freq
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - ieee80211_chan_to_freq
    - is_6ghz_freq
    linkageType: ''
    returnType: int
    signature: int configured_fixed_chan_to_freq(struct hostapd_iface *iface)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_6ghz_op_class
      Src: /src/hostap/src/ap/hostapd.c:2272,1
    - Dst: op_class_to_bandwidth
      Src: /src/hostap/src/ap/hostapd.c:2275,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2284
      start: 2268
    functionDepth: 1
    functionLinenumber: 2268
    functionLinenumberEnd: 2284
    functionName: hostapd_set_6ghz_sec_chan
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 0
    functionsReached:
    - op_class_to_bandwidth
    - is_6ghz_op_class
    linkageType: ''
    returnType: void
    signature: void hostapd_set_6ghz_sec_chan(struct hostapd_iface *iface)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_get_hw_features
      Src: /src/hostap/src/ap/hostapd.c:2292,1
    - Dst: configured_fixed_chan_to_freq
      Src: /src/hostap/src/ap/hostapd.c:2304,1
    - Dst: op_class_to_ch_width
      Src: /src/hostap/src/ap/hostapd.c:2311,1
    - Dst: hostapd_set_oper_chwidth
      Src: /src/hostap/src/ap/hostapd.c:2312,1
    - Dst: hostapd_set_6ghz_sec_chan
      Src: /src/hostap/src/ap/hostapd.c:2313,1
    - Dst: hostapd_select_hw_mode
      Src: /src/hostap/src/ap/hostapd.c:2316,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:2318,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:2323,1
    - Dst: hostapd_check_edmg_capab
      Src: /src/hostap/src/ap/hostapd.c:2326,1
    - Dst: hostapd_check_he_6ghz_capab
      Src: /src/hostap/src/ap/hostapd.c:2329,1
    - Dst: hostapd_check_ht_capab
      Src: /src/hostap/src/ap/hostapd.c:2332,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:2336,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:2342,1
    - Dst: hostapd_setup_interface_complete
      Src: /src/hostap/src/ap/hostapd.c:2344,1
    - Dst: hostapd_set_state
      Src: /src/hostap/src/ap/hostapd.c:2350,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/hostapd.c:2351,1
    - Dst: hostapd_set_state
      Src: /src/hostap/src/ap/hostapd.c:2355,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/hostapd.c:2356,1
    - Dst: eloop_terminate
      Src: /src/hostap/src/ap/hostapd.c:2358,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 61
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2360
      start: 2287
    functionDepth: 2
    functionLinenumber: 2287
    functionLinenumberEnd: 2360
    functionName: setup_interface2
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 4
    functionsReached:
    - hostapd_set_state
    - hostapd_set_oper_chwidth
    - hostapd_set_6ghz_sec_chan
    - wpa_printf
    - hostapd_check_he_6ghz_capab
    - hostapd_setup_interface_complete
    - hostapd_check_ht_capab
    - hostapd_check_edmg_capab
    - wpa_msg
    - op_class_to_ch_width
    - eloop_terminate
    - hostapd_get_hw_features
    - configured_fixed_chan_to_freq
    - hostapd_select_hw_mode
    linkageType: ''
    returnType: int
    signature: int setup_interface2(struct hostapd_iface *iface)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2370
      start: 2365
    functionDepth: 0
    functionLinenumber: 2365
    functionLinenumberEnd: 2370
    functionName: fst_hostapd_get_bssid_cb
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 * fst_hostapd_get_bssid_cb(void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ieee80211_freq_to_chan
      Src: /src/hostap/src/ap/hostapd.c:2379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - hw_mode
    - channel
    argTypes:
    - void*
    - enum hostapd_hw_mode*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2380
      start: 2373
    functionDepth: 1
    functionLinenumber: 2373
    functionLinenumberEnd: 2380
    functionName: fst_hostapd_get_channel_info_cb
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 0
    functionsReached:
    - ieee80211_freq_to_chan
    linkageType: ''
    returnType: void
    signature: "void fst_hostapd_get_channel_info_cb(void *ctx,\n\t\t\t\t\t    enum
      hostapd_hw_mode *hw_mode,\n\t\t\t\t\t    u8 *channel)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - modes
    argTypes:
    - void*
    - struct hostapd_hw_modes**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2390
      start: 2383
    functionDepth: 0
    functionLinenumber: 2383
    functionLinenumberEnd: 2390
    functionName: fst_hostapd_get_hw_modes_cb
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int fst_hostapd_get_hw_modes_cb(void *ctx,\n\t\t\t\t       struct
      hostapd_hw_modes **modes)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_11_set_beacon
      Src: /src/hostap/src/ap/hostapd.c:2399,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:2400,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - fst_ies
    argTypes:
    - void*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2402
      start: 2393
    functionDepth: 10
    functionLinenumber: 2393
    functionLinenumberEnd: 2402
    functionName: fst_hostapd_set_ies_cb
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 0
    functionsReached:
    - ieee802_11_set_beacon
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void fst_hostapd_set_ies_cb(void *ctx, const struct wpabuf *fst_ies)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_drv_send_action
      Src: /src/hostap/src/ap/hostapd.c:2410,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/hostapd.c:2411,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/hostapd.c:2411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - da
    - buf
    argTypes:
    - void*
    - u8*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2412
      start: 2405
    functionDepth: 3
    functionLinenumber: 2405
    functionLinenumberEnd: 2412
    functionName: fst_hostapd_send_action_cb
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 0
    functionsReached:
    - wpabuf_len
    - hostapd_drv_send_action
    - wpabuf_head
    linkageType: ''
    returnType: int
    signature: "int fst_hostapd_send_action_cb(void *ctx, const u8 *da,\n\t\t\t\t
      \     struct wpabuf *buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/hostapd.c:2418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - addr
    argTypes:
    - void*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2421
      start: 2415
    functionDepth: 2
    functionLinenumber: 2415
    functionLinenumberEnd: 2421
    functionName: fst_hostapd_get_mb_ie_cb
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 0
    functionsReached:
    - ap_get_sta
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * fst_hostapd_get_mb_ie_cb(void *ctx, const u8 *addr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/hostapd.c:2428,1
    - Dst: mb_ies_info_by_ies
      Src: /src/hostap/src/ap/hostapd.c:2433,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/hostapd.c:2434,1
    - Dst: mb_ies_by_info
      Src: /src/hostap/src/ap/hostapd.c:2435,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - addr
    - buf
    - size
    argTypes:
    - void*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2438
      start: 2424
    functionDepth: 2
    functionLinenumber: 2424
    functionLinenumberEnd: 2438
    functionName: fst_hostapd_update_mb_ie_cb
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 0
    functionsReached:
    - mb_ies_by_info
    - wpabuf_free
    - mb_ies_info_by_ies
    - ap_get_sta
    linkageType: ''
    returnType: void
    signature: "void fst_hostapd_update_mb_ie_cb(void *ctx, const u8 *addr,\n\t\t\t\t\tconst
      u8 *buf, size_t size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - get_ctx
    - mb_only
    argTypes:
    - struct fst_get_peer_ctx**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2459
      start: 2441
    functionDepth: 0
    functionLinenumber: 2441
    functionLinenumberEnd: 2459
    functionName: fst_hostapd_get_sta
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: "u8 * fst_hostapd_get_sta(struct fst_get_peer_ctx **get_ctx,\n\t\t\t\t
      \     bool mb_only)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fst_hostapd_get_sta
      Src: /src/hostap/src/ap/hostapd.c:2470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - get_ctx
    - mb_only
    argTypes:
    - void*
    - struct fst_get_peer_ctx**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2471
      start: 2462
    functionDepth: 1
    functionLinenumber: 2462
    functionLinenumberEnd: 2471
    functionName: fst_hostapd_get_peer_first
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 0
    functionsReached:
    - fst_hostapd_get_sta
    linkageType: ''
    returnType: u8
    signature: "u8 * fst_hostapd_get_peer_first(void *ctx,\n\t\t\t\t\t     struct
      fst_get_peer_ctx **get_ctx,\n\t\t\t\t\t     bool mb_only)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fst_hostapd_get_sta
      Src: /src/hostap/src/ap/hostapd.c:2478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - get_ctx
    - mb_only
    argTypes:
    - void*
    - struct fst_get_peer_ctx**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2479
      start: 2474
    functionDepth: 1
    functionLinenumber: 2474
    functionLinenumberEnd: 2479
    functionName: fst_hostapd_get_peer_next
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 0
    functionsReached:
    - fst_hostapd_get_sta
    linkageType: ''
    returnType: u8
    signature: "u8 * fst_hostapd_get_peer_next(void *ctx,\n\t\t\t\t\t    struct fst_get_peer_ctx
      **get_ctx,\n\t\t\t\t\t    bool mb_only)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/ap/hostapd.c:2485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - hapd
    - iface_obj
    argTypes:
    - struct hostapd_data*
    - struct fst_wpa_obj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2496
      start: 2482
    functionDepth: 0
    functionLinenumber: 2482
    functionLinenumberEnd: 2496
    functionName: fst_hostapd_fill_iface_obj
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 1
    functionsReached:
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void fst_hostapd_fill_iface_obj(struct hostapd_data *hapd,\n\t\t\t\tstruct
      fst_wpa_obj *iface_obj)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/src/ap/hostapd.c:2510,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:2514,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/hostapd.c:2518,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/src/ap/hostapd.c:2519,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/ap/hostapd.c:2522,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/hostapd.c:2525,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/hostapd.c:2527,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:2530,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - iface
    - ctx
    argTypes:
    - struct hostapd_iface*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2536
      start: 2502
    functionDepth: 1
    functionLinenumber: 2502
    functionLinenumberEnd: 2536
    functionName: hostapd_owe_iface_iter
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_ssid_txt
    - is_zero_ether_addr
    - MAC2STR
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: int hostapd_owe_iface_iter(struct hostapd_iface *iface, void *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/ap/hostapd.c:2542,1
    - Dst: hostapd_owe_iface_iter
      Src: /src/hostap/src/ap/hostapd.c:2549,1
    - Dst: struct hostapd_data*::iface::interfaces::for_each_interface
      Src: /src/hostap/src/ap/hostapd.c:2551,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2553
      start: 2539
    functionDepth: 2
    functionLinenumber: 2539
    functionLinenumberEnd: 2553
    functionName: hostapd_owe_trans_get_info
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 1
    functionsReached:
    - struct hostapd_data*::iface::interfaces::for_each_interface
    - is_zero_ether_addr
    - hostapd_owe_iface_iter
    linkageType: ''
    returnType: int
    signature: int hostapd_owe_trans_get_info(struct hostapd_data *hapd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:2567,1
    - Dst: hostapd_state_text
      Src: /src/hostap/src/ap/hostapd.c:2570,1
    - Dst: hostapd_owe_trans_get_info
      Src: /src/hostap/src/ap/hostapd.c:2573,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:2576,1
    - Dst: ieee802_11_set_beacon
      Src: /src/hostap/src/ap/hostapd.c:2579,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - iface
    - ctx
    argTypes:
    - struct hostapd_iface*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2583
      start: 2556
    functionDepth: 10
    functionLinenumber: 2556
    functionLinenumberEnd: 2583
    functionName: hostapd_owe_iface_iter2
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 0
    functionsReached:
    - hostapd_owe_trans_get_info
    - ieee802_11_set_beacon
    - wpa_printf
    - hostapd_state_text
    linkageType: ''
    returnType: int
    signature: int hostapd_owe_iface_iter2(struct hostapd_iface *iface, void *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_owe_iface_iter2
      Src: /src/hostap/src/ap/hostapd.c:2595,1
    - Dst: struct hostapd_iface*::interfaces::for_each_interface
      Src: /src/hostap/src/ap/hostapd.c:2597,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2600
      start: 2588
    functionDepth: 11
    functionLinenumber: 2588
    functionLinenumberEnd: 2600
    functionName: hostapd_owe_update_trans
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 0
    functionsReached:
    - hostapd_owe_iface_iter2
    - struct hostapd_iface*::interfaces::for_each_interface
    linkageType: ''
    returnType: void
    signature: void hostapd_owe_update_trans(struct hostapd_iface *iface)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::setup_complete_cb
      Src: /src/hostap/src/ap/hostapd.c:2613,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2614
      start: 2603
    functionDepth: 0
    functionLinenumber: 2603
    functionLinenumberEnd: 2614
    functionName: hostapd_interface_setup_failure_handler
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 0
    functionsReached:
    - struct hostapd_data*::setup_complete_cb
    linkageType: ''
    returnType: void
    signature: "void hostapd_interface_setup_failure_handler(void *eloop_ctx,\n\t\t\t\t\t\t
      \   void *timeout_ctx)"
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:2629,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:2635,1
    - Dst: hostapd_hw_mode_txt
      Src: /src/hostap/src/ap/hostapd.c:2637,1
    - Dst: hostapd_set_current_hw_info
      Src: /src/hostap/src/ap/hostapd.c:2640,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:2641,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:2648,1
    - Dst: hostapd_handle_dfs
      Src: /src/hostap/src/ap/hostapd.c:2654,1
    - Dst: hostapd_handle_dfs_offload
      Src: /src/hostap/src/ap/hostapd.c:2662,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:2667,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:2682,1
    - Dst: hostapd_afc_handle_request
      Src: /src/hostap/src/ap/hostapd.c:2691,1
    - Dst: hostapd_set_freq
      Src: /src/hostap/src/ap/hostapd.c:2700,1
    - Dst: hostapd_get_oper_chwidth
      Src: /src/hostap/src/ap/hostapd.c:2709,1
    - Dst: hostapd_get_oper_centr_freq_seg0_idx
      Src: /src/hostap/src/ap/hostapd.c:2710,1
    - Dst: hostapd_get_oper_centr_freq_seg1_idx
      Src: /src/hostap/src/ap/hostapd.c:2712,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:2714,1
    - Dst: hostapd_set_rts
      Src: /src/hostap/src/ap/hostapd.c:2721,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:2723,1
    - Dst: hostapd_set_frag
      Src: /src/hostap/src/ap/hostapd.c:2729,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:2731,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/hostapd.c:2741,1
    - Dst: hostapd_setup_bss
      Src: /src/hostap/src/ap/hostapd.c:2742,1
    - Dst: hostapd_bss_deinit_no_free
      Src: /src/hostap/src/ap/hostapd.c:2745,1
    - Dst: hostapd_bss_link_deinit
      Src: /src/hostap/src/ap/hostapd.c:2746,1
    - Dst: hostapd_free_hapd_data
      Src: /src/hostap/src/ap/hostapd.c:2747,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/ap/hostapd.c:2754,1
    - Dst: hostapd_start_beacon
      Src: /src/hostap/src/ap/hostapd.c:2761,1
    - Dst: hostapd_bss_deinit_no_free
      Src: /src/hostap/src/ap/hostapd.c:2764,1
    - Dst: hostapd_bss_link_deinit
      Src: /src/hostap/src/ap/hostapd.c:2765,1
    - Dst: hostapd_free_hapd_data
      Src: /src/hostap/src/ap/hostapd.c:2766,1
    - Dst: hostapd_tx_queue_params
      Src: /src/hostap/src/ap/hostapd.c:2778,1
    - Dst: ap_list_init
      Src: /src/hostap/src/ap/hostapd.c:2780,1
    - Dst: hostapd_set_acl
      Src: /src/hostap/src/ap/hostapd.c:2782,1
    - Dst: hostapd_init_wps_complete
      Src: /src/hostap/src/ap/hostapd.c:2791,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:2801,1
    - Dst: fst_hostapd_fill_iface_obj
      Src: /src/hostap/src/ap/hostapd.c:2813,1
    - Dst: fst_attach
      Src: /src/hostap/src/ap/hostapd.c:2814,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:2817,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/hostapd.c:2826,1
    - Dst: hostapd_set_state
      Src: /src/hostap/src/ap/hostapd.c:2829,1
    - Dst: hostapd_owe_update_trans
      Src: /src/hostap/src/ap/hostapd.c:2830,1
    - Dst: airtime_policy_update_init
      Src: /src/hostap/src/ap/hostapd.c:2831,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/hostapd.c:2832,1
    - Dst: struct hostapd_data*::setup_complete_cb
      Src: /src/hostap/src/ap/hostapd.c:2834,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:2838,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:2843,1
    - Dst: hostapd_neighbor_set_own_report
      Src: /src/hostap/src/ap/hostapd.c:2849,1
    - Dst: ieee802_11_update_beacons
      Src: /src/hostap/src/ap/hostapd.c:2852,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:2857,1
    - Dst: hostapd_set_state
      Src: /src/hostap/src/ap/hostapd.c:2860,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/hostapd.c:2861,1
    - Dst: hostapd_set_state
      Src: /src/hostap/src/ap/hostapd.c:2865,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/hostapd.c:2866,1
    - Dst: fst_detach
      Src: /src/hostap/src/ap/hostapd.c:2869,1
    - Dst: eloop_terminate
      Src: /src/hostap/src/ap/hostapd.c:2875,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/hostapd.c:2881,1
    CyclomaticComplexity: 70
    EdgeCount: 70
    ICount: 169
    argCount: 2
    argNames:
    - iface
    - err
    argTypes:
    - struct hostapd_iface*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2887
      start: 2617
    functionDepth: 15
    functionLinenumber: 2617
    functionLinenumberEnd: 2887
    functionName: hostapd_setup_interface_complete_sync
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 0
    functionsReached:
    - airtime_policy_update_init
    - hostapd_free_hapd_data
    - hostapd_get_oper_centr_freq_seg0_idx
    - fst_detach
    - hostapd_set_frag
    - fst_hostapd_fill_iface_obj
    - hostapd_bss_link_deinit
    - fst_attach
    - wpa_printf
    - hostapd_set_freq
    - hostapd_set_rts
    - hostapd_init_wps_complete
    - eloop_terminate
    - ieee802_11_update_beacons
    - hostapd_owe_update_trans
    - hostapd_start_beacon
    - hostapd_get_oper_centr_freq_seg1_idx
    - hostapd_neighbor_set_own_report
    - hostapd_setup_bss
    - hostapd_afc_handle_request
    - is_zero_ether_addr
    - hostapd_set_acl
    - hostapd_tx_queue_params
    - hostapd_get_oper_chwidth
    - struct hostapd_data*::setup_complete_cb
    - hostapd_set_state
    - os_memcpy
    - hostapd_set_current_hw_info
    - wpa_msg
    - ap_list_init
    - eloop_register_timeout
    - hostapd_handle_dfs
    - hostapd_handle_dfs_offload
    - hostapd_bss_deinit_no_free
    - hostapd_hw_mode_txt
    linkageType: ''
    returnType: int
    signature: "int hostapd_setup_interface_complete_sync(struct hostapd_iface *iface,\n\t\t\t\t\t\t
      int err)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_setup_interface_complete_sync
      Src: /src/hostap/src/ap/hostapd.c:2906,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:2909,1
    - Dst: hostapd_set_state
      Src: /src/hostap/src/ap/hostapd.c:2913,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/hostapd.c:2914,1
    - Dst: hostapd_set_state
      Src: /src/hostap/src/ap/hostapd.c:2918,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/hostapd.c:2919,1
    - Dst: eloop_terminate
      Src: /src/hostap/src/ap/hostapd.c:2921,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:2946,1
    - Dst: hostapd_setup_interface_complete_sync
      Src: /src/hostap/src/ap/hostapd.c:2949,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:2955,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:2961,1
    - Dst: hostapd_setup_interface_complete_sync
      Src: /src/hostap/src/ap/hostapd.c:2965,1
    - Dst: hostapd_setup_interface_complete_sync
      Src: /src/hostap/src/ap/hostapd.c:2969,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 2
    argNames:
    - iface
    - err
    argTypes:
    - struct hostapd_iface*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2977
      start: 2898
    functionDepth: 16
    functionLinenumber: 2898
    functionLinenumberEnd: 2977
    functionName: hostapd_setup_interface_complete
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 8
    functionsReached:
    - hostapd_set_state
    - wpa_printf
    - wpa_msg
    - hostapd_setup_interface_complete_sync
    - eloop_terminate
    linkageType: ''
    returnType: int
    signature: int hostapd_setup_interface_complete(struct hostapd_iface *iface, int
      err)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setup_interface
      Src: /src/hostap/src/ap/hostapd.c:3002,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:3004,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3010
      start: 2996
    functionDepth: 4
    functionLinenumber: 2996
    functionLinenumberEnd: 3010
    functionName: hostapd_setup_interface
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 4
    functionsReached:
    - setup_interface
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int hostapd_setup_interface(struct hostapd_iface *iface)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/hostapd.c:3031,1
    - Dst: dl_list_init
      Src: /src/hostap/src/ap/hostapd.c:3042,1
    - Dst: dl_list_init
      Src: /src/hostap/src/ap/hostapd.c:3043,1
    - Dst: dl_list_init
      Src: /src/hostap/src/ap/hostapd.c:3046,1
    - Dst: dl_list_init
      Src: /src/hostap/src/ap/hostapd.c:3047,1
    - Dst: dl_list_init
      Src: /src/hostap/src/ap/hostapd.c:3050,1
    - Dst: dl_list_init
      Src: /src/hostap/src/ap/hostapd.c:3052,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - hapd_iface
    - conf
    - bss
    argTypes:
    - struct hostapd_iface*
    - struct hostapd_config*
    - struct hostapd_bss_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3055
      start: 3024
    functionDepth: 1
    functionLinenumber: 3024
    functionLinenumberEnd: 3055
    functionName: hostapd_alloc_bss_data
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 2
    functionsReached:
    - os_zalloc
    - dl_list_init
    linkageType: ''
    returnType: struct hostapd_data
    signature: "struct hostapd_data *\nhostapd_alloc_bss_data(struct hostapd_iface
      *hapd_iface,\n\t\t       struct hostapd_config *conf,\n\t\t       struct hostapd_bss_config
      *bss)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:3062,1
    - Dst: hostapd_bss_deinit_no_free
      Src: /src/hostap/src/ap/hostapd.c:3064,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/hostapd.c:3065,1
    - Dst: sqlite3_close
      Src: /src/hostap/src/ap/hostapd.c:3068,1
    - Dst: hostapd_bss_link_deinit
      Src: /src/hostap/src/ap/hostapd.c:3073,1
    - Dst: hostapd_cleanup
      Src: /src/hostap/src/ap/hostapd.c:3074,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3075
      start: 3058
    functionDepth: 15
    functionLinenumber: 3058
    functionLinenumberEnd: 3075
    functionName: hostapd_bss_deinit
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 0
    functionsReached:
    - hostapd_cleanup
    - wpa_printf
    - hostapd_bss_deinit_no_free
    - wpa_msg
    - sqlite3_close
    - hostapd_bss_link_deinit
    linkageType: ''
    returnType: void
    signature: void hostapd_bss_deinit(struct hostapd_data *hapd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:3082,1
    - Dst: hostapd_set_state
      Src: /src/hostap/src/ap/hostapd.c:3086,1
    - Dst: hostapd_afc_stop
      Src: /src/hostap/src/ap/hostapd.c:3088,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/hostapd.c:3089,1
    - Dst: fst_detach
      Src: /src/hostap/src/ap/hostapd.c:3095,1
    - Dst: hostapd_bss_deinit
      Src: /src/hostap/src/ap/hostapd.c:3103,1
    - Dst: hostapd_stop_setup_timers
      Src: /src/hostap/src/ap/hostapd.c:3107,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/hostapd.c:3108,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3110
      start: 3078
    functionDepth: 16
    functionLinenumber: 3078
    functionLinenumberEnd: 3110
    functionName: hostapd_interface_deinit
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 2
    functionsReached:
    - hostapd_bss_deinit
    - hostapd_set_state
    - wpa_printf
    - hostapd_stop_setup_timers
    - eloop_cancel_timeout
    - fst_detach
    - hostapd_afc_stop
    linkageType: ''
    returnType: void
    signature: void hostapd_interface_deinit(struct hostapd_iface *iface)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:3121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - mld
    argTypes:
    - struct hostapd_mld*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3127
      start: 3115
    functionDepth: 0
    functionLinenumber: 3115
    functionLinenumberEnd: 3127
    functionName: hostapd_mld_ref_inc
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void hostapd_mld_ref_inc(struct hostapd_mld *mld)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:3136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - mld
    argTypes:
    - struct hostapd_mld*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3142
      start: 3130
    functionDepth: 0
    functionLinenumber: 3130
    functionLinenumberEnd: 3142
    functionName: hostapd_mld_ref_dec
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void hostapd_mld_ref_dec(struct hostapd_mld *mld)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:3150,1
    - Dst: hostapd_mld_ref_dec
      Src: /src/hostap/src/ap/hostapd.c:3156,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:3158,1
    - Dst: os_free
      Src: /src/hostap/src/ap/hostapd.c:3160,1
    - Dst: hostapd_cleanup_iface
      Src: /src/hostap/src/ap/hostapd.c:3162,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3163
      start: 3147
    functionDepth: 7
    functionLinenumber: 3147
    functionLinenumberEnd: 3163
    functionName: hostapd_interface_free
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 2
    functionsReached:
    - os_free
    - wpa_printf
    - hostapd_cleanup_iface
    - hostapd_mld_ref_dec
    linkageType: ''
    returnType: void
    signature: void hostapd_interface_free(struct hostapd_iface *iface)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/hostapd.c:3170,1
    - Dst: dl_list_init
      Src: /src/hostap/src/ap/hostapd.c:3174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3177
      start: 3166
    functionDepth: 1
    functionLinenumber: 3166
    functionLinenumberEnd: 3177
    functionName: hostapd_alloc_iface
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 2
    functionsReached:
    - os_zalloc
    - dl_list_init
    linkageType: ''
    returnType: struct hostapd_iface
    signature: struct hostapd_iface * hostapd_alloc_iface(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:3184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3186
      start: 3181
    functionDepth: 0
    functionLinenumber: 3181
    functionLinenumberEnd: 3186
    functionName: hostapd_bss_alloc_link_id
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void hostapd_bss_alloc_link_id(struct hostapd_data *hapd)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_is_eht_enabled
      Src: /src/hostap/src/ap/hostapd.c:3203,1
    - Dst: os_strcmp
      Src: /src/hostap/src/ap/hostapd.c:3209,1
    - Dst: hostapd_mld_ref_inc
      Src: /src/hostap/src/ap/hostapd.c:3213,1
    - Dst: hostapd_bss_alloc_link_id
      Src: /src/hostap/src/ap/hostapd.c:3214,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/hostapd.c:3221,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/ap/hostapd.c:3225,1
    - Dst: dl_list_init
      Src: /src/hostap/src/ap/hostapd.c:3226,1
    - Dst: os_strdup
      Src: /src/hostap/src/ap/hostapd.c:3229,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:3231,1
    - Dst: struct hapd_interfaces*::mld_ctrl_iface_init
      Src: /src/hostap/src/ap/hostapd.c:3235,1
    - Dst: hostapd_mld_ref_inc
      Src: /src/hostap/src/ap/hostapd.c:3239,1
    - Dst: hostapd_bss_alloc_link_id
      Src: /src/hostap/src/ap/hostapd.c:3240,1
    - Dst: os_realloc_array
      Src: /src/hostap/src/ap/hostapd.c:3242,1
    - Dst: struct hapd_interfaces*::mld_ctrl_iface_deinit
      Src: /src/hostap/src/ap/hostapd.c:3256,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:3257,1
    - Dst: os_free
      Src: /src/hostap/src/ap/hostapd.c:3258,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 49
    argCount: 2
    argNames:
    - hapd
    - interfaces
    argTypes:
    - struct hostapd_data*
    - struct hapd_interfaces*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3261
      start: 3190
    functionDepth: 1
    functionLinenumber: 3190
    functionLinenumberEnd: 3261
    functionName: hostapd_bss_setup_multi_link
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 1
    functionsReached:
    - os_strdup
    - wpa_printf
    - struct hapd_interfaces*::mld_ctrl_iface_init
    - os_strlcpy
    - hostapd_is_eht_enabled
    - os_zalloc
    - struct hapd_interfaces*::mld_ctrl_iface_deinit
    - hostapd_bss_alloc_link_id
    - dl_list_init
    - os_free
    - hostapd_mld_ref_inc
    - os_strcmp
    - os_realloc_array
    linkageType: ''
    returnType: void
    signature: "void hostapd_bss_setup_multi_link(struct hostapd_data *hapd,\n\t\t\t\t
      \ struct hapd_interfaces *interfaces)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: struct hapd_interfaces*::mld_ctrl_iface_deinit
      Src: /src/hostap/src/ap/hostapd.c:3298,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:3300,1
    - Dst: os_free
      Src: /src/hostap/src/ap/hostapd.c:3302,1
    - Dst: os_free
      Src: /src/hostap/src/ap/hostapd.c:3309,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/hostapd.c:3314,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:3316,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:3331,1
    - Dst: os_free
      Src: /src/hostap/src/ap/hostapd.c:3333,1
    - Dst: os_free
      Src: /src/hostap/src/ap/hostapd.c:3337,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 1
    argNames:
    - interfaces
    argTypes:
    - struct hapd_interfaces*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3341
      start: 3264
    functionDepth: 0
    functionLinenumber: 3264
    functionLinenumberEnd: 3341
    functionName: hostapd_cleanup_unused_mlds
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 1
    functionsReached:
    - os_free
    - struct hapd_interfaces*::mld_ctrl_iface_deinit
    - wpa_printf
    - os_zalloc
    linkageType: ''
    returnType: void
    signature: void hostapd_cleanup_unused_mlds(struct hapd_interfaces *interfaces)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_alloc_iface
      Src: /src/hostap/src/ap/hostapd.c:3361,1
    - Dst: os_strdup
      Src: /src/hostap/src/ap/hostapd.c:3365,1
    - Dst: struct hapd_interfaces*::config_read_cb
      Src: /src/hostap/src/ap/hostapd.c:3369,1
    - Dst: os_calloc
      Src: /src/hostap/src/ap/hostapd.c:3375,1
    - Dst: hostapd_alloc_bss_data
      Src: /src/hostap/src/ap/hostapd.c:3382,1
    - Dst: hostapd_bss_setup_multi_link
      Src: /src/hostap/src/ap/hostapd.c:3387,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:3394,1
    - Dst: hostapd_config_free
      Src: /src/hostap/src/ap/hostapd.c:3397,1
    - Dst: os_free
      Src: /src/hostap/src/ap/hostapd.c:3399,1
    - Dst: os_free
      Src: /src/hostap/src/ap/hostapd.c:3400,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:3401,1
    - Dst: os_free
      Src: /src/hostap/src/ap/hostapd.c:3403,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 2
    argNames:
    - interfaces
    - config_file
    argTypes:
    - struct hapd_interfaces*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3406
      start: 3353
    functionDepth: 6
    functionLinenumber: 3353
    functionLinenumberEnd: 3406
    functionName: hostapd_init
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - os_calloc
    - hostapd_alloc_iface
    - struct hapd_interfaces*::config_read_cb
    - hostapd_alloc_bss_data
    - hostapd_config_free
    - hostapd_bss_setup_multi_link
    - os_free
    - os_strdup
    linkageType: ''
    returnType: struct hostapd_iface
    signature: "struct hostapd_iface * hostapd_init(struct hapd_interfaces *interfaces,\n\t\t\t\t
      \   const char *config_file)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/src/ap/hostapd.c:3417,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - interfaces
    - ifname
    argTypes:
    - struct hapd_interfaces*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3423
      start: 3409
    functionDepth: 0
    functionLinenumber: 3409
    functionLinenumberEnd: 3423
    functionName: ifname_in_use
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 0
    functionsReached:
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: int ifname_in_use(struct hapd_interfaces *interfaces, const char *ifname)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/src/ap/hostapd.c:3451,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:3457,1
    - Dst: struct hapd_interfaces*::config_read_cb
      Src: /src/hostap/src/ap/hostapd.c:3460,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:3480,1
    - Dst: hostapd_config_free
      Src: /src/hostap/src/ap/hostapd.c:3481,1
    - Dst: ifname_in_use
      Src: /src/hostap/src/ap/hostapd.c:3486,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:3487,1
    - Dst: hostapd_config_free
      Src: /src/hostap/src/ap/hostapd.c:3489,1
    - Dst: os_realloc_array
      Src: /src/hostap/src/ap/hostapd.c:3493,1
    - Dst: os_realloc_array
      Src: /src/hostap/src/ap/hostapd.c:3496,1
    - Dst: hostapd_config_free
      Src: /src/hostap/src/ap/hostapd.c:3505,1
    - Dst: hostapd_alloc_bss_data
      Src: /src/hostap/src/ap/hostapd.c:3511,1
    - Dst: hostapd_config_free
      Src: /src/hostap/src/ap/hostapd.c:3514,1
    - Dst: hostapd_bss_setup_multi_link
      Src: /src/hostap/src/ap/hostapd.c:3520,1
    - Dst: hostapd_config_free
      Src: /src/hostap/src/ap/hostapd.c:3526,1
    - Dst: hostapd_config_free
      Src: /src/hostap/src/ap/hostapd.c:3528,1
    - Dst: hostapd_init
      Src: /src/hostap/src/ap/hostapd.c:3531,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/ap/hostapd.c:3534,1
    - Dst: hostapd_drv_none
      Src: /src/hostap/src/ap/hostapd.c:3545,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:3546,1
    - Dst: hostapd_interface_deinit_free
      Src: /src/hostap/src/ap/hostapd.c:3549,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 75
    argCount: 4
    argNames:
    - interfaces
    - phy
    - config_fname
    - debug
    argTypes:
    - struct hapd_interfaces*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3554
      start: 3437
    functionDepth: 7
    functionLinenumber: 3437
    functionLinenumberEnd: 3554
    functionName: hostapd_interface_init_bss
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - ifname_in_use
    - hostapd_drv_none
    - hostapd_interface_deinit_free
    - struct hapd_interfaces*::config_read_cb
    - hostapd_alloc_bss_data
    - hostapd_init
    - os_strlcpy
    - hostapd_config_free
    - hostapd_bss_setup_multi_link
    - os_strcmp
    - os_realloc_array
    linkageType: ''
    returnType: struct hostapd_iface
    signature: "struct hostapd_iface *\nhostapd_interface_init_bss(struct hapd_interfaces
      *interfaces, const char *phy,\n\t\t\t   const char *config_fname, int debug)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_driver_ops*::is_drv_shared
      Src: /src/hostap/src/ap/hostapd.c:3565,1
    - Dst: struct wpa_driver_ops*::hapd_deinit
      Src: /src/hostap/src/ap/hostapd.c:3566,1
    - Dst: hostapd_mld_interface_freed
      Src: /src/hostap/src/ap/hostapd.c:3567,1
    - Dst: hostapd_if_link_remove
      Src: /src/hostap/src/ap/hostapd.c:3573,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:3577,1
    - Dst: hostapd_if_remove
      Src: /src/hostap/src/ap/hostapd.c:3580,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:3582,1
    - Dst: struct wpa_driver_ops*::hapd_deinit
      Src: /src/hostap/src/ap/hostapd.c:3586,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 3
    argNames:
    - driver
    - drv_priv
    - iface
    argTypes:
    - struct wpa_driver_ops*
    - void*
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3589
      start: 3557
    functionDepth: 2
    functionLinenumber: 3557
    functionLinenumberEnd: 3589
    functionName: hostapd_cleanup_driver
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - struct wpa_driver_ops*::hapd_deinit
    - hostapd_if_remove
    - hostapd_mld_interface_freed
    - struct wpa_driver_ops*::is_drv_shared
    - hostapd_if_link_remove
    linkageType: ''
    returnType: void
    signature: "void hostapd_cleanup_driver(const struct wpa_driver_ops *driver,\n\t\t\t\t
      \  void *drv_priv, struct hostapd_iface *iface)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:3597,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:3600,1
    - Dst: hostapd_interface_deinit
      Src: /src/hostap/src/ap/hostapd.c:3605,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:3606,1
    - Dst: hostapd_cleanup_driver
      Src: /src/hostap/src/ap/hostapd.c:3608,1
    - Dst: hostapd_interface_free
      Src: /src/hostap/src/ap/hostapd.c:3609,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3610
      start: 3592
    functionDepth: 17
    functionLinenumber: 3592
    functionLinenumberEnd: 3610
    functionName: hostapd_interface_deinit_free
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 4
    functionsReached:
    - hostapd_interface_free
    - wpa_printf
    - hostapd_interface_deinit
    - hostapd_cleanup_driver
    linkageType: ''
    returnType: void
    signature: void hostapd_interface_deinit_free(struct hostapd_iface *iface)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:3619,1
    - Dst: hostapd_cleanup_driver
      Src: /src/hostap/src/ap/hostapd.c:3622,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:3626,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - driver
    - drv_priv
    - hapd_iface
    argTypes:
    - struct wpa_driver_ops*
    - void*
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3637
      start: 3613
    functionDepth: 3
    functionLinenumber: 3613
    functionLinenumberEnd: 3637
    functionName: hostapd_deinit_driver
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hostapd_cleanup_driver
    linkageType: ''
    returnType: void
    signature: "void hostapd_deinit_driver(const struct wpa_driver_ops *driver,\n\t\t\t\t
      \ void *drv_priv,\n\t\t\t\t  struct hostapd_iface *hapd_iface)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_11_update_beacons
      Src: /src/hostap/src/ap/hostapd.c:3651,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - hapd_iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3653
      start: 3640
    functionDepth: 11
    functionLinenumber: 3640
    functionLinenumberEnd: 3653
    functionName: hostapd_refresh_all_iface_beacons
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 1
    functionsReached:
    - ieee802_11_update_beacons
    linkageType: ''
    returnType: void
    signature: void hostapd_refresh_all_iface_beacons(struct hostapd_iface *hapd_iface)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_iface*::enable_iface_cb
      Src: /src/hostap/src/ap/hostapd.c:3664,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:3667,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:3672,1
    - Dst: hostapd_set_security_params
      Src: /src/hostap/src/ap/hostapd.c:3676,1
    - Dst: hostapd_config_check
      Src: /src/hostap/src/ap/hostapd.c:3677,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:3678,1
    - Dst: struct hostapd_iface*::interfaces::driver_init
      Src: /src/hostap/src/ap/hostapd.c:3684,1
    - Dst: hostapd_deinit_driver
      Src: /src/hostap/src/ap/hostapd.c:3685,1
    - Dst: hostapd_setup_interface
      Src: /src/hostap/src/ap/hostapd.c:3691,1
    - Dst: hostapd_deinit_driver
      Src: /src/hostap/src/ap/hostapd.c:3692,1
    - Dst: hostapd_refresh_all_iface_beacons
      Src: /src/hostap/src/ap/hostapd.c:3698,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 1
    argNames:
    - hapd_iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3701
      start: 3656
    functionDepth: 12
    functionLinenumber: 3656
    functionLinenumberEnd: 3701
    functionName: hostapd_enable_iface
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 8
    functionsReached:
    - hostapd_refresh_all_iface_beacons
    - wpa_printf
    - struct hostapd_iface*::enable_iface_cb
    - hostapd_set_security_params
    - hostapd_config_check
    - hostapd_deinit_driver
    - hostapd_setup_interface
    - struct hostapd_iface*::interfaces::driver_init
    linkageType: ''
    returnType: int
    signature: int hostapd_enable_iface(struct hostapd_iface *hapd_iface)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:3708,1
    - Dst: hostapd_set_security_params
      Src: /src/hostap/src/ap/hostapd.c:3711,1
    - Dst: hostapd_config_check
      Src: /src/hostap/src/ap/hostapd.c:3712,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:3713,1
    - Dst: hostapd_clear_old
      Src: /src/hostap/src/ap/hostapd.c:3716,1
    - Dst: hostapd_reload_bss
      Src: /src/hostap/src/ap/hostapd.c:3718,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - hapd_iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3721
      start: 3704
    functionDepth: 11
    functionLinenumber: 3704
    functionLinenumberEnd: 3721
    functionName: hostapd_reload_iface
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - hostapd_reload_bss
    - hostapd_set_security_params
    - hostapd_clear_old
    - hostapd_config_check
    linkageType: ''
    returnType: int
    signature: int hostapd_reload_iface(struct hostapd_iface *hapd_iface)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:3727,1
    - Dst: hostapd_set_security_params
      Src: /src/hostap/src/ap/hostapd.c:3728,1
    - Dst: hostapd_config_check
      Src: /src/hostap/src/ap/hostapd.c:3729,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:3730,1
    - Dst: hostapd_clear_old_bss
      Src: /src/hostap/src/ap/hostapd.c:3733,1
    - Dst: hostapd_reload_bss
      Src: /src/hostap/src/ap/hostapd.c:3734,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - bss
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3736
      start: 3724
    functionDepth: 11
    functionLinenumber: 3724
    functionLinenumberEnd: 3736
    functionName: hostapd_reload_bss_only
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - hostapd_reload_bss
    - hostapd_set_security_params
    - hostapd_clear_old_bss
    - hostapd_config_check
    linkageType: ''
    returnType: int
    signature: int hostapd_reload_bss_only(struct hostapd_data *bss)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_iface*::disable_iface_cb
      Src: /src/hostap/src/ap/hostapd.c:3747,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:3750,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/hostapd.c:3755,1
    - Dst: hostapd_cleanup_cs_params
      Src: /src/hostap/src/ap/hostapd.c:3763,1
    - Dst: hostapd_bss_deinit_no_free
      Src: /src/hostap/src/ap/hostapd.c:3769,1
    - Dst: hostapd_bss_link_deinit
      Src: /src/hostap/src/ap/hostapd.c:3770,1
    - Dst: hostapd_free_hapd_data
      Src: /src/hostap/src/ap/hostapd.c:3771,1
    - Dst: hostapd_deinit_driver
      Src: /src/hostap/src/ap/hostapd.c:3774,1
    - Dst: hostapd_cleanup_iface_partial
      Src: /src/hostap/src/ap/hostapd.c:3780,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:3782,1
    - Dst: hostapd_set_state
      Src: /src/hostap/src/ap/hostapd.c:3784,1
    - Dst: hostapd_refresh_all_iface_beacons
      Src: /src/hostap/src/ap/hostapd.c:3785,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - hapd_iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3787
      start: 3739
    functionDepth: 15
    functionLinenumber: 3739
    functionLinenumberEnd: 3787
    functionName: hostapd_disable_iface
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 8
    functionsReached:
    - hostapd_set_state
    - wpa_printf
    - hostapd_refresh_all_iface_beacons
    - hostapd_cleanup_cs_params
    - wpa_msg
    - hostapd_free_hapd_data
    - hostapd_bss_link_deinit
    - hostapd_cleanup_iface_partial
    - hostapd_bss_deinit_no_free
    - hostapd_deinit_driver
    - struct hostapd_iface*::disable_iface_cb
    linkageType: ''
    returnType: int
    signature: int hostapd_disable_iface(struct hostapd_iface *hapd_iface)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_realloc_array
      Src: /src/hostap/src/ap/hostapd.c:3795,1
    - Dst: hostapd_alloc_iface
      Src: /src/hostap/src/ap/hostapd.c:3801,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:3803,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - interfaces
    argTypes:
    - struct hapd_interfaces*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3811
      start: 3790
    functionDepth: 2
    functionLinenumber: 3790
    functionLinenumberEnd: 3811
    functionName: hostapd_iface_alloc
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hostapd_alloc_iface
    - os_realloc_array
    linkageType: ''
    returnType: struct hostapd_iface
    signature: 'struct hostapd_iface *

      hostapd_iface_alloc(struct hapd_interfaces *interfaces)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_config_defaults
      Src: /src/hostap/src/ap/hostapd.c:3822,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:3824,1
    - Dst: os_strcmp
      Src: /src/hostap/src/ap/hostapd.c:3833,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:3839,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:3846,1
    - Dst: hostapd_config_free
      Src: /src/hostap/src/ap/hostapd.c:3847,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/ap/hostapd.c:3854,1
    - Dst: os_strdup
      Src: /src/hostap/src/ap/hostapd.c:3855,1
    - Dst: hostapd_config_free
      Src: /src/hostap/src/ap/hostapd.c:3857,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 4
    argNames:
    - interfaces
    - ifname
    - ctrl_iface
    - driver
    argTypes:
    - struct hapd_interfaces*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3866
      start: 3814
    functionDepth: 6
    functionLinenumber: 3814
    functionLinenumberEnd: 3866
    functionName: hostapd_config_alloc
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 0
    functionsReached:
    - os_strdup
    - wpa_printf
    - os_strlcpy
    - hostapd_config_free
    - os_strcmp
    - hostapd_config_defaults
    linkageType: ''
    returnType: struct hostapd_config
    signature: "struct hostapd_config *\nhostapd_config_alloc(struct hapd_interfaces
      *interfaces, const char *ifname,\n\t\t     const char *ctrl_iface, const char
      *driver)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_calloc
      Src: /src/hostap/src/ap/hostapd.c:3875,1
    - Dst: hostapd_alloc_bss_data
      Src: /src/hostap/src/ap/hostapd.c:3882,1
    - Dst: os_free
      Src: /src/hostap/src/ap/hostapd.c:3886,1
    - Dst: os_free
      Src: /src/hostap/src/ap/hostapd.c:3889,1
    - Dst: hostapd_bss_setup_multi_link
      Src: /src/hostap/src/ap/hostapd.c:3894,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - hapd_iface
    - conf
    argTypes:
    - struct hostapd_iface*
    - struct hostapd_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3901
      start: 3869
    functionDepth: 2
    functionLinenumber: 3869
    functionLinenumberEnd: 3901
    functionName: hostapd_data_alloc
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 0
    functionsReached:
    - hostapd_alloc_bss_data
    - os_free
    - os_calloc
    - hostapd_bss_setup_multi_link
    linkageType: ''
    returnType: int
    signature: "int hostapd_data_alloc(struct hostapd_iface *hapd_iface,\n\t\t\t      struct
      hostapd_config *conf)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: os_strncmp
      Src: /src/hostap/src/ap/hostapd.c:3913,1
    - Dst: os_strchr
      Src: /src/hostap/src/ap/hostapd.c:3916,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/hostapd.c:3921,1
    - Dst: hostapd_interface_init_bss
      Src: /src/hostap/src/ap/hostapd.c:3924,1
    - Dst: os_realloc_array
      Src: /src/hostap/src/ap/hostapd.c:3934,1
    - Dst: hostapd_interface_deinit_free
      Src: /src/hostap/src/ap/hostapd.c:3938,1
    - Dst: struct hapd_interfaces*::driver_init
      Src: /src/hostap/src/ap/hostapd.c:3947,1
    - Dst: hostapd_deinit_driver
      Src: /src/hostap/src/ap/hostapd.c:3948,1
    - Dst: hostapd_setup_interface
      Src: /src/hostap/src/ap/hostapd.c:3955,1
    - Dst: hostapd_bss_link_deinit
      Src: /src/hostap/src/ap/hostapd.c:3957,1
    - Dst: hostapd_deinit_driver
      Src: /src/hostap/src/ap/hostapd.c:3958,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/hostapd.c:3969,1
    - Dst: start_ctrl_iface_bss
      Src: /src/hostap/src/ap/hostapd.c:3972,1
    - Dst: hostapd_setup_bss
      Src: /src/hostap/src/ap/hostapd.c:3974,1
    - Dst: hostapd_bss_link_deinit
      Src: /src/hostap/src/ap/hostapd.c:3975,1
    - Dst: hostapd_cleanup
      Src: /src/hostap/src/ap/hostapd.c:3976,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:3980,1
    - Dst: hostapd_config_free_bss
      Src: /src/hostap/src/ap/hostapd.c:3982,1
    - Dst: hostapd_mld_ref_dec
      Src: /src/hostap/src/ap/hostapd.c:3985,1
    - Dst: os_free
      Src: /src/hostap/src/ap/hostapd.c:3987,1
    - Dst: hostapd_owe_update_trans
      Src: /src/hostap/src/ap/hostapd.c:3991,1
    - Dst: os_strchr
      Src: /src/hostap/src/ap/hostapd.c:3995,1
    - Dst: os_strncmp
      Src: /src/hostap/src/ap/hostapd.c:4000,1
    - Dst: os_strcmp
      Src: /src/hostap/src/ap/hostapd.c:4010,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:4012,1
    - Dst: hostapd_iface_alloc
      Src: /src/hostap/src/ap/hostapd.c:4018,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:4020,1
    - Dst: struct hapd_interfaces*::config_read_cb
      Src: /src/hostap/src/ap/hostapd.c:4027,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/ap/hostapd.c:4029,1
    - Dst: os_strchr
      Src: /src/hostap/src/ap/hostapd.c:4032,1
    - Dst: hostapd_config_alloc
      Src: /src/hostap/src/ap/hostapd.c:4036,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:4040,1
    - Dst: hostapd_data_alloc
      Src: /src/hostap/src/ap/hostapd.c:4045,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:4046,1
    - Dst: start_ctrl_iface
      Src: /src/hostap/src/ap/hostapd.c:4052,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:4055,1
    - Dst: hostapd_config_free
      Src: /src/hostap/src/ap/hostapd.c:4062,1
    - Dst: struct hostapd_iface*::interfaces::ctrl_iface_deinit
      Src: /src/hostap/src/ap/hostapd.c:4071,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:4073,1
    - Dst: hostapd_bss_link_deinit
      Src: /src/hostap/src/ap/hostapd.c:4076,1
    - Dst: hostapd_cleanup
      Src: /src/hostap/src/ap/hostapd.c:4077,1
    - Dst: hostapd_mld_ref_dec
      Src: /src/hostap/src/ap/hostapd.c:4079,1
    - Dst: os_free
      Src: /src/hostap/src/ap/hostapd.c:4081,1
    - Dst: os_free
      Src: /src/hostap/src/ap/hostapd.c:4084,1
    - Dst: hostapd_cleanup_unused_mlds
      Src: /src/hostap/src/ap/hostapd.c:4090,1
    - Dst: hostapd_cleanup_iface
      Src: /src/hostap/src/ap/hostapd.c:4092,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 136
    argCount: 2
    argNames:
    - interfaces
    - buf
    argTypes:
    - struct hapd_interfaces*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4095
      start: 3904
    functionDepth: 18
    functionLinenumber: 3904
    functionLinenumberEnd: 4095
    functionName: hostapd_add_iface
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 1
    functionsReached:
    - os_strlcpy
    - hostapd_config_free
    - hostapd_cleanup_unused_mlds
    - hostapd_config_free_bss
    - hostapd_bss_link_deinit
    - struct hapd_interfaces*::driver_init
    - hostapd_iface_alloc
    - os_strlen
    - hostapd_cleanup
    - wpa_printf
    - struct hapd_interfaces*::config_read_cb
    - start_ctrl_iface
    - os_free
    - hostapd_deinit_driver
    - os_strcmp
    - hostapd_config_alloc
    - hostapd_setup_bss
    - hostapd_setup_interface
    - os_strchr
    - struct hostapd_iface*::interfaces::ctrl_iface_deinit
    - start_ctrl_iface_bss
    - os_memcpy
    - hostapd_interface_deinit_free
    - hostapd_mld_ref_dec
    - hostapd_interface_init_bss
    - os_strncmp
    - hostapd_data_alloc
    - hostapd_owe_update_trans
    - hostapd_cleanup_iface
    - os_realloc_array
    linkageType: ''
    returnType: int
    signature: int hostapd_add_iface(struct hapd_interfaces *interfaces, char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:4102,1
    - Dst: hostapd_bss_deinit
      Src: /src/hostap/src/ap/hostapd.c:4108,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:4109,1
    - Dst: hostapd_config_free_bss
      Src: /src/hostap/src/ap/hostapd.c:4111,1
    - Dst: hostapd_mld_ref_dec
      Src: /src/hostap/src/ap/hostapd.c:4114,1
    - Dst: os_free
      Src: /src/hostap/src/ap/hostapd.c:4116,1
    - Dst: hostapd_config_free_bss
      Src: /src/hostap/src/ap/hostapd.c:4123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - iface
    - idx
    argTypes:
    - struct hostapd_iface*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4132
      start: 4098
    functionDepth: 16
    functionLinenumber: 4098
    functionLinenumberEnd: 4132
    functionName: hostapd_remove_bss
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 0
    functionsReached:
    - hostapd_bss_deinit
    - wpa_printf
    - hostapd_mld_ref_dec
    - hostapd_config_free_bss
    - os_free
    linkageType: ''
    returnType: int
    signature: int hostapd_remove_bss(struct hostapd_iface *iface, unsigned int idx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/src/ap/hostapd.c:4144,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:4145,1
    - Dst: hostapd_remove_hapd_iface
      Src: /src/hostap/src/ap/hostapd.c:4146,1
    - Dst: os_strcmp
      Src: /src/hostap/src/ap/hostapd.c:4150,1
    - Dst: hostapd_remove_bss
      Src: /src/hostap/src/ap/hostapd.c:4154,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - interfaces
    - buf
    argTypes:
    - struct hapd_interfaces*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4159
      start: 4135
    functionDepth: 17
    functionLinenumber: 4135
    functionLinenumberEnd: 4159
    functionName: hostapd_remove_iface
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 1
    functionsReached:
    - hostapd_remove_hapd_iface
    - wpa_printf
    - os_strcmp
    - hostapd_remove_bss
    linkageType: ''
    returnType: int
    signature: int hostapd_remove_iface(struct hapd_interfaces *interfaces, char *buf)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_drv_sta_deauth
      Src: /src/hostap/src/ap/hostapd.c:4177,1
    - Dst: ap_sta_is_mld
      Src: /src/hostap/src/ap/hostapd.c:4183,1
    - Dst: ap_sta_clear_disconnect_timeouts
      Src: /src/hostap/src/ap/hostapd.c:4188,1
    - Dst: ap_sta_clear_assoc_timeout
      Src: /src/hostap/src/ap/hostapd.c:4189,1
    - Dst: ap_sta_is_mld
      Src: /src/hostap/src/ap/hostapd.c:4192,1
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/hostapd.c:4199,1
    - Dst: ap_sta_clear_assoc_timeout
      Src: /src/hostap/src/ap/hostapd.c:4201,1
    - Dst: hostapd_p2p_non_p2p_sta_connected
      Src: /src/hostap/src/ap/hostapd.c:4213,1
    - Dst: airtime_policy_new_sta
      Src: /src/hostap/src/ap/hostapd.c:4217,1
    - Dst: ap_sta_set_authorized
      Src: /src/hostap/src/ap/hostapd.c:4223,1
    - Dst: hostapd_set_sta_flags
      Src: /src/hostap/src/ap/hostapd.c:4228,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/ap/hostapd.c:4230,1
    - Dst: accounting_sta_start
      Src: /src/hostap/src/ap/hostapd.c:4231,1
    - Dst: ieee802_1x_new_station
      Src: /src/hostap/src/ap/hostapd.c:4235,1
    - Dst: ap_sta_is_epp
      Src: /src/hostap/src/ap/hostapd.c:4238,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:4246,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:4262,1
    - Dst: wpa_store_eppke_pmk_ptk_sm
      Src: /src/hostap/src/ap/hostapd.c:4267,1
    - Dst: wpa_auth_set_ptk_rekey_timer
      Src: /src/hostap/src/ap/hostapd.c:4269,1
    - Dst: wpa_auth_sm_event
      Src: /src/hostap/src/ap/hostapd.c:4279,1
    - Dst: wpa_auth_sta_associated
      Src: /src/hostap/src/ap/hostapd.c:4284,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/hostapd.c:4288,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:4289,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/hostapd.c:4293,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:4297,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/hostapd.c:4300,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/hostapd.c:4302,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/hostapd.c:4303,1
    - Dst: ieee802_1x_create_preshared_mka_hapd
      Src: /src/hostap/src/ap/hostapd.c:4310,1
    - Dst: ieee802_1x_alloc_kay_sm_hapd
      Src: /src/hostap/src/ap/hostapd.c:4312,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 76
    argCount: 3
    argNames:
    - hapd
    - sta
    - reassoc
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4314
      start: 4173
    functionDepth: 4
    functionLinenumber: 4173
    functionLinenumberEnd: 4314
    functionName: hostapd_new_assoc_sta
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 3
    functionsReached:
    - accounting_sta_start
    - ap_sta_is_mld
    - ap_sta_is_epp
    - hostapd_drv_sta_deauth
    - hostapd_set_sta_flags
    - ap_get_sta
    - wpa_printf
    - wpa_auth_sm_event
    - hostapd_p2p_non_p2p_sta_connected
    - os_get_reltime
    - ieee802_1x_new_station
    - wpa_auth_sta_associated
    - ap_sta_clear_assoc_timeout
    - airtime_policy_new_sta
    - ieee802_1x_alloc_kay_sm_hapd
    - ap_sta_clear_disconnect_timeouts
    - eloop_cancel_timeout
    - wpa_store_eppke_pmk_ptk_sm
    - MAC2STR
    - ap_sta_set_authorized
    - wpa_auth_set_ptk_rekey_timer
    - eloop_register_timeout
    - ieee802_1x_create_preshared_mka_hapd
    linkageType: ''
    returnType: void
    signature: "void hostapd_new_assoc_sta(struct hostapd_data *hapd, struct sta_info
      *sta,\n\t\t\t   int reassoc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/hostapd.c:4199,1
    - Dst: ap_sta_clear_assoc_timeout
      Src: /src/hostap/src/ap/hostapd.c:4201,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4202
      start: 4196
    functionDepth: 2
    functionLinenumber: 4196
    functionLinenumberEnd: 4202
    functionName: for_each_mld_link
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 2
    functionsReached:
    - ap_sta_clear_assoc_timeout
    - ap_get_sta
    linkageType: ''
    returnType: void
    signature: void for_each_mld_link(bss, hapd)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - s
    argTypes:
    - enum hostapd_iface_state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4339
      start: 4317
    functionDepth: 0
    functionLinenumber: 4317
    functionLinenumberEnd: 4339
    functionName: hostapd_state_text
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * hostapd_state_text(enum hostapd_iface_state s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:4344,1
    - Dst: hostapd_state_text
      Src: /src/hostap/src/ap/hostapd.c:4346,1
    - Dst: hostapd_state_text
      Src: /src/hostap/src/ap/hostapd.c:4346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - iface
    - s
    argTypes:
    - struct hostapd_iface*
    - enum hostapd_iface_state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4348
      start: 4342
    functionDepth: 1
    functionLinenumber: 4342
    functionLinenumberEnd: 4348
    functionName: hostapd_set_state
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 11
    functionsReached:
    - wpa_printf
    - hostapd_state_text
    linkageType: ''
    returnType: void
    signature: void hostapd_set_state(struct hostapd_iface *iface, enum hostapd_iface_state
      s)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4359
      start: 4351
    functionDepth: 0
    functionLinenumber: 4351
    functionLinenumberEnd: 4359
    functionName: hostapd_csa_in_progress
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int hostapd_csa_in_progress(struct hostapd_iface *iface)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/ap/hostapd.c:4366,1
    - Dst: os_free
      Src: /src/hostap/src/ap/hostapd.c:4368,1
    - Dst: os_free
      Src: /src/hostap/src/ap/hostapd.c:4370,1
    - Dst: os_free
      Src: /src/hostap/src/ap/hostapd.c:4372,1
    - Dst: os_free
      Src: /src/hostap/src/ap/hostapd.c:4374,1
    - Dst: os_free
      Src: /src/hostap/src/ap/hostapd.c:4376,1
    - Dst: os_free
      Src: /src/hostap/src/ap/hostapd.c:4378,1
    - Dst: os_free
      Src: /src/hostap/src/ap/hostapd.c:4380,1
    - Dst: os_free
      Src: /src/hostap/src/ap/hostapd.c:4382,1
    - Dst: os_free
      Src: /src/hostap/src/ap/hostapd.c:4384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 1
    argNames:
    - beacon
    argTypes:
    - struct beacon_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4386
      start: 4364
    functionDepth: 0
    functionLinenumber: 4364
    functionLinenumberEnd: 4386
    functionName: free_beacon_data
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 2
    functionsReached:
    - os_free
    linkageType: ''
    returnType: void
    signature: void free_beacon_data(struct beacon_data *beacon)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/ap/hostapd.c:4400,1
    - Dst: ieee802_11_build_ap_params
      Src: /src/hostap/src/ap/hostapd.c:4401,1
    - Dst: hostapd_build_ap_extra_ies
      Src: /src/hostap/src/ap/hostapd.c:4405,1
    - Dst: os_memdup
      Src: /src/hostap/src/ap/hostapd.c:4412,1
    - Dst: os_memdup
      Src: /src/hostap/src/ap/hostapd.c:4418,1
    - Dst: os_memdup
      Src: /src/hostap/src/ap/hostapd.c:4425,1
    - Dst: os_memdup
      Src: /src/hostap/src/ap/hostapd.c:4435,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/hostapd.c:4436,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/hostapd.c:4440,1
    - Dst: os_memdup
      Src: /src/hostap/src/ap/hostapd.c:4444,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/hostapd.c:4445,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/hostapd.c:4449,1
    - Dst: os_memdup
      Src: /src/hostap/src/ap/hostapd.c:4453,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/hostapd.c:4454,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/hostapd.c:4458,1
    - Dst: hostapd_mbssid_get_tx_bss
      Src: /src/hostap/src/ap/hostapd.c:4465,1
    - Dst: os_memdup
      Src: /src/hostap/src/ap/hostapd.c:4475,1
    - Dst: os_calloc
      Src: /src/hostap/src/ap/hostapd.c:4484,1
    - Dst: os_memdup
      Src: /src/hostap/src/ap/hostapd.c:4505,1
    - Dst: os_calloc
      Src: /src/hostap/src/ap/hostapd.c:4515,1
    - Dst: free_beacon_data
      Src: /src/hostap/src/ap/hostapd.c:4535,1
    - Dst: hostapd_free_ap_extra_ies
      Src: /src/hostap/src/ap/hostapd.c:4538,1
    - Dst: ieee802_11_free_ap_params
      Src: /src/hostap/src/ap/hostapd.c:4541,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 115
    argCount: 2
    argNames:
    - hapd
    - beacon
    argTypes:
    - struct hostapd_data*
    - struct beacon_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4543
      start: 4389
    functionDepth: 8
    functionLinenumber: 4389
    functionLinenumberEnd: 4543
    functionName: hostapd_build_beacon_data
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 1
    functionsReached:
    - hostapd_mbssid_get_tx_bss
    - hostapd_free_ap_extra_ies
    - os_calloc
    - wpabuf_len
    - os_memdup
    - ieee802_11_free_ap_params
    - free_beacon_data
    - ieee802_11_build_ap_params
    - hostapd_build_ap_extra_ies
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int hostapd_build_beacon_data(struct hostapd_data *hapd,\n\t\t\t      struct
      beacon_data *beacon)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_hw_get_channel
      Src: /src/hostap/src/ap/hostapd.c:4561,1
    - Dst: hostapd_determine_mode
      Src: /src/hostap/src/ap/hostapd.c:4568,1
    - Dst: hostapd_hw_get_freq
      Src: /src/hostap/src/ap/hostapd.c:4575,1
    - Dst: hostapd_get_oper_chwidth
      Src: /src/hostap/src/ap/hostapd.c:4584,1
    - Dst: hostapd_get_oper_centr_freq_seg0_idx
      Src: /src/hostap/src/ap/hostapd.c:4586,1
    - Dst: hostapd_get_oper_centr_freq_seg1_idx
      Src: /src/hostap/src/ap/hostapd.c:4588,1
    - Dst: hostapd_get_punct_bitmap
      Src: /src/hostap/src/ap/hostapd.c:4594,1
    - Dst: hostapd_set_freq_params
      Src: /src/hostap/src/ap/hostapd.c:4597,1
    - Dst: hostapd_set_oper_chwidth
      Src: /src/hostap/src/ap/hostapd.c:4620,1
    - Dst: hostapd_set_oper_chwidth
      Src: /src/hostap/src/ap/hostapd.c:4624,1
    - Dst: hostapd_set_oper_chwidth
      Src: /src/hostap/src/ap/hostapd.c:4627,1
    - Dst: hostapd_set_oper_chwidth
      Src: /src/hostap/src/ap/hostapd.c:4631,1
    - Dst: hostapd_set_oper_chwidth
      Src: /src/hostap/src/ap/hostapd.c:4634,1
    - Dst: ieee80211_freq_to_chan
      Src: /src/hostap/src/ap/hostapd.c:4645,1
    - Dst: ieee80211_freq_to_chan
      Src: /src/hostap/src/ap/hostapd.c:4649,1
    - Dst: ieee80211_freq_to_channel_ext
      Src: /src/hostap/src/ap/hostapd.c:4652,1
    - Dst: hostapd_get_oper_chwidth
      Src: /src/hostap/src/ap/hostapd.c:4654,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:4659,1
    - Dst: hostapd_set_oper_centr_freq_seg0_idx
      Src: /src/hostap/src/ap/hostapd.c:4663,1
    - Dst: hostapd_set_oper_centr_freq_seg1_idx
      Src: /src/hostap/src/ap/hostapd.c:4664,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 63
    argCount: 4
    argNames:
    - hapd
    - conf
    - params
    - old_params
    argTypes:
    - struct hostapd_data*
    - struct hostapd_config*
    - struct hostapd_freq_params*
    - struct hostapd_freq_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4673
      start: 4551
    functionDepth: 2
    functionLinenumber: 4551
    functionLinenumberEnd: 4673
    functionName: hostapd_change_config_freq
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 1
    functionsReached:
    - hostapd_hw_get_channel
    - hostapd_get_oper_centr_freq_seg1_idx
    - hostapd_set_oper_chwidth
    - wpa_printf
    - hostapd_get_punct_bitmap
    - hostapd_get_oper_centr_freq_seg0_idx
    - hostapd_set_freq_params
    - hostapd_determine_mode
    - ieee80211_freq_to_channel_ext
    - hostapd_set_oper_centr_freq_seg0_idx
    - hostapd_set_oper_centr_freq_seg1_idx
    - ieee80211_freq_to_chan
    - hostapd_hw_get_freq
    - hostapd_get_oper_chwidth
    linkageType: ''
    returnType: int
    signature: "int hostapd_change_config_freq(struct hostapd_data *hapd,\n\t\t\t
      \      struct hostapd_config *conf,\n\t\t\t       struct hostapd_freq_params
      *params,\n\t\t\t       struct hostapd_freq_params *old_params)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - freq_params
    argTypes:
    - struct hostapd_freq_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4692
      start: 4676
    functionDepth: 0
    functionLinenumber: 4676
    functionLinenumberEnd: 4692
    functionName: hostapd_chan_width_from_freq_params
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: enum oper_chan_width
    signature: enum oper_chan_width hostapd_chan_width_from_freq_params(struct hostapd_freq_params
      *freq_params)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/ap/hostapd.c:4705,1
    - Dst: hostapd_chan_width_from_freq_params
      Src: /src/hostap/src/ap/hostapd.c:4709,1
    - Dst: ieee80211_freq_to_chan
      Src: /src/hostap/src/ap/hostapd.c:4720,1
    - Dst: ieee80211_freq_to_chan
      Src: /src/hostap/src/ap/hostapd.c:4722,1
    - Dst: ieee80211_freq_to_chan
      Src: /src/hostap/src/ap/hostapd.c:4724,1
    - Dst: punct_update_legacy_bw
      Src: /src/hostap/src/ap/hostapd.c:4727,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:4755,1
    - Dst: ieee80211_freq_to_channel_ext
      Src: /src/hostap/src/ap/hostapd.c:4762,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:4768,1
    - Dst: hostapd_change_config_freq
      Src: /src/hostap/src/ap/hostapd.c:4780,1
    - Dst: hostapd_build_beacon_data
      Src: /src/hostap/src/ap/hostapd.c:4786,1
    - Dst: hostapd_change_config_freq
      Src: /src/hostap/src/ap/hostapd.c:4789,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:4791,1
    - Dst: hostapd_build_beacon_data
      Src: /src/hostap/src/ap/hostapd.c:4802,1
    - Dst: free_beacon_data
      Src: /src/hostap/src/ap/hostapd.c:4804,1
    - Dst: hostapd_unsol_bcast_probe_resp
      Src: /src/hostap/src/ap/hostapd.c:4820,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 55
    argCount: 2
    argNames:
    - hapd
    - settings
    argTypes:
    - struct hostapd_data*
    - struct csa_settings*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4824
      start: 4695
    functionDepth: 9
    functionLinenumber: 4695
    functionLinenumberEnd: 4824
    functionName: hostapd_fill_csa_settings
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hostapd_build_beacon_data
    - hostapd_chan_width_from_freq_params
    - hostapd_change_config_freq
    - free_beacon_data
    - ieee80211_freq_to_channel_ext
    - hostapd_unsol_bcast_probe_resp
    - punct_update_legacy_bw
    - ieee80211_freq_to_chan
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int hostapd_fill_csa_settings(struct hostapd_data *hapd,\n\t\t\t\t
      \    struct csa_settings *settings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/ap/hostapd.c:4829,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4837
      start: 4827
    functionDepth: 0
    functionLinenumber: 4827
    functionLinenumberEnd: 4837
    functionName: hostapd_cleanup_cs_params
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 3
    functionsReached:
    - os_memset
    linkageType: ''
    returnType: void
    signature: void hostapd_cleanup_cs_params(struct hostapd_data *hapd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/hostapd.c:4858,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - hapd
    - freq_params
    argTypes:
    - struct hostapd_data*
    - struct hostapd_freq_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4864
      start: 4840
    functionDepth: 0
    functionLinenumber: 4840
    functionLinenumberEnd: 4864
    functionName: hostapd_chan_switch_config
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 2
    functionsReached:
    - hostapd_logger
    linkageType: ''
    returnType: void
    signature: "void hostapd_chan_switch_config(struct hostapd_data *hapd,\n\t\t\t\tstruct
      hostapd_freq_params *freq_params)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:4873,1
    - Dst: hostapd_fill_csa_settings
      Src: /src/hostap/src/ap/hostapd.c:4877,1
    - Dst: hostapd_drv_switch_channel
      Src: /src/hostap/src/ap/hostapd.c:4881,1
    - Dst: free_beacon_data
      Src: /src/hostap/src/ap/hostapd.c:4882,1
    - Dst: free_beacon_data
      Src: /src/hostap/src/ap/hostapd.c:4883,1
    - Dst: os_free
      Src: /src/hostap/src/ap/hostapd.c:4885,1
    - Dst: hostapd_cleanup_cs_params
      Src: /src/hostap/src/ap/hostapd.c:4890,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - hapd
    - settings
    argTypes:
    - struct hostapd_data*
    - struct csa_settings*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4896
      start: 4867
    functionDepth: 10
    functionLinenumber: 4867
    functionLinenumberEnd: 4896
    functionName: hostapd_switch_channel
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 3
    functionsReached:
    - wpa_printf
    - hostapd_cleanup_cs_params
    - hostapd_fill_csa_settings
    - free_beacon_data
    - hostapd_drv_switch_channel
    - os_free
    linkageType: ''
    returnType: int
    signature: "int hostapd_switch_channel(struct hostapd_data *hapd,\n\t\t\t   struct
      csa_settings *settings)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_hw_get_channel
      Src: /src/hostap/src/ap/hostapd.c:4906,1
    - Dst: hostapd_disable_iface
      Src: /src/hostap/src/ap/hostapd.c:4912,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:4914,1
    - Dst: hostapd_chan_switch_config
      Src: /src/hostap/src/ap/hostapd.c:4918,1
    - Dst: hostapd_change_config_freq
      Src: /src/hostap/src/ap/hostapd.c:4919,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:4922,1
    - Dst: hostapd_enable_iface
      Src: /src/hostap/src/ap/hostapd.c:4927,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:4929,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - iface
    - settings
    argTypes:
    - struct hostapd_iface*
    - struct csa_settings*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4932
      start: 4899
    functionDepth: 16
    functionLinenumber: 4899
    functionLinenumberEnd: 4932
    functionName: hostapd_force_channel_switch
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 1
    functionsReached:
    - hostapd_hw_get_channel
    - wpa_printf
    - hostapd_enable_iface
    - hostapd_disable_iface
    - hostapd_change_config_freq
    - hostapd_chan_switch_config
    linkageType: ''
    returnType: int
    signature: "int hostapd_force_channel_switch(struct hostapd_iface *iface,\n\t\t\t\t
      struct csa_settings *settings)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:4943,1
    - Dst: ieee80211_freq_to_chan
      Src: /src/hostap/src/ap/hostapd.c:4946,1
    - Dst: ieee80211_freq_to_chan
      Src: /src/hostap/src/ap/hostapd.c:4948,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:4973,1
    - Dst: ieee80211_freq_to_channel_ext
      Src: /src/hostap/src/ap/hostapd.c:4981,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:4986,1
    - Dst: hostapd_set_oper_centr_freq_seg0_idx
      Src: /src/hostap/src/ap/hostapd.c:4990,1
    - Dst: hostapd_set_oper_centr_freq_seg1_idx
      Src: /src/hostap/src/ap/hostapd.c:4991,1
    - Dst: hostapd_set_oper_chwidth
      Src: /src/hostap/src/ap/hostapd.c:4992,1
    - Dst: hostapd_disable_iface
      Src: /src/hostap/src/ap/hostapd.c:5003,1
    - Dst: hostapd_enable_iface
      Src: /src/hostap/src/ap/hostapd.c:5004,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 2
    argNames:
    - iface
    - freq_params
    argTypes:
    - struct hostapd_iface*
    - struct hostapd_freq_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5005
      start: 4935
    functionDepth: 16
    functionLinenumber: 4935
    functionLinenumberEnd: 5005
    functionName: hostapd_switch_channel_fallback
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - hostapd_set_oper_chwidth
    - hostapd_enable_iface
    - hostapd_disable_iface
    - hostapd_set_oper_centr_freq_seg0_idx
    - ieee80211_freq_to_channel_ext
    - hostapd_set_oper_centr_freq_seg1_idx
    - ieee80211_freq_to_chan
    linkageType: ''
    returnType: void
    signature: "void hostapd_switch_channel_fallback(struct hostapd_iface *iface,\n\t\t\t\tconst
      struct hostapd_freq_params *freq_params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5017
      start: 5010
    functionDepth: 0
    functionLinenumber: 5010
    functionLinenumberEnd: 5017
    functionName: hostapd_cleanup_cca_params
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void hostapd_cleanup_cca_params(struct hostapd_data *hapd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_build_beacon_data
      Src: /src/hostap/src/ap/hostapd.c:5042,1
    - Dst: hostapd_build_beacon_data
      Src: /src/hostap/src/ap/hostapd.c:5053,1
    - Dst: free_beacon_data
      Src: /src/hostap/src/ap/hostapd.c:5055,1
    - Dst: hostapd_unsol_bcast_probe_resp
      Src: /src/hostap/src/ap/hostapd.c:5060,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - hapd
    - settings
    argTypes:
    - struct hostapd_data*
    - struct cca_settings*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5066
      start: 5020
    functionDepth: 9
    functionLinenumber: 5020
    functionLinenumberEnd: 5066
    functionName: hostapd_fill_cca_settings
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 1
    functionsReached:
    - hostapd_build_beacon_data
    - hostapd_unsol_bcast_probe_resp
    - free_beacon_data
    linkageType: ''
    returnType: int
    signature: "int hostapd_fill_cca_settings(struct hostapd_data *hapd,\n\t\t\t      struct
      cca_settings *settings)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_random
      Src: /src/hostap/src/ap/hostapd.c:5092,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:5102,1
    - Dst: os_random
      Src: /src/hostap/src/ap/hostapd.c:5105,1
    - Dst: ieee802_11_set_beacon
      Src: /src/hostap/src/ap/hostapd.c:5107,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/hostapd.c:5116,1
    - Dst: hostapd_cleanup_cca_params
      Src: /src/hostap/src/ap/hostapd.c:5117,1
    - Dst: hostapd_fill_cca_settings
      Src: /src/hostap/src/ap/hostapd.c:5121,1
    - Dst: hostapd_cleanup_cca_params
      Src: /src/hostap/src/ap/hostapd.c:5122,1
    - Dst: hostapd_drv_switch_color
      Src: /src/hostap/src/ap/hostapd.c:5126,1
    - Dst: hostapd_cleanup_cca_params
      Src: /src/hostap/src/ap/hostapd.c:5128,1
    - Dst: free_beacon_data
      Src: /src/hostap/src/ap/hostapd.c:5130,1
    - Dst: free_beacon_data
      Src: /src/hostap/src/ap/hostapd.c:5131,1
    - Dst: os_free
      Src: /src/hostap/src/ap/hostapd.c:5132,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 2
    argNames:
    - eloop_data
    - user_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5134
      start: 5069
    functionDepth: 10
    functionLinenumber: 5069
    functionLinenumberEnd: 5134
    functionName: hostapd_switch_color_timeout_handler
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hostapd_drv_switch_color
    - os_random
    - hostapd_cleanup_cca_params
    - free_beacon_data
    - ieee802_11_set_beacon
    - os_free
    - hostapd_fill_cca_settings
    - os_memset
    linkageType: ''
    returnType: void
    signature: void hostapd_switch_color_timeout_handler(void *eloop_data, void *user_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5147
      start: 5137
    functionDepth: 0
    functionLinenumber: 5137
    functionLinenumberEnd: 5147
    functionName: hostapd_is_cca_in_progress
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hostapd_is_cca_in_progress(struct hostapd_iface *iface)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_is_cca_in_progress
      Src: /src/hostap/src/ap/hostapd.c:5154,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/ap/hostapd.c:5157,1
    - Dst: eloop_is_timeout_registered
      Src: /src/hostap/src/ap/hostapd.c:5163,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/hostapd.c:5169,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - hapd
    - bitmap
    argTypes:
    - struct hostapd_data*
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5172
      start: 5150
    functionDepth: 1
    functionLinenumber: 5150
    functionLinenumberEnd: 5172
    functionName: hostapd_switch_color
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 2
    functionsReached:
    - os_get_reltime
    - hostapd_is_cca_in_progress
    - eloop_is_timeout_registered
    - eloop_register_timeout
    linkageType: ''
    returnType: void
    signature: void hostapd_switch_color(struct hostapd_data *hapd, u64 bitmap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/src/ap/hostapd.c:5190,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - interfaces
    - ifname
    argTypes:
    - struct hapd_interfaces*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5196
      start: 5179
    functionDepth: 0
    functionLinenumber: 5179
    functionLinenumberEnd: 5196
    functionName: hostapd_get_iface
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 3
    functionsReached:
    - os_strcmp
    linkageType: ''
    returnType: struct hostapd_data
    signature: "struct hostapd_data * hostapd_get_iface(struct hapd_interfaces *interfaces,\n\t\t\t\t\tconst
      char *ifname)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_list_timer
      Src: /src/hostap/src/ap/hostapd.c:5203,1
    - Dst: hostapd_acl_expire
      Src: /src/hostap/src/ap/hostapd.c:5212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5215
      start: 5199
    functionDepth: 4
    functionLinenumber: 5199
    functionLinenumberEnd: 5215
    functionName: hostapd_periodic_iface
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 2
    functionsReached:
    - ap_list_timer
    - hostapd_acl_expire
    linkageType: ''
    returnType: void
    signature: void hostapd_periodic_iface(struct hostapd_iface *iface)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:5224,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:5230,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/hostapd.c:5232,1
    - Dst: ap_sta_disconnect
      Src: /src/hostap/src/ap/hostapd.c:5233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5236
      start: 5219
    functionDepth: 8
    functionLinenumber: 5219
    functionLinenumberEnd: 5236
    functionName: hostapd_ocv_check_csa_sa_query
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    - ap_sta_disconnect
    linkageType: ''
    returnType: void
    signature: void hostapd_ocv_check_csa_sa_query(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_is_ml_partner
      Src: /src/hostap/src/ap/hostapd.c:5258,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 2
    argNames:
    - hapd
    - link_id
    argTypes:
    - struct hostapd_data*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5270
      start: 5242
    functionDepth: 1
    functionLinenumber: 5242
    functionLinenumberEnd: 5270
    functionName: hostapd_mld_get_link_bss
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 13
    functionsReached:
    - hostapd_is_ml_partner
    linkageType: ''
    returnType: struct hostapd_data
    signature: "struct hostapd_data * hostapd_mld_get_link_bss(struct hostapd_data
      *hapd,\n\t\t\t\t\t       u8 link_id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/src/ap/hostapd.c:5279,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - hapd1
    - hapd2
    argTypes:
    - struct hostapd_data*
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5280
      start: 5273
    functionDepth: 0
    functionLinenumber: 5273
    functionLinenumberEnd: 5280
    functionName: hostapd_is_ml_partner
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 12
    functionsReached:
    - os_strcmp
    linkageType: ''
    returnType: bool
    signature: "bool hostapd_is_ml_partner(struct hostapd_data *hapd1,\n\t\t\t   struct
      hostapd_data *hapd2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_mbssid_get_bss_index
      Src: /src/hostap/src/ap/hostapd.c:5288,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5289
      start: 5283
    functionDepth: 1
    functionLinenumber: 5283
    functionLinenumberEnd: 5289
    functionName: hostapd_get_mld_id
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 2
    functionsReached:
    - hostapd_mbssid_get_bss_index
    linkageType: ''
    returnType: u8
    signature: u8 hostapd_get_mld_id(struct hostapd_data *hapd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_add_tail
      Src: /src/hostap/src/ap/hostapd.c:5303,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:5306,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:5313,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5316
      start: 5292
    functionDepth: 1
    functionLinenumber: 5292
    functionLinenumberEnd: 5316
    functionName: hostapd_mld_add_link
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 2
    functionsReached:
    - dl_list_add_tail
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int hostapd_mld_add_link(struct hostapd_data *hapd)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_del
      Src: /src/hostap/src/ap/hostapd.c:5331,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:5334,1
    - Dst: dl_list_empty
      Src: /src/hostap/src/ap/hostapd.c:5341,1
    - Dst: dl_list_entry
      Src: /src/hostap/src/ap/hostapd.c:5346,1
    - Dst: dl_list_last
      Src: /src/hostap/src/ap/hostapd.c:5348,1
    - Dst: hostapd_mld_move_vlan_list
      Src: /src/hostap/src/ap/hostapd.c:5352,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/hostapd.c:5357,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5360
      start: 5319
    functionDepth: 1
    functionLinenumber: 5319
    functionLinenumberEnd: 5360
    functionName: hostapd_mld_remove_link
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 1
    functionsReached:
    - dl_list_entry
    - wpa_printf
    - dl_list_del
    - dl_list_empty
    - hostapd_mld_move_vlan_list
    - dl_list_last
    linkageType: ''
    returnType: int
    signature: int hostapd_mld_remove_link(struct hostapd_data *hapd)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5380
      start: 5363
    functionDepth: 0
    functionLinenumber: 5363
    functionLinenumberEnd: 5380
    functionName: hostapd_mld_is_first_bss
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hostapd_mld_is_first_bss(struct hostapd_data *hapd)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5395
      start: 5383
    functionDepth: 0
    functionLinenumber: 5383
    functionLinenumberEnd: 5395
    functionName: hostapd_mld_get_first_bss
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: struct hostapd_data
    signature: struct hostapd_data * hostapd_mld_get_first_bss(struct hostapd_data
      *hapd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: for_each_mld_link
      Src: /src/hostap/src/ap/hostapd.c:5405,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5407
      start: 5398
    functionDepth: 0
    functionLinenumber: 5398
    functionLinenumberEnd: 5407
    functionName: hostapd_mld_interface_freed
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 2
    functionsReached:
    - for_each_mld_link
    linkageType: ''
    returnType: void
    signature: void hostapd_mld_interface_freed(struct hostapd_data *hapd)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5429
      start: 5413
    functionDepth: 0
    functionLinenumber: 5413
    functionLinenumberEnd: 5429
    functionName: hostapd_get_active_links
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 hostapd_get_active_links(struct hostapd_data *hapd)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5426
      start: 5421
    functionDepth: 0
    functionLinenumber: 5421
    functionLinenumberEnd: 5426
    functionName: for_each_mld_link
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void for_each_mld_link(link_bss, hapd)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5447
      start: 5434
    functionDepth: 0
    functionLinenumber: 5434
    functionLinenumberEnd: 5447
    functionName: hostapd_get_punct_bitmap
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: u16
    signature: u16 hostapd_get_punct_bitmap(struct hostapd_data *hapd)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - hapd
    - idx
    argTypes:
    - struct hostapd_data*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5457
      start: 5450
    functionDepth: 0
    functionLinenumber: 5450
    functionLinenumberEnd: 5457
    functionName: hostapd_get_mbssid_bss_by_idx
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: struct hostapd_data
    signature: 'struct hostapd_data *

      hostapd_get_mbssid_bss_by_idx(struct hostapd_data *hapd, size_t idx)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/hostapd.c:5464,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/hostapd.c:5469,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/hostapd.c:5470,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/hostapd.c:5472,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 4
    argNames:
    - hapd
    - addr
    - addr_ml
    - mld
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5477
      start: 5460
    functionDepth: 1
    functionLinenumber: 5460
    functionLinenumberEnd: 5477
    functionName: hostapd_acceptable_sta_addr_bss
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 0
    functionsReached:
    - ether_addr_equal
    linkageType: ''
    returnType: bool
    signature: "bool hostapd_acceptable_sta_addr_bss(struct hostapd_data *hapd,\n\t\t\t\t\t
      \   const u8 *addr, const u8 *addr_ml,\n\t\t\t\t\t    bool mld)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_acceptable_sta_addr_bss
      Src: /src/hostap/src/ap/hostapd.c:5496,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - iface
    - _ctx
    argTypes:
    - struct hostapd_iface*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5502
      start: 5487
    functionDepth: 2
    functionLinenumber: 5487
    functionLinenumberEnd: 5502
    functionName: hostapd_acceptable_sta_addr_iface
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 0
    functionsReached:
    - hostapd_acceptable_sta_addr_bss
    linkageType: ''
    returnType: int
    signature: "int hostapd_acceptable_sta_addr_iface(struct hostapd_iface *iface,\n\t\t\t\t\t
      \    void *_ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_acceptable_sta_addr_bss
      Src: /src/hostap/src/ap/hostapd.c:5510,1
    - Dst: hostapd_for_each_interface
      Src: /src/hostap/src/ap/hostapd.c:5517,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - hapd
    - addr
    - addr_ml
    - mld
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5523
      start: 5505
    functionDepth: 2
    functionLinenumber: 5505
    functionLinenumberEnd: 5523
    functionName: hostapd_acceptable_sta_addr
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 0
    functionsReached:
    - hostapd_acceptable_sta_addr_bss
    - hostapd_for_each_interface
    linkageType: ''
    returnType: bool
    signature: "bool hostapd_acceptable_sta_addr(struct hostapd_data *hapd, const
      u8 *addr,\n\t\t\t\t const u8 *addr_ml, bool mld)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_get_oper_chwidth
      Src: /src/hostap/src/ap/hostapd.c:5530,1
    - Dst: hostapd_get_oper_centr_freq_seg0_idx
      Src: /src/hostap/src/ap/hostapd.c:5531,1
    - Dst: hostapd_get_oper_centr_freq_seg1_idx
      Src: /src/hostap/src/ap/hostapd.c:5532,1
    - Dst: hostapd_is_eht_enabled
      Src: /src/hostap/src/ap/hostapd.c:5538,1
    - Dst: hostapd_get_punct_bitmap
      Src: /src/hostap/src/ap/hostapd.c:5539,1
    - Dst: punct_update_legacy_bw
      Src: /src/hostap/src/ap/hostapd.c:5542,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - hapd
    - width
    - seg0
    - seg1
    argTypes:
    - struct hostapd_data*
    - enum oper_chan_width*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5550
      start: 5526
    functionDepth: 1
    functionLinenumber: 5526
    functionLinenumberEnd: 5550
    functionName: hostapd_get_oper_chan_info_of_bss
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 2
    functionsReached:
    - hostapd_get_oper_centr_freq_seg1_idx
    - hostapd_get_punct_bitmap
    - hostapd_get_oper_centr_freq_seg0_idx
    - hostapd_is_eht_enabled
    - punct_update_legacy_bw
    - hostapd_get_oper_chwidth
    linkageType: ''
    returnType: void
    signature: "void hostapd_get_oper_chan_info_of_bss(struct hostapd_data *hapd,\n\t\t\t\t
      \      enum oper_chan_width *width,\n\t\t\t\t       u8 *seg0, u8 *seg1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_get_oper_chan_info_of_bss
      Src: /src/hostap/src/ap/hostapd.c:5559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5562
      start: 5553
    functionDepth: 2
    functionLinenumber: 5553
    functionLinenumberEnd: 5562
    functionName: hostapd_get_oper_chan_width_of_bss
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 0
    functionsReached:
    - hostapd_get_oper_chan_info_of_bss
    linkageType: ''
    returnType: enum oper_chan_width
    signature: enum oper_chan_width hostapd_get_oper_chan_width_of_bss(struct hostapd_data
      *hapd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_is_eht_enabled
      Src: /src/hostap/src/ap/hostapd.c:5580,1
    - Dst: hostapd_get_oper_chwidth
      Src: /src/hostap/src/ap/hostapd.c:5586,1
    - Dst: hostapd_get_oper_chan_info_of_bss
      Src: /src/hostap/src/ap/hostapd.c:5587,1
    - Dst: ieee80211_freq_to_channel_ext
      Src: /src/hostap/src/ap/hostapd.c:5604,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5616
      start: 5565
    functionDepth: 2
    functionLinenumber: 5565
    functionLinenumberEnd: 5616
    functionName: hostapd_get_oper_class_of_bss
    functionSourceFile: /src/hostap/src/ap/hostapd.c
    functionUses: 1
    functionsReached:
    - hostapd_is_eht_enabled
    - hostapd_get_oper_chan_info_of_bss
    - ieee80211_freq_to_channel_ext
    - hostapd_get_oper_chwidth
    linkageType: ''
    returnType: u8
    signature: u8 hostapd_get_oper_class_of_bss(struct hostapd_data *hapd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - hw_features
    - num_hw_features
    argTypes:
    - struct hostapd_hw_modes*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: hostapd_free_hw_features
    functionSourceFile: /src/hostap/src/ap/hw_features.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void hostapd_free_hw_features(struct hostapd_hw_modes *hw_features,\n\t\t\t
      size_t num_hw_features)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: hostapd_get_hw_features
    functionSourceFile: /src/hostap/src/ap/hw_features.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int hostapd_get_hw_features(struct hostapd_iface *iface)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: hostapd_csa_update_hwmode
    functionSourceFile: /src/hostap/src/ap/hw_features.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int hostapd_csa_update_hwmode(struct hostapd_iface *iface)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - iface
    - err
    argTypes:
    - struct hostapd_iface*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: hostapd_acs_completed
    functionSourceFile: /src/hostap/src/ap/hw_features.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int hostapd_acs_completed(struct hostapd_iface *iface, int err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: hostapd_select_hw_mode
    functionSourceFile: /src/hostap/src/ap/hw_features.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int hostapd_select_hw_mode(struct hostapd_iface *iface)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mode
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: hostapd_hw_mode_txt
    functionSourceFile: /src/hostap/src/ap/hw_features.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * hostapd_hw_mode_txt(int mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hapd
    - chan
    argTypes:
    - struct hostapd_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: hostapd_hw_get_freq
    functionSourceFile: /src/hostap/src/ap/hw_features.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int hostapd_hw_get_freq(struct hostapd_data *hapd, int chan)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: hostapd_check_ht_capab
    functionSourceFile: /src/hostap/src/ap/hw_features.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int hostapd_check_ht_capab(struct hostapd_iface *iface)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: hostapd_check_edmg_capab
    functionSourceFile: /src/hostap/src/ap/hw_features.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int hostapd_check_edmg_capab(struct hostapd_iface *iface)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hapd
    - mode
    argTypes:
    - struct hostapd_data*
    - struct hostapd_hw_modes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: hostapd_prepare_rates
    functionSourceFile: /src/hostap/src/ap/hw_features.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int hostapd_prepare_rates(struct hostapd_data *hapd,\n\t\t\t\t\tstruct
      hostapd_hw_modes *mode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: hostapd_stop_setup_timers
    functionSourceFile: /src/hostap/src/ap/hw_features.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void hostapd_stop_setup_timers(struct hostapd_iface *iface)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - iface
    - mode
    argTypes:
    - struct hostapd_iface*
    - struct hostapd_hw_modes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: hostapd_hw_skip_mode
    functionSourceFile: /src/hostap/src/ap/hw_features.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int hostapd_hw_skip_mode(struct hostapd_iface *iface,\n\t\t\t\t       struct
      hostapd_hw_modes *mode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: hostapd_check_he_6ghz_capab
    functionSourceFile: /src/hostap/src/ap/hw_features.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int hostapd_check_he_6ghz_capab(struct hostapd_iface *iface)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: hostapd_determine_mode
    functionSourceFile: /src/hostap/src/ap/hw_features.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int hostapd_determine_mode(struct hostapd_iface *iface)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - multi_hw_info
    argTypes:
    - struct hostapd_multi_hw_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: hostapd_free_multi_hw_info
    functionSourceFile: /src/hostap/src/ap/hw_features.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void hostapd_free_multi_hw_info(struct hostapd_multi_hw_info *multi_hw_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - iface
    - oper_freq
    argTypes:
    - struct hostapd_iface*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: hostapd_set_current_hw_info
    functionSourceFile: /src/hostap/src/ap/hw_features.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int hostapd_set_current_hw_info(struct hostapd_iface *iface,\n\t\t\t\t\t
      \     u32 oper_freq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionName: hostapd_is_usable_chans
    functionSourceFile: /src/hostap/src/ap/hw_features.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int hostapd_is_usable_chans(struct hostapd_iface *iface)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 2
    argNames:
    - iface
    - ap
    argTypes:
    - struct hostapd_iface*
    - struct ap_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 50
    functionName: ap_list_beacon_olbc
    functionSourceFile: /src/hostap/src/ap/ap_list.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ap_list_beacon_olbc(struct hostapd_iface *iface, struct ap_info
      *ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STA_HASH
      Src: /src/hostap/src/ap/ap_list.c:57,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/ap_list.c:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - iface
    - ap
    argTypes:
    - struct hostapd_iface*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 61
    functionName: ap_get_ap
    functionSourceFile: /src/hostap/src/ap/ap_list.c
    functionUses: 0
    functionsReached:
    - STA_HASH
    - ether_addr_equal
    linkageType: ''
    returnType: struct ap_info
    signature: struct ap_info * ap_get_ap(struct hostapd_iface *iface, const u8 *ap)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - iface
    - ap
    argTypes:
    - struct hostapd_iface*
    - struct ap_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 73
    functionName: ap_ap_list_add
    functionSourceFile: /src/hostap/src/ap/ap_list.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ap_ap_list_add(struct hostapd_iface *iface, struct ap_info *ap)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - iface
    - ap
    argTypes:
    - struct hostapd_iface*
    - struct ap_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 87
    functionName: ap_ap_list_del
    functionSourceFile: /src/hostap/src/ap/ap_list.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ap_ap_list_del(struct hostapd_iface *iface, struct ap_info *ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STA_HASH
      Src: /src/hostap/src/ap/ap_list.c:92,1
    - Dst: STA_HASH
      Src: /src/hostap/src/ap/ap_list.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - iface
    - ap
    argTypes:
    - struct hostapd_iface*
    - struct ap_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: ap_ap_hash_add
    functionSourceFile: /src/hostap/src/ap/ap_list.c
    functionUses: 0
    functionsReached:
    - STA_HASH
    linkageType: ''
    returnType: void
    signature: void ap_ap_hash_add(struct hostapd_iface *iface, struct ap_info *ap)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: STA_HASH
      Src: /src/hostap/src/ap/ap_list.c:101,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/ap_list.c:103,1
    - Dst: STA_HASH
      Src: /src/hostap/src/ap/ap_list.c:104,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/ap_list.c:109,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ap_list.c:114,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ap_list.c:115,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - iface
    - ap
    argTypes:
    - struct hostapd_iface*
    - struct ap_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 116
    functionName: ap_ap_hash_del
    functionSourceFile: /src/hostap/src/ap/ap_list.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - STA_HASH
    - ether_addr_equal
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void ap_ap_hash_del(struct hostapd_iface *iface, struct ap_info *ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_ap_hash_del
      Src: /src/hostap/src/ap/ap_list.c:121,1
    - Dst: ap_ap_list_del
      Src: /src/hostap/src/ap/ap_list.c:122,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ap_list.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - iface
    - ap
    argTypes:
    - struct hostapd_iface*
    - struct ap_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 126
    functionName: ap_free_ap
    functionSourceFile: /src/hostap/src/ap/ap_list.c
    functionUses: 0
    functionsReached:
    - os_free
    - ap_ap_hash_del
    - ap_ap_list_del
    linkageType: ''
    returnType: void
    signature: void ap_free_ap(struct hostapd_iface *iface, struct ap_info *ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_free_ap
      Src: /src/hostap/src/ap/ap_list.c:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 129
    functionDepth: 3
    functionLinenumber: 129
    functionLinenumberEnd: 142
    functionName: hostapd_free_aps
    functionSourceFile: /src/hostap/src/ap/ap_list.c
    functionUses: 0
    functionsReached:
    - ap_free_ap
    linkageType: ''
    returnType: void
    signature: void hostapd_free_aps(struct hostapd_iface *iface)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/ap_list.c:149,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ap_list.c:154,1
    - Dst: ap_ap_list_add
      Src: /src/hostap/src/ap/ap_list.c:155,1
    - Dst: ap_ap_hash_add
      Src: /src/hostap/src/ap/ap_list.c:157,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ap_list.c:160,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ap_list.c:161,1
    - Dst: ap_free_ap
      Src: /src/hostap/src/ap/ap_list.c:162,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - iface
    - addr
    argTypes:
    - struct hostapd_iface*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 145
    functionDepth: 3
    functionLinenumber: 145
    functionLinenumberEnd: 166
    functionName: ap_ap_add
    functionSourceFile: /src/hostap/src/ap/ap_list.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - MAC2STR
    - os_zalloc
    - ap_free_ap
    - ap_ap_list_add
    - ap_ap_hash_add
    linkageType: ''
    returnType: struct ap_info
    signature: struct ap_info * ap_ap_add(struct hostapd_iface *iface, const u8 *addr)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_ap
      Src: /src/hostap/src/ap/ap_list.c:181,1
    - Dst: ap_ap_add
      Src: /src/hostap/src/ap/ap_list.c:183,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ap_list.c:185,1
    - Dst: merge_byte_arrays
      Src: /src/hostap/src/ap/ap_list.c:192,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/ap/ap_list.c:213,1
    - Dst: ap_ap_list_del
      Src: /src/hostap/src/ap/ap_list.c:218,1
    - Dst: ap_ap_list_add
      Src: /src/hostap/src/ap/ap_list.c:219,1
    - Dst: ap_list_beacon_olbc
      Src: /src/hostap/src/ap/ap_list.c:223,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ap_list.c:225,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ap_list.c:227,1
    - Dst: hostapd_ht_operation_update
      Src: /src/hostap/src/ap/ap_list.c:237,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ap_list.c:238,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ap_list.c:240,1
    - Dst: ieee802_11_update_beacons
      Src: /src/hostap/src/ap/ap_list.c:245,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 43
    argCount: 4
    argNames:
    - iface
    - mgmt
    - elems
    - fi
    argTypes:
    - struct hostapd_iface*
    - struct ieee80211_mgmt*
    - struct ieee802_11_elems*
    - struct hostapd_frame_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 169
    functionDepth: 11
    functionLinenumber: 169
    functionLinenumberEnd: 246
    functionName: ap_list_process_beacon
    functionSourceFile: /src/hostap/src/ap/ap_list.c
    functionUses: 0
    functionsReached:
    - merge_byte_arrays
    - os_get_reltime
    - wpa_printf
    - ap_list_beacon_olbc
    - ap_ap_list_del
    - ap_get_ap
    - MAC2STR
    - ap_ap_add
    - ap_ap_list_add
    - hostapd_ht_operation_update
    - ieee802_11_update_beacons
    linkageType: ''
    returnType: void
    signature: "void ap_list_process_beacon(struct hostapd_iface *iface,\n\t\t\t    const
      struct ieee80211_mgmt *mgmt,\n\t\t\t    struct ieee802_11_elems *elems,\n\t\t\t
      \   struct hostapd_frame_info *fi)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: os_get_reltime
      Src: /src/hostap/src/ap/ap_list.c:258,1
    - Dst: os_reltime_expired
      Src: /src/hostap/src/ap/ap_list.c:262,1
    - Dst: ap_free_ap
      Src: /src/hostap/src/ap/ap_list.c:266,1
    - Dst: ap_list_beacon_olbc
      Src: /src/hostap/src/ap/ap_list.c:275,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ap_list.c:282,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ap_list.c:287,1
    - Dst: hostapd_ht_operation_update
      Src: /src/hostap/src/ap/ap_list.c:289,1
    - Dst: ieee802_11_update_beacons
      Src: /src/hostap/src/ap/ap_list.c:295,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 33
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 249
    functionDepth: 11
    functionLinenumber: 249
    functionLinenumberEnd: 296
    functionName: ap_list_timer
    functionSourceFile: /src/hostap/src/ap/ap_list.c
    functionUses: 1
    functionsReached:
    - os_get_reltime
    - wpa_printf
    - hostapd_ht_operation_update
    - ap_list_beacon_olbc
    - ap_free_ap
    - os_reltime_expired
    - ieee802_11_update_beacons
    linkageType: ''
    returnType: void
    signature: void ap_list_timer(struct hostapd_iface *iface)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 302
    functionName: ap_list_init
    functionSourceFile: /src/hostap/src/ap/ap_list.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ap_list_init(struct hostapd_iface *iface)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_free_aps
      Src: /src/hostap/src/ap/ap_list.c:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 305
    functionDepth: 4
    functionLinenumber: 305
    functionLinenumberEnd: 308
    functionName: ap_list_deinit
    functionSourceFile: /src/hostap/src/ap/ap_list.c
    functionUses: 2
    functionsReached:
    - hostapd_free_aps
    linkageType: ''
    returnType: void
    signature: void ap_list_deinit(struct hostapd_iface *iface)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/rrm.c:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - eloop_data
    - user_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 32
    functionName: hostapd_lci_rep_timeout_handler
    functionSourceFile: /src/hostap/src/ap/rrm.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void hostapd_lci_rep_timeout_handler(void *eloop_data, void *user_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/rrm.c:39,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/rrm.c:44,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/rrm.c:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - hapd
    - token
    - pos
    - len
    argTypes:
    - struct hostapd_data*
    - u8
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 46
    functionName: hostapd_handle_lci_report
    functionSourceFile: /src/hostap/src/ap/rrm.c
    functionUses: 0
    functionsReached:
    - eloop_cancel_timeout
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: "void hostapd_handle_lci_report(struct hostapd_data *hapd, u8 token,\n\t\t\t\t
      \     const u8 *pos, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/rrm.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - eloop_data
    - user_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: hostapd_range_rep_timeout_handler
    functionSourceFile: /src/hostap/src/ap/rrm.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void hostapd_range_rep_timeout_handler(void *eloop_data, void *user_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/rrm.c:63,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/rrm.c:69,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/rrm.c:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - hapd
    - token
    - pos
    - len
    argTypes:
    - struct hostapd_data*
    - u8
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 71
    functionName: hostapd_handle_range_report
    functionSourceFile: /src/hostap/src/ap/rrm.c
    functionUses: 0
    functionsReached:
    - eloop_cancel_timeout
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: "void hostapd_handle_range_report(struct hostapd_data *hapd, u8 token,\n\t\t\t\t\tconst
      u8 *pos, size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/rrm.c:80,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/rrm.c:81,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/ap/rrm.c:88,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/rrm.c:90,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/rrm.c:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 6
    argNames:
    - hapd
    - addr
    - token
    - rep_mode
    - pos
    - len
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8
    - u8
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 92
    functionName: hostapd_handle_beacon_report
    functionSourceFile: /src/hostap/src/ap/rrm.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    - wpa_snprintf_hex
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: "void hostapd_handle_beacon_report(struct hostapd_data *hapd,\n\t\t\t\t\t
      const u8 *addr, u8 token, u8 rep_mode,\n\t\t\t\t\t const u8 *pos, size_t len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: get_ie
      Src: /src/hostap/src/ap/rrm.c:106,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/rrm.c:108,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/rrm.c:113,1
    - Dst: hostapd_handle_lci_report
      Src: /src/hostap/src/ap/rrm.c:118,1
    - Dst: hostapd_handle_range_report
      Src: /src/hostap/src/ap/rrm.c:121,1
    - Dst: hostapd_handle_beacon_report
      Src: /src/hostap/src/ap/rrm.c:124,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/rrm.c:128,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 3
    argNames:
    - hapd
    - buf
    - len
    argTypes:
    - struct hostapd_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 136
    functionName: hostapd_handle_radio_msmt_report
    functionSourceFile: /src/hostap/src/ap/rrm.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hostapd_handle_lci_report
    - hostapd_handle_range_report
    - get_ie
    - hostapd_handle_beacon_report
    linkageType: ''
    returnType: void
    signature: "void hostapd_handle_radio_msmt_report(struct hostapd_data *hapd,\n\t\t\t\t\t
      \    const u8 *buf, size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_ie
      Src: /src/hostap/src/ap/rrm.c:148,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/ap/rrm.c:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 153
    functionName: hostapd_parse_location_lci_req_age
    functionSourceFile: /src/hostap/src/ap/rrm.c
    functionUses: 0
    functionsReached:
    - get_ie
    - WPA_GET_LE16
    linkageType: ''
    returnType: u16
    signature: u16 hostapd_parse_location_lci_req_age(const u8 *buf, size_t len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_get_time
      Src: /src/hostap/src/ap/rrm.c:167,1
    - Dst: os_time_sub
      Src: /src/hostap/src/ap/rrm.c:170,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - nr
    - max_age
    argTypes:
    - struct hostapd_neighbor_entry*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 180
    functionName: hostapd_check_lci_age
    functionSourceFile: /src/hostap/src/ap/rrm.c
    functionUses: 0
    functionsReached:
    - os_get_time
    - os_time_sub
    linkageType: ''
    returnType: int
    signature: int hostapd_check_lci_age(struct hostapd_neighbor_entry *nr, u16 max_age)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/rrm.c:187,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/rrm.c:190,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/rrm.c:193,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - buf
    - nr
    - send_lci
    - send_civic
    argTypes:
    - struct wpabuf*
    - struct hostapd_neighbor_entry*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 196
    functionName: hostapd_neighbor_report_len
    functionSourceFile: /src/hostap/src/ap/rrm.c
    functionUses: 0
    functionsReached:
    - wpabuf_len
    linkageType: ''
    returnType: size_t
    signature: "size_t hostapd_neighbor_report_len(struct wpabuf *buf,\n\t\t\t\t\t
      \ struct hostapd_neighbor_entry *nr,\n\t\t\t\t\t  int send_lci, int send_civic)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/ap/rrm.c:213,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/rrm.c:217,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/rrm.c:218,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/rrm.c:219,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/ap/rrm.c:221,1
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/rrm.c:227,1
    - Dst: hostapd_check_lci_age
      Src: /src/hostap/src/ap/rrm.c:230,1
    - Dst: hostapd_neighbor_report_len
      Src: /src/hostap/src/ap/rrm.c:231,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/rrm.c:234,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/rrm.c:236,1
    - Dst: wpabuf_tailroom
      Src: /src/hostap/src/ap/rrm.c:240,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/rrm.c:243,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/rrm.c:244,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/ap/rrm.c:245,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/rrm.c:248,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/rrm.c:249,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/rrm.c:249,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/ap/rrm.c:254,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/ap/rrm.c:255,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/rrm.c:260,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/rrm.c:261,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/rrm.c:261,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/ap/rrm.c:266,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/ap/rrm.c:267,1
    - Dst: hostapd_drv_send_action
      Src: /src/hostap/src/ap/rrm.c:272,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/rrm.c:273,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/rrm.c:273,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/rrm.c:274,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 7
    argNames:
    - hapd
    - addr
    - dialog_token
    - ssid
    - lci
    - civic
    - lci_max_age
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8
    - struct wpa_ssid_value*
    - u8
    - u8
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 199
    functionDepth: 3
    functionLinenumber: 199
    functionLinenumberEnd: 275
    functionName: hostapd_send_nei_report_resp
    functionSourceFile: /src/hostap/src/ap/rrm.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put
    - hostapd_drv_send_action
    - wpabuf_put_u8
    - wpabuf_len
    - wpabuf_free
    - wpabuf_tailroom
    - dl_list_for_each
    - MAC2STR
    - wpabuf_alloc
    - hostapd_check_lci_age
    - wpabuf_put_buf
    - os_memcmp
    - wpabuf_head
    - hostapd_neighbor_report_len
    linkageType: ''
    returnType: void
    signature: "void hostapd_send_nei_report_resp(struct hostapd_data *hapd,\n\t\t\t\t\t
      const u8 *addr, u8 dialog_token,\n\t\t\t\t\t struct wpa_ssid_value *ssid, u8
      lci,\n\t\t\t\t\t u8 civic, u16 lci_max_age)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: get_ie
      Src: /src/hostap/src/ap/rrm.c:300,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/rrm.c:303,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/rrm.c:306,1
    - Dst: get_ie
      Src: /src/hostap/src/ap/rrm.c:309,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/rrm.c:313,1
    - Dst: hostapd_parse_location_lci_req_age
      Src: /src/hostap/src/ap/rrm.c:320,1
    - Dst: hostapd_send_nei_report_resp
      Src: /src/hostap/src/ap/rrm.c:332,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 3
    argNames:
    - hapd
    - buf
    - len
    argTypes:
    - struct hostapd_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 278
    functionDepth: 4
    functionLinenumber: 278
    functionLinenumberEnd: 334
    functionName: hostapd_handle_nei_report_req
    functionSourceFile: /src/hostap/src/ap/rrm.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_printf
    - hostapd_parse_location_lci_req_age
    - get_ie
    - hostapd_send_nei_report_resp
    linkageType: ''
    returnType: void
    signature: "void hostapd_handle_nei_report_req(struct hostapd_data *hapd,\n\t\t\t\t\t
      \ const u8 *buf, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/rrm.c:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - eloop_data
    - user_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 346
    functionName: hostapd_link_mesr_rep_timeout_handler
    functionSourceFile: /src/hostap/src/ap/rrm.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: "void hostapd_link_mesr_rep_timeout_handler(void *eloop_data,\n\t\t\t\t\t\t
      \ void *user_ctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/rrm.c:365,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/rrm.c:372,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/ap/rrm.c:375,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/rrm.c:379,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/rrm.c:380,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - hapd
    - buf
    - len
    argTypes:
    - struct hostapd_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 381
    functionName: hostapd_handle_link_mesr_report
    functionSourceFile: /src/hostap/src/ap/rrm.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_snprintf_hex
    - wpa_msg
    - eloop_cancel_timeout
    - MAC2STR
    linkageType: ''
    returnType: void
    signature: "void hostapd_handle_link_mesr_report(struct hostapd_data *hapd,\n\t\t\t\t\t
      \   const u8 *buf, size_t len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/rrm.c:396,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/rrm.c:397,1
    - Dst: hostapd_handle_radio_msmt_report
      Src: /src/hostap/src/ap/rrm.c:401,1
    - Dst: hostapd_handle_nei_report_req
      Src: /src/hostap/src/ap/rrm.c:404,1
    - Dst: hostapd_handle_link_mesr_report
      Src: /src/hostap/src/ap/rrm.c:407,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/rrm.c:410,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - hapd
    - buf
    - len
    argTypes:
    - struct hostapd_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 384
    functionDepth: 5
    functionLinenumber: 384
    functionLinenumberEnd: 414
    functionName: hostapd_handle_radio_measurement
    functionSourceFile: /src/hostap/src/ap/rrm.c
    functionUses: 0
    functionsReached:
    - hostapd_handle_link_mesr_report
    - wpa_printf
    - hostapd_handle_radio_msmt_report
    - MAC2STR
    - hostapd_handle_nei_report_req
    linkageType: ''
    returnType: void
    signature: "void hostapd_handle_radio_measurement(struct hostapd_data *hapd,\n\t\t\t\t
      \     const u8 *buf, size_t len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/rrm.c:420,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/rrm.c:424,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/rrm.c:430,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/rrm.c:436,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/rrm.c:439,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/ap/rrm.c:444,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/rrm.c:453,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/rrm.c:454,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/rrm.c:455,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/ap/rrm.c:456,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/rrm.c:458,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/rrm.c:459,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/rrm.c:461,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/rrm.c:466,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/rrm.c:467,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/rrm.c:469,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/rrm.c:471,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/rrm.c:472,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/ap/rrm.c:473,1
    - Dst: hostapd_drv_send_action
      Src: /src/hostap/src/ap/rrm.c:475,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/rrm.c:476,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/rrm.c:476,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/rrm.c:477,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/rrm.c:483,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 2
    argNames:
    - hapd
    - addr
    argTypes:
    - struct hostapd_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 417
    functionDepth: 3
    functionLinenumber: 417
    functionLinenumberEnd: 487
    functionName: hostapd_send_lci_req
    functionSourceFile: /src/hostap/src/ap/rrm.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - hostapd_drv_send_action
    - wpabuf_put_u8
    - eloop_cancel_timeout
    - wpabuf_len
    - wpabuf_free
    - wpabuf_put_le16
    - wpabuf_head
    - wpabuf_alloc
    - eloop_register_timeout
    - ap_get_sta
    linkageType: ''
    returnType: int
    signature: int hostapd_send_lci_req(struct hostapd_data *hapd, const u8 *addr)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/rrm.c:500,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/rrm.c:501,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/rrm.c:505,1
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/rrm.c:509,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/rrm.c:511,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/rrm.c:517,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/rrm.c:523,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/rrm.c:526,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/ap/rrm.c:531,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/rrm.c:541,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/rrm.c:542,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/rrm.c:543,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/ap/rrm.c:544,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/rrm.c:547,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/ap/rrm.c:548,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/rrm.c:550,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/rrm.c:555,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/rrm.c:556,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/ap/rrm.c:559,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/rrm.c:560,1
    - Dst: hostapd_neighbor_get
      Src: /src/hostap/src/ap/rrm.c:572,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/rrm.c:575,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/rrm.c:576,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/rrm.c:577,1
    - Dst: wpabuf_tailroom
      Src: /src/hostap/src/ap/rrm.c:581,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/rrm.c:581,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/rrm.c:582,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/rrm.c:583,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/rrm.c:587,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/rrm.c:588,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/rrm.c:588,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/ap/rrm.c:589,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/rrm.c:593,1
    - Dst: hostapd_drv_send_action
      Src: /src/hostap/src/ap/rrm.c:595,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/rrm.c:596,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/rrm.c:596,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/rrm.c:597,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/rrm.c:603,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 61
    argCount: 6
    argNames:
    - hapd
    - addr
    - random_interval
    - min_ap
    - responders
    - n_responders
    argTypes:
    - struct hostapd_data*
    - u8*
    - u16
    - u8
    - u8*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 490
    functionDepth: 3
    functionLinenumber: 490
    functionLinenumberEnd: 607
    functionName: hostapd_send_range_req
    functionSourceFile: /src/hostap/src/ap/rrm.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpabuf_put
    - hostapd_drv_send_action
    - wpabuf_put_u8
    - eloop_cancel_timeout
    - hostapd_neighbor_get
    - wpabuf_len
    - wpabuf_free
    - wpabuf_put_le16
    - wpabuf_tailroom
    - MAC2STR
    - wpabuf_alloc
    - wpabuf_put_buf
    - wpabuf_head
    - eloop_register_timeout
    - ap_get_sta
    linkageType: ''
    returnType: int
    signature: "int hostapd_send_range_req(struct hostapd_data *hapd, const u8 *addr,\n\t\t\t
      \  u16 random_interval, u8 min_ap,\n\t\t\t   const u8 *responders, unsigned
      int n_responders)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_free_neighbor_db
      Src: /src/hostap/src/ap/rrm.c:612,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/rrm.c:613,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/rrm.c:615,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/rrm.c:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 610
    functionDepth: 4
    functionLinenumber: 610
    functionLinenumberEnd: 618
    functionName: hostapd_clean_rrm
    functionSourceFile: /src/hostap/src/ap/rrm.c
    functionUses: 1
    functionsReached:
    - eloop_cancel_timeout
    - hostapd_free_neighbor_db
    linkageType: ''
    returnType: void
    signature: void hostapd_clean_rrm(struct hostapd_data *hapd)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/rrm.c:625,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/rrm.c:635,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/rrm.c:636,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/rrm.c:639,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/rrm.c:643,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/rrm.c:645,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/rrm.c:653,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/rrm.c:656,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/rrm.c:663,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/rrm.c:666,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/rrm.c:673,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/rrm.c:676,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/rrm.c:681,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/ap/rrm.c:686,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/rrm.c:686,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/rrm.c:694,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/rrm.c:695,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/rrm.c:696,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/ap/rrm.c:697,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/rrm.c:700,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/rrm.c:701,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/rrm.c:701,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/rrm.c:702,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/rrm.c:703,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/rrm.c:704,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/ap/rrm.c:705,1
    - Dst: hostapd_drv_send_action
      Src: /src/hostap/src/ap/rrm.c:707,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/rrm.c:708,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/rrm.c:708,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/rrm.c:709,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 55
    argCount: 4
    argNames:
    - hapd
    - addr
    - req_mode
    - req
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 621
    functionDepth: 3
    functionLinenumber: 621
    functionLinenumberEnd: 714
    functionName: hostapd_send_beacon_req
    functionSourceFile: /src/hostap/src/ap/rrm.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - hostapd_drv_send_action
    - wpabuf_put_u8
    - wpabuf_len
    - wpabuf_free
    - wpabuf_head
    - wpabuf_put_le16
    - MAC2STR
    - wpabuf_alloc
    - wpabuf_put_buf
    - ap_get_sta
    linkageType: ''
    returnType: int
    signature: "int hostapd_send_beacon_req(struct hostapd_data *hapd, const u8 *addr,\n\t\t\t
      \   u8 req_mode, const struct wpabuf *req)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/rrm.c:723,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/rrm.c:724,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - hapd
    - mgmt
    - len
    - ok
    argTypes:
    - struct hostapd_data*
    - struct ieee80211_mgmt*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 717
    functionDepth: 1
    functionLinenumber: 717
    functionLinenumberEnd: 726
    functionName: hostapd_rrm_beacon_req_tx_status
    functionSourceFile: /src/hostap/src/ap/rrm.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: "void hostapd_rrm_beacon_req_tx_status(struct hostapd_data *hapd,\n\t\t\t\t
      \     const struct ieee80211_mgmt *mgmt,\n\t\t\t\t      size_t len, int ok)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/rrm.c:735,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/rrm.c:736,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/rrm.c:740,1
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/rrm.c:745,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/rrm.c:747,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/rrm.c:753,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/rrm.c:759,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/rrm.c:762,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/ap/rrm.c:767,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/rrm.c:775,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/rrm.c:776,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/rrm.c:777,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/rrm.c:780,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/rrm.c:781,1
    - Dst: hostapd_drv_send_action
      Src: /src/hostap/src/ap/rrm.c:783,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/rrm.c:784,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/rrm.c:784,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/rrm.c:785,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/rrm.c:791,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 2
    argNames:
    - hapd
    - addr
    argTypes:
    - struct hostapd_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 729
    functionDepth: 3
    functionLinenumber: 729
    functionLinenumberEnd: 796
    functionName: hostapd_send_link_measurement_req
    functionSourceFile: /src/hostap/src/ap/rrm.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - hostapd_drv_send_action
    - wpabuf_put_u8
    - eloop_cancel_timeout
    - wpabuf_len
    - wpabuf_free
    - wpabuf_head
    - MAC2STR
    - wpabuf_alloc
    - eloop_register_timeout
    - ap_get_sta
    linkageType: ''
    returnType: int
    signature: int hostapd_send_link_measurement_req(struct hostapd_data *hapd, const
      u8 *addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hmac_sha256
      Src: /src/hostap/src/ap/comeback_token.c:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - comeback_key
    - addr
    - idx
    argTypes:
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 30
    functionName: comeback_token_hash
    functionSourceFile: /src/hostap/src/ap/comeback_token.c
    functionUses: 0
    functionsReached:
    - hmac_sha256
    linkageType: ''
    returnType: int
    signature: int comeback_token_hash(const u8 *comeback_key, const u8 *addr, u8
      *idx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: comeback_token_hash
      Src: /src/hostap/src/ap/comeback_token.c:44,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/ap/comeback_token.c:47,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/comeback_token.c:48,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/comeback_token.c:51,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/ap/comeback_token.c:51,1
    - Dst: hmac_sha256_vector
      Src: /src/hostap/src/ap/comeback_token.c:59,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/ap/comeback_token.c:61,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 5
    argNames:
    - comeback_key
    - comeback_pending_idx
    - addr
    - token
    - token_len
    argTypes:
    - u8*
    - u16*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 67
    functionName: check_comeback_token
    functionSourceFile: /src/hostap/src/ap/comeback_token.c
    functionUses: 0
    functionsReached:
    - WPA_GET_BE16
    - wpa_printf
    - comeback_token_hash
    - os_memcmp_const
    - MAC2STR
    - hmac_sha256_vector
    linkageType: ''
    returnType: int
    signature: "int check_comeback_token(const u8 *comeback_key,\n\t\t\t u16 *comeback_pending_idx,
      const u8 *addr,\n\t\t\t const u8 *token, size_t token_len)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: os_get_reltime
      Src: /src/hostap/src/ap/comeback_token.c:85,1
    - Dst: os_reltime_initialized
      Src: /src/hostap/src/ap/comeback_token.c:86,1
    - Dst: os_reltime_expired
      Src: /src/hostap/src/ap/comeback_token.c:87,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/ap/comeback_token.c:89,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/comeback_token.c:91,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/comeback_token.c:95,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/ap/comeback_token.c:98,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/ap/comeback_token.c:103,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/comeback_token.c:107,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/comeback_token.c:108,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/comeback_token.c:109,1
    - Dst: comeback_token_hash
      Src: /src/hostap/src/ap/comeback_token.c:112,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/comeback_token.c:113,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/ap/comeback_token.c:123,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/ap/comeback_token.c:124,1
    - Dst: hmac_sha256_vector
      Src: /src/hostap/src/ap/comeback_token.c:129,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/comeback_token.c:131,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/ap/comeback_token.c:134,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 8
    argNames:
    - last_comeback_key_update
    - comeback_key
    - comeback_idx
    - comeback_pending_idx
    - idx_len
    - group
    - addr
    - h2e
    argTypes:
    - struct os_reltime*
    - u8*
    - u16
    - u16*
    - size_t
    - int
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 137
    functionName: auth_build_token_req
    functionSourceFile: /src/hostap/src/ap/comeback_token.c
    functionUses: 0
    functionsReached:
    - os_reltime_initialized
    - os_get_reltime
    - random_get_bytes
    - wpabuf_put
    - wpa_hexdump
    - wpabuf_put_u8
    - comeback_token_hash
    - wpabuf_free
    - WPA_PUT_BE16
    - wpabuf_put_le16
    - wpabuf_alloc
    - os_reltime_expired
    - hmac_sha256_vector
    - os_memset
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf *\nauth_build_token_req(struct os_reltime *last_comeback_key_update,\n\t\t
      \    u8 *comeback_key, u16 comeback_idx,\n\t\t     u16 *comeback_pending_idx,
      size_t idx_len,\n\t\t     int group, const u8 *addr, int h2e)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - hapd
    - mode
    argTypes:
    - struct hostapd_data*
    - struct hostapd_hw_modes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 39
    functionName: mode_for_vht_capab
    functionSourceFile: /src/hostap/src/ap/ieee802_11_vht.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct hostapd_hw_modes
    signature: 'struct hostapd_hw_modes *

      mode_for_vht_capab(struct hostapd_data *hapd, struct hostapd_hw_modes *mode)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_6ghz_op_class
      Src: /src/hostap/src/ap/ieee802_11_vht.c:48,1
    - Dst: mode_for_vht_capab
      Src: /src/hostap/src/ap/ieee802_11_vht.c:51,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/ieee802_11_vht.c:57,1
    - Dst: host_to_le32
      Src: /src/hostap/src/ap/ieee802_11_vht.c:58,1
    - Dst: le_to_host32
      Src: /src/hostap/src/ap/ieee802_11_vht.c:64,1
    - Dst: host_to_le32
      Src: /src/hostap/src/ap/ieee802_11_vht.c:67,1
    - Dst: host_to_le32
      Src: /src/hostap/src/ap/ieee802_11_vht.c:70,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_vht.c:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - hapd
    - eid
    - nsts
    argTypes:
    - struct hostapd_data*
    - u8*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 79
    functionName: hostapd_eid_vht_capabilities
    functionSourceFile: /src/hostap/src/ap/ieee802_11_vht.c
    functionUses: 3
    functionsReached:
    - le_to_host32
    - os_memcpy
    - mode_for_vht_capab
    - is_6ghz_op_class
    - host_to_le32
    - os_memset
    linkageType: ''
    returnType: u8
    signature: u8 * hostapd_eid_vht_capabilities(struct hostapd_data *hapd, u8 *eid,
      u32 nsts)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_get_oper_chwidth
      Src: /src/hostap/src/ap/ieee802_11_vht.c:87,1
    - Dst: hostapd_get_punct_bitmap
      Src: /src/hostap/src/ap/ieee802_11_vht.c:91,1
    - Dst: is_6ghz_op_class
      Src: /src/hostap/src/ap/ieee802_11_vht.c:94,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/ieee802_11_vht.c:101,1
    - Dst: hostapd_get_oper_chwidth
      Src: /src/hostap/src/ap/ieee802_11_vht.c:105,1
    - Dst: hostapd_get_oper_centr_freq_seg0_idx
      Src: /src/hostap/src/ap/ieee802_11_vht.c:106,1
    - Dst: hostapd_get_oper_centr_freq_seg1_idx
      Src: /src/hostap/src/ap/ieee802_11_vht.c:107,1
    - Dst: punct_update_legacy_bw
      Src: /src/hostap/src/ap/ieee802_11_vht.c:108,1
    - Dst: host_to_le16
      Src: /src/hostap/src/ap/ieee802_11_vht.c:146,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 2
    argNames:
    - hapd
    - eid
    argTypes:
    - struct hostapd_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 150
    functionName: hostapd_eid_vht_operation
    functionSourceFile: /src/hostap/src/ap/ieee802_11_vht.c
    functionUses: 3
    functionsReached:
    - hostapd_get_oper_centr_freq_seg1_idx
    - is_6ghz_op_class
    - hostapd_get_punct_bitmap
    - hostapd_get_oper_centr_freq_seg0_idx
    - host_to_le16
    - punct_update_legacy_bw
    - hostapd_get_oper_chwidth
    - os_memset
    linkageType: ''
    returnType: u8
    signature: u8 * hostapd_eid_vht_operation(struct hostapd_data *hapd, u8 *eid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mode_for_vht_capab
      Src: /src/hostap/src/ap/ieee802_11_vht.c:164,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_vht.c:172,1
    - Dst: le_to_host16
      Src: /src/hostap/src/ap/ieee802_11_vht.c:177,1
    - Dst: le_to_host16
      Src: /src/hostap/src/ap/ieee802_11_vht.c:178,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_vht.c:190,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - hapd
    - sta_vht_capab
    argTypes:
    - struct hostapd_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 193
    functionName: check_valid_vht_mcs
    functionSourceFile: /src/hostap/src/ap/ieee802_11_vht.c
    functionUses: 0
    functionsReached:
    - mode_for_vht_capab
    - os_memcpy
    - wpa_printf
    - le_to_host16
    linkageType: ''
    returnType: int
    signature: "int check_valid_vht_mcs(struct hostapd_data *hapd,\n\t\t\t       const
      u8 *sta_vht_capab)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_is_vht_enabled
      Src: /src/hostap/src/ap/ieee802_11_vht.c:201,1
    - Dst: check_valid_vht_mcs
      Src: /src/hostap/src/ap/ieee802_11_vht.c:202,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_11_vht.c:205,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/ieee802_11_vht.c:212,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_vht.c:218,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - hapd
    - sta
    - vht_capab
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 222
    functionName: copy_sta_vht_capab
    functionSourceFile: /src/hostap/src/ap/ieee802_11_vht.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    - hostapd_is_vht_enabled
    - check_valid_vht_mcs
    - os_zalloc
    - os_free
    linkageType: ''
    returnType: u16
    signature: "u16 copy_sta_vht_capab(struct hostapd_data *hapd, struct sta_info
      *sta,\n\t\t       const u8 *vht_capab)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_11_vht.c:229,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/ieee802_11_vht.c:236,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_vht.c:241,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - hapd
    - sta
    - vht_oper
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 245
    functionName: copy_sta_vht_oper
    functionSourceFile: /src/hostap/src/ap/ieee802_11_vht.c
    functionUses: 1
    functionsReached:
    - os_free
    - os_zalloc
    - os_memcpy
    linkageType: ''
    returnType: u16
    signature: "u16 copy_sta_vht_oper(struct hostapd_data *hapd, struct sta_info *sta,\n\t\t
      \     const u8 *vht_oper)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/ieee802_11_vht.c:270,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_vht.c:276,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 4
    argNames:
    - hapd
    - sta
    - ie
    - len
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 283
    functionName: copy_sta_vendor_vht
    functionSourceFile: /src/hostap/src/ap/ieee802_11_vht.c
    functionUses: 0
    functionsReached:
    - os_zalloc
    - os_memcpy
    linkageType: ''
    returnType: u16
    signature: "u16 copy_sta_vendor_vht(struct hostapd_data *hapd, struct sta_info
      *sta,\n\t\t\tconst u8 *ie, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/src/ap/ieee802_11_vht.c:300,1
    - Dst: hostapd_eid_vht_capabilities
      Src: /src/hostap/src/ap/ieee802_11_vht.c:303,1
    - Dst: hostapd_eid_vht_operation
      Src: /src/hostap/src/ap/ieee802_11_vht.c:304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - hapd
    - eid
    argTypes:
    - struct hostapd_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 307
    functionName: hostapd_eid_vendor_vht
    functionSourceFile: /src/hostap/src/ap/ieee802_11_vht.c
    functionUses: 2
    functionsReached:
    - WPA_PUT_BE32
    - hostapd_eid_vht_operation
    - hostapd_eid_vht_capabilities
    linkageType: ''
    returnType: u8
    signature: u8 * hostapd_eid_vendor_vht(struct hostapd_data *hapd, u8 *eid)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - hapd
    - sta
    - vht_oper_notif
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 321
    functionName: set_sta_vht_opmode
    functionSourceFile: /src/hostap/src/ap/ieee802_11_vht.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: u16
    signature: "u16 set_sta_vht_opmode(struct hostapd_data *hapd, struct sta_info
      *sta,\n\t\t       const u8 *vht_oper_notif)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_vht.c:332,1
    - Dst: le_to_host32
      Src: /src/hostap/src/ap/ieee802_11_vht.c:334,1
    - Dst: host_to_le32
      Src: /src/hostap/src/ap/ieee802_11_vht.c:383,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 3
    argNames:
    - hapd
    - vht_cap
    - neg_vht_cap
    argTypes:
    - struct hostapd_data*
    - struct ieee80211_vht_capabilities*
    - struct ieee80211_vht_capabilities*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 384
    functionName: hostapd_get_vht_capab
    functionSourceFile: /src/hostap/src/ap/ieee802_11_vht.c
    functionUses: 0
    functionsReached:
    - le_to_host32
    - os_memcpy
    - host_to_le32
    linkageType: ''
    returnType: void
    signature: "void hostapd_get_vht_capab(struct hostapd_data *hapd,\n\t\t\t   struct
      ieee80211_vht_capabilities *vht_cap,\n\t\t\t   struct ieee80211_vht_capabilities
      *neg_vht_cap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/acs.h:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 27
    functionName: acs_init
    functionSourceFile: /src/hostap/src/ap/acs.h
    functionUses: 3
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: enum hostapd_chan_status
    signature: enum hostapd_chan_status acs_init(struct hostapd_iface *iface)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: acs_cleanup
    functionSourceFile: /src/hostap/src/ap/acs.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void acs_cleanup(struct hostapd_iface *iface)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/vlan_ioctl.c:24,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/vlan_ioctl.c:25,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/vlan_ioctl.c:26,1
    - Dst: socket
      Src: /src/hostap/src/ap/vlan_ioctl.c:31,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/vlan_ioctl.c:32,1
    - Dst: strerror
      Src: /src/hostap/src/ap/vlan_ioctl.c:33,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/vlan_ioctl.c:37,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/ap/vlan_ioctl.c:39,1
    - Dst: ioctl
      Src: /src/hostap/src/ap/vlan_ioctl.c:42,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/vlan_ioctl.c:43,1
    - Dst: strerror
      Src: /src/hostap/src/ap/vlan_ioctl.c:44,1
    - Dst: close
      Src: /src/hostap/src/ap/vlan_ioctl.c:45,1
    - Dst: close
      Src: /src/hostap/src/ap/vlan_ioctl.c:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - if_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 51
    functionName: vlan_rem
    functionSourceFile: /src/hostap/src/ap/vlan_ioctl.c
    functionUses: 1
    functionsReached:
    - os_strlen
    - ioctl
    - wpa_printf
    - strerror
    - socket
    - os_strlcpy
    - close
    - os_memset
    linkageType: ''
    returnType: int
    signature: int vlan_rem(const char *if_name)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/vlan_ioctl.c:67,1
    - Dst: ifconfig_up
      Src: /src/hostap/src/ap/vlan_ioctl.c:69,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/vlan_ioctl.c:71,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/vlan_ioctl.c:72,1
    - Dst: socket
      Src: /src/hostap/src/ap/vlan_ioctl.c:77,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/vlan_ioctl.c:78,1
    - Dst: strerror
      Src: /src/hostap/src/ap/vlan_ioctl.c:79,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/vlan_ioctl.c:83,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/vlan_ioctl.c:87,1
    - Dst: ioctl
      Src: /src/hostap/src/ap/vlan_ioctl.c:92,1
    - Dst: ioctl
      Src: /src/hostap/src/ap/vlan_ioctl.c:96,1
    - Dst: os_strncmp
      Src: /src/hostap/src/ap/vlan_ioctl.c:97,1
    - Dst: close
      Src: /src/hostap/src/ap/vlan_ioctl.c:99,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/vlan_ioctl.c:100,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/vlan_ioctl.c:109,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/ap/vlan_ioctl.c:110,1
    - Dst: ioctl
      Src: /src/hostap/src/ap/vlan_ioctl.c:114,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/vlan_ioctl.c:115,1
    - Dst: strerror
      Src: /src/hostap/src/ap/vlan_ioctl.c:117,1
    - Dst: close
      Src: /src/hostap/src/ap/vlan_ioctl.c:118,1
    - Dst: close
      Src: /src/hostap/src/ap/vlan_ioctl.c:122,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 3
    argNames:
    - if_name
    - vid
    - vlan_if_name
    argTypes:
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 124
    functionName: vlan_add
    functionSourceFile: /src/hostap/src/ap/vlan_ioctl.c
    functionUses: 1
    functionsReached:
    - os_strlen
    - ioctl
    - wpa_printf
    - strerror
    - ifconfig_up
    - socket
    - os_strlcpy
    - os_strncmp
    - os_snprintf
    - close
    - os_memset
    linkageType: ''
    returnType: int
    signature: int vlan_add(const char *if_name, int vid, const char *vlan_if_name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/vlan_ioctl.c:132,1
    - Dst: socket
      Src: /src/hostap/src/ap/vlan_ioctl.c:134,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/vlan_ioctl.c:135,1
    - Dst: strerror
      Src: /src/hostap/src/ap/vlan_ioctl.c:137,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/vlan_ioctl.c:141,1
    - Dst: ioctl
      Src: /src/hostap/src/ap/vlan_ioctl.c:145,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/vlan_ioctl.c:146,1
    - Dst: strerror
      Src: /src/hostap/src/ap/vlan_ioctl.c:148,1
    - Dst: close
      Src: /src/hostap/src/ap/vlan_ioctl.c:149,1
    - Dst: close
      Src: /src/hostap/src/ap/vlan_ioctl.c:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - name_type
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 155
    functionName: vlan_set_name_type
    functionSourceFile: /src/hostap/src/ap/vlan_ioctl.c
    functionUses: 1
    functionsReached:
    - ioctl
    - wpa_printf
    - strerror
    - socket
    - close
    - os_memset
    linkageType: ''
    returnType: int
    signature: int vlan_set_name_type(unsigned int name_type)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: add_multi_ap_ie
      Src: /src/hostap/src/ap/ieee802_11.c:124,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - hapd
    - eid
    - len
    argTypes:
    - struct hostapd_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 125
    functionName: hostapd_eid_multi_ap
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - add_multi_ap_ie
    linkageType: ''
    returnType: u8
    signature: u8 * hostapd_eid_multi_ap(struct hostapd_data *hapd, u8 *eid, size_t
      len)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_sae_pw_id_in_use
      Src: /src/hostap/src/ap/ieee802_11.c:167,1
    - Dst: wpa_key_mgmt_only_sae
      Src: /src/hostap/src/ap/ieee802_11.c:169,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 22
    argCount: 2
    argNames:
    - hapd
    - buf
    argTypes:
    - struct hostapd_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 174
    functionName: hostapd_supp_rates
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - hostapd_sae_pw_id_in_use
    - wpa_key_mgmt_only_sae
    linkageType: ''
    returnType: size_t
    signature: size_t hostapd_supp_rates(struct hostapd_data *hapd, u8 *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_supp_rates
      Src: /src/hostap/src/ap/ieee802_11.c:183,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11.c:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - hapd
    - eid
    argTypes:
    - struct hostapd_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 196
    functionName: hostapd_eid_supp_rates
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 3
    functionsReached:
    - hostapd_supp_rates
    - os_memcpy
    linkageType: ''
    returnType: u8
    signature: u8 * hostapd_eid_supp_rates(struct hostapd_data *hapd, u8 *eid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_supp_rates
      Src: /src/hostap/src/ap/ieee802_11.c:205,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11.c:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - hapd
    - eid
    argTypes:
    - struct hostapd_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 216
    functionName: hostapd_eid_ext_supp_rates
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 3
    functionsReached:
    - hostapd_supp_rates
    - os_memcpy
    linkageType: ''
    returnType: u8
    signature: u8 * hostapd_eid_ext_supp_rates(struct hostapd_data *hapd, u8 *eid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11.c:234,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - hapd
    - eid
    - len
    argTypes:
    - struct hostapd_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 237
    functionName: hostapd_eid_rm_enabled_capab
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 3
    functionsReached:
    - os_memcpy
    linkageType: ''
    returnType: u8
    signature: "u8 * hostapd_eid_rm_enabled_capab(struct hostapd_data *hapd, u8 *eid,\n\t\t\t\t
      \ size_t len)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_is_dfs_required
      Src: /src/hostap/src/ap/ieee802_11.c:248,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:250,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 26
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 240
    functionDepth: 3
    functionLinenumber: 240
    functionLinenumberEnd: 298
    functionName: hostapd_own_capab_info
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 3
    functionsReached:
    - wpa_printf
    - hostapd_is_dfs_required
    linkageType: ''
    returnType: u16
    signature: u16 hostapd_own_capab_info(struct hostapd_data *hapd)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_11.c:307,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/ieee802_11.c:317,1
    - Dst: os_get_random
      Src: /src/hostap/src/ap/ieee802_11.c:321,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_11.c:322,1
    - Dst: rc4_skip
      Src: /src/hostap/src/ap/ieee802_11.c:327,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/ap/ieee802_11.c:338,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_11.c:340,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_11.c:347,1
    - Dst: wpa_auth_sm_event
      Src: /src/hostap/src/ap/ieee802_11.c:351,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_11.c:352,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 5
    argNames:
    - hapd
    - sta
    - auth_transaction
    - challenge
    - iswep
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u16
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 303
    functionDepth: 3
    functionLinenumber: 303
    functionLinenumberEnd: 356
    functionName: auth_shared_key
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - os_get_random
    - hostapd_logger
    - rc4_skip
    - os_memcmp_const
    - wpa_auth_sm_event
    - os_zalloc
    - os_free
    linkageType: ''
    returnType: u16
    signature: "u16 auth_shared_key(struct hostapd_data *hapd, struct sta_info *sta,\n\t\t\t
      \  u16 auth_transaction, const u8 *challenge,\n\t\t\t   int iswep)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ap_sta_is_mld
      Src: /src/hostap/src/ap/ieee802_11.c:378,1
    - Dst: hostapd_ml_auth_resp
      Src: /src/hostap/src/ap/ieee802_11.c:379,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_11.c:382,1
    - Dst: wpa_mic_len
      Src: /src/hostap/src/ap/ieee802_11.c:395,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/ieee802_11.c:402,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ieee802_11.c:404,1
    - Dst: IEEE80211_FC
      Src: /src/hostap/src/ap/ieee802_11.c:409,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11.c:411,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11.c:412,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11.c:413,1
    - Dst: host_to_le16
      Src: /src/hostap/src/ap/ieee802_11.c:415,1
    - Dst: host_to_le16
      Src: /src/hostap/src/ap/ieee802_11.c:416,1
    - Dst: host_to_le16
      Src: /src/hostap/src/ap/ieee802_11.c:417,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11.c:420,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11.c:424,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/ieee802_11.c:425,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_11.c:425,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ieee802_11.c:427,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:430,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:432,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:442,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_11.c:444,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:452,1
    - Dst: hostapd_drv_send_mlme
      Src: /src/hostap/src/ap/ieee802_11.c:454,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:458,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_11.c:459,1
    - Dst: ap_sta_is_mld
      Src: /src/hostap/src/ap/ieee802_11.c:478,1
    - Dst: hostapd_wpa_ie
      Src: /src/hostap/src/ap/ieee802_11.c:482,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:484,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11.c:487,1
    - Dst: hostapd_wpa_ie
      Src: /src/hostap/src/ap/ieee802_11.c:490,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:492,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11.c:493,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:496,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/ieee802_11.c:503,1
    - Dst: wpa_auth_8021x_mic
      Src: /src/hostap/src/ap/ieee802_11.c:507,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:512,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11.c:515,1
    - Dst: hostapd_drv_send_mlme
      Src: /src/hostap/src/ap/ieee802_11.c:519,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:520,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_11.c:524,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 83
    argCount: 9
    argNames:
    - hapd
    - sta
    - dst
    - auth_alg
    - auth_transaction
    - resp
    - ies
    - ies_len
    - dbg
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u8*
    - u16
    - u16
    - u16
    - u8*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 361
    functionDepth: 2
    functionLinenumber: 361
    functionLinenumberEnd: 527
    functionName: send_auth_reply
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_printf
    - hostapd_ml_auth_resp
    - wpa_auth_8021x_mic
    - ap_sta_is_mld
    - wpabuf_len
    - hostapd_drv_send_mlme
    - wpabuf_free
    - wpabuf_head
    - MAC2STR
    - os_zalloc
    - hostapd_wpa_ie
    - IEEE80211_FC
    - host_to_le16
    - os_free
    - wpa_mic_len
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int send_auth_reply(struct hostapd_data *hapd, struct sta_info *sta,\n\t\t\t
      \  const u8 *dst,\n\t\t\t   u16 auth_alg, u16 auth_transaction, u16 resp,\n\t\t\t
      \  const u8 *ies, size_t ies_len, const char *dbg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: send_auth_reply
      Src: /src/hostap/src/ap/ieee802_11.c:536,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/ieee802_11.c:537,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_11.c:538,1
    - Dst: hostapd_drv_sta_remove
      Src: /src/hostap/src/ap/ieee802_11.c:542,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ieee802_11.c:545,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 5
    argNames:
    - hapd
    - sta
    - auth_transaction
    - resp
    - ies
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u16
    - u16
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 531
    functionDepth: 3
    functionLinenumber: 531
    functionLinenumberEnd: 546
    functionName: send_8021x_auth_reply
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - send_auth_reply
    - wpabuf_len
    - hostapd_drv_sta_remove
    - wpabuf_free
    - wpabuf_head
    linkageType: ''
    returnType: void
    signature: "void send_8021x_auth_reply(struct hostapd_data *hapd,\n\t\t\t\t  struct
      sta_info *sta,\n\t\t\t\t  u16 auth_transaction, u16 resp,\n\t\t\t\t  struct
      wpabuf *ies)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: send_auth_reply
      Src: /src/hostap/src/ap/ieee802_11.c:559,1
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/ieee802_11.c:563,1
    - Dst: hostapd_drv_sta_remove
      Src: /src/hostap/src/ap/ieee802_11.c:569,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_11.c:577,1
    - Dst: mlme_authenticate_indication
      Src: /src/hostap/src/ap/ieee802_11.c:580,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 6
    argNames:
    - ctx
    - dst
    - auth_transaction
    - status
    - ies
    - ies_len
    argTypes:
    - void*
    - u8*
    - u16
    - u16
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 551
    functionDepth: 3
    functionLinenumber: 551
    functionLinenumberEnd: 581
    functionName: handle_auth_ft_finish
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - send_auth_reply
    - hostapd_drv_sta_remove
    - hostapd_logger
    - mlme_authenticate_indication
    - ap_get_sta
    linkageType: ''
    returnType: void
    signature: "void handle_auth_ft_finish(void *ctx, const u8 *dst,\n\t\t\t\t  u16
      auth_transaction, u16 status,\n\t\t\t\t  const u8 *ies, size_t ies_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:590,1
    - Dst: sae_state_txt
      Src: /src/hostap/src/ap/ieee802_11.c:591,1
    - Dst: sae_state_txt
      Src: /src/hostap/src/ap/ieee802_11.c:591,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:592,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - sta
    - state
    - reason
    argTypes:
    - struct sta_info*
    - enum sae_state
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 587
    functionDepth: 1
    functionLinenumber: 587
    functionLinenumberEnd: 594
    functionName: sae_set_state
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    - sae_state_txt
    linkageType: ''
    returnType: void
    signature: "void sae_set_state(struct sta_info *sta, enum sae_state state,\n\t\t\t
      \ const char *reason)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/ieee802_11.c:602,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - list
    - num
    - addr
    argTypes:
    - u8*
    - unsigned int
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 597
    functionDepth: 1
    functionLinenumber: 597
    functionLinenumberEnd: 607
    functionName: in_mac_addr_list
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - ether_addr_equal
    linkageType: ''
    returnType: bool
    signature: bool in_mac_addr_list(const u8 *list, unsigned int num, const u8 *addr)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 625
    functionName: sae_password_find_pw
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct sae_password_entry
    signature: 'struct sae_password_entry *

      sae_password_find_pw(struct hostapd_data *hapd, struct sta_info *sta)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_broadcast_ether_addr
      Src: /src/hostap/src/ap/ieee802_11.c:637,1
    - Dst: in_mac_addr_list
      Src: /src/hostap/src/ap/ieee802_11.c:640,1
    - Dst: in_mac_addr_list
      Src: /src/hostap/src/ap/ieee802_11.c:645,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - hapd
    - sta
    - used_pw
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - struct sae_password_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 628
    functionDepth: 2
    functionLinenumber: 628
    functionLinenumberEnd: 651
    functionName: is_other_sae_password
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - is_broadcast_ether_addr
    - in_mac_addr_list
    linkageType: ''
    returnType: bool
    signature: "bool is_other_sae_password(struct hostapd_data *hapd,\n\t\t\t\t  struct
      sta_info *sta,\n\t\t\t\t  struct sae_password_entry *used_pw)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_broadcast_ether_addr
      Src: /src/hostap/src/ap/ieee802_11.c:661,1
    - Dst: in_mac_addr_list
      Src: /src/hostap/src/ap/ieee802_11.c:664,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 654
    functionDepth: 2
    functionLinenumber: 654
    functionLinenumberEnd: 671
    functionName: has_sae_success_seen
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - is_broadcast_ether_addr
    - in_mac_addr_list
    linkageType: ''
    returnType: bool
    signature: "bool has_sae_success_seen(struct hostapd_data *hapd,\n\t\t\t\t struct
      sta_info *sta)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: in_mac_addr_list
      Src: /src/hostap/src/ap/ieee802_11.c:678,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/ieee802_11.c:682,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11.c:689,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - hapd
    - pw
    - addr
    argTypes:
    - struct hostapd_data*
    - struct sae_password_entry*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 674
    functionDepth: 2
    functionLinenumber: 674
    functionLinenumberEnd: 693
    functionName: sae_password_mark_success
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - os_zalloc
    - in_mac_addr_list
    - os_memcpy
    linkageType: ''
    returnType: int
    signature: "int sae_password_mark_success(struct hostapd_data *hapd,\n\t\t\t\t
      \     struct sae_password_entry *pw,\n\t\t\t\t      const u8 *addr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sae_password_find_pw
      Src: /src/hostap/src/ap/ieee802_11.c:704,1
    - Dst: sae_password_mark_success
      Src: /src/hostap/src/ap/ieee802_11.c:708,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 696
    functionDepth: 3
    functionLinenumber: 696
    functionLinenumberEnd: 709
    functionName: sae_password_track_success
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - sae_password_mark_success
    - sae_password_find_pw
    linkageType: ''
    returnType: void
    signature: "void sae_password_track_success(struct hostapd_data *hapd,\n\t\t\t\t
      \      struct sta_info *sta)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sae_password_find_pw
      Src: /src/hostap/src/ap/ieee802_11.c:720,1
    - Dst: in_mac_addr_list
      Src: /src/hostap/src/ap/ieee802_11.c:724,1
    - Dst: is_other_sae_password
      Src: /src/hostap/src/ap/ieee802_11.c:727,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/ieee802_11.c:730,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11.c:737,1
    - Dst: is_other_sae_password
      Src: /src/hostap/src/ap/ieee802_11.c:741,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 712
    functionDepth: 3
    functionLinenumber: 712
    functionLinenumberEnd: 742
    functionName: sae_password_track_fail
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - is_other_sae_password
    - sae_password_find_pw
    - os_zalloc
    - in_mac_addr_list
    linkageType: ''
    returnType: bool
    signature: "bool sae_password_track_fail(struct hostapd_data *hapd,\n\t\t\t\t
      \   struct sta_info *sta)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_broadcast_ether_addr
      Src: /src/hostap/src/ap/ieee802_11.c:755,1
    - Dst: os_strcmp
      Src: /src/hostap/src/ap/ieee802_11.c:756,1
    - Dst: sae_password_mark_success
      Src: /src/hostap/src/ap/ieee802_11.c:759,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - hapd
    - addr
    - password
    argTypes:
    - struct hostapd_data*
    - u8*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 745
    functionDepth: 3
    functionLinenumber: 745
    functionLinenumberEnd: 763
    functionName: sae_password_bind
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 1
    functionsReached:
    - is_broadcast_ether_addr
    - sae_password_mark_success
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: "int sae_password_bind(struct hostapd_data *hapd, const u8 *addr,\n\t\t
      \     const char *password)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: is_broadcast_ether_addr
      Src: /src/hostap/src/ap/ieee802_11.c:790,1
    - Dst: in_mac_addr_list
      Src: /src/hostap/src/ap/ieee802_11.c:792,1
    - Dst: in_mac_addr_list
      Src: /src/hostap/src/ap/ieee802_11.c:800,1
    - Dst: is_broadcast_ether_addr
      Src: /src/hostap/src/ap/ieee802_11.c:819,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/ieee802_11.c:821,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/ieee802_11.c:826,1
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/ieee802_11.c:827,1
    - Dst: os_malloc
      Src: /src/hostap/src/ap/ieee802_11.c:858,1
    - Dst: aes_siv_decrypt
      Src: /src/hostap/src/ap/ieee802_11.c:861,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/ieee802_11.c:862,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_11.c:863,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/ap/ieee802_11.c:867,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:872,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/ap/ieee802_11.c:873,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/ap/ieee802_11.c:873,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/ap/ieee802_11.c:881,1
    - Dst: is_broadcast_ether_addr
      Src: /src/hostap/src/ap/ieee802_11.c:885,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/ieee802_11.c:887,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/ieee802_11.c:890,1
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/ieee802_11.c:891,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_11.c:897,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/ieee802_11.c:899,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11.c:901,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/ap/ieee802_11.c:905,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:906,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_11.c:913,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 100
    argCount: 7
    argNames:
    - hapd
    - sta
    - rx_id
    - rx_id_len
    - pw_entry
    - s_pt
    - s_pk
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u8*
    - size_t
    - struct sae_password_entry**
    - struct sae_pt**
    - struct sae_pk**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 766
    functionDepth: 3
    functionLinenumber: 766
    functionLinenumberEnd: 925
    functionName: sae_get_password
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 1
    functionsReached:
    - os_strlen
    - wpa_printf
    - os_memcpy
    - is_broadcast_ether_addr
    - wpabuf_len
    - ether_addr_equal
    - os_malloc
    - WPA_GET_BE32
    - wpabuf_head
    - os_zalloc
    - in_mac_addr_list
    - os_memcmp
    - os_free
    - wpa_hexdump_ascii
    - aes_siv_decrypt
    linkageType: ''
    returnType: char
    signature: "char * sae_get_password(struct hostapd_data *hapd,\n\t\t\t      struct
      sta_info *sta,\n\t\t\t      const u8 *rx_id, size_t rx_id_len,\n\t\t\t      struct
      sae_password_entry **pw_entry,\n\t\t\t      struct sae_pt **s_pt,\n\t\t\t      const
      struct sae_pk **s_pk)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: ap_sta_is_mld
      Src: /src/hostap/src/ap/ieee802_11.c:943,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11.c:955,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11.c:956,1
    - Dst: sae_get_password
      Src: /src/hostap/src/ap/ieee802_11.c:968,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:970,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:981,1
    - Dst: sae_derive_pt
      Src: /src/hostap/src/ap/ieee802_11.c:983,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/ieee802_11.c:986,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:989,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:998,1
    - Dst: sae_prepare_commit_pt
      Src: /src/hostap/src/ap/ieee802_11.c:1003,1
    - Dst: sae_deinit_pt
      Src: /src/hostap/src/ap/ieee802_11.c:1007,1
    - Dst: sae_prepare_commit
      Src: /src/hostap/src/ap/ieee802_11.c:1013,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/ieee802_11.c:1014,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:1016,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:1025,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/ap/ieee802_11.c:1032,1
    - Dst: sae_write_commit
      Src: /src/hostap/src/ap/ieee802_11.c:1035,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ieee802_11.c:1038,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 61
    argCount: 4
    argNames:
    - hapd
    - sta
    - update
    - status_code
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 928
    functionDepth: 4
    functionLinenumber: 928
    functionLinenumberEnd: 1043
    functionName: auth_build_sae_commit
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 1
    functionsReached:
    - sae_derive_pt
    - os_strlen
    - os_memcpy
    - wpa_printf
    - sae_deinit_pt
    - sae_prepare_commit
    - ap_sta_is_mld
    - wpabuf_free
    - wpabuf_alloc
    - sae_write_commit
    - sae_get_password
    - sae_prepare_commit_pt
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * auth_build_sae_commit(struct hostapd_data *hapd,\n\t\t\t\t\t
      \    struct sta_info *sta, int update,\n\t\t\t\t\t     int status_code)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/ap/ieee802_11.c:1051,1
    - Dst: sae_write_confirm
      Src: /src/hostap/src/ap/ieee802_11.c:1062,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ieee802_11.c:1063,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1068
      start: 1046
    functionDepth: 1
    functionLinenumber: 1046
    functionLinenumberEnd: 1068
    functionName: auth_build_sae_confirm
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 1
    functionsReached:
    - wpabuf_alloc
    - wpabuf_free
    - sae_write_confirm
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * auth_build_sae_confirm(struct hostapd_data *hapd,\n\t\t\t\t\t
      \     struct sta_info *sta)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: auth_build_sae_commit
      Src: /src/hostap/src/ap/ieee802_11.c:1079,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:1095,1
    - Dst: send_auth_reply
      Src: /src/hostap/src/ap/ieee802_11.c:1101,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/ieee802_11.c:1103,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_11.c:1104,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ieee802_11.c:1106,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 4
    argNames:
    - hapd
    - sta
    - update
    - status_code
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1109
      start: 1071
    functionDepth: 5
    functionLinenumber: 1071
    functionLinenumberEnd: 1109
    functionName: auth_sae_send_commit
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - auth_build_sae_commit
    - send_auth_reply
    - wpabuf_len
    - wpabuf_free
    - wpabuf_head
    linkageType: ''
    returnType: int
    signature: "int auth_sae_send_commit(struct hostapd_data *hapd,\n\t\t\t\tstruct
      sta_info *sta,\n\t\t\t\tint update, int status_code)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: auth_build_sae_confirm
      Src: /src/hostap/src/ap/ieee802_11.c:1118,1
    - Dst: send_auth_reply
      Src: /src/hostap/src/ap/ieee802_11.c:1122,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/ieee802_11.c:1124,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_11.c:1125,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ieee802_11.c:1127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 1112
    functionDepth: 3
    functionLinenumber: 1112
    functionLinenumberEnd: 1130
    functionName: auth_sae_send_confirm
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - send_auth_reply
    - wpabuf_len
    - wpabuf_free
    - wpabuf_head
    - auth_build_sae_confirm
    linkageType: ''
    returnType: int
    signature: "int auth_sae_send_confirm(struct hostapd_data *hapd,\n\t\t\t\t struct
      sta_info *sta)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_len
      Src: /src/hostap/src/ap/ieee802_11.c:1164,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1170
      start: 1137
    functionDepth: 1
    functionLinenumber: 1137
    functionLinenumberEnd: 1170
    functionName: use_anti_clogging
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - dl_list_len
    linkageType: ''
    returnType: int
    signature: int use_anti_clogging(struct hostapd_data *hapd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sae_set_state
      Src: /src/hostap/src/ap/ieee802_11.c:1180,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/ap/ieee802_11.c:1186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1192
      start: 1177
    functionDepth: 2
    functionLinenumber: 1177
    functionLinenumberEnd: 1192
    functionName: sae_check_big_sync
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - os_get_reltime
    - sae_set_state
    linkageType: ''
    returnType: int
    signature: int sae_check_big_sync(struct hostapd_data *hapd, struct sta_info *sta)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_reltime_initialized
      Src: /src/hostap/src/ap/ieee802_11.c:1205,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/ap/ieee802_11.c:1208,1
    - Dst: os_reltime_before
      Src: /src/hostap/src/ap/ieee802_11.c:1209,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - sta
    argTypes:
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1214
      start: 1195
    functionDepth: 1
    functionLinenumber: 1195
    functionLinenumberEnd: 1214
    functionName: sae_proto_instance_disabled
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - os_reltime_initialized
    - os_get_reltime
    - os_reltime_before
    linkageType: ''
    returnType: bool
    signature: bool sae_proto_instance_disabled(struct sta_info *sta)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sae_check_big_sync
      Src: /src/hostap/src/ap/ieee802_11.c:1223,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:1226,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:1228,1
    - Dst: sae_state_txt
      Src: /src/hostap/src/ap/ieee802_11.c:1229,1
    - Dst: auth_sae_send_commit
      Src: /src/hostap/src/ap/ieee802_11.c:1233,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/ieee802_11.c:1234,1
    - Dst: auth_sae_send_confirm
      Src: /src/hostap/src/ap/ieee802_11.c:1239,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/ieee802_11.c:1240,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:1250,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - eloop_ctx
    - eloop_data
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1251
      start: 1217
    functionDepth: 6
    functionLinenumber: 1217
    functionLinenumberEnd: 1251
    functionName: auth_sae_retransmit_timer
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - auth_sae_send_commit
    - wpa_printf
    - sae_check_big_sync
    - auth_sae_send_confirm
    - MAC2STR
    - eloop_register_timeout
    - sae_state_txt
    linkageType: ''
    returnType: void
    signature: void auth_sae_retransmit_timer(void *eloop_ctx, void *eloop_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/ieee802_11.c:1256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1254
    functionDepth: 0
    functionLinenumber: 1254
    functionLinenumberEnd: 1257
    functionName: sae_clear_retransmit_timer
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 1
    functionsReached:
    - eloop_cancel_timeout
    linkageType: ''
    returnType: void
    signature: void sae_clear_retransmit_timer(struct hostapd_data *hapd, struct sta_info
      *sta)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/ieee802_11.c:1266,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/ieee802_11.c:1267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1269
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1269
    functionName: sae_set_retransmit_timer
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - eloop_cancel_timeout
    - eloop_register_timeout
    linkageType: ''
    returnType: void
    signature: "void sae_set_retransmit_timer(struct hostapd_data *hapd,\n\t\t\t\t
      \    struct sta_info *sta)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/ap/ieee802_11.c:1277,1
    - Dst: ap_sta_is_mld
      Src: /src/hostap/src/ap/ieee802_11.c:1281,1
    - Dst: hostapd_drv_send_external_auth_status
      Src: /src/hostap/src/ap/ieee802_11.c:1292,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - hapd
    - sta
    - status
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1293
      start: 1272
    functionDepth: 1
    functionLinenumber: 1272
    functionLinenumberEnd: 1293
    functionName: sae_sme_send_external_auth_status
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - ap_sta_is_mld
    - hostapd_drv_send_external_auth_status
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void sae_sme_send_external_auth_status(struct hostapd_data *hapd,\n\t\t\t\t\t
      \     struct sta_info *sta, u16 status)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:1303,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:1305,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/ieee802_11.c:1308,1
    - Dst: hostapd_vlan_valid
      Src: /src/hostap/src/ap/ieee802_11.c:1311,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:1312,1
    - Dst: ap_sta_set_vlan
      Src: /src/hostap/src/ap/ieee802_11.c:1318,1
    - Dst: ap_sta_bind_vlan
      Src: /src/hostap/src/ap/ieee802_11.c:1319,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:1320,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:1323,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - hapd
    - sta
    - vlan_id
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1333
      start: 1296
    functionDepth: 8
    functionLinenumber: 1296
    functionLinenumberEnd: 1333
    functionName: sae_assign_vlan
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - ap_sta_bind_vlan
    - MAC2STR
    - hostapd_vlan_valid
    - ap_sta_set_vlan
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int sae_assign_vlan(struct hostapd_data *hapd, struct sta_info *sta,\n\t\t\t
      \  int vlan_id)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sae_assign_vlan
      Src: /src/hostap/src/ap/ieee802_11.c:1339,1
    - Dst: mlme_authenticate_indication
      Src: /src/hostap/src/ap/ieee802_11.c:1344,1
    - Dst: wpa_auth_sm_event
      Src: /src/hostap/src/ap/ieee802_11.c:1345,1
    - Dst: sae_set_state
      Src: /src/hostap/src/ap/ieee802_11.c:1346,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/ap/ieee802_11.c:1347,1
    - Dst: wpa_auth_pmksa_add_sae
      Src: /src/hostap/src/ap/ieee802_11.c:1350,1
    - Dst: ap_sta_is_mld
      Src: /src/hostap/src/ap/ieee802_11.c:1353,1
    - Dst: sae_sme_send_external_auth_status
      Src: /src/hostap/src/ap/ieee802_11.c:1354,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ieee802_11.c:1358,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/ap/ieee802_11.c:1361,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/ap/ieee802_11.c:1365,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1369
      start: 1336
    functionDepth: 9
    functionLinenumber: 1336
    functionLinenumberEnd: 1369
    functionName: sae_accept_sta
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 1
    functionsReached:
    - ap_sta_is_mld
    - wpabuf_free
    - sae_sme_send_external_auth_status
    - wpabuf_alloc_copy
    - wpa_auth_sm_event
    - crypto_bignum_deinit
    - wpa_auth_pmksa_add_sae
    - mlme_authenticate_indication
    - sae_set_state
    - sae_assign_vlan
    linkageType: ''
    returnType: void
    signature: void sae_accept_sta(struct hostapd_data *hapd, struct sta_info *sta)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:1384,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:1385,1
    - Dst: sae_state_txt
      Src: /src/hostap/src/ap/ieee802_11.c:1385,1
    - Dst: sae_proto_instance_disabled
      Src: /src/hostap/src/ap/ieee802_11.c:1389,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:1390,1
    - Dst: auth_sae_send_commit
      Src: /src/hostap/src/ap/ieee802_11.c:1409,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/ieee802_11.c:1412,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:1414,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/ap/ieee802_11.c:1423,1
    - Dst: sae_set_state
      Src: /src/hostap/src/ap/ieee802_11.c:1428,1
    - Dst: sae_process_commit
      Src: /src/hostap/src/ap/ieee802_11.c:1430,1
    - Dst: has_sae_success_seen
      Src: /src/hostap/src/ap/ieee802_11.c:1455,1
    - Dst: auth_sae_send_confirm
      Src: /src/hostap/src/ap/ieee802_11.c:1464,1
    - Dst: sae_set_state
      Src: /src/hostap/src/ap/ieee802_11.c:1467,1
    - Dst: sae_set_retransmit_timer
      Src: /src/hostap/src/ap/ieee802_11.c:1480,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_11.c:1482,1
    - Dst: sae_clear_retransmit_timer
      Src: /src/hostap/src/ap/ieee802_11.c:1489,1
    - Dst: sae_process_commit
      Src: /src/hostap/src/ap/ieee802_11.c:1491,1
    - Dst: auth_sae_send_confirm
      Src: /src/hostap/src/ap/ieee802_11.c:1494,1
    - Dst: sae_set_state
      Src: /src/hostap/src/ap/ieee802_11.c:1497,1
    - Dst: sae_set_retransmit_timer
      Src: /src/hostap/src/ap/ieee802_11.c:1499,1
    - Dst: sae_check_big_sync
      Src: /src/hostap/src/ap/ieee802_11.c:1505,1
    - Dst: auth_sae_send_commit
      Src: /src/hostap/src/ap/ieee802_11.c:1509,1
    - Dst: sae_set_retransmit_timer
      Src: /src/hostap/src/ap/ieee802_11.c:1513,1
    - Dst: auth_sae_send_confirm
      Src: /src/hostap/src/ap/ieee802_11.c:1520,1
    - Dst: sae_set_state
      Src: /src/hostap/src/ap/ieee802_11.c:1524,1
    - Dst: sae_sm_step
      Src: /src/hostap/src/ap/ieee802_11.c:1531,1
    - Dst: sae_clear_retransmit_timer
      Src: /src/hostap/src/ap/ieee802_11.c:1536,1
    - Dst: sae_check_big_sync
      Src: /src/hostap/src/ap/ieee802_11.c:1538,1
    - Dst: auth_sae_send_commit
      Src: /src/hostap/src/ap/ieee802_11.c:1542,1
    - Dst: sae_process_commit
      Src: /src/hostap/src/ap/ieee802_11.c:1546,1
    - Dst: auth_sae_send_confirm
      Src: /src/hostap/src/ap/ieee802_11.c:1549,1
    - Dst: sae_set_retransmit_timer
      Src: /src/hostap/src/ap/ieee802_11.c:1553,1
    - Dst: sae_accept_sta
      Src: /src/hostap/src/ap/ieee802_11.c:1556,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:1562,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:1564,1
    - Dst: wpa_auth_pmksa_remove
      Src: /src/hostap/src/ap/ieee802_11.c:1565,1
    - Dst: ap_free_sta
      Src: /src/hostap/src/ap/ieee802_11.c:1566,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:1569,1
    - Dst: auth_sae_send_commit
      Src: /src/hostap/src/ap/ieee802_11.c:1570,1
    - Dst: sae_set_state
      Src: /src/hostap/src/ap/ieee802_11.c:1573,1
    - Dst: sae_process_commit
      Src: /src/hostap/src/ap/ieee802_11.c:1575,1
    - Dst: sae_set_retransmit_timer
      Src: /src/hostap/src/ap/ieee802_11.c:1578,1
    - Dst: sae_check_big_sync
      Src: /src/hostap/src/ap/ieee802_11.c:1580,1
    - Dst: auth_sae_send_confirm
      Src: /src/hostap/src/ap/ieee802_11.c:1584,1
    - Dst: sae_clear_temp_data
      Src: /src/hostap/src/ap/ieee802_11.c:1585,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:1591,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 127
    argCount: 6
    argNames:
    - hapd
    - sta
    - auth_transaction
    - status_code
    - allow_reuse
    - sta_removed
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u16
    - u16
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1596
      start: 1372
    functionDepth: 12
    functionLinenumber: 1372
    functionLinenumberEnd: 1596
    functionName: sae_sm_step
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 1
    functionsReached:
    - sae_clear_retransmit_timer
    - auth_sae_send_commit
    - ap_free_sta
    - hostapd_logger
    - auth_sae_send_confirm
    - has_sae_success_seen
    - sae_set_retransmit_timer
    - wpa_hexdump_ascii
    - wpa_printf
    - sae_process_commit
    - sae_check_big_sync
    - sae_state_txt
    - wpa_auth_pmksa_remove
    - sae_clear_temp_data
    - sae_sm_step
    - sae_proto_instance_disabled
    - sae_set_state
    - wpa_msg
    - sae_accept_sta
    - MAC2STR
    linkageType: ''
    returnType: int
    signature: "int sae_sm_step(struct hostapd_data *hapd, struct sta_info *sta,\n\t\t
      \      u16 auth_transaction, u16 status_code,\n\t\t       int allow_reuse, int
      *sta_removed)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:1609,1
    - Dst: wpa_key_mgmt_sae_ext_key
      Src: /src/hostap/src/ap/ieee802_11.c:1613,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:1625,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:1633,1
    - Dst: sae_set_group
      Src: /src/hostap/src/ap/ieee802_11.c:1638,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:1643,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1644
      start: 1599
    functionDepth: 1
    functionLinenumber: 1599
    functionLinenumberEnd: 1644
    functionName: sae_pick_next_group
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_key_mgmt_sae_ext_key
    - sae_set_group
    linkageType: ''
    returnType: void
    signature: void sae_pick_next_group(struct hostapd_data *hapd, struct sta_info
      *sta)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_sae_pw_id_in_use
      Src: /src/hostap/src/ap/ieee802_11.c:1653,1
    - Dst: hostapd_sae_pk_in_use
      Src: /src/hostap/src/ap/ieee802_11.c:1659,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 12
    argCount: 2
    argNames:
    - hapd
    - status_code
    argTypes:
    - struct hostapd_data*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1678
      start: 1647
    functionDepth: 1
    functionLinenumber: 1647
    functionLinenumberEnd: 1678
    functionName: sae_status_success
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - hostapd_sae_pw_id_in_use
    - hostapd_sae_pk_in_use
    linkageType: ''
    returnType: int
    signature: int sae_status_success(struct hostapd_data *hapd, u16 status_code)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_key_mgmt_sae_ext_key
      Src: /src/hostap/src/ap/ieee802_11.c:1690,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - hapd
    - group
    argTypes:
    - struct hostapd_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1702
      start: 1681
    functionDepth: 1
    functionLinenumber: 1681
    functionLinenumberEnd: 1702
    functionName: sae_is_group_enabled
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 1
    functionsReached:
    - wpa_key_mgmt_sae_ext_key
    linkageType: ''
    returnType: int
    signature: int sae_is_group_enabled(struct hostapd_data *hapd, int group)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/ieee802_11.c:1718,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_11.c:1719,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:1721,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/ap/ieee802_11.c:1732,1
    - Dst: sae_is_group_enabled
      Src: /src/hostap/src/ap/ieee802_11.c:1734,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:1735,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - hapd
    - sae
    argTypes:
    - struct hostapd_data*
    - struct sae_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1742
      start: 1705
    functionDepth: 2
    functionLinenumber: 1705
    functionLinenumberEnd: 1742
    functionName: check_sae_rejected_groups
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpabuf_len
    - sae_is_group_enabled
    - WPA_GET_LE16
    - wpabuf_head
    linkageType: ''
    returnType: int
    signature: "int check_sae_rejected_groups(struct hostapd_data *hapd,\n\t\t\t\t
      \    struct sae_data *sae)"
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: wpa_key_mgmt_sae_ext_key
      Src: /src/hostap/src/ap/ieee802_11.c:1760,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:1769,1
    - Dst: send_auth_reply
      Src: /src/hostap/src/ap/ieee802_11.c:1773,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:1782,1
    - Dst: send_auth_reply
      Src: /src/hostap/src/ap/ieee802_11.c:1783,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/ieee802_11.c:1786,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_11.c:1787,1
    - Dst: sae_status_success
      Src: /src/hostap/src/ap/ieee802_11.c:1794,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:1795,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/ieee802_11.c:1800,1
    - Dst: hostapd_sae_pw_id_in_use
      Src: /src/hostap/src/ap/ieee802_11.c:1805,1
    - Dst: sae_set_state
      Src: /src/hostap/src/ap/ieee802_11.c:1807,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:1812,1
    - Dst: wpa_auth_pmksa_remove
      Src: /src/hostap/src/ap/ieee802_11.c:1814,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_11.c:1823,1
    - Dst: status2str
      Src: /src/hostap/src/ap/ieee802_11.c:1826,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:1834,1
    - Dst: sae_group_allowed
      Src: /src/hostap/src/ap/ieee802_11.c:1839,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/ap/ieee802_11.c:1840,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:1842,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ieee802_11.c:1848,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/ap/ieee802_11.c:1850,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:1852,1
    - Dst: auth_sae_send_commit
      Src: /src/hostap/src/ap/ieee802_11.c:1865,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:1867,1
    - Dst: sae_set_state
      Src: /src/hostap/src/ap/ieee802_11.c:1871,1
    - Dst: sae_set_retransmit_timer
      Src: /src/hostap/src/ap/ieee802_11.c:1874,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:1882,1
    - Dst: sae_pick_next_group
      Src: /src/hostap/src/ap/ieee802_11.c:1884,1
    - Dst: sae_status_success
      Src: /src/hostap/src/ap/ieee802_11.c:1888,1
    - Dst: sae_proto_instance_disabled
      Src: /src/hostap/src/ap/ieee802_11.c:1891,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:1892,1
    - Dst: sae_group_allowed
      Src: /src/hostap/src/ap/ieee802_11.c:1911,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/ap/ieee802_11.c:1912,1
    - Dst: sae_set_state
      Src: /src/hostap/src/ap/ieee802_11.c:1916,1
    - Dst: sae_set_state
      Src: /src/hostap/src/ap/ieee802_11.c:1920,1
    - Dst: sae_clear_data
      Src: /src/hostap/src/ap/ieee802_11.c:1922,1
    - Dst: sae_parse_commit
      Src: /src/hostap/src/ap/ieee802_11.c:1926,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:1934,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:1936,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/ieee802_11.c:1941,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:1943,1
    - Dst: sae_clear_retransmit_timer
      Src: /src/hostap/src/ap/ieee802_11.c:1944,1
    - Dst: sae_set_state
      Src: /src/hostap/src/ap/ieee802_11.c:1945,1
    - Dst: check_comeback_token
      Src: /src/hostap/src/ap/ieee802_11.c:1953,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:1957,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:1959,1
    - Dst: check_sae_rejected_groups
      Src: /src/hostap/src/ap/ieee802_11.c:1967,1
    - Dst: use_anti_clogging
      Src: /src/hostap/src/ap/ieee802_11.c:1972,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:1975,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:1977,1
    - Dst: auth_build_token_req
      Src: /src/hostap/src/ap/ieee802_11.c:1983,1
    - Dst: sae_set_state
      Src: /src/hostap/src/ap/ieee802_11.c:1993,1
    - Dst: sae_sm_step
      Src: /src/hostap/src/ap/ieee802_11.c:1998,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_11.c:2001,1
    - Dst: status2str
      Src: /src/hostap/src/ap/ieee802_11.c:2004,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/ap/ieee802_11.c:2020,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:2025,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:2029,1
    - Dst: sae_check_confirm
      Src: /src/hostap/src/ap/ieee802_11.c:2034,1
    - Dst: sae_password_track_fail
      Src: /src/hostap/src/ap/ieee802_11.c:2036,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:2037,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:2040,1
    - Dst: sae_password_track_success
      Src: /src/hostap/src/ap/ieee802_11.c:2050,1
    - Dst: sae_sm_step
      Src: /src/hostap/src/ap/ieee802_11.c:2053,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_11.c:2056,1
    - Dst: status2str
      Src: /src/hostap/src/ap/ieee802_11.c:2060,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/ap/ieee802_11.c:2075,1
    - Dst: send_auth_reply
      Src: /src/hostap/src/ap/ieee802_11.c:2077,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/ieee802_11.c:2080,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_11.c:2081,1
    - Dst: sae_sme_send_external_auth_status
      Src: /src/hostap/src/ap/ieee802_11.c:2082,1
    - Dst: sae_status_success
      Src: /src/hostap/src/ap/ieee802_11.c:2087,1
    - Dst: hostapd_drv_sta_remove
      Src: /src/hostap/src/ap/ieee802_11.c:2092,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ieee802_11.c:2095,1
    CyclomaticComplexity: 90
    EdgeCount: 90
    ICount: 212
    argCount: 6
    argNames:
    - hapd
    - sta
    - mgmt
    - len
    - auth_transaction
    - status_code
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - struct ieee80211_mgmt*
    - size_t
    - u16
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2096
      start: 1745
    functionDepth: 13
    functionLinenumber: 1745
    functionLinenumberEnd: 2096
    functionName: handle_auth_sae
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - sae_clear_retransmit_timer
    - auth_sae_send_commit
    - send_auth_reply
    - wpa_key_mgmt_sae_ext_key
    - sae_sme_send_external_auth_status
    - hostapd_logger
    - WPA_GET_LE16
    - sae_pick_next_group
    - sae_group_allowed
    - sae_check_confirm
    - sae_set_retransmit_timer
    - sae_parse_commit
    - check_sae_rejected_groups
    - wpa_printf
    - use_anti_clogging
    - wpa_auth_pmksa_remove
    - check_comeback_token
    - sae_password_track_fail
    - sae_sm_step
    - wpabuf_len
    - wpabuf_alloc_copy
    - wpabuf_head
    - hostapd_sae_pw_id_in_use
    - sae_proto_instance_disabled
    - sae_set_state
    - sae_password_track_success
    - wpa_msg
    - hostapd_drv_sta_remove
    - wpabuf_free
    - sae_clear_data
    - auth_build_token_req
    - MAC2STR
    - os_zalloc
    - status2str
    - sae_status_success
    linkageType: ''
    returnType: void
    signature: "void handle_auth_sae(struct hostapd_data *hapd, struct sta_info *sta,\n\t\t\t
      \   const struct ieee80211_mgmt *mgmt, size_t len,\n\t\t\t    u16 auth_transaction,
      u16 status_code)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: auth_sae_send_commit
      Src: /src/hostap/src/ap/ieee802_11.c:2119,1
    - Dst: sae_set_state
      Src: /src/hostap/src/ap/ieee802_11.c:2123,1
    - Dst: sae_set_retransmit_timer
      Src: /src/hostap/src/ap/ieee802_11.c:2125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2128
      start: 2109
    functionDepth: 6
    functionLinenumber: 2109
    functionLinenumberEnd: 2128
    functionName: auth_sae_init_committed
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 1
    functionsReached:
    - auth_sae_send_commit
    - sae_set_retransmit_timer
    - sae_set_state
    linkageType: ''
    returnType: int
    signature: int auth_sae_init_committed(struct hostapd_data *hapd, struct sta_info
      *sta)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_first
      Src: /src/hostap/src/ap/ieee802_11.c:2137,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:2141,1
    - Dst: dl_list_del
      Src: /src/hostap/src/ap/ieee802_11.c:2143,1
    - Dst: handle_auth
      Src: /src/hostap/src/ap/ieee802_11.c:2144,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_11.c:2146,1
    - Dst: eloop_is_timeout_registered
      Src: /src/hostap/src/ap/ieee802_11.c:2148,1
    - Dst: dl_list_len
      Src: /src/hostap/src/ap/ieee802_11.c:2150,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/ieee802_11.c:2151,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - eloop_ctx
    - user_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2153
      start: 2131
    functionDepth: 1
    functionLinenumber: 2131
    functionLinenumberEnd: 2153
    functionName: auth_sae_process_commit
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dl_list_del
    - dl_list_first
    - eloop_is_timeout_registered
    - eloop_register_timeout
    - os_free
    - dl_list_len
    - handle_auth
    linkageType: ''
    returnType: void
    signature: void auth_sae_process_commit(void *eloop_ctx, void *user_ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_len
      Src: /src/hostap/src/ap/ieee802_11.c:2164,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:2166,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:2168,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:2172,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:2173,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/ieee802_11.c:2175,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11.c:2180,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/ap/ieee802_11.c:2188,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/ieee802_11.c:2191,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:2194,1
    - Dst: dl_list_add
      Src: /src/hostap/src/ap/ieee802_11.c:2196,1
    - Dst: dl_list_del
      Src: /src/hostap/src/ap/ieee802_11.c:2197,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_11.c:2198,1
    - Dst: dl_list_add_tail
      Src: /src/hostap/src/ap/ieee802_11.c:2204,1
    - Dst: eloop_is_timeout_registered
      Src: /src/hostap/src/ap/ieee802_11.c:2207,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/ieee802_11.c:2209,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 4
    argNames:
    - hapd
    - mgmt
    - len
    - rssi
    argTypes:
    - struct hostapd_data*
    - struct ieee80211_mgmt*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2211
      start: 2156
    functionDepth: 1
    functionLinenumber: 2156
    functionLinenumberEnd: 2211
    functionName: auth_sae_queue
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - dl_list_del
    - dl_list_add_tail
    - ether_addr_equal
    - dl_list_for_each
    - MAC2STR
    - os_zalloc
    - dl_list_add
    - eloop_is_timeout_registered
    - eloop_register_timeout
    - os_free
    - dl_list_len
    linkageType: ''
    returnType: void
    signature: "void auth_sae_queue(struct hostapd_data *hapd,\n\t\t\t   const struct
      ieee80211_mgmt *mgmt, size_t len,\n\t\t\t   int rssi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/ap/ieee802_11.c:2219,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/ieee802_11.c:2222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - hapd
    - addr
    argTypes:
    - struct hostapd_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2227
      start: 2214
    functionDepth: 1
    functionLinenumber: 2214
    functionLinenumberEnd: 2227
    functionName: auth_sae_queued_addr
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    - ether_addr_equal
    linkageType: ''
    returnType: int
    signature: int auth_sae_queued_addr(struct hostapd_data *hapd, const u8 *addr)
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 1
    argNames:
    - res
    argTypes:
    - enum wpa_validate_result
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2263
      start: 2232
    functionDepth: 0
    functionLinenumber: 2232
    functionLinenumberEnd: 2263
    functionName: wpa_res_to_status_code
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u16
    signature: u16 wpa_res_to_status_code(enum wpa_validate_result res)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ap_sta_support_enc_assoc
      Src: /src/hostap/src/ap/ieee802_11.c:2275,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/ap/ieee802_11.c:2279,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:2281,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/ap/ieee802_11.c:2287,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/ap/ieee802_11.c:2289,1
    - Dst: crypto_ecdh_get_pubkey
      Src: /src/hostap/src/ap/ieee802_11.c:2316,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/ap/ieee802_11.c:2326,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11.c:2330,1
    - Dst: wpabuf_resize
      Src: /src/hostap/src/ap/ieee802_11.c:2334,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_11.c:2334,1
    - Dst: wpa_write_802_1x_rsne
      Src: /src/hostap/src/ap/ieee802_11.c:2344,1
    - Dst: wpabuf_mhead_u8
      Src: /src/hostap/src/ap/ieee802_11.c:2346,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_11.c:2346,1
    - Dst: wpabuf_size
      Src: /src/hostap/src/ap/ieee802_11.c:2347,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_11.c:2347,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/ap/ieee802_11.c:2358,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/ieee802_11.c:2361,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/ieee802_11.c:2362,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_11.c:2362,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/ieee802_11.c:2363,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/ap/ieee802_11.c:2364,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/ap/ieee802_11.c:2365,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/ieee802_11.c:2368,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/ieee802_11.c:2369,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/ieee802_11.c:2370,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/ap/ieee802_11.c:2371,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/ieee802_11.c:2380,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/ieee802_11.c:2381,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/ieee802_11.c:2382,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/ap/ieee802_11.c:2383,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/ap/ieee802_11.c:2383,1
    - Dst: wpa_akm_to_suite
      Src: /src/hostap/src/ap/ieee802_11.c:2384,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ieee802_11.c:2389,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 59
    argCount: 7
    argNames:
    - hapd
    - sta
    - auth_transaction
    - status
    - cached_pmk
    - eap_req
    - eap_req_len
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u16
    - u16
    - struct rsn_pmksa_cache_entry*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2391
      start: 2268
    functionDepth: 3
    functionLinenumber: 2268
    functionLinenumberEnd: 2391
    functionName: prepare_802_1x_auth_resp
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - ap_sta_support_enc_assoc
    - wpabuf_size
    - wpabuf_alloc
    - wpa_printf
    - wpabuf_put_data
    - wpa_akm_to_suite
    - wpa_write_802_1x_rsne
    - crypto_ecdh_get_pubkey
    - wpabuf_put_u8
    - wpabuf_len
    - random_get_bytes
    - os_memcpy
    - wpabuf_resize
    - wpabuf_put
    - wpabuf_mhead_u8
    - wpabuf_free
    - wpabuf_put_le16
    - wpabuf_put_buf
    - RSN_SELECTOR_PUT
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf *\nprepare_802_1x_auth_resp(struct hostapd_data *hapd,
      struct sta_info *sta,\n\t\t\t u16 auth_transaction, u16 status,\n\t\t\t struct
      rsn_pmksa_cache_entry *cached_pmk,\n\t\t\t const u8 *eap_req, size_t eap_req_len)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ap_sta_support_enc_assoc
      Src: /src/hostap/src/ap/ieee802_11.c:2400,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:2414,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:2421,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:2428,1
    - Dst: wpa_parse_wpa_ie_rsn
      Src: /src/hostap/src/ap/ieee802_11.c:2435,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:2437,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:2443,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:2449,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:2453,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:2458,1
    - Dst: rsn_key_mgmt_to_wpa_akm
      Src: /src/hostap/src/ap/ieee802_11.c:2464,1
    - Dst: RSN_SELECTOR_GET
      Src: /src/hostap/src/ap/ieee802_11.c:2465,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:2467,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:2472,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_11.c:2478,1
    - Dst: os_memdup
      Src: /src/hostap/src/ap/ieee802_11.c:2480,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11.c:2486,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/ieee802_11.c:2488,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/ap/ieee802_11.c:2498,1
    - Dst: int_array_includes
      Src: /src/hostap/src/ap/ieee802_11.c:2499,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:2500,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:2511,1
    - Dst: crypto_ecdh_deinit
      Src: /src/hostap/src/ap/ieee802_11.c:2516,1
    - Dst: crypto_ecdh_init
      Src: /src/hostap/src/ap/ieee802_11.c:2517,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:2519,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/ap/ieee802_11.c:2524,1
    - Dst: crypto_ecdh_set_peerkey
      Src: /src/hostap/src/ap/ieee802_11.c:2526,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:2529,1
    - Dst: wpa_hexdump_buf_key
      Src: /src/hostap/src/ap/ieee802_11.c:2532,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 78
    argCount: 3
    argNames:
    - hapd
    - sta
    - elems
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - struct ieee802_11_elems*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2537
      start: 2394
    functionDepth: 2
    functionLinenumber: 2394
    functionLinenumberEnd: 2537
    functionName: wpa_auth_validate_802_1x_frame
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - ap_sta_support_enc_assoc
    - wpa_printf
    - RSN_SELECTOR_GET
    - os_memcpy
    - crypto_ecdh_deinit
    - wpa_hexdump
    - int_array_includes
    - crypto_ecdh_init
    - os_memdup
    - wpa_parse_wpa_ie_rsn
    - WPA_GET_LE16
    - crypto_ecdh_set_peerkey
    - wpabuf_clear_free
    - os_free
    - rsn_key_mgmt_to_wpa_akm
    - wpa_hexdump_buf_key
    linkageType: ''
    returnType: u16
    signature: "u16 wpa_auth_validate_802_1x_frame(struct hostapd_data *hapd,\n\t\t\t\t
      \  struct sta_info *sta,\n\t\t\t\t   struct ieee802_11_elems *elems)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ap_sta_support_enc_assoc
      Src: /src/hostap/src/ap/ieee802_11.c:2556,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:2564,1
    - Dst: os_malloc
      Src: /src/hostap/src/ap/ieee802_11.c:2567,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:2569,1
    - Dst: host_to_be16
      Src: /src/hostap/src/ap/ieee802_11.c:2576,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11.c:2579,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/ieee802_11.c:2581,1
    - Dst: ap_sta_is_mld
      Src: /src/hostap/src/ap/ieee802_11.c:2588,1
    - Dst: wpa_cipher_to_alg
      Src: /src/hostap/src/ap/ieee802_11.c:2590,1
    - Dst: wpa_cipher_key_len
      Src: /src/hostap/src/ap/ieee802_11.c:2592,1
    - Dst: wpa_auth_get_pmksa_cache
      Src: /src/hostap/src/ap/ieee802_11.c:2595,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/ieee802_11.c:2615,1
    - Dst: wpa_auth_802_1x_get_msk
      Src: /src/hostap/src/ap/ieee802_11.c:2616,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:2618,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_11.c:2619,1
    - Dst: wpa_key_mgmt_sha384
      Src: /src/hostap/src/ap/ieee802_11.c:2623,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11.c:2629,1
    - Dst: wpa_auth_ap_support_secure_ltf
      Src: /src/hostap/src/ap/ieee802_11.c:2632,1
    - Dst: ieee802_11_rsnx_capab
      Src: /src/hostap/src/ap/ieee802_11.c:2633,1
    - Dst: wpa_auth_802_1x_pmk_to_ptk
      Src: /src/hostap/src/ap/ieee802_11.c:2638,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/ap/ieee802_11.c:2645,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_11.c:2646,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:2648,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_11.c:2649,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:2652,1
    - Dst: wpa_auth_802_1x_set_key
      Src: /src/hostap/src/ap/ieee802_11.c:2654,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:2658,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_11.c:2660,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/ap/ieee802_11.c:2665,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/ap/ieee802_11.c:2669,1
    - Dst: pmksa_cache_auth_add
      Src: /src/hostap/src/ap/ieee802_11.c:2672,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:2678,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11.c:2681,1
    - Dst: prepare_802_1x_auth_resp
      Src: /src/hostap/src/ap/ieee802_11.c:2685,1
    - Dst: send_8021x_auth_reply
      Src: /src/hostap/src/ap/ieee802_11.c:2688,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_11.c:2690,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 57
    argCount: 8
    argNames:
    - hapd
    - sta
    - type
    - auth_transaction
    - status
    - cached_pmk
    - eap_req
    - eap_req_len
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u8
    - u16
    - u16
    - struct rsn_pmksa_cache_entry*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2691
      start: 2551
    functionDepth: 4
    functionLinenumber: 2551
    functionLinenumberEnd: 2691
    functionName: ieee80211_send_eap_req
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - ap_sta_support_enc_assoc
    - wpa_auth_802_1x_set_key
    - wpa_hexdump
    - ap_sta_is_mld
    - wpa_auth_802_1x_get_msk
    - wpa_auth_ap_support_secure_ltf
    - wpa_auth_802_1x_pmk_to_ptk
    - wpa_printf
    - pmksa_cache_auth_add
    - wpa_key_mgmt_sha384
    - wpabuf_clear_free
    - os_free
    - prepare_802_1x_auth_resp
    - wpa_hexdump_key
    - send_8021x_auth_reply
    - wpabuf_head_u8
    - wpabuf_len
    - os_malloc
    - ieee802_11_rsnx_capab
    - os_memset
    - os_memcpy
    - wpa_auth_get_pmksa_cache
    - wpa_cipher_key_len
    - host_to_be16
    - wpa_cipher_to_alg
    linkageType: ''
    returnType: void
    signature: "void ieee80211_send_eap_req(struct hostapd_data *hapd, struct sta_info
      *sta,\n\t\t\t    u8 type, u16 auth_transaction, u16 status,\n\t\t\t    struct
      rsn_pmksa_cache_entry *cached_pmk,\n\t\t\t    const u8 *eap_req, size_t eap_req_len)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:2704,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/ap/ieee802_11.c:2709,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:2712,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:2722,1
    - Dst: ap_sta_is_mld
      Src: /src/hostap/src/ap/ieee802_11.c:2739,1
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/src/ap/ieee802_11.c:2743,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:2745,1
    - Dst: wpa_auth_validate_802_1x_frame
      Src: /src/hostap/src/ap/ieee802_11.c:2750,1
    - Dst: ap_sta_support_enc_assoc
      Src: /src/hostap/src/ap/ieee802_11.c:2754,1
    - Dst: ieee802_11_rsnx_capab_len
      Src: /src/hostap/src/ap/ieee802_11.c:2758,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/ieee802_11.c:2762,1
    - Dst: wpa_parse_wpa_ie_rsn
      Src: /src/hostap/src/ap/ieee802_11.c:2765,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:2767,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/ieee802_11.c:2781,1
    - Dst: pmksa_cache_search
      Src: /src/hostap/src/ap/ieee802_11.c:2784,1
    - Dst: wpa_cipher_to_alg
      Src: /src/hostap/src/ap/ieee802_11.c:2791,1
    - Dst: wpa_cipher_key_len
      Src: /src/hostap/src/ap/ieee802_11.c:2792,1
    - Dst: ap_sta_is_mld
      Src: /src/hostap/src/ap/ieee802_11.c:2795,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:2798,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11.c:2800,1
    - Dst: prepare_802_1x_auth_resp
      Src: /src/hostap/src/ap/ieee802_11.c:2802,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:2806,1
    - Dst: wpa_auth_ap_support_secure_ltf
      Src: /src/hostap/src/ap/ieee802_11.c:2812,1
    - Dst: ieee802_11_rsnx_capab
      Src: /src/hostap/src/ap/ieee802_11.c:2813,1
    - Dst: wpa_auth_802_1x_pmk_to_ptk
      Src: /src/hostap/src/ap/ieee802_11.c:2819,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/ap/ieee802_11.c:2826,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_11.c:2827,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:2829,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:2833,1
    - Dst: wpa_auth_802_1x_set_key
      Src: /src/hostap/src/ap/ieee802_11.c:2835,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:2839,1
    - Dst: send_8021x_auth_reply
      Src: /src/hostap/src/ap/ieee802_11.c:2848,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/ap/ieee802_11.c:2851,1
    - Dst: ieee802_1x_alloc_eapol_sm
      Src: /src/hostap/src/ap/ieee802_11.c:2858,1
    - Dst: ieee802_1x_eapol_sm_set_port_enabled
      Src: /src/hostap/src/ap/ieee802_11.c:2863,1
    - Dst: ieee802_1x_receive
      Src: /src/hostap/src/ap/ieee802_11.c:2867,1
    - Dst: prepare_802_1x_auth_resp
      Src: /src/hostap/src/ap/ieee802_11.c:2872,1
    - Dst: send_8021x_auth_reply
      Src: /src/hostap/src/ap/ieee802_11.c:2875,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 99
    argCount: 6
    argNames:
    - hapd
    - sta
    - pos
    - len
    - auth_alg
    - auth_transaction
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u8*
    - size_t
    - u16
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2877
      start: 2694
    functionDepth: 6
    functionLinenumber: 2694
    functionLinenumberEnd: 2877
    functionName: handle_auth_802_1x
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - ap_sta_support_enc_assoc
    - wpa_auth_802_1x_set_key
    - wpa_hexdump
    - ap_sta_is_mld
    - WPA_GET_LE16
    - wpa_auth_validate_802_1x_frame
    - wpa_auth_ap_support_secure_ltf
    - wpa_auth_802_1x_pmk_to_ptk
    - wpa_printf
    - wpa_cipher_to_alg
    - ieee802_11_parse_elems
    - wpabuf_clear_free
    - ieee802_1x_receive
    - prepare_802_1x_auth_resp
    - send_8021x_auth_reply
    - wpabuf_head_u8
    - wpabuf_len
    - ieee802_11_rsnx_capab_len
    - ieee802_11_rsnx_capab
    - ieee802_1x_eapol_sm_set_port_enabled
    - os_memset
    - os_memcpy
    - wpa_cipher_key_len
    - wpa_parse_wpa_ie_rsn
    - ieee802_1x_alloc_eapol_sm
    - pmksa_cache_search
    linkageType: ''
    returnType: void
    signature: "void handle_auth_802_1x(struct hostapd_data *hapd, struct sta_info
      *sta,\n\t\t\t       const u8 *pos, size_t len, u16 auth_alg,\n\t\t\t       u16
      auth_transaction)"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/ieee802_11.c:2908,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:2922,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/ap/ieee802_11.c:2927,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:2930,1
    - Dst: crypto_ecdh_deinit
      Src: /src/hostap/src/ap/ieee802_11.c:2937,1
    - Dst: crypto_ecdh_init
      Src: /src/hostap/src/ap/ieee802_11.c:2938,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:2940,1
    - Dst: crypto_ecdh_get_pubkey
      Src: /src/hostap/src/ap/ieee802_11.c:2947,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:2949,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_11.c:2954,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ieee802_11.c:2955,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:2959,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ieee802_11.c:2964,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/ap/ieee802_11.c:2965,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/ap/ieee802_11.c:2966,1
    - Dst: crypto_ecdh_set_peerkey
      Src: /src/hostap/src/ap/ieee802_11.c:2967,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:2970,1
    - Dst: wpa_hexdump_buf_key
      Src: /src/hostap/src/ap/ieee802_11.c:2974,1
    - Dst: crypto_ecdh_deinit
      Src: /src/hostap/src/ap/ieee802_11.c:2977,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/ap/ieee802_11.c:2979,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/ieee802_11.c:2984,1
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/src/ap/ieee802_11.c:2985,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:2986,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/ieee802_11.c:2992,1
    - Dst: wpa_parse_wpa_ie_rsn
      Src: /src/hostap/src/ap/ieee802_11.c:2995,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:2997,1
    - Dst: wpa_auth_sta_init
      Src: /src/hostap/src/ap/ieee802_11.c:3003,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:3006,1
    - Dst: wpa_auth_set_rsn_selection
      Src: /src/hostap/src/ap/ieee802_11.c:3012,1
    - Dst: wpa_validate_wpa_ie
      Src: /src/hostap/src/ap/ieee802_11.c:3014,1
    - Dst: ap_sta_is_mld
      Src: /src/hostap/src/ap/ieee802_11.c:3020,1
    - Dst: wpa_res_to_status_code
      Src: /src/hostap/src/ap/ieee802_11.c:3021,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:3026,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/ieee802_11.c:3030,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11.c:3031,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/ieee802_11.c:3038,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/ieee802_11.c:3044,1
    - Dst: wpa_auth_pmksa_get
      Src: /src/hostap/src/ap/ieee802_11.c:3045,1
    - Dst: wpa_auth_pmksa_get_fils_cache_id
      Src: /src/hostap/src/ap/ieee802_11.c:3049,1
    - Dst: wpa_auth_sta_key_mgmt
      Src: /src/hostap/src/ap/ieee802_11.c:3058,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:3059,1
    - Dst: wpa_auth_sta_key_mgmt
      Src: /src/hostap/src/ap/ieee802_11.c:3061,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:3065,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:3069,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/ieee802_11.c:3073,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11.c:3075,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/ieee802_11.c:3079,1
    - Dst: ieee802_1x_alloc_eapol_sm
      Src: /src/hostap/src/ap/ieee802_11.c:3086,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:3088,1
    - Dst: ieee802_1x_encapsulate_radius
      Src: /src/hostap/src/ap/ieee802_11.c:3090,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:3094,1
    - Dst: fils_pmkid_erp
      Src: /src/hostap/src/ap/ieee802_11.c:3100,1
    - Dst: wpa_auth_sta_key_mgmt
      Src: /src/hostap/src/ap/ieee802_11.c:3100,1
    - Dst: prepare_auth_resp_fils
      Src: /src/hostap/src/ap/ieee802_11.c:3118,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:3121,1
    - Dst: cb
      Src: /src/hostap/src/ap/ieee802_11.c:3126,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 155
    argCount: 7
    argNames:
    - hapd
    - sta
    - pos
    - len
    - auth_alg
    - auth_transaction
    - status_code
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u8*
    - size_t
    - u16
    - u16
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3128
      start: 2888
    functionDepth: 4
    functionLinenumber: 2888
    functionLinenumberEnd: 3128
    functionName: handle_auth_fils
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 1
    functionsReached:
    - wpa_res_to_status_code
    - wpa_auth_set_rsn_selection
    - wpa_hexdump
    - ap_sta_is_mld
    - WPA_GET_LE16
    - crypto_ecdh_set_peerkey
    - crypto_ecdh_init
    - ieee802_1x_encapsulate_radius
    - fils_pmkid_erp
    - wpa_printf
    - wpa_auth_sta_key_mgmt
    - crypto_ecdh_get_pubkey
    - ieee802_11_parse_elems
    - wpabuf_clear_free
    - crypto_ecdh_deinit
    - wpabuf_len
    - wpabuf_alloc_copy
    - cb
    - wpa_auth_sta_init
    - wpa_validate_wpa_ie
    - wpa_auth_pmksa_get_fils_cache_id
    - wpa_auth_pmksa_get
    - os_memcpy
    - wpabuf_free
    - wpa_parse_wpa_ie_rsn
    - prepare_auth_resp_fils
    - ieee802_1x_alloc_eapol_sm
    - wpa_hexdump_buf_key
    linkageType: ''
    returnType: void
    signature: "void handle_auth_fils(struct hostapd_data *hapd, struct sta_info *sta,\n\t\t
      \     const u8 *pos, size_t len, u16 auth_alg,\n\t\t      u16 auth_transaction,
      u16 status_code,\n\t\t      void (*cb)(struct hostapd_data *hapd,\n\t\t\t\t
      struct sta_info *sta, u16 resp,\n\t\t\t\t struct wpabuf *data, int pub))"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: wpa_auth_get_wpa_ie
      Src: /src/hostap/src/ap/ieee802_11.c:3152,1
    - Dst: os_malloc
      Src: /src/hostap/src/ap/ieee802_11.c:3160,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11.c:3166,1
    - Dst: wpa_insert_pmkid
      Src: /src/hostap/src/ap/ieee802_11.c:3167,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/ap/ieee802_11.c:3174,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/ieee802_11.c:3178,1
    - Dst: crypto_ecdh_get_pubkey
      Src: /src/hostap/src/ap/ieee802_11.c:3183,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/ap/ieee802_11.c:3191,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_11.c:3191,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/ap/ieee802_11.c:3201,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/ap/ieee802_11.c:3204,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/ap/ieee802_11.c:3209,1
    - Dst: wpa_key_mgmt_ft
      Src: /src/hostap/src/ap/ieee802_11.c:3214,1
    - Dst: wpa_auth_sta_key_mgmt
      Src: /src/hostap/src/ap/ieee802_11.c:3214,1
    - Dst: wpa_auth_write_fte
      Src: /src/hostap/src/ap/ieee802_11.c:3218,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/ap/ieee802_11.c:3219,1
    - Dst: wpabuf_tailroom
      Src: /src/hostap/src/ap/ieee802_11.c:3220,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/ap/ieee802_11.c:3225,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/ieee802_11.c:3230,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/ieee802_11.c:3231,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/ieee802_11.c:3233,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/ap/ieee802_11.c:3234,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/ieee802_11.c:3237,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/ieee802_11.c:3238,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/ieee802_11.c:3240,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/ap/ieee802_11.c:3241,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/ieee802_11.c:3245,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/ieee802_11.c:3246,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_11.c:3246,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/ieee802_11.c:3248,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/ap/ieee802_11.c:3249,1
    - Dst: fils_rmsk_to_pmk
      Src: /src/hostap/src/ap/ieee802_11.c:3251,1
    - Dst: wpa_auth_sta_key_mgmt
      Src: /src/hostap/src/ap/ieee802_11.c:3251,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/ieee802_11.c:3254,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_11.c:3256,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:3258,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ieee802_11.c:3260,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/ap/ieee802_11.c:3268,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/ap/ieee802_11.c:3280,1
    - Dst: os_reltime_sub
      Src: /src/hostap/src/ap/ieee802_11.c:3281,1
    - Dst: wpa_auth_add_fils_pmk_pmkid
      Src: /src/hostap/src/ap/ieee802_11.c:3287,1
    - Dst: wpa_auth_pmksa_add2
      Src: /src/hostap/src/ap/ieee802_11.c:3290,1
    - Dst: wpa_auth_sta_key_mgmt
      Src: /src/hostap/src/ap/ieee802_11.c:3295,1
    - Dst: ap_sta_is_mld
      Src: /src/hostap/src/ap/ieee802_11.c:3296,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:3297,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:3307,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ieee802_11.c:3309,1
    - Dst: fils_auth_pmk_to_ptk
      Src: /src/hostap/src/ap/ieee802_11.c:3314,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/ieee802_11.c:3317,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_11.c:3319,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ieee802_11.c:3322,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_11.c:3330,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ieee802_11.c:3331,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/ap/ieee802_11.c:3332,1
    - Dst: crypto_ecdh_deinit
      Src: /src/hostap/src/ap/ieee802_11.c:3335,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 127
    argCount: 8
    argNames:
    - hapd
    - sta
    - resp
    - pmksa
    - erp_resp
    - msk
    - msk_len
    - is_pub
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u16*
    - struct rsn_pmksa_cache_entry*
    - struct wpabuf*
    - u8*
    - size_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3339
      start: 3131
    functionDepth: 4
    functionLinenumber: 3131
    functionLinenumberEnd: 3339
    functionName: prepare_auth_resp_fils
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 1
    functionsReached:
    - wpa_hexdump
    - ap_sta_is_mld
    - wpabuf_alloc
    - wpa_printf
    - wpabuf_put_data
    - wpa_auth_pmksa_add2
    - fils_auth_pmk_to_ptk
    - wpa_auth_sta_key_mgmt
    - wpa_key_mgmt_ft
    - fils_rmsk_to_pmk
    - crypto_ecdh_get_pubkey
    - wpabuf_clear_free
    - wpa_auth_add_fils_pmk_pmkid
    - os_free
    - os_get_reltime
    - crypto_ecdh_deinit
    - wpa_insert_pmkid
    - wpabuf_put_u8
    - wpabuf_len
    - os_malloc
    - wpabuf_tailroom
    - wpabuf_head
    - os_reltime_sub
    - random_get_bytes
    - os_memcpy
    - wpabuf_put
    - wpabuf_free
    - wpabuf_put_le16
    - wpabuf_put_buf
    - wpa_auth_write_fte
    - wpa_auth_get_wpa_ie
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf *\nprepare_auth_resp_fils(struct hostapd_data *hapd,\n\t\t
      \      struct sta_info *sta, u16 *resp,\n\t\t       struct rsn_pmksa_cache_entry
      *pmksa,\n\t\t       struct wpabuf *erp_resp,\n\t\t       const u8 *msk, size_t
      msk_len,\n\t\t       int *is_pub)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: send_auth_reply
      Src: /src/hostap/src/ap/ieee802_11.c:3351,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/ieee802_11.c:3352,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_11.c:3353,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ieee802_11.c:3354,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_11.c:3357,1
    - Dst: wpa_auth_sm_event
      Src: /src/hostap/src/ap/ieee802_11.c:3361,1
    - Dst: mlme_authenticate_indication
      Src: /src/hostap/src/ap/ieee802_11.c:3363,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - hapd
    - sta
    - resp
    - data
    - pub
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u16
    - struct wpabuf*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3365
      start: 3342
    functionDepth: 3
    functionLinenumber: 3342
    functionLinenumberEnd: 3365
    functionName: handle_auth_fils_finish
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - send_auth_reply
    - wpabuf_len
    - wpabuf_free
    - hostapd_logger
    - wpabuf_head
    - wpa_auth_sm_event
    - mlme_authenticate_indication
    linkageType: ''
    returnType: void
    signature: "void handle_auth_fils_finish(struct hostapd_data *hapd,\n\t\t\t\t
      \   struct sta_info *sta, u16 resp,\n\t\t\t\t    struct wpabuf *data, int pub)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: prepare_auth_resp_fils
      Src: /src/hostap/src/ap/ieee802_11.c:3388,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:3391,1
    - Dst: struct sta_info*::fils_pending_cb
      Src: /src/hostap/src/ap/ieee802_11.c:3395,1
    - Dst: pasn_fils_auth_resp
      Src: /src/hostap/src/ap/ieee802_11.c:3398,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 6
    argNames:
    - hapd
    - sta
    - success
    - erp_resp
    - msk
    - msk_len
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - int
    - struct wpabuf*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3402
      start: 3368
    functionDepth: 5
    functionLinenumber: 3368
    functionLinenumberEnd: 3402
    functionName: ieee802_11_finish_fils_auth
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - struct sta_info*::fils_pending_cb
    - pasn_fils_auth_resp
    - prepare_auth_resp_fils
    linkageType: ''
    returnType: void
    signature: "void ieee802_11_finish_fils_auth(struct hostapd_data *hapd,\n\t\t\t\t
      struct sta_info *sta, int success,\n\t\t\t\t struct wpabuf *erp_resp,\n\t\t\t\t
      const u8 *msk, size_t msk_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_allowed_address
      Src: /src/hostap/src/ap/ieee802_11.c:3413,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:3416,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:3418,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:3423,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:3425,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - hapd
    - addr
    - msg
    - len
    - info
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8*
    - size_t
    - struct radius_sta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3433
      start: 3407
    functionDepth: 3
    functionLinenumber: 3407
    functionLinenumberEnd: 3433
    functionName: ieee802_11_allowed_address
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - hostapd_allowed_address
    - MAC2STR
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int ieee802_11_allowed_address(struct hostapd_data *hapd, const u8
      *addr,\n\t\t\t\t      const u8 *msg, size_t len,\n\t\t\t\t      struct radius_sta
      *info)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_vlan_valid
      Src: /src/hostap/src/ap/ieee802_11.c:3447,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_11.c:3448,1
    - Dst: ap_sta_set_vlan
      Src: /src/hostap/src/ap/ieee802_11.c:3455,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_11.c:3458,1
    - Dst: hostapd_free_psk_list
      Src: /src/hostap/src/ap/ieee802_11.c:3461,1
    - Dst: hostapd_copy_psk_list
      Src: /src/hostap/src/ap/ieee802_11.c:3463,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_11.c:3467,1
    - Dst: os_strdup
      Src: /src/hostap/src/ap/ieee802_11.c:3469,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_11.c:3473,1
    - Dst: os_strdup
      Src: /src/hostap/src/ap/ieee802_11.c:3475,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/ap/ieee802_11.c:3483,1
    - Dst: ap_sta_session_timeout
      Src: /src/hostap/src/ap/ieee802_11.c:3485,1
    - Dst: ap_sta_no_session_timeout
      Src: /src/hostap/src/ap/ieee802_11.c:3488,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 4
    argNames:
    - hapd
    - sta
    - res
    - info
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - int
    - struct radius_sta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3492
      start: 3436
    functionDepth: 4
    functionLinenumber: 3436
    functionLinenumberEnd: 3492
    functionName: ieee802_11_set_radius_info
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 1
    functionsReached:
    - hostapd_free_psk_list
    - os_get_reltime
    - ap_sta_no_session_timeout
    - hostapd_copy_psk_list
    - hostapd_logger
    - hostapd_vlan_valid
    - ap_sta_set_vlan
    - os_free
    - os_strdup
    - ap_sta_session_timeout
    linkageType: ''
    returnType: int
    signature: "int ieee802_11_set_radius_info(struct hostapd_data *hapd, struct sta_info
      *sta,\n\t\t\t       int res, struct radius_sta *info)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:3509,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:3516,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/ap/ieee802_11.c:3520,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:3521,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/ieee802_11.c:3525,1
    - Dst: fils_rmsk_to_pmk
      Src: /src/hostap/src/ap/ieee802_11.c:3528,1
    - Dst: pasn_get_akmp
      Src: /src/hostap/src/ap/ieee802_11.c:3528,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:3531,1
    - Dst: pasn_pmk_to_ptk
      Src: /src/hostap/src/ap/ieee802_11.c:3535,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/ieee802_11.c:3536,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_11.c:3537,1
    - Dst: pasn_get_ptk
      Src: /src/hostap/src/ap/ieee802_11.c:3538,1
    - Dst: pasn_get_akmp
      Src: /src/hostap/src/ap/ieee802_11.c:3538,1
    - Dst: pasn_get_cipher
      Src: /src/hostap/src/ap/ieee802_11.c:3539,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:3543,1
    - Dst: wpa_ltf_keyseed
      Src: /src/hostap/src/ap/ieee802_11.c:3548,1
    - Dst: pasn_get_ptk
      Src: /src/hostap/src/ap/ieee802_11.c:3548,1
    - Dst: pasn_get_akmp
      Src: /src/hostap/src/ap/ieee802_11.c:3548,1
    - Dst: pasn_get_cipher
      Src: /src/hostap/src/ap/ieee802_11.c:3549,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:3551,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:3557,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ieee802_11.c:3559,1
    - Dst: handle_auth_pasn_resp
      Src: /src/hostap/src/ap/ieee802_11.c:3563,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ieee802_11.c:3565,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:3570,1
    - Dst: ap_free_sta
      Src: /src/hostap/src/ap/ieee802_11.c:3577,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 54
    argCount: 6
    argNames:
    - hapd
    - sta
    - status
    - erp_resp
    - msk
    - msk_len
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u16
    - struct wpabuf*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3578
      start: 3498
    functionDepth: 12
    functionLinenumber: 3498
    functionLinenumberEnd: 3578
    functionName: pasn_fils_auth_resp
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - random_get_bytes
    - pasn_get_ptk
    - pasn_get_cipher
    - wpa_hexdump
    - wpa_ltf_keyseed
    - wpabuf_len
    - handle_auth_pasn_resp
    - ap_free_sta
    - wpabuf_free
    - fils_rmsk_to_pmk
    - wpabuf_head
    - pasn_get_akmp
    - pasn_pmk_to_ptk
    linkageType: ''
    returnType: void
    signature: "void pasn_fils_auth_resp(struct hostapd_data *hapd,\n\t\t\t\tstruct
      sta_info *sta, u16 status,\n\t\t\t\tstruct wpabuf *erp_resp,\n\t\t\t\tconst
      u8 *msk, size_t msk_len)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:3585,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:3599,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:3604,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/ap/ieee802_11.c:3608,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_11.c:3609,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:3612,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/ap/ieee802_11.c:3617,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/ap/ieee802_11.c:3618,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/ap/ieee802_11.c:3619,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:3621,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:3626,1
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/src/ap/ieee802_11.c:3634,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:3635,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:3641,1
    - Dst: wpa_parse_wpa_ie_rsn
      Src: /src/hostap/src/ap/ieee802_11.c:3645,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:3648,1
    - Dst: wpa_pasn_validate_rsne
      Src: /src/hostap/src/ap/ieee802_11.c:3652,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:3654,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:3659,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/ieee802_11.c:3664,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11.c:3665,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/ieee802_11.c:3667,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11.c:3669,1
    - Dst: ieee802_11_defrag
      Src: /src/hostap/src/ap/ieee802_11.c:3671,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:3675,1
    - Dst: ieee802_1x_alloc_eapol_sm
      Src: /src/hostap/src/ap/ieee802_11.c:3680,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:3682,1
    - Dst: ieee802_1x_encapsulate_radius
      Src: /src/hostap/src/ap/ieee802_11.c:3685,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/ieee802_11.c:3685,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_11.c:3686,1
    - Dst: fils_pmkid_erp
      Src: /src/hostap/src/ap/ieee802_11.c:3696,1
    - Dst: pasn_get_akmp
      Src: /src/hostap/src/ap/ieee802_11.c:3696,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/ieee802_11.c:3697,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_11.c:3697,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ieee802_11.c:3700,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 67
    argCount: 3
    argNames:
    - hapd
    - sta
    - wd
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3703
      start: 3581
    functionDepth: 3
    functionLinenumber: 3581
    functionLinenumberEnd: 3703
    functionName: pasn_wd_handle_fils
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_pasn_validate_rsne
    - wpabuf_head_u8
    - wpa_hexdump
    - wpabuf_len
    - wpa_parse_wpa_ie_rsn
    - wpabuf_free
    - WPA_GET_LE16
    - wpabuf_head
    - pasn_get_akmp
    - ieee802_11_parse_elems
    - fils_pmkid_erp
    - ieee802_1x_encapsulate_radius
    - ieee802_1x_alloc_eapol_sm
    - ieee802_11_defrag
    linkageType: ''
    returnType: int
    signature: "int pasn_wd_handle_fils(struct hostapd_data *hapd, struct sta_info
      *sta,\n\t\t\t       struct wpabuf *wd)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_drv_send_mlme
      Src: /src/hostap/src/ap/ieee802_11.c:3713,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ctx
    - data
    - data_len
    - noack
    - freq
    - wait
    argTypes:
    - void*
    - u8*
    - size_t
    - int
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3714
      start: 3708
    functionDepth: 1
    functionLinenumber: 3708
    functionLinenumberEnd: 3714
    functionName: hapd_pasn_send_mlme
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - hostapd_drv_send_mlme
    linkageType: ''
    returnType: int
    signature: "int hapd_pasn_send_mlme(void *ctx, const u8 *data, size_t data_len,\n\t\t\t
      \      int noack, unsigned int freq, unsigned int wait)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_auth_get_pmksa_cache
      Src: /src/hostap/src/ap/ieee802_11.c:3722,1
    - Dst: pmksa_cache_auth_get
      Src: /src/hostap/src/ap/ieee802_11.c:3725,1
    - Dst: wpa_auth_get_pmksa_cache
      Src: /src/hostap/src/ap/ieee802_11.c:3735,1
    - Dst: pmksa_cache_auth_get
      Src: /src/hostap/src/ap/ieee802_11.c:3737,1
    - Dst: wpa_auth_get_pmksa_cache
      Src: /src/hostap/src/ap/ieee802_11.c:3743,1
    - Dst: pmksa_cache_auth_get
      Src: /src/hostap/src/ap/ieee802_11.c:3744,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - ctx
    - spa
    - pmkid
    - is_ml
    argTypes:
    - void*
    - u8*
    - u8*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3751
      start: 3717
    functionDepth: 1
    functionLinenumber: 3717
    functionLinenumberEnd: 3751
    functionName: pmksa_cache_search
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 1
    functionsReached:
    - pmksa_cache_auth_get
    - wpa_auth_get_pmksa_cache
    linkageType: ''
    returnType: struct rsn_pmksa_cache_entry
    signature: 'struct rsn_pmksa_cache_entry *

      pmksa_cache_search(void *ctx, const u8 *spa, const u8 *pmkid, bool is_ml)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_auth_get_pmksa_cache
      Src: /src/hostap/src/ap/ieee802_11.c:3735,1
    - Dst: pmksa_cache_auth_get
      Src: /src/hostap/src/ap/ieee802_11.c:3737,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3740
      start: 3734
    functionDepth: 1
    functionLinenumber: 3734
    functionLinenumberEnd: 3740
    functionName: for_each_mld_link
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 3
    functionsReached:
    - pmksa_cache_auth_get
    - wpa_auth_get_pmksa_cache
    linkageType: ''
    returnType: void
    signature: void for_each_mld_link(tmp_hapd, hapd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_drv_set_key
      Src: /src/hostap/src/ap/ieee802_11.c:3760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ctx
    - alg
    - addr
    - vlan_id
    - key
    - key_len
    argTypes:
    - void*
    - enum wpa_alg
    - u8*
    - int
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3763
      start: 3755
    functionDepth: 1
    functionLinenumber: 3755
    functionLinenumberEnd: 3763
    functionName: eppke_set_key
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - hostapd_drv_set_key
    linkageType: ''
    returnType: int
    signature: "int eppke_set_key(void *ctx, enum wpa_alg alg, const u8 *addr,\n\t\t\t
      int vlan_id, const u8 *key, size_t key_len)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: sae_get_password
      Src: /src/hostap/src/ap/ieee802_11.c:3805,1
    - Dst: sae_derive_pt
      Src: /src/hostap/src/ap/ieee802_11.c:3815,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/ieee802_11.c:3818,1
    - Dst: os_malloc
      Src: /src/hostap/src/ap/ieee802_11.c:3837,1
    - Dst: aes_siv_decrypt
      Src: /src/hostap/src/ap/ieee802_11.c:3839,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/ieee802_11.c:3840,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_11.c:3841,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/ap/ieee802_11.c:3848,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:3849,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/ap/ieee802_11.c:3851,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/ap/ieee802_11.c:3862,1
    - Dst: os_memdup
      Src: /src/hostap/src/ap/ieee802_11.c:3866,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_11.c:3870,1
    - Dst: sae_derive_pt
      Src: /src/hostap/src/ap/ieee802_11.c:3873,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/ieee802_11.c:3876,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:3879,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 8
    argNames:
    - ctx
    - pw_id
    - pw_id_len
    - group
    - password
    - counter
    - dec_pw_id
    - dec_pw_id_len
    argTypes:
    - void*
    - u8*
    - size_t
    - int
    - char**
    - unsigned int*
    - u8**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3885
      start: 3790
    functionDepth: 4
    functionLinenumber: 3790
    functionLinenumberEnd: 3885
    functionName: hapd_pasn_get_pt_for_pw_id
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - sae_derive_pt
    - os_strlen
    - wpa_printf
    - wpabuf_len
    - os_memdup
    - os_malloc
    - WPA_GET_BE32
    - wpabuf_head
    - os_free
    - sae_get_password
    - wpa_hexdump_ascii
    - aes_siv_decrypt
    linkageType: ''
    returnType: struct sae_pt
    signature: "struct sae_pt *\nhapd_pasn_get_pt_for_pw_id(void *ctx, const u8 *pw_id,
      size_t pw_id_len,\n\t\t\t    int group, const char **password,\n\t\t\t    unsigned
      int *counter,\n\t\t\t    u8 **dec_pw_id, size_t *dec_pw_id_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pasn_register_callbacks
      Src: /src/hostap/src/ap/ieee802_11.c:3894,1
    - Dst: pasn_set_bssid
      Src: /src/hostap/src/ap/ieee802_11.c:3896,1
    - Dst: pasn_set_own_addr
      Src: /src/hostap/src/ap/ieee802_11.c:3897,1
    - Dst: pasn_set_own_mld_addr
      Src: /src/hostap/src/ap/ieee802_11.c:3909,1
    - Dst: pasn_set_peer_addr
      Src: /src/hostap/src/ap/ieee802_11.c:3911,1
    - Dst: pasn_set_wpa_key_mgmt
      Src: /src/hostap/src/ap/ieee802_11.c:3912,1
    - Dst: pasn_set_rsn_pairwise
      Src: /src/hostap/src/ap/ieee802_11.c:3915,1
    - Dst: pasn_set_mfp
      Src: /src/hostap/src/ap/ieee802_11.c:3917,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_11.c:3918,1
    - Dst: int_array_dup
      Src: /src/hostap/src/ap/ieee802_11.c:3919,1
    - Dst: pasn_enable_kdk_derivation
      Src: /src/hostap/src/ap/ieee802_11.c:3925,1
    - Dst: pasn_enable_kdk_derivation
      Src: /src/hostap/src/ap/ieee802_11.c:3931,1
    - Dst: use_anti_clogging
      Src: /src/hostap/src/ap/ieee802_11.c:3933,1
    - Dst: sae_get_password
      Src: /src/hostap/src/ap/ieee802_11.c:3934,1
    - Dst: pasn_set_rsne
      Src: /src/hostap/src/ap/ieee802_11.c:3942,1
    - Dst: wpa_auth_get_wpa_ie
      Src: /src/hostap/src/ap/ieee802_11.c:3942,1
    - Dst: pasn_set_rsnxe_ie
      Src: /src/hostap/src/ap/ieee802_11.c:3944,1
    - Dst: hostapd_wpa_ie
      Src: /src/hostap/src/ap/ieee802_11.c:3944,1
    - Dst: pasn_set_responder_pmksa
      Src: /src/hostap/src/ap/ieee802_11.c:3949,1
    - Dst: wpa_auth_get_pmksa_cache
      Src: /src/hostap/src/ap/ieee802_11.c:3951,1
    - Dst: ap_sta_is_epp
      Src: /src/hostap/src/ap/ieee802_11.c:3952,1
    - Dst: ap_sta_is_mld
      Src: /src/hostap/src/ap/ieee802_11.c:3953,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3959
      start: 3889
    functionDepth: 4
    functionLinenumber: 3889
    functionLinenumberEnd: 3959
    functionName: hapd_initialize_pasn
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - pasn_set_rsn_pairwise
    - ap_sta_is_mld
    - ap_sta_is_epp
    - pasn_set_rsne
    - pasn_set_bssid
    - pasn_set_wpa_key_mgmt
    - use_anti_clogging
    - pasn_set_rsnxe_ie
    - pasn_set_own_addr
    - os_free
    - pasn_set_own_mld_addr
    - int_array_dup
    - pasn_set_responder_pmksa
    - pasn_set_peer_addr
    - pasn_set_mfp
    - pasn_register_callbacks
    - hostapd_wpa_ie
    - pasn_enable_kdk_derivation
    - sae_get_password
    - wpa_auth_get_pmksa_cache
    - wpa_auth_get_wpa_ie
    linkageType: ''
    returnType: void
    signature: "void hapd_initialize_pasn(struct hostapd_data *hapd,\n\t\t\t\t struct
      sta_info *sta)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ptksa_cache_get
      Src: /src/hostap/src/ap/ieee802_11.c:3968,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:3970,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:3971,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/ieee802_11.c:3975,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:3976,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:3979,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:3979,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:3983,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:3984,1
    - Dst: hostapd_drv_set_secure_ranging_ctx
      Src: /src/hostap/src/ap/ieee802_11.c:3985,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - hapd
    - own_addr
    - sta_addr
    - cipher
    - akmp
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3991
      start: 3962
    functionDepth: 1
    functionLinenumber: 3962
    functionLinenumberEnd: 3991
    functionName: pasn_set_keys_from_cache
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - ether_addr_equal
    - ptksa_cache_get
    - MAC2STR
    - hostapd_drv_set_secure_ranging_ctx
    linkageType: ''
    returnType: int
    signature: "int pasn_set_keys_from_cache(struct hostapd_data *hapd,\n\t\t\t\t
      \   const u8 *own_addr, const u8 *sta_addr,\n\t\t\t\t    int cipher, int akmp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/src/ap/ieee802_11.c:4008,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:4012,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 4
    argNames:
    - hapd
    - sta
    - mgmt
    - len
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - struct ieee80211_mgmt*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4015
      start: 3994
    functionDepth: 1
    functionLinenumber: 3994
    functionLinenumberEnd: 4015
    functionName: hapd_pasn_update_params
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - ieee802_11_parse_elems
    linkageType: ''
    returnType: void
    signature: "void hapd_pasn_update_params(struct hostapd_data *hapd,\n\t\t\t\t
      \   struct sta_info *sta,\n\t\t\t\t    const struct ieee80211_mgmt *mgmt,\n\t\t\t\t
      \   size_t len)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:4100,1
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/src/ap/ieee802_11.c:4104,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:4108,1
    - Dst: p2p_pasn_auth_rx
      Src: /src/hostap/src/ap/ieee802_11.c:4116,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:4122,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:4126,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:4127,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:4131,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:4137,1
    - Dst: pasn_data_init
      Src: /src/hostap/src/ap/ieee802_11.c:4143,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:4145,1
    - Dst: hapd_initialize_pasn
      Src: /src/hostap/src/ap/ieee802_11.c:4150,1
    - Dst: hapd_pasn_update_params
      Src: /src/hostap/src/ap/ieee802_11.c:4152,1
    - Dst: handle_auth_pasn_1
      Src: /src/hostap/src/ap/ieee802_11.c:4153,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ieee802_11.c:4155,1
    - Dst: hostapd_drv_set_secure_ranging_ctx
      Src: /src/hostap/src/ap/ieee802_11.c:4158,1
    - Dst: ap_free_sta
      Src: /src/hostap/src/ap/ieee802_11.c:4161,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:4165,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:4171,1
    - Dst: ap_free_sta_pasn
      Src: /src/hostap/src/ap/ieee802_11.c:4173,1
    - Dst: handle_auth_pasn_3
      Src: /src/hostap/src/ap/ieee802_11.c:4177,1
    - Dst: ap_sta_is_epp
      Src: /src/hostap/src/ap/ieee802_11.c:4181,1
    - Dst: ptksa_cache_add
      Src: /src/hostap/src/ap/ieee802_11.c:4186,1
    - Dst: pasn_get_cipher
      Src: /src/hostap/src/ap/ieee802_11.c:4187,1
    - Dst: pasn_get_ptk
      Src: /src/hostap/src/ap/ieee802_11.c:4188,1
    - Dst: pasn_get_akmp
      Src: /src/hostap/src/ap/ieee802_11.c:4189,1
    - Dst: ap_sta_is_epp
      Src: /src/hostap/src/ap/ieee802_11.c:4194,1
    - Dst: struct sta_info*::pasn::eppke_set_key
      Src: /src/hostap/src/ap/ieee802_11.c:4196,1
    - Dst: wpa_cipher_to_alg
      Src: /src/hostap/src/ap/ieee802_11.c:4198,1
    - Dst: ap_sta_is_epp
      Src: /src/hostap/src/ap/ieee802_11.c:4203,1
    - Dst: pasn_set_keys_from_cache
      Src: /src/hostap/src/ap/ieee802_11.c:4204,1
    - Dst: pasn_get_cipher
      Src: /src/hostap/src/ap/ieee802_11.c:4207,1
    - Dst: pasn_get_akmp
      Src: /src/hostap/src/ap/ieee802_11.c:4208,1
    - Dst: ap_sta_is_epp
      Src: /src/hostap/src/ap/ieee802_11.c:4210,1
    - Dst: ap_sta_is_epp
      Src: /src/hostap/src/ap/ieee802_11.c:4212,1
    - Dst: ap_sta_is_authorized
      Src: /src/hostap/src/ap/ieee802_11.c:4212,1
    - Dst: ap_free_sta
      Src: /src/hostap/src/ap/ieee802_11.c:4213,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:4216,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 68
    argCount: 6
    argNames:
    - hapd
    - sta
    - mgmt
    - len
    - trans_seq
    - status
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - struct ieee80211_mgmt*
    - size_t
    - u16
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4219
      start: 4091
    functionDepth: 12
    functionLinenumber: 4091
    functionLinenumberEnd: 4219
    functionName: handle_auth_pasn
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - hapd_initialize_pasn
    - ap_free_sta
    - hapd_pasn_update_params
    - ap_sta_is_epp
    - struct sta_info*::pasn::eppke_set_key
    - ptksa_cache_add
    - wpa_printf
    - pasn_get_ptk
    - handle_auth_pasn_3
    - pasn_set_keys_from_cache
    - p2p_pasn_auth_rx
    - handle_auth_pasn_1
    - pasn_get_akmp
    - ieee802_11_parse_elems
    - hostapd_drv_set_secure_ranging_ctx
    - pasn_get_cipher
    - ap_sta_is_authorized
    - pasn_data_init
    - wpabuf_free
    - ap_free_sta_pasn
    - MAC2STR
    - wpa_cipher_to_alg
    linkageType: ''
    returnType: void
    signature: "void handle_auth_pasn(struct hostapd_data *hapd, struct sta_info *sta,\n\t\t\t
      \    const struct ieee80211_mgmt *mgmt, size_t len,\n\t\t\t     u16 trans_seq,
      u16 status)"
  - BBCount: 55
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:4242,1
    - Dst: drand48
      Src: /src/hostap/src/ap/ieee802_11.c:4249,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:4250,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:4252,1
    - Dst: hostapd_process_ml_auth
      Src: /src/hostap/src/ap/ieee802_11.c:4264,1
    - Dst: le_to_host16
      Src: /src/hostap/src/ap/ieee802_11.c:4271,1
    - Dst: le_to_host16
      Src: /src/hostap/src/ap/ieee802_11.c:4272,1
    - Dst: le_to_host16
      Src: /src/hostap/src/ap/ieee802_11.c:4273,1
    - Dst: le_to_host16
      Src: /src/hostap/src/ap/ieee802_11.c:4274,1
    - Dst: le_to_host16
      Src: /src/hostap/src/ap/ieee802_11.c:4275,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:4283,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:4286,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:4294,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:4305,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:4314,1
    - Dst: CONFIG_IEEE80211R_AP
      Src: /src/hostap/src/ap/ieee802_11.c:4322,1
    - Dst: wpa_key_mgmt_ft
      Src: /src/hostap/src/ap/ieee802_11.c:4323,1
    - Dst: CONFIG_SAE
      Src: /src/hostap/src/ap/ieee802_11.c:4326,1
    - Dst: wpa_key_mgmt_sae
      Src: /src/hostap/src/ap/ieee802_11.c:4328,1
    - Dst: CONFIG_FILS
      Src: /src/hostap/src/ap/ieee802_11.c:4333,1
    - Dst: wpa_key_mgmt_fils
      Src: /src/hostap/src/ap/ieee802_11.c:4334,1
    - Dst: wpa_key_mgmt_fils
      Src: /src/hostap/src/ap/ieee802_11.c:4336,1
    - Dst: CONFIG_PASN
      Src: /src/hostap/src/ap/ieee802_11.c:4340,1
    - Dst: CONFIG_ENC_ASSOC
      Src: /src/hostap/src/ap/ieee802_11.c:4345,1
    - Dst: CONFIG_IEEE8021X_AUTH
      Src: /src/hostap/src/ap/ieee802_11.c:4353,1
    - Dst: wpa_key_mgmt_wpa_ieee8021x
      Src: /src/hostap/src/ap/ieee802_11.c:4355,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:4360,1
    - Dst: CONFIG_SAE
      Src: /src/hostap/src/ap/ieee802_11.c:4367,1
    - Dst: CONFIG_PASN
      Src: /src/hostap/src/ap/ieee802_11.c:4371,1
    - Dst: CONFIG_ENC_ASSOC
      Src: /src/hostap/src/ap/ieee802_11.c:4375,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:4385,1
    - Dst: hostapd_acceptable_sta_addr
      Src: /src/hostap/src/ap/ieee802_11.c:4391,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:4392,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:4393,1
    - Dst: sta_track_seen_on
      Src: /src/hostap/src/ap/ieee802_11.c:4401,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:4408,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:4410,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11.c:4417,1
    - Dst: WPA_PUT_LE32
      Src: /src/hostap/src/ap/ieee802_11.c:4420,1
    - Dst: ieee80211_freq_to_channel_ext
      Src: /src/hostap/src/ap/ieee802_11.c:4436,1
    - Dst: hostapd_hw_get_freq
      Src: /src/hostap/src/ap/ieee802_11.c:4437,1
    - Dst: ieee802_11_allowed_address
      Src: /src/hostap/src/ap/ieee802_11.c:4453,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/ieee802_11.c:4456,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:4458,1
    - Dst: ieee802_11_allowed_address
      Src: /src/hostap/src/ap/ieee802_11.c:4467,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/ieee802_11.c:4471,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:4473,1
    - Dst: auth_sae_queued_addr
      Src: /src/hostap/src/ap/ieee802_11.c:4486,1
    - Dst: auth_sae_queue
      Src: /src/hostap/src/ap/ieee802_11.c:4494,1
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/ieee802_11.c:4499,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_11.c:4507,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:4517,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:4519,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:4528,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:4530,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ieee802_11.c:4535,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/ap/ieee802_11.c:4536,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/ap/ieee802_11.c:4537,1
    - Dst: ap_sta_add
      Src: /src/hostap/src/ap/ieee802_11.c:4542,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:4544,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:4552,1
    - Dst: ap_sta_free_sta_profile
      Src: /src/hostap/src/ap/ieee802_11.c:4564,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/ieee802_11.c:4565,1
    - Dst: ap_sta_set_mld
      Src: /src/hostap/src/ap/ieee802_11.c:4570,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11.c:4577,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11.c:4579,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11.c:4581,1
    - Dst: ap_sta_is_authorized
      Src: /src/hostap/src/ap/ieee802_11.c:4586,1
    - Dst: clear_wpa_sm_for_each_partner_link
      Src: /src/hostap/src/ap/ieee802_11.c:4589,1
    - Dst: clear_wpa_sm_for_all_sta
      Src: /src/hostap/src/ap/ieee802_11.c:4590,1
    - Dst: wpa_auth_sta_deinit
      Src: /src/hostap/src/ap/ieee802_11.c:4591,1
    - Dst: ieee802_11_set_radius_info
      Src: /src/hostap/src/ap/ieee802_11.c:4603,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:4605,1
    - Dst: ieee802_1x_notify_pre_auth
      Src: /src/hostap/src/ap/ieee802_11.c:4611,1
    - Dst: FULL_AP_CLIENT_STATE_SUPP
      Src: /src/hostap/src/ap/ieee802_11.c:4635,1
    - Dst: ap_sta_is_authorized
      Src: /src/hostap/src/ap/ieee802_11.c:4636,1
    - Dst: ap_sta_re_add
      Src: /src/hostap/src/ap/ieee802_11.c:4639,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_11.c:4647,1
    - Dst: wpa_auth_sm_event
      Src: /src/hostap/src/ap/ieee802_11.c:4651,1
    - Dst: mlme_authenticate_indication
      Src: /src/hostap/src/ap/ieee802_11.c:4653,1
    - Dst: auth_shared_key
      Src: /src/hostap/src/ap/ieee802_11.c:4658,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:4661,1
    - Dst: mlme_authenticate_indication
      Src: /src/hostap/src/ap/ieee802_11.c:4664,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11.c:4668,1
    - Dst: wpa_auth_sta_init
      Src: /src/hostap/src/ap/ieee802_11.c:4679,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:4682,1
    - Dst: wpa_ft_process_auth
      Src: /src/hostap/src/ap/ieee802_11.c:4687,1
    - Dst: wpa_auth_sta_init
      Src: /src/hostap/src/ap/ieee802_11.c:4702,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:4705,1
    - Dst: handle_auth_sae
      Src: /src/hostap/src/ap/ieee802_11.c:4712,1
    - Dst: handle_auth_fils
      Src: /src/hostap/src/ap/ieee802_11.c:4719,1
    - Dst: handle_auth_802_1x
      Src: /src/hostap/src/ap/ieee802_11.c:4727,1
    - Dst: handle_auth_pasn
      Src: /src/hostap/src/ap/ieee802_11.c:4738,1
    - Dst: ap_sta_is_mld
      Src: /src/hostap/src/ap/ieee802_11.c:4748,1
    - Dst: send_auth_reply
      Src: /src/hostap/src/ap/ieee802_11.c:4752,1
    - Dst: hostapd_drv_sta_remove
      Src: /src/hostap/src/ap/ieee802_11.c:4760,1
    CyclomaticComplexity: 124
    EdgeCount: 124
    ICount: 254
    argCount: 5
    argNames:
    - hapd
    - mgmt
    - len
    - rssi
    - from_queue
    argTypes:
    - struct hostapd_data*
    - struct ieee80211_mgmt*
    - size_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4763
      start: 4224
    functionDepth: 14
    functionLinenumber: 4224
    functionLinenumberEnd: 4763
    functionName: handle_auth
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 2
    functionsReached:
    - send_auth_reply
    - ap_sta_is_mld
    - hostapd_logger
    - ieee80211_freq_to_channel_ext
    - ap_sta_free_sta_profile
    - auth_sae_queue
    - FULL_AP_CLIENT_STATE_SUPP
    - ap_get_sta
    - drand48
    - wpa_key_mgmt_sae
    - wpa_printf
    - ap_sta_add
    - hostapd_acceptable_sta_addr
    - CONFIG_FILS
    - CONFIG_IEEE8021X_AUTH
    - CONFIG_IEEE80211R_AP
    - wpa_ft_process_auth
    - handle_auth_802_1x
    - ap_sta_re_add
    - wpa_key_mgmt_ft
    - wpa_auth_sm_event
    - auth_shared_key
    - ieee802_11_allowed_address
    - ieee802_11_set_radius_info
    - WPA_PUT_LE32
    - ap_sta_set_mld
    - clear_wpa_sm_for_each_partner_link
    - os_get_reltime
    - ap_sta_is_authorized
    - hostapd_process_ml_auth
    - wpabuf_alloc_copy
    - CONFIG_PASN
    - clear_wpa_sm_for_all_sta
    - CONFIG_ENC_ASSOC
    - wpa_auth_sta_init
    - hostapd_hw_get_freq
    - ieee802_1x_notify_pre_auth
    - os_memset
    - sta_track_seen_on
    - wpa_auth_sta_deinit
    - os_memcpy
    - handle_auth_pasn
    - wpa_msg
    - hostapd_drv_sta_remove
    - wpabuf_free
    - handle_auth_sae
    - MAC2STR
    - auth_sae_queued_addr
    - CONFIG_SAE
    - handle_auth_fils
    - wpa_key_mgmt_wpa_ieee8021x
    - mlme_authenticate_indication
    - wpa_key_mgmt_fils
    - le_to_host16
    linkageType: ''
    returnType: void
    signature: "void handle_auth(struct hostapd_data *hapd,\n\t\t\tconst struct ieee80211_mgmt
      *mgmt, size_t len,\n\t\t\tint rssi, int from_queue)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4783
      start: 4766
    functionDepth: 0
    functionLinenumber: 4766
    functionLinenumberEnd: 4783
    functionName: hostapd_max_bssid_indicator
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 hostapd_max_bssid_indicator(struct hostapd_data *hapd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_mld_get_link_bss
      Src: /src/hostap/src/ap/ieee802_11.c:4803,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:4806,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - hapd
    - sta
    - i
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4819
      start: 4786
    functionDepth: 2
    functionLinenumber: 4786
    functionLinenumberEnd: 4819
    functionName: hostapd_get_aid_word
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hostapd_mld_get_link_bss
    linkageType: ''
    returnType: u32
    signature: "u32 hostapd_get_aid_word(struct hostapd_data *hapd,\n\t\t\t\tstruct
      sta_info *sta, int i)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_mbssid_get_tx_bss
      Src: /src/hostap/src/ap/ieee802_11.c:4829,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:4833,1
    - Dst: TEST_FAIL
      Src: /src/hostap/src/ap/ieee802_11.c:4837,1
    - Dst: hostapd_get_aid_word
      Src: /src/hostap/src/ap/ieee802_11.c:4841,1
    - Dst: BIT
      Src: /src/hostap/src/ap/ieee802_11.c:4846,1
    - Dst: hostapd_max_bssid_indicator
      Src: /src/hostap/src/ap/ieee802_11.c:4854,1
    - Dst: BIT
      Src: /src/hostap/src/ap/ieee802_11.c:4859,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:4860,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4862
      start: 4822
    functionDepth: 3
    functionLinenumber: 4822
    functionLinenumberEnd: 4862
    functionName: hostapd_get_aid
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - TEST_FAIL
    - hostapd_mbssid_get_tx_bss
    - BIT
    - hostapd_max_bssid_indicator
    - hostapd_get_aid_word
    linkageType: ''
    returnType: int
    signature: int hostapd_get_aid(struct hostapd_data *hapd, struct sta_info *sta)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/ieee802_11.c:4872,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_11.c:4873,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/src/ap/ieee802_11.c:4876,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - hapd
    - sta
    - ssid_ie
    - ssid_ie_len
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4881
      start: 4865
    functionDepth: 1
    functionLinenumber: 4865
    functionLinenumberEnd: 4881
    functionName: check_ssid
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - wpa_ssid_txt
    - os_memcmp
    - hostapd_logger
    linkageType: ''
    returnType: u16
    signature: "u16 check_ssid(struct hostapd_data *hapd, struct sta_info *sta,\n\t\t
      \     const u8 *ssid_ie, size_t ssid_ie_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_eid_wmm_valid
      Src: /src/hostap/src/ap/ieee802_11.c:4892,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_11.c:4893,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - hapd
    - sta
    - wmm_ie
    - wmm_ie_len
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4906
      start: 4884
    functionDepth: 1
    functionLinenumber: 4884
    functionLinenumberEnd: 4906
    functionName: check_wmm
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - hostapd_logger
    - hostapd_eid_wmm_valid
    linkageType: ''
    returnType: u16
    signature: "u16 check_wmm(struct hostapd_data *hapd, struct sta_info *sta,\n\t\t
      \    const u8 *wmm_ie, size_t wmm_ie_len)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_11.c:4921,1
    - Dst: check_multi_ap_ie
      Src: /src/hostap/src/ap/ieee802_11.c:4931,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_11.c:4937,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_11.c:4945,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_11.c:4955,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_11.c:4966,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_11.c:4974,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 4
    argNames:
    - hapd
    - sta
    - multi_ap_ie
    - multi_ap_len
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4980
      start: 4908
    functionDepth: 1
    functionLinenumber: 4908
    functionLinenumberEnd: 4980
    functionName: check_multi_ap
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - check_multi_ap_ie
    - hostapd_logger
    linkageType: ''
    returnType: u16
    signature: "u16 check_multi_ap(struct hostapd_data *hapd, struct sta_info *sta,\n\t\t\t
      \ const u8 *multi_ap_ie, size_t multi_ap_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_11.c:4992,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_11.c:5000,1
    - Dst: merge_byte_arrays
      Src: /src/hostap/src/ap/ieee802_11.c:5008,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - hapd
    - sta
    - elems
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - struct ieee802_11_elems*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5014
      start: 4983
    functionDepth: 1
    functionLinenumber: 4983
    functionLinenumberEnd: 5014
    functionName: copy_supp_rates
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 3
    functionsReached:
    - merge_byte_arrays
    - hostapd_logger
    linkageType: ''
    returnType: u16
    signature: "u16 copy_supp_rates(struct hostapd_data *hapd, struct sta_info *sta,\n\t\t\t
      \  struct ieee802_11_elems *elems)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - hapd
    - group
    argTypes:
    - struct hostapd_data*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5036
      start: 5019
    functionDepth: 0
    functionLinenumber: 5019
    functionLinenumberEnd: 5036
    functionName: owe_group_supported
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int owe_group_supported(struct hostapd_data *hapd, u16 group)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: wpa_auth_sta_get_pmksa
      Src: /src/hostap/src/ap/ieee802_11.c:5052,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:5053,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/ap/ieee802_11.c:5057,1
    - Dst: owe_group_supported
      Src: /src/hostap/src/ap/ieee802_11.c:5058,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:5059,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:5080,1
    - Dst: crypto_ecdh_deinit
      Src: /src/hostap/src/ap/ieee802_11.c:5083,1
    - Dst: crypto_ecdh_init
      Src: /src/hostap/src/ap/ieee802_11.c:5084,1
    - Dst: crypto_ecdh_set_peerkey
      Src: /src/hostap/src/ap/ieee802_11.c:5090,1
    - Dst: wpabuf_zeropad
      Src: /src/hostap/src/ap/ieee802_11.c:5092,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:5094,1
    - Dst: wpa_hexdump_buf_key
      Src: /src/hostap/src/ap/ieee802_11.c:5097,1
    - Dst: crypto_ecdh_get_pubkey
      Src: /src/hostap/src/ap/ieee802_11.c:5101,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/ap/ieee802_11.c:5103,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/ieee802_11.c:5110,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_11.c:5111,1
    - Dst: sha256_vector
      Src: /src/hostap/src/ap/ieee802_11.c:5113,1
    - Dst: sha384_vector
      Src: /src/hostap/src/ap/ieee802_11.c:5116,1
    - Dst: sha512_vector
      Src: /src/hostap/src/ap/ieee802_11.c:5119,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ieee802_11.c:5122,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/ap/ieee802_11.c:5123,1
    - Dst: wpabuf_zeropad
      Src: /src/hostap/src/ap/ieee802_11.c:5126,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ieee802_11.c:5128,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/ap/ieee802_11.c:5129,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/ap/ieee802_11.c:5133,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_11.c:5133,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ieee802_11.c:5135,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/ap/ieee802_11.c:5136,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/ap/ieee802_11.c:5140,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/ap/ieee802_11.c:5141,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ieee802_11.c:5142,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/ap/ieee802_11.c:5143,1
    - Dst: hmac_sha256
      Src: /src/hostap/src/ap/ieee802_11.c:5145,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/ieee802_11.c:5145,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_11.c:5145,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/ieee802_11.c:5146,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_11.c:5146,1
    - Dst: hmac_sha384
      Src: /src/hostap/src/ap/ieee802_11.c:5148,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/ieee802_11.c:5148,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_11.c:5148,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/ieee802_11.c:5149,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_11.c:5149,1
    - Dst: hmac_sha512
      Src: /src/hostap/src/ap/ieee802_11.c:5151,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/ieee802_11.c:5151,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_11.c:5151,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/ieee802_11.c:5152,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_11.c:5152,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/ap/ieee802_11.c:5153,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/ap/ieee802_11.c:5154,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/ap/ieee802_11.c:5158,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_11.c:5162,1
    - Dst: os_malloc
      Src: /src/hostap/src/ap/ieee802_11.c:5163,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/ieee802_11.c:5165,1
    - Dst: hmac_sha256_kdf
      Src: /src/hostap/src/ap/ieee802_11.c:5170,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/ieee802_11.c:5171,1
    - Dst: hmac_sha384_kdf
      Src: /src/hostap/src/ap/ieee802_11.c:5173,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/ieee802_11.c:5174,1
    - Dst: hmac_sha512_kdf
      Src: /src/hostap/src/ap/ieee802_11.c:5176,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/ieee802_11.c:5177,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/ieee802_11.c:5178,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_11.c:5180,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/ap/ieee802_11.c:5186,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/ieee802_11.c:5187,1
    - Dst: wpa_auth_pmksa_add2
      Src: /src/hostap/src/ap/ieee802_11.c:5188,1
    - Dst: ap_sta_is_mld
      Src: /src/hostap/src/ap/ieee802_11.c:5190,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 108
    argCount: 4
    argNames:
    - hapd
    - sta
    - owe_dh
    - owe_dh_len
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u8*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5193
      start: 5039
    functionDepth: 2
    functionLinenumber: 5039
    functionLinenumberEnd: 5193
    functionName: owe_process_assoc_req
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - owe_group_supported
    - wpa_hexdump
    - ap_sta_is_mld
    - hmac_sha512
    - WPA_GET_LE16
    - crypto_ecdh_set_peerkey
    - sha512_vector
    - wpabuf_alloc
    - hmac_sha384_kdf
    - crypto_ecdh_init
    - hmac_sha512_kdf
    - sha256_vector
    - os_strlen
    - wpa_printf
    - wpabuf_put_data
    - wpa_auth_pmksa_add2
    - crypto_ecdh_get_pubkey
    - wpabuf_clear_free
    - hmac_sha384
    - os_free
    - wpa_hexdump_key
    - crypto_ecdh_deinit
    - wpabuf_len
    - sha384_vector
    - os_malloc
    - wpabuf_head
    - hmac_sha256_kdf
    - wpa_auth_sta_get_pmksa
    - os_memset
    - hmac_sha256
    - wpabuf_free
    - wpabuf_put_le16
    - wpabuf_put_buf
    - wpabuf_zeropad
    - wpa_hexdump_buf_key
    linkageType: ''
    returnType: u16
    signature: "u16 owe_process_assoc_req(struct hostapd_data *hapd,\n\t\t\t\t struct
      sta_info *sta, const u8 *owe_dh,\n\t\t\t\t u8 owe_dh_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:5204,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:5205,1
    - Dst: wpa_parse_wpa_ie_rsn
      Src: /src/hostap/src/ap/ieee802_11.c:5211,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:5213,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:5214,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/ieee802_11.c:5215,1
    - Dst: wpa_res_to_status_code
      Src: /src/hostap/src/ap/ieee802_11.c:5216,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:5219,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:5221,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:5225,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:5227,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 6
    argNames:
    - hapd
    - peer
    - rsn_ie
    - rsn_ie_len
    - owe_dh
    - owe_dh_len
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5232
      start: 5196
    functionDepth: 1
    functionLinenumber: 5196
    functionLinenumberEnd: 5232
    functionName: owe_validate_request
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 1
    functionsReached:
    - wpa_res_to_status_code
    - wpa_printf
    - wpa_hexdump
    - wpa_parse_wpa_ie_rsn
    - MAC2STR
    linkageType: ''
    returnType: u16
    signature: "u16 owe_validate_request(struct hostapd_data *hapd, const u8 *peer,\n\t\t\t
      const u8 *rsn_ie, size_t rsn_ie_len,\n\t\t\t const u8 *owe_dh, size_t owe_dh_len)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:5247,1
    - Dst: wpa_auth_sta_init
      Src: /src/hostap/src/ap/ieee802_11.c:5253,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:5256,1
    - Dst: ap_sta_is_mld
      Src: /src/hostap/src/ap/ieee802_11.c:5262,1
    - Dst: wpa_auth_set_ml_info
      Src: /src/hostap/src/ap/ieee802_11.c:5263,1
    - Dst: wpa_validate_wpa_ie
      Src: /src/hostap/src/ap/ieee802_11.c:5268,1
    - Dst: ap_sta_is_mld
      Src: /src/hostap/src/ap/ieee802_11.c:5271,1
    - Dst: wpa_res_to_status_code
      Src: /src/hostap/src/ap/ieee802_11.c:5272,1
    - Dst: owe_process_assoc_req
      Src: /src/hostap/src/ap/ieee802_11.c:5275,1
    - Dst: wpa_auth_write_assoc_resp_owe
      Src: /src/hostap/src/ap/ieee802_11.c:5278,1
    - Dst: crypto_ecdh_get_pubkey
      Src: /src/hostap/src/ap/ieee802_11.c:5287,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_11.c:5295,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/ap/ieee802_11.c:5298,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11.c:5300,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/ieee802_11.c:5300,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_11.c:5300,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_11.c:5301,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ieee802_11.c:5302,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:5308,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:5310,1
    - Dst: hostapd_drv_update_dh_ie
      Src: /src/hostap/src/ap/ieee802_11.c:5311,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 57
    argCount: 7
    argNames:
    - hapd
    - sta
    - rsn_ie
    - rsn_ie_len
    - owe_dh
    - owe_dh_len
    - link_addr
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5317
      start: 5235
    functionDepth: 4
    functionLinenumber: 5235
    functionLinenumberEnd: 5317
    functionName: owe_process_rsn_ie
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 1
    functionsReached:
    - wpa_res_to_status_code
    - wpa_printf
    - os_memcpy
    - hostapd_drv_update_dh_ie
    - ap_sta_is_mld
    - wpabuf_len
    - wpabuf_free
    - wpabuf_head
    - owe_process_assoc_req
    - MAC2STR
    - crypto_ecdh_get_pubkey
    - wpa_auth_write_assoc_resp_owe
    - wpa_auth_sta_init
    - wpa_validate_wpa_ie
    - wpa_auth_set_ml_info
    - WPA_PUT_LE16
    linkageType: ''
    returnType: u16
    signature: "u16 owe_process_rsn_ie(struct hostapd_data *hapd,\n\t\t       struct
      sta_info *sta,\n\t\t       const u8 *rsn_ie, size_t rsn_ie_len,\n\t\t       const
      u8 *owe_dh, size_t owe_dh_len,\n\t\t       const u8 *link_addr)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: get_ie_ext
      Src: /src/hostap/src/ap/ieee802_11.c:5332,1
    - Dst: WPA_GET_LE64
      Src: /src/hostap/src/ap/ieee802_11.c:5341,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:5348,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:5350,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:5353,1
    - Dst: wpa_auth_sm_known_sta_identification
      Src: /src/hostap/src/ap/ieee802_11.c:5358,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:5360,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:5365,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 4
    argNames:
    - hapd
    - sta
    - ies
    - ies_len
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5369
      start: 5322
    functionDepth: 2
    functionLinenumber: 5322
    functionLinenumberEnd: 5369
    functionName: hapd_is_known_sta
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - WPA_GET_LE64
    - get_ie_ext
    - MAC2STR
    - wpa_auth_sm_known_sta_identification
    linkageType: ''
    returnType: bool
    signature: "bool hapd_is_known_sta(struct hostapd_data *hapd, struct sta_info
      *sta,\n\t\t\t      const u8 *ies, size_t ies_len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_check_sa_query_timeout
      Src: /src/hostap/src/ap/ieee802_11.c:5393,1
    - Dst: hapd_is_known_sta
      Src: /src/hostap/src/ap/ieee802_11.c:5397,1
    - Dst: ap_sta_start_sa_query
      Src: /src/hostap/src/ap/ieee802_11.c:5406,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 6
    argNames:
    - hapd
    - sta
    - reassoc
    - ies
    - ies_len
    - enc_assoc
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - int
    - u8*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5412
      start: 5372
    functionDepth: 6
    functionLinenumber: 5372
    functionLinenumberEnd: 5412
    functionName: check_sa_query
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - ap_sta_start_sa_query
    - hapd_is_known_sta
    - ap_check_sa_query_timeout
    linkageType: ''
    returnType: bool
    signature: "bool check_sa_query(struct hostapd_data *hapd, struct sta_info *sta,\n\t\t\t
      \  int reassoc, const u8 *ies, size_t ies_len,\n\t\t\t   bool enc_assoc)"
  - BBCount: 102
    BranchProfiles: []
    Callsites:
    - Dst: check_ssid
      Src: /src/hostap/src/ap/ieee802_11.c:5440,1
    - Dst: check_wmm
      Src: /src/hostap/src/ap/ieee802_11.c:5445,1
    - Dst: check_ext_capab
      Src: /src/hostap/src/ap/ieee802_11.c:5448,1
    - Dst: copy_supp_rates
      Src: /src/hostap/src/ap/ieee802_11.c:5452,1
    - Dst: check_multi_ap
      Src: /src/hostap/src/ap/ieee802_11.c:5456,1
    - Dst: copy_sta_ht_capab
      Src: /src/hostap/src/ap/ieee802_11.c:5460,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_11.c:5465,1
    - Dst: copy_sta_vht_capab
      Src: /src/hostap/src/ap/ieee802_11.c:5474,1
    - Dst: set_sta_vht_opmode
      Src: /src/hostap/src/ap/ieee802_11.c:5478,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_11.c:5485,1
    - Dst: copy_sta_vendor_vht
      Src: /src/hostap/src/ap/ieee802_11.c:5493,1
    - Dst: hostapd_is_he_enabled
      Src: /src/hostap/src/ap/ieee802_11.c:5500,1
    - Dst: copy_sta_he_capab
      Src: /src/hostap/src/ap/ieee802_11.c:5501,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_11.c:5508,1
    - Dst: is_6ghz_op_class
      Src: /src/hostap/src/ap/ieee802_11.c:5516,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_11.c:5518,1
    - Dst: copy_sta_he_6ghz_capab
      Src: /src/hostap/src/ap/ieee802_11.c:5525,1
    - Dst: hostapd_is_eht_enabled
      Src: /src/hostap/src/ap/ieee802_11.c:5533,1
    - Dst: copy_sta_eht_capab
      Src: /src/hostap/src/ap/ieee802_11.c:5534,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_11.c:5544,1
    - Dst: hostapd_process_ml_assoc_req
      Src: /src/hostap/src/ap/ieee802_11.c:5552,1
    - Dst: hostapd_is_uhr_enabled
      Src: /src/hostap/src/ap/ieee802_11.c:5559,1
    - Dst: copy_sta_uhr_capab
      Src: /src/hostap/src/ap/ieee802_11.c:5560,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_11.c:5567,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ieee802_11.c:5578,1
    - Dst: ieee802_11_vendor_ie_concat
      Src: /src/hostap/src/ap/ieee802_11.c:5579,1
    - Dst: p2p_get_go_dev_addr
      Src: /src/hostap/src/ap/ieee802_11.c:5582,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ieee802_11.c:5584,1
    - Dst: ap_sta_is_mld
      Src: /src/hostap/src/ap/ieee802_11.c:5597,1
    - Dst: ap_sta_is_epp
      Src: /src/hostap/src/ap/ieee802_11.c:5601,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:5610,1
    - Dst: wpa_key_mgmt_sha384
      Src: /src/hostap/src/ap/ieee802_11.c:5615,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:5621,1
    - Dst: ap_sta_is_mld
      Src: /src/hostap/src/ap/ieee802_11.c:5628,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11.c:5632,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11.c:5634,1
    - Dst: wpa_auth_8021x_mic
      Src: /src/hostap/src/ap/ieee802_11.c:5639,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/ap/ieee802_11.c:5644,1
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/ieee802_11.c:5646,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:5647,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:5658,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:5678,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ieee802_11.c:5681,1
    - Dst: ieee802_11_vendor_ie_concat
      Src: /src/hostap/src/ap/ieee802_11.c:5682,1
    - Dst: wps_is_20
      Src: /src/hostap/src/ap/ieee802_11.c:5684,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:5685,1
    - Dst: wps_validate_assoc_req
      Src: /src/hostap/src/ap/ieee802_11.c:5690,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:5691,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:5697,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_11.c:5703,1
    - Dst: wpa_auth_sta_init
      Src: /src/hostap/src/ap/ieee802_11.c:5725,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:5730,1
    - Dst: wpa_key_mgmt_sae_ext_key
      Src: /src/hostap/src/ap/ieee802_11.c:5737,1
    - Dst: wpa_auth_set_hash_alg_sae_ext_key
      Src: /src/hostap/src/ap/ieee802_11.c:5738,1
    - Dst: ap_sta_is_mld
      Src: /src/hostap/src/ap/ieee802_11.c:5744,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:5745,1
    - Dst: wpa_auth_set_ml_info
      Src: /src/hostap/src/ap/ieee802_11.c:5748,1
    - Dst: wpa_auth_set_auth_alg
      Src: /src/hostap/src/ap/ieee802_11.c:5754,1
    - Dst: wpa_auth_set_sae_pw_id
      Src: /src/hostap/src/ap/ieee802_11.c:5756,1
    - Dst: wpa_auth_set_rsn_selection
      Src: /src/hostap/src/ap/ieee802_11.c:5758,1
    - Dst: wpa_validate_wpa_ie
      Src: /src/hostap/src/ap/ieee802_11.c:5760,1
    - Dst: ap_sta_is_mld
      Src: /src/hostap/src/ap/ieee802_11.c:5770,1
    - Dst: wpa_res_to_status_code
      Src: /src/hostap/src/ap/ieee802_11.c:5771,1
    - Dst: wpa_auth_uses_mfp
      Src: /src/hostap/src/ap/ieee802_11.c:5775,1
    - Dst: wpa_auth_uses_spp_amsdu
      Src: /src/hostap/src/ap/ieee802_11.c:5780,1
    - Dst: ap_sta_is_mld
      Src: /src/hostap/src/ap/ieee802_11.c:5791,1
    - Dst: ap_sta_is_epp
      Src: /src/hostap/src/ap/ieee802_11.c:5796,1
    - Dst: ieee802_11_rsnx_capab_len
      Src: /src/hostap/src/ap/ieee802_11.c:5798,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:5805,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:5807,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11.c:5810,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/ieee802_11.c:5811,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:5818,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:5832,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/ap/ieee802_11.c:5838,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/ap/ieee802_11.c:5840,1
    - Dst: wpa_auth_sta_key_mgmt
      Src: /src/hostap/src/ap/ieee802_11.c:5844,1
    - Dst: wpa_auth_epp_derive_new_pmkid
      Src: /src/hostap/src/ap/ieee802_11.c:5846,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:5849,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/ap/ieee802_11.c:5853,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:5862,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:5865,1
    - Dst: wpa_ft_validate_reassoc
      Src: /src/hostap/src/ap/ieee802_11.c:5870,1
    - Dst: wpa_auth_uses_sae
      Src: /src/hostap/src/ap/ieee802_11.c:5880,1
    - Dst: wpa_key_mgmt_sae_ext_key
      Src: /src/hostap/src/ap/ieee802_11.c:5883,1
    - Dst: wpa_auth_sta_key_mgmt
      Src: /src/hostap/src/ap/ieee802_11.c:5883,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:5885,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:5887,1
    - Dst: wpa_auth_add_sae_pmkid
      Src: /src/hostap/src/ap/ieee802_11.c:5891,1
    - Dst: wpa_auth_uses_sae
      Src: /src/hostap/src/ap/ieee802_11.c:5894,1
    - Dst: wpa_auth_sta_get_pmksa
      Src: /src/hostap/src/ap/ieee802_11.c:5897,1
    - Dst: wpa_key_mgmt_sae
      Src: /src/hostap/src/ap/ieee802_11.c:5898,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:5899,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:5901,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:5905,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:5906,1
    - Dst: sae_assign_vlan
      Src: /src/hostap/src/ap/ieee802_11.c:5907,1
    - Dst: wpa_key_mgmt_sae_ext_key
      Src: /src/hostap/src/ap/ieee802_11.c:5908,1
    - Dst: wpa_auth_set_hash_alg_sae_ext_key
      Src: /src/hostap/src/ap/ieee802_11.c:5909,1
    - Dst: wpa_auth_uses_sae
      Src: /src/hostap/src/ap/ieee802_11.c:5911,1
    - Dst: wpa_auth_uses_ft_sae
      Src: /src/hostap/src/ap/ieee802_11.c:5914,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:5915,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:5917,1
    - Dst: ieee802_11_rsnx_capab_len
      Src: /src/hostap/src/ap/ieee802_11.c:5925,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:5928,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:5930,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:5932,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:5934,1
    - Dst: wpa_auth_sta_key_mgmt
      Src: /src/hostap/src/ap/ieee802_11.c:5946,1
    - Dst: owe_process_assoc_req
      Src: /src/hostap/src/ap/ieee802_11.c:5948,1
    - Dst: wpa_auth_sta_key_mgmt
      Src: /src/hostap/src/ap/ieee802_11.c:5963,1
    - Dst: dpp_pfs_init
      Src: /src/hostap/src/ap/ieee802_11.c:5965,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/ieee802_11.c:5966,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_11.c:5967,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:5969,1
    - Dst: dpp_pfs_process
      Src: /src/hostap/src/ap/ieee802_11.c:5975,1
    - Dst: dpp_pfs_free
      Src: /src/hostap/src/ap/ieee802_11.c:5977,1
    - Dst: wpa_auth_set_dpp_z
      Src: /src/hostap/src/ap/ieee802_11.c:5984,1
    - Dst: wpa_auth_get_pairwise
      Src: /src/hostap/src/ap/ieee802_11.c:5990,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_11.c:5991,1
    - Dst: wpa_auth_set_ssid_protection
      Src: /src/hostap/src/ap/ieee802_11.c:6000,1
    - Dst: ieee802_11_rsnx_capab_len
      Src: /src/hostap/src/ap/ieee802_11.c:6003,1
    - Dst: wpa_auth_sta_no_wpa
      Src: /src/hostap/src/ap/ieee802_11.c:6007,1
    - Dst: p2p_group_notif_assoc
      Src: /src/hostap/src/ap/ieee802_11.c:6013,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ieee802_11.c:6017,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/ap/ieee802_11.c:6021,1
    - Dst: wpa_auth_uses_mfp
      Src: /src/hostap/src/ap/ieee802_11.c:6024,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:6026,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:6028,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ieee802_11.c:6036,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/ap/ieee802_11.c:6038,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ieee802_11.c:6046,1
    - Dst: mb_ies_by_info
      Src: /src/hostap/src/ap/ieee802_11.c:6048,1
    - Dst: mbo_ap_check_sta_assoc
      Src: /src/hostap/src/ap/ieee802_11.c:6054,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:6059,1
    - Dst: wpa_auth_uses_ocv
      Src: /src/hostap/src/ap/ieee802_11.c:6068,1
    - Dst: hostapd_drv_channel_info
      Src: /src/hostap/src/ap/ieee802_11.c:6077,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:6078,1
    - Dst: get_sta_tx_parameters
      Src: /src/hostap/src/ap/ieee802_11.c:6084,1
    - Dst: channel_width_to_int
      Src: /src/hostap/src/ap/ieee802_11.c:6085,1
    - Dst: ocv_verify_tx_params
      Src: /src/hostap/src/ap/ieee802_11.c:6092,1
    - Dst: wpa_auth_uses_ocv
      Src: /src/hostap/src/ap/ieee802_11.c:6094,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:6097,1
    - Dst: wpa_auth_set_ocv
      Src: /src/hostap/src/ap/ieee802_11.c:6099,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:6101,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/ieee802_11.c:6103,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:6105,1
    - Dst: ap_copy_sta_supp_op_classes
      Src: /src/hostap/src/ap/ieee802_11.c:6112,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11.c:6118,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/ap/ieee802_11.c:6133,1
    - Dst: hostapd_wfa_capab
      Src: /src/hostap/src/ap/ieee802_11.c:6143,1
    - Dst: clear_wpa_sm_for_each_partner_link
      Src: /src/hostap/src/ap/ieee802_11.c:6151,1
    - Dst: clear_wpa_sm_for_all_sta
      Src: /src/hostap/src/ap/ieee802_11.c:6152,1
    - Dst: wpa_auth_sta_deinit
      Src: /src/hostap/src/ap/ieee802_11.c:6155,1
    - Dst: set_wpa_sm_for_each_partner_link
      Src: /src/hostap/src/ap/ieee802_11.c:6164,1
    - Dst: clear_wpa_sm_for_each_partner_link
      Src: /src/hostap/src/ap/ieee802_11.c:6170,1
    CyclomaticComplexity: 221
    EdgeCount: 221
    ICount: 452
    argCount: 7
    argNames:
    - hapd
    - sta
    - ies
    - ies_len
    - elems
    - type
    - assoc_wpa_sm
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u8*
    - size_t
    - struct ieee802_11_elems*
    - enum link_parse_type
    - struct wpa_state_machine*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6176
      start: 5415
    functionDepth: 9
    functionLinenumber: 5415
    functionLinenumberEnd: 6176
    functionName: __check_assoc_ies
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - wpa_res_to_status_code
    - wpa_key_mgmt_sae_ext_key
    - wpa_hexdump
    - ap_sta_is_epp
    - wpa_auth_set_ssid_protection
    - wpa_key_mgmt_sae
    - check_multi_ap
    - wpa_printf
    - wpa_auth_set_ocv
    - p2p_get_go_dev_addr
    - wpa_auth_set_dpp_z
    - wpa_auth_set_hash_alg_sae_ext_key
    - copy_sta_ht_capab
    - wpa_auth_uses_spp_amsdu
    - hostapd_drv_channel_info
    - wpa_hexdump_key
    - wpa_auth_8021x_mic
    - wpabuf_len
    - hostapd_wfa_capab
    - wpa_auth_sta_get_pmksa
    - ap_copy_sta_supp_op_classes
    - wpa_msg
    - MAC2STR
    - hostapd_is_uhr_enabled
    - wpa_auth_uses_sae
    - ap_sta_is_mld
    - hostapd_is_eht_enabled
    - copy_sta_vht_capab
    - wpa_auth_uses_ft_sae
    - wpa_auth_sta_key_mgmt
    - copy_sta_uhr_capab
    - copy_sta_vendor_vht
    - clear_wpa_sm_for_each_partner_link
    - wpa_auth_set_auth_alg
    - get_sta_tx_parameters
    - mb_ies_by_info
    - wpa_auth_sta_init
    - clear_wpa_sm_for_all_sta
    - wpa_auth_uses_ocv
    - sae_assign_vlan
    - os_memcpy
    - ieee802_11_vendor_ie_concat
    - dpp_pfs_process
    - hostapd_process_ml_assoc_req
    - hostapd_is_he_enabled
    - wpa_auth_set_rsn_selection
    - wpa_auth_set_sae_pw_id
    - ocv_verify_tx_params
    - wpa_auth_set_ml_info
    - check_wmm
    - dpp_pfs_init
    - wpa_auth_sta_no_wpa
    - os_memcmp
    - channel_width_to_int
    - wpa_auth_uses_mfp
    - copy_sta_he_capab
    - wpa_ft_validate_reassoc
    - is_6ghz_op_class
    - wpabuf_alloc_copy
    - copy_sta_he_6ghz_capab
    - wpa_validate_wpa_ie
    - wpa_auth_epp_derive_new_pmkid
    - set_sta_vht_opmode
    - wpa_auth_add_sae_pmkid
    - copy_supp_rates
    - wpa_auth_sta_deinit
    - check_ext_capab
    - wpabuf_free
    - wpa_auth_get_pairwise
    - dpp_pfs_free
    - hostapd_logger
    - wps_validate_assoc_req
    - WPA_GET_LE16
    - copy_sta_eht_capab
    - set_wpa_sm_for_each_partner_link
    - wpa_key_mgmt_sha384
    - wps_is_20
    - p2p_group_notif_assoc
    - ieee802_11_rsnx_capab_len
    - wpabuf_head
    - check_ssid
    - owe_process_assoc_req
    - random_get_bytes
    - mbo_ap_check_sta_assoc
    linkageType: ''
    returnType: int
    signature: "int __check_assoc_ies(struct hostapd_data *hapd, struct sta_info *sta,\n\t\t\t
      \    const u8 *ies, size_t ies_len,\n\t\t\t     struct ieee802_11_elems *elems,\n\t\t\t
      \    enum link_parse_type type,\n\t\t\t     struct wpa_state_machine *assoc_wpa_sm)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/src/ap/ieee802_11.c:6185,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_11.c:6186,1
    - Dst: __check_assoc_ies
      Src: /src/hostap/src/ap/ieee802_11.c:6192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - hapd
    - sta
    - ies
    - ies_len
    - type
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u8*
    - size_t
    - enum link_parse_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6193
      start: 6179
    functionDepth: 10
    functionLinenumber: 6179
    functionLinenumberEnd: 6193
    functionName: check_assoc_ies
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 1
    functionsReached:
    - ieee802_11_parse_elems
    - hostapd_logger
    - __check_assoc_ies
    linkageType: ''
    returnType: int
    signature: "int check_assoc_ies(struct hostapd_data *hapd, struct sta_info *sta,\n\t\t\t
      \  const u8 *ies, size_t ies_len,\n\t\t\t   enum link_parse_type type)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/ap/ieee802_11.c:6209,1
    - Dst: hostapd_own_capab_info
      Src: /src/hostap/src/ap/ieee802_11.c:6209,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/ap/ieee802_11.c:6213,1
    - Dst: hostapd_eid_supp_rates
      Src: /src/hostap/src/ap/ieee802_11.c:6220,1
    - Dst: hostapd_eid_ext_supp_rates
      Src: /src/hostap/src/ap/ieee802_11.c:6221,1
    - Dst: hostapd_eid_rm_enabled_capab
      Src: /src/hostap/src/ap/ieee802_11.c:6222,1
    - Dst: hostapd_eid_ht_capabilities
      Src: /src/hostap/src/ap/ieee802_11.c:6223,1
    - Dst: hostapd_eid_ht_operation
      Src: /src/hostap/src/ap/ieee802_11.c:6224,1
    - Dst: hostapd_is_vht_enabled
      Src: /src/hostap/src/ap/ieee802_11.c:6226,1
    - Dst: hostapd_eid_vht_capabilities
      Src: /src/hostap/src/ap/ieee802_11.c:6227,1
    - Dst: hostapd_eid_vht_operation
      Src: /src/hostap/src/ap/ieee802_11.c:6228,1
    - Dst: hostapd_is_he_enabled
      Src: /src/hostap/src/ap/ieee802_11.c:6231,1
    - Dst: hostapd_eid_he_capab
      Src: /src/hostap/src/ap/ieee802_11.c:6232,1
    - Dst: hostapd_eid_he_operation
      Src: /src/hostap/src/ap/ieee802_11.c:6233,1
    - Dst: hostapd_eid_spatial_reuse
      Src: /src/hostap/src/ap/ieee802_11.c:6234,1
    - Dst: hostapd_eid_he_mu_edca_parameter_set
      Src: /src/hostap/src/ap/ieee802_11.c:6235,1
    - Dst: hostapd_eid_he_6ghz_band_cap
      Src: /src/hostap/src/ap/ieee802_11.c:6236,1
    - Dst: hostapd_is_eht_enabled
      Src: /src/hostap/src/ap/ieee802_11.c:6237,1
    - Dst: hostapd_eid_eht_capab
      Src: /src/hostap/src/ap/ieee802_11.c:6238,1
    - Dst: hostapd_eid_eht_operation
      Src: /src/hostap/src/ap/ieee802_11.c:6239,1
    - Dst: hostapd_eid_ext_capab
      Src: /src/hostap/src/ap/ieee802_11.c:6243,1
    - Dst: hostapd_ml_get_assoc_sta
      Src: /src/hostap/src/ap/ieee802_11.c:6246,1
    - Dst: hostapd_wpa_ie
      Src: /src/hostap/src/ap/ieee802_11.c:6254,1
    - Dst: hostapd_wpa_ie
      Src: /src/hostap/src/ap/ieee802_11.c:6255,1
    - Dst: hostapd_wpa_ie
      Src: /src/hostap/src/ap/ieee802_11.c:6257,1
    - Dst: hostapd_wpa_ie
      Src: /src/hostap/src/ap/ieee802_11.c:6258,1
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/ieee802_11.c:6270,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11.c:6275,1
    - Dst: ap_sta_is_epp
      Src: /src/hostap/src/ap/ieee802_11.c:6281,1
    - Dst: wpa_auth_ap_sta_support_assoc_enc
      Src: /src/hostap/src/ap/ieee802_11.c:6282,1
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/ieee802_11.c:6285,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11.c:6290,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11.c:6301,1
    - Dst: hostapd_is_uhr_enabled
      Src: /src/hostap/src/ap/ieee802_11.c:6308,1
    - Dst: hostapd_eid_uhr_capab
      Src: /src/hostap/src/ap/ieee802_11.c:6309,1
    - Dst: hostapd_eid_uhr_operation
      Src: /src/hostap/src/ap/ieee802_11.c:6310,1
    - Dst: hostapd_eid_mbo
      Src: /src/hostap/src/ap/ieee802_11.c:6314,1
    - Dst: hostapd_eid_wmm
      Src: /src/hostap/src/ap/ieee802_11.c:6315,1
    - Dst: hostapd_eid_wfa_capab
      Src: /src/hostap/src/ap/ieee802_11.c:6318,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_11.c:6322,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11.c:6323,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/ieee802_11.c:6323,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_11.c:6324,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_11.c:6325,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_11.c:6329,1
    - Dst: os_memdup
      Src: /src/hostap/src/ap/ieee802_11.c:6330,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 86
    argCount: 3
    argNames:
    - hapd
    - link
    - sta
    argTypes:
    - struct hostapd_data*
    - struct mld_link_info*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6332
      start: 6198
    functionDepth: 4
    functionLinenumber: 6198
    functionLinenumberEnd: 6332
    functionName: ieee80211_ml_build_assoc_resp
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 1
    functionsReached:
    - hostapd_eid_ext_supp_rates
    - hostapd_is_uhr_enabled
    - hostapd_eid_he_mu_edca_parameter_set
    - hostapd_eid_uhr_capab
    - hostapd_eid_ht_capabilities
    - hostapd_eid_vht_operation
    - ap_sta_is_epp
    - hostapd_eid_mbo
    - hostapd_is_eht_enabled
    - hostapd_eid_eht_operation
    - hostapd_eid_eht_capab
    - hostapd_eid_he_operation
    - hostapd_eid_ht_operation
    - os_memdup
    - os_memcmp
    - hostapd_eid_spatial_reuse
    - hostapd_eid_ext_capab
    - os_free
    - hostapd_eid_supp_rates
    - WPA_PUT_LE16
    - wpabuf_len
    - hostapd_is_vht_enabled
    - wpabuf_head
    - hostapd_wpa_ie
    - hostapd_own_capab_info
    - hostapd_eid_wmm
    - wpa_auth_ap_sta_support_assoc_enc
    - hostapd_eid_wfa_capab
    - os_memcpy
    - hostapd_ml_get_assoc_sta
    - hostapd_eid_uhr_operation
    - hostapd_is_he_enabled
    - hostapd_eid_he_6ghz_band_cap
    - hostapd_eid_rm_enabled_capab
    - hostapd_eid_he_capab
    - hostapd_eid_vht_capabilities
    linkageType: ''
    returnType: void
    signature: "void ieee80211_ml_build_assoc_resp(struct hostapd_data *hapd,\n\t\t\t\t
      \  struct mld_link_info *link,\n\t\t\t\t   struct sta_info *sta)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:6348,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:6349,1
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/src/ap/ieee802_11.c:6351,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:6352,1
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/ieee802_11.c:6357,1
    - Dst: TEST_FAIL
      Src: /src/hostap/src/ap/ieee802_11.c:6358,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:6359,1
    - Dst: ap_sta_add
      Src: /src/hostap/src/ap/ieee802_11.c:6365,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:6367,1
    - Dst: ieee802_11_defrag
      Src: /src/hostap/src/ap/ieee802_11.c:6373,1
    - Dst: ieee802_11_parse_link_assoc_req
      Src: /src/hostap/src/ap/ieee802_11.c:6378,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:6381,1
    - Dst: ap_sta_set_mld
      Src: /src/hostap/src/ap/ieee802_11.c:6390,1
    - Dst: __check_assoc_ies
      Src: /src/hostap/src/ap/ieee802_11.c:6396,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:6399,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11.c:6403,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11.c:6411,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11.c:6412,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:6423,1
    - Dst: BIT
      Src: /src/hostap/src/ap/ieee802_11.c:6427,1
    - Dst: update_ht_state
      Src: /src/hostap/src/ap/ieee802_11.c:6429,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:6439,1
    - Dst: add_associated_sta
      Src: /src/hostap/src/ap/ieee802_11.c:6448,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ieee802_11.c:6451,1
    - Dst: ieee80211_ml_build_assoc_resp
      Src: /src/hostap/src/ap/ieee802_11.c:6455,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:6457,1
    - Dst: wpa_release_link_auth_ref
      Src: /src/hostap/src/ap/ieee802_11.c:6459,1
    - Dst: ap_free_sta
      Src: /src/hostap/src/ap/ieee802_11.c:6462,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 88
    argCount: 8
    argNames:
    - hapd
    - origin_sta
    - link
    - ies
    - ies_len
    - type
    - offload
    - set_beacon
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - struct mld_link_info*
    - u8*
    - size_t
    - enum link_parse_type
    - bool
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6467
      start: 6335
    functionDepth: 12
    functionLinenumber: 6335
    functionLinenumberEnd: 6467
    functionName: ieee80211_ml_process_link
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 1
    functionsReached:
    - ieee802_11_defrag
    - wpa_printf
    - TEST_FAIL
    - ap_sta_add
    - __check_assoc_ies
    - os_memcpy
    - update_ht_state
    - ieee80211_ml_build_assoc_resp
    - wpa_release_link_auth_ref
    - ap_free_sta
    - wpabuf_free
    - MAC2STR
    - ieee802_11_parse_link_assoc_req
    - BIT
    - ieee802_11_parse_elems
    - ap_sta_set_mld
    - add_associated_sta
    - ap_get_sta
    linkageType: ''
    returnType: int
    signature: "int ieee80211_ml_process_link(struct hostapd_data *hapd,\n\t\t\t      struct
      sta_info *origin_sta,\n\t\t\t      struct mld_link_info *link,\n\t\t\t      const
      u8 *ies, size_t ies_len,\n\t\t\t      enum link_parse_type type, bool offload,\n\t\t\t
      \     bool *set_beacon)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6493
      start: 6470
    functionDepth: 0
    functionLinenumber: 6470
    functionLinenumberEnd: 6493
    functionName: hostapd_is_multiple_link_mld
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hostapd_is_multiple_link_mld(struct hostapd_data *hapd)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6490
      start: 6487
    functionDepth: 0
    functionLinenumber: 6487
    functionLinenumberEnd: 6490
    functionName: for_each_mld_link
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void for_each_mld_link(bss, hapd)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_is_multiple_link_mld
      Src: /src/hostap/src/ap/ieee802_11.c:6509,1
    - Dst: TEST_FAIL
      Src: /src/hostap/src/ap/ieee802_11.c:6531,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:6532,1
    - Dst: ieee80211_ml_build_assoc_resp
      Src: /src/hostap/src/ap/ieee802_11.c:6537,1
    - Dst: ieee80211_ml_build_assoc_resp
      Src: /src/hostap/src/ap/ieee802_11.c:6542,1
    - Dst: ieee80211_ml_process_link
      Src: /src/hostap/src/ap/ieee802_11.c:6544,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 29
    argCount: 8
    argNames:
    - hapd
    - sta
    - ies
    - ies_len
    - reassoc
    - tx_link_status
    - offload
    - set_beacon
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u8*
    - size_t
    - bool
    - int
    - bool
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6555
      start: 6498
    functionDepth: 13
    functionLinenumber: 6498
    functionLinenumberEnd: 6555
    functionName: hostapd_process_assoc_ml_info
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - ieee80211_ml_process_link
    - wpa_printf
    - TEST_FAIL
    - ieee80211_ml_build_assoc_resp
    - hostapd_is_multiple_link_mld
    linkageType: ''
    returnType: int
    signature: "int hostapd_process_assoc_ml_info(struct hostapd_data *hapd,\n\t\t\t\t
      \ struct sta_info *sta,\n\t\t\t\t  const u8 *ies, size_t ies_len,\n\t\t\t\t
      \ bool reassoc, int tx_link_status,\n\t\t\t\t  bool offload,\n\t\t\t\t  bool
      *set_beacon)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6529
      start: 6520
    functionDepth: 0
    functionLinenumber: 6520
    functionLinenumberEnd: 6529
    functionName: for_each_mld_link
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void for_each_mld_link(bss, hapd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/ap/ieee802_11.c:6564,1
    - Dst: IEEE80211_FC
      Src: /src/hostap/src/ap/ieee802_11.c:6566,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11.c:6567,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11.c:6568,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11.c:6569,1
    - Dst: host_to_le16
      Src: /src/hostap/src/ap/ieee802_11.c:6572,1
    - Dst: hostapd_drv_send_mlme
      Src: /src/hostap/src/ap/ieee802_11.c:6574,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:6575,1
    - Dst: strerror
      Src: /src/hostap/src/ap/ieee802_11.c:6576,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - hapd
    - addr
    - reason_code
    argTypes:
    - struct hostapd_data*
    - u8*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6577
      start: 6558
    functionDepth: 1
    functionLinenumber: 6558
    functionLinenumberEnd: 6577
    functionName: send_deauth
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_printf
    - strerror
    - hostapd_drv_send_mlme
    - IEEE80211_FC
    - host_to_le16
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void send_deauth(struct hostapd_data *hapd, const u8 *addr,\n\t\t\tu16
      reason_code)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ap_sta_is_mld
      Src: /src/hostap/src/ap/ieee802_11.c:6598,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:6629,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:6631,1
    - Dst: wpa_auth_sta_ft_tk_already_set
      Src: /src/hostap/src/ap/ieee802_11.c:6634,1
    - Dst: wpa_auth_sta_fils_tk_already_set
      Src: /src/hostap/src/ap/ieee802_11.c:6635,1
    - Dst: wpa_auth_sta_ft_tk_already_set
      Src: /src/hostap/src/ap/ieee802_11.c:6640,1
    - Dst: wpa_auth_sta_fils_tk_already_set
      Src: /src/hostap/src/ap/ieee802_11.c:6641,1
    - Dst: hostapd_drv_sta_remove
      Src: /src/hostap/src/ap/ieee802_11.c:6642,1
    - Dst: wpa_auth_sm_event
      Src: /src/hostap/src/ap/ieee802_11.c:6643,1
    - Dst: hostapd_get_ht_capab
      Src: /src/hostap/src/ap/ieee802_11.c:6653,1
    - Dst: hostapd_get_vht_capab
      Src: /src/hostap/src/ap/ieee802_11.c:6656,1
    - Dst: hostapd_get_he_capab
      Src: /src/hostap/src/ap/ieee802_11.c:6660,1
    - Dst: hostapd_get_eht_capab
      Src: /src/hostap/src/ap/ieee802_11.c:6666,1
    - Dst: hostapd_get_uhr_capab
      Src: /src/hostap/src/ap/ieee802_11.c:6671,1
    - Dst: hostapd_sta_add
      Src: /src/hostap/src/ap/ieee802_11.c:6680,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_11.c:6696,1
    - Dst: hostapd_drv_sta_remove
      Src: /src/hostap/src/ap/ieee802_11.c:6702,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 37
    argCount: 3
    argNames:
    - hapd
    - sta
    - reassoc
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6712
      start: 6580
    functionDepth: 3
    functionLinenumber: 6580
    functionLinenumberEnd: 6712
    functionName: add_associated_sta
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - hostapd_get_eht_capab
    - ap_sta_is_mld
    - hostapd_drv_sta_remove
    - wpa_auth_sta_ft_tk_already_set
    - hostapd_logger
    - wpa_auth_sm_event
    - wpa_auth_sta_fils_tk_already_set
    - MAC2STR
    - hostapd_get_vht_capab
    - hostapd_sta_add
    - hostapd_get_he_capab
    - hostapd_get_ht_capab
    - hostapd_get_uhr_capab
    linkageType: ''
    returnType: int
    signature: "int add_associated_sta(struct hostapd_data *hapd,\n\t\t\t      struct
      sta_info *sta, int reassoc)"
  - BBCount: 59
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_11.c:6730,1
    - Dst: hostapd_is_eht_enabled
      Src: /src/hostap/src/ap/ieee802_11.c:6743,1
    - Dst: hostapd_eid_eht_capab_len
      Src: /src/hostap/src/ap/ieee802_11.c:6744,1
    - Dst: ap_sta_is_mld
      Src: /src/hostap/src/ap/ieee802_11.c:6748,1
    - Dst: hostapd_eid_eht_ml_tid_to_link_map_len
      Src: /src/hostap/src/ap/ieee802_11.c:6749,1
    - Dst: hostapd_is_uhr_enabled
      Src: /src/hostap/src/ap/ieee802_11.c:6753,1
    - Dst: hostapd_eid_uhr_capab_len
      Src: /src/hostap/src/ap/ieee802_11.c:6754,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/ieee802_11.c:6759,1
    - Dst: IEEE80211_FC
      Src: /src/hostap/src/ap/ieee802_11.c:6766,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11.c:6770,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11.c:6771,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11.c:6772,1
    - Dst: host_to_le16
      Src: /src/hostap/src/ap/ieee802_11.c:6777,1
    - Dst: hostapd_own_capab_info
      Src: /src/hostap/src/ap/ieee802_11.c:6777,1
    - Dst: host_to_le16
      Src: /src/hostap/src/ap/ieee802_11.c:6778,1
    - Dst: host_to_le16
      Src: /src/hostap/src/ap/ieee802_11.c:6780,1
    - Dst: BIT
      Src: /src/hostap/src/ap/ieee802_11.c:6781,1
    - Dst: BIT
      Src: /src/hostap/src/ap/ieee802_11.c:6781,1
    - Dst: hostapd_eid_supp_rates
      Src: /src/hostap/src/ap/ieee802_11.c:6783,1
    - Dst: hostapd_eid_ext_supp_rates
      Src: /src/hostap/src/ap/ieee802_11.c:6785,1
    - Dst: hostapd_eid_rm_enabled_capab
      Src: /src/hostap/src/ap/ieee802_11.c:6788,1
    - Dst: hostapd_eid_mbo_rssi_assoc_rej
      Src: /src/hostap/src/ap/ieee802_11.c:6795,1
    - Dst: wpa_sm_write_assoc_resp_ies
      Src: /src/hostap/src/ap/ieee802_11.c:6804,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:6810,1
    - Dst: wpa_auth_write_assoc_resp_fils
      Src: /src/hostap/src/ap/ieee802_11.c:6822,1
    - Dst: wpa_auth_write_assoc_resp_owe
      Src: /src/hostap/src/ap/ieee802_11.c:6832,1
    - Dst: hostapd_eid_assoc_comeback_time
      Src: /src/hostap/src/ap/ieee802_11.c:6837,1
    - Dst: hostapd_eid_ht_capabilities
      Src: /src/hostap/src/ap/ieee802_11.c:6839,1
    - Dst: hostapd_eid_ht_operation
      Src: /src/hostap/src/ap/ieee802_11.c:6840,1
    - Dst: hostapd_is_vht_enabled
      Src: /src/hostap/src/ap/ieee802_11.c:6843,1
    - Dst: is_6ghz_op_class
      Src: /src/hostap/src/ap/ieee802_11.c:6844,1
    - Dst: le_to_host32
      Src: /src/hostap/src/ap/ieee802_11.c:6853,1
    - Dst: hostapd_eid_vht_capabilities
      Src: /src/hostap/src/ap/ieee802_11.c:6861,1
    - Dst: hostapd_eid_vht_operation
      Src: /src/hostap/src/ap/ieee802_11.c:6862,1
    - Dst: hostapd_is_he_enabled
      Src: /src/hostap/src/ap/ieee802_11.c:6867,1
    - Dst: hostapd_eid_he_capab
      Src: /src/hostap/src/ap/ieee802_11.c:6868,1
    - Dst: hostapd_eid_he_operation
      Src: /src/hostap/src/ap/ieee802_11.c:6869,1
    - Dst: hostapd_eid_cca
      Src: /src/hostap/src/ap/ieee802_11.c:6870,1
    - Dst: hostapd_eid_spatial_reuse
      Src: /src/hostap/src/ap/ieee802_11.c:6871,1
    - Dst: hostapd_eid_he_mu_edca_parameter_set
      Src: /src/hostap/src/ap/ieee802_11.c:6872,1
    - Dst: hostapd_eid_he_6ghz_band_cap
      Src: /src/hostap/src/ap/ieee802_11.c:6873,1
    - Dst: hostapd_eid_ext_capab
      Src: /src/hostap/src/ap/ieee802_11.c:6877,1
    - Dst: hostapd_eid_bss_max_idle_period
      Src: /src/hostap/src/ap/ieee802_11.c:6878,1
    - Dst: hostapd_eid_qos_map_set
      Src: /src/hostap/src/ap/ieee802_11.c:6881,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11.c:6885,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/ieee802_11.c:6885,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_11.c:6886,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_11.c:6887,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_11.c:6894,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:6896,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11.c:6897,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/ieee802_11.c:6897,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_11.c:6898,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_11.c:6899,1
    - Dst: hostapd_eid_rsnxe
      Src: /src/hostap/src/ap/ieee802_11.c:6904,1
    - Dst: hostapd_is_eht_enabled
      Src: /src/hostap/src/ap/ieee802_11.c:6910,1
    - Dst: hostapd_eid_eht_ml_assoc
      Src: /src/hostap/src/ap/ieee802_11.c:6912,1
    - Dst: hostapd_eid_eht_capab
      Src: /src/hostap/src/ap/ieee802_11.c:6913,1
    - Dst: hostapd_eid_eht_operation
      Src: /src/hostap/src/ap/ieee802_11.c:6914,1
    - Dst: ap_sta_is_mld
      Src: /src/hostap/src/ap/ieee802_11.c:6915,1
    - Dst: hostapd_eid_eht_ml_tid_to_link_map
      Src: /src/hostap/src/ap/ieee802_11.c:6916,1
    - Dst: hostapd_is_uhr_enabled
      Src: /src/hostap/src/ap/ieee802_11.c:6921,1
    - Dst: hostapd_eid_uhr_capab
      Src: /src/hostap/src/ap/ieee802_11.c:6922,1
    - Dst: hostapd_eid_uhr_operation
      Src: /src/hostap/src/ap/ieee802_11.c:6923,1
    - Dst: wpa_auth_sta_key_mgmt
      Src: /src/hostap/src/ap/ieee802_11.c:6931,1
    - Dst: wpa_auth_sta_get_pmksa
      Src: /src/hostap/src/ap/ieee802_11.c:6932,1
    - Dst: crypto_ecdh_get_pubkey
      Src: /src/hostap/src/ap/ieee802_11.c:6935,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_11.c:6942,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/ap/ieee802_11.c:6944,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11.c:6946,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/ieee802_11.c:6946,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_11.c:6946,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_11.c:6947,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ieee802_11.c:6948,1
    - Dst: wpa_auth_ap_sta_support_assoc_enc
      Src: /src/hostap/src/ap/ieee802_11.c:6956,1
    - Dst: wpa_auth_ensure_group_init
      Src: /src/hostap/src/ap/ieee802_11.c:6965,1
    - Dst: wpa_auth_ap_sta_support_pmkid_privacy
      Src: /src/hostap/src/ap/ieee802_11.c:6970,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:6978,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11.c:6987,1
    - Dst: wpa_key_mgmt_sae
      Src: /src/hostap/src/ap/ieee802_11.c:6998,1
    - Dst: wpa_auth_sta_key_mgmt
      Src: /src/hostap/src/ap/ieee802_11.c:6998,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/ap/ieee802_11.c:7023,1
    - Dst: wpa_auth_set_sae_pw_id
      Src: /src/hostap/src/ap/ieee802_11.c:7025,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ieee802_11.c:7028,1
    - Dst: wpa_auth_write_assoc_resp_eppke
      Src: /src/hostap/src/ap/ieee802_11.c:7035,1
    - Dst: ap_sta_is_mld
      Src: /src/hostap/src/ap/ieee802_11.c:7037,1
    - Dst: wpa_auth_sta_key_mgmt
      Src: /src/hostap/src/ap/ieee802_11.c:7044,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11.c:7045,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/ieee802_11.c:7045,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_11.c:7046,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_11.c:7047,1
    - Dst: hostapd_eid_vendor_vht
      Src: /src/hostap/src/ap/ieee802_11.c:7053,1
    - Dst: hostapd_eid_wmm
      Src: /src/hostap/src/ap/ieee802_11.c:7057,1
    - Dst: wps_build_assoc_resp_ie
      Src: /src/hostap/src/ap/ieee802_11.c:7063,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11.c:7065,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/ieee802_11.c:7065,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_11.c:7065,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_11.c:7066,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ieee802_11.c:7067,1
    - Dst: hostapd_eid_multi_ap
      Src: /src/hostap/src/ap/ieee802_11.c:7073,1
    - Dst: p2p_group_assoc_resp_ie
      Src: /src/hostap/src/ap/ieee802_11.c:7090,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11.c:7092,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/ieee802_11.c:7092,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_11.c:7093,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_11.c:7094,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ieee802_11.c:7095,1
    - Dst: hostapd_eid_p2p_manage
      Src: /src/hostap/src/ap/ieee802_11.c:7102,1
    - Dst: hostapd_eid_mbo
      Src: /src/hostap/src/ap/ieee802_11.c:7105,1
    - Dst: hostapd_eid_wfa_capab
      Src: /src/hostap/src/ap/ieee802_11.c:7106,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_11.c:7110,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11.c:7111,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/ieee802_11.c:7111,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_11.c:7112,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_11.c:7113,1
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/src/ap/ieee802_11.c:7126,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11.c:7136,1
    - Dst: fils_encrypt_assoc
      Src: /src/hostap/src/ap/ieee802_11.c:7139,1
    - Dst: hostapd_drv_send_mlme
      Src: /src/hostap/src/ap/ieee802_11.c:7148,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:7149,1
    - Dst: strerror
      Src: /src/hostap/src/ap/ieee802_11.c:7150,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_11.c:7155,1
    CyclomaticComplexity: 117
    EdgeCount: 117
    ICount: 247
    argCount: 9
    argNames:
    - hapd
    - sta
    - addr
    - status_code
    - reassoc
    - ies
    - ies_len
    - rssi
    - omit_rsnxe
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u8*
    - u16
    - int
    - u8*
    - size_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7157
      start: 6715
    functionDepth: 6
    functionLinenumber: 6715
    functionLinenumberEnd: 7157
    functionName: send_assoc_resp
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - hostapd_eid_ext_supp_rates
    - le_to_host32
    - hostapd_is_uhr_enabled
    - wpa_auth_write_assoc_resp_fils
    - hostapd_eid_he_mu_edca_parameter_set
    - ap_sta_is_mld
    - hostapd_eid_uhr_capab
    - hostapd_eid_ht_capabilities
    - hostapd_eid_vht_operation
    - hostapd_eid_bss_max_idle_period
    - hostapd_eid_mbo
    - hostapd_drv_send_mlme
    - hostapd_is_eht_enabled
    - BIT
    - wpa_auth_set_sae_pw_id
    - hostapd_eid_assoc_comeback_time
    - hostapd_eid_cca
    - hostapd_eid_eht_operation
    - hostapd_eid_eht_ml_tid_to_link_map
    - hostapd_eid_eht_ml_assoc
    - hostapd_eid_he_operation
    - wpa_printf
    - hostapd_eid_eht_capab
    - wpa_key_mgmt_sae
    - hostapd_eid_ht_operation
    - wpa_auth_ap_sta_support_pmkid_privacy
    - hostapd_eid_p2p_manage
    - wpa_auth_sta_key_mgmt
    - wps_build_assoc_resp_ie
    - hostapd_eid_eht_capab_len
    - crypto_ecdh_get_pubkey
    - wpa_auth_write_assoc_resp_owe
    - ieee802_11_parse_elems
    - wpa_sm_write_assoc_resp_ies
    - hostapd_eid_spatial_reuse
    - hostapd_eid_ext_capab
    - fils_encrypt_assoc
    - os_free
    - hostapd_eid_supp_rates
    - wpa_auth_write_assoc_resp_eppke
    - WPA_PUT_LE16
    - hostapd_eid_multi_ap
    - hostapd_eid_vendor_vht
    - wpabuf_len
    - is_6ghz_op_class
    - hostapd_is_vht_enabled
    - hostapd_eid_uhr_capab_len
    - wpabuf_alloc_copy
    - wpabuf_head
    - hostapd_eid_qos_map_set
    - hostapd_eid_eht_ml_tid_to_link_map_len
    - hostapd_own_capab_info
    - IEEE80211_FC
    - hostapd_eid_mbo_rssi_assoc_rej
    - hostapd_eid_rsnxe
    - hostapd_eid_wmm
    - wpa_auth_sta_get_pmksa
    - wpa_auth_ap_sta_support_assoc_enc
    - hostapd_eid_wfa_capab
    - os_memcpy
    - strerror
    - wpabuf_free
    - hostapd_eid_uhr_operation
    - wpa_auth_ensure_group_init
    - os_zalloc
    - hostapd_is_he_enabled
    - hostapd_eid_he_6ghz_band_cap
    - hostapd_eid_rm_enabled_capab
    - p2p_group_assoc_resp_ie
    - hostapd_eid_he_capab
    - host_to_le16
    - hostapd_eid_vht_capabilities
    linkageType: ''
    returnType: u16
    signature: "u16 send_assoc_resp(struct hostapd_data *hapd, struct sta_info *sta,\n\t\t\t
      \  const u8 *addr, u16 status_code, int reassoc,\n\t\t\t   const u8 *ies, size_t
      ies_len, int rssi,\n\t\t\t   int omit_rsnxe)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:7167,1
    - Dst: wpa_auth_write_assoc_resp_owe
      Src: /src/hostap/src/ap/ieee802_11.c:7169,1
    - Dst: wpa_auth_sta_get_pmksa
      Src: /src/hostap/src/ap/ieee802_11.c:7174,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:7175,1
    - Dst: wpa_auth_write_assoc_resp_owe
      Src: /src/hostap/src/ap/ieee802_11.c:7176,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:7183,1
    - Dst: owe_process_assoc_req
      Src: /src/hostap/src/ap/ieee802_11.c:7188,1
    - Dst: wpa_auth_write_assoc_resp_owe
      Src: /src/hostap/src/ap/ieee802_11.c:7192,1
    - Dst: crypto_ecdh_get_pubkey
      Src: /src/hostap/src/ap/ieee802_11.c:7198,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_11.c:7206,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/ap/ieee802_11.c:7209,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11.c:7211,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/ieee802_11.c:7211,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_11.c:7211,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_11.c:7212,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ieee802_11.c:7213,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 7
    argNames:
    - hapd
    - sta
    - owe_dh
    - owe_dh_len
    - owe_buf
    - owe_buf_len
    - status
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u8*
    - u8
    - u8*
    - size_t
    - u16*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7217
      start: 7161
    functionDepth: 4
    functionLinenumber: 7161
    functionLinenumberEnd: 7217
    functionName: owe_assoc_req_process
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpabuf_len
    - wpabuf_free
    - wpabuf_head
    - crypto_ecdh_get_pubkey
    - wpa_auth_write_assoc_resp_owe
    - owe_process_assoc_req
    - wpa_auth_sta_get_pmksa
    - WPA_PUT_LE16
    linkageType: ''
    returnType: u8
    signature: "u8 * owe_assoc_req_process(struct hostapd_data *hapd, struct sta_info
      *sta,\n\t\t\t   const u8 *owe_dh, u8 owe_dh_len,\n\t\t\t   u8 *owe_buf, size_t
      owe_buf_len, u16 *status)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:7227,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:7228,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/ieee802_11.c:7229,1
    - Dst: send_assoc_resp
      Src: /src/hostap/src/ap/ieee802_11.c:7232,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_11.c:7236,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ieee802_11.c:7239,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ieee802_11.c:7241,1
    - Dst: hostapd_drv_sta_remove
      Src: /src/hostap/src/ap/ieee802_11.c:7249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7250
      start: 7223
    functionDepth: 7
    functionLinenumber: 7223
    functionLinenumberEnd: 7250
    functionName: fils_hlp_finish_assoc
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eloop_cancel_timeout
    - hostapd_drv_sta_remove
    - wpabuf_free
    - MAC2STR
    - os_free
    - send_assoc_resp
    linkageType: ''
    returnType: void
    signature: void fils_hlp_finish_assoc(struct hostapd_data *hapd, struct sta_info
      *sta)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:7258,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:7260,1
    - Dst: hostapd_notify_assoc_fils_finish
      Src: /src/hostap/src/ap/ieee802_11.c:7262,1
    - Dst: fils_hlp_finish_assoc
      Src: /src/hostap/src/ap/ieee802_11.c:7264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - eloop_ctx
    - eloop_data
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7265
      start: 7253
    functionDepth: 8
    functionLinenumber: 7253
    functionLinenumberEnd: 7265
    functionName: fils_hlp_timeout
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    - fils_hlp_finish_assoc
    - hostapd_notify_assoc_fils_finish
    linkageType: ''
    returnType: void
    signature: void fils_hlp_timeout(void *eloop_ctx, void *eloop_data)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_is_eht_enabled
      Src: /src/hostap/src/ap/ieee802_11.c:7281,1
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/src/ap/ieee802_11.c:7292,1
    - Dst: hostapd_process_ml_assoc_req_addr
      Src: /src/hostap/src/ap/ieee802_11.c:7295,1
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/ieee802_11.c:7300,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:7304,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:7305,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:7305,1
    - Dst: hostapd_ml_get_assoc_sta
      Src: /src/hostap/src/ap/ieee802_11.c:7307,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 5
    argNames:
    - hapd
    - mgmt
    - len
    - reassoc
    - assoc_hapd
    argTypes:
    - struct hostapd_data*
    - struct ieee80211_mgmt*
    - size_t
    - bool
    - struct hostapd_data**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7308
      start: 7271
    functionDepth: 2
    functionLinenumber: 7271
    functionLinenumberEnd: 7308
    functionName: handle_mlo_translate
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hostapd_ml_get_assoc_sta
    - hostapd_is_eht_enabled
    - MAC2STR
    - ieee802_11_parse_elems
    - hostapd_process_ml_assoc_req_addr
    - ap_get_sta
    linkageType: ''
    returnType: struct sta_info
    signature: "struct sta_info * handle_mlo_translate(struct hostapd_data *hapd,\n\t\t\t\t\t
      \     const struct ieee80211_mgmt *mgmt,\n\t\t\t\t\t      size_t len, bool reassoc,\n\t\t\t\t\t
      \     struct hostapd_data **assoc_hapd)"
  - BBCount: 54
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:7332,1
    - Dst: drand48
      Src: /src/hostap/src/ap/ieee802_11.c:7340,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:7341,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:7343,1
    - Dst: drand48
      Src: /src/hostap/src/ap/ieee802_11.c:7348,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:7349,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:7351,1
    - Dst: le_to_host16
      Src: /src/hostap/src/ap/ieee802_11.c:7357,1
    - Dst: le_to_host16
      Src: /src/hostap/src/ap/ieee802_11.c:7358,1
    - Dst: le_to_host16
      Src: /src/hostap/src/ap/ieee802_11.c:7361,1
    - Dst: le_to_host16
      Src: /src/hostap/src/ap/ieee802_11.c:7362,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:7364,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:7367,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:7368,1
    - Dst: le_to_host16
      Src: /src/hostap/src/ap/ieee802_11.c:7373,1
    - Dst: le_to_host16
      Src: /src/hostap/src/ap/ieee802_11.c:7374,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:7376,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:7379,1
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/ieee802_11.c:7385,1
    - Dst: handle_mlo_translate
      Src: /src/hostap/src/ap/ieee802_11.c:7397,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:7401,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11.c:7412,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:7423,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:7425,1
    - Dst: ieee802_11_allowed_address
      Src: /src/hostap/src/ap/ieee802_11.c:7441,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/ieee802_11.c:7445,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:7448,1
    - Dst: ap_sta_add
      Src: /src/hostap/src/ap/ieee802_11.c:7457,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_11.c:7459,1
    - Dst: ieee802_11_set_radius_info
      Src: /src/hostap/src/ap/ieee802_11.c:7467,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_11.c:7474,1
    - Dst: wpa_auth_sm_event
      Src: /src/hostap/src/ap/ieee802_11.c:7479,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_11.c:7482,1
    - Dst: send_deauth
      Src: /src/hostap/src/ap/ieee802_11.c:7488,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_11.c:7499,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_11.c:7515,1
    - Dst: check_sa_query
      Src: /src/hostap/src/ap/ieee802_11.c:7539,1
    - Dst: os_memdup
      Src: /src/hostap/src/ap/ieee802_11.c:7560,1
    - Dst: fils_decrypt_assoc
      Src: /src/hostap/src/ap/ieee802_11.c:7566,1
    - Dst: check_assoc_ies
      Src: /src/hostap/src/ap/ieee802_11.c:7579,1
    - Dst: get_ie
      Src: /src/hostap/src/ap/ieee802_11.c:7585,1
    - Dst: hostapd_get_aid
      Src: /src/hostap/src/ap/ieee802_11.c:7590,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_11.c:7591,1
    - Dst: update_ht_state
      Src: /src/hostap/src/ap/ieee802_11.c:7641,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_11.c:7644,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:7652,1
    - Dst: taxonomy_sta_info_assoc_req
      Src: /src/hostap/src/ap/ieee802_11.c:7667,1
    - Dst: fils_process_hlp
      Src: /src/hostap/src/ap/ieee802_11.c:7676,1
    - Dst: hostapd_process_assoc_ml_info
      Src: /src/hostap/src/ap/ieee802_11.c:7702,1
    - Dst: add_associated_sta
      Src: /src/hostap/src/ap/ieee802_11.c:7706,1
    - Dst: eloop_is_timeout_registered
      Src: /src/hostap/src/ap/ieee802_11.c:7711,1
    - Dst: ieee802_11_update_beacons
      Src: /src/hostap/src/ap/ieee802_11.c:7714,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:7720,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:7722,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_11.c:7723,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/ieee802_11.c:7727,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_11.c:7728,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/ieee802_11.c:7731,1
    - Dst: ieee802_11_update_beacons
      Src: /src/hostap/src/ap/ieee802_11.c:7736,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:7742,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:7744,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/ieee802_11.c:7745,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/ieee802_11.c:7746,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:7754,1
    - Dst: send_assoc_resp
      Src: /src/hostap/src/ap/ieee802_11.c:7762,1
    - Dst: ieee802_11_update_beacons
      Src: /src/hostap/src/ap/ieee802_11.c:7769,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_11.c:7771,1
    - Dst: hostapd_drv_sta_remove
      Src: /src/hostap/src/ap/ieee802_11.c:7780,1
    CyclomaticComplexity: 107
    EdgeCount: 107
    ICount: 236
    argCount: 5
    argNames:
    - hapd
    - mgmt
    - len
    - reassoc
    - rssi
    argTypes:
    - struct hostapd_data*
    - struct ieee80211_mgmt*
    - size_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7783
      start: 7312
    functionDepth: 14
    functionLinenumber: 7312
    functionLinenumberEnd: 7783
    functionName: handle_assoc
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - send_deauth
    - hostapd_logger
    - check_assoc_ies
    - handle_mlo_translate
    - send_assoc_resp
    - ap_get_sta
    - drand48
    - wpa_printf
    - ap_sta_add
    - os_memdup
    - wpa_auth_sm_event
    - ieee802_11_allowed_address
    - ieee802_11_set_radius_info
    - check_sa_query
    - hostapd_process_assoc_ml_info
    - os_free
    - ieee802_11_update_beacons
    - add_associated_sta
    - hostapd_get_aid
    - fils_process_hlp
    - taxonomy_sta_info_assoc_req
    - eloop_is_timeout_registered
    - fils_decrypt_assoc
    - os_memcpy
    - update_ht_state
    - wpa_msg
    - eloop_cancel_timeout
    - hostapd_drv_sta_remove
    - wpabuf_free
    - get_ie
    - MAC2STR
    - eloop_register_timeout
    - le_to_host16
    linkageType: ''
    returnType: void
    signature: "void handle_assoc(struct hostapd_data *hapd,\n\t\t\t const struct
      ieee80211_mgmt *mgmt, size_t len,\n\t\t\t int reassoc, int rssi)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/ieee802_11.c:7790,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:7792,1
    - Dst: le_to_host16
      Src: /src/hostap/src/ap/ieee802_11.c:7792,1
    - Dst: ap_sta_set_authorized
      Src: /src/hostap/src/ap/ieee802_11.c:7794,1
    - Dst: hostapd_set_sta_flags
      Src: /src/hostap/src/ap/ieee802_11.c:7798,1
    - Dst: wpa_auth_sm_event
      Src: /src/hostap/src/ap/ieee802_11.c:7799,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_11.c:7800,1
    - Dst: mlme_deauthenticate_indication
      Src: /src/hostap/src/ap/ieee802_11.c:7802,1
    - Dst: le_to_host16
      Src: /src/hostap/src/ap/ieee802_11.c:7803,1
    - Dst: ieee802_1x_notify_port_enabled
      Src: /src/hostap/src/ap/ieee802_11.c:7805,1
    - Dst: ap_free_sta
      Src: /src/hostap/src/ap/ieee802_11.c:7806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - hapd
    - sta
    - mgmt
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - struct ieee80211_mgmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7807
      start: 7786
    functionDepth: 12
    functionLinenumber: 7786
    functionLinenumberEnd: 7807
    functionName: hostapd_deauth_sta
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - wpa_msg
    - ap_free_sta
    - hostapd_set_sta_flags
    - hostapd_logger
    - wpa_auth_sm_event
    - MAC2STR
    - ap_sta_set_authorized
    - le_to_host16
    - mlme_deauthenticate_indication
    - ieee802_1x_notify_port_enabled
    linkageType: ''
    returnType: void
    signature: "void hostapd_deauth_sta(struct hostapd_data *hapd,\n\t\t\t       struct
      sta_info *sta,\n\t\t\t       const struct ieee80211_mgmt *mgmt)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/ieee802_11.c:7814,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:7816,1
    - Dst: le_to_host16
      Src: /src/hostap/src/ap/ieee802_11.c:7816,1
    - Dst: ap_sta_set_authorized
      Src: /src/hostap/src/ap/ieee802_11.c:7818,1
    - Dst: hostapd_set_sta_flags
      Src: /src/hostap/src/ap/ieee802_11.c:7821,1
    - Dst: wpa_auth_sm_event
      Src: /src/hostap/src/ap/ieee802_11.c:7822,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_11.c:7823,1
    - Dst: ieee802_1x_notify_port_enabled
      Src: /src/hostap/src/ap/ieee802_11.c:7826,1
    - Dst: accounting_sta_stop
      Src: /src/hostap/src/ap/ieee802_11.c:7829,1
    - Dst: ieee802_1x_free_station
      Src: /src/hostap/src/ap/ieee802_11.c:7830,1
    - Dst: hostapd_drv_br_delete_ip_neigh
      Src: /src/hostap/src/ap/ieee802_11.c:7832,1
    - Dst: ap_sta_ip6addr_del
      Src: /src/hostap/src/ap/ieee802_11.c:7833,1
    - Dst: hostapd_drv_sta_remove
      Src: /src/hostap/src/ap/ieee802_11.c:7834,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/ieee802_11.c:7840,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/ieee802_11.c:7841,1
    - Dst: mlme_disassociate_indication
      Src: /src/hostap/src/ap/ieee802_11.c:7845,1
    - Dst: le_to_host16
      Src: /src/hostap/src/ap/ieee802_11.c:7846,1
    - Dst: wpa_auth_sm_event
      Src: /src/hostap/src/ap/ieee802_11.c:7853,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_11.c:7854,1
    - Dst: ap_free_sta
      Src: /src/hostap/src/ap/ieee802_11.c:7856,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 3
    argNames:
    - hapd
    - sta
    - mgmt
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - struct ieee80211_mgmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7858
      start: 7810
    functionDepth: 12
    functionLinenumber: 7810
    functionLinenumberEnd: 7858
    functionName: hostapd_disassoc_sta
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - mlme_disassociate_indication
    - wpa_msg
    - eloop_cancel_timeout
    - hostapd_drv_sta_remove
    - ap_free_sta
    - hostapd_set_sta_flags
    - hostapd_logger
    - wpa_auth_sm_event
    - ap_sta_ip6addr_del
    - MAC2STR
    - ap_sta_set_authorized
    - eloop_register_timeout
    - ieee802_1x_free_station
    - hostapd_drv_br_delete_ip_neigh
    - le_to_host16
    - ieee802_1x_notify_port_enabled
    - accounting_sta_stop
    linkageType: ''
    returnType: void
    signature: "void hostapd_disassoc_sta(struct hostapd_data *hapd,\n\t\t\t\t struct
      sta_info *sta,\n\t\t\t\t const struct ieee80211_mgmt *mgmt)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_is_multiple_link_mld
      Src: /src/hostap/src/ap/ieee802_11.c:7871,1
    - Dst: hostapd_ml_get_assoc_sta
      Src: /src/hostap/src/ap/ieee802_11.c:7878,1
    - Dst: hostapd_deauth_sta
      Src: /src/hostap/src/ap/ieee802_11.c:7897,1
    - Dst: hostapd_disassoc_sta
      Src: /src/hostap/src/ap/ieee802_11.c:7899,1
    - Dst: hostapd_deauth_sta
      Src: /src/hostap/src/ap/ieee802_11.c:7906,1
    - Dst: hostapd_disassoc_sta
      Src: /src/hostap/src/ap/ieee802_11.c:7908,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 4
    argNames:
    - hapd
    - sta
    - mgmt
    - disassoc
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - struct ieee80211_mgmt*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7914
      start: 7861
    functionDepth: 13
    functionLinenumber: 7861
    functionLinenumberEnd: 7914
    functionName: hostapd_ml_handle_disconnect
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - hostapd_disassoc_sta
    - hostapd_deauth_sta
    - hostapd_is_multiple_link_mld
    - hostapd_ml_get_assoc_sta
    linkageType: ''
    returnType: bool
    signature: "bool hostapd_ml_handle_disconnect(struct hostapd_data *hapd,\n\t\t\t\t\t
      struct sta_info *sta,\n\t\t\t\t\t const struct ieee80211_mgmt *mgmt,\n\t\t\t\t\t
      bool disassoc)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_deauth_sta
      Src: /src/hostap/src/ap/ieee802_11.c:7897,1
    - Dst: hostapd_disassoc_sta
      Src: /src/hostap/src/ap/ieee802_11.c:7899,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7902
      start: 7882
    functionDepth: 13
    functionLinenumber: 7882
    functionLinenumberEnd: 7902
    functionName: for_each_mld_link
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 3
    functionsReached:
    - hostapd_disassoc_sta
    - hostapd_deauth_sta
    linkageType: ''
    returnType: void
    signature: void for_each_mld_link(tmp_hapd, assoc_hapd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/ieee802_11.c:7923,1
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/ieee802_11.c:7929,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/ieee802_11.c:7931,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:7933,1
    - Dst: hostapd_ml_handle_disconnect
      Src: /src/hostap/src/ap/ieee802_11.c:7937,1
    - Dst: hostapd_disassoc_sta
      Src: /src/hostap/src/ap/ieee802_11.c:7940,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - hapd
    - mgmt
    - len
    argTypes:
    - struct hostapd_data*
    - struct ieee80211_mgmt*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7941
      start: 7917
    functionDepth: 14
    functionLinenumber: 7917
    functionLinenumberEnd: 7941
    functionName: handle_disassoc
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - wpa_msg
    - hostapd_ml_handle_disconnect
    - MAC2STR
    - hostapd_disassoc_sta
    - ap_get_sta
    linkageType: ''
    returnType: void
    signature: "void handle_disassoc(struct hostapd_data *hapd,\n\t\t\t    const struct
      ieee80211_mgmt *mgmt, size_t len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/ieee802_11.c:7950,1
    - Dst: ptksa_cache_flush
      Src: /src/hostap/src/ap/ieee802_11.c:7957,1
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/ieee802_11.c:7959,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/ieee802_11.c:7961,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:7963,1
    - Dst: hostapd_ml_handle_disconnect
      Src: /src/hostap/src/ap/ieee802_11.c:7967,1
    - Dst: hostapd_deauth_sta
      Src: /src/hostap/src/ap/ieee802_11.c:7970,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - hapd
    - mgmt
    - len
    argTypes:
    - struct hostapd_data*
    - struct ieee80211_mgmt*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7971
      start: 7944
    functionDepth: 14
    functionLinenumber: 7944
    functionLinenumberEnd: 7971
    functionName: handle_deauth
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - hostapd_deauth_sta
    - wpa_msg
    - hostapd_ml_handle_disconnect
    - ptksa_cache_flush
    - MAC2STR
    - ap_get_sta
    linkageType: ''
    returnType: void
    signature: "void handle_deauth(struct hostapd_data *hapd,\n\t\t\t  const struct
      ieee80211_mgmt *mgmt, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:7981,1
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/src/ap/ieee802_11.c:7986,1
    - Dst: ap_list_process_beacon
      Src: /src/hostap/src/ap/ieee802_11.c:7991,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - hapd
    - mgmt
    - len
    - fi
    argTypes:
    - struct hostapd_data*
    - struct ieee80211_mgmt*
    - size_t
    - struct hostapd_frame_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7992
      start: 7974
    functionDepth: 12
    functionLinenumber: 7974
    functionLinenumberEnd: 7992
    functionName: handle_beacon
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - ap_list_process_beacon
    - wpa_printf
    - ieee802_11_parse_elems
    linkageType: ''
    returnType: void
    signature: "void handle_beacon(struct hostapd_data *hapd,\n\t\t\t  const struct
      ieee80211_mgmt *mgmt, size_t len,\n\t\t\t  struct hostapd_frame_info *fi)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:8005,1
    - Dst: hostapd_handle_dscp_policy_query
      Src: /src/hostap/src/ap/ieee802_11.c:8012,1
    - Dst: hostapd_handle_dscp_policy_response
      Src: /src/hostap/src/ap/ieee802_11.c:8015,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:8018,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 4
    argNames:
    - hapd
    - sta
    - pos
    - end
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8021
      start: 7996
    functionDepth: 5
    functionLinenumber: 7996
    functionLinenumberEnd: 8021
    functionName: hostapd_dscp_action
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - hostapd_handle_dscp_policy_response
    - wpa_printf
    - hostapd_handle_dscp_policy_query
    linkageType: ''
    returnType: void
    signature: "void hostapd_dscp_action(struct hostapd_data *hapd, struct sta_info
      *sta,\n\t\t\t\tconst u8 *pos, const u8 *end)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/ap/ieee802_11.c:8040,1
    - Dst: hostapd_wfa_capab
      Src: /src/hostap/src/ap/ieee802_11.c:8045,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:8050,1
    - Dst: hostapd_dscp_action
      Src: /src/hostap/src/ap/ieee802_11.c:8054,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:8058,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 6
    argNames:
    - hapd
    - sta
    - mgmt
    - len
    - freq
    - protected
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - struct ieee80211_mgmt*
    - size_t
    - unsigned int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8065
      start: 8025
    functionDepth: 6
    functionLinenumber: 8025
    functionLinenumberEnd: 8065
    functionName: hostapd_action_vs
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - hostapd_wfa_capab
    - wpa_printf
    - WPA_GET_BE32
    - hostapd_dscp_action
    linkageType: ''
    returnType: int
    signature: "int hostapd_action_vs(struct hostapd_data *hapd,\n\t\t\t     struct
      sta_info *sta,\n\t\t\t     const struct ieee80211_mgmt *mgmt, size_t len,\n\t\t\t
      \    unsigned int freq, bool protected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 1
    argNames:
    - category
    argTypes:
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8080
      start: 8068
    functionDepth: 0
    functionLinenumber: 8068
    functionLinenumberEnd: 8080
    functionName: robust_action_frame
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int robust_action_frame(u8 category)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_11.c:8091,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:8099,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:8102,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:8102,1
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/ieee802_11.c:8104,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:8108,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:8110,1
    - Dst: host_to_le16
      Src: /src/hostap/src/ap/ieee802_11.c:8115,1
    - Dst: robust_action_frame
      Src: /src/hostap/src/ap/ieee802_11.c:8116,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_11.c:8117,1
    - Dst: le_to_host16
      Src: /src/hostap/src/ap/ieee802_11.c:8125,1
    - Dst: le_to_host16
      Src: /src/hostap/src/ap/ieee802_11.c:8126,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_11.c:8132,1
    - Dst: wpa_ft_action_rx
      Src: /src/hostap/src/ap/ieee802_11.c:8148,1
    - Dst: hostapd_wmm_action
      Src: /src/hostap/src/ap/ieee802_11.c:8154,1
    - Dst: ieee802_11_sa_query_action
      Src: /src/hostap/src/ap/ieee802_11.c:8157,1
    - Dst: ieee802_11_rx_wnm_action_ap
      Src: /src/hostap/src/ap/ieee802_11.c:8161,1
    - Dst: fst_rx_action
      Src: /src/hostap/src/ap/ieee802_11.c:8167,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:8169,1
    - Dst: hostapd_2040_coex_action
      Src: /src/hostap/src/ap/ieee802_11.c:8178,1
    - Dst: WPA_GET_BE24
      Src: /src/hostap/src/ap/ieee802_11.c:8185,1
    - Dst: hostapd_dpp_rx_action
      Src: /src/hostap/src/ap/ieee802_11.c:8193,1
    - Dst: gas_query_ap_rx
      Src: /src/hostap/src/ap/ieee802_11.c:8206,1
    - Dst: WPA_GET_BE24
      Src: /src/hostap/src/ap/ieee802_11.c:8217,1
    - Dst: hostapd_nan_usd_rx_sdf
      Src: /src/hostap/src/ap/ieee802_11.c:8226,1
    - Dst: struct hostapd_data*::public_action_cb
      Src: /src/hostap/src/ap/ieee802_11.c:8232,1
    - Dst: struct hostapd_data*::public_action_cb2
      Src: /src/hostap/src/ap/ieee802_11.c:8236,1
    - Dst: struct hostapd_data*::vendor_action_cb
      Src: /src/hostap/src/ap/ieee802_11.c:8244,1
    - Dst: hostapd_action_vs
      Src: /src/hostap/src/ap/ieee802_11.c:8249,1
    - Dst: hostapd_action_vs
      Src: /src/hostap/src/ap/ieee802_11.c:8254,1
    - Dst: hostapd_handle_radio_measurement
      Src: /src/hostap/src/ap/ieee802_11.c:8259,1
    - Dst: ieee802_11_rx_protected_eht_action
      Src: /src/hostap/src/ap/ieee802_11.c:8264,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_11.c:8269,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 99
    argCount: 4
    argNames:
    - hapd
    - mgmt
    - len
    - freq
    argTypes:
    - struct hostapd_data*
    - struct ieee80211_mgmt*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8276
      start: 8083
    functionDepth: 7
    functionLinenumber: 8083
    functionLinenumberEnd: 8276
    functionName: handle_action
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - gas_query_ap_rx
    - wpa_ft_action_rx
    - hostapd_dpp_rx_action
    - robust_action_frame
    - hostapd_logger
    - ieee802_11_rx_protected_eht_action
    - hostapd_action_vs
    - ieee802_11_rx_wnm_action_ap
    - ap_get_sta
    - hostapd_2040_coex_action
    - wpa_printf
    - WPA_GET_BE24
    - hostapd_wmm_action
    - hostapd_handle_radio_measurement
    - fst_rx_action
    - hostapd_nan_usd_rx_sdf
    - ieee802_11_sa_query_action
    - struct hostapd_data*::public_action_cb2
    - MAC2STR
    - struct hostapd_data*::vendor_action_cb
    - le_to_host16
    - struct hostapd_data*::public_action_cb
    - host_to_le16
    linkageType: ''
    returnType: int
    signature: "int handle_action(struct hostapd_data *hapd,\n\t\t\t const struct
      ieee80211_mgmt *mgmt, size_t len,\n\t\t\t unsigned int freq)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/ap/ieee802_11.c:8293,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/ap/ieee802_11.c:8296,1
    - Dst: wpa_msg_ctrl
      Src: /src/hostap/src/ap/ieee802_11.c:8297,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_11.c:8299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - hapd
    - buf
    - len
    argTypes:
    - struct hostapd_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8301
      start: 8288
    functionDepth: 1
    functionLinenumber: 8288
    functionLinenumberEnd: 8301
    functionName: notify_mgmt_frame
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpa_msg_ctrl
    - wpa_snprintf_hex
    - os_malloc
    linkageType: ''
    returnType: void
    signature: "void notify_mgmt_frame(struct hostapd_data *hapd, const u8 *buf,\n\t\t\t
      \     size_t len)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/ieee802_11.c:8462,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:8464,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:8466,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:8471,1
    - Dst: le_to_host16
      Src: /src/hostap/src/ap/ieee802_11.c:8479,1
    - Dst: le_to_host16
      Src: /src/hostap/src/ap/ieee802_11.c:8480,1
    - Dst: le_to_host16
      Src: /src/hostap/src/ap/ieee802_11.c:8481,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_11.c:8484,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_11.c:8493,1
    - Dst: hostapd_set_sta_flags
      Src: /src/hostap/src/ap/ieee802_11.c:8497,1
    - Dst: sae_status_success
      Src: /src/hostap/src/ap/ieee802_11.c:8506,1
    - Dst: hostapd_drv_sta_remove
      Src: /src/hostap/src/ap/ieee802_11.c:8517,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 43
    argCount: 4
    argNames:
    - hapd
    - mgmt
    - len
    - ok
    argTypes:
    - struct hostapd_data*
    - struct ieee80211_mgmt*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8520
      start: 8454
    functionDepth: 3
    functionLinenumber: 8454
    functionLinenumberEnd: 8520
    functionName: handle_auth_cb
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hostapd_drv_sta_remove
    - hostapd_logger
    - hostapd_set_sta_flags
    - MAC2STR
    - sae_status_success
    - le_to_host16
    - ap_get_sta
    linkageType: ''
    returnType: void
    signature: "void handle_auth_cb(struct hostapd_data *hapd,\n\t\t\t   const struct
      ieee80211_mgmt *mgmt,\n\t\t\t   size_t len, int ok)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_drv_set_key
      Src: /src/hostap/src/ap/ieee802_11.c:8536,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:8542,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - hapd
    - sta
    - ifname_wds
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8549
      start: 8523
    functionDepth: 1
    functionLinenumber: 8523
    functionLinenumberEnd: 8549
    functionName: hostapd_set_wds_encryption
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hostapd_drv_set_key
    linkageType: ''
    returnType: void
    signature: "void hostapd_set_wds_encryption(struct hostapd_data *hapd,\n\t\t\t\t
      \      struct sta_info *sta,\n\t\t\t\t       char *ifname_wds)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_11.c:8561,1
    - Dst: hostapd_drv_sta_remove
      Src: /src/hostap/src/ap/ieee802_11.c:8568,1
    - Dst: ap_sta_set_authorized_flag
      Src: /src/hostap/src/ap/ieee802_11.c:8580,1
    - Dst: hostapd_set_sta_flags
      Src: /src/hostap/src/ap/ieee802_11.c:8582,1
    - Dst: ap_sta_set_authorized_event
      Src: /src/hostap/src/ap/ieee802_11.c:8584,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - hapd
    - sta
    - link
    - ok
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - struct mld_link_info*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8593
      start: 8553
    functionDepth: 3
    functionLinenumber: 8553
    functionLinenumberEnd: 8593
    functionName: ieee80211_ml_link_sta_assoc_cb
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - ap_sta_set_authorized_event
    - hostapd_drv_sta_remove
    - hostapd_set_sta_flags
    - hostapd_logger
    - ap_sta_set_authorized_flag
    linkageType: ''
    returnType: void
    signature: "void ieee80211_ml_link_sta_assoc_cb(struct hostapd_data *hapd,\n\t\t\t\t\t
      \  struct sta_info *sta,\n\t\t\t\t\t   struct mld_link_info *link,\n\t\t\t\t\t
      \  bool ok)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_is_multiple_link_mld
      Src: /src/hostap/src/ap/ieee802_11.c:8603,1
    - Dst: ieee80211_ml_link_sta_assoc_cb
      Src: /src/hostap/src/ap/ieee802_11.c:8625,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 3
    argNames:
    - hapd
    - sta
    - ok
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8631
      start: 8597
    functionDepth: 4
    functionLinenumber: 8597
    functionLinenumberEnd: 8631
    functionName: hostapd_ml_handle_assoc_cb
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - hostapd_is_multiple_link_mld
    - ieee80211_ml_link_sta_assoc_cb
    linkageType: ''
    returnType: void
    signature: "void hostapd_ml_handle_assoc_cb(struct hostapd_data *hapd,\n\t\t\t\t
      \      struct sta_info *sta, bool ok)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ieee80211_ml_link_sta_assoc_cb
      Src: /src/hostap/src/ap/ieee802_11.c:8625,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8629
      start: 8606
    functionDepth: 4
    functionLinenumber: 8606
    functionLinenumberEnd: 8629
    functionName: for_each_mld_link
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 3
    functionsReached:
    - ieee80211_ml_link_sta_assoc_cb
    linkageType: ''
    returnType: void
    signature: void for_each_mld_link(tmp_hapd, hapd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_auth_get_pmksa_cache
      Src: /src/hostap/src/ap/ieee802_11.c:8766,1
    - Dst: pmksa_cache_auth_get
      Src: /src/hostap/src/ap/ieee802_11.c:8768,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8772
      start: 8765
    functionDepth: 1
    functionLinenumber: 8765
    functionLinenumberEnd: 8772
    functionName: for_each_mld_link
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 3
    functionsReached:
    - pmksa_cache_auth_get
    - wpa_auth_get_pmksa_cache
    linkageType: ''
    returnType: void
    signature: void for_each_mld_link(tmp_hapd, hapd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_multicast_ether_addr
      Src: /src/hostap/src/ap/ieee802_11.c:8914,1
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/ieee802_11.c:8916,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:8918,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:8919,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:8923,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:8924,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:8926,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:8927,1
    - Dst: ap_sta_deauth_cb
      Src: /src/hostap/src/ap/ieee802_11.c:8929,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - hapd
    - mgmt
    - len
    - ok
    argTypes:
    - struct hostapd_data*
    - struct ieee80211_mgmt*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8930
      start: 8909
    functionDepth: 5
    functionLinenumber: 8909
    functionLinenumberEnd: 8930
    functionName: handle_deauth_cb
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - ap_sta_deauth_cb
    - is_multicast_ether_addr
    - MAC2STR
    - ap_get_sta
    linkageType: ''
    returnType: void
    signature: "void handle_deauth_cb(struct hostapd_data *hapd,\n\t\t\t     const
      struct ieee80211_mgmt *mgmt,\n\t\t\t     size_t len, int ok)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_multicast_ether_addr
      Src: /src/hostap/src/ap/ieee802_11.c:8938,1
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/ieee802_11.c:8940,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:8942,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:8943,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:8947,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:8948,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:8950,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:8951,1
    - Dst: ap_sta_disassoc_cb
      Src: /src/hostap/src/ap/ieee802_11.c:8953,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - hapd
    - mgmt
    - len
    - ok
    argTypes:
    - struct hostapd_data*
    - struct ieee80211_mgmt*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8954
      start: 8933
    functionDepth: 5
    functionLinenumber: 8933
    functionLinenumberEnd: 8954
    functionName: handle_disassoc_cb
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - is_multicast_ether_addr
    - MAC2STR
    - ap_get_sta
    - ap_sta_disassoc_cb
    linkageType: ''
    returnType: void
    signature: "void handle_disassoc_cb(struct hostapd_data *hapd,\n\t\t\t       const
      struct ieee80211_mgmt *mgmt,\n\t\t\t       size_t len, int ok)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: WPA_GET_BE24
      Src: /src/hostap/src/ap/ieee802_11.c:8971,1
    - Dst: hostapd_dpp_tx_status
      Src: /src/hostap/src/ap/ieee802_11.c:8979,1
    - Dst: gas_query_ap_tx_status
      Src: /src/hostap/src/ap/ieee802_11.c:8992,1
    - Dst: is_multicast_ether_addr
      Src: /src/hostap/src/ap/ieee802_11.c:8996,1
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/ieee802_11.c:8998,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:9000,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:9001,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:9010,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:9012,1
    - Dst: ap_sta_session_timeout
      Src: /src/hostap/src/ap/ieee802_11.c:9013,1
    - Dst: hostapd_link_reconf_resp_tx_status
      Src: /src/hostap/src/ap/ieee802_11.c:9026,1
    - Dst: hostapd_rrm_beacon_req_tx_status
      Src: /src/hostap/src/ap/ieee802_11.c:9041,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 34
    argCount: 4
    argNames:
    - hapd
    - mgmt
    - len
    - ok
    argTypes:
    - struct hostapd_data*
    - struct ieee80211_mgmt*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9043
      start: 8957
    functionDepth: 3
    functionLinenumber: 8957
    functionLinenumberEnd: 9043
    functionName: handle_action_cb
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - gas_query_ap_tx_status
    - wpa_printf
    - is_multicast_ether_addr
    - hostapd_dpp_tx_status
    - hostapd_rrm_beacon_req_tx_status
    - WPA_GET_BE24
    - MAC2STR
    - hostapd_link_reconf_resp_tx_status
    - ap_sta_session_timeout
    - ap_get_sta
    linkageType: ''
    returnType: void
    signature: "void handle_action_cb(struct hostapd_data *hapd,\n\t\t\t     const
      struct ieee80211_mgmt *mgmt,\n\t\t\t     size_t len, int ok)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/ap/ieee802_11.c:9064,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/ap/ieee802_11.c:9067,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/ieee802_11.c:9068,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_11.c:9071,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:9079,1
    - Dst: handle_auth_cb
      Src: /src/hostap/src/ap/ieee802_11.c:9080,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:9083,1
    - Dst: handle_assoc_cb
      Src: /src/hostap/src/ap/ieee802_11.c:9084,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:9087,1
    - Dst: handle_assoc_cb
      Src: /src/hostap/src/ap/ieee802_11.c:9088,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:9091,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:9094,1
    - Dst: handle_deauth_cb
      Src: /src/hostap/src/ap/ieee802_11.c:9095,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:9098,1
    - Dst: handle_disassoc_cb
      Src: /src/hostap/src/ap/ieee802_11.c:9099,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:9102,1
    - Dst: handle_action_cb
      Src: /src/hostap/src/ap/ieee802_11.c:9103,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:9106,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 5
    argNames:
    - hapd
    - buf
    - len
    - stype
    - ok
    argTypes:
    - struct hostapd_data*
    - u8*
    - size_t
    - u16
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9109
      start: 9055
    functionDepth: 6
    functionLinenumber: 9055
    functionLinenumberEnd: 9109
    functionName: ieee802_11_mgmt_cb
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - wpa_snprintf_hex
    - wpa_msg
    - os_malloc
    - handle_assoc_cb
    - handle_auth_cb
    - handle_action_cb
    - handle_deauth_cb
    - handle_disassoc_cb
    - os_free
    linkageType: ''
    returnType: void
    signature: "void ieee802_11_mgmt_cb(struct hostapd_data *hapd, const u8 *buf,
      size_t len,\n\t\t\tu16 stype, int ok)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - hapd
    - buf
    - buflen
    argTypes:
    - struct hostapd_data*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9116
      start: 9112
    functionDepth: 0
    functionLinenumber: 9112
    functionLinenumberEnd: 9116
    functionName: ieee802_11_get_mib
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ieee802_11_get_mib(struct hostapd_data *hapd, char *buf, size_t
      buflen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/ieee802_11.c:9124,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/ieee802_11.c:9127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - hapd
    - sta
    - buf
    - buflen
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9132
      start: 9119
    functionDepth: 1
    functionLinenumber: 9119
    functionLinenumberEnd: 9132
    functionName: ieee802_11_get_mib_sta
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 1
    functionsReached:
    - os_snprintf
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int ieee802_11_get_mib_sta(struct hostapd_data *hapd, struct sta_info
      *sta,\n\t\t\t   char *buf, size_t buflen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/ieee802_11.c:9141,1
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/ieee802_11.c:9146,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:9154,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:9155,1
    - Dst: ieee802_1x_tx_status
      Src: /src/hostap/src/ap/ieee802_11.c:9161,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 5
    argNames:
    - hapd
    - addr
    - buf
    - len
    - ack
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9162
      start: 9135
    functionDepth: 2
    functionLinenumber: 9135
    functionLinenumberEnd: 9162
    functionName: hostapd_tx_status
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 3
    functionsReached:
    - MAC2STR
    - wpa_printf
    - ieee802_1x_tx_status
    - ap_get_sta
    linkageType: ''
    returnType: void
    signature: "void hostapd_tx_status(struct hostapd_data *hapd, const u8 *addr,\n\t\t
      \      const u8 *buf, size_t len, int ack)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/ieee802_11.c:9170,1
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/ieee802_11.c:9175,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/ieee802_11.c:9182,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:9183,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:9187,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:9188,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - hapd
    - addr
    argTypes:
    - struct hostapd_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9190
      start: 9165
    functionDepth: 2
    functionLinenumber: 9165
    functionLinenumberEnd: 9190
    functionName: hostapd_client_poll_ok
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 2
    functionsReached:
    - MAC2STR
    - wpa_msg
    - wpa_printf
    - ap_get_sta
    linkageType: ''
    returnType: void
    signature: void hostapd_client_poll_ok(struct hostapd_data *hapd, const u8 *addr)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/ieee802_11.c:9198,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:9207,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:9210,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:9219,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:9221,1
    - Dst: hostapd_set_wds_sta
      Src: /src/hostap/src/ap/ieee802_11.c:9223,1
    - Dst: hostapd_set_wds_encryption
      Src: /src/hostap/src/ap/ieee802_11.c:9226,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:9232,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:9233,1
    - Dst: is_multicast_ether_addr
      Src: /src/hostap/src/ap/ieee802_11.c:9234,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/ap/ieee802_11.c:9234,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/ieee802_11.c:9235,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:9242,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11.c:9245,1
    - Dst: hostapd_drv_sta_disassoc
      Src: /src/hostap/src/ap/ieee802_11.c:9250,1
    - Dst: hostapd_drv_sta_deauth
      Src: /src/hostap/src/ap/ieee802_11.c:9254,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 30
    argCount: 3
    argNames:
    - hapd
    - src
    - wds
    argTypes:
    - struct hostapd_data*
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9257
      start: 9193
    functionDepth: 2
    functionLinenumber: 9193
    functionLinenumberEnd: 9257
    functionName: ieee802_11_rx_from_unknown
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - is_multicast_ether_addr
    - hostapd_set_wds_sta
    - is_zero_ether_addr
    - ether_addr_equal
    - hostapd_drv_sta_deauth
    - MAC2STR
    - hostapd_drv_sta_disassoc
    - hostapd_set_wds_encryption
    - ap_get_sta
    linkageType: ''
    returnType: void
    signature: "void ieee802_11_rx_from_unknown(struct hostapd_data *hapd, const u8
      *src,\n\t\t\t\tint wds)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - eid
    - tx_pwr_count
    - tx_pwr_intrpn
    - tx_pwr_cat
    - tx_pwr
    argTypes:
    - u8*
    - u8
    - enum max_tx_pwr_interpretation
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9282
      start: 9260
    functionDepth: 0
    functionLinenumber: 9260
    functionLinenumberEnd: 9282
    functionName: hostapd_add_tpe_info
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: "u8 * hostapd_add_tpe_info(u8 *eid, u8 tx_pwr_count,\n\t\t\t\t enum
      max_tx_pwr_interpretation tx_pwr_intrpn,\n\t\t\t\t u8 tx_pwr_cat, u8 tx_pwr)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: ieee80211_freq_to_chan
      Src: /src/hostap/src/ap/ieee802_11.c:9306,1
    - Dst: is_6ghz_op_class
      Src: /src/hostap/src/ap/ieee802_11.c:9326,1
    - Dst: hostap_afc_get_chan_max_eirp_power
      Src: /src/hostap/src/ap/ieee802_11.c:9337,1
    - Dst: hostapd_add_tpe_info
      Src: /src/hostap/src/ap/ieee802_11.c:9348,1
    - Dst: he_reg_is_indoor
      Src: /src/hostap/src/ap/ieee802_11.c:9353,1
    - Dst: hostapd_add_tpe_info
      Src: /src/hostap/src/ap/ieee802_11.c:9363,1
    - Dst: hostap_afc_get_chan_max_eirp_power
      Src: /src/hostap/src/ap/ieee802_11.c:9369,1
    - Dst: he_reg_is_sp
      Src: /src/hostap/src/ap/ieee802_11.c:9373,1
    - Dst: hostapd_add_tpe_info
      Src: /src/hostap/src/ap/ieee802_11.c:9377,1
    - Dst: hostapd_get_oper_chwidth
      Src: /src/hostap/src/ap/ieee802_11.c:9384,1
    - Dst: hostapd_is_dfs_required
      Src: /src/hostap/src/ap/ieee802_11.c:9413,1
    - Dst: hostapd_add_tpe_info
      Src: /src/hostap/src/ap/ieee802_11.c:9456,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 72
    argCount: 2
    argNames:
    - hapd
    - eid
    argTypes:
    - struct hostapd_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9459
      start: 9292
    functionDepth: 3
    functionLinenumber: 9292
    functionLinenumberEnd: 9459
    functionName: hostapd_eid_txpower_envelope
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 3
    functionsReached:
    - hostapd_is_dfs_required
    - is_6ghz_op_class
    - he_reg_is_indoor
    - he_reg_is_sp
    - hostap_afc_get_chan_max_eirp_power
    - hostapd_add_tpe_info
    - ieee80211_freq_to_chan
    - hostapd_get_oper_chwidth
    linkageType: ''
    returnType: u8
    signature: u8 * hostapd_eid_txpower_envelope(struct hostapd_data *hapd, u8 *eid)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 4
    argNames:
    - hapd
    - eid
    - chan1
    - chan2
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9525
      start: 9463
    functionDepth: 0
    functionLinenumber: 9463
    functionLinenumberEnd: 9525
    functionName: hostapd_eid_wb_channel_switch
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: "u8 * hostapd_eid_wb_channel_switch(struct hostapd_data *hapd, u8 *eid,\n\t\t\t\t\t
      \ u8 chan1, u8 chan2)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/ap/ieee802_11.c:9549,1
    - Dst: host_to_le16
      Src: /src/hostap/src/ap/ieee802_11.c:9591,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 4
    argNames:
    - hapd
    - eid
    - chan1
    - chan2
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9595
      start: 9531
    functionDepth: 1
    functionLinenumber: 9531
    functionLinenumberEnd: 9595
    functionName: hostapd_eid_bw_indication
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - host_to_le16
    - os_memset
    linkageType: ''
    returnType: u8
    signature: "u8 * hostapd_eid_bw_indication(struct hostapd_data *hapd, u8 *eid,\n\t\t\t\t
      \     u8 chan1, u8 chan2)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_is_vht_enabled
      Src: /src/hostap/src/ap/ieee802_11.c:9605,1
    - Dst: hostapd_is_he_enabled
      Src: /src/hostap/src/ap/ieee802_11.c:9606,1
    - Dst: hostapd_is_eht_enabled
      Src: /src/hostap/src/ap/ieee802_11.c:9607,1
    - Dst: ieee80211_freq_to_chan
      Src: /src/hostap/src/ap/ieee802_11.c:9619,1
    - Dst: ieee80211_freq_to_chan
      Src: /src/hostap/src/ap/ieee802_11.c:9624,1
    - Dst: hostapd_eid_wb_channel_switch
      Src: /src/hostap/src/ap/ieee802_11.c:9631,1
    - Dst: hostapd_is_eht_enabled
      Src: /src/hostap/src/ap/ieee802_11.c:9634,1
    - Dst: hostapd_eid_bw_indication
      Src: /src/hostap/src/ap/ieee802_11.c:9636,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 2
    argNames:
    - hapd
    - eid
    argTypes:
    - struct hostapd_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9642
      start: 9599
    functionDepth: 2
    functionLinenumber: 9599
    functionLinenumberEnd: 9642
    functionName: hostapd_eid_chsw_wrapper
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 2
    functionsReached:
    - hostapd_is_vht_enabled
    - hostapd_is_eht_enabled
    - hostapd_eid_bw_indication
    - ieee80211_freq_to_chan
    - hostapd_eid_wb_channel_switch
    - hostapd_is_he_enabled
    linkageType: ''
    returnType: u8
    signature: u8 * hostapd_eid_chsw_wrapper(struct hostapd_data *hapd, u8 *eid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/ap/ieee802_11.c:9651,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_11.c:9653,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - hapd
    - current_len
    argTypes:
    - struct hostapd_data*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9672
      start: 9645
    functionDepth: 1
    functionLinenumber: 9645
    functionLinenumberEnd: 9672
    functionName: hostapd_eid_nr_db_len
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    - wpabuf_len
    linkageType: ''
    returnType: size_t
    signature: "size_t hostapd_eid_nr_db_len(struct hostapd_data *hapd,\n\t\t\t\t
      \   size_t *current_len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_is_ml_partner
      Src: /src/hostap/src/ap/ieee802_11.c:9686,1
    - Dst: hostapd_is_ml_partner
      Src: /src/hostap/src/ap/ieee802_11.c:9701,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 3
    argNames:
    - tx_hapd
    - ml_hapd
    - match_idx
    argTypes:
    - struct hostapd_data*
    - struct hostapd_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9709
      start: 9676
    functionDepth: 1
    functionLinenumber: 9676
    functionLinenumberEnd: 9709
    functionName: hostapd_mbssid_mld_match
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - hostapd_is_ml_partner
    linkageType: ''
    returnType: bool
    signature: "bool hostapd_mbssid_mld_match(struct hostapd_data *tx_hapd,\n\t\t\t\t
      \    struct hostapd_data *ml_hapd,\n\t\t\t\t     u8 *match_idx)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_is_ml_partner
      Src: /src/hostap/src/ap/ieee802_11.c:9747,1
    - Dst: hostapd_mbssid_mld_match
      Src: /src/hostap/src/ap/ieee802_11.c:9753,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 15
    argCount: 8
    argNames:
    - i
    - skip_profiles
    - ap_mld
    - tbtt_info_len
    - mld_update
    - reporting_hapd
    - bss
    - match_idx
    argTypes:
    - size_t
    - struct mbssid_ie_profiles*
    - bool
    - u8
    - bool
    - struct hostapd_data*
    - struct hostapd_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9767
      start: 9718
    functionDepth: 2
    functionLinenumber: 9718
    functionLinenumberEnd: 9767
    functionName: hostapd_skip_rnr
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - hostapd_is_ml_partner
    - hostapd_mbssid_mld_match
    linkageType: ''
    returnType: bool
    signature: "bool hostapd_skip_rnr(size_t i, struct mbssid_ie_profiles *skip_profiles,\n\t\t\t
      \    bool ap_mld, u8 tbtt_info_len, bool mld_update,\n\t\t\t     struct hostapd_data
      *reporting_hapd,\n\t\t\t     struct hostapd_data *bss, u8 *match_idx)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_skip_rnr
      Src: /src/hostap/src/ap/ieee802_11.c:9803,1
    - Dst: hostapd_get_oper_chan_info_of_bss
      Src: /src/hostap/src/ap/ieee802_11.c:9807,1
    - Dst: ieee80211_freq_to_channel_ext
      Src: /src/hostap/src/ap/ieee802_11.c:9814,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 20
    argCount: 9
    argNames:
    - hapd
    - reporting_hapd
    - skip_profiles
    - i
    - tbtt_info_len
    - mld_update
    - op_class
    - channel
    - match_idx
    argTypes:
    - struct hostapd_data*
    - struct hostapd_data*
    - struct mbssid_ie_profiles*
    - size_t
    - u8
    - bool
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9821
      start: 9770
    functionDepth: 3
    functionLinenumber: 9770
    functionLinenumberEnd: 9821
    functionName: hostapd_rnr_get_bss_info
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - ieee80211_freq_to_channel_ext
    - hostapd_get_oper_chan_info_of_bss
    - hostapd_skip_rnr
    linkageType: ''
    returnType: bool
    signature: "bool hostapd_rnr_get_bss_info(struct hostapd_data *hapd,\n\t\t\t\t
      \    struct hostapd_data *reporting_hapd,\n\t\t\t\t     struct mbssid_ie_profiles
      *skip_profiles,\n\t\t\t\t     size_t i, u8 tbtt_info_len,\n\t\t\t\t     bool
      mld_update,\n\t\t\t\t     u8 *op_class, u8 *channel, u8 *match_idx)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_11.c:9847,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/ieee802_11.c:9848,1
    - Dst: hostapd_rnr_get_bss_info
      Src: /src/hostap/src/ap/ieee802_11.c:9868,1
    - Dst: hostapd_rnr_get_bss_info
      Src: /src/hostap/src/ap/ieee802_11.c:9896,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_11.c:9944,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 73
    argCount: 5
    argNames:
    - hapd
    - reporting_hapd
    - current_len
    - skip_profiles
    - mld_update
    argTypes:
    - struct hostapd_data*
    - struct hostapd_data*
    - size_t*
    - struct mbssid_ie_profiles*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9952
      start: 9824
    functionDepth: 4
    functionLinenumber: 9824
    functionLinenumberEnd: 9952
    functionName: hostapd_eid_rnr_iface_len
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - os_free
    - os_zalloc
    - hostapd_rnr_get_bss_info
    linkageType: ''
    returnType: size_t
    signature: "size_t hostapd_eid_rnr_iface_len(struct hostapd_data *hapd,\n\t\t\t
      \ struct hostapd_data *reporting_hapd,\n\t\t\t  size_t *current_len,\n\t\t\t
      \ struct mbssid_ie_profiles *skip_profiles,\n\t\t\t  bool mld_update)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: is_6ghz_op_class
      Src: /src/hostap/src/ap/ieee802_11.c:9965,1
    - Dst: is_6ghz_op_class
      Src: /src/hostap/src/ap/ieee802_11.c:9981,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 18
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9992
      start: 9962
    functionDepth: 1
    functionLinenumber: 9962
    functionLinenumberEnd: 9992
    functionName: get_colocation_mode
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - is_6ghz_op_class
    linkageType: ''
    returnType: enum colocation_mode
    signature: enum colocation_mode get_colocation_mode(struct hostapd_data *hapd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_6ghz_op_class
      Src: /src/hostap/src/ap/ieee802_11.c:10010,1
    - Dst: hostapd_eid_rnr_iface_len
      Src: /src/hostap/src/ap/ieee802_11.c:10013,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - hapd
    - current_len
    argTypes:
    - struct hostapd_data*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10018
      start: 9995
    functionDepth: 5
    functionLinenumber: 9995
    functionLinenumberEnd: 10018
    functionName: hostapd_eid_rnr_colocation_len
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - hostapd_eid_rnr_iface_len
    - is_6ghz_op_class
    linkageType: ''
    returnType: size_t
    signature: "size_t hostapd_eid_rnr_colocation_len(struct hostapd_data *hapd,\n\t\t\t\t\t
      \    size_t *current_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_eid_rnr_iface_len
      Src: /src/hostap/src/ap/ieee802_11.c:10044,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 4
    argNames:
    - hapd
    - type
    - skip_profiles
    - current_len
    argTypes:
    - struct hostapd_data*
    - u32
    - struct mbssid_ie_profiles*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10051
      start: 10021
    functionDepth: 5
    functionLinenumber: 10021
    functionLinenumberEnd: 10051
    functionName: hostapd_eid_rnr_mlo_len
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - hostapd_eid_rnr_iface_len
    linkageType: ''
    returnType: size_t
    signature: "size_t hostapd_eid_rnr_mlo_len(struct hostapd_data *hapd, u32 type,\n\t\t\t\t
      \     struct mbssid_ie_profiles *skip_profiles,\n\t\t\t\t      size_t *current_len)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: get_colocation_mode
      Src: /src/hostap/src/ap/ieee802_11.c:10058,1
    - Dst: hostapd_eid_nr_db_len
      Src: /src/hostap/src/ap/ieee802_11.c:10063,1
    - Dst: hostapd_eid_rnr_colocation_len
      Src: /src/hostap/src/ap/ieee802_11.c:10068,1
    - Dst: hostapd_eid_rnr_iface_len
      Src: /src/hostap/src/ap/ieee802_11.c:10073,1
    - Dst: hostapd_eid_rnr_iface_len
      Src: /src/hostap/src/ap/ieee802_11.c:10079,1
    - Dst: hostapd_eid_rnr_mlo_len
      Src: /src/hostap/src/ap/ieee802_11.c:10090,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 19
    argCount: 3
    argNames:
    - hapd
    - type
    - include_mld_params
    argTypes:
    - struct hostapd_data*
    - u32
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10094
      start: 10054
    functionDepth: 6
    functionLinenumber: 10054
    functionLinenumberEnd: 10094
    functionName: hostapd_eid_rnr_len
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 3
    functionsReached:
    - hostapd_eid_rnr_iface_len
    - get_colocation_mode
    - hostapd_eid_rnr_colocation_len
    - hostapd_eid_nr_db_len
    - hostapd_eid_rnr_mlo_len
    linkageType: ''
    returnType: size_t
    signature: "size_t hostapd_eid_rnr_len(struct hostapd_data *hapd, u32 type,\n\t\t\t
      \  bool include_mld_params)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/ap/ieee802_11.c:10104,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/ieee802_11.c:10106,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/ap/ieee802_11.c:10125,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/ap/ieee802_11.c:10127,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11.c:10134,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11.c:10137,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - hapd
    - eid
    - current_len
    argTypes:
    - struct hostapd_data*
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10149
      start: 10097
    functionDepth: 1
    functionLinenumber: 10097
    functionLinenumberEnd: 10149
    functionName: hostapd_eid_nr_db
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    - os_memcpy
    - wpabuf_len
    - wpabuf_head_u8
    linkageType: ''
    returnType: u8
    signature: "u8 * hostapd_eid_nr_db(struct hostapd_data *hapd, u8 *eid,\n\t\t\t
      \     size_t *current_len)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11.c:10189,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11.c:10191,1
    - Dst: hostapd_mbssid_get_tx_bss
      Src: /src/hostap/src/ap/ieee802_11.c:10198,1
    - Dst: is_6ghz_op_class
      Src: /src/hostap/src/ap/ieee802_11.c:10202,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 11
    argNames:
    - hapd
    - reporting_hapd
    - i
    - tbtt_count
    - len
    - pos
    - tbtt_count_pos
    - tbtt_info_len
    - op_class
    - channel
    - match_idx
    argTypes:
    - struct hostapd_data*
    - struct hostapd_data*
    - size_t
    - u8*
    - size_t*
    - u8**
    - u8**
    - u8
    - u8
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10243
      start: 10152
    functionDepth: 1
    functionLinenumber: 10152
    functionLinenumberEnd: 10243
    functionName: hostapd_eid_rnr_bss
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - is_6ghz_op_class
    - os_memcpy
    - hostapd_mbssid_get_tx_bss
    linkageType: ''
    returnType: bool
    signature: "bool hostapd_eid_rnr_bss(struct hostapd_data *hapd,\n\t\t\t\tstruct
      hostapd_data *reporting_hapd,\n\t\t\t\tsize_t i, u8 *tbtt_count, size_t *len,\n\t\t\t\tu8
      **pos, u8 **tbtt_count_pos, u8 tbtt_info_len,\n\t\t\t\tu8 op_class, u8 channel,\n\t\t\t\tu8
      match_idx)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_11.c:10273,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/ieee802_11.c:10274,1
    - Dst: hostapd_rnr_get_bss_info
      Src: /src/hostap/src/ap/ieee802_11.c:10294,1
    - Dst: hostapd_rnr_get_bss_info
      Src: /src/hostap/src/ap/ieee802_11.c:10321,1
    - Dst: hostapd_eid_rnr_bss
      Src: /src/hostap/src/ap/ieee802_11.c:10331,1
    - Dst: RNR_TBTT_INFO_COUNT
      Src: /src/hostap/src/ap/ieee802_11.c:10344,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_11.c:10370,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 73
    argCount: 6
    argNames:
    - hapd
    - reporting_hapd
    - eid
    - current_len
    - skip_profiles
    - mld_update
    argTypes:
    - struct hostapd_data*
    - struct hostapd_data*
    - u8*
    - size_t*
    - struct mbssid_ie_profiles*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10377
      start: 10246
    functionDepth: 4
    functionLinenumber: 10246
    functionLinenumberEnd: 10377
    functionName: hostapd_eid_rnr_iface
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - RNR_TBTT_INFO_COUNT
    - os_zalloc
    - hostapd_eid_rnr_bss
    - os_free
    - hostapd_rnr_get_bss_info
    linkageType: ''
    returnType: u8
    signature: "u8 * hostapd_eid_rnr_iface(struct hostapd_data *hapd,\n\t\t\t\t  struct
      hostapd_data *reporting_hapd,\n\t\t\t\t  u8 *eid, size_t *current_len,\n\t\t\t\t
      \ struct mbssid_ie_profiles *skip_profiles,\n\t\t\t\t  bool mld_update)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_6ghz_op_class
      Src: /src/hostap/src/ap/ieee802_11.c:10394,1
    - Dst: hostapd_eid_rnr_iface
      Src: /src/hostap/src/ap/ieee802_11.c:10397,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 3
    argNames:
    - hapd
    - eid
    - current_len
    argTypes:
    - struct hostapd_data*
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10402
      start: 10380
    functionDepth: 5
    functionLinenumber: 10380
    functionLinenumberEnd: 10402
    functionName: hostapd_eid_rnr_colocation
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - is_6ghz_op_class
    - hostapd_eid_rnr_iface
    linkageType: ''
    returnType: u8
    signature: "u8 * hostapd_eid_rnr_colocation(struct hostapd_data *hapd, u8 *eid,\n\t\t\t\t
      \      size_t *current_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_eid_rnr_iface
      Src: /src/hostap/src/ap/ieee802_11.c:10428,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 5
    argNames:
    - hapd
    - type
    - eid
    - skip_profiles
    - current_len
    argTypes:
    - struct hostapd_data*
    - u32
    - u8*
    - struct mbssid_ie_profiles*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10434
      start: 10405
    functionDepth: 5
    functionLinenumber: 10405
    functionLinenumberEnd: 10434
    functionName: hostapd_eid_rnr_mlo
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - hostapd_eid_rnr_iface
    linkageType: ''
    returnType: u8
    signature: "u8 * hostapd_eid_rnr_mlo(struct hostapd_data *hapd, u32 type,\n\t\t\t\tu8
      *eid,\n\t\t\t\tstruct mbssid_ie_profiles *skip_profiles,\n\t\t\t\tsize_t *current_len)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: get_colocation_mode
      Src: /src/hostap/src/ap/ieee802_11.c:10442,1
    - Dst: hostapd_eid_nr_db
      Src: /src/hostap/src/ap/ieee802_11.c:10447,1
    - Dst: hostapd_eid_rnr_colocation
      Src: /src/hostap/src/ap/ieee802_11.c:10451,1
    - Dst: hostapd_eid_rnr_iface
      Src: /src/hostap/src/ap/ieee802_11.c:10456,1
    - Dst: hostapd_eid_rnr_iface
      Src: /src/hostap/src/ap/ieee802_11.c:10461,1
    - Dst: hostapd_eid_rnr_mlo
      Src: /src/hostap/src/ap/ieee802_11.c:10473,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 23
    argCount: 4
    argNames:
    - hapd
    - eid
    - type
    - include_mld_params
    argTypes:
    - struct hostapd_data*
    - u8*
    - u32
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10479
      start: 10437
    functionDepth: 6
    functionLinenumber: 10437
    functionLinenumberEnd: 10479
    functionName: hostapd_eid_rnr
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 3
    functionsReached:
    - hostapd_eid_rnr_iface
    - hostapd_eid_rnr_colocation
    - hostapd_eid_rnr_mlo
    - get_colocation_mode
    - hostapd_eid_nr_db
    linkageType: ''
    returnType: u8
    signature: "u8 * hostapd_eid_rnr(struct hostapd_data *hapd, u8 *eid, u32 type,\n\t\t
      \    bool include_mld_params)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIT
      Src: /src/hostap/src/ap/ieee802_11.c:10488,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - i
    - known_bss
    - known_bss_len
    argTypes:
    - unsigned int
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10489
      start: 10482
    functionDepth: 0
    functionLinenumber: 10482
    functionLinenumberEnd: 10489
    functionName: mbssid_known_bss
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - BIT
    linkageType: ''
    returnType: bool
    signature: "bool mbssid_known_bss(unsigned int i, const u8 *known_bss,\n\t\t\t
      \    size_t known_bss_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_eid_ext_capab
      Src: /src/hostap/src/ap/ieee802_11.c:10498,1
    - Dst: hostapd_eid_ext_capab
      Src: /src/hostap/src/ap/ieee802_11.c:10501,1
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/ieee802_11.c:10504,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11.c:10505,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - bss
    - tx_bss
    - buf
    argTypes:
    - struct hostapd_data*
    - struct hostapd_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10510
      start: 10492
    functionDepth: 3
    functionLinenumber: 10492
    functionLinenumberEnd: 10510
    functionName: hostapd_mbssid_ext_capa
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - hostapd_eid_ext_capab
    - os_memcpy
    - os_memcmp
    linkageType: ''
    returnType: size_t
    signature: "size_t hostapd_mbssid_ext_capa(struct hostapd_data *bss,\n\t\t\t\t
      \     struct hostapd_data *tx_bss, u8 *buf)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_mbssid_get_tx_bss
      Src: /src/hostap/src/ap/ieee802_11.c:10518,1
    - Dst: hostapd_eid_ext_supp_rates
      Src: /src/hostap/src/ap/ieee802_11.c:10533,1
    - Dst: mbssid_known_bss
      Src: /src/hostap/src/ap/ieee802_11.c:10542,1
    - Dst: wpa_auth_get_wpa_ie
      Src: /src/hostap/src/ap/ieee802_11.c:10558,1
    - Dst: get_ie
      Src: /src/hostap/src/ap/ieee802_11.c:10560,1
    - Dst: get_ie
      Src: /src/hostap/src/ap/ieee802_11.c:10564,1
    - Dst: hostapd_mbssid_ext_capa
      Src: /src/hostap/src/ap/ieee802_11.c:10569,1
    - Dst: hostapd_wpa_ie
      Src: /src/hostap/src/ap/ieee802_11.c:10572,1
    - Dst: hostapd_wpa_ie
      Src: /src/hostap/src/ap/ieee802_11.c:10574,1
    - Dst: hostapd_eid_ext_supp_rates
      Src: /src/hostap/src/ap/ieee802_11.c:10577,1
    - Dst: hostapd_eid_eht_basic_ml_len
      Src: /src/hostap/src/ap/ieee802_11.c:10589,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 38
    argCount: 5
    argNames:
    - hapd
    - frame_type
    - bss_index
    - known_bss
    - known_bss_len
    argTypes:
    - struct hostapd_data*
    - u32
    - size_t*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10606
      start: 10513
    functionDepth: 4
    functionLinenumber: 10513
    functionLinenumberEnd: 10606
    functionName: hostapd_eid_mbssid_elem_len
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - hostapd_eid_ext_supp_rates
    - mbssid_known_bss
    - get_ie
    - hostapd_wpa_ie
    - hostapd_mbssid_ext_capa
    - hostapd_eid_eht_basic_ml_len
    - wpa_auth_get_wpa_ie
    - hostapd_mbssid_get_tx_bss
    linkageType: ''
    returnType: size_t
    signature: "size_t hostapd_eid_mbssid_elem_len(struct hostapd_data *hapd,\n\t\t\t\t\t
      \ u32 frame_type, size_t *bss_index,\n\t\t\t\t\t  const u8 *known_bss,\n\t\t\t\t\t
      \ size_t known_bss_len)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_mbssid_get_tx_bss
      Src: /src/hostap/src/ap/ieee802_11.c:10613,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:10628,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:10639,1
    - Dst: hostapd_eid_mbssid_elem_len
      Src: /src/hostap/src/ap/ieee802_11.c:10649,1
    - Dst: hostapd_eid_rnr_iface_len
      Src: /src/hostap/src/ap/ieee802_11.c:10661,1
    - Dst: hostapd_mbssid_get_tx_bss
      Src: /src/hostap/src/ap/ieee802_11.c:10662,1
    - Dst: hostapd_eid_rnr_mlo_len
      Src: /src/hostap/src/ap/ieee802_11.c:10665,1
    - Dst: hostapd_mbssid_get_tx_bss
      Src: /src/hostap/src/ap/ieee802_11.c:10666,1
    - Dst: hostapd_eid_rnr_len
      Src: /src/hostap/src/ap/ieee802_11.c:10672,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 6
    argNames:
    - hapd_probed
    - frame_type
    - elem_count
    - known_bss
    - known_bss_len
    - rnr_len
    argTypes:
    - struct hostapd_data*
    - u32
    - u8*
    - u8*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10675
      start: 10609
    functionDepth: 7
    functionLinenumber: 10609
    functionLinenumberEnd: 10675
    functionName: hostapd_eid_mbssid_len
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - hostapd_eid_rnr_iface_len
    - hostapd_eid_mbssid_elem_len
    - hostapd_eid_rnr_mlo_len
    - hostapd_eid_rnr_len
    - hostapd_mbssid_get_tx_bss
    linkageType: ''
    returnType: size_t
    signature: "size_t hostapd_eid_mbssid_len(struct hostapd_data *hapd_probed, u32
      frame_type,\n\t\t\t      u8 *elem_count, const u8 *known_bss,\n\t\t\t      size_t
      known_bss_len, size_t *rnr_len)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_mbssid_get_tx_bss
      Src: /src/hostap/src/ap/ieee802_11.c:10683,1
    - Dst: hostapd_eid_ext_supp_rates
      Src: /src/hostap/src/ap/ieee802_11.c:10692,1
    - Dst: mbssid_known_bss
      Src: /src/hostap/src/ap/ieee802_11.c:10706,1
    - Dst: hostapd_own_capab_info
      Src: /src/hostap/src/ap/ieee802_11.c:10713,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/ap/ieee802_11.c:10716,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11.c:10721,1
    - Dst: wpa_auth_get_wpa_ie
      Src: /src/hostap/src/ap/ieee802_11.c:10750,1
    - Dst: get_ie
      Src: /src/hostap/src/ap/ieee802_11.c:10752,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11.c:10754,1
    - Dst: get_ie
      Src: /src/hostap/src/ap/ieee802_11.c:10758,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11.c:10760,1
    - Dst: hostapd_mbssid_ext_capa
      Src: /src/hostap/src/ap/ieee802_11.c:10765,1
    - Dst: hostapd_eid_ext_supp_rates
      Src: /src/hostap/src/ap/ieee802_11.c:10766,1
    - Dst: hostapd_wpa_ie
      Src: /src/hostap/src/ap/ieee802_11.c:10770,1
    - Dst: hostapd_wpa_ie
      Src: /src/hostap/src/ap/ieee802_11.c:10774,1
    - Dst: hostapd_eid_eht_basic_ml_common
      Src: /src/hostap/src/ap/ieee802_11.c:10781,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11.c:10789,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 79
    argCount: 9
    argNames:
    - hapd
    - eid
    - end
    - frame_type
    - max_bssid_indicator
    - bss_index
    - elem_count
    - known_bss
    - known_bss_len
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8*
    - u32
    - u8
    - size_t*
    - u8
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10808
      start: 10678
    functionDepth: 4
    functionLinenumber: 10678
    functionLinenumberEnd: 10808
    functionName: hostapd_eid_mbssid_elem
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 0
    functionsReached:
    - hostapd_eid_ext_supp_rates
    - hostapd_mbssid_get_tx_bss
    - os_memcpy
    - mbssid_known_bss
    - get_ie
    - hostapd_wpa_ie
    - hostapd_own_capab_info
    - hostapd_mbssid_ext_capa
    - hostapd_eid_eht_basic_ml_common
    - wpa_auth_get_wpa_ie
    - WPA_PUT_LE16
    linkageType: ''
    returnType: u8
    signature: "u8 * hostapd_eid_mbssid_elem(struct hostapd_data *hapd, u8 *eid, u8
      *end,\n\t\t\t\t    u32 frame_type, u8 max_bssid_indicator,\n\t\t\t\t    size_t
      *bss_index, u8 elem_count,\n\t\t\t\t    const u8 *known_bss, size_t known_bss_len)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_mbssid_get_tx_bss
      Src: /src/hostap/src/ap/ieee802_11.c:10817,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:10828,1
    - Dst: hostapd_eid_mbssid_elem
      Src: /src/hostap/src/ap/ieee802_11.c:10845,1
    - Dst: hostapd_max_bssid_indicator
      Src: /src/hostap/src/ap/ieee802_11.c:10847,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11.c:10856,1
    - Dst: hostapd_eid_mbssid_elem
      Src: /src/hostap/src/ap/ieee802_11.c:10864,1
    - Dst: hostapd_max_bssid_indicator
      Src: /src/hostap/src/ap/ieee802_11.c:10866,1
    - Dst: hostapd_eid_rnr_iface
      Src: /src/hostap/src/ap/ieee802_11.c:10878,1
    - Dst: hostapd_mbssid_get_tx_bss
      Src: /src/hostap/src/ap/ieee802_11.c:10879,1
    - Dst: hostapd_eid_rnr_mlo
      Src: /src/hostap/src/ap/ieee802_11.c:10881,1
    - Dst: hostapd_mbssid_get_tx_bss
      Src: /src/hostap/src/ap/ieee802_11.c:10882,1
    - Dst: hostapd_eid_nr_db
      Src: /src/hostap/src/ap/ieee802_11.c:10893,1
    - Dst: get_colocation_mode
      Src: /src/hostap/src/ap/ieee802_11.c:10894,1
    - Dst: hostapd_eid_rnr_colocation
      Src: /src/hostap/src/ap/ieee802_11.c:10895,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 41
    argCount: 12
    argNames:
    - hapd_probed
    - eid
    - end
    - frame_stype
    - elem_count
    - elem_offset
    - known_bss
    - known_bss_len
    - rnr_eid
    - rnr_count
    - rnr_offset
    - rnr_len
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8*
    - unsigned int
    - u8
    - u8**
    - u8*
    - size_t
    - u8*
    - u8*
    - u8**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10900
      start: 10811
    functionDepth: 6
    functionLinenumber: 10811
    functionLinenumberEnd: 10900
    functionName: hostapd_eid_mbssid
    functionSourceFile: /src/hostap/src/ap/ieee802_11.c
    functionUses: 2
    functionsReached:
    - hostapd_eid_rnr_iface
    - wpa_printf
    - hostapd_eid_rnr_colocation
    - hostapd_eid_rnr_mlo
    - hostapd_eid_mbssid_elem
    - get_colocation_mode
    - hostapd_max_bssid_indicator
    - hostapd_eid_nr_db
    - hostapd_mbssid_get_tx_bss
    linkageType: ''
    returnType: u8
    signature: "u8 * hostapd_eid_mbssid(struct hostapd_data *hapd_probed, u8 *eid,
      u8 *end,\n\t\t\tunsigned int frame_stype, u8 elem_count,\n\t\t\tu8 **elem_offset,\n\t\t\tconst
      u8 *known_bss, size_t known_bss_len, u8 *rnr_eid,\n\t\t\tu8 *rnr_count, u8 **rnr_offset,
      size_t rnr_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct vlan_description*
    - struct vlan_description*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 27
    functionName: vlan_compare
    functionSourceFile: /src/hostap/src/ap/vlan.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int vlan_compare(struct vlan_description *a, struct vlan_description
      *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 3
    argNames:
    - dst
    - src
    - n
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 50
    functionName: no_mischief_strncpy
    functionSourceFile: /src/hostap/src/ap/taxonomy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void no_mischief_strncpy(char *dst, const char *src, size_t n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/ap/taxonomy.c:62,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/ap/taxonomy.c:63,1
    - Dst: no_mischief_strncpy
      Src: /src/hostap/src/ap/taxonomy.c:73,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - name
    - name_len
    - data
    - data_len
    argTypes:
    - char*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 82
    functionName: get_wps_name
    functionSourceFile: /src/hostap/src/ap/taxonomy.c
    functionUses: 0
    functionsReached:
    - no_mischief_strncpy
    - WPA_GET_BE16
    linkageType: ''
    returnType: int
    signature: "int get_wps_name(char *name, size_t name_len,\n\t\t\tconst u8 *data,
      size_t data_len)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/ap/taxonomy.c:107,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/taxonomy.c:108,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/taxonomy.c:109,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/taxonomy.c:110,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/taxonomy.c:111,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/taxonomy.c:112,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/taxonomy.c:113,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/taxonomy.c:114,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/taxonomy.c:115,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/taxonomy.c:120,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/taxonomy.c:121,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/ap/taxonomy.c:136,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/taxonomy.c:142,1
    - Dst: get_wps_name
      Src: /src/hostap/src/ap/taxonomy.c:143,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/taxonomy.c:145,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/taxonomy.c:150,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/taxonomy.c:156,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/ap/taxonomy.c:158,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/taxonomy.c:163,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/taxonomy.c:168,1
    - Dst: WPA_GET_LE32
      Src: /src/hostap/src/ap/taxonomy.c:170,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/taxonomy.c:174,1
    - Dst: WPA_GET_LE32
      Src: /src/hostap/src/ap/taxonomy.c:176,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/taxonomy.c:181,1
    - Dst: WPA_GET_LE32
      Src: /src/hostap/src/ap/taxonomy.c:183,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/taxonomy.c:188,1
    - Dst: WPA_GET_LE32
      Src: /src/hostap/src/ap/taxonomy.c:190,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/taxonomy.c:199,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/taxonomy.c:205,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/taxonomy.c:208,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/taxonomy.c:214,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/ap/taxonomy.c:216,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/taxonomy.c:219,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/taxonomy.c:221,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/taxonomy.c:229,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/taxonomy.c:232,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 75
    argCount: 3
    argNames:
    - fstr
    - fstr_len
    - ies
    argTypes:
    - char*
    - size_t
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 236
    functionName: ie_to_string
    functionSourceFile: /src/hostap/src/ap/taxonomy.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - get_wps_name
    - wpabuf_len
    - WPA_GET_LE32
    - WPA_GET_LE16
    - wpabuf_head
    - os_snprintf
    - os_snprintf_error
    - WPA_GET_BE32
    - os_memset
    linkageType: ''
    returnType: void
    signature: void ie_to_string(char *fstr, size_t fstr_len, const struct wpabuf
      *ies)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/taxonomy.c:248,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/taxonomy.c:249,1
    - Dst: ie_to_string
      Src: /src/hostap/src/ap/taxonomy.c:254,1
    - Dst: os_strchr
      Src: /src/hostap/src/ap/taxonomy.c:255,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/taxonomy.c:258,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/ap/taxonomy.c:259,1
    - Dst: ie_to_string
      Src: /src/hostap/src/ap/taxonomy.c:262,1
    - Dst: os_strchr
      Src: /src/hostap/src/ap/taxonomy.c:263,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - hapd
    - sta
    - buf
    - buflen
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 239
    functionDepth: 3
    functionLinenumber: 239
    functionLinenumberEnd: 265
    functionName: retrieve_sta_taxonomy
    functionSourceFile: /src/hostap/src/ap/taxonomy.c
    functionUses: 1
    functionsReached:
    - os_snprintf
    - ie_to_string
    - os_strchr
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int retrieve_sta_taxonomy(const struct hostapd_data *hapd,\n\t\t\t
      \ struct sta_info *sta, char *buf, size_t buflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/taxonomy.c:272,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/ap/taxonomy.c:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - hapd
    - sta
    - ie
    - ie_len
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 274
    functionName: taxonomy_sta_info_probe_req
    functionSourceFile: /src/hostap/src/ap/taxonomy.c
    functionUses: 1
    functionsReached:
    - wpabuf_free
    - wpabuf_alloc_copy
    linkageType: ''
    returnType: void
    signature: "void taxonomy_sta_info_probe_req(const struct hostapd_data *hapd,\n\t\t\t\t
      struct sta_info *sta,\n\t\t\t\t const u8 *ie, size_t ie_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/taxonomy.c:281,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/ap/taxonomy.c:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - hapd
    - info
    - ie
    - ie_len
    argTypes:
    - struct hostapd_data*
    - struct hostapd_sta_info*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 283
    functionName: taxonomy_hostapd_sta_info_probe_req
    functionSourceFile: /src/hostap/src/ap/taxonomy.c
    functionUses: 1
    functionsReached:
    - wpabuf_free
    - wpabuf_alloc_copy
    linkageType: ''
    returnType: void
    signature: "void taxonomy_hostapd_sta_info_probe_req(const struct hostapd_data
      *hapd,\n\t\t\t\t\t struct hostapd_sta_info *info,\n\t\t\t\t\t const u8 *ie,
      size_t ie_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/taxonomy.c:290,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/ap/taxonomy.c:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - hapd
    - sta
    - ie
    - ie_len
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 292
    functionName: taxonomy_sta_info_assoc_req
    functionSourceFile: /src/hostap/src/ap/taxonomy.c
    functionUses: 1
    functionsReached:
    - wpabuf_free
    - wpabuf_alloc_copy
    linkageType: ''
    returnType: void
    signature: "void taxonomy_sta_info_assoc_req(const struct hostapd_data *hapd,\n\t\t\t\t
      struct sta_info *sta,\n\t\t\t\t const u8 *ie, size_t ie_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - mode
    - chan_num
    argTypes:
    - struct hostapd_hw_modes*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 58
    functionName: is_chan_disabled
    functionSourceFile: /src/hostap/src/ap/interference.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_chan_disabled(struct hostapd_hw_modes *mode, int chan_num)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: chan_pri_allowed
      Src: /src/hostap/src/ap/interference.c:81,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/interference.c:82,1
    - Dst: is_chan_disabled
      Src: /src/hostap/src/ap/interference.c:105,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 5
    argNames:
    - mode
    - first_chan_idx
    - num_chans
    - allowed_arr
    - allowed_arr_size
    argTypes:
    - struct hostapd_hw_modes*
    - unsigned int
    - unsigned int
    - int*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 110
    functionName: chan_range_available
    functionSourceFile: /src/hostap/src/ap/interference.c
    functionUses: 1
    functionsReached:
    - chan_pri_allowed
    - wpa_printf
    - is_chan_disabled
    linkageType: ''
    returnType: bool
    signature: "bool chan_range_available(struct hostapd_hw_modes *mode,\n\t\t\t\t
      unsigned int first_chan_idx,\n\t\t\t\t unsigned int num_chans,\n\t\t\t\t const
      int *allowed_arr,\n\t\t\t\t unsigned int allowed_arr_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: freq_range_list_includes
      Src: /src/hostap/src/ap/interference.c:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - chan
    argTypes:
    - struct hostapd_iface*
    - struct hostapd_channel_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 120
    functionName: is_in_chanlist
    functionSourceFile: /src/hostap/src/ap/interference.c
    functionUses: 4
    functionsReached:
    - freq_range_list_includes
    linkageType: ''
    returnType: bool
    signature: "bool is_in_chanlist(struct hostapd_iface *iface,\n\t\t\t   struct
      hostapd_channel_data *chan)"
  - BBCount: 15
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 35
    argCount: 3
    argNames:
    - chan_idx
    - chan_width
    - center_freq
    argTypes:
    - int
    - enum chan_width
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 169
    functionName: get_center_freq_6g
    functionSourceFile: /src/hostap/src/ap/interference.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int get_center_freq_6g(int chan_idx, enum chan_width chan_width,\n\t\t\t
      \     int *center_freq)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: int_array_includes
      Src: /src/hostap/src/ap/interference.c:178,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - freq_start
    - freq_end
    - interference_freqs
    argTypes:
    - int
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 182
    functionName: is_interference_in_chanlist
    functionSourceFile: /src/hostap/src/ap/interference.c
    functionUses: 0
    functionsReached:
    - int_array_includes
    linkageType: ''
    returnType: bool
    signature: "bool is_interference_in_chanlist(int freq_start, int freq_end,\n\t\t\t\t\tconst
      int *interference_freqs)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/ap/interference.c:200,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/ap/interference.c:203,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/ap/interference.c:206,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/ap/interference.c:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 2
    argNames:
    - num_chans
    - size
    argTypes:
    - int
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 215
    functionName: get_allowed_channel_array
    functionSourceFile: /src/hostap/src/ap/interference.c
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    linkageType: ''
    returnType: int
    signature: int * get_allowed_channel_array(int num_chans, unsigned int *size)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: get_allowed_channel_array
      Src: /src/hostap/src/ap/interference.c:263,1
    - Dst: chan_in_current_hw_info
      Src: /src/hostap/src/ap/interference.c:268,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/interference.c:269,1
    - Dst: chan_range_available
      Src: /src/hostap/src/ap/interference.c:276,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/interference.c:278,1
    - Dst: is_in_chanlist
      Src: /src/hostap/src/ap/interference.c:284,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/interference.c:285,1
    - Dst: get_center_freq_6g
      Src: /src/hostap/src/ap/interference.c:291,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/interference.c:294,1
    - Dst: channel_width_to_int
      Src: /src/hostap/src/ap/interference.c:301,1
    - Dst: channel_width_to_int
      Src: /src/hostap/src/ap/interference.c:303,1
    - Dst: is_interference_in_chanlist
      Src: /src/hostap/src/ap/interference.c:305,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/interference.c:307,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/interference.c:313,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 54
    argCount: 4
    argNames:
    - iface
    - chan_width
    - chandef_list
    - interference_freqs
    argTypes:
    - struct hostapd_iface*
    - int
    - struct hostapd_channel_data**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 321
    functionName: intf_find_channel_list
    functionSourceFile: /src/hostap/src/ap/interference.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - chan_range_available
    - chan_in_current_hw_info
    - is_interference_in_chanlist
    - get_allowed_channel_array
    - is_in_chanlist
    - get_center_freq_6g
    - channel_width_to_int
    linkageType: ''
    returnType: int
    signature: "int intf_find_channel_list(struct hostapd_iface *iface, int chan_width,\n\t\t\t\t
      \ struct hostapd_channel_data **chandef_list,\n\t\t\t\t  const int *interference_freqs)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - chan_width
    argTypes:
    - enum chan_width
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 338
    functionName: downgrade_bandwidth
    functionSourceFile: /src/hostap/src/ap/interference.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: enum chan_width
    signature: enum chan_width downgrade_bandwidth(enum chan_width chan_width)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: channel_width_to_int
      Src: /src/hostap/src/ap/interference.c:370,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/interference.c:375,1
    - Dst: channel_width_to_int
      Src: /src/hostap/src/ap/interference.c:379,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/interference.c:381,1
    - Dst: BIT
      Src: /src/hostap/src/ap/interference.c:397,1
    - Dst: os_calloc
      Src: /src/hostap/src/ap/interference.c:398,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/interference.c:402,1
    - Dst: channel_width_to_int
      Src: /src/hostap/src/ap/interference.c:409,1
    - Dst: BIT
      Src: /src/hostap/src/ap/interference.c:411,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/interference.c:412,1
    - Dst: int_array_add_unique
      Src: /src/hostap/src/ap/interference.c:415,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/interference.c:419,1
    - Dst: intf_find_channel_list
      Src: /src/hostap/src/ap/interference.c:432,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/interference.c:437,1
    - Dst: downgrade_bandwidth
      Src: /src/hostap/src/ap/interference.c:438,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/interference.c:442,1
    - Dst: os_get_random
      Src: /src/hostap/src/ap/interference.c:446,1
    - Dst: os_random
      Src: /src/hostap/src/ap/interference.c:447,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/interference.c:453,1
    - Dst: hostapd_get_oper_centr_freq_seg0_idx
      Src: /src/hostap/src/ap/interference.c:460,1
    - Dst: hostapd_get_oper_centr_freq_seg1_idx
      Src: /src/hostap/src/ap/interference.c:461,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/interference.c:471,1
    - Dst: chan_width_to_oper_chwidth
      Src: /src/hostap/src/ap/interference.c:475,1
    - Dst: punct_update_legacy_bw
      Src: /src/hostap/src/ap/interference.c:478,1
    - Dst: get_center_freq_6g
      Src: /src/hostap/src/ap/interference.c:495,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/interference.c:498,1
    - Dst: ieee80211_freq_to_chan
      Src: /src/hostap/src/ap/interference.c:507,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/interference.c:509,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/interference.c:539,1
    - Dst: hostapd_change_config_freq
      Src: /src/hostap/src/ap/interference.c:547,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/interference.c:549,1
    - Dst: hostapd_set_freq
      Src: /src/hostap/src/ap/interference.c:554,1
    - Dst: hostapd_get_oper_chwidth
      Src: /src/hostap/src/ap/interference.c:562,1
    - Dst: hostapd_get_oper_centr_freq_seg0_idx
      Src: /src/hostap/src/ap/interference.c:563,1
    - Dst: hostapd_get_oper_centr_freq_seg1_idx
      Src: /src/hostap/src/ap/interference.c:564,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/interference.c:565,1
    - Dst: ieee802_11_set_beacons
      Src: /src/hostap/src/ap/interference.c:570,1
    - Dst: hostapd_chan_switch_config
      Src: /src/hostap/src/ap/interference.c:577,1
    - Dst: hostapd_switch_channel
      Src: /src/hostap/src/ap/interference.c:580,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/interference.c:582,1
    - Dst: os_free
      Src: /src/hostap/src/ap/interference.c:589,1
    - Dst: os_free
      Src: /src/hostap/src/ap/interference.c:590,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 147
    argCount: 6
    argNames:
    - iface
    - freq
    - chan_width
    - cf1
    - cf2
    - chan_bw_interference_bitmap
    argTypes:
    - struct hostapd_iface*
    - int
    - int
    - int
    - int
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 349
    functionDepth: 11
    functionLinenumber: 349
    functionLinenumberEnd: 592
    functionName: hostapd_incumbt_sig_intf_detected
    functionSourceFile: /src/hostap/src/ap/interference.c
    functionUses: 1
    functionsReached:
    - hostapd_get_oper_centr_freq_seg0_idx
    - os_random
    - BIT
    - int_array_add_unique
    - get_center_freq_6g
    - wpa_printf
    - downgrade_bandwidth
    - os_get_random
    - hostapd_set_freq
    - chan_width_to_oper_chwidth
    - hostapd_switch_channel
    - hostapd_chan_switch_config
    - os_free
    - channel_width_to_int
    - hostapd_get_oper_centr_freq_seg1_idx
    - ieee802_11_set_beacons
    - intf_find_channel_list
    - punct_update_legacy_bw
    - ieee80211_freq_to_chan
    - hostapd_get_oper_chwidth
    - os_memset
    - os_calloc
    - hostapd_change_config_freq
    linkageType: ''
    returnType: int
    signature: "int hostapd_incumbt_sig_intf_detected(struct hostapd_iface *iface,
      int freq,\n\t\t\t\t      int chan_width, int cf1, int cf2,\n\t\t\t\t      u32
      chan_bw_interference_bitmap)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/hostap/src/ap/vlan_ifconfig.c:24,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/vlan_ifconfig.c:25,1
    - Dst: strerror
      Src: /src/hostap/src/ap/vlan_ifconfig.c:26,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/vlan_ifconfig.c:30,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/ap/vlan_ifconfig.c:31,1
    - Dst: ioctl
      Src: /src/hostap/src/ap/vlan_ifconfig.c:33,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/vlan_ifconfig.c:34,1
    - Dst: strerror
      Src: /src/hostap/src/ap/vlan_ifconfig.c:36,1
    - Dst: close
      Src: /src/hostap/src/ap/vlan_ifconfig.c:37,1
    - Dst: ioctl
      Src: /src/hostap/src/ap/vlan_ifconfig.c:46,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/vlan_ifconfig.c:47,1
    - Dst: strerror
      Src: /src/hostap/src/ap/vlan_ifconfig.c:49,1
    - Dst: close
      Src: /src/hostap/src/ap/vlan_ifconfig.c:50,1
    - Dst: close
      Src: /src/hostap/src/ap/vlan_ifconfig.c:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - if_name
    - up
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 56
    functionName: ifconfig_helper
    functionSourceFile: /src/hostap/src/ap/vlan_ifconfig.c
    functionUses: 1
    functionsReached:
    - ioctl
    - wpa_printf
    - strerror
    - socket
    - os_strlcpy
    - close
    - os_memset
    linkageType: ''
    returnType: int
    signature: int ifconfig_helper(const char *if_name, int up)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/vlan_ifconfig.c:61,1
    - Dst: ifconfig_helper
      Src: /src/hostap/src/ap/vlan_ifconfig.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - if_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: ifconfig_up
    functionSourceFile: /src/hostap/src/ap/vlan_ifconfig.c
    functionUses: 5
    functionsReached:
    - ifconfig_helper
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int ifconfig_up(const char *if_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: if_nametoindex
      Src: /src/hostap/src/ap/vlan_ifconfig.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ifname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: iface_exists
    functionSourceFile: /src/hostap/src/ap/vlan_ifconfig.c
    functionUses: 1
    functionsReached:
    - if_nametoindex
    linkageType: ''
    returnType: int
    signature: int iface_exists(const char *ifname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/bss_load.c:27,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - hapd
    - sec
    - usec
    argTypes:
    - struct hostapd_data*
    - unsigned int*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 39
    functionName: get_bss_load_update_timeout
    functionSourceFile: /src/hostap/src/ap/bss_load.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int get_bss_load_update_timeout(struct hostapd_data *hapd,\n\t\t\t\t
      \      unsigned int *sec, unsigned int *usec)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_drv_get_survey
      Src: /src/hostap/src/ap/bss_load.c:52,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/bss_load.c:54,1
    - Dst: ieee802_11_set_beacon_per_bss_only
      Src: /src/hostap/src/ap/bss_load.c:58,1
    - Dst: get_bss_load_update_timeout
      Src: /src/hostap/src/ap/bss_load.c:60,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/bss_load.c:78,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - eloop_data
    - user_data
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 42
    functionDepth: 10
    functionLinenumber: 42
    functionLinenumberEnd: 80
    functionName: update_channel_utilization
    functionSourceFile: /src/hostap/src/ap/bss_load.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - get_bss_load_update_timeout
    - hostapd_drv_get_survey
    - ieee802_11_set_beacon_per_bss_only
    - eloop_register_timeout
    linkageType: ''
    returnType: void
    signature: void update_channel_utilization(void *eloop_data, void *user_data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_bss_load_update_timeout
      Src: /src/hostap/src/ap/bss_load.c:87,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/bss_load.c:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 93
    functionName: bss_load_update_init
    functionSourceFile: /src/hostap/src/ap/bss_load.c
    functionUses: 1
    functionsReached:
    - get_bss_load_update_timeout
    - eloop_register_timeout
    linkageType: ''
    returnType: int
    signature: int bss_load_update_init(struct hostapd_data *hapd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/bss_load.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: bss_load_update_deinit
    functionSourceFile: /src/hostap/src/ap/bss_load.c
    functionUses: 1
    functionsReached:
    - eloop_cancel_timeout
    linkageType: ''
    returnType: void
    signature: void bss_load_update_deinit(struct hostapd_data *hapd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: airtime_policy_new_sta
    functionSourceFile: /src/hostap/src/ap/airtime_policy.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int airtime_policy_new_sta(struct hostapd_data *hapd,\n\t\t\t\t\t
      struct sta_info *sta)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: airtime_policy_update_init
    functionSourceFile: /src/hostap/src/ap/airtime_policy.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int airtime_policy_update_init(struct hostapd_iface *iface)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: airtime_policy_update_deinit
    functionSourceFile: /src/hostap/src/ap/airtime_policy.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void airtime_policy_update_deinit(struct hostapd_iface *iface)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: radius_msg_new
      Src: /src/hostap/src/ap/accounting.c:46,1
    - Dst: radius_client_get_id
      Src: /src/hostap/src/ap/accounting.c:47,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/accounting.c:49,1
    - Dst: radius_msg_add_attr_int32
      Src: /src/hostap/src/ap/accounting.c:53,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/accounting.c:55,1
    - Dst: hostapd_config_get_radius_attr
      Src: /src/hostap/src/ap/accounting.c:60,1
    - Dst: radius_msg_add_attr_int32
      Src: /src/hostap/src/ap/accounting.c:63,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/accounting.c:67,1
    - Dst: ieee802_1x_get_identity
      Src: /src/hostap/src/ap/accounting.c:72,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/accounting.c:77,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/accounting.c:83,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/accounting.c:84,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/accounting.c:86,1
    - Dst: radius_msg_add_attr
      Src: /src/hostap/src/ap/accounting.c:89,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/accounting.c:91,1
    - Dst: add_common_radius_attr
      Src: /src/hostap/src/ap/accounting.c:96,1
    - Dst: add_sqlite_radius_attr
      Src: /src/hostap/src/ap/accounting.c:100,1
    - Dst: ieee802_1x_get_radius_class
      Src: /src/hostap/src/ap/accounting.c:105,1
    - Dst: radius_msg_add_attr
      Src: /src/hostap/src/ap/accounting.c:110,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/accounting.c:112,1
    - Dst: ieee802_1x_get_radius_cui
      Src: /src/hostap/src/ap/accounting.c:117,1
    - Dst: radius_msg_add_attr
      Src: /src/hostap/src/ap/accounting.c:119,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/accounting.c:121,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/accounting.c:121,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/accounting.c:122,1
    - Dst: radius_msg_add_attr
      Src: /src/hostap/src/ap/accounting.c:127,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/accounting.c:130,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/accounting.c:131,1
    - Dst: radius_msg_add_attr_int32
      Src: /src/hostap/src/ap/accounting.c:136,1
    - Dst: be_to_host32
      Src: /src/hostap/src/ap/accounting.c:138,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/accounting.c:139,1
    - Dst: os_get_time
      Src: /src/hostap/src/ap/accounting.c:145,1
    - Dst: radius_msg_add_attr_int32
      Src: /src/hostap/src/ap/accounting.c:147,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/accounting.c:149,1
    - Dst: radius_msg_add_attr_int32
      Src: /src/hostap/src/ap/accounting.c:157,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/accounting.c:158,1
    - Dst: radius_msg_free
      Src: /src/hostap/src/ap/accounting.c:165,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 83
    argCount: 3
    argNames:
    - hapd
    - sta
    - status_type
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 34
    functionDepth: 4
    functionLinenumber: 34
    functionLinenumberEnd: 167
    functionName: accounting_msg
    functionSourceFile: /src/hostap/src/ap/accounting.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - os_strlen
    - wpa_printf
    - radius_msg_new
    - ieee802_1x_get_identity
    - wpabuf_len
    - wpabuf_head
    - os_get_time
    - add_sqlite_radius_attr
    - hostapd_config_get_radius_attr
    - radius_msg_add_attr
    - ieee802_1x_get_radius_class
    - radius_client_get_id
    - be_to_host32
    - add_common_radius_attr
    - MAC2STR
    - radius_msg_add_attr_int32
    - ieee802_1x_get_radius_cui
    - radius_msg_free
    linkageType: ''
    returnType: struct radius_msg
    signature: "struct radius_msg * accounting_msg(struct hostapd_data *hapd,\n\t\t\t\t\t
      \ struct sta_info *sta,\n\t\t\t\t\t  int status_type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_drv_read_sta_data
      Src: /src/hostap/src/ap/accounting.c:174,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/accounting.c:188,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - hapd
    - sta
    - data
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - struct hostap_sta_driver_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 198
    functionName: accounting_sta_update_stats
    functionSourceFile: /src/hostap/src/ap/accounting.c
    functionUses: 0
    functionsReached:
    - hostapd_logger
    - hostapd_drv_read_sta_data
    linkageType: ''
    returnType: int
    signature: "int accounting_sta_update_stats(struct hostapd_data *hapd,\n\t\t\t\t
      \      struct sta_info *sta,\n\t\t\t\t       struct hostap_sta_driver_data *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: accounting_sta_interim
      Src: /src/hostap/src/ap/accounting.c:208,1
    - Dst: accounting_sta_update_stats
      Src: /src/hostap/src/ap/accounting.c:212,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/accounting.c:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 218
    functionName: accounting_interim_update
    functionSourceFile: /src/hostap/src/ap/accounting.c
    functionUses: 0
    functionsReached:
    - accounting_sta_update_stats
    - eloop_register_timeout
    - accounting_sta_interim
    linkageType: ''
    returnType: void
    signature: void accounting_interim_update(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/accounting.c:234,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/ap/accounting.c:239,1
    - Dst: hostapd_drv_sta_clear_stats
      Src: /src/hostap/src/ap/accounting.c:244,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/accounting.c:253,1
    - Dst: accounting_msg
      Src: /src/hostap/src/ap/accounting.c:256,1
    - Dst: radius_client_send
      Src: /src/hostap/src/ap/accounting.c:258,1
    - Dst: radius_msg_free
      Src: /src/hostap/src/ap/accounting.c:259,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 226
    functionDepth: 5
    functionLinenumber: 226
    functionLinenumberEnd: 262
    functionName: accounting_sta_start
    functionSourceFile: /src/hostap/src/ap/accounting.c
    functionUses: 2
    functionsReached:
    - os_get_reltime
    - radius_client_send
    - hostapd_logger
    - eloop_register_timeout
    - hostapd_drv_sta_clear_stats
    - radius_msg_free
    - accounting_msg
    linkageType: ''
    returnType: void
    signature: void accounting_sta_start(struct hostapd_data *hapd, struct sta_info
      *sta)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: accounting_msg
      Src: /src/hostap/src/ap/accounting.c:277,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/accounting.c:281,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/ap/accounting.c:285,1
    - Dst: os_reltime_sub
      Src: /src/hostap/src/ap/accounting.c:286,1
    - Dst: radius_msg_add_attr_int32
      Src: /src/hostap/src/ap/accounting.c:287,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/accounting.c:289,1
    - Dst: accounting_sta_update_stats
      Src: /src/hostap/src/ap/accounting.c:293,1
    - Dst: radius_msg_add_attr_int32
      Src: /src/hostap/src/ap/accounting.c:294,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/accounting.c:297,1
    - Dst: radius_msg_add_attr_int32
      Src: /src/hostap/src/ap/accounting.c:300,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/accounting.c:303,1
    - Dst: radius_msg_add_attr_int32
      Src: /src/hostap/src/ap/accounting.c:311,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/accounting.c:314,1
    - Dst: radius_msg_add_attr_int32
      Src: /src/hostap/src/ap/accounting.c:317,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/accounting.c:320,1
    - Dst: radius_msg_add_attr_int32
      Src: /src/hostap/src/ap/accounting.c:328,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/accounting.c:331,1
    - Dst: radius_msg_add_attr_int32
      Src: /src/hostap/src/ap/accounting.c:334,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/accounting.c:337,1
    - Dst: eloop_terminated
      Src: /src/hostap/src/ap/accounting.c:342,1
    - Dst: radius_msg_add_attr_int32
      Src: /src/hostap/src/ap/accounting.c:346,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/accounting.c:348,1
    - Dst: radius_client_send
      Src: /src/hostap/src/ap/accounting.c:352,1
    - Dst: radius_msg_free
      Src: /src/hostap/src/ap/accounting.c:359,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 67
    argCount: 3
    argNames:
    - hapd
    - sta
    - stop
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 265
    functionDepth: 5
    functionLinenumber: 265
    functionLinenumberEnd: 360
    functionName: accounting_sta_report
    functionSourceFile: /src/hostap/src/ap/accounting.c
    functionUses: 0
    functionsReached:
    - os_get_reltime
    - wpa_printf
    - radius_client_send
    - accounting_sta_update_stats
    - os_reltime_sub
    - radius_msg_add_attr_int32
    - eloop_terminated
    - radius_msg_free
    - accounting_msg
    linkageType: ''
    returnType: void
    signature: "void accounting_sta_report(struct hostapd_data *hapd,\n\t\t\t\t  struct
      sta_info *sta, int stop)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: accounting_sta_report
      Src: /src/hostap/src/ap/accounting.c:372,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 368
    functionDepth: 6
    functionLinenumber: 368
    functionLinenumberEnd: 373
    functionName: accounting_sta_interim
    functionSourceFile: /src/hostap/src/ap/accounting.c
    functionUses: 1
    functionsReached:
    - accounting_sta_report
    linkageType: ''
    returnType: void
    signature: "void accounting_sta_interim(struct hostapd_data *hapd,\n\t\t\t\t   struct
      sta_info *sta)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: accounting_sta_report
      Src: /src/hostap/src/ap/accounting.c:384,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/accounting.c:385,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/accounting.c:386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 381
    functionDepth: 6
    functionLinenumber: 381
    functionLinenumberEnd: 392
    functionName: accounting_sta_stop
    functionSourceFile: /src/hostap/src/ap/accounting.c
    functionUses: 6
    functionsReached:
    - eloop_cancel_timeout
    - accounting_sta_report
    - hostapd_logger
    linkageType: ''
    returnType: void
    signature: void accounting_sta_stop(struct hostapd_data *hapd, struct sta_info
      *sta)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: radius_gen_session_id
      Src: /src/hostap/src/ap/accounting.c:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 399
    functionName: accounting_sta_get_id
    functionSourceFile: /src/hostap/src/ap/accounting.c
    functionUses: 1
    functionsReached:
    - radius_gen_session_id
    linkageType: ''
    returnType: int
    signature: int accounting_sta_get_id(struct hostapd_data *hapd, struct sta_info
      *sta)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: radius_msg_get_hdr
      Src: /src/hostap/src/ap/accounting.c:416,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/accounting.c:417,1
    - Dst: radius_msg_verify
      Src: /src/hostap/src/ap/accounting.c:421,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/accounting.c:422,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - msg
    - req
    - shared_secret
    - shared_secret_len
    - data
    argTypes:
    - struct radius_msg*
    - struct radius_msg*
    - u8*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 427
    functionName: accounting_receive
    functionSourceFile: /src/hostap/src/ap/accounting.c
    functionUses: 0
    functionsReached:
    - radius_msg_verify
    - radius_msg_get_hdr
    - wpa_printf
    linkageType: ''
    returnType: RadiusRxResult
    signature: "RadiusRxResult accounting_receive(struct radius_msg *msg, struct radius_msg
      *req,\n\t\t   const u8 *shared_secret, size_t shared_secret_len,\n\t\t   void
      *data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: accounting_msg
      Src: /src/hostap/src/ap/accounting.c:439,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/accounting.c:448,1
    - Dst: radius_msg_add_attr
      Src: /src/hostap/src/ap/accounting.c:450,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/accounting.c:451,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/accounting.c:452,1
    - Dst: radius_client_send
      Src: /src/hostap/src/ap/accounting.c:455,1
    - Dst: radius_msg_free
      Src: /src/hostap/src/ap/accounting.c:456,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - hapd
    - 'on'
    argTypes:
    - struct hostapd_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 430
    functionDepth: 5
    functionLinenumber: 430
    functionLinenumberEnd: 457
    functionName: accounting_report_state
    functionSourceFile: /src/hostap/src/ap/accounting.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - radius_client_send
    - radius_msg_add_attr
    - os_snprintf
    - radius_msg_free
    - accounting_msg
    linkageType: ''
    returnType: void
    signature: void accounting_report_state(struct hostapd_data *hapd, int on)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/accounting.c:467,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/accounting.c:472,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/accounting.c:475,1
    - Dst: eloop_deplete_timeout
      Src: /src/hostap/src/ap/accounting.c:497,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/accounting.c:500,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/accounting.c:503,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/accounting.c:505,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/accounting.c:507,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/accounting.c:510,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/accounting.c:512,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - addr
    - ctx
    argTypes:
    - u8*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 460
    functionDepth: 2
    functionLinenumber: 460
    functionLinenumberEnd: 514
    functionName: accounting_interim_error_cb
    functionSourceFile: /src/hostap/src/ap/accounting.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    - eloop_deplete_timeout
    - ap_get_sta
    linkageType: ''
    returnType: void
    signature: void accounting_interim_error_cb(const u8 *addr, void *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: radius_gen_session_id
      Src: /src/hostap/src/ap/accounting.c:524,1
    - Dst: radius_client_register
      Src: /src/hostap/src/ap/accounting.c:528,1
    - Dst: radius_client_set_interim_error_cb
      Src: /src/hostap/src/ap/accounting.c:531,1
    - Dst: accounting_report_state
      Src: /src/hostap/src/ap/accounting.c:534,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 522
    functionDepth: 6
    functionLinenumber: 522
    functionLinenumberEnd: 537
    functionName: accounting_init
    functionSourceFile: /src/hostap/src/ap/accounting.c
    functionUses: 1
    functionsReached:
    - radius_gen_session_id
    - radius_client_set_interim_error_cb
    - radius_client_register
    - accounting_report_state
    linkageType: ''
    returnType: int
    signature: int accounting_init(struct hostapd_data *hapd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: accounting_report_state
      Src: /src/hostap/src/ap/accounting.c:546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 544
    functionDepth: 6
    functionLinenumber: 544
    functionLinenumberEnd: 547
    functionName: accounting_deinit
    functionSourceFile: /src/hostap/src/ap/accounting.c
    functionUses: 1
    functionsReached:
    - accounting_report_state
    linkageType: ''
    returnType: void
    signature: void accounting_deinit(struct hostapd_data *hapd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/nan_usd_ap.c:26,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/nan_usd_ap.c:28,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/nan_usd_ap.c:28,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/nan_usd_ap.c:28,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/nan_usd_ap.c:29,1
    - Dst: hostapd_drv_send_action_forced_addr3
      Src: /src/hostap/src/ap/nan_usd_ap.c:32,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/nan_usd_ap.c:34,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/nan_usd_ap.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - ctx
    - freq
    - wait_time
    - dst
    - src
    - bssid
    - buf
    argTypes:
    - void*
    - unsigned int
    - unsigned int
    - u8*
    - u8*
    - u8*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 19
    functionDepth: 3
    functionLinenumber: 19
    functionLinenumberEnd: 36
    functionName: hostapd_nan_de_tx
    functionSourceFile: /src/hostap/src/ap/nan_usd_ap.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_len
    - hostapd_drv_send_action_forced_addr3
    - wpabuf_head
    - MAC2STR
    linkageType: ''
    returnType: int
    signature: "int hostapd_nan_de_tx(void *ctx, unsigned int freq,\n\t\t\t     unsigned
      int wait_time,\n\t\t\t     const u8 *dst, const u8 *src, const u8 *bssid,\n\t\t\t
      \    const struct wpabuf *buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - freq
    - duration
    - forced_addr
    argTypes:
    - void*
    - unsigned int
    - unsigned int
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: hostapd_nan_de_listen
    functionSourceFile: /src/hostap/src/ap/nan_usd_ap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int hostapd_nan_de_listen(void *ctx, unsigned int freq,\n\t\t\t      unsigned
      int duration, const u8 *forced_addr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/nan_usd_ap.c:52,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/ap/nan_usd_ap.c:56,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/nan_usd_ap.c:58,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/nan_usd_ap.c:62,1
    - Dst: os_free
      Src: /src/hostap/src/ap/nan_usd_ap.c:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - res
    argTypes:
    - void*
    - struct nan_discovery_result*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 65
    functionName: hostapd_nan_de_discovery_result
    functionSourceFile: /src/hostap/src/ap/nan_usd_ap.c
    functionUses: 0
    functionsReached:
    - wpa_snprintf_hex
    - wpa_msg
    - MAC2STR
    - os_zalloc
    - os_free
    linkageType: ''
    returnType: void
    signature: void hostapd_nan_de_discovery_result(void *ctx, struct nan_discovery_result
      *res)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/nan_usd_ap.c:77,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/ap/nan_usd_ap.c:81,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/nan_usd_ap.c:82,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/nan_usd_ap.c:85,1
    - Dst: os_free
      Src: /src/hostap/src/ap/nan_usd_ap.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 7
    argNames:
    - ctx
    - publish_id
    - peer_addr
    - peer_subscribe_id
    - srv_proto_type
    - ssi
    - ssi_len
    argTypes:
    - void*
    - int
    - u8*
    - int
    - enum nan_service_protocol_type
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 88
    functionName: hostapd_nan_de_replied
    functionSourceFile: /src/hostap/src/ap/nan_usd_ap.c
    functionUses: 0
    functionsReached:
    - wpa_snprintf_hex
    - wpa_msg
    - MAC2STR
    - os_zalloc
    - os_free
    linkageType: ''
    returnType: void
    signature: "void hostapd_nan_de_replied(void *ctx, int publish_id, const u8 *peer_addr,\n\t\t
      \      int peer_subscribe_id,\n\t\t       enum nan_service_protocol_type srv_proto_type,\n\t\t
      \      const u8 *ssi, size_t ssi_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - reason
    argTypes:
    - enum nan_de_reason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 103
    functionName: nan_reason_txt
    functionSourceFile: /src/hostap/src/ap/nan_usd_ap.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * nan_reason_txt(enum nan_de_reason reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/nan_usd_ap.c:111,1
    - Dst: nan_reason_txt
      Src: /src/hostap/src/ap/nan_usd_ap.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - publish_id
    - reason
    argTypes:
    - void*
    - int
    - enum nan_de_reason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 114
    functionName: hostapd_nan_de_publish_terminated
    functionSourceFile: /src/hostap/src/ap/nan_usd_ap.c
    functionUses: 0
    functionsReached:
    - nan_reason_txt
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: "void hostapd_nan_de_publish_terminated(void *ctx, int publish_id,\n\t\t\t\t\t
      \     enum nan_de_reason reason)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/nan_usd_ap.c:122,1
    - Dst: nan_reason_txt
      Src: /src/hostap/src/ap/nan_usd_ap.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - subscribe_id
    - reason
    argTypes:
    - void*
    - int
    - enum nan_de_reason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 125
    functionName: hostapd_nan_de_subscribe_terminated
    functionSourceFile: /src/hostap/src/ap/nan_usd_ap.c
    functionUses: 0
    functionsReached:
    - nan_reason_txt
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: "void hostapd_nan_de_subscribe_terminated(void *ctx, int subscribe_id,\n\t\t\t\t\t\tenum
      nan_de_reason reason)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/nan_usd_ap.c:136,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/ap/nan_usd_ap.c:140,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/nan_usd_ap.c:141,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/nan_usd_ap.c:143,1
    - Dst: os_free
      Src: /src/hostap/src/ap/nan_usd_ap.c:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 8
    argNames:
    - ctx
    - id
    - peer_instance_id
    - ssi
    - ssi_len
    - peer_addr
    - buf
    - len
    argTypes:
    - void*
    - int
    - int
    - u8*
    - size_t
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 145
    functionName: hostapd_nan_de_receive
    functionSourceFile: /src/hostap/src/ap/nan_usd_ap.c
    functionUses: 0
    functionsReached:
    - wpa_snprintf_hex
    - wpa_msg
    - MAC2STR
    - os_zalloc
    - os_free
    linkageType: ''
    returnType: void
    signature: "void hostapd_nan_de_receive(void *ctx, int id, int peer_instance_id,\n\t\t\t\t
      \  const u8 *ssi, size_t ssi_len,\n\t\t\t\t   const u8 *peer_addr,\n\t\t\t\t
      \  const u8 *buf, size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/ap/nan_usd_ap.c:156,1
    - Dst: nan_de_init
      Src: /src/hostap/src/ap/nan_usd_ap.c:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 173
    functionName: hostapd_nan_usd_init
    functionSourceFile: /src/hostap/src/ap/nan_usd_ap.c
    functionUses: 1
    functionsReached:
    - nan_de_init
    - os_memset
    linkageType: ''
    returnType: int
    signature: int hostapd_nan_usd_init(struct hostapd_data *hapd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nan_de_deinit
      Src: /src/hostap/src/ap/nan_usd_ap.c:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 183
    functionName: hostapd_nan_usd_deinit
    functionSourceFile: /src/hostap/src/ap/nan_usd_ap.c
    functionUses: 1
    functionsReached:
    - nan_de_deinit
    linkageType: ''
    returnType: void
    signature: void hostapd_nan_usd_deinit(struct hostapd_data *hapd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nan_de_rx_sdf
      Src: /src/hostap/src/ap/nan_usd_ap.c:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - hapd
    - src
    - a3
    - freq
    - buf
    - len
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8*
    - unsigned int
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 193
    functionName: hostapd_nan_usd_rx_sdf
    functionSourceFile: /src/hostap/src/ap/nan_usd_ap.c
    functionUses: 2
    functionsReached:
    - nan_de_rx_sdf
    linkageType: ''
    returnType: void
    signature: "void hostapd_nan_usd_rx_sdf(struct hostapd_data *hapd, const u8 *src,\n\t\t\t
      \   const u8 *a3, unsigned int freq,\n\t\t\t    const u8 *buf, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nan_de_flush
      Src: /src/hostap/src/ap/nan_usd_ap.c:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 201
    functionName: hostapd_nan_usd_flush
    functionSourceFile: /src/hostap/src/ap/nan_usd_ap.c
    functionUses: 0
    functionsReached:
    - nan_de_flush
    linkageType: ''
    returnType: void
    signature: void hostapd_nan_usd_flush(struct hostapd_data *hapd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nan_de_publish
      Src: /src/hostap/src/ap/nan_usd_ap.c:215,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/nan_usd_ap.c:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - hapd
    - service_name
    - srv_proto_type
    - ssi
    - params
    - p2p
    argTypes:
    - struct hostapd_data*
    - char*
    - enum nan_service_protocol_type
    - struct wpabuf*
    - struct nan_publish_params*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 219
    functionName: hostapd_nan_usd_publish
    functionSourceFile: /src/hostap/src/ap/nan_usd_ap.c
    functionUses: 1
    functionsReached:
    - nan_de_publish
    - wpabuf_free
    linkageType: ''
    returnType: int
    signature: "int hostapd_nan_usd_publish(struct hostapd_data *hapd, const char
      *service_name,\n\t\t\t    enum nan_service_protocol_type srv_proto_type,\n\t\t\t
      \   const struct wpabuf *ssi,\n\t\t\t    struct nan_publish_params *params,
      bool p2p)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nan_de_cancel_publish
      Src: /src/hostap/src/ap/nan_usd_ap.c:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - hapd
    - publish_id
    argTypes:
    - struct hostapd_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 227
    functionName: hostapd_nan_usd_cancel_publish
    functionSourceFile: /src/hostap/src/ap/nan_usd_ap.c
    functionUses: 1
    functionsReached:
    - nan_de_cancel_publish
    linkageType: ''
    returnType: void
    signature: void hostapd_nan_usd_cancel_publish(struct hostapd_data *hapd, int
      publish_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nan_de_update_publish
      Src: /src/hostap/src/ap/nan_usd_ap.c:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - hapd
    - publish_id
    - ssi
    argTypes:
    - struct hostapd_data*
    - int
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 239
    functionName: hostapd_nan_usd_update_publish
    functionSourceFile: /src/hostap/src/ap/nan_usd_ap.c
    functionUses: 1
    functionsReached:
    - nan_de_update_publish
    linkageType: ''
    returnType: int
    signature: "int hostapd_nan_usd_update_publish(struct hostapd_data *hapd, int
      publish_id,\n\t\t\t\t   const struct wpabuf *ssi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nan_de_subscribe
      Src: /src/hostap/src/ap/nan_usd_ap.c:254,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/nan_usd_ap.c:257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - hapd
    - service_name
    - srv_proto_type
    - ssi
    - params
    - p2p
    argTypes:
    - struct hostapd_data*
    - char*
    - enum nan_service_protocol_type
    - struct wpabuf*
    - struct nan_subscribe_params*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 259
    functionName: hostapd_nan_usd_subscribe
    functionSourceFile: /src/hostap/src/ap/nan_usd_ap.c
    functionUses: 1
    functionsReached:
    - nan_de_subscribe
    - wpabuf_free
    linkageType: ''
    returnType: int
    signature: "int hostapd_nan_usd_subscribe(struct hostapd_data *hapd,\n\t\t\t      const
      char *service_name,\n\t\t\t      enum nan_service_protocol_type srv_proto_type,\n\t\t\t
      \     const struct wpabuf *ssi,\n\t\t\t      struct nan_subscribe_params *params,
      bool p2p)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nan_de_cancel_subscribe
      Src: /src/hostap/src/ap/nan_usd_ap.c:267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - hapd
    - subscribe_id
    argTypes:
    - struct hostapd_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 268
    functionName: hostapd_nan_usd_cancel_subscribe
    functionSourceFile: /src/hostap/src/ap/nan_usd_ap.c
    functionUses: 1
    functionsReached:
    - nan_de_cancel_subscribe
    linkageType: ''
    returnType: void
    signature: "void hostapd_nan_usd_cancel_subscribe(struct hostapd_data *hapd,\n\t\t\t\t
      \     int subscribe_id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nan_de_transmit
      Src: /src/hostap/src/ap/nan_usd_ap.c:279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - hapd
    - handle
    - ssi
    - elems
    - peer_addr
    - req_instance_id
    argTypes:
    - struct hostapd_data*
    - int
    - struct wpabuf*
    - struct wpabuf*
    - u8*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 281
    functionName: hostapd_nan_usd_transmit
    functionSourceFile: /src/hostap/src/ap/nan_usd_ap.c
    functionUses: 1
    functionsReached:
    - nan_de_transmit
    linkageType: ''
    returnType: int
    signature: "int hostapd_nan_usd_transmit(struct hostapd_data *hapd, int handle,\n\t\t\t
      \    const struct wpabuf *ssi,\n\t\t\t     const struct wpabuf *elems,\n\t\t\t
      \    const u8 *peer_addr,\n\t\t\t     u8 req_instance_id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dpp_add_qr_code
      Src: /src/hostap/src/ap/dpp_hostapd.c:61,1
    - Dst: dpp_notify_new_qr_code
      Src: /src/hostap/src/ap/dpp_hostapd.c:66,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:67,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dpp_hostapd.c:69,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/dpp_hostapd.c:71,1
    - Dst: hostapd_drv_send_action
      Src: /src/hostap/src/ap/dpp_hostapd.c:73,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/dpp_hostapd.c:75,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/dpp_hostapd.c:76,1
    - Dst: dpp_controller_new_qr_code
      Src: /src/hostap/src/ap/dpp_hostapd.c:80,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - hapd
    - cmd
    argTypes:
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 56
    functionDepth: 3
    functionLinenumber: 56
    functionLinenumberEnd: 84
    functionName: hostapd_dpp_qr_code
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 0
    functionsReached:
    - dpp_add_qr_code
    - dpp_notify_new_qr_code
    - wpa_printf
    - hostapd_drv_send_action
    - wpa_msg
    - wpabuf_len
    - wpabuf_head
    - MAC2STR
    - dpp_controller_new_qr_code
    linkageType: ''
    returnType: int
    signature: int hostapd_dpp_qr_code(struct hostapd_data *hapd, const char *cmd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dpp_add_nfc_uri
      Src: /src/hostap/src/ap/dpp_hostapd.c:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - hapd
    - cmd
    argTypes:
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 102
    functionName: hostapd_dpp_nfc_uri
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 0
    functionsReached:
    - dpp_add_nfc_uri
    linkageType: ''
    returnType: int
    signature: int hostapd_dpp_nfc_uri(struct hostapd_data *hapd, const char *cmd)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_strstr
      Src: /src/hostap/src/ap/dpp_hostapd.c:110,1
    - Dst: dpp_bootstrap_get_id
      Src: /src/hostap/src/ap/dpp_hostapd.c:114,1
    - Dst: atoi
      Src: /src/hostap/src/ap/dpp_hostapd.c:114,1
    - Dst: os_strstr
      Src: /src/hostap/src/ap/dpp_hostapd.c:118,1
    - Dst: dpp_add_nfc_uri
      Src: /src/hostap/src/ap/dpp_hostapd.c:122,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:124,1
    - Dst: dpp_nfc_update_bi
      Src: /src/hostap/src/ap/dpp_hostapd.c:129,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - hapd
    - cmd
    argTypes:
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 133
    functionName: hostapd_dpp_nfc_handover_req
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dpp_add_nfc_uri
    - os_strstr
    - dpp_nfc_update_bi
    - atoi
    - dpp_bootstrap_get_id
    linkageType: ''
    returnType: int
    signature: int hostapd_dpp_nfc_handover_req(struct hostapd_data *hapd, const char
      *cmd)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_strstr
      Src: /src/hostap/src/ap/dpp_hostapd.c:141,1
    - Dst: dpp_bootstrap_get_id
      Src: /src/hostap/src/ap/dpp_hostapd.c:145,1
    - Dst: atoi
      Src: /src/hostap/src/ap/dpp_hostapd.c:145,1
    - Dst: os_strstr
      Src: /src/hostap/src/ap/dpp_hostapd.c:149,1
    - Dst: dpp_add_nfc_uri
      Src: /src/hostap/src/ap/dpp_hostapd.c:153,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:155,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:161,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - hapd
    - cmd
    argTypes:
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 167
    functionName: hostapd_dpp_nfc_handover_sel
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dpp_add_nfc_uri
    - os_strstr
    - atoi
    - dpp_bootstrap_get_id
    linkageType: ''
    returnType: int
    signature: int hostapd_dpp_nfc_handover_sel(struct hostapd_data *hapd, const char
      *cmd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:179,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dpp_hostapd.c:181,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/dpp_hostapd.c:183,1
    - Dst: hostapd_drv_send_action
      Src: /src/hostap/src/ap/dpp_hostapd.c:185,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/dpp_hostapd.c:186,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/dpp_hostapd.c:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 170
    functionDepth: 3
    functionLinenumber: 170
    functionLinenumberEnd: 188
    functionName: hostapd_dpp_auth_resp_retry_timeout
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 0
    functionsReached:
    - hostapd_drv_send_action
    - wpa_printf
    - wpa_msg
    - wpabuf_len
    - wpabuf_head
    - MAC2STR
    linkageType: ''
    returnType: void
    signature: "void hostapd_dpp_auth_resp_retry_timeout(void *eloop_ctx,\n\t\t\t\t\t\tvoid
      *timeout_ctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:205,1
    - Dst: hostapd_drv_send_action_cancel_wait
      Src: /src/hostap/src/ap/dpp_hostapd.c:207,1
    - Dst: dpp_auth_deinit
      Src: /src/hostap/src/ap/dpp_hostapd.c:208,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:217,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/dpp_hostapd.c:220,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/dpp_hostapd.c:221,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 224
    functionName: hostapd_dpp_auth_resp_retry
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dpp_auth_deinit
    - eloop_cancel_timeout
    - eloop_register_timeout
    - hostapd_drv_send_action_cancel_wait
    linkageType: ''
    returnType: void
    signature: void hostapd_dpp_auth_resp_retry(struct hostapd_data *hapd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:252,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - hapd
    - freq
    argTypes:
    - struct hostapd_data*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 257
    functionName: hostapd_dpp_allow_ir
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int hostapd_dpp_allow_ir(struct hostapd_data *hapd, unsigned int freq)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_dpp_allow_ir
      Src: /src/hostap/src/ap/dpp_hostapd.c:272,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:273,1
    - Dst: hostapd_dpp_pkex_next_channel
      Src: /src/hostap/src/ap/dpp_hostapd.c:279,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - hapd
    - pkex
    argTypes:
    - struct hostapd_data*
    - struct dpp_pkex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 280
    functionName: hostapd_dpp_pkex_next_channel
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 1
    functionsReached:
    - hostapd_dpp_pkex_next_channel
    - hostapd_dpp_allow_ir
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int hostapd_dpp_pkex_next_channel(struct hostapd_data *hapd,\n\t\t\t\t\t
      struct dpp_pkex *pkex)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:291,1
    - Dst: os_free
      Src: /src/hostap/src/ap/dpp_hostapd.c:292,1
    - Dst: os_free
      Src: /src/hostap/src/ap/dpp_hostapd.c:294,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 296
    functionName: hostapd_dpp_pkex_clear_code
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void hostapd_dpp_pkex_clear_code(struct hostapd_data *hapd)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_dpp_pkex_clear_code
      Src: /src/hostap/src/ap/dpp_hostapd.c:310,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/dpp_hostapd.c:312,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:314,1
    - Dst: os_strstr
      Src: /src/hostap/src/ap/dpp_hostapd.c:317,1
    - Dst: dpp_bootstrap_get_id
      Src: /src/hostap/src/ap/dpp_hostapd.c:320,1
    - Dst: atoi
      Src: /src/hostap/src/ap/dpp_hostapd.c:321,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:323,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:329,1
    - Dst: os_strstr
      Src: /src/hostap/src/ap/dpp_hostapd.c:336,1
    - Dst: os_strncmp
      Src: /src/hostap/src/ap/dpp_hostapd.c:339,1
    - Dst: os_strncmp
      Src: /src/hostap/src/ap/dpp_hostapd.c:341,1
    - Dst: os_strncmp
      Src: /src/hostap/src/ap/dpp_hostapd.c:343,1
    - Dst: dpp_auth_init
      Src: /src/hostap/src/ap/dpp_hostapd.c:350,1
    - Dst: hostapd_dpp_set_testing_options
      Src: /src/hostap/src/ap/dpp_hostapd.c:357,1
    - Dst: dpp_set_configurator
      Src: /src/hostap/src/ap/dpp_hostapd.c:358,1
    - Dst: dpp_auth_deinit
      Src: /src/hostap/src/ap/dpp_hostapd.c:359,1
    - Dst: dpp_tcp_auth
      Src: /src/hostap/src/ap/dpp_hostapd.c:363,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 3
    argNames:
    - ctx
    - conn
    - peer_bi
    argTypes:
    - void*
    - void*
    - struct dpp_bootstrap_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 369
    functionName: hostapd_dpp_pkex_done
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 0
    functionsReached:
    - dpp_tcp_auth
    - wpa_printf
    - dpp_auth_deinit
    - hostapd_dpp_set_testing_options
    - hostapd_dpp_pkex_clear_code
    - os_strncmp
    - os_snprintf
    - os_strstr
    - dpp_auth_init
    - dpp_set_configurator
    - atoi
    - dpp_bootstrap_get_id
    linkageType: ''
    returnType: int
    signature: "int hostapd_dpp_pkex_done(void *ctx, void *conn,\n\t\t\t\t struct
      dpp_bootstrap_info *peer_bi)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:383,1
    - Dst: dpp_pkex_free
      Src: /src/hostap/src/ap/dpp_hostapd.c:384,1
    - Dst: dpp_pkex_init
      Src: /src/hostap/src/ap/dpp_hostapd.c:386,1
    - Dst: dpp_tcp_pkex_init
      Src: /src/hostap/src/ap/dpp_hostapd.c:395,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dpp_hostapd.c:408,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/dpp_hostapd.c:409,1
    - Dst: hostapd_drv_send_action
      Src: /src/hostap/src/ap/dpp_hostapd.c:412,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/dpp_hostapd.c:413,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/dpp_hostapd.c:413,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 4
    argNames:
    - hapd
    - ver
    - ipaddr
    - tcp_port
    argTypes:
    - struct hostapd_data*
    - enum dpp_pkex_ver
    - struct hostapd_ip_addr*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 373
    functionDepth: 3
    functionLinenumber: 373
    functionLinenumberEnd: 418
    functionName: hostapd_dpp_pkex_init
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hostapd_drv_send_action
    - wpa_msg
    - wpabuf_len
    - dpp_tcp_pkex_init
    - wpabuf_head
    - MAC2STR
    - dpp_pkex_free
    - dpp_pkex_init
    linkageType: ''
    returnType: int
    signature: "int hostapd_dpp_pkex_init(struct hostapd_data *hapd,\n\t\t\t\t enum
      dpp_pkex_ver ver,\n\t\t\t\t const struct hostapd_ip_addr *ipaddr,\n\t\t\t\t
      int tcp_port)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_dpp_pkex_next_channel
      Src: /src/hostap/src/ap/dpp_hostapd.c:429,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:432,1
    - Dst: hostapd_dpp_pkex_init
      Src: /src/hostap/src/ap/dpp_hostapd.c:434,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dpp_hostapd.c:439,1
    - Dst: dpp_pkex_free
      Src: /src/hostap/src/ap/dpp_hostapd.c:441,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:449,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dpp_hostapd.c:451,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/dpp_hostapd.c:453,1
    - Dst: hostapd_drv_send_action
      Src: /src/hostap/src/ap/dpp_hostapd.c:456,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/dpp_hostapd.c:458,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/dpp_hostapd.c:459,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 421
    functionDepth: 4
    functionLinenumber: 421
    functionLinenumberEnd: 460
    functionName: hostapd_dpp_pkex_retry_timeout
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hostapd_drv_send_action
    - wpa_msg
    - wpabuf_len
    - wpabuf_head
    - hostapd_dpp_pkex_init
    - MAC2STR
    - dpp_pkex_free
    - hostapd_dpp_pkex_next_channel
    linkageType: ''
    returnType: void
    signature: void hostapd_dpp_pkex_retry_timeout(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:469,1
    - Dst: dpp_pkex_free
      Src: /src/hostap/src/ap/dpp_hostapd.c:473,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/dpp_hostapd.c:481,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/dpp_hostapd.c:483,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 5
    argNames:
    - hapd
    - dst
    - data
    - data_len
    - ok
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 463
    functionDepth: 1
    functionLinenumber: 463
    functionLinenumberEnd: 488
    functionName: hostapd_dpp_pkex_tx_status
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 0
    functionsReached:
    - eloop_cancel_timeout
    - wpa_printf
    - dpp_pkex_free
    - eloop_register_timeout
    linkageType: ''
    returnType: void
    signature: "void hostapd_dpp_pkex_tx_status(struct hostapd_data *hapd, const u8
      *dst,\n\t\t\t\t       const u8 *data, size_t data_len, int ok)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:496,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/dpp_hostapd.c:497,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dpp_hostapd.c:498,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/dpp_hostapd.c:499,1
    - Dst: hostapd_dpp_pkex_tx_status
      Src: /src/hostap/src/ap/dpp_hostapd.c:503,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:507,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:514,1
    - Dst: dpp_auth_deinit
      Src: /src/hostap/src/ap/dpp_hostapd.c:516,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:523,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/dpp_hostapd.c:525,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/dpp_hostapd.c:526,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/dpp_hostapd.c:528,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/dpp_hostapd.c:530,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/dpp_hostapd.c:533,1
    - Dst: hostapd_drv_send_action_cancel_wait
      Src: /src/hostap/src/ap/dpp_hostapd.c:536,1
    - Dst: dpp_auth_deinit
      Src: /src/hostap/src/ap/dpp_hostapd.c:537,1
    - Dst: hostapd_dpp_auth_success
      Src: /src/hostap/src/ap/dpp_hostapd.c:543,1
    - Dst: is_broadcast_ether_addr
      Src: /src/hostap/src/ap/dpp_hostapd.c:552,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:553,1
    - Dst: hostapd_drv_send_action_cancel_wait
      Src: /src/hostap/src/ap/dpp_hostapd.c:558,1
    - Dst: hostapd_dpp_auth_init_next
      Src: /src/hostap/src/ap/dpp_hostapd.c:559,1
    - Dst: hostapd_dpp_auth_resp_retry
      Src: /src/hostap/src/ap/dpp_hostapd.c:563,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/dpp_hostapd.c:573,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/dpp_hostapd.c:575,1
    - Dst: is_broadcast_ether_addr
      Src: /src/hostap/src/ap/dpp_hostapd.c:579,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:587,1
    - Dst: hostapd_drv_send_action_cancel_wait
      Src: /src/hostap/src/ap/dpp_hostapd.c:591,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:596,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 63
    argCount: 5
    argNames:
    - hapd
    - dst
    - data
    - data_len
    - ok
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 491
    functionDepth: 2
    functionLinenumber: 491
    functionLinenumberEnd: 604
    functionName: hostapd_dpp_tx_status
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - dpp_auth_deinit
    - wpa_msg
    - eloop_cancel_timeout
    - hostapd_dpp_pkex_tx_status
    - is_broadcast_ether_addr
    - hostapd_dpp_auth_success
    - hostapd_dpp_auth_resp_retry
    - MAC2STR
    - eloop_register_timeout
    - hostapd_drv_send_action_cancel_wait
    - hostapd_dpp_auth_init_next
    linkageType: ''
    returnType: void
    signature: "void hostapd_dpp_tx_status(struct hostapd_data *hapd, const u8 *dst,\n\t\t\t
      \  const u8 *data, size_t data_len, int ok)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_get_reltime
      Src: /src/hostap/src/ap/dpp_hostapd.c:620,1
    - Dst: os_reltime_sub
      Src: /src/hostap/src/ap/dpp_hostapd.c:621,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:623,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:630,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dpp_hostapd.c:632,1
    - Dst: hostapd_drv_send_action_cancel_wait
      Src: /src/hostap/src/ap/dpp_hostapd.c:633,1
    - Dst: hostapd_dpp_listen_stop
      Src: /src/hostap/src/ap/dpp_hostapd.c:634,1
    - Dst: dpp_auth_deinit
      Src: /src/hostap/src/ap/dpp_hostapd.c:635,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:643,1
    - Dst: hostapd_drv_send_action_cancel_wait
      Src: /src/hostap/src/ap/dpp_hostapd.c:645,1
    - Dst: hostapd_dpp_listen_stop
      Src: /src/hostap/src/ap/dpp_hostapd.c:646,1
    - Dst: hostapd_dpp_auth_init_next
      Src: /src/hostap/src/ap/dpp_hostapd.c:647,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:662,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:669,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/dpp_hostapd.c:674,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 607
    functionDepth: 1
    functionLinenumber: 607
    functionLinenumberEnd: 676
    functionName: hostapd_dpp_reply_wait_timeout
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 0
    functionsReached:
    - os_get_reltime
    - wpa_printf
    - dpp_auth_deinit
    - wpa_msg
    - os_reltime_sub
    - eloop_register_timeout
    - hostapd_dpp_listen_stop
    - hostapd_drv_send_action_cancel_wait
    - hostapd_dpp_auth_init_next
    linkageType: ''
    returnType: void
    signature: void hostapd_dpp_reply_wait_timeout(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:688,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dpp_hostapd.c:690,1
    - Dst: hostapd_drv_send_action_cancel_wait
      Src: /src/hostap/src/ap/dpp_hostapd.c:692,1
    - Dst: dpp_auth_deinit
      Src: /src/hostap/src/ap/dpp_hostapd.c:693,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 679
    functionDepth: 1
    functionLinenumber: 679
    functionLinenumberEnd: 695
    functionName: hostapd_dpp_auth_conf_wait_timeout
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dpp_auth_deinit
    - hostapd_drv_send_action_cancel_wait
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: "void hostapd_dpp_auth_conf_wait_timeout(void *eloop_ctx,\n\t\t\t\t\t
      \      void *timeout_ctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_strdup
      Src: /src/hostap/src/ap/dpp_hostapd.c:704,1
    - Dst: os_strdup
      Src: /src/hostap/src/ap/dpp_hostapd.c:707,1
    - Dst: os_strdup
      Src: /src/hostap/src/ap/dpp_hostapd.c:709,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - hapd
    - auth
    argTypes:
    - struct hostapd_data*
    - struct dpp_authentication*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 713
    functionName: hostapd_dpp_set_testing_options
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 1
    functionsReached:
    - os_strdup
    linkageType: ''
    returnType: void
    signature: "void hostapd_dpp_set_testing_options(struct hostapd_data *hapd,\n\t\t\t\t\t
      \   struct dpp_authentication *auth)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:722,1
    - Dst: hostapd_dpp_auth_init_next
      Src: /src/hostap/src/ap/dpp_hostapd.c:723,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 716
    functionDepth: 1
    functionLinenumber: 716
    functionLinenumberEnd: 724
    functionName: hostapd_dpp_init_timeout
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hostapd_dpp_auth_init_next
    linkageType: ''
    returnType: void
    signature: void hostapd_dpp_init_timeout(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: os_get_reltime
      Src: /src/hostap/src/ap/dpp_hostapd.c:738,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:747,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dpp_hostapd.c:749,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/dpp_hostapd.c:751,1
    - Dst: hostapd_drv_send_action_cancel_wait
      Src: /src/hostap/src/ap/dpp_hostapd.c:753,1
    - Dst: dpp_auth_deinit
      Src: /src/hostap/src/ap/dpp_hostapd.c:754,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/dpp_hostapd.c:759,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/ap/dpp_hostapd.c:764,1
    - Dst: os_reltime_sub
      Src: /src/hostap/src/ap/dpp_hostapd.c:765,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:771,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/dpp_hostapd.c:773,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/ap/dpp_hostapd.c:782,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/ap/dpp_hostapd.c:784,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/dpp_hostapd.c:789,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/dpp_hostapd.c:796,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:800,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dpp_hostapd.c:804,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/dpp_hostapd.c:806,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/ap/dpp_hostapd.c:808,1
    - Dst: hostapd_drv_send_action
      Src: /src/hostap/src/ap/dpp_hostapd.c:809,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/dpp_hostapd.c:811,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/dpp_hostapd.c:812,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 57
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 727
    functionDepth: 3
    functionLinenumber: 727
    functionLinenumberEnd: 813
    functionName: hostapd_dpp_auth_init_next
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 3
    functionsReached:
    - os_get_reltime
    - wpa_printf
    - dpp_auth_deinit
    - hostapd_drv_send_action
    - wpa_msg
    - eloop_cancel_timeout
    - wpabuf_len
    - is_zero_ether_addr
    - wpabuf_head
    - MAC2STR
    - os_reltime_sub
    - eloop_register_timeout
    - hostapd_drv_send_action_cancel_wait
    linkageType: ''
    returnType: int
    signature: int hostapd_dpp_auth_init_next(struct hostapd_data *hapd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_dpp_handle_config_obj
      Src: /src/hostap/src/ap/dpp_hostapd.c:824,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - auth
    argTypes:
    - void*
    - struct dpp_authentication*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 817
    functionDepth: 1
    functionLinenumber: 817
    functionLinenumberEnd: 828
    functionName: hostapd_dpp_process_conf_obj
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 0
    functionsReached:
    - hostapd_dpp_handle_config_obj
    linkageType: ''
    returnType: int
    signature: "int hostapd_dpp_process_conf_obj(void *ctx,\n\t\t\t\t     struct dpp_authentication
      *auth)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: os_strstr
      Src: /src/hostap/src/ap/dpp_hostapd.c:846,1
    - Dst: dpp_bootstrap_get_id
      Src: /src/hostap/src/ap/dpp_hostapd.c:850,1
    - Dst: atoi
      Src: /src/hostap/src/ap/dpp_hostapd.c:850,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:852,1
    - Dst: os_strstr
      Src: /src/hostap/src/ap/dpp_hostapd.c:858,1
    - Dst: atoi
      Src: /src/hostap/src/ap/dpp_hostapd.c:861,1
    - Dst: get_param
      Src: /src/hostap/src/ap/dpp_hostapd.c:864,1
    - Dst: os_strcmp
      Src: /src/hostap/src/ap/dpp_hostapd.c:865,1
    - Dst: os_free
      Src: /src/hostap/src/ap/dpp_hostapd.c:866,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:868,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/dpp_hostapd.c:873,1
    - Dst: hostapd_parse_ip_addr
      Src: /src/hostap/src/ap/dpp_hostapd.c:878,1
    - Dst: os_free
      Src: /src/hostap/src/ap/dpp_hostapd.c:879,1
    - Dst: os_strstr
      Src: /src/hostap/src/ap/dpp_hostapd.c:886,1
    - Dst: dpp_bootstrap_get_id
      Src: /src/hostap/src/ap/dpp_hostapd.c:889,1
    - Dst: atoi
      Src: /src/hostap/src/ap/dpp_hostapd.c:890,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:892,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:898,1
    - Dst: os_strstr
      Src: /src/hostap/src/ap/dpp_hostapd.c:905,1
    - Dst: os_strncmp
      Src: /src/hostap/src/ap/dpp_hostapd.c:908,1
    - Dst: os_strncmp
      Src: /src/hostap/src/ap/dpp_hostapd.c:910,1
    - Dst: os_strncmp
      Src: /src/hostap/src/ap/dpp_hostapd.c:912,1
    - Dst: os_strstr
      Src: /src/hostap/src/ap/dpp_hostapd.c:919,1
    - Dst: atoi
      Src: /src/hostap/src/ap/dpp_hostapd.c:921,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/dpp_hostapd.c:924,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/dpp_hostapd.c:925,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/dpp_hostapd.c:927,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/dpp_hostapd.c:929,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/dpp_hostapd.c:932,1
    - Dst: hostapd_drv_send_action_cancel_wait
      Src: /src/hostap/src/ap/dpp_hostapd.c:935,1
    - Dst: dpp_auth_deinit
      Src: /src/hostap/src/ap/dpp_hostapd.c:936,1
    - Dst: dpp_auth_init
      Src: /src/hostap/src/ap/dpp_hostapd.c:940,1
    - Dst: hostapd_dpp_set_testing_options
      Src: /src/hostap/src/ap/dpp_hostapd.c:946,1
    - Dst: dpp_set_configurator
      Src: /src/hostap/src/ap/dpp_hostapd.c:947,1
    - Dst: dpp_auth_deinit
      Src: /src/hostap/src/ap/dpp_hostapd.c:948,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/ap/dpp_hostapd.c:954,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/dpp_hostapd.c:955,1
    - Dst: dpp_tcp_init
      Src: /src/hostap/src/ap/dpp_hostapd.c:959,1
    - Dst: hostapd_dpp_auth_init_next
      Src: /src/hostap/src/ap/dpp_hostapd.c:969,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 91
    argCount: 2
    argNames:
    - hapd
    - cmd
    argTypes:
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 832
    functionDepth: 4
    functionLinenumber: 832
    functionLinenumberEnd: 972
    functionName: hostapd_dpp_auth_init
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 0
    functionsReached:
    - dpp_auth_deinit
    - atoi
    - hostapd_parse_ip_addr
    - wpa_printf
    - os_strstr
    - dpp_auth_init
    - dpp_set_configurator
    - os_free
    - dpp_bootstrap_get_id
    - hostapd_drv_send_action_cancel_wait
    - os_strcmp
    - dpp_tcp_init
    - is_zero_ether_addr
    - get_param
    - os_memcpy
    - eloop_cancel_timeout
    - hostapd_dpp_set_testing_options
    - os_strncmp
    - hostapd_dpp_auth_init_next
    linkageType: ''
    returnType: int
    signature: int hostapd_dpp_auth_init(struct hostapd_data *hapd, const char *cmd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/hostap/src/ap/dpp_hostapd.c:979,1
    - Dst: os_strstr
      Src: /src/hostap/src/ap/dpp_hostapd.c:983,1
    - Dst: os_strstr
      Src: /src/hostap/src/ap/dpp_hostapd.c:985,1
    - Dst: os_strstr
      Src: /src/hostap/src/ap/dpp_hostapd.c:990,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:994,1
    - Dst: hostapd_drv_dpp_listen
      Src: /src/hostap/src/ap/dpp_hostapd.c:1000,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - hapd
    - cmd
    argTypes:
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1002
      start: 975
    functionDepth: 1
    functionLinenumber: 975
    functionLinenumberEnd: 1002
    functionName: hostapd_dpp_listen
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 0
    functionsReached:
    - atoi
    - hostapd_drv_dpp_listen
    - wpa_printf
    - os_strstr
    linkageType: ''
    returnType: int
    signature: int hostapd_dpp_listen(struct hostapd_data *hapd, const char *cmd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_drv_dpp_listen
      Src: /src/hostap/src/ap/dpp_hostapd.c:1007,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 1005
    functionDepth: 1
    functionLinenumber: 1005
    functionLinenumberEnd: 1009
    functionName: hostapd_dpp_listen_stop
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 1
    functionsReached:
    - hostapd_drv_dpp_listen
    linkageType: ''
    returnType: void
    signature: void hostapd_dpp_listen_stop(struct hostapd_data *hapd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_get_reltime
      Src: /src/hostap/src/ap/dpp_hostapd.c:1022,1
    - Dst: os_reltime_expired
      Src: /src/hostap/src/ap/dpp_hostapd.c:1024,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dpp_hostapd.c:1027,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/dpp_hostapd.c:1028,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - hapd
    - src
    - type
    argTypes:
    - struct hostapd_data*
    - u8*
    - enum dpp_public_action_frame_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1029
      start: 1013
    functionDepth: 1
    functionLinenumber: 1013
    functionLinenumberEnd: 1029
    functionName: hostapd_dpp_relay_needs_controller
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 0
    functionsReached:
    - os_reltime_expired
    - MAC2STR
    - os_get_reltime
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: "void hostapd_dpp_relay_needs_controller(struct hostapd_data *hapd,
      const u8 *src,\n\t\t\t\t   enum dpp_public_action_frame_type type)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:1044,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/dpp_hostapd.c:1045,1
    - Dst: hostapd_dpp_chirp_stop
      Src: /src/hostap/src/ap/dpp_hostapd.c:1048,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/ap/dpp_hostapd.c:1051,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dpp_hostapd.c:1054,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/dpp_hostapd.c:1058,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/ap/dpp_hostapd.c:1061,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dpp_hostapd.c:1064,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/dpp_hostapd.c:1068,1
    - Dst: dpp_bootstrap_find_pair
      Src: /src/hostap/src/ap/dpp_hostapd.c:1073,1
    - Dst: dpp_relay_rx_action
      Src: /src/hostap/src/ap/dpp_hostapd.c:1077,1
    - Dst: hostapd_dpp_relay_needs_controller
      Src: /src/hostap/src/ap/dpp_hostapd.c:1081,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dpp_hostapd.c:1086,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dpp_hostapd.c:1093,1
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/dpp_hostapd.c:1098,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dpp_hostapd.c:1100,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dpp_hostapd.c:1107,1
    - Dst: dpp_auth_req_rx
      Src: /src/hostap/src/ap/dpp_hostapd.c:1113,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:1118,1
    - Dst: hostapd_dpp_set_testing_options
      Src: /src/hostap/src/ap/dpp_hostapd.c:1121,1
    - Dst: dpp_set_configurator
      Src: /src/hostap/src/ap/dpp_hostapd.c:1122,1
    - Dst: dpp_auth_deinit
      Src: /src/hostap/src/ap/dpp_hostapd.c:1124,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/dpp_hostapd.c:1128,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dpp_hostapd.c:1130,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/dpp_hostapd.c:1132,1
    - Dst: hostapd_drv_send_action
      Src: /src/hostap/src/ap/dpp_hostapd.c:1134,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/dpp_hostapd.c:1135,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/dpp_hostapd.c:1136,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 56
    argCount: 6
    argNames:
    - hapd
    - src
    - hdr
    - buf
    - len
    - freq
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8*
    - u8*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1033
    functionDepth: 3
    functionLinenumber: 1033
    functionLinenumberEnd: 1137
    functionName: hostapd_dpp_rx_auth_req
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dpp_auth_deinit
    - os_memcpy
    - hostapd_drv_send_action
    - wpa_hexdump
    - wpa_msg
    - dpp_bootstrap_find_pair
    - wpabuf_len
    - hostapd_dpp_set_testing_options
    - wpabuf_head
    - MAC2STR
    - dpp_relay_rx_action
    - dpp_set_configurator
    - dpp_get_attr
    - os_memcmp
    - dpp_auth_req_rx
    - hostapd_dpp_relay_needs_controller
    - hostapd_dpp_chirp_stop
    linkageType: ''
    returnType: void
    signature: "void hostapd_dpp_rx_auth_req(struct hostapd_data *hapd, const u8 *src,\n\t\t\t\t
      \   const u8 *hdr, const u8 *buf, size_t len,\n\t\t\t\t    unsigned int freq)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dpp_hostapd.c:1144,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dpp_hostapd.c:1145,1
    - Dst: dpp_akm_str
      Src: /src/hostap/src/ap/dpp_hostapd.c:1146,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dpp_hostapd.c:1148,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/src/ap/dpp_hostapd.c:1149,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dpp_hostapd.c:1156,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/ap/dpp_hostapd.c:1162,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/dpp_hostapd.c:1164,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dpp_hostapd.c:1165,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/ap/dpp_hostapd.c:1170,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dpp_hostapd.c:1171,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/dpp_hostapd.c:1178,1
    - Dst: os_malloc
      Src: /src/hostap/src/ap/dpp_hostapd.c:1179,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/ap/dpp_hostapd.c:1181,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/dpp_hostapd.c:1182,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/dpp_hostapd.c:1183,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dpp_hostapd.c:1184,1
    - Dst: os_free
      Src: /src/hostap/src/ap/dpp_hostapd.c:1186,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/dpp_hostapd.c:1193,1
    - Dst: os_malloc
      Src: /src/hostap/src/ap/dpp_hostapd.c:1194,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/ap/dpp_hostapd.c:1196,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/dpp_hostapd.c:1197,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/dpp_hostapd.c:1198,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dpp_hostapd.c:1200,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dpp_hostapd.c:1205,1
    - Dst: os_free
      Src: /src/hostap/src/ap/dpp_hostapd.c:1207,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 3
    argNames:
    - hapd
    - auth
    - conf
    argTypes:
    - struct hostapd_data*
    - struct dpp_authentication*
    - struct dpp_config_obj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1210
      start: 1140
    functionDepth: 1
    functionLinenumber: 1140
    functionLinenumberEnd: 1210
    functionName: hostapd_dpp_handle_config_obj
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 1
    functionsReached:
    - os_strlen
    - wpa_snprintf_hex
    - wpa_msg
    - dpp_akm_str
    - wpabuf_len
    - wpa_ssid_txt
    - os_malloc
    - wpabuf_head
    - os_free
    linkageType: ''
    returnType: void
    signature: "void hostapd_dpp_handle_config_obj(struct hostapd_data *hapd,\n\t\t\t\t\t
      \ struct dpp_authentication *auth,\n\t\t\t\t\t  struct dpp_config_obj *conf)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:1222,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dpp_hostapd.c:1223,1
    - Dst: dpp_configurator_from_backup
      Src: /src/hostap/src/ap/dpp_hostapd.c:1226,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dpp_hostapd.c:1230,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - hapd
    - key
    argTypes:
    - struct hostapd_data*
    - struct dpp_asymmetric_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1237
      start: 1213
    functionDepth: 1
    functionLinenumber: 1213
    functionLinenumberEnd: 1237
    functionName: hostapd_dpp_handle_key_pkg
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dpp_configurator_from_backup
    - wpa_msg
    linkageType: ''
    returnType: int
    signature: "int hostapd_dpp_handle_key_pkg(struct hostapd_data *hapd,\n\t\t\t\t
      \     struct dpp_asymmetric_key *key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:1249,1
    - Dst: hostapd_dpp_start_gas_client
      Src: /src/hostap/src/ap/dpp_hostapd.c:1250,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1251
      start: 1241
    functionDepth: 1
    functionLinenumber: 1241
    functionLinenumberEnd: 1251
    functionName: hostapd_dpp_build_new_key
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hostapd_dpp_start_gas_client
    linkageType: ''
    returnType: void
    signature: void hostapd_dpp_build_new_key(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:1267,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:1272,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/ap/dpp_hostapd.c:1276,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/ap/dpp_hostapd.c:1278,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/dpp_hostapd.c:1281,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/dpp_hostapd.c:1282,1
    - Dst: WPA_GET_BE24
      Src: /src/hostap/src/ap/dpp_hostapd.c:1287,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:1290,1
    - Dst: dpp_conf_resp_rx
      Src: /src/hostap/src/ap/dpp_hostapd.c:1295,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:1298,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/dpp_hostapd.c:1299,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:1305,1
    - Dst: hostapd_dpp_handle_config_obj
      Src: /src/hostap/src/ap/dpp_hostapd.c:1309,1
    - Dst: hostapd_dpp_handle_key_pkg
      Src: /src/hostap/src/ap/dpp_hostapd.c:1310,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:1316,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dpp_hostapd.c:1322,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:1328,1
    - Dst: dpp_build_conf_result
      Src: /src/hostap/src/ap/dpp_hostapd.c:1329,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dpp_hostapd.c:1333,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/dpp_hostapd.c:1335,1
    - Dst: hostapd_drv_send_action
      Src: /src/hostap/src/ap/dpp_hostapd.c:1337,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/dpp_hostapd.c:1338,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/dpp_hostapd.c:1339,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/dpp_hostapd.c:1340,1
    - Dst: dpp_auth_deinit
      Src: /src/hostap/src/ap/dpp_hostapd.c:1348,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 58
    argCount: 7
    argNames:
    - ctx
    - addr
    - dialog_token
    - result
    - adv_proto
    - resp
    - status_code
    argTypes:
    - void*
    - u8*
    - u8
    - enum gas_query_ap_result
    - struct wpabuf*
    - struct wpabuf*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1350
      start: 1255
    functionDepth: 3
    functionLinenumber: 1255
    functionLinenumberEnd: 1350
    functionName: hostapd_dpp_gas_resp_cb
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hostapd_drv_send_action
    - dpp_auth_deinit
    - wpa_msg
    - wpabuf_len
    - wpabuf_free
    - dpp_build_conf_result
    - wpabuf_head
    - WPA_GET_BE24
    - dpp_conf_resp_rx
    - MAC2STR
    - eloop_register_timeout
    - hostapd_dpp_handle_key_pkg
    - hostapd_dpp_handle_config_obj
    - wpa_hexdump_buf
    linkageType: ''
    returnType: void
    signature: "void hostapd_dpp_gas_resp_cb(void *ctx, const u8 *addr, u8 dialog_token,\n\t\t\t\t
      \   enum gas_query_ap_result result,\n\t\t\t\t    const struct wpabuf *adv_proto,\n\t\t\t\t
      \   const struct wpabuf *resp, u16 status_code)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dpp_build_conf_req_helper
      Src: /src/hostap/src/ap/dpp_hostapd.c:1359,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:1365,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:1370,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/dpp_hostapd.c:1371,1
    - Dst: gas_query_ap_req
      Src: /src/hostap/src/ap/dpp_hostapd.c:1373,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dpp_hostapd.c:1376,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/dpp_hostapd.c:1378,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:1380,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1383
      start: 1353
    functionDepth: 2
    functionLinenumber: 1353
    functionLinenumberEnd: 1383
    functionName: hostapd_dpp_start_gas_client
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpa_msg
    - dpp_build_conf_req_helper
    - wpabuf_free
    - gas_query_ap_req
    - MAC2STR
    linkageType: ''
    returnType: void
    signature: void hostapd_dpp_start_gas_client(struct hostapd_data *hapd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:1394,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dpp_hostapd.c:1395,1
    - Dst: dpp_auth_deinit
      Src: /src/hostap/src/ap/dpp_hostapd.c:1396,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1398
      start: 1386
    functionDepth: 1
    functionLinenumber: 1386
    functionLinenumberEnd: 1398
    functionName: hostapd_gas_req_wait
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dpp_auth_deinit
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: void hostapd_gas_req_wait(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:1403,1
    - Dst: dpp_notify_auth_success
      Src: /src/hostap/src/ap/dpp_hostapd.c:1404,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:1407,1
    - Dst: hostapd_dpp_start_gas_client
      Src: /src/hostap/src/ap/dpp_hostapd.c:1418,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/dpp_hostapd.c:1420,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - hapd
    - initiator
    argTypes:
    - struct hostapd_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1422
      start: 1401
    functionDepth: 3
    functionLinenumber: 1401
    functionLinenumberEnd: 1422
    functionName: hostapd_dpp_auth_success
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 1
    functionsReached:
    - eloop_register_timeout
    - wpa_printf
    - dpp_notify_auth_success
    - hostapd_dpp_start_gas_client
    linkageType: ''
    returnType: void
    signature: void hostapd_dpp_auth_success(struct hostapd_data *hapd, int initiator)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:1432,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/dpp_hostapd.c:1433,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:1436,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/ap/dpp_hostapd.c:1441,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/dpp_hostapd.c:1442,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:1443,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/dpp_hostapd.c:1444,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/dpp_hostapd.c:1448,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:1451,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/dpp_hostapd.c:1456,1
    - Dst: dpp_auth_resp_rx
      Src: /src/hostap/src/ap/dpp_hostapd.c:1457,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:1460,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:1463,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/dpp_hostapd.c:1466,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dpp_hostapd.c:1468,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/dpp_hostapd.c:1469,1
    - Dst: hostapd_drv_send_action
      Src: /src/hostap/src/ap/dpp_hostapd.c:1471,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/dpp_hostapd.c:1472,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/dpp_hostapd.c:1472,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/dpp_hostapd.c:1473,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 6
    argNames:
    - hapd
    - src
    - hdr
    - buf
    - len
    - freq
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8*
    - u8*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1475
      start: 1425
    functionDepth: 3
    functionLinenumber: 1425
    functionLinenumberEnd: 1475
    functionName: hostapd_dpp_rx_auth_resp
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - hostapd_drv_send_action
    - wpa_msg
    - eloop_cancel_timeout
    - wpabuf_len
    - is_zero_ether_addr
    - ether_addr_equal
    - wpabuf_free
    - dpp_auth_resp_rx
    - wpabuf_head
    - MAC2STR
    linkageType: ''
    returnType: void
    signature: "void hostapd_dpp_rx_auth_resp(struct hostapd_data *hapd, const u8
      *src,\n\t\t\t\t     const u8 *hdr, const u8 *buf, size_t len,\n\t\t\t\t     unsigned
      int freq)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:1483,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/dpp_hostapd.c:1484,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:1487,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/dpp_hostapd.c:1492,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:1493,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/dpp_hostapd.c:1494,1
    - Dst: dpp_auth_conf_rx
      Src: /src/hostap/src/ap/dpp_hostapd.c:1498,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:1499,1
    - Dst: hostapd_dpp_auth_success
      Src: /src/hostap/src/ap/dpp_hostapd.c:1503,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - hapd
    - src
    - hdr
    - buf
    - len
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1504
      start: 1478
    functionDepth: 4
    functionLinenumber: 1478
    functionLinenumberEnd: 1504
    functionName: hostapd_dpp_rx_auth_conf
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - ether_addr_equal
    - hostapd_dpp_auth_success
    - MAC2STR
    - dpp_auth_conf_rx
    linkageType: ''
    returnType: void
    signature: "void hostapd_dpp_rx_auth_conf(struct hostapd_data *hapd, const u8
      *src,\n\t\t\t\t     const u8 *hdr, const u8 *buf, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:1518,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dpp_hostapd.c:1520,1
    - Dst: dpp_auth_deinit
      Src: /src/hostap/src/ap/dpp_hostapd.c:1521,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1523
      start: 1509
    functionDepth: 1
    functionLinenumber: 1509
    functionLinenumberEnd: 1523
    functionName: hostapd_dpp_config_result_wait_timeout
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dpp_auth_deinit
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: "void hostapd_dpp_config_result_wait_timeout(void *eloop_ctx,\n\t\t\t\t\t\t
      \  void *timeout_ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:1535,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dpp_hostapd.c:1537,1
    - Dst: dpp_auth_deinit
      Src: /src/hostap/src/ap/dpp_hostapd.c:1539,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1541
      start: 1526
    functionDepth: 1
    functionLinenumber: 1526
    functionLinenumberEnd: 1541
    functionName: hostapd_dpp_conn_status_result_wait_timeout
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dpp_auth_deinit
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: "void hostapd_dpp_conn_status_result_wait_timeout(void *eloop_ctx,\n\t\t\t\t\t\t\tvoid
      *timeout_ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1552
      start: 1546
    functionDepth: 0
    functionLinenumber: 1546
    functionLinenumberEnd: 1552
    functionName: hostapd_dpp_pb_active
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hostapd_dpp_pb_active(struct hostapd_data *hapd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/dpp_hostapd.c:1567,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:1574,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1578
      start: 1555
    functionDepth: 0
    functionLinenumber: 1555
    functionLinenumberEnd: 1578
    functionName: hostapd_dpp_remove_pb_hash
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcmp
    linkageType: ''
    returnType: void
    signature: void hostapd_dpp_remove_pb_hash(struct hostapd_data *hapd)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:1592,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/dpp_hostapd.c:1593,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:1596,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/dpp_hostapd.c:1601,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:1602,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/dpp_hostapd.c:1603,1
    - Dst: dpp_conf_result_rx
      Src: /src/hostap/src/ap/dpp_hostapd.c:1607,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dpp_hostapd.c:1610,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:1613,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/dpp_hostapd.c:1614,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/dpp_hostapd.c:1617,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/dpp_hostapd.c:1620,1
    - Dst: hostapd_drv_send_action_cancel_wait
      Src: /src/hostap/src/ap/dpp_hostapd.c:1625,1
    - Dst: hostapd_dpp_listen_stop
      Src: /src/hostap/src/ap/dpp_hostapd.c:1626,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dpp_hostapd.c:1628,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dpp_hostapd.c:1631,1
    - Dst: dpp_auth_deinit
      Src: /src/hostap/src/ap/dpp_hostapd.c:1632,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/dpp_hostapd.c:1634,1
    - Dst: hostapd_dpp_pb_active
      Src: /src/hostap/src/ap/dpp_hostapd.c:1637,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dpp_hostapd.c:1639,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dpp_hostapd.c:1642,1
    - Dst: hostapd_dpp_remove_pb_hash
      Src: /src/hostap/src/ap/dpp_hostapd.c:1646,1
    - Dst: hostapd_dpp_push_button_stop
      Src: /src/hostap/src/ap/dpp_hostapd.c:1647,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 5
    argNames:
    - hapd
    - src
    - hdr
    - buf
    - len
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1650
      start: 1583
    functionDepth: 2
    functionLinenumber: 1583
    functionLinenumberEnd: 1650
    functionName: hostapd_dpp_rx_conf_result
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 0
    functionsReached:
    - hostapd_dpp_remove_pb_hash
    - wpa_printf
    - dpp_auth_deinit
    - hostapd_dpp_push_button_stop
    - wpa_msg
    - eloop_cancel_timeout
    - ether_addr_equal
    - MAC2STR
    - eloop_register_timeout
    - hostapd_dpp_listen_stop
    - dpp_conf_result_rx
    - hostapd_drv_send_action_cancel_wait
    - hostapd_dpp_pb_active
    linkageType: ''
    returnType: void
    signature: "void hostapd_dpp_rx_conf_result(struct hostapd_data *hapd, const u8
      *src,\n\t\t\t\t       const u8 *hdr, const u8 *buf, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:1663,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:1666,1
    - Dst: dpp_conn_status_result_rx
      Src: /src/hostap/src/ap/dpp_hostapd.c:1671,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dpp_hostapd.c:1673,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/src/ap/dpp_hostapd.c:1675,1
    - Dst: os_free
      Src: /src/hostap/src/ap/dpp_hostapd.c:1677,1
    - Dst: hostapd_drv_send_action_cancel_wait
      Src: /src/hostap/src/ap/dpp_hostapd.c:1678,1
    - Dst: hostapd_dpp_listen_stop
      Src: /src/hostap/src/ap/dpp_hostapd.c:1679,1
    - Dst: dpp_auth_deinit
      Src: /src/hostap/src/ap/dpp_hostapd.c:1680,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/dpp_hostapd.c:1682,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - hapd
    - src
    - hdr
    - buf
    - len
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1684
      start: 1653
    functionDepth: 2
    functionLinenumber: 1653
    functionLinenumberEnd: 1684
    functionName: hostapd_dpp_rx_conn_status_result
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dpp_auth_deinit
    - hostapd_dpp_listen_stop
    - dpp_conn_status_result_rx
    - wpa_msg
    - eloop_cancel_timeout
    - wpa_ssid_txt
    - os_free
    - hostapd_drv_send_action_cancel_wait
    linkageType: ''
    returnType: void
    signature: "void hostapd_dpp_rx_conn_status_result(struct hostapd_data *hapd,\n\t\t\t\t\t
      \     const u8 *src, const u8 *hdr,\n\t\t\t\t\t      const u8 *buf, size_t len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:1697,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/dpp_hostapd.c:1698,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/ap/dpp_hostapd.c:1700,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dpp_hostapd.c:1703,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/dpp_hostapd.c:1707,1
    - Dst: dpp_bootstrap_find_chirp
      Src: /src/hostap/src/ap/dpp_hostapd.c:1709,1
    - Dst: dpp_notify_chirp_received
      Src: /src/hostap/src/ap/dpp_hostapd.c:1711,1
    - Dst: dpp_relay_rx_action
      Src: /src/hostap/src/ap/dpp_hostapd.c:1715,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:1719,1
    - Dst: hostapd_dpp_relay_needs_controller
      Src: /src/hostap/src/ap/dpp_hostapd.c:1721,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:1727,1
    - Dst: dpp_auth_init
      Src: /src/hostap/src/ap/dpp_hostapd.c:1732,1
    - Dst: hostapd_dpp_set_testing_options
      Src: /src/hostap/src/ap/dpp_hostapd.c:1737,1
    - Dst: dpp_set_configurator
      Src: /src/hostap/src/ap/dpp_hostapd.c:1738,1
    - Dst: dpp_auth_deinit
      Src: /src/hostap/src/ap/dpp_hostapd.c:1740,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/dpp_hostapd.c:1748,1
    - Dst: hostapd_dpp_auth_init_next
      Src: /src/hostap/src/ap/dpp_hostapd.c:1751,1
    - Dst: dpp_auth_deinit
      Src: /src/hostap/src/ap/dpp_hostapd.c:1752,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 6
    argNames:
    - hapd
    - src
    - hdr
    - buf
    - len
    - freq
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8*
    - u8*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1755
      start: 1687
    functionDepth: 4
    functionLinenumber: 1687
    functionLinenumberEnd: 1755
    functionName: hostapd_dpp_rx_presence_announcement
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dpp_auth_deinit
    - os_memcpy
    - wpa_hexdump
    - wpa_msg
    - dpp_bootstrap_find_chirp
    - hostapd_dpp_set_testing_options
    - MAC2STR
    - dpp_relay_rx_action
    - dpp_auth_init
    - dpp_set_configurator
    - dpp_get_attr
    - dpp_notify_chirp_received
    - hostapd_dpp_relay_needs_controller
    - hostapd_dpp_auth_init_next
    linkageType: ''
    returnType: void
    signature: "void hostapd_dpp_rx_presence_announcement(struct hostapd_data *hapd,
      const u8 *src,\n\t\t\t\t     const u8 *hdr, const u8 *buf, size_t len,\n\t\t\t\t
      \    unsigned int freq)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:1767,1
    - Dst: hostapd_dpp_listen_stop
      Src: /src/hostap/src/ap/dpp_hostapd.c:1768,1
    - Dst: dpp_auth_deinit
      Src: /src/hostap/src/ap/dpp_hostapd.c:1769,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1771
      start: 1758
    functionDepth: 2
    functionLinenumber: 1758
    functionLinenumberEnd: 1771
    functionName: hostapd_dpp_reconfig_reply_wait_timeout
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 0
    functionsReached:
    - hostapd_dpp_listen_stop
    - wpa_printf
    - dpp_auth_deinit
    linkageType: ''
    returnType: void
    signature: "void hostapd_dpp_reconfig_reply_wait_timeout(void *eloop_ctx,\n\t\t\t\t\t\t
      \   void *timeout_ctx)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:1787,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:1792,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/dpp_hostapd.c:1793,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/ap/dpp_hostapd.c:1795,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dpp_hostapd.c:1798,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/dpp_hostapd.c:1802,1
    - Dst: dpp_configurator_find_kid
      Src: /src/hostap/src/ap/dpp_hostapd.c:1804,1
    - Dst: dpp_relay_rx_action
      Src: /src/hostap/src/ap/dpp_hostapd.c:1807,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:1811,1
    - Dst: hostapd_dpp_relay_needs_controller
      Src: /src/hostap/src/ap/dpp_hostapd.c:1813,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/ap/dpp_hostapd.c:1818,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dpp_hostapd.c:1821,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/ap/dpp_hostapd.c:1825,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:1826,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/ap/dpp_hostapd.c:1828,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/ap/dpp_hostapd.c:1829,1
    - Dst: dpp_reconfig_init
      Src: /src/hostap/src/ap/dpp_hostapd.c:1831,1
    - Dst: hostapd_dpp_set_testing_options
      Src: /src/hostap/src/ap/dpp_hostapd.c:1836,1
    - Dst: dpp_set_configurator
      Src: /src/hostap/src/ap/dpp_hostapd.c:1837,1
    - Dst: dpp_auth_deinit
      Src: /src/hostap/src/ap/dpp_hostapd.c:1838,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/dpp_hostapd.c:1842,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/dpp_hostapd.c:1853,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dpp_hostapd.c:1858,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/dpp_hostapd.c:1860,1
    - Dst: hostapd_drv_send_action
      Src: /src/hostap/src/ap/dpp_hostapd.c:1861,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/dpp_hostapd.c:1862,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/dpp_hostapd.c:1863,1
    - Dst: dpp_auth_deinit
      Src: /src/hostap/src/ap/dpp_hostapd.c:1864,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 53
    argCount: 6
    argNames:
    - hapd
    - src
    - hdr
    - buf
    - len
    - freq
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8*
    - u8*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1867
      start: 1774
    functionDepth: 3
    functionLinenumber: 1774
    functionLinenumberEnd: 1867
    functionName: hostapd_dpp_rx_reconfig_announcement
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dpp_reconfig_init
    - dpp_auth_deinit
    - os_memcpy
    - wpa_hexdump
    - wpa_msg
    - hostapd_drv_send_action
    - wpabuf_len
    - hostapd_dpp_set_testing_options
    - hostapd_dpp_relay_needs_controller
    - WPA_GET_LE16
    - wpabuf_head
    - MAC2STR
    - dpp_relay_rx_action
    - dpp_set_configurator
    - dpp_get_attr
    - eloop_register_timeout
    - dpp_configurator_find_kid
    linkageType: ''
    returnType: void
    signature: "void hostapd_dpp_rx_reconfig_announcement(struct hostapd_data *hapd,
      const u8 *src,\n\t\t\t\t     const u8 *hdr, const u8 *buf, size_t len,\n\t\t\t\t
      \    unsigned int freq)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:1878,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/dpp_hostapd.c:1879,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:1882,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/dpp_hostapd.c:1887,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:1888,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/dpp_hostapd.c:1889,1
    - Dst: dpp_reconfig_auth_resp_rx
      Src: /src/hostap/src/ap/dpp_hostapd.c:1893,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/dpp_hostapd.c:1897,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dpp_hostapd.c:1900,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/dpp_hostapd.c:1902,1
    - Dst: hostapd_drv_send_action
      Src: /src/hostap/src/ap/dpp_hostapd.c:1903,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/dpp_hostapd.c:1904,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/dpp_hostapd.c:1904,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/dpp_hostapd.c:1905,1
    - Dst: dpp_auth_deinit
      Src: /src/hostap/src/ap/dpp_hostapd.c:1906,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/dpp_hostapd.c:1910,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 6
    argNames:
    - hapd
    - src
    - hdr
    - buf
    - len
    - freq
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8*
    - u8*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1911
      start: 1870
    functionDepth: 3
    functionLinenumber: 1870
    functionLinenumberEnd: 1911
    functionName: hostapd_dpp_rx_reconfig_auth_resp
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hostapd_drv_send_action
    - dpp_auth_deinit
    - dpp_reconfig_auth_resp_rx
    - wpa_msg
    - eloop_cancel_timeout
    - wpabuf_len
    - ether_addr_equal
    - wpabuf_free
    - wpabuf_head
    - MAC2STR
    linkageType: ''
    returnType: void
    signature: "void hostapd_dpp_rx_reconfig_auth_resp(struct hostapd_data *hapd,
      const u8 *src,\n\t\t\t\t  const u8 *hdr, const u8 *buf, size_t len,\n\t\t\t\t
      \ unsigned int freq)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2054,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2060,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2065
      start: 2049
    functionDepth: 0
    functionLinenumber: 2049
    functionLinenumberEnd: 2065
    functionName: hapd_dpp_connector_available
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: bool
    signature: bool hapd_dpp_connector_available(struct hostapd_data *hapd)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/ap/dpp_hostapd.c:2082,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2084,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/dpp_hostapd.c:2085,1
    - Dst: hapd_dpp_connector_available
      Src: /src/hostap/src/ap/dpp_hostapd.c:2086,1
    - Dst: os_get_time
      Src: /src/hostap/src/ap/dpp_hostapd.c:2089,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2093,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/ap/dpp_hostapd.c:2097,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2100,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/ap/dpp_hostapd.c:2105,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2107,1
    - Dst: dpp_peer_intro
      Src: /src/hostap/src/ap/dpp_hostapd.c:2112,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/dpp_hostapd.c:2113,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/dpp_hostapd.c:2114,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/dpp_hostapd.c:2115,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/dpp_hostapd.c:2116,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2119,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/dpp_hostapd.c:2121,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2125,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/dpp_hostapd.c:2127,1
    - Dst: hostapd_dpp_send_peer_disc_resp
      Src: /src/hostap/src/ap/dpp_hostapd.c:2128,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/ap/dpp_hostapd.c:2139,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2144,1
    - Dst: hostapd_dpp_send_peer_disc_resp
      Src: /src/hostap/src/ap/dpp_hostapd.c:2147,1
    - Dst: wpa_auth_pmksa_add2
      Src: /src/hostap/src/ap/dpp_hostapd.c:2162,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2165,1
    - Dst: wpa_auth_pmksa_add2
      Src: /src/hostap/src/ap/dpp_hostapd.c:2171,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2174,1
    - Dst: hostapd_dpp_send_peer_disc_resp
      Src: /src/hostap/src/ap/dpp_hostapd.c:2180,1
    - Dst: dpp_peer_intro_deinit
      Src: /src/hostap/src/ap/dpp_hostapd.c:2183,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 62
    argCount: 5
    argNames:
    - hapd
    - src
    - buf
    - len
    - freq
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2184
      start: 2068
    functionDepth: 1
    functionLinenumber: 2068
    functionLinenumberEnd: 2184
    functionName: hostapd_dpp_rx_peer_disc_req
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_auth_pmksa_add2
    - wpabuf_len
    - dpp_peer_intro_deinit
    - wpabuf_head
    - MAC2STR
    - hapd_dpp_connector_available
    - os_get_time
    - dpp_get_attr
    - dpp_peer_intro
    - hostapd_dpp_send_peer_disc_resp
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void hostapd_dpp_rx_peer_disc_req(struct hostapd_data *hapd,\n\t\t\t\t\t
      const u8 *src,\n\t\t\t\t\t const u8 *buf, size_t len,\n\t\t\t\t\t unsigned int
      freq)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2194,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/dpp_hostapd.c:2195,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2198,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2203,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2212,1
    - Dst: dpp_controller_is_own_pkex_req
      Src: /src/hostap/src/ap/dpp_hostapd.c:2218,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2220,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2228,1
    - Dst: dpp_pkex_rx_exchange_req
      Src: /src/hostap/src/ap/dpp_hostapd.c:2233,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2241,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dpp_hostapd.c:2247,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/dpp_hostapd.c:2248,1
    - Dst: hostapd_drv_send_action
      Src: /src/hostap/src/ap/dpp_hostapd.c:2250,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/dpp_hostapd.c:2251,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/dpp_hostapd.c:2251,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2253,1
    - Dst: dpp_pkex_free
      Src: /src/hostap/src/ap/dpp_hostapd.c:2257,1
    - Dst: dpp_relay_rx_action
      Src: /src/hostap/src/ap/dpp_hostapd.c:2265,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2268,1
    - Dst: hostapd_dpp_relay_needs_controller
      Src: /src/hostap/src/ap/dpp_hostapd.c:2270,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2274,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 49
    argCount: 7
    argNames:
    - hapd
    - src
    - hdr
    - buf
    - len
    - freq
    - v2
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8*
    - u8*
    - size_t
    - unsigned int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2276
      start: 2187
    functionDepth: 3
    functionLinenumber: 2187
    functionLinenumberEnd: 2276
    functionName: hostapd_dpp_rx_pkex_exchange_req
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hostapd_drv_send_action
    - wpa_msg
    - wpabuf_len
    - dpp_controller_is_own_pkex_req
    - wpabuf_head
    - MAC2STR
    - dpp_relay_rx_action
    - dpp_pkex_free
    - hostapd_dpp_relay_needs_controller
    - dpp_pkex_rx_exchange_req
    linkageType: ''
    returnType: void
    signature: "void hostapd_dpp_rx_pkex_exchange_req(struct hostapd_data *hapd, const
      u8 *src,\n\t\t\t\t const u8 *hdr, const u8 *buf, size_t len,\n\t\t\t\t unsigned
      int freq, bool v2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2285,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/dpp_hostapd.c:2286,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2293,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/dpp_hostapd.c:2297,1
    - Dst: dpp_pkex_rx_exchange_resp
      Src: /src/hostap/src/ap/dpp_hostapd.c:2300,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2302,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2306,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/dpp_hostapd.c:2307,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dpp_hostapd.c:2309,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/dpp_hostapd.c:2310,1
    - Dst: hostapd_drv_send_action
      Src: /src/hostap/src/ap/dpp_hostapd.c:2312,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/dpp_hostapd.c:2313,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/dpp_hostapd.c:2313,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/dpp_hostapd.c:2314,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 5
    argNames:
    - hapd
    - src
    - buf
    - len
    - freq
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2315
      start: 2279
    functionDepth: 3
    functionLinenumber: 2279
    functionLinenumberEnd: 2315
    functionName: hostapd_dpp_rx_pkex_exchange_resp
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hostapd_drv_send_action
    - wpa_msg
    - eloop_cancel_timeout
    - wpabuf_len
    - wpabuf_free
    - wpabuf_head
    - MAC2STR
    - dpp_pkex_rx_exchange_resp
    linkageType: ''
    returnType: void
    signature: "void hostapd_dpp_rx_pkex_exchange_resp(struct hostapd_data *hapd,
      const u8 *src,\n\t\t\t\t  const u8 *buf, size_t len, unsigned int freq)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2327,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/dpp_hostapd.c:2328,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2331,1
    - Dst: dpp_pkex_rx_commit_reveal_req
      Src: /src/hostap/src/ap/dpp_hostapd.c:2335,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2337,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2339,1
    - Dst: dpp_pkex_free
      Src: /src/hostap/src/ap/dpp_hostapd.c:2343,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2349,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/dpp_hostapd.c:2350,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dpp_hostapd.c:2352,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/dpp_hostapd.c:2353,1
    - Dst: hostapd_drv_send_action
      Src: /src/hostap/src/ap/dpp_hostapd.c:2355,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/dpp_hostapd.c:2356,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/dpp_hostapd.c:2356,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/dpp_hostapd.c:2357,1
    - Dst: hostapd_dpp_pkex_clear_code
      Src: /src/hostap/src/ap/dpp_hostapd.c:2359,1
    - Dst: dpp_pkex_finish
      Src: /src/hostap/src/ap/dpp_hostapd.c:2360,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 6
    argNames:
    - hapd
    - src
    - hdr
    - buf
    - len
    - freq
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8*
    - u8*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2364
      start: 2318
    functionDepth: 3
    functionLinenumber: 2318
    functionLinenumberEnd: 2364
    functionName: hostapd_dpp_rx_pkex_commit_reveal_req
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hostapd_drv_send_action
    - wpa_msg
    - wpabuf_len
    - wpabuf_free
    - hostapd_dpp_pkex_clear_code
    - wpabuf_head
    - dpp_pkex_rx_commit_reveal_req
    - MAC2STR
    - dpp_pkex_free
    - dpp_pkex_finish
    linkageType: ''
    returnType: void
    signature: "void hostapd_dpp_rx_pkex_commit_reveal_req(struct hostapd_data *hapd,
      const u8 *src,\n\t\t\t\t      const u8 *hdr, const u8 *buf, size_t len,\n\t\t\t\t
      \     unsigned int freq)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2378,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/dpp_hostapd.c:2379,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2382,1
    - Dst: dpp_pkex_rx_commit_reveal_resp
      Src: /src/hostap/src/ap/dpp_hostapd.c:2386,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2388,1
    - Dst: hostapd_dpp_pkex_clear_code
      Src: /src/hostap/src/ap/dpp_hostapd.c:2392,1
    - Dst: dpp_pkex_finish
      Src: /src/hostap/src/ap/dpp_hostapd.c:2393,1
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/dpp_hostapd.c:2400,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2404,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/dpp_hostapd.c:2406,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/dpp_hostapd.c:2409,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2413,1
    - Dst: dpp_bootstrap_remove
      Src: /src/hostap/src/ap/dpp_hostapd.c:2414,1
    - Dst: hostapd_dpp_push_button_stop
      Src: /src/hostap/src/ap/dpp_hostapd.c:2415,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2420,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2423,1
    - Dst: hostapd_dpp_auth_init
      Src: /src/hostap/src/ap/dpp_hostapd.c:2426,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2427,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 6
    argNames:
    - hapd
    - src
    - hdr
    - buf
    - len
    - freq
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8*
    - u8*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2431
      start: 2367
    functionDepth: 5
    functionLinenumber: 2367
    functionLinenumberEnd: 2431
    functionName: hostapd_dpp_rx_pkex_commit_reveal_resp
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hostapd_dpp_push_button_stop
    - wpa_hexdump
    - dpp_bootstrap_remove
    - hostapd_dpp_pkex_clear_code
    - hostapd_dpp_auth_init
    - os_snprintf
    - MAC2STR
    - dpp_pkex_rx_commit_reveal_resp
    - os_memcmp
    - dpp_pkex_finish
    linkageType: ''
    returnType: void
    signature: "void hostapd_dpp_rx_pkex_commit_reveal_resp(struct hostapd_data *hapd,
      const u8 *src,\n\t\t\t\t       const u8 *hdr, const u8 *buf, size_t len,\n\t\t\t\t
      \      unsigned int freq)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2454,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/dpp_hostapd.c:2456,1
    - Dst: hostapd_drv_send_action
      Src: /src/hostap/src/ap/dpp_hostapd.c:2458,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/dpp_hostapd.c:2459,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/dpp_hostapd.c:2459,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2463,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/dpp_hostapd.c:2464,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/dpp_hostapd.c:2467,1
    - Dst: dpp_pkex_init
      Src: /src/hostap/src/ap/dpp_hostapd.c:2469,1
    - Dst: hostapd_dpp_push_button_stop
      Src: /src/hostap/src/ap/dpp_hostapd.c:2474,1
    - Dst: os_free
      Src: /src/hostap/src/ap/dpp_hostapd.c:2484,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/dpp_hostapd.c:2485,1
    - Dst: os_malloc
      Src: /src/hostap/src/ap/dpp_hostapd.c:2486,1
    - Dst: hostapd_dpp_push_button_stop
      Src: /src/hostap/src/ap/dpp_hostapd.c:2488,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2491,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/ap/dpp_hostapd.c:2497,1
    - Dst: is_broadcast_ether_addr
      Src: /src/hostap/src/ap/dpp_hostapd.c:2517,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/dpp_hostapd.c:2526,1
    - Dst: os_malloc
      Src: /src/hostap/src/ap/dpp_hostapd.c:2527,1
    - Dst: hostapd_dpp_push_button_stop
      Src: /src/hostap/src/ap/dpp_hostapd.c:2529,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/ap/dpp_hostapd.c:2532,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/dpp_hostapd.c:2533,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2537,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2541,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2545,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2549,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2553,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2557,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2561,1
    - Dst: str_clear_free
      Src: /src/hostap/src/ap/dpp_hostapd.c:2563,1
    - Dst: hostapd_dpp_push_button_stop
      Src: /src/hostap/src/ap/dpp_hostapd.c:2564,1
    - Dst: str_clear_free
      Src: /src/hostap/src/ap/dpp_hostapd.c:2567,1
    - Dst: os_free
      Src: /src/hostap/src/ap/dpp_hostapd.c:2569,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/dpp_hostapd.c:2570,1
    - Dst: os_malloc
      Src: /src/hostap/src/ap/dpp_hostapd.c:2571,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2573,1
    - Dst: forced_memzero
      Src: /src/hostap/src/ap/dpp_hostapd.c:2575,1
    - Dst: hostapd_dpp_push_button_stop
      Src: /src/hostap/src/ap/dpp_hostapd.c:2577,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dpp_hostapd.c:2582,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/dpp_hostapd.c:2583,1
    - Dst: hostapd_drv_send_action
      Src: /src/hostap/src/ap/dpp_hostapd.c:2585,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/dpp_hostapd.c:2586,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/dpp_hostapd.c:2586,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 93
    argCount: 4
    argNames:
    - hapd
    - freq
    - src
    - r_hash
    argTypes:
    - struct hostapd_data*
    - unsigned int
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2589
      start: 2436
    functionDepth: 3
    functionLinenumber: 2436
    functionLinenumberEnd: 2589
    functionName: hostapd_dpp_pb_pkex_init
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - hostapd_drv_send_action
    - wpa_printf
    - os_memcpy
    - hostapd_dpp_push_button_stop
    - wpa_snprintf_hex
    - wpa_msg
    - wpabuf_len
    - is_broadcast_ether_addr
    - forced_memzero
    - os_malloc
    - wpabuf_head
    - os_snprintf
    - MAC2STR
    - str_clear_free
    - dpp_pkex_init
    - os_free
    linkageType: ''
    returnType: void
    signature: "void hostapd_dpp_pb_pkex_init(struct hostapd_data *hapd,\n\t\t\t\t
      \    unsigned int freq, const u8 *src,\n\t\t\t\t     const u8 *r_hash)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: os_get_reltime
      Src: /src/hostap/src/ap/dpp_hostapd.c:2610,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2611,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/dpp_hostapd.c:2612,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/ap/dpp_hostapd.c:2614,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2617,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/dpp_hostapd.c:2621,1
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/dpp_hostapd.c:2627,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2629,1
    - Dst: os_reltime_expired
      Src: /src/hostap/src/ap/dpp_hostapd.c:2641,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/dpp_hostapd.c:2642,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/dpp_hostapd.c:2650,1
    - Dst: hostapd_dpp_pb_active
      Src: /src/hostap/src/ap/dpp_hostapd.c:2654,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dpp_hostapd.c:2655,1
    - Dst: hostapd_dpp_push_button_stop
      Src: /src/hostap/src/ap/dpp_hostapd.c:2659,1
    - Dst: os_reltime_before
      Src: /src/hostap/src/ap/dpp_hostapd.c:2667,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2670,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/dpp_hostapd.c:2671,1
    - Dst: hostapd_dpp_pb_active
      Src: /src/hostap/src/ap/dpp_hostapd.c:2675,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2676,1
    - Dst: dpp_bootstrap_gen
      Src: /src/hostap/src/ap/dpp_hostapd.c:2690,1
    - Dst: dpp_bootstrap_get_id
      Src: /src/hostap/src/ap/dpp_hostapd.c:2693,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/ap/dpp_hostapd.c:2697,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2699,1
    - Dst: hostapd_dpp_push_button_stop
      Src: /src/hostap/src/ap/dpp_hostapd.c:2701,1
    - Dst: os_reltime_sub
      Src: /src/hostap/src/ap/dpp_hostapd.c:2709,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2711,1
    - Dst: dpp_build_pb_announcement_resp
      Src: /src/hostap/src/ap/dpp_hostapd.c:2716,1
    - Dst: hostapd_dpp_push_button_stop
      Src: /src/hostap/src/ap/dpp_hostapd.c:2720,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2724,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/dpp_hostapd.c:2726,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dpp_hostapd.c:2729,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/dpp_hostapd.c:2730,1
    - Dst: hostapd_drv_send_action
      Src: /src/hostap/src/ap/dpp_hostapd.c:2732,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/dpp_hostapd.c:2733,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/dpp_hostapd.c:2733,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/dpp_hostapd.c:2734,1
    - Dst: os_reltime_expired
      Src: /src/hostap/src/ap/dpp_hostapd.c:2736,1
    - Dst: hostapd_dpp_pb_pkex_init
      Src: /src/hostap/src/ap/dpp_hostapd.c:2737,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 85
    argCount: 6
    argNames:
    - hapd
    - src
    - hdr
    - buf
    - len
    - freq
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8*
    - u8*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2738
      start: 2592
    functionDepth: 4
    functionLinenumber: 2592
    functionLinenumberEnd: 2738
    functionName: hostapd_dpp_rx_pb_presence_announcement
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 0
    functionsReached:
    - wpa_hexdump
    - os_reltime_expired
    - hostapd_dpp_pb_active
    - hostapd_dpp_pb_pkex_init
    - wpa_printf
    - hostapd_dpp_push_button_stop
    - hostapd_drv_send_action
    - os_memcmp
    - dpp_bootstrap_get_id
    - os_get_reltime
    - wpabuf_len
    - dpp_bootstrap_gen
    - dpp_build_pb_announcement_resp
    - wpabuf_head
    - os_reltime_sub
    - os_memcpy
    - random_get_bytes
    - wpa_msg
    - wpabuf_free
    - MAC2STR
    - dpp_get_attr
    - os_reltime_before
    linkageType: ''
    returnType: void
    signature: "void hostapd_dpp_rx_pb_presence_announcement(struct hostapd_data *hapd,\n\t\t\t\t\tconst
      u8 *src, const u8 *hdr,\n\t\t\t\t\tconst u8 *buf, size_t len,\n\t\t\t\t\tunsigned
      int freq)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2752,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/dpp_hostapd.c:2753,1
    - Dst: hapd_dpp_connector_available
      Src: /src/hostap/src/ap/dpp_hostapd.c:2755,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/ap/dpp_hostapd.c:2758,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2761,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/ap/dpp_hostapd.c:2766,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2769,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2774,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/dpp_hostapd.c:2777,1
    - Dst: dpp_alloc_msg
      Src: /src/hostap/src/ap/dpp_hostapd.c:2778,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/ap/dpp_hostapd.c:2783,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/ap/dpp_hostapd.c:2784,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/dpp_hostapd.c:2785,1
    - Dst: dpp_get_connector_version
      Src: /src/hostap/src/ap/dpp_hostapd.c:2788,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2790,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/ap/dpp_hostapd.c:2795,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/ap/dpp_hostapd.c:2796,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/dpp_hostapd.c:2797,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/ap/dpp_hostapd.c:2800,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/ap/dpp_hostapd.c:2801,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/dpp_hostapd.c:2801,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/ap/dpp_hostapd.c:2802,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2804,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/dpp_hostapd.c:2805,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dpp_hostapd.c:2806,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/dpp_hostapd.c:2807,1
    - Dst: hostapd_drv_send_action
      Src: /src/hostap/src/ap/dpp_hostapd.c:2809,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/dpp_hostapd.c:2810,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/dpp_hostapd.c:2810,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/dpp_hostapd.c:2811,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 6
    argNames:
    - hapd
    - src
    - hdr
    - buf
    - len
    - freq
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8*
    - u8*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2812
      start: 2741
    functionDepth: 3
    functionLinenumber: 2741
    functionLinenumberEnd: 2812
    functionName: hostapd_dpp_rx_priv_peer_intro_query
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - hostapd_drv_send_action
    - wpabuf_put_u8
    - wpa_msg
    - wpabuf_put_str
    - dpp_alloc_msg
    - wpabuf_len
    - wpabuf_free
    - wpabuf_put_le16
    - wpabuf_head
    - MAC2STR
    - hapd_dpp_connector_available
    - dpp_get_attr
    - dpp_get_connector_version
    linkageType: ''
    returnType: void
    signature: "void hostapd_dpp_rx_priv_peer_intro_query(struct hostapd_data *hapd,
      const u8 *src,\n\t\t\t\t     const u8 *hdr, const u8 *buf, size_t len,\n\t\t\t\t
      \    unsigned int freq)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/ap/dpp_hostapd.c:2837,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2839,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/dpp_hostapd.c:2840,1
    - Dst: hapd_dpp_connector_available
      Src: /src/hostap/src/ap/dpp_hostapd.c:2842,1
    - Dst: os_get_time
      Src: /src/hostap/src/ap/dpp_hostapd.c:2845,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2849,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/ap/dpp_hostapd.c:2853,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2856,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/ap/dpp_hostapd.c:2861,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2864,1
    - Dst: dpp_set_keypair
      Src: /src/hostap/src/ap/dpp_hostapd.c:2868,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/dpp_hostapd.c:2869,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/dpp_hostapd.c:2870,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2872,1
    - Dst: dpp_hpke_suite
      Src: /src/hostap/src/ap/dpp_hostapd.c:2876,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2877,1
    - Dst: crypto_ec_key_deinit
      Src: /src/hostap/src/ap/dpp_hostapd.c:2879,1
    - Dst: hpke_base_open
      Src: /src/hostap/src/ap/dpp_hostapd.c:2883,1
    - Dst: crypto_ec_key_deinit
      Src: /src/hostap/src/ap/dpp_hostapd.c:2885,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2887,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2890,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/ap/dpp_hostapd.c:2892,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/dpp_hostapd.c:2892,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/dpp_hostapd.c:2892,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2895,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/ap/dpp_hostapd.c:2900,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/dpp_hostapd.c:2900,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/dpp_hostapd.c:2900,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2903,1
    - Dst: dpp_peer_intro
      Src: /src/hostap/src/ap/dpp_hostapd.c:2908,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/dpp_hostapd.c:2909,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/dpp_hostapd.c:2910,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/dpp_hostapd.c:2911,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/dpp_hostapd.c:2912,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2915,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/dpp_hostapd.c:2917,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2921,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/dpp_hostapd.c:2923,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2933,1
    - Dst: wpa_auth_pmksa_add2
      Src: /src/hostap/src/ap/dpp_hostapd.c:2947,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2950,1
    - Dst: wpa_auth_pmksa_add2
      Src: /src/hostap/src/ap/dpp_hostapd.c:2956,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2959,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2965,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/dpp_hostapd.c:2966,1
    - Dst: dpp_peer_intro_deinit
      Src: /src/hostap/src/ap/dpp_hostapd.c:2969,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/dpp_hostapd.c:2970,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 89
    argCount: 6
    argNames:
    - hapd
    - src
    - hdr
    - buf
    - len
    - freq
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8*
    - u8*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2971
      start: 2815
    functionDepth: 7
    functionLinenumber: 2815
    functionLinenumberEnd: 2971
    functionName: hostapd_dpp_rx_priv_peer_intro_update
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 0
    functionsReached:
    - crypto_ec_key_deinit
    - wpa_printf
    - wpa_auth_pmksa_add2
    - wpabuf_len
    - wpa_hexdump_buf
    - dpp_set_keypair
    - wpabuf_free
    - dpp_peer_intro_deinit
    - wpabuf_head
    - MAC2STR
    - hapd_dpp_connector_available
    - os_get_time
    - dpp_get_attr
    - dpp_peer_intro
    - hpke_base_open
    - dpp_hpke_suite
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void hostapd_dpp_rx_priv_peer_intro_update(struct hostapd_data *hapd,
      const u8 *src,\n\t\t\t\t      const u8 *hdr, const u8 *buf, size_t len,\n\t\t\t\t
      \     unsigned int freq)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: WPA_GET_BE24
      Src: /src/hostap/src/ap/dpp_hostapd.c:2990,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:2999,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/dpp_hostapd.c:3002,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:3004,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dpp_hostapd.c:3006,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/dpp_hostapd.c:3008,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/dpp_hostapd.c:3011,1
    - Dst: dpp_check_attrs
      Src: /src/hostap/src/ap/dpp_hostapd.c:3012,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dpp_hostapd.c:3013,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/dpp_hostapd.c:3015,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dpp_hostapd.c:3018,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/dpp_hostapd.c:3019,1
    - Dst: dpp_relay_rx_action
      Src: /src/hostap/src/ap/dpp_hostapd.c:3022,1
    - Dst: hostapd_dpp_rx_auth_req
      Src: /src/hostap/src/ap/dpp_hostapd.c:3030,1
    - Dst: hostapd_dpp_rx_auth_resp
      Src: /src/hostap/src/ap/dpp_hostapd.c:3033,1
    - Dst: hostapd_dpp_rx_auth_conf
      Src: /src/hostap/src/ap/dpp_hostapd.c:3036,1
    - Dst: hostapd_dpp_rx_peer_disc_req
      Src: /src/hostap/src/ap/dpp_hostapd.c:3039,1
    - Dst: hostapd_dpp_rx_pkex_exchange_req
      Src: /src/hostap/src/ap/dpp_hostapd.c:3046,1
    - Dst: hostapd_dpp_rx_pkex_exchange_req
      Src: /src/hostap/src/ap/dpp_hostapd.c:3051,1
    - Dst: hostapd_dpp_rx_pkex_exchange_resp
      Src: /src/hostap/src/ap/dpp_hostapd.c:3055,1
    - Dst: hostapd_dpp_rx_pkex_commit_reveal_req
      Src: /src/hostap/src/ap/dpp_hostapd.c:3058,1
    - Dst: hostapd_dpp_rx_pkex_commit_reveal_resp
      Src: /src/hostap/src/ap/dpp_hostapd.c:3062,1
    - Dst: hostapd_dpp_rx_conf_result
      Src: /src/hostap/src/ap/dpp_hostapd.c:3067,1
    - Dst: hostapd_dpp_rx_conn_status_result
      Src: /src/hostap/src/ap/dpp_hostapd.c:3070,1
    - Dst: hostapd_dpp_rx_presence_announcement
      Src: /src/hostap/src/ap/dpp_hostapd.c:3073,1
    - Dst: hostapd_dpp_rx_reconfig_announcement
      Src: /src/hostap/src/ap/dpp_hostapd.c:3077,1
    - Dst: hostapd_dpp_rx_reconfig_auth_resp
      Src: /src/hostap/src/ap/dpp_hostapd.c:3081,1
    - Dst: hostapd_dpp_rx_pb_presence_announcement
      Src: /src/hostap/src/ap/dpp_hostapd.c:3087,1
    - Dst: hostapd_dpp_rx_priv_peer_intro_query
      Src: /src/hostap/src/ap/dpp_hostapd.c:3091,1
    - Dst: hostapd_dpp_rx_priv_peer_intro_update
      Src: /src/hostap/src/ap/dpp_hostapd.c:3095,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:3100,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dpp_hostapd.c:3112,1
    - Dst: hostapd_dpp_pkex_remove
      Src: /src/hostap/src/ap/dpp_hostapd.c:3113,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 92
    argCount: 5
    argNames:
    - hapd
    - src
    - buf
    - len
    - freq
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3115
      start: 2976
    functionDepth: 8
    functionLinenumber: 2976
    functionLinenumberEnd: 3115
    functionName: hostapd_dpp_rx_action
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 2
    functionsReached:
    - hostapd_dpp_rx_pkex_commit_reveal_req
    - wpa_hexdump
    - hostapd_dpp_rx_priv_peer_intro_query
    - hostapd_dpp_rx_presence_announcement
    - hostapd_dpp_rx_priv_peer_intro_update
    - dpp_relay_rx_action
    - hostapd_dpp_rx_pb_presence_announcement
    - hostapd_dpp_rx_auth_resp
    - wpa_printf
    - hostapd_dpp_rx_peer_disc_req
    - hostapd_dpp_rx_pkex_commit_reveal_resp
    - hostapd_dpp_rx_reconfig_auth_resp
    - WPA_GET_BE24
    - hostapd_dpp_rx_auth_req
    - hostapd_dpp_pkex_remove
    - hostapd_dpp_rx_pkex_exchange_resp
    - hostapd_dpp_rx_auth_conf
    - hostapd_dpp_rx_conn_status_result
    - dpp_check_attrs
    - wpa_msg
    - hostapd_dpp_rx_conf_result
    - hostapd_dpp_rx_pkex_exchange_req
    - MAC2STR
    - hostapd_dpp_rx_reconfig_announcement
    linkageType: ''
    returnType: void
    signature: "void hostapd_dpp_rx_action(struct hostapd_data *hapd, const u8 *src,\n\t\t\t
      \  const u8 *buf, size_t len, unsigned int freq)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:3126,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/dpp_hostapd.c:3126,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/dpp_hostapd.c:3127,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/dpp_hostapd.c:3129,1
    - Dst: dpp_relay_rx_gas_req
      Src: /src/hostap/src/ap/dpp_hostapd.c:3131,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:3137,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:3142,1
    - Dst: dpp_notify_auth_success
      Src: /src/hostap/src/ap/dpp_hostapd.c:3148,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:3152,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/dpp_hostapd.c:3159,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dpp_hostapd.c:3162,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/dpp_hostapd.c:3163,1
    - Dst: dpp_conf_req_rx
      Src: /src/hostap/src/ap/dpp_hostapd.c:3164,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dpp_hostapd.c:3166,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 6
    argNames:
    - hapd
    - sa
    - query
    - query_len
    - data
    - data_len
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3168
      start: 3118
    functionDepth: 1
    functionLinenumber: 3118
    functionLinenumberEnd: 3168
    functionName: hostapd_dpp_gas_req_handler
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    - wpa_msg
    - eloop_cancel_timeout
    - ether_addr_equal
    - MAC2STR
    - dpp_relay_rx_gas_req
    - dpp_notify_auth_success
    - dpp_conf_req_rx
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf *\nhostapd_dpp_gas_req_handler(struct hostapd_data *hapd,
      const u8 *sa,\n\t\t\t    const u8 *query, size_t query_len,\n\t\t\t    const
      u8 *data, size_t data_len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:3183,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:3188,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/dpp_hostapd.c:3190,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/dpp_hostapd.c:3191,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/dpp_hostapd.c:3192,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/dpp_hostapd.c:3194,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:3198,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/dpp_hostapd.c:3200,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/dpp_hostapd.c:3202,1
    - Dst: hostapd_drv_send_action_cancel_wait
      Src: /src/hostap/src/ap/dpp_hostapd.c:3208,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dpp_hostapd.c:3211,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dpp_hostapd.c:3214,1
    - Dst: dpp_auth_deinit
      Src: /src/hostap/src/ap/dpp_hostapd.c:3215,1
    - Dst: hostapd_dpp_pb_active
      Src: /src/hostap/src/ap/dpp_hostapd.c:3218,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dpp_hostapd.c:3220,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dpp_hostapd.c:3223,1
    - Dst: hostapd_dpp_remove_pb_hash
      Src: /src/hostap/src/ap/dpp_hostapd.c:3227,1
    - Dst: hostapd_dpp_push_button_stop
      Src: /src/hostap/src/ap/dpp_hostapd.c:3228,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 2
    argNames:
    - hapd
    - ok
    argTypes:
    - struct hostapd_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3231
      start: 3171
    functionDepth: 1
    functionLinenumber: 3171
    functionLinenumberEnd: 3231
    functionName: hostapd_dpp_gas_status_handler
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 2
    functionsReached:
    - hostapd_dpp_remove_pb_hash
    - wpa_printf
    - dpp_auth_deinit
    - hostapd_dpp_push_button_stop
    - wpa_msg
    - eloop_cancel_timeout
    - eloop_register_timeout
    - hostapd_drv_send_action_cancel_wait
    - hostapd_dpp_pb_active
    linkageType: ''
    returnType: void
    signature: void hostapd_dpp_gas_status_handler(struct hostapd_data *hapd, int
      ok)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dpp_alloc_auth
      Src: /src/hostap/src/ap/dpp_hostapd.c:3240,1
    - Dst: get_param
      Src: /src/hostap/src/ap/dpp_hostapd.c:3244,1
    - Dst: hostapd_dpp_set_testing_options
      Src: /src/hostap/src/ap/dpp_hostapd.c:3245,1
    - Dst: dpp_set_configurator
      Src: /src/hostap/src/ap/dpp_hostapd.c:3246,1
    - Dst: dpp_configurator_own_config
      Src: /src/hostap/src/ap/dpp_hostapd.c:3247,1
    - Dst: hostapd_dpp_handle_config_obj
      Src: /src/hostap/src/ap/dpp_hostapd.c:3248,1
    - Dst: dpp_auth_deinit
      Src: /src/hostap/src/ap/dpp_hostapd.c:3252,1
    - Dst: os_free
      Src: /src/hostap/src/ap/dpp_hostapd.c:3253,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - hapd
    - cmd
    argTypes:
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3256
      start: 3234
    functionDepth: 2
    functionLinenumber: 3234
    functionLinenumberEnd: 3256
    functionName: hostapd_dpp_configurator_sign
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 0
    functionsReached:
    - dpp_auth_deinit
    - hostapd_dpp_set_testing_options
    - get_param
    - dpp_set_configurator
    - dpp_configurator_own_config
    - os_free
    - dpp_alloc_auth
    - hostapd_dpp_handle_config_obj
    linkageType: ''
    returnType: int
    signature: int hostapd_dpp_configurator_sign(struct hostapd_data *hapd, const
      char *cmd)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: os_strstr
      Src: /src/hostap/src/ap/dpp_hostapd.c:3274,1
    - Dst: atoi
      Src: /src/hostap/src/ap/dpp_hostapd.c:3277,1
    - Dst: get_param
      Src: /src/hostap/src/ap/dpp_hostapd.c:3280,1
    - Dst: hostapd_parse_ip_addr
      Src: /src/hostap/src/ap/dpp_hostapd.c:3284,1
    - Dst: os_free
      Src: /src/hostap/src/ap/dpp_hostapd.c:3285,1
    - Dst: os_strstr
      Src: /src/hostap/src/ap/dpp_hostapd.c:3292,1
    - Dst: dpp_bootstrap_get_id
      Src: /src/hostap/src/ap/dpp_hostapd.c:3296,1
    - Dst: atoi
      Src: /src/hostap/src/ap/dpp_hostapd.c:3296,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:3298,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:3303,1
    - Dst: os_free
      Src: /src/hostap/src/ap/dpp_hostapd.c:3310,1
    - Dst: os_strstr
      Src: /src/hostap/src/ap/dpp_hostapd.c:3312,1
    - Dst: os_strchr
      Src: /src/hostap/src/ap/dpp_hostapd.c:3315,1
    - Dst: os_malloc
      Src: /src/hostap/src/ap/dpp_hostapd.c:3318,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/dpp_hostapd.c:3321,1
    - Dst: os_strstr
      Src: /src/hostap/src/ap/dpp_hostapd.c:3325,1
    - Dst: os_free
      Src: /src/hostap/src/ap/dpp_hostapd.c:3328,1
    - Dst: os_strdup
      Src: /src/hostap/src/ap/dpp_hostapd.c:3329,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/dpp_hostapd.c:3332,1
    - Dst: os_strstr
      Src: /src/hostap/src/ap/dpp_hostapd.c:3334,1
    - Dst: atoi
      Src: /src/hostap/src/ap/dpp_hostapd.c:3339,1
    - Dst: os_strstr
      Src: /src/hostap/src/ap/dpp_hostapd.c:3349,1
    - Dst: hostapd_dpp_pkex_init
      Src: /src/hostap/src/ap/dpp_hostapd.c:3350,1
    - Dst: dpp_controller_pkex_add
      Src: /src/hostap/src/ap/dpp_hostapd.c:3354,1
    - Dst: os_free
      Src: /src/hostap/src/ap/dpp_hostapd.c:3362,1
    - Dst: os_strdup
      Src: /src/hostap/src/ap/dpp_hostapd.c:3363,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 71
    argCount: 2
    argNames:
    - hapd
    - cmd
    argTypes:
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3366
      start: 3259
    functionDepth: 4
    functionLinenumber: 3259
    functionLinenumberEnd: 3366
    functionName: hostapd_dpp_pkex_add
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 0
    functionsReached:
    - os_strchr
    - os_strlen
    - wpa_printf
    - os_memcpy
    - dpp_controller_pkex_add
    - os_malloc
    - os_strstr
    - get_param
    - hostapd_dpp_pkex_init
    - atoi
    - hostapd_parse_ip_addr
    - os_free
    - dpp_bootstrap_get_id
    - os_strdup
    linkageType: ''
    returnType: int
    signature: int hostapd_dpp_pkex_add(struct hostapd_data *hapd, const char *cmd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/src/ap/dpp_hostapd.c:3373,1
    - Dst: atoi
      Src: /src/hostap/src/ap/dpp_hostapd.c:3376,1
    - Dst: os_free
      Src: /src/hostap/src/ap/dpp_hostapd.c:3385,1
    - Dst: os_free
      Src: /src/hostap/src/ap/dpp_hostapd.c:3387,1
    - Dst: os_free
      Src: /src/hostap/src/ap/dpp_hostapd.c:3389,1
    - Dst: dpp_pkex_free
      Src: /src/hostap/src/ap/dpp_hostapd.c:3393,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - hapd
    - id
    argTypes:
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3396
      start: 3369
    functionDepth: 1
    functionLinenumber: 3369
    functionLinenumberEnd: 3396
    functionName: hostapd_dpp_pkex_remove
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 1
    functionsReached:
    - atoi
    - os_free
    - dpp_pkex_free
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: int hostapd_dpp_pkex_remove(struct hostapd_data *hapd, const char *id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dpp_auth_deinit
      Src: /src/hostap/src/ap/dpp_hostapd.c:3401,1
    - Dst: dpp_pkex_free
      Src: /src/hostap/src/ap/dpp_hostapd.c:3403,1
    - Dst: hostapd_dpp_push_button_stop
      Src: /src/hostap/src/ap/dpp_hostapd.c:3406,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/dpp_hostapd.c:3408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3409
      start: 3399
    functionDepth: 1
    functionLinenumber: 3399
    functionLinenumberEnd: 3409
    functionName: hostapd_dpp_stop
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 0
    functionsReached:
    - eloop_cancel_timeout
    - hostapd_dpp_push_button_stop
    - dpp_auth_deinit
    - dpp_pkex_free
    linkageType: ''
    returnType: void
    signature: void hostapd_dpp_stop(struct hostapd_data *hapd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:3423,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/dpp_hostapd.c:3424,1
    - Dst: os_malloc
      Src: /src/hostap/src/ap/dpp_hostapd.c:3425,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/dpp_hostapd.c:3430,1
    - Dst: hostapd_drv_send_action
      Src: /src/hostap/src/ap/dpp_hostapd.c:3431,1
    - Dst: os_free
      Src: /src/hostap/src/ap/dpp_hostapd.c:3432,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - ctx
    - addr
    - freq
    - msg
    - len
    argTypes:
    - void*
    - u8*
    - unsigned int
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3433
      start: 3414
    functionDepth: 3
    functionLinenumber: 3414
    functionLinenumberEnd: 3433
    functionName: hostapd_dpp_relay_tx
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 0
    functionsReached:
    - hostapd_drv_send_action
    - wpa_printf
    - os_memcpy
    - os_malloc
    - MAC2STR
    - os_free
    linkageType: ''
    returnType: void
    signature: "void hostapd_dpp_relay_tx(void *ctx, const u8 *addr, unsigned int
      freq,\n\t\t\t\t const u8 *msg, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gas_serv_req_dpp_processing
      Src: /src/hostap/src/ap/dpp_hostapd.c:3442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ctx
    - addr
    - dialog_token
    - prot
    - buf
    argTypes:
    - void*
    - u8*
    - u8
    - int
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3443
      start: 3436
    functionDepth: 4
    functionLinenumber: 3436
    functionLinenumberEnd: 3443
    functionName: hostapd_dpp_relay_gas_resp_tx
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 0
    functionsReached:
    - gas_serv_req_dpp_processing
    linkageType: ''
    returnType: void
    signature: "void hostapd_dpp_relay_gas_resp_tx(void *ctx, const u8 *addr,\n\t\t\t\t\t
      \ u8 dialog_token, int prot,\n\t\t\t\t\t  struct wpabuf *buf)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/ap/dpp_hostapd.c:3454,1
    - Dst: dpp_relay_add_controller
      Src: /src/hostap/src/ap/dpp_hostapd.c:3462,1
    - Dst: dpp_relay_listen
      Src: /src/hostap/src/ap/dpp_hostapd.c:3468,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3474
      start: 3448
    functionDepth: 1
    functionLinenumber: 3448
    functionLinenumberEnd: 3474
    functionName: hostapd_dpp_add_controllers
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 0
    functionsReached:
    - dpp_relay_add_controller
    - dpp_relay_listen
    - os_memset
    linkageType: ''
    returnType: int
    signature: int hostapd_dpp_add_controllers(struct hostapd_data *hapd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_strdup
      Src: /src/hostap/src/ap/dpp_hostapd.c:3489,1
    - Dst: os_strchr
      Src: /src/hostap/src/ap/dpp_hostapd.c:3492,1
    - Dst: hostapd_parse_ip_addr
      Src: /src/hostap/src/ap/dpp_hostapd.c:3496,1
    - Dst: hexstr2bin
      Src: /src/hostap/src/ap/dpp_hostapd.c:3497,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/dpp_hostapd.c:3500,1
    - Dst: dpp_relay_controller_available
      Src: /src/hostap/src/ap/dpp_hostapd.c:3507,1
    - Dst: dpp_relay_add_controller
      Src: /src/hostap/src/ap/dpp_hostapd.c:3508,1
    - Dst: dpp_relay_controller_available
      Src: /src/hostap/src/ap/dpp_hostapd.c:3509,1
    - Dst: ieee802_11_update_beacons
      Src: /src/hostap/src/ap/dpp_hostapd.c:3511,1
    - Dst: os_free
      Src: /src/hostap/src/ap/dpp_hostapd.c:3513,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - hapd
    - cmd
    argTypes:
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3515
      start: 3479
    functionDepth: 11
    functionLinenumber: 3479
    functionLinenumberEnd: 3515
    functionName: hostapd_dpp_add_controller
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 0
    functionsReached:
    - hostapd_parse_ip_addr
    - hexstr2bin
    - dpp_relay_add_controller
    - os_free
    - os_strchr
    - ieee802_11_update_beacons
    - dpp_relay_controller_available
    - os_strdup
    - os_memset
    linkageType: ''
    returnType: int
    signature: int hostapd_dpp_add_controller(struct hostapd_data *hapd, const char
      *cmd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_parse_ip_addr
      Src: /src/hostap/src/ap/dpp_hostapd.c:3524,1
    - Dst: dpp_relay_controller_available
      Src: /src/hostap/src/ap/dpp_hostapd.c:3526,1
    - Dst: dpp_relay_remove_controller
      Src: /src/hostap/src/ap/dpp_hostapd.c:3527,1
    - Dst: dpp_relay_controller_available
      Src: /src/hostap/src/ap/dpp_hostapd.c:3528,1
    - Dst: ieee802_11_update_beacons
      Src: /src/hostap/src/ap/dpp_hostapd.c:3530,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - hapd
    - cmd
    argTypes:
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3531
      start: 3518
    functionDepth: 11
    functionLinenumber: 3518
    functionLinenumberEnd: 3531
    functionName: hostapd_dpp_remove_controller
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 0
    functionsReached:
    - hostapd_parse_ip_addr
    - ieee802_11_update_beacons
    - dpp_relay_controller_available
    - dpp_relay_remove_controller
    linkageType: ''
    returnType: void
    signature: void hostapd_dpp_remove_controller(struct hostapd_data *hapd, const
      char *cmd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_dpp_add_controllers
      Src: /src/hostap/src/ap/dpp_hostapd.c:3540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3541
      start: 3536
    functionDepth: 2
    functionLinenumber: 3536
    functionLinenumberEnd: 3541
    functionName: hostapd_dpp_init
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 1
    functionsReached:
    - hostapd_dpp_add_controllers
    linkageType: ''
    returnType: int
    signature: int hostapd_dpp_init(struct hostapd_data *hapd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/ap/dpp_hostapd.c:3547,1
    - Dst: os_free
      Src: /src/hostap/src/ap/dpp_hostapd.c:3549,1
    - Dst: os_free
      Src: /src/hostap/src/ap/dpp_hostapd.c:3551,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/dpp_hostapd.c:3557,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/dpp_hostapd.c:3558,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/dpp_hostapd.c:3559,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/dpp_hostapd.c:3560,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/dpp_hostapd.c:3561,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/dpp_hostapd.c:3562,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/dpp_hostapd.c:3564,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/dpp_hostapd.c:3566,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/dpp_hostapd.c:3568,1
    - Dst: hostapd_dpp_chirp_stop
      Src: /src/hostap/src/ap/dpp_hostapd.c:3570,1
    - Dst: dpp_relay_stop_listen
      Src: /src/hostap/src/ap/dpp_hostapd.c:3572,1
    - Dst: dpp_controller_stop_for_ctx
      Src: /src/hostap/src/ap/dpp_hostapd.c:3573,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/dpp_hostapd.c:3577,1
    - Dst: hostapd_dpp_push_button_stop
      Src: /src/hostap/src/ap/dpp_hostapd.c:3578,1
    - Dst: dpp_auth_deinit
      Src: /src/hostap/src/ap/dpp_hostapd.c:3580,1
    - Dst: hostapd_dpp_pkex_remove
      Src: /src/hostap/src/ap/dpp_hostapd.c:3582,1
    - Dst: os_free
      Src: /src/hostap/src/ap/dpp_hostapd.c:3584,1
    - Dst: os_free
      Src: /src/hostap/src/ap/dpp_hostapd.c:3586,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3588
      start: 3544
    functionDepth: 2
    functionLinenumber: 3544
    functionLinenumberEnd: 3588
    functionName: hostapd_dpp_deinit
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 1
    functionsReached:
    - dpp_auth_deinit
    - hostapd_dpp_push_button_stop
    - eloop_cancel_timeout
    - dpp_controller_stop_for_ctx
    - dpp_relay_stop_listen
    - os_free
    - hostapd_dpp_chirp_stop
    - hostapd_dpp_pkex_remove
    linkageType: ''
    returnType: void
    signature: void hostapd_dpp_deinit(struct hostapd_data *hapd)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/ap/dpp_hostapd.c:3598,1
    - Dst: os_strstr
      Src: /src/hostap/src/ap/dpp_hostapd.c:3605,1
    - Dst: atoi
      Src: /src/hostap/src/ap/dpp_hostapd.c:3608,1
    - Dst: os_strstr
      Src: /src/hostap/src/ap/dpp_hostapd.c:3611,1
    - Dst: os_strncmp
      Src: /src/hostap/src/ap/dpp_hostapd.c:3614,1
    - Dst: os_strncmp
      Src: /src/hostap/src/ap/dpp_hostapd.c:3616,1
    - Dst: os_strncmp
      Src: /src/hostap/src/ap/dpp_hostapd.c:3618,1
    - Dst: os_strstr
      Src: /src/hostap/src/ap/dpp_hostapd.c:3625,1
    - Dst: dpp_controller_start
      Src: /src/hostap/src/ap/dpp_hostapd.c:3628,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 2
    argNames:
    - hapd
    - cmd
    argTypes:
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3629
      start: 3593
    functionDepth: 1
    functionLinenumber: 3593
    functionLinenumberEnd: 3629
    functionName: hostapd_dpp_controller_start
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 0
    functionsReached:
    - dpp_controller_start
    - os_strncmp
    - os_strstr
    - atoi
    - os_memset
    linkageType: ''
    returnType: int
    signature: int hostapd_dpp_controller_start(struct hostapd_data *hapd, const char
      *cmd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:3638,1
    - Dst: hostapd_drv_send_action_cancel_wait
      Src: /src/hostap/src/ap/dpp_hostapd.c:3639,1
    - Dst: hostapd_dpp_chirp_next
      Src: /src/hostap/src/ap/dpp_hostapd.c:3640,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3641
      start: 3634
    functionDepth: 1
    functionLinenumber: 3634
    functionLinenumberEnd: 3641
    functionName: hostapd_dpp_chirp_timeout
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hostapd_drv_send_action_cancel_wait
    - hostapd_dpp_chirp_next
    linkageType: ''
    returnType: void
    signature: void hostapd_dpp_chirp_timeout(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:3651,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dpp_hostapd.c:3652,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/dpp_hostapd.c:3654,1
    - Dst: hostapd_drv_send_action
      Src: /src/hostap/src/ap/dpp_hostapd.c:3655,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/dpp_hostapd.c:3657,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/dpp_hostapd.c:3657,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/dpp_hostapd.c:3658,1
    - Dst: hostapd_dpp_chirp_stop
      Src: /src/hostap/src/ap/dpp_hostapd.c:3660,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3661
      start: 3644
    functionDepth: 3
    functionLinenumber: 3644
    functionLinenumberEnd: 3661
    functionName: hostapd_dpp_chirp_start
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 0
    functionsReached:
    - hostapd_drv_send_action
    - wpa_printf
    - wpa_msg
    - wpabuf_len
    - wpabuf_head
    - MAC2STR
    - eloop_register_timeout
    - hostapd_dpp_chirp_stop
    linkageType: ''
    returnType: void
    signature: void hostapd_dpp_chirp_start(struct hostapd_data *hapd)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - hapd
    - mode
    argTypes:
    - struct hostapd_data*
    - enum hostapd_hw_mode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3680
      start: 3664
    functionDepth: 0
    functionLinenumber: 3664
    functionLinenumberEnd: 3680
    functionName: dpp_get_mode
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct hostapd_hw_modes
    signature: "struct hostapd_hw_modes *\ndpp_get_mode(struct hostapd_data *hapd,\n\t
      \    enum hostapd_hw_mode mode)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_driver_get_scan_results
      Src: /src/hostap/src/ap/dpp_hostapd.c:3699,1
    - Dst: os_free
      Src: /src/hostap/src/ap/dpp_hostapd.c:3701,1
    - Dst: int_array_add_unique
      Src: /src/hostap/src/ap/dpp_hostapd.c:3707,1
    - Dst: dpp_get_mode
      Src: /src/hostap/src/ap/dpp_hostapd.c:3712,1
    - Dst: int_array_add_unique
      Src: /src/hostap/src/ap/dpp_hostapd.c:3726,1
    - Dst: dpp_get_mode
      Src: /src/hostap/src/ap/dpp_hostapd.c:3728,1
    - Dst: int_array_add_unique
      Src: /src/hostap/src/ap/dpp_hostapd.c:3744,1
    - Dst: int_array_add_unique
      Src: /src/hostap/src/ap/dpp_hostapd.c:3746,1
    - Dst: dpp_get_mode
      Src: /src/hostap/src/ap/dpp_hostapd.c:3749,1
    - Dst: int_array_add_unique
      Src: /src/hostap/src/ap/dpp_hostapd.c:3758,1
    - Dst: get_vendor_ie
      Src: /src/hostap/src/ap/dpp_hostapd.c:3771,1
    - Dst: int_array_add_unique
      Src: /src/hostap/src/ap/dpp_hostapd.c:3773,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/dpp_hostapd.c:3778,1
    - Dst: hostapd_dpp_chirp_stop
      Src: /src/hostap/src/ap/dpp_hostapd.c:3780,1
    - Dst: wpa_scan_results_free
      Src: /src/hostap/src/ap/dpp_hostapd.c:3782,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 55
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3783
      start: 3683
    functionDepth: 1
    functionLinenumber: 3683
    functionLinenumberEnd: 3783
    functionName: hostapd_dpp_chirp_scan_res_handler
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 0
    functionsReached:
    - hostapd_driver_get_scan_results
    - get_vendor_ie
    - wpa_scan_results_free
    - eloop_register_timeout
    - dpp_get_mode
    - int_array_add_unique
    - os_free
    - hostapd_dpp_chirp_stop
    linkageType: ''
    returnType: void
    signature: void hostapd_dpp_chirp_scan_res_handler(struct hostapd_iface *iface)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_dpp_listen_stop
      Src: /src/hostap/src/ap/dpp_hostapd.c:3792,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:3800,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/dpp_hostapd.c:3802,1
    - Dst: hostapd_driver_scan
      Src: /src/hostap/src/ap/dpp_hostapd.c:3803,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:3805,1
    - Dst: strerror
      Src: /src/hostap/src/ap/dpp_hostapd.c:3807,1
    - Dst: hostapd_dpp_chirp_scan_res_handler
      Src: /src/hostap/src/ap/dpp_hostapd.c:3808,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:3817,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:3824,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:3835,1
    - Dst: hostapd_dpp_chirp_stop
      Src: /src/hostap/src/ap/dpp_hostapd.c:3837,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/dpp_hostapd.c:3842,1
    - Dst: hostapd_dpp_chirp_stop
      Src: /src/hostap/src/ap/dpp_hostapd.c:3845,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:3849,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:3854,1
    - Dst: hostapd_dpp_chirp_start
      Src: /src/hostap/src/ap/dpp_hostapd.c:3861,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3862
      start: 3786
    functionDepth: 4
    functionLinenumber: 3786
    functionLinenumberEnd: 3862
    functionName: hostapd_dpp_chirp_next
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - hostapd_driver_scan
    - strerror
    - hostapd_dpp_chirp_scan_res_handler
    - hostapd_dpp_chirp_start
    - eloop_register_timeout
    - hostapd_dpp_listen_stop
    - hostapd_dpp_chirp_stop
    - os_memset
    linkageType: ''
    returnType: void
    signature: void hostapd_dpp_chirp_next(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: os_strstr
      Src: /src/hostap/src/ap/dpp_hostapd.c:3871,1
    - Dst: dpp_bootstrap_get_id
      Src: /src/hostap/src/ap/dpp_hostapd.c:3875,1
    - Dst: atoi
      Src: /src/hostap/src/ap/dpp_hostapd.c:3875,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:3877,1
    - Dst: os_strstr
      Src: /src/hostap/src/ap/dpp_hostapd.c:3882,1
    - Dst: atoi
      Src: /src/hostap/src/ap/dpp_hostapd.c:3884,1
    - Dst: os_strstr
      Src: /src/hostap/src/ap/dpp_hostapd.c:3889,1
    - Dst: atoi
      Src: /src/hostap/src/ap/dpp_hostapd.c:3891,1
    - Dst: hostapd_dpp_chirp_stop
      Src: /src/hostap/src/ap/dpp_hostapd.c:3896,1
    - Dst: dpp_build_presence_announcement
      Src: /src/hostap/src/ap/dpp_hostapd.c:3900,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/dpp_hostapd.c:3908,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 2
    argNames:
    - hapd
    - cmd
    argTypes:
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3909
      start: 3865
    functionDepth: 1
    functionLinenumber: 3865
    functionLinenumberEnd: 3909
    functionName: hostapd_dpp_chirp
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 0
    functionsReached:
    - dpp_build_presence_announcement
    - wpa_printf
    - hostapd_dpp_chirp_stop
    - os_strstr
    - eloop_register_timeout
    - atoi
    - dpp_bootstrap_get_id
    linkageType: ''
    returnType: int
    signature: int hostapd_dpp_chirp(struct hostapd_data *hapd, const char *cmd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_drv_send_action_cancel_wait
      Src: /src/hostap/src/ap/dpp_hostapd.c:3915,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dpp_hostapd.c:3916,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/dpp_hostapd.c:3919,1
    - Dst: hostapd_dpp_listen_stop
      Src: /src/hostap/src/ap/dpp_hostapd.c:3922,1
    - Dst: os_free
      Src: /src/hostap/src/ap/dpp_hostapd.c:3925,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/dpp_hostapd.c:3927,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/dpp_hostapd.c:3928,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3933
      start: 3912
    functionDepth: 2
    functionLinenumber: 3912
    functionLinenumberEnd: 3933
    functionName: hostapd_dpp_chirp_stop
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 6
    functionsReached:
    - wpa_msg
    - eloop_cancel_timeout
    - wpabuf_free
    - hostapd_dpp_listen_stop
    - os_free
    - hostapd_drv_send_action_cancel_wait
    linkageType: ''
    returnType: void
    signature: void hostapd_dpp_chirp_stop(struct hostapd_data *hapd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_dpp_chirp_stop
      Src: /src/hostap/src/ap/dpp_hostapd.c:3945,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - iface
    - ctx
    argTypes:
    - struct hostapd_iface*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3949
      start: 3936
    functionDepth: 3
    functionLinenumber: 3936
    functionLinenumberEnd: 3949
    functionName: handle_dpp_remove_bi
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 0
    functionsReached:
    - hostapd_dpp_chirp_stop
    linkageType: ''
    returnType: int
    signature: int handle_dpp_remove_bi(struct hostapd_iface *iface, void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_for_each_interface
      Src: /src/hostap/src/ap/dpp_hostapd.c:3956,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - bi
    argTypes:
    - void*
    - struct dpp_bootstrap_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3957
      start: 3952
    functionDepth: 1
    functionLinenumber: 3952
    functionLinenumberEnd: 3957
    functionName: hostapd_dpp_remove_bi
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 0
    functionsReached:
    - hostapd_for_each_interface
    linkageType: ''
    returnType: void
    signature: void hostapd_dpp_remove_bi(void *ctx, struct dpp_bootstrap_info *bi)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:3968,1
    - Dst: hostapd_dpp_push_button_stop
      Src: /src/hostap/src/ap/dpp_hostapd.c:3969,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3970
      start: 3964
    functionDepth: 1
    functionLinenumber: 3964
    functionLinenumberEnd: 3970
    functionName: hostapd_dpp_push_button_expire
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hostapd_dpp_push_button_stop
    linkageType: ''
    returnType: void
    signature: void hostapd_dpp_push_button_expire(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_get_reltime
      Src: /src/hostap/src/ap/dpp_hostapd.c:3979,1
    - Dst: str_clear_free
      Src: /src/hostap/src/ap/dpp_hostapd.c:3982,1
    - Dst: os_strdup
      Src: /src/hostap/src/ap/dpp_hostapd.c:3985,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/dpp_hostapd.c:3989,1
    - Dst: hostapd_drv_dpp_listen
      Src: /src/hostap/src/ap/dpp_hostapd.c:3991,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dpp_hostapd.c:3993,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - hapd
    - cmd
    argTypes:
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3995
      start: 3973
    functionDepth: 1
    functionLinenumber: 3973
    functionLinenumberEnd: 3995
    functionName: hostapd_dpp_push_button
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 0
    functionsReached:
    - os_get_reltime
    - wpa_msg
    - hostapd_drv_dpp_listen
    - str_clear_free
    - eloop_register_timeout
    - os_strdup
    linkageType: ''
    returnType: int
    signature: int hostapd_dpp_push_button(struct hostapd_data *hapd, const char *cmd)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/dpp_hostapd.c:4004,1
    - Dst: hostapd_dpp_pb_active
      Src: /src/hostap/src/ap/dpp_hostapd.c:4005,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/dpp_hostapd.c:4006,1
    - Dst: hostapd_drv_dpp_listen
      Src: /src/hostap/src/ap/dpp_hostapd.c:4007,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/dpp_hostapd.c:4009,1
    - Dst: dpp_pkex_free
      Src: /src/hostap/src/ap/dpp_hostapd.c:4014,1
    - Dst: os_free
      Src: /src/hostap/src/ap/dpp_hostapd.c:4017,1
    - Dst: os_snprintf
      Src: /src/hostap/src/ap/dpp_hostapd.c:4036,1
    - Dst: dpp_bootstrap_remove
      Src: /src/hostap/src/ap/dpp_hostapd.c:4037,1
    - Dst: str_clear_free
      Src: /src/hostap/src/ap/dpp_hostapd.c:4043,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4045
      start: 3998
    functionDepth: 1
    functionLinenumber: 3998
    functionLinenumberEnd: 4045
    functionName: hostapd_dpp_push_button_stop
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 8
    functionsReached:
    - wpa_printf
    - dpp_bootstrap_remove
    - wpa_msg
    - eloop_cancel_timeout
    - hostapd_drv_dpp_listen
    - os_snprintf
    - str_clear_free
    - dpp_pkex_free
    - os_free
    - hostapd_dpp_pb_active
    linkageType: ''
    returnType: void
    signature: void hostapd_dpp_push_button_stop(struct hostapd_data *hapd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dpp_relay_controller_available
      Src: /src/hostap/src/ap/dpp_hostapd.c:4055,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4056
      start: 4051
    functionDepth: 1
    functionLinenumber: 4051
    functionLinenumberEnd: 4056
    functionName: hostapd_dpp_configurator_connectivity
    functionSourceFile: /src/hostap/src/ap/dpp_hostapd.c
    functionUses: 2
    functionsReached:
    - dpp_relay_controller_available
    linkageType: ''
    returnType: bool
    signature: bool hostapd_dpp_configurator_connectivity(struct hostapd_data *hapd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/hostap/src/ap/fils_hlp.c:26,1
    - Dst: ntohs
      Src: /src/hostap/src/ap/fils_hlp.c:28,1
    - Dst: htons
      Src: /src/hostap/src/ap/fils_hlp.c:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 33
    functionName: ip_checksum
    functionSourceFile: /src/hostap/src/ap/fils_hlp.c
    functionUses: 0
    functionsReached:
    - ntohs
    - htons
    linkageType: ''
    returnType: be16
    signature: be16 ip_checksum(const void *buf, size_t len)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/fils_hlp.c:46,1
    - Dst: wpabuf_mhead
      Src: /src/hostap/src/ap/fils_hlp.c:53,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/fils_hlp.c:54,1
    - Dst: os_memmove
      Src: /src/hostap/src/ap/fils_hlp.c:80,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/fils_hlp.c:88,1
    - Dst: wpabuf_resize
      Src: /src/hostap/src/ap/fils_hlp.c:117,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/ap/fils_hlp.c:121,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/fils_hlp.c:123,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/fils_hlp.c:124,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/ap/fils_hlp.c:125,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/fils_hlp.c:126,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/fils_hlp.c:128,1
    - Dst: htons
      Src: /src/hostap/src/ap/fils_hlp.c:131,1
    - Dst: sendto
      Src: /src/hostap/src/ap/fils_hlp.c:132,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/fils_hlp.c:132,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/fils_hlp.c:133,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/fils_hlp.c:136,1
    - Dst: strerror
      Src: /src/hostap/src/ap/fils_hlp.c:137,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/fils_hlp.c:140,1
    - Dst: inet_ntoa
      Src: /src/hostap/src/ap/fils_hlp.c:142,1
    - Dst: ntohs
      Src: /src/hostap/src/ap/fils_hlp.c:142,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/fils_hlp.c:143,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 81
    argCount: 4
    argNames:
    - hapd
    - sta
    - dhcpoffer
    - dhcpofferend
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - struct dhcp_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 147
    functionName: fils_dhcp_request
    functionSourceFile: /src/hostap/src/ap/fils_hlp.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_resize
    - sendto
    - wpabuf_put_data
    - wpabuf_put_u8
    - wpabuf_len
    - strerror
    - wpabuf_free
    - os_memmove
    - wpabuf_head
    - wpabuf_mhead
    - inet_ntoa
    - ntohs
    - htons
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int fils_dhcp_request(struct hostapd_data *hapd, struct sta_info *sta,\n\t\t\t
      \    struct dhcp_data *dhcpoffer, u8 *dhcpofferend)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: recvfrom
      Src: /src/hostap/src/ap/fils_hlp.c:168,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/fils_hlp.c:171,1
    - Dst: strerror
      Src: /src/hostap/src/ap/fils_hlp.c:172,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/fils_hlp.c:175,1
    - Dst: inet_ntoa
      Src: /src/hostap/src/ap/fils_hlp.c:176,1
    - Dst: ntohs
      Src: /src/hostap/src/ap/fils_hlp.c:176,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/fils_hlp.c:177,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/fils_hlp.c:184,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/ap/fils_hlp.c:193,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/fils_hlp.c:194,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/fils_hlp.c:199,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/fils_hlp.c:227,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/fils_hlp.c:230,1
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/fils_hlp.c:232,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/fils_hlp.c:234,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/fils_hlp.c:236,1
    - Dst: fils_dhcp_request
      Src: /src/hostap/src/ap/fils_hlp.c:244,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/fils_hlp.c:248,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/ap/fils_hlp.c:253,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/ap/fils_hlp.c:257,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/ap/fils_hlp.c:258,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/ap/fils_hlp.c:259,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/ap/fils_hlp.c:260,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/ap/fils_hlp.c:261,1
    - Dst: htons
      Src: /src/hostap/src/ap/fils_hlp.c:264,1
    - Dst: ip_checksum
      Src: /src/hostap/src/ap/fils_hlp.c:269,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/ap/fils_hlp.c:270,1
    - Dst: htons
      Src: /src/hostap/src/ap/fils_hlp.c:271,1
    - Dst: htons
      Src: /src/hostap/src/ap/fils_hlp.c:272,1
    - Dst: htons
      Src: /src/hostap/src/ap/fils_hlp.c:273,1
    - Dst: htons
      Src: /src/hostap/src/ap/fils_hlp.c:274,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/ap/fils_hlp.c:278,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/fils_hlp.c:279,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/fils_hlp.c:280,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/ap/fils_hlp.c:281,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/ap/fils_hlp.c:283,1
    - Dst: wpabuf_resize
      Src: /src/hostap/src/ap/fils_hlp.c:285,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/fils_hlp.c:285,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/fils_hlp.c:286,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/fils_hlp.c:287,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/fils_hlp.c:291,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/fils_hlp.c:292,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/fils_hlp.c:294,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/fils_hlp.c:299,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/fils_hlp.c:301,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/ap/fils_hlp.c:305,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/fils_hlp.c:309,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/ap/fils_hlp.c:311,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/ap/fils_hlp.c:312,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/fils_hlp.c:316,1
    - Dst: hostapd_notify_assoc_fils_finish
      Src: /src/hostap/src/ap/fils_hlp.c:319,1
    - Dst: fils_hlp_finish_assoc
      Src: /src/hostap/src/ap/fils_hlp.c:321,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 119
    argCount: 3
    argNames:
    - sd
    - eloop_ctx
    - sock_ctx
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 150
    functionDepth: 8
    functionLinenumber: 150
    functionLinenumberEnd: 322
    functionName: fils_dhcp_handler
    functionSourceFile: /src/hostap/src/ap/fils_hlp.c
    functionUses: 0
    functionsReached:
    - wpa_hexdump
    - recvfrom
    - wpabuf_alloc
    - ntohs
    - ap_get_sta
    - wpa_printf
    - fils_hlp_finish_assoc
    - wpabuf_put_data
    - wpabuf_put_be16
    - fils_dhcp_request
    - inet_ntoa
    - wpabuf_put_u8
    - ip_checksum
    - wpabuf_len
    - wpabuf_head
    - htons
    - wpabuf_put
    - wpabuf_resize
    - strerror
    - wpabuf_free
    - MAC2STR
    - hostapd_notify_assoc_fils_finish
    - WPA_GET_BE32
    linkageType: ''
    returnType: void
    signature: void fils_dhcp_handler(int sd, void *eloop_ctx, void *sock_ctx)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/fils_hlp.c:342,1
    - Dst: ntohl
      Src: /src/hostap/src/ap/fils_hlp.c:345,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/ap/fils_hlp.c:352,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/fils_hlp.c:353,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/fils_hlp.c:358,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/fils_hlp.c:383,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/fils_hlp.c:389,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/fils_hlp.c:396,1
    - Dst: socket
      Src: /src/hostap/src/ap/fils_hlp.c:404,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/fils_hlp.c:406,1
    - Dst: strerror
      Src: /src/hostap/src/ap/fils_hlp.c:408,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/fils_hlp.c:413,1
    - Dst: htons
      Src: /src/hostap/src/ap/fils_hlp.c:417,1
    - Dst: bind
      Src: /src/hostap/src/ap/fils_hlp.c:418,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/fils_hlp.c:419,1
    - Dst: strerror
      Src: /src/hostap/src/ap/fils_hlp.c:421,1
    - Dst: close
      Src: /src/hostap/src/ap/fils_hlp.c:422,1
    - Dst: eloop_register_sock
      Src: /src/hostap/src/ap/fils_hlp.c:426,1
    - Dst: close
      Src: /src/hostap/src/ap/fils_hlp.c:428,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/ap/fils_hlp.c:435,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/ap/fils_hlp.c:438,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/fils_hlp.c:439,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/fils_hlp.c:441,1
    - Dst: htons
      Src: /src/hostap/src/ap/fils_hlp.c:444,1
    - Dst: sendto
      Src: /src/hostap/src/ap/fils_hlp.c:445,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/fils_hlp.c:448,1
    - Dst: strerror
      Src: /src/hostap/src/ap/fils_hlp.c:449,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/fils_hlp.c:450,1
    - Dst: eloop_unregister_read_sock
      Src: /src/hostap/src/ap/fils_hlp.c:452,1
    - Dst: close
      Src: /src/hostap/src/ap/fils_hlp.c:453,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/fils_hlp.c:458,1
    - Dst: inet_ntoa
      Src: /src/hostap/src/ap/fils_hlp.c:460,1
    - Dst: ntohs
      Src: /src/hostap/src/ap/fils_hlp.c:460,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/fils_hlp.c:466,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/fils_hlp.c:468,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/fils_hlp.c:471,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 99
    argCount: 4
    argNames:
    - hapd
    - sta
    - msg
    - len
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 475
    functionName: fils_process_hlp_dhcp
    functionSourceFile: /src/hostap/src/ap/fils_hlp.c
    functionUses: 0
    functionsReached:
    - eloop_unregister_read_sock
    - wpa_hexdump
    - eloop_register_sock
    - wpabuf_alloc
    - ntohs
    - wpa_printf
    - inet_ntoa
    - bind
    - sendto
    - htons
    - ntohl
    - os_memset
    - wpabuf_put
    - os_memcpy
    - strerror
    - socket
    - wpabuf_free
    - close
    - WPA_GET_BE32
    linkageType: ''
    returnType: int
    signature: "int fils_process_hlp_dhcp(struct hostapd_data *hapd,\n\t\t\t\t struct
      sta_info *sta,\n\t\t\t\t const u8 *msg, size_t len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/hostap/src/ap/fils_hlp.c:490,1
    - Dst: ntohs
      Src: /src/hostap/src/ap/fils_hlp.c:491,1
    - Dst: ntohs
      Src: /src/hostap/src/ap/fils_hlp.c:492,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/fils_hlp.c:493,1
    - Dst: ntohs
      Src: /src/hostap/src/ap/fils_hlp.c:495,1
    - Dst: fils_process_hlp_dhcp
      Src: /src/hostap/src/ap/fils_hlp.c:501,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 5
    argNames:
    - hapd
    - sta
    - dst
    - pos
    - len
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 478
    functionDepth: 2
    functionLinenumber: 478
    functionLinenumberEnd: 506
    functionName: fils_process_hlp_udp
    functionSourceFile: /src/hostap/src/ap/fils_hlp.c
    functionUses: 0
    functionsReached:
    - ntohs
    - wpa_printf
    - fils_process_hlp_dhcp
    linkageType: ''
    returnType: int
    signature: "int fils_process_hlp_udp(struct hostapd_data *hapd,\n\t\t\t\tstruct
      sta_info *sta, const u8 *dst,\n\t\t\t\tconst u8 *pos, size_t len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ip_checksum
      Src: /src/hostap/src/ap/fils_hlp.c:519,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/fils_hlp.c:520,1
    - Dst: ntohs
      Src: /src/hostap/src/ap/fils_hlp.c:524,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/fils_hlp.c:527,1
    - Dst: fils_process_hlp_udp
      Src: /src/hostap/src/ap/fils_hlp.c:532,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 5
    argNames:
    - hapd
    - sta
    - dst
    - pos
    - len
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 509
    functionDepth: 3
    functionLinenumber: 509
    functionLinenumberEnd: 536
    functionName: fils_process_hlp_ip
    functionSourceFile: /src/hostap/src/ap/fils_hlp.c
    functionUses: 0
    functionsReached:
    - fils_process_hlp_udp
    - wpa_printf
    - ntohs
    - ip_checksum
    linkageType: ''
    returnType: int
    signature: "int fils_process_hlp_ip(struct hostapd_data *hapd,\n\t\t\t       struct
      sta_info *sta, const u8 *dst,\n\t\t\t       const u8 *pos, size_t len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/fils_hlp.c:545,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/fils_hlp.c:547,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/fils_hlp.c:547,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/fils_hlp.c:547,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/fils_hlp.c:549,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/fils_hlp.c:550,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/fils_hlp.c:552,1
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/fils_hlp.c:559,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/fils_hlp.c:561,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/ap/fils_hlp.c:566,1
    - Dst: fils_process_hlp_ip
      Src: /src/hostap/src/ap/fils_hlp.c:568,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - hapd
    - sta
    - pos
    - len
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 539
    functionDepth: 4
    functionLinenumber: 539
    functionLinenumberEnd: 573
    functionName: fils_process_hlp_req
    functionSourceFile: /src/hostap/src/ap/fils_hlp.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - WPA_GET_BE16
    - wpa_hexdump
    - ether_addr_equal
    - fils_process_hlp_ip
    - MAC2STR
    - os_memcmp
    linkageType: ''
    returnType: int
    signature: "int fils_process_hlp_req(struct hostapd_data *hapd,\n\t\t\t\tstruct
      sta_info *sta,\n\t\t\t\tconst u8 *pos, size_t len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: eloop_is_timeout_registered
      Src: /src/hostap/src/ap/fils_hlp.c:584,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/fils_hlp.c:588,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/fils_hlp.c:592,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/fils_hlp.c:597,1
    - Dst: os_malloc
      Src: /src/hostap/src/ap/fils_hlp.c:614,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/fils_hlp.c:625,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/fils_hlp.c:632,1
    - Dst: fils_process_hlp_req
      Src: /src/hostap/src/ap/fils_hlp.c:637,1
    - Dst: os_free
      Src: /src/hostap/src/ap/fils_hlp.c:641,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 37
    argCount: 4
    argNames:
    - hapd
    - sta
    - pos
    - left
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 576
    functionDepth: 5
    functionLinenumber: 576
    functionLinenumberEnd: 644
    functionName: fils_process_hlp
    functionSourceFile: /src/hostap/src/ap/fils_hlp.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpabuf_free
    - os_malloc
    - fils_process_hlp_req
    - MAC2STR
    - eloop_is_timeout_registered
    - os_free
    linkageType: ''
    returnType: int
    signature: "int fils_process_hlp(struct hostapd_data *hapd, struct sta_info *sta,\n\t\t
      \    const u8 *pos, int left)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eloop_unregister_read_sock
      Src: /src/hostap/src/ap/fils_hlp.c:650,1
    - Dst: close
      Src: /src/hostap/src/ap/fils_hlp.c:651,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 654
    functionName: fils_hlp_deinit
    functionSourceFile: /src/hostap/src/ap/fils_hlp.c
    functionUses: 2
    functionsReached:
    - eloop_unregister_read_sock
    - close
    linkageType: ''
    returnType: void
    signature: void fils_hlp_deinit(struct hostapd_data *hapd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - hapd
    - sta
    - buf
    - buflen
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 29
    functionName: hostapd_p2p_get_mib_sta
    functionSourceFile: /src/hostap/src/ap/p2p_hostapd.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int hostapd_p2p_get_mib_sta(struct hostapd_data *hapd,\n\t\t\t\t\t
      \ struct sta_info *sta,\n\t\t\t\t\t  char *buf, size_t buflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 17
    functionName: accounting_sta_get_id
    functionSourceFile: /src/hostap/src/ap/accounting.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int accounting_sta_get_id(struct hostapd_data *hapd,\n\t\t\t\t\tstruct
      sta_info *sta)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: accounting_sta_start
    functionSourceFile: /src/hostap/src/ap/accounting.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void accounting_sta_start(struct hostapd_data *hapd,\n\t\t\t\t\tstruct
      sta_info *sta)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: accounting_sta_stop
    functionSourceFile: /src/hostap/src/ap/accounting.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void accounting_sta_stop(struct hostapd_data *hapd,\n\t\t\t\t       struct
      sta_info *sta)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: accounting_init
    functionSourceFile: /src/hostap/src/ap/accounting.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int accounting_init(struct hostapd_data *hapd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: accounting_deinit
    functionSourceFile: /src/hostap/src/ap/accounting.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void accounting_deinit(struct hostapd_data *hapd)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - ppe_thres_hdr
    - phy_cap_info
    argTypes:
    - u8
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 49
    functionName: ieee80211_he_ppet_size
    functionSourceFile: /src/hostap/src/ap/ieee802_11_he.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 ieee80211_he_ppet_size(u8 ppe_thres_hdr, const u8 *phy_cap_info)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - phy_cap_info
    argTypes:
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 64
    functionName: ieee80211_he_mcs_set_size
    functionSourceFile: /src/hostap/src/ap/ieee802_11_he.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 ieee80211_he_mcs_set_size(const u8 *phy_cap_info)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ieee80211_he_mcs_set_size
      Src: /src/hostap/src/ap/ieee802_11_he.c:79,1
    - Dst: ieee80211_he_ppet_size
      Src: /src/hostap/src/ap/ieee802_11_he.c:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 88
    functionName: ieee80211_invalid_he_cap_size
    functionSourceFile: /src/hostap/src/ap/ieee802_11_he.c
    functionUses: 0
    functionsReached:
    - ieee80211_he_ppet_size
    - ieee80211_he_mcs_set_size
    linkageType: ''
    returnType: int
    signature: int ieee80211_invalid_he_cap_size(const u8 *buf, size_t len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ieee80211_he_mcs_set_size
      Src: /src/hostap/src/ap/ieee802_11_he.c:106,1
    - Dst: ieee80211_he_ppet_size
      Src: /src/hostap/src/ap/ieee802_11_he.c:107,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/ieee802_11_he.c:117,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_he.c:119,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_he.c:121,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_he.c:124,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_he.c:128,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 3
    argNames:
    - hapd
    - eid
    - opmode
    argTypes:
    - struct hostapd_data*
    - u8*
    - enum ieee80211_op_mode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 154
    functionName: hostapd_eid_he_capab
    functionSourceFile: /src/hostap/src/ap/ieee802_11_he.c
    functionUses: 5
    functionsReached:
    - os_memset
    - ieee80211_he_ppet_size
    - os_memcpy
    - ieee80211_he_mcs_set_size
    linkageType: ''
    returnType: u8
    signature: "u8 * hostapd_eid_he_capab(struct hostapd_data *hapd, u8 *eid,\n\t\t\t
      \ enum ieee80211_op_mode opmode)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: is_6ghz_op_class
      Src: /src/hostap/src/ap/ieee802_11_he.c:167,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/ieee802_11_he.c:175,1
    - Dst: host_to_le16
      Src: /src/hostap/src/ap/ieee802_11_he.c:201,1
    - Dst: is_6ghz_op_class
      Src: /src/hostap/src/ap/ieee802_11_he.c:207,1
    - Dst: hostapd_get_oper_centr_freq_seg1_idx
      Src: /src/hostap/src/ap/ieee802_11_he.c:211,1
    - Dst: hostapd_get_punct_bitmap
      Src: /src/hostap/src/ap/ieee802_11_he.c:214,1
    - Dst: hostapd_get_oper_chwidth
      Src: /src/hostap/src/ap/ieee802_11_he.c:217,1
    - Dst: hostapd_get_oper_centr_freq_seg0_idx
      Src: /src/hostap/src/ap/ieee802_11_he.c:218,1
    - Dst: punct_update_legacy_bw
      Src: /src/hostap/src/ap/ieee802_11_he.c:220,1
    - Dst: center_idx_to_bw_6ghz
      Src: /src/hostap/src/ap/ieee802_11_he.c:246,1
    - Dst: host_to_le32
      Src: /src/hostap/src/ap/ieee802_11_he.c:273,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    argCount: 2
    argNames:
    - hapd
    - eid
    argTypes:
    - struct hostapd_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 276
    functionName: hostapd_eid_he_operation
    functionSourceFile: /src/hostap/src/ap/ieee802_11_he.c
    functionUses: 5
    functionsReached:
    - hostapd_get_oper_centr_freq_seg1_idx
    - is_6ghz_op_class
    - hostapd_get_punct_bitmap
    - hostapd_get_oper_chwidth
    - hostapd_get_oper_centr_freq_seg0_idx
    - host_to_le32
    - center_idx_to_bw_6ghz
    - punct_update_legacy_bw
    - host_to_le16
    - os_memset
    linkageType: ''
    returnType: u8
    signature: u8 * hostapd_eid_he_operation(struct hostapd_data *hapd, u8 *eid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_he.c:299,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/ieee802_11_he.c:301,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - hapd
    - eid
    argTypes:
    - struct hostapd_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 307
    functionName: hostapd_eid_he_mu_edca_parameter_set
    functionSourceFile: /src/hostap/src/ap/ieee802_11_he.c
    functionUses: 4
    functionsReached:
    - os_memcpy
    - wpa_hexdump
    linkageType: ''
    returnType: u8
    signature: u8 * hostapd_eid_he_mu_edca_parameter_set(struct hostapd_data *hapd,
      u8 *eid)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/ap/ieee802_11_he.c:332,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_he.c:345,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_he.c:348,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 2
    argNames:
    - hapd
    - eid
    argTypes:
    - struct hostapd_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 354
    functionName: hostapd_eid_spatial_reuse
    functionSourceFile: /src/hostap/src/ap/ieee802_11_he.c
    functionUses: 4
    functionsReached:
    - os_memcpy
    - os_memset
    linkageType: ''
    returnType: u8
    signature: u8 * hostapd_eid_spatial_reuse(struct hostapd_data *hapd, u8 *eid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_6ghz_op_class
      Src: /src/hostap/src/ap/ieee802_11_he.c:366,1
    - Dst: is_6ghz_freq
      Src: /src/hostap/src/ap/ieee802_11_he.c:367,1
    - Dst: host_to_le16
      Src: /src/hostap/src/ap/ieee802_11_he.c:390,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - hapd
    - eid
    argTypes:
    - struct hostapd_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 394
    functionName: hostapd_eid_he_6ghz_band_cap
    functionSourceFile: /src/hostap/src/ap/ieee802_11_he.c
    functionUses: 5
    functionsReached:
    - is_6ghz_op_class
    - is_6ghz_freq
    - host_to_le16
    linkageType: ''
    returnType: u8
    signature: u8 * hostapd_eid_he_6ghz_band_cap(struct hostapd_data *hapd, u8 *eid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_he.c:409,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - hapd
    - he_cap
    - neg_he_cap
    - he_capab_len
    argTypes:
    - struct hostapd_data*
    - struct ieee80211_he_capabilities*
    - struct ieee80211_he_capabilities*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 410
    functionName: hostapd_get_he_capab
    functionSourceFile: /src/hostap/src/ap/ieee802_11_he.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    linkageType: ''
    returnType: void
    signature: "void hostapd_get_he_capab(struct hostapd_data *hapd,\n\t\t\t  const
      struct ieee80211_he_capabilities *he_cap,\n\t\t\t  struct ieee80211_he_capabilities
      *neg_he_cap,\n\t\t\t  size_t he_capab_len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/ap/ieee802_11_he.c:450,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/ap/ieee802_11_he.c:451,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_he.c:465,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 3
    argNames:
    - hapd
    - sta_he_capab
    - opmode
    argTypes:
    - struct hostapd_data*
    - u8*
    - enum ieee80211_op_mode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 469
    functionName: check_valid_he_mcs
    functionSourceFile: /src/hostap/src/ap/ieee802_11_he.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - WPA_GET_LE16
    linkageType: ''
    returnType: int
    signature: "int check_valid_he_mcs(struct hostapd_data *hapd, const u8 *sta_he_capab,\n\t\t\t
      \     enum ieee80211_op_mode opmode)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_is_he_enabled
      Src: /src/hostap/src/ap/ieee802_11_he.c:477,1
    - Dst: check_valid_he_mcs
      Src: /src/hostap/src/ap/ieee802_11_he.c:478,1
    - Dst: ieee80211_invalid_he_cap_size
      Src: /src/hostap/src/ap/ieee802_11_he.c:479,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_11_he.c:482,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/ieee802_11_he.c:489,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/ieee802_11_he.c:495,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_he.c:496,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 5
    argNames:
    - hapd
    - sta
    - opmode
    - he_capab
    - he_capab_len
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - enum ieee80211_op_mode
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 472
    functionDepth: 2
    functionLinenumber: 472
    functionLinenumberEnd: 500
    functionName: copy_sta_he_capab
    functionSourceFile: /src/hostap/src/ap/ieee802_11_he.c
    functionUses: 2
    functionsReached:
    - os_memcpy
    - os_memset
    - os_zalloc
    - hostapd_is_he_enabled
    - os_free
    - check_valid_he_mcs
    - ieee80211_invalid_he_cap_size
    linkageType: ''
    returnType: u16
    signature: "u16 copy_sta_he_capab(struct hostapd_data *hapd, struct sta_info *sta,\n\t\t
      \     enum ieee80211_op_mode opmode, const u8 *he_capab,\n\t\t      size_t he_capab_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_is_he_enabled
      Src: /src/hostap/src/ap/ieee802_11_he.c:506,1
    - Dst: is_6ghz_op_class
      Src: /src/hostap/src/ap/ieee802_11_he.c:507,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_11_he.c:510,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/ieee802_11_he.c:517,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_he.c:523,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - hapd
    - sta
    - he_6ghz_capab
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 527
    functionName: copy_sta_he_6ghz_capab
    functionSourceFile: /src/hostap/src/ap/ieee802_11_he.c
    functionUses: 2
    functionsReached:
    - os_memcpy
    - is_6ghz_op_class
    - os_zalloc
    - os_free
    - hostapd_is_he_enabled
    linkageType: ''
    returnType: u16
    signature: "u16 copy_sta_he_6ghz_capab(struct hostapd_data *hapd, struct sta_info
      *sta,\n\t\t\t   const u8 *he_6ghz_capab)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_is_he_enabled
      Src: /src/hostap/src/ap/ieee802_11_he.c:537,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - hapd
    - mode
    argTypes:
    - struct hostapd_data*
    - enum ieee80211_op_mode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 530
    functionDepth: 1
    functionLinenumber: 530
    functionLinenumberEnd: 544
    functionName: hostapd_get_he_twt_responder
    functionSourceFile: /src/hostap/src/ap/ieee802_11_he.c
    functionUses: 2
    functionsReached:
    - hostapd_is_he_enabled
    linkageType: ''
    returnType: int
    signature: "int hostapd_get_he_twt_responder(struct hostapd_data *hapd,\n\t\t\t\t
      enum ieee80211_op_mode mode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - hapd
    - eid
    argTypes:
    - struct hostapd_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 560
    functionName: hostapd_eid_cca
    functionSourceFile: /src/hostap/src/ap/ieee802_11_he.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 * hostapd_eid_cca(struct hostapd_data *hapd, u8 *eid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::send_action_cancel_wait
      Src: /src/hostap/src/ap/ap_drv_ops.h:132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 133
    functionName: hostapd_drv_send_action_cancel_wait
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.h
    functionUses: 11
    functionsReached:
    - struct hostapd_data*::driver::send_action_cancel_wait
    linkageType: ''
    returnType: void
    signature: void hostapd_drv_send_action_cancel_wait(struct hostapd_data *hapd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::hapd_set_countermeasures
      Src: /src/hostap/src/ap/ap_drv_ops.h:181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - hapd
    - enabled
    argTypes:
    - struct hostapd_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 182
    functionName: hostapd_drv_set_countermeasures
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.h
    functionUses: 2
    functionsReached:
    - struct hostapd_data*::driver::hapd_set_countermeasures
    linkageType: ''
    returnType: int
    signature: "int hostapd_drv_set_countermeasures(struct hostapd_data *hapd,\n\t\t\t\t\t\t
      \ int enabled)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::set_sta_vlan
      Src: /src/hostap/src/ap/ap_drv_ops.h:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 5
    argNames:
    - ifname
    - hapd
    - addr
    - vlan_id
    - link_id
    argTypes:
    - char*
    - struct hostapd_data*
    - u8*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 193
    functionName: hostapd_drv_set_sta_vlan
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.h
    functionUses: 1
    functionsReached:
    - struct hostapd_data*::driver::set_sta_vlan
    linkageType: ''
    returnType: int
    signature: "int hostapd_drv_set_sta_vlan(const char *ifname,\n\t\t\t\t\t   struct
      hostapd_data *hapd,\n\t\t\t\t\t   const u8 *addr, int vlan_id,\n\t\t\t\t\t   int
      link_id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::get_inact_sec
      Src: /src/hostap/src/ap/ap_drv_ops.h:200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - hapd
    - addr
    argTypes:
    - struct hostapd_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 201
    functionName: hostapd_drv_get_inact_sec
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.h
    functionUses: 1
    functionsReached:
    - struct hostapd_data*::driver::get_inact_sec
    linkageType: ''
    returnType: int
    signature: "int hostapd_drv_get_inact_sec(struct hostapd_data *hapd,\n\t\t\t\t\t
      \   const u8 *addr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::sta_remove
      Src: /src/hostap/src/ap/ap_drv_ops.h:208,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - hapd
    - addr
    argTypes:
    - struct hostapd_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 209
    functionName: hostapd_drv_sta_remove
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.h
    functionUses: 17
    functionsReached:
    - struct hostapd_data*::driver::sta_remove
    linkageType: ''
    returnType: int
    signature: "int hostapd_drv_sta_remove(struct hostapd_data *hapd,\n\t\t\t\t\t
      const u8 *addr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::hapd_send_eapol
      Src: /src/hostap/src/ap/ap_drv_ops.h:218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 7
    argNames:
    - hapd
    - addr
    - data
    - data_len
    - encrypt
    - flags
    - link_id
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8*
    - size_t
    - int
    - u32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 221
    functionName: hostapd_drv_hapd_send_eapol
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.h
    functionUses: 1
    functionsReached:
    - struct hostapd_data*::driver::hapd_send_eapol
    linkageType: ''
    returnType: int
    signature: "int hostapd_drv_hapd_send_eapol(struct hostapd_data *hapd,\n\t\t\t\t\t
      \     const u8 *addr, const u8 *data,\n\t\t\t\t\t      size_t data_len, int
      encrypt,\n\t\t\t\t\t      u32 flags, int link_id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::read_sta_data
      Src: /src/hostap/src/ap/ap_drv_ops.h:229,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - hapd
    - data
    - addr
    argTypes:
    - struct hostapd_data*
    - struct hostap_sta_driver_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 230
    functionName: hostapd_drv_read_sta_data
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.h
    functionUses: 7
    functionsReached:
    - struct hostapd_data*::driver::read_sta_data
    linkageType: ''
    returnType: int
    signature: "int hostapd_drv_read_sta_data(\n\tstruct hostapd_data *hapd, struct
      hostap_sta_driver_data *data,\n\tconst u8 *addr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::sta_clear_stats
      Src: /src/hostap/src/ap/ap_drv_ops.h:237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - hapd
    - addr
    argTypes:
    - struct hostapd_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 238
    functionName: hostapd_drv_sta_clear_stats
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.h
    functionUses: 1
    functionsReached:
    - struct hostapd_data*::driver::sta_clear_stats
    linkageType: ''
    returnType: int
    signature: "int hostapd_drv_sta_clear_stats(struct hostapd_data *hapd,\n\t\t\t\t\t
      \     const u8 *addr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::set_acl
      Src: /src/hostap/src/ap/ap_drv_ops.h:245,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - hapd
    - params
    argTypes:
    - struct hostapd_data*
    - struct hostapd_acl_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 246
    functionName: hostapd_drv_set_acl
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.h
    functionUses: 1
    functionsReached:
    - struct hostapd_data*::driver::set_acl
    linkageType: ''
    returnType: int
    signature: "int hostapd_drv_set_acl(struct hostapd_data *hapd,\n\t\t\t\t      struct
      hostapd_acl_params *params)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::set_ap
      Src: /src/hostap/src/ap/ap_drv_ops.h:253,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - hapd
    - params
    argTypes:
    - struct hostapd_data*
    - struct wpa_driver_ap_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 254
    functionName: hostapd_drv_set_ap
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.h
    functionUses: 1
    functionsReached:
    - struct hostapd_data*::driver::set_ap
    linkageType: ''
    returnType: int
    signature: "int hostapd_drv_set_ap(struct hostapd_data *hapd,\n\t\t\t\t     struct
      wpa_driver_ap_params *params)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::set_radius_acl_auth
      Src: /src/hostap/src/ap/ap_drv_ops.h:262,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - hapd
    - mac
    - accepted
    - session_timeout
    argTypes:
    - struct hostapd_data*
    - u8*
    - int
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 264
    functionName: hostapd_drv_set_radius_acl_auth
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.h
    functionUses: 1
    functionsReached:
    - struct hostapd_data*::driver::set_radius_acl_auth
    linkageType: ''
    returnType: int
    signature: "int hostapd_drv_set_radius_acl_auth(struct hostapd_data *hapd,\n\t\t\t\t\t\t
      \ const u8 *mac, int accepted,\n\t\t\t\t\t\t  u32 session_timeout)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::set_radius_acl_expire
      Src: /src/hostap/src/ap/ap_drv_ops.h:272,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - hapd
    - mac
    argTypes:
    - struct hostapd_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 273
    functionName: hostapd_drv_set_radius_acl_expire
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.h
    functionUses: 1
    functionsReached:
    - struct hostapd_data*::driver::set_radius_acl_expire
    linkageType: ''
    returnType: int
    signature: "int hostapd_drv_set_radius_acl_expire(struct hostapd_data *hapd,\n\t\t\t\t\t\t
      \   const u8 *mac)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::poll_client
      Src: /src/hostap/src/ap/ap_drv_ops.h:281,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - hapd
    - own_addr
    - addr
    - qos
    argTypes:
    - struct hostapd_data*
    - u8*
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 282
    functionName: hostapd_drv_poll_client
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.h
    functionUses: 2
    functionsReached:
    - struct hostapd_data*::driver::poll_client
    linkageType: ''
    returnType: void
    signature: "void hostapd_drv_poll_client(struct hostapd_data *hapd,\n\t\t\t\t\t
      \  const u8 *own_addr, const u8 *addr,\n\t\t\t\t\t   int qos)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::get_survey
      Src: /src/hostap/src/ap/ap_drv_ops.h:291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - hapd
    - freq
    argTypes:
    - struct hostapd_data*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 292
    functionName: hostapd_drv_get_survey
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.h
    functionUses: 2
    functionsReached:
    - struct hostapd_data*::driver::get_survey
    linkageType: ''
    returnType: int
    signature: "int hostapd_drv_get_survey(struct hostapd_data *hapd,\n\t\t\t\t\t
      unsigned int freq)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::get_country
      Src: /src/hostap/src/ap/ap_drv_ops.h:298,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - hapd
    - alpha2
    argTypes:
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 299
    functionName: hostapd_get_country
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.h
    functionUses: 1
    functionsReached:
    - struct hostapd_data*::driver::get_country
    linkageType: ''
    returnType: int
    signature: int hostapd_get_country(struct hostapd_data *hapd, char *alpha2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::get_radio_name
      Src: /src/hostap/src/ap/ap_drv_ops.h:306,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 307
    functionName: hostapd_drv_get_radio_name
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.h
    functionUses: 1
    functionsReached:
    - struct hostapd_data*::driver::get_radio_name
    linkageType: ''
    returnType: char
    signature: char * hostapd_drv_get_radio_name(struct hostapd_data *hapd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::switch_channel
      Src: /src/hostap/src/ap/ap_drv_ops.h:316,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - hapd
    - settings
    argTypes:
    - struct hostapd_data*
    - struct csa_settings*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 317
    functionName: hostapd_drv_switch_channel
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.h
    functionUses: 1
    functionsReached:
    - struct hostapd_data*::driver::switch_channel
    linkageType: ''
    returnType: int
    signature: "int hostapd_drv_switch_channel(struct hostapd_data *hapd,\n\t\t\t\t\t
      \    struct csa_settings *settings)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::switch_color
      Src: /src/hostap/src/ap/ap_drv_ops.h:326,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - hapd
    - settings
    argTypes:
    - struct hostapd_data*
    - struct cca_settings*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 327
    functionName: hostapd_drv_switch_color
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.h
    functionUses: 2
    functionsReached:
    - struct hostapd_data*::driver::switch_color
    linkageType: ''
    returnType: int
    signature: "int hostapd_drv_switch_color(struct hostapd_data *hapd,\n\t\t\t\t\t
      \  struct cca_settings *settings)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::status
      Src: /src/hostap/src/ap/ap_drv_ops.h:335,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - hapd
    - buf
    - buflen
    argTypes:
    - struct hostapd_data*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 336
    functionName: hostapd_drv_status
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.h
    functionUses: 0
    functionsReached:
    - struct hostapd_data*::driver::status
    linkageType: ''
    returnType: int
    signature: "int hostapd_drv_status(struct hostapd_data *hapd, char *buf,\n\t\t\t\t
      \    size_t buflen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::br_add_ip_neigh
      Src: /src/hostap/src/ap/ap_drv_ops.h:345,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 5
    argNames:
    - hapd
    - version
    - ipaddr
    - prefixlen
    - addr
    argTypes:
    - struct hostapd_data*
    - int
    - u8*
    - int
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 347
    functionName: hostapd_drv_br_add_ip_neigh
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.h
    functionUses: 2
    functionsReached:
    - struct hostapd_data*::driver::br_add_ip_neigh
    linkageType: ''
    returnType: int
    signature: "int hostapd_drv_br_add_ip_neigh(struct hostapd_data *hapd,\n\t\t\t\t\t
      \     int version, const u8 *ipaddr,\n\t\t\t\t\t      int prefixlen, const u8
      *addr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::br_delete_ip_neigh
      Src: /src/hostap/src/ap/ap_drv_ops.h:355,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - hapd
    - version
    - ipaddr
    argTypes:
    - struct hostapd_data*
    - u8
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 357
    functionName: hostapd_drv_br_delete_ip_neigh
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.h
    functionUses: 6
    functionsReached:
    - struct hostapd_data*::driver::br_delete_ip_neigh
    linkageType: ''
    returnType: int
    signature: "int hostapd_drv_br_delete_ip_neigh(struct hostapd_data *hapd,\n\t\t\t\t\t\t
      u8 version, const u8 *ipaddr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::br_port_set_attr
      Src: /src/hostap/src/ap/ap_drv_ops.h:366,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - hapd
    - attr
    - val
    argTypes:
    - struct hostapd_data*
    - enum drv_br_port_attr
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 367
    functionName: hostapd_drv_br_port_set_attr
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.h
    functionUses: 3
    functionsReached:
    - struct hostapd_data*::driver::br_port_set_attr
    linkageType: ''
    returnType: int
    signature: "int hostapd_drv_br_port_set_attr(struct hostapd_data *hapd,\n\t\t\t\t\t
      \      enum drv_br_port_attr attr,\n\t\t\t\t\t       unsigned int val)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::br_set_net_param
      Src: /src/hostap/src/ap/ap_drv_ops.h:376,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - hapd
    - param
    - val
    argTypes:
    - struct hostapd_data*
    - enum drv_br_net_param
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 377
    functionName: hostapd_drv_br_set_net_param
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.h
    functionUses: 2
    functionsReached:
    - struct hostapd_data*::driver::br_set_net_param
    linkageType: ''
    returnType: int
    signature: "int hostapd_drv_br_set_net_param(struct hostapd_data *hapd,\n\t\t\t\t\t
      \      enum drv_br_net_param param,\n\t\t\t\t\t       unsigned int val)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::vendor_cmd
      Src: /src/hostap/src/ap/ap_drv_ops.h:387,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 7
    argNames:
    - hapd
    - vendor_id
    - subcmd
    - data
    - data_len
    - nested_attr_flag
    - buf
    argTypes:
    - struct hostapd_data*
    - int
    - int
    - u8*
    - size_t
    - enum nested_attr
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 389
    functionName: hostapd_drv_vendor_cmd
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.h
    functionUses: 1
    functionsReached:
    - struct hostapd_data*::driver::vendor_cmd
    linkageType: ''
    returnType: int
    signature: "int hostapd_drv_vendor_cmd(struct hostapd_data *hapd,\n\t\t\t\t\t
      int vendor_id, int subcmd,\n\t\t\t\t\t const u8 *data, size_t data_len,\n\t\t\t\t\t
      enum nested_attr nested_attr_flag,\n\t\t\t\t\t struct wpabuf *buf)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::stop_ap
      Src: /src/hostap/src/ap/ap_drv_ops.h:402,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 408
    functionName: hostapd_drv_stop_ap
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.h
    functionUses: 2
    functionsReached:
    - struct hostapd_data*::driver::stop_ap
    linkageType: ''
    returnType: int
    signature: int hostapd_drv_stop_ap(struct hostapd_data *hapd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::channel_info
      Src: /src/hostap/src/ap/ap_drv_ops.h:415,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - hapd
    - ci
    argTypes:
    - struct hostapd_data*
    - struct wpa_channel_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 416
    functionName: hostapd_drv_channel_info
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.h
    functionUses: 8
    functionsReached:
    - struct hostapd_data*::driver::channel_info
    linkageType: ''
    returnType: int
    signature: "int hostapd_drv_channel_info(struct hostapd_data *hapd,\n\t\t\t\t\t
      \  struct wpa_channel_info *ci)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::send_external_auth_status
      Src: /src/hostap/src/ap/ap_drv_ops.h:425,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - hapd
    - params
    argTypes:
    - struct hostapd_data*
    - struct external_auth*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 426
    functionName: hostapd_drv_send_external_auth_status
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.h
    functionUses: 1
    functionsReached:
    - struct hostapd_data*::driver::send_external_auth_status
    linkageType: ''
    returnType: int
    signature: "int hostapd_drv_send_external_auth_status(struct hostapd_data *hapd,\n\t\t\t\t
      \     struct external_auth *params)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::set_band
      Src: /src/hostap/src/ap/ap_drv_ops.h:433,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - hapd
    - band_mask
    argTypes:
    - struct hostapd_data*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 434
    functionName: hostapd_drv_set_band
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.h
    functionUses: 1
    functionsReached:
    - struct hostapd_data*::driver::set_band
    linkageType: ''
    returnType: int
    signature: int hostapd_drv_set_band(struct hostapd_data *hapd, u32 band_mask)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::driver_cmd
      Src: /src/hostap/src/ap/ap_drv_ops.h:442,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - hapd
    - cmd
    - buf
    - buf_len
    argTypes:
    - struct hostapd_data*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 443
    functionName: hostapd_drv_driver_cmd
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.h
    functionUses: 1
    functionsReached:
    - struct hostapd_data*::driver::driver_cmd
    linkageType: ''
    returnType: int
    signature: "int hostapd_drv_driver_cmd(struct hostapd_data *hapd,\n\t\t\t\t\t
      char *cmd, char *buf, size_t buf_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::register_frame
      Src: /src/hostap/src/ap/ap_drv_ops.h:454,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 5
    argNames:
    - hapd
    - type
    - match
    - match_len
    - multicast
    argTypes:
    - struct hostapd_data*
    - u16
    - u8*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 456
    functionName: hostapd_drv_register_frame
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.h
    functionUses: 1
    functionsReached:
    - struct hostapd_data*::driver::register_frame
    linkageType: ''
    returnType: int
    signature: "int hostapd_drv_register_frame(struct hostapd_data *hapd, u16 type,\n\t\t\t
      \  const u8 *match, size_t match_len,\n\t\t\t   bool multicast)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::link_add
      Src: /src/hostap/src/ap/ap_drv_ops.h:467,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - hapd
    - link_id
    - addr
    argTypes:
    - struct hostapd_data*
    - u8
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 469
    functionName: hostapd_drv_link_add
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.h
    functionUses: 4
    functionsReached:
    - struct hostapd_data*::driver::link_add
    linkageType: ''
    returnType: int
    signature: "int hostapd_drv_link_add(struct hostapd_data *hapd,\n\t\t\t\t       u8
      link_id, const u8 *addr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::driver::link_sta_remove
      Src: /src/hostap/src/ap/ap_drv_ops.h:478,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - hapd
    - addr
    argTypes:
    - struct hostapd_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 480
    functionName: hostapd_drv_link_sta_remove
    functionSourceFile: /src/hostap/src/ap/ap_drv_ops.h
    functionUses: 1
    functionsReached:
    - struct hostapd_data*::driver::link_sta_remove
    linkageType: ''
    returnType: int
    signature: "int hostapd_drv_link_sta_remove(struct hostapd_data *hapd,\n\t\t\t\t\t
      \     const u8 *addr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - hapd
    - buf
    - buflen
    argTypes:
    - struct hostapd_data*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: ieee802_11_get_mib
    functionSourceFile: /src/hostap/src/ap/ieee802_11.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ieee802_11_get_mib(struct hostapd_data *hapd, char *buf,\n\t\t\t\t
      \    size_t buflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - hapd
    - sta
    - buf
    - buflen
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: ieee802_11_get_mib_sta
    functionSourceFile: /src/hostap/src/ap/ieee802_11.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ieee802_11_get_mib_sta(struct hostapd_data *hapd,\n\t\t\t\t\t
      struct sta_info *sta,\n\t\t\t\t\t char *buf, size_t buflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 205
    functionName: sae_clear_retransmit_timer
    functionSourceFile: /src/hostap/src/ap/ieee802_11.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void sae_clear_retransmit_timer(struct hostapd_data *hapd,\n\t\t\t\t\t
      \     struct sta_info *sta)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - hapd
    - eid
    - len
    argTypes:
    - struct hostapd_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 223
    functionName: hostapd_eid_mbo
    functionSourceFile: /src/hostap/src/ap/ieee802_11.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: "u8 * hostapd_eid_mbo(struct hostapd_data *hapd, u8 *eid,\n\t\t\t\t
      \  size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 228
    functionName: hostapd_mbo_ie_len
    functionSourceFile: /src/hostap/src/ap/ieee802_11.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 hostapd_mbo_ie_len(struct hostapd_data *hapd)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_mbssid_get_tx_bss
      Src: /src/hostap/src/ap/wpa_auth_glue.c:44,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/wpa_auth_glue.c:56,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/wpa_auth_glue.c:63,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 37
    argCount: 2
    argNames:
    - hapd
    - _conf
    argTypes:
    - struct hostapd_data*
    - struct wpa_auth_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 110
    functionName: hostapd_wpa_auth_config_update
    functionSourceFile: /src/hostap/src/ap/wpa_auth_glue.c
    functionUses: 0
    functionsReached:
    - wpa_msg
    - hostapd_mbssid_get_tx_bss
    linkageType: ''
    returnType: void
    signature: "void hostapd_wpa_auth_config_update(struct hostapd_data *hapd,\n\t\t\t\t\t
      \  struct wpa_auth_config *_conf)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 107
    functionName: for_each_mld_link
    functionSourceFile: /src/hostap/src/ap/wpa_auth_glue.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void for_each_mld_link(lhapd, hapd)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/ap/wpa_auth_glue.c:119,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_glue.c:167,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_glue.c:169,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/wpa_auth_glue.c:172,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/wpa_auth_glue.c:173,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_glue.c:174,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_glue.c:177,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/wpa_auth_glue.c:199,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/wpa_auth_glue.c:200,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_glue.c:201,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/wpa_auth_glue.c:202,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/wpa_auth_glue.c:206,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/wpa_auth_glue.c:207,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_glue.c:208,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/wpa_auth_glue.c:209,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/wpa_auth_glue.c:214,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/wpa_auth_glue.c:215,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_glue.c:216,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/wpa_auth_glue.c:217,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/wpa_auth_glue.c:222,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/wpa_auth_glue.c:223,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_glue.c:224,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/wpa_auth_glue.c:225,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/wpa_auth_glue.c:230,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/wpa_auth_glue.c:231,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_glue.c:232,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/wpa_auth_glue.c:233,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/wpa_auth_glue.c:238,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/wpa_auth_glue.c:239,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_glue.c:240,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/wpa_auth_glue.c:241,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/wpa_auth_glue.c:246,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/wpa_auth_glue.c:249,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_glue.c:250,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/wpa_auth_glue.c:251,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/wpa_auth_glue.c:255,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/wpa_auth_glue.c:258,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_glue.c:259,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/wpa_auth_glue.c:260,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/wpa_auth_glue.c:264,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/wpa_auth_glue.c:267,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_glue.c:268,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/wpa_auth_glue.c:269,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/wpa_auth_glue.c:273,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/wpa_auth_glue.c:276,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_glue.c:277,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/wpa_auth_glue.c:278,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/wpa_auth_glue.c:282,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/wpa_auth_glue.c:283,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_glue.c:284,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/wpa_auth_glue.c:285,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/wpa_auth_glue.c:286,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/wpa_auth_glue.c:290,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/wpa_auth_glue.c:291,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_glue.c:292,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/wpa_auth_glue.c:293,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/wpa_auth_glue.c:294,1
    - Dst: wpabuf_dup
      Src: /src/hostap/src/ap/wpa_auth_glue.c:305,1
    - Dst: wpabuf_dup
      Src: /src/hostap/src/ap/wpa_auth_glue.c:307,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_glue.c:312,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_glue.c:313,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_glue.c:314,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_glue.c:315,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_glue.c:319,1
    - Dst: hostapd_sae_pw_id_in_use
      Src: /src/hostap/src/ap/wpa_auth_glue.c:323,1
    - Dst: hostapd_sae_pk_in_use
      Src: /src/hostap/src/ap/wpa_auth_glue.c:329,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/wpa_auth_glue.c:362,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_glue.c:364,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/wpa_auth_glue.c:365,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/wpa_auth_glue.c:366,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 162
    argCount: 4
    argNames:
    - iface
    - conf
    - iconf
    - wconf
    argTypes:
    - struct hostapd_iface*
    - struct hostapd_bss_config*
    - struct hostapd_config*
    - struct wpa_auth_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 368
    functionName: hostapd_wpa_auth_conf
    functionSourceFile: /src/hostap/src/ap/wpa_auth_glue.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpabuf_dup
    - os_memcpy
    - wpabuf_len
    - wpabuf_head
    - hostapd_sae_pw_id_in_use
    - hostapd_sae_pk_in_use
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void hostapd_wpa_auth_conf(struct hostapd_iface *iface,\n\t\t\t\t
      \ struct hostapd_bss_config *conf,\n\t\t\t\t  struct hostapd_config *iconf,\n\t\t\t\t
      \ struct wpa_auth_config *wconf)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/wpa_auth_glue.c:391,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - ctx
    - addr
    - level
    - txt
    argTypes:
    - void*
    - u8*
    - logger_level
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 393
    functionName: hostapd_wpa_auth_logger
    functionSourceFile: /src/hostap/src/ap/wpa_auth_glue.c
    functionUses: 0
    functionsReached:
    - hostapd_logger
    linkageType: ''
    returnType: void
    signature: "void hostapd_wpa_auth_logger(void *ctx, const u8 *addr,\n\t\t\t\t
      \   logger_level level, const char *txt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_glue.c:400,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth_glue.c:402,1
    - Dst: ap_sta_disconnect
      Src: /src/hostap/src/ap/wpa_auth_glue.c:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - addr
    - reason
    argTypes:
    - void*
    - u8*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 396
    functionDepth: 8
    functionLinenumber: 396
    functionLinenumberEnd: 404
    functionName: hostapd_wpa_auth_disconnect
    functionSourceFile: /src/hostap/src/ap/wpa_auth_glue.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    - ap_sta_disconnect
    linkageType: ''
    returnType: void
    signature: "void hostapd_wpa_auth_disconnect(void *ctx, const u8 *addr,\n\t\t\t\t\tu16
      reason)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: michael_mic_failure
      Src: /src/hostap/src/ap/wpa_auth_glue.c:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - addr
    argTypes:
    - void*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 407
    functionDepth: 14
    functionLinenumber: 407
    functionLinenumberEnd: 411
    functionName: hostapd_wpa_auth_mic_failure_report
    functionSourceFile: /src/hostap/src/ap/wpa_auth_glue.c
    functionUses: 0
    functionsReached:
    - michael_mic_failure
    linkageType: ''
    returnType: int
    signature: int hostapd_wpa_auth_mic_failure_report(void *ctx, const u8 *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/wpa_auth_glue.c:417,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth_glue.c:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - addr
    argTypes:
    - void*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 419
    functionName: hostapd_wpa_auth_psk_failure_report
    functionSourceFile: /src/hostap/src/ap/wpa_auth_glue.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: void hostapd_wpa_auth_psk_failure_report(void *ctx, const u8 *addr)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/wpa_auth_glue.c:426,1
    - Dst: ieee802_1x_notify_port_enabled
      Src: /src/hostap/src/ap/wpa_auth_glue.c:431,1
    - Dst: ieee802_1x_notify_port_valid
      Src: /src/hostap/src/ap/wpa_auth_glue.c:434,1
    - Dst: ieee802_1x_set_sta_authorized
      Src: /src/hostap/src/ap/wpa_auth_glue.c:437,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 4
    argNames:
    - ctx
    - addr
    - var
    - value
    argTypes:
    - void*
    - u8*
    - wpa_eapol_variable
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 422
    functionDepth: 6
    functionLinenumber: 422
    functionLinenumberEnd: 460
    functionName: hostapd_wpa_auth_set_eapol
    functionSourceFile: /src/hostap/src/ap/wpa_auth_glue.c
    functionUses: 0
    functionsReached:
    - ieee802_1x_set_sta_authorized
    - ieee802_1x_notify_port_valid
    - ieee802_1x_notify_port_enabled
    - ap_get_sta
    linkageType: ''
    returnType: void
    signature: "void hostapd_wpa_auth_set_eapol(void *ctx, const u8 *addr,\n\t\t\t\t
      \      wpa_eapol_variable var, int value)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/wpa_auth_glue.c:467,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ctx
    - addr
    - var
    argTypes:
    - void*
    - u8*
    - wpa_eapol_variable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 463
    functionDepth: 2
    functionLinenumber: 463
    functionLinenumberEnd: 478
    functionName: hostapd_wpa_auth_get_eapol
    functionSourceFile: /src/hostap/src/ap/wpa_auth_glue.c
    functionUses: 0
    functionsReached:
    - ap_get_sta
    linkageType: ''
    returnType: int
    signature: "int hostapd_wpa_auth_get_eapol(void *ctx, const u8 *addr,\n\t\t\t\t
      \     wpa_eapol_variable var)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/wpa_auth_glue.c:487,1
    - Dst: wpa_auth_uses_sae
      Src: /src/hostap/src/ap/wpa_auth_glue.c:503,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_glue.c:504,1
    - Dst: wpa_auth_sta_get_pmksa
      Src: /src/hostap/src/ap/wpa_auth_glue.c:524,1
    - Dst: hostapd_get_psk
      Src: /src/hostap/src/ap/wpa_auth_glue.c:533,1
    - Dst: pbkdf2_sha1
      Src: /src/hostap/src/ap/wpa_auth_glue.c:548,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_glue.c:552,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 49
    argCount: 6
    argNames:
    - ctx
    - addr
    - p2p_dev_addr
    - prev_psk
    - psk_len
    - vlan_id
    argTypes:
    - void*
    - u8*
    - u8*
    - u8*
    - size_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 481
    functionDepth: 2
    functionLinenumber: 481
    functionLinenumberEnd: 565
    functionName: hostapd_wpa_auth_get_psk
    functionSourceFile: /src/hostap/src/ap/wpa_auth_glue.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_auth_uses_sae
    - hostapd_get_psk
    - pbkdf2_sha1
    - wpa_auth_sta_get_pmksa
    - ap_get_sta
    linkageType: ''
    returnType: u8
    signature: "u8 * hostapd_wpa_auth_get_psk(void *ctx, const u8 *addr,\n\t\t\t\t\t
      \  const u8 *p2p_dev_addr,\n\t\t\t\t\t   const u8 *prev_psk, size_t *psk_len,\n\t\t\t\t\t
      \  int *vlan_id)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/wpa_auth_glue.c:576,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_glue.c:578,1
    - Dst: ieee802_1x_get_key
      Src: /src/hostap/src/ap/wpa_auth_glue.c:582,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_glue.c:584,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_glue.c:591,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - ctx
    - addr
    - msk
    - len
    argTypes:
    - void*
    - u8*
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 568
    functionDepth: 2
    functionLinenumber: 568
    functionLinenumberEnd: 595
    functionName: hostapd_wpa_auth_get_msk
    functionSourceFile: /src/hostap/src/ap/wpa_auth_glue.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - ieee802_1x_get_key
    - os_memcpy
    - ap_get_sta
    linkageType: ''
    returnType: int
    signature: "int hostapd_wpa_auth_get_msk(void *ctx, const u8 *addr, u8 *msk,\n\t\t\t\t
      \   size_t *len)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_mld_get_first_bss
      Src: /src/hostap/src/ap/wpa_auth_glue.c:609,1
    - Dst: hostapd_get_vlan_id_ifname
      Src: /src/hostap/src/ap/wpa_auth_glue.c:615,1
    - Dst: is_broadcast_ether_addr
      Src: /src/hostap/src/ap/wpa_auth_glue.c:630,1
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/wpa_auth_glue.c:633,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_glue.c:638,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_glue.c:649,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_glue.c:655,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_glue.c:662,1
    - Dst: hostapd_drv_set_key
      Src: /src/hostap/src/ap/wpa_auth_glue.c:666,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 49
    argCount: 8
    argNames:
    - ctx
    - vlan_id
    - alg
    - addr
    - idx
    - key
    - key_len
    - key_flag
    argTypes:
    - void*
    - int
    - enum wpa_alg
    - u8*
    - int
    - u8*
    - size_t
    - enum key_flag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 598
    functionDepth: 2
    functionLinenumber: 598
    functionLinenumberEnd: 668
    functionName: hostapd_wpa_auth_set_key
    functionSourceFile: /src/hostap/src/ap/wpa_auth_glue.c
    functionUses: 0
    functionsReached:
    - hostapd_mld_get_first_bss
    - os_memcpy
    - hostapd_drv_set_key
    - is_broadcast_ether_addr
    - hostapd_get_vlan_id_ifname
    - ap_get_sta
    linkageType: ''
    returnType: int
    signature: "int hostapd_wpa_auth_set_key(void *ctx, int vlan_id, enum wpa_alg
      alg,\n\t\t\t\t    const u8 *addr, int idx, u8 *key,\n\t\t\t\t    size_t key_len,
      enum key_flag key_flag)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_get_seqnum
      Src: /src/hostap/src/ap/wpa_auth_glue.c:681,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - ctx
    - addr
    - idx
    - seq
    argTypes:
    - void*
    - u8*
    - int
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 671
    functionDepth: 1
    functionLinenumber: 671
    functionLinenumberEnd: 683
    functionName: hostapd_wpa_auth_get_seqnum
    functionSourceFile: /src/hostap/src/ap/wpa_auth_glue.c
    functionUses: 0
    functionsReached:
    - hostapd_get_seqnum
    linkageType: ''
    returnType: int
    signature: "int hostapd_wpa_auth_get_seqnum(void *ctx, const u8 *addr, int idx,\n\t\t\t\t
      \      u8 *seq)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/ap/wpa_auth_glue.c:702,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/ap/wpa_auth_glue.c:706,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/wpa_auth_glue.c:707,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth_glue.c:708,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth_glue.c:709,1
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/wpa_auth_glue.c:714,1
    - Dst: hostapd_sta_flags_to_drv
      Src: /src/hostap/src/ap/wpa_auth_glue.c:716,1
    - Dst: ap_sta_is_mld
      Src: /src/hostap/src/ap/wpa_auth_glue.c:718,1
    - Dst: hostapd_drv_hapd_send_eapol
      Src: /src/hostap/src/ap/wpa_auth_glue.c:724,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 5
    argNames:
    - ctx
    - addr
    - data
    - data_len
    - encrypt
    argTypes:
    - void*
    - u8*
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 686
    functionDepth: 2
    functionLinenumber: 686
    functionLinenumberEnd: 726
    functionName: hostapd_wpa_auth_send_eapol
    functionSourceFile: /src/hostap/src/ap/wpa_auth_glue.c
    functionUses: 1
    functionsReached:
    - wpa_snprintf_hex
    - wpa_msg
    - ap_sta_is_mld
    - hostapd_drv_hapd_send_eapol
    - os_malloc
    - hostapd_sta_flags_to_drv
    - MAC2STR
    - os_free
    - ap_get_sta
    linkageType: ''
    returnType: int
    signature: "int hostapd_wpa_auth_send_eapol(void *ctx, const u8 *addr,\n\t\t\t\tconst
      u8 *data, size_t data_len,\n\t\t\t\tint encrypt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 734
    functionName: hostapd_wpa_auth_get_sta_count
    functionSourceFile: /src/hostap/src/ap/wpa_auth_glue.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int hostapd_wpa_auth_get_sta_count(void *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cb
      Src: /src/hostap/src/ap/wpa_auth_glue.c:745,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - cb_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 749
    functionName: hostapd_wpa_auth_for_each_sta
    functionSourceFile: /src/hostap/src/ap/wpa_auth_glue.c
    functionUses: 0
    functionsReached:
    - cb
    linkageType: ''
    returnType: int
    signature: "int hostapd_wpa_auth_for_each_sta(\n\tvoid *ctx, int (*cb)(struct
      wpa_state_machine *sm, void *ctx),\n\tvoid *cb_ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wpa_auth_iface_iter_data*::cb
      Src: /src/hostap/src/ap/wpa_auth_glue.c:763,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - iface
    - ctx
    argTypes:
    - struct hostapd_iface*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 767
    functionName: wpa_auth_iface_iter
    functionSourceFile: /src/hostap/src/ap/wpa_auth_glue.c
    functionUses: 0
    functionsReached:
    - struct wpa_auth_iface_iter_data*::cb
    linkageType: ''
    returnType: int
    signature: int wpa_auth_iface_iter(struct hostapd_iface *iface, void *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct hostapd_data*::iface::interfaces::for_each_interface
      Src: /src/hostap/src/ap/wpa_auth_glue.c:781,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - cb_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 783
    functionName: hostapd_wpa_auth_for_each_auth
    functionSourceFile: /src/hostap/src/ap/wpa_auth_glue.c
    functionUses: 0
    functionsReached:
    - struct hostapd_data*::iface::interfaces::for_each_interface
    linkageType: ''
    returnType: int
    signature: "int hostapd_wpa_auth_for_each_auth(\n\tvoid *ctx, int (*cb)(struct
      wpa_authenticator *sm, void *ctx),\n\tvoid *cb_ctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cb
      Src: /src/hostap/src/ap/wpa_auth_glue.c:794,1
    - Dst: cb
      Src: /src/hostap/src/ap/wpa_auth_glue.c:801,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - cb_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 805
    functionName: hostapd_wpa_auth_for_each_partner_auth
    functionSourceFile: /src/hostap/src/ap/wpa_auth_glue.c
    functionUses: 0
    functionsReached:
    - cb
    linkageType: ''
    returnType: int
    signature: "int hostapd_wpa_auth_for_each_partner_auth(\n\tvoid *ctx, int (*cb)(struct
      wpa_authenticator *sm, void *ctx),\n\tvoid *cb_ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cb
      Src: /src/hostap/src/ap/wpa_auth_glue.c:801,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 803
    functionName: for_each_mld_link
    functionSourceFile: /src/hostap/src/ap/wpa_auth_glue.c
    functionUses: 3
    functionsReached:
    - cb
    linkageType: ''
    returnType: void
    signature: void for_each_mld_link(bss, hapd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/ap/wpa_auth_glue.c:823,1
    - Dst: wpa_ft_rrb_rx
      Src: /src/hostap/src/ap/wpa_auth_glue.c:826,1
    - Dst: dl_list_del
      Src: /src/hostap/src/ap/wpa_auth_glue.c:830,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth_glue.c:831,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 818
    functionDepth: 10
    functionLinenumber: 818
    functionLinenumberEnd: 833
    functionName: hostapd_wpa_ft_rrb_rx_later
    functionSourceFile: /src/hostap/src/ap/wpa_auth_glue.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpa_ft_rrb_rx
    - dl_list_del
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: void hostapd_wpa_ft_rrb_rx_later(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/wpa_auth_glue.c:855,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_glue.c:858,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth_glue.c:861,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth_glue.c:863,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/wpa_auth_glue.c:872,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_glue.c:876,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_glue.c:877,1
    - Dst: dl_list_add
      Src: /src/hostap/src/ap/wpa_auth_glue.c:880,1
    - Dst: eloop_is_timeout_registered
      Src: /src/hostap/src/ap/wpa_auth_glue.c:882,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/wpa_auth_glue.c:884,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - iface
    - ctx
    argTypes:
    - struct hostapd_iface*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 844
    functionDepth: 1
    functionLinenumber: 844
    functionLinenumberEnd: 892
    functionName: hostapd_wpa_auth_ft_iter
    functionSourceFile: /src/hostap/src/ap/wpa_auth_glue.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - ether_addr_equal
    - MAC2STR
    - os_zalloc
    - dl_list_add
    - eloop_is_timeout_registered
    - eloop_register_timeout
    linkageType: ''
    returnType: int
    signature: int hostapd_wpa_auth_ft_iter(struct hostapd_iface *iface, void *ctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/ap/wpa_auth_glue.c:907,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/ap/wpa_auth_glue.c:911,1
    - Dst: wpa_msg
      Src: /src/hostap/src/ap/wpa_auth_glue.c:912,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth_glue.c:913,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth_glue.c:914,1
    - Dst: struct hostapd_data*::iface::interfaces::for_each_interface
      Src: /src/hostap/src/ap/wpa_auth_glue.c:928,1
    - Dst: os_malloc
      Src: /src/hostap/src/ap/wpa_auth_glue.c:939,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_glue.c:942,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_glue.c:943,1
    - Dst: host_to_be16
      Src: /src/hostap/src/ap/wpa_auth_glue.c:944,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_glue.c:945,1
    - Dst: l2_packet_send
      Src: /src/hostap/src/ap/wpa_auth_glue.c:946,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth_glue.c:948,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 5
    argNames:
    - ctx
    - dst
    - proto
    - data
    - data_len
    argTypes:
    - void*
    - u8*
    - u16
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 897
    functionDepth: 1
    functionLinenumber: 897
    functionLinenumberEnd: 950
    functionName: hostapd_wpa_auth_send_ether
    functionSourceFile: /src/hostap/src/ap/wpa_auth_glue.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_snprintf_hex
    - wpa_msg
    - host_to_be16
    - os_malloc
    - MAC2STR
    - l2_packet_send
    - os_free
    - struct hostapd_data*::iface::interfaces::for_each_interface
    linkageType: ''
    returnType: int
    signature: "int hostapd_wpa_auth_send_ether(void *ctx, const u8 *dst, u16 proto,\n\t\t\t\t
      \      const u8 *data, size_t data_len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - hapd
    - oui_suffix
    argTypes:
    - struct hostapd_data*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 954
    functionDepth: 0
    functionLinenumber: 954
    functionLinenumberEnd: 973
    functionName: hostapd_wpa_get_oui
    functionSourceFile: /src/hostap/src/ap/wpa_auth_glue.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct eth_p_oui_ctx
    signature: "struct eth_p_oui_ctx * hostapd_wpa_get_oui(struct hostapd_data *hapd,\n\t\t\t\t\t\t
      \ u8 oui_suffix)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/ap/wpa_auth_glue.c:994,1
    - Dst: hostapd_wpa_get_oui
      Src: /src/hostap/src/ap/wpa_auth_glue.c:996,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_glue.c:997,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1000,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1000,1
    - Dst: eth_p_oui_deliver
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1004,1
    - Dst: dl_list_del
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1009,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1010,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1012
      start: 988
    functionDepth: 1
    functionLinenumber: 988
    functionLinenumberEnd: 1012
    functionName: hostapd_oui_deliver_later
    functionSourceFile: /src/hostap/src/ap/wpa_auth_glue.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dl_list_del
    - eth_p_oui_deliver
    - hostapd_wpa_get_oui
    - MAC2STR
    - os_free
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: void hostapd_oui_deliver_later(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_key_mgmt_ft
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1034,1
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1037,1
    - Dst: os_memcmp
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1040,1
    - Dst: is_multicast_ether_addr
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1044,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1045,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1055,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1058,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1062,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1065,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1066,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1067,1
    - Dst: dl_list_add_tail
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1071,1
    - Dst: eloop_is_timeout_registered
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1073,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1075,1
    - Dst: is_multicast_ether_addr
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1082,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 25
    argCount: 2
    argNames:
    - iface
    - ctx
    argTypes:
    - struct hostapd_iface*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1023
    functionDepth: 1
    functionLinenumber: 1023
    functionLinenumberEnd: 1087
    functionName: hostapd_wpa_auth_oui_iter
    functionSourceFile: /src/hostap/src/ap/wpa_auth_glue.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - is_multicast_ether_addr
    - dl_list_add_tail
    - ether_addr_equal
    - wpa_key_mgmt_ft
    - MAC2STR
    - os_zalloc
    - os_memcmp
    - eloop_is_timeout_registered
    - eloop_register_timeout
    linkageType: ''
    returnType: int
    signature: int hostapd_wpa_auth_oui_iter(struct hostapd_iface *iface, void *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1099,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1101,1
    - Dst: struct hostapd_data*::iface::interfaces::for_each_interface
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1114,1
    - Dst: hostapd_wpa_get_oui
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1122,1
    - Dst: eth_p_oui_send
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 5
    argNames:
    - ctx
    - dst
    - oui_suffix
    - data
    - data_len
    argTypes:
    - void*
    - u8*
    - u8
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 1092
    functionDepth: 2
    functionLinenumber: 1092
    functionLinenumberEnd: 1130
    functionName: hostapd_wpa_auth_send_oui
    functionSourceFile: /src/hostap/src/ap/wpa_auth_glue.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eth_p_oui_send
    - hostapd_wpa_get_oui
    - MAC2STR
    - struct hostapd_data*::iface::interfaces::for_each_interface
    linkageType: ''
    returnType: int
    signature: "int hostapd_wpa_auth_send_oui(void *ctx, const u8 *dst, u8 oui_suffix,\n\t\t\t\t
      \    const u8 *data, size_t data_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_drv_channel_info
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - ci
    argTypes:
    - void*
    - struct wpa_channel_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1133
    functionDepth: 1
    functionLinenumber: 1133
    functionLinenumberEnd: 1138
    functionName: hostapd_channel_info
    functionSourceFile: /src/hostap/src/ap/wpa_auth_glue.c
    functionUses: 0
    functionsReached:
    - hostapd_drv_channel_info
    linkageType: ''
    returnType: int
    signature: int hostapd_channel_info(void *ctx, struct wpa_channel_info *ci)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ptksa_cache_add
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ctx
    - addr
    - cipher
    - life_time
    - ptk
    argTypes:
    - void*
    - u8*
    - int
    - u32
    - struct wpa_ptk*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1150
      start: 1143
    functionDepth: 1
    functionLinenumber: 1143
    functionLinenumberEnd: 1150
    functionName: hostapd_store_ptksa
    functionSourceFile: /src/hostap/src/ap/wpa_auth_glue.c
    functionUses: 0
    functionsReached:
    - ptksa_cache_add
    linkageType: ''
    returnType: void
    signature: "void hostapd_store_ptksa(void *ctx, const u8 *addr,int cipher,\n\t\t\t\tu32
      life_time, const struct wpa_ptk *ptk)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ptksa_cache_flush
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - addr
    - cipher
    argTypes:
    - void*
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1158
      start: 1153
    functionDepth: 1
    functionLinenumber: 1153
    functionLinenumberEnd: 1158
    functionName: hostapd_clear_ptksa
    functionSourceFile: /src/hostap/src/ap/wpa_auth_glue.c
    functionUses: 0
    functionsReached:
    - ptksa_cache_flush
    linkageType: ''
    returnType: void
    signature: void hostapd_clear_ptksa(void *ctx, const u8 *addr, int cipher)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1169,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1176,1
    - Dst: hostapd_vlan_valid
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1179,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1180,1
    - Dst: ap_sta_set_vlan
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1186,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1187,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1189,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1196,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1198,1
    - Dst: ap_sta_bind_vlan
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1200,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - ctx
    - addr
    - vlan_id
    argTypes:
    - void*
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1163
    functionDepth: 8
    functionLinenumber: 1163
    functionLinenumberEnd: 1205
    functionName: hostapd_wpa_auth_update_vlan
    functionSourceFile: /src/hostap/src/ap/wpa_auth_glue.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - ap_sta_bind_vlan
    - hostapd_vlan_valid
    - MAC2STR
    - ap_get_sta
    - ap_sta_set_vlan
    - os_memset
    linkageType: ''
    returnType: int
    signature: int hostapd_wpa_auth_update_vlan(void *ctx, const u8 *addr, int vlan_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1216,1
    - Dst: hostapd_wpa_auth_logger
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1218,1
    - Dst: get_tx_parameters
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 6
    argNames:
    - ctx
    - addr
    - ap_max_chanwidth
    - ap_seg1_idx
    - bandwidth
    - seg1_idx
    argTypes:
    - void*
    - u8*
    - int
    - int
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1209
    functionDepth: 2
    functionLinenumber: 1209
    functionLinenumberEnd: 1225
    functionName: hostapd_get_sta_tx_params
    functionSourceFile: /src/hostap/src/ap/wpa_auth_glue.c
    functionUses: 0
    functionsReached:
    - hostapd_wpa_auth_logger
    - get_tx_parameters
    - ap_get_sta
    linkageType: ''
    returnType: int
    signature: "int hostapd_get_sta_tx_params(void *ctx, const u8 *addr,\n\t\t\t\t
      \    int ap_max_chanwidth, int ap_seg1_idx,\n\t\t\t\t     int *bandwidth, int
      *seg1_idx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1240,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1244,1
    - Dst: IEEE80211_FC
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1248,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1250,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1251,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1252,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1253,1
    - Dst: hostapd_drv_send_mlme
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1255,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1256,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - ctx
    - dst
    - data
    - data_len
    argTypes:
    - void*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1258
      start: 1231
    functionDepth: 2
    functionLinenumber: 1231
    functionLinenumberEnd: 1258
    functionName: hostapd_wpa_auth_send_ft_action
    functionSourceFile: /src/hostap/src/ap/wpa_auth_glue.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - hostapd_drv_send_mlme
    - os_zalloc
    - IEEE80211_FC
    - os_free
    - ap_get_sta
    linkageType: ''
    returnType: int
    signature: "int hostapd_wpa_auth_send_ft_action(void *ctx, const u8 *dst,\n\t\t\t\t\t
      \  const u8 *data, size_t data_len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1268,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1270,1
    - Dst: hostapd_add_sta_node
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1271,1
    - Dst: ap_sta_add
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1282,1
    - Dst: wpa_auth_sta_init
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1294,1
    - Dst: ap_free_sta
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1296,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - ctx
    - sta_addr
    argTypes:
    - void*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1261
    functionDepth: 12
    functionLinenumber: 1261
    functionLinenumberEnd: 1302
    functionName: hostapd_wpa_auth_add_sta
    functionSourceFile: /src/hostap/src/ap/wpa_auth_glue.c
    functionUses: 0
    functionsReached:
    - ap_sta_add
    - wpa_printf
    - ap_free_sta
    - MAC2STR
    - wpa_auth_sta_init
    - hostapd_add_sta_node
    linkageType: ''
    returnType: struct wpa_state_machine
    signature: 'struct wpa_state_machine *

      hostapd_wpa_auth_add_sta(void *ctx, const u8 *sta_addr)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1310,1
    - Dst: FULL_AP_CLIENT_STATE_SUPP
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1314,1
    - Dst: ap_sta_is_authorized
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1315,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1324,1
    - Dst: ap_sta_re_add
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1326,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - sta_addr
    argTypes:
    - void*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1305
    functionDepth: 14
    functionLinenumber: 1305
    functionLinenumberEnd: 1330
    functionName: hostapd_wpa_auth_add_sta_ft
    functionSourceFile: /src/hostap/src/ap/wpa_auth_glue.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - ap_sta_is_authorized
    - ap_sta_re_add
    - FULL_AP_CLIENT_STATE_SUPP
    - ap_get_sta
    linkageType: ''
    returnType: int
    signature: int hostapd_wpa_auth_add_sta_ft(void *ctx, const u8 *sta_addr)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1339,1
    - Dst: hostapd_vlan_valid
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1345,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1346,1
    - Dst: ap_sta_set_vlan
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1355,1
    - Dst: ap_sta_bind_vlan
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1364,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1367,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - ctx
    - sta_addr
    - vlan
    argTypes:
    - void*
    - u8*
    - struct vlan_description*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1371
      start: 1333
    functionDepth: 8
    functionLinenumber: 1333
    functionLinenumberEnd: 1371
    functionName: hostapd_wpa_auth_set_vlan
    functionSourceFile: /src/hostap/src/ap/wpa_auth_glue.c
    functionUses: 0
    functionsReached:
    - ap_sta_bind_vlan
    - hostapd_logger
    - hostapd_vlan_valid
    - ap_sta_set_vlan
    - ap_get_sta
    linkageType: ''
    returnType: int
    signature: "int hostapd_wpa_auth_set_vlan(void *ctx, const u8 *sta_addr,\n\t\t\t\t
      \    struct vlan_description *vlan)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1380,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1391,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - ctx
    - sta_addr
    - vlan
    argTypes:
    - void*
    - u8*
    - struct vlan_description*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1395
      start: 1374
    functionDepth: 2
    functionLinenumber: 1374
    functionLinenumberEnd: 1395
    functionName: hostapd_wpa_auth_get_vlan
    functionSourceFile: /src/hostap/src/ap/wpa_auth_glue.c
    functionUses: 0
    functionsReached:
    - os_memset
    - ap_get_sta
    linkageType: ''
    returnType: int
    signature: "int hostapd_wpa_auth_get_vlan(void *ctx, const u8 *sta_addr,\n\t\t\t\t
      \    struct vlan_description *vlan)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1405,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1409,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1413,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1422,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1425,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1428,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1431,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 4
    argNames:
    - ctx
    - sta_addr
    - identity
    - identity_len
    argTypes:
    - void*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1436
      start: 1398
    functionDepth: 2
    functionLinenumber: 1398
    functionLinenumberEnd: 1436
    functionName: hostapd_wpa_auth_set_identity
    functionSourceFile: /src/hostap/src/ap/wpa_auth_glue.c
    functionUses: 0
    functionsReached:
    - os_free
    - os_zalloc
    - os_memcpy
    - ap_get_sta
    linkageType: ''
    returnType: int
    signature: "int hostapd_wpa_auth_set_identity(void *ctx, const u8 *sta_addr,\n\t\t\t
      \     const u8 *identity, size_t identity_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1447,1
    - Dst: ieee802_1x_get_identity
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1451,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1461,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - ctx
    - sta_addr
    - buf
    argTypes:
    - void*
    - u8*
    - u8**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1465
      start: 1439
    functionDepth: 2
    functionLinenumber: 1439
    functionLinenumberEnd: 1465
    functionName: hostapd_wpa_auth_get_identity
    functionSourceFile: /src/hostap/src/ap/wpa_auth_glue.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - ieee802_1x_get_identity
    - ap_get_sta
    linkageType: ''
    returnType: size_t
    signature: size_t hostapd_wpa_auth_get_identity(void *ctx, const u8 *sta_addr,
      const u8 **buf)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1475,1
    - Dst: os_free
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1479,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1483,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1491,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1494,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1497,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 4
    argNames:
    - ctx
    - sta_addr
    - radius_cui
    - radius_cui_len
    argTypes:
    - void*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1504
      start: 1468
    functionDepth: 2
    functionLinenumber: 1468
    functionLinenumberEnd: 1504
    functionName: hostapd_wpa_auth_set_radius_cui
    functionSourceFile: /src/hostap/src/ap/wpa_auth_glue.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpabuf_free
    - wpabuf_alloc_copy
    - os_zalloc
    - os_free
    - ap_get_sta
    linkageType: ''
    returnType: int
    signature: "int hostapd_wpa_auth_set_radius_cui(void *ctx, const u8 *sta_addr,\n\t\t\t\tconst
      u8 *radius_cui, size_t radius_cui_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1516,1
    - Dst: ieee802_1x_get_radius_cui
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1520,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1522,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1523,1
    - Dst: os_strlen
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1533,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - ctx
    - sta_addr
    - buf
    argTypes:
    - void*
    - u8*
    - u8**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1537
      start: 1507
    functionDepth: 2
    functionLinenumber: 1507
    functionLinenumberEnd: 1537
    functionName: hostapd_wpa_auth_get_radius_cui
    functionSourceFile: /src/hostap/src/ap/wpa_auth_glue.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpabuf_len
    - wpabuf_head
    - ieee802_1x_get_radius_cui
    - ap_get_sta
    linkageType: ''
    returnType: size_t
    signature: size_t hostapd_wpa_auth_get_radius_cui(void *ctx, const u8 *sta_addr,
      const u8 **buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1546,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1551,1
    - Dst: ap_sta_session_timeout
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1554,1
    - Dst: ap_sta_no_session_timeout
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1557,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - ctx
    - sta_addr
    - session_timeout
    argTypes:
    - void*
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1559
      start: 1540
    functionDepth: 2
    functionLinenumber: 1540
    functionLinenumberEnd: 1559
    functionName: hostapd_wpa_auth_set_session_timeout
    functionSourceFile: /src/hostap/src/ap/wpa_auth_glue.c
    functionUses: 0
    functionsReached:
    - ap_sta_no_session_timeout
    - os_get_reltime
    - ap_sta_session_timeout
    - ap_get_sta
    linkageType: ''
    returnType: void
    signature: "void hostapd_wpa_auth_set_session_timeout(void *ctx, const u8 *sta_addr,\n\t\t\t\t\t\t
      int session_timeout)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1568,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1572,1
    - Dst: os_reltime_before
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1573,1
    - Dst: os_reltime_sub
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1578,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - sta_addr
    argTypes:
    - void*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1581
      start: 1562
    functionDepth: 2
    functionLinenumber: 1562
    functionLinenumberEnd: 1581
    functionName: hostapd_wpa_auth_get_session_timeout
    functionSourceFile: /src/hostap/src/ap/wpa_auth_glue.c
    functionUses: 0
    functionsReached:
    - os_reltime_sub
    - os_get_reltime
    - os_reltime_before
    - ap_get_sta
    linkageType: ''
    returnType: int
    signature: int hostapd_wpa_auth_get_session_timeout(void *ctx, const u8 *sta_addr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1592,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1593,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1593,1
    - Dst: is_multicast_ether_addr
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1594,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1595,1
    - Dst: wpa_ft_rrb_rx
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1597,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - ctx
    - src_addr
    - buf
    - len
    argTypes:
    - void*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1599
      start: 1584
    functionDepth: 10
    functionLinenumber: 1584
    functionLinenumberEnd: 1599
    functionName: hostapd_rrb_receive
    functionSourceFile: /src/hostap/src/ap/wpa_auth_glue.c
    functionUses: 0
    functionsReached:
    - wpa_ft_rrb_rx
    - wpa_printf
    - is_multicast_ether_addr
    - ether_addr_equal
    - MAC2STR
    linkageType: ''
    returnType: void
    signature: "void hostapd_rrb_receive(void *ctx, const u8 *src_addr, const u8 *buf,\n\t\t\t\tsize_t
      len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1608,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1609,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1609,1
    - Dst: is_multicast_ether_addr
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1610,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1611,1
    - Dst: wpa_ft_rrb_oui_rx
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1613,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 6
    argNames:
    - ctx
    - src_addr
    - dst_addr
    - oui_suffix
    - buf
    - len
    argTypes:
    - void*
    - u8*
    - u8*
    - u8
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1615
      start: 1602
    functionDepth: 11
    functionLinenumber: 1602
    functionLinenumberEnd: 1615
    functionName: hostapd_rrb_oui_receive
    functionSourceFile: /src/hostap/src/ap/wpa_auth_glue.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - is_multicast_ether_addr
    - ether_addr_equal
    - wpa_ft_rrb_oui_rx
    - MAC2STR
    linkageType: ''
    returnType: void
    signature: "void hostapd_rrb_oui_receive(void *ctx, const u8 *src_addr,\n\t\t\t\t
      \   const u8 *dst_addr, u8 oui_suffix,\n\t\t\t\t    const u8 *buf, size_t len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: eth_p_oui_register
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1621,1
    - Dst: eth_p_oui_register
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1627,1
    - Dst: eth_p_oui_register
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1633,1
    - Dst: eth_p_oui_register
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1639,1
    - Dst: eth_p_oui_register
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1645,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - hapd
    - ft_iface
    argTypes:
    - struct hostapd_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1652
      start: 1618
    functionDepth: 2
    functionLinenumber: 1618
    functionLinenumberEnd: 1652
    functionName: hostapd_wpa_register_ft_oui
    functionSourceFile: /src/hostap/src/ap/wpa_auth_glue.c
    functionUses: 0
    functionsReached:
    - eth_p_oui_register
    linkageType: ''
    returnType: int
    signature: "int hostapd_wpa_register_ft_oui(struct hostapd_data *hapd,\n\t\t\t\t
      \      const char *ft_iface)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eth_p_oui_unregister
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1657,1
    - Dst: eth_p_oui_unregister
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1659,1
    - Dst: eth_p_oui_unregister
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1661,1
    - Dst: eth_p_oui_unregister
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1663,1
    - Dst: eth_p_oui_unregister
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1665,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1667
      start: 1655
    functionDepth: 2
    functionLinenumber: 1655
    functionLinenumberEnd: 1667
    functionName: hostapd_wpa_unregister_ft_oui
    functionSourceFile: /src/hostap/src/ap/wpa_auth_glue.c
    functionUses: 0
    functionsReached:
    - eth_p_oui_unregister
    linkageType: ''
    returnType: void
    signature: void hostapd_wpa_unregister_ft_oui(struct hostapd_data *hapd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1678,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1679,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1680,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1681,1
    - Dst: hostapd_acl_req_radius_psk
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1682,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - ctx
    - addr
    - key_mgmt
    - anonce
    - eapol
    - eapol_len
    argTypes:
    - void*
    - u8*
    - int
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1684
      start: 1672
    functionDepth: 3
    functionLinenumber: 1672
    functionLinenumberEnd: 1684
    functionName: hostapd_request_radius_psk
    functionSourceFile: /src/hostap/src/ap/wpa_auth_glue.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    - hostapd_acl_req_radius_psk
    - wpa_hexdump
    linkageType: ''
    returnType: void
    signature: "void hostapd_request_radius_psk(void *ctx, const u8 *addr, int key_mgmt,\n\t\t\t\t
      \      const u8 *anonce,\n\t\t\t\t       const u8 *eapol, size_t eapol_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_drv_set_secure_ranging_ctx
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1695,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - peer_addr
    - ltf_keyseed
    - ltf_keyseed_len
    argTypes:
    - void*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1699
      start: 1689
    functionDepth: 1
    functionLinenumber: 1689
    functionLinenumberEnd: 1699
    functionName: hostapd_set_ltf_keyseed
    functionSourceFile: /src/hostap/src/ap/wpa_auth_glue.c
    functionUses: 0
    functionsReached:
    - hostapd_drv_set_secure_ranging_ctx
    linkageType: ''
    returnType: int
    signature: "int hostapd_set_ltf_keyseed(void *ctx, const u8 *peer_addr,\n\t\t\t\t
      \  const u8 *ltf_keyseed,\n\t\t\t\t   size_t ltf_keyseed_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_auth_get_first_sta_seen
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1713,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - vlan_id
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1720
      start: 1703
    functionDepth: 2
    functionLinenumber: 1703
    functionLinenumberEnd: 1720
    functionName: hostapd_first_sta_seen_mbssid
    functionSourceFile: /src/hostap/src/ap/wpa_auth_glue.c
    functionUses: 0
    functionsReached:
    - wpa_auth_get_first_sta_seen
    linkageType: ''
    returnType: bool
    signature: bool hostapd_first_sta_seen_mbssid(void *ctx, int vlan_id)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1732,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1743,1
    - Dst: wpa_auth_ml_get_key_info
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1748,1
    - Dst: wpa_auth_ml_get_key_info
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1760,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1770,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 4
    argNames:
    - ctx
    - info
    - rekey
    - vlan_id
    argTypes:
    - void*
    - struct wpa_auth_ml_key_info*
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1775
      start: 1725
    functionDepth: 2
    functionLinenumber: 1725
    functionLinenumberEnd: 1775
    functionName: hostapd_wpa_auth_get_ml_key_info
    functionSourceFile: /src/hostap/src/ap/wpa_auth_glue.c
    functionUses: 0
    functionsReached:
    - wpa_auth_ml_get_key_info
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int hostapd_wpa_auth_get_ml_key_info(void *ctx,\n\t\t\t\t\t    struct
      wpa_auth_ml_key_info *info,\n\t\t\t\t\t    bool rekey, int vlan_id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_auth_ml_get_key_info
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1760,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1767
      start: 1756
    functionDepth: 2
    functionLinenumber: 1756
    functionLinenumberEnd: 1767
    functionName: for_each_mld_link
    functionSourceFile: /src/hostap/src/ap/wpa_auth_glue.c
    functionUses: 3
    functionsReached:
    - wpa_auth_ml_get_key_info
    linkageType: ''
    returnType: void
    signature: void for_each_mld_link(bss, hapd)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - cb_ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1790
      start: 1778
    functionDepth: 0
    functionLinenumber: 1778
    functionLinenumberEnd: 1790
    functionName: hostapd_next_primary_auth
    functionSourceFile: /src/hostap/src/ap/wpa_auth_glue.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct wpa_authenticator
    signature: struct wpa_authenticator * hostapd_next_primary_auth(void *cb_ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1787
      start: 1782
    functionDepth: 0
    functionLinenumber: 1782
    functionLinenumberEnd: 1787
    functionName: for_each_mld_link
    functionSourceFile: /src/hostap/src/ap/wpa_auth_glue.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void for_each_mld_link(bss, hapd)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - drv_flags
    - drv_flags2
    argTypes:
    - void*
    - u64*
    - u64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1806
      start: 1795
    functionDepth: 0
    functionLinenumber: 1795
    functionLinenumberEnd: 1806
    functionName: hostapd_wpa_auth_get_drv_flags
    functionSourceFile: /src/hostap/src/ap/wpa_auth_glue.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int hostapd_wpa_auth_get_drv_flags(void *ctx,\n\t\t\t\t\t  u64 *drv_flags,
      u64 *drv_flags2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_remove_pmkid
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1814,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - sta_addr
    - pmkid
    argTypes:
    - void*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1815
      start: 1809
    functionDepth: 2
    functionLinenumber: 1809
    functionLinenumberEnd: 1815
    functionName: hostapd_wpa_auth_remove_pmkid
    functionSourceFile: /src/hostap/src/ap/wpa_auth_glue.c
    functionUses: 0
    functionsReached:
    - hostapd_remove_pmkid
    linkageType: ''
    returnType: int
    signature: "int hostapd_wpa_auth_remove_pmkid(void *ctx, const u8 *sta_addr,\n\t\t\t\t\t
      const u8 *pmkid)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_wpa_auth_conf
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1881,1
    - Dst: hostapd_wpa_auth_config_update
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1882,1
    - Dst: wpa_init
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1884,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1886,1
    - Dst: hostapd_set_privacy
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1890,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1891,1
    - Dst: wpa_auth_get_wpa_ie
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1896,1
    - Dst: hostapd_set_generic_elem
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1897,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1898,1
    - Dst: rsn_preauth_iface_init
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1903,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1904,1
    - Dst: ptksa_cache_init
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1910,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1912,1
    - Dst: hostapd_drv_none
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1917,1
    - Dst: wpa_key_mgmt_ft
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1918,1
    - Dst: l2_packet_init
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1923,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1926,1
    - Dst: hostapd_wpa_register_ft_oui
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1931,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1932,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1941
      start: 1818
    functionDepth: 3
    functionLinenumber: 1818
    functionLinenumberEnd: 1941
    functionName: hostapd_setup_wpa
    functionSourceFile: /src/hostap/src/ap/wpa_auth_glue.c
    functionUses: 2
    functionsReached:
    - hostapd_wpa_auth_conf
    - wpa_printf
    - rsn_preauth_iface_init
    - hostapd_drv_none
    - hostapd_set_generic_elem
    - hostapd_wpa_auth_config_update
    - hostapd_wpa_register_ft_oui
    - l2_packet_init
    - ptksa_cache_init
    - wpa_key_mgmt_ft
    - hostapd_set_privacy
    - wpa_init
    - wpa_auth_get_wpa_ie
    linkageType: ''
    returnType: int
    signature: int hostapd_setup_wpa(struct hostapd_data *hapd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_wpa_auth_conf
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1948,1
    - Dst: hostapd_wpa_auth_config_update
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1950,1
    - Dst: wpa_reconfig
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1951,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1952
      start: 1944
    functionDepth: 3
    functionLinenumber: 1944
    functionLinenumberEnd: 1952
    functionName: hostapd_reconfig_wpa
    functionSourceFile: /src/hostap/src/ap/wpa_auth_glue.c
    functionUses: 1
    functionsReached:
    - hostapd_wpa_auth_conf
    - wpa_reconfig
    - hostapd_wpa_auth_config_update
    linkageType: ''
    returnType: void
    signature: void hostapd_reconfig_wpa(struct hostapd_data *hapd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ieee80211_tkip_countermeasures_deinit
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1957,1
    - Dst: ptksa_cache_deinit
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1958,1
    - Dst: rsn_preauth_iface_deinit
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1961,1
    - Dst: wpa_deinit
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1963,1
    - Dst: hostapd_set_privacy
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1966,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1967,1
    - Dst: hostapd_set_generic_elem
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1973,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1974,1
    - Dst: ieee802_1x_deinit
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1979,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1982,1
    - Dst: hostapd_wpa_ft_rrb_rx_later
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1983,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1984,1
    - Dst: hostapd_oui_deliver_later
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1985,1
    - Dst: l2_packet_deinit
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1986,1
    - Dst: hostapd_wpa_unregister_ft_oui
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1988,1
    - Dst: forced_memzero
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1992,1
    - Dst: forced_memzero
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1993,1
    - Dst: forced_memzero
      Src: /src/hostap/src/ap/wpa_auth_glue.c:1994,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 1
    argNames:
    - hapd
    argTypes:
    - struct hostapd_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1996
      start: 1955
    functionDepth: 11
    functionLinenumber: 1955
    functionLinenumberEnd: 1996
    functionName: hostapd_deinit_wpa
    functionSourceFile: /src/hostap/src/ap/wpa_auth_glue.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - ieee80211_tkip_countermeasures_deinit
    - hostapd_set_generic_elem
    - ieee802_1x_deinit
    - eloop_cancel_timeout
    - l2_packet_deinit
    - ptksa_cache_deinit
    - wpa_deinit
    - hostapd_wpa_ft_rrb_rx_later
    - hostapd_wpa_unregister_ft_oui
    - forced_memzero
    - rsn_preauth_iface_deinit
    - hostapd_set_privacy
    - hostapd_oui_deliver_later
    linkageType: ''
    returnType: void
    signature: void hostapd_deinit_wpa(struct hostapd_data *hapd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sm
    - ','
    - link_id
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 739
    functionName: for_each_sm_auth
    functionSourceFile: /src/hostap/src/ap/wpa_auth.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: for_each_sm_auth(sm, link_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - conf
    argTypes:
    - struct wpa_auth_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 740
    functionDepth: 0
    functionLinenumber: 740
    functionLinenumberEnd: 745
    functionName: wpa_auth_pmf_enabled
    functionSourceFile: /src/hostap/src/ap/wpa_auth.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool wpa_auth_pmf_enabled(struct wpa_auth_config *conf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_is_ht_enabled
      Src: /src/hostap/src/ap/ieee802_11_ht.c:29,1
    - Dst: is_6ghz_op_class
      Src: /src/hostap/src/ap/ieee802_11_ht.c:30,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/ieee802_11_ht.c:37,1
    - Dst: host_to_le16
      Src: /src/hostap/src/ap/ieee802_11_ht.c:38,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_ht.c:40,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/ieee802_11_ht.c:56,1
    - Dst: host_to_le16
      Src: /src/hostap/src/ap/ieee802_11_ht.c:58,1
    - Dst: host_to_le16
      Src: /src/hostap/src/ap/ieee802_11_ht.c:63,1
    - Dst: host_to_le16
      Src: /src/hostap/src/ap/ieee802_11_ht.c:65,1
    - Dst: host_to_le16
      Src: /src/hostap/src/ap/ieee802_11_ht.c:67,1
    - Dst: host_to_le16
      Src: /src/hostap/src/ap/ieee802_11_ht.c:69,1
    - Dst: host_to_le16
      Src: /src/hostap/src/ap/ieee802_11_ht.c:71,1
    - Dst: host_to_le16
      Src: /src/hostap/src/ap/ieee802_11_ht.c:73,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - hapd
    - eid
    argTypes:
    - struct hostapd_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 79
    functionName: hostapd_eid_ht_capabilities
    functionSourceFile: /src/hostap/src/ap/ieee802_11_ht.c
    functionUses: 5
    functionsReached:
    - os_memcpy
    - is_6ghz_op_class
    - hostapd_is_ht_enabled
    - host_to_le16
    - os_memset
    linkageType: ''
    returnType: u8
    signature: u8 * hostapd_eid_ht_capabilities(struct hostapd_data *hapd, u8 *eid)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_get_oper_chwidth
      Src: /src/hostap/src/ap/ieee802_11_ht.c:87,1
    - Dst: hostapd_get_punct_bitmap
      Src: /src/hostap/src/ap/ieee802_11_ht.c:88,1
    - Dst: hostapd_get_oper_centr_freq_seg0_idx
      Src: /src/hostap/src/ap/ieee802_11_ht.c:109,1
    - Dst: BIT
      Src: /src/hostap/src/ap/ieee802_11_ht.c:113,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 2
    argNames:
    - hapd
    - oper
    argTypes:
    - struct hostapd_data*
    - struct ieee80211_ht_operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 124
    functionName: set_ht_param
    functionSourceFile: /src/hostap/src/ap/ieee802_11_ht.c
    functionUses: 0
    functionsReached:
    - hostapd_get_punct_bitmap
    - hostapd_get_oper_centr_freq_seg0_idx
    - BIT
    - hostapd_get_oper_chwidth
    linkageType: ''
    returnType: void
    signature: "void set_ht_param(struct hostapd_data *hapd,\n\t\t\t struct ieee80211_ht_operation
      *oper)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_is_ht_enabled
      Src: /src/hostap/src/ap/ieee802_11_ht.c:132,1
    - Dst: is_6ghz_op_class
      Src: /src/hostap/src/ap/ieee802_11_ht.c:133,1
    - Dst: os_memset
      Src: /src/hostap/src/ap/ieee802_11_ht.c:140,1
    - Dst: host_to_le16
      Src: /src/hostap/src/ap/ieee802_11_ht.c:143,1
    - Dst: set_ht_param
      Src: /src/hostap/src/ap/ieee802_11_ht.c:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - hapd
    - eid
    argTypes:
    - struct hostapd_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 149
    functionName: hostapd_eid_ht_operation
    functionSourceFile: /src/hostap/src/ap/ieee802_11_ht.c
    functionUses: 5
    functionsReached:
    - is_6ghz_op_class
    - hostapd_is_ht_enabled
    - set_ht_param
    - host_to_le16
    - os_memset
    linkageType: ''
    returnType: u8
    signature: u8 * hostapd_eid_ht_operation(struct hostapd_data *hapd, u8 *eid)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_ht.c:171,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_ht.c:212,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 35
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct hostapd_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 216
    functionName: hostapd_ht_operation_update
    functionSourceFile: /src/hostap/src/ap/ieee802_11_ht.c
    functionUses: 3
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int hostapd_ht_operation_update(struct hostapd_iface *iface)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_hw_get_freq
      Src: /src/hostap/src/ap/ieee802_11_ht.c:228,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_ht.c:240,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_ht.c:242,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - iface
    - channel
    argTypes:
    - struct hostapd_iface*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 244
    functionName: is_40_allowed
    functionSourceFile: /src/hostap/src/ap/ieee802_11_ht.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hostapd_hw_get_freq
    linkageType: ''
    returnType: int
    signature: int is_40_allowed(struct hostapd_iface *iface, int channel)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_ht.c:259,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11_ht.c:261,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_11_ht.c:263,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_ht.c:268,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_ht.c:274,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_ht.c:283,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_ht.c:288,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_ht.c:294,1
    - Dst: BIT
      Src: /src/hostap/src/ap/ieee802_11_ht.c:297,1
    - Dst: BIT
      Src: /src/hostap/src/ap/ieee802_11_ht.c:298,1
    - Dst: BIT
      Src: /src/hostap/src/ap/ieee802_11_ht.c:299,1
    - Dst: BIT
      Src: /src/hostap/src/ap/ieee802_11_ht.c:300,1
    - Dst: BIT
      Src: /src/hostap/src/ap/ieee802_11_ht.c:301,1
    - Dst: BIT
      Src: /src/hostap/src/ap/ieee802_11_ht.c:303,1
    - Dst: BIT
      Src: /src/hostap/src/ap/ieee802_11_ht.c:303,1
    - Dst: BIT
      Src: /src/hostap/src/ap/ieee802_11_ht.c:303,1
    - Dst: ap_get_sta
      Src: /src/hostap/src/ap/ieee802_11_ht.c:309,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_ht.c:311,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_11_ht.c:316,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_11_ht.c:326,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_ht.c:339,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_ht.c:344,1
    - Dst: is_40_allowed
      Src: /src/hostap/src/ap/ieee802_11_ht.c:355,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_11_ht.c:357,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_ht.c:367,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ieee802_11_ht.c:373,1
    - Dst: ieee802_11_set_beacons
      Src: /src/hostap/src/ap/ieee802_11_ht.c:378,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/ieee802_11_ht.c:385,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/ieee802_11_ht.c:387,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_ht.c:389,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 66
    argCount: 3
    argNames:
    - hapd
    - mgmt
    - len
    argTypes:
    - struct hostapd_data*
    - struct ieee80211_mgmt*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 247
    functionDepth: 11
    functionLinenumber: 247
    functionLinenumberEnd: 394
    functionName: hostapd_2040_coex_action
    functionSourceFile: /src/hostap/src/ap/ieee802_11_ht.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - eloop_cancel_timeout
    - is_40_allowed
    - hostapd_logger
    - ieee802_11_set_beacons
    - MAC2STR
    - BIT
    - eloop_register_timeout
    - ap_get_sta
    linkageType: ''
    returnType: void
    signature: "void hostapd_2040_coex_action(struct hostapd_data *hapd,\n\t\t\t      const
      struct ieee80211_mgmt *mgmt, size_t len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_is_ht_enabled
      Src: /src/hostap/src/ap/ieee802_11_ht.c:406,1
    - Dst: os_free
      Src: /src/hostap/src/ap/ieee802_11_ht.c:408,1
    - Dst: os_zalloc
      Src: /src/hostap/src/ap/ieee802_11_ht.c:415,1
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_ht.c:421,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - hapd
    - sta
    - ht_capab
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 425
    functionName: copy_sta_ht_capab
    functionSourceFile: /src/hostap/src/ap/ieee802_11_ht.c
    functionUses: 2
    functionsReached:
    - os_free
    - os_zalloc
    - hostapd_is_ht_enabled
    - os_memcpy
    linkageType: ''
    returnType: u16
    signature: "u16 copy_sta_ht_capab(struct hostapd_data *hapd, struct sta_info *sta,\n\t\t
      \     const u8 *ht_capab)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_ht.c:433,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11_ht.c:434,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/ieee802_11_ht.c:441,1
    - Dst: ieee802_11_set_beacons
      Src: /src/hostap/src/ap/ieee802_11_ht.c:446,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - iface
    - sta
    argTypes:
    - struct hostapd_iface*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 428
    functionDepth: 11
    functionLinenumber: 428
    functionLinenumberEnd: 448
    functionName: ht40_intolerant_add
    functionSourceFile: /src/hostap/src/ap/ieee802_11_ht.c
    functionUses: 0
    functionsReached:
    - eloop_cancel_timeout
    - MAC2STR
    - wpa_printf
    - ieee802_11_set_beacons
    linkageType: ''
    returnType: void
    signature: void ht40_intolerant_add(struct hostapd_iface *iface, struct sta_info
      *sta)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_ht.c:465,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/ap/ieee802_11_ht.c:468,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/ap/ieee802_11_ht.c:469,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - iface
    - sta
    argTypes:
    - struct hostapd_iface*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 472
    functionName: ht40_intolerant_remove
    functionSourceFile: /src/hostap/src/ap/ieee802_11_ht.c
    functionUses: 1
    functionsReached:
    - eloop_cancel_timeout
    - wpa_printf
    - eloop_register_timeout
    linkageType: ''
    returnType: void
    signature: void ht40_intolerant_remove(struct hostapd_iface *iface, struct sta_info
      *sta)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: le_to_host16
      Src: /src/hostap/src/ap/ieee802_11_ht.c:479,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_ht.c:480,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11_ht.c:481,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_ht.c:487,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11_ht.c:489,1
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_ht.c:497,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11_ht.c:499,1
    - Dst: ht40_intolerant_add
      Src: /src/hostap/src/ap/ieee802_11_ht.c:504,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 475
    functionDepth: 12
    functionLinenumber: 475
    functionLinenumberEnd: 505
    functionName: update_sta_ht
    functionSourceFile: /src/hostap/src/ap/ieee802_11_ht.c
    functionUses: 0
    functionsReached:
    - le_to_host16
    - MAC2STR
    - wpa_printf
    - ht40_intolerant_add
    linkageType: ''
    returnType: void
    signature: void update_sta_ht(struct hostapd_data *hapd, struct sta_info *sta)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_ht.c:515,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ieee802_11_ht.c:517,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 520
    functionName: update_sta_no_ht
    functionSourceFile: /src/hostap/src/ap/ieee802_11_ht.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void update_sta_no_ht(struct hostapd_data *hapd, struct sta_info *sta)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: update_sta_ht
      Src: /src/hostap/src/ap/ieee802_11_ht.c:526,1
    - Dst: update_sta_no_ht
      Src: /src/hostap/src/ap/ieee802_11_ht.c:528,1
    - Dst: hostapd_ht_operation_update
      Src: /src/hostap/src/ap/ieee802_11_ht.c:530,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 523
    functionDepth: 13
    functionLinenumber: 523
    functionLinenumberEnd: 531
    functionName: update_ht_state
    functionSourceFile: /src/hostap/src/ap/ieee802_11_ht.c
    functionUses: 3
    functionsReached:
    - hostapd_ht_operation_update
    - update_sta_ht
    - update_sta_no_ht
    linkageType: ''
    returnType: int
    signature: int update_ht_state(struct hostapd_data *hapd, struct sta_info *sta)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/ap/ieee802_11_ht.c:542,1
    - Dst: le_to_host16
      Src: /src/hostap/src/ap/ieee802_11_ht.c:543,1
    - Dst: host_to_le16
      Src: /src/hostap/src/ap/ieee802_11_ht.c:563,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - hapd
    - ht_cap
    - neg_ht_cap
    argTypes:
    - struct hostapd_data*
    - struct ieee80211_ht_capabilities*
    - struct ieee80211_ht_capabilities*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 534
    functionDepth: 1
    functionLinenumber: 534
    functionLinenumberEnd: 564
    functionName: hostapd_get_ht_capab
    functionSourceFile: /src/hostap/src/ap/ieee802_11_ht.c
    functionUses: 1
    functionsReached:
    - le_to_host16
    - os_memcpy
    - host_to_le16
    linkageType: ''
    returnType: void
    signature: "void hostapd_get_ht_capab(struct hostapd_data *hapd,\n\t\t\t  struct
      ieee80211_ht_capabilities *ht_cap,\n\t\t\t  struct ieee80211_ht_capabilities
      *neg_ht_cap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/ap/ieee802_11_ht.c:571,1
    - Dst: ieee802_11_set_beacons
      Src: /src/hostap/src/ap/ieee802_11_ht.c:574,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - eloop_data
    - user_data
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 567
    functionDepth: 11
    functionLinenumber: 567
    functionLinenumberEnd: 575
    functionName: ap_ht2040_timeout
    functionSourceFile: /src/hostap/src/ap/ieee802_11_ht.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - ieee802_11_set_beacons
    linkageType: ''
    returnType: void
    signature: void ap_ht2040_timeout(void *eloop_data, void *user_data)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - alg
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 35
    functionName: mlme_auth_alg_str
    functionSourceFile: /src/hostap/src/ap/ap_mlme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * mlme_auth_alg_str(int alg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ap_mlme.c:56,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ap_mlme.c:59,1
    - Dst: mlme_auth_alg_str
      Src: /src/hostap/src/ap/ap_mlme.c:59,1
    - Dst: mlme_deletekeys_request
      Src: /src/hostap/src/ap/ap_mlme.c:65,1
    - Dst: ap_sta_clear_disconnect_timeouts
      Src: /src/hostap/src/ap/ap_mlme.c:66,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 67
    functionName: mlme_authenticate_indication
    functionSourceFile: /src/hostap/src/ap/ap_mlme.c
    functionUses: 5
    functionsReached:
    - ap_sta_clear_disconnect_timeouts
    - hostapd_logger
    - MAC2STR
    - mlme_auth_alg_str
    - mlme_deletekeys_request
    linkageType: ''
    returnType: void
    signature: "void mlme_authenticate_indication(struct hostapd_data *hapd,\n\t\t\t\t
      \ struct sta_info *sta)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ap_mlme.c:85,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ap_mlme.c:88,1
    - Dst: mlme_deletekeys_request
      Src: /src/hostap/src/ap/ap_mlme.c:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - hapd
    - sta
    - reason_code
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 91
    functionName: mlme_deauthenticate_indication
    functionSourceFile: /src/hostap/src/ap/ap_mlme.c
    functionUses: 6
    functionsReached:
    - MAC2STR
    - hostapd_logger
    - mlme_deletekeys_request
    linkageType: ''
    returnType: void
    signature: "void mlme_deauthenticate_indication(struct hostapd_data *hapd,\n\t\t\t\t
      \   struct sta_info *sta, u16 reason_code)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ap_mlme.c:108,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ap_mlme.c:111,1
    - Dst: mlme_deletekeys_request
      Src: /src/hostap/src/ap/ap_mlme.c:118,1
    - Dst: ap_sta_clear_disconnect_timeouts
      Src: /src/hostap/src/ap/ap_mlme.c:119,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 120
    functionName: mlme_associate_indication
    functionSourceFile: /src/hostap/src/ap/ap_mlme.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - ap_sta_clear_disconnect_timeouts
    - hostapd_logger
    - mlme_deletekeys_request
    linkageType: ''
    returnType: void
    signature: void mlme_associate_indication(struct hostapd_data *hapd, struct sta_info
      *sta)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ap_mlme.c:138,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ap_mlme.c:141,1
    - Dst: mlme_deletekeys_request
      Src: /src/hostap/src/ap/ap_mlme.c:148,1
    - Dst: ap_sta_clear_disconnect_timeouts
      Src: /src/hostap/src/ap/ap_mlme.c:149,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 150
    functionName: mlme_reassociate_indication
    functionSourceFile: /src/hostap/src/ap/ap_mlme.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - ap_sta_clear_disconnect_timeouts
    - hostapd_logger
    - mlme_deletekeys_request
    linkageType: ''
    returnType: void
    signature: "void mlme_reassociate_indication(struct hostapd_data *hapd,\n\t\t\t\t
      struct sta_info *sta)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ap_mlme.c:168,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ap_mlme.c:171,1
    - Dst: mlme_deletekeys_request
      Src: /src/hostap/src/ap/ap_mlme.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - hapd
    - sta
    - reason_code
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 173
    functionName: mlme_disassociate_indication
    functionSourceFile: /src/hostap/src/ap/ap_mlme.c
    functionUses: 3
    functionsReached:
    - MAC2STR
    - hostapd_logger
    - mlme_deletekeys_request
    linkageType: ''
    returnType: void
    signature: "void mlme_disassociate_indication(struct hostapd_data *hapd,\n\t\t\t\t
      \ struct sta_info *sta, u16 reason_code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ap_mlme.c:179,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ap_mlme.c:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hapd
    - addr
    argTypes:
    - struct hostapd_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 183
    functionName: mlme_michaelmicfailure_indication
    functionSourceFile: /src/hostap/src/ap/ap_mlme.c
    functionUses: 1
    functionsReached:
    - MAC2STR
    - hostapd_logger
    linkageType: ''
    returnType: void
    signature: "void mlme_michaelmicfailure_indication(struct hostapd_data *hapd,\n\t\t\t\t
      \      const u8 *addr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_logger
      Src: /src/hostap/src/ap/ap_mlme.c:188,1
    - Dst: MAC2STR
      Src: /src/hostap/src/ap/ap_mlme.c:191,1
    - Dst: wpa_remove_ptk
      Src: /src/hostap/src/ap/ap_mlme.c:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - hapd
    - sta
    argTypes:
    - struct hostapd_data*
    - struct sta_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 195
    functionName: mlme_deletekeys_request
    functionSourceFile: /src/hostap/src/ap/ap_mlme.c
    functionUses: 5
    functionsReached:
    - MAC2STR
    - hostapd_logger
    - wpa_remove_ptk
    linkageType: ''
    returnType: void
    signature: void mlme_deletekeys_request(struct hostapd_data *hapd, struct sta_info
      *sta)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - session_type
    - ','
    - switch_intent
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 26
    functionName: SESSION_CONTROL
    functionSourceFile: /src/hostap/src/fst/fst_defs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SESSION_CONTROL(session_type, switch_intent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - session_control
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: GET_SESSION_CONTROL_TYPE
    functionSourceFile: /src/hostap/src/fst/fst_defs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_SESSION_CONTROL_TYPE(session_control)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - session_control
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: GET_SESSION_CONTROL_SWITCH_INTENT
    functionSourceFile: /src/hostap/src/fst/fst_defs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_SESSION_CONTROL_SWITCH_INTENT(session_control)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_head
      Src: /src/hostap/src/fst/fst_group.c:25,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/fst/fst_group.c:26,1
    - Dst: WPA_ASSERT
      Src: /src/hostap/src/fst/fst_group.c:33,1
    - Dst: WPA_ASSERT
      Src: /src/hostap/src/fst/fst_group.c:34,1
    - Dst: fst_printf
      Src: /src/hostap/src/fst/fst_group.c:39,1
    - Dst: MAC2STR
      Src: /src/hostap/src/fst/fst_group.c:45,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - group_id
    - ifname
    - mbies
    argTypes:
    - char*
    - char*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 56
    functionName: fst_dump_mb_ies
    functionSourceFile: /src/hostap/src/fst/fst_group.c
    functionUses: 0
    functionsReached:
    - wpabuf_len
    - wpabuf_head
    - MAC2STR
    - fst_printf
    - WPA_ASSERT
    linkageType: ''
    returnType: void
    signature: "void fst_dump_mb_ies(const char *group_id, const char *ifname,\n\t\t\t
      \   struct wpabuf *mbies)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put
      Src: /src/hostap/src/fst/fst_group.c:68,1
    - Dst: os_memset
      Src: /src/hostap/src/fst/fst_group.c:70,1
    - Dst: os_memcpy
      Src: /src/hostap/src/fst/fst_group.c:82,1
    - Dst: os_memcpy
      Src: /src/hostap/src/fst/fst_group.c:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 5
    argNames:
    - buf
    - bssid
    - own_addr
    - band
    - channel
    argTypes:
    - struct wpabuf*
    - u8*
    - u8*
    - enum mb_band_id
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 92
    functionName: fst_fill_mb_ie
    functionSourceFile: /src/hostap/src/fst/fst_group.c
    functionUses: 0
    functionsReached:
    - wpabuf_put
    - os_memcpy
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void fst_fill_mb_ie(struct wpabuf *buf, const u8 *bssid,\n\t\t\t   const
      u8 *own_addr, enum mb_band_id band, u8 channel)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fst_iface_get_bssid
      Src: /src/hostap/src/fst/fst_group.c:99,1
    - Dst: fst_iface_get_channel_info
      Src: /src/hostap/src/fst/fst_group.c:105,1
    - Dst: fst_fill_mb_ie
      Src: /src/hostap/src/fst/fst_group.c:106,1
    - Dst: fst_iface_get_addr
      Src: /src/hostap/src/fst/fst_group.c:106,1
    - Dst: fst_hw_mode_to_band
      Src: /src/hostap/src/fst/fst_group.c:107,1
    - Dst: fst_iface_get_hw_modes
      Src: /src/hostap/src/fst/fst_group.c:114,1
    - Dst: fst_hw_mode_to_band
      Src: /src/hostap/src/fst/fst_group.c:118,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/fst/fst_group.c:120,1
    - Dst: fst_fill_mb_ie
      Src: /src/hostap/src/fst/fst_group.c:124,1
    - Dst: fst_iface_get_addr
      Src: /src/hostap/src/fst/fst_group.c:124,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - f
    - buf
    argTypes:
    - struct fst_iface*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 129
    functionName: fst_fill_iface_mb_ies
    functionSourceFile: /src/hostap/src/fst/fst_group.c
    functionUses: 0
    functionsReached:
    - fst_fill_mb_ie
    - fst_iface_get_bssid
    - fst_iface_get_addr
    - fst_iface_get_hw_modes
    - fst_iface_get_channel_info
    - ARRAY_SIZE
    - fst_hw_mode_to_band
    linkageType: ''
    returnType: unsigned
    signature: unsigned fst_fill_iface_mb_ies(struct fst_iface *f, struct wpabuf *buf)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fst_fill_iface_mb_ies
      Src: /src/hostap/src/fst/fst_group.c:143,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/fst/fst_group.c:146,1
    - Dst: fst_printf_iface
      Src: /src/hostap/src/fst/fst_group.c:149,1
    - Dst: fst_fill_iface_mb_ies
      Src: /src/hostap/src/fst/fst_group.c:163,1
    - Dst: fst_printf_iface
      Src: /src/hostap/src/fst/fst_group.c:166,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/fst/fst_group.c:170,1
    - Dst: fst_printf_iface
      Src: /src/hostap/src/fst/fst_group.c:172,1
    - Dst: fst_dump_mb_ies
      Src: /src/hostap/src/fst/fst_group.c:175,1
    - Dst: fst_group_get_id
      Src: /src/hostap/src/fst/fst_group.c:175,1
    - Dst: fst_iface_get_name
      Src: /src/hostap/src/fst/fst_group.c:175,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - g
    - i
    argTypes:
    - struct fst_group*
    - struct fst_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 132
    functionDepth: 3
    functionLinenumber: 132
    functionLinenumberEnd: 180
    functionName: fst_group_create_mb_ie
    functionSourceFile: /src/hostap/src/fst/fst_group.c
    functionUses: 0
    functionsReached:
    - fst_iface_get_name
    - wpabuf_free
    - fst_fill_iface_mb_ies
    - fst_group_get_id
    - fst_dump_mb_ies
    - wpabuf_alloc
    - fst_printf_iface
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * fst_group_create_mb_ie(struct fst_group *g,\n\t\t\t\t\t
      \     struct fst_iface *i)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fst_fill_iface_mb_ies
      Src: /src/hostap/src/fst/fst_group.c:143,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 140
    functionDepth: 3
    functionLinenumber: 140
    functionLinenumberEnd: 144
    functionName: foreach_fst_group_iface
    functionSourceFile: /src/hostap/src/fst/fst_group.c
    functionUses: 0
    functionsReached:
    - fst_fill_iface_mb_ies
    linkageType: ''
    returnType: void
    signature: void foreach_fst_group_iface(g, f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fst_fill_iface_mb_ies
      Src: /src/hostap/src/fst/fst_group.c:163,1
    - Dst: fst_printf_iface
      Src: /src/hostap/src/fst/fst_group.c:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 159
    functionDepth: 3
    functionLinenumber: 159
    functionLinenumberEnd: 167
    functionName: foreach_fst_group_iface
    functionSourceFile: /src/hostap/src/fst/fst_group.c
    functionUses: 0
    functionsReached:
    - fst_fill_iface_mb_ies
    - fst_printf_iface
    linkageType: ''
    returnType: void
    signature: void foreach_fst_group_iface(g, f)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MB_CTRL_ROLE
      Src: /src/hostap/src/fst/fst_group.c:187,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - mbie
    argTypes:
    - struct multi_band_ie*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 201
    functionName: fst_mbie_get_peer_addr
    functionSourceFile: /src/hostap/src/fst/fst_group.c
    functionUses: 0
    functionsReached:
    - MB_CTRL_ROLE
    linkageType: ''
    returnType: u8
    signature: u8 * fst_mbie_get_peer_addr(const struct multi_band_ie *mbie)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_head
      Src: /src/hostap/src/fst/fst_group.c:207,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/fst/fst_group.c:208,1
    - Dst: fst_printf
      Src: /src/hostap/src/fst/fst_group.c:215,1
    - Dst: fst_printf
      Src: /src/hostap/src/fst/fst_group.c:220,1
    - Dst: fst_mbie_get_peer_addr
      Src: /src/hostap/src/fst/fst_group.c:226,1
    - Dst: fst_printf
      Src: /src/hostap/src/fst/fst_group.c:232,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - mbies
    - band_id
    argTypes:
    - struct wpabuf*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 234
    functionName: fst_mbie_get_peer_addr_for_band
    functionSourceFile: /src/hostap/src/fst/fst_group.c
    functionUses: 0
    functionsReached:
    - wpabuf_len
    - fst_printf
    - fst_mbie_get_peer_addr
    - wpabuf_head
    linkageType: ''
    returnType: u8
    signature: "u8 * fst_mbie_get_peer_addr_for_band(const struct wpabuf *mbies,\n\t\t\t\t\t\t
      \ u8 band_id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fst_iface_get_name
      Src: /src/hostap/src/fst/fst_group.c:243,1
    - Dst: os_strncmp
      Src: /src/hostap/src/fst/fst_group.c:245,1
    - Dst: os_strlen
      Src: /src/hostap/src/fst/fst_group.c:245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - g
    - ifname
    argTypes:
    - struct fst_group*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 250
    functionName: fst_group_get_iface_by_name
    functionSourceFile: /src/hostap/src/fst/fst_group.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_strncmp
    - fst_iface_get_name
    linkageType: ''
    returnType: struct fst_iface
    signature: "struct fst_iface * fst_group_get_iface_by_name(struct fst_group *g,\n\t\t\t\t\t
      \      const char *ifname)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fst_iface_get_name
      Src: /src/hostap/src/fst/fst_group.c:243,1
    - Dst: os_strncmp
      Src: /src/hostap/src/fst/fst_group.c:245,1
    - Dst: os_strlen
      Src: /src/hostap/src/fst/fst_group.c:245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 247
    functionName: foreach_fst_group_iface
    functionSourceFile: /src/hostap/src/fst/fst_group.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_strncmp
    - fst_iface_get_name
    linkageType: ''
    returnType: void
    signature: void foreach_fst_group_iface(g, f)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - g
    argTypes:
    - struct fst_group*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 259
    functionName: fst_group_assign_dialog_token
    functionSourceFile: /src/hostap/src/fst/fst_group.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 fst_group_assign_dialog_token(struct fst_group *g)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - g
    argTypes:
    - struct fst_group*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 266
    functionName: fst_group_assign_fsts_id
    functionSourceFile: /src/hostap/src/fst/fst_group.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: u32 fst_group_assign_fsts_id(struct fst_group *g)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fst_iface_get_peer_mb_ie
      Src: /src/hostap/src/fst/fst_group.c:294,1
    - Dst: fst_mbie_get_peer_addr_for_band
      Src: /src/hostap/src/fst/fst_group.c:299,1
    - Dst: fst_printf
      Src: /src/hostap/src/fst/fst_group.c:301,1
    - Dst: fst_printf
      Src: /src/hostap/src/fst/fst_group.c:306,1
    - Dst: MAC2STR
      Src: /src/hostap/src/fst/fst_group.c:307,1
    - Dst: fst_iface_get_band_id
      Src: /src/hostap/src/fst/fst_group.c:311,1
    - Dst: fst_iface_is_connected
      Src: /src/hostap/src/fst/fst_group.c:313,1
    - Dst: os_memcpy
      Src: /src/hostap/src/fst/fst_group.c:314,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - iface
    - peer_addr
    - band_id
    - other_peer_addr
    argTypes:
    - struct fst_iface*
    - u8*
    - u8
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 284
    functionDepth: 3
    functionLinenumber: 284
    functionLinenumberEnd: 320
    functionName: fst_group_get_peer_other_connection_1
    functionSourceFile: /src/hostap/src/fst/fst_group.c
    functionUses: 0
    functionsReached:
    - fst_iface_is_connected
    - os_memcpy
    - fst_iface_get_band_id
    - MAC2STR
    - fst_iface_get_peer_mb_ie
    - fst_printf
    - fst_mbie_get_peer_addr_for_band
    linkageType: ''
    returnType: struct fst_iface
    signature: "struct fst_iface *\nfst_group_get_peer_other_connection_1(struct fst_iface
      *iface,\n\t\t\t\t      const u8 *peer_addr, u8 band_id,\n\t\t\t\t      u8 *other_peer_addr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fst_iface_get_band_id
      Src: /src/hostap/src/fst/fst_group.c:311,1
    - Dst: fst_iface_is_connected
      Src: /src/hostap/src/fst/fst_group.c:313,1
    - Dst: os_memcpy
      Src: /src/hostap/src/fst/fst_group.c:314,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 317
    functionName: foreach_fst_group_iface
    functionSourceFile: /src/hostap/src/fst/fst_group.c
    functionUses: 0
    functionsReached:
    - fst_iface_is_connected
    - os_memcpy
    - fst_iface_get_band_id
    linkageType: ''
    returnType: void
    signature: void foreach_fst_group_iface(fst_iface_get_group(iface), other_iface)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fst_iface_get_band_id
      Src: /src/hostap/src/fst/fst_group.c:344,1
    - Dst: fst_iface_get_band_id
      Src: /src/hostap/src/fst/fst_group.c:352,1
    - Dst: fst_iface_get_peer_first
      Src: /src/hostap/src/fst/fst_group.c:354,1
    - Dst: fst_iface_get_peer_next
      Src: /src/hostap/src/fst/fst_group.c:357,1
    - Dst: fst_iface_get_peer_mb_ie
      Src: /src/hostap/src/fst/fst_group.c:359,1
    - Dst: fst_mbie_get_peer_addr_for_band
      Src: /src/hostap/src/fst/fst_group.c:363,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/fst/fst_group.c:367,1
    - Dst: os_memcpy
      Src: /src/hostap/src/fst/fst_group.c:368,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 4
    argNames:
    - iface
    - peer_addr
    - band_id
    - other_peer_addr
    argTypes:
    - struct fst_iface*
    - u8*
    - u8
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 339
    functionDepth: 3
    functionLinenumber: 339
    functionLinenumberEnd: 376
    functionName: fst_group_get_peer_other_connection_2
    functionSourceFile: /src/hostap/src/fst/fst_group.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - fst_iface_get_peer_first
    - ether_addr_equal
    - fst_iface_get_band_id
    - fst_iface_get_peer_next
    - fst_iface_get_peer_mb_ie
    - fst_mbie_get_peer_addr_for_band
    linkageType: ''
    returnType: struct fst_iface
    signature: "struct fst_iface *\nfst_group_get_peer_other_connection_2(struct fst_iface
      *iface,\n\t\t\t\t      const u8 *peer_addr, u8 band_id,\n\t\t\t\t      u8 *other_peer_addr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fst_iface_get_band_id
      Src: /src/hostap/src/fst/fst_group.c:352,1
    - Dst: fst_iface_get_peer_first
      Src: /src/hostap/src/fst/fst_group.c:354,1
    - Dst: fst_iface_get_peer_next
      Src: /src/hostap/src/fst/fst_group.c:357,1
    - Dst: fst_iface_get_peer_mb_ie
      Src: /src/hostap/src/fst/fst_group.c:359,1
    - Dst: fst_mbie_get_peer_addr_for_band
      Src: /src/hostap/src/fst/fst_group.c:363,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/fst/fst_group.c:367,1
    - Dst: os_memcpy
      Src: /src/hostap/src/fst/fst_group.c:368,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 350
    functionDepth: 3
    functionLinenumber: 350
    functionLinenumberEnd: 373
    functionName: foreach_fst_group_iface
    functionSourceFile: /src/hostap/src/fst/fst_group.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - fst_iface_get_peer_first
    - ether_addr_equal
    - fst_iface_get_band_id
    - fst_iface_get_peer_next
    - fst_iface_get_peer_mb_ie
    - fst_mbie_get_peer_addr_for_band
    linkageType: ''
    returnType: void
    signature: void foreach_fst_group_iface(fst_iface_get_group(iface), other_iface)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fst_printf
      Src: /src/hostap/src/fst/fst_group.c:401,1
    - Dst: fst_iface_get_name
      Src: /src/hostap/src/fst/fst_group.c:402,1
    - Dst: MAC2STR
      Src: /src/hostap/src/fst/fst_group.c:402,1
    - Dst: fst_group_get_peer_other_connection_1
      Src: /src/hostap/src/fst/fst_group.c:412,1
    - Dst: fst_printf
      Src: /src/hostap/src/fst/fst_group.c:416,1
    - Dst: fst_iface_get_name
      Src: /src/hostap/src/fst/fst_group.c:417,1
    - Dst: MAC2STR
      Src: /src/hostap/src/fst/fst_group.c:418,1
    - Dst: fst_group_get_peer_other_connection_2
      Src: /src/hostap/src/fst/fst_group.c:422,1
    - Dst: fst_printf
      Src: /src/hostap/src/fst/fst_group.c:426,1
    - Dst: fst_iface_get_name
      Src: /src/hostap/src/fst/fst_group.c:427,1
    - Dst: MAC2STR
      Src: /src/hostap/src/fst/fst_group.c:428,1
    - Dst: fst_printf
      Src: /src/hostap/src/fst/fst_group.c:432,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - iface
    - peer_addr
    - band_id
    - other_peer_addr
    argTypes:
    - struct fst_iface*
    - u8*
    - u8
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 394
    functionDepth: 4
    functionLinenumber: 394
    functionLinenumberEnd: 434
    functionName: fst_group_get_peer_other_connection
    functionSourceFile: /src/hostap/src/fst/fst_group.c
    functionUses: 0
    functionsReached:
    - fst_group_get_peer_other_connection_1
    - fst_iface_get_name
    - MAC2STR
    - fst_group_get_peer_other_connection_2
    - fst_printf
    linkageType: ''
    returnType: struct fst_iface
    signature: "struct fst_iface *\nfst_group_get_peer_other_connection(struct fst_iface
      *iface,\n\t\t\t\t    const u8 *peer_addr, u8 band_id,\n\t\t\t\t    u8 *other_peer_addr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/fst/fst_group.c:441,1
    - Dst: fst_printf
      Src: /src/hostap/src/fst/fst_group.c:443,1
    - Dst: dl_list_init
      Src: /src/hostap/src/fst/fst_group.c:447,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/fst/fst_group.c:448,1
    - Dst: dl_list_add_tail
      Src: /src/hostap/src/fst/fst_group.c:450,1
    - Dst: fst_printf_group
      Src: /src/hostap/src/fst/fst_group.c:451,1
    - Dst: foreach_fst_ctrl_call
      Src: /src/hostap/src/fst/fst_group.c:453,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - group_id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 456
    functionName: fst_group_create
    functionSourceFile: /src/hostap/src/fst/fst_group.c
    functionUses: 0
    functionsReached:
    - fst_printf_group
    - dl_list_add_tail
    - os_strlcpy
    - os_zalloc
    - dl_list_init
    - fst_printf
    - foreach_fst_ctrl_call
    linkageType: ''
    returnType: struct fst_group
    signature: struct fst_group * fst_group_create(const char *group_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fst_iface_get_priority
      Src: /src/hostap/src/fst/fst_group.c:472,1
    - Dst: fst_iface_get_priority
      Src: /src/hostap/src/fst/fst_group.c:472,1
    - Dst: dl_list_add
      Src: /src/hostap/src/fst/fst_group.c:476,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - g
    - i
    argTypes:
    - struct fst_group*
    - struct fst_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 459
    functionDepth: 1
    functionLinenumber: 459
    functionLinenumberEnd: 477
    functionName: fst_group_attach_iface
    functionSourceFile: /src/hostap/src/fst/fst_group.c
    functionUses: 0
    functionsReached:
    - dl_list_add
    - fst_iface_get_priority
    linkageType: ''
    returnType: void
    signature: void fst_group_attach_iface(struct fst_group *g, struct fst_iface *i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fst_iface_get_priority
      Src: /src/hostap/src/fst/fst_group.c:472,1
    - Dst: fst_iface_get_priority
      Src: /src/hostap/src/fst/fst_group.c:472,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 471
    functionDepth: 1
    functionLinenumber: 471
    functionLinenumberEnd: 475
    functionName: foreach_fst_group_iface
    functionSourceFile: /src/hostap/src/fst/fst_group.c
    functionUses: 0
    functionsReached:
    - fst_iface_get_priority
    linkageType: ''
    returnType: void
    signature: void foreach_fst_group_iface(g, f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_del
      Src: /src/hostap/src/fst/fst_group.c:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - g
    - i
    argTypes:
    - struct fst_group*
    - struct fst_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 483
    functionName: fst_group_detach_iface
    functionSourceFile: /src/hostap/src/fst/fst_group.c
    functionUses: 0
    functionsReached:
    - dl_list_del
    linkageType: ''
    returnType: void
    signature: void fst_group_detach_iface(struct fst_group *g, struct fst_iface *i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_del
      Src: /src/hostap/src/fst/fst_group.c:490,1
    - Dst: WPA_ASSERT
      Src: /src/hostap/src/fst/fst_group.c:491,1
    - Dst: dl_list_empty
      Src: /src/hostap/src/fst/fst_group.c:491,1
    - Dst: foreach_fst_ctrl_call
      Src: /src/hostap/src/fst/fst_group.c:492,1
    - Dst: fst_printf_group
      Src: /src/hostap/src/fst/fst_group.c:493,1
    - Dst: fst_session_global_get_first_by_group
      Src: /src/hostap/src/fst/fst_group.c:494,1
    - Dst: fst_session_delete
      Src: /src/hostap/src/fst/fst_group.c:495,1
    - Dst: os_free
      Src: /src/hostap/src/fst/fst_group.c:496,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - group
    argTypes:
    - struct fst_group*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 497
    functionName: fst_group_delete
    functionSourceFile: /src/hostap/src/fst/fst_group.c
    functionUses: 0
    functionsReached:
    - fst_printf_group
    - dl_list_del
    - dl_list_empty
    - fst_session_delete
    - fst_session_global_get_first_by_group
    - os_free
    - WPA_ASSERT
    - foreach_fst_ctrl_call
    linkageType: ''
    returnType: void
    signature: void fst_group_delete(struct fst_group *group)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fst_group_has_ifaces
      Src: /src/hostap/src/fst/fst_group.c:502,1
    - Dst: fst_session_global_get_first_by_group
      Src: /src/hostap/src/fst/fst_group.c:503,1
    - Dst: fst_group_delete
      Src: /src/hostap/src/fst/fst_group.c:506,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - group
    argTypes:
    - struct fst_group*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 500
    functionDepth: 2
    functionLinenumber: 500
    functionLinenumberEnd: 509
    functionName: fst_group_delete_if_empty
    functionSourceFile: /src/hostap/src/fst/fst_group.c
    functionUses: 0
    functionsReached:
    - fst_group_has_ifaces
    - fst_session_global_get_first_by_group
    - fst_group_delete
    linkageType: ''
    returnType: bool
    signature: bool fst_group_delete_if_empty(struct fst_group *group)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fst_group_create_mb_ie
      Src: /src/hostap/src/fst/fst_group.c:517,1
    - Dst: fst_printf_iface
      Src: /src/hostap/src/fst/fst_group.c:520,1
    - Dst: fst_iface_attach_mbie
      Src: /src/hostap/src/fst/fst_group.c:522,1
    - Dst: fst_iface_set_ies
      Src: /src/hostap/src/fst/fst_group.c:523,1
    - Dst: fst_printf_iface
      Src: /src/hostap/src/fst/fst_group.c:524,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - g
    argTypes:
    - struct fst_group*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 512
    functionDepth: 4
    functionLinenumber: 512
    functionLinenumberEnd: 526
    functionName: fst_group_update_ie
    functionSourceFile: /src/hostap/src/fst/fst_group.c
    functionUses: 0
    functionsReached:
    - fst_iface_attach_mbie
    - fst_group_create_mb_ie
    - fst_iface_set_ies
    - fst_printf_iface
    linkageType: ''
    returnType: void
    signature: void fst_group_update_ie(struct fst_group *g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fst_group_create_mb_ie
      Src: /src/hostap/src/fst/fst_group.c:517,1
    - Dst: fst_printf_iface
      Src: /src/hostap/src/fst/fst_group.c:520,1
    - Dst: fst_iface_attach_mbie
      Src: /src/hostap/src/fst/fst_group.c:522,1
    - Dst: fst_iface_set_ies
      Src: /src/hostap/src/fst/fst_group.c:523,1
    - Dst: fst_printf_iface
      Src: /src/hostap/src/fst/fst_group.c:524,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 516
    functionDepth: 4
    functionLinenumber: 516
    functionLinenumberEnd: 525
    functionName: foreach_fst_group_iface
    functionSourceFile: /src/hostap/src/fst/fst_group.c
    functionUses: 0
    functionsReached:
    - fst_iface_attach_mbie
    - fst_group_create_mb_ie
    - fst_iface_set_ies
    - fst_printf_iface
    linkageType: ''
    returnType: void
    signature: void foreach_fst_group_iface(g, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_strlcpy
      Src: /src/hostap/src/fst/fst.c:29,1
    - Dst: fst_iface_get_name
      Src: /src/hostap/src/fst/fst.c:29,1
    - Dst: os_memcpy
      Src: /src/hostap/src/fst/fst.c:31,1
    - Dst: foreach_fst_ctrl_call
      Src: /src/hostap/src/fst/fst.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - iface
    - connected
    - peer_addr
    argTypes:
    - struct fst_iface*
    - bool
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 35
    functionName: fst_ctrl_iface_notify_peer_state_change
    functionSourceFile: /src/hostap/src/fst/fst.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - os_strlcpy
    - foreach_fst_ctrl_call
    - fst_iface_get_name
    linkageType: ''
    returnType: void
    signature: "void fst_ctrl_iface_notify_peer_state_change(struct fst_iface *iface,\n\t\t\t\t\t\t
      \   bool connected,\n\t\t\t\t\t\t    const u8 *peer_addr)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: WPA_ASSERT
      Src: /src/hostap/src/fst/fst.c:47,1
    - Dst: WPA_ASSERT
      Src: /src/hostap/src/fst/fst.c:48,1
    - Dst: WPA_ASSERT
      Src: /src/hostap/src/fst/fst.c:49,1
    - Dst: os_strcmp
      Src: /src/hostap/src/fst/fst.c:52,1
    - Dst: fst_group_get_id
      Src: /src/hostap/src/fst/fst.c:52,1
    - Dst: fst_group_create
      Src: /src/hostap/src/fst/fst.c:59,1
    - Dst: fst_printf
      Src: /src/hostap/src/fst/fst.c:61,1
    - Dst: fst_iface_create
      Src: /src/hostap/src/fst/fst.c:68,1
    - Dst: fst_printf_group
      Src: /src/hostap/src/fst/fst.c:70,1
    - Dst: fst_group_delete
      Src: /src/hostap/src/fst/fst.c:73,1
    - Dst: fst_group_attach_iface
      Src: /src/hostap/src/fst/fst.c:77,1
    - Dst: fst_group_update_ie
      Src: /src/hostap/src/fst/fst.c:78,1
    - Dst: foreach_fst_ctrl_call
      Src: /src/hostap/src/fst/fst.c:80,1
    - Dst: fst_printf_iface
      Src: /src/hostap/src/fst/fst.c:82,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 4
    argNames:
    - ifname
    - own_addr
    - iface_obj
    - cfg
    argTypes:
    - char*
    - u8*
    - struct fst_wpa_obj*
    - struct fst_iface_cfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 38
    functionDepth: 5
    functionLinenumber: 38
    functionLinenumberEnd: 87
    functionName: fst_attach
    functionSourceFile: /src/hostap/src/fst/fst.c
    functionUses: 6
    functionsReached:
    - fst_iface_create
    - fst_printf_group
    - fst_group_get_id
    - fst_group_update_ie
    - fst_group_delete
    - fst_group_attach_iface
    - fst_printf_iface
    - fst_group_create
    - fst_printf
    - WPA_ASSERT
    - os_strcmp
    - foreach_fst_ctrl_call
    linkageType: ''
    returnType: struct fst_iface
    signature: "struct fst_iface * fst_attach(const char *ifname, const u8 *own_addr,\n\t\t\t
      \     const struct fst_wpa_obj *iface_obj,\n\t\t\t      const struct fst_iface_cfg
      *cfg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/src/fst/fst.c:52,1
    - Dst: fst_group_get_id
      Src: /src/hostap/src/fst/fst.c:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: foreach_fst_group
    functionSourceFile: /src/hostap/src/fst/fst.c
    functionUses: 0
    functionsReached:
    - fst_group_get_id
    - os_strcmp
    linkageType: ''
    returnType: void
    signature: void foreach_fst_group(g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fst_iface_get_group
      Src: /src/hostap/src/fst/fst.c:92,1
    - Dst: fst_printf_iface
      Src: /src/hostap/src/fst/fst.c:94,1
    - Dst: fst_group_get_id
      Src: /src/hostap/src/fst/fst.c:95,1
    - Dst: fst_session_global_on_iface_detached
      Src: /src/hostap/src/fst/fst.c:96,1
    - Dst: foreach_fst_ctrl_call
      Src: /src/hostap/src/fst/fst.c:97,1
    - Dst: fst_group_detach_iface
      Src: /src/hostap/src/fst/fst.c:98,1
    - Dst: fst_iface_delete
      Src: /src/hostap/src/fst/fst.c:99,1
    - Dst: fst_group_update_ie
      Src: /src/hostap/src/fst/fst.c:100,1
    - Dst: fst_group_delete_if_empty
      Src: /src/hostap/src/fst/fst.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct fst_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 90
    functionDepth: 5
    functionLinenumber: 90
    functionLinenumberEnd: 102
    functionName: fst_detach
    functionSourceFile: /src/hostap/src/fst/fst.c
    functionUses: 5
    functionsReached:
    - fst_group_delete_if_empty
    - fst_iface_delete
    - fst_group_get_id
    - fst_group_update_ie
    - fst_group_detach_iface
    - fst_printf_iface
    - fst_iface_get_group
    - foreach_fst_ctrl_call
    - fst_session_global_on_iface_detached
    linkageType: ''
    returnType: void
    signature: void fst_detach(struct fst_iface *iface)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_init
      Src: /src/hostap/src/fst/fst.c:107,1
    - Dst: dl_list_init
      Src: /src/hostap/src/fst/fst.c:108,1
    - Dst: fst_session_global_init
      Src: /src/hostap/src/fst/fst.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 112
    functionName: fst_global_init
    functionSourceFile: /src/hostap/src/fst/fst.c
    functionUses: 2
    functionsReached:
    - fst_session_global_init
    - dl_list_init
    linkageType: ''
    returnType: int
    signature: int fst_global_init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fst_session_global_deinit
      Src: /src/hostap/src/fst/fst.c:123,1
    - Dst: fst_first_group
      Src: /src/hostap/src/fst/fst.c:124,1
    - Dst: fst_group_delete
      Src: /src/hostap/src/fst/fst.c:125,1
    - Dst: dl_list_first
      Src: /src/hostap/src/fst/fst.c:126,1
    - Dst: fst_global_del_ctrl
      Src: /src/hostap/src/fst/fst.c:129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 131
    functionName: fst_global_deinit
    functionSourceFile: /src/hostap/src/fst/fst.c
    functionUses: 2
    functionsReached:
    - fst_first_group
    - fst_session_global_deinit
    - dl_list_first
    - fst_global_del_ctrl
    - fst_group_delete
    linkageType: ''
    returnType: void
    signature: void fst_global_deinit(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/fst/fst.c:141,1
    - Dst: struct fst_ctrl*::init
      Src: /src/hostap/src/fst/fst.c:145,1
    - Dst: os_free
      Src: /src/hostap/src/fst/fst.c:146,1
    - Dst: dl_list_add_tail
      Src: /src/hostap/src/fst/fst.c:151,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - struct fst_ctrl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 154
    functionName: fst_global_add_ctrl
    functionSourceFile: /src/hostap/src/fst/fst.c
    functionUses: 2
    functionsReached:
    - struct fst_ctrl*::init
    - os_free
    - os_zalloc
    - dl_list_add_tail
    linkageType: ''
    returnType: struct fst_ctrl_handle
    signature: struct fst_ctrl_handle * fst_global_add_ctrl(const struct fst_ctrl
      *ctrl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_del
      Src: /src/hostap/src/fst/fst.c:159,1
    - Dst: struct fst_ctrl_handle*::ctrl::deinit
      Src: /src/hostap/src/fst/fst.c:161,1
    - Dst: os_free
      Src: /src/hostap/src/fst/fst.c:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct fst_ctrl_handle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 163
    functionName: fst_global_del_ctrl
    functionSourceFile: /src/hostap/src/fst/fst.c
    functionUses: 1
    functionsReached:
    - struct fst_ctrl_handle*::ctrl::deinit
    - os_free
    - dl_list_del
    linkageType: ''
    returnType: void
    signature: void fst_global_del_ctrl(struct fst_ctrl_handle *h)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_multicast_ether_addr
      Src: /src/hostap/src/fst/fst.c:169,1
    - Dst: wpa_printf
      Src: /src/hostap/src/fst/fst.c:170,1
    - Dst: MAC2STR
      Src: /src/hostap/src/fst/fst.c:173,1
    - Dst: MAC2STR
      Src: /src/hostap/src/fst/fst.c:173,1
    - Dst: fst_iface_is_connected
      Src: /src/hostap/src/fst/fst.c:177,1
    - Dst: fst_session_on_action_rx
      Src: /src/hostap/src/fst/fst.c:178,1
    - Dst: wpa_printf
      Src: /src/hostap/src/fst/fst.c:180,1
    - Dst: MAC2STR
      Src: /src/hostap/src/fst/fst.c:182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - iface
    - mgmt
    - len
    argTypes:
    - struct fst_iface*
    - struct ieee80211_mgmt*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 183
    functionName: fst_rx_action
    functionSourceFile: /src/hostap/src/fst/fst.c
    functionUses: 3
    functionsReached:
    - wpa_printf
    - fst_iface_is_connected
    - is_multicast_ether_addr
    - fst_session_on_action_rx
    - MAC2STR
    linkageType: ''
    returnType: void
    signature: "void fst_rx_action(struct fst_iface *iface, const struct ieee80211_mgmt
      *mgmt,\n\t\t   size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/fst/fst.c:188,1
    - Dst: fst_group_update_ie
      Src: /src/hostap/src/fst/fst.c:192,1
    - Dst: fst_iface_get_group
      Src: /src/hostap/src/fst/fst.c:192,1
    - Dst: fst_printf_iface
      Src: /src/hostap/src/fst/fst.c:195,1
    - Dst: MAC2STR
      Src: /src/hostap/src/fst/fst.c:196,1
    - Dst: fst_ctrl_iface_notify_peer_state_change
      Src: /src/hostap/src/fst/fst.c:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - iface
    - addr
    argTypes:
    - struct fst_iface*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 186
    functionDepth: 5
    functionLinenumber: 186
    functionLinenumberEnd: 199
    functionName: fst_notify_peer_connected
    functionSourceFile: /src/hostap/src/fst/fst.c
    functionUses: 2
    functionsReached:
    - fst_group_update_ie
    - is_zero_ether_addr
    - MAC2STR
    - fst_ctrl_iface_notify_peer_state_change
    - fst_printf_iface
    - fst_iface_get_group
    linkageType: ''
    returnType: void
    signature: void fst_notify_peer_connected(struct fst_iface *iface, const u8 *addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/fst/fst.c:204,1
    - Dst: fst_group_update_ie
      Src: /src/hostap/src/fst/fst.c:208,1
    - Dst: fst_iface_get_group
      Src: /src/hostap/src/fst/fst.c:208,1
    - Dst: fst_printf_iface
      Src: /src/hostap/src/fst/fst.c:211,1
    - Dst: MAC2STR
      Src: /src/hostap/src/fst/fst.c:212,1
    - Dst: fst_ctrl_iface_notify_peer_state_change
      Src: /src/hostap/src/fst/fst.c:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - iface
    - addr
    argTypes:
    - struct fst_iface*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 202
    functionDepth: 5
    functionLinenumber: 202
    functionLinenumberEnd: 215
    functionName: fst_notify_peer_disconnected
    functionSourceFile: /src/hostap/src/fst/fst.c
    functionUses: 2
    functionsReached:
    - fst_group_update_ie
    - is_zero_ether_addr
    - MAC2STR
    - fst_ctrl_iface_notify_peer_state_change
    - fst_printf_iface
    - fst_iface_get_group
    linkageType: ''
    returnType: void
    signature: void fst_notify_peer_disconnected(struct fst_iface *iface, const u8
      *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fst_iface_get_group
      Src: /src/hostap/src/fst/fst.c:221,1
    - Dst: fst_iface_get_group
      Src: /src/hostap/src/fst/fst.c:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - iface1
    - iface2
    argTypes:
    - struct fst_iface*
    - struct fst_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 222
    functionName: fst_are_ifaces_aggregated
    functionSourceFile: /src/hostap/src/fst/fst.c
    functionUses: 1
    functionsReached:
    - fst_iface_get_group
    linkageType: ''
    returnType: bool
    signature: "bool fst_are_ifaces_aggregated(struct fst_iface *iface1,\n\t\t\t       struct
      fst_iface *iface2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fst_printf_iface
      Src: /src/hostap/src/fst/fst.c:227,1
    - Dst: MAC2STR
      Src: /src/hostap/src/fst/fst.c:228,1
    - Dst: os_memcpy
      Src: /src/hostap/src/fst/fst.c:229,1
    - Dst: fst_group_update_ie
      Src: /src/hostap/src/fst/fst.c:230,1
    - Dst: fst_iface_get_group
      Src: /src/hostap/src/fst/fst.c:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - addr
    argTypes:
    - struct fst_iface*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 225
    functionDepth: 5
    functionLinenumber: 225
    functionLinenumberEnd: 231
    functionName: fst_update_mac_addr
    functionSourceFile: /src/hostap/src/fst/fst.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    - fst_group_update_ie
    - MAC2STR
    - fst_printf_iface
    - fst_iface_get_group
    linkageType: ''
    returnType: void
    signature: void fst_update_mac_addr(struct fst_iface *iface, const u8 *addr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: WPA_ASSERT
      Src: /src/hostap/src/fst/fst.c:245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - mode
    argTypes:
    - enum hostapd_hw_mode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 248
    functionName: fst_hw_mode_to_band
    functionSourceFile: /src/hostap/src/fst/fst.c
    functionUses: 1
    functionsReached:
    - WPA_ASSERT
    linkageType: ''
    returnType: enum mb_band_id
    signature: enum mb_band_id fst_hw_mode_to_band(enum hostapd_hw_mode mode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/fst/fst_iface.c:22,1
    - Dst: fst_printf_group
      Src: /src/hostap/src/fst/fst_iface.c:24,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/fst/fst_iface.c:32,1
    - Dst: os_memcpy
      Src: /src/hostap/src/fst/fst_iface.c:33,1
    - Dst: fst_printf_iface
      Src: /src/hostap/src/fst/fst_iface.c:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 5
    argNames:
    - g
    - ifname
    - own_addr
    - iface_obj
    - cfg
    argTypes:
    - struct fst_group*
    - char*
    - u8*
    - struct fst_wpa_obj*
    - struct fst_iface_cfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 41
    functionName: fst_iface_create
    functionSourceFile: /src/hostap/src/fst/fst_iface.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    - fst_printf_group
    - os_strlcpy
    - os_zalloc
    - fst_printf_iface
    linkageType: ''
    returnType: struct fst_iface
    signature: "struct fst_iface * fst_iface_create(struct fst_group *g, const char
      *ifname,\n\t\t\t\t    const u8 *own_addr,\n\t\t\t\t    const struct fst_wpa_obj
      *iface_obj,\n\t\t\t\t    const struct fst_iface_cfg *cfg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fst_iface_set_ies
      Src: /src/hostap/src/fst/fst_iface.c:46,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/fst/fst_iface.c:47,1
    - Dst: os_free
      Src: /src/hostap/src/fst/fst_iface.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - i
    argTypes:
    - struct fst_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: fst_iface_delete
    functionSourceFile: /src/hostap/src/fst/fst_iface.c
    functionUses: 1
    functionsReached:
    - os_free
    - wpabuf_free
    - fst_iface_set_ies
    linkageType: ''
    returnType: void
    signature: void fst_iface_delete(struct fst_iface *i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fst_iface_get_peer_first
      Src: /src/hostap/src/fst/fst_iface.c:56,1
    - Dst: fst_iface_get_peer_next
      Src: /src/hostap/src/fst/fst_iface.c:58,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/fst/fst_iface.c:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - iface
    - addr
    - mb_only
    argTypes:
    - struct fst_iface*
    - u8*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 63
    functionName: fst_iface_is_connected
    functionSourceFile: /src/hostap/src/fst/fst_iface.c
    functionUses: 3
    functionsReached:
    - fst_iface_get_peer_next
    - fst_iface_get_peer_first
    - ether_addr_equal
    linkageType: ''
    returnType: bool
    signature: "bool fst_iface_is_connected(struct fst_iface *iface, const u8 *addr,\n\t\t\t
      \   bool mb_only)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/src/fst/fst_iface.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - i
    - mbie
    argTypes:
    - struct fst_iface*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: fst_iface_attach_mbie
    functionSourceFile: /src/hostap/src/fst/fst_iface.c
    functionUses: 2
    functionsReached:
    - wpabuf_free
    linkageType: ''
    returnType: void
    signature: void fst_iface_attach_mbie(struct fst_iface *i, struct wpabuf *mbie)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fst_iface_get_channel_info
      Src: /src/hostap/src/fst/fst_iface.c:78,1
    - Dst: fst_hw_mode_to_band
      Src: /src/hostap/src/fst/fst_iface.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - struct fst_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 80
    functionName: fst_iface_get_band_id
    functionSourceFile: /src/hostap/src/fst/fst_iface.c
    functionUses: 4
    functionsReached:
    - fst_iface_get_channel_info
    - fst_hw_mode_to_band
    linkageType: ''
    returnType: enum mb_band_id
    signature: enum mb_band_id fst_iface_get_band_id(struct fst_iface *i)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - index
    - names
    - names_size
    argTypes:
    - unsigned
    - char*[]
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 50
    functionName: fst_get_str_name
    functionSourceFile: /src/hostap/src/fst/fst_ctrl_aux.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char * fst_get_str_name(unsigned index, const char *names[],\n\t\t\t
      \     size_t names_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fst_get_str_name
      Src: /src/hostap/src/fst/fst_ctrl_aux.c:55,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/fst/fst_ctrl_aux.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - event
    argTypes:
    - enum fst_event_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: fst_session_event_type_name
    functionSourceFile: /src/hostap/src/fst/fst_ctrl_aux.c
    functionUses: 0
    functionsReached:
    - fst_get_str_name
    - ARRAY_SIZE
    linkageType: ''
    returnType: char
    signature: char * fst_session_event_type_name(enum fst_event_type event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fst_get_str_name
      Src: /src/hostap/src/fst/fst_ctrl_aux.c:62,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/fst/fst_ctrl_aux.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - reason
    argTypes:
    - enum fst_reason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: fst_reason_name
    functionSourceFile: /src/hostap/src/fst/fst_ctrl_aux.c
    functionUses: 0
    functionsReached:
    - fst_get_str_name
    - ARRAY_SIZE
    linkageType: ''
    returnType: char
    signature: char * fst_reason_name(enum fst_reason reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fst_get_str_name
      Src: /src/hostap/src/fst/fst_ctrl_aux.c:68,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/fst/fst_ctrl_aux.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - enum fst_session_state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: fst_session_state_name
    functionSourceFile: /src/hostap/src/fst/fst_ctrl_aux.c
    functionUses: 0
    functionsReached:
    - fst_get_str_name
    - ARRAY_SIZE
    linkageType: ''
    returnType: char
    signature: char * fst_session_state_name(enum fst_session_state state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - level
    - ','
    - format
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: fst_printf
    functionSourceFile: /src/hostap/src/fst/fst_internal.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fst_printf(level, format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - group
    - ','
    - level
    - ','
    - format
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: fst_printf_group
    functionSourceFile: /src/hostap/src/fst/fst_internal.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fst_printf_group(group, level, format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - iface
    - ','
    - level
    - ','
    - format
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: fst_printf_iface
    functionSourceFile: /src/hostap/src/fst/fst_internal.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fst_printf_iface(iface, level, format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - clb
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 48
    functionName: foreach_fst_ctrl_call
    functionSourceFile: /src/hostap/src/fst/fst_internal.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: foreach_fst_ctrl_call(clb, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - addr
    - buf
    - buflen
    argTypes:
    - u8*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: fst_ctrl_iface_mb_info
    functionSourceFile: /src/hostap/src/fst/fst_ctrl_iface.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fst_ctrl_iface_mb_info(const u8 *addr, char *buf, size_t buflen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: FST_LLT_MS_TO_VAL
    functionSourceFile: /src/hostap/src/fst/fst.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FST_LLT_MS_TO_VAL(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: FST_LLT_VAL_TO_MS
    functionSourceFile: /src/hostap/src/fst/fst.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FST_LLT_VAL_TO_MS(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 294
    functionName: fst_global_init
    functionSourceFile: /src/hostap/src/fst/fst.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fst_global_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 299
    functionName: fst_global_start
    functionSourceFile: /src/hostap/src/fst/fst.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fst_global_start(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 303
    functionName: fst_global_stop
    functionSourceFile: /src/hostap/src/fst/fst.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fst_global_stop(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 307
    functionName: fst_global_deinit
    functionSourceFile: /src/hostap/src/fst/fst.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fst_global_deinit(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - g
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: foreach_fst_group_iface
    functionSourceFile: /src/hostap/src/fst/fst_group.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: foreach_fst_group_iface(g, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_empty
      Src: /src/hostap/src/fst/fst_group.h:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - struct fst_group*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: fst_group_has_ifaces
    functionSourceFile: /src/hostap/src/fst/fst_group.h
    functionUses: 1
    functionsReached:
    - dl_list_empty
    linkageType: ''
    returnType: bool
    signature: bool fst_group_has_ifaces(struct fst_group *g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_first
      Src: /src/hostap/src/fst/fst_group.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - struct fst_group*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: fst_group_first_iface
    functionSourceFile: /src/hostap/src/fst/fst_group.h
    functionUses: 0
    functionsReached:
    - dl_list_first
    linkageType: ''
    returnType: struct fst_iface
    signature: struct fst_iface * fst_group_first_iface(struct fst_group *g)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - struct fst_group*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: fst_group_get_id
    functionSourceFile: /src/hostap/src/fst/fst_group.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * fst_group_get_id(struct fst_group *g)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - g
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: foreach_fst_group
    functionSourceFile: /src/hostap/src/fst/fst_group.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: foreach_fst_group(g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_first
      Src: /src/hostap/src/fst/fst_group.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: fst_first_group
    functionSourceFile: /src/hostap/src/fst/fst_group.h
    functionUses: 1
    functionsReached:
    - dl_list_first
    linkageType: ''
    returnType: struct fst_group
    signature: struct fst_group * fst_first_group(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - s
    - ','
    - level
    - ','
    - format
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 29
    functionName: fst_printf_session
    functionSourceFile: /src/hostap/src/fst/fst_session.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fst_printf_session(s, level, format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - s
    - ','
    - iface
    - ','
    - level
    - ','
    - format
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: fst_printf_siface
    functionSourceFile: /src/hostap/src/fst/fst_session.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fst_printf_siface(s, iface, level, format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - s
    - ','
    - is_old
    - ','
    - level
    - ','
    - format
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: fst_printf_sframe
    functionSourceFile: /src/hostap/src/fst/fst_session.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fst_printf_sframe(s, is_old, level, format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: foreach_fst_session
    functionSourceFile: /src/hostap/src/fst/fst_session.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: foreach_fst_session(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - temp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: foreach_fst_session_safe
    functionSourceFile: /src/hostap/src/fst/fst_session.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: foreach_fst_session_safe(s, temp)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: fst_session_global_inc_id
    functionSourceFile: /src/hostap/src/fst/fst_session.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fst_session_global_inc_id(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_init
      Src: /src/hostap/src/fst/fst_session.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: fst_session_global_init
    functionSourceFile: /src/hostap/src/fst/fst_session.c
    functionUses: 1
    functionsReached:
    - dl_list_init
    linkageType: ''
    returnType: int
    signature: int fst_session_global_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WPA_ASSERT
      Src: /src/hostap/src/fst/fst_session.c:101,1
    - Dst: dl_list_empty
      Src: /src/hostap/src/fst/fst_session.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: fst_session_global_deinit
    functionSourceFile: /src/hostap/src/fst/fst_session.c
    functionUses: 1
    functionsReached:
    - WPA_ASSERT
    - dl_list_empty
    linkageType: ''
    returnType: void
    signature: void fst_session_global_deinit(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: foreach_fst_ctrl_call
      Src: /src/hostap/src/fst/fst_session.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s
    - event_type
    - extra
    argTypes:
    - struct fst_session*
    - enum fst_event_type
    - union fst_event_extra*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: fst_session_notify_ctrl
    functionSourceFile: /src/hostap/src/fst/fst_session.c
    functionUses: 0
    functionsReached:
    - foreach_fst_ctrl_call
    linkageType: ''
    returnType: void
    signature: "void fst_session_notify_ctrl(struct fst_session *s,\n\t\t\t\t\t   enum
      fst_event_type event_type,\n\t\t\t\t\t   union fst_event_extra *extra)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fst_session_notify_ctrl
      Src: /src/hostap/src/fst/fst_session.c:127,1
    - Dst: fst_printf_session
      Src: /src/hostap/src/fst/fst_session.c:129,1
    - Dst: fst_session_state_name
      Src: /src/hostap/src/fst/fst_session.c:130,1
    - Dst: fst_session_state_name
      Src: /src/hostap/src/fst/fst_session.c:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - s
    - state
    - extra
    argTypes:
    - struct fst_session*
    - enum fst_session_state
    - union fst_session_state_switch_extra*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 134
    functionName: fst_session_set_state
    functionSourceFile: /src/hostap/src/fst/fst_session.c
    functionUses: 0
    functionsReached:
    - fst_session_notify_ctrl
    - fst_printf_session
    - fst_session_state_name
    linkageType: ''
    returnType: void
    signature: "void fst_session_set_state(struct fst_session *s,\n\t\t\t\t  enum
      fst_session_state state,\n\t\t\t\t  union fst_session_state_switch_extra *extra)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fst_session_global_inc_id
      Src: /src/hostap/src/fst/fst_session.c:147,1
    - Dst: fst_session_global_inc_id
      Src: /src/hostap/src/fst/fst_session.c:154,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 160
    functionName: fst_find_free_session_id
    functionSourceFile: /src/hostap/src/fst/fst_session.c
    functionUses: 0
    functionsReached:
    - fst_session_global_inc_id
    linkageType: ''
    returnType: u32
    signature: u32 fst_find_free_session_id(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fst_session_global_inc_id
      Src: /src/hostap/src/fst/fst_session.c:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 151
    functionName: foreach_fst_session
    functionSourceFile: /src/hostap/src/fst/fst_session.c
    functionUses: 0
    functionsReached:
    - fst_session_global_inc_id
    linkageType: ''
    returnType: void
    signature: void foreach_fst_session(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fst_printf_session
      Src: /src/hostap/src/fst/fst_session.c:172,1
    - Dst: fst_session_set_state
      Src: /src/hostap/src/fst/fst_session.c:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - eloop_data
    - user_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 163
    functionDepth: 3
    functionLinenumber: 163
    functionLinenumberEnd: 174
    functionName: fst_session_timeout_handler
    functionSourceFile: /src/hostap/src/fst/fst_session.c
    functionUses: 0
    functionsReached:
    - fst_printf_session
    - fst_session_set_state
    linkageType: ''
    returnType: void
    signature: void fst_session_timeout_handler(void *eloop_data, void *user_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/fst/fst_session.c:180,1
    - Dst: TU_TO_USEC
      Src: /src/hostap/src/fst/fst_session.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct fst_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 184
    functionName: fst_session_stt_arm
    functionSourceFile: /src/hostap/src/fst/fst_session.c
    functionUses: 0
    functionsReached:
    - eloop_register_timeout
    - TU_TO_USEC
    linkageType: ''
    returnType: void
    signature: void fst_session_stt_arm(struct fst_session *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/fst/fst_session.c:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct fst_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 193
    functionName: fst_session_stt_disarm
    functionSourceFile: /src/hostap/src/fst/fst_session.c
    functionUses: 0
    functionsReached:
    - eloop_cancel_timeout
    linkageType: ''
    returnType: void
    signature: void fst_session_stt_disarm(struct fst_session *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct fst_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 200
    functionName: fst_session_is_in_transition
    functionSourceFile: /src/hostap/src/fst/fst_session.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool fst_session_is_in_transition(struct fst_session *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct fst_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 206
    functionName: fst_session_is_in_progress
    functionSourceFile: /src/hostap/src/fst/fst_session.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fst_session_is_in_progress(struct fst_session *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fst_session_is_in_transition
      Src: /src/hostap/src/fst/fst_session.c:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct fst_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 213
    functionName: fst_session_is_ready_pending
    functionSourceFile: /src/hostap/src/fst/fst_session.c
    functionUses: 0
    functionsReached:
    - fst_session_is_in_transition
    linkageType: ''
    returnType: int
    signature: int fst_session_is_ready_pending(struct fst_session *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fst_session_is_in_transition
      Src: /src/hostap/src/fst/fst_session.c:219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct fst_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 220
    functionName: fst_session_is_ready
    functionSourceFile: /src/hostap/src/fst/fst_session.c
    functionUses: 0
    functionsReached:
    - fst_session_is_in_transition
    linkageType: ''
    returnType: int
    signature: int fst_session_is_ready(struct fst_session *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fst_session_is_in_transition
      Src: /src/hostap/src/fst/fst_session.c:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct fst_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 227
    functionName: fst_session_is_switch_requested
    functionSourceFile: /src/hostap/src/fst/fst_session.c
    functionUses: 0
    functionsReached:
    - fst_session_is_in_transition
    linkageType: ''
    returnType: int
    signature: int fst_session_is_switch_requested(struct fst_session *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/src/fst/fst_session.c:237,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/fst/fst_session.c:238,1
    - Dst: fst_session_is_in_progress
      Src: /src/hostap/src/fst/fst_session.c:239,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - peer_addr
    - g
    argTypes:
    - u8*
    - struct fst_group*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 244
    functionName: fst_find_session_in_progress
    functionSourceFile: /src/hostap/src/fst/fst_session.c
    functionUses: 0
    functionsReached:
    - fst_session_is_in_progress
    - ether_addr_equal
    linkageType: ''
    returnType: struct fst_session
    signature: 'struct fst_session *

      fst_find_session_in_progress(const u8 *peer_addr, struct fst_group *g)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/src/fst/fst_session.c:237,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/fst/fst_session.c:238,1
    - Dst: fst_session_is_in_progress
      Src: /src/hostap/src/fst/fst_session.c:239,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 241
    functionName: foreach_fst_session
    functionSourceFile: /src/hostap/src/fst/fst_session.c
    functionUses: 0
    functionsReached:
    - fst_session_is_in_progress
    - ether_addr_equal
    linkageType: ''
    returnType: void
    signature: void foreach_fst_session(s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fst_session_tear_down_setup
      Src: /src/hostap/src/fst/fst_session.c:257,1
    - Dst: fst_session_stt_disarm
      Src: /src/hostap/src/fst/fst_session.c:258,1
    - Dst: os_memset
      Src: /src/hostap/src/fst/fst_session.c:259,1
    - Dst: fst_session_set_state
      Src: /src/hostap/src/fst/fst_session.c:260,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - s
    - reason
    argTypes:
    - struct fst_session*
    - enum fst_reason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 247
    functionDepth: 3
    functionLinenumber: 247
    functionLinenumberEnd: 261
    functionName: fst_session_reset_ex
    functionSourceFile: /src/hostap/src/fst/fst_session.c
    functionUses: 0
    functionsReached:
    - fst_session_set_state
    - fst_session_tear_down_setup
    - fst_session_stt_disarm
    - os_memset
    linkageType: ''
    returnType: void
    signature: void fst_session_reset_ex(struct fst_session *s, enum fst_reason reason)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: WPA_ASSERT
      Src: /src/hostap/src/fst/fst_session.c:275,1
    - Dst: WPA_ASSERT
      Src: /src/hostap/src/fst/fst_session.c:276,1
    - Dst: WPA_ASSERT
      Src: /src/hostap/src/fst/fst_session.c:280,1
    - Dst: fst_printf_session
      Src: /src/hostap/src/fst/fst_session.c:283,1
    - Dst: wpabuf_size
      Src: /src/hostap/src/fst/fst_session.c:292,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/fst/fst_session.c:294,1
    - Dst: fst_printf_session
      Src: /src/hostap/src/fst/fst_session.c:296,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/fst/fst_session.c:302,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/fst/fst_session.c:303,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/fst/fst_session.c:305,1
    - Dst: fst_iface_send_action
      Src: /src/hostap/src/fst/fst_session.c:307,1
    - Dst: fst_printf_siface
      Src: /src/hostap/src/fst/fst_session.c:311,1
    - Dst: fst_printf_siface
      Src: /src/hostap/src/fst/fst_session.c:315,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/fst/fst_session.c:317,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 5
    argNames:
    - s
    - old_iface
    - payload
    - size
    - extra_buf
    argTypes:
    - struct fst_session*
    - bool
    - void*
    - size_t
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 320
    functionName: fst_session_send_action
    functionSourceFile: /src/hostap/src/fst/fst_session.c
    functionUses: 0
    functionsReached:
    - fst_iface_send_action
    - wpabuf_size
    - wpabuf_put_u8
    - wpabuf_put_data
    - wpabuf_free
    - wpabuf_alloc
    - wpabuf_put_buf
    - fst_printf_siface
    - fst_printf_session
    - WPA_ASSERT
    linkageType: ''
    returnType: int
    signature: "int fst_session_send_action(struct fst_session *s, bool old_iface,\n\t\t\t\t
      \  const void *payload, size_t size,\n\t\t\t\t   const struct wpabuf *extra_buf)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fst_session_is_in_progress
      Src: /src/hostap/src/fst/fst_session.c:328,1
    - Dst: fst_printf_session
      Src: /src/hostap/src/fst/fst_session.c:329,1
    - Dst: WPA_ASSERT
      Src: /src/hostap/src/fst/fst_session.c:333,1
    - Dst: WPA_ASSERT
      Src: /src/hostap/src/fst/fst_session.c:334,1
    - Dst: os_memset
      Src: /src/hostap/src/fst/fst_session.c:336,1
    - Dst: host_to_le32
      Src: /src/hostap/src/fst/fst_session.c:339,1
    - Dst: fst_session_send_action
      Src: /src/hostap/src/fst/fst_session.c:341,1
    - Dst: fst_printf_sframe
      Src: /src/hostap/src/fst/fst_session.c:343,1
    - Dst: fst_printf_sframe
      Src: /src/hostap/src/fst/fst_session.c:345,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct fst_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 323
    functionDepth: 2
    functionLinenumber: 323
    functionLinenumberEnd: 349
    functionName: fst_session_send_tear_down
    functionSourceFile: /src/hostap/src/fst/fst_session.c
    functionUses: 0
    functionsReached:
    - fst_session_send_action
    - host_to_le32
    - fst_session_is_in_progress
    - fst_printf_sframe
    - fst_printf_session
    - WPA_ASSERT
    - os_memset
    linkageType: ''
    returnType: int
    signature: int fst_session_send_tear_down(struct fst_session *s)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: fst_printf_iface
      Src: /src/hostap/src/fst/fst_session.c:364,1
    - Dst: fst_printf_iface
      Src: /src/hostap/src/fst/fst_session.c:375,1
    - Dst: fst_printf_iface
      Src: /src/hostap/src/fst/fst_session.c:381,1
    - Dst: fst_iface_get_group
      Src: /src/hostap/src/fst/fst_session.c:386,1
    - Dst: fst_iface_update_mb_ie
      Src: /src/hostap/src/fst/fst_session.c:389,1
    - Dst: fst_printf_iface
      Src: /src/hostap/src/fst/fst_session.c:391,1
    - Dst: MAC2STR
      Src: /src/hostap/src/fst/fst_session.c:393,1
    - Dst: fst_group_get_peer_other_connection
      Src: /src/hostap/src/fst/fst_session.c:396,1
    - Dst: fst_printf_iface
      Src: /src/hostap/src/fst/fst_session.c:400,1
    - Dst: fst_printf_iface
      Src: /src/hostap/src/fst/fst_session.c:404,1
    - Dst: fst_iface_get_name
      Src: /src/hostap/src/fst/fst_session.c:406,1
    - Dst: MAC2STR
      Src: /src/hostap/src/fst/fst_session.c:407,1
    - Dst: fst_find_session_in_progress
      Src: /src/hostap/src/fst/fst_session.c:409,1
    - Dst: fst_session_is_ready_pending
      Src: /src/hostap/src/fst/fst_session.c:426,1
    - Dst: os_memcmp
      Src: /src/hostap/src/fst/fst_session.c:428,1
    - Dst: fst_printf_session
      Src: /src/hostap/src/fst/fst_session.c:429,1
    - Dst: MAC2STR
      Src: /src/hostap/src/fst/fst_session.c:432,1
    - Dst: fst_printf_session
      Src: /src/hostap/src/fst/fst_session.c:450,1
    - Dst: le_to_host32
      Src: /src/hostap/src/fst/fst_session.c:460,1
    - Dst: fst_session_send_tear_down
      Src: /src/hostap/src/fst/fst_session.c:461,1
    - Dst: fst_printf_session
      Src: /src/hostap/src/fst/fst_session.c:463,1
    - Dst: fst_session_set_state
      Src: /src/hostap/src/fst/fst_session.c:465,1
    - Dst: fst_session_stt_disarm
      Src: /src/hostap/src/fst/fst_session.c:466,1
    - Dst: fst_session_create
      Src: /src/hostap/src/fst/fst_session.c:469,1
    - Dst: fst_printf
      Src: /src/hostap/src/fst/fst_session.c:471,1
    - Dst: fst_iface_get_name
      Src: /src/hostap/src/fst/fst_session.c:473,1
    - Dst: fst_iface_get_name
      Src: /src/hostap/src/fst/fst_session.c:474,1
    - Dst: fst_session_set_iface
      Src: /src/hostap/src/fst/fst_session.c:478,1
    - Dst: fst_session_set_peer_addr
      Src: /src/hostap/src/fst/fst_session.c:479,1
    - Dst: fst_session_set_iface
      Src: /src/hostap/src/fst/fst_session.c:480,1
    - Dst: fst_session_set_peer_addr
      Src: /src/hostap/src/fst/fst_session.c:481,1
    - Dst: fst_session_set_llt
      Src: /src/hostap/src/fst/fst_session.c:482,1
    - Dst: FST_LLT_VAL_TO_MS
      Src: /src/hostap/src/fst/fst_session.c:482,1
    - Dst: le_to_host32
      Src: /src/hostap/src/fst/fst_session.c:482,1
    - Dst: le_to_host32
      Src: /src/hostap/src/fst/fst_session.c:484,1
    - Dst: fst_session_stt_arm
      Src: /src/hostap/src/fst/fst_session.c:486,1
    - Dst: fst_session_notify_ctrl
      Src: /src/hostap/src/fst/fst_session.c:488,1
    - Dst: fst_session_set_state
      Src: /src/hostap/src/fst/fst_session.c:490,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 54
    argCount: 3
    argNames:
    - iface
    - mgmt
    - frame_len
    argTypes:
    - struct fst_iface*
    - struct ieee80211_mgmt*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 352
    functionDepth: 5
    functionLinenumber: 352
    functionLinenumberEnd: 491
    functionName: fst_session_handle_setup_request
    functionSourceFile: /src/hostap/src/fst/fst_session.c
    functionUses: 0
    functionsReached:
    - le_to_host32
    - fst_session_set_llt
    - fst_session_stt_arm
    - fst_session_stt_disarm
    - fst_printf_iface
    - fst_printf_session
    - fst_session_is_ready_pending
    - fst_session_notify_ctrl
    - os_memcmp
    - fst_printf
    - fst_session_set_peer_addr
    - fst_session_send_tear_down
    - fst_session_set_state
    - fst_find_session_in_progress
    - fst_iface_get_group
    - fst_session_create
    - fst_session_set_iface
    - fst_group_get_peer_other_connection
    - fst_iface_get_name
    - fst_iface_update_mb_ie
    - MAC2STR
    - FST_LLT_VAL_TO_MS
    linkageType: ''
    returnType: void
    signature: "void fst_session_handle_setup_request(struct fst_iface *iface,\n\t\t\t\t\t
      \    const struct ieee80211_mgmt *mgmt,\n\t\t\t\t\t     size_t frame_len)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: fst_printf_session
      Src: /src/hostap/src/fst/fst_session.c:510,1
    - Dst: fst_iface_get_name
      Src: /src/hostap/src/fst/fst_session.c:512,1
    - Dst: fst_session_is_ready_pending
      Src: /src/hostap/src/fst/fst_session.c:516,1
    - Dst: fst_printf_session
      Src: /src/hostap/src/fst/fst_session.c:517,1
    - Dst: fst_session_state_name
      Src: /src/hostap/src/fst/fst_session.c:519,1
    - Dst: fst_printf_session
      Src: /src/hostap/src/fst/fst_session.c:524,1
    - Dst: fst_printf_iface
      Src: /src/hostap/src/fst/fst_session.c:532,1
    - Dst: fst_printf_session
      Src: /src/hostap/src/fst/fst_session.c:538,1
    - Dst: le_to_host32
      Src: /src/hostap/src/fst/fst_session.c:546,1
    - Dst: fst_printf_session
      Src: /src/hostap/src/fst/fst_session.c:547,1
    - Dst: le_to_host32
      Src: /src/hostap/src/fst/fst_session.c:549,1
    - Dst: fst_session_stt_disarm
      Src: /src/hostap/src/fst/fst_session.c:553,1
    - Dst: fst_session_set_state
      Src: /src/hostap/src/fst/fst_session.c:567,1
    - Dst: fst_printf_session
      Src: /src/hostap/src/fst/fst_session.c:568,1
    - Dst: fst_iface_get_channel_info
      Src: /src/hostap/src/fst/fst_session.c:574,1
    - Dst: fst_hw_mode_to_band
      Src: /src/hostap/src/fst/fst_session.c:576,1
    - Dst: fst_session_set_state
      Src: /src/hostap/src/fst/fst_session.c:578,1
    - Dst: fst_printf_session
      Src: /src/hostap/src/fst/fst_session.c:579,1
    - Dst: fst_session_tear_down_setup
      Src: /src/hostap/src/fst/fst_session.c:581,1
    - Dst: fst_printf_session
      Src: /src/hostap/src/fst/fst_session.c:585,1
    - Dst: fst_iface_get_name
      Src: /src/hostap/src/fst/fst_session.c:587,1
    - Dst: fst_iface_get_name
      Src: /src/hostap/src/fst/fst_session.c:588,1
    - Dst: fst_session_notify_ctrl
      Src: /src/hostap/src/fst/fst_session.c:591,1
    - Dst: fst_session_initiate_switch
      Src: /src/hostap/src/fst/fst_session.c:594,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 4
    argNames:
    - s
    - iface
    - mgmt
    - frame_len
    argTypes:
    - struct fst_session*
    - struct fst_iface*
    - struct ieee80211_mgmt*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 494
    functionDepth: 3
    functionLinenumber: 494
    functionLinenumberEnd: 595
    functionName: fst_session_handle_setup_response
    functionSourceFile: /src/hostap/src/fst/fst_session.c
    functionUses: 0
    functionsReached:
    - le_to_host32
    - fst_session_tear_down_setup
    - fst_iface_get_name
    - fst_session_state_name
    - fst_session_set_state
    - fst_session_notify_ctrl
    - fst_session_is_ready_pending
    - fst_session_initiate_switch
    - fst_session_stt_disarm
    - fst_printf_iface
    - fst_printf_session
    - fst_iface_get_channel_info
    - fst_hw_mode_to_band
    linkageType: ''
    returnType: void
    signature: "void fst_session_handle_setup_response(struct fst_session *s,\n\t\t\t\t\t
      \     struct fst_iface *iface,\n\t\t\t\t\t      const struct ieee80211_mgmt
      *mgmt,\n\t\t\t\t\t      size_t frame_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fst_printf_session
      Src: /src/hostap/src/fst/fst_session.c:613,1
    - Dst: le_to_host32
      Src: /src/hostap/src/fst/fst_session.c:620,1
    - Dst: fst_printf_siface
      Src: /src/hostap/src/fst/fst_session.c:621,1
    - Dst: le_to_host32
      Src: /src/hostap/src/fst/fst_session.c:623,1
    - Dst: fst_session_stt_disarm
      Src: /src/hostap/src/fst/fst_session.c:627,1
    - Dst: fst_session_set_state
      Src: /src/hostap/src/fst/fst_session.c:629,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - s
    - iface
    - mgmt
    - frame_len
    argTypes:
    - struct fst_session*
    - struct fst_iface*
    - struct ieee80211_mgmt*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 598
    functionDepth: 3
    functionLinenumber: 598
    functionLinenumberEnd: 630
    functionName: fst_session_handle_tear_down
    functionSourceFile: /src/hostap/src/fst/fst_session.c
    functionUses: 0
    functionsReached:
    - le_to_host32
    - fst_printf_siface
    - fst_session_stt_disarm
    - fst_session_set_state
    - fst_printf_session
    linkageType: ''
    returnType: void
    signature: "void fst_session_handle_tear_down(struct fst_session *s,\n\t\t\t\t\t
      struct fst_iface *iface,\n\t\t\t\t\t const struct ieee80211_mgmt *mgmt,\n\t\t\t\t\t
      size_t frame_len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fst_session_is_ready
      Src: /src/hostap/src/fst/fst_session.c:648,1
    - Dst: fst_session_is_switch_requested
      Src: /src/hostap/src/fst/fst_session.c:648,1
    - Dst: fst_printf_siface
      Src: /src/hostap/src/fst/fst_session.c:649,1
    - Dst: fst_session_state_name
      Src: /src/hostap/src/fst/fst_session.c:651,1
    - Dst: WPA_ASSERT
      Src: /src/hostap/src/fst/fst_session.c:655,1
    - Dst: fst_printf_siface
      Src: /src/hostap/src/fst/fst_session.c:658,1
    - Dst: fst_printf_session
      Src: /src/hostap/src/fst/fst_session.c:664,1
    - Dst: le_to_host32
      Src: /src/hostap/src/fst/fst_session.c:671,1
    - Dst: fst_printf_siface
      Src: /src/hostap/src/fst/fst_session.c:672,1
    - Dst: le_to_host32
      Src: /src/hostap/src/fst/fst_session.c:674,1
    - Dst: os_memset
      Src: /src/hostap/src/fst/fst_session.c:678,1
    - Dst: fst_session_send_action
      Src: /src/hostap/src/fst/fst_session.c:684,1
    - Dst: fst_printf_sframe
      Src: /src/hostap/src/fst/fst_session.c:685,1
    - Dst: fst_session_stt_disarm
      Src: /src/hostap/src/fst/fst_session.c:686,1
    - Dst: fst_session_set_state
      Src: /src/hostap/src/fst/fst_session.c:687,1
    - Dst: fst_session_set_state
      Src: /src/hostap/src/fst/fst_session.c:689,1
    - Dst: fst_session_set_state
      Src: /src/hostap/src/fst/fst_session.c:691,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 4
    argNames:
    - s
    - iface
    - mgmt
    - frame_len
    argTypes:
    - struct fst_session*
    - struct fst_iface*
    - struct ieee80211_mgmt*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 633
    functionDepth: 3
    functionLinenumber: 633
    functionLinenumberEnd: 693
    functionName: fst_session_handle_ack_request
    functionSourceFile: /src/hostap/src/fst/fst_session.c
    functionUses: 0
    functionsReached:
    - le_to_host32
    - fst_session_send_action
    - fst_session_state_name
    - fst_session_is_ready
    - fst_session_set_state
    - fst_session_stt_disarm
    - fst_printf_siface
    - fst_printf_sframe
    - fst_printf_session
    - WPA_ASSERT
    - fst_session_is_switch_requested
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void fst_session_handle_ack_request(struct fst_session *s,\n\t\t\t\t\t
      \  struct fst_iface *iface,\n\t\t\t\t\t   const struct ieee80211_mgmt *mgmt,\n\t\t\t\t\t
      \  size_t frame_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fst_session_is_switch_requested
      Src: /src/hostap/src/fst/fst_session.c:711,1
    - Dst: fst_printf_siface
      Src: /src/hostap/src/fst/fst_session.c:712,1
    - Dst: fst_session_state_name
      Src: /src/hostap/src/fst/fst_session.c:714,1
    - Dst: WPA_ASSERT
      Src: /src/hostap/src/fst/fst_session.c:718,1
    - Dst: fst_printf_siface
      Src: /src/hostap/src/fst/fst_session.c:721,1
    - Dst: fst_printf_session
      Src: /src/hostap/src/fst/fst_session.c:727,1
    - Dst: le_to_host32
      Src: /src/hostap/src/fst/fst_session.c:734,1
    - Dst: fst_printf_siface
      Src: /src/hostap/src/fst/fst_session.c:735,1
    - Dst: le_to_host32
      Src: /src/hostap/src/fst/fst_session.c:737,1
    - Dst: fst_session_set_state
      Src: /src/hostap/src/fst/fst_session.c:741,1
    - Dst: fst_session_set_state
      Src: /src/hostap/src/fst/fst_session.c:742,1
    - Dst: fst_session_stt_disarm
      Src: /src/hostap/src/fst/fst_session.c:744,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 4
    argNames:
    - s
    - iface
    - mgmt
    - frame_len
    argTypes:
    - struct fst_session*
    - struct fst_iface*
    - struct ieee80211_mgmt*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 696
    functionDepth: 3
    functionLinenumber: 696
    functionLinenumberEnd: 745
    functionName: fst_session_handle_ack_response
    functionSourceFile: /src/hostap/src/fst/fst_session.c
    functionUses: 0
    functionsReached:
    - le_to_host32
    - fst_session_state_name
    - fst_session_set_state
    - fst_session_stt_disarm
    - fst_printf_siface
    - fst_printf_session
    - WPA_ASSERT
    - fst_session_is_switch_requested
    linkageType: ''
    returnType: void
    signature: "void fst_session_handle_ack_response(struct fst_session *s,\n\t\t\t\tstruct
      fst_iface *iface,\n\t\t\t\tconst struct ieee80211_mgmt *mgmt,\n\t\t\t\tsize_t
      frame_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fst_find_free_session_id
      Src: /src/hostap/src/fst/fst_session.c:753,1
    - Dst: fst_printf
      Src: /src/hostap/src/fst/fst_session.c:755,1
    - Dst: os_zalloc
      Src: /src/hostap/src/fst/fst_session.c:759,1
    - Dst: fst_printf
      Src: /src/hostap/src/fst/fst_session.c:761,1
    - Dst: fst_printf
      Src: /src/hostap/src/fst/fst_session.c:771,1
    - Dst: dl_list_add_tail
      Src: /src/hostap/src/fst/fst_session.c:773,1
    - Dst: foreach_fst_ctrl_call
      Src: /src/hostap/src/fst/fst_session.c:775,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - g
    argTypes:
    - struct fst_group*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 748
    functionDepth: 2
    functionLinenumber: 748
    functionLinenumberEnd: 778
    functionName: fst_session_create
    functionSourceFile: /src/hostap/src/fst/fst_session.c
    functionUses: 1
    functionsReached:
    - dl_list_add_tail
    - os_zalloc
    - fst_find_free_session_id
    - fst_printf
    - foreach_fst_ctrl_call
    linkageType: ''
    returnType: struct fst_session
    signature: struct fst_session * fst_session_create(struct fst_group *g)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - s
    - iface
    - is_old
    argTypes:
    - struct fst_session*
    - struct fst_iface*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 789
    functionName: fst_session_set_iface
    functionSourceFile: /src/hostap/src/fst/fst_session.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void fst_session_set_iface(struct fst_session *s, struct fst_iface
      *iface,\n\t\t\t   bool is_old)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - llt
    argTypes:
    - struct fst_session*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 795
    functionName: fst_session_set_llt
    functionSourceFile: /src/hostap/src/fst/fst_session.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fst_session_set_llt(struct fst_session *s, u32 llt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/fst/fst_session.c:803,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s
    - addr
    - is_old
    argTypes:
    - struct fst_session*
    - u8*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 798
    functionDepth: 0
    functionLinenumber: 798
    functionLinenumberEnd: 804
    functionName: fst_session_set_peer_addr
    functionSourceFile: /src/hostap/src/fst/fst_session.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    linkageType: ''
    returnType: void
    signature: "void fst_session_set_peer_addr(struct fst_session *s, const u8 *addr,\n\t\t\t
      \      bool is_old)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: fst_session_is_in_progress
      Src: /src/hostap/src/fst/fst_session.c:815,1
    - Dst: fst_printf_session
      Src: /src/hostap/src/fst/fst_session.c:816,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/fst/fst_session.c:820,1
    - Dst: fst_printf_session
      Src: /src/hostap/src/fst/fst_session.c:821,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/fst/fst_session.c:825,1
    - Dst: fst_printf_session
      Src: /src/hostap/src/fst/fst_session.c:826,1
    - Dst: fst_printf_session
      Src: /src/hostap/src/fst/fst_session.c:831,1
    - Dst: fst_printf_session
      Src: /src/hostap/src/fst/fst_session.c:836,1
    - Dst: fst_printf_session
      Src: /src/hostap/src/fst/fst_session.c:841,1
    - Dst: fst_iface_is_connected
      Src: /src/hostap/src/fst/fst_session.c:846,1
    - Dst: fst_printf_session
      Src: /src/hostap/src/fst/fst_session.c:848,1
    - Dst: fst_iface_is_connected
      Src: /src/hostap/src/fst/fst_session.c:853,1
    - Dst: fst_printf_session
      Src: /src/hostap/src/fst/fst_session.c:855,1
    - Dst: fst_find_session_in_progress
      Src: /src/hostap/src/fst/fst_session.c:860,1
    - Dst: fst_printf_session
      Src: /src/hostap/src/fst/fst_session.c:862,1
    - Dst: fst_find_session_in_progress
      Src: /src/hostap/src/fst/fst_session.c:868,1
    - Dst: fst_printf_session
      Src: /src/hostap/src/fst/fst_session.c:870,1
    - Dst: fst_group_assign_dialog_token
      Src: /src/hostap/src/fst/fst_session.c:876,1
    - Dst: fst_group_assign_fsts_id
      Src: /src/hostap/src/fst/fst_session.c:877,1
    - Dst: os_memset
      Src: /src/hostap/src/fst/fst_session.c:879,1
    - Dst: fst_printf_siface
      Src: /src/hostap/src/fst/fst_session.c:881,1
    - Dst: fst_iface_get_name
      Src: /src/hostap/src/fst/fst_session.c:883,1
    - Dst: host_to_le32
      Src: /src/hostap/src/fst/fst_session.c:887,1
    - Dst: FST_LLT_MS_TO_VAL
      Src: /src/hostap/src/fst/fst_session.c:887,1
    - Dst: host_to_le32
      Src: /src/hostap/src/fst/fst_session.c:891,1
    - Dst: SESSION_CONTROL
      Src: /src/hostap/src/fst/fst_session.c:892,1
    - Dst: fst_iface_get_band_id
      Src: /src/hostap/src/fst/fst_session.c:894,1
    - Dst: fst_iface_get_band_id
      Src: /src/hostap/src/fst/fst_session.c:898,1
    - Dst: fst_session_send_action
      Src: /src/hostap/src/fst/fst_session.c:902,1
    - Dst: fst_iface_get_mbie
      Src: /src/hostap/src/fst/fst_session.c:903,1
    - Dst: fst_printf_sframe
      Src: /src/hostap/src/fst/fst_session.c:907,1
    - Dst: fst_session_set_state
      Src: /src/hostap/src/fst/fst_session.c:908,1
    - Dst: fst_session_stt_arm
      Src: /src/hostap/src/fst/fst_session.c:911,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 69
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct fst_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 915
      start: 807
    functionDepth: 3
    functionLinenumber: 807
    functionLinenumberEnd: 915
    functionName: fst_session_initiate_setup
    functionSourceFile: /src/hostap/src/fst/fst_session.c
    functionUses: 0
    functionsReached:
    - host_to_le32
    - FST_LLT_MS_TO_VAL
    - fst_iface_get_band_id
    - fst_session_is_in_progress
    - fst_session_stt_arm
    - fst_printf_sframe
    - fst_printf_session
    - fst_session_send_action
    - is_zero_ether_addr
    - fst_group_assign_fsts_id
    - fst_session_set_state
    - fst_find_session_in_progress
    - os_memset
    - fst_iface_is_connected
    - fst_iface_get_name
    - SESSION_CONTROL
    - fst_iface_get_mbie
    - fst_printf_siface
    - fst_group_assign_dialog_token
    linkageType: ''
    returnType: int
    signature: int fst_session_initiate_setup(struct fst_session *s)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: fst_session_is_ready_pending
      Src: /src/hostap/src/fst/fst_session.c:924,1
    - Dst: fst_printf_session
      Src: /src/hostap/src/fst/fst_session.c:925,1
    - Dst: fst_session_state_name
      Src: /src/hostap/src/fst/fst_session.c:926,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/fst/fst_session.c:930,1
    - Dst: fst_printf_session
      Src: /src/hostap/src/fst/fst_session.c:931,1
    - Dst: fst_printf_session
      Src: /src/hostap/src/fst/fst_session.c:936,1
    - Dst: fst_printf_session
      Src: /src/hostap/src/fst/fst_session.c:941,1
    - Dst: fst_printf_session
      Src: /src/hostap/src/fst/fst_session.c:946,1
    - Dst: fst_iface_is_connected
      Src: /src/hostap/src/fst/fst_session.c:951,1
    - Dst: fst_printf_session
      Src: /src/hostap/src/fst/fst_session.c:953,1
    - Dst: fst_session_stt_disarm
      Src: /src/hostap/src/fst/fst_session.c:958,1
    - Dst: os_memset
      Src: /src/hostap/src/fst/fst_session.c:960,1
    - Dst: host_to_le32
      Src: /src/hostap/src/fst/fst_session.c:970,1
    - Dst: SESSION_CONTROL
      Src: /src/hostap/src/fst/fst_session.c:971,1
    - Dst: fst_iface_get_channel_info
      Src: /src/hostap/src/fst/fst_session.c:973,1
    - Dst: fst_hw_mode_to_band
      Src: /src/hostap/src/fst/fst_session.c:975,1
    - Dst: fst_iface_get_channel_info
      Src: /src/hostap/src/fst/fst_session.c:979,1
    - Dst: fst_hw_mode_to_band
      Src: /src/hostap/src/fst/fst_session.c:981,1
    - Dst: fst_printf_session
      Src: /src/hostap/src/fst/fst_session.c:985,1
    - Dst: fst_iface_get_name
      Src: /src/hostap/src/fst/fst_session.c:987,1
    - Dst: fst_iface_get_name
      Src: /src/hostap/src/fst/fst_session.c:988,1
    - Dst: fst_printf_session
      Src: /src/hostap/src/fst/fst_session.c:991,1
    - Dst: fst_iface_get_name
      Src: /src/hostap/src/fst/fst_session.c:993,1
    - Dst: fst_session_send_action
      Src: /src/hostap/src/fst/fst_session.c:997,1
    - Dst: fst_iface_get_mbie
      Src: /src/hostap/src/fst/fst_session.c:998,1
    - Dst: fst_printf_sframe
      Src: /src/hostap/src/fst/fst_session.c:999,1
    - Dst: fst_printf_sframe
      Src: /src/hostap/src/fst/fst_session.c:1005,1
    - Dst: fst_session_set_state
      Src: /src/hostap/src/fst/fst_session.c:1015,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 56
    argCount: 2
    argNames:
    - s
    - status_code
    argTypes:
    - struct fst_session*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 918
    functionDepth: 3
    functionLinenumber: 918
    functionLinenumberEnd: 1019
    functionName: fst_session_respond
    functionSourceFile: /src/hostap/src/fst/fst_session.c
    functionUses: 0
    functionsReached:
    - fst_iface_is_connected
    - fst_session_send_action
    - fst_iface_get_name
    - fst_session_state_name
    - is_zero_ether_addr
    - host_to_le32
    - fst_session_set_state
    - SESSION_CONTROL
    - fst_session_is_ready_pending
    - fst_iface_get_mbie
    - fst_session_stt_disarm
    - fst_hw_mode_to_band
    - fst_printf_sframe
    - fst_printf_session
    - fst_iface_get_channel_info
    - os_memset
    linkageType: ''
    returnType: int
    signature: int fst_session_respond(struct fst_session *s, u8 status_code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fst_session_is_ready
      Src: /src/hostap/src/fst/fst_session.c:1028,1
    - Dst: fst_printf_session
      Src: /src/hostap/src/fst/fst_session.c:1029,1
    - Dst: fst_group_assign_dialog_token
      Src: /src/hostap/src/fst/fst_session.c:1035,1
    - Dst: WPA_ASSERT
      Src: /src/hostap/src/fst/fst_session.c:1037,1
    - Dst: WPA_ASSERT
      Src: /src/hostap/src/fst/fst_session.c:1038,1
    - Dst: fst_printf_session
      Src: /src/hostap/src/fst/fst_session.c:1040,1
    - Dst: fst_iface_get_name
      Src: /src/hostap/src/fst/fst_session.c:1041,1
    - Dst: fst_iface_get_name
      Src: /src/hostap/src/fst/fst_session.c:1042,1
    - Dst: os_memset
      Src: /src/hostap/src/fst/fst_session.c:1044,1
    - Dst: host_to_le32
      Src: /src/hostap/src/fst/fst_session.c:1048,1
    - Dst: fst_session_send_action
      Src: /src/hostap/src/fst/fst_session.c:1050,1
    - Dst: fst_printf_sframe
      Src: /src/hostap/src/fst/fst_session.c:1052,1
    - Dst: fst_session_set_state
      Src: /src/hostap/src/fst/fst_session.c:1053,1
    - Dst: fst_session_stt_arm
      Src: /src/hostap/src/fst/fst_session.c:1055,1
    - Dst: fst_printf_sframe
      Src: /src/hostap/src/fst/fst_session.c:1057,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct fst_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1022
    functionDepth: 3
    functionLinenumber: 1022
    functionLinenumberEnd: 1062
    functionName: fst_session_initiate_switch
    functionSourceFile: /src/hostap/src/fst/fst_session.c
    functionUses: 1
    functionsReached:
    - fst_session_send_action
    - fst_iface_get_name
    - fst_session_is_ready
    - host_to_le32
    - fst_session_stt_arm
    - fst_session_set_state
    - WPA_ASSERT
    - fst_printf_sframe
    - fst_printf_session
    - fst_group_assign_dialog_token
    - os_memset
    linkageType: ''
    returnType: int
    signature: int fst_session_initiate_switch(struct fst_session *s)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: WPA_ASSERT
      Src: /src/hostap/src/fst/fst_session.c:1072,1
    - Dst: fst_session_handle_setup_response
      Src: /src/hostap/src/fst/fst_session.c:1075,1
    - Dst: fst_session_handle_tear_down
      Src: /src/hostap/src/fst/fst_session.c:1078,1
    - Dst: fst_session_handle_ack_request
      Src: /src/hostap/src/fst/fst_session.c:1081,1
    - Dst: fst_session_handle_ack_response
      Src: /src/hostap/src/fst/fst_session.c:1084,1
    - Dst: fst_printf_sframe
      Src: /src/hostap/src/fst/fst_session.c:1088,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 4
    argNames:
    - s
    - iface
    - mgmt
    - frame_len
    argTypes:
    - struct fst_session*
    - struct fst_iface*
    - struct ieee80211_mgmt*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 1065
    functionDepth: 4
    functionLinenumber: 1065
    functionLinenumberEnd: 1092
    functionName: fst_session_handle_action
    functionSourceFile: /src/hostap/src/fst/fst_session.c
    functionUses: 0
    functionsReached:
    - fst_session_handle_tear_down
    - fst_session_handle_ack_request
    - fst_printf_sframe
    - fst_session_handle_setup_response
    - fst_session_handle_ack_response
    - WPA_ASSERT
    linkageType: ''
    returnType: void
    signature: "void fst_session_handle_action(struct fst_session *s,\n\t\t\t       struct
      fst_iface *iface,\n\t\t\t       const struct ieee80211_mgmt *mgmt,\n\t\t\t       size_t
      frame_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fst_session_send_tear_down
      Src: /src/hostap/src/fst/fst_session.c:1105,1
    - Dst: fst_session_set_state
      Src: /src/hostap/src/fst/fst_session.c:1107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct fst_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1110
      start: 1095
    functionDepth: 3
    functionLinenumber: 1095
    functionLinenumberEnd: 1110
    functionName: fst_session_tear_down_setup
    functionSourceFile: /src/hostap/src/fst/fst_session.c
    functionUses: 2
    functionsReached:
    - fst_session_send_tear_down
    - fst_session_set_state
    linkageType: ''
    returnType: int
    signature: int fst_session_tear_down_setup(struct fst_session *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fst_session_reset_ex
      Src: /src/hostap/src/fst/fst_session.c:1115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct fst_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1116
      start: 1113
    functionDepth: 4
    functionLinenumber: 1113
    functionLinenumberEnd: 1116
    functionName: fst_session_reset
    functionSourceFile: /src/hostap/src/fst/fst_session.c
    functionUses: 0
    functionsReached:
    - fst_session_reset_ex
    linkageType: ''
    returnType: void
    signature: void fst_session_reset(struct fst_session *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fst_printf
      Src: /src/hostap/src/fst/fst_session.c:1121,1
    - Dst: dl_list_del
      Src: /src/hostap/src/fst/fst_session.c:1122,1
    - Dst: foreach_fst_ctrl_call
      Src: /src/hostap/src/fst/fst_session.c:1123,1
    - Dst: os_free
      Src: /src/hostap/src/fst/fst_session.c:1124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct fst_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1119
    functionDepth: 1
    functionLinenumber: 1119
    functionLinenumberEnd: 1125
    functionName: fst_session_delete
    functionSourceFile: /src/hostap/src/fst/fst_session.c
    functionUses: 1
    functionsReached:
    - os_free
    - fst_printf
    - dl_list_del
    - foreach_fst_ctrl_call
    linkageType: ''
    returnType: void
    signature: void fst_session_delete(struct fst_session *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct fst_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1131
      start: 1128
    functionDepth: 0
    functionLinenumber: 1128
    functionLinenumberEnd: 1131
    functionName: fst_session_get_group
    functionSourceFile: /src/hostap/src/fst/fst_session.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct fst_group
    signature: struct fst_group * fst_session_get_group(struct fst_session *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - is_old
    argTypes:
    - struct fst_session*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1134
    functionDepth: 0
    functionLinenumber: 1134
    functionLinenumberEnd: 1137
    functionName: fst_session_get_iface
    functionSourceFile: /src/hostap/src/fst/fst_session.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct fst_iface
    signature: struct fst_iface * fst_session_get_iface(struct fst_session *s, bool
      is_old)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct fst_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1143
      start: 1140
    functionDepth: 0
    functionLinenumber: 1140
    functionLinenumberEnd: 1143
    functionName: fst_session_get_id
    functionSourceFile: /src/hostap/src/fst/fst_session.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: u32 fst_session_get_id(struct fst_session *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - is_old
    argTypes:
    - struct fst_session*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1146
    functionDepth: 0
    functionLinenumber: 1146
    functionLinenumberEnd: 1149
    functionName: fst_session_get_peer_addr
    functionSourceFile: /src/hostap/src/fst/fst_session.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 * fst_session_get_peer_addr(struct fst_session *s, bool is_old)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct fst_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1155
      start: 1152
    functionDepth: 0
    functionLinenumber: 1152
    functionLinenumberEnd: 1155
    functionName: fst_session_get_llt
    functionSourceFile: /src/hostap/src/fst/fst_session.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: u32 fst_session_get_llt(struct fst_session *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct fst_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1161
      start: 1158
    functionDepth: 0
    functionLinenumber: 1158
    functionLinenumberEnd: 1161
    functionName: fst_session_get_state
    functionSourceFile: /src/hostap/src/fst/fst_session.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum fst_session_state
    signature: enum fst_session_state fst_session_get_state(struct fst_session *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - id
    argTypes:
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1164
    functionDepth: 0
    functionLinenumber: 1164
    functionLinenumberEnd: 1174
    functionName: fst_session_get_by_id
    functionSourceFile: /src/hostap/src/fst/fst_session.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct fst_session
    signature: struct fst_session * fst_session_get_by_id(u32 id)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1171
      start: 1168
    functionDepth: 0
    functionLinenumber: 1168
    functionLinenumberEnd: 1171
    functionName: foreach_fst_session
    functionSourceFile: /src/hostap/src/fst/fst_session.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void foreach_fst_session(s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clb
      Src: /src/hostap/src/fst/fst_session.c:1183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - g
    - clb
    - ctx
    argTypes:
    - struct fst_group*
    - fst_session_enum_clb
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1185
      start: 1177
    functionDepth: 0
    functionLinenumber: 1177
    functionLinenumberEnd: 1185
    functionName: fst_session_enum
    functionSourceFile: /src/hostap/src/fst/fst_session.c
    functionUses: 0
    functionsReached:
    - clb
    linkageType: ''
    returnType: void
    signature: void fst_session_enum(struct fst_group *g, fst_session_enum_clb clb,
      void *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clb
      Src: /src/hostap/src/fst/fst_session.c:1183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1184
      start: 1181
    functionDepth: 0
    functionLinenumber: 1181
    functionLinenumberEnd: 1184
    functionName: foreach_fst_session
    functionSourceFile: /src/hostap/src/fst/fst_session.c
    functionUses: 0
    functionsReached:
    - clb
    linkageType: ''
    returnType: void
    signature: void foreach_fst_session(s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fst_printf_iface
      Src: /src/hostap/src/fst/fst_session.c:1196,1
    - Dst: fst_printf_iface
      Src: /src/hostap/src/fst/fst_session.c:1202,1
    - Dst: fst_printf_iface
      Src: /src/hostap/src/fst/fst_session.c:1206,1
    - Dst: fst_session_handle_setup_request
      Src: /src/hostap/src/fst/fst_session.c:1213,1
    - Dst: fst_find_session_in_progress
      Src: /src/hostap/src/fst/fst_session.c:1217,1
    - Dst: fst_iface_get_group
      Src: /src/hostap/src/fst/fst_session.c:1217,1
    - Dst: fst_session_handle_action
      Src: /src/hostap/src/fst/fst_session.c:1219,1
    - Dst: fst_printf_iface
      Src: /src/hostap/src/fst/fst_session.c:1221,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - iface
    - mgmt
    - len
    argTypes:
    - struct fst_iface*
    - struct ieee80211_mgmt*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1188
    functionDepth: 6
    functionLinenumber: 1188
    functionLinenumberEnd: 1225
    functionName: fst_session_on_action_rx
    functionSourceFile: /src/hostap/src/fst/fst_session.c
    functionUses: 1
    functionsReached:
    - fst_session_handle_setup_request
    - fst_printf_iface
    - fst_find_session_in_progress
    - fst_iface_get_group
    - fst_session_handle_action
    linkageType: ''
    returnType: void
    signature: "void fst_session_on_action_rx(struct fst_iface *iface,\n\t\t\t      const
      struct ieee80211_mgmt *mgmt,\n\t\t\t      size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fst_session_get_group
      Src: /src/hostap/src/fst/fst_session.c:1231,1
    - Dst: fst_group_get_iface_by_name
      Src: /src/hostap/src/fst/fst_session.c:1234,1
    - Dst: fst_printf_session
      Src: /src/hostap/src/fst/fst_session.c:1236,1
    - Dst: fst_group_get_id
      Src: /src/hostap/src/fst/fst_session.c:1238,1
    - Dst: fst_session_set_iface
      Src: /src/hostap/src/fst/fst_session.c:1242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - s
    - ifname
    - is_old
    argTypes:
    - struct fst_session*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1228
    functionDepth: 2
    functionLinenumber: 1228
    functionLinenumberEnd: 1245
    functionName: fst_session_set_str_ifname
    functionSourceFile: /src/hostap/src/fst/fst_session.c
    functionUses: 0
    functionsReached:
    - fst_session_get_group
    - fst_session_set_iface
    - fst_group_get_id
    - fst_group_get_iface_by_name
    - fst_printf_session
    linkageType: ''
    returnType: int
    signature: "int fst_session_set_str_ifname(struct fst_session *s, const char *ifname,\n\t\t\t
      \      bool is_old)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fst_read_peer_addr
      Src: /src/hostap/src/fst/fst_session.c:1252,1
    - Dst: fst_session_set_peer_addr
      Src: /src/hostap/src/fst/fst_session.c:1257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - s
    - mac
    - is_old
    argTypes:
    - struct fst_session*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1260
      start: 1248
    functionDepth: 1
    functionLinenumber: 1248
    functionLinenumberEnd: 1260
    functionName: fst_session_set_str_peer_addr
    functionSourceFile: /src/hostap/src/fst/fst_session.c
    functionUses: 0
    functionsReached:
    - fst_read_peer_addr
    - fst_session_set_peer_addr
    linkageType: ''
    returnType: int
    signature: "int fst_session_set_str_peer_addr(struct fst_session *s, const char
      *mac,\n\t\t\t\t  bool is_old)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/hostap/src/fst/fst_session.c:1266,1
    - Dst: fst_printf_session
      Src: /src/hostap/src/fst/fst_session.c:1269,1
    - Dst: fst_session_set_llt
      Src: /src/hostap/src/fst/fst_session.c:1274,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - s
    - llt_str
    argTypes:
    - struct fst_session*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1277
      start: 1263
    functionDepth: 1
    functionLinenumber: 1263
    functionLinenumberEnd: 1277
    functionName: fst_session_set_str_llt
    functionSourceFile: /src/hostap/src/fst/fst_session.c
    functionUses: 0
    functionsReached:
    - strtol
    - fst_printf_session
    - fst_session_set_llt
    linkageType: ''
    returnType: int
    signature: int fst_session_set_str_llt(struct fst_session *s, const char *llt_str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fst_session_is_in_progress
      Src: /src/hostap/src/fst/fst_session.c:1285,1
    - Dst: fst_session_reset_ex
      Src: /src/hostap/src/fst/fst_session.c:1288,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct fst_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1290
      start: 1280
    functionDepth: 4
    functionLinenumber: 1280
    functionLinenumberEnd: 1290
    functionName: fst_session_global_on_iface_detached
    functionSourceFile: /src/hostap/src/fst/fst_session.c
    functionUses: 1
    functionsReached:
    - fst_session_is_in_progress
    - fst_session_reset_ex
    linkageType: ''
    returnType: void
    signature: void fst_session_global_on_iface_detached(struct fst_iface *iface)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fst_session_is_in_progress
      Src: /src/hostap/src/fst/fst_session.c:1285,1
    - Dst: fst_session_reset_ex
      Src: /src/hostap/src/fst/fst_session.c:1288,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1289
      start: 1284
    functionDepth: 4
    functionLinenumber: 1284
    functionLinenumberEnd: 1289
    functionName: foreach_fst_session
    functionSourceFile: /src/hostap/src/fst/fst_session.c
    functionUses: 0
    functionsReached:
    - fst_session_is_in_progress
    - fst_session_reset_ex
    linkageType: ''
    returnType: void
    signature: void foreach_fst_session(s)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - g
    argTypes:
    - struct fst_group*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1303
      start: 1293
    functionDepth: 0
    functionLinenumber: 1293
    functionLinenumberEnd: 1303
    functionName: fst_session_global_get_first_by_group
    functionSourceFile: /src/hostap/src/fst/fst_session.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: struct fst_session
    signature: struct fst_session * fst_session_global_get_first_by_group(struct fst_group
      *g)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1300
      start: 1297
    functionDepth: 0
    functionLinenumber: 1297
    functionLinenumberEnd: 1300
    functionName: foreach_fst_session
    functionSourceFile: /src/hostap/src/fst/fst_session.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void foreach_fst_session(s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/fst/fst_session.c:1313,1
    - Dst: fst_group_first_iface
      Src: /src/hostap/src/fst/fst_session.c:1315,1
    - Dst: dl_list_entry
      Src: /src/hostap/src/fst/fst_session.c:1322,1
    - Dst: fst_iface_get_peer_first
      Src: /src/hostap/src/fst/fst_session.c:1327,1
    - Dst: fst_iface_get_peer_first
      Src: /src/hostap/src/fst/fst_session.c:1331,1
    - Dst: os_memcpy
      Src: /src/hostap/src/fst/fst_session.c:1335,1
    - Dst: os_memcpy
      Src: /src/hostap/src/fst/fst_session.c:1336,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - g
    - s
    argTypes:
    - struct fst_group**
    - struct fst_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1339
      start: 1308
    functionDepth: 2
    functionLinenumber: 1308
    functionLinenumberEnd: 1339
    functionName: get_group_fill_session
    functionSourceFile: /src/hostap/src/fst/fst_session.c
    functionUses: 0
    functionsReached:
    - dl_list_entry
    - os_memcpy
    - fst_iface_get_peer_first
    - fst_group_first_iface
    - os_memset
    linkageType: ''
    returnType: int
    signature: int get_group_fill_session(struct fst_group **g, struct fst_session
      *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fst_group_first_iface
      Src: /src/hostap/src/fst/fst_session.c:1315,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1318
      start: 1314
    functionDepth: 2
    functionLinenumber: 1314
    functionLinenumberEnd: 1318
    functionName: (*g)
    functionSourceFile: /src/hostap/src/fst/fst_session.c
    functionUses: 0
    functionsReached:
    - fst_group_first_iface
    linkageType: ''
    returnType: foreach_fst_group
    signature: foreach_fst_group (*g)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fst_read_next_int_param
      Src: /src/hostap/src/fst/fst_session.c:1359,1
    - Dst: get_group_fill_session
      Src: /src/hostap/src/fst/fst_session.c:1363,1
    - Dst: host_to_le32
      Src: /src/hostap/src/fst/fst_session.c:1368,1
    - Dst: host_to_le32
      Src: /src/hostap/src/fst/fst_session.c:1372,1
    - Dst: SESSION_CONTROL
      Src: /src/hostap/src/fst/fst_session.c:1373,1
    - Dst: fst_iface_get_channel_info
      Src: /src/hostap/src/fst/fst_session.c:1375,1
    - Dst: fst_hw_mode_to_band
      Src: /src/hostap/src/fst/fst_session.c:1376,1
    - Dst: fst_iface_get_channel_info
      Src: /src/hostap/src/fst/fst_session.c:1380,1
    - Dst: fst_hw_mode_to_band
      Src: /src/hostap/src/fst/fst_session.c:1381,1
    - Dst: fst_read_next_text_param
      Src: /src/hostap/src/fst/fst_session.c:1385,1
    - Dst: os_strcasecmp
      Src: /src/hostap/src/fst/fst_session.c:1387,1
    - Dst: fst_session_send_action
      Src: /src/hostap/src/fst/fst_session.c:1391,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 1
    argNames:
    - params
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1393
      start: 1344
    functionDepth: 3
    functionLinenumber: 1344
    functionLinenumberEnd: 1393
    functionName: fst_test_req_send_fst_request
    functionSourceFile: /src/hostap/src/fst/fst_session.c
    functionUses: 0
    functionsReached:
    - fst_session_send_action
    - fst_read_next_int_param
    - host_to_le32
    - SESSION_CONTROL
    - os_strcasecmp
    - fst_read_next_text_param
    - get_group_fill_session
    - fst_iface_get_channel_info
    - fst_hw_mode_to_band
    linkageType: ''
    returnType: int
    signature: int fst_test_req_send_fst_request(const char *params)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: fst_read_next_int_param
      Src: /src/hostap/src/fst/fst_session.c:1413,1
    - Dst: get_group_fill_session
      Src: /src/hostap/src/fst/fst_session.c:1417,1
    - Dst: fst_read_next_text_param
      Src: /src/hostap/src/fst/fst_session.c:1421,1
    - Dst: os_strcasecmp
      Src: /src/hostap/src/fst/fst_session.c:1423,1
    - Dst: os_memset
      Src: /src/hostap/src/fst/fst_session.c:1427,1
    - Dst: fst_find_session_in_progress
      Src: /src/hostap/src/fst/fst_session.c:1434,1
    - Dst: fst_session_get_peer_addr
      Src: /src/hostap/src/fst/fst_session.c:1434,1
    - Dst: fst_session_is_ready_pending
      Src: /src/hostap/src/fst/fst_session.c:1436,1
    - Dst: host_to_le32
      Src: /src/hostap/src/fst/fst_session.c:1444,1
    - Dst: SESSION_CONTROL
      Src: /src/hostap/src/fst/fst_session.c:1445,1
    - Dst: fst_iface_get_channel_info
      Src: /src/hostap/src/fst/fst_session.c:1447,1
    - Dst: fst_hw_mode_to_band
      Src: /src/hostap/src/fst/fst_session.c:1449,1
    - Dst: fst_iface_get_channel_info
      Src: /src/hostap/src/fst/fst_session.c:1453,1
    - Dst: fst_hw_mode_to_band
      Src: /src/hostap/src/fst/fst_session.c:1455,1
    - Dst: fst_read_next_text_param
      Src: /src/hostap/src/fst/fst_session.c:1460,1
    - Dst: os_strcasecmp
      Src: /src/hostap/src/fst/fst_session.c:1462,1
    - Dst: fst_session_send_action
      Src: /src/hostap/src/fst/fst_session.c:1466,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 1
    argNames:
    - params
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1468
      start: 1396
    functionDepth: 3
    functionLinenumber: 1396
    functionLinenumberEnd: 1468
    functionName: fst_test_req_send_fst_response
    functionSourceFile: /src/hostap/src/fst/fst_session.c
    functionUses: 0
    functionsReached:
    - fst_hw_mode_to_band
    - fst_session_send_action
    - fst_read_next_int_param
    - host_to_le32
    - SESSION_CONTROL
    - fst_session_is_ready_pending
    - os_strcasecmp
    - fst_read_next_text_param
    - fst_find_session_in_progress
    - fst_session_get_peer_addr
    - get_group_fill_session
    - fst_iface_get_channel_info
    - os_memset
    linkageType: ''
    returnType: int
    signature: int fst_test_req_send_fst_response(const char *params)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fst_read_next_int_param
      Src: /src/hostap/src/fst/fst_session.c:1483,1
    - Dst: get_group_fill_session
      Src: /src/hostap/src/fst/fst_session.c:1487,1
    - Dst: os_memset
      Src: /src/hostap/src/fst/fst_session.c:1490,1
    - Dst: host_to_le32
      Src: /src/hostap/src/fst/fst_session.c:1493,1
    - Dst: fst_session_send_action
      Src: /src/hostap/src/fst/fst_session.c:1495,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - params
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1496
      start: 1471
    functionDepth: 3
    functionLinenumber: 1471
    functionLinenumberEnd: 1496
    functionName: fst_test_req_send_ack_request
    functionSourceFile: /src/hostap/src/fst/fst_session.c
    functionUses: 0
    functionsReached:
    - fst_session_send_action
    - fst_read_next_int_param
    - host_to_le32
    - get_group_fill_session
    - os_memset
    linkageType: ''
    returnType: int
    signature: int fst_test_req_send_ack_request(const char *params)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fst_read_next_int_param
      Src: /src/hostap/src/fst/fst_session.c:1511,1
    - Dst: get_group_fill_session
      Src: /src/hostap/src/fst/fst_session.c:1515,1
    - Dst: os_memset
      Src: /src/hostap/src/fst/fst_session.c:1518,1
    - Dst: host_to_le32
      Src: /src/hostap/src/fst/fst_session.c:1521,1
    - Dst: fst_session_send_action
      Src: /src/hostap/src/fst/fst_session.c:1523,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - params
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1524
      start: 1499
    functionDepth: 3
    functionLinenumber: 1499
    functionLinenumberEnd: 1524
    functionName: fst_test_req_send_ack_response
    functionSourceFile: /src/hostap/src/fst/fst_session.c
    functionUses: 0
    functionsReached:
    - fst_session_send_action
    - fst_read_next_int_param
    - host_to_le32
    - get_group_fill_session
    - os_memset
    linkageType: ''
    returnType: int
    signature: int fst_test_req_send_ack_response(const char *params)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fst_read_next_int_param
      Src: /src/hostap/src/fst/fst_session.c:1539,1
    - Dst: get_group_fill_session
      Src: /src/hostap/src/fst/fst_session.c:1543,1
    - Dst: os_memset
      Src: /src/hostap/src/fst/fst_session.c:1546,1
    - Dst: host_to_le32
      Src: /src/hostap/src/fst/fst_session.c:1548,1
    - Dst: fst_session_send_action
      Src: /src/hostap/src/fst/fst_session.c:1550,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - params
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1551
      start: 1527
    functionDepth: 3
    functionLinenumber: 1527
    functionLinenumberEnd: 1551
    functionName: fst_test_req_send_tear_down
    functionSourceFile: /src/hostap/src/fst/fst_session.c
    functionUses: 0
    functionsReached:
    - fst_session_send_action
    - fst_read_next_int_param
    - host_to_le32
    - get_group_fill_session
    - os_memset
    linkageType: ''
    returnType: int
    signature: int fst_test_req_send_tear_down(const char *params)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fst_read_next_int_param
      Src: /src/hostap/src/fst/fst_session.c:1564,1
    - Dst: fst_session_get_by_id
      Src: /src/hostap/src/fst/fst_session.c:1568,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - params
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1573
      start: 1554
    functionDepth: 1
    functionLinenumber: 1554
    functionLinenumberEnd: 1573
    functionName: fst_test_req_get_fsts_id
    functionSourceFile: /src/hostap/src/fst/fst_session.c
    functionUses: 0
    functionsReached:
    - fst_read_next_int_param
    - fst_session_get_by_id
    linkageType: ''
    returnType: u32
    signature: u32 fst_test_req_get_fsts_id(const char *params)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fst_read_next_text_param
      Src: /src/hostap/src/fst/fst_session.c:1586,1
    - Dst: dl_list_first
      Src: /src/hostap/src/fst/fst_session.c:1589,1
    - Dst: fst_group_get_iface_by_name
      Src: /src/hostap/src/fst/fst_session.c:1593,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/fst/fst_session.c:1596,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/fst/fst_session.c:1596,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/fst/fst_session.c:1597,1
    - Dst: os_snprintf
      Src: /src/hostap/src/fst/fst_session.c:1600,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - request
    - buf
    - buflen
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1601
      start: 1576
    functionDepth: 2
    functionLinenumber: 1576
    functionLinenumberEnd: 1601
    functionName: fst_test_req_get_local_mbies
    functionSourceFile: /src/hostap/src/fst/fst_session.c
    functionUses: 0
    functionsReached:
    - wpa_snprintf_hex
    - wpabuf_len
    - dl_list_first
    - wpabuf_head
    - os_snprintf
    - fst_group_get_iface_by_name
    - fst_read_next_text_param
    linkageType: ''
    returnType: int
    signature: int fst_test_req_get_local_mbies(const char *request, char *buf, size_t
      buflen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - struct fst_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: fst_iface_get_group
    functionSourceFile: /src/hostap/src/fst/fst_iface.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: struct fst_group
    signature: struct fst_group * fst_iface_get_group(struct fst_iface *i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - struct fst_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: fst_iface_get_name
    functionSourceFile: /src/hostap/src/fst/fst_iface.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * fst_iface_get_name(struct fst_iface *i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - struct fst_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: fst_iface_get_addr
    functionSourceFile: /src/hostap/src/fst/fst_iface.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 * fst_iface_get_addr(struct fst_iface *i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - struct fst_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: fst_iface_get_group_id
    functionSourceFile: /src/hostap/src/fst/fst_iface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * fst_iface_get_group_id(struct fst_iface *i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - struct fst_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: fst_iface_get_priority
    functionSourceFile: /src/hostap/src/fst/fst_iface.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 fst_iface_get_priority(struct fst_iface *i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - struct fst_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: fst_iface_get_llt
    functionSourceFile: /src/hostap/src/fst/fst_iface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: u32 fst_iface_get_llt(struct fst_iface *i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - struct fst_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: fst_iface_get_mbie
    functionSourceFile: /src/hostap/src/fst/fst_iface.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * fst_iface_get_mbie(struct fst_iface *i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct fst_iface*::iface_obj::get_bssid
      Src: /src/hostap/src/fst/fst_iface.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - struct fst_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: fst_iface_get_bssid
    functionSourceFile: /src/hostap/src/fst/fst_iface.h
    functionUses: 1
    functionsReached:
    - struct fst_iface*::iface_obj::get_bssid
    linkageType: ''
    returnType: u8
    signature: u8 * fst_iface_get_bssid(struct fst_iface *i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct fst_iface*::iface_obj::get_channel_info
      Src: /src/hostap/src/fst/fst_iface.h:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - i
    - hw_mode
    - channel
    argTypes:
    - struct fst_iface*
    - enum hostapd_hw_mode*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: fst_iface_get_channel_info
    functionSourceFile: /src/hostap/src/fst/fst_iface.h
    functionUses: 6
    functionsReached:
    - struct fst_iface*::iface_obj::get_channel_info
    linkageType: ''
    returnType: void
    signature: "void fst_iface_get_channel_info(struct fst_iface *i,\n\t\t\t\t\t      enum
      hostapd_hw_mode *hw_mode,\n\t\t\t\t\t      u8 *channel)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct fst_iface*::iface_obj::get_hw_modes
      Src: /src/hostap/src/fst/fst_iface.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i
    - modes
    argTypes:
    - struct fst_iface*
    - struct hostapd_hw_modes**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: fst_iface_get_hw_modes
    functionSourceFile: /src/hostap/src/fst/fst_iface.h
    functionUses: 1
    functionsReached:
    - struct fst_iface*::iface_obj::get_hw_modes
    linkageType: ''
    returnType: int
    signature: "int fst_iface_get_hw_modes(struct fst_iface *i,\n\t\t\t\t\t struct
      hostapd_hw_modes **modes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct fst_iface*::iface_obj::set_ies
      Src: /src/hostap/src/fst/fst_iface.h:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i
    - fst_ies
    argTypes:
    - struct fst_iface*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: fst_iface_set_ies
    functionSourceFile: /src/hostap/src/fst/fst_iface.h
    functionUses: 3
    functionsReached:
    - struct fst_iface*::iface_obj::set_ies
    linkageType: ''
    returnType: void
    signature: "void fst_iface_set_ies(struct fst_iface *i,\n\t\t\t\t     const struct
      wpabuf *fst_ies)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct fst_iface*::iface_obj::send_action
      Src: /src/hostap/src/fst/fst_iface.h:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - i
    - addr
    - data
    argTypes:
    - struct fst_iface*
    - u8*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: fst_iface_send_action
    functionSourceFile: /src/hostap/src/fst/fst_iface.h
    functionUses: 1
    functionsReached:
    - struct fst_iface*::iface_obj::send_action
    linkageType: ''
    returnType: int
    signature: "int fst_iface_send_action(struct fst_iface *i,\n\t\t\t\t\tconst u8
      *addr, struct wpabuf *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct fst_iface*::iface_obj::get_mb_ie
      Src: /src/hostap/src/fst/fst_iface.h:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i
    - addr
    argTypes:
    - struct fst_iface*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: fst_iface_get_peer_mb_ie
    functionSourceFile: /src/hostap/src/fst/fst_iface.h
    functionUses: 3
    functionsReached:
    - struct fst_iface*::iface_obj::get_mb_ie
    linkageType: ''
    returnType: struct wpabuf
    signature: 'struct wpabuf *

      fst_iface_get_peer_mb_ie(struct fst_iface *i, const u8 *addr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct fst_iface*::iface_obj::update_mb_ie
      Src: /src/hostap/src/fst/fst_iface.h:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - i
    - addr
    - buf
    - size
    argTypes:
    - struct fst_iface*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: fst_iface_update_mb_ie
    functionSourceFile: /src/hostap/src/fst/fst_iface.h
    functionUses: 1
    functionsReached:
    - struct fst_iface*::iface_obj::update_mb_ie
    linkageType: ''
    returnType: void
    signature: "void fst_iface_update_mb_ie(struct fst_iface *i,\n\t\t\t\t\t  const
      u8 *addr,\n\t\t\t\t\t  const u8 *buf, size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct fst_iface*::iface_obj::get_peer_first
      Src: /src/hostap/src/fst/fst_iface.h:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - i
    - ctx
    - mb_only
    argTypes:
    - struct fst_iface*
    - struct fst_get_peer_ctx**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 117
    functionName: fst_iface_get_peer_first
    functionSourceFile: /src/hostap/src/fst/fst_iface.h
    functionUses: 4
    functionsReached:
    - struct fst_iface*::iface_obj::get_peer_first
    linkageType: ''
    returnType: u8
    signature: "u8 * fst_iface_get_peer_first(struct fst_iface *i,\n\t\t\t\t\t\t  struct
      fst_get_peer_ctx **ctx,\n\t\t\t\t\t\t  bool mb_only)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct fst_iface*::iface_obj::get_peer_next
      Src: /src/hostap/src/fst/fst_iface.h:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - i
    - ctx
    - mb_only
    argTypes:
    - struct fst_iface*
    - struct fst_get_peer_ctx**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 124
    functionName: fst_iface_get_peer_next
    functionSourceFile: /src/hostap/src/fst/fst_iface.h
    functionUses: 3
    functionsReached:
    - struct fst_iface*::iface_obj::get_peer_next
    linkageType: ''
    returnType: u8
    signature: "u8 * fst_iface_get_peer_next(struct fst_iface *i,\n\t\t\t\t\t\t struct
      fst_get_peer_ctx **ctx,\n\t\t\t\t\t\t bool mb_only)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - struct fst_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: fst_iface_get_wpa_obj_ctx
    functionSourceFile: /src/hostap/src/fst/fst_iface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * fst_iface_get_wpa_obj_ctx(struct fst_iface *i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fst_group_get_id
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:24,1
    - Dst: os_strncmp
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:26,1
    - Dst: os_strlen
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 31
    functionName: get_fst_group_by_id
    functionSourceFile: /src/hostap/src/fst/fst_ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - fst_group_get_id
    - os_strncmp
    linkageType: ''
    returnType: struct fst_group
    signature: struct fst_group * get_fst_group_by_id(const char *id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fst_group_get_id
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:24,1
    - Dst: os_strncmp
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:26,1
    - Dst: os_strlen
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: foreach_fst_group
    functionSourceFile: /src/hostap/src/fst/fst_ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - fst_group_get_id
    - os_strncmp
    linkageType: ''
    returnType: void
    signature: void foreach_fst_group(g)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:50,1
    - Dst: os_snprintf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:70,1
    - Dst: fst_reason_name
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:74,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:77,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 3
    argNames:
    - extra
    - buffer
    - size
    argTypes:
    - union fst_event_extra*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 78
    functionName: format_session_state_extra
    functionSourceFile: /src/hostap/src/fst/fst_ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - fst_reason_name
    - os_snprintf_error
    linkageType: ''
    returnType: bool
    signature: "bool format_session_state_extra(const union fst_event_extra *extra,\n\t\t\t\t
      \      char *buffer, size_t size)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: fst_group_first_iface
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:98,1
    - Dst: WPA_ASSERT
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:106,1
    - Dst: wpa_msg_global_only
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:113,1
    - Dst: wpa_msg_global_only
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:125,1
    - Dst: fst_iface_get_wpa_obj_ctx
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:125,1
    - Dst: MAC2STR
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:131,1
    - Dst: format_session_state_extra
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:136,1
    - Dst: fst_printf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:138,1
    - Dst: wpa_msg_global_only
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:143,1
    - Dst: fst_iface_get_wpa_obj_ctx
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:143,1
    - Dst: fst_session_event_type_name
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:150,1
    - Dst: fst_session_state_name
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:151,1
    - Dst: fst_session_state_name
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:152,1
    - Dst: wpa_msg_global_only
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:157,1
    - Dst: fst_iface_get_wpa_obj_ctx
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:157,1
    - Dst: fst_session_event_type_name
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:162,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 4
    argNames:
    - f
    - session_id
    - event_type
    - extra
    argTypes:
    - struct fst_iface*
    - u32
    - enum fst_event_type
    - union fst_event_extra*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 81
    functionDepth: 3
    functionLinenumber: 81
    functionLinenumberEnd: 165
    functionName: fst_ctrl_iface_notify
    functionSourceFile: /src/hostap/src/fst/fst_ctrl_iface.c
    functionUses: 0
    functionsReached:
    - fst_iface_get_wpa_obj_ctx
    - format_session_state_extra
    - fst_session_event_type_name
    - fst_session_state_name
    - MAC2STR
    - fst_group_first_iface
    - wpa_msg_global_only
    - fst_printf
    - WPA_ASSERT
    linkageType: ''
    returnType: void
    signature: "void fst_ctrl_iface_notify(struct fst_iface *f, u32 session_id,\n\t\t\t\t
      \ enum fst_event_type event_type,\n\t\t\t\t  const union fst_event_extra *extra)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fst_group_first_iface
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: foreach_fst_group
    functionSourceFile: /src/hostap/src/fst/fst_ctrl_iface.c
    functionUses: 0
    functionsReached:
    - fst_group_first_iface
    linkageType: ''
    returnType: void
    signature: void foreach_fst_group(g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strtoul
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:178,1
    - Dst: fst_session_get_by_id
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:180,1
    - Dst: fst_printf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:182,1
    - Dst: os_snprintf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:183,1
    - Dst: fst_session_get_peer_addr
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:186,1
    - Dst: fst_session_get_peer_addr
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:187,1
    - Dst: fst_session_get_iface
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:188,1
    - Dst: fst_session_get_iface
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:189,1
    - Dst: os_snprintf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:191,1
    - Dst: MAC2STR
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:198,1
    - Dst: MAC2STR
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:199,1
    - Dst: fst_iface_get_name
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:200,1
    - Dst: fst_iface_get_name
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:202,1
    - Dst: fst_session_get_llt
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:204,1
    - Dst: fst_session_state_name
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:205,1
    - Dst: fst_session_get_state
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - session_id
    - buf
    - buflen
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 206
    functionName: session_get
    functionSourceFile: /src/hostap/src/fst/fst_ctrl_iface.c
    functionUses: 0
    functionsReached:
    - fst_iface_get_name
    - fst_session_state_name
    - fst_session_get_llt
    - fst_session_get_state
    - fst_session_get_iface
    - os_snprintf
    - MAC2STR
    - strtoul
    - fst_session_get_peer_addr
    - fst_printf
    - fst_session_get_by_id
    linkageType: ''
    returnType: int
    signature: int session_get(const char *session_id, char *buf, size_t buflen)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strtoul
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:217,1
    - Dst: fst_session_get_by_id
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:219,1
    - Dst: fst_printf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:221,1
    - Dst: os_snprintf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:222,1
    - Dst: os_strchr
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:225,1
    - Dst: os_snprintf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:226,1
    - Dst: os_strncasecmp
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:229,1
    - Dst: fst_session_set_str_ifname
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:230,1
    - Dst: os_strncasecmp
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:231,1
    - Dst: fst_session_set_str_ifname
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:232,1
    - Dst: os_strncasecmp
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:233,1
    - Dst: fst_session_set_str_peer_addr
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:234,1
    - Dst: os_strncasecmp
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:235,1
    - Dst: fst_session_set_str_peer_addr
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:236,1
    - Dst: os_strncasecmp
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:237,1
    - Dst: fst_session_set_str_llt
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:238,1
    - Dst: fst_printf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:240,1
    - Dst: os_snprintf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:241,1
    - Dst: os_snprintf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:244,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 3
    argNames:
    - session_id
    - buf
    - buflen
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 210
    functionDepth: 3
    functionLinenumber: 210
    functionLinenumberEnd: 245
    functionName: session_set
    functionSourceFile: /src/hostap/src/fst/fst_ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strncasecmp
    - fst_session_set_str_peer_addr
    - fst_session_set_str_ifname
    - os_snprintf
    - fst_session_set_str_llt
    - strtoul
    - os_strchr
    - fst_printf
    - fst_session_get_by_id
    linkageType: ''
    returnType: int
    signature: int session_set(const char *session_id, char *buf, size_t buflen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_fst_group_by_id
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:254,1
    - Dst: fst_printf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:256,1
    - Dst: os_snprintf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:258,1
    - Dst: fst_session_create
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:261,1
    - Dst: fst_printf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:263,1
    - Dst: os_snprintf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:266,1
    - Dst: os_snprintf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:269,1
    - Dst: fst_session_get_id
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:269,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - group_id
    - buf
    - buflen
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 249
    functionDepth: 3
    functionLinenumber: 249
    functionLinenumberEnd: 270
    functionName: session_add
    functionSourceFile: /src/hostap/src/fst/fst_ctrl_iface.c
    functionUses: 0
    functionsReached:
    - fst_session_get_id
    - get_fst_group_by_id
    - os_snprintf
    - fst_printf
    - fst_session_create
    linkageType: ''
    returnType: int
    signature: int session_add(const char *group_id, char *buf, size_t buflen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strtoul
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:279,1
    - Dst: fst_session_get_by_id
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:281,1
    - Dst: fst_printf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:283,1
    - Dst: os_snprintf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:284,1
    - Dst: fst_session_get_group
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:287,1
    - Dst: fst_session_reset
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:288,1
    - Dst: fst_session_delete
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:289,1
    - Dst: fst_group_delete_if_empty
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:290,1
    - Dst: os_snprintf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - session_id
    - buf
    - buflen
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 273
    functionDepth: 5
    functionLinenumber: 273
    functionLinenumberEnd: 293
    functionName: session_remove
    functionSourceFile: /src/hostap/src/fst/fst_ctrl_iface.c
    functionUses: 0
    functionsReached:
    - fst_session_get_group
    - fst_group_delete_if_empty
    - fst_session_delete
    - os_snprintf
    - strtoul
    - fst_session_reset
    - fst_printf
    - fst_session_get_by_id
    linkageType: ''
    returnType: int
    signature: int session_remove(const char *session_id, char *buf, size_t buflen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strtoul
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:302,1
    - Dst: fst_session_get_by_id
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:304,1
    - Dst: fst_printf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:306,1
    - Dst: os_snprintf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:307,1
    - Dst: fst_session_initiate_setup
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:310,1
    - Dst: fst_printf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:311,1
    - Dst: os_snprintf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:312,1
    - Dst: os_snprintf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:315,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - session_id
    - buf
    - buflen
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 297
    functionDepth: 4
    functionLinenumber: 297
    functionLinenumberEnd: 316
    functionName: session_initiate
    functionSourceFile: /src/hostap/src/fst/fst_ctrl_iface.c
    functionUses: 0
    functionsReached:
    - fst_session_initiate_setup
    - os_snprintf
    - strtoul
    - fst_printf
    - fst_session_get_by_id
    linkageType: ''
    returnType: int
    signature: int session_initiate(const char *session_id, char *buf, size_t buflen)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strtoul
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:327,1
    - Dst: fst_session_get_by_id
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:329,1
    - Dst: fst_printf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:331,1
    - Dst: os_snprintf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:332,1
    - Dst: os_snprintf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:336,1
    - Dst: os_strcasecmp
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:339,1
    - Dst: os_strcasecmp
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:341,1
    - Dst: fst_printf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:344,1
    - Dst: os_snprintf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:347,1
    - Dst: fst_session_respond
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:350,1
    - Dst: fst_printf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:351,1
    - Dst: os_snprintf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:353,1
    - Dst: fst_printf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:356,1
    - Dst: os_snprintf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:358,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - session_id
    - buf
    - buflen
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 320
    functionDepth: 4
    functionLinenumber: 320
    functionLinenumberEnd: 359
    functionName: session_respond
    functionSourceFile: /src/hostap/src/fst/fst_ctrl_iface.c
    functionUses: 1
    functionsReached:
    - fst_session_respond
    - os_snprintf
    - strtoul
    - os_strcasecmp
    - fst_printf
    - fst_session_get_by_id
    linkageType: ''
    returnType: int
    signature: int session_respond(const char *session_id, char *buf, size_t buflen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strtoul
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:368,1
    - Dst: fst_session_get_by_id
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:370,1
    - Dst: fst_printf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:372,1
    - Dst: os_snprintf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:373,1
    - Dst: fst_session_initiate_switch
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:376,1
    - Dst: fst_printf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:377,1
    - Dst: os_snprintf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:379,1
    - Dst: os_snprintf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:382,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - session_id
    - buf
    - buflen
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 363
    functionDepth: 4
    functionLinenumber: 363
    functionLinenumberEnd: 383
    functionName: session_transfer
    functionSourceFile: /src/hostap/src/fst/fst_ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - strtoul
    - fst_session_initiate_switch
    - fst_printf
    - fst_session_get_by_id
    linkageType: ''
    returnType: int
    signature: int session_transfer(const char *session_id, char *buf, size_t buflen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strtoul
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:392,1
    - Dst: fst_session_get_by_id
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:394,1
    - Dst: fst_printf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:396,1
    - Dst: os_snprintf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:397,1
    - Dst: fst_session_tear_down_setup
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:400,1
    - Dst: fst_printf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:401,1
    - Dst: os_snprintf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:403,1
    - Dst: os_snprintf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:406,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - session_id
    - buf
    - buflen
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 387
    functionDepth: 4
    functionLinenumber: 387
    functionLinenumberEnd: 407
    functionName: session_teardown
    functionSourceFile: /src/hostap/src/fst/fst_ctrl_iface.c
    functionUses: 0
    functionsReached:
    - fst_session_tear_down_setup
    - os_snprintf
    - strtoul
    - fst_printf
    - fst_session_get_by_id
    linkageType: ''
    returnType: int
    signature: int session_teardown(const char *session_id, char *buf, size_t buflen)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: os_strncasecmp
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:417,1
    - Dst: os_strlen
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:418,1
    - Dst: fst_test_req_send_fst_request
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:419,1
    - Dst: os_strlen
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:420,1
    - Dst: os_strncasecmp
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:421,1
    - Dst: os_strlen
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:422,1
    - Dst: fst_test_req_send_fst_response
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:423,1
    - Dst: os_strlen
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:424,1
    - Dst: os_strncasecmp
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:425,1
    - Dst: os_strlen
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:426,1
    - Dst: fst_test_req_send_ack_request
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:427,1
    - Dst: os_strlen
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:428,1
    - Dst: os_strncasecmp
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:429,1
    - Dst: os_strlen
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:430,1
    - Dst: fst_test_req_send_ack_response
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:431,1
    - Dst: os_strlen
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:432,1
    - Dst: os_strncasecmp
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:433,1
    - Dst: os_strlen
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:434,1
    - Dst: fst_test_req_send_tear_down
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:435,1
    - Dst: os_strlen
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:436,1
    - Dst: os_strncasecmp
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:437,1
    - Dst: os_strlen
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:438,1
    - Dst: fst_test_req_get_fsts_id
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:439,1
    - Dst: os_strlen
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:440,1
    - Dst: os_snprintf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:442,1
    - Dst: os_snprintf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:443,1
    - Dst: os_strncasecmp
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:444,1
    - Dst: os_strlen
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:445,1
    - Dst: fst_test_req_get_local_mbies
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:446,1
    - Dst: os_strlen
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:447,1
    - Dst: os_strncasecmp
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:448,1
    - Dst: os_strlen
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:449,1
    - Dst: fst_printf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:452,1
    - Dst: os_snprintf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:453,1
    - Dst: os_snprintf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:456,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 3
    argNames:
    - request
    - buf
    - buflen
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 412
    functionDepth: 4
    functionLinenumber: 412
    functionLinenumberEnd: 457
    functionName: test_request
    functionSourceFile: /src/hostap/src/fst/fst_ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strncasecmp
    - os_strlen
    - fst_test_req_send_fst_request
    - fst_test_req_send_fst_response
    - fst_test_req_send_ack_request
    - os_snprintf
    - fst_test_req_send_tear_down
    - fst_test_req_get_local_mbies
    - fst_test_req_send_ack_response
    - fst_printf
    - fst_test_req_get_fsts_id
    linkageType: ''
    returnType: int
    signature: int test_request(const char *request, char *buf, size_t buflen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:475,1
    - Dst: fst_session_get_id
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - g
    - s
    - ctx
    argTypes:
    - struct fst_group*
    - struct fst_session*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 480
    functionName: list_session_enum_cb
    functionSourceFile: /src/hostap/src/fst/fst_ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - fst_session_get_id
    linkageType: ''
    returnType: void
    signature: "void list_session_enum_cb(struct fst_group *g, struct fst_session
      *s,\n\t\t\t\t void *ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_fst_group_by_id
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:488,1
    - Dst: fst_printf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:490,1
    - Dst: os_snprintf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:492,1
    - Dst: fst_session_enum
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:499,1
    - Dst: os_snprintf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:501,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - group_id
    - buf
    - buflen
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 483
    functionDepth: 2
    functionLinenumber: 483
    functionLinenumberEnd: 504
    functionName: list_sessions
    functionSourceFile: /src/hostap/src/fst/fst_ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - fst_printf
    - get_fst_group_by_id
    - fst_session_enum
    linkageType: ''
    returnType: int
    signature: int list_sessions(const char *group_id, char *buf, size_t buflen)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: get_fst_group_by_id
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:518,1
    - Dst: fst_printf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:520,1
    - Dst: os_snprintf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:522,1
    - Dst: os_strchr
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:525,1
    - Dst: os_snprintf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:527,1
    - Dst: fst_iface_get_name
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:531,1
    - Dst: os_strncmp
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:533,1
    - Dst: os_strlen
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:533,1
    - Dst: os_snprintf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:540,1
    - Dst: fst_iface_get_peer_first
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:542,1
    - Dst: fst_iface_get_peer_next
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:543,1
    - Dst: os_snprintf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:546,1
    - Dst: MAC2STR
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:547,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:548,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - group_id
    - buf
    - buflen
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 508
    functionDepth: 2
    functionLinenumber: 508
    functionLinenumberEnd: 554
    functionName: iface_peers
    functionSourceFile: /src/hostap/src/fst/fst_ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - fst_iface_get_name
    - fst_iface_get_peer_first
    - get_fst_group_by_id
    - os_strncmp
    - os_snprintf
    - fst_iface_get_peer_next
    - MAC2STR
    - os_strchr
    - fst_printf
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: int iface_peers(const char *group_id, char *buf, size_t buflen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fst_iface_get_name
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:531,1
    - Dst: os_strncmp
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:533,1
    - Dst: os_strlen
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:533,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 530
    functionDepth: 1
    functionLinenumber: 530
    functionLinenumberEnd: 537
    functionName: foreach_fst_group_iface
    functionSourceFile: /src/hostap/src/fst/fst_ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_strncmp
    - fst_iface_get_name
    linkageType: ''
    returnType: void
    signature: void foreach_fst_group_iface(g, f)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fst_read_next_text_param
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:566,1
    - Dst: isspace
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:570,1
    - Dst: fst_read_peer_addr
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:572,1
    - Dst: fst_group_get_iface_by_name
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:576,1
    - Dst: fst_iface_get_peer_mb_ie
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:583,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:587,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:587,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:588,1
    - Dst: os_snprintf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:591,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 3
    argNames:
    - params
    - buf
    - buflen
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 557
    functionDepth: 2
    functionLinenumber: 557
    functionLinenumberEnd: 592
    functionName: get_peer_mbies
    functionSourceFile: /src/hostap/src/fst/fst_ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_snprintf_hex
    - isspace
    - wpabuf_len
    - fst_read_peer_addr
    - wpabuf_head
    - os_snprintf
    - fst_group_get_iface_by_name
    - fst_read_next_text_param
    - fst_iface_get_peer_mb_ie
    linkageType: ''
    returnType: int
    signature: int get_peer_mbies(const char *params, char *buf, size_t buflen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fst_group_get_iface_by_name
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:576,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 575
    functionDepth: 2
    functionLinenumber: 575
    functionLinenumberEnd: 579
    functionName: foreach_fst_group
    functionSourceFile: /src/hostap/src/fst/fst_ctrl_iface.c
    functionUses: 0
    functionsReached:
    - fst_group_get_iface_by_name
    linkageType: ''
    returnType: void
    signature: void foreach_fst_group(g)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_fst_group_by_id
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:602,1
    - Dst: fst_printf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:604,1
    - Dst: os_snprintf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:606,1
    - Dst: fst_iface_get_addr
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:611,1
    - Dst: os_snprintf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:613,1
    - Dst: fst_iface_get_name
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:615,1
    - Dst: MAC2STR
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:616,1
    - Dst: fst_iface_get_priority
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:617,1
    - Dst: fst_iface_get_llt
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:618,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:619,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - group_id
    - buf
    - buflen
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 596
    functionDepth: 2
    functionLinenumber: 596
    functionLinenumberEnd: 625
    functionName: list_ifaces
    functionSourceFile: /src/hostap/src/fst/fst_ctrl_iface.c
    functionUses: 0
    functionsReached:
    - fst_iface_get_name
    - fst_iface_get_llt
    - get_fst_group_by_id
    - os_snprintf
    - MAC2STR
    - os_snprintf_error
    - fst_iface_get_addr
    - fst_printf
    - fst_iface_get_priority
    linkageType: ''
    returnType: int
    signature: int list_ifaces(const char *group_id, char *buf, size_t buflen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fst_iface_get_addr
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:611,1
    - Dst: os_snprintf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:613,1
    - Dst: fst_iface_get_name
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:615,1
    - Dst: MAC2STR
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:616,1
    - Dst: fst_iface_get_priority
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:617,1
    - Dst: fst_iface_get_llt
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:618,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:619,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 609
    functionDepth: 1
    functionLinenumber: 609
    functionLinenumberEnd: 622
    functionName: foreach_fst_group_iface
    functionSourceFile: /src/hostap/src/fst/fst_ctrl_iface.c
    functionUses: 0
    functionsReached:
    - fst_iface_get_name
    - fst_iface_get_llt
    - os_snprintf
    - MAC2STR
    - fst_iface_get_addr
    - os_snprintf_error
    - fst_iface_get_priority
    linkageType: ''
    returnType: void
    signature: void foreach_fst_group_iface(g, f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:637,1
    - Dst: fst_group_get_id
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:638,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:639,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - cmd
    - buf
    - buflen
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 629
    functionDepth: 1
    functionLinenumber: 629
    functionLinenumberEnd: 645
    functionName: list_groups
    functionSourceFile: /src/hostap/src/fst/fst_ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - fst_group_get_id
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: int list_groups(const char *cmd, char *buf, size_t buflen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:637,1
    - Dst: fst_group_get_id
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:638,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:639,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 634
    functionDepth: 1
    functionLinenumber: 634
    functionLinenumberEnd: 642
    functionName: foreach_fst_group
    functionSourceFile: /src/hostap/src/fst/fst_ctrl_iface.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - fst_group_get_id
    - os_snprintf_error
    linkageType: ''
    returnType: void
    signature: void foreach_fst_group(g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fst_get_str_name
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:656,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - band
    argTypes:
    - enum mb_band_id
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 648
    functionDepth: 1
    functionLinenumber: 648
    functionLinenumberEnd: 657
    functionName: band_freq
    functionSourceFile: /src/hostap/src/fst/fst_ctrl_iface.c
    functionUses: 0
    functionsReached:
    - fst_get_str_name
    - ARRAY_SIZE
    linkageType: ''
    returnType: char
    signature: char * band_freq(enum mb_band_id band)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fst_iface_get_channel_info
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:668,1
    - Dst: os_snprintf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:670,1
    - Dst: band_freq
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:671,1
    - Dst: fst_hw_mode_to_band
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:671,1
    - Dst: os_snprintf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:672,1
    - Dst: fst_iface_get_name
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:673,1
    - Dst: fst_iface_get_peer_mb_ie
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:674,1
    - Dst: os_snprintf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:676,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:678,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:679,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:680,1
    - Dst: os_snprintf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:681,1
    - Dst: os_snprintf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:683,1
    - Dst: fst_iface_get_group_id
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:684,1
    - Dst: os_snprintf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:685,1
    - Dst: fst_iface_get_priority
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:686,1
    - Dst: os_snprintf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:687,1
    - Dst: fst_iface_get_llt
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:688,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 5
    argNames:
    - num
    - iface
    - addr
    - buf
    - buflen
    argTypes:
    - unsigned
    - struct fst_iface*
    - u8*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 660
    functionDepth: 2
    functionLinenumber: 660
    functionLinenumberEnd: 691
    functionName: print_band
    functionSourceFile: /src/hostap/src/fst/fst_ctrl_iface.c
    functionUses: 0
    functionsReached:
    - wpa_snprintf_hex
    - fst_iface_get_name
    - fst_iface_get_llt
    - wpabuf_len
    - fst_iface_get_priority
    - wpabuf_head
    - os_snprintf
    - band_freq
    - fst_iface_get_peer_mb_ie
    - fst_iface_get_channel_info
    - fst_iface_get_group_id
    - fst_hw_mode_to_band
    linkageType: ''
    returnType: int
    signature: "int print_band(unsigned num, struct fst_iface *iface, const u8 *addr,\n\t\t
      \     char *buf, size_t buflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:699,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:701,1
    - Dst: fst_iface_get_name
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:701,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:703,1
    - Dst: fst_iface_get_group_id
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:703,1
    - Dst: fst_ctrl_iface_notify
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:706,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - i
    - attached
    argTypes:
    - struct fst_iface*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 694
    functionDepth: 4
    functionLinenumber: 694
    functionLinenumberEnd: 708
    functionName: fst_ctrl_iface_on_iface_state_changed
    functionSourceFile: /src/hostap/src/fst/fst_ctrl_iface.c
    functionUses: 0
    functionsReached:
    - fst_iface_get_name
    - fst_ctrl_iface_notify
    - os_strlcpy
    - fst_iface_get_group_id
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void fst_ctrl_iface_on_iface_state_changed(struct fst_iface *i,\n\t\t\t\t\t\t
      \ bool attached)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fst_ctrl_iface_on_iface_state_changed
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:713,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - struct fst_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 711
    functionDepth: 5
    functionLinenumber: 711
    functionLinenumberEnd: 715
    functionName: fst_ctrl_iface_on_iface_added
    functionSourceFile: /src/hostap/src/fst/fst_ctrl_iface.c
    functionUses: 0
    functionsReached:
    - fst_ctrl_iface_on_iface_state_changed
    linkageType: ''
    returnType: int
    signature: int fst_ctrl_iface_on_iface_added(struct fst_iface *i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fst_ctrl_iface_on_iface_state_changed
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:720,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - struct fst_iface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 718
    functionDepth: 5
    functionLinenumber: 718
    functionLinenumberEnd: 721
    functionName: fst_ctrl_iface_on_iface_removed
    functionSourceFile: /src/hostap/src/fst/fst_ctrl_iface.c
    functionUses: 0
    functionsReached:
    - fst_ctrl_iface_on_iface_state_changed
    linkageType: ''
    returnType: void
    signature: void fst_ctrl_iface_on_iface_removed(struct fst_iface *i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fst_session_get_id
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:728,1
    - Dst: fst_ctrl_iface_notify
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:730,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - event_type
    - i
    - s
    - extra
    argTypes:
    - enum fst_event_type
    - struct fst_iface*
    - struct fst_session*
    - union fst_event_extra*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 724
    functionDepth: 4
    functionLinenumber: 724
    functionLinenumberEnd: 731
    functionName: fst_ctrl_iface_on_event
    functionSourceFile: /src/hostap/src/fst/fst_ctrl_iface.c
    functionUses: 0
    functionsReached:
    - fst_ctrl_iface_notify
    - fst_session_get_id
    linkageType: ''
    returnType: void
    signature: "void fst_ctrl_iface_on_event(enum fst_event_type event_type,\n\t\t\t\t
      \   struct fst_iface *i, struct fst_session *s,\n\t\t\t\t    const union fst_event_extra
      *extra)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fst_iface_is_connected
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:752,1
    - Dst: print_band
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:753,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - addr
    - buf
    - buflen
    argTypes:
    - u8*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 743
    functionDepth: 3
    functionLinenumber: 743
    functionLinenumberEnd: 760
    functionName: fst_ctrl_iface_mb_info
    functionSourceFile: /src/hostap/src/fst/fst_ctrl_iface.c
    functionUses: 2
    functionsReached:
    - fst_iface_is_connected
    - print_band
    linkageType: ''
    returnType: int
    signature: int fst_ctrl_iface_mb_info(const u8 *addr, char *buf, size_t buflen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fst_iface_is_connected
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:752,1
    - Dst: print_band
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:753,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 750
    functionDepth: 3
    functionLinenumber: 750
    functionLinenumberEnd: 757
    functionName: foreach_fst_group
    functionSourceFile: /src/hostap/src/fst/fst_ctrl_iface.c
    functionUses: 0
    functionsReached:
    - fst_iface_is_connected
    - print_band
    linkageType: ''
    returnType: void
    signature: void foreach_fst_group(g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fst_iface_is_connected
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:752,1
    - Dst: print_band
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:753,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 751
    functionDepth: 3
    functionLinenumber: 751
    functionLinenumberEnd: 756
    functionName: foreach_fst_group_iface
    functionSourceFile: /src/hostap/src/fst/fst_ctrl_iface.c
    functionUses: 0
    functionsReached:
    - fst_iface_is_connected
    - print_band
    linkageType: ''
    returnType: void
    signature: void foreach_fst_group_iface(g, f)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_strncasecmp
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:795,1
    - Dst: os_strlen
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:795,1
    - Dst: os_strlen
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:797,1
    - Dst: isspace
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:799,1
    - Dst: os_snprintf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:800,1
    - Dst: isspace
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:805,1
    - Dst: os_snprintf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:812,1
    - Dst: struct fst_command*::process
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:814,1
    - Dst: os_snprintf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:817,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 3
    argNames:
    - cmd
    - reply
    - reply_size
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 764
    functionDepth: 2
    functionLinenumber: 764
    functionLinenumberEnd: 818
    functionName: fst_ctrl_iface_receive
    functionSourceFile: /src/hostap/src/fst/fst_ctrl_iface.c
    functionUses: 2
    functionsReached:
    - os_strncasecmp
    - os_strlen
    - isspace
    - os_snprintf
    - struct fst_command*::process
    linkageType: ''
    returnType: int
    signature: int fst_ctrl_iface_receive(const char *cmd, char *reply, size_t reply_size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:830,1
    - Dst: isspace
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:831,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - params
    - valid
    - endp
    argTypes:
    - char*
    - bool*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 836
    functionName: fst_read_next_int_param
    functionSourceFile: /src/hostap/src/fst/fst_ctrl_iface.c
    functionUses: 6
    functionsReached:
    - strtol
    - isspace
    linkageType: ''
    returnType: int
    signature: int fst_read_next_int_param(const char *params, bool *valid, char **endp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:846,1
    - Dst: isspace
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:854,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 4
    argNames:
    - params
    - buf
    - buflen
    - endp
    argTypes:
    - char*
    - char*
    - size_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 839
    functionDepth: 0
    functionLinenumber: 839
    functionLinenumberEnd: 863
    functionName: fst_read_next_text_param
    functionSourceFile: /src/hostap/src/fst/fst_ctrl_iface.c
    functionUses: 4
    functionsReached:
    - isspace
    linkageType: ''
    returnType: int
    signature: "int fst_read_next_text_param(const char *params, char *buf, size_t
      buflen,\n\t\t\t     char **endp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hwaddr_aton
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:868,1
    - Dst: fst_printf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:869,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:874,1
    - Dst: is_multicast_ether_addr
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:875,1
    - Dst: fst_printf
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:876,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - mac
    - peer_addr
    argTypes:
    - char*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 866
    functionDepth: 1
    functionLinenumber: 866
    functionLinenumberEnd: 882
    functionName: fst_read_peer_addr
    functionSourceFile: /src/hostap/src/fst/fst_ctrl_iface.c
    functionUses: 2
    functionsReached:
    - hwaddr_aton
    - is_zero_ether_addr
    - fst_printf
    - is_multicast_ether_addr
    linkageType: ''
    returnType: int
    signature: int fst_read_peer_addr(const char *mac, u8 *peer_addr)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fst_read_next_text_param
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:893,1
    - Dst: fst_read_next_text_param
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:894,1
    - Dst: os_strstr
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:900,1
    - Dst: os_strlen
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:902,1
    - Dst: fst_read_next_int_param
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:904,1
    - Dst: os_strstr
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:910,1
    - Dst: os_strlen
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:912,1
    - Dst: fst_read_next_int_param
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:914,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 4
    argNames:
    - cmd
    - ifname
    - ifname_size
    - cfg
    argTypes:
    - char*
    - char*
    - size_t
    - struct fst_iface_cfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 885
    functionDepth: 1
    functionLinenumber: 885
    functionLinenumberEnd: 922
    functionName: fst_parse_attach_command
    functionSourceFile: /src/hostap/src/fst/fst_ctrl_iface.c
    functionUses: 2
    functionsReached:
    - os_strstr
    - os_strlen
    - fst_read_next_int_param
    - fst_read_next_text_param
    linkageType: ''
    returnType: int
    signature: "int fst_parse_attach_command(const char *cmd, char *ifname, size_t
      ifname_size,\n\t\t\t     struct fst_iface_cfg *cfg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fst_read_next_text_param
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:929,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cmd
    - ifname
    - ifname_size
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 925
    functionDepth: 1
    functionLinenumber: 925
    functionLinenumberEnd: 930
    functionName: fst_parse_detach_command
    functionSourceFile: /src/hostap/src/fst/fst_ctrl_iface.c
    functionUses: 2
    functionsReached:
    - fst_read_next_text_param
    linkageType: ''
    returnType: int
    signature: int fst_parse_detach_command(const char *cmd, char *ifname, size_t
      ifname_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fst_group_get_iface_by_name
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:940,1
    - Dst: fst_detach
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:942,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ifname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 933
    functionDepth: 6
    functionLinenumber: 933
    functionLinenumberEnd: 948
    functionName: fst_iface_detach
    functionSourceFile: /src/hostap/src/fst/fst_ctrl_iface.c
    functionUses: 2
    functionsReached:
    - fst_group_get_iface_by_name
    - fst_detach
    linkageType: ''
    returnType: int
    signature: int fst_iface_detach(const char *ifname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fst_group_get_iface_by_name
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:940,1
    - Dst: fst_detach
      Src: /src/hostap/src/fst/fst_ctrl_iface.c:942,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 937
    functionDepth: 6
    functionLinenumber: 937
    functionLinenumberEnd: 945
    functionName: foreach_fst_group
    functionSourceFile: /src/hostap/src/fst/fst_ctrl_iface.c
    functionUses: 0
    functionsReached:
    - fst_group_get_iface_by_name
    - fst_detach
    linkageType: ''
    returnType: void
    signature: void foreach_fst_group(g)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: MKA_ALIGN_LENGTH
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MKA_ALIGN_LENGTH(len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ki1
    - ki2
    argTypes:
    - struct ieee802_1x_mka_ki*
    - struct ieee802_1x_mka_ki*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: is_ki_equal
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - os_memcmp
    linkageType: ''
    returnType: int
    signature: "int is_ki_equal(struct ieee802_1x_mka_ki *ki1,\n\t\t       struct
      ieee802_1x_mka_ki *ki2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - body
    - len
    argTypes:
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 90
    functionName: set_mka_param_body_len
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_mka_param_body_len(void *body, unsigned int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - body
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: get_mka_param_body_len
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int get_mka_param_body_len(const void *body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - body
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: get_mka_param_body_type
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 get_mka_param_body_type(const void *body)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mi
    argTypes:
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: mi_txt
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - wpa_snprintf_hex
    linkageType: ''
    returnType: char
    signature: char * mi_txt(const u8 *mi)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:120,1
    - Dst: MAC2STR
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:121,1
    - Dst: be_to_host16
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sci
    argTypes:
    - struct ieee802_1x_mka_sci*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 123
    functionName: sci_txt
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - MAC2STR
    - be_to_host16
    linkageType: ''
    returnType: char
    signature: char * sci_txt(const struct ieee802_1x_mka_sci *sci)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - algo_agility
    argTypes:
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 132
    functionName: algo_agility_txt
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - wpa_snprintf_hex
    linkageType: ''
    returnType: char
    signature: char * algo_agility_txt(const u8 *algo_agility)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_mka_param_body_len
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:147,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:148,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:149,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:150,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:151,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:152,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:153,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:155,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:156,1
    - Dst: sci_txt
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:156,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:157,1
    - Dst: mi_txt
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:158,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:159,1
    - Dst: be_to_host32
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:160,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:161,1
    - Dst: algo_agility_txt
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:162,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - body
    argTypes:
    - struct ieee802_1x_mka_basic_body*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 165
    functionName: ieee802_1x_mka_dump_basic_body
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    - sci_txt
    - be_to_host32
    - algo_agility_txt
    - mi_txt
    - get_mka_param_body_len
    linkageType: ''
    returnType: void
    signature: void ieee802_1x_mka_dump_basic_body(struct ieee802_1x_mka_basic_body
      *body)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_mka_param_body_len
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:183,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:185,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:186,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:188,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:189,1
    - Dst: os_memcpy
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:194,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:195,1
    - Dst: mi_txt
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:196,1
    - Dst: be_to_host32
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:196,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - body
    argTypes:
    - struct ieee802_1x_mka_peer_body*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 198
    functionName: ieee802_1x_mka_dump_peer_body
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - be_to_host32
    - mi_txt
    - get_mka_param_body_len
    linkageType: ''
    returnType: void
    signature: void ieee802_1x_mka_dump_peer_body(struct ieee802_1x_mka_peer_body
      *body)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_mka_param_body_len
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:213,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:214,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:215,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:216,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:218,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:222,1
    - Dst: be_to_host32
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:223,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:225,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:228,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:230,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - body
    argTypes:
    - struct ieee802_1x_mka_dist_sak_body*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 234
    functionName: ieee802_1x_mka_dump_dist_sak_body
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - get_mka_param_body_len
    - wpa_hexdump
    - be_to_host32
    linkageType: ''
    returnType: void
    signature: void ieee802_1x_mka_dump_dist_sak_body(struct ieee802_1x_mka_dist_sak_body
      *body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 240
    functionName: yes_no
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * yes_no(int val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_mka_param_body_len
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:255,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:256,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:257,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:258,1
    - Dst: yes_no
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:258,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:259,1
    - Dst: yes_no
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:259,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:260,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:261,1
    - Dst: yes_no
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:261,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:262,1
    - Dst: yes_no
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:262,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:263,1
    - Dst: yes_no
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:263,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:264,1
    - Dst: yes_no
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:264,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:265,1
    - Dst: yes_no
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:266,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:267,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:271,1
    - Dst: mi_txt
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:271,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:272,1
    - Dst: be_to_host32
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:273,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:274,1
    - Dst: be_to_host32
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:275,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:276,1
    - Dst: mi_txt
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:276,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:277,1
    - Dst: be_to_host32
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:278,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:279,1
    - Dst: be_to_host32
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 1
    argNames:
    - body
    argTypes:
    - struct ieee802_1x_mka_sak_use_body*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 246
    functionDepth: 2
    functionLinenumber: 246
    functionLinenumberEnd: 281
    functionName: ieee802_1x_mka_dump_sak_use_body
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - be_to_host32
    - mi_txt
    - yes_no
    - get_mka_param_body_len
    linkageType: ''
    returnType: void
    signature: void ieee802_1x_mka_dump_sak_use_body(struct ieee802_1x_mka_sak_use_body
      *body)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:293,1
    - Dst: os_memcmp
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:296,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:301,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - kay
    - ckn
    - len
    argTypes:
    - struct ieee802_1x_kay*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 304
    functionName: ieee802_1x_kay_get_participant
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    - wpa_printf
    - os_memcmp
    linkageType: ''
    returnType: struct ieee802_1x_mka_participant
    signature: "struct ieee802_1x_mka_participant *\nieee802_1x_kay_get_participant(struct
      ieee802_1x_kay *kay, const u8 *ckn,\n\t\t\t       size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:315,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:321,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - kay
    argTypes:
    - struct ieee802_1x_kay*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 323
    functionName: ieee802_1x_kay_get_principal_participant
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    - wpa_printf
    linkageType: ''
    returnType: struct ieee802_1x_mka_participant
    signature: 'struct ieee802_1x_mka_participant *

      ieee802_1x_kay_get_principal_participant(struct ieee802_1x_kay *kay)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - peers
    - mi
    argTypes:
    - struct dl_list*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 337
    functionName: get_peer_mi
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - os_memcmp
    linkageType: ''
    returnType: struct ieee802_1x_kay_peer
    signature: "struct ieee802_1x_kay_peer * get_peer_mi(struct dl_list *peers,\n\t\t\t\t\t\tconst
      u8 *mi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 334
    functionName: dl_list_for_each
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 163
    functionsReached:
    - os_memcmp
    linkageType: ''
    returnType: void
    signature: void dl_list_for_each(peer, peers, struct ieee802_1x_kay_peer, list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_peer_mi
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - participant
    - mi
    argTypes:
    - struct ieee802_1x_mka_participant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 348
    functionName: ieee802_1x_kay_get_potential_peer
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - get_peer_mi
    linkageType: ''
    returnType: struct ieee802_1x_kay_peer
    signature: "struct ieee802_1x_kay_peer *\nieee802_1x_kay_get_potential_peer(\n\tstruct
      ieee802_1x_mka_participant *participant, const u8 *mi)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_peer_mi
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - participant
    - mi
    argTypes:
    - struct ieee802_1x_mka_participant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 359
    functionName: ieee802_1x_kay_get_live_peer
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - get_peer_mi
    linkageType: ''
    returnType: struct ieee802_1x_kay_peer
    signature: "struct ieee802_1x_kay_peer *\nieee802_1x_kay_get_live_peer(struct
      ieee802_1x_mka_participant *participant,\n\t\t\t     const u8 *mi)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_1x_kay_get_potential_peer
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - participant
    - mi
    argTypes:
    - struct ieee802_1x_mka_participant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 365
    functionDepth: 2
    functionLinenumber: 365
    functionLinenumberEnd: 370
    functionName: ieee802_1x_kay_is_in_potential_peer
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - ieee802_1x_kay_get_potential_peer
    linkageType: ''
    returnType: bool
    signature: "bool ieee802_1x_kay_is_in_potential_peer(\n\tstruct ieee802_1x_mka_participant
      *participant, const u8 *mi)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_1x_kay_get_live_peer
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - participant
    - mi
    argTypes:
    - struct ieee802_1x_mka_participant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 376
    functionDepth: 2
    functionLinenumber: 376
    functionLinenumberEnd: 381
    functionName: ieee802_1x_kay_is_in_live_peer
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - ieee802_1x_kay_get_live_peer
    linkageType: ''
    returnType: bool
    signature: "bool ieee802_1x_kay_is_in_live_peer(\n\tstruct ieee802_1x_mka_participant
      *participant, const u8 *mi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_1x_kay_get_live_peer
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:393,1
    - Dst: ieee802_1x_kay_get_potential_peer
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:397,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - participant
    - mi
    argTypes:
    - struct ieee802_1x_mka_participant*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 387
    functionDepth: 2
    functionLinenumber: 387
    functionLinenumberEnd: 398
    functionName: ieee802_1x_kay_get_peer
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - ieee802_1x_kay_get_live_peer
    - ieee802_1x_kay_get_potential_peer
    linkageType: ''
    returnType: struct ieee802_1x_kay_peer
    signature: "struct ieee802_1x_kay_peer *\nieee802_1x_kay_get_peer(struct ieee802_1x_mka_participant
      *participant,\n\t\t\tconst u8 *mi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:412,1
    - Dst: be_to_host64
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:413,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - participant
    - cs_id
    - idx
    argTypes:
    - struct ieee802_1x_mka_participant*
    - u8*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 423
    functionName: ieee802_1x_kay_get_cipher_suite
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - be_to_host64
    linkageType: ''
    returnType: struct macsec_ciphersuite
    signature: "struct macsec_ciphersuite *\nieee802_1x_kay_get_cipher_suite(struct
      ieee802_1x_mka_participant *participant,\n\t\t\t\tconst u8 *cs_id, unsigned
      int *idx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sci
    argTypes:
    - struct ieee802_1x_mka_sci*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 434
    functionName: mka_sci_u64
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    linkageType: ''
    returnType: u64
    signature: u64 mka_sci_u64(struct ieee802_1x_mka_sci *sci)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct ieee802_1x_mka_sci*
    - struct ieee802_1x_mka_sci*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 441
    functionName: sci_equal
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - os_memcmp
    linkageType: ''
    returnType: bool
    signature: "bool sci_equal(const struct ieee802_1x_mka_sci *a,\n\t\t      const
      struct ieee802_1x_mka_sci *b)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:453,1
    - Dst: sci_equal
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:455,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:459,1
    - Dst: sci_equal
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:461,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - participant
    - sci
    argTypes:
    - struct ieee802_1x_mka_participant*
    - struct ieee802_1x_mka_sci*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 466
    functionName: ieee802_1x_kay_get_peer_sci
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    - sci_equal
    linkageType: ''
    returnType: struct ieee802_1x_kay_peer
    signature: "struct ieee802_1x_kay_peer *\nieee802_1x_kay_get_peer_sci(struct ieee802_1x_mka_participant
      *participant,\n\t\t\t    const struct ieee802_1x_mka_sci *sci)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:483,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:485,1
    - Dst: ieee802_1x_kay_use_data_key
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:489,1
    - Dst: os_get_time
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:496,1
    - Dst: dl_list_add
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:499,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:500,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 4
    argNames:
    - psc
    - an
    - lowest_pn
    - key
    argTypes:
    - struct receive_sc*
    - u8
    - u32
    - struct data_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 505
    functionName: ieee802_1x_kay_init_receive_sa
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - ieee802_1x_kay_use_data_key
    - os_zalloc
    - dl_list_add
    - os_get_time
    linkageType: ''
    returnType: struct receive_sa
    signature: "struct receive_sa *\nieee802_1x_kay_init_receive_sa(struct receive_sc
      *psc, u8 an, u32 lowest_pn,\n\t\t\t       struct data_key *key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_1x_kay_deinit_data_key
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:515,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:517,1
    - Dst: dl_list_del
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:520,1
    - Dst: os_free
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - psa
    argTypes:
    - struct receive_sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 513
    functionDepth: 1
    functionLinenumber: 513
    functionLinenumberEnd: 522
    functionName: ieee802_1x_kay_deinit_receive_sa
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - os_free
    - dl_list_del
    - wpa_printf
    - ieee802_1x_kay_deinit_data_key
    linkageType: ''
    returnType: void
    signature: void ieee802_1x_kay_deinit_receive_sa(struct receive_sa *psa)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:536,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:538,1
    - Dst: os_memcpy
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:542,1
    - Dst: os_get_time
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:544,1
    - Dst: dl_list_init
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:547,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:548,1
    - Dst: sci_txt
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:549,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - psci
    argTypes:
    - struct ieee802_1x_mka_sci*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 528
    functionDepth: 2
    functionLinenumber: 528
    functionLinenumberEnd: 552
    functionName: ieee802_1x_kay_init_receive_sc
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - sci_txt
    - os_zalloc
    - os_get_time
    - dl_list_init
    linkageType: ''
    returnType: struct receive_sc
    signature: 'struct receive_sc *

      ieee802_1x_kay_init_receive_sc(const struct ieee802_1x_mka_sci *psci)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secy_disable_receive_sa
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:558,1
    - Dst: secy_delete_receive_sa
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:559,1
    - Dst: ieee802_1x_kay_deinit_receive_sa
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - kay
    - sa
    argTypes:
    - struct ieee802_1x_kay*
    - struct receive_sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 555
    functionDepth: 2
    functionLinenumber: 555
    functionLinenumberEnd: 561
    functionName: ieee802_1x_delete_receive_sa
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - ieee802_1x_kay_deinit_receive_sa
    - secy_disable_receive_sa
    - secy_delete_receive_sa
    linkageType: ''
    returnType: void
    signature: "void ieee802_1x_delete_receive_sa(struct ieee802_1x_kay *kay,\n\t\t\t\t\t
      struct receive_sa *sa)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:573,1
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:574,1
    - Dst: ieee802_1x_delete_receive_sa
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:576,1
    - Dst: dl_list_del
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:578,1
    - Dst: secy_delete_receive_sc
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:579,1
    - Dst: os_free
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - participant
    - psc
    argTypes:
    - struct ieee802_1x_mka_participant*
    - struct receive_sc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 567
    functionDepth: 3
    functionLinenumber: 567
    functionLinenumberEnd: 581
    functionName: ieee802_1x_kay_deinit_receive_sc
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - secy_delete_receive_sc
    - dl_list_del
    - ieee802_1x_delete_receive_sa
    - os_free
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: "void ieee802_1x_kay_deinit_receive_sc(\n\tstruct ieee802_1x_mka_participant
      *participant, struct receive_sc *psc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:586,1
    - Dst: mi_txt
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:587,1
    - Dst: sci_txt
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:587,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - peer
    argTypes:
    - struct ieee802_1x_kay_peer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 584
    functionDepth: 2
    functionLinenumber: 584
    functionLinenumberEnd: 588
    functionName: ieee802_1x_kay_dump_peer
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - sci_txt
    - wpa_printf
    - mi_txt
    linkageType: ''
    returnType: void
    signature: void ieee802_1x_kay_dump_peer(struct ieee802_1x_kay_peer *peer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:596,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:598,1
    - Dst: os_memcpy
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:602,1
    - Dst: time
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:604,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - mi
    - mn
    argTypes:
    - u8*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 609
    functionName: ieee802_1x_kay_create_peer
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - time
    - os_zalloc
    - wpa_printf
    - os_memcpy
    linkageType: ''
    returnType: struct ieee802_1x_kay_peer
    signature: 'struct ieee802_1x_kay_peer *

      ieee802_1x_kay_create_peer(const u8 *mi, u32 mn)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_1x_kay_create_peer
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:622,1
    - Dst: os_memcpy
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:626,1
    - Dst: ieee802_1x_kay_init_receive_sc
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:629,1
    - Dst: os_free
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:631,1
    - Dst: secy_create_receive_sc
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:635,1
    - Dst: os_free
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:636,1
    - Dst: os_free
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:637,1
    - Dst: dl_list_add
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:640,1
    - Dst: dl_list_add
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:641,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:643,1
    - Dst: ieee802_1x_kay_dump_peer
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:644,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - participant
    - mi
    - mn
    argTypes:
    - struct ieee802_1x_mka_participant*
    - u8*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 615
    functionDepth: 3
    functionLinenumber: 615
    functionLinenumberEnd: 647
    functionName: ieee802_1x_kay_create_live_peer
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_printf
    - ieee802_1x_kay_dump_peer
    - secy_create_receive_sc
    - dl_list_add
    - ieee802_1x_kay_create_peer
    - os_free
    - ieee802_1x_kay_init_receive_sc
    linkageType: ''
    returnType: struct ieee802_1x_kay_peer
    signature: "struct ieee802_1x_kay_peer *\nieee802_1x_kay_create_live_peer(struct
      ieee802_1x_mka_participant *participant,\n\t\t\t\tconst u8 *mi, u32 mn)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_1x_kay_create_peer
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:659,1
    - Dst: dl_list_add
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:663,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:665,1
    - Dst: ieee802_1x_kay_dump_peer
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:666,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - participant
    - mi
    - mn
    argTypes:
    - struct ieee802_1x_mka_participant*
    - u8*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 653
    functionDepth: 3
    functionLinenumber: 653
    functionLinenumberEnd: 669
    functionName: ieee802_1x_kay_create_potential_peer
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - ieee802_1x_kay_dump_peer
    - wpa_printf
    - dl_list_add
    - ieee802_1x_kay_create_peer
    linkageType: ''
    returnType: struct ieee802_1x_kay_peer
    signature: "struct ieee802_1x_kay_peer *\nieee802_1x_kay_create_potential_peer(\n\tstruct
      ieee802_1x_mka_participant *participant, const u8 *mi, u32 mn)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_1x_kay_get_potential_peer
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:682,1
    - Dst: ieee802_1x_kay_init_receive_sc
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:686,1
    - Dst: os_memcpy
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:690,1
    - Dst: time
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:693,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:695,1
    - Dst: ieee802_1x_kay_dump_peer
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:696,1
    - Dst: dl_list_del
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:698,1
    - Dst: secy_create_receive_sc
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:699,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:700,1
    - Dst: os_free
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:701,1
    - Dst: os_free
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:702,1
    - Dst: dl_list_add_tail
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:705,1
    - Dst: dl_list_add
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:707,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - participant
    - mi
    - mn
    argTypes:
    - struct ieee802_1x_mka_participant*
    - u8*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 675
    functionDepth: 3
    functionLinenumber: 675
    functionLinenumberEnd: 710
    functionName: ieee802_1x_kay_move_live_peer
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_printf
    - dl_list_del
    - dl_list_add_tail
    - ieee802_1x_kay_dump_peer
    - secy_create_receive_sc
    - time
    - dl_list_add
    - os_free
    - ieee802_1x_kay_get_potential_peer
    - ieee802_1x_kay_init_receive_sc
    linkageType: ''
    returnType: struct ieee802_1x_kay_peer
    signature: "struct ieee802_1x_kay_peer *\nieee802_1x_kay_move_live_peer(struct
      ieee802_1x_mka_participant *participant,\n\t\t\t      u8 *mi, u32 mn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - participant
    argTypes:
    - struct ieee802_1x_mka_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 722
    functionName: ieee802_1x_mka_basic_body_present
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool ieee802_1x_mka_basic_body_present(\n\tstruct ieee802_1x_mka_participant
      *participant)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MKA_ALIGN_LENGTH
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:735,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - participant
    argTypes:
    - struct ieee802_1x_mka_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 728
    functionDepth: 1
    functionLinenumber: 728
    functionLinenumberEnd: 736
    functionName: ieee802_1x_mka_basic_body_length
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - MKA_ALIGN_LENGTH
    linkageType: ''
    returnType: int
    signature: int ieee802_1x_mka_basic_body_length(struct ieee802_1x_mka_participant
      *participant)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:752,1
    - Dst: MKA_ALIGN_LENGTH
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:752,1
    - Dst: set_mka_param_body_len
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:765,1
    - Dst: os_memcpy
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:767,1
    - Dst: os_memcpy
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:771,1
    - Dst: host_to_be32
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:773,1
    - Dst: os_memcpy
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:774,1
    - Dst: os_memcpy
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:777,1
    - Dst: ieee802_1x_mka_dump_basic_body
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:779,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 2
    argNames:
    - participant
    - buf
    argTypes:
    - struct ieee802_1x_mka_participant*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 742
    functionDepth: 3
    functionLinenumber: 742
    functionLinenumberEnd: 782
    functionName: ieee802_1x_mka_encode_basic_body
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - wpabuf_put
    - os_memcpy
    - host_to_be32
    - set_mka_param_body_len
    - MKA_ALIGN_LENGTH
    - ieee802_1x_mka_dump_basic_body
    linkageType: ''
    returnType: int
    signature: "int ieee802_1x_mka_encode_basic_body(\n\tstruct ieee802_1x_mka_participant
      *participant,\n\tstruct wpabuf *buf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_get_random
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:788,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - participant
    argTypes:
    - struct ieee802_1x_mka_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 785
    functionDepth: 0
    functionLinenumber: 785
    functionLinenumberEnd: 793
    functionName: reset_participant_mi
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - os_get_random
    linkageType: ''
    returnType: bool
    signature: bool reset_participant_mi(struct ieee802_1x_mka_participant *participant)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:812,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:817,1
    - Dst: get_mka_param_body_len
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:821,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:823,1
    - Dst: ieee802_1x_kay_get_participant
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:829,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:831,1
    - Dst: os_memcmp
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:837,1
    - Dst: reset_participant_mi
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:838,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:840,1
    - Dst: mi_txt
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:842,1
    - Dst: os_memcpy
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:845,1
    - Dst: os_memcpy
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:847,1
    - Dst: ieee802_1x_kay_get_peer
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:852,1
    - Dst: ieee802_1x_kay_get_peer_sci
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:873,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:878,1
    - Dst: time
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:882,1
    - Dst: ieee802_1x_kay_create_potential_peer
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:888,1
    - Dst: be_to_host32
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:890,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:892,1
    - Dst: be_to_host32
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:901,1
    - Dst: be_to_host32
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:902,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:908,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 60
    argCount: 3
    argNames:
    - kay
    - mka_msg
    - msg_len
    argTypes:
    - struct ieee802_1x_kay*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 799
    functionDepth: 4
    functionLinenumber: 799
    functionLinenumberEnd: 914
    functionName: ieee802_1x_mka_decode_basic_body
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - ieee802_1x_kay_get_peer
    - be_to_host32
    - time
    - ieee802_1x_kay_create_potential_peer
    - ieee802_1x_kay_get_peer_sci
    - mi_txt
    - os_memcmp
    - ieee802_1x_kay_get_participant
    - reset_participant_mi
    - get_mka_param_body_len
    linkageType: ''
    returnType: struct ieee802_1x_mka_participant
    signature: "struct ieee802_1x_mka_participant *\nieee802_1x_mka_decode_basic_body(struct
      ieee802_1x_kay *kay, const u8 *mka_msg,\n\t\t\t\t size_t msg_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_empty
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:924,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - participant
    argTypes:
    - struct ieee802_1x_mka_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 920
    functionDepth: 1
    functionLinenumber: 920
    functionLinenumberEnd: 925
    functionName: ieee802_1x_mka_live_peer_body_present
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - dl_list_empty
    linkageType: ''
    returnType: bool
    signature: "bool ieee802_1x_mka_live_peer_body_present(\n\tstruct ieee802_1x_mka_participant
      *participant)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:938,1
    - Dst: MKA_ALIGN_LENGTH
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:942,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - participant
    argTypes:
    - struct ieee802_1x_mka_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 931
    functionDepth: 1
    functionLinenumber: 931
    functionLinenumberEnd: 943
    functionName: ieee802_1x_mka_get_live_peer_length
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    - MKA_ALIGN_LENGTH
    linkageType: ''
    returnType: int
    signature: "int ieee802_1x_mka_get_live_peer_length(\n\tstruct ieee802_1x_mka_participant
      *participant)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_1x_mka_get_live_peer_length
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:959,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:960,1
    - Dst: set_mka_param_body_len
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:963,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:965,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:967,1
    - Dst: os_memcpy
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:969,1
    - Dst: host_to_be32
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:970,1
    - Dst: ieee802_1x_mka_dump_peer_body
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:973,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - participant
    - buf
    argTypes:
    - struct ieee802_1x_mka_participant*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 975
      start: 949
    functionDepth: 3
    functionLinenumber: 949
    functionLinenumberEnd: 975
    functionName: ieee802_1x_mka_encode_live_peer_body
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpabuf_put
    - ieee802_1x_mka_dump_peer_body
    - host_to_be32
    - set_mka_param_body_len
    - dl_list_for_each
    - ieee802_1x_mka_get_live_peer_length
    linkageType: ''
    returnType: int
    signature: "int ieee802_1x_mka_encode_live_peer_body(\n\tstruct ieee802_1x_mka_participant
      *participant,\n\tstruct wpabuf *buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_empty
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:984,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - participant
    argTypes:
    - struct ieee802_1x_mka_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 980
    functionDepth: 1
    functionLinenumber: 980
    functionLinenumberEnd: 985
    functionName: ieee802_1x_mka_potential_peer_body_present
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - dl_list_empty
    linkageType: ''
    returnType: bool
    signature: "bool ieee802_1x_mka_potential_peer_body_present(\n\tstruct ieee802_1x_mka_participant
      *participant)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:998,1
    - Dst: MKA_ALIGN_LENGTH
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1002,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - participant
    argTypes:
    - struct ieee802_1x_mka_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 991
    functionDepth: 1
    functionLinenumber: 991
    functionLinenumberEnd: 1003
    functionName: ieee802_1x_mka_get_potential_peer_length
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    - MKA_ALIGN_LENGTH
    linkageType: ''
    returnType: int
    signature: "int ieee802_1x_mka_get_potential_peer_length(\n\tstruct ieee802_1x_mka_participant
      *participant)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_1x_mka_get_potential_peer_length
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1019,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1020,1
    - Dst: set_mka_param_body_len
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1023,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1025,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1027,1
    - Dst: os_memcpy
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1029,1
    - Dst: host_to_be32
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1030,1
    - Dst: ieee802_1x_mka_dump_peer_body
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1033,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - participant
    - buf
    argTypes:
    - struct ieee802_1x_mka_participant*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1035
      start: 1009
    functionDepth: 3
    functionLinenumber: 1009
    functionLinenumberEnd: 1035
    functionName: ieee802_1x_mka_encode_potential_peer_body
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpabuf_put
    - ieee802_1x_mka_dump_peer_body
    - host_to_be32
    - set_mka_param_body_len
    - dl_list_for_each
    - ieee802_1x_mka_get_potential_peer_length
    linkageType: ''
    returnType: int
    signature: "int ieee802_1x_mka_encode_potential_peer_body(\n\tstruct ieee802_1x_mka_participant
      *participant,\n\tstruct wpabuf *buf)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MKA_ALIGN_LENGTH
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1054,1
    - Dst: MKA_ALIGN_LENGTH
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1055,1
    - Dst: get_mka_param_body_len
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1057,1
    - Dst: get_mka_param_body_type
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1058,1
    - Dst: MKA_ALIGN_LENGTH
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1060,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1061,1
    - Dst: MKA_ALIGN_LENGTH
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1064,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1074,1
    - Dst: ieee802_1x_mka_dump_peer_body
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1080,1
    - Dst: os_memcmp
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1089,1
    - Dst: be_to_host32
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1091,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1093,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 3
    argNames:
    - participant
    - mka_msg
    - msg_len
    argTypes:
    - struct ieee802_1x_mka_participant*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1113
      start: 1041
    functionDepth: 3
    functionLinenumber: 1041
    functionLinenumberEnd: 1113
    functionName: ieee802_1x_mka_i_in_peerlist
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - ieee802_1x_mka_dump_peer_body
    - get_mka_param_body_type
    - be_to_host32
    - MKA_ALIGN_LENGTH
    - os_memcmp
    - get_mka_param_body_len
    linkageType: ''
    returnType: bool
    signature: "bool ieee802_1x_mka_i_in_peerlist(struct ieee802_1x_mka_participant
      *participant,\n\t\t\t     const u8 *mka_msg, size_t msg_len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_1x_kay_is_in_live_peer
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1129,1
    - Dst: get_mka_param_body_len
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1133,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1135,1
    - Dst: be_to_host32
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1147,1
    - Dst: os_memcmp
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1150,1
    - Dst: reset_participant_mi
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1153,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1154,1
    - Dst: ieee802_1x_kay_get_peer
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1161,1
    - Dst: ieee802_1x_kay_create_potential_peer
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1164,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 3
    argNames:
    - participant
    - peer_msg
    - msg_len
    argTypes:
    - struct ieee802_1x_mka_participant*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1171
      start: 1119
    functionDepth: 4
    functionLinenumber: 1119
    functionLinenumberEnd: 1171
    functionName: ieee802_1x_mka_decode_live_peer_body
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - ieee802_1x_kay_is_in_live_peer
    - wpa_printf
    - ieee802_1x_kay_get_peer
    - be_to_host32
    - ieee802_1x_kay_create_potential_peer
    - os_memcmp
    - reset_participant_mi
    - get_mka_param_body_len
    linkageType: ''
    returnType: int
    signature: "int ieee802_1x_mka_decode_live_peer_body(\n\tstruct ieee802_1x_mka_participant
      *participant,\n\tconst u8 *peer_msg, size_t msg_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_mka_param_body_len
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1187,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1189,1
    - Dst: be_to_host32
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1201,1
    - Dst: os_memcmp
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1204,1
    - Dst: reset_participant_mi
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1207,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1208,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - participant
    - peer_msg
    - msg_len
    argTypes:
    - struct ieee802_1x_mka_participant*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1214
      start: 1177
    functionDepth: 1
    functionLinenumber: 1177
    functionLinenumberEnd: 1214
    functionName: ieee802_1x_mka_decode_potential_peer_body
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - be_to_host32
    - os_memcmp
    - reset_participant_mi
    - get_mka_param_body_len
    linkageType: ''
    returnType: int
    signature: "int ieee802_1x_mka_decode_potential_peer_body(\n\tstruct ieee802_1x_mka_participant
      *participant,\n\tconst u8 *peer_msg, size_t msg_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - participant
    argTypes:
    - struct ieee802_1x_mka_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1220
    functionDepth: 0
    functionLinenumber: 1220
    functionLinenumberEnd: 1225
    functionName: ieee802_1x_mka_sak_use_body_present
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool ieee802_1x_mka_sak_use_body_present(\n\tstruct ieee802_1x_mka_participant
      *participant)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MKA_ALIGN_LENGTH
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1240,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - participant
    argTypes:
    - struct ieee802_1x_mka_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1241
      start: 1231
    functionDepth: 1
    functionLinenumber: 1231
    functionLinenumberEnd: 1241
    functionName: ieee802_1x_mka_get_sak_use_length
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - MKA_ALIGN_LENGTH
    linkageType: ''
    returnType: int
    signature: "int ieee802_1x_mka_get_sak_use_length(\n\tstruct ieee802_1x_mka_participant
      *participant)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1254,1
    - Dst: is_ki_equal
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1256,1
    - Dst: secy_get_transmit_next_pn
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1275,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - principal
    - ki
    argTypes:
    - struct ieee802_1x_mka_participant*
    - struct ieee802_1x_mka_ki*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1247
    functionDepth: 1
    functionLinenumber: 1247
    functionLinenumberEnd: 1284
    functionName: ieee802_1x_mka_get_lpn
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    - secy_get_transmit_next_pn
    - is_ki_equal
    linkageType: ''
    returnType: u32
    signature: "u32 ieee802_1x_mka_get_lpn(struct ieee802_1x_mka_participant *principal,\n\t\t
      \      struct ieee802_1x_mka_ki *ki)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_1x_mka_get_sak_use_length
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1300,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1301,1
    - Dst: set_mka_param_body_len
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1304,1
    - Dst: ieee802_1x_mka_get_lpn
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1319,1
    - Dst: host_to_be32
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1320,1
    - Dst: ieee802_1x_mka_get_lpn
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1321,1
    - Dst: host_to_be32
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1322,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1330,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1336,1
    - Dst: os_memcpy
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1349,1
    - Dst: host_to_be32
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1350,1
    - Dst: os_memcpy
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1360,1
    - Dst: host_to_be32
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1362,1
    - Dst: ieee802_1x_mka_dump_sak_use_body
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1376,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 57
    argCount: 2
    argNames:
    - participant
    - buf
    argTypes:
    - struct ieee802_1x_mka_participant*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1378
      start: 1290
    functionDepth: 3
    functionLinenumber: 1290
    functionLinenumberEnd: 1378
    functionName: ieee802_1x_mka_encode_sak_use_body
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - wpabuf_put
    - wpa_printf
    - os_memcpy
    - ieee802_1x_mka_dump_sak_use_body
    - host_to_be32
    - ieee802_1x_mka_get_lpn
    - set_mka_param_body_len
    - ieee802_1x_mka_get_sak_use_length
    linkageType: ''
    returnType: int
    signature: "int ieee802_1x_mka_encode_sak_use_body(\n\tstruct ieee802_1x_mka_participant
      *participant,\n\tstruct wpabuf *buf)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1400,1
    - Dst: ieee802_1x_kay_get_live_peer
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1403,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1406,1
    - Dst: mi_txt
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1408,1
    - Dst: get_mka_param_body_len
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1413,1
    - Dst: ieee802_1x_mka_dump_sak_use_body
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1415,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1418,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1426,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1434,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1437,1
    - Dst: be_to_host32
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1440,1
    - Dst: be_to_host32
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1440,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1441,1
    - Dst: be_to_host32
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1446,1
    - Dst: be_to_host32
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1447,1
    - Dst: dl_list_first
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1455,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1457,1
    - Dst: os_memcpy
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1466,1
    - Dst: be_to_host32
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1467,1
    - Dst: os_memcpy
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1470,1
    - Dst: be_to_host32
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1471,1
    - Dst: is_ki_equal
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1483,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1484,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1501,1
    - Dst: ieee802_1x_cp_set_allreceiving
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1510,1
    - Dst: ieee802_1x_cp_sm_step
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1511,1
    - Dst: ieee802_1x_cp_set_servertransmitting
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1515,1
    - Dst: ieee802_1x_cp_sm_step
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1516,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1528,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1541,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1543,1
    - Dst: secy_get_receive_lowest_pn
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1554,1
    - Dst: secy_set_receive_lowest_pn
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1557,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1559,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 96
    argCount: 3
    argNames:
    - participant
    - mka_msg
    - msg_len
    argTypes:
    - struct ieee802_1x_mka_participant*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1575
      start: 1384
    functionDepth: 3
    functionLinenumber: 1384
    functionLinenumberEnd: 1575
    functionName: ieee802_1x_mka_decode_sak_use_body
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - secy_set_receive_lowest_pn
    - wpa_printf
    - os_memcpy
    - secy_get_receive_lowest_pn
    - ieee802_1x_mka_dump_sak_use_body
    - dl_list_first
    - be_to_host32
    - ieee802_1x_cp_sm_step
    - dl_list_for_each
    - ieee802_1x_cp_set_allreceiving
    - mi_txt
    - ieee802_1x_kay_get_live_peer
    - get_mka_param_body_len
    - ieee802_1x_cp_set_servertransmitting
    - is_ki_equal
    linkageType: ''
    returnType: int
    signature: "int ieee802_1x_mka_decode_sak_use_body(\n\tstruct ieee802_1x_mka_participant
      *participant,\n\tconst u8 *mka_msg, size_t msg_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - participant
    argTypes:
    - struct ieee802_1x_mka_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1587
      start: 1581
    functionDepth: 0
    functionLinenumber: 1581
    functionLinenumberEnd: 1587
    functionName: ieee802_1x_mka_dist_sak_body_present
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool ieee802_1x_mka_dist_sak_body_present(\n\tstruct ieee802_1x_mka_participant
      *participant)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MKA_ALIGN_LENGTH
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1608,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - participant
    argTypes:
    - struct ieee802_1x_mka_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1609
      start: 1593
    functionDepth: 1
    functionLinenumber: 1593
    functionLinenumberEnd: 1609
    functionName: ieee802_1x_mka_get_dist_sak_length
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - MKA_ALIGN_LENGTH
    linkageType: ''
    returnType: int
    signature: "int ieee802_1x_mka_get_dist_sak_length(\n\tstruct ieee802_1x_mka_participant
      *participant)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_1x_mka_get_dist_sak_length
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1626,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1627,1
    - Dst: set_mka_param_body_len
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1629,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1638,1
    - Dst: host_to_be32
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1644,1
    - Dst: host_to_be64
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1652,1
    - Dst: os_memcpy
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1653,1
    - Dst: aes_wrap
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1656,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1659,1
    - Dst: ieee802_1x_mka_dump_dist_sak_body
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1663,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 2
    argNames:
    - participant
    - buf
    argTypes:
    - struct ieee802_1x_mka_participant*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1666
      start: 1615
    functionDepth: 2
    functionLinenumber: 1615
    functionLinenumberEnd: 1666
    functionName: ieee802_1x_mka_encode_dist_sak_body
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - wpabuf_put
    - wpa_printf
    - os_memcpy
    - host_to_be32
    - aes_wrap
    - set_mka_param_body_len
    - ieee802_1x_mka_dump_dist_sak_body
    - ieee802_1x_mka_get_dist_sak_length
    - host_to_be64
    linkageType: ''
    returnType: int
    signature: "int ieee802_1x_mka_encode_dist_sak_body(\n\tstruct ieee802_1x_mka_participant
      *participant,\n\tstruct wpabuf *buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_get_time
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - struct data_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1680
      start: 1672
    functionDepth: 0
    functionLinenumber: 1672
    functionLinenumberEnd: 1680
    functionName: ieee802_1x_kay_init_data_key
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - os_get_time
    linkageType: ''
    returnType: void
    signature: void ieee802_1x_kay_init_data_key(struct data_key *pkey)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: get_mka_param_body_len
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1703,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1705,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1712,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1717,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1723,1
    - Dst: ieee802_1x_kay_get_live_peer
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1728,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1731,1
    - Dst: sci_equal
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1735,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1736,1
    - Dst: ieee802_1x_cp_connect_authenticated
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1745,1
    - Dst: ieee802_1x_cp_sm_step
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1746,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1747,1
    - Dst: ieee802_1x_cp_connect_secure
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1756,1
    - Dst: ieee802_1x_cp_sm_step
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1757,1
    - Dst: ieee802_1x_mka_dump_dist_sak_body
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1760,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1761,1
    - Dst: os_memcmp
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1763,1
    - Dst: be_to_host32
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1765,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1766,1
    - Dst: ieee802_1x_kay_get_cipher_suite
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1780,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1783,1
    - Dst: os_zalloc
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1792,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1794,1
    - Dst: aes_unwrap
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1797,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1799,1
    - Dst: os_free
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1800,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1803,1
    - Dst: os_zalloc
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1806,1
    - Dst: os_free
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1808,1
    - Dst: os_memcpy
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1812,1
    - Dst: be_to_host32
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1814,1
    - Dst: ieee802_1x_kay_init_data_key
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1821,1
    - Dst: ieee802_1x_kay_use_data_key
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1823,1
    - Dst: dl_list_add
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1824,1
    - Dst: ieee802_1x_cp_set_ciphersuite
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1826,1
    - Dst: ieee802_1x_cp_sm_step
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1827,1
    - Dst: ieee802_1x_cp_set_offset
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1828,1
    - Dst: ieee802_1x_cp_sm_step
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1829,1
    - Dst: ieee802_1x_cp_set_distributedki
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1830,1
    - Dst: ieee802_1x_cp_set_distributedan
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1831,1
    - Dst: ieee802_1x_cp_signal_newsak
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1832,1
    - Dst: ieee802_1x_cp_sm_step
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1833,1
    - Dst: time
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1848,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 105
    argCount: 3
    argNames:
    - participant
    - mka_msg
    - msg_len
    argTypes:
    - struct ieee802_1x_mka_participant*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1851
      start: 1686
    functionDepth: 2
    functionLinenumber: 1686
    functionLinenumberEnd: 1851
    functionName: ieee802_1x_mka_decode_dist_sak_body
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - ieee802_1x_mka_dump_dist_sak_body
    - ieee802_1x_kay_get_cipher_suite
    - wpa_printf
    - ieee802_1x_cp_signal_newsak
    - sci_equal
    - ieee802_1x_cp_sm_step
    - dl_list_for_each
    - os_memcmp
    - ieee802_1x_cp_connect_authenticated
    - ieee802_1x_cp_set_ciphersuite
    - os_free
    - wpa_hexdump_key
    - ieee802_1x_cp_set_distributedki
    - ieee802_1x_kay_get_live_peer
    - ieee802_1x_cp_connect_secure
    - os_memcpy
    - ieee802_1x_kay_use_data_key
    - aes_unwrap
    - be_to_host32
    - time
    - os_zalloc
    - dl_list_add
    - ieee802_1x_cp_set_distributedan
    - ieee802_1x_cp_set_offset
    - get_mka_param_body_len
    - ieee802_1x_kay_init_data_key
    linkageType: ''
    returnType: int
    signature: "int ieee802_1x_mka_decode_dist_sak_body(\n\tstruct ieee802_1x_mka_participant
      *participant,\n\tconst u8 *mka_msg, size_t msg_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - participant
    argTypes:
    - struct ieee802_1x_mka_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1861
      start: 1857
    functionDepth: 0
    functionLinenumber: 1857
    functionLinenumberEnd: 1861
    functionName: ieee802_1x_mka_icv_body_present
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ieee802_1x_mka_icv_body_present(struct ieee802_1x_mka_participant
      *participant)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MKA_ALIGN_LENGTH
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1880,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - participant
    argTypes:
    - struct ieee802_1x_mka_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1881
      start: 1867
    functionDepth: 1
    functionLinenumber: 1867
    functionLinenumberEnd: 1881
    functionName: ieee802_1x_mka_get_icv_length
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - MKA_ALIGN_LENGTH
    linkageType: ''
    returnType: int
    signature: int ieee802_1x_mka_get_icv_length(struct ieee802_1x_mka_participant
      *participant)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_1x_mka_get_icv_length
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1895,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1898,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1899,1
    - Dst: set_mka_param_body_len
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1902,1
    - Dst: icv_hash
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1905,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1907,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1907,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1908,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1911,1
    - Dst: os_memcpy
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1913,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1913,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - participant
    - buf
    argTypes:
    - struct ieee802_1x_mka_participant*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1916
      start: 1887
    functionDepth: 2
    functionLinenumber: 1887
    functionLinenumberEnd: 1916
    functionName: ieee802_1x_mka_encode_icv_body
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put
    - os_memcpy
    - wpa_hexdump
    - wpabuf_len
    - icv_hash
    - wpabuf_head
    - set_mka_param_body_len
    - ieee802_1x_mka_get_icv_length
    linkageType: ''
    returnType: int
    signature: "int ieee802_1x_mka_encode_icv_body(struct ieee802_1x_mka_participant
      *participant,\n\t\t\t       struct wpabuf *buf)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MKA_ALIGN_LENGTH
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1936,1
    - Dst: get_mka_param_body_len
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1936,1
    - Dst: get_mka_param_body_type
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1937,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - participant
    - mka_msg
    - msg_len
    argTypes:
    - struct ieee802_1x_mka_participant*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1957
      start: 1921
    functionDepth: 1
    functionLinenumber: 1921
    functionLinenumberEnd: 1957
    functionName: ieee802_1x_mka_decode_icv_body
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - get_mka_param_body_type
    - MKA_ALIGN_LENGTH
    - get_mka_param_body_len
    linkageType: ''
    returnType: u8
    signature: "u8 *\nieee802_1x_mka_decode_icv_body(struct ieee802_1x_mka_participant
      *participant,\n\t\t\t       const u8 *mka_msg, size_t msg_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_mka_param_body_len
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1972,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1974,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - participant
    - mka_msg
    - msg_len
    argTypes:
    - struct ieee802_1x_mka_participant*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1981
      start: 1963
    functionDepth: 1
    functionLinenumber: 1963
    functionLinenumberEnd: 1981
    functionName: ieee802_1x_mka_decode_dist_cak_body
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - get_mka_param_body_len
    linkageType: ''
    returnType: int
    signature: "int ieee802_1x_mka_decode_dist_cak_body(\n\tstruct ieee802_1x_mka_participant
      *participant,\n\tconst u8 *mka_msg, size_t msg_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_mka_param_body_len
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1996,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:1998,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - participant
    - mka_msg
    - msg_len
    argTypes:
    - struct ieee802_1x_mka_participant*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2005
      start: 1987
    functionDepth: 1
    functionLinenumber: 1987
    functionLinenumberEnd: 2005
    functionName: ieee802_1x_mka_decode_kmd_body
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - get_mka_param_body_len
    linkageType: ''
    returnType: int
    signature: "int ieee802_1x_mka_decode_kmd_body(\n\tstruct ieee802_1x_mka_participant
      *participant,\n\tconst u8 *mka_msg, size_t msg_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - participant
    - mka_msg
    - msg_len
    argTypes:
    - struct ieee802_1x_mka_participant*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2016
      start: 2011
    functionDepth: 0
    functionLinenumber: 2011
    functionLinenumberEnd: 2016
    functionName: ieee802_1x_mka_decode_announce_body
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ieee802_1x_mka_decode_announce_body(\n\tstruct ieee802_1x_mka_participant
      *participant,\n\tconst u8 *mka_msg, size_t msg_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - struct data_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2110
      start: 2107
    functionDepth: 0
    functionLinenumber: 2107
    functionLinenumberEnd: 2110
    functionName: ieee802_1x_kay_use_data_key
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ieee802_1x_kay_use_data_key(struct data_key *pkey)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2126,1
    - Dst: os_free
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - struct data_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2128
      start: 2117
    functionDepth: 0
    functionLinenumber: 2117
    functionLinenumberEnd: 2128
    functionName: ieee802_1x_kay_deinit_data_key
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 1
    functionsReached:
    - os_free
    linkageType: ''
    returnType: void
    signature: void ieee802_1x_kay_deinit_data_key(struct data_key *pkey)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_empty
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2151,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2152,1
    - Dst: time
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2165,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2166,1
    - Dst: os_zalloc
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2173,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2175,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2180,1
    - Dst: os_zalloc
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2185,1
    - Dst: os_get_random
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2190,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2194,1
    - Dst: os_memcpy
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2196,1
    - Dst: os_memcpy
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2199,1
    - Dst: os_memcpy
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2202,1
    - Dst: ieee802_1x_sak_aes_cmac
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2205,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2209,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2213,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2217,1
    - Dst: os_free
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2218,1
    - Dst: os_zalloc
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2221,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2223,1
    - Dst: os_memcpy
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2229,1
    - Dst: ieee802_1x_kay_init_data_key
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2234,1
    - Dst: ieee802_1x_kay_use_data_key
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2238,1
    - Dst: dl_list_add
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2239,1
    - Dst: ieee802_1x_cp_set_ciphersuite
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2241,1
    - Dst: ieee802_1x_cp_sm_step
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2242,1
    - Dst: ieee802_1x_cp_set_offset
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2243,1
    - Dst: ieee802_1x_cp_sm_step
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2244,1
    - Dst: ieee802_1x_cp_set_distributedki
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2245,1
    - Dst: ieee802_1x_cp_set_distributedan
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2246,1
    - Dst: ieee802_1x_cp_signal_newsak
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2247,1
    - Dst: ieee802_1x_cp_sm_step
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2248,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2250,1
    - Dst: time
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2259,1
    - Dst: os_free
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2264,1
    - Dst: os_free
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2265,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 85
    argCount: 1
    argNames:
    - participant
    argTypes:
    - struct ieee802_1x_mka_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2267
      start: 2134
    functionDepth: 1
    functionLinenumber: 2134
    functionLinenumberEnd: 2267
    functionName: ieee802_1x_kay_generate_new_sak
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - ieee802_1x_cp_signal_newsak
    - dl_list_empty
    - os_get_random
    - ieee802_1x_cp_sm_step
    - dl_list_for_each
    - ieee802_1x_cp_set_ciphersuite
    - os_free
    - wpa_hexdump_key
    - ieee802_1x_sak_aes_cmac
    - ieee802_1x_cp_set_distributedki
    - os_memcpy
    - ieee802_1x_kay_use_data_key
    - time
    - os_zalloc
    - dl_list_add
    - ieee802_1x_cp_set_distributedan
    - ieee802_1x_cp_set_offset
    - ieee802_1x_kay_init_data_key
    linkageType: ''
    returnType: int
    signature: int ieee802_1x_kay_generate_new_sak(struct ieee802_1x_mka_participant
      *participant)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - peer
    - other
    argTypes:
    - struct ieee802_1x_kay_peer*
    - struct ieee802_1x_kay_peer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2279
      start: 2270
    functionDepth: 0
    functionLinenumber: 2270
    functionLinenumberEnd: 2279
    functionName: compare_priorities
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - os_memcmp
    linkageType: ''
    returnType: int
    signature: "int compare_priorities(const struct ieee802_1x_kay_peer *peer,\n\t\t\t
      \     const struct ieee802_1x_kay_peer *other)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_1x_cp_set_electedself
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2298,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2303,1
    - Dst: compare_priorities
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2313,1
    - Dst: os_memcpy
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2323,1
    - Dst: compare_priorities
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2324,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2328,1
    - Dst: ieee802_1x_cp_set_electedself
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2337,1
    - Dst: sci_equal
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2338,1
    - Dst: ieee802_1x_cp_signal_chgdserver
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2339,1
    - Dst: ieee802_1x_cp_sm_step
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2340,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2346,1
    - Dst: os_memcpy
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2350,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2354,1
    - Dst: mi_txt
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2356,1
    - Dst: ieee802_1x_cp_set_electedself
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2357,1
    - Dst: sci_equal
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2358,1
    - Dst: ieee802_1x_cp_signal_chgdserver
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2359,1
    - Dst: ieee802_1x_cp_sm_step
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2360,1
    - Dst: os_memcpy
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2367,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 66
    argCount: 1
    argNames:
    - participant
    argTypes:
    - struct ieee802_1x_mka_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2377
      start: 2286
    functionDepth: 2
    functionLinenumber: 2286
    functionLinenumberEnd: 2377
    functionName: ieee802_1x_kay_elect_key_server
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_printf
    - ieee802_1x_cp_set_electedself
    - compare_priorities
    - sci_equal
    - ieee802_1x_cp_signal_chgdserver
    - ieee802_1x_cp_sm_step
    - dl_list_for_each
    - mi_txt
    linkageType: ''
    returnType: int
    signature: int ieee802_1x_kay_elect_key_server(struct ieee802_1x_mka_participant
      *participant)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2411,1
    - Dst: ieee802_1x_cp_connect_secure
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2430,1
    - Dst: ieee802_1x_cp_sm_step
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2431,1
    - Dst: ieee802_1x_cp_connect_authenticated
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2447,1
    - Dst: ieee802_1x_cp_sm_step
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2448,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 48
    argCount: 1
    argNames:
    - participant
    argTypes:
    - struct ieee802_1x_mka_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2452
      start: 2386
    functionDepth: 1
    functionLinenumber: 2386
    functionLinenumberEnd: 2452
    functionName: ieee802_1x_kay_decide_macsec_use
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    - ieee802_1x_cp_connect_secure
    - ieee802_1x_cp_connect_authenticated
    - ieee802_1x_cp_sm_step
    linkageType: ''
    returnType: int
    signature: "int ieee802_1x_kay_decide_macsec_use(\n\tstruct ieee802_1x_mka_participant
      *participant)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2470,1
    - Dst: os_memcpy
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2471,1
    - Dst: os_memcpy
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2472,1
    - Dst: host_to_be16
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2474,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2475,1
    - Dst: MAC2STR
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2477,1
    - Dst: MAC2STR
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2477,1
    - Dst: be_to_host16
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2478,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2480,1
    - Dst: host_to_be16
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2483,1
    - Dst: wpabuf_tailroom
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2483,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2484,1
    - Dst: be_to_host16
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2487,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2489,1
    - Dst: body_present
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2491,1
    - Dst: body_tx
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2492,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - participant
    - pbuf
    argTypes:
    - struct ieee802_1x_mka_participant*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2498
      start: 2462
    functionDepth: 1
    functionLinenumber: 2462
    functionLinenumberEnd: 2498
    functionName: ieee802_1x_kay_encode_mkpdu
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - be_to_host16
    - wpabuf_put
    - wpa_printf
    - os_memcpy
    - host_to_be16
    - body_tx
    - wpabuf_tailroom
    - MAC2STR
    - body_present
    - ARRAY_SIZE
    linkageType: ''
    returnType: int
    signature: "int ieee802_1x_kay_encode_mkpdu(struct ieee802_1x_mka_participant
      *participant,\n\t\t\t    struct wpabuf *pbuf)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2513,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2516,1
    - Dst: body_present
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2518,1
    - Dst: body_length
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2519,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2522,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2524,1
    - Dst: ieee802_1x_kay_encode_mkpdu
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2528,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2529,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2533,1
    - Dst: l2_packet_send
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2534,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2534,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2534,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2535,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - participant
    argTypes:
    - struct ieee802_1x_mka_participant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2541
      start: 2504
    functionDepth: 2
    functionLinenumber: 2504
    functionLinenumberEnd: 2541
    functionName: ieee802_1x_participant_send_mkpdu
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - body_length
    - wpabuf_len
    - wpabuf_free
    - wpabuf_head
    - wpabuf_alloc
    - l2_packet_send
    - ieee802_1x_kay_encode_mkpdu
    - body_present
    - ARRAY_SIZE
    - wpa_hexdump_buf
    linkageType: ''
    returnType: int
    signature: "int ieee802_1x_participant_send_mkpdu(\n\tstruct ieee802_1x_mka_participant
      *participant)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secy_disable_transmit_sa
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2549,1
    - Dst: secy_delete_transmit_sa
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2550,1
    - Dst: ieee802_1x_kay_deinit_transmit_sa
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - kay
    - sa
    argTypes:
    - struct ieee802_1x_kay*
    - struct transmit_sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2552
      start: 2546
    functionDepth: 1
    functionLinenumber: 2546
    functionLinenumberEnd: 2552
    functionName: ieee802_1x_delete_transmit_sa
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - ieee802_1x_kay_deinit_transmit_sa
    - secy_delete_transmit_sa
    - secy_disable_transmit_sa
    linkageType: ''
    returnType: void
    signature: "void ieee802_1x_delete_transmit_sa(struct ieee802_1x_kay *kay,\n\t\t\t\t\t
      \ struct transmit_sa *sa)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2563,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2571,1
    - Dst: dl_list_empty
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2581,1
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2591,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2594,1
    - Dst: ieee802_1x_kay_dump_peer
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2595,1
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2596,1
    - Dst: sci_equal
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2599,1
    - Dst: ieee802_1x_kay_deinit_receive_sc
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2600,1
    - Dst: dl_list_del
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2605,1
    - Dst: os_free
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2606,1
    - Dst: reset_participant_mi
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2622,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2623,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2626,1
    - Dst: dl_list_empty
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2631,1
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2653,1
    - Dst: ieee802_1x_delete_transmit_sa
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2656,1
    - Dst: ieee802_1x_cp_connect_pending
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2659,1
    - Dst: ieee802_1x_cp_sm_step
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2660,1
    - Dst: ieee802_1x_kay_elect_key_server
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2662,1
    - Dst: ieee802_1x_kay_decide_macsec_use
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2663,1
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2667,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2670,1
    - Dst: ieee802_1x_kay_dump_peer
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2671,1
    - Dst: dl_list_del
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2672,1
    - Dst: os_free
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2673,1
    - Dst: ieee802_1x_kay_generate_new_sak
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2678,1
    - Dst: ieee802_1x_participant_send_mkpdu
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2686,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2690,1
    - Dst: ieee802_1x_kay_delete_mka
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2700,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 97
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2701
      start: 2558
    functionDepth: 4
    functionLinenumber: 2558
    functionLinenumberEnd: 2701
    functionName: ieee802_1x_participant_timer
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - ieee802_1x_cp_connect_pending
    - dl_list_for_each_safe
    - ieee802_1x_kay_elect_key_server
    - wpa_printf
    - ieee802_1x_kay_generate_new_sak
    - dl_list_empty
    - ieee802_1x_kay_dump_peer
    - sci_equal
    - ieee802_1x_cp_sm_step
    - os_free
    - ieee802_1x_kay_delete_mka
    - ieee802_1x_kay_deinit_receive_sc
    - ieee802_1x_participant_send_mkpdu
    - reset_participant_mi
    - ieee802_1x_delete_transmit_sa
    - dl_list_del
    - time
    - ieee802_1x_kay_decide_macsec_use
    - eloop_register_timeout
    linkageType: ''
    returnType: void
    signature: void ieee802_1x_participant_timer(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2716,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2718,1
    - Dst: ieee802_1x_kay_use_data_key
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2729,1
    - Dst: os_get_time
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2734,1
    - Dst: dl_list_add
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2737,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2738,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 4
    argNames:
    - psc
    - an
    - next_PN
    - key
    argTypes:
    - struct transmit_sc*
    - u8
    - u32
    - struct data_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2743
      start: 2707
    functionDepth: 1
    functionLinenumber: 2707
    functionLinenumberEnd: 2743
    functionName: ieee802_1x_kay_init_transmit_sa
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - ieee802_1x_kay_use_data_key
    - os_zalloc
    - dl_list_add
    - os_get_time
    linkageType: ''
    returnType: struct transmit_sa
    signature: "struct transmit_sa *\nieee802_1x_kay_init_transmit_sa(struct transmit_sc
      *psc, u8 an, u32 next_PN,\n\t\t\t\tstruct data_key *key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_1x_kay_deinit_data_key
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2751,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2753,1
    - Dst: dl_list_del
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2756,1
    - Dst: os_free
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2757,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - psa
    argTypes:
    - struct transmit_sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2758
      start: 2749
    functionDepth: 1
    functionLinenumber: 2749
    functionLinenumberEnd: 2758
    functionName: ieee802_1x_kay_deinit_transmit_sa
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 1
    functionsReached:
    - os_free
    - dl_list_del
    - wpa_printf
    - ieee802_1x_kay_deinit_data_key
    linkageType: ''
    returnType: void
    signature: void ieee802_1x_kay_deinit_transmit_sa(struct transmit_sa *psa)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2769,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2771,1
    - Dst: os_memcpy
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2774,1
    - Dst: os_get_time
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2776,1
    - Dst: dl_list_init
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2781,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2782,1
    - Dst: sci_txt
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2783,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - sci
    argTypes:
    - struct ieee802_1x_mka_sci*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2786
      start: 2764
    functionDepth: 2
    functionLinenumber: 2764
    functionLinenumberEnd: 2786
    functionName: ieee802_1x_kay_init_transmit_sc
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - sci_txt
    - os_zalloc
    - os_get_time
    - dl_list_init
    linkageType: ''
    returnType: struct transmit_sc
    signature: 'struct transmit_sc *

      ieee802_1x_kay_init_transmit_sc(const struct ieee802_1x_mka_sci *sci)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2798,1
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2799,1
    - Dst: ieee802_1x_delete_transmit_sa
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2800,1
    - Dst: secy_delete_transmit_sc
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2802,1
    - Dst: os_free
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2803,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - participant
    - psc
    argTypes:
    - struct ieee802_1x_mka_participant*
    - struct transmit_sc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2804
      start: 2792
    functionDepth: 2
    functionLinenumber: 2792
    functionLinenumberEnd: 2804
    functionName: ieee802_1x_kay_deinit_transmit_sc
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dl_list_for_each_safe
    - os_free
    - secy_delete_transmit_sc
    - ieee802_1x_delete_transmit_sa
    linkageType: ''
    returnType: void
    signature: "void ieee802_1x_kay_deinit_transmit_sc(\n\tstruct ieee802_1x_mka_participant
      *participant, struct transmit_sc *psc)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_1x_kay_get_principal_participant
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2817,1
    - Dst: os_memset
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2822,1
    - Dst: os_memcpy
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2824,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 5
    argNames:
    - kay
    - lki
    - lan
    - ltx
    - lrx
    argTypes:
    - struct ieee802_1x_kay*
    - struct ieee802_1x_mka_ki*
    - u8
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2840
      start: 2811
    functionDepth: 1
    functionLinenumber: 2811
    functionLinenumberEnd: 2840
    functionName: ieee802_1x_kay_set_latest_sa_attr
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - ieee802_1x_kay_get_principal_participant
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int ieee802_1x_kay_set_latest_sa_attr(struct ieee802_1x_kay *kay,\n\t\t\t\t
      \     struct ieee802_1x_mka_ki *lki, u8 lan,\n\t\t\t\t      bool ltx, bool lrx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_1x_kay_get_principal_participant
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2852,1
    - Dst: os_memset
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2857,1
    - Dst: os_memcpy
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2859,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 5
    argNames:
    - kay
    - oki
    - oan
    - otx
    - orx
    argTypes:
    - struct ieee802_1x_kay*
    - struct ieee802_1x_mka_ki*
    - u8
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2876
      start: 2846
    functionDepth: 1
    functionLinenumber: 2846
    functionLinenumberEnd: 2876
    functionName: ieee802_1x_kay_set_old_sa_attr
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - ieee802_1x_kay_get_principal_participant
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int ieee802_1x_kay_set_old_sa_attr(struct ieee802_1x_kay *kay,\n\t\t\t\t
      \  struct ieee802_1x_mka_ki *oki,\n\t\t\t\t   u8 oan, bool otx, bool orx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2883,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - txsc
    - an
    argTypes:
    - struct transmit_sc*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2889
      start: 2879
    functionDepth: 0
    functionLinenumber: 2879
    functionLinenumberEnd: 2889
    functionName: lookup_txsa_by_an
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    linkageType: ''
    returnType: struct transmit_sa
    signature: struct transmit_sa * lookup_txsa_by_an(struct transmit_sc *txsc, u8
      an)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2896,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - rxsc
    - an
    argTypes:
    - struct receive_sc*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2902
      start: 2892
    functionDepth: 0
    functionLinenumber: 2892
    functionLinenumberEnd: 2902
    functionName: lookup_rxsa_by_an
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    linkageType: ''
    returnType: struct receive_sa
    signature: struct receive_sa * lookup_rxsa_by_an(struct receive_sc *rxsc, u8 an)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_1x_kay_get_principal_participant
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2917,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2922,1
    - Dst: is_ki_equal
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2923,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2934,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2938,1
    - Dst: lookup_rxsa_by_an
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2939,1
    - Dst: ieee802_1x_delete_receive_sa
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2940,1
    - Dst: ieee802_1x_kay_init_receive_sa
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2942,1
    - Dst: secy_create_receive_sa
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2947,1
    - Dst: lookup_txsa_by_an
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2950,1
    - Dst: ieee802_1x_delete_transmit_sa
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2952,1
    - Dst: ieee802_1x_kay_init_transmit_sa
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2954,1
    - Dst: secy_create_transmit_sa
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2961,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 2
    argNames:
    - kay
    - lki
    argTypes:
    - struct ieee802_1x_kay*
    - struct ieee802_1x_mka_ki*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2966
      start: 2908
    functionDepth: 3
    functionLinenumber: 2908
    functionLinenumberEnd: 2966
    functionName: ieee802_1x_kay_create_sas
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - ieee802_1x_kay_get_principal_participant
    - secy_create_transmit_sa
    - ieee802_1x_kay_init_transmit_sa
    - ieee802_1x_kay_init_receive_sa
    - dl_list_for_each
    - secy_create_receive_sa
    - lookup_txsa_by_an
    - lookup_rxsa_by_an
    - ieee802_1x_delete_receive_sa
    - ieee802_1x_delete_transmit_sa
    - is_ki_equal
    linkageType: ''
    returnType: int
    signature: "int ieee802_1x_kay_create_sas(struct ieee802_1x_kay *kay,\n\t\t\t
      \     struct ieee802_1x_mka_ki *lki)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2981,1
    - Dst: ieee802_1x_kay_get_principal_participant
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2982,1
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2987,1
    - Dst: is_ki_equal
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2989,1
    - Dst: ieee802_1x_delete_transmit_sa
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2990,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2994,1
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2995,1
    - Dst: is_ki_equal
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2997,1
    - Dst: ieee802_1x_delete_receive_sa
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:2998,1
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3003,1
    - Dst: is_ki_equal
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3005,1
    - Dst: dl_list_del
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3008,1
    - Dst: ieee802_1x_kay_deinit_data_key
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3009,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - kay
    - ki
    argTypes:
    - struct ieee802_1x_kay*
    - struct ieee802_1x_mka_ki*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3015
      start: 2972
    functionDepth: 3
    functionLinenumber: 2972
    functionLinenumberEnd: 3015
    functionName: ieee802_1x_kay_delete_sas
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - is_ki_equal
    - ieee802_1x_kay_get_principal_participant
    - dl_list_del
    - dl_list_for_each_safe
    - dl_list_for_each
    - ieee802_1x_kay_deinit_data_key
    - ieee802_1x_delete_receive_sa
    - ieee802_1x_delete_transmit_sa
    linkageType: ''
    returnType: int
    signature: "int ieee802_1x_kay_delete_sas(struct ieee802_1x_kay *kay,\n\t\t\t
      \     struct ieee802_1x_mka_ki *ki)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_1x_kay_get_principal_participant
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3027,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3031,1
    - Dst: is_ki_equal
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3033,1
    - Dst: secy_enable_transmit_sa
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3035,1
    - Dst: ieee802_1x_cp_set_usingtransmitas
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3036,1
    - Dst: ieee802_1x_cp_sm_step
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3038,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - kay
    - lki
    argTypes:
    - struct ieee802_1x_kay*
    - struct ieee802_1x_mka_ki*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3043
      start: 3021
    functionDepth: 1
    functionLinenumber: 3021
    functionLinenumberEnd: 3043
    functionName: ieee802_1x_kay_enable_tx_sas
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - ieee802_1x_kay_get_principal_participant
    - ieee802_1x_cp_sm_step
    - dl_list_for_each
    - secy_enable_transmit_sa
    - ieee802_1x_cp_set_usingtransmitas
    - is_ki_equal
    linkageType: ''
    returnType: int
    signature: "int ieee802_1x_kay_enable_tx_sas(struct ieee802_1x_kay *kay,\n\t\t\t\t
      struct ieee802_1x_mka_ki *lki)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_1x_kay_get_principal_participant
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3056,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3060,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3061,1
    - Dst: is_ki_equal
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3063,1
    - Dst: secy_enable_receive_sa
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3065,1
    - Dst: ieee802_1x_cp_set_usingreceivesas
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3066,1
    - Dst: ieee802_1x_cp_sm_step
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3068,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - kay
    - lki
    argTypes:
    - struct ieee802_1x_kay*
    - struct ieee802_1x_mka_ki*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3074
      start: 3049
    functionDepth: 1
    functionLinenumber: 3049
    functionLinenumberEnd: 3074
    functionName: ieee802_1x_kay_enable_rx_sas
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - secy_enable_receive_sa
    - ieee802_1x_kay_get_principal_participant
    - ieee802_1x_cp_set_usingreceivesas
    - ieee802_1x_cp_sm_step
    - dl_list_for_each
    - is_ki_equal
    linkageType: ''
    returnType: int
    signature: "int ieee802_1x_kay_enable_rx_sas(struct ieee802_1x_kay *kay,\n\t\t\t\t
      struct ieee802_1x_mka_ki *lki)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_1x_kay_get_principal_participant
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3084,1
    - Dst: ieee802_1x_participant_send_mkpdu
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3089,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - kay
    argTypes:
    - struct ieee802_1x_kay*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3094
      start: 3080
    functionDepth: 3
    functionLinenumber: 3080
    functionLinenumberEnd: 3094
    functionName: ieee802_1x_kay_enable_new_info
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - ieee802_1x_participant_send_mkpdu
    - ieee802_1x_kay_get_principal_participant
    linkageType: ''
    returnType: int
    signature: int ieee802_1x_kay_enable_new_info(struct ieee802_1x_kay *kay)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3122,1
    - Dst: MAC2STR
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3124,1
    - Dst: MAC2STR
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3124,1
    - Dst: be_to_host16
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3125,1
    - Dst: is_multicast_ether_addr
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3128,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3129,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3134,1
    - Dst: be_to_host16
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3137,1
    - Dst: be_to_host16
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3140,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3142,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3147,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3152,1
    - Dst: get_mka_param_body_len
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3157,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3160,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3168,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3175,1
    - Dst: ieee802_1x_mka_dump_basic_body
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3181,1
    - Dst: ieee802_1x_kay_get_participant
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3184,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3186,1
    - Dst: os_memcmp
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3191,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3193,1
    - Dst: algo_agility_txt
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3195,1
    - Dst: icv_hash
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3206,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3209,1
    - Dst: ieee802_1x_mka_decode_icv_body
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3213,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3217,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3220,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3222,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3224,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3226,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 61
    argCount: 3
    argNames:
    - kay
    - buf
    - len
    argTypes:
    - struct ieee802_1x_kay*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3232
      start: 3102
    functionDepth: 3
    functionLinenumber: 3102
    functionLinenumberEnd: 3232
    functionName: ieee802_1x_kay_mkpdu_validity_check
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - be_to_host16
    - wpa_printf
    - is_multicast_ether_addr
    - wpa_hexdump
    - icv_hash
    - os_memcmp_const
    - MAC2STR
    - algo_agility_txt
    - ieee802_1x_mka_dump_basic_body
    - ieee802_1x_mka_decode_icv_body
    - os_memcmp
    - ieee802_1x_kay_get_participant
    - get_mka_param_body_len
    linkageType: ''
    returnType: int
    signature: "int ieee802_1x_kay_mkpdu_validity_check(struct ieee802_1x_kay *kay,\n\t\t\t\t\t
      \      const u8 *buf, size_t len)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3254,1
    - Dst: ieee802_1x_kay_mkpdu_validity_check
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3256,1
    - Dst: ieee802_1x_mka_decode_basic_body
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3263,1
    - Dst: MKA_ALIGN_LENGTH
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3269,1
    - Dst: get_mka_param_body_len
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3269,1
    - Dst: ieee802_1x_mka_i_in_peerlist
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3276,1
    - Dst: ieee802_1x_kay_is_in_live_peer
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3278,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3280,1
    - Dst: yes_no
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3281,1
    - Dst: yes_no
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3281,1
    - Dst: ieee802_1x_kay_is_in_potential_peer
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3284,1
    - Dst: ieee802_1x_kay_move_live_peer
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3287,1
    - Dst: be_to_host32
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3290,1
    - Dst: ieee802_1x_kay_create_live_peer
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3293,1
    - Dst: be_to_host32
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3295,1
    - Dst: ieee802_1x_kay_elect_key_server
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3300,1
    - Dst: ieee802_1x_kay_decide_macsec_use
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3301,1
    - Dst: MKA_ALIGN_LENGTH
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3316,1
    - Dst: get_mka_param_body_len
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3316,1
    - Dst: get_mka_param_body_type
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3317,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3323,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3331,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3338,1
    - Dst: body_rx
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3340,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3344,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3361,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3368,1
    - Dst: reset_participant_mi
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3371,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3372,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3374,1
    - Dst: mi_txt
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3376,1
    - Dst: ieee802_1x_kay_get_live_peer
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3381,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3389,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3399,1
    - Dst: time
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3408,1
    - Dst: ieee802_1x_kay_get_peer
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3412,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3415,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 93
    argCount: 3
    argNames:
    - kay
    - buf
    - len
    argTypes:
    - struct ieee802_1x_kay*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3432
      start: 3238
    functionDepth: 5
    functionLinenumber: 3238
    functionLinenumberEnd: 3432
    functionName: ieee802_1x_kay_decode_mkpdu
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - ieee802_1x_kay_is_in_live_peer
    - ieee802_1x_kay_elect_key_server
    - wpa_printf
    - ieee802_1x_mka_decode_basic_body
    - MKA_ALIGN_LENGTH
    - mi_txt
    - ieee802_1x_mka_i_in_peerlist
    - get_mka_param_body_type
    - ieee802_1x_kay_get_live_peer
    - reset_participant_mi
    - ieee802_1x_kay_get_peer
    - ieee802_1x_kay_create_live_peer
    - be_to_host32
    - time
    - body_rx
    - ieee802_1x_kay_decide_macsec_use
    - ieee802_1x_kay_move_live_peer
    - yes_no
    - get_mka_param_body_len
    - ieee802_1x_kay_is_in_potential_peer
    - ARRAY_SIZE
    - ieee802_1x_kay_mkpdu_validity_check
    linkageType: ''
    returnType: int
    signature: "int ieee802_1x_kay_decode_mkpdu(struct ieee802_1x_kay *kay,\n\t\t\t\t
      \      const u8 *buf, size_t len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3448,1
    - Dst: be_to_host16
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3456,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3458,1
    - Dst: be_to_host16
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3461,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3465,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3472,1
    - Dst: be_to_host16
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3476,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3480,1
    - Dst: dl_list_empty
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3481,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3482,1
    - Dst: ieee802_1x_kay_decode_mkpdu
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3487,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 4
    argNames:
    - ctx
    - src_addr
    - buf
    - len
    argTypes:
    - void*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3488
      start: 3436
    functionDepth: 6
    functionLinenumber: 3436
    functionLinenumberEnd: 3488
    functionName: kay_l2_receive
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - be_to_host16
    - wpa_printf
    - wpa_hexdump
    - dl_list_empty
    - ieee802_1x_kay_decode_mkpdu
    linkageType: ''
    returnType: void
    signature: "void kay_l2_receive(void *ctx, const u8 *src_addr, const u8 *buf,\n\t\t\t
      \  size_t len)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3503,1
    - Dst: MAC2STR
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3505,1
    - Dst: os_zalloc
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3506,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3508,1
    - Dst: os_free
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3509,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3523,1
    - Dst: os_memcpy
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3524,1
    - Dst: host_to_be16
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3525,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3526,1
    - Dst: sci_txt
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3527,1
    - Dst: os_memcpy
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3541,1
    - Dst: dl_list_init
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3544,1
    - Dst: secy_get_capability
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3547,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3580,1
    - Dst: secy_init_macsec
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3583,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3584,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3588,1
    - Dst: ieee802_1x_cp_sm_init
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3591,1
    - Dst: ieee802_1x_cp_connect_authenticated
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3596,1
    - Dst: ieee802_1x_cp_sm_step
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3597,1
    - Dst: l2_packet_init
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3599,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3602,1
    - Dst: ieee802_1x_kay_deinit
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3611,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 87
    argCount: 11
    argNames:
    - ctx
    - policy
    - macsec_replay_protect
    - macsec_replay_window
    - macsec_offload
    - port
    - priority
    - macsec_csindex
    - include_icv_indicator
    - ifname
    - addr
    argTypes:
    - struct ieee802_1x_kay_ctx*
    - enum macsec_policy
    - bool
    - u32
    - u8
    - u16
    - u8
    - u32
    - bool
    - char*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3613
      start: 3494
    functionDepth: 2
    functionLinenumber: 3494
    functionLinenumberEnd: 3613
    functionName: ieee802_1x_kay_init
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - os_memcpy
    - secy_init_macsec
    - host_to_be16
    - sci_txt
    - os_strlcpy
    - secy_get_capability
    - ieee802_1x_cp_sm_init
    - MAC2STR
    - os_zalloc
    - ieee802_1x_cp_sm_step
    - dl_list_init
    - ieee802_1x_cp_connect_authenticated
    - os_free
    - l2_packet_init
    - ieee802_1x_kay_deinit
    linkageType: ''
    returnType: struct ieee802_1x_kay
    signature: "struct ieee802_1x_kay *\nieee802_1x_kay_init(struct ieee802_1x_kay_ctx
      *ctx, enum macsec_policy policy,\n\t\t    bool macsec_replay_protect, u32 macsec_replay_window,\n\t\t
      \   u8 macsec_offload, u16 port, u8 priority,\n\t\t    u32 macsec_csindex, bool
      include_icv_indicator,\n\t\t    const char *ifname, const u8 *addr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3627,1
    - Dst: dl_list_empty
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3629,1
    - Dst: dl_list_entry
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3630,1
    - Dst: ieee802_1x_kay_delete_mka
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3633,1
    - Dst: ieee802_1x_cp_sm_deinit
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3636,1
    - Dst: secy_deinit_macsec
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3637,1
    - Dst: l2_packet_deinit
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3640,1
    - Dst: os_free
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3644,1
    - Dst: os_free
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3645,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - kay
    argTypes:
    - struct ieee802_1x_kay*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3646
      start: 3619
    functionDepth: 1
    functionLinenumber: 3619
    functionLinenumberEnd: 3646
    functionName: ieee802_1x_kay_deinit
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 3
    functionsReached:
    - dl_list_entry
    - wpa_printf
    - ieee802_1x_cp_sm_deinit
    - dl_list_empty
    - l2_packet_deinit
    - ieee802_1x_kay_delete_mka
    - secy_deinit_macsec
    - os_free
    linkageType: ''
    returnType: void
    signature: void ieee802_1x_kay_deinit(struct ieee802_1x_kay *kay)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - mode
    argTypes:
    - enum mka_created_mode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3659
      start: 3649
    functionDepth: 0
    functionLinenumber: 3649
    functionLinenumberEnd: 3659
    functionName: mode_txt
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * mode_txt(enum mka_created_mode mode)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3674,1
    - Dst: mode_txt
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3676,1
    - Dst: yes_no
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3676,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3679,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3684,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3689,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3693,1
    - Dst: os_zalloc
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3697,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3699,1
    - Dst: os_memcpy
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3704,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3705,1
    - Dst: os_memcpy
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3708,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3709,1
    - Dst: time
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3712,1
    - Dst: os_memcpy
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3722,1
    - Dst: dl_list_init
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3752,1
    - Dst: dl_list_init
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3753,1
    - Dst: reset_participant_mi
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3758,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3760,1
    - Dst: mi_txt
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3761,1
    - Dst: dl_list_init
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3770,1
    - Dst: dl_list_init
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3772,1
    - Dst: ieee802_1x_kay_init_transmit_sc
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3773,1
    - Dst: secy_cp_control_protect_frames
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3774,1
    - Dst: secy_cp_control_replay
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3775,1
    - Dst: secy_cp_control_offload
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3777,1
    - Dst: secy_create_transmit_sc
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3778,1
    - Dst: kek_trfm
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3783,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3789,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3792,1
    - Dst: ick_trfm
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3797,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3803,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3806,1
    - Dst: dl_list_add
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3809,1
    - Dst: os_random
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3811,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3812,1
    - Dst: time
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3821,1
    - Dst: os_free
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3829,1
    - Dst: os_free
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3830,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 114
    argCount: 6
    argNames:
    - kay
    - ckn
    - cak
    - life
    - mode
    - is_authenticator
    argTypes:
    - struct ieee802_1x_kay*
    - struct mka_key_name*
    - struct mka_key*
    - u32
    - enum mka_created_mode
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3832
      start: 3665
    functionDepth: 3
    functionLinenumber: 3665
    functionLinenumberEnd: 3832
    functionName: ieee802_1x_kay_create_mka
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 4
    functionsReached:
    - wpa_hexdump
    - ieee802_1x_kay_init_transmit_sc
    - os_random
    - secy_cp_control_protect_frames
    - dl_list_init
    - wpa_printf
    - ick_trfm
    - mi_txt
    - os_free
    - mode_txt
    - wpa_hexdump_key
    - secy_cp_control_replay
    - secy_create_transmit_sc
    - secy_cp_control_offload
    - reset_participant_mi
    - os_memcpy
    - time
    - os_zalloc
    - kek_trfm
    - dl_list_add
    - eloop_register_timeout
    - yes_no
    linkageType: ''
    returnType: struct ieee802_1x_mka_participant
    signature: "struct ieee802_1x_mka_participant *\nieee802_1x_kay_create_mka(struct
      ieee802_1x_kay *kay,\n\t\t\t  const struct mka_key_name *ckn,\n\t\t\t  const
      struct mka_key *cak, u32 life,\n\t\t\t  enum mka_created_mode mode, bool is_authenticator)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3849,1
    - Dst: ieee802_1x_kay_get_participant
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3852,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3854,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3859,1
    - Dst: dl_list_del
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3860,1
    - Dst: dl_list_first
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3863,1
    - Dst: dl_list_del
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3865,1
    - Dst: os_free
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3866,1
    - Dst: dl_list_first
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3870,1
    - Dst: dl_list_del
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3872,1
    - Dst: os_free
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3873,1
    - Dst: dl_list_first
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3877,1
    - Dst: dl_list_del
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3879,1
    - Dst: ieee802_1x_kay_deinit_data_key
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3880,1
    - Dst: dl_list_first
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3882,1
    - Dst: ieee802_1x_kay_deinit_receive_sc
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3884,1
    - Dst: ieee802_1x_kay_deinit_transmit_sc
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3885,1
    - Dst: os_memset
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3887,1
    - Dst: os_memset
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3888,1
    - Dst: os_memset
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3889,1
    - Dst: os_free
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3890,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 2
    argNames:
    - kay
    - ckn
    argTypes:
    - struct ieee802_1x_kay*
    - struct mka_key_name*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3891
      start: 3838
    functionDepth: 4
    functionLinenumber: 3838
    functionLinenumberEnd: 3891
    functionName: ieee802_1x_kay_delete_mka
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - dl_list_del
    - wpa_hexdump
    - eloop_cancel_timeout
    - dl_list_first
    - ieee802_1x_kay_deinit_transmit_sc
    - ieee802_1x_kay_deinit_data_key
    - ieee802_1x_kay_deinit_receive_sc
    - os_free
    - ieee802_1x_kay_get_participant
    - os_memset
    linkageType: ''
    returnType: void
    signature: void ieee802_1x_kay_delete_mka(struct ieee802_1x_kay *kay, struct mka_key_name
      *ckn)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_1x_kay_get_participant
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3905,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - kay
    - ckn
    - status
    argTypes:
    - struct ieee802_1x_kay*
    - struct mka_key_name*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3910
      start: 3897
    functionDepth: 1
    functionLinenumber: 3897
    functionLinenumberEnd: 3910
    functionName: ieee802_1x_kay_mka_participate
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - ieee802_1x_kay_get_participant
    linkageType: ''
    returnType: void
    signature: "void ieee802_1x_kay_mka_participate(struct ieee802_1x_kay *kay,\n\t\t\t\t
      \   struct mka_key_name *ckn, bool status)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_1x_kay_get_principal_participant
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3924,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3929,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - kay
    argTypes:
    - struct ieee802_1x_kay*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3932
      start: 3916
    functionDepth: 1
    functionLinenumber: 3916
    functionLinenumberEnd: 3932
    functionName: ieee802_1x_kay_new_sak
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - ieee802_1x_kay_get_principal_participant
    linkageType: ''
    returnType: int
    signature: int ieee802_1x_kay_new_sak(struct ieee802_1x_kay *kay)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3949,1
    - Dst: secy_get_capability
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3962,1
    - Dst: ieee802_1x_kay_get_principal_participant
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3968,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:3970,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - kay
    - cs_index
    argTypes:
    - struct ieee802_1x_kay*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3975
      start: 3938
    functionDepth: 1
    functionLinenumber: 3938
    functionLinenumberEnd: 3975
    functionName: ieee802_1x_kay_change_cipher_suite
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - ieee802_1x_kay_get_principal_participant
    - secy_get_capability
    linkageType: ''
    returnType: int
    signature: "int ieee802_1x_kay_change_cipher_suite(struct ieee802_1x_kay *kay,\n\t\t\t\t
      \  unsigned int cs_index)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:4005,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:4026,1
    - Dst: os_snprintf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:4030,1
    - Dst: sci_txt
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:4031,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:4032,1
    - Dst: os_snprintf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:4036,1
    - Dst: sci_txt
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:4037,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:4038,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:4043,1
    - Dst: os_snprintf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:4047,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:4049,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:4054,1
    - Dst: os_snprintf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:4057,1
    - Dst: mi_txt
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:4067,1
    - Dst: yes_no
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:4068,1
    - Dst: yes_no
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:4069,1
    - Dst: yes_no
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:4070,1
    - Dst: dl_list_len
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:4071,1
    - Dst: dl_list_len
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:4072,1
    - Dst: yes_no
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:4073,1
    - Dst: yes_no
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:4074,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:4075,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 3
    argNames:
    - kay
    - buf
    - buflen
    argTypes:
    - struct ieee802_1x_kay*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4082
      start: 3992
    functionDepth: 2
    functionLinenumber: 3992
    functionLinenumberEnd: 4082
    functionName: ieee802_1x_kay_get_status
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - wpa_snprintf_hex
    - dl_list_len
    - sci_txt
    - os_snprintf
    - dl_list_for_each
    - mi_txt
    - yes_no
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int ieee802_1x_kay_get_status(struct ieee802_1x_kay *kay, char *buf,\n\t\t\t
      \     size_t buflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4088
      start: 4085
    functionDepth: 0
    functionLinenumber: 4085
    functionLinenumberEnd: 4088
    functionName: true_false
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * true_false(bool val)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - activate
    argTypes:
    - enum activate_ctrl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4105
      start: 4091
    functionDepth: 0
    functionLinenumber: 4091
    functionLinenumberEnd: 4105
    functionName: activate_control_txt
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * activate_control_txt(enum activate_ctrl activate)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:4116,1
    - Dst: mi_txt
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:4121,1
    - Dst: sci_txt
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:4124,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:4125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - peers
    - live
    - buf
    - end
    argTypes:
    - struct dl_list*
    - bool
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4131
      start: 4108
    functionDepth: 2
    functionLinenumber: 4108
    functionLinenumberEnd: 4131
    functionName: mka_mib_peer
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - sci_txt
    - mi_txt
    - os_snprintf_error
    linkageType: ''
    returnType: char
    signature: "char * mka_mib_peer(struct dl_list *peers, bool live, char *buf,\n\t\t\t
      \  char *end)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:4116,1
    - Dst: mi_txt
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:4121,1
    - Dst: sci_txt
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:4124,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:4125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4128
      start: 4115
    functionDepth: 2
    functionLinenumber: 4115
    functionLinenumberEnd: 4128
    functionName: dl_list_for_each
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 181
    functionsReached:
    - os_snprintf
    - sci_txt
    - mi_txt
    - os_snprintf_error
    linkageType: ''
    returnType: void
    signature: void dl_list_for_each(p, peers, struct ieee802_1x_kay_peer, list)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:4147,1
    - Dst: os_snprintf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:4151,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:4152,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:4156,1
    - Dst: os_snprintf
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:4159,1
    - Dst: true_false
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:4165,1
    - Dst: true_false
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:4166,1
    - Dst: true_false
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:4167,1
    - Dst: activate_control_txt
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:4168,1
    - Dst: true_false
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:4169,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:4170,1
    - Dst: mka_mib_peer
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:4175,1
    - Dst: mka_mib_peer
      Src: /src/hostap/src/pae/ieee802_1x_kay.c:4176,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - kay
    - buf
    - buflen
    argTypes:
    - struct ieee802_1x_kay*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4180
      start: 4134
    functionDepth: 3
    functionLinenumber: 4134
    functionLinenumberEnd: 4180
    functionName: ieee802_1x_kay_get_mib
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_kay.c
    functionUses: 0
    functionsReached:
    - true_false
    - wpa_snprintf_hex
    - activate_control_txt
    - dl_list_for_each
    - os_snprintf
    - mka_mib_peer
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int ieee802_1x_kay_get_mib(struct ieee802_1x_kay *kay, char *buf,\n\t\t\t
      \  size_t buflen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/src/pae/ieee802_1x_key.c:23,1
    - Dst: os_memcpy
      Src: /src/hostap/src/pae/ieee802_1x_key.c:24,1
    - Dst: os_memcpy
      Src: /src/hostap/src/pae/ieee802_1x_key.c:25,1
    - Dst: os_memcpy
      Src: /src/hostap/src/pae/ieee802_1x_key.c:27,1
    - Dst: os_memcpy
      Src: /src/hostap/src/pae/ieee802_1x_key.c:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - mac1
    - mac2
    - out
    argTypes:
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 30
    functionName: joint_two_mac
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_key.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - os_memcmp
    linkageType: ''
    returnType: void
    signature: void joint_two_mac(const u8 *mac1, const u8 *mac2, u8 *out)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/pae/ieee802_1x_key.c:47,1
    - Dst: os_memset
      Src: /src/hostap/src/pae/ieee802_1x_key.c:52,1
    - Dst: os_zalloc
      Src: /src/hostap/src/pae/ieee802_1x_key.c:58,1
    - Dst: os_memcpy
      Src: /src/hostap/src/pae/ieee802_1x_key.c:62,1
    - Dst: os_memcpy
      Src: /src/hostap/src/pae/ieee802_1x_key.c:63,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/pae/ieee802_1x_key.c:64,1
    - Dst: omac1_aes_128
      Src: /src/hostap/src/pae/ieee802_1x_key.c:71,1
    - Dst: omac1_aes_256
      Src: /src/hostap/src/pae/ieee802_1x_key.c:73,1
    - Dst: os_free
      Src: /src/hostap/src/pae/ieee802_1x_key.c:75,1
    - Dst: os_free
      Src: /src/hostap/src/pae/ieee802_1x_key.c:80,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 7
    argNames:
    - kdk
    - kdk_bits
    - label
    - context
    - ctx_bits
    - ret_bits
    - ret
    argTypes:
    - u8*
    - size_t
    - char*
    - u8*
    - int
    - int
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 82
    functionName: aes_kdf
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_key.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_memcpy
    - WPA_PUT_BE16
    - omac1_aes_256
    - os_zalloc
    - omac1_aes_128
    - os_free
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int aes_kdf(const u8 *kdk, size_t kdk_bits,\n\t\t   const char *label,
      const u8 *context,\n\t\t   int ctx_bits, int ret_bits, u8 *ret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: joint_two_mac
      Src: /src/hostap/src/pae/ieee802_1x_key.c:96,1
    - Dst: aes_kdf
      Src: /src/hostap/src/pae/ieee802_1x_key.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - msk
    - msk_bytes
    - mac1
    - mac2
    - cak
    - cak_bytes
    argTypes:
    - u8*
    - size_t
    - u8*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 99
    functionName: ieee802_1x_cak_aes_cmac
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_key.c
    functionUses: 2
    functionsReached:
    - joint_two_mac
    - aes_kdf
    linkageType: ''
    returnType: int
    signature: "int ieee802_1x_cak_aes_cmac(const u8 *msk, size_t msk_bytes, const
      u8 *mac1,\n\t\t\t    const u8 *mac2, u8 *cak, size_t cak_bytes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/pae/ieee802_1x_key.c:116,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_key.c:118,1
    - Dst: os_memcpy
      Src: /src/hostap/src/pae/ieee802_1x_key.c:121,1
    - Dst: joint_two_mac
      Src: /src/hostap/src/pae/ieee802_1x_key.c:122,1
    - Dst: aes_kdf
      Src: /src/hostap/src/pae/ieee802_1x_key.c:124,1
    - Dst: os_free
      Src: /src/hostap/src/pae/ieee802_1x_key.c:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 7
    argNames:
    - msk
    - msk_bytes
    - mac1
    - mac2
    - sid
    - sid_bytes
    - ckn
    argTypes:
    - u8*
    - size_t
    - u8*
    - u8*
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 128
    functionName: ieee802_1x_ckn_aes_cmac
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_key.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - os_memcpy
    - joint_two_mac
    - os_zalloc
    - os_free
    - aes_kdf
    linkageType: ''
    returnType: int
    signature: "int ieee802_1x_ckn_aes_cmac(const u8 *msk, size_t msk_bytes, const
      u8 *mac1,\n\t\t\t    const u8 *mac2, const u8 *sid,\n\t\t\t    size_t sid_bytes,
      u8 *ckn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/pae/ieee802_1x_key.c:143,1
    - Dst: os_memcpy
      Src: /src/hostap/src/pae/ieee802_1x_key.c:144,1
    - Dst: aes_kdf
      Src: /src/hostap/src/pae/ieee802_1x_key.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - cak
    - cak_bytes
    - ckn
    - ckn_bytes
    - kek
    - kek_bytes
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 149
    functionName: ieee802_1x_kek_aes_cmac
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_key.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - aes_kdf
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int ieee802_1x_kek_aes_cmac(const u8 *cak, size_t cak_bytes, const
      u8 *ckn,\n\t\t\t    size_t ckn_bytes, u8 *kek, size_t kek_bytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/pae/ieee802_1x_key.c:164,1
    - Dst: os_memcpy
      Src: /src/hostap/src/pae/ieee802_1x_key.c:165,1
    - Dst: aes_kdf
      Src: /src/hostap/src/pae/ieee802_1x_key.c:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - cak
    - cak_bytes
    - ckn
    - ckn_bytes
    - ick
    - ick_bytes
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 170
    functionName: ieee802_1x_ick_aes_cmac
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_key.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - aes_kdf
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int ieee802_1x_ick_aes_cmac(const u8 *cak, size_t cak_bytes, const
      u8 *ckn,\n\t\t\t    size_t ckn_bytes, u8 *ick, size_t ick_bytes)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: omac1_aes_128
      Src: /src/hostap/src/pae/ieee802_1x_key.c:185,1
    - Dst: omac1_aes_256
      Src: /src/hostap/src/pae/ieee802_1x_key.c:187,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_key.c:191,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - ick
    - ick_bytes
    - msg
    - msg_bytes
    - icv
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 196
    functionName: ieee802_1x_icv_aes_cmac
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_key.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - omac1_aes_128
    - omac1_aes_256
    linkageType: ''
    returnType: int
    signature: "int ieee802_1x_icv_aes_cmac(const u8 *ick, size_t ick_bytes, const
      u8 *msg,\n\t\t\t    size_t msg_bytes, u8 *icv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aes_kdf
      Src: /src/hostap/src/pae/ieee802_1x_key.c:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - cak
    - cak_bytes
    - ctx
    - ctx_bytes
    - sak
    - sak_bytes
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 210
    functionName: ieee802_1x_sak_aes_cmac
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_key.c
    functionUses: 1
    functionsReached:
    - aes_kdf
    linkageType: ''
    returnType: int
    signature: "int ieee802_1x_sak_aes_cmac(const u8 *cak, size_t cak_bytes, const
      u8 *ctx,\n\t\t\t    size_t ctx_bytes, u8 *sak, size_t sak_bytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct ieee802_1x_cp_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: changed_cipher
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_cp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int changed_cipher(struct ieee802_1x_cp_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: changed_cipher
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct ieee802_1x_cp_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: changed_connect
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_cp.c
    functionUses: 0
    functionsReached:
    - changed_cipher
    linkageType: ''
    returnType: int
    signature: int changed_connect(struct ieee802_1x_cp_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:111,1
    - Dst: secy_cp_control_enable_port
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:114,1
    - Dst: os_free
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:118,1
    - Dst: os_free
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 130
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_cp.c
    functionUses: 0
    functionsReached:
    - os_free
    - secy_cp_control_enable_port
    - SM_ENTRY
    linkageType: ''
    returnType: void
    signature: void SM_STATE(CP, INIT)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:135,1
    - Dst: secy_cp_control_enable_port
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:139,1
    - Dst: ieee802_1x_kay_delete_sas
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:142,1
    - Dst: ieee802_1x_kay_delete_sas
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:144,1
    - Dst: os_free
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:149,1
    - Dst: ieee802_1x_kay_set_old_sa_attr
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:154,1
    - Dst: os_free
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:156,1
    - Dst: ieee802_1x_kay_set_latest_sa_attr
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 133
    functionDepth: 4
    functionLinenumber: 133
    functionLinenumberEnd: 163
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_cp.c
    functionUses: 0
    functionsReached:
    - secy_cp_control_enable_port
    - SM_ENTRY
    - ieee802_1x_kay_set_old_sa_attr
    - os_free
    - ieee802_1x_kay_set_latest_sa_attr
    - ieee802_1x_kay_delete_sas
    linkageType: ''
    returnType: void
    signature: void SM_STATE(CP, CHANGE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:168,1
    - Dst: secy_cp_control_enable_port
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:177,1
    - Dst: secy_cp_control_protect_frames
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:178,1
    - Dst: secy_cp_control_encrypt
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:179,1
    - Dst: secy_cp_control_validate_frames
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:180,1
    - Dst: secy_cp_control_replay
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 182
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_cp.c
    functionUses: 0
    functionsReached:
    - secy_cp_control_replay
    - secy_cp_control_encrypt
    - secy_cp_control_enable_port
    - SM_ENTRY
    - secy_cp_control_protect_frames
    - secy_cp_control_validate_frames
    linkageType: ''
    returnType: void
    signature: void SM_STATE(CP, ALLOWED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:187,1
    - Dst: secy_cp_control_enable_port
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:197,1
    - Dst: secy_cp_control_protect_frames
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:198,1
    - Dst: secy_cp_control_encrypt
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:199,1
    - Dst: secy_cp_control_validate_frames
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:200,1
    - Dst: secy_cp_control_replay
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:201,1
    - Dst: secy_cp_control_offload
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 203
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_cp.c
    functionUses: 0
    functionsReached:
    - secy_cp_control_replay
    - secy_cp_control_encrypt
    - secy_cp_control_enable_port
    - SM_ENTRY
    - secy_cp_control_protect_frames
    - secy_cp_control_offload
    - secy_cp_control_validate_frames
    linkageType: ''
    returnType: void
    signature: void SM_STATE(CP, AUTHENTICATED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:208,1
    - Dst: secy_cp_control_current_cipher_suite
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:218,1
    - Dst: secy_cp_control_confidentiality_offset
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:224,1
    - Dst: secy_cp_control_protect_frames
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:226,1
    - Dst: secy_cp_control_encrypt
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:227,1
    - Dst: secy_cp_control_validate_frames
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:228,1
    - Dst: secy_cp_control_replay
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:229,1
    - Dst: secy_cp_control_offload
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 231
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_cp.c
    functionUses: 0
    functionsReached:
    - secy_cp_control_replay
    - secy_cp_control_encrypt
    - secy_cp_control_confidentiality_offset
    - SM_ENTRY
    - secy_cp_control_protect_frames
    - secy_cp_control_offload
    - secy_cp_control_validate_frames
    - secy_cp_control_current_cipher_suite
    linkageType: ''
    returnType: void
    signature: void SM_STATE(CP, SECURED)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:236,1
    - Dst: os_malloc
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:238,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:240,1
    - Dst: os_memcpy
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:243,1
    - Dst: ieee802_1x_kay_set_latest_sa_attr
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:247,1
    - Dst: ieee802_1x_kay_create_sas
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:249,1
    - Dst: ieee802_1x_kay_enable_rx_sas
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 234
    functionDepth: 4
    functionLinenumber: 234
    functionLinenumberEnd: 253
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_cp.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - SM_ENTRY
    - os_malloc
    - ieee802_1x_kay_create_sas
    - ieee802_1x_kay_enable_rx_sas
    - ieee802_1x_kay_set_latest_sa_attr
    linkageType: ''
    returnType: void
    signature: void SM_STATE(CP, RECEIVE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:258,1
    - Dst: ieee802_1x_kay_set_latest_sa_attr
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:261,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:264,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:265,1
    - Dst: ieee802_1x_cp_sm_step
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 273
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_cp.c
    functionUses: 0
    functionsReached:
    - eloop_cancel_timeout
    - SM_ENTRY
    - ieee802_1x_cp_sm_step
    - eloop_register_timeout
    - ieee802_1x_kay_set_latest_sa_attr
    linkageType: ''
    returnType: void
    signature: void SM_STATE(CP, RECEIVING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:278,1
    - Dst: ieee802_1x_kay_enable_new_info
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 276
    functionDepth: 4
    functionLinenumber: 276
    functionLinenumberEnd: 281
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_cp.c
    functionUses: 0
    functionsReached:
    - SM_ENTRY
    - ieee802_1x_kay_enable_new_info
    linkageType: ''
    returnType: void
    signature: void SM_STATE(CP, READY)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:286,1
    - Dst: secy_cp_control_enable_port
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:289,1
    - Dst: ieee802_1x_kay_set_latest_sa_attr
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:291,1
    - Dst: ieee802_1x_kay_enable_tx_sas
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 296
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_cp.c
    functionUses: 0
    functionsReached:
    - ieee802_1x_kay_enable_tx_sas
    - secy_cp_control_enable_port
    - SM_ENTRY
    - ieee802_1x_kay_set_latest_sa_attr
    linkageType: ''
    returnType: void
    signature: void SM_STATE(CP, TRANSMIT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:301,1
    - Dst: ieee802_1x_kay_set_old_sa_attr
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:304,1
    - Dst: ieee802_1x_kay_enable_new_info
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:306,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:307,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 299
    functionDepth: 4
    functionLinenumber: 299
    functionLinenumberEnd: 311
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_cp.c
    functionUses: 0
    functionsReached:
    - ieee802_1x_kay_enable_new_info
    - eloop_cancel_timeout
    - SM_ENTRY
    - ieee802_1x_kay_set_old_sa_attr
    - eloop_register_timeout
    linkageType: ''
    returnType: void
    signature: void SM_STATE(CP, TRANSMITTING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:316,1
    - Dst: ieee802_1x_kay_set_latest_sa_attr
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:318,1
    - Dst: ieee802_1x_kay_delete_sas
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:320,1
    - Dst: os_free
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:322,1
    - Dst: ieee802_1x_kay_set_latest_sa_attr
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 314
    functionDepth: 4
    functionLinenumber: 314
    functionLinenumberEnd: 326
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_cp.c
    functionUses: 0
    functionsReached:
    - os_free
    - SM_ENTRY
    - ieee802_1x_kay_delete_sas
    - ieee802_1x_kay_set_latest_sa_attr
    linkageType: ''
    returnType: void
    signature: void SM_STATE(CP, ABANDON)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:331,1
    - Dst: ieee802_1x_kay_delete_sas
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:333,1
    - Dst: os_free
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:334,1
    - Dst: ieee802_1x_kay_set_old_sa_attr
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:341,1
    - Dst: ieee802_1x_kay_set_latest_sa_attr
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:347,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 329
    functionDepth: 4
    functionLinenumber: 329
    functionLinenumberEnd: 349
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_cp.c
    functionUses: 0
    functionsReached:
    - SM_ENTRY
    - ieee802_1x_kay_set_old_sa_attr
    - os_free
    - ieee802_1x_kay_set_latest_sa_attr
    - ieee802_1x_kay_delete_sas
    linkageType: ''
    returnType: void
    signature: void SM_STATE(CP, RETIRE)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTER
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:358,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:362,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:366,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:371,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:373,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:375,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:380,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:385,1
    - Dst: changed_connect
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:389,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:390,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:392,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:397,1
    - Dst: changed_connect
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:401,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:402,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:404,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:408,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:413,1
    - Dst: changed_connect
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:417,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:418,1
    - Dst: changed_connect
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:422,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:423,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:425,1
    - Dst: changed_connect
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:429,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:430,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:432,1
    - Dst: changed_connect
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:435,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:436,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:438,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:441,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 74
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 355
    functionDepth: 2
    functionLinenumber: 355
    functionLinenumberEnd: 444
    functionName: SM_STEP
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_cp.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - SM_ENTER
    - changed_connect
    linkageType: ''
    returnType: void
    signature: void SM_STEP(CP)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:454,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:456,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:490,1
    - Dst: secy_cp_control_protect_frames
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:492,1
    - Dst: secy_cp_control_encrypt
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:493,1
    - Dst: secy_cp_control_validate_frames
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:494,1
    - Dst: secy_cp_control_replay
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:495,1
    - Dst: secy_cp_control_enable_port
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:496,1
    - Dst: secy_cp_control_confidentiality_offset
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:497,1
    - Dst: secy_cp_control_current_cipher_suite
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:499,1
    - Dst: secy_cp_control_offload
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:500,1
    - Dst: SM_STEP_RUN
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:502,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 40
    argCount: 1
    argNames:
    - kay
    argTypes:
    - struct ieee802_1x_kay*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 505
    functionName: ieee802_1x_cp_sm_init
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_cp.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - secy_cp_control_replay
    - secy_cp_control_encrypt
    - secy_cp_control_enable_port
    - secy_cp_control_confidentiality_offset
    - SM_STEP_RUN
    - secy_cp_control_protect_frames
    - os_zalloc
    - secy_cp_control_offload
    - secy_cp_control_validate_frames
    - secy_cp_control_current_cipher_suite
    linkageType: ''
    returnType: struct ieee802_1x_cp_sm
    signature: struct ieee802_1x_cp_sm * ieee802_1x_cp_sm_init(struct ieee802_1x_kay
      *kay)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SM_STEP_RUN
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:515,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct ieee802_1x_cp_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 519
    functionName: ieee802_1x_cp_step_run
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_cp.c
    functionUses: 0
    functionsReached:
    - SM_STEP_RUN
    linkageType: ''
    returnType: void
    signature: void ieee802_1x_cp_step_run(struct ieee802_1x_cp_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_1x_cp_step_run
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 522
    functionDepth: 2
    functionLinenumber: 522
    functionLinenumberEnd: 526
    functionName: ieee802_1x_cp_step_cb
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_cp.c
    functionUses: 0
    functionsReached:
    - ieee802_1x_cp_step_run
    linkageType: ''
    returnType: void
    signature: void ieee802_1x_cp_step_cb(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:534,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:538,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:539,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:540,1
    - Dst: os_free
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:541,1
    - Dst: os_free
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:542,1
    - Dst: os_free
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:543,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct ieee802_1x_cp_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 544
    functionName: ieee802_1x_cp_sm_deinit
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_cp.c
    functionUses: 1
    functionsReached:
    - eloop_cancel_timeout
    - os_free
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void ieee802_1x_cp_sm_deinit(struct ieee802_1x_cp_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cp_ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 555
    functionName: ieee802_1x_cp_connect_pending
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_cp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ieee802_1x_cp_connect_pending(void *cp_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cp_ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 566
    functionName: ieee802_1x_cp_connect_unauthenticated
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_cp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ieee802_1x_cp_connect_unauthenticated(void *cp_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cp_ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 577
    functionName: ieee802_1x_cp_connect_authenticated
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_cp.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ieee802_1x_cp_connect_authenticated(void *cp_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cp_ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 588
    functionName: ieee802_1x_cp_connect_secure
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_cp.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ieee802_1x_cp_connect_secure(void *cp_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cp_ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 599
    functionName: ieee802_1x_cp_signal_chgdserver
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_cp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ieee802_1x_cp_signal_chgdserver(void *cp_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cp_ctx
    - status
    argTypes:
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 609
    functionName: ieee802_1x_cp_set_electedself
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_cp.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ieee802_1x_cp_set_electedself(void *cp_ctx, bool status)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cp_ctx
    - cs
    argTypes:
    - void*
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 619
    functionName: ieee802_1x_cp_set_ciphersuite
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_cp.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ieee802_1x_cp_set_ciphersuite(void *cp_ctx, u64 cs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cp_ctx
    - offset
    argTypes:
    - void*
    - enum confidentiality_offset
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 629
    functionName: ieee802_1x_cp_set_offset
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_cp.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ieee802_1x_cp_set_offset(void *cp_ctx, enum confidentiality_offset
      offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cp_ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 639
    functionName: ieee802_1x_cp_signal_newsak
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_cp.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ieee802_1x_cp_signal_newsak(void *cp_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:649,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cp_ctx
    - dki
    argTypes:
    - void*
    - struct ieee802_1x_mka_ki*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 650
    functionName: ieee802_1x_cp_set_distributedki
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_cp.c
    functionUses: 2
    functionsReached:
    - os_memcpy
    linkageType: ''
    returnType: void
    signature: "void ieee802_1x_cp_set_distributedki(void *cp_ctx,\n\t\t\t\t     const
      struct ieee802_1x_mka_ki *dki)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cp_ctx
    - an
    argTypes:
    - void*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 660
    functionName: ieee802_1x_cp_set_distributedan
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_cp.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ieee802_1x_cp_set_distributedan(void *cp_ctx, u8 an)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cp_ctx
    - status
    argTypes:
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 670
    functionName: ieee802_1x_cp_set_usingreceivesas
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_cp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ieee802_1x_cp_set_usingreceivesas(void *cp_ctx, bool status)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cp_ctx
    - status
    argTypes:
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 680
    functionName: ieee802_1x_cp_set_allreceiving
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_cp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ieee802_1x_cp_set_allreceiving(void *cp_ctx, bool status)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cp_ctx
    - status
    argTypes:
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 690
    functionName: ieee802_1x_cp_set_servertransmitting
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_cp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ieee802_1x_cp_set_servertransmitting(void *cp_ctx, bool status)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cp_ctx
    - status
    argTypes:
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 700
    functionName: ieee802_1x_cp_set_usingtransmitas
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_cp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ieee802_1x_cp_set_usingtransmitas(void *cp_ctx, bool status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:718,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:719,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cp_ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 720
    functionName: ieee802_1x_cp_sm_step
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_cp.c
    functionUses: 10
    functionsReached:
    - eloop_cancel_timeout
    - eloop_register_timeout
    linkageType: ''
    returnType: void
    signature: void ieee802_1x_cp_sm_step(void *cp_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_1x_cp_step_run
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:728,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 723
    functionDepth: 2
    functionLinenumber: 723
    functionLinenumberEnd: 729
    functionName: ieee802_1x_cp_retire_when_timeout
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_cp.c
    functionUses: 0
    functionsReached:
    - ieee802_1x_cp_step_run
    linkageType: ''
    returnType: void
    signature: "void ieee802_1x_cp_retire_when_timeout(void *eloop_ctx,\n\t\t\t\t\t
      \     void *timeout_ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_1x_cp_step_run
      Src: /src/hostap/src/pae/ieee802_1x_cp.c:737,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 732
    functionDepth: 2
    functionLinenumber: 732
    functionLinenumberEnd: 738
    functionName: ieee802_1x_cp_transmit_when_timeout
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_cp.c
    functionUses: 0
    functionsReached:
    - ieee802_1x_cp_step_run
    linkageType: ''
    returnType: void
    signature: void ieee802_1x_cp_transmit_when_timeout(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - kay
    - vf
    argTypes:
    - struct ieee802_1x_kay*
    - enum validate_frames
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 25
    functionName: secy_cp_control_validate_frames
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_secy_ops.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int secy_cp_control_validate_frames(struct ieee802_1x_kay *kay,\n\t\t\t\t
      \   enum validate_frames vf)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_secy_ops.c:33,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_secy_ops.c:39,1
    - Dst: struct ieee802_1x_kay_ctx*::enable_protect_frames
      Src: /src/hostap/src/pae/ieee802_1x_secy_ops.c:44,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - kay
    - enabled
    argTypes:
    - struct ieee802_1x_kay*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 45
    functionName: secy_cp_control_protect_frames
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_secy_ops.c
    functionUses: 5
    functionsReached:
    - struct ieee802_1x_kay_ctx*::enable_protect_frames
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int secy_cp_control_protect_frames(struct ieee802_1x_kay *kay, bool
      enabled)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_secy_ops.c:53,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_secy_ops.c:59,1
    - Dst: struct ieee802_1x_kay_ctx*::enable_encrypt
      Src: /src/hostap/src/pae/ieee802_1x_secy_ops.c:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - kay
    - enabled
    argTypes:
    - struct ieee802_1x_kay*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 65
    functionName: secy_cp_control_encrypt
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_secy_ops.c
    functionUses: 4
    functionsReached:
    - struct ieee802_1x_kay_ctx*::enable_encrypt
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int secy_cp_control_encrypt(struct ieee802_1x_kay *kay, bool enabled)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_secy_ops.c:73,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_secy_ops.c:79,1
    - Dst: struct ieee802_1x_kay_ctx*::set_replay_protect
      Src: /src/hostap/src/pae/ieee802_1x_secy_ops.c:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - kay
    - enabled
    - win
    argTypes:
    - struct ieee802_1x_kay*
    - bool
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 85
    functionName: secy_cp_control_replay
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_secy_ops.c
    functionUses: 5
    functionsReached:
    - wpa_printf
    - struct ieee802_1x_kay_ctx*::set_replay_protect
    linkageType: ''
    returnType: int
    signature: int secy_cp_control_replay(struct ieee802_1x_kay *kay, bool enabled,
      u32 win)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_secy_ops.c:93,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_secy_ops.c:99,1
    - Dst: struct ieee802_1x_kay_ctx*::set_offload
      Src: /src/hostap/src/pae/ieee802_1x_secy_ops.c:104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - kay
    - offload
    argTypes:
    - struct ieee802_1x_kay*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 105
    functionName: secy_cp_control_offload
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_secy_ops.c
    functionUses: 4
    functionsReached:
    - wpa_printf
    - struct ieee802_1x_kay_ctx*::set_offload
    linkageType: ''
    returnType: int
    signature: int secy_cp_control_offload(struct ieee802_1x_kay *kay, u8 offload)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_secy_ops.c:113,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_secy_ops.c:119,1
    - Dst: struct ieee802_1x_kay_ctx*::set_current_cipher_suite
      Src: /src/hostap/src/pae/ieee802_1x_secy_ops.c:124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - kay
    - cs
    argTypes:
    - struct ieee802_1x_kay*
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 125
    functionName: secy_cp_control_current_cipher_suite
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_secy_ops.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - struct ieee802_1x_kay_ctx*::set_current_cipher_suite
    linkageType: ''
    returnType: int
    signature: int secy_cp_control_current_cipher_suite(struct ieee802_1x_kay *kay,
      u64 cs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - kay
    - co
    argTypes:
    - struct ieee802_1x_kay*
    - enum confidentiality_offset
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: secy_cp_control_confidentiality_offset
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_secy_ops.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int secy_cp_control_confidentiality_offset(struct ieee802_1x_kay *kay,\n\t\t\t\t\t
      \  enum confidentiality_offset co)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_secy_ops.c:141,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_secy_ops.c:147,1
    - Dst: struct ieee802_1x_kay_ctx*::enable_controlled_port
      Src: /src/hostap/src/pae/ieee802_1x_secy_ops.c:152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - kay
    - enabled
    argTypes:
    - struct ieee802_1x_kay*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 153
    functionName: secy_cp_control_enable_port
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_secy_ops.c
    functionUses: 6
    functionsReached:
    - wpa_printf
    - struct ieee802_1x_kay_ctx*::enable_controlled_port
    linkageType: ''
    returnType: int
    signature: int secy_cp_control_enable_port(struct ieee802_1x_kay *kay, bool enabled)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_secy_ops.c:161,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_secy_ops.c:167,1
    - Dst: struct ieee802_1x_kay_ctx*::macsec_get_capability
      Src: /src/hostap/src/pae/ieee802_1x_secy_ops.c:172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - kay
    - cap
    argTypes:
    - struct ieee802_1x_kay*
    - enum macsec_cap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 173
    functionName: secy_get_capability
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_secy_ops.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - struct ieee802_1x_kay_ctx*::macsec_get_capability
    linkageType: ''
    returnType: int
    signature: int secy_get_capability(struct ieee802_1x_kay *kay, enum macsec_cap
      *cap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_secy_ops.c:182,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_secy_ops.c:188,1
    - Dst: struct ieee802_1x_kay_ctx*::get_receive_lowest_pn
      Src: /src/hostap/src/pae/ieee802_1x_secy_ops.c:193,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - kay
    - rxsa
    argTypes:
    - struct ieee802_1x_kay*
    - struct receive_sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 194
    functionName: secy_get_receive_lowest_pn
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_secy_ops.c
    functionUses: 1
    functionsReached:
    - struct ieee802_1x_kay_ctx*::get_receive_lowest_pn
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int secy_get_receive_lowest_pn(struct ieee802_1x_kay *kay,\n\t\t\t
      \      struct receive_sa *rxsa)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_secy_ops.c:203,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_secy_ops.c:209,1
    - Dst: struct ieee802_1x_kay_ctx*::get_transmit_next_pn
      Src: /src/hostap/src/pae/ieee802_1x_secy_ops.c:214,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - kay
    - txsa
    argTypes:
    - struct ieee802_1x_kay*
    - struct transmit_sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 215
    functionName: secy_get_transmit_next_pn
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_secy_ops.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - struct ieee802_1x_kay_ctx*::get_transmit_next_pn
    linkageType: ''
    returnType: int
    signature: "int secy_get_transmit_next_pn(struct ieee802_1x_kay *kay,\n\t\t\t
      \     struct transmit_sa *txsa)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_secy_ops.c:224,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_secy_ops.c:230,1
    - Dst: struct ieee802_1x_kay_ctx*::set_transmit_next_pn
      Src: /src/hostap/src/pae/ieee802_1x_secy_ops.c:235,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - kay
    - txsa
    argTypes:
    - struct ieee802_1x_kay*
    - struct transmit_sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 236
    functionName: secy_set_transmit_next_pn
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_secy_ops.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - struct ieee802_1x_kay_ctx*::set_transmit_next_pn
    linkageType: ''
    returnType: int
    signature: "int secy_set_transmit_next_pn(struct ieee802_1x_kay *kay,\n\t\t\t
      \     struct transmit_sa *txsa)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_secy_ops.c:245,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_secy_ops.c:251,1
    - Dst: struct ieee802_1x_kay_ctx*::set_receive_lowest_pn
      Src: /src/hostap/src/pae/ieee802_1x_secy_ops.c:256,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - kay
    - rxsa
    argTypes:
    - struct ieee802_1x_kay*
    - struct receive_sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 257
    functionName: secy_set_receive_lowest_pn
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_secy_ops.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - struct ieee802_1x_kay_ctx*::set_receive_lowest_pn
    linkageType: ''
    returnType: int
    signature: "int secy_set_receive_lowest_pn(struct ieee802_1x_kay *kay,\n\t\t\t
      \      struct receive_sa *rxsa)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_secy_ops.c:265,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_secy_ops.c:271,1
    - Dst: struct ieee802_1x_kay_ctx*::create_receive_sc
      Src: /src/hostap/src/pae/ieee802_1x_secy_ops.c:276,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - kay
    - rxsc
    argTypes:
    - struct ieee802_1x_kay*
    - struct receive_sc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 277
    functionName: secy_create_receive_sc
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_secy_ops.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - struct ieee802_1x_kay_ctx*::create_receive_sc
    linkageType: ''
    returnType: int
    signature: int secy_create_receive_sc(struct ieee802_1x_kay *kay, struct receive_sc
      *rxsc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_secy_ops.c:285,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_secy_ops.c:291,1
    - Dst: struct ieee802_1x_kay_ctx*::delete_receive_sc
      Src: /src/hostap/src/pae/ieee802_1x_secy_ops.c:296,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - kay
    - rxsc
    argTypes:
    - struct ieee802_1x_kay*
    - struct receive_sc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 297
    functionName: secy_delete_receive_sc
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_secy_ops.c
    functionUses: 1
    functionsReached:
    - struct ieee802_1x_kay_ctx*::delete_receive_sc
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int secy_delete_receive_sc(struct ieee802_1x_kay *kay, struct receive_sc
      *rxsc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_secy_ops.c:305,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_secy_ops.c:311,1
    - Dst: struct ieee802_1x_kay_ctx*::create_receive_sa
      Src: /src/hostap/src/pae/ieee802_1x_secy_ops.c:316,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - kay
    - rxsa
    argTypes:
    - struct ieee802_1x_kay*
    - struct receive_sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 317
    functionName: secy_create_receive_sa
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_secy_ops.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - struct ieee802_1x_kay_ctx*::create_receive_sa
    linkageType: ''
    returnType: int
    signature: int secy_create_receive_sa(struct ieee802_1x_kay *kay, struct receive_sa
      *rxsa)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_secy_ops.c:325,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_secy_ops.c:331,1
    - Dst: struct ieee802_1x_kay_ctx*::delete_receive_sa
      Src: /src/hostap/src/pae/ieee802_1x_secy_ops.c:336,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - kay
    - rxsa
    argTypes:
    - struct ieee802_1x_kay*
    - struct receive_sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 337
    functionName: secy_delete_receive_sa
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_secy_ops.c
    functionUses: 1
    functionsReached:
    - struct ieee802_1x_kay_ctx*::delete_receive_sa
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int secy_delete_receive_sa(struct ieee802_1x_kay *kay, struct receive_sa
      *rxsa)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_secy_ops.c:345,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_secy_ops.c:351,1
    - Dst: struct ieee802_1x_kay_ctx*::enable_receive_sa
      Src: /src/hostap/src/pae/ieee802_1x_secy_ops.c:358,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - kay
    - rxsa
    argTypes:
    - struct ieee802_1x_kay*
    - struct receive_sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 359
    functionName: secy_enable_receive_sa
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_secy_ops.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - struct ieee802_1x_kay_ctx*::enable_receive_sa
    linkageType: ''
    returnType: int
    signature: int secy_enable_receive_sa(struct ieee802_1x_kay *kay, struct receive_sa
      *rxsa)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_secy_ops.c:367,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_secy_ops.c:373,1
    - Dst: struct ieee802_1x_kay_ctx*::disable_receive_sa
      Src: /src/hostap/src/pae/ieee802_1x_secy_ops.c:380,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - kay
    - rxsa
    argTypes:
    - struct ieee802_1x_kay*
    - struct receive_sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 381
    functionName: secy_disable_receive_sa
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_secy_ops.c
    functionUses: 1
    functionsReached:
    - struct ieee802_1x_kay_ctx*::disable_receive_sa
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int secy_disable_receive_sa(struct ieee802_1x_kay *kay, struct receive_sa
      *rxsa)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_secy_ops.c:390,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_secy_ops.c:396,1
    - Dst: struct ieee802_1x_kay_ctx*::create_transmit_sc
      Src: /src/hostap/src/pae/ieee802_1x_secy_ops.c:401,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - kay
    - txsc
    argTypes:
    - struct ieee802_1x_kay*
    - struct transmit_sc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 402
    functionName: secy_create_transmit_sc
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_secy_ops.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - struct ieee802_1x_kay_ctx*::create_transmit_sc
    linkageType: ''
    returnType: int
    signature: "int secy_create_transmit_sc(struct ieee802_1x_kay *kay,\n\t\t\t    struct
      transmit_sc *txsc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_secy_ops.c:411,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_secy_ops.c:417,1
    - Dst: struct ieee802_1x_kay_ctx*::delete_transmit_sc
      Src: /src/hostap/src/pae/ieee802_1x_secy_ops.c:422,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - kay
    - txsc
    argTypes:
    - struct ieee802_1x_kay*
    - struct transmit_sc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 423
    functionName: secy_delete_transmit_sc
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_secy_ops.c
    functionUses: 1
    functionsReached:
    - struct ieee802_1x_kay_ctx*::delete_transmit_sc
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int secy_delete_transmit_sc(struct ieee802_1x_kay *kay,\n\t\t\t    struct
      transmit_sc *txsc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_secy_ops.c:432,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_secy_ops.c:438,1
    - Dst: struct ieee802_1x_kay_ctx*::create_transmit_sa
      Src: /src/hostap/src/pae/ieee802_1x_secy_ops.c:443,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - kay
    - txsa
    argTypes:
    - struct ieee802_1x_kay*
    - struct transmit_sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 444
    functionName: secy_create_transmit_sa
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_secy_ops.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - struct ieee802_1x_kay_ctx*::create_transmit_sa
    linkageType: ''
    returnType: int
    signature: "int secy_create_transmit_sa(struct ieee802_1x_kay *kay,\n\t\t\t    struct
      transmit_sa *txsa)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_secy_ops.c:453,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_secy_ops.c:459,1
    - Dst: struct ieee802_1x_kay_ctx*::delete_transmit_sa
      Src: /src/hostap/src/pae/ieee802_1x_secy_ops.c:464,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - kay
    - txsa
    argTypes:
    - struct ieee802_1x_kay*
    - struct transmit_sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 465
    functionName: secy_delete_transmit_sa
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_secy_ops.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - struct ieee802_1x_kay_ctx*::delete_transmit_sa
    linkageType: ''
    returnType: int
    signature: "int secy_delete_transmit_sa(struct ieee802_1x_kay *kay,\n\t\t\t    struct
      transmit_sa *txsa)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_secy_ops.c:474,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_secy_ops.c:480,1
    - Dst: struct ieee802_1x_kay_ctx*::enable_transmit_sa
      Src: /src/hostap/src/pae/ieee802_1x_secy_ops.c:487,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - kay
    - txsa
    argTypes:
    - struct ieee802_1x_kay*
    - struct transmit_sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 488
    functionName: secy_enable_transmit_sa
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_secy_ops.c
    functionUses: 1
    functionsReached:
    - struct ieee802_1x_kay_ctx*::enable_transmit_sa
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int secy_enable_transmit_sa(struct ieee802_1x_kay *kay,\n\t\t\t    struct
      transmit_sa *txsa)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_secy_ops.c:497,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_secy_ops.c:503,1
    - Dst: struct ieee802_1x_kay_ctx*::disable_transmit_sa
      Src: /src/hostap/src/pae/ieee802_1x_secy_ops.c:510,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - kay
    - txsa
    argTypes:
    - struct ieee802_1x_kay*
    - struct transmit_sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 511
    functionName: secy_disable_transmit_sa
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_secy_ops.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - struct ieee802_1x_kay_ctx*::disable_transmit_sa
    linkageType: ''
    returnType: int
    signature: "int secy_disable_transmit_sa(struct ieee802_1x_kay *kay,\n\t\t\t     struct
      transmit_sa *txsa)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_secy_ops.c:521,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_secy_ops.c:527,1
    - Dst: struct ieee802_1x_kay_ctx*::macsec_init
      Src: /src/hostap/src/pae/ieee802_1x_secy_ops.c:536,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - kay
    argTypes:
    - struct ieee802_1x_kay*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 539
    functionName: secy_init_macsec
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_secy_ops.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - struct ieee802_1x_kay_ctx*::macsec_init
    linkageType: ''
    returnType: int
    signature: int secy_init_macsec(struct ieee802_1x_kay *kay)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_secy_ops.c:547,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pae/ieee802_1x_secy_ops.c:553,1
    - Dst: struct ieee802_1x_kay_ctx*::macsec_deinit
      Src: /src/hostap/src/pae/ieee802_1x_secy_ops.c:558,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - kay
    argTypes:
    - struct ieee802_1x_kay*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 559
    functionName: secy_deinit_macsec
    functionSourceFile: /src/hostap/src/pae/ieee802_1x_secy_ops.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - struct ieee802_1x_kay_ctx*::macsec_deinit
    linkageType: ''
    returnType: int
    signature: int secy_deinit_macsec(struct ieee802_1x_kay *kay)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/src/p2p/p2p_invitation.c:38,1
    - Dst: p2p_group_get_interface_addr
      Src: /src/hostap/src/p2p/p2p_invitation.c:38,1
    - Dst: p2p_group_get_wfd_ie
      Src: /src/hostap/src/p2p/p2p_invitation.c:41,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p_invitation.c:49,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p_invitation.c:53,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/p2p/p2p_invitation.c:55,1
    - Dst: p2p_buf_add_public_action_hdr
      Src: /src/hostap/src/p2p/p2p_invitation.c:62,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/p2p/p2p_invitation.c:65,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p_invitation.c:67,1
    - Dst: p2p_buf_add_config_timeout
      Src: /src/hostap/src/p2p/p2p_invitation.c:72,1
    - Dst: p2p_buf_add_config_timeout
      Src: /src/hostap/src/p2p/p2p_invitation.c:74,1
    - Dst: p2p_buf_add_invitation_flags
      Src: /src/hostap/src/p2p/p2p_invitation.c:76,1
    - Dst: p2p_buf_add_operating_channel
      Src: /src/hostap/src/p2p/p2p_invitation.c:80,1
    - Dst: p2p_buf_add_group_bssid
      Src: /src/hostap/src/p2p/p2p_invitation.c:84,1
    - Dst: is_p2p_6ghz_capable
      Src: /src/hostap/src/p2p/p2p_invitation.c:85,1
    - Dst: p2p_is_peer_6ghz_capab
      Src: /src/hostap/src/p2p/p2p_invitation.c:86,1
    - Dst: p2p_buf_add_channel_list
      Src: /src/hostap/src/p2p/p2p_invitation.c:87,1
    - Dst: p2p_buf_add_group_id
      Src: /src/hostap/src/p2p/p2p_invitation.c:95,1
    - Dst: p2p_buf_add_device_info
      Src: /src/hostap/src/p2p/p2p_invitation.c:96,1
    - Dst: p2p_encaps_ie
      Src: /src/hostap/src/p2p/p2p_invitation.c:98,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p_invitation.c:99,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p_invitation.c:101,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/p2p/p2p_invitation.c:105,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p_invitation.c:106,1
    - Dst: p2p_buf_add_pref_channel_list
      Src: /src/hostap/src/p2p/p2p_invitation.c:108,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/p2p/p2p_invitation.c:113,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/p2p/p2p_invitation.c:117,1
    - Dst: p2p_build_wps_ie
      Src: /src/hostap/src/p2p/p2p_invitation.c:121,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 62
    argCount: 4
    argNames:
    - p2p
    - peer
    - go_dev_addr
    - dev_pw_id
    argTypes:
    - struct p2p_data*
    - struct p2p_device*
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 125
    functionName: p2p_build_invitation_req
    functionSourceFile: /src/hostap/src/p2p/p2p_invitation.c
    functionUses: 0
    functionsReached:
    - wpabuf_alloc
    - p2p_build_wps_ie
    - p2p_buf_add_pref_channel_list
    - ether_addr_equal
    - p2p_is_peer_6ghz_capab
    - p2p_group_get_interface_addr
    - p2p_buf_add_public_action_hdr
    - wpabuf_len
    - p2p_buf_add_operating_channel
    - p2p_encaps_ie
    - p2p_group_get_wfd_ie
    - p2p_buf_add_config_timeout
    - p2p_buf_add_group_id
    - is_p2p_6ghz_capable
    - p2p_buf_add_invitation_flags
    - wpabuf_free
    - p2p_buf_add_group_bssid
    - p2p_buf_add_device_info
    - wpabuf_put_buf
    - p2p_buf_add_channel_list
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * p2p_build_invitation_req(struct p2p_data *p2p,\n\t\t\t\t\t
      struct p2p_device *peer,\n\t\t\t\t\t const u8 *go_dev_addr, int dev_pw_id)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/src/p2p/p2p_invitation.c:147,1
    - Dst: p2p_group_get_interface_addr
      Src: /src/hostap/src/p2p/p2p_invitation.c:147,1
    - Dst: p2p_group_get_wfd_ie
      Src: /src/hostap/src/p2p/p2p_invitation.c:150,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p_invitation.c:158,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p_invitation.c:162,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/p2p/p2p_invitation.c:164,1
    - Dst: p2p_buf_add_public_action_hdr
      Src: /src/hostap/src/p2p/p2p_invitation.c:168,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/p2p/p2p_invitation.c:171,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p_invitation.c:173,1
    - Dst: p2p_buf_add_status
      Src: /src/hostap/src/p2p/p2p_invitation.c:177,1
    - Dst: p2p_buf_add_config_timeout
      Src: /src/hostap/src/p2p/p2p_invitation.c:178,1
    - Dst: p2p_buf_add_operating_channel
      Src: /src/hostap/src/p2p/p2p_invitation.c:180,1
    - Dst: p2p_buf_add_group_bssid
      Src: /src/hostap/src/p2p/p2p_invitation.c:183,1
    - Dst: p2p_buf_add_group_id
      Src: /src/hostap/src/p2p/p2p_invitation.c:193,1
    - Dst: is_p2p_6ghz_capable
      Src: /src/hostap/src/p2p/p2p_invitation.c:199,1
    - Dst: p2p_is_peer_6ghz_capab
      Src: /src/hostap/src/p2p/p2p_invitation.c:200,1
    - Dst: p2p_buf_add_channel_list
      Src: /src/hostap/src/p2p/p2p_invitation.c:201,1
    - Dst: p2p_encaps_ie
      Src: /src/hostap/src/p2p/p2p_invitation.c:205,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p_invitation.c:206,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p_invitation.c:208,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/p2p/p2p_invitation.c:212,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p_invitation.c:213,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/p2p/p2p_invitation.c:217,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/p2p/p2p_invitation.c:221,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 54
    argCount: 10
    argNames:
    - p2p
    - peer
    - dialog_token
    - status
    - group_bssid
    - reg_class
    - channel
    - channels
    - ssid
    - ssid_len
    argTypes:
    - struct p2p_data*
    - struct p2p_device*
    - u8
    - u8
    - u8*
    - u8
    - u8
    - struct p2p_channels*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 224
    functionName: p2p_build_invitation_resp
    functionSourceFile: /src/hostap/src/p2p/p2p_invitation.c
    functionUses: 0
    functionsReached:
    - wpabuf_len
    - ether_addr_equal
    - wpabuf_free
    - p2p_group_get_interface_addr
    - p2p_buf_add_public_action_hdr
    - p2p_buf_add_operating_channel
    - p2p_is_peer_6ghz_capab
    - p2p_buf_add_group_bssid
    - wpabuf_alloc
    - p2p_encaps_ie
    - p2p_group_get_wfd_ie
    - wpabuf_put_buf
    - p2p_buf_add_channel_list
    - p2p_buf_add_config_timeout
    - p2p_buf_add_status
    - p2p_buf_add_group_id
    - is_p2p_6ghz_capable
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * p2p_build_invitation_resp(struct p2p_data *p2p,\n\t\t\t\t\t\t
      struct p2p_device *peer,\n\t\t\t\t\t\t u8 dialog_token, u8 status,\n\t\t\t\t\t\t
      const u8 *group_bssid,\n\t\t\t\t\t\t u8 reg_class, u8 channel,\n\t\t\t\t\t\t
      struct p2p_channels *channels,\n\t\t\t\t\t\t const u8 *ssid,\n\t\t\t\t\t\t size_t
      ssid_len)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/p2p/p2p_invitation.c:244,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_invitation.c:246,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_invitation.c:247,1
    - Dst: p2p_parse
      Src: /src/hostap/src/p2p/p2p_invitation.c:249,1
    - Dst: p2p_get_device
      Src: /src/hostap/src/p2p/p2p_invitation.c:252,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_invitation.c:254,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_invitation.c:255,1
    - Dst: p2p_add_device
      Src: /src/hostap/src/p2p/p2p_invitation.c:257,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_invitation.c:259,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_invitation.c:260,1
    - Dst: p2p_get_device
      Src: /src/hostap/src/p2p/p2p_invitation.c:265,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_invitation.c:267,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_invitation.c:268,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_invitation.c:275,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_invitation.c:276,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_invitation.c:289,1
    - Dst: p2p_channels_union
      Src: /src/hostap/src/p2p/p2p_invitation.c:293,1
    - Dst: p2p_peer_channels_check
      Src: /src/hostap/src/p2p/p2p_invitation.c:296,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_invitation.c:299,1
    - Dst: p2p_channels_dump
      Src: /src/hostap/src/p2p/p2p_invitation.c:304,1
    - Dst: p2p_channels_dump
      Src: /src/hostap/src/p2p/p2p_invitation.c:305,1
    - Dst: p2p_channels_dump
      Src: /src/hostap/src/p2p/p2p_invitation.c:306,1
    - Dst: p2p_channels_intersect
      Src: /src/hostap/src/p2p/p2p_invitation.c:307,1
    - Dst: p2p_channels_dump
      Src: /src/hostap/src/p2p/p2p_invitation.c:309,1
    - Dst: struct p2p_data*::cfg::invitation_process
      Src: /src/hostap/src/p2p/p2p_invitation.c:312,1
    - Dst: p2p_channels_intersect
      Src: /src/hostap/src/p2p/p2p_invitation.c:321,1
    - Dst: p2p_channels_dump
      Src: /src/hostap/src/p2p/p2p_invitation.c:323,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_invitation.c:325,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_invitation.c:332,1
    - Dst: p2p_freq_to_channel
      Src: /src/hostap/src/p2p/p2p_invitation.c:334,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_invitation.c:335,1
    - Dst: p2p_channels_includes
      Src: /src/hostap/src/p2p/p2p_invitation.c:341,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_invitation.c:343,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_invitation.c:352,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_invitation.c:357,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_invitation.c:365,1
    - Dst: p2p_channel_to_freq
      Src: /src/hostap/src/p2p/p2p_invitation.c:374,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_invitation.c:377,1
    - Dst: p2p_channels_includes
      Src: /src/hostap/src/p2p/p2p_invitation.c:380,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_invitation.c:385,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_invitation.c:388,1
    - Dst: p2p_channels_includes
      Src: /src/hostap/src/p2p/p2p_invitation.c:394,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_invitation.c:396,1
    - Dst: p2p_reselect_channel
      Src: /src/hostap/src/p2p/p2p_invitation.c:398,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_invitation.c:399,1
    - Dst: p2p_channels_includes
      Src: /src/hostap/src/p2p/p2p_invitation.c:401,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_invitation.c:404,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_invitation.c:411,1
    - Dst: p2p_reselect_channel
      Src: /src/hostap/src/p2p/p2p_invitation.c:413,1
    - Dst: p2p_check_pref_chan
      Src: /src/hostap/src/p2p/p2p_invitation.c:420,1
    - Dst: p2p_channel_to_freq
      Src: /src/hostap/src/p2p/p2p_invitation.c:422,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_invitation.c:425,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_invitation.c:431,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/p2p/p2p_invitation.c:441,1
    - Dst: p2p_build_invitation_resp
      Src: /src/hostap/src/p2p/p2p_invitation.c:445,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p_invitation.c:453,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p_invitation.c:455,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p_invitation.c:461,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p_invitation.c:463,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p_invitation.c:466,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p_invitation.c:470,1
    - Dst: os_memset
      Src: /src/hostap/src/p2p/p2p_invitation.c:473,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p_invitation.c:477,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 156
    argCount: 6
    argNames:
    - p2p
    - sa
    - data
    - len
    - rx_freq
    - p2p2
    argTypes:
    - struct p2p_data*
    - u8*
    - u8*
    - size_t
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 479
    functionName: p2p_process_invitation_req
    functionSourceFile: /src/hostap/src/p2p/p2p_invitation.c
    functionUses: 0
    functionsReached:
    - p2p_peer_channels_check
    - p2p_build_invitation_resp
    - p2p_channels_intersect
    - p2p_channels_includes
    - p2p_dbg
    - p2p_parse
    - p2p_channel_to_freq
    - p2p_get_device
    - is_zero_ether_addr
    - p2p_reselect_channel
    - struct p2p_data*::cfg::invitation_process
    - p2p_channels_dump
    - p2p_parse_free
    - os_memset
    - p2p_channels_union
    - p2p_freq_to_channel
    - os_memcpy
    - p2p_check_pref_chan
    - p2p_add_device
    - MAC2STR
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * p2p_process_invitation_req(struct p2p_data *p2p, const
      u8 *sa,\n\t\t\t\t\t   const u8 *data, size_t len,\n\t\t\t\t\t   int rx_freq,
      bool p2p2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: p2p_process_invitation_req
      Src: /src/hostap/src/p2p/p2p_invitation.c:488,1
    - Dst: p2p_channel_to_freq
      Src: /src/hostap/src/p2p/p2p_invitation.c:495,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_invitation.c:498,1
    - Dst: p2p_send_action
      Src: /src/hostap/src/p2p/p2p_invitation.c:501,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/p2p/p2p_invitation.c:503,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p_invitation.c:503,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_invitation.c:504,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p_invitation.c:507,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - p2p
    - sa
    - data
    - len
    - rx_freq
    argTypes:
    - struct p2p_data*
    - u8*
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 482
    functionDepth: 3
    functionLinenumber: 482
    functionLinenumberEnd: 508
    functionName: p2p_handle_invitation_req
    functionSourceFile: /src/hostap/src/p2p/p2p_invitation.c
    functionUses: 0
    functionsReached:
    - p2p_dbg
    - wpabuf_len
    - p2p_send_action
    - p2p_channel_to_freq
    - wpabuf_free
    - wpabuf_head
    - p2p_process_invitation_req
    linkageType: ''
    returnType: void
    signature: "void p2p_handle_invitation_req(struct p2p_data *p2p, const u8 *sa,\n\t\t\t
      \      const u8 *data, size_t len, int rx_freq)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_invitation.c:520,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_invitation.c:521,1
    - Dst: p2p_get_device
      Src: /src/hostap/src/p2p/p2p_invitation.c:523,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_invitation.c:525,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_invitation.c:526,1
    - Dst: struct p2p_data*::cfg::send_action_done
      Src: /src/hostap/src/p2p/p2p_invitation.c:527,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_invitation.c:532,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_invitation.c:533,1
    - Dst: struct p2p_data*::cfg::send_action_done
      Src: /src/hostap/src/p2p/p2p_invitation.c:534,1
    - Dst: p2p_parse
      Src: /src/hostap/src/p2p/p2p_invitation.c:538,1
    - Dst: struct p2p_data*::cfg::send_action_done
      Src: /src/hostap/src/p2p/p2p_invitation.c:539,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_invitation.c:544,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_invitation.c:545,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p_invitation.c:546,1
    - Dst: struct p2p_data*::cfg::send_action_done
      Src: /src/hostap/src/p2p/p2p_invitation.c:547,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_invitation.c:564,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p_invitation.c:566,1
    - Dst: p2p_channel_random_social
      Src: /src/hostap/src/p2p/p2p_invitation.c:572,1
    - Dst: struct p2p_data*::cfg::send_action_done
      Src: /src/hostap/src/p2p/p2p_invitation.c:575,1
    - Dst: struct p2p_data*::cfg::stop_listen
      Src: /src/hostap/src/p2p/p2p_invitation.c:576,1
    - Dst: p2p_set_state
      Src: /src/hostap/src/p2p/p2p_invitation.c:577,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_invitation.c:578,1
    - Dst: p2p_invite_send
      Src: /src/hostap/src/p2p/p2p_invitation.c:581,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p_invitation.c:583,1
    - Dst: struct p2p_data*::cfg::send_action_done
      Src: /src/hostap/src/p2p/p2p_invitation.c:586,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_invitation.c:590,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_invitation.c:591,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p_invitation.c:593,1
    - Dst: p2p_peer_channels_check
      Src: /src/hostap/src/p2p/p2p_invitation.c:603,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_invitation.c:606,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p_invitation.c:607,1
    - Dst: p2p_channels_intersect
      Src: /src/hostap/src/p2p/p2p_invitation.c:611,1
    - Dst: p2p_channel_to_freq
      Src: /src/hostap/src/p2p/p2p_invitation.c:618,1
    - Dst: p2p_channel_to_freq
      Src: /src/hostap/src/p2p/p2p_invitation.c:624,1
    - Dst: p2p_check_pref_chan
      Src: /src/hostap/src/p2p/p2p_invitation.c:635,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p_invitation.c:643,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p_invitation.c:647,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p_invitation.c:651,1
    - Dst: struct p2p_data*::cfg::invitation_result
      Src: /src/hostap/src/p2p/p2p_invitation.c:660,1
    - Dst: p2p_clear_timeout
      Src: /src/hostap/src/p2p/p2p_invitation.c:667,1
    - Dst: p2p_set_state
      Src: /src/hostap/src/p2p/p2p_invitation.c:668,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p_invitation.c:672,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 95
    argCount: 4
    argNames:
    - p2p
    - sa
    - data
    - len
    argTypes:
    - struct p2p_data*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 511
    functionDepth: 1
    functionLinenumber: 511
    functionLinenumberEnd: 673
    functionName: p2p_process_invitation_resp
    functionSourceFile: /src/hostap/src/p2p/p2p_invitation.c
    functionUses: 0
    functionsReached:
    - struct p2p_data*::cfg::send_action_done
    - p2p_peer_channels_check
    - p2p_invite_send
    - os_memcpy
    - p2p_dbg
    - p2p_check_pref_chan
    - p2p_channels_intersect
    - p2p_clear_timeout
    - p2p_parse
    - p2p_channel_to_freq
    - MAC2STR
    - p2p_get_device
    - p2p_channel_random_social
    - p2p_set_state
    - struct p2p_data*::cfg::invitation_result
    - p2p_parse_free
    - struct p2p_data*::cfg::stop_listen
    linkageType: ''
    returnType: void
    signature: "void p2p_process_invitation_resp(struct p2p_data *p2p, const u8 *sa,\n\t\t\t\t
      const u8 *data, size_t len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: p2p_channels_intersect
      Src: /src/hostap/src/p2p/p2p_invitation.c:691,1
    - Dst: pasn_initiator_pmksa_cache_get
      Src: /src/hostap/src/p2p/p2p_invitation.c:696,1
    - Dst: wpa_pasn_reset
      Src: /src/hostap/src/p2p/p2p_invitation.c:699,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_invitation.c:700,1
    - Dst: struct p2p_data*::cfg::invitation_result
      Src: /src/hostap/src/p2p/p2p_invitation.c:702,1
    - Dst: forced_memzero
      Src: /src/hostap/src/p2p/p2p_invitation.c:712,1
    - Dst: forced_memzero
      Src: /src/hostap/src/p2p/p2p_invitation.c:713,1
    - Dst: p2p_clear_timeout
      Src: /src/hostap/src/p2p/p2p_invitation.c:715,1
    - Dst: p2p_set_state
      Src: /src/hostap/src/p2p/p2p_invitation.c:716,1
    - Dst: os_memset
      Src: /src/hostap/src/p2p/p2p_invitation.c:717,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - p2p
    - dev
    argTypes:
    - struct p2p_data*
    - struct p2p_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 677
    functionDepth: 1
    functionLinenumber: 677
    functionLinenumberEnd: 720
    functionName: p2p_start_invitation_connect
    functionSourceFile: /src/hostap/src/p2p/p2p_invitation.c
    functionUses: 0
    functionsReached:
    - pasn_initiator_pmksa_cache_get
    - p2p_dbg
    - p2p_channels_intersect
    - p2p_clear_timeout
    - forced_memzero
    - os_memset
    - p2p_set_state
    - wpa_pasn_reset
    - struct p2p_data*::cfg::invitation_result
    linkageType: ''
    returnType: void
    signature: void p2p_start_invitation_connect(struct p2p_data *p2p, struct p2p_device
      *dev)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_invitation.c:734,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_invitation.c:736,1
    - Dst: p2p_build_invitation_req
      Src: /src/hostap/src/p2p/p2p_invitation.c:740,1
    - Dst: p2p_stop_listen_for_freq
      Src: /src/hostap/src/p2p/p2p_invitation.c:744,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_invitation.c:745,1
    - Dst: p2p_set_state
      Src: /src/hostap/src/p2p/p2p_invitation.c:746,1
    - Dst: p2p_send_action
      Src: /src/hostap/src/p2p/p2p_invitation.c:753,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/p2p/p2p_invitation.c:755,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p_invitation.c:755,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_invitation.c:758,1
    - Dst: p2p_set_timeout
      Src: /src/hostap/src/p2p/p2p_invitation.c:760,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p_invitation.c:765,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 4
    argNames:
    - p2p
    - dev
    - go_dev_addr
    - dev_pw_id
    argTypes:
    - struct p2p_data*
    - struct p2p_device*
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 724
    functionDepth: 2
    functionLinenumber: 724
    functionLinenumberEnd: 768
    functionName: p2p_invite_send
    functionSourceFile: /src/hostap/src/p2p/p2p_invitation.c
    functionUses: 1
    functionsReached:
    - p2p_dbg
    - wpabuf_len
    - p2p_send_action
    - wpabuf_free
    - wpabuf_head
    - p2p_stop_listen_for_freq
    - MAC2STR
    - p2p_set_state
    - p2p_set_timeout
    - p2p_build_invitation_req
    linkageType: ''
    returnType: int
    signature: "int p2p_invite_send(struct p2p_data *p2p, struct p2p_device *dev,\n\t\t
      \   const u8 *go_dev_addr, int dev_pw_id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_invitation.c:773,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_invitation.c:776,1
    - Dst: p2p_set_state
      Src: /src/hostap/src/p2p/p2p_invitation.c:787,1
    - Dst: p2p_set_timeout
      Src: /src/hostap/src/p2p/p2p_invitation.c:788,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - p2p
    - success
    argTypes:
    - struct p2p_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 771
    functionDepth: 1
    functionLinenumber: 771
    functionLinenumberEnd: 789
    functionName: p2p_invitation_req_cb
    functionSourceFile: /src/hostap/src/p2p/p2p_invitation.c
    functionUses: 0
    functionsReached:
    - p2p_dbg
    - p2p_set_state
    - p2p_set_timeout
    linkageType: ''
    returnType: void
    signature: void p2p_invitation_req_cb(struct p2p_data *p2p, int success)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: p2p_get_device
      Src: /src/hostap/src/p2p/p2p_invitation.c:802,1
    - Dst: pasn_responder_pmksa_cache_get
      Src: /src/hostap/src/p2p/p2p_invitation.c:804,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_invitation.c:812,1
    - Dst: struct p2p_data*::cfg::send_action_done
      Src: /src/hostap/src/p2p/p2p_invitation.c:813,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_invitation.c:816,1
    - Dst: struct p2p_data*::cfg::invitation_received
      Src: /src/hostap/src/p2p/p2p_invitation.c:819,1
    - Dst: forced_memzero
      Src: /src/hostap/src/p2p/p2p_invitation.c:831,1
    - Dst: forced_memzero
      Src: /src/hostap/src/p2p/p2p_invitation.c:832,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - p2p
    - peer
    - success
    argTypes:
    - struct p2p_data*
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 792
    functionDepth: 1
    functionLinenumber: 792
    functionLinenumberEnd: 834
    functionName: p2p_invitation_resp_cb
    functionSourceFile: /src/hostap/src/p2p/p2p_invitation.c
    functionUses: 0
    functionsReached:
    - struct p2p_data*::cfg::send_action_done
    - p2p_dbg
    - forced_memzero
    - struct p2p_data*::cfg::invitation_received
    - p2p_get_device
    - pasn_responder_pmksa_cache_get
    linkageType: ''
    returnType: void
    signature: void p2p_invitation_resp_cb(struct p2p_data *p2p, const u8 *peer, int
      success)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_invitation.c:845,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_invitation.c:847,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_invitation.c:850,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_invitation.c:850,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_invitation.c:852,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_invitation.c:853,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p_invitation.c:854,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/p2p/p2p_invitation.c:858,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_invitation.c:861,1
    - Dst: p2p_get_device
      Src: /src/hostap/src/p2p/p2p_invitation.c:869,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_invitation.c:872,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_invitation.c:873,1
    - Dst: p2p_prepare_channel
      Src: /src/hostap/src/p2p/p2p_invitation.c:877,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_invitation.c:890,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_invitation.c:892,1
    - Dst: p2p_stop_find
      Src: /src/hostap/src/p2p/p2p_invitation.c:900,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p_invitation.c:905,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p_invitation.c:906,1
    - Dst: p2p_invite_send
      Src: /src/hostap/src/p2p/p2p_invitation.c:912,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 45
    argCount: 12
    argNames:
    - p2p
    - peer
    - role
    - bssid
    - ssid
    - ssid_len
    - force_freq
    - go_dev_addr
    - persistent_group
    - pref_freq
    - dev_pw_id
    - p2p2
    argTypes:
    - struct p2p_data*
    - u8*
    - enum p2p_invite_role
    - u8*
    - u8*
    - size_t
    - unsigned int
    - u8*
    - int
    - unsigned int
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 837
    functionDepth: 3
    functionLinenumber: 837
    functionLinenumberEnd: 913
    functionName: p2p_invite
    functionSourceFile: /src/hostap/src/p2p/p2p_invitation.c
    functionUses: 6
    functionsReached:
    - os_memcpy
    - p2p_invite_send
    - p2p_dbg
    - MAC2STR
    - p2p_get_device
    - p2p_prepare_channel
    - wpa_hexdump_ascii
    - p2p_stop_find
    linkageType: ''
    returnType: int
    signature: "int p2p_invite(struct p2p_data *p2p, const u8 *peer, enum p2p_invite_role
      role,\n\t       const u8 *bssid, const u8 *ssid, size_t ssid_len,\n\t       unsigned
      int force_freq, const u8 *go_dev_addr,\n\t       int persistent_group, unsigned
      int pref_freq, int dev_pw_id,\n\t       bool p2p2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:21,1
    - Dst: wpabuf_put_be32
      Src: /src/hostap/src/p2p/p2p_build.c:22,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:24,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:25,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_build.c:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - buf
    - subtype
    - dialog_token
    argTypes:
    - struct wpabuf*
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 27
    functionName: p2p_buf_add_action_hdr
    functionSourceFile: /src/hostap/src/p2p/p2p_build.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put_u8
    - wpabuf_put_be32
    linkageType: ''
    returnType: void
    signature: void p2p_buf_add_action_hdr(struct wpabuf *buf, u8 subtype, u8 dialog_token)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:33,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:34,1
    - Dst: wpabuf_put_be32
      Src: /src/hostap/src/p2p/p2p_build.c:35,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:37,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:38,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_build.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - buf
    - subtype
    - dialog_token
    argTypes:
    - struct wpabuf*
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 40
    functionName: p2p_buf_add_public_action_hdr
    functionSourceFile: /src/hostap/src/p2p/p2p_build.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - wpabuf_put_u8
    - wpabuf_put_be32
    linkageType: ''
    returnType: void
    signature: "void p2p_buf_add_public_action_hdr(struct wpabuf *buf, u8 subtype,\n\t\t\t\t
      \  u8 dialog_token)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:48,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/p2p/p2p_build.c:49,1
    - Dst: wpabuf_put_be32
      Src: /src/hostap/src/p2p/p2p_build.c:50,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_build.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - buf
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 53
    functionName: p2p_buf_add_ie_hdr
    functionSourceFile: /src/hostap/src/p2p/p2p_build.c
    functionUses: 0
    functionsReached:
    - wpabuf_put
    - wpa_printf
    - wpabuf_put_u8
    - wpabuf_put_be32
    linkageType: ''
    returnType: u8
    signature: u8 * p2p_buf_add_ie_hdr(struct wpabuf *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put
      Src: /src/hostap/src/p2p/p2p_build.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - struct wpabuf*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: p2p_buf_update_ie_hdr
    functionSourceFile: /src/hostap/src/p2p/p2p_build.c
    functionUses: 0
    functionsReached:
    - wpabuf_put
    linkageType: ''
    returnType: void
    signature: void p2p_buf_update_ie_hdr(struct wpabuf *buf, u8 *len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:68,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/p2p/p2p_build.c:69,1
    - Dst: wpabuf_put_be32
      Src: /src/hostap/src/p2p/p2p_build.c:70,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_build.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - buf
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 73
    functionName: p2p_buf_add_p2p2_ie_hdr
    functionSourceFile: /src/hostap/src/p2p/p2p_build.c
    functionUses: 0
    functionsReached:
    - wpabuf_put
    - wpa_printf
    - wpabuf_put_u8
    - wpabuf_put_be32
    linkageType: ''
    returnType: u8
    signature: u8 * p2p_buf_add_p2p2_ie_hdr(struct wpabuf *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:79,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/p2p/p2p_build.c:80,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:81,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:82,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_build.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - buf
    - dev_capab
    - group_capab
    argTypes:
    - struct wpabuf*
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 85
    functionName: p2p_buf_add_capability
    functionSourceFile: /src/hostap/src/p2p/p2p_build.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put_u8
    - wpabuf_put_le16
    linkageType: ''
    returnType: void
    signature: void p2p_buf_add_capability(struct wpabuf *buf, u8 dev_capab, u8 group_capab)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:91,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/p2p/p2p_build.c:92,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:93,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_build.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - go_intent
    argTypes:
    - struct wpabuf*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 96
    functionName: p2p_buf_add_go_intent
    functionSourceFile: /src/hostap/src/p2p/p2p_build.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put_u8
    - wpabuf_put_le16
    linkageType: ''
    returnType: void
    signature: void p2p_buf_add_go_intent(struct wpabuf *buf, u8 go_intent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:103,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/p2p/p2p_build.c:104,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/p2p/p2p_build.c:105,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:106,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:107,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_build.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - buf
    - country
    - reg_class
    - channel
    argTypes:
    - struct wpabuf*
    - char*
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 110
    functionName: p2p_buf_add_listen_channel
    functionSourceFile: /src/hostap/src/p2p/p2p_build.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put_data
    - wpabuf_put_u8
    - wpabuf_put_le16
    linkageType: ''
    returnType: void
    signature: "void p2p_buf_add_listen_channel(struct wpabuf *buf, const char *country,\n\t\t\t\tu8
      reg_class, u8 channel)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:117,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/p2p/p2p_build.c:118,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/p2p/p2p_build.c:119,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:120,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:121,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_build.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - buf
    - country
    - reg_class
    - channel
    argTypes:
    - struct wpabuf*
    - char*
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 124
    functionName: p2p_buf_add_operating_channel
    functionSourceFile: /src/hostap/src/p2p/p2p_build.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - wpabuf_put_data
    - wpabuf_put_u8
    - wpabuf_put_le16
    linkageType: ''
    returnType: void
    signature: "void p2p_buf_add_operating_channel(struct wpabuf *buf, const char
      *country,\n\t\t\t\t   u8 reg_class, u8 channel)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: p2p_freq_to_channel
      Src: /src/hostap/src/p2p/p2p_build.c:143,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:149,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:150,1
    - Dst: wpabuf_put_be24
      Src: /src/hostap/src/p2p/p2p_build.c:151,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:152,1
    - Dst: p2p_freq_to_channel
      Src: /src/hostap/src/p2p/p2p_build.c:154,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_build.c:157,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:161,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:162,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - buf
    - pref_freq_list
    - size
    argTypes:
    - struct wpabuf*
    - struct weighted_pcl*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 164
    functionName: p2p_buf_add_pref_channel_list
    functionSourceFile: /src/hostap/src/p2p/p2p_build.c
    functionUses: 1
    functionsReached:
    - p2p_freq_to_channel
    - wpa_printf
    - wpabuf_put_u8
    - wpabuf_put_be24
    linkageType: ''
    returnType: void
    signature: "void p2p_buf_add_pref_channel_list(struct wpabuf *buf,\n\t\t\t\t   const
      struct weighted_pcl *pref_freq_list,\n\t\t\t\t   unsigned int size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:174,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/p2p/p2p_build.c:175,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/p2p/p2p_build.c:176,1
    - Dst: is_6ghz_op_class
      Src: /src/hostap/src/p2p/p2p_build.c:181,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:183,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:184,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/p2p/p2p_build.c:185,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/p2p/p2p_build.c:189,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/p2p/p2p_build.c:189,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/p2p/p2p_build.c:190,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/p2p/p2p_build.c:191,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - buf
    - country
    - chan
    - is_6ghz_capab
    argTypes:
    - struct wpabuf*
    - char*
    - struct p2p_channels*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 192
    functionName: p2p_buf_add_channel_list
    functionSourceFile: /src/hostap/src/p2p/p2p_build.c
    functionUses: 2
    functionsReached:
    - wpabuf_put
    - wpabuf_put_data
    - wpabuf_put_u8
    - wpa_hexdump
    - is_6ghz_op_class
    - WPA_PUT_LE16
    linkageType: ''
    returnType: void
    signature: "void p2p_buf_add_channel_list(struct wpabuf *buf, const char *country,\n\t\t\t
      \     struct p2p_channels *chan, bool is_6ghz_capab)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:198,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/p2p/p2p_build.c:199,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:200,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_build.c:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - status
    argTypes:
    - struct wpabuf*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 202
    functionName: p2p_buf_add_status
    functionSourceFile: /src/hostap/src/p2p/p2p_build.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpabuf_put_u8
    - wpabuf_put_le16
    linkageType: ''
    returnType: void
    signature: void p2p_buf_add_status(struct wpabuf *buf, u8 status)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:213,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/p2p/p2p_build.c:214,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/p2p/p2p_build.c:217,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/p2p/p2p_build.c:238,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/p2p/p2p_build.c:241,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:245,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/p2p/p2p_build.c:249,1
    - Dst: os_strlen
      Src: /src/hostap/src/p2p/p2p_build.c:253,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/p2p/p2p_build.c:254,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/p2p/p2p_build.c:255,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/p2p/p2p_build.c:256,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/p2p/p2p_build.c:259,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/p2p/p2p_build.c:259,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_build.c:260,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 3
    argNames:
    - buf
    - p2p
    - peer
    argTypes:
    - struct wpabuf*
    - struct p2p_data*
    - struct p2p_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 261
    functionName: p2p_buf_add_device_info
    functionSourceFile: /src/hostap/src/p2p/p2p_build.c
    functionUses: 1
    functionsReached:
    - os_strlen
    - wpabuf_put
    - wpa_printf
    - wpabuf_put_data
    - wpabuf_put_u8
    - wpabuf_put_be16
    - WPA_PUT_LE16
    linkageType: ''
    returnType: void
    signature: "void p2p_buf_add_device_info(struct wpabuf *buf, struct p2p_data *p2p,\n\t\t\t
      \    struct p2p_device *peer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:267,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/p2p/p2p_build.c:268,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/p2p/p2p_build.c:269,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_build.c:270,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_build.c:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - dev_addr
    argTypes:
    - struct wpabuf*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 271
    functionName: p2p_buf_add_device_id
    functionSourceFile: /src/hostap/src/p2p/p2p_build.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put_data
    - wpabuf_put_u8
    - wpabuf_put_le16
    - MAC2STR
    linkageType: ''
    returnType: void
    signature: void p2p_buf_add_device_id(struct wpabuf *buf, const u8 *dev_addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:278,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/p2p/p2p_build.c:279,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:280,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:281,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_build.c:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - buf
    - go_timeout
    - client_timeout
    argTypes:
    - struct wpabuf*
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 284
    functionName: p2p_buf_add_config_timeout
    functionSourceFile: /src/hostap/src/p2p/p2p_build.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - wpabuf_put_u8
    - wpabuf_put_le16
    linkageType: ''
    returnType: void
    signature: "void p2p_buf_add_config_timeout(struct wpabuf *buf, u8 go_timeout,\n\t\t\t\tu8
      client_timeout)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:290,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/p2p/p2p_build.c:291,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/p2p/p2p_build.c:292,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_build.c:293,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_build.c:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - interface_addr
    argTypes:
    - struct wpabuf*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 295
    functionName: p2p_buf_add_intended_addr
    functionSourceFile: /src/hostap/src/p2p/p2p_build.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put_data
    - wpabuf_put_u8
    - wpabuf_put_le16
    - MAC2STR
    linkageType: ''
    returnType: void
    signature: void p2p_buf_add_intended_addr(struct wpabuf *buf, const u8 *interface_addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:301,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/p2p/p2p_build.c:302,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/p2p/p2p_build.c:303,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_build.c:304,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_build.c:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - bssid
    argTypes:
    - struct wpabuf*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 306
    functionName: p2p_buf_add_group_bssid
    functionSourceFile: /src/hostap/src/p2p/p2p_build.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - wpabuf_put_data
    - wpabuf_put_u8
    - wpabuf_put_le16
    - MAC2STR
    linkageType: ''
    returnType: void
    signature: void p2p_buf_add_group_bssid(struct wpabuf *buf, const u8 *bssid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:313,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/p2p/p2p_build.c:314,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/p2p/p2p_build.c:315,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/p2p/p2p_build.c:316,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_build.c:317,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_build.c:318,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/p2p/p2p_build.c:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - buf
    - dev_addr
    - ssid
    - ssid_len
    argTypes:
    - struct wpabuf*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 320
    functionName: p2p_buf_add_group_id
    functionSourceFile: /src/hostap/src/p2p/p2p_build.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - wpabuf_put_data
    - wpabuf_put_u8
    - wpabuf_put_le16
    - MAC2STR
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: void
    signature: "void p2p_buf_add_group_id(struct wpabuf *buf, const u8 *dev_addr,\n\t\t\t
      \ const u8 *ssid, size_t ssid_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:326,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/p2p/p2p_build.c:327,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:328,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_build.c:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - flags
    argTypes:
    - struct wpabuf*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 330
    functionName: p2p_buf_add_invitation_flags
    functionSourceFile: /src/hostap/src/p2p/p2p_build.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpabuf_put_u8
    - wpabuf_put_le16
    linkageType: ''
    returnType: void
    signature: void p2p_buf_add_invitation_flags(struct wpabuf *buf, u8 flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:338,1
    - Dst: wpabuf_put_le32
      Src: /src/hostap/src/p2p/p2p_build.c:339,1
    - Dst: wpabuf_put_le32
      Src: /src/hostap/src/p2p/p2p_build.c:340,1
    - Dst: wpabuf_put_le32
      Src: /src/hostap/src/p2p/p2p_build.c:341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - buf
    - desc
    argTypes:
    - struct wpabuf*
    - struct p2p_noa_desc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 342
    functionName: p2p_buf_add_noa_desc
    functionSourceFile: /src/hostap/src/p2p/p2p_build.c
    functionUses: 0
    functionsReached:
    - wpabuf_put_le32
    - wpabuf_put_u8
    linkageType: ''
    returnType: void
    signature: void p2p_buf_add_noa_desc(struct wpabuf *buf, struct p2p_noa_desc *desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:349,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/p2p/p2p_build.c:350,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:351,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:352,1
    - Dst: p2p_buf_add_noa_desc
      Src: /src/hostap/src/p2p/p2p_build.c:353,1
    - Dst: p2p_buf_add_noa_desc
      Src: /src/hostap/src/p2p/p2p_build.c:354,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_build.c:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - buf
    - noa_index
    - opp_ps
    - ctwindow
    - desc1
    - desc2
    argTypes:
    - struct wpabuf*
    - u8
    - u8
    - u8
    - struct p2p_noa_desc*
    - struct p2p_noa_desc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 345
    functionDepth: 2
    functionLinenumber: 345
    functionLinenumberEnd: 356
    functionName: p2p_buf_add_noa
    functionSourceFile: /src/hostap/src/p2p/p2p_build.c
    functionUses: 0
    functionsReached:
    - p2p_buf_add_noa_desc
    - wpa_printf
    - wpabuf_put_u8
    - wpabuf_put_le16
    linkageType: ''
    returnType: void
    signature: "void p2p_buf_add_noa(struct wpabuf *buf, u8 noa_index, u8 opp_ps,
      u8 ctwindow,\n\t\t     struct p2p_noa_desc *desc1, struct p2p_noa_desc *desc2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:363,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/p2p/p2p_build.c:364,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/p2p/p2p_build.c:365,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/p2p/p2p_build.c:366,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_build.c:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - buf
    - period
    - interval
    argTypes:
    - struct wpabuf*
    - u16
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 369
    functionName: p2p_buf_add_ext_listen_timing
    functionSourceFile: /src/hostap/src/p2p/p2p_build.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put_u8
    - wpabuf_put_le16
    linkageType: ''
    returnType: void
    signature: "void p2p_buf_add_ext_listen_timing(struct wpabuf *buf, u16 period,\n\t\t\t\t
      \  u16 interval)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:375,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/p2p/p2p_build.c:376,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/p2p/p2p_build.c:378,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:384,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/p2p/p2p_build.c:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - buf
    - p2p
    argTypes:
    - struct wpabuf*
    - struct p2p_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 386
    functionName: p2p_buf_add_p2p_interface
    functionSourceFile: /src/hostap/src/p2p/p2p_build.c
    functionUses: 0
    functionsReached:
    - wpabuf_put_data
    - wpabuf_put_u8
    - wpabuf_put_le16
    linkageType: ''
    returnType: void
    signature: void p2p_buf_add_p2p_interface(struct wpabuf *buf, struct p2p_data
      *p2p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:394,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/p2p/p2p_build.c:395,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/p2p/p2p_build.c:396,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:397,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:398,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:399,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_build.c:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - buf
    - country
    - oper_class
    - channel
    - role
    argTypes:
    - struct wpabuf*
    - char*
    - u8
    - u8
    - enum p2p_role_indication
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 403
    functionName: p2p_buf_add_oob_go_neg_channel
    functionSourceFile: /src/hostap/src/p2p/p2p_build.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put_data
    - wpabuf_put_u8
    - wpabuf_put_le16
    linkageType: ''
    returnType: void
    signature: "void p2p_buf_add_oob_go_neg_channel(struct wpabuf *buf, const char
      *country,\n\t\t\t\t    u8 oper_class, u8 channel,\n\t\t\t\t    enum p2p_role_indication
      role)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:412,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/p2p/p2p_build.c:413,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/p2p/p2p_build.c:414,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/p2p/p2p_build.c:416,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - buf
    - p2p
    argTypes:
    - struct wpabuf*
    - struct p2p_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 418
    functionName: p2p_buf_add_service_hash
    functionSourceFile: /src/hostap/src/p2p/p2p_build.c
    functionUses: 0
    functionsReached:
    - wpa_hexdump
    - wpabuf_put_data
    - wpabuf_put_u8
    - wpabuf_put_le16
    linkageType: ''
    returnType: void
    signature: void p2p_buf_add_service_hash(struct wpabuf *buf, struct p2p_data *p2p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:427,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/p2p/p2p_build.c:428,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/p2p/p2p_build.c:429,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/p2p/p2p_build.c:430,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - buf
    - p2p
    argTypes:
    - struct wpabuf*
    - struct p2p_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 432
    functionName: p2p_buf_add_usd_service_hash
    functionSourceFile: /src/hostap/src/p2p/p2p_build.c
    functionUses: 0
    functionsReached:
    - wpa_hexdump
    - wpabuf_put_data
    - wpabuf_put_u8
    - wpabuf_put_le16
    linkageType: ''
    returnType: void
    signature: void p2p_buf_add_usd_service_hash(struct wpabuf *buf, struct p2p_data
      *p2p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/p2p/p2p_build.c:440,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:443,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/p2p/p2p_build.c:444,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/p2p/p2p_build.c:447,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_build.c:448,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - buf
    - info
    argTypes:
    - struct wpabuf*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 450
    functionName: p2p_buf_add_session_info
    functionSourceFile: /src/hostap/src/p2p/p2p_build.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - wpabuf_put_data
    - wpabuf_put_u8
    - wpabuf_put_le16
    linkageType: ''
    returnType: void
    signature: void p2p_buf_add_session_info(struct wpabuf *buf, const char *info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:456,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/p2p/p2p_build.c:457,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:458,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_build.c:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - connection_cap
    argTypes:
    - struct wpabuf*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 461
    functionName: p2p_buf_add_connection_capability
    functionSourceFile: /src/hostap/src/p2p/p2p_build.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put_u8
    - wpabuf_put_le16
    linkageType: ''
    returnType: void
    signature: void p2p_buf_add_connection_capability(struct wpabuf *buf, u8 connection_cap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:470,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/p2p/p2p_build.c:471,1
    - Dst: wpabuf_put_le32
      Src: /src/hostap/src/p2p/p2p_build.c:472,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/p2p/p2p_build.c:473,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_build.c:474,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_build.c:475,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - buf
    - id
    - mac
    argTypes:
    - struct wpabuf*
    - u32
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 476
    functionName: p2p_buf_add_advertisement_id
    functionSourceFile: /src/hostap/src/p2p/p2p_build.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put_le32
    - wpabuf_put_data
    - wpabuf_put_u8
    - wpabuf_put_le16
    - MAC2STR
    linkageType: ''
    returnType: void
    signature: void p2p_buf_add_advertisement_id(struct wpabuf *buf, u32 id, const
      u8 *mac)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/src/p2p/p2p_build.c:486,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - p2p
    - hash
    - hash_count
    argTypes:
    - struct p2p_data*
    - u8*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 492
    functionName: p2ps_wildcard_hash
    functionSourceFile: /src/hostap/src/p2p/p2p_build.c
    functionUses: 0
    functionsReached:
    - os_memcmp
    linkageType: ''
    returnType: int
    signature: "int p2ps_wildcard_hash(struct p2p_data *p2p,\n\t\t\t      const u8
      *hash, u8 hash_count)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_strncmp
      Src: /src/hostap/src/p2p/p2p_build.c:500,1
    - Dst: os_strlen
      Src: /src/hostap/src/p2p/p2p_build.c:501,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - p2p
    argTypes:
    - struct p2p_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 506
    functionName: p2p_wfa_service_adv
    functionSourceFile: /src/hostap/src/p2p/p2p_build.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_strncmp
    linkageType: ''
    returnType: int
    signature: int p2p_wfa_service_adv(struct p2p_data *p2p)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_build.c:518,1
    - Dst: os_strlen
      Src: /src/hostap/src/p2p/p2p_build.c:519,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_build.c:524,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_build.c:530,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_build.c:540,1
    - Dst: p2p_buf_add_ie_hdr
      Src: /src/hostap/src/p2p/p2p_build.c:551,1
    - Dst: WPA_PUT_LE32
      Src: /src/hostap/src/p2p/p2p_build.c:564,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/p2p/p2p_build.c:565,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/p2p/p2p_build.c:569,1
    - Dst: p2p_buf_update_ie_hdr
      Src: /src/hostap/src/p2p/p2p_build.c:571,1
    - Dst: p2p_buf_add_ie_hdr
      Src: /src/hostap/src/p2p/p2p_build.c:572,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/p2p/p2p_build.c:574,1
    - Dst: wpabuf_put_le32
      Src: /src/hostap/src/p2p/p2p_build.c:578,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/p2p/p2p_build.c:579,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:580,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/p2p/p2p_build.c:591,1
    - Dst: p2p_buf_update_ie_hdr
      Src: /src/hostap/src/p2p/p2p_build.c:593,1
    - Dst: p2p_buf_add_ie_hdr
      Src: /src/hostap/src/p2p/p2p_build.c:594,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/p2p/p2p_build.c:598,1
    - Dst: p2p_buf_update_ie_hdr
      Src: /src/hostap/src/p2p/p2p_build.c:601,1
    - Dst: p2p_buf_add_ie_hdr
      Src: /src/hostap/src/p2p/p2p_build.c:602,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/p2p/p2p_build.c:605,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/p2p/p2p_build.c:608,1
    - Dst: p2p_buf_update_ie_hdr
      Src: /src/hostap/src/p2p/p2p_build.c:612,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/p2p/p2p_build.c:619,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/p2p/p2p_build.c:622,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 63
    argCount: 9
    argNames:
    - buf
    - p2p
    - adv_id
    - config_methods
    - svc_name
    - ie_len
    - pos
    - total_len
    - attr_len
    argTypes:
    - struct wpabuf*
    - struct p2p_data*
    - u32
    - u16
    - char*
    - u8**
    - u8**
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 509
    functionDepth: 2
    functionLinenumber: 509
    functionLinenumberEnd: 624
    functionName: p2p_buf_add_service_info
    functionSourceFile: /src/hostap/src/p2p/p2p_build.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - p2p_buf_add_ie_hdr
    - wpabuf_put
    - wpabuf_put_le32
    - p2p_dbg
    - wpabuf_put_data
    - wpabuf_put_u8
    - WPA_PUT_BE16
    - wpabuf_put_be16
    - p2p_buf_update_ie_hdr
    - WPA_PUT_LE32
    - WPA_PUT_LE16
    linkageType: ''
    returnType: int
    signature: "int p2p_buf_add_service_info(struct wpabuf *buf, struct p2p_data *p2p,\n\t\t\t\t
      \   u32 adv_id, u16 config_methods,\n\t\t\t\t    const char *svc_name, u8 **ie_len,
      u8 **pos,\n\t\t\t\t    size_t *total_len, u8 *attr_len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/src/p2p/p2p_build.c:640,1
    - Dst: p2ps_wildcard_hash
      Src: /src/hostap/src/p2p/p2p_build.c:642,1
    - Dst: p2p_wfa_service_adv
      Src: /src/hostap/src/p2p/p2p_build.c:643,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/p2p/p2p_build.c:646,1
    - Dst: p2p_buf_add_ie_hdr
      Src: /src/hostap/src/p2p/p2p_build.c:654,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:658,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/p2p/p2p_build.c:659,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/p2p/p2p_build.c:660,1
    - Dst: p2p_buf_update_ie_hdr
      Src: /src/hostap/src/p2p/p2p_build.c:661,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/p2p/p2p_build.c:662,1
    - Dst: p2p_buf_add_service_info
      Src: /src/hostap/src/p2p/p2p_build.c:666,1
    - Dst: os_memcmp
      Src: /src/hostap/src/p2p/p2p_build.c:678,1
    - Dst: p2p_buf_add_service_info
      Src: /src/hostap/src/p2p/p2p_build.c:679,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/p2p/p2p_build.c:693,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p_build.c:694,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 5
    argNames:
    - buf
    - p2p
    - hash_count
    - hash
    - adv_list
    argTypes:
    - struct wpabuf*
    - struct p2p_data*
    - u8
    - u8*
    - struct p2ps_advertisement*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 627
    functionDepth: 3
    functionLinenumber: 627
    functionLinenumberEnd: 695
    functionName: p2p_buf_add_service_instance
    functionSourceFile: /src/hostap/src/p2p/p2p_build.c
    functionUses: 0
    functionsReached:
    - p2p_buf_add_ie_hdr
    - wpabuf_put
    - wpa_hexdump
    - wpabuf_put_u8
    - wpabuf_free
    - p2p_buf_update_ie_hdr
    - wpabuf_alloc
    - wpabuf_put_buf
    - os_memcmp
    - p2p_wfa_service_adv
    - p2ps_wildcard_hash
    - p2p_buf_add_service_info
    - WPA_PUT_LE16
    linkageType: ''
    returnType: void
    signature: "void p2p_buf_add_service_instance(struct wpabuf *buf, struct p2p_data
      *p2p,\n\t\t\t\t  u8 hash_count, const u8 *hash,\n\t\t\t\t  struct p2ps_advertisement
      *adv_list)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:704,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/p2p/p2p_build.c:705,1
    - Dst: wpabuf_put_le32
      Src: /src/hostap/src/p2p/p2p_build.c:706,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/p2p/p2p_build.c:707,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_build.c:708,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_build.c:709,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - buf
    - id
    - mac
    argTypes:
    - struct wpabuf*
    - u32
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 698
    functionDepth: 1
    functionLinenumber: 698
    functionLinenumberEnd: 710
    functionName: p2p_buf_add_session_id
    functionSourceFile: /src/hostap/src/p2p/p2p_build.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put_le32
    - wpabuf_put_data
    - wpabuf_put_u8
    - wpabuf_put_le16
    - MAC2STR
    linkageType: ''
    returnType: void
    signature: void p2p_buf_add_session_id(struct wpabuf *buf, u32 id, const u8 *mac)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:719,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/p2p/p2p_build.c:720,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/p2p/p2p_build.c:721,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_build.c:722,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - buf
    - len
    - mask
    argTypes:
    - struct wpabuf*
    - u16
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 713
    functionDepth: 1
    functionLinenumber: 713
    functionLinenumberEnd: 723
    functionName: p2p_buf_add_feature_capability
    functionSourceFile: /src/hostap/src/p2p/p2p_build.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put_data
    - wpabuf_put_u8
    - wpabuf_put_le16
    linkageType: ''
    returnType: void
    signature: void p2p_buf_add_feature_capability(struct wpabuf *buf, u16 len, const
      u8 *mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:730,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/p2p/p2p_build.c:731,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/p2p/p2p_build.c:732,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/p2p/p2p_build.c:733,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_build.c:734,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_build.c:735,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - buf
    - dev_addr
    - ssid
    - ssid_len
    argTypes:
    - struct wpabuf*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 726
    functionDepth: 1
    functionLinenumber: 726
    functionLinenumberEnd: 736
    functionName: p2p_buf_add_persistent_group_info
    functionSourceFile: /src/hostap/src/p2p/p2p_build.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put_data
    - wpabuf_put_u8
    - wpabuf_put_le16
    - MAC2STR
    linkageType: ''
    returnType: void
    signature: "void p2p_buf_add_persistent_group_info(struct wpabuf *buf, const u8
      *dev_addr,\n\t\t\t\t       const u8 *ssid, size_t ssid_len)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:745,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/p2p/p2p_build.c:747,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/p2p/p2p_build.c:778,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:781,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:784,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/p2p/p2p_build.c:787,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/p2p/p2p_build.c:787,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_build.c:789,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 2
    argNames:
    - buf
    - p2p
    argTypes:
    - struct wpabuf*
    - struct p2p_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 739
    functionDepth: 1
    functionLinenumber: 739
    functionLinenumberEnd: 791
    functionName: p2p_buf_add_pcea
    functionSourceFile: /src/hostap/src/p2p/p2p_build.c
    functionUses: 0
    functionsReached:
    - wpabuf_put
    - wpa_printf
    - wpabuf_put_u8
    - wpabuf_put_le16
    - WPA_PUT_LE16
    linkageType: ''
    returnType: void
    signature: void p2p_buf_add_pcea(struct wpabuf *buf, struct p2p_data *p2p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:800,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/p2p/p2p_build.c:802,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/p2p/p2p_build.c:806,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:807,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/p2p/p2p_build.c:808,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/p2p/p2p_build.c:810,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/p2p/p2p_build.c:813,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/p2p/p2p_build.c:813,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_build.c:815,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - buf
    - bootstrap
    - cookie
    - cookie_len
    - comeback_after
    argTypes:
    - struct wpabuf*
    - u16
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 794
    functionDepth: 1
    functionLinenumber: 794
    functionLinenumberEnd: 817
    functionName: p2p_buf_add_pbma
    functionSourceFile: /src/hostap/src/p2p/p2p_build.c
    functionUses: 0
    functionsReached:
    - wpabuf_put
    - wpa_printf
    - wpabuf_put_data
    - wpabuf_put_u8
    - wpabuf_put_le16
    - WPA_PUT_LE16
    linkageType: ''
    returnType: void
    signature: "void p2p_buf_add_pbma(struct wpabuf *buf, u16 bootstrap, const u8
      *cookie,\n\t\t      size_t cookie_len, int comeback_after)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:831,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/p2p/p2p_build.c:833,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:835,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/p2p/p2p_build.c:836,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/p2p/p2p_build.c:837,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/p2p/p2p_build.c:840,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/p2p/p2p_build.c:840,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_build.c:842,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - buf
    - p2p
    argTypes:
    - struct wpabuf*
    - struct p2p_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 820
    functionDepth: 1
    functionLinenumber: 820
    functionLinenumberEnd: 843
    functionName: p2p_buf_add_dira
    functionSourceFile: /src/hostap/src/p2p/p2p_build.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put
    - wpabuf_put_data
    - wpabuf_put_u8
    - WPA_PUT_LE16
    linkageType: ''
    returnType: void
    signature: void p2p_buf_add_dira(struct wpabuf *buf, struct p2p_data *p2p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/p2p/p2p_build.c:851,1
    - Dst: wpabuf_tailroom
      Src: /src/hostap/src/p2p/p2p_build.c:852,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/p2p/p2p_build.c:854,1
    - Dst: wpabuf_tailroom
      Src: /src/hostap/src/p2p/p2p_build.c:862,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/p2p/p2p_build.c:864,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:865,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/p2p/p2p_build.c:869,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/p2p/p2p_build.c:871,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - buf
    - attr
    - val
    argTypes:
    - struct wpabuf*
    - enum wps_attribute
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 846
    functionDepth: 1
    functionLinenumber: 846
    functionLinenumberEnd: 873
    functionName: p2p_add_wps_string
    functionSourceFile: /src/hostap/src/p2p/p2p_build.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpabuf_put_data
    - wpabuf_put_u8
    - wpabuf_put_be16
    - wpabuf_tailroom
    linkageType: ''
    returnType: int
    signature: "int p2p_add_wps_string(struct wpabuf *buf, enum wps_attribute attr,\n\t\t\t
      \     const char *val)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_tailroom
      Src: /src/hostap/src/p2p/p2p_build.c:882,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:884,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/p2p/p2p_build.c:885,1
    - Dst: wpabuf_put_be32
      Src: /src/hostap/src/p2p/p2p_build.c:886,1
    - Dst: wps_build_version
      Src: /src/hostap/src/p2p/p2p_build.c:888,1
    - Dst: wpabuf_tailroom
      Src: /src/hostap/src/p2p/p2p_build.c:892,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/p2p/p2p_build.c:894,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/p2p/p2p_build.c:895,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:896,1
    - Dst: wpabuf_tailroom
      Src: /src/hostap/src/p2p/p2p_build.c:900,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/p2p/p2p_build.c:903,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/p2p/p2p_build.c:904,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_build.c:905,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/p2p/p2p_build.c:907,1
    - Dst: wpabuf_tailroom
      Src: /src/hostap/src/p2p/p2p_build.c:911,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/p2p/p2p_build.c:913,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/p2p/p2p_build.c:914,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:915,1
    - Dst: wps_build_uuid_e
      Src: /src/hostap/src/p2p/p2p_build.c:917,1
    - Dst: p2p_add_wps_string
      Src: /src/hostap/src/p2p/p2p_build.c:918,1
    - Dst: p2p_add_wps_string
      Src: /src/hostap/src/p2p/p2p_build.c:920,1
    - Dst: p2p_add_wps_string
      Src: /src/hostap/src/p2p/p2p_build.c:922,1
    - Dst: p2p_add_wps_string
      Src: /src/hostap/src/p2p/p2p_build.c:924,1
    - Dst: wpabuf_tailroom
      Src: /src/hostap/src/p2p/p2p_build.c:928,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/p2p/p2p_build.c:930,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/p2p/p2p_build.c:931,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/p2p/p2p_build.c:932,1
    - Dst: p2p_add_wps_string
      Src: /src/hostap/src/p2p/p2p_build.c:934,1
    - Dst: wpabuf_tailroom
      Src: /src/hostap/src/p2p/p2p_build.c:938,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/p2p/p2p_build.c:940,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/p2p/p2p_build.c:941,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/p2p/p2p_build.c:942,1
    - Dst: wps_build_wfa_ext
      Src: /src/hostap/src/p2p/p2p_build.c:945,1
    - Dst: wpabuf_tailroom
      Src: /src/hostap/src/p2p/p2p_build.c:949,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/p2p/p2p_build.c:952,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/p2p/p2p_build.c:953,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/p2p/p2p_build.c:955,1
    - Dst: wpabuf_tailroom
      Src: /src/hostap/src/p2p/p2p_build.c:964,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p_build.c:965,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/p2p/p2p_build.c:967,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/p2p/p2p_build.c:968,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p_build.c:968,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/p2p/p2p_build.c:969,1
    - Dst: p2p_buf_update_ie_hdr
      Src: /src/hostap/src/p2p/p2p_build.c:972,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 64
    argCount: 4
    argNames:
    - p2p
    - buf
    - pw_id
    - all_attr
    argTypes:
    - struct p2p_data*
    - struct wpabuf*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 975
      start: 876
    functionDepth: 2
    functionLinenumber: 876
    functionLinenumberEnd: 975
    functionName: p2p_build_wps_ie
    functionSourceFile: /src/hostap/src/p2p/p2p_build.c
    functionUses: 1
    functionsReached:
    - wpabuf_put
    - wpa_printf
    - wpabuf_put_u8
    - wpabuf_put_data
    - wpabuf_len
    - wps_build_wfa_ext
    - wpabuf_put_be16
    - wpabuf_tailroom
    - p2p_buf_update_ie_hdr
    - wpabuf_put_buf
    - wps_build_uuid_e
    - p2p_add_wps_string
    - wpabuf_put_be32
    - wps_build_version
    linkageType: ''
    returnType: int
    signature: "int p2p_build_wps_ie(struct p2p_data *p2p, struct wpabuf *buf, int
      pw_id,\n\t\t     int all_attr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p_build.c:987,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/p2p/p2p_build.c:989,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/p2p/p2p_build.c:993,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p_build.c:994,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:1001,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_build.c:1002,1
    - Dst: wpabuf_put_be32
      Src: /src/hostap/src/p2p/p2p_build.c:1003,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/p2p/p2p_build.c:1004,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - subelems
    - ie_type
    argTypes:
    - struct wpabuf*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 978
    functionDepth: 1
    functionLinenumber: 978
    functionLinenumberEnd: 1009
    functionName: p2p_encaps_ie
    functionSourceFile: /src/hostap/src/p2p/p2p_build.c
    functionUses: 2
    functionsReached:
    - wpabuf_put_u8
    - wpabuf_put_data
    - wpabuf_len
    - wpabuf_head
    - wpabuf_alloc
    - wpabuf_put_be32
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * p2p_encaps_ie(const struct wpabuf *subelems, u32 ie_type)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_get_reltime
      Src: /src/hostap/src/p2p/p2p.c:63,1
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/p2p/p2p.c:64,1
    - Dst: struct p2p_data*::cfg::go_connected
      Src: /src/hostap/src/p2p/p2p.c:78,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/p2p/p2p.c:84,1
    - Dst: p2p_group_is_client_connected
      Src: /src/hostap/src/p2p/p2p.c:89,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/p2p/p2p.c:98,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:102,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p.c:103,1
    - Dst: dl_list_del
      Src: /src/hostap/src/p2p/p2p.c:104,1
    - Dst: p2p_device_free
      Src: /src/hostap/src/p2p/p2p.c:105,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 1
    argNames:
    - p2p
    argTypes:
    - struct p2p_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 107
    functionName: p2p_expire_peers
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached:
    - os_get_reltime
    - p2p_dbg
    - dl_list_del
    - p2p_group_is_client_connected
    - struct p2p_data*::cfg::go_connected
    - p2p_device_free
    - MAC2STR
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: void p2p_expire_peers(struct p2p_data *p2p)
  - BBCount: 15
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 1
    argNames:
    - state
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 142
    functionName: p2p_state_txt
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * p2p_state_txt(int state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: p2p_state_txt
      Src: /src/hostap/src/p2p/p2p.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p2p
    argTypes:
    - struct p2p_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: p2p_get_state_txt
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached:
    - p2p_state_txt
    linkageType: ''
    returnType: char
    signature: char * p2p_get_state_txt(struct p2p_data *p2p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p2p
    argTypes:
    - struct p2p_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 154
    functionName: p2p_get_p2ps_adv_list
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: struct p2ps_advertisement
    signature: struct p2ps_advertisement * p2p_get_p2ps_adv_list(struct p2p_data *p2p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - p2p
    - intended_addr
    argTypes:
    - struct p2p_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: p2p_set_intended_addr
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    linkageType: ''
    returnType: void
    signature: void p2p_set_intended_addr(struct p2p_data *p2p, const u8 *intended_addr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: p2p_get_device
      Src: /src/hostap/src/p2p/p2p.c:171,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - p2p
    - addr
    argTypes:
    - struct p2p_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 176
    functionName: p2p_get_provisioning_info
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached:
    - p2p_get_device
    linkageType: ''
    returnType: u16
    signature: u16 p2p_get_provisioning_info(struct p2p_data *p2p, const u8 *addr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: p2p_get_device
      Src: /src/hostap/src/p2p/p2p.c:186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - p2p
    - addr
    argTypes:
    - struct p2p_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 189
    functionName: p2p_clear_provisioning_info
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 3
    functionsReached:
    - p2p_get_device
    linkageType: ''
    returnType: void
    signature: void p2p_clear_provisioning_info(struct p2p_data *p2p, const u8 *addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:194,1
    - Dst: p2p_state_txt
      Src: /src/hostap/src/p2p/p2p.c:195,1
    - Dst: p2p_state_txt
      Src: /src/hostap/src/p2p/p2p.c:195,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - p2p
    - new_state
    argTypes:
    - struct p2p_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 205
    functionName: p2p_set_state
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 4
    functionsReached:
    - p2p_state_txt
    - p2p_dbg
    linkageType: ''
    returnType: void
    signature: void p2p_set_state(struct p2p_data *p2p, int new_state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:210,1
    - Dst: p2p_state_txt
      Src: /src/hostap/src/p2p/p2p.c:211,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/p2p/p2p.c:212,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/p2p/p2p.c:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p2p
    - sec
    - usec
    argTypes:
    - struct p2p_data*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 214
    functionName: p2p_set_timeout
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 2
    functionsReached:
    - eloop_cancel_timeout
    - p2p_state_txt
    - p2p_dbg
    - eloop_register_timeout
    linkageType: ''
    returnType: void
    signature: void p2p_set_timeout(struct p2p_data *p2p, unsigned int sec, unsigned
      int usec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:219,1
    - Dst: p2p_state_txt
      Src: /src/hostap/src/p2p/p2p.c:219,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/p2p/p2p.c:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p2p
    argTypes:
    - struct p2p_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 221
    functionName: p2p_clear_timeout
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 2
    functionsReached:
    - eloop_cancel_timeout
    - p2p_state_txt
    - p2p_dbg
    linkageType: ''
    returnType: void
    signature: void p2p_clear_timeout(struct p2p_data *p2p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/p2p/p2p.c:232,1
    - Dst: p2p_clear_timeout
      Src: /src/hostap/src/p2p/p2p.c:238,1
    - Dst: p2p_set_state
      Src: /src/hostap/src/p2p/p2p.c:239,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:245,1
    - Dst: wpa_pasn_reset
      Src: /src/hostap/src/p2p/p2p.c:251,1
    - Dst: os_memset
      Src: /src/hostap/src/p2p/p2p.c:252,1
    - Dst: os_memset
      Src: /src/hostap/src/p2p/p2p.c:253,1
    - Dst: os_memset
      Src: /src/hostap/src/p2p/p2p.c:256,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:259,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:260,1
    - Dst: struct p2p_data*::cfg::go_neg_completed
      Src: /src/hostap/src/p2p/p2p.c:261,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - p2p
    - status
    argTypes:
    - struct p2p_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 262
    functionName: p2p_go_neg_failed
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - eloop_cancel_timeout
    - p2p_clear_timeout
    - wpabuf_free
    - p2p_set_state
    - struct p2p_data*::cfg::go_neg_completed
    - wpa_pasn_reset
    - os_memset
    linkageType: ''
    returnType: void
    signature: void p2p_go_neg_failed(struct p2p_data *p2p, int status)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:271,1
    - Dst: p2p_state_txt
      Src: /src/hostap/src/p2p/p2p.c:272,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:276,1
    - Dst: p2p_channel_to_freq
      Src: /src/hostap/src/p2p/p2p.c:280,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:282,1
    - Dst: os_get_random
      Src: /src/hostap/src/p2p/p2p.c:286,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:298,1
    - Dst: p2p_set_timeout
      Src: /src/hostap/src/p2p/p2p.c:299,1
    - Dst: p2p_build_probe_resp_ies
      Src: /src/hostap/src/p2p/p2p.c:303,1
    - Dst: struct p2p_data*::cfg::start_listen
      Src: /src/hostap/src/p2p/p2p.c:311,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:313,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:318,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 2
    argNames:
    - p2p
    - dev_disc
    argTypes:
    - struct p2p_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 265
    functionDepth: 2
    functionLinenumber: 265
    functionLinenumberEnd: 319
    functionName: p2p_listen_in_find
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - p2p_dbg
    - struct p2p_data*::cfg::start_listen
    - p2p_channel_to_freq
    - os_get_random
    - p2p_build_probe_resp_ies
    - wpabuf_free
    - p2p_set_timeout
    - p2p_state_txt
    linkageType: ''
    returnType: void
    signature: void p2p_listen_in_find(struct p2p_data *p2p, int dev_disc)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:327,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:331,1
    - Dst: p2p_channel_to_freq
      Src: /src/hostap/src/p2p/p2p.c:335,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:337,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:346,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:349,1
    - Dst: p2p_build_probe_resp_ies
      Src: /src/hostap/src/p2p/p2p.c:354,1
    - Dst: struct p2p_data*::cfg::start_listen
      Src: /src/hostap/src/p2p/p2p.c:360,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:361,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:363,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:367,1
    - Dst: p2p_set_state
      Src: /src/hostap/src/p2p/p2p.c:369,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 2
    argNames:
    - p2p
    - timeout
    argTypes:
    - struct p2p_data*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 322
    functionDepth: 2
    functionLinenumber: 322
    functionLinenumberEnd: 372
    functionName: p2p_listen
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 5
    functionsReached:
    - p2p_dbg
    - struct p2p_data*::cfg::start_listen
    - wpabuf_free
    - p2p_build_probe_resp_ies
    - p2p_channel_to_freq
    - p2p_set_state
    linkageType: ''
    returnType: int
    signature: int p2p_listen(struct p2p_data *p2p, unsigned int timeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/p2p/p2p.c:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p2p
    argTypes:
    - struct p2p_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 382
    functionName: p2p_device_clear_reported
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    linkageType: ''
    returnType: void
    signature: void p2p_device_clear_reported(struct p2p_data *p2p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/p2p/p2p.c:394,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/p2p/p2p.c:395,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p2p
    - addr
    argTypes:
    - struct p2p_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 399
    functionName: p2p_get_device
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 6
    functionsReached:
    - dl_list_for_each
    - ether_addr_equal
    linkageType: ''
    returnType: struct p2p_device
    signature: struct p2p_device * p2p_get_device(struct p2p_data *p2p, const u8 *addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/p2p/p2p.c:412,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/p2p/p2p.c:413,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p2p
    - addr
    argTypes:
    - struct p2p_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 417
    functionName: p2p_get_device_interface
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    - ether_addr_equal
    linkageType: ''
    returnType: struct p2p_device
    signature: "struct p2p_device * p2p_get_device_interface(struct p2p_data *p2p,\n\t\t\t\t\t
      \    const u8 *addr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: p2p_get_device
      Src: /src/hostap/src/p2p/p2p.c:435,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/p2p/p2p.c:439,1
    - Dst: os_reltime_before
      Src: /src/hostap/src/p2p/p2p.c:442,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:446,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p.c:448,1
    - Dst: dl_list_del
      Src: /src/hostap/src/p2p/p2p.c:449,1
    - Dst: p2p_device_free
      Src: /src/hostap/src/p2p/p2p.c:450,1
    - Dst: os_zalloc
      Src: /src/hostap/src/p2p/p2p.c:453,1
    - Dst: dl_list_add
      Src: /src/hostap/src/p2p/p2p.c:456,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:457,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - p2p
    - addr
    argTypes:
    - struct p2p_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 429
    functionDepth: 2
    functionLinenumber: 429
    functionLinenumberEnd: 461
    functionName: p2p_create_device
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - p2p_dbg
    - dl_list_del
    - dl_list_for_each
    - p2p_get_device
    - MAC2STR
    - p2p_device_free
    - os_zalloc
    - dl_list_add
    - os_reltime_before
    linkageType: ''
    returnType: struct p2p_device
    signature: "struct p2p_device * p2p_create_device(struct p2p_data *p2p,\n\t\t\t\t\t
      \    const u8 *addr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: p2p_copy_filter_devname
      Src: /src/hostap/src/p2p/p2p.c:467,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:472,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:476,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - dev
    - cli
    argTypes:
    - struct p2p_device*
    - struct p2p_client_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 478
    functionName: p2p_copy_client_info
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - p2p_copy_filter_devname
    linkageType: ''
    returnType: void
    signature: "void p2p_copy_client_info(struct p2p_device *dev,\n\t\t\t\t struct
      p2p_client_info *cli)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: p2p_group_info_parse
      Src: /src/hostap/src/p2p/p2p.c:493,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/p2p/p2p.c:500,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/p2p/p2p.c:501,1
    - Dst: os_memset
      Src: /src/hostap/src/p2p/p2p.c:503,1
    - Dst: os_memset
      Src: /src/hostap/src/p2p/p2p.c:504,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/p2p/p2p.c:510,1
    - Dst: p2p_get_device
      Src: /src/hostap/src/p2p/p2p.c:512,1
    - Dst: p2p_copy_client_info
      Src: /src/hostap/src/p2p/p2p.c:520,1
    - Dst: p2p_create_device
      Src: /src/hostap/src/p2p/p2p.c:537,1
    - Dst: p2p_copy_client_info
      Src: /src/hostap/src/p2p/p2p.c:541,1
    - Dst: struct p2p_data*::cfg::dev_found
      Src: /src/hostap/src/p2p/p2p.c:543,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:549,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:551,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:552,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:553,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 7
    argNames:
    - p2p
    - go_dev_addr
    - go_interface_addr
    - freq
    - gi
    - gi_len
    - rx_time
    argTypes:
    - struct p2p_data*
    - u8*
    - u8*
    - int
    - u8*
    - size_t
    - struct os_reltime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 481
    functionDepth: 3
    functionLinenumber: 481
    functionLinenumberEnd: 559
    functionName: p2p_add_group_clients
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - struct p2p_data*::cfg::dev_found
    - ether_addr_equal
    - p2p_create_device
    - dl_list_for_each
    - p2p_get_device
    - p2p_group_info_parse
    - p2p_copy_client_info
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int p2p_add_group_clients(struct p2p_data *p2p, const u8 *go_dev_addr,\n\t\t\t\t
      const u8 *go_interface_addr, int freq,\n\t\t\t\t const u8 *gi, size_t gi_len,\n\t\t\t\t
      struct os_reltime *rx_time)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:565,1
    - Dst: os_memset
      Src: /src/hostap/src/p2p/p2p.c:570,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:572,1
    - Dst: os_memset
      Src: /src/hostap/src/p2p/p2p.c:578,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:580,1
    - Dst: os_memset
      Src: /src/hostap/src/p2p/p2p.c:586,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:588,1
    - Dst: os_memset
      Src: /src/hostap/src/p2p/p2p.c:594,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:596,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:601,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:604,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:608,1
    - Dst: p2p_update_peer_6ghz_capab
      Src: /src/hostap/src/p2p/p2p.c:626,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/p2p/p2p.c:629,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/p2p/p2p.c:631,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:640,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p.c:642,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 43
    argCount: 4
    argNames:
    - p2p
    - dev
    - probe_req
    - msg
    argTypes:
    - struct p2p_data*
    - struct p2p_device*
    - int
    - struct p2p_message*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 648
    functionName: p2p_copy_wps_info
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - p2p_dbg
    - WPA_GET_LE16
    - MAC2STR
    - p2p_update_peer_6ghz_capab
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void p2p_copy_wps_info(struct p2p_data *p2p, struct p2p_device *dev,\n\t\t\t
      \     int probe_req, const struct p2p_message *msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - dev
    - msg
    argTypes:
    - struct p2p_device*
    - struct p2p_message*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 657
    functionName: p2p_update_peer_6ghz_capab
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void p2p_update_peer_6ghz_capab(struct p2p_device *dev,\n\t\t\t\tconst
      struct p2p_message *msg)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:666,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/p2p/p2p.c:682,1
    - Dst: wpabuf_resize
      Src: /src/hostap/src/p2p/p2p.c:693,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/p2p/p2p.c:695,1
    - Dst: wpabuf_size
      Src: /src/hostap/src/p2p/p2p.c:696,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 21
    argCount: 3
    argNames:
    - dev
    - ies
    - ies_len
    argTypes:
    - struct p2p_device*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 660
    functionDepth: 1
    functionLinenumber: 660
    functionLinenumberEnd: 699
    functionName: p2p_update_peer_vendor_elems
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - wpabuf_resize
    - wpabuf_size
    - wpabuf_put_data
    - wpabuf_free
    - WPA_GET_BE32
    linkageType: ''
    returnType: void
    signature: "void p2p_update_peer_vendor_elems(struct p2p_device *dev, const u8
      *ies,\n\t\t\t\t\t size_t ies_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/src/p2p/p2p.c:709,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - dev
    - msg
    argTypes:
    - struct p2p_device*
    - struct p2p_message*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 717
    functionName: p2p_compare_wfd_info
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - os_memcmp
    linkageType: ''
    returnType: int
    signature: "int p2p_compare_wfd_info(struct p2p_device *dev,\n\t\t\t      const
      struct p2p_message *msg)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/p2p/p2p.c:750,1
    - Dst: p2p_parse_ies
      Src: /src/hostap/src/p2p/p2p.c:751,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:752,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p.c:753,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:762,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p.c:763,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/p2p/p2p.c:767,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/p2p/p2p.c:768,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:769,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p.c:770,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p.c:771,1
    - Dst: p2p_create_device
      Src: /src/hostap/src/p2p/p2p.c:775,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p.c:777,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/p2p/p2p.c:782,1
    - Dst: os_reltime_before
      Src: /src/hostap/src/p2p/p2p.c:793,1
    - Dst: os_reltime_expired
      Src: /src/hostap/src/p2p/p2p.c:795,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:797,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p.c:804,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:808,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/p2p/p2p.c:813,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:814,1
    - Dst: os_memcmp
      Src: /src/hostap/src/p2p/p2p.c:818,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:820,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:824,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/p2p/p2p.c:827,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:838,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:845,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p.c:847,1
    - Dst: os_strncmp
      Src: /src/hostap/src/p2p/p2p.c:857,1
    - Dst: p2p_copy_wps_info
      Src: /src/hostap/src/p2p/p2p.c:860,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:863,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/p2p/p2p.c:870,1
    - Dst: p2p_compare_wfd_info
      Src: /src/hostap/src/p2p/p2p.c:876,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:879,1
    - Dst: wpabuf_dup
      Src: /src/hostap/src/p2p/p2p.c:881,1
    - Dst: p2p_add_group_clients
      Src: /src/hostap/src/p2p/p2p.c:887,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p.c:892,1
    - Dst: p2p_update_peer_vendor_elems
      Src: /src/hostap/src/p2p/p2p.c:894,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:902,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:906,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:926,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p.c:927,1
    - Dst: struct p2p_data*::cfg::dev_found
      Src: /src/hostap/src/p2p/p2p.c:931,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 105
    argCount: 8
    argNames:
    - p2p
    - addr
    - freq
    - rx_time
    - level
    - ies
    - ies_len
    - scan_res
    argTypes:
    - struct p2p_data*
    - u8*
    - int
    - struct os_reltime*
    - int
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 738
    functionDepth: 4
    functionLinenumber: 738
    functionLinenumberEnd: 939
    functionName: p2p_add_device
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached:
    - p2p_parse_ies
    - p2p_update_peer_vendor_elems
    - os_reltime_expired
    - p2p_dbg
    - p2p_copy_wps_info
    - ether_addr_equal
    - struct p2p_data*::cfg::dev_found
    - os_memcmp
    - wpabuf_dup
    - os_get_reltime
    - is_zero_ether_addr
    - p2p_add_group_clients
    - wpabuf_alloc_copy
    - p2p_parse_free
    - p2p_compare_wfd_info
    - os_memset
    - os_memcpy
    - wpabuf_free
    - os_strncmp
    - p2p_create_device
    - MAC2STR
    - os_reltime_before
    linkageType: ''
    returnType: int
    signature: "int p2p_add_device(struct p2p_data *p2p, const u8 *addr, int freq,\n\t\t
      \  struct os_reltime *rx_time, int level, const u8 *ies,\n\t\t   size_t ies_len,
      int scan_res)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: p2p_go_neg_failed
      Src: /src/hostap/src/p2p/p2p.c:950,1
    - Dst: struct p2p_data*::cfg::dev_lost
      Src: /src/hostap/src/p2p/p2p.c:961,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:965,1
    - Dst: os_free
      Src: /src/hostap/src/p2p/p2p.c:969,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:971,1
    - Dst: wpa_pasn_reset
      Src: /src/hostap/src/p2p/p2p.c:975,1
    - Dst: pasn_data_deinit
      Src: /src/hostap/src/p2p/p2p.c:976,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:980,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:981,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:982,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:983,1
    - Dst: os_free
      Src: /src/hostap/src/p2p/p2p.c:985,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - p2p
    - dev
    argTypes:
    - struct p2p_data*
    - struct p2p_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 942
    functionDepth: 3
    functionLinenumber: 942
    functionLinenumberEnd: 986
    functionName: p2p_device_free
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 2
    functionsReached:
    - wpabuf_free
    - wpa_pasn_reset
    - p2p_go_neg_failed
    - struct p2p_data*::cfg::dev_lost
    - os_free
    - pasn_data_deinit
    linkageType: ''
    returnType: void
    signature: void p2p_device_free(struct p2p_data *p2p, struct p2p_device *dev)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: p2p_channel_to_freq
      Src: /src/hostap/src/p2p/p2p.c:1031,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:1032,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 1
    argNames:
    - p2p
    argTypes:
    - struct p2p_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1040
      start: 989
    functionDepth: 1
    functionLinenumber: 989
    functionLinenumberEnd: 1040
    functionName: p2p_get_next_prog_freq
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - p2p_channel_to_freq
    - p2p_dbg
    linkageType: ''
    returnType: int
    signature: int p2p_get_next_prog_freq(struct p2p_data *p2p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:1051,1
    - Dst: struct p2p_data*::cfg::stop_listen
      Src: /src/hostap/src/p2p/p2p.c:1054,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:1061,1
    - Dst: p2p_get_next_prog_freq
      Src: /src/hostap/src/p2p/p2p.c:1064,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:1068,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:1071,1
    - Dst: struct p2p_data*::cfg::p2p_scan
      Src: /src/hostap/src/p2p/p2p.c:1074,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:1078,1
    - Dst: p2p_continue_find
      Src: /src/hostap/src/p2p/p2p.c:1079,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 1
    argNames:
    - p2p
    argTypes:
    - struct p2p_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1043
    functionDepth: 2
    functionLinenumber: 1043
    functionLinenumberEnd: 1081
    functionName: p2p_search
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - struct p2p_data*::cfg::p2p_scan
    - p2p_dbg
    - p2p_get_next_prog_freq
    - p2p_continue_find
    - struct p2p_data*::cfg::stop_listen
    linkageType: ''
    returnType: void
    signature: void p2p_search(struct p2p_data *p2p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:1087,1
    - Dst: p2p_stop_find
      Src: /src/hostap/src/p2p/p2p.c:1088,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1089
      start: 1084
    functionDepth: 1
    functionLinenumber: 1084
    functionLinenumberEnd: 1089
    functionName: p2p_find_timeout
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - p2p_dbg
    - p2p_stop_find
    linkageType: ''
    returnType: void
    signature: void p2p_find_timeout(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:1095,1
    - Dst: p2p_continue_find
      Src: /src/hostap/src/p2p/p2p.c:1097,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:1099,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/p2p/p2p.c:1101,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/p2p/p2p.c:1102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - p2p
    - status
    argTypes:
    - struct p2p_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 1092
    functionDepth: 1
    functionLinenumber: 1092
    functionLinenumberEnd: 1105
    functionName: p2p_notify_scan_trigger_status
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached:
    - eloop_cancel_timeout
    - p2p_dbg
    - eloop_register_timeout
    - p2p_continue_find
    linkageType: ''
    returnType: void
    signature: void p2p_notify_scan_trigger_status(struct p2p_data *p2p, int status)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:1119,1
    - Dst: p2p_listen
      Src: /src/hostap/src/p2p/p2p.c:1120,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:1124,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p.c:1125,1
    - Dst: p2p_get_device
      Src: /src/hostap/src/p2p/p2p.c:1126,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:1128,1
    - Dst: p2p_connect_send
      Src: /src/hostap/src/p2p/p2p.c:1131,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - p2p
    argTypes:
    - struct p2p_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1108
    functionDepth: 3
    functionLinenumber: 1108
    functionLinenumberEnd: 1136
    functionName: p2p_run_after_scan
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - p2p_dbg
    - MAC2STR
    - p2p_get_device
    - p2p_connect_send
    - p2p_listen
    linkageType: ''
    returnType: int
    signature: int p2p_run_after_scan(struct p2p_data *p2p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:1143,1
    - Dst: p2p_run_after_scan
      Src: /src/hostap/src/p2p/p2p.c:1149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1150
      start: 1139
    functionDepth: 4
    functionLinenumber: 1139
    functionLinenumberEnd: 1150
    functionName: p2p_scan_timeout
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - p2p_run_after_scan
    - p2p_dbg
    linkageType: ''
    returnType: void
    signature: void p2p_scan_timeout(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/p2p/p2p.c:1156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p2p
    argTypes:
    - struct p2p_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1158
      start: 1153
    functionDepth: 0
    functionLinenumber: 1153
    functionLinenumberEnd: 1158
    functionName: p2p_free_req_dev_types
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - os_free
    linkageType: ''
    returnType: void
    signature: void p2p_free_req_dev_types(struct p2p_data *p2p)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:1172,1
    - Dst: os_strlen
      Src: /src/hostap/src/p2p/p2p.c:1177,1
    - Dst: sha256_vector
      Src: /src/hostap/src/p2p/p2p.c:1188,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:1191,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 3
    argNames:
    - p2p
    - str
    - hash
    argTypes:
    - struct p2p_data*
    - char*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1161
    functionDepth: 0
    functionLinenumber: 1161
    functionLinenumberEnd: 1193
    functionName: p2ps_gen_hash
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_memcpy
    - sha256_vector
    linkageType: ''
    returnType: int
    signature: int p2ps_gen_hash(struct p2p_data *p2p, const char *str, u8 *hash)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:1205,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:1207,1
    - Dst: p2p_free_req_dev_types
      Src: /src/hostap/src/p2p/p2p.c:1210,1
    - Dst: os_memdup
      Src: /src/hostap/src/p2p/p2p.c:1212,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:1221,1
    - Dst: p2p_wfd_enabled
      Src: /src/hostap/src/p2p/p2p.c:1225,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:1234,1
    - Dst: p2ps_gen_hash
      Src: /src/hostap/src/p2p/p2p.c:1242,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:1245,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p.c:1246,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:1247,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:1262,1
    - Dst: p2p_clear_timeout
      Src: /src/hostap/src/p2p/p2p.c:1267,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:1269,1
    - Dst: struct p2p_data*::cfg::stop_listen
      Src: /src/hostap/src/p2p/p2p.c:1272,1
    - Dst: p2p_device_clear_reported
      Src: /src/hostap/src/p2p/p2p.c:1280,1
    - Dst: os_memset
      Src: /src/hostap/src/p2p/p2p.c:1281,1
    - Dst: p2p_set_state
      Src: /src/hostap/src/p2p/p2p.c:1282,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/p2p/p2p.c:1285,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/p2p/p2p.c:1288,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/p2p/p2p.c:1290,1
    - Dst: struct p2p_data*::cfg::p2p_scan
      Src: /src/hostap/src/p2p/p2p.c:1298,1
    - Dst: struct p2p_data*::cfg::p2p_scan
      Src: /src/hostap/src/p2p/p2p.c:1308,1
    - Dst: struct p2p_data*::cfg::p2p_scan
      Src: /src/hostap/src/p2p/p2p.c:1314,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:1327,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:1334,1
    - Dst: p2p_set_state
      Src: /src/hostap/src/p2p/p2p.c:1335,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/p2p/p2p.c:1336,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 96
    argCount: 11
    argNames:
    - p2p
    - timeout
    - type
    - num_req_dev_types
    - req_dev_types
    - dev_id
    - search_delay
    - seek_count
    - seek
    - freq
    - include_6ghz
    argTypes:
    - struct p2p_data*
    - unsigned int
    - enum p2p_discovery_type
    - unsigned int
    - u8*
    - u8*
    - unsigned int
    - u8
    - char**
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1340
      start: 1196
    functionDepth: 2
    functionLinenumber: 1196
    functionLinenumberEnd: 1340
    functionName: p2p_find
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 3
    functionsReached:
    - p2ps_gen_hash
    - os_memcpy
    - p2p_wfd_enabled
    - p2p_dbg
    - os_get_reltime
    - struct p2p_data*::cfg::p2p_scan
    - eloop_cancel_timeout
    - os_memdup
    - p2p_clear_timeout
    - os_memset
    - MAC2STR
    - p2p_set_state
    - eloop_register_timeout
    - p2p_device_clear_reported
    - p2p_free_req_dev_types
    - struct p2p_data*::cfg::stop_listen
    linkageType: ''
    returnType: int
    signature: "int p2p_find(struct p2p_data *p2p, unsigned int timeout,\n\t     enum
      p2p_discovery_type type,\n\t     unsigned int num_req_dev_types, const u8 *req_dev_types,\n\t
      \    const u8 *dev_id, unsigned int search_delay,\n\t     u8 seek_count, const
      char **seek, int freq, bool include_6ghz)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:1345,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/p2p/p2p.c:1346,1
    - Dst: p2p_clear_timeout
      Src: /src/hostap/src/p2p/p2p.c:1347,1
    - Dst: struct p2p_data*::cfg::find_stopped
      Src: /src/hostap/src/p2p/p2p.c:1349,1
    - Dst: p2p_set_state
      Src: /src/hostap/src/p2p/p2p.c:1353,1
    - Dst: p2p_free_req_dev_types
      Src: /src/hostap/src/p2p/p2p.c:1354,1
    - Dst: p2p_stop_listen_for_freq
      Src: /src/hostap/src/p2p/p2p.c:1361,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - p2p
    - freq
    argTypes:
    - struct p2p_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1363
      start: 1343
    functionDepth: 2
    functionLinenumber: 1343
    functionLinenumberEnd: 1363
    functionName: p2p_stop_find_for_freq
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - p2p_dbg
    - eloop_cancel_timeout
    - p2p_clear_timeout
    - p2p_stop_listen_for_freq
    - p2p_set_state
    - struct p2p_data*::cfg::find_stopped
    - p2p_free_req_dev_types
    linkageType: ''
    returnType: void
    signature: void p2p_stop_find_for_freq(struct p2p_data *p2p, int freq)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:1368,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:1375,1
    - Dst: p2p_clear_timeout
      Src: /src/hostap/src/p2p/p2p.c:1380,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:1388,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:1394,1
    - Dst: struct p2p_data*::cfg::stop_listen
      Src: /src/hostap/src/p2p/p2p.c:1398,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 2
    argNames:
    - p2p
    - freq
    argTypes:
    - struct p2p_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1400
      start: 1366
    functionDepth: 2
    functionLinenumber: 1366
    functionLinenumberEnd: 1400
    functionName: p2p_stop_listen_for_freq
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 2
    functionsReached:
    - p2p_clear_timeout
    - p2p_dbg
    - struct p2p_data*::cfg::stop_listen
    linkageType: ''
    returnType: void
    signature: void p2p_stop_listen_for_freq(struct p2p_data *p2p, int freq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:1406,1
    - Dst: p2p_stop_listen_for_freq
      Src: /src/hostap/src/p2p/p2p.c:1410,1
    - Dst: p2p_set_state
      Src: /src/hostap/src/p2p/p2p.c:1411,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - p2p
    argTypes:
    - struct p2p_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1412
      start: 1403
    functionDepth: 3
    functionLinenumber: 1403
    functionLinenumberEnd: 1412
    functionName: p2p_stop_listen
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached:
    - p2p_stop_listen_for_freq
    - p2p_dbg
    - p2p_set_state
    linkageType: ''
    returnType: void
    signature: void p2p_stop_listen(struct p2p_data *p2p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: p2p_stop_find_for_freq
      Src: /src/hostap/src/p2p/p2p.c:1418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p2p
    argTypes:
    - struct p2p_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1419
      start: 1415
    functionDepth: 3
    functionLinenumber: 1415
    functionLinenumberEnd: 1419
    functionName: p2p_stop_find
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 12
    functionsReached:
    - p2p_stop_find_for_freq
    linkageType: ''
    returnType: void
    signature: void p2p_stop_find(struct p2p_data *p2p)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:1429,1
    - Dst: struct p2p_data*::cfg::is_p2p_dfs_chan
      Src: /src/hostap/src/p2p/p2p.c:1433,1
    - Dst: ieee80211_chaninfo_to_channel
      Src: /src/hostap/src/p2p/p2p.c:1435,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:1438,1
    - Dst: p2p_freq_to_channel
      Src: /src/hostap/src/p2p/p2p.c:1441,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:1442,1
    - Dst: p2p_channels_includes
      Src: /src/hostap/src/p2p/p2p.c:1446,1
    - Dst: p2p_channels_includes
      Src: /src/hostap/src/p2p/p2p.c:1447,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:1449,1
    - Dst: p2p_copy_channels
      Src: /src/hostap/src/p2p/p2p.c:1463,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 4
    argNames:
    - p2p
    - force_freq
    - pref_freq
    - go
    argTypes:
    - struct p2p_data*
    - unsigned int
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1468
      start: 1422
    functionDepth: 1
    functionLinenumber: 1422
    functionLinenumberEnd: 1468
    functionName: p2p_prepare_channel_pref
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - p2p_freq_to_channel
    - p2p_dbg
    - ieee80211_chaninfo_to_channel
    - struct p2p_data*::cfg::is_p2p_dfs_chan
    - p2p_copy_channels
    - p2p_channels_includes
    linkageType: ''
    returnType: int
    signature: "int p2p_prepare_channel_pref(struct p2p_data *p2p,\n\t\t\t\t    unsigned
      int force_freq,\n\t\t\t\t    unsigned int pref_freq, int go)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:1480,1
    - Dst: p2p_supported_freq
      Src: /src/hostap/src/p2p/p2p.c:1483,1
    - Dst: p2p_freq_to_channel
      Src: /src/hostap/src/p2p/p2p.c:1484,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:1486,1
    - Dst: p2p_supported_freq
      Src: /src/hostap/src/p2p/p2p.c:1490,1
    - Dst: p2p_freq_to_channel
      Src: /src/hostap/src/p2p/p2p.c:1491,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:1493,1
    - Dst: p2p_supported_freq
      Src: /src/hostap/src/p2p/p2p.c:1497,1
    - Dst: p2p_freq_to_channel
      Src: /src/hostap/src/p2p/p2p.c:1498,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:1500,1
    - Dst: p2p_channels_includes
      Src: /src/hostap/src/p2p/p2p.c:1504,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:1507,1
    - Dst: p2p_channel_select
      Src: /src/hostap/src/p2p/p2p.c:1510,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:1513,1
    - Dst: p2p_channel_select
      Src: /src/hostap/src/p2p/p2p.c:1516,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:1519,1
    - Dst: p2p_channel_select
      Src: /src/hostap/src/p2p/p2p.c:1521,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:1524,1
    - Dst: p2p_channel_select
      Src: /src/hostap/src/p2p/p2p.c:1526,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:1529,1
    - Dst: p2p_channel_select
      Src: /src/hostap/src/p2p/p2p.c:1531,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:1534,1
    - Dst: p2p_channels_includes
      Src: /src/hostap/src/p2p/p2p.c:1536,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:1539,1
    - Dst: p2p_channel_random_social
      Src: /src/hostap/src/p2p/p2p.c:1542,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:1546,1
    - Dst: p2p_channel_select
      Src: /src/hostap/src/p2p/p2p.c:1551,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:1554,1
    - Dst: p2p_copy_channels
      Src: /src/hostap/src/p2p/p2p.c:1559,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 49
    argCount: 1
    argNames:
    - p2p
    argTypes:
    - struct p2p_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1560
      start: 1471
    functionDepth: 1
    functionLinenumber: 1471
    functionLinenumberEnd: 1560
    functionName: p2p_prepare_channel_best
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - p2p_freq_to_channel
    - p2p_dbg
    - p2p_supported_freq
    - p2p_channel_select
    - p2p_channel_random_social
    - p2p_copy_channels
    - p2p_channels_includes
    linkageType: ''
    returnType: void
    signature: void p2p_prepare_channel_best(struct p2p_data *p2p)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:1580,1
    - Dst: p2p_prepare_channel_pref
      Src: /src/hostap/src/p2p/p2p.c:1583,1
    - Dst: p2p_prepare_channel_best
      Src: /src/hostap/src/p2p/p2p.c:1587,1
    - Dst: struct p2p_data*::cfg::is_p2p_dfs_chan
      Src: /src/hostap/src/p2p/p2p.c:1591,1
    - Dst: p2p_dfs_channel_filter
      Src: /src/hostap/src/p2p/p2p.c:1595,1
    - Dst: p2p_channels_dump
      Src: /src/hostap/src/p2p/p2p.c:1596,1
    - Dst: p2p_copy_channels
      Src: /src/hostap/src/p2p/p2p.c:1599,1
    - Dst: p2p_channels_dump
      Src: /src/hostap/src/p2p/p2p.c:1603,1
    - Dst: p2p_channels_remove_freqs
      Src: /src/hostap/src/p2p/p2p.c:1605,1
    - Dst: p2p_channels_union_inplace
      Src: /src/hostap/src/p2p/p2p.c:1607,1
    - Dst: p2p_channels_dump
      Src: /src/hostap/src/p2p/p2p.c:1609,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:1611,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 5
    argNames:
    - p2p
    - dev
    - force_freq
    - pref_freq
    - go
    argTypes:
    - struct p2p_data*
    - struct p2p_device*
    - unsigned int
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1621
      start: 1577
    functionDepth: 2
    functionLinenumber: 1577
    functionLinenumberEnd: 1621
    functionName: p2p_prepare_channel
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached:
    - p2p_dfs_channel_filter
    - p2p_dbg
    - p2p_prepare_channel_pref
    - p2p_channels_union_inplace
    - struct p2p_data*::cfg::is_p2p_dfs_chan
    - p2p_channels_dump
    - p2p_copy_channels
    - p2p_channels_remove_freqs
    - p2p_prepare_channel_best
    linkageType: ''
    returnType: int
    signature: "int p2p_prepare_channel(struct p2p_data *p2p, struct p2p_device *dev,\n\t\t\tunsigned
      int force_freq, unsigned int pref_freq, int go)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - dev
    - persistent_group
    argTypes:
    - struct p2p_device*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1641
      start: 1624
    functionDepth: 0
    functionLinenumber: 1624
    functionLinenumberEnd: 1641
    functionName: p2p_set_dev_persistent
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void p2p_set_dev_persistent(struct p2p_device *dev,\n\t\t\t\t   int
      persistent_group)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:1654,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p.c:1658,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p.c:1658,1
    - Dst: p2p_get_device
      Src: /src/hostap/src/p2p/p2p.c:1662,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:1664,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p.c:1665,1
    - Dst: p2p_prepare_channel
      Src: /src/hostap/src/p2p/p2p.c:1669,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:1676,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p.c:1678,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:1682,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p.c:1684,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/p2p/p2p.c:1697,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:1699,1
    - Dst: p2p_set_dev_persistent
      Src: /src/hostap/src/p2p/p2p.c:1725,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:1727,1
    - Dst: p2p_stop_find
      Src: /src/hostap/src/p2p/p2p.c:1730,1
    - Dst: os_strlen
      Src: /src/hostap/src/p2p/p2p.c:1736,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/p2p/p2p.c:1737,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:1741,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:1743,1
    - Dst: p2p_connect_send
      Src: /src/hostap/src/p2p/p2p.c:1747,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 61
    argCount: 15
    argNames:
    - p2p
    - peer_addr
    - wps_method
    - go_intent
    - own_interface_addr
    - force_freq
    - persistent_group
    - force_ssid
    - force_ssid_len
    - pd_before_go_neg
    - pref_freq
    - oob_pw_id
    - p2p2
    - bootstrap
    - password
    argTypes:
    - struct p2p_data*
    - u8*
    - enum p2p_wps_method
    - int
    - u8*
    - unsigned int
    - int
    - u8*
    - size_t
    - int
    - unsigned int
    - u16
    - bool
    - u16
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1748
      start: 1644
    functionDepth: 4
    functionLinenumber: 1644
    functionLinenumberEnd: 1748
    functionName: p2p_connect
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 11
    functionsReached:
    - os_strlen
    - os_memcpy
    - p2p_dbg
    - os_strlcpy
    - p2p_set_dev_persistent
    - MAC2STR
    - p2p_get_device
    - p2p_connect_send
    - p2p_prepare_channel
    - wpa_hexdump_ascii
    - p2p_stop_find
    linkageType: ''
    returnType: int
    signature: "int p2p_connect(struct p2p_data *p2p, const u8 *peer_addr,\n\t\tenum
      p2p_wps_method wps_method,\n\t\tint go_intent, const u8 *own_interface_addr,\n\t\tunsigned
      int force_freq, int persistent_group,\n\t\tconst u8 *force_ssid, size_t force_ssid_len,\n\t\tint
      pd_before_go_neg, unsigned int pref_freq, u16 oob_pw_id,\n\t\tbool p2p2, u16
      bootstrap, const char *password)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:1761,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p.c:1764,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p.c:1764,1
    - Dst: p2p_get_device
      Src: /src/hostap/src/p2p/p2p.c:1767,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:1769,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p.c:1770,1
    - Dst: p2p_prepare_channel
      Src: /src/hostap/src/p2p/p2p.c:1774,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/p2p/p2p.c:1780,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:1782,1
    - Dst: os_strlen
      Src: /src/hostap/src/p2p/p2p.c:1793,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/p2p/p2p.c:1794,1
    - Dst: p2p_set_dev_persistent
      Src: /src/hostap/src/p2p/p2p.c:1795,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:1797,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 13
    argNames:
    - p2p
    - peer_addr
    - wps_method
    - go_intent
    - own_interface_addr
    - force_freq
    - persistent_group
    - force_ssid
    - force_ssid_len
    - pref_freq
    - oob_pw_id
    - bootstrap
    - password
    argTypes:
    - struct p2p_data*
    - u8*
    - enum p2p_wps_method
    - int
    - u8*
    - unsigned int
    - int
    - u8*
    - size_t
    - unsigned int
    - u16
    - u16
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1804
      start: 1751
    functionDepth: 3
    functionLinenumber: 1751
    functionLinenumberEnd: 1804
    functionName: p2p_authorize
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached:
    - os_strlen
    - os_memcpy
    - p2p_dbg
    - os_strlcpy
    - p2p_set_dev_persistent
    - MAC2STR
    - p2p_get_device
    - p2p_prepare_channel
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: int
    signature: "int p2p_authorize(struct p2p_data *p2p, const u8 *peer_addr,\n\t\t
      \ enum p2p_wps_method wps_method,\n\t\t  int go_intent, const u8 *own_interface_addr,\n\t\t
      \ unsigned int force_freq, int persistent_group,\n\t\t  const u8 *force_ssid,
      size_t force_ssid_len,\n\t\t  unsigned int pref_freq, u16 oob_pw_id, u16 bootstrap,\n\t\t
      \ const char *password)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_get_reltime
      Src: /src/hostap/src/p2p/p2p.c:1810,1
    - Dst: p2p_copy_wps_info
      Src: /src/hostap/src/p2p/p2p.c:1812,1
    - Dst: p2p_channel_to_freq
      Src: /src/hostap/src/p2p/p2p.c:1816,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:1819,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:1827,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p.c:1829,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:1836,1
    - Dst: wpabuf_dup
      Src: /src/hostap/src/p2p/p2p.c:1837,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:1842,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:1844,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p.c:1847,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:1855,1
    - Dst: struct p2p_data*::cfg::dev_found
      Src: /src/hostap/src/p2p/p2p.c:1859,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 4
    argNames:
    - p2p
    - addr
    - dev
    - msg
    argTypes:
    - struct p2p_data*
    - u8*
    - struct p2p_device*
    - struct p2p_message*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1862
      start: 1807
    functionDepth: 2
    functionLinenumber: 1807
    functionLinenumberEnd: 1862
    functionName: p2p_add_dev_info
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - wpabuf_dup
    - os_get_reltime
    - p2p_dbg
    - p2p_copy_wps_info
    - p2p_channel_to_freq
    - wpabuf_free
    - struct p2p_data*::cfg::dev_found
    - MAC2STR
    linkageType: ''
    returnType: void
    signature: "void p2p_add_dev_info(struct p2p_data *p2p, const u8 *addr,\n\t\t
      \     struct p2p_device *dev, struct p2p_message *msg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:1867,1
    - Dst: p2p_random
      Src: /src/hostap/src/p2p/p2p.c:1868,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:1869,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - p2p
    - ssid
    - ssid_len
    argTypes:
    - struct p2p_data*
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1872
      start: 1865
    functionDepth: 1
    functionLinenumber: 1865
    functionLinenumberEnd: 1872
    functionName: p2p_build_ssid
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached:
    - p2p_random
    - os_memcpy
    linkageType: ''
    returnType: void
    signature: void p2p_build_ssid(struct p2p_data *p2p, u8 *ssid, size_t *ssid_len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:1878,1
    - Dst: p2p_build_ssid
      Src: /src/hostap/src/p2p/p2p.c:1881,1
    - Dst: p2p_random
      Src: /src/hostap/src/p2p/p2p.c:1889,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/p2p/p2p.c:1893,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/p2p/p2p.c:1895,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - p2p
    - params
    argTypes:
    - struct p2p_data*
    - struct p2p_go_neg_results*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1900
      start: 1875
    functionDepth: 2
    functionLinenumber: 1875
    functionLinenumberEnd: 1900
    functionName: p2p_go_params
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached:
    - p2p_random
    - os_memcpy
    - os_strlcpy
    - p2p_build_ssid
    linkageType: ''
    returnType: int
    signature: int p2p_go_params(struct p2p_data *p2p, struct p2p_go_neg_results *params)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p2p
    - val
    argTypes:
    - struct p2p_data*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1906
      start: 1903
    functionDepth: 0
    functionLinenumber: 1903
    functionLinenumberEnd: 1906
    functionName: p2p_set_go_role
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void p2p_set_go_role(struct p2p_data *p2p, bool val)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:1915,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p.c:1916,1
    - Dst: os_memset
      Src: /src/hostap/src/p2p/p2p.c:1918,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:1920,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:1921,1
    - Dst: p2p_channel_to_freq
      Src: /src/hostap/src/p2p/p2p.c:1932,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:1934,1
    - Dst: p2p_random
      Src: /src/hostap/src/p2p/p2p.c:1936,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:1941,1
    - Dst: p2p_channels_dump
      Src: /src/hostap/src/p2p/p2p.c:1946,1
    - Dst: p2p_channels_dump
      Src: /src/hostap/src/p2p/p2p.c:1947,1
    - Dst: p2p_channels_intersect
      Src: /src/hostap/src/p2p/p2p.c:1948,1
    - Dst: p2p_channels_remove_freqs
      Src: /src/hostap/src/p2p/p2p.c:1951,1
    - Dst: p2p_channels_dump
      Src: /src/hostap/src/p2p/p2p.c:1952,1
    - Dst: p2p_channels_to_freqs
      Src: /src/hostap/src/p2p/p2p.c:1956,1
    - Dst: p2p_clear_timeout
      Src: /src/hostap/src/p2p/p2p.c:1961,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:1967,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/p2p/p2p.c:1978,1
    - Dst: os_strlen
      Src: /src/hostap/src/p2p/p2p.c:1982,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:1983,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/p2p/p2p.c:1986,1
    - Dst: pasn_initiator_pmksa_cache_get
      Src: /src/hostap/src/p2p/p2p.c:1992,1
    - Dst: pasn_responder_pmksa_cache_get
      Src: /src/hostap/src/p2p/p2p.c:1997,1
    - Dst: os_memset
      Src: /src/hostap/src/p2p/p2p.c:2004,1
    - Dst: os_memset
      Src: /src/hostap/src/p2p/p2p.c:2006,1
    - Dst: wpa_pasn_reset
      Src: /src/hostap/src/p2p/p2p.c:2008,1
    - Dst: p2p_set_state
      Src: /src/hostap/src/p2p/p2p.c:2013,1
    - Dst: struct p2p_data*::cfg::set_go_security_config
      Src: /src/hostap/src/p2p/p2p.c:2014,1
    - Dst: p2p_set_state
      Src: /src/hostap/src/p2p/p2p.c:2017,1
    - Dst: struct p2p_data*::cfg::go_neg_completed
      Src: /src/hostap/src/p2p/p2p.c:2018,1
    - Dst: forced_memzero
      Src: /src/hostap/src/p2p/p2p.c:2021,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 77
    argCount: 2
    argNames:
    - p2p
    - peer
    argTypes:
    - struct p2p_data*
    - struct p2p_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2022
      start: 1909
    functionDepth: 2
    functionLinenumber: 1909
    functionLinenumberEnd: 2022
    functionName: p2p_go_complete
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - p2p_random
    - p2p_channels_intersect
    - forced_memzero
    - os_strlcpy
    - struct p2p_data*::cfg::go_neg_completed
    - pasn_responder_pmksa_cache_get
    - os_strlen
    - p2p_dbg
    - struct p2p_data*::cfg::set_go_security_config
    - p2p_clear_timeout
    - p2p_channel_to_freq
    - p2p_channels_remove_freqs
    - p2p_channels_dump
    - p2p_set_state
    - os_memset
    - os_memcpy
    - p2p_channels_to_freqs
    - pasn_initiator_pmksa_cache_get
    - wpabuf_free
    - MAC2STR
    - wpa_pasn_reset
    linkageType: ''
    returnType: void
    signature: void p2p_go_complete(struct p2p_data *p2p, struct p2p_device *peer)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:2028,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p.c:2028,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/p2p/p2p.c:2029,1
    - Dst: p2p_handle_go_neg_req
      Src: /src/hostap/src/p2p/p2p.c:2036,1
    - Dst: p2p_handle_go_neg_resp
      Src: /src/hostap/src/p2p/p2p.c:2039,1
    - Dst: p2p_handle_go_neg_conf
      Src: /src/hostap/src/p2p/p2p.c:2042,1
    - Dst: p2p_handle_invitation_req
      Src: /src/hostap/src/p2p/p2p.c:2045,1
    - Dst: p2p_process_invitation_resp
      Src: /src/hostap/src/p2p/p2p.c:2048,1
    - Dst: p2p_handle_prov_disc_req
      Src: /src/hostap/src/p2p/p2p.c:2051,1
    - Dst: p2p_handle_prov_disc_resp
      Src: /src/hostap/src/p2p/p2p.c:2054,1
    - Dst: p2p_process_dev_disc_req
      Src: /src/hostap/src/p2p/p2p.c:2057,1
    - Dst: p2p_process_dev_disc_resp
      Src: /src/hostap/src/p2p/p2p.c:2060,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:2063,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 5
    argNames:
    - p2p
    - sa
    - data
    - len
    - rx_freq
    argTypes:
    - struct p2p_data*
    - u8*
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2067
      start: 2025
    functionDepth: 4
    functionLinenumber: 2025
    functionLinenumberEnd: 2067
    functionName: p2p_rx_p2p_action
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - p2p_handle_invitation_req
    - p2p_dbg
    - wpa_hexdump
    - p2p_handle_prov_disc_resp
    - p2p_process_invitation_resp
    - MAC2STR
    - p2p_handle_go_neg_conf
    - p2p_handle_go_neg_resp
    - p2p_handle_prov_disc_req
    - p2p_process_dev_disc_req
    - p2p_handle_go_neg_req
    - p2p_process_dev_disc_resp
    linkageType: ''
    returnType: void
    signature: "void p2p_rx_p2p_action(struct p2p_data *p2p, const u8 *sa,\n\t\t\t
      \     const u8 *data, size_t len, int rx_freq)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/p2p/p2p.c:2083,1
    - Dst: p2p_rx_p2p_action
      Src: /src/hostap/src/p2p/p2p.c:2089,1
    - Dst: p2p_rx_gas_initial_req
      Src: /src/hostap/src/p2p/p2p.c:2092,1
    - Dst: p2p_rx_gas_initial_resp
      Src: /src/hostap/src/p2p/p2p.c:2095,1
    - Dst: p2p_rx_gas_comeback_req
      Src: /src/hostap/src/p2p/p2p.c:2098,1
    - Dst: p2p_rx_gas_comeback_resp
      Src: /src/hostap/src/p2p/p2p.c:2101,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 7
    argNames:
    - p2p
    - da
    - sa
    - bssid
    - data
    - len
    - freq
    argTypes:
    - struct p2p_data*
    - u8*
    - u8*
    - u8*
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2104
      start: 2070
    functionDepth: 5
    functionLinenumber: 2070
    functionLinenumberEnd: 2104
    functionName: p2p_rx_action_public
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - p2p_rx_gas_initial_req
    - p2p_rx_gas_comeback_req
    - p2p_rx_gas_initial_resp
    - p2p_rx_gas_comeback_resp
    - WPA_GET_BE32
    - p2p_rx_p2p_action
    linkageType: ''
    returnType: void
    signature: "void p2p_rx_action_public(struct p2p_data *p2p, const u8 *da,\n\t\t\t\t
      const u8 *sa, const u8 *bssid, const u8 *data,\n\t\t\t\t size_t len, int freq)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: p2p_rx_action_public
      Src: /src/hostap/src/p2p/p2p.c:2112,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/p2p/p2p.c:2122,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:2128,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p.c:2128,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/p2p/p2p.c:2129,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:2135,1
    - Dst: p2p_process_presence_req
      Src: /src/hostap/src/p2p/p2p.c:2139,1
    - Dst: p2p_process_presence_resp
      Src: /src/hostap/src/p2p/p2p.c:2142,1
    - Dst: p2p_process_go_disc_req
      Src: /src/hostap/src/p2p/p2p.c:2145,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:2148,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 8
    argNames:
    - p2p
    - da
    - sa
    - bssid
    - category
    - data
    - len
    - freq
    argTypes:
    - struct p2p_data*
    - u8*
    - u8*
    - u8*
    - u8
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2151
      start: 2107
    functionDepth: 6
    functionLinenumber: 2107
    functionLinenumberEnd: 2151
    functionName: p2p_rx_action
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 5
    functionsReached:
    - p2p_dbg
    - wpa_hexdump
    - MAC2STR
    - p2p_rx_action_public
    - p2p_process_presence_req
    - p2p_process_go_disc_req
    - WPA_GET_BE32
    - p2p_process_presence_resp
    linkageType: ''
    returnType: void
    signature: "void p2p_rx_action(struct p2p_data *p2p, const u8 *da, const u8 *sa,\n\t\t
      \  const u8 *bssid, u8 category,\n\t\t   const u8 *data, size_t len, int freq)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:2160,1
    - Dst: struct p2p_data*::cfg::stop_listen
      Src: /src/hostap/src/p2p/p2p.c:2163,1
    - Dst: p2p_set_timeout
      Src: /src/hostap/src/p2p/p2p.c:2170,1
    - Dst: p2p_connect_send
      Src: /src/hostap/src/p2p/p2p.c:2171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2172
      start: 2154
    functionDepth: 2
    functionLinenumber: 2154
    functionLinenumberEnd: 2172
    functionName: p2p_go_neg_start
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - p2p_connect_send
    - p2p_set_timeout
    - p2p_dbg
    - struct p2p_data*::cfg::stop_listen
    linkageType: ''
    returnType: void
    signature: void p2p_go_neg_start(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:2181,1
    - Dst: struct p2p_data*::cfg::stop_listen
      Src: /src/hostap/src/p2p/p2p.c:2184,1
    - Dst: p2p_invite_send
      Src: /src/hostap/src/p2p/p2p.c:2186,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2188
      start: 2175
    functionDepth: 3
    functionLinenumber: 2175
    functionLinenumberEnd: 2188
    functionName: p2p_invite_start
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - p2p_invite_send
    - p2p_dbg
    - struct p2p_data*::cfg::stop_listen
    linkageType: ''
    returnType: void
    signature: void p2p_invite_start(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/p2p/p2p.c:2197,1
    - Dst: p2p_parse_ies
      Src: /src/hostap/src/p2p/p2p.c:2198,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p.c:2200,1
    - Dst: os_memcmp
      Src: /src/hostap/src/p2p/p2p.c:2205,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p.c:2212,1
    - Dst: p2p_get_device
      Src: /src/hostap/src/p2p/p2p.c:2216,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:2222,1
    - Dst: p2p_channel_to_freq
      Src: /src/hostap/src/p2p/p2p.c:2224,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:2228,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p.c:2230,1
    - Dst: p2p_update_peer_6ghz_capab
      Src: /src/hostap/src/p2p/p2p.c:2235,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/p2p/p2p.c:2236,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p.c:2237,1
    - Dst: p2p_create_device
      Src: /src/hostap/src/p2p/p2p.c:2241,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p.c:2243,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/p2p/p2p.c:2247,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:2251,1
    - Dst: p2p_channel_to_freq
      Src: /src/hostap/src/p2p/p2p.c:2252,1
    - Dst: p2p_copy_wps_info
      Src: /src/hostap/src/p2p/p2p.c:2256,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:2259,1
    - Dst: wpabuf_dup
      Src: /src/hostap/src/p2p/p2p.c:2260,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p.c:2263,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:2265,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p.c:2267,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 4
    argNames:
    - p2p
    - addr
    - ie
    - ie_len
    argTypes:
    - struct p2p_data*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2270
      start: 2191
    functionDepth: 3
    functionLinenumber: 2191
    functionLinenumberEnd: 2270
    functionName: p2p_add_dev_from_probe_req
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - wpabuf_dup
    - os_memcpy
    - p2p_parse_ies
    - p2p_dbg
    - os_get_reltime
    - p2p_copy_wps_info
    - p2p_channel_to_freq
    - wpabuf_free
    - p2p_create_device
    - p2p_get_device
    - MAC2STR
    - os_memcmp
    - p2p_parse_free
    - p2p_update_peer_6ghz_capab
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void p2p_add_dev_from_probe_req(struct p2p_data *p2p, const u8 *addr,\n\t\t\t\t
      \      const u8 *ie, size_t ie_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: p2p_get_device
      Src: /src/hostap/src/p2p/p2p.c:2279,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/p2p/p2p.c:2281,1
    - Dst: p2p_create_device
      Src: /src/hostap/src/p2p/p2p.c:2285,1
    - Dst: p2p_add_dev_info
      Src: /src/hostap/src/p2p/p2p.c:2289,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - p2p
    - addr
    - msg
    argTypes:
    - struct p2p_data*
    - u8*
    - struct p2p_message*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2292
      start: 2273
    functionDepth: 3
    functionLinenumber: 2273
    functionLinenumberEnd: 2292
    functionName: p2p_add_dev_from_go_neg_req
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - p2p_get_device
    - os_get_reltime
    - p2p_add_dev_info
    - p2p_create_device
    linkageType: ''
    returnType: struct p2p_device
    signature: "struct p2p_device * p2p_add_dev_from_go_neg_req(struct p2p_data *p2p,\n\t\t\t\t\t\tconst
      u8 *addr,\n\t\t\t\t\t\tstruct p2p_message *msg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/src/p2p/p2p.c:2297,1
    - Dst: os_memcmp
      Src: /src/hostap/src/p2p/p2p.c:2299,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/p2p/p2p.c:2300,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/p2p/p2p.c:2301,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - dev_type
    - req_dev_type
    argTypes:
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2304
      start: 2295
    functionDepth: 1
    functionLinenumber: 2295
    functionLinenumberEnd: 2304
    functionName: dev_type_match
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - WPA_GET_BE32
    - WPA_GET_BE16
    - os_memcmp
    linkageType: ''
    returnType: int
    signature: int dev_type_match(const u8 *dev_type, const u8 *req_dev_type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_type_match
      Src: /src/hostap/src/p2p/p2p.c:2312,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - dev_type
    - req_dev_type
    - num_req_dev_type
    argTypes:
    - u8*
    - u8*[]
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2316
      start: 2307
    functionDepth: 2
    functionLinenumber: 2307
    functionLinenumberEnd: 2316
    functionName: dev_type_list_match
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - dev_type_match
    linkageType: ''
    returnType: int
    signature: "int dev_type_list_match(const u8 *dev_type, const u8 *req_dev_type[],\n\t\t\tsize_t
      num_req_dev_type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wps_parse_msg
      Src: /src/hostap/src/p2p/p2p.c:2334,1
    - Dst: dev_type_list_match
      Src: /src/hostap/src/p2p/p2p.c:2340,1
    - Dst: dev_type_list_match
      Src: /src/hostap/src/p2p/p2p.c:2345,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - p2p
    - wps
    argTypes:
    - struct p2p_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2353
      start: 2329
    functionDepth: 3
    functionLinenumber: 2329
    functionLinenumberEnd: 2353
    functionName: p2p_match_dev_type
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - dev_type_list_match
    - wps_parse_msg
    linkageType: ''
    returnType: int
    signature: int p2p_match_dev_type(struct p2p_data *p2p, struct wpabuf *wps)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p.c:2367,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p.c:2371,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/p2p/p2p.c:2376,1
    - Dst: p2p_wps_method_pw_id
      Src: /src/hostap/src/p2p/p2p.c:2382,1
    - Dst: p2p_build_wps_ie
      Src: /src/hostap/src/p2p/p2p.c:2385,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:2386,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:2387,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/p2p/p2p.c:2393,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/p2p/p2p.c:2397,1
    - Dst: p2p_buf_add_ie_hdr
      Src: /src/hostap/src/p2p/p2p.c:2401,1
    - Dst: p2p_buf_add_capability
      Src: /src/hostap/src/p2p/p2p.c:2402,1
    - Dst: p2p_buf_add_ext_listen_timing
      Src: /src/hostap/src/p2p/p2p.c:2405,1
    - Dst: p2p_buf_add_device_info
      Src: /src/hostap/src/p2p/p2p.c:2407,1
    - Dst: p2p_buf_update_ie_hdr
      Src: /src/hostap/src/p2p/p2p.c:2408,1
    - Dst: p2p_buf_add_service_instance
      Src: /src/hostap/src/p2p/p2p.c:2411,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 3
    argNames:
    - p2p
    - query_hash
    - query_count
    argTypes:
    - struct p2p_data*
    - u8*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2416
      start: 2356
    functionDepth: 4
    functionLinenumber: 2356
    functionLinenumberEnd: 2416
    functionName: p2p_build_probe_resp_ies
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 2
    functionsReached:
    - p2p_buf_add_ie_hdr
    - p2p_buf_add_service_instance
    - p2p_dbg
    - wpabuf_len
    - wpabuf_free
    - p2p_buf_add_device_info
    - wpabuf_alloc
    - wpabuf_put_buf
    - p2p_buf_update_ie_hdr
    - p2p_buf_add_ext_listen_timing
    - p2p_buf_add_capability
    - p2p_wps_method_pw_id
    - p2p_build_wps_ie
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * p2p_build_probe_resp_ies(struct p2p_data *p2p,\n\t\t\t\t\t
      const u8 *query_hash,\n\t\t\t\t\t u8 query_count)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put
      Src: /src/hostap/src/p2p/p2p.c:2425,1
    - Dst: host_to_le16
      Src: /src/hostap/src/p2p/p2p.c:2428,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:2430,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:2431,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:2432,1
    - Dst: host_to_le16
      Src: /src/hostap/src/p2p/p2p.c:2433,1
    - Dst: host_to_le16
      Src: /src/hostap/src/p2p/p2p.c:2436,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p.c:2440,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p.c:2441,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/p2p/p2p.c:2442,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p.c:2444,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p.c:2445,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p.c:2446,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p.c:2447,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p.c:2448,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p.c:2449,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p.c:2450,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p.c:2451,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p.c:2452,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p.c:2453,1
    - Dst: p2p_freq_to_channel
      Src: /src/hostap/src/p2p/p2p.c:2457,1
    - Dst: p2p_err
      Src: /src/hostap/src/p2p/p2p.c:2458,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p.c:2462,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p.c:2463,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p.c:2464,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/p2p/p2p.c:2466,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 33
    argCount: 5
    argNames:
    - p2p
    - buf
    - ies
    - addr
    - rx_freq
    argTypes:
    - struct p2p_data*
    - struct wpabuf*
    - struct wpabuf*
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2469
      start: 2418
    functionDepth: 1
    functionLinenumber: 2418
    functionLinenumberEnd: 2469
    functionName: p2p_build_probe_resp_buf
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - p2p_freq_to_channel
    - wpabuf_put
    - os_memcpy
    - wpabuf_put_u8
    - wpabuf_put_data
    - wpabuf_put_buf
    - p2p_err
    - host_to_le16
    linkageType: ''
    returnType: int
    signature: "int p2p_build_probe_resp_buf(struct p2p_data *p2p, struct wpabuf *buf,\n\t\t\t\t
      \   struct wpabuf *ies,\n\t\t\t\t    const u8 *addr, int rx_freq)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:2476,1
    - Dst: os_memcmp
      Src: /src/hostap/src/p2p/p2p.c:2479,1
    - Dst: os_memcmp
      Src: /src/hostap/src/p2p/p2p.c:2483,1
    - Dst: os_strncmp
      Src: /src/hostap/src/p2p/p2p.c:2486,1
    - Dst: os_strlen
      Src: /src/hostap/src/p2p/p2p.c:2487,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - p2p
    - hash
    argTypes:
    - struct p2p_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2493
      start: 2471
    functionDepth: 1
    functionLinenumber: 2471
    functionLinenumberEnd: 2493
    functionName: p2p_service_find_asp
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - p2p_dbg
    - os_memcmp
    - os_strncmp
    linkageType: ''
    returnType: int
    signature: int p2p_service_find_asp(struct p2p_data *p2p, const u8 *hash)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/src/p2p/p2p.c:2506,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:2509,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:2515,1
    - Dst: is_broadcast_ether_addr
      Src: /src/hostap/src/p2p/p2p.c:2519,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/p2p/p2p.c:2520,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:2523,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p.c:2524,1
    - Dst: is_broadcast_ether_addr
      Src: /src/hostap/src/p2p/p2p.c:2528,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:2530,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p.c:2531,1
    - Dst: os_memcmp
      Src: /src/hostap/src/p2p/p2p.c:2536,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:2539,1
    - Dst: supp_rates_11b_only
      Src: /src/hostap/src/p2p/p2p.c:2543,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:2545,1
    - Dst: os_memset
      Src: /src/hostap/src/p2p/p2p.c:2549,1
    - Dst: p2p_parse_ies
      Src: /src/hostap/src/p2p/p2p.c:2550,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:2552,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:2561,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:2568,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p.c:2570,1
    - Dst: p2p_service_find_asp
      Src: /src/hostap/src/p2p/p2p.c:2575,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:2576,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p.c:2577,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:2586,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p.c:2587,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:2592,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:2596,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p.c:2598,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/p2p/p2p.c:2604,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:2606,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p.c:2607,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p.c:2608,1
    - Dst: p2p_match_dev_type
      Src: /src/hostap/src/p2p/p2p.c:2614,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:2616,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p.c:2617,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:2623,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p.c:2624,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:2628,1
    - Dst: p2p_build_probe_resp_ies
      Src: /src/hostap/src/p2p/p2p.c:2636,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p.c:2638,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/p2p/p2p.c:2642,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p.c:2642,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:2644,1
    - Dst: p2p_build_probe_resp_buf
      Src: /src/hostap/src/p2p/p2p.c:2648,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:2649,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:2650,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:2654,1
    - Dst: struct p2p_data*::cfg::send_probe_resp
      Src: /src/hostap/src/p2p/p2p.c:2656,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:2658,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 92
    argCount: 7
    argNames:
    - p2p
    - addr
    - dst
    - bssid
    - ie
    - ie_len
    - rx_freq
    argTypes:
    - struct p2p_data*
    - u8*
    - u8*
    - u8*
    - u8*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2661
      start: 2496
    functionDepth: 5
    functionLinenumber: 2496
    functionLinenumberEnd: 2661
    functionName: p2p_reply_probe
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - p2p_parse_ies
    - p2p_dbg
    - p2p_service_find_asp
    - is_broadcast_ether_addr
    - wpabuf_len
    - supp_rates_11b_only
    - ether_addr_equal
    - p2p_build_probe_resp_ies
    - wpabuf_free
    - p2p_build_probe_resp_buf
    - MAC2STR
    - wpabuf_alloc
    - ieee802_11_parse_elems
    - os_memcmp
    - p2p_parse_free
    - struct p2p_data*::cfg::send_probe_resp
    - p2p_match_dev_type
    - os_memset
    linkageType: ''
    returnType: enum p2p_probe_req_status
    signature: "enum p2p_probe_req_status p2p_reply_probe(struct p2p_data *p2p, const
      u8 *addr, const u8 *dst,\n\t\tconst u8 *bssid, const u8 *ie, size_t ie_len,\n\t\tunsigned
      int rx_freq)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: p2p_add_dev_from_probe_req
      Src: /src/hostap/src/p2p/p2p.c:2671,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:2674,1
    - Dst: p2p_reply_probe
      Src: /src/hostap/src/p2p/p2p.c:2679,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/p2p/p2p.c:2693,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:2696,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/p2p/p2p.c:2697,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/p2p/p2p.c:2698,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/p2p/p2p.c:2705,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:2707,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/p2p/p2p.c:2708,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/p2p/p2p.c:2709,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 8
    argNames:
    - p2p
    - addr
    - dst
    - bssid
    - ie
    - ie_len
    - rx_freq
    - p2p_lo_started
    argTypes:
    - struct p2p_data*
    - u8*
    - u8*
    - u8*
    - u8*
    - size_t
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2714
      start: 2664
    functionDepth: 6
    functionLinenumber: 2664
    functionLinenumberEnd: 2714
    functionName: p2p_probe_req_rx
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 4
    functionsReached:
    - p2p_dbg
    - eloop_cancel_timeout
    - ether_addr_equal
    - p2p_add_dev_from_probe_req
    - p2p_reply_probe
    - eloop_register_timeout
    linkageType: ''
    returnType: enum p2p_probe_req_status
    signature: "enum p2p_probe_req_status p2p_probe_req_rx(struct p2p_data *p2p, const
      u8 *addr, const u8 *dst,\n\t\t const u8 *bssid, const u8 *ie, size_t ie_len,\n\t\t
      unsigned int rx_freq, int p2p_lo_started)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/p2p/p2p.c:2730,1
    - Dst: p2p_parse_p2p_ie
      Src: /src/hostap/src/p2p/p2p.c:2731,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:2734,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/p2p/p2p.c:2746,1
    - Dst: p2p_buf_add_ie_hdr
      Src: /src/hostap/src/p2p/p2p.c:2750,1
    - Dst: p2p_buf_add_capability
      Src: /src/hostap/src/p2p/p2p.c:2759,1
    - Dst: p2p_buf_add_p2p_interface
      Src: /src/hostap/src/p2p/p2p.c:2762,1
    - Dst: p2p_buf_update_ie_hdr
      Src: /src/hostap/src/p2p/p2p.c:2763,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p.c:2765,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:2769,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/p2p/p2p.c:2769,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:2772,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 5
    argNames:
    - p2p
    - bssid
    - buf
    - len
    - p2p_ie
    argTypes:
    - struct p2p_data*
    - u8*
    - u8*
    - size_t
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2775
      start: 2717
    functionDepth: 2
    functionLinenumber: 2717
    functionLinenumberEnd: 2775
    functionName: p2p_assoc_req_ie_wlan_ap
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - p2p_buf_add_ie_hdr
    - os_memcpy
    - p2p_dbg
    - wpabuf_len
    - wpabuf_free
    - p2p_buf_add_p2p_interface
    - wpabuf_head
    - p2p_buf_update_ie_hdr
    - wpabuf_alloc
    - p2p_buf_add_capability
    - p2p_parse_p2p_ie
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int p2p_assoc_req_ie_wlan_ap(struct p2p_data *p2p, const u8 *bssid,\n\t\t\t\t
      \   u8 *buf, size_t len, struct wpabuf *p2p_ie)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: p2p_assoc_req_ie_wlan_ap
      Src: /src/hostap/src/p2p/p2p.c:2789,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p.c:2793,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p.c:2797,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/p2p/p2p.c:2805,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/p2p/p2p.c:2811,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/p2p/p2p.c:2815,1
    - Dst: p2p_get_device
      Src: /src/hostap/src/p2p/p2p.c:2818,1
    - Dst: p2p_buf_add_ie_hdr
      Src: /src/hostap/src/p2p/p2p.c:2820,1
    - Dst: p2p_buf_add_capability
      Src: /src/hostap/src/p2p/p2p.c:2821,1
    - Dst: p2p_buf_add_ext_listen_timing
      Src: /src/hostap/src/p2p/p2p.c:2823,1
    - Dst: p2p_buf_add_device_info
      Src: /src/hostap/src/p2p/p2p.c:2825,1
    - Dst: p2p_buf_update_ie_hdr
      Src: /src/hostap/src/p2p/p2p.c:2826,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p.c:2828,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:2832,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/p2p/p2p.c:2832,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:2835,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 6
    argNames:
    - p2p
    - bssid
    - buf
    - len
    - p2p_group
    - p2p_ie
    argTypes:
    - struct p2p_data*
    - u8*
    - u8*
    - size_t
    - int
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2838
      start: 2778
    functionDepth: 3
    functionLinenumber: 2778
    functionLinenumberEnd: 2838
    functionName: p2p_assoc_req_ie
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached:
    - p2p_buf_add_ie_hdr
    - os_memcpy
    - wpabuf_len
    - wpabuf_free
    - wpabuf_head
    - p2p_get_device
    - wpabuf_alloc
    - p2p_assoc_req_ie_wlan_ap
    - wpabuf_put_buf
    - p2p_buf_add_ext_listen_timing
    - p2p_buf_add_capability
    - p2p_buf_add_device_info
    - p2p_buf_update_ie_hdr
    linkageType: ''
    returnType: int
    signature: "int p2p_assoc_req_ie(struct p2p_data *p2p, const u8 *bssid, u8 *buf,\n\t\t
      \    size_t len, int p2p_group, struct wpabuf *p2p_ie)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_11_vendor_ie_concat
      Src: /src/hostap/src/p2p/p2p.c:2846,1
    - Dst: p2p_attr_text
      Src: /src/hostap/src/p2p/p2p.c:2850,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:2851,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - ies
    - ies_len
    - buf
    - end
    argTypes:
    - u8*
    - size_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2853
      start: 2841
    functionDepth: 1
    functionLinenumber: 2841
    functionLinenumberEnd: 2853
    functionName: p2p_scan_result_text
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 2
    functionsReached:
    - wpabuf_free
    - ieee802_11_vendor_ie_concat
    - p2p_attr_text
    linkageType: ''
    returnType: int
    signature: int p2p_scan_result_text(const u8 *ies, size_t ies_len, char *buf,
      char *end)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - p2p
    - adv_id
    argTypes:
    - struct p2p_data*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2872
      start: 2856
    functionDepth: 0
    functionLinenumber: 2856
    functionLinenumberEnd: 2872
    functionName: p2p_service_p2ps_id
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: struct p2ps_advertisement
    signature: 'struct p2ps_advertisement *

      p2p_service_p2ps_id(struct p2p_data *p2p, u32 adv_id)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:2887,1
    - Dst: os_free
      Src: /src/hostap/src/p2p/p2p.c:2889,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - p2p
    - adv_id
    argTypes:
    - struct p2p_data*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2897
      start: 2875
    functionDepth: 1
    functionLinenumber: 2875
    functionLinenumberEnd: 2897
    functionName: p2p_service_del_asp
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 2
    functionsReached:
    - os_free
    - p2p_dbg
    linkageType: ''
    returnType: int
    signature: int p2p_service_del_asp(struct p2p_data *p2p, u32 adv_id)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:2913,1
    - Dst: p2ps_gen_hash
      Src: /src/hostap/src/p2p/p2p.c:2918,1
    - Dst: os_strlen
      Src: /src/hostap/src/p2p/p2p.c:2922,1
    - Dst: os_strlen
      Src: /src/hostap/src/p2p/p2p.c:2923,1
    - Dst: os_zalloc
      Src: /src/hostap/src/p2p/p2p.c:2927,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:2931,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:2936,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:2945,1
    - Dst: os_strcmp
      Src: /src/hostap/src/p2p/p2p.c:2956,1
    - Dst: os_free
      Src: /src/hostap/src/p2p/p2p.c:2957,1
    - Dst: os_free
      Src: /src/hostap/src/p2p/p2p.c:2962,1
    - Dst: os_strcmp
      Src: /src/hostap/src/p2p/p2p.c:2965,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:2980,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 60
    argCount: 8
    argNames:
    - p2p
    - auto_accept
    - adv_id
    - adv_str
    - svc_state
    - config_methods
    - svc_info
    - cpt_priority
    argTypes:
    - struct p2p_data*
    - int
    - u32
    - char*
    - u8
    - u16
    - char*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2986
      start: 2900
    functionDepth: 1
    functionLinenumber: 2900
    functionLinenumberEnd: 2986
    functionName: p2p_service_add_asp
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 2
    functionsReached:
    - os_strlen
    - p2ps_gen_hash
    - os_memcpy
    - p2p_dbg
    - os_zalloc
    - os_free
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: "int p2p_service_add_asp(struct p2p_data *p2p, int auto_accept, u32
      adv_id,\n\t\t\tconst char *adv_str, u8 svc_state, u16 config_methods,\n\t\t\tconst
      char *svc_info, const u8 *cpt_priority)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/p2p/p2p.c:3000,1
    - Dst: p2ps_prov_free
      Src: /src/hostap/src/p2p/p2p.c:3004,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:3005,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - p2p
    argTypes:
    - struct p2p_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3006
      start: 2989
    functionDepth: 1
    functionLinenumber: 2989
    functionLinenumberEnd: 3006
    functionName: p2p_service_flush_asp
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 3
    functionsReached:
    - os_free
    - p2ps_prov_free
    - p2p_dbg
    linkageType: ''
    returnType: void
    signature: void p2p_service_flush_asp(struct p2p_data *p2p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/p2p/p2p.c:3013,1
    - Dst: p2p_parse_p2p_ie
      Src: /src/hostap/src/p2p/p2p.c:3014,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:3018,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:3021,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - p2p_ie
    - dev_addr
    argTypes:
    - struct wpabuf*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3025
      start: 3009
    functionDepth: 1
    functionLinenumber: 3009
    functionLinenumberEnd: 3025
    functionName: p2p_parse_dev_addr_in_p2p_ie
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 2
    functionsReached:
    - os_memcpy
    - p2p_parse_p2p_ie
    - os_memset
    linkageType: ''
    returnType: int
    signature: int p2p_parse_dev_addr_in_p2p_ie(struct wpabuf *p2p_ie, u8 *dev_addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_11_vendor_ie_concat
      Src: /src/hostap/src/p2p/p2p.c:3033,1
    - Dst: p2p_parse_dev_addr_in_p2p_ie
      Src: /src/hostap/src/p2p/p2p.c:3037,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:3038,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ies
    - ies_len
    - dev_addr
    argTypes:
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3040
      start: 3028
    functionDepth: 2
    functionLinenumber: 3028
    functionLinenumberEnd: 3040
    functionName: p2p_parse_dev_addr
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 3
    functionsReached:
    - p2p_parse_dev_addr_in_p2p_ie
    - wpabuf_free
    - ieee802_11_vendor_ie_concat
    linkageType: ''
    returnType: int
    signature: int p2p_parse_dev_addr(const u8 *ies, size_t ies_len, u8 *dev_addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: p2p_clear_timeout
      Src: /src/hostap/src/p2p/p2p.c:3046,1
    - Dst: p2p_set_state
      Src: /src/hostap/src/p2p/p2p.c:3047,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p2p
    argTypes:
    - struct p2p_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3048
      start: 3043
    functionDepth: 2
    functionLinenumber: 3043
    functionLinenumberEnd: 3048
    functionName: p2p_clear_go_neg
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - p2p_clear_timeout
    - p2p_set_state
    linkageType: ''
    returnType: void
    signature: void p2p_clear_go_neg(struct p2p_data *p2p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:3054,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/p2p/p2p.c:3058,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:3059,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p.c:3061,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p.c:3062,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:3066,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p.c:3067,1
    - Dst: p2p_clear_go_neg
      Src: /src/hostap/src/p2p/p2p.c:3069,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - p2p
    - mac_addr
    argTypes:
    - struct p2p_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3070
      start: 3051
    functionDepth: 3
    functionLinenumber: 3051
    functionLinenumberEnd: 3070
    functionName: p2p_wps_success_cb
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 2
    functionsReached:
    - MAC2STR
    - ether_addr_equal
    - p2p_dbg
    - p2p_clear_go_neg
    linkageType: ''
    returnType: void
    signature: void p2p_wps_success_cb(struct p2p_data *p2p, const u8 *mac_addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:3076,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:3080,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p.c:3081,1
    - Dst: p2p_clear_go_neg
      Src: /src/hostap/src/p2p/p2p.c:3083,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - p2p
    argTypes:
    - struct p2p_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3084
      start: 3073
    functionDepth: 3
    functionLinenumber: 3073
    functionLinenumberEnd: 3084
    functionName: p2p_group_formation_failed
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 6
    functionsReached:
    - MAC2STR
    - p2p_dbg
    - p2p_clear_go_neg
    linkageType: ''
    returnType: void
    signature: void p2p_group_formation_failed(struct p2p_data *p2p)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p2p
    argTypes:
    - struct p2p_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3092
      start: 3087
    functionDepth: 0
    functionLinenumber: 3087
    functionLinenumberEnd: 3092
    functionName: is_p2p_6ghz_disabled
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_p2p_6ghz_disabled(struct p2p_data *p2p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:3098,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - p2p
    - addr
    argTypes:
    - struct p2p_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3099
      start: 3095
    functionDepth: 0
    functionLinenumber: 3095
    functionLinenumberEnd: 3099
    functionName: p2p_set_dev_addr
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    linkageType: ''
    returnType: void
    signature: void p2p_set_dev_addr(struct p2p_data *p2p, const u8 *addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - p2p
    - freq
    - ap_ch_width
    - disconnect_evt
    argTypes:
    - struct p2p_data*
    - int
    - enum chan_width
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3115
      start: 3102
    functionDepth: 0
    functionLinenumber: 3102
    functionLinenumberEnd: 3115
    functionName: p2p_update_dfs_ap_info
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void p2p_update_dfs_ap_info(struct p2p_data *p2p, int freq,\n\t\t\t
      \   enum chan_width ap_ch_width, bool disconnect_evt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pasn_initiator_pmksa_cache_deinit
      Src: /src/hostap/src/p2p/p2p.c:3121,1
    - Dst: pasn_responder_pmksa_cache_deinit
      Src: /src/hostap/src/p2p/p2p.c:3122,1
    - Dst: os_free
      Src: /src/hostap/src/p2p/p2p.c:3124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p2p
    argTypes:
    - struct p2p_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3125
      start: 3118
    functionDepth: 1
    functionLinenumber: 3118
    functionLinenumberEnd: 3125
    functionName: p2p_pairing_info_deinit
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - os_free
    - pasn_initiator_pmksa_cache_deinit
    - pasn_responder_pmksa_cache_deinit
    linkageType: ''
    returnType: void
    signature: void p2p_pairing_info_deinit(struct p2p_data *p2p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/p2p/p2p.c:3135,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:3149,1
    - Dst: p2p_pairing_info_deinit
      Src: /src/hostap/src/p2p/p2p.c:3154,1
    - Dst: pasn_initiator_pmksa_cache_init
      Src: /src/hostap/src/p2p/p2p.c:3158,1
    - Dst: pasn_responder_pmksa_cache_init
      Src: /src/hostap/src/p2p/p2p.c:3159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - p2p
    argTypes:
    - struct p2p_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3163
      start: 3128
    functionDepth: 2
    functionLinenumber: 3128
    functionLinenumberEnd: 3163
    functionName: p2p_pairing_info_init
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - p2p_pairing_info_deinit
    - os_memcpy
    - pasn_responder_pmksa_cache_init
    - os_zalloc
    - pasn_initiator_pmksa_cache_init
    linkageType: ''
    returnType: int
    signature: int p2p_pairing_info_init(struct p2p_data *p2p)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/p2p/p2p.c:3174,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:3178,1
    - Dst: os_strdup
      Src: /src/hostap/src/p2p/p2p.c:3180,1
    - Dst: os_strdup
      Src: /src/hostap/src/p2p/p2p.c:3182,1
    - Dst: os_strdup
      Src: /src/hostap/src/p2p/p2p.c:3184,1
    - Dst: os_strdup
      Src: /src/hostap/src/p2p/p2p.c:3186,1
    - Dst: os_strdup
      Src: /src/hostap/src/p2p/p2p.c:3188,1
    - Dst: os_malloc
      Src: /src/hostap/src/p2p/p2p.c:3190,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:3193,1
    - Dst: p2ps_gen_hash
      Src: /src/hostap/src/p2p/p2p.c:3200,1
    - Dst: os_get_random
      Src: /src/hostap/src/p2p/p2p.c:3206,1
    - Dst: dl_list_init
      Src: /src/hostap/src/p2p/p2p.c:3216,1
    - Dst: p2p_pairing_info_init
      Src: /src/hostap/src/p2p/p2p.c:3224,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:3226,1
    - Dst: p2p_channels_dump
      Src: /src/hostap/src/p2p/p2p.c:3227,1
    - Dst: p2p_channels_dump
      Src: /src/hostap/src/p2p/p2p.c:3228,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 49
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - struct p2p_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3231
      start: 3166
    functionDepth: 3
    functionLinenumber: 3166
    functionLinenumberEnd: 3231
    functionName: p2p_init
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 3
    functionsReached:
    - p2ps_gen_hash
    - os_memcpy
    - p2p_dbg
    - os_malloc
    - os_get_random
    - os_zalloc
    - p2p_pairing_info_init
    - p2p_channels_dump
    - dl_list_init
    - os_strdup
    linkageType: ''
    returnType: struct p2p_data
    signature: struct p2p_data * p2p_init(const struct p2p_config *cfg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:3237,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:3238,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:3239,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:3240,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:3241,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:3242,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:3243,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:3244,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:3245,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:3246,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:3247,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:3248,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/p2p/p2p.c:3251,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/p2p/p2p.c:3252,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/p2p/p2p.c:3253,1
    - Dst: p2p_flush
      Src: /src/hostap/src/p2p/p2p.c:3254,1
    - Dst: p2p_free_req_dev_types
      Src: /src/hostap/src/p2p/p2p.c:3255,1
    - Dst: os_free
      Src: /src/hostap/src/p2p/p2p.c:3256,1
    - Dst: os_free
      Src: /src/hostap/src/p2p/p2p.c:3257,1
    - Dst: os_free
      Src: /src/hostap/src/p2p/p2p.c:3258,1
    - Dst: os_free
      Src: /src/hostap/src/p2p/p2p.c:3259,1
    - Dst: os_free
      Src: /src/hostap/src/p2p/p2p.c:3260,1
    - Dst: os_free
      Src: /src/hostap/src/p2p/p2p.c:3261,1
    - Dst: os_free
      Src: /src/hostap/src/p2p/p2p.c:3262,1
    - Dst: p2ps_prov_free
      Src: /src/hostap/src/p2p/p2p.c:3263,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:3264,1
    - Dst: p2p_remove_wps_vendor_extensions
      Src: /src/hostap/src/p2p/p2p.c:3265,1
    - Dst: os_free
      Src: /src/hostap/src/p2p/p2p.c:3266,1
    - Dst: p2p_service_flush_asp
      Src: /src/hostap/src/p2p/p2p.c:3267,1
    - Dst: p2p_pairing_info_deinit
      Src: /src/hostap/src/p2p/p2p.c:3268,1
    - Dst: os_free
      Src: /src/hostap/src/p2p/p2p.c:3270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 1
    argNames:
    - p2p
    argTypes:
    - struct p2p_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3271
      start: 3234
    functionDepth: 2
    functionLinenumber: 3234
    functionLinenumberEnd: 3271
    functionName: p2p_deinit
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 3
    functionsReached:
    - p2ps_prov_free
    - p2p_pairing_info_deinit
    - p2p_service_flush_asp
    - eloop_cancel_timeout
    - wpabuf_free
    - p2p_flush
    - os_free
    - p2p_free_req_dev_types
    - p2p_remove_wps_vendor_extensions
    linkageType: ''
    returnType: void
    signature: void p2p_deinit(struct p2p_data *p2p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: p2p_ext_listen
      Src: /src/hostap/src/p2p/p2p.c:3278,1
    - Dst: p2p_stop_find
      Src: /src/hostap/src/p2p/p2p.c:3279,1
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/p2p/p2p.c:3280,1
    - Dst: dl_list_del
      Src: /src/hostap/src/p2p/p2p.c:3282,1
    - Dst: p2p_device_free
      Src: /src/hostap/src/p2p/p2p.c:3283,1
    - Dst: p2p_free_sd_queries
      Src: /src/hostap/src/p2p/p2p.c:3285,1
    - Dst: p2ps_prov_free
      Src: /src/hostap/src/p2p/p2p.c:3287,1
    - Dst: p2p_reset_pending_pd
      Src: /src/hostap/src/p2p/p2p.c:3288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - p2p
    argTypes:
    - struct p2p_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3291
      start: 3274
    functionDepth: 4
    functionLinenumber: 3274
    functionLinenumberEnd: 3291
    functionName: p2p_flush
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 4
    functionsReached:
    - p2ps_prov_free
    - dl_list_del
    - p2p_reset_pending_pd
    - p2p_free_sd_queries
    - p2p_device_free
    - p2p_ext_listen
    - p2p_stop_find
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: void p2p_flush(struct p2p_data *p2p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: p2p_get_device
      Src: /src/hostap/src/p2p/p2p.c:3298,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:3302,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p.c:3302,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/p2p/p2p.c:3305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - p2p
    - addr
    argTypes:
    - struct p2p_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3315
      start: 3294
    functionDepth: 2
    functionLinenumber: 3294
    functionLinenumberEnd: 3315
    functionName: p2p_unauthorize
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 3
    functionsReached:
    - eloop_cancel_timeout
    - p2p_get_device
    - MAC2STR
    - p2p_dbg
    linkageType: ''
    returnType: int
    signature: int p2p_unauthorize(struct p2p_data *p2p, const u8 *addr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/p2p/p2p.c:3320,1
    - Dst: os_strdup
      Src: /src/hostap/src/p2p/p2p.c:3322,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - p2p
    - dev_name
    argTypes:
    - struct p2p_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3328
      start: 3318
    functionDepth: 0
    functionLinenumber: 3318
    functionLinenumberEnd: 3328
    functionName: p2p_set_dev_name
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached:
    - os_free
    - os_strdup
    linkageType: ''
    returnType: int
    signature: int p2p_set_dev_name(struct p2p_data *p2p, const char *dev_name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/p2p/p2p.c:3333,1
    - Dst: os_strdup
      Src: /src/hostap/src/p2p/p2p.c:3336,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - p2p
    - manufacturer
    argTypes:
    - struct p2p_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3342
      start: 3331
    functionDepth: 0
    functionLinenumber: 3331
    functionLinenumberEnd: 3342
    functionName: p2p_set_manufacturer
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached:
    - os_free
    - os_strdup
    linkageType: ''
    returnType: int
    signature: int p2p_set_manufacturer(struct p2p_data *p2p, const char *manufacturer)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/p2p/p2p.c:3347,1
    - Dst: os_strdup
      Src: /src/hostap/src/p2p/p2p.c:3350,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - p2p
    - model_name
    argTypes:
    - struct p2p_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3356
      start: 3345
    functionDepth: 0
    functionLinenumber: 3345
    functionLinenumberEnd: 3356
    functionName: p2p_set_model_name
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached:
    - os_free
    - os_strdup
    linkageType: ''
    returnType: int
    signature: int p2p_set_model_name(struct p2p_data *p2p, const char *model_name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/p2p/p2p.c:3361,1
    - Dst: os_strdup
      Src: /src/hostap/src/p2p/p2p.c:3364,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - p2p
    - model_number
    argTypes:
    - struct p2p_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3370
      start: 3359
    functionDepth: 0
    functionLinenumber: 3359
    functionLinenumberEnd: 3370
    functionName: p2p_set_model_number
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached:
    - os_free
    - os_strdup
    linkageType: ''
    returnType: int
    signature: int p2p_set_model_number(struct p2p_data *p2p, const char *model_number)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/p2p/p2p.c:3375,1
    - Dst: os_strdup
      Src: /src/hostap/src/p2p/p2p.c:3378,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - p2p
    - serial_number
    argTypes:
    - struct p2p_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3384
      start: 3373
    functionDepth: 0
    functionLinenumber: 3373
    functionLinenumberEnd: 3384
    functionName: p2p_set_serial_number
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached:
    - os_free
    - os_strdup
    linkageType: ''
    returnType: int
    signature: int p2p_set_serial_number(struct p2p_data *p2p, const char *serial_number)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p2p
    - config_methods
    argTypes:
    - struct p2p_data*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3390
      start: 3387
    functionDepth: 0
    functionLinenumber: 3387
    functionLinenumberEnd: 3390
    functionName: p2p_set_config_methods
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void p2p_set_config_methods(struct p2p_data *p2p, u16 config_methods)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:3395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p2p
    - uuid
    argTypes:
    - struct p2p_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3396
      start: 3393
    functionDepth: 0
    functionLinenumber: 3393
    functionLinenumberEnd: 3396
    functionName: p2p_set_uuid
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    linkageType: ''
    returnType: void
    signature: void p2p_set_uuid(struct p2p_data *p2p, const u8 *uuid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:3401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p2p
    - pri_dev_type
    argTypes:
    - struct p2p_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3403
      start: 3399
    functionDepth: 0
    functionLinenumber: 3399
    functionLinenumberEnd: 3403
    functionName: p2p_set_pri_dev_type
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    linkageType: ''
    returnType: int
    signature: int p2p_set_pri_dev_type(struct p2p_data *p2p, const u8 *pri_dev_type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:3412,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - p2p
    - dev_types
    - num_dev_types
    argTypes:
    - struct p2p_data*
    - u8[][]
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3414
      start: 3406
    functionDepth: 0
    functionLinenumber: 3406
    functionLinenumberEnd: 3414
    functionName: p2p_set_sec_dev_types
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    linkageType: ''
    returnType: int
    signature: "int p2p_set_sec_dev_types(struct p2p_data *p2p, const u8 dev_types[][8],\n\t\t\t
      \ size_t num_dev_types)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:3422,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p2p
    argTypes:
    - struct p2p_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3425
      start: 3417
    functionDepth: 1
    functionLinenumber: 3417
    functionLinenumberEnd: 3425
    functionName: p2p_remove_wps_vendor_extensions
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 2
    functionsReached:
    - wpabuf_free
    linkageType: ''
    returnType: void
    signature: void p2p_remove_wps_vendor_extensions(struct p2p_data *p2p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_dup
      Src: /src/hostap/src/p2p/p2p.c:3443,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - p2p
    - vendor_ext
    argTypes:
    - struct p2p_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3448
      start: 3428
    functionDepth: 1
    functionLinenumber: 3428
    functionLinenumberEnd: 3448
    functionName: p2p_add_wps_vendor_extension
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 2
    functionsReached:
    - wpabuf_dup
    linkageType: ''
    returnType: int
    signature: "int p2p_add_wps_vendor_extension(struct p2p_data *p2p,\n\t\t\t\t const
      struct wpabuf *vendor_ext)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:3453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p2p
    - country
    argTypes:
    - struct p2p_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3455
      start: 3451
    functionDepth: 0
    functionLinenumber: 3451
    functionLinenumberEnd: 3455
    functionName: p2p_set_country
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 2
    functionsReached:
    - os_memcpy
    linkageType: ''
    returnType: int
    signature: int p2p_set_country(struct p2p_data *p2p, const char *country)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: p2p_start_sd
      Src: /src/hostap/src/p2p/p2p.c:3468,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:3476,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p.c:3478,1
    - Dst: p2p_send_prov_disc_req
      Src: /src/hostap/src/p2p/p2p.c:3480,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - p2p
    - dev
    argTypes:
    - struct p2p_data*
    - struct p2p_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3485
      start: 3458
    functionDepth: 1
    functionLinenumber: 3458
    functionLinenumberEnd: 3485
    functionName: p2p_pre_find_operation
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - p2p_start_sd
    - MAC2STR
    - p2p_dbg
    - p2p_send_prov_disc_req
    linkageType: ''
    returnType: int
    signature: int p2p_pre_find_operation(struct p2p_data *p2p, struct p2p_device
      *dev)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: p2p_set_state
      Src: /src/hostap/src/p2p/p2p.c:3493,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/p2p/p2p.c:3497,1
    - Dst: p2p_pre_find_operation
      Src: /src/hostap/src/p2p/p2p.c:3504,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/p2p/p2p.c:3517,1
    - Dst: p2p_pre_find_operation
      Src: /src/hostap/src/p2p/p2p.c:3518,1
    - Dst: os_memset
      Src: /src/hostap/src/p2p/p2p.c:3530,1
    - Dst: p2p_listen_in_find
      Src: /src/hostap/src/p2p/p2p.c:3531,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 1
    argNames:
    - p2p
    argTypes:
    - struct p2p_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3532
      start: 3488
    functionDepth: 3
    functionLinenumber: 3488
    functionLinenumberEnd: 3532
    functionName: p2p_continue_find
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 2
    functionsReached:
    - p2p_listen_in_find
    - p2p_pre_find_operation
    - dl_list_for_each
    - p2p_set_state
    - os_memset
    linkageType: ''
    returnType: void
    signature: void p2p_continue_find(struct p2p_data *p2p)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:3537,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/p2p/p2p.c:3543,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:3544,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:3547,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p.c:3549,1
    - Dst: struct p2p_data*::cfg::send_action_done
      Src: /src/hostap/src/p2p/p2p.c:3551,1
    - Dst: p2p_continue_find
      Src: /src/hostap/src/p2p/p2p.c:3555,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:3560,1
    - Dst: p2p_continue_find
      Src: /src/hostap/src/p2p/p2p.c:3562,1
    - Dst: p2p_set_state
      Src: /src/hostap/src/p2p/p2p.c:3580,1
    - Dst: p2p_set_timeout
      Src: /src/hostap/src/p2p/p2p.c:3581,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - p2p
    - success
    argTypes:
    - struct p2p_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3582
      start: 3535
    functionDepth: 4
    functionLinenumber: 3535
    functionLinenumberEnd: 3582
    functionName: p2p_sd_query_cb
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - struct p2p_data*::cfg::send_action_done
    - os_memcpy
    - p2p_dbg
    - is_zero_ether_addr
    - MAC2STR
    - p2p_set_state
    - p2p_set_timeout
    - p2p_continue_find
    linkageType: ''
    returnType: void
    signature: void p2p_sd_query_cb(struct p2p_data *p2p, int success)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/p2p/p2p.c:3598,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/p2p/p2p.c:3599,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:3605,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p.c:3607,1
    - Dst: p2p_send_prov_disc_req
      Src: /src/hostap/src/p2p/p2p.c:3609,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - p2p
    argTypes:
    - struct p2p_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3614
      start: 3589
    functionDepth: 1
    functionLinenumber: 3589
    functionLinenumberEnd: 3614
    functionName: p2p_retry_pd
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - p2p_dbg
    - p2p_send_prov_disc_req
    - ether_addr_equal
    - dl_list_for_each
    - MAC2STR
    linkageType: ''
    returnType: void
    signature: void p2p_retry_pd(struct p2p_data *p2p)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:3619,1
    - Dst: p2p_set_timeout
      Src: /src/hostap/src/p2p/p2p.c:3640,1
    - Dst: p2p_continue_find
      Src: /src/hostap/src/p2p/p2p.c:3642,1
    - Dst: p2p_set_timeout
      Src: /src/hostap/src/p2p/p2p.c:3645,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:3658,1
    - Dst: struct p2p_data*::cfg::send_action_done
      Src: /src/hostap/src/p2p/p2p.c:3662,1
    - Dst: struct p2p_data*::cfg::p2ps_prov_complete
      Src: /src/hostap/src/p2p/p2p.c:3668,1
    - Dst: p2p_reset_pending_pd
      Src: /src/hostap/src/p2p/p2p.c:3681,1
    - Dst: p2ps_prov_free
      Src: /src/hostap/src/p2p/p2p.c:3683,1
    - Dst: p2p_set_state
      Src: /src/hostap/src/p2p/p2p.c:3698,1
    - Dst: p2p_set_timeout
      Src: /src/hostap/src/p2p/p2p.c:3699,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 2
    argNames:
    - p2p
    - success
    argTypes:
    - struct p2p_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3700
      start: 3617
    functionDepth: 4
    functionLinenumber: 3617
    functionLinenumberEnd: 3700
    functionName: p2p_prov_disc_cb
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - struct p2p_data*::cfg::send_action_done
    - p2ps_prov_free
    - p2p_dbg
    - struct p2p_data*::cfg::p2ps_prov_complete
    - p2p_reset_pending_pd
    - p2p_set_state
    - p2p_set_timeout
    - p2p_continue_find
    linkageType: ''
    returnType: void
    signature: void p2p_prov_disc_cb(struct p2p_data *p2p, int success)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:3705,1
    - Dst: struct p2p_data*::cfg::send_action_done
      Src: /src/hostap/src/p2p/p2p.c:3710,1
    - Dst: p2p_continue_find
      Src: /src/hostap/src/p2p/p2p.c:3717,1
    - Dst: struct p2p_data*::cfg::prov_disc_resp_cb
      Src: /src/hostap/src/p2p/p2p.c:3722,1
    - Dst: p2p_continue_find
      Src: /src/hostap/src/p2p/p2p.c:3724,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:3728,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - p2p
    - success
    argTypes:
    - struct p2p_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3730
      start: 3703
    functionDepth: 4
    functionLinenumber: 3703
    functionLinenumberEnd: 3730
    functionName: p2p_prov_disc_resp_cb
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - struct p2p_data*::cfg::send_action_done
    - p2p_dbg
    - struct p2p_data*::cfg::prov_disc_resp_cb
    - p2p_continue_find
    linkageType: ''
    returnType: void
    signature: void p2p_prov_disc_resp_cb(struct p2p_data *p2p, int success)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_reltime_before
      Src: /src/hostap/src/p2p/p2p.c:3737,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:3745,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p.c:3747,1
    - Dst: p2p_add_device
      Src: /src/hostap/src/p2p/p2p.c:3754,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 7
    argNames:
    - p2p
    - bssid
    - freq
    - rx_time
    - level
    - ies
    - ies_len
    argTypes:
    - struct p2p_data*
    - u8*
    - int
    - struct os_reltime*
    - int
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3757
      start: 3733
    functionDepth: 5
    functionLinenumber: 3733
    functionLinenumberEnd: 3757
    functionName: p2p_scan_res_handler
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 3
    functionsReached:
    - MAC2STR
    - p2p_dbg
    - p2p_add_device
    - os_reltime_before
    linkageType: ''
    returnType: int
    signature: "int p2p_scan_res_handler(struct p2p_data *p2p, const u8 *bssid, int
      freq,\n\t\t\t struct os_reltime *rx_time, int level, const u8 *ies,\n\t\t\t
      size_t ies_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:3763,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/p2p/p2p.c:3771,1
    - Dst: p2p_run_after_scan
      Src: /src/hostap/src/p2p/p2p.c:3773,1
    - Dst: p2p_continue_find
      Src: /src/hostap/src/p2p/p2p.c:3776,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - p2p
    - delay
    argTypes:
    - struct p2p_data*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3777
      start: 3760
    functionDepth: 4
    functionLinenumber: 3760
    functionLinenumberEnd: 3777
    functionName: p2p_scan_res_handled
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 5
    functionsReached:
    - eloop_cancel_timeout
    - p2p_run_after_scan
    - p2p_dbg
    - p2p_continue_find
    linkageType: ''
    returnType: void
    signature: void p2p_scan_res_handled(struct p2p_data *p2p, unsigned int delay)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/p2p/p2p.c:3788,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/p2p/p2p.c:3792,1
    - Dst: p2p_buf_add_ie_hdr
      Src: /src/hostap/src/p2p/p2p.c:3795,1
    - Dst: p2p_buf_add_capability
      Src: /src/hostap/src/p2p/p2p.c:3803,1
    - Dst: p2p_buf_add_device_id
      Src: /src/hostap/src/p2p/p2p.c:3806,1
    - Dst: p2p_buf_add_listen_channel
      Src: /src/hostap/src/p2p/p2p.c:3808,1
    - Dst: p2p_buf_add_ext_listen_timing
      Src: /src/hostap/src/p2p/p2p.c:3812,1
    - Dst: p2p_buf_add_device_info
      Src: /src/hostap/src/p2p/p2p.c:3816,1
    - Dst: p2p_buf_add_service_hash
      Src: /src/hostap/src/p2p/p2p.c:3819,1
    - Dst: p2p_buf_update_ie_hdr
      Src: /src/hostap/src/p2p/p2p.c:3822,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 4
    argNames:
    - p2p
    - ies
    - dev_id
    - bands
    argTypes:
    - struct p2p_data*
    - struct wpabuf*
    - u8*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3823
      start: 3780
    functionDepth: 2
    functionLinenumber: 3780
    functionLinenumberEnd: 3823
    functionName: p2p_scan_ie
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 4
    functionsReached:
    - p2p_buf_add_ie_hdr
    - p2p_buf_add_listen_channel
    - p2p_buf_add_device_info
    - wpabuf_put_buf
    - p2p_buf_add_device_id
    - p2p_buf_update_ie_hdr
    - p2p_buf_add_ext_listen_timing
    - p2p_buf_add_capability
    - p2p_buf_add_service_hash
    linkageType: ''
    returnType: void
    signature: "void p2p_scan_ie(struct p2p_data *p2p, struct wpabuf *ies, const u8
      *dev_id,\n\t\t unsigned int bands)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p.c:3832,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p.c:3837,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - p2p
    argTypes:
    - struct p2p_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3840
      start: 3826
    functionDepth: 1
    functionLinenumber: 3826
    functionLinenumberEnd: 3840
    functionName: p2p_scan_ie_buf_len
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 3
    functionsReached:
    - wpabuf_len
    linkageType: ''
    returnType: size_t
    signature: size_t p2p_scan_ie_buf_len(struct p2p_data *p2p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: p2p_attr_text
      Src: /src/hostap/src/p2p/p2p.c:3845,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p2p_ie
    - buf
    - end
    argTypes:
    - struct wpabuf*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3846
      start: 3843
    functionDepth: 1
    functionLinenumber: 3843
    functionLinenumberEnd: 3846
    functionName: p2p_ie_text
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached:
    - p2p_attr_text
    linkageType: ''
    returnType: int
    signature: int p2p_ie_text(struct wpabuf *p2p_ie, char *buf, char *end)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:3854,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:3857,1
    - Dst: p2p_set_state
      Src: /src/hostap/src/p2p/p2p.c:3863,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/p2p/p2p.c:3873,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:3874,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p.c:3875,1
    - Dst: struct p2p_data*::cfg::send_action_done
      Src: /src/hostap/src/p2p/p2p.c:3876,1
    - Dst: p2p_send_dev_disc_req
      Src: /src/hostap/src/p2p/p2p.c:3877,1
    - Dst: p2p_set_state
      Src: /src/hostap/src/p2p/p2p.c:3885,1
    - Dst: os_get_random
      Src: /src/hostap/src/p2p/p2p.c:3896,1
    - Dst: p2p_set_timeout
      Src: /src/hostap/src/p2p/p2p.c:3900,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 2
    argNames:
    - p2p
    - success
    argTypes:
    - struct p2p_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3901
      start: 3849
    functionDepth: 2
    functionLinenumber: 3849
    functionLinenumberEnd: 3901
    functionName: p2p_go_neg_req_cb
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - struct p2p_data*::cfg::send_action_done
    - p2p_send_dev_disc_req
    - p2p_dbg
    - is_zero_ether_addr
    - os_get_random
    - MAC2STR
    - p2p_set_state
    - p2p_set_timeout
    linkageType: ''
    returnType: void
    signature: void p2p_go_neg_req_cb(struct p2p_data *p2p, int success)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:3906,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:3909,1
    - Dst: p2p_set_state
      Src: /src/hostap/src/p2p/p2p.c:3912,1
    - Dst: p2p_set_timeout
      Src: /src/hostap/src/p2p/p2p.c:3913,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - p2p
    - success
    argTypes:
    - struct p2p_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3914
      start: 3904
    functionDepth: 2
    functionLinenumber: 3904
    functionLinenumberEnd: 3914
    functionName: p2p_go_neg_resp_cb
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - p2p_dbg
    - p2p_set_state
    - p2p_set_timeout
    linkageType: ''
    returnType: void
    signature: void p2p_go_neg_resp_cb(struct p2p_data *p2p, int success)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:3920,1
    - Dst: p2p_go_neg_failed
      Src: /src/hostap/src/p2p/p2p.c:3922,1
    - Dst: p2p_get_device
      Src: /src/hostap/src/p2p/p2p.c:3928,1
    - Dst: p2p_continue_find
      Src: /src/hostap/src/p2p/p2p.c:3935,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - p2p
    - success
    - addr
    argTypes:
    - struct p2p_data*
    - int
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3936
      start: 3917
    functionDepth: 4
    functionLinenumber: 3917
    functionLinenumberEnd: 3936
    functionName: p2p_go_neg_resp_failure_cb
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - p2p_get_device
    - p2p_dbg
    - p2p_go_neg_failed
    - p2p_continue_find
    linkageType: ''
    returnType: void
    signature: "void p2p_go_neg_resp_failure_cb(struct p2p_data *p2p, int success,\n\t\t\t\t
      \      const u8 *addr)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:3944,1
    - Dst: struct p2p_data*::cfg::send_action_done
      Src: /src/hostap/src/p2p/p2p.c:3946,1
    - Dst: p2p_go_neg_failed
      Src: /src/hostap/src/p2p/p2p.c:3947,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:3961,1
    - Dst: p2p_send_action
      Src: /src/hostap/src/p2p/p2p.c:3964,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/p2p/p2p.c:3968,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p.c:3969,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:3974,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:3992,1
    - Dst: struct p2p_data*::cfg::send_action_done
      Src: /src/hostap/src/p2p/p2p.c:3995,1
    - Dst: p2p_go_complete
      Src: /src/hostap/src/p2p/p2p.c:4000,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - p2p
    - result
    argTypes:
    - struct p2p_data*
    - enum p2p_send_action_result
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4001
      start: 3939
    functionDepth: 3
    functionLinenumber: 3939
    functionLinenumberEnd: 4001
    functionName: p2p_go_neg_conf_cb
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - struct p2p_data*::cfg::send_action_done
    - p2p_dbg
    - wpabuf_len
    - p2p_send_action
    - wpabuf_head
    - p2p_go_complete
    - p2p_go_neg_failed
    linkageType: ''
    returnType: void
    signature: "void p2p_go_neg_conf_cb(struct p2p_data *p2p,\n\t\t\t       enum p2p_send_action_result
      result)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:4011,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p.c:4013,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p.c:4013,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p.c:4014,1
    - Dst: p2p_state_txt
      Src: /src/hostap/src/p2p/p2p.c:4014,1
    - Dst: struct p2p_data*::cfg::send_action_done
      Src: /src/hostap/src/p2p/p2p.c:4022,1
    - Dst: p2p_go_neg_req_cb
      Src: /src/hostap/src/p2p/p2p.c:4026,1
    - Dst: p2p_go_neg_resp_cb
      Src: /src/hostap/src/p2p/p2p.c:4029,1
    - Dst: p2p_go_neg_resp_failure_cb
      Src: /src/hostap/src/p2p/p2p.c:4032,1
    - Dst: p2p_go_neg_conf_cb
      Src: /src/hostap/src/p2p/p2p.c:4035,1
    - Dst: p2p_sd_query_cb
      Src: /src/hostap/src/p2p/p2p.c:4038,1
    - Dst: p2p_prov_disc_cb
      Src: /src/hostap/src/p2p/p2p.c:4041,1
    - Dst: p2p_prov_disc_resp_cb
      Src: /src/hostap/src/p2p/p2p.c:4044,1
    - Dst: p2p_invitation_req_cb
      Src: /src/hostap/src/p2p/p2p.c:4047,1
    - Dst: p2p_invitation_resp_cb
      Src: /src/hostap/src/p2p/p2p.c:4050,1
    - Dst: p2p_dev_disc_req_cb
      Src: /src/hostap/src/p2p/p2p.c:4053,1
    - Dst: p2p_dev_disc_resp_cb
      Src: /src/hostap/src/p2p/p2p.c:4056,1
    - Dst: p2p_go_disc_req_cb
      Src: /src/hostap/src/p2p/p2p.c:4059,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 49
    argCount: 6
    argNames:
    - p2p
    - freq
    - dst
    - src
    - bssid
    - result
    argTypes:
    - struct p2p_data*
    - unsigned int
    - u8*
    - u8*
    - u8*
    - enum p2p_send_action_result
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4062
      start: 4004
    functionDepth: 5
    functionLinenumber: 4004
    functionLinenumberEnd: 4062
    functionName: p2p_send_action_cb
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached:
    - struct p2p_data*::cfg::send_action_done
    - p2p_go_neg_req_cb
    - p2p_go_neg_conf_cb
    - p2p_dbg
    - p2p_go_neg_resp_cb
    - p2p_sd_query_cb
    - p2p_dev_disc_resp_cb
    - p2p_invitation_resp_cb
    - p2p_dev_disc_req_cb
    - p2p_prov_disc_cb
    - p2p_prov_disc_resp_cb
    - MAC2STR
    - p2p_invitation_req_cb
    - p2p_go_neg_resp_failure_cb
    - p2p_go_disc_req_cb
    - p2p_state_txt
    linkageType: ''
    returnType: void
    signature: "void p2p_send_action_cb(struct p2p_data *p2p, unsigned int freq, const
      u8 *dst,\n\t\t\tconst u8 *src, const u8 *bssid,\n\t\t\tenum p2p_send_action_result
      result)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:4069,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:4075,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:4080,1
    - Dst: p2p_set_timeout
      Src: /src/hostap/src/p2p/p2p.c:4092,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - p2p
    - freq
    - duration
    argTypes:
    - struct p2p_data*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4097
      start: 4065
    functionDepth: 2
    functionLinenumber: 4065
    functionLinenumberEnd: 4097
    functionName: p2p_listen_cb
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached:
    - p2p_dbg
    - p2p_set_timeout
    linkageType: ''
    returnType: void
    signature: "void p2p_listen_cb(struct p2p_data *p2p, unsigned int freq,\n\t\t
      \  unsigned int duration)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:4102,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:4114,1
    - Dst: p2p_set_timeout
      Src: /src/hostap/src/p2p/p2p.c:4116,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:4122,1
    - Dst: p2p_go_neg_failed
      Src: /src/hostap/src/p2p/p2p.c:4123,1
    - Dst: p2p_set_state
      Src: /src/hostap/src/p2p/p2p.c:4127,1
    - Dst: p2p_connect_send
      Src: /src/hostap/src/p2p/p2p.c:4128,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:4140,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:4149,1
    - Dst: p2p_set_timeout
      Src: /src/hostap/src/p2p/p2p.c:4150,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:4154,1
    - Dst: p2p_set_timeout
      Src: /src/hostap/src/p2p/p2p.c:4156,1
    - Dst: p2p_search
      Src: /src/hostap/src/p2p/p2p.c:4160,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 2
    argNames:
    - p2p
    - freq
    argTypes:
    - struct p2p_data*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4165
      start: 4100
    functionDepth: 3
    functionLinenumber: 4100
    functionLinenumberEnd: 4165
    functionName: p2p_listen_end
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached:
    - p2p_dbg
    - p2p_connect_send
    - p2p_go_neg_failed
    - p2p_set_state
    - p2p_set_timeout
    - p2p_search
    linkageType: ''
    returnType: int
    signature: int p2p_listen_end(struct p2p_data *p2p, unsigned int freq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:4171,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:4177,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:4186,1
    - Dst: p2p_set_timeout
      Src: /src/hostap/src/p2p/p2p.c:4188,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - p2p
    - freq
    argTypes:
    - struct p2p_data*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4190
      start: 4168
    functionDepth: 2
    functionLinenumber: 4168
    functionLinenumberEnd: 4190
    functionName: p2p_listen_failed
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached:
    - p2p_dbg
    - p2p_set_timeout
    linkageType: ''
    returnType: void
    signature: void p2p_listen_failed(struct p2p_data *p2p, unsigned int freq)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: struct p2p_data*::cfg::send_action_done
      Src: /src/hostap/src/p2p/p2p.c:4195,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:4198,1
    - Dst: p2p_go_neg_failed
      Src: /src/hostap/src/p2p/p2p.c:4199,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:4205,1
    - Dst: p2p_connect_send
      Src: /src/hostap/src/p2p/p2p.c:4206,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:4210,1
    - Dst: p2p_set_state
      Src: /src/hostap/src/p2p/p2p.c:4211,1
    - Dst: p2p_set_timeout
      Src: /src/hostap/src/p2p/p2p.c:4212,1
    - Dst: p2p_set_state
      Src: /src/hostap/src/p2p/p2p.c:4215,1
    - Dst: p2p_listen_in_find
      Src: /src/hostap/src/p2p/p2p.c:4216,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - p2p
    argTypes:
    - struct p2p_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4217
      start: 4193
    functionDepth: 3
    functionLinenumber: 4193
    functionLinenumberEnd: 4217
    functionName: p2p_timeout_connect
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - struct p2p_data*::cfg::send_action_done
    - p2p_dbg
    - p2p_listen_in_find
    - p2p_connect_send
    - p2p_go_neg_failed
    - p2p_set_state
    - p2p_set_timeout
    linkageType: ''
    returnType: void
    signature: void p2p_timeout_connect(struct p2p_data *p2p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:4224,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:4229,1
    - Dst: p2p_go_neg_failed
      Src: /src/hostap/src/p2p/p2p.c:4230,1
    - Dst: p2p_set_state
      Src: /src/hostap/src/p2p/p2p.c:4234,1
    - Dst: p2p_connect_send
      Src: /src/hostap/src/p2p/p2p.c:4235,1
    - Dst: p2p_set_state
      Src: /src/hostap/src/p2p/p2p.c:4237,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - p2p
    argTypes:
    - struct p2p_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4238
      start: 4220
    functionDepth: 3
    functionLinenumber: 4220
    functionLinenumberEnd: 4238
    functionName: p2p_timeout_connect_listen
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - p2p_connect_send
    - p2p_dbg
    - p2p_go_neg_failed
    - p2p_set_state
    linkageType: ''
    returnType: void
    signature: void p2p_timeout_connect_listen(struct p2p_data *p2p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: p2p_set_state
      Src: /src/hostap/src/p2p/p2p.c:4243,1
    - Dst: struct p2p_data*::cfg::is_concurrent_session_active
      Src: /src/hostap/src/p2p/p2p.c:4246,1
    - Dst: p2p_set_timeout
      Src: /src/hostap/src/p2p/p2p.c:4247,1
    - Dst: p2p_set_timeout
      Src: /src/hostap/src/p2p/p2p.c:4249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - p2p
    argTypes:
    - struct p2p_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4250
      start: 4241
    functionDepth: 2
    functionLinenumber: 4241
    functionLinenumberEnd: 4250
    functionName: p2p_timeout_wait_peer_connect
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - struct p2p_data*::cfg::is_concurrent_session_active
    - p2p_set_state
    - p2p_set_timeout
    linkageType: ''
    returnType: void
    signature: void p2p_timeout_wait_peer_connect(struct p2p_data *p2p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:4258,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:4262,1
    - Dst: struct p2p_data*::cfg::stop_listen
      Src: /src/hostap/src/p2p/p2p.c:4263,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:4266,1
    - Dst: p2p_set_state
      Src: /src/hostap/src/p2p/p2p.c:4269,1
    - Dst: p2p_listen_in_find
      Src: /src/hostap/src/p2p/p2p.c:4270,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - p2p
    argTypes:
    - struct p2p_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4271
      start: 4253
    functionDepth: 3
    functionLinenumber: 4253
    functionLinenumberEnd: 4271
    functionName: p2p_timeout_wait_peer_idle
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - p2p_listen_in_find
    - p2p_dbg
    - p2p_set_state
    - struct p2p_data*::cfg::stop_listen
    linkageType: ''
    returnType: void
    signature: void p2p_timeout_wait_peer_idle(struct p2p_data *p2p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:4276,1
    - Dst: struct p2p_data*::cfg::send_action_done
      Src: /src/hostap/src/p2p/p2p.c:4278,1
    - Dst: p2p_continue_find
      Src: /src/hostap/src/p2p/p2p.c:4281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - p2p
    argTypes:
    - struct p2p_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4282
      start: 4274
    functionDepth: 4
    functionLinenumber: 4274
    functionLinenumberEnd: 4282
    functionName: p2p_timeout_sd_during_find
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - struct p2p_data*::cfg::send_action_done
    - p2p_dbg
    - p2p_continue_find
    linkageType: ''
    returnType: void
    signature: void p2p_timeout_sd_during_find(struct p2p_data *p2p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:4287,1
    - Dst: struct p2p_data*::cfg::send_action_done
      Src: /src/hostap/src/p2p/p2p.c:4288,1
    - Dst: p2p_continue_find
      Src: /src/hostap/src/p2p/p2p.c:4289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p2p
    argTypes:
    - struct p2p_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4290
      start: 4285
    functionDepth: 4
    functionLinenumber: 4285
    functionLinenumberEnd: 4290
    functionName: p2p_timeout_prov_disc_during_find
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - struct p2p_data*::cfg::send_action_done
    - p2p_dbg
    - p2p_continue_find
    linkageType: ''
    returnType: void
    signature: void p2p_timeout_prov_disc_during_find(struct p2p_data *p2p)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:4308,1
    - Dst: p2p_retry_pd
      Src: /src/hostap/src/p2p/p2p.c:4312,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/p2p/p2p.c:4317,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/p2p/p2p.c:4318,1
    - Dst: struct p2p_data*::cfg::prov_disc_fail
      Src: /src/hostap/src/p2p/p2p.c:4332,1
    - Dst: p2p_reset_pending_pd
      Src: /src/hostap/src/p2p/p2p.c:4338,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - p2p
    argTypes:
    - struct p2p_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4340
      start: 4293
    functionDepth: 2
    functionLinenumber: 4293
    functionLinenumberEnd: 4340
    functionName: p2p_timeout_prov_disc_req
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - struct p2p_data*::cfg::prov_disc_fail
    - p2p_dbg
    - p2p_reset_pending_pd
    - ether_addr_equal
    - dl_list_for_each
    - p2p_retry_pd
    linkageType: ''
    returnType: void
    signature: void p2p_timeout_prov_disc_req(struct p2p_data *p2p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct p2p_data*::cfg::send_action_done
      Src: /src/hostap/src/p2p/p2p.c:4345,1
    - Dst: p2p_set_state
      Src: /src/hostap/src/p2p/p2p.c:4346,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:4354,1
    - Dst: p2p_set_timeout
      Src: /src/hostap/src/p2p/p2p.c:4355,1
    - Dst: p2p_listen_in_find
      Src: /src/hostap/src/p2p/p2p.c:4358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - p2p
    argTypes:
    - struct p2p_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4359
      start: 4343
    functionDepth: 3
    functionLinenumber: 4343
    functionLinenumberEnd: 4359
    functionName: p2p_timeout_invite
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - struct p2p_data*::cfg::send_action_done
    - p2p_dbg
    - p2p_listen_in_find
    - p2p_set_state
    - p2p_set_timeout
    linkageType: ''
    returnType: void
    signature: void p2p_timeout_invite(struct p2p_data *p2p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: p2p_set_state
      Src: /src/hostap/src/p2p/p2p.c:4365,1
    - Dst: p2p_invite_send
      Src: /src/hostap/src/p2p/p2p.c:4366,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:4370,1
    - Dst: struct p2p_data*::cfg::invitation_result
      Src: /src/hostap/src/p2p/p2p.c:4372,1
    - Dst: p2p_set_state
      Src: /src/hostap/src/p2p/p2p.c:4379,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - p2p
    argTypes:
    - struct p2p_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4381
      start: 4362
    functionDepth: 3
    functionLinenumber: 4362
    functionLinenumberEnd: 4381
    functionName: p2p_timeout_invite_listen
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - p2p_invite_send
    - p2p_dbg
    - p2p_set_state
    - struct p2p_data*::cfg::invitation_result
    linkageType: ''
    returnType: void
    signature: void p2p_timeout_invite_listen(struct p2p_data *p2p)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:4388,1
    - Dst: p2p_state_txt
      Src: /src/hostap/src/p2p/p2p.c:4388,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:4392,1
    - Dst: struct p2p_data*::cfg::stop_listen
      Src: /src/hostap/src/p2p/p2p.c:4393,1
    - Dst: p2p_timeout_prov_disc_req
      Src: /src/hostap/src/p2p/p2p.c:4401,1
    - Dst: p2p_timeout_prov_disc_req
      Src: /src/hostap/src/p2p/p2p.c:4406,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:4408,1
    - Dst: p2p_set_timeout
      Src: /src/hostap/src/p2p/p2p.c:4411,1
    - Dst: p2p_search
      Src: /src/hostap/src/p2p/p2p.c:4416,1
    - Dst: p2p_timeout_connect
      Src: /src/hostap/src/p2p/p2p.c:4419,1
    - Dst: p2p_timeout_connect_listen
      Src: /src/hostap/src/p2p/p2p.c:4422,1
    - Dst: p2p_timeout_prov_disc_req
      Src: /src/hostap/src/p2p/p2p.c:4429,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:4432,1
    - Dst: p2p_set_state
      Src: /src/hostap/src/p2p/p2p.c:4434,1
    - Dst: p2p_timeout_wait_peer_connect
      Src: /src/hostap/src/p2p/p2p.c:4438,1
    - Dst: p2p_timeout_wait_peer_idle
      Src: /src/hostap/src/p2p/p2p.c:4441,1
    - Dst: p2p_timeout_sd_during_find
      Src: /src/hostap/src/p2p/p2p.c:4444,1
    - Dst: p2p_timeout_prov_disc_during_find
      Src: /src/hostap/src/p2p/p2p.c:4449,1
    - Dst: p2p_timeout_invite
      Src: /src/hostap/src/p2p/p2p.c:4452,1
    - Dst: p2p_timeout_invite_listen
      Src: /src/hostap/src/p2p/p2p.c:4455,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 63
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4458
      start: 4384
    functionDepth: 5
    functionLinenumber: 4384
    functionLinenumberEnd: 4458
    functionName: p2p_state_timeout
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - p2p_timeout_prov_disc_req
    - p2p_timeout_wait_peer_idle
    - p2p_dbg
    - p2p_timeout_wait_peer_connect
    - p2p_timeout_connect
    - p2p_timeout_prov_disc_during_find
    - p2p_timeout_invite
    - p2p_timeout_invite_listen
    - p2p_timeout_connect_listen
    - p2p_set_state
    - p2p_set_timeout
    - p2p_timeout_sd_during_find
    - p2p_state_txt
    - p2p_search
    - struct p2p_data*::cfg::stop_listen
    linkageType: ''
    returnType: void
    signature: void p2p_state_timeout(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: p2p_get_device
      Src: /src/hostap/src/p2p/p2p.c:4465,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:4466,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p.c:4467,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:4469,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p.c:4469,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - p2p
    - peer_addr
    argTypes:
    - struct p2p_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4475
      start: 4461
    functionDepth: 2
    functionLinenumber: 4461
    functionLinenumberEnd: 4475
    functionName: p2p_reject
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 3
    functionsReached:
    - p2p_get_device
    - MAC2STR
    - p2p_dbg
    linkageType: ''
    returnType: int
    signature: int p2p_reject(struct p2p_data *p2p, const u8 *peer_addr)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - method
    argTypes:
    - enum p2p_wps_method
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4496
      start: 4478
    functionDepth: 0
    functionLinenumber: 4478
    functionLinenumberEnd: 4496
    functionName: p2p_wps_method_text
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * p2p_wps_method_text(enum p2p_wps_method method)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - go_state
    argTypes:
    - enum p2p_go_state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4511
      start: 4499
    functionDepth: 0
    functionLinenumber: 4499
    functionLinenumberEnd: 4511
    functionName: p2p_go_state_text
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * p2p_go_state_text(enum p2p_go_state go_state)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: p2p_get_device
      Src: /src/hostap/src/p2p/p2p.c:4520,1
    - Dst: dl_list_first
      Src: /src/hostap/src/p2p/p2p.c:4522,1
    - Dst: dl_list_first
      Src: /src/hostap/src/p2p/p2p.c:4525,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - p2p
    - addr
    - next
    argTypes:
    - struct p2p_data*
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4534
      start: 4514
    functionDepth: 2
    functionLinenumber: 4514
    functionLinenumberEnd: 4534
    functionName: p2p_get_peer_info
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached:
    - p2p_get_device
    - dl_list_first
    linkageType: ''
    returnType: struct p2p_peer_info
    signature: "struct p2p_peer_info * p2p_get_peer_info(struct p2p_data *p2p,\n\t\t\t\t\t
      \      const u8 *addr, int next)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: os_get_reltime
      Src: /src/hostap/src/p2p/p2p.c:4554,1
    - Dst: os_snprintf
      Src: /src/hostap/src/p2p/p2p.c:4555,1
    - Dst: p2p_wps_method_text
      Src: /src/hostap/src/p2p/p2p.c:4574,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p.c:4575,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p.c:4576,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p.c:4577,1
    - Dst: p2p_go_state_text
      Src: /src/hostap/src/p2p/p2p.c:4579,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p.c:4581,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/p2p/p2p.c:4617,1
    - Dst: os_snprintf
      Src: /src/hostap/src/p2p/p2p.c:4622,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/p2p/p2p.c:4627,1
    - Dst: os_snprintf
      Src: /src/hostap/src/p2p/p2p.c:4633,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/src/p2p/p2p.c:4635,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/p2p/p2p.c:4637,1
    - Dst: os_snprintf
      Src: /src/hostap/src/p2p/p2p.c:4644,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/p2p/p2p.c:4645,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/p2p/p2p.c:4649,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/p2p/p2p.c:4650,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p.c:4651,1
    - Dst: os_snprintf
      Src: /src/hostap/src/p2p/p2p.c:4653,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/p2p/p2p.c:4654,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 3
    argNames:
    - info
    - buf
    - buflen
    argTypes:
    - struct p2p_peer_info*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4661
      start: 4537
    functionDepth: 1
    functionLinenumber: 4537
    functionLinenumberEnd: 4661
    functionName: p2p_get_peer_info_txt
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached:
    - os_get_reltime
    - wpa_snprintf_hex
    - wpabuf_len
    - wpa_ssid_txt
    - wpabuf_head
    - os_snprintf
    - MAC2STR
    - p2p_go_state_text
    - p2p_wps_method_text
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int p2p_get_peer_info_txt(const struct p2p_peer_info *info,\n\t\t\t
      \ char *buf, size_t buflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: p2p_get_device
      Src: /src/hostap/src/p2p/p2p.c:4666,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p2p
    - addr
    argTypes:
    - struct p2p_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4667
      start: 4664
    functionDepth: 2
    functionLinenumber: 4664
    functionLinenumberEnd: 4667
    functionName: p2p_peer_known
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 8
    functionsReached:
    - p2p_get_device
    linkageType: ''
    returnType: int
    signature: int p2p_peer_known(struct p2p_data *p2p, const u8 *addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:4673,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:4676,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - p2p
    - enabled
    argTypes:
    - struct p2p_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4679
      start: 4670
    functionDepth: 1
    functionLinenumber: 4670
    functionLinenumberEnd: 4679
    functionName: p2p_set_client_discoverability
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached:
    - p2p_dbg
    linkageType: ''
    returnType: void
    signature: void p2p_set_client_discoverability(struct p2p_data *p2p, int enabled)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/p2p/p2p.c:4689,1
    - Dst: os_memset
      Src: /src/hostap/src/p2p/p2p.c:4694,1
    - Dst: os_memset
      Src: /src/hostap/src/p2p/p2p.c:4701,1
    - Dst: p2p_buf_add_action_hdr
      Src: /src/hostap/src/p2p/p2p.c:4709,1
    - Dst: p2p_buf_add_ie_hdr
      Src: /src/hostap/src/p2p/p2p.c:4710,1
    - Dst: p2p_buf_add_noa
      Src: /src/hostap/src/p2p/p2p.c:4711,1
    - Dst: p2p_buf_update_ie_hdr
      Src: /src/hostap/src/p2p/p2p.c:4712,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 4
    argNames:
    - duration1
    - interval1
    - duration2
    - interval2
    argTypes:
    - u32
    - u32
    - u32
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4715
      start: 4682
    functionDepth: 3
    functionLinenumber: 4682
    functionLinenumberEnd: 4715
    functionName: p2p_build_presence_req
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - p2p_buf_add_ie_hdr
    - p2p_buf_add_noa
    - p2p_buf_update_ie_hdr
    - wpabuf_alloc
    - p2p_buf_add_action_hdr
    - os_memset
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * p2p_build_presence_req(u32 duration1, u32 interval1,\n\t\t\t\t\t
      \     u32 duration2, u32 interval2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:4725,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p.c:4728,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p.c:4728,1
    - Dst: p2p_build_presence_req
      Src: /src/hostap/src/p2p/p2p.c:4731,1
    - Dst: p2p_send_action
      Src: /src/hostap/src/p2p/p2p.c:4737,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/p2p/p2p.c:4739,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p.c:4739,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:4740,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:4742,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 8
    argNames:
    - p2p
    - go_interface_addr
    - own_interface_addr
    - freq
    - duration1
    - interval1
    - duration2
    - interval2
    argTypes:
    - struct p2p_data*
    - u8*
    - u8*
    - unsigned int
    - u32
    - u32
    - u32
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4745
      start: 4718
    functionDepth: 4
    functionLinenumber: 4718
    functionLinenumberEnd: 4745
    functionName: p2p_presence_req
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 3
    functionsReached:
    - p2p_dbg
    - wpabuf_len
    - p2p_send_action
    - wpabuf_free
    - wpabuf_head
    - MAC2STR
    - p2p_build_presence_req
    linkageType: ''
    returnType: int
    signature: "int p2p_presence_req(struct p2p_data *p2p, const u8 *go_interface_addr,\n\t\t
      \    const u8 *own_interface_addr, unsigned int freq,\n\t\t     u32 duration1,
      u32 interval1, u32 duration2,\n\t\t     u32 interval2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/p2p/p2p.c:4754,1
    - Dst: p2p_buf_add_action_hdr
      Src: /src/hostap/src/p2p/p2p.c:4758,1
    - Dst: p2p_buf_add_ie_hdr
      Src: /src/hostap/src/p2p/p2p.c:4759,1
    - Dst: p2p_buf_add_status
      Src: /src/hostap/src/p2p/p2p.c:4760,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p.c:4762,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/p2p/p2p.c:4763,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/p2p/p2p.c:4764,1
    - Dst: p2p_buf_add_noa
      Src: /src/hostap/src/p2p/p2p.c:4766,1
    - Dst: p2p_buf_update_ie_hdr
      Src: /src/hostap/src/p2p/p2p.c:4767,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 4
    argNames:
    - status
    - noa
    - noa_len
    - dialog_token
    argTypes:
    - u8
    - u8*
    - size_t
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4770
      start: 4748
    functionDepth: 3
    functionLinenumber: 4748
    functionLinenumberEnd: 4770
    functionName: p2p_build_presence_resp
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - p2p_buf_add_ie_hdr
    - wpabuf_put_u8
    - wpabuf_put_data
    - p2p_buf_add_noa
    - wpabuf_put_le16
    - p2p_buf_update_ie_hdr
    - wpabuf_alloc
    - p2p_buf_add_action_hdr
    - p2p_buf_add_status
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * p2p_build_presence_resp(u8 status, const u8 *noa,\n\t\t\t\t\t
      \      size_t noa_len, u8 dialog_token)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:4786,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/p2p/p2p.c:4789,1
    - Dst: p2p_group_get_interface_addr
      Src: /src/hostap/src/p2p/p2p.c:4790,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:4796,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p.c:4797,1
    - Dst: p2p_parse
      Src: /src/hostap/src/p2p/p2p.c:4801,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:4802,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:4809,1
    - Dst: p2p_group_presence_req
      Src: /src/hostap/src/p2p/p2p.c:4814,1
    - Dst: struct p2p_data*::cfg::get_noa
      Src: /src/hostap/src/p2p/p2p.c:4818,1
    - Dst: p2p_build_presence_resp
      Src: /src/hostap/src/p2p/p2p.c:4822,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p.c:4826,1
    - Dst: p2p_send_action
      Src: /src/hostap/src/p2p/p2p.c:4831,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/p2p/p2p.c:4832,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p.c:4832,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:4833,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:4835,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 6
    argNames:
    - p2p
    - da
    - sa
    - data
    - len
    - rx_freq
    argTypes:
    - struct p2p_data*
    - u8*
    - u8*
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4836
      start: 4773
    functionDepth: 4
    functionLinenumber: 4773
    functionLinenumberEnd: 4836
    functionName: p2p_process_presence_req
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached:
    - p2p_dbg
    - struct p2p_data*::cfg::get_noa
    - p2p_build_presence_resp
    - wpabuf_len
    - p2p_send_action
    - p2p_parse
    - ether_addr_equal
    - p2p_group_get_interface_addr
    - wpabuf_free
    - wpabuf_head
    - MAC2STR
    - p2p_group_presence_req
    - p2p_parse_free
    linkageType: ''
    returnType: void
    signature: "void p2p_process_presence_req(struct p2p_data *p2p, const u8 *da,\n\t\t\t\t
      \    const u8 *sa, const u8 *data, size_t len,\n\t\t\t\t     int rx_freq)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:4844,1
    - Dst: p2p_parse
      Src: /src/hostap/src/p2p/p2p.c:4846,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:4847,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:4852,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p.c:4853,1
    - Dst: struct p2p_data*::cfg::presence_resp
      Src: /src/hostap/src/p2p/p2p.c:4858,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:4863,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p.c:4865,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:4869,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/p2p/p2p.c:4870,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p.c:4873,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 5
    argNames:
    - p2p
    - da
    - sa
    - data
    - len
    argTypes:
    - struct p2p_data*
    - u8*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4874
      start: 4839
    functionDepth: 1
    functionLinenumber: 4839
    functionLinenumberEnd: 4874
    functionName: p2p_process_presence_resp
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached:
    - p2p_dbg
    - wpa_hexdump
    - p2p_parse
    - struct p2p_data*::cfg::presence_resp
    - p2p_parse_free
    linkageType: ''
    returnType: void
    signature: "void p2p_process_presence_resp(struct p2p_data *p2p, const u8 *da,\n\t\t\t\t
      \     const u8 *sa, const u8 *data, size_t len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/p2p/p2p.c:4883,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:4895,1
    - Dst: p2p_set_state
      Src: /src/hostap/src/p2p/p2p.c:4897,1
    - Dst: struct p2p_data*::cfg::is_p2p_in_progress
      Src: /src/hostap/src/p2p/p2p.c:4901,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:4904,1
    - Dst: p2p_state_txt
      Src: /src/hostap/src/p2p/p2p.c:4905,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:4910,1
    - Dst: p2p_state_txt
      Src: /src/hostap/src/p2p/p2p.c:4910,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:4914,1
    - Dst: p2p_listen
      Src: /src/hostap/src/p2p/p2p.c:4916,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:4917,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4920
      start: 4877
    functionDepth: 3
    functionLinenumber: 4877
    functionLinenumberEnd: 4920
    functionName: p2p_ext_listen_timeout
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - p2p_dbg
    - struct p2p_data*::cfg::is_p2p_in_progress
    - eloop_register_timeout
    - p2p_set_state
    - p2p_state_txt
    - p2p_listen
    linkageType: ''
    returnType: void
    signature: void p2p_ext_listen_timeout(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:4928,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/p2p/p2p.c:4933,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:4936,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:4942,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/p2p/p2p.c:4949,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - p2p
    - period
    - interval
    argTypes:
    - struct p2p_data*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4954
      start: 4923
    functionDepth: 1
    functionLinenumber: 4923
    functionLinenumberEnd: 4954
    functionName: p2p_ext_listen
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 4
    functionsReached:
    - eloop_cancel_timeout
    - p2p_dbg
    - eloop_register_timeout
    linkageType: ''
    returnType: int
    signature: "int p2p_ext_listen(struct p2p_data *p2p, unsigned int period,\n\t\t
      \  unsigned int interval)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/p2p/p2p.c:4965,1
    - Dst: p2p_parse_ies
      Src: /src/hostap/src/p2p/p2p.c:4966,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p.c:4969,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:4973,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p.c:4975,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p.c:4977,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 5
    argNames:
    - p2p
    - bssid
    - reason_code
    - ie
    - ie_len
    argTypes:
    - struct p2p_data*
    - u8*
    - u16
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4978
      start: 4957
    functionDepth: 1
    functionLinenumber: 4957
    functionLinenumberEnd: 4978
    functionName: p2p_deauth_notif
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 2
    functionsReached:
    - p2p_parse_ies
    - p2p_dbg
    - MAC2STR
    - p2p_parse_free
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void p2p_deauth_notif(struct p2p_data *p2p, const u8 *bssid, u16 reason_code,\n\t\t
      \     const u8 *ie, size_t ie_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/p2p/p2p.c:4989,1
    - Dst: p2p_parse_ies
      Src: /src/hostap/src/p2p/p2p.c:4990,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p.c:4993,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:4997,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p.c:4999,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p.c:5001,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 5
    argNames:
    - p2p
    - bssid
    - reason_code
    - ie
    - ie_len
    argTypes:
    - struct p2p_data*
    - u8*
    - u16
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5002
      start: 4981
    functionDepth: 1
    functionLinenumber: 4981
    functionLinenumberEnd: 5002
    functionName: p2p_disassoc_notif
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 2
    functionsReached:
    - p2p_parse_ies
    - p2p_dbg
    - MAC2STR
    - p2p_parse_free
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void p2p_disassoc_notif(struct p2p_data *p2p, const u8 *bssid, u16
      reason_code,\n\t\t\tconst u8 *ie, size_t ie_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:5008,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:5011,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - p2p
    - enabled
    argTypes:
    - struct p2p_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5014
      start: 5005
    functionDepth: 1
    functionLinenumber: 5005
    functionLinenumberEnd: 5014
    functionName: p2p_set_managed_oper
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached:
    - p2p_dbg
    linkageType: ''
    returnType: void
    signature: void p2p_set_managed_oper(struct p2p_data *p2p, int enabled)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:5019,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p2p
    - bootstrap_methods
    argTypes:
    - struct p2p_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5023
      start: 5017
    functionDepth: 1
    functionLinenumber: 5017
    functionLinenumberEnd: 5023
    functionName: p2p_set_bootstrapmethods
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached:
    - p2p_dbg
    linkageType: ''
    returnType: void
    signature: void p2p_set_bootstrapmethods(struct p2p_data *p2p, int bootstrap_methods)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:5028,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p2p
    - pasn_type
    argTypes:
    - struct p2p_data*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5030
      start: 5026
    functionDepth: 1
    functionLinenumber: 5026
    functionLinenumberEnd: 5030
    functionName: p2p_set_pasn_type
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached:
    - p2p_dbg
    linkageType: ''
    returnType: void
    signature: void p2p_set_pasn_type(struct p2p_data *p2p, u8 pasn_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:5035,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p2p
    - comeback_after
    argTypes:
    - struct p2p_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5037
      start: 5033
    functionDepth: 1
    functionLinenumber: 5033
    functionLinenumberEnd: 5037
    functionName: p2p_set_comeback_after
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached:
    - p2p_dbg
    linkageType: ''
    returnType: void
    signature: void p2p_set_comeback_after(struct p2p_data *p2p, int comeback_after)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p2p
    - val
    argTypes:
    - struct p2p_data*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5043
      start: 5040
    functionDepth: 0
    functionLinenumber: 5040
    functionLinenumberEnd: 5043
    functionName: p2p_set_reg_info
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void p2p_set_reg_info(struct p2p_data *p2p, u8 val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:5048,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p2p
    - val
    argTypes:
    - struct p2p_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5054
      start: 5046
    functionDepth: 1
    functionLinenumber: 5046
    functionLinenumberEnd: 5054
    functionName: p2p_set_twt_power_mgmt
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached:
    - p2p_dbg
    linkageType: ''
    returnType: void
    signature: void p2p_set_twt_power_mgmt(struct p2p_data *p2p, int val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p2p
    - val
    argTypes:
    - struct p2p_data*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5060
      start: 5057
    functionDepth: 0
    functionLinenumber: 5057
    functionLinenumberEnd: 5060
    functionName: p2p_set_chan_switch_req_enable
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void p2p_set_chan_switch_req_enable(struct p2p_data *p2p, bool val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: p2p_freq_to_channel
      Src: /src/hostap/src/p2p/p2p.c:5073,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - p2p
    - freq
    argTypes:
    - struct p2p_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5078
      start: 5063
    functionDepth: 1
    functionLinenumber: 5063
    functionLinenumberEnd: 5078
    functionName: p2p_set_invitation_op_freq
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 2
    functionsReached:
    - p2p_freq_to_channel
    linkageType: ''
    returnType: void
    signature: void p2p_set_invitation_op_freq(struct p2p_data *p2p, int freq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: p2p_channel_random_social
      Src: /src/hostap/src/p2p/p2p.c:5086,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - p2p
    - op_class
    - op_channel
    - avoid_list
    - disallow_list
    argTypes:
    - struct p2p_config*
    - u8*
    - u8*
    - struct wpa_freq_range_list*
    - struct wpa_freq_range_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5088
      start: 5081
    functionDepth: 1
    functionLinenumber: 5081
    functionLinenumberEnd: 5088
    functionName: p2p_config_get_random_social
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached:
    - p2p_channel_random_social
    linkageType: ''
    returnType: int
    signature: "int p2p_config_get_random_social(struct p2p_config *p2p, u8 *op_class,\n\t\t\t\t
      u8 *op_channel,\n\t\t\t\t struct wpa_freq_range_list *avoid_list,\n\t\t\t\t
      struct wpa_freq_range_list *disallow_list)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: p2p_channel_to_freq
      Src: /src/hostap/src/p2p/p2p.c:5094,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:5102,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:5107,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:5115,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - p2p
    - reg_class
    - channel
    - forced
    argTypes:
    - struct p2p_data*
    - u8
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5122
      start: 5091
    functionDepth: 1
    functionLinenumber: 5091
    functionLinenumberEnd: 5122
    functionName: p2p_set_listen_channel
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 3
    functionsReached:
    - p2p_channel_to_freq
    - p2p_dbg
    linkageType: ''
    returnType: int
    signature: "int p2p_set_listen_channel(struct p2p_data *p2p, u8 reg_class, u8
      channel,\n\t\t\t   u8 forced)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p2p
    argTypes:
    - struct p2p_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5128
      start: 5125
    functionDepth: 0
    functionLinenumber: 5125
    functionLinenumberEnd: 5128
    functionName: p2p_get_listen_channel
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 p2p_get_listen_channel(struct p2p_data *p2p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:5133,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/src/p2p/p2p.c:5133,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:5140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - p2p
    - postfix
    - len
    argTypes:
    - struct p2p_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5143
      start: 5131
    functionDepth: 1
    functionLinenumber: 5131
    functionLinenumberEnd: 5143
    functionName: p2p_set_ssid_postfix
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 2
    functionsReached:
    - wpa_ssid_txt
    - p2p_dbg
    - os_memcpy
    linkageType: ''
    returnType: int
    signature: int p2p_set_ssid_postfix(struct p2p_data *p2p, const u8 *postfix, size_t
      len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: p2p_channel_to_freq
      Src: /src/hostap/src/p2p/p2p.c:5149,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:5152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - p2p
    - op_reg_class
    - op_channel
    - cfg_op_channel
    argTypes:
    - struct p2p_data*
    - u8
    - u8
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5158
      start: 5146
    functionDepth: 1
    functionLinenumber: 5146
    functionLinenumberEnd: 5158
    functionName: p2p_set_oper_channel
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached:
    - p2p_channel_to_freq
    - p2p_dbg
    linkageType: ''
    returnType: int
    signature: "int p2p_set_oper_channel(struct p2p_data *p2p, u8 op_reg_class, u8
      op_channel,\n\t\t\t int cfg_op_channel)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memdup
      Src: /src/hostap/src/p2p/p2p.c:5167,1
    - Dst: os_free
      Src: /src/hostap/src/p2p/p2p.c:5174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - p2p
    - num_pref_chan
    - pref_chan
    argTypes:
    - struct p2p_data*
    - unsigned int
    - struct p2p_channel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5179
      start: 5161
    functionDepth: 0
    functionLinenumber: 5161
    functionLinenumberEnd: 5179
    functionName: p2p_set_pref_chan
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached:
    - os_free
    - os_memdup
    linkageType: ''
    returnType: int
    signature: "int p2p_set_pref_chan(struct p2p_data *p2p, unsigned int num_pref_chan,\n\t\t
      \     const struct p2p_channel *pref_chan)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/p2p/p2p.c:5188,1
    - Dst: os_calloc
      Src: /src/hostap/src/p2p/p2p.c:5194,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:5197,1
    - Dst: os_free
      Src: /src/hostap/src/p2p/p2p.c:5198,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:5201,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - p2p
    - list
    argTypes:
    - struct p2p_data*
    - struct wpa_freq_range_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5204
      start: 5182
    functionDepth: 1
    functionLinenumber: 5182
    functionLinenumberEnd: 5204
    functionName: p2p_set_no_go_freq
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 2
    functionsReached:
    - os_free
    - os_memcpy
    - p2p_dbg
    - os_calloc
    linkageType: ''
    returnType: int
    signature: "int p2p_set_no_go_freq(struct p2p_data *p2p,\n\t\t       const struct
      wpa_freq_range_list *list)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: p2p_get_device
      Src: /src/hostap/src/p2p/p2p.c:5210,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/p2p/p2p.c:5212,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:5213,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p.c:5215,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:5218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - p2p
    - dev_addr
    - iface_addr
    argTypes:
    - struct p2p_data*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5220
      start: 5207
    functionDepth: 2
    functionLinenumber: 5207
    functionLinenumberEnd: 5220
    functionName: p2p_get_interface_addr
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 5
    functionsReached:
    - os_memcpy
    - p2p_dbg
    - is_zero_ether_addr
    - p2p_get_device
    - MAC2STR
    linkageType: ''
    returnType: int
    signature: "int p2p_get_interface_addr(struct p2p_data *p2p, const u8 *dev_addr,\n\t\t\t
      \  u8 *iface_addr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: p2p_get_device_interface
      Src: /src/hostap/src/p2p/p2p.c:5226,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:5229,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p.c:5231,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:5234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - p2p
    - iface_addr
    - dev_addr
    argTypes:
    - struct p2p_data*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5236
      start: 5223
    functionDepth: 2
    functionLinenumber: 5223
    functionLinenumberEnd: 5236
    functionName: p2p_get_dev_addr
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached:
    - MAC2STR
    - os_memcpy
    - p2p_dbg
    - p2p_get_device_interface
    linkageType: ''
    returnType: int
    signature: "int p2p_get_dev_addr(struct p2p_data *p2p, const u8 *iface_addr,\n\t\t\t
      \  u8 *dev_addr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p.c:5243,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p.c:5245,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - p2p
    - dev_addr
    - dik_data
    - dik_len
    - cipher
    argTypes:
    - struct p2p_data*
    - u8*
    - u8**
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5258
      start: 5239
    functionDepth: 1
    functionLinenumber: 5239
    functionLinenumberEnd: 5258
    functionName: p2p_get_dev_identity_key
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 2
    functionsReached:
    - MAC2STR
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int p2p_get_dev_identity_key(struct p2p_data *p2p, const u8 *dev_addr,\n\t\t\t
      \    const u8 **dik_data, size_t *dik_len, u8 *cipher)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:5263,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/p2p/p2p.c:5264,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:5265,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:5267,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p.c:5268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p2p
    - addr
    argTypes:
    - struct p2p_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5269
      start: 5261
    functionDepth: 1
    functionLinenumber: 5261
    functionLinenumberEnd: 5269
    functionName: p2p_set_peer_filter
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached:
    - MAC2STR
    - os_memcpy
    - is_zero_ether_addr
    - p2p_dbg
    linkageType: ''
    returnType: void
    signature: void p2p_set_peer_filter(struct p2p_data *p2p, const u8 *addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:5274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p2p
    - enabled
    argTypes:
    - struct p2p_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5279
      start: 5272
    functionDepth: 1
    functionLinenumber: 5272
    functionLinenumberEnd: 5279
    functionName: p2p_set_cross_connect
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 2
    functionsReached:
    - p2p_dbg
    linkageType: ''
    returnType: void
    signature: void p2p_set_cross_connect(struct p2p_data *p2p, int enabled)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: p2p_get_device_interface
      Src: /src/hostap/src/p2p/p2p.c:5284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - p2p
    - iface_addr
    argTypes:
    - struct p2p_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5290
      start: 5282
    functionDepth: 2
    functionLinenumber: 5282
    functionLinenumberEnd: 5290
    functionName: p2p_get_oper_freq
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 2
    functionsReached:
    - p2p_get_device_interface
    linkageType: ''
    returnType: int
    signature: int p2p_get_oper_freq(struct p2p_data *p2p, const u8 *iface_addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:5295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p2p
    - enabled
    argTypes:
    - struct p2p_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5298
      start: 5293
    functionDepth: 1
    functionLinenumber: 5293
    functionLinenumberEnd: 5298
    functionName: p2p_set_intra_bss_dist
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached:
    - p2p_dbg
    linkageType: ''
    returnType: void
    signature: void p2p_set_intra_bss_dist(struct p2p_data *p2p, int enabled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:5305,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:5306,1
    - Dst: p2p_channels_dump
      Src: /src/hostap/src/p2p/p2p.c:5307,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:5308,1
    - Dst: p2p_channels_dump
      Src: /src/hostap/src/p2p/p2p.c:5310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - p2p
    - chan
    - cli_chan
    argTypes:
    - struct p2p_data*
    - struct p2p_channels*
    - struct p2p_channels*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5311
      start: 5301
    functionDepth: 1
    functionLinenumber: 5301
    functionLinenumberEnd: 5311
    functionName: p2p_update_channel_list
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 6
    functionsReached:
    - os_memcpy
    - p2p_dbg
    - p2p_channels_dump
    linkageType: ''
    returnType: void
    signature: "void p2p_update_channel_list(struct p2p_data *p2p,\n\t\t\t     const
      struct p2p_channels *chan,\n\t\t\t     const struct p2p_channels *cli_chan)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct p2p_data*::cfg::send_action
      Src: /src/hostap/src/p2p/p2p.c:5320,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:5325,1
    - Dst: p2p_stop_listen_for_freq
      Src: /src/hostap/src/p2p/p2p.c:5328,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 8
    argNames:
    - p2p
    - freq
    - dst
    - src
    - bssid
    - buf
    - len
    - wait_time
    argTypes:
    - struct p2p_data*
    - unsigned int
    - u8*
    - u8*
    - u8*
    - u8*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5331
      start: 5314
    functionDepth: 3
    functionLinenumber: 5314
    functionLinenumberEnd: 5331
    functionName: p2p_send_action
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 5
    functionsReached:
    - p2p_stop_listen_for_freq
    - struct p2p_data*::cfg::send_action
    - p2p_dbg
    linkageType: ''
    returnType: int
    signature: "int p2p_send_action(struct p2p_data *p2p, unsigned int freq, const
      u8 *dst,\n\t\t    const u8 *src, const u8 *bssid, const u8 *buf,\n\t\t    size_t
      len, unsigned int wait_time)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:5337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - p2p
    - freq_24
    - freq_5
    - freq_overall
    argTypes:
    - struct p2p_data*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5342
      start: 5334
    functionDepth: 1
    functionLinenumber: 5334
    functionLinenumberEnd: 5342
    functionName: p2p_set_best_channels
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached:
    - p2p_dbg
    linkageType: ''
    returnType: void
    signature: "void p2p_set_best_channels(struct p2p_data *p2p, int freq_24, int
      freq_5,\n\t\t\t   int freq_overall)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:5347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p2p
    - freq
    argTypes:
    - struct p2p_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5349
      start: 5345
    functionDepth: 1
    functionLinenumber: 5345
    functionLinenumberEnd: 5349
    functionName: p2p_set_own_freq_preference
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 5
    functionsReached:
    - p2p_dbg
    linkageType: ''
    returnType: void
    signature: void p2p_set_own_freq_preference(struct p2p_data *p2p, int freq)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - p2p
    argTypes:
    - struct p2p_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5357
      start: 5352
    functionDepth: 0
    functionLinenumber: 5352
    functionLinenumberEnd: 5357
    functionName: p2p_get_go_neg_peer
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 * p2p_get_go_neg_peer(struct p2p_data *p2p)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: p2p_get_device
      Src: /src/hostap/src/p2p/p2p.c:5366,1
    - Dst: dl_list_first
      Src: /src/hostap/src/p2p/p2p.c:5377,1
    - Dst: dl_list_first
      Src: /src/hostap/src/p2p/p2p.c:5385,1
    - Dst: dl_list_first
      Src: /src/hostap/src/p2p/p2p.c:5389,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 3
    argNames:
    - p2p
    - addr
    - next
    argTypes:
    - struct p2p_data*
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5398
      start: 5360
    functionDepth: 2
    functionLinenumber: 5360
    functionLinenumberEnd: 5398
    functionName: p2p_get_peer_found
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 17
    functionsReached:
    - p2p_get_device
    - dl_list_first
    linkageType: ''
    returnType: struct p2p_peer_info
    signature: 'struct p2p_peer_info *

      p2p_get_peer_found(struct p2p_data *p2p, const u8 *addr, int next)'
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - p2p
    argTypes:
    - struct p2p_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5408
      start: 5401
    functionDepth: 0
    functionLinenumber: 5401
    functionLinenumberEnd: 5408
    functionName: p2p_in_progress
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int p2p_in_progress(struct p2p_data *p2p)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - p2p
    - go_timeout
    - client_timeout
    argTypes:
    - struct p2p_data*
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5418
      start: 5411
    functionDepth: 0
    functionLinenumber: 5411
    functionLinenumberEnd: 5418
    functionName: p2p_set_config_timeout
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void p2p_set_config_timeout(struct p2p_data *p2p, u8 go_timeout,\n\t\t\t
      \   u8 client_timeout)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: p2p_group_force_beacon_update_ies
      Src: /src/hostap/src/p2p/p2p.c:5430,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p2p
    argTypes:
    - struct p2p_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5432
      start: 5423
    functionDepth: 1
    functionLinenumber: 5423
    functionLinenumberEnd: 5432
    functionName: p2p_update_wfd_ie_groups
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - p2p_group_force_beacon_update_ies
    linkageType: ''
    returnType: void
    signature: void p2p_update_wfd_ie_groups(struct p2p_data *p2p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:5437,1
    - Dst: p2p_update_wfd_ie_groups
      Src: /src/hostap/src/p2p/p2p.c:5439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p2p
    - ie
    argTypes:
    - struct p2p_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5441
      start: 5435
    functionDepth: 2
    functionLinenumber: 5435
    functionLinenumberEnd: 5441
    functionName: p2p_set_wfd_ie_beacon
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached:
    - p2p_update_wfd_ie_groups
    - wpabuf_free
    linkageType: ''
    returnType: int
    signature: int p2p_set_wfd_ie_beacon(struct p2p_data *p2p, struct wpabuf *ie)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:5446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p2p
    - ie
    argTypes:
    - struct p2p_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5449
      start: 5444
    functionDepth: 1
    functionLinenumber: 5444
    functionLinenumberEnd: 5449
    functionName: p2p_set_wfd_ie_probe_req
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached:
    - wpabuf_free
    linkageType: ''
    returnType: int
    signature: int p2p_set_wfd_ie_probe_req(struct p2p_data *p2p, struct wpabuf *ie)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:5454,1
    - Dst: p2p_update_wfd_ie_groups
      Src: /src/hostap/src/p2p/p2p.c:5456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p2p
    - ie
    argTypes:
    - struct p2p_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5458
      start: 5452
    functionDepth: 2
    functionLinenumber: 5452
    functionLinenumberEnd: 5458
    functionName: p2p_set_wfd_ie_probe_resp
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached:
    - p2p_update_wfd_ie_groups
    - wpabuf_free
    linkageType: ''
    returnType: int
    signature: int p2p_set_wfd_ie_probe_resp(struct p2p_data *p2p, struct wpabuf *ie)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:5463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p2p
    - ie
    argTypes:
    - struct p2p_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5466
      start: 5461
    functionDepth: 1
    functionLinenumber: 5461
    functionLinenumberEnd: 5466
    functionName: p2p_set_wfd_ie_assoc_req
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached:
    - wpabuf_free
    linkageType: ''
    returnType: int
    signature: int p2p_set_wfd_ie_assoc_req(struct p2p_data *p2p, struct wpabuf *ie)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:5471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p2p
    - ie
    argTypes:
    - struct p2p_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5474
      start: 5469
    functionDepth: 1
    functionLinenumber: 5469
    functionLinenumberEnd: 5474
    functionName: p2p_set_wfd_ie_invitation
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached:
    - wpabuf_free
    linkageType: ''
    returnType: int
    signature: int p2p_set_wfd_ie_invitation(struct p2p_data *p2p, struct wpabuf *ie)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:5479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p2p
    - ie
    argTypes:
    - struct p2p_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5482
      start: 5477
    functionDepth: 1
    functionLinenumber: 5477
    functionLinenumberEnd: 5482
    functionName: p2p_set_wfd_ie_prov_disc_req
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached:
    - wpabuf_free
    linkageType: ''
    returnType: int
    signature: int p2p_set_wfd_ie_prov_disc_req(struct p2p_data *p2p, struct wpabuf
      *ie)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:5487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p2p
    - ie
    argTypes:
    - struct p2p_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5490
      start: 5485
    functionDepth: 1
    functionLinenumber: 5485
    functionLinenumberEnd: 5490
    functionName: p2p_set_wfd_ie_prov_disc_resp
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached:
    - wpabuf_free
    linkageType: ''
    returnType: int
    signature: int p2p_set_wfd_ie_prov_disc_resp(struct p2p_data *p2p, struct wpabuf
      *ie)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:5495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p2p
    - ie
    argTypes:
    - struct p2p_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5498
      start: 5493
    functionDepth: 1
    functionLinenumber: 5493
    functionLinenumberEnd: 5498
    functionName: p2p_set_wfd_ie_go_neg
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached:
    - wpabuf_free
    linkageType: ''
    returnType: int
    signature: int p2p_set_wfd_ie_go_neg(struct p2p_data *p2p, struct wpabuf *ie)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:5503,1
    - Dst: wpabuf_dup
      Src: /src/hostap/src/p2p/p2p.c:5505,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - p2p
    - elem
    argTypes:
    - struct p2p_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5512
      start: 5501
    functionDepth: 1
    functionLinenumber: 5501
    functionLinenumberEnd: 5512
    functionName: p2p_set_wfd_dev_info
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached:
    - wpabuf_dup
    - wpabuf_free
    linkageType: ''
    returnType: int
    signature: int p2p_set_wfd_dev_info(struct p2p_data *p2p, const struct wpabuf
      *elem)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:5517,1
    - Dst: wpabuf_dup
      Src: /src/hostap/src/p2p/p2p.c:5519,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - p2p
    - elem
    argTypes:
    - struct p2p_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5526
      start: 5515
    functionDepth: 1
    functionLinenumber: 5515
    functionLinenumberEnd: 5526
    functionName: p2p_set_wfd_r2_dev_info
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached:
    - wpabuf_dup
    - wpabuf_free
    linkageType: ''
    returnType: int
    signature: int p2p_set_wfd_r2_dev_info(struct p2p_data *p2p, const struct wpabuf
      *elem)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:5531,1
    - Dst: wpabuf_dup
      Src: /src/hostap/src/p2p/p2p.c:5533,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - p2p
    - elem
    argTypes:
    - struct p2p_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5540
      start: 5529
    functionDepth: 1
    functionLinenumber: 5529
    functionLinenumberEnd: 5540
    functionName: p2p_set_wfd_assoc_bssid
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached:
    - wpabuf_dup
    - wpabuf_free
    linkageType: ''
    returnType: int
    signature: int p2p_set_wfd_assoc_bssid(struct p2p_data *p2p, const struct wpabuf
      *elem)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:5546,1
    - Dst: wpabuf_dup
      Src: /src/hostap/src/p2p/p2p.c:5548,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - p2p
    - elem
    argTypes:
    - struct p2p_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5555
      start: 5543
    functionDepth: 1
    functionLinenumber: 5543
    functionLinenumberEnd: 5555
    functionName: p2p_set_wfd_coupled_sink_info
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached:
    - wpabuf_dup
    - wpabuf_free
    linkageType: ''
    returnType: int
    signature: "int p2p_set_wfd_coupled_sink_info(struct p2p_data *p2p,\n\t\t\t\t
      \ const struct wpabuf *elem)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:5569,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - p2p
    - min_disc_int
    - max_disc_int
    - max_disc_tu
    argTypes:
    - struct p2p_data*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5573
      start: 5560
    functionDepth: 1
    functionLinenumber: 5560
    functionLinenumberEnd: 5573
    functionName: p2p_set_disc_int
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached:
    - p2p_dbg
    linkageType: ''
    returnType: int
    signature: "int p2p_set_disc_int(struct p2p_data *p2p, int min_disc_int, int max_disc_int,\n\t\t
      \    int max_disc_tu)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/hostap/src/p2p/p2p.c:5584,1
    - Dst: vsnprintf
      Src: /src/hostap/src/p2p/p2p.c:5585,1
    - Dst: va_end
      Src: /src/hostap/src/p2p/p2p.c:5587,1
    - Dst: struct p2p_data*::cfg::debug_print
      Src: /src/hostap/src/p2p/p2p.c:5588,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - p2p
    - fmt
    argTypes:
    - struct p2p_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5589
      start: 5576
    functionDepth: 1
    functionLinenumber: 5576
    functionLinenumberEnd: 5589
    functionName: p2p_dbg
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 104
    functionsReached:
    - va_start
    - struct p2p_data*::cfg::debug_print
    - vsnprintf
    - va_end
    linkageType: ''
    returnType: void
    signature: void p2p_dbg(struct p2p_data *p2p, const char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/hostap/src/p2p/p2p.c:5600,1
    - Dst: vsnprintf
      Src: /src/hostap/src/p2p/p2p.c:5601,1
    - Dst: va_end
      Src: /src/hostap/src/p2p/p2p.c:5603,1
    - Dst: struct p2p_data*::cfg::debug_print
      Src: /src/hostap/src/p2p/p2p.c:5604,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - p2p
    - fmt
    argTypes:
    - struct p2p_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5605
      start: 5592
    functionDepth: 1
    functionLinenumber: 5592
    functionLinenumberEnd: 5605
    functionName: p2p_info
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - va_start
    - struct p2p_data*::cfg::debug_print
    - vsnprintf
    - va_end
    linkageType: ''
    returnType: void
    signature: void p2p_info(struct p2p_data *p2p, const char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/hostap/src/p2p/p2p.c:5616,1
    - Dst: vsnprintf
      Src: /src/hostap/src/p2p/p2p.c:5617,1
    - Dst: va_end
      Src: /src/hostap/src/p2p/p2p.c:5619,1
    - Dst: struct p2p_data*::cfg::debug_print
      Src: /src/hostap/src/p2p/p2p.c:5620,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - p2p
    - fmt
    argTypes:
    - struct p2p_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5621
      start: 5608
    functionDepth: 1
    functionLinenumber: 5608
    functionLinenumberEnd: 5621
    functionName: p2p_err
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached:
    - va_start
    - struct p2p_data*::cfg::debug_print
    - vsnprintf
    - va_end
    linkageType: ''
    returnType: void
    signature: void p2p_err(struct p2p_data *p2p, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/p2p/p2p.c:5631,1
    - Dst: peer_callback
      Src: /src/hostap/src/p2p/p2p.c:5632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p2p
    - user_data
    argTypes:
    - struct p2p_data*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5634
      start: 5624
    functionDepth: 0
    functionLinenumber: 5624
    functionLinenumberEnd: 5634
    functionName: p2p_loop_on_known_peers
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached:
    - peer_callback
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: "void p2p_loop_on_known_peers(struct p2p_data *p2p,\n\t\t\t     void
      (*peer_callback)(struct p2p_peer_info *peer,\n\t\t\t\t\t\t   void *user_data),\n\t\t\t
      \    void *user_data)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/p2p/p2p.c:5648,1
    - Dst: p2p_buf_add_capability
      Src: /src/hostap/src/p2p/p2p.c:5655,1
    - Dst: p2p_buf_add_device_info
      Src: /src/hostap/src/p2p/p2p.c:5657,1
    - Dst: p2p_group_get_freq
      Src: /src/hostap/src/p2p/p2p.c:5660,1
    - Dst: p2p_freq_to_channel
      Src: /src/hostap/src/p2p/p2p.c:5662,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:5663,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:5666,1
    - Dst: p2p_freq_to_channel
      Src: /src/hostap/src/p2p/p2p.c:5671,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:5672,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:5675,1
    - Dst: p2p_buf_add_oob_go_neg_channel
      Src: /src/hostap/src/p2p/p2p.c:5680,1
    - Dst: p2p_buf_add_group_info
      Src: /src/hostap/src/p2p/p2p.c:5685,1
    - Dst: p2p_group_buf_add_id
      Src: /src/hostap/src/p2p/p2p.c:5686,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/p2p/p2p.c:5688,1
    - Dst: p2p_buf_add_group_id
      Src: /src/hostap/src/p2p/p2p.c:5694,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 5
    argNames:
    - p2p
    - client_freq
    - go_dev_addr
    - ssid
    - ssid_len
    argTypes:
    - struct p2p_data*
    - int
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5698
      start: 5639
    functionDepth: 2
    functionLinenumber: 5639
    functionLinenumberEnd: 5698
    functionName: p2p_build_nfc_handover
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - p2p_freq_to_channel
    - p2p_buf_add_oob_go_neg_channel
    - p2p_dbg
    - p2p_group_buf_add_id
    - wpabuf_free
    - is_zero_ether_addr
    - p2p_group_get_freq
    - p2p_buf_add_device_info
    - wpabuf_alloc
    - p2p_buf_add_capability
    - p2p_buf_add_group_id
    - p2p_buf_add_group_info
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * p2p_build_nfc_handover(struct p2p_data *p2p,\n\t\t\t\t\t
      \     int client_freq,\n\t\t\t\t\t      const u8 *go_dev_addr,\n\t\t\t\t\t      const
      u8 *ssid, size_t ssid_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: p2p_build_nfc_handover
      Src: /src/hostap/src/p2p/p2p.c:5706,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - p2p
    - client_freq
    - go_dev_addr
    - ssid
    - ssid_len
    argTypes:
    - struct p2p_data*
    - int
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5708
      start: 5701
    functionDepth: 3
    functionLinenumber: 5701
    functionLinenumberEnd: 5708
    functionName: p2p_build_nfc_handover_req
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached:
    - p2p_build_nfc_handover
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * p2p_build_nfc_handover_req(struct p2p_data *p2p,\n\t\t\t\t\t
      \  int client_freq,\n\t\t\t\t\t   const u8 *go_dev_addr,\n\t\t\t\t\t   const
      u8 *ssid, size_t ssid_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: p2p_build_nfc_handover
      Src: /src/hostap/src/p2p/p2p.c:5716,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - p2p
    - client_freq
    - go_dev_addr
    - ssid
    - ssid_len
    argTypes:
    - struct p2p_data*
    - int
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5718
      start: 5711
    functionDepth: 3
    functionLinenumber: 5711
    functionLinenumberEnd: 5718
    functionName: p2p_build_nfc_handover_sel
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached:
    - p2p_build_nfc_handover
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * p2p_build_nfc_handover_sel(struct p2p_data *p2p,\n\t\t\t\t\t
      \  int client_freq,\n\t\t\t\t\t   const u8 *go_dev_addr,\n\t\t\t\t\t   const
      u8 *ssid, size_t ssid_len)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: p2p_parse_ies_separate
      Src: /src/hostap/src/p2p/p2p.c:5732,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:5734,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p.c:5735,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:5744,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p.c:5745,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:5750,1
    - Dst: p2p_create_device
      Src: /src/hostap/src/p2p/p2p.c:5755,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p.c:5757,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/p2p/p2p.c:5763,1
    - Dst: p2p_copy_wps_info
      Src: /src/hostap/src/p2p/p2p.c:5765,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:5768,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p.c:5769,1
    - Dst: p2p_channel_to_freq
      Src: /src/hostap/src/p2p/p2p.c:5777,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:5780,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p.c:5781,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:5787,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:5790,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:5794,1
    - Dst: p2p_channel_to_freq
      Src: /src/hostap/src/p2p/p2p.c:5798,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:5801,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p.c:5802,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:5805,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:5810,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:5812,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:5817,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p.c:5818,1
    - Dst: struct p2p_data*::cfg::dev_found
      Src: /src/hostap/src/p2p/p2p.c:5823,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p.c:5827,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 91
    argCount: 2
    argNames:
    - p2p
    - params
    argTypes:
    - struct p2p_data*
    - struct p2p_nfc_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5844
      start: 5721
    functionDepth: 3
    functionLinenumber: 5721
    functionLinenumberEnd: 5844
    functionName: p2p_process_nfc_connection_handover
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    - os_get_reltime
    - p2p_dbg
    - p2p_copy_wps_info
    - p2p_channel_to_freq
    - struct p2p_data*::cfg::dev_found
    - p2p_create_device
    - p2p_parse_ies_separate
    - p2p_parse_free
    linkageType: ''
    returnType: int
    signature: "int p2p_process_nfc_connection_handover(struct p2p_data *p2p,\n\t\t\t\t\tstruct
      p2p_nfc_params *params)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:5854,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:5858,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:5862,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - p2p
    - dev_pw_id
    - go_intent
    - own_interface_addr
    argTypes:
    - struct p2p_data*
    - u16
    - int
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5863
      start: 5847
    functionDepth: 2
    functionLinenumber: 5847
    functionLinenumberEnd: 5863
    functionName: p2p_set_authorized_oob_dev_pw_id
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    - p2p_dbg
    linkageType: ''
    returnType: void
    signature: "void p2p_set_authorized_oob_dev_pw_id(struct p2p_data *p2p, u16 dev_pw_id,\n\t\t\t\t
      \     int go_intent,\n\t\t\t\t      const u8 *own_interface_addr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - p2p
    - len
    argTypes:
    - struct p2p_data*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5874
      start: 5868
    functionDepth: 0
    functionLinenumber: 5868
    functionLinenumberEnd: 5874
    functionName: p2p_set_passphrase_len
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int p2p_set_passphrase_len(struct p2p_data *p2p, unsigned int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p2p
    - vendor_elem
    argTypes:
    - struct p2p_data*
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5880
      start: 5877
    functionDepth: 0
    functionLinenumber: 5877
    functionLinenumberEnd: 5880
    functionName: p2p_set_vendor_elems
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void p2p_set_vendor_elems(struct p2p_data *p2p, struct wpabuf **vendor_elem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:5887,1
    - Dst: p2p_go_neg_failed
      Src: /src/hostap/src/p2p/p2p.c:5889,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5890
      start: 5883
    functionDepth: 3
    functionLinenumber: 5883
    functionLinenumberEnd: 5890
    functionName: p2p_go_neg_wait_timeout
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - p2p_dbg
    - p2p_go_neg_failed
    linkageType: ''
    returnType: void
    signature: void p2p_go_neg_wait_timeout(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:5902,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:5905,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - p2p
    - pref_freq_list
    - size
    argTypes:
    - struct p2p_data*
    - struct weighted_pcl*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5908
      start: 5893
    functionDepth: 2
    functionLinenumber: 5893
    functionLinenumberEnd: 5908
    functionName: p2p_set_own_pref_freq_list
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 2
    functionsReached:
    - os_memcpy
    - p2p_dbg
    linkageType: ''
    returnType: void
    signature: "void p2p_set_own_pref_freq_list(struct p2p_data *p2p,\n\t\t\t\tconst
      struct weighted_pcl *pref_freq_list,\n\t\t\t\tunsigned int size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - p2p
    - op_class
    - chan
    argTypes:
    - struct p2p_data*
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5916
      start: 5911
    functionDepth: 0
    functionLinenumber: 5911
    functionLinenumberEnd: 5916
    functionName: p2p_set_override_pref_op_chan
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void p2p_set_override_pref_op_chan(struct p2p_data *p2p, u8 op_class,\n\t\t\t\t
      \  u8 chan)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: p2p_build_probe_resp_ies
      Src: /src/hostap/src/p2p/p2p.c:5926,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p.c:5928,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/p2p/p2p.c:5933,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p.c:5933,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:5935,1
    - Dst: p2p_build_probe_resp_buf
      Src: /src/hostap/src/p2p/p2p.c:5939,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:5940,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:5942,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - p2p
    - freq
    argTypes:
    - struct p2p_data*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5947
      start: 5919
    functionDepth: 5
    functionLinenumber: 5919
    functionLinenumberEnd: 5947
    functionName: p2p_build_probe_resp_template
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpabuf_len
    - wpabuf_free
    - p2p_build_probe_resp_ies
    - p2p_build_probe_resp_buf
    - wpabuf_alloc
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * p2p_build_probe_resp_template(struct p2p_data *p2p,\n\t\t\t\t\t
      \     unsigned int freq)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: p2p_get_device
      Src: /src/hostap/src/p2p/p2p.c:5954,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p2p
    - addr
    argTypes:
    - struct p2p_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5959
      start: 5950
    functionDepth: 2
    functionLinenumber: 5950
    functionLinenumberEnd: 5959
    functionName: p2p_is_peer_6ghz_capab
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 2
    functionsReached:
    - p2p_get_device
    linkageType: ''
    returnType: bool
    signature: bool p2p_is_peer_6ghz_capab(struct p2p_data *p2p, const u8 *addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:5966,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - p2p
    - allow_6ghz
    argTypes:
    - struct p2p_data*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5972
      start: 5962
    functionDepth: 2
    functionLinenumber: 5962
    functionLinenumberEnd: 5972
    functionName: p2p_set_6ghz_dev_capab
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 2
    functionsReached:
    - p2p_dbg
    linkageType: ''
    returnType: void
    signature: void p2p_set_6ghz_dev_capab(struct p2p_data *p2p, bool allow_6ghz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p2p
    argTypes:
    - struct p2p_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5978
      start: 5975
    functionDepth: 0
    functionLinenumber: 5975
    functionLinenumberEnd: 5978
    functionName: is_p2p_6ghz_capable
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_p2p_6ghz_capable(struct p2p_data *p2p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p2p
    argTypes:
    - struct p2p_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5988
      start: 5981
    functionDepth: 0
    functionLinenumber: 5981
    functionLinenumberEnd: 5988
    functionName: p2p_wfd_enabled
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool p2p_wfd_enabled(struct p2p_data *p2p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: p2p_get_device
      Src: /src/hostap/src/p2p/p2p.c:5996,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - p2p
    - peer_addr
    argTypes:
    - struct p2p_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6001
      start: 5991
    functionDepth: 2
    functionLinenumber: 5991
    functionLinenumberEnd: 6001
    functionName: p2p_peer_wfd_enabled
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached:
    - p2p_get_device
    linkageType: ''
    returnType: bool
    signature: bool p2p_peer_wfd_enabled(struct p2p_data *p2p, const u8 *peer_addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p2p
    argTypes:
    - struct p2p_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6007
      start: 6004
    functionDepth: 0
    functionLinenumber: 6004
    functionLinenumberEnd: 6007
    functionName: is_p2p_allow_6ghz
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_p2p_allow_6ghz(struct p2p_data *p2p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p2p
    - value
    argTypes:
    - struct p2p_data*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6013
      start: 6010
    functionDepth: 0
    functionLinenumber: 6010
    functionLinenumberEnd: 6013
    functionName: set_p2p_allow_6ghz
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_p2p_allow_6ghz(struct p2p_data *p2p, bool value)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p.c:6026,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p.c:6033,1
    - Dst: os_memset
      Src: /src/hostap/src/p2p/p2p.c:6038,1
    - Dst: os_get_random
      Src: /src/hostap/src/p2p/p2p.c:6040,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p.c:6041,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:6048,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:6049,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:6050,1
    - Dst: hmac_sha256
      Src: /src/hostap/src/p2p/p2p.c:6053,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p.c:6055,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:6060,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:6062,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/p2p/p2p.c:6064,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/p2p/p2p.c:6066,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/p2p/p2p.c:6068,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 1
    argNames:
    - p2p
    argTypes:
    - struct p2p_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6071
      start: 6016
    functionDepth: 0
    functionLinenumber: 6016
    functionLinenumberEnd: 6071
    functionName: p2p_derive_nonce_tag
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_hexdump_key
    - hmac_sha256
    - os_get_random
    - os_memset
    linkageType: ''
    returnType: int
    signature: int p2p_derive_nonce_tag(struct p2p_data *p2p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:6078,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:6085,1
    - Dst: struct p2p_data*::cfg::validate_dira
      Src: /src/hostap/src/p2p/p2p.c:6093,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - p2p
    - dev
    - dira
    - dira_len
    argTypes:
    - struct p2p_data*
    - struct p2p_device*
    - u8*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6099
      start: 6074
    functionDepth: 2
    functionLinenumber: 6074
    functionLinenumberEnd: 6099
    functionName: p2p_validate_dira
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached:
    - p2p_dbg
    - struct p2p_data*::cfg::validate_dira
    linkageType: ''
    returnType: int
    signature: "int p2p_validate_dira(struct p2p_data *p2p, struct p2p_device *dev,\n\t\t\t
      \    const u8 *dira, u16 dira_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: p2ps_gen_hash
      Src: /src/hostap/src/p2p/p2p.c:6111,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:6113,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p.c:6114,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:6116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - p2p
    - service_name
    argTypes:
    - struct p2p_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6117
      start: 6102
    functionDepth: 2
    functionLinenumber: 6102
    functionLinenumberEnd: 6117
    functionName: p2p_usd_service_hash
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached:
    - p2ps_gen_hash
    - os_memcpy
    - MAC2STR
    - p2p_dbg
    linkageType: ''
    returnType: void
    signature: void p2p_usd_service_hash(struct p2p_data *p2p, const char *service_name)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/p2p/p2p.c:6126,1
    - Dst: p2p_buf_add_ie_hdr
      Src: /src/hostap/src/p2p/p2p.c:6130,1
    - Dst: p2p_buf_add_capability
      Src: /src/hostap/src/p2p/p2p.c:6143,1
    - Dst: p2p_buf_add_device_info
      Src: /src/hostap/src/p2p/p2p.c:6148,1
    - Dst: p2p_buf_update_ie_hdr
      Src: /src/hostap/src/p2p/p2p.c:6150,1
    - Dst: p2p_buf_add_p2p2_ie_hdr
      Src: /src/hostap/src/p2p/p2p.c:6152,1
    - Dst: p2p_buf_add_pcea
      Src: /src/hostap/src/p2p/p2p.c:6155,1
    - Dst: p2p_buf_add_pbma
      Src: /src/hostap/src/p2p/p2p.c:6158,1
    - Dst: p2p_derive_nonce_tag
      Src: /src/hostap/src/p2p/p2p.c:6165,1
    - Dst: p2p_buf_add_dira
      Src: /src/hostap/src/p2p/p2p.c:6166,1
    - Dst: p2p_buf_update_ie_hdr
      Src: /src/hostap/src/p2p/p2p.c:6168,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 1
    argNames:
    - p2p
    argTypes:
    - struct p2p_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6171
      start: 6120
    functionDepth: 2
    functionLinenumber: 6120
    functionLinenumberEnd: 6171
    functionName: p2p_usd_elems
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 3
    functionsReached:
    - p2p_buf_add_ie_hdr
    - p2p_buf_add_dira
    - p2p_buf_add_pcea
    - p2p_buf_add_p2p2_ie_hdr
    - p2p_derive_nonce_tag
    - p2p_buf_update_ie_hdr
    - wpabuf_alloc
    - p2p_buf_add_device_info
    - p2p_buf_add_capability
    - p2p_buf_add_pbma
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * p2p_usd_elems(struct p2p_data *p2p)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/p2p/p2p.c:6181,1
    - Dst: p2p_parse_ies
      Src: /src/hostap/src/p2p/p2p.c:6182,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:6183,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p.c:6184,1
    - Dst: p2p_create_device
      Src: /src/hostap/src/p2p/p2p.c:6192,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p.c:6194,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:6195,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:6200,1
    - Dst: os_memset
      Src: /src/hostap/src/p2p/p2p.c:6206,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/p2p/p2p.c:6209,1
    - Dst: p2p_process_pcea
      Src: /src/hostap/src/p2p/p2p.c:6225,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/p2p/p2p.c:6229,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/p2p/p2p.c:6231,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:6232,1
    - Dst: p2p_validate_dira
      Src: /src/hostap/src/p2p/p2p.c:6236,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:6239,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:6241,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:6249,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p.c:6251,1
    - Dst: struct p2p_data*::cfg::dev_found
      Src: /src/hostap/src/p2p/p2p.c:6254,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p.c:6258,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 49
    argCount: 5
    argNames:
    - p2p
    - ies
    - ies_len
    - peer_addr
    - freq
    argTypes:
    - struct p2p_data*
    - u8*
    - u16
    - u8*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6259
      start: 6174
    functionDepth: 3
    functionLinenumber: 6174
    functionLinenumberEnd: 6259
    functionName: p2p_process_usd_elems
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 2
    functionsReached:
    - os_memcpy
    - p2p_parse_ies
    - p2p_dbg
    - os_get_reltime
    - p2p_validate_dira
    - struct p2p_data*::cfg::dev_found
    - ether_addr_equal
    - WPA_GET_LE16
    - p2p_create_device
    - MAC2STR
    - p2p_process_pcea
    - p2p_parse_free
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void p2p_process_usd_elems(struct p2p_data *p2p, const u8 *ies, u16
      ies_len,\n\t\t\t   const u8 *peer_addr, unsigned int freq)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: p2p_get_device
      Src: /src/hostap/src/p2p/p2p.c:6266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p2p
    - peer
    argTypes:
    - struct p2p_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6271
      start: 6262
    functionDepth: 2
    functionLinenumber: 6262
    functionLinenumberEnd: 6271
    functionName: p2p_get_dik_id
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 2
    functionsReached:
    - p2p_get_device
    linkageType: ''
    returnType: int
    signature: int p2p_get_dik_id(struct p2p_data *p2p, const u8 *peer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/p2p/p2p.c:6278,1
    - Dst: os_strlen
      Src: /src/hostap/src/p2p/p2p.c:6279,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/p2p/p2p.c:6282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p2p
    - pw
    argTypes:
    - struct p2p_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6284
      start: 6276
    functionDepth: 0
    functionLinenumber: 6276
    functionLinenumberEnd: 6284
    functionName: p2p_config_sae_password
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 2
    functionsReached:
    - os_strlen
    - os_strlcpy
    - os_memset
    linkageType: ''
    returnType: int
    signature: int p2p_config_sae_password(struct p2p_data *p2p, const char *pw)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p.c:6296,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/p2p/p2p.c:6297,1
    - Dst: p2p_buf_add_pcea
      Src: /src/hostap/src/p2p/p2p.c:6302,1
    - Dst: p2p_buf_add_dira
      Src: /src/hostap/src/p2p/p2p.c:6306,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:6310,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p.c:6311,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/p2p/p2p.c:6312,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p.c:6312,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/p2p/p2p.c:6313,1
    - Dst: p2p_encaps_ie
      Src: /src/hostap/src/p2p/p2p.c:6316,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:6317,1
    - Dst: wpabuf_tailroom
      Src: /src/hostap/src/p2p/p2p.c:6319,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p.c:6319,1
    - Dst: p2p_err
      Src: /src/hostap/src/p2p/p2p.c:6320,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:6321,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/p2p/p2p.c:6324,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:6325,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 4
    argNames:
    - p2p
    - extra_ies
    - frame
    - add_dira
    argTypes:
    - struct p2p_data*
    - struct wpabuf*
    - struct wpabuf*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6328
      start: 6287
    functionDepth: 2
    functionLinenumber: 6287
    functionLinenumberEnd: 6328
    functionName: p2p_prepare_pasn_extra_ie
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - p2p_dbg
    - p2p_buf_add_dira
    - wpabuf_put_u8
    - wpabuf_len
    - wpabuf_free
    - p2p_buf_add_pcea
    - p2p_encaps_ie
    - wpabuf_put_le16
    - wpabuf_tailroom
    - wpabuf_alloc
    - wpabuf_put_buf
    - p2p_err
    linkageType: ''
    returnType: int
    signature: "int p2p_prepare_pasn_extra_ie(struct p2p_data *p2p,\n\t\t\t\t     struct
      wpabuf *extra_ies,\n\t\t\t\t     const struct wpabuf *frame, bool add_dira)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:6340,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/p2p/p2p.c:6341,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:6343,1
    - Dst: p2p_buf_add_ie_hdr
      Src: /src/hostap/src/p2p/p2p.c:6347,1
    - Dst: p2p_buf_add_usd_service_hash
      Src: /src/hostap/src/p2p/p2p.c:6348,1
    - Dst: p2p_buf_update_ie_hdr
      Src: /src/hostap/src/p2p/p2p.c:6349,1
    - Dst: wpabuf_concat
      Src: /src/hostap/src/p2p/p2p.c:6351,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - p2p
    - extra_ies
    argTypes:
    - struct p2p_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6352
      start: 6331
    functionDepth: 2
    functionLinenumber: 6331
    functionLinenumberEnd: 6352
    functionName: p2p_pasn_service_hash
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - p2p_buf_add_ie_hdr
    - p2p_dbg
    - p2p_buf_add_usd_service_hash
    - wpabuf_free
    - p2p_buf_update_ie_hdr
    - wpabuf_alloc
    - wpabuf_concat
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * p2p_pasn_service_hash(struct p2p_data *p2p,\n\t\t\t\t\t
      \    struct wpabuf *extra_ies)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIT
      Src: /src/hostap/src/p2p/p2p.c:6362,1
    - Dst: wpa_key_mgmt_sae
      Src: /src/hostap/src/p2p/p2p.c:6364,1
    - Dst: BIT
      Src: /src/hostap/src/p2p/p2p.c:6365,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/p2p/p2p.c:6370,1
    - Dst: wpabuf_tailroom
      Src: /src/hostap/src/p2p/p2p.c:6374,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:6375,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:6376,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:6381,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p.c:6382,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p.c:6383,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p.c:6385,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - p2p
    - akmp
    argTypes:
    - struct p2p_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6389
      start: 6355
    functionDepth: 2
    functionLinenumber: 6355
    functionLinenumberEnd: 6389
    functionName: p2p_pairing_generate_rsnxe
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - wpa_key_mgmt_sae
    - p2p_dbg
    - wpabuf_put_u8
    - wpabuf_free
    - wpabuf_tailroom
    - wpabuf_alloc
    - BIT
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * p2p_pairing_generate_rsnxe(struct p2p_data *p2p,\n\t\t\t\t\t\t
      \ int akmp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/p2p/p2p.c:6404,1
    - Dst: sae_derive_pt
      Src: /src/hostap/src/p2p/p2p.c:6414,1
    - Dst: os_strlen
      Src: /src/hostap/src/p2p/p2p.c:6415,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - pasn
    - pasn_type
    - passphrase
    argTypes:
    - struct pasn_data*
    - u8
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6417
      start: 6395
    functionDepth: 1
    functionLinenumber: 6395
    functionLinenumberEnd: 6417
    functionName: p2p_pairing_set_password
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - sae_derive_pt
    linkageType: ''
    returnType: void
    signature: "void p2p_pairing_set_password(struct pasn_data *pasn, u8 pasn_type,\n\t\t\t\t
      \    const char *passphrase)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: wpa_pasn_reset
      Src: /src/hostap/src/p2p/p2p.c:6430,1
    - Dst: pasn_data_init
      Src: /src/hostap/src/p2p/p2p.c:6432,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:6439,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:6440,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:6442,1
    - Dst: p2p_pairing_set_password
      Src: /src/hostap/src/p2p/p2p.c:6467,1
    - Dst: struct p2p_data*::cfg::set_pmksa
      Src: /src/hostap/src/p2p/p2p.c:6473,1
    - Dst: p2p_pairing_generate_rsnxe
      Src: /src/hostap/src/p2p/p2p.c:6483,1
    - Dst: os_free
      Src: /src/hostap/src/p2p/p2p.c:6485,1
    - Dst: os_memdup
      Src: /src/hostap/src/p2p/p2p.c:6486,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/p2p/p2p.c:6486,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p.c:6487,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:6489,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:6492,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 62
    argCount: 6
    argNames:
    - p2p
    - dev
    - addr
    - freq
    - verify
    - derive_kek
    argTypes:
    - struct p2p_data*
    - struct p2p_device*
    - u8*
    - int
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6507
      start: 6420
    functionDepth: 3
    functionLinenumber: 6420
    functionLinenumberEnd: 6507
    functionName: p2p_pasn_initialize
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - p2p_pairing_set_password
    - wpabuf_head_u8
    - pasn_data_init
    - os_memdup
    - wpabuf_len
    - wpabuf_free
    - p2p_pairing_generate_rsnxe
    - struct p2p_data*::cfg::set_pmksa
    - wpa_pasn_reset
    - os_free
    linkageType: ''
    returnType: void
    signature: "void p2p_pasn_initialize(struct p2p_data *p2p, struct p2p_device *dev,\n\t\t\t
      const u8 *addr, int freq, bool verify, bool derive_kek)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:6516,1
    - Dst: p2p_get_device
      Src: /src/hostap/src/p2p/p2p.c:6520,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:6522,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:6530,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p.c:6531,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - p2p
    - peer_addr
    argTypes:
    - struct p2p_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6535
      start: 6510
    functionDepth: 2
    functionLinenumber: 6510
    functionLinenumberEnd: 6535
    functionName: p2p_get_listen_freq
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 2
    functionsReached:
    - p2p_get_device
    - MAC2STR
    - p2p_dbg
    linkageType: ''
    returnType: int
    signature: int p2p_get_listen_freq(struct p2p_data *p2p, const u8 *peer_addr)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:6552,1
    - Dst: p2p_get_device
      Src: /src/hostap/src/p2p/p2p.c:6556,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:6558,1
    - Dst: p2p_invite
      Src: /src/hostap/src/p2p/p2p.c:6562,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:6564,1
    - Dst: p2p_pasn_initialize
      Src: /src/hostap/src/p2p/p2p.c:6569,1
    - Dst: p2p_build_invitation_req
      Src: /src/hostap/src/p2p/p2p.c:6572,1
    - Dst: p2p_set_state
      Src: /src/hostap/src/p2p/p2p.c:6576,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/p2p/p2p.c:6581,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:6583,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:6584,1
    - Dst: os_get_random
      Src: /src/hostap/src/p2p/p2p.c:6588,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:6589,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:6590,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/p2p/p2p.c:6593,1
    - Dst: pasn_set_custom_pmkid
      Src: /src/hostap/src/p2p/p2p.c:6596,1
    - Dst: p2p_prepare_pasn_extra_ie
      Src: /src/hostap/src/p2p/p2p.c:6598,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:6599,1
    - Dst: p2p_pasn_service_hash
      Src: /src/hostap/src/p2p/p2p.c:6604,1
    - Dst: os_memdup
      Src: /src/hostap/src/p2p/p2p.c:6608,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/p2p/p2p.c:6608,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p.c:6609,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:6611,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p.c:6617,1
    - Dst: wpa_pasn_verify
      Src: /src/hostap/src/p2p/p2p.c:6620,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:6623,1
    - Dst: os_free
      Src: /src/hostap/src/p2p/p2p.c:6631,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:6632,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:6633,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 70
    argCount: 10
    argNames:
    - p2p
    - peer_addr
    - freq
    - role
    - bssid
    - ssid
    - ssid_len
    - force_freq
    - go_dev_addr
    - pref_freq
    argTypes:
    - struct p2p_data*
    - u8*
    - int
    - enum p2p_invite_role
    - u8*
    - u8*
    - size_t
    - unsigned int
    - u8*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6635
      start: 6538
    functionDepth: 4
    functionLinenumber: 6538
    functionLinenumberEnd: 6635
    functionName: p2p_initiate_pasn_verify
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 2
    functionsReached:
    - p2p_dbg
    - wpabuf_head_u8
    - wpa_hexdump
    - wpabuf_len
    - pasn_set_custom_pmkid
    - os_memdup
    - wpabuf_free
    - os_get_random
    - p2p_pasn_service_hash
    - p2p_get_device
    - p2p_invite
    - wpabuf_alloc
    - p2p_prepare_pasn_extra_ie
    - p2p_set_state
    - os_free
    - wpa_pasn_verify
    - p2p_pasn_initialize
    - p2p_build_invitation_req
    linkageType: ''
    returnType: int
    signature: "int p2p_initiate_pasn_verify(struct p2p_data *p2p, const u8 *peer_addr,\n\t\t\t
      \    int freq, enum p2p_invite_role role,\n\t\t\t     const u8 *bssid, const
      u8 *ssid, size_t ssid_len,\n\t\t\t     unsigned int force_freq, const u8 *go_dev_addr,\n\t\t\t
      \    unsigned int pref_freq)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:6648,1
    - Dst: p2p_get_device
      Src: /src/hostap/src/p2p/p2p.c:6652,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:6654,1
    - Dst: p2p_pasn_initialize
      Src: /src/hostap/src/p2p/p2p.c:6662,1
    - Dst: pasn_initiator_pmksa_cache_remove
      Src: /src/hostap/src/p2p/p2p.c:6665,1
    - Dst: p2p_build_go_neg_req
      Src: /src/hostap/src/p2p/p2p.c:6667,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/p2p/p2p.c:6674,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:6676,1
    - Dst: p2p_prepare_pasn_extra_ie
      Src: /src/hostap/src/p2p/p2p.c:6680,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:6681,1
    - Dst: p2p_pasn_service_hash
      Src: /src/hostap/src/p2p/p2p.c:6686,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p.c:6690,1
    - Dst: os_memdup
      Src: /src/hostap/src/p2p/p2p.c:6691,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/p2p/p2p.c:6691,1
    - Dst: wpas_pasn_start
      Src: /src/hostap/src/p2p/p2p.c:6701,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:6704,1
    - Dst: os_free
      Src: /src/hostap/src/p2p/p2p.c:6708,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:6711,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:6712,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 57
    argCount: 3
    argNames:
    - p2p
    - addr
    - freq
    argTypes:
    - struct p2p_data*
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6714
      start: 6638
    functionDepth: 4
    functionLinenumber: 6638
    functionLinenumberEnd: 6714
    functionName: p2p_initiate_pasn_auth
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 3
    functionsReached:
    - p2p_dbg
    - wpabuf_head_u8
    - wpabuf_len
    - os_memdup
    - wpabuf_free
    - pasn_initiator_pmksa_cache_remove
    - p2p_pasn_service_hash
    - wpas_pasn_start
    - p2p_get_device
    - wpabuf_alloc
    - p2p_prepare_pasn_extra_ie
    - os_free
    - p2p_build_go_neg_req
    - p2p_pasn_initialize
    linkageType: ''
    returnType: int
    signature: int p2p_initiate_pasn_auth(struct p2p_data *p2p, const u8 *addr, int
      freq)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/p2p/p2p.c:6733,1
    - Dst: p2p_parse_ies
      Src: /src/hostap/src/p2p/p2p.c:6734,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:6735,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p.c:6737,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/p2p/p2p.c:6750,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p.c:6751,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:6757,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p.c:6760,1
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/src/p2p/p2p.c:6766,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p.c:6770,1
    - Dst: ieee802_11_rsnx_capab_len
      Src: /src/hostap/src/p2p/p2p.c:6774,1
    - Dst: p2p_process_invitation_req
      Src: /src/hostap/src/p2p/p2p.c:6780,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:6785,1
    - Dst: p2p_pasn_initialize
      Src: /src/hostap/src/p2p/p2p.c:6788,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:6790,1
    - Dst: p2p_validate_dira
      Src: /src/hostap/src/p2p/p2p.c:6793,1
    - Dst: struct p2p_data*::cfg::set_pmksa
      Src: /src/hostap/src/p2p/p2p.c:6798,1
    - Dst: wpa_parse_wpa_ie_rsn
      Src: /src/hostap/src/p2p/p2p.c:6803,1
    - Dst: pasn_set_custom_pmkid
      Src: /src/hostap/src/p2p/p2p.c:6807,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:6814,1
    - Dst: p2p_process_go_neg_req
      Src: /src/hostap/src/p2p/p2p.c:6817,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:6820,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:6822,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:6825,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 60
    argCount: 6
    argNames:
    - p2p
    - dev
    - mgmt
    - len
    - freq
    - trans_seq
    argTypes:
    - struct p2p_data*
    - struct p2p_device*
    - struct ieee80211_mgmt*
    - size_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6827
      start: 6717
    functionDepth: 4
    functionLinenumber: 6717
    functionLinenumberEnd: 6827
    functionName: p2p_pasn_handle_action_wrapper
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - p2p_parse_ies
    - p2p_dbg
    - p2p_validate_dira
    - p2p_pasn_initialize
    - pasn_set_custom_pmkid
    - wpabuf_free
    - ieee802_11_rsnx_capab_len
    - wpa_parse_wpa_ie_rsn
    - ieee802_11_parse_elems
    - p2p_process_go_neg_req
    - struct p2p_data*::cfg::set_pmksa
    - p2p_process_invitation_req
    - p2p_parse_free
    - WPA_GET_BE32
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int p2p_pasn_handle_action_wrapper(struct p2p_data *p2p,\n\t\t\t\t\t
      \ struct p2p_device *dev,\n\t\t\t\t\t  const struct ieee80211_mgmt *mgmt,\n\t\t\t\t\t
      \ size_t len, int freq, int trans_seq)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/p2p/p2p.c:6878,1
    - Dst: p2p_buf_add_p2p2_ie_hdr
      Src: /src/hostap/src/p2p/p2p.c:6882,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p.c:6885,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/p2p/p2p.c:6886,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p.c:6888,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/p2p/p2p.c:6890,1
    - Dst: wpabuf_put_be32
      Src: /src/hostap/src/p2p/p2p.c:6892,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/p2p/p2p.c:6894,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/p2p/p2p.c:6895,1
    - Dst: os_random
      Src: /src/hostap/src/p2p/p2p.c:6905,1
    - Dst: p2p_random
      Src: /src/hostap/src/p2p/p2p.c:6906,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:6908,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p.c:6914,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/p2p/p2p.c:6915,1
    - Dst: os_strlen
      Src: /src/hostap/src/p2p/p2p.c:6915,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/p2p/p2p.c:6916,1
    - Dst: p2p_buf_update_ie_hdr
      Src: /src/hostap/src/p2p/p2p.c:6919,1
    - Dst: pasn_add_encrypted_data
      Src: /src/hostap/src/p2p/p2p.c:6921,1
    - Dst: wpabuf_mhead_u8
      Src: /src/hostap/src/p2p/p2p.c:6921,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p.c:6922,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:6923,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 3
    argNames:
    - p2p
    - dev
    - buf
    argTypes:
    - struct p2p_data*
    - struct p2p_device*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6925
      start: 6860
    functionDepth: 2
    functionLinenumber: 6860
    functionLinenumberEnd: 6925
    functionName: p2p_pasn_add_encrypted_data
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - p2p_random
    - os_strlen
    - wpabuf_put
    - wpabuf_put_data
    - wpabuf_put_u8
    - wpabuf_put_str
    - wpabuf_mhead_u8
    - wpabuf_len
    - wpabuf_free
    - os_random
    - p2p_buf_add_p2p2_ie_hdr
    - wpabuf_put_le16
    - p2p_buf_update_ie_hdr
    - wpabuf_alloc
    - pasn_add_encrypted_data
    - wpabuf_put_be32
    - WPA_PUT_LE16
    linkageType: ''
    returnType: int
    signature: "int p2p_pasn_add_encrypted_data(struct p2p_data *p2p,\n\t\t\t\t       struct
      p2p_device *dev,\n\t\t\t\t       struct wpabuf *buf)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: p2p_get_device
      Src: /src/hostap/src/p2p/p2p.c:6938,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:6940,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p.c:6941,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/p2p/p2p.c:6946,1
    - Dst: p2p_prepare_pasn_extra_ie
      Src: /src/hostap/src/p2p/p2p.c:6948,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:6950,1
    - Dst: p2p_pasn_add_encrypted_data
      Src: /src/hostap/src/p2p/p2p.c:6954,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:6955,1
    - Dst: pasn_set_extra_ies
      Src: /src/hostap/src/p2p/p2p.c:6957,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/p2p/p2p.c:6957,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p.c:6958,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:6961,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:6962,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - p2p
    - peer_addr
    argTypes:
    - struct p2p_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6966
      start: 6928
    functionDepth: 3
    functionLinenumber: 6928
    functionLinenumberEnd: 6966
    functionName: p2p_prepare_data_element
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached:
    - pasn_set_extra_ies
    - p2p_dbg
    - wpabuf_head_u8
    - wpabuf_len
    - wpabuf_free
    - p2p_prepare_pasn_extra_ie
    - p2p_get_device
    - wpabuf_alloc
    - MAC2STR
    - p2p_pasn_add_encrypted_data
    linkageType: ''
    returnType: int
    signature: int p2p_prepare_data_element(struct p2p_data *p2p, const u8 *peer_addr)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/p2p/p2p.c:6985,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:6986,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/p2p/p2p.c:6996,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:7007,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:7016,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:7019,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:7025,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:7031,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/p2p/p2p.c:7035,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:7036,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:7043,1
    - Dst: os_memset
      Src: /src/hostap/src/p2p/p2p.c:7048,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:7050,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:7053,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 63
    argCount: 3
    argNames:
    - p2p
    - data
    - len
    argTypes:
    - struct p2p_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7062
      start: 6969
    functionDepth: 2
    functionLinenumber: 6969
    functionLinenumberEnd: 7062
    functionName: p2p_parse_data_element
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    - p2p_dbg
    - WPA_GET_LE16
    - WPA_GET_BE32
    - os_memset
    linkageType: ''
    returnType: int
    signature: int p2p_parse_data_element(struct p2p_data *p2p, const u8 *data, size_t
      len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/src/p2p/p2p.c:7069,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:7070,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - p2p
    - dev
    - pmkid
    argTypes:
    - struct p2p_data*
    - struct p2p_device*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7074
      start: 7065
    functionDepth: 2
    functionLinenumber: 7065
    functionLinenumberEnd: 7074
    functionName: p2p_validate_custom_pmkid
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - p2p_dbg
    - os_memcmp
    linkageType: ''
    returnType: int
    signature: "int p2p_validate_custom_pmkid(struct p2p_data *p2p,\n\t\t\t\t     struct
      p2p_device *dev, const u8 *pmkid)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: p2p_get_device
      Src: /src/hostap/src/p2p/p2p.c:7082,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:7084,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p.c:7084,1
    - Dst: pasn_initiator_pmksa_cache_get
      Src: /src/hostap/src/p2p/p2p.c:7089,1
    - Dst: pasn_responder_pmksa_cache_get
      Src: /src/hostap/src/p2p/p2p.c:7093,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - p2p
    - addr
    - pmkid
    - pmk
    - pmk_len
    argTypes:
    - struct p2p_data*
    - u8*
    - u8*
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7096
      start: 7077
    functionDepth: 2
    functionLinenumber: 7077
    functionLinenumberEnd: 7096
    functionName: p2p_pasn_pmksa_get_pmk
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - pasn_initiator_pmksa_cache_get
    - p2p_dbg
    - p2p_get_device
    - MAC2STR
    - pasn_responder_pmksa_cache_get
    linkageType: ''
    returnType: int
    signature: "int p2p_pasn_pmksa_get_pmk(struct p2p_data *p2p, const u8 *addr,\n\t\t\t\t
      \ u8 *pmkid, u8 *pmk, size_t *pmk_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: p2p_get_device
      Src: /src/hostap/src/p2p/p2p.c:7110,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:7112,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p.c:7113,1
    - Dst: p2p_validate_custom_pmkid
      Src: /src/hostap/src/p2p/p2p.c:7117,1
    - Dst: p2p_pasn_pmksa_get_pmk
      Src: /src/hostap/src/p2p/p2p.c:7120,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:7121,1
    - Dst: p2p_pasn_pmksa_set_pmk
      Src: /src/hostap/src/p2p/p2p.c:7125,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - p2p
    - addr
    - rsn_pmkid
    argTypes:
    - struct p2p_data*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7128
      start: 7099
    functionDepth: 3
    functionLinenumber: 7099
    functionLinenumberEnd: 7128
    functionName: p2p_pasn_validate_and_update_pmkid
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached:
    - p2p_dbg
    - p2p_validate_custom_pmkid
    - p2p_pasn_pmksa_get_pmk
    - p2p_get_device
    - MAC2STR
    - p2p_pasn_pmksa_set_pmk
    linkageType: ''
    returnType: int
    signature: "int p2p_pasn_validate_and_update_pmkid(struct p2p_data *p2p, const
      u8 *addr,\n\t\t\t\t       const u8 *rsn_pmkid)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: p2p_get_device
      Src: /src/hostap/src/p2p/p2p.c:7143,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:7145,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p.c:7146,1
    - Dst: wpa_pasn_auth_tx_status
      Src: /src/hostap/src/p2p/p2p.c:7152,1
    - Dst: struct pasn_data*::send_mgmt
      Src: /src/hostap/src/p2p/p2p.c:7154,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/p2p/p2p.c:7154,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p.c:7155,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:7158,1
    - Dst: p2p_start_invitation_connect
      Src: /src/hostap/src/p2p/p2p.c:7165,1
    - Dst: p2p_go_complete
      Src: /src/hostap/src/p2p/p2p.c:7167,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 5
    argNames:
    - p2p
    - data
    - data_len
    - acked
    - verify
    argTypes:
    - struct p2p_data*
    - u8*
    - size_t
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7170
      start: 7131
    functionDepth: 3
    functionLinenumber: 7131
    functionLinenumberEnd: 7170
    functionName: p2p_pasn_auth_tx_status
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 2
    functionsReached:
    - struct pasn_data*::send_mgmt
    - p2p_dbg
    - wpabuf_len
    - wpabuf_free
    - p2p_start_invitation_connect
    - wpabuf_head
    - p2p_get_device
    - wpa_pasn_auth_tx_status
    - MAC2STR
    - p2p_go_complete
    linkageType: ''
    returnType: int
    signature: "int p2p_pasn_auth_tx_status(struct p2p_data *p2p, const u8 *data,\n\t\t\t
      \   size_t data_len, bool acked, bool verify)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/src/p2p/p2p.c:7185,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:7186,1
    - Dst: le_to_host16
      Src: /src/hostap/src/p2p/p2p.c:7194,1
    - Dst: le_to_host16
      Src: /src/hostap/src/p2p/p2p.c:7195,1
    - Dst: le_to_host16
      Src: /src/hostap/src/p2p/p2p.c:7197,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:7201,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:7208,1
    - Dst: os_free
      Src: /src/hostap/src/p2p/p2p.c:7223,1
    - Dst: int_array_dup
      Src: /src/hostap/src/p2p/p2p.c:7224,1
    - Dst: p2p_pasn_handle_action_wrapper
      Src: /src/hostap/src/p2p/p2p.c:7226,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:7228,1
    - Dst: handle_auth_pasn_1
      Src: /src/hostap/src/p2p/p2p.c:7232,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:7234,1
    - Dst: handle_auth_pasn_3
      Src: /src/hostap/src/p2p/p2p.c:7239,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:7241,1
    - Dst: p2p_pasn_store_ptk
      Src: /src/hostap/src/p2p/p2p.c:7246,1
    - Dst: p2p_pasn_handle_action_wrapper
      Src: /src/hostap/src/p2p/p2p.c:7248,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:7250,1
    - Dst: os_memset
      Src: /src/hostap/src/p2p/p2p.c:7253,1
    - Dst: os_memset
      Src: /src/hostap/src/p2p/p2p.c:7255,1
    - Dst: forced_memzero
      Src: /src/hostap/src/p2p/p2p.c:7259,1
    - Dst: pasn_get_ptk
      Src: /src/hostap/src/p2p/p2p.c:7259,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 58
    argCount: 5
    argNames:
    - p2p
    - dev
    - mgmt
    - len
    - freq
    argTypes:
    - struct p2p_data*
    - struct p2p_device*
    - struct ieee80211_mgmt*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7262
      start: 7173
    functionDepth: 5
    functionLinenumber: 7173
    functionLinenumberEnd: 7262
    functionName: p2p_handle_pasn_auth
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 0
    functionsReached:
    - int_array_dup
    - pasn_get_ptk
    - p2p_dbg
    - handle_auth_pasn_3
    - p2p_pasn_store_ptk
    - forced_memzero
    - handle_auth_pasn_1
    - os_memcmp
    - le_to_host16
    - os_free
    - p2p_pasn_handle_action_wrapper
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int p2p_handle_pasn_auth(struct p2p_data *p2p, struct p2p_device *dev,\n\t\t\t\tconst
      struct ieee80211_mgmt *mgmt, size_t len,\n\t\t\t\tint freq)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: p2p_get_device
      Src: /src/hostap/src/p2p/p2p.c:7274,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:7276,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p.c:7277,1
    - Dst: pasn_data_init
      Src: /src/hostap/src/p2p/p2p.c:7282,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:7284,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p.c:7291,1
    - Dst: pasn_register_callbacks
      Src: /src/hostap/src/p2p/p2p.c:7294,1
    - Dst: le_to_host16
      Src: /src/hostap/src/p2p/p2p.c:7298,1
    - Dst: p2p_pasn_handle_action_wrapper
      Src: /src/hostap/src/p2p/p2p.c:7302,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:7304,1
    - Dst: wpa_pasn_auth_rx
      Src: /src/hostap/src/p2p/p2p.c:7308,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:7311,1
    - Dst: p2p_pasn_store_ptk
      Src: /src/hostap/src/p2p/p2p.c:7315,1
    - Dst: forced_memzero
      Src: /src/hostap/src/p2p/p2p.c:7317,1
    - Dst: pasn_get_ptk
      Src: /src/hostap/src/p2p/p2p.c:7317,1
    - Dst: p2p_handle_pasn_auth
      Src: /src/hostap/src/p2p/p2p.c:7319,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 4
    argNames:
    - p2p
    - mgmt
    - len
    - freq
    argTypes:
    - struct p2p_data*
    - struct ieee80211_mgmt*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7322
      start: 7265
    functionDepth: 6
    functionLinenumber: 7265
    functionLinenumberEnd: 7322
    functionName: p2p_pasn_auth_rx
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 2
    functionsReached:
    - p2p_handle_pasn_auth
    - pasn_get_ptk
    - p2p_dbg
    - pasn_data_init
    - p2p_pasn_store_ptk
    - forced_memzero
    - wpabuf_free
    - pasn_register_callbacks
    - p2p_get_device
    - MAC2STR
    - le_to_host16
    - p2p_pasn_handle_action_wrapper
    - wpa_pasn_auth_rx
    linkageType: ''
    returnType: int
    signature: "int p2p_pasn_auth_rx(struct p2p_data *p2p, const struct ieee80211_mgmt
      *mgmt,\n\t\t     size_t len, int freq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pasn_initiator_pmksa_cache_add
      Src: /src/hostap/src/p2p/p2p.c:7328,1
    - Dst: pasn_responder_pmksa_cache_add
      Src: /src/hostap/src/p2p/p2p.c:7330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - p2p
    - src
    - dst
    - pmk
    - pmk_len
    - pmkid
    argTypes:
    - struct p2p_data*
    - u8*
    - u8*
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7332
      start: 7325
    functionDepth: 1
    functionLinenumber: 7325
    functionLinenumberEnd: 7332
    functionName: p2p_pasn_pmksa_set_pmk
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 2
    functionsReached:
    - pasn_responder_pmksa_cache_add
    - pasn_initiator_pmksa_cache_add
    linkageType: ''
    returnType: void
    signature: "void p2p_pasn_pmksa_set_pmk(struct p2p_data *p2p, const u8 *src, const
      u8 *dst,\n\t\t\t    const u8 *pmk, size_t pmk_len, const u8 *pmkid)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p.c:7342,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:7349,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:7353,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:7357,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p.c:7361,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - p2p
    - ptk
    argTypes:
    - struct p2p_data*
    - struct wpa_ptk*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7364
      start: 7337
    functionDepth: 2
    functionLinenumber: 7337
    functionLinenumberEnd: 7364
    functionName: p2p_pasn_store_ptk
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 2
    functionsReached:
    - os_memcpy
    - p2p_dbg
    linkageType: ''
    returnType: void
    signature: void p2p_pasn_store_ptk(struct p2p_data *p2p, struct wpa_ptk *ptk)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - p2p
    - buf
    - buf_len
    argTypes:
    - struct p2p_data*
    - u8**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7375
      start: 7367
    functionDepth: 0
    functionLinenumber: 7367
    functionLinenumberEnd: 7375
    functionName: p2p_pasn_get_ptk
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int p2p_pasn_get_ptk(struct p2p_data *p2p, const u8 **buf, size_t *buf_len)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: p2p_derive_nonce_tag
      Src: /src/hostap/src/p2p/p2p.c:7393,1
    - Dst: os_snprintf
      Src: /src/hostap/src/p2p/p2p.c:7400,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p.c:7401,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/p2p/p2p.c:7402,1
    - Dst: os_snprintf
      Src: /src/hostap/src/p2p/p2p.c:7406,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/p2p/p2p.c:7407,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/p2p/p2p.c:7411,1
    - Dst: os_snprintf
      Src: /src/hostap/src/p2p/p2p.c:7414,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/p2p/p2p.c:7415,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/p2p/p2p.c:7419,1
    - Dst: os_snprintf
      Src: /src/hostap/src/p2p/p2p.c:7422,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/p2p/p2p.c:7423,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 3
    argNames:
    - p2p
    - buf
    - buflen
    argTypes:
    - struct p2p_data*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7428
      start: 7382
    functionDepth: 1
    functionLinenumber: 7382
    functionLinenumberEnd: 7428
    functionName: p2p_get_dira_info
    functionSourceFile: /src/hostap/src/p2p/p2p.c
    functionUses: 1
    functionsReached:
    - wpa_snprintf_hex
    - p2p_derive_nonce_tag
    - os_snprintf
    - MAC2STR
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: int p2p_get_dira_info(struct p2p_data *p2p, char *buf, size_t buflen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p_parse.c:25,1
    - Dst: is_ctrl_char
      Src: /src/hostap/src/p2p/p2p_parse.c:30,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 4
    argNames:
    - dst
    - dst_len
    - src
    - src_len
    argTypes:
    - char*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 33
    functionName: p2p_copy_filter_devname
    functionSourceFile: /src/hostap/src/p2p/p2p_parse.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    - is_ctrl_char
    linkageType: ''
    returnType: void
    signature: "void p2p_copy_filter_devname(char *dst, size_t dst_len,\n\t\t\t     const
      void *src, size_t src_len)"
  - BBCount: 75
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:46,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:51,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:57,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:62,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_parse.c:63,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:67,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:72,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:77,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:82,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:86,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:91,1
    - Dst: has_ctrl_char
      Src: /src/hostap/src/p2p/p2p_parse.c:96,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:97,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:102,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:109,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:114,1
    - Dst: has_ctrl_char
      Src: /src/hostap/src/p2p/p2p_parse.c:119,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:120,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:125,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:132,1
    - Dst: has_ctrl_char
      Src: /src/hostap/src/p2p/p2p_parse.c:138,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:139,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:143,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/p2p/p2p_parse.c:147,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:153,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:157,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/p2p/p2p_parse.c:166,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:172,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:177,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/p2p/p2p_parse.c:181,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/p2p/p2p_parse.c:182,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/p2p/p2p_parse.c:187,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:190,1
    - Dst: p2p_copy_filter_devname
      Src: /src/hostap/src/p2p/p2p_parse.c:195,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:197,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_parse.c:200,1
    - Dst: wps_dev_type_bin2str
      Src: /src/hostap/src/p2p/p2p_parse.c:201,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:207,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:212,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:216,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:222,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_parse.c:223,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:227,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:232,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_parse.c:233,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:237,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:243,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_parse.c:244,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/p2p/p2p_parse.c:245,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:251,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:256,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:261,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:266,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:271,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:277,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:281,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:286,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/p2p/p2p_parse.c:288,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/p2p/p2p_parse.c:289,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:293,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:298,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:303,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:308,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:316,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/p2p/p2p_parse.c:323,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:328,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:333,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:339,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:344,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:351,1
    - Dst: WPA_GET_LE32
      Src: /src/hostap/src/p2p/p2p_parse.c:352,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:356,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p_parse.c:370,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:372,1
    - Dst: WPA_GET_LE32
      Src: /src/hostap/src/p2p/p2p_parse.c:373,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:375,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:381,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:388,1
    - Dst: WPA_GET_LE32
      Src: /src/hostap/src/p2p/p2p_parse.c:389,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_parse.c:389,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:393,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:400,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:405,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:414,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_parse.c:415,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/src/p2p/p2p_parse.c:416,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:422,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:428,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:432,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:438,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:442,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:449,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:454,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:460,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:466,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:475,1
    CyclomaticComplexity: 83
    EdgeCount: 83
    ICount: 333
    argCount: 4
    argNames:
    - id
    - data
    - len
    - msg
    argTypes:
    - u8
    - u8*
    - u16
    - struct p2p_message*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 481
    functionName: p2p_parse_attribute
    functionSourceFile: /src/hostap/src/p2p/p2p_parse.c
    functionUses: 0
    functionsReached:
    - has_ctrl_char
    - wpa_printf
    - WPA_GET_BE16
    - os_memcpy
    - wpa_hexdump
    - wpa_ssid_txt
    - WPA_GET_LE32
    - WPA_GET_LE16
    - MAC2STR
    - p2p_copy_filter_devname
    - wps_dev_type_bin2str
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: int
    signature: "int p2p_parse_attribute(u8 id, const u8 *data, u16 len,\n\t\t\t       struct
      p2p_message *msg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/p2p/p2p_parse.c:495,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p_parse.c:496,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:498,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:505,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/p2p/p2p_parse.c:509,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:511,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:514,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/p2p/p2p_parse.c:517,1
    - Dst: p2p_parse_attribute
      Src: /src/hostap/src/p2p/p2p_parse.c:520,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - buf
    - msg
    argTypes:
    - struct wpabuf*
    - struct p2p_message*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 493
    functionDepth: 3
    functionLinenumber: 493
    functionLinenumberEnd: 526
    functionName: p2p_parse_p2p_ie
    functionSourceFile: /src/hostap/src/p2p/p2p_parse.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - wpabuf_head_u8
    - wpa_hexdump
    - wpabuf_len
    - WPA_GET_LE16
    - p2p_parse_attribute
    linkageType: ''
    returnType: int
    signature: int p2p_parse_p2p_ie(const struct wpabuf *buf, struct p2p_message *msg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:534,1
    - Dst: wps_parse_msg
      Src: /src/hostap/src/p2p/p2p_parse.c:535,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p_parse.c:539,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/p2p/p2p_parse.c:542,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:543,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/p2p/p2p_parse.c:547,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:548,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:555,1
    - Dst: wps_dev_type_bin2str
      Src: /src/hostap/src/p2p/p2p_parse.c:556,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 2
    argNames:
    - buf
    - msg
    argTypes:
    - struct wpabuf*
    - struct p2p_message*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 529
    functionDepth: 1
    functionLinenumber: 529
    functionLinenumberEnd: 582
    functionName: p2p_parse_wps_ie
    functionSourceFile: /src/hostap/src/p2p/p2p_parse.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - WPA_GET_BE16
    - os_memcpy
    - wps_dev_type_bin2str
    - wps_parse_msg
    linkageType: ''
    returnType: int
    signature: int p2p_parse_wps_ie(const struct wpabuf *buf, struct p2p_message *msg)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/src/p2p/p2p_parse.c:602,1
    - Dst: ieee802_11_vendor_ie_concat
      Src: /src/hostap/src/p2p/p2p_parse.c:610,1
    - Dst: p2p_parse_wps_ie
      Src: /src/hostap/src/p2p/p2p_parse.c:613,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p_parse.c:614,1
    - Dst: ieee802_11_vendor_ie_concat
      Src: /src/hostap/src/p2p/p2p_parse.c:618,1
    - Dst: p2p_parse_p2p_ie
      Src: /src/hostap/src/p2p/p2p_parse.c:621,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:622,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/p2p/p2p_parse.c:624,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p_parse.c:626,1
    - Dst: ieee802_11_vendor_ie_concat
      Src: /src/hostap/src/p2p/p2p_parse.c:630,1
    - Dst: p2p_parse_p2p_ie
      Src: /src/hostap/src/p2p/p2p_parse.c:633,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:634,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/p2p/p2p_parse.c:636,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p_parse.c:638,1
    - Dst: ieee802_11_vendor_ie_concat
      Src: /src/hostap/src/p2p/p2p_parse.c:644,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 3
    argNames:
    - data
    - len
    - msg
    argTypes:
    - u8*
    - size_t
    - struct p2p_message*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 598
    functionDepth: 4
    functionLinenumber: 598
    functionLinenumberEnd: 653
    functionName: p2p_parse_ies
    functionSourceFile: /src/hostap/src/p2p/p2p_parse.c
    functionUses: 7
    functionsReached:
    - wpa_printf
    - ieee802_11_vendor_ie_concat
    - p2p_parse_wps_ie
    - ieee802_11_parse_elems
    - p2p_parse_p2p_ie
    - p2p_parse_free
    - wpa_hexdump_buf
    linkageType: ''
    returnType: int
    signature: int p2p_parse_ies(const u8 *data, size_t len, struct p2p_message *msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/p2p/p2p_parse.c:668,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:669,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:671,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:675,1
    - Dst: p2p_parse_ies
      Src: /src/hostap/src/p2p/p2p_parse.c:677,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - data
    - len
    - msg
    argTypes:
    - u8*
    - size_t
    - struct p2p_message*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 666
    functionDepth: 5
    functionLinenumber: 666
    functionLinenumberEnd: 678
    functionName: p2p_parse
    functionSourceFile: /src/hostap/src/p2p/p2p_parse.c
    functionUses: 4
    functionsReached:
    - wpa_printf
    - p2p_parse_ies
    - os_memset
    linkageType: ''
    returnType: int
    signature: int p2p_parse(const u8 *data, size_t len, struct p2p_message *msg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/p2p/p2p_parse.c:684,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/p2p/p2p_parse.c:686,1
    - Dst: p2p_parse_wps_ie
      Src: /src/hostap/src/p2p/p2p_parse.c:688,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p_parse.c:689,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/p2p/p2p_parse.c:693,1
    - Dst: p2p_parse_p2p_ie
      Src: /src/hostap/src/p2p/p2p_parse.c:695,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_parse.c:696,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/p2p/p2p_parse.c:698,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p_parse.c:700,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 5
    argNames:
    - wsc
    - wsc_len
    - p2p
    - p2p_len
    - msg
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - struct p2p_message*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 681
    functionDepth: 4
    functionLinenumber: 681
    functionLinenumberEnd: 705
    functionName: p2p_parse_ies_separate
    functionSourceFile: /src/hostap/src/p2p/p2p_parse.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpa_hexdump_buf
    - wpabuf_alloc_copy
    - p2p_parse_wps_ie
    - p2p_parse_p2p_ie
    - p2p_parse_free
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int p2p_parse_ies_separate(const u8 *wsc, size_t wsc_len, const u8
      *p2p,\n\t\t\t   size_t p2p_len, struct p2p_message *msg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p_parse.c:714,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p_parse.c:716,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p_parse.c:718,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p_parse.c:721,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - msg
    argTypes:
    - struct p2p_message*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 712
    functionDepth: 1
    functionLinenumber: 712
    functionLinenumberEnd: 724
    functionName: p2p_parse_free
    functionSourceFile: /src/hostap/src/p2p/p2p_parse.c
    functionUses: 14
    functionsReached:
    - wpabuf_free
    linkageType: ''
    returnType: void
    signature: void p2p_parse_free(struct p2p_message *msg)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/p2p/p2p_parse.c:732,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/p2p/p2p_parse.c:756,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/p2p/p2p_parse.c:772,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/p2p/p2p_parse.c:775,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 46
    argCount: 3
    argNames:
    - gi
    - gi_len
    - info
    argTypes:
    - u8*
    - size_t
    - struct p2p_group_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 727
    functionDepth: 1
    functionLinenumber: 727
    functionLinenumberEnd: 792
    functionName: p2p_group_info_parse
    functionSourceFile: /src/hostap/src/p2p/p2p_parse.c
    functionUses: 1
    functionsReached:
    - WPA_GET_BE16
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int p2p_group_info_parse(const u8 *gi, size_t gi_len,\n\t\t\t struct
      p2p_group_info *info)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: p2p_group_info_parse
      Src: /src/hostap/src/p2p/p2p_parse.c:803,1
    - Dst: os_snprintf
      Src: /src/hostap/src/p2p/p2p_parse.c:814,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_parse.c:816,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_parse.c:817,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/p2p/p2p_parse.c:818,1
    - Dst: os_snprintf
      Src: /src/hostap/src/p2p/p2p_parse.c:822,1
    - Dst: wps_dev_type_bin2str
      Src: /src/hostap/src/p2p/p2p_parse.c:826,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/p2p/p2p_parse.c:829,1
    - Dst: os_snprintf
      Src: /src/hostap/src/p2p/p2p_parse.c:834,1
    - Dst: wps_dev_type_bin2str
      Src: /src/hostap/src/p2p/p2p_parse.c:835,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/p2p/p2p_parse.c:838,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p_parse.c:843,1
    - Dst: is_ctrl_char
      Src: /src/hostap/src/p2p/p2p_parse.c:847,1
    - Dst: os_snprintf
      Src: /src/hostap/src/p2p/p2p_parse.c:852,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/p2p/p2p_parse.c:853,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 4
    argNames:
    - gi
    - gi_len
    - buf
    - end
    argTypes:
    - u8*
    - size_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 795
    functionDepth: 2
    functionLinenumber: 795
    functionLinenumberEnd: 859
    functionName: p2p_group_info_text
    functionSourceFile: /src/hostap/src/p2p/p2p_parse.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - os_snprintf
    - MAC2STR
    - is_ctrl_char
    - p2p_group_info_parse
    - wps_dev_type_bin2str
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int p2p_group_info_text(const u8 *gi, size_t gi_len, char *buf,\n\t\t\t
      \      char *end)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/p2p/p2p_parse.c:878,1
    - Dst: p2p_parse_p2p_ie
      Src: /src/hostap/src/p2p/p2p_parse.c:879,1
    - Dst: os_snprintf
      Src: /src/hostap/src/p2p/p2p_parse.c:883,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/p2p/p2p_parse.c:887,1
    - Dst: os_snprintf
      Src: /src/hostap/src/p2p/p2p_parse.c:894,1
    - Dst: wps_dev_type_bin2str
      Src: /src/hostap/src/p2p/p2p_parse.c:896,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/p2p/p2p_parse.c:899,1
    - Dst: os_snprintf
      Src: /src/hostap/src/p2p/p2p_parse.c:904,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/p2p/p2p_parse.c:906,1
    - Dst: os_snprintf
      Src: /src/hostap/src/p2p/p2p_parse.c:911,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_parse.c:913,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/p2p/p2p_parse.c:914,1
    - Dst: os_snprintf
      Src: /src/hostap/src/p2p/p2p_parse.c:919,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/p2p/p2p_parse.c:921,1
    - Dst: p2p_group_info_text
      Src: /src/hostap/src/p2p/p2p_parse.c:925,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 3
    argNames:
    - data
    - buf
    - end
    argTypes:
    - struct wpabuf*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 872
    functionDepth: 4
    functionLinenumber: 872
    functionLinenumberEnd: 932
    functionName: p2p_attr_text
    functionSourceFile: /src/hostap/src/p2p/p2p_parse.c
    functionUses: 2
    functionsReached:
    - os_memset
    - p2p_group_info_text
    - os_snprintf
    - MAC2STR
    - p2p_parse_p2p_ie
    - wps_dev_type_bin2str
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: int p2p_attr_text(struct wpabuf *data, char *buf, char *end)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/p2p/p2p_parse.c:939,1
    - Dst: p2p_parse_p2p_ie
      Src: /src/hostap/src/p2p/p2p_parse.c:940,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - p2p_ie
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 947
      start: 935
    functionDepth: 4
    functionLinenumber: 935
    functionLinenumberEnd: 947
    functionName: p2p_get_cross_connect_disallowed
    functionSourceFile: /src/hostap/src/p2p/p2p_parse.c
    functionUses: 0
    functionsReached:
    - p2p_parse_p2p_ie
    - os_memset
    linkageType: ''
    returnType: int
    signature: int p2p_get_cross_connect_disallowed(const struct wpabuf *p2p_ie)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/p2p/p2p_parse.c:954,1
    - Dst: p2p_parse_p2p_ie
      Src: /src/hostap/src/p2p/p2p_parse.c:955,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - p2p_ie
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 962
      start: 950
    functionDepth: 4
    functionLinenumber: 950
    functionLinenumberEnd: 962
    functionName: p2p_get_group_capab
    functionSourceFile: /src/hostap/src/p2p/p2p_parse.c
    functionUses: 2
    functionsReached:
    - p2p_parse_p2p_ie
    - os_memset
    linkageType: ''
    returnType: u8
    signature: u8 p2p_get_group_capab(const struct wpabuf *p2p_ie)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/p2p/p2p_parse.c:969,1
    - Dst: p2p_parse_p2p_ie
      Src: /src/hostap/src/p2p/p2p_parse.c:970,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - p2p_ie
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 965
    functionDepth: 4
    functionLinenumber: 965
    functionLinenumberEnd: 979
    functionName: p2p_get_go_dev_addr
    functionSourceFile: /src/hostap/src/p2p/p2p_parse.c
    functionUses: 4
    functionsReached:
    - p2p_parse_p2p_ie
    - os_memset
    linkageType: ''
    returnType: u8
    signature: u8 * p2p_get_go_dev_addr(const struct wpabuf *p2p_ie)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_get_random
      Src: /src/hostap/src/p2p/p2p_utils.c:33,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 48
    functionName: p2p_random
    functionSourceFile: /src/hostap/src/p2p/p2p_utils.c
    functionUses: 4
    functionsReached:
    - os_get_random
    linkageType: ''
    returnType: int
    signature: int p2p_random(char *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ieee80211_chan_to_freq
      Src: /src/hostap/src/p2p/p2p_utils.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - op_class
    - channel
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: p2p_channel_to_freq
    functionSourceFile: /src/hostap/src/p2p/p2p_utils.c
    functionUses: 13
    functionsReached:
    - ieee80211_chan_to_freq
    linkageType: ''
    returnType: int
    signature: int p2p_channel_to_freq(int op_class, int channel)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ieee80211_freq_to_channel_ext
      Src: /src/hostap/src/p2p/p2p_utils.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - freq
    - op_class
    - channel
    argTypes:
    - unsigned int
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: p2p_freq_to_channel
    functionSourceFile: /src/hostap/src/p2p/p2p_utils.c
    functionUses: 7
    functionsReached:
    - ieee80211_freq_to_channel_ext
    linkageType: ''
    returnType: int
    signature: int p2p_freq_to_channel(unsigned int freq, u8 *op_class, u8 *channel)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - a
    - b
    - res
    argTypes:
    - struct p2p_reg_class*
    - struct p2p_reg_class*
    - struct p2p_reg_class*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 97
    functionName: p2p_reg_class_intersect
    functionSourceFile: /src/hostap/src/p2p/p2p_utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void p2p_reg_class_intersect(const struct p2p_reg_class *a,\n\t\t\t\t
      \   const struct p2p_reg_class *b,\n\t\t\t\t    struct p2p_reg_class *res)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/p2p/p2p_utils.c:117,1
    - Dst: p2p_reg_class_intersect
      Src: /src/hostap/src/p2p/p2p_utils.c:125,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - a
    - b
    - res
    argTypes:
    - struct p2p_channels*
    - struct p2p_channels*
    - struct p2p_channels*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 135
    functionName: p2p_channels_intersect
    functionSourceFile: /src/hostap/src/p2p/p2p_utils.c
    functionUses: 4
    functionsReached:
    - p2p_reg_class_intersect
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void p2p_channels_intersect(const struct p2p_channels *a,\n\t\t\t
      \   const struct p2p_channels *b,\n\t\t\t    struct p2p_channels *res)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - cl
    - b_cl
    argTypes:
    - struct p2p_reg_class*
    - struct p2p_reg_class*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 154
    functionName: p2p_op_class_union
    functionSourceFile: /src/hostap/src/p2p/p2p_utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void p2p_op_class_union(struct p2p_reg_class *cl,\n\t\t\t       const
      struct p2p_reg_class *b_cl)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: p2p_op_class_union
      Src: /src/hostap/src/p2p/p2p_utils.c:173,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p_utils.c:189,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 2
    argNames:
    - res
    - b
    argTypes:
    - struct p2p_channels*
    - struct p2p_channels*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 193
    functionName: p2p_channels_union_inplace
    functionSourceFile: /src/hostap/src/p2p/p2p_utils.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    - p2p_op_class_union
    linkageType: ''
    returnType: void
    signature: "void p2p_channels_union_inplace(struct p2p_channels *res,\n\t\t\t\tconst
      struct p2p_channels *b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p_utils.c:206,1
    - Dst: p2p_channels_union_inplace
      Src: /src/hostap/src/p2p/p2p_utils.c:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - a
    - b
    - res
    argTypes:
    - struct p2p_channels*
    - struct p2p_channels*
    - struct p2p_channels*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 202
    functionDepth: 2
    functionLinenumber: 202
    functionLinenumberEnd: 208
    functionName: p2p_channels_union
    functionSourceFile: /src/hostap/src/p2p/p2p_utils.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    - p2p_channels_union_inplace
    linkageType: ''
    returnType: void
    signature: "void p2p_channels_union(const struct p2p_channels *a,\n\t\t\tconst
      struct p2p_channels *b,\n\t\t\tstruct p2p_channels *res)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: p2p_channel_to_freq
      Src: /src/hostap/src/p2p/p2p_utils.c:225,1
    - Dst: freq_range_list_includes
      Src: /src/hostap/src/p2p/p2p_utils.c:227,1
    - Dst: os_memmove
      Src: /src/hostap/src/p2p/p2p_utils.c:229,1
    - Dst: os_memmove
      Src: /src/hostap/src/p2p/p2p_utils.c:238,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - chan
    - list
    argTypes:
    - struct p2p_channels*
    - struct wpa_freq_range_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 244
    functionName: p2p_channels_remove_freqs
    functionSourceFile: /src/hostap/src/p2p/p2p_utils.c
    functionUses: 2
    functionsReached:
    - freq_range_list_includes
    - p2p_channel_to_freq
    - os_memmove
    linkageType: ''
    returnType: void
    signature: "void p2p_channels_remove_freqs(struct p2p_channels *chan,\n\t\t\t
      \      const struct wpa_freq_range_list *list)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - channels
    - reg_class
    - channel
    argTypes:
    - struct p2p_channels*
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 268
    functionName: p2p_channels_includes
    functionSourceFile: /src/hostap/src/p2p/p2p_utils.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int p2p_channels_includes(const struct p2p_channels *channels, u8
      reg_class,\n\t\t\t  u8 channel)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: p2p_channel_to_freq
      Src: /src/hostap/src/p2p/p2p_utils.c:278,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - channels
    - freq
    argTypes:
    - struct p2p_channels*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 284
    functionName: p2p_channels_includes_freq
    functionSourceFile: /src/hostap/src/p2p/p2p_utils.c
    functionUses: 1
    functionsReached:
    - p2p_channel_to_freq
    linkageType: ''
    returnType: int
    signature: "int p2p_channels_includes_freq(const struct p2p_channels *channels,\n\t\t\t
      \      unsigned int freq)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: p2p_freq_to_channel
      Src: /src/hostap/src/p2p/p2p_utils.c:290,1
    - Dst: p2p_channels_includes
      Src: /src/hostap/src/p2p/p2p_utils.c:292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - p2p
    - freq
    argTypes:
    - struct p2p_data*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 287
    functionDepth: 2
    functionLinenumber: 287
    functionLinenumberEnd: 294
    functionName: p2p_supported_freq
    functionSourceFile: /src/hostap/src/p2p/p2p_utils.c
    functionUses: 10
    functionsReached:
    - p2p_freq_to_channel
    - p2p_channels_includes
    linkageType: ''
    returnType: int
    signature: int p2p_supported_freq(struct p2p_data *p2p, unsigned int freq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: p2p_freq_to_channel
      Src: /src/hostap/src/p2p/p2p_utils.c:300,1
    - Dst: p2p_channels_includes
      Src: /src/hostap/src/p2p/p2p_utils.c:302,1
    - Dst: freq_range_list_includes
      Src: /src/hostap/src/p2p/p2p_utils.c:304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - p2p
    - freq
    argTypes:
    - struct p2p_data*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 297
    functionDepth: 2
    functionLinenumber: 297
    functionLinenumberEnd: 305
    functionName: p2p_supported_freq_go
    functionSourceFile: /src/hostap/src/p2p/p2p_utils.c
    functionUses: 6
    functionsReached:
    - freq_range_list_includes
    - p2p_freq_to_channel
    - p2p_channels_includes
    linkageType: ''
    returnType: int
    signature: int p2p_supported_freq_go(struct p2p_data *p2p, unsigned int freq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: p2p_freq_to_channel
      Src: /src/hostap/src/p2p/p2p_utils.c:311,1
    - Dst: p2p_channels_includes
      Src: /src/hostap/src/p2p/p2p_utils.c:313,1
    - Dst: p2p_channels_includes
      Src: /src/hostap/src/p2p/p2p_utils.c:315,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - p2p
    - freq
    argTypes:
    - struct p2p_data*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 308
    functionDepth: 2
    functionLinenumber: 308
    functionLinenumberEnd: 317
    functionName: p2p_supported_freq_cli
    functionSourceFile: /src/hostap/src/p2p/p2p_utils.c
    functionUses: 1
    functionsReached:
    - p2p_freq_to_channel
    - p2p_channels_includes
    linkageType: ''
    returnType: int
    signature: int p2p_supported_freq_cli(struct p2p_data *p2p, unsigned int freq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: p2p_channel_to_freq
      Src: /src/hostap/src/p2p/p2p_utils.c:332,1
    - Dst: p2p_channels_includes_freq
      Src: /src/hostap/src/p2p/p2p_utils.c:334,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - p2p
    - channels
    argTypes:
    - struct p2p_data*
    - struct p2p_channels*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 320
    functionDepth: 3
    functionLinenumber: 320
    functionLinenumberEnd: 338
    functionName: p2p_get_pref_freq
    functionSourceFile: /src/hostap/src/p2p/p2p_utils.c
    functionUses: 1
    functionsReached:
    - p2p_channel_to_freq
    - p2p_channels_includes_freq
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int p2p_get_pref_freq(struct p2p_data *p2p,\n\t\t\t       const
      struct p2p_channels *channels)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/src/p2p/p2p_utils.c:354,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/p2p/p2p_utils.c:355,1
    - Dst: os_snprintf
      Src: /src/hostap/src/p2p/p2p_utils.c:360,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/p2p/p2p_utils.c:363,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_utils.c:370,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - p2p
    - title
    - chan
    argTypes:
    - struct p2p_data*
    - char*
    - struct p2p_channels*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 371
    functionName: p2p_channels_dump
    functionSourceFile: /src/hostap/src/p2p/p2p_utils.c
    functionUses: 5
    functionsReached:
    - os_snprintf
    - p2p_dbg
    - os_snprintf_error
    linkageType: ''
    returnType: void
    signature: "void p2p_channels_dump(struct p2p_data *p2p, const char *title,\n\t\t
      \      const struct p2p_channels *chan)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_get_random
      Src: /src/hostap/src/p2p/p2p_utils.c:377,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - channels
    - num_channels
    argTypes:
    - u8*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 381
    functionName: p2p_channel_pick_random
    functionSourceFile: /src/hostap/src/p2p/p2p_utils.c
    functionUses: 0
    functionsReached:
    - os_get_random
    linkageType: ''
    returnType: u8
    signature: u8 p2p_channel_pick_random(const u8 *channels, unsigned int num_channels)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: p2p_channel_pick_random
      Src: /src/hostap/src/p2p/p2p_utils.c:402,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 4
    argNames:
    - chans
    - classes
    - op_class
    - op_channel
    argTypes:
    - struct p2p_channels*
    - int*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 412
    functionName: p2p_channel_select
    functionSourceFile: /src/hostap/src/p2p/p2p_utils.c
    functionUses: 1
    functionsReached:
    - p2p_channel_pick_random
    linkageType: ''
    returnType: int
    signature: "int p2p_channel_select(struct p2p_channels *chans, const int *classes,\n\t\t
      \      u8 *op_class, u8 *op_channel)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: p2p_channels_includes
      Src: /src/hostap/src/p2p/p2p_utils.c:429,1
    - Dst: freq_range_list_includes
      Src: /src/hostap/src/p2p/p2p_utils.c:430,1
    - Dst: freq_range_list_includes
      Src: /src/hostap/src/p2p/p2p_utils.c:431,1
    - Dst: p2p_channels_includes
      Src: /src/hostap/src/p2p/p2p_utils.c:433,1
    - Dst: freq_range_list_includes
      Src: /src/hostap/src/p2p/p2p_utils.c:434,1
    - Dst: freq_range_list_includes
      Src: /src/hostap/src/p2p/p2p_utils.c:435,1
    - Dst: p2p_channels_includes
      Src: /src/hostap/src/p2p/p2p_utils.c:437,1
    - Dst: freq_range_list_includes
      Src: /src/hostap/src/p2p/p2p_utils.c:438,1
    - Dst: freq_range_list_includes
      Src: /src/hostap/src/p2p/p2p_utils.c:439,1
    - Dst: p2p_channels_includes
      Src: /src/hostap/src/p2p/p2p_utils.c:443,1
    - Dst: p2p_channel_pick_random
      Src: /src/hostap/src/p2p/p2p_utils.c:449,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 16
    argCount: 5
    argNames:
    - chans
    - op_class
    - op_channel
    - avoid_list
    - disallow_list
    argTypes:
    - struct p2p_channels*
    - u8*
    - u8*
    - struct wpa_freq_range_list*
    - struct wpa_freq_range_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 456
    functionName: p2p_channel_random_social
    functionSourceFile: /src/hostap/src/p2p/p2p_utils.c
    functionUses: 3
    functionsReached:
    - freq_range_list_includes
    - p2p_channels_includes
    - p2p_channel_pick_random
    linkageType: ''
    returnType: int
    signature: "int p2p_channel_random_social(struct p2p_channels *chans, u8 *op_class,\n\t\t\t
      \     u8 *op_channel,\n\t\t\t      struct wpa_freq_range_list *avoid_list,\n\t\t\t
      \     struct wpa_freq_range_list *disallow_list)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: p2p_channel_to_freq
      Src: /src/hostap/src/p2p/p2p_utils.c:479,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 23
    argCount: 3
    argNames:
    - channels
    - freq_list
    - max_len
    argTypes:
    - struct p2p_channels*
    - int*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 459
    functionDepth: 2
    functionLinenumber: 459
    functionLinenumberEnd: 498
    functionName: p2p_channels_to_freqs
    functionSourceFile: /src/hostap/src/p2p/p2p_utils.c
    functionUses: 2
    functionsReached:
    - p2p_channel_to_freq
    linkageType: ''
    returnType: int
    signature: "int p2p_channels_to_freqs(const struct p2p_channels *channels, int
      *freq_list,\n\t\t\t  unsigned int max_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p_utils.c:507,1
    - Dst: is_6ghz_op_class
      Src: /src/hostap/src/p2p/p2p_utils.c:512,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p_utils.c:514,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - dst
    - src
    - allow_6ghz
    argTypes:
    - struct p2p_channels*
    - struct p2p_channels*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 501
    functionDepth: 1
    functionLinenumber: 501
    functionLinenumberEnd: 519
    functionName: p2p_copy_channels
    functionSourceFile: /src/hostap/src/p2p/p2p_utils.c
    functionUses: 3
    functionsReached:
    - is_6ghz_op_class
    - os_memcpy
    linkageType: ''
    returnType: void
    signature: "void p2p_copy_channels(struct p2p_channels *dst,\n\t\t       const
      struct p2p_channels *src, bool allow_6ghz)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_6ghz_freq
      Src: /src/hostap/src/p2p/p2p_utils.c:527,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_utils.c:528,1
    - Dst: os_memmove
      Src: /src/hostap/src/p2p/p2p_utils.c:531,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pref_freq_list
    - size
    argTypes:
    - struct weighted_pcl*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 537
    functionName: p2p_remove_6ghz_channels
    functionSourceFile: /src/hostap/src/p2p/p2p_utils.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - os_memmove
    - is_6ghz_freq
    linkageType: ''
    returnType: int
    signature: int p2p_remove_6ghz_channels(struct weighted_pcl *pref_freq_list, int
      size)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - freq_list
    - go
    argTypes:
    - struct weighted_pcl*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 556
    functionName: p2p_pref_freq_allowed
    functionSourceFile: /src/hostap/src/p2p/p2p_utils.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool p2p_pref_freq_allowed(const struct weighted_pcl *freq_list, bool
      go)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: p2p_channel_to_freq
      Src: /src/hostap/src/p2p/p2p_utils.c:569,1
    - Dst: p2p_pref_freq_allowed
      Src: /src/hostap/src/p2p/p2p_utils.c:572,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 5
    argNames:
    - channel
    - op_class
    - freq_list
    - num_channels
    - go
    argTypes:
    - int
    - u8
    - struct weighted_pcl*
    - unsigned int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 559
    functionDepth: 2
    functionLinenumber: 559
    functionLinenumberEnd: 578
    functionName: p2p_check_pref_channel
    functionSourceFile: /src/hostap/src/p2p/p2p_utils.c
    functionUses: 0
    functionsReached:
    - p2p_channel_to_freq
    - p2p_pref_freq_allowed
    linkageType: ''
    returnType: int
    signature: "int p2p_check_pref_channel(int channel, u8 op_class,\n\t\t\t\t  const
      struct weighted_pcl *freq_list,\n\t\t\t\t  unsigned int num_channels, bool go)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/p2p/p2p_utils.c:588,1
    - Dst: p2p_check_pref_channel
      Src: /src/hostap/src/p2p/p2p_utils.c:597,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 5
    argNames:
    - p2p_chan
    - freq_list
    - num_channels
    - res
    - go
    argTypes:
    - struct p2p_channels*
    - struct weighted_pcl*
    - unsigned int
    - struct p2p_channels*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 581
    functionDepth: 3
    functionLinenumber: 581
    functionLinenumberEnd: 614
    functionName: p2p_pref_channel_filter
    functionSourceFile: /src/hostap/src/p2p/p2p_utils.c
    functionUses: 0
    functionsReached:
    - p2p_check_pref_channel
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void p2p_pref_channel_filter(const struct p2p_channels *p2p_chan,\n\t\t\t
      \    const struct weighted_pcl *freq_list,\n\t\t\t     unsigned int num_channels,\n\t\t\t
      \    struct p2p_channels *res, bool go)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - p2p
    - go
    - freq
    argTypes:
    - struct p2p_data*
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 625
    functionName: is_dfs_freq_allowed
    functionSourceFile: /src/hostap/src/p2p/p2p_utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_dfs_freq_allowed(struct p2p_data *p2p, bool go, int freq)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ieee80211_chaninfo_to_channel
      Src: /src/hostap/src/p2p/p2p_utils.c:635,1
    - Dst: p2p_info
      Src: /src/hostap/src/p2p/p2p_utils.c:638,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - p2p
    - channel
    - op_class
    argTypes:
    - struct p2p_data*
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 628
    functionDepth: 2
    functionLinenumber: 628
    functionLinenumberEnd: 648
    functionName: p2p_check_dfs_channel
    functionSourceFile: /src/hostap/src/p2p/p2p_utils.c
    functionUses: 0
    functionsReached:
    - ieee80211_chaninfo_to_channel
    - p2p_info
    linkageType: ''
    returnType: int
    signature: int p2p_check_dfs_channel(struct p2p_data *p2p, u8 channel, u8 op_class)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/p2p/p2p_utils.c:658,1
    - Dst: struct p2p_data*::cfg::is_p2p_dfs_chan
      Src: /src/hostap/src/p2p/p2p_utils.c:666,1
    - Dst: p2p_check_dfs_channel
      Src: /src/hostap/src/p2p/p2p_utils.c:670,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 4
    argNames:
    - p2p
    - p2p_chan
    - res
    - go
    argTypes:
    - struct p2p_data*
    - struct p2p_channels*
    - struct p2p_channels*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 651
    functionDepth: 3
    functionLinenumber: 651
    functionLinenumberEnd: 682
    functionName: p2p_dfs_channel_filter
    functionSourceFile: /src/hostap/src/p2p/p2p_utils.c
    functionUses: 1
    functionsReached:
    - struct p2p_data*::cfg::is_p2p_dfs_chan
    - p2p_check_dfs_channel
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void p2p_dfs_channel_filter(struct p2p_data *p2p,\n\t\t\t    const
      struct p2p_channels *p2p_chan,\n\t\t\t    struct p2p_channels *res, bool go)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_pd.c:30,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/p2p/p2p_pd.c:31,1
    - Dst: wpabuf_put_be32
      Src: /src/hostap/src/p2p/p2p_pd.c:32,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/p2p/p2p_pd.c:35,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/p2p/p2p_pd.c:36,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/p2p/p2p_pd.c:37,1
    - Dst: p2p_buf_update_ie_hdr
      Src: /src/hostap/src/p2p/p2p_pd.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - buf
    - config_methods
    argTypes:
    - struct wpabuf*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 40
    functionName: p2p_build_wps_ie_config_methods
    functionSourceFile: /src/hostap/src/p2p/p2p_pd.c
    functionUses: 0
    functionsReached:
    - wpabuf_put
    - wpabuf_put_u8
    - wpabuf_put_be16
    - p2p_buf_update_ie_hdr
    - wpabuf_put_be32
    linkageType: ''
    returnType: void
    signature: "void p2p_build_wps_ie_config_methods(struct wpabuf *buf,\n\t\t\t\t\t
      \   u16 config_methods)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: struct p2p_data*::cfg::get_go_info
      Src: /src/hostap/src/p2p/p2p_pd.c:57,1
    - Dst: p2p_prepare_channel
      Src: /src/hostap/src/p2p/p2p_pd.c:66,1
    - Dst: p2p_buf_add_group_id
      Src: /src/hostap/src/p2p/p2p_pd.c:68,1
    - Dst: p2p_buf_add_intended_addr
      Src: /src/hostap/src/p2p/p2p_pd.c:72,1
    - Dst: p2p_buf_add_intended_addr
      Src: /src/hostap/src/p2p/p2p_pd.c:74,1
    - Dst: p2p_build_ssid
      Src: /src/hostap/src/p2p/p2p_pd.c:77,1
    - Dst: p2p_buf_add_group_id
      Src: /src/hostap/src/p2p/p2p_pd.c:82,1
    - Dst: p2p_buf_add_intended_addr
      Src: /src/hostap/src/p2p/p2p_pd.c:86,1
    - Dst: p2p_buf_add_intended_addr
      Src: /src/hostap/src/p2p/p2p_pd.c:89,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - p2p
    - dev
    - buf
    argTypes:
    - struct p2p_data*
    - struct p2p_device*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 43
    functionDepth: 3
    functionLinenumber: 43
    functionLinenumberEnd: 92
    functionName: p2ps_add_new_group_info
    functionSourceFile: /src/hostap/src/p2p/p2p_pd.c
    functionUses: 0
    functionsReached:
    - p2p_build_ssid
    - p2p_buf_add_intended_addr
    - p2p_prepare_channel
    - p2p_buf_add_group_id
    - struct p2p_data*::cfg::get_go_info
    linkageType: ''
    returnType: void
    signature: "void p2ps_add_new_group_info(struct p2p_data *p2p,\n\t\t\t\t    struct
      p2p_device *dev,\n\t\t\t\t    struct wpabuf *buf)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: p2ps_add_new_group_info
      Src: /src/hostap/src/p2p/p2p_pd.c:111,1
    - Dst: p2p_buf_add_status
      Src: /src/hostap/src/p2p/p2p_pd.c:114,1
    - Dst: struct p2p_data*::cfg::get_persistent_group
      Src: /src/hostap/src/p2p/p2p_pd.c:120,1
    - Dst: is_p2p_6ghz_capable
      Src: /src/hostap/src/p2p/p2p_pd.c:130,1
    - Dst: p2p_is_peer_6ghz_capab
      Src: /src/hostap/src/p2p/p2p_pd.c:131,1
    - Dst: p2p_buf_add_channel_list
      Src: /src/hostap/src/p2p/p2p_pd.c:133,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/p2p/p2p_pd.c:137,1
    - Dst: p2p_buf_add_operating_channel
      Src: /src/hostap/src/p2p/p2p_pd.c:139,1
    - Dst: p2p_buf_add_session_info
      Src: /src/hostap/src/p2p/p2p_pd.c:145,1
    - Dst: p2p_buf_add_connection_capability
      Src: /src/hostap/src/p2p/p2p_pd.c:148,1
    - Dst: p2p_buf_add_advertisement_id
      Src: /src/hostap/src/p2p/p2p_pd.c:150,1
    - Dst: p2p_buf_add_config_timeout
      Src: /src/hostap/src/p2p/p2p_pd.c:159,1
    - Dst: p2p_buf_add_listen_channel
      Src: /src/hostap/src/p2p/p2p_pd.c:163,1
    - Dst: p2p_buf_add_session_id
      Src: /src/hostap/src/p2p/p2p_pd.c:168,1
    - Dst: p2p_buf_add_feature_capability
      Src: /src/hostap/src/p2p/p2p_pd.c:170,1
    - Dst: p2p_buf_add_persistent_group_info
      Src: /src/hostap/src/p2p/p2p_pd.c:173,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/p2p/p2p_pd.c:178,1
    - Dst: p2p_buf_add_intended_addr
      Src: /src/hostap/src/p2p/p2p_pd.c:179,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 35
    argCount: 4
    argNames:
    - p2p
    - dev
    - buf
    - config_methods
    argTypes:
    - struct p2p_data*
    - struct p2p_device*
    - struct wpabuf*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 95
    functionDepth: 4
    functionLinenumber: 95
    functionLinenumberEnd: 181
    functionName: p2ps_add_pd_req_attrs
    functionSourceFile: /src/hostap/src/p2p/p2p_pd.c
    functionUses: 0
    functionsReached:
    - p2p_buf_add_persistent_group_info
    - p2p_buf_add_listen_channel
    - is_zero_ether_addr
    - p2p_is_peer_6ghz_capab
    - p2p_buf_add_operating_channel
    - p2p_buf_add_intended_addr
    - struct p2p_data*::cfg::get_persistent_group
    - p2p_buf_add_session_info
    - p2p_buf_add_connection_capability
    - p2p_buf_add_session_id
    - p2p_buf_add_feature_capability
    - p2ps_add_new_group_info
    - p2p_buf_add_channel_list
    - p2p_buf_add_advertisement_id
    - p2p_buf_add_config_timeout
    - p2p_buf_add_status
    - is_p2p_6ghz_capable
    linkageType: ''
    returnType: void
    signature: "void p2ps_add_pd_req_attrs(struct p2p_data *p2p, struct p2p_device
      *dev,\n\t\t\t\t  struct wpabuf *buf, u16 config_methods)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/p2p/p2p_pd.c:194,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:198,1
    - Dst: p2p_buf_add_public_action_hdr
      Src: /src/hostap/src/p2p/p2p_pd.c:199,1
    - Dst: p2p_buf_add_ie_hdr
      Src: /src/hostap/src/p2p/p2p_pd.c:201,1
    - Dst: p2p_buf_add_capability
      Src: /src/hostap/src/p2p/p2p_pd.c:215,1
    - Dst: p2p_buf_add_device_info
      Src: /src/hostap/src/p2p/p2p_pd.c:218,1
    - Dst: p2p_buf_add_status
      Src: /src/hostap/src/p2p/p2p_pd.c:225,1
    - Dst: p2p_buf_update_ie_hdr
      Src: /src/hostap/src/p2p/p2p_pd.c:228,1
    - Dst: p2p_buf_add_p2p2_ie_hdr
      Src: /src/hostap/src/p2p/p2p_pd.c:230,1
    - Dst: p2p_buf_add_pcea
      Src: /src/hostap/src/p2p/p2p_pd.c:232,1
    - Dst: p2p_buf_add_pbma
      Src: /src/hostap/src/p2p/p2p_pd.c:233,1
    - Dst: p2p_buf_update_ie_hdr
      Src: /src/hostap/src/p2p/p2p_pd.c:235,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_pd.c:237,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - p2p
    - dev
    argTypes:
    - struct p2p_data*
    - struct p2p_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 239
    functionName: p2p_build_prov_disc_bootstrap_req
    functionSourceFile: /src/hostap/src/p2p/p2p_pd.c
    functionUses: 0
    functionsReached:
    - p2p_buf_add_ie_hdr
    - wpa_printf
    - p2p_dbg
    - p2p_buf_add_pbma
    - p2p_buf_add_pcea
    - p2p_buf_add_public_action_hdr
    - p2p_buf_add_p2p2_ie_hdr
    - p2p_buf_add_device_info
    - wpabuf_alloc
    - p2p_buf_update_ie_hdr
    - p2p_buf_add_capability
    - p2p_buf_add_status
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * p2p_build_prov_disc_bootstrap_req(struct p2p_data
      *p2p,\n\t\t\t\t\t\t\t struct p2p_device *dev)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p_pd.c:256,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p_pd.c:260,1
    - Dst: os_strlen
      Src: /src/hostap/src/p2p/p2p_pd.c:263,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/p2p/p2p_pd.c:266,1
    - Dst: p2p_buf_add_public_action_hdr
      Src: /src/hostap/src/p2p/p2p_pd.c:270,1
    - Dst: p2p_buf_add_ie_hdr
      Src: /src/hostap/src/p2p/p2p_pd.c:272,1
    - Dst: p2p_buf_add_capability
      Src: /src/hostap/src/p2p/p2p_pd.c:283,1
    - Dst: p2p_buf_add_device_info
      Src: /src/hostap/src/p2p/p2p_pd.c:286,1
    - Dst: p2ps_add_pd_req_attrs
      Src: /src/hostap/src/p2p/p2p_pd.c:288,1
    - Dst: p2p_buf_add_group_id
      Src: /src/hostap/src/p2p/p2p_pd.c:290,1
    - Dst: p2p_buf_update_ie_hdr
      Src: /src/hostap/src/p2p/p2p_pd.c:293,1
    - Dst: p2p_build_wps_ie_config_methods
      Src: /src/hostap/src/p2p/p2p_pd.c:296,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/p2p/p2p_pd.c:300,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/p2p/p2p_pd.c:304,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 3
    argNames:
    - p2p
    - dev
    - join
    argTypes:
    - struct p2p_data*
    - struct p2p_device*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 242
    functionDepth: 5
    functionLinenumber: 242
    functionLinenumberEnd: 307
    functionName: p2p_build_prov_disc_req
    functionSourceFile: /src/hostap/src/p2p/p2p_pd.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - p2p_buf_add_ie_hdr
    - wpabuf_len
    - p2ps_add_pd_req_attrs
    - p2p_buf_add_public_action_hdr
    - p2p_buf_add_device_info
    - wpabuf_alloc
    - p2p_buf_update_ie_hdr
    - p2p_build_wps_ie_config_methods
    - wpabuf_put_buf
    - p2p_buf_add_capability
    - p2p_buf_add_group_id
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * p2p_build_prov_disc_req(struct p2p_data *p2p,\n\t\t\t\t\t
      \      struct p2p_device *dev,\n\t\t\t\t\t       int join)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/p2p/p2p_pd.c:320,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:324,1
    - Dst: p2p_buf_add_public_action_hdr
      Src: /src/hostap/src/p2p/p2p_pd.c:331,1
    - Dst: p2p_buf_add_p2p2_ie_hdr
      Src: /src/hostap/src/p2p/p2p_pd.c:333,1
    - Dst: p2p_buf_add_status
      Src: /src/hostap/src/p2p/p2p_pd.c:335,1
    - Dst: p2p_buf_add_pcea
      Src: /src/hostap/src/p2p/p2p_pd.c:336,1
    - Dst: p2p_buf_add_pbma
      Src: /src/hostap/src/p2p/p2p_pd.c:337,1
    - Dst: p2p_buf_update_ie_hdr
      Src: /src/hostap/src/p2p/p2p_pd.c:340,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - p2p
    - dev
    - dialog_token
    - status
    argTypes:
    - struct p2p_data*
    - struct p2p_device*
    - u8
    - enum p2p_status_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 310
    functionDepth: 2
    functionLinenumber: 310
    functionLinenumberEnd: 343
    functionName: p2p_build_prov_disc_bootstrap_resp
    functionSourceFile: /src/hostap/src/p2p/p2p_pd.c
    functionUses: 0
    functionsReached:
    - p2p_dbg
    - p2p_buf_add_pbma
    - p2p_buf_add_pcea
    - p2p_buf_add_p2p2_ie_hdr
    - p2p_buf_add_public_action_hdr
    - p2p_buf_update_ie_hdr
    - wpabuf_alloc
    - p2p_buf_add_status
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf *\np2p_build_prov_disc_bootstrap_resp(struct p2p_data
      *p2p, struct p2p_device *dev,\n\t\t\t\t   u8 dialog_token, enum p2p_status_code
      status)"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: p2p_group_is_group_id_match
      Src: /src/hostap/src/p2p/p2p_pd.c:370,1
    - Dst: p2p_group_get_wfd_ie
      Src: /src/hostap/src/p2p/p2p_pd.c:373,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p_pd.c:381,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p_pd.c:385,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/p2p/p2p_pd.c:387,1
    - Dst: p2p_buf_add_public_action_hdr
      Src: /src/hostap/src/p2p/p2p_pd.c:391,1
    - Dst: p2p_buf_add_ie_hdr
      Src: /src/hostap/src/p2p/p2p_pd.c:395,1
    - Dst: p2p_buf_add_status
      Src: /src/hostap/src/p2p/p2p_pd.c:407,1
    - Dst: p2p_buf_add_capability
      Src: /src/hostap/src/p2p/p2p_pd.c:414,1
    - Dst: p2p_buf_add_device_info
      Src: /src/hostap/src/p2p/p2p_pd.c:417,1
    - Dst: struct p2p_data*::cfg::get_persistent_group
      Src: /src/hostap/src/p2p/p2p_pd.c:427,1
    - Dst: p2p_buf_add_persistent_group_info
      Src: /src/hostap/src/p2p/p2p_pd.c:433,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/p2p/p2p_pd.c:435,1
    - Dst: p2p_buf_add_intended_addr
      Src: /src/hostap/src/p2p/p2p_pd.c:436,1
    - Dst: p2ps_add_new_group_info
      Src: /src/hostap/src/p2p/p2p_pd.c:442,1
    - Dst: p2p_buf_add_operating_channel
      Src: /src/hostap/src/p2p/p2p_pd.c:447,1
    - Dst: p2p_buf_add_operating_channel
      Src: /src/hostap/src/p2p/p2p_pd.c:452,1
    - Dst: is_p2p_6ghz_capable
      Src: /src/hostap/src/p2p/p2p_pd.c:462,1
    - Dst: p2p_is_peer_6ghz_capab
      Src: /src/hostap/src/p2p/p2p_pd.c:463,1
    - Dst: p2p_buf_add_channel_list
      Src: /src/hostap/src/p2p/p2p_pd.c:465,1
    - Dst: p2p_buf_add_connection_capability
      Src: /src/hostap/src/p2p/p2p_pd.c:470,1
    - Dst: p2p_buf_add_advertisement_id
      Src: /src/hostap/src/p2p/p2p_pd.c:472,1
    - Dst: p2p_buf_add_config_timeout
      Src: /src/hostap/src/p2p/p2p_pd.c:476,1
    - Dst: p2p_buf_add_session_id
      Src: /src/hostap/src/p2p/p2p_pd.c:479,1
    - Dst: p2p_buf_add_feature_capability
      Src: /src/hostap/src/p2p/p2p_pd.c:482,1
    - Dst: p2p_buf_update_ie_hdr
      Src: /src/hostap/src/p2p/p2p_pd.c:483,1
    - Dst: p2p_buf_add_ie_hdr
      Src: /src/hostap/src/p2p/p2p_pd.c:485,1
    - Dst: p2p_buf_add_status
      Src: /src/hostap/src/p2p/p2p_pd.c:487,1
    - Dst: p2p_buf_add_advertisement_id
      Src: /src/hostap/src/p2p/p2p_pd.c:490,1
    - Dst: p2p_buf_update_ie_hdr
      Src: /src/hostap/src/p2p/p2p_pd.c:493,1
    - Dst: p2p_build_wps_ie_config_methods
      Src: /src/hostap/src/p2p/p2p_pd.c:497,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/p2p/p2p_pd.c:501,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/p2p/p2p_pd.c:505,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 73
    argCount: 12
    argNames:
    - p2p
    - dev
    - dialog_token
    - status
    - config_methods
    - adv_id
    - group_id
    - group_id_len
    - persist_ssid
    - persist_ssid_len
    - fcap
    - fcap_len
    argTypes:
    - struct p2p_data*
    - struct p2p_device*
    - u8
    - enum p2p_status_code
    - u16
    - u32
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 346
    functionDepth: 4
    functionLinenumber: 346
    functionLinenumberEnd: 508
    functionName: p2p_build_prov_disc_resp
    functionSourceFile: /src/hostap/src/p2p/p2p_pd.c
    functionUses: 0
    functionsReached:
    - p2p_buf_add_ie_hdr
    - wpabuf_alloc
    - p2p_buf_add_session_id
    - p2p_is_peer_6ghz_capab
    - p2p_buf_add_public_action_hdr
    - p2p_buf_add_feature_capability
    - p2p_buf_add_capability
    - p2p_buf_add_persistent_group_info
    - wpabuf_len
    - is_zero_ether_addr
    - p2p_group_is_group_id_match
    - p2p_buf_add_intended_addr
    - p2p_buf_add_operating_channel
    - struct p2p_data*::cfg::get_persistent_group
    - p2p_group_get_wfd_ie
    - p2p_buf_add_config_timeout
    - is_p2p_6ghz_capable
    - p2p_buf_add_device_info
    - p2p_buf_add_connection_capability
    - p2p_buf_update_ie_hdr
    - p2p_build_wps_ie_config_methods
    - wpabuf_put_buf
    - p2ps_add_new_group_info
    - p2p_buf_add_channel_list
    - p2p_buf_add_advertisement_id
    - p2p_buf_add_status
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * p2p_build_prov_disc_resp(struct p2p_data *p2p,\n\t\t\t\t\t\tstruct
      p2p_device *dev,\n\t\t\t\t\t\tu8 dialog_token,\n\t\t\t\t\t\tenum p2p_status_code
      status,\n\t\t\t\t\t\tu16 config_methods,\n\t\t\t\t\t\tu32 adv_id,\n\t\t\t\t\t\tconst
      u8 *group_id,\n\t\t\t\t\t\tsize_t group_id_len,\n\t\t\t\t\t\tconst u8 *persist_ssid,\n\t\t\t\t\t\tsize_t
      persist_ssid_len,\n\t\t\t\t\t\tconst u8 *fcap,\n\t\t\t\t\t\tu16 fcap_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/p2p/p2p_pd.c:518,1
    - Dst: os_memset
      Src: /src/hostap/src/p2p/p2p_pd.c:522,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p_pd.c:529,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p_pd.c:530,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 6
    argNames:
    - p2p
    - adv_id
    - session_id
    - method
    - session_mac
    - adv_mac
    argTypes:
    - struct p2p_data*
    - u32
    - u32
    - u16
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 534
    functionName: p2ps_setup_p2ps_prov
    functionSourceFile: /src/hostap/src/p2p/p2p_pd.c
    functionUses: 0
    functionsReached:
    - os_zalloc
    - os_memcpy
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int p2ps_setup_p2ps_prov(struct p2p_data *p2p, u32 adv_id,\n\t\t\t\tu32
      session_id, u16 method,\n\t\t\t\tconst u8 *session_mac, const u8 *adv_mac)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - cpt_priority
    - req_cpt_mask
    argTypes:
    - u8*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 546
    functionName: p2ps_own_preferred_cpt
    functionSourceFile: /src/hostap/src/p2p/p2p_pd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 p2ps_own_preferred_cpt(const u8 *cpt_priority, u8 req_cpt_mask)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: P2PS_PD_REQ_CHECK
      Src: /src/hostap/src/p2p/p2p_pd.c:568,1
    - Dst: P2PS_PD_REQ_CHECK
      Src: /src/hostap/src/p2p/p2p_pd.c:569,1
    - Dst: P2PS_PD_REQ_CHECK
      Src: /src/hostap/src/p2p/p2p_pd.c:570,1
    - Dst: P2PS_PD_REQ_CHECK
      Src: /src/hostap/src/p2p/p2p_pd.c:571,1
    - Dst: P2PS_PD_REQ_CHECK
      Src: /src/hostap/src/p2p/p2p_pd.c:572,1
    - Dst: P2PS_PD_REQ_CHECK
      Src: /src/hostap/src/p2p/p2p_pd.c:573,1
    - Dst: P2PS_PD_REQ_CHECK
      Src: /src/hostap/src/p2p/p2p_pd.c:574,1
    - Dst: P2PS_PD_REQ_CHECK
      Src: /src/hostap/src/p2p/p2p_pd.c:584,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:597,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:634,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/p2p/p2p_pd.c:641,1
    - Dst: P2PS_PD_REQ_CHECK
      Src: /src/hostap/src/p2p/p2p_pd.c:647,1
    - Dst: P2PS_PD_REQ_CHECK
      Src: /src/hostap/src/p2p/p2p_pd.c:648,1
    - Dst: P2PS_PD_REQ_CHECK
      Src: /src/hostap/src/p2p/p2p_pd.c:649,1
    - Dst: P2PS_PD_REQ_CHECK
      Src: /src/hostap/src/p2p/p2p_pd.c:650,1
    - Dst: P2PS_PD_REQ_CHECK
      Src: /src/hostap/src/p2p/p2p_pd.c:651,1
    - Dst: P2PS_PD_REQ_CHECK
      Src: /src/hostap/src/p2p/p2p_pd.c:652,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 66
    argCount: 3
    argNames:
    - p2p
    - msg
    - addr
    argTypes:
    - struct p2p_data*
    - struct p2p_message*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 550
    functionDepth: 2
    functionLinenumber: 550
    functionLinenumberEnd: 657
    functionName: p2ps_validate_pd_req
    functionSourceFile: /src/hostap/src/p2p/p2p_pd.c
    functionUses: 0
    functionsReached:
    - ether_addr_equal
    - p2p_dbg
    - P2PS_PD_REQ_CHECK
    linkageType: ''
    returnType: int
    signature: "int p2ps_validate_pd_req(struct p2p_data *p2p, struct p2p_message
      *msg,\n\t\t\t\tconst u8 *addr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _val
    - ','
    - _attr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 567
    functionName: P2PS_PD_REQ_CHECK
    functionSourceFile: /src/hostap/src/p2p/p2p_pd.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: P2PS_PD_REQ_CHECK(_val, _attr)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/p2p/p2p_pd.c:671,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:684,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:692,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 3
    argNames:
    - p2p
    - msg
    - dev
    argTypes:
    - struct p2p_data*
    - struct p2p_message*
    - struct p2p_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 660
    functionDepth: 2
    functionLinenumber: 660
    functionLinenumberEnd: 707
    functionName: p2p_process_pcea
    functionSourceFile: /src/hostap/src/p2p/p2p_pd.c
    functionUses: 1
    functionsReached:
    - p2p_dbg
    - WPA_GET_LE16
    linkageType: ''
    returnType: void
    signature: "void p2p_process_pcea(struct p2p_data *p2p, struct p2p_message *msg,\n\t\t
      \     struct p2p_device *dev)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:723,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_pd.c:725,1
    - Dst: p2p_get_device
      Src: /src/hostap/src/p2p/p2p_pd.c:727,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:729,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_pd.c:730,1
    - Dst: p2p_add_device
      Src: /src/hostap/src/p2p/p2p_pd.c:732,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:733,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_pd.c:735,1
    - Dst: p2p_get_device
      Src: /src/hostap/src/p2p/p2p_pd.c:739,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:741,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_pd.c:743,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:750,1
    - Dst: p2p_update_peer_6ghz_capab
      Src: /src/hostap/src/p2p/p2p_pd.c:754,1
    - Dst: p2p_process_pcea
      Src: /src/hostap/src/p2p/p2p_pd.c:757,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:766,1
    - Dst: os_memcmp
      Src: /src/hostap/src/p2p/p2p_pd.c:773,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/p2p/p2p_pd.c:787,1
    - Dst: os_free
      Src: /src/hostap/src/p2p/p2p_pd.c:789,1
    - Dst: os_zalloc
      Src: /src/hostap/src/p2p/p2p_pd.c:794,1
    - Dst: os_get_random
      Src: /src/hostap/src/p2p/p2p_pd.c:799,1
    - Dst: os_free
      Src: /src/hostap/src/p2p/p2p_pd.c:802,1
    - Dst: struct p2p_data*::cfg::bootstrap_req_rx
      Src: /src/hostap/src/p2p/p2p_pd.c:810,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_pd.c:846,1
    - Dst: p2p_pasn_initialize
      Src: /src/hostap/src/p2p/p2p_pd.c:851,1
    - Dst: p2p_build_prov_disc_bootstrap_resp
      Src: /src/hostap/src/p2p/p2p_pd.c:856,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:861,1
    - Dst: p2p_channel_to_freq
      Src: /src/hostap/src/p2p/p2p_pd.c:865,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:868,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p_pd.c:869,1
    - Dst: p2p_send_action
      Src: /src/hostap/src/p2p/p2p_pd.c:873,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/p2p/p2p_pd.c:874,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p_pd.c:875,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:876,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p_pd.c:880,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 108
    argCount: 6
    argNames:
    - p2p
    - msg
    - sa
    - data
    - len
    - rx_freq
    argTypes:
    - struct p2p_data*
    - struct p2p_message*
    - u8*
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 710
    functionDepth: 5
    functionLinenumber: 710
    functionLinenumberEnd: 881
    functionName: p2p_process_prov_disc_bootstrap_req
    functionSourceFile: /src/hostap/src/p2p/p2p_pd.c
    functionUses: 0
    functionsReached:
    - p2p_send_action
    - WPA_GET_LE16
    - wpa_printf
    - p2p_dbg
    - p2p_channel_to_freq
    - os_get_random
    - p2p_get_device
    - os_memcmp
    - p2p_process_pcea
    - os_free
    - p2p_update_peer_6ghz_capab
    - wpabuf_len
    - struct p2p_data*::cfg::bootstrap_req_rx
    - wpabuf_head
    - p2p_build_prov_disc_bootstrap_resp
    - wpabuf_free
    - p2p_add_device
    - MAC2STR
    - os_zalloc
    - p2p_pasn_initialize
    linkageType: ''
    returnType: void
    signature: "void p2p_process_prov_disc_bootstrap_req(struct p2p_data *p2p,\n\t\t\t\t\t\tstruct
      p2p_message *msg,\n\t\t\t\t\t\tconst u8 *sa, const u8 *data,\n\t\t\t\t\t\tsize_t
      len, int rx_freq)"
  - BBCount: 79
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:908,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_pd.c:910,1
    - Dst: p2p_get_device
      Src: /src/hostap/src/p2p/p2p_pd.c:913,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:915,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_pd.c:916,1
    - Dst: p2p_add_device
      Src: /src/hostap/src/p2p/p2p_pd.c:918,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:919,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_pd.c:920,1
    - Dst: p2p_get_device
      Src: /src/hostap/src/p2p/p2p_pd.c:924,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:926,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_pd.c:928,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p_pd.c:932,1
    - Dst: wpabuf_dup
      Src: /src/hostap/src/p2p/p2p_pd.c:933,1
    - Dst: p2p_update_peer_6ghz_capab
      Src: /src/hostap/src/p2p/p2p_pd.c:936,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:941,1
    - Dst: p2p_group_is_group_id_match
      Src: /src/hostap/src/p2p/p2p_pd.c:951,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:957,1
    - Dst: WPA_GET_LE32
      Src: /src/hostap/src/p2p/p2p_pd.c:969,1
    - Dst: p2ps_validate_pd_req
      Src: /src/hostap/src/p2p/p2p_pd.c:970,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p_pd.c:977,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p_pd.c:978,1
    - Dst: WPA_GET_LE32
      Src: /src/hostap/src/p2p/p2p_pd.c:980,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:992,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:1008,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_pd.c:1009,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:1013,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_pd.c:1015,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:1019,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_pd.c:1020,1
    - Dst: struct p2p_data*::cfg::remove_stale_groups
      Src: /src/hostap/src/p2p/p2p_pd.c:1027,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/p2p/p2p_pd.c:1047,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:1048,1
    - Dst: p2p_service_p2ps_id
      Src: /src/hostap/src/p2p/p2p_pd.c:1054,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:1056,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:1060,1
    - Dst: struct p2p_data*::cfg::p2ps_group_capability
      Src: /src/hostap/src/p2p/p2p_pd.c:1063,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:1068,1
    - Dst: p2p_prepare_channel
      Src: /src/hostap/src/p2p/p2p_pd.c:1071,1
    - Dst: p2ps_own_preferred_cpt
      Src: /src/hostap/src/p2p/p2p_pd.c:1073,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:1076,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:1080,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:1086,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:1092,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:1095,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:1100,1
    - Dst: p2p_peer_channels_check
      Src: /src/hostap/src/p2p/p2p_pd.c:1107,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:1110,1
    - Dst: p2p_channels_includes
      Src: /src/hostap/src/p2p/p2p_pd.c:1126,1
    - Dst: os_memset
      Src: /src/hostap/src/p2p/p2p_pd.c:1131,1
    - Dst: p2p_channels_intersect
      Src: /src/hostap/src/p2p/p2p_pd.c:1140,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:1144,1
    - Dst: p2ps_setup_p2ps_prov
      Src: /src/hostap/src/p2p/p2p_pd.c:1153,1
    - Dst: p2ps_setup_p2ps_prov
      Src: /src/hostap/src/p2p/p2p_pd.c:1185,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/p2p/p2p_pd.c:1209,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:1210,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/p2p/p2p_pd.c:1216,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:1217,1
    - Dst: struct p2p_data*::cfg::p2ps_group_capability
      Src: /src/hostap/src/p2p/p2p_pd.c:1223,1
    - Dst: p2ps_own_preferred_cpt
      Src: /src/hostap/src/p2p/p2p_pd.c:1229,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:1232,1
    - Dst: p2p_prepare_channel
      Src: /src/hostap/src/p2p/p2p_pd.c:1235,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:1254,1
    - Dst: p2p_peer_channels_check
      Src: /src/hostap/src/p2p/p2p_pd.c:1260,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:1263,1
    - Dst: p2p_channel_to_freq
      Src: /src/hostap/src/p2p/p2p_pd.c:1276,1
    - Dst: p2p_go_select_channel
      Src: /src/hostap/src/p2p/p2p_pd.c:1280,1
    - Dst: p2p_build_prov_disc_resp
      Src: /src/hostap/src/p2p/p2p_pd.c:1299,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:1310,1
    - Dst: p2p_channel_to_freq
      Src: /src/hostap/src/p2p/p2p_pd.c:1314,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:1317,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p_pd.c:1318,1
    - Dst: p2p_send_action
      Src: /src/hostap/src/p2p/p2p_pd.c:1322,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/p2p/p2p_pd.c:1324,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p_pd.c:1324,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:1326,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p_pd.c:1330,1
    - Dst: p2p_channel_to_freq
      Src: /src/hostap/src/p2p/p2p_pd.c:1338,1
    - Dst: struct p2p_data*::cfg::p2ps_prov_complete
      Src: /src/hostap/src/p2p/p2p_pd.c:1349,1
    - Dst: struct p2p_data*::cfg::p2ps_prov_complete
      Src: /src/hostap/src/p2p/p2p_pd.c:1362,1
    - Dst: struct p2p_data*::cfg::p2ps_prov_complete
      Src: /src/hostap/src/p2p/p2p_pd.c:1371,1
    - Dst: struct p2p_data*::cfg::p2ps_prov_complete
      Src: /src/hostap/src/p2p/p2p_pd.c:1385,1
    - Dst: struct p2p_data*::cfg::p2ps_prov_complete
      Src: /src/hostap/src/p2p/p2p_pd.c:1396,1
    - Dst: struct p2p_data*::cfg::p2ps_prov_complete
      Src: /src/hostap/src/p2p/p2p_pd.c:1413,1
    - Dst: os_malloc
      Src: /src/hostap/src/p2p/p2p_pd.c:1424,1
    - Dst: utf8_escape
      Src: /src/hostap/src/p2p/p2p_pd.c:1429,1
    - Dst: struct p2p_data*::cfg::p2ps_prov_complete
      Src: /src/hostap/src/p2p/p2p_pd.c:1432,1
    - Dst: os_free
      Src: /src/hostap/src/p2p/p2p_pd.c:1441,1
    - Dst: struct p2p_data*::cfg::prov_disc_req
      Src: /src/hostap/src/p2p/p2p_pd.c:1479,1
    - Dst: p2ps_prov_free
      Src: /src/hostap/src/p2p/p2p_pd.c:1491,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p_pd.c:1513,1
    CyclomaticComplexity: 151
    EdgeCount: 151
    ICount: 326
    argCount: 6
    argNames:
    - p2p
    - msg
    - sa
    - data
    - len
    - rx_freq
    argTypes:
    - struct p2p_data*
    - struct p2p_message*
    - u8*
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1516
      start: 884
    functionDepth: 7
    functionLinenumber: 884
    functionLinenumberEnd: 1516
    functionName: p2p_process_prov_disc_req
    functionSourceFile: /src/hostap/src/p2p/p2p_pd.c
    functionUses: 0
    functionsReached:
    - p2ps_prov_free
    - p2p_peer_channels_check
    - p2p_channels_intersect
    - p2p_send_action
    - p2ps_setup_p2ps_prov
    - p2p_build_prov_disc_resp
    - p2ps_own_preferred_cpt
    - p2p_channels_includes
    - p2p_dbg
    - struct p2p_data*::cfg::p2ps_prov_complete
    - ether_addr_equal
    - p2p_channel_to_freq
    - p2p_get_device
    - struct p2p_data*::cfg::remove_stale_groups
    - p2p_prepare_channel
    - os_free
    - utf8_escape
    - p2p_update_peer_6ghz_capab
    - struct p2p_data*::cfg::p2ps_group_capability
    - wpabuf_dup
    - struct p2p_data*::cfg::prov_disc_req
    - wpabuf_len
    - p2p_group_is_group_id_match
    - os_malloc
    - wpabuf_head
    - os_memset
    - p2ps_validate_pd_req
    - os_memcpy
    - p2p_go_select_channel
    - wpabuf_free
    - p2p_add_device
    - WPA_GET_LE32
    - p2p_service_p2ps_id
    - MAC2STR
    linkageType: ''
    returnType: void
    signature: "void p2p_process_prov_disc_req(struct p2p_data *p2p,\n\t\t\t\t      struct
      p2p_message *msg, const u8 *sa,\n\t\t\t\t      const u8 *data, size_t len, int
      rx_freq)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: p2p_parse
      Src: /src/hostap/src/p2p/p2p_pd.c:1524,1
    - Dst: p2p_process_prov_disc_bootstrap_req
      Src: /src/hostap/src/p2p/p2p_pd.c:1528,1
    - Dst: p2p_process_prov_disc_req
      Src: /src/hostap/src/p2p/p2p_pd.c:1531,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p_pd.c:1534,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 5
    argNames:
    - p2p
    - sa
    - data
    - len
    - rx_freq
    argTypes:
    - struct p2p_data*
    - u8*
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1535
      start: 1519
    functionDepth: 8
    functionLinenumber: 1519
    functionLinenumberEnd: 1535
    functionName: p2p_handle_prov_disc_req
    functionSourceFile: /src/hostap/src/p2p/p2p_pd.c
    functionUses: 1
    functionsReached:
    - p2p_process_prov_disc_req
    - p2p_parse_free
    - p2p_parse
    - p2p_process_prov_disc_bootstrap_req
    linkageType: ''
    returnType: void
    signature: "void p2p_handle_prov_disc_req(struct p2p_data *p2p, const u8 *sa,\n\t\t\t
      \     const u8 *data, size_t len, int rx_freq)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: P2PS_PD_RESP_CHECK
      Src: /src/hostap/src/p2p/p2p_pd.c:1554,1
    - Dst: P2PS_PD_RESP_CHECK
      Src: /src/hostap/src/p2p/p2p_pd.c:1555,1
    - Dst: P2PS_PD_RESP_CHECK
      Src: /src/hostap/src/p2p/p2p_pd.c:1556,1
    - Dst: P2PS_PD_RESP_CHECK
      Src: /src/hostap/src/p2p/p2p_pd.c:1557,1
    - Dst: P2PS_PD_RESP_CHECK
      Src: /src/hostap/src/p2p/p2p_pd.c:1558,1
    - Dst: P2PS_PD_RESP_CHECK
      Src: /src/hostap/src/p2p/p2p_pd.c:1559,1
    - Dst: P2PS_PD_RESP_CHECK
      Src: /src/hostap/src/p2p/p2p_pd.c:1560,1
    - Dst: P2PS_PD_RESP_CHECK
      Src: /src/hostap/src/p2p/p2p_pd.c:1561,1
    - Dst: WPA_GET_LE32
      Src: /src/hostap/src/p2p/p2p_pd.c:1563,1
    - Dst: WPA_GET_LE32
      Src: /src/hostap/src/p2p/p2p_pd.c:1564,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:1567,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/p2p/p2p_pd.c:1572,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:1573,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:1579,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/p2p/p2p_pd.c:1584,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:1585,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:1591,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:1598,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:1604,1
    - Dst: P2PS_PD_RESP_CHECK
      Src: /src/hostap/src/p2p/p2p_pd.c:1614,1
    - Dst: P2PS_PD_RESP_CHECK
      Src: /src/hostap/src/p2p/p2p_pd.c:1616,1
    - Dst: P2PS_PD_RESP_CHECK
      Src: /src/hostap/src/p2p/p2p_pd.c:1619,1
    - Dst: P2PS_PD_RESP_CHECK
      Src: /src/hostap/src/p2p/p2p_pd.c:1620,1
    - Dst: P2PS_PD_RESP_CHECK
      Src: /src/hostap/src/p2p/p2p_pd.c:1621,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 49
    argCount: 2
    argNames:
    - p2p
    - msg
    argTypes:
    - struct p2p_data*
    - struct p2p_message*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1633
      start: 1538
    functionDepth: 2
    functionLinenumber: 1538
    functionLinenumberEnd: 1633
    functionName: p2p_validate_p2ps_pd_resp
    functionSourceFile: /src/hostap/src/p2p/p2p_pd.c
    functionUses: 0
    functionsReached:
    - WPA_GET_LE32
    - p2p_dbg
    - ether_addr_equal
    - P2PS_PD_RESP_CHECK
    linkageType: ''
    returnType: int
    signature: "int p2p_validate_p2ps_pd_resp(struct p2p_data *p2p,\n\t\t\t\t     struct
      p2p_message *msg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _val
    - ','
    - _attr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1553
      start: 1546
    functionDepth: 0
    functionLinenumber: 1546
    functionLinenumberEnd: 1553
    functionName: P2PS_PD_RESP_CHECK
    functionSourceFile: /src/hostap/src/p2p/p2p_pd.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: P2PS_PD_RESP_CHECK(_val, _attr)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:1652,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_pd.c:1653,1
    - Dst: p2p_get_device
      Src: /src/hostap/src/p2p/p2p_pd.c:1655,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:1657,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_pd.c:1658,1
    - Dst: p2p_update_peer_6ghz_capab
      Src: /src/hostap/src/p2p/p2p_pd.c:1662,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:1665,1
    - Dst: os_memset
      Src: /src/hostap/src/p2p/p2p_pd.c:1672,1
    - Dst: os_free
      Src: /src/hostap/src/p2p/p2p_pd.c:1676,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/p2p/p2p_pd.c:1682,1
    - Dst: p2p_reset_pending_pd
      Src: /src/hostap/src/p2p/p2p_pd.c:1683,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/p2p/p2p_pd.c:1690,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:1694,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:1699,1
    - Dst: os_zalloc
      Src: /src/hostap/src/p2p/p2p_pd.c:1706,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p_pd.c:1710,1
    - Dst: struct p2p_data*::cfg::register_bootstrap_comeback
      Src: /src/hostap/src/p2p/p2p_pd.c:1716,1
    - Dst: struct p2p_data*::cfg::send_action_done
      Src: /src/hostap/src/p2p/p2p_pd.c:1718,1
    - Dst: struct p2p_data*::cfg::bootstrap_rsp_rx
      Src: /src/hostap/src/p2p/p2p_pd.c:1721,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/p2p/p2p_pd.c:1729,1
    - Dst: struct p2p_data*::cfg::send_action_done
      Src: /src/hostap/src/p2p/p2p_pd.c:1753,1
    - Dst: struct p2p_data*::cfg::bootstrap_rsp_rx
      Src: /src/hostap/src/p2p/p2p_pd.c:1758,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 61
    argCount: 6
    argNames:
    - p2p
    - msg
    - sa
    - data
    - len
    - rx_freq
    argTypes:
    - struct p2p_data*
    - struct p2p_message*
    - u8*
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1760
      start: 1636
    functionDepth: 2
    functionLinenumber: 1636
    functionLinenumberEnd: 1760
    functionName: p2p_process_prov_disc_bootstrap_resp
    functionSourceFile: /src/hostap/src/p2p/p2p_pd.c
    functionUses: 0
    functionsReached:
    - struct p2p_data*::cfg::send_action_done
    - os_memcpy
    - p2p_dbg
    - struct p2p_data*::cfg::register_bootstrap_comeback
    - p2p_reset_pending_pd
    - ether_addr_equal
    - WPA_GET_LE16
    - MAC2STR
    - p2p_get_device
    - os_zalloc
    - os_free
    - struct p2p_data*::cfg::bootstrap_rsp_rx
    - p2p_update_peer_6ghz_capab
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void p2p_process_prov_disc_bootstrap_resp(struct p2p_data *p2p,\n\t\t\t\t\t\t
      struct p2p_message *msg,\n\t\t\t\t\t\t const u8 *sa, const u8 *data,\n\t\t\t\t\t\t
      size_t len, int rx_freq)"
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: p2p_validate_p2ps_pd_resp
      Src: /src/hostap/src/p2p/p2p_pd.c:1777,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p_pd.c:1787,1
    - Dst: os_memset
      Src: /src/hostap/src/p2p/p2p_pd.c:1789,1
    - Dst: WPA_GET_LE32
      Src: /src/hostap/src/p2p/p2p_pd.c:1792,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:1808,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_pd.c:1810,1
    - Dst: p2p_get_device
      Src: /src/hostap/src/p2p/p2p_pd.c:1812,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:1814,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_pd.c:1815,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p_pd.c:1818,1
    - Dst: wpabuf_dup
      Src: /src/hostap/src/p2p/p2p_pd.c:1819,1
    - Dst: p2p_update_peer_6ghz_capab
      Src: /src/hostap/src/p2p/p2p_pd.c:1822,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:1825,1
    - Dst: os_memset
      Src: /src/hostap/src/p2p/p2p_pd.c:1831,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/p2p/p2p_pd.c:1848,1
    - Dst: p2p_reset_pending_pd
      Src: /src/hostap/src/p2p/p2p_pd.c:1849,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:1852,1
    - Dst: struct p2p_data*::cfg::prov_disc_fail
      Src: /src/hostap/src/p2p/p2p_pd.c:1855,1
    - Dst: p2ps_prov_free
      Src: /src/hostap/src/p2p/p2p_pd.c:1858,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:1867,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_pd.c:1868,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:1872,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_pd.c:1874,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:1878,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_pd.c:1879,1
    - Dst: p2p_peer_channels_check
      Src: /src/hostap/src/p2p/p2p_pd.c:1897,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:1900,1
    - Dst: p2p_channels_includes
      Src: /src/hostap/src/p2p/p2p_pd.c:1903,1
    - Dst: p2p_channels_includes
      Src: /src/hostap/src/p2p/p2p_pd.c:1906,1
    - Dst: p2p_channel_to_freq
      Src: /src/hostap/src/p2p/p2p_pd.c:1910,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:1914,1
    - Dst: p2p_go_select_channel
      Src: /src/hostap/src/p2p/p2p_pd.c:1930,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:1931,1
    - Dst: p2p_channel_to_freq
      Src: /src/hostap/src/p2p/p2p_pd.c:1934,1
    - Dst: struct p2p_data*::cfg::p2ps_prov_complete
      Src: /src/hostap/src/p2p/p2p_pd.c:1940,1
    - Dst: p2ps_prov_free
      Src: /src/hostap/src/p2p/p2p_pd.c:1951,1
    - Dst: struct p2p_data*::cfg::p2ps_prov_complete
      Src: /src/hostap/src/p2p/p2p_pd.c:1956,1
    - Dst: p2ps_prov_free
      Src: /src/hostap/src/p2p/p2p_pd.c:1961,1
    - Dst: struct p2p_data*::cfg::remove_stale_groups
      Src: /src/hostap/src/p2p/p2p_pd.c:1966,1
    - Dst: os_malloc
      Src: /src/hostap/src/p2p/p2p_pd.c:1973,1
    - Dst: p2ps_prov_free
      Src: /src/hostap/src/p2p/p2p_pd.c:1976,1
    - Dst: utf8_escape
      Src: /src/hostap/src/p2p/p2p_pd.c:1979,1
    - Dst: struct p2p_data*::cfg::prov_disc_fail
      Src: /src/hostap/src/p2p/p2p_pd.c:1983,1
    - Dst: os_free
      Src: /src/hostap/src/p2p/p2p_pd.c:1988,1
    - Dst: struct p2p_data*::cfg::prov_disc_fail
      Src: /src/hostap/src/p2p/p2p_pd.c:1991,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:1996,1
    - Dst: struct p2p_data*::cfg::prov_disc_fail
      Src: /src/hostap/src/p2p/p2p_pd.c:1998,1
    - Dst: p2ps_prov_free
      Src: /src/hostap/src/p2p/p2p_pd.c:2001,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p_pd.c:2008,1
    - Dst: struct p2p_data*::cfg::send_action_done
      Src: /src/hostap/src/p2p/p2p_pd.c:2012,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:2014,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_pd.c:2015,1
    - Dst: p2p_connect_send
      Src: /src/hostap/src/p2p/p2p_pd.c:2017,1
    - Dst: struct p2p_data*::cfg::prov_disc_resp
      Src: /src/hostap/src/p2p/p2p_pd.c:2042,1
    - Dst: p2p_stop_listen_for_freq
      Src: /src/hostap/src/p2p/p2p_pd.c:2046,1
    - Dst: p2p_continue_find
      Src: /src/hostap/src/p2p/p2p_pd.c:2047,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 143
    argCount: 5
    argNames:
    - p2p
    - msg
    - sa
    - data
    - len
    argTypes:
    - struct p2p_data*
    - struct p2p_message*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2049
      start: 1763
    functionDepth: 4
    functionLinenumber: 1763
    functionLinenumberEnd: 2049
    functionName: p2p_process_prov_disc_resp
    functionSourceFile: /src/hostap/src/p2p/p2p_pd.c
    functionUses: 0
    functionsReached:
    - p2ps_prov_free
    - p2p_peer_channels_check
    - struct p2p_data*::cfg::send_action_done
    - p2p_channels_includes
    - struct p2p_data*::cfg::prov_disc_fail
    - p2p_dbg
    - struct p2p_data*::cfg::p2ps_prov_complete
    - p2p_reset_pending_pd
    - ether_addr_equal
    - p2p_channel_to_freq
    - p2p_get_device
    - p2p_connect_send
    - struct p2p_data*::cfg::remove_stale_groups
    - os_free
    - utf8_escape
    - p2p_update_peer_6ghz_capab
    - wpabuf_dup
    - os_malloc
    - struct p2p_data*::cfg::prov_disc_resp
    - p2p_validate_p2ps_pd_resp
    - p2p_continue_find
    - os_memset
    - os_memcpy
    - p2p_go_select_channel
    - WPA_GET_LE32
    - wpabuf_free
    - p2p_stop_listen_for_freq
    - MAC2STR
    linkageType: ''
    returnType: void
    signature: "void p2p_process_prov_disc_resp(struct p2p_data *p2p,\n\t\t\t\t       struct
      p2p_message *msg, const u8 *sa,\n\t\t\t\t       const u8 *data, size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: p2p_parse
      Src: /src/hostap/src/p2p/p2p_pd.c:2057,1
    - Dst: p2p_process_prov_disc_bootstrap_resp
      Src: /src/hostap/src/p2p/p2p_pd.c:2061,1
    - Dst: p2p_process_prov_disc_resp
      Src: /src/hostap/src/p2p/p2p_pd.c:2064,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p_pd.c:2066,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 5
    argNames:
    - p2p
    - sa
    - data
    - len
    - rx_freq
    argTypes:
    - struct p2p_data*
    - u8*
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2067
      start: 2052
    functionDepth: 6
    functionLinenumber: 2052
    functionLinenumberEnd: 2067
    functionName: p2p_handle_prov_disc_resp
    functionSourceFile: /src/hostap/src/p2p/p2p_pd.c
    functionUses: 1
    functionsReached:
    - p2p_process_prov_disc_bootstrap_resp
    - p2p_parse_free
    - p2p_parse
    - p2p_process_prov_disc_resp
    linkageType: ''
    returnType: void
    signature: "void p2p_handle_prov_disc_resp(struct p2p_data *p2p, const u8 *sa,\n\t\t\t
      \      const u8 *data, size_t len, int rx_freq)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:2082,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_pd.c:2084,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:2091,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_pd.c:2093,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:2119,1
    - Dst: p2p_prepare_channel
      Src: /src/hostap/src/p2p/p2p_pd.c:2124,1
    - Dst: p2p_build_prov_disc_bootstrap_req
      Src: /src/hostap/src/p2p/p2p_pd.c:2130,1
    - Dst: p2p_build_prov_disc_req
      Src: /src/hostap/src/p2p/p2p_pd.c:2132,1
    - Dst: p2p_stop_listen_for_freq
      Src: /src/hostap/src/p2p/p2p_pd.c:2138,1
    - Dst: p2p_send_action
      Src: /src/hostap/src/p2p/p2p_pd.c:2140,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/p2p/p2p_pd.c:2142,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p_pd.c:2142,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:2143,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p_pd.c:2144,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p_pd.c:2148,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p_pd.c:2150,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 50
    argCount: 4
    argNames:
    - p2p
    - dev
    - join
    - force_freq
    argTypes:
    - struct p2p_data*
    - struct p2p_device*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2152
      start: 2070
    functionDepth: 6
    functionLinenumber: 2070
    functionLinenumberEnd: 2152
    functionName: p2p_send_prov_disc_req
    functionSourceFile: /src/hostap/src/p2p/p2p_pd.c
    functionUses: 2
    functionsReached:
    - os_memcpy
    - p2p_dbg
    - wpabuf_len
    - p2p_send_action
    - wpabuf_free
    - p2p_build_prov_disc_req
    - wpabuf_head
    - p2p_stop_listen_for_freq
    - MAC2STR
    - p2p_build_prov_disc_bootstrap_req
    - p2p_prepare_channel
    linkageType: ''
    returnType: int
    signature: "int p2p_send_prov_disc_req(struct p2p_data *p2p, struct p2p_device
      *dev,\n\t\t\t   int join, int force_freq)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: p2p_get_device
      Src: /src/hostap/src/p2p/p2p_pd.c:2160,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:2162,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_pd.c:2163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - p2p
    - peer_addr
    - bootstrap
    argTypes:
    - struct p2p_data*
    - u8*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2170
      start: 2155
    functionDepth: 2
    functionLinenumber: 2155
    functionLinenumberEnd: 2170
    functionName: p2p_set_req_bootstrap_method
    functionSourceFile: /src/hostap/src/p2p/p2p_pd.c
    functionUses: 1
    functionsReached:
    - p2p_get_device
    - MAC2STR
    - p2p_dbg
    linkageType: ''
    returnType: int
    signature: "int p2p_set_req_bootstrap_method(struct p2p_data *p2p, const u8 *peer_addr,\n\t\t\t\t
      u16 bootstrap)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: p2p_get_device
      Src: /src/hostap/src/p2p/p2p_pd.c:2180,1
    - Dst: p2p_get_device_interface
      Src: /src/hostap/src/p2p/p2p_pd.c:2182,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:2184,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_pd.c:2185,1
    - Dst: os_free
      Src: /src/hostap/src/p2p/p2p_pd.c:2186,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:2191,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_pd.c:2193,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:2197,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_pd.c:2199,1
    - Dst: os_free
      Src: /src/hostap/src/p2p/p2p_pd.c:2202,1
    - Dst: p2ps_prov_free
      Src: /src/hostap/src/p2p/p2p_pd.c:2216,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_pd.c:2226,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_pd.c:2227,1
    - Dst: p2p_send_prov_disc_req
      Src: /src/hostap/src/p2p/p2p_pd.c:2245,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 43
    argCount: 7
    argNames:
    - p2p
    - peer_addr
    - p2ps_prov
    - config_methods
    - join
    - force_freq
    - user_initiated_pd
    argTypes:
    - struct p2p_data*
    - u8*
    - struct p2ps_provision*
    - u16
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2246
      start: 2173
    functionDepth: 7
    functionLinenumber: 2173
    functionLinenumberEnd: 2246
    functionName: p2p_prov_disc_req
    functionSourceFile: /src/hostap/src/p2p/p2p_pd.c
    functionUses: 3
    functionsReached:
    - p2ps_prov_free
    - p2p_dbg
    - p2p_send_prov_disc_req
    - p2p_get_device
    - MAC2STR
    - os_free
    - p2p_get_device_interface
    linkageType: ''
    returnType: int
    signature: "int p2p_prov_disc_req(struct p2p_data *p2p, const u8 *peer_addr,\n\t\t
      \     struct p2ps_provision *p2ps_prov,\n\t\t      u16 config_methods, int join,
      int force_freq,\n\t\t      int user_initiated_pd)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/p2p/p2p_pd.c:2253,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/p2p/p2p_pd.c:2254,1
    - Dst: os_memset
      Src: /src/hostap/src/p2p/p2p_pd.c:2266,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - p2p
    argTypes:
    - struct p2p_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2269
      start: 2249
    functionDepth: 1
    functionLinenumber: 2249
    functionLinenumberEnd: 2269
    functionName: p2p_reset_pending_pd
    functionSourceFile: /src/hostap/src/p2p/p2p_pd.c
    functionUses: 5
    functionsReached:
    - dl_list_for_each
    - ether_addr_equal
    - os_memset
    linkageType: ''
    returnType: void
    signature: void p2p_reset_pending_pd(struct p2p_data *p2p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/p2p/p2p_pd.c:2274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p2p
    argTypes:
    - struct p2p_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2276
      start: 2272
    functionDepth: 0
    functionLinenumber: 2272
    functionLinenumberEnd: 2276
    functionName: p2ps_prov_free
    functionSourceFile: /src/hostap/src/p2p/p2p_pd.c
    functionUses: 7
    functionsReached:
    - os_free
    linkageType: ''
    returnType: void
    signature: void p2ps_prov_free(struct p2p_data *p2p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/p2p/p2p_group.c:51,1
    - Dst: os_realloc_array
      Src: /src/hostap/src/p2p/p2p_group.c:55,1
    - Dst: os_free
      Src: /src/hostap/src/p2p/p2p_group.c:58,1
    - Dst: p2p_group_update_ies
      Src: /src/hostap/src/p2p/p2p_group.c:68,1
    - Dst: struct p2p_group*::cfg::idle_update
      Src: /src/hostap/src/p2p/p2p_group.c:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - p2p
    - config
    argTypes:
    - struct p2p_data*
    - struct p2p_group_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 72
    functionName: p2p_group_init
    functionSourceFile: /src/hostap/src/p2p/p2p_group.c
    functionUses: 2
    functionsReached:
    - p2p_group_update_ies
    - struct p2p_group*::cfg::idle_update
    - os_zalloc
    - os_free
    - os_realloc_array
    linkageType: ''
    returnType: struct p2p_group
    signature: "struct p2p_group * p2p_group_init(struct p2p_data *p2p,\n\t\t\t\t
      \ struct p2p_group_config *config)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p_group.c:77,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p_group.c:78,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p_group.c:79,1
    - Dst: os_free
      Src: /src/hostap/src/p2p/p2p_group.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - m
    argTypes:
    - struct p2p_group_member*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 81
    functionName: p2p_group_free_member
    functionSourceFile: /src/hostap/src/p2p/p2p_group.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpabuf_free
    linkageType: ''
    returnType: void
    signature: void p2p_group_free_member(struct p2p_group_member *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: p2p_group_free_member
      Src: /src/hostap/src/p2p/p2p_group.c:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - group
    argTypes:
    - struct p2p_group*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 95
    functionName: p2p_group_free_members
    functionSourceFile: /src/hostap/src/p2p/p2p_group.c
    functionUses: 0
    functionsReached:
    - p2p_group_free_member
    linkageType: ''
    returnType: void
    signature: void p2p_group_free_members(struct p2p_group *group)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: p2p_group_free_members
      Src: /src/hostap/src/p2p/p2p_group.c:119,1
    - Dst: os_free
      Src: /src/hostap/src/p2p/p2p_group.c:120,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p_group.c:121,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p_group.c:122,1
    - Dst: os_free
      Src: /src/hostap/src/p2p/p2p_group.c:123,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - group
    argTypes:
    - struct p2p_group*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 98
    functionDepth: 3
    functionLinenumber: 98
    functionLinenumberEnd: 124
    functionName: p2p_group_deinit
    functionSourceFile: /src/hostap/src/p2p/p2p_group.c
    functionUses: 3
    functionsReached:
    - os_free
    - p2p_group_free_members
    - wpabuf_free
    linkageType: ''
    returnType: void
    signature: void p2p_group_deinit(struct p2p_group *group)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_tailroom
      Src: /src/hostap/src/p2p/p2p_group.c:131,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p_group.c:131,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/p2p/p2p_group.c:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ie
    - m
    argTypes:
    - struct wpabuf*
    - struct p2p_group_member*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 134
    functionName: p2p_client_info
    functionSourceFile: /src/hostap/src/p2p/p2p_group.c
    functionUses: 0
    functionsReached:
    - wpabuf_len
    - wpabuf_put_buf
    - wpabuf_tailroom
    linkageType: ''
    returnType: void
    signature: void p2p_client_info(struct wpabuf *ie, struct p2p_group_member *m)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: p2p_buf_add_capability
      Src: /src/hostap/src/p2p/p2p_group.c:160,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - group
    - ie
    argTypes:
    - struct p2p_group*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 161
    functionName: p2p_group_add_common_ies
    functionSourceFile: /src/hostap/src/p2p/p2p_group.c
    functionUses: 0
    functionsReached:
    - p2p_buf_add_capability
    linkageType: ''
    returnType: void
    signature: "void p2p_group_add_common_ies(struct p2p_group *group,\n\t\t\t\t     struct
      wpabuf *ie)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_group.c:169,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/p2p/p2p_group.c:170,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p_group.c:170,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/p2p/p2p_group.c:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ie
    - noa
    argTypes:
    - struct wpabuf*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 172
    functionName: p2p_group_add_noa
    functionSourceFile: /src/hostap/src/p2p/p2p_group.c
    functionUses: 0
    functionsReached:
    - wpabuf_len
    - wpabuf_put_buf
    - wpabuf_put_u8
    - wpabuf_put_le16
    linkageType: ''
    returnType: void
    signature: void p2p_group_add_noa(struct wpabuf *ie, struct wpabuf *noa)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p_group.c:184,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/p2p/p2p_group.c:186,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/p2p/p2p_group.c:190,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p_group.c:191,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_group.c:197,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_group.c:198,1
    - Dst: wpabuf_put_be32
      Src: /src/hostap/src/p2p/p2p_group.c:199,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/p2p/p2p_group.c:200,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - subelems
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 205
    functionName: p2p_group_encaps_probe_resp
    functionSourceFile: /src/hostap/src/p2p/p2p_group.c
    functionUses: 0
    functionsReached:
    - wpabuf_put_u8
    - wpabuf_put_data
    - wpabuf_len
    - wpabuf_head
    - wpabuf_alloc
    - wpabuf_put_be32
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * p2p_group_encaps_probe_resp(struct wpabuf *subelems)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_group.c:213,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/p2p/p2p_group.c:214,1
    - Dst: wpabuf_put_be32
      Src: /src/hostap/src/p2p/p2p_group.c:215,1
    - Dst: wpa_printf
      Src: /src/hostap/src/p2p/p2p_group.c:216,1
    - Dst: p2p_buf_add_pcea
      Src: /src/hostap/src/p2p/p2p_group.c:217,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/p2p/p2p_group.c:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - p2p
    - p2p2_ie
    - freq
    argTypes:
    - struct p2p_data*
    - struct wpabuf*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 208
    functionDepth: 2
    functionLinenumber: 208
    functionLinenumberEnd: 221
    functionName: p2p_group_build_p2p2_ie
    functionSourceFile: /src/hostap/src/p2p/p2p_group.c
    functionUses: 0
    functionsReached:
    - wpabuf_put
    - wpa_printf
    - wpabuf_put_u8
    - p2p_buf_add_pcea
    - wpabuf_put_be32
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * p2p_group_build_p2p2_ie(struct p2p_data *p2p,\n\t\t\t\t\tstruct
      wpabuf *p2p2_ie, int freq)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p_group.c:233,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p_group.c:238,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/p2p/p2p_group.c:240,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/p2p/p2p_group.c:246,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/p2p/p2p_group.c:251,1
    - Dst: p2p_buf_add_ie_hdr
      Src: /src/hostap/src/p2p/p2p_group.c:254,1
    - Dst: p2p_group_add_common_ies
      Src: /src/hostap/src/p2p/p2p_group.c:255,1
    - Dst: p2p_buf_add_device_id
      Src: /src/hostap/src/p2p/p2p_group.c:256,1
    - Dst: p2p_group_add_noa
      Src: /src/hostap/src/p2p/p2p_group.c:257,1
    - Dst: p2p_buf_update_ie_hdr
      Src: /src/hostap/src/p2p/p2p_group.c:258,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/p2p/p2p_group.c:261,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p_group.c:263,1
    - Dst: p2p_group_build_p2p2_ie
      Src: /src/hostap/src/p2p/p2p_group.c:267,1
    - Dst: wpabuf_concat
      Src: /src/hostap/src/p2p/p2p_group.c:268,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 1
    argNames:
    - group
    argTypes:
    - struct p2p_group*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 224
    functionDepth: 3
    functionLinenumber: 224
    functionLinenumberEnd: 272
    functionName: p2p_group_build_beacon_ie
    functionSourceFile: /src/hostap/src/p2p/p2p_group.c
    functionUses: 0
    functionsReached:
    - p2p_buf_add_ie_hdr
    - wpabuf_len
    - wpabuf_free
    - p2p_buf_update_ie_hdr
    - wpabuf_alloc
    - wpabuf_put_buf
    - p2p_buf_add_device_id
    - p2p_group_add_common_ies
    - p2p_group_build_p2p2_ie
    - wpabuf_concat
    - p2p_group_add_noa
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * p2p_group_build_beacon_ie(struct p2p_group *group)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - struct p2p_group*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 280
    functionName: p2p_group_get_wfd_ie
    functionSourceFile: /src/hostap/src/p2p/p2p_group.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * p2p_group_get_wfd_ie(struct p2p_group *g)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/p2p/p2p_group.c:291,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p_group.c:291,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/p2p/p2p_group.c:295,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p_group.c:296,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_group.c:302,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_group.c:303,1
    - Dst: wpabuf_put_be32
      Src: /src/hostap/src/p2p/p2p_group.c:304,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/p2p/p2p_group.c:305,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - subelems
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 310
    functionName: wifi_display_encaps
    functionSourceFile: /src/hostap/src/p2p/p2p_group.c
    functionUses: 1
    functionsReached:
    - wpabuf_put_u8
    - wpabuf_put_data
    - wpabuf_len
    - wpabuf_head
    - wpabuf_alloc
    - wpabuf_put_be32
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * wifi_display_encaps(struct wpabuf *subelems)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/p2p/p2p_group.c:325,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/p2p/p2p_group.c:326,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p_group.c:327,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/p2p/p2p_group.c:333,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_group.c:362,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/p2p/p2p_group.c:363,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/p2p/p2p_group.c:365,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/p2p/p2p_group.c:367,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/p2p/p2p_group.c:368,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/p2p/p2p_group.c:369,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/p2p/p2p_group.c:371,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_group.c:373,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/p2p/p2p_group.c:374,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 2
    argNames:
    - buf
    - m
    argTypes:
    - struct wpabuf*
    - struct p2p_group_member*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 378
    functionName: wifi_display_add_dev_info_descr
    functionSourceFile: /src/hostap/src/p2p/p2p_group.c
    functionUses: 0
    functionsReached:
    - WPA_GET_BE16
    - wpabuf_head_u8
    - wpabuf_put_u8
    - wpabuf_put_data
    - wpabuf_len
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wifi_display_add_dev_info_descr(struct wpabuf *buf,\n\t\t\t\t\t
      \  struct p2p_group_member *m)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/p2p/p2p_group.c:392,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p_group.c:392,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/p2p/p2p_group.c:397,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/p2p/p2p_group.c:399,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/p2p/p2p_group.c:401,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/p2p/p2p_group.c:404,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_group.c:408,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/p2p/p2p_group.c:409,1
    - Dst: wifi_display_add_dev_info_descr
      Src: /src/hostap/src/p2p/p2p_group.c:412,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/p2p/p2p_group.c:421,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/p2p/p2p_group.c:421,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_group.c:423,1
    - Dst: wifi_display_encaps
      Src: /src/hostap/src/p2p/p2p_group.c:427,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p_group.c:428,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 1
    argNames:
    - group
    argTypes:
    - struct p2p_group*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 381
    functionDepth: 2
    functionLinenumber: 381
    functionLinenumberEnd: 431
    functionName: wifi_display_build_go_ie
    functionSourceFile: /src/hostap/src/p2p/p2p_group.c
    functionUses: 0
    functionsReached:
    - wpabuf_put
    - p2p_dbg
    - wpabuf_put_u8
    - wpabuf_len
    - wifi_display_encaps
    - wpabuf_free
    - WPA_PUT_BE16
    - wpabuf_alloc
    - wpabuf_put_buf
    - wifi_display_add_dev_info_descr
    linkageType: ''
    returnType: struct wpabuf
    signature: 'struct wpabuf *

      wifi_display_build_go_ie(struct p2p_group *group)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p_group.c:435,1
    - Dst: wifi_display_build_go_ie
      Src: /src/hostap/src/p2p/p2p_group.c:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - group
    argTypes:
    - struct p2p_group*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 433
    functionDepth: 3
    functionLinenumber: 433
    functionLinenumberEnd: 437
    functionName: wifi_display_group_update
    functionSourceFile: /src/hostap/src/p2p/p2p_group.c
    functionUses: 0
    functionsReached:
    - wpabuf_free
    - wifi_display_build_go_ie
    linkageType: ''
    returnType: void
    signature: void wifi_display_group_update(struct p2p_group *group)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_group.c:449,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/p2p/p2p_group.c:450,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_group.c:451,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/p2p/p2p_group.c:452,1
    - Dst: p2p_client_info
      Src: /src/hostap/src/p2p/p2p_group.c:454,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/p2p/p2p_group.c:459,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/p2p/p2p_group.c:460,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - group
    - buf
    - max_clients
    argTypes:
    - struct p2p_group*
    - struct wpabuf*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 442
    functionDepth: 2
    functionLinenumber: 442
    functionLinenumberEnd: 461
    functionName: p2p_buf_add_group_info
    functionSourceFile: /src/hostap/src/p2p/p2p_group.c
    functionUses: 1
    functionsReached:
    - wpabuf_put
    - p2p_client_info
    - p2p_dbg
    - wpabuf_put_u8
    - wpabuf_put_le16
    - WPA_PUT_LE16
    linkageType: ''
    returnType: void
    signature: "void p2p_buf_add_group_info(struct p2p_group *group, struct wpabuf
      *buf,\n\t\t\t    int max_clients)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: p2p_buf_add_group_id
      Src: /src/hostap/src/p2p/p2p_group.c:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - group
    - buf
    argTypes:
    - struct p2p_group*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 464
    functionDepth: 2
    functionLinenumber: 464
    functionLinenumberEnd: 468
    functionName: p2p_group_buf_add_id
    functionSourceFile: /src/hostap/src/p2p/p2p_group.c
    functionUses: 1
    functionsReached:
    - p2p_buf_add_group_id
    linkageType: ''
    returnType: void
    signature: void p2p_group_buf_add_id(struct p2p_group *group, struct wpabuf *buf)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/p2p/p2p_group.c:476,1
    - Dst: p2p_group_add_common_ies
      Src: /src/hostap/src/p2p/p2p_group.c:480,1
    - Dst: p2p_group_add_noa
      Src: /src/hostap/src/p2p/p2p_group.c:481,1
    - Dst: p2p_buf_add_device_info
      Src: /src/hostap/src/p2p/p2p_group.c:484,1
    - Dst: p2p_buf_add_group_info
      Src: /src/hostap/src/p2p/p2p_group.c:488,1
    - Dst: p2p_group_encaps_probe_resp
      Src: /src/hostap/src/p2p/p2p_group.c:490,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p_group.c:491,1
    - Dst: wpabuf_dup
      Src: /src/hostap/src/p2p/p2p_group.c:496,1
    - Dst: wpabuf_concat
      Src: /src/hostap/src/p2p/p2p_group.c:497,1
    - Dst: wpabuf_dup
      Src: /src/hostap/src/p2p/p2p_group.c:502,1
    - Dst: wpabuf_concat
      Src: /src/hostap/src/p2p/p2p_group.c:503,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/p2p/p2p_group.c:507,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p_group.c:509,1
    - Dst: p2p_group_build_p2p2_ie
      Src: /src/hostap/src/p2p/p2p_group.c:513,1
    - Dst: wpabuf_concat
      Src: /src/hostap/src/p2p/p2p_group.c:514,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 1
    argNames:
    - group
    argTypes:
    - struct p2p_group*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 471
    functionDepth: 3
    functionLinenumber: 471
    functionLinenumberEnd: 517
    functionName: p2p_group_build_probe_resp_ie
    functionSourceFile: /src/hostap/src/p2p/p2p_group.c
    functionUses: 0
    functionsReached:
    - p2p_group_encaps_probe_resp
    - wpabuf_dup
    - wpabuf_free
    - p2p_buf_add_device_info
    - wpabuf_alloc
    - p2p_group_build_p2p2_ie
    - p2p_group_add_common_ies
    - wpabuf_concat
    - p2p_group_add_noa
    - p2p_buf_add_group_info
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * p2p_group_build_probe_resp_ie(struct p2p_group *group)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wifi_display_group_update
      Src: /src/hostap/src/p2p/p2p_group.c:526,1
    - Dst: p2p_group_build_probe_resp_ie
      Src: /src/hostap/src/p2p/p2p_group.c:529,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/p2p/p2p_group.c:532,1
    - Dst: p2p_group_build_beacon_ie
      Src: /src/hostap/src/p2p/p2p_group.c:536,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/p2p/p2p_group.c:539,1
    - Dst: struct p2p_group*::cfg::ie_update
      Src: /src/hostap/src/p2p/p2p_group.c:544,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - group
    argTypes:
    - struct p2p_group*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 520
    functionDepth: 4
    functionLinenumber: 520
    functionLinenumberEnd: 545
    functionName: p2p_group_update_ies
    functionSourceFile: /src/hostap/src/p2p/p2p_group.c
    functionUses: 1
    functionsReached:
    - p2p_group_build_probe_resp_ie
    - struct p2p_group*::cfg::ie_update
    - wifi_display_group_update
    - p2p_group_build_beacon_ie
    - wpa_hexdump_buf
    linkageType: ''
    returnType: void
    signature: void p2p_group_update_ies(struct p2p_group *group)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/p2p/p2p_group.c:572,1
    - Dst: p2p_parse_p2p_ie
      Src: /src/hostap/src/p2p/p2p_group.c:573,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/p2p/p2p_group.c:577,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p_group.c:582,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/p2p/p2p_group.c:588,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/p2p/p2p_group.c:590,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/p2p/p2p_group.c:592,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/p2p/p2p_group.c:594,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/p2p/p2p_group.c:600,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p_group.c:603,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - addr
    - p2p_ie
    - dev_capab
    - dev_addr
    argTypes:
    - u8*
    - struct wpabuf*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 560
    functionDepth: 4
    functionLinenumber: 560
    functionLinenumberEnd: 607
    functionName: p2p_build_client_info
    functionSourceFile: /src/hostap/src/p2p/p2p_group.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpabuf_put
    - wpabuf_put_data
    - wpabuf_put_u8
    - wpabuf_len
    - wpabuf_alloc
    - p2p_parse_p2p_ie
    - os_memset
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * p2p_build_client_info(const u8 *addr,\n\t\t\t\t\t
      \    struct wpabuf *p2p_ie,\n\t\t\t\t\t     u8 *dev_capab, u8 *dev_addr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/src/p2p/p2p_group.c:620,1
    - Dst: p2p_group_free_member
      Src: /src/hostap/src/p2p/p2p_group.c:633,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - group
    - addr
    argTypes:
    - struct p2p_group*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 610
    functionDepth: 2
    functionLinenumber: 610
    functionLinenumberEnd: 637
    functionName: p2p_group_remove_member
    functionSourceFile: /src/hostap/src/p2p/p2p_group.c
    functionUses: 0
    functionsReached:
    - ether_addr_equal
    - p2p_group_free_member
    linkageType: ''
    returnType: int
    signature: int p2p_group_remove_member(struct p2p_group *group, const u8 *addr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: p2p_add_device
      Src: /src/hostap/src/p2p/p2p_group.c:648,1
    - Dst: os_zalloc
      Src: /src/hostap/src/p2p/p2p_group.c:650,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p_group.c:653,1
    - Dst: ieee802_11_vendor_ie_concat
      Src: /src/hostap/src/p2p/p2p_group.c:654,1
    - Dst: p2p_build_client_info
      Src: /src/hostap/src/p2p/p2p_group.c:656,1
    - Dst: ieee802_11_vendor_ie_concat
      Src: /src/hostap/src/p2p/p2p_group.c:661,1
    - Dst: p2p_group_remove_member
      Src: /src/hostap/src/p2p/p2p_group.c:664,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_group.c:669,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_group.c:671,1
    - Dst: p2p_group_update_ies
      Src: /src/hostap/src/p2p/p2p_group.c:676,1
    - Dst: struct p2p_group*::cfg::idle_update
      Src: /src/hostap/src/p2p/p2p_group.c:678,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 4
    argNames:
    - group
    - addr
    - ie
    - len
    argTypes:
    - struct p2p_group*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 640
    functionDepth: 5
    functionLinenumber: 640
    functionLinenumberEnd: 681
    functionName: p2p_group_notif_assoc
    functionSourceFile: /src/hostap/src/p2p/p2p_group.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    - ieee802_11_vendor_ie_concat
    - p2p_dbg
    - p2p_group_update_ies
    - struct p2p_group*::cfg::idle_update
    - p2p_build_client_info
    - p2p_add_device
    - p2p_group_remove_member
    - os_zalloc
    - MAC2STR
    linkageType: ''
    returnType: int
    signature: "int p2p_group_notif_assoc(struct p2p_group *group, const u8 *addr,\n\t\t\t
      \ const u8 *ie, size_t len)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p_group.c:693,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p_group.c:698,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/p2p/p2p_group.c:706,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/p2p/p2p_group.c:712,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/p2p/p2p_group.c:717,1
    - Dst: p2p_buf_add_ie_hdr
      Src: /src/hostap/src/p2p/p2p_group.c:720,1
    - Dst: p2p_buf_add_status
      Src: /src/hostap/src/p2p/p2p_group.c:722,1
    - Dst: p2p_buf_update_ie_hdr
      Src: /src/hostap/src/p2p/p2p_group.c:723,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/p2p/p2p_group.c:726,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p_group.c:728,1
    - Dst: p2p_group_build_p2p2_ie
      Src: /src/hostap/src/p2p/p2p_group.c:732,1
    - Dst: wpabuf_concat
      Src: /src/hostap/src/p2p/p2p_group.c:733,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - group
    - status
    argTypes:
    - struct p2p_group*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 684
    functionDepth: 3
    functionLinenumber: 684
    functionLinenumberEnd: 737
    functionName: p2p_group_assoc_resp_ie
    functionSourceFile: /src/hostap/src/p2p/p2p_group.c
    functionUses: 2
    functionsReached:
    - p2p_buf_add_ie_hdr
    - wpabuf_len
    - wpabuf_free
    - p2p_buf_update_ie_hdr
    - wpabuf_alloc
    - wpabuf_put_buf
    - p2p_group_build_p2p2_ie
    - wpabuf_concat
    - p2p_buf_add_status
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * p2p_group_assoc_resp_ie(struct p2p_group *group, u8
      status)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: p2p_group_remove_member
      Src: /src/hostap/src/p2p/p2p_group.c:742,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_group.c:743,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_group.c:745,1
    - Dst: p2p_group_update_ies
      Src: /src/hostap/src/p2p/p2p_group.c:749,1
    - Dst: struct p2p_group*::cfg::idle_update
      Src: /src/hostap/src/p2p/p2p_group.c:751,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - group
    - addr
    argTypes:
    - struct p2p_group*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 740
    functionDepth: 5
    functionLinenumber: 740
    functionLinenumberEnd: 753
    functionName: p2p_group_notif_disassoc
    functionSourceFile: /src/hostap/src/p2p/p2p_group.c
    functionUses: 1
    functionsReached:
    - p2p_dbg
    - p2p_group_update_ies
    - struct p2p_group*::cfg::idle_update
    - p2p_group_remove_member
    - MAC2STR
    linkageType: ''
    returnType: void
    signature: void p2p_group_notif_disassoc(struct p2p_group *group, const u8 *addr)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_head
      Src: /src/hostap/src/p2p/p2p_group.c:776,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p_group.c:777,1
    - Dst: wps_parse_msg
      Src: /src/hostap/src/p2p/p2p_group.c:783,1
    - Dst: dev_type_list_match
      Src: /src/hostap/src/p2p/p2p_group.c:789,1
    - Dst: dev_type_list_match
      Src: /src/hostap/src/p2p/p2p_group.c:798,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 2
    argNames:
    - m
    - wps
    argTypes:
    - struct p2p_group_member*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 766
    functionDepth: 3
    functionLinenumber: 766
    functionLinenumberEnd: 806
    functionName: p2p_match_dev_type_member
    functionSourceFile: /src/hostap/src/p2p/p2p_group.c
    functionUses: 0
    functionsReached:
    - wpabuf_len
    - dev_type_list_match
    - wps_parse_msg
    - wpabuf_head
    linkageType: ''
    returnType: int
    signature: "int p2p_match_dev_type_member(struct p2p_group_member *m,\n\t\t\t\t
      \    struct wpabuf *wps)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: p2p_match_dev_type
      Src: /src/hostap/src/p2p/p2p_group.c:813,1
    - Dst: p2p_match_dev_type_member
      Src: /src/hostap/src/p2p/p2p_group.c:817,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - group
    - wps
    argTypes:
    - struct p2p_group*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 809
    functionDepth: 4
    functionLinenumber: 809
    functionLinenumberEnd: 823
    functionName: p2p_group_match_dev_type
    functionSourceFile: /src/hostap/src/p2p/p2p_group.c
    functionUses: 1
    functionsReached:
    - p2p_match_dev_type_member
    - p2p_match_dev_type
    linkageType: ''
    returnType: int
    signature: int p2p_group_match_dev_type(struct p2p_group *group, struct wpabuf
      *wps)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/p2p/p2p_group.c:831,1
    - Dst: p2p_parse_p2p_ie
      Src: /src/hostap/src/p2p/p2p_group.c:832,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/p2p/p2p_group.c:838,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/p2p/p2p_group.c:842,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - group
    - p2p
    argTypes:
    - struct p2p_group*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 826
    functionDepth: 4
    functionLinenumber: 826
    functionLinenumberEnd: 848
    functionName: p2p_group_match_dev_id
    functionSourceFile: /src/hostap/src/p2p/p2p_group.c
    functionUses: 1
    functionsReached:
    - p2p_parse_p2p_ie
    - ether_addr_equal
    - os_memset
    linkageType: ''
    returnType: int
    signature: int p2p_group_match_dev_id(struct p2p_group *group, struct wpabuf *p2p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: p2p_group_update_ies
      Src: /src/hostap/src/p2p/p2p_group.c:857,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - group
    argTypes:
    - struct p2p_group*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 851
    functionDepth: 5
    functionLinenumber: 851
    functionLinenumberEnd: 858
    functionName: p2p_group_notif_formation_done
    functionSourceFile: /src/hostap/src/p2p/p2p_group.c
    functionUses: 2
    functionsReached:
    - p2p_group_update_ies
    linkageType: ''
    returnType: void
    signature: void p2p_group_notif_formation_done(struct p2p_group *group)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p_group.c:865,1
    - Dst: wpabuf_size
      Src: /src/hostap/src/p2p/p2p_group.c:869,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/p2p/p2p_group.c:871,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p_group.c:873,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/p2p/p2p_group.c:879,1
    - Dst: p2p_group_update_ies
      Src: /src/hostap/src/p2p/p2p_group.c:886,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - group
    - noa
    - noa_len
    argTypes:
    - struct p2p_group*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 861
    functionDepth: 5
    functionLinenumber: 861
    functionLinenumberEnd: 888
    functionName: p2p_group_notif_noa
    functionSourceFile: /src/hostap/src/p2p/p2p_group.c
    functionUses: 0
    functionsReached:
    - p2p_group_update_ies
    - wpabuf_size
    - wpabuf_put_data
    - wpabuf_free
    - wpabuf_alloc_copy
    linkageType: ''
    returnType: int
    signature: "int p2p_group_notif_noa(struct p2p_group *group, const u8 *noa,\n\t\t\tsize_t
      noa_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/src/p2p/p2p_group.c:897,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - group
    - dev_id
    argTypes:
    - struct p2p_group*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 891
    functionDepth: 1
    functionLinenumber: 891
    functionLinenumberEnd: 902
    functionName: p2p_group_get_client
    functionSourceFile: /src/hostap/src/p2p/p2p_group.c
    functionUses: 0
    functionsReached:
    - ether_addr_equal
    linkageType: ''
    returnType: struct p2p_group_member
    signature: "struct p2p_group_member * p2p_group_get_client(struct p2p_group *group,\n\t\t\t\t\t\t
      \     const u8 *dev_id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: p2p_group_get_client
      Src: /src/hostap/src/p2p/p2p_group.c:912,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - group
    - dev_addr
    argTypes:
    - struct p2p_group*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 905
    functionDepth: 2
    functionLinenumber: 905
    functionLinenumberEnd: 916
    functionName: p2p_group_get_client_interface_addr
    functionSourceFile: /src/hostap/src/p2p/p2p_group.c
    functionUses: 1
    functionsReached:
    - p2p_group_get_client
    linkageType: ''
    returnType: u8
    signature: "u8 * p2p_group_get_client_interface_addr(struct p2p_group *group,\n\t\t\t\t\t
      \      const u8 *dev_addr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/src/p2p/p2p_group.c:925,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - group
    - interface_addr
    argTypes:
    - struct p2p_group*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 919
    functionDepth: 1
    functionLinenumber: 919
    functionLinenumberEnd: 930
    functionName: p2p_group_get_client_iface
    functionSourceFile: /src/hostap/src/p2p/p2p_group.c
    functionUses: 0
    functionsReached:
    - ether_addr_equal
    linkageType: ''
    returnType: struct p2p_group_member
    signature: "struct p2p_group_member * p2p_group_get_client_iface(\n\tstruct p2p_group
      *group, const u8 *interface_addr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: p2p_group_get_client_iface
      Src: /src/hostap/src/p2p/p2p_group.c:939,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/p2p/p2p_group.c:940,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - group
    - addr
    argTypes:
    - struct p2p_group*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 933
    functionDepth: 2
    functionLinenumber: 933
    functionLinenumberEnd: 943
    functionName: p2p_group_get_dev_addr
    functionSourceFile: /src/hostap/src/p2p/p2p_group.c
    functionUses: 1
    functionsReached:
    - is_zero_ether_addr
    - p2p_group_get_client_iface
    linkageType: ''
    returnType: u8
    signature: u8 * p2p_group_get_dev_addr(struct p2p_group *group, const u8 *addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/p2p/p2p_group.c:950,1
    - Dst: p2p_buf_add_action_hdr
      Src: /src/hostap/src/p2p/p2p_group.c:954,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 946
    functionDepth: 2
    functionLinenumber: 946
    functionLinenumberEnd: 957
    functionName: p2p_build_go_disc_req
    functionSourceFile: /src/hostap/src/p2p/p2p_group.c
    functionUses: 0
    functionsReached:
    - wpabuf_alloc
    - p2p_buf_add_action_hdr
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * p2p_build_go_disc_req(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: p2p_group_get_client
      Src: /src/hostap/src/p2p/p2p_group.c:968,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_group.c:970,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_group.c:971,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_group.c:976,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_group.c:980,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_group.c:981,1
    - Dst: p2p_build_go_disc_req
      Src: /src/hostap/src/p2p/p2p_group.c:983,1
    - Dst: struct p2p_data*::cfg::send_action
      Src: /src/hostap/src/p2p/p2p_group.c:991,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/p2p/p2p_group.c:994,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p_group.c:994,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_group.c:997,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p_group.c:1000,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - group
    - dev_id
    - searching_dev
    - rx_freq
    argTypes:
    - struct p2p_group*
    - u8*
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 960
    functionDepth: 3
    functionLinenumber: 960
    functionLinenumberEnd: 1003
    functionName: p2p_group_go_discover
    functionSourceFile: /src/hostap/src/p2p/p2p_group.c
    functionUses: 0
    functionsReached:
    - p2p_dbg
    - p2p_group_get_client
    - wpabuf_len
    - wpabuf_free
    - wpabuf_head
    - MAC2STR
    - struct p2p_data*::cfg::send_action
    - p2p_build_go_disc_req
    linkageType: ''
    returnType: int
    signature: "int p2p_group_go_discover(struct p2p_group *group, const u8 *dev_id,\n\t\t\t
      \ const u8 *searching_dev, int rx_freq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - group
    argTypes:
    - struct p2p_group*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 1006
    functionDepth: 0
    functionLinenumber: 1006
    functionLinenumberEnd: 1009
    functionName: p2p_group_get_interface_addr
    functionSourceFile: /src/hostap/src/p2p/p2p_group.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 * p2p_group_get_interface_addr(struct p2p_group *group)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: p2p_group_get_client_iface
      Src: /src/hostap/src/p2p/p2p_group.c:1020,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_group.c:1022,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/p2p/p2p_group.c:1026,1
    - Dst: struct p2p_group*::p2p::cfg::get_noa
      Src: /src/hostap/src/p2p/p2p_group.c:1029,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_group.c:1035,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_group.c:1037,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/p2p/p2p_group.c:1039,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - group
    - client_interface_addr
    - noa
    - noa_len
    argTypes:
    - struct p2p_group*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1047
      start: 1012
    functionDepth: 2
    functionLinenumber: 1012
    functionLinenumberEnd: 1047
    functionName: p2p_group_presence_req
    functionSourceFile: /src/hostap/src/p2p/p2p_group.c
    functionUses: 1
    functionsReached:
    - struct p2p_group*::p2p::cfg::get_noa
    - p2p_dbg
    - p2p_group_get_client_iface
    - wpa_hexdump
    linkageType: ''
    returnType: u8
    signature: "u8 p2p_group_presence_req(struct p2p_group *group,\n\t\t\t  const
      u8 *client_interface_addr,\n\t\t\t  const u8 *noa, size_t noa_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - group
    argTypes:
    - struct p2p_group*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1056
      start: 1050
    functionDepth: 0
    functionLinenumber: 1050
    functionLinenumberEnd: 1056
    functionName: p2p_get_group_num_members
    functionSourceFile: /src/hostap/src/p2p/p2p_group.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int p2p_get_group_num_members(struct p2p_group *group)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - group
    argTypes:
    - struct p2p_group*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1059
    functionDepth: 0
    functionLinenumber: 1059
    functionLinenumberEnd: 1065
    functionName: p2p_client_limit_reached
    functionSourceFile: /src/hostap/src/p2p/p2p_group.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int p2p_client_limit_reached(struct p2p_group *group)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - group
    - next
    argTypes:
    - struct p2p_group*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1068
    functionDepth: 0
    functionLinenumber: 1068
    functionLinenumberEnd: 1083
    functionName: p2p_iterate_group_members
    functionSourceFile: /src/hostap/src/p2p/p2p_group.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 * p2p_iterate_group_members(struct p2p_group *group, void **next)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/src/p2p/p2p_group.c:1091,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - group
    - dev_addr
    argTypes:
    - struct p2p_group*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1096
      start: 1086
    functionDepth: 1
    functionLinenumber: 1086
    functionLinenumberEnd: 1096
    functionName: p2p_group_is_client_connected
    functionSourceFile: /src/hostap/src/p2p/p2p_group.c
    functionUses: 3
    functionsReached:
    - ether_addr_equal
    linkageType: ''
    returnType: int
    signature: int p2p_group_is_client_connected(struct p2p_group *group, const u8
      *dev_addr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/src/p2p/p2p_group.c:1104,1
    - Dst: os_memcmp
      Src: /src/hostap/src/p2p/p2p_group.c:1106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - group
    - group_id
    - group_id_len
    argTypes:
    - struct p2p_group*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1099
    functionDepth: 1
    functionLinenumber: 1099
    functionLinenumberEnd: 1108
    functionName: p2p_group_is_group_id_match
    functionSourceFile: /src/hostap/src/p2p/p2p_group.c
    functionUses: 2
    functionsReached:
    - ether_addr_equal
    - os_memcmp
    linkageType: ''
    returnType: int
    signature: "int p2p_group_is_group_id_match(struct p2p_group *group, const u8
      *group_id,\n\t\t\t\tsize_t group_id_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: p2p_group_update_ies
      Src: /src/hostap/src/p2p/p2p_group.c:1114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - group
    argTypes:
    - struct p2p_group*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1115
      start: 1111
    functionDepth: 5
    functionLinenumber: 1111
    functionLinenumberEnd: 1115
    functionName: p2p_group_force_beacon_update_ies
    functionSourceFile: /src/hostap/src/p2p/p2p_group.c
    functionUses: 1
    functionsReached:
    - p2p_group_update_ies
    linkageType: ''
    returnType: void
    signature: void p2p_group_force_beacon_update_ies(struct p2p_group *group)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - group
    argTypes:
    - struct p2p_group*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1118
    functionDepth: 0
    functionLinenumber: 1118
    functionLinenumberEnd: 1121
    functionName: p2p_group_get_freq
    functionSourceFile: /src/hostap/src/p2p/p2p_group.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int p2p_group_get_freq(struct p2p_group *group)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - group
    argTypes:
    - struct p2p_group*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1124
    functionDepth: 0
    functionLinenumber: 1124
    functionLinenumberEnd: 1127
    functionName: p2p_group_get_config
    functionSourceFile: /src/hostap/src/p2p/p2p_group.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: struct p2p_group_config
    signature: struct p2p_group_config * p2p_group_get_config(struct p2p_group *group)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: group_callback
      Src: /src/hostap/src/p2p/p2p_group.c:1138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - p2p
    - user_data
    argTypes:
    - struct p2p_data*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 1130
    functionDepth: 0
    functionLinenumber: 1130
    functionLinenumberEnd: 1141
    functionName: p2p_loop_on_all_groups
    functionSourceFile: /src/hostap/src/p2p/p2p_group.c
    functionUses: 2
    functionsReached:
    - group_callback
    linkageType: ''
    returnType: void
    signature: "void p2p_loop_on_all_groups(struct p2p_data *p2p,\n\t\t\t    int (*group_callback)(struct
      p2p_group *group,\n\t\t\t\t\t\t  void *user_data),\n\t\t\t    void *user_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/p2p/p2p_group.c:1154,1
    - Dst: os_memset
      Src: /src/hostap/src/p2p/p2p_group.c:1155,1
    - Dst: p2p_channels_union
      Src: /src/hostap/src/p2p/p2p_group.c:1157,1
    - Dst: p2p_channels_dump
      Src: /src/hostap/src/p2p/p2p_group.c:1160,1
    - Dst: p2p_get_device
      Src: /src/hostap/src/p2p/p2p_group.c:1167,1
    - Dst: p2p_channels_intersect
      Src: /src/hostap/src/p2p/p2p_group.c:1171,1
    - Dst: p2p_channels_dump
      Src: /src/hostap/src/p2p/p2p_group.c:1175,1
    - Dst: os_memset
      Src: /src/hostap/src/p2p/p2p_group.c:1177,1
    - Dst: p2p_channels_to_freqs
      Src: /src/hostap/src/p2p/p2p_group.c:1178,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - group
    - common_freqs
    - num
    argTypes:
    - struct p2p_group*
    - int*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1181
      start: 1144
    functionDepth: 3
    functionLinenumber: 1144
    functionLinenumberEnd: 1181
    functionName: p2p_group_get_common_freqs
    functionSourceFile: /src/hostap/src/p2p/p2p_group.c
    functionUses: 1
    functionsReached:
    - p2p_channels_union
    - p2p_channels_to_freqs
    - p2p_channels_intersect
    - p2p_get_device
    - p2p_channels_dump
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int p2p_group_get_common_freqs(struct p2p_group *group, int *common_freqs,\n\t\t\t
      \      unsigned int *num)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:24,1
    - Dst: p2p_buf_add_public_action_hdr
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:31,1
    - Dst: p2p_buf_add_ie_hdr
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:33,1
    - Dst: p2p_buf_add_device_id
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:34,1
    - Dst: p2p_buf_add_group_id
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:35,1
    - Dst: p2p_buf_update_ie_hdr
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - p2p
    - go
    - dev_id
    argTypes:
    - struct p2p_data*
    - struct p2p_device*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 17
    functionDepth: 2
    functionLinenumber: 17
    functionLinenumberEnd: 40
    functionName: p2p_build_dev_disc_req
    functionSourceFile: /src/hostap/src/p2p/p2p_dev_disc.c
    functionUses: 0
    functionsReached:
    - p2p_buf_add_ie_hdr
    - p2p_buf_add_public_action_hdr
    - p2p_buf_update_ie_hdr
    - wpabuf_alloc
    - p2p_buf_add_device_id
    - p2p_buf_add_group_id
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * p2p_build_dev_disc_req(struct p2p_data *p2p,\n\t\t\t\t\t
      \     struct p2p_device *go,\n\t\t\t\t\t      const u8 *dev_id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:45,1
    - Dst: p2p_set_state
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:53,1
    - Dst: p2p_set_timeout
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:54,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - p2p
    - success
    argTypes:
    - struct p2p_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 64
    functionName: p2p_dev_disc_req_cb
    functionSourceFile: /src/hostap/src/p2p/p2p_dev_disc.c
    functionUses: 1
    functionsReached:
    - p2p_dbg
    - p2p_set_state
    - p2p_set_timeout
    linkageType: ''
    returnType: void
    signature: void p2p_dev_disc_req_cb(struct p2p_data *p2p, int success)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: p2p_get_device
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:73,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:75,1
    - Dst: p2p_build_dev_disc_req
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:79,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:83,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:85,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:86,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:89,1
    - Dst: p2p_send_action
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:95,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:97,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:97,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:98,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:99,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:104,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - p2p
    - dev
    argTypes:
    - struct p2p_data*
    - struct p2p_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 67
    functionDepth: 4
    functionLinenumber: 67
    functionLinenumberEnd: 107
    functionName: p2p_send_dev_disc_req
    functionSourceFile: /src/hostap/src/p2p/p2p_dev_disc.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    - p2p_dbg
    - wpabuf_len
    - p2p_send_action
    - wpabuf_free
    - wpabuf_head
    - p2p_get_device
    - MAC2STR
    - p2p_build_dev_disc_req
    linkageType: ''
    returnType: int
    signature: int p2p_send_dev_disc_req(struct p2p_data *p2p, struct p2p_device *dev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:115,1
    - Dst: p2p_buf_add_public_action_hdr
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:119,1
    - Dst: p2p_buf_add_ie_hdr
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:121,1
    - Dst: p2p_buf_add_status
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:122,1
    - Dst: p2p_buf_update_ie_hdr
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - dialog_token
    - status
    argTypes:
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 126
    functionName: p2p_build_dev_disc_resp
    functionSourceFile: /src/hostap/src/p2p/p2p_dev_disc.c
    functionUses: 0
    functionsReached:
    - p2p_buf_add_ie_hdr
    - p2p_buf_add_public_action_hdr
    - p2p_buf_update_ie_hdr
    - wpabuf_alloc
    - p2p_buf_add_status
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * p2p_build_dev_disc_resp(u8 dialog_token, u8 status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:131,1
    - Dst: struct p2p_data*::cfg::send_action_done
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p2p
    - success
    argTypes:
    - struct p2p_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 134
    functionName: p2p_dev_disc_resp_cb
    functionSourceFile: /src/hostap/src/p2p/p2p_dev_disc.c
    functionUses: 1
    functionsReached:
    - struct p2p_data*::cfg::send_action_done
    - p2p_dbg
    linkageType: ''
    returnType: void
    signature: void p2p_dev_disc_resp_cb(struct p2p_data *p2p, int success)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: p2p_build_dev_disc_resp
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:142,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:146,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:148,1
    - Dst: p2p_send_action
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:151,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:153,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:153,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:154,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - p2p
    - dialog_token
    - addr
    - freq
    - status
    argTypes:
    - struct p2p_data*
    - u8
    - u8*
    - int
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 137
    functionDepth: 4
    functionLinenumber: 137
    functionLinenumberEnd: 158
    functionName: p2p_send_dev_disc_resp
    functionSourceFile: /src/hostap/src/p2p/p2p_dev_disc.c
    functionUses: 0
    functionsReached:
    - p2p_dbg
    - wpabuf_len
    - p2p_send_action
    - wpabuf_free
    - wpabuf_head
    - p2p_build_dev_disc_resp
    - MAC2STR
    linkageType: ''
    returnType: void
    signature: "void p2p_send_dev_disc_resp(struct p2p_data *p2p, u8 dialog_token,\n\t\t\t\t
      \  const u8 *addr, int freq, u8 status)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:167,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:168,1
    - Dst: p2p_parse
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:170,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:174,1
    - Dst: p2p_send_dev_disc_resp
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:175,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:177,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:182,1
    - Dst: p2p_send_dev_disc_resp
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:183,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:185,1
    - Dst: p2p_group_go_discover
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:190,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:192,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:200,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:202,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:207,1
    - Dst: p2p_send_dev_disc_resp
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:208,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:210,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 5
    argNames:
    - p2p
    - sa
    - data
    - len
    - rx_freq
    argTypes:
    - struct p2p_data*
    - u8*
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 161
    functionDepth: 6
    functionLinenumber: 161
    functionLinenumberEnd: 211
    functionName: p2p_process_dev_disc_req
    functionSourceFile: /src/hostap/src/p2p/p2p_dev_disc.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    - p2p_dbg
    - p2p_group_go_discover
    - p2p_send_dev_disc_resp
    - p2p_parse
    - MAC2STR
    - p2p_parse_free
    linkageType: ''
    returnType: void
    signature: "void p2p_process_dev_disc_req(struct p2p_data *p2p, const u8 *sa,\n\t\t\t
      \     const u8 *data, size_t len, int rx_freq)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:221,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:222,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:226,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:227,1
    - Dst: p2p_parse
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:231,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:235,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:240,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:242,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:247,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:249,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:252,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:254,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:256,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:265,1
    - Dst: p2p_set_state
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:272,1
    - Dst: struct p2p_data*::cfg::send_action_done
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:273,1
    - Dst: p2p_set_timeout
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:275,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:281,1
    - Dst: p2p_set_timeout
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:282,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 4
    argNames:
    - p2p
    - sa
    - data
    - len
    argTypes:
    - struct p2p_data*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 214
    functionDepth: 6
    functionLinenumber: 214
    functionLinenumberEnd: 285
    functionName: p2p_process_dev_disc_resp
    functionSourceFile: /src/hostap/src/p2p/p2p_dev_disc.c
    functionUses: 1
    functionsReached:
    - struct p2p_data*::cfg::send_action_done
    - p2p_dbg
    - p2p_parse
    - ether_addr_equal
    - MAC2STR
    - p2p_set_state
    - p2p_set_timeout
    - p2p_parse_free
    linkageType: ''
    returnType: void
    signature: "void p2p_process_dev_disc_resp(struct p2p_data *p2p, const u8 *sa,\n\t\t\t
      \      const u8 *data, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:290,1
    - Dst: struct p2p_data*::cfg::send_action_done
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:292,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:295,1
    - Dst: p2p_send_dev_disc_resp
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - p2p
    - success
    argTypes:
    - struct p2p_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 288
    functionDepth: 5
    functionLinenumber: 288
    functionLinenumberEnd: 306
    functionName: p2p_go_disc_req_cb
    functionSourceFile: /src/hostap/src/p2p/p2p_dev_disc.c
    functionUses: 1
    functionsReached:
    - struct p2p_data*::cfg::send_action_done
    - p2p_dbg
    - p2p_send_dev_disc_resp
    linkageType: ''
    returnType: void
    signature: void p2p_go_disc_req_cb(struct p2p_data *p2p, int success)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:315,1
    - Dst: p2p_build_probe_resp_ies
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:317,1
    - Dst: struct p2p_data*::cfg::start_listen
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:324,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:326,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p_dev_disc.c:328,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 6
    argNames:
    - p2p
    - da
    - sa
    - data
    - len
    - rx_freq
    argTypes:
    - struct p2p_data*
    - u8*
    - u8*
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 309
    functionDepth: 5
    functionLinenumber: 309
    functionLinenumberEnd: 329
    functionName: p2p_process_go_disc_req
    functionSourceFile: /src/hostap/src/p2p/p2p_dev_disc.c
    functionUses: 1
    functionsReached:
    - p2p_build_probe_resp_ies
    - wpabuf_free
    - p2p_dbg
    - struct p2p_data*::cfg::start_listen
    linkageType: ''
    returnType: void
    signature: "void p2p_process_go_disc_req(struct p2p_data *p2p, const u8 *da, const
      u8 *sa,\n\t\t\t     const u8 *data, size_t len, int rx_freq)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_head
      Src: /src/hostap/src/p2p/p2p_sd.c:28,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p_sd.c:29,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/p2p/p2p_sd.c:33,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/p2p/p2p_sd.c:39,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - wfd
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 47
    functionName: wfd_wsd_supported
    functionSourceFile: /src/hostap/src/p2p/p2p_sd.c
    functionUses: 0
    functionsReached:
    - wpabuf_len
    - WPA_GET_BE16
    - wpabuf_head
    linkageType: ''
    returnType: int
    signature: int wfd_wsd_supported(struct wpabuf *wfd)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wfd_wsd_supported
      Src: /src/hostap/src/p2p/p2p_sd.c:60,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/p2p/p2p_sd.c:82,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_sd.c:90,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_sd.c:92,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 2
    argNames:
    - p2p
    - dev
    argTypes:
    - struct p2p_data*
    - struct p2p_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 96
    functionName: p2p_pending_sd_req
    functionSourceFile: /src/hostap/src/p2p/p2p_sd.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - ether_addr_equal
    - p2p_dbg
    - wfd_wsd_supported
    linkageType: ''
    returnType: struct p2p_sd_query
    signature: "struct p2p_sd_query * p2p_pending_sd_req(struct p2p_data *p2p,\n\t\t\t\t\t
      struct p2p_device *dev)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/p2p/p2p_sd.c:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - p2p
    - query_number
    argTypes:
    - struct p2p_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 113
    functionName: p2p_decrease_sd_bc_queries
    functionSourceFile: /src/hostap/src/p2p/p2p_sd.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    linkageType: ''
    returnType: void
    signature: void p2p_decrease_sd_bc_queries(struct p2p_data *p2p, int query_number)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: p2p_decrease_sd_bc_queries
      Src: /src/hostap/src/p2p/p2p_sd.c:129,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - p2p
    - query
    argTypes:
    - struct p2p_data*
    - struct p2p_sd_query*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 144
    functionName: p2p_unlink_sd_query
    functionSourceFile: /src/hostap/src/p2p/p2p_sd.c
    functionUses: 0
    functionsReached:
    - p2p_decrease_sd_bc_queries
    linkageType: ''
    returnType: int
    signature: "int p2p_unlink_sd_query(struct p2p_data *p2p,\n\t\t\t       struct
      p2p_sd_query *query)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p_sd.c:151,1
    - Dst: os_free
      Src: /src/hostap/src/p2p/p2p_sd.c:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - q
    argTypes:
    - struct p2p_sd_query*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 153
    functionName: p2p_free_sd_query
    functionSourceFile: /src/hostap/src/p2p/p2p_sd.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpabuf_free
    linkageType: ''
    returnType: void
    signature: void p2p_free_sd_query(struct p2p_sd_query *q)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: p2p_free_sd_query
      Src: /src/hostap/src/p2p/p2p_sd.c:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - p2p
    argTypes:
    - struct p2p_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 167
    functionName: p2p_free_sd_queries
    functionSourceFile: /src/hostap/src/p2p/p2p_sd.c
    functionUses: 1
    functionsReached:
    - p2p_free_sd_query
    linkageType: ''
    returnType: void
    signature: void p2p_free_sd_queries(struct p2p_data *p2p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gas_anqp_build_initial_req
      Src: /src/hostap/src/p2p/p2p_sd.c:176,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p_sd.c:176,1
    - Dst: gas_anqp_add_element
      Src: /src/hostap/src/p2p/p2p_sd.c:181,1
    - Dst: wpabuf_put_be32
      Src: /src/hostap/src/p2p/p2p_sd.c:182,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/p2p/p2p_sd.c:183,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/p2p/p2p_sd.c:184,1
    - Dst: gas_anqp_set_element_len
      Src: /src/hostap/src/p2p/p2p_sd.c:185,1
    - Dst: gas_anqp_set_len
      Src: /src/hostap/src/p2p/p2p_sd.c:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - update_indic
    - tlvs
    argTypes:
    - u16
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 190
    functionName: p2p_build_sd_query
    functionSourceFile: /src/hostap/src/p2p/p2p_sd.c
    functionUses: 0
    functionsReached:
    - wpabuf_len
    - wpabuf_put_le16
    - gas_anqp_build_initial_req
    - wpabuf_put_buf
    - gas_anqp_add_element
    - wpabuf_put_be32
    - gas_anqp_set_element_len
    - gas_anqp_set_len
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * p2p_build_sd_query(u16 update_indic,\n\t\t\t\t\t  struct
      wpabuf *tlvs)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gas_build_comeback_req
      Src: /src/hostap/src/p2p/p2p_sd.c:198,1
    - Dst: p2p_send_action
      Src: /src/hostap/src/p2p/p2p_sd.c:203,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/p2p/p2p_sd.c:204,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p_sd.c:204,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_sd.c:205,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p_sd.c:207,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - p2p
    - dst
    - dialog_token
    - freq
    argTypes:
    - struct p2p_data*
    - u8*
    - u8
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 193
    functionDepth: 4
    functionLinenumber: 193
    functionLinenumberEnd: 208
    functionName: p2p_send_gas_comeback_req
    functionSourceFile: /src/hostap/src/p2p/p2p_sd.c
    functionUses: 0
    functionsReached:
    - p2p_dbg
    - gas_build_comeback_req
    - wpabuf_len
    - p2p_send_action
    - wpabuf_free
    - wpabuf_head
    linkageType: ''
    returnType: void
    signature: "void p2p_send_gas_comeback_req(struct p2p_data *p2p, const u8 *dst,\n\t\t\t\t
      \     u8 dialog_token, int freq)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gas_anqp_build_initial_resp
      Src: /src/hostap/src/p2p/p2p_sd.c:219,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p_sd.c:221,1
    - Dst: gas_anqp_add_element
      Src: /src/hostap/src/p2p/p2p_sd.c:227,1
    - Dst: wpabuf_put_be32
      Src: /src/hostap/src/p2p/p2p_sd.c:228,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/p2p/p2p_sd.c:230,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/p2p/p2p_sd.c:231,1
    - Dst: gas_anqp_set_element_len
      Src: /src/hostap/src/p2p/p2p_sd.c:232,1
    - Dst: gas_anqp_set_len
      Src: /src/hostap/src/p2p/p2p_sd.c:235,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - dialog_token
    - status_code
    - comeback_delay
    - update_indic
    - tlvs
    argTypes:
    - u8
    - u16
    - u16
    - u16
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 238
    functionName: p2p_build_sd_response
    functionSourceFile: /src/hostap/src/p2p/p2p_sd.c
    functionUses: 0
    functionsReached:
    - wpabuf_len
    - gas_anqp_build_initial_resp
    - wpabuf_put_le16
    - wpabuf_put_buf
    - gas_anqp_add_element
    - wpabuf_put_be32
    - gas_anqp_set_element_len
    - gas_anqp_set_len
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * p2p_build_sd_response(u8 dialog_token, u16 status_code,\n\t\t\t\t\t
      \    u16 comeback_delay,\n\t\t\t\t\t     u16 update_indic,\n\t\t\t\t\t     const
      struct wpabuf *tlvs)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gas_anqp_build_comeback_resp
      Src: /src/hostap/src/p2p/p2p_sd.c:250,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/p2p/p2p_sd.c:257,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/p2p/p2p_sd.c:258,1
    - Dst: wpabuf_put_be32
      Src: /src/hostap/src/p2p/p2p_sd.c:259,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/p2p/p2p_sd.c:261,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/p2p/p2p_sd.c:264,1
    - Dst: gas_anqp_set_len
      Src: /src/hostap/src/p2p/p2p_sd.c:265,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 8
    argNames:
    - dialog_token
    - status_code
    - update_indic
    - data
    - len
    - frag_id
    - more
    - total_len
    argTypes:
    - u8
    - u16
    - u16
    - u8*
    - size_t
    - u8
    - u8
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 268
    functionName: p2p_build_gas_comeback_resp
    functionSourceFile: /src/hostap/src/p2p/p2p_sd.c
    functionUses: 0
    functionsReached:
    - wpabuf_put_data
    - gas_anqp_build_comeback_resp
    - wpabuf_put_le16
    - wpabuf_put_be32
    - gas_anqp_set_len
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * p2p_build_gas_comeback_resp(u8 dialog_token,\n\t\t\t\t\t\t
      \  u16 status_code,\n\t\t\t\t\t\t   u16 update_indic,\n\t\t\t\t\t\t   const
      u8 *data, size_t len,\n\t\t\t\t\t\t   u8 frag_id, u8 more,\n\t\t\t\t\t\t   u16
      total_len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_sd.c:281,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_sd.c:283,1
    - Dst: p2p_pending_sd_req
      Src: /src/hostap/src/p2p/p2p_sd.c:287,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/p2p/p2p_sd.c:291,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_sd.c:292,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_sd.c:294,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_sd.c:298,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_sd.c:299,1
    - Dst: p2p_build_sd_query
      Src: /src/hostap/src/p2p/p2p_sd.c:301,1
    - Dst: p2p_send_action
      Src: /src/hostap/src/p2p/p2p_sd.c:313,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/p2p/p2p_sd.c:315,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p_sd.c:315,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_sd.c:316,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p_sd.c:320,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - p2p
    - dev
    argTypes:
    - struct p2p_data*
    - struct p2p_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 271
    functionDepth: 4
    functionLinenumber: 271
    functionLinenumberEnd: 323
    functionName: p2p_start_sd
    functionSourceFile: /src/hostap/src/p2p/p2p_sd.c
    functionUses: 1
    functionsReached:
    - p2p_dbg
    - wpabuf_len
    - p2p_send_action
    - p2p_pending_sd_req
    - ether_addr_equal
    - wpabuf_free
    - wpabuf_head
    - MAC2STR
    - p2p_build_sd_query
    linkageType: ''
    returnType: int
    signature: int p2p_start_sd(struct p2p_data *p2p, struct p2p_device *dev)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: p2p_channel_to_freq
      Src: /src/hostap/src/p2p/p2p_sd.c:344,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_sd.c:353,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_sd.c:355,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_sd.c:358,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_sd.c:365,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_sd.c:372,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/p2p/p2p_sd.c:381,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/p2p/p2p_sd.c:390,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_sd.c:391,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/p2p/p2p_sd.c:391,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/p2p/p2p_sd.c:396,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_sd.c:399,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/p2p/p2p_sd.c:403,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_sd.c:404,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/p2p/p2p_sd.c:405,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/p2p/p2p_sd.c:412,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_sd.c:413,1
    - Dst: struct p2p_data*::cfg::sd_request
      Src: /src/hostap/src/p2p/p2p_sd.c:416,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 60
    argCount: 5
    argNames:
    - p2p
    - sa
    - data
    - len
    - rx_freq
    argTypes:
    - struct p2p_data*
    - u8*
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 326
    functionDepth: 2
    functionLinenumber: 326
    functionLinenumberEnd: 419
    functionName: p2p_rx_gas_initial_req
    functionSourceFile: /src/hostap/src/p2p/p2p_sd.c
    functionUses: 1
    functionsReached:
    - p2p_dbg
    - p2p_channel_to_freq
    - WPA_GET_LE16
    - MAC2STR
    - struct p2p_data*::cfg::sd_request
    - WPA_GET_BE32
    linkageType: ''
    returnType: void
    signature: "void p2p_rx_gas_initial_req(struct p2p_data *p2p, const u8 *sa,\n\t\t\t
      \   const u8 *data, size_t len, int rx_freq)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p_sd.c:436,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_sd.c:437,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_sd.c:446,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p_sd.c:447,1
    - Dst: wpabuf_dup
      Src: /src/hostap/src/p2p/p2p_sd.c:449,1
    - Dst: p2p_err
      Src: /src/hostap/src/p2p/p2p_sd.c:451,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p_sd.c:454,1
    - Dst: p2p_build_sd_response
      Src: /src/hostap/src/p2p/p2p_sd.c:458,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_sd.c:461,1
    - Dst: p2p_build_sd_response
      Src: /src/hostap/src/p2p/p2p_sd.c:463,1
    - Dst: p2p_send_action
      Src: /src/hostap/src/p2p/p2p_sd.c:471,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/p2p/p2p_sd.c:473,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p_sd.c:473,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_sd.c:474,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p_sd.c:476,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 5
    argNames:
    - p2p
    - freq
    - dst
    - dialog_token
    - resp_tlvs
    argTypes:
    - struct p2p_data*
    - int
    - u8*
    - u8
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 422
    functionDepth: 4
    functionLinenumber: 422
    functionLinenumberEnd: 477
    functionName: p2p_sd_response
    functionSourceFile: /src/hostap/src/p2p/p2p_sd.c
    functionUses: 6
    functionsReached:
    - wpabuf_dup
    - os_memcpy
    - p2p_dbg
    - wpabuf_len
    - p2p_send_action
    - wpabuf_free
    - wpabuf_head
    - p2p_build_sd_response
    - p2p_err
    linkageType: ''
    returnType: void
    signature: "void p2p_sd_response(struct p2p_data *p2p, int freq, const u8 *dst,\n\t\t
      \    u8 dialog_token, const struct wpabuf *resp_tlvs)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/src/p2p/p2p_sd.c:494,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_sd.c:495,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_sd.c:496,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_sd.c:503,1
    - Dst: p2p_sd_query_cb
      Src: /src/hostap/src/p2p/p2p_sd.c:505,1
    - Dst: struct p2p_data*::cfg::send_action_done
      Src: /src/hostap/src/p2p/p2p_sd.c:507,1
    - Dst: p2p_clear_timeout
      Src: /src/hostap/src/p2p/p2p_sd.c:508,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_sd.c:510,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_sd.c:511,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_sd.c:514,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/p2p/p2p_sd.c:520,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/p2p/p2p_sd.c:522,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_sd.c:524,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_sd.c:527,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_sd.c:533,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_sd.c:540,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_sd.c:547,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_sd.c:555,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/p2p/p2p_sd.c:558,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_sd.c:560,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_sd.c:562,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_sd.c:568,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_sd.c:570,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p_sd.c:571,1
    - Dst: p2p_send_gas_comeback_req
      Src: /src/hostap/src/p2p/p2p_sd.c:574,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/p2p/p2p_sd.c:581,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_sd.c:582,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/p2p/p2p_sd.c:582,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/p2p/p2p_sd.c:587,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_sd.c:590,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/p2p/p2p_sd.c:594,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_sd.c:595,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/p2p/p2p_sd.c:596,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/p2p/p2p_sd.c:603,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_sd.c:604,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_sd.c:612,1
    - Dst: p2p_unlink_sd_query
      Src: /src/hostap/src/p2p/p2p_sd.c:615,1
    - Dst: p2p_free_sd_query
      Src: /src/hostap/src/p2p/p2p_sd.c:616,1
    - Dst: struct p2p_data*::cfg::sd_response
      Src: /src/hostap/src/p2p/p2p_sd.c:622,1
    - Dst: p2p_continue_find
      Src: /src/hostap/src/p2p/p2p_sd.c:624,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 101
    argCount: 5
    argNames:
    - p2p
    - sa
    - data
    - len
    - rx_freq
    argTypes:
    - struct p2p_data*
    - u8*
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 480
    functionDepth: 5
    functionLinenumber: 480
    functionLinenumberEnd: 625
    functionName: p2p_rx_gas_initial_resp
    functionSourceFile: /src/hostap/src/p2p/p2p_sd.c
    functionUses: 1
    functionsReached:
    - struct p2p_data*::cfg::send_action_done
    - p2p_send_gas_comeback_req
    - p2p_dbg
    - p2p_sd_query_cb
    - p2p_clear_timeout
    - ether_addr_equal
    - wpabuf_free
    - WPA_GET_LE16
    - MAC2STR
    - p2p_free_sd_query
    - p2p_continue_find
    - struct p2p_data*::cfg::sd_response
    - WPA_GET_BE32
    - p2p_unlink_sd_query
    linkageType: ''
    returnType: void
    signature: "void p2p_rx_gas_initial_resp(struct p2p_data *p2p, const u8 *sa,\n\t\t\t
      \    const u8 *data, size_t len, int rx_freq)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/src/p2p/p2p_sd.c:637,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_sd.c:641,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_sd.c:643,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_sd.c:649,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/p2p/p2p_sd.c:652,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_sd.c:653,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_sd.c:654,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p_sd.c:663,1
    - Dst: p2p_build_gas_comeback_resp
      Src: /src/hostap/src/p2p/p2p_sd.c:668,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/p2p/p2p_sd.c:670,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p_sd.c:673,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_sd.c:676,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_sd.c:682,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p_sd.c:683,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_sd.c:685,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p_sd.c:686,1
    - Dst: p2p_send_action
      Src: /src/hostap/src/p2p/p2p_sd.c:692,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/p2p/p2p_sd.c:694,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p_sd.c:694,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_sd.c:695,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p_sd.c:697,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 5
    argNames:
    - p2p
    - sa
    - data
    - len
    - rx_freq
    argTypes:
    - struct p2p_data*
    - u8*
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 628
    functionDepth: 4
    functionLinenumber: 628
    functionLinenumberEnd: 698
    functionName: p2p_rx_gas_comeback_req
    functionSourceFile: /src/hostap/src/p2p/p2p_sd.c
    functionUses: 1
    functionsReached:
    - p2p_dbg
    - wpabuf_head_u8
    - wpa_hexdump
    - wpabuf_len
    - p2p_send_action
    - ether_addr_equal
    - wpabuf_free
    - wpabuf_head
    - MAC2STR
    - p2p_build_gas_comeback_resp
    linkageType: ''
    returnType: void
    signature: "void p2p_rx_gas_comeback_req(struct p2p_data *p2p, const u8 *sa,\n\t\t\t
      \    const u8 *data, size_t len, int rx_freq)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/src/p2p/p2p_sd.c:714,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/p2p/p2p_sd.c:717,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_sd.c:718,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_sd.c:719,1
    - Dst: struct p2p_data*::cfg::send_action_done
      Src: /src/hostap/src/p2p/p2p_sd.c:722,1
    - Dst: p2p_clear_timeout
      Src: /src/hostap/src/p2p/p2p_sd.c:723,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_sd.c:725,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_sd.c:726,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_sd.c:729,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/p2p/p2p_sd.c:735,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/p2p/p2p_sd.c:740,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_sd.c:742,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_sd.c:748,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_sd.c:754,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_sd.c:762,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_sd.c:769,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_sd.c:777,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/p2p/p2p_sd.c:780,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_sd.c:782,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_sd.c:784,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_sd.c:788,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/p2p/p2p_sd.c:804,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_sd.c:805,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/p2p/p2p_sd.c:805,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/p2p/p2p_sd.c:810,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_sd.c:812,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_sd.c:814,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/p2p/p2p_sd.c:820,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_sd.c:821,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/p2p/p2p_sd.c:822,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/p2p/p2p_sd.c:829,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_sd.c:830,1
    - Dst: wpabuf_resize
      Src: /src/hostap/src/p2p/p2p_sd.c:834,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/p2p/p2p_sd.c:836,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_sd.c:837,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p_sd.c:838,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_sd.c:841,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p_sd.c:843,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p_sd.c:844,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_sd.c:846,1
    - Dst: p2p_send_gas_comeback_req
      Src: /src/hostap/src/p2p/p2p_sd.c:849,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_sd.c:858,1
    - Dst: p2p_unlink_sd_query
      Src: /src/hostap/src/p2p/p2p_sd.c:861,1
    - Dst: p2p_free_sd_query
      Src: /src/hostap/src/p2p/p2p_sd.c:862,1
    - Dst: struct p2p_data*::cfg::sd_response
      Src: /src/hostap/src/p2p/p2p_sd.c:868,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/p2p/p2p_sd.c:870,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p_sd.c:871,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p_sd.c:872,1
    - Dst: p2p_continue_find
      Src: /src/hostap/src/p2p/p2p_sd.c:875,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 121
    argCount: 5
    argNames:
    - p2p
    - sa
    - data
    - len
    - rx_freq
    argTypes:
    - struct p2p_data*
    - u8*
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 701
    functionDepth: 5
    functionLinenumber: 701
    functionLinenumberEnd: 876
    functionName: p2p_rx_gas_comeback_resp
    functionSourceFile: /src/hostap/src/p2p/p2p_sd.c
    functionUses: 1
    functionsReached:
    - struct p2p_data*::cfg::send_action_done
    - p2p_send_gas_comeback_req
    - p2p_dbg
    - wpabuf_resize
    - wpa_hexdump
    - wpabuf_put_data
    - wpabuf_len
    - p2p_clear_timeout
    - ether_addr_equal
    - wpabuf_free
    - WPA_GET_LE16
    - wpabuf_head
    - MAC2STR
    - p2p_free_sd_query
    - p2p_continue_find
    - struct p2p_data*::cfg::sd_response
    - WPA_GET_BE32
    - p2p_unlink_sd_query
    linkageType: ''
    returnType: void
    signature: "void p2p_rx_gas_comeback_resp(struct p2p_data *p2p, const u8 *sa,\n\t\t\t
      \     const u8 *data, size_t len, int rx_freq)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/p2p/p2p_sd.c:884,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p_sd.c:889,1
    - Dst: wpabuf_dup
      Src: /src/hostap/src/p2p/p2p_sd.c:893,1
    - Dst: p2p_free_sd_query
      Src: /src/hostap/src/p2p/p2p_sd.c:895,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_sd.c:901,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/p2p/p2p_sd.c:909,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - p2p
    - dst
    - tlvs
    argTypes:
    - struct p2p_data*
    - u8*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 879
    functionDepth: 2
    functionLinenumber: 879
    functionLinenumberEnd: 918
    functionName: p2p_sd_request
    functionSourceFile: /src/hostap/src/p2p/p2p_sd.c
    functionUses: 7
    functionsReached:
    - wpabuf_dup
    - os_memcpy
    - p2p_dbg
    - dl_list_for_each
    - p2p_free_sd_query
    - os_zalloc
    linkageType: ''
    returnType: void
    signature: "void * p2p_sd_request(struct p2p_data *p2p, const u8 *dst,\n\t\t      const
      struct wpabuf *tlvs)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: p2p_sd_request
      Src: /src/hostap/src/p2p/p2p_sd.c:926,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - p2p
    - dst
    - tlvs
    argTypes:
    - struct p2p_data*
    - u8*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 922
    functionDepth: 3
    functionLinenumber: 922
    functionLinenumberEnd: 930
    functionName: p2p_sd_request_wfd
    functionSourceFile: /src/hostap/src/p2p/p2p_sd.c
    functionUses: 2
    functionsReached:
    - p2p_sd_request
    linkageType: ''
    returnType: void
    signature: "void * p2p_sd_request_wfd(struct p2p_data *p2p, const u8 *dst,\n\t\t\t
      \ const struct wpabuf *tlvs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p2p
    argTypes:
    - struct p2p_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 934
    functionDepth: 0
    functionLinenumber: 934
    functionLinenumberEnd: 937
    functionName: p2p_sd_service_update
    functionSourceFile: /src/hostap/src/p2p/p2p_sd.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void p2p_sd_service_update(struct p2p_data *p2p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: p2p_unlink_sd_query
      Src: /src/hostap/src/p2p/p2p_sd.c:942,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_sd.c:943,1
    - Dst: p2p_free_sd_query
      Src: /src/hostap/src/p2p/p2p_sd.c:944,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - p2p
    - req
    argTypes:
    - struct p2p_data*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 940
    functionDepth: 2
    functionLinenumber: 940
    functionLinenumberEnd: 948
    functionName: p2p_sd_cancel_request
    functionSourceFile: /src/hostap/src/p2p/p2p_sd.c
    functionUses: 3
    functionsReached:
    - p2p_free_sd_query
    - p2p_dbg
    - p2p_unlink_sd_query
    linkageType: ''
    returnType: int
    signature: int p2p_sd_cancel_request(struct p2p_data *p2p, void *req)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - own_intent
    - peer_value
    argTypes:
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 33
    functionName: p2p_go_det
    functionSourceFile: /src/hostap/src/p2p/p2p_go_neg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int p2p_go_det(u8 own_intent, u8 peer_value)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/p2p/p2p_go_neg.c:46,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p_go_neg.c:52,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/p2p/p2p_go_neg.c:53,1
    - Dst: os_memcmp
      Src: /src/hostap/src/p2p/p2p_go_neg.c:54,1
    - Dst: p2p_info
      Src: /src/hostap/src/p2p/p2p_go_neg.c:55,1
    - Dst: p2p_info
      Src: /src/hostap/src/p2p/p2p_go_neg.c:67,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p_go_neg.c:72,1
    - Dst: p2p_channels_intersect
      Src: /src/hostap/src/p2p/p2p_go_neg.c:79,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:80,1
    - Dst: p2p_info
      Src: /src/hostap/src/p2p/p2p_go_neg.c:85,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 5
    argNames:
    - p2p
    - own
    - dev
    - channel_list
    - channel_list_len
    argTypes:
    - struct p2p_data*
    - struct p2p_channels*
    - struct p2p_device*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 89
    functionName: p2p_peer_channels_check
    functionSourceFile: /src/hostap/src/p2p/p2p_go_neg.c
    functionUses: 4
    functionsReached:
    - os_memcpy
    - p2p_dbg
    - p2p_channels_intersect
    - p2p_info
    - os_memcmp
    - wpa_hexdump_ascii
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int p2p_peer_channels_check(struct p2p_data *p2p, struct p2p_channels
      *own,\n\t\t\t    struct p2p_device *dev,\n\t\t\t    const u8 *channel_list,
      size_t channel_list_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: p2p_peer_channels_check
      Src: /src/hostap/src/p2p/p2p_go_neg.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - p2p
    - dev
    - channel_list
    - channel_list_len
    argTypes:
    - struct p2p_data*
    - struct p2p_device*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 3
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: p2p_peer_channels
    functionSourceFile: /src/hostap/src/p2p/p2p_go_neg.c
    functionUses: 0
    functionsReached:
    - p2p_peer_channels_check
    linkageType: ''
    returnType: int
    signature: "int p2p_peer_channels(struct p2p_data *p2p, struct p2p_device *dev,\n\t\t\t
      \    const u8 *channel_list, size_t channel_list_len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - wps_method
    argTypes:
    - enum p2p_wps_method
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 116
    functionName: p2p_wps_method_pw_id
    functionSourceFile: /src/hostap/src/p2p/p2p_go_neg.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: u16
    signature: u16 p2p_wps_method_pw_id(enum p2p_wps_method wps_method)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - wps_method
    argTypes:
    - enum p2p_wps_method
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 135
    functionName: p2p_wps_method_str
    functionSourceFile: /src/hostap/src/p2p/p2p_go_neg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * p2p_wps_method_str(enum p2p_wps_method wps_method)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p_go_neg.c:150,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p_go_neg.c:154,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/p2p/p2p_go_neg.c:156,1
    - Dst: p2p_buf_add_public_action_hdr
      Src: /src/hostap/src/p2p/p2p_go_neg.c:160,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/p2p/p2p_go_neg.c:162,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p_go_neg.c:164,1
    - Dst: p2p_buf_add_capability
      Src: /src/hostap/src/p2p/p2p_go_neg.c:178,1
    - Dst: p2p_buf_add_go_intent
      Src: /src/hostap/src/p2p/p2p_go_neg.c:181,1
    - Dst: p2p_buf_add_config_timeout
      Src: /src/hostap/src/p2p/p2p_go_neg.c:183,1
    - Dst: p2p_buf_add_listen_channel
      Src: /src/hostap/src/p2p/p2p_go_neg.c:185,1
    - Dst: p2p_buf_add_ext_listen_timing
      Src: /src/hostap/src/p2p/p2p_go_neg.c:189,1
    - Dst: p2p_buf_add_intended_addr
      Src: /src/hostap/src/p2p/p2p_go_neg.c:191,1
    - Dst: is_p2p_6ghz_capable
      Src: /src/hostap/src/p2p/p2p_go_neg.c:192,1
    - Dst: p2p_is_peer_6ghz_capab
      Src: /src/hostap/src/p2p/p2p_go_neg.c:193,1
    - Dst: p2p_pref_channel_filter
      Src: /src/hostap/src/p2p/p2p_go_neg.c:198,1
    - Dst: p2p_channels_dump
      Src: /src/hostap/src/p2p/p2p_go_neg.c:200,1
    - Dst: p2p_buf_add_channel_list
      Src: /src/hostap/src/p2p/p2p_go_neg.c:202,1
    - Dst: p2p_buf_add_channel_list
      Src: /src/hostap/src/p2p/p2p_go_neg.c:205,1
    - Dst: p2p_buf_add_device_info
      Src: /src/hostap/src/p2p/p2p_go_neg.c:208,1
    - Dst: p2p_buf_add_operating_channel
      Src: /src/hostap/src/p2p/p2p_go_neg.c:209,1
    - Dst: p2p_buf_add_pref_channel_list
      Src: /src/hostap/src/p2p/p2p_go_neg.c:212,1
    - Dst: p2p_wps_method_pw_id
      Src: /src/hostap/src/p2p/p2p_go_neg.c:216,1
    - Dst: p2p_build_wps_ie
      Src: /src/hostap/src/p2p/p2p_go_neg.c:219,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:220,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p_go_neg.c:221,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p_go_neg.c:222,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/p2p/p2p_go_neg.c:228,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/p2p/p2p_go_neg.c:232,1
    - Dst: wpabuf_concat
      Src: /src/hostap/src/p2p/p2p_go_neg.c:234,1
    - Dst: p2p_encaps_ie
      Src: /src/hostap/src/p2p/p2p_go_neg.c:234,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p_go_neg.c:235,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 58
    argCount: 2
    argNames:
    - p2p
    - peer
    argTypes:
    - struct p2p_data*
    - struct p2p_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 138
    functionDepth: 4
    functionLinenumber: 138
    functionLinenumberEnd: 237
    functionName: p2p_build_go_neg_req
    functionSourceFile: /src/hostap/src/p2p/p2p_go_neg.c
    functionUses: 1
    functionsReached:
    - wpabuf_alloc
    - p2p_buf_add_ext_listen_timing
    - p2p_pref_channel_filter
    - p2p_wps_method_pw_id
    - wpabuf_concat
    - p2p_build_wps_ie
    - p2p_dbg
    - p2p_buf_add_pref_channel_list
    - p2p_is_peer_6ghz_capab
    - p2p_buf_add_public_action_hdr
    - p2p_buf_add_capability
    - p2p_buf_add_listen_channel
    - wpabuf_len
    - p2p_buf_add_intended_addr
    - p2p_buf_add_operating_channel
    - p2p_encaps_ie
    - p2p_buf_add_go_intent
    - p2p_channels_dump
    - p2p_buf_add_config_timeout
    - is_p2p_6ghz_capable
    - wpabuf_free
    - p2p_buf_add_device_info
    - wpabuf_put_buf
    - p2p_buf_add_channel_list
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * p2p_build_go_neg_req(struct p2p_data *p2p,\n\t\t\t\t
      \    struct p2p_device *peer)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:247,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_go_neg.c:248,1
    - Dst: p2p_prov_disc_req
      Src: /src/hostap/src/p2p/p2p_go_neg.c:261,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:271,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_go_neg.c:273,1
    - Dst: p2p_build_go_neg_req
      Src: /src/hostap/src/p2p/p2p_go_neg.c:277,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:280,1
    - Dst: p2p_set_state
      Src: /src/hostap/src/p2p/p2p_go_neg.c:281,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/p2p/p2p_go_neg.c:284,1
    - Dst: p2p_send_action
      Src: /src/hostap/src/p2p/p2p_go_neg.c:287,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/p2p/p2p_go_neg.c:289,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p_go_neg.c:289,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:290,1
    - Dst: p2p_set_timeout
      Src: /src/hostap/src/p2p/p2p_go_neg.c:292,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p_go_neg.c:296,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 2
    argNames:
    - p2p
    - dev
    argTypes:
    - struct p2p_data*
    - struct p2p_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 240
    functionDepth: 8
    functionLinenumber: 240
    functionLinenumberEnd: 299
    functionName: p2p_connect_send
    functionSourceFile: /src/hostap/src/p2p/p2p_go_neg.c
    functionUses: 7
    functionsReached:
    - p2p_dbg
    - eloop_cancel_timeout
    - wpabuf_len
    - p2p_send_action
    - wpabuf_free
    - p2p_prov_disc_req
    - wpabuf_head
    - MAC2STR
    - p2p_set_state
    - p2p_set_timeout
    - p2p_build_go_neg_req
    linkageType: ''
    returnType: int
    signature: int p2p_connect_send(struct p2p_data *p2p, struct p2p_device *dev)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:315,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p_go_neg.c:319,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p_go_neg.c:323,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/p2p/p2p_go_neg.c:325,1
    - Dst: p2p_buf_add_public_action_hdr
      Src: /src/hostap/src/p2p/p2p_go_neg.c:329,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/p2p/p2p_go_neg.c:331,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p_go_neg.c:333,1
    - Dst: p2p_buf_add_status
      Src: /src/hostap/src/p2p/p2p_go_neg.c:337,1
    - Dst: p2p_buf_add_capability
      Src: /src/hostap/src/p2p/p2p_go_neg.c:351,1
    - Dst: p2p_buf_add_go_intent
      Src: /src/hostap/src/p2p/p2p_go_neg.c:354,1
    - Dst: p2p_buf_add_config_timeout
      Src: /src/hostap/src/p2p/p2p_go_neg.c:355,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:358,1
    - Dst: p2p_buf_add_operating_channel
      Src: /src/hostap/src/p2p/p2p_go_neg.c:359,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:363,1
    - Dst: p2p_buf_add_operating_channel
      Src: /src/hostap/src/p2p/p2p_go_neg.c:365,1
    - Dst: p2p_buf_add_intended_addr
      Src: /src/hostap/src/p2p/p2p_go_neg.c:369,1
    - Dst: p2p_pref_channel_filter
      Src: /src/hostap/src/p2p/p2p_go_neg.c:375,1
    - Dst: p2p_channels_dump
      Src: /src/hostap/src/p2p/p2p_go_neg.c:377,1
    - Dst: p2p_copy_channels
      Src: /src/hostap/src/p2p/p2p_go_neg.c:380,1
    - Dst: p2p_buf_add_channel_list
      Src: /src/hostap/src/p2p/p2p_go_neg.c:384,1
    - Dst: is_p2p_6ghz_capable
      Src: /src/hostap/src/p2p/p2p_go_neg.c:387,1
    - Dst: p2p_is_peer_6ghz_capab
      Src: /src/hostap/src/p2p/p2p_go_neg.c:388,1
    - Dst: p2p_buf_add_channel_list
      Src: /src/hostap/src/p2p/p2p_go_neg.c:389,1
    - Dst: is_p2p_6ghz_capable
      Src: /src/hostap/src/p2p/p2p_go_neg.c:394,1
    - Dst: p2p_is_peer_6ghz_capab
      Src: /src/hostap/src/p2p/p2p_go_neg.c:395,1
    - Dst: p2p_channels_intersect
      Src: /src/hostap/src/p2p/p2p_go_neg.c:396,1
    - Dst: p2p_buf_add_channel_list
      Src: /src/hostap/src/p2p/p2p_go_neg.c:398,1
    - Dst: p2p_buf_add_device_info
      Src: /src/hostap/src/p2p/p2p_go_neg.c:401,1
    - Dst: p2p_buf_add_group_id
      Src: /src/hostap/src/p2p/p2p_go_neg.c:403,1
    - Dst: p2p_wps_method_pw_id
      Src: /src/hostap/src/p2p/p2p_go_neg.c:408,1
    - Dst: p2p_build_wps_ie
      Src: /src/hostap/src/p2p/p2p_go_neg.c:411,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:412,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p_go_neg.c:413,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p_go_neg.c:414,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/p2p/p2p_go_neg.c:420,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/p2p/p2p_go_neg.c:424,1
    - Dst: wpabuf_concat
      Src: /src/hostap/src/p2p/p2p_go_neg.c:426,1
    - Dst: p2p_encaps_ie
      Src: /src/hostap/src/p2p/p2p_go_neg.c:426,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p_go_neg.c:427,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 78
    argCount: 5
    argNames:
    - p2p
    - peer
    - dialog_token
    - status
    - tie_breaker
    argTypes:
    - struct p2p_data*
    - struct p2p_device*
    - u8
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 302
    functionDepth: 4
    functionLinenumber: 302
    functionLinenumberEnd: 429
    functionName: p2p_build_go_neg_resp
    functionSourceFile: /src/hostap/src/p2p/p2p_go_neg.c
    functionUses: 0
    functionsReached:
    - p2p_channels_intersect
    - wpabuf_alloc
    - p2p_pref_channel_filter
    - wpabuf_concat
    - p2p_wps_method_pw_id
    - p2p_build_wps_ie
    - p2p_dbg
    - p2p_is_peer_6ghz_capab
    - p2p_buf_add_public_action_hdr
    - p2p_buf_add_capability
    - p2p_copy_channels
    - wpabuf_len
    - p2p_buf_add_intended_addr
    - p2p_buf_add_operating_channel
    - p2p_encaps_ie
    - p2p_buf_add_go_intent
    - p2p_channels_dump
    - p2p_buf_add_config_timeout
    - p2p_buf_add_group_id
    - is_p2p_6ghz_capable
    - wpabuf_free
    - p2p_buf_add_device_info
    - wpabuf_put_buf
    - p2p_buf_add_channel_list
    - p2p_buf_add_status
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * p2p_build_go_neg_resp(struct p2p_data *p2p,\n\t\t\t\t\t
      \    struct p2p_device *peer,\n\t\t\t\t\t     u8 dialog_token, u8 status,\n\t\t\t\t\t
      \    u8 tie_breaker)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: p2p_freq_to_channel
      Src: /src/hostap/src/p2p/p2p_go_neg.c:456,1
    - Dst: p2p_channels_includes
      Src: /src/hostap/src/p2p/p2p_go_neg.c:458,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:459,1
    - Dst: p2p_freq_to_channel
      Src: /src/hostap/src/p2p/p2p_go_neg.c:467,1
    - Dst: p2p_channels_includes
      Src: /src/hostap/src/p2p/p2p_go_neg.c:469,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:470,1
    - Dst: p2p_channel_to_freq
      Src: /src/hostap/src/p2p/p2p_go_neg.c:478,1
    - Dst: p2p_channels_includes
      Src: /src/hostap/src/p2p/p2p_go_neg.c:480,1
    - Dst: p2p_freq_to_channel
      Src: /src/hostap/src/p2p/p2p_go_neg.c:482,1
    - Dst: p2p_channels_includes
      Src: /src/hostap/src/p2p/p2p_go_neg.c:484,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:485,1
    - Dst: p2p_channels_includes
      Src: /src/hostap/src/p2p/p2p_go_neg.c:493,1
    - Dst: p2p_freq_to_channel
      Src: /src/hostap/src/p2p/p2p_go_neg.c:495,1
    - Dst: p2p_channels_includes
      Src: /src/hostap/src/p2p/p2p_go_neg.c:497,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:498,1
    - Dst: p2p_channels_includes
      Src: /src/hostap/src/p2p/p2p_go_neg.c:507,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:512,1
    - Dst: p2p_channel_select
      Src: /src/hostap/src/p2p/p2p_go_neg.c:519,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:521,1
    - Dst: p2p_channel_select
      Src: /src/hostap/src/p2p/p2p_go_neg.c:527,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:529,1
    - Dst: p2p_channel_select
      Src: /src/hostap/src/p2p/p2p_go_neg.c:535,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:537,1
    - Dst: p2p_channel_select
      Src: /src/hostap/src/p2p/p2p_go_neg.c:543,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:545,1
    - Dst: p2p_channels_includes
      Src: /src/hostap/src/p2p/p2p_go_neg.c:555,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:557,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:567,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 58
    argCount: 2
    argNames:
    - p2p
    - intersection
    argTypes:
    - struct p2p_data*
    - struct p2p_channels*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 443
    functionDepth: 2
    functionLinenumber: 443
    functionLinenumberEnd: 571
    functionName: p2p_reselect_channel
    functionSourceFile: /src/hostap/src/p2p/p2p_go_neg.c
    functionUses: 1
    functionsReached:
    - p2p_freq_to_channel
    - p2p_dbg
    - p2p_channel_to_freq
    - p2p_channel_select
    - p2p_channels_includes
    linkageType: ''
    returnType: void
    signature: "void p2p_reselect_channel(struct p2p_data *p2p,\n\t\t\t  struct p2p_channels
      *intersection)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: p2p_channels_dump
      Src: /src/hostap/src/p2p/p2p_go_neg.c:579,1
    - Dst: p2p_channels_dump
      Src: /src/hostap/src/p2p/p2p_go_neg.c:580,1
    - Dst: p2p_channels_intersect
      Src: /src/hostap/src/p2p/p2p_go_neg.c:581,1
    - Dst: p2p_channels_dump
      Src: /src/hostap/src/p2p/p2p_go_neg.c:582,1
    - Dst: p2p_channels_remove_freqs
      Src: /src/hostap/src/p2p/p2p_go_neg.c:583,1
    - Dst: p2p_channels_dump
      Src: /src/hostap/src/p2p/p2p_go_neg.c:584,1
    - Dst: p2p_channels_intersect
      Src: /src/hostap/src/p2p/p2p_go_neg.c:585,1
    - Dst: p2p_channels_dump
      Src: /src/hostap/src/p2p/p2p_go_neg.c:586,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:591,1
    - Dst: p2p_channels_includes
      Src: /src/hostap/src/p2p/p2p_go_neg.c:595,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:599,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:603,1
    - Dst: p2p_reselect_channel
      Src: /src/hostap/src/p2p/p2p_go_neg.c:605,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:608,1
    - Dst: p2p_reselect_channel
      Src: /src/hostap/src/p2p/p2p_go_neg.c:610,1
    - Dst: p2p_build_ssid
      Src: /src/hostap/src/p2p/p2p_go_neg.c:614,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 3
    argNames:
    - p2p
    - dev
    - status
    argTypes:
    - struct p2p_data*
    - struct p2p_device*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 574
    functionDepth: 3
    functionLinenumber: 574
    functionLinenumberEnd: 619
    functionName: p2p_go_select_channel
    functionSourceFile: /src/hostap/src/p2p/p2p_go_neg.c
    functionUses: 2
    functionsReached:
    - p2p_build_ssid
    - p2p_dbg
    - p2p_channels_intersect
    - p2p_reselect_channel
    - p2p_channels_dump
    - p2p_channels_remove_freqs
    - p2p_channels_includes
    linkageType: ''
    returnType: int
    signature: "int p2p_go_select_channel(struct p2p_data *p2p, struct p2p_device
      *dev,\n\t\t\t  u8 *status)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:632,1
    - Dst: p2p_freq_to_channel
      Src: /src/hostap/src/p2p/p2p_go_neg.c:642,1
    - Dst: p2p_pref_freq_allowed
      Src: /src/hostap/src/p2p/p2p_go_neg.c:644,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p_go_neg.c:653,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:661,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:665,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 6
    argNames:
    - p2p
    - go
    - dev
    - msg
    - freq_list
    - size
    argTypes:
    - struct p2p_data*
    - int
    - struct p2p_device*
    - struct p2p_message*
    - struct weighted_pcl[]
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 622
    functionDepth: 2
    functionLinenumber: 622
    functionLinenumberEnd: 668
    functionName: p2p_check_pref_chan_no_recv
    functionSourceFile: /src/hostap/src/p2p/p2p_go_neg.c
    functionUses: 0
    functionsReached:
    - p2p_freq_to_channel
    - os_memcpy
    - p2p_pref_freq_allowed
    - p2p_dbg
    linkageType: ''
    returnType: void
    signature: "void p2p_check_pref_chan_no_recv(struct p2p_data *p2p, int go,\n\t\t\t\t\tstruct
      p2p_device *dev,\n\t\t\t\t\tstruct p2p_message *msg,\n\t\t\t\t\tconst struct
      weighted_pcl freq_list[],\n\t\t\t\t\tunsigned int size)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: p2p_channel_to_freq
      Src: /src/hostap/src/p2p/p2p_go_neg.c:688,1
    - Dst: p2p_freq_to_channel
      Src: /src/hostap/src/p2p/p2p_go_neg.c:693,1
    - Dst: p2p_pref_freq_allowed
      Src: /src/hostap/src/p2p/p2p_go_neg.c:696,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p_go_neg.c:700,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:708,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:712,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 6
    argNames:
    - p2p
    - go
    - dev
    - msg
    - freq_list
    - size
    argTypes:
    - struct p2p_data*
    - int
    - struct p2p_device*
    - struct p2p_message*
    - struct weighted_pcl[]
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 671
    functionDepth: 2
    functionLinenumber: 671
    functionLinenumberEnd: 714
    functionName: p2p_check_pref_chan_recv
    functionSourceFile: /src/hostap/src/p2p/p2p_go_neg.c
    functionUses: 0
    functionsReached:
    - p2p_freq_to_channel
    - os_memcpy
    - p2p_dbg
    - p2p_channel_to_freq
    - p2p_pref_freq_allowed
    linkageType: ''
    returnType: void
    signature: "void p2p_check_pref_chan_recv(struct p2p_data *p2p, int go,\n\t\t\t\t
      \    struct p2p_device *dev,\n\t\t\t\t     struct p2p_message *msg,\n\t\t\t\t
      \    const struct weighted_pcl freq_list[],\n\t\t\t\t     unsigned int size)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/p2p/p2p_go_neg.c:737,1
    - Dst: struct p2p_data*::cfg::get_pref_freq_list
      Src: /src/hostap/src/p2p/p2p_go_neg.c:738,1
    - Dst: is_p2p_6ghz_capable
      Src: /src/hostap/src/p2p/p2p_go_neg.c:746,1
    - Dst: p2p_is_peer_6ghz_capab
      Src: /src/hostap/src/p2p/p2p_go_neg.c:747,1
    - Dst: struct p2p_data*::cfg::is_p2p_dfs_chan
      Src: /src/hostap/src/p2p/p2p_go_neg.c:752,1
    - Dst: p2p_freq_to_channel
      Src: /src/hostap/src/p2p/p2p_go_neg.c:754,1
    - Dst: p2p_channels_includes
      Src: /src/hostap/src/p2p/p2p_go_neg.c:756,1
    - Dst: p2p_channels_includes
      Src: /src/hostap/src/p2p/p2p_go_neg.c:758,1
    - Dst: is_6ghz_freq
      Src: /src/hostap/src/p2p/p2p_go_neg.c:760,1
    - Dst: is_dfs_freq_allowed
      Src: /src/hostap/src/p2p/p2p_go_neg.c:763,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:765,1
    - Dst: os_memmove
      Src: /src/hostap/src/p2p/p2p_go_neg.c:769,1
    - Dst: os_snprintf
      Src: /src/hostap/src/p2p/p2p_go_neg.c:784,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/p2p/p2p_go_neg.c:786,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:791,1
    - Dst: p2p_pref_freq_allowed
      Src: /src/hostap/src/p2p/p2p_go_neg.c:811,1
    - Dst: p2p_freq_to_channel
      Src: /src/hostap/src/p2p/p2p_go_neg.c:815,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p_go_neg.c:820,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:825,1
    - Dst: p2p_check_pref_chan_no_recv
      Src: /src/hostap/src/p2p/p2p_go_neg.c:834,1
    - Dst: p2p_check_pref_chan_recv
      Src: /src/hostap/src/p2p/p2p_go_neg.c:837,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 46
    argCount: 4
    argNames:
    - p2p
    - go
    - dev
    - msg
    argTypes:
    - struct p2p_data*
    - int
    - struct p2p_device*
    - struct p2p_message*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 839
      start: 717
    functionDepth: 3
    functionLinenumber: 717
    functionLinenumberEnd: 839
    functionName: p2p_check_pref_chan
    functionSourceFile: /src/hostap/src/p2p/p2p_go_neg.c
    functionUses: 2
    functionsReached:
    - p2p_freq_to_channel
    - os_memcpy
    - p2p_dbg
    - is_6ghz_freq
    - p2p_is_peer_6ghz_capab
    - struct p2p_data*::cfg::get_pref_freq_list
    - os_memmove
    - is_dfs_freq_allowed
    - struct p2p_data*::cfg::is_p2p_dfs_chan
    - os_snprintf
    - p2p_check_pref_chan_recv
    - p2p_pref_freq_allowed
    - p2p_channels_includes
    - p2p_check_pref_chan_no_recv
    - is_p2p_6ghz_capable
    - ARRAY_SIZE
    - os_snprintf_error
    linkageType: ''
    returnType: void
    signature: "void p2p_check_pref_chan(struct p2p_data *p2p, int go,\n\t\t\t struct
      p2p_device *dev, struct p2p_message *msg)"
  - BBCount: 49
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:852,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_go_neg.c:853,1
    - Dst: p2p_parse
      Src: /src/hostap/src/p2p/p2p_go_neg.c:855,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:859,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:868,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:875,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:882,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:886,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:890,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:894,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:898,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/p2p/p2p_go_neg.c:902,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:903,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_go_neg.c:905,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_go_neg.c:905,1
    - Dst: p2p_get_device
      Src: /src/hostap/src/p2p/p2p_go_neg.c:909,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:912,1
    - Dst: struct p2p_data*::cfg::send_action_done
      Src: /src/hostap/src/p2p/p2p_go_neg.c:928,1
    - Dst: p2p_go_neg_failed
      Src: /src/hostap/src/p2p/p2p_go_neg.c:929,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p_go_neg.c:930,1
    - Dst: p2p_add_dev_from_go_neg_req
      Src: /src/hostap/src/p2p/p2p_go_neg.c:937,1
    - Dst: p2p_add_dev_info
      Src: /src/hostap/src/p2p/p2p_go_neg.c:940,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:947,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_go_neg.c:949,1
    - Dst: p2p_add_dev_info
      Src: /src/hostap/src/p2p/p2p_go_neg.c:950,1
    - Dst: p2p_update_peer_6ghz_capab
      Src: /src/hostap/src/p2p/p2p_go_neg.c:954,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/p2p/p2p_go_neg.c:957,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:960,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:967,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_go_neg.c:968,1
    - Dst: struct p2p_data*::cfg::go_neg_req_rx
      Src: /src/hostap/src/p2p/p2p_go_neg.c:970,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:975,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:981,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:983,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p_go_neg.c:986,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:989,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:996,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1000,1
    - Dst: os_memcmp
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1006,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1007,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1008,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1014,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1016,1
    - Dst: p2p_go_det
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1020,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1022,1
    - Dst: p2p_peer_channels
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1027,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1029,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1039,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1041,1
    - Dst: p2p_wps_method_str
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1042,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1048,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1050,1
    - Dst: p2p_wps_method_str
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1051,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1057,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1059,1
    - Dst: p2p_wps_method_str
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1060,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1066,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1068,1
    - Dst: p2p_wps_method_str
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1070,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1078,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1080,1
    - Dst: p2p_wps_method_str
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1081,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1092,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1098,1
    - Dst: p2p_go_select_channel
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1105,1
    - Dst: p2p_channel_to_freq
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1109,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1111,1
    - Dst: p2p_check_pref_chan
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1118,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1125,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1125,1
    - Dst: p2p_stop_find_for_freq
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1127,1
    - Dst: p2p_set_state
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1128,1
    - Dst: p2p_clear_timeout
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1129,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1131,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1133,1
    - Dst: p2p_build_go_neg_resp
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1140,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1142,1
    - Dst: os_memcmp
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1149,1
    CyclomaticComplexity: 89
    EdgeCount: 89
    ICount: 235
    argCount: 6
    argNames:
    - p2p
    - sa
    - data
    - len
    - rx_freq
    - p2p2
    argTypes:
    - struct p2p_data*
    - u8*
    - u8*
    - size_t
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1164
      start: 842
    functionDepth: 6
    functionLinenumber: 842
    functionLinenumberEnd: 1164
    functionName: p2p_process_go_neg_req
    functionSourceFile: /src/hostap/src/p2p/p2p_go_neg.c
    functionUses: 1
    functionsReached:
    - struct p2p_data*::cfg::send_action_done
    - p2p_add_dev_info
    - p2p_wps_method_str
    - p2p_add_dev_from_go_neg_req
    - p2p_build_go_neg_resp
    - p2p_dbg
    - p2p_clear_timeout
    - p2p_parse
    - ether_addr_equal
    - p2p_channel_to_freq
    - p2p_get_device
    - os_memcmp
    - p2p_peer_channels
    - p2p_update_peer_6ghz_capab
    - struct p2p_data*::cfg::go_neg_req_rx
    - p2p_go_det
    - p2p_set_state
    - p2p_stop_find_for_freq
    - p2p_parse_free
    - os_memcpy
    - p2p_check_pref_chan
    - eloop_cancel_timeout
    - p2p_go_select_channel
    - MAC2STR
    - p2p_go_neg_failed
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * p2p_process_go_neg_req(struct p2p_data *p2p, const
      u8 *sa,\n\t\t\t\t       const u8 *data, size_t len, int rx_freq,\n\t\t\t\t       bool
      p2p2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: p2p_process_go_neg_req
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1173,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1177,1
    - Dst: p2p_channel_to_freq
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1182,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1185,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1186,1
    - Dst: p2p_send_action
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1190,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1192,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1192,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1193,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1196,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 5
    argNames:
    - p2p
    - sa
    - data
    - len
    - rx_freq
    argTypes:
    - struct p2p_data*
    - u8*
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1197
      start: 1167
    functionDepth: 7
    functionLinenumber: 1167
    functionLinenumberEnd: 1197
    functionName: p2p_handle_go_neg_req
    functionSourceFile: /src/hostap/src/p2p/p2p_go_neg.c
    functionUses: 1
    functionsReached:
    - p2p_dbg
    - wpabuf_len
    - p2p_send_action
    - wpabuf_free
    - p2p_channel_to_freq
    - wpabuf_head
    - p2p_process_go_neg_req
    linkageType: ''
    returnType: void
    signature: "void p2p_handle_go_neg_req(struct p2p_data *p2p, const u8 *sa, const
      u8 *data,\n\t\t\t   size_t len, int rx_freq)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1212,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1216,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1220,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1222,1
    - Dst: p2p_buf_add_public_action_hdr
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1226,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1228,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1230,1
    - Dst: p2p_buf_add_status
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1234,1
    - Dst: p2p_buf_add_capability
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1248,1
    - Dst: p2p_buf_add_operating_channel
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1252,1
    - Dst: p2p_buf_add_operating_channel
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1256,1
    - Dst: p2p_channels_intersect
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1259,1
    - Dst: is_p2p_6ghz_capable
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1260,1
    - Dst: p2p_is_peer_6ghz_capab
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1261,1
    - Dst: p2p_buf_add_channel_list
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1262,1
    - Dst: p2p_buf_add_group_id
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1265,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1271,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1275,1
    - Dst: wpabuf_concat
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1277,1
    - Dst: p2p_encaps_ie
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1277,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1278,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 6
    argNames:
    - p2p
    - peer
    - dialog_token
    - status
    - resp_chan
    - go
    argTypes:
    - struct p2p_data*
    - struct p2p_device*
    - u8
    - u8
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1200
    functionDepth: 3
    functionLinenumber: 1200
    functionLinenumberEnd: 1280
    functionName: p2p_build_go_neg_conf
    functionSourceFile: /src/hostap/src/p2p/p2p_go_neg.c
    functionUses: 0
    functionsReached:
    - p2p_dbg
    - wpabuf_len
    - p2p_channels_intersect
    - wpabuf_free
    - p2p_buf_add_operating_channel
    - p2p_is_peer_6ghz_capab
    - p2p_buf_add_public_action_hdr
    - p2p_encaps_ie
    - wpabuf_alloc
    - wpabuf_put_buf
    - p2p_buf_add_capability
    - p2p_buf_add_channel_list
    - wpabuf_concat
    - p2p_buf_add_status
    - p2p_buf_add_group_id
    - is_p2p_6ghz_capable
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * p2p_build_go_neg_conf(struct p2p_data *p2p,\n\t\t\t\t\t
      \    struct p2p_device *peer,\n\t\t\t\t\t     u8 dialog_token, u8 status,\n\t\t\t\t\t
      \    const u8 *resp_chan, int go)"
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1294,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1295,1
    - Dst: p2p_get_device
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1296,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1299,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1300,1
    - Dst: p2p_parse
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1304,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1308,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1309,1
    - Dst: p2p_update_peer_6ghz_capab
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1313,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1316,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1318,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1323,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1328,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1331,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1333,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1335,1
    - Dst: p2p_set_state
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1338,1
    - Dst: p2p_set_state
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1340,1
    - Dst: p2p_set_timeout
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1341,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1343,1
    - Dst: p2p_go_neg_failed
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1344,1
    - Dst: struct p2p_data*::cfg::send_action_done
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1346,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1347,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1352,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1360,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1368,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1374,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1379,1
    - Dst: p2p_go_det
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1385,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1387,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1395,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1397,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1404,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1415,1
    - Dst: wpabuf_dup
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1416,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1424,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1429,1
    - Dst: p2p_peer_channels
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1434,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1436,1
    - Dst: p2p_channel_to_freq
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1442,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1444,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1454,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1456,1
    - Dst: p2p_wps_method_str
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1457,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1463,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1465,1
    - Dst: p2p_wps_method_str
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1466,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1472,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1474,1
    - Dst: p2p_wps_method_str
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1475,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1481,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1483,1
    - Dst: p2p_wps_method_str
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1484,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1492,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1494,1
    - Dst: p2p_wps_method_str
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1495,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1501,1
    - Dst: p2p_go_select_channel
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1508,1
    - Dst: p2p_check_pref_chan
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1516,1
    - Dst: p2p_set_state
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1518,1
    - Dst: p2p_clear_timeout
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1519,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1521,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1521,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1522,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1526,1
    - Dst: p2p_build_go_neg_conf
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1527,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1530,1
    - Dst: wpabuf_dup
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1534,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1550,1
    CyclomaticComplexity: 68
    EdgeCount: 68
    ICount: 221
    argCount: 6
    argNames:
    - p2p
    - sa
    - data
    - len
    - rx_freq
    - p2p2
    argTypes:
    - struct p2p_data*
    - u8*
    - u8*
    - size_t
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1555
      start: 1283
    functionDepth: 6
    functionLinenumber: 1283
    functionLinenumberEnd: 1555
    functionName: p2p_process_go_neg_resp
    functionSourceFile: /src/hostap/src/p2p/p2p_go_neg.c
    functionUses: 0
    functionsReached:
    - struct p2p_data*::cfg::send_action_done
    - p2p_wps_method_str
    - p2p_dbg
    - p2p_clear_timeout
    - p2p_parse
    - p2p_channel_to_freq
    - p2p_get_device
    - p2p_peer_channels
    - p2p_update_peer_6ghz_capab
    - wpabuf_dup
    - p2p_go_det
    - p2p_build_go_neg_conf
    - p2p_set_state
    - p2p_set_timeout
    - p2p_parse_free
    - os_memcpy
    - p2p_check_pref_chan
    - eloop_cancel_timeout
    - p2p_go_select_channel
    - wpabuf_free
    - MAC2STR
    - eloop_register_timeout
    - p2p_go_neg_failed
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * p2p_process_go_neg_resp(struct p2p_data *p2p, const
      u8 *sa,\n\t\t\t\t\tconst u8 *data, size_t len,\n\t\t\t\t\tint rx_freq, bool
      p2p2)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: p2p_process_go_neg_resp
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1565,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1568,1
    - Dst: p2p_get_device
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1570,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1574,1
    - Dst: p2p_send_action
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1581,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1582,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1583,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1584,1
    - Dst: p2p_go_neg_failed
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1585,1
    - Dst: struct p2p_data*::cfg::send_action_done
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1586,1
    - Dst: p2p_go_neg_failed
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1591,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 5
    argNames:
    - p2p
    - sa
    - data
    - len
    - rx_freq
    argTypes:
    - struct p2p_data*
    - u8*
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1592
      start: 1558
    functionDepth: 7
    functionLinenumber: 1558
    functionLinenumberEnd: 1592
    functionName: p2p_handle_go_neg_resp
    functionSourceFile: /src/hostap/src/p2p/p2p_go_neg.c
    functionUses: 1
    functionsReached:
    - struct p2p_data*::cfg::send_action_done
    - p2p_dbg
    - wpabuf_len
    - p2p_send_action
    - wpabuf_free
    - wpabuf_head
    - p2p_get_device
    - p2p_go_neg_failed
    - p2p_process_go_neg_resp
    linkageType: ''
    returnType: void
    signature: "void p2p_handle_go_neg_resp(struct p2p_data *p2p, const u8 *sa, const
      u8 *data,\n\t\t\t    size_t len, int rx_freq)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1601,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1602,1
    - Dst: p2p_get_device
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1603,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1606,1
    - Dst: MAC2STR
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1607,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1612,1
    - Dst: p2p_parse
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1616,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1620,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1621,1
    - Dst: struct p2p_data*::cfg::send_action_done
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1625,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1628,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1630,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1635,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1636,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1640,1
    - Dst: p2p_go_neg_failed
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1641,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1642,1
    - Dst: p2p_update_peer_6ghz_capab
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1646,1
    - Dst: os_memcpy
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1651,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1653,1
    - Dst: p2p_go_neg_failed
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1655,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1656,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1661,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1663,1
    - Dst: p2p_channel_to_freq
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1667,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1670,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1677,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1679,1
    - Dst: p2p_parse_free
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1684,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1691,1
    - Dst: p2p_dbg
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1703,1
    - Dst: os_sleep
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1704,1
    - Dst: p2p_go_complete
      Src: /src/hostap/src/p2p/p2p_go_neg.c:1706,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 72
    argCount: 5
    argNames:
    - p2p
    - sa
    - data
    - len
    - p2p2
    argTypes:
    - struct p2p_data*
    - u8*
    - u8*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1707
      start: 1595
    functionDepth: 6
    functionLinenumber: 1595
    functionLinenumberEnd: 1707
    functionName: p2p_handle_go_neg_conf
    functionSourceFile: /src/hostap/src/p2p/p2p_go_neg.c
    functionUses: 1
    functionsReached:
    - struct p2p_data*::cfg::send_action_done
    - os_memcpy
    - p2p_dbg
    - os_sleep
    - p2p_parse
    - p2p_channel_to_freq
    - MAC2STR
    - p2p_get_device
    - p2p_go_complete
    - p2p_go_neg_failed
    - p2p_parse_free
    - p2p_update_peer_6ghz_capab
    linkageType: ''
    returnType: void
    signature: "void p2p_handle_go_neg_conf(struct p2p_data *p2p, const u8 *sa,\n\t\t\t
      \   const u8 *data, size_t len, bool p2p2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pmksa_cache_init
      Src: /src/hostap/src/pasn/pasn_initiator.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: pasn_initiator_pmksa_cache_init
    functionSourceFile: /src/hostap/src/pasn/pasn_initiator.c
    functionUses: 2
    functionsReached:
    - pmksa_cache_init
    linkageType: ''
    returnType: struct rsn_pmksa_cache
    signature: struct rsn_pmksa_cache * pasn_initiator_pmksa_cache_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pmksa_cache_deinit
      Src: /src/hostap/src/pasn/pasn_initiator.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pmksa
    argTypes:
    - struct rsn_pmksa_cache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: pasn_initiator_pmksa_cache_deinit
    functionSourceFile: /src/hostap/src/pasn/pasn_initiator.c
    functionUses: 2
    functionsReached:
    - pmksa_cache_deinit
    linkageType: ''
    returnType: void
    signature: void pasn_initiator_pmksa_cache_deinit(struct rsn_pmksa_cache *pmksa)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pmksa_cache_add
      Src: /src/hostap/src/pasn/pasn_initiator.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 7
    argNames:
    - pmksa
    - own_addr
    - bssid
    - pmk
    - pmk_len
    - pmkid
    - akmp
    argTypes:
    - struct rsn_pmksa_cache*
    - u8*
    - u8*
    - u8*
    - size_t
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 42
    functionDepth: 3
    functionLinenumber: 42
    functionLinenumberEnd: 51
    functionName: pasn_initiator_pmksa_cache_add
    functionSourceFile: /src/hostap/src/pasn/pasn_initiator.c
    functionUses: 2
    functionsReached:
    - pmksa_cache_add
    linkageType: ''
    returnType: int
    signature: "int pasn_initiator_pmksa_cache_add(struct rsn_pmksa_cache *pmksa,\n\t\t\t\t
      \  const u8 *own_addr, const u8 *bssid,\n\t\t\t\t   const u8 *pmk,\n\t\t\t\t
      \  size_t pmk_len, const u8 *pmkid, int akmp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pmksa_cache_get
      Src: /src/hostap/src/pasn/pasn_initiator.c:59,1
    - Dst: pmksa_cache_remove
      Src: /src/hostap/src/pasn/pasn_initiator.c:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pmksa
    - bssid
    argTypes:
    - struct rsn_pmksa_cache*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 64
    functionName: pasn_initiator_pmksa_cache_remove
    functionSourceFile: /src/hostap/src/pasn/pasn_initiator.c
    functionUses: 1
    functionsReached:
    - pmksa_cache_remove
    - pmksa_cache_get
    linkageType: ''
    returnType: void
    signature: "void pasn_initiator_pmksa_cache_remove(struct rsn_pmksa_cache *pmksa,\n\t\t\t\t
      \      const u8 *bssid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pmksa_cache_get
      Src: /src/hostap/src/pasn/pasn_initiator.c:73,1
    - Dst: os_memcpy
      Src: /src/hostap/src/pasn/pasn_initiator.c:75,1
    - Dst: os_memcpy
      Src: /src/hostap/src/pasn/pasn_initiator.c:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - pmksa
    - bssid
    - pmkid
    - pmk
    - pmk_len
    argTypes:
    - struct rsn_pmksa_cache*
    - u8*
    - u8*
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 81
    functionName: pasn_initiator_pmksa_cache_get
    functionSourceFile: /src/hostap/src/pasn/pasn_initiator.c
    functionUses: 3
    functionsReached:
    - os_memcpy
    - pmksa_cache_get
    linkageType: ''
    returnType: int
    signature: "int pasn_initiator_pmksa_cache_get(struct rsn_pmksa_cache *pmksa,\n\t\t\t\t
      \  const u8 *bssid, u8 *pmkid, u8 *pmk,\n\t\t\t\t   size_t *pmk_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pmksa_cache_flush
      Src: /src/hostap/src/pasn/pasn_initiator.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pmksa
    argTypes:
    - struct rsn_pmksa_cache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: pasn_initiator_pmksa_cache_flush
    functionSourceFile: /src/hostap/src/pasn/pasn_initiator.c
    functionUses: 0
    functionsReached:
    - pmksa_cache_flush
    linkageType: ''
    returnType: void
    signature: void pasn_initiator_pmksa_cache_flush(struct rsn_pmksa_cache *pmksa)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - pasn
    - pmksa
    argTypes:
    - struct pasn_data*
    - struct rsn_pmksa_cache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 95
    functionName: pasn_set_initiator_pmksa
    functionSourceFile: /src/hostap/src/pasn/pasn_initiator.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void pasn_set_initiator_pmksa(struct pasn_data *pasn,\n\t\t\t      struct
      rsn_pmksa_cache *pmksa)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sae_set_group
      Src: /src/hostap/src/pasn/pasn_initiator.c:107,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:109,1
    - Dst: sae_prepare_commit_pt
      Src: /src/hostap/src/pasn/pasn_initiator.c:114,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:118,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/pasn/pasn_initiator.c:123,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:125,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/pasn/pasn_initiator.c:129,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/pasn/pasn_initiator.c:130,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/pasn/pasn_initiator.c:131,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/pasn/pasn_initiator.c:135,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/pasn/pasn_initiator.c:136,1
    - Dst: sae_write_commit
      Src: /src/hostap/src/pasn/pasn_initiator.c:138,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 1
    argNames:
    - pasn
    argTypes:
    - struct pasn_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 142
    functionName: wpas_pasn_wd_sae_commit
    functionSourceFile: /src/hostap/src/pasn/pasn_initiator.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - sae_set_group
    - wpabuf_len
    - wpabuf_put_le16
    - wpabuf_head
    - wpabuf_alloc
    - sae_write_commit
    - sae_prepare_commit_pt
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * wpas_pasn_wd_sae_commit(struct pasn_data *pasn)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/pasn/pasn_initiator.c:156,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/pasn/pasn_initiator.c:157,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:161,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/pasn/pasn_initiator.c:165,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:167,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/pasn/pasn_initiator.c:174,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/pasn/pasn_initiator.c:175,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/pasn/pasn_initiator.c:176,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:178,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:183,1
    - Dst: sae_parse_commit
      Src: /src/hostap/src/pasn/pasn_initiator.c:187,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:190,1
    - Dst: sae_process_commit
      Src: /src/hostap/src/pasn/pasn_initiator.c:195,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:197,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:206,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/pasn/pasn_initiator.c:210,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:212,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/pasn/pasn_initiator.c:219,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/pasn/pasn_initiator.c:220,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/pasn/pasn_initiator.c:221,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:223,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:227,1
    - Dst: sae_check_confirm
      Src: /src/hostap/src/pasn/pasn_initiator.c:231,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:233,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:237,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 63
    argCount: 2
    argNames:
    - pasn
    - wd
    argTypes:
    - struct pasn_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 241
    functionName: wpas_pasn_wd_sae_rx
    functionSourceFile: /src/hostap/src/pasn/pasn_initiator.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_head_u8
    - sae_process_commit
    - wpabuf_len
    - WPA_GET_LE16
    - sae_check_confirm
    - sae_parse_commit
    linkageType: ''
    returnType: int
    signature: int wpas_pasn_wd_sae_rx(struct pasn_data *pasn, struct wpabuf *wd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/pasn/pasn_initiator.c:249,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:251,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/pasn/pasn_initiator.c:255,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/pasn/pasn_initiator.c:256,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/pasn/pasn_initiator.c:257,1
    - Dst: sae_write_confirm
      Src: /src/hostap/src/pasn/pasn_initiator.c:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - pasn
    argTypes:
    - struct pasn_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 263
    functionName: wpas_pasn_wd_sae_confirm
    functionSourceFile: /src/hostap/src/pasn/pasn_initiator.c
    functionUses: 0
    functionsReached:
    - wpabuf_alloc
    - wpa_printf
    - sae_write_confirm
    - wpabuf_put_le16
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * wpas_pasn_wd_sae_confirm(struct pasn_data *pasn)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: eapol_sm_build_erp_reauth_start
      Src: /src/hostap/src/pasn/pasn_initiator.c:276,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:278,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/pasn/pasn_initiator.c:283,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/pasn/pasn_initiator.c:284,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/pasn/pasn_initiator.c:287,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/pasn/pasn_initiator.c:290,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/pasn/pasn_initiator.c:293,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/pasn/pasn_initiator.c:298,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/pasn/pasn_initiator.c:301,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/pasn/pasn_initiator.c:304,1
    - Dst: wpa_pasn_add_rsne
      Src: /src/hostap/src/pasn/pasn_initiator.c:307,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/pasn/pasn_initiator.c:310,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/pasn/pasn_initiator.c:311,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/pasn/pasn_initiator.c:312,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/pasn/pasn_initiator.c:313,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/pasn/pasn_initiator.c:316,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/pasn/pasn_initiator.c:317,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/pasn/pasn_initiator.c:318,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/pasn/pasn_initiator.c:319,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/pasn/pasn_initiator.c:322,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/pasn/pasn_initiator.c:323,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/pasn/pasn_initiator.c:323,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/pasn/pasn_initiator.c:324,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/pasn/pasn_initiator.c:325,1
    - Dst: fils_pmkid_erp
      Src: /src/hostap/src/pasn/pasn_initiator.c:331,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/pasn/pasn_initiator.c:331,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/pasn/pasn_initiator.c:332,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:335,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/pasn/pasn_initiator.c:339,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/pasn/pasn_initiator.c:342,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/pasn/pasn_initiator.c:345,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/pasn/pasn_initiator.c:346,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 46
    argCount: 1
    argNames:
    - pasn
    argTypes:
    - struct pasn_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 348
    functionName: wpas_pasn_fils_build_auth
    functionSourceFile: /src/hostap/src/pasn/pasn_initiator.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - random_get_bytes
    - eapol_sm_build_erp_reauth_start
    - wpa_hexdump
    - wpabuf_put_u8
    - wpabuf_put_data
    - wpabuf_len
    - wpabuf_free
    - wpa_hexdump_buf
    - wpa_pasn_add_rsne
    - wpabuf_put_le16
    - wpabuf_head
    - wpabuf_alloc
    - wpabuf_put_buf
    - fils_pmkid_erp
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * wpas_pasn_fils_build_auth(struct pasn_data *pasn)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:353,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:361,1
    - Dst: wpas_pasn_fils_build_auth
      Src: /src/hostap/src/pasn/pasn_initiator.c:366,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pasn
    argTypes:
    - struct pasn_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 351
    functionDepth: 2
    functionLinenumber: 351
    functionLinenumberEnd: 367
    functionName: wpas_pasn_wd_fils_auth
    functionSourceFile: /src/hostap/src/pasn/pasn_initiator.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpas_pasn_fils_build_auth
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * wpas_pasn_wd_fils_auth(struct pasn_data *pasn)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_head
      Src: /src/hostap/src/pasn/pasn_initiator.c:386,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/pasn/pasn_initiator.c:387,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/pasn/pasn_initiator.c:389,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:394,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/pasn/pasn_initiator.c:398,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/pasn/pasn_initiator.c:399,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/pasn/pasn_initiator.c:400,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:402,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:407,1
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/src/pasn/pasn_initiator.c:415,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:416,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:422,1
    - Dst: wpa_parse_wpa_ie
      Src: /src/hostap/src/pasn/pasn_initiator.c:426,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:429,1
    - Dst: wpa_pasn_validate_rsne
      Src: /src/hostap/src/pasn/pasn_initiator.c:433,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:436,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:441,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/pasn/pasn_initiator.c:446,1
    - Dst: os_memcpy
      Src: /src/hostap/src/pasn/pasn_initiator.c:447,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/pasn/pasn_initiator.c:449,1
    - Dst: os_memcmp
      Src: /src/hostap/src/pasn/pasn_initiator.c:452,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:454,1
    - Dst: ieee802_11_defrag
      Src: /src/hostap/src/pasn/pasn_initiator.c:458,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:462,1
    - Dst: eapol_sm_process_erp_finish
      Src: /src/hostap/src/pasn/pasn_initiator.c:467,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/pasn/pasn_initiator.c:467,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/pasn/pasn_initiator.c:468,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/pasn/pasn_initiator.c:470,1
    - Dst: eapol_sm_failed
      Src: /src/hostap/src/pasn/pasn_initiator.c:473,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:474,1
    - Dst: eapol_sm_get_key
      Src: /src/hostap/src/pasn/pasn_initiator.c:479,1
    - Dst: eapol_sm_get_key
      Src: /src/hostap/src/pasn/pasn_initiator.c:483,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:487,1
    - Dst: fils_rmsk_to_pmk
      Src: /src/hostap/src/pasn/pasn_initiator.c:491,1
    - Dst: forced_memzero
      Src: /src/hostap/src/pasn/pasn_initiator.c:495,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:498,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/pasn/pasn_initiator.c:502,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:505,1
    - Dst: pmksa_cache_add
      Src: /src/hostap/src/pasn/pasn_initiator.c:507,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 82
    argCount: 2
    argNames:
    - pasn
    - wd
    argTypes:
    - struct pasn_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 370
    functionDepth: 3
    functionLinenumber: 370
    functionLinenumberEnd: 515
    functionName: wpas_pasn_wd_fils_rx
    functionSourceFile: /src/hostap/src/pasn/pasn_initiator.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_pasn_validate_rsne
    - wpa_hexdump
    - wpabuf_len
    - eapol_sm_failed
    - wpabuf_free
    - forced_memzero
    - WPA_GET_LE16
    - fils_rmsk_to_pmk
    - wpabuf_head
    - wpa_parse_wpa_ie
    - pmksa_cache_add
    - ieee802_11_parse_elems
    - os_memcmp
    - eapol_sm_get_key
    - eapol_sm_process_erp_finish
    - ieee802_11_defrag
    linkageType: ''
    returnType: int
    signature: int wpas_pasn_wd_fils_rx(struct pasn_data *pasn, struct wpabuf *wd)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: wpas_pasn_wd_sae_commit
      Src: /src/hostap/src/pasn/pasn_initiator.c:539,1
    - Dst: wpas_pasn_wd_sae_confirm
      Src: /src/hostap/src/pasn/pasn_initiator.c:541,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:543,1
    - Dst: wpas_pasn_wd_fils_auth
      Src: /src/hostap/src/pasn/pasn_initiator.c:549,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:561,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 1
    argNames:
    - pasn
    argTypes:
    - struct pasn_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 520
    functionDepth: 3
    functionLinenumber: 520
    functionLinenumberEnd: 566
    functionName: wpas_pasn_get_wrapped_data
    functionSourceFile: /src/hostap/src/pasn/pasn_initiator.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpas_pasn_wd_sae_commit
    - wpas_pasn_wd_sae_confirm
    - wpas_pasn_wd_fils_auth
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * wpas_pasn_get_wrapped_data(struct pasn_data *pasn)
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - pasn
    argTypes:
    - struct pasn_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 595
    functionName: wpas_pasn_get_wrapped_data_format
    functionSourceFile: /src/hostap/src/pasn/pasn_initiator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 wpas_pasn_get_wrapped_data_format(struct pasn_data *pasn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:602,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/pasn/pasn_initiator.c:603,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/pasn/pasn_initiator.c:604,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/pasn/pasn_initiator.c:605,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/pasn/pasn_initiator.c:606,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/pasn/pasn_initiator.c:607,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/pasn/pasn_initiator.c:608,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pasn
    - buf
    argTypes:
    - struct pasn_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 598
    functionDepth: 1
    functionLinenumber: 598
    functionLinenumberEnd: 611
    functionName: wpas_pasn_add_mle
    functionSourceFile: /src/hostap/src/pasn/pasn_initiator.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put_data
    - wpabuf_put_u8
    - wpabuf_put_le16
    linkageType: ''
    returnType: void
    signature: void wpas_pasn_add_mle(struct pasn_data *pasn, struct wpabuf *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/pasn/pasn_initiator.c:616,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/pasn/pasn_initiator.c:621,1
    - Dst: os_memcpy
      Src: /src/hostap/src/pasn/pasn_initiator.c:622,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - auth_alg
    - buf
    - len
    argTypes:
    - u16
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 614
    functionDepth: 1
    functionLinenumber: 614
    functionLinenumberEnd: 625
    functionName: pasn_prepend_auth_alg
    functionSourceFile: /src/hostap/src/pasn/pasn_initiator.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - os_malloc
    - WPA_PUT_LE16
    linkageType: ''
    returnType: u8
    signature: u8 * pasn_prepend_auth_alg(u16 auth_alg, const u8 *buf, size_t len)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:639,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/pasn/pasn_initiator.c:644,1
    - Dst: crypto_ecdh_get_pubkey
      Src: /src/hostap/src/pasn/pasn_initiator.c:649,1
    - Dst: wpabuf_zeropad
      Src: /src/hostap/src/pasn/pasn_initiator.c:650,1
    - Dst: crypto_ecdh_prime_len
      Src: /src/hostap/src/pasn/pasn_initiator.c:650,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:652,1
    - Dst: wpas_pasn_get_wrapped_data_format
      Src: /src/hostap/src/pasn/pasn_initiator.c:656,1
    - Dst: wpa_pasn_build_auth_header
      Src: /src/hostap/src/pasn/pasn_initiator.c:659,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/pasn/pasn_initiator.c:665,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/pasn/pasn_initiator.c:666,1
    - Dst: wpa_key_mgmt_ft
      Src: /src/hostap/src/pasn/pasn_initiator.c:670,1
    - Dst: pmksa_cache_get
      Src: /src/hostap/src/pasn/pasn_initiator.c:679,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:682,1
    - Dst: wpas_pasn_get_wrapped_data
      Src: /src/hostap/src/pasn/pasn_initiator.c:695,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/pasn/pasn_initiator.c:699,1
    - Dst: wpa_pasn_add_rsne
      Src: /src/hostap/src/pasn/pasn_initiator.c:700,1
    - Dst: wpa_pasn_add_wrapped_data
      Src: /src/hostap/src/pasn/pasn_initiator.c:706,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/pasn/pasn_initiator.c:710,1
    - Dst: wpa_pasn_add_rsnxe
      Src: /src/hostap/src/pasn/pasn_initiator.c:712,1
    - Dst: wpa_pasn_add_parameter_ie
      Src: /src/hostap/src/pasn/pasn_initiator.c:714,1
    - Dst: wpa_pasn_add_extra_ies
      Src: /src/hostap/src/pasn/pasn_initiator.c:717,1
    - Dst: wpas_pasn_add_mle
      Src: /src/hostap/src/pasn/pasn_initiator.c:719,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/pasn/pasn_initiator.c:722,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/pasn/pasn_initiator.c:723,1
    - Dst: pasn_prepend_auth_alg
      Src: /src/hostap/src/pasn/pasn_initiator.c:725,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/pasn/pasn_initiator.c:726,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/pasn/pasn_initiator.c:727,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/pasn/pasn_initiator.c:731,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/pasn/pasn_initiator.c:734,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/pasn/pasn_initiator.c:735,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:738,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/pasn/pasn_initiator.c:744,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/pasn/pasn_initiator.c:745,1
    - Dst: os_free
      Src: /src/hostap/src/pasn/pasn_initiator.c:746,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:748,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/pasn/pasn_initiator.c:752,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/pasn/pasn_initiator.c:753,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/pasn/pasn_initiator.c:754,1
    - Dst: os_free
      Src: /src/hostap/src/pasn/pasn_initiator.c:755,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 85
    argCount: 4
    argNames:
    - pasn
    - comeback
    - verify
    - full_hdr
    argTypes:
    - struct pasn_data*
    - struct wpabuf*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 628
    functionDepth: 4
    functionLinenumber: 628
    functionLinenumberEnd: 757
    functionName: wpas_pasn_build_auth_1
    functionSourceFile: /src/hostap/src/pasn/pasn_initiator.c
    functionUses: 0
    functionsReached:
    - crypto_ecdh_prime_len
    - wpa_pasn_add_rsne
    - wpabuf_alloc
    - wpas_pasn_get_wrapped_data_format
    - wpa_printf
    - wpabuf_put_data
    - wpa_pasn_add_parameter_ie
    - wpas_pasn_add_mle
    - wpa_key_mgmt_ft
    - crypto_ecdh_get_pubkey
    - os_free
    - wpa_pasn_add_rsnxe
    - pasn_prepend_auth_alg
    - wpas_pasn_get_wrapped_data
    - wpabuf_head_u8
    - wpabuf_len
    - wpabuf_alloc_copy
    - wpa_pasn_add_wrapped_data
    - pmksa_cache_get
    - wpa_pasn_build_auth_header
    - wpabuf_free
    - wpabuf_put_le16
    - wpabuf_zeropad
    - wpa_pasn_add_extra_ies
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * wpas_pasn_build_auth_1(struct pasn_data *pasn,\n\t\t\t\t
      \      const struct wpabuf *comeback,\n\t\t\t\t       bool verify, bool full_hdr)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:773,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/pasn/pasn_initiator.c:778,1
    - Dst: wpas_pasn_get_wrapped_data_format
      Src: /src/hostap/src/pasn/pasn_initiator.c:782,1
    - Dst: wpa_pasn_build_auth_header
      Src: /src/hostap/src/pasn/pasn_initiator.c:785,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/pasn/pasn_initiator.c:791,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/pasn/pasn_initiator.c:792,1
    - Dst: wpas_pasn_get_wrapped_data
      Src: /src/hostap/src/pasn/pasn_initiator.c:795,1
    - Dst: wpa_pasn_add_wrapped_data
      Src: /src/hostap/src/pasn/pasn_initiator.c:800,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/pasn/pasn_initiator.c:802,1
    - Dst: wpa_pasn_add_parameter_ie
      Src: /src/hostap/src/pasn/pasn_initiator.c:805,1
    - Dst: struct pasn_data*::prepare_data_element
      Src: /src/hostap/src/pasn/pasn_initiator.c:809,1
    - Dst: wpa_pasn_add_extra_ies
      Src: /src/hostap/src/pasn/pasn_initiator.c:811,1
    - Dst: wpas_pasn_add_mle
      Src: /src/hostap/src/pasn/pasn_initiator.c:813,1
    - Dst: pasn_mic_len
      Src: /src/hostap/src/pasn/pasn_initiator.c:816,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/pasn/pasn_initiator.c:817,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/pasn/pasn_initiator.c:818,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/pasn/pasn_initiator.c:819,1
    - Dst: os_memset
      Src: /src/hostap/src/pasn/pasn_initiator.c:821,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/pasn/pasn_initiator.c:824,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/pasn/pasn_initiator.c:825,1
    - Dst: pasn_prepend_auth_alg
      Src: /src/hostap/src/pasn/pasn_initiator.c:827,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/pasn/pasn_initiator.c:828,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/pasn/pasn_initiator.c:829,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/pasn/pasn_initiator.c:833,1
    - Dst: pasn_auth_frame_hash
      Src: /src/hostap/src/pasn/pasn_initiator.c:838,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/pasn/pasn_initiator.c:838,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/pasn/pasn_initiator.c:839,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:840,1
    - Dst: pasn_mic
      Src: /src/hostap/src/pasn/pasn_initiator.c:844,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:848,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:854,1
    - Dst: os_memcpy
      Src: /src/hostap/src/pasn/pasn_initiator.c:859,1
    - Dst: os_free
      Src: /src/hostap/src/pasn/pasn_initiator.c:862,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:864,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/pasn/pasn_initiator.c:868,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/pasn/pasn_initiator.c:869,1
    - Dst: os_free
      Src: /src/hostap/src/pasn/pasn_initiator.c:870,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 71
    argCount: 2
    argNames:
    - pasn
    - full_hdr
    argTypes:
    - struct pasn_data*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 760
    functionDepth: 4
    functionLinenumber: 760
    functionLinenumberEnd: 872
    functionName: wpas_pasn_build_auth_3
    functionSourceFile: /src/hostap/src/pasn/pasn_initiator.c
    functionUses: 0
    functionsReached:
    - wpas_pasn_get_wrapped_data_format
    - wpabuf_alloc
    - pasn_mic_len
    - struct pasn_data*::prepare_data_element
    - wpa_printf
    - wpa_pasn_add_parameter_ie
    - wpas_pasn_add_mle
    - pasn_auth_frame_hash
    - os_free
    - pasn_prepend_auth_alg
    - wpas_pasn_get_wrapped_data
    - wpabuf_head_u8
    - wpabuf_put_u8
    - wpabuf_len
    - wpabuf_head
    - pasn_mic
    - wpa_pasn_add_wrapped_data
    - os_memset
    - wpabuf_put
    - os_memcpy
    - wpa_pasn_build_auth_header
    - wpabuf_free
    - wpabuf_put_le16
    - wpa_pasn_add_extra_ies
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * wpas_pasn_build_auth_3(struct pasn_data *pasn, bool
      full_hdr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:877,1
    - Dst: crypto_ecdh_deinit
      Src: /src/hostap/src/pasn/pasn_initiator.c:879,1
    - Dst: forced_memzero
      Src: /src/hostap/src/pasn/pasn_initiator.c:893,1
    - Dst: forced_memzero
      Src: /src/hostap/src/pasn/pasn_initiator.c:894,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/pasn/pasn_initiator.c:896,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/pasn/pasn_initiator.c:899,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/pasn/pasn_initiator.c:902,1
    - Dst: sae_clear_data
      Src: /src/hostap/src/pasn/pasn_initiator.c:907,1
    - Dst: sae_deinit_pt
      Src: /src/hostap/src/pasn/pasn_initiator.c:909,1
    - Dst: os_memset
      Src: /src/hostap/src/pasn/pasn_initiator.c:916,1
    - Dst: forced_memzero
      Src: /src/hostap/src/pasn/pasn_initiator.c:920,1
    - Dst: os_memset
      Src: /src/hostap/src/pasn/pasn_initiator.c:922,1
    - Dst: os_memset
      Src: /src/hostap/src/pasn/pasn_initiator.c:926,1
    - Dst: os_free
      Src: /src/hostap/src/pasn/pasn_initiator.c:934,1
    - Dst: os_free
      Src: /src/hostap/src/pasn/pasn_initiator.c:937,1
    - Dst: os_free
      Src: /src/hostap/src/pasn/pasn_initiator.c:942,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/pasn/pasn_initiator.c:946,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 52
    argCount: 1
    argNames:
    - pasn
    argTypes:
    - struct pasn_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 875
    functionDepth: 1
    functionLinenumber: 875
    functionLinenumberEnd: 948
    functionName: wpa_pasn_reset
    functionSourceFile: /src/hostap/src/pasn/pasn_initiator.c
    functionUses: 11
    functionsReached:
    - wpa_printf
    - crypto_ecdh_deinit
    - sae_deinit_pt
    - forced_memzero
    - wpabuf_free
    - sae_clear_data
    - os_free
    - os_memset
    linkageType: ''
    returnType: void
    signature: void wpa_pasn_reset(struct pasn_data *pasn)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/pasn/pasn_initiator.c:958,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:963,1
    - Dst: os_memcpy
      Src: /src/hostap/src/pasn/pasn_initiator.c:966,1
    - Dst: wpa_key_mgmt_ft
      Src: /src/hostap/src/pasn/pasn_initiator.c:971,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:973,1
    - Dst: os_memcpy
      Src: /src/hostap/src/pasn/pasn_initiator.c:975,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:979,1
    - Dst: struct pasn_data*::validate_custom_pmkid
      Src: /src/hostap/src/pasn/pasn_initiator.c:990,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:994,1
    - Dst: pmksa_cache_get
      Src: /src/hostap/src/pasn/pasn_initiator.c:1002,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:1006,1
    - Dst: os_memcpy
      Src: /src/hostap/src/pasn/pasn_initiator.c:1009,1
    - Dst: wpas_pasn_wd_sae_rx
      Src: /src/hostap/src/pasn/pasn_initiator.c:1021,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:1023,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:1029,1
    - Dst: os_memcpy
      Src: /src/hostap/src/pasn/pasn_initiator.c:1031,1
    - Dst: pmksa_cache_add
      Src: /src/hostap/src/pasn/pasn_initiator.c:1033,1
    - Dst: wpas_pasn_wd_fils_rx
      Src: /src/hostap/src/pasn/pasn_initiator.c:1050,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:1052,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:1063,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 62
    argCount: 4
    argNames:
    - pasn
    - rsn_data
    - pasn_data
    - wrapped_data
    argTypes:
    - struct pasn_data*
    - struct wpa_ie_data*
    - struct wpa_pasn_params_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 951
    functionDepth: 4
    functionLinenumber: 951
    functionLinenumberEnd: 1066
    functionName: wpas_pasn_set_pmk
    functionSourceFile: /src/hostap/src/pasn/pasn_initiator.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpas_pasn_wd_sae_rx
    - wpa_key_mgmt_ft
    - wpas_pasn_wd_fils_rx
    - struct pasn_data*::validate_custom_pmkid
    - pmksa_cache_add
    - pmksa_cache_get
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpas_pasn_set_pmk(struct pasn_data *pasn,\n\t\t\t     struct wpa_ie_data
      *rsn_data,\n\t\t\t     struct wpa_pasn_params_data *pasn_data,\n\t\t\t     struct
      wpabuf *wrapped_data)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: crypto_ecdh_init
      Src: /src/hostap/src/pasn/pasn_initiator.c:1079,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:1081,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/pasn/pasn_initiator.c:1086,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:1089,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/pasn/pasn_initiator.c:1094,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/pasn/pasn_initiator.c:1097,1
    - Dst: os_memcpy
      Src: /src/hostap/src/pasn/pasn_initiator.c:1106,1
    - Dst: os_memcpy
      Src: /src/hostap/src/pasn/pasn_initiator.c:1107,1
    - Dst: os_memcpy
      Src: /src/hostap/src/pasn/pasn_initiator.c:1108,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:1110,1
    - Dst: MAC2STR
      Src: /src/hostap/src/pasn/pasn_initiator.c:1113,1
    - Dst: wpas_pasn_build_auth_1
      Src: /src/hostap/src/pasn/pasn_initiator.c:1116,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:1118,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/pasn/pasn_initiator.c:1122,1
    - Dst: struct pasn_data*::send_mgmt
      Src: /src/hostap/src/pasn/pasn_initiator.c:1125,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/pasn/pasn_initiator.c:1126,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/pasn/pasn_initiator.c:1126,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:1130,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/pasn/pasn_initiator.c:1131,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 14
    argNames:
    - pasn
    - own_addr
    - peer_addr
    - bssid
    - akmp
    - cipher
    - group
    - freq
    - beacon_rsne
    - beacon_rsne_len
    - beacon_rsnxe
    - beacon_rsnxe_len
    - comeback
    - verify
    argTypes:
    - struct pasn_data*
    - u8*
    - u8*
    - u8*
    - int
    - int
    - u16
    - int
    - u8*
    - u8
    - u8*
    - u8
    - struct wpabuf*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1140
      start: 1069
    functionDepth: 5
    functionLinenumber: 1069
    functionLinenumberEnd: 1140
    functionName: wpas_pasn_send_auth_1
    functionSourceFile: /src/hostap/src/pasn/pasn_initiator.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - struct pasn_data*::send_mgmt
    - wpabuf_put_data
    - wpabuf_len
    - wpabuf_free
    - wpabuf_head
    - MAC2STR
    - wpabuf_alloc
    - crypto_ecdh_init
    - wpas_pasn_build_auth_1
    linkageType: ''
    returnType: int
    signature: "int wpas_pasn_send_auth_1(struct pasn_data *pasn, const u8 *own_addr,\n\t\t\t\t
      const u8 *peer_addr, const u8 *bssid, int akmp,\n\t\t\t\t int cipher, u16 group,
      int freq,\n\t\t\t\t const u8 *beacon_rsne, u8 beacon_rsne_len,\n\t\t\t\t const
      u8 *beacon_rsnxe, u8 beacon_rsnxe_len,\n\t\t\t\t const struct wpabuf *comeback,
      bool verify)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: dragonfly_suitable_group
      Src: /src/hostap/src/pasn/pasn_initiator.c:1151,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:1152,1
    - Dst: ieee802_11_rsnx_capab
      Src: /src/hostap/src/pasn/pasn_initiator.c:1169,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:1171,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:1192,1
    - Dst: wpas_pasn_send_auth_1
      Src: /src/hostap/src/pasn/pasn_initiator.c:1196,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 13
    argNames:
    - pasn
    - own_addr
    - peer_addr
    - bssid
    - akmp
    - cipher
    - group
    - freq
    - beacon_rsne
    - beacon_rsne_len
    - beacon_rsnxe
    - beacon_rsnxe_len
    - comeback
    argTypes:
    - struct pasn_data*
    - u8*
    - u8*
    - u8*
    - int
    - int
    - u16
    - int
    - u8*
    - u8
    - u8*
    - u8
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1143
    functionDepth: 6
    functionLinenumber: 1143
    functionLinenumberEnd: 1201
    functionName: wpas_pasn_start
    functionSourceFile: /src/hostap/src/pasn/pasn_initiator.c
    functionUses: 4
    functionsReached:
    - dragonfly_suitable_group
    - wpa_printf
    - ieee802_11_rsnx_capab
    - wpas_pasn_send_auth_1
    linkageType: ''
    returnType: int
    signature: "int wpas_pasn_start(struct pasn_data *pasn, const u8 *own_addr,\n\t\t
      \   const u8 *peer_addr, const u8 *bssid,\n\t\t    int akmp, int cipher, u16
      group,\n\t\t    int freq, const u8 *beacon_rsne, u8 beacon_rsne_len,\n\t\t    const
      u8 *beacon_rsnxe, u8 beacon_rsnxe_len,\n\t\t    const struct wpabuf *comeback)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpas_pasn_send_auth_1
      Src: /src/hostap/src/pasn/pasn_initiator.c:1221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 13
    argNames:
    - pasn
    - own_addr
    - peer_addr
    - bssid
    - akmp
    - cipher
    - group
    - freq
    - beacon_rsne
    - beacon_rsne_len
    - beacon_rsnxe
    - beacon_rsnxe_len
    - comeback
    argTypes:
    - struct pasn_data*
    - u8*
    - u8*
    - u8*
    - int
    - int
    - u16
    - int
    - u8*
    - u8
    - u8*
    - u8
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1214
    functionDepth: 6
    functionLinenumber: 1214
    functionLinenumberEnd: 1225
    functionName: wpa_pasn_verify
    functionSourceFile: /src/hostap/src/pasn/pasn_initiator.c
    functionUses: 2
    functionsReached:
    - wpas_pasn_send_auth_1
    linkageType: ''
    returnType: int
    signature: "int wpa_pasn_verify(struct pasn_data *pasn, const u8 *own_addr,\n\t\t
      \   const u8 *peer_addr, const u8 *bssid,\n\t\t    int akmp, int cipher, u16
      group,\n\t\t    int freq, const u8 *beacon_rsne, u8 beacon_rsne_len,\n\t\t    const
      u8 *beacon_rsnxe, u8 beacon_rsnxe_len,\n\t\t    const struct wpabuf *comeback)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: le_to_host16
      Src: /src/hostap/src/pasn/pasn_initiator.c:1238,1
    - Dst: WLAN_FC_GET_TYPE
      Src: /src/hostap/src/pasn/pasn_initiator.c:1239,1
    - Dst: WLAN_FC_GET_STYPE
      Src: /src/hostap/src/pasn/pasn_initiator.c:1240,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/pasn/pasn_initiator.c:1244,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/pasn/pasn_initiator.c:1247,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/pasn/pasn_initiator.c:1248,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/pasn/pasn_initiator.c:1251,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/pasn/pasn_initiator.c:1252,1
    - Dst: host_to_le16
      Src: /src/hostap/src/pasn/pasn_initiator.c:1256,1
    - Dst: host_to_le16
      Src: /src/hostap/src/pasn/pasn_initiator.c:1257,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 15
    argCount: 4
    argNames:
    - pasn
    - mgmt
    - len
    - rx
    argTypes:
    - struct pasn_data*
    - struct ieee80211_mgmt*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1261
      start: 1228
    functionDepth: 1
    functionLinenumber: 1228
    functionLinenumberEnd: 1261
    functionName: is_pasn_auth_frame
    functionSourceFile: /src/hostap/src/pasn/pasn_initiator.c
    functionUses: 0
    functionsReached:
    - WLAN_FC_GET_STYPE
    - ether_addr_equal
    - WLAN_FC_GET_TYPE
    - le_to_host16
    - host_to_le16
    linkageType: ''
    returnType: bool
    signature: "bool is_pasn_auth_frame(struct pasn_data *pasn,\n\t\t\t       const
      struct ieee80211_mgmt *mgmt,\n\t\t\t       size_t len, bool rx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:1277,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/pasn/pasn_initiator.c:1283,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/pasn/pasn_initiator.c:1288,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:1290,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - pasn
    - elems
    argTypes:
    - struct pasn_data*
    - struct ieee802_11_elems*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1292
      start: 1264
    functionDepth: 1
    functionLinenumber: 1264
    functionLinenumberEnd: 1292
    functionName: wpas_pasn_store_ap_supported_groups
    functionSourceFile: /src/hostap/src/pasn/pasn_initiator.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - WPA_GET_LE16
    - wpa_hexdump
    linkageType: ''
    returnType: void
    signature: "void wpas_pasn_store_ap_supported_groups(struct pasn_data *pasn,\n\t\t\t\t
      \   const struct ieee802_11_elems *elems)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:1301,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:1308,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - pasn
    argTypes:
    - struct pasn_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1316
      start: 1295
    functionDepth: 0
    functionLinenumber: 1295
    functionLinenumberEnd: 1316
    functionName: wpas_pasn_validate_supported_groups_rejection
    functionSourceFile: /src/hostap/src/pasn/pasn_initiator.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int wpas_pasn_validate_supported_groups_rejection(struct pasn_data
      *pasn)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:1326,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:1339,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:1348,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - pasn
    argTypes:
    - struct pasn_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1355
      start: 1319
    functionDepth: 0
    functionLinenumber: 1319
    functionLinenumberEnd: 1355
    functionName: wpas_pasn_validate_supported_groups
    functionSourceFile: /src/hostap/src/pasn/pasn_initiator.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int wpas_pasn_validate_supported_groups(struct pasn_data *pasn)
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:1373,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:1382,1
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/src/pasn/pasn_initiator.c:1387,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:1389,1
    - Dst: wpas_pasn_store_ap_supported_groups
      Src: /src/hostap/src/pasn/pasn_initiator.c:1394,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:1397,1
    - Dst: wpas_pasn_validate_supported_groups_rejection
      Src: /src/hostap/src/pasn/pasn_initiator.c:1400,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/pasn/pasn_initiator.c:1404,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:1412,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:1418,1
    - Dst: wpa_pasn_parse_parameter_ie
      Src: /src/hostap/src/pasn/pasn_initiator.c:1422,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:1426,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:1432,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:1436,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/pasn/pasn_initiator.c:1443,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:1455,1
    - Dst: wpa_parse_wpa_ie
      Src: /src/hostap/src/pasn/pasn_initiator.c:1459,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:1462,1
    - Dst: wpa_pasn_validate_rsne
      Src: /src/hostap/src/pasn/pasn_initiator.c:1466,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:1469,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:1475,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:1480,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:1485,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:1495,1
    - Dst: crypto_ecdh_set_peerkey
      Src: /src/hostap/src/pasn/pasn_initiator.c:1501,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:1506,1
    - Dst: ieee802_11_defrag
      Src: /src/hostap/src/pasn/pasn_initiator.c:1511,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:1516,1
    - Dst: wpas_pasn_set_pmk
      Src: /src/hostap/src/pasn/pasn_initiator.c:1521,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:1523,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:1528,1
    - Dst: wpa_kek_len
      Src: /src/hostap/src/pasn/pasn_initiator.c:1530,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:1532,1
    - Dst: pasn_pmk_to_ptk
      Src: /src/hostap/src/pasn/pasn_initiator.c:1535,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/pasn/pasn_initiator.c:1537,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/pasn/pasn_initiator.c:1537,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:1542,1
    - Dst: wpa_ltf_keyseed
      Src: /src/hostap/src/pasn/pasn_initiator.c:1547,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:1549,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/pasn/pasn_initiator.c:1555,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/pasn/pasn_initiator.c:1557,1
    - Dst: pasn_mic_len
      Src: /src/hostap/src/pasn/pasn_initiator.c:1561,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:1564,1
    - Dst: os_memcpy
      Src: /src/hostap/src/pasn/pasn_initiator.c:1569,1
    - Dst: os_malloc
      Src: /src/hostap/src/pasn/pasn_initiator.c:1579,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/pasn/pasn_initiator.c:1583,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/pasn/pasn_initiator.c:1584,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/pasn/pasn_initiator.c:1585,1
    - Dst: os_memcpy
      Src: /src/hostap/src/pasn/pasn_initiator.c:1586,1
    - Dst: os_memset
      Src: /src/hostap/src/pasn/pasn_initiator.c:1591,1
    - Dst: pasn_mic
      Src: /src/hostap/src/pasn/pasn_initiator.c:1595,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/pasn/pasn_initiator.c:1597,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/pasn/pasn_initiator.c:1598,1
    - Dst: os_zalloc
      Src: /src/hostap/src/pasn/pasn_initiator.c:1615,1
    - Dst: os_memcpy
      Src: /src/hostap/src/pasn/pasn_initiator.c:1620,1
    - Dst: os_memcpy
      Src: /src/hostap/src/pasn/pasn_initiator.c:1623,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/pasn/pasn_initiator.c:1626,1
    - Dst: pasn_mic
      Src: /src/hostap/src/pasn/pasn_initiator.c:1630,1
    - Dst: os_free
      Src: /src/hostap/src/pasn/pasn_initiator.c:1636,1
    - Dst: os_free
      Src: /src/hostap/src/pasn/pasn_initiator.c:1638,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/pasn/pasn_initiator.c:1641,1
    - Dst: os_memcmp
      Src: /src/hostap/src/pasn/pasn_initiator.c:1642,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:1643,1
    - Dst: wpas_pasn_validate_supported_groups
      Src: /src/hostap/src/pasn/pasn_initiator.c:1647,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:1652,1
    - Dst: pasn_parse_encrypted_data
      Src: /src/hostap/src/pasn/pasn_initiator.c:1654,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:1655,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/pasn/pasn_initiator.c:1662,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/pasn/pasn_initiator.c:1663,1
    - Dst: os_free
      Src: /src/hostap/src/pasn/pasn_initiator.c:1664,1
    CyclomaticComplexity: 84
    EdgeCount: 84
    ICount: 211
    argCount: 7
    argNames:
    - pasn
    - auth_type
    - auth_transaction
    - status
    - auth_data
    - auth_data_len
    - pasn_params
    argTypes:
    - struct pasn_data*
    - u16
    - u16
    - u16
    - u8*
    - size_t
    - struct wpa_pasn_params_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1666
      start: 1358
    functionDepth: 5
    functionLinenumber: 1358
    functionLinenumberEnd: 1666
    functionName: wpas_parse_pasn_frame
    functionSourceFile: /src/hostap/src/pasn/pasn_initiator.c
    functionUses: 1
    functionsReached:
    - wpa_pasn_validate_rsne
    - crypto_ecdh_set_peerkey
    - wpas_pasn_store_ap_supported_groups
    - pasn_mic_len
    - wpa_printf
    - wpa_ltf_keyseed
    - ieee802_11_parse_elems
    - os_memcmp
    - os_free
    - pasn_parse_encrypted_data
    - pasn_pmk_to_ptk
    - wpa_kek_len
    - ieee802_11_defrag
    - WPA_PUT_LE16
    - wpa_hexdump_key
    - wpabuf_len
    - os_malloc
    - wpabuf_alloc_copy
    - wpabuf_head
    - pasn_mic
    - wpas_pasn_validate_supported_groups
    - wpas_pasn_validate_supported_groups_rejection
    - os_memset
    - os_memcpy
    - wpa_pasn_parse_parameter_ie
    - wpabuf_free
    - wpa_parse_wpa_ie
    - os_zalloc
    - wpas_pasn_set_pmk
    - ARRAY_SIZE
    linkageType: ''
    returnType: int
    signature: "int wpas_parse_pasn_frame(struct pasn_data *pasn, u16 auth_type,\n\t\t\t
      \ u16 auth_transaction, u16 status,\n\t\t\t  const u8 *auth_data, size_t auth_data_len,\n\t\t\t
      \ struct wpa_pasn_params_data *pasn_params)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: is_pasn_auth_frame
      Src: /src/hostap/src/pasn/pasn_initiator.c:1678,1
    - Dst: le_to_host16
      Src: /src/hostap/src/pasn/pasn_initiator.c:1681,1
    - Dst: wpas_parse_pasn_frame
      Src: /src/hostap/src/pasn/pasn_initiator.c:1683,1
    - Dst: le_to_host16
      Src: /src/hostap/src/pasn/pasn_initiator.c:1683,1
    - Dst: le_to_host16
      Src: /src/hostap/src/pasn/pasn_initiator.c:1684,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:1691,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:1699,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:1704,1
    - Dst: wpas_pasn_build_auth_3
      Src: /src/hostap/src/pasn/pasn_initiator.c:1710,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:1712,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/pasn/pasn_initiator.c:1716,1
    - Dst: struct pasn_data*::send_mgmt
      Src: /src/hostap/src/pasn/pasn_initiator.c:1719,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/pasn/pasn_initiator.c:1720,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/pasn/pasn_initiator.c:1720,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:1723,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/pasn/pasn_initiator.c:1724,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:1729,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:1735,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 4
    argNames:
    - pasn
    - data
    - len
    - pasn_params
    argTypes:
    - struct pasn_data*
    - u8*
    - size_t
    - struct wpa_pasn_params_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1748
      start: 1669
    functionDepth: 6
    functionLinenumber: 1669
    functionLinenumberEnd: 1748
    functionName: wpa_pasn_auth_rx
    functionSourceFile: /src/hostap/src/pasn/pasn_initiator.c
    functionUses: 4
    functionsReached:
    - wpa_printf
    - struct pasn_data*::send_mgmt
    - wpas_pasn_build_auth_3
    - wpabuf_len
    - wpabuf_free
    - wpabuf_head
    - le_to_host16
    - is_pasn_auth_frame
    - wpas_parse_pasn_frame
    linkageType: ''
    returnType: int
    signature: "int wpa_pasn_auth_rx(struct pasn_data *pasn, const u8 *data, size_t
      len,\n\t\t     struct wpa_pasn_params_data *pasn_params)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:1758,1
    - Dst: is_pasn_auth_frame
      Src: /src/hostap/src/pasn/pasn_initiator.c:1760,1
    - Dst: host_to_le16
      Src: /src/hostap/src/pasn/pasn_initiator.c:1763,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:1764,1
    - Dst: le_to_host16
      Src: /src/hostap/src/pasn/pasn_initiator.c:1767,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:1771,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_initiator.c:1781,1
    - Dst: MAC2STR
      Src: /src/hostap/src/pasn/pasn_initiator.c:1782,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - pasn
    - data
    - data_len
    - acked
    argTypes:
    - struct pasn_data*
    - u8*
    - size_t
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1794
      start: 1751
    functionDepth: 2
    functionLinenumber: 1751
    functionLinenumberEnd: 1794
    functionName: wpa_pasn_auth_tx_status
    functionSourceFile: /src/hostap/src/pasn/pasn_initiator.c
    functionUses: 3
    functionsReached:
    - wpa_printf
    - MAC2STR
    - le_to_host16
    - is_pasn_auth_frame
    - host_to_le16
    linkageType: ''
    returnType: int
    signature: "int wpa_pasn_auth_tx_status(struct pasn_data *pasn,\n\t\t\t    const
      u8 *data, size_t data_len, u8 acked)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/pasn/pasn_common.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: pasn_data_init
    functionSourceFile: /src/hostap/src/pasn/pasn_common.c
    functionUses: 5
    functionsReached:
    - os_zalloc
    linkageType: ''
    returnType: struct pasn_data
    signature: struct pasn_data * pasn_data_init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/pasn/pasn_common.c:35,1
    - Dst: os_free
      Src: /src/hostap/src/pasn/pasn_common.c:36,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/pasn/pasn_common.c:37,1
    - Dst: os_free
      Src: /src/hostap/src/pasn/pasn_common.c:38,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/pasn/pasn_common.c:39,1
    - Dst: os_free
      Src: /src/hostap/src/pasn/pasn_common.c:40,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/pasn/pasn_common.c:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - pasn
    argTypes:
    - struct pasn_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 42
    functionName: pasn_data_deinit
    functionSourceFile: /src/hostap/src/pasn/pasn_common.c
    functionUses: 5
    functionsReached:
    - os_free
    - wpabuf_free
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: void pasn_data_deinit(struct pasn_data *pasn)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - pasn
    - cb_ctx
    - "(*pmksa_cache_search)(void *ctx, const u8 *spa,\n\t\t\t\t\t\t   const u8 *pmkid,
      bool is_ml)"
    argTypes:
    - struct pasn_data*
    - void*
    - struct rsn_pmksa_cache_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 71
    functionName: pasn_register_callbacks
    functionSourceFile: /src/hostap/src/pasn/pasn_common.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void pasn_register_callbacks(struct pasn_data *pasn, void *cb_ctx,\n\t\t\t
      \    int (*send_mgmt)(void *ctx, const u8 *data,\n\t\t\t\t\t      size_t data_len,
      int noack,\n\t\t\t\t\t      unsigned int freq,\n\t\t\t\t\t      unsigned int
      wait),\n\t\t\t     int (*validate_custom_pmkid)(void *ctx,\n\t\t\t\t\t\t\t  const
      u8 *addr,\n\t\t\t\t\t\t\t  const u8 *pmkid),\n\t\t\t     int (*eppke_set_key)(void
      *ctx, enum wpa_alg alg,\n\t\t\t\t\t\t  const u8 *addr, int vlan_id,\n\t\t\t\t\t\t
      \ const u8 *key,\n\t\t\t\t\t\t  size_t key_len),\n\t\t\t     struct rsn_pmksa_cache_entry
      *\n\t\t\t     (*pmksa_cache_search)(void *ctx, const u8 *spa,\n\t\t\t\t\t\t
      \  const u8 *pmkid, bool is_ml))"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pasn
    argTypes:
    - struct pasn_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: pasn_enable_kdk_derivation
    functionSourceFile: /src/hostap/src/pasn/pasn_common.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pasn_enable_kdk_derivation(struct pasn_data *pasn)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pasn
    argTypes:
    - struct pasn_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: pasn_disable_kdk_derivation
    functionSourceFile: /src/hostap/src/pasn/pasn_common.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pasn_disable_kdk_derivation(struct pasn_data *pasn)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pasn
    - akmp
    argTypes:
    - struct pasn_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: pasn_set_akmp
    functionSourceFile: /src/hostap/src/pasn/pasn_common.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pasn_set_akmp(struct pasn_data *pasn, int akmp)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pasn
    - cipher
    argTypes:
    - struct pasn_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 105
    functionName: pasn_set_cipher
    functionSourceFile: /src/hostap/src/pasn/pasn_common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pasn_set_cipher(struct pasn_data *pasn, int cipher)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/pasn/pasn_common.c:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - pasn
    - addr
    argTypes:
    - struct pasn_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 113
    functionName: pasn_set_own_addr
    functionSourceFile: /src/hostap/src/pasn/pasn_common.c
    functionUses: 2
    functionsReached:
    - os_memcpy
    linkageType: ''
    returnType: void
    signature: void pasn_set_own_addr(struct pasn_data *pasn, const u8 *addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/pasn/pasn_common.c:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - pasn
    - addr
    argTypes:
    - struct pasn_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 122
    functionName: pasn_set_own_mld_addr
    functionSourceFile: /src/hostap/src/pasn/pasn_common.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    linkageType: ''
    returnType: void
    signature: void pasn_set_own_mld_addr(struct pasn_data *pasn, const u8 *addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/pasn/pasn_common.c:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - pasn
    - addr
    argTypes:
    - struct pasn_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 131
    functionName: pasn_set_peer_addr
    functionSourceFile: /src/hostap/src/pasn/pasn_common.c
    functionUses: 2
    functionsReached:
    - os_memcpy
    linkageType: ''
    returnType: void
    signature: void pasn_set_peer_addr(struct pasn_data *pasn, const u8 *addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/pasn/pasn_common.c:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - pasn
    - addr
    argTypes:
    - struct pasn_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 139
    functionName: pasn_set_bssid
    functionSourceFile: /src/hostap/src/pasn/pasn_common.c
    functionUses: 2
    functionsReached:
    - os_memcpy
    linkageType: ''
    returnType: void
    signature: void pasn_set_bssid(struct pasn_data *pasn, const u8 *addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pasn
    - pt
    argTypes:
    - struct pasn_data*
    - struct sae_pt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 152
    functionName: pasn_set_pt
    functionSourceFile: /src/hostap/src/pasn/pasn_common.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pasn_set_pt(struct pasn_data *pasn, struct sae_pt *pt)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pasn
    - key_mgmt
    argTypes:
    - struct pasn_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 160
    functionName: pasn_set_wpa_key_mgmt
    functionSourceFile: /src/hostap/src/pasn/pasn_common.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pasn_set_wpa_key_mgmt(struct pasn_data *pasn, int key_mgmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - pasn
    - mfp
    argTypes:
    - struct pasn_data*
    - enum mfp_options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: pasn_set_mfp
    functionSourceFile: /src/hostap/src/pasn/pasn_common.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pasn_set_mfp(struct pasn_data *pasn, enum mfp_options mfp)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pasn
    - rsn_pairwise
    argTypes:
    - struct pasn_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 175
    functionName: pasn_set_rsn_pairwise
    functionSourceFile: /src/hostap/src/pasn/pasn_common.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pasn_set_rsn_pairwise(struct pasn_data *pasn, int rsn_pairwise)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pasn
    - rsnxe_capab
    argTypes:
    - struct pasn_data*
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 183
    functionName: pasn_set_rsnxe_caps
    functionSourceFile: /src/hostap/src/pasn/pasn_common.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pasn_set_rsnxe_caps(struct pasn_data *pasn, u64 rsnxe_capab)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/pasn/pasn_common.c:190,1
    - Dst: os_memdup
      Src: /src/hostap/src/pasn/pasn_common.c:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pasn
    - rsnxe_ie
    argTypes:
    - struct pasn_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 192
    functionName: pasn_set_rsnxe_ie
    functionSourceFile: /src/hostap/src/pasn/pasn_common.c
    functionUses: 3
    functionsReached:
    - os_free
    - os_memdup
    linkageType: ''
    returnType: void
    signature: void pasn_set_rsnxe_ie(struct pasn_data *pasn, const u8 *rsnxe_ie)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/pasn/pasn_common.c:199,1
    - Dst: os_memdup
      Src: /src/hostap/src/pasn/pasn_common.c:200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pasn
    - rsne
    argTypes:
    - struct pasn_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 202
    functionName: pasn_set_rsne
    functionSourceFile: /src/hostap/src/pasn/pasn_common.c
    functionUses: 3
    functionsReached:
    - os_free
    - os_memdup
    linkageType: ''
    returnType: void
    signature: void pasn_set_rsne(struct pasn_data *pasn, const u8 *rsne)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/pasn/pasn_common.c:209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pasn
    - pmkid
    argTypes:
    - struct pasn_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 211
    functionName: pasn_set_custom_pmkid
    functionSourceFile: /src/hostap/src/pasn/pasn_common.c
    functionUses: 3
    functionsReached:
    - os_memcpy
    linkageType: ''
    returnType: void
    signature: void pasn_set_custom_pmkid(struct pasn_data *pasn, const u8 *pmkid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/pasn/pasn_common.c:221,1
    - Dst: os_memdup
      Src: /src/hostap/src/pasn/pasn_common.c:225,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_common.c:227,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - pasn
    - extra_ies
    - extra_ies_len
    argTypes:
    - struct pasn_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 233
    functionName: pasn_set_extra_ies
    functionSourceFile: /src/hostap/src/pasn/pasn_common.c
    functionUses: 3
    functionsReached:
    - os_free
    - os_memdup
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int pasn_set_extra_ies(struct pasn_data *pasn, const u8 *extra_ies,\n\t\t
      \      size_t extra_ies_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pasn
    - noauth
    argTypes:
    - struct pasn_data*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 241
    functionName: pasn_set_noauth
    functionSourceFile: /src/hostap/src/pasn/pasn_common.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pasn_set_noauth(struct pasn_data *pasn, bool noauth)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pasn
    argTypes:
    - struct pasn_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 249
    functionName: pasn_get_akmp
    functionSourceFile: /src/hostap/src/pasn/pasn_common.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pasn_get_akmp(struct pasn_data *pasn)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pasn
    argTypes:
    - struct pasn_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 257
    functionName: pasn_get_cipher
    functionSourceFile: /src/hostap/src/pasn/pasn_common.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pasn_get_cipher(struct pasn_data *pasn)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pasn
    argTypes:
    - struct pasn_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 265
    functionName: pasn_get_pmk_len
    functionSourceFile: /src/hostap/src/pasn/pasn_common.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t pasn_get_pmk_len(struct pasn_data *pasn)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pasn
    argTypes:
    - struct pasn_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 273
    functionName: pasn_get_pmk
    functionSourceFile: /src/hostap/src/pasn/pasn_common.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 * pasn_get_pmk(struct pasn_data *pasn)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pasn
    argTypes:
    - struct pasn_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 281
    functionName: pasn_get_ptk
    functionSourceFile: /src/hostap/src/pasn/pasn_common.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: struct wpa_ptk
    signature: struct wpa_ptk * pasn_get_ptk(struct pasn_data *pasn)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_common.c:293,1
    - Dst: os_zalloc
      Src: /src/hostap/src/pasn/pasn_common.c:300,1
    - Dst: os_memcpy
      Src: /src/hostap/src/pasn/pasn_common.c:303,1
    - Dst: os_malloc
      Src: /src/hostap/src/pasn/pasn_common.c:309,1
    - Dst: os_free
      Src: /src/hostap/src/pasn/pasn_common.c:311,1
    - Dst: aes_wrap
      Src: /src/hostap/src/pasn/pasn_common.c:315,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_common.c:318,1
    - Dst: wpabuf_tailroom
      Src: /src/hostap/src/pasn/pasn_common.c:322,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_common.c:323,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/pasn/pasn_common.c:329,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/pasn/pasn_common.c:330,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/pasn/pasn_common.c:332,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/pasn/pasn_common.c:334,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/pasn/pasn_common.c:335,1
    - Dst: os_free
      Src: /src/hostap/src/pasn/pasn_common.c:338,1
    - Dst: os_free
      Src: /src/hostap/src/pasn/pasn_common.c:339,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 43
    argCount: 4
    argNames:
    - pasn
    - buf
    - data
    - data_len
    argTypes:
    - struct pasn_data*
    - struct wpabuf*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 341
    functionName: pasn_add_encrypted_data
    functionSourceFile: /src/hostap/src/pasn/pasn_common.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpabuf_put
    - wpabuf_put_u8
    - wpabuf_put_data
    - os_malloc
    - aes_wrap
    - wpabuf_tailroom
    - os_zalloc
    - os_free
    linkageType: ''
    returnType: int
    signature: "int pasn_add_encrypted_data(struct pasn_data *pasn, struct wpabuf
      *buf,\n\t\t\t    const u8 *data, size_t data_len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/src/pasn/pasn_common.c:351,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_common.c:352,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_common.c:359,1
    - Dst: os_malloc
      Src: /src/hostap/src/pasn/pasn_common.c:365,1
    - Dst: aes_unwrap
      Src: /src/hostap/src/pasn/pasn_common.c:369,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_common.c:372,1
    - Dst: struct pasn_data*::parse_data_element
      Src: /src/hostap/src/pasn/pasn_common.c:374,1
    - Dst: os_free
      Src: /src/hostap/src/pasn/pasn_common.c:376,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 3
    argNames:
    - pasn
    - data
    - len
    argTypes:
    - struct pasn_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 378
    functionName: pasn_parse_encrypted_data
    functionSourceFile: /src/hostap/src/pasn/pasn_common.c
    functionUses: 1
    functionsReached:
    - struct pasn_data*::parse_data_element
    - wpa_printf
    - aes_unwrap
    - os_malloc
    - ieee802_11_parse_elems
    - os_free
    linkageType: ''
    returnType: int
    signature: "int pasn_parse_encrypted_data(struct pasn_data *pasn, const u8 *data,\n\t\t\t
      \     size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pmksa_cache_auth_init
      Src: /src/hostap/src/pasn/pasn_responder.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: pasn_responder_pmksa_cache_init
    functionSourceFile: /src/hostap/src/pasn/pasn_responder.c
    functionUses: 2
    functionsReached:
    - pmksa_cache_auth_init
    linkageType: ''
    returnType: struct rsn_pmksa_cache
    signature: struct rsn_pmksa_cache * pasn_responder_pmksa_cache_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pmksa_cache_auth_deinit
      Src: /src/hostap/src/pasn/pasn_responder.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pmksa
    argTypes:
    - struct rsn_pmksa_cache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: pasn_responder_pmksa_cache_deinit
    functionSourceFile: /src/hostap/src/pasn/pasn_responder.c
    functionUses: 2
    functionsReached:
    - pmksa_cache_auth_deinit
    linkageType: ''
    returnType: void
    signature: void pasn_responder_pmksa_cache_deinit(struct rsn_pmksa_cache *pmksa)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pmksa_cache_auth_add
      Src: /src/hostap/src/pasn/pasn_responder.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 7
    argNames:
    - pmksa
    - own_addr
    - bssid
    - pmk
    - pmk_len
    - pmkid
    - akmp
    argTypes:
    - struct rsn_pmksa_cache*
    - u8*
    - u8*
    - u8*
    - size_t
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 52
    functionName: pasn_responder_pmksa_cache_add
    functionSourceFile: /src/hostap/src/pasn/pasn_responder.c
    functionUses: 2
    functionsReached:
    - pmksa_cache_auth_add
    linkageType: ''
    returnType: int
    signature: "int pasn_responder_pmksa_cache_add(struct rsn_pmksa_cache *pmksa,\n\t\t\t\t
      \  const u8 *own_addr, const u8 *bssid,\n\t\t\t\t   const u8 *pmk, size_t pmk_len,\n\t\t\t\t
      \  const u8 *pmkid, int akmp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pmksa_cache_auth_get
      Src: /src/hostap/src/pasn/pasn_responder.c:61,1
    - Dst: os_memcpy
      Src: /src/hostap/src/pasn/pasn_responder.c:63,1
    - Dst: os_memcpy
      Src: /src/hostap/src/pasn/pasn_responder.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - pmksa
    - bssid
    - pmkid
    - pmk
    - pmk_len
    argTypes:
    - struct rsn_pmksa_cache*
    - u8*
    - u8*
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 69
    functionName: pasn_responder_pmksa_cache_get
    functionSourceFile: /src/hostap/src/pasn/pasn_responder.c
    functionUses: 3
    functionsReached:
    - pmksa_cache_auth_get
    - os_memcpy
    linkageType: ''
    returnType: int
    signature: "int pasn_responder_pmksa_cache_get(struct rsn_pmksa_cache *pmksa,\n\t\t\t\t
      \  const u8 *bssid, u8 *pmkid, u8 *pmk,\n\t\t\t\t   size_t *pmk_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pmksa_cache_auth_get
      Src: /src/hostap/src/pasn/pasn_responder.c:77,1
    - Dst: pmksa_cache_free_entry
      Src: /src/hostap/src/pasn/pasn_responder.c:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pmksa
    - bssid
    argTypes:
    - struct rsn_pmksa_cache*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 82
    functionName: pasn_responder_pmksa_cache_remove
    functionSourceFile: /src/hostap/src/pasn/pasn_responder.c
    functionUses: 0
    functionsReached:
    - pmksa_cache_auth_get
    - pmksa_cache_free_entry
    linkageType: ''
    returnType: void
    signature: "void pasn_responder_pmksa_cache_remove(struct rsn_pmksa_cache *pmksa,\n\t\t\t\t
      \      const u8 *bssid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pmksa_cache_auth_flush
      Src: /src/hostap/src/pasn/pasn_responder.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pmksa
    argTypes:
    - struct rsn_pmksa_cache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: pasn_responder_pmksa_cache_flush
    functionSourceFile: /src/hostap/src/pasn/pasn_responder.c
    functionUses: 0
    functionsReached:
    - pmksa_cache_auth_flush
    linkageType: ''
    returnType: void
    signature: void pasn_responder_pmksa_cache_flush(struct rsn_pmksa_cache *pmksa)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - pasn
    - pmksa
    argTypes:
    - struct pasn_data*
    - struct rsn_pmksa_cache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 96
    functionName: pasn_set_responder_pmksa
    functionSourceFile: /src/hostap/src/pasn/pasn_responder.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void pasn_set_responder_pmksa(struct pasn_data *pasn,\n\t\t\t      struct
      rsn_pmksa_cache *pmksa)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/pasn/pasn_responder.c:116,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/pasn/pasn_responder.c:117,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_responder.c:120,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/pasn/pasn_responder.c:125,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/pasn/pasn_responder.c:126,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/pasn/pasn_responder.c:127,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_responder.c:129,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_responder.c:134,1
    - Dst: sae_clear_data
      Src: /src/hostap/src/pasn/pasn_responder.c:138,1
    - Dst: sae_set_group
      Src: /src/hostap/src/pasn/pasn_responder.c:141,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_responder.c:143,1
    - Dst: sae_parse_commit
      Src: /src/hostap/src/pasn/pasn_responder.c:149,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_responder.c:152,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_responder.c:168,1
    - Dst: struct pasn_data*::get_pt_for_pw_id
      Src: /src/hostap/src/pasn/pasn_responder.c:173,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_responder.c:179,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_responder.c:184,1
    - Dst: os_free
      Src: /src/hostap/src/pasn/pasn_responder.c:187,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_responder.c:193,1
    - Dst: sae_prepare_commit_pt
      Src: /src/hostap/src/pasn/pasn_responder.c:202,1
    - Dst: sae_deinit_pt
      Src: /src/hostap/src/pasn/pasn_responder.c:205,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_responder.c:207,1
    - Dst: sae_process_commit
      Src: /src/hostap/src/pasn/pasn_responder.c:212,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_responder.c:214,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 65
    argCount: 4
    argNames:
    - pasn
    - own_addr
    - peer_addr
    - wd
    argTypes:
    - struct pasn_data*
    - u8*
    - u8*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 221
    functionName: pasn_wd_handle_sae_commit
    functionSourceFile: /src/hostap/src/pasn/pasn_responder.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - sae_deinit_pt
    - wpabuf_head_u8
    - sae_set_group
    - sae_process_commit
    - wpabuf_len
    - WPA_GET_LE16
    - sae_clear_data
    - struct pasn_data*::get_pt_for_pw_id
    - os_free
    - sae_parse_commit
    - sae_prepare_commit_pt
    linkageType: ''
    returnType: int
    signature: "int pasn_wd_handle_sae_commit(struct pasn_data *pasn,\n\t\t\t\t     const
      u8 *own_addr, const u8 *peer_addr,\n\t\t\t\t     struct wpabuf *wd)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/pasn/pasn_responder.c:234,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/pasn/pasn_responder.c:235,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_responder.c:238,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/pasn/pasn_responder.c:243,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/pasn/pasn_responder.c:244,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/pasn/pasn_responder.c:245,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_responder.c:247,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_responder.c:251,1
    - Dst: sae_check_confirm
      Src: /src/hostap/src/pasn/pasn_responder.c:255,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_responder.c:257,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/pasn/pasn_responder.c:271,1
    - Dst: os_memcpy
      Src: /src/hostap/src/pasn/pasn_responder.c:278,1
    - Dst: pmksa_cache_auth_add
      Src: /src/hostap/src/pasn/pasn_responder.c:280,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 3
    argNames:
    - pasn
    - peer_addr
    - wd
    argTypes:
    - struct pasn_data*
    - u8*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 284
    functionName: pasn_wd_handle_sae_confirm
    functionSourceFile: /src/hostap/src/pasn/pasn_responder.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump_key
    - os_memcpy
    - wpabuf_head_u8
    - pmksa_cache_auth_add
    - wpabuf_len
    - WPA_GET_LE16
    - sae_check_confirm
    linkageType: ''
    returnType: int
    signature: "int pasn_wd_handle_sae_confirm(struct pasn_data *pasn,\n\t\t\t\t      const
      u8 *peer_addr, struct wpabuf *wd)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/pasn/pasn_responder.c:296,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_responder.c:298,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/pasn/pasn_responder.c:303,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/pasn/pasn_responder.c:304,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/pasn/pasn_responder.c:305,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/pasn/pasn_responder.c:306,1
    - Dst: sae_write_commit
      Src: /src/hostap/src/pasn/pasn_responder.c:319,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/pasn/pasn_responder.c:320,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/pasn/pasn_responder.c:321,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/pasn/pasn_responder.c:324,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/pasn/pasn_responder.c:325,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/pasn/pasn_responder.c:326,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/pasn/pasn_responder.c:327,1
    - Dst: sae_write_confirm
      Src: /src/hostap/src/pasn/pasn_responder.c:329,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/pasn/pasn_responder.c:330,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/pasn/pasn_responder.c:330,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 1
    argNames:
    - pasn
    argTypes:
    - struct pasn_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 335
    functionName: pasn_get_sae_wd
    functionSourceFile: /src/hostap/src/pasn/pasn_responder.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put
    - wpabuf_len
    - wpabuf_put_le16
    - wpabuf_alloc
    - sae_write_confirm
    - WPA_PUT_LE16
    - sae_write_commit
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * pasn_get_sae_wd(struct pasn_data *pasn)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_responder.c:348,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/pasn/pasn_responder.c:352,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/pasn/pasn_responder.c:357,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/pasn/pasn_responder.c:360,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/pasn/pasn_responder.c:363,1
    - Dst: wpa_pasn_add_rsne
      Src: /src/hostap/src/pasn/pasn_responder.c:366,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/pasn/pasn_responder.c:369,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/pasn/pasn_responder.c:370,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/pasn/pasn_responder.c:371,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/pasn/pasn_responder.c:372,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/pasn/pasn_responder.c:375,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/pasn/pasn_responder.c:376,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/pasn/pasn_responder.c:377,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/pasn/pasn_responder.c:378,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/pasn/pasn_responder.c:381,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/pasn/pasn_responder.c:382,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/pasn/pasn_responder.c:382,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/pasn/pasn_responder.c:383,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/pasn/pasn_responder.c:384,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - pasn
    argTypes:
    - struct pasn_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 387
    functionName: pasn_get_fils_wd
    functionSourceFile: /src/hostap/src/pasn/pasn_responder.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put_u8
    - wpabuf_put_data
    - wpabuf_len
    - wpa_pasn_add_rsne
    - wpabuf_put_le16
    - wpabuf_alloc
    - wpabuf_put_buf
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * pasn_get_fils_wd(struct pasn_data *pasn)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: pasn_get_sae_wd
      Src: /src/hostap/src/pasn/pasn_responder.c:406,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_responder.c:408,1
    - Dst: pasn_get_fils_wd
      Src: /src/hostap/src/pasn/pasn_responder.c:415,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_responder.c:422,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 1
    argNames:
    - pasn
    argTypes:
    - struct pasn_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 391
    functionDepth: 2
    functionLinenumber: 391
    functionLinenumberEnd: 427
    functionName: pasn_get_wrapped_data
    functionSourceFile: /src/hostap/src/pasn/pasn_responder.c
    functionUses: 2
    functionsReached:
    - pasn_get_fils_wd
    - pasn_get_sae_wd
    - wpa_printf
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * pasn_get_wrapped_data(struct pasn_data *pasn)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/pasn/pasn_responder.c:443,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_responder.c:447,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_responder.c:450,1
    - Dst: os_memcpy
      Src: /src/hostap/src/pasn/pasn_responder.c:453,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_responder.c:456,1
    - Dst: os_memcpy
      Src: /src/hostap/src/pasn/pasn_responder.c:459,1
    - Dst: os_memcpy
      Src: /src/hostap/src/pasn/pasn_responder.c:467,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_responder.c:474,1
    - Dst: os_memcpy
      Src: /src/hostap/src/pasn/pasn_responder.c:481,1
    - Dst: wpa_kek_len
      Src: /src/hostap/src/pasn/pasn_responder.c:489,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_responder.c:491,1
    - Dst: pasn_pmk_to_ptk
      Src: /src/hostap/src/pasn/pasn_responder.c:495,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/pasn/pasn_responder.c:496,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/pasn/pasn_responder.c:496,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_responder.c:502,1
    - Dst: wpa_ltf_keyseed
      Src: /src/hostap/src/pasn/pasn_responder.c:507,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_responder.c:510,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_responder.c:516,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 51
    argCount: 8
    argNames:
    - pasn
    - own_addr
    - peer_addr
    - cached_pmk
    - cached_pmk_len
    - pasn_data
    - wrapped_data
    - secret
    argTypes:
    - struct pasn_data*
    - u8*
    - u8*
    - u8*
    - size_t
    - struct wpa_pasn_params_data*
    - struct wpabuf*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 518
    functionName: pasn_derive_keys
    functionSourceFile: /src/hostap/src/pasn/pasn_responder.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_ltf_keyseed
    - wpabuf_len
    - wpabuf_head
    - pasn_pmk_to_ptk
    - wpa_kek_len
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int pasn_derive_keys(struct pasn_data *pasn,\n\t\t const u8 *own_addr,
      const u8 *peer_addr,\n\t\t const u8 *cached_pmk, size_t cached_pmk_len,\n\t\t
      struct wpa_pasn_params_data *pasn_data,\n\t\t struct wpabuf *wrapped_data,\n\t\t
      struct wpabuf *secret)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_responder.c:528,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/pasn/pasn_responder.c:532,1
    - Dst: wpa_pasn_build_auth_header
      Src: /src/hostap/src/pasn/pasn_responder.c:536,1
    - Dst: auth_build_token_req
      Src: /src/hostap/src/pasn/pasn_responder.c:544,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_responder.c:550,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/pasn/pasn_responder.c:552,1
    - Dst: wpa_pasn_add_parameter_ie
      Src: /src/hostap/src/pasn/pasn_responder.c:556,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/pasn/pasn_responder.c:560,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_responder.c:562,1
    - Dst: MAC2STR
      Src: /src/hostap/src/pasn/pasn_responder.c:563,1
    - Dst: struct pasn_data*::send_mgmt
      Src: /src/hostap/src/pasn/pasn_responder.c:565,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/pasn/pasn_responder.c:565,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/pasn/pasn_responder.c:566,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_responder.c:568,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/pasn/pasn_responder.c:570,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 4
    argNames:
    - pasn
    - own_addr
    - peer_addr
    - group
    argTypes:
    - struct pasn_data*
    - u8*
    - u8*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 521
    functionDepth: 2
    functionLinenumber: 521
    functionLinenumberEnd: 571
    functionName: handle_auth_pasn_comeback
    functionSourceFile: /src/hostap/src/pasn/pasn_responder.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - struct pasn_data*::send_mgmt
    - wpabuf_head_u8
    - wpa_pasn_build_auth_header
    - wpabuf_len
    - wpabuf_free
    - wpa_pasn_add_parameter_ie
    - auth_build_token_req
    - MAC2STR
    - wpabuf_alloc
    linkageType: ''
    returnType: void
    signature: "void handle_auth_pasn_comeback(struct pasn_data *pasn,\n\t\t\t\t      const
      u8 *own_addr, const u8 *peer_addr,\n\t\t\t\t      u16 group)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_responder.c:589,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/pasn/pasn_responder.c:591,1
    - Dst: wpa_pasn_build_auth_header
      Src: /src/hostap/src/pasn/pasn_responder.c:595,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_responder.c:603,1
    - Dst: wpa_add_supported_groups
      Src: /src/hostap/src/pasn/pasn_responder.c:609,1
    - Dst: wpa_pasn_add_extra_ies
      Src: /src/hostap/src/pasn/pasn_responder.c:612,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_responder.c:624,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_responder.c:630,1
    - Dst: wpa_write_eppke_rsne
      Src: /src/hostap/src/pasn/pasn_responder.c:640,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/pasn/pasn_responder.c:641,1
    - Dst: wpabuf_tailroom
      Src: /src/hostap/src/pasn/pasn_responder.c:642,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/pasn/pasn_responder.c:648,1
    - Dst: wpa_pasn_add_rsne
      Src: /src/hostap/src/pasn/pasn_responder.c:651,1
    - Dst: pasn_get_wrapped_data
      Src: /src/hostap/src/pasn/pasn_responder.c:657,1
    - Dst: crypto_ecdh_get_pubkey
      Src: /src/hostap/src/pasn/pasn_responder.c:662,1
    - Dst: wpabuf_zeropad
      Src: /src/hostap/src/pasn/pasn_responder.c:663,1
    - Dst: crypto_ecdh_prime_len
      Src: /src/hostap/src/pasn/pasn_responder.c:664,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_responder.c:666,1
    - Dst: wpa_pasn_add_wrapped_data
      Src: /src/hostap/src/pasn/pasn_responder.c:670,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/pasn/pasn_responder.c:673,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/pasn/pasn_responder.c:679,1
    - Dst: wpa_pasn_add_parameter_ie
      Src: /src/hostap/src/pasn/pasn_responder.c:681,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/pasn/pasn_responder.c:685,1
    - Dst: struct pasn_data*::prepare_data_element
      Src: /src/hostap/src/pasn/pasn_responder.c:689,1
    - Dst: wpa_pasn_add_extra_ies
      Src: /src/hostap/src/pasn/pasn_responder.c:691,1
    - Dst: wpa_add_supported_groups
      Src: /src/hostap/src/pasn/pasn_responder.c:693,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_responder.c:697,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/pasn/pasn_responder.c:698,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/pasn/pasn_responder.c:699,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/pasn/pasn_responder.c:700,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/pasn/pasn_responder.c:701,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/pasn/pasn_responder.c:702,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/pasn/pasn_responder.c:703,1
    - Dst: pasn_mic_len
      Src: /src/hostap/src/pasn/pasn_responder.c:708,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/pasn/pasn_responder.c:709,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/pasn/pasn_responder.c:710,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/pasn/pasn_responder.c:711,1
    - Dst: os_memset
      Src: /src/hostap/src/pasn/pasn_responder.c:713,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/pasn/pasn_responder.c:715,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/pasn/pasn_responder.c:716,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/pasn/pasn_responder.c:728,1
    - Dst: wpa_pasn_add_rsne
      Src: /src/hostap/src/pasn/pasn_responder.c:732,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/pasn/pasn_responder.c:736,1
    - Dst: os_zalloc
      Src: /src/hostap/src/pasn/pasn_responder.c:746,1
    - Dst: os_memcpy
      Src: /src/hostap/src/pasn/pasn_responder.c:750,1
    - Dst: os_memcpy
      Src: /src/hostap/src/pasn/pasn_responder.c:751,1
    - Dst: pasn_mic
      Src: /src/hostap/src/pasn/pasn_responder.c:763,1
    - Dst: os_free
      Src: /src/hostap/src/pasn/pasn_responder.c:766,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_responder.c:768,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_responder.c:774,1
    - Dst: os_memcpy
      Src: /src/hostap/src/pasn/pasn_responder.c:779,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_responder.c:782,1
    - Dst: MAC2STR
      Src: /src/hostap/src/pasn/pasn_responder.c:784,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/pasn/pasn_responder.c:785,1
    - Dst: struct pasn_data*::send_mgmt
      Src: /src/hostap/src/pasn/pasn_responder.c:788,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/pasn/pasn_responder.c:788,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/pasn/pasn_responder.c:789,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_responder.c:791,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/pasn/pasn_responder.c:793,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/pasn/pasn_responder.c:797,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/pasn/pasn_responder.c:798,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/pasn/pasn_responder.c:799,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/pasn/pasn_responder.c:800,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 143
    argCount: 5
    argNames:
    - pasn
    - own_addr
    - peer_addr
    - pmksa
    - status
    argTypes:
    - struct pasn_data*
    - u8*
    - u8*
    - struct rsn_pmksa_cache_entry*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 574
    functionDepth: 3
    functionLinenumber: 574
    functionLinenumberEnd: 802
    functionName: handle_auth_pasn_resp
    functionSourceFile: /src/hostap/src/pasn/pasn_responder.c
    functionUses: 2
    functionsReached:
    - crypto_ecdh_prime_len
    - wpa_pasn_add_rsne
    - wpabuf_alloc
    - pasn_mic_len
    - struct pasn_data*::prepare_data_element
    - wpa_printf
    - wpabuf_put_data
    - wpa_pasn_add_parameter_ie
    - pasn_get_wrapped_data
    - crypto_ecdh_get_pubkey
    - os_free
    - wpa_write_eppke_rsne
    - wpabuf_put_u8
    - wpabuf_head_u8
    - wpabuf_len
    - wpabuf_tailroom
    - pasn_mic
    - wpa_pasn_add_wrapped_data
    - os_memset
    - wpabuf_put
    - os_memcpy
    - struct pasn_data*::send_mgmt
    - wpa_add_supported_groups
    - wpa_pasn_build_auth_header
    - wpabuf_free
    - wpabuf_put_le16
    - MAC2STR
    - os_zalloc
    - wpabuf_zeropad
    - wpa_pasn_add_extra_ies
    linkageType: ''
    returnType: int
    signature: "int handle_auth_pasn_resp(struct pasn_data *pasn, const u8 *own_addr,\n\t\t\t
      \ const u8 *peer_addr,\n\t\t\t  struct rsn_pmksa_cache_entry *pmksa, u16 status)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_11_rsnx_capab_len
      Src: /src/hostap/src/pasn/pasn_responder.c:819,1
    - Dst: struct pasn_data*::pmksa_cache_search
      Src: /src/hostap/src/pasn/pasn_responder.c:823,1
    - Dst: os_memcpy
      Src: /src/hostap/src/pasn/pasn_responder.c:826,1
    - Dst: pmksa_cache_auth_get
      Src: /src/hostap/src/pasn/pasn_responder.c:832,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 5
    argNames:
    - pasn
    - mgmt
    - elems
    - peer_addr
    - pmkid
    argTypes:
    - struct pasn_data*
    - struct ieee80211_mgmt*
    - struct ieee802_11_elems*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 805
    functionDepth: 2
    functionLinenumber: 805
    functionLinenumberEnd: 833
    functionName: pasn_resp_find_pmksa
    functionSourceFile: /src/hostap/src/pasn/pasn_responder.c
    functionUses: 0
    functionsReached:
    - pmksa_cache_auth_get
    - os_memcpy
    - ieee802_11_rsnx_capab_len
    - struct pasn_data*::pmksa_cache_search
    linkageType: ''
    returnType: struct rsn_pmksa_cache_entry
    signature: "struct rsn_pmksa_cache_entry *\npasn_resp_find_pmksa(struct pasn_data
      *pasn, const struct ieee80211_mgmt *mgmt,\n\t\t     const struct ieee802_11_elems
      *elems, const u8 *peer_addr,\n\t\t     const u8 *pmkid)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_responder.c:859,1
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/src/pasn/pasn_responder.c:864,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_responder.c:868,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 6
    argNames:
    - pasn
    - own_addr
    - peer_addr
    - mgmt
    - len
    - reject
    argTypes:
    - struct pasn_data*
    - u8*
    - u8*
    - struct ieee80211_mgmt*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 836
    functionDepth: 1
    functionLinenumber: 836
    functionLinenumberEnd: 872
    functionName: handle_auth_pasn_1
    functionSourceFile: /src/hostap/src/pasn/pasn_responder.c
    functionUses: 4
    functionsReached:
    - wpa_printf
    - ieee802_11_parse_elems
    linkageType: ''
    returnType: int
    signature: "int handle_auth_pasn_1(struct pasn_data *pasn,\n\t\t       const u8
      *own_addr, const u8 *peer_addr,\n\t\t       const struct ieee80211_mgmt *mgmt,
      size_t len,\n\t\t       bool reject)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/src/pasn/pasn_responder.c:1260,1
    - Dst: wpa_printf
      Src: /src/hostap/src/pasn/pasn_responder.c:1264,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 5
    argNames:
    - pasn
    - own_addr
    - peer_addr
    - mgmt
    - len
    argTypes:
    - struct pasn_data*
    - u8*
    - u8*
    - struct ieee80211_mgmt*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1267
      start: 1246
    functionDepth: 1
    functionLinenumber: 1246
    functionLinenumberEnd: 1267
    functionName: handle_auth_pasn_3
    functionSourceFile: /src/hostap/src/pasn/pasn_responder.c
    functionUses: 4
    functionsReached:
    - wpa_printf
    - ieee802_11_parse_elems
    linkageType: ''
    returnType: int
    signature: "int handle_auth_pasn_3(struct pasn_data *pasn, const u8 *own_addr,\n\t\t
      \      const u8 *peer_addr,\n\t\t       const struct ieee80211_mgmt *mgmt, size_t
      len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 26
    functionName: EAP_PSK_FLAGS_GET_T
    functionSourceFile: /src/hostap/src/eap_common/eap_psk_common.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EAP_PSK_FLAGS_GET_T(flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: EAP_PSK_FLAGS_SET_T
    functionSourceFile: /src/hostap/src/eap_common/eap_psk_common.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EAP_PSK_FLAGS_SET_T(t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/eap_common/eap_psk_common.c:21,1
    - Dst: aes_128_encrypt_block
      Src: /src/hostap/src/eap_common/eap_psk_common.c:22,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_psk_common.c:24,1
    - Dst: aes_128_encrypt_block
      Src: /src/hostap/src/eap_common/eap_psk_common.c:27,1
    - Dst: aes_128_encrypt_block
      Src: /src/hostap/src/eap_common/eap_psk_common.c:28,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - psk
    - ak
    - kdk
    argTypes:
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 31
    functionName: eap_psk_key_setup
    functionSourceFile: /src/hostap/src/eap_common/eap_psk_common.c
    functionUses: 2
    functionsReached:
    - aes_128_encrypt_block
    - os_memcpy
    - os_memset
    linkageType: ''
    returnType: int
    signature: int eap_psk_key_setup(const u8 *psk, u8 *ak, u8 *kdk)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: aes_128_encrypt_block
      Src: /src/hostap/src/eap_common/eap_psk_common.c:41,1
    - Dst: aes_128_encrypt_block
      Src: /src/hostap/src/eap_common/eap_psk_common.c:45,1
    - Dst: aes_128_encrypt_block
      Src: /src/hostap/src/eap_common/eap_psk_common.c:52,1
    - Dst: aes_128_encrypt_block
      Src: /src/hostap/src/eap_common/eap_psk_common.c:60,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 5
    argNames:
    - kdk
    - rand_p
    - tek
    - msk
    - emsk
    argTypes:
    - u8*
    - u8*
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 68
    functionName: eap_psk_derive_keys
    functionSourceFile: /src/hostap/src/eap_common/eap_psk_common.c
    functionUses: 2
    functionsReached:
    - aes_128_encrypt_block
    linkageType: ''
    returnType: int
    signature: "int eap_psk_derive_keys(const u8 *kdk, const u8 *rand_p, u8 *tek,
      u8 *msk,\n\t\t\tu8 *emsk)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: EAP_PWD_GET_LENGTH_BIT
    functionSourceFile: /src/hostap/src/eap_common/eap_pwd_common.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EAP_PWD_GET_LENGTH_BIT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: EAP_PWD_SET_LENGTH_BIT
    functionSourceFile: /src/hostap/src/eap_common/eap_pwd_common.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EAP_PWD_SET_LENGTH_BIT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: EAP_PWD_GET_MORE_BIT
    functionSourceFile: /src/hostap/src/eap_common/eap_pwd_common.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EAP_PWD_GET_MORE_BIT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: EAP_PWD_SET_MORE_BIT
    functionSourceFile: /src/hostap/src/eap_common/eap_pwd_common.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EAP_PWD_SET_MORE_BIT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: EAP_PWD_GET_EXCHANGE
    functionSourceFile: /src/hostap/src/eap_common/eap_pwd_common.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EAP_PWD_GET_EXCHANGE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: EAP_PWD_SET_EXCHANGE
    functionSourceFile: /src/hostap/src/eap_common/eap_pwd_common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EAP_PWD_SET_EXCHANGE(x,y)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 60
    functionName: ikev2_get_integ
    functionSourceFile: /src/hostap/src/eap_common/ikev2_common.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: struct ikev2_integ_alg
    signature: struct ikev2_integ_alg * ikev2_get_integ(int id)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: hmac_sha1
      Src: /src/hostap/src/eap_common/ikev2_common.c:72,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/ikev2_common.c:74,1
    - Dst: hmac_md5
      Src: /src/hostap/src/eap_common/ikev2_common.c:80,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/ikev2_common.c:82,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 6
    argNames:
    - alg
    - key
    - key_len
    - data
    - data_len
    - hash
    argTypes:
    - int
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 90
    functionName: ikev2_integ_hash
    functionSourceFile: /src/hostap/src/eap_common/ikev2_common.c
    functionUses: 2
    functionsReached:
    - os_memcpy
    - hmac_md5
    - hmac_sha1
    linkageType: ''
    returnType: int
    signature: "int ikev2_integ_hash(int alg, const u8 *key, size_t key_len, const
      u8 *data,\n\t\t     size_t data_len, u8 *hash)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 103
    functionName: ikev2_get_prf
    functionSourceFile: /src/hostap/src/eap_common/ikev2_common.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: struct ikev2_prf_alg
    signature: struct ikev2_prf_alg * ikev2_get_prf(int id)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hmac_sha1_vector
      Src: /src/hostap/src/eap_common/ikev2_common.c:112,1
    - Dst: hmac_md5_vector
      Src: /src/hostap/src/eap_common/ikev2_common.c:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 7
    argNames:
    - alg
    - key
    - key_len
    - num_elem
    - addr
    - len
    - hash
    argTypes:
    - int
    - u8*
    - size_t
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 121
    functionName: ikev2_prf_hash
    functionSourceFile: /src/hostap/src/eap_common/ikev2_common.c
    functionUses: 2
    functionsReached:
    - hmac_md5_vector
    - hmac_sha1_vector
    linkageType: ''
    returnType: int
    signature: "int ikev2_prf_hash(int alg, const u8 *key, size_t key_len,\n\t\t   size_t
      num_elem, const u8 *addr[], const size_t *len,\n\t\t   u8 *hash)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ikev2_get_prf
      Src: /src/hostap/src/eap_common/ikev2_common.c:136,1
    - Dst: ikev2_prf_hash
      Src: /src/hostap/src/eap_common/ikev2_common.c:154,1
    - Dst: ikev2_prf_hash
      Src: /src/hostap/src/eap_common/ikev2_common.c:157,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/ikev2_common.c:164,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 7
    argNames:
    - alg
    - key
    - key_len
    - data
    - data_len
    - out
    - out_len
    argTypes:
    - int
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 170
    functionName: ikev2_prf_plus
    functionSourceFile: /src/hostap/src/eap_common/ikev2_common.c
    functionUses: 0
    functionsReached:
    - ikev2_get_prf
    - ikev2_prf_hash
    - os_memcpy
    linkageType: ''
    returnType: int
    signature: "int ikev2_prf_plus(int alg, const u8 *key, size_t key_len,\n\t\t   const
      u8 *data, size_t data_len,\n\t\t   u8 *out, size_t out_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 183
    functionName: ikev2_get_encr
    functionSourceFile: /src/hostap/src/eap_common/ikev2_common.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: struct ikev2_encr_alg
    signature: struct ikev2_encr_alg * ikev2_get_encr(int id)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/ikev2_common.c:203,1
    - Dst: crypto_cipher_init
      Src: /src/hostap/src/eap_common/ikev2_common.c:207,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/ikev2_common.c:209,1
    - Dst: crypto_cipher_encrypt
      Src: /src/hostap/src/eap_common/ikev2_common.c:213,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/ikev2_common.c:214,1
    - Dst: crypto_cipher_deinit
      Src: /src/hostap/src/eap_common/ikev2_common.c:215,1
    - Dst: crypto_cipher_deinit
      Src: /src/hostap/src/eap_common/ikev2_common.c:218,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 7
    argNames:
    - alg
    - key
    - key_len
    - iv
    - plain
    - crypt
    - len
    argTypes:
    - int
    - u8*
    - size_t
    - u8*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 221
    functionName: ikev2_encr_encrypt
    functionSourceFile: /src/hostap/src/eap_common/ikev2_common.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - crypto_cipher_deinit
    - crypto_cipher_init
    - crypto_cipher_encrypt
    linkageType: ''
    returnType: int
    signature: "int ikev2_encr_encrypt(int alg, const u8 *key, size_t key_len, const
      u8 *iv,\n\t\t       const u8 *plain, u8 *crypt, size_t len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/ikev2_common.c:241,1
    - Dst: crypto_cipher_init
      Src: /src/hostap/src/eap_common/ikev2_common.c:245,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/ikev2_common.c:247,1
    - Dst: crypto_cipher_decrypt
      Src: /src/hostap/src/eap_common/ikev2_common.c:251,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/ikev2_common.c:252,1
    - Dst: crypto_cipher_deinit
      Src: /src/hostap/src/eap_common/ikev2_common.c:253,1
    - Dst: crypto_cipher_deinit
      Src: /src/hostap/src/eap_common/ikev2_common.c:256,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 7
    argNames:
    - alg
    - key
    - key_len
    - iv
    - crypt
    - plain
    - len
    argTypes:
    - int
    - u8*
    - size_t
    - u8*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 259
    functionName: ikev2_encr_decrypt
    functionSourceFile: /src/hostap/src/eap_common/ikev2_common.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - crypto_cipher_deinit
    - crypto_cipher_init
    - crypto_cipher_decrypt
    linkageType: ''
    returnType: int
    signature: "int ikev2_encr_decrypt(int alg, const u8 *key, size_t key_len, const
      u8 *iv,\n\t\t       const u8 *crypt, u8 *plain, size_t len)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/eap_common/ikev2_common.c:267,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/ikev2_common.c:272,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/ikev2_common.c:278,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_common/ikev2_common.c:284,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/ikev2_common.c:286,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/ikev2_common.c:291,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/ikev2_common.c:300,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/ikev2_common.c:306,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/ikev2_common.c:312,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/ikev2_common.c:317,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/ikev2_common.c:322,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/ikev2_common.c:327,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/ikev2_common.c:333,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/ikev2_common.c:338,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/ikev2_common.c:343,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/ikev2_common.c:350,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/ikev2_common.c:355,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/ikev2_common.c:377,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 86
    argCount: 4
    argNames:
    - payloads
    - next_payload
    - pos
    - end
    argTypes:
    - struct ikev2_payloads*
    - u8
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 383
    functionName: ikev2_parse_payloads
    functionSourceFile: /src/hostap/src/eap_common/ikev2_common.c
    functionUses: 5
    functionsReached:
    - wpa_printf
    - WPA_GET_BE16
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int ikev2_parse_payloads(struct ikev2_payloads *payloads,\n\t\t\t
      u8 next_payload, const u8 *pos, const u8 *end)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ikev2_get_prf
      Src: /src/hostap/src/eap_common/ikev2_common.c:399,1
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_common/ikev2_common.c:406,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/ikev2_common.c:410,1
    - Dst: ikev2_prf_hash
      Src: /src/hostap/src/eap_common/ikev2_common.c:411,1
    - Dst: os_free
      Src: /src/hostap/src/eap_common/ikev2_common.c:413,1
    - Dst: os_free
      Src: /src/hostap/src/eap_common/ikev2_common.c:416,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_common/ikev2_common.c:419,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_common/ikev2_common.c:420,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/ikev2_common.c:424,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_common/ikev2_common.c:424,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_common/ikev2_common.c:424,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_common/ikev2_common.c:425,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/ikev2_common.c:426,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/ikev2_common.c:428,1
    - Dst: ikev2_prf_hash
      Src: /src/hostap/src/eap_common/ikev2_common.c:431,1
    - Dst: ikev2_prf_hash
      Src: /src/hostap/src/eap_common/ikev2_common.c:433,1
    - Dst: os_free
      Src: /src/hostap/src/eap_common/ikev2_common.c:436,1
    - Dst: os_free
      Src: /src/hostap/src/eap_common/ikev2_common.c:439,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 14
    argNames:
    - prf_alg
    - sign_msg
    - ID
    - ID_len
    - ID_type
    - keys
    - initiator
    - shared_secret
    - shared_secret_len
    - nonce
    - nonce_len
    - key_pad
    - key_pad_len
    - auth_data
    argTypes:
    - int
    - struct wpabuf*
    - u8*
    - size_t
    - u8
    - struct ikev2_keys*
    - int
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 442
    functionName: ikev2_derive_auth_data
    functionSourceFile: /src/hostap/src/eap_common/ikev2_common.c
    functionUses: 4
    functionsReached:
    - ikev2_get_prf
    - os_memcpy
    - wpabuf_len
    - ikev2_prf_hash
    - os_malloc
    - wpabuf_head
    - os_zalloc
    - os_free
    linkageType: ''
    returnType: int
    signature: "int ikev2_derive_auth_data(int prf_alg, const struct wpabuf *sign_msg,\n\t\t\t
      \  const u8 *ID, size_t ID_len, u8 ID_type,\n\t\t\t   struct ikev2_keys *keys,
      int initiator,\n\t\t\t   const u8 *shared_secret, size_t shared_secret_len,\n\t\t\t
      \  const u8 *nonce, size_t nonce_len,\n\t\t\t   const u8 *key_pad, size_t key_pad_len,\n\t\t\t
      \  u8 *auth_data)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/ikev2_common.c:461,1
    - Dst: ikev2_get_encr
      Src: /src/hostap/src/eap_common/ikev2_common.c:465,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/ikev2_common.c:467,1
    - Dst: ikev2_get_integ
      Src: /src/hostap/src/eap_common/ikev2_common.c:472,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/ikev2_common.c:474,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/ikev2_common.c:479,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/ikev2_common.c:490,1
    - Dst: ikev2_integ_hash
      Src: /src/hostap/src/eap_common/ikev2_common.c:493,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/ikev2_common.c:496,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/eap_common/ikev2_common.c:500,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/ikev2_common.c:501,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/ikev2_common.c:507,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_common/ikev2_common.c:512,1
    - Dst: ikev2_encr_decrypt
      Src: /src/hostap/src/eap_common/ikev2_common.c:516,1
    - Dst: os_free
      Src: /src/hostap/src/eap_common/ikev2_common.c:518,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/ikev2_common.c:524,1
    - Dst: os_free
      Src: /src/hostap/src/eap_common/ikev2_common.c:526,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 57
    argCount: 8
    argNames:
    - encr_id
    - integ_id
    - keys
    - initiator
    - hdr
    - encrypted
    - encrypted_len
    - res_len
    argTypes:
    - int
    - int
    - struct ikev2_keys*
    - int
    - struct ikev2_hdr*
    - u8*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 534
    functionName: ikev2_decrypt_payload
    functionSourceFile: /src/hostap/src/eap_common/ikev2_common.c
    functionUses: 3
    functionsReached:
    - wpa_printf
    - ikev2_get_integ
    - os_malloc
    - ikev2_get_encr
    - os_memcmp_const
    - os_free
    - ikev2_encr_decrypt
    - ikev2_integ_hash
    linkageType: ''
    returnType: u8
    signature: "u8 * ikev2_decrypt_payload(int encr_id, int integ_id,\n\t\t\t   struct
      ikev2_keys *keys, int initiator,\n\t\t\t   const struct ikev2_hdr *hdr,\n\t\t\t
      \  const u8 *encrypted, size_t encrypted_len,\n\t\t\t   size_t *res_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_mhead
      Src: /src/hostap/src/eap_common/ikev2_common.c:542,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/src/eap_common/ikev2_common.c:543,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_common/ikev2_common.c:543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - msg
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 537
    functionDepth: 1
    functionLinenumber: 537
    functionLinenumberEnd: 544
    functionName: ikev2_update_hdr
    functionSourceFile: /src/hostap/src/eap_common/ikev2_common.c
    functionUses: 3
    functionsReached:
    - wpabuf_len
    - WPA_PUT_BE32
    - wpabuf_mhead
    linkageType: ''
    returnType: void
    signature: void ikev2_update_hdr(struct wpabuf *msg)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/ikev2_common.c:560,1
    - Dst: ikev2_get_encr
      Src: /src/hostap/src/eap_common/ikev2_common.c:564,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/ikev2_common.c:566,1
    - Dst: ikev2_get_integ
      Src: /src/hostap/src/eap_common/ikev2_common.c:571,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/ikev2_common.c:573,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/ikev2_common.c:578,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/ikev2_common.c:583,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_common/ikev2_common.c:587,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_common/ikev2_common.c:591,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/eap_common/ikev2_common.c:592,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/ikev2_common.c:593,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_common/ikev2_common.c:598,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_common/ikev2_common.c:606,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_common/ikev2_common.c:607,1
    - Dst: ikev2_encr_encrypt
      Src: /src/hostap/src/eap_common/ikev2_common.c:609,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_common/ikev2_common.c:610,1
    - Dst: wpabuf_mhead
      Src: /src/hostap/src/eap_common/ikev2_common.c:610,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_common/ikev2_common.c:611,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/eap_common/ikev2_common.c:614,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_common/ikev2_common.c:617,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_common/ikev2_common.c:618,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/eap_common/ikev2_common.c:619,1
    - Dst: ikev2_update_hdr
      Src: /src/hostap/src/eap_common/ikev2_common.c:621,1
    - Dst: ikev2_integ_hash
      Src: /src/hostap/src/eap_common/ikev2_common.c:623,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_common/ikev2_common.c:624,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_common/ikev2_common.c:625,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 47
    argCount: 7
    argNames:
    - encr_id
    - integ_id
    - keys
    - initiator
    - msg
    - plain
    - next_payload
    argTypes:
    - int
    - int
    - struct ikev2_keys*
    - int
    - struct wpabuf*
    - struct wpabuf*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 547
    functionDepth: 2
    functionLinenumber: 547
    functionLinenumberEnd: 628
    functionName: ikev2_build_encrypted
    functionSourceFile: /src/hostap/src/eap_common/ikev2_common.c
    functionUses: 4
    functionsReached:
    - wpa_printf
    - random_get_bytes
    - ikev2_get_integ
    - wpabuf_put
    - wpabuf_put_u8
    - wpabuf_len
    - ikev2_update_hdr
    - ikev2_encr_encrypt
    - ikev2_get_encr
    - WPA_PUT_BE16
    - wpabuf_head
    - wpabuf_put_buf
    - wpabuf_mhead
    - ikev2_integ_hash
    linkageType: ''
    returnType: int
    signature: "int ikev2_build_encrypted(int encr_id, int integ_id, struct ikev2_keys
      *keys,\n\t\t\t  int initiator, struct wpabuf *msg,\n\t\t\t  struct wpabuf *plain,
      u8 next_payload)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - keys
    argTypes:
    - struct ikev2_keys*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 635
    functionName: ikev2_keys_set
    functionSourceFile: /src/hostap/src/eap_common/ikev2_common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ikev2_keys_set(struct ikev2_keys *keys)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/eap_common/ikev2_common.c:640,1
    - Dst: os_free
      Src: /src/hostap/src/eap_common/ikev2_common.c:641,1
    - Dst: os_free
      Src: /src/hostap/src/eap_common/ikev2_common.c:642,1
    - Dst: os_free
      Src: /src/hostap/src/eap_common/ikev2_common.c:643,1
    - Dst: os_free
      Src: /src/hostap/src/eap_common/ikev2_common.c:644,1
    - Dst: os_free
      Src: /src/hostap/src/eap_common/ikev2_common.c:645,1
    - Dst: os_free
      Src: /src/hostap/src/eap_common/ikev2_common.c:646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - keys
    argTypes:
    - struct ikev2_keys*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 649
    functionName: ikev2_free_keys
    functionSourceFile: /src/hostap/src/eap_common/ikev2_common.c
    functionUses: 2
    functionsReached:
    - os_free
    linkageType: ''
    returnType: void
    signature: void ikev2_free_keys(struct ikev2_keys *keys)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ikev2_free_keys
      Src: /src/hostap/src/eap_common/ikev2_common.c:665,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_common/ikev2_common.c:673,1
    - Dst: ikev2_prf_plus
      Src: /src/hostap/src/eap_common/ikev2_common.c:677,1
    - Dst: os_free
      Src: /src/hostap/src/eap_common/ikev2_common.c:679,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_common/ikev2_common.c:685,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/ikev2_common.c:687,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/ikev2_common.c:688,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_common/ikev2_common.c:693,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/ikev2_common.c:695,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/ikev2_common.c:696,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_common/ikev2_common.c:701,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/ikev2_common.c:703,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/ikev2_common.c:704,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_common/ikev2_common.c:709,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/ikev2_common.c:711,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/ikev2_common.c:712,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_common/ikev2_common.c:717,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/ikev2_common.c:719,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/ikev2_common.c:720,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_common/ikev2_common.c:725,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/ikev2_common.c:727,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/ikev2_common.c:728,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_common/ikev2_common.c:733,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/ikev2_common.c:735,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/ikev2_common.c:736,1
    - Dst: os_free
      Src: /src/hostap/src/eap_common/ikev2_common.c:740,1
    - Dst: ikev2_keys_set
      Src: /src/hostap/src/eap_common/ikev2_common.c:742,1
    - Dst: ikev2_free_keys
      Src: /src/hostap/src/eap_common/ikev2_common.c:743,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 62
    argCount: 7
    argNames:
    - prf
    - integ
    - encr
    - skeyseed
    - data
    - data_len
    - keys
    argTypes:
    - struct ikev2_prf_alg*
    - struct ikev2_integ_alg*
    - struct ikev2_encr_alg*
    - u8*
    - u8*
    - size_t
    - struct ikev2_keys*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 652
    functionDepth: 2
    functionLinenumber: 652
    functionLinenumberEnd: 748
    functionName: ikev2_derive_sk_keys
    functionSourceFile: /src/hostap/src/eap_common/ikev2_common.c
    functionUses: 2
    functionsReached:
    - os_memcpy
    - wpa_hexdump_key
    - ikev2_prf_plus
    - os_malloc
    - ikev2_free_keys
    - os_free
    - ikev2_keys_set
    linkageType: ''
    returnType: int
    signature: "int ikev2_derive_sk_keys(const struct ikev2_prf_alg *prf,\n\t\t\t
      const struct ikev2_integ_alg *integ,\n\t\t\t const struct ikev2_encr_alg *encr,\n\t\t\t
      const u8 *skeyseed, const u8 *data, size_t data_len,\n\t\t\t struct ikev2_keys
      *keys)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fips186_2_prf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - key
    - x
    - xlen
    argTypes:
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: eap_sim_prf
    functionSourceFile: /src/hostap/src/eap_common/eap_sim_common.c
    functionUses: 0
    functionsReached:
    - fips186_2_prf
    linkageType: ''
    returnType: int
    signature: int eap_sim_prf(const u8 *key, u8 *x, size_t xlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/eap_common/eap_sim_common.c:48,1
    - Dst: sha1_vector
      Src: /src/hostap/src/eap_common/eap_sim_common.c:51,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_sim_common.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 9
    argNames:
    - identity
    - identity_len
    - nonce_mt
    - selected_version
    - ver_list
    - ver_list_len
    - num_chal
    - kc
    - mk
    argTypes:
    - u8*
    - size_t
    - u8*
    - u16
    - u8*
    - size_t
    - int
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 53
    functionName: eap_sim_derive_mk
    functionSourceFile: /src/hostap/src/eap_common/eap_sim_common.c
    functionUses: 2
    functionsReached:
    - sha1_vector
    - WPA_PUT_BE16
    - wpa_hexdump_key
    linkageType: ''
    returnType: void
    signature: "void eap_sim_derive_mk(const u8 *identity, size_t identity_len,\n\t\t
      \      const u8 *nonce_mt, u16 selected_version,\n\t\t       const u8 *ver_list,
      size_t ver_list_len,\n\t\t       int num_chal, const u8 *kc, u8 *mk)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha1_vector
      Src: /src/hostap/src/eap_common/eap_sim_common.c:70,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_sim_common.c:71,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_sim_common.c:72,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_sim_common.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 5
    argNames:
    - identity
    - identity_len
    - ik
    - ck
    - mk
    argTypes:
    - u8*
    - size_t
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 74
    functionName: eap_aka_derive_mk
    functionSourceFile: /src/hostap/src/eap_common/eap_sim_common.c
    functionUses: 2
    functionsReached:
    - sha1_vector
    - wpa_hexdump_key
    linkageType: ''
    returnType: void
    signature: "void eap_aka_derive_mk(const u8 *identity, size_t identity_len,\n\t\t
      \      const u8 *ik, const u8 *ck, u8 *mk)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_sim_prf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:81,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:82,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_sim_common.c:86,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_sim_common.c:88,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_sim_common.c:90,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_sim_common.c:92,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_sim_common.c:94,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_sim_common.c:96,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_sim_common.c:98,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_sim_common.c:100,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_common/eap_sim_common.c:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 5
    argNames:
    - mk
    - k_encr
    - k_aut
    - msk
    - emsk
    argTypes:
    - u8*
    - u8*
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 104
    functionName: eap_sim_derive_keys
    functionSourceFile: /src/hostap/src/eap_common/eap_sim_common.c
    functionUses: 6
    functionsReached:
    - eap_sim_prf
    - wpa_printf
    - os_memcpy
    - wpa_hexdump_key
    - os_memset
    linkageType: ''
    returnType: int
    signature: int eap_sim_derive_keys(const u8 *mk, u8 *k_encr, u8 *k_aut, u8 *msk,
      u8 *emsk)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:119,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/eap_common/eap_sim_common.c:132,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:134,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_common/eap_sim_common.c:135,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_common/eap_sim_common.c:137,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_common/eap_sim_common.c:138,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_sim_common.c:140,1
    - Dst: sha1_vector
      Src: /src/hostap/src/eap_common/eap_sim_common.c:143,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_common/eap_sim_common.c:144,1
    - Dst: eap_sim_prf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:146,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:147,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_sim_common.c:151,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_common/eap_sim_common.c:152,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_sim_common.c:156,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_common/eap_sim_common.c:157,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_common/eap_sim_common.c:159,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 7
    argNames:
    - _counter
    - identity
    - identity_len
    - nonce_s
    - mk
    - msk
    - emsk
    argTypes:
    - u16
    - u8*
    - size_t
    - u8*
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 162
    functionName: eap_sim_derive_keys_reauth
    functionSourceFile: /src/hostap/src/eap_common/eap_sim_common.c
    functionUses: 4
    functionsReached:
    - wpa_printf
    - wpa_hexdump_key
    - eap_sim_prf
    - os_memcpy
    - wpa_hexdump
    - sha1_vector
    - WPA_PUT_BE16
    - wpa_hexdump_ascii
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int eap_sim_derive_keys_reauth(u16 _counter,\n\t\t\t       const u8
      *identity, size_t identity_len,\n\t\t\t       const u8 *nonce_s, const u8 *mk,
      u8 *msk,\n\t\t\t       u8 *emsk)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_common/eap_sim_common.c:173,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/eap_common/eap_sim_common.c:174,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/eap_common/eap_sim_common.c:175,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_common/eap_sim_common.c:175,1
    - Dst: os_memdup
      Src: /src/hostap/src/eap_common/eap_sim_common.c:178,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_common/eap_sim_common.c:178,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_common/eap_sim_common.c:178,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_common/eap_sim_common.c:183,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_common/eap_sim_common.c:188,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/eap_common/eap_sim_common.c:188,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_common/eap_sim_common.c:189,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_common/eap_sim_common.c:190,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_common/eap_sim_common.c:191,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_sim_common.c:193,1
    - Dst: hmac_sha1_vector
      Src: /src/hostap/src/eap_common/eap_sim_common.c:195,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_common/eap_sim_common.c:196,1
    - Dst: os_free
      Src: /src/hostap/src/eap_common/eap_sim_common.c:198,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/eap_common/eap_sim_common.c:200,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 5
    argNames:
    - k_aut
    - req
    - mac
    - extra
    - extra_len
    argTypes:
    - u8*
    - struct wpabuf*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 201
    functionName: eap_sim_verify_mac
    functionSourceFile: /src/hostap/src/eap_common/eap_sim_common.c
    functionUses: 7
    functionsReached:
    - wpa_hexdump_key
    - wpabuf_head_u8
    - wpa_hexdump
    - wpabuf_len
    - os_memdup
    - wpabuf_head
    - os_memcmp_const
    - os_free
    - hmac_sha1_vector
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int eap_sim_verify_mac(const u8 *k_aut, const struct wpabuf *req,\n\t\t
      \      const u8 *mac, const u8 *extra, size_t extra_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/eap_common/eap_sim_common.c:217,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_common/eap_sim_common.c:218,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_common/eap_sim_common.c:219,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_sim_common.c:221,1
    - Dst: hmac_sha1_vector
      Src: /src/hostap/src/eap_common/eap_sim_common.c:223,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_sim_common.c:224,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_common/eap_sim_common.c:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 6
    argNames:
    - k_aut
    - msg
    - msg_len
    - mac
    - extra
    - extra_len
    argTypes:
    - u8*
    - u8*
    - size_t
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 227
    functionName: eap_sim_add_mac
    functionSourceFile: /src/hostap/src/eap_common/eap_sim_common.c
    functionUses: 0
    functionsReached:
    - wpa_hexdump_key
    - os_memcpy
    - wpa_hexdump
    - hmac_sha1_vector
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void eap_sim_add_mac(const u8 *k_aut, const u8 *msg, size_t msg_len,
      u8 *mac,\n\t\t     const u8 *extra, size_t extra_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/eap_common/eap_sim_common.c:253,1
    - Dst: hmac_sha256_vector
      Src: /src/hostap/src/eap_common/eap_sim_common.c:265,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_sim_common.c:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 8
    argNames:
    - k
    - seed1
    - seed2
    - seed2_len
    - seed3
    - seed3_len
    - res
    - res_len
    argTypes:
    - u8*
    - char*
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 272
    functionName: prf_prime
    functionSourceFile: /src/hostap/src/eap_common/eap_sim_common.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_memcpy
    - hmac_sha256_vector
    linkageType: ''
    returnType: void
    signature: "void prf_prime(const u8 *k, const char *seed1,\n\t\t      const u8
      *seed2, size_t seed2_len,\n\t\t      const u8 *seed3, size_t seed3_len,\n\t\t
      \     u8 *res, size_t res_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_sim_common.c:293,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_sim_common.c:294,1
    - Dst: prf_prime
      Src: /src/hostap/src/eap_common/eap_sim_common.c:296,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_sim_common.c:300,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_sim_common.c:301,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_sim_common.c:305,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_sim_common.c:306,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_sim_common.c:310,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_sim_common.c:311,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_sim_common.c:315,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_sim_common.c:316,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_sim_common.c:319,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_sim_common.c:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 9
    argNames:
    - identity
    - identity_len
    - ik
    - ck
    - k_encr
    - k_aut
    - k_re
    - msk
    - emsk
    argTypes:
    - u8*
    - size_t
    - u8*
    - u8*
    - u8*
    - u8*
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 321
    functionName: eap_aka_prime_derive_keys
    functionSourceFile: /src/hostap/src/eap_common/eap_sim_common.c
    functionUses: 2
    functionsReached:
    - os_memcpy
    - wpa_hexdump_key
    - prf_prime
    linkageType: ''
    returnType: void
    signature: "void eap_aka_prime_derive_keys(const u8 *identity, size_t identity_len,\n\t\t\t
      \      const u8 *ik, const u8 *ck, u8 *k_encr,\n\t\t\t       u8 *k_aut, u8 *k_re,
      u8 *msk, u8 *emsk)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/eap_common/eap_sim_common.c:338,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_sim_common.c:339,1
    - Dst: prf_prime
      Src: /src/hostap/src/eap_common/eap_sim_common.c:341,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_sim_common.c:346,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_sim_common.c:347,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_sim_common.c:350,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_sim_common.c:351,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_common/eap_sim_common.c:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 7
    argNames:
    - k_re
    - counter
    - identity
    - identity_len
    - nonce_s
    - msk
    - emsk
    argTypes:
    - u8*
    - u16
    - u8*
    - size_t
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 356
    functionName: eap_aka_prime_derive_keys_reauth
    functionSourceFile: /src/hostap/src/eap_common/eap_sim_common.c
    functionUses: 2
    functionsReached:
    - os_memcpy
    - wpa_hexdump_key
    - WPA_PUT_BE16
    - prf_prime
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int eap_aka_prime_derive_keys_reauth(const u8 *k_re, u16 counter,\n\t\t\t\t
      \    const u8 *identity, size_t identity_len,\n\t\t\t\t     const u8 *nonce_s,
      u8 *msk, u8 *emsk)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_common/eap_sim_common.c:367,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/eap_common/eap_sim_common.c:368,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/eap_common/eap_sim_common.c:369,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_common/eap_sim_common.c:369,1
    - Dst: os_memdup
      Src: /src/hostap/src/eap_common/eap_sim_common.c:372,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_common/eap_sim_common.c:372,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_common/eap_sim_common.c:372,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_common/eap_sim_common.c:377,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_common/eap_sim_common.c:382,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/eap_common/eap_sim_common.c:382,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_common/eap_sim_common.c:383,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_common/eap_sim_common.c:384,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_common/eap_sim_common.c:385,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_sim_common.c:387,1
    - Dst: hmac_sha256_vector
      Src: /src/hostap/src/eap_common/eap_sim_common.c:389,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_common/eap_sim_common.c:390,1
    - Dst: os_free
      Src: /src/hostap/src/eap_common/eap_sim_common.c:392,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/eap_common/eap_sim_common.c:394,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 5
    argNames:
    - k_aut
    - req
    - mac
    - extra
    - extra_len
    argTypes:
    - u8*
    - struct wpabuf*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 395
    functionName: eap_sim_verify_mac_sha256
    functionSourceFile: /src/hostap/src/eap_common/eap_sim_common.c
    functionUses: 2
    functionsReached:
    - wpa_hexdump_key
    - wpabuf_head_u8
    - wpa_hexdump
    - wpabuf_len
    - os_memdup
    - wpabuf_head
    - os_memcmp_const
    - os_free
    - hmac_sha256_vector
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int eap_sim_verify_mac_sha256(const u8 *k_aut, const struct wpabuf
      *req,\n\t\t\t      const u8 *mac, const u8 *extra, size_t extra_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/eap_common/eap_sim_common.c:411,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_common/eap_sim_common.c:412,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_common/eap_sim_common.c:413,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_sim_common.c:415,1
    - Dst: hmac_sha256_vector
      Src: /src/hostap/src/eap_common/eap_sim_common.c:417,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_sim_common.c:418,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_common/eap_sim_common.c:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 6
    argNames:
    - k_aut
    - msg
    - msg_len
    - mac
    - extra
    - extra_len
    argTypes:
    - u8*
    - u8*
    - size_t
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 421
    functionName: eap_sim_add_mac_sha256
    functionSourceFile: /src/hostap/src/eap_common/eap_sim_common.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_hexdump_key
    - wpa_hexdump
    - hmac_sha256_vector
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void eap_sim_add_mac_sha256(const u8 *k_aut, const u8 *msg, size_t
      msg_len,\n\t\t\t    u8 *mac, const u8 *extra, size_t extra_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:457,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_sim_common.c:458,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_sim_common.c:459,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:460,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_common/eap_sim_common.c:461,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_common/eap_sim_common.c:463,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_sim_common.c:465,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_sim_common.c:466,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_sim_common.c:467,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/eap_common/eap_sim_common.c:474,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/eap_common/eap_sim_common.c:479,1
    - Dst: hmac_sha256_vector
      Src: /src/hostap/src/eap_common/eap_sim_common.c:483,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_sim_common.c:484,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_sim_common.c:487,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_sim_common.c:488,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_sim_common.c:489,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_sim_common.c:490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 5
    argNames:
    - ck
    - ik
    - sqn_ak
    - network_name
    - network_name_len
    argTypes:
    - u8*
    - u8*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 491
    functionName: eap_aka_prime_derive_ck_ik_prime
    functionSourceFile: /src/hostap/src/eap_common/eap_sim_common.c
    functionUses: 2
    functionsReached:
    - os_memcpy
    - wpa_printf
    - wpa_hexdump_key
    - wpa_hexdump
    - hmac_sha256_vector
    - WPA_PUT_BE16
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: void
    signature: "void eap_aka_prime_derive_ck_ik_prime(u8 *ck, u8 *ik, const u8 *sqn_ak,\n\t\t\t\t
      \     const u8 *network_name,\n\t\t\t\t      size_t network_name_len)"
  - BBCount: 71
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/eap_common/eap_sim_common.c:501,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:510,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:513,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:516,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:522,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_common/eap_sim_common.c:527,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:532,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:537,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:546,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:548,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:555,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:564,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:568,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:571,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_common/eap_sim_common.c:574,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:582,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:584,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:591,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:595,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:597,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:605,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:611,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:615,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:619,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_common/eap_sim_common.c:620,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:624,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:637,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:642,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:644,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:655,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:657,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:663,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:667,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:672,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:677,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:683,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:688,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:693,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:698,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:704,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:708,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:711,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:720,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:726,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:730,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:732,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:739,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:743,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:752,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:756,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:760,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:772,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:776,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:780,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:791,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_common/eap_sim_common.c:792,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:797,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:806,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:808,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:813,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:821,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:823,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:831,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:841,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:846,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:851,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:857,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:862,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_common/eap_sim_common.c:863,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:867,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:879,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:884,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:886,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:892,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_common/eap_sim_common.c:896,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:900,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:902,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:912,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:918,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:926,1
    CyclomaticComplexity: 83
    EdgeCount: 83
    ICount: 328
    argCount: 5
    argNames:
    - start
    - end
    - attr
    - aka
    - encr
    argTypes:
    - u8*
    - u8*
    - struct eap_sim_attrs*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 495
    functionDepth: 1
    functionLinenumber: 495
    functionLinenumberEnd: 930
    functionName: eap_sim_parse_attr
    functionSourceFile: /src/hostap/src/eap_common/eap_sim_common.c
    functionUses: 4
    functionsReached:
    - wpa_printf
    - WPA_GET_BE16
    - wpa_hexdump
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int eap_sim_parse_attr(const u8 *start, const u8 *end,\n\t\t       struct
      eap_sim_attrs *attr, int aka, int encr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:940,1
    - Dst: os_memdup
      Src: /src/hostap/src/eap_common/eap_sim_common.c:944,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:949,1
    - Dst: aes_128_cbc_decrypt
      Src: /src/hostap/src/eap_common/eap_sim_common.c:952,1
    - Dst: os_free
      Src: /src/hostap/src/eap_common/eap_sim_common.c:953,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_common/eap_sim_common.c:957,1
    - Dst: eap_sim_parse_attr
      Src: /src/hostap/src/eap_common/eap_sim_common.c:960,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:962,1
    - Dst: os_free
      Src: /src/hostap/src/eap_common/eap_sim_common.c:964,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 6
    argNames:
    - k_encr
    - encr_data
    - encr_data_len
    - iv
    - attr
    - aka
    argTypes:
    - u8*
    - u8*
    - size_t
    - u8*
    - struct eap_sim_attrs*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 969
      start: 933
    functionDepth: 2
    functionLinenumber: 933
    functionLinenumberEnd: 969
    functionName: eap_sim_parse_encr
    functionSourceFile: /src/hostap/src/eap_common/eap_sim_common.c
    functionUses: 8
    functionsReached:
    - wpa_printf
    - aes_128_cbc_decrypt
    - wpa_hexdump
    - os_memdup
    - eap_sim_parse_attr
    - os_free
    linkageType: ''
    returnType: u8
    signature: "u8 * eap_sim_parse_encr(const u8 *k_encr, const u8 *encr_data,\n\t\t\tsize_t
      encr_data_len, const u8 *iv,\n\t\t\tstruct eap_sim_attrs *attr, int aka)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_common/eap_sim_common.c:986,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eap_common/eap_sim_common.c:990,1
    - Dst: os_free
      Src: /src/hostap/src/eap_common/eap_sim_common.c:992,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_common/eap_sim_common.c:995,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_common/eap_sim_common.c:999,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 4
    argNames:
    - code
    - id
    - type
    - subtype
    argTypes:
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 980
    functionDepth: 1
    functionLinenumber: 980
    functionLinenumberEnd: 1006
    functionName: eap_sim_msg_init
    functionSourceFile: /src/hostap/src/eap_common/eap_sim_common.c
    functionUses: 21
    functionsReached:
    - os_free
    - os_zalloc
    - wpabuf_put
    - wpabuf_alloc
    linkageType: ''
    returnType: struct eap_sim_msg
    signature: struct eap_sim_msg * eap_sim_msg_init(int code, int id, int type, int
      subtype)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_mhead
      Src: /src/hostap/src/eap_common/eap_sim_common.c:1019,1
    - Dst: host_to_be16
      Src: /src/hostap/src/eap_common/eap_sim_common.c:1020,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_common/eap_sim_common.c:1020,1
    - Dst: eap_sim_add_mac_sha256
      Src: /src/hostap/src/eap_common/eap_sim_common.c:1024,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_common/eap_sim_common.c:1024,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_common/eap_sim_common.c:1025,1
    - Dst: wpabuf_mhead
      Src: /src/hostap/src/eap_common/eap_sim_common.c:1026,1
    - Dst: eap_sim_add_mac
      Src: /src/hostap/src/eap_common/eap_sim_common.c:1031,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_common/eap_sim_common.c:1031,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_common/eap_sim_common.c:1032,1
    - Dst: wpabuf_mhead
      Src: /src/hostap/src/eap_common/eap_sim_common.c:1033,1
    - Dst: os_free
      Src: /src/hostap/src/eap_common/eap_sim_common.c:1038,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 5
    argNames:
    - msg
    - type
    - k_aut
    - extra
    - extra_len
    argTypes:
    - struct eap_sim_msg*
    - int
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1040
      start: 1009
    functionDepth: 1
    functionLinenumber: 1009
    functionLinenumberEnd: 1040
    functionName: eap_sim_msg_finish
    functionSourceFile: /src/hostap/src/eap_common/eap_sim_common.c
    functionUses: 21
    functionsReached:
    - eap_sim_add_mac_sha256
    - eap_sim_add_mac
    - host_to_be16
    - wpabuf_len
    - wpabuf_head
    - wpabuf_mhead
    - os_free
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_sim_msg_finish(struct eap_sim_msg *msg, int type,\n\t\t\t\t
      \  const u8 *k_aut,\n\t\t\t\t   const u8 *extra, size_t extra_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_common/eap_sim_common.c:1046,1
    - Dst: os_free
      Src: /src/hostap/src/eap_common/eap_sim_common.c:1047,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - msg
    argTypes:
    - struct eap_sim_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1043
    functionDepth: 1
    functionLinenumber: 1043
    functionLinenumberEnd: 1049
    functionName: eap_sim_msg_free
    functionSourceFile: /src/hostap/src/eap_common/eap_sim_common.c
    functionUses: 12
    functionsReached:
    - os_free
    - wpabuf_free
    linkageType: ''
    returnType: void
    signature: void eap_sim_msg_free(struct eap_sim_msg *msg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_resize
      Src: /src/hostap/src/eap_common/eap_sim_common.c:1064,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_common/eap_sim_common.c:1066,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_common/eap_sim_common.c:1067,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_common/eap_sim_common.c:1068,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_common/eap_sim_common.c:1069,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_common/eap_sim_common.c:1071,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_common/eap_sim_common.c:1071,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - msg
    - attr
    - data
    - len
    argTypes:
    - struct eap_sim_msg*
    - u8
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1073
      start: 1052
    functionDepth: 1
    functionLinenumber: 1052
    functionLinenumberEnd: 1073
    functionName: eap_sim_msg_add_full
    functionSourceFile: /src/hostap/src/eap_common/eap_sim_common.c
    functionUses: 1
    functionsReached:
    - wpabuf_put
    - wpabuf_resize
    - wpabuf_put_u8
    - wpabuf_put_data
    - os_memset
    linkageType: ''
    returnType: u8
    signature: "u8 * eap_sim_msg_add_full(struct eap_sim_msg *msg, u8 attr,\n\t\t\t
      \ const u8 *data, size_t len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_resize
      Src: /src/hostap/src/eap_common/eap_sim_common.c:1088,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_common/eap_sim_common.c:1090,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_common/eap_sim_common.c:1091,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_common/eap_sim_common.c:1092,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/eap_common/eap_sim_common.c:1093,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_common/eap_sim_common.c:1095,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_common/eap_sim_common.c:1097,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_common/eap_sim_common.c:1099,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_common/eap_sim_common.c:1099,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 5
    argNames:
    - msg
    - attr
    - value
    - data
    - len
    argTypes:
    - struct eap_sim_msg*
    - u8
    - u16
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1101
      start: 1076
    functionDepth: 1
    functionLinenumber: 1076
    functionLinenumberEnd: 1101
    functionName: eap_sim_msg_add
    functionSourceFile: /src/hostap/src/eap_common/eap_sim_common.c
    functionUses: 24
    functionsReached:
    - wpabuf_put
    - wpabuf_resize
    - wpabuf_put_u8
    - wpabuf_put_data
    - wpabuf_put_be16
    - os_memset
    linkageType: ''
    returnType: u8
    signature: "u8 * eap_sim_msg_add(struct eap_sim_msg *msg, u8 attr, u16 value,\n\t\t
      \    const u8 *data, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_sim_msg_add
      Src: /src/hostap/src/eap_common/eap_sim_common.c:1106,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/eap_common/eap_sim_common.c:1108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - msg
    - attr
    argTypes:
    - struct eap_sim_msg*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1110
      start: 1104
    functionDepth: 2
    functionLinenumber: 1104
    functionLinenumberEnd: 1110
    functionName: eap_sim_msg_add_mac
    functionSourceFile: /src/hostap/src/eap_common/eap_sim_common.c
    functionUses: 12
    functionsReached:
    - eap_sim_msg_add
    - wpabuf_head_u8
    linkageType: ''
    returnType: u8
    signature: u8 * eap_sim_msg_add_mac(struct eap_sim_msg *msg, u8 attr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: eap_sim_msg_add
      Src: /src/hostap/src/eap_common/eap_sim_common.c:1116,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/eap_common/eap_sim_common.c:1119,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/eap_common/eap_sim_common.c:1120,1
    - Dst: wpabuf_mhead_u8
      Src: /src/hostap/src/eap_common/eap_sim_common.c:1120,1
    - Dst: eap_sim_msg_add
      Src: /src/hostap/src/eap_common/eap_sim_common.c:1126,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/eap_common/eap_sim_common.c:1131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - msg
    - attr_iv
    - attr_encr
    argTypes:
    - struct eap_sim_msg*
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1134
      start: 1113
    functionDepth: 2
    functionLinenumber: 1113
    functionLinenumberEnd: 1134
    functionName: eap_sim_msg_add_encr_start
    functionSourceFile: /src/hostap/src/eap_common/eap_sim_common.c
    functionUses: 8
    functionsReached:
    - wpabuf_mhead_u8
    - eap_sim_msg_add
    - wpabuf_head_u8
    - random_get_bytes
    linkageType: ''
    returnType: int
    signature: "int eap_sim_msg_add_encr_start(struct eap_sim_msg *msg, u8 attr_iv,\n\t\t\t
      \      u8 attr_encr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_common/eap_sim_common.c:1144,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:1149,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:1154,1
    - Dst: eap_sim_msg_add
      Src: /src/hostap/src/eap_common/eap_sim_common.c:1155,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_common/eap_sim_common.c:1158,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:1161,1
    - Dst: wpabuf_mhead_u8
      Src: /src/hostap/src/eap_common/eap_sim_common.c:1163,1
    - Dst: aes_128_cbc_encrypt
      Src: /src/hostap/src/eap_common/eap_sim_common.c:1164,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/eap_common/eap_sim_common.c:1164,1
    - Dst: wpabuf_mhead_u8
      Src: /src/hostap/src/eap_common/eap_sim_common.c:1165,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - msg
    - k_encr
    - attr_pad
    argTypes:
    - struct eap_sim_msg*
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1167
      start: 1137
    functionDepth: 2
    functionLinenumber: 1137
    functionLinenumberEnd: 1167
    functionName: eap_sim_msg_add_encr_end
    functionSourceFile: /src/hostap/src/eap_common/eap_sim_common.c
    functionUses: 8
    functionsReached:
    - wpa_printf
    - wpabuf_head_u8
    - wpabuf_len
    - wpabuf_mhead_u8
    - aes_128_cbc_encrypt
    - eap_sim_msg_add
    - os_memset
    linkageType: ''
    returnType: int
    signature: int eap_sim_msg_add_encr_end(struct eap_sim_msg *msg, u8 *k_encr, int
      attr_pad)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:1178,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:1182,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:1187,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:1192,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:1196,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:1201,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sim_common.c:1205,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - msg_ctx
    - notification
    - aka
    argTypes:
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1210
      start: 1170
    functionDepth: 0
    functionLinenumber: 1170
    functionLinenumberEnd: 1210
    functionName: eap_sim_report_notification
    functionSourceFile: /src/hostap/src/eap_common/eap_sim_common.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void eap_sim_report_notification(void *msg_ctx, int notification, int
      aka)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - val
    - len
    - c
    argTypes:
    - u8*
    - size_t
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1224
      start: 1213
    functionDepth: 0
    functionLinenumber: 1213
    functionLinenumberEnd: 1224
    functionName: get_last_char
    functionSourceFile: /src/hostap/src/eap_common/eap_sim_common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 * get_last_char(const u8 *val, size_t len, char c)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/eap_common/eap_sim_common.c:1231,1
    - Dst: os_memcmp
      Src: /src/hostap/src/eap_common/eap_sim_common.c:1234,1
    - Dst: os_memcmp
      Src: /src/hostap/src/eap_common/eap_sim_common.c:1238,1
    - Dst: get_last_char
      Src: /src/hostap/src/eap_common/eap_sim_common.c:1246,1
    - Dst: eap_sim_anonymous_username
      Src: /src/hostap/src/eap_common/eap_sim_common.c:1249,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - id
    - id_len
    argTypes:
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 1227
    functionDepth: 1
    functionLinenumber: 1227
    functionLinenumberEnd: 1254
    functionName: eap_sim_anonymous_username
    functionSourceFile: /src/hostap/src/eap_common/eap_sim_common.c
    functionUses: 3
    functionsReached:
    - os_strlen
    - eap_sim_anonymous_username
    - os_memcmp
    - get_last_char
    linkageType: ''
    returnType: int
    signature: int eap_sim_anonymous_username(const u8 *id, size_t id_len)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sake_common.c:25,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sake_common.c:27,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sake_common.c:34,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sake_common.c:36,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sake_common.c:43,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sake_common.c:45,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sake_common.c:52,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sake_common.c:54,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sake_common.c:61,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sake_common.c:66,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sake_common.c:71,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sake_common.c:76,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sake_common.c:81,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sake_common.c:83,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sake_common.c:90,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sake_common.c:92,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sake_common.c:99,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sake_common.c:104,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sake_common.c:109,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sake_common.c:112,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sake_common.c:119,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sake_common.c:124,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sake_common.c:126,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sake_common.c:134,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sake_common.c:138,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sake_common.c:144,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 115
    argCount: 4
    argNames:
    - attr
    - attr_id
    - len
    - data
    argTypes:
    - struct eap_sake_parse_attr*
    - u8
    - u8
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 150
    functionName: eap_sake_parse_add_attr
    functionSourceFile: /src/hostap/src/eap_common/eap_sake_common.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int eap_sake_parse_add_attr(struct eap_sake_parse_attr *attr,\n\t\t\t\t
      \  u8 attr_id, u8 len, const u8 *data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/eap_common/eap_sake_common.c:165,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sake_common.c:170,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sake_common.c:178,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sake_common.c:186,1
    - Dst: eap_sake_parse_add_attr
      Src: /src/hostap/src/eap_common/eap_sake_common.c:190,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - buf
    - len
    - attr
    argTypes:
    - u8*
    - size_t
    - struct eap_sake_parse_attr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 197
    functionName: eap_sake_parse_attributes
    functionSourceFile: /src/hostap/src/eap_common/eap_sake_common.c
    functionUses: 5
    functionsReached:
    - wpa_printf
    - eap_sake_parse_add_attr
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int eap_sake_parse_attributes(const u8 *buf, size_t len,\n\t\t\t      struct
      eap_sake_parse_attr *attr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/eap_common/eap_sake_common.c:224,1
    - Dst: hmac_sha1_vector
      Src: /src/hostap/src/eap_common/eap_sake_common.c:241,1
    - Dst: hmac_sha1_vector
      Src: /src/hostap/src/eap_common/eap_sake_common.c:246,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_sake_common.c:249,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 9
    argNames:
    - key
    - key_len
    - label
    - data
    - data_len
    - data2
    - data2_len
    - buf
    - buf_len
    argTypes:
    - u8*
    - size_t
    - char*
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 256
    functionName: eap_sake_kdf
    functionSourceFile: /src/hostap/src/eap_common/eap_sake_common.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - hmac_sha1_vector
    - os_memcpy
    linkageType: ''
    returnType: int
    signature: "int eap_sake_kdf(const u8 *key, size_t key_len, const char *label,\n\t\t\tconst
      u8 *data, size_t data_len,\n\t\t\tconst u8 *data2, size_t data2_len,\n\t\t\tu8
      *buf, size_t buf_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_sake_common.c:280,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_sake_common.c:282,1
    - Dst: eap_sake_kdf
      Src: /src/hostap/src/eap_common/eap_sake_common.c:284,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_sake_common.c:289,1
    - Dst: eap_sake_kdf
      Src: /src/hostap/src/eap_common/eap_sake_common.c:290,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_sake_common.c:294,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_sake_common.c:296,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_sake_common.c:299,1
    - Dst: eap_sake_kdf
      Src: /src/hostap/src/eap_common/eap_sake_common.c:301,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_sake_common.c:306,1
    - Dst: eap_sake_kdf
      Src: /src/hostap/src/eap_common/eap_sake_common.c:307,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_sake_common.c:311,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_sake_common.c:312,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_sake_common.c:313,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_sake_common.c:314,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 7
    argNames:
    - root_secret_a
    - root_secret_b
    - rand_s
    - rand_p
    - tek
    - msk
    - emsk
    argTypes:
    - u8*
    - u8*
    - u8*
    - u8*
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 316
    functionName: eap_sake_derive_keys
    functionSourceFile: /src/hostap/src/eap_common/eap_sake_common.c
    functionUses: 2
    functionsReached:
    - eap_sake_kdf
    - wpa_printf
    - wpa_hexdump_key
    - os_memcpy
    linkageType: ''
    returnType: int
    signature: "int eap_sake_derive_keys(const u8 *root_secret_a, const u8 *root_secret_b,\n\t\t\t
      const u8 *rand_s, const u8 *rand_p, u8 *tek, u8 *msk,\n\t\t\t u8 *emsk)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/eap_common/eap_sake_common.c:348,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_sake_common.c:354,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_sake_common.c:359,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_sake_common.c:364,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_sake_common.c:365,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_sake_common.c:369,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_sake_common.c:374,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_sake_common.c:379,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_sake_common.c:380,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_sake_common.c:384,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_common/eap_sake_common.c:385,1
    - Dst: eap_sake_kdf
      Src: /src/hostap/src/eap_common/eap_sake_common.c:387,1
    - Dst: os_free
      Src: /src/hostap/src/eap_common/eap_sake_common.c:392,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 12
    argNames:
    - tek_auth
    - rand_s
    - rand_p
    - serverid
    - serverid_len
    - peerid
    - peerid_len
    - peer
    - eap
    - eap_len
    - mic_pos
    - mic
    argTypes:
    - u8*
    - u8*
    - u8*
    - u8*
    - size_t
    - u8*
    - size_t
    - int
    - u8*
    - size_t
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 395
    functionName: eap_sake_compute_mic
    functionSourceFile: /src/hostap/src/eap_common/eap_sake_common.c
    functionUses: 5
    functionsReached:
    - eap_sake_kdf
    - os_memcpy
    - os_malloc
    - os_free
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int eap_sake_compute_mic(const u8 *tek_auth,\n\t\t\t const u8 *rand_s,
      const u8 *rand_p,\n\t\t\t const u8 *serverid, size_t serverid_len,\n\t\t\t const
      u8 *peerid, size_t peerid_len,\n\t\t\t int peer, const u8 *eap, size_t eap_len,\n\t\t\t
      const u8 *mic_pos, u8 *mic)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_common/eap_sake_common.c:401,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_common/eap_sake_common.c:402,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_common/eap_sake_common.c:404,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_common/eap_sake_common.c:406,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_common/eap_sake_common.c:406,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - buf
    - type
    - data
    - len
    argTypes:
    - struct wpabuf*
    - u8
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 407
    functionName: eap_sake_add_attr
    functionSourceFile: /src/hostap/src/eap_common/eap_sake_common.c
    functionUses: 4
    functionsReached:
    - wpabuf_put
    - wpabuf_put_data
    - wpabuf_put_u8
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void eap_sake_add_attr(struct wpabuf *buf, u8 type, const u8 *data,\n\t\t
      \      size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:25,1
    - Dst: crypto_hash_init
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 28
    functionName: eap_pwd_h_init
    functionSourceFile: /src/hostap/src/eap_common/eap_pwd_common.c
    functionUses: 3
    functionsReached:
    - crypto_hash_init
    - os_memset
    linkageType: ''
    returnType: struct crypto_hash
    signature: struct crypto_hash * eap_pwd_h_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_hash_update
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - hash
    - data
    - len
    argTypes:
    - struct crypto_hash*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: eap_pwd_h_update
    functionSourceFile: /src/hostap/src/eap_common/eap_pwd_common.c
    functionUses: 3
    functionsReached:
    - crypto_hash_update
    linkageType: ''
    returnType: void
    signature: void eap_pwd_h_update(struct crypto_hash *hash, const u8 *data, size_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_hash_finish
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hash
    - digest
    argTypes:
    - struct crypto_hash*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: eap_pwd_h_final
    functionSourceFile: /src/hostap/src/eap_common/eap_pwd_common.c
    functionUses: 3
    functionsReached:
    - crypto_hash_finish
    linkageType: ''
    returnType: void
    signature: void eap_pwd_h_final(struct crypto_hash *hash, u8 *digest)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: htons
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:55,1
    - Dst: htons
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:58,1
    - Dst: crypto_hash_init
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:59,1
    - Dst: crypto_hash_update
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:64,1
    - Dst: crypto_hash_update
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:65,1
    - Dst: crypto_hash_update
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:66,1
    - Dst: crypto_hash_update
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:67,1
    - Dst: crypto_hash_finish
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:69,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:72,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:74,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 6
    argNames:
    - key
    - keylen
    - label
    - labellen
    - result
    - resultbitlen
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 86
    functionName: eap_pwd_kdf
    functionSourceFile: /src/hostap/src/eap_common/eap_pwd_common.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - crypto_hash_init
    - crypto_hash_update
    - crypto_hash_finish
    - htons
    linkageType: ''
    returnType: int
    signature: "int eap_pwd_kdf(const u8 *key, size_t keylen, const u8 *label,\n\t\t
      \      size_t labellen, u8 *result, size_t resultbitlen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dragonfly_suitable_group
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:93,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:94,1
    - Dst: os_zalloc
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:97,1
    - Dst: crypto_ec_init
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:100,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:102,1
    - Dst: os_free
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:103,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - num
    argTypes:
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 111
    functionName: get_eap_pwd_group
    functionSourceFile: /src/hostap/src/eap_common/eap_pwd_common.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - os_zalloc
    - dragonfly_suitable_group
    - os_free
    - crypto_ec_init
    linkageType: ''
    returnType: EAP_PWD_group
    signature: EAP_PWD_group * get_eap_pwd_group(u16 num)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:148,1
    - Dst: crypto_ec_get_prime
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:150,1
    - Dst: crypto_ec_prime_len_bits
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:151,1
    - Dst: crypto_ec_prime_len
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:152,1
    - Dst: crypto_bignum_to_bin
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:153,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:157,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:158,1
    - Dst: dragonfly_get_random_qr_qnr
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:164,1
    - Dst: crypto_bignum_to_bin
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:165,1
    - Dst: crypto_bignum_to_bin
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:167,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:171,1
    - Dst: eap_pwd_h_init
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:187,1
    - Dst: eap_pwd_h_update
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:190,1
    - Dst: eap_pwd_h_update
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:191,1
    - Dst: eap_pwd_h_update
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:192,1
    - Dst: eap_pwd_h_update
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:193,1
    - Dst: eap_pwd_h_update
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:194,1
    - Dst: eap_pwd_h_final
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:195,1
    - Dst: const_time_select_u8
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:197,1
    - Dst: eap_pwd_kdf
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:199,1
    - Dst: os_strlen
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:201,1
    - Dst: buf_shift_right
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:205,1
    - Dst: const_time_memcmp
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:207,1
    - Dst: const_time_fill_msb
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:210,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:215,1
    - Dst: crypto_bignum_init_set
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:216,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:218,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:223,1
    - Dst: const_time_select_bin
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:225,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:233,1
    - Dst: crypto_ec_point_compute_y_sqr
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:234,1
    - Dst: dragonfly_is_quadratic_residue_blind
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:238,1
    - Dst: const_time_select_u8
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:242,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:250,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:259,1
    - Dst: crypto_bignum_init_set
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:260,1
    - Dst: crypto_ec_point_compute_y_sqr
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:271,1
    - Dst: dragonfly_sqrt
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:273,1
    - Dst: crypto_bignum_to_bin
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:274,1
    - Dst: crypto_bignum_sub
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:275,1
    - Dst: crypto_bignum_to_bin
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:276,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:278,1
    - Dst: const_time_eq
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:284,1
    - Dst: const_time_select_bin
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:285,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:287,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:288,1
    - Dst: crypto_ec_point_from_bin
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:289,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:291,1
    - Dst: crypto_ec_point_is_on_curve
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:300,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:301,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:305,1
    - Dst: crypto_ec_point_deinit
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:309,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:314,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:315,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:316,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:317,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:318,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:319,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:320,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:321,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:322,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:323,1
    - Dst: forced_memzero
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:324,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 111
    argCount: 9
    argNames:
    - grp
    - num
    - password
    - password_len
    - id_server
    - id_server_len
    - id_peer
    - id_peer_len
    - token
    argTypes:
    - EAP_PWD_group*
    - u16
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 327
    functionName: compute_password_element
    functionSourceFile: /src/hostap/src/eap_common/eap_pwd_common.c
    functionUses: 2
    functionsReached:
    - crypto_bignum_to_bin
    - crypto_ec_get_prime
    - eap_pwd_kdf
    - forced_memzero
    - crypto_ec_point_compute_y_sqr
    - const_time_memcmp
    - crypto_ec_prime_len
    - crypto_bignum_init_set
    - dragonfly_is_quadratic_residue_blind
    - os_strlen
    - wpa_printf
    - const_time_select_u8
    - dragonfly_get_random_qr_qnr
    - crypto_ec_point_deinit
    - eap_pwd_h_final
    - crypto_bignum_deinit
    - const_time_fill_msb
    - buf_shift_right
    - wpa_hexdump_key
    - dragonfly_sqrt
    - eap_pwd_h_update
    - os_malloc
    - crypto_ec_point_from_bin
    - crypto_ec_point_is_on_curve
    - os_memset
    - crypto_ec_prime_len_bits
    - const_time_eq
    - os_memcpy
    - eap_pwd_h_init
    - crypto_bignum_sub
    - const_time_select_bin
    - bin_clear_free
    linkageType: ''
    returnType: int
    signature: "int compute_password_element(EAP_PWD_group *grp, u16 num,\n\t\t\t
      \    const u8 *password, size_t password_len,\n\t\t\t     const u8 *id_server,
      size_t id_server_len,\n\t\t\t     const u8 *id_peer, size_t id_peer_len,\n\t\t\t
      \    const u8 *token)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: crypto_ec_prime_len
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:341,1
    - Dst: crypto_ec_order_len
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:342,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:344,1
    - Dst: eap_pwd_h_init
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:353,1
    - Dst: os_free
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:355,1
    - Dst: eap_pwd_h_update
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:358,1
    - Dst: crypto_bignum_to_bin
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:359,1
    - Dst: os_free
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:361,1
    - Dst: eap_pwd_h_update
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:365,1
    - Dst: crypto_bignum_to_bin
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:366,1
    - Dst: os_free
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:368,1
    - Dst: eap_pwd_h_update
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:372,1
    - Dst: eap_pwd_h_final
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:373,1
    - Dst: eap_pwd_h_init
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:376,1
    - Dst: os_free
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:378,1
    - Dst: crypto_bignum_to_bin
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:382,1
    - Dst: os_free
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:383,1
    - Dst: eap_pwd_h_update
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:387,1
    - Dst: os_free
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:388,1
    - Dst: eap_pwd_h_update
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:389,1
    - Dst: eap_pwd_h_update
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:390,1
    - Dst: eap_pwd_h_final
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:391,1
    - Dst: eap_pwd_kdf
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:394,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:400,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:401,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 44
    argCount: 10
    argNames:
    - grp
    - k
    - peer_scalar
    - server_scalar
    - confirm_peer
    - confirm_server
    - ciphersuite
    - msk
    - emsk
    - session_id
    argTypes:
    - EAP_PWD_group*
    - struct crypto_bignum*
    - struct crypto_bignum*
    - struct crypto_bignum*
    - u8*
    - u8*
    - u32*
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 404
    functionName: compute_keys
    functionSourceFile: /src/hostap/src/eap_common/eap_pwd_common.c
    functionUses: 2
    functionsReached:
    - crypto_bignum_to_bin
    - os_memcpy
    - eap_pwd_kdf
    - eap_pwd_h_init
    - eap_pwd_h_update
    - os_malloc
    - eap_pwd_h_final
    - os_free
    - crypto_ec_prime_len
    - crypto_ec_order_len
    linkageType: ''
    returnType: int
    signature: "int compute_keys(EAP_PWD_group *grp, const struct crypto_bignum *k,\n\t\t
      const struct crypto_bignum *peer_scalar,\n\t\t const struct crypto_bignum *server_scalar,\n\t\t
      const u8 *confirm_peer, const u8 *confirm_server,\n\t\t const u32 *ciphersuite,
      u8 *msk, u8 *emsk, u8 *session_id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_bignum_init_set
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:413,1
    - Dst: crypto_bignum_is_zero
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:414,1
    - Dst: crypto_bignum_cmp
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:415,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:417,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - prime
    - buf
    - len
    argTypes:
    - struct crypto_bignum*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 419
    functionName: eap_pwd_element_coord_ok
    functionSourceFile: /src/hostap/src/eap_common/eap_pwd_common.c
    functionUses: 0
    functionsReached:
    - crypto_bignum_is_zero
    - crypto_bignum_init_set
    - crypto_bignum_cmp
    - crypto_bignum_deinit
    linkageType: ''
    returnType: int
    signature: "int eap_pwd_element_coord_ok(const struct crypto_bignum *prime,\n\t\t\t\t
      \   const u8 *buf, size_t len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: crypto_ec_get_prime
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:429,1
    - Dst: crypto_ec_prime_len
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:430,1
    - Dst: eap_pwd_element_coord_ok
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:433,1
    - Dst: eap_pwd_element_coord_ok
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:434,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:435,1
    - Dst: crypto_ec_point_from_bin
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:439,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:441,1
    - Dst: crypto_ec_point_is_on_curve
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:446,1
    - Dst: crypto_ec_point_is_at_infinity
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:447,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:448,1
    - Dst: crypto_ec_point_deinit
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:455,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - group
    - buf
    argTypes:
    - EAP_PWD_group*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 458
    functionName: eap_pwd_get_element
    functionSourceFile: /src/hostap/src/eap_common/eap_pwd_common.c
    functionUses: 2
    functionsReached:
    - crypto_ec_get_prime
    - wpa_printf
    - crypto_ec_point_deinit
    - crypto_ec_point_is_at_infinity
    - eap_pwd_element_coord_ok
    - crypto_ec_prime_len
    - crypto_ec_point_from_bin
    - crypto_ec_point_is_on_curve
    linkageType: ''
    returnType: struct crypto_ec_point
    signature: "struct crypto_ec_point * eap_pwd_get_element(EAP_PWD_group *group,\n\t\t\t\t\t
      \    const u8 *buf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_ec_get_order
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:467,1
    - Dst: crypto_ec_order_len
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:468,1
    - Dst: crypto_bignum_init_set
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:471,1
    - Dst: crypto_bignum_is_zero
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:472,1
    - Dst: crypto_bignum_is_one
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:473,1
    - Dst: crypto_bignum_cmp
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:474,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:475,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:476,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - group
    - buf
    argTypes:
    - EAP_PWD_group*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 481
    functionName: eap_pwd_get_scalar
    functionSourceFile: /src/hostap/src/eap_common/eap_pwd_common.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - crypto_bignum_is_zero
    - crypto_bignum_cmp
    - crypto_ec_get_order
    - crypto_bignum_deinit
    - crypto_bignum_init_set
    - crypto_bignum_is_one
    - crypto_ec_order_len
    linkageType: ''
    returnType: struct crypto_bignum
    signature: struct crypto_bignum * eap_pwd_get_scalar(EAP_PWD_group *group, const
      u8 *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dragonfly_generate_scalar
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:488,1
    - Dst: crypto_ec_get_order
      Src: /src/hostap/src/eap_common/eap_pwd_common.c:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - group
    - _rand
    - _mask
    - scalar
    argTypes:
    - EAP_PWD_group*
    - struct crypto_bignum*
    - struct crypto_bignum*
    - struct crypto_bignum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 490
    functionName: eap_pwd_get_rand_mask
    functionSourceFile: /src/hostap/src/eap_common/eap_pwd_common.c
    functionUses: 2
    functionsReached:
    - dragonfly_generate_scalar
    - crypto_ec_get_order
    linkageType: ''
    returnType: int
    signature: "int eap_pwd_get_rand_mask(EAP_PWD_group *group, struct crypto_bignum
      *_rand,\n\t\t\t  struct crypto_bignum *_mask,\n\t\t\t  struct crypto_bignum
      *scalar)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/eap_common/eap_ikev2_common.c:31,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_ikev2_common.c:34,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_ikev2_common.c:35,1
    - Dst: ikev2_prf_plus
      Src: /src/hostap/src/eap_common/eap_ikev2_common.c:37,1
    - Dst: os_free
      Src: /src/hostap/src/eap_common/eap_ikev2_common.c:39,1
    - Dst: os_free
      Src: /src/hostap/src/eap_common/eap_ikev2_common.c:42,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_ikev2_common.c:44,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 7
    argNames:
    - prf
    - keys
    - i_nonce
    - i_nonce_len
    - r_nonce
    - r_nonce_len
    - keymat
    argTypes:
    - int
    - struct ikev2_keys*
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 48
    functionName: eap_ikev2_derive_keymat
    functionSourceFile: /src/hostap/src/eap_common/eap_ikev2_common.c
    functionUses: 2
    functionsReached:
    - os_memcpy
    - wpa_hexdump_key
    - ikev2_prf_plus
    - os_malloc
    - os_free
    linkageType: ''
    returnType: int
    signature: "int eap_ikev2_derive_keymat(int prf, struct ikev2_keys *keys,\n\t\t\t
      \   const u8 *i_nonce, size_t i_nonce_len,\n\t\t\t    const u8 *r_nonce, size_t
      r_nonce_len,\n\t\t\t    u8 *keymat)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_msg_alloc
      Src: /src/hostap/src/eap_common/eap_ikev2_common.c:55,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_ikev2_common.c:57,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_ikev2_common.c:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - id
    - code
    argTypes:
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 65
    functionName: eap_ikev2_build_frag_ack
    functionSourceFile: /src/hostap/src/eap_common/eap_ikev2_common.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - eap_msg_alloc
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * eap_ikev2_build_frag_ack(u8 id, u8 code)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ikev2_get_integ
      Src: /src/hostap/src/eap_common/eap_ikev2_common.c:77,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_ikev2_common.c:79,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_ikev2_common.c:86,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_ikev2_common.c:92,1
    - Dst: ikev2_integ_hash
      Src: /src/hostap/src/eap_common/eap_ikev2_common.c:96,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_common/eap_ikev2_common.c:97,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_common/eap_ikev2_common.c:98,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_ikev2_common.c:99,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/eap_common/eap_ikev2_common.c:103,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_ikev2_common.c:104,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_common/eap_ikev2_common.c:105,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_common/eap_ikev2_common.c:107,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_ikev2_common.c:112,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 6
    argNames:
    - integ_alg
    - keys
    - initiator
    - msg
    - pos
    - end
    argTypes:
    - int
    - struct ikev2_keys*
    - int
    - struct wpabuf*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 116
    functionName: eap_ikev2_validate_icv
    functionSourceFile: /src/hostap/src/eap_common/eap_ikev2_common.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - ikev2_get_integ
    - wpa_hexdump
    - wpabuf_len
    - wpabuf_head
    - os_memcmp_const
    - ikev2_integ_hash
    linkageType: ''
    returnType: int
    signature: "int eap_ikev2_validate_icv(int integ_alg, struct ikev2_keys *keys,\n\t\t\t
      \  int initiator, const struct wpabuf *msg,\n\t\t\t   const u8 *pos, const u8
      *end)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_msg_alloc
      Src: /src/hostap/src/eap_common/eap_wsc_common.c:21,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_wsc_common.c:23,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_wsc_common.c:28,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_common/eap_wsc_common.c:29,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_common/eap_wsc_common.c:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - id
    - code
    argTypes:
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 33
    functionName: eap_wsc_build_frag_ack
    functionSourceFile: /src/hostap/src/eap_common/eap_wsc_common.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - eap_msg_alloc
    - wpabuf_put_u8
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * eap_wsc_build_frag_ack(u8 id, u8 code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 9
    argNames:
    - identity
    - identity_len
    - ik
    - ck
    - k_encr
    - k_aut
    - k_re
    - msk
    - emsk
    argTypes:
    - u8*
    - size_t
    - u8*
    - u8*
    - u8*
    - u8*
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: eap_aka_prime_derive_keys
    functionSourceFile: /src/hostap/src/eap_common/eap_sim_common.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void eap_aka_prime_derive_keys(const u8 *identity,\n\t\t\t\t\t     size_t
      identity_len,\n\t\t\t\t\t     const u8 *ik, const u8 *ck,\n\t\t\t\t\t     u8
      *k_encr, u8 *k_aut, u8 *k_re,\n\t\t\t\t\t     u8 *msk, u8 *emsk)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - k_re
    - counter
    - identity
    - identity_len
    - nonce_s
    - msk
    - emsk
    argTypes:
    - u8*
    - u16
    - u8*
    - size_t
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 123
    functionName: eap_aka_prime_derive_keys_reauth
    functionSourceFile: /src/hostap/src/eap_common/eap_sim_common.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int eap_aka_prime_derive_keys_reauth(const u8 *k_re, u16 counter,\n\t\t\t\t\t\t
      \  const u8 *identity,\n\t\t\t\t\t\t   size_t identity_len,\n\t\t\t\t\t\t   const
      u8 *nonce_s, u8 *msk,\n\t\t\t\t\t\t   u8 *emsk)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - k_aut
    - req
    - mac
    - extra
    - extra_len
    argTypes:
    - u8*
    - struct wpabuf*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: eap_sim_verify_mac_sha256
    functionSourceFile: /src/hostap/src/eap_common/eap_sim_common.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int eap_sim_verify_mac_sha256(const u8 *k_aut,\n\t\t\t\t\t    const
      struct wpabuf *req,\n\t\t\t\t\t    const u8 *mac, const u8 *extra,\n\t\t\t\t\t
      \   size_t extra_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/eap_common/eap_pax_common.c:50,1
    - Dst: hmac_sha1_vector
      Src: /src/hostap/src/eap_common/eap_pax_common.c:60,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_pax_common.c:62,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 8
    argNames:
    - mac_id
    - key
    - key_len
    - identifier
    - entropy
    - entropy_len
    - output_len
    - output
    argTypes:
    - u8
    - u8*
    - size_t
    - char*
    - u8*
    - size_t
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 68
    functionName: eap_pax_kdf
    functionSourceFile: /src/hostap/src/eap_common/eap_pax_common.c
    functionUses: 4
    functionsReached:
    - os_strlen
    - hmac_sha1_vector
    - os_memcpy
    linkageType: ''
    returnType: int
    signature: "int eap_pax_kdf(u8 mac_id, const u8 *key, size_t key_len,\n\t\tconst
      char *identifier,\n\t\tconst u8 *entropy, size_t entropy_len,\n\t\tsize_t output_len,
      u8 *output)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hmac_sha1_vector
      Src: /src/hostap/src/eap_common/eap_pax_common.c:110,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_pax_common.c:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 10
    argNames:
    - mac_id
    - key
    - key_len
    - data1
    - data1_len
    - data2
    - data2_len
    - data3
    - data3_len
    - mac
    argTypes:
    - u8
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 115
    functionName: eap_pax_mac
    functionSourceFile: /src/hostap/src/eap_common/eap_pax_common.c
    functionUses: 7
    functionsReached:
    - hmac_sha1_vector
    - os_memcpy
    linkageType: ''
    returnType: int
    signature: "int eap_pax_mac(u8 mac_id, const u8 *key, size_t key_len,\n\t\tconst
      u8 *data1, size_t data1_len,\n\t\tconst u8 *data2, size_t data2_len,\n\t\tconst
      u8 *data3, size_t data3_len,\n\t\tu8 *mac)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_pax_common.c:132,1
    - Dst: eap_pax_kdf
      Src: /src/hostap/src/eap_common/eap_pax_common.c:133,1
    - Dst: eap_pax_kdf
      Src: /src/hostap/src/eap_common/eap_pax_common.c:135,1
    - Dst: eap_pax_kdf
      Src: /src/hostap/src/eap_common/eap_pax_common.c:137,1
    - Dst: eap_pax_kdf
      Src: /src/hostap/src/eap_common/eap_pax_common.c:139,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_pax_common.c:143,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_pax_common.c:144,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_pax_common.c:145,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_pax_common.c:146,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_pax_common.c:147,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 7
    argNames:
    - mac_id
    - ak
    - e
    - mk
    - ck
    - ick
    - mid
    argTypes:
    - u8
    - u8*
    - u8*
    - u8*
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 150
    functionName: eap_pax_initial_key_derivation
    functionSourceFile: /src/hostap/src/eap_common/eap_pax_common.c
    functionUses: 2
    functionsReached:
    - eap_pax_kdf
    - wpa_printf
    - wpa_hexdump_key
    linkageType: ''
    returnType: int
    signature: "int eap_pax_initial_key_derivation(u8 mac_id, const u8 *ak, const
      u8 *e,\n\t\t\t\t   u8 *mk, u8 *ck, u8 *ick, u8 *mid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: host_to_be16
      Src: /src/hostap/src/eap_common/eap_teap_common.c:27,1
    - Dst: host_to_be16
      Src: /src/hostap/src/eap_common/eap_teap_common.c:28,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_common/eap_teap_common.c:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - buf
    - type
    - len
    argTypes:
    - struct wpabuf*
    - u16
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 30
    functionName: eap_teap_put_tlv_hdr
    functionSourceFile: /src/hostap/src/eap_common/eap_teap_common.c
    functionUses: 2
    functionsReached:
    - host_to_be16
    - wpabuf_put_data
    linkageType: ''
    returnType: void
    signature: void eap_teap_put_tlv_hdr(struct wpabuf *buf, u16 type, u16 len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eap_teap_put_tlv_hdr
      Src: /src/hostap/src/eap_common/eap_teap_common.c:35,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_common/eap_teap_common.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - buf
    - type
    - data
    - len
    argTypes:
    - struct wpabuf*
    - u16
    - void*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: eap_teap_put_tlv
    functionSourceFile: /src/hostap/src/eap_common/eap_teap_common.c
    functionUses: 1
    functionsReached:
    - eap_teap_put_tlv_hdr
    - wpabuf_put_data
    linkageType: ''
    returnType: void
    signature: void eap_teap_put_tlv(struct wpabuf *buf, u16 type, const void *data,
      u16 len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eap_teap_put_tlv_hdr
      Src: /src/hostap/src/eap_common/eap_teap_common.c:43,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_common/eap_teap_common.c:43,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/eap_common/eap_teap_common.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - buf
    - type
    - data
    argTypes:
    - struct wpabuf*
    - u16
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: eap_teap_put_tlv_buf
    functionSourceFile: /src/hostap/src/eap_common/eap_teap_common.c
    functionUses: 0
    functionsReached:
    - eap_teap_put_tlv_hdr
    - wpabuf_put_buf
    - wpabuf_len
    linkageType: ''
    returnType: void
    signature: "void eap_teap_put_tlv_buf(struct wpabuf *buf, u16 type,\n\t\t\t  const
      struct wpabuf *data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_teap_common.c:56,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eap_common/eap_teap_common.c:57,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_common/eap_teap_common.c:57,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_teap_common.c:59,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_common/eap_teap_common.c:61,1
    - Dst: eap_teap_put_tlv_buf
      Src: /src/hostap/src/eap_common/eap_teap_common.c:64,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_common/eap_teap_common.c:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - buf
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 48
    functionDepth: 3
    functionLinenumber: 48
    functionLinenumberEnd: 70
    functionName: eap_teap_tlv_eap_payload
    functionSourceFile: /src/hostap/src/eap_common/eap_teap_common.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - wpabuf_len
    - wpabuf_free
    - wpabuf_alloc
    - eap_teap_put_tlv_buf
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * eap_teap_tlv_eap_payload(struct wpabuf *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tls_cipher_suite_mac_sha384
      Src: /src/hostap/src/eap_common/eap_teap_common.c:78,1
    - Dst: tls_prf_sha384
      Src: /src/hostap/src/eap_common/eap_teap_common.c:79,1
    - Dst: tls_prf_sha256
      Src: /src/hostap/src/eap_common/eap_teap_common.c:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 8
    argNames:
    - tls_cs
    - secret
    - secret_len
    - label
    - seed
    - seed_len
    - out
    - outlen
    argTypes:
    - u16
    - u8*
    - size_t
    - char*
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 83
    functionName: eap_teap_tls_prf
    functionSourceFile: /src/hostap/src/eap_common/eap_teap_common.c
    functionUses: 0
    functionsReached:
    - tls_prf_sha384
    - tls_prf_sha256
    - tls_cipher_suite_mac_sha384
    linkageType: ''
    returnType: int
    signature: "int eap_teap_tls_prf(u16 tls_cs, const u8 *secret, size_t secret_len,\n\t\t\t
      \   const char *label, const u8 *seed, size_t seed_len,\n\t\t\t    u8 *out,
      size_t outlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_teap_tls_prf
      Src: /src/hostap/src/eap_common/eap_teap_common.c:93,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_teap_common.c:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - tls_cs
    - simck
    - msk
    argTypes:
    - u16
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 100
    functionName: eap_teap_derive_eap_msk
    functionSourceFile: /src/hostap/src/eap_common/eap_teap_common.c
    functionUses: 2
    functionsReached:
    - eap_teap_tls_prf
    - wpa_hexdump_key
    linkageType: ''
    returnType: int
    signature: int eap_teap_derive_eap_msk(u16 tls_cs, const u8 *simck, u8 *msk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_teap_tls_prf
      Src: /src/hostap/src/eap_common/eap_teap_common.c:111,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_teap_common.c:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - tls_cs
    - simck
    - emsk
    argTypes:
    - u16
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 118
    functionName: eap_teap_derive_eap_emsk
    functionSourceFile: /src/hostap/src/eap_common/eap_teap_common.c
    functionUses: 2
    functionsReached:
    - eap_teap_tls_prf
    - wpa_hexdump_key
    linkageType: ''
    returnType: int
    signature: int eap_teap_derive_eap_emsk(u16 tls_cs, const u8 *simck, u8 *emsk)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_teap_common.c:146,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_teap_common.c:147,1
    - Dst: eap_teap_tls_prf
      Src: /src/hostap/src/eap_common/eap_teap_common.c:155,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_teap_common.c:160,1
    - Dst: eap_teap_tls_prf
      Src: /src/hostap/src/eap_common/eap_teap_common.c:163,1
    - Dst: forced_memzero
      Src: /src/hostap/src/eap_common/eap_teap_common.c:167,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_teap_common.c:171,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_teap_common.c:172,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_teap_common.c:174,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_teap_common.c:176,1
    - Dst: forced_memzero
      Src: /src/hostap/src/eap_common/eap_teap_common.c:178,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_common/eap_teap_common.c:184,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_teap_common.c:187,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_teap_common.c:188,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_common/eap_teap_common.c:190,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_teap_common.c:191,1
    - Dst: eap_teap_tls_prf
      Src: /src/hostap/src/eap_common/eap_teap_common.c:194,1
    - Dst: forced_memzero
      Src: /src/hostap/src/eap_common/eap_teap_common.c:197,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_teap_common.c:201,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_teap_common.c:202,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_teap_common.c:204,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_teap_common.c:205,1
    - Dst: forced_memzero
      Src: /src/hostap/src/eap_common/eap_teap_common.c:207,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 10
    argNames:
    - tls_cs
    - prev_s_imck
    - msk
    - msk_len
    - emsk
    - emsk_len
    - s_imck_msk
    - cmk_msk
    - s_imck_emsk
    - cmk_emsk
    argTypes:
    - u16
    - u8*
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 210
    functionName: eap_teap_derive_imck
    functionSourceFile: /src/hostap/src/eap_common/eap_teap_common.c
    functionUses: 3
    functionsReached:
    - wpa_hexdump_key
    - os_memcpy
    - eap_teap_tls_prf
    - forced_memzero
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int eap_teap_derive_imck(u16 tls_cs, const u8 *prev_s_imck,\n\t\t\t
      const u8 *msk, size_t msk_len,\n\t\t\t const u8 *emsk, size_t emsk_len,\n\t\t\t
      u8 *s_imck_msk, u8 *cmk_msk,\n\t\t\t u8 *s_imck_emsk, u8 *cmk_emsk)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - list
    - count
    - cs
    argTypes:
    - u16*
    - size_t
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 223
    functionName: tls_cipher_suite_match
    functionSourceFile: /src/hostap/src/eap_common/eap_teap_common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tls_cipher_suite_match(const u16 *list, size_t count, u16 cs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tls_cipher_suite_match
      Src: /src/hostap/src/eap_common/eap_teap_common.c:243,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/eap_common/eap_teap_common.c:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cs
    argTypes:
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 244
    functionName: tls_cipher_suite_mac_sha1
    functionSourceFile: /src/hostap/src/eap_common/eap_teap_common.c
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    - tls_cipher_suite_match
    linkageType: ''
    returnType: int
    signature: int tls_cipher_suite_mac_sha1(u16 cs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tls_cipher_suite_match
      Src: /src/hostap/src/eap_common/eap_teap_common.c:268,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/eap_common/eap_teap_common.c:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cs
    argTypes:
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 269
    functionName: tls_cipher_suite_mac_sha256
    functionSourceFile: /src/hostap/src/eap_common/eap_teap_common.c
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    - tls_cipher_suite_match
    linkageType: ''
    returnType: int
    signature: int tls_cipher_suite_mac_sha256(u16 cs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tls_cipher_suite_match
      Src: /src/hostap/src/eap_common/eap_teap_common.c:288,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/eap_common/eap_teap_common.c:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cs
    argTypes:
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 289
    functionName: tls_cipher_suite_mac_sha384
    functionSourceFile: /src/hostap/src/eap_common/eap_teap_common.c
    functionUses: 1
    functionsReached:
    - ARRAY_SIZE
    - tls_cipher_suite_match
    linkageType: ''
    returnType: int
    signature: int tls_cipher_suite_mac_sha384(u16 cs)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/eap_common/eap_teap_common.c:299,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_common/eap_teap_common.c:300,1
    - Dst: tls_cipher_suite_mac_sha1
      Src: /src/hostap/src/eap_common/eap_teap_common.c:302,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_teap_common.c:303,1
    - Dst: hmac_sha1
      Src: /src/hostap/src/eap_common/eap_teap_common.c:304,1
    - Dst: tls_cipher_suite_mac_sha256
      Src: /src/hostap/src/eap_common/eap_teap_common.c:305,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_teap_common.c:306,1
    - Dst: hmac_sha256
      Src: /src/hostap/src/eap_common/eap_teap_common.c:307,1
    - Dst: tls_cipher_suite_mac_sha384
      Src: /src/hostap/src/eap_common/eap_teap_common.c:308,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_teap_common.c:309,1
    - Dst: hmac_sha384
      Src: /src/hostap/src/eap_common/eap_teap_common.c:310,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_teap_common.c:312,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_teap_common.c:322,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 7
    argNames:
    - tls_cs
    - cmk
    - cmk_len
    - buffer
    - buffer_len
    - mac
    - mac_len
    argTypes:
    - u16
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 292
    functionDepth: 2
    functionLinenumber: 292
    functionLinenumberEnd: 324
    functionName: eap_teap_tls_mac
    functionSourceFile: /src/hostap/src/eap_common/eap_teap_common.c
    functionUses: 0
    functionsReached:
    - tls_cipher_suite_mac_sha256
    - wpa_printf
    - os_memcpy
    - hmac_sha256
    - tls_cipher_suite_mac_sha1
    - hmac_sha1
    - hmac_sha384
    - tls_cipher_suite_mac_sha384
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int eap_teap_tls_mac(u16 tls_cs, const u8 *cmk, size_t cmk_len,\n\t\t\t
      \   const u8 *buffer, size_t buffer_len,\n\t\t\t    u8 *mac, size_t mac_len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: be_to_host16
      Src: /src/hostap/src/eap_common/eap_teap_common.c:338,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_common/eap_teap_common.c:341,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_common/eap_teap_common.c:343,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_common/eap_teap_common.c:344,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_teap_common.c:351,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_common/eap_teap_common.c:354,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_common/eap_teap_common.c:355,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_teap_common.c:367,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_common/eap_teap_common.c:367,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_common/eap_teap_common.c:368,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_common/eap_teap_common.c:369,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_teap_common.c:375,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_common/eap_teap_common.c:375,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_common/eap_teap_common.c:376,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_common/eap_teap_common.c:377,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_teap_common.c:382,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_common/eap_teap_common.c:385,1
    - Dst: eap_teap_tls_mac
      Src: /src/hostap/src/eap_common/eap_teap_common.c:388,1
    - Dst: os_free
      Src: /src/hostap/src/eap_common/eap_teap_common.c:391,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 6
    argNames:
    - tls_cs
    - cb
    - server_outer_tlvs
    - peer_outer_tlvs
    - cmk
    - compound_mac
    argTypes:
    - u16
    - struct teap_tlv_crypto_binding*
    - struct wpabuf*
    - struct wpabuf*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 327
    functionDepth: 3
    functionLinenumber: 327
    functionLinenumberEnd: 394
    functionName: eap_teap_compound_mac
    functionSourceFile: /src/hostap/src/eap_common/eap_teap_common.c
    functionUses: 4
    functionsReached:
    - be_to_host16
    - os_memcpy
    - wpa_hexdump_key
    - wpa_hexdump
    - wpabuf_len
    - os_malloc
    - wpabuf_head
    - eap_teap_tls_mac
    - os_free
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int eap_teap_compound_mac(u16 tls_cs, const struct teap_tlv_crypto_binding
      *cb,\n\t\t\t  const struct wpabuf *server_outer_tlvs,\n\t\t\t  const struct
      wpabuf *peer_outer_tlvs,\n\t\t\t  const u8 *cmk, u8 *compound_mac)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_teap_common.c:403,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_common/eap_teap_common.c:408,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_teap_common.c:409,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_common/eap_teap_common.c:413,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_teap_common.c:415,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_teap_common.c:421,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_common/eap_teap_common.c:425,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_teap_common.c:428,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_teap_common.c:432,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_common/eap_teap_common.c:437,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_teap_common.c:439,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_teap_common.c:448,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/eap_common/eap_teap_common.c:452,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_teap_common.c:453,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_common/eap_teap_common.c:456,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_teap_common.c:459,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_teap_common.c:465,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_teap_common.c:472,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_common/eap_teap_common.c:477,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_teap_common.c:480,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_common/eap_teap_common.c:489,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_teap_common.c:492,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_teap_common.c:498,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_common/eap_teap_common.c:503,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_teap_common.c:506,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_teap_common.c:511,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_common/eap_teap_common.c:516,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_teap_common.c:518,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_common/eap_teap_common.c:527,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_teap_common.c:530,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_teap_common.c:537,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_common/eap_teap_common.c:546,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_teap_common.c:550,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_common/eap_teap_common.c:559,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_teap_common.c:563,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 143
    argCount: 4
    argNames:
    - tlv
    - tlv_type
    - pos
    - len
    argTypes:
    - struct eap_teap_tlv_parse*
    - int
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 577
    functionName: eap_teap_parse_tlv
    functionSourceFile: /src/hostap/src/eap_common/eap_teap_common.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - WPA_GET_BE16
    - wpa_hexdump
    - WPA_GET_BE32
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: int
    signature: "int eap_teap_parse_tlv(struct eap_teap_tlv_parse *tlv,\n\t\t       int
      tlv_type, u8 *pos, size_t len)"
  - BBCount: 18
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 38
    argCount: 1
    argNames:
    - type
    argTypes:
    - enum teap_tlv_types
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 620
    functionName: eap_teap_tlv_type_str
    functionSourceFile: /src/hostap/src/eap_common/eap_teap_common.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * eap_teap_tlv_type_str(enum teap_tlv_types type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eap_common/eap_teap_common.c:631,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_teap_common.c:634,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_common/eap_teap_common.c:637,1
    - Dst: host_to_be16
      Src: /src/hostap/src/eap_common/eap_teap_common.c:638,1
    - Dst: host_to_be16
      Src: /src/hostap/src/eap_common/eap_teap_common.c:642,1
    - Dst: host_to_be16
      Src: /src/hostap/src/eap_common/eap_teap_common.c:643,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - status
    - intermediate
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 623
    functionDepth: 1
    functionLinenumber: 623
    functionLinenumberEnd: 645
    functionName: eap_teap_tlv_result
    functionSourceFile: /src/hostap/src/eap_common/eap_teap_common.c
    functionUses: 2
    functionsReached:
    - host_to_be16
    - wpabuf_alloc
    - wpa_printf
    - wpabuf_put
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * eap_teap_tlv_result(int status, int intermediate)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eap_common/eap_teap_common.c:652,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_teap_common.c:655,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/eap_common/eap_teap_common.c:657,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/eap_common/eap_teap_common.c:658,1
    - Dst: wpabuf_put_be32
      Src: /src/hostap/src/eap_common/eap_teap_common.c:659,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - error
    argTypes:
    - enum teap_error_codes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 648
    functionDepth: 1
    functionLinenumber: 648
    functionLinenumberEnd: 661
    functionName: eap_teap_tlv_error
    functionSourceFile: /src/hostap/src/eap_common/eap_teap_common.c
    functionUses: 2
    functionsReached:
    - wpabuf_alloc
    - wpa_printf
    - wpabuf_put_be16
    - wpabuf_put_be32
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * eap_teap_tlv_error(enum teap_error_codes error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eap_common/eap_teap_common.c:668,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_teap_common.c:671,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/eap_common/eap_teap_common.c:673,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/eap_common/eap_teap_common.c:674,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/eap_common/eap_teap_common.c:675,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - id
    argTypes:
    - enum teap_identity_types
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 664
    functionDepth: 1
    functionLinenumber: 664
    functionLinenumberEnd: 677
    functionName: eap_teap_tlv_identity_type
    functionSourceFile: /src/hostap/src/eap_common/eap_teap_common.c
    functionUses: 2
    functionsReached:
    - wpabuf_alloc
    - wpa_printf
    - wpabuf_put_be16
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * eap_teap_tlv_identity_type(enum teap_identity_types
      id)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_common/eap_common.c:33,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_common/eap_common.c:35,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_common.c:36,1
    - Dst: be_to_host16
      Src: /src/hostap/src/eap_common/eap_common.c:40,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_common/eap_common.c:41,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_common.c:42,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - msg
    - min_payload
    argTypes:
    - struct wpabuf*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 47
    functionName: eap_hdr_len_valid
    functionSourceFile: /src/hostap/src/eap_common/eap_common.c
    functionUses: 6
    functionsReached:
    - wpabuf_len
    - wpa_printf
    - be_to_host16
    - wpabuf_head
    linkageType: ''
    returnType: int
    signature: int eap_hdr_len_valid(const struct wpabuf *msg, size_t min_payload)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: eap_hdr_len_valid
      Src: /src/hostap/src/eap_common/eap_common.c:73,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_common/eap_common.c:76,1
    - Dst: be_to_host16
      Src: /src/hostap/src/eap_common/eap_common.c:77,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_common.c:84,1
    - Dst: WPA_GET_BE24
      Src: /src/hostap/src/eap_common/eap_common.c:89,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/eap_common/eap_common.c:91,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_common.c:94,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_common.c:103,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 4
    argNames:
    - vendor
    - eap_type
    - msg
    - plen
    argTypes:
    - int
    - enum eap_type
    - struct wpabuf*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 109
    functionName: eap_hdr_validate
    functionSourceFile: /src/hostap/src/eap_common/eap_common.c
    functionUses: 72
    functionsReached:
    - be_to_host16
    - wpa_printf
    - wpabuf_head
    - WPA_GET_BE24
    - eap_hdr_len_valid
    - WPA_GET_BE32
    linkageType: ''
    returnType: u8
    signature: "u8 * eap_hdr_validate(int vendor, enum eap_type eap_type,\n\t\t\t
      \   const struct wpabuf *msg, size_t *plen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eap_common/eap_common.c:137,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eap_common/eap_common.c:141,1
    - Dst: host_to_be16
      Src: /src/hostap/src/eap_common/eap_common.c:144,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_common/eap_common.c:147,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/eap_common/eap_common.c:149,1
    - Dst: wpabuf_put_be24
      Src: /src/hostap/src/eap_common/eap_common.c:150,1
    - Dst: wpabuf_put_be32
      Src: /src/hostap/src/eap_common/eap_common.c:151,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 5
    argNames:
    - vendor
    - type
    - payload_len
    - code
    - identifier
    argTypes:
    - int
    - enum eap_type
    - size_t
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 155
    functionName: eap_msg_alloc
    functionSourceFile: /src/hostap/src/eap_common/eap_common.c
    functionUses: 66
    functionsReached:
    - wpabuf_put
    - wpabuf_put_u8
    - host_to_be16
    - wpabuf_alloc
    - wpabuf_put_be32
    - wpabuf_put_be24
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * eap_msg_alloc(int vendor, enum eap_type type,\n\t\t\t
      \     size_t payload_len, u8 code, u8 identifier)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_mhead
      Src: /src/hostap/src/eap_common/eap_common.c:170,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_common/eap_common.c:171,1
    - Dst: host_to_be16
      Src: /src/hostap/src/eap_common/eap_common.c:173,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_common/eap_common.c:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - msg
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 174
    functionName: eap_update_len
    functionSourceFile: /src/hostap/src/eap_common/eap_common.c
    functionUses: 3
    functionsReached:
    - wpabuf_len
    - host_to_be16
    - wpabuf_mhead
    linkageType: ''
    returnType: void
    signature: void eap_update_len(struct wpabuf *msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_common/eap_common.c:186,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_common/eap_common.c:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - msg
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 191
    functionName: eap_get_id
    functionSourceFile: /src/hostap/src/eap_common/eap_common.c
    functionUses: 26
    functionsReached:
    - wpabuf_len
    - wpabuf_head
    linkageType: ''
    returnType: u8
    signature: u8 eap_get_id(const struct wpabuf *msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_common/eap_common.c:201,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_common/eap_common.c:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - msg
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 205
    functionName: eap_get_type
    functionSourceFile: /src/hostap/src/eap_common/eap_common.c
    functionUses: 2
    functionsReached:
    - wpabuf_len
    - wpabuf_head
    linkageType: ''
    returnType: enum eap_type
    signature: enum eap_type eap_get_type(const struct wpabuf *msg)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/eap_common/eap_common.c:212,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_common.c:223,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_common.c:238,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_common.c:243,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_common.c:248,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_common.c:266,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_common.c:272,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_common.c:279,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 67
    argCount: 4
    argNames:
    - pos
    - end
    - tlvs
    - stop_at_keyname
    argTypes:
    - u8*
    - u8*
    - struct erp_tlvs*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 287
    functionName: erp_parse_tlvs
    functionSourceFile: /src/hostap/src/eap_common/eap_common.c
    functionUses: 4
    functionsReached:
    - wpa_printf
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int erp_parse_tlvs(const u8 *pos, const u8 *end, struct erp_tlvs *tlvs,\n\t\t
      \  int stop_at_keyname)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/eap_common/eap_peap_common.c:22,1
    - Dst: hmac_sha1_vector
      Src: /src/hostap/src/eap_common/eap_peap_common.c:72,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_peap_common.c:75,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_peap_common.c:78,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 37
    argCount: 8
    argNames:
    - version
    - key
    - key_len
    - label
    - seed
    - seed_len
    - buf
    - buf_len
    argTypes:
    - int
    - u8*
    - size_t
    - char*
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 85
    functionName: peap_prfplus
    functionSourceFile: /src/hostap/src/eap_common/eap_peap_common.c
    functionUses: 4
    functionsReached:
    - os_strlen
    - hmac_sha1_vector
    - os_memcpy
    linkageType: ''
    returnType: int
    signature: "int peap_prfplus(int version, const u8 *key, size_t key_len,\n\t\t
      const char *label, const u8 *seed, size_t seed_len,\n\t\t u8 *buf, size_t buf_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md5_vector
      Src: /src/hostap/src/eap_common/chap.c:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - id
    - secret
    - secret_len
    - challenge
    - challenge_len
    - response
    argTypes:
    - u8
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 28
    functionName: chap_md5
    functionSourceFile: /src/hostap/src/eap_common/chap.c
    functionUses: 4
    functionsReached:
    - md5_vector
    linkageType: ''
    returnType: int
    signature: "int chap_md5(u8 id, const u8 *secret, size_t secret_len, const u8
      *challenge,\n\t      size_t challenge_len, u8 *response)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - group
    argTypes:
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 39
    functionName: eap_eke_dh_len
    functionSourceFile: /src/hostap/src/eap_common/eap_eke_common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int eap_eke_dh_len(u8 group)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_eke_dh_len
      Src: /src/hostap/src/eap_common/eap_eke_common.c:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - dhgroup
    - encr
    argTypes:
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 50
    functionName: eap_eke_dhcomp_len
    functionSourceFile: /src/hostap/src/eap_common/eap_eke_common.c
    functionUses: 0
    functionsReached:
    - eap_eke_dh_len
    linkageType: ''
    returnType: int
    signature: int eap_eke_dhcomp_len(u8 dhgroup, u8 encr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dh_groups_get
      Src: /src/hostap/src/eap_common/eap_eke_common.c:57,1
    - Dst: dh_groups_get
      Src: /src/hostap/src/eap_common/eap_eke_common.c:59,1
    - Dst: dh_groups_get
      Src: /src/hostap/src/eap_common/eap_eke_common.c:61,1
    - Dst: dh_groups_get
      Src: /src/hostap/src/eap_common/eap_eke_common.c:63,1
    - Dst: dh_groups_get
      Src: /src/hostap/src/eap_common/eap_eke_common.c:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - group
    argTypes:
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 69
    functionName: eap_eke_dh_group
    functionSourceFile: /src/hostap/src/eap_common/eap_eke_common.c
    functionUses: 0
    functionsReached:
    - dh_groups_get
    linkageType: ''
    returnType: struct dh_group
    signature: struct dh_group * eap_eke_dh_group(u8 group)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - group
    argTypes:
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 88
    functionName: eap_eke_dh_generator
    functionSourceFile: /src/hostap/src/eap_common/eap_eke_common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int eap_eke_dh_generator(u8 group)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - mac
    argTypes:
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 103
    functionName: eap_eke_pnonce_len
    functionSourceFile: /src/hostap/src/eap_common/eap_eke_common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int eap_eke_pnonce_len(u8 mac)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - mac
    argTypes:
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 118
    functionName: eap_eke_pnonce_ps_len
    functionSourceFile: /src/hostap/src/eap_common/eap_eke_common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int eap_eke_pnonce_ps_len(u8 mac)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - prf
    argTypes:
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 128
    functionName: eap_eke_prf_len
    functionSourceFile: /src/hostap/src/eap_common/eap_eke_common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int eap_eke_prf_len(u8 prf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eap_eke_prf_len
      Src: /src/hostap/src/eap_common/eap_eke_common.c:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - prf
    argTypes:
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 143
    functionName: eap_eke_nonce_len
    functionSourceFile: /src/hostap/src/eap_common/eap_eke_common.c
    functionUses: 0
    functionsReached:
    - eap_eke_prf_len
    linkageType: ''
    returnType: int
    signature: int eap_eke_nonce_len(u8 prf)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - prf
    argTypes:
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 156
    functionName: eap_eke_auth_len
    functionSourceFile: /src/hostap/src/eap_common/eap_eke_common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int eap_eke_auth_len(u8 prf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eap_eke_dh_generator
      Src: /src/hostap/src/eap_common/eap_eke_common.c:165,1
    - Dst: eap_eke_dh_group
      Src: /src/hostap/src/eap_common/eap_eke_common.c:166,1
    - Dst: crypto_dh_init
      Src: /src/hostap/src/eap_common/eap_eke_common.c:171,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_eke_common.c:174,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_common/eap_eke_common.c:176,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - group
    - ret_priv
    - ret_pub
    argTypes:
    - u8
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 180
    functionName: eap_eke_dh_init
    functionSourceFile: /src/hostap/src/eap_common/eap_eke_common.c
    functionUses: 2
    functionsReached:
    - crypto_dh_init
    - eap_eke_dh_group
    - wpa_hexdump_key
    - wpa_hexdump
    - eap_eke_dh_generator
    linkageType: ''
    returnType: int
    signature: int eap_eke_dh_init(u8 group, u8 *ret_priv, u8 *ret_pub)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hmac_sha1_vector
      Src: /src/hostap/src/eap_common/eap_eke_common.c:200,1
    - Dst: hmac_sha256_vector
      Src: /src/hostap/src/eap_common/eap_eke_common.c:202,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 8
    argNames:
    - prf
    - key
    - key_len
    - data
    - data_len
    - data2
    - data2_len
    - res
    argTypes:
    - u8
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 205
    functionName: eap_eke_prf
    functionSourceFile: /src/hostap/src/eap_common/eap_eke_common.c
    functionUses: 0
    functionsReached:
    - hmac_sha1_vector
    - hmac_sha256_vector
    linkageType: ''
    returnType: int
    signature: "int eap_eke_prf(u8 prf, const u8 *key, size_t key_len, const u8 *data,\n\t\t
      \      size_t data_len, const u8 *data2, size_t data2_len,\n\t\t       u8 *res)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hmac_sha1_vector
      Src: /src/hostap/src/eap_common/eap_eke_common.c:228,1
    - Dst: hmac_sha1_vector
      Src: /src/hostap/src/eap_common/eap_eke_common.c:231,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_eke_common.c:236,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_eke_common.c:240,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 6
    argNames:
    - key
    - key_len
    - data
    - data_len
    - res
    - len
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 246
    functionName: eap_eke_prf_hmac_sha1
    functionSourceFile: /src/hostap/src/eap_common/eap_eke_common.c
    functionUses: 0
    functionsReached:
    - hmac_sha1_vector
    - os_memcpy
    linkageType: ''
    returnType: int
    signature: "int eap_eke_prf_hmac_sha1(const u8 *key, size_t key_len, const u8
      *data,\n\t\t\t\t size_t data_len, u8 *res, size_t len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hmac_sha256_vector
      Src: /src/hostap/src/eap_common/eap_eke_common.c:269,1
    - Dst: hmac_sha256_vector
      Src: /src/hostap/src/eap_common/eap_eke_common.c:272,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_eke_common.c:277,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_eke_common.c:281,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 6
    argNames:
    - key
    - key_len
    - data
    - data_len
    - res
    - len
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 287
    functionName: eap_eke_prf_hmac_sha256
    functionSourceFile: /src/hostap/src/eap_common/eap_eke_common.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - hmac_sha256_vector
    linkageType: ''
    returnType: int
    signature: "int eap_eke_prf_hmac_sha256(const u8 *key, size_t key_len, const u8
      *data,\n\t\t\t\t   size_t data_len, u8 *res, size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eap_eke_prf_hmac_sha1
      Src: /src/hostap/src/eap_common/eap_eke_common.c:294,1
    - Dst: eap_eke_prf_hmac_sha256
      Src: /src/hostap/src/eap_common/eap_eke_common.c:297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 7
    argNames:
    - prf
    - key
    - key_len
    - data
    - data_len
    - res
    - len
    argTypes:
    - u8
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 300
    functionName: eap_eke_prfplus
    functionSourceFile: /src/hostap/src/eap_common/eap_eke_common.c
    functionUses: 0
    functionsReached:
    - eap_eke_prf_hmac_sha1
    - eap_eke_prf_hmac_sha256
    linkageType: ''
    returnType: int
    signature: "int eap_eke_prfplus(u8 prf, const u8 *key, size_t key_len,\n\t\t\t
      \  const u8 *data, size_t data_len, u8 *res, size_t len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/eap_common/eap_eke_common.c:314,1
    - Dst: eap_eke_prf
      Src: /src/hostap/src/eap_common/eap_eke_common.c:315,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_eke_common.c:318,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_common/eap_eke_common.c:322,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_eke_common.c:325,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_eke_common.c:326,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/eap_common/eap_eke_common.c:327,1
    - Dst: eap_eke_prfplus
      Src: /src/hostap/src/eap_common/eap_eke_common.c:329,1
    - Dst: os_free
      Src: /src/hostap/src/eap_common/eap_eke_common.c:331,1
    - Dst: os_free
      Src: /src/hostap/src/eap_common/eap_eke_common.c:334,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_eke_common.c:335,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 8
    argNames:
    - sess
    - password
    - password_len
    - id_s
    - id_s_len
    - id_p
    - id_p_len
    - key
    argTypes:
    - struct eap_eke_session*
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 303
    functionDepth: 2
    functionLinenumber: 303
    functionLinenumberEnd: 339
    functionName: eap_eke_derive_key
    functionSourceFile: /src/hostap/src/eap_common/eap_eke_common.c
    functionUses: 2
    functionsReached:
    - eap_eke_prf
    - wpa_hexdump_key
    - os_memcpy
    - eap_eke_prfplus
    - os_malloc
    - os_free
    - wpa_hexdump_ascii
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int eap_eke_derive_key(struct eap_eke_session *sess,\n\t\t       const
      u8 *password, size_t password_len,\n\t\t       const u8 *id_s, size_t id_s_len,
      const u8 *id_p,\n\t\t       size_t id_p_len, u8 *key)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: eap_eke_dh_len
      Src: /src/hostap/src/eap_common/eap_eke_common.c:349,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/eap_common/eap_eke_common.c:361,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_common/eap_eke_common.c:363,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_eke_common.c:365,1
    - Dst: aes_128_cbc_encrypt
      Src: /src/hostap/src/eap_common/eap_eke_common.c:366,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_eke_common.c:368,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_eke_common.c:369,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_common/eap_eke_common.c:370,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - sess
    - key
    - dhpub
    - ret_dhcomp
    argTypes:
    - struct eap_eke_session*
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 374
    functionName: eap_eke_dhcomp
    functionSourceFile: /src/hostap/src/eap_common/eap_eke_common.c
    functionUses: 2
    functionsReached:
    - os_memcpy
    - random_get_bytes
    - wpa_hexdump
    - eap_eke_dh_len
    - aes_128_cbc_encrypt
    linkageType: ''
    returnType: int
    signature: "int eap_eke_dhcomp(struct eap_eke_session *sess, const u8 *key, const
      u8 *dhpub,\n\t\t   u8 *ret_dhcomp)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: eap_eke_dh_group
      Src: /src/hostap/src/eap_common/eap_eke_common.c:386,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_eke_common.c:391,1
    - Dst: aes_128_cbc_decrypt
      Src: /src/hostap/src/eap_common/eap_eke_common.c:392,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_eke_common.c:393,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_eke_common.c:396,1
    - Dst: crypto_dh_derive_secret
      Src: /src/hostap/src/eap_common/eap_eke_common.c:401,1
    - Dst: os_memmove
      Src: /src/hostap/src/eap_common/eap_eke_common.c:407,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_common/eap_eke_common.c:408,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_common/eap_eke_common.c:411,1
    - Dst: eap_eke_prf
      Src: /src/hostap/src/eap_common/eap_eke_common.c:412,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_eke_common.c:415,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 4
    argNames:
    - sess
    - key
    - dhpriv
    - peer_dhcomp
    argTypes:
    - struct eap_eke_session*
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 377
    functionDepth: 2
    functionLinenumber: 377
    functionLinenumberEnd: 419
    functionName: eap_eke_shared_secret
    functionSourceFile: /src/hostap/src/eap_common/eap_eke_common.c
    functionUses: 2
    functionsReached:
    - eap_eke_prf
    - wpa_printf
    - eap_eke_dh_group
    - aes_128_cbc_decrypt
    - os_memcpy
    - wpa_hexdump_key
    - crypto_dh_derive_secret
    - os_memmove
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int eap_eke_shared_secret(struct eap_eke_session *sess, const u8 *key,\n\t\t\t
      \ const u8 *dhpriv, const u8 *peer_dhcomp)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/eap_common/eap_eke_common.c:452,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_common/eap_eke_common.c:454,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_eke_common.c:457,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_eke_common.c:458,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_eke_common.c:459,1
    - Dst: eap_eke_prfplus
      Src: /src/hostap/src/eap_common/eap_eke_common.c:460,1
    - Dst: os_free
      Src: /src/hostap/src/eap_common/eap_eke_common.c:462,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_eke_common.c:466,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_eke_common.c:467,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_eke_common.c:468,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_eke_common.c:469,1
    - Dst: os_free
      Src: /src/hostap/src/eap_common/eap_eke_common.c:471,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 5
    argNames:
    - sess
    - id_s
    - id_s_len
    - id_p
    - id_p_len
    argTypes:
    - struct eap_eke_session*
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 422
    functionDepth: 2
    functionLinenumber: 422
    functionLinenumberEnd: 473
    functionName: eap_eke_derive_ke_ki
    functionSourceFile: /src/hostap/src/eap_common/eap_eke_common.c
    functionUses: 2
    functionsReached:
    - os_strlen
    - os_memcpy
    - wpa_hexdump_key
    - eap_eke_prfplus
    - os_malloc
    - os_free
    linkageType: ''
    returnType: int
    signature: "int eap_eke_derive_ke_ki(struct eap_eke_session *sess,\n\t\t\t const
      u8 *id_s, size_t id_s_len,\n\t\t\t const u8 *id_p, size_t id_p_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/eap_common/eap_eke_common.c:493,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_common/eap_eke_common.c:495,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_eke_common.c:499,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_eke_common.c:501,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_eke_common.c:503,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_eke_common.c:505,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_eke_common.c:507,1
    - Dst: eap_eke_prfplus
      Src: /src/hostap/src/eap_common/eap_eke_common.c:508,1
    - Dst: os_free
      Src: /src/hostap/src/eap_common/eap_eke_common.c:510,1
    - Dst: os_free
      Src: /src/hostap/src/eap_common/eap_eke_common.c:513,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_eke_common.c:515,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 7
    argNames:
    - sess
    - id_s
    - id_s_len
    - id_p
    - id_p_len
    - nonce_p
    - nonce_s
    argTypes:
    - struct eap_eke_session*
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 476
    functionDepth: 2
    functionLinenumber: 476
    functionLinenumberEnd: 518
    functionName: eap_eke_derive_ka
    functionSourceFile: /src/hostap/src/eap_common/eap_eke_common.c
    functionUses: 2
    functionsReached:
    - os_strlen
    - os_memcpy
    - wpa_hexdump_key
    - eap_eke_prfplus
    - os_malloc
    - os_free
    linkageType: ''
    returnType: int
    signature: "int eap_eke_derive_ka(struct eap_eke_session *sess,\n\t\t      const
      u8 *id_s, size_t id_s_len,\n\t\t      const u8 *id_p, size_t id_p_len,\n\t\t
      \     const u8 *nonce_p, const u8 *nonce_s)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/eap_common/eap_eke_common.c:538,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_common/eap_eke_common.c:540,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_eke_common.c:544,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_eke_common.c:546,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_eke_common.c:548,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_eke_common.c:550,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_eke_common.c:552,1
    - Dst: eap_eke_prfplus
      Src: /src/hostap/src/eap_common/eap_eke_common.c:553,1
    - Dst: os_free
      Src: /src/hostap/src/eap_common/eap_eke_common.c:556,1
    - Dst: os_free
      Src: /src/hostap/src/eap_common/eap_eke_common.c:559,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_eke_common.c:561,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_eke_common.c:562,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_common/eap_eke_common.c:563,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_eke_common.c:565,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_eke_common.c:566,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 9
    argNames:
    - sess
    - id_s
    - id_s_len
    - id_p
    - id_p_len
    - nonce_p
    - nonce_s
    - msk
    - emsk
    argTypes:
    - struct eap_eke_session*
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 521
    functionDepth: 2
    functionLinenumber: 521
    functionLinenumberEnd: 569
    functionName: eap_eke_derive_msk
    functionSourceFile: /src/hostap/src/eap_common/eap_eke_common.c
    functionUses: 2
    functionsReached:
    - os_strlen
    - os_memcpy
    - wpa_hexdump_key
    - eap_eke_prfplus
    - os_malloc
    - os_free
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int eap_eke_derive_msk(struct eap_eke_session *sess,\n\t\t       const
      u8 *id_s, size_t id_s_len,\n\t\t       const u8 *id_p, size_t id_p_len,\n\t\t
      \      const u8 *nonce_p, const u8 *nonce_s,\n\t\t       u8 *msk, u8 *emsk)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hmac_sha1
      Src: /src/hostap/src/eap_common/eap_eke_common.c:576,1
    - Dst: hmac_sha256
      Src: /src/hostap/src/eap_common/eap_eke_common.c:578,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - mac
    - key
    - data
    - data_len
    - res
    argTypes:
    - u8
    - u8*
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 580
    functionName: eap_eke_mac
    functionSourceFile: /src/hostap/src/eap_common/eap_eke_common.c
    functionUses: 0
    functionsReached:
    - hmac_sha256
    - hmac_sha1
    linkageType: ''
    returnType: int
    signature: "int eap_eke_mac(u8 mac, const u8 *key, const u8 *data, size_t data_len,\n\t\t
      \      u8 *res)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_eke_common.c:607,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/eap_common/eap_eke_common.c:612,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_common/eap_eke_common.c:615,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_eke_common.c:619,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/eap_common/eap_eke_common.c:622,1
    - Dst: aes_128_cbc_encrypt
      Src: /src/hostap/src/eap_common/eap_eke_common.c:627,1
    - Dst: eap_eke_mac
      Src: /src/hostap/src/eap_common/eap_eke_common.c:628,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 5
    argNames:
    - sess
    - data
    - data_len
    - prot
    - prot_len
    argTypes:
    - struct eap_eke_session*
    - u8*
    - size_t
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 583
    functionDepth: 1
    functionLinenumber: 583
    functionLinenumberEnd: 634
    functionName: eap_eke_prot
    functionSourceFile: /src/hostap/src/eap_common/eap_eke_common.c
    functionUses: 3
    functionsReached:
    - wpa_printf
    - os_memcpy
    - random_get_bytes
    - wpa_hexdump
    - eap_eke_mac
    - aes_128_cbc_encrypt
    linkageType: ''
    returnType: int
    signature: "int eap_eke_prot(struct eap_eke_session *sess,\n\t\t const u8 *data,
      size_t data_len,\n\t\t u8 *prot, size_t *prot_len)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: eap_eke_mac
      Src: /src/hostap/src/eap_common/eap_eke_common.c:660,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/eap_common/eap_eke_common.c:663,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_eke_common.c:664,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_eke_common.c:669,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_eke_common.c:674,1
    - Dst: aes_128_cbc_decrypt
      Src: /src/hostap/src/eap_common/eap_eke_common.c:675,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_eke_common.c:676,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_eke_common.c:679,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 5
    argNames:
    - sess
    - prot
    - prot_len
    - data
    - data_len
    argTypes:
    - struct eap_eke_session*
    - u8*
    - size_t
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 637
    functionDepth: 1
    functionLinenumber: 637
    functionLinenumberEnd: 683
    functionName: eap_eke_decrypt_prot
    functionSourceFile: /src/hostap/src/eap_common/eap_eke_common.c
    functionUses: 3
    functionsReached:
    - os_memcpy
    - wpa_printf
    - aes_128_cbc_decrypt
    - wpa_hexdump_key
    - eap_eke_mac
    - os_memcmp_const
    linkageType: ''
    returnType: int
    signature: "int eap_eke_decrypt_prot(struct eap_eke_session *sess,\n\t\t\t const
      u8 *prot, size_t prot_len,\n\t\t\t u8 *data, size_t *data_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_eke_common.c:689,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_eke_common.c:690,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/eap_common/eap_eke_common.c:692,1
    - Dst: eap_eke_prf
      Src: /src/hostap/src/eap_common/eap_eke_common.c:693,1
    - Dst: os_strlen
      Src: /src/hostap/src/eap_common/eap_eke_common.c:694,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eap_common/eap_eke_common.c:695,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_common/eap_eke_common.c:695,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - sess
    - label
    - msgs
    - auth
    argTypes:
    - struct eap_eke_session*
    - char*
    - struct wpabuf*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 686
    functionDepth: 1
    functionLinenumber: 686
    functionLinenumberEnd: 696
    functionName: eap_eke_auth
    functionSourceFile: /src/hostap/src/eap_common/eap_eke_common.c
    functionUses: 3
    functionsReached:
    - os_strlen
    - eap_eke_prf
    - wpa_printf
    - wpa_hexdump_key
    - wpabuf_len
    - wpabuf_head
    - wpa_hexdump_buf
    linkageType: ''
    returnType: int
    signature: "int eap_eke_auth(struct eap_eke_session *sess, const char *label,\n\t\t
      const struct wpabuf *msgs, u8 *auth)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_eke_prf_len
      Src: /src/hostap/src/eap_common/eap_eke_common.c:707,1
    - Dst: eap_eke_nonce_len
      Src: /src/hostap/src/eap_common/eap_eke_common.c:708,1
    - Dst: eap_eke_auth_len
      Src: /src/hostap/src/eap_common/eap_eke_common.c:709,1
    - Dst: eap_eke_dhcomp_len
      Src: /src/hostap/src/eap_common/eap_eke_common.c:710,1
    - Dst: eap_eke_pnonce_len
      Src: /src/hostap/src/eap_common/eap_eke_common.c:711,1
    - Dst: eap_eke_pnonce_ps_len
      Src: /src/hostap/src/eap_common/eap_eke_common.c:712,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 5
    argNames:
    - sess
    - dhgroup
    - encr
    - prf
    - mac
    argTypes:
    - struct eap_eke_session*
    - u8
    - u8
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 699
    functionDepth: 2
    functionLinenumber: 699
    functionLinenumberEnd: 719
    functionName: eap_eke_session_init
    functionSourceFile: /src/hostap/src/eap_common/eap_eke_common.c
    functionUses: 2
    functionsReached:
    - eap_eke_nonce_len
    - eap_eke_pnonce_ps_len
    - eap_eke_dhcomp_len
    - eap_eke_pnonce_len
    - eap_eke_auth_len
    - eap_eke_prf_len
    linkageType: ''
    returnType: int
    signature: "int eap_eke_session_init(struct eap_eke_session *sess, u8 dhgroup,
      u8 encr,\n\t\t\t u8 prf, u8 mac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/eap_common/eap_eke_common.c:724,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_common/eap_eke_common.c:725,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_common/eap_eke_common.c:726,1
    - Dst: os_memset
      Src: /src/hostap/src/eap_common/eap_eke_common.c:727,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - sess
    argTypes:
    - struct eap_eke_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 728
    functionName: eap_eke_session_clean
    functionSourceFile: /src/hostap/src/eap_common/eap_eke_common.c
    functionUses: 5
    functionsReached:
    - os_memset
    linkageType: ''
    returnType: void
    signature: void eap_eke_session_clean(struct eap_eke_session *sess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: host_to_be16
      Src: /src/hostap/src/eap_common/eap_fast_common.c:22,1
    - Dst: host_to_be16
      Src: /src/hostap/src/eap_common/eap_fast_common.c:23,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_common/eap_fast_common.c:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - buf
    - type
    - len
    argTypes:
    - struct wpabuf*
    - u16
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 25
    functionName: eap_fast_put_tlv_hdr
    functionSourceFile: /src/hostap/src/eap_common/eap_fast_common.c
    functionUses: 1
    functionsReached:
    - host_to_be16
    - wpabuf_put_data
    linkageType: ''
    returnType: void
    signature: void eap_fast_put_tlv_hdr(struct wpabuf *buf, u16 type, u16 len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eap_fast_put_tlv_hdr
      Src: /src/hostap/src/eap_common/eap_fast_common.c:31,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/eap_common/eap_fast_common.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - buf
    - type
    - data
    - len
    argTypes:
    - struct wpabuf*
    - u16
    - void*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 33
    functionName: eap_fast_put_tlv
    functionSourceFile: /src/hostap/src/eap_common/eap_fast_common.c
    functionUses: 2
    functionsReached:
    - eap_fast_put_tlv_hdr
    - wpabuf_put_data
    linkageType: ''
    returnType: void
    signature: "void eap_fast_put_tlv(struct wpabuf *buf, u16 type, const void *data,\n\t\t\t
      \    u16 len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eap_fast_put_tlv_hdr
      Src: /src/hostap/src/eap_common/eap_fast_common.c:39,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_common/eap_fast_common.c:39,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/eap_common/eap_fast_common.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - buf
    - type
    - data
    argTypes:
    - struct wpabuf*
    - u16
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: eap_fast_put_tlv_buf
    functionSourceFile: /src/hostap/src/eap_common/eap_fast_common.c
    functionUses: 0
    functionsReached:
    - wpabuf_len
    - eap_fast_put_tlv_hdr
    - wpabuf_put_buf
    linkageType: ''
    returnType: void
    signature: "void eap_fast_put_tlv_buf(struct wpabuf *buf, u16 type,\n\t\t\t\t
      const struct wpabuf *data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_fast_common.c:52,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eap_common/eap_fast_common.c:53,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eap_common/eap_fast_common.c:53,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_fast_common.c:55,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_common/eap_fast_common.c:57,1
    - Dst: eap_fast_put_tlv_buf
      Src: /src/hostap/src/eap_common/eap_fast_common.c:60,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eap_common/eap_fast_common.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - buf
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 44
    functionDepth: 3
    functionLinenumber: 44
    functionLinenumberEnd: 65
    functionName: eap_fast_tlv_eap_payload
    functionSourceFile: /src/hostap/src/eap_common/eap_fast_common.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - wpabuf_len
    - wpabuf_free
    - wpabuf_alloc
    - eap_fast_put_tlv_buf
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * eap_fast_tlv_eap_payload(struct wpabuf *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_common/eap_fast_common.c:75,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_common/eap_fast_common.c:77,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_fast_common.c:85,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_fast_common.c:86,1
    - Dst: sha1_t_prf
      Src: /src/hostap/src/eap_common/eap_fast_common.c:87,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_fast_common.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - pac_key
    - server_random
    - client_random
    - master_secret
    argTypes:
    - u8*
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 93
    functionName: eap_fast_derive_master_secret
    functionSourceFile: /src/hostap/src/eap_common/eap_fast_common.c
    functionUses: 2
    functionsReached:
    - sha1_t_prf
    - os_memcpy
    - wpa_hexdump_key
    - wpa_hexdump
    linkageType: ''
    returnType: void
    signature: "void eap_fast_derive_master_secret(const u8 *pac_key, const u8 *server_random,\n\t\t\t\t
      \  const u8 *client_random, u8 *master_secret)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/eap_common/eap_fast_common.c:100,1
    - Dst: tls_connection_get_eap_fast_key
      Src: /src/hostap/src/eap_common/eap_fast_common.c:104,1
    - Dst: os_free
      Src: /src/hostap/src/eap_common/eap_fast_common.c:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ssl_ctx
    - conn
    - len
    argTypes:
    - void*
    - struct tls_connection*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 110
    functionName: eap_fast_derive_key
    functionSourceFile: /src/hostap/src/eap_common/eap_fast_common.c
    functionUses: 4
    functionsReached:
    - os_free
    - tls_connection_get_eap_fast_key
    - os_malloc
    linkageType: ''
    returnType: u8
    signature: u8 * eap_fast_derive_key(void *ssl_ctx, struct tls_connection *conn,
      size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sha1_t_prf
      Src: /src/hostap/src/eap_common/eap_fast_common.c:120,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_fast_common.c:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - simck
    - msk
    argTypes:
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 127
    functionName: eap_fast_derive_eap_msk
    functionSourceFile: /src/hostap/src/eap_common/eap_fast_common.c
    functionUses: 2
    functionsReached:
    - sha1_t_prf
    - wpa_hexdump_key
    linkageType: ''
    returnType: int
    signature: int eap_fast_derive_eap_msk(const u8 *simck, u8 *msk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sha1_t_prf
      Src: /src/hostap/src/eap_common/eap_fast_common.c:138,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_fast_common.c:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - simck
    - emsk
    argTypes:
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 145
    functionName: eap_fast_derive_eap_emsk
    functionSourceFile: /src/hostap/src/eap_common/eap_fast_common.c
    functionUses: 2
    functionsReached:
    - sha1_t_prf
    - wpa_hexdump_key
    linkageType: ''
    returnType: int
    signature: int eap_fast_derive_eap_emsk(const u8 *simck, u8 *emsk)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_common/eap_fast_common.c:153,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_fast_common.c:156,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_common/eap_fast_common.c:165,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_fast_common.c:167,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_fast_common.c:173,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_common/eap_fast_common.c:178,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_fast_common.c:181,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_fast_common.c:185,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_common/eap_fast_common.c:190,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_fast_common.c:193,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_fast_common.c:199,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_common/eap_fast_common.c:204,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_fast_common.c:207,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_fast_common.c:211,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_common/eap_fast_common.c:216,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_fast_common.c:219,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_fast_common.c:226,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_common/eap_fast_common.c:235,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_fast_common.c:238,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_fast_common.c:244,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eap_common/eap_fast_common.c:249,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_fast_common.c:250,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_common/eap_fast_common.c:254,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_fast_common.c:256,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 94
    argCount: 4
    argNames:
    - tlv
    - tlv_type
    - pos
    - len
    argTypes:
    - struct eap_fast_tlv_parse*
    - int
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 270
    functionName: eap_fast_parse_tlv
    functionSourceFile: /src/hostap/src/eap_common/eap_fast_common.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - WPA_GET_BE16
    - wpa_hexdump
    linkageType: ''
    returnType: int
    signature: "int eap_fast_parse_tlv(struct eap_fast_tlv_parse *tlv,\n\t\t       int
      tlv_type, u8 *pos, size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - vendor
    - specifier
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 35
    functionName: eap_gpsk_supported_ciphersuite
    functionSourceFile: /src/hostap/src/eap_common/eap_gpsk_common.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int eap_gpsk_supported_ciphersuite(int vendor, int specifier)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/eap_common/eap_gpsk_common.c:59,1
    - Dst: omac1_aes_128_vector
      Src: /src/hostap/src/eap_common/eap_gpsk_common.c:60,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_gpsk_common.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 5
    argNames:
    - psk
    - data
    - data_len
    - buf
    - len
    argTypes:
    - u8*
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 69
    functionName: eap_gpsk_gkdf_cmac
    functionSourceFile: /src/hostap/src/eap_common/eap_gpsk_common.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - WPA_PUT_BE16
    - omac1_aes_128_vector
    linkageType: ''
    returnType: int
    signature: "int eap_gpsk_gkdf_cmac(const u8 *psk /* Y */,\n\t\t\t      const u8
      *data /* Z */, size_t data_len,\n\t\t\t      u8 *buf, size_t len /* X */)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/eap_common/eap_gpsk_common.c:94,1
    - Dst: hmac_sha256_vector
      Src: /src/hostap/src/eap_common/eap_gpsk_common.c:95,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_gpsk_common.c:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 5
    argNames:
    - psk
    - data
    - data_len
    - buf
    - len
    argTypes:
    - u8*
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 104
    functionName: eap_gpsk_gkdf_sha256
    functionSourceFile: /src/hostap/src/eap_common/eap_gpsk_common.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - hmac_sha256_vector
    - WPA_PUT_BE16
    linkageType: ''
    returnType: int
    signature: "int eap_gpsk_gkdf_sha256(const u8 *psk /* Y */,\n\t\t\t\tconst u8
      *data /* Z */, size_t data_len,\n\t\t\t\tu8 *buf, size_t len /* X */)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/eap_common/eap_gpsk_common.c:141,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/eap_common/eap_gpsk_common.c:145,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_gpsk_common.c:147,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/src/eap_common/eap_gpsk_common.c:149,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/eap_common/eap_gpsk_common.c:151,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_gpsk_common.c:153,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_gpsk_common.c:154,1
    - Dst: gkdf
      Src: /src/hostap/src/eap_common/eap_gpsk_common.c:157,1
    - Dst: os_free
      Src: /src/hostap/src/eap_common/eap_gpsk_common.c:158,1
    - Dst: os_free
      Src: /src/hostap/src/eap_common/eap_gpsk_common.c:161,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_gpsk_common.c:162,1
    - Dst: gkdf
      Src: /src/hostap/src/eap_common/eap_gpsk_common.c:164,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_gpsk_common.c:168,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_gpsk_common.c:169,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_gpsk_common.c:172,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_gpsk_common.c:173,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_gpsk_common.c:176,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_gpsk_common.c:177,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_gpsk_common.c:181,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_gpsk_common.c:182,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 54
    argCount: 13
    argNames:
    - csuite_specifier
    - kdf_out
    - kdf_out_len
    - psk
    - psk_len
    - seed
    - seed_len
    - msk
    - emsk
    - sk
    - sk_len
    - pk
    - pk_len
    argTypes:
    - u32
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - u8*
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 186
    functionName: eap_gpsk_derive_keys_helper
    functionSourceFile: /src/hostap/src/eap_common/eap_gpsk_common.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_hexdump_key
    - os_malloc
    - WPA_PUT_BE16
    - gkdf
    - WPA_PUT_BE32
    - os_free
    linkageType: ''
    returnType: int
    signature: "int eap_gpsk_derive_keys_helper(u32 csuite_specifier,\n\t\t\t\t       u8
      *kdf_out, size_t kdf_out_len,\n\t\t\t\t       const u8 *psk, size_t psk_len,\n\t\t\t\t
      \      const u8 *seed, size_t seed_len,\n\t\t\t\t       u8 *msk, u8 *emsk,\n\t\t\t\t
      \      u8 *sk, size_t sk_len,\n\t\t\t\t       u8 *pk, size_t pk_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eap_gpsk_derive_keys_helper
      Src: /src/hostap/src/eap_common/eap_gpsk_common.c:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 10
    argNames:
    - psk
    - psk_len
    - seed
    - seed_len
    - msk
    - emsk
    - sk
    - sk_len
    - pk
    - pk_len
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - u8*
    - u8*
    - size_t*
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 221
    functionName: eap_gpsk_derive_keys_aes
    functionSourceFile: /src/hostap/src/eap_common/eap_gpsk_common.c
    functionUses: 0
    functionsReached:
    - eap_gpsk_derive_keys_helper
    linkageType: ''
    returnType: int
    signature: "int eap_gpsk_derive_keys_aes(const u8 *psk, size_t psk_len,\n\t\t\t\t
      \   const u8 *seed, size_t seed_len,\n\t\t\t\t    u8 *msk, u8 *emsk, u8 *sk,
      size_t *sk_len,\n\t\t\t\t    u8 *pk, size_t *pk_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eap_gpsk_derive_keys_helper
      Src: /src/hostap/src/eap_common/eap_gpsk_common.c:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 8
    argNames:
    - psk
    - psk_len
    - seed
    - seed_len
    - msk
    - emsk
    - sk
    - sk_len
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - u8*
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 255
    functionName: eap_gpsk_derive_keys_sha256
    functionSourceFile: /src/hostap/src/eap_common/eap_gpsk_common.c
    functionUses: 0
    functionsReached:
    - eap_gpsk_derive_keys_helper
    linkageType: ''
    returnType: int
    signature: "int eap_gpsk_derive_keys_sha256(const u8 *psk, size_t psk_len,\n\t\t\t\t
      \      const u8 *seed, size_t seed_len,\n\t\t\t\t       u8 *msk, u8 *emsk,\n\t\t\t\t
      \      u8 *sk, size_t *sk_len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_gpsk_common.c:290,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_gpsk_common.c:296,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_common/eap_gpsk_common.c:299,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_gpsk_common.c:301,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_gpsk_common.c:307,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_gpsk_common.c:309,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_gpsk_common.c:311,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_gpsk_common.c:313,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_common/eap_gpsk_common.c:315,1
    - Dst: eap_gpsk_derive_keys_aes
      Src: /src/hostap/src/eap_common/eap_gpsk_common.c:319,1
    - Dst: eap_gpsk_derive_keys_sha256
      Src: /src/hostap/src/eap_common/eap_gpsk_common.c:325,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_gpsk_common.c:331,1
    - Dst: os_free
      Src: /src/hostap/src/eap_common/eap_gpsk_common.c:337,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 16
    argNames:
    - psk
    - psk_len
    - vendor
    - specifier
    - rand_peer
    - rand_server
    - id_peer
    - id_peer_len
    - id_server
    - id_server_len
    - msk
    - emsk
    - sk
    - sk_len
    - pk
    - pk_len
    argTypes:
    - u8*
    - size_t
    - int
    - int
    - u8*
    - u8*
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - u8*
    - u8*
    - size_t*
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 279
    functionDepth: 3
    functionLinenumber: 279
    functionLinenumberEnd: 340
    functionName: eap_gpsk_derive_keys
    functionSourceFile: /src/hostap/src/eap_common/eap_gpsk_common.c
    functionUses: 2
    functionsReached:
    - eap_gpsk_derive_keys_aes
    - os_memcpy
    - wpa_printf
    - wpa_hexdump_key
    - eap_gpsk_derive_keys_sha256
    - wpa_hexdump
    - os_malloc
    - os_free
    linkageType: ''
    returnType: int
    signature: "int eap_gpsk_derive_keys(const u8 *psk, size_t psk_len, int vendor,\n\t\t\t
      int specifier,\n\t\t\t const u8 *rand_peer, const u8 *rand_server,\n\t\t\t const
      u8 *id_peer, size_t id_peer_len,\n\t\t\t const u8 *id_server, size_t id_server_len,\n\t\t\t
      u8 *msk, u8 *emsk, u8 *sk, size_t *sk_len,\n\t\t\t u8 *pk, size_t *pk_len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_gpsk_common.c:364,1
    - Dst: strlen
      Src: /src/hostap/src/eap_common/eap_gpsk_common.c:371,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_common/eap_gpsk_common.c:372,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_gpsk_common.c:376,1
    - Dst: strlen
      Src: /src/hostap/src/eap_common/eap_gpsk_common.c:376,1
    - Dst: strlen
      Src: /src/hostap/src/eap_common/eap_gpsk_common.c:377,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_gpsk_common.c:379,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/src/eap_common/eap_gpsk_common.c:381,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/eap_common/eap_gpsk_common.c:383,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_gpsk_common.c:385,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_common/eap_gpsk_common.c:386,1
    - Dst: gkdf
      Src: /src/hostap/src/eap_common/eap_gpsk_common.c:389,1
    - Dst: os_free
      Src: /src/hostap/src/eap_common/eap_gpsk_common.c:390,1
    - Dst: os_free
      Src: /src/hostap/src/eap_common/eap_gpsk_common.c:393,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_common/eap_gpsk_common.c:394,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 7
    argNames:
    - csuite_specifier
    - kdf_out
    - kdf_out_len
    - psk
    - seed
    - seed_len
    - method_type
    argTypes:
    - u32
    - u8*
    - size_t
    - u8*
    - u8*
    - size_t
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 397
    functionName: eap_gpsk_derive_mid_helper
    functionSourceFile: /src/hostap/src/eap_common/eap_gpsk_common.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_hexdump
    - os_malloc
    - WPA_PUT_BE16
    - gkdf
    - WPA_PUT_BE32
    - os_free
    - strlen
    linkageType: ''
    returnType: int
    signature: "int eap_gpsk_derive_mid_helper(u32 csuite_specifier,\n\t\t\t\t      u8
      *kdf_out, size_t kdf_out_len,\n\t\t\t\t      const u8 *psk, const u8 *seed,\n\t\t\t\t
      \     size_t seed_len, u8 method_type)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_gpsk_common.c:428,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eap_common/eap_gpsk_common.c:434,1
    - Dst: os_malloc
      Src: /src/hostap/src/eap_common/eap_gpsk_common.c:443,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_gpsk_common.c:445,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_gpsk_common.c:451,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_gpsk_common.c:453,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_gpsk_common.c:455,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_gpsk_common.c:457,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eap_common/eap_gpsk_common.c:459,1
    - Dst: eap_gpsk_derive_mid_helper
      Src: /src/hostap/src/eap_common/eap_gpsk_common.c:461,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eap_common/eap_gpsk_common.c:467,1
    - Dst: os_free
      Src: /src/hostap/src/eap_common/eap_gpsk_common.c:470,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 13
    argNames:
    - psk
    - psk_len
    - vendor
    - specifier
    - rand_peer
    - rand_server
    - id_peer
    - id_peer_len
    - id_server
    - id_server_len
    - method_type
    - sid
    - sid_len
    argTypes:
    - u8*
    - size_t
    - int
    - int
    - u8*
    - u8*
    - u8*
    - size_t
    - u8*
    - size_t
    - u8
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 417
    functionDepth: 2
    functionLinenumber: 417
    functionLinenumberEnd: 473
    functionName: eap_gpsk_derive_session_id
    functionSourceFile: /src/hostap/src/eap_common/eap_gpsk_common.c
    functionUses: 2
    functionsReached:
    - os_memcpy
    - wpa_printf
    - wpa_hexdump_key
    - eap_gpsk_derive_mid_helper
    - wpa_hexdump
    - os_malloc
    - os_free
    linkageType: ''
    returnType: int
    signature: "int eap_gpsk_derive_session_id(const u8 *psk, size_t psk_len, int
      vendor,\n\t\t\t       int specifier,\n\t\t\t       const u8 *rand_peer, const
      u8 *rand_server,\n\t\t\t       const u8 *id_peer, size_t id_peer_len,\n\t\t\t
      \      const u8 *id_server, size_t id_server_len,\n\t\t\t       u8 method_type,
      u8 *sid, size_t *sid_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - vendor
    - specifier
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 497
    functionName: eap_gpsk_mic_len
    functionSourceFile: /src/hostap/src/eap_common/eap_gpsk_common.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t eap_gpsk_mic_len(int vendor, int specifier)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_gpsk_common.c:504,1
    - Dst: omac1_aes_128
      Src: /src/hostap/src/eap_common/eap_gpsk_common.c:509,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - sk
    - sk_len
    - data
    - len
    - mic
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 510
    functionName: eap_gpsk_compute_mic_aes
    functionSourceFile: /src/hostap/src/eap_common/eap_gpsk_common.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - omac1_aes_128
    linkageType: ''
    returnType: int
    signature: "int eap_gpsk_compute_mic_aes(const u8 *sk, size_t sk_len,\n\t\t\t\t
      \   const u8 *data, size_t len, u8 *mic)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: eap_gpsk_compute_mic_aes
      Src: /src/hostap/src/eap_common/eap_gpsk_common.c:534,1
    - Dst: hmac_sha256
      Src: /src/hostap/src/eap_common/eap_gpsk_common.c:538,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_gpsk_common.c:542,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eap_common/eap_gpsk_common.c:549,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 7
    argNames:
    - sk
    - sk_len
    - vendor
    - specifier
    - data
    - len
    - mic
    argTypes:
    - u8*
    - size_t
    - int
    - int
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 552
    functionName: eap_gpsk_compute_mic
    functionSourceFile: /src/hostap/src/eap_common/eap_gpsk_common.c
    functionUses: 6
    functionsReached:
    - eap_gpsk_compute_mic_aes
    - wpa_printf
    - hmac_sha256
    linkageType: ''
    returnType: int
    signature: "int eap_gpsk_compute_mic(const u8 *sk, size_t sk_len, int vendor,\n\t\t\t
      int specifier, const u8 *data, size_t len, u8 *mic)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - start
    - ','
    - pos
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 38
    functionName: AVP_PAD
    functionSourceFile: /src/hostap/src/eap_common/eap_ttls.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AVP_PAD(start, pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 336
    functionName: IS_2P4GHZ
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_2P4GHZ(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 337
    functionName: IS_5GHZ
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_5GHZ(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _elem
    - ','
    - _data
    - ','
    - _datalen
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 362
    functionName: for_each_element
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: for_each_element(_elem, _data, _datalen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - element
    - ','
    - _id
    - ','
    - data
    - ','
    - datalen
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 366
    functionName: for_each_element_id
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: for_each_element_id(element, _id, data, datalen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - element
    - ','
    - extid
    - ','
    - _data
    - ','
    - _datalen
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 372
    functionName: for_each_element_extid
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: for_each_element_extid(element, extid, _data, _datalen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sub
    - ','
    - element
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 375
    functionName: for_each_subelement
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: for_each_subelement(sub, element)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - sub
    - ','
    - id
    - ','
    - element
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 378
    functionName: for_each_subelement_id
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: for_each_subelement_id(sub, id, element)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - sub
    - ','
    - extid
    - ','
    - element
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 381
    functionName: for_each_subelement_extid
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: for_each_subelement_extid(sub, extid, element)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - element
    - data
    - datalen
    argTypes:
    - struct element*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 399
    functionName: for_each_element_completed
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int for_each_element_completed(const struct element *element,\n\t\t\t\t\t
      \    const void *data, size_t datalen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: WLAN_FC_GET_TYPE
    functionSourceFile: /src/hostap/src/common/ieee802_11_defs.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WLAN_FC_GET_TYPE(fc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: WLAN_FC_GET_STYPE
    functionSourceFile: /src/hostap/src/common/ieee802_11_defs.h
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WLAN_FC_GET_STYPE(fc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - seq
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: WLAN_GET_SEQ_FRAG
    functionSourceFile: /src/hostap/src/common/ieee802_11_defs.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WLAN_GET_SEQ_FRAG(seq)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - seq
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: WLAN_GET_SEQ_SEQ
    functionSourceFile: /src/hostap/src/common/ieee802_11_defs.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WLAN_GET_SEQ_SEQ(seq)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - stype
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1045
    functionDepth: 0
    functionLinenumber: 1045
    functionLinenumberEnd: 1046
    functionName: IEEE80211_FC
    functionSourceFile: /src/hostap/src/common/ieee802_11_defs.h
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IEEE80211_FC(type, stype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 1251
    functionDepth: 0
    functionLinenumber: 1251
    functionLinenumberEnd: 1254
    functionName: IEEE80211_MIN_ACTION_LEN
    functionSourceFile: /src/hostap/src/common/ieee802_11_defs.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IEEE80211_MIN_ACTION_LEN(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctrl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2414
      start: 2413
    functionDepth: 0
    functionLinenumber: 2413
    functionLinenumberEnd: 2414
    functionName: MB_CTRL_ROLE
    functionSourceFile: /src/hostap/src/common/ieee802_11_defs.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MB_CTRL_ROLE(ctrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - enum he_reg_info_6ghz_ap_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2663
      start: 2659
    functionDepth: 0
    functionLinenumber: 2659
    functionLinenumberEnd: 2663
    functionName: he_reg_is_indoor
    functionSourceFile: /src/hostap/src/common/ieee802_11_defs.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool he_reg_is_indoor(enum he_reg_info_6ghz_ap_type type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - enum he_reg_info_6ghz_ap_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2669
      start: 2665
    functionDepth: 0
    functionLinenumber: 2665
    functionLinenumberEnd: 2669
    functionName: he_reg_is_sp
    functionSourceFile: /src/hostap/src/common/ieee802_11_defs.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool he_reg_is_sp(enum he_reg_info_6ghz_ap_type type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2721
      start: 2720
    functionDepth: 0
    functionLinenumber: 2720
    functionLinenumberEnd: 2721
    functionName: RNR_TBTT_INFO_COUNT
    functionSourceFile: /src/hostap/src/common/ieee802_11_defs.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RNR_TBTT_INFO_COUNT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2723
      start: 2722
    functionDepth: 0
    functionLinenumber: 2722
    functionLinenumberEnd: 2723
    functionName: RNR_TBTT_INFO_COUNT_VAL
    functionSourceFile: /src/hostap/src/common/ieee802_11_defs.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RNR_TBTT_INFO_COUNT_VAL(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3018
      start: 3017
    functionDepth: 0
    functionLinenumber: 3017
    functionLinenumberEnd: 3018
    functionName: EHT_PER_STA_RECONF_CTRL_OP_UPDATE_TYPE_VAL
    functionSourceFile: /src/hostap/src/common/ieee802_11_defs.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EHT_PER_STA_RECONF_CTRL_OP_UPDATE_TYPE_VAL(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/common/proc_coord.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pc
    - pid
    argTypes:
    - struct proc_coord*
    - pid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 81
    functionName: proc_coord_get_peer
    functionSourceFile: /src/hostap/src/common/proc_coord.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    linkageType: ''
    returnType: struct proc_coord_peer
    signature: "struct proc_coord_peer * proc_coord_get_peer(struct proc_coord *pc,\n\t\t\t\t\t\t
      \   pid_t pid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/common/proc_coord.c:89,1
    - Dst: dl_list_add
      Src: /src/hostap/src/common/proc_coord.c:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pc
    - pid
    argTypes:
    - struct proc_coord*
    - pid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 98
    functionName: proc_coord_add_peer
    functionSourceFile: /src/hostap/src/common/proc_coord.c
    functionUses: 0
    functionsReached:
    - os_zalloc
    - dl_list_add
    linkageType: ''
    returnType: struct proc_coord_peer
    signature: "struct proc_coord_peer * proc_coord_add_peer(struct proc_coord *pc,\n\t\t\t\t\t\t
      \   pid_t pid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_del
      Src: /src/hostap/src/common/proc_coord.c:103,1
    - Dst: struct proc_coord_pending_request*::cb
      Src: /src/hostap/src/common/proc_coord.c:105,1
    - Dst: os_free
      Src: /src/hostap/src/common/proc_coord.c:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct proc_coord_pending_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 107
    functionName: proc_coord_remove_req
    functionSourceFile: /src/hostap/src/common/proc_coord.c
    functionUses: 0
    functionsReached:
    - os_free
    - struct proc_coord_pending_request*::cb
    - dl_list_del
    linkageType: ''
    returnType: void
    signature: void proc_coord_remove_req(struct proc_coord_pending_request *req)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/common/proc_coord.c:115,1
    - Dst: proc_coord_remove_req
      Src: /src/hostap/src/common/proc_coord.c:118,1
    - Dst: dl_list_del
      Src: /src/hostap/src/common/proc_coord.c:121,1
    - Dst: os_free
      Src: /src/hostap/src/common/proc_coord.c:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pc
    - peer
    argTypes:
    - struct proc_coord*
    - struct proc_coord_peer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 123
    functionName: proc_coord_remove_peer
    functionSourceFile: /src/hostap/src/common/proc_coord.c
    functionUses: 0
    functionsReached:
    - os_free
    - proc_coord_remove_req
    - dl_list_del
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: "void proc_coord_remove_peer(struct proc_coord *pc,\n\t\t\t\t   struct
      proc_coord_peer *peer)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_get_reltime
      Src: /src/hostap/src/common/proc_coord.c:132,1
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/common/proc_coord.c:133,1
    - Dst: os_reltime_before
      Src: /src/hostap/src/common/proc_coord.c:135,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proc_coord.c:136,1
    - Dst: proc_coord_remove_req
      Src: /src/hostap/src/common/proc_coord.c:139,1
    - Dst: proc_coord_set_req_expire_timer
      Src: /src/hostap/src/common/proc_coord.c:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 144
    functionName: proc_coord_expire_requests
    functionSourceFile: /src/hostap/src/common/proc_coord.c
    functionUses: 0
    functionsReached:
    - os_get_reltime
    - wpa_printf
    - proc_coord_remove_req
    - proc_coord_set_req_expire_timer
    - os_reltime_before
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: void proc_coord_expire_requests(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/common/proc_coord.c:152,1
    - Dst: proc_coord_remove_req
      Src: /src/hostap/src/common/proc_coord.c:157,1
    - Dst: proc_coord_set_req_expire_timer
      Src: /src/hostap/src/common/proc_coord.c:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - pc
    - cb
    - cb_ctx
    argTypes:
    - struct proc_coord*
    - proc_coord_response_cb
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 162
    functionName: proc_coord_cancel_wait
    functionSourceFile: /src/hostap/src/common/proc_coord.c
    functionUses: 1
    functionsReached:
    - proc_coord_remove_req
    - proc_coord_set_req_expire_timer
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: "void proc_coord_cancel_wait(struct proc_coord *pc, proc_coord_response_cb
      cb,\n\t\t\t    void *cb_ctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/common/proc_coord.c:170,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/common/proc_coord.c:171,1
    - Dst: os_reltime_before
      Src: /src/hostap/src/common/proc_coord.c:173,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/common/proc_coord.c:181,1
    - Dst: os_reltime_before
      Src: /src/hostap/src/common/proc_coord.c:182,1
    - Dst: os_reltime_sub
      Src: /src/hostap/src/common/proc_coord.c:185,1
    - Dst: os_reltime_in_ms
      Src: /src/hostap/src/common/proc_coord.c:186,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/common/proc_coord.c:188,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - pc
    argTypes:
    - struct proc_coord*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 191
    functionName: proc_coord_set_req_expire_timer
    functionSourceFile: /src/hostap/src/common/proc_coord.c
    functionUses: 2
    functionsReached:
    - os_get_reltime
    - eloop_cancel_timeout
    - dl_list_for_each
    - os_reltime_sub
    - os_reltime_in_ms
    - eloop_register_timeout
    - os_reltime_before
    linkageType: ''
    returnType: void
    signature: void proc_coord_set_req_expire_timer(struct proc_coord *pc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/common/proc_coord.c:200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - pc
    - peer
    - cmd
    - seq
    argTypes:
    - struct proc_coord*
    - struct proc_coord_peer*
    - enum proc_coord_commands
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 207
    functionName: proc_coord_get_request
    functionSourceFile: /src/hostap/src/common/proc_coord.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    linkageType: ''
    returnType: struct proc_coord_pending_request
    signature: "struct proc_coord_pending_request *\nproc_coord_get_request(struct
      proc_coord *pc, struct proc_coord_peer *peer,\n\t\t       enum proc_coord_commands
      cmd, u32 seq)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proc_coord.c:222,1
    - Dst: os_memset
      Src: /src/hostap/src/common/proc_coord.c:226,1
    - Dst: os_memset
      Src: /src/hostap/src/common/proc_coord.c:231,1
    - Dst: os_snprintf
      Src: /src/hostap/src/common/proc_coord.c:233,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/proc_coord.c:239,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/proc_coord.c:240,1
    - Dst: os_memset
      Src: /src/hostap/src/common/proc_coord.c:243,1
    - Dst: sendmsg
      Src: /src/hostap/src/common/proc_coord.c:249,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proc_coord.c:253,1
    - Dst: strerror
      Src: /src/hostap/src/common/proc_coord.c:254,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proc_coord.c:256,1
    - Dst: proc_coord_remove_peer
      Src: /src/hostap/src/common/proc_coord.c:259,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 6
    argNames:
    - pc
    - peer
    - msg_type
    - cmd
    - seq
    - msg
    argTypes:
    - struct proc_coord*
    - struct proc_coord_peer*
    - enum proc_coord_message_types
    - enum proc_coord_commands
    - u32
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 210
    functionDepth: 3
    functionLinenumber: 210
    functionLinenumberEnd: 264
    functionName: proc_coord_send_msg
    functionSourceFile: /src/hostap/src/common/proc_coord.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - strerror
    - wpabuf_len
    - sendmsg
    - wpabuf_head
    - os_snprintf
    - proc_coord_remove_peer
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int proc_coord_send_msg(struct proc_coord *pc,\n\t\t\t       struct
      proc_coord_peer *peer,\n\t\t\t       enum proc_coord_message_types msg_type,\n\t\t\t
      \      enum proc_coord_commands cmd,\n\t\t\t       u32 seq, const struct wpabuf
      *msg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proc_coord.c:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pc
    - pid
    argTypes:
    - struct proc_coord*
    - pid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 270
    functionName: proc_coord_rx_starting
    functionSourceFile: /src/hostap/src/common/proc_coord.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void proc_coord_rx_starting(struct proc_coord *pc, pid_t pid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proc_coord.c:277,1
    - Dst: proc_coord_get_peer
      Src: /src/hostap/src/common/proc_coord.c:279,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proc_coord.c:281,1
    - Dst: proc_coord_remove_peer
      Src: /src/hostap/src/common/proc_coord.c:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pc
    - pid
    argTypes:
    - struct proc_coord*
    - pid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 273
    functionDepth: 3
    functionLinenumber: 273
    functionLinenumberEnd: 286
    functionName: proc_coord_rx_stopping
    functionSourceFile: /src/hostap/src/common/proc_coord.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - proc_coord_remove_peer
    - proc_coord_get_peer
    linkageType: ''
    returnType: void
    signature: void proc_coord_rx_stopping(struct proc_coord *pc, pid_t pid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proc_coord.c:295,1
    - Dst: proc_coord_send_response
      Src: /src/hostap/src/common/proc_coord.c:296,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - pc
    - pid
    - msg_type
    - seq
    argTypes:
    - struct proc_coord*
    - pid_t
    - enum proc_coord_message_types
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 297
    functionName: proc_coord_rx_ping
    functionSourceFile: /src/hostap/src/common/proc_coord.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - proc_coord_send_response
    linkageType: ''
    returnType: void
    signature: "void proc_coord_rx_ping(struct proc_coord *pc, pid_t pid,\n\t\t\t
      \      enum proc_coord_message_types msg_type, u32 seq)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: recv
      Src: /src/hostap/src/common/proc_coord.c:315,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proc_coord.c:317,1
    - Dst: strerror
      Src: /src/hostap/src/common/proc_coord.c:318,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/common/proc_coord.c:326,1
    - Dst: wpabuf_mhead
      Src: /src/hostap/src/common/proc_coord.c:332,1
    - Dst: os_memset
      Src: /src/hostap/src/common/proc_coord.c:335,1
    - Dst: recvmsg
      Src: /src/hostap/src/common/proc_coord.c:341,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proc_coord.c:343,1
    - Dst: strerror
      Src: /src/hostap/src/common/proc_coord.c:344,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proc_coord.c:350,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/common/proc_coord.c:353,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/common/proc_coord.c:354,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/proc_coord.c:361,1
    - Dst: os_strncmp
      Src: /src/hostap/src/common/proc_coord.c:362,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/proc_coord.c:362,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/proc_coord.c:375,1
    - Dst: atoi
      Src: /src/hostap/src/common/proc_coord.c:376,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proc_coord.c:378,1
    - Dst: proc_coord_get_peer
      Src: /src/hostap/src/common/proc_coord.c:381,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proc_coord.c:390,1
    - Dst: proc_coord_get_request
      Src: /src/hostap/src/common/proc_coord.c:396,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proc_coord.c:398,1
    - Dst: struct proc_coord_pending_request*::cb
      Src: /src/hostap/src/common/proc_coord.c:404,1
    - Dst: dl_list_del
      Src: /src/hostap/src/common/proc_coord.c:405,1
    - Dst: os_free
      Src: /src/hostap/src/common/proc_coord.c:406,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proc_coord.c:412,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proc_coord.c:419,1
    - Dst: proc_coord_add_peer
      Src: /src/hostap/src/common/proc_coord.c:422,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proc_coord.c:424,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proc_coord.c:432,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/common/proc_coord.c:438,1
    - Dst: proc_coord_rx_starting
      Src: /src/hostap/src/common/proc_coord.c:442,1
    - Dst: proc_coord_rx_stopping
      Src: /src/hostap/src/common/proc_coord.c:445,1
    - Dst: proc_coord_rx_ping
      Src: /src/hostap/src/common/proc_coord.c:448,1
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/common/proc_coord.c:454,1
    - Dst: struct proc_coord_handler*::cb
      Src: /src/hostap/src/common/proc_coord.c:456,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/proc_coord.c:464,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 118
    argCount: 3
    argNames:
    - sock
    - eloop_ctx
    - sock_ctx
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 300
    functionDepth: 4
    functionLinenumber: 300
    functionLinenumberEnd: 465
    functionName: proc_coord_receive
    functionSourceFile: /src/hostap/src/common/proc_coord.c
    functionUses: 0
    functionsReached:
    - proc_coord_get_request
    - wpabuf_alloc
    - proc_coord_rx_stopping
    - atoi
    - dl_list_for_each_safe
    - os_strlen
    - wpa_printf
    - recvmsg
    - recv
    - os_free
    - wpa_hexdump_buf
    - struct proc_coord_pending_request*::cb
    - os_get_reltime
    - proc_coord_get_peer
    - proc_coord_add_peer
    - proc_coord_rx_ping
    - wpabuf_mhead
    - struct proc_coord_handler*::cb
    - os_memset
    - wpabuf_put
    - os_memcpy
    - dl_list_del
    - strerror
    - wpabuf_free
    - os_strncmp
    - proc_coord_rx_starting
    linkageType: ''
    returnType: void
    signature: void proc_coord_receive(int sock, void *eloop_ctx, void *sock_ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_empty
      Src: /src/hostap/src/common/proc_coord.c:473,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proc_coord.c:476,1
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/common/proc_coord.c:477,1
    - Dst: proc_coord_send_msg
      Src: /src/hostap/src/common/proc_coord.c:479,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proc_coord.c:483,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pc
    argTypes:
    - struct proc_coord*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 468
    functionDepth: 4
    functionLinenumber: 468
    functionLinenumberEnd: 484
    functionName: proc_coord_send_starting
    functionSourceFile: /src/hostap/src/common/proc_coord.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each_safe
    - wpa_printf
    - proc_coord_send_msg
    - dl_list_empty
    linkageType: ''
    returnType: void
    signature: void proc_coord_send_starting(struct proc_coord *pc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_empty
      Src: /src/hostap/src/common/proc_coord.c:489,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proc_coord.c:492,1
    - Dst: proc_coord_send_event
      Src: /src/hostap/src/common/proc_coord.c:494,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pc
    argTypes:
    - struct proc_coord*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 495
    functionName: proc_coord_send_stopping
    functionSourceFile: /src/hostap/src/common/proc_coord.c
    functionUses: 0
    functionsReached:
    - proc_coord_send_event
    - wpa_printf
    - dl_list_empty
    linkageType: ''
    returnType: void
    signature: void proc_coord_send_stopping(struct proc_coord *pc)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: proc_coord_get_peer
      Src: /src/hostap/src/common/proc_coord.c:503,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proc_coord.c:508,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proc_coord.c:515,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - ctx
    - pid
    - msg
    argTypes:
    - void*
    - int
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 521
    functionName: proc_coord_cb_ping
    functionSourceFile: /src/hostap/src/common/proc_coord.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - proc_coord_get_peer
    linkageType: ''
    returnType: void
    signature: void proc_coord_cb_ping(void *ctx, int pid, const struct wpabuf *msg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/common/proc_coord.c:531,1
    - Dst: os_snprintf
      Src: /src/hostap/src/common/proc_coord.c:535,1
    - Dst: os_file_exists
      Src: /src/hostap/src/common/proc_coord.c:536,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proc_coord.c:537,1
    - Dst: proc_coord_remove_peer
      Src: /src/hostap/src/common/proc_coord.c:540,1
    - Dst: opendir
      Src: /src/hostap/src/common/proc_coord.c:545,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proc_coord.c:547,1
    - Dst: strerror
      Src: /src/hostap/src/common/proc_coord.c:548,1
    - Dst: readdir
      Src: /src/hostap/src/common/proc_coord.c:552,1
    - Dst: atoi
      Src: /src/hostap/src/common/proc_coord.c:553,1
    - Dst: proc_coord_get_peer
      Src: /src/hostap/src/common/proc_coord.c:558,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proc_coord.c:562,1
    - Dst: proc_coord_add_peer
      Src: /src/hostap/src/common/proc_coord.c:564,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proc_coord.c:566,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proc_coord.c:572,1
    - Dst: proc_coord_send_request
      Src: /src/hostap/src/common/proc_coord.c:573,1
    - Dst: closedir
      Src: /src/hostap/src/common/proc_coord.c:577,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 1
    argNames:
    - pc
    argTypes:
    - struct proc_coord*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 524
    functionDepth: 3
    functionLinenumber: 524
    functionLinenumberEnd: 578
    functionName: proc_coord_update_peers_from_dir
    functionSourceFile: /src/hostap/src/common/proc_coord.c
    functionUses: 0
    functionsReached:
    - os_file_exists
    - closedir
    - wpa_printf
    - strerror
    - proc_coord_get_peer
    - proc_coord_add_peer
    - os_snprintf
    - opendir
    - atoi
    - readdir
    - proc_coord_remove_peer
    - proc_coord_send_request
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: void proc_coord_update_peers_from_dir(struct proc_coord *pc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proc_coord_update_peers_from_dir
      Src: /src/hostap/src/common/proc_coord.c:587,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/common/proc_coord.c:589,1
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/common/proc_coord.c:590,1
    - Dst: os_reltime_expired
      Src: /src/hostap/src/common/proc_coord.c:592,1
    - Dst: proc_coord_send_request
      Src: /src/hostap/src/common/proc_coord.c:594,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/common/proc_coord.c:598,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 581
    functionDepth: 4
    functionLinenumber: 581
    functionLinenumberEnd: 599
    functionName: proc_coord_update_peers
    functionSourceFile: /src/hostap/src/common/proc_coord.c
    functionUses: 0
    functionsReached:
    - os_get_reltime
    - proc_coord_update_peers_from_dir
    - eloop_register_timeout
    - os_reltime_expired
    - proc_coord_send_request
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: void proc_coord_update_peers(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/common/proc_coord.c:609,1
    - Dst: dl_list_init
      Src: /src/hostap/src/common/proc_coord.c:613,1
    - Dst: dl_list_init
      Src: /src/hostap/src/common/proc_coord.c:614,1
    - Dst: dl_list_init
      Src: /src/hostap/src/common/proc_coord.c:615,1
    - Dst: os_strdup
      Src: /src/hostap/src/common/proc_coord.c:618,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/proc_coord.c:622,1
    - Dst: os_zalloc
      Src: /src/hostap/src/common/proc_coord.c:623,1
    - Dst: getpid
      Src: /src/hostap/src/common/proc_coord.c:626,1
    - Dst: os_snprintf
      Src: /src/hostap/src/common/proc_coord.c:627,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proc_coord.c:628,1
    - Dst: unlink
      Src: /src/hostap/src/common/proc_coord.c:629,1
    - Dst: socket
      Src: /src/hostap/src/common/proc_coord.c:631,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proc_coord.c:633,1
    - Dst: strerror
      Src: /src/hostap/src/common/proc_coord.c:634,1
    - Dst: os_memset
      Src: /src/hostap/src/common/proc_coord.c:638,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/common/proc_coord.c:640,1
    - Dst: bind
      Src: /src/hostap/src/common/proc_coord.c:641,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proc_coord.c:642,1
    - Dst: strerror
      Src: /src/hostap/src/common/proc_coord.c:643,1
    - Dst: fcntl
      Src: /src/hostap/src/common/proc_coord.c:647,1
    - Dst: fcntl
      Src: /src/hostap/src/common/proc_coord.c:650,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proc_coord.c:651,1
    - Dst: strerror
      Src: /src/hostap/src/common/proc_coord.c:653,1
    - Dst: eloop_register_read_sock
      Src: /src/hostap/src/common/proc_coord.c:658,1
    - Dst: proc_coord_update_peers_from_dir
      Src: /src/hostap/src/common/proc_coord.c:660,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/common/proc_coord.c:664,1
    - Dst: proc_coord_send_starting
      Src: /src/hostap/src/common/proc_coord.c:666,1
    - Dst: proc_coord_deinit
      Src: /src/hostap/src/common/proc_coord.c:671,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 51
    argCount: 1
    argNames:
    - dir
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 602
    functionDepth: 5
    functionLinenumber: 602
    functionLinenumberEnd: 673
    functionName: proc_coord_init
    functionSourceFile: /src/hostap/src/common/proc_coord.c
    functionUses: 2
    functionsReached:
    - eloop_register_read_sock
    - proc_coord_send_starting
    - os_strlcpy
    - os_snprintf
    - proc_coord_deinit
    - dl_list_init
    - unlink
    - os_strlen
    - wpa_printf
    - bind
    - getpid
    - os_strdup
    - fcntl
    - os_memset
    - strerror
    - socket
    - proc_coord_update_peers_from_dir
    - os_zalloc
    - eloop_register_timeout
    linkageType: ''
    returnType: struct proc_coord
    signature: struct proc_coord * proc_coord_init(const char *dir)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/common/proc_coord.c:684,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/common/proc_coord.c:685,1
    - Dst: proc_coord_send_stopping
      Src: /src/hostap/src/common/proc_coord.c:688,1
    - Dst: eloop_unregister_read_sock
      Src: /src/hostap/src/common/proc_coord.c:689,1
    - Dst: close
      Src: /src/hostap/src/common/proc_coord.c:690,1
    - Dst: unlink
      Src: /src/hostap/src/common/proc_coord.c:691,1
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/common/proc_coord.c:694,1
    - Dst: proc_coord_remove_peer
      Src: /src/hostap/src/common/proc_coord.c:696,1
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/common/proc_coord.c:698,1
    - Dst: dl_list_del
      Src: /src/hostap/src/common/proc_coord.c:700,1
    - Dst: os_free
      Src: /src/hostap/src/common/proc_coord.c:701,1
    - Dst: os_free
      Src: /src/hostap/src/common/proc_coord.c:704,1
    - Dst: os_free
      Src: /src/hostap/src/common/proc_coord.c:705,1
    - Dst: os_free
      Src: /src/hostap/src/common/proc_coord.c:706,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - pc
    argTypes:
    - struct proc_coord*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 676
    functionDepth: 3
    functionLinenumber: 676
    functionLinenumberEnd: 707
    functionName: proc_coord_deinit
    functionSourceFile: /src/hostap/src/common/proc_coord.c
    functionUses: 3
    functionsReached:
    - eloop_unregister_read_sock
    - dl_list_del
    - eloop_cancel_timeout
    - proc_coord_send_stopping
    - close
    - unlink
    - os_free
    - proc_coord_remove_peer
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: void proc_coord_deinit(struct proc_coord *pc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/common/proc_coord.c:715,1
    - Dst: dl_list_add
      Src: /src/hostap/src/common/proc_coord.c:721,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - pc
    - cb
    - cb_ctx
    argTypes:
    - struct proc_coord*
    - proc_coord_cb
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 710
    functionDepth: 1
    functionLinenumber: 710
    functionLinenumberEnd: 723
    functionName: proc_coord_register_handler
    functionSourceFile: /src/hostap/src/common/proc_coord.c
    functionUses: 1
    functionsReached:
    - os_zalloc
    - dl_list_add
    linkageType: ''
    returnType: int
    signature: "int proc_coord_register_handler(struct proc_coord *pc, proc_coord_cb
      cb,\n\t\t\t\tvoid *cb_ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/common/proc_coord.c:731,1
    - Dst: dl_list_del
      Src: /src/hostap/src/common/proc_coord.c:734,1
    - Dst: os_free
      Src: /src/hostap/src/common/proc_coord.c:735,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - pc
    - cb
    - cb_ctx
    argTypes:
    - struct proc_coord*
    - proc_coord_cb
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 726
    functionDepth: 1
    functionLinenumber: 726
    functionLinenumberEnd: 739
    functionName: proc_coord_unregister_handler
    functionSourceFile: /src/hostap/src/common/proc_coord.c
    functionUses: 1
    functionsReached:
    - dl_list_for_each
    - os_free
    - dl_list_del
    linkageType: ''
    returnType: void
    signature: "void proc_coord_unregister_handler(struct proc_coord *pc, proc_coord_cb
      cb,\n\t\t\t\t   void *cb_ctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/common/proc_coord.c:750,1
    - Dst: proc_coord_send_msg
      Src: /src/hostap/src/common/proc_coord.c:756,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 4
    argNames:
    - pc
    - dst
    - cmd
    - msg
    argTypes:
    - struct proc_coord*
    - int
    - enum proc_coord_commands
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 742
    functionDepth: 4
    functionLinenumber: 742
    functionLinenumberEnd: 762
    functionName: proc_coord_send_event
    functionSourceFile: /src/hostap/src/common/proc_coord.c
    functionUses: 1
    functionsReached:
    - proc_coord_send_msg
    - dl_list_for_each_safe
    linkageType: ''
    returnType: int
    signature: "int proc_coord_send_event(struct proc_coord *pc, int dst,\n\t\t\t
      \ enum proc_coord_commands cmd,\n\t\t\t  const struct wpabuf *msg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/common/proc_coord.c:778,1
    - Dst: proc_coord_send_msg
      Src: /src/hostap/src/common/proc_coord.c:784,1
    - Dst: os_zalloc
      Src: /src/hostap/src/common/proc_coord.c:789,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/common/proc_coord.c:797,1
    - Dst: os_reltime_add_ms
      Src: /src/hostap/src/common/proc_coord.c:798,1
    - Dst: dl_list_add
      Src: /src/hostap/src/common/proc_coord.c:799,1
    - Dst: proc_coord_set_req_expire_timer
      Src: /src/hostap/src/common/proc_coord.c:801,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 7
    argNames:
    - pc
    - dst
    - cmd
    - msg
    - timeout_ms
    - cb
    - cb_ctx
    argTypes:
    - struct proc_coord*
    - int
    - enum proc_coord_commands
    - struct wpabuf*
    - unsigned int
    - proc_coord_response_cb
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 765
    functionDepth: 4
    functionLinenumber: 765
    functionLinenumberEnd: 804
    functionName: proc_coord_send_request
    functionSourceFile: /src/hostap/src/common/proc_coord.c
    functionUses: 3
    functionsReached:
    - os_get_reltime
    - os_reltime_add_ms
    - proc_coord_set_req_expire_timer
    - os_zalloc
    - dl_list_add
    - proc_coord_send_msg
    - dl_list_for_each_safe
    linkageType: ''
    returnType: int
    signature: "int proc_coord_send_request(struct proc_coord *pc, int dst,\n\t\t\t
      \   enum proc_coord_commands cmd,\n\t\t\t    const struct wpabuf *msg,\n\t\t\t
      \   unsigned int timeout_ms,\n\t\t\t    proc_coord_response_cb cb,\n\t\t\t    void
      *cb_ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proc_coord_get_peer
      Src: /src/hostap/src/common/proc_coord.c:811,1
    - Dst: proc_coord_send_msg
      Src: /src/hostap/src/common/proc_coord.c:815,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - pc
    - dst
    - cmd
    - seq
    - msg
    argTypes:
    - struct proc_coord*
    - int
    - enum proc_coord_commands
    - u32
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 807
    functionDepth: 4
    functionLinenumber: 807
    functionLinenumberEnd: 817
    functionName: proc_coord_send_response
    functionSourceFile: /src/hostap/src/common/proc_coord.c
    functionUses: 2
    functionsReached:
    - proc_coord_send_msg
    - proc_coord_get_peer
    linkageType: ''
    returnType: int
    signature: "int proc_coord_send_response(struct proc_coord *pc, int dst,\n\t\t\t
      \    enum proc_coord_commands cmd, u32 seq,\n\t\t\t     const struct wpabuf
      *msg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/src/common/dpp.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - auth
    - txt
    argTypes:
    - struct dpp_authentication*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: dpp_auth_fail
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 0
    functionsReached:
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: void dpp_auth_fail(struct dpp_authentication *auth, const char *txt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/common/dpp.c:53,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/dpp.c:56,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/dpp.c:57,1
    - Dst: wpabuf_put_be24
      Src: /src/hostap/src/common/dpp.c:58,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/dpp.c:59,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/dpp.c:60,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/dpp.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - type
    - len
    argTypes:
    - enum dpp_public_action_frame_type
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 63
    functionName: dpp_alloc_msg
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 4
    functionsReached:
    - wpabuf_alloc
    - wpabuf_put_u8
    - wpabuf_put_be24
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * dpp_alloc_msg(enum dpp_public_action_frame_type type,\n\t\t\t
      \     size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/common/dpp.c:72,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/common/dpp.c:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - buf
    - len
    - req_id
    - ret_len
    argTypes:
    - u8*
    - size_t
    - u16
    - u16*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 86
    functionName: dpp_get_attr
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 14
    functionsReached:
    - WPA_GET_LE16
    linkageType: ''
    returnType: u8
    signature: u8 * dpp_get_attr(const u8 *buf, size_t len, u16 req_id, u16 *ret_len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/common/dpp.c:98,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/common/dpp.c:100,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/common/dpp.c:102,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 5
    argNames:
    - prev
    - buf
    - len
    - req_id
    - ret_len
    argTypes:
    - u8*
    - u8*
    - size_t
    - u16
    - u16*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 114
    functionName: dpp_get_attr_next
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 0
    functionsReached:
    - WPA_GET_LE16
    linkageType: ''
    returnType: u8
    signature: "u8 * dpp_get_attr_next(const u8 *prev, const u8 *buf, size_t len,\n\t\t\t\t
      \   u16 req_id, u16 *ret_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/common/dpp.c:127,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/common/dpp.c:129,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:131,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:134,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:139,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:149,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 156
    functionName: dpp_check_attrs
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - WPA_GET_LE16
    linkageType: ''
    returnType: int
    signature: int dpp_check_attrs(const u8 *buf, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/common/dpp.c:163,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp.c:164,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp.c:165,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp.c:166,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp.c:167,1
    - Dst: crypto_ec_key_deinit
      Src: /src/hostap/src/common/dpp.c:168,1
    - Dst: str_clear_free
      Src: /src/hostap/src/common/dpp.c:169,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp.c:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - info
    argTypes:
    - struct dpp_bootstrap_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 171
    functionName: dpp_bootstrap_info_free
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 0
    functionsReached:
    - os_free
    - str_clear_free
    - crypto_ec_key_deinit
    linkageType: ''
    returnType: void
    signature: void dpp_bootstrap_info_free(struct dpp_bootstrap_info *info)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - type
    argTypes:
    - enum dpp_bootstrap_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 185
    functionName: dpp_bootstrap_type_txt
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * dpp_bootstrap_type_txt(enum dpp_bootstrap_type type)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - info
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 198
    functionName: dpp_uri_valid_info
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dpp_uri_valid_info(const char *info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_strdup
      Src: /src/hostap/src/common/dpp.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bi
    - uri
    argTypes:
    - struct dpp_bootstrap_info*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 205
    functionName: dpp_clone_uri
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 0
    functionsReached:
    - os_strdup
    linkageType: ''
    returnType: int
    signature: int dpp_clone_uri(struct dpp_bootstrap_info *bi, const char *uri)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/hostap/src/common/dpp.c:219,1
    - Dst: atoi
      Src: /src/hostap/src/common/dpp.c:224,1
    - Dst: ieee80211_chan_to_freq
      Src: /src/hostap/src/common/dpp.c:229,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:230,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:235,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:239,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:256,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 43
    argCount: 2
    argNames:
    - bi
    - chan_list
    argTypes:
    - struct dpp_bootstrap_info*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 258
    functionName: dpp_parse_uri_chan_list
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 0
    functionsReached:
    - atoi
    - wpa_printf
    - ieee80211_chan_to_freq
    linkageType: ''
    returnType: int
    signature: "int dpp_parse_uri_chan_list(struct dpp_bootstrap_info *bi,\n\t\t\t
      \   const char *chan_list)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hwaddr_aton2
      Src: /src/hostap/src/common/dpp.c:266,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:267,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:271,1
    - Dst: MAC2STR
      Src: /src/hostap/src/common/dpp.c:271,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - bi
    - mac
    argTypes:
    - struct dpp_bootstrap_info*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 274
    functionName: dpp_parse_uri_mac
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    - hwaddr_aton2
    linkageType: ''
    returnType: int
    signature: int dpp_parse_uri_mac(struct dpp_bootstrap_info *bi, const char *mac)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_strchr
      Src: /src/hostap/src/common/dpp.c:284,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/dpp.c:286,1
    - Dst: os_malloc
      Src: /src/hostap/src/common/dpp.c:287,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/dpp.c:290,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:292,1
    - Dst: dpp_uri_valid_info
      Src: /src/hostap/src/common/dpp.c:293,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:294,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - bi
    - info
    argTypes:
    - struct dpp_bootstrap_info*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 299
    functionName: dpp_parse_uri_info
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_memcpy
    - wpa_printf
    - dpp_uri_valid_info
    - os_malloc
    - os_strchr
    linkageType: ''
    returnType: int
    signature: int dpp_parse_uri_info(struct dpp_bootstrap_info *bi, const char *info)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:316,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:318,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - bi
    - version
    argTypes:
    - struct dpp_bootstrap_info*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 322
    functionName: dpp_parse_uri_version
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int dpp_parse_uri_version(struct dpp_bootstrap_info *bi,\n\t\t\t\t
      const char *version)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_strchr
      Src: /src/hostap/src/common/dpp.c:332,1
    - Dst: base64_decode
      Src: /src/hostap/src/common/dpp.c:336,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:338,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp.c:342,1
    - Dst: dpp_get_subject_public_key
      Src: /src/hostap/src/common/dpp.c:345,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp.c:346,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - bi
    - info
    argTypes:
    - struct dpp_bootstrap_info*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 348
    functionName: dpp_parse_uri_pk
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 0
    functionsReached:
    - dpp_get_subject_public_key
    - wpa_printf
    - wpa_hexdump
    - base64_decode
    - os_free
    - os_strchr
    linkageType: ''
    returnType: int
    signature: int dpp_parse_uri_pk(struct dpp_bootstrap_info *bi, const char *info)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hex2num
      Src: /src/hostap/src/common/dpp.c:359,1
    - Dst: hex2num
      Src: /src/hostap/src/common/dpp.c:364,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:368,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - bi
    - txt
    argTypes:
    - struct dpp_bootstrap_info*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 372
    functionName: dpp_parse_uri_supported_curves
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hex2num
    linkageType: ''
    returnType: int
    signature: "int dpp_parse_uri_supported_curves(struct dpp_bootstrap_info *bi,\n\t\t\t\t\t
      \ const char *txt)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: os_strchr
      Src: /src/hostap/src/common/dpp.c:385,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/dpp.c:387,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/dpp.c:390,1
    - Dst: os_strchr
      Src: /src/hostap/src/common/dpp.c:398,1
    - Dst: atoi
      Src: /src/hostap/src/common/dpp.c:403,1
    - Dst: hostapd_parse_ip_addr
      Src: /src/hostap/src/common/dpp.c:406,1
    - Dst: os_strrchr
      Src: /src/hostap/src/common/dpp.c:408,1
    - Dst: atoi
      Src: /src/hostap/src/common/dpp.c:411,1
    - Dst: hostapd_parse_ip_addr
      Src: /src/hostap/src/common/dpp.c:414,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:415,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp.c:421,1
    - Dst: os_memdup
      Src: /src/hostap/src/common/dpp.c:422,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:426,1
    - Dst: hostapd_ip_txt
      Src: /src/hostap/src/common/dpp.c:427,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 2
    argNames:
    - bi
    - txt
    argTypes:
    - struct dpp_bootstrap_info*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 430
    functionName: dpp_parse_uri_host
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_memcpy
    - wpa_printf
    - hostapd_parse_ip_addr
    - os_memdup
    - os_strrchr
    - atoi
    - os_strchr
    - os_free
    - hostapd_ip_txt
    linkageType: ''
    returnType: int
    signature: int dpp_parse_uri_host(struct dpp_bootstrap_info *bi, const char *txt)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/common/dpp.c:441,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/dpp.c:441,1
    - Dst: os_strncmp
      Src: /src/hostap/src/common/dpp.c:443,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:444,1
    - Dst: os_strchr
      Src: /src/hostap/src/common/dpp.c:450,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/common/dpp.c:476,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:483,1
    - Dst: os_zalloc
      Src: /src/hostap/src/common/dpp.c:487,1
    - Dst: dpp_clone_uri
      Src: /src/hostap/src/common/dpp.c:491,1
    - Dst: dpp_parse_uri_chan_list
      Src: /src/hostap/src/common/dpp.c:492,1
    - Dst: dpp_parse_uri_mac
      Src: /src/hostap/src/common/dpp.c:493,1
    - Dst: dpp_parse_uri_info
      Src: /src/hostap/src/common/dpp.c:494,1
    - Dst: dpp_parse_uri_version
      Src: /src/hostap/src/common/dpp.c:495,1
    - Dst: dpp_parse_uri_supported_curves
      Src: /src/hostap/src/common/dpp.c:496,1
    - Dst: dpp_parse_uri_host
      Src: /src/hostap/src/common/dpp.c:497,1
    - Dst: dpp_parse_uri_pk
      Src: /src/hostap/src/common/dpp.c:498,1
    - Dst: dpp_bootstrap_info_free
      Src: /src/hostap/src/common/dpp.c:499,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 44
    argCount: 1
    argNames:
    - uri
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 433
    functionDepth: 2
    functionLinenumber: 433
    functionLinenumberEnd: 504
    functionName: dpp_parse_uri
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - dpp_parse_uri_version
    - wpa_printf
    - dpp_parse_uri_chan_list
    - dpp_parse_uri_supported_curves
    - dpp_clone_uri
    - os_strncmp
    - dpp_parse_uri_info
    - dpp_bootstrap_info_free
    - os_zalloc
    - dpp_parse_uri_host
    - dpp_parse_uri_pk
    - dpp_parse_uri_mac
    - os_strchr
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: struct dpp_bootstrap_info
    signature: struct dpp_bootstrap_info * dpp_parse_uri(const char *uri)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:509,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp.c:510,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp.c:511,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/dpp.c:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - msg
    - status
    argTypes:
    - struct wpabuf*
    - enum dpp_status_error
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 513
    functionName: dpp_build_attr_status
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put_u8
    - wpabuf_put_le16
    linkageType: ''
    returnType: void
    signature: void dpp_build_attr_status(struct wpabuf *msg, enum dpp_status_error
      status)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:519,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp.c:520,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp.c:521,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/common/dpp.c:522,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - msg
    - hash
    argTypes:
    - struct wpabuf*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 516
    functionDepth: 1
    functionLinenumber: 516
    functionLinenumberEnd: 524
    functionName: dpp_build_attr_r_bootstrap_key_hash
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put_data
    - wpabuf_put_le16
    linkageType: ''
    returnType: void
    signature: void dpp_build_attr_r_bootstrap_key_hash(struct wpabuf *msg, const
      u8 *hash)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:549,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - own_modes
    - num_modes
    - freq
    argTypes:
    - struct hostapd_hw_modes*
    - u16
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 551
    functionName: dpp_channel_ok_init
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int dpp_channel_ok_init(struct hostapd_hw_modes *own_modes,\n\t\t\t
      \      u16 num_modes, unsigned int freq)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - freqs
    - num
    - freq
    argTypes:
    - unsigned int[]
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 562
    functionName: freq_included
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int freq_included(const unsigned int freqs[], unsigned int num,\n\t\t\t
      unsigned int freq)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memmove
      Src: /src/hostap/src/common/dpp.c:576,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - freqs
    - num
    - freq
    argTypes:
    - unsigned int[]
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 578
    functionName: freq_to_start
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 0
    functionsReached:
    - os_memmove
    linkageType: ''
    returnType: void
    signature: "void freq_to_start(unsigned int freqs[], unsigned int num,\n\t\t\t
      \ unsigned int freq)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: freq_included
      Src: /src/hostap/src/common/dpp.c:590,1
    - Dst: dpp_channel_ok_init
      Src: /src/hostap/src/common/dpp.c:592,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:596,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - auth
    - own_modes
    - num_modes
    argTypes:
    - struct dpp_authentication*
    - struct hostapd_hw_modes*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 581
    functionDepth: 1
    functionLinenumber: 581
    functionLinenumberEnd: 602
    functionName: dpp_channel_intersect
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 0
    functionsReached:
    - dpp_channel_ok_init
    - wpa_printf
    - freq_included
    linkageType: ''
    returnType: int
    signature: "int dpp_channel_intersect(struct dpp_authentication *auth,\n\t\t\t\t
      struct hostapd_hw_modes *own_modes,\n\t\t\t\t u16 num_modes)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: freq_included
      Src: /src/hostap/src/common/dpp.c:631,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 3
    argNames:
    - auth
    - own_modes
    - num_modes
    argTypes:
    - struct dpp_authentication*
    - struct hostapd_hw_modes*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 642
    functionName: dpp_channel_local_list
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 0
    functionsReached:
    - freq_included
    linkageType: ''
    returnType: int
    signature: "int dpp_channel_local_list(struct dpp_authentication *auth,\n\t\t\t\t
      \ struct hostapd_hw_modes *own_modes,\n\t\t\t\t  u16 num_modes)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dpp_channel_intersect
      Src: /src/hostap/src/common/dpp.c:663,1
    - Dst: dpp_channel_local_list
      Src: /src/hostap/src/common/dpp.c:665,1
    - Dst: freq_to_start
      Src: /src/hostap/src/common/dpp.c:671,1
    - Dst: freq_to_start
      Src: /src/hostap/src/common/dpp.c:672,1
    - Dst: freq_to_start
      Src: /src/hostap/src/common/dpp.c:673,1
    - Dst: os_snprintf
      Src: /src/hostap/src/common/dpp.c:681,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/common/dpp.c:682,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:687,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 4
    argNames:
    - auth
    - neg_freq
    - own_modes
    - num_modes
    argTypes:
    - struct dpp_authentication*
    - unsigned int
    - struct hostapd_hw_modes*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 645
    functionDepth: 2
    functionLinenumber: 645
    functionLinenumberEnd: 691
    functionName: dpp_prepare_channel_list
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 0
    functionsReached:
    - freq_to_start
    - wpa_printf
    - dpp_channel_intersect
    - dpp_channel_local_list
    - os_snprintf
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int dpp_prepare_channel_list(struct dpp_authentication *auth,\n\t\t\t
      \    unsigned int neg_freq,\n\t\t\t     struct hostapd_hw_modes *own_modes,
      u16 num_modes)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/common/dpp.c:703,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/common/dpp.c:704,1
    - Dst: os_snprintf
      Src: /src/hostap/src/common/dpp.c:707,1
    - Dst: MAC2STR
      Src: /src/hostap/src/common/dpp.c:708,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/dpp.c:709,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/dpp.c:711,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/dpp.c:715,1
    - Dst: os_snprintf
      Src: /src/hostap/src/common/dpp.c:722,1
    - Dst: os_snprintf
      Src: /src/hostap/src/common/dpp.c:725,1
    - Dst: hostapd_ip_txt
      Src: /src/hostap/src/common/dpp.c:737,1
    - Dst: os_snprintf
      Src: /src/hostap/src/common/dpp.c:741,1
    - Dst: os_snprintf
      Src: /src/hostap/src/common/dpp.c:743,1
    - Dst: os_snprintf
      Src: /src/hostap/src/common/dpp.c:746,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp.c:750,1
    - Dst: os_malloc
      Src: /src/hostap/src/common/dpp.c:751,1
    - Dst: os_snprintf
      Src: /src/hostap/src/common/dpp.c:754,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 1
    argNames:
    - bi
    argTypes:
    - struct dpp_bootstrap_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 694
    functionDepth: 1
    functionLinenumber: 694
    functionLinenumberEnd: 766
    functionName: dpp_gen_uri
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - is_zero_ether_addr
    - os_malloc
    - os_snprintf
    - MAC2STR
    - os_free
    - hostapd_ip_txt
    linkageType: ''
    returnType: int
    signature: int dpp_gen_uri(struct dpp_bootstrap_info *bi)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/common/dpp.c:774,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - dpp
    - msg_ctx
    argTypes:
    - struct dpp_global*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 781
    functionName: dpp_alloc_auth
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 2
    functionsReached:
    - os_zalloc
    linkageType: ''
    returnType: struct dpp_authentication
    signature: 'struct dpp_authentication *

      dpp_alloc_auth(struct dpp_global *dpp, void *msg_ctx)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/dpp.c:924,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/dpp.c:925,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/dpp.c:926,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/dpp.c:927,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/dpp.c:928,1
    - Dst: wpabuf_put_be24
      Src: /src/hostap/src/common/dpp.c:929,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/dpp.c:930,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/dpp.c:931,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - buf
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 921
    functionDepth: 1
    functionLinenumber: 921
    functionLinenumberEnd: 932
    functionName: dpp_write_adv_proto
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 0
    functionsReached:
    - wpabuf_put_u8
    - wpabuf_put_be24
    linkageType: ''
    returnType: void
    signature: void dpp_write_adv_proto(struct wpabuf *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp.c:938,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp.c:938,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/common/dpp.c:939,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - query
    argTypes:
    - struct wpabuf*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 940
      start: 935
    functionDepth: 1
    functionLinenumber: 935
    functionLinenumberEnd: 940
    functionName: dpp_write_gas_query
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 0
    functionsReached:
    - wpabuf_len
    - wpabuf_put_buf
    - wpabuf_put_le16
    linkageType: ''
    returnType: void
    signature: void dpp_write_gas_query(struct wpabuf *buf, struct wpabuf *query)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dpp_build_conf_req_attr
      Src: /src/hostap/src/common/dpp.c:948,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:950,1
    - Dst: gas_build_initial_req
      Src: /src/hostap/src/common/dpp.c:955,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp.c:955,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp.c:957,1
    - Dst: dpp_write_adv_proto
      Src: /src/hostap/src/common/dpp.c:961,1
    - Dst: dpp_write_gas_query
      Src: /src/hostap/src/common/dpp.c:962,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp.c:963,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/common/dpp.c:964,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - auth
    - json
    argTypes:
    - struct dpp_authentication*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 943
    functionDepth: 2
    functionLinenumber: 943
    functionLinenumberEnd: 967
    functionName: dpp_build_conf_req
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_len
    - wpabuf_free
    - gas_build_initial_req
    - dpp_write_gas_query
    - dpp_write_adv_proto
    - dpp_build_conf_req_attr
    - wpa_hexdump_buf
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * dpp_build_conf_req(struct dpp_authentication *auth,\n\t\t\t\t
      \  const char *json)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:987,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/dpp.c:993,1
    - Dst: int_array_len
      Src: /src/hostap/src/common/dpp.c:995,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/dpp.c:997,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/dpp.c:999,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/dpp.c:999,1
    - Dst: base64_encode_no_lf
      Src: /src/hostap/src/common/dpp.c:1004,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/dpp.c:1004,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp.c:1005,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/common/dpp.c:1011,1
    - Dst: json_start_object
      Src: /src/hostap/src/common/dpp.c:1015,1
    - Dst: json_add_string_escape
      Src: /src/hostap/src/common/dpp.c:1016,1
    - Dst: json_value_sep
      Src: /src/hostap/src/common/dpp.c:1018,1
    - Dst: json_add_string
      Src: /src/hostap/src/common/dpp.c:1019,1
    - Dst: json_value_sep
      Src: /src/hostap/src/common/dpp.c:1020,1
    - Dst: json_add_string
      Src: /src/hostap/src/common/dpp.c:1021,1
    - Dst: dpp_netrole_str
      Src: /src/hostap/src/common/dpp.c:1021,1
    - Dst: json_value_sep
      Src: /src/hostap/src/common/dpp.c:1023,1
    - Dst: json_add_string
      Src: /src/hostap/src/common/dpp.c:1024,1
    - Dst: json_value_sep
      Src: /src/hostap/src/common/dpp.c:1029,1
    - Dst: json_start_array
      Src: /src/hostap/src/common/dpp.c:1030,1
    - Dst: wpabuf_printf
      Src: /src/hostap/src/common/dpp.c:1032,1
    - Dst: json_end_array
      Src: /src/hostap/src/common/dpp.c:1033,1
    - Dst: json_value_sep
      Src: /src/hostap/src/common/dpp.c:1036,1
    - Dst: json_add_string
      Src: /src/hostap/src/common/dpp.c:1037,1
    - Dst: json_value_sep
      Src: /src/hostap/src/common/dpp.c:1040,1
    - Dst: json_add_int
      Src: /src/hostap/src/common/dpp.c:1041,1
    - Dst: json_value_sep
      Src: /src/hostap/src/common/dpp.c:1044,1
    - Dst: wpabuf_printf
      Src: /src/hostap/src/common/dpp.c:1045,1
    - Dst: json_end_object
      Src: /src/hostap/src/common/dpp.c:1047,1
    - Dst: dpp_build_conf_req
      Src: /src/hostap/src/common/dpp.c:1049,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/dpp.c:1049,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp.c:1051,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp.c:1052,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 59
    argCount: 7
    argNames:
    - auth
    - name
    - netrole
    - mud_url
    - opclasses
    - extra_name
    - extra_value
    argTypes:
    - struct dpp_authentication*
    - char*
    - enum dpp_netrole
    - char*
    - int*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1055
      start: 970
    functionDepth: 3
    functionLinenumber: 970
    functionLinenumberEnd: 1055
    functionName: dpp_build_conf_req_helper
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 2
    functionsReached:
    - wpabuf_alloc
    - json_start_object
    - json_add_int
    - os_strlen
    - json_end_array
    - wpa_printf
    - json_value_sep
    - wpabuf_printf
    - json_start_array
    - int_array_len
    - dpp_netrole_str
    - os_free
    - dpp_build_conf_req
    - json_end_object
    - wpabuf_len
    - wpabuf_head
    - json_add_string
    - wpabuf_free
    - base64_encode_no_lf
    - json_add_string_escape
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * dpp_build_conf_req_helper(struct dpp_authentication
      *auth,\n\t\t\t\t\t  const char *name,\n\t\t\t\t\t  enum dpp_netrole netrole,\n\t\t\t\t\t
      \ const char *mud_url, int *opclasses,\n\t\t\t\t\t  const char *extra_name,\n\t\t\t\t\t
      \ const char *extra_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/common/dpp.c:1060,1
    - Dst: os_memcmp
      Src: /src/hostap/src/common/dpp.c:1060,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - val
    - len
    - cmp
    argTypes:
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 1058
    functionDepth: 0
    functionLinenumber: 1058
    functionLinenumberEnd: 1061
    functionName: bin_str_eq
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_memcmp
    linkageType: ''
    returnType: int
    signature: int bin_str_eq(const char *val, size_t len, const char *cmp)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/common/dpp.c:1070,1
    - Dst: os_strchr
      Src: /src/hostap/src/common/dpp.c:1074,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/dpp.c:1078,1
    - Dst: bin_str_eq
      Src: /src/hostap/src/common/dpp.c:1080,1
    - Dst: bin_str_eq
      Src: /src/hostap/src/common/dpp.c:1082,1
    - Dst: bin_str_eq
      Src: /src/hostap/src/common/dpp.c:1084,1
    - Dst: bin_str_eq
      Src: /src/hostap/src/common/dpp.c:1085,1
    - Dst: bin_str_eq
      Src: /src/hostap/src/common/dpp.c:1087,1
    - Dst: bin_str_eq
      Src: /src/hostap/src/common/dpp.c:1088,1
    - Dst: bin_str_eq
      Src: /src/hostap/src/common/dpp.c:1090,1
    - Dst: bin_str_eq
      Src: /src/hostap/src/common/dpp.c:1091,1
    - Dst: bin_str_eq
      Src: /src/hostap/src/common/dpp.c:1093,1
    - Dst: bin_str_eq
      Src: /src/hostap/src/common/dpp.c:1095,1
    - Dst: dpp_configuration_free
      Src: /src/hostap/src/common/dpp.c:1102,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 1
    argNames:
    - type
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1104
      start: 1064
    functionDepth: 1
    functionLinenumber: 1064
    functionLinenumberEnd: 1104
    functionName: dpp_configuration_alloc
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - bin_str_eq
    - os_zalloc
    - os_strchr
    - dpp_configuration_free
    linkageType: ''
    returnType: struct dpp_configuration
    signature: struct dpp_configuration * dpp_configuration_alloc(const char *type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - akm
    argTypes:
    - enum dpp_akm
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1111
      start: 1107
    functionDepth: 0
    functionLinenumber: 1107
    functionLinenumberEnd: 1111
    functionName: dpp_akm_psk
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dpp_akm_psk(enum dpp_akm akm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - akm
    argTypes:
    - enum dpp_akm
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1114
    functionDepth: 0
    functionLinenumber: 1114
    functionLinenumberEnd: 1118
    functionName: dpp_akm_sae
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dpp_akm_sae(enum dpp_akm akm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - akm
    argTypes:
    - enum dpp_akm
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1125
    functionName: dpp_akm_legacy
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dpp_akm_legacy(enum dpp_akm akm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - akm
    argTypes:
    - enum dpp_akm
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1132
      start: 1128
    functionDepth: 0
    functionLinenumber: 1128
    functionLinenumberEnd: 1132
    functionName: dpp_akm_dpp
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dpp_akm_dpp(enum dpp_akm akm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - akm
    argTypes:
    - enum dpp_akm
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1135
    functionDepth: 0
    functionLinenumber: 1135
    functionLinenumberEnd: 1138
    functionName: dpp_akm_ver2
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dpp_akm_ver2(enum dpp_akm akm)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dpp_akm_psk
      Src: /src/hostap/src/common/dpp.c:1145,1
    - Dst: dpp_akm_psk
      Src: /src/hostap/src/common/dpp.c:1147,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/dpp.c:1148,1
    - Dst: dpp_akm_sae
      Src: /src/hostap/src/common/dpp.c:1153,1
    - Dst: dpp_akm_sae
      Src: /src/hostap/src/common/dpp.c:1156,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 14
    argCount: 1
    argNames:
    - conf
    argTypes:
    - struct dpp_configuration*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1160
      start: 1141
    functionDepth: 1
    functionLinenumber: 1141
    functionLinenumberEnd: 1160
    functionName: dpp_configuration_valid
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - dpp_akm_sae
    - dpp_akm_psk
    linkageType: ''
    returnType: int
    signature: int dpp_configuration_valid(const struct dpp_configuration *conf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: str_clear_free
      Src: /src/hostap/src/common/dpp.c:1167,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp.c:1169,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp.c:1171,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp.c:1172,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp.c:1173,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp.c:1174,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/common/dpp.c:1175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - conf
    argTypes:
    - struct dpp_configuration*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1176
      start: 1163
    functionDepth: 1
    functionLinenumber: 1163
    functionLinenumberEnd: 1176
    functionName: dpp_configuration_free
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 1
    functionsReached:
    - os_free
    - str_clear_free
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: void dpp_configuration_free(struct dpp_configuration *conf)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: os_strstr
      Src: /src/hostap/src/common/dpp.c:1187,1
    - Dst: dpp_configuration_alloc
      Src: /src/hostap/src/common/dpp.c:1189,1
    - Dst: os_strstr
      Src: /src/hostap/src/common/dpp.c:1196,1
    - Dst: dpp_configuration_alloc
      Src: /src/hostap/src/common/dpp.c:1198,1
    - Dst: os_strstr
      Src: /src/hostap/src/common/dpp.c:1205,1
    - Dst: os_strstr
      Src: /src/hostap/src/common/dpp.c:1212,1
    - Dst: os_strchr
      Src: /src/hostap/src/common/dpp.c:1215,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/dpp.c:1216,1
    - Dst: hexstr2bin
      Src: /src/hostap/src/common/dpp.c:1219,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/dpp.c:1224,1
    - Dst: os_strstr
      Src: /src/hostap/src/common/dpp.c:1231,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:1234,1
    - Dst: atoi
      Src: /src/hostap/src/common/dpp.c:1238,1
    - Dst: os_strstr
      Src: /src/hostap/src/common/dpp.c:1241,1
    - Dst: os_strchr
      Src: /src/hostap/src/common/dpp.c:1246,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/dpp.c:1247,1
    - Dst: os_zalloc
      Src: /src/hostap/src/common/dpp.c:1249,1
    - Dst: hexstr2bin
      Src: /src/hostap/src/common/dpp.c:1251,1
    - Dst: os_strstr
      Src: /src/hostap/src/common/dpp.c:1256,1
    - Dst: os_strchr
      Src: /src/hostap/src/common/dpp.c:1261,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/dpp.c:1262,1
    - Dst: os_zalloc
      Src: /src/hostap/src/common/dpp.c:1264,1
    - Dst: hexstr2bin
      Src: /src/hostap/src/common/dpp.c:1266,1
    - Dst: os_strstr
      Src: /src/hostap/src/common/dpp.c:1271,1
    - Dst: hexstr2bin
      Src: /src/hostap/src/common/dpp.c:1274,1
    - Dst: os_strstr
      Src: /src/hostap/src/common/dpp.c:1279,1
    - Dst: os_strchr
      Src: /src/hostap/src/common/dpp.c:1284,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/dpp.c:1285,1
    - Dst: os_malloc
      Src: /src/hostap/src/common/dpp.c:1286,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/dpp.c:1289,1
    - Dst: os_strstr
      Src: /src/hostap/src/common/dpp.c:1293,1
    - Dst: strtol
      Src: /src/hostap/src/common/dpp.c:1298,1
    - Dst: os_strstr
      Src: /src/hostap/src/common/dpp.c:1304,1
    - Dst: os_strchr
      Src: /src/hostap/src/common/dpp.c:1307,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/dpp.c:1308,1
    - Dst: os_zalloc
      Src: /src/hostap/src/common/dpp.c:1309,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/dpp.c:1312,1
    - Dst: os_strstr
      Src: /src/hostap/src/common/dpp.c:1315,1
    - Dst: os_strchr
      Src: /src/hostap/src/common/dpp.c:1318,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/dpp.c:1319,1
    - Dst: os_zalloc
      Src: /src/hostap/src/common/dpp.c:1320,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/dpp.c:1323,1
    - Dst: os_strstr
      Src: /src/hostap/src/common/dpp.c:1326,1
    - Dst: os_strchr
      Src: /src/hostap/src/common/dpp.c:1329,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/dpp.c:1330,1
    - Dst: os_zalloc
      Src: /src/hostap/src/common/dpp.c:1332,1
    - Dst: hexstr2bin
      Src: /src/hostap/src/common/dpp.c:1334,1
    - Dst: dpp_configuration_valid
      Src: /src/hostap/src/common/dpp.c:1338,1
    - Dst: dpp_configuration_free
      Src: /src/hostap/src/common/dpp.c:1359,1
    - Dst: dpp_configuration_free
      Src: /src/hostap/src/common/dpp.c:1360,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 156
    argCount: 3
    argNames:
    - auth
    - cmd
    - idx
    argTypes:
    - struct dpp_authentication*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1362
      start: 1179
    functionDepth: 2
    functionLinenumber: 1179
    functionLinenumberEnd: 1362
    functionName: dpp_configuration_parse_helper
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - strtol
    - os_memcpy
    - wpa_printf
    - hexstr2bin
    - os_malloc
    - os_strstr
    - dpp_configuration_alloc
    - os_zalloc
    - atoi
    - os_strchr
    - dpp_configuration_free
    - dpp_configuration_valid
    linkageType: ''
    returnType: int
    signature: "int dpp_configuration_parse_helper(struct dpp_authentication *auth,\n\t\t\t\t\t
      \ const char *cmd, int idx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_strstr
      Src: /src/hostap/src/common/dpp.c:1373,1
    - Dst: dpp_configuration_parse_helper
      Src: /src/hostap/src/common/dpp.c:1375,1
    - Dst: os_malloc
      Src: /src/hostap/src/common/dpp.c:1378,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/dpp.c:1381,1
    - Dst: dpp_configuration_parse_helper
      Src: /src/hostap/src/common/dpp.c:1383,1
    - Dst: str_clear_free
      Src: /src/hostap/src/common/dpp.c:1384,1
    - Dst: dpp_configuration_parse_helper
      Src: /src/hostap/src/common/dpp.c:1387,1
    - Dst: dpp_configuration_free
      Src: /src/hostap/src/common/dpp.c:1392,1
    - Dst: dpp_configuration_free
      Src: /src/hostap/src/common/dpp.c:1393,1
    - Dst: dpp_configuration_free
      Src: /src/hostap/src/common/dpp.c:1394,1
    - Dst: dpp_configuration_free
      Src: /src/hostap/src/common/dpp.c:1395,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - auth
    - cmd
    argTypes:
    - struct dpp_authentication*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1397
      start: 1365
    functionDepth: 3
    functionLinenumber: 1365
    functionLinenumberEnd: 1397
    functionName: dpp_configuration_parse
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - os_malloc
    - os_strstr
    - str_clear_free
    - dpp_configuration_parse_helper
    - dpp_configuration_free
    linkageType: ''
    returnType: int
    signature: "int dpp_configuration_parse(struct dpp_authentication *auth,\n\t\t\t\t
      \  const char *cmd)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/common/dpp.c:1408,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - dpp
    - id
    argTypes:
    - struct dpp_global*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1414
      start: 1400
    functionDepth: 0
    functionLinenumber: 1400
    functionLinenumberEnd: 1414
    functionName: dpp_configurator_get_id
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    linkageType: ''
    returnType: struct dpp_configurator
    signature: 'struct dpp_configurator *

      dpp_configurator_get_id(struct dpp_global *dpp, unsigned int id)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/common/dpp.c:1430,1
    - Dst: os_malloc
      Src: /src/hostap/src/common/dpp.c:1431,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/dpp.c:1435,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:1439,1
    - Dst: os_strstr
      Src: /src/hostap/src/common/dpp.c:1441,1
    - Dst: os_strstr
      Src: /src/hostap/src/common/dpp.c:1448,1
    - Dst: dpp_configurator_get_id
      Src: /src/hostap/src/common/dpp.c:1451,1
    - Dst: atoi
      Src: /src/hostap/src/common/dpp.c:1451,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:1453,1
    - Dst: os_strstr
      Src: /src/hostap/src/common/dpp.c:1459,1
    - Dst: atoi
      Src: /src/hostap/src/common/dpp.c:1462,1
    - Dst: os_strstr
      Src: /src/hostap/src/common/dpp.c:1465,1
    - Dst: atoi
      Src: /src/hostap/src/common/dpp.c:1468,1
    - Dst: dpp_configuration_parse
      Src: /src/hostap/src/common/dpp.c:1471,1
    - Dst: wpa_msg
      Src: /src/hostap/src/common/dpp.c:1472,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp.c:1478,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 2
    argNames:
    - auth
    - cmd
    argTypes:
    - struct dpp_authentication*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1480
      start: 1417
    functionDepth: 4
    functionLinenumber: 1417
    functionLinenumberEnd: 1480
    functionName: dpp_set_configurator
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 13
    functionsReached:
    - os_strlen
    - dpp_configuration_parse
    - os_memcpy
    - wpa_printf
    - wpa_msg
    - os_malloc
    - os_strstr
    - dpp_configurator_get_id
    - atoi
    - os_free
    linkageType: ''
    returnType: int
    signature: int dpp_set_configurator(struct dpp_authentication *auth, const char
      *cmd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dpp_configuration_free
      Src: /src/hostap/src/common/dpp.c:1489,1
    - Dst: dpp_configuration_free
      Src: /src/hostap/src/common/dpp.c:1490,1
    - Dst: dpp_configuration_free
      Src: /src/hostap/src/common/dpp.c:1491,1
    - Dst: dpp_configuration_free
      Src: /src/hostap/src/common/dpp.c:1492,1
    - Dst: crypto_ec_key_deinit
      Src: /src/hostap/src/common/dpp.c:1493,1
    - Dst: crypto_ec_key_deinit
      Src: /src/hostap/src/common/dpp.c:1494,1
    - Dst: crypto_ec_key_deinit
      Src: /src/hostap/src/common/dpp.c:1495,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp.c:1496,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp.c:1497,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp.c:1498,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp.c:1499,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp.c:1500,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp.c:1504,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp.c:1505,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp.c:1506,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp.c:1507,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp.c:1508,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp.c:1509,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp.c:1510,1
    - Dst: dpp_free_asymmetric_key
      Src: /src/hostap/src/common/dpp.c:1513,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp.c:1514,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp.c:1515,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp.c:1516,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp.c:1517,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp.c:1518,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp.c:1519,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp.c:1520,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp.c:1522,1
    - Dst: dpp_bootstrap_info_free
      Src: /src/hostap/src/common/dpp.c:1523,1
    - Dst: dl_list_del
      Src: /src/hostap/src/common/dpp.c:1525,1
    - Dst: dpp_bootstrap_info_free
      Src: /src/hostap/src/common/dpp.c:1526,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp.c:1528,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp.c:1529,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp.c:1530,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp.c:1532,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp.c:1533,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp.c:1534,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/common/dpp.c:1536,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 45
    argCount: 1
    argNames:
    - auth
    argTypes:
    - struct dpp_authentication*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1537
      start: 1483
    functionDepth: 2
    functionLinenumber: 1483
    functionLinenumberEnd: 1537
    functionName: dpp_auth_deinit
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 47
    functionsReached:
    - crypto_ec_key_deinit
    - dl_list_del
    - wpabuf_free
    - dpp_bootstrap_info_free
    - os_free
    - dpp_configuration_free
    - dpp_free_asymmetric_key
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: void dpp_auth_deinit(struct dpp_authentication *auth)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/common/dpp.c:1548,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/common/dpp.c:1551,1
    - Dst: json_start_object
      Src: /src/hostap/src/common/dpp.c:1554,1
    - Dst: json_add_string
      Src: /src/hostap/src/common/dpp.c:1555,1
    - Dst: json_value_sep
      Src: /src/hostap/src/common/dpp.c:1556,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:1559,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/common/dpp.c:1561,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/common/dpp.c:1562,1
    - Dst: json_value_sep
      Src: /src/hostap/src/common/dpp.c:1563,1
    - Dst: json_start_object
      Src: /src/hostap/src/common/dpp.c:1567,1
    - Dst: json_add_string_escape
      Src: /src/hostap/src/common/dpp.c:1569,1
    - Dst: json_add_base64url
      Src: /src/hostap/src/common/dpp.c:1572,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp.c:1574,1
    - Dst: json_value_sep
      Src: /src/hostap/src/common/dpp.c:1578,1
    - Dst: json_add_int
      Src: /src/hostap/src/common/dpp.c:1579,1
    - Dst: json_end_object
      Src: /src/hostap/src/common/dpp.c:1581,1
    - Dst: json_value_sep
      Src: /src/hostap/src/common/dpp.c:1582,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 3
    argNames:
    - auth
    - conf
    - tailroom
    argTypes:
    - struct dpp_authentication*
    - struct dpp_configuration*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1585
      start: 1540
    functionDepth: 1
    functionLinenumber: 1540
    functionLinenumberEnd: 1585
    functionName: dpp_build_conf_start
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - json_add_base64url
    - wpa_printf
    - json_value_sep
    - json_end_object
    - wpabuf_put_str
    - wpabuf_free
    - wpabuf_alloc
    - json_add_string
    - json_add_string_escape
    - json_start_object
    - json_add_int
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf *\ndpp_build_conf_start(struct dpp_authentication *auth,\n\t\t
      \    struct dpp_configuration *conf, size_t tailroom)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: crypto_ec_key_get_pubkey_point
      Src: /src/hostap/src/common/dpp.c:1596,1
    - Dst: json_start_object
      Src: /src/hostap/src/common/dpp.c:1600,1
    - Dst: json_add_string
      Src: /src/hostap/src/common/dpp.c:1601,1
    - Dst: json_value_sep
      Src: /src/hostap/src/common/dpp.c:1602,1
    - Dst: json_add_string
      Src: /src/hostap/src/common/dpp.c:1603,1
    - Dst: json_value_sep
      Src: /src/hostap/src/common/dpp.c:1604,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/dpp.c:1605,1
    - Dst: json_add_base64url
      Src: /src/hostap/src/common/dpp.c:1606,1
    - Dst: json_value_sep
      Src: /src/hostap/src/common/dpp.c:1608,1
    - Dst: json_add_base64url
      Src: /src/hostap/src/common/dpp.c:1610,1
    - Dst: json_value_sep
      Src: /src/hostap/src/common/dpp.c:1613,1
    - Dst: json_add_string
      Src: /src/hostap/src/common/dpp.c:1614,1
    - Dst: json_end_object
      Src: /src/hostap/src/common/dpp.c:1616,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp.c:1619,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 5
    argNames:
    - buf
    - name
    - key
    - kid
    - curve
    argTypes:
    - struct wpabuf*
    - char*
    - struct crypto_ec_key*
    - char*
    - struct dpp_curve_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1621
      start: 1588
    functionDepth: 1
    functionLinenumber: 1588
    functionLinenumberEnd: 1621
    functionName: dpp_build_jwk
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 0
    functionsReached:
    - json_add_base64url
    - json_value_sep
    - json_end_object
    - crypto_ec_key_get_pubkey_point
    - wpabuf_free
    - wpabuf_head
    - json_add_string
    - json_start_object
    linkageType: ''
    returnType: int
    signature: "int dpp_build_jwk(struct wpabuf *buf, const char *name,\n\t\t  struct
      crypto_ec_key *key, const char *kid,\n\t\t  const struct dpp_curve_params *curve)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/common/dpp.c:1627,1
    - Dst: json_add_string_escape
      Src: /src/hostap/src/common/dpp.c:1628,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/dpp.c:1629,1
    - Dst: json_value_sep
      Src: /src/hostap/src/common/dpp.c:1632,1
    - Dst: json_add_string_escape
      Src: /src/hostap/src/common/dpp.c:1633,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/dpp.c:1634,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/common/dpp.c:1640,1
    - Dst: json_add_string
      Src: /src/hostap/src/common/dpp.c:1642,1
    - Dst: forced_memzero
      Src: /src/hostap/src/common/dpp.c:1643,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - buf
    - conf
    argTypes:
    - struct wpabuf*
    - struct dpp_configuration*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1645
      start: 1624
    functionDepth: 1
    functionLinenumber: 1624
    functionLinenumberEnd: 1645
    functionName: dpp_build_legacy_cred_params
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - json_value_sep
    - wpa_snprintf_hex
    - forced_memzero
    - json_add_string
    - json_add_string_escape
    linkageType: ''
    returnType: void
    signature: "void dpp_build_legacy_cred_params(struct wpabuf *buf,\n\t\t\t\t\t
      struct dpp_configuration *conf)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - netrole
    argTypes:
    - enum dpp_netrole
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1660
      start: 1648
    functionDepth: 0
    functionLinenumber: 1648
    functionLinenumberEnd: 1660
    functionName: dpp_netrole_str
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * dpp_netrole_str(enum dpp_netrole netrole)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/src/common/dpp.c:1670,1
    - Dst: os_strcmp
      Src: /src/hostap/src/common/dpp.c:1672,1
    - Dst: os_strcmp
      Src: /src/hostap/src/common/dpp.c:1674,1
    - Dst: os_strcmp
      Src: /src/hostap/src/common/dpp.c:1676,1
    - Dst: os_strcmp
      Src: /src/hostap/src/common/dpp.c:1678,1
    - Dst: os_strcmp
      Src: /src/hostap/src/common/dpp.c:1680,1
    - Dst: BIT
      Src: /src/hostap/src/common/dpp.c:1685,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - curve
    - bi
    argTypes:
    - char*
    - struct dpp_bootstrap_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1686
      start: 1663
    functionDepth: 0
    functionLinenumber: 1663
    functionLinenumberEnd: 1686
    functionName: dpp_supports_curve
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 0
    functionsReached:
    - BIT
    - os_strcmp
    linkageType: ''
    returnType: bool
    signature: bool dpp_supports_curve(const char *curve, struct dpp_bootstrap_info
      *bi)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:1963,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/dpp.c:1970,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/dpp.c:1971,1
    - Dst: dpp_build_conf_start
      Src: /src/hostap/src/common/dpp.c:1972,1
    - Dst: dpp_akm_ver2
      Src: /src/hostap/src/common/dpp.c:1976,1
    - Dst: dpp_akm_selector_str
      Src: /src/hostap/src/common/dpp.c:1977,1
    - Dst: dpp_akm_str
      Src: /src/hostap/src/common/dpp.c:1979,1
    - Dst: json_start_object
      Src: /src/hostap/src/common/dpp.c:1980,1
    - Dst: json_add_string
      Src: /src/hostap/src/common/dpp.c:1981,1
    - Dst: json_value_sep
      Src: /src/hostap/src/common/dpp.c:1982,1
    - Dst: dpp_build_legacy_cred_params
      Src: /src/hostap/src/common/dpp.c:1983,1
    - Dst: json_end_object
      Src: /src/hostap/src/common/dpp.c:1984,1
    - Dst: json_value_sep
      Src: /src/hostap/src/common/dpp.c:1986,1
    - Dst: wpabuf_printf
      Src: /src/hostap/src/common/dpp.c:1987,1
    - Dst: json_end_object
      Src: /src/hostap/src/common/dpp.c:1990,1
    - Dst: wpa_hexdump_ascii_key
      Src: /src/hostap/src/common/dpp.c:1992,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/dpp.c:1993,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp.c:1993,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 2
    argNames:
    - auth
    - conf
    argTypes:
    - struct dpp_authentication*
    - struct dpp_configuration*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1996
      start: 1951
    functionDepth: 2
    functionLinenumber: 1951
    functionLinenumberEnd: 1996
    functionName: dpp_build_conf_obj_legacy
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - dpp_build_conf_start
    - wpa_printf
    - json_value_sep
    - json_end_object
    - dpp_build_legacy_cred_params
    - wpabuf_printf
    - dpp_akm_str
    - wpabuf_len
    - wpabuf_head
    - json_add_string
    - json_start_object
    - wpa_hexdump_ascii_key
    - dpp_akm_selector_str
    - dpp_akm_ver2
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf *\ndpp_build_conf_obj_legacy(struct dpp_authentication
      *auth,\n\t\t\t  struct dpp_configuration *conf)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/common/dpp.c:2008,1
    - Dst: dpp_next_id
      Src: /src/hostap/src/common/dpp.c:2011,1
    - Dst: dl_list_add
      Src: /src/hostap/src/common/dpp.c:2012,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - auth
    argTypes:
    - struct dpp_authentication*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2015
      start: 1999
    functionDepth: 1
    functionLinenumber: 1999
    functionLinenumberEnd: 2015
    functionName: dpp_get_peer_bi_id
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 0
    functionsReached:
    - dpp_next_id
    - os_zalloc
    - dl_list_add
    linkageType: ''
    returnType: int
    signature: int dpp_get_peer_bi_id(struct dpp_authentication *auth)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:2028,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/common/dpp.c:2029,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/dpp.c:2030,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:2048,1
    - Dst: dpp_netrole_str
      Src: /src/hostap/src/common/dpp.c:2050,1
    - Dst: dpp_get_peer_bi_id
      Src: /src/hostap/src/common/dpp.c:2052,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:2055,1
    - Dst: dpp_netrole_str
      Src: /src/hostap/src/common/dpp.c:2057,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:2064,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:2069,1
    - Dst: dpp_build_conf_obj_dpp
      Src: /src/hostap/src/common/dpp.c:2073,1
    - Dst: dpp_akm_dpp
      Src: /src/hostap/src/common/dpp.c:2075,1
    - Dst: dpp_build_conf_obj_dpp
      Src: /src/hostap/src/common/dpp.c:2076,1
    - Dst: dpp_build_conf_obj_legacy
      Src: /src/hostap/src/common/dpp.c:2077,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 45
    argCount: 4
    argNames:
    - auth
    - netrole
    - idx
    - cert_req
    argTypes:
    - struct dpp_authentication*
    - enum dpp_netrole
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2078
      start: 2018
    functionDepth: 3
    functionLinenumber: 2018
    functionLinenumberEnd: 2078
    functionName: dpp_build_conf_obj
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - dpp_akm_dpp
    - dpp_build_conf_obj_legacy
    - wpabuf_alloc_copy
    - dpp_get_peer_bi_id
    - dpp_netrole_str
    - dpp_build_conf_obj_dpp
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf *\ndpp_build_conf_obj(struct dpp_authentication *auth,
      enum dpp_netrole netrole,\n\t\t   int idx, bool cert_req)"
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:2344,1
    - Dst: dpp_check_attrs
      Src: /src/hostap/src/common/dpp.c:2350,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp.c:2351,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp.c:2355,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp.c:2358,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp.c:2363,1
    - Dst: os_malloc
      Src: /src/hostap/src/common/dpp.c:2366,1
    - Dst: aes_siv_decrypt
      Src: /src/hostap/src/common/dpp.c:2369,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp.c:2372,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp.c:2375,1
    - Dst: dpp_check_attrs
      Src: /src/hostap/src/common/dpp.c:2378,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp.c:2379,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp.c:2383,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp.c:2387,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp.c:2391,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/dpp.c:2392,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp.c:2395,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp.c:2398,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp.c:2408,1
    - Dst: dpp_set_pubkey_point
      Src: /src/hostap/src/common/dpp.c:2411,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp.c:2414,1
    - Dst: dpp_debug_print_key
      Src: /src/hostap/src/common/dpp.c:2418,1
    - Dst: crypto_ec_key_deinit
      Src: /src/hostap/src/common/dpp.c:2419,1
    - Dst: dpp_derive_auth_i
      Src: /src/hostap/src/common/dpp.c:2424,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp.c:2427,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp.c:2430,1
    - Dst: os_memcmp
      Src: /src/hostap/src/common/dpp.c:2435,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp.c:2436,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp.c:2438,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp.c:2440,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp.c:2447,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp.c:2451,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/common/dpp.c:2455,1
    - Dst: json_parse
      Src: /src/hostap/src/common/dpp.c:2458,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp.c:2460,1
    - Dst: json_get_member
      Src: /src/hostap/src/common/dpp.c:2464,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp.c:2466,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:2469,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp.c:2470,1
    - Dst: os_strdup
      Src: /src/hostap/src/common/dpp.c:2471,1
    - Dst: json_get_member
      Src: /src/hostap/src/common/dpp.c:2473,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp.c:2475,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:2478,1
    - Dst: os_strcmp
      Src: /src/hostap/src/common/dpp.c:2479,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:2480,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp.c:2482,1
    - Dst: json_get_member
      Src: /src/hostap/src/common/dpp.c:2486,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp.c:2488,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:2491,1
    - Dst: os_strcmp
      Src: /src/hostap/src/common/dpp.c:2492,1
    - Dst: os_strcmp
      Src: /src/hostap/src/common/dpp.c:2494,1
    - Dst: os_strcmp
      Src: /src/hostap/src/common/dpp.c:2496,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:2499,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp.c:2501,1
    - Dst: json_get_member
      Src: /src/hostap/src/common/dpp.c:2506,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:2508,1
    - Dst: wpa_msg
      Src: /src/hostap/src/common/dpp.c:2509,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp.c:2511,1
    - Dst: os_strdup
      Src: /src/hostap/src/common/dpp.c:2512,1
    - Dst: json_get_member
      Src: /src/hostap/src/common/dpp.c:2515,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:2521,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:2525,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:2528,1
    - Dst: int_array_add_unique
      Src: /src/hostap/src/common/dpp.c:2531,1
    - Dst: os_snprintf
      Src: /src/hostap/src/common/dpp.c:2540,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/common/dpp.c:2542,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp.c:2548,1
    - Dst: wpa_msg
      Src: /src/hostap/src/common/dpp.c:2550,1
    - Dst: json_get_member_base64
      Src: /src/hostap/src/common/dpp.c:2555,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/common/dpp.c:2560,1
    - Dst: dpp_validate_csr
      Src: /src/hostap/src/common/dpp.c:2561,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:2562,1
    - Dst: dpp_get_peer_bi_id
      Src: /src/hostap/src/common/dpp.c:2567,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:2571,1
    - Dst: base64_encode_no_lf
      Src: /src/hostap/src/common/dpp.c:2572,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/dpp.c:2572,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp.c:2573,1
    - Dst: wpa_msg
      Src: /src/hostap/src/common/dpp.c:2577,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp.c:2579,1
    - Dst: json_get_member
      Src: /src/hostap/src/common/dpp.c:2588,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:2590,1
    - Dst: wpa_msg
      Src: /src/hostap/src/common/dpp.c:2592,1
    - Dst: dpp_build_conf_resp
      Src: /src/hostap/src/common/dpp.c:2599,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp.c:2603,1
    - Dst: json_free
      Src: /src/hostap/src/common/dpp.c:2604,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp.c:2605,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 207
    argCount: 3
    argNames:
    - auth
    - attr_start
    - attr_len
    argTypes:
    - struct dpp_authentication*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2607
      start: 2325
    functionDepth: 3
    functionLinenumber: 2325
    functionLinenumberEnd: 2607
    functionName: dpp_conf_req_rx
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 2
    functionsReached:
    - wpa_hexdump
    - os_snprintf
    - int_array_add_unique
    - dpp_derive_auth_i
    - wpa_hexdump_ascii
    - json_get_member
    - crypto_ec_key_deinit
    - json_parse
    - wpa_printf
    - dpp_auth_fail
    - os_memcmp
    - dpp_build_conf_resp
    - os_free
    - dpp_validate_csr
    - os_strcmp
    - json_free
    - aes_siv_decrypt
    - wpa_hexdump_buf
    - wpabuf_len
    - dpp_debug_print_key
    - os_malloc
    - wpabuf_head
    - os_strdup
    - os_memcpy
    - dpp_check_attrs
    - dpp_set_pubkey_point
    - wpa_msg
    - json_get_member_base64
    - wpabuf_free
    - base64_encode_no_lf
    - dpp_get_peer_bi_id
    - dpp_get_attr
    - os_snprintf_error
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf *\ndpp_conf_req_rx(struct dpp_authentication *auth,
      const u8 *attr_start,\n\t\tsize_t attr_len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:2615,1
    - Dst: json_get_member
      Src: /src/hostap/src/common/dpp.c:2617,1
    - Dst: json_get_member
      Src: /src/hostap/src/common/dpp.c:2618,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/dpp.c:2621,1
    - Dst: json_get_member
      Src: /src/hostap/src/common/dpp.c:2623,1
    - Dst: wpa_hexdump_ascii_key
      Src: /src/hostap/src/common/dpp.c:2626,1
    - Dst: dpp_akm_psk
      Src: /src/hostap/src/common/dpp.c:2628,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:2629,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/common/dpp.c:2634,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/common/dpp.c:2638,1
    - Dst: dpp_akm_sae
      Src: /src/hostap/src/common/dpp.c:2642,1
    - Dst: dpp_akm_psk
      Src: /src/hostap/src/common/dpp.c:2642,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:2643,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/dpp.c:2647,1
    - Dst: hexstr2bin
      Src: /src/hostap/src/common/dpp.c:2648,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:2649,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/dpp.c:2652,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:2656,1
    - Dst: dpp_akm_sae
      Src: /src/hostap/src/common/dpp.c:2660,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:2661,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 2
    argNames:
    - conf
    - cred
    argTypes:
    - struct dpp_config_obj*
    - struct json_token*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2666
      start: 2610
    functionDepth: 1
    functionLinenumber: 2610
    functionLinenumberEnd: 2666
    functionName: dpp_parse_cred_legacy
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - wpa_hexdump_key
    - hexstr2bin
    - os_strlcpy
    - dpp_akm_psk
    - wpa_hexdump_ascii_key
    - dpp_akm_sae
    - json_get_member
    linkageType: ''
    returnType: int
    signature: "int dpp_parse_cred_legacy(struct dpp_config_obj *conf,\n\t\t\t\t struct
      json_token *cred)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: json_get_member
      Src: /src/hostap/src/common/dpp.c:2677,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:2679,1
    - Dst: os_strcmp
      Src: /src/hostap/src/common/dpp.c:2682,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:2683,1
    - Dst: json_get_member
      Src: /src/hostap/src/common/dpp.c:2688,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:2690,1
    - Dst: dpp_get_curve_jwk_crv
      Src: /src/hostap/src/common/dpp.c:2693,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:2695,1
    - Dst: json_get_member_base64url
      Src: /src/hostap/src/common/dpp.c:2700,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:2702,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/common/dpp.c:2705,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp.c:2706,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:2707,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp.c:2709,1
    - Dst: json_get_member_base64url
      Src: /src/hostap/src/common/dpp.c:2714,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:2716,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/common/dpp.c:2719,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp.c:2720,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:2721,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp.c:2723,1
    - Dst: crypto_ec_key_set_pub
      Src: /src/hostap/src/common/dpp.c:2728,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/dpp.c:2728,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/dpp.c:2729,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp.c:2729,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp.c:2736,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp.c:2737,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 58
    argCount: 2
    argNames:
    - jwk
    - key_curve
    argTypes:
    - struct json_token*
    - struct dpp_curve_params**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2740
      start: 2669
    functionDepth: 1
    functionLinenumber: 2669
    functionLinenumberEnd: 2740
    functionName: dpp_parse_jwk
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_len
    - wpa_hexdump_buf
    - wpabuf_free
    - wpabuf_head
    - json_get_member
    - crypto_ec_key_set_pub
    - dpp_get_curve_jwk_crv
    - os_strcmp
    - json_get_member_base64url
    linkageType: ''
    returnType: struct crypto_ec_key
    signature: "struct crypto_ec_key * dpp_parse_jwk(struct json_token *jwk,\n\t\t\t\t
      \    const struct dpp_curve_params **key_curve)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/common/dpp.c:2755,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:2756,1
    - Dst: sscanf
      Src: /src/hostap/src/common/dpp.c:2760,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:2762,1
    - Dst: os_mktime
      Src: /src/hostap/src/common/dpp.c:2767,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:2768,1
    - Dst: sscanf
      Src: /src/hostap/src/common/dpp.c:2780,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:2782,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:2798,1
    - Dst: os_get_time
      Src: /src/hostap/src/common/dpp.c:2806,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:2807,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:2813,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 2
    argNames:
    - timestamp
    - expiry
    argTypes:
    - char*
    - os_time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2819
      start: 2743
    functionDepth: 0
    functionLinenumber: 2743
    functionLinenumberEnd: 2819
    functionName: dpp_key_expired
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - sscanf
    - os_mktime
    - os_get_time
    linkageType: ''
    returnType: int
    signature: int dpp_key_expired(const char *timestamp, os_time_t *expiry)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: json_parse
      Src: /src/hostap/src/common/dpp.c:2833,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:2835,1
    - Dst: json_get_member
      Src: /src/hostap/src/common/dpp.c:2839,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:2841,1
    - Dst: json_get_member
      Src: /src/hostap/src/common/dpp.c:2847,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:2849,1
    - Dst: json_get_member
      Src: /src/hostap/src/common/dpp.c:2853,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:2855,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:2858,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:2866,1
    - Dst: json_get_member
      Src: /src/hostap/src/common/dpp.c:2871,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:2873,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:2876,1
    - Dst: dpp_key_expired
      Src: /src/hostap/src/common/dpp.c:2877,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:2879,1
    - Dst: json_get_member
      Src: /src/hostap/src/common/dpp.c:2885,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:2887,1
    - Dst: dpp_parse_jwk
      Src: /src/hostap/src/common/dpp.c:2891,1
    - Dst: dpp_debug_print_key
      Src: /src/hostap/src/common/dpp.c:2894,1
    - Dst: crypto_ec_key_cmp
      Src: /src/hostap/src/common/dpp.c:2896,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:2897,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:2901,1
    - Dst: crypto_ec_key_deinit
      Src: /src/hostap/src/common/dpp.c:2913,1
    - Dst: json_free
      Src: /src/hostap/src/common/dpp.c:2914,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 75
    argCount: 4
    argNames:
    - auth
    - conf
    - payload
    - payload_len
    argTypes:
    - struct dpp_authentication*
    - struct dpp_config_obj*
    - unsigned char*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2916
      start: 2822
    functionDepth: 2
    functionLinenumber: 2822
    functionLinenumberEnd: 2916
    functionName: dpp_parse_connector
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 0
    functionsReached:
    - crypto_ec_key_deinit
    - json_parse
    - wpa_printf
    - dpp_debug_print_key
    - dpp_key_expired
    - dpp_parse_jwk
    - crypto_ec_key_cmp
    - json_free
    - json_get_member
    linkageType: ''
    returnType: int
    signature: "int dpp_parse_connector(struct dpp_authentication *auth,\n\t\t\t       struct
      dpp_config_obj *conf,\n\t\t\t       const unsigned char *payload,\n\t\t\t       u16
      payload_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_ec_key_get_subject_public_key
      Src: /src/hostap/src/common/dpp.c:2924,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp.c:2928,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - conf
    - csign
    argTypes:
    - struct dpp_config_obj*
    - struct crypto_ec_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2930
      start: 2919
    functionDepth: 1
    functionLinenumber: 2919
    functionLinenumberEnd: 2930
    functionName: dpp_copy_csign
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 0
    functionsReached:
    - crypto_ec_key_get_subject_public_key
    - wpabuf_free
    linkageType: ''
    returnType: void
    signature: "void dpp_copy_csign(struct dpp_config_obj *conf,\n\t\t\t   struct
      crypto_ec_key *csign)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_ec_key_get_subject_public_key
      Src: /src/hostap/src/common/dpp.c:2938,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp.c:2942,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - conf
    - ppkey
    argTypes:
    - struct dpp_config_obj*
    - struct crypto_ec_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2944
      start: 2933
    functionDepth: 1
    functionLinenumber: 2933
    functionLinenumberEnd: 2944
    functionName: dpp_copy_ppkey
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 0
    functionsReached:
    - crypto_ec_key_get_subject_public_key
    - wpabuf_free
    linkageType: ''
    returnType: void
    signature: "void dpp_copy_ppkey(struct dpp_config_obj *conf,\n\t\t\t   struct
      crypto_ec_key *ppkey)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: crypto_ec_key_get_ecprivate_key
      Src: /src/hostap/src/common/dpp.c:2960,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp.c:2964,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - auth
    - conf
    argTypes:
    - struct dpp_authentication*
    - struct dpp_config_obj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2966
      start: 2947
    functionDepth: 1
    functionLinenumber: 2947
    functionLinenumberEnd: 2966
    functionName: dpp_copy_netaccesskey
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 0
    functionsReached:
    - wpabuf_free
    - crypto_ec_key_get_ecprivate_key
    linkageType: ''
    returnType: void
    signature: "void dpp_copy_netaccesskey(struct dpp_authentication *auth,\n\t\t\t\t
      \ struct dpp_config_obj *conf)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/common/dpp.c:2980,1
    - Dst: dpp_akm_psk
      Src: /src/hostap/src/common/dpp.c:2982,1
    - Dst: dpp_akm_sae
      Src: /src/hostap/src/common/dpp.c:2982,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:2983,1
    - Dst: dpp_parse_cred_legacy
      Src: /src/hostap/src/common/dpp.c:2985,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:2989,1
    - Dst: json_get_member
      Src: /src/hostap/src/common/dpp.c:2991,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:2993,1
    - Dst: dpp_parse_jwk
      Src: /src/hostap/src/common/dpp.c:2997,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:2999,1
    - Dst: dpp_debug_print_key
      Src: /src/hostap/src/common/dpp.c:3002,1
    - Dst: json_get_member
      Src: /src/hostap/src/common/dpp.c:3004,1
    - Dst: dpp_parse_jwk
      Src: /src/hostap/src/common/dpp.c:3006,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:3008,1
    - Dst: dpp_debug_print_key
      Src: /src/hostap/src/common/dpp.c:3011,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:3013,1
    - Dst: json_get_member
      Src: /src/hostap/src/common/dpp.c:3019,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:3021,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/common/dpp.c:3024,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/dpp.c:3025,1
    - Dst: os_strchr
      Src: /src/hostap/src/common/dpp.c:3028,1
    - Dst: os_strchr
      Src: /src/hostap/src/common/dpp.c:3029,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:3030,1
    - Dst: dpp_process_signed_connector
      Src: /src/hostap/src/common/dpp.c:3035,1
    - Dst: dpp_parse_connector
      Src: /src/hostap/src/common/dpp.c:3039,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:3041,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp.c:3045,1
    - Dst: os_strdup
      Src: /src/hostap/src/common/dpp.c:3046,1
    - Dst: dpp_copy_csign
      Src: /src/hostap/src/common/dpp.c:3048,1
    - Dst: dpp_copy_ppkey
      Src: /src/hostap/src/common/dpp.c:3050,1
    - Dst: dpp_akm_dpp
      Src: /src/hostap/src/common/dpp.c:3051,1
    - Dst: dpp_copy_netaccesskey
      Src: /src/hostap/src/common/dpp.c:3052,1
    - Dst: crypto_ec_key_deinit
      Src: /src/hostap/src/common/dpp.c:3056,1
    - Dst: crypto_ec_key_deinit
      Src: /src/hostap/src/common/dpp.c:3057,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp.c:3058,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 71
    argCount: 3
    argNames:
    - auth
    - conf
    - cred
    argTypes:
    - struct dpp_authentication*
    - struct dpp_config_obj*
    - struct json_token*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3060
      start: 2969
    functionDepth: 3
    functionLinenumber: 2969
    functionLinenumberEnd: 3060
    functionName: dpp_parse_cred_dpp
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 0
    functionsReached:
    - dpp_copy_ppkey
    - dpp_copy_netaccesskey
    - dpp_process_signed_connector
    - dpp_akm_sae
    - wpa_hexdump_ascii
    - json_get_member
    - os_strlen
    - dpp_parse_connector
    - wpa_printf
    - crypto_ec_key_deinit
    - dpp_akm_psk
    - os_free
    - dpp_parse_cred_legacy
    - dpp_debug_print_key
    - dpp_copy_csign
    - os_strchr
    - os_strdup
    - os_memset
    - dpp_akm_dpp
    - dpp_parse_jwk
    linkageType: ''
    returnType: int
    signature: "int dpp_parse_cred_dpp(struct dpp_authentication *auth,\n\t\t\t      struct
      dpp_config_obj *conf,\n\t\t\t      struct json_token *cred)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: json_get_member
      Src: /src/hostap/src/common/dpp.c:3070,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp.c:3072,1
    - Dst: json_get_member_base64
      Src: /src/hostap/src/common/dpp.c:3076,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp.c:3078,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/common/dpp.c:3081,1
    - Dst: crypto_pkcs7_get_certificates
      Src: /src/hostap/src/common/dpp.c:3082,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp.c:3084,1
    - Dst: json_get_member_base64
      Src: /src/hostap/src/common/dpp.c:3088,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/common/dpp.c:3090,1
    - Dst: json_get_member
      Src: /src/hostap/src/common/dpp.c:3093,1
    - Dst: has_ctrl_char
      Src: /src/hostap/src/common/dpp.c:3096,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/dpp.c:3097,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp.c:3098,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:3103,1
    - Dst: os_strdup
      Src: /src/hostap/src/common/dpp.c:3105,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - auth
    - conf
    - cred
    argTypes:
    - struct dpp_authentication*
    - struct dpp_config_obj*
    - struct json_token*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3111
      start: 3064
    functionDepth: 1
    functionLinenumber: 3064
    functionLinenumberEnd: 3111
    functionName: dpp_parse_cred_dot1x
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 0
    functionsReached:
    - has_ctrl_char
    - os_strlen
    - wpa_printf
    - dpp_auth_fail
    - crypto_pkcs7_get_certificates
    - json_get_member_base64
    - json_get_member
    - os_strdup
    - wpa_hexdump_buf
    linkageType: ''
    returnType: int
    signature: "int dpp_parse_cred_dot1x(struct dpp_authentication *auth,\n\t\t\t\tstruct
      dpp_config_obj *conf,\n\t\t\t\tstruct json_token *cred)"
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - akm
    argTypes:
    - enum dpp_akm
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3135
      start: 3115
    functionDepth: 0
    functionLinenumber: 3115
    functionLinenumberEnd: 3135
    functionName: dpp_akm_str
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * dpp_akm_str(enum dpp_akm akm)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - akm
    argTypes:
    - enum dpp_akm
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3158
      start: 3138
    functionDepth: 0
    functionLinenumber: 3138
    functionLinenumberEnd: 3158
    functionName: dpp_akm_selector_str
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * dpp_akm_selector_str(enum dpp_akm akm)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/src/common/dpp.c:3166,1
    - Dst: os_strcmp
      Src: /src/hostap/src/common/dpp.c:3168,1
    - Dst: os_strcmp
      Src: /src/hostap/src/common/dpp.c:3170,1
    - Dst: os_strcmp
      Src: /src/hostap/src/common/dpp.c:3172,1
    - Dst: os_strcmp
      Src: /src/hostap/src/common/dpp.c:3174,1
    - Dst: os_strcmp
      Src: /src/hostap/src/common/dpp.c:3176,1
    - Dst: os_strcmp
      Src: /src/hostap/src/common/dpp.c:3178,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/dpp.c:3183,1
    - Dst: os_strncasecmp
      Src: /src/hostap/src/common/dpp.c:3185,1
    - Dst: os_strncasecmp
      Src: /src/hostap/src/common/dpp.c:3187,1
    - Dst: os_strncasecmp
      Src: /src/hostap/src/common/dpp.c:3189,1
    - Dst: os_strncasecmp
      Src: /src/hostap/src/common/dpp.c:3191,1
    - Dst: os_strncasecmp
      Src: /src/hostap/src/common/dpp.c:3193,1
    - Dst: os_strncasecmp
      Src: /src/hostap/src/common/dpp.c:3195,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 51
    argCount: 1
    argNames:
    - akm
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3219
      start: 3161
    functionDepth: 0
    functionLinenumber: 3161
    functionLinenumberEnd: 3219
    functionName: dpp_akm_from_str
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_strncasecmp
    - os_strcmp
    linkageType: ''
    returnType: enum dpp_akm
    signature: enum dpp_akm dpp_akm_from_str(const char *akm)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: json_parse
      Src: /src/hostap/src/common/dpp.c:3231,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp.c:3235,1
    - Dst: json_get_member
      Src: /src/hostap/src/common/dpp.c:3239,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp.c:3241,1
    - Dst: os_strcmp
      Src: /src/hostap/src/common/dpp.c:3244,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:3245,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp.c:3247,1
    - Dst: json_get_member
      Src: /src/hostap/src/common/dpp.c:3251,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp.c:3253,1
    - Dst: json_get_member_base64url
      Src: /src/hostap/src/common/dpp.c:3257,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/common/dpp.c:3259,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/dpp.c:3260,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp.c:3260,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp.c:3261,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp.c:3262,1
    - Dst: json_get_member
      Src: /src/hostap/src/common/dpp.c:3266,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp.c:3268,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/common/dpp.c:3272,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/dpp.c:3273,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/dpp.c:3274,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp.c:3275,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:3282,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp.c:3290,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/dpp.c:3291,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/dpp.c:3291,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/dpp.c:3293,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/dpp.c:3294,1
    - Dst: json_get_member
      Src: /src/hostap/src/common/dpp.c:3297,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:3300,1
    - Dst: json_get_member
      Src: /src/hostap/src/common/dpp.c:3304,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp.c:3306,1
    - Dst: json_get_member
      Src: /src/hostap/src/common/dpp.c:3310,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp.c:3312,1
    - Dst: dpp_akm_from_str
      Src: /src/hostap/src/common/dpp.c:3315,1
    - Dst: dpp_akm_legacy
      Src: /src/hostap/src/common/dpp.c:3317,1
    - Dst: json_get_member
      Src: /src/hostap/src/common/dpp.c:3321,1
    - Dst: json_get_member
      Src: /src/hostap/src/common/dpp.c:3322,1
    - Dst: dpp_parse_cred_legacy
      Src: /src/hostap/src/common/dpp.c:3328,1
    - Dst: dpp_akm_dpp
      Src: /src/hostap/src/common/dpp.c:3330,1
    - Dst: dpp_akm_legacy
      Src: /src/hostap/src/common/dpp.c:3331,1
    - Dst: dpp_parse_cred_dpp
      Src: /src/hostap/src/common/dpp.c:3332,1
    - Dst: dpp_parse_cred_dot1x
      Src: /src/hostap/src/common/dpp.c:3336,1
    - Dst: dpp_parse_cred_dpp
      Src: /src/hostap/src/common/dpp.c:3337,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:3341,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp.c:3343,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:3347,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp.c:3350,1
    - Dst: json_free
      Src: /src/hostap/src/common/dpp.c:3351,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 115
    argCount: 3
    argNames:
    - auth
    - conf_obj
    - conf_obj_len
    argTypes:
    - struct dpp_authentication*
    - u8*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3353
      start: 3222
    functionDepth: 4
    functionLinenumber: 3222
    functionLinenumberEnd: 3353
    functionName: dpp_parse_conf_obj
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 0
    functionsReached:
    - dpp_akm_legacy
    - wpa_hexdump_ascii
    - json_get_member
    - os_strlen
    - json_parse
    - wpa_printf
    - dpp_auth_fail
    - dpp_akm_from_str
    - dpp_parse_cred_legacy
    - json_free
    - os_strcmp
    - wpabuf_len
    - dpp_parse_cred_dpp
    - wpabuf_head
    - json_get_member_base64url
    - os_memcpy
    - dpp_akm_dpp
    - wpabuf_free
    - dpp_parse_cred_dot1x
    linkageType: ''
    returnType: int
    signature: "int dpp_parse_conf_obj(struct dpp_authentication *auth,\n\t\t\t      const
      u8 *conf_obj, u16 conf_obj_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp.c:3362,1
    - Dst: base64_decode
      Src: /src/hostap/src/common/dpp.c:3365,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - attrs
    - attrs_len
    - len
    argTypes:
    - u8*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3366
      start: 3357
    functionDepth: 2
    functionLinenumber: 3357
    functionLinenumberEnd: 3366
    functionName: dpp_get_csr_attrs
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 0
    functionsReached:
    - base64_decode
    - dpp_get_attr
    linkageType: ''
    returnType: u8
    signature: u8 * dpp_get_csr_attrs(const u8 *attrs, size_t attrs_len, size_t *len)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: dpp_check_attrs
      Src: /src/hostap/src/common/dpp.c:3385,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/dpp.c:3385,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp.c:3385,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp.c:3386,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp.c:3390,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/dpp.c:3390,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp.c:3390,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp.c:3394,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp.c:3399,1
    - Dst: os_malloc
      Src: /src/hostap/src/common/dpp.c:3402,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/dpp.c:3406,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/dpp.c:3407,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp.c:3408,1
    - Dst: aes_siv_decrypt
      Src: /src/hostap/src/common/dpp.c:3410,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp.c:3413,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp.c:3416,1
    - Dst: dpp_check_attrs
      Src: /src/hostap/src/common/dpp.c:3419,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp.c:3420,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp.c:3424,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp.c:3428,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp.c:3432,1
    - Dst: os_memcmp
      Src: /src/hostap/src/common/dpp.c:3433,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp.c:3434,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp.c:3438,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/dpp.c:3438,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp.c:3438,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp.c:3441,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:3446,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:3452,1
    - Dst: dpp_get_csr_attrs
      Src: /src/hostap/src/common/dpp.c:3454,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp.c:3457,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp.c:3461,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp.c:3462,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp.c:3478,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp.c:3482,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/common/dpp.c:3486,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:3488,1
    - Dst: dpp_get_curve_ike_group
      Src: /src/hostap/src/common/dpp.c:3491,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp.c:3493,1
    - Dst: dpp_gen_keypair
      Src: /src/hostap/src/common/dpp.c:3498,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp.c:3500,1
    - Dst: crypto_ec_key_deinit
      Src: /src/hostap/src/common/dpp.c:3505,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp.c:3509,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp.c:3513,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp.c:3517,1
    - Dst: dpp_set_pubkey_point
      Src: /src/hostap/src/common/dpp.c:3520,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp.c:3522,1
    - Dst: dpp_debug_print_key
      Src: /src/hostap/src/common/dpp.c:3525,1
    - Dst: crypto_ec_key_deinit
      Src: /src/hostap/src/common/dpp.c:3527,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp.c:3536,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp.c:3540,1
    - Dst: dpp_conf_resp_env_data
      Src: /src/hostap/src/common/dpp.c:3544,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp.c:3548,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp.c:3551,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/common/dpp.c:3556,1
    - Dst: dpp_parse_conf_obj
      Src: /src/hostap/src/common/dpp.c:3558,1
    - Dst: dpp_get_attr_next
      Src: /src/hostap/src/common/dpp.c:3560,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp.c:3566,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:3569,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp.c:3578,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 143
    argCount: 2
    argNames:
    - auth
    - resp
    argTypes:
    - struct dpp_authentication*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3580
      start: 3370
    functionDepth: 5
    functionLinenumber: 3370
    functionLinenumberEnd: 3580
    functionName: dpp_conf_resp_rx
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 2
    functionsReached:
    - wpa_hexdump
    - WPA_GET_LE16
    - wpa_hexdump_ascii
    - crypto_ec_key_deinit
    - wpa_printf
    - dpp_auth_fail
    - os_memcmp
    - os_free
    - dpp_conf_resp_env_data
    - aes_siv_decrypt
    - wpabuf_len
    - dpp_debug_print_key
    - os_malloc
    - wpabuf_head
    - dpp_get_csr_attrs
    - dpp_gen_keypair
    - dpp_get_curve_ike_group
    - dpp_set_pubkey_point
    - dpp_check_attrs
    - dpp_get_attr_next
    - dpp_parse_conf_obj
    - dpp_get_attr
    linkageType: ''
    returnType: int
    signature: "int dpp_conf_resp_rx(struct dpp_authentication *auth,\n\t\t     const
      struct wpabuf *resp)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp.c:3597,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp.c:3600,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp.c:3604,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp.c:3613,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp.c:3614,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp.c:3615,1
    - Dst: os_malloc
      Src: /src/hostap/src/common/dpp.c:3618,1
    - Dst: aes_siv_decrypt
      Src: /src/hostap/src/common/dpp.c:3621,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp.c:3624,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp.c:3627,1
    - Dst: dpp_check_attrs
      Src: /src/hostap/src/common/dpp.c:3630,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp.c:3631,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp.c:3635,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp.c:3639,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp.c:3643,1
    - Dst: os_memcmp
      Src: /src/hostap/src/common/dpp.c:3644,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp.c:3645,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp.c:3646,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp.c:3651,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp.c:3654,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:3658,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/common/dpp.c:3662,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 57
    argCount: 4
    argNames:
    - auth
    - hdr
    - attr_start
    - attr_len
    argTypes:
    - struct dpp_authentication*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3664
      start: 3585
    functionDepth: 3
    functionLinenumber: 3585
    functionLinenumberEnd: 3664
    functionName: dpp_conf_result_rx
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - dpp_check_attrs
    - dpp_auth_fail
    - wpa_hexdump
    - os_malloc
    - bin_clear_free
    - dpp_get_attr
    - os_memcmp
    - aes_siv_decrypt
    linkageType: ''
    returnType: enum dpp_status_error
    signature: "enum dpp_status_error dpp_conf_result_rx(struct dpp_authentication
      *auth,\n\t\t\t\t\t const u8 *hdr,\n\t\t\t\t\t const u8 *attr_start, size_t attr_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/common/dpp.c:3679,1
    - Dst: dpp_alloc_msg
      Src: /src/hostap/src/common/dpp.c:3680,1
    - Dst: dpp_build_attr_status
      Src: /src/hostap/src/common/dpp.c:3685,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp.c:3688,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp.c:3689,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/common/dpp.c:3690,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/common/dpp.c:3693,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp.c:3695,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/common/dpp.c:3698,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp.c:3700,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp.c:3703,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp.c:3704,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp.c:3704,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/common/dpp.c:3705,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp.c:3705,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/common/dpp.c:3707,1
    - Dst: aes_siv_encrypt
      Src: /src/hostap/src/common/dpp.c:3708,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/dpp.c:3709,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp.c:3709,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/common/dpp.c:3713,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp.c:3714,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp.c:3717,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp.c:3718,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 2
    argNames:
    - auth
    - status
    argTypes:
    - struct dpp_authentication*
    - enum dpp_status_error
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3720
      start: 3667
    functionDepth: 3
    functionLinenumber: 3667
    functionLinenumberEnd: 3720
    functionName: dpp_build_conf_result
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 2
    functionsReached:
    - wpabuf_put
    - wpabuf_head_u8
    - wpabuf_put_data
    - wpa_hexdump
    - wpabuf_len
    - dpp_alloc_msg
    - wpa_hexdump_buf
    - wpabuf_free
    - wpabuf_put_le16
    - wpabuf_head
    - wpabuf_alloc
    - aes_siv_encrypt
    - dpp_build_attr_status
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * dpp_build_conf_result(struct dpp_authentication *auth,\n\t\t\t\t
      \     enum dpp_status_error status)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - val
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3733
      start: 3723
    functionDepth: 0
    functionLinenumber: 3723
    functionLinenumberEnd: 3733
    functionName: valid_channel_list
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int valid_channel_list(const char *val)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp.c:3756,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp.c:3759,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp.c:3763,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp.c:3772,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp.c:3773,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp.c:3774,1
    - Dst: os_malloc
      Src: /src/hostap/src/common/dpp.c:3777,1
    - Dst: aes_siv_decrypt
      Src: /src/hostap/src/common/dpp.c:3780,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp.c:3783,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp.c:3786,1
    - Dst: dpp_check_attrs
      Src: /src/hostap/src/common/dpp.c:3789,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp.c:3790,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp.c:3794,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp.c:3798,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp.c:3802,1
    - Dst: os_memcmp
      Src: /src/hostap/src/common/dpp.c:3803,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp.c:3804,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp.c:3805,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp.c:3810,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp.c:3813,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/common/dpp.c:3817,1
    - Dst: json_parse
      Src: /src/hostap/src/common/dpp.c:3820,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp.c:3822,1
    - Dst: json_get_member_base64url
      Src: /src/hostap/src/common/dpp.c:3826,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp.c:3827,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp.c:3828,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/dpp.c:3829,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/dpp.c:3829,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp.c:3831,1
    - Dst: json_get_member
      Src: /src/hostap/src/common/dpp.c:3833,1
    - Dst: valid_channel_list
      Src: /src/hostap/src/common/dpp.c:3835,1
    - Dst: os_strdup
      Src: /src/hostap/src/common/dpp.c:3836,1
    - Dst: json_get_member
      Src: /src/hostap/src/common/dpp.c:3838,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp.c:3840,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:3843,1
    - Dst: json_free
      Src: /src/hostap/src/common/dpp.c:3847,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/common/dpp.c:3848,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 82
    argCount: 7
    argNames:
    - auth
    - hdr
    - attr_start
    - attr_len
    - ssid
    - ssid_len
    - channel_list
    argTypes:
    - struct dpp_authentication*
    - u8*
    - u8*
    - size_t
    - u8*
    - size_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3850
      start: 3736
    functionDepth: 3
    functionLinenumber: 3736
    functionLinenumberEnd: 3850
    functionName: dpp_conn_status_result_rx
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 2
    functionsReached:
    - wpa_hexdump
    - wpa_hexdump_ascii
    - json_get_member
    - json_parse
    - wpa_printf
    - dpp_auth_fail
    - os_memcmp
    - json_free
    - aes_siv_decrypt
    - wpabuf_len
    - os_malloc
    - wpabuf_head
    - os_strdup
    - json_get_member_base64url
    - os_memcpy
    - dpp_check_attrs
    - wpabuf_free
    - dpp_get_attr
    - valid_channel_list
    - bin_clear_free
    linkageType: ''
    returnType: enum dpp_status_error
    signature: "enum dpp_status_error dpp_conn_status_result_rx(struct dpp_authentication
      *auth,\n\t\t\t\t\t\tconst u8 *hdr,\n\t\t\t\t\t\tconst u8 *attr_start,\n\t\t\t\t\t\tsize_t
      attr_len,\n\t\t\t\t\t\tu8 *ssid, size_t *ssid_len,\n\t\t\t\t\t\tchar **channel_list)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/common/dpp.c:3859,1
    - Dst: json_start_object
      Src: /src/hostap/src/common/dpp.c:3862,1
    - Dst: json_add_int
      Src: /src/hostap/src/common/dpp.c:3863,1
    - Dst: json_value_sep
      Src: /src/hostap/src/common/dpp.c:3865,1
    - Dst: json_add_base64url
      Src: /src/hostap/src/common/dpp.c:3866,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp.c:3867,1
    - Dst: json_value_sep
      Src: /src/hostap/src/common/dpp.c:3872,1
    - Dst: json_add_string
      Src: /src/hostap/src/common/dpp.c:3873,1
    - Dst: json_end_object
      Src: /src/hostap/src/common/dpp.c:3875,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/common/dpp.c:3876,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/dpp.c:3877,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp.c:3877,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - result
    - ssid
    - ssid_len
    - channel_list
    argTypes:
    - enum dpp_status_error
    - u8*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3880
      start: 3853
    functionDepth: 1
    functionLinenumber: 3853
    functionLinenumberEnd: 3880
    functionName: dpp_build_conn_status
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 0
    functionsReached:
    - json_add_base64url
    - json_value_sep
    - json_end_object
    - wpabuf_len
    - wpabuf_free
    - wpabuf_head
    - wpabuf_alloc
    - json_add_string
    - json_start_object
    - wpa_hexdump_ascii
    - json_add_int
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * dpp_build_conn_status(enum dpp_status_error result,\n\t\t\t\t
      \     const u8 *ssid, size_t ssid_len,\n\t\t\t\t      const char *channel_list)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dpp_build_conn_status
      Src: /src/hostap/src/common/dpp.c:3894,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp.c:3899,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/common/dpp.c:3901,1
    - Dst: dpp_alloc_msg
      Src: /src/hostap/src/common/dpp.c:3902,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp.c:3907,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp.c:3908,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/common/dpp.c:3909,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp.c:3912,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp.c:3913,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp.c:3913,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/common/dpp.c:3914,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/common/dpp.c:3917,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp.c:3919,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/common/dpp.c:3922,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp.c:3924,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp.c:3927,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp.c:3928,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp.c:3928,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/common/dpp.c:3929,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp.c:3929,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/common/dpp.c:3931,1
    - Dst: aes_siv_encrypt
      Src: /src/hostap/src/common/dpp.c:3932,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/dpp.c:3933,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp.c:3933,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/common/dpp.c:3937,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp.c:3939,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp.c:3940,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp.c:3943,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp.c:3944,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp.c:3945,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 41
    argCount: 5
    argNames:
    - auth
    - result
    - ssid
    - ssid_len
    - channel_list
    argTypes:
    - struct dpp_authentication*
    - enum dpp_status_error
    - u8*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3947
      start: 3883
    functionDepth: 3
    functionLinenumber: 3883
    functionLinenumberEnd: 3947
    functionName: dpp_build_conn_status_result
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 1
    functionsReached:
    - wpabuf_put
    - wpabuf_head_u8
    - wpabuf_put_data
    - wpa_hexdump
    - wpabuf_len
    - dpp_alloc_msg
    - wpabuf_free
    - wpabuf_put_le16
    - wpabuf_head
    - wpabuf_alloc
    - wpabuf_put_buf
    - aes_siv_encrypt
    - dpp_build_conn_status
    - wpa_hexdump_buf
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * dpp_build_conn_status_result(struct dpp_authentication
      *auth,\n\t\t\t\t\t     enum dpp_status_error result,\n\t\t\t\t\t     const u8
      *ssid, size_t ssid_len,\n\t\t\t\t\t     const char *channel_list)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_ec_key_deinit
      Src: /src/hostap/src/common/dpp.c:3956,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp.c:3957,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp.c:3958,1
    - Dst: crypto_ec_key_deinit
      Src: /src/hostap/src/common/dpp.c:3959,1
    - Dst: crypto_ec_key_deinit
      Src: /src/hostap/src/common/dpp.c:3960,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp.c:3961,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - conf
    argTypes:
    - struct dpp_configurator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3962
      start: 3952
    functionDepth: 0
    functionLinenumber: 3952
    functionLinenumberEnd: 3962
    functionName: dpp_configurator_free
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 0
    functionsReached:
    - crypto_ec_key_deinit
    - os_free
    linkageType: ''
    returnType: void
    signature: void dpp_configurator_free(struct dpp_configurator *conf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: crypto_ec_key_get_ecprivate_key
      Src: /src/hostap/src/common/dpp.c:3974,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/common/dpp.c:3978,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/dpp.c:3978,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp.c:3978,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/common/dpp.c:3980,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - conf
    - buf
    - buflen
    argTypes:
    - struct dpp_configurator*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3982
      start: 3965
    functionDepth: 1
    functionLinenumber: 3965
    functionLinenumberEnd: 3982
    functionName: dpp_configurator_get_key
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 0
    functionsReached:
    - wpa_snprintf_hex
    - wpabuf_len
    - wpabuf_head
    - wpabuf_clear_free
    - crypto_ec_key_get_ecprivate_key
    linkageType: ''
    returnType: int
    signature: "int dpp_configurator_get_key(const struct dpp_configurator *conf,
      char *buf,\n\t\t\t     size_t buflen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: crypto_ec_key_get_pubkey_point
      Src: /src/hostap/src/common/dpp.c:3992,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:3994,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/dpp.c:3999,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp.c:4000,1
    - Dst: sha256_vector
      Src: /src/hostap/src/common/dpp.c:4001,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp.c:4002,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:4004,1
    - Dst: base64_url_encode
      Src: /src/hostap/src/common/dpp.c:4009,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - conf
    argTypes:
    - struct dpp_configurator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4012
      start: 3985
    functionDepth: 1
    functionLinenumber: 3985
    functionLinenumberEnd: 4012
    functionName: dpp_configurator_gen_kid
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 0
    functionsReached:
    - sha256_vector
    - wpa_printf
    - wpabuf_len
    - crypto_ec_key_get_pubkey_point
    - wpabuf_free
    - wpabuf_head
    - base64_url_encode
    linkageType: ''
    returnType: int
    signature: int dpp_configurator_gen_kid(struct dpp_configurator *conf)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/common/dpp.c:4021,1
    - Dst: dpp_get_curve_name
      Src: /src/hostap/src/common/dpp.c:4025,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:4027,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp.c:4028,1
    - Dst: dpp_set_keypair
      Src: /src/hostap/src/common/dpp.c:4033,1
    - Dst: dpp_gen_keypair
      Src: /src/hostap/src/common/dpp.c:4036,1
    - Dst: dpp_set_keypair
      Src: /src/hostap/src/common/dpp.c:4038,1
    - Dst: dpp_gen_keypair
      Src: /src/hostap/src/common/dpp.c:4041,1
    - Dst: dpp_configurator_gen_kid
      Src: /src/hostap/src/common/dpp.c:4046,1
    - Dst: dpp_configurator_free
      Src: /src/hostap/src/common/dpp.c:4050,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 5
    argNames:
    - curve
    - privkey
    - privkey_len
    - pp_key
    - pp_key_len
    argTypes:
    - char*
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4052
      start: 4015
    functionDepth: 2
    functionLinenumber: 4015
    functionLinenumberEnd: 4052
    functionName: dpp_keygen_configurator
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 0
    functionsReached:
    - dpp_get_curve_name
    - wpa_printf
    - dpp_set_keypair
    - os_zalloc
    - dpp_gen_keypair
    - dpp_configurator_free
    - os_free
    - dpp_configurator_gen_kid
    linkageType: ''
    returnType: struct dpp_configurator
    signature: "struct dpp_configurator *\ndpp_keygen_configurator(const char *curve,
      const u8 *privkey,\n\t\t\tsize_t privkey_len, const u8 *pp_key, size_t pp_key_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:4062,1
    - Dst: dpp_get_curve_name
      Src: /src/hostap/src/common/dpp.c:4066,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:4068,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:4072,1
    - Dst: dpp_gen_keypair
      Src: /src/hostap/src/common/dpp.c:4076,1
    - Dst: dpp_copy_netaccesskey
      Src: /src/hostap/src/common/dpp.c:4079,1
    - Dst: dpp_copy_csign
      Src: /src/hostap/src/common/dpp.c:4081,1
    - Dst: dpp_build_conf_obj
      Src: /src/hostap/src/common/dpp.c:4083,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp.c:4085,1
    - Dst: dpp_parse_conf_obj
      Src: /src/hostap/src/common/dpp.c:4089,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/dpp.c:4089,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp.c:4090,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp.c:4092,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 3
    argNames:
    - auth
    - curve
    - ap
    argTypes:
    - struct dpp_authentication*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4095
      start: 4055
    functionDepth: 5
    functionLinenumber: 4055
    functionLinenumberEnd: 4095
    functionName: dpp_configurator_own_config
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 2
    functionsReached:
    - dpp_get_curve_name
    - wpa_printf
    - wpabuf_len
    - dpp_build_conf_obj
    - wpabuf_free
    - wpabuf_head
    - dpp_gen_keypair
    - dpp_copy_netaccesskey
    - dpp_parse_conf_obj
    - dpp_copy_csign
    linkageType: ''
    returnType: int
    signature: "int dpp_configurator_own_config(struct dpp_authentication *auth,\n\t\t\t\tconst
      char *curve, int ap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/src/common/dpp.c:4100,1
    - Dst: os_strcmp
      Src: /src/hostap/src/common/dpp.c:4100,1
    - Dst: os_strcmp
      Src: /src/hostap/src/common/dpp.c:4101,1
    - Dst: os_strcmp
      Src: /src/hostap/src/common/dpp.c:4101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - role1
    - role2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4102
      start: 4098
    functionDepth: 0
    functionLinenumber: 4098
    functionLinenumberEnd: 4102
    functionName: dpp_compatible_netrole
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 0
    functionsReached:
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: int dpp_compatible_netrole(const char *role1, const char *role2)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: json_get_member
      Src: /src/hostap/src/common/dpp.c:4112,1
    - Dst: json_get_member
      Src: /src/hostap/src/common/dpp.c:4119,1
    - Dst: json_get_member
      Src: /src/hostap/src/common/dpp.c:4123,1
    - Dst: os_strcmp
      Src: /src/hostap/src/common/dpp.c:4127,1
    - Dst: os_strcmp
      Src: /src/hostap/src/common/dpp.c:4128,1
    - Dst: os_strcmp
      Src: /src/hostap/src/common/dpp.c:4129,1
    - Dst: os_strcmp
      Src: /src/hostap/src/common/dpp.c:4132,1
    - Dst: dpp_compatible_netrole
      Src: /src/hostap/src/common/dpp.c:4134,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 19
    argCount: 4
    argNames:
    - root
    - group_id
    - net_role
    - reconfig
    argTypes:
    - struct json_token*
    - char*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4139
      start: 4105
    functionDepth: 1
    functionLinenumber: 4105
    functionLinenumberEnd: 4139
    functionName: dpp_connector_compatible_group
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 0
    functionsReached:
    - os_strcmp
    - dpp_compatible_netrole
    - json_get_member
    linkageType: ''
    returnType: int
    signature: "int dpp_connector_compatible_group(struct json_token *root,\n\t\t\t\t\t
      \ const char *group_id,\n\t\t\t\t\t  const char *net_role,\n\t\t\t\t\t  bool
      reconfig)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: json_get_member
      Src: /src/hostap/src/common/dpp.c:4147,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:4149,1
    - Dst: json_get_member
      Src: /src/hostap/src/common/dpp.c:4156,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:4158,1
    - Dst: json_get_member
      Src: /src/hostap/src/common/dpp.c:4163,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:4165,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:4169,1
    - Dst: dpp_connector_compatible_group
      Src: /src/hostap/src/common/dpp.c:4172,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:4174,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 3
    argNames:
    - own_root
    - peer_root
    - reconfig
    argTypes:
    - struct json_token*
    - struct json_token*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4181
      start: 4142
    functionDepth: 2
    functionLinenumber: 4142
    functionLinenumberEnd: 4181
    functionName: dpp_connector_match_groups
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dpp_connector_compatible_group
    - json_get_member
    linkageType: ''
    returnType: int
    signature: "int dpp_connector_match_groups(struct json_token *own_root,\n\t\t\t
      \      struct json_token *peer_root, bool reconfig)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_strchr
      Src: /src/hostap/src/common/dpp.c:4191,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:4193,1
    - Dst: os_strchr
      Src: /src/hostap/src/common/dpp.c:4197,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:4199,1
    - Dst: base64_url_decode
      Src: /src/hostap/src/common/dpp.c:4202,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:4204,1
    - Dst: json_parse
      Src: /src/hostap/src/common/dpp.c:4209,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp.c:4210,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:4212,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - own_connector
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4215
      start: 4184
    functionDepth: 1
    functionLinenumber: 4184
    functionLinenumberEnd: 4215
    functionName: dpp_parse_own_connector
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 0
    functionsReached:
    - base64_url_decode
    - json_parse
    - wpa_printf
    - os_free
    - os_strchr
    linkageType: ''
    returnType: struct json_token
    signature: struct json_token * dpp_parse_own_connector(const char *own_connector)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/common/dpp.c:4235,1
    - Dst: os_memset
      Src: /src/hostap/src/common/dpp.c:4236,1
    - Dst: dpp_set_keypair
      Src: /src/hostap/src/common/dpp.c:4240,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:4243,1
    - Dst: dpp_parse_own_connector
      Src: /src/hostap/src/common/dpp.c:4247,1
    - Dst: dpp_check_signed_connector
      Src: /src/hostap/src/common/dpp.c:4251,1
    - Dst: json_parse
      Src: /src/hostap/src/common/dpp.c:4258,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:4260,1
    - Dst: dpp_connector_match_groups
      Src: /src/hostap/src/common/dpp.c:4265,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:4266,1
    - Dst: json_get_member
      Src: /src/hostap/src/common/dpp.c:4272,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:4274,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:4277,1
    - Dst: dpp_key_expired
      Src: /src/hostap/src/common/dpp.c:4278,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:4279,1
    - Dst: json_get_member
      Src: /src/hostap/src/common/dpp.c:4287,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:4289,1
    - Dst: json_get_member
      Src: /src/hostap/src/common/dpp.c:4294,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:4296,1
    - Dst: dpp_parse_jwk
      Src: /src/hostap/src/common/dpp.c:4301,1
    - Dst: dpp_debug_print_key
      Src: /src/hostap/src/common/dpp.c:4306,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:4309,1
    - Dst: dpp_ecdh
      Src: /src/hostap/src/common/dpp.c:4317,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/dpp.c:4320,1
    - Dst: dpp_derive_pmk
      Src: /src/hostap/src/common/dpp.c:4324,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:4325,1
    - Dst: dpp_derive_pmkid
      Src: /src/hostap/src/common/dpp.c:4331,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:4333,1
    - Dst: dpp_hpke_suite
      Src: /src/hostap/src/common/dpp.c:4338,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:4340,1
    - Dst: dpp_get_pubkey_hash
      Src: /src/hostap/src/common/dpp.c:4347,1
    - Dst: dpp_peer_intro_deinit
      Src: /src/hostap/src/common/dpp.c:4352,1
    - Dst: os_memset
      Src: /src/hostap/src/common/dpp.c:4353,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp.c:4354,1
    - Dst: crypto_ec_key_deinit
      Src: /src/hostap/src/common/dpp.c:4355,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp.c:4356,1
    - Dst: json_free
      Src: /src/hostap/src/common/dpp.c:4357,1
    - Dst: json_free
      Src: /src/hostap/src/common/dpp.c:4358,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 105
    argCount: 10
    argNames:
    - intro
    - own_connector
    - net_access_key
    - net_access_key_len
    - csign_key
    - csign_key_len
    - peer_connector
    - peer_connector_len
    - expiry
    - peer_key_hash
    argTypes:
    - struct dpp_introduction*
    - char*
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    - os_time_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4360
      start: 4218
    functionDepth: 3
    functionLinenumber: 4218
    functionLinenumberEnd: 4360
    functionName: dpp_peer_intro
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 4
    functionsReached:
    - dpp_key_expired
    - dpp_connector_match_groups
    - json_get_member
    - crypto_ec_key_deinit
    - json_parse
    - wpa_printf
    - dpp_check_signed_connector
    - dpp_parse_own_connector
    - os_free
    - json_free
    - wpa_hexdump_key
    - dpp_derive_pmk
    - dpp_get_pubkey_hash
    - dpp_debug_print_key
    - dpp_set_keypair
    - dpp_ecdh
    - os_memset
    - wpabuf_free
    - dpp_peer_intro_deinit
    - dpp_parse_jwk
    - dpp_derive_pmkid
    - dpp_hpke_suite
    linkageType: ''
    returnType: enum dpp_status_error
    signature: "enum dpp_status_error dpp_peer_intro(struct dpp_introduction *intro,
      const char *own_connector,\n\t       const u8 *net_access_key, size_t net_access_key_len,\n\t
      \      const u8 *csign_key, size_t csign_key_len,\n\t       const u8 *peer_connector,
      size_t peer_connector_len,\n\t       os_time_t *expiry, u8 *peer_key_hash)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_ec_key_deinit
      Src: /src/hostap/src/common/dpp.c:4368,1
    - Dst: os_memset
      Src: /src/hostap/src/common/dpp.c:4369,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - intro
    argTypes:
    - struct dpp_introduction*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4370
      start: 4363
    functionDepth: 0
    functionLinenumber: 4363
    functionLinenumberEnd: 4370
    functionName: dpp_peer_intro_deinit
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 5
    functionsReached:
    - crypto_ec_key_deinit
    - os_memset
    linkageType: ''
    returnType: void
    signature: void dpp_peer_intro_deinit(struct dpp_introduction *intro)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dpp_parse_own_connector
      Src: /src/hostap/src/common/dpp.c:4379,1
    - Dst: json_get_member
      Src: /src/hostap/src/common/dpp.c:4383,1
    - Dst: json_free
      Src: /src/hostap/src/common/dpp.c:4387,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - connector
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4389
      start: 4374
    functionDepth: 2
    functionLinenumber: 4374
    functionLinenumberEnd: 4389
    functionName: dpp_get_connector_version
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 4
    functionsReached:
    - dpp_parse_own_connector
    - json_free
    - json_get_member
    linkageType: ''
    returnType: int
    signature: int dpp_get_connector_version(const char *connector)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/common/dpp.c:4398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - dpp
    argTypes:
    - struct dpp_global*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4403
      start: 4393
    functionDepth: 0
    functionLinenumber: 4393
    functionLinenumberEnd: 4403
    functionName: dpp_next_id
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 1
    functionsReached:
    - dl_list_for_each
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int dpp_next_id(struct dpp_global *dpp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/common/dpp.c:4414,1
    - Dst: struct dpp_global*::remove_bi
      Src: /src/hostap/src/common/dpp.c:4421,1
    - Dst: dl_list_del
      Src: /src/hostap/src/common/dpp.c:4423,1
    - Dst: dpp_bootstrap_info_free
      Src: /src/hostap/src/common/dpp.c:4424,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - dpp
    - id
    argTypes:
    - struct dpp_global*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4430
      start: 4406
    functionDepth: 2
    functionLinenumber: 4406
    functionLinenumberEnd: 4430
    functionName: dpp_bootstrap_del
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 0
    functionsReached:
    - dpp_bootstrap_info_free
    - struct dpp_global*::remove_bi
    - dl_list_del
    - dl_list_for_each_safe
    linkageType: ''
    returnType: int
    signature: int dpp_bootstrap_del(struct dpp_global *dpp, unsigned int id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dpp_parse_uri
      Src: /src/hostap/src/common/dpp.c:4441,1
    - Dst: dpp_next_id
      Src: /src/hostap/src/common/dpp.c:4446,1
    - Dst: dl_list_add
      Src: /src/hostap/src/common/dpp.c:4447,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - dpp
    - uri
    argTypes:
    - struct dpp_global*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4449
      start: 4433
    functionDepth: 3
    functionLinenumber: 4433
    functionLinenumberEnd: 4449
    functionName: dpp_add_qr_code
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 3
    functionsReached:
    - dpp_next_id
    - dpp_parse_uri
    - dl_list_add
    linkageType: ''
    returnType: struct dpp_bootstrap_info
    signature: "struct dpp_bootstrap_info * dpp_add_qr_code(struct dpp_global *dpp,\n\t\t\t\t\t
      \   const char *uri)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dpp_parse_uri
      Src: /src/hostap/src/common/dpp.c:4460,1
    - Dst: dpp_next_id
      Src: /src/hostap/src/common/dpp.c:4465,1
    - Dst: dl_list_add
      Src: /src/hostap/src/common/dpp.c:4466,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - dpp
    - uri
    argTypes:
    - struct dpp_global*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4468
      start: 4452
    functionDepth: 3
    functionLinenumber: 4452
    functionLinenumberEnd: 4468
    functionName: dpp_add_nfc_uri
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 6
    functionsReached:
    - dpp_next_id
    - dpp_parse_uri
    - dl_list_add
    linkageType: ''
    returnType: struct dpp_bootstrap_info
    signature: "struct dpp_bootstrap_info * dpp_add_nfc_uri(struct dpp_global *dpp,\n\t\t\t\t\t
      \   const char *uri)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: str_token
      Src: /src/hostap/src/common/dpp.c:4480,1
    - Dst: os_strcmp
      Src: /src/hostap/src/common/dpp.c:4481,1
    - Dst: BIT
      Src: /src/hostap/src/common/dpp.c:4482,1
    - Dst: os_strcmp
      Src: /src/hostap/src/common/dpp.c:4483,1
    - Dst: BIT
      Src: /src/hostap/src/common/dpp.c:4484,1
    - Dst: os_strcmp
      Src: /src/hostap/src/common/dpp.c:4485,1
    - Dst: BIT
      Src: /src/hostap/src/common/dpp.c:4486,1
    - Dst: os_strcmp
      Src: /src/hostap/src/common/dpp.c:4487,1
    - Dst: BIT
      Src: /src/hostap/src/common/dpp.c:4488,1
    - Dst: os_strcmp
      Src: /src/hostap/src/common/dpp.c:4489,1
    - Dst: BIT
      Src: /src/hostap/src/common/dpp.c:4490,1
    - Dst: os_strcmp
      Src: /src/hostap/src/common/dpp.c:4491,1
    - Dst: BIT
      Src: /src/hostap/src/common/dpp.c:4492,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:4494,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:4501,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - bi
    - txt
    argTypes:
    - struct dpp_bootstrap_info*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4505
      start: 4471
    functionDepth: 1
    functionLinenumber: 4471
    functionLinenumberEnd: 4505
    functionName: dpp_parse_supported_curves_list
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - BIT
    - os_strcmp
    - str_token
    linkageType: ''
    returnType: int
    signature: "int dpp_parse_supported_curves_list(struct dpp_bootstrap_info *bi,\n\t\t\t\t\t
      \  char *txt)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/common/dpp.c:4520,1
    - Dst: os_strstr
      Src: /src/hostap/src/common/dpp.c:4524,1
    - Dst: os_strstr
      Src: /src/hostap/src/common/dpp.c:4526,1
    - Dst: os_strstr
      Src: /src/hostap/src/common/dpp.c:4528,1
    - Dst: get_param
      Src: /src/hostap/src/common/dpp.c:4533,1
    - Dst: get_param
      Src: /src/hostap/src/common/dpp.c:4534,1
    - Dst: get_param
      Src: /src/hostap/src/common/dpp.c:4535,1
    - Dst: get_param
      Src: /src/hostap/src/common/dpp.c:4536,1
    - Dst: get_param
      Src: /src/hostap/src/common/dpp.c:4537,1
    - Dst: get_param
      Src: /src/hostap/src/common/dpp.c:4538,1
    - Dst: get_param
      Src: /src/hostap/src/common/dpp.c:4539,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/dpp.c:4542,1
    - Dst: os_malloc
      Src: /src/hostap/src/common/dpp.c:4543,1
    - Dst: hexstr2bin
      Src: /src/hostap/src/common/dpp.c:4545,1
    - Dst: dpp_keygen
      Src: /src/hostap/src/common/dpp.c:4549,1
    - Dst: dpp_parse_uri_chan_list
      Src: /src/hostap/src/common/dpp.c:4550,1
    - Dst: dpp_parse_uri_mac
      Src: /src/hostap/src/common/dpp.c:4551,1
    - Dst: dpp_parse_uri_info
      Src: /src/hostap/src/common/dpp.c:4552,1
    - Dst: dpp_parse_supported_curves_list
      Src: /src/hostap/src/common/dpp.c:4553,1
    - Dst: dpp_parse_uri_host
      Src: /src/hostap/src/common/dpp.c:4554,1
    - Dst: dpp_gen_uri
      Src: /src/hostap/src/common/dpp.c:4555,1
    - Dst: dpp_next_id
      Src: /src/hostap/src/common/dpp.c:4558,1
    - Dst: dl_list_add
      Src: /src/hostap/src/common/dpp.c:4559,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp.c:4563,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp.c:4564,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp.c:4565,1
    - Dst: str_clear_free
      Src: /src/hostap/src/common/dpp.c:4566,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp.c:4567,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp.c:4568,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/common/dpp.c:4569,1
    - Dst: dpp_bootstrap_info_free
      Src: /src/hostap/src/common/dpp.c:4570,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 47
    argCount: 2
    argNames:
    - dpp
    - cmd
    argTypes:
    - struct dpp_global*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4572
      start: 4508
    functionDepth: 2
    functionLinenumber: 4508
    functionLinenumberEnd: 4572
    functionName: dpp_bootstrap_gen
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 3
    functionsReached:
    - dpp_next_id
    - dpp_parse_supported_curves_list
    - dpp_parse_uri_mac
    - os_strlen
    - os_strstr
    - str_clear_free
    - dpp_parse_uri_host
    - os_free
    - dpp_parse_uri_chan_list
    - hexstr2bin
    - os_malloc
    - get_param
    - dpp_bootstrap_info_free
    - dpp_keygen
    - dpp_gen_uri
    - dpp_parse_uri_info
    - os_zalloc
    - dl_list_add
    - bin_clear_free
    linkageType: ''
    returnType: int
    signature: int dpp_bootstrap_gen(struct dpp_global *dpp, const char *cmd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/common/dpp.c:4583,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - dpp
    - id
    argTypes:
    - struct dpp_global*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4588
      start: 4575
    functionDepth: 0
    functionLinenumber: 4575
    functionLinenumberEnd: 4588
    functionName: dpp_bootstrap_get_id
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 15
    functionsReached:
    - dl_list_for_each
    linkageType: ''
    returnType: struct dpp_bootstrap_info
    signature: 'struct dpp_bootstrap_info *

      dpp_bootstrap_get_id(struct dpp_global *dpp, unsigned int id)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/src/common/dpp.c:4595,1
    - Dst: atoi
      Src: /src/hostap/src/common/dpp.c:4598,1
    - Dst: dpp_bootstrap_del
      Src: /src/hostap/src/common/dpp.c:4603,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - dpp
    - id
    argTypes:
    - struct dpp_global*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4604
      start: 4591
    functionDepth: 3
    functionLinenumber: 4591
    functionLinenumberEnd: 4604
    functionName: dpp_bootstrap_remove
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 5
    functionsReached:
    - atoi
    - dpp_bootstrap_del
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: int dpp_bootstrap_remove(struct dpp_global *dpp, const char *id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dpp_bootstrap_get_id
      Src: /src/hostap/src/common/dpp.c:4611,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - dpp
    - id
    argTypes:
    - struct dpp_global*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4615
      start: 4607
    functionDepth: 1
    functionLinenumber: 4607
    functionLinenumberEnd: 4615
    functionName: dpp_bootstrap_get_uri
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 0
    functionsReached:
    - dpp_bootstrap_get_id
    linkageType: ''
    returnType: char
    signature: char * dpp_bootstrap_get_uri(struct dpp_global *dpp, unsigned int id)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dpp_bootstrap_get_id
      Src: /src/hostap/src/common/dpp.c:4627,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/common/dpp.c:4630,1
    - Dst: os_snprintf
      Src: /src/hostap/src/common/dpp.c:4641,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/common/dpp.c:4642,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/common/dpp.c:4646,1
    - Dst: BIT
      Src: /src/hostap/src/common/dpp.c:4647,1
    - Dst: os_snprintf
      Src: /src/hostap/src/common/dpp.c:4649,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/common/dpp.c:4650,1
    - Dst: os_snprintf
      Src: /src/hostap/src/common/dpp.c:4665,1
    - Dst: hostapd_ip_txt
      Src: /src/hostap/src/common/dpp.c:4666,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/common/dpp.c:4668,1
    - Dst: os_snprintf
      Src: /src/hostap/src/common/dpp.c:4672,1
    - Dst: dpp_bootstrap_type_txt
      Src: /src/hostap/src/common/dpp.c:4680,1
    - Dst: MAC2STR
      Src: /src/hostap/src/common/dpp.c:4681,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 4
    argNames:
    - dpp
    - id
    - reply
    - reply_size
    argTypes:
    - struct dpp_global*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4690
      start: 4618
    functionDepth: 1
    functionLinenumber: 4618
    functionLinenumberEnd: 4690
    functionName: dpp_bootstrap_info
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 1
    functionsReached:
    - wpa_snprintf_hex
    - dpp_bootstrap_type_txt
    - os_snprintf
    - MAC2STR
    - BIT
    - dpp_bootstrap_get_id
    - hostapd_ip_txt
    - ARRAY_SIZE
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int dpp_bootstrap_info(struct dpp_global *dpp, int id,\n\t\t       char
      *reply, int reply_size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dpp_bootstrap_get_id
      Src: /src/hostap/src/common/dpp.c:4697,1
    - Dst: str_clear_free
      Src: /src/hostap/src/common/dpp.c:4701,1
    - Dst: os_strdup
      Src: /src/hostap/src/common/dpp.c:4704,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - dpp
    - id
    - params
    argTypes:
    - struct dpp_global*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4710
      start: 4693
    functionDepth: 1
    functionLinenumber: 4693
    functionLinenumberEnd: 4710
    functionName: dpp_bootstrap_set
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 0
    functionsReached:
    - str_clear_free
    - dpp_bootstrap_get_id
    - os_strdup
    linkageType: ''
    returnType: int
    signature: int dpp_bootstrap_set(struct dpp_global *dpp, int id, const char *params)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/common/dpp.c:4725,1
    - Dst: os_memcmp
      Src: /src/hostap/src/common/dpp.c:4727,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:4729,1
    - Dst: os_memcmp
      Src: /src/hostap/src/common/dpp.c:4735,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:4737,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 5
    argNames:
    - dpp
    - i_bootstrap
    - r_bootstrap
    - own_bi
    - peer_bi
    argTypes:
    - struct dpp_global*
    - u8*
    - u8*
    - struct dpp_bootstrap_info**
    - struct dpp_bootstrap_info**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4745
      start: 4713
    functionDepth: 0
    functionLinenumber: 4713
    functionLinenumberEnd: 4745
    functionName: dpp_bootstrap_find_pair
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 2
    functionsReached:
    - dl_list_for_each
    - wpa_printf
    - os_memcmp
    linkageType: ''
    returnType: void
    signature: "void dpp_bootstrap_find_pair(struct dpp_global *dpp, const u8 *i_bootstrap,\n\t\t\t
      \    const u8 *r_bootstrap,\n\t\t\t     struct dpp_bootstrap_info **own_bi,\n\t\t\t
      \    struct dpp_bootstrap_info **peer_bi)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/common/dpp.c:4757,1
    - Dst: os_memcmp
      Src: /src/hostap/src/common/dpp.c:4758,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - dpp
    - hash
    argTypes:
    - struct dpp_global*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4764
      start: 4749
    functionDepth: 0
    functionLinenumber: 4749
    functionLinenumberEnd: 4764
    functionName: dpp_bootstrap_find_chirp
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 2
    functionsReached:
    - dl_list_for_each
    - os_memcmp
    linkageType: ''
    returnType: struct dpp_bootstrap_info
    signature: "struct dpp_bootstrap_info * dpp_bootstrap_find_chirp(struct dpp_global
      *dpp,\n\t\t\t\t\t\t     const u8 *hash)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: freq_included
      Src: /src/hostap/src/common/dpp.c:4781,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:4788,1
    - Dst: ieee80211_freq_to_channel_ext
      Src: /src/hostap/src/common/dpp.c:4792,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:4794,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:4799,1
    - Dst: os_snprintf
      Src: /src/hostap/src/common/dpp.c:4802,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp.c:4803,1
    - Dst: os_strdup
      Src: /src/hostap/src/common/dpp.c:4804,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp.c:4807,1
    - Dst: os_strdup
      Src: /src/hostap/src/common/dpp.c:4808,1
    - Dst: dpp_gen_uri
      Src: /src/hostap/src/common/dpp.c:4812,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - own_bi
    - peer_bi
    argTypes:
    - struct dpp_bootstrap_info*
    - struct dpp_bootstrap_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4813
      start: 4768
    functionDepth: 2
    functionLinenumber: 4768
    functionLinenumberEnd: 4813
    functionName: dpp_nfc_update_bi_channel
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - freq_included
    - os_snprintf
    - ieee80211_freq_to_channel_ext
    - os_free
    - dpp_gen_uri
    - os_strdup
    linkageType: ''
    returnType: int
    signature: "int dpp_nfc_update_bi_channel(struct dpp_bootstrap_info *own_bi,\n\t\t\t\t
      \    struct dpp_bootstrap_info *peer_bi)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:4822,1
    - Dst: crypto_ec_key_deinit
      Src: /src/hostap/src/common/dpp.c:4825,1
    - Dst: dpp_keygen
      Src: /src/hostap/src/common/dpp.c:4828,1
    - Dst: dpp_gen_uri
      Src: /src/hostap/src/common/dpp.c:4829,1
    - Dst: dl_list_del
      Src: /src/hostap/src/common/dpp.c:4834,1
    - Dst: dpp_bootstrap_info_free
      Src: /src/hostap/src/common/dpp.c:4835,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - own_bi
    - peer_bi
    argTypes:
    - struct dpp_bootstrap_info*
    - struct dpp_bootstrap_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4837
      start: 4816
    functionDepth: 2
    functionLinenumber: 4816
    functionLinenumberEnd: 4837
    functionName: dpp_nfc_update_bi_key
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 0
    functionsReached:
    - crypto_ec_key_deinit
    - wpa_printf
    - dl_list_del
    - dpp_bootstrap_info_free
    - dpp_keygen
    - dpp_gen_uri
    linkageType: ''
    returnType: int
    signature: "int dpp_nfc_update_bi_key(struct dpp_bootstrap_info *own_bi,\n\t\t\t\t
      struct dpp_bootstrap_info *peer_bi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dpp_nfc_update_bi_channel
      Src: /src/hostap/src/common/dpp.c:4843,1
    - Dst: dpp_nfc_update_bi_key
      Src: /src/hostap/src/common/dpp.c:4844,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - own_bi
    - peer_bi
    argTypes:
    - struct dpp_bootstrap_info*
    - struct dpp_bootstrap_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4847
      start: 4840
    functionDepth: 3
    functionLinenumber: 4840
    functionLinenumberEnd: 4847
    functionName: dpp_nfc_update_bi
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 2
    functionsReached:
    - dpp_nfc_update_bi_channel
    - dpp_nfc_update_bi_key
    linkageType: ''
    returnType: int
    signature: "int dpp_nfc_update_bi(struct dpp_bootstrap_info *own_bi,\n\t\t      struct
      dpp_bootstrap_info *peer_bi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/common/dpp.c:4855,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - dpp
    argTypes:
    - struct dpp_global*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4861
      start: 4850
    functionDepth: 0
    functionLinenumber: 4850
    functionLinenumberEnd: 4861
    functionName: dpp_next_configurator_id
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int dpp_next_configurator_id(struct dpp_global *dpp)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: get_param
      Src: /src/hostap/src/common/dpp.c:4874,1
    - Dst: dpp_get_curve_name
      Src: /src/hostap/src/common/dpp.c:4876,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:4878,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp.c:4883,1
    - Dst: get_param
      Src: /src/hostap/src/common/dpp.c:4886,1
    - Dst: get_param
      Src: /src/hostap/src/common/dpp.c:4887,1
    - Dst: get_param
      Src: /src/hostap/src/common/dpp.c:4888,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/dpp.c:4891,1
    - Dst: os_malloc
      Src: /src/hostap/src/common/dpp.c:4892,1
    - Dst: hexstr2bin
      Src: /src/hostap/src/common/dpp.c:4894,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/dpp.c:4899,1
    - Dst: os_malloc
      Src: /src/hostap/src/common/dpp.c:4900,1
    - Dst: hexstr2bin
      Src: /src/hostap/src/common/dpp.c:4902,1
    - Dst: dpp_keygen_configurator
      Src: /src/hostap/src/common/dpp.c:4906,1
    - Dst: dpp_next_configurator_id
      Src: /src/hostap/src/common/dpp.c:4912,1
    - Dst: dl_list_add
      Src: /src/hostap/src/common/dpp.c:4913,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp.c:4917,1
    - Dst: str_clear_free
      Src: /src/hostap/src/common/dpp.c:4918,1
    - Dst: str_clear_free
      Src: /src/hostap/src/common/dpp.c:4919,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/common/dpp.c:4920,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/common/dpp.c:4921,1
    - Dst: dpp_configurator_free
      Src: /src/hostap/src/common/dpp.c:4922,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 2
    argNames:
    - dpp
    - cmd
    argTypes:
    - struct dpp_global*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4924
      start: 4864
    functionDepth: 3
    functionLinenumber: 4864
    functionLinenumberEnd: 4924
    functionName: dpp_configurator_add
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 0
    functionsReached:
    - dpp_get_curve_name
    - os_strlen
    - wpa_printf
    - hexstr2bin
    - os_malloc
    - get_param
    - str_clear_free
    - dl_list_add
    - dpp_configurator_free
    - os_free
    - dpp_keygen_configurator
    - dpp_next_configurator_id
    - bin_clear_free
    linkageType: ''
    returnType: int
    signature: int dpp_configurator_add(struct dpp_global *dpp, const char *cmd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/hostap/src/common/dpp.c:4933,1
    - Dst: dpp_configurator_get_id
      Src: /src/hostap/src/common/dpp.c:4934,1
    - Dst: get_param
      Src: /src/hostap/src/common/dpp.c:4938,1
    - Dst: dpp_get_curve_name
      Src: /src/hostap/src/common/dpp.c:4942,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp.c:4943,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - dpp
    - cmd
    argTypes:
    - struct dpp_global*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4950
      start: 4927
    functionDepth: 1
    functionLinenumber: 4927
    functionLinenumberEnd: 4950
    functionName: dpp_configurator_set
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 0
    functionsReached:
    - dpp_get_curve_name
    - get_param
    - dpp_configurator_get_id
    - atoi
    - os_free
    linkageType: ''
    returnType: int
    signature: int dpp_configurator_set(struct dpp_global *dpp, const char *cmd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/common/dpp.c:4961,1
    - Dst: dl_list_del
      Src: /src/hostap/src/common/dpp.c:4966,1
    - Dst: dpp_configurator_free
      Src: /src/hostap/src/common/dpp.c:4967,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - dpp
    - id
    argTypes:
    - struct dpp_global*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4973
      start: 4953
    functionDepth: 1
    functionLinenumber: 4953
    functionLinenumberEnd: 4973
    functionName: dpp_configurator_del
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 0
    functionsReached:
    - dpp_configurator_free
    - dl_list_del
    - dl_list_for_each_safe
    linkageType: ''
    returnType: int
    signature: int dpp_configurator_del(struct dpp_global *dpp, unsigned int id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/src/common/dpp.c:4980,1
    - Dst: atoi
      Src: /src/hostap/src/common/dpp.c:4983,1
    - Dst: dpp_configurator_del
      Src: /src/hostap/src/common/dpp.c:4988,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - dpp
    - id
    argTypes:
    - struct dpp_global*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4989
      start: 4976
    functionDepth: 2
    functionLinenumber: 4976
    functionLinenumberEnd: 4989
    functionName: dpp_configurator_remove
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 0
    functionsReached:
    - atoi
    - os_strcmp
    - dpp_configurator_del
    linkageType: ''
    returnType: int
    signature: int dpp_configurator_remove(struct dpp_global *dpp, const char *id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dpp_configurator_get_id
      Src: /src/hostap/src/common/dpp.c:4997,1
    - Dst: dpp_configurator_get_key
      Src: /src/hostap/src/common/dpp.c:5001,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - dpp
    - id
    - buf
    - buflen
    argTypes:
    - struct dpp_global*
    - unsigned int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5002
      start: 4992
    functionDepth: 2
    functionLinenumber: 4992
    functionLinenumberEnd: 5002
    functionName: dpp_configurator_get_key_id
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 0
    functionsReached:
    - dpp_configurator_get_id
    - dpp_configurator_get_key
    linkageType: ''
    returnType: int
    signature: "int dpp_configurator_get_key_id(struct dpp_global *dpp, unsigned int
      id,\n\t\t\t\tchar *buf, size_t buflen)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dpp_get_curve_ike_group
      Src: /src/hostap/src/common/dpp.c:5016,1
    - Dst: crypto_ec_key_group
      Src: /src/hostap/src/common/dpp.c:5016,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:5018,1
    - Dst: dpp_get_curve_ike_group
      Src: /src/hostap/src/common/dpp.c:5022,1
    - Dst: crypto_ec_key_group
      Src: /src/hostap/src/common/dpp.c:5022,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:5024,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:5029,1
    - Dst: os_zalloc
      Src: /src/hostap/src/common/dpp.c:5034,1
    - Dst: dpp_configurator_gen_kid
      Src: /src/hostap/src/common/dpp.c:5043,1
    - Dst: dpp_configurator_free
      Src: /src/hostap/src/common/dpp.c:5044,1
    - Dst: dpp_next_configurator_id
      Src: /src/hostap/src/common/dpp.c:5048,1
    - Dst: dl_list_add
      Src: /src/hostap/src/common/dpp.c:5049,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 2
    argNames:
    - dpp
    - key
    argTypes:
    - struct dpp_global*
    - struct dpp_asymmetric_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5051
      start: 5007
    functionDepth: 2
    functionLinenumber: 5007
    functionLinenumberEnd: 5051
    functionName: dpp_configurator_from_backup
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - crypto_ec_key_group
    - os_zalloc
    - dpp_configurator_free
    - dl_list_add
    - dpp_get_curve_ike_group
    - dpp_configurator_gen_kid
    - dpp_next_configurator_id
    linkageType: ''
    returnType: int
    signature: "int dpp_configurator_from_backup(struct dpp_global *dpp,\n\t\t\t\t
      struct dpp_asymmetric_key *key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/common/dpp.c:5062,1
    - Dst: os_memcmp
      Src: /src/hostap/src/common/dpp.c:5064,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - dpp
    - kid
    argTypes:
    - struct dpp_global*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5068
      start: 5054
    functionDepth: 0
    functionLinenumber: 5054
    functionLinenumberEnd: 5068
    functionName: dpp_configurator_find_kid
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 2
    functionsReached:
    - dl_list_for_each
    - os_memcmp
    linkageType: ''
    returnType: struct dpp_configurator
    signature: "struct dpp_configurator * dpp_configurator_find_kid(struct dpp_global
      *dpp,\n\t\t\t\t\t\t    const u8 *kid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/common/dpp.c:5077,1
    - Dst: dl_list_init
      Src: /src/hostap/src/common/dpp.c:5085,1
    - Dst: dl_list_init
      Src: /src/hostap/src/common/dpp.c:5086,1
    - Dst: dl_list_init
      Src: /src/hostap/src/common/dpp.c:5088,1
    - Dst: dl_list_init
      Src: /src/hostap/src/common/dpp.c:5089,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - config
    argTypes:
    - struct dpp_global_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5094
      start: 5073
    functionDepth: 1
    functionLinenumber: 5073
    functionLinenumberEnd: 5094
    functionName: dpp_global_init
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 3
    functionsReached:
    - os_zalloc
    - dl_list_init
    linkageType: ''
    returnType: struct dpp_global
    signature: struct dpp_global * dpp_global_init(struct dpp_global_config *config)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dpp_bootstrap_del
      Src: /src/hostap/src/common/dpp.c:5102,1
    - Dst: dpp_configurator_del
      Src: /src/hostap/src/common/dpp.c:5103,1
    - Dst: dpp_tcp_init_flush
      Src: /src/hostap/src/common/dpp.c:5105,1
    - Dst: dpp_relay_flush_controllers
      Src: /src/hostap/src/common/dpp.c:5106,1
    - Dst: dpp_controller_stop
      Src: /src/hostap/src/common/dpp.c:5107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - dpp
    argTypes:
    - struct dpp_global*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5109
      start: 5097
    functionDepth: 3
    functionLinenumber: 5097
    functionLinenumberEnd: 5109
    functionName: dpp_global_clear
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 2
    functionsReached:
    - dpp_configurator_del
    - dpp_controller_stop
    - dpp_bootstrap_del
    - dpp_relay_flush_controllers
    - dpp_tcp_init_flush
    linkageType: ''
    returnType: void
    signature: void dpp_global_clear(struct dpp_global *dpp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dpp_global_clear
      Src: /src/hostap/src/common/dpp.c:5114,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp.c:5115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dpp
    argTypes:
    - struct dpp_global*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5116
      start: 5112
    functionDepth: 4
    functionLinenumber: 5112
    functionLinenumberEnd: 5116
    functionName: dpp_global_deinit
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 3
    functionsReached:
    - os_free
    - dpp_global_clear
    linkageType: ''
    returnType: void
    signature: void dpp_global_deinit(struct dpp_global *dpp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dpp_get_pubkey_hash
      Src: /src/hostap/src/common/dpp.c:5125,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/common/dpp.c:5126,1
    - Dst: wpa_msg
      Src: /src/hostap/src/common/dpp.c:5130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - auth
    - initiator
    argTypes:
    - struct dpp_authentication*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5134
      start: 5119
    functionDepth: 1
    functionLinenumber: 5119
    functionLinenumberEnd: 5134
    functionName: dpp_notify_auth_success
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 4
    functionsReached:
    - wpa_snprintf_hex
    - dpp_get_pubkey_hash
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: void dpp_notify_auth_success(struct dpp_authentication *auth, int initiator)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:5143,1
    - Dst: dpp_alloc_msg
      Src: /src/hostap/src/common/dpp.c:5145,1
    - Dst: dpp_build_attr_r_bootstrap_key_hash
      Src: /src/hostap/src/common/dpp.c:5150,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/common/dpp.c:5151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - bi
    argTypes:
    - struct dpp_bootstrap_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5154
      start: 5139
    functionDepth: 2
    functionLinenumber: 5139
    functionLinenumberEnd: 5154
    functionName: dpp_build_presence_announcement
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 2
    functionsReached:
    - dpp_build_attr_r_bootstrap_key_hash
    - dpp_alloc_msg
    - wpa_printf
    - wpa_hexdump_buf
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * dpp_build_presence_announcement(struct dpp_bootstrap_info
      *bi)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/common/dpp.c:5162,1
    - Dst: wpa_msg
      Src: /src/hostap/src/common/dpp.c:5163,1
    - Dst: MAC2STR
      Src: /src/hostap/src/common/dpp.c:5165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - msg_ctx
    - id
    - src
    - freq
    - hash
    argTypes:
    - void*
    - int
    - u8*
    - unsigned int
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5166
      start: 5157
    functionDepth: 1
    functionLinenumber: 5157
    functionLinenumberEnd: 5166
    functionName: dpp_notify_chirp_received
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 2
    functionsReached:
    - MAC2STR
    - wpa_snprintf_hex
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: "void dpp_notify_chirp_received(void *msg_ctx, int id, const u8 *src,\n\t\t\t\tunsigned
      int freq, const u8 *hash)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:5181,1
    - Dst: dpp_alloc_msg
      Src: /src/hostap/src/common/dpp.c:5184,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:5191,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/dpp.c:5193,1
    - Dst: dpp_build_attr_r_bootstrap_key_hash
      Src: /src/hostap/src/common/dpp.c:5200,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/common/dpp.c:5201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - bi
    argTypes:
    - struct dpp_bootstrap_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5205
      start: 5173
    functionDepth: 2
    functionLinenumber: 5173
    functionLinenumberEnd: 5205
    functionName: dpp_build_pb_announcement
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 1
    functionsReached:
    - dpp_build_attr_r_bootstrap_key_hash
    - wpa_printf
    - os_memcpy
    - dpp_alloc_msg
    - wpa_hexdump_buf
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * dpp_build_pb_announcement(struct dpp_bootstrap_info
      *bi)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:5219,1
    - Dst: dpp_alloc_msg
      Src: /src/hostap/src/common/dpp.c:5222,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:5229,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/dpp.c:5231,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:5235,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/dpp.c:5237,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp.c:5244,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp.c:5245,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp.c:5246,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/common/dpp.c:5247,1
    - Dst: dpp_build_attr_r_bootstrap_key_hash
      Src: /src/hostap/src/common/dpp.c:5250,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp.c:5253,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp.c:5254,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/common/dpp.c:5255,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/common/dpp.c:5257,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 4
    argNames:
    - bi
    - e_hash
    - c_nonce
    - c_nonce_len
    argTypes:
    - struct dpp_bootstrap_info*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5261
      start: 5208
    functionDepth: 2
    functionLinenumber: 5208
    functionLinenumberEnd: 5261
    functionName: dpp_build_pb_announcement_resp
    functionSourceFile: /src/hostap/src/common/dpp.c
    functionUses: 2
    functionsReached:
    - dpp_build_attr_r_bootstrap_key_hash
    - wpa_printf
    - os_memcpy
    - wpabuf_put_data
    - dpp_alloc_msg
    - wpabuf_put_le16
    - wpa_hexdump_buf
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * dpp_build_pb_announcement_resp(struct dpp_bootstrap_info
      *bi,\n\t\t\t\t\t       const u8 *e_hash,\n\t\t\t\t\t       const u8 *c_nonce,\n\t\t\t\t\t
      \      size_t c_nonce_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_del
      Src: /src/hostap/src/common/ptksa_cache.c:32,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/common/ptksa_cache.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ptksa
    - entry
    argTypes:
    - struct ptksa_cache*
    - struct ptksa_cache_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 34
    functionName: ptksa_cache_free_entry
    functionSourceFile: /src/hostap/src/common/ptksa_cache.c
    functionUses: 0
    functionsReached:
    - dl_list_del
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: "void ptksa_cache_free_entry(struct ptksa_cache *ptksa,\n\t\t\t\t   struct
      ptksa_cache_entry *entry)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_get_reltime
      Src: /src/hostap/src/common/ptksa_cache.c:47,1
    - Dst: dl_list_init
      Src: /src/hostap/src/common/ptksa_cache.c:48,1
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/common/ptksa_cache.c:57,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ptksa_cache.c:62,1
    - Dst: MAC2STR
      Src: /src/hostap/src/common/ptksa_cache.c:63,1
    - Dst: dl_list_del
      Src: /src/hostap/src/common/ptksa_cache.c:65,1
    - Dst: dl_list_add_tail
      Src: /src/hostap/src/common/ptksa_cache.c:67,1
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/common/ptksa_cache.c:70,1
    - Dst: dl_list_del
      Src: /src/hostap/src/common/ptksa_cache.c:72,1
    - Dst: struct ptksa_cache_entry*::cb
      Src: /src/hostap/src/common/ptksa_cache.c:74,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/common/ptksa_cache.c:75,1
    - Dst: ptksa_cache_set_expiration
      Src: /src/hostap/src/common/ptksa_cache.c:78,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 79
    functionName: ptksa_cache_expire
    functionSourceFile: /src/hostap/src/common/ptksa_cache.c
    functionUses: 0
    functionsReached:
    - struct ptksa_cache_entry*::cb
    - os_get_reltime
    - wpa_printf
    - dl_list_del
    - dl_list_add_tail
    - ptksa_cache_set_expiration
    - bin_clear_free
    - MAC2STR
    - dl_list_init
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: void ptksa_cache_expire(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/common/ptksa_cache.c:88,1
    - Dst: dl_list_first
      Src: /src/hostap/src/common/ptksa_cache.c:93,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/common/ptksa_cache.c:97,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/common/ptksa_cache.c:102,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - ptksa
    argTypes:
    - struct ptksa_cache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 103
    functionName: ptksa_cache_set_expiration
    functionSourceFile: /src/hostap/src/common/ptksa_cache.c
    functionUses: 1
    functionsReached:
    - eloop_cancel_timeout
    - os_get_reltime
    - dl_list_first
    - eloop_register_timeout
    linkageType: ''
    returnType: void
    signature: void ptksa_cache_set_expiration(struct ptksa_cache *ptksa)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/common/ptksa_cache.c:113,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ptksa_cache.c:115,1
    - Dst: dl_list_init
      Src: /src/hostap/src/common/ptksa_cache.c:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 121
    functionName: ptksa_cache_init
    functionSourceFile: /src/hostap/src/common/ptksa_cache.c
    functionUses: 2
    functionsReached:
    - os_zalloc
    - wpa_printf
    - dl_list_init
    linkageType: ''
    returnType: struct ptksa_cache
    signature: struct ptksa_cache * ptksa_cache_init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ptksa_cache.c:135,1
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/common/ptksa_cache.c:137,1
    - Dst: ptksa_cache_free_entry
      Src: /src/hostap/src/common/ptksa_cache.c:139,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/common/ptksa_cache.c:141,1
    - Dst: os_free
      Src: /src/hostap/src/common/ptksa_cache.c:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ptksa
    argTypes:
    - struct ptksa_cache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 143
    functionName: ptksa_cache_deinit
    functionSourceFile: /src/hostap/src/common/ptksa_cache.c
    functionUses: 3
    functionsReached:
    - wpa_printf
    - eloop_cancel_timeout
    - ptksa_cache_free_entry
    - os_free
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: void ptksa_cache_deinit(struct ptksa_cache *ptksa)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/common/ptksa_cache.c:161,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/common/ptksa_cache.c:162,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - ptksa
    - addr
    - cipher
    argTypes:
    - struct ptksa_cache*
    - u8*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 168
    functionName: ptksa_cache_get
    functionSourceFile: /src/hostap/src/common/ptksa_cache.c
    functionUses: 9
    functionsReached:
    - dl_list_for_each
    - ether_addr_equal
    linkageType: ''
    returnType: struct ptksa_cache_entry
    signature: "struct ptksa_cache_entry * ptksa_cache_get(struct ptksa_cache *ptksa,\n\t\t\t\t\t
      \  const u8 *addr, u32 cipher)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: os_get_reltime
      Src: /src/hostap/src/common/ptksa_cache.c:191,1
    - Dst: os_snprintf
      Src: /src/hostap/src/common/ptksa_cache.c:193,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/common/ptksa_cache.c:195,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/common/ptksa_cache.c:199,1
    - Dst: os_snprintf
      Src: /src/hostap/src/common/ptksa_cache.c:200,1
    - Dst: MAC2STR
      Src: /src/hostap/src/common/ptksa_cache.c:201,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/common/ptksa_cache.c:202,1
    - Dst: os_snprintf
      Src: /src/hostap/src/common/ptksa_cache.c:206,1
    - Dst: wpa_cipher_txt
      Src: /src/hostap/src/common/ptksa_cache.c:207,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/common/ptksa_cache.c:209,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/common/ptksa_cache.c:213,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/common/ptksa_cache.c:215,1
    - Dst: os_snprintf
      Src: /src/hostap/src/common/ptksa_cache.c:219,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/common/ptksa_cache.c:220,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/common/ptksa_cache.c:224,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/common/ptksa_cache.c:226,1
    - Dst: os_snprintf
      Src: /src/hostap/src/common/ptksa_cache.c:230,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/common/ptksa_cache.c:231,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 3
    argNames:
    - ptksa
    - buf
    - len
    argTypes:
    - struct ptksa_cache*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 239
    functionName: ptksa_cache_list
    functionSourceFile: /src/hostap/src/common/ptksa_cache.c
    functionUses: 0
    functionsReached:
    - os_get_reltime
    - wpa_snprintf_hex
    - os_snprintf
    - MAC2STR
    - dl_list_for_each
    - wpa_cipher_txt
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: int ptksa_cache_list(struct ptksa_cache *ptksa, char *buf, size_t len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/common/ptksa_cache.c:257,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/common/ptksa_cache.c:259,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ptksa_cache.c:261,1
    - Dst: MAC2STR
      Src: /src/hostap/src/common/ptksa_cache.c:263,1
    - Dst: ptksa_cache_free_entry
      Src: /src/hostap/src/common/ptksa_cache.c:265,1
    - Dst: ptksa_cache_set_expiration
      Src: /src/hostap/src/common/ptksa_cache.c:271,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - ptksa
    - addr
    - cipher
    argTypes:
    - struct ptksa_cache*
    - u8*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 249
    functionDepth: 2
    functionLinenumber: 249
    functionLinenumberEnd: 272
    functionName: ptksa_cache_flush
    functionSourceFile: /src/hostap/src/common/ptksa_cache.c
    functionUses: 9
    functionsReached:
    - wpa_printf
    - ether_addr_equal
    - ptksa_cache_set_expiration
    - MAC2STR
    - ptksa_cache_free_entry
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: void ptksa_cache_flush(struct ptksa_cache *ptksa, const u8 *addr, u32
      cipher)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ptksa_cache_flush
      Src: /src/hostap/src/common/ptksa_cache.c:310,1
    - Dst: os_zalloc
      Src: /src/hostap/src/common/ptksa_cache.c:316,1
    - Dst: dl_list_init
      Src: /src/hostap/src/common/ptksa_cache.c:320,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/ptksa_cache.c:321,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/ptksa_cache.c:329,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/ptksa_cache.c:331,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/common/ptksa_cache.c:333,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/common/ptksa_cache.c:336,1
    - Dst: dl_list_empty
      Src: /src/hostap/src/common/ptksa_cache.c:343,1
    - Dst: dl_list_add
      Src: /src/hostap/src/common/ptksa_cache.c:351,1
    - Dst: dl_list_add_tail
      Src: /src/hostap/src/common/ptksa_cache.c:353,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ptksa_cache.c:356,1
    - Dst: MAC2STR
      Src: /src/hostap/src/common/ptksa_cache.c:358,1
    - Dst: ptksa_cache_set_expiration
      Src: /src/hostap/src/common/ptksa_cache.c:361,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 9
    argNames:
    - ptksa
    - own_addr
    - addr
    - cipher
    - life_time
    - ptk
    - ctx
    - akmp
    - auth_alg
    argTypes:
    - struct ptksa_cache*
    - u8*
    - u8*
    - u32
    - u32
    - struct wpa_ptk*
    - void*
    - u32
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 293
    functionDepth: 3
    functionLinenumber: 293
    functionLinenumberEnd: 364
    functionName: ptksa_cache_add
    functionSourceFile: /src/hostap/src/common/ptksa_cache.c
    functionUses: 6
    functionsReached:
    - os_memcpy
    - os_get_reltime
    - wpa_printf
    - dl_list_empty
    - dl_list_add_tail
    - ptksa_cache_set_expiration
    - dl_list_for_each
    - MAC2STR
    - os_zalloc
    - dl_list_add
    - dl_list_init
    - ptksa_cache_flush
    linkageType: ''
    returnType: struct ptksa_cache_entry
    signature: "struct ptksa_cache_entry * ptksa_cache_add(struct ptksa_cache *ptksa,\n\t\t\t\t\t
      \  const u8 *own_addr,\n\t\t\t\t\t   const u8 *addr, u32 cipher,\n\t\t\t\t\t
      \  u32 life_time,\n\t\t\t\t\t   const struct wpa_ptk *ptk,\n\t\t\t\t\t   void
      (*life_time_expiry_cb)\n\t\t\t\t\t   (struct ptksa_cache_entry *e),\n\t\t\t\t\t
      \  void *ctx, u32 akmp, u16 auth_alg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 371
    functionName: ptksa_cache_init
    functionSourceFile: /src/hostap/src/common/ptksa_cache.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: struct ptksa_cache
    signature: struct ptksa_cache * ptksa_cache_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ptksa
    argTypes:
    - struct ptksa_cache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 376
    functionName: ptksa_cache_deinit
    functionSourceFile: /src/hostap/src/common/ptksa_cache.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ptksa_cache_deinit(struct ptksa_cache *ptksa)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ptksa
    - addr
    - cipher
    argTypes:
    - struct ptksa_cache*
    - u8*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 383
    functionName: ptksa_cache_get
    functionSourceFile: /src/hostap/src/common/ptksa_cache.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: struct ptksa_cache_entry
    signature: 'struct ptksa_cache_entry *

      ptksa_cache_get(struct ptksa_cache *ptksa, const u8 *addr, u32 cipher)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ptksa
    - buf
    - len
    argTypes:
    - struct ptksa_cache*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 389
    functionName: ptksa_cache_list
    functionSourceFile: /src/hostap/src/common/ptksa_cache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ptksa_cache_list(struct ptksa_cache *ptksa, char *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - ptksa
    - own_addr
    - addr
    - cipher
    - life_time
    - ptk
    - ctx
    - akmp
    - auth_alg
    argTypes:
    - struct ptksa_cache*
    - u8*
    - u8*
    - u32
    - u32
    - struct wpa_ptk*
    - void*
    - u32
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 399
    functionName: ptksa_cache_add
    functionSourceFile: /src/hostap/src/common/ptksa_cache.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: struct ptksa_cache_entry
    signature: "struct ptksa_cache_entry *\nptksa_cache_add(struct ptksa_cache *ptksa,
      const u8 *own_addr, const u8 *addr,\n\t\tu32 cipher, u32 life_time, const struct
      wpa_ptk *ptk,\n\t\tvoid (*cb)(struct ptksa_cache_entry *e), void *ctx, u32 akmp,\n\t\tu16
      auth_alg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ptksa
    - addr
    - cipher
    argTypes:
    - struct ptksa_cache*
    - u8*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 404
    functionName: ptksa_cache_flush
    functionSourceFile: /src/hostap/src/common/ptksa_cache.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ptksa_cache_flush(struct ptksa_cache *ptksa, const u8 *addr, u32
      cipher)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/src/common/wpa_helpers.c:27,1
    - Dst: wpa_ctrl_open
      Src: /src/hostap/src/common/wpa_helpers.c:28,1
    - Dst: printf
      Src: /src/hostap/src/common/wpa_helpers.c:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ifname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 32
    functionName: wpa_open_ctrl
    functionSourceFile: /src/hostap/src/common/wpa_helpers.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - printf
    - wpa_ctrl_open
    linkageType: ''
    returnType: struct wpa_ctrl
    signature: struct wpa_ctrl * wpa_open_ctrl(const char *ifname)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/src/common/wpa_helpers.c:41,1
    - Dst: wpa_open_ctrl
      Src: /src/hostap/src/common/wpa_helpers.c:42,1
    - Dst: wpa_ctrl_request
      Src: /src/hostap/src/common/wpa_helpers.c:46,1
    - Dst: strlen
      Src: /src/hostap/src/common/wpa_helpers.c:46,1
    - Dst: printf
      Src: /src/hostap/src/common/wpa_helpers.c:47,1
    - Dst: wpa_ctrl_close
      Src: /src/hostap/src/common/wpa_helpers.c:48,1
    - Dst: wpa_ctrl_close
      Src: /src/hostap/src/common/wpa_helpers.c:51,1
    - Dst: strncmp
      Src: /src/hostap/src/common/wpa_helpers.c:53,1
    - Dst: printf
      Src: /src/hostap/src/common/wpa_helpers.c:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - ifname
    - cmd
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 58
    functionName: wpa_command
    functionSourceFile: /src/hostap/src/common/wpa_helpers.c
    functionUses: 1
    functionsReached:
    - strncmp
    - wpa_ctrl_close
    - wpa_ctrl_request
    - printf
    - strlen
    - wpa_open_ctrl
    linkageType: ''
    returnType: int
    signature: int wpa_command(const char *ifname, const char *cmd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/src/common/wpa_helpers.c:67,1
    - Dst: wpa_open_ctrl
      Src: /src/hostap/src/common/wpa_helpers.c:68,1
    - Dst: wpa_ctrl_request
      Src: /src/hostap/src/common/wpa_helpers.c:72,1
    - Dst: strlen
      Src: /src/hostap/src/common/wpa_helpers.c:72,1
    - Dst: printf
      Src: /src/hostap/src/common/wpa_helpers.c:73,1
    - Dst: wpa_ctrl_close
      Src: /src/hostap/src/common/wpa_helpers.c:74,1
    - Dst: wpa_ctrl_close
      Src: /src/hostap/src/common/wpa_helpers.c:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - ifname
    - cmd
    - resp
    - resp_size
    argTypes:
    - char*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 80
    functionName: wpa_command_resp
    functionSourceFile: /src/hostap/src/common/wpa_helpers.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_close
    - wpa_ctrl_request
    - printf
    - strlen
    - wpa_open_ctrl
    linkageType: ''
    returnType: int
    signature: "int wpa_command_resp(const char *ifname, const char *cmd,\n\t\t     char
      *resp, size_t resp_size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_open_ctrl
      Src: /src/hostap/src/common/wpa_helpers.c:87,1
    - Dst: wpa_ctrl_attach
      Src: /src/hostap/src/common/wpa_helpers.c:90,1
    - Dst: wpa_ctrl_close
      Src: /src/hostap/src/common/wpa_helpers.c:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ifname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 96
    functionName: open_wpa_mon
    functionSourceFile: /src/hostap/src/common/wpa_helpers.c
    functionUses: 0
    functionsReached:
    - wpa_ctrl_close
    - wpa_ctrl_attach
    - wpa_open_ctrl
    linkageType: ''
    returnType: struct wpa_ctrl
    signature: struct wpa_ctrl * open_wpa_mon(const char *ifname)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/src/common/wpa_helpers.c:109,1
    - Dst: wpa_ctrl_get_fd
      Src: /src/hostap/src/common/wpa_helpers.c:110,1
    - Dst: time
      Src: /src/hostap/src/common/wpa_helpers.c:114,1
    - Dst: FD_ZERO
      Src: /src/hostap/src/common/wpa_helpers.c:118,1
    - Dst: FD_SET
      Src: /src/hostap/src/common/wpa_helpers.c:119,1
    - Dst: select
      Src: /src/hostap/src/common/wpa_helpers.c:122,1
    - Dst: printf
      Src: /src/hostap/src/common/wpa_helpers.c:124,1
    - Dst: printf
      Src: /src/hostap/src/common/wpa_helpers.c:128,1
    - Dst: strerror
      Src: /src/hostap/src/common/wpa_helpers.c:128,1
    - Dst: wpa_ctrl_recv
      Src: /src/hostap/src/common/wpa_helpers.c:132,1
    - Dst: printf
      Src: /src/hostap/src/common/wpa_helpers.c:133,1
    - Dst: strchr
      Src: /src/hostap/src/common/wpa_helpers.c:140,1
    - Dst: strncmp
      Src: /src/hostap/src/common/wpa_helpers.c:142,1
    - Dst: strlen
      Src: /src/hostap/src/common/wpa_helpers.c:142,1
    - Dst: strncmp
      Src: /src/hostap/src/common/wpa_helpers.c:144,1
    - Dst: strlen
      Src: /src/hostap/src/common/wpa_helpers.c:144,1
    - Dst: time
      Src: /src/hostap/src/common/wpa_helpers.c:147,1
    - Dst: printf
      Src: /src/hostap/src/common/wpa_helpers.c:149,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 5
    argNames:
    - mon
    - event
    - event2
    - buf
    - buf_size
    argTypes:
    - struct wpa_ctrl*
    - char*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 153
    functionName: get_wpa_cli_event2
    functionSourceFile: /src/hostap/src/common/wpa_helpers.c
    functionUses: 0
    functionsReached:
    - strncmp
    - select
    - FD_ZERO
    - wpa_ctrl_get_fd
    - strerror
    - time
    - printf
    - wpa_ctrl_recv
    - strchr
    - FD_SET
    - strlen
    linkageType: ''
    returnType: int
    signature: "int get_wpa_cli_event2(struct wpa_ctrl *mon,\n\t\t       const char
      *event, const char *event2,\n\t\t       char *buf, size_t buf_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_wpa_cli_event2
      Src: /src/hostap/src/common/wpa_helpers.c:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - mon
    - event
    - buf
    - buf_size
    argTypes:
    - struct wpa_ctrl*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: get_wpa_cli_event
    functionSourceFile: /src/hostap/src/common/wpa_helpers.c
    functionUses: 0
    functionsReached:
    - get_wpa_cli_event2
    linkageType: ''
    returnType: int
    signature: "int get_wpa_cli_event(struct wpa_ctrl *mon,\n\t\t      const char
      *event, char *buf, size_t buf_size)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_open_ctrl
      Src: /src/hostap/src/common/wpa_helpers.c:171,1
    - Dst: wpa_ctrl_request
      Src: /src/hostap/src/common/wpa_helpers.c:175,1
    - Dst: wpa_ctrl_close
      Src: /src/hostap/src/common/wpa_helpers.c:177,1
    - Dst: wpa_ctrl_close
      Src: /src/hostap/src/common/wpa_helpers.c:180,1
    - Dst: strlen
      Src: /src/hostap/src/common/wpa_helpers.c:183,1
    - Dst: strncmp
      Src: /src/hostap/src/common/wpa_helpers.c:193,1
    - Dst: strchr
      Src: /src/hostap/src/common/wpa_helpers.c:198,1
    - Dst: memcpy
      Src: /src/hostap/src/common/wpa_helpers.c:204,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 4
    argNames:
    - ifname
    - field
    - obuf
    - obuf_size
    argTypes:
    - char*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 209
    functionName: get_wpa_status
    functionSourceFile: /src/hostap/src/common/wpa_helpers.c
    functionUses: 0
    functionsReached:
    - strncmp
    - wpa_ctrl_close
    - wpa_ctrl_request
    - memcpy
    - strchr
    - strlen
    - wpa_open_ctrl
    linkageType: ''
    returnType: int
    signature: "int get_wpa_status(const char *ifname, const char *field, char *obuf,\n\t\t
      \  size_t obuf_size)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/src/common/wpa_helpers.c:219,1
    - Dst: get_wpa_status
      Src: /src/hostap/src/common/wpa_helpers.c:222,1
    - Dst: strlen
      Src: /src/hostap/src/common/wpa_helpers.c:223,1
    - Dst: printf
      Src: /src/hostap/src/common/wpa_helpers.c:224,1
    - Dst: strncmp
      Src: /src/hostap/src/common/wpa_helpers.c:225,1
    - Dst: wpa_open_ctrl
      Src: /src/hostap/src/common/wpa_helpers.c:228,1
    - Dst: wpa_ctrl_close
      Src: /src/hostap/src/common/wpa_helpers.c:231,1
    - Dst: sleep
      Src: /src/hostap/src/common/wpa_helpers.c:232,1
    - Dst: printf
      Src: /src/hostap/src/common/wpa_helpers.c:234,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - ifname
    - timeout
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 212
    functionDepth: 3
    functionLinenumber: 212
    functionLinenumberEnd: 237
    functionName: wait_ip_addr
    functionSourceFile: /src/hostap/src/common/wpa_helpers.c
    functionUses: 0
    functionsReached:
    - strncmp
    - wpa_ctrl_close
    - sleep
    - get_wpa_status
    - printf
    - strlen
    - wpa_open_ctrl
    linkageType: ''
    returnType: int
    signature: int wait_ip_addr(const char *ifname, int timeout)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_command_resp
      Src: /src/hostap/src/common/wpa_helpers.c:244,1
    - Dst: atoi
      Src: /src/hostap/src/common/wpa_helpers.c:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ifname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 240
    functionDepth: 3
    functionLinenumber: 240
    functionLinenumberEnd: 247
    functionName: add_network
    functionSourceFile: /src/hostap/src/common/wpa_helpers.c
    functionUses: 19
    functionsReached:
    - atoi
    - wpa_command_resp
    linkageType: ''
    returnType: int
    signature: int add_network(const char *ifname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/hostap/src/common/wpa_helpers.c:254,1
    - Dst: wpa_command
      Src: /src/hostap/src/common/wpa_helpers.c:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ifname
    - id
    - field
    - value
    argTypes:
    - char*
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 250
    functionDepth: 3
    functionLinenumber: 250
    functionLinenumberEnd: 256
    functionName: set_network
    functionSourceFile: /src/hostap/src/common/wpa_helpers.c
    functionUses: 0
    functionsReached:
    - snprintf
    - wpa_command
    linkageType: ''
    returnType: int
    signature: "int set_network(const char *ifname, int id, const char *field,\n\t\tconst
      char *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/hostap/src/common/wpa_helpers.c:263,1
    - Dst: wpa_command
      Src: /src/hostap/src/common/wpa_helpers.c:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ifname
    - id
    - field
    - value
    argTypes:
    - char*
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 259
    functionDepth: 3
    functionLinenumber: 259
    functionLinenumberEnd: 266
    functionName: set_network_quoted
    functionSourceFile: /src/hostap/src/common/wpa_helpers.c
    functionUses: 0
    functionsReached:
    - snprintf
    - wpa_command
    linkageType: ''
    returnType: int
    signature: "int set_network_quoted(const char *ifname, int id, const char *field,\n\t\t
      \      const char *value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_command_resp
      Src: /src/hostap/src/common/wpa_helpers.c:273,1
    - Dst: atoi
      Src: /src/hostap/src/common/wpa_helpers.c:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ifname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 269
    functionDepth: 3
    functionLinenumber: 269
    functionLinenumberEnd: 276
    functionName: add_cred
    functionSourceFile: /src/hostap/src/common/wpa_helpers.c
    functionUses: 3
    functionsReached:
    - atoi
    - wpa_command_resp
    linkageType: ''
    returnType: int
    signature: int add_cred(const char *ifname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/hostap/src/common/wpa_helpers.c:282,1
    - Dst: wpa_command
      Src: /src/hostap/src/common/wpa_helpers.c:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ifname
    - id
    - field
    - value
    argTypes:
    - char*
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 279
    functionDepth: 3
    functionLinenumber: 279
    functionLinenumberEnd: 284
    functionName: set_cred
    functionSourceFile: /src/hostap/src/common/wpa_helpers.c
    functionUses: 13
    functionsReached:
    - snprintf
    - wpa_command
    linkageType: ''
    returnType: int
    signature: int set_cred(const char *ifname, int id, const char *field, const char
      *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/hostap/src/common/wpa_helpers.c:291,1
    - Dst: wpa_command
      Src: /src/hostap/src/common/wpa_helpers.c:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ifname
    - id
    - field
    - value
    argTypes:
    - char*
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 287
    functionDepth: 3
    functionLinenumber: 287
    functionLinenumberEnd: 294
    functionName: set_cred_quoted
    functionSourceFile: /src/hostap/src/common/wpa_helpers.c
    functionUses: 12
    functionsReached:
    - snprintf
    - wpa_command
    linkageType: ''
    returnType: int
    signature: "int set_cred_quoted(const char *ifname, int id, const char *field,\n\t\t
      \   const char *value)"
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:31,1
    - Dst: WPA_GET_BE24
      Src: /src/hostap/src/common/ieee802_11_common.c:38,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:53,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:76,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:89,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:156,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:179,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:203,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:218,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:226,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 153
    argCount: 4
    argNames:
    - pos
    - elen
    - elems
    - show_errors
    argTypes:
    - u8*
    - size_t
    - struct ieee802_11_elems*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 234
    functionName: ieee802_11_parse_vendor_specific
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 0
    functionsReached:
    - WPA_GET_BE24
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int ieee802_11_parse_vendor_specific(const u8 *pos, size_t elen,\n\t\t\t\t\t
      \   struct ieee802_11_elems *elems,\n\t\t\t\t\t    int show_errors)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:271,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 5
    argNames:
    - pos
    - elen
    - total_len
    - elems
    - show_errors
    argTypes:
    - u8*
    - size_t
    - size_t**
    - struct ieee802_11_elems*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 279
    functionName: ieee802_11_parse_mle
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int ieee802_11_parse_mle(const u8 *pos, size_t elen, size_t **total_len,\n\t\t\t\tstruct
      ieee802_11_elems *elems,\n\t\t\t\tint show_errors)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - elems
    - start
    - len
    argTypes:
    - struct ieee802_11_elems*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 297
    functionName: ieee802_11_fragments_length
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t ieee802_11_fragments_length(struct ieee802_11_elems *elems,\n\t\t\t\t\t
      \ const u8 *start, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 294
    functionName: for_each_element
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void for_each_element(elem, start, len)
  - BBCount: 51
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:310,1
    - Dst: ieee802_11_parse_mle
      Src: /src/hostap/src/common/ieee802_11_common.c:431,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:465,1
    - Dst: ieee802_11_fragments_length
      Src: /src/hostap/src/common/ieee802_11_common.c:473,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 161
    argCount: 6
    argNames:
    - pos
    - elen
    - elems
    - start
    - len
    - show_errors
    argTypes:
    - u8*
    - size_t
    - struct ieee802_11_elems*
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 477
    functionName: ieee802_11_parse_extension
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 0
    functionsReached:
    - ieee802_11_parse_mle
    - wpa_printf
    - ieee802_11_fragments_length
    linkageType: ''
    returnType: int
    signature: "int ieee802_11_parse_extension(const u8 *pos, size_t elen,\n\t\t\t\t
      \     struct ieee802_11_elems *elems,\n\t\t\t\t      const u8 *start, size_t
      len,\n\t\t\t\t      int show_errors)"
  - BBCount: 76
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:504,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:510,1
    - Dst: ieee802_11_parse_vendor_specific
      Src: /src/hostap/src/common/ieee802_11_common.c:543,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:665,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:716,1
    - Dst: ieee802_11_parse_extension
      Src: /src/hostap/src/common/ieee802_11_common.c:721,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:729,1
    - Dst: ieee802_11_fragments_length
      Src: /src/hostap/src/common/ieee802_11_common.c:736,1
    - Dst: for_each_element_completed
      Src: /src/hostap/src/common/ieee802_11_common.c:742,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:744,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/ieee802_11_common.c:747,1
    CyclomaticComplexity: 102
    EdgeCount: 102
    ICount: 240
    argCount: 4
    argNames:
    - start
    - len
    - elems
    - show_errors
    argTypes:
    - u8*
    - size_t
    - struct ieee802_11_elems*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 480
    functionDepth: 2
    functionLinenumber: 480
    functionLinenumberEnd: 754
    functionName: __ieee802_11_parse_elems
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    - ieee802_11_parse_vendor_specific
    - ieee802_11_fragments_length
    - ieee802_11_parse_extension
    - for_each_element_completed
    linkageType: ''
    returnType: ParseRes
    signature: "ParseRes __ieee802_11_parse_elems(const u8 *start, size_t len,\n\t\t\t\t\t
      struct ieee802_11_elems *elems,\n\t\t\t\t\t int show_errors)"
  - BBCount: 73
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:504,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:510,1
    - Dst: ieee802_11_parse_vendor_specific
      Src: /src/hostap/src/common/ieee802_11_common.c:543,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:665,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:716,1
    - Dst: ieee802_11_parse_extension
      Src: /src/hostap/src/common/ieee802_11_common.c:721,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:729,1
    - Dst: ieee802_11_fragments_length
      Src: /src/hostap/src/common/ieee802_11_common.c:736,1
    CyclomaticComplexity: 99
    EdgeCount: 99
    ICount: 227
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 490
    functionDepth: 2
    functionLinenumber: 490
    functionLinenumberEnd: 740
    functionName: for_each_element
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 2
    functionsReached:
    - ieee802_11_parse_extension
    - wpa_printf
    - ieee802_11_parse_vendor_specific
    - ieee802_11_fragments_length
    linkageType: ''
    returnType: void
    signature: void for_each_element(elem, start, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/common/ieee802_11_common.c:769,1
    - Dst: __ieee802_11_parse_elems
      Src: /src/hostap/src/common/ieee802_11_common.c:771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - start
    - len
    - elems
    - show_errors
    argTypes:
    - u8*
    - size_t
    - struct ieee802_11_elems*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 765
    functionDepth: 3
    functionLinenumber: 765
    functionLinenumberEnd: 772
    functionName: ieee802_11_parse_elems
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 78
    functionsReached:
    - __ieee802_11_parse_elems
    - os_memset
    linkageType: ''
    returnType: ParseRes
    signature: "ParseRes ieee802_11_parse_elems(const u8 *start, size_t len,\n\t\t\t\tstruct
      ieee802_11_elems *elems,\n\t\t\t\tint show_errors)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __ieee802_11_parse_elems
      Src: /src/hostap/src/common/ieee802_11_common.c:778,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - start
    - len
    - elems
    argTypes:
    - u8*
    - size_t
    - struct ieee802_11_elems*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 775
    functionDepth: 3
    functionLinenumber: 775
    functionLinenumberEnd: 779
    functionName: ieee802_11_parse_elems_ctrl
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 1
    functionsReached:
    - __ieee802_11_parse_elems
    linkageType: ''
    returnType: ParseRes
    signature: "ParseRes ieee802_11_parse_elems_ctrl(const u8 *start, size_t len,\n\t\t\t\t
      \    struct ieee802_11_elems *elems)"
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/common/ieee802_11_common.c:901,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 141
    argCount: 3
    argNames:
    - elems
    - ids
    - num
    argTypes:
    - struct ieee802_11_elems*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 932
    functionName: ieee802_11_elems_clear_ids
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 0
    functionsReached:
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void ieee802_11_elems_clear_ids(struct ieee802_11_elems *elems,\n\t\t\t\tconst
      u8 *ids, size_t num)"
  - BBCount: 24
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 101
    argCount: 3
    argNames:
    - elems
    - ids
    - num
    argTypes:
    - struct ieee802_11_elems*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1047
      start: 941
    functionDepth: 0
    functionLinenumber: 941
    functionLinenumberEnd: 1047
    functionName: ieee802_11_elems_clear_ext_ids
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ieee802_11_elems_clear_ext_ids(struct ieee802_11_elems *elems,\n\t\t\t\t
      \   const u8 *ids, size_t num)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/ieee802_11_common.c:1060,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/ieee802_11_common.c:1061,1
    - Dst: le_to_host16
      Src: /src/hostap/src/common/ieee802_11_common.c:1070,1
    - Dst: ieee802_11_defrag_mle_subelem
      Src: /src/hostap/src/common/ieee802_11_common.c:1085,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:1088,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:1096,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:1102,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:1116,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/common/ieee802_11_common.c:1122,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:1133,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:1144,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:1158,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/common/ieee802_11_common.c:1163,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:1165,1
    - Dst: get_ie_ext
      Src: /src/hostap/src/common/ieee802_11_common.c:1175,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:1194,1
    - Dst: ieee802_11_elems_clear_ids
      Src: /src/hostap/src/common/ieee802_11_common.c:1199,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:1208,1
    - Dst: ieee802_11_elems_clear_ext_ids
      Src: /src/hostap/src/common/ieee802_11_common.c:1213,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:1217,1
    - Dst: __ieee802_11_parse_elems
      Src: /src/hostap/src/common/ieee802_11_common.c:1221,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 113
    argCount: 5
    argNames:
    - elems
    - mlbuf
    - link_id
    - show_errors
    - is_assoc_resp
    argTypes:
    - struct ieee802_11_elems*
    - struct wpabuf*
    - u8
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1230
      start: 1050
    functionDepth: 3
    functionLinenumber: 1050
    functionLinenumberEnd: 1230
    functionName: ieee802_11_parse_link_profile
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - __ieee802_11_parse_elems
    - ieee802_11_elems_clear_ext_ids
    - wpabuf_len
    - WPA_GET_LE16
    - wpabuf_head
    - get_ie_ext
    - ieee802_11_defrag_mle_subelem
    - le_to_host16
    - ieee802_11_elems_clear_ids
    linkageType: ''
    returnType: ParseRes
    signature: "ParseRes ieee802_11_parse_link_profile(struct ieee802_11_elems *elems,\n\t\t\t\t\t
      \     struct wpabuf *mlbuf,\n\t\t\t\t\t      u8 link_id, bool show_errors,\n\t\t\t\t\t
      \     bool is_assoc_resp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_11_parse_link_profile
      Src: /src/hostap/src/common/ieee802_11_common.c:1237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - elems
    - mlbuf
    - link_id
    - show_errors
    argTypes:
    - struct ieee802_11_elems*
    - struct wpabuf*
    - u8
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1239
      start: 1233
    functionDepth: 4
    functionLinenumber: 1233
    functionLinenumberEnd: 1239
    functionName: ieee802_11_parse_link_assoc_req
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 2
    functionsReached:
    - ieee802_11_parse_link_profile
    linkageType: ''
    returnType: ParseRes
    signature: "ParseRes ieee802_11_parse_link_assoc_req(struct ieee802_11_elems *elems,\n\t\t\t\t\t
      struct wpabuf *mlbuf,\n\t\t\t\t\t u8 link_id, bool show_errors)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_11_parse_link_profile
      Src: /src/hostap/src/common/ieee802_11_common.c:1248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - elems
    - mlbuf
    - link_id
    - show_errors
    argTypes:
    - struct ieee802_11_elems*
    - struct wpabuf*
    - u8
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1250
      start: 1242
    functionDepth: 4
    functionLinenumber: 1242
    functionLinenumberEnd: 1250
    functionName: ieee802_11_parse_link_assoc_resp
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 1
    functionsReached:
    - ieee802_11_parse_link_profile
    linkageType: ''
    returnType: ParseRes
    signature: "ParseRes ieee802_11_parse_link_assoc_resp(struct ieee802_11_elems
      *elems,\n\t\t\t\t  struct wpabuf *mlbuf,\n\t\t\t\t\t  u8 link_id, bool show_errors)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: for_each_element
      Src: /src/hostap/src/common/ieee802_11_common.c:1261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ies
    - ies_len
    argTypes:
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1253
    functionDepth: 0
    functionLinenumber: 1253
    functionLinenumberEnd: 1265
    functionName: ieee802_11_ie_count
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 5
    functionsReached:
    - for_each_element
    linkageType: ''
    returnType: int
    signature: int ieee802_11_ie_count(const u8 *ies, size_t ies_len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/common/ieee802_11_common.c:1276,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/common/ieee802_11_common.c:1285,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/common/ieee802_11_common.c:1294,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/common/ieee802_11_common.c:1295,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - ies
    - ies_len
    - oui_type
    argTypes:
    - u8*
    - size_t
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1299
      start: 1268
    functionDepth: 1
    functionLinenumber: 1268
    functionLinenumberEnd: 1299
    functionName: ieee802_11_vendor_ie_concat
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 10
    functionsReached:
    - wpabuf_alloc
    - WPA_GET_BE32
    - wpabuf_put_data
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * ieee802_11_vendor_ie_concat(const u8 *ies, size_t
      ies_len,\n\t\t\t\t\t    u32 oui_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/common/ieee802_11_common.c:1276,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1274
    functionDepth: 1
    functionLinenumber: 1274
    functionLinenumberEnd: 1280
    functionName: for_each_element_id
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 7
    functionsReached:
    - WPA_GET_BE32
    linkageType: ''
    returnType: void
    signature: void for_each_element_id(elem, WLAN_EID_VENDOR_SPECIFIC, ies, ies_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/common/ieee802_11_common.c:1294,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/common/ieee802_11_common.c:1295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1296
      start: 1293
    functionDepth: 1
    functionLinenumber: 1293
    functionLinenumberEnd: 1296
    functionName: for_each_element_id
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 7
    functionsReached:
    - WPA_GET_BE32
    - wpabuf_put_data
    linkageType: ''
    returnType: void
    signature: void for_each_element_id(elem, WLAN_EID_VENDOR_SPECIFIC, ies, ies_len)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: le_to_host16
      Src: /src/hostap/src/common/ieee802_11_common.c:1313,1
    - Dst: WLAN_FC_GET_TYPE
      Src: /src/hostap/src/common/ieee802_11_common.c:1314,1
    - Dst: WLAN_FC_GET_STYPE
      Src: /src/hostap/src/common/ieee802_11_common.c:1315,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 2
    argNames:
    - hdr
    - len
    argTypes:
    - struct ieee80211_hdr*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1339
      start: 1302
    functionDepth: 1
    functionLinenumber: 1302
    functionLinenumberEnd: 1339
    functionName: get_hdr_bssid
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 2
    functionsReached:
    - le_to_host16
    - WLAN_FC_GET_TYPE
    - WLAN_FC_GET_STYPE
    linkageType: ''
    returnType: u8
    signature: u8 * get_hdr_bssid(const struct ieee80211_hdr *hdr, size_t len)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: os_strncmp
      Src: /src/hostap/src/common/ieee802_11_common.c:1351,1
    - Dst: os_strncmp
      Src: /src/hostap/src/common/ieee802_11_common.c:1354,1
    - Dst: os_strncmp
      Src: /src/hostap/src/common/ieee802_11_common.c:1357,1
    - Dst: os_strncmp
      Src: /src/hostap/src/common/ieee802_11_common.c:1360,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:1364,1
    - Dst: os_strcmp
      Src: /src/hostap/src/common/ieee802_11_common.c:1370,1
    - Dst: atoi
      Src: /src/hostap/src/common/ieee802_11_common.c:1371,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:1373,1
    - Dst: os_strcmp
      Src: /src/hostap/src/common/ieee802_11_common.c:1377,1
    - Dst: atoi
      Src: /src/hostap/src/common/ieee802_11_common.c:1378,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:1380,1
    - Dst: os_strcmp
      Src: /src/hostap/src/common/ieee802_11_common.c:1384,1
    - Dst: atoi
      Src: /src/hostap/src/common/ieee802_11_common.c:1385,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:1387,1
    - Dst: os_strcmp
      Src: /src/hostap/src/common/ieee802_11_common.c:1391,1
    - Dst: atoi
      Src: /src/hostap/src/common/ieee802_11_common.c:1392,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:1394,1
    - Dst: os_strcmp
      Src: /src/hostap/src/common/ieee802_11_common.c:1398,1
    - Dst: atoi
      Src: /src/hostap/src/common/ieee802_11_common.c:1399,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:1401,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:1406,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 66
    argCount: 3
    argNames:
    - wmm_ac_params
    - name
    - val
    argTypes:
    - struct hostapd_wmm_ac_params[]
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1411
      start: 1342
    functionDepth: 0
    functionLinenumber: 1342
    functionLinenumberEnd: 1411
    functionName: hostapd_config_wmm_ac
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 1
    functionsReached:
    - atoi
    - wpa_printf
    - os_strcmp
    - os_strncmp
    linkageType: ''
    returnType: int
    signature: "int hostapd_config_wmm_ac(struct hostapd_wmm_ac_params wmm_ac_params[],\n\t\t\t
      \ const char *name, const char *val)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/hostap/src/common/ieee802_11_common.c:1422,1
    - Dst: os_strchr
      Src: /src/hostap/src/common/ieee802_11_common.c:1423,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1432
      start: 1417
    functionDepth: 0
    functionLinenumber: 1417
    functionLinenumberEnd: 1432
    functionName: hostapd_config_read_int10
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 0
    functionsReached:
    - atoi
    - os_strchr
    linkageType: ''
    returnType: int
    signature: int hostapd_config_read_int10(const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 2
    argCount: 1
    argNames:
    - cw
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1441
      start: 1435
    functionDepth: 0
    functionLinenumber: 1435
    functionLinenumberEnd: 1441
    functionName: valid_cw
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int valid_cw(int cw)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: os_strncmp
      Src: /src/hostap/src/common/ieee802_11_common.c:1453,1
    - Dst: os_strncmp
      Src: /src/hostap/src/common/ieee802_11_common.c:1457,1
    - Dst: os_strncmp
      Src: /src/hostap/src/common/ieee802_11_common.c:1458,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:1459,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:1462,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:1468,1
    - Dst: os_strcmp
      Src: /src/hostap/src/common/ieee802_11_common.c:1474,1
    - Dst: atoi
      Src: /src/hostap/src/common/ieee802_11_common.c:1475,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:1477,1
    - Dst: os_strcmp
      Src: /src/hostap/src/common/ieee802_11_common.c:1481,1
    - Dst: atoi
      Src: /src/hostap/src/common/ieee802_11_common.c:1482,1
    - Dst: valid_cw
      Src: /src/hostap/src/common/ieee802_11_common.c:1483,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:1484,1
    - Dst: os_strcmp
      Src: /src/hostap/src/common/ieee802_11_common.c:1488,1
    - Dst: atoi
      Src: /src/hostap/src/common/ieee802_11_common.c:1489,1
    - Dst: valid_cw
      Src: /src/hostap/src/common/ieee802_11_common.c:1490,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:1491,1
    - Dst: os_strcmp
      Src: /src/hostap/src/common/ieee802_11_common.c:1495,1
    - Dst: hostapd_config_read_int10
      Src: /src/hostap/src/common/ieee802_11_common.c:1496,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:1498,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 3
    argNames:
    - tx_queue
    - name
    - val
    argTypes:
    - struct hostapd_tx_queue_params[]
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1503
      start: 1444
    functionDepth: 1
    functionLinenumber: 1444
    functionLinenumberEnd: 1503
    functionName: hostapd_config_tx_queue
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - os_strncmp
    - atoi
    - hostapd_config_read_int10
    - valid_cw
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: "int hostapd_config_tx_queue(struct hostapd_tx_queue_params tx_queue[],\n\t\t\t
      \   const char *name, const char *val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ieee80211_freq_to_channel_ext
      Src: /src/hostap/src/common/ieee802_11_common.c:1510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - freq
    - channel
    argTypes:
    - int
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1512
      start: 1506
    functionDepth: 1
    functionLinenumber: 1506
    functionLinenumberEnd: 1512
    functionName: ieee80211_freq_to_chan
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 24
    functionsReached:
    - ieee80211_freq_to_channel_ext
    linkageType: ''
    returnType: enum hostapd_hw_mode
    signature: enum hostapd_hw_mode ieee80211_freq_to_chan(int freq, u8 *channel)
  - BBCount: 58
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 168
    argCount: 5
    argNames:
    - freq
    - sec_channel
    - chanwidth
    - op_class
    - channel
    argTypes:
    - unsigned int
    - int
    - enum oper_chan_width
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1756
      start: 1525
    functionDepth: 0
    functionLinenumber: 1525
    functionLinenumberEnd: 1756
    functionName: ieee80211_freq_to_channel_ext
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: enum hostapd_hw_mode
    signature: "enum hostapd_hw_mode ieee80211_freq_to_channel_ext(unsigned int freq,
      int sec_channel,\n\t\t\t      enum oper_chan_width chanwidth,\n\t\t\t      u8
      *op_class, u8 *channel)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ieee80211_freq_to_channel_ext
      Src: /src/hostap/src/common/ieee802_11_common.c:1797,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:1799,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 5
    argNames:
    - freq
    - chanwidth
    - sec_channel
    - op_class
    - channel
    argTypes:
    - unsigned int
    - enum chan_width
    - int
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1806
      start: 1759
    functionDepth: 1
    functionLinenumber: 1759
    functionLinenumberEnd: 1806
    functionName: ieee80211_chaninfo_to_channel
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 4
    functionsReached:
    - wpa_printf
    - ieee80211_freq_to_channel_ext
    linkageType: ''
    returnType: int
    signature: "int ieee80211_chaninfo_to_channel(unsigned int freq, enum chan_width
      chanwidth,\n\t\t\t\t  int sec_channel, u8 *op_class, u8 *channel)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - cc
    - country
    argTypes:
    - char*[]
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1841
      start: 1829
    functionDepth: 0
    functionLinenumber: 1829
    functionLinenumberEnd: 1841
    functionName: country_match
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int country_match(const char *const cc[], const char *const country)
  - BBCount: 32
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 53
    argCount: 2
    argNames:
    - op_class
    - chan
    argTypes:
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1898
      start: 1844
    functionDepth: 0
    functionLinenumber: 1844
    functionLinenumberEnd: 1898
    functionName: ieee80211_chan_to_freq_us
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ieee80211_chan_to_freq_us(u8 op_class, u8 chan)
  - BBCount: 28
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 2
    argNames:
    - op_class
    - chan
    argTypes:
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1949
      start: 1901
    functionDepth: 0
    functionLinenumber: 1901
    functionLinenumberEnd: 1949
    functionName: ieee80211_chan_to_freq_eu
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ieee80211_chan_to_freq_eu(u8 op_class, u8 chan)
  - BBCount: 34
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 53
    argCount: 2
    argNames:
    - op_class
    - chan
    argTypes:
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2007
      start: 1952
    functionDepth: 0
    functionLinenumber: 1952
    functionLinenumberEnd: 2007
    functionName: ieee80211_chan_to_freq_jp
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ieee80211_chan_to_freq_jp(u8 op_class, u8 chan)
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - op_class
    - chan
    argTypes:
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2034
      start: 2010
    functionDepth: 0
    functionLinenumber: 2010
    functionLinenumberEnd: 2034
    functionName: ieee80211_chan_to_freq_cn
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ieee80211_chan_to_freq_cn(u8 op_class, u8 chan)
  - BBCount: 48
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 81
    argCount: 2
    argNames:
    - op_class
    - chan
    argTypes:
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2122
      start: 2037
    functionDepth: 0
    functionLinenumber: 2037
    functionLinenumberEnd: 2122
    functionName: ieee80211_chan_to_freq_global
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ieee80211_chan_to_freq_global(u8 op_class, u8 chan)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: country_match
      Src: /src/hostap/src/common/ieee802_11_common.c:2135,1
    - Dst: ieee80211_chan_to_freq_us
      Src: /src/hostap/src/common/ieee802_11_common.c:2136,1
    - Dst: country_match
      Src: /src/hostap/src/common/ieee802_11_common.c:2141,1
    - Dst: ieee80211_chan_to_freq_eu
      Src: /src/hostap/src/common/ieee802_11_common.c:2142,1
    - Dst: country_match
      Src: /src/hostap/src/common/ieee802_11_common.c:2147,1
    - Dst: ieee80211_chan_to_freq_jp
      Src: /src/hostap/src/common/ieee802_11_common.c:2148,1
    - Dst: country_match
      Src: /src/hostap/src/common/ieee802_11_common.c:2153,1
    - Dst: ieee80211_chan_to_freq_cn
      Src: /src/hostap/src/common/ieee802_11_common.c:2154,1
    - Dst: ieee80211_chan_to_freq_global
      Src: /src/hostap/src/common/ieee802_11_common.c:2159,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - country
    - op_class
    - chan
    argTypes:
    - char*
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2160
      start: 2131
    functionDepth: 1
    functionLinenumber: 2131
    functionLinenumberEnd: 2160
    functionName: ieee80211_chan_to_freq
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 19
    functionsReached:
    - ieee80211_chan_to_freq_global
    - ieee80211_chan_to_freq_eu
    - ieee80211_chan_to_freq_jp
    - country_match
    - ieee80211_chan_to_freq_us
    - ieee80211_chan_to_freq_cn
    linkageType: ''
    returnType: int
    signature: int ieee80211_chan_to_freq(const char *country, u8 op_class, u8 chan)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 3
    argNames:
    - freq
    - modes
    - num_modes
    argTypes:
    - int
    - struct hostapd_hw_modes*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2181
      start: 2163
    functionDepth: 0
    functionLinenumber: 2163
    functionLinenumberEnd: 2181
    functionName: ieee80211_is_dfs
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ieee80211_is_dfs(int freq, const struct hostapd_hw_modes *modes,\n\t\t
      \    u16 num_modes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - op_class
    argTypes:
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2191
      start: 2188
    functionDepth: 0
    functionLinenumber: 2188
    functionLinenumberEnd: 2191
    functionName: is_dfs_global_op_class
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_dfs_global_op_class(u8 op_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - op_class
    argTypes:
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2198
      start: 2194
    functionDepth: 0
    functionLinenumber: 2194
    functionLinenumberEnd: 2198
    functionName: is_80plus_op_class
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_80plus_op_class(u8 op_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - rate
    argTypes:
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2204
      start: 2201
    functionDepth: 0
    functionLinenumber: 2201
    functionLinenumberEnd: 2204
    functionName: is_11b
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_11b(u8 rate)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_11b
      Src: /src/hostap/src/common/ieee802_11_common.c:2216,1
    - Dst: is_11b
      Src: /src/hostap/src/common/ieee802_11_common.c:2224,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 1
    argNames:
    - elems
    argTypes:
    - struct ieee802_11_elems*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2231
      start: 2207
    functionDepth: 1
    functionLinenumber: 2207
    functionLinenumberEnd: 2231
    functionName: supp_rates_11b_only
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 2
    functionsReached:
    - is_11b
    linkageType: ''
    returnType: int
    signature: int supp_rates_11b_only(struct ieee802_11_elems *elems)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: WLAN_FC_GET_STYPE
      Src: /src/hostap/src/common/ieee802_11_common.c:2236,1
    - Dst: WLAN_FC_GET_TYPE
      Src: /src/hostap/src/common/ieee802_11_common.c:2239,1
    - Dst: C2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2242,1
    - Dst: C2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2243,1
    - Dst: C2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2244,1
    - Dst: C2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2245,1
    - Dst: C2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2246,1
    - Dst: C2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2247,1
    - Dst: C2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2248,1
    - Dst: C2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2249,1
    - Dst: C2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2250,1
    - Dst: C2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2251,1
    - Dst: C2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2252,1
    - Dst: C2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2253,1
    - Dst: C2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2258,1
    - Dst: C2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2259,1
    - Dst: C2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2260,1
    - Dst: C2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2261,1
    - Dst: C2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2262,1
    - Dst: C2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2263,1
    - Dst: C2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2268,1
    - Dst: C2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2269,1
    - Dst: C2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2270,1
    - Dst: C2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2271,1
    - Dst: C2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2272,1
    - Dst: C2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2273,1
    - Dst: C2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2274,1
    - Dst: C2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2275,1
    - Dst: C2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2276,1
    - Dst: C2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2277,1
    - Dst: C2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2278,1
    - Dst: C2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2279,1
    - Dst: C2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2280,1
    - Dst: C2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2281,1
    - Dst: C2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2282,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 49
    argCount: 1
    argNames:
    - fc
    argTypes:
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2288
      start: 2234
    functionDepth: 1
    functionLinenumber: 2234
    functionLinenumberEnd: 2288
    functionName: fc2str
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 1
    functionsReached:
    - WLAN_FC_GET_TYPE
    - WLAN_FC_GET_STYPE
    - C2S
    linkageType: ''
    returnType: char
    signature: char * fc2str(u16 fc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2238
      start: 2237
    functionDepth: 0
    functionLinenumber: 2237
    functionLinenumberEnd: 2238
    functionName: C2S
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: C2S(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: R2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2295,1
    - Dst: R2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2296,1
    - Dst: R2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2297,1
    - Dst: R2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2298,1
    - Dst: R2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2299,1
    - Dst: R2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2300,1
    - Dst: R2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2301,1
    - Dst: R2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2302,1
    - Dst: R2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2303,1
    - Dst: R2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2304,1
    - Dst: R2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2305,1
    - Dst: R2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2306,1
    - Dst: R2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2307,1
    - Dst: R2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2308,1
    - Dst: R2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2309,1
    - Dst: R2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2310,1
    - Dst: R2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2311,1
    - Dst: R2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2312,1
    - Dst: R2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2313,1
    - Dst: R2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2314,1
    - Dst: R2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2315,1
    - Dst: R2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2316,1
    - Dst: R2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2317,1
    - Dst: R2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2318,1
    - Dst: R2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2319,1
    - Dst: R2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2320,1
    - Dst: R2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2321,1
    - Dst: R2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2322,1
    - Dst: R2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2323,1
    - Dst: R2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2324,1
    - Dst: R2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2325,1
    - Dst: R2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2326,1
    - Dst: R2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2327,1
    - Dst: R2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2328,1
    - Dst: R2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2329,1
    - Dst: R2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2330,1
    - Dst: R2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2331,1
    - Dst: R2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2332,1
    - Dst: R2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2333,1
    - Dst: R2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2334,1
    - Dst: R2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2335,1
    - Dst: R2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2336,1
    - Dst: R2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2337,1
    - Dst: R2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2338,1
    - Dst: R2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2339,1
    - Dst: R2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2340,1
    - Dst: R2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2341,1
    - Dst: R2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2342,1
    - Dst: R2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2343,1
    - Dst: R2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2344,1
    - Dst: R2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2345,1
    - Dst: R2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2346,1
    - Dst: R2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2347,1
    - Dst: R2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2348,1
    - Dst: R2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2349,1
    - Dst: R2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2350,1
    - Dst: R2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2351,1
    - Dst: R2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2352,1
    - Dst: R2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2353,1
    - Dst: R2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2354,1
    - Dst: R2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 65
    argCount: 1
    argNames:
    - reason
    argTypes:
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2359
      start: 2291
    functionDepth: 1
    functionLinenumber: 2291
    functionLinenumberEnd: 2359
    functionName: reason2str
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 3
    functionsReached:
    - R2S
    linkageType: ''
    returnType: char
    signature: char * reason2str(u16 reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2294
      start: 2293
    functionDepth: 0
    functionLinenumber: 2293
    functionLinenumberEnd: 2294
    functionName: R2S
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: R2S(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2366,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2367,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2368,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2369,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2370,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2371,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2372,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2373,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2374,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2375,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2376,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2377,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2378,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2379,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2380,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2381,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2382,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2383,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2384,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2385,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2386,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2387,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2388,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2389,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2390,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2391,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2392,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2393,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2394,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2395,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2396,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2397,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2398,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2399,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2400,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2401,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2402,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2403,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2404,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2405,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2406,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2407,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2408,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2409,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2410,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2411,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2412,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2413,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2414,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2415,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2416,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2417,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2418,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2419,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2420,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2421,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2422,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2423,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2424,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2425,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2426,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2427,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2428,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2429,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2430,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2431,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2432,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2433,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2434,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2435,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2436,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2437,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2438,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2439,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2440,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2441,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2442,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2443,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2444,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2445,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2446,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2447,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2448,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2449,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2450,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2451,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2452,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2453,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2454,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2455,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2456,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2457,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2458,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2459,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2460,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2461,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2462,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2463,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2464,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2465,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2466,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2467,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2468,1
    - Dst: S2S
      Src: /src/hostap/src/common/ieee802_11_common.c:2469,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 108
    argCount: 1
    argNames:
    - status
    argTypes:
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2473
      start: 2362
    functionDepth: 1
    functionLinenumber: 2362
    functionLinenumberEnd: 2473
    functionName: status2str
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 3
    functionsReached:
    - S2S
    linkageType: ''
    returnType: char
    signature: char * status2str(u16 status)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2365
      start: 2364
    functionDepth: 0
    functionLinenumber: 2364
    functionLinenumberEnd: 2365
    functionName: S2S
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S2S(s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/common/ieee802_11_common.c:2481,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:2490,1
    - Dst: for_each_element_completed
      Src: /src/hostap/src/common/ieee802_11_common.c:2497,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/ieee802_11_common.c:2498,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - info
    - ies_buf
    - ies_len
    argTypes:
    - struct mb_ies_info*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2503
      start: 2476
    functionDepth: 1
    functionLinenumber: 2476
    functionLinenumberEnd: 2503
    functionName: mb_ies_info_by_ies
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - for_each_element_completed
    - wpa_hexdump
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int mb_ies_info_by_ies(struct mb_ies_info *info, const u8 *ies_buf,\n\t\t
      \      size_t ies_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:2490,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2495
      start: 2486
    functionDepth: 0
    functionLinenumber: 2486
    functionLinenumberEnd: 2495
    functionName: for_each_element_id
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 7
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void for_each_element_id(elem, WLAN_EID_MULTI_BAND, ies_buf, ies_len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WPA_ASSERT
      Src: /src/hostap/src/common/ieee802_11_common.c:2510,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/common/ieee802_11_common.c:2519,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/ieee802_11_common.c:2522,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/ieee802_11_common.c:2523,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/common/ieee802_11_common.c:2524,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - info
    argTypes:
    - struct mb_ies_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2532
      start: 2506
    functionDepth: 1
    functionLinenumber: 2506
    functionLinenumberEnd: 2532
    functionName: mb_ies_by_info
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 4
    functionsReached:
    - wpabuf_alloc
    - WPA_ASSERT
    - wpabuf_put_u8
    - wpabuf_put_data
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * mb_ies_by_info(struct mb_ies_info *info)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ieee80211_freq_to_chan
      Src: /src/hostap/src/common/ieee802_11_common.c:2607,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - freq
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2621
      start: 2602
    functionDepth: 2
    functionLinenumber: 2602
    functionLinenumberEnd: 2621
    functionName: ieee80211_phy_type_by_freq
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 0
    functionsReached:
    - ieee80211_freq_to_chan
    linkageType: ''
    returnType: enum phy_type
    signature: enum phy_type ieee80211_phy_type_by_freq(int freq)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ieee80211_phy_type_by_freq
      Src: /src/hostap/src/common/ieee802_11_common.c:2634,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - freq
    - ht
    - vht
    - he
    argTypes:
    - int
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2635
      start: 2625
    functionDepth: 3
    functionLinenumber: 2625
    functionLinenumberEnd: 2635
    functionName: ieee80211_get_phy_type
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 3
    functionsReached:
    - ieee80211_phy_type_by_freq
    linkageType: ''
    returnType: enum phy_type
    signature: enum phy_type ieee80211_get_phy_type(int freq, bool ht, bool vht, bool
      he)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: for_each_element_id
      Src: /src/hostap/src/common/ieee802_11_common.c:2658,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ies
    - len
    - eid
    argTypes:
    - u8*
    - size_t
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2662
      start: 2651
    functionDepth: 0
    functionLinenumber: 2651
    functionLinenumberEnd: 2662
    functionName: get_ie
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 77
    functionsReached:
    - for_each_element_id
    linkageType: ''
    returnType: u8
    signature: u8 * get_ie(const u8 *ies, size_t len, u8 eid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: for_each_element_extid
      Src: /src/hostap/src/common/ieee802_11_common.c:2682,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ies
    - len
    - ext
    argTypes:
    - u8*
    - size_t
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2686
      start: 2675
    functionDepth: 0
    functionLinenumber: 2675
    functionLinenumberEnd: 2686
    functionName: get_ie_ext
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 9
    functionsReached:
    - for_each_element_extid
    linkageType: ''
    returnType: u8
    signature: u8 * get_ie_ext(const u8 *ies, size_t len, u8 ext)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/common/ieee802_11_common.c:2698,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - ies
    - len
    - vendor_type
    argTypes:
    - u8*
    - size_t
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2703
      start: 2689
    functionDepth: 1
    functionLinenumber: 2689
    functionLinenumberEnd: 2703
    functionName: get_vendor_ie
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 50
    functionsReached:
    - WPA_GET_BE32
    linkageType: ''
    returnType: u8
    signature: u8 * get_vendor_ie(const u8 *ies, size_t len, u32 vendor_type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/common/ieee802_11_common.c:2698,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2700
      start: 2696
    functionDepth: 1
    functionLinenumber: 2696
    functionLinenumberEnd: 2700
    functionName: for_each_element_id
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 8
    functionsReached:
    - WPA_GET_BE32
    linkageType: ''
    returnType: void
    signature: void for_each_element_id(elem, WLAN_EID_VENDOR_SPECIFIC, ies, len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:2713,1
    - Dst: WPA_PUT_BE24
      Src: /src/hostap/src/common/ieee802_11_common.c:2721,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/ieee802_11_common.c:2724,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - buf
    - len
    - attr
    - attr_len
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2727
      start: 2706
    functionDepth: 1
    functionLinenumber: 2706
    functionLinenumberEnd: 2727
    functionName: mbo_add_ie
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 5
    functionsReached:
    - WPA_PUT_BE24
    - wpa_printf
    - os_memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t mbo_add_ie(u8 *buf, size_t len, const u8 *attr, size_t attr_len)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/common/ieee802_11_common.c:2737,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:2753,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:2760,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:2767,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:2775,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:2780,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/common/ieee802_11_common.c:2785,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:2787,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:2795,1
    - Dst: for_each_element_completed
      Src: /src/hostap/src/common/ieee802_11_common.c:2802,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:2803,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/ieee802_11_common.c:2806,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:2810,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 54
    argCount: 3
    argNames:
    - multi_ap_ie
    - multi_ap_len
    - multi_ap
    argTypes:
    - u8*
    - size_t
    - struct multi_ap_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2816
      start: 2730
    functionDepth: 1
    functionLinenumber: 2730
    functionLinenumberEnd: 2816
    functionName: check_multi_ap_ie
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    - WPA_GET_LE16
    - for_each_element_completed
    - os_memset
    linkageType: ''
    returnType: u16
    signature: "u16 check_multi_ap_ie(const u8 *multi_ap_ie, size_t multi_ap_len,\n\t\t
      \     struct multi_ap_params *multi_ap)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:2753,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:2760,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:2767,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:2775,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:2780,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/common/ieee802_11_common.c:2785,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:2787,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:2795,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2800
      start: 2743
    functionDepth: 1
    functionLinenumber: 2743
    functionLinenumberEnd: 2800
    functionName: for_each_element
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 3
    functionsReached:
    - wpa_printf
    - WPA_GET_LE16
    linkageType: ''
    returnType: void
    signature: void for_each_element(elem, multi_ap_ie, multi_ap_len)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: WPA_PUT_BE24
      Src: /src/hostap/src/common/ieee802_11_common.c:2831,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/common/ieee802_11_common.c:2860,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 3
    argNames:
    - buf
    - len
    - multi_ap
    argTypes:
    - u8*
    - size_t
    - struct multi_ap_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2867
      start: 2819
    functionDepth: 1
    functionLinenumber: 2819
    functionLinenumberEnd: 2867
    functionName: add_multi_ap_ie
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 1
    functionsReached:
    - WPA_PUT_BE24
    - WPA_PUT_LE16
    linkageType: ''
    returnType: size_t
    signature: "size_t add_multi_ap_ie(u8 *buf, size_t len,\n\t\t       const struct
      multi_ap_params *multi_ap)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - op_class
    - array_size
    - country_array
    argTypes:
    - u8
    - size_t
    - struct country_op_class*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2957
      start: 2945
    functionDepth: 0
    functionLinenumber: 2945
    functionLinenumberEnd: 2957
    functionName: global_op_class_from_country_array
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: "u8 global_op_class_from_country_array(u8 op_class, size_t array_size,\n\t\t\t\t
      \  const struct country_op_class *country_array)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: country_match
      Src: /src/hostap/src/common/ieee802_11_common.c:2966,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/common/ieee802_11_common.c:2968,1
    - Dst: country_match
      Src: /src/hostap/src/common/ieee802_11_common.c:2969,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/common/ieee802_11_common.c:2971,1
    - Dst: country_match
      Src: /src/hostap/src/common/ieee802_11_common.c:2972,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/common/ieee802_11_common.c:2974,1
    - Dst: country_match
      Src: /src/hostap/src/common/ieee802_11_common.c:2975,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/common/ieee802_11_common.c:2977,1
    - Dst: global_op_class_from_country_array
      Src: /src/hostap/src/common/ieee802_11_common.c:2986,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - country
    - op_class
    argTypes:
    - char*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2994
      start: 2960
    functionDepth: 1
    functionLinenumber: 2960
    functionLinenumberEnd: 2994
    functionName: country_to_global_op_class
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 0
    functionsReached:
    - global_op_class_from_country_array
    - country_match
    - ARRAY_SIZE
    linkageType: ''
    returnType: u8
    signature: u8 country_to_global_op_class(const char *country, u8 op_class)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: country_to_global_op_class
      Src: /src/hostap/src/common/ieee802_11_common.c:3002,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - country
    - op_class
    argTypes:
    - char*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3012
      start: 2997
    functionDepth: 2
    functionLinenumber: 2997
    functionLinenumberEnd: 3012
    functionName: get_oper_class
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 7
    functionsReached:
    - country_to_global_op_class
    linkageType: ''
    returnType: struct oper_class_map
    signature: struct oper_class_map * get_oper_class(const char *country, u8 op_class)
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - map
    argTypes:
    - struct oper_class_map*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3036
      start: 3015
    functionDepth: 0
    functionLinenumber: 3015
    functionLinenumberEnd: 3036
    functionName: oper_class_bw_to_int
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int oper_class_bw_to_int(const struct oper_class_map *map)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - freq
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3042
      start: 3039
    functionDepth: 0
    functionLinenumber: 3039
    functionLinenumberEnd: 3042
    functionName: is_24ghz_freq
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_24ghz_freq(int freq)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - freq
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3048
      start: 3045
    functionDepth: 0
    functionLinenumber: 3045
    functionLinenumberEnd: 3048
    functionName: is_5ghz_freq
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_5ghz_freq(int freq)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - idx
    argTypes:
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3073
      start: 3051
    functionDepth: 0
    functionLinenumber: 3051
    functionLinenumberEnd: 3073
    functionName: center_idx_to_bw_6ghz
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int center_idx_to_bw_6ghz(u8 idx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: center_idx_to_bw_6ghz
      Src: /src/hostap/src/common/ieee802_11_common.c:3084,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - freq
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3088
      start: 3076
    functionDepth: 1
    functionLinenumber: 3076
    functionLinenumberEnd: 3088
    functionName: is_6ghz_freq
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 43
    functionsReached:
    - center_idx_to_bw_6ghz
    linkageType: ''
    returnType: bool
    signature: bool is_6ghz_freq(int freq)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - op_class
    argTypes:
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3094
      start: 3091
    functionDepth: 0
    functionLinenumber: 3091
    functionLinenumberEnd: 3094
    functionName: is_6ghz_op_class
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 63
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_6ghz_op_class(u8 op_class)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: is_6ghz_freq
      Src: /src/hostap/src/common/ieee802_11_common.c:3101,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - freq
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3114
      start: 3097
    functionDepth: 2
    functionLinenumber: 3097
    functionLinenumberEnd: 3114
    functionName: is_6ghz_psc_frequency
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 5
    functionsReached:
    - is_6ghz_freq
    linkageType: ''
    returnType: bool
    signature: bool is_6ghz_psc_frequency(int freq)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - channel
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3138
      start: 3124
    functionDepth: 0
    functionLinenumber: 3124
    functionLinenumberEnd: 3138
    functionName: get_6ghz_sec_channel
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_6ghz_sec_channel(int channel)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IS_2P4GHZ
      Src: /src/hostap/src/common/ieee802_11_common.c:3143,1
    - Dst: IS_2P4GHZ
      Src: /src/hostap/src/common/ieee802_11_common.c:3143,1
    - Dst: IS_5GHZ
      Src: /src/hostap/src/common/ieee802_11_common.c:3146,1
    - Dst: IS_5GHZ
      Src: /src/hostap/src/common/ieee802_11_common.c:3146,1
    - Dst: is_6ghz_freq
      Src: /src/hostap/src/common/ieee802_11_common.c:3149,1
    - Dst: is_6ghz_freq
      Src: /src/hostap/src/common/ieee802_11_common.c:3149,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - freq1
    - freq2
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3153
      start: 3141
    functionDepth: 2
    functionLinenumber: 3141
    functionLinenumberEnd: 3153
    functionName: is_same_band
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 0
    functionsReached:
    - IS_2P4GHZ
    - IS_5GHZ
    - is_6ghz_freq
    linkageType: ''
    returnType: bool
    signature: bool is_same_band(int freq1, int freq2)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: os_strstr
      Src: /src/hostap/src/common/ieee802_11_common.c:3172,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:3176,1
    - Dst: hwaddr_aton
      Src: /src/hostap/src/common/ieee802_11_common.c:3186,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:3187,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:3193,1
    - Dst: strtol
      Src: /src/hostap/src/common/ieee802_11_common.c:3198,1
    - Dst: WPA_PUT_LE32
      Src: /src/hostap/src/common/ieee802_11_common.c:3199,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:3202,1
    - Dst: atoi
      Src: /src/hostap/src/common/ieee802_11_common.c:3207,1
    - Dst: os_strchr
      Src: /src/hostap/src/common/ieee802_11_common.c:3208,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:3210,1
    - Dst: atoi
      Src: /src/hostap/src/common/ieee802_11_common.c:3215,1
    - Dst: os_strchr
      Src: /src/hostap/src/common/ieee802_11_common.c:3216,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:3218,1
    - Dst: atoi
      Src: /src/hostap/src/common/ieee802_11_common.c:3223,1
    - Dst: os_strchr
      Src: /src/hostap/src/common/ieee802_11_common.c:3224,1
    - Dst: os_strchr
      Src: /src/hostap/src/common/ieee802_11_common.c:3225,1
    - Dst: os_strchr
      Src: /src/hostap/src/common/ieee802_11_common.c:3231,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/ieee802_11_common.c:3235,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:3237,1
    - Dst: hexstr2bin
      Src: /src/hostap/src/common/ieee802_11_common.c:3242,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:3243,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 69
    argCount: 3
    argNames:
    - pos
    - nei_rep
    - nei_rep_len
    argTypes:
    - char*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3255
      start: 3156
    functionDepth: 1
    functionLinenumber: 3156
    functionLinenumberEnd: 3255
    functionName: ieee802_11_parse_candidate_list
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 2
    functionsReached:
    - strtol
    - os_strlen
    - wpa_printf
    - hexstr2bin
    - hwaddr_aton
    - os_strstr
    - WPA_PUT_LE32
    - atoi
    - os_strchr
    linkageType: ''
    returnType: int
    signature: "int ieee802_11_parse_candidate_list(const char *pos, u8 *nei_rep,\n\t\t\t\t
      \   size_t nei_rep_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIT
      Src: /src/hostap/src/common/ieee802_11_common.c:3262,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ie
    - capab
    argTypes:
    - u8*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3263
      start: 3258
    functionDepth: 0
    functionLinenumber: 3258
    functionLinenumberEnd: 3263
    functionName: ieee802_11_ext_capab
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 2
    functionsReached:
    - BIT
    linkageType: ''
    returnType: int
    signature: int ieee802_11_ext_capab(const u8 *ie, unsigned int capab)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:3277,1
    - Dst: BIT_ULL
      Src: /src/hostap/src/common/ieee802_11_common.c:3291,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - rsnxe
    - rsnxe_len
    - capab
    argTypes:
    - u8*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3292
      start: 3266
    functionDepth: 1
    functionLinenumber: 3266
    functionLinenumberEnd: 3292
    functionName: ieee802_11_rsnx_capab_len
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 8
    functionsReached:
    - wpa_printf
    - BIT_ULL
    linkageType: ''
    returnType: bool
    signature: "bool ieee802_11_rsnx_capab_len(const u8 *rsnxe, size_t rsnxe_len,\n\t\t\t
      \      unsigned int capab)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_11_rsnx_capab_len
      Src: /src/hostap/src/common/ieee802_11_common.c:3300,1
    - Dst: ieee802_11_rsnx_capab_len
      Src: /src/hostap/src/common/ieee802_11_common.c:3302,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - rsnxe
    - capab
    argTypes:
    - u8*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3303
      start: 3295
    functionDepth: 2
    functionLinenumber: 3295
    functionLinenumberEnd: 3303
    functionName: ieee802_11_rsnx_capab
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 31
    functionsReached:
    - ieee802_11_rsnx_capab_len
    linkageType: ''
    returnType: bool
    signature: bool ieee802_11_rsnx_capab(const u8 *rsnxe, unsigned int capab)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BIT
      Src: /src/hostap/src/common/ieee802_11_common.c:3340,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 37
    argCount: 4
    argNames:
    - edmg_enable
    - edmg_channel
    - primary_channel
    - edmg
    argTypes:
    - int
    - u8
    - int
    - struct ieee80211_edmg_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3348
      start: 3306
    functionDepth: 0
    functionLinenumber: 3306
    functionLinenumberEnd: 3348
    functionName: hostapd_encode_edmg_chan
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 5
    functionsReached:
    - BIT
    linkageType: ''
    returnType: void
    signature: "void hostapd_encode_edmg_chan(int edmg_enable, u8 edmg_channel,\n\t\t\t
      \     int primary_channel,\n\t\t\t      struct ieee80211_edmg_config *edmg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - allowed
    - requested
    argTypes:
    - struct ieee80211_edmg_config
    - struct ieee80211_edmg_config
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3375
      start: 3353
    functionDepth: 0
    functionLinenumber: 3353
    functionLinenumberEnd: 3375
    functionName: ieee802_edmg_is_allowed
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ieee802_edmg_is_allowed(struct ieee80211_edmg_config allowed,\n\t\t\t
      \   struct ieee80211_edmg_config requested)"
  - BBCount: 33
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 59
    argCount: 1
    argNames:
    - op_class
    argTypes:
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3438
      start: 3378
    functionDepth: 0
    functionLinenumber: 3378
    functionLinenumberEnd: 3438
    functionName: op_class_to_bandwidth
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int op_class_to_bandwidth(u8 op_class)
  - BBCount: 33
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 60
    argCount: 1
    argNames:
    - op_class
    argTypes:
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3502
      start: 3441
    functionDepth: 0
    functionLinenumber: 3441
    functionLinenumberEnd: 3502
    functionName: op_class_to_ch_width
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: enum oper_chan_width
    signature: enum oper_chan_width op_class_to_ch_width(u8 op_class)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ieee802_11_common.c:3530,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - chwidth
    - freq2
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3534
      start: 3511
    functionDepth: 0
    functionLinenumber: 3511
    functionLinenumberEnd: 3534
    functionName: chwidth_freq2_to_ch_width
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 4
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int chwidth_freq2_to_ch_width(int chwidth, int freq2)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - chan_width
    argTypes:
    - enum chan_width
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3555
      start: 3537
    functionDepth: 0
    functionLinenumber: 3537
    functionLinenumberEnd: 3555
    functionName: chan_width_to_oper_chwidth
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: enum oper_chan_width
    signature: enum oper_chan_width chan_width_to_oper_chwidth(enum chan_width chan_width)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/common/ieee802_11_common.c:3568,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/common/ieee802_11_common.c:3570,1
    - Dst: wpabuf_resize
      Src: /src/hostap/src/common/ieee802_11_common.c:3583,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/ieee802_11_common.c:3585,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/common/ieee802_11_common.c:3590,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 3
    argNames:
    - data
    - len
    - ext_elem
    argTypes:
    - u8*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3596
      start: 3558
    functionDepth: 1
    functionLinenumber: 3558
    functionLinenumberEnd: 3596
    functionName: ieee802_11_defrag
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 17
    functionsReached:
    - wpabuf_free
    - wpabuf_resize
    - wpabuf_alloc_copy
    - wpabuf_put_data
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * ieee802_11_defrag(const u8 *data, size_t len, bool
      ext_elem)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_mhead_u8
      Src: /src/hostap/src/common/ieee802_11_common.c:3625,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/ieee802_11_common.c:3626,1
    - Dst: os_memmove
      Src: /src/hostap/src/common/ieee802_11_common.c:3650,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 3
    argNames:
    - mlbuf
    - parent_subelem
    - defrag_len
    argTypes:
    - struct wpabuf*
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3662
      start: 3613
    functionDepth: 1
    functionLinenumber: 3613
    functionLinenumberEnd: 3662
    functionName: ieee802_11_defrag_mle_subelem
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 6
    functionsReached:
    - wpabuf_mhead_u8
    - wpabuf_len
    - os_memmove
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t ieee802_11_defrag_mle_subelem(struct wpabuf *mlbuf,\n\t\t\t\t
      \     const u8 *parent_subelem,\n\t\t\t\t      size_t *defrag_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - ies
    - len
    - type
    argTypes:
    - u8*
    - size_t
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3679
      start: 3665
    functionDepth: 0
    functionLinenumber: 3665
    functionLinenumberEnd: 3679
    functionName: get_ml_ie
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 * get_ml_ie(const u8 *ies, size_t len, u8 type)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3676
      start: 3672
    functionDepth: 0
    functionLinenumber: 3672
    functionLinenumberEnd: 3676
    functionName: for_each_element_extid
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void for_each_element_extid(elem, WLAN_EID_EXT_MULTI_LINK, ies, len)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3698
      start: 3682
    functionDepth: 0
    functionLinenumber: 3682
    functionLinenumberEnd: 3698
    functionName: get_basic_mle_mld_addr
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 * get_basic_mle_mld_addr(const u8 *buf, size_t len)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: le_to_host16
      Src: /src/hostap/src/common/ieee802_11_common.c:3716,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3743
      start: 3701
    functionDepth: 1
    functionLinenumber: 3701
    functionLinenumberEnd: 3743
    functionName: get_basic_mle_eml_capa
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 1
    functionsReached:
    - le_to_host16
    linkageType: ''
    returnType: u8
    signature: u8 * get_basic_mle_eml_capa(const u8 *buf, size_t len)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: le_to_host16
      Src: /src/hostap/src/common/ieee802_11_common.c:3761,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3783
      start: 3746
    functionDepth: 1
    functionLinenumber: 3746
    functionLinenumberEnd: 3783
    functionName: get_basic_mle_link_id
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 1
    functionsReached:
    - le_to_host16
    linkageType: ''
    returnType: int
    signature: int get_basic_mle_link_id(const u8 *buf, size_t len)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - htcaps
    - parse_for_rx
    argTypes:
    - struct ieee80211_ht_capabilities*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3820
      start: 3787
    functionDepth: 0
    functionLinenumber: 3787
    functionLinenumberEnd: 3820
    functionName: parse_ht_mcs_set_for_max_nss
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int parse_ht_mcs_set_for_max_nss(const struct ieee80211_ht_capabilities
      *htcaps,\n\t\t\t     bool parse_for_rx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - mcs_map
    - max_streams_allowed
    argTypes:
    - u16
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3840
      start: 3824
    functionDepth: 0
    functionLinenumber: 3824
    functionLinenumberEnd: 3840
    functionName: parse_mcs_map_for_max_nss
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int parse_mcs_map_for_max_nss(u16 mcs_map,\n\t\t\t\t\t      unsigned
      int max_streams_allowed)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: host_to_le16
      Src: /src/hostap/src/common/ieee802_11_common.c:3862,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/common/ieee802_11_common.c:3863,1
    - Dst: host_to_le16
      Src: /src/hostap/src/common/ieee802_11_common.c:3866,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/common/ieee802_11_common.c:3867,1
    - Dst: parse_mcs_map_for_max_nss
      Src: /src/hostap/src/common/ieee802_11_common.c:3875,1
    - Dst: le_to_host16
      Src: /src/hostap/src/common/ieee802_11_common.c:3876,1
    - Dst: parse_mcs_map_for_max_nss
      Src: /src/hostap/src/common/ieee802_11_common.c:3885,1
    - Dst: le_to_host16
      Src: /src/hostap/src/common/ieee802_11_common.c:3886,1
    - Dst: parse_ht_mcs_set_for_max_nss
      Src: /src/hostap/src/common/ieee802_11_common.c:3892,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - elems
    - parse_for_rx
    - bw
    argTypes:
    - struct ieee802_11_elems*
    - bool
    - enum chan_width
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3898
      start: 3845
    functionDepth: 1
    functionLinenumber: 3845
    functionLinenumberEnd: 3898
    functionName: get_max_nss_capability
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 2
    functionsReached:
    - parse_mcs_map_for_max_nss
    - parse_ht_mcs_set_for_max_nss
    - WPA_GET_LE16
    - le_to_host16
    - host_to_le16
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int get_max_nss_capability(struct ieee802_11_elems *elems,\n\t\t\t\t
      \   bool parse_for_rx, enum chan_width bw)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: le_to_host16
      Src: /src/hostap/src/common/ieee802_11_common.c:3924,1
    - Dst: le_to_host32
      Src: /src/hostap/src/common/ieee802_11_common.c:3930,1
    - Dst: is_24ghz_freq
      Src: /src/hostap/src/common/ieee802_11_common.c:3949,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 2
    argNames:
    - elems
    - freq
    argTypes:
    - struct ieee802_11_elems*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3973
      start: 3902
    functionDepth: 1
    functionLinenumber: 3902
    functionLinenumberEnd: 3973
    functionName: get_supported_channel_width
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 2
    functionsReached:
    - le_to_host16
    - le_to_host32
    - is_24ghz_freq
    linkageType: ''
    returnType: struct supported_chan_width
    signature: struct supported_chan_width get_supported_channel_width(struct ieee802_11_elems
      *elems, int freq)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: abs
      Src: /src/hostap/src/common/ieee802_11_common.c:3991,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - vht_oper_info
    argTypes:
    - struct ieee80211_vht_operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4007
      start: 3981
    functionDepth: 0
    functionLinenumber: 3981
    functionLinenumberEnd: 4007
    functionName: get_vht_operation_channel_width
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 0
    functionsReached:
    - abs
    linkageType: ''
    returnType: enum chan_width
    signature: "enum chan_width get_vht_operation_channel_width(\n\tconst struct ieee80211_vht_operation
      *vht_oper_info)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: abs
      Src: /src/hostap/src/common/ieee802_11_common.c:4031,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - six_ghz_oper_info
    argTypes:
    - struct ieee80211_he_6ghz_oper_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4039
      start: 4011
    functionDepth: 0
    functionLinenumber: 4011
    functionLinenumberEnd: 4039
    functionName: get_6ghz_operation_channel_width
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 0
    functionsReached:
    - abs
    linkageType: ''
    returnType: enum chan_width
    signature: "enum chan_width get_6ghz_operation_channel_width(\n\tconst struct
      ieee80211_he_6ghz_oper_info *six_ghz_oper_info)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_6ghz_operation_channel_width
      Src: /src/hostap/src/common/ieee802_11_common.c:4079,1
    - Dst: get_vht_operation_channel_width
      Src: /src/hostap/src/common/ieee802_11_common.c:4087,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - he_oper
    - he_oper_len
    argTypes:
    - struct ieee80211_he_operation*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4091
      start: 4043
    functionDepth: 1
    functionLinenumber: 4043
    functionLinenumberEnd: 4091
    functionName: get_he_operation_channel_width
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 0
    functionsReached:
    - get_vht_operation_channel_width
    - get_6ghz_operation_channel_width
    linkageType: ''
    returnType: enum chan_width
    signature: "enum chan_width get_he_operation_channel_width(\n\tconst struct ieee80211_he_operation
      *he_oper, size_t he_oper_len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - eht_oper
    - eht_oper_len
    argTypes:
    - struct ieee80211_eht_operation*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4116
      start: 4095
    functionDepth: 0
    functionLinenumber: 4095
    functionLinenumberEnd: 4116
    functionName: get_eht_operation_channel_width
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum chan_width
    signature: "enum chan_width get_eht_operation_channel_width(\n\tconst struct ieee80211_eht_operation
      *eht_oper, size_t eht_oper_len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: get_eht_operation_channel_width
      Src: /src/hostap/src/common/ieee802_11_common.c:4137,1
    - Dst: get_he_operation_channel_width
      Src: /src/hostap/src/common/ieee802_11_common.c:4141,1
    - Dst: get_vht_operation_channel_width
      Src: /src/hostap/src/common/ieee802_11_common.c:4145,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - elems
    argTypes:
    - struct ieee802_11_elems*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4156
      start: 4120
    functionDepth: 2
    functionLinenumber: 4120
    functionLinenumberEnd: 4156
    functionName: get_operation_channel_width
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 5
    functionsReached:
    - get_vht_operation_channel_width
    - get_eht_operation_channel_width
    - get_he_operation_channel_width
    linkageType: ''
    returnType: enum chan_width
    signature: enum chan_width get_operation_channel_width(struct ieee802_11_elems
      *elems)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - ap_operation_chan_width
    - sta_supported_chan_width
    argTypes:
    - enum chan_width
    - struct supported_chan_width
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4185
      start: 4163
    functionDepth: 0
    functionLinenumber: 4163
    functionLinenumberEnd: 4185
    functionName: get_sta_operation_chan_width
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: enum chan_width
    signature: "enum chan_width get_sta_operation_chan_width(\n\tenum chan_width ap_operation_chan_width,\n\tstruct
      supported_chan_width sta_supported_chan_width)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/common/ieee802_11_common.c:4199,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/common/ieee802_11_common.c:4202,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - op_class
    - idx
    argTypes:
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4211
      start: 4192
    functionDepth: 1
    functionLinenumber: 4192
    functionLinenumberEnd: 4211
    functionName: op_class_idx_to_chan_vht
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    linkageType: ''
    returnType: u8
    signature: u8 op_class_idx_to_chan_vht(u8 op_class, u8 idx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: op_class_idx_to_chan_vht
      Src: /src/hostap/src/common/ieee802_11_common.c:4225,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - op
    - idx
    argTypes:
    - struct oper_class_map*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4232
      start: 4220
    functionDepth: 2
    functionLinenumber: 4220
    functionLinenumberEnd: 4232
    functionName: op_class_idx_to_chan
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 3
    functionsReached:
    - op_class_idx_to_chan_vht
    linkageType: ''
    returnType: u8
    signature: u8 op_class_idx_to_chan(const struct oper_class_map *op, u8 idx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/common/ieee802_11_common.c:4242,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/common/ieee802_11_common.c:4245,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - op_class
    - chan
    argTypes:
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4255
      start: 4235
    functionDepth: 1
    functionLinenumber: 4235
    functionLinenumberEnd: 4255
    functionName: op_class_chan_to_idx_vht
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    linkageType: ''
    returnType: int
    signature: int op_class_chan_to_idx_vht(u8 op_class, u8 chan)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: op_class_chan_to_idx_vht
      Src: /src/hostap/src/common/ieee802_11_common.c:4267,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - op
    - chan
    argTypes:
    - struct oper_class_map*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4274
      start: 4264
    functionDepth: 2
    functionLinenumber: 4264
    functionLinenumberEnd: 4274
    functionName: op_class_chan_to_idx
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 1
    functionsReached:
    - op_class_chan_to_idx_vht
    linkageType: ''
    returnType: int
    signature: int op_class_chan_to_idx(const struct oper_class_map *op, u8 chan)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/common/ieee802_11_common.c:4283,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ctrl_freq
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4290
      start: 4277
    functionDepth: 1
    functionLinenumber: 4277
    functionLinenumberEnd: 4290
    functionName: get_center_freq_80mhz
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    linkageType: ''
    returnType: int
    signature: int get_center_freq_80mhz(int ctrl_freq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/common/ieee802_11_common.c:4298,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ctrl_freq
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4305
      start: 4293
    functionDepth: 1
    functionLinenumber: 4293
    functionLinenumberEnd: 4305
    functionName: get_center_freq_160mhz
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    linkageType: ''
    returnType: int
    signature: int get_center_freq_160mhz(int ctrl_freq)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: get_center_freq_80mhz
      Src: /src/hostap/src/common/ieee802_11_common.c:4326,1
    - Dst: get_center_freq_160mhz
      Src: /src/hostap/src/common/ieee802_11_common.c:4328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - ctrl_freq
    - bw
    argTypes:
    - int
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4332
      start: 4315
    functionDepth: 2
    functionLinenumber: 4315
    functionLinenumberEnd: 4332
    functionName: ieee80211_get_center_freq
    functionSourceFile: /src/hostap/src/common/ieee802_11_common.c
    functionUses: 1
    functionsReached:
    - get_center_freq_160mhz
    - get_center_freq_80mhz
    linkageType: ''
    returnType: int
    signature: int ieee80211_get_center_freq(int ctrl_freq, u32 bw)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 494
    functionName: BIT
    functionSourceFile: /src/hostap/src/common/wpa_ctrl.h
    functionUses: 132
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_del
      Src: /src/hostap/src/common/cli.c:53,1
    - Dst: os_free
      Src: /src/hostap/src/common/cli.c:54,1
    - Dst: os_free
      Src: /src/hostap/src/common/cli.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct cli_txt_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: cli_txt_list_free
    functionSourceFile: /src/hostap/src/common/cli.c
    functionUses: 0
    functionsReached:
    - os_free
    - dl_list_del
    linkageType: ''
    returnType: void
    signature: void cli_txt_list_free(struct cli_txt_entry *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_first
      Src: /src/hostap/src/common/cli.c:63,1
    - Dst: cli_txt_list_free
      Src: /src/hostap/src/common/cli.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - list
    argTypes:
    - struct dl_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: cli_txt_list_flush
    functionSourceFile: /src/hostap/src/common/cli.c
    functionUses: 8
    functionsReached:
    - dl_list_first
    - cli_txt_list_free
    linkageType: ''
    returnType: void
    signature: void cli_txt_list_flush(struct dl_list *list)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/src/common/cli.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - txt_list
    - txt
    argTypes:
    - struct dl_list*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 78
    functionName: cli_txt_list_get
    functionSourceFile: /src/hostap/src/common/cli.c
    functionUses: 0
    functionsReached:
    - os_strcmp
    linkageType: ''
    returnType: struct cli_txt_entry
    signature: "struct cli_txt_entry * cli_txt_list_get(struct dl_list *txt_list,\n\t\t\t\t\tconst
      char *txt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/src/common/cli.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: dl_list_for_each
    functionSourceFile: /src/hostap/src/common/cli.c
    functionUses: 207
    functionsReached:
    - os_strcmp
    linkageType: ''
    returnType: void
    signature: void dl_list_for_each(e, txt_list, struct cli_txt_entry, list)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cli_txt_list_get
      Src: /src/hostap/src/common/cli.c:85,1
    - Dst: cli_txt_list_free
      Src: /src/hostap/src/common/cli.c:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - txt_list
    - txt
    argTypes:
    - struct dl_list*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 88
    functionName: cli_txt_list_del
    functionSourceFile: /src/hostap/src/common/cli.c
    functionUses: 0
    functionsReached:
    - cli_txt_list_get
    - cli_txt_list_free
    linkageType: ''
    returnType: void
    signature: void cli_txt_list_del(struct dl_list *txt_list, const char *txt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hwaddr_aton
      Src: /src/hostap/src/common/cli.c:96,1
    - Dst: os_snprintf
      Src: /src/hostap/src/common/cli.c:98,1
    - Dst: MAC2STR
      Src: /src/hostap/src/common/cli.c:98,1
    - Dst: cli_txt_list_del
      Src: /src/hostap/src/common/cli.c:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - txt_list
    - txt
    argTypes:
    - struct dl_list*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 91
    functionDepth: 3
    functionLinenumber: 91
    functionLinenumberEnd: 100
    functionName: cli_txt_list_del_addr
    functionSourceFile: /src/hostap/src/common/cli.c
    functionUses: 2
    functionsReached:
    - os_snprintf
    - hwaddr_aton
    - MAC2STR
    - cli_txt_list_del
    linkageType: ''
    returnType: void
    signature: void cli_txt_list_del_addr(struct dl_list *txt_list, const char *txt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_strchr
      Src: /src/hostap/src/common/cli.c:109,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/cli.c:111,1
    - Dst: dup_binstr
      Src: /src/hostap/src/common/cli.c:112,1
    - Dst: cli_txt_list_del
      Src: /src/hostap/src/common/cli.c:115,1
    - Dst: os_free
      Src: /src/hostap/src/common/cli.c:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - txt_list
    - txt
    - separator
    argTypes:
    - struct dl_list*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 103
    functionDepth: 3
    functionLinenumber: 103
    functionLinenumberEnd: 117
    functionName: cli_txt_list_del_word
    functionSourceFile: /src/hostap/src/common/cli.c
    functionUses: 1
    functionsReached:
    - os_strlen
    - cli_txt_list_del
    - os_free
    - os_strchr
    - dup_binstr
    linkageType: ''
    returnType: void
    signature: "void cli_txt_list_del_word(struct dl_list *txt_list, const char *txt,\n\t\t\t
      \  int separator)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cli_txt_list_get
      Src: /src/hostap/src/common/cli.c:124,1
    - Dst: os_zalloc
      Src: /src/hostap/src/common/cli.c:127,1
    - Dst: os_strdup
      Src: /src/hostap/src/common/cli.c:130,1
    - Dst: os_free
      Src: /src/hostap/src/common/cli.c:132,1
    - Dst: dl_list_add
      Src: /src/hostap/src/common/cli.c:135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - txt_list
    - txt
    argTypes:
    - struct dl_list*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 137
    functionName: cli_txt_list_add
    functionSourceFile: /src/hostap/src/common/cli.c
    functionUses: 7
    functionsReached:
    - cli_txt_list_get
    - os_zalloc
    - dl_list_add
    - os_free
    - os_strdup
    linkageType: ''
    returnType: int
    signature: int cli_txt_list_add(struct dl_list *txt_list, const char *txt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hwaddr_aton
      Src: /src/hostap/src/common/cli.c:145,1
    - Dst: os_snprintf
      Src: /src/hostap/src/common/cli.c:147,1
    - Dst: MAC2STR
      Src: /src/hostap/src/common/cli.c:147,1
    - Dst: cli_txt_list_add
      Src: /src/hostap/src/common/cli.c:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - txt_list
    - txt
    argTypes:
    - struct dl_list*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 149
    functionName: cli_txt_list_add_addr
    functionSourceFile: /src/hostap/src/common/cli.c
    functionUses: 1
    functionsReached:
    - os_snprintf
    - hwaddr_aton
    - MAC2STR
    - cli_txt_list_add
    linkageType: ''
    returnType: int
    signature: int cli_txt_list_add_addr(struct dl_list *txt_list, const char *txt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_strchr
      Src: /src/hostap/src/common/cli.c:159,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/cli.c:161,1
    - Dst: dup_binstr
      Src: /src/hostap/src/common/cli.c:162,1
    - Dst: cli_txt_list_add
      Src: /src/hostap/src/common/cli.c:165,1
    - Dst: os_free
      Src: /src/hostap/src/common/cli.c:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - txt_list
    - txt
    - separator
    argTypes:
    - struct dl_list*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 168
    functionName: cli_txt_list_add_word
    functionSourceFile: /src/hostap/src/common/cli.c
    functionUses: 3
    functionsReached:
    - os_strlen
    - cli_txt_list_add
    - os_free
    - os_strchr
    - dup_binstr
    linkageType: ''
    returnType: int
    signature: "int cli_txt_list_add_word(struct dl_list *txt_list, const char *txt,\n\t\t\t
      \ int separator)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_len
      Src: /src/hostap/src/common/cli.c:173,1
    - Dst: os_calloc
      Src: /src/hostap/src/common/cli.c:177,1
    - Dst: os_strdup
      Src: /src/hostap/src/common/cli.c:183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 190
    functionName: cli_txt_list_array
    functionSourceFile: /src/hostap/src/common/cli.c
    functionUses: 15
    functionsReached:
    - os_strdup
    - dl_list_len
    - os_calloc
    linkageType: ''
    returnType: char
    signature: char ** cli_txt_list_array(struct dl_list *txt_list)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_strdup
      Src: /src/hostap/src/common/cli.c:183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 187
    functionName: dl_list_for_each
    functionSourceFile: /src/hostap/src/common/cli.c
    functionUses: 207
    functionsReached:
    - os_strdup
    linkageType: ''
    returnType: void
    signature: void dl_list_for_each(e, txt_list, struct cli_txt_entry, list)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - str
    - pos
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 208
    functionName: get_cmd_arg_num
    functionSourceFile: /src/hostap/src/common/cli.c
    functionUses: 35
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_cmd_arg_num(const char *str, int pos)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/src/common/cli.c:219,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/common/cli.c:220,1
    - Dst: os_snprintf
      Src: /src/hostap/src/common/cli.c:225,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/common/cli.c:226,1
    - Dst: printf
      Src: /src/hostap/src/common/cli.c:235,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 5
    argNames:
    - buf
    - buflen
    - cmd
    - argc
    - argv
    argTypes:
    - char*
    - size_t
    - char*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 237
    functionName: write_cmd
    functionSourceFile: /src/hostap/src/common/cli.c
    functionUses: 4
    functionsReached:
    - os_snprintf
    - printf
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: int write_cmd(char *buf, size_t buflen, const char *cmd, int argc,
      char *argv[])
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_strrchr
      Src: /src/hostap/src/common/cli.c:256,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 2
    argNames:
    - cmd
    - argv
    argTypes:
    - char*
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 267
    functionName: tokenize_cmd
    functionSourceFile: /src/hostap/src/common/cli.c
    functionUses: 3
    functionsReached:
    - os_strrchr
    linkageType: ''
    returnType: int
    signature: int tokenize_cmd(char *cmd, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:105,1
    - Dst: eloop_unregister_sock
      Src: /src/hostap/src/common/dpp_tcp.c:107,1
    - Dst: eloop_unregister_sock
      Src: /src/hostap/src/common/dpp_tcp.c:108,1
    - Dst: close
      Src: /src/hostap/src/common/dpp_tcp.c:109,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/common/dpp_tcp.c:111,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/common/dpp_tcp.c:113,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/common/dpp_tcp.c:114,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/common/dpp_tcp.c:115,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/common/dpp_tcp.c:117,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_tcp.c:119,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_tcp.c:120,1
    - Dst: dpp_auth_deinit
      Src: /src/hostap/src/common/dpp_tcp.c:121,1
    - Dst: dpp_pkex_free
      Src: /src/hostap/src/common/dpp_tcp.c:122,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp_tcp.c:123,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp_tcp.c:124,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp_tcp.c:125,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp_tcp.c:126,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp_tcp.c:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct dpp_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 102
    functionDepth: 3
    functionLinenumber: 102
    functionLinenumberEnd: 128
    functionName: dpp_connection_free
    functionSourceFile: /src/hostap/src/common/dpp_tcp.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dpp_auth_deinit
    - eloop_unregister_sock
    - eloop_cancel_timeout
    - wpabuf_free
    - dpp_pkex_free
    - close
    - os_free
    linkageType: ''
    returnType: void
    signature: void dpp_connection_free(struct dpp_connection *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_del
      Src: /src/hostap/src/common/dpp_tcp.c:133,1
    - Dst: dpp_connection_free
      Src: /src/hostap/src/common/dpp_tcp.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct dpp_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 4
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: dpp_connection_remove
    functionSourceFile: /src/hostap/src/common/dpp_tcp.c
    functionUses: 0
    functionsReached:
    - dl_list_del
    - dpp_connection_free
    linkageType: ''
    returnType: void
    signature: void dpp_connection_remove(struct dpp_connection *conn)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/common/dpp_tcp.c:147,1
    - Dst: dl_list_init
      Src: /src/hostap/src/common/dpp_tcp.c:150,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/dpp_tcp.c:152,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/dpp_tcp.c:153,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:158,1
    - Dst: hostapd_ip_txt
      Src: /src/hostap/src/common/dpp_tcp.c:159,1
    - Dst: dl_list_add
      Src: /src/hostap/src/common/dpp_tcp.c:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - dpp
    - config
    argTypes:
    - struct dpp_global*
    - struct dpp_relay_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 162
    functionName: dpp_relay_add_controller
    functionSourceFile: /src/hostap/src/common/dpp_tcp.c
    functionUses: 2
    functionsReached:
    - os_memcpy
    - wpa_printf
    - os_zalloc
    - dl_list_add
    - dl_list_init
    - hostapd_ip_txt
    linkageType: ''
    returnType: int
    signature: "int dpp_relay_add_controller(struct dpp_global *dpp,\n\t\t\t     struct
      dpp_relay_config *config)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/common/dpp_tcp.c:173,1
    - Dst: os_memcmp
      Src: /src/hostap/src/common/dpp_tcp.c:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - dpp
    - pkhash
    argTypes:
    - struct dpp_global*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 180
    functionName: dpp_relay_controller_get
    functionSourceFile: /src/hostap/src/common/dpp_tcp.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    - os_memcmp
    linkageType: ''
    returnType: struct dpp_relay_controller
    signature: 'struct dpp_relay_controller *

      dpp_relay_controller_get(struct dpp_global *dpp, const u8 *pkhash)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/common/dpp_tcp.c:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - dpp
    - cb_ctx
    argTypes:
    - struct dpp_global*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 198
    functionName: dpp_relay_controller_get_ctx
    functionSourceFile: /src/hostap/src/common/dpp_tcp.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    linkageType: ''
    returnType: struct dpp_relay_controller
    signature: 'struct dpp_relay_controller *

      dpp_relay_controller_get_ctx(struct dpp_global *dpp, void *cb_ctx)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/common/dpp_tcp.c:210,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - dpp
    - addr
    argTypes:
    - struct dpp_global*
    - struct sockaddr_in*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 223
    functionName: dpp_relay_controller_get_addr
    functionSourceFile: /src/hostap/src/common/dpp_tcp.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    linkageType: ''
    returnType: struct dpp_relay_controller
    signature: "struct dpp_relay_controller *\ndpp_relay_controller_get_addr(struct
      dpp_global *dpp,\n\t\t\t      const struct sockaddr_in *addr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:231,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:238,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:246,1
    - Dst: wpa_msg
      Src: /src/hostap/src/common/dpp_tcp.c:251,1
    - Dst: dpp_connection_remove
      Src: /src/hostap/src/common/dpp_tcp.c:253,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct dpp_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 226
    functionDepth: 5
    functionLinenumber: 226
    functionLinenumberEnd: 254
    functionName: dpp_controller_gas_done
    functionSourceFile: /src/hostap/src/common/dpp_tcp.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dpp_connection_remove
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: void dpp_controller_gas_done(struct dpp_connection *conn)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: eloop_unregister_sock
      Src: /src/hostap/src/common/dpp_tcp.c:262,1
    - Dst: send
      Src: /src/hostap/src/common/dpp_tcp.c:266,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/common/dpp_tcp.c:267,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_tcp.c:268,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:270,1
    - Dst: strerror
      Src: /src/hostap/src/common/dpp_tcp.c:271,1
    - Dst: dpp_connection_remove
      Src: /src/hostap/src/common/dpp_tcp.c:272,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_tcp.c:277,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:278,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_tcp.c:281,1
    - Dst: eloop_register_sock
      Src: /src/hostap/src/common/dpp_tcp.c:283,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:289,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_tcp.c:290,1
    - Dst: eloop_unregister_sock
      Src: /src/hostap/src/common/dpp_tcp.c:293,1
    - Dst: eloop_register_sock
      Src: /src/hostap/src/common/dpp_tcp.c:296,1
    - Dst: struct dpp_connection*::tcp_msg_sent
      Src: /src/hostap/src/common/dpp_tcp.c:302,1
    - Dst: dpp_connection_remove
      Src: /src/hostap/src/common/dpp_tcp.c:304,1
    - Dst: dpp_controller_gas_done
      Src: /src/hostap/src/common/dpp_tcp.c:307,1
    - Dst: dpp_controller_auth_success
      Src: /src/hostap/src/common/dpp_tcp.c:310,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 40
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct dpp_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 257
    functionDepth: 6
    functionLinenumber: 257
    functionLinenumberEnd: 314
    functionName: dpp_tcp_send
    functionSourceFile: /src/hostap/src/common/dpp_tcp.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dpp_controller_auth_success
    - eloop_unregister_sock
    - wpabuf_head_u8
    - send
    - strerror
    - wpabuf_len
    - wpabuf_free
    - eloop_register_sock
    - dpp_controller_gas_done
    - struct dpp_connection*::tcp_msg_sent
    - dpp_connection_remove
    linkageType: ''
    returnType: int
    signature: int dpp_tcp_send(struct dpp_connection *conn)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_tcp.c:320,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/common/dpp_tcp.c:322,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_tcp.c:322,1
    - Dst: wpabuf_put_be32
      Src: /src/hostap/src/common/dpp_tcp.c:325,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_tcp.c:325,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/common/dpp_tcp.c:326,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/common/dpp_tcp.c:326,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_tcp.c:327,1
    - Dst: dpp_tcp_send
      Src: /src/hostap/src/common/dpp_tcp.c:329,1
    - Dst: eloop_register_sock
      Src: /src/hostap/src/common/dpp_tcp.c:331,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - conn
    - msg
    argTypes:
    - struct dpp_connection*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 317
    functionDepth: 7
    functionLinenumber: 317
    functionLinenumberEnd: 340
    functionName: dpp_tcp_send_msg
    functionSourceFile: /src/hostap/src/common/dpp_tcp.c
    functionUses: 0
    functionsReached:
    - wpabuf_head_u8
    - wpabuf_put_data
    - wpabuf_len
    - wpabuf_free
    - eloop_register_sock
    - wpabuf_alloc
    - wpabuf_put_be32
    - dpp_tcp_send
    linkageType: ''
    returnType: int
    signature: "int dpp_tcp_send_msg(struct dpp_connection *conn,\n\t\t\t    const
      struct wpabuf *msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dpp_build_conf_req_helper
      Src: /src/hostap/src/common/dpp_tcp.c:350,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:355,1
    - Dst: dpp_tcp_send_msg
      Src: /src/hostap/src/common/dpp_tcp.c:360,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_tcp.c:361,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct dpp_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 343
    functionDepth: 8
    functionLinenumber: 343
    functionLinenumberEnd: 362
    functionName: dpp_controller_start_gas_client
    functionSourceFile: /src/hostap/src/common/dpp_tcp.c
    functionUses: 0
    functionsReached:
    - dpp_build_conf_req_helper
    - wpabuf_free
    - wpa_printf
    - dpp_tcp_send_msg
    linkageType: ''
    returnType: void
    signature: void dpp_controller_start_gas_client(struct dpp_connection *conn)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:373,1
    - Dst: dpp_notify_auth_success
      Src: /src/hostap/src/common/dpp_tcp.c:374,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:377,1
    - Dst: dpp_controller_start_gas_client
      Src: /src/hostap/src/common/dpp_tcp.c:388,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - conn
    - initiator
    argTypes:
    - struct dpp_connection*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 365
    functionDepth: 9
    functionLinenumber: 365
    functionLinenumberEnd: 389
    functionName: dpp_controller_auth_success
    functionSourceFile: /src/hostap/src/common/dpp_tcp.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - dpp_controller_start_gas_client
    - dpp_notify_auth_success
    linkageType: ''
    returnType: void
    signature: "void dpp_controller_auth_success(struct dpp_connection *conn,\n\t\t\t\t\tint
      initiator)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:396,1
    - Dst: dpp_tcp_send
      Src: /src/hostap/src/common/dpp_tcp.c:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - sock
    - eloop_ctx
    - sock_ctx
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 392
    functionDepth: 7
    functionLinenumber: 392
    functionLinenumberEnd: 398
    functionName: dpp_conn_tx_ready
    functionSourceFile: /src/hostap/src/common/dpp_tcp.c
    functionUses: 0
    functionsReached:
    - dpp_tcp_send
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void dpp_conn_tx_ready(int sock, void *eloop_ctx, void *sock_ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/common/dpp_tcp.c:413,1
    - Dst: htons
      Src: /src/hostap/src/common/dpp_tcp.c:416,1
    - Dst: os_memset
      Src: /src/hostap/src/common/dpp_tcp.c:422,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/dpp_tcp.c:424,1
    - Dst: htons
      Src: /src/hostap/src/common/dpp_tcp.c:426,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 4
    argNames:
    - addr
    - addrlen
    - ipaddr
    - port
    argTypes:
    - struct sockaddr*
    - socklen_t*
    - struct hostapd_ip_addr*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 435
    functionName: dpp_ipaddr_to_sockaddr
    functionSourceFile: /src/hostap/src/common/dpp_tcp.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - htons
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int dpp_ipaddr_to_sockaddr(struct sockaddr *addr, socklen_t *addrlen,\n\t\t\t\t
      \ const struct hostapd_ip_addr *ipaddr,\n\t\t\t\t  int port)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:442,1
    - Dst: dpp_connection_remove
      Src: /src/hostap/src/common/dpp_tcp.c:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 438
    functionDepth: 5
    functionLinenumber: 438
    functionLinenumberEnd: 445
    functionName: dpp_relay_conn_timeout
    functionSourceFile: /src/hostap/src/common/dpp_tcp.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dpp_connection_remove
    linkageType: ''
    returnType: void
    signature: void dpp_relay_conn_timeout(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_len
      Src: /src/hostap/src/common/dpp_tcp.c:457,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:458,1
    - Dst: dpp_ipaddr_to_sockaddr
      Src: /src/hostap/src/common/dpp_tcp.c:463,1
    - Dst: os_zalloc
      Src: /src/hostap/src/common/dpp_tcp.c:467,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/dpp_tcp.c:475,1
    - Dst: socket
      Src: /src/hostap/src/common/dpp_tcp.c:478,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:481,1
    - Dst: hostapd_ip_txt
      Src: /src/hostap/src/common/dpp_tcp.c:482,1
    - Dst: fcntl
      Src: /src/hostap/src/common/dpp_tcp.c:484,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:485,1
    - Dst: strerror
      Src: /src/hostap/src/common/dpp_tcp.c:486,1
    - Dst: connect
      Src: /src/hostap/src/common/dpp_tcp.c:490,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:492,1
    - Dst: strerror
      Src: /src/hostap/src/common/dpp_tcp.c:493,1
    - Dst: eloop_register_sock
      Src: /src/hostap/src/common/dpp_tcp.c:503,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/common/dpp_tcp.c:508,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/common/dpp_tcp.c:509,1
    - Dst: dl_list_add
      Src: /src/hostap/src/common/dpp_tcp.c:511,1
    - Dst: dpp_connection_free
      Src: /src/hostap/src/common/dpp_tcp.c:514,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 3
    argNames:
    - ctrl
    - src
    - freq
    argTypes:
    - struct dpp_relay_controller*
    - u8*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 448
    functionDepth: 4
    functionLinenumber: 448
    functionLinenumberEnd: 516
    functionName: dpp_relay_new_conn
    functionSourceFile: /src/hostap/src/common/dpp_tcp.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - dpp_ipaddr_to_sockaddr
    - strerror
    - connect
    - eloop_cancel_timeout
    - socket
    - eloop_register_sock
    - dpp_connection_free
    - os_zalloc
    - dl_list_add
    - eloop_register_timeout
    - dl_list_len
    - hostapd_ip_txt
    - fcntl
    linkageType: ''
    returnType: struct dpp_connection
    signature: "struct dpp_connection *\ndpp_relay_new_conn(struct dpp_relay_controller
      *ctrl, const u8 *src,\n\t\t   unsigned int freq)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/common/dpp_tcp.c:523,1
    - Dst: wpabuf_put_be32
      Src: /src/hostap/src/common/dpp_tcp.c:526,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/dpp_tcp.c:527,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/common/dpp_tcp.c:528,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/common/dpp_tcp.c:529,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/common/dpp_tcp.c:530,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - hdr
    - buf
    - len
    argTypes:
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 532
    functionName: dpp_tcp_encaps
    functionSourceFile: /src/hostap/src/common/dpp_tcp.c
    functionUses: 0
    functionsReached:
    - wpabuf_put_data
    - wpabuf_put_u8
    - wpabuf_alloc
    - wpabuf_put_be32
    - wpa_hexdump_buf
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * dpp_tcp_encaps(const u8 *hdr, const u8 *buf, size_t
      len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:540,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_tcp.c:542,1
    - Dst: dpp_tcp_encaps
      Src: /src/hostap/src/common/dpp_tcp.c:544,1
    - Dst: dpp_connection_remove
      Src: /src/hostap/src/common/dpp_tcp.c:546,1
    - Dst: dpp_tcp_send
      Src: /src/hostap/src/common/dpp_tcp.c:554,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - conn
    - hdr
    - buf
    - len
    argTypes:
    - struct dpp_connection*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 535
    functionDepth: 7
    functionLinenumber: 535
    functionLinenumberEnd: 556
    functionName: dpp_relay_tx
    functionSourceFile: /src/hostap/src/common/dpp_tcp.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_free
    - dpp_tcp_encaps
    - dpp_connection_remove
    - dpp_tcp_send
    linkageType: ''
    returnType: int
    signature: "int dpp_relay_tx(struct dpp_connection *conn, const u8 *hdr,\n\t\t\tconst
      u8 *buf, size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/common/dpp_tcp.c:565,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/common/dpp_tcp.c:566,1
    - Dst: is_broadcast_ether_addr
      Src: /src/hostap/src/common/dpp_tcp.c:571,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:572,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/dpp_tcp.c:574,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 4
    argNames:
    - ctrl
    - src
    - freq
    - type
    argTypes:
    - struct dpp_relay_controller*
    - u8*
    - unsigned int
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 559
    functionDepth: 1
    functionLinenumber: 559
    functionLinenumberEnd: 581
    functionName: dpp_relay_match_ctrl
    functionSourceFile: /src/hostap/src/common/dpp_tcp.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - is_broadcast_ether_addr
    - ether_addr_equal
    - dl_list_for_each
    linkageType: ''
    returnType: struct dpp_connection
    signature: "struct dpp_connection *\ndpp_relay_match_ctrl(struct dpp_relay_controller
      *ctrl, const u8 *src,\n\t\t     unsigned int freq, u8 type)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/common/dpp_tcp.c:600,1
    - Dst: dpp_relay_match_ctrl
      Src: /src/hostap/src/common/dpp_tcp.c:602,1
    - Dst: dpp_relay_tx
      Src: /src/hostap/src/common/dpp_tcp.c:604,1
    - Dst: dpp_relay_match_ctrl
      Src: /src/hostap/src/common/dpp_tcp.c:608,1
    - Dst: dpp_relay_tx
      Src: /src/hostap/src/common/dpp_tcp.c:611,1
    - Dst: dpp_relay_controller_get_ctx
      Src: /src/hostap/src/common/dpp_tcp.c:619,1
    - Dst: dpp_relay_controller_get_ctx
      Src: /src/hostap/src/common/dpp_tcp.c:621,1
    - Dst: dpp_relay_controller_get
      Src: /src/hostap/src/common/dpp_tcp.c:625,1
    - Dst: dpp_relay_match_ctrl
      Src: /src/hostap/src/common/dpp_tcp.c:632,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:635,1
    - Dst: dpp_relay_tx
      Src: /src/hostap/src/common/dpp_tcp.c:637,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:641,1
    - Dst: dpp_relay_new_conn
      Src: /src/hostap/src/common/dpp_tcp.c:643,1
    - Dst: dpp_tcp_encaps
      Src: /src/hostap/src/common/dpp_tcp.c:647,1
    - Dst: dpp_connection_remove
      Src: /src/hostap/src/common/dpp_tcp.c:649,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 42
    argCount: 9
    argNames:
    - dpp
    - src
    - hdr
    - buf
    - len
    - freq
    - i_bootstrap
    - r_bootstrap
    - cb_ctx
    argTypes:
    - struct dpp_global*
    - u8*
    - u8*
    - u8*
    - size_t
    - unsigned int
    - u8*
    - u8*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 584
    functionDepth: 8
    functionLinenumber: 584
    functionLinenumberEnd: 655
    functionName: dpp_relay_rx_action
    functionSourceFile: /src/hostap/src/common/dpp_tcp.c
    functionUses: 5
    functionsReached:
    - wpa_printf
    - dpp_relay_new_conn
    - dpp_tcp_encaps
    - dpp_relay_controller_get_ctx
    - dl_list_for_each
    - dpp_relay_tx
    - dpp_connection_remove
    - dpp_relay_controller_get
    - dpp_relay_match_ctrl
    linkageType: ''
    returnType: int
    signature: "int dpp_relay_rx_action(struct dpp_global *dpp, const u8 *src, const
      u8 *hdr,\n\t\t\tconst u8 *buf, size_t len, unsigned int freq,\n\t\t\tconst u8
      *i_bootstrap, const u8 *r_bootstrap,\n\t\t\tvoid *cb_ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/common/dpp_tcp.c:663,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/common/dpp_tcp.c:664,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ctrl
    - src
    argTypes:
    - struct dpp_relay_controller*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 658
    functionDepth: 1
    functionLinenumber: 658
    functionLinenumberEnd: 669
    functionName: dpp_relay_find_conn
    functionSourceFile: /src/hostap/src/common/dpp_tcp.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    - ether_addr_equal
    linkageType: ''
    returnType: struct dpp_connection
    signature: 'struct dpp_connection *

      dpp_relay_find_conn(struct dpp_relay_controller *ctrl, const u8 *src)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/common/dpp_tcp.c:682,1
    - Dst: dpp_relay_find_conn
      Src: /src/hostap/src/common/dpp_tcp.c:684,1
    - Dst: dpp_relay_find_conn
      Src: /src/hostap/src/common/dpp_tcp.c:690,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/common/dpp_tcp.c:695,1
    - Dst: wpabuf_put_be32
      Src: /src/hostap/src/common/dpp_tcp.c:698,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/dpp_tcp.c:699,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/common/dpp_tcp.c:700,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/common/dpp_tcp.c:701,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_tcp.c:703,1
    - Dst: dpp_tcp_send
      Src: /src/hostap/src/common/dpp_tcp.c:706,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 4
    argNames:
    - dpp
    - src
    - data
    - data_len
    argTypes:
    - struct dpp_global*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 672
    functionDepth: 7
    functionLinenumber: 672
    functionLinenumberEnd: 708
    functionName: dpp_relay_rx_gas_req
    functionSourceFile: /src/hostap/src/common/dpp_tcp.c
    functionUses: 1
    functionsReached:
    - wpabuf_put_u8
    - wpabuf_put_data
    - wpabuf_free
    - dl_list_for_each
    - wpabuf_alloc
    - dpp_relay_find_conn
    - wpabuf_put_be32
    - dpp_tcp_send
    - wpa_hexdump_buf
    linkageType: ''
    returnType: int
    signature: "int dpp_relay_rx_gas_req(struct dpp_global *dpp, const u8 *src, const
      u8 *data,\n\t\t\t size_t data_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_len
      Src: /src/hostap/src/common/dpp_tcp.c:713,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - dpp
    argTypes:
    - struct dpp_global*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 711
    functionDepth: 1
    functionLinenumber: 711
    functionLinenumberEnd: 714
    functionName: dpp_relay_controller_available
    functionSourceFile: /src/hostap/src/common/dpp_tcp.c
    functionUses: 3
    functionsReached:
    - dl_list_len
    linkageType: ''
    returnType: bool
    signature: bool dpp_relay_controller_available(struct dpp_global *dpp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/common/dpp_tcp.c:724,1
    - Dst: dpp_connection_remove
      Src: /src/hostap/src/common/dpp_tcp.c:726,1
    - Dst: close
      Src: /src/hostap/src/common/dpp_tcp.c:729,1
    - Dst: eloop_unregister_sock
      Src: /src/hostap/src/common/dpp_tcp.c:730,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp_tcp.c:732,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp_tcp.c:733,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp_tcp.c:734,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp_tcp.c:735,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - struct dpp_controller*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 717
    functionDepth: 5
    functionLinenumber: 717
    functionLinenumberEnd: 736
    functionName: dpp_controller_free
    functionSourceFile: /src/hostap/src/common/dpp_tcp.c
    functionUses: 0
    functionsReached:
    - eloop_unregister_sock
    - close
    - dpp_connection_remove
    - os_free
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: void dpp_controller_free(struct dpp_controller *ctrl)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:749,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp_tcp.c:751,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:754,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_tcp.c:758,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp_tcp.c:761,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:764,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_tcp.c:768,1
    - Dst: dpp_bootstrap_find_pair
      Src: /src/hostap/src/common/dpp_tcp.c:773,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:776,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:782,1
    - Dst: dpp_auth_req_rx
      Src: /src/hostap/src/common/dpp_tcp.c:787,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:792,1
    - Dst: dpp_set_configurator
      Src: /src/hostap/src/common/dpp_tcp.c:796,1
    - Dst: dpp_tcp_send_msg
      Src: /src/hostap/src/common/dpp_tcp.c:800,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 4
    argNames:
    - conn
    - hdr
    - buf
    - len
    argTypes:
    - struct dpp_connection*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 739
    functionDepth: 8
    functionLinenumber: 739
    functionLinenumberEnd: 801
    functionName: dpp_controller_rx_auth_req
    functionSourceFile: /src/hostap/src/common/dpp_tcp.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    - dpp_bootstrap_find_pair
    - dpp_tcp_send_msg
    - dpp_set_configurator
    - dpp_get_attr
    - dpp_auth_req_rx
    linkageType: ''
    returnType: int
    signature: "int dpp_controller_rx_auth_req(struct dpp_connection *conn,\n\t\t\t\t
      \     const u8 *hdr, const u8 *buf, size_t len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:814,1
    - Dst: dpp_auth_resp_rx
      Src: /src/hostap/src/common/dpp_tcp.c:816,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:819,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:823,1
    - Dst: dpp_tcp_send_msg
      Src: /src/hostap/src/common/dpp_tcp.c:828,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_tcp.c:829,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - conn
    - hdr
    - buf
    - len
    argTypes:
    - struct dpp_connection*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 804
    functionDepth: 8
    functionLinenumber: 804
    functionLinenumberEnd: 831
    functionName: dpp_controller_rx_auth_resp
    functionSourceFile: /src/hostap/src/common/dpp_tcp.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_free
    - dpp_tcp_send_msg
    - dpp_auth_resp_rx
    linkageType: ''
    returnType: int
    signature: "int dpp_controller_rx_auth_resp(struct dpp_connection *conn,\n\t\t\t\t
      \      const u8 *hdr, const u8 *buf, size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:839,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:842,1
    - Dst: dpp_auth_conf_rx
      Src: /src/hostap/src/common/dpp_tcp.c:847,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:848,1
    - Dst: dpp_controller_auth_success
      Src: /src/hostap/src/common/dpp_tcp.c:852,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - conn
    - hdr
    - buf
    - len
    argTypes:
    - struct dpp_connection*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 834
    functionDepth: 10
    functionLinenumber: 834
    functionLinenumberEnd: 854
    functionName: dpp_controller_rx_auth_conf
    functionSourceFile: /src/hostap/src/common/dpp_tcp.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dpp_controller_auth_success
    - dpp_auth_conf_rx
    linkageType: ''
    returnType: int
    signature: "int dpp_controller_rx_auth_conf(struct dpp_connection *conn,\n\t\t\t\t
      \      const u8 *hdr, const u8 *buf, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:865,1
    - Dst: wpa_msg
      Src: /src/hostap/src/common/dpp_tcp.c:867,1
    - Dst: dpp_connection_remove
      Src: /src/hostap/src/common/dpp_tcp.c:869,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 857
    functionDepth: 5
    functionLinenumber: 857
    functionLinenumberEnd: 870
    functionName: dpp_controller_conn_status_result_wait_timeout
    functionSourceFile: /src/hostap/src/common/dpp_tcp.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dpp_connection_remove
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: "void dpp_controller_conn_status_result_wait_timeout(void *eloop_ctx,\n\t\t\t\t\t\t
      \   void *timeout_ctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:884,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:887,1
    - Dst: dpp_conf_result_rx
      Src: /src/hostap/src/common/dpp_tcp.c:892,1
    - Dst: wpa_msg
      Src: /src/hostap/src/common/dpp_tcp.c:894,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:897,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/common/dpp_tcp.c:899,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/common/dpp_tcp.c:902,1
    - Dst: wpa_msg
      Src: /src/hostap/src/common/dpp_tcp.c:908,1
    - Dst: wpa_msg
      Src: /src/hostap/src/common/dpp_tcp.c:911,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 4
    argNames:
    - conn
    - hdr
    - buf
    - len
    argTypes:
    - struct dpp_connection*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 873
    functionDepth: 4
    functionLinenumber: 873
    functionLinenumberEnd: 913
    functionName: dpp_controller_rx_conf_result
    functionSourceFile: /src/hostap/src/common/dpp_tcp.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_msg
    - eloop_cancel_timeout
    - eloop_register_timeout
    - dpp_conf_result_rx
    linkageType: ''
    returnType: int
    signature: "int dpp_controller_rx_conf_result(struct dpp_connection *conn,\n\t\t\t\t\t
      const u8 *hdr, const u8 *buf,\n\t\t\t\t\t size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:929,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:932,1
    - Dst: dpp_conn_status_result_rx
      Src: /src/hostap/src/common/dpp_tcp.c:937,1
    - Dst: wpa_msg
      Src: /src/hostap/src/common/dpp_tcp.c:939,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/src/common/dpp_tcp.c:941,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp_tcp.c:943,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - conn
    - hdr
    - buf
    - len
    argTypes:
    - struct dpp_connection*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 916
    functionDepth: 4
    functionLinenumber: 916
    functionLinenumberEnd: 945
    functionName: dpp_controller_rx_conn_status_result
    functionSourceFile: /src/hostap/src/common/dpp_tcp.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dpp_conn_status_result_rx
    - wpa_msg
    - wpa_ssid_txt
    - os_free
    linkageType: ''
    returnType: int
    signature: "int dpp_controller_rx_conn_status_result(struct dpp_connection *conn,\n\t\t\t\t\t\tconst
      u8 *hdr, const u8 *buf,\n\t\t\t\t\t\tsize_t len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:958,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp_tcp.c:960,1
    - Dst: wpa_msg
      Src: /src/hostap/src/common/dpp_tcp.c:963,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_tcp.c:967,1
    - Dst: dpp_bootstrap_find_chirp
      Src: /src/hostap/src/common/dpp_tcp.c:969,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:971,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:977,1
    - Dst: dpp_auth_init
      Src: /src/hostap/src/common/dpp_tcp.c:982,1
    - Dst: dpp_set_configurator
      Src: /src/hostap/src/common/dpp_tcp.c:986,1
    - Dst: dpp_auth_deinit
      Src: /src/hostap/src/common/dpp_tcp.c:987,1
    - Dst: dpp_tcp_send_msg
      Src: /src/hostap/src/common/dpp_tcp.c:992,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 4
    argNames:
    - conn
    - hdr
    - buf
    - len
    argTypes:
    - struct dpp_connection*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 948
    functionDepth: 8
    functionLinenumber: 948
    functionLinenumberEnd: 993
    functionName: dpp_controller_rx_presence_announcement
    functionSourceFile: /src/hostap/src/common/dpp_tcp.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dpp_auth_deinit
    - wpa_hexdump
    - wpa_msg
    - dpp_bootstrap_find_chirp
    - dpp_auth_init
    - dpp_tcp_send_msg
    - dpp_set_configurator
    - dpp_get_attr
    linkageType: ''
    returnType: int
    signature: "int dpp_controller_rx_presence_announcement(struct dpp_connection
      *conn,\n\t\t\t\t\t\t   const u8 *hdr, const u8 *buf,\n\t\t\t\t\t\t   size_t
      len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:1008,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:1013,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp_tcp.c:1015,1
    - Dst: wpa_msg
      Src: /src/hostap/src/common/dpp_tcp.c:1018,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_tcp.c:1022,1
    - Dst: dpp_configurator_find_kid
      Src: /src/hostap/src/common/dpp_tcp.c:1024,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:1026,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp_tcp.c:1031,1
    - Dst: wpa_msg
      Src: /src/hostap/src/common/dpp_tcp.c:1034,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/common/dpp_tcp.c:1038,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:1039,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp_tcp.c:1041,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp_tcp.c:1042,1
    - Dst: dpp_reconfig_init
      Src: /src/hostap/src/common/dpp_tcp.c:1044,1
    - Dst: dpp_set_configurator
      Src: /src/hostap/src/common/dpp_tcp.c:1048,1
    - Dst: dpp_auth_deinit
      Src: /src/hostap/src/common/dpp_tcp.c:1049,1
    - Dst: dpp_tcp_send_msg
      Src: /src/hostap/src/common/dpp_tcp.c:1054,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 4
    argNames:
    - conn
    - hdr
    - buf
    - len
    argTypes:
    - struct dpp_connection*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1055
      start: 996
    functionDepth: 8
    functionLinenumber: 996
    functionLinenumberEnd: 1055
    functionName: dpp_controller_rx_reconfig_announcement
    functionSourceFile: /src/hostap/src/common/dpp_tcp.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dpp_reconfig_init
    - dpp_auth_deinit
    - wpa_hexdump
    - wpa_msg
    - WPA_GET_LE16
    - dpp_tcp_send_msg
    - dpp_set_configurator
    - dpp_get_attr
    - dpp_configurator_find_kid
    linkageType: ''
    returnType: int
    signature: "int dpp_controller_rx_reconfig_announcement(struct dpp_connection
      *conn,\n\t\t\t\t\t\t   const u8 *hdr, const u8 *buf,\n\t\t\t\t\t\t   size_t
      len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:1066,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:1069,1
    - Dst: dpp_reconfig_auth_resp_rx
      Src: /src/hostap/src/common/dpp_tcp.c:1074,1
    - Dst: dpp_tcp_send_msg
      Src: /src/hostap/src/common/dpp_tcp.c:1078,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_tcp.c:1079,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - conn
    - hdr
    - buf
    - len
    argTypes:
    - struct dpp_connection*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1058
    functionDepth: 8
    functionLinenumber: 1058
    functionLinenumberEnd: 1081
    functionName: dpp_controller_rx_reconfig_auth_resp
    functionSourceFile: /src/hostap/src/common/dpp_tcp.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_free
    - dpp_reconfig_auth_resp_rx
    - dpp_tcp_send_msg
    linkageType: ''
    returnType: int
    signature: "int dpp_controller_rx_reconfig_auth_resp(struct dpp_connection *conn,\n\t\t\t\t\t\tconst
      u8 *hdr, const u8 *buf,\n\t\t\t\t\t\tsize_t len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:1093,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:1099,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:1105,1
    - Dst: dpp_pkex_rx_exchange_req
      Src: /src/hostap/src/common/dpp_tcp.c:1110,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/dpp_tcp.c:1114,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:1117,1
    - Dst: dpp_tcp_send_msg
      Src: /src/hostap/src/common/dpp_tcp.c:1122,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - conn
    - hdr
    - buf
    - len
    argTypes:
    - struct dpp_connection*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1123
      start: 1084
    functionDepth: 8
    functionLinenumber: 1084
    functionLinenumberEnd: 1123
    functionName: dpp_controller_rx_pkex_exchange_req
    functionSourceFile: /src/hostap/src/common/dpp_tcp.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - dpp_tcp_send_msg
    - dpp_pkex_rx_exchange_req
    linkageType: ''
    returnType: int
    signature: "int dpp_controller_rx_pkex_exchange_req(struct dpp_connection *conn,\n\t\t\t\t\t
      \      const u8 *hdr, const u8 *buf,\n\t\t\t\t\t       size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:1134,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:1137,1
    - Dst: dpp_pkex_rx_exchange_resp
      Src: /src/hostap/src/common/dpp_tcp.c:1141,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:1143,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:1147,1
    - Dst: dpp_tcp_send_msg
      Src: /src/hostap/src/common/dpp_tcp.c:1148,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_tcp.c:1149,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - conn
    - hdr
    - buf
    - len
    argTypes:
    - struct dpp_connection*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1151
      start: 1126
    functionDepth: 8
    functionLinenumber: 1126
    functionLinenumberEnd: 1151
    functionName: dpp_controller_rx_pkex_exchange_resp
    functionSourceFile: /src/hostap/src/common/dpp_tcp.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_free
    - dpp_pkex_rx_exchange_resp
    - dpp_tcp_send_msg
    linkageType: ''
    returnType: int
    signature: "int dpp_controller_rx_pkex_exchange_resp(struct dpp_connection *conn,\n\t\t\t\t\t\tconst
      u8 *hdr, const u8 *buf,\n\t\t\t\t\t\tsize_t len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:1163,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:1166,1
    - Dst: dpp_pkex_rx_commit_reveal_req
      Src: /src/hostap/src/common/dpp_tcp.c:1170,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:1172,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:1176,1
    - Dst: dpp_tcp_send_msg
      Src: /src/hostap/src/common/dpp_tcp.c:1177,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_tcp.c:1178,1
    - Dst: dpp_pkex_finish
      Src: /src/hostap/src/common/dpp_tcp.c:1181,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 4
    argNames:
    - conn
    - hdr
    - buf
    - len
    argTypes:
    - struct dpp_connection*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1186
      start: 1154
    functionDepth: 8
    functionLinenumber: 1154
    functionLinenumberEnd: 1186
    functionName: dpp_controller_rx_pkex_commit_reveal_req
    functionSourceFile: /src/hostap/src/common/dpp_tcp.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_free
    - dpp_pkex_rx_commit_reveal_req
    - dpp_tcp_send_msg
    - dpp_pkex_finish
    linkageType: ''
    returnType: int
    signature: "int dpp_controller_rx_pkex_commit_reveal_req(struct dpp_connection
      *conn,\n\t\t\t\t\t\t    const u8 *hdr,\n\t\t\t\t\t\t    const u8 *buf, size_t
      len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:1198,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:1201,1
    - Dst: dpp_pkex_rx_commit_reveal_resp
      Src: /src/hostap/src/common/dpp_tcp.c:1205,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:1207,1
    - Dst: dpp_pkex_finish
      Src: /src/hostap/src/common/dpp_tcp.c:1211,1
    - Dst: struct dpp_connection*::pkex_done
      Src: /src/hostap/src/common/dpp_tcp.c:1218,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - conn
    - hdr
    - buf
    - len
    argTypes:
    - struct dpp_connection*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1219
      start: 1189
    functionDepth: 1
    functionLinenumber: 1189
    functionLinenumberEnd: 1219
    functionName: dpp_controller_rx_pkex_commit_reveal_resp
    functionSourceFile: /src/hostap/src/common/dpp_tcp.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dpp_pkex_finish
    - dpp_pkex_rx_commit_reveal_resp
    - struct dpp_connection*::pkex_done
    linkageType: ''
    returnType: int
    signature: "int dpp_controller_rx_pkex_commit_reveal_resp(struct dpp_connection
      *conn,\n\t\t\t\t\t  const u8 *hdr,\n\t\t\t\t\t  const u8 *buf, size_t len)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:1228,1
    - Dst: WPA_GET_BE24
      Src: /src/hostap/src/common/dpp_tcp.c:1233,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:1235,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:1240,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:1245,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_tcp.c:1248,1
    - Dst: dpp_check_attrs
      Src: /src/hostap/src/common/dpp_tcp.c:1250,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:1254,1
    - Dst: struct dpp_connection*::relay::tx
      Src: /src/hostap/src/common/dpp_tcp.c:1255,1
    - Dst: dpp_controller_rx_auth_req
      Src: /src/hostap/src/common/dpp_tcp.c:1262,1
    - Dst: dpp_controller_rx_auth_resp
      Src: /src/hostap/src/common/dpp_tcp.c:1264,1
    - Dst: dpp_controller_rx_auth_conf
      Src: /src/hostap/src/common/dpp_tcp.c:1266,1
    - Dst: dpp_controller_rx_conf_result
      Src: /src/hostap/src/common/dpp_tcp.c:1268,1
    - Dst: dpp_controller_rx_conn_status_result
      Src: /src/hostap/src/common/dpp_tcp.c:1270,1
    - Dst: dpp_controller_rx_presence_announcement
      Src: /src/hostap/src/common/dpp_tcp.c:1273,1
    - Dst: dpp_controller_rx_reconfig_announcement
      Src: /src/hostap/src/common/dpp_tcp.c:1276,1
    - Dst: dpp_controller_rx_reconfig_auth_resp
      Src: /src/hostap/src/common/dpp_tcp.c:1279,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:1282,1
    - Dst: dpp_controller_rx_pkex_exchange_req
      Src: /src/hostap/src/common/dpp_tcp.c:1286,1
    - Dst: dpp_controller_rx_pkex_exchange_resp
      Src: /src/hostap/src/common/dpp_tcp.c:1289,1
    - Dst: dpp_controller_rx_pkex_commit_reveal_req
      Src: /src/hostap/src/common/dpp_tcp.c:1292,1
    - Dst: dpp_controller_rx_pkex_commit_reveal_resp
      Src: /src/hostap/src/common/dpp_tcp.c:1295,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:1299,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 55
    argCount: 3
    argNames:
    - conn
    - msg
    - len
    argTypes:
    - struct dpp_connection*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1303
      start: 1222
    functionDepth: 11
    functionLinenumber: 1222
    functionLinenumberEnd: 1303
    functionName: dpp_controller_rx_action
    functionSourceFile: /src/hostap/src/common/dpp_tcp.c
    functionUses: 0
    functionsReached:
    - dpp_controller_rx_auth_conf
    - wpa_printf
    - dpp_check_attrs
    - dpp_controller_rx_presence_announcement
    - dpp_controller_rx_auth_req
    - wpa_hexdump
    - dpp_controller_rx_pkex_exchange_resp
    - dpp_controller_rx_reconfig_announcement
    - dpp_controller_rx_pkex_commit_reveal_req
    - dpp_controller_rx_pkex_exchange_req
    - dpp_controller_rx_pkex_commit_reveal_resp
    - WPA_GET_BE24
    - dpp_controller_rx_reconfig_auth_resp
    - dpp_controller_rx_conf_result
    - struct dpp_connection*::relay::tx
    - dpp_controller_rx_conn_status_result
    - dpp_controller_rx_auth_resp
    linkageType: ''
    returnType: int
    signature: "int dpp_controller_rx_action(struct dpp_connection *conn, const u8
      *msg,\n\t\t\t\t    size_t len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/common/dpp_tcp.c:1314,1
    - Dst: wpabuf_put_be32
      Src: /src/hostap/src/common/dpp_tcp.c:1318,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/dpp_tcp.c:1320,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/dpp_tcp.c:1321,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_tcp.c:1322,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/dpp_tcp.c:1324,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_tcp.c:1325,1
    - Dst: dpp_write_adv_proto
      Src: /src/hostap/src/common/dpp_tcp.c:1327,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_tcp.c:1328,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/common/dpp_tcp.c:1331,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_tcp.c:1332,1
    - Dst: dpp_tcp_send
      Src: /src/hostap/src/common/dpp_tcp.c:1335,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - conn
    - action
    argTypes:
    - struct dpp_connection*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1337
      start: 1306
    functionDepth: 7
    functionLinenumber: 1306
    functionLinenumberEnd: 1337
    functionName: dpp_tcp_send_comeback_delay
    functionSourceFile: /src/hostap/src/common/dpp_tcp.c
    functionUses: 0
    functionsReached:
    - wpabuf_put_u8
    - wpabuf_free
    - wpabuf_put_le16
    - wpabuf_alloc
    - dpp_write_adv_proto
    - wpabuf_put_be32
    - dpp_tcp_send
    - wpa_hexdump_buf
    linkageType: ''
    returnType: int
    signature: int dpp_tcp_send_comeback_delay(struct dpp_connection *conn, u8 action)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_tcp.c:1349,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/common/dpp_tcp.c:1353,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_tcp.c:1355,1
    - Dst: wpabuf_put_be32
      Src: /src/hostap/src/common/dpp_tcp.c:1359,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/dpp_tcp.c:1361,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/dpp_tcp.c:1362,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_tcp.c:1363,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/dpp_tcp.c:1365,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_tcp.c:1366,1
    - Dst: dpp_write_adv_proto
      Src: /src/hostap/src/common/dpp_tcp.c:1368,1
    - Dst: dpp_write_gas_query
      Src: /src/hostap/src/common/dpp_tcp.c:1369,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_tcp.c:1370,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/common/dpp_tcp.c:1374,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_tcp.c:1375,1
    - Dst: dpp_tcp_send
      Src: /src/hostap/src/common/dpp_tcp.c:1379,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 3
    argNames:
    - conn
    - action
    - resp
    argTypes:
    - struct dpp_connection*
    - u8
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1381
      start: 1340
    functionDepth: 7
    functionLinenumber: 1340
    functionLinenumberEnd: 1381
    functionName: dpp_tcp_send_gas_resp
    functionSourceFile: /src/hostap/src/common/dpp_tcp.c
    functionUses: 0
    functionsReached:
    - wpabuf_put_u8
    - wpabuf_len
    - wpabuf_free
    - wpabuf_put_le16
    - dpp_write_gas_query
    - wpabuf_alloc
    - dpp_write_adv_proto
    - wpabuf_put_be32
    - dpp_tcp_send
    - wpa_hexdump_buf
    linkageType: ''
    returnType: int
    signature: "int dpp_tcp_send_gas_resp(struct dpp_connection *conn, u8 action,\n\t\t\t\t
      struct wpabuf *resp)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:1396,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:1401,1
    - Dst: wpa_msg
      Src: /src/hostap/src/common/dpp_tcp.c:1405,1
    - Dst: WPA_GET_BE24
      Src: /src/hostap/src/common/dpp_tcp.c:1421,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/common/dpp_tcp.c:1429,1
    - Dst: dpp_conf_req_rx
      Src: /src/hostap/src/common/dpp_tcp.c:1434,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:1436,1
    - Dst: dpp_tcp_send_comeback_delay
      Src: /src/hostap/src/common/dpp_tcp.c:1438,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:1448,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/dpp_tcp.c:1450,1
    - Dst: os_malloc
      Src: /src/hostap/src/common/dpp_tcp.c:1452,1
    - Dst: printf_encode
      Src: /src/hostap/src/common/dpp_tcp.c:1454,1
    - Dst: os_snprintf
      Src: /src/hostap/src/common/dpp_tcp.c:1463,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/common/dpp_tcp.c:1465,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/dpp_tcp.c:1472,1
    - Dst: has_ctrl_char
      Src: /src/hostap/src/common/dpp_tcp.c:1474,1
    - Dst: wpa_msg
      Src: /src/hostap/src/common/dpp_tcp.c:1477,1
    - Dst: dpp_netrole_str
      Src: /src/hostap/src/common/dpp_tcp.c:1479,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp_tcp.c:1481,1
    - Dst: dpp_tcp_send_comeback_delay
      Src: /src/hostap/src/common/dpp_tcp.c:1484,1
    - Dst: dpp_tcp_send_gas_resp
      Src: /src/hostap/src/common/dpp_tcp.c:1488,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 63
    argCount: 3
    argNames:
    - conn
    - msg
    - len
    argTypes:
    - struct dpp_connection*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1489
      start: 1384
    functionDepth: 8
    functionLinenumber: 1384
    functionLinenumberEnd: 1489
    functionName: dpp_controller_rx_gas_req
    functionSourceFile: /src/hostap/src/common/dpp_tcp.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - has_ctrl_char
    - wpa_printf
    - wpa_msg
    - os_malloc
    - WPA_GET_LE16
    - WPA_GET_BE24
    - printf_encode
    - os_snprintf
    - dpp_netrole_str
    - dpp_tcp_send_gas_resp
    - dpp_conf_req_rx
    - os_free
    - os_snprintf_error
    - dpp_tcp_send_comeback_delay
    linkageType: ''
    returnType: int
    signature: "int dpp_controller_rx_gas_req(struct dpp_connection *conn, const u8
      *msg,\n\t\t\t\t     size_t len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:1502,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:1508,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:1514,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:1520,1
    - Dst: dpp_tcp_send_comeback_delay
      Src: /src/hostap/src/common/dpp_tcp.c:1521,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:1525,1
    - Dst: dpp_tcp_send_gas_resp
      Src: /src/hostap/src/common/dpp_tcp.c:1529,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 3
    argNames:
    - conn
    - msg
    - len
    argTypes:
    - struct dpp_connection*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1530
      start: 1492
    functionDepth: 8
    functionLinenumber: 1492
    functionLinenumberEnd: 1530
    functionName: dpp_controller_rx_gas_comeback_req
    functionSourceFile: /src/hostap/src/common/dpp_tcp.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dpp_tcp_send_gas_resp
    - dpp_tcp_send_comeback_delay
    linkageType: ''
    returnType: int
    signature: "int dpp_controller_rx_gas_comeback_req(struct dpp_connection *conn,\n\t\t\t\t\t
      \     const u8 *msg, size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:1541,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_tcp.c:1542,1
    - Dst: dpp_build_csr
      Src: /src/hostap/src/common/dpp_tcp.c:1544,1
    - Dst: dpp_connection_remove
      Src: /src/hostap/src/common/dpp_tcp.c:1546,1
    - Dst: dpp_controller_start_gas_client
      Src: /src/hostap/src/common/dpp_tcp.c:1550,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1551
      start: 1533
    functionDepth: 9
    functionLinenumber: 1533
    functionLinenumberEnd: 1551
    functionName: dpp_tcp_build_csr
    functionSourceFile: /src/hostap/src/common/dpp_tcp.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_free
    - dpp_build_csr
    - dpp_connection_remove
    - dpp_controller_start_gas_client
    linkageType: ''
    returnType: void
    signature: void dpp_tcp_build_csr(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:1563,1
    - Dst: dpp_controller_start_gas_client
      Src: /src/hostap/src/common/dpp_tcp.c:1564,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1565
      start: 1555
    functionDepth: 9
    functionLinenumber: 1555
    functionLinenumberEnd: 1565
    functionName: dpp_tcp_build_new_key
    functionSourceFile: /src/hostap/src/common/dpp_tcp.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dpp_controller_start_gas_client
    linkageType: ''
    returnType: void
    signature: void dpp_tcp_build_new_key(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:1576,1
    - Dst: dpp_conf_resp_rx
      Src: /src/hostap/src/common/dpp_tcp.c:1580,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_tcp.c:1583,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:1585,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/common/dpp_tcp.c:1586,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:1591,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/common/dpp_tcp.c:1592,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:1598,1
    - Dst: struct dpp_connection*::process_conf_obj
      Src: /src/hostap/src/common/dpp_tcp.c:1603,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:1610,1
    - Dst: dpp_build_conf_result
      Src: /src/hostap/src/common/dpp_tcp.c:1612,1
    - Dst: dpp_tcp_send_msg
      Src: /src/hostap/src/common/dpp_tcp.c:1617,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_tcp.c:1618,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 2
    argNames:
    - conn
    - resp
    argTypes:
    - struct dpp_connection*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1623
      start: 1569
    functionDepth: 8
    functionLinenumber: 1569
    functionLinenumberEnd: 1623
    functionName: dpp_tcp_rx_gas_resp
    functionSourceFile: /src/hostap/src/common/dpp_tcp.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_free
    - dpp_build_conf_result
    - dpp_conf_resp_rx
    - dpp_tcp_send_msg
    - eloop_register_timeout
    - struct dpp_connection*::process_conf_obj
    linkageType: ''
    returnType: int
    signature: int dpp_tcp_rx_gas_resp(struct dpp_connection *conn, struct wpabuf
      *resp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:1635,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/common/dpp_tcp.c:1636,1
    - Dst: wpabuf_put_be32
      Src: /src/hostap/src/common/dpp_tcp.c:1639,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/dpp_tcp.c:1640,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/dpp_tcp.c:1641,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/common/dpp_tcp.c:1642,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_tcp.c:1644,1
    - Dst: dpp_tcp_send
      Src: /src/hostap/src/common/dpp_tcp.c:1647,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1648
      start: 1626
    functionDepth: 7
    functionLinenumber: 1626
    functionLinenumberEnd: 1648
    functionName: dpp_tcp_gas_query_comeback
    functionSourceFile: /src/hostap/src/common/dpp_tcp.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put_u8
    - wpabuf_free
    - wpabuf_alloc
    - wpabuf_put_be32
    - dpp_tcp_send
    - wpa_hexdump_buf
    linkageType: ''
    returnType: void
    signature: void dpp_tcp_gas_query_comeback(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:1662,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/common/dpp_tcp.c:1669,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:1671,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/common/dpp_tcp.c:1677,1
    - Dst: WPA_GET_BE24
      Src: /src/hostap/src/common/dpp_tcp.c:1690,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/common/dpp_tcp.c:1698,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:1709,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/common/dpp_tcp.c:1711,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/common/dpp_tcp.c:1712,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/common/dpp_tcp.c:1717,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/common/dpp_tcp.c:1720,1
    - Dst: dpp_tcp_rx_gas_resp
      Src: /src/hostap/src/common/dpp_tcp.c:1724,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:1727,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_tcp.c:1728,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:1731,1
    - Dst: struct dpp_connection*::relay::gas_resp_tx
      Src: /src/hostap/src/common/dpp_tcp.c:1732,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 55
    argCount: 4
    argNames:
    - conn
    - msg
    - len
    - comeback
    argTypes:
    - struct dpp_connection*
    - u8*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1736
      start: 1651
    functionDepth: 9
    functionLinenumber: 1651
    functionLinenumberEnd: 1736
    functionName: dpp_rx_gas_resp
    functionSourceFile: /src/hostap/src/common/dpp_tcp.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put_data
    - dpp_tcp_rx_gas_resp
    - eloop_cancel_timeout
    - struct dpp_connection*::relay::gas_resp_tx
    - wpabuf_free
    - WPA_GET_LE16
    - WPA_GET_BE24
    - wpabuf_alloc
    - eloop_register_timeout
    linkageType: ''
    returnType: int
    signature: "int dpp_rx_gas_resp(struct dpp_connection *conn, const u8 *msg,\n\t\t\t
      \  size_t len, bool comeback)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:1745,1
    - Dst: recv
      Src: /src/hostap/src/common/dpp_tcp.c:1751,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:1754,1
    - Dst: strerror
      Src: /src/hostap/src/common/dpp_tcp.c:1755,1
    - Dst: dpp_connection_remove
      Src: /src/hostap/src/common/dpp_tcp.c:1756,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:1760,1
    - Dst: dpp_connection_remove
      Src: /src/hostap/src/common/dpp_tcp.c:1762,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:1765,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:1771,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/common/dpp_tcp.c:1777,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:1778,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:1780,1
    - Dst: dpp_connection_remove
      Src: /src/hostap/src/common/dpp_tcp.c:1781,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_tcp.c:1785,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/common/dpp_tcp.c:1786,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:1790,1
    - Dst: dpp_connection_remove
      Src: /src/hostap/src/common/dpp_tcp.c:1792,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:1796,1
    - Dst: wpabuf_tailroom
      Src: /src/hostap/src/common/dpp_tcp.c:1797,1
    - Dst: recv
      Src: /src/hostap/src/common/dpp_tcp.c:1799,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/common/dpp_tcp.c:1799,1
    - Dst: wpabuf_tailroom
      Src: /src/hostap/src/common/dpp_tcp.c:1799,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:1801,1
    - Dst: strerror
      Src: /src/hostap/src/common/dpp_tcp.c:1801,1
    - Dst: dpp_connection_remove
      Src: /src/hostap/src/common/dpp_tcp.c:1802,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:1806,1
    - Dst: dpp_connection_remove
      Src: /src/hostap/src/common/dpp_tcp.c:1807,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:1810,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/common/dpp_tcp.c:1811,1
    - Dst: wpabuf_tailroom
      Src: /src/hostap/src/common/dpp_tcp.c:1813,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:1814,1
    - Dst: wpabuf_tailroom
      Src: /src/hostap/src/common/dpp_tcp.c:1816,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/common/dpp_tcp.c:1821,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_tcp.c:1822,1
    - Dst: dpp_connection_remove
      Src: /src/hostap/src/common/dpp_tcp.c:1823,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/dpp_tcp.c:1827,1
    - Dst: dpp_controller_rx_action
      Src: /src/hostap/src/common/dpp_tcp.c:1830,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_tcp.c:1831,1
    - Dst: dpp_connection_remove
      Src: /src/hostap/src/common/dpp_tcp.c:1832,1
    - Dst: dpp_controller_rx_gas_req
      Src: /src/hostap/src/common/dpp_tcp.c:1835,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_tcp.c:1836,1
    - Dst: dpp_connection_remove
      Src: /src/hostap/src/common/dpp_tcp.c:1837,1
    - Dst: dpp_rx_gas_resp
      Src: /src/hostap/src/common/dpp_tcp.c:1841,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_tcp.c:1842,1
    - Dst: dpp_connection_remove
      Src: /src/hostap/src/common/dpp_tcp.c:1844,1
    - Dst: dpp_controller_rx_gas_comeback_req
      Src: /src/hostap/src/common/dpp_tcp.c:1847,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_tcp.c:1848,1
    - Dst: dpp_connection_remove
      Src: /src/hostap/src/common/dpp_tcp.c:1849,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:1852,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 82
    argCount: 3
    argNames:
    - sd
    - eloop_ctx
    - sock_ctx
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1856
      start: 1739
    functionDepth: 12
    functionLinenumber: 1739
    functionLinenumberEnd: 1856
    functionName: dpp_controller_rx
    functionSourceFile: /src/hostap/src/common/dpp_tcp.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put
    - strerror
    - wpabuf_len
    - dpp_controller_rx_gas_req
    - wpabuf_free
    - recv
    - wpabuf_tailroom
    - wpabuf_head
    - wpabuf_alloc
    - dpp_rx_gas_resp
    - dpp_connection_remove
    - dpp_controller_rx_action
    - dpp_controller_rx_gas_comeback_req
    - WPA_GET_BE32
    - wpa_hexdump_buf
    linkageType: ''
    returnType: void
    signature: void dpp_controller_rx(int sd, void *eloop_ctx, void *sock_ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:1867,1
    - Dst: accept
      Src: /src/hostap/src/common/dpp_tcp.c:1869,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:1871,1
    - Dst: strerror
      Src: /src/hostap/src/common/dpp_tcp.c:1873,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:1876,1
    - Dst: inet_ntoa
      Src: /src/hostap/src/common/dpp_tcp.c:1877,1
    - Dst: ntohs
      Src: /src/hostap/src/common/dpp_tcp.c:1877,1
    - Dst: os_zalloc
      Src: /src/hostap/src/common/dpp_tcp.c:1879,1
    - Dst: fcntl
      Src: /src/hostap/src/common/dpp_tcp.c:1892,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:1893,1
    - Dst: strerror
      Src: /src/hostap/src/common/dpp_tcp.c:1894,1
    - Dst: eloop_register_sock
      Src: /src/hostap/src/common/dpp_tcp.c:1898,1
    - Dst: dl_list_add
      Src: /src/hostap/src/common/dpp_tcp.c:1905,1
    - Dst: close
      Src: /src/hostap/src/common/dpp_tcp.c:1909,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp_tcp.c:1910,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 3
    argNames:
    - sd
    - eloop_ctx
    - sock_ctx
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1911
      start: 1859
    functionDepth: 1
    functionLinenumber: 1859
    functionLinenumberEnd: 1911
    functionName: dpp_controller_tcp_cb
    functionSourceFile: /src/hostap/src/common/dpp_tcp.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - strerror
    - eloop_register_sock
    - accept
    - os_zalloc
    - dl_list_add
    - close
    - os_free
    - inet_ntoa
    - ntohs
    - fcntl
    linkageType: ''
    returnType: void
    signature: void dpp_controller_tcp_cb(int sd, void *eloop_ctx, void *sock_ctx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:1926,1
    - Dst: hostapd_ip_txt
      Src: /src/hostap/src/common/dpp_tcp.c:1927,1
    - Dst: dpp_ipaddr_to_sockaddr
      Src: /src/hostap/src/common/dpp_tcp.c:1928,1
    - Dst: dpp_pkex_free
      Src: /src/hostap/src/common/dpp_tcp.c:1930,1
    - Dst: os_zalloc
      Src: /src/hostap/src/common/dpp_tcp.c:1934,1
    - Dst: dpp_pkex_free
      Src: /src/hostap/src/common/dpp_tcp.c:1936,1
    - Dst: socket
      Src: /src/hostap/src/common/dpp_tcp.c:1945,1
    - Dst: fcntl
      Src: /src/hostap/src/common/dpp_tcp.c:1949,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:1950,1
    - Dst: strerror
      Src: /src/hostap/src/common/dpp_tcp.c:1951,1
    - Dst: connect
      Src: /src/hostap/src/common/dpp_tcp.c:1955,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:1957,1
    - Dst: strerror
      Src: /src/hostap/src/common/dpp_tcp.c:1958,1
    - Dst: eloop_register_sock
      Src: /src/hostap/src/common/dpp_tcp.c:1968,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/dpp_tcp.c:1973,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_tcp.c:1974,1
    - Dst: dpp_tcp_encaps
      Src: /src/hostap/src/common/dpp_tcp.c:1977,1
    - Dst: dl_list_add
      Src: /src/hostap/src/common/dpp_tcp.c:1984,1
    - Dst: dpp_connection_free
      Src: /src/hostap/src/common/dpp_tcp.c:1987,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 50
    argCount: 6
    argNames:
    - dpp
    - pkex
    - addr
    - port
    - msg_ctx
    - cb_ctx
    argTypes:
    - struct dpp_global*
    - struct dpp_pkex*
    - struct hostapd_ip_addr*
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1989
      start: 1914
    functionDepth: 4
    functionLinenumber: 1914
    functionLinenumberEnd: 1989
    functionName: dpp_tcp_pkex_init
    functionSourceFile: /src/hostap/src/common/dpp_tcp.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - dpp_ipaddr_to_sockaddr
    - strerror
    - connect
    - wpabuf_len
    - socket
    - dpp_tcp_encaps
    - eloop_register_sock
    - wpabuf_head
    - dpp_connection_free
    - os_zalloc
    - dpp_pkex_free
    - dl_list_add
    - hostapd_ip_txt
    - fcntl
    linkageType: ''
    returnType: int
    signature: "int dpp_tcp_pkex_init(struct dpp_global *dpp, struct dpp_pkex *pkex,\n\t\t
      \     const struct hostapd_ip_addr *addr, int port,\n\t\t      void *msg_ctx,
      void *cb_ctx,\n\t\t      int (*pkex_done)(void *ctx, void *conn,\n\t\t\t\t       struct
      dpp_bootstrap_info *bi))"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/dpp_tcp.c:1997,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_tcp.c:1998,1
    - Dst: dpp_tcp_encaps
      Src: /src/hostap/src/common/dpp_tcp.c:2001,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - conn
    - auth
    argTypes:
    - struct dpp_connection*
    - struct dpp_authentication*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2006
      start: 1992
    functionDepth: 2
    functionLinenumber: 1992
    functionLinenumberEnd: 2006
    functionName: dpp_tcp_auth_start
    functionSourceFile: /src/hostap/src/common/dpp_tcp.c
    functionUses: 0
    functionsReached:
    - wpabuf_len
    - dpp_tcp_encaps
    - wpabuf_head
    linkageType: ''
    returnType: int
    signature: "int dpp_tcp_auth_start(struct dpp_connection *conn,\n\t\t\t      struct
      dpp_authentication *auth)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:2025,1
    - Dst: hostapd_ip_txt
      Src: /src/hostap/src/common/dpp_tcp.c:2026,1
    - Dst: dpp_ipaddr_to_sockaddr
      Src: /src/hostap/src/common/dpp_tcp.c:2027,1
    - Dst: dpp_auth_deinit
      Src: /src/hostap/src/common/dpp_tcp.c:2029,1
    - Dst: os_zalloc
      Src: /src/hostap/src/common/dpp_tcp.c:2033,1
    - Dst: dpp_auth_deinit
      Src: /src/hostap/src/common/dpp_tcp.c:2035,1
    - Dst: os_strdup
      Src: /src/hostap/src/common/dpp_tcp.c:2043,1
    - Dst: os_strdup
      Src: /src/hostap/src/common/dpp_tcp.c:2045,1
    - Dst: os_strdup
      Src: /src/hostap/src/common/dpp_tcp.c:2047,1
    - Dst: os_strdup
      Src: /src/hostap/src/common/dpp_tcp.c:2049,1
    - Dst: socket
      Src: /src/hostap/src/common/dpp_tcp.c:2053,1
    - Dst: fcntl
      Src: /src/hostap/src/common/dpp_tcp.c:2057,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:2058,1
    - Dst: strerror
      Src: /src/hostap/src/common/dpp_tcp.c:2059,1
    - Dst: connect
      Src: /src/hostap/src/common/dpp_tcp.c:2063,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:2065,1
    - Dst: strerror
      Src: /src/hostap/src/common/dpp_tcp.c:2066,1
    - Dst: eloop_register_sock
      Src: /src/hostap/src/common/dpp_tcp.c:2076,1
    - Dst: dpp_tcp_auth_start
      Src: /src/hostap/src/common/dpp_tcp.c:2081,1
    - Dst: dl_list_add
      Src: /src/hostap/src/common/dpp_tcp.c:2086,1
    - Dst: dpp_connection_free
      Src: /src/hostap/src/common/dpp_tcp.c:2089,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 54
    argCount: 11
    argNames:
    - dpp
    - auth
    - addr
    - port
    - name
    - netrole
    - mud_url
    - extra_conf_req_name
    - extra_conf_req_value
    - msg_ctx
    - cb_ctx
    argTypes:
    - struct dpp_global*
    - struct dpp_authentication*
    - struct hostapd_ip_addr*
    - int
    - char*
    - enum dpp_netrole
    - char*
    - char*
    - char*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2091
      start: 2009
    functionDepth: 4
    functionLinenumber: 2009
    functionLinenumberEnd: 2091
    functionName: dpp_tcp_init
    functionSourceFile: /src/hostap/src/common/dpp_tcp.c
    functionUses: 2
    functionsReached:
    - os_strdup
    - wpa_printf
    - dpp_auth_deinit
    - dpp_ipaddr_to_sockaddr
    - strerror
    - connect
    - socket
    - dpp_tcp_auth_start
    - eloop_register_sock
    - dpp_connection_free
    - os_zalloc
    - dl_list_add
    - hostapd_ip_txt
    - fcntl
    linkageType: ''
    returnType: int
    signature: "int dpp_tcp_init(struct dpp_global *dpp, struct dpp_authentication
      *auth,\n\t\t const struct hostapd_ip_addr *addr, int port, const char *name,\n\t\t
      enum dpp_netrole netrole, const char *mud_url,\n\t\t const char *extra_conf_req_name,\n\t\t
      const char *extra_conf_req_value,\n\t\t void *msg_ctx, void *cb_ctx,\n\t\t int
      (*process_conf_obj)(void *ctx,\n\t\t\t\t\t struct dpp_authentication *auth),\n\t\t
      bool (*tcp_msg_sent)(void *ctx,\n\t\t\t\t      struct dpp_authentication *auth))"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/common/dpp_tcp.c:2110,1
    - Dst: os_strdup
      Src: /src/hostap/src/common/dpp_tcp.c:2111,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp_tcp.c:2112,1
    - Dst: os_strdup
      Src: /src/hostap/src/common/dpp_tcp.c:2113,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp_tcp.c:2114,1
    - Dst: os_strdup
      Src: /src/hostap/src/common/dpp_tcp.c:2116,1
    - Dst: os_strdup
      Src: /src/hostap/src/common/dpp_tcp.c:2118,1
    - Dst: dpp_tcp_auth_start
      Src: /src/hostap/src/common/dpp_tcp.c:2122,1
    - Dst: dpp_conn_tx_ready
      Src: /src/hostap/src/common/dpp_tcp.c:2125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 8
    argNames:
    - dpp
    - _conn
    - auth
    - name
    - netrole
    - mud_url
    - extra_conf_req_name
    - extra_conf_req_value
    argTypes:
    - struct dpp_global*
    - void*
    - struct dpp_authentication*
    - char*
    - enum dpp_netrole
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2127
      start: 2094
    functionDepth: 8
    functionLinenumber: 2094
    functionLinenumberEnd: 2127
    functionName: dpp_tcp_auth
    functionSourceFile: /src/hostap/src/common/dpp_tcp.c
    functionUses: 2
    functionsReached:
    - os_free
    - dpp_tcp_auth_start
    - os_strdup
    - dpp_conn_tx_ready
    linkageType: ''
    returnType: int
    signature: "int dpp_tcp_auth(struct dpp_global *dpp, void *_conn,\n\t\t struct
      dpp_authentication *auth, const char *name,\n\t\t enum dpp_netrole netrole,
      const char *mud_url,\n\t\t const char *extra_conf_req_name,\n\t\t const char
      *extra_conf_req_value,\n\t\t int (*process_conf_obj)(void *ctx,\n\t\t\t\t\t
      struct dpp_authentication *auth),\n\t\t bool (*tcp_msg_sent)(void *ctx,\n\t\t\t\t
      \     struct dpp_authentication *auth))"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/common/dpp_tcp.c:2141,1
    - Dst: os_strdup
      Src: /src/hostap/src/common/dpp_tcp.c:2147,1
    - Dst: dl_list_init
      Src: /src/hostap/src/common/dpp_tcp.c:2148,1
    - Dst: socket
      Src: /src/hostap/src/common/dpp_tcp.c:2157,1
    - Dst: setsockopt
      Src: /src/hostap/src/common/dpp_tcp.c:2161,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:2163,1
    - Dst: strerror
      Src: /src/hostap/src/common/dpp_tcp.c:2165,1
    - Dst: fcntl
      Src: /src/hostap/src/common/dpp_tcp.c:2169,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:2170,1
    - Dst: strerror
      Src: /src/hostap/src/common/dpp_tcp.c:2171,1
    - Dst: os_memset
      Src: /src/hostap/src/common/dpp_tcp.c:2176,1
    - Dst: htons
      Src: /src/hostap/src/common/dpp_tcp.c:2180,1
    - Dst: bind
      Src: /src/hostap/src/common/dpp_tcp.c:2181,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:2182,1
    - Dst: strerror
      Src: /src/hostap/src/common/dpp_tcp.c:2184,1
    - Dst: listen
      Src: /src/hostap/src/common/dpp_tcp.c:2187,1
    - Dst: fcntl
      Src: /src/hostap/src/common/dpp_tcp.c:2188,1
    - Dst: eloop_register_sock
      Src: /src/hostap/src/common/dpp_tcp.c:2189,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:2194,1
    - Dst: dpp_controller_free
      Src: /src/hostap/src/common/dpp_tcp.c:2197,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 49
    argCount: 2
    argNames:
    - dpp
    - config
    argTypes:
    - struct dpp_global*
    - struct dpp_controller_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2199
      start: 2130
    functionDepth: 6
    functionLinenumber: 2130
    functionLinenumberEnd: 2199
    functionName: dpp_controller_start
    functionSourceFile: /src/hostap/src/common/dpp_tcp.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - strerror
    - dpp_controller_free
    - setsockopt
    - socket
    - os_memset
    - eloop_register_sock
    - os_zalloc
    - dl_list_init
    - listen
    - bind
    - htons
    - os_strdup
    - fcntl
    linkageType: ''
    returnType: int
    signature: "int dpp_controller_start(struct dpp_global *dpp,\n\t\t\t struct dpp_controller_config
      *config)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_strdup
      Src: /src/hostap/src/common/dpp_tcp.c:2210,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp_tcp.c:2214,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp_tcp.c:2217,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - dpp
    - configurator_params
    argTypes:
    - struct dpp_global*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2222
      start: 2202
    functionDepth: 0
    functionLinenumber: 2202
    functionLinenumberEnd: 2222
    functionName: dpp_controller_set_params
    functionSourceFile: /src/hostap/src/common/dpp_tcp.c
    functionUses: 1
    functionsReached:
    - os_free
    - os_strdup
    linkageType: ''
    returnType: int
    signature: "int dpp_controller_set_params(struct dpp_global *dpp,\n\t\t\t      const
      char *configurator_params)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dpp_controller_free
      Src: /src/hostap/src/common/dpp_tcp.c:2228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - dpp
    argTypes:
    - struct dpp_global*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2231
      start: 2225
    functionDepth: 6
    functionLinenumber: 2225
    functionLinenumberEnd: 2231
    functionName: dpp_controller_stop
    functionSourceFile: /src/hostap/src/common/dpp_tcp.c
    functionUses: 1
    functionsReached:
    - dpp_controller_free
    linkageType: ''
    returnType: void
    signature: void dpp_controller_stop(struct dpp_global *dpp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dpp_controller_stop
      Src: /src/hostap/src/common/dpp_tcp.c:2237,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - dpp
    - cb_ctx
    argTypes:
    - struct dpp_global*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2238
      start: 2234
    functionDepth: 7
    functionLinenumber: 2234
    functionLinenumberEnd: 2238
    functionName: dpp_controller_stop_for_ctx
    functionSourceFile: /src/hostap/src/common/dpp_tcp.c
    functionUses: 1
    functionsReached:
    - dpp_controller_stop
    linkageType: ''
    returnType: void
    signature: void dpp_controller_stop_for_ctx(struct dpp_global *dpp, void *cb_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - auth
    - id
    argTypes:
    - struct dpp_authentication*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2247
      start: 2241
    functionDepth: 0
    functionLinenumber: 2241
    functionLinenumberEnd: 2247
    functionName: dpp_tcp_peer_id_match
    functionSourceFile: /src/hostap/src/common/dpp_tcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool dpp_tcp_peer_id_match(struct dpp_authentication *auth,\n\t\t\t\t
      \ unsigned int id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/common/dpp_tcp.c:2255,1
    - Dst: dpp_tcp_peer_id_match
      Src: /src/hostap/src/common/dpp_tcp.c:2256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - dpp
    - id
    argTypes:
    - struct dpp_global*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2261
      start: 2250
    functionDepth: 1
    functionLinenumber: 2250
    functionLinenumberEnd: 2261
    functionName: dpp_tcp_get_auth
    functionSourceFile: /src/hostap/src/common/dpp_tcp.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    - dpp_tcp_peer_id_match
    linkageType: ''
    returnType: struct dpp_authentication
    signature: "struct dpp_authentication * dpp_tcp_get_auth(struct dpp_global *dpp,\n\t\t\t\t\t\t
      \   unsigned int id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dpp_tcp_get_auth
      Src: /src/hostap/src/common/dpp_tcp.c:2271,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/common/dpp_tcp.c:2273,1
    - Dst: dpp_tcp_peer_id_match
      Src: /src/hostap/src/common/dpp_tcp.c:2274,1
    - Dst: dpp_tcp_get_auth
      Src: /src/hostap/src/common/dpp_tcp.c:2278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - dpp
    - id
    argTypes:
    - struct dpp_global*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2279
      start: 2264
    functionDepth: 2
    functionLinenumber: 2264
    functionLinenumberEnd: 2279
    functionName: dpp_controller_get_auth
    functionSourceFile: /src/hostap/src/common/dpp_tcp.c
    functionUses: 2
    functionsReached:
    - dl_list_for_each
    - dpp_tcp_peer_id_match
    - dpp_tcp_get_auth
    linkageType: ''
    returnType: struct dpp_authentication
    signature: "struct dpp_authentication * dpp_controller_get_auth(struct dpp_global
      *dpp,\n\t\t\t\t\t\t    unsigned int id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/common/dpp_tcp.c:2291,1
    - Dst: dpp_notify_new_qr_code
      Src: /src/hostap/src/common/dpp_tcp.c:2295,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:2297,1
    - Dst: dpp_tcp_send_msg
      Src: /src/hostap/src/common/dpp_tcp.c:2299,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - dpp
    - bi
    argTypes:
    - struct dpp_global*
    - struct dpp_bootstrap_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2301
      start: 2282
    functionDepth: 8
    functionLinenumber: 2282
    functionLinenumberEnd: 2301
    functionName: dpp_controller_new_qr_code
    functionSourceFile: /src/hostap/src/common/dpp_tcp.c
    functionUses: 2
    functionsReached:
    - dl_list_for_each
    - dpp_notify_new_qr_code
    - wpa_printf
    - dpp_tcp_send_msg
    linkageType: ''
    returnType: void
    signature: "void dpp_controller_new_qr_code(struct dpp_global *dpp,\n\t\t\t\tstruct
      dpp_bootstrap_info *bi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/common/dpp_tcp.c:2314,1
    - Dst: os_strdup
      Src: /src/hostap/src/common/dpp_tcp.c:2315,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp_tcp.c:2316,1
    - Dst: os_strdup
      Src: /src/hostap/src/common/dpp_tcp.c:2317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - dpp
    - bi
    - code
    - identifier
    argTypes:
    - struct dpp_global*
    - struct dpp_bootstrap_info*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2318
      start: 2304
    functionDepth: 0
    functionLinenumber: 2304
    functionLinenumberEnd: 2318
    functionName: dpp_controller_pkex_add
    functionSourceFile: /src/hostap/src/common/dpp_tcp.c
    functionUses: 2
    functionsReached:
    - os_free
    - os_strdup
    linkageType: ''
    returnType: void
    signature: "void dpp_controller_pkex_add(struct dpp_global *dpp,\n\t\t\t     struct
      dpp_bootstrap_info *bi,\n\t\t\t     const char *code, const char *identifier)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/common/dpp_tcp.c:2328,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp_tcp.c:2333,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_tcp.c:2340,1
    - Dst: os_memcmp
      Src: /src/hostap/src/common/dpp_tcp.c:2341,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/dpp_tcp.c:2341,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - dpp
    - buf
    - len
    argTypes:
    - struct dpp_global*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2347
      start: 2321
    functionDepth: 2
    functionLinenumber: 2321
    functionLinenumberEnd: 2347
    functionName: dpp_controller_is_own_pkex_req
    functionSourceFile: /src/hostap/src/common/dpp_tcp.c
    functionUses: 2
    functionsReached:
    - wpabuf_len
    - wpabuf_head
    - dl_list_for_each
    - dpp_get_attr
    - os_memcmp
    linkageType: ''
    returnType: bool
    signature: "bool dpp_controller_is_own_pkex_req(struct dpp_global *dpp,\n\t\t\t\t
      \   const u8 *buf, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/common/dpp_tcp.c:2354,1
    - Dst: dpp_connection_remove
      Src: /src/hostap/src/common/dpp_tcp.c:2356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dpp
    argTypes:
    - struct dpp_global*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2357
      start: 2350
    functionDepth: 5
    functionLinenumber: 2350
    functionLinenumberEnd: 2357
    functionName: dpp_tcp_init_flush
    functionSourceFile: /src/hostap/src/common/dpp_tcp.c
    functionUses: 1
    functionsReached:
    - dpp_connection_remove
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: void dpp_tcp_init_flush(struct dpp_global *dpp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:2365,1
    - Dst: hostapd_ip_txt
      Src: /src/hostap/src/common/dpp_tcp.c:2366,1
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/common/dpp_tcp.c:2368,1
    - Dst: dpp_connection_remove
      Src: /src/hostap/src/common/dpp_tcp.c:2370,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp_tcp.c:2371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - struct dpp_relay_controller*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2372
      start: 2360
    functionDepth: 5
    functionLinenumber: 2360
    functionLinenumberEnd: 2372
    functionName: dpp_relay_controller_free
    functionSourceFile: /src/hostap/src/common/dpp_tcp.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dpp_connection_remove
    - os_free
    - hostapd_ip_txt
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: void dpp_relay_controller_free(struct dpp_relay_controller *ctrl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/common/dpp_tcp.c:2382,1
    - Dst: dl_list_del
      Src: /src/hostap/src/common/dpp_tcp.c:2384,1
    - Dst: dpp_relay_controller_free
      Src: /src/hostap/src/common/dpp_tcp.c:2385,1
    - Dst: dpp_relay_controller_free
      Src: /src/hostap/src/common/dpp_tcp.c:2389,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - dpp
    argTypes:
    - struct dpp_global*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2392
      start: 2375
    functionDepth: 6
    functionLinenumber: 2375
    functionLinenumberEnd: 2392
    functionName: dpp_relay_flush_controllers
    functionSourceFile: /src/hostap/src/common/dpp_tcp.c
    functionUses: 1
    functionsReached:
    - dpp_relay_controller_free
    - dl_list_del
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: void dpp_relay_flush_controllers(struct dpp_global *dpp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/common/dpp_tcp.c:2403,1
    - Dst: hostapd_ip_equal
      Src: /src/hostap/src/common/dpp_tcp.c:2405,1
    - Dst: dl_list_del
      Src: /src/hostap/src/common/dpp_tcp.c:2406,1
    - Dst: dpp_relay_controller_free
      Src: /src/hostap/src/common/dpp_tcp.c:2407,1
    - Dst: hostapd_ip_equal
      Src: /src/hostap/src/common/dpp_tcp.c:2413,1
    - Dst: dpp_relay_controller_free
      Src: /src/hostap/src/common/dpp_tcp.c:2414,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - dpp
    - addr
    argTypes:
    - struct dpp_global*
    - struct hostapd_ip_addr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2417
      start: 2395
    functionDepth: 6
    functionLinenumber: 2395
    functionLinenumberEnd: 2417
    functionName: dpp_relay_remove_controller
    functionSourceFile: /src/hostap/src/common/dpp_tcp.c
    functionUses: 1
    functionsReached:
    - dl_list_for_each
    - dpp_relay_controller_free
    - hostapd_ip_equal
    - dl_list_del
    linkageType: ''
    returnType: void
    signature: "void dpp_relay_remove_controller(struct dpp_global *dpp,\n\t\t\t\t
      const struct hostapd_ip_addr *addr)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:2429,1
    - Dst: accept
      Src: /src/hostap/src/common/dpp_tcp.c:2431,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:2433,1
    - Dst: strerror
      Src: /src/hostap/src/common/dpp_tcp.c:2435,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:2438,1
    - Dst: inet_ntoa
      Src: /src/hostap/src/common/dpp_tcp.c:2439,1
    - Dst: ntohs
      Src: /src/hostap/src/common/dpp_tcp.c:2439,1
    - Dst: dpp_relay_controller_get_addr
      Src: /src/hostap/src/common/dpp_tcp.c:2441,1
    - Dst: dl_list_len
      Src: /src/hostap/src/common/dpp_tcp.c:2443,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:2446,1
    - Dst: hostapd_ip_txt
      Src: /src/hostap/src/common/dpp_tcp.c:2448,1
    - Dst: dpp_relay_controller_free
      Src: /src/hostap/src/common/dpp_tcp.c:2450,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:2454,1
    - Dst: os_zalloc
      Src: /src/hostap/src/common/dpp_tcp.c:2455,1
    - Dst: dl_list_init
      Src: /src/hostap/src/common/dpp_tcp.c:2458,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:2469,1
    - Dst: dl_list_len
      Src: /src/hostap/src/common/dpp_tcp.c:2474,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:2475,1
    - Dst: os_zalloc
      Src: /src/hostap/src/common/dpp_tcp.c:2480,1
    - Dst: os_memset
      Src: /src/hostap/src/common/dpp_tcp.c:2488,1
    - Dst: fcntl
      Src: /src/hostap/src/common/dpp_tcp.c:2491,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:2492,1
    - Dst: strerror
      Src: /src/hostap/src/common/dpp_tcp.c:2493,1
    - Dst: eloop_register_sock
      Src: /src/hostap/src/common/dpp_tcp.c:2497,1
    - Dst: dl_list_add
      Src: /src/hostap/src/common/dpp_tcp.c:2504,1
    - Dst: close
      Src: /src/hostap/src/common/dpp_tcp.c:2508,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp_tcp.c:2509,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 65
    argCount: 3
    argNames:
    - sd
    - eloop_ctx
    - sock_ctx
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2510
      start: 2420
    functionDepth: 6
    functionLinenumber: 2420
    functionLinenumberEnd: 2510
    functionName: dpp_relay_tcp_cb
    functionSourceFile: /src/hostap/src/common/dpp_tcp.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - fcntl
    - strerror
    - dpp_relay_controller_get_addr
    - eloop_register_sock
    - accept
    - os_zalloc
    - dl_list_add
    - dpp_relay_controller_free
    - dl_list_init
    - close
    - os_free
    - inet_ntoa
    - ntohs
    - dl_list_len
    - hostapd_ip_txt
    - os_memset
    linkageType: ''
    returnType: void
    signature: void dpp_relay_tcp_cb(int sd, void *eloop_ctx, void *sock_ctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:2521,1
    - Dst: socket
      Src: /src/hostap/src/common/dpp_tcp.c:2526,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:2528,1
    - Dst: strerror
      Src: /src/hostap/src/common/dpp_tcp.c:2530,1
    - Dst: setsockopt
      Src: /src/hostap/src/common/dpp_tcp.c:2534,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:2535,1
    - Dst: strerror
      Src: /src/hostap/src/common/dpp_tcp.c:2537,1
    - Dst: fcntl
      Src: /src/hostap/src/common/dpp_tcp.c:2541,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:2542,1
    - Dst: strerror
      Src: /src/hostap/src/common/dpp_tcp.c:2543,1
    - Dst: close
      Src: /src/hostap/src/common/dpp_tcp.c:2544,1
    - Dst: os_memset
      Src: /src/hostap/src/common/dpp_tcp.c:2549,1
    - Dst: htons
      Src: /src/hostap/src/common/dpp_tcp.c:2552,1
    - Dst: bind
      Src: /src/hostap/src/common/dpp_tcp.c:2553,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:2554,1
    - Dst: strerror
      Src: /src/hostap/src/common/dpp_tcp.c:2556,1
    - Dst: close
      Src: /src/hostap/src/common/dpp_tcp.c:2557,1
    - Dst: listen
      Src: /src/hostap/src/common/dpp_tcp.c:2560,1
    - Dst: fcntl
      Src: /src/hostap/src/common/dpp_tcp.c:2561,1
    - Dst: eloop_register_sock
      Src: /src/hostap/src/common/dpp_tcp.c:2562,1
    - Dst: close
      Src: /src/hostap/src/common/dpp_tcp.c:2564,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_tcp.c:2573,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 3
    argNames:
    - dpp
    - port
    - config
    argTypes:
    - struct dpp_global*
    - int
    - struct dpp_relay_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2575
      start: 2513
    functionDepth: 1
    functionLinenumber: 2513
    functionLinenumberEnd: 2575
    functionName: dpp_relay_listen
    functionSourceFile: /src/hostap/src/common/dpp_tcp.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - strerror
    - setsockopt
    - socket
    - os_memset
    - eloop_register_sock
    - close
    - listen
    - bind
    - htons
    - fcntl
    linkageType: ''
    returnType: int
    signature: "int dpp_relay_listen(struct dpp_global *dpp, int port,\n\t\t     struct
      dpp_relay_config *config)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eloop_unregister_sock
      Src: /src/hostap/src/common/dpp_tcp.c:2582,1
    - Dst: close
      Src: /src/hostap/src/common/dpp_tcp.c:2583,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - dpp
    argTypes:
    - struct dpp_global*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2585
      start: 2578
    functionDepth: 1
    functionLinenumber: 2578
    functionLinenumberEnd: 2585
    functionName: dpp_relay_stop_listen
    functionSourceFile: /src/hostap/src/common/dpp_tcp.c
    functionUses: 1
    functionsReached:
    - close
    - eloop_unregister_sock
    linkageType: ''
    returnType: void
    signature: void dpp_relay_stop_listen(struct dpp_global *dpp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/common/dpp_tcp.c:2595,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - dpp
    argTypes:
    - struct dpp_global*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2601
      start: 2588
    functionDepth: 0
    functionLinenumber: 2588
    functionLinenumberEnd: 2601
    functionName: dpp_tcp_conn_status_requested
    functionSourceFile: /src/hostap/src/common/dpp_tcp.c
    functionUses: 4
    functionsReached:
    - dl_list_for_each
    linkageType: ''
    returnType: bool
    signature: bool dpp_tcp_conn_status_requested(struct dpp_global *dpp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dpp_build_conn_status_result
      Src: /src/hostap/src/common/dpp_tcp.c:2617,1
    - Dst: dpp_connection_remove
      Src: /src/hostap/src/common/dpp_tcp.c:2620,1
    - Dst: dpp_tcp_send_msg
      Src: /src/hostap/src/common/dpp_tcp.c:2624,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_tcp.c:2625,1
    - Dst: dpp_connection_remove
      Src: /src/hostap/src/common/dpp_tcp.c:2628,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/common/dpp_tcp.c:2634,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 6
    argNames:
    - dpp
    - conn
    - result
    - ssid
    - ssid_len
    - channel_list
    argTypes:
    - struct dpp_global*
    - struct dpp_connection*
    - enum dpp_status_error
    - u8*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2642
      start: 2604
    functionDepth: 8
    functionLinenumber: 2604
    functionLinenumberEnd: 2642
    functionName: dpp_tcp_send_conn_status_msg
    functionSourceFile: /src/hostap/src/common/dpp_tcp.c
    functionUses: 0
    functionsReached:
    - wpabuf_free
    - dl_list_for_each
    - dpp_tcp_send_msg
    - dpp_connection_remove
    - dpp_build_conn_status_result
    linkageType: ''
    returnType: void
    signature: "void dpp_tcp_send_conn_status_msg(struct dpp_global *dpp,\n\t\t\t\t\t
      struct dpp_connection *conn,\n\t\t\t\t\t enum dpp_status_error result,\n\t\t\t\t\t
      const u8 *ssid, size_t ssid_len,\n\t\t\t\t\t const char *channel_list)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/common/dpp_tcp.c:2652,1
    - Dst: dpp_tcp_send_conn_status_msg
      Src: /src/hostap/src/common/dpp_tcp.c:2654,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 5
    argNames:
    - dpp
    - result
    - ssid
    - ssid_len
    - channel_list
    argTypes:
    - struct dpp_global*
    - enum dpp_status_error
    - u8*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2659
      start: 2645
    functionDepth: 9
    functionLinenumber: 2645
    functionLinenumberEnd: 2659
    functionName: dpp_tcp_send_conn_status
    functionSourceFile: /src/hostap/src/common/dpp_tcp.c
    functionUses: 1
    functionsReached:
    - dl_list_for_each
    - dpp_tcp_send_conn_status_msg
    linkageType: ''
    returnType: void
    signature: "void dpp_tcp_send_conn_status(struct dpp_global *dpp,\n\t\t\t      enum
      dpp_status_error result,\n\t\t\t      const u8 *ssid, size_t ssid_len,\n\t\t\t
      \     const char *channel_list)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pw
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 180
    functionName: sae_pk_valid_password
    functionSourceFile: /src/hostap/src/common/sae.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool sae_pk_valid_password(const char *pw)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/common_module_tests.c:92,1
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/src/common/common_module_tests.c:100,1
    - Dst: ieee802_11_ie_count
      Src: /src/hostap/src/common/common_module_tests.c:102,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/common_module_tests.c:103,1
    - Dst: ieee802_11_vendor_ie_concat
      Src: /src/hostap/src/common/common_module_tests.c:109,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/common_module_tests.c:111,1
    - Dst: ieee802_11_vendor_ie_concat
      Src: /src/hostap/src/common/common_module_tests.c:116,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/common_module_tests.c:122,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/common_module_tests.c:128,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/common_module_tests.c:129,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/common_module_tests.c:135,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/common_module_tests.c:137,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/common_module_tests.c:143,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 87
    functionDepth: 4
    functionLinenumber: 87
    functionLinenumberEnd: 146
    functionName: ieee802_11_parse_tests
    functionSourceFile: /src/hostap/src/common/common_module_tests.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - ieee802_11_vendor_ie_concat
    - wpabuf_len
    - wpabuf_free
    - wpabuf_head
    - ieee802_11_parse_elems
    - ieee802_11_ie_count
    linkageType: ''
    returnType: int
    signature: int ieee802_11_parse_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/common_module_tests.c:208,1
    - Dst: wpa_parse_wpa_ie_rsn
      Src: /src/hostap/src/common/common_module_tests.c:215,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/common_module_tests.c:217,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 223
    functionName: rsn_ie_parse_tests
    functionSourceFile: /src/hostap/src/common/common_module_tests.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_parse_wpa_ie_rsn
    linkageType: ''
    returnType: int
    signature: int rsn_ie_parse_tests(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/common_module_tests.c:230,1
    - Dst: gas_anqp_set_len
      Src: /src/hostap/src/common/common_module_tests.c:231,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/common/common_module_tests.c:233,1
    - Dst: gas_anqp_set_len
      Src: /src/hostap/src/common/common_module_tests.c:236,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/common_module_tests.c:237,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/common/common_module_tests.c:239,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/common_module_tests.c:242,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/common_module_tests.c:243,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/common_module_tests.c:244,1
    - Dst: wpabuf_put_be32
      Src: /src/hostap/src/common/common_module_tests.c:245,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/common_module_tests.c:246,1
    - Dst: gas_anqp_set_len
      Src: /src/hostap/src/common/common_module_tests.c:247,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/common_module_tests.c:248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 251
    functionName: gas_tests
    functionSourceFile: /src/hostap/src/common/common_module_tests.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put_u8
    - wpabuf_free
    - wpabuf_alloc
    - wpabuf_put_be32
    - gas_anqp_set_len
    linkageType: ''
    returnType: int
    signature: int gas_tests(void)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/common/common_module_tests.c:392,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/common/common_module_tests.c:393,1
    - Dst: sae_set_group
      Src: /src/hostap/src/common/common_module_tests.c:395,1
    - Dst: sae_prepare_commit
      Src: /src/hostap/src/common/common_module_tests.c:396,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/common_module_tests.c:396,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/common_module_tests.c:401,1
    - Dst: crypto_bignum_init_set
      Src: /src/hostap/src/common/common_module_tests.c:402,1
    - Dst: crypto_bignum_init_set
      Src: /src/hostap/src/common/common_module_tests.c:404,1
    - Dst: crypto_bignum_add
      Src: /src/hostap/src/common/common_module_tests.c:408,1
    - Dst: crypto_bignum_mod
      Src: /src/hostap/src/common/common_module_tests.c:410,1
    - Dst: crypto_ec_point_mul
      Src: /src/hostap/src/common/common_module_tests.c:412,1
    - Dst: crypto_ec_point_invert
      Src: /src/hostap/src/common/common_module_tests.c:414,1
    - Dst: sae_write_commit
      Src: /src/hostap/src/common/common_module_tests.c:419,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/common/common_module_tests.c:421,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/common_module_tests.c:423,1
    - Dst: os_memcmp
      Src: /src/hostap/src/common/common_module_tests.c:424,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/common_module_tests.c:424,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/common_module_tests.c:426,1
    - Dst: sae_parse_commit
      Src: /src/hostap/src/common/common_module_tests.c:430,1
    - Dst: sae_process_commit
      Src: /src/hostap/src/common/common_module_tests.c:432,1
    - Dst: os_memcmp
      Src: /src/hostap/src/common/common_module_tests.c:435,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/common_module_tests.c:436,1
    - Dst: os_memcmp
      Src: /src/hostap/src/common/common_module_tests.c:440,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/common_module_tests.c:441,1
    - Dst: os_memcmp
      Src: /src/hostap/src/common/common_module_tests.c:445,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/common_module_tests.c:446,1
    - Dst: sae_derive_pt
      Src: /src/hostap/src/common/common_module_tests.c:450,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/common_module_tests.c:451,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/common_module_tests.c:452,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/common_module_tests.c:454,1
    - Dst: sae_derive_pwe_from_pt_ecc
      Src: /src/hostap/src/common/common_module_tests.c:464,1
    - Dst: sae_deinit_pt
      Src: /src/hostap/src/common/common_module_tests.c:466,1
    - Dst: crypto_ec_point_to_bin
      Src: /src/hostap/src/common/common_module_tests.c:469,1
    - Dst: os_memcmp
      Src: /src/hostap/src/common/common_module_tests.c:471,1
    - Dst: os_memcmp
      Src: /src/hostap/src/common/common_module_tests.c:472,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/common_module_tests.c:474,1
    - Dst: crypto_ec_point_deinit
      Src: /src/hostap/src/common/common_module_tests.c:476,1
    - Dst: sae_deinit_pt
      Src: /src/hostap/src/common/common_module_tests.c:477,1
    - Dst: crypto_ec_point_deinit
      Src: /src/hostap/src/common/common_module_tests.c:480,1
    - Dst: sae_derive_pwe_from_pt_ffc
      Src: /src/hostap/src/common/common_module_tests.c:488,1
    - Dst: sae_deinit_pt
      Src: /src/hostap/src/common/common_module_tests.c:490,1
    - Dst: crypto_bignum_to_bin
      Src: /src/hostap/src/common/common_module_tests.c:493,1
    - Dst: os_memcmp
      Src: /src/hostap/src/common/common_module_tests.c:495,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/common_module_tests.c:496,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/common_module_tests.c:498,1
    - Dst: sae_deinit_pt
      Src: /src/hostap/src/common/common_module_tests.c:499,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/common_module_tests.c:502,1
    - Dst: sae_deinit_pt
      Src: /src/hostap/src/common/common_module_tests.c:506,1
    - Dst: sae_clear_data
      Src: /src/hostap/src/common/common_module_tests.c:510,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/common_module_tests.c:511,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/common_module_tests.c:512,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 89
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 517
    functionName: sae_tests
    functionSourceFile: /src/hostap/src/common/common_module_tests.c
    functionUses: 0
    functionsReached:
    - crypto_bignum_to_bin
    - crypto_ec_point_invert
    - wpabuf_alloc
    - crypto_bignum_init_set
    - sae_parse_commit
    - os_strlen
    - sae_derive_pt
    - wpa_printf
    - sae_deinit_pt
    - sae_process_commit
    - crypto_ec_point_deinit
    - crypto_bignum_deinit
    - sae_derive_pwe_from_pt_ffc
    - os_memcmp
    - crypto_ec_point_mul
    - wpa_hexdump_buf
    - wpabuf_len
    - wpabuf_head
    - crypto_ec_point_to_bin
    - sae_write_commit
    - sae_prepare_commit
    - os_memset
    - sae_set_group
    - crypto_bignum_mod
    - wpabuf_free
    - sae_clear_data
    - crypto_bignum_add
    - sae_derive_pwe_from_pt_ecc
    linkageType: ''
    returnType: int
    signature: int sae_tests(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sae_pk_valid_password
      Src: /src/hostap/src/common/common_module_tests.c:537,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/common_module_tests.c:538,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/common_module_tests.c:552,1
    - Dst: sae_pk_valid_password
      Src: /src/hostap/src/common/common_module_tests.c:556,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/common_module_tests.c:557,1
    - Dst: sae_pk_base32_decode
      Src: /src/hostap/src/common/common_module_tests.c:564,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/common_module_tests.c:566,1
    - Dst: os_memcmp
      Src: /src/hostap/src/common/common_module_tests.c:572,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/common_module_tests.c:573,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/common_module_tests.c:576,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/common_module_tests.c:578,1
    - Dst: os_free
      Src: /src/hostap/src/common/common_module_tests.c:582,1
    - Dst: sae_pk_base32_encode
      Src: /src/hostap/src/common/common_module_tests.c:584,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/common_module_tests.c:586,1
    - Dst: os_strcmp
      Src: /src/hostap/src/common/common_module_tests.c:592,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/common_module_tests.c:593,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/common_module_tests.c:595,1
    - Dst: os_free
      Src: /src/hostap/src/common/common_module_tests.c:599,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 520
    functionDepth: 1
    functionLinenumber: 520
    functionLinenumberEnd: 606
    functionName: sae_pk_tests
    functionSourceFile: /src/hostap/src/common/common_module_tests.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - sae_pk_base32_decode
    - wpa_hexdump
    - sae_pk_base32_encode
    - os_memcmp
    - os_free
    - sae_pk_valid_password
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: int sae_pk_tests(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pasn_pmk_to_ptk
      Src: /src/hostap/src/common/common_module_tests.c:654,1
    - Dst: os_memcmp
      Src: /src/hostap/src/common/common_module_tests.c:664,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/common_module_tests.c:665,1
    - Dst: os_memcmp
      Src: /src/hostap/src/common/common_module_tests.c:670,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/common_module_tests.c:671,1
    - Dst: os_memcmp
      Src: /src/hostap/src/common/common_module_tests.c:676,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/common_module_tests.c:677,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 611
    functionDepth: 1
    functionLinenumber: 611
    functionLinenumberEnd: 682
    functionName: pasn_test_pasn_auth
    functionSourceFile: /src/hostap/src/common/common_module_tests.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - pasn_pmk_to_ptk
    - os_memcmp
    linkageType: ''
    returnType: int
    signature: int pasn_test_pasn_auth(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_pmk_to_ptk
      Src: /src/hostap/src/common/common_module_tests.c:734,1
    - Dst: os_memcmp
      Src: /src/hostap/src/common/common_module_tests.c:744,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/common_module_tests.c:745,1
    - Dst: os_memcmp
      Src: /src/hostap/src/common/common_module_tests.c:750,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/common_module_tests.c:751,1
    - Dst: os_memcmp
      Src: /src/hostap/src/common/common_module_tests.c:756,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/common_module_tests.c:757,1
    - Dst: os_memcmp
      Src: /src/hostap/src/common/common_module_tests.c:762,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/common_module_tests.c:763,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 685
    functionDepth: 1
    functionLinenumber: 685
    functionLinenumberEnd: 768
    functionName: pasn_test_no_pasn_auth
    functionSourceFile: /src/hostap/src/common/common_module_tests.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_pmk_to_ptk
    - os_memcmp
    linkageType: ''
    returnType: int
    signature: int pasn_test_no_pasn_auth(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pasn_test_pasn_auth
      Src: /src/hostap/src/common/common_module_tests.c:776,1
    - Dst: pasn_test_no_pasn_auth
      Src: /src/hostap/src/common/common_module_tests.c:777,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 773
    functionDepth: 2
    functionLinenumber: 773
    functionLinenumberEnd: 781
    functionName: pasn_tests
    functionSourceFile: /src/hostap/src/common/common_module_tests.c
    functionUses: 0
    functionsReached:
    - pasn_test_pasn_auth
    - pasn_test_no_pasn_auth
    linkageType: ''
    returnType: int
    signature: int pasn_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/common_module_tests.c:788,1
    - Dst: ieee802_11_parse_tests
      Src: /src/hostap/src/common/common_module_tests.c:790,1
    - Dst: gas_tests
      Src: /src/hostap/src/common/common_module_tests.c:791,1
    - Dst: sae_tests
      Src: /src/hostap/src/common/common_module_tests.c:792,1
    - Dst: sae_pk_tests
      Src: /src/hostap/src/common/common_module_tests.c:793,1
    - Dst: pasn_tests
      Src: /src/hostap/src/common/common_module_tests.c:794,1
    - Dst: rsn_ie_parse_tests
      Src: /src/hostap/src/common/common_module_tests.c:795,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 784
    functionDepth: 5
    functionLinenumber: 784
    functionLinenumberEnd: 799
    functionName: common_module_tests
    functionSourceFile: /src/hostap/src/common/common_module_tests.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - rsn_ie_parse_tests
    - ieee802_11_parse_tests
    - gas_tests
    - sae_pk_tests
    - sae_tests
    - pasn_tests
    linkageType: ''
    returnType: int
    signature: int common_module_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - akm
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 80
    functionName: wpa_key_mgmt_wpa_ieee8021x
    functionSourceFile: /src/hostap/src/common/defs.h
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpa_key_mgmt_wpa_ieee8021x(int akm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - akm
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: wpa_key_mgmt_wpa_psk_no_sae
    functionSourceFile: /src/hostap/src/common/defs.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpa_key_mgmt_wpa_psk_no_sae(int akm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - akm
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 98
    functionName: wpa_key_mgmt_wpa_psk
    functionSourceFile: /src/hostap/src/common/defs.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpa_key_mgmt_wpa_psk(int akm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - akm
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: wpa_key_mgmt_ft
    functionSourceFile: /src/hostap/src/common/defs.h
    functionUses: 40
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpa_key_mgmt_ft(int akm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_key_mgmt_ft
      Src: /src/hostap/src/common/defs.h:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - akm
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: wpa_key_mgmt_only_ft
    functionSourceFile: /src/hostap/src/common/defs.h
    functionUses: 1
    functionsReached:
    - wpa_key_mgmt_ft
    linkageType: ''
    returnType: int
    signature: int wpa_key_mgmt_only_ft(int akm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - akm
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: wpa_key_mgmt_ft_psk
    functionSourceFile: /src/hostap/src/common/defs.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpa_key_mgmt_ft_psk(int akm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - akm
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 123
    functionName: wpa_key_mgmt_sae
    functionSourceFile: /src/hostap/src/common/defs.h
    functionUses: 46
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpa_key_mgmt_sae(int akm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - akm
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 129
    functionName: wpa_key_mgmt_sae_ext_key
    functionSourceFile: /src/hostap/src/common/defs.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpa_key_mgmt_sae_ext_key(int akm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_key_mgmt_sae
      Src: /src/hostap/src/common/defs.h:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - akm
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 138
    functionName: wpa_key_mgmt_only_sae
    functionSourceFile: /src/hostap/src/common/defs.h
    functionUses: 2
    functionsReached:
    - wpa_key_mgmt_sae
    linkageType: ''
    returnType: int
    signature: int wpa_key_mgmt_only_sae(int akm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_key_mgmt_sae_ext_key
      Src: /src/hostap/src/common/defs.h:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - akm
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: wpa_key_mgmt_only_sae_ext_key
    functionSourceFile: /src/hostap/src/common/defs.h
    functionUses: 1
    functionsReached:
    - wpa_key_mgmt_sae_ext_key
    linkageType: ''
    returnType: int
    signature: int wpa_key_mgmt_only_sae_ext_key(int akm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - akm
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 153
    functionName: wpa_key_mgmt_fils
    functionSourceFile: /src/hostap/src/common/defs.h
    functionUses: 30
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpa_key_mgmt_fils(int akm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - akm
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 165
    functionName: wpa_key_mgmt_sha256
    functionSourceFile: /src/hostap/src/common/defs.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpa_key_mgmt_sha256(int akm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - akm
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 174
    functionName: wpa_key_mgmt_sha384
    functionSourceFile: /src/hostap/src/common/defs.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpa_key_mgmt_sha384(int akm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - akm
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 180
    functionName: wpa_key_mgmt_suite_b
    functionSourceFile: /src/hostap/src/common/defs.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpa_key_mgmt_suite_b(int akm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_key_mgmt_wpa_ieee8021x
      Src: /src/hostap/src/common/defs.h:184,1
    - Dst: wpa_key_mgmt_wpa_psk
      Src: /src/hostap/src/common/defs.h:185,1
    - Dst: wpa_key_mgmt_fils
      Src: /src/hostap/src/common/defs.h:186,1
    - Dst: wpa_key_mgmt_sae
      Src: /src/hostap/src/common/defs.h:187,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - akm
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 191
    functionName: wpa_key_mgmt_wpa
    functionSourceFile: /src/hostap/src/common/defs.h
    functionUses: 5
    functionsReached:
    - wpa_key_mgmt_sae
    - wpa_key_mgmt_wpa_psk
    - wpa_key_mgmt_wpa_ieee8021x
    - wpa_key_mgmt_fils
    linkageType: ''
    returnType: int
    signature: int wpa_key_mgmt_wpa(int akm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_key_mgmt_wpa
      Src: /src/hostap/src/common/defs.h:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - akm
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 196
    functionName: wpa_key_mgmt_wpa_any
    functionSourceFile: /src/hostap/src/common/defs.h
    functionUses: 2
    functionsReached:
    - wpa_key_mgmt_wpa
    linkageType: ''
    returnType: int
    signature: int wpa_key_mgmt_wpa_any(int akm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - akm
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 201
    functionName: wpa_key_mgmt_cckm
    functionSourceFile: /src/hostap/src/common/defs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpa_key_mgmt_cckm(int akm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - akm
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 209
    functionName: wpa_key_mgmt_cross_akm
    functionSourceFile: /src/hostap/src/common/defs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpa_key_mgmt_cross_akm(int akm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - akm
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 214
    functionName: wpa_key_mgmt_eppke
    functionSourceFile: /src/hostap/src/common/defs.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool wpa_key_mgmt_eppke(int akm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - akm
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 220
    functionName: wpa_key_mgmt_enhanced_open
    functionSourceFile: /src/hostap/src/common/defs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpa_key_mgmt_enhanced_open(int akm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_key_mgmt_enhanced_open
      Src: /src/hostap/src/common/defs.h:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - akm
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 227
    functionName: wpa_key_mgmt_only_enhanced_open
    functionSourceFile: /src/hostap/src/common/defs.h
    functionUses: 1
    functionsReached:
    - wpa_key_mgmt_enhanced_open
    linkageType: ''
    returnType: int
    signature: int wpa_key_mgmt_only_enhanced_open(int akm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - alg
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 246
    functionName: wpa_auth_alg_fils
    functionSourceFile: /src/hostap/src/common/defs.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpa_auth_alg_fils(int alg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - alg
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 251
    functionName: wpa_auth_alg_eppke
    functionSourceFile: /src/hostap/src/common/defs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool wpa_auth_alg_eppke(int alg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - alg
    argTypes:
    - enum wpa_alg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 275
    functionName: wpa_alg_bip
    functionSourceFile: /src/hostap/src/common/defs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpa_alg_bip(enum wpa_alg alg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - key_flag
    argTypes:
    - enum key_flag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 553
    functionName: check_key_flag
    functionSourceFile: /src/hostap/src/common/defs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int check_key_flag(enum key_flag key_flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 586
    functionName: USEC_TO_TU
    functionSourceFile: /src/hostap/src/common/defs.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: USEC_TO_TU(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 587
    functionName: TU_TO_USEC
    functionSourceFile: /src/hostap/src/common/defs.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TU_TO_USEC(m)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dragonfly_suitable_group
      Src: /src/hostap/src/common/sae.c:33,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae.c:34,1
    - Dst: sae_clear_data
      Src: /src/hostap/src/common/sae.c:39,1
    - Dst: os_zalloc
      Src: /src/hostap/src/common/sae.c:40,1
    - Dst: crypto_ec_init
      Src: /src/hostap/src/common/sae.c:45,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae.c:47,1
    - Dst: crypto_ec_prime_len
      Src: /src/hostap/src/common/sae.c:50,1
    - Dst: crypto_ec_get_prime
      Src: /src/hostap/src/common/sae.c:51,1
    - Dst: crypto_ec_order_len
      Src: /src/hostap/src/common/sae.c:52,1
    - Dst: crypto_ec_get_order
      Src: /src/hostap/src/common/sae.c:53,1
    - Dst: dh_groups_get
      Src: /src/hostap/src/common/sae.c:58,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae.c:60,1
    - Dst: sae_clear_data
      Src: /src/hostap/src/common/sae.c:65,1
    - Dst: crypto_bignum_init_set
      Src: /src/hostap/src/common/sae.c:69,1
    - Dst: sae_clear_data
      Src: /src/hostap/src/common/sae.c:72,1
    - Dst: crypto_bignum_init_set
      Src: /src/hostap/src/common/sae.c:78,1
    - Dst: sae_clear_data
      Src: /src/hostap/src/common/sae.c:81,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae.c:90,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 45
    argCount: 2
    argNames:
    - sae
    - group
    argTypes:
    - struct sae_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 93
    functionName: sae_set_group
    functionSourceFile: /src/hostap/src/common/sae.c
    functionUses: 8
    functionsReached:
    - crypto_ec_get_prime
    - wpa_printf
    - dh_groups_get
    - crypto_ec_get_order
    - sae_clear_data
    - os_zalloc
    - dragonfly_suitable_group
    - crypto_ec_prime_len
    - crypto_bignum_init_set
    - crypto_ec_init
    - crypto_ec_order_len
    linkageType: ''
    returnType: int
    signature: int sae_set_group(struct sae_data *sae, int group)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_ec_deinit
      Src: /src/hostap/src/common/sae.c:102,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/sae.c:103,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/sae.c:104,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/sae.c:105,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/sae.c:106,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/sae.c:107,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/sae.c:108,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/sae.c:109,1
    - Dst: crypto_ec_point_deinit
      Src: /src/hostap/src/common/sae.c:110,1
    - Dst: crypto_ec_point_deinit
      Src: /src/hostap/src/common/sae.c:111,1
    - Dst: crypto_ec_point_deinit
      Src: /src/hostap/src/common/sae.c:112,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/sae.c:113,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/sae.c:114,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/sae.c:115,1
    - Dst: os_free
      Src: /src/hostap/src/common/sae.c:116,1
    - Dst: os_free
      Src: /src/hostap/src/common/sae.c:117,1
    - Dst: os_free
      Src: /src/hostap/src/common/sae.c:118,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/common/sae.c:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 1
    argNames:
    - sae
    argTypes:
    - struct sae_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 121
    functionName: sae_clear_temp_data
    functionSourceFile: /src/hostap/src/common/sae.c
    functionUses: 2
    functionsReached:
    - wpabuf_free
    - crypto_ec_point_deinit
    - crypto_ec_deinit
    - crypto_bignum_deinit
    - os_free
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: void sae_clear_temp_data(struct sae_data *sae)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sae_clear_temp_data
      Src: /src/hostap/src/common/sae.c:130,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/sae.c:131,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/sae.c:132,1
    - Dst: os_memset
      Src: /src/hostap/src/common/sae.c:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - sae
    argTypes:
    - struct sae_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 136
    functionName: sae_clear_data
    functionSourceFile: /src/hostap/src/common/sae.c
    functionUses: 9
    functionsReached:
    - crypto_bignum_deinit
    - sae_clear_temp_data
    - os_memset
    linkageType: ''
    returnType: void
    signature: void sae_clear_data(struct sae_data *sae)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae.c:141,1
    - Dst: MAC2STR
      Src: /src/hostap/src/common/sae.c:142,1
    - Dst: MAC2STR
      Src: /src/hostap/src/common/sae.c:142,1
    - Dst: os_memcmp
      Src: /src/hostap/src/common/sae.c:143,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/sae.c:144,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/sae.c:145,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/sae.c:147,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/sae.c:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - addr1
    - addr2
    - key
    argTypes:
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 150
    functionName: sae_pwd_seed_key
    functionSourceFile: /src/hostap/src/common/sae.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    - os_memcmp
    - os_memcpy
    linkageType: ''
    returnType: void
    signature: void sae_pwd_seed_key(const u8 *addr1, const u8 *addr2, u8 *key)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/sae.c:163,1
    - Dst: crypto_ec_prime_len_bits
      Src: /src/hostap/src/common/sae.c:166,1
    - Dst: sha256_prf_bits
      Src: /src/hostap/src/common/sae.c:167,1
    - Dst: buf_shift_right
      Src: /src/hostap/src/common/sae.c:171,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/sae.c:172,1
    - Dst: const_time_memcmp
      Src: /src/hostap/src/common/sae.c:175,1
    - Dst: const_time_fill_msb
      Src: /src/hostap/src/common/sae.c:178,1
    - Dst: crypto_bignum_init_set
      Src: /src/hostap/src/common/sae.c:183,1
    - Dst: crypto_ec_point_compute_y_sqr
      Src: /src/hostap/src/common/sae.c:186,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/sae.c:187,1
    - Dst: dragonfly_is_quadratic_residue_blind
      Src: /src/hostap/src/common/sae.c:191,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/sae.c:193,1
    - Dst: const_time_select_int
      Src: /src/hostap/src/common/sae.c:196,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 6
    argNames:
    - sae
    - pwd_seed
    - prime
    - qr
    - qnr
    - pwd_value
    argTypes:
    - struct sae_data*
    - u8*
    - u8*
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 197
    functionName: sae_test_pwd_seed_ecc
    functionSourceFile: /src/hostap/src/common/sae.c
    functionUses: 0
    functionsReached:
    - sha256_prf_bits
    - wpa_hexdump_key
    - dragonfly_is_quadratic_residue_blind
    - crypto_bignum_deinit
    - const_time_fill_msb
    - const_time_select_int
    - crypto_ec_point_compute_y_sqr
    - const_time_memcmp
    - buf_shift_right
    - crypto_bignum_init_set
    - crypto_ec_prime_len_bits
    linkageType: ''
    returnType: int
    signature: "int sae_test_pwd_seed_ecc(struct sae_data *sae, const u8 *pwd_seed,\n\t\t\t\t
      const u8 *prime, const u8 *qr, const u8 *qnr,\n\t\t\t\t u8 *pwd_value)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/sae.c:212,1
    - Dst: sha256_prf_bits
      Src: /src/hostap/src/common/sae.c:215,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/sae.c:219,1
    - Dst: const_time_memcmp
      Src: /src/hostap/src/common/sae.c:223,1
    - Dst: const_time_fill_msb
      Src: /src/hostap/src/common/sae.c:228,1
    - Dst: const_time_select_u8
      Src: /src/hostap/src/common/sae.c:233,1
    - Dst: crypto_bignum_init_set
      Src: /src/hostap/src/common/sae.c:238,1
    - Dst: crypto_bignum_init_set
      Src: /src/hostap/src/common/sae.c:251,1
    - Dst: crypto_bignum_init_set
      Src: /src/hostap/src/common/sae.c:255,1
    - Dst: crypto_bignum_sub
      Src: /src/hostap/src/common/sae.c:257,1
    - Dst: crypto_bignum_div
      Src: /src/hostap/src/common/sae.c:258,1
    - Dst: crypto_bignum_exptmod
      Src: /src/hostap/src/common/sae.c:265,1
    - Dst: const_time_select_u8
      Src: /src/hostap/src/common/sae.c:276,1
    - Dst: crypto_bignum_is_zero
      Src: /src/hostap/src/common/sae.c:277,1
    - Dst: const_time_select_u8
      Src: /src/hostap/src/common/sae.c:278,1
    - Dst: const_time_is_zero
      Src: /src/hostap/src/common/sae.c:278,1
    - Dst: crypto_bignum_is_one
      Src: /src/hostap/src/common/sae.c:279,1
    - Dst: const_time_select_u8
      Src: /src/hostap/src/common/sae.c:280,1
    - Dst: const_time_is_zero
      Src: /src/hostap/src/common/sae.c:280,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/sae.c:283,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/sae.c:284,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 3
    argNames:
    - sae
    - pwd_seed
    - pwe
    argTypes:
    - struct sae_data*
    - u8*
    - struct crypto_bignum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 202
    functionDepth: 2
    functionLinenumber: 202
    functionLinenumberEnd: 286
    functionName: sae_test_pwd_seed_ffc
    functionSourceFile: /src/hostap/src/common/sae.c
    functionUses: 0
    functionsReached:
    - sha256_prf_bits
    - crypto_bignum_div
    - wpa_hexdump_key
    - const_time_select_u8
    - crypto_bignum_sub
    - crypto_bignum_is_zero
    - crypto_bignum_deinit
    - const_time_is_zero
    - const_time_fill_msb
    - const_time_memcmp
    - crypto_bignum_init_set
    - crypto_bignum_is_one
    - crypto_bignum_exptmod
    linkageType: ''
    returnType: int
    signature: "int sae_test_pwd_seed_ffc(struct sae_data *sae, const u8 *pwd_seed,\n\t\t\t\t
      struct crypto_bignum *pwe)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/common/sae.c:312,1
    - Dst: os_malloc
      Src: /src/hostap/src/common/sae.c:314,1
    - Dst: os_malloc
      Src: /src/hostap/src/common/sae.c:315,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/common/sae.c:317,1
    - Dst: crypto_bignum_to_bin
      Src: /src/hostap/src/common/sae.c:321,1
    - Dst: dragonfly_get_random_qr_qnr
      Src: /src/hostap/src/common/sae.c:329,1
    - Dst: crypto_bignum_to_bin
      Src: /src/hostap/src/common/sae.c:330,1
    - Dst: crypto_bignum_to_bin
      Src: /src/hostap/src/common/sae.c:331,1
    - Dst: wpa_hexdump_ascii_key
      Src: /src/hostap/src/common/sae.c:334,1
    - Dst: sae_pwd_seed_key
      Src: /src/hostap/src/common/sae.c:343,1
    - Dst: dragonfly_min_pwe_loop_iter
      Src: /src/hostap/src/common/sae.c:355,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae.c:362,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae.c:366,1
    - Dst: const_time_select_bin
      Src: /src/hostap/src/common/sae.c:367,1
    - Dst: hmac_sha256_vector
      Src: /src/hostap/src/common/sae.c:369,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae.c:371,1
    - Dst: sae_test_pwd_seed_ecc
      Src: /src/hostap/src/common/sae.c:376,1
    - Dst: const_time_select_bin
      Src: /src/hostap/src/common/sae.c:378,1
    - Dst: const_time_select_u8
      Src: /src/hostap/src/common/sae.c:380,1
    - Dst: os_memset
      Src: /src/hostap/src/common/sae.c:383,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae.c:396,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae.c:401,1
    - Dst: crypto_bignum_init_set
      Src: /src/hostap/src/common/sae.c:406,1
    - Dst: crypto_ec_point_compute_y_sqr
      Src: /src/hostap/src/common/sae.c:419,1
    - Dst: dragonfly_sqrt
      Src: /src/hostap/src/common/sae.c:421,1
    - Dst: crypto_bignum_to_bin
      Src: /src/hostap/src/common/sae.c:422,1
    - Dst: crypto_bignum_sub
      Src: /src/hostap/src/common/sae.c:424,1
    - Dst: crypto_bignum_to_bin
      Src: /src/hostap/src/common/sae.c:425,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae.c:427,1
    - Dst: const_time_eq
      Src: /src/hostap/src/common/sae.c:431,1
    - Dst: const_time_select_bin
      Src: /src/hostap/src/common/sae.c:432,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/sae.c:434,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/sae.c:435,1
    - Dst: crypto_ec_point_deinit
      Src: /src/hostap/src/common/sae.c:436,1
    - Dst: crypto_ec_point_from_bin
      Src: /src/hostap/src/common/sae.c:437,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae.c:439,1
    - Dst: forced_memzero
      Src: /src/hostap/src/common/sae.c:444,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/sae.c:445,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/sae.c:446,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/sae.c:447,1
    - Dst: os_free
      Src: /src/hostap/src/common/sae.c:448,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/common/sae.c:449,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/sae.c:450,1
    - Dst: os_memset
      Src: /src/hostap/src/common/sae.c:451,1
    - Dst: os_memset
      Src: /src/hostap/src/common/sae.c:452,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 82
    argCount: 5
    argNames:
    - sae
    - addr1
    - addr2
    - password
    - password_len
    argTypes:
    - struct sae_data*
    - u8*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 289
    functionDepth: 3
    functionLinenumber: 289
    functionLinenumberEnd: 455
    functionName: sae_derive_pwe_ecc
    functionSourceFile: /src/hostap/src/common/sae.c
    functionUses: 0
    functionsReached:
    - crypto_bignum_to_bin
    - forced_memzero
    - crypto_ec_point_compute_y_sqr
    - wpa_hexdump_ascii_key
    - crypto_bignum_init_set
    - wpa_printf
    - const_time_select_u8
    - dragonfly_get_random_qr_qnr
    - crypto_ec_point_deinit
    - crypto_bignum_deinit
    - os_free
    - sae_test_pwd_seed_ecc
    - wpa_hexdump_key
    - dragonfly_sqrt
    - os_malloc
    - crypto_ec_point_from_bin
    - hmac_sha256_vector
    - os_memset
    - random_get_bytes
    - dragonfly_min_pwe_loop_iter
    - const_time_eq
    - os_memcpy
    - crypto_bignum_sub
    - const_time_select_bin
    - sae_pwd_seed_key
    - bin_clear_free
    linkageType: ''
    returnType: int
    signature: "int sae_derive_pwe_ecc(struct sae_data *sae, const u8 *addr1,\n\t\t\t
      \     const u8 *addr2, const u8 *password,\n\t\t\t      size_t password_len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/sae.c:473,1
    - Dst: os_zalloc
      Src: /src/hostap/src/common/sae.c:478,1
    - Dst: crypto_bignum_init
      Src: /src/hostap/src/common/sae.c:479,1
    - Dst: wpa_hexdump_ascii_key
      Src: /src/hostap/src/common/sae.c:483,1
    - Dst: sae_pwd_seed_key
      Src: /src/hostap/src/common/sae.c:491,1
    - Dst: dragonfly_min_pwe_loop_iter
      Src: /src/hostap/src/common/sae.c:498,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae.c:506,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae.c:510,1
    - Dst: hmac_sha256_vector
      Src: /src/hostap/src/common/sae.c:511,1
    - Dst: sae_test_pwd_seed_ffc
      Src: /src/hostap/src/common/sae.c:514,1
    - Dst: crypto_bignum_to_bin
      Src: /src/hostap/src/common/sae.c:522,1
    - Dst: const_time_select_bin
      Src: /src/hostap/src/common/sae.c:525,1
    - Dst: const_time_select_u8
      Src: /src/hostap/src/common/sae.c:527,1
    - Dst: const_time_eq_u8
      Src: /src/hostap/src/common/sae.c:528,1
    - Dst: const_time_select_u8
      Src: /src/hostap/src/common/sae.c:529,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae.c:535,1
    - Dst: crypto_bignum_init_set
      Src: /src/hostap/src/common/sae.c:536,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/sae.c:538,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/common/sae.c:539,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 5
    argNames:
    - sae
    - addr1
    - addr2
    - password
    - password_len
    argTypes:
    - struct sae_data*
    - u8*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 458
    functionDepth: 3
    functionLinenumber: 458
    functionLinenumberEnd: 541
    functionName: sae_derive_pwe_ffc
    functionSourceFile: /src/hostap/src/common/sae.c
    functionUses: 0
    functionsReached:
    - crypto_bignum_to_bin
    - wpa_printf
    - dragonfly_min_pwe_loop_iter
    - crypto_bignum_init
    - const_time_select_u8
    - hmac_sha256_vector
    - sae_test_pwd_seed_ffc
    - crypto_bignum_deinit
    - const_time_eq_u8
    - os_zalloc
    - wpa_hexdump_ascii_key
    - crypto_bignum_init_set
    - const_time_select_bin
    - sae_pwd_seed_key
    - bin_clear_free
    linkageType: ''
    returnType: int
    signature: "int sae_derive_pwe_ffc(struct sae_data *sae, const u8 *addr1,\n\t\t\t
      \     const u8 *addr2, const u8 *password,\n\t\t\t      size_t password_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hmac_sha256_vector
      Src: /src/hostap/src/common/sae.c:549,1
    - Dst: hmac_sha384_vector
      Src: /src/hostap/src/common/sae.c:553,1
    - Dst: hmac_sha512_vector
      Src: /src/hostap/src/common/sae.c:558,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 7
    argNames:
    - hash_len
    - salt
    - salt_len
    - num_elem
    - addr
    - len
    - prk
    argTypes:
    - size_t
    - u8*
    - size_t
    - size_t
    - u8*[]
    - size_t[]
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 562
    functionName: hkdf_extract
    functionSourceFile: /src/hostap/src/common/sae.c
    functionUses: 0
    functionsReached:
    - hmac_sha512_vector
    - hmac_sha256_vector
    - hmac_sha384_vector
    linkageType: ''
    returnType: int
    signature: "int hkdf_extract(size_t hash_len, const u8 *salt, size_t salt_len,\n\t\t\tsize_t
      num_elem, const u8 *addr[], const size_t len[],\n\t\t\tu8 *prk)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/common/sae.c:568,1
    - Dst: hmac_sha256_kdf
      Src: /src/hostap/src/common/sae.c:571,1
    - Dst: hmac_sha384_kdf
      Src: /src/hostap/src/common/sae.c:576,1
    - Dst: hmac_sha512_kdf
      Src: /src/hostap/src/common/sae.c:582,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 6
    argNames:
    - hash_len
    - prk
    - prk_len
    - info
    - okm
    - okm_len
    argTypes:
    - size_t
    - u8*
    - size_t
    - char*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 565
    functionDepth: 2
    functionLinenumber: 565
    functionLinenumberEnd: 587
    functionName: hkdf_expand
    functionSourceFile: /src/hostap/src/common/sae.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - hmac_sha256_kdf
    - hmac_sha512_kdf
    - hmac_sha384_kdf
    linkageType: ''
    returnType: int
    signature: "int hkdf_expand(size_t hash_len, const u8 *prk, size_t prk_len,\n\t\t
      \      const char *info, u8 *okm, size_t okm_len)"
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 2
    argNames:
    - group
    - z
    argTypes:
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 618
    functionName: sswu_curve_param
    functionSourceFile: /src/hostap/src/common/sae.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int sswu_curve_param(int group, int *z)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/common/sae.c:626,1
    - Dst: crypto_bignum_to_bin
      Src: /src/hostap/src/common/sae.c:627,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/sae.c:628,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae.c:630,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/common/sae.c:631,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - title
    - a
    - prime_len
    argTypes:
    - char*
    - struct crypto_bignum*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 621
    functionDepth: 1
    functionLinenumber: 621
    functionLinenumberEnd: 632
    functionName: debug_print_bignum
    functionSourceFile: /src/hostap/src/common/sae.c
    functionUses: 0
    functionsReached:
    - crypto_bignum_to_bin
    - wpa_hexdump_key
    - wpa_printf
    - os_malloc
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: "void debug_print_bignum(const char *title, const struct crypto_bignum
      *a,\n\t\t\t       size_t prime_len)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: sswu_curve_param
      Src: /src/hostap/src/common/sae.c:651,1
    - Dst: crypto_ec_get_prime
      Src: /src/hostap/src/common/sae.c:654,1
    - Dst: crypto_ec_prime_len
      Src: /src/hostap/src/common/sae.c:655,1
    - Dst: crypto_ec_get_a
      Src: /src/hostap/src/common/sae.c:656,1
    - Dst: crypto_ec_get_b
      Src: /src/hostap/src/common/sae.c:657,1
    - Dst: crypto_bignum_init
      Src: /src/hostap/src/common/sae.c:659,1
    - Dst: crypto_bignum_init
      Src: /src/hostap/src/common/sae.c:660,1
    - Dst: crypto_bignum_init
      Src: /src/hostap/src/common/sae.c:661,1
    - Dst: crypto_bignum_init_uint
      Src: /src/hostap/src/common/sae.c:662,1
    - Dst: abs
      Src: /src/hostap/src/common/sae.c:662,1
    - Dst: crypto_bignum_init
      Src: /src/hostap/src/common/sae.c:663,1
    - Dst: crypto_bignum_init_uint
      Src: /src/hostap/src/common/sae.c:664,1
    - Dst: crypto_bignum_init_uint
      Src: /src/hostap/src/common/sae.c:665,1
    - Dst: crypto_bignum_init_uint
      Src: /src/hostap/src/common/sae.c:666,1
    - Dst: crypto_bignum_init_uint
      Src: /src/hostap/src/common/sae.c:667,1
    - Dst: crypto_bignum_init
      Src: /src/hostap/src/common/sae.c:668,1
    - Dst: crypto_bignum_init
      Src: /src/hostap/src/common/sae.c:669,1
    - Dst: crypto_bignum_init
      Src: /src/hostap/src/common/sae.c:670,1
    - Dst: crypto_bignum_init
      Src: /src/hostap/src/common/sae.c:671,1
    - Dst: crypto_bignum_init
      Src: /src/hostap/src/common/sae.c:672,1
    - Dst: crypto_bignum_sub
      Src: /src/hostap/src/common/sae.c:677,1
    - Dst: crypto_bignum_sqrmod
      Src: /src/hostap/src/common/sae.c:687,1
    - Dst: crypto_bignum_mulmod
      Src: /src/hostap/src/common/sae.c:688,1
    - Dst: crypto_bignum_sqrmod
      Src: /src/hostap/src/common/sae.c:689,1
    - Dst: crypto_bignum_addmod
      Src: /src/hostap/src/common/sae.c:690,1
    - Dst: debug_print_bignum
      Src: /src/hostap/src/common/sae.c:692,1
    - Dst: const_time_eq
      Src: /src/hostap/src/common/sae.c:698,1
    - Dst: crypto_bignum_is_zero
      Src: /src/hostap/src/common/sae.c:698,1
    - Dst: crypto_bignum_sub
      Src: /src/hostap/src/common/sae.c:700,1
    - Dst: crypto_bignum_exptmod
      Src: /src/hostap/src/common/sae.c:701,1
    - Dst: debug_print_bignum
      Src: /src/hostap/src/common/sae.c:703,1
    - Dst: crypto_bignum_mulmod
      Src: /src/hostap/src/common/sae.c:706,1
    - Dst: crypto_bignum_inverse
      Src: /src/hostap/src/common/sae.c:707,1
    - Dst: crypto_bignum_mulmod
      Src: /src/hostap/src/common/sae.c:708,1
    - Dst: debug_print_bignum
      Src: /src/hostap/src/common/sae.c:710,1
    - Dst: crypto_bignum_sub
      Src: /src/hostap/src/common/sae.c:713,1
    - Dst: crypto_bignum_inverse
      Src: /src/hostap/src/common/sae.c:714,1
    - Dst: crypto_bignum_mulmod
      Src: /src/hostap/src/common/sae.c:715,1
    - Dst: crypto_bignum_addmod
      Src: /src/hostap/src/common/sae.c:716,1
    - Dst: crypto_bignum_mulmod
      Src: /src/hostap/src/common/sae.c:717,1
    - Dst: debug_print_bignum
      Src: /src/hostap/src/common/sae.c:719,1
    - Dst: crypto_bignum_to_bin
      Src: /src/hostap/src/common/sae.c:722,1
    - Dst: crypto_bignum_to_bin
      Src: /src/hostap/src/common/sae.c:723,1
    - Dst: const_time_select_bin
      Src: /src/hostap/src/common/sae.c:725,1
    - Dst: crypto_bignum_init_set
      Src: /src/hostap/src/common/sae.c:726,1
    - Dst: debug_print_bignum
      Src: /src/hostap/src/common/sae.c:729,1
    - Dst: crypto_bignum_exptmod
      Src: /src/hostap/src/common/sae.c:732,1
    - Dst: crypto_bignum_mulmod
      Src: /src/hostap/src/common/sae.c:733,1
    - Dst: crypto_bignum_addmod
      Src: /src/hostap/src/common/sae.c:734,1
    - Dst: crypto_bignum_addmod
      Src: /src/hostap/src/common/sae.c:735,1
    - Dst: debug_print_bignum
      Src: /src/hostap/src/common/sae.c:737,1
    - Dst: crypto_bignum_mulmod
      Src: /src/hostap/src/common/sae.c:740,1
    - Dst: crypto_bignum_mulmod
      Src: /src/hostap/src/common/sae.c:741,1
    - Dst: debug_print_bignum
      Src: /src/hostap/src/common/sae.c:743,1
    - Dst: crypto_bignum_exptmod
      Src: /src/hostap/src/common/sae.c:746,1
    - Dst: crypto_bignum_mulmod
      Src: /src/hostap/src/common/sae.c:747,1
    - Dst: crypto_bignum_addmod
      Src: /src/hostap/src/common/sae.c:748,1
    - Dst: crypto_bignum_addmod
      Src: /src/hostap/src/common/sae.c:749,1
    - Dst: debug_print_bignum
      Src: /src/hostap/src/common/sae.c:751,1
    - Dst: crypto_bignum_sub
      Src: /src/hostap/src/common/sae.c:755,1
    - Dst: crypto_bignum_rshift
      Src: /src/hostap/src/common/sae.c:756,1
    - Dst: crypto_bignum_exptmod
      Src: /src/hostap/src/common/sae.c:757,1
    - Dst: debug_print_bignum
      Src: /src/hostap/src/common/sae.c:759,1
    - Dst: const_time_eq
      Src: /src/hostap/src/common/sae.c:760,1
    - Dst: crypto_bignum_is_zero
      Src: /src/hostap/src/common/sae.c:760,1
    - Dst: crypto_bignum_is_one
      Src: /src/hostap/src/common/sae.c:761,1
    - Dst: crypto_bignum_to_bin
      Src: /src/hostap/src/common/sae.c:764,1
    - Dst: crypto_bignum_to_bin
      Src: /src/hostap/src/common/sae.c:765,1
    - Dst: const_time_select_bin
      Src: /src/hostap/src/common/sae.c:767,1
    - Dst: crypto_bignum_init_set
      Src: /src/hostap/src/common/sae.c:768,1
    - Dst: debug_print_bignum
      Src: /src/hostap/src/common/sae.c:771,1
    - Dst: crypto_bignum_to_bin
      Src: /src/hostap/src/common/sae.c:774,1
    - Dst: crypto_bignum_to_bin
      Src: /src/hostap/src/common/sae.c:775,1
    - Dst: const_time_select_bin
      Src: /src/hostap/src/common/sae.c:777,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/sae.c:778,1
    - Dst: crypto_bignum_init
      Src: /src/hostap/src/common/sae.c:781,1
    - Dst: dragonfly_sqrt
      Src: /src/hostap/src/common/sae.c:782,1
    - Dst: debug_print_bignum
      Src: /src/hostap/src/common/sae.c:784,1
    - Dst: crypto_bignum_to_bin
      Src: /src/hostap/src/common/sae.c:787,1
    - Dst: crypto_bignum_to_bin
      Src: /src/hostap/src/common/sae.c:788,1
    - Dst: const_time_eq
      Src: /src/hostap/src/common/sae.c:790,1
    - Dst: crypto_bignum_sub
      Src: /src/hostap/src/common/sae.c:794,1
    - Dst: debug_print_bignum
      Src: /src/hostap/src/common/sae.c:796,1
    - Dst: crypto_bignum_to_bin
      Src: /src/hostap/src/common/sae.c:797,1
    - Dst: crypto_bignum_to_bin
      Src: /src/hostap/src/common/sae.c:798,1
    - Dst: const_time_select_bin
      Src: /src/hostap/src/common/sae.c:800,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/sae.c:803,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/sae.c:804,1
    - Dst: crypto_ec_point_from_bin
      Src: /src/hostap/src/common/sae.c:805,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/sae.c:808,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/sae.c:809,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/sae.c:810,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/sae.c:811,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/sae.c:812,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/sae.c:813,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/sae.c:814,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/sae.c:815,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/sae.c:816,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/sae.c:817,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/sae.c:818,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/sae.c:819,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/sae.c:820,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/sae.c:821,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/sae.c:822,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/sae.c:823,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/sae.c:824,1
    - Dst: forced_memzero
      Src: /src/hostap/src/common/sae.c:825,1
    - Dst: forced_memzero
      Src: /src/hostap/src/common/sae.c:826,1
    - Dst: forced_memzero
      Src: /src/hostap/src/common/sae.c:827,1
    - Dst: forced_memzero
      Src: /src/hostap/src/common/sae.c:828,1
    CyclomaticComplexity: 78
    EdgeCount: 78
    ICount: 128
    argCount: 3
    argNames:
    - ec
    - group
    - u
    argTypes:
    - struct crypto_ec*
    - int
    - struct crypto_bignum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 635
    functionDepth: 2
    functionLinenumber: 635
    functionLinenumberEnd: 830
    functionName: sswu
    functionSourceFile: /src/hostap/src/common/sae.c
    functionUses: 0
    functionsReached:
    - crypto_bignum_to_bin
    - crypto_ec_get_prime
    - crypto_bignum_sqrmod
    - forced_memzero
    - crypto_ec_get_b
    - crypto_ec_prime_len
    - crypto_bignum_init_set
    - crypto_bignum_inverse
    - crypto_bignum_rshift
    - abs
    - crypto_ec_get_a
    - crypto_bignum_deinit
    - crypto_bignum_mulmod
    - crypto_bignum_is_one
    - crypto_bignum_addmod
    - sswu_curve_param
    - wpa_hexdump_key
    - crypto_bignum_init
    - dragonfly_sqrt
    - crypto_ec_point_from_bin
    - const_time_eq
    - crypto_bignum_init_uint
    - crypto_bignum_is_zero
    - debug_print_bignum
    - crypto_bignum_sub
    - const_time_select_bin
    - crypto_bignum_exptmod
    linkageType: ''
    returnType: struct crypto_ec_point
    signature: "struct crypto_ec_point * sswu(struct crypto_ec *ec, int group,\n\t\t\t\t
      \    const struct crypto_bignum *u)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/common/sae.c:846,1
    - Dst: wpa_hexdump_ascii_key
      Src: /src/hostap/src/common/sae.c:847,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/common/sae.c:850,1
    - Dst: hkdf_extract
      Src: /src/hostap/src/common/sae.c:856,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/sae.c:859,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 8
    argNames:
    - hash_len
    - ssid
    - ssid_len
    - password
    - password_len
    - identifier
    - identifier_len
    - pwd_seed
    argTypes:
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 833
    functionDepth: 1
    functionLinenumber: 833
    functionLinenumberEnd: 861
    functionName: sae_pwd_seed
    functionSourceFile: /src/hostap/src/common/sae.c
    functionUses: 0
    functionsReached:
    - hkdf_extract
    - wpa_hexdump_key
    - wpa_hexdump_ascii
    - wpa_hexdump_ascii_key
    linkageType: ''
    returnType: int
    signature: "int sae_pwd_seed(size_t hash_len, const u8 *ssid, size_t ssid_len,\n\t\t\tconst
      u8 *password, size_t password_len,\n\t\t\tconst u8 *identifier, size_t identifier_len,\n\t\t\tu8
      *pwd_seed)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - prime_len
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 871
    functionName: sae_ecc_prime_len_2_hash_len
    functionSourceFile: /src/hostap/src/common/sae.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t sae_ecc_prime_len_2_hash_len(size_t prime_len)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: crypto_ec_get_prime
      Src: /src/hostap/src/common/sae.c:887,1
    - Dst: crypto_ec_prime_len
      Src: /src/hostap/src/common/sae.c:888,1
    - Dst: sae_ecc_prime_len_2_hash_len
      Src: /src/hostap/src/common/sae.c:891,1
    - Dst: sae_pwd_seed
      Src: /src/hostap/src/common/sae.c:896,1
    - Dst: hkdf_expand
      Src: /src/hostap/src/common/sae.c:902,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/sae.c:906,1
    - Dst: crypto_bignum_init_set
      Src: /src/hostap/src/common/sae.c:910,1
    - Dst: crypto_bignum_mod
      Src: /src/hostap/src/common/sae.c:911,1
    - Dst: crypto_bignum_to_bin
      Src: /src/hostap/src/common/sae.c:912,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/sae.c:915,1
    - Dst: sswu
      Src: /src/hostap/src/common/sae.c:918,1
    - Dst: hkdf_expand
      Src: /src/hostap/src/common/sae.c:924,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/sae.c:928,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/sae.c:932,1
    - Dst: crypto_bignum_init_set
      Src: /src/hostap/src/common/sae.c:933,1
    - Dst: crypto_bignum_mod
      Src: /src/hostap/src/common/sae.c:934,1
    - Dst: crypto_bignum_to_bin
      Src: /src/hostap/src/common/sae.c:935,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/sae.c:938,1
    - Dst: sswu
      Src: /src/hostap/src/common/sae.c:941,1
    - Dst: crypto_ec_point_init
      Src: /src/hostap/src/common/sae.c:946,1
    - Dst: crypto_ec_point_add
      Src: /src/hostap/src/common/sae.c:949,1
    - Dst: crypto_ec_point_deinit
      Src: /src/hostap/src/common/sae.c:950,1
    - Dst: forced_memzero
      Src: /src/hostap/src/common/sae.c:955,1
    - Dst: forced_memzero
      Src: /src/hostap/src/common/sae.c:956,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/sae.c:957,1
    - Dst: crypto_ec_point_deinit
      Src: /src/hostap/src/common/sae.c:958,1
    - Dst: crypto_ec_point_deinit
      Src: /src/hostap/src/common/sae.c:959,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 54
    argCount: 8
    argNames:
    - ec
    - group
    - ssid
    - ssid_len
    - password
    - password_len
    - identifier
    - identifier_len
    argTypes:
    - struct crypto_ec*
    - int
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 874
    functionDepth: 3
    functionLinenumber: 874
    functionLinenumberEnd: 961
    functionName: sae_derive_pt_ecc
    functionSourceFile: /src/hostap/src/common/sae.c
    functionUses: 0
    functionsReached:
    - crypto_bignum_to_bin
    - crypto_ec_get_prime
    - wpa_hexdump_key
    - hkdf_expand
    - crypto_bignum_mod
    - forced_memzero
    - crypto_ec_point_deinit
    - sswu
    - crypto_bignum_deinit
    - sae_ecc_prime_len_2_hash_len
    - crypto_ec_point_init
    - crypto_ec_point_add
    - crypto_ec_prime_len
    - sae_pwd_seed
    - crypto_bignum_init_set
    linkageType: ''
    returnType: struct crypto_ec_point
    signature: "struct crypto_ec_point *\nsae_derive_pt_ecc(struct crypto_ec *ec,
      int group,\n\t\t  const u8 *ssid, size_t ssid_len,\n\t\t  const u8 *password,
      size_t password_len,\n\t\t  const u8 *identifier, size_t identifier_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - prime_len
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 971
      start: 964
    functionDepth: 0
    functionLinenumber: 964
    functionLinenumberEnd: 971
    functionName: sae_ffc_prime_len_2_hash_len
    functionSourceFile: /src/hostap/src/common/sae.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t sae_ffc_prime_len_2_hash_len(size_t prime_len)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: crypto_bignum_init_set
      Src: /src/hostap/src/common/sae.c:987,1
    - Dst: crypto_bignum_init_set
      Src: /src/hostap/src/common/sae.c:988,1
    - Dst: sae_ffc_prime_len_2_hash_len
      Src: /src/hostap/src/common/sae.c:994,1
    - Dst: sae_pwd_seed
      Src: /src/hostap/src/common/sae.c:1001,1
    - Dst: hkdf_expand
      Src: /src/hostap/src/common/sae.c:1006,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/sae.c:1009,1
    - Dst: crypto_bignum_init_set
      Src: /src/hostap/src/common/sae.c:1013,1
    - Dst: crypto_bignum_init_uint
      Src: /src/hostap/src/common/sae.c:1014,1
    - Dst: crypto_bignum_init_uint
      Src: /src/hostap/src/common/sae.c:1015,1
    - Dst: crypto_bignum_init
      Src: /src/hostap/src/common/sae.c:1016,1
    - Dst: crypto_bignum_sub
      Src: /src/hostap/src/common/sae.c:1018,1
    - Dst: crypto_bignum_mod
      Src: /src/hostap/src/common/sae.c:1019,1
    - Dst: crypto_bignum_add
      Src: /src/hostap/src/common/sae.c:1020,1
    - Dst: crypto_bignum_to_bin
      Src: /src/hostap/src/common/sae.c:1021,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/sae.c:1024,1
    - Dst: crypto_bignum_init
      Src: /src/hostap/src/common/sae.c:1028,1
    - Dst: crypto_bignum_sub
      Src: /src/hostap/src/common/sae.c:1030,1
    - Dst: crypto_bignum_div
      Src: /src/hostap/src/common/sae.c:1031,1
    - Dst: crypto_bignum_exptmod
      Src: /src/hostap/src/common/sae.c:1032,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/sae.c:1033,1
    - Dst: debug_print_bignum
      Src: /src/hostap/src/common/sae.c:1037,1
    - Dst: forced_memzero
      Src: /src/hostap/src/common/sae.c:1040,1
    - Dst: forced_memzero
      Src: /src/hostap/src/common/sae.c:1041,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/sae.c:1042,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/sae.c:1043,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/sae.c:1044,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/sae.c:1045,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/sae.c:1046,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/sae.c:1047,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 49
    argCount: 8
    argNames:
    - dh
    - group
    - ssid
    - ssid_len
    - password
    - password_len
    - identifier
    - identifier_len
    argTypes:
    - struct dh_group*
    - int
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 974
    functionDepth: 3
    functionLinenumber: 974
    functionLinenumberEnd: 1049
    functionName: sae_derive_pt_ffc
    functionSourceFile: /src/hostap/src/common/sae.c
    functionUses: 0
    functionsReached:
    - crypto_bignum_to_bin
    - crypto_bignum_div
    - wpa_hexdump_key
    - hkdf_expand
    - crypto_bignum_init_uint
    - crypto_bignum_init
    - crypto_bignum_sub
    - crypto_bignum_mod
    - forced_memzero
    - crypto_bignum_deinit
    - sae_pwd_seed
    - debug_print_bignum
    - crypto_bignum_add
    - crypto_bignum_init_set
    - crypto_bignum_exptmod
    - sae_ffc_prime_len_2_hash_len
    linkageType: ''
    returnType: struct crypto_bignum
    signature: "struct crypto_bignum *\nsae_derive_pt_ffc(const struct dh_group *dh,
      int group,\n\t\t  const u8 *ssid, size_t ssid_len,\n\t\t  const u8 *password,
      size_t password_len,\n\t\t  const u8 *identifier, size_t identifier_len)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae.c:1059,1
    - Dst: os_zalloc
      Src: /src/hostap/src/common/sae.c:1064,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/common/sae.c:1069,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/sae.c:1075,1
    - Dst: crypto_ec_init
      Src: /src/hostap/src/common/sae.c:1079,1
    - Dst: sae_derive_pt_ecc
      Src: /src/hostap/src/common/sae.c:1081,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae.c:1085,1
    - Dst: dh_groups_get
      Src: /src/hostap/src/common/sae.c:1092,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae.c:1094,1
    - Dst: sae_derive_pt_ffc
      Src: /src/hostap/src/common/sae.c:1098,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae.c:1102,1
    - Dst: sae_deinit_pt
      Src: /src/hostap/src/common/sae.c:1108,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 7
    argNames:
    - group
    - ssid
    - ssid_len
    - password
    - password_len
    - identifier
    - identifier_len
    argTypes:
    - int
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1110
      start: 1052
    functionDepth: 4
    functionLinenumber: 1052
    functionLinenumberEnd: 1110
    functionName: sae_derive_pt_group
    functionSourceFile: /src/hostap/src/common/sae.c
    functionUses: 0
    functionsReached:
    - sae_derive_pt_ffc
    - dh_groups_get
    - os_memcpy
    - wpa_printf
    - sae_deinit_pt
    - wpabuf_alloc_copy
    - os_zalloc
    - sae_derive_pt_ecc
    - crypto_ec_init
    linkageType: ''
    returnType: struct sae_pt
    signature: "struct sae_pt *\nsae_derive_pt_group(int group, const u8 *ssid, size_t
      ssid_len,\n\t\t    const u8 *password, size_t password_len,\n\t\t    const u8
      *identifier, size_t identifier_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sae_derive_pt_group
      Src: /src/hostap/src/common/sae.c:1125,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 7
    argNames:
    - groups
    - ssid
    - ssid_len
    - password
    - password_len
    - identifier
    - identifier_len
    argTypes:
    - int*
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1139
      start: 1113
    functionDepth: 5
    functionLinenumber: 1113
    functionLinenumberEnd: 1139
    functionName: sae_derive_pt
    functionSourceFile: /src/hostap/src/common/sae.c
    functionUses: 11
    functionsReached:
    - sae_derive_pt_group
    linkageType: ''
    returnType: struct sae_pt
    signature: "struct sae_pt * sae_derive_pt(const int *groups,\n\t\t\t      const
      u8 *ssid, size_t ssid_len,\n\t\t\t      const u8 *password, size_t password_len,\n\t\t\t
      \     const u8 *identifier, size_t identifier_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/src/common/sae.c:1147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - addr
    - len
    - addr1
    - addr2
    argTypes:
    - u8*[]
    - size_t[]
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1154
      start: 1142
    functionDepth: 0
    functionLinenumber: 1142
    functionLinenumberEnd: 1154
    functionName: sae_max_min_addr
    functionSourceFile: /src/hostap/src/common/sae.c
    functionUses: 0
    functionsReached:
    - os_memcmp
    linkageType: ''
    returnType: void
    signature: "void sae_max_min_addr(const u8 *addr[], size_t len[],\n\t\t\t     const
      u8 *addr1, const u8 *addr2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae.c:1171,1
    - Dst: crypto_ec_prime_len
      Src: /src/hostap/src/common/sae.c:1172,1
    - Dst: crypto_ec_point_to_bin
      Src: /src/hostap/src/common/sae.c:1173,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/sae.c:1176,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/sae.c:1177,1
    - Dst: sae_max_min_addr
      Src: /src/hostap/src/common/sae.c:1179,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae.c:1183,1
    - Dst: sae_ecc_prime_len_2_hash_len
      Src: /src/hostap/src/common/sae.c:1184,1
    - Dst: os_memset
      Src: /src/hostap/src/common/sae.c:1185,1
    - Dst: hkdf_extract
      Src: /src/hostap/src/common/sae.c:1186,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/sae.c:1188,1
    - Dst: crypto_ec_get_order
      Src: /src/hostap/src/common/sae.c:1191,1
    - Dst: crypto_bignum_init
      Src: /src/hostap/src/common/sae.c:1192,1
    - Dst: crypto_bignum_init_set
      Src: /src/hostap/src/common/sae.c:1193,1
    - Dst: crypto_bignum_init_uint
      Src: /src/hostap/src/common/sae.c:1194,1
    - Dst: crypto_bignum_sub
      Src: /src/hostap/src/common/sae.c:1196,1
    - Dst: crypto_bignum_mod
      Src: /src/hostap/src/common/sae.c:1197,1
    - Dst: crypto_bignum_add
      Src: /src/hostap/src/common/sae.c:1198,1
    - Dst: debug_print_bignum
      Src: /src/hostap/src/common/sae.c:1200,1
    - Dst: crypto_ec_point_init
      Src: /src/hostap/src/common/sae.c:1203,1
    - Dst: crypto_ec_point_mul
      Src: /src/hostap/src/common/sae.c:1205,1
    - Dst: crypto_ec_point_to_bin
      Src: /src/hostap/src/common/sae.c:1206,1
    - Dst: crypto_ec_point_deinit
      Src: /src/hostap/src/common/sae.c:1207,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/sae.c:1211,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/sae.c:1212,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/sae.c:1215,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/sae.c:1216,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/sae.c:1217,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 3
    argNames:
    - pt
    - addr1
    - addr2
    argTypes:
    - struct sae_pt*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1219
      start: 1157
    functionDepth: 2
    functionLinenumber: 1157
    functionLinenumberEnd: 1219
    functionName: sae_derive_pwe_from_pt_ecc
    functionSourceFile: /src/hostap/src/common/sae.c
    functionUses: 1
    functionsReached:
    - wpa_hexdump
    - crypto_ec_point_init
    - crypto_ec_prime_len
    - crypto_bignum_init_set
    - wpa_printf
    - crypto_ec_point_deinit
    - crypto_ec_get_order
    - crypto_bignum_deinit
    - sae_ecc_prime_len_2_hash_len
    - crypto_ec_point_mul
    - wpa_hexdump_key
    - crypto_bignum_init
    - hkdf_extract
    - sae_max_min_addr
    - crypto_ec_point_to_bin
    - os_memset
    - crypto_bignum_init_uint
    - crypto_bignum_mod
    - crypto_bignum_add
    - debug_print_bignum
    - crypto_bignum_sub
    linkageType: ''
    returnType: struct crypto_ec_point
    signature: "struct crypto_ec_point *\nsae_derive_pwe_from_pt_ecc(const struct
      sae_pt *pt,\n\t\t\t   const u8 *addr1, const u8 *addr2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae.c:1234,1
    - Dst: crypto_bignum_init_set
      Src: /src/hostap/src/common/sae.c:1235,1
    - Dst: crypto_bignum_init_set
      Src: /src/hostap/src/common/sae.c:1236,1
    - Dst: sae_max_min_addr
      Src: /src/hostap/src/common/sae.c:1241,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae.c:1245,1
    - Dst: sae_ffc_prime_len_2_hash_len
      Src: /src/hostap/src/common/sae.c:1246,1
    - Dst: os_memset
      Src: /src/hostap/src/common/sae.c:1247,1
    - Dst: hkdf_extract
      Src: /src/hostap/src/common/sae.c:1248,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/sae.c:1250,1
    - Dst: crypto_bignum_init
      Src: /src/hostap/src/common/sae.c:1253,1
    - Dst: crypto_bignum_init_set
      Src: /src/hostap/src/common/sae.c:1254,1
    - Dst: crypto_bignum_init_uint
      Src: /src/hostap/src/common/sae.c:1255,1
    - Dst: crypto_bignum_sub
      Src: /src/hostap/src/common/sae.c:1257,1
    - Dst: crypto_bignum_mod
      Src: /src/hostap/src/common/sae.c:1258,1
    - Dst: crypto_bignum_add
      Src: /src/hostap/src/common/sae.c:1259,1
    - Dst: debug_print_bignum
      Src: /src/hostap/src/common/sae.c:1261,1
    - Dst: crypto_bignum_init
      Src: /src/hostap/src/common/sae.c:1264,1
    - Dst: crypto_bignum_exptmod
      Src: /src/hostap/src/common/sae.c:1265,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/sae.c:1266,1
    - Dst: debug_print_bignum
      Src: /src/hostap/src/common/sae.c:1270,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/sae.c:1273,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/sae.c:1274,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/sae.c:1275,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/sae.c:1276,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/sae.c:1277,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 3
    argNames:
    - pt
    - addr1
    - addr2
    argTypes:
    - struct sae_pt*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1222
    functionDepth: 2
    functionLinenumber: 1222
    functionLinenumberEnd: 1279
    functionName: sae_derive_pwe_from_pt_ffc
    functionSourceFile: /src/hostap/src/common/sae.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - crypto_bignum_init_uint
    - crypto_bignum_init
    - wpa_hexdump
    - crypto_bignum_sub
    - crypto_bignum_mod
    - hkdf_extract
    - crypto_bignum_deinit
    - sae_max_min_addr
    - debug_print_bignum
    - crypto_bignum_add
    - sae_ffc_prime_len_2_hash_len
    - crypto_bignum_init_set
    - crypto_bignum_exptmod
    - os_memset
    linkageType: ''
    returnType: struct crypto_bignum
    signature: "struct crypto_bignum *\nsae_derive_pwe_from_pt_ffc(const struct sae_pt
      *pt,\n\t\t\t   const u8 *addr1, const u8 *addr2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_ec_point_deinit
      Src: /src/hostap/src/common/sae.c:1287,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/sae.c:1288,1
    - Dst: crypto_ec_deinit
      Src: /src/hostap/src/common/sae.c:1289,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/sae.c:1290,1
    - Dst: os_free
      Src: /src/hostap/src/common/sae.c:1293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - pt
    argTypes:
    - struct sae_pt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1295
      start: 1282
    functionDepth: 1
    functionLinenumber: 1282
    functionLinenumberEnd: 1295
    functionName: sae_deinit_pt
    functionSourceFile: /src/hostap/src/common/sae.c
    functionUses: 13
    functionsReached:
    - wpabuf_free
    - crypto_ec_point_deinit
    - crypto_ec_deinit
    - crypto_bignum_deinit
    - os_free
    linkageType: ''
    returnType: void
    signature: void sae_deinit_pt(struct sae_pt *pt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: crypto_ec_point_init
      Src: /src/hostap/src/common/sae.c:1304,1
    - Dst: crypto_ec_point_mul
      Src: /src/hostap/src/common/sae.c:1309,1
    - Dst: crypto_ec_point_invert
      Src: /src/hostap/src/common/sae.c:1311,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae.c:1313,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - sae
    - mask
    argTypes:
    - struct sae_data*
    - struct crypto_bignum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1318
      start: 1298
    functionDepth: 0
    functionLinenumber: 1298
    functionLinenumberEnd: 1318
    functionName: sae_derive_commit_element_ecc
    functionSourceFile: /src/hostap/src/common/sae.c
    functionUses: 0
    functionsReached:
    - crypto_ec_point_mul
    - wpa_printf
    - crypto_ec_point_init
    - crypto_ec_point_invert
    linkageType: ''
    returnType: int
    signature: "int sae_derive_commit_element_ecc(struct sae_data *sae,\n\t\t\t\t\t
      struct crypto_bignum *mask)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: crypto_bignum_init
      Src: /src/hostap/src/common/sae.c:1326,1
    - Dst: crypto_bignum_exptmod
      Src: /src/hostap/src/common/sae.c:1331,1
    - Dst: crypto_bignum_inverse
      Src: /src/hostap/src/common/sae.c:1333,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae.c:1336,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - sae
    - mask
    argTypes:
    - struct sae_data*
    - struct crypto_bignum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1341
      start: 1321
    functionDepth: 0
    functionLinenumber: 1321
    functionLinenumberEnd: 1341
    functionName: sae_derive_commit_element_ffc
    functionSourceFile: /src/hostap/src/common/sae.c
    functionUses: 0
    functionsReached:
    - crypto_bignum_exptmod
    - wpa_printf
    - crypto_bignum_inverse
    - crypto_bignum_init
    linkageType: ''
    returnType: int
    signature: "int sae_derive_commit_element_ffc(struct sae_data *sae,\n\t\t\t\t\t
      struct crypto_bignum *mask)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: crypto_bignum_init
      Src: /src/hostap/src/common/sae.c:1349,1
    - Dst: crypto_bignum_init
      Src: /src/hostap/src/common/sae.c:1351,1
    - Dst: crypto_bignum_init
      Src: /src/hostap/src/common/sae.c:1353,1
    - Dst: dragonfly_generate_scalar
      Src: /src/hostap/src/common/sae.c:1355,1
    - Dst: sae_derive_commit_element_ecc
      Src: /src/hostap/src/common/sae.c:1359,1
    - Dst: sae_derive_commit_element_ffc
      Src: /src/hostap/src/common/sae.c:1361,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/sae.c:1362,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 1
    argNames:
    - sae
    argTypes:
    - struct sae_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1364
      start: 1344
    functionDepth: 1
    functionLinenumber: 1344
    functionLinenumberEnd: 1364
    functionName: sae_derive_commit
    functionSourceFile: /src/hostap/src/common/sae.c
    functionUses: 0
    functionsReached:
    - sae_derive_commit_element_ecc
    - crypto_bignum_init
    - sae_derive_commit_element_ffc
    - dragonfly_generate_scalar
    - crypto_bignum_deinit
    linkageType: ''
    returnType: int
    signature: int sae_derive_commit(struct sae_data *sae)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sae_derive_pwe_ecc
      Src: /src/hostap/src/common/sae.c:1372,1
    - Dst: sae_derive_pwe_ffc
      Src: /src/hostap/src/common/sae.c:1374,1
    - Dst: sae_derive_commit
      Src: /src/hostap/src/common/sae.c:1380,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 5
    argNames:
    - addr1
    - addr2
    - password
    - password_len
    - sae
    argTypes:
    - u8*
    - u8*
    - u8*
    - size_t
    - struct sae_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1381
      start: 1367
    functionDepth: 4
    functionLinenumber: 1367
    functionLinenumberEnd: 1381
    functionName: sae_prepare_commit
    functionSourceFile: /src/hostap/src/common/sae.c
    functionUses: 4
    functionsReached:
    - sae_derive_pwe_ffc
    - sae_derive_pwe_ecc
    - sae_derive_commit
    linkageType: ''
    returnType: int
    signature: "int sae_prepare_commit(const u8 *addr1, const u8 *addr2,\n\t\t       const
      u8 *password, size_t password_len,\n\t\t       struct sae_data *sae)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae.c:1397,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/sae.c:1403,1
    - Dst: os_memcmp
      Src: /src/hostap/src/common/sae.c:1407,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/sae.c:1408,1
    - Dst: int_array_len
      Src: /src/hostap/src/common/sae.c:1414,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/common/sae.c:1415,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/sae.c:1419,1
    - Dst: crypto_ec_point_deinit
      Src: /src/hostap/src/common/sae.c:1424,1
    - Dst: sae_derive_pwe_from_pt_ecc
      Src: /src/hostap/src/common/sae.c:1425,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/sae.c:1432,1
    - Dst: sae_derive_pwe_from_pt_ffc
      Src: /src/hostap/src/common/sae.c:1433,1
    - Dst: sae_derive_commit
      Src: /src/hostap/src/common/sae.c:1440,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 6
    argNames:
    - sae
    - pt
    - addr1
    - addr2
    - rejected_groups
    - pk
    argTypes:
    - struct sae_data*
    - struct sae_pt*
    - u8*
    - u8*
    - int*
    - struct sae_pk*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1441
      start: 1384
    functionDepth: 3
    functionLinenumber: 1384
    functionLinenumberEnd: 1441
    functionName: sae_prepare_commit_pt
    functionSourceFile: /src/hostap/src/common/sae.c
    functionUses: 4
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpabuf_free
    - crypto_ec_point_deinit
    - wpabuf_put_le16
    - crypto_bignum_deinit
    - sae_derive_commit
    - int_array_len
    - wpabuf_alloc
    - sae_derive_pwe_from_pt_ffc
    - os_memcmp
    - sae_derive_pwe_from_pt_ecc
    linkageType: ''
    returnType: int
    signature: "int sae_prepare_commit_pt(struct sae_data *sae, const struct sae_pt
      *pt,\n\t\t\t  const u8 *addr1, const u8 *addr2,\n\t\t\t  int *rejected_groups,
      const struct sae_pk *pk)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: crypto_ec_point_init
      Src: /src/hostap/src/common/sae.c:1449,1
    - Dst: crypto_ec_point_mul
      Src: /src/hostap/src/common/sae.c:1460,1
    - Dst: crypto_ec_point_add
      Src: /src/hostap/src/common/sae.c:1462,1
    - Dst: crypto_ec_point_mul
      Src: /src/hostap/src/common/sae.c:1464,1
    - Dst: crypto_ec_point_is_at_infinity
      Src: /src/hostap/src/common/sae.c:1465,1
    - Dst: crypto_ec_point_to_bin
      Src: /src/hostap/src/common/sae.c:1466,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae.c:1467,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/sae.c:1471,1
    - Dst: crypto_ec_point_deinit
      Src: /src/hostap/src/common/sae.c:1475,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - sae
    - k
    argTypes:
    - struct sae_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1477
      start: 1444
    functionDepth: 0
    functionLinenumber: 1444
    functionLinenumberEnd: 1477
    functionName: sae_derive_k_ecc
    functionSourceFile: /src/hostap/src/common/sae.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump_key
    - crypto_ec_point_deinit
    - crypto_ec_point_is_at_infinity
    - crypto_ec_point_init
    - crypto_ec_point_add
    - crypto_ec_point_mul
    - crypto_ec_point_to_bin
    linkageType: ''
    returnType: int
    signature: int sae_derive_k_ecc(struct sae_data *sae, u8 *k)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: crypto_bignum_init
      Src: /src/hostap/src/common/sae.c:1485,1
    - Dst: crypto_bignum_exptmod
      Src: /src/hostap/src/common/sae.c:1496,1
    - Dst: crypto_bignum_mulmod
      Src: /src/hostap/src/common/sae.c:1498,1
    - Dst: crypto_bignum_exptmod
      Src: /src/hostap/src/common/sae.c:1500,1
    - Dst: crypto_bignum_is_one
      Src: /src/hostap/src/common/sae.c:1502,1
    - Dst: crypto_bignum_to_bin
      Src: /src/hostap/src/common/sae.c:1503,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae.c:1505,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/sae.c:1509,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/sae.c:1513,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - sae
    - k
    argTypes:
    - struct sae_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1515
      start: 1480
    functionDepth: 0
    functionLinenumber: 1480
    functionLinenumberEnd: 1515
    functionName: sae_derive_k_ffc
    functionSourceFile: /src/hostap/src/common/sae.c
    functionUses: 0
    functionsReached:
    - crypto_bignum_to_bin
    - wpa_printf
    - wpa_hexdump_key
    - crypto_bignum_init
    - crypto_bignum_deinit
    - crypto_bignum_is_one
    - crypto_bignum_mulmod
    - crypto_bignum_exptmod
    linkageType: ''
    returnType: int
    signature: int sae_derive_k_ffc(struct sae_data *sae, u8 *k)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sha256_prf
      Src: /src/hostap/src/common/sae.c:1523,1
    - Dst: sha384_prf
      Src: /src/hostap/src/common/sae.c:1527,1
    - Dst: sha512_prf
      Src: /src/hostap/src/common/sae.c:1532,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 7
    argNames:
    - hash_len
    - k
    - label
    - context
    - context_len
    - out
    - out_len
    argTypes:
    - size_t
    - u8*
    - char*
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1536
      start: 1518
    functionDepth: 2
    functionLinenumber: 1518
    functionLinenumberEnd: 1536
    functionName: sae_kdf_hash
    functionSourceFile: /src/hostap/src/common/sae.c
    functionUses: 0
    functionsReached:
    - sha256_prf
    - sha384_prf
    - sha512_prf
    linkageType: ''
    returnType: int
    signature: "int sae_kdf_hash(size_t hash_len, const u8 *k, const char *label,\n\t\t\tconst
      u8 *context, size_t context_len,\n\t\t\tu8 *out, size_t out_len)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: crypto_bignum_init
      Src: /src/hostap/src/common/sae.c:1553,1
    - Dst: sae_ffc_prime_len_2_hash_len
      Src: /src/hostap/src/common/sae.c:1568,1
    - Dst: sae_ecc_prime_len_2_hash_len
      Src: /src/hostap/src/common/sae.c:1570,1
    - Dst: wpa_key_mgmt_sae_ext_key
      Src: /src/hostap/src/common/sae.c:1571,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae.c:1575,1
    - Dst: wpa_akm_to_suite
      Src: /src/hostap/src/common/sae.c:1577,1
    - Dst: wpa_key_mgmt_txt
      Src: /src/hostap/src/common/sae.c:1578,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/sae.c:1587,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/sae.c:1589,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/common/sae.c:1590,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/common/sae.c:1595,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/common/sae.c:1597,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/common/sae.c:1600,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/common/sae.c:1602,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/sae.c:1604,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/sae.c:1605,1
    - Dst: os_memset
      Src: /src/hostap/src/common/sae.c:1607,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/sae.c:1611,1
    - Dst: hkdf_extract
      Src: /src/hostap/src/common/sae.c:1615,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/sae.c:1617,1
    - Dst: crypto_bignum_add
      Src: /src/hostap/src/common/sae.c:1619,1
    - Dst: crypto_bignum_mod
      Src: /src/hostap/src/common/sae.c:1621,1
    - Dst: crypto_bignum_to_bin
      Src: /src/hostap/src/common/sae.c:1629,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/sae.c:1632,1
    - Dst: sae_kdf_hash
      Src: /src/hostap/src/common/sae.c:1636,1
    - Dst: sae_kdf_hash
      Src: /src/hostap/src/common/sae.c:1641,1
    - Dst: sae_kdf_hash
      Src: /src/hostap/src/common/sae.c:1647,1
    - Dst: forced_memzero
      Src: /src/hostap/src/common/sae.c:1653,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/sae.c:1654,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/sae.c:1656,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/sae.c:1658,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/sae.c:1661,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/sae.c:1664,1
    - Dst: forced_memzero
      Src: /src/hostap/src/common/sae.c:1668,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/sae.c:1669,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/sae.c:1671,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/sae.c:1675,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/sae.c:1676,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 90
    argCount: 2
    argNames:
    - sae
    - k
    argTypes:
    - struct sae_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1678
      start: 1539
    functionDepth: 3
    functionLinenumber: 1539
    functionLinenumberEnd: 1678
    functionName: sae_derive_keys
    functionSourceFile: /src/hostap/src/common/sae.c
    functionUses: 0
    functionsReached:
    - crypto_bignum_to_bin
    - wpa_key_mgmt_sae_ext_key
    - wpa_hexdump
    - forced_memzero
    - wpabuf_alloc
    - wpa_printf
    - sae_kdf_hash
    - wpa_akm_to_suite
    - crypto_bignum_deinit
    - sae_ecc_prime_len_2_hash_len
    - sae_ffc_prime_len_2_hash_len
    - wpa_hexdump_key
    - crypto_bignum_init
    - wpabuf_len
    - hkdf_extract
    - wpabuf_head
    - os_memset
    - os_memcpy
    - crypto_bignum_mod
    - wpabuf_free
    - wpabuf_put_buf
    - wpa_key_mgmt_txt
    - crypto_bignum_add
    linkageType: ''
    returnType: int
    signature: int sae_derive_keys(struct sae_data *sae, const u8 *k)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sae_derive_k_ecc
      Src: /src/hostap/src/common/sae.c:1687,1
    - Dst: sae_derive_k_ffc
      Src: /src/hostap/src/common/sae.c:1688,1
    - Dst: sae_derive_keys
      Src: /src/hostap/src/common/sae.c:1689,1
    - Dst: forced_memzero
      Src: /src/hostap/src/common/sae.c:1692,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 1
    argNames:
    - sae
    argTypes:
    - struct sae_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1695
      start: 1681
    functionDepth: 4
    functionLinenumber: 1681
    functionLinenumberEnd: 1695
    functionName: sae_process_commit
    functionSourceFile: /src/hostap/src/common/sae.c
    functionUses: 5
    functionsReached:
    - sae_derive_keys
    - forced_memzero
    - sae_derive_k_ffc
    - sae_derive_k_ecc
    linkageType: ''
    returnType: int
    signature: int sae_process_commit(struct sae_data *sae)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/sae.c:1707,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/common/sae.c:1709,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/sae.c:1710,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/sae.c:1711,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/sae.c:1711,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/common/sae.c:1713,1
    - Dst: crypto_bignum_to_bin
      Src: /src/hostap/src/common/sae.c:1714,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/sae.c:1717,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/common/sae.c:1720,1
    - Dst: crypto_ec_point_to_bin
      Src: /src/hostap/src/common/sae.c:1721,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/sae.c:1725,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/sae.c:1727,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/common/sae.c:1730,1
    - Dst: crypto_bignum_to_bin
      Src: /src/hostap/src/common/sae.c:1731,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/sae.c:1735,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/sae.c:1741,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/sae.c:1742,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/sae.c:1743,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/common/sae.c:1744,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/common/sae.c:1745,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/common/sae.c:1750,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/sae.c:1752,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/sae.c:1753,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/sae.c:1754,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/sae.c:1755,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/common/sae.c:1756,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/sae.c:1760,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/sae.c:1761,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/sae.c:1761,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/sae.c:1762,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/common/sae.c:1763,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/common/sae.c:1764,1
    - Dst: wpa_key_mgmt_sae_ext_key
      Src: /src/hostap/src/common/sae.c:1769,1
    - Dst: wpa_akm_to_suite
      Src: /src/hostap/src/common/sae.c:1770,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/sae.c:1772,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/sae.c:1773,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/sae.c:1774,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/common/sae.c:1775,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/common/sae.c:1775,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae.c:1776,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 54
    argCount: 5
    argNames:
    - sae
    - buf
    - token
    - identifier
    - identifier_len
    argTypes:
    - struct sae_data*
    - struct wpabuf*
    - struct wpabuf*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1781
      start: 1698
    functionDepth: 1
    functionLinenumber: 1698
    functionLinenumberEnd: 1781
    functionName: sae_write_commit
    functionSourceFile: /src/hostap/src/common/sae.c
    functionUses: 5
    functionsReached:
    - crypto_bignum_to_bin
    - wpabuf_put
    - wpa_printf
    - wpa_key_mgmt_sae_ext_key
    - wpa_hexdump
    - wpabuf_put_u8
    - wpabuf_len
    - wpabuf_put_data
    - wpa_akm_to_suite
    - wpabuf_head
    - wpabuf_put_le16
    - wpabuf_put_buf
    - RSN_SELECTOR_PUT
    - crypto_ec_point_to_bin
    - wpa_hexdump_ascii
    - wpa_hexdump_buf
    linkageType: ''
    returnType: int
    signature: "int sae_write_commit(struct sae_data *sae, struct wpabuf *buf,\n\t\t
      \    const struct wpabuf *token, const u8 *identifier,\n\t\t     size_t identifier_len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae.c:1793,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae.c:1801,1
    - Dst: sae_set_group
      Src: /src/hostap/src/common/sae.c:1805,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae.c:1806,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae.c:1812,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae.c:1817,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 3
    argNames:
    - sae
    - allowed_groups
    - group
    argTypes:
    - struct sae_data*
    - int*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1823
      start: 1784
    functionDepth: 2
    functionLinenumber: 1784
    functionLinenumberEnd: 1823
    functionName: sae_group_allowed
    functionSourceFile: /src/hostap/src/common/sae.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - sae_set_group
    linkageType: ''
    returnType: u16
    signature: u16 sae_group_allowed(struct sae_data *sae, int *allowed_groups, u16
      group)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pos
    - end
    argTypes:
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1833
      start: 1826
    functionDepth: 0
    functionLinenumber: 1826
    functionLinenumberEnd: 1833
    functionName: sae_is_password_id_elem
    functionSourceFile: /src/hostap/src/common/sae.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int sae_is_password_id_elem(const u8 *pos, const u8 *end)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pos
    - end
    argTypes:
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1843
      start: 1836
    functionDepth: 0
    functionLinenumber: 1836
    functionLinenumberEnd: 1843
    functionName: sae_is_rejected_groups_elem
    functionSourceFile: /src/hostap/src/common/sae.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int sae_is_rejected_groups_elem(const u8 *pos, const u8 *end)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pos
    - end
    argTypes:
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1853
      start: 1846
    functionDepth: 0
    functionLinenumber: 1846
    functionLinenumberEnd: 1853
    functionName: sae_is_token_container_elem
    functionSourceFile: /src/hostap/src/common/sae.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int sae_is_token_container_elem(const u8 *pos, const u8 *end)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pos
    - end
    argTypes:
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1863
      start: 1856
    functionDepth: 0
    functionLinenumber: 1856
    functionLinenumberEnd: 1863
    functionName: sae_is_akm_suite_selector_elem
    functionSourceFile: /src/hostap/src/common/sae.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int sae_is_akm_suite_selector_elem(const u8 *pos, const u8 *end)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae.c:1887,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/sae.c:1893,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 6
    argNames:
    - sae
    - pos
    - end
    - token
    - token_len
    - h2e
    argTypes:
    - struct sae_data*
    - u8**
    - u8*
    - u8**
    - size_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1899
      start: 1866
    functionDepth: 0
    functionLinenumber: 1866
    functionLinenumberEnd: 1899
    functionName: sae_parse_commit_token
    functionSourceFile: /src/hostap/src/common/sae.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    linkageType: ''
    returnType: void
    signature: "void sae_parse_commit_token(struct sae_data *sae, const u8 **pos,\n\t\t\t\t
      \  const u8 *end, const u8 **token,\n\t\t\t\t   size_t *token_len, int h2e)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sae_is_token_container_elem
      Src: /src/hostap/src/common/sae.c:1906,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/sae.c:1912,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - sae
    - pos
    - end
    - token
    - token_len
    argTypes:
    - struct sae_data*
    - u8*
    - u8*
    - u8**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1914
      start: 1902
    functionDepth: 1
    functionLinenumber: 1902
    functionLinenumberEnd: 1914
    functionName: sae_parse_token_container
    functionSourceFile: /src/hostap/src/common/sae.c
    functionUses: 0
    functionsReached:
    - wpa_hexdump
    - sae_is_token_container_elem
    linkageType: ''
    returnType: void
    signature: "void sae_parse_token_container(struct sae_data *sae,\n\t\t\t\t      const
      u8 *pos, const u8 *end,\n\t\t\t\t      const u8 **token, size_t *token_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae.c:1923,1
    - Dst: crypto_bignum_init_set
      Src: /src/hostap/src/common/sae.c:1927,1
    - Dst: crypto_bignum_cmp
      Src: /src/hostap/src/common/sae.c:1938,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae.c:1940,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/sae.c:1942,1
    - Dst: crypto_bignum_is_zero
      Src: /src/hostap/src/common/sae.c:1947,1
    - Dst: crypto_bignum_is_one
      Src: /src/hostap/src/common/sae.c:1948,1
    - Dst: crypto_bignum_cmp
      Src: /src/hostap/src/common/sae.c:1949,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae.c:1950,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/sae.c:1951,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/sae.c:1956,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/sae.c:1958,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 3
    argNames:
    - sae
    - pos
    - end
    argTypes:
    - struct sae_data*
    - u8**
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1963
      start: 1917
    functionDepth: 0
    functionLinenumber: 1917
    functionLinenumberEnd: 1963
    functionName: sae_parse_commit_scalar
    functionSourceFile: /src/hostap/src/common/sae.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    - crypto_bignum_is_zero
    - crypto_bignum_cmp
    - crypto_bignum_deinit
    - crypto_bignum_init_set
    - crypto_bignum_is_one
    linkageType: ''
    returnType: u16
    signature: "u16 sae_parse_commit_scalar(struct sae_data *sae, const u8 **pos,\n\t\t\t\t
      \  const u8 *end)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae.c:1972,1
    - Dst: crypto_bignum_to_bin
      Src: /src/hostap/src/common/sae.c:1977,1
    - Dst: os_memcmp
      Src: /src/hostap/src/common/sae.c:1982,1
    - Dst: os_memcmp
      Src: /src/hostap/src/common/sae.c:1983,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae.c:1985,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/sae.c:1990,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/sae.c:1992,1
    - Dst: crypto_ec_point_deinit
      Src: /src/hostap/src/common/sae.c:1995,1
    - Dst: crypto_ec_point_from_bin
      Src: /src/hostap/src/common/sae.c:1997,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae.c:1999,1
    - Dst: crypto_ec_point_is_on_curve
      Src: /src/hostap/src/common/sae.c:2003,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae.c:2005,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - sae
    - pos
    - end
    argTypes:
    - struct sae_data*
    - u8**
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2012
      start: 1966
    functionDepth: 0
    functionLinenumber: 1966
    functionLinenumberEnd: 2012
    functionName: sae_parse_commit_element_ecc
    functionSourceFile: /src/hostap/src/common/sae.c
    functionUses: 0
    functionsReached:
    - crypto_bignum_to_bin
    - wpa_printf
    - wpa_hexdump
    - crypto_ec_point_deinit
    - os_memcmp
    - crypto_ec_point_from_bin
    - crypto_ec_point_is_on_curve
    linkageType: ''
    returnType: u16
    signature: "u16 sae_parse_commit_element_ecc(struct sae_data *sae, const u8 **pos,\n\t\t\t\t\tconst
      u8 *end)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae.c:2022,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/sae.c:2026,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/sae.c:2029,1
    - Dst: crypto_bignum_init_set
      Src: /src/hostap/src/common/sae.c:2031,1
    - Dst: crypto_bignum_init
      Src: /src/hostap/src/common/sae.c:2035,1
    - Dst: crypto_bignum_init_set
      Src: /src/hostap/src/common/sae.c:2036,1
    - Dst: crypto_bignum_sub
      Src: /src/hostap/src/common/sae.c:2038,1
    - Dst: crypto_bignum_is_zero
      Src: /src/hostap/src/common/sae.c:2039,1
    - Dst: crypto_bignum_is_one
      Src: /src/hostap/src/common/sae.c:2040,1
    - Dst: crypto_bignum_cmp
      Src: /src/hostap/src/common/sae.c:2041,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/sae.c:2042,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/sae.c:2043,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae.c:2044,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/sae.c:2047,1
    - Dst: crypto_bignum_exptmod
      Src: /src/hostap/src/common/sae.c:2050,1
    - Dst: crypto_bignum_is_one
      Src: /src/hostap/src/common/sae.c:2052,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae.c:2053,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/sae.c:2054,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/sae.c:2057,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 3
    argNames:
    - sae
    - pos
    - end
    argTypes:
    - struct sae_data*
    - u8**
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2062
      start: 2015
    functionDepth: 0
    functionLinenumber: 2015
    functionLinenumberEnd: 2062
    functionName: sae_parse_commit_element_ffc
    functionSourceFile: /src/hostap/src/common/sae.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - crypto_bignum_init
    - wpa_hexdump
    - crypto_bignum_sub
    - crypto_bignum_is_zero
    - crypto_bignum_cmp
    - crypto_bignum_deinit
    - crypto_bignum_init_set
    - crypto_bignum_is_one
    - crypto_bignum_exptmod
    linkageType: ''
    returnType: u16
    signature: "u16 sae_parse_commit_element_ffc(struct sae_data *sae, const u8 **pos,\n\t\t\t\t\tconst
      u8 *end)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sae_parse_commit_element_ffc
      Src: /src/hostap/src/common/sae.c:2069,1
    - Dst: sae_parse_commit_element_ecc
      Src: /src/hostap/src/common/sae.c:2070,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - sae
    - pos
    - end
    argTypes:
    - struct sae_data*
    - u8**
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2071
      start: 2065
    functionDepth: 1
    functionLinenumber: 2065
    functionLinenumberEnd: 2071
    functionName: sae_parse_commit_element
    functionSourceFile: /src/hostap/src/common/sae.c
    functionUses: 0
    functionsReached:
    - sae_parse_commit_element_ffc
    - sae_parse_commit_element_ecc
    linkageType: ''
    returnType: u16
    signature: "u16 sae_parse_commit_element(struct sae_data *sae, const u8 **pos,\n\t\t\t\t
      \   const u8 *end)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sae_is_password_id_elem
      Src: /src/hostap/src/common/sae.c:2080,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae.c:2082,1
    - Dst: os_free
      Src: /src/hostap/src/common/sae.c:2087,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae.c:2102,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae.c:2108,1
    - Dst: os_memcmp
      Src: /src/hostap/src/common/sae.c:2115,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae.c:2116,1
    - Dst: os_free
      Src: /src/hostap/src/common/sae.c:2122,1
    - Dst: os_malloc
      Src: /src/hostap/src/common/sae.c:2123,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/sae.c:2128,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/common/sae.c:2131,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 4
    argNames:
    - sae
    - h2e
    - pos
    - end
    argTypes:
    - struct sae_data*
    - bool
    - u8**
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2135
      start: 2074
    functionDepth: 1
    functionLinenumber: 2074
    functionLinenumberEnd: 2135
    functionName: sae_parse_password_identifier
    functionSourceFile: /src/hostap/src/common/sae.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - os_malloc
    - sae_is_password_id_elem
    - os_memcmp
    - os_free
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: int
    signature: "int sae_parse_password_identifier(struct sae_data *sae, bool h2e,\n\t\t\t\t\t
      const u8 **pos, const u8 *end)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sae_is_rejected_groups_elem
      Src: /src/hostap/src/common/sae.c:2144,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/sae.c:2145,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae.c:2158,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/sae.c:2164,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/common/sae.c:2165,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/common/sae.c:2168,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/common/sae.c:2169,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - sae
    - pos
    - end
    argTypes:
    - struct sae_data*
    - u8**
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2173
      start: 2138
    functionDepth: 1
    functionLinenumber: 2138
    functionLinenumberEnd: 2173
    functionName: sae_parse_rejected_groups
    functionSourceFile: /src/hostap/src/common/sae.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put_data
    - sae_is_rejected_groups_elem
    - wpabuf_free
    - wpabuf_alloc
    - wpa_hexdump_buf
    linkageType: ''
    returnType: int
    signature: "int sae_parse_rejected_groups(struct sae_data *sae,\n\t\t\t\t     const
      u8 **pos, const u8 *end)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sae_is_akm_suite_selector_elem
      Src: /src/hostap/src/common/sae.c:2182,1
    - Dst: RSN_SELECTOR_GET
      Src: /src/hostap/src/common/sae.c:2195,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae.c:2196,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - sae
    - pos
    - end
    argTypes:
    - struct sae_data*
    - u8**
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2200
      start: 2176
    functionDepth: 1
    functionLinenumber: 2176
    functionLinenumberEnd: 2200
    functionName: sae_parse_akm_suite_selector
    functionSourceFile: /src/hostap/src/common/sae.c
    functionUses: 0
    functionsReached:
    - RSN_SELECTOR_GET
    - wpa_printf
    - sae_is_akm_suite_selector_elem
    linkageType: ''
    returnType: int
    signature: "int sae_parse_akm_suite_selector(struct sae_data *sae,\n\t\t\t\t\tconst
      u8 **pos, const u8 *end)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: sae_group_allowed
      Src: /src/hostap/src/common/sae.c:2213,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/common/sae.c:2213,1
    - Dst: sae_parse_commit_token
      Src: /src/hostap/src/common/sae.c:2219,1
    - Dst: sae_parse_commit_scalar
      Src: /src/hostap/src/common/sae.c:2222,1
    - Dst: sae_parse_commit_element
      Src: /src/hostap/src/common/sae.c:2227,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/sae.c:2235,1
    - Dst: sae_parse_password_identifier
      Src: /src/hostap/src/common/sae.c:2240,1
    - Dst: sae_parse_rejected_groups
      Src: /src/hostap/src/common/sae.c:2246,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/sae.c:2250,1
    - Dst: sae_parse_token_container
      Src: /src/hostap/src/common/sae.c:2256,1
    - Dst: sae_parse_akm_suite_selector
      Src: /src/hostap/src/common/sae.c:2259,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae.c:2265,1
    - Dst: wpa_key_mgmt_sae_ext_key
      Src: /src/hostap/src/common/sae.c:2281,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae.c:2282,1
    - Dst: crypto_bignum_cmp
      Src: /src/hostap/src/common/sae.c:2292,1
    - Dst: crypto_bignum_cmp
      Src: /src/hostap/src/common/sae.c:2296,1
    - Dst: crypto_ec_point_cmp
      Src: /src/hostap/src/common/sae.c:2300,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 51
    argCount: 8
    argNames:
    - sae
    - data
    - len
    - token
    - token_len
    - allowed_groups
    - h2e
    - ie_offset
    argTypes:
    - struct sae_data*
    - u8*
    - size_t
    - u8**
    - size_t*
    - int*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2311
      start: 2203
    functionDepth: 3
    functionLinenumber: 2203
    functionLinenumberEnd: 2311
    functionName: sae_parse_commit
    functionSourceFile: /src/hostap/src/common/sae.c
    functionUses: 6
    functionsReached:
    - crypto_ec_point_cmp
    - sae_parse_commit_scalar
    - sae_parse_rejected_groups
    - wpa_printf
    - wpa_key_mgmt_sae_ext_key
    - wpa_hexdump
    - sae_parse_password_identifier
    - sae_parse_token_container
    - sae_parse_commit_element
    - wpabuf_free
    - WPA_GET_LE16
    - crypto_bignum_cmp
    - sae_group_allowed
    - sae_parse_akm_suite_selector
    - sae_parse_commit_token
    linkageType: ''
    returnType: u16
    signature: "u16 sae_parse_commit(struct sae_data *sae, const u8 *data, size_t
      len,\n\t\t     const u8 **token, size_t *token_len, int *allowed_groups,\n\t\t
      \    int h2e, int *ie_offset)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_bignum_to_bin
      Src: /src/hostap/src/common/sae.c:2333,1
    - Dst: crypto_bignum_to_bin
      Src: /src/hostap/src/common/sae.c:2335,1
    - Dst: hkdf_extract
      Src: /src/hostap/src/common/sae.c:2348,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 9
    argNames:
    - sae
    - sc
    - scalar1
    - element1
    - element1_len
    - scalar2
    - element2
    - element2_len
    - confirm
    argTypes:
    - struct sae_data*
    - u8*
    - struct crypto_bignum*
    - u8*
    - size_t
    - struct crypto_bignum*
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2350
      start: 2314
    functionDepth: 1
    functionLinenumber: 2314
    functionLinenumberEnd: 2350
    functionName: sae_cn_confirm
    functionSourceFile: /src/hostap/src/common/sae.c
    functionUses: 0
    functionsReached:
    - crypto_bignum_to_bin
    - hkdf_extract
    linkageType: ''
    returnType: int
    signature: "int sae_cn_confirm(struct sae_data *sae, const u8 *sc,\n\t\t\t  const
      struct crypto_bignum *scalar1,\n\t\t\t  const u8 *element1, size_t element1_len,\n\t\t\t
      \ const struct crypto_bignum *scalar2,\n\t\t\t  const u8 *element2, size_t element2_len,\n\t\t\t
      \ u8 *confirm)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_ec_point_to_bin
      Src: /src/hostap/src/common/sae.c:2363,1
    - Dst: crypto_ec_point_to_bin
      Src: /src/hostap/src/common/sae.c:2365,1
    - Dst: sae_cn_confirm
      Src: /src/hostap/src/common/sae.c:2367,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 7
    argNames:
    - sae
    - sc
    - scalar1
    - element1
    - scalar2
    - element2
    - confirm
    argTypes:
    - struct sae_data*
    - u8*
    - struct crypto_bignum*
    - struct crypto_ec_point*
    - struct crypto_bignum*
    - struct crypto_ec_point*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2373
      start: 2353
    functionDepth: 2
    functionLinenumber: 2353
    functionLinenumberEnd: 2373
    functionName: sae_cn_confirm_ecc
    functionSourceFile: /src/hostap/src/common/sae.c
    functionUses: 0
    functionsReached:
    - crypto_ec_point_to_bin
    - sae_cn_confirm
    linkageType: ''
    returnType: int
    signature: "int sae_cn_confirm_ecc(struct sae_data *sae, const u8 *sc,\n\t\t\t
      \     const struct crypto_bignum *scalar1,\n\t\t\t      const struct crypto_ec_point
      *element1,\n\t\t\t      const struct crypto_bignum *scalar2,\n\t\t\t      const
      struct crypto_ec_point *element2,\n\t\t\t      u8 *confirm)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_bignum_to_bin
      Src: /src/hostap/src/common/sae.c:2386,1
    - Dst: crypto_bignum_to_bin
      Src: /src/hostap/src/common/sae.c:2388,1
    - Dst: sae_cn_confirm
      Src: /src/hostap/src/common/sae.c:2390,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 7
    argNames:
    - sae
    - sc
    - scalar1
    - element1
    - scalar2
    - element2
    - confirm
    argTypes:
    - struct sae_data*
    - u8*
    - struct crypto_bignum*
    - struct crypto_bignum*
    - struct crypto_bignum*
    - struct crypto_bignum*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2395
      start: 2376
    functionDepth: 2
    functionLinenumber: 2376
    functionLinenumberEnd: 2395
    functionName: sae_cn_confirm_ffc
    functionSourceFile: /src/hostap/src/common/sae.c
    functionUses: 0
    functionsReached:
    - crypto_bignum_to_bin
    - sae_cn_confirm
    linkageType: ''
    returnType: int
    signature: "int sae_cn_confirm_ffc(struct sae_data *sae, const u8 *sc,\n\t\t\t
      \     const struct crypto_bignum *scalar1,\n\t\t\t      const struct crypto_bignum
      *element1,\n\t\t\t      const struct crypto_bignum *scalar2,\n\t\t\t      const
      struct crypto_bignum *element2,\n\t\t\t      u8 *confirm)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put
      Src: /src/hostap/src/common/sae.c:2412,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/sae.c:2413,1
    - Dst: sae_cn_confirm_ecc
      Src: /src/hostap/src/common/sae.c:2416,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/common/sae.c:2420,1
    - Dst: sae_cn_confirm_ffc
      Src: /src/hostap/src/common/sae.c:2422,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/common/sae.c:2426,1
    - Dst: sae_write_confirm_pk
      Src: /src/hostap/src/common/sae.c:2431,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - sae
    - buf
    argTypes:
    - struct sae_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2436
      start: 2398
    functionDepth: 3
    functionLinenumber: 2398
    functionLinenumberEnd: 2436
    functionName: sae_write_confirm
    functionSourceFile: /src/hostap/src/common/sae.c
    functionUses: 4
    functionsReached:
    - wpabuf_put
    - sae_cn_confirm_ffc
    - wpabuf_put_le16
    - sae_cn_confirm_ecc
    - sae_write_confirm_pk
    linkageType: ''
    returnType: int
    signature: int sae_write_confirm(struct sae_data *sae, struct wpabuf *buf)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae.c:2450,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae.c:2454,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/common/sae.c:2454,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae.c:2457,1
    - Dst: sae_cn_confirm_ecc
      Src: /src/hostap/src/common/sae.c:2464,1
    - Dst: sae_cn_confirm_ffc
      Src: /src/hostap/src/common/sae.c:2473,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/common/sae.c:2481,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae.c:2482,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/sae.c:2483,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/sae.c:2485,1
    - Dst: sae_check_confirm_pk
      Src: /src/hostap/src/common/sae.c:2491,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 4
    argNames:
    - sae
    - data
    - len
    - ie_offset
    argTypes:
    - struct sae_data*
    - u8*
    - size_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2501
      start: 2439
    functionDepth: 3
    functionLinenumber: 2439
    functionLinenumberEnd: 2501
    functionName: sae_check_confirm
    functionSourceFile: /src/hostap/src/common/sae.c
    functionUses: 4
    functionsReached:
    - wpa_printf
    - sae_cn_confirm_ffc
    - wpa_hexdump
    - WPA_GET_LE16
    - os_memcmp_const
    - sae_check_confirm_pk
    - sae_cn_confirm_ecc
    linkageType: ''
    returnType: int
    signature: "int sae_check_confirm(struct sae_data *sae, const u8 *data, size_t
      len,\n\t\t      int *ie_offset)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - state
    argTypes:
    - enum sae_state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2517
      start: 2504
    functionDepth: 0
    functionLinenumber: 2504
    functionLinenumberEnd: 2517
    functionName: sae_state_txt
    functionSourceFile: /src/hostap/src/common/sae.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * sae_state_txt(enum sae_state state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/gas_server.c:67,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/common/gas_server.c:70,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/gas_server.c:76,1
    - Dst: MAC2STR
      Src: /src/hostap/src/common/gas_server.c:78,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/gas_server.c:82,1
    - Dst: struct gas_server_response*::handler::status_cb
      Src: /src/hostap/src/common/gas_server.c:83,1
    - Dst: dl_list_del
      Src: /src/hostap/src/common/gas_server.c:86,1
    - Dst: gas_server_free_response
      Src: /src/hostap/src/common/gas_server.c:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - eloop_ctx
    - user_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 88
    functionName: gas_server_response_timeout
    functionSourceFile: /src/hostap/src/common/gas_server.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dl_list_del
    - wpabuf_len
    - struct gas_server_response*::handler::status_cb
    - MAC2STR
    - eloop_register_timeout
    - gas_server_free_response
    linkageType: ''
    returnType: void
    signature: void gas_server_response_timeout(void *eloop_ctx, void *user_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/gas_server.c:95,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/common/gas_server.c:96,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/gas_server.c:97,1
    - Dst: os_free
      Src: /src/hostap/src/common/gas_server.c:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - response
    argTypes:
    - struct gas_server_response*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 99
    functionName: gas_server_free_response
    functionSourceFile: /src/hostap/src/common/gas_server.c
    functionUses: 1
    functionsReached:
    - eloop_cancel_timeout
    - os_free
    - wpa_printf
    - wpabuf_free
    linkageType: ''
    returnType: void
    signature: void gas_server_free_response(struct gas_server_response *response)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_del
      Src: /src/hostap/src/common/gas_server.c:114,1
    - Dst: gas_server_free_response
      Src: /src/hostap/src/common/gas_server.c:115,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/gas_server.c:123,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/gas_server.c:130,1
    - Dst: gas_build_initial_resp
      Src: /src/hostap/src/common/gas_server.c:133,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/gas_server.c:139,1
    - Dst: dl_list_del
      Src: /src/hostap/src/common/gas_server.c:140,1
    - Dst: gas_server_free_response
      Src: /src/hostap/src/common/gas_server.c:141,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/gas_server.c:146,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/gas_server.c:147,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/gas_server.c:148,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/common/gas_server.c:150,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/gas_server.c:153,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/common/gas_server.c:155,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/gas_server.c:158,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/gas_server.c:160,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/gas_server.c:163,1
    - Dst: struct gas_server*::tx
      Src: /src/hostap/src/common/gas_server.c:169,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/gas_server.c:171,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/common/gas_server.c:172,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 4
    argNames:
    - gas
    - response
    - query_resp
    - comeback_delay
    argTypes:
    - struct gas_server*
    - struct gas_server_response*
    - struct wpabuf*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 174
    functionName: gas_server_send_resp
    functionSourceFile: /src/hostap/src/common/gas_server.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dl_list_del
    - wpabuf_put_u8
    - wpabuf_put_data
    - wpabuf_len
    - wpabuf_free
    - gas_build_initial_resp
    - wpabuf_put_le16
    - wpabuf_put_buf
    - struct gas_server*::tx
    - eloop_register_timeout
    - gas_server_free_response
    linkageType: ''
    returnType: void
    signature: "void gas_server_send_resp(struct gas_server *gas,\n\t\t     struct
      gas_server_response *response,\n\t\t     struct wpabuf *query_resp, u16 comeback_delay)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/gas_server.c:189,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/gas_server.c:195,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/gas_server.c:202,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/gas_server.c:209,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/gas_server.c:213,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/common/gas_server.c:216,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/gas_server.c:219,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/gas_server.c:224,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/gas_server.c:228,1
    - Dst: os_zalloc
      Src: /src/hostap/src/common/gas_server.c:233,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/gas_server.c:237,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/common/gas_server.c:238,1
    - Dst: os_memcmp
      Src: /src/hostap/src/common/gas_server.c:243,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/gas_server.c:249,1
    - Dst: dl_list_add
      Src: /src/hostap/src/common/gas_server.c:251,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/gas_server.c:253,1
    - Dst: struct gas_server_handler*::req_cb
      Src: /src/hostap/src/common/gas_server.c:255,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/common/gas_server.c:257,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/gas_server.c:260,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/gas_server.c:265,1
    - Dst: gas_server_send_resp
      Src: /src/hostap/src/common/gas_server.c:268,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/gas_server.c:272,1
    - Dst: gas_server_free_response
      Src: /src/hostap/src/common/gas_server.c:274,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 60
    argCount: 8
    argNames:
    - gas
    - da
    - sa
    - bssid
    - freq
    - dialog_token
    - data
    - len
    argTypes:
    - struct gas_server*
    - u8*
    - u8*
    - u8*
    - int
    - u8
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 177
    functionDepth: 3
    functionLinenumber: 177
    functionLinenumberEnd: 276
    functionName: gas_server_rx_initial_req
    functionSourceFile: /src/hostap/src/common/gas_server.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_hexdump
    - gas_server_send_resp
    - WPA_GET_LE16
    - dl_list_for_each
    - os_zalloc
    - dl_list_add
    - os_memcmp
    - struct gas_server_handler*::req_cb
    - gas_server_free_response
    - wpa_hexdump_buf
    linkageType: ''
    returnType: int
    signature: "int gas_server_rx_initial_req(struct gas_server *gas, const u8 *da,
      const u8 *sa,\n\t\t\t  const u8 *bssid, int freq, u8 dialog_token,\n\t\t\t  const
      u8 *data, size_t len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gas_build_comeback_resp
      Src: /src/hostap/src/common/gas_server.c:291,1
    - Dst: dl_list_del
      Src: /src/hostap/src/common/gas_server.c:296,1
    - Dst: gas_server_free_response
      Src: /src/hostap/src/common/gas_server.c:297,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/gas_server.c:302,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/gas_server.c:303,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/gas_server.c:304,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/common/gas_server.c:306,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/gas_server.c:310,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/gas_server.c:314,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/gas_server.c:319,1
    - Dst: gas_build_comeback_resp
      Src: /src/hostap/src/common/gas_server.c:323,1
    - Dst: dl_list_del
      Src: /src/hostap/src/common/gas_server.c:330,1
    - Dst: gas_server_free_response
      Src: /src/hostap/src/common/gas_server.c:331,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/gas_server.c:336,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/gas_server.c:337,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/gas_server.c:338,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/common/gas_server.c:340,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/gas_server.c:343,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/common/gas_server.c:344,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/common/gas_server.c:344,1
    - Dst: struct gas_server*::tx
      Src: /src/hostap/src/common/gas_server.c:353,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/gas_server.c:354,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 40
    argCount: 1
    argNames:
    - response
    argTypes:
    - struct gas_server_response*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 279
    functionDepth: 2
    functionLinenumber: 279
    functionLinenumberEnd: 355
    functionName: gas_server_handle_rx_comeback_req
    functionSourceFile: /src/hostap/src/common/gas_server.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dl_list_del
    - wpabuf_put_data
    - wpabuf_put_u8
    - wpabuf_len
    - wpabuf_head_u8
    - wpabuf_free
    - wpabuf_put_le16
    - struct gas_server*::tx
    - gas_server_free_response
    - gas_build_comeback_resp
    linkageType: ''
    returnType: void
    signature: void gas_server_handle_rx_comeback_req(struct gas_server_response *response)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/common/gas_server.c:364,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/common/gas_server.c:367,1
    - Dst: gas_server_handle_rx_comeback_req
      Src: /src/hostap/src/common/gas_server.c:369,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/gas_server.c:373,1
    - Dst: MAC2STR
      Src: /src/hostap/src/common/gas_server.c:374,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 6
    argNames:
    - gas
    - da
    - sa
    - bssid
    - freq
    - dialog_token
    argTypes:
    - struct gas_server*
    - u8*
    - u8*
    - u8*
    - int
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 358
    functionDepth: 3
    functionLinenumber: 358
    functionLinenumberEnd: 376
    functionName: gas_server_rx_comeback_req
    functionSourceFile: /src/hostap/src/common/gas_server.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - ether_addr_equal
    - dl_list_for_each
    - MAC2STR
    - gas_server_handle_rx_comeback_req
    linkageType: ''
    returnType: int
    signature: "int gas_server_rx_comeback_req(struct gas_server *gas, const u8 *da,
      const u8 *sa,\n\t\t\t   const u8 *bssid, int freq, u8 dialog_token)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/gas_server.c:413,1
    - Dst: MAC2STR
      Src: /src/hostap/src/common/gas_server.c:417,1
    - Dst: MAC2STR
      Src: /src/hostap/src/common/gas_server.c:417,1
    - Dst: MAC2STR
      Src: /src/hostap/src/common/gas_server.c:417,1
    - Dst: gas_server_rx_initial_req
      Src: /src/hostap/src/common/gas_server.c:421,1
    - Dst: gas_server_rx_comeback_req
      Src: /src/hostap/src/common/gas_server.c:424,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 8
    argNames:
    - gas
    - da
    - sa
    - bssid
    - categ
    - data
    - len
    - freq
    argTypes:
    - struct gas_server*
    - u8*
    - u8*
    - u8*
    - u8
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 391
    functionDepth: 4
    functionLinenumber: 391
    functionLinenumberEnd: 426
    functionName: gas_server_rx
    functionSourceFile: /src/hostap/src/common/gas_server.c
    functionUses: 1
    functionsReached:
    - MAC2STR
    - wpa_printf
    - gas_server_rx_comeback_req
    - gas_server_rx_initial_req
    linkageType: ''
    returnType: int
    signature: "int gas_server_rx(struct gas_server *gas, const u8 *da, const u8 *sa,\n\t\t
      \ const u8 *bssid, u8 categ, const u8 *data, size_t len,\n\t\t  int freq)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/gas_server.c:433,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/gas_server.c:434,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/gas_server.c:440,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/gas_server.c:446,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/gas_server.c:449,1
    - Dst: struct gas_server_response*::handler::status_cb
      Src: /src/hostap/src/common/gas_server.c:452,1
    - Dst: dl_list_del
      Src: /src/hostap/src/common/gas_server.c:455,1
    - Dst: gas_server_free_response
      Src: /src/hostap/src/common/gas_server.c:456,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - response
    - ack
    argTypes:
    - struct gas_server_response*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 429
    functionDepth: 2
    functionLinenumber: 429
    functionLinenumberEnd: 457
    functionName: gas_server_handle_tx_status
    functionSourceFile: /src/hostap/src/common/gas_server.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dl_list_del
    - wpabuf_len
    - struct gas_server_response*::handler::status_cb
    - gas_server_free_response
    linkageType: ''
    returnType: void
    signature: "void gas_server_handle_tx_status(struct gas_server_response *response,\n\t\t\t\t\tint
      ack)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/gas_server.c:477,1
    - Dst: MAC2STR
      Src: /src/hostap/src/common/gas_server.c:479,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/common/gas_server.c:482,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/common/gas_server.c:485,1
    - Dst: gas_server_handle_tx_status
      Src: /src/hostap/src/common/gas_server.c:487,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/gas_server.c:491,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 5
    argNames:
    - gas
    - dst
    - data
    - data_len
    - ack
    argTypes:
    - struct gas_server*
    - u8*
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 460
    functionDepth: 3
    functionLinenumber: 460
    functionLinenumberEnd: 492
    functionName: gas_server_tx_status
    functionSourceFile: /src/hostap/src/common/gas_server.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - ether_addr_equal
    - dl_list_for_each
    - MAC2STR
    - gas_server_handle_tx_status
    linkageType: ''
    returnType: void
    signature: "void gas_server_tx_status(struct gas_server *gas, const u8 *dst, const
      u8 *data,\n\t\t\t  size_t data_len, int ack)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/common/gas_server.c:500,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/gas_server.c:512,1
    - Dst: gas_server_send_resp
      Src: /src/hostap/src/common/gas_server.c:513,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - gas
    - resp_ctx
    - resp
    argTypes:
    - struct gas_server*
    - void*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 495
    functionDepth: 3
    functionLinenumber: 495
    functionLinenumberEnd: 519
    functionName: gas_server_set_resp
    functionSourceFile: /src/hostap/src/common/gas_server.c
    functionUses: 1
    functionsReached:
    - dl_list_for_each
    - wpa_printf
    - gas_server_send_resp
    linkageType: ''
    returnType: int
    signature: "int gas_server_set_resp(struct gas_server *gas, void *resp_ctx,\n\t\t\tstruct
      wpabuf *resp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/common/gas_server.c:527,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/gas_server.c:538,1
    - Dst: gas_server_send_resp
      Src: /src/hostap/src/common/gas_server.c:541,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - gas
    - resp_ctx
    - comeback_delay
    argTypes:
    - struct gas_server*
    - void*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 522
    functionDepth: 3
    functionLinenumber: 522
    functionLinenumberEnd: 544
    functionName: gas_server_set_comeback_delay
    functionSourceFile: /src/hostap/src/common/gas_server.c
    functionUses: 2
    functionsReached:
    - dl_list_for_each
    - wpa_printf
    - gas_server_send_resp
    linkageType: ''
    returnType: int
    signature: "int gas_server_set_comeback_delay(struct gas_server *gas, void *resp_ctx,\n\t\t\t\t
      \ u16 comeback_delay)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/common/gas_server.c:551,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/gas_server.c:555,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - gas
    - resp_ctx
    argTypes:
    - struct gas_server*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 547
    functionDepth: 1
    functionLinenumber: 547
    functionLinenumberEnd: 559
    functionName: gas_server_response_sent
    functionSourceFile: /src/hostap/src/common/gas_server.c
    functionUses: 1
    functionsReached:
    - dl_list_for_each
    - wpabuf_len
    linkageType: ''
    returnType: bool
    signature: bool gas_server_response_sent(struct gas_server *gas, void *resp_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/common/gas_server.c:570,1
    - Dst: dl_list_init
      Src: /src/hostap/src/common/gas_server.c:575,1
    - Dst: dl_list_init
      Src: /src/hostap/src/common/gas_server.c:576,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 578
    functionName: gas_server_init
    functionSourceFile: /src/hostap/src/common/gas_server.c
    functionUses: 1
    functionsReached:
    - os_zalloc
    - dl_list_init
    linkageType: ''
    returnType: struct gas_server
    signature: "struct gas_server * gas_server_init(void *ctx,\n\t\t\t\t    void (*tx)(void
      *ctx, int freq,\n\t\t\t\t\t       const u8 *da,\n\t\t\t\t\t       struct wpabuf
      *buf,\n\t\t\t\t\t       unsigned int wait_time))"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/common/gas_server.c:589,1
    - Dst: dl_list_del
      Src: /src/hostap/src/common/gas_server.c:591,1
    - Dst: os_free
      Src: /src/hostap/src/common/gas_server.c:592,1
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/common/gas_server.c:595,1
    - Dst: dl_list_del
      Src: /src/hostap/src/common/gas_server.c:597,1
    - Dst: gas_server_free_response
      Src: /src/hostap/src/common/gas_server.c:598,1
    - Dst: os_free
      Src: /src/hostap/src/common/gas_server.c:601,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - gas
    argTypes:
    - struct gas_server*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 581
    functionDepth: 2
    functionLinenumber: 581
    functionLinenumberEnd: 602
    functionName: gas_server_deinit
    functionSourceFile: /src/hostap/src/common/gas_server.c
    functionUses: 1
    functionsReached:
    - os_free
    - gas_server_free_response
    - dl_list_del
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: void gas_server_deinit(struct gas_server *gas)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/common/gas_server.c:619,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/gas_server.c:623,1
    - Dst: dl_list_add
      Src: /src/hostap/src/common/gas_server.c:629,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - gas
    - adv_proto_id
    - adv_proto_id_len
    - "(*req_cb)(void *ctx, void *resp_ctx, const u8 *sa,\n\t\t\t\t  const u8 *query,
      size_t query_len,\n\t\t\t\t  int *comeback_delay)"
    - ctx
    argTypes:
    - struct gas_server*
    - u8*
    - u8
    - struct wpabuf*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 605
    functionDepth: 1
    functionLinenumber: 605
    functionLinenumberEnd: 632
    functionName: gas_server_register
    functionSourceFile: /src/hostap/src/common/gas_server.c
    functionUses: 1
    functionsReached:
    - os_zalloc
    - dl_list_add
    - os_memcpy
    linkageType: ''
    returnType: int
    signature: "int gas_server_register(struct gas_server *gas,\n\t\t\tconst u8 *adv_proto_id,
      u8 adv_proto_id_len,\n\t\t\tstruct wpabuf *\n\t\t\t(*req_cb)(void *ctx, void
      *resp_ctx, const u8 *sa,\n\t\t\t\t  const u8 *query, size_t query_len,\n\t\t\t\t
      \ int *comeback_delay),\n\t\t\tvoid (*status_cb)(void *ctx, struct wpabuf *resp,\n\t\t\t\t\t
      \ int ok),\n\t\t\tvoid *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 2
    argNames:
    - group
    - ecc_only
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 31
    functionName: dragonfly_suitable_group
    functionSourceFile: /src/hostap/src/common/dragonfly.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dragonfly_suitable_group(int group, int ecc_only)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 8
    argCount: 1
    argNames:
    - group
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 50
    functionName: dragonfly_min_pwe_loop_iter
    functionSourceFile: /src/hostap/src/common/dragonfly.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int dragonfly_min_pwe_loop_iter(int group)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: crypto_bignum_init
      Src: /src/hostap/src/common/dragonfly.c:63,1
    - Dst: crypto_bignum_rand
      Src: /src/hostap/src/common/dragonfly.c:64,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/dragonfly.c:65,1
    - Dst: crypto_bignum_legendre
      Src: /src/hostap/src/common/dragonfly.c:69,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/dragonfly.c:75,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/dragonfly.c:83,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/dragonfly.c:84,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 3
    argNames:
    - prime
    - qr
    - qnr
    argTypes:
    - struct crypto_bignum*
    - struct crypto_bignum**
    - struct crypto_bignum**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 87
    functionName: dragonfly_get_random_qr_qnr
    functionSourceFile: /src/hostap/src/common/dragonfly.c
    functionUses: 2
    functionsReached:
    - crypto_bignum_deinit
    - crypto_bignum_rand
    - crypto_bignum_init
    - crypto_bignum_legendre
    linkageType: ''
    returnType: int
    signature: "int dragonfly_get_random_qr_qnr(const struct crypto_bignum *prime,\n\t\t\t\tstruct
      crypto_bignum **qr,\n\t\t\t\tstruct crypto_bignum **qnr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_bignum_init
      Src: /src/hostap/src/common/dragonfly.c:95,1
    - Dst: crypto_bignum_init
      Src: /src/hostap/src/common/dragonfly.c:96,1
    - Dst: crypto_bignum_init_set
      Src: /src/hostap/src/common/dragonfly.c:97,1
    - Dst: crypto_bignum_sub
      Src: /src/hostap/src/common/dragonfly.c:99,1
    - Dst: crypto_bignum_rand
      Src: /src/hostap/src/common/dragonfly.c:100,1
    - Dst: crypto_bignum_add
      Src: /src/hostap/src/common/dragonfly.c:101,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/dragonfly.c:102,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/dragonfly.c:106,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/dragonfly.c:107,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - prime
    argTypes:
    - struct crypto_bignum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 109
    functionName: dragonfly_get_rand_1_to_p_1
    functionSourceFile: /src/hostap/src/common/dragonfly.c
    functionUses: 0
    functionsReached:
    - crypto_bignum_init
    - crypto_bignum_sub
    - crypto_bignum_deinit
    - crypto_bignum_add
    - crypto_bignum_init_set
    - crypto_bignum_rand
    linkageType: ''
    returnType: struct crypto_bignum
    signature: 'struct crypto_bignum *

      dragonfly_get_rand_1_to_p_1(const struct crypto_bignum *prime)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: crypto_ec_get_prime
      Src: /src/hostap/src/common/dragonfly.c:123,1
    - Dst: crypto_ec_prime_len
      Src: /src/hostap/src/common/dragonfly.c:124,1
    - Dst: dragonfly_get_rand_1_to_p_1
      Src: /src/hostap/src/common/dragonfly.c:135,1
    - Dst: crypto_bignum_init
      Src: /src/hostap/src/common/dragonfly.c:139,1
    - Dst: crypto_bignum_mulmod
      Src: /src/hostap/src/common/dragonfly.c:141,1
    - Dst: crypto_bignum_mulmod
      Src: /src/hostap/src/common/dragonfly.c:142,1
    - Dst: const_time_is_zero
      Src: /src/hostap/src/common/dragonfly.c:158,1
    - Dst: crypto_bignum_is_odd
      Src: /src/hostap/src/common/dragonfly.c:158,1
    - Dst: const_time_select_bin
      Src: /src/hostap/src/common/dragonfly.c:159,1
    - Dst: crypto_bignum_init_set
      Src: /src/hostap/src/common/dragonfly.c:160,1
    - Dst: crypto_bignum_mulmod
      Src: /src/hostap/src/common/dragonfly.c:162,1
    - Dst: const_time_select_int
      Src: /src/hostap/src/common/dragonfly.c:165,1
    - Dst: crypto_bignum_legendre
      Src: /src/hostap/src/common/dragonfly.c:168,1
    - Dst: const_time_eq
      Src: /src/hostap/src/common/dragonfly.c:175,1
    - Dst: const_time_select_int
      Src: /src/hostap/src/common/dragonfly.c:176,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/dragonfly.c:178,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/dragonfly.c:179,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/dragonfly.c:180,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 4
    argNames:
    - ec
    - qr
    - qnr
    - val
    argTypes:
    - struct crypto_ec*
    - u8*
    - u8*
    - struct crypto_bignum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 182
    functionName: dragonfly_is_quadratic_residue_blind
    functionSourceFile: /src/hostap/src/common/dragonfly.c
    functionUses: 2
    functionsReached:
    - crypto_ec_get_prime
    - const_time_select_bin
    - const_time_eq
    - crypto_bignum_init
    - dragonfly_get_rand_1_to_p_1
    - crypto_bignum_legendre
    - crypto_bignum_is_odd
    - crypto_bignum_deinit
    - const_time_is_zero
    - const_time_select_int
    - crypto_ec_prime_len
    - crypto_bignum_init_set
    - crypto_bignum_mulmod
    linkageType: ''
    returnType: int
    signature: "int dragonfly_is_quadratic_residue_blind(struct crypto_ec *ec,\n\t\t\t\t\t
      const u8 *qr, const u8 *qnr,\n\t\t\t\t\t const struct crypto_bignum *val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_bignum_rand
      Src: /src/hostap/src/common/dragonfly.c:188,1
    - Dst: crypto_bignum_is_zero
      Src: /src/hostap/src/common/dragonfly.c:189,1
    - Dst: crypto_bignum_is_one
      Src: /src/hostap/src/common/dragonfly.c:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - val
    - order
    argTypes:
    - struct crypto_bignum*
    - struct crypto_bignum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 191
    functionName: dragonfly_get_rand_2_to_r_1
    functionSourceFile: /src/hostap/src/common/dragonfly.c
    functionUses: 0
    functionsReached:
    - crypto_bignum_is_zero
    - crypto_bignum_is_one
    - crypto_bignum_rand
    linkageType: ''
    returnType: int
    signature: "int dragonfly_get_rand_2_to_r_1(struct crypto_bignum *val,\n\t\t\t\t
      \      const struct crypto_bignum *order)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dragonfly_get_rand_2_to_r_1
      Src: /src/hostap/src/common/dragonfly.c:204,1
    - Dst: dragonfly_get_rand_2_to_r_1
      Src: /src/hostap/src/common/dragonfly.c:205,1
    - Dst: crypto_bignum_add
      Src: /src/hostap/src/common/dragonfly.c:206,1
    - Dst: crypto_bignum_mod
      Src: /src/hostap/src/common/dragonfly.c:207,1
    - Dst: crypto_bignum_is_zero
      Src: /src/hostap/src/common/dragonfly.c:208,1
    - Dst: crypto_bignum_is_one
      Src: /src/hostap/src/common/dragonfly.c:209,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dragonfly.c:215,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 4
    argNames:
    - order
    - _rand
    - _mask
    - scalar
    argTypes:
    - struct crypto_bignum*
    - struct crypto_bignum*
    - struct crypto_bignum*
    - struct crypto_bignum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 218
    functionName: dragonfly_generate_scalar
    functionSourceFile: /src/hostap/src/common/dragonfly.c
    functionUses: 2
    functionsReached:
    - dragonfly_get_rand_2_to_r_1
    - wpa_printf
    - crypto_bignum_mod
    - crypto_bignum_is_zero
    - crypto_bignum_add
    - crypto_bignum_is_one
    linkageType: ''
    returnType: int
    signature: "int dragonfly_generate_scalar(const struct crypto_bignum *order,\n\t\t\t
      \     struct crypto_bignum *_rand,\n\t\t\t      struct crypto_bignum *_mask,\n\t\t\t
      \     struct crypto_bignum *scalar)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_ec_get_prime
      Src: /src/hostap/src/common/dragonfly.c:233,1
    - Dst: crypto_ec_prime_len
      Src: /src/hostap/src/common/dragonfly.c:234,1
    - Dst: crypto_bignum_init
      Src: /src/hostap/src/common/dragonfly.c:235,1
    - Dst: crypto_bignum_init_uint
      Src: /src/hostap/src/common/dragonfly.c:236,1
    - Dst: crypto_bignum_to_bin
      Src: /src/hostap/src/common/dragonfly.c:238,1
    - Dst: crypto_bignum_add
      Src: /src/hostap/src/common/dragonfly.c:243,1
    - Dst: crypto_bignum_rshift
      Src: /src/hostap/src/common/dragonfly.c:244,1
    - Dst: crypto_bignum_exptmod
      Src: /src/hostap/src/common/dragonfly.c:246,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/dragonfly.c:249,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/dragonfly.c:250,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - ec
    - val
    - res
    argTypes:
    - struct crypto_ec*
    - struct crypto_bignum*
    - struct crypto_bignum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 252
    functionName: dragonfly_sqrt
    functionSourceFile: /src/hostap/src/common/dragonfly.c
    functionUses: 3
    functionsReached:
    - crypto_bignum_to_bin
    - crypto_ec_get_prime
    - crypto_bignum_init_uint
    - crypto_bignum_init
    - crypto_bignum_deinit
    - crypto_bignum_add
    - crypto_ec_prime_len
    - crypto_bignum_rshift
    - crypto_bignum_exptmod
    linkageType: ''
    returnType: int
    signature: "int dragonfly_sqrt(struct crypto_ec *ec, const struct crypto_bignum
      *val,\n\t\t   struct crypto_bignum *res)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: RSN_SELECTOR
    functionSourceFile: /src/hostap/src/common/wpa_common.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RSN_SELECTOR(a, b, c, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 162
    functionName: RSN_SELECTOR_PUT
    functionSourceFile: /src/hostap/src/common/wpa_common.h
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RSN_SELECTOR_PUT(a, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 163
    functionName: RSN_SELECTOR_GET
    functionSourceFile: /src/hostap/src/common/wpa_common.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RSN_SELECTOR_GET(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - kck
    - kck_len
    - aa
    - spa
    - pmkid
    argTypes:
    - u8*
    - size_t
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 566
    functionName: rsn_pmkid_suite_b
    functionSourceFile: /src/hostap/src/common/wpa_common.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int rsn_pmkid_suite_b(const u8 *kck, size_t kck_len, const u8 *aa,\n\t\t\t\t
      \   const u8 *spa, u8 *pmkid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - kck
    - kck_len
    - aa
    - spa
    - pmkid
    argTypes:
    - u8*
    - size_t
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 576
    functionName: rsn_pmkid_suite_b_192
    functionSourceFile: /src/hostap/src/common/wpa_common.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int rsn_pmkid_suite_b_192(const u8 *kck, size_t kck_len,\n\t\t\t\t\tconst
      u8 *aa, const u8 *spa, u8 *pmkid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_parse_kde_ies
      Src: /src/hostap/src/common/wpa_common.h:775,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - len
    - ie
    argTypes:
    - u8*
    - size_t
    - struct wpa_eapol_ie_parse*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 772
    functionDepth: 1
    functionLinenumber: 772
    functionLinenumberEnd: 776
    functionName: wpa_supplicant_parse_ies
    functionSourceFile: /src/hostap/src/common/wpa_common.h
    functionUses: 13
    functionsReached:
    - wpa_parse_kde_ies
    linkageType: ''
    returnType: int
    signature: "int wpa_supplicant_parse_ies(const u8 *buf, size_t len,\n\t\t\t\t\t
      \  struct wpa_eapol_ie_parse *ie)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/src/common/ctrl_iface_common.c:47,1
    - Dst: os_memcmp
      Src: /src/hostap/src/common/ctrl_iface_common.c:62,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 4
    argNames:
    - a
    - a_len
    - b
    - b_len
    argTypes:
    - struct sockaddr_storage*
    - socklen_t
    - struct sockaddr_storage*
    - socklen_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 74
    functionName: sockaddr_compare
    functionSourceFile: /src/hostap/src/common/ctrl_iface_common.c
    functionUses: 0
    functionsReached:
    - os_memcmp
    linkageType: ''
    returnType: int
    signature: "int sockaddr_compare(struct sockaddr_storage *a, socklen_t a_len,\n\t\t\t
      \   struct sockaddr_storage *b, socklen_t b_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getnameinfo
      Src: /src/hostap/src/common/ctrl_iface_common.c:88,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ctrl_iface_common.c:93,1
    - Dst: printf_encode
      Src: /src/hostap/src/common/ctrl_iface_common.c:102,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ctrl_iface_common.c:105,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ctrl_iface_common.c:110,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - level
    - msg
    - sock
    - socklen
    argTypes:
    - int
    - char*
    - struct sockaddr_storage*
    - socklen_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 113
    functionName: sockaddr_print
    functionSourceFile: /src/hostap/src/common/ctrl_iface_common.c
    functionUses: 5
    functionsReached:
    - printf_encode
    - wpa_printf
    - getnameinfo
    linkageType: ''
    returnType: void
    signature: "void sockaddr_print(int level, const char *msg, struct sockaddr_storage
      *sock,\n\t\t    socklen_t socklen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_strchr
      Src: /src/hostap/src/common/ctrl_iface_common.c:124,1
    - Dst: atoi
      Src: /src/hostap/src/common/ctrl_iface_common.c:128,1
    - Dst: str_starts
      Src: /src/hostap/src/common/ctrl_iface_common.c:132,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - dst
    - input
    argTypes:
    - struct wpa_ctrl_dst*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 140
    functionName: ctrl_set_events
    functionSourceFile: /src/hostap/src/common/ctrl_iface_common.c
    functionUses: 0
    functionsReached:
    - atoi
    - os_strchr
    - str_starts
    linkageType: ''
    returnType: int
    signature: int ctrl_set_events(struct wpa_ctrl_dst *dst, const char *input)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sockaddr_compare
      Src: /src/hostap/src/common/ctrl_iface_common.c:150,1
    - Dst: ctrl_set_events
      Src: /src/hostap/src/common/ctrl_iface_common.c:152,1
    - Dst: os_zalloc
      Src: /src/hostap/src/common/ctrl_iface_common.c:156,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/ctrl_iface_common.c:159,1
    - Dst: ctrl_set_events
      Src: /src/hostap/src/common/ctrl_iface_common.c:162,1
    - Dst: dl_list_add
      Src: /src/hostap/src/common/ctrl_iface_common.c:163,1
    - Dst: sockaddr_print
      Src: /src/hostap/src/common/ctrl_iface_common.c:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - ctrl_dst
    - from
    - fromlen
    - input
    argTypes:
    - struct dl_list*
    - struct sockaddr_storage*
    - socklen_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 167
    functionName: ctrl_iface_attach
    functionSourceFile: /src/hostap/src/common/ctrl_iface_common.c
    functionUses: 10
    functionsReached:
    - os_memcpy
    - sockaddr_compare
    - ctrl_set_events
    - os_zalloc
    - dl_list_add
    - sockaddr_print
    linkageType: ''
    returnType: int
    signature: "int ctrl_iface_attach(struct dl_list *ctrl_dst, struct sockaddr_storage
      *from,\n\t\t      socklen_t fromlen, const char *input)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sockaddr_compare
      Src: /src/hostap/src/common/ctrl_iface_common.c:150,1
    - Dst: ctrl_set_events
      Src: /src/hostap/src/common/ctrl_iface_common.c:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 153
    functionName: dl_list_for_each
    functionSourceFile: /src/hostap/src/common/ctrl_iface_common.c
    functionUses: 228
    functionsReached:
    - sockaddr_compare
    - ctrl_set_events
    linkageType: ''
    returnType: void
    signature: void dl_list_for_each(dst, ctrl_dst, struct wpa_ctrl_dst, list)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sockaddr_compare
      Src: /src/hostap/src/common/ctrl_iface_common.c:176,1
    - Dst: sockaddr_print
      Src: /src/hostap/src/common/ctrl_iface_common.c:178,1
    - Dst: dl_list_del
      Src: /src/hostap/src/common/ctrl_iface_common.c:180,1
    - Dst: os_free
      Src: /src/hostap/src/common/ctrl_iface_common.c:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - ctrl_dst
    - from
    - fromlen
    argTypes:
    - struct dl_list*
    - struct sockaddr_storage*
    - socklen_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 187
    functionName: ctrl_iface_detach
    functionSourceFile: /src/hostap/src/common/ctrl_iface_common.c
    functionUses: 14
    functionsReached:
    - os_free
    - sockaddr_print
    - sockaddr_compare
    - dl_list_del
    linkageType: ''
    returnType: int
    signature: "int ctrl_iface_detach(struct dl_list *ctrl_dst, struct sockaddr_storage
      *from,\n\t\t      socklen_t fromlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sockaddr_compare
      Src: /src/hostap/src/common/ctrl_iface_common.c:176,1
    - Dst: sockaddr_print
      Src: /src/hostap/src/common/ctrl_iface_common.c:178,1
    - Dst: dl_list_del
      Src: /src/hostap/src/common/ctrl_iface_common.c:180,1
    - Dst: os_free
      Src: /src/hostap/src/common/ctrl_iface_common.c:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 184
    functionName: dl_list_for_each
    functionSourceFile: /src/hostap/src/common/ctrl_iface_common.c
    functionUses: 228
    functionsReached:
    - os_free
    - sockaddr_print
    - sockaddr_compare
    - dl_list_del
    linkageType: ''
    returnType: void
    signature: void dl_list_for_each(dst, ctrl_dst, struct wpa_ctrl_dst, list)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ctrl_iface_common.c:195,1
    - Dst: sockaddr_compare
      Src: /src/hostap/src/common/ctrl_iface_common.c:198,1
    - Dst: sockaddr_print
      Src: /src/hostap/src/common/ctrl_iface_common.c:200,1
    - Dst: atoi
      Src: /src/hostap/src/common/ctrl_iface_common.c:203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - ctrl_dst
    - from
    - fromlen
    - level
    argTypes:
    - struct dl_list*
    - struct sockaddr_storage*
    - socklen_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 209
    functionName: ctrl_iface_level
    functionSourceFile: /src/hostap/src/common/ctrl_iface_common.c
    functionUses: 4
    functionsReached:
    - atoi
    - wpa_printf
    - sockaddr_compare
    - sockaddr_print
    linkageType: ''
    returnType: int
    signature: "int ctrl_iface_level(struct dl_list *ctrl_dst, struct sockaddr_storage
      *from,\n\t\t     socklen_t fromlen, const char *level)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sockaddr_compare
      Src: /src/hostap/src/common/ctrl_iface_common.c:198,1
    - Dst: sockaddr_print
      Src: /src/hostap/src/common/ctrl_iface_common.c:200,1
    - Dst: atoi
      Src: /src/hostap/src/common/ctrl_iface_common.c:203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 206
    functionName: dl_list_for_each
    functionSourceFile: /src/hostap/src/common/ctrl_iface_common.c
    functionUses: 228
    functionsReached:
    - atoi
    - sockaddr_print
    - sockaddr_compare
    linkageType: ''
    returnType: void
    signature: void dl_list_for_each(dst, ctrl_dst, struct wpa_ctrl_dst, list)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_reconfig.c:26,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_reconfig.c:27,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_reconfig.c:28,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/common/dpp_reconfig.c:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - msg
    - hash
    argTypes:
    - struct wpabuf*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 31
    functionName: dpp_build_attr_csign_key_hash
    functionSourceFile: /src/hostap/src/common/dpp_reconfig.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put_data
    - wpabuf_put_le16
    linkageType: ''
    returnType: void
    signature: void dpp_build_attr_csign_key_hash(struct wpabuf *msg, const u8 *hash)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_reconfig.c:52,1
    - Dst: dpp_set_keypair
      Src: /src/hostap/src/common/dpp_reconfig.c:54,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_reconfig.c:57,1
    - Dst: crypto_ec_key_parse_pub
      Src: /src/hostap/src/common/dpp_reconfig.c:61,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_reconfig.c:63,1
    - Dst: crypto_ec_key_get_pubkey_point
      Src: /src/hostap/src/common/dpp_reconfig.c:68,1
    - Dst: crypto_ec_key_deinit
      Src: /src/hostap/src/common/dpp_reconfig.c:69,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/dpp_reconfig.c:72,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_reconfig.c:73,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_reconfig.c:74,1
    - Dst: sha256_vector
      Src: /src/hostap/src/common/dpp_reconfig.c:75,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_reconfig.c:76,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_reconfig.c:79,1
    - Dst: dpp_update_reconfig_id
      Src: /src/hostap/src/common/dpp_reconfig.c:82,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_reconfig.c:83,1
    - Dst: crypto_ec_key_get_pubkey_point
      Src: /src/hostap/src/common/dpp_reconfig.c:87,1
    - Dst: crypto_ec_key_get_pubkey_point
      Src: /src/hostap/src/common/dpp_reconfig.c:88,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_reconfig.c:94,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_reconfig.c:95,1
    - Dst: dpp_alloc_msg
      Src: /src/hostap/src/common/dpp_reconfig.c:96,1
    - Dst: dpp_build_attr_csign_key_hash
      Src: /src/hostap/src/common/dpp_reconfig.c:101,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_reconfig.c:104,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_reconfig.c:106,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_reconfig.c:107,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_reconfig.c:108,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_reconfig.c:111,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_reconfig.c:112,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_reconfig.c:112,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/common/dpp_reconfig.c:113,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_reconfig.c:116,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_reconfig.c:117,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_reconfig.c:117,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/common/dpp_reconfig.c:118,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/common/dpp_reconfig.c:120,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_reconfig.c:123,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_reconfig.c:124,1
    - Dst: crypto_ec_key_deinit
      Src: /src/hostap/src/common/dpp_reconfig.c:125,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 64
    argCount: 5
    argNames:
    - csign_key
    - csign_key_len
    - net_access_key
    - net_access_key_len
    - id
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - struct dpp_reconfig_id*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 127
    functionName: dpp_build_reconfig_announcement
    functionSourceFile: /src/hostap/src/common/dpp_reconfig.c
    functionUses: 1
    functionsReached:
    - crypto_ec_key_deinit
    - sha256_vector
    - wpa_printf
    - wpa_hexdump
    - wpabuf_len
    - dpp_alloc_msg
    - crypto_ec_key_get_pubkey_point
    - dpp_set_keypair
    - wpabuf_free
    - wpa_hexdump_buf
    - wpabuf_head
    - dpp_build_attr_csign_key_hash
    - wpabuf_put_le16
    - wpabuf_put_buf
    - crypto_ec_key_parse_pub
    - dpp_update_reconfig_id
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * dpp_build_reconfig_announcement(const u8 *csign_key,\n\t\t\t\t\t\tsize_t
      csign_key_len,\n\t\t\t\t\t\tconst u8 *net_access_key,\n\t\t\t\t\t\tsize_t net_access_key_len,\n\t\t\t\t\t\tstruct
      dpp_reconfig_id *id)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/common/dpp_reconfig.c:137,1
    - Dst: dpp_alloc_msg
      Src: /src/hostap/src/common/dpp_reconfig.c:139,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_reconfig.c:144,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_reconfig.c:145,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/dpp_reconfig.c:146,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_reconfig.c:150,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_reconfig.c:154,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_reconfig.c:160,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_reconfig.c:161,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/dpp_reconfig.c:162,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_reconfig.c:169,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_reconfig.c:170,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/dpp_reconfig.c:170,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/common/dpp_reconfig.c:171,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_reconfig.c:174,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_reconfig.c:175,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/common/dpp_reconfig.c:176,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/common/dpp_reconfig.c:178,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 1
    argNames:
    - auth
    argTypes:
    - struct dpp_authentication*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 183
    functionName: dpp_reconfig_build_req
    functionSourceFile: /src/hostap/src/common/dpp_reconfig.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - wpabuf_put_u8
    - wpabuf_put_data
    - wpabuf_put_str
    - dpp_alloc_msg
    - wpabuf_put_le16
    - wpa_hexdump_buf
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * dpp_reconfig_build_req(struct dpp_authentication *auth)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_reconfig.c:196,1
    - Dst: dpp_gen_keypair
      Src: /src/hostap/src/common/dpp_reconfig.c:199,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/common/dpp_reconfig.c:204,1
    - Dst: json_start_object
      Src: /src/hostap/src/common/dpp_reconfig.c:207,1
    - Dst: json_start_array
      Src: /src/hostap/src/common/dpp_reconfig.c:208,1
    - Dst: json_start_object
      Src: /src/hostap/src/common/dpp_reconfig.c:209,1
    - Dst: json_add_string
      Src: /src/hostap/src/common/dpp_reconfig.c:210,1
    - Dst: json_value_sep
      Src: /src/hostap/src/common/dpp_reconfig.c:211,1
    - Dst: json_add_string
      Src: /src/hostap/src/common/dpp_reconfig.c:212,1
    - Dst: json_end_object
      Src: /src/hostap/src/common/dpp_reconfig.c:213,1
    - Dst: json_end_array
      Src: /src/hostap/src/common/dpp_reconfig.c:214,1
    - Dst: json_value_sep
      Src: /src/hostap/src/common/dpp_reconfig.c:215,1
    - Dst: dpp_build_jwk
      Src: /src/hostap/src/common/dpp_reconfig.c:216,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_reconfig.c:218,1
    - Dst: json_end_object
      Src: /src/hostap/src/common/dpp_reconfig.c:221,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_reconfig.c:222,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/dpp_reconfig.c:223,1
    - Dst: dpp_sign_connector
      Src: /src/hostap/src/common/dpp_reconfig.c:225,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_reconfig.c:228,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_reconfig.c:232,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 2
    argNames:
    - conf
    - curve
    argTypes:
    - struct dpp_configurator*
    - struct dpp_curve_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 234
    functionName: dpp_configurator_build_own_connector
    functionSourceFile: /src/hostap/src/common/dpp_reconfig.c
    functionUses: 0
    functionsReached:
    - json_end_array
    - wpa_printf
    - json_value_sep
    - json_end_object
    - json_start_array
    - wpabuf_free
    - dpp_sign_connector
    - wpabuf_head
    - wpabuf_alloc
    - dpp_gen_keypair
    - json_add_string
    - json_start_object
    - dpp_build_jwk
    linkageType: ''
    returnType: int
    signature: "int dpp_configurator_build_own_connector(struct dpp_configurator *conf,\n\t\t\t\t
      \    const struct dpp_curve_params *curve)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: dpp_get_curve_ike_group
      Src: /src/hostap/src/common/dpp_reconfig.c:248,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_reconfig.c:250,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_reconfig.c:257,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_reconfig.c:260,1
    - Dst: dpp_set_pubkey_point
      Src: /src/hostap/src/common/dpp_reconfig.c:261,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_reconfig.c:263,1
    - Dst: dpp_debug_print_key
      Src: /src/hostap/src/common/dpp_reconfig.c:266,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_reconfig.c:269,1
    - Dst: dpp_set_pubkey_point
      Src: /src/hostap/src/common/dpp_reconfig.c:272,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_reconfig.c:274,1
    - Dst: crypto_ec_key_deinit
      Src: /src/hostap/src/common/dpp_reconfig.c:275,1
    - Dst: dpp_debug_print_key
      Src: /src/hostap/src/common/dpp_reconfig.c:278,1
    - Dst: dpp_decrypt_e_id
      Src: /src/hostap/src/common/dpp_reconfig.c:279,1
    - Dst: crypto_ec_key_deinit
      Src: /src/hostap/src/common/dpp_reconfig.c:280,1
    - Dst: crypto_ec_key_deinit
      Src: /src/hostap/src/common/dpp_reconfig.c:281,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_reconfig.c:283,1
    - Dst: crypto_ec_point_deinit
      Src: /src/hostap/src/common/dpp_reconfig.c:290,1
    - Dst: dpp_alloc_auth
      Src: /src/hostap/src/common/dpp_reconfig.c:292,1
    - Dst: dpp_prepare_channel_list
      Src: /src/hostap/src/common/dpp_reconfig.c:304,1
    - Dst: dpp_configurator_build_own_connector
      Src: /src/hostap/src/common/dpp_reconfig.c:307,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/common/dpp_reconfig.c:310,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_reconfig.c:311,1
    - Dst: dpp_reconfig_build_req
      Src: /src/hostap/src/common/dpp_reconfig.c:315,1
    - Dst: dpp_auth_deinit
      Src: /src/hostap/src/common/dpp_reconfig.c:322,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 71
    argCount: 9
    argNames:
    - dpp
    - msg_ctx
    - conf
    - freq
    - group
    - a_nonce_attr
    - a_nonce_len
    - e_id_attr
    - e_id_len
    argTypes:
    - struct dpp_global*
    - void*
    - struct dpp_configurator*
    - unsigned int
    - u16
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 237
    functionDepth: 3
    functionLinenumber: 237
    functionLinenumberEnd: 325
    functionName: dpp_reconfig_init
    functionSourceFile: /src/hostap/src/common/dpp_reconfig.c
    functionUses: 3
    functionsReached:
    - crypto_ec_key_deinit
    - wpa_printf
    - dpp_set_pubkey_point
    - random_get_bytes
    - dpp_auth_deinit
    - wpa_hexdump
    - dpp_debug_print_key
    - crypto_ec_point_deinit
    - dpp_configurator_build_own_connector
    - dpp_reconfig_build_req
    - dpp_decrypt_e_id
    - dpp_prepare_channel_list
    - dpp_alloc_auth
    - dpp_get_curve_ike_group
    linkageType: ''
    returnType: struct dpp_authentication
    signature: "struct dpp_authentication *\ndpp_reconfig_init(struct dpp_global *dpp,
      void *msg_ctx,\n\t\t  struct dpp_configurator *conf, unsigned int freq, u16
      group,\n\t\t  const u8 *a_nonce_attr, size_t a_nonce_len,\n\t\t  const u8 *e_id_attr,
      size_t e_id_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_reconfig.c:341,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/common/dpp_reconfig.c:342,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_reconfig.c:347,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_reconfig.c:348,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/common/dpp_reconfig.c:349,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_reconfig.c:352,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_reconfig.c:353,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_reconfig.c:353,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/common/dpp_reconfig.c:354,1
    - Dst: crypto_ec_key_get_pubkey_point
      Src: /src/hostap/src/common/dpp_reconfig.c:356,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/dpp_reconfig.c:361,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_reconfig.c:363,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_reconfig.c:364,1
    - Dst: dpp_alloc_msg
      Src: /src/hostap/src/common/dpp_reconfig.c:365,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/common/dpp_reconfig.c:369,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_reconfig.c:372,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_reconfig.c:373,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/dpp_reconfig.c:374,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_reconfig.c:377,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_reconfig.c:378,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/dpp_reconfig.c:379,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_reconfig.c:382,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_reconfig.c:383,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/dpp_reconfig.c:383,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/common/dpp_reconfig.c:384,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_reconfig.c:387,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_reconfig.c:388,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/common/dpp_reconfig.c:389,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_reconfig.c:392,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_reconfig.c:393,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_reconfig.c:393,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/common/dpp_reconfig.c:394,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/common/dpp_reconfig.c:396,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/common/dpp_reconfig.c:399,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_reconfig.c:401,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_reconfig.c:406,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_reconfig.c:409,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_reconfig.c:410,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_reconfig.c:410,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/common/dpp_reconfig.c:411,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_reconfig.c:411,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/common/dpp_reconfig.c:413,1
    - Dst: aes_siv_encrypt
      Src: /src/hostap/src/common/dpp_reconfig.c:414,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/dpp_reconfig.c:415,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_reconfig.c:415,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/common/dpp_reconfig.c:419,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_reconfig.c:423,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_reconfig.c:428,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_reconfig.c:429,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_reconfig.c:432,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 65
    argCount: 3
    argNames:
    - auth
    - own_connector
    - conn_status
    argTypes:
    - struct dpp_authentication*
    - char*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 328
    functionDepth: 3
    functionLinenumber: 328
    functionLinenumberEnd: 434
    functionName: dpp_reconfig_build_resp
    functionSourceFile: /src/hostap/src/common/dpp_reconfig.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpabuf_put
    - wpabuf_head_u8
    - wpabuf_put_data
    - wpabuf_put_u8
    - wpabuf_len
    - dpp_alloc_msg
    - crypto_ec_key_get_pubkey_point
    - wpabuf_put_str
    - wpa_hexdump
    - wpabuf_free
    - wpabuf_put_le16
    - wpabuf_head
    - wpabuf_put_buf
    - wpabuf_alloc
    - aes_siv_encrypt
    - wpa_hexdump_buf
    linkageType: ''
    returnType: int
    signature: "int dpp_reconfig_build_resp(struct dpp_authentication *auth,\n\t\t\t\t
      \  const char *own_connector,\n\t\t\t\t   struct wpabuf *conn_status)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/common/dpp_reconfig.c:454,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp_reconfig.c:456,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_reconfig.c:459,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp_reconfig.c:464,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_reconfig.c:467,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp_reconfig.c:472,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_reconfig.c:475,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/common/dpp_reconfig.c:478,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp_reconfig.c:481,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_reconfig.c:484,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_reconfig.c:488,1
    - Dst: dpp_check_signed_connector
      Src: /src/hostap/src/common/dpp_reconfig.c:490,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_reconfig.c:493,1
    - Dst: json_parse
      Src: /src/hostap/src/common/dpp_reconfig.c:497,1
    - Dst: dpp_parse_own_connector
      Src: /src/hostap/src/common/dpp_reconfig.c:498,1
    - Dst: dpp_connector_match_groups
      Src: /src/hostap/src/common/dpp_reconfig.c:500,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_reconfig.c:501,1
    - Dst: json_get_member
      Src: /src/hostap/src/common/dpp_reconfig.c:506,1
    - Dst: dpp_key_expired
      Src: /src/hostap/src/common/dpp_reconfig.c:508,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_reconfig.c:509,1
    - Dst: json_get_member
      Src: /src/hostap/src/common/dpp_reconfig.c:514,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_reconfig.c:516,1
    - Dst: dpp_alloc_auth
      Src: /src/hostap/src/common/dpp_reconfig.c:520,1
    - Dst: dpp_prepare_channel_list
      Src: /src/hostap/src/common/dpp_reconfig.c:526,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_reconfig.c:532,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/dpp_reconfig.c:535,1
    - Dst: dpp_reconfig_derive_ke_responder
      Src: /src/hostap/src/common/dpp_reconfig.c:537,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_reconfig.c:542,1
    - Dst: dpp_build_conn_status
      Src: /src/hostap/src/common/dpp_reconfig.c:551,1
    - Dst: dpp_reconfig_build_resp
      Src: /src/hostap/src/common/dpp_reconfig.c:555,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp_reconfig.c:559,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp_reconfig.c:560,1
    - Dst: json_free
      Src: /src/hostap/src/common/dpp_reconfig.c:561,1
    - Dst: json_free
      Src: /src/hostap/src/common/dpp_reconfig.c:562,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_reconfig.c:563,1
    - Dst: dpp_auth_deinit
      Src: /src/hostap/src/common/dpp_reconfig.c:566,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 94
    argCount: 11
    argNames:
    - dpp
    - msg_ctx
    - own_connector
    - net_access_key
    - net_access_key_len
    - csign_key
    - csign_key_len
    - freq
    - hdr
    - attr_start
    - attr_len
    argTypes:
    - struct dpp_global*
    - void*
    - char*
    - u8*
    - size_t
    - u8*
    - size_t
    - unsigned int
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 437
    functionDepth: 4
    functionLinenumber: 437
    functionLinenumberEnd: 569
    functionName: dpp_reconfig_auth_req_rx
    functionSourceFile: /src/hostap/src/common/dpp_reconfig.c
    functionUses: 1
    functionsReached:
    - dpp_auth_deinit
    - wpa_hexdump
    - dpp_key_expired
    - dpp_alloc_auth
    - dpp_connector_match_groups
    - wpa_hexdump_ascii
    - json_get_member
    - dpp_reconfig_derive_ke_responder
    - json_parse
    - wpa_printf
    - dpp_check_signed_connector
    - dpp_reconfig_build_resp
    - dpp_parse_own_connector
    - os_free
    - dpp_build_conn_status
    - json_free
    - os_memset
    - os_memcpy
    - wpabuf_free
    - dpp_get_attr
    - dpp_prepare_channel_list
    linkageType: ''
    returnType: struct dpp_authentication
    signature: "struct dpp_authentication *\ndpp_reconfig_auth_req_rx(struct dpp_global
      *dpp, void *msg_ctx,\n\t\t\t const char *own_connector,\n\t\t\t const u8 *net_access_key,
      size_t net_access_key_len,\n\t\t\t const u8 *csign_key, size_t csign_key_len,\n\t\t\t
      unsigned int freq, const u8 *hdr,\n\t\t\t const u8 *attr_start, size_t attr_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/common/dpp_reconfig.c:585,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_reconfig.c:590,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_reconfig.c:591,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/dpp_reconfig.c:592,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_reconfig.c:595,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_reconfig.c:596,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/dpp_reconfig.c:597,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_reconfig.c:600,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_reconfig.c:601,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/common/dpp_reconfig.c:602,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_reconfig.c:605,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_reconfig.c:606,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/common/dpp_reconfig.c:607,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_reconfig.c:611,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_reconfig.c:612,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/dpp_reconfig.c:613,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_reconfig.c:615,1
    - Dst: dpp_alloc_msg
      Src: /src/hostap/src/common/dpp_reconfig.c:617,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/common/dpp_reconfig.c:621,1
    - Dst: dpp_build_attr_status
      Src: /src/hostap/src/common/dpp_reconfig.c:624,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/common/dpp_reconfig.c:626,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/common/dpp_reconfig.c:629,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_reconfig.c:631,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_reconfig.c:636,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_reconfig.c:639,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_reconfig.c:640,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_reconfig.c:640,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/common/dpp_reconfig.c:641,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_reconfig.c:641,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/common/dpp_reconfig.c:643,1
    - Dst: aes_siv_encrypt
      Src: /src/hostap/src/common/dpp_reconfig.c:644,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/dpp_reconfig.c:645,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_reconfig.c:645,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/common/dpp_reconfig.c:649,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_reconfig.c:654,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_reconfig.c:657,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 55
    argCount: 1
    argNames:
    - auth
    argTypes:
    - struct dpp_authentication*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 572
    functionDepth: 3
    functionLinenumber: 572
    functionLinenumberEnd: 660
    functionName: dpp_reconfig_build_conf
    functionSourceFile: /src/hostap/src/common/dpp_reconfig.c
    functionUses: 0
    functionsReached:
    - wpabuf_put
    - wpabuf_head_u8
    - wpabuf_put_data
    - wpabuf_put_u8
    - wpabuf_len
    - dpp_alloc_msg
    - wpa_hexdump
    - wpa_hexdump_buf
    - wpabuf_free
    - wpabuf_put_le16
    - wpabuf_head
    - wpabuf_alloc
    - aes_siv_encrypt
    - dpp_build_attr_status
    linkageType: ''
    returnType: struct wpabuf
    signature: 'struct wpabuf *

      dpp_reconfig_build_conf(struct dpp_authentication *auth)'
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/common/dpp_reconfig.c:681,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp_reconfig.c:686,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_reconfig.c:689,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_reconfig.c:693,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp_reconfig.c:697,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_reconfig.c:700,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_reconfig.c:704,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp_reconfig.c:708,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_reconfig.c:711,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_reconfig.c:716,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp_reconfig.c:719,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_reconfig.c:722,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/common/dpp_reconfig.c:725,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp_reconfig.c:728,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_reconfig.c:731,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_reconfig.c:734,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/dpp_reconfig.c:735,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp_reconfig.c:737,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_reconfig.c:740,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_reconfig.c:744,1
    - Dst: os_malloc
      Src: /src/hostap/src/common/dpp_reconfig.c:747,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/dpp_reconfig.c:750,1
    - Dst: dpp_process_signed_connector
      Src: /src/hostap/src/common/dpp_reconfig.c:753,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_reconfig.c:756,1
    - Dst: json_parse
      Src: /src/hostap/src/common/dpp_reconfig.c:760,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_reconfig.c:762,1
    - Dst: json_get_member
      Src: /src/hostap/src/common/dpp_reconfig.c:769,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_reconfig.c:771,1
    - Dst: dpp_reconfig_derive_ke_initiator
      Src: /src/hostap/src/common/dpp_reconfig.c:775,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_reconfig.c:783,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_reconfig.c:784,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_reconfig.c:785,1
    - Dst: os_malloc
      Src: /src/hostap/src/common/dpp_reconfig.c:788,1
    - Dst: aes_siv_decrypt
      Src: /src/hostap/src/common/dpp_reconfig.c:791,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_reconfig.c:794,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_reconfig.c:797,1
    - Dst: dpp_check_attrs
      Src: /src/hostap/src/common/dpp_reconfig.c:800,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_reconfig.c:801,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp_reconfig.c:805,1
    - Dst: os_memcmp
      Src: /src/hostap/src/common/dpp_reconfig.c:808,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_reconfig.c:809,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_reconfig.c:812,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp_reconfig.c:814,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_reconfig.c:817,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/common/dpp_reconfig.c:820,1
    - Dst: json_parse
      Src: /src/hostap/src/common/dpp_reconfig.c:823,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_reconfig.c:826,1
    - Dst: dpp_reconfig_build_conf
      Src: /src/hostap/src/common/dpp_reconfig.c:831,1
    - Dst: json_free
      Src: /src/hostap/src/common/dpp_reconfig.c:836,1
    - Dst: json_free
      Src: /src/hostap/src/common/dpp_reconfig.c:837,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/common/dpp_reconfig.c:838,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp_reconfig.c:839,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp_reconfig.c:840,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_reconfig.c:843,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 141
    argCount: 4
    argNames:
    - auth
    - hdr
    - attr_start
    - attr_len
    argTypes:
    - struct dpp_authentication*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 663
    functionDepth: 4
    functionLinenumber: 663
    functionLinenumberEnd: 846
    functionName: dpp_reconfig_auth_resp_rx
    functionSourceFile: /src/hostap/src/common/dpp_reconfig.c
    functionUses: 3
    functionsReached:
    - wpa_hexdump
    - dpp_process_signed_connector
    - wpa_hexdump_ascii
    - json_get_member
    - json_parse
    - wpa_printf
    - dpp_auth_fail
    - os_memcmp
    - os_free
    - json_free
    - aes_siv_decrypt
    - os_malloc
    - dpp_reconfig_build_conf
    - os_memset
    - os_memcpy
    - dpp_check_attrs
    - dpp_reconfig_derive_ke_initiator
    - wpabuf_free
    - dpp_get_attr
    - bin_clear_free
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf *\ndpp_reconfig_auth_resp_rx(struct dpp_authentication
      *auth, const u8 *hdr,\n\t\t\t const u8 *attr_start, size_t attr_len)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp_reconfig.c:866,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_reconfig.c:869,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_reconfig.c:873,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp_reconfig.c:877,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_reconfig.c:880,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_reconfig.c:884,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_reconfig.c:886,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_reconfig.c:895,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_reconfig.c:896,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_reconfig.c:897,1
    - Dst: os_malloc
      Src: /src/hostap/src/common/dpp_reconfig.c:900,1
    - Dst: aes_siv_decrypt
      Src: /src/hostap/src/common/dpp_reconfig.c:903,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_reconfig.c:906,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_reconfig.c:909,1
    - Dst: dpp_check_attrs
      Src: /src/hostap/src/common/dpp_reconfig.c:912,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_reconfig.c:913,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp_reconfig.c:917,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_reconfig.c:921,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp_reconfig.c:926,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_reconfig.c:929,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp_reconfig.c:934,1
    - Dst: os_memcmp
      Src: /src/hostap/src/common/dpp_reconfig.c:937,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_reconfig.c:938,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_reconfig.c:941,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp_reconfig.c:943,1
    - Dst: os_memcmp
      Src: /src/hostap/src/common/dpp_reconfig.c:946,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_reconfig.c:947,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_reconfig.c:950,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp_reconfig.c:952,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_reconfig.c:956,1
    - Dst: BIT
      Src: /src/hostap/src/common/dpp_reconfig.c:959,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_reconfig.c:960,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/common/dpp_reconfig.c:966,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 88
    argCount: 4
    argNames:
    - auth
    - hdr
    - attr_start
    - attr_len
    argTypes:
    - struct dpp_authentication*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 849
    functionDepth: 3
    functionLinenumber: 849
    functionLinenumberEnd: 968
    functionName: dpp_reconfig_auth_conf_rx
    functionSourceFile: /src/hostap/src/common/dpp_reconfig.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - dpp_check_attrs
    - dpp_auth_fail
    - wpa_hexdump
    - os_malloc
    - bin_clear_free
    - BIT
    - dpp_get_attr
    - os_memcmp
    - aes_siv_decrypt
    linkageType: ''
    returnType: int
    signature: "int dpp_reconfig_auth_conf_rx(struct dpp_authentication *auth, const
      u8 *hdr,\n\t\t\t      const u8 *attr_start, size_t attr_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/src/common/nan_de.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: nan_de_is_nan_network_id
    functionSourceFile: /src/hostap/src/common/nan_de.c
    functionUses: 1
    functionsReached:
    - ether_addr_equal
    linkageType: ''
    returnType: bool
    signature: bool nan_de_is_nan_network_id(const u8 *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/src/common/nan_de.c:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: nan_de_is_p2p_network_id
    functionSourceFile: /src/hostap/src/common/nan_de.c
    functionUses: 0
    functionsReached:
    - ether_addr_equal
    linkageType: ''
    returnType: bool
    signature: bool nan_de_is_p2p_network_id(const u8 *addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/common/nan_de.c:185,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/nan_de.c:189,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/nan_de.c:193,1
    - Dst: dl_list_init
      Src: /src/hostap/src/common/nan_de.c:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 5
    argNames:
    - nmi
    - offload
    - ap
    - max_listen
    - cb
    argTypes:
    - u8*
    - bool
    - bool
    - unsigned int
    - struct nan_callbacks*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 202
    functionName: nan_de_init
    functionSourceFile: /src/hostap/src/common/nan_de.c
    functionUses: 3
    functionsReached:
    - os_zalloc
    - os_memcpy
    - dl_list_init
    linkageType: ''
    returnType: struct nan_de
    signature: "struct nan_de * nan_de_init(const u8 *nmi, bool offload, bool ap,\n\t\t\t
      \   unsigned int max_listen,\n\t\t\t    const struct nan_callbacks *cb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/common/nan_de.c:207,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/nan_de.c:208,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/nan_de.c:209,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/nan_de.c:210,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/nan_de.c:211,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/nan_de.c:212,1
    - Dst: os_free
      Src: /src/hostap/src/common/nan_de.c:213,1
    - Dst: os_free
      Src: /src/hostap/src/common/nan_de.c:214,1
    - Dst: nan_crypto_clear_pmkid_list
      Src: /src/hostap/src/common/nan_de.c:216,1
    - Dst: os_free
      Src: /src/hostap/src/common/nan_de.c:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - srv
    argTypes:
    - struct nan_de_service*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 219
    functionName: nan_de_service_free
    functionSourceFile: /src/hostap/src/common/nan_de.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpabuf_free
    - nan_crypto_clear_pmkid_list
    linkageType: ''
    returnType: void
    signature: void nan_de_service_free(struct nan_de_service *srv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: struct nan_de*::cb::publish_terminated
      Src: /src/hostap/src/common/nan_de.c:228,1
    - Dst: struct nan_de*::cb::subscribe_terminated
      Src: /src/hostap/src/common/nan_de.c:230,1
    - Dst: nan_de_service_free
      Src: /src/hostap/src/common/nan_de.c:231,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - de
    - srv
    - reason
    argTypes:
    - struct nan_de*
    - struct nan_de_service*
    - enum nan_de_reason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 222
    functionDepth: 3
    functionLinenumber: 222
    functionLinenumberEnd: 232
    functionName: nan_de_service_deinit
    functionSourceFile: /src/hostap/src/common/nan_de.c
    functionUses: 0
    functionsReached:
    - struct nan_de*::cb::publish_terminated
    - nan_de_service_free
    - struct nan_de*::cb::subscribe_terminated
    linkageType: ''
    returnType: void
    signature: "void nan_de_service_deinit(struct nan_de *de, struct nan_de_service
      *srv,\n\t\t\t\t  enum nan_de_reason reason)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/common/nan_de.c:240,1
    - Dst: struct nan_de*::cb::transmit_req_status
      Src: /src/hostap/src/common/nan_de.c:246,1
    - Dst: dl_list_del
      Src: /src/hostap/src/common/nan_de.c:247,1
    - Dst: os_free
      Src: /src/hostap/src/common/nan_de.c:248,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - de
    - reason
    argTypes:
    - struct nan_de*
    - enum nan_de_flush_tracked_tx_reason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 250
    functionName: nan_de_flush_tracked_tx
    functionSourceFile: /src/hostap/src/common/nan_de.c
    functionUses: 0
    functionsReached:
    - os_free
    - struct nan_de*::cb::transmit_req_status
    - dl_list_del
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: "void nan_de_flush_tracked_tx(struct nan_de *de,\n\t\t\t\t    enum
      nan_de_flush_tracked_tx_reason reason)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nan_de_flush_tracked_tx
      Src: /src/hostap/src/common/nan_de.c:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - de
    argTypes:
    - struct nan_de*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 260
    functionName: nan_de_clear_pending
    functionSourceFile: /src/hostap/src/common/nan_de.c
    functionUses: 0
    functionsReached:
    - nan_de_flush_tracked_tx
    linkageType: ''
    returnType: void
    signature: void nan_de_clear_pending(struct nan_de *de)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256_vector
      Src: /src/hostap/src/common/nan_de.c:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - data
    - len
    - digest
    argTypes:
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 266
    functionName: nan_de_track_tx_digest
    functionSourceFile: /src/hostap/src/common/nan_de.c
    functionUses: 0
    functionsReached:
    - sha256_vector
    linkageType: ''
    returnType: int
    signature: int nan_de_track_tx_digest(const u8 *data, size_t len, u8 *digest)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:277,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:283,1
    - Dst: nan_de_track_tx_digest
      Src: /src/hostap/src/common/nan_de.c:287,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/nan_de.c:287,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/nan_de.c:287,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:288,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/common/nan_de.c:292,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/common/nan_de.c:293,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:297,1
    - Dst: MAC2STR
      Src: /src/hostap/src/common/nan_de.c:299,1
    - Dst: os_memcmp
      Src: /src/hostap/src/common/nan_de.c:303,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:304,1
    - Dst: MAC2STR
      Src: /src/hostap/src/common/nan_de.c:307,1
    - Dst: os_zalloc
      Src: /src/hostap/src/common/nan_de.c:312,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/nan_de.c:316,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/nan_de.c:319,1
    - Dst: dl_list_add
      Src: /src/hostap/src/common/nan_de.c:321,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:323,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/nan_de.c:324,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 5
    argNames:
    - de
    - dst
    - with_wait
    - cookie
    - buf
    argTypes:
    - struct nan_de*
    - u8*
    - bool
    - u32
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 328
    functionName: nan_de_add_tracked_tx
    functionSourceFile: /src/hostap/src/common/nan_de.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_hexdump
    - wpabuf_len
    - ether_addr_equal
    - wpabuf_head
    - dl_list_for_each
    - MAC2STR
    - os_zalloc
    - dl_list_add
    - os_memcmp
    - nan_de_track_tx_digest
    linkageType: ''
    returnType: struct nan_de_tracked_tx
    signature: "struct nan_de_tracked_tx *\nnan_de_add_tracked_tx(struct nan_de *de,
      const u8 *dst, bool with_wait,\n\t\t      u32 cookie, const struct wpabuf *buf)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nan_de_track_tx_digest
      Src: /src/hostap/src/common/nan_de.c:345,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/common/nan_de.c:348,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/common/nan_de.c:350,1
    - Dst: os_memcmp
      Src: /src/hostap/src/common/nan_de.c:351,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:354,1
    - Dst: struct nan_de*::cb::transmit_req_status
      Src: /src/hostap/src/common/nan_de.c:357,1
    - Dst: dl_list_del
      Src: /src/hostap/src/common/nan_de.c:358,1
    - Dst: os_free
      Src: /src/hostap/src/common/nan_de.c:359,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - de
    - data
    - len
    - acked
    argTypes:
    - struct nan_de*
    - u8*
    - size_t
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 362
    functionName: nan_de_tx_status_match
    functionSourceFile: /src/hostap/src/common/nan_de.c
    functionUses: 0
    functionsReached:
    - struct nan_de*::cb::transmit_req_status
    - wpa_printf
    - dl_list_del
    - ether_addr_equal
    - dl_list_for_each
    - os_memcmp
    - nan_de_track_tx_digest
    - os_free
    linkageType: ''
    returnType: void
    signature: "void nan_de_tx_status_match(struct nan_de *de, const u8 *data,\n\t\t\t\t
      \  size_t len, u8 acked)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nan_de_service_deinit
      Src: /src/hostap/src/common/nan_de.c:373,1
    - Dst: nan_de_clear_pending
      Src: /src/hostap/src/common/nan_de.c:379,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - de
    argTypes:
    - struct nan_de*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 365
    functionDepth: 4
    functionLinenumber: 365
    functionLinenumberEnd: 380
    functionName: nan_de_flush
    functionSourceFile: /src/hostap/src/common/nan_de.c
    functionUses: 3
    functionsReached:
    - nan_de_clear_pending
    - nan_de_service_deinit
    linkageType: ''
    returnType: void
    signature: void nan_de_flush(struct nan_de *de)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:386,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/common/nan_de.c:387,1
    - Dst: os_reltime_initialized
      Src: /src/hostap/src/common/nan_de.c:389,1
    - Dst: os_reltime_before
      Src: /src/hostap/src/common/nan_de.c:390,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/nan_de.c:392,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - srv
    - peer_addr
    - peer_id
    argTypes:
    - struct nan_de_service*
    - u8*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 394
    functionName: nan_de_pause_state
    functionSourceFile: /src/hostap/src/common/nan_de.c
    functionUses: 0
    functionsReached:
    - os_reltime_initialized
    - os_get_reltime
    - wpa_printf
    - os_memcpy
    - os_reltime_before
    linkageType: ''
    returnType: void
    signature: "void nan_de_pause_state(struct nan_de_service *srv, const u8 *peer_addr,\n\t\t\t
      \      u8 peer_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:399,1
    - Dst: os_memset
      Src: /src/hostap/src/common/nan_de.c:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - srv
    argTypes:
    - struct nan_de_service*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 404
    functionName: nan_de_unpause_state
    functionSourceFile: /src/hostap/src/common/nan_de.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memset
    linkageType: ''
    returnType: void
    signature: void nan_de_unpause_state(struct nan_de_service *srv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: struct nan_de*::cb::is_peer_paired
      Src: /src/hostap/src/common/nan_de.c:414,1
    - Dst: is_multicast_ether_addr
      Src: /src/hostap/src/common/nan_de.c:419,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:421,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/common/nan_de.c:427,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/nan_de.c:429,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/nan_de.c:430,1
    - Dst: wpabuf_put_be32
      Src: /src/hostap/src/common/nan_de.c:431,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - de
    - dst
    - len
    - type
    argTypes:
    - struct nan_de*
    - u8*
    - size_t
    - enum nan_service_control_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 435
    functionName: nan_de_alloc_sdf
    functionSourceFile: /src/hostap/src/common/nan_de.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - is_multicast_ether_addr
    - wpabuf_put_u8
    - struct nan_de*::cb::is_peer_paired
    - wpabuf_alloc
    - wpabuf_put_be32
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * nan_de_alloc_sdf(struct nan_de *de, const u8 *dst,\n\t\t\t\t\tsize_t
      len,\n\t\t\t\t\tenum nan_service_control_type type)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nan_de_add_tracked_tx
      Src: /src/hostap/src/common/nan_de.c:450,1
    - Dst: struct nan_de*::cb::tx
      Src: /src/hostap/src/common/nan_de.c:456,1
    - Dst: dl_list_del
      Src: /src/hostap/src/common/nan_de.c:459,1
    - Dst: os_free
      Src: /src/hostap/src/common/nan_de.c:460,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 8
    argNames:
    - de
    - freq
    - wait_time
    - dst
    - src
    - bssid
    - buf
    - cookie
    argTypes:
    - struct nan_de*
    - unsigned int
    - unsigned int
    - u8*
    - u8*
    - u8*
    - struct wpabuf*
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 438
    functionDepth: 2
    functionLinenumber: 438
    functionLinenumberEnd: 469
    functionName: nan_de_tx
    functionSourceFile: /src/hostap/src/common/nan_de.c
    functionUses: 0
    functionsReached:
    - os_free
    - struct nan_de*::cb::tx
    - dl_list_del
    - nan_de_add_tracked_tx
    linkageType: ''
    returnType: int
    signature: "int nan_de_tx(struct nan_de *de, unsigned int freq,\n\t\t     unsigned
      int wait_time,\n\t\t     const u8 *dst, const u8 *src, const u8 *bssid,\n\t\t
      \    const struct wpabuf *buf,  u32 *cookie)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:479,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/nan_de.c:481,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/nan_de.c:482,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/nan_de.c:485,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/nan_de.c:486,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/nan_de.c:487,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/nan_de.c:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - de
    - srv
    - buf
    argTypes:
    - struct nan_de*
    - struct nan_de_service*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 472
    functionDepth: 1
    functionLinenumber: 472
    functionLinenumberEnd: 489
    functionName: nan_buf_add_npba
    functionSourceFile: /src/hostap/src/common/nan_de.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put_u8
    - wpabuf_put_le16
    linkageType: ''
    returnType: void
    signature: "void nan_buf_add_npba(const struct nan_de *de,\n\t\t\t     const struct
      nan_de_service *srv,\n\t\t\t     struct wpabuf *buf)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: int_array_len
      Src: /src/hostap/src/common/nan_de.c:504,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/nan_de.c:508,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/nan_de.c:509,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/nan_de.c:513,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/nan_de.c:515,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/nan_de.c:528,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/nan_de.c:533,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/nan_de.c:543,1
    - Dst: dl_list_empty
      Src: /src/hostap/src/common/nan_de.c:552,1
    - Dst: dl_list_len
      Src: /src/hostap/src/common/nan_de.c:553,1
    - Dst: nan_de_alloc_sdf
      Src: /src/hostap/src/common/nan_de.c:560,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/nan_de.c:565,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/nan_de.c:566,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/common/nan_de.c:567,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/nan_de.c:568,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/nan_de.c:569,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/nan_de.c:570,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/nan_de.c:573,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/nan_de.c:573,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/common/nan_de.c:574,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/nan_de.c:588,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/nan_de.c:588,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/nan_de.c:589,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/common/nan_de.c:590,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/nan_de.c:611,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/nan_de.c:612,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/nan_de.c:613,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/nan_de.c:614,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/nan_de.c:616,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/nan_de.c:616,1
    - Dst: wpabuf_put_be24
      Src: /src/hostap/src/common/nan_de.c:617,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/nan_de.c:618,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/common/nan_de.c:619,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/nan_de.c:626,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/nan_de.c:627,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/nan_de.c:627,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/nan_de.c:628,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/common/nan_de.c:629,1
    - Dst: nan_buf_add_npba
      Src: /src/hostap/src/common/nan_de.c:636,1
    - Dst: struct nan_de*::cb::add_extra_attrs
      Src: /src/hostap/src/common/nan_de.c:639,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:642,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/common/nan_de.c:643,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/nan_de.c:649,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/nan_de.c:650,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/nan_de.c:652,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/nan_de.c:654,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/nan_de.c:655,1
    - Dst: dl_list_empty
      Src: /src/hostap/src/common/nan_de.c:659,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/nan_de.c:663,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/common/nan_de.c:664,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/common/nan_de.c:666,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/nan_de.c:668,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/nan_de.c:669,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/nan_de.c:670,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/common/nan_de.c:671,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/common/nan_de.c:674,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/common/nan_de.c:674,1
    - Dst: nan_de_tx
      Src: /src/hostap/src/common/nan_de.c:677,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/nan_de.c:679,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 117
    argCount: 10
    argNames:
    - de
    - srv
    - wait_time
    - type
    - dst
    - a3
    - req_instance_id
    - ssi
    - attrs
    - cookie
    argTypes:
    - struct nan_de*
    - struct nan_de_service*
    - unsigned int
    - enum nan_service_control_type
    - u8*
    - u8*
    - u8
    - struct wpabuf*
    - struct wpabuf*
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 492
    functionDepth: 3
    functionLinenumber: 492
    functionLinenumberEnd: 680
    functionName: nan_de_tx_sdf
    functionSourceFile: /src/hostap/src/common/nan_de.c
    functionUses: 0
    functionsReached:
    - nan_buf_add_npba
    - wpa_printf
    - wpabuf_put
    - wpabuf_put_u8
    - dl_list_empty
    - wpabuf_len
    - wpabuf_put_data
    - nan_de_alloc_sdf
    - wpabuf_free
    - wpabuf_put_le16
    - dl_list_for_each
    - int_array_len
    - wpabuf_put_buf
    - nan_de_tx
    - dl_list_len
    - struct nan_de*::cb::add_extra_attrs
    - wpabuf_put_be24
    - WPA_PUT_LE16
    linkageType: ''
    returnType: void
    signature: "void nan_de_tx_sdf(struct nan_de *de, struct nan_de_service *srv,\n\t\t\t
      \ unsigned int wait_time,\n\t\t\t  enum nan_service_control_type type,\n\t\t\t
      \ const u8 *dst, const u8 *a3, u8 req_instance_id,\n\t\t\t  const struct wpabuf
      *ssi,\n\t\t\t  const struct wpabuf *attrs,  u32 *cookie)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_reltime_before
      Src: /src/hostap/src/common/nan_de.c:687,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/common/nan_de.c:695,1
    - Dst: os_reltime_sub
      Src: /src/hostap/src/common/nan_de.c:696,1
    - Dst: os_reltime_in_ms
      Src: /src/hostap/src/common/nan_de.c:697,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - srv
    argTypes:
    - struct nan_de_service*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 683
    functionDepth: 1
    functionLinenumber: 683
    functionLinenumberEnd: 698
    functionName: nan_de_time_to_next_chan_change
    functionSourceFile: /src/hostap/src/common/nan_de.c
    functionUses: 0
    functionsReached:
    - os_reltime_sub
    - os_get_reltime
    - os_reltime_in_ms
    - os_reltime_before
    linkageType: ''
    returnType: int
    signature: int nan_de_time_to_next_chan_change(struct nan_de_service *srv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_get_reltime
      Src: /src/hostap/src/common/nan_de.c:703,1
    - Dst: os_reltime_add_ms
      Src: /src/hostap/src/common/nan_de.c:706,1
    - Dst: os_reltime_add_ms
      Src: /src/hostap/src/common/nan_de.c:710,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - srv
    argTypes:
    - struct nan_de_service*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 701
    functionDepth: 1
    functionLinenumber: 701
    functionLinenumberEnd: 711
    functionName: nan_de_set_publish_times
    functionSourceFile: /src/hostap/src/common/nan_de.c
    functionUses: 0
    functionsReached:
    - os_get_reltime
    - os_reltime_add_ms
    linkageType: ''
    returnType: void
    signature: void nan_de_set_publish_times(struct nan_de_service *srv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nan_de_set_publish_times
      Src: /src/hostap/src/common/nan_de.c:719,1
    - Dst: os_reltime_initialized
      Src: /src/hostap/src/common/nan_de.c:722,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:727,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/common/nan_de.c:731,1
    - Dst: os_reltime_add_ms
      Src: /src/hostap/src/common/nan_de.c:732,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - srv
    argTypes:
    - struct nan_de_service*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 714
    functionDepth: 2
    functionLinenumber: 714
    functionLinenumberEnd: 734
    functionName: nan_de_check_chan_change
    functionSourceFile: /src/hostap/src/common/nan_de.c
    functionUses: 0
    functionsReached:
    - os_reltime_initialized
    - wpa_printf
    - os_get_reltime
    - os_reltime_add_ms
    - nan_de_set_publish_times
    linkageType: ''
    returnType: void
    signature: void nan_de_check_chan_change(struct nan_de_service *srv)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nan_de_check_chan_change
      Src: /src/hostap/src/common/nan_de.c:751,1
    - Dst: nan_de_time_to_next_chan_change
      Src: /src/hostap/src/common/nan_de.c:752,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:773,1
    - Dst: nan_de_tx_sdf
      Src: /src/hostap/src/common/nan_de.c:782,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/common/nan_de.c:784,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 3
    argNames:
    - de
    - srv
    - req_instance_id
    argTypes:
    - struct nan_de*
    - struct nan_de_service*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 737
    functionDepth: 4
    functionLinenumber: 737
    functionLinenumberEnd: 785
    functionName: nan_de_tx_multicast
    functionSourceFile: /src/hostap/src/common/nan_de.c
    functionUses: 0
    functionsReached:
    - os_get_reltime
    - nan_de_time_to_next_chan_change
    - wpa_printf
    - nan_de_check_chan_change
    - nan_de_tx_sdf
    linkageType: ''
    returnType: void
    signature: "void nan_de_tx_multicast(struct nan_de *de, struct nan_de_service
      *srv,\n\t\t\t\tu8 req_instance_id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_get_reltime
      Src: /src/hostap/src/common/nan_de.c:792,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - de
    - srv
    argTypes:
    - struct nan_de*
    - struct nan_de_service*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 802
    functionName: nan_de_add_srv
    functionSourceFile: /src/hostap/src/common/nan_de.c
    functionUses: 0
    functionsReached:
    - os_get_reltime
    linkageType: ''
    returnType: void
    signature: void nan_de_add_srv(struct nan_de *de, struct nan_de_service *srv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nan_de_service_deinit
      Src: /src/hostap/src/common/nan_de.c:809,1
    - Dst: nan_de_clear_pending
      Src: /src/hostap/src/common/nan_de.c:812,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - de
    - srv
    - reason
    argTypes:
    - struct nan_de*
    - struct nan_de_service*
    - enum nan_de_reason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 805
    functionDepth: 4
    functionLinenumber: 805
    functionLinenumberEnd: 813
    functionName: nan_de_del_srv
    functionSourceFile: /src/hostap/src/common/nan_de.c
    functionUses: 0
    functionsReached:
    - nan_de_clear_pending
    - nan_de_service_deinit
    linkageType: ''
    returnType: void
    signature: "void nan_de_del_srv(struct nan_de *de, struct nan_de_service *srv,\n\t\t\t
      \  enum nan_de_reason reason)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: os_reltime_initialized
      Src: /src/hostap/src/common/nan_de.c:819,1
    - Dst: os_reltime_before
      Src: /src/hostap/src/common/nan_de.c:820,1
    - Dst: os_reltime_initialized
      Src: /src/hostap/src/common/nan_de.c:824,1
    - Dst: os_reltime_initialized
      Src: /src/hostap/src/common/nan_de.c:833,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - srv
    - now
    argTypes:
    - struct nan_de_service*
    - struct os_reltime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 816
    functionDepth: 1
    functionLinenumber: 816
    functionLinenumberEnd: 840
    functionName: nan_de_srv_expired
    functionSourceFile: /src/hostap/src/common/nan_de.c
    functionUses: 0
    functionsReached:
    - os_reltime_initialized
    - os_reltime_before
    linkageType: ''
    returnType: bool
    signature: "bool nan_de_srv_expired(struct nan_de_service *srv,\n\t\t\t       struct
      os_reltime *now)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: os_reltime_initialized
      Src: /src/hostap/src/common/nan_de.c:854,1
    - Dst: os_reltime_initialized
      Src: /src/hostap/src/common/nan_de.c:861,1
    - Dst: os_reltime_add_ms
      Src: /src/hostap/src/common/nan_de.c:870,1
    - Dst: os_reltime_before
      Src: /src/hostap/src/common/nan_de.c:874,1
    - Dst: os_reltime_before
      Src: /src/hostap/src/common/nan_de.c:879,1
    - Dst: os_reltime_sub
      Src: /src/hostap/src/common/nan_de.c:882,1
    - Dst: os_reltime_in_ms
      Src: /src/hostap/src/common/nan_de.c:883,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 25
    argCount: 3
    argNames:
    - de
    - srv
    - now
    argTypes:
    - struct nan_de*
    - struct nan_de_service*
    - struct os_reltime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 843
    functionDepth: 1
    functionLinenumber: 843
    functionLinenumberEnd: 884
    functionName: nan_de_next_multicast
    functionSourceFile: /src/hostap/src/common/nan_de.c
    functionUses: 0
    functionsReached:
    - os_reltime_initialized
    - os_reltime_add_ms
    - os_reltime_sub
    - os_reltime_in_ms
    - os_reltime_before
    linkageType: ''
    returnType: int
    signature: "int nan_de_next_multicast(struct nan_de *de, struct nan_de_service
      *srv,\n\t\t\t\t struct os_reltime *now)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: os_reltime_initialized
      Src: /src/hostap/src/common/nan_de.c:894,1
    - Dst: os_reltime_sub
      Src: /src/hostap/src/common/nan_de.c:895,1
    - Dst: os_reltime_in_ms
      Src: /src/hostap/src/common/nan_de.c:896,1
    - Dst: os_reltime_initialized
      Src: /src/hostap/src/common/nan_de.c:903,1
    - Dst: os_reltime_sub
      Src: /src/hostap/src/common/nan_de.c:904,1
    - Dst: os_reltime_in_ms
      Src: /src/hostap/src/common/nan_de.c:905,1
    - Dst: nan_de_next_multicast
      Src: /src/hostap/src/common/nan_de.c:911,1
    - Dst: os_reltime_initialized
      Src: /src/hostap/src/common/nan_de.c:916,1
    - Dst: os_reltime_initialized
      Src: /src/hostap/src/common/nan_de.c:924,1
    - Dst: os_reltime_initialized
      Src: /src/hostap/src/common/nan_de.c:932,1
    - Dst: os_reltime_sub
      Src: /src/hostap/src/common/nan_de.c:933,1
    - Dst: os_reltime_in_ms
      Src: /src/hostap/src/common/nan_de.c:937,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 36
    argCount: 3
    argNames:
    - de
    - srv
    - now
    argTypes:
    - struct nan_de*
    - struct nan_de_service*
    - struct os_reltime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 887
    functionDepth: 2
    functionLinenumber: 887
    functionLinenumberEnd: 943
    functionName: nan_de_srv_time_to_next
    functionSourceFile: /src/hostap/src/common/nan_de.c
    functionUses: 0
    functionsReached:
    - os_reltime_initialized
    - os_reltime_sub
    - nan_de_next_multicast
    - os_reltime_in_ms
    linkageType: ''
    returnType: int
    signature: "int nan_de_srv_time_to_next(struct nan_de *de,\n\t\t\t\t   struct
      nan_de_service *srv,\n\t\t\t\t   struct os_reltime *now)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_random
      Src: /src/hostap/src/common/nan_de.c:961,1
    - Dst: nan_de_set_publish_times
      Src: /src/hostap/src/common/nan_de.c:964,1
    - Dst: os_reltime_initialized
      Src: /src/hostap/src/common/nan_de.c:966,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:980,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 3
    argNames:
    - de
    - srv
    - force_single
    argTypes:
    - struct nan_de*
    - struct nan_de_service*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 946
    functionDepth: 2
    functionLinenumber: 946
    functionLinenumberEnd: 983
    functionName: nan_de_start_new_publish_state
    functionSourceFile: /src/hostap/src/common/nan_de.c
    functionUses: 0
    functionsReached:
    - os_reltime_initialized
    - wpa_printf
    - nan_de_set_publish_times
    - os_random
    linkageType: ''
    returnType: void
    signature: "void nan_de_start_new_publish_state(struct nan_de *de,\n\t\t\t\t\t
      \  struct nan_de_service *srv,\n\t\t\t\t\t   bool force_single)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nan_de_check_chan_change
      Src: /src/hostap/src/common/nan_de.c:996,1
    - Dst: nan_de_time_to_next_chan_change
      Src: /src/hostap/src/common/nan_de.c:997,1
    - Dst: MIN
      Src: /src/hostap/src/common/nan_de.c:1002,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - de
    - srv
    argTypes:
    - struct nan_de*
    - struct nan_de_service*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 986
    functionDepth: 3
    functionLinenumber: 986
    functionLinenumberEnd: 1003
    functionName: nan_de_listen_duration
    functionSourceFile: /src/hostap/src/common/nan_de.c
    functionUses: 0
    functionsReached:
    - nan_de_check_chan_change
    - nan_de_time_to_next_chan_change
    - MIN
    linkageType: ''
    returnType: u32
    signature: u32 nan_de_listen_duration(struct nan_de *de, struct nan_de_service
      *srv)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: os_get_reltime
      Src: /src/hostap/src/common/nan_de.c:1014,1
    - Dst: os_reltime_initialized
      Src: /src/hostap/src/common/nan_de.c:1026,1
    - Dst: os_reltime_sub
      Src: /src/hostap/src/common/nan_de.c:1029,1
    - Dst: os_reltime_in_ms
      Src: /src/hostap/src/common/nan_de.c:1030,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:1037,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:1044,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:1056,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/common/nan_de.c:1058,1
    - Dst: nan_de_srv_expired
      Src: /src/hostap/src/common/nan_de.c:1072,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:1073,1
    - Dst: struct nan_de*::cb::offload_cancel_publish
      Src: /src/hostap/src/common/nan_de.c:1077,1
    - Dst: struct nan_de*::cb::offload_cancel_subscribe
      Src: /src/hostap/src/common/nan_de.c:1081,1
    - Dst: nan_de_del_srv
      Src: /src/hostap/src/common/nan_de.c:1083,1
    - Dst: os_reltime_initialized
      Src: /src/hostap/src/common/nan_de.c:1090,1
    - Dst: os_reltime_before
      Src: /src/hostap/src/common/nan_de.c:1091,1
    - Dst: nan_de_start_new_publish_state
      Src: /src/hostap/src/common/nan_de.c:1092,1
    - Dst: os_reltime_initialized
      Src: /src/hostap/src/common/nan_de.c:1095,1
    - Dst: os_reltime_before
      Src: /src/hostap/src/common/nan_de.c:1096,1
    - Dst: nan_de_unpause_state
      Src: /src/hostap/src/common/nan_de.c:1097,1
    - Dst: nan_de_srv_time_to_next
      Src: /src/hostap/src/common/nan_de.c:1099,1
    - Dst: os_reltime_initialized
      Src: /src/hostap/src/common/nan_de.c:1105,1
    - Dst: os_reltime_sub
      Src: /src/hostap/src/common/nan_de.c:1111,1
    - Dst: os_reltime_in_ms
      Src: /src/hostap/src/common/nan_de.c:1112,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:1116,1
    - Dst: struct nan_de*::cb::listen
      Src: /src/hostap/src/common/nan_de.c:1122,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:1125,1
    - Dst: nan_de_next_multicast
      Src: /src/hostap/src/common/nan_de.c:1136,1
    - Dst: nan_de_tx_multicast
      Src: /src/hostap/src/common/nan_de.c:1138,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:1151,1
    - Dst: nan_de_listen_duration
      Src: /src/hostap/src/common/nan_de.c:1156,1
    - Dst: struct nan_de*::cb::listen
      Src: /src/hostap/src/common/nan_de.c:1159,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/common/nan_de.c:1173,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 84
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1175
      start: 1006
    functionDepth: 5
    functionLinenumber: 1006
    functionLinenumberEnd: 1175
    functionName: nan_de_timer
    functionSourceFile: /src/hostap/src/common/nan_de.c
    functionUses: 0
    functionsReached:
    - os_reltime_initialized
    - wpa_printf
    - os_get_reltime
    - nan_de_del_srv
    - nan_de_start_new_publish_state
    - nan_de_unpause_state
    - nan_de_next_multicast
    - struct nan_de*::cb::offload_cancel_subscribe
    - nan_de_listen_duration
    - struct nan_de*::cb::listen
    - os_reltime_sub
    - os_reltime_in_ms
    - nan_de_tx_multicast
    - eloop_register_timeout
    - nan_de_srv_time_to_next
    - os_reltime_before
    - struct nan_de*::cb::offload_cancel_publish
    - nan_de_srv_expired
    linkageType: ''
    returnType: void
    signature: void nan_de_timer(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/common/nan_de.c:1180,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/common/nan_de.c:1181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - de
    argTypes:
    - struct nan_de*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1182
      start: 1178
    functionDepth: 0
    functionLinenumber: 1178
    functionLinenumberEnd: 1182
    functionName: nan_de_run_timer
    functionSourceFile: /src/hostap/src/common/nan_de.c
    functionUses: 0
    functionsReached:
    - eloop_cancel_timeout
    - eloop_register_timeout
    linkageType: ''
    returnType: void
    signature: void nan_de_run_timer(struct nan_de *de)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/common/nan_de.c:1187,1
    - Dst: nan_de_flush
      Src: /src/hostap/src/common/nan_de.c:1188,1
    - Dst: os_free
      Src: /src/hostap/src/common/nan_de.c:1189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - de
    argTypes:
    - struct nan_de*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1190
      start: 1185
    functionDepth: 5
    functionLinenumber: 1185
    functionLinenumberEnd: 1190
    functionName: nan_de_deinit
    functionSourceFile: /src/hostap/src/common/nan_de.c
    functionUses: 3
    functionsReached:
    - eloop_cancel_timeout
    - os_free
    - nan_de_flush
    linkageType: ''
    returnType: void
    signature: void nan_de_deinit(struct nan_de *de)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - de
    - freq
    - duration
    argTypes:
    - struct nan_de*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1198
      start: 1193
    functionDepth: 0
    functionLinenumber: 1193
    functionLinenumberEnd: 1198
    functionName: nan_de_listen_started
    functionSourceFile: /src/hostap/src/common/nan_de.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void nan_de_listen_started(struct nan_de *de, unsigned int freq,\n\t\t\t
      \  unsigned int duration)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nan_de_run_timer
      Src: /src/hostap/src/common/nan_de.c:1208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - de
    - freq
    argTypes:
    - struct nan_de*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1210
      start: 1201
    functionDepth: 1
    functionLinenumber: 1201
    functionLinenumberEnd: 1210
    functionName: nan_de_listen_ended
    functionSourceFile: /src/hostap/src/common/nan_de.c
    functionUses: 1
    functionsReached:
    - nan_de_run_timer
    linkageType: ''
    returnType: void
    signature: void nan_de_listen_ended(struct nan_de *de, unsigned int freq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/common/nan_de.c:1216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - de
    - nmi
    argTypes:
    - struct nan_de*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1217
      start: 1213
    functionDepth: 0
    functionLinenumber: 1213
    functionLinenumberEnd: 1217
    functionName: nan_de_update_nmi
    functionSourceFile: /src/hostap/src/common/nan_de.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    linkageType: ''
    returnType: void
    signature: void nan_de_update_nmi(struct nan_de *de, const u8 *nmi)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nan_de_tx_status_match
      Src: /src/hostap/src/common/nan_de.c:1226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - de
    - freq
    - dst
    - data
    - data_len
    - ack
    argTypes:
    - struct nan_de*
    - unsigned int
    - u8*
    - u8*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1220
    functionDepth: 2
    functionLinenumber: 1220
    functionLinenumberEnd: 1227
    functionName: nan_de_tx_status
    functionSourceFile: /src/hostap/src/common/nan_de.c
    functionUses: 2
    functionsReached:
    - nan_de_tx_status_match
    linkageType: ''
    returnType: void
    signature: "void nan_de_tx_status(struct nan_de *de, unsigned int freq, const
      u8 *dst,\n\t\t      const u8 *data, size_t data_len, bool ack)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:1233,1
    - Dst: nan_de_flush_tracked_tx
      Src: /src/hostap/src/common/nan_de.c:1237,1
    - Dst: nan_de_run_timer
      Src: /src/hostap/src/common/nan_de.c:1240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - de
    argTypes:
    - struct nan_de*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1241
      start: 1230
    functionDepth: 2
    functionLinenumber: 1230
    functionLinenumberEnd: 1241
    functionName: nan_de_tx_wait_ended
    functionSourceFile: /src/hostap/src/common/nan_de.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - nan_de_flush_tracked_tx
    - nan_de_run_timer
    linkageType: ''
    returnType: void
    signature: void nan_de_tx_wait_ended(struct nan_de *de)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/common/nan_de.c:1256,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:1259,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - buf
    - len
    - id
    - skip
    argTypes:
    - u8*
    - size_t
    - enum nan_attr_id
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1275
      start: 1244
    functionDepth: 1
    functionLinenumber: 1244
    functionLinenumberEnd: 1275
    functionName: nan_de_get_attr
    functionSourceFile: /src/hostap/src/common/nan_de.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - WPA_GET_LE16
    linkageType: ''
    returnType: u8
    signature: "u8 *\nnan_de_get_attr(const u8 *buf, size_t len, enum nan_attr_id
      id,\n\t\tunsigned int skip)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: nan_de_get_attr
      Src: /src/hostap/src/common/nan_de.c:1288,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/common/nan_de.c:1293,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/common/nan_de.c:1302,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/common/nan_de.c:1320,1
    - Dst: WPA_GET_BE24
      Src: /src/hostap/src/common/nan_de.c:1327,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 37
    argCount: 7
    argNames:
    - buf
    - len
    - instance_id
    - sdea_control
    - srv_proto_type
    - ssi
    - ssi_len
    argTypes:
    - u8*
    - size_t
    - u8
    - u16*
    - enum nan_service_protocol_type*
    - u8**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1334
      start: 1278
    functionDepth: 2
    functionLinenumber: 1278
    functionLinenumberEnd: 1334
    functionName: nan_de_get_sdea
    functionSourceFile: /src/hostap/src/common/nan_de.c
    functionUses: 0
    functionsReached:
    - WPA_GET_BE24
    - nan_de_get_attr
    - WPA_GET_LE16
    linkageType: ''
    returnType: void
    signature: "void nan_de_get_sdea(const u8 *buf, size_t len, u8 instance_id,\n\t\t\t
      \   u16 *sdea_control,\n\t\t\t    enum nan_service_protocol_type *srv_proto_type,\n\t\t\t
      \   const u8 **ssi, size_t *ssi_len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nan_de_get_attr
      Src: /src/hostap/src/common/nan_de.c:1347,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/common/nan_de.c:1352,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:1358,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:1376,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:1382,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:1389,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:1395,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 6
    argNames:
    - buf
    - len
    - instance_id
    - cipher_suites
    - max_cipher_suites
    - capabilities
    argTypes:
    - u8*
    - size_t
    - u8
    - u8*
    - unsigned int
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1400
      start: 1337
    functionDepth: 2
    functionLinenumber: 1337
    functionLinenumberEnd: 1400
    functionName: nan_de_parse_csia
    functionSourceFile: /src/hostap/src/common/nan_de.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - nan_de_get_attr
    - WPA_GET_LE16
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int nan_de_parse_csia(const u8 *buf, size_t len, u8 instance_id,\n\t\t\t\t
      \     u8 *cipher_suites,\n\t\t\t\t      unsigned int max_cipher_suites,\n\t\t\t\t
      \     u8 *capabilities)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nan_de_get_attr
      Src: /src/hostap/src/common/nan_de.c:1410,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/common/nan_de.c:1415,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:1420,1
    - Dst: le_to_host16
      Src: /src/hostap/src/common/nan_de.c:1428,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:1431,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/nan_de.c:1441,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/nan_de.c:1444,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:1447,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:1456,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 5
    argNames:
    - buf
    - len
    - instance_id
    - pmkid_list
    - max_pmkids
    argTypes:
    - u8*
    - size_t
    - u8
    - u8*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1459
      start: 1403
    functionDepth: 2
    functionLinenumber: 1403
    functionLinenumberEnd: 1459
    functionName: nan_de_parse_scia
    functionSourceFile: /src/hostap/src/common/nan_de.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_printf
    - wpa_hexdump
    - nan_de_get_attr
    - WPA_GET_LE16
    - le_to_host16
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int nan_de_parse_scia(const u8 *buf, size_t len, u8 instance_id,\n\t\t\t\t
      \     u8 *pmkid_list, unsigned int max_pmkids)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nan_de_get_attr
      Src: /src/hostap/src/common/nan_de.c:1469,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/common/nan_de.c:1474,1
    - Dst: struct nan_de*::cb::process_p2p_usd_elems
      Src: /src/hostap/src/common/nan_de.c:1485,1
    - Dst: struct nan_de*::cb::process_pr_usd_elems
      Src: /src/hostap/src/common/nan_de.c:1488,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 7
    argNames:
    - de
    - buf
    - len
    - peer_addr
    - freq
    - p2p
    - pr
    argTypes:
    - struct nan_de*
    - u8*
    - size_t
    - u8*
    - unsigned int
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1490
      start: 1462
    functionDepth: 2
    functionLinenumber: 1462
    functionLinenumberEnd: 1490
    functionName: nan_de_process_elem_container
    functionSourceFile: /src/hostap/src/common/nan_de.c
    functionUses: 0
    functionsReached:
    - nan_de_get_attr
    - WPA_GET_LE16
    - struct nan_de*::cb::process_pr_usd_elems
    - struct nan_de*::cb::process_p2p_usd_elems
    linkageType: ''
    returnType: void
    signature: "void nan_de_process_elem_container(struct nan_de *de, const u8 *buf,\n\t\t\t\t\t
      \ size_t len, const u8 *peer_addr,\n\t\t\t\t\t  unsigned int freq, bool p2p,
      bool pr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nan_de_get_attr
      Src: /src/hostap/src/common/nan_de.c:1502,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/common/nan_de.c:1506,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:1508,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - buf
    - len
    - pairing_setup
    - npk_nik_caching
    argTypes:
    - u8*
    - size_t
    - bool*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1516
      start: 1493
    functionDepth: 2
    functionLinenumber: 1493
    functionLinenumberEnd: 1516
    functionName: nan_de_parse_dcea
    functionSourceFile: /src/hostap/src/common/nan_de.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - nan_de_get_attr
    - WPA_GET_LE16
    linkageType: ''
    returnType: void
    signature: "void nan_de_parse_dcea(const u8 *buf, size_t len, bool *pairing_setup,\n\t\t\t
      \     bool *npk_nik_caching)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nan_de_get_attr
      Src: /src/hostap/src/common/nan_de.c:1524,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/common/nan_de.c:1528,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:1530,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/common/nan_de.c:1539,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1540
      start: 1519
    functionDepth: 2
    functionLinenumber: 1519
    functionLinenumberEnd: 1540
    functionName: nan_de_get_advertise_pbm
    functionSourceFile: /src/hostap/src/common/nan_de.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - nan_de_get_attr
    - WPA_GET_LE16
    linkageType: ''
    returnType: u16
    signature: u16 nan_de_get_advertise_pbm(const u8 *buf, size_t len)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:1551,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/common/nan_de.c:1558,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/nan_de.c:1560,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/common/nan_de.c:1567,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/nan_de.c:1569,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:1574,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/nan_de.c:1589,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/nan_de.c:1592,1
    - Dst: os_memcmp
      Src: /src/hostap/src/common/nan_de.c:1617,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 53
    argCount: 3
    argNames:
    - srv
    - matching_filter
    - matching_filter_len
    argTypes:
    - struct nan_de_service*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1640
      start: 1543
    functionDepth: 1
    functionLinenumber: 1543
    functionLinenumberEnd: 1640
    functionName: nan_de_filter_match
    functionSourceFile: /src/hostap/src/common/nan_de.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_head_u8
    - wpa_hexdump
    - wpabuf_len
    - os_memcmp
    linkageType: ''
    returnType: bool
    signature: "bool nan_de_filter_match(struct nan_de_service *srv,\n\t\t\t\tconst
      u8 *matching_filter,\n\t\t\t\tsize_t matching_filter_len)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: nan_de_filter_match
      Src: /src/hostap/src/common/nan_de.c:1662,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:1672,1
    - Dst: os_reltime_initialized
      Src: /src/hostap/src/common/nan_de.c:1680,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/common/nan_de.c:1681,1
    - Dst: nan_de_run_timer
      Src: /src/hostap/src/common/nan_de.c:1683,1
    - Dst: nan_de_tx_multicast
      Src: /src/hostap/src/common/nan_de.c:1689,1
    - Dst: nan_de_transmit
      Src: /src/hostap/src/common/nan_de.c:1696,1
    - Dst: os_memset
      Src: /src/hostap/src/common/nan_de.c:1701,1
    - Dst: nan_de_parse_csia
      Src: /src/hostap/src/common/nan_de.c:1704,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/common/nan_de.c:1706,1
    - Dst: nan_de_parse_scia
      Src: /src/hostap/src/common/nan_de.c:1709,1
    - Dst: nan_de_parse_dcea
      Src: /src/hostap/src/common/nan_de.c:1717,1
    - Dst: nan_de_get_advertise_pbm
      Src: /src/hostap/src/common/nan_de.c:1722,1
    - Dst: struct nan_de*::cb::discovery_result
      Src: /src/hostap/src/common/nan_de.c:1741,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 49
    argCount: 16
    argNames:
    - de
    - srv
    - peer_addr
    - a3
    - instance_id
    - matching_filter
    - matching_filter_len
    - req_instance_id
    - sdea_control
    - srv_proto_type
    - ssi
    - ssi_len
    - range_limit
    - rssi
    - buf
    - buf_len
    argTypes:
    - struct nan_de*
    - struct nan_de_service*
    - u8*
    - u8*
    - u8
    - u8*
    - size_t
    - u8
    - u16
    - enum nan_service_protocol_type
    - u8*
    - size_t
    - bool
    - int
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1744
      start: 1643
    functionDepth: 5
    functionLinenumber: 1643
    functionLinenumberEnd: 1744
    functionName: nan_de_rx_publish
    functionSourceFile: /src/hostap/src/common/nan_de.c
    functionUses: 0
    functionsReached:
    - struct nan_de*::cb::discovery_result
    - os_reltime_initialized
    - wpa_printf
    - os_get_reltime
    - nan_de_run_timer
    - nan_de_filter_match
    - nan_de_parse_csia
    - nan_de_parse_dcea
    - nan_de_get_advertise_pbm
    - nan_de_tx_multicast
    - nan_de_transmit
    - nan_de_parse_scia
    - ARRAY_SIZE
    - os_memset
    linkageType: ''
    returnType: bool
    signature: "bool nan_de_rx_publish(struct nan_de *de, struct nan_de_service *srv,\n\t\t\t
      \     const u8 *peer_addr, const u8 *a3, u8 instance_id,\n\t\t\t      const
      u8 *matching_filter,\n\t\t\t      size_t matching_filter_len,\n\t\t\t      u8
      req_instance_id, u16 sdea_control,\n\t\t\t      enum nan_service_protocol_type
      srv_proto_type,\n\t\t\t      const u8 *ssi, size_t ssi_len,\n\t\t\t      bool
      range_limit, int rssi,\n\t\t\t      const u8 *buf, size_t buf_len)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: nan_de_filter_match
      Src: /src/hostap/src/common/nan_de.c:1760,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:1766,1
    - Dst: os_reltime_initialized
      Src: /src/hostap/src/common/nan_de.c:1776,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/common/nan_de.c:1777,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:1779,1
    - Dst: nan_de_tx_sdf
      Src: /src/hostap/src/common/nan_de.c:1801,1
    - Dst: nan_de_pause_state
      Src: /src/hostap/src/common/nan_de.c:1807,1
    - Dst: struct nan_de*::cb::replied
      Src: /src/hostap/src/common/nan_de.c:1811,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 35
    argCount: 12
    argNames:
    - de
    - srv
    - peer_addr
    - a3
    - instance_id
    - matching_filter
    - matching_filter_len
    - srv_proto_type
    - ssi
    - ssi_len
    - range_limit
    - rssi
    argTypes:
    - struct nan_de*
    - struct nan_de_service*
    - u8*
    - u8*
    - u8
    - u8*
    - size_t
    - enum nan_service_protocol_type
    - u8*
    - size_t
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1815
      start: 1747
    functionDepth: 4
    functionLinenumber: 1747
    functionLinenumberEnd: 1815
    functionName: nan_de_rx_subscribe
    functionSourceFile: /src/hostap/src/common/nan_de.c
    functionUses: 0
    functionsReached:
    - os_reltime_initialized
    - wpa_printf
    - nan_de_filter_match
    - ether_addr_equal
    - nan_de_pause_state
    - struct nan_de*::cb::replied
    - nan_de_tx_sdf
    linkageType: ''
    returnType: bool
    signature: "bool nan_de_rx_subscribe(struct nan_de *de, struct nan_de_service
      *srv,\n\t\t\t\tconst u8 *peer_addr, const u8 *a3,\n\t\t\t\tu8 instance_id,\n\t\t\t\tconst
      u8 *matching_filter,\n\t\t\t\tsize_t matching_filter_len,\n\t\t\t\tenum nan_service_protocol_type
      srv_proto_type,\n\t\t\t\tconst u8 *ssi, size_t ssi_len,\n\t\t\t\tbool range_limit,
      int rssi)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_reltime_initialized
      Src: /src/hostap/src/common/nan_de.c:1827,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/common/nan_de.c:1828,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:1831,1
    - Dst: nan_de_pause_state
      Src: /src/hostap/src/common/nan_de.c:1837,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/nan_de.c:1839,1
    - Dst: struct nan_de*::cb::receive
      Src: /src/hostap/src/common/nan_de.c:1843,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 9
    argNames:
    - de
    - srv
    - peer_addr
    - a3
    - instance_id
    - ssi
    - ssi_len
    - buf
    - len
    argTypes:
    - struct nan_de*
    - struct nan_de_service*
    - u8*
    - u8*
    - u8
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1847
      start: 1818
    functionDepth: 2
    functionLinenumber: 1818
    functionLinenumberEnd: 1847
    functionName: nan_de_rx_follow_up
    functionSourceFile: /src/hostap/src/common/nan_de.c
    functionUses: 0
    functionsReached:
    - os_reltime_initialized
    - wpa_printf
    - os_memcpy
    - ether_addr_equal
    - nan_de_pause_state
    - struct nan_de*::cb::receive
    linkageType: ''
    returnType: bool
    signature: "bool nan_de_rx_follow_up(struct nan_de *de, struct nan_de_service
      *srv,\n\t\t\t\tconst u8 *peer_addr, const u8 *a3,\n\t\t\t\tu8 instance_id, const
      u8 *ssi, size_t ssi_len,\n\t\t\t\tconst u8 *buf, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/common/nan_de.c:1859,1
    - Dst: ieee80211_crc32
      Src: /src/hostap/src/common/nan_de.c:1860,1
    - Dst: BIT
      Src: /src/hostap/src/common/nan_de.c:1862,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - nmi
    - bf
    - bf_len
    - bf_idx
    argTypes:
    - u8*
    - u8*
    - size_t
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1867
      start: 1850
    functionDepth: 1
    functionLinenumber: 1850
    functionLinenumberEnd: 1867
    functionName: nan_check_bloom_filter
    functionSourceFile: /src/hostap/src/common/nan_de.c
    functionUses: 0
    functionsReached:
    - ieee80211_crc32
    - os_memcpy
    - BIT
    linkageType: ''
    returnType: bool
    signature: "bool nan_check_bloom_filter(const u8 *nmi, const u8 *bf,\n\t\t\t\t
      \  size_t bf_len, u8 bf_idx)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nan_check_bloom_filter
      Src: /src/hostap/src/common/nan_de.c:1891,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/common/nan_de.c:1896,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - de
    - srf
    - srf_len
    argTypes:
    - struct nan_de*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1905
      start: 1870
    functionDepth: 2
    functionLinenumber: 1870
    functionLinenumberEnd: 1905
    functionName: nan_srf_match
    functionSourceFile: /src/hostap/src/common/nan_de.c
    functionUses: 0
    functionsReached:
    - nan_check_bloom_filter
    - ether_addr_equal
    linkageType: ''
    returnType: bool
    signature: bool nan_srf_match(struct nan_de *de, const u8 *srf, size_t srf_len)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:1936,1
    - Dst: MAC2STR
      Src: /src/hostap/src/common/nan_de.c:1938,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:1943,1
    - Dst: nan_srf_match
      Src: /src/hostap/src/common/nan_de.c:1977,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:1978,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/nan_de.c:2003,1
    - Dst: os_memcmp
      Src: /src/hostap/src/common/nan_de.c:2013,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:2025,1
    - Dst: nan_de_get_sdea
      Src: /src/hostap/src/common/nan_de.c:2030,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:2034,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/nan_de.c:2037,1
    - Dst: nan_de_process_elem_container
      Src: /src/hostap/src/common/nan_de.c:2040,1
    - Dst: nan_de_rx_publish
      Src: /src/hostap/src/common/nan_de.c:2047,1
    - Dst: nan_de_rx_subscribe
      Src: /src/hostap/src/common/nan_de.c:2056,1
    - Dst: nan_de_rx_follow_up
      Src: /src/hostap/src/common/nan_de.c:2064,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 91
    argCount: 9
    argNames:
    - de
    - peer_addr
    - a3
    - freq
    - buf
    - len
    - sda
    - sda_len
    - rssi
    argTypes:
    - struct nan_de*
    - u8*
    - u8*
    - unsigned int
    - u8*
    - size_t
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2072
      start: 1908
    functionDepth: 6
    functionLinenumber: 1908
    functionLinenumberEnd: 2072
    functionName: nan_de_rx_sda
    functionSourceFile: /src/hostap/src/common/nan_de.c
    functionUses: 0
    functionsReached:
    - nan_de_process_elem_container
    - wpa_printf
    - nan_de_rx_subscribe
    - nan_de_get_sdea
    - wpa_hexdump
    - nan_srf_match
    - MAC2STR
    - os_memcmp
    - nan_de_rx_follow_up
    - nan_de_rx_publish
    linkageType: ''
    returnType: bool
    signature: "bool nan_de_rx_sda(struct nan_de *de, const u8 *peer_addr, const u8
      *a3,\n\t\t\t  unsigned int freq, const u8 *buf, size_t len,\n\t\t\t  const u8
      *sda, size_t sda_len, int rssi)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:2086,1
    - Dst: MAC2STR
      Src: /src/hostap/src/common/nan_de.c:2088,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/nan_de.c:2090,1
    - Dst: nan_de_get_attr
      Src: /src/hostap/src/common/nan_de.c:2093,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/common/nan_de.c:2098,1
    - Dst: nan_de_rx_sda
      Src: /src/hostap/src/common/nan_de.c:2100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 7
    argNames:
    - de
    - peer_addr
    - a3
    - freq
    - buf
    - len
    - rssi
    argTypes:
    - struct nan_de*
    - u8*
    - u8*
    - unsigned int
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2105
      start: 2075
    functionDepth: 7
    functionLinenumber: 2075
    functionLinenumberEnd: 2105
    functionName: nan_de_rx_sdf
    functionSourceFile: /src/hostap/src/common/nan_de.c
    functionUses: 3
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    - nan_de_get_attr
    - WPA_GET_LE16
    - MAC2STR
    - nan_de_rx_sda
    linkageType: ''
    returnType: bool
    signature: "bool nan_de_rx_sdf(struct nan_de *de, const u8 *peer_addr, const u8
      *a3,\n\t\t   unsigned int freq, const u8 *buf, size_t len, int rssi)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:2124,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - de
    argTypes:
    - struct nan_de*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2126
      start: 2108
    functionDepth: 0
    functionLinenumber: 2108
    functionLinenumberEnd: 2126
    functionName: nan_de_get_handle
    functionSourceFile: /src/hostap/src/common/nan_de.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int nan_de_get_handle(struct nan_de *de)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_strdup
      Src: /src/hostap/src/common/nan_de.c:2137,1
    - Dst: tolower
      Src: /src/hostap/src/common/nan_de.c:2142,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/nan_de.c:2147,1
    - Dst: sha256_vector
      Src: /src/hostap/src/common/nan_de.c:2148,1
    - Dst: os_free
      Src: /src/hostap/src/common/nan_de.c:2149,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/nan_de.c:2151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - srv
    argTypes:
    - struct nan_de_service*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2154
      start: 2129
    functionDepth: 0
    functionLinenumber: 2129
    functionLinenumberEnd: 2154
    functionName: nan_de_derive_service_id
    functionSourceFile: /src/hostap/src/common/nan_de.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - sha256_vector
    - os_memcpy
    - tolower
    - os_free
    - os_strdup
    linkageType: ''
    returnType: int
    signature: int nan_de_derive_service_id(struct nan_de_service *srv)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - de
    - id
    argTypes:
    - struct nan_de*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2167
      start: 2157
    functionDepth: 0
    functionLinenumber: 2157
    functionLinenumberEnd: 2167
    functionName: nan_de_get_service_id
    functionSourceFile: /src/hostap/src/common/nan_de.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 * nan_de_get_service_id(struct nan_de *de, int id)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:2180,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:2185,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:2191,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:2197,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:2203,1
    - Dst: nan_de_get_handle
      Src: /src/hostap/src/common/nan_de.c:2208,1
    - Dst: os_zalloc
      Src: /src/hostap/src/common/nan_de.c:2212,1
    - Dst: os_strdup
      Src: /src/hostap/src/common/nan_de.c:2219,1
    - Dst: os_memset
      Src: /src/hostap/src/common/nan_de.c:2225,1
    - Dst: nan_de_derive_service_id
      Src: /src/hostap/src/common/nan_de.c:2226,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/nan_de.c:2229,1
    - Dst: int_array_len
      Src: /src/hostap/src/common/nan_de.c:2234,1
    - Dst: os_memdup
      Src: /src/hostap/src/common/nan_de.c:2235,1
    - Dst: wpabuf_dup
      Src: /src/hostap/src/common/nan_de.c:2243,1
    - Dst: wpabuf_dup
      Src: /src/hostap/src/common/nan_de.c:2248,1
    - Dst: wpabuf_parse_bin
      Src: /src/hostap/src/common/nan_de.c:2255,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/nan_de.c:2257,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:2258,1
    - Dst: wpabuf_parse_bin
      Src: /src/hostap/src/common/nan_de.c:2266,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/nan_de.c:2268,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:2269,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/nan_de.c:2278,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:2280,1
    - Dst: MAC2STR
      Src: /src/hostap/src/common/nan_de.c:2281,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:2291,1
    - Dst: int_array_dup
      Src: /src/hostap/src/common/nan_de.c:2301,1
    - Dst: dl_list_init
      Src: /src/hostap/src/common/nan_de.c:2306,1
    - Dst: nan_crypto_pmkid_list
      Src: /src/hostap/src/common/nan_de.c:2308,1
    - Dst: nan_de_start_new_publish_state
      Src: /src/hostap/src/common/nan_de.c:2316,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:2318,1
    - Dst: nan_de_add_srv
      Src: /src/hostap/src/common/nan_de.c:2329,1
    - Dst: nan_de_run_timer
      Src: /src/hostap/src/common/nan_de.c:2330,1
    - Dst: nan_de_service_free
      Src: /src/hostap/src/common/nan_de.c:2333,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 121
    argCount: 8
    argNames:
    - de
    - service_name
    - srv_proto_type
    - ssi
    - elems
    - params
    - p2p
    - addr
    argTypes:
    - struct nan_de*
    - char*
    - enum nan_service_protocol_type
    - struct wpabuf*
    - struct wpabuf*
    - struct nan_publish_params*
    - bool
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2335
      start: 2170
    functionDepth: 3
    functionLinenumber: 2170
    functionLinenumberEnd: 2335
    functionName: nan_de_publish
    functionSourceFile: /src/hostap/src/common/nan_de.c
    functionUses: 2
    functionsReached:
    - nan_de_run_timer
    - dl_list_init
    - wpabuf_parse_bin
    - wpa_printf
    - nan_de_start_new_publish_state
    - os_memdup
    - int_array_len
    - nan_crypto_pmkid_list
    - wpabuf_dup
    - int_array_dup
    - wpabuf_len
    - nan_de_service_free
    - nan_de_derive_service_id
    - nan_de_add_srv
    - nan_de_get_handle
    - os_strdup
    - os_memset
    - os_memcpy
    - MAC2STR
    - os_zalloc
    linkageType: ''
    returnType: int
    signature: "int nan_de_publish(struct nan_de *de, const char *service_name,\n\t\t
      \  enum nan_service_protocol_type srv_proto_type,\n\t\t   const struct wpabuf
      *ssi, const struct wpabuf *elems,\n\t\t   struct nan_publish_params *params,
      bool p2p,\n\t\t   const u8 *addr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:2342,1
    - Dst: nan_de_del_srv
      Src: /src/hostap/src/common/nan_de.c:2349,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - de
    - publish_id
    argTypes:
    - struct nan_de*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2350
      start: 2338
    functionDepth: 5
    functionLinenumber: 2338
    functionLinenumberEnd: 2350
    functionName: nan_de_cancel_publish
    functionSourceFile: /src/hostap/src/common/nan_de.c
    functionUses: 4
    functionsReached:
    - wpa_printf
    - nan_de_del_srv
    linkageType: ''
    returnType: void
    signature: void nan_de_cancel_publish(struct nan_de *de, int publish_id)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:2358,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/nan_de.c:2366,1
    - Dst: wpabuf_dup
      Src: /src/hostap/src/common/nan_de.c:2370,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - de
    - publish_id
    - ssi
    argTypes:
    - struct nan_de*
    - int
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2374
      start: 2353
    functionDepth: 1
    functionLinenumber: 2353
    functionLinenumberEnd: 2374
    functionName: nan_de_update_publish
    functionSourceFile: /src/hostap/src/common/nan_de.c
    functionUses: 3
    functionsReached:
    - wpabuf_dup
    - wpa_printf
    - wpabuf_free
    linkageType: ''
    returnType: int
    signature: "int nan_de_update_publish(struct nan_de *de, int publish_id,\n\t\t\t
      \ const struct wpabuf *ssi)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:2382,1
    - Dst: MAC2STR
      Src: /src/hostap/src/common/nan_de.c:2385,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/common/nan_de.c:2394,1
    - Dst: os_reltime_initialized
      Src: /src/hostap/src/common/nan_de.c:2395,1
    - Dst: nan_de_unpause_state
      Src: /src/hostap/src/common/nan_de.c:2398,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 4
    argNames:
    - de
    - publish_id
    - peer_instance_id
    - peer_addr
    argTypes:
    - struct nan_de*
    - int
    - u8
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2400
      start: 2377
    functionDepth: 1
    functionLinenumber: 2377
    functionLinenumberEnd: 2400
    functionName: nan_de_unpause_publish
    functionSourceFile: /src/hostap/src/common/nan_de.c
    functionUses: 1
    functionsReached:
    - os_reltime_initialized
    - wpa_printf
    - nan_de_unpause_state
    - ether_addr_equal
    - MAC2STR
    linkageType: ''
    returnType: int
    signature: "int nan_de_unpause_publish(struct nan_de *de, int publish_id,\n\t\t\t
      \  u8 peer_instance_id, const u8 *peer_addr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/common/nan_de.c:2411,1
    - Dst: ieee80211_crc32
      Src: /src/hostap/src/common/nan_de.c:2412,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - bf
    - bf_idx
    - bf_len
    - mac
    argTypes:
    - u8*
    - u8
    - u8
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2416
      start: 2403
    functionDepth: 1
    functionLinenumber: 2403
    functionLinenumberEnd: 2416
    functionName: bloom_filter_add
    functionSourceFile: /src/hostap/src/common/nan_de.c
    functionUses: 0
    functionsReached:
    - ieee80211_crc32
    - os_memcpy
    linkageType: ''
    returnType: void
    signature: void bloom_filter_add(u8 *bf, u8 bf_idx, u8 bf_len, const u8 *mac)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/common/nan_de.c:2430,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:2431,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/nan_de.c:2433,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/nan_de.c:2437,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/common/nan_de.c:2439,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/common/nan_de.c:2443,1
    - Dst: hexstr2bin
      Src: /src/hostap/src/common/nan_de.c:2446,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:2448,1
    - Dst: bloom_filter_add
      Src: /src/hostap/src/common/nan_de.c:2454,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/nan_de.c:2459,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - srf_mac_list
    - srf_bf_len
    - srf_bf_idx
    argTypes:
    - char*
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2461
      start: 2419
    functionDepth: 2
    functionLinenumber: 2419
    functionLinenumberEnd: 2461
    functionName: nan_build_bloom_filter
    functionSourceFile: /src/hostap/src/common/nan_de.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - wpabuf_put
    - hexstr2bin
    - wpabuf_free
    - wpabuf_alloc
    - bloom_filter_add
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * nan_build_bloom_filter(const char *srf_mac_list,\n\t\t\t\t\t
      \     u8 srf_bf_len, u8 srf_bf_idx)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:2474,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:2479,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:2485,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:2491,1
    - Dst: nan_de_get_handle
      Src: /src/hostap/src/common/nan_de.c:2496,1
    - Dst: os_zalloc
      Src: /src/hostap/src/common/nan_de.c:2500,1
    - Dst: os_strdup
      Src: /src/hostap/src/common/nan_de.c:2507,1
    - Dst: os_memset
      Src: /src/hostap/src/common/nan_de.c:2513,1
    - Dst: nan_de_derive_service_id
      Src: /src/hostap/src/common/nan_de.c:2514,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/nan_de.c:2517,1
    - Dst: int_array_len
      Src: /src/hostap/src/common/nan_de.c:2522,1
    - Dst: os_memdup
      Src: /src/hostap/src/common/nan_de.c:2523,1
    - Dst: wpabuf_dup
      Src: /src/hostap/src/common/nan_de.c:2531,1
    - Dst: wpabuf_dup
      Src: /src/hostap/src/common/nan_de.c:2536,1
    - Dst: wpabuf_parse_bin
      Src: /src/hostap/src/common/nan_de.c:2543,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/nan_de.c:2545,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:2546,1
    - Dst: wpabuf_parse_bin
      Src: /src/hostap/src/common/nan_de.c:2554,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/nan_de.c:2556,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:2557,1
    - Dst: nan_build_bloom_filter
      Src: /src/hostap/src/common/nan_de.c:2565,1
    - Dst: wpabuf_parse_bin
      Src: /src/hostap/src/common/nan_de.c:2571,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/nan_de.c:2572,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:2573,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/nan_de.c:2579,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:2580,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/nan_de.c:2589,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:2591,1
    - Dst: MAC2STR
      Src: /src/hostap/src/common/nan_de.c:2592,1
    - Dst: dl_list_init
      Src: /src/hostap/src/common/nan_de.c:2595,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:2597,1
    - Dst: nan_de_add_srv
      Src: /src/hostap/src/common/nan_de.c:2607,1
    - Dst: nan_de_run_timer
      Src: /src/hostap/src/common/nan_de.c:2608,1
    - Dst: nan_de_service_free
      Src: /src/hostap/src/common/nan_de.c:2611,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 115
    argCount: 8
    argNames:
    - de
    - service_name
    - srv_proto_type
    - ssi
    - elems
    - params
    - p2p
    - addr
    argTypes:
    - struct nan_de*
    - char*
    - enum nan_service_protocol_type
    - struct wpabuf*
    - struct wpabuf*
    - struct nan_subscribe_params*
    - bool
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2613
      start: 2464
    functionDepth: 3
    functionLinenumber: 2464
    functionLinenumberEnd: 2613
    functionName: nan_de_subscribe
    functionSourceFile: /src/hostap/src/common/nan_de.c
    functionUses: 2
    functionsReached:
    - wpabuf_dup
    - wpa_printf
    - os_memcpy
    - nan_de_run_timer
    - nan_de_get_handle
    - os_memdup
    - wpabuf_len
    - nan_de_service_free
    - nan_de_derive_service_id
    - os_zalloc
    - int_array_len
    - MAC2STR
    - dl_list_init
    - nan_de_add_srv
    - wpabuf_parse_bin
    - os_strdup
    - nan_build_bloom_filter
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int nan_de_subscribe(struct nan_de *de, const char *service_name,\n\t\t
      \    enum nan_service_protocol_type srv_proto_type,\n\t\t     const struct wpabuf
      *ssi, const struct wpabuf *elems,\n\t\t     struct nan_subscribe_params *params,
      bool p2p,\n\t\t     const u8 *addr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nan_de_del_srv
      Src: /src/hostap/src/common/nan_de.c:2625,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - de
    - subscribe_id
    argTypes:
    - struct nan_de*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2626
      start: 2616
    functionDepth: 5
    functionLinenumber: 2616
    functionLinenumberEnd: 2626
    functionName: nan_de_cancel_subscribe
    functionSourceFile: /src/hostap/src/common/nan_de.c
    functionUses: 4
    functionsReached:
    - nan_de_del_srv
    linkageType: ''
    returnType: void
    signature: void nan_de_cancel_subscribe(struct nan_de *de, int subscribe_id)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:2646,1
    - Dst: nan_de_tx_sdf
      Src: /src/hostap/src/common/nan_de.c:2662,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 8
    argNames:
    - de
    - handle
    - ssi
    - elems
    - peer_addr
    - req_instance_id
    - nan_attrs
    - cookie
    argTypes:
    - struct nan_de*
    - int
    - struct wpabuf*
    - struct wpabuf*
    - u8*
    - u8
    - struct wpabuf*
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2668
      start: 2629
    functionDepth: 4
    functionLinenumber: 2629
    functionLinenumberEnd: 2668
    functionName: nan_de_transmit
    functionSourceFile: /src/hostap/src/common/nan_de.c
    functionUses: 4
    functionsReached:
    - wpa_printf
    - nan_de_tx_sdf
    linkageType: ''
    returnType: int
    signature: "int nan_de_transmit(struct nan_de *de, int handle,\n\t\t    const
      struct wpabuf *ssi, const struct wpabuf *elems,\n\t\t    const u8 *peer_addr,
      u8 req_instance_id,\n\t\t    const struct wpabuf *nan_attrs, u32 *cookie)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - de
    - handle
    argTypes:
    - struct nan_de*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2683
      start: 2671
    functionDepth: 0
    functionLinenumber: 2671
    functionLinenumberEnd: 2683
    functionName: nan_de_stop_listen
    functionSourceFile: /src/hostap/src/common/nan_de.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int nan_de_stop_listen(struct nan_de *de, int handle)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:2696,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:2704,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:2711,1
    - Dst: os_memset
      Src: /src/hostap/src/common/nan_de.c:2718,1
    - Dst: nan_de_run_timer
      Src: /src/hostap/src/common/nan_de.c:2721,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 23
    argCount: 2
    argNames:
    - de
    - cfg
    argTypes:
    - struct nan_de*
    - struct nan_de_cfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2724
      start: 2686
    functionDepth: 1
    functionLinenumber: 2686
    functionLinenumberEnd: 2724
    functionName: nan_de_config
    functionSourceFile: /src/hostap/src/common/nan_de.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - nan_de_run_timer
    - os_memset
    linkageType: ''
    returnType: int
    signature: int nan_de_config(struct nan_de *de, struct nan_de_cfg *cfg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:2735,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/common/nan_de.c:2739,1
    - Dst: nan_de_srv_expired
      Src: /src/hostap/src/common/nan_de.c:2746,1
    - Dst: nan_de_del_srv
      Src: /src/hostap/src/common/nan_de.c:2747,1
    - Dst: nan_de_tx_multicast
      Src: /src/hostap/src/common/nan_de.c:2754,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 2
    argNames:
    - de
    - freq
    argTypes:
    - struct nan_de*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2757
      start: 2727
    functionDepth: 5
    functionLinenumber: 2727
    functionLinenumberEnd: 2757
    functionName: nan_de_dw_trigger
    functionSourceFile: /src/hostap/src/common/nan_de.c
    functionUses: 1
    functionsReached:
    - nan_de_del_srv
    - os_get_reltime
    - wpa_printf
    - nan_de_tx_multicast
    - nan_de_srv_expired
    linkageType: ''
    returnType: void
    signature: void nan_de_dw_trigger(struct nan_de *de, int freq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/common/nan_de.c:2763,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - de
    - cluster_id
    argTypes:
    - struct nan_de*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2768
      start: 2760
    functionDepth: 0
    functionLinenumber: 2760
    functionLinenumberEnd: 2768
    functionName: nan_de_set_cluster_id
    functionSourceFile: /src/hostap/src/common/nan_de.c
    functionUses: 2
    functionsReached:
    - os_memcpy
    linkageType: ''
    returnType: void
    signature: void nan_de_set_cluster_id(struct nan_de *de, const u8 *cluster_id)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/common/nan_de.c:2788,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 4
    argNames:
    - de
    - handle
    - publish
    - service_id
    argTypes:
    - struct nan_de*
    - int
    - bool
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2790
      start: 2771
    functionDepth: 0
    functionLinenumber: 2771
    functionLinenumberEnd: 2790
    functionName: nan_de_is_valid_instance_id
    functionSourceFile: /src/hostap/src/common/nan_de.c
    functionUses: 3
    functionsReached:
    - os_memcpy
    linkageType: ''
    returnType: bool
    signature: "bool nan_de_is_valid_instance_id(struct nan_de *de, int handle,\n\t\t\t\t
      bool publish, u8 *service_id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - de
    - handle
    argTypes:
    - struct nan_de*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2805
      start: 2793
    functionDepth: 0
    functionLinenumber: 2793
    functionLinenumberEnd: 2805
    functionName: nan_de_get_service_bootstrap_methods
    functionSourceFile: /src/hostap/src/common/nan_de.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: u16
    signature: u16 nan_de_get_service_bootstrap_methods(struct nan_de *de, int handle)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: int_array_includes
      Src: /src/hostap/src/common/nan_de.c:2828,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - de
    - handle
    - csid
    argTypes:
    - struct nan_de*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2829
      start: 2808
    functionDepth: 1
    functionLinenumber: 2808
    functionLinenumberEnd: 2829
    functionName: nan_de_service_supports_csid
    functionSourceFile: /src/hostap/src/common/nan_de.c
    functionUses: 2
    functionsReached:
    - int_array_includes
    linkageType: ''
    returnType: bool
    signature: bool nan_de_service_supports_csid(struct nan_de *de, int handle, int
      csid)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - type
    argTypes:
    - enum nan_de_service_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2842
      start: 2832
    functionDepth: 0
    functionLinenumber: 2832
    functionLinenumberEnd: 2842
    functionName: nan_de_service_type2str
    functionSourceFile: /src/hostap/src/common/nan_de.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * nan_de_service_type2str(enum nan_de_service_type type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/src/common/nan_de.c:2857,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/common/nan_de.c:2859,1
    - Dst: os_snprintf
      Src: /src/hostap/src/common/nan_de.c:2869,1
    - Dst: nan_de_service_type2str
      Src: /src/hostap/src/common/nan_de.c:2872,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/common/nan_de.c:2875,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - de
    - buf
    - buflen
    argTypes:
    - struct nan_de*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2881
      start: 2845
    functionDepth: 1
    functionLinenumber: 2845
    functionLinenumberEnd: 2881
    functionName: nan_de_get_status
    functionSourceFile: /src/hostap/src/common/nan_de.c
    functionUses: 1
    functionsReached:
    - os_snprintf
    - nan_de_service_type2str
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: int nan_de_get_status(struct nan_de *de, char *buf, size_t buflen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/nan_de.c:2888,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - de
    - prot
    argTypes:
    - struct nan_de*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2893
      start: 2886
    functionDepth: 0
    functionLinenumber: 2886
    functionLinenumberEnd: 2893
    functionName: nan_de_set_tx_mcast_follow_up_prot
    functionSourceFile: /src/hostap/src/common/nan_de.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void nan_de_set_tx_mcast_follow_up_prot(struct nan_de *de, bool prot)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ieee80211_chan_to_freq
      Src: /src/hostap/src/common/ocv.c:26,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ocv.c:28,1
    - Dst: get_oper_class
      Src: /src/hostap/src/common/ocv.c:34,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ocv.c:36,1
    - Dst: oper_class_bw_to_int
      Src: /src/hostap/src/common/ocv.c:42,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - oci
    argTypes:
    - struct oci_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 22
    functionDepth: 3
    functionLinenumber: 22
    functionLinenumberEnd: 52
    functionName: ocv_derive_all_parameters
    functionSourceFile: /src/hostap/src/common/ocv.c
    functionUses: 0
    functionsReached:
    - get_oper_class
    - oper_class_bw_to_int
    - wpa_printf
    - ieee80211_chan_to_freq
    linkageType: ''
    returnType: int
    signature: int ocv_derive_all_parameters(struct oci_info *oci)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ieee80211_chaninfo_to_channel
      Src: /src/hostap/src/common/ocv.c:60,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/ocv.c:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - ci
    - argpos
    argTypes:
    - struct wpa_channel_info*
    - u8**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 74
    functionName: ocv_insert_oci
    functionSourceFile: /src/hostap/src/common/ocv.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - ieee80211_chaninfo_to_channel
    linkageType: ''
    returnType: int
    signature: int ocv_insert_oci(struct wpa_channel_info *ci, u8 **argpos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/common/ocv.c:83,1
    - Dst: ocv_insert_oci
      Src: /src/hostap/src/common/ocv.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ci
    - argpos
    argTypes:
    - struct wpa_channel_info*
    - u8**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 77
    functionDepth: 3
    functionLinenumber: 77
    functionLinenumberEnd: 88
    functionName: ocv_insert_oci_kde
    functionSourceFile: /src/hostap/src/common/ocv.c
    functionUses: 3
    functionsReached:
    - RSN_SELECTOR_PUT
    - ocv_insert_oci
    linkageType: ''
    returnType: int
    signature: int ocv_insert_oci_kde(struct wpa_channel_info *ci, u8 **argpos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ocv_insert_oci
      Src: /src/hostap/src/common/ocv.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ci
    - pos
    argTypes:
    - struct wpa_channel_info*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 3
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: ocv_insert_extended_oci
    functionSourceFile: /src/hostap/src/common/ocv.c
    functionUses: 10
    functionsReached:
    - ocv_insert_oci
    linkageType: ''
    returnType: int
    signature: int ocv_insert_extended_oci(struct wpa_channel_info *ci, u8 *pos)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/src/common/ocv.c:108,1
    - Dst: os_snprintf
      Src: /src/hostap/src/common/ocv.c:114,1
    - Dst: os_memset
      Src: /src/hostap/src/common/ocv.c:120,1
    - Dst: ocv_derive_all_parameters
      Src: /src/hostap/src/common/ocv.c:124,1
    - Dst: os_snprintf
      Src: /src/hostap/src/common/ocv.c:125,1
    - Dst: os_snprintf
      Src: /src/hostap/src/common/ocv.c:132,1
    - Dst: os_snprintf
      Src: /src/hostap/src/common/ocv.c:141,1
    - Dst: os_snprintf
      Src: /src/hostap/src/common/ocv.c:155,1
    - Dst: os_snprintf
      Src: /src/hostap/src/common/ocv.c:167,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 5
    argNames:
    - oci_ie
    - oci_ie_len
    - ci
    - tx_chanwidth
    - tx_seg1_idx
    argTypes:
    - u8*
    - size_t
    - struct wpa_channel_info*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 100
    functionDepth: 4
    functionLinenumber: 100
    functionLinenumberEnd: 174
    functionName: ocv_verify_tx_params
    functionSourceFile: /src/hostap/src/common/ocv.c
    functionUses: 15
    functionsReached:
    - os_snprintf
    - ocv_derive_all_parameters
    - os_memset
    linkageType: ''
    returnType: enum oci_verify_result
    signature: "enum oci_verify_result ocv_verify_tx_params(const u8 *oci_ie, size_t
      oci_ie_len,\n\t\t     struct wpa_channel_info *ci, int tx_chanwidth,\n\t\t     int
      tx_seg1_idx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - csid
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 555
    functionName: NAN_CS_IS_128
    functionSourceFile: /src/hostap/src/common/nan_defs.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NAN_CS_IS_128(csid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - csid
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 557
    functionName: NAN_CS_IS_256
    functionSourceFile: /src/hostap/src/common/nan_defs.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NAN_CS_IS_256(csid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - csid
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 559
    functionName: NAN_CS_IS_VALID_NDP
    functionSourceFile: /src/hostap/src/common/nan_defs.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NAN_CS_IS_VALID_NDP(csid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - csid
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 561
    functionName: NAN_CS_IS_PASN
    functionSourceFile: /src/hostap/src/common/nan_defs.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NAN_CS_IS_PASN(csid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: valid_country_ch
    functionSourceFile: /src/hostap/src/common/proximity_ranging.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool valid_country_ch(char c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/proximity_ranging.c:28,1
    - Dst: wpa_pasn_reset
      Src: /src/hostap/src/common/proximity_ranging.c:30,1
    - Dst: pasn_data_deinit
      Src: /src/hostap/src/common/proximity_ranging.c:31,1
    - Dst: os_free
      Src: /src/hostap/src/common/proximity_ranging.c:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pr
    - dev
    argTypes:
    - struct pr_data*
    - struct pr_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 35
    functionName: pr_device_free
    functionSourceFile: /src/hostap/src/common/proximity_ranging.c
    functionUses: 0
    functionsReached:
    - wpa_pasn_reset
    - os_free
    - pasn_data_deinit
    - wpabuf_free
    linkageType: ''
    returnType: void
    signature: void pr_device_free(struct pr_data *pr, struct pr_device *dev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/common/proximity_ranging.c:42,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/common/proximity_ranging.c:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pr
    - addr
    argTypes:
    - struct pr_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 47
    functionName: pr_get_device
    functionSourceFile: /src/hostap/src/common/proximity_ranging.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    - ether_addr_equal
    linkageType: ''
    returnType: struct pr_device
    signature: struct pr_device * pr_get_device(struct pr_data *pr, const u8 *addr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pr_get_device
      Src: /src/hostap/src/common/proximity_ranging.c:55,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/common/proximity_ranging.c:59,1
    - Dst: os_reltime_before
      Src: /src/hostap/src/common/proximity_ranging.c:62,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:66,1
    - Dst: MAC2STR
      Src: /src/hostap/src/common/proximity_ranging.c:68,1
    - Dst: dl_list_del
      Src: /src/hostap/src/common/proximity_ranging.c:69,1
    - Dst: pr_device_free
      Src: /src/hostap/src/common/proximity_ranging.c:70,1
    - Dst: os_zalloc
      Src: /src/hostap/src/common/proximity_ranging.c:73,1
    - Dst: dl_list_add
      Src: /src/hostap/src/common/proximity_ranging.c:77,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/proximity_ranging.c:78,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:79,1
    - Dst: MAC2STR
      Src: /src/hostap/src/common/proximity_ranging.c:80,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - pr
    - addr
    argTypes:
    - struct pr_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 50
    functionDepth: 3
    functionLinenumber: 50
    functionLinenumberEnd: 83
    functionName: pr_create_device
    functionSourceFile: /src/hostap/src/common/proximity_ranging.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - dl_list_del
    - pr_get_device
    - dl_list_for_each
    - MAC2STR
    - os_zalloc
    - dl_list_add
    - pr_device_free
    - os_reltime_before
    linkageType: ''
    returnType: struct pr_device
    signature: struct pr_device * pr_create_device(struct pr_data *pr, const u8 *addr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/common/proximity_ranging.c:90,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/proximity_ranging.c:95,1
    - Dst: os_strdup
      Src: /src/hostap/src/common/proximity_ranging.c:97,1
    - Dst: dl_list_init
      Src: /src/hostap/src/common/proximity_ranging.c:101,1
    - Dst: dl_list_init
      Src: /src/hostap/src/common/proximity_ranging.c:102,1
    - Dst: pasn_initiator_pmksa_cache_init
      Src: /src/hostap/src/common/proximity_ranging.c:105,1
    - Dst: pasn_responder_pmksa_cache_init
      Src: /src/hostap/src/common/proximity_ranging.c:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - struct pr_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 110
    functionName: pr_init
    functionSourceFile: /src/hostap/src/common/proximity_ranging.c
    functionUses: 2
    functionsReached:
    - os_memcpy
    - pasn_responder_pmksa_cache_init
    - os_zalloc
    - dl_list_init
    - pasn_initiator_pmksa_cache_init
    - os_strdup
    linkageType: ''
    returnType: struct pr_data
    signature: struct pr_data * pr_init(const struct pr_config *cfg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/common/proximity_ranging.c:117,1
    - Dst: dl_list_del
      Src: /src/hostap/src/common/proximity_ranging.c:119,1
    - Dst: os_free
      Src: /src/hostap/src/common/proximity_ranging.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pr
    argTypes:
    - struct pr_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 122
    functionName: pr_deinit_dev_iks
    functionSourceFile: /src/hostap/src/common/proximity_ranging.c
    functionUses: 0
    functionsReached:
    - os_free
    - dl_list_del
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: void pr_deinit_dev_iks(struct pr_data *pr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pasn_initiator_pmksa_cache_flush
      Src: /src/hostap/src/common/proximity_ranging.c:129,1
    - Dst: pasn_responder_pmksa_cache_flush
      Src: /src/hostap/src/common/proximity_ranging.c:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pr
    argTypes:
    - struct pr_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 125
    functionDepth: 3
    functionLinenumber: 125
    functionLinenumberEnd: 133
    functionName: pr_flush
    functionSourceFile: /src/hostap/src/common/proximity_ranging.c
    functionUses: 2
    functionsReached:
    - pasn_initiator_pmksa_cache_flush
    - pasn_responder_pmksa_cache_flush
    linkageType: ''
    returnType: void
    signature: void pr_flush(struct pr_data *pr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/common/proximity_ranging.c:142,1
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/common/proximity_ranging.c:144,1
    - Dst: dl_list_del
      Src: /src/hostap/src/common/proximity_ranging.c:145,1
    - Dst: pr_device_free
      Src: /src/hostap/src/common/proximity_ranging.c:146,1
    - Dst: pr_deinit_dev_iks
      Src: /src/hostap/src/common/proximity_ranging.c:149,1
    - Dst: os_free
      Src: /src/hostap/src/common/proximity_ranging.c:152,1
    - Dst: pasn_initiator_pmksa_cache_deinit
      Src: /src/hostap/src/common/proximity_ranging.c:156,1
    - Dst: pasn_responder_pmksa_cache_deinit
      Src: /src/hostap/src/common/proximity_ranging.c:157,1
    - Dst: os_free
      Src: /src/hostap/src/common/proximity_ranging.c:160,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - pr
    argTypes:
    - struct pr_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 162
    functionName: pr_deinit
    functionSourceFile: /src/hostap/src/common/proximity_ranging.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - pr_deinit_dev_iks
    - dl_list_del
    - pasn_responder_pmksa_cache_deinit
    - os_free
    - pasn_initiator_pmksa_cache_deinit
    - pr_device_free
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: void pr_deinit(struct pr_data *pr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/common/proximity_ranging.c:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - pr
    - addr
    argTypes:
    - struct pr_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionName: pr_set_dev_addr
    functionSourceFile: /src/hostap/src/common/proximity_ranging.c
    functionUses: 3
    functionsReached:
    - os_memcpy
    linkageType: ''
    returnType: void
    signature: void pr_set_dev_addr(struct pr_data *pr, const u8 *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/common/proximity_ranging.c:177,1
    - Dst: os_memset
      Src: /src/hostap/src/common/proximity_ranging.c:179,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/common/proximity_ranging.c:182,1
    - Dst: os_memset
      Src: /src/hostap/src/common/proximity_ranging.c:184,1
    - Dst: os_memset
      Src: /src/hostap/src/common/proximity_ranging.c:186,1
    - Dst: pr_deinit_dev_iks
      Src: /src/hostap/src/common/proximity_ranging.c:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - pr
    argTypes:
    - struct pr_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 190
    functionName: pr_clear_dev_iks
    functionSourceFile: /src/hostap/src/common/proximity_ranging.c
    functionUses: 1
    functionsReached:
    - dl_list_for_each
    - pr_deinit_dev_iks
    - os_memset
    linkageType: ''
    returnType: void
    signature: void pr_clear_dev_iks(struct pr_data *pr)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/common/proximity_ranging.c:199,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/common/proximity_ranging.c:202,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:210,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/common/proximity_ranging.c:214,1
    - Dst: os_memcmp
      Src: /src/hostap/src/common/proximity_ranging.c:215,1
    - Dst: dl_list_del
      Src: /src/hostap/src/common/proximity_ranging.c:216,1
    - Dst: os_free
      Src: /src/hostap/src/common/proximity_ranging.c:217,1
    - Dst: os_zalloc
      Src: /src/hostap/src/common/proximity_ranging.c:222,1
    - Dst: dl_list_add
      Src: /src/hostap/src/common/proximity_ranging.c:226,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/proximity_ranging.c:227,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/common/proximity_ranging.c:229,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/proximity_ranging.c:234,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:239,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 6
    argNames:
    - pr
    - dik
    - password
    - pmk
    - pmk_len
    - own
    argTypes:
    - struct pr_data*
    - u8*
    - char*
    - u8*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 240
    functionName: pr_add_dev_ik
    functionSourceFile: /src/hostap/src/common/proximity_ranging.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    - wpa_printf
    - dl_list_del
    - os_strlcpy
    - dl_list_for_each
    - os_zalloc
    - dl_list_add
    - os_memcmp
    - os_free
    linkageType: ''
    returnType: void
    signature: "void pr_add_dev_ik(struct pr_data *pr, const u8 *dik, const char *password,\n\t\t
      \  const u8 *pmk, size_t pmk_len, bool own)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pr_get_device
      Src: /src/hostap/src/common/proximity_ranging.c:252,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:254,1
    - Dst: MAC2STR
      Src: /src/hostap/src/common/proximity_ranging.c:255,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/proximity_ranging.c:262,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:265,1
    - Dst: MAC2STR
      Src: /src/hostap/src/common/proximity_ranging.c:265,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/proximity_ranging.c:269,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/common/proximity_ranging.c:271,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:273,1
    - Dst: MAC2STR
      Src: /src/hostap/src/common/proximity_ranging.c:274,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 5
    argNames:
    - pr
    - addr
    - pmk
    - pmk_len
    - password
    argTypes:
    - struct pr_data*
    - u8*
    - u8*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 243
    functionDepth: 2
    functionLinenumber: 243
    functionLinenumberEnd: 278
    functionName: pr_set_peer_credentials
    functionSourceFile: /src/hostap/src/common/proximity_ranging.c
    functionUses: 1
    functionsReached:
    - os_strlen
    - wpa_printf
    - os_memcpy
    - pr_get_device
    - os_strlcpy
    - MAC2STR
    linkageType: ''
    returnType: int
    signature: "int pr_set_peer_credentials(struct pr_data *pr, const u8 *addr,\n\t\t\t
      \   const u8 *pmk, size_t pmk_len,\n\t\t\t    const char *password)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/proximity_ranging.c:291,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/common/proximity_ranging.c:292,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/proximity_ranging.c:296,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/proximity_ranging.c:297,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/proximity_ranging.c:304,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/proximity_ranging.c:305,1
    - Dst: wpabuf_put_be32
      Src: /src/hostap/src/common/proximity_ranging.c:306,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/common/proximity_ranging.c:307,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - subelems
    - ie_type
    argTypes:
    - struct wpabuf*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 311
    functionName: pr_encaps_elem
    functionSourceFile: /src/hostap/src/common/proximity_ranging.c
    functionUses: 0
    functionsReached:
    - wpabuf_put_u8
    - wpabuf_put_data
    - wpabuf_len
    - wpabuf_head
    - wpabuf_alloc
    - wpabuf_put_be32
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * pr_encaps_elem(const struct wpabuf *subelems,\n\t\t\t\t
      \     u32 ie_type)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/common/proximity_ranging.c:317,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/common/proximity_ranging.c:320,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - pr
    - capab
    argTypes:
    - struct pr_data*
    - struct pr_capabilities*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 332
    functionName: pr_get_ranging_capabilities
    functionSourceFile: /src/hostap/src/common/proximity_ranging.c
    functionUses: 0
    functionsReached:
    - os_strlcpy
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void pr_get_ranging_capabilities(struct pr_data *pr,\n\t\t\t\t\tstruct
      pr_capabilities *capab)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/common/proximity_ranging.c:340,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/proximity_ranging.c:343,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/proximity_ranging.c:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - pr
    - capab
    argTypes:
    - struct pr_data*
    - struct edca_capabilities*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 355
    functionName: pr_get_edca_capabilities
    functionSourceFile: /src/hostap/src/common/proximity_ranging.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void pr_get_edca_capabilities(struct pr_data *pr,\n\t\t\t\t     struct
      edca_capabilities *capab)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/common/proximity_ranging.c:363,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/proximity_ranging.c:366,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/proximity_ranging.c:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 2
    argNames:
    - pr
    - capab
    argTypes:
    - struct pr_data*
    - struct ntb_capabilities*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 394
    functionName: pr_get_ntb_capabilities
    functionSourceFile: /src/hostap/src/common/proximity_ranging.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void pr_get_ntb_capabilities(struct pr_data *pr,\n\t\t\t\t    struct
      ntb_capabilities *capab)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:405,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:411,1
    - Dst: os_memset
      Src: /src/hostap/src/common/proximity_ranging.c:416,1
    - Dst: os_get_random
      Src: /src/hostap/src/common/proximity_ranging.c:418,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:419,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/proximity_ranging.c:426,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/proximity_ranging.c:427,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/proximity_ranging.c:428,1
    - Dst: hmac_sha256
      Src: /src/hostap/src/common/proximity_ranging.c:431,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:433,1
    - Dst: os_memset
      Src: /src/hostap/src/common/proximity_ranging.c:437,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/proximity_ranging.c:440,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/proximity_ranging.c:442,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/proximity_ranging.c:444,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/proximity_ranging.c:446,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/proximity_ranging.c:447,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 3
    argNames:
    - pr
    - src_addr
    - dira
    argTypes:
    - struct pr_data*
    - u8*
    - struct pr_dira*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 450
    functionName: pr_derive_dira
    functionSourceFile: /src/hostap/src/common/proximity_ranging.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_hexdump_key
    - wpa_hexdump
    - hmac_sha256
    - os_get_random
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int pr_derive_dira(struct pr_data *pr, const u8 *src_addr,\n\t\t\t
      \ struct pr_dira *dira)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/common/proximity_ranging.c:465,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:470,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:477,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/common/proximity_ranging.c:497,1
    - Dst: hmac_sha256_vector
      Src: /src/hostap/src/common/proximity_ranging.c:498,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:501,1
    - Dst: os_memcmp
      Src: /src/hostap/src/common/proximity_ranging.c:506,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:507,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/common/proximity_ranging.c:509,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/proximity_ranging.c:514,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/proximity_ranging.c:519,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 4
    argNames:
    - pr
    - dev
    - dira
    - dira_len
    argTypes:
    - struct pr_data*
    - struct pr_device*
    - u8*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 527
    functionName: pr_validate_dira
    functionSourceFile: /src/hostap/src/common/proximity_ranging.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - os_strlcpy
    - dl_list_for_each
    - os_memcmp
    - hmac_sha256_vector
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int pr_validate_dira(struct pr_data *pr, struct pr_device *dev,\n\t\t\t
      \   const u8 *dira, u16 dira_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/common/proximity_ranging.c:538,1
    - Dst: is_6ghz_op_class
      Src: /src/hostap/src/common/proximity_ranging.c:543,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/proximity_ranging.c:545,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - dst
    - src
    - allow_6ghz
    argTypes:
    - struct pr_channels*
    - struct pr_channels*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 532
    functionDepth: 1
    functionLinenumber: 532
    functionLinenumberEnd: 550
    functionName: pr_copy_channels
    functionSourceFile: /src/hostap/src/common/proximity_ranging.c
    functionUses: 0
    functionsReached:
    - is_6ghz_op_class
    - os_memcpy
    linkageType: ''
    returnType: void
    signature: "void pr_copy_channels(struct pr_channels *dst,\n\t\t\t     const struct
      pr_channels *src, bool allow_6ghz)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - a
    - b
    - res
    argTypes:
    - struct pr_op_class*
    - struct pr_op_class*
    - struct pr_op_class*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 570
    functionName: pr_op_class_intersect
    functionSourceFile: /src/hostap/src/common/proximity_ranging.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void pr_op_class_intersect(const struct pr_op_class *a,\n\t\t\t\t
      \ const struct pr_op_class *b,\n\t\t\t\t  struct pr_op_class *res)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/common/proximity_ranging.c:593,1
    - Dst: pr_op_class_intersect
      Src: /src/hostap/src/common/proximity_ranging.c:601,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - a
    - b
    - res
    argTypes:
    - struct pr_channels*
    - struct pr_channels*
    - struct pr_channels*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 585
    functionDepth: 1
    functionLinenumber: 585
    functionLinenumberEnd: 610
    functionName: pr_channels_intersect
    functionSourceFile: /src/hostap/src/common/proximity_ranging.c
    functionUses: 0
    functionsReached:
    - pr_op_class_intersect
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void pr_channels_intersect(const struct pr_channels *a,\n\t\t\t\t
      \ const struct pr_channels *b,\n\t\t\t\t  struct pr_channels *res)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/common/proximity_ranging.c:620,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/proximity_ranging.c:621,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/proximity_ranging.c:627,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/proximity_ranging.c:628,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/common/proximity_ranging.c:629,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - buf
    - country
    - chan
    argTypes:
    - struct wpabuf*
    - char*
    - struct pr_channels*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 615
    functionDepth: 1
    functionLinenumber: 615
    functionLinenumberEnd: 631
    functionName: pr_buf_add_channel_list
    functionSourceFile: /src/hostap/src/common/proximity_ranging.c
    functionUses: 0
    functionsReached:
    - wpabuf_put_u8
    - wpabuf_put_data
    linkageType: ''
    returnType: void
    signature: "void pr_buf_add_channel_list(struct wpabuf *buf, const char *country,\n\t\t\t\t
      \   const struct pr_channels *chan)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/proximity_ranging.c:643,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/common/proximity_ranging.c:644,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/proximity_ranging.c:653,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/proximity_ranging.c:656,1
    - Dst: BIT
      Src: /src/hostap/src/common/proximity_ranging.c:660,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/proximity_ranging.c:662,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/common/proximity_ranging.c:665,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:666,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/common/proximity_ranging.c:668,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/common/proximity_ranging.c:669,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/proximity_ranging.c:670,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - buf
    - capab
    argTypes:
    - struct wpabuf*
    - struct pr_capabilities*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 634
    functionDepth: 1
    functionLinenumber: 634
    functionLinenumberEnd: 671
    functionName: pr_buf_add_ranging_capa_info
    functionSourceFile: /src/hostap/src/common/proximity_ranging.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put
    - wpabuf_put_data
    - wpabuf_put_u8
    - wpa_hexdump
    - BIT
    - WPA_PUT_LE16
    linkageType: ''
    returnType: void
    signature: "void pr_buf_add_ranging_capa_info(struct wpabuf *buf,\n\t\t\t\t\t
      const struct pr_capabilities *capab)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/proximity_ranging.c:682,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/common/proximity_ranging.c:683,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/proximity_ranging.c:690,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/proximity_ranging.c:693,1
    - Dst: pr_buf_add_channel_list
      Src: /src/hostap/src/common/proximity_ranging.c:695,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/common/proximity_ranging.c:697,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/common/proximity_ranging.c:698,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/proximity_ranging.c:699,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - buf
    - edca_data
    argTypes:
    - struct wpabuf*
    - struct edca_capabilities*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 674
    functionDepth: 2
    functionLinenumber: 674
    functionLinenumberEnd: 701
    functionName: pr_buf_add_edca_capa_info
    functionSourceFile: /src/hostap/src/common/proximity_ranging.c
    functionUses: 0
    functionsReached:
    - wpabuf_put
    - wpabuf_put_u8
    - wpa_hexdump
    - pr_buf_add_channel_list
    - wpabuf_put_le16
    - WPA_PUT_LE16
    linkageType: ''
    returnType: void
    signature: "void pr_buf_add_edca_capa_info(struct wpabuf *buf,\n\t\t\t\t      const
      struct edca_capabilities *edca_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/proximity_ranging.c:712,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/common/proximity_ranging.c:713,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/proximity_ranging.c:720,1
    - Dst: wpabuf_put_le32
      Src: /src/hostap/src/common/proximity_ranging.c:723,1
    - Dst: pr_buf_add_channel_list
      Src: /src/hostap/src/common/proximity_ranging.c:725,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/common/proximity_ranging.c:727,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/common/proximity_ranging.c:728,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/proximity_ranging.c:729,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - buf
    - ntb_data
    argTypes:
    - struct wpabuf*
    - struct ntb_capabilities*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 704
    functionDepth: 2
    functionLinenumber: 704
    functionLinenumberEnd: 730
    functionName: pr_buf_add_ntb_capa_info
    functionSourceFile: /src/hostap/src/common/proximity_ranging.c
    functionUses: 0
    functionsReached:
    - wpabuf_put
    - wpabuf_put_le32
    - wpabuf_put_u8
    - wpa_hexdump
    - pr_buf_add_channel_list
    - WPA_PUT_LE16
    linkageType: ''
    returnType: void
    signature: "void pr_buf_add_ntb_capa_info(struct wpabuf *buf,\n\t\t\t\t     const
      struct ntb_capabilities *ntb_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/proximity_ranging.c:739,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/common/proximity_ranging.c:742,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/proximity_ranging.c:744,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/common/proximity_ranging.c:745,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/common/proximity_ranging.c:746,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/common/proximity_ranging.c:749,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/common/proximity_ranging.c:750,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:752,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - buf
    - dira
    argTypes:
    - struct wpabuf*
    - struct pr_dira*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 733
    functionDepth: 1
    functionLinenumber: 733
    functionLinenumberEnd: 753
    functionName: pr_buf_add_dira
    functionSourceFile: /src/hostap/src/common/proximity_ranging.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put
    - wpabuf_put_data
    - wpabuf_put_u8
    - WPA_PUT_LE16
    linkageType: ''
    returnType: void
    signature: void pr_buf_add_dira(struct wpabuf *buf, const struct pr_dira *dira)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/common/proximity_ranging.c:763,1
    - Dst: pr_get_ranging_capabilities
      Src: /src/hostap/src/common/proximity_ranging.c:767,1
    - Dst: pr_buf_add_ranging_capa_info
      Src: /src/hostap/src/common/proximity_ranging.c:768,1
    - Dst: pr_get_edca_capabilities
      Src: /src/hostap/src/common/proximity_ranging.c:773,1
    - Dst: pr_buf_add_edca_capa_info
      Src: /src/hostap/src/common/proximity_ranging.c:774,1
    - Dst: pr_get_ntb_capabilities
      Src: /src/hostap/src/common/proximity_ranging.c:780,1
    - Dst: pr_buf_add_ntb_capa_info
      Src: /src/hostap/src/common/proximity_ranging.c:781,1
    - Dst: pr_derive_dira
      Src: /src/hostap/src/common/proximity_ranging.c:784,1
    - Dst: pr_buf_add_dira
      Src: /src/hostap/src/common/proximity_ranging.c:785,1
    - Dst: pr_encaps_elem
      Src: /src/hostap/src/common/proximity_ranging.c:788,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/proximity_ranging.c:789,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - pr
    - src_addr
    argTypes:
    - struct pr_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 756
    functionDepth: 3
    functionLinenumber: 756
    functionLinenumberEnd: 792
    functionName: pr_prepare_usd_elems
    functionSourceFile: /src/hostap/src/common/proximity_ranging.c
    functionUses: 1
    functionsReached:
    - pr_buf_add_ranging_capa_info
    - wpabuf_free
    - pr_get_edca_capabilities
    - pr_derive_dira
    - pr_get_ranging_capabilities
    - pr_buf_add_edca_capa_info
    - wpabuf_alloc
    - pr_buf_add_dira
    - pr_encaps_elem
    - pr_buf_add_ntb_capa_info
    - pr_get_ntb_capabilities
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * pr_prepare_usd_elems(struct pr_data *pr, const u8 *src_addr)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:801,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:808,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:812,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:819,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:825,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:832,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/common/proximity_ranging.c:834,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:838,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:845,1
    - Dst: WPA_GET_LE32
      Src: /src/hostap/src/common/proximity_ranging.c:847,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:851,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:862,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:868,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:871,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 60
    argCount: 4
    argNames:
    - id
    - data
    - len
    - msg
    argTypes:
    - u8
    - u8*
    - u16
    - struct pr_message*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 795
    functionDepth: 1
    functionLinenumber: 795
    functionLinenumberEnd: 878
    functionName: pr_parse_attribute
    functionSourceFile: /src/hostap/src/common/proximity_ranging.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - WPA_GET_LE32
    - WPA_GET_LE16
    linkageType: ''
    returnType: int
    signature: "int pr_parse_attribute(u8 id, const u8 *data, u16 len,\n\t\t\t      struct
      pr_message *msg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/common/proximity_ranging.c:893,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/proximity_ranging.c:894,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:896,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:903,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/common/proximity_ranging.c:907,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:909,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:912,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/proximity_ranging.c:915,1
    - Dst: pr_parse_attribute
      Src: /src/hostap/src/common/proximity_ranging.c:918,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - buf
    - msg
    argTypes:
    - struct wpabuf*
    - struct pr_message*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 924
      start: 890
    functionDepth: 2
    functionLinenumber: 890
    functionLinenumberEnd: 924
    functionName: pr_parse_proximity_ranging_element
    functionSourceFile: /src/hostap/src/common/proximity_ranging.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - pr_parse_attribute
    - wpabuf_head_u8
    - wpa_hexdump
    - wpabuf_len
    - WPA_GET_LE16
    linkageType: ''
    returnType: int
    signature: "int pr_parse_proximity_ranging_element(const struct wpabuf *buf,\n\t\t\t\t\t
      \     struct pr_message *msg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/proximity_ranging.c:929,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - msg
    argTypes:
    - struct pr_message*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 927
    functionDepth: 1
    functionLinenumber: 927
    functionLinenumberEnd: 931
    functionName: pr_parse_free
    functionSourceFile: /src/hostap/src/common/proximity_ranging.c
    functionUses: 0
    functionsReached:
    - wpabuf_free
    linkageType: ''
    returnType: void
    signature: void pr_parse_free(struct pr_message *msg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/src/common/proximity_ranging.c:951,1
    - Dst: ieee802_11_vendor_ie_concat
      Src: /src/hostap/src/common/proximity_ranging.c:954,1
    - Dst: pr_parse_proximity_ranging_element
      Src: /src/hostap/src/common/proximity_ranging.c:957,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:958,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/common/proximity_ranging.c:961,1
    - Dst: pr_parse_free
      Src: /src/hostap/src/common/proximity_ranging.c:964,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - data
    - len
    - msg
    argTypes:
    - u8*
    - size_t
    - struct pr_message*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 947
    functionDepth: 4
    functionLinenumber: 947
    functionLinenumberEnd: 968
    functionName: pr_parse_elements
    functionSourceFile: /src/hostap/src/common/proximity_ranging.c
    functionUses: 0
    functionsReached:
    - pr_parse_free
    - wpa_printf
    - ieee802_11_vendor_ie_concat
    - pr_parse_proximity_ranging_element
    - ieee802_11_parse_elems
    - wpa_hexdump_buf
    linkageType: ''
    returnType: int
    signature: int pr_parse_elements(const u8 *data, size_t len, struct pr_message
      *msg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:987,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:1001,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/proximity_ranging.c:1008,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:1017,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 3
    argNames:
    - channel_list
    - channel_list_len
    - ch
    argTypes:
    - u8*
    - size_t
    - struct pr_channels*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 971
    functionDepth: 0
    functionLinenumber: 971
    functionLinenumberEnd: 1024
    functionName: pr_process_channels
    functionSourceFile: /src/hostap/src/common/proximity_ranging.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    linkageType: ''
    returnType: int
    signature: "int pr_process_channels(const u8 *channel_list, size_t channel_list_len,\n\t\t\t
      \      struct pr_channels *ch)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:1033,1
    - Dst: BIT
      Src: /src/hostap/src/common/proximity_ranging.c:1056,1
    - Dst: os_memset
      Src: /src/hostap/src/common/proximity_ranging.c:1060,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/proximity_ranging.c:1061,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:1063,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - caps
    - caps_len
    - pr_caps
    argTypes:
    - u8*
    - size_t
    - struct pr_capabilities*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1068
      start: 1027
    functionDepth: 0
    functionLinenumber: 1027
    functionLinenumberEnd: 1068
    functionName: pr_process_ranging_capabilities
    functionSourceFile: /src/hostap/src/common/proximity_ranging.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - BIT
    - os_memcpy
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void pr_process_ranging_capabilities(const u8 *caps, size_t caps_len,\n\t\t\t\t\t
      \   struct pr_capabilities *pr_caps)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/common/proximity_ranging.c:1090,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/proximity_ranging.c:1094,1
    - Dst: pr_process_channels
      Src: /src/hostap/src/common/proximity_ranging.c:1097,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:1099,1
    - Dst: valid_country_ch
      Src: /src/hostap/src/common/proximity_ranging.c:1103,1
    - Dst: valid_country_ch
      Src: /src/hostap/src/common/proximity_ranging.c:1105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - caps
    - caps_len
    - edca_caps
    argTypes:
    - u8*
    - size_t
    - struct edca_capabilities*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1071
    functionDepth: 1
    functionLinenumber: 1071
    functionLinenumberEnd: 1107
    functionName: pr_process_edca_capabilities
    functionSourceFile: /src/hostap/src/common/proximity_ranging.c
    functionUses: 0
    functionsReached:
    - pr_process_channels
    - os_memcpy
    - wpa_printf
    - WPA_GET_LE16
    - valid_country_ch
    linkageType: ''
    returnType: void
    signature: "void pr_process_edca_capabilities(const u8 *caps, size_t caps_len,\n\t\t\t\t\t
      struct edca_capabilities *edca_caps)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: WPA_GET_LE32
      Src: /src/hostap/src/common/proximity_ranging.c:1132,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/proximity_ranging.c:1136,1
    - Dst: pr_process_channels
      Src: /src/hostap/src/common/proximity_ranging.c:1139,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:1141,1
    - Dst: valid_country_ch
      Src: /src/hostap/src/common/proximity_ranging.c:1146,1
    - Dst: valid_country_ch
      Src: /src/hostap/src/common/proximity_ranging.c:1148,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - caps
    - caps_len
    - ntb_caps
    - secure_ltf
    argTypes:
    - u8*
    - size_t
    - struct ntb_capabilities*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1150
      start: 1110
    functionDepth: 1
    functionLinenumber: 1110
    functionLinenumberEnd: 1150
    functionName: pr_process_ntb_capabilities
    functionSourceFile: /src/hostap/src/common/proximity_ranging.c
    functionUses: 0
    functionsReached:
    - pr_process_channels
    - os_memcpy
    - wpa_printf
    - WPA_GET_LE32
    - valid_country_ch
    linkageType: ''
    returnType: void
    signature: "void pr_process_ntb_capabilities(const u8 *caps, size_t caps_len,\n\t\t\t\t\tstruct
      ntb_capabilities *ntb_caps,\n\t\t\t\t\tbool secure_ltf)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/common/proximity_ranging.c:1159,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/proximity_ranging.c:1160,1
    - Dst: pr_parse_elements
      Src: /src/hostap/src/common/proximity_ranging.c:1162,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:1163,1
    - Dst: pr_parse_free
      Src: /src/hostap/src/common/proximity_ranging.c:1165,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:1170,1
    - Dst: MAC2STR
      Src: /src/hostap/src/common/proximity_ranging.c:1172,1
    - Dst: pr_parse_free
      Src: /src/hostap/src/common/proximity_ranging.c:1173,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:1178,1
    - Dst: MAC2STR
      Src: /src/hostap/src/common/proximity_ranging.c:1180,1
    - Dst: pr_parse_free
      Src: /src/hostap/src/common/proximity_ranging.c:1181,1
    - Dst: pr_create_device
      Src: /src/hostap/src/common/proximity_ranging.c:1185,1
    - Dst: pr_parse_free
      Src: /src/hostap/src/common/proximity_ranging.c:1187,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:1188,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/common/proximity_ranging.c:1192,1
    - Dst: pr_process_ranging_capabilities
      Src: /src/hostap/src/common/proximity_ranging.c:1196,1
    - Dst: pr_process_edca_capabilities
      Src: /src/hostap/src/common/proximity_ranging.c:1200,1
    - Dst: pr_process_ntb_capabilities
      Src: /src/hostap/src/common/proximity_ranging.c:1205,1
    - Dst: pr_validate_dira
      Src: /src/hostap/src/common/proximity_ranging.c:1211,1
    - Dst: struct pr_data*::cfg::device_found
      Src: /src/hostap/src/common/proximity_ranging.c:1214,1
    - Dst: pr_parse_free
      Src: /src/hostap/src/common/proximity_ranging.c:1216,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 5
    argNames:
    - pr
    - ies
    - ies_len
    - peer_addr
    - freq
    argTypes:
    - struct pr_data*
    - u8*
    - u16
    - u8*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1217
      start: 1153
    functionDepth: 5
    functionLinenumber: 1153
    functionLinenumberEnd: 1217
    functionName: pr_process_usd_elems
    functionSourceFile: /src/hostap/src/common/proximity_ranging.c
    functionUses: 2
    functionsReached:
    - pr_parse_free
    - pr_parse_elements
    - os_memcpy
    - wpa_printf
    - os_get_reltime
    - pr_process_ntb_capabilities
    - pr_validate_dira
    - struct pr_data*::cfg::device_found
    - MAC2STR
    - pr_process_ranging_capabilities
    - pr_process_edca_capabilities
    - pr_create_device
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void pr_process_usd_elems(struct pr_data *pr, const u8 *ies, u16 ies_len,\n\t\t\t
      \ const u8 *peer_addr, unsigned int freq)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pr_get_device
      Src: /src/hostap/src/common/proximity_ranging.c:1230,1
    - Dst: pr_create_device
      Src: /src/hostap/src/common/proximity_ranging.c:1234,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:1236,1
    - Dst: MAC2STR
      Src: /src/hostap/src/common/proximity_ranging.c:1237,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:1245,1
    - Dst: MAC2STR
      Src: /src/hostap/src/common/proximity_ranging.c:1246,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - pr
    - addr
    - freq
    argTypes:
    - struct pr_data*
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1248
      start: 1223
    functionDepth: 4
    functionLinenumber: 1223
    functionLinenumberEnd: 1248
    functionName: pr_ensure_oob_peer
    functionSourceFile: /src/hostap/src/common/proximity_ranging.c
    functionUses: 2
    functionsReached:
    - MAC2STR
    - wpa_printf
    - pr_create_device
    - pr_get_device
    linkageType: ''
    returnType: int
    signature: int pr_ensure_oob_peer(struct pr_data *pr, const u8 *addr, int freq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/src/common/proximity_ranging.c:1264,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 2
    argNames:
    - dev
    - caps
    argTypes:
    - struct pr_device*
    - struct pr_capabilities*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1253
    functionDepth: 0
    functionLinenumber: 1253
    functionLinenumberEnd: 1265
    functionName: pr_eq_ranging_capa_params
    functionSourceFile: /src/hostap/src/common/proximity_ranging.c
    functionUses: 0
    functionsReached:
    - os_strcmp
    linkageType: ''
    returnType: bool
    signature: "bool pr_eq_ranging_capa_params(const struct pr_device *dev,\n\t\t\t\t
      \    const struct pr_capabilities *caps)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/src/common/proximity_ranging.c:1277,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - dev
    - edca_caps
    argTypes:
    - struct pr_device*
    - struct edca_capabilities*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1278
      start: 1268
    functionDepth: 0
    functionLinenumber: 1268
    functionLinenumberEnd: 1278
    functionName: pr_eq_edca_params
    functionSourceFile: /src/hostap/src/common/proximity_ranging.c
    functionUses: 0
    functionsReached:
    - os_memcmp
    linkageType: ''
    returnType: bool
    signature: "bool pr_eq_edca_params(const struct pr_device *dev,\n\t\t\t      const
      struct edca_capabilities *edca_caps)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/src/common/proximity_ranging.c:1290,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - dev
    - ntb_caps
    argTypes:
    - struct pr_device*
    - struct ntb_capabilities*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1291
      start: 1281
    functionDepth: 0
    functionLinenumber: 1281
    functionLinenumberEnd: 1291
    functionName: pr_eq_ntb_params
    functionSourceFile: /src/hostap/src/common/proximity_ranging.c
    functionUses: 0
    functionsReached:
    - os_memcmp
    linkageType: ''
    returnType: bool
    signature: "bool pr_eq_ntb_params(const struct pr_device *dev,\n\t\t\t     const
      struct ntb_capabilities *ntb_caps)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/proximity_ranging.c:1301,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/common/proximity_ranging.c:1303,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/proximity_ranging.c:1306,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/proximity_ranging.c:1309,1
    - Dst: pr_buf_add_channel_list
      Src: /src/hostap/src/common/proximity_ranging.c:1311,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/common/proximity_ranging.c:1314,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/common/proximity_ranging.c:1315,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/proximity_ranging.c:1316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - buf
    - mode
    argTypes:
    - struct wpabuf*
    - struct operation_mode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1317
      start: 1294
    functionDepth: 2
    functionLinenumber: 1294
    functionLinenumberEnd: 1317
    functionName: pr_buf_add_operation_mode
    functionSourceFile: /src/hostap/src/common/proximity_ranging.c
    functionUses: 0
    functionsReached:
    - wpabuf_put
    - wpa_hexdump
    - wpabuf_put_u8
    - pr_buf_add_channel_list
    - WPA_PUT_LE16
    linkageType: ''
    returnType: void
    signature: "void pr_buf_add_operation_mode(struct wpabuf *buf,\n\t\t\t\t      struct
      operation_mode *mode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/proximity_ranging.c:1323,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/proximity_ranging.c:1324,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/proximity_ranging.c:1325,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:1326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - status
    argTypes:
    - struct wpabuf*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1327
      start: 1320
    functionDepth: 1
    functionLinenumber: 1320
    functionLinenumberEnd: 1327
    functionName: pr_buf_add_ranging_neg_status
    functionSourceFile: /src/hostap/src/common/proximity_ranging.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put_u8
    - wpabuf_put_le16
    linkageType: ''
    returnType: void
    signature: void pr_buf_add_ranging_neg_status(struct wpabuf *buf, u8 status)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/common/proximity_ranging.c:1350,1
    - Dst: pr_process_channels
      Src: /src/hostap/src/common/proximity_ranging.c:1353,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:1355,1
    - Dst: valid_country_ch
      Src: /src/hostap/src/common/proximity_ranging.c:1358,1
    - Dst: valid_country_ch
      Src: /src/hostap/src/common/proximity_ranging.c:1360,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - caps
    - caps_len
    - op_mode
    argTypes:
    - u8*
    - size_t
    - struct operation_mode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1363
      start: 1330
    functionDepth: 1
    functionLinenumber: 1330
    functionLinenumberEnd: 1363
    functionName: pr_process_op_mode
    functionSourceFile: /src/hostap/src/common/proximity_ranging.c
    functionUses: 0
    functionsReached:
    - pr_process_channels
    - os_memcpy
    - valid_country_ch
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: "void pr_process_op_mode(const u8 *caps, size_t caps_len,\n\t\t\t       struct
      operation_mode *op_mode)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:1376,1
    - Dst: get_oper_class
      Src: /src/hostap/src/common/proximity_ranging.c:1384,1
    - Dst: oper_class_bw_to_int
      Src: /src/hostap/src/common/proximity_ranging.c:1388,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:1396,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - common_channel
    - op_class
    - op_channel
    argTypes:
    - struct pr_channels*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1399
      start: 1366
    functionDepth: 3
    functionLinenumber: 1366
    functionLinenumberEnd: 1399
    functionName: pr_choose_best_channel
    functionSourceFile: /src/hostap/src/common/proximity_ranging.c
    functionUses: 0
    functionsReached:
    - get_oper_class
    - wpa_printf
    - oper_class_bw_to_int
    linkageType: ''
    returnType: void
    signature: "void pr_choose_best_channel(struct pr_channels *common_channel,\n\t\t\t\t
      \  u8 *op_class, u8 *op_channel)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:1417,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:1431,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:1438,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:1440,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:1447,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:1453,1
    - Dst: pr_channels_intersect
      Src: /src/hostap/src/common/proximity_ranging.c:1458,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:1460,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:1467,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:1474,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:1498,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:1503,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:1506,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/proximity_ranging.c:1511,1
    - Dst: pr_copy_channels
      Src: /src/hostap/src/common/proximity_ranging.c:1514,1
    - Dst: pr_choose_best_channel
      Src: /src/hostap/src/common/proximity_ranging.c:1517,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:1519,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:1527,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:1532,1
    - Dst: valid_country_ch
      Src: /src/hostap/src/common/proximity_ranging.c:1535,1
    - Dst: valid_country_ch
      Src: /src/hostap/src/common/proximity_ranging.c:1537,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 94
    argCount: 4
    argNames:
    - pr
    - peer_supp_roles
    - op_mode
    - res_op_mode
    argTypes:
    - struct pr_data*
    - u8
    - struct operation_mode*
    - struct operation_mode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1542
      start: 1402
    functionDepth: 4
    functionLinenumber: 1402
    functionLinenumberEnd: 1542
    functionName: pr_pasn_get_best_op_mode
    functionSourceFile: /src/hostap/src/common/proximity_ranging.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - pr_copy_channels
    - pr_channels_intersect
    - pr_choose_best_channel
    - valid_country_ch
    linkageType: ''
    returnType: u8
    signature: "u8 pr_pasn_get_best_op_mode(struct pr_data *pr, u8 peer_supp_roles,\n\t\t\t\t
      \  struct operation_mode *op_mode,\n\t\t\t\t   struct operation_mode *res_op_mode)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:1560,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:1574,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:1581,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:1583,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:1590,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:1595,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:1606,1
    - Dst: pr_channels_intersect
      Src: /src/hostap/src/common/proximity_ranging.c:1610,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:1612,1
    - Dst: pr_choose_best_channel
      Src: /src/hostap/src/common/proximity_ranging.c:1617,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:1619,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/proximity_ranging.c:1625,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:1630,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 61
    argCount: 4
    argNames:
    - pr
    - supp_roles
    - op_mode
    - res_op_mode
    argTypes:
    - struct pr_data*
    - u8
    - struct operation_mode*
    - struct operation_mode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1634
      start: 1545
    functionDepth: 4
    functionLinenumber: 1545
    functionLinenumberEnd: 1634
    functionName: pr_pasn_get_final_op_mode
    functionSourceFile: /src/hostap/src/common/proximity_ranging.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - pr_choose_best_channel
    - os_memcpy
    - pr_channels_intersect
    linkageType: ''
    returnType: u8
    signature: "u8 pr_pasn_get_final_op_mode(struct pr_data *pr, u8 supp_roles,\n\t\t\t\t
      \   struct operation_mode *op_mode,\n\t\t\t\t    struct operation_mode *res_op_mode)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/common/proximity_ranging.c:1652,1
    - Dst: pr_get_ranging_capabilities
      Src: /src/hostap/src/common/proximity_ranging.c:1656,1
    - Dst: pr_buf_add_ranging_capa_info
      Src: /src/hostap/src/common/proximity_ranging.c:1657,1
    - Dst: pr_get_edca_capabilities
      Src: /src/hostap/src/common/proximity_ranging.c:1660,1
    - Dst: pr_buf_add_edca_capa_info
      Src: /src/hostap/src/common/proximity_ranging.c:1661,1
    - Dst: pr_copy_channels
      Src: /src/hostap/src/common/proximity_ranging.c:1662,1
    - Dst: pr_get_ntb_capabilities
      Src: /src/hostap/src/common/proximity_ranging.c:1666,1
    - Dst: pr_buf_add_ntb_capa_info
      Src: /src/hostap/src/common/proximity_ranging.c:1667,1
    - Dst: pr_copy_channels
      Src: /src/hostap/src/common/proximity_ranging.c:1668,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:1671,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/proximity_ranging.c:1673,1
    - Dst: os_memset
      Src: /src/hostap/src/common/proximity_ranging.c:1677,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/proximity_ranging.c:1680,1
    - Dst: ieee80211_freq_to_channel_ext
      Src: /src/hostap/src/common/proximity_ranging.c:1683,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:1687,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/proximity_ranging.c:1688,1
    - Dst: pr_copy_channels
      Src: /src/hostap/src/common/proximity_ranging.c:1697,1
    - Dst: pr_buf_add_operation_mode
      Src: /src/hostap/src/common/proximity_ranging.c:1701,1
    - Dst: pr_derive_dira
      Src: /src/hostap/src/common/proximity_ranging.c:1704,1
    - Dst: pr_buf_add_dira
      Src: /src/hostap/src/common/proximity_ranging.c:1705,1
    - Dst: pr_encaps_elem
      Src: /src/hostap/src/common/proximity_ranging.c:1708,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/proximity_ranging.c:1709,1
    - Dst: wpabuf_tailroom
      Src: /src/hostap/src/common/proximity_ranging.c:1711,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/proximity_ranging.c:1711,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:1712,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/proximity_ranging.c:1714,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/common/proximity_ranging.c:1717,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/proximity_ranging.c:1718,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 52
    argCount: 6
    argNames:
    - pr
    - extra_ies
    - add_dira
    - ranging_role
    - ranging_type
    - forced_pr_freq
    argTypes:
    - struct pr_data*
    - struct wpabuf*
    - bool
    - u8
    - u8
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1721
      start: 1637
    functionDepth: 3
    functionLinenumber: 1637
    functionLinenumberEnd: 1721
    functionName: pr_prepare_pasn_pr_elem
    functionSourceFile: /src/hostap/src/common/proximity_ranging.c
    functionUses: 0
    functionsReached:
    - pr_buf_add_ranging_capa_info
    - pr_derive_dira
    - pr_get_ranging_capabilities
    - pr_buf_add_edca_capa_info
    - wpabuf_alloc
    - ieee80211_freq_to_channel_ext
    - pr_buf_add_dira
    - wpa_printf
    - pr_copy_channels
    - pr_get_edca_capabilities
    - pr_get_ntb_capabilities
    - wpabuf_len
    - wpabuf_tailroom
    - pr_buf_add_ntb_capa_info
    - os_memset
    - os_memcpy
    - wpabuf_free
    - pr_buf_add_operation_mode
    - wpabuf_put_buf
    - pr_encaps_elem
    linkageType: ''
    returnType: int
    signature: "int pr_prepare_pasn_pr_elem(struct pr_data *pr, struct wpabuf *extra_ies,\n\t\t\t\t
      \  bool add_dira, u8 ranging_role,\n\t\t\t\t   u8 ranging_type, int forced_pr_freq)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIT
      Src: /src/hostap/src/common/proximity_ranging.c:1730,1
    - Dst: wpa_key_mgmt_sae
      Src: /src/hostap/src/common/proximity_ranging.c:1732,1
    - Dst: BIT
      Src: /src/hostap/src/common/proximity_ranging.c:1733,1
    - Dst: BIT
      Src: /src/hostap/src/common/proximity_ranging.c:1735,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/common/proximity_ranging.c:1740,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:1746,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/proximity_ranging.c:1747,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/proximity_ranging.c:1748,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/proximity_ranging.c:1750,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - pr
    - akmp
    argTypes:
    - struct pr_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1755
      start: 1724
    functionDepth: 1
    functionLinenumber: 1724
    functionLinenumberEnd: 1755
    functionName: pr_pasn_generate_rsnxe
    functionSourceFile: /src/hostap/src/common/proximity_ranging.c
    functionUses: 0
    functionsReached:
    - wpa_key_mgmt_sae
    - wpa_printf
    - wpabuf_put_u8
    - wpabuf_alloc
    - BIT
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * pr_pasn_generate_rsnxe(struct pr_data *pr, int akmp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/common/proximity_ranging.c:1770,1
    - Dst: sae_derive_pt
      Src: /src/hostap/src/common/proximity_ranging.c:1781,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/proximity_ranging.c:1782,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - pasn
    - pasn_type
    - passphrase
    argTypes:
    - struct pasn_data*
    - u8
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1784
      start: 1761
    functionDepth: 6
    functionLinenumber: 1761
    functionLinenumberEnd: 1784
    functionName: pr_pasn_set_password
    functionSourceFile: /src/hostap/src/common/proximity_ranging.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - sae_derive_pt
    linkageType: ''
    returnType: void
    signature: "void pr_pasn_set_password(struct pasn_data *pasn, u8 pasn_type,\n\t\t\t\t
      const char *passphrase)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: wpa_pasn_reset
      Src: /src/hostap/src/common/proximity_ranging.c:1795,1
    - Dst: pasn_data_init
      Src: /src/hostap/src/common/proximity_ranging.c:1797,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/proximity_ranging.c:1803,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/proximity_ranging.c:1804,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/proximity_ranging.c:1808,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/proximity_ranging.c:1811,1
    - Dst: BIT
      Src: /src/hostap/src/common/proximity_ranging.c:1822,1
    - Dst: BIT
      Src: /src/hostap/src/common/proximity_ranging.c:1823,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:1824,1
    - Dst: pasn_enable_kdk_derivation
      Src: /src/hostap/src/common/proximity_ranging.c:1845,1
    - Dst: pasn_disable_kdk_derivation
      Src: /src/hostap/src/common/proximity_ranging.c:1847,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:1849,1
    - Dst: pr_pasn_set_password
      Src: /src/hostap/src/common/proximity_ranging.c:1854,1
    - Dst: pr_pasn_set_password
      Src: /src/hostap/src/common/proximity_ranging.c:1857,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:1860,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:1865,1
    - Dst: pasn_initiator_pmksa_cache_add
      Src: /src/hostap/src/common/proximity_ranging.c:1869,1
    - Dst: pasn_responder_pmksa_cache_add
      Src: /src/hostap/src/common/proximity_ranging.c:1877,1
    - Dst: pr_pasn_generate_rsnxe
      Src: /src/hostap/src/common/proximity_ranging.c:1892,1
    - Dst: os_free
      Src: /src/hostap/src/common/proximity_ranging.c:1894,1
    - Dst: os_memdup
      Src: /src/hostap/src/common/proximity_ranging.c:1895,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/common/proximity_ranging.c:1895,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/proximity_ranging.c:1896,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/proximity_ranging.c:1897,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 75
    argCount: 7
    argNames:
    - pr
    - dev
    - addr
    - auth_mode
    - freq
    - ranging_type
    - pmkid
    argTypes:
    - struct pr_data*
    - struct pr_device*
    - u8*
    - u8
    - int
    - u8
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1906
      start: 1787
    functionDepth: 7
    functionLinenumber: 1787
    functionLinenumberEnd: 1906
    functionName: pr_pasn_initialize
    functionSourceFile: /src/hostap/src/common/proximity_ranging.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_printf
    - wpabuf_head_u8
    - pasn_data_init
    - os_memdup
    - pr_pasn_set_password
    - wpabuf_len
    - wpabuf_free
    - pasn_initiator_pmksa_cache_add
    - BIT
    - pr_pasn_generate_rsnxe
    - wpa_pasn_reset
    - pasn_responder_pmksa_cache_add
    - os_free
    - pasn_enable_kdk_derivation
    - pasn_disable_kdk_derivation
    linkageType: ''
    returnType: int
    signature: "int pr_pasn_initialize(struct pr_data *pr, struct pr_device *dev,\n\t\t\t
      \     const u8 *addr, u8 auth_mode, int freq,\n\t\t\t      u8 ranging_type,
      const u8 *pmkid)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:1921,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:1931,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:1940,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:1947,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:1954,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:1962,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:1970,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:1977,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:1984,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:1992,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:2000,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 56
    argCount: 5
    argNames:
    - pr
    - dev
    - auth_mode
    - ranging_role
    - ranging_type
    argTypes:
    - struct pr_data*
    - struct pr_device*
    - u8
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2007
      start: 1909
    functionDepth: 0
    functionLinenumber: 1909
    functionLinenumberEnd: 2007
    functionName: pr_validate_pasn_request
    functionSourceFile: /src/hostap/src/common/proximity_ranging.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int pr_validate_pasn_request(struct pr_data *pr, struct pr_device
      *dev,\n\t\t\t\t    u8 auth_mode, u8 ranging_role,\n\t\t\t\t    u8 ranging_type)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:2021,1
    - Dst: pr_get_device
      Src: /src/hostap/src/common/proximity_ranging.c:2025,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:2027,1
    - Dst: pr_validate_pasn_request
      Src: /src/hostap/src/common/proximity_ranging.c:2032,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:2034,1
    - Dst: os_get_random
      Src: /src/hostap/src/common/proximity_ranging.c:2045,1
    - Dst: pr_pasn_initialize
      Src: /src/hostap/src/common/proximity_ranging.c:2048,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:2050,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/common/proximity_ranging.c:2055,1
    - Dst: pr_prepare_pasn_pr_elem
      Src: /src/hostap/src/common/proximity_ranging.c:2059,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:2061,1
    - Dst: pasn_set_extra_ies
      Src: /src/hostap/src/common/proximity_ranging.c:2067,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/common/proximity_ranging.c:2067,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/proximity_ranging.c:2068,1
    - Dst: wpa_pasn_verify
      Src: /src/hostap/src/common/proximity_ranging.c:2071,1
    - Dst: wpas_pasn_start
      Src: /src/hostap/src/common/proximity_ranging.c:2076,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:2082,1
    - Dst: struct pr_data*::cfg::negotiation_started
      Src: /src/hostap/src/common/proximity_ranging.c:2086,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/proximity_ranging.c:2092,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 49
    argCount: 7
    argNames:
    - pr
    - addr
    - freq
    - auth_mode
    - ranging_role
    - ranging_type
    - forced_pr_freq
    argTypes:
    - struct pr_data*
    - u8*
    - int
    - u8
    - u8
    - u8
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2094
      start: 2010
    functionDepth: 8
    functionLinenumber: 2010
    functionLinenumberEnd: 2094
    functionName: pr_initiate_pasn_auth
    functionSourceFile: /src/hostap/src/common/proximity_ranging.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - pasn_set_extra_ies
    - struct pr_data*::cfg::negotiation_started
    - wpabuf_head_u8
    - pr_validate_pasn_request
    - pr_get_device
    - wpabuf_len
    - wpas_pasn_start
    - os_get_random
    - wpabuf_free
    - wpabuf_alloc
    - pr_pasn_initialize
    - pr_prepare_pasn_pr_elem
    - wpa_pasn_verify
    linkageType: ''
    returnType: int
    signature: "int pr_initiate_pasn_auth(struct pr_data *pr, const u8 *addr, int
      freq,\n\t\t\t  u8 auth_mode, u8 ranging_role, u8 ranging_type,\n\t\t\t  int
      forced_pr_freq)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pr_get_device
      Src: /src/hostap/src/common/proximity_ranging.c:2110,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:2112,1
    - Dst: MAC2STR
      Src: /src/hostap/src/common/proximity_ranging.c:2113,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:2118,1
    - Dst: MAC2STR
      Src: /src/hostap/src/common/proximity_ranging.c:2119,1
    - Dst: wpa_pasn_auth_tx_status
      Src: /src/hostap/src/common/proximity_ranging.c:2121,1
    - Dst: struct pr_data*::cfg::pasn_result
      Src: /src/hostap/src/common/proximity_ranging.c:2131,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:2147,1
    - Dst: struct pr_data*::cfg::get_ranging_params
      Src: /src/hostap/src/common/proximity_ranging.c:2153,1
    - Dst: pr_flush
      Src: /src/hostap/src/common/proximity_ranging.c:2161,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/proximity_ranging.c:2165,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 4
    argNames:
    - pr
    - data
    - data_len
    - acked
    argTypes:
    - struct pr_data*
    - u8*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2169
      start: 2097
    functionDepth: 4
    functionLinenumber: 2097
    functionLinenumberEnd: 2169
    functionName: pr_pasn_auth_tx_status
    functionSourceFile: /src/hostap/src/common/proximity_ranging.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - pr_get_device
    - struct pr_data*::cfg::pasn_result
    - wpabuf_free
    - MAC2STR
    - wpa_pasn_auth_tx_status
    - struct pr_data*::cfg::get_ranging_params
    - pr_flush
    linkageType: ''
    returnType: int
    signature: "int pr_pasn_auth_tx_status(struct pr_data *pr, const u8 *data, size_t
      data_len,\n\t\t\t   bool acked)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pr_get_device
      Src: /src/hostap/src/common/proximity_ranging.c:2177,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:2182,1
    - Dst: MAC2STR
      Src: /src/hostap/src/common/proximity_ranging.c:2183,1
    - Dst: struct pasn_data*::send_mgmt
      Src: /src/hostap/src/common/proximity_ranging.c:2184,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/proximity_ranging.c:2184,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/proximity_ranging.c:2185,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - pr
    - addr
    argTypes:
    - struct pr_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2186
      start: 2172
    functionDepth: 2
    functionLinenumber: 2172
    functionLinenumberEnd: 2186
    functionName: pr_pasn_auth_retransmit
    functionSourceFile: /src/hostap/src/common/proximity_ranging.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - struct pasn_data*::send_mgmt
    - pr_get_device
    - wpabuf_len
    - wpabuf_head
    - MAC2STR
    linkageType: ''
    returnType: int
    signature: int pr_pasn_auth_retransmit(struct pr_data *pr, const u8 *addr)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/common/proximity_ranging.c:2209,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:2211,1
    - Dst: os_memset
      Src: /src/hostap/src/common/proximity_ranging.c:2215,1
    - Dst: pr_parse_elements
      Src: /src/hostap/src/common/proximity_ranging.c:2221,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:2222,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:2229,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/proximity_ranging.c:2230,1
    - Dst: pr_parse_free
      Src: /src/hostap/src/common/proximity_ranging.c:2231,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:2235,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/proximity_ranging.c:2237,1
    - Dst: pr_parse_free
      Src: /src/hostap/src/common/proximity_ranging.c:2238,1
    - Dst: pr_validate_dira
      Src: /src/hostap/src/common/proximity_ranging.c:2250,1
    - Dst: pr_process_op_mode
      Src: /src/hostap/src/common/proximity_ranging.c:2252,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:2254,1
    - Dst: os_memset
      Src: /src/hostap/src/common/proximity_ranging.c:2258,1
    - Dst: pr_process_ranging_capabilities
      Src: /src/hostap/src/common/proximity_ranging.c:2259,1
    - Dst: pr_eq_ranging_capa_params
      Src: /src/hostap/src/common/proximity_ranging.c:2261,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:2262,1
    - Dst: pr_get_ranging_capabilities
      Src: /src/hostap/src/common/proximity_ranging.c:2266,1
    - Dst: pr_process_ntb_capabilities
      Src: /src/hostap/src/common/proximity_ranging.c:2280,1
    - Dst: pr_eq_ntb_params
      Src: /src/hostap/src/common/proximity_ranging.c:2284,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:2285,1
    - Dst: pr_get_ntb_capabilities
      Src: /src/hostap/src/common/proximity_ranging.c:2295,1
    - Dst: pr_process_edca_capabilities
      Src: /src/hostap/src/common/proximity_ranging.c:2298,1
    - Dst: pr_eq_edca_params
      Src: /src/hostap/src/common/proximity_ranging.c:2300,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:2301,1
    - Dst: pr_get_edca_capabilities
      Src: /src/hostap/src/common/proximity_ranging.c:2311,1
    - Dst: pr_pasn_get_best_op_mode
      Src: /src/hostap/src/common/proximity_ranging.c:2316,1
    - Dst: pr_pasn_get_final_op_mode
      Src: /src/hostap/src/common/proximity_ranging.c:2319,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:2324,1
    - Dst: pr_buf_add_ranging_capa_info
      Src: /src/hostap/src/common/proximity_ranging.c:2330,1
    - Dst: pr_buf_add_edca_capa_info
      Src: /src/hostap/src/common/proximity_ranging.c:2332,1
    - Dst: pr_buf_add_ntb_capa_info
      Src: /src/hostap/src/common/proximity_ranging.c:2334,1
    - Dst: pr_buf_add_ranging_neg_status
      Src: /src/hostap/src/common/proximity_ranging.c:2337,1
    - Dst: pr_buf_add_operation_mode
      Src: /src/hostap/src/common/proximity_ranging.c:2338,1
    - Dst: pr_buf_add_ranging_neg_status
      Src: /src/hostap/src/common/proximity_ranging.c:2352,1
    - Dst: pr_encaps_elem
      Src: /src/hostap/src/common/proximity_ranging.c:2355,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/proximity_ranging.c:2356,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/proximity_ranging.c:2358,1
    - Dst: pr_parse_free
      Src: /src/hostap/src/common/proximity_ranging.c:2360,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 122
    argCount: 5
    argNames:
    - pr
    - dev
    - mgmt
    - len
    - trans_seq
    argTypes:
    - struct pr_data*
    - struct pr_device*
    - struct ieee80211_mgmt*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2363
      start: 2189
    functionDepth: 5
    functionLinenumber: 2189
    functionLinenumberEnd: 2363
    functionName: pr_process_pasn_ranging_wrapper
    functionSourceFile: /src/hostap/src/common/proximity_ranging.c
    functionUses: 0
    functionsReached:
    - pr_parse_free
    - pr_process_ntb_capabilities
    - pr_buf_add_ranging_capa_info
    - pr_pasn_get_best_op_mode
    - pr_get_ranging_capabilities
    - pr_buf_add_edca_capa_info
    - wpabuf_alloc
    - pr_process_edca_capabilities
    - wpa_printf
    - pr_eq_ranging_capa_params
    - pr_get_edca_capabilities
    - pr_pasn_get_final_op_mode
    - pr_eq_edca_params
    - pr_get_ntb_capabilities
    - pr_buf_add_ranging_neg_status
    - pr_buf_add_ntb_capa_info
    - os_memset
    - pr_parse_elements
    - pr_process_op_mode
    - pr_eq_ntb_params
    - wpabuf_free
    - pr_validate_dira
    - pr_buf_add_operation_mode
    - pr_process_ranging_capabilities
    - pr_encaps_elem
    linkageType: ''
    returnType: int
    signature: "int pr_process_pasn_ranging_wrapper(struct pr_data *pr,\n\t\t\t\t\t
      \  struct pr_device *dev,\n\t\t\t\t\t   const struct ieee80211_mgmt *mgmt,\n\t\t\t\t\t
      \  size_t len, int trans_seq)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/common/proximity_ranging.c:2379,1
    - Dst: pr_parse_elements
      Src: /src/hostap/src/common/proximity_ranging.c:2383,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:2384,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:2390,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:2395,1
    - Dst: pr_process_op_mode
      Src: /src/hostap/src/common/proximity_ranging.c:2403,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:2405,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:2409,1
    - Dst: pr_channels_intersect
      Src: /src/hostap/src/common/proximity_ranging.c:2429,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:2432,1
    - Dst: pr_channels_intersect
      Src: /src/hostap/src/common/proximity_ranging.c:2444,1
    - Dst: pr_parse_free
      Src: /src/hostap/src/common/proximity_ranging.c:2460,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 69
    argCount: 4
    argNames:
    - pr
    - dev
    - mgmt
    - len
    argTypes:
    - struct pr_data*
    - struct pr_device*
    - struct ieee80211_mgmt*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2462
      start: 2366
    functionDepth: 5
    functionLinenumber: 2366
    functionLinenumberEnd: 2462
    functionName: pr_process_pasn_ranging_wrapper_result
    functionSourceFile: /src/hostap/src/common/proximity_ranging.c
    functionUses: 0
    functionsReached:
    - pr_parse_free
    - pr_parse_elements
    - wpa_printf
    - pr_process_op_mode
    - pr_channels_intersect
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int pr_process_pasn_ranging_wrapper_result(struct pr_data *pr,\n\t\t\t\t
      \      struct pr_device *dev,\n\t\t\t\t       const struct ieee80211_mgmt *mgmt,\n\t\t\t\t
      \      size_t len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pr_process_pasn_ranging_wrapper
      Src: /src/hostap/src/common/proximity_ranging.c:2487,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:2488,1
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/src/common/proximity_ranging.c:2493,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:2497,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 5
    argNames:
    - pr
    - dev
    - mgmt
    - len
    - freq
    argTypes:
    - struct pr_data*
    - struct pr_device*
    - struct ieee80211_mgmt*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2500
      start: 2465
    functionDepth: 6
    functionLinenumber: 2465
    functionLinenumberEnd: 2500
    functionName: pr_pasn_handle_auth_1
    functionSourceFile: /src/hostap/src/common/proximity_ranging.c
    functionUses: 0
    functionsReached:
    - pr_process_pasn_ranging_wrapper
    - wpa_printf
    - ieee802_11_parse_elems
    linkageType: ''
    returnType: int
    signature: "int pr_pasn_handle_auth_1(struct pr_data *pr, struct pr_device *dev,\n\t\t\t\t
      const struct ieee80211_mgmt *mgmt, size_t len,\n\t\t\t\t int freq)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:2559,1
    - Dst: pr_process_pasn_ranging_wrapper
      Src: /src/hostap/src/common/proximity_ranging.c:2567,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:2568,1
    - Dst: pasn_set_extra_ies
      Src: /src/hostap/src/common/proximity_ranging.c:2572,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/common/proximity_ranging.c:2572,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/proximity_ranging.c:2573,1
    - Dst: wpa_pasn_auth_rx
      Src: /src/hostap/src/common/proximity_ranging.c:2575,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:2577,1
    - Dst: struct pr_data*::cfg::set_keys
      Src: /src/hostap/src/common/proximity_ranging.c:2584,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:2587,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/proximity_ranging.c:2593,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 4
    argNames:
    - pr
    - dev
    - mgmt
    - len
    argTypes:
    - struct pr_data*
    - struct pr_device*
    - struct ieee80211_mgmt*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2596
      start: 2552
    functionDepth: 7
    functionLinenumber: 2552
    functionLinenumberEnd: 2596
    functionName: pr_pasn_handle_auth_2
    functionSourceFile: /src/hostap/src/common/proximity_ranging.c
    functionUses: 0
    functionsReached:
    - pr_process_pasn_ranging_wrapper
    - wpa_printf
    - pasn_set_extra_ies
    - struct pr_data*::cfg::set_keys
    - wpabuf_head_u8
    - wpabuf_len
    - wpabuf_free
    - wpa_pasn_auth_rx
    linkageType: ''
    returnType: int
    signature: "int pr_pasn_handle_auth_2(struct pr_data *pr, struct pr_device *dev,\n\t\t\t\t
      const struct ieee80211_mgmt *mgmt, size_t len)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:2605,1
    - Dst: pr_process_pasn_ranging_wrapper_result
      Src: /src/hostap/src/common/proximity_ranging.c:2613,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:2614,1
    - Dst: handle_auth_pasn_3
      Src: /src/hostap/src/common/proximity_ranging.c:2619,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:2621,1
    - Dst: struct pr_data*::cfg::pasn_result
      Src: /src/hostap/src/common/proximity_ranging.c:2626,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:2641,1
    - Dst: struct pr_data*::cfg::get_ranging_params
      Src: /src/hostap/src/common/proximity_ranging.c:2647,1
    - Dst: pr_flush
      Src: /src/hostap/src/common/proximity_ranging.c:2655,1
    - Dst: struct pr_data*::cfg::clear_keys
      Src: /src/hostap/src/common/proximity_ranging.c:2661,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 4
    argNames:
    - pr
    - dev
    - mgmt
    - len
    argTypes:
    - struct pr_data*
    - struct pr_device*
    - struct ieee80211_mgmt*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2664
      start: 2599
    functionDepth: 6
    functionLinenumber: 2599
    functionLinenumberEnd: 2664
    functionName: pr_pasn_handle_auth_3
    functionSourceFile: /src/hostap/src/common/proximity_ranging.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - handle_auth_pasn_3
    - struct pr_data*::cfg::pasn_result
    - pr_process_pasn_ranging_wrapper_result
    - struct pr_data*::cfg::clear_keys
    - struct pr_data*::cfg::get_ranging_params
    - pr_flush
    linkageType: ''
    returnType: int
    signature: "int pr_pasn_handle_auth_3(struct pr_data *pr, struct pr_device *dev,\n\t\t\t\t
      const struct ieee80211_mgmt *mgmt, size_t len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pr_get_device
      Src: /src/hostap/src/common/proximity_ranging.c:2673,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:2675,1
    - Dst: MAC2STR
      Src: /src/hostap/src/common/proximity_ranging.c:2676,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/common/proximity_ranging.c:2680,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:2681,1
    - Dst: le_to_host16
      Src: /src/hostap/src/common/proximity_ranging.c:2688,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/proximity_ranging.c:2690,1
    - Dst: le_to_host16
      Src: /src/hostap/src/common/proximity_ranging.c:2696,1
    - Dst: pr_pasn_handle_auth_1
      Src: /src/hostap/src/common/proximity_ranging.c:2698,1
    - Dst: pr_pasn_handle_auth_2
      Src: /src/hostap/src/common/proximity_ranging.c:2700,1
    - Dst: pr_pasn_handle_auth_3
      Src: /src/hostap/src/common/proximity_ranging.c:2702,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 4
    argNames:
    - pr
    - mgmt
    - len
    - freq
    argTypes:
    - struct pr_data*
    - struct ieee80211_mgmt*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2705
      start: 2667
    functionDepth: 8
    functionLinenumber: 2667
    functionLinenumberEnd: 2705
    functionName: pr_pasn_auth_rx
    functionSourceFile: /src/hostap/src/common/proximity_ranging.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - pr_get_device
    - pr_pasn_handle_auth_2
    - ether_addr_equal
    - MAC2STR
    - pr_pasn_handle_auth_3
    - le_to_host16
    - pr_pasn_handle_auth_1
    linkageType: ''
    returnType: int
    signature: "int pr_pasn_auth_rx(struct pr_data *pr, const struct ieee80211_mgmt
      *mgmt,\n\t\t    size_t len, int freq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: BIT
    functionSourceFile: /src/hostap/src/common/qca-vendor.h
    functionUses: 138
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIT(x)
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 2
    argNames:
    - akmp
    - pmk_len
    argTypes:
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 48
    functionName: wpa_kck_len
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int wpa_kck_len(int akmp, size_t pmk_len)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - akmp
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 62
    functionName: wpa_kck2_len
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int wpa_kck2_len(int akmp)
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 2
    argNames:
    - akmp
    - pmk_len
    argTypes:
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 88
    functionName: wpa_kek_len
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int wpa_kek_len(int akmp, size_t pmk_len)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - akmp
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 102
    functionName: wpa_kek2_len
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int wpa_kek2_len(int akmp)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - pmk_len
    - hash
    argTypes:
    - size_t
    - enum rsn_hash_alg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 118
    functionName: rsn_mic_len_hash
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int rsn_mic_len_hash(size_t pmk_len, enum rsn_hash_alg hash)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: rsn_mic_len_hash
      Src: /src/hostap/src/common/wpa_common.c:133,1
    - Dst: rsn_mic_len_hash
      Src: /src/hostap/src/common/wpa_common.c:135,1
    - Dst: rsn_mic_len_hash
      Src: /src/hostap/src/common/wpa_common.c:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 3
    argNames:
    - akmp
    - pmk_len
    - hash
    argTypes:
    - int
    - size_t
    - enum rsn_hash_alg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 142
    functionName: wpa_mic_len
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 22
    functionsReached:
    - rsn_mic_len_hash
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int wpa_mic_len(int akmp, size_t pmk_len, enum rsn_hash_alg
      hash)
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 173
    functionName: rsn_cipher_suite_to_wpa_cipher
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int rsn_cipher_suite_to_wpa_cipher(u32 cipher)
  - BBCount: 24
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 49
    argCount: 1
    argNames:
    - akm_suite
    argTypes:
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 240
    functionName: rsn_key_mgmt_to_wpa_akm
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int rsn_key_mgmt_to_wpa_akm(u32 akm_suite)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_key_mgmt_sae
      Src: /src/hostap/src/common/wpa_common.c:254,1
    - Dst: wpa_key_mgmt_suite_b
      Src: /src/hostap/src/common/wpa_common.c:255,1
    - Dst: wpa_key_mgmt_fils
      Src: /src/hostap/src/common/wpa_common.c:256,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - akmp
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 257
    functionName: wpa_use_akm_defined
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 5
    functionsReached:
    - wpa_key_mgmt_sae
    - wpa_key_mgmt_suite_b
    - wpa_key_mgmt_fils
    linkageType: ''
    returnType: int
    signature: int wpa_use_akm_defined(int akmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_key_mgmt_ft
      Src: /src/hostap/src/common/wpa_common.c:269,1
    - Dst: wpa_key_mgmt_sha256
      Src: /src/hostap/src/common/wpa_common.c:270,1
    - Dst: wpa_key_mgmt_sae
      Src: /src/hostap/src/common/wpa_common.c:271,1
    - Dst: wpa_key_mgmt_sae_ext_key
      Src: /src/hostap/src/common/wpa_common.c:272,1
    - Dst: wpa_key_mgmt_suite_b
      Src: /src/hostap/src/common/wpa_common.c:273,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - akmp
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 274
    functionName: wpa_use_cmac
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 3
    functionsReached:
    - wpa_key_mgmt_sae
    - wpa_key_mgmt_sae_ext_key
    - wpa_key_mgmt_suite_b
    - wpa_key_mgmt_sha256
    - wpa_key_mgmt_ft
    linkageType: ''
    returnType: int
    signature: int wpa_use_cmac(int akmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_key_mgmt_ft
      Src: /src/hostap/src/common/wpa_common.c:291,1
    - Dst: wpa_key_mgmt_sha256
      Src: /src/hostap/src/common/wpa_common.c:292,1
    - Dst: wpa_key_mgmt_sae
      Src: /src/hostap/src/common/wpa_common.c:293,1
    - Dst: wpa_key_mgmt_suite_b
      Src: /src/hostap/src/common/wpa_common.c:294,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - akmp
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 295
    functionName: wpa_use_aes_key_wrap
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 4
    functionsReached:
    - wpa_key_mgmt_sae
    - wpa_key_mgmt_suite_b
    - wpa_key_mgmt_sha256
    - wpa_key_mgmt_ft
    linkageType: ''
    returnType: int
    signature: int wpa_use_aes_key_wrap(int akmp)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:317,1
    - Dst: wpa_key_mgmt_txt
      Src: /src/hostap/src/common/wpa_common.c:321,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/wpa_common.c:322,1
    - Dst: hmac_sha256
      Src: /src/hostap/src/common/wpa_common.c:325,1
    - Dst: hmac_sha384
      Src: /src/hostap/src/common/wpa_common.c:330,1
    - Dst: hmac_sha512
      Src: /src/hostap/src/common/wpa_common.c:336,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:341,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:347,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/wpa_common.c:348,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 8
    argNames:
    - key
    - key_len
    - akmp
    - hash_alg
    - ver
    - buf
    - len
    - mic
    argTypes:
    - u8*
    - size_t
    - int
    - enum rsn_hash_alg
    - int
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 350
    functionName: rsn_eapol_key_mic_hash
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_hexdump
    - hmac_sha256
    - hmac_sha512
    - wpa_key_mgmt_txt
    - hmac_sha384
    linkageType: ''
    returnType: int
    signature: "int rsn_eapol_key_mic_hash(const u8 *key, size_t key_len, int akmp,\n\t\t\t\t
      \ enum rsn_hash_alg hash_alg, int ver,\n\t\t\t\t  const u8 *buf, size_t len,
      u8 *mic)"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:382,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:390,1
    - Dst: hmac_md5
      Src: /src/hostap/src/common/wpa_common.c:391,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:394,1
    - Dst: hmac_sha1
      Src: /src/hostap/src/common/wpa_common.c:395,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:397,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:400,1
    - Dst: omac1_aes_128
      Src: /src/hostap/src/common/wpa_common.c:401,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:407,1
    - Dst: omac1_aes_128
      Src: /src/hostap/src/common/wpa_common.c:409,1
    - Dst: rsn_eapol_key_mic_hash
      Src: /src/hostap/src/common/wpa_common.c:412,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:419,1
    - Dst: hmac_sha256
      Src: /src/hostap/src/common/wpa_common.c:421,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:423,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:428,1
    - Dst: hmac_sha384
      Src: /src/hostap/src/common/wpa_common.c:430,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:432,1
    - Dst: rsn_eapol_key_mic_hash
      Src: /src/hostap/src/common/wpa_common.c:437,1
    - Dst: rsn_eapol_key_mic_hash
      Src: /src/hostap/src/common/wpa_common.c:444,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:454,1
    - Dst: hmac_sha384
      Src: /src/hostap/src/common/wpa_common.c:456,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:458,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:462,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:469,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 66
    argCount: 8
    argNames:
    - key
    - key_len
    - akmp
    - hash_alg
    - ver
    - buf
    - len
    - mic
    argTypes:
    - u8*
    - size_t
    - int
    - enum rsn_hash_alg
    - int
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 375
    functionDepth: 2
    functionLinenumber: 375
    functionLinenumberEnd: 476
    functionName: wpa_eapol_key_mic
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 7
    functionsReached:
    - wpa_printf
    - os_memcpy
    - hmac_sha256
    - hmac_sha1
    - omac1_aes_128
    - hmac_sha384
    - rsn_eapol_key_mic_hash
    - hmac_md5
    linkageType: ''
    returnType: int
    signature: "int wpa_eapol_key_mic(const u8 *key, size_t key_len, int akmp,\n\t\t
      \     enum rsn_hash_alg hash_alg, int ver,\n\t\t      const u8 *buf, size_t
      len, u8 *mic)"
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:529,1
    - Dst: os_memcmp
      Src: /src/hostap/src/common/wpa_common.c:536,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:537,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:538,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:540,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:541,1
    - Dst: os_memcmp
      Src: /src/hostap/src/common/wpa_common.c:544,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:545,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:546,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:549,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:550,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:555,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:560,1
    - Dst: wpa_kck_len
      Src: /src/hostap/src/common/wpa_common.c:566,1
    - Dst: wpa_kek_len
      Src: /src/hostap/src/common/wpa_common.c:567,1
    - Dst: wpa_cipher_key_len
      Src: /src/hostap/src/common/wpa_common.c:568,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:571,1
    - Dst: wpa_key_mgmt_sha384
      Src: /src/hostap/src/common/wpa_common.c:578,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:580,1
    - Dst: sha384_prf
      Src: /src/hostap/src/common/wpa_common.c:581,1
    - Dst: wpa_key_mgmt_sha256
      Src: /src/hostap/src/common/wpa_common.c:588,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:589,1
    - Dst: sha256_prf
      Src: /src/hostap/src/common/wpa_common.c:590,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:597,1
    - Dst: sha256_prf
      Src: /src/hostap/src/common/wpa_common.c:598,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:608,1
    - Dst: sha384_prf
      Src: /src/hostap/src/common/wpa_common.c:609,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:614,1
    - Dst: sha512_prf
      Src: /src/hostap/src/common/wpa_common.c:615,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:620,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:626,1
    - Dst: sha256_prf
      Src: /src/hostap/src/common/wpa_common.c:627,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:632,1
    - Dst: sha384_prf
      Src: /src/hostap/src/common/wpa_common.c:633,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:638,1
    - Dst: sha512_prf
      Src: /src/hostap/src/common/wpa_common.c:639,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:644,1
    - Dst: wpa_key_mgmt_sae_ext_key
      Src: /src/hostap/src/common/wpa_common.c:649,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:651,1
    - Dst: sha256_prf
      Src: /src/hostap/src/common/wpa_common.c:653,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:659,1
    - Dst: sha384_prf
      Src: /src/hostap/src/common/wpa_common.c:661,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:668,1
    - Dst: sha512_prf
      Src: /src/hostap/src/common/wpa_common.c:670,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:676,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:682,1
    - Dst: sha1_prf
      Src: /src/hostap/src/common/wpa_common.c:683,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:689,1
    - Dst: MAC2STR
      Src: /src/hostap/src/common/wpa_common.c:690,1
    - Dst: MAC2STR
      Src: /src/hostap/src/common/wpa_common.c:690,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/wpa_common.c:691,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/wpa_common.c:692,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/wpa_common.c:694,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/wpa_common.c:695,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/wpa_common.c:696,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:698,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/wpa_common.c:699,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:701,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/wpa_common.c:702,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:704,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/wpa_common.c:705,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:708,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/wpa_common.c:710,1
    - Dst: os_memset
      Src: /src/hostap/src/common/wpa_common.c:717,1
    - Dst: os_memset
      Src: /src/hostap/src/common/wpa_common.c:718,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 154
    argCount: 13
    argNames:
    - pmk
    - pmk_len
    - label
    - addr1
    - addr2
    - nonce1
    - nonce2
    - ptk
    - akmp
    - cipher
    - z
    - z_len
    - kdk_len
    argTypes:
    - u8*
    - size_t
    - char*
    - u8*
    - u8*
    - u8*
    - u8*
    - struct wpa_ptk*
    - int
    - int
    - u8*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 507
    functionDepth: 2
    functionLinenumber: 507
    functionLinenumberEnd: 720
    functionName: wpa_pmk_to_ptk
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 4
    functionsReached:
    - sha256_prf
    - os_memcpy
    - wpa_printf
    - sha384_prf
    - wpa_cipher_key_len
    - wpa_key_mgmt_sae_ext_key
    - wpa_hexdump
    - wpa_hexdump_key
    - wpa_key_mgmt_sha384
    - wpa_key_mgmt_sha256
    - sha1_prf
    - wpa_kck_len
    - MAC2STR
    - os_memcmp
    - sha512_prf
    - wpa_kek_len
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpa_pmk_to_ptk(const u8 *pmk, size_t pmk_len, const char *label,\n\t\t
      \  const u8 *addr1, const u8 *addr2,\n\t\t   const u8 *nonce1, const u8 *nonce2,\n\t\t
      \  struct wpa_ptk *ptk, int akmp, int cipher,\n\t\t   const u8 *z, size_t z_len,
      size_t kdk_len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:735,1
    - Dst: wpa_key_mgmt_sha384
      Src: /src/hostap/src/common/wpa_common.c:737,1
    - Dst: wpa_key_mgmt_sha256
      Src: /src/hostap/src/common/wpa_common.c:739,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/wpa_common.c:744,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/wpa_common.c:745,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/wpa_common.c:746,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/wpa_common.c:747,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:749,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:750,1
    - Dst: wpa_key_mgmt_sha384
      Src: /src/hostap/src/common/wpa_common.c:759,1
    - Dst: hmac_sha384_vector
      Src: /src/hostap/src/common/wpa_common.c:760,1
    - Dst: hmac_sha256_vector
      Src: /src/hostap/src/common/wpa_common.c:763,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/wpa_common.c:766,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 9
    argNames:
    - akmp
    - rmsk
    - rmsk_len
    - snonce
    - anonce
    - dh_ss
    - dh_ss_len
    - pmk
    - pmk_len
    argTypes:
    - int
    - u8*
    - size_t
    - u8*
    - u8*
    - u8*
    - size_t
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 724
    functionDepth: 1
    functionLinenumber: 724
    functionLinenumberEnd: 770
    functionName: fils_rmsk_to_pmk
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 5
    functionsReached:
    - wpa_printf
    - wpa_hexdump_key
    - os_memcpy
    - wpa_hexdump
    - wpa_key_mgmt_sha384
    - wpa_key_mgmt_sha256
    - hmac_sha384_vector
    - hmac_sha256_vector
    linkageType: ''
    returnType: int
    signature: "int fils_rmsk_to_pmk(int akmp, const u8 *rmsk, size_t rmsk_len,\n\t\t
      \    const u8 *snonce, const u8 *anonce, const u8 *dh_ss,\n\t\t     size_t dh_ss_len,
      u8 *pmk, size_t *pmk_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_key_mgmt_sha384
      Src: /src/hostap/src/common/wpa_common.c:784,1
    - Dst: sha384_vector
      Src: /src/hostap/src/common/wpa_common.c:785,1
    - Dst: wpa_key_mgmt_sha256
      Src: /src/hostap/src/common/wpa_common.c:786,1
    - Dst: sha256_vector
      Src: /src/hostap/src/common/wpa_common.c:787,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:792,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/wpa_common.c:793,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - akmp
    - reauth
    - reauth_len
    - pmkid
    argTypes:
    - int
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 773
    functionDepth: 1
    functionLinenumber: 773
    functionLinenumberEnd: 795
    functionName: fils_pmkid_erp
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 4
    functionsReached:
    - sha256_vector
    - os_memcpy
    - wpa_hexdump
    - sha384_vector
    - wpa_key_mgmt_sha384
    - wpa_key_mgmt_sha256
    linkageType: ''
    returnType: int
    signature: "int fils_pmkid_erp(int akmp, const u8 *reauth, size_t reauth_len,\n\t\t
      \  u8 *pmkid)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/common/wpa_common.c:827,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:831,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:833,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:835,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:837,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:840,1
    - Dst: wpa_kek_len
      Src: /src/hostap/src/common/wpa_common.c:843,1
    - Dst: wpa_cipher_key_len
      Src: /src/hostap/src/common/wpa_common.c:844,1
    - Dst: wpa_key_mgmt_sha384
      Src: /src/hostap/src/common/wpa_common.c:845,1
    - Dst: wpa_key_mgmt_sha256
      Src: /src/hostap/src/common/wpa_common.c:847,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:855,1
    - Dst: wpa_key_mgmt_sha384
      Src: /src/hostap/src/common/wpa_common.c:878,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:879,1
    - Dst: sha384_prf
      Src: /src/hostap/src/common/wpa_common.c:880,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:884,1
    - Dst: sha256_prf
      Src: /src/hostap/src/common/wpa_common.c:885,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:890,1
    - Dst: MAC2STR
      Src: /src/hostap/src/common/wpa_common.c:891,1
    - Dst: MAC2STR
      Src: /src/hostap/src/common/wpa_common.c:891,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/wpa_common.c:892,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/wpa_common.c:893,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/wpa_common.c:895,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/wpa_common.c:896,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/wpa_common.c:897,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:899,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/wpa_common.c:901,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:903,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/wpa_common.c:904,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:907,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/wpa_common.c:908,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:912,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/wpa_common.c:913,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:919,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/wpa_common.c:920,1
    - Dst: os_memset
      Src: /src/hostap/src/common/wpa_common.c:926,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/common/wpa_common.c:929,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 94
    argCount: 16
    argNames:
    - pmk
    - pmk_len
    - spa
    - aa
    - snonce
    - anonce
    - dhss
    - dhss_len
    - ptk
    - ick
    - ick_len
    - akmp
    - cipher
    - fils_ft
    - fils_ft_len
    - kdk_len
    argTypes:
    - u8*
    - size_t
    - u8*
    - u8*
    - u8*
    - u8*
    - u8*
    - size_t
    - struct wpa_ptk*
    - u8*
    - size_t*
    - int
    - int
    - u8*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 798
    functionDepth: 2
    functionLinenumber: 798
    functionLinenumberEnd: 931
    functionName: fils_pmk_to_ptk
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 3
    functionsReached:
    - sha256_prf
    - os_memcpy
    - wpa_printf
    - sha384_prf
    - wpa_cipher_key_len
    - wpa_hexdump
    - wpa_hexdump_key
    - wpa_key_mgmt_sha384
    - os_malloc
    - wpa_key_mgmt_sha256
    - bin_clear_free
    - MAC2STR
    - wpa_kek_len
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int fils_pmk_to_ptk(const u8 *pmk, size_t pmk_len, const u8 *spa,
      const u8 *aa,\n\t\t    const u8 *snonce, const u8 *anonce, const u8 *dhss,\n\t\t
      \   size_t dhss_len, struct wpa_ptk *ptk,\n\t\t    u8 *ick, size_t *ick_len,
      int akmp, int cipher,\n\t\t    u8 *fils_ft, size_t *fils_ft_len, size_t kdk_len)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:946,1
    - Dst: MAC2STR
      Src: /src/hostap/src/common/wpa_common.c:947,1
    - Dst: MAC2STR
      Src: /src/hostap/src/common/wpa_common.c:947,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/wpa_common.c:948,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/wpa_common.c:949,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/wpa_common.c:950,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/wpa_common.c:951,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/wpa_common.c:952,1
    - Dst: wpa_key_mgmt_sha384
      Src: /src/hostap/src/common/wpa_common.c:975,1
    - Dst: hmac_sha384_vector
      Src: /src/hostap/src/common/wpa_common.c:977,1
    - Dst: wpa_key_mgmt_sha256
      Src: /src/hostap/src/common/wpa_common.c:979,1
    - Dst: hmac_sha256_vector
      Src: /src/hostap/src/common/wpa_common.c:981,1
    - Dst: wpa_key_mgmt_sha384
      Src: /src/hostap/src/common/wpa_common.c:1005,1
    - Dst: hmac_sha384_vector
      Src: /src/hostap/src/common/wpa_common.c:1006,1
    - Dst: wpa_key_mgmt_sha256
      Src: /src/hostap/src/common/wpa_common.c:1008,1
    - Dst: hmac_sha256_vector
      Src: /src/hostap/src/common/wpa_common.c:1009,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/wpa_common.c:1014,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/wpa_common.c:1016,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 53
    argCount: 14
    argNames:
    - ick
    - ick_len
    - snonce
    - anonce
    - sta_addr
    - bssid
    - g_sta
    - g_sta_len
    - g_ap
    - g_ap_len
    - akmp
    - key_auth_sta
    - key_auth_ap
    - key_auth_len
    argTypes:
    - u8*
    - size_t
    - u8*
    - u8*
    - u8*
    - u8*
    - u8*
    - size_t
    - u8*
    - size_t
    - int
    - u8*
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1020
      start: 934
    functionDepth: 1
    functionLinenumber: 934
    functionLinenumberEnd: 1020
    functionName: fils_key_auth_sk
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - wpa_hexdump_key
    - wpa_hexdump
    - wpa_key_mgmt_sha384
    - wpa_key_mgmt_sha256
    - MAC2STR
    - hmac_sha384_vector
    - hmac_sha256_vector
    linkageType: ''
    returnType: int
    signature: "int fils_key_auth_sk(const u8 *ick, size_t ick_len, const u8 *snonce,\n\t\t
      \    const u8 *anonce, const u8 *sta_addr, const u8 *bssid,\n\t\t     const
      u8 *g_sta, size_t g_sta_len,\n\t\t     const u8 *g_ap, size_t g_ap_len,\n\t\t
      \    int akmp, u8 *key_auth_sta, u8 *key_auth_ap,\n\t\t     size_t *key_auth_len)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:1054,1
    - Dst: os_memset
      Src: /src/hostap/src/common/wpa_common.c:1093,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/wpa_common.c:1116,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/wpa_common.c:1117,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/wpa_common.c:1122,1
    - Dst: hmac_sha512_vector
      Src: /src/hostap/src/common/wpa_common.c:1128,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:1130,1
    - Dst: hmac_sha384_vector
      Src: /src/hostap/src/common/wpa_common.c:1138,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:1140,1
    - Dst: hmac_sha256_vector
      Src: /src/hostap/src/common/wpa_common.c:1147,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:1149,1
    - Dst: omac1_aes_128_vector
      Src: /src/hostap/src/common/wpa_common.c:1153,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 86
    argCount: 18
    argNames:
    - key_mgmt
    - kck
    - kck_len
    - sta_addr
    - ap_addr
    - transaction_seqnum
    - mdie
    - mdie_len
    - ftie
    - ftie_len
    - rsnie
    - rsnie_len
    - ric
    - ric_len
    - rsnxe
    - rsnxe_len
    - extra
    - mic
    argTypes:
    - int
    - u8*
    - size_t
    - u8*
    - u8*
    - u8
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    - struct wpabuf*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1157
      start: 1026
    functionDepth: 1
    functionLinenumber: 1026
    functionLinenumberEnd: 1157
    functionName: wpa_ft_mic
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 5
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_hexdump
    - wpabuf_len
    - hmac_sha512_vector
    - wpabuf_head
    - omac1_aes_128_vector
    - hmac_sha384_vector
    - hmac_sha256_vector
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpa_ft_mic(int key_mgmt, const u8 *kck, size_t kck_len, const
      u8 *sta_addr,\n\t       const u8 *ap_addr, u8 transaction_seqnum,\n\t       const
      u8 *mdie, size_t mdie_len,\n\t       const u8 *ftie, size_t ftie_len,\n\t       const
      u8 *rsnie, size_t rsnie_len,\n\t       const u8 *ric, size_t ric_len,\n\t       const
      u8 *rsnxe, size_t rsnxe_len,\n\t       const struct wpabuf *extra,\n\t       u8
      *mic)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/wpa_common.c:1168,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:1176,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:1183,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/wpa_common.c:1189,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:1193,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:1199,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/wpa_common.c:1206,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:1210,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/wpa_common.c:1218,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:1223,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:1229,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:1234,1
    - Dst: BIT
      Src: /src/hostap/src/common/wpa_common.c:1238,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:1244,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:1249,1
    - Dst: BIT
      Src: /src/hostap/src/common/wpa_common.c:1253,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:1259,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:1264,1
    - Dst: BIT
      Src: /src/hostap/src/common/wpa_common.c:1268,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:1273,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 95
    argCount: 4
    argNames:
    - ie
    - ie_len
    - parse
    - opt
    argTypes:
    - u8*
    - size_t
    - struct wpa_ft_ies*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1281
      start: 1160
    functionDepth: 0
    functionLinenumber: 1160
    functionLinenumberEnd: 1281
    functionName: wpa_ft_parse_ftie
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - BIT
    - wpa_hexdump
    linkageType: ''
    returnType: int
    signature: "int wpa_ft_parse_ftie(const u8 *ie, size_t ie_len,\n\t\t\t     struct
      wpa_ft_ies *parse, const u8 *opt)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/wpa_common.c:1292,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:1311,1
    - Dst: wpa_key_mgmt_sha384
      Src: /src/hostap/src/common/wpa_common.c:1317,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:1320,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/wpa_common.c:1324,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/wpa_common.c:1332,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/wpa_common.c:1336,1
    - Dst: wpa_ft_parse_ftie
      Src: /src/hostap/src/common/wpa_common.c:1340,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 41
    argCount: 4
    argNames:
    - key_mgmt
    - ie
    - len
    - parse
    argTypes:
    - int
    - u8*
    - size_t
    - struct wpa_ft_ies*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1341
      start: 1284
    functionDepth: 1
    functionLinenumber: 1284
    functionLinenumberEnd: 1341
    functionName: wpa_ft_parse_fte
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_key_mgmt_sha384
    - wpa_ft_parse_ftie
    - wpa_hexdump
    linkageType: ''
    returnType: int
    signature: "int wpa_ft_parse_fte(int key_mgmt, const u8 *ie, size_t len,\n\t\t\t
      \   struct wpa_ft_ies *parse)"
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/common/wpa_common.c:1356,1
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/src/common/wpa_common.c:1360,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:1361,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/wpa_common.c:1381,1
    - Dst: wpa_parse_wpa_ie_rsn
      Src: /src/hostap/src/common/wpa_common.c:1384,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:1388,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/wpa_common.c:1401,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/wpa_common.c:1408,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/wpa_common.c:1415,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/wpa_common.c:1433,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/wpa_common.c:1439,1
    - Dst: wpa_ft_parse_fte
      Src: /src/hostap/src/common/wpa_common.c:1459,1
    - Dst: ieee802_11_defrag
      Src: /src/hostap/src/common/wpa_common.c:1461,1
    - Dst: wpa_ft_parse_fte
      Src: /src/hostap/src/common/wpa_common.c:1464,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/wpa_common.c:1465,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/wpa_common.c:1466,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:1509,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:1515,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:1531,1
    - Dst: wpa_ft_parse_ies_free
      Src: /src/hostap/src/common/wpa_common.c:1539,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 147
    argCount: 5
    argNames:
    - ies
    - ies_len
    - parse
    - key_mgmt
    - reassoc_resp
    argTypes:
    - u8*
    - size_t
    - struct wpa_ft_ies*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1541
      start: 1344
    functionDepth: 4
    functionLinenumber: 1344
    functionLinenumberEnd: 1541
    functionName: wpa_ft_parse_ies
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 13
    functionsReached:
    - ieee802_11_defrag
    - wpa_printf
    - wpa_hexdump
    - wpabuf_len
    - wpa_parse_wpa_ie_rsn
    - wpa_ft_parse_ies_free
    - wpa_ft_parse_fte
    - wpabuf_head
    - ieee802_11_parse_elems
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpa_ft_parse_ies(const u8 *ies, size_t ies_len, struct wpa_ft_ies
      *parse,\n\t\t     int key_mgmt, bool reassoc_resp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/wpa_common.c:1548,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - parse
    argTypes:
    - struct wpa_ft_ies*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1550
      start: 1544
    functionDepth: 1
    functionLinenumber: 1544
    functionLinenumberEnd: 1550
    functionName: wpa_ft_parse_ies_free
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 14
    functionsReached:
    - wpabuf_free
    linkageType: ''
    returnType: void
    signature: void wpa_ft_parse_ies_free(struct wpa_ft_ies *parse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_key_mgmt_sha384
      Src: /src/hostap/src/common/wpa_common.c:1576,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - akmp
    - cipher
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1577
      start: 1571
    functionDepth: 1
    functionLinenumber: 1571
    functionLinenumberEnd: 1577
    functionName: pasn_use_sha384
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 0
    functionsReached:
    - wpa_key_mgmt_sha384
    linkageType: ''
    returnType: bool
    signature: bool pasn_use_sha384(int akmp, int cipher)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_key_mgmt_sae_ext_key
      Src: /src/hostap/src/common/wpa_common.c:1598,1
    - Dst: pasn_use_sha384
      Src: /src/hostap/src/common/wpa_common.c:1606,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - akmp
    - cipher
    - pmk_len
    argTypes:
    - int
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1610
      start: 1594
    functionDepth: 2
    functionLinenumber: 1594
    functionLinenumberEnd: 1610
    functionName: pasn_select_hash_alg
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 0
    functionsReached:
    - pasn_use_sha384
    - wpa_key_mgmt_sae_ext_key
    linkageType: ''
    returnType: enum rsn_hash_alg
    signature: "enum rsn_hash_alg pasn_select_hash_alg(int akmp, int cipher,\n\t\t\t\t\t
      \     size_t pmk_len)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:1652,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:1657,1
    - Dst: os_zalloc
      Src: /src/hostap/src/common/wpa_common.c:1675,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:1679,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:1680,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:1681,1
    - Dst: wpa_cipher_key_len
      Src: /src/hostap/src/common/wpa_common.c:1684,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:1691,1
    - Dst: pasn_select_hash_alg
      Src: /src/hostap/src/common/wpa_common.c:1701,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:1706,1
    - Dst: sha512_prf
      Src: /src/hostap/src/common/wpa_common.c:1708,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:1715,1
    - Dst: sha384_prf
      Src: /src/hostap/src/common/wpa_common.c:1717,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:1723,1
    - Dst: sha256_prf
      Src: /src/hostap/src/common/wpa_common.c:1725,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:1730,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:1735,1
    - Dst: MAC2STR
      Src: /src/hostap/src/common/wpa_common.c:1737,1
    - Dst: MAC2STR
      Src: /src/hostap/src/common/wpa_common.c:1737,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/wpa_common.c:1739,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/wpa_common.c:1740,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/wpa_common.c:1741,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:1743,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/wpa_common.c:1744,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:1748,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/wpa_common.c:1749,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:1754,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/wpa_common.c:1755,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:1759,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/wpa_common.c:1760,1
    - Dst: forced_memzero
      Src: /src/hostap/src/common/wpa_common.c:1766,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/common/wpa_common.c:1769,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 83
    argCount: 13
    argNames:
    - pmk
    - pmk_len
    - spa
    - bssid
    - dhss
    - dhss_len
    - ptk
    - akmp
    - cipher
    - kdk_len
    - kek_len
    - alg
    - is_eppke
    argTypes:
    - u8*
    - size_t
    - u8*
    - u8*
    - u8*
    - size_t
    - struct wpa_ptk*
    - int
    - int
    - size_t
    - size_t
    - enum rsn_hash_alg*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1771
      start: 1635
    functionDepth: 3
    functionLinenumber: 1635
    functionLinenumberEnd: 1771
    functionName: pasn_pmk_to_ptk
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 4
    functionsReached:
    - pasn_select_hash_alg
    - sha256_prf
    - wpa_printf
    - os_memcpy
    - sha384_prf
    - wpa_cipher_key_len
    - wpa_hexdump_key
    - forced_memzero
    - MAC2STR
    - os_zalloc
    - sha512_prf
    - bin_clear_free
    linkageType: ''
    returnType: int
    signature: "int pasn_pmk_to_ptk(const u8 *pmk, size_t pmk_len,\n\t\t    const
      u8 *spa, const u8 *bssid,\n\t\t    const u8 *dhss, size_t dhss_len,\n\t\t    struct
      wpa_ptk *ptk, int akmp, int cipher,\n\t\t    size_t kdk_len, size_t kek_len,
      enum rsn_hash_alg *alg,\n\t\t    bool is_eppke)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - alg
    argTypes:
    - enum rsn_hash_alg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1789
      start: 1778
    functionDepth: 0
    functionLinenumber: 1778
    functionLinenumberEnd: 1789
    functionName: pasn_mic_len
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t pasn_mic_len(enum rsn_hash_alg alg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:1809,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/wpa_common.c:1814,1
    - Dst: pasn_use_sha384
      Src: /src/hostap/src/common/wpa_common.c:1816,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:1817,1
    - Dst: hmac_sha384
      Src: /src/hostap/src/common/wpa_common.c:1820,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:1821,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:1825,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/wpa_common.c:1827,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:1831,1
    - Dst: hmac_sha256
      Src: /src/hostap/src/common/wpa_common.c:1833,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:1834,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:1838,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/wpa_common.c:1840,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 3
    argNames:
    - ptk
    - akmp
    - cipher
    argTypes:
    - struct wpa_ptk*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1845
      start: 1799
    functionDepth: 2
    functionLinenumber: 1799
    functionLinenumberEnd: 1845
    functionName: wpa_ltf_keyseed
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 10
    functionsReached:
    - os_strlen
    - wpa_printf
    - os_memcpy
    - wpa_hexdump_key
    - hmac_sha256
    - pasn_use_sha384
    - hmac_sha384
    linkageType: ''
    returnType: int
    signature: int wpa_ltf_keyseed(struct wpa_ptk *ptk, int akmp, int cipher)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_pmk_to_ptk
      Src: /src/hostap/src/common/wpa_common.c:1856,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 12
    argNames:
    - pmk
    - pmk_len
    - spa
    - aa
    - snonce
    - anonce
    - akmp
    - cipher
    - dhss
    - dhss_len
    - ptk
    - kdk_len
    argTypes:
    - u8*
    - size_t
    - u8*
    - u8*
    - u8*
    - u8*
    - int
    - int
    - u8*
    - size_t
    - struct wpa_ptk*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1859
      start: 1850
    functionDepth: 3
    functionLinenumber: 1850
    functionLinenumberEnd: 1859
    functionName: wpa_auth_802_1x_pmk_to_ptk
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 3
    functionsReached:
    - wpa_pmk_to_ptk
    linkageType: ''
    returnType: int
    signature: "int wpa_auth_802_1x_pmk_to_ptk(const u8 *pmk, size_t pmk_len, const
      u8 *spa,\n\t\t\t       const u8 *aa, const u8 *snonce, const u8 *anonce,\n\t\t\t
      \      int akmp, int cipher, const u8 *dhss,\n\t\t\t       size_t dhss_len,
      struct wpa_ptk *ptk,\n\t\t\t       size_t kdk_len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:1898,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:1903,1
    - Dst: os_zalloc
      Src: /src/hostap/src/common/wpa_common.c:1908,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:1912,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:1913,1
    - Dst: MAC2STR
      Src: /src/hostap/src/common/wpa_common.c:1913,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:1914,1
    - Dst: MAC2STR
      Src: /src/hostap/src/common/wpa_common.c:1914,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:1916,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:1917,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/wpa_common.c:1919,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:1920,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/wpa_common.c:1922,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/wpa_common.c:1925,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:1927,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/wpa_common.c:1930,1
    - Dst: wpa_key_mgmt_sha384
      Src: /src/hostap/src/common/wpa_common.c:1931,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:1932,1
    - Dst: hmac_sha384
      Src: /src/hostap/src/common/wpa_common.c:1935,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:1938,1
    - Dst: hmac_sha256
      Src: /src/hostap/src/common/wpa_common.c:1941,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/wpa_common.c:1945,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/common/wpa_common.c:1948,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 10
    argNames:
    - akmp
    - kck
    - kck_len
    - addr1
    - addr2
    - data
    - data_len
    - frame
    - frame_len
    - mic
    argTypes:
    - int
    - u8*
    - size_t
    - u8*
    - u8*
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1950
      start: 1888
    functionDepth: 1
    functionLinenumber: 1888
    functionLinenumberEnd: 1950
    functionName: wpa_auth_8021x_mic
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_hexdump_key
    - hmac_sha256
    - wpa_key_mgmt_sha384
    - MAC2STR
    - os_zalloc
    - hmac_sha384
    - bin_clear_free
    linkageType: ''
    returnType: int
    signature: "int wpa_auth_8021x_mic(int akmp, const u8 *kck, size_t kck_len, const
      u8 *addr1,\n\t\t       const u8 *addr2, const u8 *data, size_t data_len,\n\t\t
      \      const u8 *frame, size_t frame_len, u8 *mic)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:1991,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:1996,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:2003,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:2008,1
    - Dst: os_zalloc
      Src: /src/hostap/src/common/wpa_common.c:2012,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:2016,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:2017,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/wpa_common.c:2019,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:2020,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/wpa_common.c:2022,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:2023,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/wpa_common.c:2025,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/wpa_common.c:2026,1
    - Dst: pasn_mic_len
      Src: /src/hostap/src/common/wpa_common.c:2028,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:2033,1
    - Dst: hmac_sha512
      Src: /src/hostap/src/common/wpa_common.c:2034,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:2040,1
    - Dst: hmac_sha384
      Src: /src/hostap/src/common/wpa_common.c:2041,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:2046,1
    - Dst: hmac_sha256
      Src: /src/hostap/src/common/wpa_common.c:2047,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:2051,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:2056,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/wpa_common.c:2057,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/common/wpa_common.c:2061,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 60
    argCount: 10
    argNames:
    - alg
    - kck
    - kck_len
    - addr1
    - addr2
    - data
    - data_len
    - frame
    - frame_len
    - mic
    argTypes:
    - enum rsn_hash_alg
    - u8*
    - size_t
    - u8*
    - u8*
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2063
      start: 1979
    functionDepth: 1
    functionLinenumber: 1979
    functionLinenumberEnd: 2063
    functionName: pasn_mic
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 3
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_hexdump_key
    - hmac_sha256
    - hmac_sha512
    - bin_clear_free
    - os_zalloc
    - hmac_sha384
    - pasn_mic_len
    linkageType: ''
    returnType: int
    signature: "int pasn_mic(enum rsn_hash_alg alg, const u8 *kck, size_t kck_len,\n\t
      \    const u8 *addr1, const u8 *addr2,\n\t     const u8 *data, size_t data_len,\n\t
      \    const u8 *frame, size_t frame_len, u8 *mic)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:2081,1
    - Dst: sha512_vector
      Src: /src/hostap/src/common/wpa_common.c:2082,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:2086,1
    - Dst: sha384_vector
      Src: /src/hostap/src/common/wpa_common.c:2087,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:2090,1
    - Dst: sha256_vector
      Src: /src/hostap/src/common/wpa_common.c:2091,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:2093,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 4
    argNames:
    - alg
    - data
    - len
    - hash
    argTypes:
    - enum rsn_hash_alg
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2096
      start: 2075
    functionDepth: 0
    functionLinenumber: 2075
    functionLinenumberEnd: 2096
    functionName: pasn_auth_frame_hash
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 1
    functionsReached:
    - sha384_vector
    - wpa_printf
    - sha512_vector
    - sha256_vector
    linkageType: ''
    returnType: int
    signature: "int pasn_auth_frame_hash(enum rsn_hash_alg alg, const u8 *data, size_t
      len,\n\t\t\t u8 *hash)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rsn_cipher_suite_to_wpa_cipher
      Src: /src/hostap/src/common/wpa_common.c:2103,1
    - Dst: RSN_SELECTOR_GET
      Src: /src/hostap/src/common/wpa_common.c:2103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2104
      start: 2101
    functionDepth: 1
    functionLinenumber: 2101
    functionLinenumberEnd: 2104
    functionName: rsn_selector_to_bitfield
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 0
    functionsReached:
    - RSN_SELECTOR_GET
    - rsn_cipher_suite_to_wpa_cipher
    linkageType: ''
    returnType: int
    signature: int rsn_selector_to_bitfield(const u8 *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rsn_key_mgmt_to_wpa_akm
      Src: /src/hostap/src/common/wpa_common.c:2109,1
    - Dst: RSN_SELECTOR_GET
      Src: /src/hostap/src/common/wpa_common.c:2109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2110
      start: 2107
    functionDepth: 1
    functionLinenumber: 2107
    functionLinenumberEnd: 2110
    functionName: rsn_key_mgmt_to_bitfield
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 0
    functionsReached:
    - RSN_SELECTOR_GET
    - rsn_key_mgmt_to_wpa_akm
    linkageType: ''
    returnType: int
    signature: int rsn_key_mgmt_to_bitfield(const u8 *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_cipher_valid_pairwise
      Src: /src/hostap/src/common/wpa_common.c:2115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2117
      start: 2113
    functionDepth: 1
    functionLinenumber: 2113
    functionLinenumberEnd: 2117
    functionName: wpa_cipher_valid_group
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 3
    functionsReached:
    - wpa_cipher_valid_pairwise
    linkageType: ''
    returnType: int
    signature: int wpa_cipher_valid_group(int cipher)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2127
      start: 2120
    functionDepth: 0
    functionLinenumber: 2120
    functionLinenumberEnd: 2127
    functionName: wpa_cipher_valid_mgmt_group
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpa_cipher_valid_mgmt_group(int cipher)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/common/wpa_common.c:2144,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:2160,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/common/wpa_common.c:2167,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/common/wpa_common.c:2168,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/common/wpa_common.c:2170,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/common/wpa_common.c:2180,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:2181,1
    - Dst: rsn_selector_to_bitfield
      Src: /src/hostap/src/common/wpa_common.c:2191,1
    - Dst: wpa_cipher_valid_group
      Src: /src/hostap/src/common/wpa_common.c:2193,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:2194,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/common/wpa_common.c:2197,1
    - Dst: RSN_SELECTOR_GET
      Src: /src/hostap/src/common/wpa_common.c:2199,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:2200,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:2210,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/common/wpa_common.c:2217,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:2221,1
    - Dst: rsn_selector_to_bitfield
      Src: /src/hostap/src/common/wpa_common.c:2228,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:2233,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:2238,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/common/wpa_common.c:2245,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:2249,1
    - Dst: rsn_key_mgmt_to_bitfield
      Src: /src/hostap/src/common/wpa_common.c:2254,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:2259,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/common/wpa_common.c:2265,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/common/wpa_common.c:2271,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:2275,1
    - Dst: rsn_selector_to_bitfield
      Src: /src/hostap/src/common/wpa_common.c:2289,1
    - Dst: wpa_cipher_valid_mgmt_group
      Src: /src/hostap/src/common/wpa_common.c:2290,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:2291,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/common/wpa_common.c:2294,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/wpa_common.c:2302,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 122
    argCount: 3
    argNames:
    - rsn_ie
    - rsn_ie_len
    - data
    argTypes:
    - u8*
    - size_t
    - struct wpa_ie_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2308
      start: 2137
    functionDepth: 2
    functionLinenumber: 2137
    functionLinenumberEnd: 2308
    functionName: wpa_parse_wpa_ie_rsn
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 30
    functionsReached:
    - RSN_SELECTOR_GET
    - wpa_printf
    - wpa_hexdump
    - rsn_selector_to_bitfield
    - WPA_GET_LE16
    - rsn_key_mgmt_to_bitfield
    - wpa_cipher_valid_group
    - wpa_cipher_valid_mgmt_group
    - WPA_GET_BE32
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpa_parse_wpa_ie_rsn(const u8 *rsn_ie, size_t rsn_ie_len,\n\t\t\t
      struct wpa_ie_data *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RSN_SELECTOR_GET
      Src: /src/hostap/src/common/wpa_common.c:2313,1
    - Dst: RSN_SELECTOR_GET
      Src: /src/hostap/src/common/wpa_common.c:2315,1
    - Dst: RSN_SELECTOR_GET
      Src: /src/hostap/src/common/wpa_common.c:2317,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2320
      start: 2311
    functionDepth: 1
    functionLinenumber: 2311
    functionLinenumberEnd: 2320
    functionName: wpa_selector_to_bitfield
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 0
    functionsReached:
    - RSN_SELECTOR_GET
    linkageType: ''
    returnType: int
    signature: int wpa_selector_to_bitfield(const u8 *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RSN_SELECTOR_GET
      Src: /src/hostap/src/common/wpa_common.c:2325,1
    - Dst: RSN_SELECTOR_GET
      Src: /src/hostap/src/common/wpa_common.c:2327,1
    - Dst: RSN_SELECTOR_GET
      Src: /src/hostap/src/common/wpa_common.c:2329,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2332
      start: 2323
    functionDepth: 1
    functionLinenumber: 2323
    functionLinenumberEnd: 2332
    functionName: wpa_key_mgmt_to_bitfield
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 0
    functionsReached:
    - RSN_SELECTOR_GET
    linkageType: ''
    returnType: int
    signature: int wpa_key_mgmt_to_bitfield(const u8 *s)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/common/wpa_common.c:2343,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:2354,1
    - Dst: RSN_SELECTOR_GET
      Src: /src/hostap/src/common/wpa_common.c:2363,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/common/wpa_common.c:2364,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:2365,1
    - Dst: wpa_selector_to_bitfield
      Src: /src/hostap/src/common/wpa_common.c:2374,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:2378,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/common/wpa_common.c:2385,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:2389,1
    - Dst: wpa_selector_to_bitfield
      Src: /src/hostap/src/common/wpa_common.c:2394,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:2399,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/common/wpa_common.c:2406,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:2410,1
    - Dst: wpa_key_mgmt_to_bitfield
      Src: /src/hostap/src/common/wpa_common.c:2415,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:2420,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/common/wpa_common.c:2426,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/wpa_common.c:2432,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 77
    argCount: 3
    argNames:
    - wpa_ie
    - wpa_ie_len
    - data
    argTypes:
    - u8*
    - size_t
    - struct wpa_ie_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2438
      start: 2335
    functionDepth: 2
    functionLinenumber: 2335
    functionLinenumberEnd: 2438
    functionName: wpa_parse_wpa_ie_wpa
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 4
    functionsReached:
    - RSN_SELECTOR_GET
    - wpa_printf
    - wpa_selector_to_bitfield
    - wpa_key_mgmt_to_bitfield
    - wpa_hexdump
    - WPA_GET_LE16
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpa_parse_wpa_ie_wpa(const u8 *wpa_ie, size_t wpa_ie_len,\n\t\t\t
      struct wpa_ie_data *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - freq
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2447
      start: 2441
    functionDepth: 0
    functionLinenumber: 2441
    functionLinenumberEnd: 2447
    functionName: wpa_default_rsn_cipher
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpa_default_rsn_cipher(int freq)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: wpa_key_mgmt_sha384
      Src: /src/hostap/src/common/wpa_common.c:2475,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:2494,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/wpa_common.c:2495,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/common/wpa_common.c:2496,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/wpa_common.c:2497,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/common/wpa_common.c:2498,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:2499,1
    - Dst: MAC2STR
      Src: /src/hostap/src/common/wpa_common.c:2499,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:2502,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:2504,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:2507,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:2509,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:2516,1
    - Dst: sha512_prf
      Src: /src/hostap/src/common/wpa_common.c:2521,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:2528,1
    - Dst: sha384_prf
      Src: /src/hostap/src/common/wpa_common.c:2533,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:2539,1
    - Dst: sha256_prf
      Src: /src/hostap/src/common/wpa_common.c:2544,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:2549,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/wpa_common.c:2550,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/wpa_common.c:2551,1
    - Dst: sha512_vector
      Src: /src/hostap/src/common/wpa_common.c:2564,1
    - Dst: sha384_vector
      Src: /src/hostap/src/common/wpa_common.c:2568,1
    - Dst: sha256_vector
      Src: /src/hostap/src/common/wpa_common.c:2571,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:2573,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:2578,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/wpa_common.c:2579,1
    - Dst: forced_memzero
      Src: /src/hostap/src/common/wpa_common.c:2580,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 72
    argCount: 11
    argNames:
    - xxkey
    - xxkey_len
    - ssid
    - ssid_len
    - mdid
    - r0kh_id
    - r0kh_id_len
    - s0kh_id
    - pmk_r0
    - pmk_r0_name
    - key_mgmt
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - u8*
    - size_t
    - u8*
    - u8*
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2582
      start: 2457
    functionDepth: 2
    functionLinenumber: 2457
    functionLinenumberEnd: 2582
    functionName: wpa_derive_pmk_r0
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 6
    functionsReached:
    - sha256_prf
    - sha256_vector
    - wpa_printf
    - wpa_hexdump_key
    - os_memcpy
    - sha384_prf
    - wpa_hexdump
    - sha384_vector
    - forced_memzero
    - wpa_key_mgmt_sha384
    - MAC2STR
    - sha512_vector
    - sha512_prf
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: int
    signature: "int wpa_derive_pmk_r0(const u8 *xxkey, size_t xxkey_len,\n\t\t      const
      u8 *ssid, size_t ssid_len,\n\t\t      const u8 *mdid, const u8 *r0kh_id, size_t
      r0kh_id_len,\n\t\t      const u8 *s0kh_id, u8 *pmk_r0, u8 *pmk_r0_name,\n\t\t
      \     int key_mgmt)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sha512_vector
      Src: /src/hostap/src/common/wpa_common.c:2617,1
    - Dst: sha384_vector
      Src: /src/hostap/src/common/wpa_common.c:2623,1
    - Dst: sha256_vector
      Src: /src/hostap/src/common/wpa_common.c:2628,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:2631,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:2636,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/wpa_common.c:2637,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 5
    argNames:
    - pmk_r0_name
    - r1kh_id
    - s1kh_id
    - pmk_r1_name
    - pmk_r1_len
    argTypes:
    - u8*
    - u8*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2639
      start: 2590
    functionDepth: 0
    functionLinenumber: 2590
    functionLinenumberEnd: 2639
    functionName: wpa_derive_pmk_r1_name
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 3
    functionsReached:
    - sha256_vector
    - os_memcpy
    - wpa_printf
    - wpa_hexdump
    - sha384_vector
    - sha512_vector
    linkageType: ''
    returnType: int
    signature: "int wpa_derive_pmk_r1_name(const u8 *pmk_r0_name, const u8 *r1kh_id,\n\t\t\t
      \  const u8 *s1kh_id, u8 *pmk_r1_name,\n\t\t\t   size_t pmk_r1_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:2657,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/wpa_common.c:2659,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/wpa_common.c:2660,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:2661,1
    - Dst: MAC2STR
      Src: /src/hostap/src/common/wpa_common.c:2661,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:2663,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:2665,1
    - Dst: sha512_prf
      Src: /src/hostap/src/common/wpa_common.c:2671,1
    - Dst: sha384_prf
      Src: /src/hostap/src/common/wpa_common.c:2676,1
    - Dst: sha256_prf
      Src: /src/hostap/src/common/wpa_common.c:2680,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:2683,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/wpa_common.c:2686,1
    - Dst: wpa_derive_pmk_r1_name
      Src: /src/hostap/src/common/wpa_common.c:2688,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 7
    argNames:
    - pmk_r0
    - pmk_r0_len
    - pmk_r0_name
    - r1kh_id
    - s1kh_id
    - pmk_r1
    - pmk_r1_name
    argTypes:
    - u8*
    - size_t
    - u8*
    - u8*
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2690
      start: 2647
    functionDepth: 2
    functionLinenumber: 2647
    functionLinenumberEnd: 2690
    functionName: wpa_derive_pmk_r1
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 10
    functionsReached:
    - sha256_prf
    - wpa_printf
    - wpa_hexdump_key
    - os_memcpy
    - sha384_prf
    - wpa_hexdump
    - MAC2STR
    - sha512_prf
    - wpa_derive_pmk_r1_name
    linkageType: ''
    returnType: int
    signature: "int wpa_derive_pmk_r1(const u8 *pmk_r0, size_t pmk_r0_len,\n\t\t      const
      u8 *pmk_r0_name,\n\t\t      const u8 *r1kh_id, const u8 *s1kh_id,\n\t\t      u8
      *pmk_r1, u8 *pmk_r1_name)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:2716,1
    - Dst: wpa_key_mgmt_sha384
      Src: /src/hostap/src/common/wpa_common.c:2726,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:2735,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/wpa_common.c:2736,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/wpa_common.c:2737,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/wpa_common.c:2738,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:2739,1
    - Dst: MAC2STR
      Src: /src/hostap/src/common/wpa_common.c:2740,1
    - Dst: MAC2STR
      Src: /src/hostap/src/common/wpa_common.c:2740,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:2742,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:2744,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:2746,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:2748,1
    - Dst: wpa_kck_len
      Src: /src/hostap/src/common/wpa_common.c:2751,1
    - Dst: wpa_kck2_len
      Src: /src/hostap/src/common/wpa_common.c:2752,1
    - Dst: wpa_kek_len
      Src: /src/hostap/src/common/wpa_common.c:2753,1
    - Dst: wpa_kek2_len
      Src: /src/hostap/src/common/wpa_common.c:2754,1
    - Dst: wpa_cipher_key_len
      Src: /src/hostap/src/common/wpa_common.c:2755,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:2764,1
    - Dst: sha512_prf
      Src: /src/hostap/src/common/wpa_common.c:2769,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:2776,1
    - Dst: sha384_prf
      Src: /src/hostap/src/common/wpa_common.c:2781,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:2787,1
    - Dst: sha256_prf
      Src: /src/hostap/src/common/wpa_common.c:2792,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/wpa_common.c:2797,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/wpa_common.c:2803,1
    - Dst: sha256_vector
      Src: /src/hostap/src/common/wpa_common.c:2817,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:2819,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:2821,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:2823,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:2825,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:2827,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:2829,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:2831,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/wpa_common.c:2833,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/wpa_common.c:2834,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/wpa_common.c:2836,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/wpa_common.c:2839,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/wpa_common.c:2842,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/wpa_common.c:2844,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/wpa_common.c:2845,1
    - Dst: forced_memzero
      Src: /src/hostap/src/common/wpa_common.c:2847,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 95
    argCount: 12
    argNames:
    - pmk_r1
    - pmk_r1_len
    - snonce
    - anonce
    - sta_addr
    - bssid
    - pmk_r1_name
    - ptk
    - ptk_name
    - akmp
    - cipher
    - kdk_len
    argTypes:
    - u8*
    - size_t
    - u8*
    - u8*
    - u8*
    - u8*
    - u8*
    - struct wpa_ptk*
    - u8*
    - int
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2850
      start: 2698
    functionDepth: 2
    functionLinenumber: 2698
    functionLinenumberEnd: 2850
    functionName: wpa_pmk_r1_to_ptk
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 8
    functionsReached:
    - sha256_prf
    - wpa_kck2_len
    - wpa_printf
    - wpa_hexdump_key
    - os_memcpy
    - wpa_cipher_key_len
    - wpa_hexdump
    - sha384_prf
    - sha256_vector
    - forced_memzero
    - wpa_key_mgmt_sha384
    - wpa_kck_len
    - MAC2STR
    - sha512_prf
    - wpa_kek_len
    - wpa_kek2_len
    linkageType: ''
    returnType: int
    signature: "int wpa_pmk_r1_to_ptk(const u8 *pmk_r1, size_t pmk_r1_len,\n\t\t      const
      u8 *snonce, const u8 *anonce,\n\t\t      const u8 *sta_addr, const u8 *bssid,\n\t\t
      \     const u8 *pmk_r1_name,\n\t\t      struct wpa_ptk *ptk, u8 *ptk_name, int
      akmp, int cipher,\n\t\t      size_t kdk_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_key_mgmt_sha384
      Src: /src/hostap/src/common/wpa_common.c:2890,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:2891,1
    - Dst: hmac_sha384_vector
      Src: /src/hostap/src/common/wpa_common.c:2892,1
    - Dst: wpa_key_mgmt_sha256
      Src: /src/hostap/src/common/wpa_common.c:2894,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:2895,1
    - Dst: hmac_sha256_vector
      Src: /src/hostap/src/common/wpa_common.c:2896,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:2898,1
    - Dst: hmac_sha1_vector
      Src: /src/hostap/src/common/wpa_common.c:2899,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/wpa_common.c:2901,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:2902,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 6
    argNames:
    - pmk
    - pmk_len
    - aa
    - spa
    - pmkid
    - akmp
    argTypes:
    - u8*
    - size_t
    - u8*
    - u8*
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2903
      start: 2876
    functionDepth: 1
    functionLinenumber: 2876
    functionLinenumberEnd: 2903
    functionName: rsn_pmkid
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 4
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_hexdump
    - wpa_key_mgmt_sha384
    - wpa_key_mgmt_sha256
    - hmac_sha384_vector
    - hmac_sha1_vector
    - hmac_sha256_vector
    linkageType: ''
    returnType: void
    signature: "void rsn_pmkid(const u8 *pmk, size_t pmk_len, const u8 *aa, const
      u8 *spa,\n\t       u8 *pmkid, int akmp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hmac_sha256_vector
      Src: /src/hostap/src/common/wpa_common.c:2931,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:2933,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - kck
    - kck_len
    - aa
    - spa
    - pmkid
    argTypes:
    - u8*
    - size_t
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2935
      start: 2919
    functionDepth: 0
    functionLinenumber: 2919
    functionLinenumberEnd: 2935
    functionName: rsn_pmkid_suite_b
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 3
    functionsReached:
    - os_memcpy
    - hmac_sha256_vector
    linkageType: ''
    returnType: int
    signature: "int rsn_pmkid_suite_b(const u8 *kck, size_t kck_len, const u8 *aa,\n\t\t
      \     const u8 *spa, u8 *pmkid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hmac_sha384_vector
      Src: /src/hostap/src/common/wpa_common.c:2964,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:2966,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - kck
    - kck_len
    - aa
    - spa
    - pmkid
    argTypes:
    - u8*
    - size_t
    - u8*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2968
      start: 2952
    functionDepth: 0
    functionLinenumber: 2952
    functionLinenumberEnd: 2968
    functionName: rsn_pmkid_suite_b_192
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 3
    functionsReached:
    - os_memcpy
    - hmac_sha384_vector
    linkageType: ''
    returnType: int
    signature: "int rsn_pmkid_suite_b_192(const u8 *kck, size_t kck_len, const u8
      *aa,\n\t\t\t  const u8 *spa, u8 *pmkid)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/wpa_common.c:2993,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/wpa_common.c:2995,1
    - Dst: wpa_key_mgmt_sha384
      Src: /src/hostap/src/common/wpa_common.c:3004,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:3005,1
    - Dst: sha384_vector
      Src: /src/hostap/src/common/wpa_common.c:3006,1
    - Dst: wpa_key_mgmt_sae_ext_key
      Src: /src/hostap/src/common/wpa_common.c:3010,1
    - Dst: sha512_vector
      Src: /src/hostap/src/common/wpa_common.c:3012,1
    - Dst: sha384_vector
      Src: /src/hostap/src/common/wpa_common.c:3015,1
    - Dst: sha256_vector
      Src: /src/hostap/src/common/wpa_common.c:3018,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:3023,1
    - Dst: sha256_vector
      Src: /src/hostap/src/common/wpa_common.c:3024,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/wpa_common.c:3028,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:3029,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 5
    argNames:
    - pmkid_anonce
    - pmkid_snonce
    - akmp
    - pmk_len
    - pmkid
    argTypes:
    - u8*
    - u8*
    - int
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3032
      start: 2985
    functionDepth: 1
    functionLinenumber: 2985
    functionLinenumberEnd: 3032
    functionName: rsn_pmkid_privacy
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 2
    functionsReached:
    - sha256_vector
    - wpa_printf
    - os_memcpy
    - wpa_key_mgmt_sae_ext_key
    - wpa_hexdump
    - sha384_vector
    - wpa_key_mgmt_sha384
    - sha512_vector
    linkageType: ''
    returnType: int
    signature: "int rsn_pmkid_privacy(const u8 *pmkid_anonce, const u8 *pmkid_snonce,\n\t\t
      \     int akmp, size_t pmk_len, u8 *pmkid)"
  - BBCount: 16
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3077
      start: 3041
    functionDepth: 0
    functionLinenumber: 3041
    functionLinenumberEnd: 3077
    functionName: wpa_cipher_txt
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * wpa_cipher_txt(int cipher)
  - BBCount: 30
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 61
    argCount: 2
    argNames:
    - key_mgmt
    - proto
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3152
      start: 3086
    functionDepth: 0
    functionLinenumber: 3086
    functionLinenumberEnd: 3152
    functionName: wpa_key_mgmt_txt
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * wpa_key_mgmt_txt(int key_mgmt, int proto)
  - BBCount: 24
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 48
    argCount: 1
    argNames:
    - akm
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3206
      start: 3155
    functionDepth: 0
    functionLinenumber: 3155
    functionLinenumberEnd: 3206
    functionName: wpa_akm_to_suite
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: u32 wpa_akm_to_suite(int akm)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/src/common/wpa_common.c:3216,1
    - Dst: wpa_parse_wpa_ie_rsn
      Src: /src/hostap/src/common/wpa_common.c:3229,1
    - Dst: wpa_parse_wpa_ie_rsn
      Src: /src/hostap/src/common/wpa_common.c:3230,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 12
    argCount: 5
    argNames:
    - ft_initial_assoc
    - ie1
    - ie1len
    - ie2
    - ie2len
    argTypes:
    - int
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3243
      start: 3209
    functionDepth: 3
    functionLinenumber: 3209
    functionLinenumberEnd: 3243
    functionName: wpa_compare_rsn_ie
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 8
    functionsReached:
    - wpa_parse_wpa_ie_rsn
    - os_memcmp
    linkageType: ''
    returnType: int
    signature: "int wpa_compare_rsn_ie(int ft_initial_assoc,\n\t\t       const u8
      *ie1, size_t ie1len,\n\t\t       const u8 *ie2, size_t ie2len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_parse_wpa_ie_rsn
      Src: /src/hostap/src/common/wpa_common.c:3265,1
    - Dst: wpa_parse_wpa_ie_rsn
      Src: /src/hostap/src/common/wpa_common.c:3266,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 4
    argNames:
    - rsne1
    - rsne1_len
    - rsne2
    - rsne2_len
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3275
      start: 3257
    functionDepth: 3
    functionLinenumber: 3257
    functionLinenumberEnd: 3275
    functionName: wpa_compare_rsne_params
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 1
    functionsReached:
    - wpa_parse_wpa_ie_rsn
    linkageType: ''
    returnType: int
    signature: "int wpa_compare_rsne_params(const u8 *rsne1, size_t rsne1_len,\n\t\t\t
      \   const u8 *rsne2, size_t rsne2_len)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:3292,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/wpa_common.c:3295,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/common/wpa_common.c:3305,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/common/wpa_common.c:3307,1
    - Dst: os_memmove
      Src: /src/hostap/src/common/wpa_common.c:3311,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:3321,1
    - Dst: os_memmove
      Src: /src/hostap/src/common/wpa_common.c:3329,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/common/wpa_common.c:3330,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:3332,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/common/wpa_common.c:3340,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:3352,1
    - Dst: os_memmove
      Src: /src/hostap/src/common/wpa_common.c:3356,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/common/wpa_common.c:3361,1
    - Dst: os_memmove
      Src: /src/hostap/src/common/wpa_common.c:3363,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:3364,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/wpa_common.c:3369,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 63
    argCount: 4
    argNames:
    - ies
    - ies_len
    - pmkid
    - replace
    argTypes:
    - u8*
    - size_t*
    - u8*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3375
      start: 3278
    functionDepth: 1
    functionLinenumber: 3278
    functionLinenumberEnd: 3375
    functionName: wpa_insert_pmkid
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 7
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_hexdump
    - os_memmove
    - WPA_GET_LE16
    - WPA_PUT_LE16
    linkageType: ''
    returnType: int
    signature: int wpa_insert_pmkid(u8 *ies, size_t *ies_len, const u8 *pmkid, bool
      replace)
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3396
      start: 3378
    functionDepth: 0
    functionLinenumber: 3378
    functionLinenumberEnd: 3396
    functionName: wpa_cipher_key_len
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 54
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpa_cipher_key_len(int cipher)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3411
      start: 3399
    functionDepth: 0
    functionLinenumber: 3399
    functionLinenumberEnd: 3411
    functionName: wpa_cipher_rsc_len
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpa_cipher_rsc_len(int cipher)
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3438
      start: 3414
    functionDepth: 0
    functionLinenumber: 3414
    functionLinenumberEnd: 3438
    functionName: wpa_cipher_to_alg
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: enum wpa_alg
    signature: enum wpa_alg wpa_cipher_to_alg(int cipher)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3455
      start: 3441
    functionDepth: 0
    functionLinenumber: 3441
    functionLinenumberEnd: 3455
    functionName: wpa_cipher_valid_pairwise
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpa_cipher_valid_pairwise(int cipher)
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 2
    argNames:
    - proto
    - cipher
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3486
      start: 3458
    functionDepth: 0
    functionLinenumber: 3458
    functionLinenumberEnd: 3486
    functionName: wpa_cipher_to_suite
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: u32 wpa_cipher_to_suite(int proto, int cipher)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/common/wpa_common.c:3494,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/common/wpa_common.c:3498,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/common/wpa_common.c:3502,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/common/wpa_common.c:3506,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/common/wpa_common.c:3510,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/common/wpa_common.c:3514,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - start
    - ciphers
    argTypes:
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3519
      start: 3489
    functionDepth: 1
    functionLinenumber: 3489
    functionLinenumberEnd: 3519
    functionName: rsn_cipher_put_suites
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 2
    functionsReached:
    - RSN_SELECTOR_PUT
    linkageType: ''
    returnType: int
    signature: int rsn_cipher_put_suites(u8 *start, int ciphers)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/common/wpa_common.c:3527,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/common/wpa_common.c:3531,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/common/wpa_common.c:3535,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - start
    - ciphers
    argTypes:
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3540
      start: 3522
    functionDepth: 1
    functionLinenumber: 3522
    functionLinenumberEnd: 3540
    functionName: wpa_cipher_put_suites
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 1
    functionsReached:
    - RSN_SELECTOR_PUT
    linkageType: ''
    returnType: int
    signature: int wpa_cipher_put_suites(u8 *start, int ciphers)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - ciphers
    - none_allowed
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3558
      start: 3543
    functionDepth: 0
    functionLinenumber: 3543
    functionLinenumberEnd: 3558
    functionName: wpa_pick_pairwise_cipher
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpa_pick_pairwise_cipher(int ciphers, int none_allowed)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - ciphers
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3576
      start: 3561
    functionDepth: 0
    functionLinenumber: 3561
    functionLinenumberEnd: 3576
    functionName: wpa_pick_group_cipher
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpa_pick_group_cipher(int ciphers)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: os_strdup
      Src: /src/hostap/src/common/wpa_common.c:3584,1
    - Dst: os_strcmp
      Src: /src/hostap/src/common/wpa_common.c:3599,1
    - Dst: os_strcmp
      Src: /src/hostap/src/common/wpa_common.c:3601,1
    - Dst: os_strcmp
      Src: /src/hostap/src/common/wpa_common.c:3603,1
    - Dst: os_strcmp
      Src: /src/hostap/src/common/wpa_common.c:3605,1
    - Dst: os_strcmp
      Src: /src/hostap/src/common/wpa_common.c:3608,1
    - Dst: os_strcmp
      Src: /src/hostap/src/common/wpa_common.c:3612,1
    - Dst: os_strcmp
      Src: /src/hostap/src/common/wpa_common.c:3614,1
    - Dst: os_strcmp
      Src: /src/hostap/src/common/wpa_common.c:3617,1
    - Dst: os_strcmp
      Src: /src/hostap/src/common/wpa_common.c:3619,1
    - Dst: os_strcmp
      Src: /src/hostap/src/common/wpa_common.c:3621,1
    - Dst: os_strcmp
      Src: /src/hostap/src/common/wpa_common.c:3623,1
    - Dst: os_strcmp
      Src: /src/hostap/src/common/wpa_common.c:3625,1
    - Dst: os_strcmp
      Src: /src/hostap/src/common/wpa_common.c:3627,1
    - Dst: os_free
      Src: /src/hostap/src/common/wpa_common.c:3630,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3637
      start: 3579
    functionDepth: 0
    functionLinenumber: 3579
    functionLinenumberEnd: 3637
    functionName: wpa_parse_cipher
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 3
    functionsReached:
    - os_free
    - os_strcmp
    - os_strdup
    linkageType: ''
    returnType: int
    signature: int wpa_parse_cipher(const char *value)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/src/common/wpa_common.c:3650,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/common/wpa_common.c:3652,1
    - Dst: os_snprintf
      Src: /src/hostap/src/common/wpa_common.c:3657,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/common/wpa_common.c:3659,1
    - Dst: os_snprintf
      Src: /src/hostap/src/common/wpa_common.c:3664,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/common/wpa_common.c:3666,1
    - Dst: os_snprintf
      Src: /src/hostap/src/common/wpa_common.c:3671,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/common/wpa_common.c:3673,1
    - Dst: os_snprintf
      Src: /src/hostap/src/common/wpa_common.c:3678,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/common/wpa_common.c:3680,1
    - Dst: os_snprintf
      Src: /src/hostap/src/common/wpa_common.c:3685,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/common/wpa_common.c:3687,1
    - Dst: os_snprintf
      Src: /src/hostap/src/common/wpa_common.c:3692,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/common/wpa_common.c:3694,1
    - Dst: os_snprintf
      Src: /src/hostap/src/common/wpa_common.c:3699,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/common/wpa_common.c:3701,1
    - Dst: os_snprintf
      Src: /src/hostap/src/common/wpa_common.c:3706,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/common/wpa_common.c:3708,1
    - Dst: os_snprintf
      Src: /src/hostap/src/common/wpa_common.c:3713,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/common/wpa_common.c:3715,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 62
    argCount: 4
    argNames:
    - start
    - end
    - ciphers
    - delim
    argTypes:
    - char*
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3721
      start: 3644
    functionDepth: 1
    functionLinenumber: 3644
    functionLinenumberEnd: 3721
    functionName: wpa_write_ciphers
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 4
    functionsReached:
    - os_snprintf
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: int wpa_write_ciphers(char *start, char *end, int ciphers, const char
      *delim)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - wpa
    - wpa_pairwise
    - rsn_pairwise
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3745
      start: 3724
    functionDepth: 0
    functionLinenumber: 3724
    functionLinenumberEnd: 3745
    functionName: wpa_select_ap_group_cipher
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpa_select_ap_group_cipher(int wpa, int wpa_pairwise, int rsn_pairwise)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isalpha
      Src: /src/hostap/src/common/wpa_common.c:3758,1
    - Dst: isupper
      Src: /src/hostap/src/common/wpa_common.c:3758,1
    - Dst: tolower
      Src: /src/hostap/src/common/wpa_common.c:3759,1
    - Dst: sha256_vector
      Src: /src/hostap/src/common/wpa_common.c:3766,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:3768,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - domain
    - hash
    argTypes:
    - char*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3770
      start: 3749
    functionDepth: 0
    functionLinenumber: 3749
    functionLinenumberEnd: 3770
    functionName: fils_domain_name_hash
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 1
    functionsReached:
    - sha256_vector
    - os_memcpy
    - tolower
    - isupper
    - isalpha
    linkageType: ''
    returnType: int
    signature: int fils_domain_name_hash(const char *domain, u8 *hash)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:3786,1
    - Dst: WPA_GET_BE24
      Src: /src/hostap/src/common/wpa_common.c:3792,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/wpa_common.c:3797,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/wpa_common.c:3802,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - pos
    - end
    - ie
    argTypes:
    - u8*
    - u8*
    - struct wpa_eapol_ie_parse*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3806
      start: 3780
    functionDepth: 1
    functionLinenumber: 3780
    functionLinenumberEnd: 3806
    functionName: wpa_parse_vendor_specific
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 0
    functionsReached:
    - WPA_GET_BE24
    - wpa_printf
    - wpa_hexdump
    linkageType: ''
    returnType: void
    signature: "void wpa_parse_vendor_specific(const u8 *pos, const u8 *end,\n\t\t\t\t
      \     struct wpa_eapol_ie_parse *ie)"
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: RSN_SELECTOR_GET
      Src: /src/hostap/src/common/wpa_common.c:3833,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/wpa_common.c:3840,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/wpa_common.c:3847,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/wpa_common.c:3853,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/wpa_common.c:3860,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:3866,1
    - Dst: MAC2STR
      Src: /src/hostap/src/common/wpa_common.c:3867,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/wpa_common.c:3874,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/wpa_common.c:3882,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/wpa_common.c:3890,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/wpa_common.c:3898,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/wpa_common.c:3905,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/wpa_common.c:3914,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/wpa_common.c:3922,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/wpa_common.c:3931,1
    - Dst: BIT
      Src: /src/hostap/src/common/wpa_common.c:3942,1
    - Dst: os_snprintf
      Src: /src/hostap/src/common/wpa_common.c:3945,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/common/wpa_common.c:3948,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/wpa_common.c:3949,1
    - Dst: BIT
      Src: /src/hostap/src/common/wpa_common.c:3960,1
    - Dst: os_snprintf
      Src: /src/hostap/src/common/wpa_common.c:3963,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/common/wpa_common.c:3966,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/wpa_common.c:3967,1
    - Dst: BIT
      Src: /src/hostap/src/common/wpa_common.c:3978,1
    - Dst: os_snprintf
      Src: /src/hostap/src/common/wpa_common.c:3981,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/common/wpa_common.c:3984,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/wpa_common.c:3985,1
    - Dst: BIT
      Src: /src/hostap/src/common/wpa_common.c:3996,1
    - Dst: os_snprintf
      Src: /src/hostap/src/common/wpa_common.c:3999,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/common/wpa_common.c:4002,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/wpa_common.c:4003,1
    - Dst: os_snprintf
      Src: /src/hostap/src/common/wpa_common.c:4014,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/common/wpa_common.c:4017,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/wpa_common.c:4018,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/wpa_common.c:4025,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/wpa_common.c:4034,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/wpa_common.c:4043,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/wpa_common.c:4052,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/wpa_common.c:4063,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/wpa_common.c:4072,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 178
    argCount: 2
    argNames:
    - pos
    - ie
    argTypes:
    - u8*
    - struct wpa_eapol_ie_parse*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4080
      start: 3815
    functionDepth: 1
    functionLinenumber: 3815
    functionLinenumberEnd: 4080
    functionName: wpa_parse_generic
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 0
    functionsReached:
    - RSN_SELECTOR_GET
    - wpa_hexdump_key
    - wpa_printf
    - wpa_hexdump
    - os_snprintf
    - MAC2STR
    - BIT
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: int wpa_parse_generic(const u8 *pos, struct wpa_eapol_ie_parse *ie)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/common/wpa_common.c:4096,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:4105,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/wpa_common.c:4108,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/wpa_common.c:4115,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/wpa_common.c:4120,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/wpa_common.c:4125,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/wpa_common.c:4130,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/wpa_common.c:4135,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/wpa_common.c:4140,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/wpa_common.c:4144,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/common/wpa_common.c:4167,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/common/wpa_common.c:4206,1
    - Dst: wpa_parse_generic
      Src: /src/hostap/src/common/wpa_common.c:4209,1
    - Dst: wpa_parse_vendor_specific
      Src: /src/hostap/src/common/wpa_common.c:4218,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/wpa_common.c:4223,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 117
    argCount: 3
    argNames:
    - buf
    - len
    - ie
    argTypes:
    - u8*
    - size_t
    - struct wpa_eapol_ie_parse*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4230
      start: 4090
    functionDepth: 2
    functionLinenumber: 4090
    functionLinenumberEnd: 4230
    functionName: wpa_parse_kde_ies
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 10
    functionsReached:
    - wpa_printf
    - wpa_hexdump_key
    - wpa_parse_generic
    - wpa_hexdump
    - WPA_GET_LE16
    - wpa_parse_vendor_specific
    - wpa_hexdump_ascii
    - os_memset
    linkageType: ''
    returnType: int
    signature: int wpa_parse_kde_ies(const u8 *buf, size_t len, struct wpa_eapol_ie_parse
      *ie)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:4254,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/common/wpa_common.c:4257,1
    - Dst: host_to_le16
      Src: /src/hostap/src/common/wpa_common.c:4260,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:4263,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:4264,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:4265,1
    - Dst: host_to_le16
      Src: /src/hostap/src/common/wpa_common.c:4268,1
    - Dst: host_to_le16
      Src: /src/hostap/src/common/wpa_common.c:4269,1
    - Dst: host_to_le16
      Src: /src/hostap/src/common/wpa_common.c:4270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 7
    argNames:
    - buf
    - bssid
    - src
    - dst
    - trans_seq
    - status
    - is_eppke
    argTypes:
    - struct wpabuf*
    - u8*
    - u8*
    - u8*
    - u8
    - u16
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4271
      start: 4247
    functionDepth: 1
    functionLinenumber: 4247
    functionLinenumberEnd: 4271
    functionName: wpa_pasn_build_auth_header
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 4
    functionsReached:
    - wpa_printf
    - os_memcpy
    - host_to_le16
    - wpabuf_put
    linkageType: ''
    returnType: void
    signature: "void wpa_pasn_build_auth_header(struct wpabuf *buf, const u8 *bssid,\n\t\t\t\tconst
      u8 *src, const u8 *dst,\n\t\t\t\tu8 trans_seq, u16 status, bool is_eppke)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:4289,1
    - Dst: wpabuf_tailroom
      Src: /src/hostap/src/common/wpa_common.c:4295,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/common/wpa_common.c:4297,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/common/wpa_common.c:4300,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/common/wpa_common.c:4304,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/common/wpa_common.c:4308,1
    - Dst: wpa_cipher_to_suite
      Src: /src/hostap/src/common/wpa_common.c:4310,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/common/wpa_common.c:4311,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/common/wpa_common.c:4315,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/common/wpa_common.c:4320,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/common/wpa_common.c:4326,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/common/wpa_common.c:4331,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/common/wpa_common.c:4334,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/common/wpa_common.c:4339,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/common/wpa_common.c:4342,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/common/wpa_common.c:4347,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/common/wpa_common.c:4350,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/common/wpa_common.c:4353,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:4357,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/common/wpa_common.c:4364,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:4368,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/common/wpa_common.c:4370,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_common.c:4372,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/common/wpa_common.c:4375,1
    - Dst: RSN_SELECTOR_PUT
      Src: /src/hostap/src/common/wpa_common.c:4380,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 67
    argCount: 4
    argNames:
    - buf
    - pmkid
    - akmp
    - cipher
    argTypes:
    - struct wpabuf*
    - u8*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4383
      start: 4281
    functionDepth: 1
    functionLinenumber: 4281
    functionLinenumberEnd: 4383
    functionName: wpa_pasn_add_rsne
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 4
    functionsReached:
    - wpa_printf
    - wpabuf_put
    - os_memcpy
    - wpabuf_tailroom
    - RSN_SELECTOR_PUT
    - wpa_cipher_to_suite
    - WPA_PUT_LE16
    linkageType: ''
    returnType: int
    signature: int wpa_pasn_add_rsne(struct wpabuf *buf, const u8 *pmkid, int akmp,
      int cipher)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:4406,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/common/wpa_common.c:4408,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:4417,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/wpa_common.c:4425,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/wpa_common.c:4429,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/wpa_common.c:4430,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/wpa_common.c:4430,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/common/wpa_common.c:4431,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:4435,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/wpa_common.c:4444,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/wpa_common.c:4447,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/wpa_common.c:4453,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/wpa_common.c:4453,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/wpa_common.c:4454,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/common/wpa_common.c:4457,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 7
    argNames:
    - buf
    - pasn_group
    - wrapped_data_format
    - pubkey
    - compressed
    - comeback
    - after
    argTypes:
    - struct wpabuf*
    - u16
    - u8
    - struct wpabuf*
    - bool
    - struct wpabuf*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4459
      start: 4399
    functionDepth: 1
    functionLinenumber: 4399
    functionLinenumberEnd: 4459
    functionName: wpa_pasn_add_parameter_ie
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 4
    functionsReached:
    - wpa_printf
    - wpabuf_put
    - wpabuf_put_u8
    - wpabuf_len
    - wpabuf_put_le16
    - wpabuf_put_buf
    linkageType: ''
    returnType: void
    signature: "void wpa_pasn_add_parameter_ie(struct wpabuf *buf, u16 pasn_group,\n\t\t\t
      \      u8 wrapped_data_format,\n\t\t\t       const struct wpabuf *pubkey, bool
      compressed,\n\t\t\t       const struct wpabuf *comeback, int after)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:4478,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/common/wpa_common.c:4480,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/wpa_common.c:4481,1
    - Dst: wpabuf_tailroom
      Src: /src/hostap/src/common/wpa_common.c:4492,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/wpa_common.c:4495,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/wpa_common.c:4496,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/wpa_common.c:4497,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/common/wpa_common.c:4498,1
    - Dst: wpabuf_tailroom
      Src: /src/hostap/src/common/wpa_common.c:4504,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/wpa_common.c:4506,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/wpa_common.c:4508,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/common/wpa_common.c:4509,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 2
    argNames:
    - buf
    - wrapped_data_buf
    argTypes:
    - struct wpabuf*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4515
      start: 4468
    functionDepth: 1
    functionLinenumber: 4468
    functionLinenumberEnd: 4515
    functionName: wpa_pasn_add_wrapped_data
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 3
    functionsReached:
    - wpa_printf
    - wpabuf_head_u8
    - wpabuf_put_u8
    - wpabuf_put_data
    - wpabuf_len
    - wpabuf_tailroom
    linkageType: ''
    returnType: int
    signature: "int wpa_pasn_add_wrapped_data(struct wpabuf *buf,\n\t\t\t      struct
      wpabuf *wrapped_data_buf)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:4535,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:4542,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:4548,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:4577,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:4584,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:4590,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:4595,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 2
    argNames:
    - data
    - is_eppke
    argTypes:
    - struct wpa_ie_data*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4600
      start: 4524
    functionDepth: 0
    functionLinenumber: 4524
    functionLinenumberEnd: 4600
    functionName: wpa_pasn_validate_rsne
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 3
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int wpa_pasn_validate_rsne(const struct wpa_ie_data *data, bool is_eppke)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:4621,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:4627,1
    - Dst: os_memset
      Src: /src/hostap/src/common/wpa_common.c:4633,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:4642,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:4653,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/common/wpa_common.c:4657,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:4663,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:4677,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/common/wpa_common.c:4682,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_common.c:4693,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 61
    argCount: 4
    argNames:
    - data
    - len
    - from_ap
    - pasn_params
    argTypes:
    - u8*
    - u8
    - bool
    - struct wpa_pasn_params_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4699
      start: 4614
    functionDepth: 1
    functionLinenumber: 4614
    functionLinenumberEnd: 4699
    functionName: wpa_pasn_parse_parameter_ie
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - WPA_GET_LE16
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpa_pasn_parse_parameter_ie(const u8 *data, u8 len, bool from_ap,\n\t\t\t\tstruct
      wpa_pasn_params_data *pasn_params)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_tailroom
      Src: /src/hostap/src/common/wpa_common.c:4727,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/wpa_common.c:4731,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/wpa_common.c:4732,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/wpa_common.c:4735,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/wpa_common.c:4737,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/wpa_common.c:4739,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/wpa_common.c:4741,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/wpa_common.c:4743,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/wpa_common.c:4745,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/wpa_common.c:4747,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/wpa_common.c:4749,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    argCount: 2
    argNames:
    - buf
    - capab
    argTypes:
    - struct wpabuf*
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4750
      start: 4702
    functionDepth: 1
    functionLinenumber: 4702
    functionLinenumberEnd: 4750
    functionName: wpa_pasn_add_rsnxe
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 1
    functionsReached:
    - wpabuf_put_u8
    - wpabuf_tailroom
    linkageType: ''
    returnType: void
    signature: void wpa_pasn_add_rsnxe(struct wpabuf *buf, u64 capab)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_tailroom
      Src: /src/hostap/src/common/wpa_common.c:4768,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/common/wpa_common.c:4771,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - buf
    - extra_ies
    - len
    argTypes:
    - struct wpabuf*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4773
      start: 4763
    functionDepth: 1
    functionLinenumber: 4763
    functionLinenumberEnd: 4773
    functionName: wpa_pasn_add_extra_ies
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 3
    functionsReached:
    - wpabuf_put_data
    - wpabuf_tailroom
    linkageType: ''
    returnType: int
    signature: int wpa_pasn_add_extra_ies(struct wpabuf *buf, const u8 *extra_ies,
      size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WPA_PUT_BE24
      Src: /src/hostap/src/common/wpa_common.c:4783,1
    - Dst: WPA_PUT_BE24
      Src: /src/hostap/src/common/wpa_common.c:4785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - snonce
    argTypes:
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4786
      start: 4778
    functionDepth: 1
    functionLinenumber: 4778
    functionLinenumberEnd: 4786
    functionName: rsn_set_snonce_cookie
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 1
    functionsReached:
    - WPA_PUT_BE24
    linkageType: ''
    returnType: void
    signature: void rsn_set_snonce_cookie(u8 *snonce)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WPA_GET_BE24
      Src: /src/hostap/src/common/wpa_common.c:4794,1
    - Dst: WPA_GET_BE24
      Src: /src/hostap/src/common/wpa_common.c:4795,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - snonce
    argTypes:
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4796
      start: 4789
    functionDepth: 1
    functionLinenumber: 4789
    functionLinenumberEnd: 4796
    functionName: rsn_is_snonce_cookie
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 4
    functionsReached:
    - WPA_GET_BE24
    linkageType: ''
    returnType: bool
    signature: bool rsn_is_snonce_cookie(const u8 *snonce)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: int_array_len
      Src: /src/hostap/src/common/wpa_common.c:4806,1
    - Dst: wpabuf_tailroom
      Src: /src/hostap/src/common/wpa_common.c:4807,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/wpa_common.c:4810,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/wpa_common.c:4811,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/wpa_common.c:4812,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/wpa_common.c:4814,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - buf
    - groups
    argTypes:
    - struct wpabuf*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4815
      start: 4799
    functionDepth: 1
    functionLinenumber: 4799
    functionLinenumberEnd: 4815
    functionName: wpa_add_supported_groups
    functionSourceFile: /src/hostap/src/common/wpa_common.c
    functionUses: 1
    functionsReached:
    - int_array_len
    - wpabuf_put_le16
    - wpabuf_put_u8
    - wpabuf_tailroom
    linkageType: ''
    returnType: void
    signature: void wpa_add_supported_groups(struct wpabuf *buf, const int *groups)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - mode
    - chan
    - freq
    argTypes:
    - struct hostapd_hw_modes*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 40
    functionName: hw_get_channel_chan
    functionSourceFile: /src/hostap/src/common/hw_features_common.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: struct hostapd_channel_data
    signature: "struct hostapd_channel_data * hw_get_channel_chan(struct hostapd_hw_modes
      *mode,\n\t\t\t\t\t\t  int chan, int *freq)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - mode
    - freq
    - chan
    argTypes:
    - struct hostapd_hw_modes*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 59
    functionName: hw_mode_get_channel
    functionSourceFile: /src/hostap/src/common/hw_features_common.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: struct hostapd_channel_data
    signature: 'struct hostapd_channel_data *

      hw_mode_get_channel(struct hostapd_hw_modes *mode, int freq, int *chan)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hw_mode_get_channel
      Src: /src/hostap/src/common/hw_features_common.c:81,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 5
    argNames:
    - mode
    - freq
    - chan
    - hw_features
    - num_hw_features
    argTypes:
    - enum hostapd_hw_mode
    - int
    - int*
    - struct hostapd_hw_modes*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 87
    functionName: hw_get_channel_freq
    functionSourceFile: /src/hostap/src/common/hw_features_common.c
    functionUses: 7
    functionsReached:
    - hw_mode_get_channel
    linkageType: ''
    returnType: struct hostapd_channel_data
    signature: "struct hostapd_channel_data *\nhw_get_channel_freq(enum hostapd_hw_mode
      mode, int freq, int *chan,\n\t\t    struct hostapd_hw_modes *hw_features, int
      num_hw_features)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hw_get_channel_chan
      Src: /src/hostap/src/common/hw_features_common.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - mode
    - chan
    argTypes:
    - struct hostapd_hw_modes*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 97
    functionName: hw_get_freq
    functionSourceFile: /src/hostap/src/common/hw_features_common.c
    functionUses: 6
    functionsReached:
    - hw_get_channel_chan
    linkageType: ''
    returnType: int
    signature: int hw_get_freq(struct hostapd_hw_modes *mode, int chan)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hw_get_channel_freq
      Src: /src/hostap/src/common/hw_features_common.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - mode
    - freq
    - hw_features
    - num_hw_features
    argTypes:
    - enum hostapd_hw_mode
    - int
    - struct hostapd_hw_modes*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 108
    functionName: hw_get_chan
    functionSourceFile: /src/hostap/src/common/hw_features_common.c
    functionUses: 1
    functionsReached:
    - hw_get_channel_freq
    linkageType: ''
    returnType: int
    signature: "int hw_get_chan(enum hostapd_hw_mode mode, int freq,\n\t\tstruct hostapd_hw_modes
      *hw_features, int num_hw_features)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: chan_pri_allowed
      Src: /src/hostap/src/common/hw_features_common.c:129,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/hw_features_common.c:132,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/hw_features_common.c:137,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/hw_features_common.c:146,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/common/hw_features_common.c:163,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/hw_features_common.c:170,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 32
    argCount: 3
    argNames:
    - mode
    - p_chan
    - s_chan
    argTypes:
    - enum hostapd_hw_mode
    - struct hostapd_channel_data*
    - struct hostapd_channel_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 176
    functionName: allowed_ht40_channel_pair
    functionSourceFile: /src/hostap/src/common/hw_features_common.c
    functionUses: 3
    functionsReached:
    - chan_pri_allowed
    - wpa_printf
    - ARRAY_SIZE
    linkageType: ''
    returnType: int
    signature: "int allowed_ht40_channel_pair(enum hostapd_hw_mode mode,\n\t\t\t      struct
      hostapd_channel_data *p_chan,\n\t\t\t      struct hostapd_channel_data *s_chan)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/src/common/hw_features_common.c:186,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - bss
    - pri_chan
    - sec_chan
    argTypes:
    - struct wpa_scan_res*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 179
    functionDepth: 4
    functionLinenumber: 179
    functionLinenumberEnd: 199
    functionName: get_pri_sec_chan
    functionSourceFile: /src/hostap/src/common/hw_features_common.c
    functionUses: 0
    functionsReached:
    - ieee802_11_parse_elems
    linkageType: ''
    returnType: void
    signature: void get_pri_sec_chan(struct wpa_scan_res *bss, int *pri_chan, int
      *sec_chan)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/hw_features_common.c:228,1
    - Dst: get_pri_sec_chan
      Src: /src/hostap/src/common/hw_features_common.c:241,1
    - Dst: get_pri_sec_chan
      Src: /src/hostap/src/common/hw_features_common.c:251,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/hw_features_common.c:254,1
    - Dst: MAC2STR
      Src: /src/hostap/src/common/hw_features_common.c:257,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 32
    argCount: 3
    argNames:
    - scan_res
    - pri_chan
    - sec_chan
    argTypes:
    - struct wpa_scan_results*
    - struct hostapd_channel_data*
    - struct hostapd_channel_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 202
    functionDepth: 5
    functionLinenumber: 202
    functionLinenumberEnd: 264
    functionName: check_40mhz_5g
    functionSourceFile: /src/hostap/src/common/hw_features_common.c
    functionUses: 3
    functionsReached:
    - MAC2STR
    - wpa_printf
    - get_pri_sec_chan
    linkageType: ''
    returnType: int
    signature: "int check_40mhz_5g(struct wpa_scan_results *scan_res,\n\t\t   struct
      hostapd_channel_data *pri_chan,\n\t\t   struct hostapd_channel_data *sec_chan)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/src/common/hw_features_common.c:276,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/hw_features_common.c:281,1
    - Dst: MAC2STR
      Src: /src/hostap/src/common/hw_features_common.c:282,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/hw_features_common.c:291,1
    - Dst: MAC2STR
      Src: /src/hostap/src/common/hw_features_common.c:292,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 4
    argNames:
    - bss
    - pri_freq
    - start
    - end
    argTypes:
    - struct wpa_scan_res*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 267
    functionDepth: 4
    functionLinenumber: 267
    functionLinenumberEnd: 296
    functionName: check_20mhz_bss
    functionSourceFile: /src/hostap/src/common/hw_features_common.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    - ieee802_11_parse_elems
    linkageType: ''
    returnType: int
    signature: "int check_20mhz_bss(struct wpa_scan_res *bss, int pri_freq, int start,\n\t\t\t
      \  int end)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: hw_get_freq
      Src: /src/hostap/src/common/hw_features_common.c:311,1
    - Dst: hw_get_freq
      Src: /src/hostap/src/common/hw_features_common.c:312,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/hw_features_common.c:316,1
    - Dst: check_20mhz_bss
      Src: /src/hostap/src/common/hw_features_common.c:325,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/hw_features_common.c:327,1
    - Dst: get_pri_sec_chan
      Src: /src/hostap/src/common/hw_features_common.c:332,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/hw_features_common.c:345,1
    - Dst: MAC2STR
      Src: /src/hostap/src/common/hw_features_common.c:347,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/hw_features_common.c:351,1
    - Dst: MAC2STR
      Src: /src/hostap/src/common/hw_features_common.c:355,1
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/src/common/hw_features_common.c:363,1
    - Dst: le_to_host16
      Src: /src/hostap/src/common/hw_features_common.c:370,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/hw_features_common.c:372,1
    - Dst: MAC2STR
      Src: /src/hostap/src/common/hw_features_common.c:374,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 36
    argCount: 4
    argNames:
    - mode
    - scan_res
    - pri_chan
    - sec_chan
    argTypes:
    - struct hostapd_hw_modes*
    - struct wpa_scan_results*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 299
    functionDepth: 5
    functionLinenumber: 299
    functionLinenumberEnd: 381
    functionName: check_40mhz_2g4
    functionSourceFile: /src/hostap/src/common/hw_features_common.c
    functionUses: 2
    functionsReached:
    - hw_get_freq
    - wpa_printf
    - MAC2STR
    - get_pri_sec_chan
    - ieee802_11_parse_elems
    - le_to_host16
    - check_20mhz_bss
    linkageType: ''
    returnType: int
    signature: "int check_40mhz_2g4(struct hostapd_hw_modes *mode,\n\t\t    struct
      wpa_scan_results *scan_res, int pri_chan,\n\t\t    int sec_chan)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: BIT
      Src: /src/hostap/src/common/hw_features_common.c:411,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - bitmap
    - pri_chan
    - seg0
    argTypes:
    - u8
    - u8
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 413
    functionName: punct_update_legacy_bw_80
    functionSourceFile: /src/hostap/src/common/hw_features_common.c
    functionUses: 0
    functionsReached:
    - BIT
    linkageType: ''
    returnType: void
    signature: void punct_update_legacy_bw_80(u8 bitmap, u8 pri_chan, u8 *seg0)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: punct_update_legacy_bw_80
      Src: /src/hostap/src/common/hw_features_common.c:423,1
    - Dst: punct_update_legacy_bw_80
      Src: /src/hostap/src/common/hw_features_common.c:429,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - bitmap
    - pri
    - width
    - seg0
    argTypes:
    - u8
    - u8
    - enum oper_chan_width*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 433
    functionName: punct_update_legacy_bw_160
    functionSourceFile: /src/hostap/src/common/hw_features_common.c
    functionUses: 0
    functionsReached:
    - punct_update_legacy_bw_80
    linkageType: ''
    returnType: void
    signature: "void punct_update_legacy_bw_160(u8 bitmap, u8 pri,\n\t\t\t\t       enum
      oper_chan_width *width, u8 *seg0)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: punct_update_legacy_bw_160
      Src: /src/hostap/src/common/hw_features_common.c:443,1
    - Dst: punct_update_legacy_bw_160
      Src: /src/hostap/src/common/hw_features_common.c:450,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - bitmap
    - pri
    - width
    - seg0
    argTypes:
    - u16
    - u8
    - enum oper_chan_width*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 436
    functionDepth: 2
    functionLinenumber: 436
    functionLinenumberEnd: 454
    functionName: punct_update_legacy_bw_320
    functionSourceFile: /src/hostap/src/common/hw_features_common.c
    functionUses: 0
    functionsReached:
    - punct_update_legacy_bw_160
    linkageType: ''
    returnType: void
    signature: "void punct_update_legacy_bw_320(u16 bitmap, u8 pri,\n\t\t\t\t       enum
      oper_chan_width *width, u8 *seg0)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: punct_update_legacy_bw_80
      Src: /src/hostap/src/common/hw_features_common.c:462,1
    - Dst: punct_update_legacy_bw_160
      Src: /src/hostap/src/common/hw_features_common.c:468,1
    - Dst: punct_update_legacy_bw_320
      Src: /src/hostap/src/common/hw_features_common.c:473,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 5
    argNames:
    - bitmap
    - pri
    - width
    - seg0
    - seg1
    argTypes:
    - u16
    - u8
    - enum oper_chan_width*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 457
    functionDepth: 3
    functionLinenumber: 457
    functionLinenumberEnd: 475
    functionName: punct_update_legacy_bw
    functionSourceFile: /src/hostap/src/common/hw_features_common.c
    functionUses: 5
    functionsReached:
    - punct_update_legacy_bw_320
    - punct_update_legacy_bw_160
    - punct_update_legacy_bw_80
    linkageType: ''
    returnType: void
    signature: "void punct_update_legacy_bw(u16 bitmap, u8 pri, enum oper_chan_width
      *width,\n\t\t\t    u8 *seg0, u8 *seg1)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: is_5ghz_freq
      Src: /src/hostap/src/common/hw_features_common.c:481,1
    - Dst: is_6ghz_freq
      Src: /src/hostap/src/common/hw_features_common.c:482,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 50
    argCount: 2
    argNames:
    - data
    - dbe_bw
    argTypes:
    - struct hostapd_freq_params*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 478
    functionDepth: 2
    functionLinenumber: 478
    functionLinenumberEnd: 548
    functionName: hostapd_set_freq_dbe
    functionSourceFile: /src/hostap/src/common/hw_features_common.c
    functionUses: 0
    functionsReached:
    - is_5ghz_freq
    - is_6ghz_freq
    linkageType: ''
    returnType: int
    signature: int hostapd_set_freq_dbe(struct hostapd_freq_params *data, u8 dbe_bw)
  - BBCount: 74
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/common/hw_features_common.c:582,1
    - Dst: hostapd_encode_edmg_chan
      Src: /src/hostap/src/common/hw_features_common.c:607,1
    - Dst: is_6ghz_freq
      Src: /src/hostap/src/common/hw_features_common.c:610,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/hw_features_common.c:612,1
    - Dst: center_idx_to_bw_6ghz
      Src: /src/hostap/src/common/hw_features_common.c:617,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/hw_features_common.c:618,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/hw_features_common.c:625,1
    - Dst: center_idx_to_bw_6ghz
      Src: /src/hostap/src/common/hw_features_common.c:633,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/hw_features_common.c:637,1
    - Dst: ieee80211_chan_to_freq
      Src: /src/hostap/src/common/hw_features_common.c:645,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/hw_features_common.c:648,1
    - Dst: center_idx_to_bw_6ghz
      Src: /src/hostap/src/common/hw_features_common.c:654,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/hw_features_common.c:656,1
    - Dst: ieee80211_chan_to_freq
      Src: /src/hostap/src/common/hw_features_common.c:661,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/hw_features_common.c:664,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/hw_features_common.c:685,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/hw_features_common.c:703,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/hw_features_common.c:715,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/hw_features_common.c:725,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/hw_features_common.c:734,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/hw_features_common.c:746,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/hw_features_common.c:756,1
    - Dst: punct_update_legacy_bw
      Src: /src/hostap/src/common/hw_features_common.c:769,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/hw_features_common.c:780,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/hw_features_common.c:789,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/hw_features_common.c:799,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/hw_features_common.c:805,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/hw_features_common.c:811,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/hw_features_common.c:843,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/hw_features_common.c:852,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/hw_features_common.c:858,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/hw_features_common.c:876,1
    - Dst: is_6ghz_freq
      Src: /src/hostap/src/common/hw_features_common.c:883,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/hw_features_common.c:884,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/hw_features_common.c:889,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/hw_features_common.c:911,1
    - Dst: hostapd_set_freq_dbe
      Src: /src/hostap/src/common/hw_features_common.c:924,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/hw_features_common.c:925,1
    CyclomaticComplexity: 126
    EdgeCount: 126
    ICount: 244
    argCount: 2
    argNames:
    - data
    - info
    argTypes:
    - struct hostapd_freq_params*
    - struct hostapd_channel_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 551
    functionDepth: 4
    functionLinenumber: 551
    functionLinenumberEnd: 934
    functionName: hostapd_set_freq_params
    functionSourceFile: /src/hostap/src/common/hw_features_common.c
    functionUses: 7
    functionsReached:
    - wpa_printf
    - is_6ghz_freq
    - ieee80211_chan_to_freq
    - os_memset
    - punct_update_legacy_bw
    - hostapd_set_freq_dbe
    - center_idx_to_bw_6ghz
    - hostapd_encode_edmg_chan
    linkageType: ''
    returnType: int
    signature: "int hostapd_set_freq_params(struct hostapd_freq_params *data,\n\t\t\t
      \   const struct hostapd_channel_info *info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: host_to_le16
      Src: /src/hostap/src/common/hw_features_common.c:941,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - htcaps
    - disabled
    argTypes:
    - struct ieee80211_ht_capabilities*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 937
    functionDepth: 1
    functionLinenumber: 937
    functionLinenumberEnd: 948
    functionName: set_disable_ht40
    functionSourceFile: /src/hostap/src/common/hw_features_common.c
    functionUses: 3
    functionsReached:
    - host_to_le16
    linkageType: ''
    returnType: void
    signature: "void set_disable_ht40(struct ieee80211_ht_capabilities *htcaps,\n\t\t
      \     int disabled)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/hw_features_common.c:964,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - hw
    - conf
    - cap
    - name
    argTypes:
    - u32
    - u32
    - u32
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 953
    functionDepth: 0
    functionLinenumber: 953
    functionLinenumberEnd: 970
    functionName: _ieee80211ac_cap_check
    functionSourceFile: /src/hostap/src/common/hw_features_common.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int _ieee80211ac_cap_check(u32 hw, u32 conf, u32 cap,\n\t\t\t\t  const
      char *name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/hw_features_common.c:981,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - hw
    - conf
    - mask
    - shift
    - name
    argTypes:
    - u32
    - u32
    - u32
    - unsigned int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 987
      start: 973
    functionDepth: 0
    functionLinenumber: 973
    functionLinenumberEnd: 987
    functionName: ieee80211ac_cap_check_max
    functionSourceFile: /src/hostap/src/common/hw_features_common.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int ieee80211ac_cap_check_max(u32 hw, u32 conf, u32 mask,\n\t\t\t\t
      \    unsigned int shift,\n\t\t\t\t     const char *name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VHT_CAP_CHECK_MAX
      Src: /src/hostap/src/common/hw_features_common.c:1005,1
    - Dst: VHT_CAP_CHECK_MAX
      Src: /src/hostap/src/common/hw_features_common.c:1006,1
    - Dst: VHT_CAP_CHECK
      Src: /src/hostap/src/common/hw_features_common.c:1007,1
    - Dst: VHT_CAP_CHECK
      Src: /src/hostap/src/common/hw_features_common.c:1008,1
    - Dst: VHT_CAP_CHECK
      Src: /src/hostap/src/common/hw_features_common.c:1009,1
    - Dst: VHT_CAP_CHECK
      Src: /src/hostap/src/common/hw_features_common.c:1010,1
    - Dst: VHT_CAP_CHECK_MAX
      Src: /src/hostap/src/common/hw_features_common.c:1011,1
    - Dst: VHT_CAP_CHECK
      Src: /src/hostap/src/common/hw_features_common.c:1012,1
    - Dst: VHT_CAP_CHECK
      Src: /src/hostap/src/common/hw_features_common.c:1013,1
    - Dst: VHT_CAP_CHECK_MAX
      Src: /src/hostap/src/common/hw_features_common.c:1014,1
    - Dst: VHT_CAP_CHECK_MAX
      Src: /src/hostap/src/common/hw_features_common.c:1015,1
    - Dst: VHT_CAP_CHECK
      Src: /src/hostap/src/common/hw_features_common.c:1016,1
    - Dst: VHT_CAP_CHECK
      Src: /src/hostap/src/common/hw_features_common.c:1017,1
    - Dst: VHT_CAP_CHECK
      Src: /src/hostap/src/common/hw_features_common.c:1018,1
    - Dst: VHT_CAP_CHECK
      Src: /src/hostap/src/common/hw_features_common.c:1019,1
    - Dst: VHT_CAP_CHECK_MAX
      Src: /src/hostap/src/common/hw_features_common.c:1020,1
    - Dst: VHT_CAP_CHECK
      Src: /src/hostap/src/common/hw_features_common.c:1021,1
    - Dst: VHT_CAP_CHECK
      Src: /src/hostap/src/common/hw_features_common.c:1022,1
    - Dst: VHT_CAP_CHECK
      Src: /src/hostap/src/common/hw_features_common.c:1023,1
    - Dst: VHT_CAP_CHECK
      Src: /src/hostap/src/common/hw_features_common.c:1024,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 2
    argNames:
    - hw
    - conf
    argTypes:
    - u32
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1030
      start: 990
    functionDepth: 1
    functionLinenumber: 990
    functionLinenumberEnd: 1030
    functionName: ieee80211ac_cap_check
    functionSourceFile: /src/hostap/src/common/hw_features_common.c
    functionUses: 1
    functionsReached:
    - VHT_CAP_CHECK
    - VHT_CAP_CHECK_MAX
    linkageType: ''
    returnType: int
    signature: int ieee80211ac_cap_check(u32 hw, u32 conf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cap
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 992
    functionDepth: 0
    functionLinenumber: 992
    functionLinenumberEnd: 997
    functionName: VHT_CAP_CHECK
    functionSourceFile: /src/hostap/src/common/hw_features_common.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VHT_CAP_CHECK(cap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cap
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 998
    functionDepth: 0
    functionLinenumber: 998
    functionLinenumberEnd: 1004
    functionName: VHT_CAP_CHECK_MAX
    functionSourceFile: /src/hostap/src/common/hw_features_common.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VHT_CAP_CHECK_MAX(cap)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - num_chans
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1035
    functionDepth: 0
    functionLinenumber: 1035
    functionLinenumberEnd: 1046
    functionName: num_chan_to_bw
    functionSourceFile: /src/hostap/src/common/hw_features_common.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: u32 num_chan_to_bw(int num_chans)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 4
    argNames:
    - chan
    - bw
    - ht40_plus
    - pri
    argTypes:
    - struct hostapd_channel_data*
    - u32
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1050
    functionDepth: 0
    functionLinenumber: 1050
    functionLinenumberEnd: 1084
    functionName: chan_bw_allowed
    functionSourceFile: /src/hostap/src/common/hw_features_common.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int chan_bw_allowed(const struct hostapd_channel_data *chan, u32 bw,\n\t\t
      \   int ht40_plus, int pri)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - chan
    argTypes:
    - struct hostapd_channel_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 1088
    functionDepth: 0
    functionLinenumber: 1088
    functionLinenumberEnd: 1092
    functionName: chan_pri_allowed
    functionSourceFile: /src/hostap/src/common/hw_features_common.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int chan_pri_allowed(const struct hostapd_channel_data *chan)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/common/hw_features_common.c:1126,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/common/hw_features_common.c:1132,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/common/hw_features_common.c:1138,1
    - Dst: BIT
      Src: /src/hostap/src/common/hw_features_common.c:1148,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/hw_features_common.c:1149,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 3
    argNames:
    - bw
    - pri_ch_bit_pos
    - punct_bitmap
    argTypes:
    - u16
    - u16
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1159
      start: 1111
    functionDepth: 1
    functionLinenumber: 1111
    functionLinenumberEnd: 1159
    functionName: is_punct_bitmap_valid
    functionSourceFile: /src/hostap/src/common/hw_features_common.c
    functionUses: 3
    functionsReached:
    - wpa_printf
    - BIT
    - ARRAY_SIZE
    linkageType: ''
    returnType: bool
    signature: bool is_punct_bitmap_valid(u16 bw, u16 pri_ch_bit_pos, u16 punct_bitmap)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - current_hw_info
    - chan
    argTypes:
    - struct hostapd_multi_hw_info*
    - struct hostapd_channel_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1162
    functionDepth: 0
    functionLinenumber: 1162
    functionLinenumberEnd: 1174
    functionName: chan_in_current_hw_info
    functionSourceFile: /src/hostap/src/common/hw_features_common.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool chan_in_current_hw_info(struct hostapd_multi_hw_info *current_hw_info,\n\t\t\t
      \    struct hostapd_channel_data *chan)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_open2
      Src: /src/hostap/src/common/wpa_ctrl.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctrl_path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: wpa_ctrl_open
    functionSourceFile: /src/hostap/src/common/wpa_ctrl.c
    functionUses: 10
    functionsReached:
    - wpa_ctrl_open2
    linkageType: ''
    returnType: struct wpa_ctrl
    signature: struct wpa_ctrl * wpa_ctrl_open(const char *ctrl_path)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/common/wpa_ctrl.c:107,1
    - Dst: socket
      Src: /src/hostap/src/common/wpa_ctrl.c:111,1
    - Dst: os_free
      Src: /src/hostap/src/common/wpa_ctrl.c:113,1
    - Dst: os_snprintf
      Src: /src/hostap/src/common/wpa_ctrl.c:121,1
    - Dst: getpid
      Src: /src/hostap/src/common/wpa_ctrl.c:124,1
    - Dst: os_snprintf
      Src: /src/hostap/src/common/wpa_ctrl.c:126,1
    - Dst: getpid
      Src: /src/hostap/src/common/wpa_ctrl.c:130,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/common/wpa_ctrl.c:132,1
    - Dst: close
      Src: /src/hostap/src/common/wpa_ctrl.c:133,1
    - Dst: os_free
      Src: /src/hostap/src/common/wpa_ctrl.c:134,1
    - Dst: fchmod
      Src: /src/hostap/src/common/wpa_ctrl.c:149,1
    - Dst: bind
      Src: /src/hostap/src/common/wpa_ctrl.c:151,1
    - Dst: unlink
      Src: /src/hostap/src/common/wpa_ctrl.c:160,1
    - Dst: close
      Src: /src/hostap/src/common/wpa_ctrl.c:163,1
    - Dst: os_free
      Src: /src/hostap/src/common/wpa_ctrl.c:164,1
    - Dst: lchown
      Src: /src/hostap/src/common/wpa_ctrl.c:170,1
    - Dst: lchown
      Src: /src/hostap/src/common/wpa_ctrl.c:171,1
    - Dst: os_strncmp
      Src: /src/hostap/src/common/wpa_ctrl.c:173,1
    - Dst: socket_local_client_connect
      Src: /src/hostap/src/common/wpa_ctrl.c:174,1
    - Dst: close
      Src: /src/hostap/src/common/wpa_ctrl.c:178,1
    - Dst: unlink
      Src: /src/hostap/src/common/wpa_ctrl.c:179,1
    - Dst: os_free
      Src: /src/hostap/src/common/wpa_ctrl.c:180,1
    - Dst: os_snprintf
      Src: /src/hostap/src/common/wpa_ctrl.c:194,1
    - Dst: socket_local_client_connect
      Src: /src/hostap/src/common/wpa_ctrl.c:195,1
    - Dst: close
      Src: /src/hostap/src/common/wpa_ctrl.c:199,1
    - Dst: unlink
      Src: /src/hostap/src/common/wpa_ctrl.c:200,1
    - Dst: os_free
      Src: /src/hostap/src/common/wpa_ctrl.c:201,1
    - Dst: os_strncmp
      Src: /src/hostap/src/common/wpa_ctrl.c:209,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/common/wpa_ctrl.c:211,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/common/wpa_ctrl.c:214,1
    - Dst: close
      Src: /src/hostap/src/common/wpa_ctrl.c:217,1
    - Dst: os_free
      Src: /src/hostap/src/common/wpa_ctrl.c:218,1
    - Dst: connect
      Src: /src/hostap/src/common/wpa_ctrl.c:222,1
    - Dst: close
      Src: /src/hostap/src/common/wpa_ctrl.c:224,1
    - Dst: unlink
      Src: /src/hostap/src/common/wpa_ctrl.c:225,1
    - Dst: os_free
      Src: /src/hostap/src/common/wpa_ctrl.c:226,1
    - Dst: fcntl
      Src: /src/hostap/src/common/wpa_ctrl.c:234,1
    - Dst: fcntl
      Src: /src/hostap/src/common/wpa_ctrl.c:237,1
    - Dst: perror
      Src: /src/hostap/src/common/wpa_ctrl.c:238,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 84
    argCount: 2
    argNames:
    - ctrl_path
    - cli_path
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 244
    functionName: wpa_ctrl_open2
    functionSourceFile: /src/hostap/src/common/wpa_ctrl.c
    functionUses: 3
    functionsReached:
    - fcntl
    - fchmod
    - connect
    - socket
    - os_strlcpy
    - os_strncmp
    - perror
    - os_snprintf
    - os_zalloc
    - close
    - getpid
    - os_free
    - socket_local_client_connect
    - bind
    - lchown
    - unlink
    - os_snprintf_error
    linkageType: ''
    returnType: struct wpa_ctrl
    signature: "struct wpa_ctrl * wpa_ctrl_open2(const char *ctrl_path,\n\t\t\t\t
      const char *cli_path)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlink
      Src: /src/hostap/src/common/wpa_ctrl.c:251,1
    - Dst: close
      Src: /src/hostap/src/common/wpa_ctrl.c:253,1
    - Dst: os_free
      Src: /src/hostap/src/common/wpa_ctrl.c:254,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - struct wpa_ctrl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 255
    functionName: wpa_ctrl_close
    functionSourceFile: /src/hostap/src/common/wpa_ctrl.c
    functionUses: 14
    functionsReached:
    - unlink
    - os_free
    - close
    linkageType: ''
    returnType: void
    signature: void wpa_ctrl_close(struct wpa_ctrl *ctrl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: opendir
      Src: /src/hostap/src/common/wpa_ctrl.c:275,1
    - Dst: os_snprintf
      Src: /src/hostap/src/common/wpa_ctrl.c:278,1
    - Dst: closedir
      Src: /src/hostap/src/common/wpa_ctrl.c:281,1
    - Dst: readdir
      Src: /src/hostap/src/common/wpa_ctrl.c:286,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/common/wpa_ctrl.c:287,1
    - Dst: unlink
      Src: /src/hostap/src/common/wpa_ctrl.c:288,1
    - Dst: closedir
      Src: /src/hostap/src/common/wpa_ctrl.c:290,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 291
    functionName: wpa_ctrl_cleanup
    functionSourceFile: /src/hostap/src/common/wpa_ctrl.c
    functionUses: 0
    functionsReached:
    - closedir
    - os_strlcpy
    - os_snprintf
    - opendir
    - unlink
    - readdir
    linkageType: ''
    returnType: void
    signature: void wpa_ctrl_cleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 299
    functionName: wpa_ctrl_cleanup
    functionSourceFile: /src/hostap/src/common/wpa_ctrl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wpa_ctrl_cleanup(void)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/common/wpa_ctrl.c:316,1
    - Dst: socket
      Src: /src/hostap/src/common/wpa_ctrl.c:321,1
    - Dst: socket
      Src: /src/hostap/src/common/wpa_ctrl.c:323,1
    - Dst: perror
      Src: /src/hostap/src/common/wpa_ctrl.c:326,1
    - Dst: os_free
      Src: /src/hostap/src/common/wpa_ctrl.c:327,1
    - Dst: inet_pton
      Src: /src/hostap/src/common/wpa_ctrl.c:336,1
    - Dst: htonl
      Src: /src/hostap/src/common/wpa_ctrl.c:343,1
    - Dst: bind
      Src: /src/hostap/src/common/wpa_ctrl.c:347,1
    - Dst: close
      Src: /src/hostap/src/common/wpa_ctrl.c:349,1
    - Dst: os_free
      Src: /src/hostap/src/common/wpa_ctrl.c:350,1
    - Dst: inet_pton
      Src: /src/hostap/src/common/wpa_ctrl.c:356,1
    - Dst: htons
      Src: /src/hostap/src/common/wpa_ctrl.c:357,1
    - Dst: htonl
      Src: /src/hostap/src/common/wpa_ctrl.c:360,1
    - Dst: htons
      Src: /src/hostap/src/common/wpa_ctrl.c:361,1
    - Dst: os_strdup
      Src: /src/hostap/src/common/wpa_ctrl.c:373,1
    - Dst: close
      Src: /src/hostap/src/common/wpa_ctrl.c:375,1
    - Dst: os_free
      Src: /src/hostap/src/common/wpa_ctrl.c:376,1
    - Dst: os_strchr
      Src: /src/hostap/src/common/wpa_ctrl.c:380,1
    - Dst: os_strchr
      Src: /src/hostap/src/common/wpa_ctrl.c:382,1
    - Dst: atoi
      Src: /src/hostap/src/common/wpa_ctrl.c:386,1
    - Dst: os_strchr
      Src: /src/hostap/src/common/wpa_ctrl.c:392,1
    - Dst: if_nametoindex
      Src: /src/hostap/src/common/wpa_ctrl.c:394,1
    - Dst: gethostbyname2
      Src: /src/hostap/src/common/wpa_ctrl.c:397,1
    - Dst: gethostbyname
      Src: /src/hostap/src/common/wpa_ctrl.c:399,1
    - Dst: os_strdup
      Src: /src/hostap/src/common/wpa_ctrl.c:401,1
    - Dst: os_free
      Src: /src/hostap/src/common/wpa_ctrl.c:402,1
    - Dst: perror
      Src: /src/hostap/src/common/wpa_ctrl.c:404,1
    - Dst: close
      Src: /src/hostap/src/common/wpa_ctrl.c:405,1
    - Dst: os_free
      Src: /src/hostap/src/common/wpa_ctrl.c:406,1
    - Dst: os_free
      Src: /src/hostap/src/common/wpa_ctrl.c:407,1
    - Dst: htons
      Src: /src/hostap/src/common/wpa_ctrl.c:412,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_ctrl.c:413,1
    - Dst: htons
      Src: /src/hostap/src/common/wpa_ctrl.c:415,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_ctrl.c:416,1
    - Dst: os_strdup
      Src: /src/hostap/src/common/wpa_ctrl.c:419,1
    - Dst: connect
      Src: /src/hostap/src/common/wpa_ctrl.c:422,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_ctrl.c:426,1
    - Dst: inet_ntop
      Src: /src/hostap/src/common/wpa_ctrl.c:427,1
    - Dst: ntohs
      Src: /src/hostap/src/common/wpa_ctrl.c:429,1
    - Dst: strerror
      Src: /src/hostap/src/common/wpa_ctrl.c:430,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/wpa_ctrl.c:432,1
    - Dst: inet_ntoa
      Src: /src/hostap/src/common/wpa_ctrl.c:433,1
    - Dst: ntohs
      Src: /src/hostap/src/common/wpa_ctrl.c:434,1
    - Dst: strerror
      Src: /src/hostap/src/common/wpa_ctrl.c:435,1
    - Dst: close
      Src: /src/hostap/src/common/wpa_ctrl.c:437,1
    - Dst: os_free
      Src: /src/hostap/src/common/wpa_ctrl.c:438,1
    - Dst: os_free
      Src: /src/hostap/src/common/wpa_ctrl.c:439,1
    - Dst: wpa_ctrl_request
      Src: /src/hostap/src/common/wpa_ctrl.c:444,1
    - Dst: os_strdup
      Src: /src/hostap/src/common/wpa_ctrl.c:446,1
    - Dst: wpa_ctrl_request
      Src: /src/hostap/src/common/wpa_ctrl.c:449,1
    - Dst: os_strdup
      Src: /src/hostap/src/common/wpa_ctrl.c:451,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 83
    argCount: 1
    argNames:
    - ctrl_path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 455
    functionName: wpa_ctrl_open
    functionSourceFile: /src/hostap/src/common/wpa_ctrl.c
    functionUses: 10
    functionsReached:
    - gethostbyname2
    - inet_ntop
    - perror
    - atoi
    - ntohs
    - wpa_printf
    - connect
    - os_free
    - inet_ntoa
    - bind
    - inet_pton
    - os_strchr
    - htons
    - if_nametoindex
    - os_strdup
    - gethostbyname
    - os_memcpy
    - strerror
    - socket
    - htonl
    - wpa_ctrl_request
    - os_zalloc
    - close
    linkageType: ''
    returnType: struct wpa_ctrl
    signature: struct wpa_ctrl * wpa_ctrl_open(const char *ctrl_path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/src/common/wpa_ctrl.c:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - struct wpa_ctrl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 465
    functionName: wpa_ctrl_get_remote_ifname
    functionSourceFile: /src/hostap/src/common/wpa_ctrl.c
    functionUses: 1
    functionsReached:
    - os_snprintf
    linkageType: ''
    returnType: char
    signature: char * wpa_ctrl_get_remote_ifname(struct wpa_ctrl *ctrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/hostap/src/common/wpa_ctrl.c:470,1
    - Dst: os_free
      Src: /src/hostap/src/common/wpa_ctrl.c:471,1
    - Dst: os_free
      Src: /src/hostap/src/common/wpa_ctrl.c:472,1
    - Dst: os_free
      Src: /src/hostap/src/common/wpa_ctrl.c:473,1
    - Dst: os_free
      Src: /src/hostap/src/common/wpa_ctrl.c:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - struct wpa_ctrl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 475
    functionName: wpa_ctrl_close
    functionSourceFile: /src/hostap/src/common/wpa_ctrl.c
    functionUses: 14
    functionsReached:
    - os_free
    - close
    linkageType: ''
    returnType: void
    signature: void wpa_ctrl_close(struct wpa_ctrl *ctrl)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/common/wpa_ctrl.c:496,1
    - Dst: os_malloc
      Src: /src/hostap/src/common/wpa_ctrl.c:497,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/common/wpa_ctrl.c:502,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/wpa_ctrl.c:503,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/wpa_ctrl.c:505,1
    - Dst: send
      Src: /src/hostap/src/common/wpa_ctrl.c:517,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/common/wpa_ctrl.c:525,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/common/wpa_ctrl.c:528,1
    - Dst: os_reltime_expired
      Src: /src/hostap/src/common/wpa_ctrl.c:530,1
    - Dst: os_sleep
      Src: /src/hostap/src/common/wpa_ctrl.c:533,1
    - Dst: os_free
      Src: /src/hostap/src/common/wpa_ctrl.c:537,1
    - Dst: os_free
      Src: /src/hostap/src/common/wpa_ctrl.c:540,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/common/wpa_ctrl.c:542,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/common/wpa_ctrl.c:548,1
    - Dst: os_reltime_before
      Src: /src/hostap/src/common/wpa_ctrl.c:549,1
    - Dst: os_reltime_sub
      Src: /src/hostap/src/common/wpa_ctrl.c:551,1
    - Dst: FD_ZERO
      Src: /src/hostap/src/common/wpa_ctrl.c:555,1
    - Dst: FD_SET
      Src: /src/hostap/src/common/wpa_ctrl.c:556,1
    - Dst: select
      Src: /src/hostap/src/common/wpa_ctrl.c:557,1
    - Dst: FD_ISSET
      Src: /src/hostap/src/common/wpa_ctrl.c:562,1
    - Dst: recv
      Src: /src/hostap/src/common/wpa_ctrl.c:563,1
    - Dst: strncmp
      Src: /src/hostap/src/common/wpa_ctrl.c:567,1
    - Dst: msg_cb
      Src: /src/hostap/src/common/wpa_ctrl.c:578,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 76
    argCount: 5
    argNames:
    - ctrl
    - cmd
    - cmd_len
    - reply
    - reply_len
    argTypes:
    - struct wpa_ctrl*
    - char*
    - size_t
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 481
    functionDepth: 1
    functionLinenumber: 481
    functionLinenumberEnd: 589
    functionName: wpa_ctrl_request
    functionSourceFile: /src/hostap/src/common/wpa_ctrl.c
    functionUses: 22
    functionsReached:
    - os_strlen
    - strncmp
    - os_memcpy
    - os_get_reltime
    - select
    - send
    - FD_ZERO
    - os_sleep
    - FD_ISSET
    - os_strlcpy
    - os_malloc
    - recv
    - msg_cb
    - os_reltime_sub
    - os_reltime_expired
    - os_free
    - FD_SET
    - os_reltime_before
    linkageType: ''
    returnType: int
    signature: "int wpa_ctrl_request(struct wpa_ctrl *ctrl, const char *cmd, size_t
      cmd_len,\n\t\t     char *reply, size_t *reply_len,\n\t\t     void (*msg_cb)(char
      *msg, size_t len))"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_request
      Src: /src/hostap/src/common/wpa_ctrl.c:599,1
    - Dst: os_memcmp
      Src: /src/hostap/src/common/wpa_ctrl.c:603,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - ctrl
    - attach
    argTypes:
    - struct wpa_ctrl*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 593
    functionDepth: 2
    functionLinenumber: 593
    functionLinenumberEnd: 606
    functionName: wpa_ctrl_attach_helper
    functionSourceFile: /src/hostap/src/common/wpa_ctrl.c
    functionUses: 0
    functionsReached:
    - os_memcmp
    - wpa_ctrl_request
    linkageType: ''
    returnType: int
    signature: int wpa_ctrl_attach_helper(struct wpa_ctrl *ctrl, int attach)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_attach_helper
      Src: /src/hostap/src/common/wpa_ctrl.c:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - struct wpa_ctrl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 609
    functionDepth: 3
    functionLinenumber: 609
    functionLinenumberEnd: 612
    functionName: wpa_ctrl_attach
    functionSourceFile: /src/hostap/src/common/wpa_ctrl.c
    functionUses: 8
    functionsReached:
    - wpa_ctrl_attach_helper
    linkageType: ''
    returnType: int
    signature: int wpa_ctrl_attach(struct wpa_ctrl *ctrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_ctrl_attach_helper
      Src: /src/hostap/src/common/wpa_ctrl.c:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - struct wpa_ctrl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 615
    functionDepth: 3
    functionLinenumber: 615
    functionLinenumberEnd: 618
    functionName: wpa_ctrl_detach
    functionSourceFile: /src/hostap/src/common/wpa_ctrl.c
    functionUses: 7
    functionsReached:
    - wpa_ctrl_attach_helper
    linkageType: ''
    returnType: int
    signature: int wpa_ctrl_detach(struct wpa_ctrl *ctrl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: recv
      Src: /src/hostap/src/common/wpa_ctrl.c:627,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ctrl
    - reply
    - reply_len
    argTypes:
    - struct wpa_ctrl*
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 632
    functionName: wpa_ctrl_recv
    functionSourceFile: /src/hostap/src/common/wpa_ctrl.c
    functionUses: 6
    functionsReached:
    - recv
    linkageType: ''
    returnType: int
    signature: int wpa_ctrl_recv(struct wpa_ctrl *ctrl, char *reply, size_t *reply_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FD_ZERO
      Src: /src/hostap/src/common/wpa_ctrl.c:641,1
    - Dst: FD_SET
      Src: /src/hostap/src/common/wpa_ctrl.c:642,1
    - Dst: select
      Src: /src/hostap/src/common/wpa_ctrl.c:643,1
    - Dst: FD_ISSET
      Src: /src/hostap/src/common/wpa_ctrl.c:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - struct wpa_ctrl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 645
    functionName: wpa_ctrl_pending
    functionSourceFile: /src/hostap/src/common/wpa_ctrl.c
    functionUses: 5
    functionsReached:
    - FD_ISSET
    - select
    - FD_SET
    - FD_ZERO
    linkageType: ''
    returnType: int
    signature: int wpa_ctrl_pending(struct wpa_ctrl *ctrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - struct wpa_ctrl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 651
    functionName: wpa_ctrl_get_fd
    functionSourceFile: /src/hostap/src/common/wpa_ctrl.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpa_ctrl_get_fd(struct wpa_ctrl *ctrl)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/common/wpa_ctrl.c:670,1
    - Dst: os_memset
      Src: /src/hostap/src/common/wpa_ctrl.c:673,1
    - Dst: _snwprintf
      Src: /src/hostap/src/common/wpa_ctrl.c:677,1
    - Dst: _snwprintf
      Src: /src/hostap/src/common/wpa_ctrl.c:679,1
    - Dst: NAMED_PIPE_PREFIX TEXT
      Src: /src/hostap/src/common/wpa_ctrl.c:679,1
    - Dst: os_snprintf
      Src: /src/hostap/src/common/wpa_ctrl.c:683,1
    - Dst: os_snprintf
      Src: /src/hostap/src/common/wpa_ctrl.c:685,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/common/wpa_ctrl.c:688,1
    - Dst: os_free
      Src: /src/hostap/src/common/wpa_ctrl.c:689,1
    - Dst: CreateFile
      Src: /src/hostap/src/common/wpa_ctrl.c:694,1
    - Dst: GetLastError
      Src: /src/hostap/src/common/wpa_ctrl.c:704,1
    - Dst: WaitNamedPipe
      Src: /src/hostap/src/common/wpa_ctrl.c:706,1
    - Dst: os_free
      Src: /src/hostap/src/common/wpa_ctrl.c:709,1
    - Dst: SetNamedPipeHandleState
      Src: /src/hostap/src/common/wpa_ctrl.c:714,1
    - Dst: CloseHandle
      Src: /src/hostap/src/common/wpa_ctrl.c:715,1
    - Dst: os_free
      Src: /src/hostap/src/common/wpa_ctrl.c:716,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 1
    argNames:
    - ctrl_path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 663
    functionDepth: 1
    functionLinenumber: 663
    functionLinenumberEnd: 721
    functionName: wpa_ctrl_open
    functionSourceFile: /src/hostap/src/common/wpa_ctrl.c
    functionUses: 10
    functionsReached:
    - CreateFile
    - GetLastError
    - os_malloc
    - _snwprintf
    - os_snprintf
    - NAMED_PIPE_PREFIX TEXT
    - SetNamedPipeHandleState
    - CloseHandle
    - os_free
    - WaitNamedPipe
    - os_snprintf_error
    - os_memset
    linkageType: ''
    returnType: struct wpa_ctrl
    signature: struct wpa_ctrl * wpa_ctrl_open(const char *ctrl_path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CloseHandle
      Src: /src/hostap/src/common/wpa_ctrl.c:726,1
    - Dst: os_free
      Src: /src/hostap/src/common/wpa_ctrl.c:727,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - struct wpa_ctrl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 728
    functionName: wpa_ctrl_close
    functionSourceFile: /src/hostap/src/common/wpa_ctrl.c
    functionUses: 14
    functionsReached:
    - os_free
    - CloseHandle
    linkageType: ''
    returnType: void
    signature: void wpa_ctrl_close(struct wpa_ctrl *ctrl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WriteFile
      Src: /src/hostap/src/common/wpa_ctrl.c:738,1
    - Dst: ReadFile
      Src: /src/hostap/src/common/wpa_ctrl.c:741,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - ctrl
    - cmd
    - cmd_len
    - reply
    - reply_len
    argTypes:
    - struct wpa_ctrl*
    - char*
    - size_t
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 746
    functionName: wpa_ctrl_request
    functionSourceFile: /src/hostap/src/common/wpa_ctrl.c
    functionUses: 23
    functionsReached:
    - ReadFile
    - WriteFile
    linkageType: ''
    returnType: int
    signature: "int wpa_ctrl_request(struct wpa_ctrl *ctrl, const char *cmd, size_t
      cmd_len,\n\t\t     char *reply, size_t *reply_len,\n\t\t     void (*msg_cb)(char
      *msg, size_t len))"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ReadFile
      Src: /src/hostap/src/common/wpa_ctrl.c:752,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ctrl
    - reply
    - reply_len
    argTypes:
    - struct wpa_ctrl*
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 756
    functionName: wpa_ctrl_recv
    functionSourceFile: /src/hostap/src/common/wpa_ctrl.c
    functionUses: 6
    functionsReached:
    - ReadFile
    linkageType: ''
    returnType: int
    signature: int wpa_ctrl_recv(struct wpa_ctrl *ctrl, char *reply, size_t *reply_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PeekNamedPipe
      Src: /src/hostap/src/common/wpa_ctrl.c:763,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - struct wpa_ctrl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 766
    functionName: wpa_ctrl_pending
    functionSourceFile: /src/hostap/src/common/wpa_ctrl.c
    functionUses: 5
    functionsReached:
    - PeekNamedPipe
    linkageType: ''
    returnType: int
    signature: int wpa_ctrl_pending(struct wpa_ctrl *ctrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - struct wpa_ctrl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 772
    functionName: wpa_ctrl_get_fd
    functionSourceFile: /src/hostap/src/common/wpa_ctrl.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpa_ctrl_get_fd(struct wpa_ctrl *ctrl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: d_permute
      Src: /src/hostap/src/common/sae_pk.c:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - val
    - iter
    argTypes:
    - u8
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: d_permute
    functionSourceFile: /src/hostap/src/common/sae_pk.c
    functionUses: 1
    functionsReached:
    - d_permute
    linkageType: ''
    returnType: u8
    signature: u8 d_permute(u8 val, unsigned int iter)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - val
    argTypes:
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 112
    functionName: d_invert
    functionSourceFile: /src/hostap/src/common/sae_pk.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 d_invert(u8 val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/common/sae_pk.c:123,1
    - Dst: d_permute
      Src: /src/hostap/src/common/sae_pk.c:133,1
    - Dst: d_invert
      Src: /src/hostap/src/common/sae_pk.c:138,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 139
    functionName: d_check_char
    functionSourceFile: /src/hostap/src/common/sae_pk.c
    functionUses: 0
    functionsReached:
    - d_permute
    - d_invert
    - os_memset
    linkageType: ''
    returnType: char
    signature: char d_check_char(const char *str, size_t len)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/common/sae_pk.c:145,1
    - Dst: os_memset
      Src: /src/hostap/src/common/sae_pk.c:149,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae_pk.c:156,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae_pk.c:163,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae_pk.c:170,1
    - Dst: d_check_char
      Src: /src/hostap/src/common/sae_pk.c:177,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae_pk.c:178,1
    - Dst: BIT
      Src: /src/hostap/src/common/sae_pk.c:184,1
    - Dst: BIT
      Src: /src/hostap/src/common/sae_pk.c:186,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae_pk.c:187,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 1
    argNames:
    - pw
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 142
    functionDepth: 3
    functionLinenumber: 142
    functionLinenumberEnd: 193
    functionName: sae_pk_valid_password
    functionSourceFile: /src/hostap/src/common/sae_pk.c
    functionUses: 4
    functionsReached:
    - os_strlen
    - wpa_printf
    - BIT
    - d_check_char
    - os_memset
    linkageType: ''
    returnType: bool
    signature: bool sae_pk_valid_password(const char *pw)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - start
    - pos
    - idx
    - bits
    argTypes:
    - char*
    - char*
    - u8
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 209
    functionName: add_char
    functionSourceFile: /src/hostap/src/common/sae_pk.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * add_char(const char *start, char *pos, u8 idx, size_t *bits)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/common/sae_pk.c:227,1
    - Dst: add_char
      Src: /src/hostap/src/common/sae_pk.c:238,1
    - Dst: d_check_char
      Src: /src/hostap/src/common/sae_pk.c:244,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/sae_pk.c:244,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - src
    - len_bits
    argTypes:
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 213
    functionDepth: 3
    functionLinenumber: 213
    functionLinenumberEnd: 247
    functionName: sae_pk_base32_encode
    functionSourceFile: /src/hostap/src/common/sae_pk.c
    functionUses: 2
    functionsReached:
    - add_char
    - os_zalloc
    - d_check_char
    - os_strlen
    linkageType: ''
    returnType: char
    signature: char * sae_pk_base32_encode(const u8 *src, size_t len_bits)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/common/sae_pk.c:258,1
    - Dst: os_malloc
      Src: /src/hostap/src/common/sae_pk.c:274,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 3
    argNames:
    - src
    - len
    - out_len
    argTypes:
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 314
    functionName: sae_pk_base32_decode
    functionSourceFile: /src/hostap/src/common/sae_pk.c
    functionUses: 1
    functionsReached:
    - os_malloc
    - os_memset
    linkageType: ''
    returnType: u8
    signature: u8 * sae_pk_base32_decode(const char *src, size_t len, size_t *out_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 320
    functionName: sae_pk_get_be19
    functionSourceFile: /src/hostap/src/common/sae_pk.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: u32 sae_pk_get_be19(const u8 *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 340
    functionName: sae_pk_buf_shift_left_19
    functionSourceFile: /src/hostap/src/common/sae_pk.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sae_pk_buf_shift_left_19(u8 *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 356
    functionName: sae_pk_buf_shift_left_1
    functionSourceFile: /src/hostap/src/common/sae_pk.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sae_pk_buf_shift_left_1(u8 *buf, size_t len)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/common/sae_pk.c:371,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/sae_pk.c:374,1
    - Dst: sae_pk_valid_password
      Src: /src/hostap/src/common/sae_pk.c:375,1
    - Dst: sae_pk_base32_decode
      Src: /src/hostap/src/common/sae_pk.c:378,1
    - Dst: BIT
      Src: /src/hostap/src/common/sae_pk.c:382,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae_pk.c:385,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae_pk.c:388,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/common/sae_pk.c:390,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/sae_pk.c:398,1
    - Dst: sae_pk_buf_shift_left_1
      Src: /src/hostap/src/common/sae_pk.c:401,1
    - Dst: sae_pk_get_be19
      Src: /src/hostap/src/common/sae_pk.c:402,1
    - Dst: sae_pk_buf_shift_left_19
      Src: /src/hostap/src/common/sae_pk.c:403,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/sae_pk.c:420,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/common/sae_pk.c:422,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 2
    argNames:
    - sae
    - password
    argTypes:
    - struct sae_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 424
    functionName: sae_pk_set_password
    functionSourceFile: /src/hostap/src/common/sae_pk.c
    functionUses: 1
    functionsReached:
    - os_strlen
    - sae_pk_base32_decode
    - wpa_printf
    - wpa_hexdump_key
    - sae_pk_buf_shift_left_1
    - sae_pk_buf_shift_left_19
    - bin_clear_free
    - BIT
    - sae_pk_get_be19
    - sae_pk_valid_password
    - os_memset
    linkageType: ''
    returnType: int
    signature: int sae_pk_set_password(struct sae_data *sae, const char *password)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - group
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 439
    functionName: sae_group_2_hash_len
    functionSourceFile: /src/hostap/src/common/sae_pk.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t sae_group_2_hash_len(int group)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/sae_pk.c:445,1
    - Dst: crypto_ec_key_deinit
      Src: /src/hostap/src/common/sae_pk.c:446,1
    - Dst: crypto_ec_key_deinit
      Src: /src/hostap/src/common/sae_pk.c:448,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/sae_pk.c:450,1
    - Dst: os_free
      Src: /src/hostap/src/common/sae_pk.c:451,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - pk
    argTypes:
    - struct sae_pk*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 453
    functionName: sae_deinit_pk
    functionSourceFile: /src/hostap/src/common/sae_pk.c
    functionUses: 1
    functionsReached:
    - crypto_ec_key_deinit
    - os_free
    - wpabuf_free
    linkageType: ''
    returnType: void
    signature: void sae_deinit_pk(struct sae_pk *pk)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: os_strchr
      Src: /src/hostap/src/common/sae_pk.c:469,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae_pk.c:474,1
    - Dst: os_zalloc
      Src: /src/hostap/src/common/sae_pk.c:479,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/common/sae_pk.c:482,1
    - Dst: hexstr2bin
      Src: /src/hostap/src/common/sae_pk.c:483,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/common/sae_pk.c:483,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae_pk.c:484,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/sae_pk.c:489,1
    - Dst: os_strchr
      Src: /src/hostap/src/common/sae_pk.c:491,1
    - Dst: base64_decode
      Src: /src/hostap/src/common/sae_pk.c:497,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae_pk.c:499,1
    - Dst: crypto_ec_key_parse_priv
      Src: /src/hostap/src/common/sae_pk.c:503,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/common/sae_pk.c:504,1
    - Dst: crypto_ec_key_group
      Src: /src/hostap/src/common/sae_pk.c:507,1
    - Dst: crypto_ec_key_get_subject_public_key
      Src: /src/hostap/src/common/sae_pk.c:508,1
    - Dst: base64_decode
      Src: /src/hostap/src/common/sae_pk.c:514,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/sae_pk.c:514,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae_pk.c:516,1
    - Dst: crypto_ec_key_parse_priv
      Src: /src/hostap/src/common/sae_pk.c:521,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/common/sae_pk.c:522,1
    - Dst: sae_deinit_pk
      Src: /src/hostap/src/common/sae_pk.c:530,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 59
    argCount: 1
    argNames:
    - val
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 456
    functionDepth: 2
    functionLinenumber: 456
    functionLinenumberEnd: 532
    functionName: sae_parse_pk
    functionSourceFile: /src/hostap/src/common/sae_pk.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - wpabuf_put
    - hexstr2bin
    - sae_deinit_pk
    - crypto_ec_key_group
    - base64_decode
    - os_zalloc
    - wpabuf_alloc
    - crypto_ec_key_get_subject_public_key
    - os_strchr
    - crypto_ec_key_parse_priv
    - bin_clear_free
    linkageType: ''
    returnType: struct sae_pk
    signature: struct sae_pk * sae_parse_pk(const char *val)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sha256_vector
      Src: /src/hostap/src/common/sae_pk.c:538,1
    - Dst: sha384_vector
      Src: /src/hostap/src/common/sae_pk.c:541,1
    - Dst: sha512_vector
      Src: /src/hostap/src/common/sae_pk.c:545,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - hash_len
    - data
    - len
    - hash
    argTypes:
    - size_t
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 548
    functionName: sae_hash
    functionSourceFile: /src/hostap/src/common/sae_pk.c
    functionUses: 1
    functionsReached:
    - sha256_vector
    - sha512_vector
    - sha384_vector
    linkageType: ''
    returnType: int
    signature: int sae_hash(size_t hash_len, const u8 *data, size_t len, u8 *hash)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/common/sae_pk.c:562,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/common/sae_pk.c:566,1
    - Dst: crypto_ec_point_to_bin
      Src: /src/hostap/src/common/sae_pk.c:567,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/common/sae_pk.c:571,1
    - Dst: crypto_ec_point_to_bin
      Src: /src/hostap/src/common/sae_pk.c:572,1
    - Dst: crypto_bignum_to_bin
      Src: /src/hostap/src/common/sae_pk.c:576,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/common/sae_pk.c:578,1
    - Dst: crypto_bignum_to_bin
      Src: /src/hostap/src/common/sae_pk.c:580,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/common/sae_pk.c:582,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/common/sae_pk.c:585,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/common/sae_pk.c:586,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/common/sae_pk.c:587,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/common/sae_pk.c:589,1
    - Dst: wpa_hexdump_buf_key
      Src: /src/hostap/src/common/sae_pk.c:591,1
    - Dst: sae_hash
      Src: /src/hostap/src/common/sae_pk.c:593,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/sae_pk.c:593,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/sae_pk.c:593,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/sae_pk.c:596,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/sae_pk.c:600,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 8
    argNames:
    - sae
    - hash_len
    - ap
    - m
    - m_len
    - pubkey
    - pubkey_len
    - hash
    argTypes:
    - struct sae_data*
    - size_t
    - bool
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 551
    functionDepth: 1
    functionLinenumber: 551
    functionLinenumberEnd: 602
    functionName: sae_pk_hash_sig_data
    functionSourceFile: /src/hostap/src/common/sae_pk.c
    functionUses: 0
    functionsReached:
    - crypto_bignum_to_bin
    - wpabuf_put
    - wpabuf_put_data
    - wpa_hexdump
    - wpabuf_len
    - wpabuf_free
    - wpabuf_head
    - wpabuf_alloc
    - sae_hash
    - crypto_ec_point_to_bin
    - wpa_hexdump_buf_key
    linkageType: ''
    returnType: int
    signature: "int sae_pk_hash_sig_data(struct sae_data *sae, size_t hash_len,\n\t\t\t\tbool
      ap, const u8 *m, size_t m_len,\n\t\t\t\tconst u8 *pubkey, size_t pubkey_len,
      u8 *hash)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae_pk.c:630,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae_pk.c:636,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae_pk.c:644,1
    - Dst: sae_group_2_hash_len
      Src: /src/hostap/src/common/sae_pk.c:649,1
    - Dst: sae_pk_hash_sig_data
      Src: /src/hostap/src/common/sae_pk.c:650,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/sae_pk.c:650,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/sae_pk.c:651,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/sae_pk.c:651,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/sae_pk.c:652,1
    - Dst: crypto_ec_key_sign
      Src: /src/hostap/src/common/sae_pk.c:654,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/common/sae_pk.c:657,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/sae_pk.c:663,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/sae_pk.c:664,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/sae_pk.c:664,1
    - Dst: wpabuf_tailroom
      Src: /src/hostap/src/common/sae_pk.c:666,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae_pk.c:667,1
    - Dst: wpabuf_tailroom
      Src: /src/hostap/src/common/sae_pk.c:669,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/sae_pk.c:674,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/sae_pk.c:675,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/sae_pk.c:675,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/sae_pk.c:676,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/sae_pk.c:677,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/common/sae_pk.c:678,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/sae_pk.c:681,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/sae_pk.c:682,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/sae_pk.c:682,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/sae_pk.c:683,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/common/sae_pk.c:686,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/sae_pk.c:689,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/sae_pk.c:690,1
    - Dst: wpabuf_put_be32
      Src: /src/hostap/src/common/sae_pk.c:691,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/common/sae_pk.c:693,1
    - Dst: aes_siv_encrypt
      Src: /src/hostap/src/common/sae_pk.c:694,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/sae_pk.c:695,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/sae_pk.c:695,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/sae_pk.c:698,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/sae_pk.c:703,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 59
    argCount: 2
    argNames:
    - sae
    - buf
    argTypes:
    - struct sae_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 605
    functionDepth: 3
    functionLinenumber: 605
    functionLinenumberEnd: 706
    functionName: sae_write_confirm_pk
    functionSourceFile: /src/hostap/src/common/sae_pk.c
    functionUses: 1
    functionsReached:
    - sae_group_2_hash_len
    - wpa_printf
    - wpabuf_put
    - wpabuf_put_u8
    - wpa_hexdump
    - wpabuf_len
    - wpa_hexdump_buf
    - crypto_ec_key_sign
    - wpabuf_free
    - wpabuf_head
    - wpabuf_tailroom
    - wpabuf_put_buf
    - wpabuf_put_be32
    - aes_siv_encrypt
    - sae_pk_hash_sig_data
    linkageType: ''
    returnType: int
    signature: int sae_write_confirm_pk(struct sae_data *sae, struct wpabuf *buf)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae_pk.c:720,1
    - Dst: sae_group_2_hash_len
      Src: /src/hostap/src/common/sae_pk.c:728,1
    - Dst: os_malloc
      Src: /src/hostap/src/common/sae_pk.c:730,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/sae_pk.c:734,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/sae_pk.c:736,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/sae_pk.c:738,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/sae_pk.c:740,1
    - Dst: sae_hash
      Src: /src/hostap/src/common/sae_pk.c:742,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/common/sae_pk.c:743,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/sae_pk.c:746,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae_pk.c:750,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/sae_pk.c:762,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/common/sae_pk.c:764,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae_pk.c:766,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/sae_pk.c:767,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae_pk.c:772,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 40
    argCount: 6
    argNames:
    - sae
    - m
    - m_len
    - k_ap
    - k_ap_len
    - group
    argTypes:
    - struct sae_data*
    - u8*
    - size_t
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 709
    functionDepth: 1
    functionLinenumber: 709
    functionLinenumberEnd: 774
    functionName: sae_pk_valid_fingerprint
    functionSourceFile: /src/hostap/src/common/sae_pk.c
    functionUses: 0
    functionsReached:
    - sae_group_2_hash_len
    - wpa_printf
    - os_memcpy
    - wpa_hexdump_key
    - wpa_hexdump
    - os_malloc
    - os_memcmp_const
    - sae_hash
    - bin_clear_free
    linkageType: ''
    returnType: bool
    signature: "bool sae_pk_valid_fingerprint(struct sae_data *sae,\n\t\t\t\t     const
      u8 *m, size_t m_len,\n\t\t\t\t     const u8 *k_ap, size_t k_ap_len, int group)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae_pk.c:796,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae_pk.c:804,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/sae_pk.c:809,1
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/src/common/sae_pk.c:810,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae_pk.c:811,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae_pk.c:815,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae_pk.c:823,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/sae_pk.c:828,1
    - Dst: aes_siv_decrypt
      Src: /src/hostap/src/common/sae_pk.c:831,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae_pk.c:834,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/sae_pk.c:838,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae_pk.c:841,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/sae_pk.c:847,1
    - Dst: crypto_ec_key_parse_pub
      Src: /src/hostap/src/common/sae_pk.c:851,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae_pk.c:853,1
    - Dst: crypto_ec_key_group
      Src: /src/hostap/src/common/sae_pk.c:857,1
    - Dst: sae_pk_valid_fingerprint
      Src: /src/hostap/src/common/sae_pk.c:858,1
    - Dst: crypto_ec_key_deinit
      Src: /src/hostap/src/common/sae_pk.c:860,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/sae_pk.c:864,1
    - Dst: sae_group_2_hash_len
      Src: /src/hostap/src/common/sae_pk.c:867,1
    - Dst: sae_pk_hash_sig_data
      Src: /src/hostap/src/common/sae_pk.c:868,1
    - Dst: crypto_ec_key_deinit
      Src: /src/hostap/src/common/sae_pk.c:870,1
    - Dst: crypto_ec_key_verify_signature
      Src: /src/hostap/src/common/sae_pk.c:874,1
    - Dst: crypto_ec_key_deinit
      Src: /src/hostap/src/common/sae_pk.c:877,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae_pk.c:880,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/sae_pk.c:885,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 63
    argCount: 3
    argNames:
    - sae
    - ies
    - ies_len
    argTypes:
    - struct sae_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 777
    functionDepth: 4
    functionLinenumber: 777
    functionLinenumberEnd: 890
    functionName: sae_check_confirm_pk
    functionSourceFile: /src/hostap/src/common/sae_pk.c
    functionUses: 1
    functionsReached:
    - crypto_ec_key_deinit
    - sae_group_2_hash_len
    - wpa_printf
    - wpa_hexdump_key
    - sae_pk_hash_sig_data
    - wpa_hexdump
    - sae_pk_valid_fingerprint
    - crypto_ec_key_verify_signature
    - crypto_ec_key_group
    - ieee802_11_parse_elems
    - crypto_ec_key_parse_pub
    - aes_siv_decrypt
    linkageType: ''
    returnType: int
    signature: int sae_check_confirm_pk(struct sae_data *sae, const u8 *ies, size_t
      ies_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:34,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_auth.c:35,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_auth.c:36,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/common/dpp_auth.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - msg
    - hash
    argTypes:
    - struct wpabuf*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 39
    functionName: dpp_build_attr_i_bootstrap_key_hash
    functionSourceFile: /src/hostap/src/common/dpp_auth.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put_data
    - wpabuf_put_le16
    linkageType: ''
    returnType: void
    signature: "void dpp_build_attr_i_bootstrap_key_hash(struct wpabuf *msg,\n\t\t\t\t\t\tconst
      u8 *hash)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:44,1
    - Dst: os_memset
      Src: /src/hostap/src/common/dpp_auth.c:46,1
    - Dst: os_memset
      Src: /src/hostap/src/common/dpp_auth.c:48,1
    - Dst: os_memset
      Src: /src/hostap/src/common/dpp_auth.c:50,1
    - Dst: os_memset
      Src: /src/hostap/src/common/dpp_auth.c:52,1
    - Dst: os_memset
      Src: /src/hostap/src/common/dpp_auth.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - auth
    argTypes:
    - struct dpp_authentication*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 56
    functionName: dpp_auth_success
    functionSourceFile: /src/hostap/src/common/dpp_auth.c
    functionUses: 4
    functionsReached:
    - wpa_printf
    - os_memset
    linkageType: ''
    returnType: void
    signature: void dpp_auth_success(struct dpp_authentication *auth)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:433,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:439,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/dpp_auth.c:441,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/common/dpp_auth.c:444,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:445,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/common/dpp_auth.c:452,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:453,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_auth.c:457,1
    - Dst: crypto_ec_key_deinit
      Src: /src/hostap/src/common/dpp_auth.c:459,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:464,1
    - Dst: dpp_set_keypair
      Src: /src/hostap/src/common/dpp_auth.c:466,1
    - Dst: dpp_gen_keypair
      Src: /src/hostap/src/common/dpp_auth.c:470,1
    - Dst: dpp_gen_keypair
      Src: /src/hostap/src/common/dpp_auth.c:473,1
    - Dst: crypto_ec_key_get_pubkey_point
      Src: /src/hostap/src/common/dpp_auth.c:478,1
    - Dst: dpp_ecdh
      Src: /src/hostap/src/common/dpp_auth.c:483,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/dpp_auth.c:487,1
    - Dst: dpp_derive_k2
      Src: /src/hostap/src/common/dpp_auth.c:491,1
    - Dst: dpp_auth_derive_l_responder
      Src: /src/hostap/src/common/dpp_auth.c:497,1
    - Dst: dpp_derive_bk_ke
      Src: /src/hostap/src/common/dpp_auth.c:501,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/common/dpp_auth.c:505,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/common/dpp_auth.c:506,1
    - Dst: dpp_gen_r_auth
      Src: /src/hostap/src/common/dpp_auth.c:507,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:511,1
    - Dst: aes_siv_encrypt
      Src: /src/hostap/src/common/dpp_auth.c:515,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_auth.c:520,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:535,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:539,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/dpp_auth.c:541,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:545,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:549,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/dpp_auth.c:552,1
    - Dst: os_memset
      Src: /src/hostap/src/common/dpp_auth.c:554,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:558,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_auth.c:559,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:562,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_auth.c:563,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/common/dpp_auth.c:564,1
    - Dst: dpp_test_gen_invalid_key
      Src: /src/hostap/src/common/dpp_auth.c:565,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:568,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:572,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:575,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:578,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:581,1
    - Dst: dpp_auth_build_resp
      Src: /src/hostap/src/common/dpp_auth.c:586,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_auth.c:593,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_auth.c:597,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 142
    argCount: 1
    argNames:
    - auth
    argTypes:
    - struct dpp_authentication*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 418
    functionDepth: 3
    functionLinenumber: 418
    functionLinenumberEnd: 599
    functionName: dpp_auth_build_resp_ok
    functionSourceFile: /src/hostap/src/common/dpp_auth.c
    functionUses: 0
    functionsReached:
    - wpa_hexdump
    - dpp_derive_k2
    - wpabuf_alloc
    - dpp_gen_r_auth
    - crypto_ec_key_deinit
    - wpa_printf
    - dpp_auth_build_resp
    - aes_siv_encrypt
    - WPA_PUT_LE16
    - wpa_hexdump_key
    - dpp_derive_bk_ke
    - crypto_ec_key_get_pubkey_point
    - dpp_set_keypair
    - dpp_auth_derive_l_responder
    - dpp_gen_keypair
    - dpp_test_gen_invalid_key
    - dpp_ecdh
    - os_memset
    - os_memcpy
    - random_get_bytes
    - wpabuf_free
    linkageType: ''
    returnType: int
    signature: int dpp_auth_build_resp_ok(struct dpp_authentication *auth)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:613,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:625,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:629,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/dpp_auth.c:631,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:635,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:639,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/dpp_auth.c:642,1
    - Dst: os_memset
      Src: /src/hostap/src/common/dpp_auth.c:644,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:648,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:651,1
    - Dst: dpp_auth_build_resp
      Src: /src/hostap/src/common/dpp_auth.c:656,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_auth.c:661,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 2
    argNames:
    - auth
    - status
    argTypes:
    - struct dpp_authentication*
    - enum dpp_status_error
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 602
    functionDepth: 1
    functionLinenumber: 602
    functionLinenumberEnd: 664
    functionName: dpp_auth_build_resp_status
    functionSourceFile: /src/hostap/src/common/dpp_auth.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - dpp_auth_build_resp
    - wpabuf_free
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int dpp_auth_build_resp_status(struct dpp_authentication *auth,\n\t\t\t\t
      \     enum dpp_status_error status)"
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:692,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp_auth.c:698,1
    - Dst: wpa_msg
      Src: /src/hostap/src/common/dpp_auth.c:701,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_auth.c:705,1
    - Dst: dpp_alloc_auth
      Src: /src/hostap/src/common/dpp_auth.c:709,1
    - Dst: dpp_set_configurator
      Src: /src/hostap/src/common/dpp_auth.c:713,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp_auth.c:722,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_auth.c:726,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:731,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp_auth.c:736,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_auth.c:742,1
    - Dst: ieee80211_chan_to_freq
      Src: /src/hostap/src/common/dpp_auth.c:746,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:747,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_auth.c:751,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:757,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp_auth.c:764,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_auth.c:767,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_auth.c:771,1
    - Dst: dpp_set_pubkey_point
      Src: /src/hostap/src/common/dpp_auth.c:775,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_auth.c:777,1
    - Dst: dpp_debug_print_key
      Src: /src/hostap/src/common/dpp_auth.c:780,1
    - Dst: dpp_ecdh
      Src: /src/hostap/src/common/dpp_auth.c:782,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/dpp_auth.c:786,1
    - Dst: dpp_derive_k1
      Src: /src/hostap/src/common/dpp_auth.c:790,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_auth.c:798,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_auth.c:799,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_auth.c:800,1
    - Dst: os_malloc
      Src: /src/hostap/src/common/dpp_auth.c:803,1
    - Dst: aes_siv_decrypt
      Src: /src/hostap/src/common/dpp_auth.c:806,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_auth.c:809,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_auth.c:812,1
    - Dst: dpp_check_attrs
      Src: /src/hostap/src/common/dpp_auth.c:815,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_auth.c:816,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp_auth.c:820,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_auth.c:823,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_auth.c:826,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/dpp_auth.c:827,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp_auth.c:829,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_auth.c:833,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:837,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/common/dpp_auth.c:839,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:845,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:849,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:854,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:858,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:863,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:866,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:869,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:875,1
    - Dst: wpa_msg
      Src: /src/hostap/src/common/dpp_auth.c:876,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:887,1
    - Dst: dpp_auth_build_resp_status
      Src: /src/hostap/src/common/dpp_auth.c:889,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp_auth.c:892,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/dpp_auth.c:897,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/common/dpp_auth.c:899,1
    - Dst: wpa_msg
      Src: /src/hostap/src/common/dpp_auth.c:905,1
    - Dst: dpp_auth_build_resp_ok
      Src: /src/hostap/src/common/dpp_auth.c:909,1
    - Dst: wpa_msg
      Src: /src/hostap/src/common/dpp_auth.c:915,1
    - Dst: dpp_auth_build_resp_status
      Src: /src/hostap/src/common/dpp_auth.c:923,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/common/dpp_auth.c:929,1
    - Dst: crypto_ec_key_deinit
      Src: /src/hostap/src/common/dpp_auth.c:930,1
    - Dst: dpp_auth_deinit
      Src: /src/hostap/src/common/dpp_auth.c:931,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 197
    argCount: 10
    argNames:
    - dpp
    - msg_ctx
    - dpp_allowed_roles
    - qr_mutual
    - peer_bi
    - own_bi
    - freq
    - hdr
    - attr_start
    - attr_len
    argTypes:
    - struct dpp_global*
    - void*
    - u8
    - int
    - struct dpp_bootstrap_info*
    - struct dpp_bootstrap_info*
    - unsigned int
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 667
    functionDepth: 5
    functionLinenumber: 667
    functionLinenumberEnd: 933
    functionName: dpp_auth_req_rx
    functionSourceFile: /src/hostap/src/common/dpp_auth.c
    functionUses: 3
    functionsReached:
    - dpp_auth_deinit
    - wpa_hexdump
    - dpp_alloc_auth
    - dpp_auth_build_resp_ok
    - crypto_ec_key_deinit
    - wpa_printf
    - dpp_derive_k1
    - wpa_snprintf_hex
    - dpp_auth_fail
    - dpp_set_configurator
    - aes_siv_decrypt
    - wpa_hexdump_key
    - ieee80211_chan_to_freq
    - dpp_debug_print_key
    - os_malloc
    - dpp_ecdh
    - dpp_set_pubkey_point
    - dpp_check_attrs
    - os_memcpy
    - wpa_msg
    - dpp_auth_build_resp_status
    - dpp_get_attr
    - bin_clear_free
    linkageType: ''
    returnType: struct dpp_authentication
    signature: "struct dpp_authentication *\ndpp_auth_req_rx(struct dpp_global *dpp,
      void *msg_ctx, u8 dpp_allowed_roles,\n\t\tint qr_mutual, struct dpp_bootstrap_info
      *peer_bi,\n\t\tstruct dpp_bootstrap_info *own_bi,\n\t\tunsigned int freq, const
      u8 *hdr, const u8 *attr_start,\n\t\tsize_t attr_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/src/common/dpp_auth.c:940,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:944,1
    - Dst: MAC2STR
      Src: /src/hostap/src/common/dpp_auth.c:946,1
    - Dst: dpp_auth_build_resp_ok
      Src: /src/hostap/src/common/dpp_auth.c:949,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - auth
    - peer_bi
    argTypes:
    - struct dpp_authentication*
    - struct dpp_bootstrap_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 953
      start: 936
    functionDepth: 4
    functionLinenumber: 936
    functionLinenumberEnd: 953
    functionName: dpp_notify_new_qr_code
    functionSourceFile: /src/hostap/src/common/dpp_auth.c
    functionUses: 3
    functionsReached:
    - MAC2STR
    - wpa_printf
    - os_memcmp
    - dpp_auth_build_resp_ok
    linkageType: ''
    returnType: int
    signature: "int dpp_notify_new_qr_code(struct dpp_authentication *auth,\n\t\t\t
      \  struct dpp_bootstrap_info *peer_bi)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:974,1
    - Dst: dpp_alloc_msg
      Src: /src/hostap/src/common/dpp_auth.c:985,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/common/dpp_auth.c:989,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:999,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:1002,1
    - Dst: dpp_build_attr_status
      Src: /src/hostap/src/common/dpp_auth.c:1008,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:1013,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:1017,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/dpp_auth.c:1019,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:1023,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:1027,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/dpp_auth.c:1030,1
    - Dst: os_memset
      Src: /src/hostap/src/common/dpp_auth.c:1032,1
    - Dst: dpp_build_attr_r_bootstrap_key_hash
      Src: /src/hostap/src/common/dpp_auth.c:1039,1
    - Dst: dpp_build_attr_i_bootstrap_key_hash
      Src: /src/hostap/src/common/dpp_auth.c:1042,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/common/dpp_auth.c:1051,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/common/dpp_auth.c:1054,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_auth.c:1056,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_auth.c:1061,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_auth.c:1065,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_auth.c:1066,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/common/dpp_auth.c:1067,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/common/dpp_auth.c:1076,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/common/dpp_auth.c:1077,1
    - Dst: dpp_gen_i_auth
      Src: /src/hostap/src/common/dpp_auth.c:1078,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:1083,1
    - Dst: aes_siv_encrypt
      Src: /src/hostap/src/common/dpp_auth.c:1088,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_auth.c:1092,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_auth.c:1096,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_auth.c:1097,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/common/dpp_auth.c:1098,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/common/dpp_auth.c:1100,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/common/dpp_auth.c:1101,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/dpp_auth.c:1102,1
    - Dst: aes_siv_encrypt
      Src: /src/hostap/src/common/dpp_auth.c:1104,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_auth.c:1108,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:1114,1
    - Dst: dpp_build_attr_status
      Src: /src/hostap/src/common/dpp_auth.c:1115,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/common/dpp_auth.c:1120,1
    - Dst: dpp_auth_success
      Src: /src/hostap/src/common/dpp_auth.c:1124,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_auth.c:1129,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 114
    argCount: 2
    argNames:
    - auth
    - status
    argTypes:
    - struct dpp_authentication*
    - enum dpp_status_error
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1131
      start: 956
    functionDepth: 3
    functionLinenumber: 956
    functionLinenumberEnd: 1131
    functionName: dpp_auth_build_conf
    functionSourceFile: /src/hostap/src/common/dpp_auth.c
    functionUses: 0
    functionsReached:
    - dpp_build_attr_r_bootstrap_key_hash
    - wpa_printf
    - os_memcpy
    - wpabuf_put
    - wpabuf_head_u8
    - wpa_hexdump
    - dpp_build_attr_i_bootstrap_key_hash
    - dpp_alloc_msg
    - os_memset
    - wpa_hexdump_buf
    - dpp_auth_success
    - wpabuf_free
    - wpabuf_put_le16
    - dpp_gen_i_auth
    - WPA_PUT_LE16
    - aes_siv_encrypt
    - dpp_build_attr_status
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * dpp_auth_build_conf(struct dpp_authentication *auth,\n\t\t\t\t\t
      \  enum dpp_status_error status)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/common/dpp_auth.c:1141,1
    - Dst: dpp_keygen
      Src: /src/hostap/src/common/dpp_auth.c:1145,1
    - Dst: dpp_gen_uri
      Src: /src/hostap/src/common/dpp_auth.c:1146,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:1148,1
    - Dst: dpp_bootstrap_info_free
      Src: /src/hostap/src/common/dpp_auth.c:1156,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - auth
    argTypes:
    - struct dpp_authentication*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1158
      start: 1134
    functionDepth: 2
    functionLinenumber: 1134
    functionLinenumberEnd: 1158
    functionName: dpp_autogen_bootstrap_key
    functionSourceFile: /src/hostap/src/common/dpp_auth.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dpp_bootstrap_info_free
    - os_zalloc
    - dpp_keygen
    - dpp_gen_uri
    linkageType: ''
    returnType: int
    signature: int dpp_autogen_bootstrap_key(struct dpp_authentication *auth)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: dpp_alloc_auth
      Src: /src/hostap/src/common/dpp_auth.c:1178,1
    - Dst: dpp_set_configurator
      Src: /src/hostap/src/common/dpp_auth.c:1182,1
    - Dst: dpp_autogen_bootstrap_key
      Src: /src/hostap/src/common/dpp_auth.c:1192,1
    - Dst: dpp_prepare_channel_list
      Src: /src/hostap/src/common/dpp_auth.c:1193,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:1198,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/dpp_auth.c:1200,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/common/dpp_auth.c:1203,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:1204,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/common/dpp_auth.c:1211,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:1212,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_auth.c:1216,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:1222,1
    - Dst: dpp_set_keypair
      Src: /src/hostap/src/common/dpp_auth.c:1224,1
    - Dst: dpp_gen_keypair
      Src: /src/hostap/src/common/dpp_auth.c:1228,1
    - Dst: dpp_gen_keypair
      Src: /src/hostap/src/common/dpp_auth.c:1231,1
    - Dst: crypto_ec_key_get_pubkey_point
      Src: /src/hostap/src/common/dpp_auth.c:1236,1
    - Dst: dpp_ecdh
      Src: /src/hostap/src/common/dpp_auth.c:1241,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/dpp_auth.c:1246,1
    - Dst: dpp_derive_k1
      Src: /src/hostap/src/common/dpp_auth.c:1250,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:1259,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:1262,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/dpp_auth.c:1264,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:1268,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:1271,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/dpp_auth.c:1273,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:1277,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_auth.c:1278,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:1281,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_auth.c:1282,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/common/dpp_auth.c:1283,1
    - Dst: dpp_test_gen_invalid_key
      Src: /src/hostap/src/common/dpp_auth.c:1284,1
    - Dst: dpp_auth_build_req
      Src: /src/hostap/src/common/dpp_auth.c:1291,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_auth.c:1297,1
    - Dst: dpp_auth_deinit
      Src: /src/hostap/src/common/dpp_auth.c:1300,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 110
    argCount: 8
    argNames:
    - dpp
    - msg_ctx
    - peer_bi
    - own_bi
    - dpp_allowed_roles
    - neg_freq
    - own_modes
    - num_modes
    argTypes:
    - struct dpp_global*
    - void*
    - struct dpp_bootstrap_info*
    - struct dpp_bootstrap_info*
    - u8
    - unsigned int
    - struct hostapd_hw_modes*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1303
      start: 1161
    functionDepth: 5
    functionLinenumber: 1161
    functionLinenumberEnd: 1303
    functionName: dpp_auth_init
    functionSourceFile: /src/hostap/src/common/dpp_auth.c
    functionUses: 9
    functionsReached:
    - dpp_auth_deinit
    - wpa_hexdump
    - wpabuf_alloc
    - dpp_alloc_auth
    - wpa_printf
    - dpp_derive_k1
    - dpp_auth_build_req
    - dpp_set_configurator
    - dpp_autogen_bootstrap_key
    - wpa_hexdump_key
    - crypto_ec_key_get_pubkey_point
    - dpp_set_keypair
    - dpp_gen_keypair
    - dpp_test_gen_invalid_key
    - dpp_ecdh
    - os_memcpy
    - random_get_bytes
    - wpabuf_free
    - dpp_prepare_channel_list
    linkageType: ''
    returnType: struct dpp_authentication
    signature: "struct dpp_authentication * dpp_auth_init(struct dpp_global *dpp,
      void *msg_ctx,\n\t\t\t\t\t  struct dpp_bootstrap_info *peer_bi,\n\t\t\t\t\t
      \ struct dpp_bootstrap_info *own_bi,\n\t\t\t\t\t  u8 dpp_allowed_roles,\n\t\t\t\t\t
      \ unsigned int neg_freq,\n\t\t\t\t\t  struct hostapd_hw_modes *own_modes,\n\t\t\t\t\t
      \ u16 num_modes)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:1318,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:1321,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:1324,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_auth.c:1327,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_auth.c:1335,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_auth.c:1336,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_auth.c:1337,1
    - Dst: os_malloc
      Src: /src/hostap/src/common/dpp_auth.c:1340,1
    - Dst: aes_siv_decrypt
      Src: /src/hostap/src/common/dpp_auth.c:1343,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_auth.c:1346,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_auth.c:1349,1
    - Dst: dpp_check_attrs
      Src: /src/hostap/src/common/dpp_auth.c:1352,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_auth.c:1353,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp_auth.c:1357,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_auth.c:1360,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_auth.c:1363,1
    - Dst: os_memcmp
      Src: /src/hostap/src/common/dpp_auth.c:1364,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_auth.c:1365,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp_auth.c:1369,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_auth.c:1373,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:1377,1
    - Dst: wpa_msg
      Src: /src/hostap/src/common/dpp_auth.c:1379,1
    - Dst: wpa_msg
      Src: /src/hostap/src/common/dpp_auth.c:1386,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:1390,1
    - Dst: wpa_msg
      Src: /src/hostap/src/common/dpp_auth.c:1392,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/common/dpp_auth.c:1398,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 68
    argCount: 7
    argNames:
    - auth
    - hdr
    - attr_start
    - attr_len
    - wrapped_data
    - wrapped_data_len
    - status
    argTypes:
    - struct dpp_authentication*
    - u8*
    - u8*
    - size_t
    - u8*
    - u16
    - enum dpp_status_error
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1399
      start: 1304
    functionDepth: 3
    functionLinenumber: 1304
    functionLinenumberEnd: 1399
    functionName: dpp_auth_resp_rx_status
    functionSourceFile: /src/hostap/src/common/dpp_auth.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dpp_check_attrs
    - dpp_auth_fail
    - wpa_hexdump
    - wpa_msg
    - os_malloc
    - bin_clear_free
    - dpp_get_attr
    - os_memcmp
    - aes_siv_decrypt
    linkageType: ''
    returnType: void
    signature: "void dpp_auth_resp_rx_status(struct dpp_authentication *auth, const
      u8 *hdr,\n\t\t\tconst u8 *attr_start, size_t attr_len,\n\t\t\tconst u8 *wrapped_data,
      u16 wrapped_data_len,\n\t\t\tenum dpp_status_error status)"
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:1426,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_auth.c:1433,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp_auth.c:1439,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_auth.c:1442,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_auth.c:1446,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp_auth.c:1451,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_auth.c:1455,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_auth.c:1459,1
    - Dst: os_memcmp
      Src: /src/hostap/src/common/dpp_auth.c:1461,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_auth.c:1463,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_auth.c:1465,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp_auth.c:1471,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_auth.c:1476,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_auth.c:1480,1
    - Dst: os_memcmp
      Src: /src/hostap/src/common/dpp_auth.c:1484,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_auth.c:1486,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_auth.c:1492,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_auth.c:1500,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp_auth.c:1507,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_auth.c:1511,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:1516,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp_auth.c:1521,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_auth.c:1524,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:1528,1
    - Dst: dpp_auth_resp_rx_status
      Src: /src/hostap/src/common/dpp_auth.c:1531,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:1538,1
    - Dst: wpa_msg
      Src: /src/hostap/src/common/dpp_auth.c:1543,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp_auth.c:1546,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_auth.c:1549,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_auth.c:1553,1
    - Dst: dpp_set_pubkey_point
      Src: /src/hostap/src/common/dpp_auth.c:1557,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_auth.c:1559,1
    - Dst: dpp_debug_print_key
      Src: /src/hostap/src/common/dpp_auth.c:1562,1
    - Dst: dpp_ecdh
      Src: /src/hostap/src/common/dpp_auth.c:1564,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_auth.c:1565,1
    - Dst: crypto_ec_key_deinit
      Src: /src/hostap/src/common/dpp_auth.c:1568,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/dpp_auth.c:1572,1
    - Dst: dpp_derive_k2
      Src: /src/hostap/src/common/dpp_auth.c:1576,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_auth.c:1584,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_auth.c:1585,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_auth.c:1586,1
    - Dst: os_malloc
      Src: /src/hostap/src/common/dpp_auth.c:1589,1
    - Dst: aes_siv_decrypt
      Src: /src/hostap/src/common/dpp_auth.c:1592,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_auth.c:1595,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_auth.c:1598,1
    - Dst: dpp_check_attrs
      Src: /src/hostap/src/common/dpp_auth.c:1601,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_auth.c:1602,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp_auth.c:1606,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_auth.c:1609,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_auth.c:1612,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/dpp_auth.c:1613,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp_auth.c:1615,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_auth.c:1618,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_auth.c:1621,1
    - Dst: os_memcmp
      Src: /src/hostap/src/common/dpp_auth.c:1622,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_auth.c:1623,1
    - Dst: dpp_auth_derive_l_initiator
      Src: /src/hostap/src/common/dpp_auth.c:1629,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp_auth.c:1633,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_auth.c:1637,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:1641,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:1649,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:1653,1
    - Dst: wpa_msg
      Src: /src/hostap/src/common/dpp_auth.c:1654,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/common/dpp_auth.c:1660,1
    - Dst: dpp_auth_build_conf
      Src: /src/hostap/src/common/dpp_auth.c:1662,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp_auth.c:1665,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_auth.c:1668,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_auth.c:1673,1
    - Dst: dpp_derive_bk_ke
      Src: /src/hostap/src/common/dpp_auth.c:1676,1
    - Dst: os_malloc
      Src: /src/hostap/src/common/dpp_auth.c:1680,1
    - Dst: aes_siv_decrypt
      Src: /src/hostap/src/common/dpp_auth.c:1683,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_auth.c:1686,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_auth.c:1689,1
    - Dst: dpp_check_attrs
      Src: /src/hostap/src/common/dpp_auth.c:1692,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_auth.c:1693,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp_auth.c:1698,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_auth.c:1701,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_auth.c:1705,1
    - Dst: dpp_gen_r_auth
      Src: /src/hostap/src/common/dpp_auth.c:1708,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_auth.c:1710,1
    - Dst: os_memcmp
      Src: /src/hostap/src/common/dpp_auth.c:1712,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_auth.c:1713,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/common/dpp_auth.c:1714,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/common/dpp_auth.c:1715,1
    - Dst: dpp_auth_build_conf
      Src: /src/hostap/src/common/dpp_auth.c:1717,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/common/dpp_auth.c:1720,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/common/dpp_auth.c:1721,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:1725,1
    - Dst: dpp_auth_build_resp_ok
      Src: /src/hostap/src/common/dpp_auth.c:1727,1
    - Dst: wpabuf_dup
      Src: /src/hostap/src/common/dpp_auth.c:1729,1
    - Dst: dpp_auth_build_conf
      Src: /src/hostap/src/common/dpp_auth.c:1733,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/common/dpp_auth.c:1736,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/common/dpp_auth.c:1737,1
    - Dst: crypto_ec_key_deinit
      Src: /src/hostap/src/common/dpp_auth.c:1738,1
    CyclomaticComplexity: 82
    EdgeCount: 82
    ICount: 229
    argCount: 4
    argNames:
    - auth
    - hdr
    - attr_start
    - attr_len
    argTypes:
    - struct dpp_authentication*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1740
      start: 1402
    functionDepth: 4
    functionLinenumber: 1402
    functionLinenumberEnd: 1740
    functionName: dpp_auth_resp_rx
    functionSourceFile: /src/hostap/src/common/dpp_auth.c
    functionUses: 3
    functionsReached:
    - wpa_hexdump
    - dpp_derive_k2
    - dpp_gen_r_auth
    - dpp_auth_build_resp_ok
    - crypto_ec_key_deinit
    - wpa_printf
    - dpp_auth_fail
    - dpp_auth_build_conf
    - os_memcmp
    - dpp_auth_resp_rx_status
    - aes_siv_decrypt
    - wpabuf_dup
    - wpa_hexdump_key
    - dpp_derive_bk_ke
    - dpp_debug_print_key
    - os_malloc
    - dpp_ecdh
    - dpp_set_pubkey_point
    - dpp_check_attrs
    - os_memcpy
    - wpa_msg
    - dpp_auth_derive_l_initiator
    - dpp_get_attr
    - bin_clear_free
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf *\ndpp_auth_resp_rx(struct dpp_authentication *auth,
      const u8 *hdr,\n\t\t const u8 *attr_start, size_t attr_len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_auth.c:1764,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_auth.c:1765,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_auth.c:1766,1
    - Dst: os_malloc
      Src: /src/hostap/src/common/dpp_auth.c:1769,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_auth.c:1771,1
    - Dst: aes_siv_decrypt
      Src: /src/hostap/src/common/dpp_auth.c:1774,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_auth.c:1777,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_auth.c:1780,1
    - Dst: dpp_check_attrs
      Src: /src/hostap/src/common/dpp_auth.c:1783,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_auth.c:1784,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp_auth.c:1788,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_auth.c:1791,1
    - Dst: os_memcmp
      Src: /src/hostap/src/common/dpp_auth.c:1794,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_auth.c:1795,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_auth.c:1797,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_auth.c:1799,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_auth.c:1804,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_auth.c:1806,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/common/dpp_auth.c:1809,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 47
    argCount: 7
    argNames:
    - auth
    - hdr
    - attr_start
    - attr_len
    - wrapped_data
    - wrapped_data_len
    - status
    argTypes:
    - struct dpp_authentication*
    - u8*
    - u8*
    - size_t
    - u8*
    - u16
    - enum dpp_status_error
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1811
      start: 1743
    functionDepth: 3
    functionLinenumber: 1743
    functionLinenumberEnd: 1811
    functionName: dpp_auth_conf_rx_failure
    functionSourceFile: /src/hostap/src/common/dpp_auth.c
    functionUses: 0
    functionsReached:
    - dpp_check_attrs
    - dpp_auth_fail
    - wpa_hexdump
    - os_malloc
    - bin_clear_free
    - dpp_get_attr
    - os_memcmp
    - aes_siv_decrypt
    linkageType: ''
    returnType: int
    signature: "int dpp_auth_conf_rx_failure(struct dpp_authentication *auth,\n\t\t\t\t
      \   const u8 *hdr,\n\t\t\t\t    const u8 *attr_start, size_t attr_len,\n\t\t\t\t
      \   const u8 *wrapped_data,\n\t\t\t\t    u16 wrapped_data_len,\n\t\t\t\t    enum
      dpp_status_error status)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:1828,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:1836,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_auth.c:1840,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp_auth.c:1846,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_auth.c:1849,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_auth.c:1853,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp_auth.c:1858,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_auth.c:1862,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_auth.c:1866,1
    - Dst: os_memcmp
      Src: /src/hostap/src/common/dpp_auth.c:1868,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_auth.c:1870,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_auth.c:1873,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp_auth.c:1878,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_auth.c:1883,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_auth.c:1887,1
    - Dst: os_memcmp
      Src: /src/hostap/src/common/dpp_auth.c:1891,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_auth.c:1893,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_auth.c:1900,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp_auth.c:1905,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_auth.c:1908,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_auth.c:1912,1
    - Dst: dpp_auth_conf_rx_failure
      Src: /src/hostap/src/common/dpp_auth.c:1915,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_auth.c:1920,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_auth.c:1928,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_auth.c:1929,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_auth.c:1930,1
    - Dst: os_malloc
      Src: /src/hostap/src/common/dpp_auth.c:1933,1
    - Dst: aes_siv_decrypt
      Src: /src/hostap/src/common/dpp_auth.c:1936,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_auth.c:1939,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_auth.c:1942,1
    - Dst: dpp_check_attrs
      Src: /src/hostap/src/common/dpp_auth.c:1945,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_auth.c:1946,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp_auth.c:1950,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_auth.c:1953,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_auth.c:1957,1
    - Dst: dpp_gen_i_auth
      Src: /src/hostap/src/common/dpp_auth.c:1960,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_auth.c:1962,1
    - Dst: os_memcmp
      Src: /src/hostap/src/common/dpp_auth.c:1964,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_auth.c:1965,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/common/dpp_auth.c:1969,1
    - Dst: dpp_auth_success
      Src: /src/hostap/src/common/dpp_auth.c:1970,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/common/dpp_auth.c:1973,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 102
    argCount: 4
    argNames:
    - auth
    - hdr
    - attr_start
    - attr_len
    argTypes:
    - struct dpp_authentication*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1975
      start: 1814
    functionDepth: 4
    functionLinenumber: 1814
    functionLinenumberEnd: 1975
    functionName: dpp_auth_conf_rx
    functionSourceFile: /src/hostap/src/common/dpp_auth.c
    functionUses: 3
    functionsReached:
    - wpa_printf
    - dpp_check_attrs
    - dpp_auth_fail
    - wpa_hexdump
    - os_malloc
    - dpp_auth_success
    - bin_clear_free
    - os_memcmp
    - dpp_get_attr
    - dpp_gen_i_auth
    - dpp_auth_conf_rx_failure
    - aes_siv_decrypt
    linkageType: ''
    returnType: int
    signature: "int dpp_auth_conf_rx(struct dpp_authentication *auth, const u8 *hdr,\n\t\t
      \    const u8 *attr_start, size_t attr_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/common/gas.c:22,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/gas.c:26,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/gas.c:27,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/gas.c:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - action
    - dialog_token
    - size
    argTypes:
    - u8
    - u8
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 31
    functionName: gas_build_req
    functionSourceFile: /src/hostap/src/common/gas.c
    functionUses: 0
    functionsReached:
    - wpabuf_alloc
    - wpabuf_put_u8
    linkageType: ''
    returnType: struct wpabuf
    signature: 'struct wpabuf *

      gas_build_req(u8 action, u8 dialog_token, size_t size)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gas_build_req
      Src: /src/hostap/src/common/gas.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dialog_token
    - size
    argTypes:
    - u8
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: gas_build_initial_req
    functionSourceFile: /src/hostap/src/common/gas.c
    functionUses: 2
    functionsReached:
    - gas_build_req
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * gas_build_initial_req(u8 dialog_token, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gas_build_req
      Src: /src/hostap/src/common/gas.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dialog_token
    argTypes:
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: gas_build_comeback_req
    functionSourceFile: /src/hostap/src/common/gas.c
    functionUses: 3
    functionsReached:
    - gas_build_req
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * gas_build_comeback_req(u8 dialog_token)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/common/gas.c:53,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/gas.c:57,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/gas.c:58,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/gas.c:59,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/gas.c:60,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/gas.c:62,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/gas.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 7
    argNames:
    - action
    - dialog_token
    - status_code
    - frag_id
    - more
    - comeback_delay
    - size
    argTypes:
    - u8
    - u8
    - u16
    - u8
    - u8
    - u16
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 66
    functionName: gas_build_resp
    functionSourceFile: /src/hostap/src/common/gas.c
    functionUses: 0
    functionsReached:
    - wpabuf_alloc
    - wpabuf_put_u8
    - wpabuf_put_le16
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf *\ngas_build_resp(u8 action, u8 dialog_token, u16 status_code,
      u8 frag_id,\n\t       u8 more, u16 comeback_delay, size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gas_build_resp
      Src: /src/hostap/src/common/gas.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - dialog_token
    - status_code
    - comeback_delay
    - size
    argTypes:
    - u8
    - u16
    - u16
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: gas_build_initial_resp
    functionSourceFile: /src/hostap/src/common/gas.c
    functionUses: 3
    functionsReached:
    - gas_build_resp
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf *\ngas_build_initial_resp(u8 dialog_token, u16 status_code,
      u16 comeback_delay,\n\t\t       size_t size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/gas.c:83,1
    - Dst: gas_build_resp
      Src: /src/hostap/src/common/gas.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - dialog_token
    - status_code
    - frag_id
    - more
    - comeback_delay
    - size
    argTypes:
    - u8
    - u16
    - u8
    - u8
    - u16
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 91
    functionName: gas_build_comeback_resp
    functionSourceFile: /src/hostap/src/common/gas.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - gas_build_resp
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf *\ngas_build_comeback_resp(u8 dialog_token, u16 status_code,
      u8 frag_id, u8 more,\n\t\t\tu16 comeback_delay, size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/gas.c:109,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/gas.c:110,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/gas.c:111,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/gas.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - buf
    - query_resp_len_limit
    - pame_bi
    argTypes:
    - struct wpabuf*
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 115
    functionName: gas_add_adv_proto_anqp
    functionSourceFile: /src/hostap/src/common/gas.c
    functionUses: 0
    functionsReached:
    - wpabuf_put_u8
    linkageType: ''
    returnType: void
    signature: "void gas_add_adv_proto_anqp(struct wpabuf *buf, u8 query_resp_len_limit,\n\t\t\t\t
      \  u8 pame_bi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gas_build_initial_req
      Src: /src/hostap/src/common/gas.c:122,1
    - Dst: gas_add_adv_proto_anqp
      Src: /src/hostap/src/common/gas.c:126,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/common/gas.c:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - dialog_token
    - size
    argTypes:
    - u8
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 118
    functionDepth: 3
    functionLinenumber: 118
    functionLinenumberEnd: 131
    functionName: gas_anqp_build_initial_req
    functionSourceFile: /src/hostap/src/common/gas.c
    functionUses: 3
    functionsReached:
    - gas_add_adv_proto_anqp
    - wpabuf_put
    - gas_build_initial_req
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * gas_anqp_build_initial_req(u8 dialog_token, size_t
      size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gas_build_initial_resp
      Src: /src/hostap/src/common/gas.c:139,1
    - Dst: gas_add_adv_proto_anqp
      Src: /src/hostap/src/common/gas.c:144,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/common/gas.c:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - dialog_token
    - status_code
    - comeback_delay
    - size
    argTypes:
    - u8
    - u16
    - u16
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 134
    functionDepth: 3
    functionLinenumber: 134
    functionLinenumberEnd: 149
    functionName: gas_anqp_build_initial_resp
    functionSourceFile: /src/hostap/src/common/gas.c
    functionUses: 1
    functionsReached:
    - gas_build_initial_resp
    - wpabuf_put
    - gas_add_adv_proto_anqp
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * gas_anqp_build_initial_resp(u8 dialog_token, u16 status_code,\n\t\t\t\t\t
      \   u16 comeback_delay, size_t size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gas_anqp_build_initial_resp
      Src: /src/hostap/src/common/gas.c:159,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/gas.c:161,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/common/gas.c:166,1
    - Dst: gas_anqp_set_len
      Src: /src/hostap/src/common/gas.c:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - dialog_token
    - status_code
    - comeback_delay
    - payload
    argTypes:
    - u8
    - u16
    - u16
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 152
    functionDepth: 4
    functionLinenumber: 152
    functionLinenumberEnd: 171
    functionName: gas_anqp_build_initial_resp_buf
    functionSourceFile: /src/hostap/src/common/gas.c
    functionUses: 1
    functionsReached:
    - wpabuf_len
    - wpabuf_put_buf
    - gas_anqp_set_len
    - gas_anqp_build_initial_resp
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * gas_anqp_build_initial_resp_buf(u8 dialog_token,\n\t\t\t\t\t\tu16
      status_code,\n\t\t\t\t\t\tu16 comeback_delay,\n\t\t\t\t\t\tstruct wpabuf *payload)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gas_build_comeback_resp
      Src: /src/hostap/src/common/gas.c:180,1
    - Dst: gas_add_adv_proto_anqp
      Src: /src/hostap/src/common/gas.c:185,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/common/gas.c:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 6
    argNames:
    - dialog_token
    - status_code
    - frag_id
    - more
    - comeback_delay
    - size
    argTypes:
    - u8
    - u16
    - u8
    - u8
    - u16
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 174
    functionDepth: 3
    functionLinenumber: 174
    functionLinenumberEnd: 190
    functionName: gas_anqp_build_comeback_resp
    functionSourceFile: /src/hostap/src/common/gas.c
    functionUses: 1
    functionsReached:
    - gas_add_adv_proto_anqp
    - wpabuf_put
    - gas_build_comeback_resp
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * gas_anqp_build_comeback_resp(u8 dialog_token, u16
      status_code,\n\t\t\t\t\t     u8 frag_id, u8 more,\n\t\t\t\t\t     u16 comeback_delay,
      size_t size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gas_anqp_build_comeback_resp
      Src: /src/hostap/src/common/gas.c:201,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/gas.c:203,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/common/gas.c:208,1
    - Dst: gas_anqp_set_len
      Src: /src/hostap/src/common/gas.c:210,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 6
    argNames:
    - dialog_token
    - status_code
    - frag_id
    - more
    - comeback_delay
    - payload
    argTypes:
    - u8
    - u16
    - u8
    - u8
    - u16
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 193
    functionDepth: 4
    functionLinenumber: 193
    functionLinenumberEnd: 213
    functionName: gas_anqp_build_comeback_resp_buf
    functionSourceFile: /src/hostap/src/common/gas.c
    functionUses: 1
    functionsReached:
    - wpabuf_len
    - wpabuf_put_buf
    - gas_anqp_build_comeback_resp
    - gas_anqp_set_len
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * gas_anqp_build_comeback_resp_buf(u8 dialog_token,\n\t\t\t\t\t\t
      u16 status_code,\n\t\t\t\t\t\t u8 frag_id, u8 more,\n\t\t\t\t\t\t u16 comeback_delay,\n\t\t\t\t\t\t
      struct wpabuf *payload)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/gas.c:229,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/common/gas.c:232,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/gas.c:247,1
    - Dst: wpabuf_mhead_u8
      Src: /src/hostap/src/common/gas.c:250,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/common/gas.c:251,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/common/gas.c:251,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - buf
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 252
    functionName: gas_anqp_set_len
    functionSourceFile: /src/hostap/src/common/gas.c
    functionUses: 8
    functionsReached:
    - wpabuf_put
    - wpabuf_head_u8
    - wpabuf_len
    - wpabuf_mhead_u8
    - WPA_PUT_LE16
    linkageType: ''
    returnType: void
    signature: void gas_anqp_set_len(struct wpabuf *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/gas.c:263,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/common/gas.c:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - info_id
    argTypes:
    - struct wpabuf*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 265
    functionName: gas_anqp_add_element
    functionSourceFile: /src/hostap/src/common/gas.c
    functionUses: 18
    functionsReached:
    - wpabuf_put
    - wpabuf_put_le16
    linkageType: ''
    returnType: u8
    signature: u8 * gas_anqp_add_element(struct wpabuf *buf, u16 info_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/common/gas.c:278,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/common/gas.c:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - len_pos
    argTypes:
    - struct wpabuf*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 279
    functionName: gas_anqp_set_element_len
    functionSourceFile: /src/hostap/src/common/gas.c
    functionUses: 19
    functionsReached:
    - wpabuf_put
    - WPA_PUT_LE16
    linkageType: ''
    returnType: void
    signature: void gas_anqp_set_element_len(struct wpabuf *buf, u8 *len_pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crypto_ec_key_deinit
      Src: /src/hostap/src/common/dpp_backup.c:25,1
    - Dst: crypto_ec_key_deinit
      Src: /src/hostap/src/common/dpp_backup.c:26,1
    - Dst: str_clear_free
      Src: /src/hostap/src/common/dpp_backup.c:27,1
    - Dst: str_clear_free
      Src: /src/hostap/src/common/dpp_backup.c:28,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp_backup.c:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - key
    argTypes:
    - struct dpp_asymmetric_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 32
    functionName: dpp_free_asymmetric_key
    functionSourceFile: /src/hostap/src/common/dpp_backup.c
    functionUses: 1
    functionsReached:
    - crypto_ec_key_deinit
    - os_free
    - str_clear_free
    linkageType: ''
    returnType: void
    signature: void dpp_free_asymmetric_key(struct dpp_asymmetric_key *key)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: crypto_ec_key_get_ecprivate_key
      Src: /src/hostap/src/common/dpp_backup.c:46,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/dpp_backup.c:50,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/dpp_backup.c:52,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_backup.c:54,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/common/dpp_backup.c:55,1
    - Dst: asn1_put_octet_string
      Src: /src/hostap/src/common/dpp_backup.c:67,1
    - Dst: asn1_put_utf8string
      Src: /src/hostap/src/common/dpp_backup.c:69,1
    - Dst: asn1_put_utf8string
      Src: /src/hostap/src/common/dpp_backup.c:71,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/common/dpp_backup.c:72,1
    - Dst: asn1_encaps
      Src: /src/hostap/src/common/dpp_backup.c:73,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/common/dpp_backup.c:75,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - conf
    argTypes:
    - struct dpp_configurator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 35
    functionDepth: 4
    functionLinenumber: 35
    functionLinenumberEnd: 77
    functionName: dpp_build_conf_params
    functionSourceFile: /src/hostap/src/common/dpp_backup.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - asn1_encaps
    - asn1_put_octet_string
    - wpabuf_len
    - wpabuf_alloc
    - asn1_put_utf8string
    - wpabuf_clear_free
    - crypto_ec_key_get_ecprivate_key
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * dpp_build_conf_params(struct dpp_configurator *conf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dpp_build_conf_params
      Src: /src/hostap/src/common/dpp_backup.c:92,1
    - Dst: asn1_encaps
      Src: /src/hostap/src/common/dpp_backup.c:93,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/common/dpp_backup.c:98,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_backup.c:98,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/common/dpp_backup.c:100,1
    - Dst: asn1_put_oid
      Src: /src/hostap/src/common/dpp_backup.c:104,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/common/dpp_backup.c:105,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/common/dpp_backup.c:106,1
    - Dst: asn1_encaps
      Src: /src/hostap/src/common/dpp_backup.c:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - conf
    argTypes:
    - struct dpp_configurator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 80
    functionDepth: 5
    functionLinenumber: 80
    functionLinenumberEnd: 109
    functionName: dpp_build_attribute
    functionSourceFile: /src/hostap/src/common/dpp_backup.c
    functionUses: 0
    functionsReached:
    - asn1_encaps
    - wpabuf_len
    - dpp_build_conf_params
    - wpabuf_alloc
    - wpabuf_put_buf
    - wpabuf_clear_free
    - asn1_put_oid
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * dpp_build_attribute(struct dpp_configurator *conf)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/common/dpp_backup.c:140,1
    - Dst: asn1_put_oid
      Src: /src/hostap/src/common/dpp_backup.c:143,1
    - Dst: asn1_build_alg_id
      Src: /src/hostap/src/common/dpp_backup.c:145,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_backup.c:146,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 1
    argNames:
    - curve
    argTypes:
    - struct dpp_curve_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 112
    functionDepth: 3
    functionLinenumber: 112
    functionLinenumberEnd: 148
    functionName: dpp_build_key_alg
    functionSourceFile: /src/hostap/src/common/dpp_backup.c
    functionUses: 0
    functionsReached:
    - asn1_put_oid
    - wpabuf_alloc
    - wpabuf_free
    - asn1_build_alg_id
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * dpp_build_key_alg(const struct dpp_curve_params *curve)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: crypto_ec_key_get_ecprivate_key
      Src: /src/hostap/src/common/dpp_backup.c:155,1
    - Dst: dpp_build_key_alg
      Src: /src/hostap/src/common/dpp_backup.c:159,1
    - Dst: dpp_build_attribute
      Src: /src/hostap/src/common/dpp_backup.c:162,1
    - Dst: asn1_encaps
      Src: /src/hostap/src/common/dpp_backup.c:163,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/common/dpp_backup.c:179,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_backup.c:179,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_backup.c:179,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_backup.c:180,1
    - Dst: asn1_put_integer
      Src: /src/hostap/src/common/dpp_backup.c:184,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/common/dpp_backup.c:187,1
    - Dst: asn1_put_octet_string
      Src: /src/hostap/src/common/dpp_backup.c:190,1
    - Dst: asn1_put_hdr
      Src: /src/hostap/src/common/dpp_backup.c:193,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_backup.c:193,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/common/dpp_backup.c:194,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/common/dpp_backup.c:197,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/common/dpp_backup.c:198,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_backup.c:199,1
    - Dst: asn1_encaps
      Src: /src/hostap/src/common/dpp_backup.c:208,1
    - Dst: asn1_encaps
      Src: /src/hostap/src/common/dpp_backup.c:208,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - auth
    argTypes:
    - struct dpp_authentication*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 151
    functionDepth: 6
    functionLinenumber: 151
    functionLinenumberEnd: 211
    functionName: dpp_build_key_pkg
    functionSourceFile: /src/hostap/src/common/dpp_backup.c
    functionUses: 0
    functionsReached:
    - asn1_encaps
    - asn1_put_octet_string
    - wpabuf_len
    - wpabuf_free
    - dpp_build_key_alg
    - asn1_put_integer
    - dpp_build_attribute
    - wpabuf_alloc
    - wpabuf_put_buf
    - asn1_put_hdr
    - wpabuf_clear_free
    - crypto_ec_key_get_ecprivate_key
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * dpp_build_key_pkg(struct dpp_authentication *auth)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: asn1_build_alg_id
      Src: /src/hostap/src/common/dpp_backup.c:242,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/common/dpp_backup.c:245,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_backup.c:245,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_backup.c:245,1
    - Dst: asn1_put_octet_string
      Src: /src/hostap/src/common/dpp_backup.c:248,1
    - Dst: asn1_put_integer
      Src: /src/hostap/src/common/dpp_backup.c:249,1
    - Dst: asn1_put_integer
      Src: /src/hostap/src/common/dpp_backup.c:250,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/common/dpp_backup.c:251,1
    - Dst: asn1_encaps
      Src: /src/hostap/src/common/dpp_backup.c:252,1
    - Dst: asn1_build_alg_id
      Src: /src/hostap/src/common/dpp_backup.c:255,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_backup.c:257,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_backup.c:258,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 2
    argNames:
    - salt
    - hash_len
    argTypes:
    - struct wpabuf*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 214
    functionDepth: 4
    functionLinenumber: 214
    functionLinenumberEnd: 260
    functionName: dpp_build_pbkdf2_alg_id
    functionSourceFile: /src/hostap/src/common/dpp_backup.c
    functionUses: 0
    functionsReached:
    - asn1_encaps
    - asn1_put_octet_string
    - wpabuf_len
    - wpabuf_free
    - asn1_put_integer
    - wpabuf_alloc
    - wpabuf_put_buf
    - asn1_build_alg_id
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * dpp_build_pbkdf2_alg_id(const struct wpabuf *salt,\n\t\t\t\t\t
      \      size_t hash_len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/common/dpp_backup.c:274,1
    - Dst: os_get_random
      Src: /src/hostap/src/common/dpp_backup.c:275,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/common/dpp_backup.c:275,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/common/dpp_backup.c:277,1
    - Dst: dpp_hkdf_expand
      Src: /src/hostap/src/common/dpp_backup.c:281,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/dpp_backup.c:285,1
    - Dst: dpp_pbkdf2
      Src: /src/hostap/src/common/dpp_backup.c:287,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/dpp_backup.c:287,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_backup.c:289,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/dpp_backup.c:292,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/common/dpp_backup.c:295,1
    - Dst: aes_siv_encrypt
      Src: /src/hostap/src/common/dpp_backup.c:297,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/dpp_backup.c:297,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_backup.c:298,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/common/dpp_backup.c:299,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/common/dpp_backup.c:301,1
    - Dst: dpp_build_pbkdf2_alg_id
      Src: /src/hostap/src/common/dpp_backup.c:314,1
    - Dst: asn1_build_alg_id
      Src: /src/hostap/src/common/dpp_backup.c:315,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/common/dpp_backup.c:318,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_backup.c:318,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_backup.c:319,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_backup.c:319,1
    - Dst: asn1_put_integer
      Src: /src/hostap/src/common/dpp_backup.c:324,1
    - Dst: asn1_put_hdr
      Src: /src/hostap/src/common/dpp_backup.c:327,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_backup.c:328,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/common/dpp_backup.c:329,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/common/dpp_backup.c:332,1
    - Dst: asn1_put_octet_string
      Src: /src/hostap/src/common/dpp_backup.c:335,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/common/dpp_backup.c:338,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_backup.c:339,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_backup.c:340,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_backup.c:341,1
    - Dst: forced_memzero
      Src: /src/hostap/src/common/dpp_backup.c:342,1
    - Dst: asn1_encaps
      Src: /src/hostap/src/common/dpp_backup.c:343,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 3
    argNames:
    - auth
    - hash_len
    - cont_enc_key
    argTypes:
    - struct dpp_authentication*
    - size_t
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 263
    functionDepth: 5
    functionLinenumber: 263
    functionLinenumberEnd: 344
    functionName: dpp_build_pw_recipient_info
    functionSourceFile: /src/hostap/src/common/dpp_backup.c
    functionUses: 0
    functionsReached:
    - forced_memzero
    - wpabuf_alloc
    - dpp_pbkdf2
    - wpa_printf
    - dpp_build_pbkdf2_alg_id
    - asn1_encaps
    - asn1_put_octet_string
    - os_get_random
    - wpabuf_clear_free
    - aes_siv_encrypt
    - wpa_hexdump_buf
    - wpa_hexdump_key
    - wpabuf_len
    - wpabuf_head
    - asn1_build_alg_id
    - wpabuf_put
    - wpabuf_free
    - asn1_put_integer
    - dpp_hkdf_expand
    - wpabuf_put_buf
    - asn1_put_hdr
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf *\ndpp_build_pw_recipient_info(struct dpp_authentication
      *auth, size_t hash_len,\n\t\t\t    const struct wpabuf *cont_enc_key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dpp_build_pw_recipient_info
      Src: /src/hostap/src/common/dpp_backup.c:364,1
    - Dst: asn1_encaps
      Src: /src/hostap/src/common/dpp_backup.c:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - auth
    - hash_len
    - cont_enc_key
    argTypes:
    - struct dpp_authentication*
    - size_t
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 347
    functionDepth: 6
    functionLinenumber: 347
    functionLinenumberEnd: 366
    functionName: dpp_build_recipient_info
    functionSourceFile: /src/hostap/src/common/dpp_backup.c
    functionUses: 0
    functionsReached:
    - asn1_encaps
    - dpp_build_pw_recipient_info
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf *\ndpp_build_recipient_info(struct dpp_authentication
      *auth, size_t hash_len,\n\t\t\t const struct wpabuf *cont_enc_key)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dpp_build_key_pkg
      Src: /src/hostap/src/common/dpp_backup.c:394,1
    - Dst: asn1_build_alg_id
      Src: /src/hostap/src/common/dpp_backup.c:395,1
    - Dst: wpa_hexdump_buf_key
      Src: /src/hostap/src/common/dpp_backup.c:399,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_backup.c:402,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/common/dpp_backup.c:403,1
    - Dst: aes_siv_encrypt
      Src: /src/hostap/src/common/dpp_backup.c:405,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/dpp_backup.c:405,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_backup.c:405,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/dpp_backup.c:406,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_backup.c:406,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/common/dpp_backup.c:408,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/common/dpp_backup.c:411,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_backup.c:411,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_backup.c:412,1
    - Dst: asn1_put_oid
      Src: /src/hostap/src/common/dpp_backup.c:417,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/common/dpp_backup.c:420,1
    - Dst: asn1_put_hdr
      Src: /src/hostap/src/common/dpp_backup.c:424,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_backup.c:425,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/common/dpp_backup.c:426,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/common/dpp_backup.c:429,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_backup.c:430,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_backup.c:431,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 3
    argNames:
    - auth
    - hash_len
    - cont_enc_key
    argTypes:
    - struct dpp_authentication*
    - size_t
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 369
    functionDepth: 7
    functionLinenumber: 369
    functionLinenumberEnd: 433
    functionName: dpp_build_enc_cont_info
    functionSourceFile: /src/hostap/src/common/dpp_backup.c
    functionUses: 0
    functionsReached:
    - wpabuf_put
    - wpabuf_len
    - wpabuf_free
    - wpabuf_head
    - wpabuf_alloc
    - wpabuf_put_buf
    - asn1_put_hdr
    - dpp_build_key_pkg
    - wpabuf_clear_free
    - asn1_put_oid
    - asn1_build_alg_id
    - wpa_hexdump_buf_key
    - aes_siv_encrypt
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf *\ndpp_build_enc_cont_info(struct dpp_authentication
      *auth, size_t hash_len,\n\t\t\tconst struct wpabuf *cont_enc_key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/common/dpp_backup.c:440,1
    - Dst: os_get_random
      Src: /src/hostap/src/common/dpp_backup.c:441,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/common/dpp_backup.c:441,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_backup.c:442,1
    - Dst: wpa_hexdump_buf_key
      Src: /src/hostap/src/common/dpp_backup.c:445,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - len
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 447
    functionName: dpp_gen_random
    functionSourceFile: /src/hostap/src/common/dpp_backup.c
    functionUses: 0
    functionsReached:
    - wpabuf_put
    - wpabuf_free
    - os_get_random
    - wpabuf_alloc
    - wpa_hexdump_buf_key
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * dpp_gen_random(size_t len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_backup.c:458,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_backup.c:464,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_backup.c:469,1
    - Dst: dpp_gen_random
      Src: /src/hostap/src/common/dpp_backup.c:472,1
    - Dst: dpp_build_recipient_info
      Src: /src/hostap/src/common/dpp_backup.c:475,1
    - Dst: dpp_build_enc_cont_info
      Src: /src/hostap/src/common/dpp_backup.c:476,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/common/dpp_backup.c:480,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_backup.c:480,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_backup.c:481,1
    - Dst: asn1_put_integer
      Src: /src/hostap/src/common/dpp_backup.c:502,1
    - Dst: asn1_put_set
      Src: /src/hostap/src/common/dpp_backup.c:505,1
    - Dst: asn1_put_sequence
      Src: /src/hostap/src/common/dpp_backup.c:508,1
    - Dst: asn1_encaps
      Src: /src/hostap/src/common/dpp_backup.c:510,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/common/dpp_backup.c:511,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/common/dpp_backup.c:513,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/common/dpp_backup.c:514,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_backup.c:515,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_backup.c:518,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_backup.c:519,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 1
    argNames:
    - auth
    argTypes:
    - struct dpp_authentication*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 450
    functionDepth: 8
    functionLinenumber: 450
    functionLinenumberEnd: 522
    functionName: dpp_build_enveloped_data
    functionSourceFile: /src/hostap/src/common/dpp_backup.c
    functionUses: 0
    functionsReached:
    - dpp_gen_random
    - wpa_printf
    - asn1_put_set
    - asn1_encaps
    - asn1_put_sequence
    - wpabuf_len
    - wpabuf_free
    - asn1_put_integer
    - wpabuf_alloc
    - wpabuf_clear_free
    - dpp_build_recipient_info
    - dpp_build_enc_cont_info
    - wpa_hexdump_buf
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * dpp_build_enveloped_data(struct dpp_authentication
      *auth)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_backup.c:547,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/common/dpp_backup.c:560,1
    - Dst: asn1_is_cs_tag
      Src: /src/hostap/src/common/dpp_backup.c:561,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/common/dpp_backup.c:562,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_backup.c:565,1
    - Dst: asn1_get_sequence
      Src: /src/hostap/src/common/dpp_backup.c:581,1
    - Dst: asn1_get_integer
      Src: /src/hostap/src/common/dpp_backup.c:585,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_backup.c:588,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_backup.c:592,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/common/dpp_backup.c:595,1
    - Dst: asn1_is_cs_tag
      Src: /src/hostap/src/common/dpp_backup.c:596,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/common/dpp_backup.c:597,1
    - Dst: asn1_get_alg_id
      Src: /src/hostap/src/common/dpp_backup.c:605,1
    - Dst: asn1_oid_equal
      Src: /src/hostap/src/common/dpp_backup.c:608,1
    - Dst: asn1_oid_to_str
      Src: /src/hostap/src/common/dpp_backup.c:611,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_backup.c:612,1
    - Dst: asn1_get_sequence
      Src: /src/hostap/src/common/dpp_backup.c:632,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/common/dpp_backup.c:636,1
    - Dst: asn1_is_octetstring
      Src: /src/hostap/src/common/dpp_backup.c:637,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/common/dpp_backup.c:638,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_backup.c:642,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_backup.c:645,1
    - Dst: asn1_get_integer
      Src: /src/hostap/src/common/dpp_backup.c:652,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_backup.c:655,1
    - Dst: asn1_get_integer
      Src: /src/hostap/src/common/dpp_backup.c:659,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_backup.c:662,1
    - Dst: asn1_get_sequence
      Src: /src/hostap/src/common/dpp_backup.c:667,1
    - Dst: asn1_get_oid
      Src: /src/hostap/src/common/dpp_backup.c:668,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_backup.c:669,1
    - Dst: asn1_oid_equal
      Src: /src/hostap/src/common/dpp_backup.c:672,1
    - Dst: asn1_oid_equal
      Src: /src/hostap/src/common/dpp_backup.c:674,1
    - Dst: asn1_oid_equal
      Src: /src/hostap/src/common/dpp_backup.c:676,1
    - Dst: asn1_oid_to_str
      Src: /src/hostap/src/common/dpp_backup.c:681,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_backup.c:682,1
    - Dst: asn1_get_alg_id
      Src: /src/hostap/src/common/dpp_backup.c:695,1
    - Dst: asn1_oid_equal
      Src: /src/hostap/src/common/dpp_backup.c:697,1
    - Dst: asn1_oid_equal
      Src: /src/hostap/src/common/dpp_backup.c:698,1
    - Dst: asn1_oid_equal
      Src: /src/hostap/src/common/dpp_backup.c:699,1
    - Dst: asn1_oid_to_str
      Src: /src/hostap/src/common/dpp_backup.c:702,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_backup.c:703,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/common/dpp_backup.c:714,1
    - Dst: asn1_is_octetstring
      Src: /src/hostap/src/common/dpp_backup.c:715,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/common/dpp_backup.c:716,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_backup.c:720,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 92
    argCount: 3
    argNames:
    - pos
    - len
    - data
    argTypes:
    - u8*
    - size_t
    - struct dpp_enveloped_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 536
    functionDepth: 5
    functionLinenumber: 536
    functionLinenumberEnd: 726
    functionName: dpp_parse_recipient_infos
    functionSourceFile: /src/hostap/src/common/dpp_backup.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    - asn1_get_next
    - asn1_get_integer
    - asn1_is_cs_tag
    - asn1_get_sequence
    - asn1_unexpected
    - asn1_is_octetstring
    - asn1_oid_to_str
    - asn1_get_alg_id
    - asn1_get_oid
    - asn1_oid_equal
    linkageType: ''
    returnType: int
    signature: "int dpp_parse_recipient_infos(const u8 *pos, size_t len,\n\t\t\t\t
      \    struct dpp_enveloped_data *data)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: asn1_get_sequence
      Src: /src/hostap/src/common/dpp_backup.c:741,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_backup.c:743,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_backup.c:746,1
    - Dst: asn1_get_oid
      Src: /src/hostap/src/common/dpp_backup.c:756,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_backup.c:757,1
    - Dst: asn1_oid_equal
      Src: /src/hostap/src/common/dpp_backup.c:760,1
    - Dst: asn1_oid_to_str
      Src: /src/hostap/src/common/dpp_backup.c:763,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_backup.c:764,1
    - Dst: asn1_get_alg_id
      Src: /src/hostap/src/common/dpp_backup.c:769,1
    - Dst: asn1_oid_equal
      Src: /src/hostap/src/common/dpp_backup.c:771,1
    - Dst: asn1_oid_equal
      Src: /src/hostap/src/common/dpp_backup.c:772,1
    - Dst: asn1_oid_equal
      Src: /src/hostap/src/common/dpp_backup.c:773,1
    - Dst: asn1_oid_to_str
      Src: /src/hostap/src/common/dpp_backup.c:776,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_backup.c:777,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/common/dpp_backup.c:786,1
    - Dst: asn1_is_cs_tag
      Src: /src/hostap/src/common/dpp_backup.c:787,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/common/dpp_backup.c:788,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_backup.c:792,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 3
    argNames:
    - pos
    - end
    - data
    argTypes:
    - u8*
    - u8*
    - struct dpp_enveloped_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 729
    functionDepth: 5
    functionLinenumber: 729
    functionLinenumberEnd: 797
    functionName: dpp_parse_encrypted_content_info
    functionSourceFile: /src/hostap/src/common/dpp_backup.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    - asn1_get_next
    - asn1_is_cs_tag
    - asn1_get_sequence
    - asn1_unexpected
    - asn1_oid_to_str
    - asn1_get_alg_id
    - asn1_get_oid
    - asn1_oid_equal
    linkageType: ''
    returnType: int
    signature: "int dpp_parse_encrypted_content_info(const u8 *pos, const u8 *end,\n\t\t\t\t\t
      \   struct dpp_enveloped_data *data)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/common/dpp_backup.c:807,1
    - Dst: asn1_get_sequence
      Src: /src/hostap/src/common/dpp_backup.c:827,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_backup.c:831,1
    - Dst: asn1_get_integer
      Src: /src/hostap/src/common/dpp_backup.c:837,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_backup.c:840,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/common/dpp_backup.c:844,1
    - Dst: asn1_is_set
      Src: /src/hostap/src/common/dpp_backup.c:844,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/common/dpp_backup.c:845,1
    - Dst: dpp_parse_recipient_infos
      Src: /src/hostap/src/common/dpp_backup.c:850,1
    - Dst: dpp_parse_encrypted_content_info
      Src: /src/hostap/src/common/dpp_backup.c:852,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - env_data
    - env_data_len
    - data
    argTypes:
    - u8*
    - size_t
    - struct dpp_enveloped_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 800
    functionDepth: 6
    functionLinenumber: 800
    functionLinenumberEnd: 854
    functionName: dpp_parse_enveloped_data
    functionSourceFile: /src/hostap/src/common/dpp_backup.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    - asn1_get_next
    - asn1_get_integer
    - dpp_parse_recipient_infos
    - asn1_get_sequence
    - asn1_unexpected
    - dpp_parse_encrypted_content_info
    - asn1_is_set
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int dpp_parse_enveloped_data(const u8 *env_data, size_t env_data_len,\n\t\t\t\t
      \   struct dpp_enveloped_data *data)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/dpp_backup.c:869,1
    - Dst: os_zalloc
      Src: /src/hostap/src/common/dpp_backup.c:871,1
    - Dst: asn1_get_sequence
      Src: /src/hostap/src/common/dpp_backup.c:886,1
    - Dst: asn1_get_integer
      Src: /src/hostap/src/common/dpp_backup.c:891,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_backup.c:894,1
    - Dst: asn1_get_alg_id
      Src: /src/hostap/src/common/dpp_backup.c:901,1
    - Dst: asn1_oid_equal
      Src: /src/hostap/src/common/dpp_backup.c:904,1
    - Dst: asn1_oid_to_str
      Src: /src/hostap/src/common/dpp_backup.c:905,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_backup.c:906,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_backup.c:911,1
    - Dst: asn1_get_oid
      Src: /src/hostap/src/common/dpp_backup.c:919,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_backup.c:920,1
    - Dst: asn1_oid_to_str
      Src: /src/hostap/src/common/dpp_backup.c:924,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_backup.c:925,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/common/dpp_backup.c:933,1
    - Dst: asn1_is_octetstring
      Src: /src/hostap/src/common/dpp_backup.c:934,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/common/dpp_backup.c:935,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/dpp_backup.c:939,1
    - Dst: crypto_ec_key_parse_priv
      Src: /src/hostap/src/common/dpp_backup.c:942,1
    - Dst: dpp_debug_print_key
      Src: /src/hostap/src/common/dpp_backup.c:946,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/common/dpp_backup.c:953,1
    - Dst: asn1_is_cs_tag
      Src: /src/hostap/src/common/dpp_backup.c:954,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/common/dpp_backup.c:955,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/dpp_backup.c:958,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/dpp_backup.c:961,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/common/dpp_backup.c:969,1
    - Dst: asn1_is_set
      Src: /src/hostap/src/common/dpp_backup.c:969,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/common/dpp_backup.c:970,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/dpp_backup.c:974,1
    - Dst: asn1_get_sequence
      Src: /src/hostap/src/common/dpp_backup.c:997,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/dpp_backup.c:1000,1
    - Dst: asn1_get_oid
      Src: /src/hostap/src/common/dpp_backup.c:1007,1
    - Dst: asn1_oid_equal
      Src: /src/hostap/src/common/dpp_backup.c:1009,1
    - Dst: asn1_oid_to_str
      Src: /src/hostap/src/common/dpp_backup.c:1010,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_backup.c:1011,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/common/dpp_backup.c:1016,1
    - Dst: asn1_is_set
      Src: /src/hostap/src/common/dpp_backup.c:1016,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/common/dpp_backup.c:1017,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/dpp_backup.c:1030,1
    - Dst: asn1_get_sequence
      Src: /src/hostap/src/common/dpp_backup.c:1032,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/dpp_backup.c:1035,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/common/dpp_backup.c:1046,1
    - Dst: asn1_is_octetstring
      Src: /src/hostap/src/common/dpp_backup.c:1047,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/common/dpp_backup.c:1048,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/dpp_backup.c:1051,1
    - Dst: crypto_ec_key_parse_priv
      Src: /src/hostap/src/common/dpp_backup.c:1054,1
    - Dst: dpp_debug_print_key
      Src: /src/hostap/src/common/dpp_backup.c:1058,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/common/dpp_backup.c:1061,1
    - Dst: asn1_is_utf8string
      Src: /src/hostap/src/common/dpp_backup.c:1062,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/common/dpp_backup.c:1063,1
    - Dst: wpa_hexdump_ascii_key
      Src: /src/hostap/src/common/dpp_backup.c:1067,1
    - Dst: os_zalloc
      Src: /src/hostap/src/common/dpp_backup.c:1069,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/dpp_backup.c:1072,1
    - Dst: asn1_get_next
      Src: /src/hostap/src/common/dpp_backup.c:1077,1
    - Dst: asn1_is_utf8string
      Src: /src/hostap/src/common/dpp_backup.c:1078,1
    - Dst: asn1_unexpected
      Src: /src/hostap/src/common/dpp_backup.c:1079,1
    - Dst: wpa_hexdump_ascii_key
      Src: /src/hostap/src/common/dpp_backup.c:1083,1
    - Dst: os_zalloc
      Src: /src/hostap/src/common/dpp_backup.c:1085,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/dpp_backup.c:1088,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_backup.c:1093,1
    - Dst: dpp_free_asymmetric_key
      Src: /src/hostap/src/common/dpp_backup.c:1094,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 145
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1096
      start: 857
    functionDepth: 5
    functionLinenumber: 857
    functionLinenumberEnd: 1096
    functionName: dpp_parse_one_asymmetric_key
    functionSourceFile: /src/hostap/src/common/dpp_backup.c
    functionUses: 0
    functionsReached:
    - wpa_hexdump
    - asn1_get_integer
    - wpa_hexdump_ascii_key
    - dpp_free_asymmetric_key
    - wpa_printf
    - asn1_get_sequence
    - asn1_unexpected
    - asn1_get_alg_id
    - asn1_is_utf8string
    - asn1_oid_equal
    - wpa_hexdump_key
    - asn1_get_next
    - dpp_debug_print_key
    - asn1_get_oid
    - os_memcpy
    - asn1_is_cs_tag
    - asn1_is_octetstring
    - asn1_oid_to_str
    - os_zalloc
    - asn1_is_set
    - crypto_ec_key_parse_priv
    linkageType: ''
    returnType: struct dpp_asymmetric_key
    signature: 'struct dpp_asymmetric_key *

      dpp_parse_one_asymmetric_key(const u8 *buf, size_t len)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/dpp_backup.c:1106,1
    - Dst: asn1_get_sequence
      Src: /src/hostap/src/common/dpp_backup.c:1115,1
    - Dst: dpp_parse_one_asymmetric_key
      Src: /src/hostap/src/common/dpp_backup.c:1116,1
    - Dst: dpp_free_asymmetric_key
      Src: /src/hostap/src/common/dpp_backup.c:1118,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - key_pkg
    - key_pkg_len
    argTypes:
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 1099
    functionDepth: 6
    functionLinenumber: 1099
    functionLinenumberEnd: 1130
    functionName: dpp_parse_dpp_asymmetric_key_package
    functionSourceFile: /src/hostap/src/common/dpp_backup.c
    functionUses: 0
    functionsReached:
    - dpp_parse_one_asymmetric_key
    - wpa_hexdump_key
    - asn1_get_sequence
    - dpp_free_asymmetric_key
    linkageType: ''
    returnType: struct dpp_asymmetric_key
    signature: 'struct dpp_asymmetric_key *

      dpp_parse_dpp_asymmetric_key_package(const u8 *key_pkg, size_t key_pkg_len)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_backup.c:1147,1
    - Dst: dpp_parse_enveloped_data
      Src: /src/hostap/src/common/dpp_backup.c:1149,1
    - Dst: dpp_hkdf_expand
      Src: /src/hostap/src/common/dpp_backup.c:1154,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/dpp_backup.c:1158,1
    - Dst: dpp_pbkdf2
      Src: /src/hostap/src/common/dpp_backup.c:1160,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_backup.c:1162,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/dpp_backup.c:1165,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_backup.c:1170,1
    - Dst: aes_siv_decrypt
      Src: /src/hostap/src/common/dpp_backup.c:1173,1
    - Dst: forced_memzero
      Src: /src/hostap/src/common/dpp_backup.c:1176,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_backup.c:1178,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/dpp_backup.c:1183,1
    - Dst: os_malloc
      Src: /src/hostap/src/common/dpp_backup.c:1189,1
    - Dst: aes_siv_decrypt
      Src: /src/hostap/src/common/dpp_backup.c:1192,1
    - Dst: forced_memzero
      Src: /src/hostap/src/common/dpp_backup.c:1195,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/common/dpp_backup.c:1197,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_backup.c:1198,1
    - Dst: dpp_parse_dpp_asymmetric_key_package
      Src: /src/hostap/src/common/dpp_backup.c:1203,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/common/dpp_backup.c:1204,1
    - Dst: dpp_free_asymmetric_key
      Src: /src/hostap/src/common/dpp_backup.c:1205,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 44
    argCount: 3
    argNames:
    - auth
    - env_data
    - env_data_len
    argTypes:
    - struct dpp_authentication*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1209
      start: 1133
    functionDepth: 7
    functionLinenumber: 1133
    functionLinenumberEnd: 1209
    functionName: dpp_conf_resp_env_data
    functionSourceFile: /src/hostap/src/common/dpp_backup.c
    functionUses: 1
    functionsReached:
    - wpa_hexdump_key
    - dpp_parse_enveloped_data
    - wpa_printf
    - wpa_hexdump
    - dpp_free_asymmetric_key
    - forced_memzero
    - os_malloc
    - bin_clear_free
    - dpp_hkdf_expand
    - dpp_pbkdf2
    - dpp_parse_dpp_asymmetric_key_package
    - aes_siv_decrypt
    linkageType: ''
    returnType: int
    signature: "int dpp_conf_resp_env_data(struct dpp_authentication *auth,\n\t\t\t
      \  const u8 *env_data, size_t env_data_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/src/common/dpp_crypto.c:46,1
    - Dst: os_strcmp
      Src: /src/hostap/src/common/dpp_crypto.c:48,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 52
    functionName: dpp_get_curve_name
    functionSourceFile: /src/hostap/src/common/dpp_crypto.c
    functionUses: 4
    functionsReached:
    - os_strcmp
    linkageType: ''
    returnType: struct dpp_curve_params
    signature: struct dpp_curve_params * dpp_get_curve_name(const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/src/common/dpp_crypto.c:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 65
    functionName: dpp_get_curve_jwk_crv
    functionSourceFile: /src/hostap/src/common/dpp_crypto.c
    functionUses: 1
    functionsReached:
    - os_strcmp
    linkageType: ''
    returnType: struct dpp_curve_params
    signature: struct dpp_curve_params * dpp_get_curve_jwk_crv(const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - group
    argTypes:
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 77
    functionName: dpp_get_curve_ike_group
    functionSourceFile: /src/hostap/src/common/dpp_crypto.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: struct dpp_curve_params
    signature: struct dpp_curve_params * dpp_get_curve_ike_group(u16 group)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: crypto_ec_key_debug_print
      Src: /src/hostap/src/common/dpp_crypto.c:84,1
    - Dst: crypto_ec_key_get_ecprivate_key
      Src: /src/hostap/src/common/dpp_crypto.c:86,1
    - Dst: wpa_hexdump_buf_key
      Src: /src/hostap/src/common/dpp_crypto.c:88,1
    - Dst: crypto_ec_key_get_subject_public_key
      Src: /src/hostap/src/common/dpp_crypto.c:90,1
    - Dst: wpa_hexdump_buf_key
      Src: /src/hostap/src/common/dpp_crypto.c:92,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/common/dpp_crypto.c:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - title
    - key
    argTypes:
    - char*
    - struct crypto_ec_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 96
    functionName: dpp_debug_print_key
    functionSourceFile: /src/hostap/src/common/dpp_crypto.c
    functionUses: 9
    functionsReached:
    - crypto_ec_key_debug_print
    - wpabuf_clear_free
    - crypto_ec_key_get_subject_public_key
    - wpa_hexdump_buf_key
    - crypto_ec_key_get_ecprivate_key
    linkageType: ''
    returnType: void
    signature: void dpp_debug_print_key(const char *title, struct crypto_ec_key *key)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sha256_vector
      Src: /src/hostap/src/common/dpp_crypto.c:104,1
    - Dst: sha384_vector
      Src: /src/hostap/src/common/dpp_crypto.c:106,1
    - Dst: sha512_vector
      Src: /src/hostap/src/common/dpp_crypto.c:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - curve
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - struct dpp_curve_params*
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 110
    functionName: dpp_hash_vector
    functionSourceFile: /src/hostap/src/common/dpp_crypto.c
    functionUses: 0
    functionsReached:
    - sha256_vector
    - sha512_vector
    - sha384_vector
    linkageType: ''
    returnType: int
    signature: "int dpp_hash_vector(const struct dpp_curve_params *curve,\n\t\t\t
      \  size_t num_elem, const u8 *addr[], const size_t *len,\n\t\t\t   u8 *mac)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hmac_sha256_kdf
      Src: /src/hostap/src/common/dpp_crypto.c:117,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/dpp_crypto.c:118,1
    - Dst: hmac_sha384_kdf
      Src: /src/hostap/src/common/dpp_crypto.c:121,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/dpp_crypto.c:122,1
    - Dst: hmac_sha512_kdf
      Src: /src/hostap/src/common/dpp_crypto.c:125,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/dpp_crypto.c:126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 6
    argNames:
    - hash_len
    - secret
    - secret_len
    - label
    - out
    - outlen
    argTypes:
    - size_t
    - u8*
    - size_t
    - char*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 129
    functionName: dpp_hkdf_expand
    functionSourceFile: /src/hostap/src/common/dpp_crypto.c
    functionUses: 2
    functionsReached:
    - os_strlen
    - hmac_sha256_kdf
    - hmac_sha512_kdf
    - hmac_sha384_kdf
    linkageType: ''
    returnType: int
    signature: "int dpp_hkdf_expand(size_t hash_len, const u8 *secret, size_t secret_len,\n\t\t
      \   const char *label, u8 *out, size_t outlen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hmac_sha256_vector
      Src: /src/hostap/src/common/dpp_crypto.c:137,1
    - Dst: hmac_sha384_vector
      Src: /src/hostap/src/common/dpp_crypto.c:140,1
    - Dst: hmac_sha512_vector
      Src: /src/hostap/src/common/dpp_crypto.c:143,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 7
    argNames:
    - hash_len
    - key
    - key_len
    - num_elem
    - addr
    - len
    - mac
    argTypes:
    - size_t
    - u8*
    - size_t
    - size_t
    - u8*[]
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 146
    functionName: dpp_hmac_vector
    functionSourceFile: /src/hostap/src/common/dpp_crypto.c
    functionUses: 0
    functionsReached:
    - hmac_sha512_vector
    - hmac_sha256_vector
    - hmac_sha384_vector
    linkageType: ''
    returnType: int
    signature: "int dpp_hmac_vector(size_t hash_len, const u8 *key, size_t key_len,\n\t\t
      \   size_t num_elem, const u8 *addr[], const size_t *len,\n\t\t    u8 *mac)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hmac_sha256
      Src: /src/hostap/src/common/dpp_crypto.c:153,1
    - Dst: hmac_sha384
      Src: /src/hostap/src/common/dpp_crypto.c:155,1
    - Dst: hmac_sha512
      Src: /src/hostap/src/common/dpp_crypto.c:157,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 6
    argNames:
    - hash_len
    - key
    - key_len
    - data
    - data_len
    - mac
    argTypes:
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 159
    functionName: dpp_hmac
    functionSourceFile: /src/hostap/src/common/dpp_crypto.c
    functionUses: 0
    functionsReached:
    - hmac_sha512
    - hmac_sha384
    - hmac_sha256
    linkageType: ''
    returnType: int
    signature: "int dpp_hmac(size_t hash_len, const u8 *key, size_t key_len,\n\t\t
      \   const u8 *data, size_t data_len, u8 *mac)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/src/common/dpp_crypto.c:187,1
    - Dst: dpp_hmac_vector
      Src: /src/hostap/src/common/dpp_crypto.c:188,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/dpp_crypto.c:191,1
    - Dst: dpp_hmac
      Src: /src/hostap/src/common/dpp_crypto.c:194,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/dpp_crypto.c:197,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 8
    argNames:
    - hash_len
    - password
    - password_len
    - salt
    - salt_len
    - iterations
    - count
    - digest
    argTypes:
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    - unsigned int
    - unsigned int
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 203
    functionName: dpp_pbkdf2_f
    functionSourceFile: /src/hostap/src/common/dpp_crypto.c
    functionUses: 0
    functionsReached:
    - dpp_hmac_vector
    - WPA_PUT_BE32
    - os_memcpy
    - dpp_hmac
    linkageType: ''
    returnType: int
    signature: "int dpp_pbkdf2_f(size_t hash_len,\n\t\t\tconst u8 *password, size_t
      password_len,\n\t\t\tconst u8 *salt, size_t salt_len,\n\t\t\tunsigned int iterations,
      unsigned int count, u8 *digest)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dpp_pbkdf2_f
      Src: /src/hostap/src/common/dpp_crypto.c:217,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/dpp_crypto.c:221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 8
    argNames:
    - hash_len
    - password
    - password_len
    - salt
    - salt_len
    - iterations
    - buf
    - buflen
    argTypes:
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    - unsigned int
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 206
    functionDepth: 2
    functionLinenumber: 206
    functionLinenumberEnd: 227
    functionName: dpp_pbkdf2
    functionSourceFile: /src/hostap/src/common/dpp_crypto.c
    functionUses: 2
    functionsReached:
    - os_memcpy
    - dpp_pbkdf2_f
    linkageType: ''
    returnType: int
    signature: "int dpp_pbkdf2(size_t hash_len, const u8 *password, size_t password_len,\n\t
      \      const u8 *salt, size_t salt_len, unsigned int iterations,\n\t       u8
      *buf, size_t buflen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: crypto_ec_key_group
      Src: /src/hostap/src/common/dpp_crypto.c:235,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_crypto.c:241,1
    - Dst: crypto_ec_key_set_pub
      Src: /src/hostap/src/common/dpp_crypto.c:245,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - group_key
    - buf
    - len
    argTypes:
    - struct crypto_ec_key*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 246
    functionName: dpp_set_pubkey_point
    functionSourceFile: /src/hostap/src/common/dpp_crypto.c
    functionUses: 5
    functionsReached:
    - crypto_ec_key_set_pub
    - wpa_printf
    - crypto_ec_key_group
    linkageType: ''
    returnType: struct crypto_ec_key
    signature: "struct crypto_ec_key * dpp_set_pubkey_point(struct crypto_ec_key *group_key,\n\t\t\t\t\t
      \   const u8 *buf, size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: crypto_ec_key_get_pubkey_point
      Src: /src/hostap/src/common/dpp_crypto.c:259,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/dpp_crypto.c:262,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_crypto.c:263,1
    - Dst: sha256_vector
      Src: /src/hostap/src/common/dpp_crypto.c:264,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_crypto.c:265,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - key
    - hash
    argTypes:
    - struct crypto_ec_key*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 267
    functionName: dpp_get_pubkey_hash
    functionSourceFile: /src/hostap/src/common/dpp_crypto.c
    functionUses: 2
    functionsReached:
    - sha256_vector
    - wpabuf_len
    - crypto_ec_key_get_pubkey_point
    - wpabuf_free
    - wpabuf_head
    linkageType: ''
    returnType: int
    signature: int dpp_get_pubkey_hash(struct crypto_ec_key *key, u8 *hash)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_crypto.c:274,1
    - Dst: crypto_ec_key_gen
      Src: /src/hostap/src/common/dpp_crypto.c:276,1
    - Dst: dpp_debug_print_key
      Src: /src/hostap/src/common/dpp_crypto.c:278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - curve
    argTypes:
    - struct dpp_curve_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 270
    functionDepth: 2
    functionLinenumber: 270
    functionLinenumberEnd: 281
    functionName: dpp_gen_keypair
    functionSourceFile: /src/hostap/src/common/dpp_crypto.c
    functionUses: 6
    functionsReached:
    - dpp_debug_print_key
    - wpa_printf
    - crypto_ec_key_gen
    linkageType: ''
    returnType: struct crypto_ec_key
    signature: struct crypto_ec_key * dpp_gen_keypair(const struct dpp_curve_params
      *curve)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: crypto_ec_key_parse_priv
      Src: /src/hostap/src/common/dpp_crypto.c:290,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_crypto.c:292,1
    - Dst: crypto_ec_key_group
      Src: /src/hostap/src/common/dpp_crypto.c:296,1
    - Dst: crypto_ec_key_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:298,1
    - Dst: dpp_get_curve_ike_group
      Src: /src/hostap/src/common/dpp_crypto.c:302,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_crypto.c:304,1
    - Dst: crypto_ec_key_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:307,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - curve
    - privkey
    - privkey_len
    argTypes:
    - struct dpp_curve_params**
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 312
    functionName: dpp_set_keypair
    functionSourceFile: /src/hostap/src/common/dpp_crypto.c
    functionUses: 6
    functionsReached:
    - crypto_ec_key_deinit
    - wpa_printf
    - crypto_ec_key_group
    - dpp_get_curve_ike_group
    - crypto_ec_key_parse_priv
    linkageType: ''
    returnType: struct crypto_ec_key
    signature: "struct crypto_ec_key * dpp_set_keypair(const struct dpp_curve_params
      **curve,\n\t\t\t\t       const u8 *privkey, size_t privkey_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: crypto_ec_key_get_subject_public_key
      Src: /src/hostap/src/common/dpp_crypto.c:320,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/common/dpp_crypto.c:323,1
    - Dst: dpp_bi_pubkey_hash
      Src: /src/hostap/src/common/dpp_crypto.c:325,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/dpp_crypto.c:325,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_crypto.c:325,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_crypto.c:327,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_crypto.c:328,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - bi
    argTypes:
    - struct dpp_bootstrap_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 330
    functionName: dpp_bootstrap_key_hash
    functionSourceFile: /src/hostap/src/common/dpp_crypto.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dpp_bi_pubkey_hash
    - wpabuf_len
    - wpabuf_free
    - wpabuf_head
    - crypto_ec_key_get_subject_public_key
    - wpa_hexdump_buf
    linkageType: ''
    returnType: int
    signature: int dpp_bootstrap_key_hash(struct dpp_bootstrap_info *bi)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dpp_get_curve_name
      Src: /src/hostap/src/common/dpp_crypto.c:341,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_crypto.c:343,1
    - Dst: dpp_set_keypair
      Src: /src/hostap/src/common/dpp_crypto.c:348,1
    - Dst: dpp_gen_keypair
      Src: /src/hostap/src/common/dpp_crypto.c:350,1
    - Dst: crypto_ec_key_get_subject_public_key
      Src: /src/hostap/src/common/dpp_crypto.c:355,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/common/dpp_crypto.c:358,1
    - Dst: dpp_bi_pubkey_hash
      Src: /src/hostap/src/common/dpp_crypto.c:361,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/dpp_crypto.c:361,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_crypto.c:361,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_crypto.c:362,1
    - Dst: base64_encode
      Src: /src/hostap/src/common/dpp_crypto.c:366,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/dpp_crypto.c:366,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_crypto.c:366,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_crypto.c:367,1
    - Dst: os_strchr
      Src: /src/hostap/src/common/dpp_crypto.c:374,1
    - Dst: os_memmove
      Src: /src/hostap/src/common/dpp_crypto.c:377,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp_crypto.c:379,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp_crypto.c:383,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_crypto.c:384,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 4
    argNames:
    - bi
    - curve
    - privkey
    - privkey_len
    argTypes:
    - struct dpp_bootstrap_info*
    - char*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 333
    functionDepth: 3
    functionLinenumber: 333
    functionLinenumberEnd: 386
    functionName: dpp_keygen
    functionSourceFile: /src/hostap/src/common/dpp_crypto.c
    functionUses: 3
    functionsReached:
    - dpp_get_curve_name
    - wpa_printf
    - dpp_bi_pubkey_hash
    - wpabuf_len
    - dpp_set_keypair
    - wpabuf_free
    - os_memmove
    - wpabuf_head
    - dpp_gen_keypair
    - crypto_ec_key_get_subject_public_key
    - os_strchr
    - os_free
    - base64_encode
    - wpa_hexdump_buf
    linkageType: ''
    returnType: int
    signature: "int dpp_keygen(struct dpp_bootstrap_info *bi, const char *curve,\n\t
      \      const u8 *privkey, size_t privkey_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/common/dpp_crypto.c:398,1
    - Dst: dpp_hmac
      Src: /src/hostap/src/common/dpp_crypto.c:399,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/dpp_crypto.c:401,1
    - Dst: dpp_hkdf_expand
      Src: /src/hostap/src/common/dpp_crypto.c:405,1
    - Dst: os_memset
      Src: /src/hostap/src/common/dpp_crypto.c:406,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/dpp_crypto.c:410,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - Mx
    - Mx_len
    - k1
    - hash_len
    argTypes:
    - u8*
    - size_t
    - u8*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 389
    functionDepth: 3
    functionLinenumber: 389
    functionLinenumberEnd: 413
    functionName: dpp_derive_k1
    functionSourceFile: /src/hostap/src/common/dpp_crypto.c
    functionUses: 2
    functionsReached:
    - wpa_hexdump_key
    - dpp_hkdf_expand
    - dpp_hmac
    - os_memset
    linkageType: ''
    returnType: int
    signature: int dpp_derive_k1(const u8 *Mx, size_t Mx_len, u8 *k1, unsigned int
      hash_len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/common/dpp_crypto.c:425,1
    - Dst: dpp_hmac
      Src: /src/hostap/src/common/dpp_crypto.c:426,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/dpp_crypto.c:429,1
    - Dst: dpp_hkdf_expand
      Src: /src/hostap/src/common/dpp_crypto.c:433,1
    - Dst: os_memset
      Src: /src/hostap/src/common/dpp_crypto.c:434,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/dpp_crypto.c:438,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - Nx
    - Nx_len
    - k2
    - hash_len
    argTypes:
    - u8*
    - size_t
    - u8*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 416
    functionDepth: 3
    functionLinenumber: 416
    functionLinenumberEnd: 441
    functionName: dpp_derive_k2
    functionSourceFile: /src/hostap/src/common/dpp_crypto.c
    functionUses: 2
    functionsReached:
    - wpa_hexdump_key
    - dpp_hkdf_expand
    - dpp_hmac
    - os_memset
    linkageType: ''
    returnType: int
    signature: int dpp_derive_k2(const u8 *Nx, size_t Nx_len, u8 *k2, unsigned int
      hash_len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_crypto.c:456,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/dpp_crypto.c:462,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/dpp_crypto.c:463,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_crypto.c:472,1
    - Dst: dpp_hmac_vector
      Src: /src/hostap/src/common/dpp_crypto.c:480,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/dpp_crypto.c:484,1
    - Dst: dpp_hkdf_expand
      Src: /src/hostap/src/common/dpp_crypto.c:489,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/dpp_crypto.c:494,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 1
    argNames:
    - auth
    argTypes:
    - struct dpp_authentication*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 444
    functionDepth: 3
    functionLinenumber: 444
    functionLinenumberEnd: 499
    functionName: dpp_derive_bk_ke
    functionSourceFile: /src/hostap/src/common/dpp_crypto.c
    functionUses: 2
    functionsReached:
    - dpp_hmac_vector
    - wpa_printf
    - os_memcpy
    - wpa_hexdump_key
    - dpp_hkdf_expand
    linkageType: ''
    returnType: int
    signature: int dpp_derive_bk_ke(struct dpp_authentication *auth)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: crypto_ecdh_init2
      Src: /src/hostap/src/common/dpp_crypto.c:511,1
    - Dst: crypto_ec_key_group
      Src: /src/hostap/src/common/dpp_crypto.c:511,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_crypto.c:513,1
    - Dst: crypto_ec_key_get_pubkey_point
      Src: /src/hostap/src/common/dpp_crypto.c:517,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_crypto.c:519,1
    - Dst: crypto_ecdh_set_peerkey
      Src: /src/hostap/src/common/dpp_crypto.c:524,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/dpp_crypto.c:524,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_crypto.c:525,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_crypto.c:527,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_crypto.c:531,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_crypto.c:532,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_crypto.c:536,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/dpp_crypto.c:537,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/dpp_crypto.c:537,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_crypto.c:537,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/common/dpp_crypto.c:541,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_crypto.c:542,1
    - Dst: crypto_ecdh_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:543,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 4
    argNames:
    - own
    - peer
    - secret
    - secret_len
    argTypes:
    - struct crypto_ec_key*
    - struct crypto_ec_key*
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 545
    functionName: dpp_ecdh
    functionSourceFile: /src/hostap/src/common/dpp_crypto.c
    functionUses: 5
    functionsReached:
    - wpa_printf
    - os_memcpy
    - crypto_ecdh_deinit
    - crypto_ecdh_init2
    - wpabuf_len
    - crypto_ec_key_get_pubkey_point
    - wpabuf_free
    - crypto_ecdh_set_peerkey
    - crypto_ec_key_group
    - wpabuf_head
    - wpabuf_clear_free
    linkageType: ''
    returnType: int
    signature: "int dpp_ecdh(struct crypto_ec_key *own, struct crypto_ec_key *peer,\n\t
      \    u8 *secret, size_t *secret_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sha256_vector
      Src: /src/hostap/src/common/dpp_crypto.c:556,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_crypto.c:558,1
    - Dst: sha256_vector
      Src: /src/hostap/src/common/dpp_crypto.c:565,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_crypto.c:567,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - bi
    - data
    - data_len
    argTypes:
    - struct dpp_bootstrap_info*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 571
    functionName: dpp_bi_pubkey_hash
    functionSourceFile: /src/hostap/src/common/dpp_crypto.c
    functionUses: 2
    functionsReached:
    - sha256_vector
    - wpa_hexdump
    linkageType: ''
    returnType: int
    signature: "int dpp_bi_pubkey_hash(struct dpp_bootstrap_info *bi,\n\t\t       const
      u8 *data, size_t data_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dpp_bi_pubkey_hash
      Src: /src/hostap/src/common/dpp_crypto.c:579,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_crypto.c:580,1
    - Dst: crypto_ec_key_parse_pub
      Src: /src/hostap/src/common/dpp_crypto.c:584,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_crypto.c:586,1
    - Dst: dpp_get_curve_ike_group
      Src: /src/hostap/src/common/dpp_crypto.c:591,1
    - Dst: crypto_ec_key_group
      Src: /src/hostap/src/common/dpp_crypto.c:591,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_crypto.c:593,1
    - Dst: crypto_ec_key_group
      Src: /src/hostap/src/common/dpp_crypto.c:595,1
    - Dst: crypto_ec_key_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:602,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - bi
    - data
    - data_len
    argTypes:
    - struct dpp_bootstrap_info*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 574
    functionDepth: 1
    functionLinenumber: 574
    functionLinenumberEnd: 604
    functionName: dpp_get_subject_public_key
    functionSourceFile: /src/hostap/src/common/dpp_crypto.c
    functionUses: 1
    functionsReached:
    - crypto_ec_key_deinit
    - wpa_printf
    - dpp_bi_pubkey_hash
    - crypto_ec_key_group
    - crypto_ec_key_parse_pub
    - dpp_get_curve_ike_group
    linkageType: ''
    returnType: int
    signature: "int dpp_get_subject_public_key(struct dpp_bootstrap_info *bi,\n\t\t\t
      \      const u8 *data, size_t data_len)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: json_parse
      Src: /src/hostap/src/common/dpp_crypto.c:615,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_crypto.c:617,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_crypto.c:623,1
    - Dst: json_get_member
      Src: /src/hostap/src/common/dpp_crypto.c:628,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_crypto.c:630,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_crypto.c:633,1
    - Dst: os_strcmp
      Src: /src/hostap/src/common/dpp_crypto.c:635,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_crypto.c:636,1
    - Dst: json_get_member
      Src: /src/hostap/src/common/dpp_crypto.c:642,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_crypto.c:644,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_crypto.c:647,1
    - Dst: os_strcmp
      Src: /src/hostap/src/common/dpp_crypto.c:649,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_crypto.c:650,1
    - Dst: os_strcmp
      Src: /src/hostap/src/common/dpp_crypto.c:655,1
    - Dst: os_strcmp
      Src: /src/hostap/src/common/dpp_crypto.c:656,1
    - Dst: os_strcmp
      Src: /src/hostap/src/common/dpp_crypto.c:658,1
    - Dst: os_strcmp
      Src: /src/hostap/src/common/dpp_crypto.c:659,1
    - Dst: os_strcmp
      Src: /src/hostap/src/common/dpp_crypto.c:661,1
    - Dst: os_strcmp
      Src: /src/hostap/src/common/dpp_crypto.c:662,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_crypto.c:666,1
    - Dst: json_get_member_base64url
      Src: /src/hostap/src/common/dpp_crypto.c:672,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_crypto.c:674,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/common/dpp_crypto.c:677,1
    - Dst: json_free
      Src: /src/hostap/src/common/dpp_crypto.c:681,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 61
    argCount: 4
    argNames:
    - curve
    - prot_hdr
    - prot_hdr_len
    - hash_func
    argTypes:
    - struct dpp_curve_params*
    - u8*
    - u16
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 607
    functionDepth: 1
    functionLinenumber: 607
    functionLinenumberEnd: 683
    functionName: dpp_parse_jws_prot_hdr
    functionSourceFile: /src/hostap/src/common/dpp_crypto.c
    functionUses: 0
    functionsReached:
    - json_parse
    - wpa_printf
    - wpa_hexdump_buf
    - json_get_member
    - os_strcmp
    - json_free
    - json_get_member_base64url
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf *\ndpp_parse_jws_prot_hdr(const struct dpp_curve_params
      *curve,\n\t\t       const u8 *prot_hdr, u16 prot_hdr_len,\n\t\t       int *hash_func)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_crypto.c:695,1
    - Dst: crypto_ec_key_get_pubkey_point
      Src: /src/hostap/src/common/dpp_crypto.c:697,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/dpp_crypto.c:700,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_crypto.c:701,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_crypto.c:702,1
    - Dst: sha256_vector
      Src: /src/hostap/src/common/dpp_crypto.c:704,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_crypto.c:705,1
    - Dst: os_memcmp
      Src: /src/hostap/src/common/dpp_crypto.c:708,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/dpp_crypto.c:708,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_crypto.c:709,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_crypto.c:711,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - pub
    - r_hash
    argTypes:
    - struct crypto_ec_key*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 686
    functionDepth: 1
    functionLinenumber: 686
    functionLinenumberEnd: 716
    functionName: dpp_check_pubkey_match
    functionSourceFile: /src/hostap/src/common/dpp_crypto.c
    functionUses: 0
    functionsReached:
    - sha256_vector
    - wpa_printf
    - wpa_hexdump
    - wpabuf_len
    - crypto_ec_key_get_pubkey_point
    - wpabuf_free
    - wpabuf_head
    - os_memcmp
    linkageType: ''
    returnType: int
    signature: "int dpp_check_pubkey_match(struct crypto_ec_key *pub,\n\t\t\t\t  struct
      wpabuf *r_hash)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: dpp_get_curve_ike_group
      Src: /src/hostap/src/common/dpp_crypto.c:733,1
    - Dst: crypto_ec_key_group
      Src: /src/hostap/src/common/dpp_crypto.c:733,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_crypto.c:736,1
    - Dst: os_memset
      Src: /src/hostap/src/common/dpp_crypto.c:737,1
    - Dst: os_strchr
      Src: /src/hostap/src/common/dpp_crypto.c:740,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_crypto.c:742,1
    - Dst: base64_url_decode
      Src: /src/hostap/src/common/dpp_crypto.c:746,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_crypto.c:748,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/common/dpp_crypto.c:753,1
    - Dst: dpp_parse_jws_prot_hdr
      Src: /src/hostap/src/common/dpp_crypto.c:756,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_crypto.c:761,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_crypto.c:762,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_crypto.c:764,1
    - Dst: os_strchr
      Src: /src/hostap/src/common/dpp_crypto.c:770,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_crypto.c:772,1
    - Dst: base64_url_decode
      Src: /src/hostap/src/common/dpp_crypto.c:778,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_crypto.c:780,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/common/dpp_crypto.c:785,1
    - Dst: base64_url_decode
      Src: /src/hostap/src/common/dpp_crypto.c:789,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/dpp_crypto.c:789,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_crypto.c:791,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_crypto.c:796,1
    - Dst: dpp_check_pubkey_match
      Src: /src/hostap/src/common/dpp_crypto.c:799,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_crypto.c:805,1
    - Dst: os_malloc
      Src: /src/hostap/src/common/dpp_crypto.c:812,1
    - Dst: sha256_vector
      Src: /src/hostap/src/common/dpp_crypto.c:818,1
    - Dst: sha384_vector
      Src: /src/hostap/src/common/dpp_crypto.c:821,1
    - Dst: sha512_vector
      Src: /src/hostap/src/common/dpp_crypto.c:824,1
    - Dst: crypto_ec_key_verify_signature_r_s
      Src: /src/hostap/src/common/dpp_crypto.c:832,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_crypto.c:838,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp_crypto.c:847,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp_crypto.c:848,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_crypto.c:849,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp_crypto.c:850,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 103
    argCount: 3
    argNames:
    - info
    - csign_pub
    - connector
    argTypes:
    - struct dpp_signed_connector_info*
    - struct crypto_ec_key*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 719
    functionDepth: 2
    functionLinenumber: 719
    functionLinenumberEnd: 852
    functionName: dpp_process_signed_connector
    functionSourceFile: /src/hostap/src/common/dpp_crypto.c
    functionUses: 2
    functionsReached:
    - wpa_hexdump
    - dpp_parse_jws_prot_hdr
    - sha512_vector
    - wpa_hexdump_ascii
    - os_strlen
    - sha256_vector
    - wpa_printf
    - os_free
    - wpabuf_len
    - sha384_vector
    - os_malloc
    - crypto_ec_key_verify_signature_r_s
    - os_strchr
    - dpp_get_curve_ike_group
    - os_memset
    - base64_url_decode
    - wpabuf_free
    - crypto_ec_key_group
    - dpp_check_pubkey_match
    linkageType: ''
    returnType: enum dpp_status_error
    signature: "enum dpp_status_error dpp_process_signed_connector(struct dpp_signed_connector_info
      *info,\n\t\t\t     struct crypto_ec_key *csign_pub,\n\t\t\t     const char *connector)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: crypto_ec_key_parse_pub
      Src: /src/hostap/src/common/dpp_crypto.c:864,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_crypto.c:866,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/common/dpp_crypto.c:871,1
    - Dst: os_malloc
      Src: /src/hostap/src/common/dpp_crypto.c:873,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/dpp_crypto.c:876,1
    - Dst: dpp_process_signed_connector
      Src: /src/hostap/src/common/dpp_crypto.c:878,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp_crypto.c:880,1
    - Dst: crypto_ec_key_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:881,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 5
    argNames:
    - info
    - csign_key
    - csign_key_len
    - peer_connector
    - peer_connector_len
    argTypes:
    - struct dpp_signed_connector_info*
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 855
    functionDepth: 3
    functionLinenumber: 855
    functionLinenumberEnd: 883
    functionName: dpp_check_signed_connector
    functionSourceFile: /src/hostap/src/common/dpp_crypto.c
    functionUses: 2
    functionsReached:
    - crypto_ec_key_deinit
    - os_memcpy
    - wpa_printf
    - os_malloc
    - crypto_ec_key_parse_pub
    - dpp_process_signed_connector
    - os_free
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: enum dpp_status_error
    signature: "enum dpp_status_error dpp_check_signed_connector(struct dpp_signed_connector_info
      *info,\n\t\t\t   const u8 *csign_key, size_t csign_key_len,\n\t\t\t   const
      u8 *peer_connector, size_t peer_connector_len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: crypto_ec_key_get_pubkey_point
      Src: /src/hostap/src/common/dpp_crypto.c:900,1
    - Dst: crypto_ec_key_get_pubkey_point
      Src: /src/hostap/src/common/dpp_crypto.c:901,1
    - Dst: crypto_ec_key_get_pubkey_point
      Src: /src/hostap/src/common/dpp_crypto.c:904,1
    - Dst: crypto_ec_key_get_pubkey_point
      Src: /src/hostap/src/common/dpp_crypto.c:908,1
    - Dst: crypto_ec_key_get_pubkey_point
      Src: /src/hostap/src/common/dpp_crypto.c:910,1
    - Dst: crypto_ec_key_get_pubkey_point
      Src: /src/hostap/src/common/dpp_crypto.c:912,1
    - Dst: crypto_ec_key_get_pubkey_point
      Src: /src/hostap/src/common/dpp_crypto.c:914,1
    - Dst: crypto_ec_key_get_pubkey_point
      Src: /src/hostap/src/common/dpp_crypto.c:918,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/dpp_crypto.c:931,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_crypto.c:932,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/dpp_crypto.c:935,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_crypto.c:936,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/dpp_crypto.c:940,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_crypto.c:941,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/dpp_crypto.c:945,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_crypto.c:946,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_crypto.c:953,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_crypto.c:955,1
    - Dst: dpp_hash_vector
      Src: /src/hostap/src/common/dpp_crypto.c:956,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_crypto.c:958,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_crypto.c:961,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_crypto.c:962,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_crypto.c:963,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_crypto.c:964,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 56
    argCount: 2
    argNames:
    - auth
    - r_auth
    argTypes:
    - struct dpp_authentication*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 886
    functionDepth: 1
    functionLinenumber: 886
    functionLinenumberEnd: 966
    functionName: dpp_gen_r_auth
    functionSourceFile: /src/hostap/src/common/dpp_crypto.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    - wpabuf_len
    - crypto_ec_key_get_pubkey_point
    - wpabuf_free
    - wpabuf_head
    - dpp_hash_vector
    linkageType: ''
    returnType: int
    signature: int dpp_gen_r_auth(struct dpp_authentication *auth, u8 *r_auth)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: crypto_ec_key_get_pubkey_point
      Src: /src/hostap/src/common/dpp_crypto.c:983,1
    - Dst: crypto_ec_key_get_pubkey_point
      Src: /src/hostap/src/common/dpp_crypto.c:984,1
    - Dst: crypto_ec_key_get_pubkey_point
      Src: /src/hostap/src/common/dpp_crypto.c:987,1
    - Dst: crypto_ec_key_get_pubkey_point
      Src: /src/hostap/src/common/dpp_crypto.c:993,1
    - Dst: crypto_ec_key_get_pubkey_point
      Src: /src/hostap/src/common/dpp_crypto.c:995,1
    - Dst: crypto_ec_key_get_pubkey_point
      Src: /src/hostap/src/common/dpp_crypto.c:997,1
    - Dst: crypto_ec_key_get_pubkey_point
      Src: /src/hostap/src/common/dpp_crypto.c:999,1
    - Dst: crypto_ec_key_get_pubkey_point
      Src: /src/hostap/src/common/dpp_crypto.c:1005,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/dpp_crypto.c:1018,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_crypto.c:1019,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/dpp_crypto.c:1022,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_crypto.c:1023,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/dpp_crypto.c:1026,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_crypto.c:1027,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/dpp_crypto.c:1031,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_crypto.c:1032,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_crypto.c:1040,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_crypto.c:1042,1
    - Dst: dpp_hash_vector
      Src: /src/hostap/src/common/dpp_crypto.c:1043,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_crypto.c:1045,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_crypto.c:1048,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_crypto.c:1049,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_crypto.c:1050,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_crypto.c:1051,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 62
    argCount: 2
    argNames:
    - auth
    - i_auth
    argTypes:
    - struct dpp_authentication*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 969
    functionDepth: 1
    functionLinenumber: 969
    functionLinenumberEnd: 1053
    functionName: dpp_gen_i_auth
    functionSourceFile: /src/hostap/src/common/dpp_crypto.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    - wpabuf_len
    - crypto_ec_key_get_pubkey_point
    - wpabuf_free
    - wpabuf_head
    - dpp_hash_vector
    linkageType: ''
    returnType: int
    signature: int dpp_gen_i_auth(struct dpp_authentication *auth, u8 *i_auth)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: crypto_ec_init
      Src: /src/hostap/src/common/dpp_crypto.c:1066,1
    - Dst: crypto_ec_key_group
      Src: /src/hostap/src/common/dpp_crypto.c:1066,1
    - Dst: crypto_ec_get_order
      Src: /src/hostap/src/common/dpp_crypto.c:1070,1
    - Dst: crypto_ec_key_get_public_key
      Src: /src/hostap/src/common/dpp_crypto.c:1071,1
    - Dst: crypto_ec_key_get_private_key
      Src: /src/hostap/src/common/dpp_crypto.c:1072,1
    - Dst: crypto_ec_key_get_private_key
      Src: /src/hostap/src/common/dpp_crypto.c:1073,1
    - Dst: crypto_bignum_init
      Src: /src/hostap/src/common/dpp_crypto.c:1074,1
    - Dst: crypto_ec_point_init
      Src: /src/hostap/src/common/dpp_crypto.c:1075,1
    - Dst: crypto_bignum_init
      Src: /src/hostap/src/common/dpp_crypto.c:1076,1
    - Dst: crypto_bignum_addmod
      Src: /src/hostap/src/common/dpp_crypto.c:1078,1
    - Dst: crypto_ec_point_mul
      Src: /src/hostap/src/common/dpp_crypto.c:1079,1
    - Dst: crypto_ec_point_x
      Src: /src/hostap/src/common/dpp_crypto.c:1080,1
    - Dst: crypto_bignum_to_bin
      Src: /src/hostap/src/common/dpp_crypto.c:1081,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/dpp_crypto.c:1085,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:1089,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:1090,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:1091,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:1092,1
    - Dst: crypto_ec_point_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:1093,1
    - Dst: crypto_ec_point_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:1094,1
    - Dst: crypto_ec_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:1095,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 1
    argNames:
    - auth
    argTypes:
    - struct dpp_authentication*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1097
      start: 1056
    functionDepth: 0
    functionLinenumber: 1056
    functionLinenumberEnd: 1097
    functionName: dpp_auth_derive_l_responder
    functionSourceFile: /src/hostap/src/common/dpp_crypto.c
    functionUses: 1
    functionsReached:
    - crypto_bignum_addmod
    - crypto_bignum_to_bin
    - wpa_hexdump_key
    - crypto_ec_point_x
    - crypto_bignum_init
    - crypto_ec_key_get_private_key
    - crypto_ec_point_deinit
    - crypto_ec_deinit
    - crypto_ec_get_order
    - crypto_ec_key_group
    - crypto_bignum_deinit
    - crypto_ec_point_init
    - crypto_ec_point_mul
    - crypto_ec_key_get_public_key
    - crypto_ec_init
    linkageType: ''
    returnType: int
    signature: int dpp_auth_derive_l_responder(struct dpp_authentication *auth)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: crypto_ec_init
      Src: /src/hostap/src/common/dpp_crypto.c:1109,1
    - Dst: crypto_ec_key_group
      Src: /src/hostap/src/common/dpp_crypto.c:1109,1
    - Dst: crypto_ec_key_get_public_key
      Src: /src/hostap/src/common/dpp_crypto.c:1113,1
    - Dst: crypto_ec_key_get_public_key
      Src: /src/hostap/src/common/dpp_crypto.c:1114,1
    - Dst: crypto_ec_key_get_private_key
      Src: /src/hostap/src/common/dpp_crypto.c:1115,1
    - Dst: crypto_ec_point_init
      Src: /src/hostap/src/common/dpp_crypto.c:1116,1
    - Dst: crypto_ec_point_init
      Src: /src/hostap/src/common/dpp_crypto.c:1117,1
    - Dst: crypto_bignum_init
      Src: /src/hostap/src/common/dpp_crypto.c:1118,1
    - Dst: crypto_ec_point_add
      Src: /src/hostap/src/common/dpp_crypto.c:1120,1
    - Dst: crypto_ec_point_mul
      Src: /src/hostap/src/common/dpp_crypto.c:1121,1
    - Dst: crypto_ec_point_x
      Src: /src/hostap/src/common/dpp_crypto.c:1122,1
    - Dst: crypto_bignum_to_bin
      Src: /src/hostap/src/common/dpp_crypto.c:1123,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/dpp_crypto.c:1127,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:1131,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:1132,1
    - Dst: crypto_ec_point_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:1133,1
    - Dst: crypto_ec_point_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:1134,1
    - Dst: crypto_ec_point_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:1135,1
    - Dst: crypto_ec_point_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:1136,1
    - Dst: crypto_ec_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:1137,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 1
    argNames:
    - auth
    argTypes:
    - struct dpp_authentication*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1139
      start: 1100
    functionDepth: 0
    functionLinenumber: 1100
    functionLinenumberEnd: 1139
    functionName: dpp_auth_derive_l_initiator
    functionSourceFile: /src/hostap/src/common/dpp_crypto.c
    functionUses: 1
    functionsReached:
    - crypto_bignum_to_bin
    - wpa_hexdump_key
    - crypto_ec_point_x
    - crypto_bignum_init
    - crypto_ec_key_get_private_key
    - crypto_ec_point_deinit
    - crypto_ec_deinit
    - crypto_ec_key_group
    - crypto_bignum_deinit
    - crypto_ec_point_init
    - crypto_ec_point_add
    - crypto_ec_point_mul
    - crypto_ec_key_get_public_key
    - crypto_ec_init
    linkageType: ''
    returnType: int
    signature: int dpp_auth_derive_l_initiator(struct dpp_authentication *auth)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/common/dpp_crypto.c:1151,1
    - Dst: dpp_hmac
      Src: /src/hostap/src/common/dpp_crypto.c:1152,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/dpp_crypto.c:1154,1
    - Dst: dpp_hkdf_expand
      Src: /src/hostap/src/common/dpp_crypto.c:1158,1
    - Dst: os_memset
      Src: /src/hostap/src/common/dpp_crypto.c:1159,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/dpp_crypto.c:1163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - Nx
    - Nx_len
    - pmk
    - hash_len
    argTypes:
    - u8*
    - size_t
    - u8*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1166
      start: 1142
    functionDepth: 3
    functionLinenumber: 1142
    functionLinenumberEnd: 1166
    functionName: dpp_derive_pmk
    functionSourceFile: /src/hostap/src/common/dpp_crypto.c
    functionUses: 1
    functionsReached:
    - wpa_hexdump_key
    - dpp_hkdf_expand
    - dpp_hmac
    - os_memset
    linkageType: ''
    returnType: int
    signature: int dpp_derive_pmk(const u8 *Nx, size_t Nx_len, u8 *pmk, unsigned int
      hash_len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: crypto_ec_key_get_pubkey_point
      Src: /src/hostap/src/common/dpp_crypto.c:1180,1
    - Dst: crypto_ec_key_get_pubkey_point
      Src: /src/hostap/src/common/dpp_crypto.c:1181,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/dpp_crypto.c:1184,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_crypto.c:1185,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/dpp_crypto.c:1186,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_crypto.c:1187,1
    - Dst: os_memcmp
      Src: /src/hostap/src/common/dpp_crypto.c:1190,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/dpp_crypto.c:1191,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/dpp_crypto.c:1192,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_crypto.c:1194,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_crypto.c:1195,1
    - Dst: sha256_vector
      Src: /src/hostap/src/common/dpp_crypto.c:1196,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_crypto.c:1199,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/dpp_crypto.c:1200,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_crypto.c:1201,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_crypto.c:1204,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_crypto.c:1205,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 4
    argNames:
    - curve
    - own_key
    - peer_key
    - pmkid
    argTypes:
    - struct dpp_curve_params*
    - struct crypto_ec_key*
    - struct crypto_ec_key*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1169
    functionDepth: 1
    functionLinenumber: 1169
    functionLinenumberEnd: 1207
    functionName: dpp_derive_pmkid
    functionSourceFile: /src/hostap/src/common/dpp_crypto.c
    functionUses: 1
    functionsReached:
    - sha256_vector
    - os_memcpy
    - wpa_hexdump
    - wpabuf_len
    - crypto_ec_key_get_pubkey_point
    - wpabuf_free
    - wpabuf_head
    - os_memcmp
    linkageType: ''
    returnType: int
    signature: "int dpp_derive_pmkid(const struct dpp_curve_params *curve,\n\t\t     struct
      crypto_ec_key *own_key,\n\t\t     struct crypto_ec_key *peer_key, u8 *pmkid)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: crypto_ec_key_set_pub
      Src: /src/hostap/src/common/dpp_crypto.c:1455,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 2
    argNames:
    - curve
    - init
    argTypes:
    - struct dpp_curve_params*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1456
      start: 1421
    functionDepth: 0
    functionLinenumber: 1421
    functionLinenumberEnd: 1456
    functionName: dpp_pkex_get_role_elem
    functionSourceFile: /src/hostap/src/common/dpp_crypto.c
    functionUses: 0
    functionsReached:
    - crypto_ec_key_set_pub
    linkageType: ''
    returnType: struct crypto_ec_key
    signature: 'struct crypto_ec_key *

      dpp_pkex_get_role_elem(const struct dpp_curve_params *curve, int init)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_crypto.c:1476,1
    - Dst: MAC2STR
      Src: /src/hostap/src/common/dpp_crypto.c:1477,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_crypto.c:1483,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/dpp_crypto.c:1486,1
    - Dst: wpa_hexdump_ascii_key
      Src: /src/hostap/src/common/dpp_crypto.c:1489,1
    - Dst: dpp_hash_vector
      Src: /src/hostap/src/common/dpp_crypto.c:1493,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/dpp_crypto.c:1495,1
    - Dst: dpp_pkex_get_role_elem
      Src: /src/hostap/src/common/dpp_crypto.c:1498,1
    - Dst: dpp_debug_print_key
      Src: /src/hostap/src/common/dpp_crypto.c:1501,1
    - Dst: crypto_ec_init
      Src: /src/hostap/src/common/dpp_crypto.c:1503,1
    - Dst: crypto_ec_key_get_public_key
      Src: /src/hostap/src/common/dpp_crypto.c:1507,1
    - Dst: crypto_ec_point_init
      Src: /src/hostap/src/common/dpp_crypto.c:1508,1
    - Dst: crypto_bignum_init_set
      Src: /src/hostap/src/common/dpp_crypto.c:1509,1
    - Dst: crypto_ec_point_mul
      Src: /src/hostap/src/common/dpp_crypto.c:1510,1
    - Dst: crypto_ec_point_is_at_infinity
      Src: /src/hostap/src/common/dpp_crypto.c:1513,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_crypto.c:1514,1
    - Dst: crypto_ec_point_debug_print
      Src: /src/hostap/src/common/dpp_crypto.c:1517,1
    - Dst: crypto_ec_key_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:1519,1
    - Dst: crypto_ec_point_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:1520,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:1521,1
    - Dst: crypto_ec_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:1525,1
    - Dst: crypto_ec_point_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:1528,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 57
    argCount: 6
    argNames:
    - curve
    - mac_init
    - code
    - code_len
    - identifier
    - ret_ec
    argTypes:
    - struct dpp_curve_params*
    - u8*
    - char*
    - size_t
    - char*
    - struct crypto_ec**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1531
      start: 1459
    functionDepth: 2
    functionLinenumber: 1459
    functionLinenumberEnd: 1531
    functionName: dpp_pkex_derive_Qi
    functionSourceFile: /src/hostap/src/common/dpp_crypto.c
    functionUses: 0
    functionsReached:
    - crypto_ec_deinit
    - crypto_ec_point_is_at_infinity
    - crypto_ec_point_init
    - wpa_hexdump_ascii_key
    - crypto_bignum_init_set
    - crypto_ec_point_debug_print
    - os_strlen
    - crypto_ec_key_deinit
    - wpa_printf
    - dpp_pkex_get_role_elem
    - crypto_ec_point_deinit
    - crypto_bignum_deinit
    - dpp_hash_vector
    - crypto_ec_point_mul
    - wpa_hexdump_key
    - dpp_debug_print_key
    - crypto_ec_init
    - MAC2STR
    - crypto_ec_key_get_public_key
    linkageType: ''
    returnType: struct crypto_ec_point
    signature: "struct crypto_ec_point *\ndpp_pkex_derive_Qi(const struct dpp_curve_params
      *curve, const u8 *mac_init,\n\t\t   const char *code, size_t code_len, const
      char *identifier,\n\t\t   struct crypto_ec **ret_ec)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_crypto.c:1551,1
    - Dst: MAC2STR
      Src: /src/hostap/src/common/dpp_crypto.c:1552,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_crypto.c:1558,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/dpp_crypto.c:1561,1
    - Dst: wpa_hexdump_ascii_key
      Src: /src/hostap/src/common/dpp_crypto.c:1564,1
    - Dst: dpp_hash_vector
      Src: /src/hostap/src/common/dpp_crypto.c:1568,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/dpp_crypto.c:1570,1
    - Dst: dpp_pkex_get_role_elem
      Src: /src/hostap/src/common/dpp_crypto.c:1573,1
    - Dst: dpp_debug_print_key
      Src: /src/hostap/src/common/dpp_crypto.c:1576,1
    - Dst: crypto_ec_init
      Src: /src/hostap/src/common/dpp_crypto.c:1578,1
    - Dst: crypto_ec_key_get_public_key
      Src: /src/hostap/src/common/dpp_crypto.c:1582,1
    - Dst: crypto_ec_point_init
      Src: /src/hostap/src/common/dpp_crypto.c:1583,1
    - Dst: crypto_bignum_init_set
      Src: /src/hostap/src/common/dpp_crypto.c:1584,1
    - Dst: crypto_ec_point_mul
      Src: /src/hostap/src/common/dpp_crypto.c:1585,1
    - Dst: crypto_ec_point_is_at_infinity
      Src: /src/hostap/src/common/dpp_crypto.c:1588,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_crypto.c:1589,1
    - Dst: crypto_ec_point_debug_print
      Src: /src/hostap/src/common/dpp_crypto.c:1592,1
    - Dst: crypto_ec_key_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:1595,1
    - Dst: crypto_ec_point_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:1596,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:1597,1
    - Dst: crypto_ec_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:1601,1
    - Dst: crypto_ec_point_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:1604,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 57
    argCount: 6
    argNames:
    - curve
    - mac_resp
    - code
    - code_len
    - identifier
    - ret_ec
    argTypes:
    - struct dpp_curve_params*
    - u8*
    - char*
    - size_t
    - char*
    - struct crypto_ec**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1607
      start: 1534
    functionDepth: 2
    functionLinenumber: 1534
    functionLinenumberEnd: 1607
    functionName: dpp_pkex_derive_Qr
    functionSourceFile: /src/hostap/src/common/dpp_crypto.c
    functionUses: 0
    functionsReached:
    - crypto_ec_deinit
    - crypto_ec_point_is_at_infinity
    - crypto_ec_point_init
    - wpa_hexdump_ascii_key
    - crypto_bignum_init_set
    - crypto_ec_point_debug_print
    - os_strlen
    - crypto_ec_key_deinit
    - wpa_printf
    - dpp_pkex_get_role_elem
    - crypto_ec_point_deinit
    - crypto_bignum_deinit
    - dpp_hash_vector
    - crypto_ec_point_mul
    - wpa_hexdump_key
    - dpp_debug_print_key
    - crypto_ec_init
    - MAC2STR
    - crypto_ec_key_get_public_key
    linkageType: ''
    returnType: struct crypto_ec_point
    signature: "struct crypto_ec_point *\ndpp_pkex_derive_Qr(const struct dpp_curve_params
      *curve, const u8 *mac_resp,\n\t\t   const char *code, size_t code_len, const
      char *identifier,\n\t\t   struct crypto_ec **ret_ec)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/common/dpp_crypto.c:1630,1
    - Dst: dpp_hmac
      Src: /src/hostap/src/common/dpp_crypto.c:1631,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/dpp_crypto.c:1633,1
    - Dst: os_malloc
      Src: /src/hostap/src/common/dpp_crypto.c:1640,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/dpp_crypto.c:1645,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/dpp_crypto.c:1647,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/dpp_crypto.c:1653,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/dpp_crypto.c:1655,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/dpp_crypto.c:1657,1
    - Dst: hmac_sha256_kdf
      Src: /src/hostap/src/common/dpp_crypto.c:1661,1
    - Dst: hmac_sha384_kdf
      Src: /src/hostap/src/common/dpp_crypto.c:1664,1
    - Dst: hmac_sha512_kdf
      Src: /src/hostap/src/common/dpp_crypto.c:1667,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp_crypto.c:1671,1
    - Dst: os_memset
      Src: /src/hostap/src/common/dpp_crypto.c:1672,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/dpp_crypto.c:1676,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 14
    argNames:
    - mac_init
    - mac_resp
    - ver_init
    - ver_resp
    - Mx
    - Mx_len
    - Nx
    - Nx_len
    - code
    - code_len
    - Kx
    - Kx_len
    - z
    - hash_len
    argTypes:
    - u8*
    - u8*
    - u8
    - u8
    - u8*
    - size_t
    - u8*
    - size_t
    - char*
    - size_t
    - u8*
    - size_t
    - u8*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1679
      start: 1610
    functionDepth: 2
    functionLinenumber: 1610
    functionLinenumberEnd: 1679
    functionName: dpp_pkex_derive_z
    functionSourceFile: /src/hostap/src/common/dpp_crypto.c
    functionUses: 0
    functionsReached:
    - wpa_hexdump_key
    - os_memcpy
    - os_malloc
    - hmac_sha384_kdf
    - dpp_hmac
    - os_free
    - hmac_sha256_kdf
    - hmac_sha512_kdf
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int dpp_pkex_derive_z(const u8 *mac_init, const u8 *mac_resp,\n\t\t
      \     u8 ver_init, u8 ver_resp,\n\t\t      const u8 *Mx, size_t Mx_len,\n\t\t
      \     const u8 *Nx, size_t Nx_len,\n\t\t      const char *code, size_t code_len,\n\t\t
      \     const u8 *Kx, size_t Kx_len,\n\t\t      u8 *z, unsigned int hash_len)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dpp_set_keypair
      Src: /src/hostap/src/common/dpp_crypto.c:1698,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_crypto.c:1701,1
    - Dst: dpp_parse_jwk
      Src: /src/hostap/src/common/dpp_crypto.c:1705,1
    - Dst: dpp_debug_print_key
      Src: /src/hostap/src/common/dpp_crypto.c:1708,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_crypto.c:1711,1
    - Dst: dpp_gen_keypair
      Src: /src/hostap/src/common/dpp_crypto.c:1717,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/common/dpp_crypto.c:1721,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_crypto.c:1722,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/dpp_crypto.c:1725,1
    - Dst: crypto_ec_init
      Src: /src/hostap/src/common/dpp_crypto.c:1729,1
    - Dst: crypto_bignum_init
      Src: /src/hostap/src/common/dpp_crypto.c:1733,1
    - Dst: crypto_ec_get_order
      Src: /src/hostap/src/common/dpp_crypto.c:1734,1
    - Dst: crypto_ec_point_init
      Src: /src/hostap/src/common/dpp_crypto.c:1735,1
    - Dst: crypto_ec_key_get_private_key
      Src: /src/hostap/src/common/dpp_crypto.c:1736,1
    - Dst: crypto_ec_key_get_private_key
      Src: /src/hostap/src/common/dpp_crypto.c:1737,1
    - Dst: crypto_ec_key_get_public_key
      Src: /src/hostap/src/common/dpp_crypto.c:1738,1
    - Dst: crypto_bignum_addmod
      Src: /src/hostap/src/common/dpp_crypto.c:1740,1
    - Dst: crypto_ec_point_mul
      Src: /src/hostap/src/common/dpp_crypto.c:1741,1
    - Dst: crypto_ec_point_to_bin
      Src: /src/hostap/src/common/dpp_crypto.c:1742,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_crypto.c:1743,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/dpp_crypto.c:1746,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/dpp_crypto.c:1751,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/dpp_crypto.c:1752,1
    - Dst: dpp_hmac
      Src: /src/hostap/src/common/dpp_crypto.c:1753,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/dpp_crypto.c:1756,1
    - Dst: dpp_hkdf_expand
      Src: /src/hostap/src/common/dpp_crypto.c:1759,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/dpp_crypto.c:1762,1
    - Dst: crypto_ec_key_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:1767,1
    - Dst: forced_memzero
      Src: /src/hostap/src/common/dpp_crypto.c:1771,1
    - Dst: forced_memzero
      Src: /src/hostap/src/common/dpp_crypto.c:1772,1
    - Dst: crypto_ec_point_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:1773,1
    - Dst: crypto_ec_point_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:1774,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:1775,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:1776,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:1777,1
    - Dst: crypto_ec_key_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:1778,1
    - Dst: crypto_ec_key_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:1779,1
    - Dst: crypto_ec_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:1780,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 70
    argCount: 4
    argNames:
    - auth
    - net_access_key
    - net_access_key_len
    - peer_net_access_key
    argTypes:
    - struct dpp_authentication*
    - u8*
    - size_t
    - struct json_token*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1782
      start: 1682
    functionDepth: 3
    functionLinenumber: 1682
    functionLinenumberEnd: 1782
    functionName: dpp_reconfig_derive_ke_responder
    functionSourceFile: /src/hostap/src/common/dpp_crypto.c
    functionUses: 1
    functionsReached:
    - crypto_ec_key_get_private_key
    - forced_memzero
    - crypto_ec_deinit
    - crypto_ec_point_init
    - crypto_ec_key_deinit
    - wpa_printf
    - dpp_auth_fail
    - crypto_ec_point_deinit
    - crypto_ec_get_order
    - crypto_bignum_deinit
    - dpp_hmac
    - crypto_ec_point_mul
    - crypto_bignum_addmod
    - wpa_hexdump_key
    - crypto_bignum_init
    - dpp_debug_print_key
    - dpp_set_keypair
    - dpp_gen_keypair
    - crypto_ec_point_to_bin
    - crypto_ec_init
    - random_get_bytes
    - os_memcpy
    - dpp_parse_jwk
    - dpp_hkdf_expand
    - crypto_ec_key_get_public_key
    linkageType: ''
    returnType: int
    signature: "int dpp_reconfig_derive_ke_responder(struct dpp_authentication *auth,\n\t\t\t\t
      \    const u8 *net_access_key,\n\t\t\t\t     size_t net_access_key_len,\n\t\t\t\t
      \    struct json_token *peer_net_access_key)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dpp_set_pubkey_point
      Src: /src/hostap/src/common/dpp_crypto.c:1799,1
    - Dst: dpp_auth_fail
      Src: /src/hostap/src/common/dpp_crypto.c:1802,1
    - Dst: dpp_debug_print_key
      Src: /src/hostap/src/common/dpp_crypto.c:1805,1
    - Dst: crypto_ec_key_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:1806,1
    - Dst: dpp_parse_jwk
      Src: /src/hostap/src/common/dpp_crypto.c:1810,1
    - Dst: dpp_debug_print_key
      Src: /src/hostap/src/common/dpp_crypto.c:1813,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_crypto.c:1815,1
    - Dst: crypto_ec_init
      Src: /src/hostap/src/common/dpp_crypto.c:1822,1
    - Dst: crypto_ec_key_get_private_key
      Src: /src/hostap/src/common/dpp_crypto.c:1826,1
    - Dst: crypto_ec_point_init
      Src: /src/hostap/src/common/dpp_crypto.c:1827,1
    - Dst: crypto_ec_point_init
      Src: /src/hostap/src/common/dpp_crypto.c:1828,1
    - Dst: crypto_ec_key_get_public_key
      Src: /src/hostap/src/common/dpp_crypto.c:1829,1
    - Dst: crypto_ec_key_get_public_key
      Src: /src/hostap/src/common/dpp_crypto.c:1830,1
    - Dst: crypto_ec_point_add
      Src: /src/hostap/src/common/dpp_crypto.c:1832,1
    - Dst: crypto_ec_point_mul
      Src: /src/hostap/src/common/dpp_crypto.c:1833,1
    - Dst: crypto_ec_point_to_bin
      Src: /src/hostap/src/common/dpp_crypto.c:1834,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_crypto.c:1835,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/dpp_crypto.c:1839,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/dpp_crypto.c:1844,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/dpp_crypto.c:1845,1
    - Dst: dpp_hmac
      Src: /src/hostap/src/common/dpp_crypto.c:1846,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/dpp_crypto.c:1849,1
    - Dst: dpp_hkdf_expand
      Src: /src/hostap/src/common/dpp_crypto.c:1852,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/dpp_crypto.c:1855,1
    - Dst: forced_memzero
      Src: /src/hostap/src/common/dpp_crypto.c:1861,1
    - Dst: forced_memzero
      Src: /src/hostap/src/common/dpp_crypto.c:1862,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:1863,1
    - Dst: crypto_ec_key_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:1864,1
    - Dst: crypto_ec_key_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:1865,1
    - Dst: crypto_ec_point_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:1866,1
    - Dst: crypto_ec_point_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:1867,1
    - Dst: crypto_ec_point_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:1868,1
    - Dst: crypto_ec_point_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:1869,1
    - Dst: crypto_ec_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:1870,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 60
    argCount: 4
    argNames:
    - auth
    - r_proto
    - r_proto_len
    - net_access_key
    argTypes:
    - struct dpp_authentication*
    - u8*
    - u16
    - struct json_token*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1872
      start: 1785
    functionDepth: 3
    functionLinenumber: 1785
    functionLinenumberEnd: 1872
    functionName: dpp_reconfig_derive_ke_initiator
    functionSourceFile: /src/hostap/src/common/dpp_crypto.c
    functionUses: 1
    functionsReached:
    - crypto_ec_key_get_private_key
    - forced_memzero
    - crypto_ec_deinit
    - crypto_ec_point_init
    - crypto_ec_point_add
    - crypto_ec_key_deinit
    - wpa_printf
    - dpp_auth_fail
    - crypto_ec_point_deinit
    - crypto_bignum_deinit
    - dpp_hmac
    - crypto_ec_point_mul
    - wpa_hexdump_key
    - dpp_debug_print_key
    - crypto_ec_point_to_bin
    - crypto_ec_init
    - dpp_set_pubkey_point
    - os_memcpy
    - dpp_parse_jwk
    - dpp_hkdf_expand
    - crypto_ec_key_get_public_key
    linkageType: ''
    returnType: int
    signature: "int dpp_reconfig_derive_ke_initiator(struct dpp_authentication *auth,\n\t\t\t\t
      \    const u8 *r_proto, u16 r_proto_len,\n\t\t\t\t     struct json_token *net_access_key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/common/dpp_crypto.c:1881,1
    - Dst: json_start_object
      Src: /src/hostap/src/common/dpp_crypto.c:1884,1
    - Dst: json_add_string
      Src: /src/hostap/src/common/dpp_crypto.c:1885,1
    - Dst: json_value_sep
      Src: /src/hostap/src/common/dpp_crypto.c:1886,1
    - Dst: json_add_string
      Src: /src/hostap/src/common/dpp_crypto.c:1887,1
    - Dst: json_value_sep
      Src: /src/hostap/src/common/dpp_crypto.c:1888,1
    - Dst: json_add_string
      Src: /src/hostap/src/common/dpp_crypto.c:1889,1
    - Dst: json_end_object
      Src: /src/hostap/src/common/dpp_crypto.c:1890,1
    - Dst: base64_url_encode
      Src: /src/hostap/src/common/dpp_crypto.c:1891,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/dpp_crypto.c:1891,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_crypto.c:1892,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_crypto.c:1894,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - conf
    - signed1_len
    argTypes:
    - struct dpp_configurator*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1896
      start: 1875
    functionDepth: 1
    functionLinenumber: 1875
    functionLinenumberEnd: 1896
    functionName: dpp_build_jws_prot_hdr
    functionSourceFile: /src/hostap/src/common/dpp_crypto.c
    functionUses: 0
    functionsReached:
    - json_value_sep
    - json_end_object
    - wpabuf_len
    - wpabuf_free
    - wpabuf_head
    - wpabuf_alloc
    - json_add_string
    - json_start_object
    - base64_url_encode
    linkageType: ''
    returnType: char
    signature: 'char *

      dpp_build_jws_prot_hdr(struct dpp_configurator *conf, size_t *signed1_len)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/common/dpp_crypto.c:1922,1
    - Dst: sha256_vector
      Src: /src/hostap/src/common/dpp_crypto.c:1926,1
    - Dst: sha384_vector
      Src: /src/hostap/src/common/dpp_crypto.c:1928,1
    - Dst: sha512_vector
      Src: /src/hostap/src/common/dpp_crypto.c:1930,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_crypto.c:1932,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_crypto.c:1936,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_crypto.c:1939,1
    - Dst: crypto_ec_key_sign_r_s
      Src: /src/hostap/src/common/dpp_crypto.c:1942,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_crypto.c:1944,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_crypto.c:1948,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/dpp_crypto.c:1949,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_crypto.c:1949,1
    - Dst: base64_url_encode
      Src: /src/hostap/src/common/dpp_crypto.c:1950,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/dpp_crypto.c:1950,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_crypto.c:1950,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp_crypto.c:1954,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_crypto.c:1955,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 6
    argNames:
    - conf
    - signed1
    - signed1_len
    - signed2
    - signed2_len
    - signed3_len
    argTypes:
    - struct dpp_configurator*
    - char*
    - size_t
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1957
      start: 1899
    functionDepth: 1
    functionLinenumber: 1899
    functionLinenumberEnd: 1957
    functionName: dpp_build_conn_signature
    functionSourceFile: /src/hostap/src/common/dpp_crypto.c
    functionUses: 0
    functionsReached:
    - sha256_vector
    - wpa_printf
    - wpa_hexdump
    - sha384_vector
    - wpabuf_len
    - wpabuf_free
    - os_malloc
    - wpabuf_head
    - sha512_vector
    - os_free
    - base64_url_encode
    - crypto_ec_key_sign_r_s
    linkageType: ''
    returnType: char
    signature: "char *\ndpp_build_conn_signature(struct dpp_configurator *conf,\n\t\t\t
      const char *signed1, size_t signed1_len,\n\t\t\t const char *signed2, size_t
      signed2_len,\n\t\t\t size_t *signed3_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dpp_build_jws_prot_hdr
      Src: /src/hostap/src/common/dpp_crypto.c:1966,1
    - Dst: base64_url_encode
      Src: /src/hostap/src/common/dpp_crypto.c:1967,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/dpp_crypto.c:1967,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_crypto.c:1967,1
    - Dst: dpp_build_conn_signature
      Src: /src/hostap/src/common/dpp_crypto.c:1972,1
    - Dst: os_malloc
      Src: /src/hostap/src/common/dpp_crypto.c:1977,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/dpp_crypto.c:1981,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/dpp_crypto.c:1984,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/dpp_crypto.c:1987,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp_crypto.c:1992,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp_crypto.c:1993,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp_crypto.c:1994,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 2
    argNames:
    - conf
    - dppcon
    argTypes:
    - struct dpp_configurator*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1996
      start: 1959
    functionDepth: 2
    functionLinenumber: 1959
    functionLinenumberEnd: 1996
    functionName: dpp_sign_connector
    functionSourceFile: /src/hostap/src/common/dpp_crypto.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    - dpp_build_jws_prot_hdr
    - dpp_build_conn_signature
    - wpabuf_len
    - os_malloc
    - wpabuf_head
    - os_free
    - base64_url_encode
    linkageType: ''
    returnType: char
    signature: "char * dpp_sign_connector(struct dpp_configurator *conf,\n\t\t\t  const
      struct wpabuf *dppcon)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/common/dpp_crypto.c:2008,1
    - Dst: dpp_set_keypair
      Src: /src/hostap/src/common/dpp_crypto.c:2012,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_crypto.c:2015,1
    - Dst: crypto_ec_key_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:2018,1
    - Dst: crypto_ecdh_init
      Src: /src/hostap/src/common/dpp_crypto.c:2020,1
    - Dst: crypto_ecdh_get_pubkey
      Src: /src/hostap/src/common/dpp_crypto.c:2024,1
    - Dst: wpabuf_zeropad
      Src: /src/hostap/src/common/dpp_crypto.c:2025,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/common/dpp_crypto.c:2029,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_crypto.c:2029,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/dpp_crypto.c:2032,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/dpp_crypto.c:2033,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_crypto.c:2033,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/dpp_crypto.c:2034,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_crypto.c:2035,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/common/dpp_crypto.c:2036,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_crypto.c:2037,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/common/dpp_crypto.c:2038,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_crypto.c:2043,1
    - Dst: dpp_pfs_free
      Src: /src/hostap/src/common/dpp_crypto.c:2044,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 2
    argNames:
    - net_access_key
    - net_access_key_len
    argTypes:
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2046
      start: 2001
    functionDepth: 2
    functionLinenumber: 2001
    functionLinenumberEnd: 2046
    functionName: dpp_pfs_init
    functionSourceFile: /src/hostap/src/common/dpp_crypto.c
    functionUses: 1
    functionsReached:
    - crypto_ec_key_deinit
    - wpa_printf
    - dpp_pfs_free
    - wpabuf_put_u8
    - wpabuf_len
    - dpp_set_keypair
    - wpabuf_free
    - wpabuf_put_le16
    - os_zalloc
    - wpabuf_zeropad
    - crypto_ecdh_get_pubkey
    - wpabuf_alloc
    - wpabuf_put_buf
    - crypto_ecdh_init
    - wpa_hexdump_buf
    linkageType: ''
    returnType: struct dpp_pfs
    signature: "struct dpp_pfs * dpp_pfs_init(const u8 *net_access_key,\n\t\t\t      size_t
      net_access_key_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/common/dpp_crypto.c:2053,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_crypto.c:2054,1
    - Dst: crypto_ecdh_set_peerkey
      Src: /src/hostap/src/common/dpp_crypto.c:2058,1
    - Dst: wpabuf_zeropad
      Src: /src/hostap/src/common/dpp_crypto.c:2060,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_crypto.c:2062,1
    - Dst: wpa_hexdump_buf_key
      Src: /src/hostap/src/common/dpp_crypto.c:2065,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - pfs
    - peer_ie
    - peer_ie_len
    argTypes:
    - struct dpp_pfs*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2067
      start: 2049
    functionDepth: 1
    functionLinenumber: 2049
    functionLinenumberEnd: 2067
    functionName: dpp_pfs_process
    functionSourceFile: /src/hostap/src/common/dpp_crypto.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - WPA_GET_LE16
    - crypto_ecdh_set_peerkey
    - wpabuf_zeropad
    - wpa_hexdump_buf_key
    linkageType: ''
    returnType: int
    signature: int dpp_pfs_process(struct dpp_pfs *pfs, const u8 *peer_ie, size_t
      peer_ie_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_ecdh_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:2074,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_crypto.c:2075,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/common/dpp_crypto.c:2076,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp_crypto.c:2077,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pfs
    argTypes:
    - struct dpp_pfs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2078
      start: 2070
    functionDepth: 1
    functionLinenumber: 2070
    functionLinenumberEnd: 2078
    functionName: dpp_pfs_free
    functionSourceFile: /src/hostap/src/common/dpp_crypto.c
    functionUses: 4
    functionsReached:
    - wpabuf_free
    - os_free
    - crypto_ecdh_deinit
    - wpabuf_clear_free
    linkageType: ''
    returnType: void
    signature: void dpp_pfs_free(struct dpp_pfs *pfs)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: crypto_ec_key_get_ecprivate_key
      Src: /src/hostap/src/common/dpp_crypto.c:2099,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_crypto.c:2102,1
    - Dst: crypto_csr_init
      Src: /src/hostap/src/common/dpp_crypto.c:2105,1
    - Dst: crypto_csr_set_ec_public_key
      Src: /src/hostap/src/common/dpp_crypto.c:2106,1
    - Dst: crypto_csr_set_name
      Src: /src/hostap/src/common/dpp_crypto.c:2109,1
    - Dst: dpp_hkdf_expand
      Src: /src/hostap/src/common/dpp_crypto.c:2113,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/dpp_crypto.c:2116,1
    - Dst: base64_encode_no_lf
      Src: /src/hostap/src/common/dpp_crypto.c:2119,1
    - Dst: forced_memzero
      Src: /src/hostap/src/common/dpp_crypto.c:2120,1
    - Dst: crypto_csr_set_attribute
      Src: /src/hostap/src/common/dpp_crypto.c:2122,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_crypto.c:2135,1
    - Dst: crypto_csr_sign
      Src: /src/hostap/src/common/dpp_crypto.c:2139,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/common/dpp_crypto.c:2142,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/common/dpp_crypto.c:2145,1
    - Dst: crypto_csr_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:2146,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 47
    argCount: 2
    argNames:
    - auth
    - name
    argTypes:
    - struct dpp_authentication*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2148
      start: 2081
    functionDepth: 3
    functionLinenumber: 2081
    functionLinenumberEnd: 2148
    functionName: dpp_build_csr
    functionSourceFile: /src/hostap/src/common/dpp_crypto.c
    functionUses: 2
    functionsReached:
    - wpa_hexdump_key
    - wpa_printf
    - crypto_csr_sign
    - crypto_csr_init
    - crypto_csr_set_ec_public_key
    - forced_memzero
    - wpabuf_free
    - crypto_csr_set_attribute
    - wpa_hexdump_buf
    - base64_encode_no_lf
    - bin_clear_free
    - dpp_hkdf_expand
    - crypto_csr_deinit
    - crypto_csr_set_name
    - crypto_ec_key_get_ecprivate_key
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * dpp_build_csr(struct dpp_authentication *auth, const
      char *name)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: crypto_csr_verify
      Src: /src/hostap/src/common/dpp_crypto.c:2164,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_crypto.c:2166,1
    - Dst: crypto_csr_get_attribute
      Src: /src/hostap/src/common/dpp_crypto.c:2171,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_crypto.c:2174,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_crypto.c:2183,1
    - Dst: base64_decode
      Src: /src/hostap/src/common/dpp_crypto.c:2189,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_crypto.c:2191,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_crypto.c:2196,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/dpp_crypto.c:2201,1
    - Dst: dpp_hkdf_expand
      Src: /src/hostap/src/common/dpp_crypto.c:2205,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/dpp_crypto.c:2208,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/common/dpp_crypto.c:2211,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_crypto.c:2212,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp_crypto.c:2219,1
    - Dst: crypto_csr_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:2220,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 2
    argNames:
    - auth
    - csrbuf
    argTypes:
    - struct dpp_authentication*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2222
      start: 2151
    functionDepth: 3
    functionLinenumber: 2151
    functionLinenumberEnd: 2222
    functionName: dpp_validate_csr
    functionSourceFile: /src/hostap/src/common/dpp_crypto.c
    functionUses: 1
    functionsReached:
    - crypto_csr_verify
    - wpa_printf
    - wpa_hexdump_key
    - os_memcmp_const
    - base64_decode
    - dpp_hkdf_expand
    - crypto_csr_get_attribute
    - os_free
    - crypto_csr_deinit
    linkageType: ''
    returnType: int
    signature: "int dpp_validate_csr(struct dpp_authentication *auth,\n\t\t     const
      struct wpabuf *csrbuf)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: crypto_ec_key_parse_pub
      Src: /src/hostap/src/common/dpp_crypto.c:2238,1
    - Dst: crypto_ec_key_parse_pub
      Src: /src/hostap/src/common/dpp_crypto.c:2244,1
    - Dst: crypto_ec_init
      Src: /src/hostap/src/common/dpp_crypto.c:2248,1
    - Dst: crypto_ec_key_group
      Src: /src/hostap/src/common/dpp_crypto.c:2248,1
    - Dst: crypto_ec_point_init
      Src: /src/hostap/src/common/dpp_crypto.c:2252,1
    - Dst: crypto_bignum_init
      Src: /src/hostap/src/common/dpp_crypto.c:2253,1
    - Dst: crypto_ec_get_order
      Src: /src/hostap/src/common/dpp_crypto.c:2254,1
    - Dst: crypto_ec_get_generator
      Src: /src/hostap/src/common/dpp_crypto.c:2255,1
    - Dst: crypto_bignum_rand
      Src: /src/hostap/src/common/dpp_crypto.c:2257,1
    - Dst: crypto_ec_point_mul
      Src: /src/hostap/src/common/dpp_crypto.c:2258,1
    - Dst: crypto_ec_point_debug_print
      Src: /src/hostap/src/common/dpp_crypto.c:2261,1
    - Dst: os_zalloc
      Src: /src/hostap/src/common/dpp_crypto.c:2264,1
    - Dst: crypto_ec_point_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:2277,1
    - Dst: crypto_ec_key_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:2278,1
    - Dst: crypto_ec_key_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:2279,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:2280,1
    - Dst: crypto_ec_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:2281,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 44
    argCount: 4
    argNames:
    - csign_key
    - csign_key_len
    - pp_key
    - pp_key_len
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2283
      start: 2225
    functionDepth: 0
    functionLinenumber: 2225
    functionLinenumberEnd: 2283
    functionName: dpp_gen_reconfig_id
    functionSourceFile: /src/hostap/src/common/dpp_crypto.c
    functionUses: 1
    functionsReached:
    - crypto_ec_key_deinit
    - crypto_bignum_init
    - crypto_ec_point_deinit
    - crypto_ec_deinit
    - crypto_ec_get_order
    - crypto_ec_key_group
    - crypto_bignum_deinit
    - os_zalloc
    - crypto_ec_point_init
    - crypto_ec_key_parse_pub
    - crypto_ec_point_mul
    - crypto_bignum_rand
    - crypto_ec_get_generator
    - crypto_ec_init
    - crypto_ec_point_debug_print
    linkageType: ''
    returnType: struct dpp_reconfig_id
    signature: "struct dpp_reconfig_id * dpp_gen_reconfig_id(const u8 *csign_key,\n\t\t\t\t\t
      \    size_t csign_key_len,\n\t\t\t\t\t     const u8 *pp_key,\n\t\t\t\t\t     size_t
      pp_key_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: crypto_ec_key_get_public_key
      Src: /src/hostap/src/common/dpp_crypto.c:2294,1
    - Dst: crypto_ec_point_init
      Src: /src/hostap/src/common/dpp_crypto.c:2295,1
    - Dst: crypto_ec_point_init
      Src: /src/hostap/src/common/dpp_crypto.c:2296,1
    - Dst: crypto_bignum_init
      Src: /src/hostap/src/common/dpp_crypto.c:2297,1
    - Dst: crypto_ec_get_order
      Src: /src/hostap/src/common/dpp_crypto.c:2298,1
    - Dst: crypto_ec_get_generator
      Src: /src/hostap/src/common/dpp_crypto.c:2299,1
    - Dst: crypto_bignum_rand
      Src: /src/hostap/src/common/dpp_crypto.c:2305,1
    - Dst: crypto_ec_point_mul
      Src: /src/hostap/src/common/dpp_crypto.c:2306,1
    - Dst: crypto_ec_point_mul
      Src: /src/hostap/src/common/dpp_crypto.c:2307,1
    - Dst: crypto_ec_point_add
      Src: /src/hostap/src/common/dpp_crypto.c:2308,1
    - Dst: crypto_ec_point_debug_print
      Src: /src/hostap/src/common/dpp_crypto.c:2311,1
    - Dst: crypto_ec_point_debug_print
      Src: /src/hostap/src/common/dpp_crypto.c:2313,1
    - Dst: crypto_ec_key_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:2316,1
    - Dst: crypto_ec_key_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:2317,1
    - Dst: crypto_ec_key_set_pub_point
      Src: /src/hostap/src/common/dpp_crypto.c:2318,1
    - Dst: crypto_ec_key_set_pub_point
      Src: /src/hostap/src/common/dpp_crypto.c:2319,1
    - Dst: crypto_ec_point_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:2326,1
    - Dst: crypto_ec_point_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:2327,1
    - Dst: crypto_ec_point_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:2328,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:2329,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 1
    argNames:
    - id
    argTypes:
    - struct dpp_reconfig_id*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2331
      start: 2286
    functionDepth: 0
    functionLinenumber: 2286
    functionLinenumberEnd: 2331
    functionName: dpp_update_reconfig_id
    functionSourceFile: /src/hostap/src/common/dpp_crypto.c
    functionUses: 1
    functionsReached:
    - crypto_ec_key_deinit
    - crypto_ec_point_mul
    - crypto_bignum_init
    - crypto_ec_key_set_pub_point
    - crypto_ec_point_deinit
    - crypto_ec_get_order
    - crypto_bignum_deinit
    - crypto_ec_point_init
    - crypto_ec_point_add
    - crypto_ec_key_get_public_key
    - crypto_ec_get_generator
    - crypto_bignum_rand
    - crypto_ec_point_debug_print
    linkageType: ''
    returnType: int
    signature: int dpp_update_reconfig_id(struct dpp_reconfig_id *id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crypto_ec_point_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:2337,1
    - Dst: crypto_ec_key_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:2338,1
    - Dst: crypto_ec_key_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:2339,1
    - Dst: crypto_ec_key_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:2340,1
    - Dst: crypto_ec_key_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:2341,1
    - Dst: crypto_ec_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:2342,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp_crypto.c:2343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - id
    argTypes:
    - struct dpp_reconfig_id*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2345
      start: 2334
    functionDepth: 0
    functionLinenumber: 2334
    functionLinenumberEnd: 2345
    functionName: dpp_free_reconfig_id
    functionSourceFile: /src/hostap/src/common/dpp_crypto.c
    functionUses: 2
    functionsReached:
    - crypto_ec_key_deinit
    - os_free
    - crypto_ec_point_deinit
    - crypto_ec_deinit
    linkageType: ''
    returnType: void
    signature: void dpp_free_reconfig_id(struct dpp_reconfig_id *id)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: crypto_ec_init
      Src: /src/hostap/src/common/dpp_crypto.c:2361,1
    - Dst: crypto_ec_key_group
      Src: /src/hostap/src/common/dpp_crypto.c:2361,1
    - Dst: crypto_ec_key_get_private_key
      Src: /src/hostap/src/common/dpp_crypto.c:2365,1
    - Dst: crypto_ec_key_get_public_key
      Src: /src/hostap/src/common/dpp_crypto.c:2366,1
    - Dst: crypto_ec_key_get_public_key
      Src: /src/hostap/src/common/dpp_crypto.c:2367,1
    - Dst: crypto_ec_point_init
      Src: /src/hostap/src/common/dpp_crypto.c:2368,1
    - Dst: crypto_ec_point_mul
      Src: /src/hostap/src/common/dpp_crypto.c:2370,1
    - Dst: crypto_ec_point_invert
      Src: /src/hostap/src/common/dpp_crypto.c:2371,1
    - Dst: crypto_ec_point_add
      Src: /src/hostap/src/common/dpp_crypto.c:2372,1
    - Dst: crypto_ec_point_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:2373,1
    - Dst: crypto_ec_point_debug_print
      Src: /src/hostap/src/common/dpp_crypto.c:2378,1
    - Dst: crypto_ec_point_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:2381,1
    - Dst: crypto_ec_point_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:2382,1
    - Dst: crypto_bignum_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:2383,1
    - Dst: crypto_ec_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:2384,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 3
    argNames:
    - ppkey
    - a_nonce
    - e_prime_id
    argTypes:
    - struct crypto_ec_key*
    - struct crypto_ec_key*
    - struct crypto_ec_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2386
      start: 2348
    functionDepth: 0
    functionLinenumber: 2348
    functionLinenumberEnd: 2386
    functionName: dpp_decrypt_e_id
    functionSourceFile: /src/hostap/src/common/dpp_crypto.c
    functionUses: 1
    functionsReached:
    - crypto_ec_key_get_private_key
    - crypto_ec_point_deinit
    - crypto_ec_deinit
    - crypto_ec_point_invert
    - crypto_ec_key_group
    - crypto_bignum_deinit
    - crypto_ec_point_init
    - crypto_ec_point_add
    - crypto_ec_point_mul
    - crypto_ec_key_get_public_key
    - crypto_ec_init
    - crypto_ec_point_debug_print
    linkageType: ''
    returnType: struct crypto_ec_point
    signature: "struct crypto_ec_point * dpp_decrypt_e_id(struct crypto_ec_key *ppkey,\n\t\t\t\t\t
      \ struct crypto_ec_key *a_nonce,\n\t\t\t\t\t  struct crypto_ec_key *e_prime_id)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dpp_ecdh
      Src: /src/hostap/src/common/dpp_crypto.c:2422,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/dpp_crypto.c:2426,1
    - Dst: dpp_hmac_vector
      Src: /src/hostap/src/common/dpp_crypto.c:2431,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/dpp_crypto.c:2434,1
    - Dst: dpp_hkdf_expand
      Src: /src/hostap/src/common/dpp_crypto.c:2438,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/dpp_crypto.c:2442,1
    - Dst: crypto_ec_key_get_pubkey_point
      Src: /src/hostap/src/common/dpp_crypto.c:2451,1
    - Dst: crypto_ec_key_get_pubkey_point
      Src: /src/hostap/src/common/dpp_crypto.c:2452,1
    - Dst: crypto_ec_key_get_pubkey_point
      Src: /src/hostap/src/common/dpp_crypto.c:2455,1
    - Dst: crypto_ec_key_get_pubkey_point
      Src: /src/hostap/src/common/dpp_crypto.c:2457,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/dpp_crypto.c:2461,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_crypto.c:2462,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/dpp_crypto.c:2463,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_crypto.c:2464,1
    - Dst: dpp_hmac_vector
      Src: /src/hostap/src/common/dpp_crypto.c:2466,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/dpp_crypto.c:2468,1
    - Dst: forced_memzero
      Src: /src/hostap/src/common/dpp_crypto.c:2473,1
    - Dst: forced_memzero
      Src: /src/hostap/src/common/dpp_crypto.c:2474,1
    - Dst: forced_memzero
      Src: /src/hostap/src/common/dpp_crypto.c:2475,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_crypto.c:2476,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_crypto.c:2477,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 2
    argNames:
    - auth
    - auth_i
    argTypes:
    - struct dpp_authentication*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2479
      start: 2393
    functionDepth: 3
    functionLinenumber: 2393
    functionLinenumberEnd: 2479
    functionName: dpp_derive_auth_i
    functionSourceFile: /src/hostap/src/common/dpp_crypto.c
    functionUses: 1
    functionsReached:
    - dpp_hmac_vector
    - wpa_hexdump_key
    - wpabuf_len
    - crypto_ec_key_get_pubkey_point
    - forced_memzero
    - wpabuf_free
    - wpabuf_head
    - dpp_hkdf_expand
    - dpp_ecdh
    linkageType: ''
    returnType: int
    signature: int dpp_derive_auth_i(struct dpp_authentication *auth, u8 *auth_i)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 34
    argCount: 4
    argNames:
    - iana_group
    - kem_id
    - kdf_id
    - aead_id
    argTypes:
    - int
    - enum hpke_kem_id*
    - enum hpke_kdf_id*
    - enum hpke_aead_id*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2519
      start: 2482
    functionDepth: 0
    functionLinenumber: 2482
    functionLinenumberEnd: 2519
    functionName: dpp_hpke_suite
    functionSourceFile: /src/hostap/src/common/dpp_crypto.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int dpp_hpke_suite(int iana_group, enum hpke_kem_id *kem_id,\n\t\t
      \  enum hpke_kdf_id *kdf_id, enum hpke_aead_id *aead_id)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: crypto_ec_init
      Src: /src/hostap/src/common/dpp_crypto.c:2535,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/common/dpp_crypto.c:2536,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/common/dpp_crypto.c:2537,1
    - Dst: crypto_ec_key_gen
      Src: /src/hostap/src/common/dpp_crypto.c:2543,1
    - Dst: crypto_ec_key_get_public_key
      Src: /src/hostap/src/common/dpp_crypto.c:2548,1
    - Dst: crypto_ec_point_to_bin
      Src: /src/hostap/src/common/dpp_crypto.c:2549,1
    - Dst: crypto_ec_point_from_bin
      Src: /src/hostap/src/common/dpp_crypto.c:2554,1
    - Dst: crypto_ec_point_is_on_curve
      Src: /src/hostap/src/common/dpp_crypto.c:2555,1
    - Dst: crypto_ec_point_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:2556,1
    - Dst: crypto_ec_point_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:2563,1
    - Dst: crypto_ec_point_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:2564,1
    - Dst: crypto_ec_key_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:2565,1
    - Dst: crypto_ec_deinit
      Src: /src/hostap/src/common/dpp_crypto.c:2566,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 2
    argNames:
    - msg
    - curve
    argTypes:
    - struct wpabuf*
    - struct dpp_curve_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2568
      start: 2526
    functionDepth: 1
    functionLinenumber: 2526
    functionLinenumberEnd: 2568
    functionName: dpp_test_gen_invalid_key
    functionSourceFile: /src/hostap/src/common/dpp_crypto.c
    functionUses: 2
    functionsReached:
    - crypto_ec_key_deinit
    - wpabuf_put
    - crypto_ec_point_deinit
    - crypto_ec_deinit
    - crypto_ec_point_is_on_curve
    - crypto_ec_point_from_bin
    - crypto_ec_key_gen
    - crypto_ec_point_to_bin
    - crypto_ec_key_get_public_key
    - crypto_ec_init
    linkageType: ''
    returnType: int
    signature: "int dpp_test_gen_invalid_key(struct wpabuf *msg,\n\t\t\t     const
      struct dpp_curve_params *curve)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/common/dpp_crypto.c:2577,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/dpp_crypto.c:2577,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/dpp_crypto.c:2580,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/dpp_crypto.c:2580,1
    - Dst: os_strchr
      Src: /src/hostap/src/common/dpp_crypto.c:2582,1
    - Dst: os_strchr
      Src: /src/hostap/src/common/dpp_crypto.c:2586,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_crypto.c:2591,1
    - Dst: base64_url_decode
      Src: /src/hostap/src/common/dpp_crypto.c:2593,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/dpp_crypto.c:2593,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_crypto.c:2596,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_crypto.c:2599,1
    - Dst: base64_url_encode
      Src: /src/hostap/src/common/dpp_crypto.c:2601,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/dpp_crypto.c:2604,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_crypto.c:2606,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp_crypto.c:2610,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp_crypto.c:2611,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp_crypto.c:2614,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 1
    argNames:
    - connector
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2617
      start: 2571
    functionDepth: 1
    functionLinenumber: 2571
    functionLinenumberEnd: 2617
    functionName: dpp_corrupt_connector_signature
    functionSourceFile: /src/hostap/src/common/dpp_crypto.c
    functionUses: 1
    functionsReached:
    - os_strlen
    - base64_url_decode
    - wpa_printf
    - os_memcpy
    - wpa_hexdump
    - os_zalloc
    - os_free
    - os_strchr
    - base64_url_encode
    linkageType: ''
    returnType: char
    signature: char * dpp_corrupt_connector_signature(const char *connector)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - gas
    argTypes:
    - struct gas_server*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: gas_server_deinit
    functionSourceFile: /src/hostap/src/common/gas_server.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gas_server_deinit(struct gas_server *gas)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_pkex.c:39,1
    - Dst: dpp_pkex_derive_Qi
      Src: /src/hostap/src/common/dpp_pkex.c:43,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_pkex.c:53,1
    - Dst: dpp_set_keypair
      Src: /src/hostap/src/common/dpp_pkex.c:55,1
    - Dst: dpp_gen_keypair
      Src: /src/hostap/src/common/dpp_pkex.c:59,1
    - Dst: dpp_gen_keypair
      Src: /src/hostap/src/common/dpp_pkex.c:62,1
    - Dst: crypto_ec_key_get_public_key
      Src: /src/hostap/src/common/dpp_pkex.c:68,1
    - Dst: crypto_ec_point_init
      Src: /src/hostap/src/common/dpp_pkex.c:69,1
    - Dst: crypto_ec_point_debug_print
      Src: /src/hostap/src/common/dpp_pkex.c:72,1
    - Dst: crypto_ec_point_add
      Src: /src/hostap/src/common/dpp_pkex.c:74,1
    - Dst: crypto_ec_point_debug_print
      Src: /src/hostap/src/common/dpp_pkex.c:76,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/dpp_pkex.c:85,1
    - Dst: dpp_alloc_msg
      Src: /src/hostap/src/common/dpp_pkex.c:87,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_pkex.c:95,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_pkex.c:96,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/dpp_pkex.c:97,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_pkex.c:103,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_pkex.c:109,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_pkex.c:110,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_pkex.c:111,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_pkex.c:119,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_pkex.c:120,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/dpp_pkex.c:120,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/common/dpp_pkex.c:121,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_pkex.c:126,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_pkex.c:132,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_pkex.c:133,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_pkex.c:137,1
    - Dst: dpp_test_gen_invalid_key
      Src: /src/hostap/src/common/dpp_pkex.c:138,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/common/dpp_pkex.c:144,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/common/dpp_pkex.c:145,1
    - Dst: crypto_ec_point_to_bin
      Src: /src/hostap/src/common/dpp_pkex.c:146,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_pkex.c:148,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/common/dpp_pkex.c:149,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/dpp_pkex.c:151,1
    - Dst: crypto_ec_point_deinit
      Src: /src/hostap/src/common/dpp_pkex.c:154,1
    - Dst: crypto_ec_point_deinit
      Src: /src/hostap/src/common/dpp_pkex.c:155,1
    - Dst: crypto_ec_point_deinit
      Src: /src/hostap/src/common/dpp_pkex.c:156,1
    - Dst: crypto_ec_deinit
      Src: /src/hostap/src/common/dpp_pkex.c:157,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_pkex.c:160,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_pkex.c:161,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 94
    argCount: 2
    argNames:
    - pkex
    - v2
    argTypes:
    - struct dpp_pkex*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 29
    functionDepth: 3
    functionLinenumber: 29
    functionLinenumberEnd: 164
    functionName: dpp_pkex_build_exchange_req
    functionSourceFile: /src/hostap/src/common/dpp_pkex.c
    functionUses: 0
    functionsReached:
    - wpabuf_put_str
    - crypto_ec_deinit
    - crypto_ec_point_init
    - crypto_ec_point_add
    - crypto_ec_point_debug_print
    - os_strlen
    - wpa_printf
    - crypto_ec_point_deinit
    - dpp_pkex_derive_Qi
    - wpabuf_put_u8
    - dpp_set_keypair
    - wpabuf_alloc_copy
    - dpp_gen_keypair
    - crypto_ec_point_to_bin
    - dpp_test_gen_invalid_key
    - wpabuf_put
    - os_memcpy
    - dpp_alloc_msg
    - wpabuf_free
    - wpabuf_put_le16
    - crypto_ec_key_get_public_key
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * dpp_pkex_build_exchange_req(struct dpp_pkex *pkex,\n\t\t\t\t\t\t
      \  bool v2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/src/common/dpp_pkex.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pkex
    - txt
    argTypes:
    - struct dpp_pkex*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: dpp_pkex_fail
    functionSourceFile: /src/hostap/src/common/dpp_pkex.c
    functionUses: 0
    functionsReached:
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: void dpp_pkex_fail(struct dpp_pkex *pkex, const char *txt)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/common/dpp_pkex.c:181,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_pkex.c:182,1
    - Dst: MAC2STR
      Src: /src/hostap/src/common/dpp_pkex.c:183,1
    - Dst: os_zalloc
      Src: /src/hostap/src/common/dpp_pkex.c:188,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/dpp_pkex.c:195,1
    - Dst: os_strdup
      Src: /src/hostap/src/common/dpp_pkex.c:197,1
    - Dst: os_memdup
      Src: /src/hostap/src/common/dpp_pkex.c:201,1
    - Dst: dpp_pkex_build_exchange_req
      Src: /src/hostap/src/common/dpp_pkex.c:205,1
    - Dst: dpp_pkex_free
      Src: /src/hostap/src/common/dpp_pkex.c:210,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 7
    argNames:
    - msg_ctx
    - bi
    - own_mac
    - identifier
    - code
    - code_len
    - v2
    argTypes:
    - void*
    - struct dpp_bootstrap_info*
    - u8*
    - char*
    - char*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 173
    functionDepth: 4
    functionLinenumber: 173
    functionLinenumberEnd: 212
    functionName: dpp_pkex_init
    functionSourceFile: /src/hostap/src/common/dpp_pkex.c
    functionUses: 8
    functionsReached:
    - wpa_printf
    - os_memcpy
    - os_memdup
    - dpp_pkex_build_exchange_req
    - is_zero_ether_addr
    - MAC2STR
    - os_zalloc
    - dpp_pkex_free
    - os_strdup
    linkageType: ''
    returnType: struct dpp_pkex
    signature: "struct dpp_pkex * dpp_pkex_init(void *msg_ctx, struct dpp_bootstrap_info
      *bi,\n\t\t\t\tconst u8 *own_mac,\n\t\t\t\tconst char *identifier, const char
      *code,\n\t\t\t\tsize_t code_len, bool v2)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/common/dpp_pkex.c:232,1
    - Dst: dpp_alloc_msg
      Src: /src/hostap/src/common/dpp_pkex.c:234,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_pkex.c:240,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_pkex.c:245,1
    - Dst: dpp_build_attr_status
      Src: /src/hostap/src/common/dpp_pkex.c:251,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_pkex.c:260,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_pkex.c:261,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/dpp_pkex.c:262,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_pkex.c:268,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_pkex.c:269,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/dpp_pkex.c:269,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/common/dpp_pkex.c:270,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_pkex.c:278,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_pkex.c:284,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_pkex.c:285,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_pkex.c:289,1
    - Dst: dpp_test_gen_invalid_key
      Src: /src/hostap/src/common/dpp_pkex.c:290,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/common/dpp_pkex.c:296,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/common/dpp_pkex.c:297,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/dpp_pkex.c:298,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_pkex.c:303,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_pkex.c:304,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_pkex.c:305,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_pkex.c:310,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 67
    argCount: 4
    argNames:
    - pkex
    - status
    - Nx
    - Ny
    argTypes:
    - struct dpp_pkex*
    - enum dpp_status_error
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 312
    functionName: dpp_pkex_build_exchange_resp
    functionSourceFile: /src/hostap/src/common/dpp_pkex.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - os_memcpy
    - wpabuf_put_u8
    - wpabuf_put_data
    - wpabuf_put_str
    - dpp_alloc_msg
    - wpabuf_free
    - wpabuf_put_le16
    - dpp_test_gen_invalid_key
    - dpp_build_attr_status
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf *\ndpp_pkex_build_exchange_resp(struct dpp_pkex *pkex,\n\t\t\t
      \    enum dpp_status_error status,\n\t\t\t     const u8 *Nx, const u8 *Ny)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_pkex.c:319,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_pkex.c:325,1
    - Dst: os_strlen
      Src: /src/hostap/src/common/dpp_pkex.c:331,1
    - Dst: os_memcmp
      Src: /src/hostap/src/common/dpp_pkex.c:332,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_pkex.c:333,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - attr_id
    - attr_id_len
    - identifier
    argTypes:
    - u8*
    - u16
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 338
    functionName: dpp_pkex_identifier_match
    functionSourceFile: /src/hostap/src/common/dpp_pkex.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - os_memcmp
    linkageType: ''
    returnType: int
    signature: "int dpp_pkex_identifier_match(const u8 *attr_id, u16 attr_id_len,\n\t\t\t\t
      \    const char *identifier)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/src/common/dpp_pkex.c:364,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp_pkex.c:374,1
    - Dst: wpa_msg
      Src: /src/hostap/src/common/dpp_pkex.c:377,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_pkex.c:382,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/common/dpp_pkex.c:388,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_pkex.c:389,1
    - Dst: MAC2STR
      Src: /src/hostap/src/common/dpp_pkex.c:390,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/common/dpp_pkex.c:393,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_pkex.c:394,1
    - Dst: MAC2STR
      Src: /src/hostap/src/common/dpp_pkex.c:395,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp_pkex.c:401,1
    - Dst: dpp_pkex_identifier_match
      Src: /src/hostap/src/common/dpp_pkex.c:403,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp_pkex.c:406,1
    - Dst: wpa_msg
      Src: /src/hostap/src/common/dpp_pkex.c:409,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/common/dpp_pkex.c:413,1
    - Dst: wpa_msg
      Src: /src/hostap/src/common/dpp_pkex.c:415,1
    - Dst: os_zalloc
      Src: /src/hostap/src/common/dpp_pkex.c:418,1
    - Dst: dpp_pkex_build_exchange_resp
      Src: /src/hostap/src/common/dpp_pkex.c:425,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp_pkex.c:433,1
    - Dst: wpa_msg
      Src: /src/hostap/src/common/dpp_pkex.c:437,1
    - Dst: dpp_pkex_derive_Qi
      Src: /src/hostap/src/common/dpp_pkex.c:443,1
    - Dst: crypto_ec_point_init
      Src: /src/hostap/src/common/dpp_pkex.c:449,1
    - Dst: crypto_ec_point_from_bin
      Src: /src/hostap/src/common/dpp_pkex.c:450,1
    - Dst: crypto_ec_point_is_at_infinity
      Src: /src/hostap/src/common/dpp_pkex.c:452,1
    - Dst: crypto_ec_point_is_on_curve
      Src: /src/hostap/src/common/dpp_pkex.c:453,1
    - Dst: crypto_ec_point_invert
      Src: /src/hostap/src/common/dpp_pkex.c:454,1
    - Dst: crypto_ec_point_add
      Src: /src/hostap/src/common/dpp_pkex.c:455,1
    - Dst: crypto_ec_point_is_at_infinity
      Src: /src/hostap/src/common/dpp_pkex.c:456,1
    - Dst: crypto_ec_point_is_on_curve
      Src: /src/hostap/src/common/dpp_pkex.c:457,1
    - Dst: wpa_msg
      Src: /src/hostap/src/common/dpp_pkex.c:458,1
    - Dst: crypto_ec_point_debug_print
      Src: /src/hostap/src/common/dpp_pkex.c:463,1
    - Dst: crypto_ec_point_debug_print
      Src: /src/hostap/src/common/dpp_pkex.c:464,1
    - Dst: os_zalloc
      Src: /src/hostap/src/common/dpp_pkex.c:466,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/dpp_pkex.c:475,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/dpp_pkex.c:477,1
    - Dst: os_strdup
      Src: /src/hostap/src/common/dpp_pkex.c:479,1
    - Dst: os_memdup
      Src: /src/hostap/src/common/dpp_pkex.c:483,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/dpp_pkex.c:488,1
    - Dst: os_malloc
      Src: /src/hostap/src/common/dpp_pkex.c:490,1
    - Dst: os_malloc
      Src: /src/hostap/src/common/dpp_pkex.c:491,1
    - Dst: crypto_ec_point_to_bin
      Src: /src/hostap/src/common/dpp_pkex.c:493,1
    - Dst: crypto_ec_key_set_pub
      Src: /src/hostap/src/common/dpp_pkex.c:496,1
    - Dst: crypto_ec_prime_len
      Src: /src/hostap/src/common/dpp_pkex.c:497,1
    - Dst: dpp_pkex_derive_Qr
      Src: /src/hostap/src/common/dpp_pkex.c:502,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_pkex.c:512,1
    - Dst: dpp_set_keypair
      Src: /src/hostap/src/common/dpp_pkex.c:514,1
    - Dst: dpp_gen_keypair
      Src: /src/hostap/src/common/dpp_pkex.c:518,1
    - Dst: dpp_gen_keypair
      Src: /src/hostap/src/common/dpp_pkex.c:521,1
    - Dst: crypto_ec_key_get_public_key
      Src: /src/hostap/src/common/dpp_pkex.c:527,1
    - Dst: crypto_ec_point_debug_print
      Src: /src/hostap/src/common/dpp_pkex.c:530,1
    - Dst: crypto_ec_point_init
      Src: /src/hostap/src/common/dpp_pkex.c:532,1
    - Dst: crypto_ec_point_add
      Src: /src/hostap/src/common/dpp_pkex.c:534,1
    - Dst: crypto_ec_point_to_bin
      Src: /src/hostap/src/common/dpp_pkex.c:535,1
    - Dst: crypto_ec_point_debug_print
      Src: /src/hostap/src/common/dpp_pkex.c:537,1
    - Dst: dpp_pkex_build_exchange_resp
      Src: /src/hostap/src/common/dpp_pkex.c:539,1
    - Dst: dpp_ecdh
      Src: /src/hostap/src/common/dpp_pkex.c:545,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/dpp_pkex.c:548,1
    - Dst: dpp_pkex_derive_z
      Src: /src/hostap/src/common/dpp_pkex.c:552,1
    - Dst: os_memset
      Src: /src/hostap/src/common/dpp_pkex.c:559,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp_pkex.c:566,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp_pkex.c:567,1
    - Dst: crypto_ec_point_deinit
      Src: /src/hostap/src/common/dpp_pkex.c:568,1
    - Dst: crypto_ec_point_deinit
      Src: /src/hostap/src/common/dpp_pkex.c:569,1
    - Dst: crypto_ec_point_deinit
      Src: /src/hostap/src/common/dpp_pkex.c:570,1
    - Dst: crypto_ec_point_deinit
      Src: /src/hostap/src/common/dpp_pkex.c:571,1
    - Dst: crypto_ec_point_deinit
      Src: /src/hostap/src/common/dpp_pkex.c:572,1
    - Dst: crypto_ec_point_deinit
      Src: /src/hostap/src/common/dpp_pkex.c:573,1
    - Dst: crypto_ec_deinit
      Src: /src/hostap/src/common/dpp_pkex.c:574,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_pkex.c:577,1
    - Dst: dpp_pkex_free
      Src: /src/hostap/src/common/dpp_pkex.c:578,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 158
    argCount: 10
    argNames:
    - msg_ctx
    - bi
    - own_mac
    - peer_mac
    - identifier
    - code
    - code_len
    - buf
    - len
    - v2
    argTypes:
    - void*
    - struct dpp_bootstrap_info*
    - u8*
    - u8*
    - char*
    - char*
    - size_t
    - u8*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 341
    functionDepth: 3
    functionLinenumber: 341
    functionLinenumberEnd: 581
    functionName: dpp_pkex_rx_exchange_req
    functionSourceFile: /src/hostap/src/common/dpp_pkex.c
    functionUses: 3
    functionsReached:
    - crypto_ec_deinit
    - WPA_GET_LE16
    - crypto_ec_point_is_at_infinity
    - crypto_ec_point_invert
    - crypto_ec_point_init
    - crypto_ec_point_add
    - crypto_ec_prime_len
    - crypto_ec_point_debug_print
    - dpp_pkex_identifier_match
    - wpa_printf
    - os_memdup
    - crypto_ec_point_deinit
    - dpp_pkex_derive_z
    - dpp_pkex_derive_Qi
    - os_free
    - dpp_pkex_build_exchange_resp
    - wpa_hexdump_key
    - is_zero_ether_addr
    - os_malloc
    - dpp_pkex_derive_Qr
    - dpp_set_keypair
    - crypto_ec_key_set_pub
    - dpp_gen_keypair
    - dpp_pkex_free
    - crypto_ec_point_from_bin
    - crypto_ec_point_is_on_curve
    - crypto_ec_point_to_bin
    - os_strdup
    - dpp_ecdh
    - os_memset
    - os_memcpy
    - wpa_msg
    - MAC2STR
    - os_zalloc
    - dpp_get_attr
    - crypto_ec_key_get_public_key
    linkageType: ''
    returnType: struct dpp_pkex
    signature: "struct dpp_pkex * dpp_pkex_rx_exchange_req(void *msg_ctx,\n\t\t\t\t\t
      \  struct dpp_bootstrap_info *bi,\n\t\t\t\t\t   const u8 *own_mac,\n\t\t\t\t\t
      \  const u8 *peer_mac,\n\t\t\t\t\t   const char *identifier,\n\t\t\t\t\t   const
      char *code, size_t code_len,\n\t\t\t\t\t   const u8 *buf, size_t len, bool v2)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/common/dpp_pkex.c:599,1
    - Dst: dpp_alloc_msg
      Src: /src/hostap/src/common/dpp_pkex.c:605,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_pkex.c:611,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_pkex.c:615,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_pkex.c:616,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_pkex.c:617,1
    - Dst: dpp_test_gen_invalid_key
      Src: /src/hostap/src/common/dpp_pkex.c:618,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_pkex.c:625,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_pkex.c:626,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_pkex.c:626,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/common/dpp_pkex.c:627,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_pkex.c:632,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_pkex.c:636,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_pkex.c:637,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_pkex.c:638,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/common/dpp_pkex.c:639,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/dpp_pkex.c:640,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_pkex.c:646,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_pkex.c:647,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/common/dpp_pkex.c:648,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_pkex.c:653,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/common/dpp_pkex.c:658,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_pkex.c:663,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_pkex.c:664,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_pkex.c:666,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_pkex.c:667,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_pkex.c:667,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/common/dpp_pkex.c:668,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_pkex.c:668,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/common/dpp_pkex.c:670,1
    - Dst: aes_siv_encrypt
      Src: /src/hostap/src/common/dpp_pkex.c:671,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/dpp_pkex.c:672,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_pkex.c:672,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_pkex.c:675,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_pkex.c:676,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_pkex.c:680,1
    - Dst: dpp_build_attr_status
      Src: /src/hostap/src/common/dpp_pkex.c:681,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_pkex.c:687,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_pkex.c:691,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 86
    argCount: 3
    argNames:
    - pkex
    - A_pub
    - u
    argTypes:
    - struct dpp_pkex*
    - struct wpabuf*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 584
    functionDepth: 3
    functionLinenumber: 584
    functionLinenumberEnd: 694
    functionName: dpp_pkex_build_commit_reveal_req
    functionSourceFile: /src/hostap/src/common/dpp_pkex.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put
    - wpabuf_head_u8
    - wpabuf_put_data
    - wpabuf_put_u8
    - wpabuf_len
    - dpp_alloc_msg
    - wpa_hexdump
    - wpabuf_free
    - wpabuf_put_le16
    - wpabuf_head
    - wpabuf_alloc
    - wpabuf_put_buf
    - aes_siv_encrypt
    - dpp_test_gen_invalid_key
    - dpp_build_attr_status
    - wpa_hexdump_buf
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf *\ndpp_pkex_build_commit_reveal_req(struct dpp_pkex
      *pkex,\n\t\t\t\t const struct wpabuf *A_pub, const u8 *u)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_pkex.c:721,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/common/dpp_pkex.c:727,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_pkex.c:728,1
    - Dst: MAC2STR
      Src: /src/hostap/src/common/dpp_pkex.c:729,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp_pkex.c:739,1
    - Dst: dpp_pkex_fail
      Src: /src/hostap/src/common/dpp_pkex.c:742,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_pkex.c:747,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/dpp_pkex.c:753,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp_pkex.c:755,1
    - Dst: dpp_pkex_fail
      Src: /src/hostap/src/common/dpp_pkex.c:758,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_pkex.c:761,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp_pkex.c:764,1
    - Dst: wpa_msg
      Src: /src/hostap/src/common/dpp_pkex.c:768,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/common/dpp_pkex.c:770,1
    - Dst: dpp_pkex_fail
      Src: /src/hostap/src/common/dpp_pkex.c:776,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp_pkex.c:781,1
    - Dst: dpp_pkex_identifier_match
      Src: /src/hostap/src/common/dpp_pkex.c:783,1
    - Dst: dpp_pkex_fail
      Src: /src/hostap/src/common/dpp_pkex.c:785,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp_pkex.c:790,1
    - Dst: dpp_pkex_fail
      Src: /src/hostap/src/common/dpp_pkex.c:793,1
    - Dst: dpp_pkex_derive_Qr
      Src: /src/hostap/src/common/dpp_pkex.c:798,1
    - Dst: crypto_ec_point_init
      Src: /src/hostap/src/common/dpp_pkex.c:805,1
    - Dst: crypto_ec_point_from_bin
      Src: /src/hostap/src/common/dpp_pkex.c:806,1
    - Dst: crypto_ec_point_is_at_infinity
      Src: /src/hostap/src/common/dpp_pkex.c:808,1
    - Dst: crypto_ec_point_is_on_curve
      Src: /src/hostap/src/common/dpp_pkex.c:809,1
    - Dst: crypto_ec_point_invert
      Src: /src/hostap/src/common/dpp_pkex.c:810,1
    - Dst: crypto_ec_point_add
      Src: /src/hostap/src/common/dpp_pkex.c:811,1
    - Dst: crypto_ec_point_is_at_infinity
      Src: /src/hostap/src/common/dpp_pkex.c:812,1
    - Dst: crypto_ec_point_is_on_curve
      Src: /src/hostap/src/common/dpp_pkex.c:813,1
    - Dst: dpp_pkex_fail
      Src: /src/hostap/src/common/dpp_pkex.c:814,1
    - Dst: crypto_ec_point_debug_print
      Src: /src/hostap/src/common/dpp_pkex.c:818,1
    - Dst: crypto_ec_point_debug_print
      Src: /src/hostap/src/common/dpp_pkex.c:819,1
    - Dst: os_malloc
      Src: /src/hostap/src/common/dpp_pkex.c:824,1
    - Dst: os_malloc
      Src: /src/hostap/src/common/dpp_pkex.c:825,1
    - Dst: crypto_ec_point_to_bin
      Src: /src/hostap/src/common/dpp_pkex.c:827,1
    - Dst: crypto_ec_key_set_pub
      Src: /src/hostap/src/common/dpp_pkex.c:829,1
    - Dst: dpp_ecdh
      Src: /src/hostap/src/common/dpp_pkex.c:833,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/dpp_pkex.c:836,1
    - Dst: crypto_ec_key_get_pubkey_point
      Src: /src/hostap/src/common/dpp_pkex.c:840,1
    - Dst: crypto_ec_key_get_pubkey_point
      Src: /src/hostap/src/common/dpp_pkex.c:841,1
    - Dst: crypto_ec_key_get_pubkey_point
      Src: /src/hostap/src/common/dpp_pkex.c:842,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/dpp_pkex.c:851,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_pkex.c:852,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/dpp_pkex.c:854,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_pkex.c:855,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/dpp_pkex.c:857,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_pkex.c:858,1
    - Dst: dpp_hmac_vector
      Src: /src/hostap/src/common/dpp_pkex.c:860,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_pkex.c:863,1
    - Dst: dpp_ecdh
      Src: /src/hostap/src/common/dpp_pkex.c:866,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/dpp_pkex.c:869,1
    - Dst: dpp_pkex_derive_z
      Src: /src/hostap/src/common/dpp_pkex.c:873,1
    - Dst: os_memset
      Src: /src/hostap/src/common/dpp_pkex.c:880,1
    - Dst: dpp_pkex_build_commit_reveal_req
      Src: /src/hostap/src/common/dpp_pkex.c:884,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_pkex.c:889,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_pkex.c:890,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_pkex.c:891,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp_pkex.c:892,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp_pkex.c:893,1
    - Dst: crypto_ec_point_deinit
      Src: /src/hostap/src/common/dpp_pkex.c:894,1
    - Dst: crypto_ec_point_deinit
      Src: /src/hostap/src/common/dpp_pkex.c:895,1
    - Dst: crypto_ec_point_deinit
      Src: /src/hostap/src/common/dpp_pkex.c:896,1
    - Dst: crypto_ec_deinit
      Src: /src/hostap/src/common/dpp_pkex.c:897,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_pkex.c:900,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 134
    argCount: 4
    argNames:
    - pkex
    - peer_mac
    - buf
    - buflen
    argTypes:
    - struct dpp_pkex*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 697
    functionDepth: 4
    functionLinenumber: 697
    functionLinenumberEnd: 902
    functionName: dpp_pkex_rx_exchange_resp
    functionSourceFile: /src/hostap/src/common/dpp_pkex.c
    functionUses: 3
    functionsReached:
    - wpa_hexdump
    - crypto_ec_deinit
    - WPA_GET_LE16
    - crypto_ec_point_is_at_infinity
    - crypto_ec_point_invert
    - crypto_ec_point_init
    - crypto_ec_point_add
    - crypto_ec_point_debug_print
    - dpp_pkex_identifier_match
    - wpa_printf
    - crypto_ec_point_deinit
    - dpp_pkex_derive_z
    - dpp_pkex_build_commit_reveal_req
    - os_free
    - wpa_hexdump_key
    - wpabuf_len
    - crypto_ec_key_get_pubkey_point
    - is_zero_ether_addr
    - dpp_pkex_derive_Qr
    - os_malloc
    - wpabuf_head
    - crypto_ec_key_set_pub
    - dpp_pkex_fail
    - crypto_ec_point_from_bin
    - crypto_ec_point_to_bin
    - crypto_ec_point_is_on_curve
    - dpp_ecdh
    - os_memset
    - dpp_hmac_vector
    - os_memcpy
    - wpa_msg
    - wpabuf_free
    - MAC2STR
    - dpp_get_attr
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * dpp_pkex_rx_exchange_resp(struct dpp_pkex *pkex,\n\t\t\t\t\t
      \ const u8 *peer_mac,\n\t\t\t\t\t  const u8 *buf, size_t buflen)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/common/dpp_pkex.c:920,1
    - Dst: dpp_alloc_msg
      Src: /src/hostap/src/common/dpp_pkex.c:926,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_pkex.c:932,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_pkex.c:936,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_pkex.c:937,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_pkex.c:938,1
    - Dst: dpp_test_gen_invalid_key
      Src: /src/hostap/src/common/dpp_pkex.c:939,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_pkex.c:946,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_pkex.c:947,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_pkex.c:947,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/common/dpp_pkex.c:948,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_pkex.c:953,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_pkex.c:957,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_pkex.c:958,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_pkex.c:959,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/common/dpp_pkex.c:960,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/common/dpp_pkex.c:961,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_pkex.c:967,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_pkex.c:968,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/common/dpp_pkex.c:969,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_pkex.c:974,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/common/dpp_pkex.c:979,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_pkex.c:984,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_pkex.c:985,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_pkex.c:987,1
    - Dst: wpabuf_put_le16
      Src: /src/hostap/src/common/dpp_pkex.c:988,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_pkex.c:988,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/common/dpp_pkex.c:989,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_pkex.c:989,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/common/dpp_pkex.c:991,1
    - Dst: aes_siv_encrypt
      Src: /src/hostap/src/common/dpp_pkex.c:992,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/dpp_pkex.c:993,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_pkex.c:993,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_pkex.c:996,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_pkex.c:997,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_pkex.c:1001,1
    - Dst: dpp_build_attr_status
      Src: /src/hostap/src/common/dpp_pkex.c:1002,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_pkex.c:1008,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_pkex.c:1012,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 86
    argCount: 3
    argNames:
    - pkex
    - B_pub
    - v
    argTypes:
    - struct dpp_pkex*
    - struct wpabuf*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 905
    functionDepth: 3
    functionLinenumber: 905
    functionLinenumberEnd: 1015
    functionName: dpp_pkex_build_commit_reveal_resp
    functionSourceFile: /src/hostap/src/common/dpp_pkex.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put
    - wpabuf_head_u8
    - wpabuf_put_data
    - wpabuf_put_u8
    - wpabuf_len
    - dpp_alloc_msg
    - wpa_hexdump
    - wpabuf_free
    - wpabuf_put_le16
    - wpabuf_head
    - wpabuf_alloc
    - wpabuf_put_buf
    - aes_siv_encrypt
    - dpp_test_gen_invalid_key
    - dpp_build_attr_status
    - wpa_hexdump_buf
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf *\ndpp_pkex_build_commit_reveal_resp(struct dpp_pkex
      *pkex,\n\t\t\t\t  const struct wpabuf *B_pub, const u8 *v)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_pkex.c:1040,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp_pkex.c:1051,1
    - Dst: dpp_pkex_fail
      Src: /src/hostap/src/common/dpp_pkex.c:1054,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_pkex.c:1059,1
    - Dst: os_malloc
      Src: /src/hostap/src/common/dpp_pkex.c:1062,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_pkex.c:1071,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_pkex.c:1072,1
    - Dst: aes_siv_decrypt
      Src: /src/hostap/src/common/dpp_pkex.c:1074,1
    - Dst: dpp_pkex_fail
      Src: /src/hostap/src/common/dpp_pkex.c:1077,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_pkex.c:1083,1
    - Dst: dpp_check_attrs
      Src: /src/hostap/src/common/dpp_pkex.c:1086,1
    - Dst: dpp_pkex_fail
      Src: /src/hostap/src/common/dpp_pkex.c:1087,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp_pkex.c:1091,1
    - Dst: dpp_pkex_fail
      Src: /src/hostap/src/common/dpp_pkex.c:1094,1
    - Dst: dpp_set_pubkey_point
      Src: /src/hostap/src/common/dpp_pkex.c:1097,1
    - Dst: dpp_pkex_fail
      Src: /src/hostap/src/common/dpp_pkex.c:1100,1
    - Dst: dpp_debug_print_key
      Src: /src/hostap/src/common/dpp_pkex.c:1103,1
    - Dst: dpp_ecdh
      Src: /src/hostap/src/common/dpp_pkex.c:1107,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/dpp_pkex.c:1110,1
    - Dst: crypto_ec_key_get_pubkey_point
      Src: /src/hostap/src/common/dpp_pkex.c:1114,1
    - Dst: crypto_ec_key_get_pubkey_point
      Src: /src/hostap/src/common/dpp_pkex.c:1115,1
    - Dst: crypto_ec_key_get_pubkey_point
      Src: /src/hostap/src/common/dpp_pkex.c:1116,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/dpp_pkex.c:1125,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_pkex.c:1126,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/dpp_pkex.c:1128,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_pkex.c:1129,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/dpp_pkex.c:1131,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_pkex.c:1132,1
    - Dst: dpp_hmac_vector
      Src: /src/hostap/src/common/dpp_pkex.c:1134,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp_pkex.c:1138,1
    - Dst: os_memcmp
      Src: /src/hostap/src/common/dpp_pkex.c:1141,1
    - Dst: dpp_pkex_fail
      Src: /src/hostap/src/common/dpp_pkex.c:1142,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_pkex.c:1143,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_pkex.c:1145,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_pkex.c:1149,1
    - Dst: dpp_ecdh
      Src: /src/hostap/src/common/dpp_pkex.c:1152,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/dpp_pkex.c:1155,1
    - Dst: crypto_ec_key_get_pubkey_point
      Src: /src/hostap/src/common/dpp_pkex.c:1159,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/dpp_pkex.c:1168,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_pkex.c:1169,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/dpp_pkex.c:1171,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_pkex.c:1172,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/dpp_pkex.c:1174,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_pkex.c:1175,1
    - Dst: dpp_hmac_vector
      Src: /src/hostap/src/common/dpp_pkex.c:1177,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_pkex.c:1180,1
    - Dst: dpp_pkex_build_commit_reveal_resp
      Src: /src/hostap/src/common/dpp_pkex.c:1182,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp_pkex.c:1187,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_pkex.c:1188,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_pkex.c:1189,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_pkex.c:1190,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_pkex.c:1191,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_pkex.c:1194,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 136
    argCount: 4
    argNames:
    - pkex
    - hdr
    - buf
    - buflen
    argTypes:
    - struct dpp_pkex*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1197
      start: 1018
    functionDepth: 4
    functionLinenumber: 1018
    functionLinenumberEnd: 1197
    functionName: dpp_pkex_rx_commit_reveal_req
    functionSourceFile: /src/hostap/src/common/dpp_pkex.c
    functionUses: 3
    functionsReached:
    - dpp_pkex_build_commit_reveal_resp
    - wpa_hexdump
    - wpa_printf
    - os_memcmp
    - os_free
    - aes_siv_decrypt
    - wpa_hexdump_key
    - wpabuf_len
    - dpp_debug_print_key
    - crypto_ec_key_get_pubkey_point
    - os_malloc
    - wpabuf_head
    - dpp_pkex_fail
    - dpp_ecdh
    - dpp_hmac_vector
    - dpp_set_pubkey_point
    - dpp_check_attrs
    - wpabuf_free
    - dpp_get_attr
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * dpp_pkex_rx_commit_reveal_req(struct dpp_pkex *pkex,\n\t\t\t\t\t
      \     const u8 *hdr,\n\t\t\t\t\t      const u8 *buf, size_t buflen)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_pkex.c:1220,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp_pkex.c:1231,1
    - Dst: dpp_pkex_fail
      Src: /src/hostap/src/common/dpp_pkex.c:1234,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_pkex.c:1239,1
    - Dst: os_malloc
      Src: /src/hostap/src/common/dpp_pkex.c:1242,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_pkex.c:1251,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_pkex.c:1252,1
    - Dst: aes_siv_decrypt
      Src: /src/hostap/src/common/dpp_pkex.c:1254,1
    - Dst: dpp_pkex_fail
      Src: /src/hostap/src/common/dpp_pkex.c:1257,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_pkex.c:1262,1
    - Dst: dpp_check_attrs
      Src: /src/hostap/src/common/dpp_pkex.c:1265,1
    - Dst: dpp_pkex_fail
      Src: /src/hostap/src/common/dpp_pkex.c:1266,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp_pkex.c:1270,1
    - Dst: dpp_pkex_fail
      Src: /src/hostap/src/common/dpp_pkex.c:1273,1
    - Dst: dpp_set_pubkey_point
      Src: /src/hostap/src/common/dpp_pkex.c:1276,1
    - Dst: dpp_pkex_fail
      Src: /src/hostap/src/common/dpp_pkex.c:1279,1
    - Dst: dpp_debug_print_key
      Src: /src/hostap/src/common/dpp_pkex.c:1282,1
    - Dst: dpp_ecdh
      Src: /src/hostap/src/common/dpp_pkex.c:1286,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/common/dpp_pkex.c:1289,1
    - Dst: crypto_ec_key_get_pubkey_point
      Src: /src/hostap/src/common/dpp_pkex.c:1293,1
    - Dst: crypto_ec_key_get_pubkey_point
      Src: /src/hostap/src/common/dpp_pkex.c:1294,1
    - Dst: crypto_ec_key_get_pubkey_point
      Src: /src/hostap/src/common/dpp_pkex.c:1295,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/dpp_pkex.c:1304,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_pkex.c:1305,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/dpp_pkex.c:1307,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_pkex.c:1308,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/common/dpp_pkex.c:1310,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/common/dpp_pkex.c:1311,1
    - Dst: dpp_hmac_vector
      Src: /src/hostap/src/common/dpp_pkex.c:1313,1
    - Dst: dpp_get_attr
      Src: /src/hostap/src/common/dpp_pkex.c:1317,1
    - Dst: os_memcmp
      Src: /src/hostap/src/common/dpp_pkex.c:1320,1
    - Dst: dpp_pkex_fail
      Src: /src/hostap/src/common/dpp_pkex.c:1321,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_pkex.c:1322,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/common/dpp_pkex.c:1324,1
    - Dst: wpa_printf
      Src: /src/hostap/src/common/dpp_pkex.c:1328,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_pkex.c:1332,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_pkex.c:1333,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_pkex.c:1334,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp_pkex.c:1335,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 104
    argCount: 4
    argNames:
    - pkex
    - hdr
    - buf
    - buflen
    argTypes:
    - struct dpp_pkex*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1339
      start: 1200
    functionDepth: 3
    functionLinenumber: 1200
    functionLinenumberEnd: 1339
    functionName: dpp_pkex_rx_commit_reveal_resp
    functionSourceFile: /src/hostap/src/common/dpp_pkex.c
    functionUses: 3
    functionsReached:
    - dpp_hmac_vector
    - wpa_printf
    - dpp_check_attrs
    - dpp_set_pubkey_point
    - wpa_hexdump_key
    - wpa_hexdump
    - wpabuf_len
    - dpp_debug_print_key
    - crypto_ec_key_get_pubkey_point
    - os_malloc
    - wpabuf_free
    - wpabuf_head
    - dpp_pkex_fail
    - dpp_get_attr
    - os_memcmp
    - os_free
    - dpp_ecdh
    - aes_siv_decrypt
    linkageType: ''
    returnType: int
    signature: "int dpp_pkex_rx_commit_reveal_resp(struct dpp_pkex *pkex, const u8
      *hdr,\n\t\t\t\t   const u8 *buf, size_t buflen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/common/dpp_pkex.c:1348,1
    - Dst: dpp_next_id
      Src: /src/hostap/src/common/dpp_pkex.c:1351,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/dpp_pkex.c:1354,1
    - Dst: dpp_bootstrap_key_hash
      Src: /src/hostap/src/common/dpp_pkex.c:1362,1
    - Dst: dpp_bootstrap_info_free
      Src: /src/hostap/src/common/dpp_pkex.c:1363,1
    - Dst: os_memcpy
      Src: /src/hostap/src/common/dpp_pkex.c:1366,1
    - Dst: dpp_pkex_free
      Src: /src/hostap/src/common/dpp_pkex.c:1368,1
    - Dst: dl_list_add
      Src: /src/hostap/src/common/dpp_pkex.c:1369,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 4
    argNames:
    - dpp
    - pkex
    - peer
    - freq
    argTypes:
    - struct dpp_global*
    - struct dpp_pkex*
    - u8*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1371
      start: 1342
    functionDepth: 2
    functionLinenumber: 1342
    functionLinenumberEnd: 1371
    functionName: dpp_pkex_finish
    functionSourceFile: /src/hostap/src/common/dpp_pkex.c
    functionUses: 7
    functionsReached:
    - dpp_next_id
    - os_memcpy
    - dpp_bootstrap_key_hash
    - dpp_bootstrap_info_free
    - os_zalloc
    - dpp_pkex_free
    - dl_list_add
    linkageType: ''
    returnType: struct dpp_bootstrap_info
    signature: "struct dpp_bootstrap_info *\ndpp_pkex_finish(struct dpp_global *dpp,
      struct dpp_pkex *pkex, const u8 *peer,\n\t\tunsigned int freq)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/common/dpp_pkex.c:1379,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp_pkex.c:1380,1
    - Dst: crypto_ec_key_deinit
      Src: /src/hostap/src/common/dpp_pkex.c:1381,1
    - Dst: crypto_ec_key_deinit
      Src: /src/hostap/src/common/dpp_pkex.c:1382,1
    - Dst: crypto_ec_key_deinit
      Src: /src/hostap/src/common/dpp_pkex.c:1383,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_pkex.c:1384,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_pkex.c:1385,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/common/dpp_pkex.c:1386,1
    - Dst: os_free
      Src: /src/hostap/src/common/dpp_pkex.c:1387,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - pkex
    argTypes:
    - struct dpp_pkex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1388
      start: 1374
    functionDepth: 1
    functionLinenumber: 1374
    functionLinenumberEnd: 1388
    functionName: dpp_pkex_free
    functionSourceFile: /src/hostap/src/common/dpp_pkex.c
    functionUses: 20
    functionsReached:
    - os_free
    - wpabuf_free
    - crypto_ec_key_deinit
    linkageType: ''
    returnType: void
    signature: void dpp_pkex_free(struct dpp_pkex *pkex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/hostap/src/wps/wps_upnp.c:228,1
    - Dst: gmtime
      Src: /src/hostap/src/wps/wps_upnp.c:229,1
    - Dst: wpabuf_printf
      Src: /src/hostap/src/wps/wps_upnp.c:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - buf
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 236
    functionName: format_date
    functionSourceFile: /src/hostap/src/wps/wps_upnp.c
    functionUses: 0
    functionsReached:
    - gmtime
    - wpabuf_printf
    - time
    linkageType: ''
    returnType: void
    signature: void format_date(struct wpabuf *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_get_random
      Src: /src/hostap/src/wps/wps_upnp.c:256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - uuid
    argTypes:
    - u8[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 264
    functionName: uuid_make
    functionSourceFile: /src/hostap/src/wps/wps_upnp.c
    functionUses: 0
    functionsReached:
    - os_get_random
    linkageType: ''
    returnType: int
    signature: int uuid_make(u8 uuid[UUID_LEN])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_upnp.c:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - struct subscr_addr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 291
    functionName: subscr_addr_delete
    functionSourceFile: /src/hostap/src/wps/wps_upnp.c
    functionUses: 0
    functionsReached:
    - os_free
    linkageType: ''
    returnType: void
    signature: void subscr_addr_delete(struct subscr_addr *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/wps/wps_upnp.c:298,1
    - Dst: dl_list_del
      Src: /src/hostap/src/wps/wps_upnp.c:300,1
    - Dst: subscr_addr_delete
      Src: /src/hostap/src/wps/wps_upnp.c:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct subscription*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 303
    functionName: subscr_addr_free_all
    functionSourceFile: /src/hostap/src/wps/wps_upnp.c
    functionUses: 0
    functionsReached:
    - subscr_addr_delete
    - dl_list_del
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: void subscr_addr_free_all(struct subscription *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - addr
    argTypes:
    - struct upnp_wps_device_sm*
    - struct sockaddr_in*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 311
    functionName: local_network_addr
    functionSourceFile: /src/hostap/src/wps/wps_upnp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int local_network_addr(struct upnp_wps_device_sm *sm,\n\t\t\t      struct
      sockaddr_in *addr)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: os_strncasecmp
      Src: /src/hostap/src/wps/wps_upnp.c:335,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp.c:336,1
    - Dst: dup_binstr
      Src: /src/hostap/src/wps/wps_upnp.c:343,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp.c:346,1
    - Dst: os_strchr
      Src: /src/hostap/src/wps/wps_upnp.c:348,1
    - Dst: os_strchr
      Src: /src/hostap/src/wps/wps_upnp.c:353,1
    - Dst: isdigit
      Src: /src/hostap/src/wps/wps_upnp.c:356,1
    - Dst: atol
      Src: /src/hostap/src/wps/wps_upnp.c:357,1
    - Dst: os_memset
      Src: /src/hostap/src/wps/wps_upnp.c:367,1
    - Dst: getaddrinfo
      Src: /src/hostap/src/wps/wps_upnp.c:380,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp.c:383,1
    - Dst: gai_strerror
      Src: /src/hostap/src/wps/wps_upnp.c:384,1
    - Dst: os_strlen
      Src: /src/hostap/src/wps/wps_upnp.c:391,1
    - Dst: os_strlen
      Src: /src/hostap/src/wps/wps_upnp.c:392,1
    - Dst: dl_list_len
      Src: /src/hostap/src/wps/wps_upnp.c:400,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp.c:401,1
    - Dst: local_network_addr
      Src: /src/hostap/src/wps/wps_upnp.c:406,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp.c:407,1
    - Dst: inet_ntoa
      Src: /src/hostap/src/wps/wps_upnp.c:409,1
    - Dst: os_zalloc
      Src: /src/hostap/src/wps/wps_upnp.c:413,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_upnp.c:418,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_upnp.c:424,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_upnp.c:425,1
    - Dst: htons
      Src: /src/hostap/src/wps/wps_upnp.c:426,1
    - Dst: dl_list_add
      Src: /src/hostap/src/wps/wps_upnp.c:428,1
    - Dst: freeaddrinfo
      Src: /src/hostap/src/wps/wps_upnp.c:433,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_upnp.c:434,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 70
    argCount: 3
    argNames:
    - s
    - url
    - url_len
    argTypes:
    - struct subscription*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 435
    functionName: subscr_addr_add_url
    functionSourceFile: /src/hostap/src/wps/wps_upnp.c
    functionUses: 0
    functionsReached:
    - local_network_addr
    - isdigit
    - dl_list_len
    - os_strncasecmp
    - os_strlen
    - wpa_printf
    - getaddrinfo
    - os_free
    - inet_ntoa
    - atol
    - os_strchr
    - htons
    - freeaddrinfo
    - os_memset
    - os_memcpy
    - gai_strerror
    - os_zalloc
    - dl_list_add
    - dup_binstr
    linkageType: ''
    returnType: void
    signature: "void subscr_addr_add_url(struct subscription *s, const char *url,\n\t\t\t\tsize_t
      url_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp.c:445,1
    - Dst: os_strchr
      Src: /src/hostap/src/wps/wps_upnp.c:452,1
    - Dst: subscr_addr_add_url
      Src: /src/hostap/src/wps/wps_upnp.c:455,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - s
    - url_list
    argTypes:
    - struct subscription*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 441
    functionDepth: 2
    functionLinenumber: 441
    functionLinenumberEnd: 458
    functionName: subscr_addr_list_create
    functionSourceFile: /src/hostap/src/wps/wps_upnp.c
    functionUses: 0
    functionsReached:
    - os_strchr
    - wpa_printf
    - subscr_addr_add_url
    linkageType: ''
    returnType: void
    signature: "void subscr_addr_list_create(struct subscription *s,\n\t\t\t\t    const
      char *url_list)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_upnp.c:464,1
    - Dst: wpabuf_printf
      Src: /src/hostap/src/wps/wps_upnp.c:465,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_upnp.c:467,1
    - Dst: wpabuf_printf
      Src: /src/hostap/src/wps/wps_upnp.c:468,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_upnp.c:469,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - buf
    - name
    - value
    argTypes:
    - struct wpabuf*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 470
    functionName: wpabuf_put_property
    functionSourceFile: /src/hostap/src/wps/wps_upnp.c
    functionUses: 0
    functionsReached:
    - wpabuf_put_str
    - wpabuf_printf
    linkageType: ''
    returnType: void
    signature: "void wpabuf_put_property(struct wpabuf *buf, const char *name,\n\t\t\t\tconst
      char *value)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_empty
      Src: /src/hostap/src/wps/wps_upnp.c:494,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/wps/wps_upnp.c:499,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp.c:515,1
    - Dst: os_strlen
      Src: /src/hostap/src/wps/wps_upnp.c:525,1
    - Dst: os_strlen
      Src: /src/hostap/src/wps/wps_upnp.c:526,1
    - Dst: os_strlen
      Src: /src/hostap/src/wps/wps_upnp.c:528,1
    - Dst: os_strlen
      Src: /src/hostap/src/wps/wps_upnp.c:529,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/wps/wps_upnp.c:531,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_upnp.c:534,1
    - Dst: wpabuf_put_property
      Src: /src/hostap/src/wps/wps_upnp.c:535,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_upnp.c:536,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp.c:538,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/wps/wps_upnp.c:539,1
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/wps/wps_upnp.c:541,1
    - Dst: wps_upnp_event_add
      Src: /src/hostap/src/wps/wps_upnp.c:543,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_upnp.c:548,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct upnp_wps_device_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 481
    functionDepth: 2
    functionLinenumber: 481
    functionLinenumberEnd: 549
    functionName: upnp_wps_device_send_event
    functionSourceFile: /src/hostap/src/wps/wps_upnp.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_get_reltime
    - wpa_printf
    - wpabuf_put_property
    - dl_list_empty
    - wpabuf_put_str
    - wpabuf_free
    - wps_upnp_event_add
    - wpabuf_head
    - wpabuf_alloc
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: void upnp_wps_device_send_event(struct upnp_wps_device_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp.c:564,1
    - Dst: subscr_addr_free_all
      Src: /src/hostap/src/wps/wps_upnp.c:565,1
    - Dst: wps_upnp_event_delete_all
      Src: /src/hostap/src/wps/wps_upnp.c:566,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/wps/wps_upnp.c:567,1
    - Dst: upnp_er_remove_notification
      Src: /src/hostap/src/wps/wps_upnp.c:569,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_upnp.c:570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct subscription*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 561
    functionDepth: 2
    functionLinenumber: 561
    functionLinenumberEnd: 571
    functionName: subscription_destroy
    functionSourceFile: /src/hostap/src/wps/wps_upnp.c
    functionUses: 0
    functionsReached:
    - upnp_er_remove_notification
    - wpa_printf
    - subscr_addr_free_all
    - dl_list_for_each
    - wps_upnp_event_delete_all
    - os_free
    linkageType: ''
    returnType: void
    signature: void subscription_destroy(struct subscription *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/wps/wps_upnp.c:578,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp.c:582,1
    - Dst: dl_list_del
      Src: /src/hostap/src/wps/wps_upnp.c:583,1
    - Dst: subscription_destroy
      Src: /src/hostap/src/wps/wps_upnp.c:584,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - sm
    - now
    argTypes:
    - struct upnp_wps_device_sm*
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 575
    functionDepth: 3
    functionLinenumber: 575
    functionLinenumberEnd: 586
    functionName: subscription_list_age
    functionSourceFile: /src/hostap/src/wps/wps_upnp.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dl_list_del
    - subscription_destroy
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: void subscription_list_age(struct upnp_wps_device_sm *sm, time_t now)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/wps/wps_upnp.c:596,1
    - Dst: os_memcmp
      Src: /src/hostap/src/wps/wps_upnp.c:597,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - sm
    - uuid
    argTypes:
    - struct upnp_wps_device_sm*
    - u8[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 601
    functionName: subscription_find
    functionSourceFile: /src/hostap/src/wps/wps_upnp.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    - os_memcmp
    linkageType: ''
    returnType: struct subscription
    signature: "struct subscription * subscription_find(struct upnp_wps_device_sm
      *sm,\n\t\t\t\t\tconst u8 uuid[UUID_LEN])"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/wps/wps_upnp.c:606,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/wps/wps_upnp.c:609,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_upnp.c:610,1
    - Dst: wps_build_version
      Src: /src/hostap/src/wps/wps_upnp.c:611,1
    - Dst: wps_build_msg_type
      Src: /src/hostap/src/wps/wps_upnp.c:612,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_upnp.c:613,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_upnp.c:617,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_upnp.c:618,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/wps/wps_upnp.c:619,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_upnp.c:621,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_upnp.c:622,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/wps/wps_upnp.c:623,1
    - Dst: wps_build_wfa_ext
      Src: /src/hostap/src/wps/wps_upnp.c:624,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_upnp.c:625,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 604
    functionDepth: 1
    functionLinenumber: 604
    functionLinenumberEnd: 629
    functionName: build_fake_wsc_ack
    functionSourceFile: /src/hostap/src/wps/wps_upnp.c
    functionUses: 0
    functionsReached:
    - wpabuf_put
    - wpabuf_put_u8
    - wpabuf_put_str
    - wpabuf_free
    - wps_build_msg_type
    - wpabuf_put_be16
    - wps_build_wfa_ext
    - wpabuf_alloc
    - wps_build_version
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * build_fake_wsc_ack(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp.c:668,1
    - Dst: build_fake_wsc_ack
      Src: /src/hostap/src/wps/wps_upnp.c:670,1
    - Dst: base64_encode
      Src: /src/hostap/src/wps/wps_upnp.c:673,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/wps/wps_upnp.c:673,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/wps_upnp.c:674,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_upnp.c:675,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp.c:681,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/wps/wps_upnp.c:685,1
    - Dst: os_strlen
      Src: /src/hostap/src/wps/wps_upnp.c:685,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_upnp.c:689,1
    - Dst: wpabuf_put_property
      Src: /src/hostap/src/wps/wps_upnp.c:690,1
    - Dst: os_snprintf
      Src: /src/hostap/src/wps/wps_upnp.c:691,1
    - Dst: wpabuf_put_property
      Src: /src/hostap/src/wps/wps_upnp.c:692,1
    - Dst: wpabuf_put_property
      Src: /src/hostap/src/wps/wps_upnp.c:694,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_upnp.c:695,1
    - Dst: wps_upnp_event_add
      Src: /src/hostap/src/wps/wps_upnp.c:697,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_upnp.c:699,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_upnp.c:702,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct subscription*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 635
    functionDepth: 2
    functionLinenumber: 635
    functionLinenumberEnd: 705
    functionName: subscription_first_event
    functionSourceFile: /src/hostap/src/wps/wps_upnp.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - wpabuf_put_property
    - wpabuf_len
    - wpabuf_put_str
    - wpabuf_free
    - wps_upnp_event_add
    - wpabuf_head
    - os_snprintf
    - wpabuf_alloc
    - build_fake_wsc_ack
    - base64_encode
    linkageType: ''
    returnType: int
    signature: int subscription_first_event(struct subscription *s)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/hostap/src/wps/wps_upnp.c:718,1
    - Dst: subscription_list_age
      Src: /src/hostap/src/wps/wps_upnp.c:723,1
    - Dst: dl_list_len
      Src: /src/hostap/src/wps/wps_upnp.c:726,1
    - Dst: dl_list_first
      Src: /src/hostap/src/wps/wps_upnp.c:727,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp.c:730,1
    - Dst: dl_list_del
      Src: /src/hostap/src/wps/wps_upnp.c:732,1
    - Dst: subscription_destroy
      Src: /src/hostap/src/wps/wps_upnp.c:733,1
    - Dst: os_zalloc
      Src: /src/hostap/src/wps/wps_upnp.c:737,1
    - Dst: dl_list_init
      Src: /src/hostap/src/wps/wps_upnp.c:740,1
    - Dst: dl_list_init
      Src: /src/hostap/src/wps/wps_upnp.c:741,1
    - Dst: uuid_make
      Src: /src/hostap/src/wps/wps_upnp.c:745,1
    - Dst: subscription_destroy
      Src: /src/hostap/src/wps/wps_upnp.c:746,1
    - Dst: subscr_addr_list_create
      Src: /src/hostap/src/wps/wps_upnp.c:749,1
    - Dst: dl_list_empty
      Src: /src/hostap/src/wps/wps_upnp.c:750,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp.c:751,1
    - Dst: subscription_destroy
      Src: /src/hostap/src/wps/wps_upnp.c:753,1
    - Dst: dl_list_add_tail
      Src: /src/hostap/src/wps/wps_upnp.c:758,1
    - Dst: subscription_first_event
      Src: /src/hostap/src/wps/wps_upnp.c:762,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp.c:763,1
    - Dst: dl_list_del
      Src: /src/hostap/src/wps/wps_upnp.c:765,1
    - Dst: subscription_destroy
      Src: /src/hostap/src/wps/wps_upnp.c:766,1
    - Dst: uuid_bin2str
      Src: /src/hostap/src/wps/wps_upnp.c:769,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp.c:770,1
    - Dst: wps_upnp_event_send_all_later
      Src: /src/hostap/src/wps/wps_upnp.c:774,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 2
    argNames:
    - sm
    - callback_urls
    argTypes:
    - struct upnp_wps_device_sm*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 714
    functionDepth: 4
    functionLinenumber: 714
    functionLinenumberEnd: 776
    functionName: subscription_start
    functionSourceFile: /src/hostap/src/wps/wps_upnp.c
    functionUses: 0
    functionsReached:
    - subscription_first_event
    - subscription_list_age
    - wpa_printf
    - dl_list_del
    - dl_list_empty
    - dl_list_add_tail
    - dl_list_first
    - time
    - subscr_addr_list_create
    - os_zalloc
    - dl_list_init
    - wps_upnp_event_send_all_later
    - dl_list_len
    - uuid_bin2str
    - uuid_make
    - subscription_destroy
    linkageType: ''
    returnType: struct subscription
    signature: "struct subscription * subscription_start(struct upnp_wps_device_sm
      *sm,\n\t\t\t\t\t const char *callback_urls)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/hostap/src/wps/wps_upnp.c:783,1
    - Dst: subscription_find
      Src: /src/hostap/src/wps/wps_upnp.c:785,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp.c:788,1
    - Dst: dl_list_del
      Src: /src/hostap/src/wps/wps_upnp.c:789,1
    - Dst: dl_list_add_tail
      Src: /src/hostap/src/wps/wps_upnp.c:792,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - sm
    - uuid
    argTypes:
    - struct upnp_wps_device_sm*
    - u8[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 780
    functionDepth: 1
    functionLinenumber: 780
    functionLinenumberEnd: 794
    functionName: subscription_renew
    functionSourceFile: /src/hostap/src/wps/wps_upnp.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dl_list_del
    - dl_list_add_tail
    - subscription_find
    - time
    linkageType: ''
    returnType: struct subscription
    signature: "struct subscription * subscription_renew(struct upnp_wps_device_sm
      *sm,\n\t\t\t\t\t const u8 uuid[UUID_LEN])"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/src/wps/wps_upnp.c:827,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/wps_upnp.c:829,1
    - Dst: os_zalloc
      Src: /src/hostap/src/wps/wps_upnp.c:830,1
    - Dst: os_snprintf
      Src: /src/hostap/src/wps/wps_upnp.c:836,1
    - Dst: MAC2STR
      Src: /src/hostap/src/wps/wps_upnp.c:836,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp.c:837,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_upnp.c:839,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_upnp.c:842,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/wps/wps_upnp.c:842,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/wps_upnp.c:842,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/wps_upnp.c:843,1
    - Dst: base64_encode
      Src: /src/hostap/src/wps/wps_upnp.c:847,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_upnp.c:851,1
    - Dst: upnp_wps_device_send_event
      Src: /src/hostap/src/wps/wps_upnp.c:854,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_upnp.c:859,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 4
    argNames:
    - sm
    - from_mac_addr
    - ev_type
    - msg
    argTypes:
    - struct upnp_wps_device_sm*
    - u8[]
    - enum upnp_wps_wlanevent_type
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 809
    functionDepth: 3
    functionLinenumber: 809
    functionLinenumberEnd: 862
    functionName: upnp_wps_device_send_wlan_event
    functionSourceFile: /src/hostap/src/wps/wps_upnp.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - os_memcpy
    - upnp_wps_device_send_event
    - wpabuf_len
    - wpabuf_head
    - os_snprintf
    - MAC2STR
    - os_zalloc
    - os_free
    - base64_encode
    linkageType: ''
    returnType: int
    signature: "int upnp_wps_device_send_wlan_event(struct upnp_wps_device_sm *sm,\n\t\t\t\t
      \   const u8 from_mac_addr[ETH_ALEN],\n\t\t\t\t    enum upnp_wps_wlanevent_type
      ev_type,\n\t\t\t\t    const struct wpabuf *msg)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sysctl
      Src: /src/hostap/src/wps/wps_upnp.c:878,1
    - Dst: os_malloc
      Src: /src/hostap/src/wps/wps_upnp.c:880,1
    - Dst: sysctl
      Src: /src/hostap/src/wps/wps_upnp.c:882,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_upnp.c:883,1
    - Dst: os_memcmp
      Src: /src/hostap/src/wps/wps_upnp.c:893,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_upnp.c:895,1
    - Dst: LLADDR
      Src: /src/hostap/src/wps/wps_upnp.c:895,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_upnp.c:898,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 2
    argNames:
    - device
    - ea
    argTypes:
    - char*
    - u8[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 870
    functionDepth: 0
    functionLinenumber: 870
    functionLinenumberEnd: 905
    functionName: eth_get
    functionSourceFile: /src/hostap/src/wps/wps_upnp.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - os_malloc
    - os_memcmp
    - LLADDR
    - os_free
    - sysctl
    linkageType: ''
    returnType: int
    signature: int eth_get(const char *device, u8 ea[ETH_ALEN])
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/wps/wps_upnp.c:926,1
    - Dst: socket
      Src: /src/hostap/src/wps/wps_upnp.c:930,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/wps/wps_upnp.c:934,1
    - Dst: ioctl
      Src: /src/hostap/src/wps/wps_upnp.c:935,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp.c:936,1
    - Dst: strerror
      Src: /src/hostap/src/wps/wps_upnp.c:937,1
    - Dst: os_snprintf
      Src: /src/hostap/src/wps/wps_upnp.c:943,1
    - Dst: inet_ntoa
      Src: /src/hostap/src/wps/wps_upnp.c:943,1
    - Dst: os_memset
      Src: /src/hostap/src/wps/wps_upnp.c:946,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/wps/wps_upnp.c:947,1
    - Dst: ioctl
      Src: /src/hostap/src/wps/wps_upnp.c:948,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp.c:949,1
    - Dst: strerror
      Src: /src/hostap/src/wps/wps_upnp.c:951,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/wps/wps_upnp.c:959,1
    - Dst: ioctl
      Src: /src/hostap/src/wps/wps_upnp.c:960,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp.c:961,1
    - Dst: strerror
      Src: /src/hostap/src/wps/wps_upnp.c:962,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_upnp.c:965,1
    - Dst: eth_get
      Src: /src/hostap/src/wps/wps_upnp.c:967,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp.c:968,1
    - Dst: close
      Src: /src/hostap/src/wps/wps_upnp.c:975,1
    - Dst: close
      Src: /src/hostap/src/wps/wps_upnp.c:980,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_upnp.c:981,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 51
    argCount: 5
    argNames:
    - net_if
    - ip_addr
    - ip_addr_text
    - netmask
    - mac
    argTypes:
    - char*
    - unsigned*
    - char**
    - struct in_addr*
    - u8[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 918
    functionDepth: 0
    functionLinenumber: 918
    functionLinenumberEnd: 984
    functionName: get_netif_info
    functionSourceFile: /src/hostap/src/wps/wps_upnp.c
    functionUses: 0
    functionsReached:
    - ioctl
    - wpa_printf
    - os_memcpy
    - strerror
    - socket
    - os_strlcpy
    - os_snprintf
    - os_zalloc
    - close
    - os_free
    - inet_ntoa
    - eth_get
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int get_netif_info(const char *net_if, unsigned *ip_addr, char **ip_addr_text,\n\t\t
      \  struct in_addr *netmask, u8 mac[ETH_ALEN])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msearchreply_state_machine_stop
      Src: /src/hostap/src/wps/wps_upnp.c:992,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - head
    argTypes:
    - struct dl_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 987
    functionDepth: 1
    functionLinenumber: 987
    functionLinenumberEnd: 993
    functionName: upnp_wps_free_msearchreply
    functionSourceFile: /src/hostap/src/wps/wps_upnp.c
    functionUses: 0
    functionsReached:
    - msearchreply_state_machine_stop
    linkageType: ''
    returnType: void
    signature: void upnp_wps_free_msearchreply(struct dl_list *head)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_del
      Src: /src/hostap/src/wps/wps_upnp.c:1003,1
    - Dst: subscription_destroy
      Src: /src/hostap/src/wps/wps_upnp.c:1004,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - head
    - reg
    argTypes:
    - struct dl_list*
    - struct wps_registrar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 996
    functionDepth: 3
    functionLinenumber: 996
    functionLinenumberEnd: 1006
    functionName: upnp_wps_free_subscriptions
    functionSourceFile: /src/hostap/src/wps/wps_upnp.c
    functionUses: 0
    functionsReached:
    - dl_list_del
    - subscription_destroy
    linkageType: ''
    returnType: void
    signature: "void upnp_wps_free_subscriptions(struct dl_list *head,\n\t\t\t\t\tstruct
      wps_registrar *reg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_del
      Src: /src/hostap/src/wps/wps_upnp.c:1003,1
    - Dst: subscription_destroy
      Src: /src/hostap/src/wps/wps_upnp.c:1004,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 1000
    functionDepth: 3
    functionLinenumber: 1000
    functionLinenumberEnd: 1005
    functionName: dl_list_for_each_safe
    functionSourceFile: /src/hostap/src/wps/wps_upnp.c
    functionUses: 88
    functionsReached:
    - dl_list_del
    - subscription_destroy
    linkageType: ''
    returnType: void
    signature: void dl_list_for_each_safe(s, tmp, head, struct subscription, list)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp.c:1018,1
    - Dst: web_listener_stop
      Src: /src/hostap/src/wps/wps_upnp.c:1019,1
    - Dst: ssdp_listener_stop
      Src: /src/hostap/src/wps/wps_upnp.c:1020,1
    - Dst: upnp_wps_free_msearchreply
      Src: /src/hostap/src/wps/wps_upnp.c:1021,1
    - Dst: upnp_wps_free_subscriptions
      Src: /src/hostap/src/wps/wps_upnp.c:1022,1
    - Dst: advertisement_state_machine_stop
      Src: /src/hostap/src/wps/wps_upnp.c:1024,1
    - Dst: wps_upnp_event_send_stop_all
      Src: /src/hostap/src/wps/wps_upnp.c:1026,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_upnp.c:1027,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_upnp.c:1029,1
    - Dst: close
      Src: /src/hostap/src/wps/wps_upnp.c:1032,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct upnp_wps_device_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 1013
    functionDepth: 4
    functionLinenumber: 1013
    functionLinenumberEnd: 1036
    functionName: upnp_wps_device_stop
    functionSourceFile: /src/hostap/src/wps/wps_upnp.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - ssdp_listener_stop
    - upnp_wps_free_subscriptions
    - web_listener_stop
    - advertisement_state_machine_stop
    - close
    - upnp_wps_free_msearchreply
    - os_free
    - wps_upnp_event_send_stop_all
    linkageType: ''
    returnType: void
    signature: void upnp_wps_device_stop(struct upnp_wps_device_sm *sm)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: upnp_wps_device_stop
      Src: /src/hostap/src/wps/wps_upnp.c:1051,1
    - Dst: add_ssdp_network
      Src: /src/hostap/src/wps/wps_upnp.c:1059,1
    - Dst: get_netif_info
      Src: /src/hostap/src/wps/wps_upnp.c:1063,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp.c:1065,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp.c:1069,1
    - Dst: inet_ntoa
      Src: /src/hostap/src/wps/wps_upnp.c:1071,1
    - Dst: MAC2STR
      Src: /src/hostap/src/wps/wps_upnp.c:1072,1
    - Dst: web_listener_start
      Src: /src/hostap/src/wps/wps_upnp.c:1077,1
    - Dst: ssdp_listener_start
      Src: /src/hostap/src/wps/wps_upnp.c:1081,1
    - Dst: ssdp_open_multicast
      Src: /src/hostap/src/wps/wps_upnp.c:1085,1
    - Dst: advertisement_state_machine_start
      Src: /src/hostap/src/wps/wps_upnp.c:1093,1
    - Dst: upnp_wps_device_stop
      Src: /src/hostap/src/wps/wps_upnp.c:1099,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 2
    argNames:
    - sm
    - net_if
    argTypes:
    - struct upnp_wps_device_sm*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1101
      start: 1045
    functionDepth: 5
    functionLinenumber: 1045
    functionLinenumberEnd: 1101
    functionName: upnp_wps_device_start
    functionSourceFile: /src/hostap/src/wps/wps_upnp.c
    functionUses: 0
    functionsReached:
    - upnp_wps_device_stop
    - wpa_printf
    - get_netif_info
    - ssdp_listener_start
    - MAC2STR
    - ssdp_open_multicast
    - web_listener_start
    - inet_ntoa
    - advertisement_state_machine_start
    - add_ssdp_network
    linkageType: ''
    returnType: int
    signature: int upnp_wps_device_start(struct upnp_wps_device_sm *sm, char *net_if)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/wps/wps_upnp.c:1108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct upnp_wps_device_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 1104
    functionDepth: 0
    functionLinenumber: 1104
    functionLinenumberEnd: 1114
    functionName: upnp_wps_get_iface
    functionSourceFile: /src/hostap/src/wps/wps_upnp.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    linkageType: ''
    returnType: struct upnp_wps_device_interface
    signature: 'struct upnp_wps_device_interface *

      upnp_wps_get_iface(struct upnp_wps_device_sm *sm, void *priv)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: upnp_wps_get_iface
      Src: /src/hostap/src/wps/wps_upnp.c:1130,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp.c:1132,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp.c:1136,1
    - Dst: dl_list_len
      Src: /src/hostap/src/wps/wps_upnp.c:1137,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp.c:1138,1
    - Dst: upnp_wps_device_stop
      Src: /src/hostap/src/wps/wps_upnp.c:1140,1
    - Dst: upnp_wps_free_subscriptions
      Src: /src/hostap/src/wps/wps_upnp.c:1142,1
    - Dst: dl_list_del
      Src: /src/hostap/src/wps/wps_upnp.c:1144,1
    - Dst: dl_list_first
      Src: /src/hostap/src/wps/wps_upnp.c:1146,1
    - Dst: wps_deinit
      Src: /src/hostap/src/wps/wps_upnp.c:1149,1
    - Dst: dl_list_del
      Src: /src/hostap/src/wps/wps_upnp.c:1150,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_upnp.c:1151,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_upnp.c:1153,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_upnp.c:1154,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_upnp.c:1155,1
    - Dst: dl_list_empty
      Src: /src/hostap/src/wps/wps_upnp.c:1157,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_upnp.c:1158,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_upnp.c:1159,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_upnp.c:1160,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 2
    argNames:
    - sm
    - priv
    argTypes:
    - struct upnp_wps_device_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1163
      start: 1122
    functionDepth: 5
    functionLinenumber: 1122
    functionLinenumberEnd: 1163
    functionName: upnp_wps_device_deinit
    functionSourceFile: /src/hostap/src/wps/wps_upnp.c
    functionUses: 1
    functionsReached:
    - upnp_wps_device_stop
    - wpa_printf
    - dl_list_del
    - dl_list_empty
    - wps_deinit
    - upnp_wps_free_subscriptions
    - dl_list_first
    - upnp_wps_get_iface
    - os_free
    - dl_list_len
    linkageType: ''
    returnType: void
    signature: void upnp_wps_device_deinit(struct upnp_wps_device_sm *sm, void *priv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/wps/wps_upnp.c:1182,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_upnp.c:1184,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_upnp.c:1185,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp.c:1188,1
    - Dst: dl_list_init
      Src: /src/hostap/src/wps/wps_upnp.c:1190,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp.c:1196,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp.c:1200,1
    - Dst: os_zalloc
      Src: /src/hostap/src/wps/wps_upnp.c:1201,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp.c:1203,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_upnp.c:1205,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_upnp.c:1206,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_upnp.c:1207,1
    - Dst: dl_list_init
      Src: /src/hostap/src/wps/wps_upnp.c:1212,1
    - Dst: dl_list_init
      Src: /src/hostap/src/wps/wps_upnp.c:1213,1
    - Dst: dl_list_init
      Src: /src/hostap/src/wps/wps_upnp.c:1214,1
    - Dst: dl_list_add
      Src: /src/hostap/src/wps/wps_upnp.c:1218,1
    - Dst: upnp_wps_device_start
      Src: /src/hostap/src/wps/wps_upnp.c:1220,1
    - Dst: upnp_wps_device_deinit
      Src: /src/hostap/src/wps/wps_upnp.c:1221,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 37
    argCount: 4
    argNames:
    - ctx
    - wps
    - priv
    - net_if
    argTypes:
    - struct upnp_wps_device_ctx*
    - struct wps_context*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1174
    functionDepth: 6
    functionLinenumber: 1174
    functionLinenumberEnd: 1227
    functionName: upnp_wps_device_init
    functionSourceFile: /src/hostap/src/wps/wps_upnp.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - upnp_wps_device_deinit
    - os_zalloc
    - dl_list_add
    - dl_list_init
    - os_free
    - upnp_wps_device_start
    linkageType: ''
    returnType: struct upnp_wps_device_sm
    signature: "struct upnp_wps_device_sm *\nupnp_wps_device_init(struct upnp_wps_device_ctx
      *ctx, struct wps_context *wps,\n\t\t     void *priv, char *net_if)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_empty
      Src: /src/hostap/src/wps/wps_upnp.c:1237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct upnp_wps_device_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1235
    functionDepth: 1
    functionLinenumber: 1235
    functionLinenumberEnd: 1238
    functionName: upnp_wps_subscribers
    functionSourceFile: /src/hostap/src/wps/wps_upnp.c
    functionUses: 0
    functionsReached:
    - dl_list_empty
    linkageType: ''
    returnType: int
    signature: int upnp_wps_subscribers(struct upnp_wps_device_sm *sm)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/wps/wps_upnp.c:1247,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_upnp.c:1249,1
    - Dst: os_strdup
      Src: /src/hostap/src/wps/wps_upnp.c:1251,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - sm
    - ap_pin
    argTypes:
    - struct upnp_wps_device_sm*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1259
      start: 1241
    functionDepth: 0
    functionLinenumber: 1241
    functionLinenumberEnd: 1259
    functionName: upnp_wps_set_ap_pin
    functionSourceFile: /src/hostap/src/wps/wps_upnp.c
    functionUses: 2
    functionsReached:
    - dl_list_for_each
    - os_free
    - os_strdup
    linkageType: ''
    returnType: int
    signature: int upnp_wps_set_ap_pin(struct upnp_wps_device_sm *sm, const char *ap_pin)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/wps/wps.c:41,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps.c:47,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps.c:49,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps.c:50,1
    - Dst: os_memdup
      Src: /src/hostap/src/wps/wps.c:54,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps.c:56,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/wps/wps.c:60,1
    - Dst: os_memdup
      Src: /src/hostap/src/wps/wps.c:77,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/wps/wps.c:77,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/wps.c:78,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps.c:80,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/wps.c:83,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/wps/wps.c:84,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/wps/wps.c:93,1
    - Dst: os_strdup
      Src: /src/hostap/src/wps/wps.c:94,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps.c:96,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/wps/wps.c:106,1
    - Dst: wps_parse_msg
      Src: /src/hostap/src/wps/wps.c:108,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps.c:109,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps.c:112,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps.c:115,1
    - Dst: os_memdup
      Src: /src/hostap/src/wps/wps.c:124,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/wps/wps.c:127,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps.c:129,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps.c:135,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps.c:137,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps.c:143,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 81
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - struct wps_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 152
    functionName: wps_init
    functionSourceFile: /src/hostap/src/wps/wps.c
    functionUses: 3
    functionsReached:
    - os_memcpy
    - wpa_hexdump_key
    - wpa_printf
    - wpabuf_len
    - os_memdup
    - wpa_hexdump_buf
    - wps_parse_msg
    - wpabuf_head
    - os_zalloc
    - os_free
    - os_strdup
    - bin_clear_free
    linkageType: ''
    returnType: struct wps_data
    signature: struct wps_data * wps_init(const struct wps_config *cfg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wps_registrar_remove_nfc_pw_token
      Src: /src/hostap/src/wps/wps.c:163,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps.c:168,1
    - Dst: wps_registrar_invalidate_pin
      Src: /src/hostap/src/wps/wps.c:171,1
    - Dst: wps_registrar_unlock_pin
      Src: /src/hostap/src/wps/wps.c:174,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/wps/wps.c:176,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps.c:177,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps.c:178,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps.c:179,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/wps/wps.c:180,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/wps/wps.c:181,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/wps/wps.c:182,1
    - Dst: wps_device_data_free
      Src: /src/hostap/src/wps/wps.c:183,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/wps/wps.c:184,1
    - Dst: dh5_free
      Src: /src/hostap/src/wps/wps.c:185,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps.c:186,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct wps_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 187
    functionName: wps_deinit
    functionSourceFile: /src/hostap/src/wps/wps.c
    functionUses: 4
    functionsReached:
    - wps_registrar_remove_nfc_pw_token
    - wpa_printf
    - dh5_free
    - wps_registrar_invalidate_pin
    - wpabuf_free
    - wps_device_data_free
    - wps_registrar_unlock_pin
    - wpabuf_clear_free
    - os_free
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: void wps_deinit(struct wps_data *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wps_registrar_process_msg
      Src: /src/hostap/src/wps/wps.c:207,1
    - Dst: wps_enrollee_process_msg
      Src: /src/hostap/src/wps/wps.c:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - wps
    - op_code
    - msg
    argTypes:
    - struct wps_data*
    - enum wsc_op_code
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 210
    functionName: wps_process_msg
    functionSourceFile: /src/hostap/src/wps/wps.c
    functionUses: 2
    functionsReached:
    - wps_enrollee_process_msg
    - wps_registrar_process_msg
    linkageType: ''
    returnType: enum wps_process_res
    signature: "enum wps_process_res wps_process_msg(struct wps_data *wps,\n\t\t\t\t
      \    enum wsc_op_code op_code,\n\t\t\t\t     const struct wpabuf *msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wps_registrar_get_msg
      Src: /src/hostap/src/wps/wps.c:225,1
    - Dst: wps_enrollee_get_msg
      Src: /src/hostap/src/wps/wps.c:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wps
    - op_code
    argTypes:
    - struct wps_data*
    - enum wsc_op_code*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 228
    functionName: wps_get_msg
    functionSourceFile: /src/hostap/src/wps/wps.c
    functionUses: 2
    functionsReached:
    - wps_registrar_get_msg
    - wps_enrollee_get_msg
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * wps_get_msg(struct wps_data *wps, enum wsc_op_code
      *op_code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wps_parse_msg
      Src: /src/hostap/src/wps/wps.c:247,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/wps/wps.c:250,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/wps/wps.c:255,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 1
    argNames:
    - msg
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 261
    functionName: wps_is_selected_pbc_registrar
    functionSourceFile: /src/hostap/src/wps/wps.c
    functionUses: 7
    functionsReached:
    - WPA_GET_BE16
    - wps_parse_msg
    linkageType: ''
    returnType: int
    signature: int wps_is_selected_pbc_registrar(const struct wpabuf *msg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/wps/wps.c:278,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/wps/wps.c:283,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - attr
    argTypes:
    - struct wps_parse_attr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 289
    functionName: is_selected_pin_registrar
    functionSourceFile: /src/hostap/src/wps/wps.c
    functionUses: 3
    functionsReached:
    - WPA_GET_BE16
    linkageType: ''
    returnType: int
    signature: int is_selected_pin_registrar(struct wps_parse_attr *attr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wps_parse_msg
      Src: /src/hostap/src/wps/wps.c:301,1
    - Dst: is_selected_pin_registrar
      Src: /src/hostap/src/wps/wps.c:304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - msg
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 297
    functionDepth: 2
    functionLinenumber: 297
    functionLinenumberEnd: 305
    functionName: wps_is_selected_pin_registrar
    functionSourceFile: /src/hostap/src/wps/wps.c
    functionUses: 3
    functionsReached:
    - is_selected_pin_registrar
    - wps_parse_msg
    linkageType: ''
    returnType: int
    signature: int wps_is_selected_pin_registrar(const struct wpabuf *msg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wps_parse_msg
      Src: /src/hostap/src/wps/wps.c:324,1
    - Dst: is_selected_pin_registrar
      Src: /src/hostap/src/wps/wps.c:332,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/wps/wps.c:340,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/wps/wps.c:342,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - msg
    - addr
    - ver1_compat
    argTypes:
    - struct wpabuf*
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 316
    functionDepth: 2
    functionLinenumber: 316
    functionLinenumberEnd: 348
    functionName: wps_is_addr_authorized
    functionSourceFile: /src/hostap/src/wps/wps.c
    functionUses: 7
    functionsReached:
    - ether_addr_equal
    - is_selected_pin_registrar
    - wps_parse_msg
    linkageType: ''
    returnType: int
    signature: "int wps_is_addr_authorized(const struct wpabuf *msg, const u8 *addr,\n\t\t\t
      \  int ver1_compat)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wps_parse_msg
      Src: /src/hostap/src/wps/wps.c:364,1
    - Dst: wps_parse_msg
      Src: /src/hostap/src/wps/wps.c:368,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 2
    argNames:
    - wps_a
    - wps_b
    argTypes:
    - struct wpabuf*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 378
    functionName: wps_ap_priority_compar
    functionSourceFile: /src/hostap/src/wps/wps.c
    functionUses: 1
    functionsReached:
    - wps_parse_msg
    linkageType: ''
    returnType: int
    signature: "int wps_ap_priority_compar(const struct wpabuf *wps_a,\n\t\t\t   const
      struct wpabuf *wps_b)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wps_parse_msg
      Src: /src/hostap/src/wps/wps.c:393,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - msg
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 396
    functionName: wps_get_uuid_e
    functionSourceFile: /src/hostap/src/wps/wps.c
    functionUses: 2
    functionsReached:
    - wps_parse_msg
    linkageType: ''
    returnType: u8
    signature: u8 * wps_get_uuid_e(const struct wpabuf *msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wps_parse_msg
      Src: /src/hostap/src/wps/wps.c:406,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - msg
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 409
    functionName: wps_is_20
    functionSourceFile: /src/hostap/src/wps/wps.c
    functionUses: 2
    functionsReached:
    - wps_parse_msg
    linkageType: ''
    returnType: int
    signature: int wps_is_20(const struct wpabuf *msg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps.c:424,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/wps/wps.c:426,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/wps/wps.c:430,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/wps/wps.c:431,1
    - Dst: wpabuf_put_be32
      Src: /src/hostap/src/wps/wps.c:432,1
    - Dst: wps_build_version
      Src: /src/hostap/src/wps/wps.c:434,1
    - Dst: wps_build_req_type
      Src: /src/hostap/src/wps/wps.c:435,1
    - Dst: wps_build_wfa_ext
      Src: /src/hostap/src/wps/wps.c:436,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps.c:437,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/wps.c:441,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - req_type
    argTypes:
    - enum wps_request_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 444
    functionName: wps_build_assoc_req_ie
    functionSourceFile: /src/hostap/src/wps/wps.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put
    - wpabuf_put_u8
    - wps_build_req_type
    - wpabuf_len
    - wps_build_wfa_ext
    - wpabuf_free
    - wpabuf_alloc
    - wpabuf_put_be32
    - wps_build_version
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * wps_build_assoc_req_ie(enum wps_request_type req_type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps.c:458,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/wps/wps.c:460,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/wps/wps.c:464,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/wps/wps.c:465,1
    - Dst: wpabuf_put_be32
      Src: /src/hostap/src/wps/wps.c:466,1
    - Dst: wps_build_version
      Src: /src/hostap/src/wps/wps.c:468,1
    - Dst: wps_build_resp_type
      Src: /src/hostap/src/wps/wps.c:469,1
    - Dst: wps_build_wfa_ext
      Src: /src/hostap/src/wps/wps.c:470,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps.c:471,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/wps.c:475,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 478
    functionName: wps_build_assoc_resp_ie
    functionSourceFile: /src/hostap/src/wps/wps.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - wpabuf_put
    - wpabuf_put_u8
    - wpabuf_len
    - wps_build_wfa_ext
    - wpabuf_free
    - wpabuf_alloc
    - wpabuf_put_be32
    - wps_build_version
    - wps_build_resp_type
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * wps_build_assoc_resp_ie(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps.c:503,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/wps/wps.c:505,1
    - Dst: wps_build_version
      Src: /src/hostap/src/wps/wps.c:509,1
    - Dst: wps_build_req_type
      Src: /src/hostap/src/wps/wps.c:510,1
    - Dst: wps_build_config_methods
      Src: /src/hostap/src/wps/wps.c:511,1
    - Dst: wps_build_uuid_e
      Src: /src/hostap/src/wps/wps.c:512,1
    - Dst: wps_build_primary_dev_type
      Src: /src/hostap/src/wps/wps.c:513,1
    - Dst: wps_build_rf_bands
      Src: /src/hostap/src/wps/wps.c:514,1
    - Dst: wps_build_assoc_state
      Src: /src/hostap/src/wps/wps.c:515,1
    - Dst: wps_build_config_error
      Src: /src/hostap/src/wps/wps.c:516,1
    - Dst: wps_build_dev_password_id
      Src: /src/hostap/src/wps/wps.c:517,1
    - Dst: wps_build_manufacturer
      Src: /src/hostap/src/wps/wps.c:518,1
    - Dst: wps_build_model_name
      Src: /src/hostap/src/wps/wps.c:519,1
    - Dst: wps_build_model_number
      Src: /src/hostap/src/wps/wps.c:520,1
    - Dst: wps_build_dev_name
      Src: /src/hostap/src/wps/wps.c:521,1
    - Dst: wps_build_wfa_ext
      Src: /src/hostap/src/wps/wps.c:522,1
    - Dst: wps_build_req_dev_type
      Src: /src/hostap/src/wps/wps.c:523,1
    - Dst: wps_build_secondary_dev_type
      Src: /src/hostap/src/wps/wps.c:525,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps.c:527,1
    - Dst: wps_ie_encapsulate
      Src: /src/hostap/src/wps/wps.c:531,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 10
    argCount: 6
    argNames:
    - pw_id
    - dev
    - uuid
    - req_type
    - num_req_dev_types
    - req_dev_types
    argTypes:
    - u16
    - struct wps_device_data*
    - u8*
    - enum wps_request_type
    - unsigned int
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 495
    functionDepth: 1
    functionLinenumber: 495
    functionLinenumberEnd: 532
    functionName: wps_build_probe_req_ie
    functionSourceFile: /src/hostap/src/wps/wps.c
    functionUses: 3
    functionsReached:
    - wps_build_wfa_ext
    - wpabuf_alloc
    - wpa_printf
    - wps_build_secondary_dev_type
    - wps_build_dev_name
    - wps_build_dev_password_id
    - wps_build_model_number
    - wps_build_version
    - wps_build_model_name
    - wps_build_req_type
    - wps_build_primary_dev_type
    - wps_build_uuid_e
    - wps_build_manufacturer
    - wps_ie_encapsulate
    - wps_build_rf_bands
    - wps_build_req_dev_type
    - wps_build_config_methods
    - wps_build_assoc_state
    - wpabuf_free
    - wps_build_config_error
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * wps_build_probe_req_ie(u16 pw_id, struct wps_device_data
      *dev,\n\t\t\t\t       const u8 *uuid,\n\t\t\t\t       enum wps_request_type
      req_type,\n\t\t\t\t       unsigned int num_req_dev_types,\n\t\t\t\t       const
      u8 *req_dev_types)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps.c:542,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps.c:543,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - msgs
    argTypes:
    - struct upnp_pending_message*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 535
    functionDepth: 1
    functionLinenumber: 535
    functionLinenumberEnd: 545
    functionName: wps_free_pending_msgs
    functionSourceFile: /src/hostap/src/wps/wps.c
    functionUses: 1
    functionsReached:
    - os_free
    - wpabuf_free
    linkageType: ''
    returnType: void
    signature: void wps_free_pending_msgs(struct upnp_pending_message *msgs)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: wps_parse_msg
      Src: /src/hostap/src/wps/wps.c:554,1
    - Dst: os_snprintf
      Src: /src/hostap/src/wps/wps.c:559,1
    - Dst: os_snprintf
      Src: /src/hostap/src/wps/wps.c:562,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/wps/wps.c:566,1
    - Dst: os_snprintf
      Src: /src/hostap/src/wps/wps.c:572,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/wps/wps.c:574,1
    - Dst: os_snprintf
      Src: /src/hostap/src/wps/wps.c:580,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/wps/wps.c:582,1
    - Dst: os_snprintf
      Src: /src/hostap/src/wps/wps.c:588,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/wps/wps.c:590,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/wps/wps.c:591,1
    - Dst: os_snprintf
      Src: /src/hostap/src/wps/wps.c:597,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/wps/wps.c:600,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/wps/wps.c:601,1
    - Dst: os_snprintf
      Src: /src/hostap/src/wps/wps.c:608,1
    - Dst: wps_dev_type_bin2str
      Src: /src/hostap/src/wps/wps.c:610,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/wps/wps.c:613,1
    - Dst: os_malloc
      Src: /src/hostap/src/wps/wps.c:619,1
    - Dst: is_ctrl_char
      Src: /src/hostap/src/wps/wps.c:625,1
    - Dst: os_snprintf
      Src: /src/hostap/src/wps/wps.c:631,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps.c:632,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/wps/wps.c:633,1
    - Dst: os_snprintf
      Src: /src/hostap/src/wps/wps.c:639,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/wps/wps.c:641,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/wps/wps.c:642,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 65
    argCount: 3
    argNames:
    - data
    - buf
    - end
    argTypes:
    - struct wpabuf*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 548
    functionDepth: 1
    functionLinenumber: 548
    functionLinenumberEnd: 648
    functionName: wps_attr_text
    functionSourceFile: /src/hostap/src/wps/wps.c
    functionUses: 1
    functionsReached:
    - WPA_GET_BE16
    - os_malloc
    - wps_parse_msg
    - os_snprintf
    - is_ctrl_char
    - os_free
    - wps_dev_type_bin2str
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: int wps_attr_text(struct wpabuf *data, char *buf, char *end)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - ei
    argTypes:
    - enum wps_error_indication
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 665
    functionName: wps_ei_str
    functionSourceFile: /src/hostap/src/wps/wps.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * wps_ei_str(enum wps_error_indication ei)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:26,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_enrollee.c:28,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_enrollee.c:29,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/wps/wps_enrollee.c:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - wps
    - msg
    argTypes:
    - struct wps_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 32
    functionName: wps_build_wps_state
    functionSourceFile: /src/hostap/src/wps/wps_enrollee.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put_be16
    - wpabuf_put_u8
    linkageType: ''
    returnType: int
    signature: int wps_build_wps_state(struct wps_data *wps, struct wpabuf *msg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: random_get_bytes
      Src: /src/hostap/src/wps/wps_enrollee.c:41,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/wps/wps_enrollee.c:43,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/wps/wps_enrollee.c:44,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:48,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:53,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_enrollee.c:54,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_enrollee.c:55,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/wps/wps_enrollee.c:56,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/wps/wps_enrollee.c:62,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/wps_enrollee.c:63,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/wps/wps_enrollee.c:64,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/wps_enrollee.c:65,1
    - Dst: hmac_sha256_vector
      Src: /src/hostap/src/wps/wps_enrollee.c:66,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/wps/wps_enrollee.c:67,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:69,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_enrollee.c:70,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_enrollee.c:71,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/wps/wps_enrollee.c:72,1
    - Dst: hmac_sha256_vector
      Src: /src/hostap/src/wps/wps_enrollee.c:76,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/wps/wps_enrollee.c:77,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 32
    argCount: 2
    argNames:
    - wps
    - msg
    argTypes:
    - struct wps_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 80
    functionName: wps_build_e_hash
    functionSourceFile: /src/hostap/src/wps/wps_enrollee.c
    functionUses: 0
    functionsReached:
    - random_get_bytes
    - wpa_printf
    - wpabuf_put
    - wpa_hexdump
    - wpabuf_len
    - wpabuf_put_be16
    - wpabuf_head
    - hmac_sha256_vector
    linkageType: ''
    returnType: int
    signature: int wps_build_e_hash(struct wps_data *wps, struct wpabuf *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:85,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_enrollee.c:86,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_enrollee.c:87,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/wps/wps_enrollee.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - wps
    - msg
    argTypes:
    - struct wps_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: wps_build_e_snonce1
    functionSourceFile: /src/hostap/src/wps/wps_enrollee.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put_be16
    - wpabuf_put_data
    linkageType: ''
    returnType: int
    signature: int wps_build_e_snonce1(struct wps_data *wps, struct wpabuf *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:95,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_enrollee.c:96,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_enrollee.c:97,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/wps/wps_enrollee.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - wps
    - msg
    argTypes:
    - struct wps_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 101
    functionName: wps_build_e_snonce2
    functionSourceFile: /src/hostap/src/wps/wps_enrollee.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put_be16
    - wpabuf_put_data
    linkageType: ''
    returnType: int
    signature: int wps_build_e_snonce2(struct wps_data *wps, struct wpabuf *msg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: random_get_bytes
      Src: /src/hostap/src/wps/wps_enrollee.c:110,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/wps/wps_enrollee.c:112,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:115,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/wps/wps_enrollee.c:116,1
    - Dst: wps_build_version
      Src: /src/hostap/src/wps/wps_enrollee.c:141,1
    - Dst: wps_build_msg_type
      Src: /src/hostap/src/wps/wps_enrollee.c:142,1
    - Dst: wps_build_uuid_e
      Src: /src/hostap/src/wps/wps_enrollee.c:143,1
    - Dst: wps_build_mac_addr
      Src: /src/hostap/src/wps/wps_enrollee.c:144,1
    - Dst: wps_build_enrollee_nonce
      Src: /src/hostap/src/wps/wps_enrollee.c:145,1
    - Dst: wps_build_public_key
      Src: /src/hostap/src/wps/wps_enrollee.c:146,1
    - Dst: wps_build_auth_type_flags
      Src: /src/hostap/src/wps/wps_enrollee.c:147,1
    - Dst: wps_build_encr_type_flags
      Src: /src/hostap/src/wps/wps_enrollee.c:148,1
    - Dst: wps_build_conn_type_flags
      Src: /src/hostap/src/wps/wps_enrollee.c:149,1
    - Dst: wps_build_config_methods
      Src: /src/hostap/src/wps/wps_enrollee.c:150,1
    - Dst: wps_build_wps_state
      Src: /src/hostap/src/wps/wps_enrollee.c:151,1
    - Dst: wps_build_device_attrs
      Src: /src/hostap/src/wps/wps_enrollee.c:152,1
    - Dst: wps_build_rf_bands
      Src: /src/hostap/src/wps/wps_enrollee.c:153,1
    - Dst: struct wps_data*::wps::rf_band_cb
      Src: /src/hostap/src/wps/wps_enrollee.c:154,1
    - Dst: wps_build_assoc_state
      Src: /src/hostap/src/wps/wps_enrollee.c:155,1
    - Dst: wps_build_dev_password_id
      Src: /src/hostap/src/wps/wps_enrollee.c:156,1
    - Dst: wps_build_config_error
      Src: /src/hostap/src/wps/wps_enrollee.c:157,1
    - Dst: wps_build_os_version
      Src: /src/hostap/src/wps/wps_enrollee.c:158,1
    - Dst: wps_build_wfa_ext
      Src: /src/hostap/src/wps/wps_enrollee.c:159,1
    - Dst: wps_build_vendor_ext_m1
      Src: /src/hostap/src/wps/wps_enrollee.c:160,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_enrollee.c:161,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 21
    argCount: 1
    argNames:
    - wps
    argTypes:
    - struct wps_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 167
    functionName: wps_build_m1
    functionSourceFile: /src/hostap/src/wps/wps_enrollee.c
    functionUses: 0
    functionsReached:
    - wps_build_public_key
    - wps_build_wps_state
    - struct wps_data*::wps::rf_band_cb
    - wpa_hexdump
    - wps_build_wfa_ext
    - wpabuf_alloc
    - wps_build_os_version
    - wpa_printf
    - wps_build_vendor_ext_m1
    - wps_build_dev_password_id
    - wps_build_version
    - wps_build_device_attrs
    - wps_build_auth_type_flags
    - wps_build_uuid_e
    - wps_build_mac_addr
    - wps_build_enrollee_nonce
    - wps_build_rf_bands
    - random_get_bytes
    - wps_build_config_methods
    - wps_build_assoc_state
    - wpabuf_free
    - wps_build_msg_type
    - wps_build_config_error
    - wps_build_encr_type_flags
    - wps_build_conn_type_flags
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * wps_build_m1(struct wps_data *wps)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:174,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:177,1
    - Dst: wps_derive_psk
      Src: /src/hostap/src/wps/wps_enrollee.c:180,1
    - Dst: random_pool_ready
      Src: /src/hostap/src/wps/wps_enrollee.c:183,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:184,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/wps/wps_enrollee.c:189,1
    - Dst: wps_build_version
      Src: /src/hostap/src/wps/wps_enrollee.c:193,1
    - Dst: wps_build_msg_type
      Src: /src/hostap/src/wps/wps_enrollee.c:194,1
    - Dst: wps_build_registrar_nonce
      Src: /src/hostap/src/wps/wps_enrollee.c:195,1
    - Dst: wps_build_e_hash
      Src: /src/hostap/src/wps/wps_enrollee.c:196,1
    - Dst: wps_build_wfa_ext
      Src: /src/hostap/src/wps/wps_enrollee.c:197,1
    - Dst: wps_build_authenticator
      Src: /src/hostap/src/wps/wps_enrollee.c:198,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_enrollee.c:199,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 1
    argNames:
    - wps
    argTypes:
    - struct wps_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 205
    functionName: wps_build_m3
    functionSourceFile: /src/hostap/src/wps/wps_enrollee.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wps_build_registrar_nonce
    - wps_build_wfa_ext
    - wps_build_msg_type
    - wps_build_authenticator
    - wpabuf_free
    - wpabuf_alloc
    - wps_derive_psk
    - wps_build_version
    - random_pool_ready
    - wps_build_e_hash
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * wps_build_m3(struct wps_data *wps)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:212,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/wps/wps_enrollee.c:214,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/wps/wps_enrollee.c:218,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_enrollee.c:220,1
    - Dst: wps_build_version
      Src: /src/hostap/src/wps/wps_enrollee.c:224,1
    - Dst: wps_build_msg_type
      Src: /src/hostap/src/wps/wps_enrollee.c:225,1
    - Dst: wps_build_registrar_nonce
      Src: /src/hostap/src/wps/wps_enrollee.c:226,1
    - Dst: wps_build_e_snonce1
      Src: /src/hostap/src/wps/wps_enrollee.c:227,1
    - Dst: wps_build_key_wrap_auth
      Src: /src/hostap/src/wps/wps_enrollee.c:228,1
    - Dst: wps_build_encr_settings
      Src: /src/hostap/src/wps/wps_enrollee.c:229,1
    - Dst: wps_build_wfa_ext
      Src: /src/hostap/src/wps/wps_enrollee.c:230,1
    - Dst: wps_build_authenticator
      Src: /src/hostap/src/wps/wps_enrollee.c:231,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/wps/wps_enrollee.c:232,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_enrollee.c:233,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/wps/wps_enrollee.c:236,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 1
    argNames:
    - wps
    argTypes:
    - struct wps_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 208
    functionDepth: 2
    functionLinenumber: 208
    functionLinenumberEnd: 240
    functionName: wps_build_m5
    functionSourceFile: /src/hostap/src/wps/wps_enrollee.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wps_build_registrar_nonce
    - wpabuf_free
    - wps_build_msg_type
    - wps_build_wfa_ext
    - wps_build_authenticator
    - wpabuf_alloc
    - wps_build_key_wrap_auth
    - wps_build_encr_settings
    - wpabuf_clear_free
    - wps_build_version
    - wps_build_e_snonce1
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * wps_build_m5(struct wps_data *wps)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:245,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_enrollee.c:246,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_enrollee.c:247,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/wps/wps_enrollee.c:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - wps
    - msg
    argTypes:
    - struct wps_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 250
    functionName: wps_build_cred_ssid
    functionSourceFile: /src/hostap/src/wps/wps_enrollee.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put_be16
    - wpabuf_put_data
    linkageType: ''
    returnType: int
    signature: int wps_build_cred_ssid(struct wps_data *wps, struct wpabuf *msg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:269,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_enrollee.c:270,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_enrollee.c:271,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_enrollee.c:272,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - wps
    - msg
    argTypes:
    - struct wps_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 274
    functionName: wps_build_cred_auth_type
    functionSourceFile: /src/hostap/src/wps/wps_enrollee.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put_be16
    linkageType: ''
    returnType: int
    signature: int wps_build_cred_auth_type(struct wps_data *wps, struct wpabuf *msg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:293,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_enrollee.c:294,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_enrollee.c:295,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_enrollee.c:296,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - wps
    - msg
    argTypes:
    - struct wps_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 298
    functionName: wps_build_cred_encr_type
    functionSourceFile: /src/hostap/src/wps/wps_enrollee.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put_be16
    linkageType: ''
    returnType: int
    signature: int wps_build_cred_encr_type(struct wps_data *wps, struct wpabuf *msg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: random_pool_ready
      Src: /src/hostap/src/wps/wps_enrollee.c:308,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/wps/wps_enrollee.c:309,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:310,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/wps/wps_enrollee.c:314,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:316,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/wps/wps_enrollee.c:318,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_enrollee.c:319,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_enrollee.c:320,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/wps/wps_enrollee.c:321,1
    - Dst: wps_cb_new_psk
      Src: /src/hostap/src/wps/wps_enrollee.c:323,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:330,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_enrollee.c:332,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_enrollee.c:333,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/wps/wps_enrollee.c:334,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - wps
    - msg
    argTypes:
    - struct wps_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 336
    functionName: wps_build_cred_network_key
    functionSourceFile: /src/hostap/src/wps/wps_enrollee.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - random_get_bytes
    - wpa_snprintf_hex
    - wpa_hexdump_key
    - wpabuf_put_data
    - wpabuf_put_be16
    - random_pool_ready
    - wps_cb_new_psk
    linkageType: ''
    returnType: int
    signature: int wps_build_cred_network_key(struct wps_data *wps, struct wpabuf
      *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:341,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_enrollee.c:342,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_enrollee.c:343,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/wps/wps_enrollee.c:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - wps
    - msg
    argTypes:
    - struct wps_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 346
    functionName: wps_build_cred_mac_addr
    functionSourceFile: /src/hostap/src/wps/wps_enrollee.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put_be16
    - wpabuf_put_data
    linkageType: ''
    returnType: int
    signature: int wps_build_cred_mac_addr(struct wps_data *wps, struct wpabuf *msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:355,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/wps/wps_enrollee.c:356,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:361,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/wps/wps_enrollee.c:362,1
    - Dst: wps_build_cred_ssid
      Src: /src/hostap/src/wps/wps_enrollee.c:363,1
    - Dst: wps_build_cred_mac_addr
      Src: /src/hostap/src/wps/wps_enrollee.c:364,1
    - Dst: wps_build_cred_auth_type
      Src: /src/hostap/src/wps/wps_enrollee.c:365,1
    - Dst: wps_build_cred_encr_type
      Src: /src/hostap/src/wps/wps_enrollee.c:366,1
    - Dst: wps_build_cred_network_key
      Src: /src/hostap/src/wps/wps_enrollee.c:367,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/wps/wps_enrollee.c:368,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/wps/wps_enrollee.c:370,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - wps
    - plain
    argTypes:
    - struct wps_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 349
    functionDepth: 2
    functionLinenumber: 349
    functionLinenumberEnd: 374
    functionName: wps_build_ap_settings
    functionSourceFile: /src/hostap/src/wps/wps_enrollee.c
    functionUses: 0
    functionsReached:
    - wps_build_cred_mac_addr
    - wps_build_cred_encr_type
    - wpa_printf
    - wpabuf_put
    - wps_build_cred_network_key
    - wpa_hexdump_key
    - wpabuf_put_data
    - wps_build_cred_auth_type
    - wps_build_cred_ssid
    linkageType: ''
    returnType: int
    signature: int wps_build_ap_settings(struct wps_data *wps, struct wpabuf *plain)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:381,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/wps/wps_enrollee.c:383,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/wps/wps_enrollee.c:387,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_enrollee.c:389,1
    - Dst: wps_build_version
      Src: /src/hostap/src/wps/wps_enrollee.c:393,1
    - Dst: wps_build_msg_type
      Src: /src/hostap/src/wps/wps_enrollee.c:394,1
    - Dst: wps_build_registrar_nonce
      Src: /src/hostap/src/wps/wps_enrollee.c:395,1
    - Dst: wps_build_e_snonce2
      Src: /src/hostap/src/wps/wps_enrollee.c:396,1
    - Dst: wps_build_ap_settings
      Src: /src/hostap/src/wps/wps_enrollee.c:397,1
    - Dst: wps_build_key_wrap_auth
      Src: /src/hostap/src/wps/wps_enrollee.c:398,1
    - Dst: wps_build_encr_settings
      Src: /src/hostap/src/wps/wps_enrollee.c:399,1
    - Dst: wps_build_wfa_ext
      Src: /src/hostap/src/wps/wps_enrollee.c:400,1
    - Dst: wps_build_authenticator
      Src: /src/hostap/src/wps/wps_enrollee.c:401,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/wps/wps_enrollee.c:402,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_enrollee.c:403,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/wps/wps_enrollee.c:406,1
    - Dst: wps_device_store
      Src: /src/hostap/src/wps/wps_enrollee.c:414,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 21
    argCount: 1
    argNames:
    - wps
    argTypes:
    - struct wps_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 377
    functionDepth: 2
    functionLinenumber: 377
    functionLinenumberEnd: 420
    functionName: wps_build_m7
    functionSourceFile: /src/hostap/src/wps/wps_enrollee.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wps_build_registrar_nonce
    - wps_build_ap_settings
    - wps_build_e_snonce2
    - wpabuf_free
    - wps_build_msg_type
    - wps_build_wfa_ext
    - wps_build_authenticator
    - wpabuf_alloc
    - wps_build_key_wrap_auth
    - wps_device_store
    - wps_build_encr_settings
    - wpabuf_clear_free
    - wps_build_version
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * wps_build_m7(struct wps_data *wps)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:427,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/wps/wps_enrollee.c:429,1
    - Dst: wps_build_version
      Src: /src/hostap/src/wps/wps_enrollee.c:433,1
    - Dst: wps_build_msg_type
      Src: /src/hostap/src/wps/wps_enrollee.c:434,1
    - Dst: wps_build_enrollee_nonce
      Src: /src/hostap/src/wps/wps_enrollee.c:435,1
    - Dst: wps_build_registrar_nonce
      Src: /src/hostap/src/wps/wps_enrollee.c:436,1
    - Dst: wps_build_wfa_ext
      Src: /src/hostap/src/wps/wps_enrollee.c:437,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_enrollee.c:438,1
    - Dst: wps_success_event
      Src: /src/hostap/src/wps/wps_enrollee.c:445,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - wps
    argTypes:
    - struct wps_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 449
    functionName: wps_build_wsc_done
    functionSourceFile: /src/hostap/src/wps/wps_enrollee.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wps_build_registrar_nonce
    - wps_build_wfa_ext
    - wps_build_msg_type
    - wpabuf_free
    - wpabuf_alloc
    - wps_success_event
    - wps_build_version
    - wps_build_enrollee_nonce
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * wps_build_wsc_done(struct wps_data *wps)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: wps_build_m1
      Src: /src/hostap/src/wps/wps_enrollee.c:459,1
    - Dst: wps_build_m3
      Src: /src/hostap/src/wps/wps_enrollee.c:463,1
    - Dst: wps_build_m5
      Src: /src/hostap/src/wps/wps_enrollee.c:467,1
    - Dst: wps_build_m7
      Src: /src/hostap/src/wps/wps_enrollee.c:471,1
    - Dst: wps_build_wsc_nack
      Src: /src/hostap/src/wps/wps_enrollee.c:476,1
    - Dst: wps_build_wsc_ack
      Src: /src/hostap/src/wps/wps_enrollee.c:480,1
    - Dst: wps_build_wsc_nack
      Src: /src/hostap/src/wps/wps_enrollee.c:488,1
    - Dst: wps_build_wsc_done
      Src: /src/hostap/src/wps/wps_enrollee.c:492,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:496,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_enrollee.c:505,1
    - Dst: wpabuf_dup
      Src: /src/hostap/src/wps/wps_enrollee.c:506,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 48
    argCount: 2
    argNames:
    - wps
    - op_code
    argTypes:
    - struct wps_data*
    - enum wsc_op_code*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 452
    functionDepth: 3
    functionLinenumber: 452
    functionLinenumberEnd: 510
    functionName: wps_enrollee_get_msg
    functionSourceFile: /src/hostap/src/wps/wps_enrollee.c
    functionUses: 1
    functionsReached:
    - wpabuf_dup
    - wps_build_m5
    - wps_build_m7
    - wpa_printf
    - wpabuf_free
    - wps_build_m1
    - wps_build_wsc_ack
    - wps_build_wsc_done
    - wps_build_m3
    - wps_build_wsc_nack
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * wps_enrollee_get_msg(struct wps_data *wps,\n\t\t\t\t
      \    enum wsc_op_code *op_code)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:516,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_enrollee.c:520,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/wps/wps_enrollee.c:521,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - wps
    - r_nonce
    argTypes:
    - struct wps_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 525
    functionName: wps_process_registrar_nonce
    functionSourceFile: /src/hostap/src/wps/wps_enrollee.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_hexdump
    linkageType: ''
    returnType: int
    signature: int wps_process_registrar_nonce(struct wps_data *wps, const u8 *r_nonce)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:531,1
    - Dst: os_memcmp
      Src: /src/hostap/src/wps/wps_enrollee.c:535,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:536,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - wps
    - e_nonce
    argTypes:
    - struct wps_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 541
    functionName: wps_process_enrollee_nonce
    functionSourceFile: /src/hostap/src/wps/wps_enrollee.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcmp
    linkageType: ''
    returnType: int
    signature: int wps_process_enrollee_nonce(struct wps_data *wps, const u8 *e_nonce)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:547,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_enrollee.c:551,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/wps/wps_enrollee.c:552,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - wps
    - uuid_r
    argTypes:
    - struct wps_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 555
    functionName: wps_process_uuid_r
    functionSourceFile: /src/hostap/src/wps/wps_enrollee.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_hexdump
    linkageType: ''
    returnType: int
    signature: int wps_process_uuid_r(struct wps_data *wps, const u8 *uuid_r)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:562,1
    - Dst: sha256_vector
      Src: /src/hostap/src/wps/wps_enrollee.c:568,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/wps/wps_enrollee.c:569,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:571,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/wps/wps_enrollee.c:572,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/wps/wps_enrollee.c:574,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/wps/wps_enrollee.c:576,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_enrollee.c:584,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/wps/wps_enrollee.c:585,1
    - Dst: wps_derive_keys
      Src: /src/hostap/src/wps/wps_enrollee.c:589,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - wps
    - pk
    - pk_len
    argTypes:
    - struct wps_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 558
    functionDepth: 1
    functionLinenumber: 558
    functionLinenumberEnd: 593
    functionName: wps_process_pubkey
    functionSourceFile: /src/hostap/src/wps/wps_enrollee.c
    functionUses: 0
    functionsReached:
    - sha256_vector
    - wpa_printf
    - wpa_hexdump
    - wps_derive_keys
    - wpabuf_free
    - wpabuf_alloc_copy
    - os_memcmp_const
    linkageType: ''
    returnType: int
    signature: "int wps_process_pubkey(struct wps_data *wps, const u8 *pk,\n\t\t\t
      \     size_t pk_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:599,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_enrollee.c:603,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/wps/wps_enrollee.c:604,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - wps
    - r_hash1
    argTypes:
    - struct wps_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 607
    functionName: wps_process_r_hash1
    functionSourceFile: /src/hostap/src/wps/wps_enrollee.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_hexdump
    linkageType: ''
    returnType: int
    signature: int wps_process_r_hash1(struct wps_data *wps, const u8 *r_hash1)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:613,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_enrollee.c:617,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/wps/wps_enrollee.c:618,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - wps
    - r_hash2
    argTypes:
    - struct wps_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 621
    functionName: wps_process_r_hash2
    functionSourceFile: /src/hostap/src/wps/wps_enrollee.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_hexdump
    linkageType: ''
    returnType: int
    signature: int wps_process_r_hash2(struct wps_data *wps, const u8 *r_hash2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:631,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/wps/wps_enrollee.c:635,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/wps/wps_enrollee.c:643,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/wps_enrollee.c:644,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/wps/wps_enrollee.c:645,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/wps_enrollee.c:646,1
    - Dst: hmac_sha256_vector
      Src: /src/hostap/src/wps/wps_enrollee.c:647,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/wps/wps_enrollee.c:649,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:650,1
    - Dst: wps_pwd_auth_fail_event
      Src: /src/hostap/src/wps/wps_enrollee.c:653,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:657,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 2
    argNames:
    - wps
    - r_snonce1
    argTypes:
    - struct wps_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 661
    functionName: wps_process_r_snonce1
    functionSourceFile: /src/hostap/src/wps/wps_enrollee.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump_key
    - wps_pwd_auth_fail_event
    - wpabuf_len
    - wpabuf_head
    - os_memcmp_const
    - hmac_sha256_vector
    linkageType: ''
    returnType: int
    signature: int wps_process_r_snonce1(struct wps_data *wps, const u8 *r_snonce1)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:671,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/wps/wps_enrollee.c:675,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/wps/wps_enrollee.c:683,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/wps_enrollee.c:684,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/wps/wps_enrollee.c:685,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/wps_enrollee.c:686,1
    - Dst: hmac_sha256_vector
      Src: /src/hostap/src/wps/wps_enrollee.c:687,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/wps/wps_enrollee.c:689,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:690,1
    - Dst: wps_pwd_auth_fail_event
      Src: /src/hostap/src/wps/wps_enrollee.c:693,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:697,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 2
    argNames:
    - wps
    - r_snonce2
    argTypes:
    - struct wps_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 664
    functionDepth: 1
    functionLinenumber: 664
    functionLinenumberEnd: 701
    functionName: wps_process_r_snonce2
    functionSourceFile: /src/hostap/src/wps/wps_enrollee.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump_key
    - wps_pwd_auth_fail_event
    - wpabuf_len
    - wpabuf_head
    - os_memcmp_const
    - hmac_sha256_vector
    linkageType: ''
    returnType: int
    signature: int wps_process_r_snonce2(struct wps_data *wps, const u8 *r_snonce2)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:711,1
    - Dst: os_memset
      Src: /src/hostap/src/wps/wps_enrollee.c:712,1
    - Dst: wpabuf_set
      Src: /src/hostap/src/wps/wps_enrollee.c:713,1
    - Dst: wps_parse_msg
      Src: /src/hostap/src/wps/wps_enrollee.c:714,1
    - Dst: wps_process_cred
      Src: /src/hostap/src/wps/wps_enrollee.c:715,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/wps/wps_enrollee.c:718,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:719,1
    - Dst: MAC2STR
      Src: /src/hostap/src/wps/wps_enrollee.c:721,1
    - Dst: MAC2STR
      Src: /src/hostap/src/wps/wps_enrollee.c:722,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:732,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:742,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:748,1
    - Dst: struct wps_data*::wps::cred_cb
      Src: /src/hostap/src/wps/wps_enrollee.c:756,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 4
    argNames:
    - wps
    - cred
    - cred_len
    - wps2
    argTypes:
    - struct wps_data*
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 704
    functionDepth: 1
    functionLinenumber: 704
    functionLinenumberEnd: 762
    functionName: wps_process_cred_e
    functionSourceFile: /src/hostap/src/wps/wps_enrollee.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memset
    - ether_addr_equal
    - wpabuf_set
    - MAC2STR
    - struct wps_data*::wps::cred_cb
    - wps_process_cred
    - wps_parse_msg
    linkageType: ''
    returnType: int
    signature: "int wps_process_cred_e(struct wps_data *wps, const u8 *cred,\n\t\t\t
      \     size_t cred_len, int wps2)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:775,1
    - Dst: wps_process_cred_e
      Src: /src/hostap/src/wps/wps_enrollee.c:782,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:786,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:792,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 5
    argNames:
    - wps
    - cred
    - cred_len
    - num_cred
    - wps2
    argTypes:
    - struct wps_data*
    - u8*[]
    - u16[]
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 765
    functionDepth: 2
    functionLinenumber: 765
    functionLinenumberEnd: 798
    functionName: wps_process_creds
    functionSourceFile: /src/hostap/src/wps/wps_enrollee.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wps_process_cred_e
    linkageType: ''
    returnType: int
    signature: "int wps_process_creds(struct wps_data *wps, const u8 *cred[],\n\t\t\t
      \    u16 cred_len[], unsigned int num_cred, int wps2)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: wps_process_ap_settings
      Src: /src/hostap/src/wps/wps_enrollee.c:811,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:814,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/wps/wps_enrollee.c:817,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:818,1
    - Dst: MAC2STR
      Src: /src/hostap/src/wps/wps_enrollee.c:820,1
    - Dst: MAC2STR
      Src: /src/hostap/src/wps/wps_enrollee.c:821,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:831,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:841,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:847,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:858,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:869,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:876,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:883,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:887,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/wps/wps_enrollee.c:893,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/wps_enrollee.c:894,1
    - Dst: struct wps_data*::wps::cred_cb
      Src: /src/hostap/src/wps/wps_enrollee.c:895,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 51
    argCount: 4
    argNames:
    - wps
    - attr
    - attrs
    - wps2
    argTypes:
    - struct wps_data*
    - struct wps_parse_attr*
    - struct wpabuf*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 801
    functionDepth: 1
    functionLinenumber: 801
    functionLinenumberEnd: 899
    functionName: wps_process_ap_settings_e
    functionSourceFile: /src/hostap/src/wps/wps_enrollee.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_len
    - wps_process_ap_settings
    - ether_addr_equal
    - wpabuf_head
    - MAC2STR
    - struct wps_data*::wps::cred_cb
    linkageType: ''
    returnType: int
    signature: "int wps_process_ap_settings_e(struct wps_data *wps,\n\t\t\t\t     struct
      wps_parse_attr *attr,\n\t\t\t\t     struct wpabuf *attrs, int wps2)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:907,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/wps/wps_enrollee.c:911,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:913,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:929,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:935,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:939,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:945,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/wps/wps_enrollee.c:946,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 2
    argNames:
    - wps
    - dev_pw_id
    argTypes:
    - struct wps_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 902
    functionDepth: 1
    functionLinenumber: 902
    functionLinenumberEnd: 956
    functionName: wps_process_dev_pw_id
    functionSourceFile: /src/hostap/src/wps/wps_enrollee.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - WPA_GET_BE16
    - bin_clear_free
    linkageType: ''
    returnType: int
    signature: int wps_process_dev_pw_id(struct wps_data *wps, const u8 *dev_pw_id)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:963,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:966,1
    - Dst: wps_process_registrar_nonce
      Src: /src/hostap/src/wps/wps_enrollee.c:972,1
    - Dst: wps_process_enrollee_nonce
      Src: /src/hostap/src/wps/wps_enrollee.c:973,1
    - Dst: wps_process_uuid_r
      Src: /src/hostap/src/wps/wps_enrollee.c:974,1
    - Dst: wps_process_dev_pw_id
      Src: /src/hostap/src/wps/wps_enrollee.c:975,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:989,1
    - Dst: wps_process_pubkey
      Src: /src/hostap/src/wps/wps_enrollee.c:996,1
    - Dst: wps_process_authenticator
      Src: /src/hostap/src/wps/wps_enrollee.c:997,1
    - Dst: wps_process_device_attrs
      Src: /src/hostap/src/wps/wps_enrollee.c:998,1
    - Dst: wps_decrypt_encr_settings
      Src: /src/hostap/src/wps/wps_enrollee.c:1008,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:1011,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:1017,1
    - Dst: wps_parse_msg
      Src: /src/hostap/src/wps/wps_enrollee.c:1019,1
    - Dst: wps_process_key_wrap_auth
      Src: /src/hostap/src/wps/wps_enrollee.c:1020,1
    - Dst: wps_process_creds
      Src: /src/hostap/src/wps/wps_enrollee.c:1022,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/wps/wps_enrollee.c:1024,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/wps/wps_enrollee.c:1028,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 40
    argCount: 3
    argNames:
    - wps
    - msg
    - attr
    argTypes:
    - struct wps_data*
    - struct wpabuf*
    - struct wps_parse_attr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 959
    functionDepth: 3
    functionLinenumber: 959
    functionLinenumberEnd: 1037
    functionName: wps_process_m2
    functionSourceFile: /src/hostap/src/wps/wps_enrollee.c
    functionUses: 0
    functionsReached:
    - wps_process_enrollee_nonce
    - wpa_printf
    - wps_decrypt_encr_settings
    - wps_process_dev_pw_id
    - wps_process_uuid_r
    - wps_process_device_attrs
    - wps_process_key_wrap_auth
    - wps_process_pubkey
    - wps_process_authenticator
    - wps_process_creds
    - wpabuf_clear_free
    - wps_process_registrar_nonce
    - wps_parse_msg
    linkageType: ''
    returnType: enum wps_process_res
    signature: "enum wps_process_res wps_process_m2(struct wps_data *wps,\n\t\t\t\t\t
      \  const struct wpabuf *msg,\n\t\t\t\t\t   struct wps_parse_attr *attr)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:1043,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:1046,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/wps/wps_enrollee.c:1052,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/wps/wps_enrollee.c:1054,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/wps/wps_enrollee.c:1056,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/wps/wps_enrollee.c:1058,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/wps/wps_enrollee.c:1060,1
    - Dst: os_memset
      Src: /src/hostap/src/wps/wps_enrollee.c:1066,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/wps/wps_enrollee.c:1069,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/wps/wps_enrollee.c:1083,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/wps/wps_enrollee.c:1086,1
    - Dst: struct wps_data*::wps::event_cb
      Src: /src/hostap/src/wps/wps_enrollee.c:1087,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 2
    argNames:
    - wps
    - attr
    argTypes:
    - struct wps_data*
    - struct wps_parse_attr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 1040
    functionDepth: 1
    functionLinenumber: 1040
    functionLinenumberEnd: 1092
    functionName: wps_process_m2d
    functionSourceFile: /src/hostap/src/wps/wps_enrollee.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - WPA_GET_BE16
    - struct wps_data*::wps::event_cb
    - wpa_hexdump_ascii
    - os_memset
    linkageType: ''
    returnType: enum wps_process_res
    signature: "enum wps_process_res wps_process_m2d(struct wps_data *wps,\n\t\t\t\t\t
      \   struct wps_parse_attr *attr)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:1102,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:1105,1
    - Dst: wps_process_enrollee_nonce
      Src: /src/hostap/src/wps/wps_enrollee.c:1111,1
    - Dst: wps_process_authenticator
      Src: /src/hostap/src/wps/wps_enrollee.c:1112,1
    - Dst: wps_process_r_hash1
      Src: /src/hostap/src/wps/wps_enrollee.c:1113,1
    - Dst: wps_process_r_hash2
      Src: /src/hostap/src/wps/wps_enrollee.c:1114,1
    - Dst: wps_decrypt_encr_settings
      Src: /src/hostap/src/wps/wps_enrollee.c:1119,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:1122,1
    - Dst: wps_validate_m4_encr
      Src: /src/hostap/src/wps/wps_enrollee.c:1128,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/wps/wps_enrollee.c:1129,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:1134,1
    - Dst: wps_parse_msg
      Src: /src/hostap/src/wps/wps_enrollee.c:1136,1
    - Dst: wps_process_key_wrap_auth
      Src: /src/hostap/src/wps/wps_enrollee.c:1137,1
    - Dst: wps_process_r_snonce1
      Src: /src/hostap/src/wps/wps_enrollee.c:1138,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/wps/wps_enrollee.c:1139,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/wps/wps_enrollee.c:1143,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 3
    argNames:
    - wps
    - msg
    - attr
    argTypes:
    - struct wps_data*
    - struct wpabuf*
    - struct wps_parse_attr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1147
      start: 1095
    functionDepth: 2
    functionLinenumber: 1095
    functionLinenumberEnd: 1147
    functionName: wps_process_m4
    functionSourceFile: /src/hostap/src/wps/wps_enrollee.c
    functionUses: 0
    functionsReached:
    - wps_process_enrollee_nonce
    - wpa_printf
    - wps_decrypt_encr_settings
    - wps_process_r_hash1
    - wps_validate_m4_encr
    - wps_process_r_hash2
    - wps_process_key_wrap_auth
    - wps_process_authenticator
    - wpabuf_clear_free
    - wps_process_r_snonce1
    - wps_parse_msg
    linkageType: ''
    returnType: enum wps_process_res
    signature: "enum wps_process_res wps_process_m4(struct wps_data *wps,\n\t\t\t\t\t
      \  const struct wpabuf *msg,\n\t\t\t\t\t   struct wps_parse_attr *attr)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:1157,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:1160,1
    - Dst: wps_process_enrollee_nonce
      Src: /src/hostap/src/wps/wps_enrollee.c:1166,1
    - Dst: wps_process_authenticator
      Src: /src/hostap/src/wps/wps_enrollee.c:1167,1
    - Dst: wps_decrypt_encr_settings
      Src: /src/hostap/src/wps/wps_enrollee.c:1172,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:1175,1
    - Dst: wps_validate_m6_encr
      Src: /src/hostap/src/wps/wps_enrollee.c:1181,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/wps/wps_enrollee.c:1182,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:1187,1
    - Dst: wps_parse_msg
      Src: /src/hostap/src/wps/wps_enrollee.c:1189,1
    - Dst: wps_process_key_wrap_auth
      Src: /src/hostap/src/wps/wps_enrollee.c:1190,1
    - Dst: wps_process_r_snonce2
      Src: /src/hostap/src/wps/wps_enrollee.c:1191,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/wps/wps_enrollee.c:1192,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/wps/wps_enrollee.c:1196,1
    - Dst: struct wps_data*::wps::event_cb
      Src: /src/hostap/src/wps/wps_enrollee.c:1199,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 3
    argNames:
    - wps
    - msg
    - attr
    argTypes:
    - struct wps_data*
    - struct wpabuf*
    - struct wps_parse_attr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1204
      start: 1150
    functionDepth: 2
    functionLinenumber: 1150
    functionLinenumberEnd: 1204
    functionName: wps_process_m6
    functionSourceFile: /src/hostap/src/wps/wps_enrollee.c
    functionUses: 0
    functionsReached:
    - wps_process_r_snonce2
    - wps_process_enrollee_nonce
    - wpa_printf
    - wps_decrypt_encr_settings
    - wps_process_key_wrap_auth
    - wps_validate_m6_encr
    - struct wps_data*::wps::event_cb
    - wps_process_authenticator
    - wpabuf_clear_free
    - wps_parse_msg
    linkageType: ''
    returnType: enum wps_process_res
    signature: "enum wps_process_res wps_process_m6(struct wps_data *wps,\n\t\t\t\t\t
      \  const struct wpabuf *msg,\n\t\t\t\t\t   struct wps_parse_attr *attr)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:1214,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:1217,1
    - Dst: wps_process_enrollee_nonce
      Src: /src/hostap/src/wps/wps_enrollee.c:1223,1
    - Dst: wps_process_authenticator
      Src: /src/hostap/src/wps/wps_enrollee.c:1224,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:1235,1
    - Dst: wps_decrypt_encr_settings
      Src: /src/hostap/src/wps/wps_enrollee.c:1242,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:1245,1
    - Dst: wps_validate_m8_encr
      Src: /src/hostap/src/wps/wps_enrollee.c:1251,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/wps/wps_enrollee.c:1253,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:1258,1
    - Dst: wps_parse_msg
      Src: /src/hostap/src/wps/wps_enrollee.c:1260,1
    - Dst: wps_process_key_wrap_auth
      Src: /src/hostap/src/wps/wps_enrollee.c:1261,1
    - Dst: wps_process_creds
      Src: /src/hostap/src/wps/wps_enrollee.c:1262,1
    - Dst: wps_process_ap_settings_e
      Src: /src/hostap/src/wps/wps_enrollee.c:1264,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/wps/wps_enrollee.c:1266,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/wps/wps_enrollee.c:1270,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 3
    argNames:
    - wps
    - msg
    - attr
    argTypes:
    - struct wps_data*
    - struct wpabuf*
    - struct wps_parse_attr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1207
    functionDepth: 3
    functionLinenumber: 1207
    functionLinenumberEnd: 1274
    functionName: wps_process_m8
    functionSourceFile: /src/hostap/src/wps/wps_enrollee.c
    functionUses: 0
    functionsReached:
    - wps_process_enrollee_nonce
    - wpa_printf
    - wps_decrypt_encr_settings
    - wps_process_key_wrap_auth
    - wps_process_authenticator
    - wps_validate_m8_encr
    - wps_process_creds
    - wpabuf_clear_free
    - wps_process_ap_settings_e
    - wps_parse_msg
    linkageType: ''
    returnType: enum wps_process_res
    signature: "enum wps_process_res wps_process_m8(struct wps_data *wps,\n\t\t\t\t\t
      \  const struct wpabuf *msg,\n\t\t\t\t\t   struct wps_parse_attr *attr)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:1283,1
    - Dst: wps_parse_msg
      Src: /src/hostap/src/wps/wps_enrollee.c:1285,1
    - Dst: os_memcmp
      Src: /src/hostap/src/wps/wps_enrollee.c:1289,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:1290,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:1295,1
    - Dst: wps_validate_m2
      Src: /src/hostap/src/wps/wps_enrollee.c:1302,1
    - Dst: wps_process_m2
      Src: /src/hostap/src/wps/wps_enrollee.c:1304,1
    - Dst: wps_validate_m2d
      Src: /src/hostap/src/wps/wps_enrollee.c:1307,1
    - Dst: wps_process_m2d
      Src: /src/hostap/src/wps/wps_enrollee.c:1309,1
    - Dst: wps_validate_m4
      Src: /src/hostap/src/wps/wps_enrollee.c:1312,1
    - Dst: wps_process_m4
      Src: /src/hostap/src/wps/wps_enrollee.c:1314,1
    - Dst: wps_fail_event
      Src: /src/hostap/src/wps/wps_enrollee.c:1316,1
    - Dst: wps_validate_m6
      Src: /src/hostap/src/wps/wps_enrollee.c:1321,1
    - Dst: wps_process_m6
      Src: /src/hostap/src/wps/wps_enrollee.c:1323,1
    - Dst: wps_fail_event
      Src: /src/hostap/src/wps/wps_enrollee.c:1325,1
    - Dst: wps_validate_m8
      Src: /src/hostap/src/wps/wps_enrollee.c:1330,1
    - Dst: wps_process_m8
      Src: /src/hostap/src/wps/wps_enrollee.c:1332,1
    - Dst: wps_fail_event
      Src: /src/hostap/src/wps/wps_enrollee.c:1334,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:1339,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_enrollee.c:1354,1
    - Dst: wpabuf_dup
      Src: /src/hostap/src/wps/wps_enrollee.c:1355,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 54
    argCount: 2
    argNames:
    - wps
    - msg
    argTypes:
    - struct wps_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1359
      start: 1277
    functionDepth: 4
    functionLinenumber: 1277
    functionLinenumberEnd: 1359
    functionName: wps_process_wsc_msg
    functionSourceFile: /src/hostap/src/wps/wps_enrollee.c
    functionUses: 0
    functionsReached:
    - wpabuf_dup
    - wpa_printf
    - wps_validate_m6
    - wps_validate_m8
    - wps_process_m2d
    - wps_process_m8
    - wps_process_m4
    - wps_validate_m4
    - wpabuf_free
    - wps_process_m6
    - wps_process_m2
    - os_memcmp
    - wps_fail_event
    - wps_validate_m2
    - wps_validate_m2d
    - wps_parse_msg
    linkageType: ''
    returnType: enum wps_process_res
    signature: "enum wps_process_res wps_process_wsc_msg(struct wps_data *wps,\n\t\t\t\t\t\tconst
      struct wpabuf *msg)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:1367,1
    - Dst: wps_parse_msg
      Src: /src/hostap/src/wps/wps_enrollee.c:1369,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:1373,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:1378,1
    - Dst: os_memcmp
      Src: /src/hostap/src/wps/wps_enrollee.c:1384,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:1386,1
    - Dst: os_memcmp
      Src: /src/hostap/src/wps/wps_enrollee.c:1391,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:1392,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:1397,1
    - Dst: wps_success_event
      Src: /src/hostap/src/wps/wps_enrollee.c:1399,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 2
    argNames:
    - wps
    - msg
    argTypes:
    - struct wps_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1405
      start: 1362
    functionDepth: 1
    functionLinenumber: 1362
    functionLinenumberEnd: 1405
    functionName: wps_process_wsc_ack
    functionSourceFile: /src/hostap/src/wps/wps_enrollee.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wps_success_event
    - os_memcmp
    - wps_parse_msg
    linkageType: ''
    returnType: enum wps_process_res
    signature: "enum wps_process_res wps_process_wsc_ack(struct wps_data *wps,\n\t\t\t\t\t\tconst
      struct wpabuf *msg)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:1414,1
    - Dst: wps_parse_msg
      Src: /src/hostap/src/wps/wps_enrollee.c:1416,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:1420,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:1425,1
    - Dst: os_memcmp
      Src: /src/hostap/src/wps/wps_enrollee.c:1431,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:1433,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/wps/wps_enrollee.c:1434,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/wps/wps_enrollee.c:1436,1
    - Dst: os_memcmp
      Src: /src/hostap/src/wps/wps_enrollee.c:1442,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:1443,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/wps/wps_enrollee.c:1444,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/wps/wps_enrollee.c:1446,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:1452,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/wps/wps_enrollee.c:1457,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:1458,1
    - Dst: wps_fail_event
      Src: /src/hostap/src/wps/wps_enrollee.c:1463,1
    - Dst: wps_fail_event
      Src: /src/hostap/src/wps/wps_enrollee.c:1467,1
    - Dst: wps_fail_event
      Src: /src/hostap/src/wps/wps_enrollee.c:1471,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 2
    argNames:
    - wps
    - msg
    argTypes:
    - struct wps_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1483
      start: 1408
    functionDepth: 1
    functionLinenumber: 1408
    functionLinenumberEnd: 1483
    functionName: wps_process_wsc_nack
    functionSourceFile: /src/hostap/src/wps/wps_enrollee.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - WPA_GET_BE16
    - wpa_hexdump
    - os_memcmp
    - wps_fail_event
    - wps_parse_msg
    linkageType: ''
    returnType: enum wps_process_res
    signature: "enum wps_process_res wps_process_wsc_nack(struct wps_data *wps,\n\t\t\t\t\t\t
      const struct wpabuf *msg)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:1491,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/wps_enrollee.c:1493,1
    - Dst: wps_parse_msg
      Src: /src/hostap/src/wps/wps_enrollee.c:1498,1
    - Dst: wps_process_wsc_msg
      Src: /src/hostap/src/wps/wps_enrollee.c:1509,1
    - Dst: wps_validate_wsc_ack
      Src: /src/hostap/src/wps/wps_enrollee.c:1511,1
    - Dst: wps_process_wsc_ack
      Src: /src/hostap/src/wps/wps_enrollee.c:1513,1
    - Dst: wps_validate_wsc_nack
      Src: /src/hostap/src/wps/wps_enrollee.c:1515,1
    - Dst: wps_process_wsc_nack
      Src: /src/hostap/src/wps/wps_enrollee.c:1517,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_enrollee.c:1519,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - wps
    - op_code
    - msg
    argTypes:
    - struct wps_data*
    - enum wsc_op_code
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1522
      start: 1486
    functionDepth: 1
    functionLinenumber: 1486
    functionLinenumberEnd: 1522
    functionName: wps_enrollee_process_msg
    functionSourceFile: /src/hostap/src/wps/wps_enrollee.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wps_process_wsc_ack
    - wpabuf_len
    - wps_process_wsc_nack
    - wps_validate_wsc_nack
    - wps_process_wsc_msg
    - wps_validate_wsc_ack
    - wps_parse_msg
    linkageType: ''
    returnType: enum wps_process_res
    signature: "enum wps_process_res wps_enrollee_process_msg(struct wps_data *wps,\n\t\t\t\t\t
      \     enum wsc_op_code op_code,\n\t\t\t\t\t      const struct wpabuf *msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_dev_attr.c:19,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_dev_attr.c:20,1
    - Dst: os_strlen
      Src: /src/hostap/src/wps/wps_dev_attr.c:21,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_dev_attr.c:29,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/wps/wps_dev_attr.c:30,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_dev_attr.c:34,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/wps/wps_dev_attr.c:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - dev
    - msg
    argTypes:
    - struct wps_device_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 37
    functionName: wps_build_manufacturer
    functionSourceFile: /src/hostap/src/wps/wps_dev_attr.c
    functionUses: 1
    functionsReached:
    - os_strlen
    - wpa_printf
    - wpabuf_put_data
    - wpabuf_put_u8
    - wpabuf_put_be16
    linkageType: ''
    returnType: int
    signature: int wps_build_manufacturer(struct wps_device_data *dev, struct wpabuf
      *msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_dev_attr.c:43,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_dev_attr.c:44,1
    - Dst: os_strlen
      Src: /src/hostap/src/wps/wps_dev_attr.c:45,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_dev_attr.c:53,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/wps/wps_dev_attr.c:54,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_dev_attr.c:58,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/wps/wps_dev_attr.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - dev
    - msg
    argTypes:
    - struct wps_device_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 61
    functionName: wps_build_model_name
    functionSourceFile: /src/hostap/src/wps/wps_dev_attr.c
    functionUses: 1
    functionsReached:
    - os_strlen
    - wpa_printf
    - wpabuf_put_data
    - wpabuf_put_u8
    - wpabuf_put_be16
    linkageType: ''
    returnType: int
    signature: int wps_build_model_name(struct wps_device_data *dev, struct wpabuf
      *msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_dev_attr.c:67,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_dev_attr.c:68,1
    - Dst: os_strlen
      Src: /src/hostap/src/wps/wps_dev_attr.c:69,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_dev_attr.c:77,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/wps/wps_dev_attr.c:78,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_dev_attr.c:82,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/wps/wps_dev_attr.c:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - dev
    - msg
    argTypes:
    - struct wps_device_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 85
    functionName: wps_build_model_number
    functionSourceFile: /src/hostap/src/wps/wps_dev_attr.c
    functionUses: 1
    functionsReached:
    - os_strlen
    - wpa_printf
    - wpabuf_put_data
    - wpabuf_put_u8
    - wpabuf_put_be16
    linkageType: ''
    returnType: int
    signature: int wps_build_model_number(struct wps_device_data *dev, struct wpabuf
      *msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_dev_attr.c:91,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_dev_attr.c:92,1
    - Dst: os_strlen
      Src: /src/hostap/src/wps/wps_dev_attr.c:93,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_dev_attr.c:101,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/wps/wps_dev_attr.c:102,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_dev_attr.c:106,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/wps/wps_dev_attr.c:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - dev
    - msg
    argTypes:
    - struct wps_device_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 109
    functionName: wps_build_serial_number
    functionSourceFile: /src/hostap/src/wps/wps_dev_attr.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - wpabuf_put_data
    - wpabuf_put_u8
    - wpabuf_put_be16
    linkageType: ''
    returnType: int
    signature: int wps_build_serial_number(struct wps_device_data *dev, struct wpabuf
      *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_dev_attr.c:114,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_dev_attr.c:115,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_dev_attr.c:116,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/wps/wps_dev_attr.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - dev
    - msg
    argTypes:
    - struct wps_device_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 119
    functionName: wps_build_primary_dev_type
    functionSourceFile: /src/hostap/src/wps/wps_dev_attr.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpabuf_put_be16
    - wpabuf_put_data
    linkageType: ''
    returnType: int
    signature: int wps_build_primary_dev_type(struct wps_device_data *dev, struct
      wpabuf *msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_dev_attr.c:128,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_dev_attr.c:129,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_dev_attr.c:130,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/wps/wps_dev_attr.c:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - dev
    - msg
    argTypes:
    - struct wps_device_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 135
    functionName: wps_build_secondary_dev_type
    functionSourceFile: /src/hostap/src/wps/wps_dev_attr.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpabuf_put_be16
    - wpabuf_put_data
    linkageType: ''
    returnType: int
    signature: "int wps_build_secondary_dev_type(struct wps_device_data *dev,\n\t\t\t\t
      \ struct wpabuf *msg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/src/wps/wps_dev_attr.c:145,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_dev_attr.c:148,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_dev_attr.c:149,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/wps/wps_dev_attr.c:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - dev
    - msg
    - num_req_dev_types
    - req_dev_types
    argTypes:
    - struct wps_device_data*
    - struct wpabuf*
    - unsigned int
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 155
    functionName: wps_build_req_dev_type
    functionSourceFile: /src/hostap/src/wps/wps_dev_attr.c
    functionUses: 1
    functionsReached:
    - wpabuf_put_data
    - wpabuf_put_be16
    - wpa_hexdump
    linkageType: ''
    returnType: int
    signature: "int wps_build_req_dev_type(struct wps_device_data *dev, struct wpabuf
      *msg,\n\t\t\t   unsigned int num_req_dev_types,\n\t\t\t   const u8 *req_dev_types)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_dev_attr.c:161,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_dev_attr.c:162,1
    - Dst: os_strlen
      Src: /src/hostap/src/wps/wps_dev_attr.c:163,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_dev_attr.c:171,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/wps/wps_dev_attr.c:172,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_dev_attr.c:176,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/wps/wps_dev_attr.c:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - dev
    - msg
    argTypes:
    - struct wps_device_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 179
    functionName: wps_build_dev_name
    functionSourceFile: /src/hostap/src/wps/wps_dev_attr.c
    functionUses: 1
    functionsReached:
    - os_strlen
    - wpa_printf
    - wpabuf_put_data
    - wpabuf_put_u8
    - wpabuf_put_be16
    linkageType: ''
    returnType: int
    signature: int wps_build_dev_name(struct wps_device_data *dev, struct wpabuf *msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wps_build_manufacturer
      Src: /src/hostap/src/wps/wps_dev_attr.c:184,1
    - Dst: wps_build_model_name
      Src: /src/hostap/src/wps/wps_dev_attr.c:185,1
    - Dst: wps_build_model_number
      Src: /src/hostap/src/wps/wps_dev_attr.c:186,1
    - Dst: wps_build_serial_number
      Src: /src/hostap/src/wps/wps_dev_attr.c:187,1
    - Dst: wps_build_primary_dev_type
      Src: /src/hostap/src/wps/wps_dev_attr.c:188,1
    - Dst: wps_build_dev_name
      Src: /src/hostap/src/wps/wps_dev_attr.c:189,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 2
    argNames:
    - dev
    - msg
    argTypes:
    - struct wps_device_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 182
    functionDepth: 2
    functionLinenumber: 182
    functionLinenumberEnd: 192
    functionName: wps_build_device_attrs
    functionSourceFile: /src/hostap/src/wps/wps_dev_attr.c
    functionUses: 1
    functionsReached:
    - wps_build_dev_name
    - wps_build_primary_dev_type
    - wps_build_model_number
    - wps_build_manufacturer
    - wps_build_serial_number
    - wps_build_model_name
    linkageType: ''
    returnType: int
    signature: int wps_build_device_attrs(struct wps_device_data *dev, struct wpabuf
      *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_dev_attr.c:197,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_dev_attr.c:198,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_dev_attr.c:199,1
    - Dst: wpabuf_put_be32
      Src: /src/hostap/src/wps/wps_dev_attr.c:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - dev
    - msg
    argTypes:
    - struct wps_device_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 202
    functionName: wps_build_os_version
    functionSourceFile: /src/hostap/src/wps/wps_dev_attr.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpabuf_put_be16
    - wpabuf_put_be32
    linkageType: ''
    returnType: int
    signature: int wps_build_os_version(struct wps_device_data *dev, struct wpabuf
      *msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/src/wps/wps_dev_attr.c:208,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/wps/wps_dev_attr.c:209,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/wps_dev_attr.c:210,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_dev_attr.c:211,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_dev_attr.c:212,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/wps_dev_attr.c:212,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/wps/wps_dev_attr.c:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - dev
    - msg
    argTypes:
    - struct wps_device_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 216
    functionName: wps_build_vendor_ext_m1
    functionSourceFile: /src/hostap/src/wps/wps_dev_attr.c
    functionUses: 1
    functionsReached:
    - wpabuf_head_u8
    - wpa_hexdump
    - wpabuf_len
    - wpabuf_put_be16
    - wpabuf_put_buf
    linkageType: ''
    returnType: int
    signature: int wps_build_vendor_ext_m1(struct wps_device_data *dev, struct wpabuf
      *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wps_build_rf_bands_attr
      Src: /src/hostap/src/wps/wps_dev_attr.c:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dev
    - msg
    - rf_band
    argTypes:
    - struct wps_device_data*
    - struct wpabuf*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 223
    functionName: wps_build_rf_bands
    functionSourceFile: /src/hostap/src/wps/wps_dev_attr.c
    functionUses: 2
    functionsReached:
    - wps_build_rf_bands_attr
    linkageType: ''
    returnType: int
    signature: "int wps_build_rf_bands(struct wps_device_data *dev, struct wpabuf
      *msg,\n\t\t       u8 rf_band)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/src/wps/wps_dev_attr.c:233,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/wps/wps_dev_attr.c:234,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/wps_dev_attr.c:235,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_dev_attr.c:236,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_dev_attr.c:237,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/wps_dev_attr.c:237,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/wps/wps_dev_attr.c:238,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - dev
    - msg
    argTypes:
    - struct wps_device_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 242
    functionName: wps_build_vendor_ext
    functionSourceFile: /src/hostap/src/wps/wps_dev_attr.c
    functionUses: 0
    functionsReached:
    - wpabuf_head_u8
    - wpa_hexdump
    - wpabuf_len
    - wpabuf_put_be16
    - wpabuf_put_buf
    linkageType: ''
    returnType: int
    signature: int wps_build_vendor_ext(struct wps_device_data *dev, struct wpabuf
      *msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/wps/wps_dev_attr.c:250,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_dev_attr.c:252,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_dev_attr.c:253,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/wps_dev_attr.c:253,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/wps/wps_dev_attr.c:254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - dev
    - msg
    argTypes:
    - struct wps_device_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 257
    functionName: wps_build_application_ext
    functionSourceFile: /src/hostap/src/wps/wps_dev_attr.c
    functionUses: 0
    functionsReached:
    - wpabuf_len
    - wpabuf_put_buf
    - wpabuf_put_be16
    - wpa_hexdump_buf
    linkageType: ''
    returnType: int
    signature: int wps_build_application_ext(struct wps_device_data *dev, struct wpabuf
      *msg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_dev_attr.c:264,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/wps/wps_dev_attr.c:268,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_dev_attr.c:270,1
    - Dst: dup_binstr
      Src: /src/hostap/src/wps/wps_dev_attr.c:271,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - dev
    - str
    - str_len
    argTypes:
    - struct wps_device_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 276
    functionName: wps_process_manufacturer
    functionSourceFile: /src/hostap/src/wps/wps_dev_attr.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpa_printf
    - wpa_hexdump_ascii
    - dup_binstr
    linkageType: ''
    returnType: int
    signature: "int wps_process_manufacturer(struct wps_device_data *dev, const u8
      *str,\n\t\t\t\t    size_t str_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_dev_attr.c:283,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/wps/wps_dev_attr.c:287,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_dev_attr.c:289,1
    - Dst: dup_binstr
      Src: /src/hostap/src/wps/wps_dev_attr.c:290,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - dev
    - str
    - str_len
    argTypes:
    - struct wps_device_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 295
    functionName: wps_process_model_name
    functionSourceFile: /src/hostap/src/wps/wps_dev_attr.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpa_printf
    - wpa_hexdump_ascii
    - dup_binstr
    linkageType: ''
    returnType: int
    signature: "int wps_process_model_name(struct wps_device_data *dev, const u8 *str,\n\t\t\t\t
      \ size_t str_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_dev_attr.c:302,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/wps/wps_dev_attr.c:306,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_dev_attr.c:308,1
    - Dst: dup_binstr
      Src: /src/hostap/src/wps/wps_dev_attr.c:309,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - dev
    - str
    - str_len
    argTypes:
    - struct wps_device_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 314
    functionName: wps_process_model_number
    functionSourceFile: /src/hostap/src/wps/wps_dev_attr.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpa_printf
    - wpa_hexdump_ascii
    - dup_binstr
    linkageType: ''
    returnType: int
    signature: "int wps_process_model_number(struct wps_device_data *dev, const u8
      *str,\n\t\t\t\t    size_t str_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_dev_attr.c:321,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/wps/wps_dev_attr.c:325,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_dev_attr.c:327,1
    - Dst: dup_binstr
      Src: /src/hostap/src/wps/wps_dev_attr.c:328,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - dev
    - str
    - str_len
    argTypes:
    - struct wps_device_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 333
    functionName: wps_process_serial_number
    functionSourceFile: /src/hostap/src/wps/wps_dev_attr.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpa_printf
    - wpa_hexdump_ascii
    - dup_binstr
    linkageType: ''
    returnType: int
    signature: "int wps_process_serial_number(struct wps_device_data *dev,\n\t\t\t\t
      \    const u8 *str, size_t str_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_dev_attr.c:340,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/wps/wps_dev_attr.c:344,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_dev_attr.c:346,1
    - Dst: dup_binstr
      Src: /src/hostap/src/wps/wps_dev_attr.c:347,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - dev
    - str
    - str_len
    argTypes:
    - struct wps_device_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 352
    functionName: wps_process_dev_name
    functionSourceFile: /src/hostap/src/wps/wps_dev_attr.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpa_printf
    - wpa_hexdump_ascii
    - dup_binstr
    linkageType: ''
    returnType: int
    signature: "int wps_process_dev_name(struct wps_device_data *dev, const u8 *str,\n\t\t\t\tsize_t
      str_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_dev_attr.c:363,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_dev_attr.c:367,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_dev_attr.c:368,1
    - Dst: wps_dev_type_bin2str
      Src: /src/hostap/src/wps/wps_dev_attr.c:369,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - dev
    - dev_type
    argTypes:
    - struct wps_device_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 373
    functionName: wps_process_primary_dev_type
    functionSourceFile: /src/hostap/src/wps/wps_dev_attr.c
    functionUses: 0
    functionsReached:
    - wps_dev_type_bin2str
    - wpa_printf
    - os_memcpy
    linkageType: ''
    returnType: int
    signature: "int wps_process_primary_dev_type(struct wps_device_data *dev,\n\t\t\t\t\tconst
      u8 *dev_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wps_process_manufacturer
      Src: /src/hostap/src/wps/wps_dev_attr.c:379,1
    - Dst: wps_process_model_name
      Src: /src/hostap/src/wps/wps_dev_attr.c:381,1
    - Dst: wps_process_model_number
      Src: /src/hostap/src/wps/wps_dev_attr.c:383,1
    - Dst: wps_process_serial_number
      Src: /src/hostap/src/wps/wps_dev_attr.c:385,1
    - Dst: wps_process_primary_dev_type
      Src: /src/hostap/src/wps/wps_dev_attr.c:387,1
    - Dst: wps_process_dev_name
      Src: /src/hostap/src/wps/wps_dev_attr.c:388,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 2
    argNames:
    - dev
    - attr
    argTypes:
    - struct wps_device_data*
    - struct wps_parse_attr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 376
    functionDepth: 2
    functionLinenumber: 376
    functionLinenumberEnd: 391
    functionName: wps_process_device_attrs
    functionSourceFile: /src/hostap/src/wps/wps_dev_attr.c
    functionUses: 1
    functionsReached:
    - wps_process_dev_name
    - wps_process_model_name
    - wps_process_manufacturer
    - wps_process_serial_number
    - wps_process_primary_dev_type
    - wps_process_model_number
    linkageType: ''
    returnType: int
    signature: "int wps_process_device_attrs(struct wps_device_data *dev,\n\t\t\t
      \    struct wps_parse_attr *attr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_dev_attr.c:397,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/wps/wps_dev_attr.c:401,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_dev_attr.c:402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - dev
    - ver
    argTypes:
    - struct wps_device_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 405
    functionName: wps_process_os_version
    functionSourceFile: /src/hostap/src/wps/wps_dev_attr.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - WPA_GET_BE32
    linkageType: ''
    returnType: int
    signature: int wps_process_os_version(struct wps_device_data *dev, const u8 *ver)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_dev_attr.c:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dev
    - ext
    argTypes:
    - struct wps_device_data*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 413
    functionName: wps_process_vendor_ext_m1
    functionSourceFile: /src/hostap/src/wps/wps_dev_attr.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void wps_process_vendor_ext_m1(struct wps_device_data *dev, const u8
      ext)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_dev_attr.c:419,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_dev_attr.c:424,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - dev
    - bands
    argTypes:
    - struct wps_device_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 427
    functionName: wps_process_rf_bands
    functionSourceFile: /src/hostap/src/wps/wps_dev_attr.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int wps_process_rf_bands(struct wps_device_data *dev, const u8 *bands)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_dev_attr.c:432,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_dev_attr.c:434,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_dev_attr.c:436,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_dev_attr.c:438,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_dev_attr.c:440,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_dev_attr.c:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - dev
    argTypes:
    - struct wps_device_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 444
    functionName: wps_device_data_free
    functionSourceFile: /src/hostap/src/wps/wps_dev_attr.c
    functionUses: 2
    functionsReached:
    - os_free
    - wpabuf_free
    linkageType: ''
    returnType: void
    signature: void wps_device_data_free(struct wps_device_data *dev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/src/wps/wps_common.c:34,1
    - Dst: os_strlen
      Src: /src/hostap/src/wps/wps_common.c:41,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/src/wps/wps_common.c:50,1
    - Dst: hmac_sha256_vector
      Src: /src/hostap/src/wps/wps_common.c:51,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_common.c:53,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_common.c:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 6
    argNames:
    - key
    - label_prefix
    - label_prefix_len
    - label
    - res
    - res_len
    argTypes:
    - u8*
    - u8*
    - size_t
    - char*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 59
    functionName: wps_kdf
    functionSourceFile: /src/hostap/src/wps/wps_common.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - WPA_PUT_BE32
    - os_memcpy
    - hmac_sha256_vector
    linkageType: ''
    returnType: void
    signature: "void wps_kdf(const u8 *key, const u8 *label_prefix, size_t label_prefix_len,\n\t
      \    const char *label, u8 *res, size_t res_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_common.c:71,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_common.c:77,1
    - Dst: wpa_hexdump_buf_key
      Src: /src/hostap/src/wps/wps_common.c:81,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/wps/wps_common.c:82,1
    - Dst: dh5_derive_shared
      Src: /src/hostap/src/wps/wps_common.c:83,1
    - Dst: dh5_free
      Src: /src/hostap/src/wps/wps_common.c:84,1
    - Dst: wpabuf_zeropad
      Src: /src/hostap/src/wps/wps_common.c:86,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_common.c:88,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/wps/wps_common.c:93,1
    - Dst: wpa_hexdump_buf_key
      Src: /src/hostap/src/wps/wps_common.c:96,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/wps/wps_common.c:99,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/wps_common.c:100,1
    - Dst: sha256_vector
      Src: /src/hostap/src/wps/wps_common.c:101,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/wps/wps_common.c:102,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/wps/wps_common.c:103,1
    - Dst: hmac_sha256_vector
      Src: /src/hostap/src/wps/wps_common.c:112,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/wps/wps_common.c:113,1
    - Dst: wps_kdf
      Src: /src/hostap/src/wps/wps_common.c:115,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_common.c:117,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_common.c:118,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_common.c:119,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/wps/wps_common.c:122,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/wps/wps_common.c:124,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/wps/wps_common.c:126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 44
    argCount: 1
    argNames:
    - wps
    argTypes:
    - struct wps_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 129
    functionName: wps_derive_keys
    functionSourceFile: /src/hostap/src/wps/wps_common.c
    functionUses: 1
    functionsReached:
    - sha256_vector
    - wpa_printf
    - wpa_hexdump_key
    - os_memcpy
    - dh5_free
    - wpabuf_len
    - hmac_sha256_vector
    - wpabuf_head
    - dh5_derive_shared
    - wps_kdf
    - wpabuf_zeropad
    - wpabuf_clear_free
    - wpa_hexdump_buf_key
    - wpa_hexdump_buf
    linkageType: ''
    returnType: int
    signature: int wps_derive_keys(struct wps_data *wps)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hmac_sha256
      Src: /src/hostap/src/wps/wps_common.c:137,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_common.c:140,1
    - Dst: hmac_sha256
      Src: /src/hostap/src/wps/wps_common.c:141,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_common.c:145,1
    - Dst: wpa_hexdump_ascii_key
      Src: /src/hostap/src/wps/wps_common.c:147,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/wps/wps_common.c:149,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/wps/wps_common.c:150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - wps
    - dev_passwd
    - dev_passwd_len
    argTypes:
    - struct wps_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 152
    functionName: wps_derive_psk
    functionSourceFile: /src/hostap/src/wps/wps_common.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    - wpa_hexdump_key
    - wpa_hexdump_ascii_key
    - hmac_sha256
    linkageType: ''
    returnType: int
    signature: "int wps_derive_psk(struct wps_data *wps, const u8 *dev_passwd,\n\t\t
      \  size_t dev_passwd_len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_common.c:167,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/wps/wps_common.c:171,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/wps/wps_common.c:175,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/wps/wps_common.c:176,1
    - Dst: aes_128_cbc_decrypt
      Src: /src/hostap/src/wps/wps_common.c:177,1
    - Dst: wpabuf_mhead
      Src: /src/hostap/src/wps/wps_common.c:177,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/wps_common.c:178,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/wps/wps_common.c:179,1
    - Dst: wpa_hexdump_buf_key
      Src: /src/hostap/src/wps/wps_common.c:183,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/wps/wps_common.c:186,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/wps_common.c:186,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/wps_common.c:188,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_common.c:189,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/wps/wps_common.c:190,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_common.c:195,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/wps/wps_common.c:197,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 3
    argNames:
    - wps
    - encr
    - encr_len
    argTypes:
    - struct wps_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 204
    functionName: wps_decrypt_encr_settings
    functionSourceFile: /src/hostap/src/wps/wps_common.c
    functionUses: 4
    functionsReached:
    - wpa_printf
    - aes_128_cbc_decrypt
    - wpabuf_head_u8
    - wpabuf_put_data
    - wpa_hexdump
    - wpabuf_len
    - wpabuf_alloc
    - wpabuf_mhead
    - wpabuf_clear_free
    - wpa_hexdump_buf_key
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * wps_decrypt_encr_settings(struct wps_data *wps, const
      u8 *encr,\n\t\t\t\t\t  size_t encr_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - pin
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 223
    functionName: wps_pin_checksum
    functionSourceFile: /src/hostap/src/wps/wps_common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int wps_pin_checksum(unsigned int pin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wps_pin_checksum
      Src: /src/hostap/src/wps/wps_common.c:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pin
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 234
    functionName: wps_pin_valid
    functionSourceFile: /src/hostap/src/wps/wps_common.c
    functionUses: 2
    functionsReached:
    - wps_pin_checksum
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int wps_pin_valid(unsigned int pin)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: random_get_bytes
      Src: /src/hostap/src/wps/wps_common.c:246,1
    - Dst: wps_pin_checksum
      Src: /src/hostap/src/wps/wps_common.c:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pin
    argTypes:
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 253
    functionName: wps_generate_pin
    functionSourceFile: /src/hostap/src/wps/wps_common.c
    functionUses: 8
    functionsReached:
    - wps_pin_checksum
    - random_get_bytes
    linkageType: ''
    returnType: int
    signature: int wps_generate_pin(unsigned int *pin)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - pin
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 269
    functionName: wps_pin_str_valid
    functionSourceFile: /src/hostap/src/wps/wps_common.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wps_pin_str_valid(const char *pin)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/wps/wps_common.c:280,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_common.c:284,1
    - Dst: struct wps_context*::event_cb
      Src: /src/hostap/src/wps/wps_common.c:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - wps
    - msg
    - config_error
    - error_indication
    - mac_addr
    argTypes:
    - struct wps_context*
    - enum wps_msg_type
    - u16
    - u16
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 286
    functionName: wps_fail_event
    functionSourceFile: /src/hostap/src/wps/wps_common.c
    functionUses: 2
    functionsReached:
    - struct wps_context*::event_cb
    - os_memcpy
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void wps_fail_event(struct wps_context *wps, enum wps_msg_type msg,\n\t\t
      \   u16 config_error, u16 error_indication, const u8 *mac_addr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/wps/wps_common.c:296,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_common.c:297,1
    - Dst: struct wps_context*::event_cb
      Src: /src/hostap/src/wps/wps_common.c:298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - wps
    - mac_addr
    argTypes:
    - struct wps_context*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 299
    functionName: wps_success_event
    functionSourceFile: /src/hostap/src/wps/wps_common.c
    functionUses: 2
    functionsReached:
    - struct wps_context*::event_cb
    - os_memcpy
    - os_memset
    linkageType: ''
    returnType: void
    signature: void wps_success_event(struct wps_context *wps, const u8 *mac_addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/wps/wps_common.c:310,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_common.c:313,1
    - Dst: struct wps_context*::event_cb
      Src: /src/hostap/src/wps/wps_common.c:314,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - wps
    - enrollee
    - part
    - mac_addr
    argTypes:
    - struct wps_context*
    - int
    - int
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 315
    functionName: wps_pwd_auth_fail_event
    functionSourceFile: /src/hostap/src/wps/wps_common.c
    functionUses: 2
    functionsReached:
    - struct wps_context*::event_cb
    - os_memcpy
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void wps_pwd_auth_fail_event(struct wps_context *wps, int enrollee,
      int part,\n\t\t\t     const u8 *mac_addr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wps_context*::event_cb
      Src: /src/hostap/src/wps/wps_common.c:323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - wps
    argTypes:
    - struct wps_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 324
    functionName: wps_pbc_overlap_event
    functionSourceFile: /src/hostap/src/wps/wps_common.c
    functionUses: 0
    functionsReached:
    - struct wps_context*::event_cb
    linkageType: ''
    returnType: void
    signature: void wps_pbc_overlap_event(struct wps_context *wps)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wps_context*::event_cb
      Src: /src/hostap/src/wps/wps_common.c:332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - wps
    argTypes:
    - struct wps_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 333
    functionName: wps_pbc_timeout_event
    functionSourceFile: /src/hostap/src/wps/wps_common.c
    functionUses: 0
    functionsReached:
    - struct wps_context*::event_cb
    linkageType: ''
    returnType: void
    signature: void wps_pbc_timeout_event(struct wps_context *wps)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wps_context*::event_cb
      Src: /src/hostap/src/wps/wps_common.c:341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - wps
    argTypes:
    - struct wps_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 342
    functionName: wps_pbc_active_event
    functionSourceFile: /src/hostap/src/wps/wps_common.c
    functionUses: 0
    functionsReached:
    - struct wps_context*::event_cb
    linkageType: ''
    returnType: void
    signature: void wps_pbc_active_event(struct wps_context *wps)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wps_context*::event_cb
      Src: /src/hostap/src/wps/wps_common.c:350,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - wps
    argTypes:
    - struct wps_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 351
    functionName: wps_pbc_disable_event
    functionSourceFile: /src/hostap/src/wps/wps_common.c
    functionUses: 0
    functionsReached:
    - struct wps_context*::event_cb
    linkageType: ''
    returnType: void
    signature: void wps_pbc_disable_event(struct wps_context *wps)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/wps/wps_common.c:362,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_common.c:364,1
    - Dst: os_memset
      Src: /src/hostap/src/wps/wps_common.c:369,1
    - Dst: wps_build_cred
      Src: /src/hostap/src/wps/wps_common.c:373,1
    - Dst: wps_build_rf_bands_attr
      Src: /src/hostap/src/wps/wps_common.c:374,1
    - Dst: wps_build_ap_channel
      Src: /src/hostap/src/wps/wps_common.c:375,1
    - Dst: wps_build_mac_addr
      Src: /src/hostap/src/wps/wps_common.c:376,1
    - Dst: wps_build_wfa_ext
      Src: /src/hostap/src/wps/wps_common.c:377,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_common.c:378,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/wps/wps_common.c:379,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_common.c:387,1
    - Dst: os_memset
      Src: /src/hostap/src/wps/wps_common.c:390,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_common.c:391,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_common.c:395,1
    - Dst: wpa_hexdump_ascii_key
      Src: /src/hostap/src/wps/wps_common.c:399,1
    - Dst: struct wps_context*::cred_cb
      Src: /src/hostap/src/wps/wps_common.c:403,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_common.c:406,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 3
    argNames:
    - wps
    - rf_band
    - channel
    argTypes:
    - struct wps_context*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 409
    functionName: wps_get_oob_cred
    functionSourceFile: /src/hostap/src/wps/wps_common.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wps_build_rf_bands_attr
    - wps_build_cred
    - wps_build_wfa_ext
    - struct wps_context*::cred_cb
    - wpabuf_alloc
    - wps_build_mac_addr
    - wpabuf_clear_free
    - wpa_hexdump_ascii_key
    - os_free
    - wps_build_ap_channel
    - os_memset
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * wps_get_oob_cred(struct wps_context *wps, int rf_band,\n\t\t\t\t
      int channel)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/wps/wps_common.c:418,1
    - Dst: wps_build_oob_dev_pw
      Src: /src/hostap/src/wps/wps_common.c:422,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/wps/wps_common.c:423,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/wps_common.c:423,1
    - Dst: wps_build_wfa_ext
      Src: /src/hostap/src/wps/wps_common.c:424,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_common.c:425,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/wps/wps_common.c:427,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - dev_pw_id
    - pubkey
    - dev_pw
    argTypes:
    - u16
    - struct wpabuf*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 432
    functionName: wps_build_nfc_pw_token
    functionSourceFile: /src/hostap/src/wps/wps_common.c
    functionUses: 0
    functionsReached:
    - wps_build_oob_dev_pw
    - wpa_printf
    - wpabuf_len
    - wps_build_wfa_ext
    - wpabuf_head
    - wpabuf_alloc
    - wpabuf_clear_free
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * wps_build_nfc_pw_token(u16 dev_pw_id,\n\t\t\t\t       const
      struct wpabuf *pubkey,\n\t\t\t\t       const struct wpabuf *dev_pw)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/wps/wps_common.c:444,1
    - Dst: wpabuf_set
      Src: /src/hostap/src/wps/wps_common.c:445,1
    - Dst: wps_parse_msg
      Src: /src/hostap/src/wps/wps_common.c:446,1
    - Dst: wps_process_cred
      Src: /src/hostap/src/wps/wps_common.c:447,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_common.c:448,1
    - Dst: struct wps_context*::cred_cb
      Src: /src/hostap/src/wps/wps_common.c:452,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - wps
    - attr
    argTypes:
    - struct wps_context*
    - struct wps_parse_attr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 456
    functionName: wps_oob_use_cred
    functionSourceFile: /src/hostap/src/wps/wps_common.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - os_memset
    - struct wps_context*::cred_cb
    - wpabuf_set
    - wps_process_cred
    - wps_parse_msg
    linkageType: ''
    returnType: int
    signature: int wps_oob_use_cred(struct wps_context *wps, struct wps_parse_attr
      *attr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/wps/wps_common.c:467,1
    - Dst: atoi
      Src: /src/hostap/src/wps/wps_common.c:467,1
    - Dst: os_strchr
      Src: /src/hostap/src/wps/wps_common.c:468,1
    - Dst: hexstr2bin
      Src: /src/hostap/src/wps/wps_common.c:472,1
    - Dst: os_strchr
      Src: /src/hostap/src/wps/wps_common.c:474,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/wps/wps_common.c:478,1
    - Dst: atoi
      Src: /src/hostap/src/wps/wps_common.c:478,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - str
    - dev_type
    argTypes:
    - char*
    - u8[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 482
    functionName: wps_dev_type_str2bin
    functionSourceFile: /src/hostap/src/wps/wps_common.c
    functionUses: 4
    functionsReached:
    - atoi
    - os_strchr
    - hexstr2bin
    - WPA_PUT_BE16
    linkageType: ''
    returnType: int
    signature: int wps_dev_type_str2bin(const char *str, u8 dev_type[WPS_DEV_TYPE_LEN])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/src/wps/wps_common.c:490,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/wps/wps_common.c:491,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/wps/wps_common.c:491,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/wps/wps_common.c:492,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/wps/wps_common.c:493,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - dev_type
    - buf
    - buf_len
    argTypes:
    - u8[]
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 497
    functionName: wps_dev_type_bin2str
    functionSourceFile: /src/hostap/src/wps/wps_common.c
    functionUses: 15
    functionsReached:
    - os_snprintf
    - WPA_GET_BE16
    - WPA_GET_BE32
    - os_snprintf_error
    linkageType: ''
    returnType: char
    signature: "char * wps_dev_type_bin2str(const u8 dev_type[WPS_DEV_TYPE_LEN], char
      *buf,\n\t\t\t    size_t buf_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha1_vector
      Src: /src/hostap/src/wps/wps_common.c:517,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_common.c:518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - mac_addr
    - uuid
    argTypes:
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 525
    functionName: uuid_gen_mac_addr
    functionSourceFile: /src/hostap/src/wps/wps_common.c
    functionUses: 3
    functionsReached:
    - sha1_vector
    - os_memcpy
    linkageType: ''
    returnType: void
    signature: void uuid_gen_mac_addr(const u8 *mac_addr, u8 *uuid)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: os_strstr
      Src: /src/hostap/src/wps/wps_common.c:543,1
    - Dst: os_strstr
      Src: /src/hostap/src/wps/wps_common.c:545,1
    - Dst: os_strstr
      Src: /src/hostap/src/wps/wps_common.c:547,1
    - Dst: os_strstr
      Src: /src/hostap/src/wps/wps_common.c:549,1
    - Dst: os_strstr
      Src: /src/hostap/src/wps/wps_common.c:551,1
    - Dst: os_strstr
      Src: /src/hostap/src/wps/wps_common.c:553,1
    - Dst: os_strstr
      Src: /src/hostap/src/wps/wps_common.c:555,1
    - Dst: os_strstr
      Src: /src/hostap/src/wps/wps_common.c:557,1
    - Dst: os_strstr
      Src: /src/hostap/src/wps/wps_common.c:559,1
    - Dst: os_strstr
      Src: /src/hostap/src/wps/wps_common.c:561,1
    - Dst: os_strstr
      Src: /src/hostap/src/wps/wps_common.c:563,1
    - Dst: os_strstr
      Src: /src/hostap/src/wps/wps_common.c:565,1
    - Dst: os_strstr
      Src: /src/hostap/src/wps/wps_common.c:567,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 572
    functionName: wps_config_methods_str2bin
    functionSourceFile: /src/hostap/src/wps/wps_common.c
    functionUses: 3
    functionsReached:
    - os_strstr
    linkageType: ''
    returnType: u16
    signature: u16 wps_config_methods_str2bin(const char *str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_common.c:579,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/wps/wps_common.c:581,1
    - Dst: wps_build_version
      Src: /src/hostap/src/wps/wps_common.c:585,1
    - Dst: wps_build_msg_type
      Src: /src/hostap/src/wps/wps_common.c:586,1
    - Dst: wps_build_enrollee_nonce
      Src: /src/hostap/src/wps/wps_common.c:587,1
    - Dst: wps_build_registrar_nonce
      Src: /src/hostap/src/wps/wps_common.c:588,1
    - Dst: wps_build_wfa_ext
      Src: /src/hostap/src/wps/wps_common.c:589,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_common.c:590,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - wps
    argTypes:
    - struct wps_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 575
    functionDepth: 1
    functionLinenumber: 575
    functionLinenumberEnd: 595
    functionName: wps_build_wsc_ack
    functionSourceFile: /src/hostap/src/wps/wps_common.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wps_build_registrar_nonce
    - wps_build_wfa_ext
    - wps_build_msg_type
    - wpabuf_free
    - wpabuf_alloc
    - wps_build_version
    - wps_build_enrollee_nonce
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * wps_build_wsc_ack(struct wps_data *wps)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_common.c:602,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/wps/wps_common.c:604,1
    - Dst: wps_build_version
      Src: /src/hostap/src/wps/wps_common.c:608,1
    - Dst: wps_build_msg_type
      Src: /src/hostap/src/wps/wps_common.c:609,1
    - Dst: wps_build_enrollee_nonce
      Src: /src/hostap/src/wps/wps_common.c:610,1
    - Dst: wps_build_registrar_nonce
      Src: /src/hostap/src/wps/wps_common.c:611,1
    - Dst: wps_build_config_error
      Src: /src/hostap/src/wps/wps_common.c:612,1
    - Dst: wps_build_wfa_ext
      Src: /src/hostap/src/wps/wps_common.c:613,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_common.c:614,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - wps
    argTypes:
    - struct wps_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 598
    functionDepth: 1
    functionLinenumber: 598
    functionLinenumberEnd: 619
    functionName: wps_build_wsc_nack
    functionSourceFile: /src/hostap/src/wps/wps_common.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wps_build_registrar_nonce
    - wps_build_wfa_ext
    - wps_build_msg_type
    - wpabuf_free
    - wps_build_config_error
    - wpabuf_alloc
    - wps_build_version
    - wps_build_enrollee_nonce
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * wps_build_wsc_nack(struct wps_data *wps)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wps_build_nfc_pw_token
      Src: /src/hostap/src/wps/wps_common.c:632,1
    - Dst: ndef_build_wifi
      Src: /src/hostap/src/wps/wps_common.c:635,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_common.c:636,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 4
    argNames:
    - ndef
    - id
    - pubkey
    - dev_pw
    argTypes:
    - int
    - int
    - struct wpabuf*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 624
    functionDepth: 2
    functionLinenumber: 624
    functionLinenumberEnd: 643
    functionName: wps_nfc_token_build
    functionSourceFile: /src/hostap/src/wps/wps_common.c
    functionUses: 2
    functionsReached:
    - wpabuf_free
    - ndef_build_wifi
    - wps_build_nfc_pw_token
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * wps_nfc_token_build(int ndef, int id, struct wpabuf
      *pubkey,\n\t\t\t\t    struct wpabuf *dev_pw)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dh5_init
      Src: /src/hostap/src/wps/wps_common.c:651,1
    - Dst: wpabuf_zeropad
      Src: /src/hostap/src/wps/wps_common.c:654,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_common.c:656,1
    - Dst: dh5_free
      Src: /src/hostap/src/wps/wps_common.c:657,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/wps/wps_common.c:660,1
    - Dst: dh5_free
      Src: /src/hostap/src/wps/wps_common.c:661,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_common.c:663,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/wps/wps_common.c:665,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - pubkey
    - privkey
    argTypes:
    - struct wpabuf**
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 646
    functionDepth: 1
    functionLinenumber: 646
    functionLinenumberEnd: 669
    functionName: wps_nfc_gen_dh
    functionSourceFile: /src/hostap/src/wps/wps_common.c
    functionUses: 6
    functionsReached:
    - dh5_free
    - wpabuf_free
    - wpabuf_zeropad
    - wpabuf_clear_free
    - dh5_init
    - wpa_hexdump_buf
    linkageType: ''
    returnType: int
    signature: int wps_nfc_gen_dh(struct wpabuf **pubkey, struct wpabuf **privkey)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/wps/wps_common.c:679,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/wps/wps_common.c:683,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/wps/wps_common.c:683,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/wps/wps_common.c:685,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_common.c:686,1
    - Dst: wps_nfc_gen_dh
      Src: /src/hostap/src/wps/wps_common.c:690,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_common.c:691,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/wps/wps_common.c:696,1
    - Dst: wps_nfc_token_build
      Src: /src/hostap/src/wps/wps_common.c:699,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 5
    argNames:
    - ndef
    - id
    - pubkey
    - privkey
    - dev_pw
    argTypes:
    - int
    - int*
    - struct wpabuf**
    - struct wpabuf**
    - struct wpabuf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 672
    functionDepth: 3
    functionLinenumber: 672
    functionLinenumberEnd: 700
    functionName: wps_nfc_token_gen
    functionSourceFile: /src/hostap/src/wps/wps_common.c
    functionUses: 4
    functionsReached:
    - random_get_bytes
    - wpabuf_put
    - wpabuf_free
    - wps_nfc_token_build
    - wpabuf_alloc
    - wpabuf_clear_free
    - wps_nfc_gen_dh
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * wps_nfc_token_gen(int ndef, int *id, struct wpabuf
      **pubkey,\n\t\t\t\t  struct wpabuf **privkey,\n\t\t\t\t  struct wpabuf **dev_pw)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_common.c:712,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_common.c:716,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/wps/wps_common.c:721,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/wps/wps_common.c:724,1
    - Dst: wps_build_oob_dev_pw
      Src: /src/hostap/src/wps/wps_common.c:726,1
    - Dst: wps_build_uuid_e
      Src: /src/hostap/src/wps/wps_common.c:728,1
    - Dst: wps_build_wfa_ext
      Src: /src/hostap/src/wps/wps_common.c:729,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_common.c:730,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/wps/wps_common.c:734,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/wps_common.c:734,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - ctx
    - nfc_dh_pubkey
    argTypes:
    - struct wps_context*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 703
    functionDepth: 1
    functionLinenumber: 703
    functionLinenumberEnd: 737
    functionName: wps_build_nfc_handover_req
    functionSourceFile: /src/hostap/src/wps/wps_common.c
    functionUses: 1
    functionsReached:
    - wps_build_oob_dev_pw
    - wpa_printf
    - wpabuf_put
    - wpabuf_len
    - wps_build_wfa_ext
    - wpabuf_free
    - WPA_PUT_BE16
    - wpabuf_alloc
    - wps_build_uuid_e
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * wps_build_nfc_handover_req(struct wps_context *ctx,\n\t\t\t\t\t
      \  struct wpabuf *nfc_dh_pubkey)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_common.c:742,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/wps/wps_common.c:743,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_common.c:745,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_common.c:746,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/wps/wps_common.c:747,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - msg
    - wps
    argTypes:
    - struct wpabuf*
    - struct wps_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 740
    functionDepth: 1
    functionLinenumber: 740
    functionLinenumberEnd: 749
    functionName: wps_build_ssid
    functionSourceFile: /src/hostap/src/wps/wps_common.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump_ascii
    - wpabuf_put_data
    - wpabuf_put_be16
    linkageType: ''
    returnType: int
    signature: int wps_build_ssid(struct wpabuf *msg, struct wps_context *wps)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ieee80211_freq_to_chan
      Src: /src/hostap/src/wps/wps_common.c:761,1
    - Dst: wps_build_rf_bands_attr
      Src: /src/hostap/src/wps/wps_common.c:775,1
    - Dst: wps_build_ap_channel
      Src: /src/hostap/src/wps/wps_common.c:776,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - msg
    - freq
    argTypes:
    - struct wpabuf*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 752
    functionDepth: 2
    functionLinenumber: 752
    functionLinenumberEnd: 780
    functionName: wps_build_ap_freq
    functionSourceFile: /src/hostap/src/wps/wps_common.c
    functionUses: 0
    functionsReached:
    - ieee80211_freq_to_chan
    - wps_build_ap_channel
    - wps_build_rf_bands_attr
    linkageType: ''
    returnType: int
    signature: int wps_build_ap_freq(struct wpabuf *msg, int freq)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_common.c:793,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_common.c:797,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/wps/wps_common.c:802,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/wps/wps_common.c:805,1
    - Dst: wps_build_oob_dev_pw
      Src: /src/hostap/src/wps/wps_common.c:807,1
    - Dst: wps_build_ssid
      Src: /src/hostap/src/wps/wps_common.c:809,1
    - Dst: wps_build_ap_freq
      Src: /src/hostap/src/wps/wps_common.c:810,1
    - Dst: wps_build_mac_addr
      Src: /src/hostap/src/wps/wps_common.c:811,1
    - Dst: wps_build_wfa_ext
      Src: /src/hostap/src/wps/wps_common.c:812,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_common.c:813,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/wps/wps_common.c:817,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/wps_common.c:817,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 4
    argNames:
    - ctx
    - nfc_dh_pubkey
    - bssid
    - freq
    argTypes:
    - struct wps_context*
    - struct wpabuf*
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 783
    functionDepth: 3
    functionLinenumber: 783
    functionLinenumberEnd: 820
    functionName: wps_build_nfc_handover_sel
    functionSourceFile: /src/hostap/src/wps/wps_common.c
    functionUses: 1
    functionsReached:
    - wps_build_oob_dev_pw
    - wpa_printf
    - wpabuf_put
    - wps_build_ap_freq
    - wps_build_ssid
    - wpabuf_len
    - wps_build_wfa_ext
    - wpabuf_free
    - WPA_PUT_BE16
    - wpabuf_alloc
    - wps_build_mac_addr
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * wps_build_nfc_handover_sel(struct wps_context *ctx,\n\t\t\t\t\t
      \  struct wpabuf *nfc_dh_pubkey,\n\t\t\t\t\t   const u8 *bssid, int freq)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_common.c:831,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_common.c:835,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/wps/wps_common.c:839,1
    - Dst: wps_build_manufacturer
      Src: /src/hostap/src/wps/wps_common.c:843,1
    - Dst: wps_build_model_name
      Src: /src/hostap/src/wps/wps_common.c:844,1
    - Dst: wps_build_model_number
      Src: /src/hostap/src/wps/wps_common.c:845,1
    - Dst: wps_build_oob_dev_pw
      Src: /src/hostap/src/wps/wps_common.c:846,1
    - Dst: wps_build_rf_bands
      Src: /src/hostap/src/wps/wps_common.c:848,1
    - Dst: wps_build_serial_number
      Src: /src/hostap/src/wps/wps_common.c:849,1
    - Dst: wps_build_uuid_e
      Src: /src/hostap/src/wps/wps_common.c:850,1
    - Dst: wps_build_wfa_ext
      Src: /src/hostap/src/wps/wps_common.c:851,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_common.c:852,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 2
    argNames:
    - ctx
    - nfc_dh_pubkey
    argTypes:
    - struct wps_context*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 823
    functionDepth: 2
    functionLinenumber: 823
    functionLinenumberEnd: 857
    functionName: wps_build_nfc_handover_req_p2p
    functionSourceFile: /src/hostap/src/wps/wps_common.c
    functionUses: 1
    functionsReached:
    - wps_build_oob_dev_pw
    - wps_build_rf_bands
    - wpa_printf
    - wps_build_wfa_ext
    - wpabuf_free
    - wpabuf_alloc
    - wps_build_model_number
    - wps_build_manufacturer
    - wps_build_uuid_e
    - wps_build_serial_number
    - wps_build_model_name
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * wps_build_nfc_handover_req_p2p(struct wps_context
      *ctx,\n\t\t\t\t\t       struct wpabuf *nfc_dh_pubkey)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_common.c:872,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_common.c:878,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/wps/wps_common.c:883,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/wps/wps_common.c:888,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/wps_common.c:889,1
    - Dst: wps_build_manufacturer
      Src: /src/hostap/src/wps/wps_common.c:895,1
    - Dst: wps_build_model_name
      Src: /src/hostap/src/wps/wps_common.c:896,1
    - Dst: wps_build_model_number
      Src: /src/hostap/src/wps/wps_common.c:897,1
    - Dst: wps_build_oob_dev_pw
      Src: /src/hostap/src/wps/wps_common.c:898,1
    - Dst: wps_build_rf_bands
      Src: /src/hostap/src/wps/wps_common.c:900,1
    - Dst: wps_build_serial_number
      Src: /src/hostap/src/wps/wps_common.c:901,1
    - Dst: wps_build_uuid_e
      Src: /src/hostap/src/wps/wps_common.c:902,1
    - Dst: wps_build_wfa_ext
      Src: /src/hostap/src/wps/wps_common.c:903,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_common.c:904,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 23
    argCount: 4
    argNames:
    - ctx
    - nfc_dev_pw_id
    - nfc_dh_pubkey
    - nfc_dev_pw
    argTypes:
    - struct wps_context*
    - int
    - struct wpabuf*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 860
    functionDepth: 2
    functionLinenumber: 860
    functionLinenumberEnd: 909
    functionName: wps_build_nfc_handover_sel_p2p
    functionSourceFile: /src/hostap/src/wps/wps_common.c
    functionUses: 1
    functionsReached:
    - wps_build_oob_dev_pw
    - wps_build_rf_bands
    - wpa_printf
    - wpabuf_len
    - wps_build_wfa_ext
    - wpabuf_free
    - wpabuf_head
    - wpabuf_alloc
    - wps_build_model_number
    - wps_build_manufacturer
    - wps_build_uuid_e
    - wps_build_serial_number
    - wps_build_model_name
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * wps_build_nfc_handover_sel_p2p(struct wps_context
      *ctx,\n\t\t\t\t\t       int nfc_dev_pw_id,\n\t\t\t\t\t       struct wpabuf *nfc_dh_pubkey,\n\t\t\t\t\t
      \      struct wpabuf *nfc_dev_pw)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/wps/ndef.c:52,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 3
    argNames:
    - data
    - size
    - record
    argTypes:
    - u8*
    - u32
    - struct ndef_record*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 86
    functionName: ndef_parse_record
    functionSourceFile: /src/hostap/src/wps/ndef.c
    functionUses: 0
    functionsReached:
    - WPA_GET_BE32
    linkageType: ''
    returnType: int
    signature: "int ndef_parse_record(const u8 *data, u32 size,\n\t\t\t     struct
      ndef_record *record)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/ndef.c:93,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/wps/ndef.c:94,1
    - Dst: ndef_parse_record
      Src: /src/hostap/src/wps/ndef.c:97,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/ndef.c:98,1
    - Dst: filter
      Src: /src/hostap/src/wps/ndef.c:101,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/wps/ndef.c:102,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/ndef.c:107,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - buf
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 109
    functionName: ndef_parse_records
    functionSourceFile: /src/hostap/src/wps/ndef.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_len
    - filter
    - wpabuf_alloc_copy
    - wpabuf_head
    - ndef_parse_record
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * ndef_parse_records(const struct wpabuf *buf,\n\t\t\t\t\t
      \ int (*filter)(struct ndef_record *))"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/ndef.c:121,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/wps/ndef.c:131,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/ndef.c:133,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/wps/ndef.c:143,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/wps/ndef.c:145,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/wps/ndef.c:148,1
    - Dst: wpabuf_put_be32
      Src: /src/hostap/src/wps/ndef.c:150,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/wps/ndef.c:153,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/wps/ndef.c:154,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/wps/ndef.c:155,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/wps/ndef.c:156,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 6
    argNames:
    - flags
    - type
    - type_length
    - id
    - id_length
    - payload
    argTypes:
    - u8
    - void*
    - u8
    - void*
    - u8
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 158
    functionName: ndef_build_record
    functionSourceFile: /src/hostap/src/wps/ndef.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put_u8
    - wpabuf_put_data
    - wpabuf_len
    - wpabuf_alloc
    - wpabuf_put_buf
    - wpabuf_put_be32
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * ndef_build_record(u8 flags, const void *type,\n\t\t\t\t\t
      u8 type_length, void *id,\n\t\t\t\t\t u8 id_length,\n\t\t\t\t\t const struct
      wpabuf *payload)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/wps/ndef.c:164,1
    - Dst: os_memcmp
      Src: /src/hostap/src/wps/ndef.c:166,1
    - Dst: os_strlen
      Src: /src/hostap/src/wps/ndef.c:167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - record
    argTypes:
    - struct ndef_record*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 170
    functionName: wifi_filter
    functionSourceFile: /src/hostap/src/wps/ndef.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_memcmp
    linkageType: ''
    returnType: int
    signature: int wifi_filter(struct ndef_record *record)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndef_parse_records
      Src: /src/hostap/src/wps/ndef.c:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 3
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: ndef_parse_wifi
    functionSourceFile: /src/hostap/src/wps/ndef.c
    functionUses: 5
    functionsReached:
    - ndef_parse_records
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * ndef_parse_wifi(const struct wpabuf *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndef_build_record
      Src: /src/hostap/src/wps/ndef.c:181,1
    - Dst: os_strlen
      Src: /src/hostap/src/wps/ndef.c:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionName: ndef_build_wifi
    functionSourceFile: /src/hostap/src/wps/ndef.c
    functionUses: 8
    functionsReached:
    - os_strlen
    - ndef_build_record
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * ndef_build_wifi(const struct wpabuf *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/wps/ndef.c:190,1
    - Dst: os_memcmp
      Src: /src/hostap/src/wps/ndef.c:192,1
    - Dst: os_strlen
      Src: /src/hostap/src/wps/ndef.c:193,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - record
    argTypes:
    - struct ndef_record*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 196
    functionName: p2p_filter
    functionSourceFile: /src/hostap/src/wps/ndef.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_memcmp
    linkageType: ''
    returnType: int
    signature: int p2p_filter(struct ndef_record *record)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndef_parse_records
      Src: /src/hostap/src/wps/ndef.c:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 3
    functionLinenumber: 199
    functionLinenumberEnd: 202
    functionName: ndef_parse_p2p
    functionSourceFile: /src/hostap/src/wps/ndef.c
    functionUses: 2
    functionsReached:
    - ndef_parse_records
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * ndef_parse_p2p(const struct wpabuf *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndef_build_record
      Src: /src/hostap/src/wps/ndef.c:207,1
    - Dst: os_strlen
      Src: /src/hostap/src/wps/ndef.c:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 210
    functionName: ndef_build_p2p
    functionSourceFile: /src/hostap/src/wps/ndef.c
    functionUses: 1
    functionsReached:
    - os_strlen
    - ndef_build_record
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * ndef_build_p2p(const struct wpabuf *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_del
      Src: /src/hostap/src/wps/wps_registrar.c:45,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/wps/wps_registrar.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - token
    argTypes:
    - struct wps_nfc_pw_token*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: wps_remove_nfc_pw_token
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - dl_list_del
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: void wps_remove_nfc_pw_token(struct wps_nfc_pw_token *token)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wps_remove_nfc_pw_token
      Src: /src/hostap/src/wps/wps_registrar.c:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - tokens
    - pw_id
    argTypes:
    - struct dl_list*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 58
    functionName: wps_free_nfc_pw_tokens
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - wps_remove_nfc_pw_token
    linkageType: ''
    returnType: void
    signature: void wps_free_nfc_pw_tokens(struct dl_list *tokens, u16 pw_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wps_remove_nfc_pw_token
      Src: /src/hostap/src/wps/wps_registrar.c:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: dl_list_for_each_safe
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 88
    functionsReached:
    - wps_remove_nfc_pw_token
    linkageType: ''
    returnType: void
    signature: "void dl_list_for_each_safe(token, prev, tokens, struct wps_nfc_pw_token,\n\t\t\t
      \     list)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - tokens
    - pw_id
    argTypes:
    - struct dl_list*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 70
    functionName: wps_get_nfc_pw_token
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct wps_nfc_pw_token
    signature: "struct wps_nfc_pw_token * wps_get_nfc_pw_token(struct dl_list *tokens,\n\t\t\t\t\t\t
      \     u16 pw_id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: dl_list_for_each
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 240
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dl_list_for_each(token, tokens, struct wps_nfc_pw_token, list)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - t
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    functionName: wps_free_nfc_pw_tokens
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: wps_free_nfc_pw_tokens(t, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bin_clear_free
      Src: /src/hostap/src/wps/wps_registrar.c:95,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_registrar.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pin
    argTypes:
    - struct wps_uuid_pin*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: wps_free_pin
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - os_free
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: void wps_free_pin(struct wps_uuid_pin *pin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_del
      Src: /src/hostap/src/wps/wps_registrar.c:102,1
    - Dst: wps_free_pin
      Src: /src/hostap/src/wps/wps_registrar.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pin
    argTypes:
    - struct wps_uuid_pin*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: wps_remove_pin
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - wps_free_pin
    - dl_list_del
    linkageType: ''
    returnType: void
    signature: void wps_remove_pin(struct wps_uuid_pin *pin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wps_remove_pin
      Src: /src/hostap/src/wps/wps_registrar.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pins
    argTypes:
    - struct dl_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 107
    functionDepth: 3
    functionLinenumber: 107
    functionLinenumberEnd: 112
    functionName: wps_free_pins
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - wps_remove_pin
    linkageType: ''
    returnType: void
    signature: void wps_free_pins(struct dl_list *pins)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_registrar.c:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pbc
    argTypes:
    - struct wps_pbc_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 132
    functionName: wps_free_pbc_sessions
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - os_free
    linkageType: ''
    returnType: void
    signature: void wps_free_pbc_sessions(struct wps_pbc_session *pbc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:238,1
    - Dst: MAC2STR
      Src: /src/hostap/src/wps/wps_registrar.c:239,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/wps/wps_registrar.c:241,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:242,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_registrar.c:247,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_registrar.c:249,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/wps/wps_registrar.c:250,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - reg
    - addr
    argTypes:
    - struct wps_registrar*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 252
    functionName: wps_registrar_add_authorized_mac
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_hexdump
    - ether_addr_equal
    - MAC2STR
    linkageType: ''
    returnType: void
    signature: "void wps_registrar_add_authorized_mac(struct wps_registrar *reg,\n\t\t\t\t\t
      \    const u8 *addr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:259,1
    - Dst: MAC2STR
      Src: /src/hostap/src/wps/wps_registrar.c:260,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/wps/wps_registrar.c:262,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:266,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_registrar.c:271,1
    - Dst: os_memset
      Src: /src/hostap/src/wps/wps_registrar.c:273,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/wps/wps_registrar.c:275,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - reg
    - addr
    argTypes:
    - struct wps_registrar*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 277
    functionName: wps_registrar_remove_authorized_mac
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_hexdump
    - ether_addr_equal
    - MAC2STR
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void wps_registrar_remove_authorized_mac(struct wps_registrar *reg,\n\t\t\t\t\t\tconst
      u8 *addr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wps_device_data_free
      Src: /src/hostap/src/wps/wps_registrar.c:287,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_registrar.c:288,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - dev
    argTypes:
    - struct wps_registrar_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 280
    functionDepth: 2
    functionLinenumber: 280
    functionLinenumberEnd: 290
    functionName: wps_free_devices
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - os_free
    - wps_device_data_free
    linkageType: ''
    returnType: void
    signature: void wps_free_devices(struct wps_registrar_device *dev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/src/wps/wps_registrar.c:299,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - reg
    - addr
    argTypes:
    - struct wps_registrar*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 303
    functionName: wps_device_get
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - ether_addr_equal
    linkageType: ''
    returnType: struct wps_registrar_device
    signature: "struct wps_registrar_device * wps_device_get(struct wps_registrar
      *reg,\n\t\t\t\t\t\t    const u8 *addr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_registrar.c:309,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_registrar.c:310,1
    - Dst: WPS_STRDUP
      Src: /src/hostap/src/wps/wps_registrar.c:316,1
    - Dst: WPS_STRDUP
      Src: /src/hostap/src/wps/wps_registrar.c:317,1
    - Dst: WPS_STRDUP
      Src: /src/hostap/src/wps/wps_registrar.c:318,1
    - Dst: WPS_STRDUP
      Src: /src/hostap/src/wps/wps_registrar.c:319,1
    - Dst: WPS_STRDUP
      Src: /src/hostap/src/wps/wps_registrar.c:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - struct wps_device_data*
    - struct wps_device_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 322
    functionName: wps_device_clone_data
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - WPS_STRDUP
    linkageType: ''
    returnType: void
    signature: "void wps_device_clone_data(struct wps_device_data *dst,\n\t\t\t\t
      \ struct wps_device_data *src)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 315
    functionName: WPS_STRDUP
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WPS_STRDUP(n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wps_device_get
      Src: /src/hostap/src/wps/wps_registrar.c:330,1
    - Dst: os_zalloc
      Src: /src/hostap/src/wps/wps_registrar.c:332,1
    - Dst: wps_device_clone_data
      Src: /src/hostap/src/wps/wps_registrar.c:339,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_registrar.c:340,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - reg
    - dev
    - uuid
    argTypes:
    - struct wps_registrar*
    - struct wps_device_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 325
    functionDepth: 2
    functionLinenumber: 325
    functionLinenumberEnd: 343
    functionName: wps_device_store
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 1
    functionsReached:
    - wps_device_get
    - os_zalloc
    - wps_device_clone_data
    - os_memcpy
    linkageType: ''
    returnType: int
    signature: "int wps_device_store(struct wps_registrar *reg,\n\t\t     struct wps_device_data
      *dev, const u8 *uuid)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_get_reltime
      Src: /src/hostap/src/wps/wps_registrar.c:352,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/wps/wps_registrar.c:356,1
    - Dst: os_memcmp
      Src: /src/hostap/src/wps/wps_registrar.c:357,1
    - Dst: os_zalloc
      Src: /src/hostap/src/wps/wps_registrar.c:369,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_registrar.c:372,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_registrar.c:374,1
    - Dst: os_reltime_expired
      Src: /src/hostap/src/wps/wps_registrar.c:386,1
    - Dst: wps_free_pbc_sessions
      Src: /src/hostap/src/wps/wps_registrar.c:389,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 3
    argNames:
    - reg
    - addr
    - uuid_e
    argTypes:
    - struct wps_registrar*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 395
    functionName: wps_registrar_add_pbc_session
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - os_get_reltime
    - ether_addr_equal
    - os_zalloc
    - os_memcmp
    - os_reltime_expired
    - wps_free_pbc_sessions
    linkageType: ''
    returnType: void
    signature: "void wps_registrar_add_pbc_session(struct wps_registrar *reg,\n\t\t\t\t\t
      \ const u8 *addr, const u8 *uuid_e)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/src/wps/wps_registrar.c:406,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/wps/wps_registrar.c:407,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/wps/wps_registrar.c:408,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:415,1
    - Dst: MAC2STR
      Src: /src/hostap/src/wps/wps_registrar.c:416,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/wps/wps_registrar.c:417,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_registrar.c:419,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - reg
    - uuid_e
    - p2p_dev_addr
    argTypes:
    - struct wps_registrar*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 425
    functionName: wps_registrar_remove_pbc_session
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    - is_zero_ether_addr
    - ether_addr_equal
    - MAC2STR
    - os_memcmp
    - os_free
    linkageType: ''
    returnType: void
    signature: "void wps_registrar_remove_pbc_session(struct wps_registrar *reg,\n\t\t\t\t\t
      \    const u8 *uuid_e,\n\t\t\t\t\t     const u8 *p2p_dev_addr)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_get_reltime
      Src: /src/hostap/src/wps/wps_registrar.c:436,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:438,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:441,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/wps/wps_registrar.c:442,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:448,1
    - Dst: MAC2STR
      Src: /src/hostap/src/wps/wps_registrar.c:449,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/wps/wps_registrar.c:450,1
    - Dst: os_reltime_expired
      Src: /src/hostap/src/wps/wps_registrar.c:452,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:454,1
    - Dst: os_memcmp
      Src: /src/hostap/src/wps/wps_registrar.c:458,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:459,1
    - Dst: os_memcmp
      Src: /src/hostap/src/wps/wps_registrar.c:463,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:464,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:471,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 3
    argNames:
    - reg
    - addr
    - uuid_e
    argTypes:
    - struct wps_registrar*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 474
    functionName: wps_registrar_pbc_overlap
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - os_get_reltime
    - wpa_printf
    - wpa_hexdump
    - MAC2STR
    - os_memcmp
    - os_reltime_expired
    linkageType: ''
    returnType: int
    signature: "int wps_registrar_pbc_overlap(struct wps_registrar *reg,\n\t\t\t      const
      u8 *addr, const u8 *uuid_e)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:479,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_registrar.c:481,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_registrar.c:482,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/wps/wps_registrar.c:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - wps
    - msg
    argTypes:
    - struct wps_context*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 477
    functionDepth: 1
    functionLinenumber: 477
    functionLinenumberEnd: 485
    functionName: wps_build_wps_state
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpabuf_put_be16
    - wpabuf_put_u8
    linkageType: ''
    returnType: int
    signature: int wps_build_wps_state(struct wps_context *wps, struct wpabuf *msg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:499,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_registrar.c:502,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_registrar.c:503,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - wps
    argTypes:
    - struct wps_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 489
    functionDepth: 1
    functionLinenumber: 489
    functionLinenumberEnd: 509
    functionName: wps_registrar_free_pending_m2
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpa_printf
    - wpabuf_free
    linkageType: ''
    returnType: void
    signature: void wps_registrar_free_pending_m2(struct wps_context *wps)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:517,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_registrar.c:518,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_registrar.c:519,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/wps/wps_registrar.c:520,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - wps
    - msg
    argTypes:
    - struct wps_context*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 513
    functionDepth: 1
    functionLinenumber: 513
    functionLinenumberEnd: 523
    functionName: wps_build_ap_setup_locked
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put_be16
    - wpabuf_put_u8
    linkageType: ''
    returnType: int
    signature: "int wps_build_ap_setup_locked(struct wps_context *wps,\n\t\t\t\t     struct
      wpabuf *msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:531,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_registrar.c:532,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_registrar.c:533,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/wps/wps_registrar.c:534,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - reg
    - msg
    argTypes:
    - struct wps_registrar*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 526
    functionDepth: 1
    functionLinenumber: 526
    functionLinenumberEnd: 536
    functionName: wps_build_selected_registrar
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put_be16
    - wpabuf_put_u8
    linkageType: ''
    returnType: int
    signature: "int wps_build_selected_registrar(struct wps_registrar *reg,\n\t\t\t\t\tstruct
      wpabuf *msg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:547,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_registrar.c:548,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_registrar.c:549,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_registrar.c:550,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - reg
    - msg
    argTypes:
    - struct wps_registrar*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 539
    functionDepth: 1
    functionLinenumber: 539
    functionLinenumberEnd: 552
    functionName: wps_build_sel_reg_dev_password_id
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put_be16
    linkageType: ''
    returnType: int
    signature: "int wps_build_sel_reg_dev_password_id(struct wps_registrar *reg,\n\t\t\t\t\t
      \    struct wpabuf *msg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wps_build_uuid_e
      Src: /src/hostap/src/wps/wps_registrar.c:565,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - reg
    - msg
    argTypes:
    - struct wps_registrar*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 555
    functionDepth: 1
    functionLinenumber: 555
    functionLinenumberEnd: 566
    functionName: wps_build_sel_pbc_reg_uuid_e
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - wps_build_uuid_e
    linkageType: ''
    returnType: int
    signature: "int wps_build_sel_pbc_reg_uuid_e(struct wps_registrar *reg,\n\t\t\t\t\tstruct
      wpabuf *msg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - methods
    - conf_methods
    argTypes:
    - u16*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 589
    functionName: wps_set_pushbutton
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wps_set_pushbutton(u16 *methods, u16 conf_methods)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wps_set_pushbutton
      Src: /src/hostap/src/wps/wps_registrar.c:603,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:606,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_registrar.c:608,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_registrar.c:609,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_registrar.c:610,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - reg
    - msg
    argTypes:
    - struct wps_registrar*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 592
    functionDepth: 1
    functionLinenumber: 592
    functionLinenumberEnd: 612
    functionName: wps_build_sel_reg_config_methods
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wps_set_pushbutton
    - wpabuf_put_be16
    linkageType: ''
    returnType: int
    signature: "int wps_build_sel_reg_config_methods(struct wps_registrar *reg,\n\t\t\t\t\t
      \   struct wpabuf *msg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:626,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_registrar.c:627,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_registrar.c:628,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_registrar.c:629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - reg
    - msg
    argTypes:
    - struct wps_registrar*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 615
    functionDepth: 1
    functionLinenumber: 615
    functionLinenumberEnd: 631
    functionName: wps_build_probe_config_methods
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put_be16
    linkageType: ''
    returnType: int
    signature: "int wps_build_probe_config_methods(struct wps_registrar *reg,\n\t\t\t\t\t
      \ struct wpabuf *msg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wps_build_config_methods
      Src: /src/hostap/src/wps/wps_registrar.c:637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - reg
    - msg
    argTypes:
    - struct wps_registrar*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 634
    functionDepth: 1
    functionLinenumber: 634
    functionLinenumberEnd: 638
    functionName: wps_build_config_methods_r
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - wps_build_config_methods
    linkageType: ''
    returnType: int
    signature: "int wps_build_config_methods_r(struct wps_registrar *reg,\n\t\t\t\t
      \     struct wpabuf *msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/wps/wps_registrar.c:646,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - reg
    - count
    argTypes:
    - struct wps_registrar*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 641
    functionDepth: 1
    functionLinenumber: 641
    functionLinenumberEnd: 652
    functionName: wps_authorized_macs
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - is_zero_ether_addr
    linkageType: ''
    returnType: u8
    signature: u8 * wps_authorized_macs(struct wps_registrar *reg, size_t *count)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/wps/wps_registrar.c:671,1
    - Dst: dl_list_init
      Src: /src/hostap/src/wps/wps_registrar.c:675,1
    - Dst: dl_list_init
      Src: /src/hostap/src/wps/wps_registrar.c:676,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/wps/wps_registrar.c:688,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_registrar.c:691,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_registrar.c:702,1
    - Dst: os_memdup
      Src: /src/hostap/src/wps/wps_registrar.c:710,1
    - Dst: wps_set_ie
      Src: /src/hostap/src/wps/wps_registrar.c:717,1
    - Dst: wps_registrar_deinit
      Src: /src/hostap/src/wps/wps_registrar.c:718,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 41
    argCount: 2
    argNames:
    - wps
    - cfg
    argTypes:
    - struct wps_context*
    - struct wps_registrar_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 667
    functionDepth: 1
    functionLinenumber: 667
    functionLinenumberEnd: 723
    functionName: wps_registrar_init
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 2
    functionsReached:
    - os_memcpy
    - wps_registrar_deinit
    - os_memdup
    - wpabuf_alloc_copy
    - os_zalloc
    - dl_list_init
    - wps_set_ie
    - os_free
    linkageType: ''
    returnType: struct wps_registrar
    signature: "struct wps_registrar *\nwps_registrar_init(struct wps_context *wps,\n\t\t
      \  const struct wps_registrar_config *cfg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wps_free_pins
      Src: /src/hostap/src/wps/wps_registrar.c:730,1
    - Dst: wps_free_nfc_pw_tokens
      Src: /src/hostap/src/wps/wps_registrar.c:731,1
    - Dst: wps_free_pbc_sessions
      Src: /src/hostap/src/wps/wps_registrar.c:732,1
    - Dst: wps_free_devices
      Src: /src/hostap/src/wps/wps_registrar.c:734,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - reg
    argTypes:
    - struct wps_registrar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 726
    functionDepth: 4
    functionLinenumber: 726
    functionLinenumberEnd: 739
    functionName: wps_registrar_flush
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 1
    functionsReached:
    - wps_free_devices
    - wps_free_nfc_pw_tokens
    - wps_free_pins
    - wps_free_pbc_sessions
    linkageType: ''
    returnType: void
    signature: void wps_registrar_flush(struct wps_registrar *reg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/wps/wps_registrar.c:750,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/wps/wps_registrar.c:751,1
    - Dst: wps_registrar_flush
      Src: /src/hostap/src/wps/wps_registrar.c:752,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/wps/wps_registrar.c:753,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/wps/wps_registrar.c:754,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_registrar.c:756,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - reg
    argTypes:
    - struct wps_registrar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 746
    functionDepth: 5
    functionLinenumber: 746
    functionLinenumberEnd: 757
    functionName: wps_registrar_deinit
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 4
    functionsReached:
    - wps_registrar_flush
    - eloop_cancel_timeout
    - wpabuf_clear_free
    - os_free
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: void wps_registrar_deinit(struct wps_registrar *reg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/wps/wps_registrar.c:764,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:766,1
    - Dst: wps_registrar_remove_pin
      Src: /src/hostap/src/wps/wps_registrar.c:768,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - reg
    argTypes:
    - struct wps_registrar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 760
    functionDepth: 1
    functionLinenumber: 760
    functionLinenumberEnd: 772
    functionName: wps_registrar_invalidate_unused
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    - wpa_printf
    - wps_registrar_remove_pin
    linkageType: ''
    returnType: void
    signature: void wps_registrar_invalidate_unused(struct wps_registrar *reg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/wps/wps_registrar.c:791,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_registrar.c:795,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_registrar.c:799,1
    - Dst: os_memdup
      Src: /src/hostap/src/wps/wps_registrar.c:800,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_registrar.c:802,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/wps/wps_registrar.c:809,1
    - Dst: wps_registrar_invalidate_unused
      Src: /src/hostap/src/wps/wps_registrar.c:814,1
    - Dst: dl_list_add
      Src: /src/hostap/src/wps/wps_registrar.c:816,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:818,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/wps/wps_registrar.c:820,1
    - Dst: wpa_hexdump_ascii_key
      Src: /src/hostap/src/wps/wps_registrar.c:821,1
    - Dst: wps_registrar_add_authorized_mac
      Src: /src/hostap/src/wps/wps_registrar.c:825,1
    - Dst: wps_registrar_add_authorized_mac
      Src: /src/hostap/src/wps/wps_registrar.c:827,1
    - Dst: wps_registrar_selected_registrar_changed
      Src: /src/hostap/src/wps/wps_registrar.c:829,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/wps/wps_registrar.c:830,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/wps/wps_registrar.c:831,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 6
    argNames:
    - reg
    - addr
    - uuid
    - pin
    - pin_len
    - timeout
    argTypes:
    - struct wps_registrar*
    - u8*
    - u8*
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 785
    functionDepth: 2
    functionLinenumber: 785
    functionLinenumberEnd: 836
    functionName: wps_registrar_add_pin
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 3
    functionsReached:
    - os_get_reltime
    - os_memcpy
    - wpa_printf
    - wps_registrar_add_authorized_mac
    - wpa_hexdump
    - wps_registrar_selected_registrar_changed
    - eloop_cancel_timeout
    - os_memdup
    - os_zalloc
    - wps_registrar_invalidate_unused
    - dl_list_add
    - eloop_register_timeout
    - wpa_hexdump_ascii_key
    - os_free
    linkageType: ''
    returnType: int
    signature: "int wps_registrar_add_pin(struct wps_registrar *reg, const u8 *addr,\n\t\t\t
      \ const u8 *uuid, const u8 *pin, size_t pin_len,\n\t\t\t  int timeout)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/wps/wps_registrar.c:845,1
    - Dst: wps_registrar_remove_authorized_mac
      Src: /src/hostap/src/wps/wps_registrar.c:849,1
    - Dst: wps_remove_pin
      Src: /src/hostap/src/wps/wps_registrar.c:850,1
    - Dst: wps_registrar_selected_registrar_changed
      Src: /src/hostap/src/wps/wps_registrar.c:851,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - reg
    - pin
    argTypes:
    - struct wps_registrar*
    - struct wps_uuid_pin*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 839
    functionDepth: 3
    functionLinenumber: 839
    functionLinenumberEnd: 852
    functionName: wps_registrar_remove_pin
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 1
    functionsReached:
    - wps_registrar_selected_registrar_changed
    - is_zero_ether_addr
    - wps_remove_pin
    - wps_registrar_remove_authorized_mac
    linkageType: ''
    returnType: void
    signature: "void wps_registrar_remove_pin(struct wps_registrar *reg,\n\t\t\t\t
      \    struct wps_uuid_pin *pin)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_get_reltime
      Src: /src/hostap/src/wps/wps_registrar.c:860,1
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/wps/wps_registrar.c:861,1
    - Dst: os_reltime_before
      Src: /src/hostap/src/wps/wps_registrar.c:864,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/wps/wps_registrar.c:865,1
    - Dst: wps_registrar_remove_pin
      Src: /src/hostap/src/wps/wps_registrar.c:867,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - reg
    argTypes:
    - struct wps_registrar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 855
    functionDepth: 4
    functionLinenumber: 855
    functionLinenumberEnd: 870
    functionName: wps_registrar_expire_pins
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - os_get_reltime
    - wpa_hexdump
    - wps_registrar_remove_pin
    - os_reltime_before
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: void wps_registrar_expire_pins(struct wps_registrar *reg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/wps/wps_registrar.c:886,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/wps/wps_registrar.c:890,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/wps/wps_registrar.c:893,1
    - Dst: wps_registrar_remove_pin
      Src: /src/hostap/src/wps/wps_registrar.c:895,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - reg
    - dev_pw
    - dev_pw_len
    argTypes:
    - struct wps_registrar*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 880
    functionDepth: 4
    functionLinenumber: 880
    functionLinenumberEnd: 901
    functionName: wps_registrar_invalidate_wildcard_pin
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - os_memcmp_const
    - wps_registrar_remove_pin
    - wpa_hexdump
    - dl_list_for_each_safe
    linkageType: ''
    returnType: int
    signature: "int wps_registrar_invalidate_wildcard_pin(struct wps_registrar *reg,\n\t\t\t\t\t\t
      const u8 *dev_pw,\n\t\t\t\t\t\t size_t dev_pw_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/wps/wps_registrar.c:914,1
    - Dst: os_memcmp
      Src: /src/hostap/src/wps/wps_registrar.c:916,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/wps/wps_registrar.c:917,1
    - Dst: wps_registrar_remove_pin
      Src: /src/hostap/src/wps/wps_registrar.c:919,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - reg
    - uuid
    argTypes:
    - struct wps_registrar*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 910
    functionDepth: 4
    functionLinenumber: 910
    functionLinenumberEnd: 925
    functionName: wps_registrar_invalidate_pin
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 1
    functionsReached:
    - wps_registrar_remove_pin
    - os_memcmp
    - wpa_hexdump
    - dl_list_for_each_safe
    linkageType: ''
    returnType: int
    signature: int wps_registrar_invalidate_pin(struct wps_registrar *reg, const u8
      *uuid)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wps_registrar_expire_pins
      Src: /src/hostap/src/wps/wps_registrar.c:934,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/wps/wps_registrar.c:936,1
    - Dst: os_memcmp
      Src: /src/hostap/src/wps/wps_registrar.c:938,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/wps/wps_registrar.c:947,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:950,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_registrar.c:953,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:968,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 3
    argNames:
    - reg
    - uuid
    - pin_len
    argTypes:
    - struct wps_registrar*
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 928
    functionDepth: 5
    functionLinenumber: 928
    functionLinenumberEnd: 977
    functionName: wps_registrar_get_pin
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_printf
    - dl_list_for_each
    - os_memcmp
    - wps_registrar_expire_pins
    linkageType: ''
    returnType: u8
    signature: "u8 * wps_registrar_get_pin(struct wps_registrar *reg,\n\t\t\t\t\tconst
      u8 *uuid, size_t *pin_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/wps/wps_registrar.c:994,1
    - Dst: os_memcmp
      Src: /src/hostap/src/wps/wps_registrar.c:995,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:997,1
    - Dst: wps_registrar_invalidate_pin
      Src: /src/hostap/src/wps/wps_registrar.c:999,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - reg
    - uuid
    argTypes:
    - struct wps_registrar*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1007
      start: 990
    functionDepth: 5
    functionLinenumber: 990
    functionLinenumberEnd: 1007
    functionName: wps_registrar_unlock_pin
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 1
    functionsReached:
    - dl_list_for_each
    - wpa_printf
    - os_memcmp
    - wps_registrar_invalidate_pin
    linkageType: ''
    returnType: int
    signature: int wps_registrar_unlock_pin(struct wps_registrar *reg, const u8 *uuid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/wps/wps_registrar.c:1014,1
    - Dst: wps_registrar_remove_authorized_mac
      Src: /src/hostap/src/wps/wps_registrar.c:1015,1
    - Dst: wps_registrar_selected_registrar_changed
      Src: /src/hostap/src/wps/wps_registrar.c:1017,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - reg
    argTypes:
    - struct wps_registrar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 1010
    functionDepth: 2
    functionLinenumber: 1010
    functionLinenumberEnd: 1018
    functionName: wps_registrar_stop_pbc
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - wps_registrar_selected_registrar_changed
    - wps_registrar_remove_authorized_mac
    - os_memset
    linkageType: ''
    returnType: void
    signature: void wps_registrar_stop_pbc(struct wps_registrar *reg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:1025,1
    - Dst: wps_pbc_timeout_event
      Src: /src/hostap/src/wps/wps_registrar.c:1026,1
    - Dst: wps_registrar_stop_pbc
      Src: /src/hostap/src/wps/wps_registrar.c:1027,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 1021
    functionDepth: 3
    functionLinenumber: 1021
    functionLinenumberEnd: 1028
    functionName: wps_registrar_pbc_timeout
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - wps_registrar_stop_pbc
    - wpa_printf
    - wps_pbc_timeout_event
    linkageType: ''
    returnType: void
    signature: void wps_registrar_pbc_timeout(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wps_registrar_pbc_overlap
      Src: /src/hostap/src/wps/wps_registrar.c:1049,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:1050,1
    - Dst: wps_pbc_overlap_event
      Src: /src/hostap/src/wps/wps_registrar.c:1052,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:1055,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_registrar.c:1060,1
    - Dst: os_memset
      Src: /src/hostap/src/wps/wps_registrar.c:1062,1
    - Dst: wps_registrar_add_authorized_mac
      Src: /src/hostap/src/wps/wps_registrar.c:1063,1
    - Dst: wps_registrar_selected_registrar_changed
      Src: /src/hostap/src/wps/wps_registrar.c:1065,1
    - Dst: wps_pbc_active_event
      Src: /src/hostap/src/wps/wps_registrar.c:1067,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/wps/wps_registrar.c:1068,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/wps/wps_registrar.c:1069,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/wps/wps_registrar.c:1070,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - reg
    - p2p_dev_addr
    argTypes:
    - struct wps_registrar*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1073
      start: 1045
    functionDepth: 2
    functionLinenumber: 1045
    functionLinenumberEnd: 1073
    functionName: wps_registrar_button_pushed
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wps_registrar_add_authorized_mac
    - wps_pbc_overlap_event
    - wps_registrar_selected_registrar_changed
    - eloop_cancel_timeout
    - wps_pbc_active_event
    - eloop_register_timeout
    - wps_registrar_pbc_overlap
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wps_registrar_button_pushed(struct wps_registrar *reg,\n\t\t\t\tconst
      u8 *p2p_dev_addr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:1078,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/wps/wps_registrar.c:1079,1
    - Dst: wps_registrar_stop_pbc
      Src: /src/hostap/src/wps/wps_registrar.c:1080,1
    - Dst: wps_pbc_disable_event
      Src: /src/hostap/src/wps/wps_registrar.c:1081,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - reg
    argTypes:
    - struct wps_registrar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1076
    functionDepth: 3
    functionLinenumber: 1076
    functionLinenumberEnd: 1082
    functionName: wps_registrar_pbc_completed
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - eloop_cancel_timeout
    - wps_registrar_stop_pbc
    - wpa_printf
    - wps_pbc_disable_event
    linkageType: ''
    returnType: void
    signature: void wps_registrar_pbc_completed(struct wps_registrar *reg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:1087,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/wps/wps_registrar.c:1088,1
    - Dst: wps_registrar_selected_registrar_changed
      Src: /src/hostap/src/wps/wps_registrar.c:1090,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - reg
    argTypes:
    - struct wps_registrar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1085
    functionDepth: 1
    functionLinenumber: 1085
    functionLinenumberEnd: 1091
    functionName: wps_registrar_pin_completed
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - eloop_cancel_timeout
    - wpa_printf
    - wps_registrar_selected_registrar_changed
    linkageType: ''
    returnType: void
    signature: void wps_registrar_pin_completed(struct wps_registrar *reg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wps_registrar_remove_pbc_session
      Src: /src/hostap/src/wps/wps_registrar.c:1098,1
    - Dst: wps_registrar_pbc_completed
      Src: /src/hostap/src/wps/wps_registrar.c:1100,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/wps/wps_registrar.c:1102,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_registrar.c:1104,1
    - Dst: wps_registrar_pin_completed
      Src: /src/hostap/src/wps/wps_registrar.c:1106,1
    - Dst: wps_registrar_invalidate_wildcard_pin
      Src: /src/hostap/src/wps/wps_registrar.c:1110,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/wps/wps_registrar.c:1112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - registrar
    - uuid_e
    - dev_pw
    - dev_pw_len
    argTypes:
    - struct wps_registrar*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1115
      start: 1094
    functionDepth: 5
    functionLinenumber: 1094
    functionLinenumberEnd: 1115
    functionName: wps_registrar_complete
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 1
    functionsReached:
    - os_get_reltime
    - os_memcpy
    - wpa_hexdump_key
    - wps_registrar_pbc_completed
    - wps_registrar_pin_completed
    - wps_registrar_invalidate_wildcard_pin
    - wps_registrar_remove_pbc_session
    linkageType: ''
    returnType: void
    signature: "void wps_registrar_complete(struct wps_registrar *registrar, const
      u8 *uuid_e,\n\t\t\t    const u8 *dev_pw, size_t dev_pw_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:1121,1
    - Dst: wps_registrar_pbc_timeout
      Src: /src/hostap/src/wps/wps_registrar.c:1122,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/wps/wps_registrar.c:1123,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:1127,1
    - Dst: wps_registrar_pin_completed
      Src: /src/hostap/src/wps/wps_registrar.c:1128,1
    - Dst: wps_registrar_invalidate_wildcard_pin
      Src: /src/hostap/src/wps/wps_registrar.c:1129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - reg
    argTypes:
    - struct wps_registrar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1118
    functionDepth: 5
    functionLinenumber: 1118
    functionLinenumberEnd: 1133
    functionName: wps_registrar_wps_cancel
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - eloop_cancel_timeout
    - wps_registrar_pbc_timeout
    - wps_registrar_pin_completed
    - wps_registrar_invalidate_wildcard_pin
    linkageType: ''
    returnType: int
    signature: int wps_registrar_wps_cancel(struct wps_registrar *reg)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/wps/wps_registrar.c:1153,1
    - Dst: wps_parse_msg
      Src: /src/hostap/src/wps/wps_registrar.c:1157,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:1161,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:1167,1
    - Dst: os_zalloc
      Src: /src/hostap/src/wps/wps_registrar.c:1176,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_registrar.c:1178,1
    - Dst: struct wps_registrar*::enrollee_seen_cb
      Src: /src/hostap/src/wps/wps_registrar.c:1182,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/wps/wps_registrar.c:1184,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/wps/wps_registrar.c:1185,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_registrar.c:1187,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/wps/wps_registrar.c:1190,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:1193,1
    - Dst: MAC2STR
      Src: /src/hostap/src/wps/wps_registrar.c:1194,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:1196,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/wps/wps_registrar.c:1200,1
    - Dst: os_memcmp
      Src: /src/hostap/src/wps/wps_registrar.c:1205,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/wps/wps_registrar.c:1207,1
    - Dst: os_reltime_sub
      Src: /src/hostap/src/wps/wps_registrar.c:1208,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:1210,1
    - Dst: wps_registrar_add_pbc_session
      Src: /src/hostap/src/wps/wps_registrar.c:1220,1
    - Dst: wps_registrar_pbc_overlap
      Src: /src/hostap/src/wps/wps_registrar.c:1221,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:1222,1
    - Dst: wps_pbc_overlap_event
      Src: /src/hostap/src/wps/wps_registrar.c:1224,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 46
    argCount: 4
    argNames:
    - reg
    - addr
    - wps_data
    - p2p_wildcard
    argTypes:
    - struct wps_registrar*
    - u8*
    - struct wpabuf*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1146
    functionDepth: 2
    functionLinenumber: 1146
    functionLinenumberEnd: 1226
    functionName: wps_registrar_probe_req_rx
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - os_memcpy
    - WPA_GET_BE16
    - os_get_reltime
    - wpa_hexdump
    - wps_pbc_overlap_event
    - wpa_hexdump_buf
    - wps_registrar_add_pbc_session
    - MAC2STR
    - os_zalloc
    - os_reltime_sub
    - struct wps_registrar*::enrollee_seen_cb
    - os_memcmp
    - os_free
    - wps_registrar_pbc_overlap
    - wps_parse_msg
    linkageType: ''
    returnType: void
    signature: "void wps_registrar_probe_req_rx(struct wps_registrar *reg, const u8
      *addr,\n\t\t\t\tconst struct wpabuf *wps_data,\n\t\t\t\tint p2p_wildcard)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wps_registrar*::new_psk_cb
      Src: /src/hostap/src/wps/wps_registrar.c:1235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - reg
    - mac_addr
    - p2p_dev_addr
    - psk
    - psk_len
    argTypes:
    - struct wps_registrar*
    - u8*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1237
      start: 1229
    functionDepth: 0
    functionLinenumber: 1229
    functionLinenumberEnd: 1237
    functionName: wps_cb_new_psk
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 1
    functionsReached:
    - struct wps_registrar*::new_psk_cb
    linkageType: ''
    returnType: int
    signature: "int wps_cb_new_psk(struct wps_registrar *reg, const u8 *mac_addr,\n\t\t
      \  const u8 *p2p_dev_addr, const u8 *psk, size_t psk_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wps_registrar*::pin_needed_cb
      Src: /src/hostap/src/wps/wps_registrar.c:1246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - reg
    - uuid_e
    - dev
    argTypes:
    - struct wps_registrar*
    - u8*
    - struct wps_device_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1247
      start: 1240
    functionDepth: 0
    functionLinenumber: 1240
    functionLinenumberEnd: 1247
    functionName: wps_cb_pin_needed
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - struct wps_registrar*::pin_needed_cb
    linkageType: ''
    returnType: void
    signature: "void wps_cb_pin_needed(struct wps_registrar *reg, const u8 *uuid_e,\n\t\t\t
      \     const struct wps_device_data *dev)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wps_registrar*::reg_success_cb
      Src: /src/hostap/src/wps/wps_registrar.c:1257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - reg
    - mac_addr
    - uuid_e
    - dev_pw
    - dev_pw_len
    argTypes:
    - struct wps_registrar*
    - u8*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1258
      start: 1250
    functionDepth: 0
    functionLinenumber: 1250
    functionLinenumberEnd: 1258
    functionName: wps_cb_reg_success
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - struct wps_registrar*::reg_success_cb
    linkageType: ''
    returnType: void
    signature: "void wps_cb_reg_success(struct wps_registrar *reg, const u8 *mac_addr,\n\t\t\t
      \      const u8 *uuid_e, const u8 *dev_pw,\n\t\t\t       size_t dev_pw_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct wps_registrar*::set_ie_cb
      Src: /src/hostap/src/wps/wps_registrar.c:1264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - reg
    - beacon_ie
    - probe_resp_ie
    argTypes:
    - struct wps_registrar*
    - struct wpabuf*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1261
    functionDepth: 0
    functionLinenumber: 1261
    functionLinenumberEnd: 1265
    functionName: wps_cb_set_ie
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - struct wps_registrar*::set_ie_cb
    linkageType: ''
    returnType: int
    signature: "int wps_cb_set_ie(struct wps_registrar *reg, struct wpabuf *beacon_ie,\n\t\t\t
      struct wpabuf *probe_resp_ie)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wps_set_pushbutton
      Src: /src/hostap/src/wps/wps_registrar.c:1279,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:1282,1
    - Dst: struct wps_registrar*::set_sel_reg_cb
      Src: /src/hostap/src/wps/wps_registrar.c:1287,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - reg
    argTypes:
    - struct wps_registrar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1290
      start: 1268
    functionDepth: 1
    functionLinenumber: 1268
    functionLinenumberEnd: 1290
    functionName: wps_cb_set_sel_reg
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wps_set_pushbutton
    - struct wps_registrar*::set_sel_reg_cb
    linkageType: ''
    returnType: void
    signature: void wps_cb_set_sel_reg(struct wps_registrar *reg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct wps_registrar*::lookup_pskfile_cb
      Src: /src/hostap/src/wps/wps_registrar.c:1298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - reg
    - mac_addr
    - psk
    argTypes:
    - struct wps_registrar*
    - u8*
    - u8**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1299
      start: 1293
    functionDepth: 0
    functionLinenumber: 1293
    functionLinenumberEnd: 1299
    functionName: wps_cp_lookup_pskfile
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - struct wps_registrar*::lookup_pskfile_cb
    linkageType: ''
    returnType: int
    signature: "int wps_cp_lookup_pskfile(struct wps_registrar *reg, const u8 *mac_addr,\n\t\t\t\t
      const u8 **psk)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/wps_registrar.c:1317,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/wps/wps_registrar.c:1321,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/wps/wps_registrar.c:1322,1
    - Dst: wps_authorized_macs
      Src: /src/hostap/src/wps/wps_registrar.c:1326,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:1328,1
    - Dst: wps_build_version
      Src: /src/hostap/src/wps/wps_registrar.c:1330,1
    - Dst: wps_build_wps_state
      Src: /src/hostap/src/wps/wps_registrar.c:1331,1
    - Dst: wps_build_ap_setup_locked
      Src: /src/hostap/src/wps/wps_registrar.c:1332,1
    - Dst: wps_build_selected_registrar
      Src: /src/hostap/src/wps/wps_registrar.c:1333,1
    - Dst: wps_build_sel_reg_dev_password_id
      Src: /src/hostap/src/wps/wps_registrar.c:1334,1
    - Dst: wps_build_sel_reg_config_methods
      Src: /src/hostap/src/wps/wps_registrar.c:1335,1
    - Dst: wps_build_sel_pbc_reg_uuid_e
      Src: /src/hostap/src/wps/wps_registrar.c:1336,1
    - Dst: wps_build_rf_bands
      Src: /src/hostap/src/wps/wps_registrar.c:1337,1
    - Dst: wps_build_wfa_ext
      Src: /src/hostap/src/wps/wps_registrar.c:1338,1
    - Dst: wps_build_vendor_ext
      Src: /src/hostap/src/wps/wps_registrar.c:1339,1
    - Dst: wps_build_application_ext
      Src: /src/hostap/src/wps/wps_registrar.c:1340,1
    - Dst: wps_build_dev_name
      Src: /src/hostap/src/wps/wps_registrar.c:1344,1
    - Dst: wps_build_primary_dev_type
      Src: /src/hostap/src/wps/wps_registrar.c:1345,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:1349,1
    - Dst: wps_build_version
      Src: /src/hostap/src/wps/wps_registrar.c:1351,1
    - Dst: wps_build_wps_state
      Src: /src/hostap/src/wps/wps_registrar.c:1352,1
    - Dst: wps_build_ap_setup_locked
      Src: /src/hostap/src/wps/wps_registrar.c:1353,1
    - Dst: wps_build_selected_registrar
      Src: /src/hostap/src/wps/wps_registrar.c:1354,1
    - Dst: wps_build_sel_reg_dev_password_id
      Src: /src/hostap/src/wps/wps_registrar.c:1355,1
    - Dst: wps_build_sel_reg_config_methods
      Src: /src/hostap/src/wps/wps_registrar.c:1356,1
    - Dst: wps_build_resp_type
      Src: /src/hostap/src/wps/wps_registrar.c:1357,1
    - Dst: wps_build_uuid_e
      Src: /src/hostap/src/wps/wps_registrar.c:1359,1
    - Dst: wps_build_device_attrs
      Src: /src/hostap/src/wps/wps_registrar.c:1360,1
    - Dst: wps_build_probe_config_methods
      Src: /src/hostap/src/wps/wps_registrar.c:1361,1
    - Dst: wps_build_rf_bands
      Src: /src/hostap/src/wps/wps_registrar.c:1362,1
    - Dst: wps_build_wfa_ext
      Src: /src/hostap/src/wps/wps_registrar.c:1363,1
    - Dst: wps_build_vendor_ext
      Src: /src/hostap/src/wps/wps_registrar.c:1364,1
    - Dst: wps_build_application_ext
      Src: /src/hostap/src/wps/wps_registrar.c:1365,1
    - Dst: wps_ie_encapsulate
      Src: /src/hostap/src/wps/wps_registrar.c:1368,1
    - Dst: wps_ie_encapsulate
      Src: /src/hostap/src/wps/wps_registrar.c:1369,1
    - Dst: wps_cb_set_ie
      Src: /src/hostap/src/wps/wps_registrar.c:1374,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_registrar.c:1376,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_registrar.c:1377,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 37
    argCount: 1
    argNames:
    - reg
    argTypes:
    - struct wps_registrar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1379
      start: 1302
    functionDepth: 3
    functionLinenumber: 1302
    functionLinenumberEnd: 1379
    functionName: wps_set_ie
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 1
    functionsReached:
    - wps_build_wps_state
    - wps_build_ap_setup_locked
    - wps_build_wfa_ext
    - wpabuf_alloc
    - wps_build_sel_reg_config_methods
    - wps_build_selected_registrar
    - wpa_printf
    - wps_authorized_macs
    - wps_build_dev_name
    - wps_build_version
    - wps_build_resp_type
    - wps_build_device_attrs
    - wpabuf_len
    - wps_build_sel_pbc_reg_uuid_e
    - wps_build_vendor_ext
    - wps_build_primary_dev_type
    - wps_cb_set_ie
    - wps_build_uuid_e
    - wps_build_probe_config_methods
    - wps_ie_encapsulate
    - wps_build_sel_reg_dev_password_id
    - wps_build_application_ext
    - wps_build_rf_bands
    - wpabuf_free
    linkageType: ''
    returnType: int
    signature: int wps_set_ie(struct wps_registrar *reg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: bin_clear_free
      Src: /src/hostap/src/wps/wps_registrar.c:1387,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:1391,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:1398,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:1403,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:1410,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/wps/wps_registrar.c:1411,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/wps_registrar.c:1412,1
    - Dst: wps_registrar_get_pin
      Src: /src/hostap/src/wps/wps_registrar.c:1415,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:1418,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:1427,1
    - Dst: wps_cb_pin_needed
      Src: /src/hostap/src/wps/wps_registrar.c:1430,1
    - Dst: os_memdup
      Src: /src/hostap/src/wps/wps_registrar.c:1435,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 1
    argNames:
    - wps
    argTypes:
    - struct wps_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1441
      start: 1382
    functionDepth: 6
    functionLinenumber: 1382
    functionLinenumberEnd: 1441
    functionName: wps_get_dev_password
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_len
    - os_memdup
    - wps_cb_pin_needed
    - wpabuf_head
    - wps_registrar_get_pin
    - bin_clear_free
    linkageType: ''
    returnType: int
    signature: int wps_get_dev_password(struct wps_data *wps)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:1446,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_registrar.c:1447,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_registrar.c:1448,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/wps/wps_registrar.c:1449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - wps
    - msg
    argTypes:
    - struct wps_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1451
      start: 1444
    functionDepth: 1
    functionLinenumber: 1444
    functionLinenumberEnd: 1451
    functionName: wps_build_uuid_r
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put_be16
    - wpabuf_put_data
    linkageType: ''
    returnType: int
    signature: int wps_build_uuid_r(struct wps_data *wps, struct wpabuf *msg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: random_get_bytes
      Src: /src/hostap/src/wps/wps_registrar.c:1460,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/wps/wps_registrar.c:1462,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/wps/wps_registrar.c:1463,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:1467,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:1472,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_registrar.c:1473,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_registrar.c:1474,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/wps/wps_registrar.c:1475,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/wps/wps_registrar.c:1481,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/wps_registrar.c:1482,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/wps/wps_registrar.c:1483,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/wps_registrar.c:1484,1
    - Dst: hmac_sha256_vector
      Src: /src/hostap/src/wps/wps_registrar.c:1485,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/wps/wps_registrar.c:1486,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:1488,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_registrar.c:1489,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_registrar.c:1490,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/wps/wps_registrar.c:1491,1
    - Dst: hmac_sha256_vector
      Src: /src/hostap/src/wps/wps_registrar.c:1495,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/wps/wps_registrar.c:1496,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 32
    argCount: 2
    argNames:
    - wps
    - msg
    argTypes:
    - struct wps_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1499
      start: 1454
    functionDepth: 1
    functionLinenumber: 1454
    functionLinenumberEnd: 1499
    functionName: wps_build_r_hash
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - random_get_bytes
    - wpa_printf
    - wpabuf_put
    - wpa_hexdump
    - wpabuf_len
    - wpabuf_put_be16
    - wpabuf_head
    - hmac_sha256_vector
    linkageType: ''
    returnType: int
    signature: int wps_build_r_hash(struct wps_data *wps, struct wpabuf *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:1504,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_registrar.c:1505,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_registrar.c:1506,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/wps/wps_registrar.c:1507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - wps
    - msg
    argTypes:
    - struct wps_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1509
      start: 1502
    functionDepth: 1
    functionLinenumber: 1502
    functionLinenumberEnd: 1509
    functionName: wps_build_r_snonce1
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put_be16
    - wpabuf_put_data
    linkageType: ''
    returnType: int
    signature: int wps_build_r_snonce1(struct wps_data *wps, struct wpabuf *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:1514,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_registrar.c:1515,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_registrar.c:1516,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/wps/wps_registrar.c:1517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - wps
    - msg
    argTypes:
    - struct wps_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1520
      start: 1512
    functionDepth: 1
    functionLinenumber: 1512
    functionLinenumberEnd: 1520
    functionName: wps_build_r_snonce2
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put_be16
    - wpabuf_put_data
    linkageType: ''
    returnType: int
    signature: int wps_build_r_snonce2(struct wps_data *wps, struct wpabuf *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:1526,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_registrar.c:1527,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_registrar.c:1528,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/wps/wps_registrar.c:1529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - msg
    - cred
    argTypes:
    - struct wpabuf*
    - struct wps_credential*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1531
      start: 1523
    functionDepth: 1
    functionLinenumber: 1523
    functionLinenumberEnd: 1531
    functionName: wps_build_cred_network_idx
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_put_be16
    - wpabuf_put_u8
    linkageType: ''
    returnType: int
    signature: "int wps_build_cred_network_idx(struct wpabuf *msg,\n\t\t\t\t      const
      struct wps_credential *cred)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:1537,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/wps/wps_registrar.c:1538,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_registrar.c:1540,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_registrar.c:1541,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/wps/wps_registrar.c:1542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - msg
    - cred
    argTypes:
    - struct wpabuf*
    - struct wps_credential*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1544
      start: 1534
    functionDepth: 1
    functionLinenumber: 1534
    functionLinenumberEnd: 1544
    functionName: wps_build_cred_ssid
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpa_hexdump_ascii
    - wpabuf_put_data
    - wpabuf_put_be16
    linkageType: ''
    returnType: int
    signature: "int wps_build_cred_ssid(struct wpabuf *msg,\n\t\t\t       const struct
      wps_credential *cred)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:1550,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_registrar.c:1552,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_registrar.c:1553,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_registrar.c:1554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - msg
    - cred
    argTypes:
    - struct wpabuf*
    - struct wps_credential*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1556
      start: 1547
    functionDepth: 1
    functionLinenumber: 1547
    functionLinenumberEnd: 1556
    functionName: wps_build_cred_auth_type
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpabuf_put_be16
    linkageType: ''
    returnType: int
    signature: "int wps_build_cred_auth_type(struct wpabuf *msg,\n\t\t\t\t    const
      struct wps_credential *cred)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:1562,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_registrar.c:1564,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_registrar.c:1565,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_registrar.c:1566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - msg
    - cred
    argTypes:
    - struct wpabuf*
    - struct wps_credential*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1568
      start: 1559
    functionDepth: 1
    functionLinenumber: 1559
    functionLinenumberEnd: 1568
    functionName: wps_build_cred_encr_type
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpabuf_put_be16
    linkageType: ''
    returnType: int
    signature: "int wps_build_cred_encr_type(struct wpabuf *msg,\n\t\t\t\t    const
      struct wps_credential *cred)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:1574,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/wps/wps_registrar.c:1576,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_registrar.c:1578,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_registrar.c:1579,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/wps/wps_registrar.c:1580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - msg
    - cred
    argTypes:
    - struct wpabuf*
    - struct wps_credential*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1582
      start: 1571
    functionDepth: 1
    functionLinenumber: 1571
    functionLinenumberEnd: 1582
    functionName: wps_build_cred_network_key
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpa_hexdump_key
    - wpabuf_put_data
    - wpabuf_put_be16
    linkageType: ''
    returnType: int
    signature: "int wps_build_cred_network_key(struct wpabuf *msg,\n\t\t\t\t      const
      struct wps_credential *cred)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wps_build_cred_network_idx
      Src: /src/hostap/src/wps/wps_registrar.c:1588,1
    - Dst: wps_build_cred_ssid
      Src: /src/hostap/src/wps/wps_registrar.c:1589,1
    - Dst: wps_build_cred_auth_type
      Src: /src/hostap/src/wps/wps_registrar.c:1590,1
    - Dst: wps_build_cred_encr_type
      Src: /src/hostap/src/wps/wps_registrar.c:1591,1
    - Dst: wps_build_cred_network_key
      Src: /src/hostap/src/wps/wps_registrar.c:1592,1
    - Dst: wps_build_mac_addr
      Src: /src/hostap/src/wps/wps_registrar.c:1593,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 2
    argNames:
    - msg
    - cred
    argTypes:
    - struct wpabuf*
    - struct wps_credential*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1596
      start: 1585
    functionDepth: 2
    functionLinenumber: 1585
    functionLinenumberEnd: 1596
    functionName: wps_build_credential
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - wps_build_cred_network_key
    - wps_build_cred_encr_type
    - wps_build_cred_network_idx
    - wps_build_cred_auth_type
    - wps_build_mac_addr
    - wps_build_cred_ssid
    linkageType: ''
    returnType: int
    signature: "int wps_build_credential(struct wpabuf *msg,\n\t\t\t\tconst struct
      wps_credential *cred)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/wps/wps_registrar.c:1603,1
    - Dst: wps_build_credential
      Src: /src/hostap/src/wps/wps_registrar.c:1606,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/wps/wps_registrar.c:1607,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_registrar.c:1610,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_registrar.c:1611,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/wps_registrar.c:1611,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/wps/wps_registrar.c:1612,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/wps/wps_registrar.c:1613,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - msg
    - cred
    argTypes:
    - struct wpabuf*
    - struct wps_credential*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1615
      start: 1599
    functionDepth: 3
    functionLinenumber: 1599
    functionLinenumberEnd: 1615
    functionName: wps_build_credential_wrap
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 1
    functionsReached:
    - wps_build_credential
    - wpabuf_len
    - wpabuf_put_be16
    - wpabuf_alloc
    - wpabuf_put_buf
    - wpabuf_clear_free
    linkageType: ''
    returnType: int
    signature: "int wps_build_credential_wrap(struct wpabuf *msg,\n\t\t\t      const
      struct wps_credential *cred)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:1628,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_registrar.c:1630,1
    - Dst: os_memset
      Src: /src/hostap/src/wps/wps_registrar.c:1633,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:1637,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_registrar.c:1638,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_registrar.c:1647,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_registrar.c:1649,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_registrar.c:1658,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:1662,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:1674,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 2
    argNames:
    - wps
    - msg
    argTypes:
    - struct wps_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1677
      start: 1618
    functionDepth: 0
    functionLinenumber: 1618
    functionLinenumberEnd: 1677
    functionName: wps_build_cred
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - os_memcpy
    - os_memset
    linkageType: ''
    returnType: int
    signature: int wps_build_cred(struct wps_data *wps, struct wpabuf *msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:1839,1
    - Dst: wps_build_credential
      Src: /src/hostap/src/wps/wps_registrar.c:1841,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - wps
    - msg
    argTypes:
    - struct wps_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1845
      start: 1837
    functionDepth: 3
    functionLinenumber: 1837
    functionLinenumberEnd: 1845
    functionName: wps_build_ap_settings
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wps_build_credential
    linkageType: ''
    returnType: int
    signature: int wps_build_ap_settings(struct wps_data *wps, struct wpabuf *msg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/wps/wps_registrar.c:1852,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/wps/wps_registrar.c:1856,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_registrar.c:1858,1
    - Dst: wps_build_ap_settings
      Src: /src/hostap/src/wps/wps_registrar.c:1862,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/wps/wps_registrar.c:1863,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_registrar.c:1864,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_registrar.c:1868,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_registrar.c:1869,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/wps_registrar.c:1869,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/wps/wps_registrar.c:1870,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/wps/wps_registrar.c:1871,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - wps
    argTypes:
    - struct wps_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1874
      start: 1848
    functionDepth: 1
    functionLinenumber: 1848
    functionLinenumberEnd: 1874
    functionName: wps_build_ap_cred
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - wps_build_ap_settings
    - wpabuf_len
    - wpabuf_free
    - wpabuf_put_be16
    - wpabuf_alloc
    - wpabuf_put_buf
    - wpabuf_clear_free
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * wps_build_ap_cred(struct wps_data *wps)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: random_get_bytes
      Src: /src/hostap/src/wps/wps_registrar.c:1882,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/wps/wps_registrar.c:1884,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/wps/wps_registrar.c:1886,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:1888,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/wps/wps_registrar.c:1889,1
    - Dst: wps_build_version
      Src: /src/hostap/src/wps/wps_registrar.c:1893,1
    - Dst: wps_build_msg_type
      Src: /src/hostap/src/wps/wps_registrar.c:1894,1
    - Dst: wps_build_enrollee_nonce
      Src: /src/hostap/src/wps/wps_registrar.c:1895,1
    - Dst: wps_build_registrar_nonce
      Src: /src/hostap/src/wps/wps_registrar.c:1896,1
    - Dst: wps_build_uuid_r
      Src: /src/hostap/src/wps/wps_registrar.c:1897,1
    - Dst: wps_build_public_key
      Src: /src/hostap/src/wps/wps_registrar.c:1898,1
    - Dst: wps_derive_keys
      Src: /src/hostap/src/wps/wps_registrar.c:1899,1
    - Dst: wps_build_auth_type_flags
      Src: /src/hostap/src/wps/wps_registrar.c:1900,1
    - Dst: wps_build_encr_type_flags
      Src: /src/hostap/src/wps/wps_registrar.c:1901,1
    - Dst: wps_build_conn_type_flags
      Src: /src/hostap/src/wps/wps_registrar.c:1902,1
    - Dst: wps_build_config_methods_r
      Src: /src/hostap/src/wps/wps_registrar.c:1903,1
    - Dst: wps_build_device_attrs
      Src: /src/hostap/src/wps/wps_registrar.c:1904,1
    - Dst: wps_build_rf_bands
      Src: /src/hostap/src/wps/wps_registrar.c:1905,1
    - Dst: struct wps_data*::wps::rf_band_cb
      Src: /src/hostap/src/wps/wps_registrar.c:1906,1
    - Dst: wps_build_assoc_state
      Src: /src/hostap/src/wps/wps_registrar.c:1907,1
    - Dst: wps_build_config_error
      Src: /src/hostap/src/wps/wps_registrar.c:1908,1
    - Dst: wps_build_dev_password_id
      Src: /src/hostap/src/wps/wps_registrar.c:1909,1
    - Dst: wps_build_os_version
      Src: /src/hostap/src/wps/wps_registrar.c:1910,1
    - Dst: wps_build_wfa_ext
      Src: /src/hostap/src/wps/wps_registrar.c:1911,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_registrar.c:1912,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/wps/wps_registrar.c:1925,1
    - Dst: wps_build_cred
      Src: /src/hostap/src/wps/wps_registrar.c:1927,1
    - Dst: wps_build_key_wrap_auth
      Src: /src/hostap/src/wps/wps_registrar.c:1928,1
    - Dst: wps_build_encr_settings
      Src: /src/hostap/src/wps/wps_registrar.c:1929,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_registrar.c:1930,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/wps/wps_registrar.c:1931,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/wps/wps_registrar.c:1934,1
    - Dst: wps_build_authenticator
      Src: /src/hostap/src/wps/wps_registrar.c:1939,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_registrar.c:1940,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 29
    argCount: 1
    argNames:
    - wps
    argTypes:
    - struct wps_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1947
      start: 1877
    functionDepth: 3
    functionLinenumber: 1877
    functionLinenumberEnd: 1947
    functionName: wps_build_m2
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - wps_build_public_key
    - struct wps_data*::wps::rf_band_cb
    - wpa_hexdump
    - wps_build_wfa_ext
    - wpabuf_alloc
    - wps_build_registrar_nonce
    - wps_build_os_version
    - wps_build_uuid_r
    - wpa_printf
    - wps_derive_keys
    - wps_build_dev_password_id
    - wpabuf_clear_free
    - wps_build_config_methods_r
    - wps_build_version
    - wps_build_device_attrs
    - wps_build_auth_type_flags
    - wps_build_encr_settings
    - wps_build_enrollee_nonce
    - wps_build_rf_bands
    - random_get_bytes
    - wps_build_assoc_state
    - wps_build_cred
    - wpabuf_free
    - wps_build_msg_type
    - wps_build_authenticator
    - wps_build_config_error
    - wps_build_key_wrap_auth
    - wps_build_encr_type_flags
    - wps_build_conn_type_flags
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * wps_build_m2(struct wps_data *wps)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:1955,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/wps/wps_registrar.c:1956,1
    - Dst: wps_build_version
      Src: /src/hostap/src/wps/wps_registrar.c:1964,1
    - Dst: wps_build_msg_type
      Src: /src/hostap/src/wps/wps_registrar.c:1965,1
    - Dst: wps_build_enrollee_nonce
      Src: /src/hostap/src/wps/wps_registrar.c:1966,1
    - Dst: wps_build_registrar_nonce
      Src: /src/hostap/src/wps/wps_registrar.c:1967,1
    - Dst: wps_build_uuid_r
      Src: /src/hostap/src/wps/wps_registrar.c:1968,1
    - Dst: wps_build_auth_type_flags
      Src: /src/hostap/src/wps/wps_registrar.c:1969,1
    - Dst: wps_build_encr_type_flags
      Src: /src/hostap/src/wps/wps_registrar.c:1970,1
    - Dst: wps_build_conn_type_flags
      Src: /src/hostap/src/wps/wps_registrar.c:1971,1
    - Dst: wps_build_config_methods_r
      Src: /src/hostap/src/wps/wps_registrar.c:1972,1
    - Dst: wps_build_device_attrs
      Src: /src/hostap/src/wps/wps_registrar.c:1973,1
    - Dst: wps_build_rf_bands
      Src: /src/hostap/src/wps/wps_registrar.c:1974,1
    - Dst: struct wps_data*::wps::rf_band_cb
      Src: /src/hostap/src/wps/wps_registrar.c:1975,1
    - Dst: wps_build_assoc_state
      Src: /src/hostap/src/wps/wps_registrar.c:1976,1
    - Dst: wps_build_config_error
      Src: /src/hostap/src/wps/wps_registrar.c:1977,1
    - Dst: wps_build_os_version
      Src: /src/hostap/src/wps/wps_registrar.c:1978,1
    - Dst: wps_build_wfa_ext
      Src: /src/hostap/src/wps/wps_registrar.c:1979,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_registrar.c:1980,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 13
    argCount: 1
    argNames:
    - wps
    argTypes:
    - struct wps_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1986
      start: 1950
    functionDepth: 3
    functionLinenumber: 1950
    functionLinenumberEnd: 1986
    functionName: wps_build_m2d
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - struct wps_data*::wps::rf_band_cb
    - wps_build_wfa_ext
    - wpabuf_alloc
    - wps_build_registrar_nonce
    - wps_build_os_version
    - wps_build_uuid_r
    - wpa_printf
    - wps_build_config_methods_r
    - wps_build_version
    - wps_build_device_attrs
    - wps_build_auth_type_flags
    - wps_build_enrollee_nonce
    - wps_build_rf_bands
    - wps_build_assoc_state
    - wpabuf_free
    - wps_build_msg_type
    - wps_build_config_error
    - wps_build_encr_type_flags
    - wps_build_conn_type_flags
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * wps_build_m2d(struct wps_data *wps)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:1993,1
    - Dst: wps_derive_psk
      Src: /src/hostap/src/wps/wps_registrar.c:1995,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/wps/wps_registrar.c:1998,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/wps/wps_registrar.c:2002,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_registrar.c:2004,1
    - Dst: wps_build_version
      Src: /src/hostap/src/wps/wps_registrar.c:2008,1
    - Dst: wps_build_msg_type
      Src: /src/hostap/src/wps/wps_registrar.c:2009,1
    - Dst: wps_build_enrollee_nonce
      Src: /src/hostap/src/wps/wps_registrar.c:2010,1
    - Dst: wps_build_r_hash
      Src: /src/hostap/src/wps/wps_registrar.c:2011,1
    - Dst: wps_build_r_snonce1
      Src: /src/hostap/src/wps/wps_registrar.c:2012,1
    - Dst: wps_build_key_wrap_auth
      Src: /src/hostap/src/wps/wps_registrar.c:2013,1
    - Dst: wps_build_encr_settings
      Src: /src/hostap/src/wps/wps_registrar.c:2014,1
    - Dst: wps_build_wfa_ext
      Src: /src/hostap/src/wps/wps_registrar.c:2015,1
    - Dst: wps_build_authenticator
      Src: /src/hostap/src/wps/wps_registrar.c:2016,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/wps/wps_registrar.c:2017,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_registrar.c:2018,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/wps/wps_registrar.c:2021,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 1
    argNames:
    - wps
    argTypes:
    - struct wps_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2025
      start: 1989
    functionDepth: 2
    functionLinenumber: 1989
    functionLinenumberEnd: 2025
    functionName: wps_build_m4
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - wps_build_r_hash
    - wpa_printf
    - wpabuf_free
    - wps_build_msg_type
    - wps_build_wfa_ext
    - wps_build_authenticator
    - wps_build_r_snonce1
    - wpabuf_alloc
    - wps_derive_psk
    - wps_build_key_wrap_auth
    - wps_build_encr_settings
    - wpabuf_clear_free
    - wps_build_version
    - wps_build_enrollee_nonce
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * wps_build_m4(struct wps_data *wps)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:2032,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/wps/wps_registrar.c:2034,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/wps/wps_registrar.c:2038,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_registrar.c:2040,1
    - Dst: wps_build_version
      Src: /src/hostap/src/wps/wps_registrar.c:2044,1
    - Dst: wps_build_msg_type
      Src: /src/hostap/src/wps/wps_registrar.c:2045,1
    - Dst: wps_build_enrollee_nonce
      Src: /src/hostap/src/wps/wps_registrar.c:2046,1
    - Dst: wps_build_r_snonce2
      Src: /src/hostap/src/wps/wps_registrar.c:2047,1
    - Dst: wps_build_key_wrap_auth
      Src: /src/hostap/src/wps/wps_registrar.c:2048,1
    - Dst: wps_build_encr_settings
      Src: /src/hostap/src/wps/wps_registrar.c:2049,1
    - Dst: wps_build_wfa_ext
      Src: /src/hostap/src/wps/wps_registrar.c:2050,1
    - Dst: wps_build_authenticator
      Src: /src/hostap/src/wps/wps_registrar.c:2051,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/wps/wps_registrar.c:2052,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_registrar.c:2053,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/wps/wps_registrar.c:2056,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 1
    argNames:
    - wps
    argTypes:
    - struct wps_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2061
      start: 2028
    functionDepth: 2
    functionLinenumber: 2028
    functionLinenumberEnd: 2061
    functionName: wps_build_m6
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_free
    - wps_build_msg_type
    - wps_build_wfa_ext
    - wps_build_authenticator
    - wpabuf_alloc
    - wps_build_key_wrap_auth
    - wps_build_encr_settings
    - wpabuf_clear_free
    - wps_build_r_snonce2
    - wps_build_version
    - wps_build_enrollee_nonce
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * wps_build_m6(struct wps_data *wps)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:2068,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/wps/wps_registrar.c:2070,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/wps/wps_registrar.c:2074,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_registrar.c:2076,1
    - Dst: wps_build_version
      Src: /src/hostap/src/wps/wps_registrar.c:2080,1
    - Dst: wps_build_msg_type
      Src: /src/hostap/src/wps/wps_registrar.c:2081,1
    - Dst: wps_build_enrollee_nonce
      Src: /src/hostap/src/wps/wps_registrar.c:2082,1
    - Dst: wps_build_cred
      Src: /src/hostap/src/wps/wps_registrar.c:2083,1
    - Dst: wps_build_ap_settings
      Src: /src/hostap/src/wps/wps_registrar.c:2084,1
    - Dst: wps_build_key_wrap_auth
      Src: /src/hostap/src/wps/wps_registrar.c:2085,1
    - Dst: wps_build_encr_settings
      Src: /src/hostap/src/wps/wps_registrar.c:2086,1
    - Dst: wps_build_wfa_ext
      Src: /src/hostap/src/wps/wps_registrar.c:2087,1
    - Dst: wps_build_authenticator
      Src: /src/hostap/src/wps/wps_registrar.c:2088,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/wps/wps_registrar.c:2089,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/wps/wps_registrar.c:2090,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/wps/wps_registrar.c:2093,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 18
    argCount: 1
    argNames:
    - wps
    argTypes:
    - struct wps_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2097
      start: 2064
    functionDepth: 1
    functionLinenumber: 2064
    functionLinenumberEnd: 2097
    functionName: wps_build_m8
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wps_build_ap_settings
    - wps_build_cred
    - wpabuf_free
    - wps_build_msg_type
    - wps_build_wfa_ext
    - wps_build_authenticator
    - wpabuf_alloc
    - wps_build_key_wrap_auth
    - wps_build_encr_settings
    - wpabuf_clear_free
    - wps_build_version
    - wps_build_enrollee_nonce
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * wps_build_m8(struct wps_data *wps)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: wps_registrar_free_pending_m2
      Src: /src/hostap/src/wps/wps_registrar.c:2109,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:2117,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_registrar.c:2135,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:2142,1
    - Dst: wps_get_dev_password
      Src: /src/hostap/src/wps/wps_registrar.c:2150,1
    - Dst: wps_build_m2d
      Src: /src/hostap/src/wps/wps_registrar.c:2151,1
    - Dst: wps_build_m2
      Src: /src/hostap/src/wps/wps_registrar.c:2153,1
    - Dst: wps_build_m2d
      Src: /src/hostap/src/wps/wps_registrar.c:2157,1
    - Dst: wps_build_m4
      Src: /src/hostap/src/wps/wps_registrar.c:2161,1
    - Dst: wps_build_m6
      Src: /src/hostap/src/wps/wps_registrar.c:2165,1
    - Dst: wps_build_m8
      Src: /src/hostap/src/wps/wps_registrar.c:2169,1
    - Dst: wps_build_wsc_ack
      Src: /src/hostap/src/wps/wps_registrar.c:2173,1
    - Dst: wps_build_wsc_nack
      Src: /src/hostap/src/wps/wps_registrar.c:2177,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:2181,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_registrar.c:2190,1
    - Dst: wpabuf_dup
      Src: /src/hostap/src/wps/wps_registrar.c:2191,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 77
    argCount: 2
    argNames:
    - wps
    - op_code
    argTypes:
    - struct wps_data*
    - enum wsc_op_code*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2195
      start: 2100
    functionDepth: 7
    functionLinenumber: 2100
    functionLinenumberEnd: 2195
    functionName: wps_registrar_get_msg
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 1
    functionsReached:
    - wpabuf_dup
    - wpa_printf
    - wps_build_m8
    - wps_build_m2
    - wpabuf_free
    - wps_registrar_free_pending_m2
    - wps_build_wsc_nack
    - wps_build_wsc_ack
    - wps_build_m4
    - os_free
    - wps_build_m6
    - wps_build_m2d
    - wps_get_dev_password
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * wps_registrar_get_msg(struct wps_data *wps,\n\t\t\t\t
      \     enum wsc_op_code *op_code)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:2201,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_registrar.c:2205,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/wps/wps_registrar.c:2206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - wps
    - e_nonce
    argTypes:
    - struct wps_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2210
      start: 2198
    functionDepth: 0
    functionLinenumber: 2198
    functionLinenumberEnd: 2210
    functionName: wps_process_enrollee_nonce
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 4
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_hexdump
    linkageType: ''
    returnType: int
    signature: int wps_process_enrollee_nonce(struct wps_data *wps, const u8 *e_nonce)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:2216,1
    - Dst: os_memcmp
      Src: /src/hostap/src/wps/wps_registrar.c:2220,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:2221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - wps
    - r_nonce
    argTypes:
    - struct wps_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2226
      start: 2213
    functionDepth: 0
    functionLinenumber: 2213
    functionLinenumberEnd: 2226
    functionName: wps_process_registrar_nonce
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - os_memcmp
    linkageType: ''
    returnType: int
    signature: int wps_process_registrar_nonce(struct wps_data *wps, const u8 *r_nonce)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:2232,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_registrar.c:2236,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/wps/wps_registrar.c:2237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - wps
    - uuid_e
    argTypes:
    - struct wps_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2240
      start: 2229
    functionDepth: 0
    functionLinenumber: 2229
    functionLinenumberEnd: 2240
    functionName: wps_process_uuid_e
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_hexdump
    linkageType: ''
    returnType: int
    signature: int wps_process_uuid_e(struct wps_data *wps, const u8 *uuid_e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:2246,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/wps/wps_registrar.c:2250,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:2251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - wps
    - pw_id
    argTypes:
    - struct wps_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2254
      start: 2243
    functionDepth: 1
    functionLinenumber: 2243
    functionLinenumberEnd: 2254
    functionName: wps_process_dev_password_id
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - WPA_GET_BE16
    linkageType: ''
    returnType: int
    signature: int wps_process_dev_password_id(struct wps_data *wps, const u8 *pw_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:2260,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_registrar.c:2264,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/wps/wps_registrar.c:2265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - wps
    - e_hash1
    argTypes:
    - struct wps_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2268
      start: 2257
    functionDepth: 0
    functionLinenumber: 2257
    functionLinenumberEnd: 2268
    functionName: wps_process_e_hash1
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_hexdump
    linkageType: ''
    returnType: int
    signature: int wps_process_e_hash1(struct wps_data *wps, const u8 *e_hash1)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:2274,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_registrar.c:2278,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/wps/wps_registrar.c:2279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - wps
    - e_hash2
    argTypes:
    - struct wps_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2282
      start: 2271
    functionDepth: 0
    functionLinenumber: 2271
    functionLinenumberEnd: 2282
    functionName: wps_process_e_hash2
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_hexdump
    linkageType: ''
    returnType: int
    signature: int wps_process_e_hash2(struct wps_data *wps, const u8 *e_hash2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:2292,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/wps/wps_registrar.c:2296,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/wps/wps_registrar.c:2304,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/wps_registrar.c:2305,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/wps/wps_registrar.c:2306,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/wps_registrar.c:2307,1
    - Dst: hmac_sha256_vector
      Src: /src/hostap/src/wps/wps_registrar.c:2308,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/wps/wps_registrar.c:2310,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:2311,1
    - Dst: wps_pwd_auth_fail_event
      Src: /src/hostap/src/wps/wps_registrar.c:2314,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:2318,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 2
    argNames:
    - wps
    - e_snonce1
    argTypes:
    - struct wps_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2322
      start: 2285
    functionDepth: 1
    functionLinenumber: 2285
    functionLinenumberEnd: 2322
    functionName: wps_process_e_snonce1
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump_key
    - wps_pwd_auth_fail_event
    - wpabuf_len
    - wpabuf_head
    - os_memcmp_const
    - hmac_sha256_vector
    linkageType: ''
    returnType: int
    signature: int wps_process_e_snonce1(struct wps_data *wps, const u8 *e_snonce1)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:2332,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/wps/wps_registrar.c:2336,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/wps/wps_registrar.c:2344,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/wps_registrar.c:2345,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/wps/wps_registrar.c:2346,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/wps_registrar.c:2347,1
    - Dst: hmac_sha256_vector
      Src: /src/hostap/src/wps/wps_registrar.c:2348,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/wps/wps_registrar.c:2350,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:2351,1
    - Dst: wps_registrar_invalidate_pin
      Src: /src/hostap/src/wps/wps_registrar.c:2353,1
    - Dst: wps_pwd_auth_fail_event
      Src: /src/hostap/src/wps/wps_registrar.c:2355,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:2359,1
    - Dst: wps_registrar_unlock_pin
      Src: /src/hostap/src/wps/wps_registrar.c:2362,1
    - Dst: wps_registrar_invalidate_pin
      Src: /src/hostap/src/wps/wps_registrar.c:2369,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 2
    argNames:
    - wps
    - e_snonce2
    argTypes:
    - struct wps_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2372
      start: 2325
    functionDepth: 6
    functionLinenumber: 2325
    functionLinenumberEnd: 2372
    functionName: wps_process_e_snonce2
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump_key
    - wps_pwd_auth_fail_event
    - wpabuf_len
    - wps_registrar_invalidate_pin
    - wpabuf_head
    - os_memcmp_const
    - wps_registrar_unlock_pin
    - hmac_sha256_vector
    linkageType: ''
    returnType: int
    signature: int wps_process_e_snonce2(struct wps_data *wps, const u8 *e_snonce2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:2378,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:2382,1
    - Dst: MAC2STR
      Src: /src/hostap/src/wps/wps_registrar.c:2383,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_registrar.c:2384,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_registrar.c:2385,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - wps
    - mac_addr
    argTypes:
    - struct wps_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2388
      start: 2375
    functionDepth: 1
    functionLinenumber: 2375
    functionLinenumberEnd: 2388
    functionName: wps_process_mac_addr
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    - os_memcpy
    linkageType: ''
    returnType: int
    signature: int wps_process_mac_addr(struct wps_data *wps, const u8 *mac_addr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:2395,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_registrar.c:2399,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/wps/wps_registrar.c:2400,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - wps
    - pk
    - pk_len
    argTypes:
    - struct wps_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2405
      start: 2391
    functionDepth: 1
    functionLinenumber: 2391
    functionLinenumberEnd: 2405
    functionName: wps_process_pubkey
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpabuf_free
    - wpabuf_alloc_copy
    linkageType: ''
    returnType: int
    signature: "int wps_process_pubkey(struct wps_data *wps, const u8 *pk,\n\t\t\t
      \     size_t pk_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:2413,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/wps/wps_registrar.c:2418,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:2420,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:2434,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:2441,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:2452,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - wps
    - auth
    argTypes:
    - struct wps_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2462
      start: 2408
    functionDepth: 1
    functionLinenumber: 2408
    functionLinenumberEnd: 2462
    functionName: wps_process_auth_type_flags
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - WPA_GET_BE16
    linkageType: ''
    returnType: int
    signature: int wps_process_auth_type_flags(struct wps_data *wps, const u8 *auth)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:2470,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/wps/wps_registrar.c:2475,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:2477,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:2481,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:2492,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - wps
    - encr
    argTypes:
    - struct wps_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2502
      start: 2465
    functionDepth: 1
    functionLinenumber: 2465
    functionLinenumberEnd: 2502
    functionName: wps_process_encr_type_flags
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - WPA_GET_BE16
    linkageType: ''
    returnType: int
    signature: int wps_process_encr_type_flags(struct wps_data *wps, const u8 *encr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:2508,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:2513,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - wps
    - conn
    argTypes:
    - struct wps_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2517
      start: 2505
    functionDepth: 0
    functionLinenumber: 2505
    functionLinenumberEnd: 2517
    functionName: wps_process_conn_type_flags
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int wps_process_conn_type_flags(struct wps_data *wps, const u8 *conn)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:2525,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/wps/wps_registrar.c:2529,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:2531,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:2549,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - wps
    - methods
    argTypes:
    - struct wps_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2555
      start: 2520
    functionDepth: 1
    functionLinenumber: 2520
    functionLinenumberEnd: 2555
    functionName: wps_process_config_methods
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - WPA_GET_BE16
    linkageType: ''
    returnType: int
    signature: int wps_process_config_methods(struct wps_data *wps, const u8 *methods)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:2561,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:2566,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - wps
    - state
    argTypes:
    - struct wps_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2570
      start: 2558
    functionDepth: 0
    functionLinenumber: 2558
    functionLinenumberEnd: 2570
    functionName: wps_process_wps_state
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int wps_process_wps_state(struct wps_data *wps, const u8 *state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:2578,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/wps/wps_registrar.c:2582,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:2583,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - wps
    - assoc
    argTypes:
    - struct wps_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2586
      start: 2573
    functionDepth: 1
    functionLinenumber: 2573
    functionLinenumberEnd: 2586
    functionName: wps_process_assoc_state
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - WPA_GET_BE16
    linkageType: ''
    returnType: int
    signature: int wps_process_assoc_state(struct wps_data *wps, const u8 *assoc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:2594,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/wps/wps_registrar.c:2598,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:2599,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - wps
    - err
    argTypes:
    - struct wps_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2602
      start: 2589
    functionDepth: 1
    functionLinenumber: 2589
    functionLinenumberEnd: 2602
    functionName: wps_process_config_error
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - WPA_GET_BE16
    linkageType: ''
    returnType: int
    signature: int wps_process_config_error(struct wps_data *wps, const u8 *err)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/wps/wps_registrar.c:2610,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/wps/wps_registrar.c:2613,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:2614,1
    - Dst: MAC2STR
      Src: /src/hostap/src/wps/wps_registrar.c:2617,1
    - Dst: MAC2STR
      Src: /src/hostap/src/wps/wps_registrar.c:2618,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - wps
    argTypes:
    - struct wps_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2623
      start: 2605
    functionDepth: 1
    functionLinenumber: 2605
    functionLinenumberEnd: 2623
    functionName: wps_registrar_p2p_dev_addr_match
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    - is_zero_ether_addr
    - ether_addr_equal
    linkageType: ''
    returnType: int
    signature: int wps_registrar_p2p_dev_addr_match(struct wps_data *wps)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/wps/wps_registrar.c:2631,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/wps/wps_registrar.c:2634,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:2635,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - wps
    argTypes:
    - struct wps_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2641
      start: 2626
    functionDepth: 1
    functionLinenumber: 2626
    functionLinenumberEnd: 2641
    functionName: wps_registrar_skip_overlap
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - is_zero_ether_addr
    - ether_addr_equal
    linkageType: ''
    returnType: int
    signature: int wps_registrar_skip_overlap(struct wps_data *wps)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:2647,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:2650,1
    - Dst: wps_process_uuid_e
      Src: /src/hostap/src/wps/wps_registrar.c:2655,1
    - Dst: wps_process_mac_addr
      Src: /src/hostap/src/wps/wps_registrar.c:2656,1
    - Dst: wps_process_enrollee_nonce
      Src: /src/hostap/src/wps/wps_registrar.c:2657,1
    - Dst: wps_process_pubkey
      Src: /src/hostap/src/wps/wps_registrar.c:2658,1
    - Dst: wps_process_auth_type_flags
      Src: /src/hostap/src/wps/wps_registrar.c:2659,1
    - Dst: wps_process_encr_type_flags
      Src: /src/hostap/src/wps/wps_registrar.c:2660,1
    - Dst: wps_process_conn_type_flags
      Src: /src/hostap/src/wps/wps_registrar.c:2661,1
    - Dst: wps_process_config_methods
      Src: /src/hostap/src/wps/wps_registrar.c:2662,1
    - Dst: wps_process_wps_state
      Src: /src/hostap/src/wps/wps_registrar.c:2663,1
    - Dst: wps_process_device_attrs
      Src: /src/hostap/src/wps/wps_registrar.c:2664,1
    - Dst: wps_process_rf_bands
      Src: /src/hostap/src/wps/wps_registrar.c:2665,1
    - Dst: wps_process_assoc_state
      Src: /src/hostap/src/wps/wps_registrar.c:2666,1
    - Dst: wps_process_dev_password_id
      Src: /src/hostap/src/wps/wps_registrar.c:2667,1
    - Dst: wps_process_config_error
      Src: /src/hostap/src/wps/wps_registrar.c:2668,1
    - Dst: wps_process_os_version
      Src: /src/hostap/src/wps/wps_registrar.c:2669,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:2683,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:2696,1
    - Dst: wps_get_nfc_pw_token
      Src: /src/hostap/src/wps/wps_registrar.c:2698,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:2703,1
    - Dst: dl_list_del
      Src: /src/hostap/src/wps/wps_registrar.c:2705,1
    - Dst: sha256_vector
      Src: /src/hostap/src/wps/wps_registrar.c:2710,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/wps/wps_registrar.c:2711,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:2714,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:2722,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:2728,1
    - Dst: wps_registrar_pbc_overlap
      Src: /src/hostap/src/wps/wps_registrar.c:2735,1
    - Dst: wps_registrar_p2p_dev_addr_match
      Src: /src/hostap/src/wps/wps_registrar.c:2737,1
    - Dst: wps_registrar_skip_overlap
      Src: /src/hostap/src/wps/wps_registrar.c:2738,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:2739,1
    - Dst: wps_pbc_overlap_event
      Src: /src/hostap/src/wps/wps_registrar.c:2743,1
    - Dst: wps_fail_event
      Src: /src/hostap/src/wps/wps_registrar.c:2744,1
    - Dst: wps_registrar_add_pbc_session
      Src: /src/hostap/src/wps/wps_registrar.c:2750,1
    - Dst: os_strncmp
      Src: /src/hostap/src/wps/wps_registrar.c:2763,1
    - Dst: os_strcmp
      Src: /src/hostap/src/wps/wps_registrar.c:2765,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:2766,1
    - Dst: wps_process_vendor_ext_m1
      Src: /src/hostap/src/wps/wps_registrar.c:2771,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 58
    argCount: 2
    argNames:
    - wps
    - attr
    argTypes:
    - struct wps_data*
    - struct wps_parse_attr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2775
      start: 2644
    functionDepth: 3
    functionLinenumber: 2644
    functionLinenumberEnd: 2775
    functionName: wps_process_m1
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - wps_pbc_overlap_event
    - wps_process_encr_type_flags
    - wps_process_conn_type_flags
    - wps_process_mac_addr
    - wps_process_uuid_e
    - wps_fail_event
    - wps_process_os_version
    - wps_registrar_pbc_overlap
    - wps_process_rf_bands
    - sha256_vector
    - wps_process_enrollee_nonce
    - wpa_printf
    - wps_registrar_add_pbc_session
    - wps_process_config_error
    - wps_process_pubkey
    - wps_process_wps_state
    - wps_process_assoc_state
    - wps_process_dev_password_id
    - os_strcmp
    - wps_registrar_skip_overlap
    - wps_process_device_attrs
    - wps_process_vendor_ext_m1
    - dl_list_del
    - wps_get_nfc_pw_token
    - wps_process_auth_type_flags
    - os_strncmp
    - os_memcmp_const
    - wps_registrar_p2p_dev_addr_match
    - wps_process_config_methods
    linkageType: ''
    returnType: enum wps_process_res
    signature: "enum wps_process_res wps_process_m1(struct wps_data *wps,\n\t\t\t\t\t
      \  struct wps_parse_attr *attr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:2782,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:2785,1
    - Dst: wps_registrar_skip_overlap
      Src: /src/hostap/src/wps/wps_registrar.c:2792,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:2793,1
    - Dst: wps_process_registrar_nonce
      Src: /src/hostap/src/wps/wps_registrar.c:2800,1
    - Dst: wps_process_authenticator
      Src: /src/hostap/src/wps/wps_registrar.c:2801,1
    - Dst: wps_process_e_hash1
      Src: /src/hostap/src/wps/wps_registrar.c:2802,1
    - Dst: wps_process_e_hash2
      Src: /src/hostap/src/wps/wps_registrar.c:2803,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - wps
    - msg
    - attr
    argTypes:
    - struct wps_data*
    - struct wpabuf*
    - struct wps_parse_attr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2810
      start: 2778
    functionDepth: 2
    functionLinenumber: 2778
    functionLinenumberEnd: 2810
    functionName: wps_process_m3
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wps_process_e_hash1
    - wps_process_authenticator
    - wps_registrar_skip_overlap
    - wps_process_e_hash2
    - wps_process_registrar_nonce
    linkageType: ''
    returnType: enum wps_process_res
    signature: "enum wps_process_res wps_process_m3(struct wps_data *wps,\n\t\t\t\t\t
      \  const struct wpabuf *msg,\n\t\t\t\t\t   struct wps_parse_attr *attr)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:2820,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:2823,1
    - Dst: wps_registrar_skip_overlap
      Src: /src/hostap/src/wps/wps_registrar.c:2830,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:2831,1
    - Dst: wps_process_registrar_nonce
      Src: /src/hostap/src/wps/wps_registrar.c:2838,1
    - Dst: wps_process_authenticator
      Src: /src/hostap/src/wps/wps_registrar.c:2839,1
    - Dst: wps_decrypt_encr_settings
      Src: /src/hostap/src/wps/wps_registrar.c:2844,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:2847,1
    - Dst: wps_validate_m5_encr
      Src: /src/hostap/src/wps/wps_registrar.c:2853,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/wps/wps_registrar.c:2854,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:2859,1
    - Dst: wps_parse_msg
      Src: /src/hostap/src/wps/wps_registrar.c:2861,1
    - Dst: wps_process_key_wrap_auth
      Src: /src/hostap/src/wps/wps_registrar.c:2862,1
    - Dst: wps_process_e_snonce1
      Src: /src/hostap/src/wps/wps_registrar.c:2863,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/wps/wps_registrar.c:2864,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/wps/wps_registrar.c:2868,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 3
    argNames:
    - wps
    - msg
    - attr
    argTypes:
    - struct wps_data*
    - struct wpabuf*
    - struct wps_parse_attr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2872
      start: 2813
    functionDepth: 2
    functionLinenumber: 2813
    functionLinenumberEnd: 2872
    functionName: wps_process_m5
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wps_decrypt_encr_settings
    - wps_process_key_wrap_auth
    - wps_process_e_snonce1
    - wps_process_authenticator
    - wps_registrar_skip_overlap
    - wpabuf_clear_free
    - wps_validate_m5_encr
    - wps_process_registrar_nonce
    - wps_parse_msg
    linkageType: ''
    returnType: enum wps_process_res
    signature: "enum wps_process_res wps_process_m5(struct wps_data *wps,\n\t\t\t\t\t
      \  const struct wpabuf *msg,\n\t\t\t\t\t   struct wps_parse_attr *attr)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:2890,1
    - Dst: struct wps_data*::wps::cred_cb
      Src: /src/hostap/src/wps/wps_registrar.c:2893,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - wps
    argTypes:
    - struct wps_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2894
      start: 2875
    functionDepth: 0
    functionLinenumber: 2875
    functionLinenumberEnd: 2894
    functionName: wps_sta_cred_cb
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - struct wps_data*::wps::cred_cb
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void wps_sta_cred_cb(struct wps_data *wps)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_registrar.c:2900,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_registrar.c:2905,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - struct wps_credential*
    - struct wps_credential*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2907
      start: 2897
    functionDepth: 0
    functionLinenumber: 2897
    functionLinenumberEnd: 2907
    functionName: wps_cred_update
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    linkageType: ''
    returnType: void
    signature: "void wps_cred_update(struct wps_credential *dst,\n\t\t\t    struct
      wps_credential *src)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wps_process_ap_settings
      Src: /src/hostap/src/wps/wps_registrar.c:2919,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:2922,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:2925,1
    - Dst: wps_cred_update
      Src: /src/hostap/src/wps/wps_registrar.c:2927,1
    - Dst: wps_registrar_pin_completed
      Src: /src/hostap/src/wps/wps_registrar.c:2939,1
    - Dst: wps_build_ap_cred
      Src: /src/hostap/src/wps/wps_registrar.c:2941,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/wps/wps_registrar.c:2944,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/wps_registrar.c:2945,1
    - Dst: struct wps_data*::ap_settings_cb
      Src: /src/hostap/src/wps/wps_registrar.c:2948,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_registrar.c:2950,1
    - Dst: wps_sta_cred_cb
      Src: /src/hostap/src/wps/wps_registrar.c:2953,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_registrar.c:2957,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 2
    argNames:
    - wps
    - attr
    argTypes:
    - struct wps_data*
    - struct wps_parse_attr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2961
      start: 2910
    functionDepth: 2
    functionLinenumber: 2910
    functionLinenumberEnd: 2961
    functionName: wps_process_ap_settings_r
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - wps_build_ap_cred
    - wpa_printf
    - wpabuf_len
    - wps_process_ap_settings
    - wpabuf_free
    - wps_registrar_pin_completed
    - wpabuf_head
    - wps_cred_update
    - wps_sta_cred_cb
    - struct wps_data*::ap_settings_cb
    linkageType: ''
    returnType: int
    signature: "int wps_process_ap_settings_r(struct wps_data *wps,\n\t\t\t\t     struct
      wps_parse_attr *attr)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:2971,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:2974,1
    - Dst: wps_registrar_skip_overlap
      Src: /src/hostap/src/wps/wps_registrar.c:2981,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:2982,1
    - Dst: wps_process_registrar_nonce
      Src: /src/hostap/src/wps/wps_registrar.c:2989,1
    - Dst: wps_process_authenticator
      Src: /src/hostap/src/wps/wps_registrar.c:2990,1
    - Dst: wps_decrypt_encr_settings
      Src: /src/hostap/src/wps/wps_registrar.c:2995,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:2998,1
    - Dst: wps_validate_m7_encr
      Src: /src/hostap/src/wps/wps_registrar.c:3004,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/wps/wps_registrar.c:3006,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:3011,1
    - Dst: wps_parse_msg
      Src: /src/hostap/src/wps/wps_registrar.c:3013,1
    - Dst: wps_process_key_wrap_auth
      Src: /src/hostap/src/wps/wps_registrar.c:3014,1
    - Dst: wps_process_e_snonce2
      Src: /src/hostap/src/wps/wps_registrar.c:3015,1
    - Dst: wps_process_ap_settings_r
      Src: /src/hostap/src/wps/wps_registrar.c:3016,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/wps/wps_registrar.c:3017,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/wps/wps_registrar.c:3022,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 3
    argNames:
    - wps
    - msg
    - attr
    argTypes:
    - struct wps_data*
    - struct wpabuf*
    - struct wps_parse_attr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3026
      start: 2964
    functionDepth: 7
    functionLinenumber: 2964
    functionLinenumberEnd: 3026
    functionName: wps_process_m7
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - wps_process_ap_settings_r
    - wpa_printf
    - wps_decrypt_encr_settings
    - wps_process_e_snonce2
    - wps_process_key_wrap_auth
    - wps_process_authenticator
    - wps_registrar_skip_overlap
    - wps_validate_m7_encr
    - wpabuf_clear_free
    - wps_process_registrar_nonce
    - wps_parse_msg
    linkageType: ''
    returnType: enum wps_process_res
    signature: "enum wps_process_res wps_process_m7(struct wps_data *wps,\n\t\t\t\t\t
      \  const struct wpabuf *msg,\n\t\t\t\t\t   struct wps_parse_attr *attr)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:3035,1
    - Dst: wps_parse_msg
      Src: /src/hostap/src/wps/wps_registrar.c:3037,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:3041,1
    - Dst: os_memcmp
      Src: /src/hostap/src/wps/wps_registrar.c:3048,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:3050,1
    - Dst: wps_validate_m1
      Src: /src/hostap/src/wps/wps_registrar.c:3056,1
    - Dst: wps_free_pending_msgs
      Src: /src/hostap/src/wps/wps_registrar.c:3061,1
    - Dst: upnp_wps_device_send_wlan_event
      Src: /src/hostap/src/wps/wps_registrar.c:3064,1
    - Dst: wps_process_m1
      Src: /src/hostap/src/wps/wps_registrar.c:3069,1
    - Dst: wps_validate_m3
      Src: /src/hostap/src/wps/wps_registrar.c:3072,1
    - Dst: wps_process_m3
      Src: /src/hostap/src/wps/wps_registrar.c:3074,1
    - Dst: wps_fail_event
      Src: /src/hostap/src/wps/wps_registrar.c:3076,1
    - Dst: wps_validate_m5
      Src: /src/hostap/src/wps/wps_registrar.c:3080,1
    - Dst: wps_process_m5
      Src: /src/hostap/src/wps/wps_registrar.c:3082,1
    - Dst: wps_fail_event
      Src: /src/hostap/src/wps/wps_registrar.c:3084,1
    - Dst: wps_validate_m7
      Src: /src/hostap/src/wps/wps_registrar.c:3088,1
    - Dst: wps_process_m7
      Src: /src/hostap/src/wps/wps_registrar.c:3090,1
    - Dst: wps_fail_event
      Src: /src/hostap/src/wps/wps_registrar.c:3092,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:3096,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_registrar.c:3104,1
    - Dst: wpabuf_dup
      Src: /src/hostap/src/wps/wps_registrar.c:3105,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 54
    argCount: 2
    argNames:
    - wps
    - msg
    argTypes:
    - struct wps_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3109
      start: 3029
    functionDepth: 8
    functionLinenumber: 3029
    functionLinenumberEnd: 3109
    functionName: wps_process_wsc_msg
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 1
    functionsReached:
    - wpabuf_dup
    - wps_process_m1
    - wpa_printf
    - wps_validate_m7
    - wps_free_pending_msgs
    - wps_process_m7
    - wpabuf_free
    - wps_process_m5
    - wps_validate_m1
    - wps_validate_m3
    - os_memcmp
    - upnp_wps_device_send_wlan_event
    - wps_process_m3
    - wps_fail_event
    - wps_validate_m5
    - wps_parse_msg
    linkageType: ''
    returnType: enum wps_process_res
    signature: "enum wps_process_res wps_process_wsc_msg(struct wps_data *wps,\n\t\t\t\t\t\tconst
      struct wpabuf *msg)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:3117,1
    - Dst: wps_parse_msg
      Src: /src/hostap/src/wps/wps_registrar.c:3119,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:3123,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:3128,1
    - Dst: upnp_wps_subscribers
      Src: /src/hostap/src/wps/wps_registrar.c:3135,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:3138,1
    - Dst: os_memcmp
      Src: /src/hostap/src/wps/wps_registrar.c:3145,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:3147,1
    - Dst: os_memcmp
      Src: /src/hostap/src/wps/wps_registrar.c:3152,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:3153,1
    - Dst: upnp_wps_subscribers
      Src: /src/hostap/src/wps/wps_registrar.c:3160,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:3165,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:3171,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 38
    argCount: 2
    argNames:
    - wps
    - msg
    argTypes:
    - struct wps_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3176
      start: 3112
    functionDepth: 2
    functionLinenumber: 3112
    functionLinenumberEnd: 3176
    functionName: wps_process_wsc_ack
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - os_memcmp
    - upnp_wps_subscribers
    - wps_parse_msg
    linkageType: ''
    returnType: enum wps_process_res
    signature: "enum wps_process_res wps_process_wsc_ack(struct wps_data *wps,\n\t\t\t\t\t\tconst
      struct wpabuf *msg)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:3186,1
    - Dst: wps_parse_msg
      Src: /src/hostap/src/wps/wps_registrar.c:3191,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:3195,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:3200,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:3207,1
    - Dst: os_memcmp
      Src: /src/hostap/src/wps/wps_registrar.c:3214,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:3216,1
    - Dst: os_memcmp
      Src: /src/hostap/src/wps/wps_registrar.c:3221,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:3222,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:3227,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/wps/wps_registrar.c:3232,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:3233,1
    - Dst: wps_fail_event
      Src: /src/hostap/src/wps/wps_registrar.c:3238,1
    - Dst: wps_fail_event
      Src: /src/hostap/src/wps/wps_registrar.c:3242,1
    - Dst: wps_fail_event
      Src: /src/hostap/src/wps/wps_registrar.c:3246,1
    - Dst: wps_fail_event
      Src: /src/hostap/src/wps/wps_registrar.c:3250,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 49
    argCount: 2
    argNames:
    - wps
    - msg
    argTypes:
    - struct wps_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3258
      start: 3179
    functionDepth: 1
    functionLinenumber: 3179
    functionLinenumberEnd: 3258
    functionName: wps_process_wsc_nack
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - WPA_GET_BE16
    - os_memcmp
    - wps_fail_event
    - wps_parse_msg
    linkageType: ''
    returnType: enum wps_process_res
    signature: "enum wps_process_res wps_process_wsc_nack(struct wps_data *wps,\n\t\t\t\t\t\t
      const struct wpabuf *msg)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:3266,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:3270,1
    - Dst: wps_parse_msg
      Src: /src/hostap/src/wps/wps_registrar.c:3275,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:3279,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:3284,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:3291,1
    - Dst: wps_device_store
      Src: /src/hostap/src/wps/wps_registrar.c:3293,1
    - Dst: os_memcmp
      Src: /src/hostap/src/wps/wps_registrar.c:3300,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:3302,1
    - Dst: os_memcmp
      Src: /src/hostap/src/wps/wps_registrar.c:3307,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:3308,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:3312,1
    - Dst: wps_device_store
      Src: /src/hostap/src/wps/wps_registrar.c:3313,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:3320,1
    - Dst: os_memset
      Src: /src/hostap/src/wps/wps_registrar.c:3323,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_registrar.c:3324,1
    - Dst: struct wps_data*::wps::rf_band_cb
      Src: /src/hostap/src/wps/wps_registrar.c:3326,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_registrar.c:3333,1
    - Dst: wpa_hexdump_ascii_key
      Src: /src/hostap/src/wps/wps_registrar.c:3337,1
    - Dst: struct wps_data*::wps::cred_cb
      Src: /src/hostap/src/wps/wps_registrar.c:3341,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_registrar.c:3343,1
    - Dst: wps_sta_cred_cb
      Src: /src/hostap/src/wps/wps_registrar.c:3348,1
    - Dst: wps_cb_new_psk
      Src: /src/hostap/src/wps/wps_registrar.c:3351,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:3354,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_registrar.c:3357,1
    - Dst: wps_cb_reg_success
      Src: /src/hostap/src/wps/wps_registrar.c:3361,1
    - Dst: wps_registrar_remove_pbc_session
      Src: /src/hostap/src/wps/wps_registrar.c:3365,1
    - Dst: wps_registrar_pbc_completed
      Src: /src/hostap/src/wps/wps_registrar.c:3368,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/wps/wps_registrar.c:3370,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_registrar.c:3372,1
    - Dst: wps_registrar_pin_completed
      Src: /src/hostap/src/wps/wps_registrar.c:3375,1
    - Dst: wps_success_event
      Src: /src/hostap/src/wps/wps_registrar.c:3380,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 72
    argCount: 2
    argNames:
    - wps
    - msg
    argTypes:
    - struct wps_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3383
      start: 3261
    functionDepth: 4
    functionLinenumber: 3261
    functionLinenumberEnd: 3383
    functionName: wps_process_wsc_done
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - struct wps_data*::wps::rf_band_cb
    - os_get_reltime
    - wps_registrar_pbc_completed
    - wps_registrar_remove_pbc_session
    - wps_registrar_pin_completed
    - wps_parse_msg
    - wps_cb_reg_success
    - wps_device_store
    - os_memcmp
    - wpa_hexdump_ascii_key
    - wps_success_event
    - struct wps_data*::wps::cred_cb
    - wps_sta_cred_cb
    - os_free
    - wps_cb_new_psk
    - os_memset
    linkageType: ''
    returnType: enum wps_process_res
    signature: "enum wps_process_res wps_process_wsc_done(struct wps_data *wps,\n\t\t\t\t\t\t
      const struct wpabuf *msg)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:3392,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/wps_registrar.c:3394,1
    - Dst: wps_parse_msg
      Src: /src/hostap/src/wps/wps_registrar.c:3399,1
    - Dst: wps_registrar_free_pending_m2
      Src: /src/hostap/src/wps/wps_registrar.c:3404,1
    - Dst: wps_parse_msg
      Src: /src/hostap/src/wps/wps_registrar.c:3411,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:3415,1
    - Dst: upnp_wps_device_send_wlan_event
      Src: /src/hostap/src/wps/wps_registrar.c:3417,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:3424,1
    - Dst: wps_process_wsc_msg
      Src: /src/hostap/src/wps/wps_registrar.c:3432,1
    - Dst: wps_validate_wsc_ack
      Src: /src/hostap/src/wps/wps_registrar.c:3434,1
    - Dst: wps_process_wsc_ack
      Src: /src/hostap/src/wps/wps_registrar.c:3436,1
    - Dst: wps_validate_wsc_nack
      Src: /src/hostap/src/wps/wps_registrar.c:3438,1
    - Dst: wps_process_wsc_nack
      Src: /src/hostap/src/wps/wps_registrar.c:3440,1
    - Dst: wps_validate_wsc_done
      Src: /src/hostap/src/wps/wps_registrar.c:3442,1
    - Dst: wps_process_wsc_done
      Src: /src/hostap/src/wps/wps_registrar.c:3444,1
    - Dst: wps_fail_event
      Src: /src/hostap/src/wps/wps_registrar.c:3447,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:3453,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 45
    argCount: 3
    argNames:
    - wps
    - op_code
    - msg
    argTypes:
    - struct wps_data*
    - enum wsc_op_code
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3456
      start: 3386
    functionDepth: 5
    functionLinenumber: 3386
    functionLinenumberEnd: 3456
    functionName: wps_registrar_process_msg
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wps_process_wsc_done
    - wps_process_wsc_ack
    - wpabuf_len
    - wps_process_wsc_nack
    - wps_registrar_free_pending_m2
    - upnp_wps_device_send_wlan_event
    - wps_validate_wsc_nack
    - wps_fail_event
    - wps_validate_wsc_done
    - wps_process_wsc_msg
    - wps_validate_wsc_ack
    - wps_parse_msg
    linkageType: ''
    returnType: enum wps_process_res
    signature: "enum wps_process_res wps_registrar_process_msg(struct wps_data *wps,\n\t\t\t\t\t
      \      enum wsc_op_code op_code,\n\t\t\t\t\t       const struct wpabuf *msg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wps_set_ie
      Src: /src/hostap/src/wps/wps_registrar.c:3461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - reg
    argTypes:
    - struct wps_registrar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3462
      start: 3459
    functionDepth: 4
    functionLinenumber: 3459
    functionLinenumberEnd: 3462
    functionName: wps_registrar_update_ie
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 5
    functionsReached:
    - wps_set_ie
    linkageType: ''
    returnType: int
    signature: int wps_registrar_update_ie(struct wps_registrar *reg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:3470,1
    - Dst: wps_registrar_expire_pins
      Src: /src/hostap/src/wps/wps_registrar.c:3474,1
    - Dst: wps_registrar_selected_registrar_changed
      Src: /src/hostap/src/wps/wps_registrar.c:3475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3476
      start: 3465
    functionDepth: 5
    functionLinenumber: 3465
    functionLinenumberEnd: 3476
    functionName: wps_registrar_set_selected_timeout
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wps_registrar_selected_registrar_changed
    - wps_registrar_expire_pins
    linkageType: ''
    returnType: void
    signature: "void wps_registrar_set_selected_timeout(void *eloop_ctx,\n\t\t\t\t\t
      \      void *timeout_ctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:3484,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/wps/wps_registrar.c:3494,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/wps/wps_registrar.c:3498,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:3500,1
    - Dst: MAC2STR
      Src: /src/hostap/src/wps/wps_registrar.c:3501,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_registrar.c:3502,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/wps/wps_registrar.c:3506,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - reg
    - s
    argTypes:
    - struct wps_registrar*
    - struct subscription*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3509
      start: 3480
    functionDepth: 1
    functionLinenumber: 3480
    functionLinenumberEnd: 3509
    functionName: wps_registrar_sel_reg_add
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_hexdump
    - is_zero_ether_addr
    - MAC2STR
    linkageType: ''
    returnType: void
    signature: "void wps_registrar_sel_reg_add(struct wps_registrar *reg,\n\t\t\t\t
      \     struct subscription *s)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/wps/wps_registrar.c:3521,1
    - Dst: dl_list_first
      Src: /src/hostap/src/wps/wps_registrar.c:3524,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:3526,1
    - Dst: inet_ntoa
      Src: /src/hostap/src/wps/wps_registrar.c:3527,1
    - Dst: ntohs
      Src: /src/hostap/src/wps/wps_registrar.c:3528,1
    - Dst: wps_registrar_sel_reg_add
      Src: /src/hostap/src/wps/wps_registrar.c:3531,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:3533,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - reg
    argTypes:
    - struct wps_registrar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3537
      start: 3513
    functionDepth: 2
    functionLinenumber: 3513
    functionLinenumberEnd: 3537
    functionName: wps_registrar_sel_reg_union
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dl_list_first
    - dl_list_for_each
    - wps_registrar_sel_reg_add
    - inet_ntoa
    - ntohs
    linkageType: ''
    returnType: void
    signature: void wps_registrar_sel_reg_union(struct wps_registrar *reg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:3550,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_registrar.c:3555,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/wps/wps_registrar.c:3557,1
    - Dst: wps_set_pushbutton
      Src: /src/hostap/src/wps/wps_registrar.c:3569,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:3572,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:3576,1
    - Dst: wps_registrar_sel_reg_union
      Src: /src/hostap/src/wps/wps_registrar.c:3578,1
    - Dst: wps_set_ie
      Src: /src/hostap/src/wps/wps_registrar.c:3580,1
    - Dst: wps_cb_set_sel_reg
      Src: /src/hostap/src/wps/wps_registrar.c:3581,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - reg
    - dev_pw_id
    argTypes:
    - struct wps_registrar*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3582
      start: 3547
    functionDepth: 4
    functionLinenumber: 3547
    functionLinenumberEnd: 3582
    functionName: wps_registrar_selected_registrar_changed
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 6
    functionsReached:
    - wps_registrar_sel_reg_union
    - wpa_printf
    - wps_set_pushbutton
    - os_memcpy
    - wps_cb_set_sel_reg
    - wpa_hexdump
    - wps_set_ie
    linkageType: ''
    returnType: void
    signature: "void wps_registrar_selected_registrar_changed(struct wps_registrar
      *reg,\n\t\t\t\t\t      u16 dev_pw_id)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wps_device_get
      Src: /src/hostap/src/wps/wps_registrar.c:3593,1
    - Dst: uuid_bin2str
      Src: /src/hostap/src/wps/wps_registrar.c:3596,1
    - Dst: os_snprintf
      Src: /src/hostap/src/wps/wps_registrar.c:3599,1
    - Dst: wps_dev_type_bin2str
      Src: /src/hostap/src/wps/wps_registrar.c:3608,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/wps/wps_registrar.c:3615,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - reg
    - addr
    - buf
    - buflen
    argTypes:
    - struct wps_registrar*
    - u8*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3620
      start: 3585
    functionDepth: 2
    functionLinenumber: 3585
    functionLinenumberEnd: 3620
    functionName: wps_registrar_get_info
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 1
    functionsReached:
    - os_snprintf
    - wps_device_get
    - uuid_bin2str
    - wps_dev_type_bin2str
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int wps_registrar_get_info(struct wps_registrar *reg, const u8 *addr,\n\t\t\t
      \  char *buf, size_t buflen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:3626,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:3630,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:3635,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:3642,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:3649,1
    - Dst: struct wps_registrar*::wps::cred_cb
      Src: /src/hostap/src/wps/wps_registrar.c:3655,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - reg
    - cred
    argTypes:
    - struct wps_registrar*
    - struct wps_credential*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3658
      start: 3623
    functionDepth: 0
    functionLinenumber: 3623
    functionLinenumberEnd: 3658
    functionName: wps_registrar_config_ap
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 1
    functionsReached:
    - struct wps_registrar*::wps::cred_cb
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int wps_registrar_config_ap(struct wps_registrar *reg,\n\t\t\t    struct
      wps_credential *cred)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_registrar.c:3668,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_registrar.c:3673,1
    - Dst: os_memdup
      Src: /src/hostap/src/wps/wps_registrar.c:3678,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - reg
    - multi_ap_backhaul_ssid
    - multi_ap_backhaul_ssid_len
    - multi_ap_backhaul_network_key
    - multi_ap_backhaul_network_key_len
    argTypes:
    - struct wps_registrar*
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3687
      start: 3661
    functionDepth: 0
    functionLinenumber: 3661
    functionLinenumberEnd: 3687
    functionName: wps_registrar_update_multi_ap
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 1
    functionsReached:
    - os_free
    - os_memdup
    - os_memcpy
    linkageType: ''
    returnType: int
    signature: "int wps_registrar_update_multi_ap(struct wps_registrar *reg,\n\t\t\t\t
      \ const u8 *multi_ap_backhaul_ssid,\n\t\t\t\t  size_t multi_ap_backhaul_ssid_len,\n\t\t\t\t
      \ const u8 *multi_ap_backhaul_network_key,\n\t\t\t\t  size_t multi_ap_backhaul_network_key_len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:3704,1
    - Dst: wps_free_nfc_pw_tokens
      Src: /src/hostap/src/wps/wps_registrar.c:3709,1
    - Dst: os_zalloc
      Src: /src/hostap/src/wps/wps_registrar.c:3711,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_registrar.c:3717,1
    - Dst: wpa_snprintf_hex_uppercase
      Src: /src/hostap/src/wps/wps_registrar.c:3722,1
    - Dst: dl_list_add
      Src: /src/hostap/src/wps/wps_registrar.c:3728,1
    - Dst: wps_registrar_add_authorized_mac
      Src: /src/hostap/src/wps/wps_registrar.c:3732,1
    - Dst: wps_registrar_selected_registrar_changed
      Src: /src/hostap/src/wps/wps_registrar.c:3734,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/wps/wps_registrar.c:3735,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/wps/wps_registrar.c:3736,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:3740,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 6
    argNames:
    - reg
    - pubkey_hash
    - pw_id
    - dev_pw
    - dev_pw_len
    - pk_hash_provided_oob
    argTypes:
    - struct wps_registrar*
    - u8*
    - u16
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3744
      start: 3692
    functionDepth: 5
    functionLinenumber: 3692
    functionLinenumberEnd: 3744
    functionName: wps_registrar_add_nfc_pw_token
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 3
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wps_registrar_add_authorized_mac
    - wps_registrar_selected_registrar_changed
    - eloop_cancel_timeout
    - wps_free_nfc_pw_tokens
    - wpa_snprintf_hex_uppercase
    - os_zalloc
    - dl_list_add
    - eloop_register_timeout
    linkageType: ''
    returnType: int
    signature: "int wps_registrar_add_nfc_pw_token(struct wps_registrar *reg,\n\t\t\t\t
      \  const u8 *pubkey_hash, u16 pw_id,\n\t\t\t\t   const u8 *dev_pw, size_t dev_pw_len,\n\t\t\t\t
      \  int pk_hash_provided_oob)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/wps/wps_registrar.c:3762,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_registrar.c:3766,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/wps/wps_registrar.c:3769,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/wps/wps_registrar.c:3771,1
    - Dst: wps_registrar_add_nfc_pw_token
      Src: /src/hostap/src/wps/wps_registrar.c:3773,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - reg
    - oob_dev_pw
    - oob_dev_pw_len
    argTypes:
    - struct wps_registrar*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3775
      start: 3747
    functionDepth: 6
    functionLinenumber: 3747
    functionLinenumberEnd: 3775
    functionName: wps_registrar_add_nfc_password_token
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 2
    functionsReached:
    - WPA_GET_BE16
    - wpa_printf
    - wpa_hexdump_key
    - wpa_hexdump
    - wps_registrar_add_nfc_pw_token
    linkageType: ''
    returnType: int
    signature: "int wps_registrar_add_nfc_password_token(struct wps_registrar *reg,\n\t\t\t\t\t
      const u8 *oob_dev_pw,\n\t\t\t\t\t size_t oob_dev_pw_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wps_registrar_remove_authorized_mac
      Src: /src/hostap/src/wps/wps_registrar.c:3781,1
    - Dst: wps_registrar_selected_registrar_changed
      Src: /src/hostap/src/wps/wps_registrar.c:3783,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_registrar.c:3791,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - reg
    - token
    argTypes:
    - struct wps_registrar*
    - struct wps_nfc_pw_token*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3792
      start: 3778
    functionDepth: 5
    functionLinenumber: 3778
    functionLinenumberEnd: 3792
    functionName: wps_registrar_remove_nfc_pw_token
    functionSourceFile: /src/hostap/src/wps/wps_registrar.c
    functionUses: 1
    functionsReached:
    - os_free
    - wps_registrar_selected_registrar_changed
    - wps_registrar_remove_authorized_mac
    linkageType: ''
    returnType: void
    signature: "void wps_registrar_remove_nfc_pw_token(struct wps_registrar *reg,\n\t\t\t\t
      \      struct wps_nfc_pw_token *token)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_module_tests.c:270,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/wps/wps_module_tests.c:272,1
    - Dst: os_strlen
      Src: /src/hostap/src/wps/wps_module_tests.c:278,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/wps/wps_module_tests.c:279,1
    - Dst: hexstr2bin
      Src: /src/hostap/src/wps/wps_module_tests.c:282,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/wps/wps_module_tests.c:282,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_module_tests.c:283,1
    - Dst: wps_parse_msg
      Src: /src/hostap/src/wps/wps_module_tests.c:286,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_module_tests.c:287,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_module_tests.c:321,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 325
    functionName: wps_attr_parse_tests
    functionSourceFile: /src/hostap/src/wps/wps_module_tests.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - wpabuf_put
    - hexstr2bin
    - wpabuf_free
    - wpabuf_alloc
    - ARRAY_SIZE
    - wps_parse_msg
    linkageType: ''
    returnType: int
    signature: int wps_attr_parse_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_module_tests.c:332,1
    - Dst: wps_attr_parse_tests
      Src: /src/hostap/src/wps/wps_module_tests.c:334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 328
    functionDepth: 2
    functionLinenumber: 328
    functionLinenumberEnd: 338
    functionName: wps_module_tests
    functionSourceFile: /src/hostap/src/wps/wps_module_tests.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wps_attr_parse_tests
    linkageType: ''
    returnType: int
    signature: int wps_module_tests(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:25,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:32,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - version
    - mandatory
    argTypes:
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 37
    functionName: wps_validate_version
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int wps_validate_version(const u8 *version, int mandatory)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:44,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - version2
    - mandatory
    argTypes:
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 56
    functionName: wps_validate_version2
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int wps_validate_version2(const u8 *version2, int mandatory)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:63,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - request_type
    - mandatory
    argTypes:
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 75
    functionName: wps_validate_request_type
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int wps_validate_request_type(const u8 *request_type, int mandatory)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:82,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - response_type
    - mandatory
    argTypes:
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 94
    functionName: wps_validate_response_type
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int wps_validate_response_type(const u8 *response_type, int mandatory)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:101,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:107,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:112,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:118,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - val
    - wps2
    argTypes:
    - u16
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 125
    functionName: valid_config_methods
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int valid_config_methods(u16 val, int wps2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:135,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/wps/wps_validate.c:142,1
    - Dst: valid_config_methods
      Src: /src/hostap/src/wps/wps_validate.c:143,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:144,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - config_methods
    - wps2
    - mandatory
    argTypes:
    - u8*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 149
    functionName: wps_validate_config_methods
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - WPA_GET_BE16
    - valid_config_methods
    linkageType: ''
    returnType: int
    signature: "int wps_validate_config_methods(const u8 *config_methods, int wps2,\n\t\t\t\t
      \      int mandatory)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wps_validate_config_methods
      Src: /src/hostap/src/wps/wps_validate.c:157,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/wps/wps_validate.c:161,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - config_methods
    - wps2
    - mandatory
    argTypes:
    - u8*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 170
    functionName: wps_validate_ap_config_methods
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 0
    functionsReached:
    - WPA_GET_BE16
    - wpa_printf
    - wps_validate_config_methods
    linkageType: ''
    returnType: int
    signature: "int wps_validate_ap_config_methods(const u8 *config_methods, int wps2,\n\t\t\t\t\t
      \ int mandatory)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - uuid_e
    - mandatory
    argTypes:
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 184
    functionName: wps_validate_uuid_e
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int wps_validate_uuid_e(const u8 *uuid_e, int mandatory)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - uuid_r
    - mandatory
    argTypes:
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 198
    functionName: wps_validate_uuid_r
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int wps_validate_uuid_r(const u8 *uuid_r, int mandatory)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - primary_dev_type
    - mandatory
    argTypes:
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 213
    functionName: wps_validate_primary_dev_type
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int wps_validate_primary_dev_type(const u8 *primary_dev_type,\n\t\t\t\t\t
      int mandatory)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:220,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:230,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - rf_bands
    - mandatory
    argTypes:
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 235
    functionName: wps_validate_rf_bands
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int wps_validate_rf_bands(const u8 *rf_bands, int mandatory)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:243,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/wps/wps_validate.c:249,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:251,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - assoc_state
    - mandatory
    argTypes:
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 256
    functionName: wps_validate_assoc_state
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - WPA_GET_BE16
    linkageType: ''
    returnType: int
    signature: int wps_validate_assoc_state(const u8 *assoc_state, int mandatory)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:265,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/wps/wps_validate.c:271,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:273,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - config_error
    - mandatory
    argTypes:
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 278
    functionName: wps_validate_config_error
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - WPA_GET_BE16
    linkageType: ''
    returnType: int
    signature: int wps_validate_config_error(const u8 *config_error, int mandatory)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:288,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/wps/wps_validate.c:294,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:296,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - dev_password_id
    - mandatory
    argTypes:
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 301
    functionName: wps_validate_dev_password_id
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - WPA_GET_BE16
    linkageType: ''
    returnType: int
    signature: "int wps_validate_dev_password_id(const u8 *dev_password_id,\n\t\t\t\t\tint
      mandatory)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:309,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/wps/wps_validate.c:316,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - manufacturer
    - len
    - mandatory
    argTypes:
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 321
    functionName: wps_validate_manufacturer
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: int
    signature: "int wps_validate_manufacturer(const u8 *manufacturer, size_t len,\n\t\t\t\t
      \    int mandatory)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:329,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/wps/wps_validate.c:336,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - model_name
    - len
    - mandatory
    argTypes:
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 341
    functionName: wps_validate_model_name
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: int
    signature: "int wps_validate_model_name(const u8 *model_name, size_t len,\n\t\t\t\t
      \  int mandatory)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:349,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/wps/wps_validate.c:356,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - model_number
    - len
    - mandatory
    argTypes:
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 361
    functionName: wps_validate_model_number
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: int
    signature: "int wps_validate_model_number(const u8 *model_number, size_t len,\n\t\t\t\t
      \    int mandatory)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:369,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/wps/wps_validate.c:376,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - serial_number
    - len
    - mandatory
    argTypes:
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 382
    functionName: wps_validate_serial_number
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: int
    signature: "int wps_validate_serial_number(const u8 *serial_number, size_t len,\n\t\t\t\t
      \     int mandatory)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:390,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/wps/wps_validate.c:397,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - dev_name
    - len
    - mandatory
    argTypes:
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 402
    functionName: wps_validate_dev_name
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: int
    signature: "int wps_validate_dev_name(const u8 *dev_name, size_t len,\n\t\t\t\t
      int mandatory)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:410,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:417,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - request_to_enroll
    - mandatory
    argTypes:
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 422
    functionName: wps_validate_request_to_enroll
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int wps_validate_request_to_enroll(const u8 *request_to_enroll,\n\t\t\t\t\t
      \ int mandatory)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:430,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - req_dev_type
    - num
    - mandatory
    argTypes:
    - u8*[]
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 437
    functionName: wps_validate_req_dev_type
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int wps_validate_req_dev_type(const u8 *req_dev_type[], size_t num,\n\t\t\t\t
      \    int mandatory)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:444,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:452,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - wps_state
    - mandatory
    argTypes:
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 457
    functionName: wps_validate_wps_state
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int wps_validate_wps_state(const u8 *wps_state, int mandatory)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:465,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:472,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - ap_setup_locked
    - mandatory
    argTypes:
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 477
    functionName: wps_validate_ap_setup_locked
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int wps_validate_ap_setup_locked(const u8 *ap_setup_locked,\n\t\t\t\t\tint
      mandatory)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:485,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:492,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - selected_registrar
    - mandatory
    argTypes:
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 497
    functionName: wps_validate_selected_registrar
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int wps_validate_selected_registrar(const u8 *selected_registrar,\n\t\t\t\t\t
      \  int mandatory)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:507,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/wps/wps_validate.c:514,1
    - Dst: valid_config_methods
      Src: /src/hostap/src/wps/wps_validate.c:515,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:516,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - config_methods
    - wps2
    - mandatory
    argTypes:
    - u8*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 522
    functionName: wps_validate_sel_reg_config_methods
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - WPA_GET_BE16
    - valid_config_methods
    linkageType: ''
    returnType: int
    signature: "int wps_validate_sel_reg_config_methods(const u8 *config_methods,\n\t\t\t\t\t
      \      int wps2, int mandatory)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:530,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/wps/wps_validate.c:537,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - authorized_macs
    - len
    - mandatory
    argTypes:
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 542
    functionName: wps_validate_authorized_macs
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    linkageType: ''
    returnType: int
    signature: "int wps_validate_authorized_macs(const u8 *authorized_macs, size_t
      len,\n\t\t\t\t\tint mandatory)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:549,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:556,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - msg_type
    - mandatory
    argTypes:
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 561
    functionName: wps_validate_msg_type
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int wps_validate_msg_type(const u8 *msg_type, int mandatory)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:568,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:575,1
    - Dst: MAC2STR
      Src: /src/hostap/src/wps/wps_validate.c:576,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - mac_addr
    - mandatory
    argTypes:
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 564
    functionDepth: 1
    functionLinenumber: 564
    functionLinenumberEnd: 580
    functionName: wps_validate_mac_addr
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int wps_validate_mac_addr(const u8 *mac_addr, int mandatory)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:587,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - enrollee_nonce
    - mandatory
    argTypes:
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 594
    functionName: wps_validate_enrollee_nonce
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int wps_validate_enrollee_nonce(const u8 *enrollee_nonce, int mandatory)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:602,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - registrar_nonce
    - mandatory
    argTypes:
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 609
    functionName: wps_validate_registrar_nonce
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int wps_validate_registrar_nonce(const u8 *registrar_nonce,\n\t\t\t\t\tint
      mandatory)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:617,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:624,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - public_key
    - len
    - mandatory
    argTypes:
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 629
    functionName: wps_validate_public_key
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int wps_validate_public_key(const u8 *public_key, size_t len,\n\t\t\t\t
      \  int mandatory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - val
    argTypes:
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 638
    functionName: num_bits_set
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int num_bits_set(u16 val)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:647,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/wps/wps_validate.c:653,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:655,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - flags
    - mandatory
    argTypes:
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 641
    functionDepth: 1
    functionLinenumber: 641
    functionLinenumberEnd: 660
    functionName: wps_validate_auth_type_flags
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - WPA_GET_BE16
    linkageType: ''
    returnType: int
    signature: int wps_validate_auth_type_flags(const u8 *flags, int mandatory)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:669,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/wps/wps_validate.c:675,1
    - Dst: num_bits_set
      Src: /src/hostap/src/wps/wps_validate.c:677,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:679,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - type
    - mandatory
    argTypes:
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 663
    functionDepth: 1
    functionLinenumber: 663
    functionLinenumberEnd: 684
    functionName: wps_validate_auth_type
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 0
    functionsReached:
    - num_bits_set
    - wpa_printf
    - WPA_GET_BE16
    linkageType: ''
    returnType: int
    signature: int wps_validate_auth_type(const u8 *type, int mandatory)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:693,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/wps/wps_validate.c:699,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:701,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - flags
    - mandatory
    argTypes:
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 687
    functionDepth: 1
    functionLinenumber: 687
    functionLinenumberEnd: 706
    functionName: wps_validate_encr_type_flags
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - WPA_GET_BE16
    linkageType: ''
    returnType: int
    signature: int wps_validate_encr_type_flags(const u8 *flags, int mandatory)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:715,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/wps/wps_validate.c:721,1
    - Dst: num_bits_set
      Src: /src/hostap/src/wps/wps_validate.c:723,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:724,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - type
    - mandatory
    argTypes:
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 709
    functionDepth: 1
    functionLinenumber: 709
    functionLinenumberEnd: 729
    functionName: wps_validate_encr_type
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 0
    functionsReached:
    - num_bits_set
    - wpa_printf
    - WPA_GET_BE16
    linkageType: ''
    returnType: int
    signature: int wps_validate_encr_type(const u8 *type, int mandatory)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:736,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:744,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - flags
    - mandatory
    argTypes:
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 732
    functionDepth: 0
    functionLinenumber: 732
    functionLinenumberEnd: 749
    functionName: wps_validate_conn_type_flags
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int wps_validate_conn_type_flags(const u8 *flags, int mandatory)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:756,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - os_version
    - mandatory
    argTypes:
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 763
    functionName: wps_validate_os_version
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int wps_validate_os_version(const u8 *os_version, int mandatory)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:770,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - authenticator
    - mandatory
    argTypes:
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 777
    functionName: wps_validate_authenticator
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int wps_validate_authenticator(const u8 *authenticator, int mandatory)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:784,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - hash
    - mandatory
    argTypes:
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 791
    functionName: wps_validate_e_hash1
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int wps_validate_e_hash1(const u8 *hash, int mandatory)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:798,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - hash
    - mandatory
    argTypes:
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 805
    functionName: wps_validate_e_hash2
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int wps_validate_e_hash2(const u8 *hash, int mandatory)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:812,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - hash
    - mandatory
    argTypes:
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 819
    functionName: wps_validate_r_hash1
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int wps_validate_r_hash1(const u8 *hash, int mandatory)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:826,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - hash
    - mandatory
    argTypes:
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 833
    functionName: wps_validate_r_hash2
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int wps_validate_r_hash2(const u8 *hash, int mandatory)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:841,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:848,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - encr_settings
    - len
    - mandatory
    argTypes:
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 853
    functionName: wps_validate_encr_settings
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int wps_validate_encr_settings(const u8 *encr_settings, size_t len,\n\t\t\t\t
      \  int mandatory)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:860,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - delay
    - mandatory
    argTypes:
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 867
    functionName: wps_validate_settings_delay_time
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int wps_validate_settings_delay_time(const u8 *delay, int mandatory)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:874,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - nonce
    - mandatory
    argTypes:
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 870
    functionDepth: 0
    functionLinenumber: 870
    functionLinenumberEnd: 881
    functionName: wps_validate_r_snonce1
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int wps_validate_r_snonce1(const u8 *nonce, int mandatory)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:888,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - nonce
    - mandatory
    argTypes:
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 895
    functionName: wps_validate_r_snonce2
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int wps_validate_r_snonce2(const u8 *nonce, int mandatory)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:902,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - nonce
    - mandatory
    argTypes:
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 898
    functionDepth: 0
    functionLinenumber: 898
    functionLinenumberEnd: 909
    functionName: wps_validate_e_snonce1
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int wps_validate_e_snonce1(const u8 *nonce, int mandatory)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:916,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - nonce
    - mandatory
    argTypes:
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 912
    functionDepth: 0
    functionLinenumber: 912
    functionLinenumberEnd: 923
    functionName: wps_validate_e_snonce2
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int wps_validate_e_snonce2(const u8 *nonce, int mandatory)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:930,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - auth
    - mandatory
    argTypes:
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 926
    functionDepth: 0
    functionLinenumber: 926
    functionLinenumberEnd: 937
    functionName: wps_validate_key_wrap_auth
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int wps_validate_key_wrap_auth(const u8 *auth, int mandatory)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:944,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/wps/wps_validate.c:951,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - ssid
    - ssid_len
    - mandatory
    argTypes:
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 940
    functionDepth: 0
    functionLinenumber: 940
    functionLinenumberEnd: 956
    functionName: wps_validate_ssid
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: int
    signature: int wps_validate_ssid(const u8 *ssid, size_t ssid_len, int mandatory)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:963,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - idx
    - mandatory
    argTypes:
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 959
    functionDepth: 0
    functionLinenumber: 959
    functionLinenumberEnd: 970
    functionName: wps_validate_network_key_index
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int wps_validate_network_key_index(const u8 *idx, int mandatory)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:977,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - idx
    - mandatory
    argTypes:
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 973
    functionDepth: 0
    functionLinenumber: 973
    functionLinenumberEnd: 984
    functionName: wps_validate_network_idx
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int wps_validate_network_idx(const u8 *idx, int mandatory)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:992,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/wps/wps_validate.c:998,1
    - Dst: wpa_hexdump_ascii_key
      Src: /src/hostap/src/wps/wps_validate.c:1001,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 4
    argNames:
    - key
    - key_len
    - encr_type
    - mandatory
    argTypes:
    - u8*
    - size_t
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 987
    functionDepth: 1
    functionLinenumber: 987
    functionLinenumberEnd: 1006
    functionName: wps_validate_network_key
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - WPA_GET_BE16
    - wpa_hexdump_ascii_key
    linkageType: ''
    returnType: int
    signature: "int wps_validate_network_key(const u8 *key, size_t key_len,\n\t\t\t\t
      \   const u8 *encr_type, int mandatory)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:1013,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:1020,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - val
    - mandatory
    argTypes:
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 1009
    functionDepth: 0
    functionLinenumber: 1009
    functionLinenumberEnd: 1025
    functionName: wps_validate_network_key_shareable
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int wps_validate_network_key_shareable(const u8 *val, int mandatory)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_set
      Src: /src/hostap/src/wps/wps_validate.c:1035,1
    - Dst: wps_parse_msg
      Src: /src/hostap/src/wps/wps_validate.c:1036,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:1037,1
    - Dst: wps_validate_network_idx
      Src: /src/hostap/src/wps/wps_validate.c:1041,1
    - Dst: wps_validate_ssid
      Src: /src/hostap/src/wps/wps_validate.c:1042,1
    - Dst: wps_validate_auth_type
      Src: /src/hostap/src/wps/wps_validate.c:1043,1
    - Dst: wps_validate_encr_type
      Src: /src/hostap/src/wps/wps_validate.c:1044,1
    - Dst: wps_validate_network_key_index
      Src: /src/hostap/src/wps/wps_validate.c:1045,1
    - Dst: wps_validate_network_key
      Src: /src/hostap/src/wps/wps_validate.c:1046,1
    - Dst: wps_validate_mac_addr
      Src: /src/hostap/src/wps/wps_validate.c:1048,1
    - Dst: wps_validate_network_key_shareable
      Src: /src/hostap/src/wps/wps_validate.c:1049,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:1051,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 2
    argNames:
    - cred
    - len
    argTypes:
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1057
      start: 1028
    functionDepth: 2
    functionLinenumber: 1028
    functionLinenumberEnd: 1057
    functionName: wps_validate_cred
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 0
    functionsReached:
    - wps_validate_auth_type
    - wpa_printf
    - wps_validate_ssid
    - wps_validate_network_key_shareable
    - wps_validate_mac_addr
    - wpabuf_set
    - wps_validate_encr_type
    - wps_validate_network_key_index
    - wps_validate_network_idx
    - wps_validate_network_key
    - wps_parse_msg
    linkageType: ''
    returnType: int
    signature: int wps_validate_cred(const u8 *cred, size_t len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:1067,1
    - Dst: wps_validate_cred
      Src: /src/hostap/src/wps/wps_validate.c:1075,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - cred
    - len
    - num
    - mandatory
    argTypes:
    - u8*[]
    - u16[]
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1060
    functionDepth: 3
    functionLinenumber: 1060
    functionLinenumberEnd: 1080
    functionName: wps_validate_credential
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wps_validate_cred
    linkageType: ''
    returnType: int
    signature: "int wps_validate_credential(const u8 *cred[], u16 len[], size_t num,\n\t\t\t\t
      \  int mandatory)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:1089,1
    - Dst: wps_parse_msg
      Src: /src/hostap/src/wps/wps_validate.c:1092,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:1093,1
    - Dst: wps_validate_version
      Src: /src/hostap/src/wps/wps_validate.c:1101,1
    - Dst: wps_validate_wps_state
      Src: /src/hostap/src/wps/wps_validate.c:1102,1
    - Dst: wps_validate_ap_setup_locked
      Src: /src/hostap/src/wps/wps_validate.c:1103,1
    - Dst: wps_validate_selected_registrar
      Src: /src/hostap/src/wps/wps_validate.c:1104,1
    - Dst: wps_validate_dev_password_id
      Src: /src/hostap/src/wps/wps_validate.c:1105,1
    - Dst: wps_validate_sel_reg_config_methods
      Src: /src/hostap/src/wps/wps_validate.c:1106,1
    - Dst: wps_validate_uuid_e
      Src: /src/hostap/src/wps/wps_validate.c:1108,1
    - Dst: wps_validate_rf_bands
      Src: /src/hostap/src/wps/wps_validate.c:1109,1
    - Dst: wps_validate_version2
      Src: /src/hostap/src/wps/wps_validate.c:1110,1
    - Dst: wps_validate_authorized_macs
      Src: /src/hostap/src/wps/wps_validate.c:1111,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:1113,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 16
    argCount: 1
    argNames:
    - wps_ie
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1083
    functionDepth: 2
    functionLinenumber: 1083
    functionLinenumberEnd: 1118
    functionName: wps_validate_beacon
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 1
    functionsReached:
    - wps_validate_version2
    - wpa_printf
    - wps_validate_uuid_e
    - wps_validate_dev_password_id
    - wps_validate_wps_state
    - wps_validate_sel_reg_config_methods
    - wps_validate_ap_setup_locked
    - wps_validate_version
    - wps_validate_rf_bands
    - wps_validate_authorized_macs
    - wps_validate_selected_registrar
    - wps_parse_msg
    linkageType: ''
    returnType: int
    signature: int wps_validate_beacon(const struct wpabuf *wps_ie)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:1128,1
    - Dst: wps_parse_msg
      Src: /src/hostap/src/wps/wps_validate.c:1132,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:1133,1
    - Dst: wps_validate_version
      Src: /src/hostap/src/wps/wps_validate.c:1141,1
    - Dst: wps_validate_wps_state
      Src: /src/hostap/src/wps/wps_validate.c:1142,1
    - Dst: wps_validate_ap_setup_locked
      Src: /src/hostap/src/wps/wps_validate.c:1143,1
    - Dst: wps_validate_selected_registrar
      Src: /src/hostap/src/wps/wps_validate.c:1144,1
    - Dst: wps_validate_dev_password_id
      Src: /src/hostap/src/wps/wps_validate.c:1145,1
    - Dst: wps_validate_sel_reg_config_methods
      Src: /src/hostap/src/wps/wps_validate.c:1146,1
    - Dst: wps_validate_response_type
      Src: /src/hostap/src/wps/wps_validate.c:1148,1
    - Dst: wps_validate_uuid_e
      Src: /src/hostap/src/wps/wps_validate.c:1149,1
    - Dst: wps_validate_manufacturer
      Src: /src/hostap/src/wps/wps_validate.c:1150,1
    - Dst: wps_validate_model_name
      Src: /src/hostap/src/wps/wps_validate.c:1152,1
    - Dst: wps_validate_model_number
      Src: /src/hostap/src/wps/wps_validate.c:1154,1
    - Dst: wps_validate_serial_number
      Src: /src/hostap/src/wps/wps_validate.c:1156,1
    - Dst: wps_validate_primary_dev_type
      Src: /src/hostap/src/wps/wps_validate.c:1158,1
    - Dst: wps_validate_dev_name
      Src: /src/hostap/src/wps/wps_validate.c:1159,1
    - Dst: wps_validate_ap_config_methods
      Src: /src/hostap/src/wps/wps_validate.c:1160,1
    - Dst: wps_validate_rf_bands
      Src: /src/hostap/src/wps/wps_validate.c:1161,1
    - Dst: wps_validate_version2
      Src: /src/hostap/src/wps/wps_validate.c:1162,1
    - Dst: wps_validate_authorized_macs
      Src: /src/hostap/src/wps/wps_validate.c:1163,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:1165,1
    - Dst: MAC2STR
      Src: /src/hostap/src/wps/wps_validate.c:1167,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 18
    argCount: 3
    argNames:
    - wps_ie
    - probe
    - addr
    argTypes:
    - struct wpabuf*
    - int
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1121
    functionDepth: 3
    functionLinenumber: 1121
    functionLinenumberEnd: 1177
    functionName: wps_validate_beacon_probe_resp
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 1
    functionsReached:
    - wps_validate_response_type
    - wps_validate_rf_bands
    - wps_validate_primary_dev_type
    - wps_validate_version2
    - wpa_printf
    - wps_validate_serial_number
    - wps_validate_authorized_macs
    - wps_validate_version
    - wps_validate_model_number
    - wps_validate_ap_config_methods
    - wps_validate_model_name
    - wps_validate_sel_reg_config_methods
    - wps_validate_ap_setup_locked
    - wps_validate_dev_name
    - wps_parse_msg
    - wps_validate_uuid_e
    - wps_validate_dev_password_id
    - wps_validate_wps_state
    - MAC2STR
    - wps_validate_selected_registrar
    - wps_validate_manufacturer
    linkageType: ''
    returnType: int
    signature: "int wps_validate_beacon_probe_resp(const struct wpabuf *wps_ie, int
      probe,\n\t\t\t\t   const u8 *addr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:1186,1
    - Dst: wps_parse_msg
      Src: /src/hostap/src/wps/wps_validate.c:1190,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:1191,1
    - Dst: wps_validate_version
      Src: /src/hostap/src/wps/wps_validate.c:1197,1
    - Dst: wps_validate_request_type
      Src: /src/hostap/src/wps/wps_validate.c:1198,1
    - Dst: wps_validate_config_methods
      Src: /src/hostap/src/wps/wps_validate.c:1199,1
    - Dst: wps_validate_uuid_e
      Src: /src/hostap/src/wps/wps_validate.c:1200,1
    - Dst: wps_validate_uuid_r
      Src: /src/hostap/src/wps/wps_validate.c:1201,1
    - Dst: wps_validate_primary_dev_type
      Src: /src/hostap/src/wps/wps_validate.c:1202,1
    - Dst: wps_validate_rf_bands
      Src: /src/hostap/src/wps/wps_validate.c:1203,1
    - Dst: wps_validate_assoc_state
      Src: /src/hostap/src/wps/wps_validate.c:1204,1
    - Dst: wps_validate_config_error
      Src: /src/hostap/src/wps/wps_validate.c:1205,1
    - Dst: wps_validate_dev_password_id
      Src: /src/hostap/src/wps/wps_validate.c:1206,1
    - Dst: wps_validate_version2
      Src: /src/hostap/src/wps/wps_validate.c:1207,1
    - Dst: wps_validate_manufacturer
      Src: /src/hostap/src/wps/wps_validate.c:1208,1
    - Dst: wps_validate_model_name
      Src: /src/hostap/src/wps/wps_validate.c:1210,1
    - Dst: wps_validate_model_number
      Src: /src/hostap/src/wps/wps_validate.c:1212,1
    - Dst: wps_validate_dev_name
      Src: /src/hostap/src/wps/wps_validate.c:1214,1
    - Dst: wps_validate_request_to_enroll
      Src: /src/hostap/src/wps/wps_validate.c:1215,1
    - Dst: wps_validate_req_dev_type
      Src: /src/hostap/src/wps/wps_validate.c:1216,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:1218,1
    - Dst: MAC2STR
      Src: /src/hostap/src/wps/wps_validate.c:1219,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 15
    argCount: 2
    argNames:
    - wps_ie
    - addr
    argTypes:
    - struct wpabuf*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1224
      start: 1180
    functionDepth: 2
    functionLinenumber: 1180
    functionLinenumberEnd: 1224
    functionName: wps_validate_probe_req
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 1
    functionsReached:
    - wps_validate_rf_bands
    - wps_validate_primary_dev_type
    - wps_validate_config_methods
    - wps_validate_version2
    - wpa_printf
    - wps_validate_version
    - wps_validate_model_number
    - wps_validate_request_type
    - wps_validate_model_name
    - wps_validate_config_error
    - wps_validate_request_to_enroll
    - wps_validate_req_dev_type
    - wps_validate_dev_name
    - wps_parse_msg
    - wps_validate_uuid_e
    - wps_validate_dev_password_id
    - wps_validate_assoc_state
    - MAC2STR
    - wps_validate_manufacturer
    - wps_validate_uuid_r
    linkageType: ''
    returnType: int
    signature: int wps_validate_probe_req(const struct wpabuf *wps_ie, const u8 *addr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:1233,1
    - Dst: wps_parse_msg
      Src: /src/hostap/src/wps/wps_validate.c:1237,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:1238,1
    - Dst: wps_validate_version
      Src: /src/hostap/src/wps/wps_validate.c:1244,1
    - Dst: wps_validate_request_type
      Src: /src/hostap/src/wps/wps_validate.c:1245,1
    - Dst: wps_validate_version2
      Src: /src/hostap/src/wps/wps_validate.c:1246,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:1247,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - wps_ie
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1253
      start: 1227
    functionDepth: 1
    functionLinenumber: 1227
    functionLinenumberEnd: 1253
    functionName: wps_validate_assoc_req
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wps_parse_msg
    - wps_validate_version
    - wps_validate_request_type
    - wps_validate_version2
    linkageType: ''
    returnType: int
    signature: int wps_validate_assoc_req(const struct wpabuf *wps_ie)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:1262,1
    - Dst: wps_parse_msg
      Src: /src/hostap/src/wps/wps_validate.c:1266,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:1267,1
    - Dst: wps_validate_version
      Src: /src/hostap/src/wps/wps_validate.c:1273,1
    - Dst: wps_validate_response_type
      Src: /src/hostap/src/wps/wps_validate.c:1274,1
    - Dst: wps_validate_version2
      Src: /src/hostap/src/wps/wps_validate.c:1275,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:1276,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - wps_ie
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1282
      start: 1256
    functionDepth: 1
    functionLinenumber: 1256
    functionLinenumberEnd: 1282
    functionName: wps_validate_assoc_resp
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wps_validate_response_type
    - wps_parse_msg
    - wps_validate_version
    - wps_validate_version2
    linkageType: ''
    returnType: int
    signature: int wps_validate_assoc_resp(const struct wpabuf *wps_ie)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:1291,1
    - Dst: wps_parse_msg
      Src: /src/hostap/src/wps/wps_validate.c:1294,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:1295,1
    - Dst: wps_validate_version
      Src: /src/hostap/src/wps/wps_validate.c:1301,1
    - Dst: wps_validate_msg_type
      Src: /src/hostap/src/wps/wps_validate.c:1302,1
    - Dst: wps_validate_uuid_e
      Src: /src/hostap/src/wps/wps_validate.c:1303,1
    - Dst: wps_validate_mac_addr
      Src: /src/hostap/src/wps/wps_validate.c:1304,1
    - Dst: wps_validate_enrollee_nonce
      Src: /src/hostap/src/wps/wps_validate.c:1305,1
    - Dst: wps_validate_public_key
      Src: /src/hostap/src/wps/wps_validate.c:1306,1
    - Dst: wps_validate_auth_type_flags
      Src: /src/hostap/src/wps/wps_validate.c:1307,1
    - Dst: wps_validate_encr_type_flags
      Src: /src/hostap/src/wps/wps_validate.c:1308,1
    - Dst: wps_validate_conn_type_flags
      Src: /src/hostap/src/wps/wps_validate.c:1309,1
    - Dst: wps_validate_config_methods
      Src: /src/hostap/src/wps/wps_validate.c:1310,1
    - Dst: wps_validate_wps_state
      Src: /src/hostap/src/wps/wps_validate.c:1311,1
    - Dst: wps_validate_manufacturer
      Src: /src/hostap/src/wps/wps_validate.c:1312,1
    - Dst: wps_validate_model_name
      Src: /src/hostap/src/wps/wps_validate.c:1314,1
    - Dst: wps_validate_model_number
      Src: /src/hostap/src/wps/wps_validate.c:1315,1
    - Dst: wps_validate_serial_number
      Src: /src/hostap/src/wps/wps_validate.c:1317,1
    - Dst: wps_validate_primary_dev_type
      Src: /src/hostap/src/wps/wps_validate.c:1319,1
    - Dst: wps_validate_dev_name
      Src: /src/hostap/src/wps/wps_validate.c:1320,1
    - Dst: wps_validate_rf_bands
      Src: /src/hostap/src/wps/wps_validate.c:1321,1
    - Dst: wps_validate_assoc_state
      Src: /src/hostap/src/wps/wps_validate.c:1322,1
    - Dst: wps_validate_dev_password_id
      Src: /src/hostap/src/wps/wps_validate.c:1323,1
    - Dst: wps_validate_config_error
      Src: /src/hostap/src/wps/wps_validate.c:1324,1
    - Dst: wps_validate_os_version
      Src: /src/hostap/src/wps/wps_validate.c:1325,1
    - Dst: wps_validate_version2
      Src: /src/hostap/src/wps/wps_validate.c:1326,1
    - Dst: wps_validate_request_to_enroll
      Src: /src/hostap/src/wps/wps_validate.c:1327,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:1328,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 17
    argCount: 1
    argNames:
    - tlvs
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1338
      start: 1285
    functionDepth: 2
    functionLinenumber: 1285
    functionLinenumberEnd: 1338
    functionName: wps_validate_m1
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 1
    functionsReached:
    - wps_validate_msg_type
    - wps_validate_rf_bands
    - wps_validate_os_version
    - wps_validate_public_key
    - wps_validate_primary_dev_type
    - wps_validate_config_methods
    - wps_validate_version2
    - wpa_printf
    - wps_validate_mac_addr
    - wps_validate_serial_number
    - wps_validate_conn_type_flags
    - wps_validate_version
    - wps_validate_model_number
    - wps_validate_encr_type_flags
    - wps_validate_auth_type_flags
    - wps_validate_model_name
    - wps_validate_config_error
    - wps_validate_request_to_enroll
    - wps_validate_dev_name
    - wps_parse_msg
    - wps_validate_uuid_e
    - wps_validate_dev_password_id
    - wps_validate_wps_state
    - wps_validate_assoc_state
    - wps_validate_manufacturer
    - wps_validate_enrollee_nonce
    linkageType: ''
    returnType: int
    signature: int wps_validate_m1(const struct wpabuf *tlvs)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:1347,1
    - Dst: wps_parse_msg
      Src: /src/hostap/src/wps/wps_validate.c:1350,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:1351,1
    - Dst: wps_validate_version
      Src: /src/hostap/src/wps/wps_validate.c:1357,1
    - Dst: wps_validate_msg_type
      Src: /src/hostap/src/wps/wps_validate.c:1358,1
    - Dst: wps_validate_enrollee_nonce
      Src: /src/hostap/src/wps/wps_validate.c:1359,1
    - Dst: wps_validate_registrar_nonce
      Src: /src/hostap/src/wps/wps_validate.c:1360,1
    - Dst: wps_validate_uuid_r
      Src: /src/hostap/src/wps/wps_validate.c:1361,1
    - Dst: wps_validate_public_key
      Src: /src/hostap/src/wps/wps_validate.c:1362,1
    - Dst: wps_validate_auth_type_flags
      Src: /src/hostap/src/wps/wps_validate.c:1363,1
    - Dst: wps_validate_encr_type_flags
      Src: /src/hostap/src/wps/wps_validate.c:1364,1
    - Dst: wps_validate_conn_type_flags
      Src: /src/hostap/src/wps/wps_validate.c:1365,1
    - Dst: wps_validate_config_methods
      Src: /src/hostap/src/wps/wps_validate.c:1366,1
    - Dst: wps_validate_manufacturer
      Src: /src/hostap/src/wps/wps_validate.c:1367,1
    - Dst: wps_validate_model_name
      Src: /src/hostap/src/wps/wps_validate.c:1369,1
    - Dst: wps_validate_model_number
      Src: /src/hostap/src/wps/wps_validate.c:1370,1
    - Dst: wps_validate_serial_number
      Src: /src/hostap/src/wps/wps_validate.c:1372,1
    - Dst: wps_validate_primary_dev_type
      Src: /src/hostap/src/wps/wps_validate.c:1374,1
    - Dst: wps_validate_dev_name
      Src: /src/hostap/src/wps/wps_validate.c:1375,1
    - Dst: wps_validate_rf_bands
      Src: /src/hostap/src/wps/wps_validate.c:1376,1
    - Dst: wps_validate_assoc_state
      Src: /src/hostap/src/wps/wps_validate.c:1377,1
    - Dst: wps_validate_config_error
      Src: /src/hostap/src/wps/wps_validate.c:1378,1
    - Dst: wps_validate_dev_password_id
      Src: /src/hostap/src/wps/wps_validate.c:1379,1
    - Dst: wps_validate_os_version
      Src: /src/hostap/src/wps/wps_validate.c:1380,1
    - Dst: wps_validate_version2
      Src: /src/hostap/src/wps/wps_validate.c:1381,1
    - Dst: wps_validate_authenticator
      Src: /src/hostap/src/wps/wps_validate.c:1382,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:1383,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 17
    argCount: 1
    argNames:
    - tlvs
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1393
      start: 1341
    functionDepth: 2
    functionLinenumber: 1341
    functionLinenumberEnd: 1393
    functionName: wps_validate_m2
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 1
    functionsReached:
    - wps_validate_msg_type
    - wps_validate_rf_bands
    - wps_validate_os_version
    - wps_validate_public_key
    - wps_validate_primary_dev_type
    - wps_validate_config_methods
    - wps_validate_version2
    - wpa_printf
    - wps_validate_serial_number
    - wps_validate_conn_type_flags
    - wps_validate_version
    - wps_validate_model_number
    - wps_validate_encr_type_flags
    - wps_validate_registrar_nonce
    - wps_validate_authenticator
    - wps_validate_auth_type_flags
    - wps_validate_model_name
    - wps_validate_config_error
    - wps_validate_dev_name
    - wps_parse_msg
    - wps_validate_dev_password_id
    - wps_validate_assoc_state
    - wps_validate_manufacturer
    - wps_validate_uuid_r
    - wps_validate_enrollee_nonce
    linkageType: ''
    returnType: int
    signature: int wps_validate_m2(const struct wpabuf *tlvs)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:1402,1
    - Dst: wps_parse_msg
      Src: /src/hostap/src/wps/wps_validate.c:1405,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:1406,1
    - Dst: wps_validate_version
      Src: /src/hostap/src/wps/wps_validate.c:1412,1
    - Dst: wps_validate_msg_type
      Src: /src/hostap/src/wps/wps_validate.c:1413,1
    - Dst: wps_validate_enrollee_nonce
      Src: /src/hostap/src/wps/wps_validate.c:1414,1
    - Dst: wps_validate_registrar_nonce
      Src: /src/hostap/src/wps/wps_validate.c:1415,1
    - Dst: wps_validate_uuid_r
      Src: /src/hostap/src/wps/wps_validate.c:1416,1
    - Dst: wps_validate_auth_type_flags
      Src: /src/hostap/src/wps/wps_validate.c:1417,1
    - Dst: wps_validate_encr_type_flags
      Src: /src/hostap/src/wps/wps_validate.c:1418,1
    - Dst: wps_validate_conn_type_flags
      Src: /src/hostap/src/wps/wps_validate.c:1419,1
    - Dst: wps_validate_config_methods
      Src: /src/hostap/src/wps/wps_validate.c:1420,1
    - Dst: wps_validate_manufacturer
      Src: /src/hostap/src/wps/wps_validate.c:1421,1
    - Dst: wps_validate_model_name
      Src: /src/hostap/src/wps/wps_validate.c:1423,1
    - Dst: wps_validate_model_number
      Src: /src/hostap/src/wps/wps_validate.c:1424,1
    - Dst: wps_validate_serial_number
      Src: /src/hostap/src/wps/wps_validate.c:1426,1
    - Dst: wps_validate_primary_dev_type
      Src: /src/hostap/src/wps/wps_validate.c:1428,1
    - Dst: wps_validate_dev_name
      Src: /src/hostap/src/wps/wps_validate.c:1429,1
    - Dst: wps_validate_rf_bands
      Src: /src/hostap/src/wps/wps_validate.c:1430,1
    - Dst: wps_validate_assoc_state
      Src: /src/hostap/src/wps/wps_validate.c:1431,1
    - Dst: wps_validate_config_error
      Src: /src/hostap/src/wps/wps_validate.c:1432,1
    - Dst: wps_validate_os_version
      Src: /src/hostap/src/wps/wps_validate.c:1433,1
    - Dst: wps_validate_version2
      Src: /src/hostap/src/wps/wps_validate.c:1434,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:1435,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 17
    argCount: 1
    argNames:
    - tlvs
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1445
      start: 1396
    functionDepth: 2
    functionLinenumber: 1396
    functionLinenumberEnd: 1445
    functionName: wps_validate_m2d
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 1
    functionsReached:
    - wps_validate_msg_type
    - wps_validate_rf_bands
    - wps_validate_os_version
    - wps_validate_primary_dev_type
    - wps_validate_config_methods
    - wps_validate_version2
    - wpa_printf
    - wps_validate_serial_number
    - wps_validate_conn_type_flags
    - wps_validate_version
    - wps_validate_model_number
    - wps_validate_encr_type_flags
    - wps_validate_registrar_nonce
    - wps_validate_auth_type_flags
    - wps_validate_model_name
    - wps_validate_config_error
    - wps_validate_dev_name
    - wps_parse_msg
    - wps_validate_assoc_state
    - wps_validate_manufacturer
    - wps_validate_uuid_r
    - wps_validate_enrollee_nonce
    linkageType: ''
    returnType: int
    signature: int wps_validate_m2d(const struct wpabuf *tlvs)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:1454,1
    - Dst: wps_parse_msg
      Src: /src/hostap/src/wps/wps_validate.c:1457,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:1458,1
    - Dst: wps_validate_version
      Src: /src/hostap/src/wps/wps_validate.c:1464,1
    - Dst: wps_validate_msg_type
      Src: /src/hostap/src/wps/wps_validate.c:1465,1
    - Dst: wps_validate_registrar_nonce
      Src: /src/hostap/src/wps/wps_validate.c:1466,1
    - Dst: wps_validate_e_hash1
      Src: /src/hostap/src/wps/wps_validate.c:1467,1
    - Dst: wps_validate_e_hash2
      Src: /src/hostap/src/wps/wps_validate.c:1468,1
    - Dst: wps_validate_version2
      Src: /src/hostap/src/wps/wps_validate.c:1469,1
    - Dst: wps_validate_authenticator
      Src: /src/hostap/src/wps/wps_validate.c:1470,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:1471,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 1
    argNames:
    - tlvs
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1481
      start: 1448
    functionDepth: 1
    functionLinenumber: 1448
    functionLinenumberEnd: 1481
    functionName: wps_validate_m3
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 1
    functionsReached:
    - wps_validate_version2
    - wpa_printf
    - wps_validate_msg_type
    - wps_validate_e_hash2
    - wps_validate_version
    - wps_validate_e_hash1
    - wps_validate_registrar_nonce
    - wps_validate_authenticator
    - wps_parse_msg
    linkageType: ''
    returnType: int
    signature: int wps_validate_m3(const struct wpabuf *tlvs)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:1490,1
    - Dst: wps_parse_msg
      Src: /src/hostap/src/wps/wps_validate.c:1493,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:1494,1
    - Dst: wps_validate_version
      Src: /src/hostap/src/wps/wps_validate.c:1500,1
    - Dst: wps_validate_msg_type
      Src: /src/hostap/src/wps/wps_validate.c:1501,1
    - Dst: wps_validate_enrollee_nonce
      Src: /src/hostap/src/wps/wps_validate.c:1502,1
    - Dst: wps_validate_r_hash1
      Src: /src/hostap/src/wps/wps_validate.c:1503,1
    - Dst: wps_validate_r_hash2
      Src: /src/hostap/src/wps/wps_validate.c:1504,1
    - Dst: wps_validate_encr_settings
      Src: /src/hostap/src/wps/wps_validate.c:1505,1
    - Dst: wps_validate_version2
      Src: /src/hostap/src/wps/wps_validate.c:1507,1
    - Dst: wps_validate_authenticator
      Src: /src/hostap/src/wps/wps_validate.c:1508,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:1509,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 1
    argNames:
    - tlvs
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1519
      start: 1484
    functionDepth: 1
    functionLinenumber: 1484
    functionLinenumberEnd: 1519
    functionName: wps_validate_m4
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 1
    functionsReached:
    - wps_validate_version2
    - wpa_printf
    - wps_validate_r_hash1
    - wps_validate_msg_type
    - wps_parse_msg
    - wps_validate_version
    - wps_validate_r_hash2
    - wps_validate_encr_settings
    - wps_validate_authenticator
    - wps_validate_enrollee_nonce
    linkageType: ''
    returnType: int
    signature: int wps_validate_m4(const struct wpabuf *tlvs)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:1527,1
    - Dst: wps_parse_msg
      Src: /src/hostap/src/wps/wps_validate.c:1531,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:1532,1
    - Dst: wps_validate_r_snonce1
      Src: /src/hostap/src/wps/wps_validate.c:1537,1
    - Dst: wps_validate_key_wrap_auth
      Src: /src/hostap/src/wps/wps_validate.c:1538,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:1539,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - tlvs
    - wps2
    argTypes:
    - struct wpabuf*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1550
      start: 1522
    functionDepth: 1
    functionLinenumber: 1522
    functionLinenumberEnd: 1550
    functionName: wps_validate_m4_encr
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 1
    functionsReached:
    - wps_validate_key_wrap_auth
    - wpa_printf
    - wps_validate_r_snonce1
    - wps_parse_msg
    linkageType: ''
    returnType: int
    signature: int wps_validate_m4_encr(const struct wpabuf *tlvs, int wps2)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:1559,1
    - Dst: wps_parse_msg
      Src: /src/hostap/src/wps/wps_validate.c:1562,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:1563,1
    - Dst: wps_validate_version
      Src: /src/hostap/src/wps/wps_validate.c:1569,1
    - Dst: wps_validate_msg_type
      Src: /src/hostap/src/wps/wps_validate.c:1570,1
    - Dst: wps_validate_registrar_nonce
      Src: /src/hostap/src/wps/wps_validate.c:1571,1
    - Dst: wps_validate_encr_settings
      Src: /src/hostap/src/wps/wps_validate.c:1572,1
    - Dst: wps_validate_version2
      Src: /src/hostap/src/wps/wps_validate.c:1574,1
    - Dst: wps_validate_authenticator
      Src: /src/hostap/src/wps/wps_validate.c:1575,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:1576,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 1
    argNames:
    - tlvs
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1586
      start: 1553
    functionDepth: 1
    functionLinenumber: 1553
    functionLinenumberEnd: 1586
    functionName: wps_validate_m5
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 1
    functionsReached:
    - wps_validate_version2
    - wpa_printf
    - wps_validate_msg_type
    - wps_validate_version
    - wps_validate_encr_settings
    - wps_validate_registrar_nonce
    - wps_validate_authenticator
    - wps_parse_msg
    linkageType: ''
    returnType: int
    signature: int wps_validate_m5(const struct wpabuf *tlvs)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:1594,1
    - Dst: wps_parse_msg
      Src: /src/hostap/src/wps/wps_validate.c:1598,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:1599,1
    - Dst: wps_validate_e_snonce1
      Src: /src/hostap/src/wps/wps_validate.c:1604,1
    - Dst: wps_validate_key_wrap_auth
      Src: /src/hostap/src/wps/wps_validate.c:1605,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:1606,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - tlvs
    - wps2
    argTypes:
    - struct wpabuf*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1617
      start: 1589
    functionDepth: 1
    functionLinenumber: 1589
    functionLinenumberEnd: 1617
    functionName: wps_validate_m5_encr
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 1
    functionsReached:
    - wps_validate_key_wrap_auth
    - wpa_printf
    - wps_validate_e_snonce1
    - wps_parse_msg
    linkageType: ''
    returnType: int
    signature: int wps_validate_m5_encr(const struct wpabuf *tlvs, int wps2)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:1626,1
    - Dst: wps_parse_msg
      Src: /src/hostap/src/wps/wps_validate.c:1629,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:1630,1
    - Dst: wps_validate_version
      Src: /src/hostap/src/wps/wps_validate.c:1636,1
    - Dst: wps_validate_msg_type
      Src: /src/hostap/src/wps/wps_validate.c:1637,1
    - Dst: wps_validate_enrollee_nonce
      Src: /src/hostap/src/wps/wps_validate.c:1638,1
    - Dst: wps_validate_encr_settings
      Src: /src/hostap/src/wps/wps_validate.c:1639,1
    - Dst: wps_validate_version2
      Src: /src/hostap/src/wps/wps_validate.c:1641,1
    - Dst: wps_validate_authenticator
      Src: /src/hostap/src/wps/wps_validate.c:1642,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:1643,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 1
    argNames:
    - tlvs
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1653
      start: 1620
    functionDepth: 1
    functionLinenumber: 1620
    functionLinenumberEnd: 1653
    functionName: wps_validate_m6
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 1
    functionsReached:
    - wps_validate_version2
    - wpa_printf
    - wps_validate_msg_type
    - wps_parse_msg
    - wps_validate_version
    - wps_validate_encr_settings
    - wps_validate_authenticator
    - wps_validate_enrollee_nonce
    linkageType: ''
    returnType: int
    signature: int wps_validate_m6(const struct wpabuf *tlvs)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:1661,1
    - Dst: wps_parse_msg
      Src: /src/hostap/src/wps/wps_validate.c:1665,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:1666,1
    - Dst: wps_validate_r_snonce2
      Src: /src/hostap/src/wps/wps_validate.c:1671,1
    - Dst: wps_validate_key_wrap_auth
      Src: /src/hostap/src/wps/wps_validate.c:1672,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:1673,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - tlvs
    - wps2
    argTypes:
    - struct wpabuf*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1684
      start: 1656
    functionDepth: 1
    functionLinenumber: 1656
    functionLinenumberEnd: 1684
    functionName: wps_validate_m6_encr
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 1
    functionsReached:
    - wps_validate_key_wrap_auth
    - wpa_printf
    - wps_validate_r_snonce2
    - wps_parse_msg
    linkageType: ''
    returnType: int
    signature: int wps_validate_m6_encr(const struct wpabuf *tlvs, int wps2)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:1693,1
    - Dst: wps_parse_msg
      Src: /src/hostap/src/wps/wps_validate.c:1696,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:1697,1
    - Dst: wps_validate_version
      Src: /src/hostap/src/wps/wps_validate.c:1703,1
    - Dst: wps_validate_msg_type
      Src: /src/hostap/src/wps/wps_validate.c:1704,1
    - Dst: wps_validate_registrar_nonce
      Src: /src/hostap/src/wps/wps_validate.c:1705,1
    - Dst: wps_validate_encr_settings
      Src: /src/hostap/src/wps/wps_validate.c:1706,1
    - Dst: wps_validate_settings_delay_time
      Src: /src/hostap/src/wps/wps_validate.c:1708,1
    - Dst: wps_validate_version2
      Src: /src/hostap/src/wps/wps_validate.c:1709,1
    - Dst: wps_validate_authenticator
      Src: /src/hostap/src/wps/wps_validate.c:1710,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:1711,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 1
    argNames:
    - tlvs
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1721
      start: 1687
    functionDepth: 1
    functionLinenumber: 1687
    functionLinenumberEnd: 1721
    functionName: wps_validate_m7
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 1
    functionsReached:
    - wps_validate_version2
    - wpa_printf
    - wps_validate_settings_delay_time
    - wps_validate_msg_type
    - wps_validate_version
    - wps_validate_encr_settings
    - wps_validate_registrar_nonce
    - wps_validate_authenticator
    - wps_parse_msg
    linkageType: ''
    returnType: int
    signature: int wps_validate_m7(const struct wpabuf *tlvs)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:1729,1
    - Dst: wps_parse_msg
      Src: /src/hostap/src/wps/wps_validate.c:1733,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:1734,1
    - Dst: wps_validate_e_snonce2
      Src: /src/hostap/src/wps/wps_validate.c:1739,1
    - Dst: wps_validate_ssid
      Src: /src/hostap/src/wps/wps_validate.c:1740,1
    - Dst: wps_validate_mac_addr
      Src: /src/hostap/src/wps/wps_validate.c:1741,1
    - Dst: wps_validate_auth_type
      Src: /src/hostap/src/wps/wps_validate.c:1742,1
    - Dst: wps_validate_encr_type
      Src: /src/hostap/src/wps/wps_validate.c:1743,1
    - Dst: wps_validate_network_key_index
      Src: /src/hostap/src/wps/wps_validate.c:1744,1
    - Dst: wps_validate_network_key
      Src: /src/hostap/src/wps/wps_validate.c:1745,1
    - Dst: wps_validate_key_wrap_auth
      Src: /src/hostap/src/wps/wps_validate.c:1747,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:1748,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 3
    argNames:
    - tlvs
    - ap
    - wps2
    argTypes:
    - struct wpabuf*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1759
      start: 1724
    functionDepth: 2
    functionLinenumber: 1724
    functionLinenumberEnd: 1759
    functionName: wps_validate_m7_encr
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 1
    functionsReached:
    - wps_validate_auth_type
    - wpa_printf
    - wps_validate_ssid
    - wps_validate_mac_addr
    - wps_validate_encr_type
    - wps_validate_network_key_index
    - wps_validate_e_snonce2
    - wps_validate_key_wrap_auth
    - wps_validate_network_key
    - wps_parse_msg
    linkageType: ''
    returnType: int
    signature: int wps_validate_m7_encr(const struct wpabuf *tlvs, int ap, int wps2)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:1768,1
    - Dst: wps_parse_msg
      Src: /src/hostap/src/wps/wps_validate.c:1771,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:1772,1
    - Dst: wps_validate_version
      Src: /src/hostap/src/wps/wps_validate.c:1778,1
    - Dst: wps_validate_msg_type
      Src: /src/hostap/src/wps/wps_validate.c:1779,1
    - Dst: wps_validate_enrollee_nonce
      Src: /src/hostap/src/wps/wps_validate.c:1780,1
    - Dst: wps_validate_encr_settings
      Src: /src/hostap/src/wps/wps_validate.c:1781,1
    - Dst: wps_validate_version2
      Src: /src/hostap/src/wps/wps_validate.c:1783,1
    - Dst: wps_validate_authenticator
      Src: /src/hostap/src/wps/wps_validate.c:1784,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:1785,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 1
    argNames:
    - tlvs
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1795
      start: 1762
    functionDepth: 1
    functionLinenumber: 1762
    functionLinenumberEnd: 1795
    functionName: wps_validate_m8
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 1
    functionsReached:
    - wps_validate_version2
    - wpa_printf
    - wps_validate_msg_type
    - wps_parse_msg
    - wps_validate_version
    - wps_validate_encr_settings
    - wps_validate_authenticator
    - wps_validate_enrollee_nonce
    linkageType: ''
    returnType: int
    signature: int wps_validate_m8(const struct wpabuf *tlvs)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:1803,1
    - Dst: wps_parse_msg
      Src: /src/hostap/src/wps/wps_validate.c:1807,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:1808,1
    - Dst: wps_validate_ssid
      Src: /src/hostap/src/wps/wps_validate.c:1813,1
    - Dst: wps_validate_auth_type
      Src: /src/hostap/src/wps/wps_validate.c:1814,1
    - Dst: wps_validate_encr_type
      Src: /src/hostap/src/wps/wps_validate.c:1815,1
    - Dst: wps_validate_network_key_index
      Src: /src/hostap/src/wps/wps_validate.c:1816,1
    - Dst: wps_validate_mac_addr
      Src: /src/hostap/src/wps/wps_validate.c:1817,1
    - Dst: wps_validate_credential
      Src: /src/hostap/src/wps/wps_validate.c:1818,1
    - Dst: wps_validate_key_wrap_auth
      Src: /src/hostap/src/wps/wps_validate.c:1820,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:1821,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 3
    argNames:
    - tlvs
    - ap
    - wps2
    argTypes:
    - struct wpabuf*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1832
      start: 1798
    functionDepth: 4
    functionLinenumber: 1798
    functionLinenumberEnd: 1832
    functionName: wps_validate_m8_encr
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 1
    functionsReached:
    - wps_validate_auth_type
    - wpa_printf
    - wps_validate_ssid
    - wps_validate_mac_addr
    - wps_validate_encr_type
    - wps_validate_network_key_index
    - wps_validate_credential
    - wps_validate_key_wrap_auth
    - wps_parse_msg
    linkageType: ''
    returnType: int
    signature: int wps_validate_m8_encr(const struct wpabuf *tlvs, int ap, int wps2)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:1841,1
    - Dst: wps_parse_msg
      Src: /src/hostap/src/wps/wps_validate.c:1844,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:1845,1
    - Dst: wps_validate_version
      Src: /src/hostap/src/wps/wps_validate.c:1851,1
    - Dst: wps_validate_msg_type
      Src: /src/hostap/src/wps/wps_validate.c:1852,1
    - Dst: wps_validate_enrollee_nonce
      Src: /src/hostap/src/wps/wps_validate.c:1853,1
    - Dst: wps_validate_registrar_nonce
      Src: /src/hostap/src/wps/wps_validate.c:1854,1
    - Dst: wps_validate_version2
      Src: /src/hostap/src/wps/wps_validate.c:1855,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:1856,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - tlvs
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1866
      start: 1835
    functionDepth: 1
    functionLinenumber: 1835
    functionLinenumberEnd: 1866
    functionName: wps_validate_wsc_ack
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 2
    functionsReached:
    - wps_validate_version2
    - wpa_printf
    - wps_validate_msg_type
    - wps_parse_msg
    - wps_validate_version
    - wps_validate_registrar_nonce
    - wps_validate_enrollee_nonce
    linkageType: ''
    returnType: int
    signature: int wps_validate_wsc_ack(const struct wpabuf *tlvs)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:1875,1
    - Dst: wps_parse_msg
      Src: /src/hostap/src/wps/wps_validate.c:1878,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:1879,1
    - Dst: wps_validate_version
      Src: /src/hostap/src/wps/wps_validate.c:1885,1
    - Dst: wps_validate_msg_type
      Src: /src/hostap/src/wps/wps_validate.c:1886,1
    - Dst: wps_validate_enrollee_nonce
      Src: /src/hostap/src/wps/wps_validate.c:1887,1
    - Dst: wps_validate_registrar_nonce
      Src: /src/hostap/src/wps/wps_validate.c:1888,1
    - Dst: wps_validate_config_error
      Src: /src/hostap/src/wps/wps_validate.c:1889,1
    - Dst: wps_validate_version2
      Src: /src/hostap/src/wps/wps_validate.c:1890,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:1891,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 1
    argNames:
    - tlvs
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1901
      start: 1869
    functionDepth: 2
    functionLinenumber: 1869
    functionLinenumberEnd: 1901
    functionName: wps_validate_wsc_nack
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 2
    functionsReached:
    - wps_validate_version2
    - wpa_printf
    - wps_validate_msg_type
    - wps_validate_config_error
    - wps_parse_msg
    - wps_validate_version
    - wps_validate_registrar_nonce
    - wps_validate_enrollee_nonce
    linkageType: ''
    returnType: int
    signature: int wps_validate_wsc_nack(const struct wpabuf *tlvs)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:1910,1
    - Dst: wps_parse_msg
      Src: /src/hostap/src/wps/wps_validate.c:1913,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:1914,1
    - Dst: wps_validate_version
      Src: /src/hostap/src/wps/wps_validate.c:1920,1
    - Dst: wps_validate_msg_type
      Src: /src/hostap/src/wps/wps_validate.c:1921,1
    - Dst: wps_validate_enrollee_nonce
      Src: /src/hostap/src/wps/wps_validate.c:1922,1
    - Dst: wps_validate_registrar_nonce
      Src: /src/hostap/src/wps/wps_validate.c:1923,1
    - Dst: wps_validate_version2
      Src: /src/hostap/src/wps/wps_validate.c:1924,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:1925,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - tlvs
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1935
      start: 1904
    functionDepth: 1
    functionLinenumber: 1904
    functionLinenumberEnd: 1935
    functionName: wps_validate_wsc_done
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 1
    functionsReached:
    - wps_validate_version2
    - wpa_printf
    - wps_validate_msg_type
    - wps_parse_msg
    - wps_validate_version
    - wps_validate_registrar_nonce
    - wps_validate_enrollee_nonce
    linkageType: ''
    returnType: int
    signature: int wps_validate_wsc_done(const struct wpabuf *tlvs)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:1945,1
    - Dst: wps_parse_msg
      Src: /src/hostap/src/wps/wps_validate.c:1949,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:1950,1
    - Dst: wps_validate_version
      Src: /src/hostap/src/wps/wps_validate.c:1958,1
    - Dst: wps_validate_dev_password_id
      Src: /src/hostap/src/wps/wps_validate.c:1959,1
    - Dst: wps_validate_sel_reg_config_methods
      Src: /src/hostap/src/wps/wps_validate.c:1960,1
    - Dst: wps_validate_version2
      Src: /src/hostap/src/wps/wps_validate.c:1962,1
    - Dst: wps_validate_authorized_macs
      Src: /src/hostap/src/wps/wps_validate.c:1963,1
    - Dst: wps_validate_uuid_r
      Src: /src/hostap/src/wps/wps_validate.c:1965,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_validate.c:1966,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 1
    argNames:
    - tlvs
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1977
      start: 1938
    functionDepth: 2
    functionLinenumber: 1938
    functionLinenumberEnd: 1977
    functionName: wps_validate_upnp_set_selected_registrar
    functionSourceFile: /src/hostap/src/wps/wps_validate.c
    functionUses: 0
    functionsReached:
    - wps_validate_version2
    - wpa_printf
    - wps_validate_dev_password_id
    - wps_validate_sel_reg_config_methods
    - wps_validate_authorized_macs
    - wps_validate_version
    - wps_validate_uuid_r
    - wps_parse_msg
    linkageType: ''
    returnType: int
    signature: int wps_validate_upnp_set_selected_registrar(const struct wpabuf *tlvs)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isalpha
      Src: /src/hostap/src/wps/httpread.c:107,1
    - Dst: isupper
      Src: /src/hostap/src/wps/httpread.c:107,1
    - Dst: tolower
      Src: /src/hostap/src/wps/httpread.c:108,1
    - Dst: isalpha
      Src: /src/hostap/src/wps/httpread.c:109,1
    - Dst: isupper
      Src: /src/hostap/src/wps/httpread.c:109,1
    - Dst: tolower
      Src: /src/hostap/src/wps/httpread.c:110,1
    - Dst: isgraph
      Src: /src/hostap/src/wps/httpread.c:111,1
    - Dst: isgraph
      Src: /src/hostap/src/wps/httpread.c:112,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 117
    functionName: word_eq
    functionSourceFile: /src/hostap/src/wps/httpread.c
    functionUses: 0
    functionsReached:
    - isupper
    - isalpha
    - tolower
    - isgraph
    linkageType: ''
    returnType: int
    signature: int word_eq(char *s1, char *s2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/httpread.c:129,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/wps/httpread.c:133,1
    - Dst: eloop_unregister_sock
      Src: /src/hostap/src/wps/httpread.c:134,1
    - Dst: os_free
      Src: /src/hostap/src/wps/httpread.c:135,1
    - Dst: os_free
      Src: /src/hostap/src/wps/httpread.c:136,1
    - Dst: os_memset
      Src: /src/hostap/src/wps/httpread.c:137,1
    - Dst: os_free
      Src: /src/hostap/src/wps/httpread.c:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct httpread*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 140
    functionName: httpread_destroy
    functionSourceFile: /src/hostap/src/wps/httpread.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eloop_unregister_sock
    - eloop_cancel_timeout
    - os_free
    - os_memset
    linkageType: ''
    returnType: void
    signature: void httpread_destroy(struct httpread *h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/httpread.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - eloop_data
    - user_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 150
    functionName: httpread_timeout_handler
    functionSourceFile: /src/hostap/src/wps/httpread.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void httpread_timeout_handler(void *eloop_data, void *user_ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: word_eq
      Src: /src/hostap/src/wps/httpread.c:161,1
    - Dst: isgraph
      Src: /src/hostap/src/wps/httpread.c:162,1
    - Dst: isdigit
      Src: /src/hostap/src/wps/httpread.c:166,1
    - Dst: atol
      Src: /src/hostap/src/wps/httpread.c:168,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/httpread.c:170,1
    - Dst: word_eq
      Src: /src/hostap/src/wps/httpread.c:178,1
    - Dst: word_eq
      Src: /src/hostap/src/wps/httpread.c:179,1
    - Dst: isgraph
      Src: /src/hostap/src/wps/httpread.c:180,1
    - Dst: word_eq
      Src: /src/hostap/src/wps/httpread.c:187,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 2
    argNames:
    - h
    - hbp
    argTypes:
    - struct httpread*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 196
    functionName: httpread_hdr_option_analyze
    functionSourceFile: /src/hostap/src/wps/httpread.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - isgraph
    - atol
    - isdigit
    - word_eq
    linkageType: ''
    returnType: int
    signature: "int httpread_hdr_option_analyze(\n\tstruct httpread *h,\n\tchar *hbp
      \      /* pointer to current line in header buffer */\n\t)"
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: isgraph
      Src: /src/hostap/src/wps/httpread.c:206,1
    - Dst: os_strncmp
      Src: /src/hostap/src/wps/httpread.c:208,1
    - Dst: isdigit
      Src: /src/hostap/src/wps/httpread.c:213,1
    - Dst: isgraph
      Src: /src/hostap/src/wps/httpread.c:215,1
    - Dst: isdigit
      Src: /src/hostap/src/wps/httpread.c:219,1
    - Dst: atol
      Src: /src/hostap/src/wps/httpread.c:221,1
    - Dst: word_eq
      Src: /src/hostap/src/wps/httpread.c:222,1
    - Dst: word_eq
      Src: /src/hostap/src/wps/httpread.c:224,1
    - Dst: word_eq
      Src: /src/hostap/src/wps/httpread.c:226,1
    - Dst: word_eq
      Src: /src/hostap/src/wps/httpread.c:228,1
    - Dst: word_eq
      Src: /src/hostap/src/wps/httpread.c:230,1
    - Dst: word_eq
      Src: /src/hostap/src/wps/httpread.c:232,1
    - Dst: word_eq
      Src: /src/hostap/src/wps/httpread.c:234,1
    - Dst: word_eq
      Src: /src/hostap/src/wps/httpread.c:236,1
    - Dst: word_eq
      Src: /src/hostap/src/wps/httpread.c:238,1
    - Dst: word_eq
      Src: /src/hostap/src/wps/httpread.c:240,1
    - Dst: word_eq
      Src: /src/hostap/src/wps/httpread.c:242,1
    - Dst: word_eq
      Src: /src/hostap/src/wps/httpread.c:244,1
    - Dst: isgraph
      Src: /src/hostap/src/wps/httpread.c:253,1
    - Dst: isgraph
      Src: /src/hostap/src/wps/httpread.c:263,1
    - Dst: os_malloc
      Src: /src/hostap/src/wps/httpread.c:265,1
    - Dst: isxdigit
      Src: /src/hostap/src/wps/httpread.c:272,1
    - Dst: isxdigit
      Src: /src/hostap/src/wps/httpread.c:272,1
    - Dst: hex2byte
      Src: /src/hostap/src/wps/httpread.c:273,1
    - Dst: strncmp
      Src: /src/hostap/src/wps/httpread.c:284,1
    - Dst: isdigit
      Src: /src/hostap/src/wps/httpread.c:287,1
    - Dst: isgraph
      Src: /src/hostap/src/wps/httpread.c:304,1
    - Dst: httpread_hdr_option_analyze
      Src: /src/hostap/src/wps/httpread.c:306,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 121
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct httpread*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 358
    functionName: httpread_hdr_analyze
    functionSourceFile: /src/hostap/src/wps/httpread.c
    functionUses: 0
    functionsReached:
    - strncmp
    - isgraph
    - hex2byte
    - atol
    - word_eq
    - isdigit
    - os_strncmp
    - os_malloc
    - isxdigit
    - httpread_hdr_option_analyze
    linkageType: ''
    returnType: int
    signature: int httpread_hdr_analyze(struct httpread *h)
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/httpread.c:379,1
    - Dst: read
      Src: /src/hostap/src/wps/httpread.c:380,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/httpread.c:382,1
    - Dst: strerror
      Src: /src/hostap/src/wps/httpread.c:382,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/wps/httpread.c:385,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/httpread.c:393,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/httpread.c:398,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/httpread.c:408,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/httpread.c:428,1
    - Dst: httpread_hdr_analyze
      Src: /src/hostap/src/wps/httpread.c:446,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/httpread.c:447,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/httpread.c:451,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/httpread.c:456,1
    - Dst: os_strncasecmp
      Src: /src/hostap/src/wps/httpread.c:465,1
    - Dst: os_strncasecmp
      Src: /src/hostap/src/wps/httpread.c:466,1
    - Dst: os_strncasecmp
      Src: /src/hostap/src/wps/httpread.c:467,1
    - Dst: os_strncasecmp
      Src: /src/hostap/src/wps/httpread.c:468,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/httpread.c:470,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/httpread.c:492,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/httpread.c:509,1
    - Dst: os_realloc
      Src: /src/hostap/src/wps/httpread.c:516,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/httpread.c:518,1
    - Dst: isxdigit
      Src: /src/hostap/src/wps/httpread.c:541,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/httpread.c:542,1
    - Dst: strtoul
      Src: /src/hostap/src/wps/httpread.c:546,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/httpread.c:549,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/httpread.c:563,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/httpread.c:584,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/httpread.c:597,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/httpread.c:623,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/httpread.c:629,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/httpread.c:661,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/httpread.c:686,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/httpread.c:691,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/httpread.c:695,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/wps/httpread.c:697,1
    - Dst: eloop_unregister_sock
      Src: /src/hostap/src/wps/httpread.c:707,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/wps/httpread.c:711,1
    CyclomaticComplexity: 95
    EdgeCount: 95
    ICount: 228
    argCount: 3
    argNames:
    - sd
    - eloop_ctx
    - sock_ctx
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 367
    functionDepth: 3
    functionLinenumber: 367
    functionLinenumberEnd: 713
    functionName: httpread_read_handler
    functionSourceFile: /src/hostap/src/wps/httpread.c
    functionUses: 0
    functionsReached:
    - os_strncasecmp
    - wpa_printf
    - os_memcpy
    - eloop_unregister_sock
    - strerror
    - eloop_cancel_timeout
    - read
    - os_realloc
    - isxdigit
    - strtoul
    - httpread_hdr_analyze
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: void
    signature: void httpread_read_handler(int sd, void *eloop_ctx, void *sock_ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/wps/httpread.c:740,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/wps/httpread.c:750,1
    - Dst: eloop_register_sock
      Src: /src/hostap/src/wps/httpread.c:755,1
    - Dst: httpread_destroy
      Src: /src/hostap/src/wps/httpread.c:765,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 4
    argNames:
    - sd
    - cookie
    - max_bytes
    - timeout_seconds
    argTypes:
    - int
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 729
    functionDepth: 2
    functionLinenumber: 729
    functionLinenumberEnd: 767
    functionName: httpread_create
    functionSourceFile: /src/hostap/src/wps/httpread.c
    functionUses: 0
    functionsReached:
    - os_zalloc
    - eloop_register_timeout
    - httpread_destroy
    - eloop_register_sock
    linkageType: ''
    returnType: struct httpread
    signature: "struct httpread * httpread_create(\n\tint sd,\t /* descriptor of TCP
      socket to read from */\n\tvoid (*cb)(struct httpread *handle, void *cookie,\n\t\t
      \  enum httpread_event e),  /* call on event */\n\tvoid *cookie,    /* pass
      to callback */\n\tint max_bytes,\t  /* maximum body size else abort it */\n\tint
      timeout_seconds     /* 0; or total duration timeout period */\n\t)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct httpread*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 771
    functionDepth: 0
    functionLinenumber: 771
    functionLinenumberEnd: 774
    functionName: httpread_hdr_type_get
    functionSourceFile: /src/hostap/src/wps/httpread.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum httpread_hdr_type
    signature: enum httpread_hdr_type httpread_hdr_type_get(struct httpread *h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct httpread*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 783
    functionName: httpread_uri_get
    functionSourceFile: /src/hostap/src/wps/httpread.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * httpread_uri_get(struct httpread *h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct httpread*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 790
    functionName: httpread_reply_code_get
    functionSourceFile: /src/hostap/src/wps/httpread.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int httpread_reply_code_get(struct httpread *h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct httpread*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 797
    functionName: httpread_length_get
    functionSourceFile: /src/hostap/src/wps/httpread.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int httpread_length_get(struct httpread *h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct httpread*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 807
    functionName: httpread_data_get
    functionSourceFile: /src/hostap/src/wps/httpread.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * httpread_data_get(struct httpread *h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct httpread*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 817
    functionName: httpread_hdr_get
    functionSourceFile: /src/hostap/src/wps/httpread.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * httpread_hdr_get(struct httpread *h)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/wps/httpread.c:830,1
    - Dst: os_strchr
      Src: /src/hostap/src/wps/httpread.c:832,1
    - Dst: os_strncasecmp
      Src: /src/hostap/src/wps/httpread.c:837,1
    - Dst: os_strchr
      Src: /src/hostap/src/wps/httpread.c:843,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - h
    - tag
    argTypes:
    - struct httpread*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 828
    functionDepth: 0
    functionLinenumber: 828
    functionLinenumberEnd: 848
    functionName: httpread_hdr_line_get
    functionSourceFile: /src/hostap/src/wps/httpread.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_strchr
    - os_strncasecmp
    linkageType: ''
    returnType: char
    signature: char * httpread_hdr_line_get(struct httpread *h, const char *tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/http_client.c:39,1
    - Dst: struct http_client*::cb
      Src: /src/hostap/src/wps/http_client.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - eloop_data
    - user_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: http_client_timeout
    functionSourceFile: /src/hostap/src/wps/http_client.c
    functionUses: 0
    functionsReached:
    - struct http_client*::cb
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void http_client_timeout(void *eloop_data, void *user_ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/http_client.c:49,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/wps/http_client.c:52,1
    - Dst: httpread_hdr_type_get
      Src: /src/hostap/src/wps/http_client.c:55,1
    - Dst: httpread_reply_code_get
      Src: /src/hostap/src/wps/http_client.c:57,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/http_client.c:59,1
    - Dst: inet_ntoa
      Src: /src/hostap/src/wps/http_client.c:61,1
    - Dst: ntohs
      Src: /src/hostap/src/wps/http_client.c:62,1
    - Dst: struct http_client*::cb
      Src: /src/hostap/src/wps/http_client.c:63,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/http_client.c:65,1
    - Dst: inet_ntoa
      Src: /src/hostap/src/wps/http_client.c:67,1
    - Dst: ntohs
      Src: /src/hostap/src/wps/http_client.c:68,1
    - Dst: struct http_client*::cb
      Src: /src/hostap/src/wps/http_client.c:69,1
    - Dst: struct http_client*::cb
      Src: /src/hostap/src/wps/http_client.c:72,1
    - Dst: struct http_client*::cb
      Src: /src/hostap/src/wps/http_client.c:75,1
    - Dst: struct http_client*::cb
      Src: /src/hostap/src/wps/http_client.c:78,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - handle
    - cookie
    - e
    argTypes:
    - struct httpread*
    - void*
    - enum httpread_event
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 81
    functionName: http_client_got_response
    functionSourceFile: /src/hostap/src/wps/http_client.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eloop_cancel_timeout
    - httpread_hdr_type_get
    - httpread_reply_code_get
    - struct http_client*::cb
    - inet_ntoa
    - ntohs
    linkageType: ''
    returnType: void
    signature: "void http_client_got_response(struct httpread *handle, void *cookie,\n\t\t\t\t
      \    enum httpread_event e)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/http_client.c:90,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/http_client.c:91,1
    - Dst: inet_ntoa
      Src: /src/hostap/src/wps/http_client.c:93,1
    - Dst: ntohs
      Src: /src/hostap/src/wps/http_client.c:93,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/http_client.c:94,1
    - Dst: send
      Src: /src/hostap/src/wps/http_client.c:97,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/wps/http_client.c:97,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/http_client.c:99,1
    - Dst: strerror
      Src: /src/hostap/src/wps/http_client.c:100,1
    - Dst: eloop_unregister_sock
      Src: /src/hostap/src/wps/http_client.c:101,1
    - Dst: struct http_client*::cb
      Src: /src/hostap/src/wps/http_client.c:102,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/http_client.c:107,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/http_client.c:109,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/http_client.c:115,1
    - Dst: inet_ntoa
      Src: /src/hostap/src/wps/http_client.c:116,1
    - Dst: ntohs
      Src: /src/hostap/src/wps/http_client.c:116,1
    - Dst: eloop_unregister_sock
      Src: /src/hostap/src/wps/http_client.c:117,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/http_client.c:118,1
    - Dst: httpread_create
      Src: /src/hostap/src/wps/http_client.c:121,1
    - Dst: struct http_client*::cb
      Src: /src/hostap/src/wps/http_client.c:124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 3
    argNames:
    - sock
    - eloop_ctx
    - sock_ctx
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 84
    functionDepth: 3
    functionLinenumber: 84
    functionLinenumberEnd: 127
    functionName: http_client_tx_ready
    functionSourceFile: /src/hostap/src/wps/http_client.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eloop_unregister_sock
    - wpabuf_head_u8
    - send
    - strerror
    - wpabuf_len
    - wpabuf_free
    - httpread_create
    - struct http_client*::cb
    - inet_ntoa
    - ntohs
    linkageType: ''
    returnType: void
    signature: void http_client_tx_ready(int sock, void *eloop_ctx, void *sock_ctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/wps/http_client.c:139,1
    - Dst: socket
      Src: /src/hostap/src/wps/http_client.c:148,1
    - Dst: fcntl
      Src: /src/hostap/src/wps/http_client.c:152,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/http_client.c:153,1
    - Dst: strerror
      Src: /src/hostap/src/wps/http_client.c:154,1
    - Dst: connect
      Src: /src/hostap/src/wps/http_client.c:158,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/http_client.c:160,1
    - Dst: strerror
      Src: /src/hostap/src/wps/http_client.c:161,1
    - Dst: eloop_register_sock
      Src: /src/hostap/src/wps/http_client.c:171,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/wps/http_client.c:173,1
    - Dst: http_client_free
      Src: /src/hostap/src/wps/http_client.c:182,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 4
    argNames:
    - dst
    - req
    - max_response
    - cb_ctx
    argTypes:
    - struct sockaddr_in*
    - struct wpabuf*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 184
    functionName: http_client_addr
    functionSourceFile: /src/hostap/src/wps/http_client.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - strerror
    - connect
    - socket
    - eloop_register_sock
    - os_zalloc
    - eloop_register_timeout
    - http_client_free
    - fcntl
    linkageType: ''
    returnType: struct http_client
    signature: "struct http_client * http_client_addr(struct sockaddr_in *dst,\n\t\t\t\t
      \     struct wpabuf *req, size_t max_response,\n\t\t\t\t      void (*cb)(void
      *ctx,\n\t\t\t\t\t\t struct http_client *c,\n\t\t\t\t\t\t enum http_client_event
      event),\n\t\t\t\t      void *cb_ctx)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: os_strdup
      Src: /src/hostap/src/wps/http_client.c:192,1
    - Dst: os_memset
      Src: /src/hostap/src/wps/http_client.c:196,1
    - Dst: os_strchr
      Src: /src/hostap/src/wps/http_client.c:199,1
    - Dst: os_strchr
      Src: /src/hostap/src/wps/http_client.c:200,1
    - Dst: inet_aton
      Src: /src/hostap/src/wps/http_client.c:211,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/http_client.c:213,1
    - Dst: os_free
      Src: /src/hostap/src/wps/http_client.c:216,1
    - Dst: htons
      Src: /src/hostap/src/wps/http_client.c:221,1
    - Dst: atoi
      Src: /src/hostap/src/wps/http_client.c:221,1
    - Dst: htons
      Src: /src/hostap/src/wps/http_client.c:223,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 3
    argNames:
    - url
    - dst
    - ret_path
    argTypes:
    - char*
    - struct sockaddr_in*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 233
    functionName: http_client_url_parse
    functionSourceFile: /src/hostap/src/wps/http_client.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - inet_aton
    - atoi
    - os_free
    - os_strchr
    - htons
    - os_strdup
    - os_memset
    linkageType: ''
    returnType: char
    signature: "char * http_client_url_parse(const char *url, struct sockaddr_in *dst,\n\t\t\t
      \    char **ret_path)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_strncmp
      Src: /src/hostap/src/wps/http_client.c:248,1
    - Dst: http_client_url_parse
      Src: /src/hostap/src/wps/http_client.c:250,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/wps/http_client.c:255,1
    - Dst: os_strlen
      Src: /src/hostap/src/wps/http_client.c:255,1
    - Dst: os_free
      Src: /src/hostap/src/wps/http_client.c:257,1
    - Dst: wpabuf_printf
      Src: /src/hostap/src/wps/http_client.c:261,1
    - Dst: inet_ntoa
      Src: /src/hostap/src/wps/http_client.c:269,1
    - Dst: ntohs
      Src: /src/hostap/src/wps/http_client.c:270,1
    - Dst: os_free
      Src: /src/hostap/src/wps/http_client.c:272,1
    - Dst: http_client_addr
      Src: /src/hostap/src/wps/http_client.c:274,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/http_client.c:276,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 4
    argNames:
    - url
    - req
    - max_response
    - cb_ctx
    argTypes:
    - char*
    - struct wpabuf*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 236
    functionDepth: 2
    functionLinenumber: 236
    functionLinenumberEnd: 281
    functionName: http_client_url
    functionSourceFile: /src/hostap/src/wps/http_client.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpabuf_printf
    - http_client_url_parse
    - wpabuf_free
    - os_strncmp
    - wpabuf_alloc
    - http_client_addr
    - os_free
    - inet_ntoa
    - ntohs
    linkageType: ''
    returnType: struct http_client
    signature: "struct http_client * http_client_url(const char *url,\n\t\t\t\t     struct
      wpabuf *req, size_t max_response,\n\t\t\t\t     void (*cb)(void *ctx,\n\t\t\t\t\t\tstruct
      http_client *c,\n\t\t\t\t\t\tenum http_client_event event),\n\t\t\t\t     void
      *cb_ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: httpread_destroy
      Src: /src/hostap/src/wps/http_client.c:288,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/http_client.c:289,1
    - Dst: eloop_unregister_sock
      Src: /src/hostap/src/wps/http_client.c:291,1
    - Dst: close
      Src: /src/hostap/src/wps/http_client.c:292,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/wps/http_client.c:294,1
    - Dst: os_free
      Src: /src/hostap/src/wps/http_client.c:295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct http_client*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 296
    functionName: http_client_free
    functionSourceFile: /src/hostap/src/wps/http_client.c
    functionUses: 1
    functionsReached:
    - eloop_unregister_sock
    - eloop_cancel_timeout
    - wpabuf_free
    - httpread_destroy
    - close
    - os_free
    linkageType: ''
    returnType: void
    signature: void http_client_free(struct http_client *c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_set
      Src: /src/hostap/src/wps/http_client.c:303,1
    - Dst: httpread_data_get
      Src: /src/hostap/src/wps/http_client.c:303,1
    - Dst: httpread_length_get
      Src: /src/hostap/src/wps/http_client.c:304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct http_client*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 306
    functionName: http_client_get_body
    functionSourceFile: /src/hostap/src/wps/http_client.c
    functionUses: 0
    functionsReached:
    - httpread_length_get
    - httpread_data_get
    - wpabuf_set
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * http_client_get_body(struct http_client *c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: httpread_hdr_line_get
      Src: /src/hostap/src/wps/http_client.c:313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - c
    - tag
    argTypes:
    - struct http_client*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 314
    functionName: http_client_get_hdr_line
    functionSourceFile: /src/hostap/src/wps/http_client.c
    functionUses: 0
    functionsReached:
    - httpread_hdr_line_get
    linkageType: ''
    returnType: char
    signature: char * http_client_get_hdr_line(struct http_client *c, const char *tag)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: os_strncmp
      Src: /src/hostap/src/wps/http_client.c:329,1
    - Dst: os_strncmp
      Src: /src/hostap/src/wps/http_client.c:332,1
    - Dst: os_strlen
      Src: /src/hostap/src/wps/http_client.c:335,1
    - Dst: os_strlen
      Src: /src/hostap/src/wps/http_client.c:335,1
    - Dst: os_malloc
      Src: /src/hostap/src/wps/http_client.c:336,1
    - Dst: os_strchr
      Src: /src/hostap/src/wps/http_client.c:341,1
    - Dst: os_snprintf
      Src: /src/hostap/src/wps/http_client.c:343,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/http_client.c:345,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/http_client.c:346,1
    - Dst: os_strlen
      Src: /src/hostap/src/wps/http_client.c:346,1
    - Dst: os_strrchr
      Src: /src/hostap/src/wps/http_client.c:349,1
    - Dst: os_snprintf
      Src: /src/hostap/src/wps/http_client.c:351,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/http_client.c:353,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/http_client.c:354,1
    - Dst: os_strlen
      Src: /src/hostap/src/wps/http_client.c:354,1
    - Dst: os_free
      Src: /src/hostap/src/wps/http_client.c:359,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 2
    argNames:
    - url
    - base
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 362
    functionName: http_link_update
    functionSourceFile: /src/hostap/src/wps/http_client.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_memcpy
    - os_malloc
    - os_strncmp
    - os_snprintf
    - os_strrchr
    - os_free
    - os_strchr
    linkageType: ''
    returnType: char
    signature: char * http_link_update(char *url, const char *base)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_process.c:24,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_process.c:30,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/wps/wps_attr_process.c:38,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/wps_attr_process.c:39,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/wps/wps_attr_process.c:40,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/wps_attr_process.c:41,1
    - Dst: hmac_sha256_vector
      Src: /src/hostap/src/wps/wps_attr_process.c:43,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/wps/wps_attr_process.c:45,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_process.c:46,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - wps
    - authenticator
    - msg
    argTypes:
    - struct wps_data*
    - u8*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 51
    functionName: wps_process_authenticator
    functionSourceFile: /src/hostap/src/wps/wps_attr_process.c
    functionUses: 7
    functionsReached:
    - wpa_printf
    - wpabuf_len
    - wpabuf_head
    - os_memcmp_const
    - hmac_sha256_vector
    linkageType: ''
    returnType: int
    signature: "int wps_process_authenticator(struct wps_data *wps, const u8 *authenticator,\n\t\t\t
      \     const struct wpabuf *msg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_process.c:62,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/wps/wps_attr_process.c:66,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/wps_attr_process.c:67,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_process.c:69,1
    - Dst: hmac_sha256
      Src: /src/hostap/src/wps/wps_attr_process.c:74,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/wps/wps_attr_process.c:75,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_process.c:76,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - wps
    - msg
    - key_wrap_auth
    argTypes:
    - struct wps_data*
    - struct wpabuf*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 81
    functionName: wps_process_key_wrap_auth
    functionSourceFile: /src/hostap/src/wps/wps_attr_process.c
    functionUses: 6
    functionsReached:
    - wpa_printf
    - hmac_sha256
    - wpabuf_len
    - wpabuf_head
    - os_memcmp_const
    linkageType: ''
    returnType: int
    signature: "int wps_process_key_wrap_auth(struct wps_data *wps, struct wpabuf
      *msg,\n\t\t\t      const u8 *key_wrap_auth)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_process.c:88,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_process.c:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - cred
    - idx
    argTypes:
    - struct wps_credential*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 96
    functionName: wps_process_cred_network_idx
    functionSourceFile: /src/hostap/src/wps/wps_attr_process.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int wps_process_cred_network_idx(struct wps_credential *cred,\n\t\t\t\t\tconst
      u8 *idx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_process.c:103,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/wps/wps_attr_process.c:112,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_attr_process.c:114,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - cred
    - ssid
    - ssid_len
    argTypes:
    - struct wps_credential*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 119
    functionName: wps_process_cred_ssid
    functionSourceFile: /src/hostap/src/wps/wps_attr_process.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_printf
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: int
    signature: "int wps_process_cred_ssid(struct wps_credential *cred, const u8 *ssid,\n\t\t\t\t
      size_t ssid_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_process.c:126,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/wps/wps_attr_process.c:131,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_process.c:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - cred
    - auth_type
    argTypes:
    - struct wps_credential*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 136
    functionName: wps_process_cred_auth_type
    functionSourceFile: /src/hostap/src/wps/wps_attr_process.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - WPA_GET_BE16
    linkageType: ''
    returnType: int
    signature: "int wps_process_cred_auth_type(struct wps_credential *cred,\n\t\t\t\t
      \     const u8 *auth_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_process.c:143,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/wps/wps_attr_process.c:148,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_process.c:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - cred
    - encr_type
    argTypes:
    - struct wps_credential*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 153
    functionName: wps_process_cred_encr_type
    functionSourceFile: /src/hostap/src/wps/wps_attr_process.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - WPA_GET_BE16
    linkageType: ''
    returnType: int
    signature: "int wps_process_cred_encr_type(struct wps_credential *cred,\n\t\t\t\t
      \     const u8 *encr_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_process.c:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - cred
    - key_idx
    argTypes:
    - struct wps_credential*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 166
    functionName: wps_process_cred_network_key_idx
    functionSourceFile: /src/hostap/src/wps/wps_attr_process.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int wps_process_cred_network_key_idx(struct wps_credential *cred,\n\t\t\t\t\t
      \   const u8 *key_idx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_process.c:173,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_process.c:177,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/wps/wps_attr_process.c:185,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_attr_process.c:187,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - cred
    - key
    - key_len
    argTypes:
    - struct wps_credential*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 192
    functionName: wps_process_cred_network_key
    functionSourceFile: /src/hostap/src/wps/wps_attr_process.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_printf
    - wpa_hexdump_key
    linkageType: ''
    returnType: int
    signature: "int wps_process_cred_network_key(struct wps_credential *cred,\n\t\t\t\t\tconst
      u8 *key, size_t key_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_process.c:199,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_process.c:204,1
    - Dst: MAC2STR
      Src: /src/hostap/src/wps/wps_attr_process.c:204,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_attr_process.c:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - cred
    - mac_addr
    argTypes:
    - struct wps_credential*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 208
    functionName: wps_process_cred_mac_addr
    functionSourceFile: /src/hostap/src/wps/wps_attr_process.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    - os_memcpy
    linkageType: ''
    returnType: int
    signature: "int wps_process_cred_mac_addr(struct wps_credential *cred,\n\t\t\t\t
      \    const u8 *mac_addr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_process.c:217,1
    - Dst: wpa_hexdump_ascii_key
      Src: /src/hostap/src/wps/wps_attr_process.c:219,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_process.c:228,1
    - Dst: has_ctrl_char
      Src: /src/hostap/src/wps/wps_attr_process.c:236,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_process.c:237,1
    - Dst: wpa_hexdump_ascii_key
      Src: /src/hostap/src/wps/wps_attr_process.c:238,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - cred
    argTypes:
    - struct wps_credential*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 244
    functionName: wps_workaround_cred_key
    functionSourceFile: /src/hostap/src/wps/wps_attr_process.c
    functionUses: 0
    functionsReached:
    - has_ctrl_char
    - wpa_printf
    - wpa_hexdump_ascii_key
    linkageType: ''
    returnType: int
    signature: int wps_workaround_cred_key(struct wps_credential *cred)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_process.c:250,1
    - Dst: wps_process_cred_network_idx
      Src: /src/hostap/src/wps/wps_attr_process.c:253,1
    - Dst: wps_process_cred_ssid
      Src: /src/hostap/src/wps/wps_attr_process.c:254,1
    - Dst: wps_process_cred_auth_type
      Src: /src/hostap/src/wps/wps_attr_process.c:255,1
    - Dst: wps_process_cred_encr_type
      Src: /src/hostap/src/wps/wps_attr_process.c:256,1
    - Dst: wps_process_cred_network_key_idx
      Src: /src/hostap/src/wps/wps_attr_process.c:257,1
    - Dst: wps_process_cred_network_key
      Src: /src/hostap/src/wps/wps_attr_process.c:258,1
    - Dst: wps_process_cred_mac_addr
      Src: /src/hostap/src/wps/wps_attr_process.c:260,1
    - Dst: wps_workaround_cred_key
      Src: /src/hostap/src/wps/wps_attr_process.c:263,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 2
    argNames:
    - attr
    - cred
    argTypes:
    - struct wps_parse_attr*
    - struct wps_credential*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 264
    functionName: wps_process_cred
    functionSourceFile: /src/hostap/src/wps/wps_attr_process.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - wps_process_cred_encr_type
    - wps_process_cred_ssid
    - wps_process_cred_network_key
    - wps_process_cred_mac_addr
    - wps_process_cred_network_idx
    - wps_workaround_cred_key
    - wps_process_cred_network_key_idx
    - wps_process_cred_auth_type
    linkageType: ''
    returnType: int
    signature: "int wps_process_cred(struct wps_parse_attr *attr,\n\t\t     struct
      wps_credential *cred)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_process.c:270,1
    - Dst: os_memset
      Src: /src/hostap/src/wps/wps_attr_process.c:271,1
    - Dst: wps_process_cred_ssid
      Src: /src/hostap/src/wps/wps_attr_process.c:273,1
    - Dst: wps_process_cred_auth_type
      Src: /src/hostap/src/wps/wps_attr_process.c:274,1
    - Dst: wps_process_cred_encr_type
      Src: /src/hostap/src/wps/wps_attr_process.c:275,1
    - Dst: wps_process_cred_network_key_idx
      Src: /src/hostap/src/wps/wps_attr_process.c:276,1
    - Dst: wps_process_cred_network_key
      Src: /src/hostap/src/wps/wps_attr_process.c:277,1
    - Dst: wps_process_cred_mac_addr
      Src: /src/hostap/src/wps/wps_attr_process.c:279,1
    - Dst: wps_workaround_cred_key
      Src: /src/hostap/src/wps/wps_attr_process.c:282,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - attr
    - cred
    argTypes:
    - struct wps_parse_attr*
    - struct wps_credential*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 267
    functionDepth: 2
    functionLinenumber: 267
    functionLinenumberEnd: 283
    functionName: wps_process_ap_settings
    functionSourceFile: /src/hostap/src/wps/wps_attr_process.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - wps_process_cred_encr_type
    - wps_process_cred_ssid
    - os_memset
    - wps_process_cred_network_key
    - wps_process_cred_mac_addr
    - wps_workaround_cred_key
    - wps_process_cred_network_key_idx
    - wps_process_cred_auth_type
    linkageType: ''
    returnType: int
    signature: "int wps_process_ap_settings(struct wps_parse_attr *attr,\n\t\t\t    struct
      wps_credential *cred)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isalpha
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:47,1
    - Dst: isupper
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:47,1
    - Dst: tolower
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:48,1
    - Dst: isalpha
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:49,1
    - Dst: isupper
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:49,1
    - Dst: tolower
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:50,1
    - Dst: isalnum
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:51,1
    - Dst: isalnum
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:52,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 14
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 57
    functionName: token_eq
    functionSourceFile: /src/hostap/src/wps/wps_upnp_ssdp.c
    functionUses: 0
    functionsReached:
    - isalnum
    - isupper
    - isalpha
    - tolower
    linkageType: ''
    returnType: int
    signature: int token_eq(const char *s1, const char *s2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isalnum
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:66,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 71
    functionName: token_length
    functionSourceFile: /src/hostap/src/wps/wps_upnp_ssdp.c
    functionUses: 0
    functionsReached:
    - isalnum
    linkageType: ''
    returnType: int
    signature: int token_length(const char *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 88
    functionName: word_separation_length
    functionSourceFile: /src/hostap/src/wps/wps_upnp_ssdp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int word_separation_length(const char *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - l
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 100
    functionName: line_length
    functionSourceFile: /src/hostap/src/wps/wps_upnp_ssdp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int line_length(const char *l)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_first
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:129,1
    - Dst: uuid_bin2str
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:133,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:134,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:141,1
    - Dst: wpabuf_printf
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:142,1
    - Dst: wpabuf_printf
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:144,1
    - Dst: wpabuf_printf
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:146,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:152,1
    - Dst: wpabuf_printf
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:153,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:156,1
    - Dst: format_date
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:157,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:158,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:160,1
    - Dst: wpabuf_printf
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:166,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:179,1
    - Dst: wpabuf_printf
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:183,1
    - Dst: wpabuf_printf
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:184,1
    - Dst: wpabuf_printf
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:188,1
    - Dst: wpabuf_printf
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:189,1
    - Dst: wpabuf_printf
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:192,1
    - Dst: wpabuf_printf
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:194,1
    - Dst: wpabuf_printf
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:198,1
    - Dst: wpabuf_printf
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:200,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:204,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 54
    argCount: 3
    argNames:
    - sm
    - a
    - islast
    argTypes:
    - struct upnp_wps_device_sm*
    - struct advertisement_state_machine*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 210
    functionName: next_advertisement
    functionSourceFile: /src/hostap/src/wps/wps_upnp_ssdp.c
    functionUses: 0
    functionsReached:
    - wpabuf_printf
    - wpabuf_put_str
    - dl_list_first
    - format_date
    - wpabuf_alloc
    - uuid_bin2str
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf *\nnext_advertisement(struct upnp_wps_device_sm *sm,\n\t\t
      \  struct advertisement_state_machine *a, int *islast)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:230,1
    - Dst: os_memset
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:237,1
    - Dst: inet_addr
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:239,1
    - Dst: htons
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:240,1
    - Dst: next_advertisement
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:243,1
    - Dst: sendto
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:246,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:246,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:246,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:248,1
    - Dst: strerror
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:249,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:251,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - sm
    - send_byebye
    argTypes:
    - struct upnp_wps_device_sm*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 222
    functionDepth: 3
    functionLinenumber: 222
    functionLinenumberEnd: 254
    functionName: advertisement_state_machine_stop
    functionSourceFile: /src/hostap/src/wps/wps_upnp_ssdp.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - sendto
    - next_advertisement
    - strerror
    - eloop_cancel_timeout
    - wpabuf_len
    - inet_addr
    - wpabuf_free
    - wpabuf_head
    - htons
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void advertisement_state_machine_stop(struct upnp_wps_device_sm *sm,\n\t\t\t\t
      \     int send_byebye)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:281,1
    - Dst: next_advertisement
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:282,1
    - Dst: os_memset
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:286,1
    - Dst: inet_addr
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:288,1
    - Dst: htons
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:289,1
    - Dst: sendto
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:291,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:291,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:291,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:293,1
    - Dst: strerror
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:294,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:300,1
    - Dst: os_get_random
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:310,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:315,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:323,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:325,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 2
    argNames:
    - eloop_data
    - user_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 257
    functionDepth: 3
    functionLinenumber: 257
    functionLinenumberEnd: 327
    functionName: advertisement_state_machine_handler
    functionSourceFile: /src/hostap/src/wps/wps_upnp_ssdp.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - sendto
    - next_advertisement
    - strerror
    - wpabuf_len
    - inet_addr
    - wpabuf_free
    - os_get_random
    - wpabuf_head
    - eloop_register_timeout
    - htons
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void advertisement_state_machine_handler(void *eloop_data,\n\t\t\t\t\t\tvoid
      *user_ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: advertisement_state_machine_stop
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:340,1
    - Dst: os_random
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:351,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct upnp_wps_device_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 335
    functionDepth: 4
    functionLinenumber: 335
    functionLinenumberEnd: 355
    functionName: advertisement_state_machine_start
    functionSourceFile: /src/hostap/src/wps/wps_upnp_ssdp.c
    functionUses: 1
    functionsReached:
    - os_random
    - eloop_register_timeout
    - advertisement_state_machine_stop
    linkageType: ''
    returnType: int
    signature: int advertisement_state_machine_start(struct upnp_wps_device_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:372,1
    - Dst: dl_list_del
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:373,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - struct advertisement_state_machine*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 375
    functionName: msearchreply_state_machine_stop
    functionSourceFile: /src/hostap/src/wps/wps_upnp_ssdp.c
    functionUses: 1
    functionsReached:
    - os_free
    - wpa_printf
    - dl_list_del
    linkageType: ''
    returnType: void
    signature: void msearchreply_state_machine_stop(struct advertisement_state_machine
      *a)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:397,1
    - Dst: inet_ntoa
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:398,1
    - Dst: ntohs
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:399,1
    - Dst: next_advertisement
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:400,1
    - Dst: sendto
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:408,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:408,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:408,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:410,1
    - Dst: strerror
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:412,1
    - Dst: inet_ntoa
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:413,1
    - Dst: ntohs
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:414,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:417,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:419,1
    - Dst: msearchreply_state_machine_stop
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:420,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:425,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:427,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - eloop_data
    - user_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 378
    functionDepth: 3
    functionLinenumber: 378
    functionLinenumberEnd: 429
    functionName: msearchreply_state_machine_handler
    functionSourceFile: /src/hostap/src/wps/wps_upnp_ssdp.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - sendto
    - next_advertisement
    - strerror
    - wpabuf_len
    - wpabuf_free
    - wpabuf_head
    - eloop_register_timeout
    - inet_ntoa
    - ntohs
    - msearchreply_state_machine_stop
    linkageType: ''
    returnType: void
    signature: "void msearchreply_state_machine_handler(void *eloop_data,\n\t\t\t\t\t
      \      void *user_ctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_len
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:456,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:457,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:460,1
    - Dst: os_zalloc
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:465,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:470,1
    - Dst: os_random
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:472,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:475,1
    - Dst: dl_list_add
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:482,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:486,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:487,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:488,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 3
    argNames:
    - sm
    - client
    - mx
    argTypes:
    - struct upnp_wps_device_sm*
    - struct sockaddr_in*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 489
    functionName: msearchreply_state_machine_start
    functionSourceFile: /src/hostap/src/wps/wps_upnp_ssdp.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - eloop_cancel_timeout
    - os_random
    - os_zalloc
    - dl_list_add
    - eloop_register_timeout
    - os_free
    - dl_list_len
    linkageType: ''
    returnType: void
    signature: "void msearchreply_state_machine_start(struct upnp_wps_device_sm *sm,\n\t\t\t\t\t
      \    struct sockaddr_in *client,\n\t\t\t\t\t     int mx)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: line_length
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:529,1
    - Dst: line_length
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:532,1
    - Dst: token_eq
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:533,1
    - Dst: token_length
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:540,1
    - Dst: word_separation_length
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:541,1
    - Dst: word_separation_length
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:545,1
    - Dst: str_starts
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:547,1
    - Dst: os_strlen
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:549,1
    - Dst: str_starts
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:551,1
    - Dst: token_eq
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:557,1
    - Dst: token_length
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:562,1
    - Dst: word_separation_length
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:563,1
    - Dst: word_separation_length
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:567,1
    - Dst: str_starts
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:568,1
    - Dst: str_starts
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:572,1
    - Dst: str_starts
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:576,1
    - Dst: dl_list_first
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:579,1
    - Dst: os_strlen
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:585,1
    - Dst: uuid_bin2str
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:586,1
    - Dst: str_starts
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:588,1
    - Dst: str_starts
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:594,1
    - Dst: str_starts
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:600,1
    - Dst: str_starts
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:605,1
    - Dst: token_eq
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:611,1
    - Dst: token_length
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:612,1
    - Dst: word_separation_length
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:613,1
    - Dst: word_separation_length
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:617,1
    - Dst: str_starts
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:618,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:619,1
    - Dst: token_eq
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:625,1
    - Dst: token_length
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:626,1
    - Dst: word_separation_length
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:627,1
    - Dst: word_separation_length
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:631,1
    - Dst: atol
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:632,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:639,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:644,1
    - Dst: msearchreply_state_machine_start
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:650,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:654,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:655,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 107
    argCount: 3
    argNames:
    - sm
    - client
    - data
    argTypes:
    - struct upnp_wps_device_sm*
    - struct sockaddr_in*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 513
    functionDepth: 2
    functionLinenumber: 513
    functionLinenumberEnd: 656
    functionName: ssdp_parse_msearch
    functionSourceFile: /src/hostap/src/wps/wps_upnp_ssdp.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - token_eq
    - atol
    - dl_list_first
    - line_length
    - msearchreply_state_machine_start
    - token_length
    - word_separation_length
    - uuid_bin2str
    - str_starts
    linkageType: ''
    returnType: void
    signature: "void ssdp_parse_msearch(struct upnp_wps_device_sm *sm,\n\t\t\t       struct
      sockaddr_in *client, const char *data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eloop_unregister_sock
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:671,1
    - Dst: close
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:676,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:680,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct upnp_wps_device_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 668
    functionDepth: 1
    functionLinenumber: 668
    functionLinenumberEnd: 682
    functionName: ssdp_listener_stop
    functionSourceFile: /src/hostap/src/wps/wps_upnp_ssdp.c
    functionUses: 1
    functionsReached:
    - close
    - eloop_cancel_timeout
    - eloop_unregister_sock
    linkageType: ''
    returnType: void
    signature: void ssdp_listener_stop(struct upnp_wps_device_sm *sm)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: recvfrom
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:694,1
    - Dst: str_starts
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:700,1
    - Dst: os_strchr
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:708,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:711,1
    - Dst: inet_ntoa
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:712,1
    - Dst: ntohs
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:712,1
    - Dst: os_strncasecmp
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:717,1
    - Dst: os_strlen
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:717,1
    - Dst: isgraph
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:718,1
    - Dst: strlen
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:718,1
    - Dst: ssdp_parse_msearch
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:719,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - sd
    - eloop_ctx
    - sock_ctx
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 685
    functionDepth: 3
    functionLinenumber: 685
    functionLinenumberEnd: 724
    functionName: ssdp_listener_handler
    functionSourceFile: /src/hostap/src/wps/wps_upnp_ssdp.c
    functionUses: 0
    functionsReached:
    - os_strncasecmp
    - os_strlen
    - wpa_printf
    - isgraph
    - ssdp_parse_msearch
    - recvfrom
    - inet_ntoa
    - os_strchr
    - ntohs
    - strlen
    - str_starts
    linkageType: ''
    returnType: void
    signature: void ssdp_listener_handler(int sd, void *eloop_ctx, void *sock_ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:736,1
    - Dst: fcntl
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:738,1
    - Dst: setsockopt
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:739,1
    - Dst: os_memset
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:741,1
    - Dst: htonl
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:743,1
    - Dst: htons
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:744,1
    - Dst: bind
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:745,1
    - Dst: os_memset
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:747,1
    - Dst: htonl
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:748,1
    - Dst: inet_addr
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:749,1
    - Dst: setsockopt
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:750,1
    - Dst: setsockopt
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:752,1
    - Dst: close
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:760,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 762
    functionName: ssdp_listener_open
    functionSourceFile: /src/hostap/src/wps/wps_upnp_ssdp.c
    functionUses: 0
    functionsReached:
    - fcntl
    - setsockopt
    - socket
    - htonl
    - inet_addr
    - close
    - bind
    - htons
    - os_memset
    linkageType: ''
    returnType: int
    signature: int ssdp_listener_open(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ssdp_listener_open
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:774,1
    - Dst: eloop_register_sock
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:776,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:784,1
    - Dst: ssdp_listener_stop
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:785,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct upnp_wps_device_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 772
    functionDepth: 2
    functionLinenumber: 772
    functionLinenumberEnd: 787
    functionName: ssdp_listener_start
    functionSourceFile: /src/hostap/src/wps/wps_upnp_ssdp.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - ssdp_listener_stop
    - ssdp_listener_open
    - eloop_register_sock
    linkageType: ''
    returnType: int
    signature: int ssdp_listener_start(struct upnp_wps_device_sm *sm)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:812,1
    - Dst: socket
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:813,1
    - Dst: aliasing_hide_typecast
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:818,1
    - Dst: inet_addr
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:821,1
    - Dst: aliasing_hide_typecast
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:822,1
    - Dst: inet_addr
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:825,1
    - Dst: ioctl
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:827,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:829,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:833,1
    - Dst: strerror
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:834,1
    - Dst: close
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:843,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 1
    argNames:
    - net_if
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 801
    functionDepth: 1
    functionLinenumber: 801
    functionLinenumberEnd: 849
    functionName: add_ssdp_network
    functionSourceFile: /src/hostap/src/wps/wps_upnp_ssdp.c
    functionUses: 1
    functionsReached:
    - ioctl
    - wpa_printf
    - strerror
    - socket
    - inet_addr
    - close
    - aliasing_hide_typecast
    - os_memset
    linkageType: ''
    returnType: int
    signature: int add_ssdp_network(const char *net_if)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:859,1
    - Dst: os_memset
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:866,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:867,1
    - Dst: setsockopt
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:868,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:870,1
    - Dst: strerror
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:872,1
    - Dst: close
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:873,1
    - Dst: fcntl
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:880,1
    - Dst: close
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:881,1
    - Dst: setsockopt
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:886,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:888,1
    - Dst: strerror
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:889,1
    - Dst: close
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:890,1
    - Dst: setsockopt
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:893,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:895,1
    - Dst: strerror
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:896,1
    - Dst: close
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:897,1
    - Dst: inet_addr
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:904,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:906,1
    - Dst: setsockopt
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:910,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:912,1
    - Dst: strerror
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:915,1
    - Dst: close
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:916,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 2
    argNames:
    - ip_addr
    - forced_ifname
    argTypes:
    - u32
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 928
    functionName: ssdp_open_multicast_sock
    functionSourceFile: /src/hostap/src/wps/wps_upnp_ssdp.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - fcntl
    - strerror
    - setsockopt
    - socket
    - os_strlcpy
    - inet_addr
    - close
    - os_memset
    linkageType: ''
    returnType: int
    signature: int ssdp_open_multicast_sock(u32 ip_addr, const char *forced_ifname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ssdp_open_multicast_sock
      Src: /src/hostap/src/wps/wps_upnp_ssdp.c:938,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct upnp_wps_device_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 936
    functionDepth: 1
    functionLinenumber: 936
    functionLinenumberEnd: 942
    functionName: ssdp_open_multicast
    functionSourceFile: /src/hostap/src/wps/wps_upnp_ssdp.c
    functionUses: 1
    functionsReached:
    - ssdp_open_multicast_sock
    linkageType: ''
    returnType: int
    signature: int ssdp_open_multicast(struct upnp_wps_device_sm *sm)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isalnum
      Src: /src/hostap/src/wps/upnp_xml.c:89,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 4
    argNames:
    - in
    - out
    - out_tagname
    - end
    argTypes:
    - char*
    - char**
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 99
    functionName: xml_next_tag
    functionSourceFile: /src/hostap/src/wps/upnp_xml.c
    functionUses: 0
    functionsReached:
    - isalnum
    linkageType: ''
    returnType: int
    signature: "int xml_next_tag(const char *in, const char **out,\n\t\t const char
      **out_tagname, const char **end)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/upnp_xml.c:127,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/upnp_xml.c:131,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/upnp_xml.c:135,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/upnp_xml.c:139,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/upnp_xml.c:143,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/wps/upnp_xml.c:151,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 3
    argNames:
    - buf
    - data
    - len
    argTypes:
    - struct wpabuf*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 153
    functionName: xml_data_encode
    functionSourceFile: /src/hostap/src/wps/upnp_xml.c
    functionUses: 0
    functionsReached:
    - wpabuf_put_str
    - wpabuf_put_u8
    linkageType: ''
    returnType: void
    signature: void xml_data_encode(struct wpabuf *buf, const char *data, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_printf
      Src: /src/hostap/src/wps/upnp_xml.c:163,1
    - Dst: xml_data_encode
      Src: /src/hostap/src/wps/upnp_xml.c:164,1
    - Dst: os_strlen
      Src: /src/hostap/src/wps/upnp_xml.c:164,1
    - Dst: wpabuf_printf
      Src: /src/hostap/src/wps/upnp_xml.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - buf
    - tag
    - data
    argTypes:
    - struct wpabuf*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 166
    functionName: xml_add_tagged_data
    functionSourceFile: /src/hostap/src/wps/upnp_xml.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpabuf_printf
    - xml_data_encode
    linkageType: ''
    returnType: void
    signature: void xml_add_tagged_data(struct wpabuf *buf, const char *tag, const
      char *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/wps/upnp_xml.c:193,1
    - Dst: xml_next_tag
      Src: /src/hostap/src/wps/upnp_xml.c:203,1
    - Dst: os_strncasecmp
      Src: /src/hostap/src/wps/upnp_xml.c:206,1
    - Dst: isgraph
      Src: /src/hostap/src/wps/upnp_xml.c:209,1
    - Dst: os_zalloc
      Src: /src/hostap/src/wps/upnp_xml.c:216,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/upnp_xml.c:219,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 2
    argNames:
    - doc
    - item
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 221
    functionName: xml_get_first_item
    functionSourceFile: /src/hostap/src/wps/upnp_xml.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_strncasecmp
    - isgraph
    - os_memcpy
    - xml_next_tag
    - os_zalloc
    linkageType: ''
    returnType: char
    signature: char * xml_get_first_item(const char *doc, const char *item)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xml_get_first_item
      Src: /src/hostap/src/wps/upnp_xml.c:232,1
    - Dst: base64_decode
      Src: /src/hostap/src/wps/upnp_xml.c:238,1
    - Dst: os_strlen
      Src: /src/hostap/src/wps/upnp_xml.c:238,1
    - Dst: os_free
      Src: /src/hostap/src/wps/upnp_xml.c:239,1
    - Dst: wpabuf_alloc_ext_data
      Src: /src/hostap/src/wps/upnp_xml.c:245,1
    - Dst: os_free
      Src: /src/hostap/src/wps/upnp_xml.c:247,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - data
    - name
    - ret
    argTypes:
    - char*
    - char*
    - enum http_reply_code*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 252
    functionName: xml_get_base64_item
    functionSourceFile: /src/hostap/src/wps/upnp_xml.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpabuf_alloc_ext_data
    - base64_decode
    - os_free
    - xml_get_first_item
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * xml_get_base64_item(const char *data, const char *name,\n\t\t\t\t
      \   enum http_reply_code *ret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wps_ie
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 987
    functionDepth: 0
    functionLinenumber: 987
    functionLinenumberEnd: 989
    functionName: wps_validate_beacon
    functionSourceFile: /src/hostap/src/wps/wps.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wps_validate_beacon(const struct wpabuf *wps_ie)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - wps_ie
    - probe
    - addr
    argTypes:
    - struct wpabuf*
    - int
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 991
    functionDepth: 0
    functionLinenumber: 991
    functionLinenumberEnd: 995
    functionName: wps_validate_beacon_probe_resp
    functionSourceFile: /src/hostap/src/wps/wps.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int wps_validate_beacon_probe_resp(const struct wpabuf *wps_ie,\n\t\t\t\t\t\t
      int probe, const u8 *addr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wps_ie
    - addr
    argTypes:
    - struct wpabuf*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 997
    functionDepth: 0
    functionLinenumber: 997
    functionLinenumberEnd: 1001
    functionName: wps_validate_probe_req
    functionSourceFile: /src/hostap/src/wps/wps.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int wps_validate_probe_req(const struct wpabuf *wps_ie,\n\t\t\t\t\t
      const u8 *addr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wps_ie
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 1003
    functionDepth: 0
    functionLinenumber: 1003
    functionLinenumberEnd: 1006
    functionName: wps_validate_assoc_req
    functionSourceFile: /src/hostap/src/wps/wps.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wps_validate_assoc_req(const struct wpabuf *wps_ie)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wps_ie
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1011
      start: 1008
    functionDepth: 0
    functionLinenumber: 1008
    functionLinenumberEnd: 1011
    functionName: wps_validate_assoc_resp
    functionSourceFile: /src/hostap/src/wps/wps.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wps_validate_assoc_resp(const struct wpabuf *wps_ie)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tlvs
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1016
      start: 1013
    functionDepth: 0
    functionLinenumber: 1013
    functionLinenumberEnd: 1016
    functionName: wps_validate_m1
    functionSourceFile: /src/hostap/src/wps/wps.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wps_validate_m1(const struct wpabuf *tlvs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tlvs
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 1018
    functionDepth: 0
    functionLinenumber: 1018
    functionLinenumberEnd: 1021
    functionName: wps_validate_m2
    functionSourceFile: /src/hostap/src/wps/wps.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wps_validate_m2(const struct wpabuf *tlvs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tlvs
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 1023
    functionDepth: 0
    functionLinenumber: 1023
    functionLinenumberEnd: 1026
    functionName: wps_validate_m2d
    functionSourceFile: /src/hostap/src/wps/wps.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wps_validate_m2d(const struct wpabuf *tlvs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tlvs
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 1028
    functionDepth: 0
    functionLinenumber: 1028
    functionLinenumberEnd: 1031
    functionName: wps_validate_m3
    functionSourceFile: /src/hostap/src/wps/wps.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wps_validate_m3(const struct wpabuf *tlvs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tlvs
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 1033
    functionDepth: 0
    functionLinenumber: 1033
    functionLinenumberEnd: 1036
    functionName: wps_validate_m4
    functionSourceFile: /src/hostap/src/wps/wps.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wps_validate_m4(const struct wpabuf *tlvs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tlvs
    - wps2
    argTypes:
    - struct wpabuf*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 1038
    functionDepth: 0
    functionLinenumber: 1038
    functionLinenumberEnd: 1041
    functionName: wps_validate_m4_encr
    functionSourceFile: /src/hostap/src/wps/wps.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wps_validate_m4_encr(const struct wpabuf *tlvs, int wps2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tlvs
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1043
    functionDepth: 0
    functionLinenumber: 1043
    functionLinenumberEnd: 1046
    functionName: wps_validate_m5
    functionSourceFile: /src/hostap/src/wps/wps.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wps_validate_m5(const struct wpabuf *tlvs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tlvs
    - wps2
    argTypes:
    - struct wpabuf*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1048
    functionDepth: 0
    functionLinenumber: 1048
    functionLinenumberEnd: 1051
    functionName: wps_validate_m5_encr
    functionSourceFile: /src/hostap/src/wps/wps.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wps_validate_m5_encr(const struct wpabuf *tlvs, int wps2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tlvs
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1056
      start: 1053
    functionDepth: 0
    functionLinenumber: 1053
    functionLinenumberEnd: 1056
    functionName: wps_validate_m6
    functionSourceFile: /src/hostap/src/wps/wps.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wps_validate_m6(const struct wpabuf *tlvs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tlvs
    - wps2
    argTypes:
    - struct wpabuf*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 1058
    functionDepth: 0
    functionLinenumber: 1058
    functionLinenumberEnd: 1061
    functionName: wps_validate_m6_encr
    functionSourceFile: /src/hostap/src/wps/wps.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wps_validate_m6_encr(const struct wpabuf *tlvs, int wps2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tlvs
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1063
    functionDepth: 0
    functionLinenumber: 1063
    functionLinenumberEnd: 1066
    functionName: wps_validate_m7
    functionSourceFile: /src/hostap/src/wps/wps.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wps_validate_m7(const struct wpabuf *tlvs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tlvs
    - ap
    - wps2
    argTypes:
    - struct wpabuf*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1068
    functionDepth: 0
    functionLinenumber: 1068
    functionLinenumberEnd: 1072
    functionName: wps_validate_m7_encr
    functionSourceFile: /src/hostap/src/wps/wps.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int wps_validate_m7_encr(const struct wpabuf *tlvs, int ap,\n\t\t\t\t
      \      int wps2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tlvs
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1077
      start: 1074
    functionDepth: 0
    functionLinenumber: 1074
    functionLinenumberEnd: 1077
    functionName: wps_validate_m8
    functionSourceFile: /src/hostap/src/wps/wps.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wps_validate_m8(const struct wpabuf *tlvs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tlvs
    - ap
    - wps2
    argTypes:
    - struct wpabuf*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1079
    functionDepth: 0
    functionLinenumber: 1079
    functionLinenumberEnd: 1083
    functionName: wps_validate_m8_encr
    functionSourceFile: /src/hostap/src/wps/wps.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int wps_validate_m8_encr(const struct wpabuf *tlvs, int ap,\n\t\t\t\t
      \      int wps2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tlvs
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 1085
    functionDepth: 0
    functionLinenumber: 1085
    functionLinenumberEnd: 1088
    functionName: wps_validate_wsc_ack
    functionSourceFile: /src/hostap/src/wps/wps.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wps_validate_wsc_ack(const struct wpabuf *tlvs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tlvs
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1093
      start: 1090
    functionDepth: 0
    functionLinenumber: 1090
    functionLinenumberEnd: 1093
    functionName: wps_validate_wsc_nack
    functionSourceFile: /src/hostap/src/wps/wps.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wps_validate_wsc_nack(const struct wpabuf *tlvs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tlvs
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1098
      start: 1095
    functionDepth: 0
    functionLinenumber: 1095
    functionLinenumberEnd: 1098
    functionName: wps_validate_wsc_done
    functionSourceFile: /src/hostap/src/wps/wps.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wps_validate_wsc_done(const struct wpabuf *tlvs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tlvs
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1104
      start: 1100
    functionDepth: 0
    functionLinenumber: 1100
    functionLinenumberEnd: 1104
    functionName: wps_validate_upnp_set_selected_registrar
    functionSourceFile: /src/hostap/src/wps/wps.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int wps_validate_upnp_set_selected_registrar(\n\tconst struct wpabuf
      *tlvs)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_parse.c:23,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_parse.c:28,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_parse.c:40,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_parse.c:48,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_parse.c:56,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_parse.c:64,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_parse.c:72,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_parse.c:78,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_parse.c:82,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 55
    argCount: 4
    argNames:
    - attr
    - id
    - len
    - pos
    argTypes:
    - struct wps_parse_attr*
    - u8
    - u8
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 88
    functionName: wps_set_vendor_ext_wfa_subelem
    functionSourceFile: /src/hostap/src/wps/wps_attr_parse.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int wps_set_vendor_ext_wfa_subelem(struct wps_parse_attr *attr,\n\t\t\t\t\t
      \ u8 id, u8 len, const u8 *pos)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wps_set_vendor_ext_wfa_subelem
      Src: /src/hostap/src/wps/wps_attr_parse.c:102,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - attr
    - pos
    - len
    argTypes:
    - struct wps_parse_attr*
    - u8*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 108
    functionName: wps_parse_vendor_ext_wfa
    functionSourceFile: /src/hostap/src/wps/wps_attr_parse.c
    functionUses: 0
    functionsReached:
    - wps_set_vendor_ext_wfa_subelem
    linkageType: ''
    returnType: int
    signature: "int wps_parse_vendor_ext_wfa(struct wps_parse_attr *attr, const u8
      *pos,\n\t\t\t\t    u16 len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_parse.c:117,1
    - Dst: WPA_GET_BE24
      Src: /src/hostap/src/wps/wps_attr_parse.c:121,1
    - Dst: wps_parse_vendor_ext_wfa
      Src: /src/hostap/src/wps/wps_attr_parse.c:124,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_parse.c:129,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_parse.c:133,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_parse.c:139,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 3
    argNames:
    - attr
    - pos
    - len
    argTypes:
    - struct wps_parse_attr*
    - u8*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 149
    functionName: wps_parse_vendor_ext
    functionSourceFile: /src/hostap/src/wps/wps_attr_parse.c
    functionUses: 0
    functionsReached:
    - WPA_GET_BE24
    - wpa_printf
    - wps_parse_vendor_ext_wfa
    linkageType: ''
    returnType: int
    signature: "int wps_parse_vendor_ext(struct wps_parse_attr *attr, const u8 *pos,\n\t\t\t\tu16
      len)"
  - BBCount: 105
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_parse.c:158,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_parse.c:166,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_parse.c:174,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_parse.c:182,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_parse.c:190,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_parse.c:198,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_parse.c:206,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_parse.c:214,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_parse.c:222,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_parse.c:230,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_parse.c:238,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_parse.c:246,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_parse.c:254,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_parse.c:262,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_parse.c:270,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_parse.c:278,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/wps/wps_attr_parse.c:290,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_parse.c:292,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_parse.c:301,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_parse.c:309,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_parse.c:317,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_parse.c:325,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_parse.c:333,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_parse.c:341,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_parse.c:349,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_parse.c:357,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_parse.c:365,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_parse.c:373,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_parse.c:381,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_parse.c:389,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_parse.c:397,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_parse.c:405,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_parse.c:413,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_parse.c:421,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_parse.c:429,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_parse.c:437,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_parse.c:445,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_parse.c:453,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_parse.c:489,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_parse.c:505,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_parse.c:519,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_parse.c:530,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_parse.c:543,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_parse.c:551,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_parse.c:556,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_parse.c:567,1
    - Dst: wps_parse_vendor_ext
      Src: /src/hostap/src/wps/wps_attr_parse.c:575,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_parse.c:580,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_parse.c:587,1
    CyclomaticComplexity: 115
    EdgeCount: 115
    ICount: 370
    argCount: 4
    argNames:
    - attr
    - type
    - pos
    - len
    argTypes:
    - struct wps_parse_attr*
    - u16
    - u8*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 152
    functionDepth: 3
    functionLinenumber: 152
    functionLinenumberEnd: 593
    functionName: wps_set_attr
    functionSourceFile: /src/hostap/src/wps/wps_attr_parse.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - WPA_GET_BE16
    - wps_parse_vendor_ext
    linkageType: ''
    returnType: int
    signature: "int wps_set_attr(struct wps_parse_attr *attr, u16 type,\n\t\t\tconst
      u8 *pos, u16 len)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/wps/wps_attr_parse.c:606,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/wps/wps_attr_parse.c:607,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/wps_attr_parse.c:611,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_parse.c:615,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/wps/wps_attr_parse.c:621,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/wps/wps_attr_parse.c:623,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_parse.c:625,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_parse.c:628,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/wps/wps_attr_parse.c:629,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_parse.c:640,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_parse.c:668,1
    - Dst: wps_set_attr
      Src: /src/hostap/src/wps/wps_attr_parse.c:675,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 2
    argNames:
    - msg
    - attr
    argTypes:
    - struct wpabuf*
    - struct wps_parse_attr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 596
    functionDepth: 4
    functionLinenumber: 596
    functionLinenumberEnd: 685
    functionName: wps_parse_msg
    functionSourceFile: /src/hostap/src/wps/wps_attr_parse.c
    functionUses: 60
    functionsReached:
    - wpa_printf
    - WPA_GET_BE16
    - wps_set_attr
    - wpabuf_len
    - wpa_hexdump_buf
    - wpabuf_head
    - os_memset
    linkageType: ''
    returnType: int
    signature: int wps_parse_msg(const struct wpabuf *msg, struct wps_parse_attr *attr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_ap.c:23,1
    - Dst: wps_registrar_selected_registrar_changed
      Src: /src/hostap/src/wps/wps_upnp_ap.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 19
    functionDepth: 5
    functionLinenumber: 19
    functionLinenumberEnd: 26
    functionName: upnp_er_set_selected_timeout
    functionSourceFile: /src/hostap/src/wps/wps_upnp_ap.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wps_registrar_selected_registrar_changed
    linkageType: ''
    returnType: void
    signature: void upnp_er_set_selected_timeout(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/wps/wps_upnp_ap.c:35,1
    - Dst: wps_validate_upnp_set_selected_registrar
      Src: /src/hostap/src/wps/wps_upnp_ap.c:37,1
    - Dst: wps_parse_msg
      Src: /src/hostap/src/wps/wps_upnp_ap.c:38,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/wps/wps_upnp_ap.c:42,1
    - Dst: os_memset
      Src: /src/hostap/src/wps/wps_upnp_ap.c:44,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_ap.c:46,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/wps/wps_upnp_ap.c:52,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/wps/wps_upnp_ap.c:54,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_upnp_ap.c:59,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_ap.c:62,1
    - Dst: os_memset
      Src: /src/hostap/src/wps/wps_upnp_ap.c:64,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/wps/wps_upnp_ap.c:66,1
    - Dst: wps_registrar_selected_registrar_changed
      Src: /src/hostap/src/wps/wps_upnp_ap.c:70,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 3
    argNames:
    - reg
    - s
    - msg
    argTypes:
    - struct wps_registrar*
    - struct subscription*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 29
    functionDepth: 5
    functionLinenumber: 29
    functionLinenumberEnd: 73
    functionName: upnp_er_set_selected_registrar
    functionSourceFile: /src/hostap/src/wps/wps_upnp_ap.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - WPA_GET_BE16
    - os_memcpy
    - wps_registrar_selected_registrar_changed
    - eloop_cancel_timeout
    - wpa_hexdump_buf
    - wps_parse_msg
    - eloop_register_timeout
    - wps_validate_upnp_set_selected_registrar
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int upnp_er_set_selected_registrar(struct wps_registrar *reg,\n\t\t\t\t
      \  struct subscription *s,\n\t\t\t\t   const struct wpabuf *msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/wps/wps_upnp_ap.c:82,1
    - Dst: wps_registrar_selected_registrar_changed
      Src: /src/hostap/src/wps/wps_upnp_ap.c:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - reg
    - s
    argTypes:
    - struct wps_registrar*
    - struct subscription*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 76
    functionDepth: 5
    functionLinenumber: 76
    functionLinenumberEnd: 85
    functionName: upnp_er_remove_notification
    functionSourceFile: /src/hostap/src/wps/wps_upnp_ap.c
    functionUses: 1
    functionsReached:
    - eloop_cancel_timeout
    - wps_registrar_selected_registrar_changed
    linkageType: ''
    returnType: void
    signature: "void upnp_er_remove_notification(struct wps_registrar *reg,\n\t\t\t\t
      struct subscription *s)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_upnp_web.c:189,1
    - Dst: xml_add_tagged_data
      Src: /src/hostap/src/wps/wps_upnp_web.c:197,1
    - Dst: xml_add_tagged_data
      Src: /src/hostap/src/wps/wps_upnp_web.c:201,1
    - Dst: xml_add_tagged_data
      Src: /src/hostap/src/wps/wps_upnp_web.c:204,1
    - Dst: xml_add_tagged_data
      Src: /src/hostap/src/wps/wps_upnp_web.c:208,1
    - Dst: xml_add_tagged_data
      Src: /src/hostap/src/wps/wps_upnp_web.c:213,1
    - Dst: xml_add_tagged_data
      Src: /src/hostap/src/wps/wps_upnp_web.c:216,1
    - Dst: xml_add_tagged_data
      Src: /src/hostap/src/wps/wps_upnp_web.c:220,1
    - Dst: xml_add_tagged_data
      Src: /src/hostap/src/wps/wps_upnp_web.c:223,1
    - Dst: uuid_bin2str
      Src: /src/hostap/src/wps/wps_upnp_web.c:226,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_upnp_web.c:231,1
    - Dst: xml_data_encode
      Src: /src/hostap/src/wps/wps_upnp_web.c:232,1
    - Dst: os_strlen
      Src: /src/hostap/src/wps/wps_upnp_web.c:232,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_upnp_web.c:233,1
    - Dst: xml_add_tagged_data
      Src: /src/hostap/src/wps/wps_upnp_web.c:236,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_upnp_web.c:238,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 3
    argNames:
    - iface
    - sm
    - buf
    argTypes:
    - struct upnp_wps_device_interface*
    - struct upnp_wps_device_sm*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 182
    functionDepth: 3
    functionLinenumber: 182
    functionLinenumberEnd: 239
    functionName: format_wps_device_xml
    functionSourceFile: /src/hostap/src/wps/wps_upnp_web.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpabuf_put_str
    - uuid_bin2str
    - xml_add_tagged_data
    - xml_data_encode
    linkageType: ''
    returnType: void
    signature: "void format_wps_device_xml(struct upnp_wps_device_interface *iface,\n\t\t\t\t
      \ struct upnp_wps_device_sm *sm,\n\t\t\t\t  struct wpabuf *buf)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_upnp_web.c:244,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_upnp_web.c:247,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_upnp_web.c:250,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_upnp_web.c:253,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_upnp_web.c:256,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_upnp_web.c:260,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - buf
    - code
    argTypes:
    - struct wpabuf*
    - enum http_reply_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 263
    functionName: http_put_reply_code
    functionSourceFile: /src/hostap/src/wps/wps_upnp_web.c
    functionUses: 0
    functionsReached:
    - wpabuf_put_str
    linkageType: ''
    returnType: void
    signature: void http_put_reply_code(struct wpabuf *buf, enum http_reply_code code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_upnp_web.c:268,1
    - Dst: format_date
      Src: /src/hostap/src/wps/wps_upnp_web.c:269,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_upnp_web.c:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - buf
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 266
    functionDepth: 2
    functionLinenumber: 266
    functionLinenumberEnd: 271
    functionName: http_put_date
    functionSourceFile: /src/hostap/src/wps/wps_upnp_web.c
    functionUses: 0
    functionsReached:
    - wpabuf_put_str
    - format_date
    linkageType: ''
    returnType: void
    signature: void http_put_date(struct wpabuf *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_put_reply_code
      Src: /src/hostap/src/wps/wps_upnp_web.c:276,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_upnp_web.c:277,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_upnp_web.c:278,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_upnp_web.c:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - code
    argTypes:
    - struct wpabuf*
    - enum http_reply_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 281
    functionName: http_put_empty
    functionSourceFile: /src/hostap/src/wps/wps_upnp_web.c
    functionUses: 0
    functionsReached:
    - wpabuf_put_str
    - http_put_reply_code
    linkageType: ''
    returnType: void
    signature: void http_put_empty(struct wpabuf *buf, enum http_reply_code code)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_first
      Src: /src/hostap/src/wps/wps_upnp_web.c:318,1
    - Dst: http_request_deinit
      Src: /src/hostap/src/wps/wps_upnp_web.c:321,1
    - Dst: os_strcasecmp
      Src: /src/hostap/src/wps/wps_upnp_web.c:329,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_web.c:330,1
    - Dst: os_strlen
      Src: /src/hostap/src/wps/wps_upnp_web.c:334,1
    - Dst: os_strlen
      Src: /src/hostap/src/wps/wps_upnp_web.c:336,1
    - Dst: os_strlen
      Src: /src/hostap/src/wps/wps_upnp_web.c:338,1
    - Dst: os_strlen
      Src: /src/hostap/src/wps/wps_upnp_web.c:340,1
    - Dst: os_strlen
      Src: /src/hostap/src/wps/wps_upnp_web.c:342,1
    - Dst: os_strcasecmp
      Src: /src/hostap/src/wps/wps_upnp_web.c:343,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_web.c:344,1
    - Dst: os_strlen
      Src: /src/hostap/src/wps/wps_upnp_web.c:346,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_web.c:349,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/wps/wps_upnp_web.c:351,1
    - Dst: http_request_deinit
      Src: /src/hostap/src/wps/wps_upnp_web.c:353,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_upnp_web.c:356,1
    - Dst: http_put_date
      Src: /src/hostap/src/wps/wps_upnp_web.c:360,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_upnp_web.c:363,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/wps/wps_upnp_web.c:368,1
    - Dst: http_request_deinit
      Src: /src/hostap/src/wps/wps_upnp_web.c:370,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_upnp_web.c:374,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_upnp_web.c:377,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_upnp_web.c:378,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_upnp_web.c:379,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/wps/wps_upnp_web.c:384,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_upnp_web.c:385,1
    - Dst: http_put_date
      Src: /src/hostap/src/wps/wps_upnp_web.c:387,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_upnp_web.c:390,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/wps/wps_upnp_web.c:392,1
    - Dst: format_wps_device_xml
      Src: /src/hostap/src/wps/wps_upnp_web.c:396,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_upnp_web.c:399,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/wps/wps_upnp_web.c:404,1
    - Dst: os_snprintf
      Src: /src/hostap/src/wps/wps_upnp_web.c:405,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_upnp_web.c:406,1
    - Dst: os_strlen
      Src: /src/hostap/src/wps/wps_upnp_web.c:406,1
    - Dst: http_request_send_and_deinit
      Src: /src/hostap/src/wps/wps_upnp_web.c:409,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 66
    argCount: 3
    argNames:
    - sm
    - hreq
    - filename
    argTypes:
    - struct upnp_wps_device_sm*
    - struct http_request*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 302
    functionDepth: 4
    functionLinenumber: 302
    functionLinenumberEnd: 410
    functionName: web_connection_parse_get
    functionSourceFile: /src/hostap/src/wps/wps_upnp_web.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - wpabuf_put
    - http_put_date
    - http_request_deinit
    - os_memcpy
    - wpabuf_put_str
    - format_wps_device_xml
    - dl_list_first
    - http_request_send_and_deinit
    - os_snprintf
    - wpabuf_alloc
    - os_strcasecmp
    linkageType: ''
    returnType: void
    signature: "void web_connection_parse_get(struct upnp_wps_device_sm *sm,\n\t\t\t\t
      \    struct http_request *hreq,\n\t\t\t\t     const char *filename)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_del
      Src: /src/hostap/src/wps/wps_upnp_web.c:415,1
    - Dst: wps_deinit
      Src: /src/hostap/src/wps/wps_upnp_web.c:417,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_upnp_web.c:418,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - peer
    argTypes:
    - struct upnp_wps_peer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 413
    functionDepth: 2
    functionLinenumber: 413
    functionLinenumberEnd: 419
    functionName: wps_upnp_peer_del
    functionSourceFile: /src/hostap/src/wps/wps_upnp_web.c
    functionUses: 0
    functionsReached:
    - os_free
    - wps_deinit
    - dl_list_del
    linkageType: ''
    returnType: void
    signature: void wps_upnp_peer_del(struct upnp_wps_peer *peer)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_first
      Src: /src/hostap/src/wps/wps_upnp_web.c:431,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_web.c:434,1
    - Dst: os_zalloc
      Src: /src/hostap/src/wps/wps_upnp_web.c:439,1
    - Dst: os_memset
      Src: /src/hostap/src/wps/wps_upnp_web.c:451,1
    - Dst: os_strlen
      Src: /src/hostap/src/wps/wps_upnp_web.c:454,1
    - Dst: wps_init
      Src: /src/hostap/src/wps/wps_upnp_web.c:455,1
    - Dst: wps_get_msg
      Src: /src/hostap/src/wps/wps_upnp_web.c:458,1
    - Dst: wps_deinit
      Src: /src/hostap/src/wps/wps_upnp_web.c:460,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_web.c:466,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_upnp_web.c:467,1
    - Dst: dl_list_len
      Src: /src/hostap/src/wps/wps_upnp_web.c:471,1
    - Dst: dl_list_first
      Src: /src/hostap/src/wps/wps_upnp_web.c:474,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_web.c:476,1
    - Dst: wps_upnp_peer_del
      Src: /src/hostap/src/wps/wps_upnp_web.c:477,1
    - Dst: dl_list_add_tail
      Src: /src/hostap/src/wps/wps_upnp_web.c:480,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 3
    argNames:
    - sm
    - reply
    - replyname
    argTypes:
    - struct upnp_wps_device_sm*
    - struct wpabuf**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 422
    functionDepth: 3
    functionLinenumber: 422
    functionLinenumberEnd: 485
    functionName: web_process_get_device_info
    functionSourceFile: /src/hostap/src/wps/wps_upnp_web.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - dl_list_add_tail
    - wps_deinit
    - dl_list_first
    - wps_upnp_peer_del
    - os_zalloc
    - wps_init
    - wps_get_msg
    - os_free
    - dl_list_len
    - os_memset
    linkageType: ''
    returnType: enum http_reply_code
    signature: "enum http_reply_code web_process_get_device_info(struct upnp_wps_device_sm
      *sm,\n\t\t\t    struct wpabuf **reply, const char **replyname)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_first
      Src: /src/hostap/src/wps/wps_upnp_web.c:501,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_web.c:511,1
    - Dst: xml_get_base64_item
      Src: /src/hostap/src/wps/wps_upnp_web.c:512,1
    - Dst: wps_parse_msg
      Src: /src/hostap/src/wps/wps_upnp_web.c:516,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_web.c:517,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_upnp_web.c:519,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/wps/wps_upnp_web.c:525,1
    - Dst: os_memcmp
      Src: /src/hostap/src/wps/wps_upnp_web.c:529,1
    - Dst: os_memcmp
      Src: /src/hostap/src/wps/wps_upnp_web.c:536,1
    - Dst: dl_list_first
      Src: /src/hostap/src/wps/wps_upnp_web.c:549,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_web.c:552,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_upnp_web.c:553,1
    - Dst: wps_process_msg
      Src: /src/hostap/src/wps/wps_upnp_web.c:557,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_web.c:560,1
    - Dst: wps_upnp_peer_del
      Src: /src/hostap/src/wps/wps_upnp_web.c:561,1
    - Dst: wps_get_msg
      Src: /src/hostap/src/wps/wps_upnp_web.c:563,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_upnp_web.c:565,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 45
    argCount: 4
    argNames:
    - sm
    - data
    - reply
    - replyname
    argTypes:
    - struct upnp_wps_device_sm*
    - char*
    - struct wpabuf**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 488
    functionDepth: 5
    functionLinenumber: 488
    functionLinenumberEnd: 570
    functionName: web_process_put_message
    functionSourceFile: /src/hostap/src/wps/wps_upnp_web.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wps_process_msg
    - dl_list_first
    - wpabuf_free
    - wps_upnp_peer_del
    - xml_get_base64_item
    - dl_list_for_each
    - os_memcmp
    - wps_get_msg
    - wps_parse_msg
    linkageType: ''
    returnType: enum http_reply_code
    signature: "enum http_reply_code web_process_put_message(struct upnp_wps_device_sm
      *sm, char *data,\n\t\t\tstruct wpabuf **reply, const char **replyname)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_web.c:591,1
    - Dst: xml_get_base64_item
      Src: /src/hostap/src/wps/wps_upnp_web.c:592,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_web.c:594,1
    - Dst: xml_get_first_item
      Src: /src/hostap/src/wps/wps_upnp_web.c:598,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_web.c:600,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_upnp_web.c:602,1
    - Dst: atol
      Src: /src/hostap/src/wps/wps_upnp_web.c:605,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_upnp_web.c:606,1
    - Dst: xml_get_first_item
      Src: /src/hostap/src/wps/wps_upnp_web.c:607,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_web.c:609,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_upnp_web.c:611,1
    - Dst: hwaddr_aton
      Src: /src/hostap/src/wps/wps_upnp_web.c:614,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_web.c:615,1
    - Dst: wps_parse_msg
      Src: /src/hostap/src/wps/wps_upnp_web.c:620,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_upnp_web.c:621,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_upnp_web.c:622,1
    - Dst: hwaddr_aton2
      Src: /src/hostap/src/wps/wps_upnp_web.c:627,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_web.c:632,1
    - Dst: MAC2STR
      Src: /src/hostap/src/wps/wps_upnp_web.c:635,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_upnp_web.c:637,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_upnp_web.c:638,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_upnp_web.c:642,1
    - Dst: wps_parse_msg
      Src: /src/hostap/src/wps/wps_upnp_web.c:645,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_web.c:650,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/wps/wps_upnp_web.c:653,1
    - Dst: struct upnp_wps_device_interface*::ctx::rx_req_put_wlan_response
      Src: /src/hostap/src/wps/wps_upnp_web.c:656,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_web.c:663,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_upnp_web.c:665,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_upnp_web.c:668,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 58
    argCount: 4
    argNames:
    - sm
    - data
    - reply
    - replyname
    argTypes:
    - struct upnp_wps_device_sm*
    - char*
    - struct wpabuf**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 573
    functionDepth: 5
    functionLinenumber: 573
    functionLinenumberEnd: 672
    functionName: web_process_put_wlan_response
    functionSourceFile: /src/hostap/src/wps/wps_upnp_web.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - struct upnp_wps_device_interface*::ctx::rx_req_put_wlan_response
    - atol
    - hwaddr_aton
    - wpabuf_free
    - xml_get_base64_item
    - wps_parse_msg
    - dl_list_for_each
    - MAC2STR
    - os_free
    - hwaddr_aton2
    - xml_get_first_item
    linkageType: ''
    returnType: enum http_reply_code
    signature: "enum http_reply_code web_process_put_wlan_response(struct upnp_wps_device_sm
      *sm, char *data,\n\t\t\t      struct wpabuf **reply, const char **replyname)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/wps/wps_upnp_web.c:679,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - s
    - cli
    argTypes:
    - struct subscription*
    - struct sockaddr_in*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 684
    functionName: find_er_addr
    functionSourceFile: /src/hostap/src/wps/wps_upnp_web.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    linkageType: ''
    returnType: int
    signature: int find_er_addr(struct subscription *s, struct sockaddr_in *cli)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/wps/wps_upnp_web.c:691,1
    - Dst: find_er_addr
      Src: /src/hostap/src/wps/wps_upnp_web.c:692,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - sm
    - cli
    argTypes:
    - struct upnp_wps_device_sm*
    - struct sockaddr_in*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 687
    functionDepth: 1
    functionLinenumber: 687
    functionLinenumberEnd: 695
    functionName: find_er
    functionSourceFile: /src/hostap/src/wps/wps_upnp_web.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    - find_er_addr
    linkageType: ''
    returnType: struct subscription
    signature: "struct subscription * find_er(struct upnp_wps_device_sm *sm,\n\t\t\t\t
      \    struct sockaddr_in *cli)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_web.c:710,1
    - Dst: find_er
      Src: /src/hostap/src/wps/wps_upnp_web.c:711,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_web.c:713,1
    - Dst: xml_get_base64_item
      Src: /src/hostap/src/wps/wps_upnp_web.c:717,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/wps/wps_upnp_web.c:720,1
    - Dst: upnp_er_set_selected_registrar
      Src: /src/hostap/src/wps/wps_upnp_web.c:722,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_upnp_web.c:726,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 5
    argNames:
    - sm
    - cli
    - data
    - reply
    - replyname
    argTypes:
    - struct upnp_wps_device_sm*
    - struct sockaddr_in*
    - char*
    - struct wpabuf**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 698
    functionDepth: 6
    functionLinenumber: 698
    functionLinenumberEnd: 732
    functionName: web_process_set_selected_registrar
    functionSourceFile: /src/hostap/src/wps/wps_upnp_web.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_free
    - find_er
    - xml_get_base64_item
    - dl_list_for_each
    - upnp_er_set_selected_registrar
    linkageType: ''
    returnType: enum http_reply_code
    signature: "enum http_reply_code web_process_set_selected_registrar(struct upnp_wps_device_sm
      *sm,\n\t\t\t\t   struct sockaddr_in *cli, char *data,\n\t\t\t\t   struct wpabuf
      **reply,\n\t\t\t\t   const char **replyname)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: base64_encode
      Src: /src/hostap/src/wps/wps_upnp_web.c:768,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/wps/wps_upnp_web.c:768,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/wps_upnp_web.c:768,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/wps/wps_upnp_web.c:778,1
    - Dst: os_strlen
      Src: /src/hostap/src/wps/wps_upnp_web.c:778,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_web.c:781,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_upnp_web.c:783,1
    - Dst: http_request_deinit
      Src: /src/hostap/src/wps/wps_upnp_web.c:784,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_upnp_web.c:794,1
    - Dst: wpabuf_printf
      Src: /src/hostap/src/wps/wps_upnp_web.c:799,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_upnp_web.c:801,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_upnp_web.c:803,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/wps/wps_upnp_web.c:808,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_upnp_web.c:809,1
    - Dst: http_put_date
      Src: /src/hostap/src/wps/wps_upnp_web.c:811,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_upnp_web.c:814,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/wps/wps_upnp_web.c:816,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_upnp_web.c:819,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_upnp_web.c:820,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/wps/wps_upnp_web.c:821,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_upnp_web.c:822,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_upnp_web.c:823,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_upnp_web.c:824,1
    - Dst: wpabuf_printf
      Src: /src/hostap/src/wps/wps_upnp_web.c:831,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_upnp_web.c:832,1
    - Dst: wpabuf_printf
      Src: /src/hostap/src/wps/wps_upnp_web.c:833,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_upnp_web.c:835,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/wps/wps_upnp_web.c:836,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_upnp_web.c:837,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_upnp_web.c:838,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_upnp_web.c:841,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_upnp_web.c:842,1
    - Dst: wpabuf_printf
      Src: /src/hostap/src/wps/wps_upnp_web.c:843,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_upnp_web.c:844,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_upnp_web.c:845,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_upnp_web.c:847,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/wps/wps_upnp_web.c:851,1
    - Dst: os_snprintf
      Src: /src/hostap/src/wps/wps_upnp_web.c:853,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_upnp_web.c:854,1
    - Dst: os_strlen
      Src: /src/hostap/src/wps/wps_upnp_web.c:854,1
    - Dst: http_request_send_and_deinit
      Src: /src/hostap/src/wps/wps_upnp_web.c:857,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 53
    argCount: 6
    argNames:
    - req
    - ret
    - action
    - action_len
    - reply
    - replyname
    argTypes:
    - struct http_request*
    - enum http_reply_code
    - char*
    - int
    - struct wpabuf*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 755
    functionDepth: 1
    functionLinenumber: 755
    functionLinenumberEnd: 858
    functionName: web_connection_send_reply
    functionSourceFile: /src/hostap/src/wps/wps_upnp_web.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - wpabuf_printf
    - wpabuf_put
    - http_request_deinit
    - http_put_date
    - wpabuf_put_data
    - wpabuf_len
    - wpabuf_put_str
    - os_memcpy
    - http_request_send_and_deinit
    - wpabuf_head
    - os_snprintf
    - wpabuf_alloc
    - os_free
    - base64_encode
    linkageType: ''
    returnType: void
    signature: "void web_connection_send_reply(struct http_request *req,\n\t\t\t\t
      \     enum http_reply_code ret,\n\t\t\t\t      const char *action, int action_len,\n\t\t\t\t
      \     const struct wpabuf *reply,\n\t\t\t\t      const char *replyname)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: http_request_get_hdr_line
      Src: /src/hostap/src/wps/wps_upnp_web.c:871,1
    - Dst: os_strlen
      Src: /src/hostap/src/wps/wps_upnp_web.c:879,1
    - Dst: os_strncasecmp
      Src: /src/hostap/src/wps/wps_upnp_web.c:880,1
    - Dst: isgraph
      Src: /src/hostap/src/wps/wps_upnp_web.c:884,1
    - Dst: isgraph
      Src: /src/hostap/src/wps/wps_upnp_web.c:891,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 2
    argNames:
    - req
    - action_len
    argTypes:
    - struct http_request*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 861
    functionDepth: 1
    functionLinenumber: 861
    functionLinenumberEnd: 897
    functionName: web_get_action
    functionSourceFile: /src/hostap/src/wps/wps_upnp_web.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_strncasecmp
    - http_request_get_hdr_line
    - isgraph
    linkageType: ''
    returnType: char
    signature: "char * web_get_action(struct http_request *req,\n\t\t\t\t   size_t
      *action_len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: http_request_get_data
      Src: /src/hostap/src/wps/wps_upnp_web.c:924,1
    - Dst: os_strcasecmp
      Src: /src/hostap/src/wps/wps_upnp_web.c:930,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_web.c:931,1
    - Dst: web_get_action
      Src: /src/hostap/src/wps/wps_upnp_web.c:938,1
    - Dst: os_strncasecmp
      Src: /src/hostap/src/wps/wps_upnp_web.c:942,1
    - Dst: web_process_get_device_info
      Src: /src/hostap/src/wps/wps_upnp_web.c:943,1
    - Dst: os_strncasecmp
      Src: /src/hostap/src/wps/wps_upnp_web.c:944,1
    - Dst: web_process_put_message
      Src: /src/hostap/src/wps/wps_upnp_web.c:945,1
    - Dst: os_strncasecmp
      Src: /src/hostap/src/wps/wps_upnp_web.c:946,1
    - Dst: web_process_put_wlan_response
      Src: /src/hostap/src/wps/wps_upnp_web.c:947,1
    - Dst: os_strncasecmp
      Src: /src/hostap/src/wps/wps_upnp_web.c:949,1
    - Dst: web_process_set_selected_registrar
      Src: /src/hostap/src/wps/wps_upnp_web.c:950,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_web.c:953,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_web.c:957,1
    - Dst: web_connection_send_reply
      Src: /src/hostap/src/wps/wps_upnp_web.c:958,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_upnp_web.c:960,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 4
    argNames:
    - sm
    - cli
    - req
    - filename
    argTypes:
    - struct upnp_wps_device_sm*
    - struct sockaddr_in*
    - struct http_request*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 918
    functionDepth: 7
    functionLinenumber: 918
    functionLinenumberEnd: 961
    functionName: web_connection_parse_post
    functionSourceFile: /src/hostap/src/wps/wps_upnp_web.c
    functionUses: 0
    functionsReached:
    - os_strncasecmp
    - wpa_printf
    - http_request_get_data
    - web_process_put_message
    - web_process_get_device_info
    - wpabuf_free
    - web_connection_send_reply
    - os_strcasecmp
    - web_process_put_wlan_response
    - web_process_set_selected_registrar
    - web_get_action
    linkageType: ''
    returnType: void
    signature: "void web_connection_parse_post(struct upnp_wps_device_sm *sm,\n\t\t\t\t
      \     struct sockaddr_in *cli,\n\t\t\t\t      struct http_request *req,\n\t\t\t\t
      \     const char *filename)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: http_request_get_hdr
      Src: /src/hostap/src/wps/wps_upnp_web.c:989,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/wps/wps_upnp_web.c:1002,1
    - Dst: http_request_deinit
      Src: /src/hostap/src/wps/wps_upnp_web.c:1004,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/wps/wps_upnp_web.c:1008,1
    - Dst: os_strlen
      Src: /src/hostap/src/wps/wps_upnp_web.c:1009,1
    - Dst: os_strcasecmp
      Src: /src/hostap/src/wps/wps_upnp_web.c:1016,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_web.c:1020,1
    - Dst: os_strchr
      Src: /src/hostap/src/wps/wps_upnp_web.c:1021,1
    - Dst: os_strchr
      Src: /src/hostap/src/wps/wps_upnp_web.c:1026,1
    - Dst: os_strlen
      Src: /src/hostap/src/wps/wps_upnp_web.c:1034,1
    - Dst: os_strncasecmp
      Src: /src/hostap/src/wps/wps_upnp_web.c:1035,1
    - Dst: os_strlen
      Src: /src/hostap/src/wps/wps_upnp_web.c:1040,1
    - Dst: os_strncasecmp
      Src: /src/hostap/src/wps/wps_upnp_web.c:1041,1
    - Dst: os_strlen
      Src: /src/hostap/src/wps/wps_upnp_web.c:1051,1
    - Dst: os_strncasecmp
      Src: /src/hostap/src/wps/wps_upnp_web.c:1052,1
    - Dst: os_strlen
      Src: /src/hostap/src/wps/wps_upnp_web.c:1064,1
    - Dst: os_strncasecmp
      Src: /src/hostap/src/wps/wps_upnp_web.c:1065,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_upnp_web.c:1070,1
    - Dst: dup_binstr
      Src: /src/hostap/src/wps/wps_upnp_web.c:1071,1
    - Dst: os_strlen
      Src: /src/hostap/src/wps/wps_upnp_web.c:1082,1
    - Dst: os_strncasecmp
      Src: /src/hostap/src/wps/wps_upnp_web.c:1083,1
    - Dst: os_strlen
      Src: /src/hostap/src/wps/wps_upnp_web.c:1088,1
    - Dst: os_strncasecmp
      Src: /src/hostap/src/wps/wps_upnp_web.c:1089,1
    - Dst: uuid_str2bin
      Src: /src/hostap/src/wps/wps_upnp_web.c:1096,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_web.c:1110,1
    - Dst: subscription_renew
      Src: /src/hostap/src/wps/wps_upnp_web.c:1115,1
    - Dst: uuid_bin2str
      Src: /src/hostap/src/wps/wps_upnp_web.c:1118,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_web.c:1119,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_web.c:1125,1
    - Dst: subscription_start
      Src: /src/hostap/src/wps/wps_upnp_web.c:1130,1
    - Dst: http_put_reply_code
      Src: /src/hostap/src/wps/wps_upnp_web.c:1141,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_upnp_web.c:1142,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_upnp_web.c:1143,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_upnp_web.c:1144,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_upnp_web.c:1145,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/wps/wps_upnp_web.c:1147,1
    - Dst: uuid_bin2str
      Src: /src/hostap/src/wps/wps_upnp_web.c:1148,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_web.c:1149,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/wps/wps_upnp_web.c:1150,1
    - Dst: os_strlen
      Src: /src/hostap/src/wps/wps_upnp_web.c:1150,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_upnp_web.c:1151,1
    - Dst: wpabuf_printf
      Src: /src/hostap/src/wps/wps_upnp_web.c:1152,1
    - Dst: http_put_date
      Src: /src/hostap/src/wps/wps_upnp_web.c:1153,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_upnp_web.c:1155,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_upnp_web.c:1157,1
    - Dst: http_request_send_and_deinit
      Src: /src/hostap/src/wps/wps_upnp_web.c:1158,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_web.c:1183,1
    - Dst: http_put_empty
      Src: /src/hostap/src/wps/wps_upnp_web.c:1184,1
    - Dst: http_request_send_and_deinit
      Src: /src/hostap/src/wps/wps_upnp_web.c:1185,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_upnp_web.c:1186,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 142
    argCount: 3
    argNames:
    - sm
    - req
    - filename
    argTypes:
    - struct upnp_wps_device_sm*
    - struct http_request*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1187
      start: 983
    functionDepth: 5
    functionLinenumber: 983
    functionLinenumberEnd: 1187
    functionName: web_connection_parse_subscribe
    functionSourceFile: /src/hostap/src/wps/wps_upnp_web.c
    functionUses: 0
    functionsReached:
    - subscription_start
    - http_put_date
    - wpabuf_put_str
    - http_put_reply_code
    - wpabuf_alloc
    - wpa_hexdump_ascii
    - os_strlen
    - os_strncasecmp
    - wpa_printf
    - wpabuf_printf
    - http_request_send_and_deinit
    - uuid_str2bin
    - os_strcasecmp
    - http_put_empty
    - subscription_renew
    - os_free
    - uuid_bin2str
    - http_request_get_hdr
    - os_strchr
    - wpabuf_put
    - http_request_deinit
    - dup_binstr
    linkageType: ''
    returnType: void
    signature: "void web_connection_parse_subscribe(struct upnp_wps_device_sm *sm,\n\t\t\t\t\t
      \  struct http_request *req,\n\t\t\t\t\t   const char *filename)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: http_request_get_hdr
      Src: /src/hostap/src/wps/wps_upnp_web.c:1210,1
    - Dst: os_strcasecmp
      Src: /src/hostap/src/wps/wps_upnp_web.c:1225,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_web.c:1229,1
    - Dst: os_strchr
      Src: /src/hostap/src/wps/wps_upnp_web.c:1230,1
    - Dst: os_strchr
      Src: /src/hostap/src/wps/wps_upnp_web.c:1235,1
    - Dst: os_strlen
      Src: /src/hostap/src/wps/wps_upnp_web.c:1242,1
    - Dst: os_strncasecmp
      Src: /src/hostap/src/wps/wps_upnp_web.c:1243,1
    - Dst: os_strlen
      Src: /src/hostap/src/wps/wps_upnp_web.c:1251,1
    - Dst: os_strncasecmp
      Src: /src/hostap/src/wps/wps_upnp_web.c:1252,1
    - Dst: os_strlen
      Src: /src/hostap/src/wps/wps_upnp_web.c:1257,1
    - Dst: os_strncasecmp
      Src: /src/hostap/src/wps/wps_upnp_web.c:1258,1
    - Dst: uuid_str2bin
      Src: /src/hostap/src/wps/wps_upnp_web.c:1265,1
    - Dst: os_strlen
      Src: /src/hostap/src/wps/wps_upnp_web.c:1274,1
    - Dst: os_strncasecmp
      Src: /src/hostap/src/wps/wps_upnp_web.c:1275,1
    - Dst: os_strlen
      Src: /src/hostap/src/wps/wps_upnp_web.c:1281,1
    - Dst: os_strncasecmp
      Src: /src/hostap/src/wps/wps_upnp_web.c:1282,1
    - Dst: uuid_bin2str
      Src: /src/hostap/src/wps/wps_upnp_web.c:1291,1
    - Dst: subscription_find
      Src: /src/hostap/src/wps/wps_upnp_web.c:1293,1
    - Dst: dl_list_first
      Src: /src/hostap/src/wps/wps_upnp_web.c:1296,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_web.c:1298,1
    - Dst: dl_list_del
      Src: /src/hostap/src/wps/wps_upnp_web.c:1302,1
    - Dst: subscription_destroy
      Src: /src/hostap/src/wps/wps_upnp_web.c:1303,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_web.c:1305,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_web.c:1312,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/wps/wps_upnp_web.c:1321,1
    - Dst: http_request_deinit
      Src: /src/hostap/src/wps/wps_upnp_web.c:1323,1
    - Dst: http_put_empty
      Src: /src/hostap/src/wps/wps_upnp_web.c:1326,1
    - Dst: http_request_send_and_deinit
      Src: /src/hostap/src/wps/wps_upnp_web.c:1327,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 90
    argCount: 3
    argNames:
    - sm
    - req
    - filename
    argTypes:
    - struct upnp_wps_device_sm*
    - struct http_request*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1328
      start: 1205
    functionDepth: 3
    functionLinenumber: 1205
    functionLinenumberEnd: 1328
    functionName: web_connection_parse_unsubscribe
    functionSourceFile: /src/hostap/src/wps/wps_upnp_web.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_strncasecmp
    - http_request_get_hdr
    - wpa_printf
    - dl_list_del
    - http_request_deinit
    - http_request_send_and_deinit
    - dl_list_first
    - subscription_find
    - wpabuf_alloc
    - uuid_str2bin
    - os_strcasecmp
    - http_put_empty
    - os_strchr
    - uuid_bin2str
    - subscription_destroy
    linkageType: ''
    returnType: void
    signature: "void web_connection_parse_unsubscribe(struct upnp_wps_device_sm *sm,\n\t\t\t\t\t
      \    struct http_request *req,\n\t\t\t\t\t     const char *filename)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/wps/wps_upnp_web.c:1335,1
    - Dst: http_request_deinit
      Src: /src/hostap/src/wps/wps_upnp_web.c:1337,1
    - Dst: http_put_empty
      Src: /src/hostap/src/wps/wps_upnp_web.c:1340,1
    - Dst: http_request_send_and_deinit
      Src: /src/hostap/src/wps/wps_upnp_web.c:1341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct http_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1342
      start: 1332
    functionDepth: 3
    functionLinenumber: 1332
    functionLinenumberEnd: 1342
    functionName: web_connection_unimplemented
    functionSourceFile: /src/hostap/src/wps/wps_upnp_web.c
    functionUses: 0
    functionsReached:
    - http_request_send_and_deinit
    - wpabuf_alloc
    - http_request_deinit
    - http_put_empty
    linkageType: ''
    returnType: void
    signature: void web_connection_unimplemented(struct http_request *req)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: http_request_get_type
      Src: /src/hostap/src/wps/wps_upnp_web.c:1351,1
    - Dst: http_request_get_uri
      Src: /src/hostap/src/wps/wps_upnp_web.c:1352,1
    - Dst: http_request_get_cli_addr
      Src: /src/hostap/src/wps/wps_upnp_web.c:1353,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_web.c:1356,1
    - Dst: http_request_deinit
      Src: /src/hostap/src/wps/wps_upnp_web.c:1357,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_web.c:1364,1
    - Dst: inet_ntoa
      Src: /src/hostap/src/wps/wps_upnp_web.c:1365,1
    - Dst: htons
      Src: /src/hostap/src/wps/wps_upnp_web.c:1365,1
    - Dst: web_connection_parse_get
      Src: /src/hostap/src/wps/wps_upnp_web.c:1369,1
    - Dst: web_connection_parse_post
      Src: /src/hostap/src/wps/wps_upnp_web.c:1372,1
    - Dst: web_connection_parse_subscribe
      Src: /src/hostap/src/wps/wps_upnp_web.c:1375,1
    - Dst: web_connection_parse_unsubscribe
      Src: /src/hostap/src/wps/wps_upnp_web.c:1378,1
    - Dst: web_connection_unimplemented
      Src: /src/hostap/src/wps/wps_upnp_web.c:1388,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - ctx
    - req
    argTypes:
    - void*
    - struct http_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1391
      start: 1348
    functionDepth: 8
    functionLinenumber: 1348
    functionLinenumberEnd: 1391
    functionName: web_connection_check_data
    functionSourceFile: /src/hostap/src/wps/wps_upnp_web.c
    functionUses: 0
    functionsReached:
    - http_request_get_uri
    - wpa_printf
    - web_connection_parse_post
    - http_request_deinit
    - web_connection_unimplemented
    - http_request_get_type
    - web_connection_parse_subscribe
    - web_connection_parse_get
    - web_connection_parse_unsubscribe
    - inet_ntoa
    - http_request_get_cli_addr
    - htons
    linkageType: ''
    returnType: void
    signature: void web_connection_check_data(void *ctx, struct http_request *req)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_server_deinit
      Src: /src/hostap/src/wps/wps_upnp_web.c:1402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct upnp_wps_device_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1404
      start: 1400
    functionDepth: 1
    functionLinenumber: 1400
    functionLinenumberEnd: 1404
    functionName: web_listener_stop
    functionSourceFile: /src/hostap/src/wps/wps_upnp_web.c
    functionUses: 1
    functionsReached:
    - http_server_deinit
    linkageType: ''
    returnType: void
    signature: void web_listener_stop(struct upnp_wps_device_sm *sm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: http_server_init
      Src: /src/hostap/src/wps/wps_upnp_web.c:1411,1
    - Dst: web_listener_stop
      Src: /src/hostap/src/wps/wps_upnp_web.c:1414,1
    - Dst: http_server_get_port
      Src: /src/hostap/src/wps/wps_upnp_web.c:1417,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct upnp_wps_device_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1420
      start: 1407
    functionDepth: 2
    functionLinenumber: 1407
    functionLinenumberEnd: 1420
    functionName: web_listener_start
    functionSourceFile: /src/hostap/src/wps/wps_upnp_web.c
    functionUses: 1
    functionsReached:
    - http_server_init
    - web_listener_stop
    - http_server_get_port
    linkageType: ''
    returnType: int
    signature: int web_listener_start(struct upnp_wps_device_sm *sm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/wps/wps_er.c:43,1
    - Dst: struct wps_context*::event_cb
      Src: /src/hostap/src/wps/wps_er.c:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - wps
    - sta
    - event
    argTypes:
    - struct wps_context*
    - struct wps_er_sta*
    - enum wps_event
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 56
    functionName: wps_er_sta_event
    functionSourceFile: /src/hostap/src/wps/wps_er.c
    functionUses: 0
    functionsReached:
    - struct wps_context*::event_cb
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void wps_er_sta_event(struct wps_context *wps, struct wps_er_sta *sta,\n\t\t\t
      \    enum wps_event event)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/wps/wps_er.c:63,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/wps/wps_er.c:65,1
    - Dst: os_memcmp
      Src: /src/hostap/src/wps/wps_er.c:67,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - ap
    - addr
    - uuid
    argTypes:
    - struct wps_er_ap*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 71
    functionName: wps_er_sta_get
    functionSourceFile: /src/hostap/src/wps/wps_er.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    - ether_addr_equal
    - os_memcmp
    linkageType: ''
    returnType: struct wps_er_sta
    signature: "struct wps_er_sta * wps_er_sta_get(struct wps_er_ap *ap, const u8
      *addr,\n\t\t\t\t\t  const u8 *uuid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wps_er_sta_event
      Src: /src/hostap/src/wps/wps_er.c:76,1
    - Dst: wps_deinit
      Src: /src/hostap/src/wps/wps_er.c:78,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_er.c:79,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_er.c:80,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_er.c:81,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_er.c:82,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_er.c:83,1
    - Dst: http_client_free
      Src: /src/hostap/src/wps/wps_er.c:84,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/wps/wps_er.c:85,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_er.c:86,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_er.c:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - sta
    argTypes:
    - struct wps_er_sta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 74
    functionDepth: 3
    functionLinenumber: 74
    functionLinenumberEnd: 88
    functionName: wps_er_sta_free
    functionSourceFile: /src/hostap/src/wps/wps_er.c
    functionUses: 0
    functionsReached:
    - eloop_cancel_timeout
    - wps_deinit
    - os_free
    - http_client_free
    - wps_er_sta_event
    linkageType: ''
    returnType: void
    signature: void wps_er_sta_free(struct wps_er_sta *sta)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/wps/wps_er.c:94,1
    - Dst: wps_er_sta_free
      Src: /src/hostap/src/wps/wps_er.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ap
    argTypes:
    - struct wps_er_ap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 91
    functionDepth: 4
    functionLinenumber: 91
    functionLinenumberEnd: 96
    functionName: wps_er_sta_remove_all
    functionSourceFile: /src/hostap/src/wps/wps_er.c
    functionUses: 0
    functionsReached:
    - wps_er_sta_free
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: void wps_er_sta_remove_all(struct wps_er_ap *ap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/wps/wps_er.c:104,1
    - Dst: os_memcmp
      Src: /src/hostap/src/wps/wps_er.c:107,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/wps/wps_er.c:109,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 4
    argNames:
    - er
    - addr
    - uuid
    - mac_addr
    argTypes:
    - struct wps_er*
    - struct in_addr*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 113
    functionName: wps_er_ap_get
    functionSourceFile: /src/hostap/src/wps/wps_er.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    - ether_addr_equal
    - os_memcmp
    linkageType: ''
    returnType: struct wps_er_ap
    signature: "struct wps_er_ap * wps_er_ap_get(struct wps_er *er,\n\t\t\t\t\tstruct
      in_addr *addr, const u8 *uuid,\n\t\t\t\t\tconst u8 *mac_addr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/wps/wps_er.c:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - er
    - id
    argTypes:
    - struct wps_er*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 124
    functionName: wps_er_ap_get_id
    functionSourceFile: /src/hostap/src/wps/wps_er.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    linkageType: ''
    returnType: struct wps_er_ap
    signature: struct wps_er_ap * wps_er_ap_get_id(struct wps_er *er, unsigned int
      id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/wps/wps_er.c:136,1
    - Dst: struct wps_context*::event_cb
      Src: /src/hostap/src/wps/wps_er.c:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 3
    argNames:
    - wps
    - ap
    - event
    argTypes:
    - struct wps_context*
    - struct wps_er_ap*
    - enum wps_event
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 151
    functionName: wps_er_ap_event
    functionSourceFile: /src/hostap/src/wps/wps_er.c
    functionUses: 0
    functionsReached:
    - struct wps_context*::event_cb
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void wps_er_ap_event(struct wps_context *wps, struct wps_er_ap *ap,\n\t\t\t
      \   enum wps_event event)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_client_free
      Src: /src/hostap/src/wps/wps_er.c:156,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_er.c:159,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_er.c:160,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_er.c:161,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_er.c:162,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_er.c:163,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_er.c:164,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_er.c:165,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_er.c:166,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_er.c:167,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_er.c:168,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_er.c:169,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_er.c:171,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_er.c:172,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_er.c:173,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_er.c:175,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_er.c:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 1
    argNames:
    - ap
    argTypes:
    - struct wps_er_ap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 154
    functionDepth: 3
    functionLinenumber: 154
    functionLinenumberEnd: 178
    functionName: wps_er_ap_free
    functionSourceFile: /src/hostap/src/wps/wps_er.c
    functionUses: 0
    functionsReached:
    - os_free
    - http_client_free
    linkageType: ''
    returnType: void
    signature: void wps_er_ap_free(struct wps_er_ap *ap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:183,1
    - Dst: inet_ntoa
      Src: /src/hostap/src/wps/wps_er.c:184,1
    - Dst: dl_list_del
      Src: /src/hostap/src/wps/wps_er.c:185,1
    - Dst: wps_er_ap_free
      Src: /src/hostap/src/wps/wps_er.c:186,1
    - Dst: dl_list_empty
      Src: /src/hostap/src/wps/wps_er.c:188,1
    - Dst: wps_er_deinit_finish
      Src: /src/hostap/src/wps/wps_er.c:189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - er
    - ap
    argTypes:
    - struct wps_er*
    - struct wps_er_ap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 181
    functionDepth: 4
    functionLinenumber: 181
    functionLinenumberEnd: 190
    functionName: wps_er_ap_unsubscribed
    functionSourceFile: /src/hostap/src/wps/wps_er.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dl_list_del
    - wps_er_deinit_finish
    - dl_list_empty
    - inet_ntoa
    - wps_er_ap_free
    linkageType: ''
    returnType: void
    signature: void wps_er_ap_unsubscribed(struct wps_er *er, struct wps_er_ap *ap)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:200,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:206,1
    - Dst: http_client_free
      Src: /src/hostap/src/wps/wps_er.c:210,1
    - Dst: wps_er_ap_unsubscribed
      Src: /src/hostap/src/wps/wps_er.c:217,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - ctx
    - c
    - event
    argTypes:
    - void*
    - struct http_client*
    - enum http_client_event
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 193
    functionDepth: 5
    functionLinenumber: 193
    functionLinenumberEnd: 218
    functionName: wps_er_http_unsubscribe_cb
    functionSourceFile: /src/hostap/src/wps/wps_er.c
    functionUses: 0
    functionsReached:
    - http_client_free
    - wpa_printf
    - wps_er_ap_unsubscribed
    linkageType: ''
    returnType: void
    signature: "void wps_er_http_unsubscribe_cb(void *ctx, struct http_client *c,\n\t\t\t\t
      \      enum http_client_event event)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:229,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:234,1
    - Dst: http_client_url_parse
      Src: /src/hostap/src/wps/wps_er.c:239,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:241,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/wps/wps_er.c:245,1
    - Dst: os_strlen
      Src: /src/hostap/src/wps/wps_er.c:245,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_er.c:247,1
    - Dst: uuid_bin2str
      Src: /src/hostap/src/wps/wps_er.c:250,1
    - Dst: wpabuf_printf
      Src: /src/hostap/src/wps/wps_er.c:251,1
    - Dst: inet_ntoa
      Src: /src/hostap/src/wps/wps_er.c:256,1
    - Dst: ntohs
      Src: /src/hostap/src/wps/wps_er.c:256,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_er.c:257,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/wps/wps_er.c:258,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/wps/wps_er.c:259,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/wps_er.c:259,1
    - Dst: http_client_addr
      Src: /src/hostap/src/wps/wps_er.c:261,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_er.c:264,1
    - Dst: wps_er_ap_unsubscribed
      Src: /src/hostap/src/wps/wps_er.c:274,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 2
    argNames:
    - er
    - ap
    argTypes:
    - struct wps_er*
    - struct wps_er_ap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 221
    functionDepth: 5
    functionLinenumber: 221
    functionLinenumberEnd: 275
    functionName: wps_er_ap_unsubscribe
    functionSourceFile: /src/hostap/src/wps/wps_er.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - wpabuf_printf
    - http_client_url_parse
    - wpabuf_len
    - wpabuf_free
    - wpabuf_head
    - wpabuf_alloc
    - http_client_addr
    - os_free
    - inet_ntoa
    - ntohs
    - wps_er_ap_unsubscribed
    - uuid_bin2str
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: void
    signature: void wps_er_ap_unsubscribe(struct wps_er *er, struct wps_er_ap *ap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/wps/wps_er.c:282,1
    - Dst: os_memcmp
      Src: /src/hostap/src/wps/wps_er.c:283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - er
    - uuid
    argTypes:
    - struct wps_er*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 286
    functionName: wps_er_ap_get_settings
    functionSourceFile: /src/hostap/src/wps/wps_er.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    - os_memcmp
    linkageType: ''
    returnType: struct wps_er_ap_settings
    signature: "struct wps_er_ap_settings * wps_er_ap_get_settings(struct wps_er *er,\n\t\t\t\t\t\t\t
      \ const u8 *uuid)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wps_er_ap_get
      Src: /src/hostap/src/wps/wps_er.c:294,1
    - Dst: wps_er_ap_get_settings
      Src: /src/hostap/src/wps/wps_er.c:298,1
    - Dst: os_zalloc
      Src: /src/hostap/src/wps/wps_er.c:300,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_er.c:303,1
    - Dst: dl_list_add
      Src: /src/hostap/src/wps/wps_er.c:304,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_er.c:306,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - er
    - addr
    argTypes:
    - struct wps_er*
    - struct in_addr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 289
    functionDepth: 2
    functionLinenumber: 289
    functionLinenumberEnd: 310
    functionName: wps_er_ap_cache_settings
    functionSourceFile: /src/hostap/src/wps/wps_er.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wps_er_ap_get
    - os_zalloc
    - dl_list_add
    - wps_er_ap_get_settings
    linkageType: ''
    returnType: int
    signature: int wps_er_ap_cache_settings(struct wps_er *er, struct in_addr *addr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wps_er_ap_get_settings
      Src: /src/hostap/src/wps/wps_er.c:321,1
    - Dst: os_memdup
      Src: /src/hostap/src/wps/wps_er.c:325,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:329,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - er
    - ap
    argTypes:
    - struct wps_er*
    - struct wps_er_ap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 331
    functionName: wps_er_ap_use_cached_settings
    functionSourceFile: /src/hostap/src/wps/wps_er.c
    functionUses: 0
    functionsReached:
    - os_memdup
    - wpa_printf
    - wps_er_ap_get_settings
    linkageType: ''
    returnType: int
    signature: "int wps_er_ap_use_cached_settings(struct wps_er *er,\n\t\t\t\t\t struct
      wps_er_ap *ap)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:336,1
    - Dst: inet_ntoa
      Src: /src/hostap/src/wps/wps_er.c:337,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/wps/wps_er.c:338,1
    - Dst: wps_er_sta_remove_all
      Src: /src/hostap/src/wps/wps_er.c:339,1
    - Dst: wps_er_ap_event
      Src: /src/hostap/src/wps/wps_er.c:340,1
    - Dst: http_client_free
      Src: /src/hostap/src/wps/wps_er.c:341,1
    - Dst: wps_deinit
      Src: /src/hostap/src/wps/wps_er.c:344,1
    - Dst: dl_list_del
      Src: /src/hostap/src/wps/wps_er.c:348,1
    - Dst: dl_list_add
      Src: /src/hostap/src/wps/wps_er.c:350,1
    - Dst: wps_er_ap_unsubscribe
      Src: /src/hostap/src/wps/wps_er.c:351,1
    - Dst: wps_er_ap_free
      Src: /src/hostap/src/wps/wps_er.c:353,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - er
    - ap
    argTypes:
    - struct wps_er*
    - struct wps_er_ap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 334
    functionDepth: 6
    functionLinenumber: 334
    functionLinenumberEnd: 354
    functionName: wps_er_ap_remove_entry
    functionSourceFile: /src/hostap/src/wps/wps_er.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - dl_list_del
    - eloop_cancel_timeout
    - wps_deinit
    - wps_er_sta_remove_all
    - wps_er_ap_event
    - dl_list_add
    - inet_ntoa
    - http_client_free
    - wps_er_ap_unsubscribe
    - wps_er_ap_free
    linkageType: ''
    returnType: void
    signature: void wps_er_ap_remove_entry(struct wps_er *er, struct wps_er_ap *ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:361,1
    - Dst: wps_er_ap_remove_entry
      Src: /src/hostap/src/wps/wps_er.c:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - eloop_data
    - user_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 357
    functionDepth: 7
    functionLinenumber: 357
    functionLinenumberEnd: 363
    functionName: wps_er_ap_timeout
    functionSourceFile: /src/hostap/src/wps/wps_er.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wps_er_ap_remove_entry
    linkageType: ''
    returnType: void
    signature: void wps_er_ap_timeout(void *eloop_data, void *user_ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:372,1
    - Dst: inet_ntoa
      Src: /src/hostap/src/wps/wps_er.c:373,1
    - Dst: os_strstr
      Src: /src/hostap/src/wps/wps_er.c:377,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:379,1
    - Dst: inet_ntoa
      Src: /src/hostap/src/wps/wps_er.c:380,1
    - Dst: uuid_str2bin
      Src: /src/hostap/src/wps/wps_er.c:386,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:387,1
    - Dst: inet_ntoa
      Src: /src/hostap/src/wps/wps_er.c:388,1
    - Dst: uuid_bin2str
      Src: /src/hostap/src/wps/wps_er.c:393,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:394,1
    - Dst: inet_ntoa
      Src: /src/hostap/src/wps/wps_er.c:395,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - ap
    - sid
    argTypes:
    - struct wps_er_ap*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 398
    functionName: wps_er_get_sid
    functionSourceFile: /src/hostap/src/wps/wps_er.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_strstr
    - uuid_str2bin
    - inet_ntoa
    - uuid_bin2str
    linkageType: ''
    returnType: int
    signature: int wps_er_get_sid(struct wps_er_ap *ap, char *sid)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:408,1
    - Dst: wps_er_get_sid
      Src: /src/hostap/src/wps/wps_er.c:410,1
    - Dst: http_client_get_hdr_line
      Src: /src/hostap/src/wps/wps_er.c:410,1
    - Dst: wps_er_ap_use_cached_settings
      Src: /src/hostap/src/wps/wps_er.c:411,1
    - Dst: wps_er_ap_event
      Src: /src/hostap/src/wps/wps_er.c:412,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:417,1
    - Dst: http_client_free
      Src: /src/hostap/src/wps/wps_er.c:420,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - ctx
    - c
    - event
    argTypes:
    - void*
    - struct http_client*
    - enum http_client_event
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 401
    functionDepth: 3
    functionLinenumber: 401
    functionLinenumberEnd: 422
    functionName: wps_er_http_subscribe_cb
    functionSourceFile: /src/hostap/src/wps/wps_er.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wps_er_get_sid
    - wps_er_ap_use_cached_settings
    - wps_er_ap_event
    - http_client_free
    - http_client_get_hdr_line
    linkageType: ''
    returnType: void
    signature: "void wps_er_http_subscribe_cb(void *ctx, struct http_client *c,\n\t\t\t\t
      \    enum http_client_event event)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:432,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:437,1
    - Dst: http_client_url_parse
      Src: /src/hostap/src/wps/wps_er.c:442,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:444,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/wps/wps_er.c:448,1
    - Dst: os_strlen
      Src: /src/hostap/src/wps/wps_er.c:448,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_er.c:450,1
    - Dst: wpabuf_printf
      Src: /src/hostap/src/wps/wps_er.c:453,1
    - Dst: inet_ntoa
      Src: /src/hostap/src/wps/wps_er.c:460,1
    - Dst: ntohs
      Src: /src/hostap/src/wps/wps_er.c:460,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_er.c:463,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/wps/wps_er.c:464,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/wps/wps_er.c:465,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/wps_er.c:465,1
    - Dst: http_client_addr
      Src: /src/hostap/src/wps/wps_er.c:467,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_er.c:470,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - ap
    argTypes:
    - struct wps_er_ap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 425
    functionDepth: 2
    functionLinenumber: 425
    functionLinenumberEnd: 471
    functionName: wps_er_subscribe
    functionSourceFile: /src/hostap/src/wps/wps_er.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - wpabuf_printf
    - http_client_url_parse
    - wpabuf_len
    - wpabuf_free
    - wpabuf_head
    - wpabuf_alloc
    - http_client_addr
    - os_free
    - inet_ntoa
    - ntohs
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: void
    signature: void wps_er_subscribe(struct wps_er_ap *ap)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wps_parse_msg
      Src: /src/hostap/src/wps/wps_er.c:478,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:479,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_er.c:483,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_er.c:487,1
    - Dst: wps_er_subscribe
      Src: /src/hostap/src/wps/wps_er.c:489,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ap
    - m1
    argTypes:
    - struct wps_er_ap*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 474
    functionDepth: 5
    functionLinenumber: 474
    functionLinenumberEnd: 490
    functionName: wps_er_ap_get_m1
    functionSourceFile: /src/hostap/src/wps/wps_er.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wps_er_subscribe
    - os_memcpy
    - wps_parse_msg
    linkageType: ''
    returnType: void
    signature: void wps_er_ap_get_m1(struct wps_er_ap *ap, struct wpabuf *m1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wps_er_send_get_device_info
      Src: /src/hostap/src/wps/wps_er.c:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ap
    argTypes:
    - struct wps_er_ap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 493
    functionDepth: 1
    functionLinenumber: 493
    functionLinenumberEnd: 496
    functionName: wps_er_get_device_info
    functionSourceFile: /src/hostap/src/wps/wps_er.c
    functionUses: 0
    functionsReached:
    - wps_er_send_get_device_info
    linkageType: ''
    returnType: void
    signature: void wps_er_get_device_info(struct wps_er_ap *ap)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xml_next_tag
      Src: /src/hostap/src/wps/wps_er.c:508,1
    - Dst: os_strncasecmp
      Src: /src/hostap/src/wps/wps_er.c:511,1
    - Dst: isgraph
      Src: /src/hostap/src/wps/wps_er.c:513,1
    - Dst: xml_get_first_item
      Src: /src/hostap/src/wps/wps_er.c:519,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:522,1
    - Dst: os_strcasecmp
      Src: /src/hostap/src/wps/wps_er.c:523,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_er.c:525,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 1
    argNames:
    - data
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 499
    functionDepth: 2
    functionLinenumber: 499
    functionLinenumberEnd: 529
    functionName: wps_er_find_wfadevice
    functionSourceFile: /src/hostap/src/wps/wps_er.c
    functionUses: 0
    functionsReached:
    - os_strncasecmp
    - wpa_printf
    - isgraph
    - xml_next_tag
    - os_strcasecmp
    - os_free
    - xml_get_first_item
    linkageType: ''
    returnType: char
    signature: char * wps_er_find_wfadevice(const char *data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_head
      Src: /src/hostap/src/wps/wps_er.c:536,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/wps/wps_er.c:539,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/wps/wps_er.c:540,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/wps_er.c:540,1
    - Dst: wps_er_find_wfadevice
      Src: /src/hostap/src/wps/wps_er.c:547,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:549,1
    - Dst: xml_get_first_item
      Src: /src/hostap/src/wps/wps_er.c:554,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:555,1
    - Dst: xml_get_first_item
      Src: /src/hostap/src/wps/wps_er.c:557,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:558,1
    - Dst: xml_get_first_item
      Src: /src/hostap/src/wps/wps_er.c:560,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:561,1
    - Dst: xml_get_first_item
      Src: /src/hostap/src/wps/wps_er.c:564,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:565,1
    - Dst: xml_get_first_item
      Src: /src/hostap/src/wps/wps_er.c:568,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:569,1
    - Dst: xml_get_first_item
      Src: /src/hostap/src/wps/wps_er.c:571,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:572,1
    - Dst: xml_get_first_item
      Src: /src/hostap/src/wps/wps_er.c:574,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:575,1
    - Dst: xml_get_first_item
      Src: /src/hostap/src/wps/wps_er.c:577,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:578,1
    - Dst: xml_get_first_item
      Src: /src/hostap/src/wps/wps_er.c:580,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:582,1
    - Dst: os_strstr
      Src: /src/hostap/src/wps/wps_er.c:583,1
    - Dst: uuid_str2bin
      Src: /src/hostap/src/wps/wps_er.c:586,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:587,1
    - Dst: xml_get_first_item
      Src: /src/hostap/src/wps/wps_er.c:592,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:593,1
    - Dst: http_link_update
      Src: /src/hostap/src/wps/wps_er.c:595,1
    - Dst: xml_get_first_item
      Src: /src/hostap/src/wps/wps_er.c:596,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:597,1
    - Dst: http_link_update
      Src: /src/hostap/src/wps/wps_er.c:599,1
    - Dst: xml_get_first_item
      Src: /src/hostap/src/wps/wps_er.c:600,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:601,1
    - Dst: http_link_update
      Src: /src/hostap/src/wps/wps_er.c:603,1
    - Dst: xml_get_first_item
      Src: /src/hostap/src/wps/wps_er.c:604,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:605,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 41
    argCount: 2
    argNames:
    - ap
    - reply
    argTypes:
    - struct wps_er_ap*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 532
    functionDepth: 3
    functionLinenumber: 532
    functionLinenumberEnd: 606
    functionName: wps_er_parse_device_description
    functionSourceFile: /src/hostap/src/wps/wps_er.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_len
    - wpabuf_head
    - wps_er_find_wfadevice
    - os_strstr
    - http_link_update
    - uuid_str2bin
    - wpa_hexdump_ascii
    - xml_get_first_item
    linkageType: ''
    returnType: void
    signature: "void wps_er_parse_device_description(struct wps_er_ap *ap,\n\t\t\t\t\t
      \   struct wpabuf *reply)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: http_client_get_body
      Src: /src/hostap/src/wps/wps_er.c:618,1
    - Dst: wps_er_parse_device_description
      Src: /src/hostap/src/wps/wps_er.c:621,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:627,1
    - Dst: http_client_free
      Src: /src/hostap/src/wps/wps_er.c:630,1
    - Dst: wps_er_get_device_info
      Src: /src/hostap/src/wps/wps_er.c:633,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - ctx
    - c
    - event
    argTypes:
    - void*
    - struct http_client*
    - enum http_client_event
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 609
    functionDepth: 4
    functionLinenumber: 609
    functionLinenumberEnd: 634
    functionName: wps_er_http_dev_desc_cb
    functionSourceFile: /src/hostap/src/wps/wps_er.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wps_er_parse_device_description
    - http_client_get_body
    - wps_er_get_device_info
    - http_client_free
    linkageType: ''
    returnType: void
    signature: "void wps_er_http_dev_desc_cb(void *ctx, struct http_client *c,\n\t\t\t\t
      \   enum http_client_event event)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wps_er_ap_get
      Src: /src/hostap/src/wps/wps_er.c:642,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/wps/wps_er.c:645,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/wps/wps_er.c:646,1
    - Dst: os_zalloc
      Src: /src/hostap/src/wps/wps_er.c:650,1
    - Dst: dl_list_init
      Src: /src/hostap/src/wps/wps_er.c:653,1
    - Dst: os_strdup
      Src: /src/hostap/src/wps/wps_er.c:656,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_er.c:658,1
    - Dst: dl_list_add
      Src: /src/hostap/src/wps/wps_er.c:661,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_er.c:664,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/wps/wps_er.c:665,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:667,1
    - Dst: inet_ntoa
      Src: /src/hostap/src/wps/wps_er.c:668,1
    - Dst: http_client_url
      Src: /src/hostap/src/wps/wps_er.c:671,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 5
    argNames:
    - er
    - uuid
    - addr
    - location
    - max_age
    argTypes:
    - struct wps_er*
    - u8*
    - struct in_addr*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 637
    functionDepth: 3
    functionLinenumber: 637
    functionLinenumberEnd: 673
    functionName: wps_er_ap_add
    functionSourceFile: /src/hostap/src/wps/wps_er.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_printf
    - eloop_cancel_timeout
    - wps_er_ap_get
    - os_zalloc
    - dl_list_add
    - eloop_register_timeout
    - dl_list_init
    - http_client_url
    - os_free
    - inet_ntoa
    - os_strdup
    linkageType: ''
    returnType: void
    signature: "void wps_er_ap_add(struct wps_er *er, const u8 *uuid, struct in_addr
      *addr,\n\t\t   const char *location, int max_age)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/wps/wps_er.c:679,1
    - Dst: wps_er_ap_remove_entry
      Src: /src/hostap/src/wps/wps_er.c:681,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - er
    - addr
    argTypes:
    - struct wps_er*
    - struct in_addr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 676
    functionDepth: 7
    functionLinenumber: 676
    functionLinenumberEnd: 685
    functionName: wps_er_ap_remove
    functionSourceFile: /src/hostap/src/wps/wps_er.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    - wps_er_ap_remove_entry
    linkageType: ''
    returnType: void
    signature: void wps_er_ap_remove(struct wps_er *er, struct in_addr *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/wps/wps_er.c:692,1
    - Dst: wps_er_ap_remove_entry
      Src: /src/hostap/src/wps/wps_er.c:693,1
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/wps/wps_er.c:694,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_er.c:696,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - er
    argTypes:
    - struct wps_er*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 688
    functionDepth: 7
    functionLinenumber: 688
    functionLinenumberEnd: 697
    functionName: wps_er_ap_remove_all
    functionSourceFile: /src/hostap/src/wps/wps_er.c
    functionUses: 0
    functionsReached:
    - os_free
    - wps_er_ap_remove_entry
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: void wps_er_ap_remove_all(struct wps_er *er)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_er.c:702,1
    - Dst: format_date
      Src: /src/hostap/src/wps/wps_er.c:703,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_er.c:704,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - buf
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 700
    functionDepth: 2
    functionLinenumber: 700
    functionLinenumberEnd: 705
    functionName: http_put_date
    functionSourceFile: /src/hostap/src/wps/wps_er.c
    functionUses: 3
    functionsReached:
    - wpabuf_put_str
    - format_date
    linkageType: ''
    returnType: void
    signature: void http_put_date(struct wpabuf *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/wps/wps_er.c:711,1
    - Dst: http_request_deinit
      Src: /src/hostap/src/wps/wps_er.c:713,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_er.c:717,1
    - Dst: http_put_date
      Src: /src/hostap/src/wps/wps_er.c:721,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_er.c:722,1
    - Dst: http_request_send_and_deinit
      Src: /src/hostap/src/wps/wps_er.c:723,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct http_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 708
    functionDepth: 1
    functionLinenumber: 708
    functionLinenumberEnd: 724
    functionName: wps_er_http_resp_not_found
    functionSourceFile: /src/hostap/src/wps/wps_er.c
    functionUses: 0
    functionsReached:
    - http_put_date
    - http_request_deinit
    - wpabuf_put_str
    - http_request_send_and_deinit
    - wpabuf_alloc
    linkageType: ''
    returnType: void
    signature: void wps_er_http_resp_not_found(struct http_request *req)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/wps/wps_er.c:730,1
    - Dst: http_request_deinit
      Src: /src/hostap/src/wps/wps_er.c:732,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_er.c:736,1
    - Dst: http_put_date
      Src: /src/hostap/src/wps/wps_er.c:741,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_er.c:742,1
    - Dst: http_request_send_and_deinit
      Src: /src/hostap/src/wps/wps_er.c:743,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct http_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 727
    functionDepth: 1
    functionLinenumber: 727
    functionLinenumberEnd: 744
    functionName: wps_er_http_resp_ok
    functionSourceFile: /src/hostap/src/wps/wps_er.c
    functionUses: 0
    functionsReached:
    - http_put_date
    - http_request_deinit
    - wpabuf_put_str
    - http_request_send_and_deinit
    - wpabuf_alloc
    linkageType: ''
    returnType: void
    signature: void wps_er_http_resp_ok(struct http_request *req)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:750,1
    - Dst: dl_list_del
      Src: /src/hostap/src/wps/wps_er.c:751,1
    - Dst: wps_er_sta_free
      Src: /src/hostap/src/wps/wps_er.c:752,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - eloop_data
    - user_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 747
    functionDepth: 4
    functionLinenumber: 747
    functionLinenumberEnd: 753
    functionName: wps_er_sta_timeout
    functionSourceFile: /src/hostap/src/wps/wps_er.c
    functionUses: 0
    functionsReached:
    - wps_er_sta_free
    - wpa_printf
    - dl_list_del
    linkageType: ''
    returnType: void
    signature: void wps_er_sta_timeout(void *eloop_data, void *user_ctx)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: wps_er_sta_get
      Src: /src/hostap/src/wps/wps_er.c:761,1
    - Dst: os_zalloc
      Src: /src/hostap/src/wps/wps_er.c:776,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_er.c:779,1
    - Dst: dl_list_add
      Src: /src/hostap/src/wps/wps_er.c:781,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/wps/wps_er.c:789,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_er.c:791,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_er.c:793,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/wps/wps_er.c:795,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_er.c:798,1
    - Dst: dup_binstr
      Src: /src/hostap/src/wps/wps_er.c:799,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_er.c:804,1
    - Dst: dup_binstr
      Src: /src/hostap/src/wps/wps_er.c:805,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_er.c:810,1
    - Dst: dup_binstr
      Src: /src/hostap/src/wps/wps_er.c:811,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_er.c:816,1
    - Dst: dup_binstr
      Src: /src/hostap/src/wps/wps_er.c:817,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_er.c:822,1
    - Dst: dup_binstr
      Src: /src/hostap/src/wps/wps_er.c:823,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/wps/wps_er.c:826,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/wps/wps_er.c:827,1
    - Dst: wps_er_sta_event
      Src: /src/hostap/src/wps/wps_er.c:830,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 48
    argCount: 4
    argNames:
    - ap
    - addr
    - attr
    - probe_req
    argTypes:
    - struct wps_er_ap*
    - u8*
    - struct wps_parse_attr*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 756
    functionDepth: 2
    functionLinenumber: 756
    functionLinenumberEnd: 833
    functionName: wps_er_add_sta_data
    functionSourceFile: /src/hostap/src/wps/wps_er.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - WPA_GET_BE16
    - eloop_cancel_timeout
    - wps_er_sta_get
    - os_zalloc
    - dl_list_add
    - eloop_register_timeout
    - os_free
    - wps_er_sta_event
    - dup_binstr
    linkageType: ''
    returnType: struct wps_er_sta
    signature: "struct wps_er_sta * wps_er_add_sta_data(struct wps_er_ap *ap,\n\t\t\t\t\t
      \      const u8 *addr,\n\t\t\t\t\t       struct wps_parse_attr *attr,\n\t\t\t\t\t
      \      int probe_req)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:842,1
    - Dst: MAC2STR
      Src: /src/hostap/src/wps/wps_er.c:843,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/wps/wps_er.c:844,1
    - Dst: wps_validate_probe_req
      Src: /src/hostap/src/wps/wps_er.c:847,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:848,1
    - Dst: MAC2STR
      Src: /src/hostap/src/wps/wps_er.c:849,1
    - Dst: wps_parse_msg
      Src: /src/hostap/src/wps/wps_er.c:853,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:854,1
    - Dst: wps_er_add_sta_data
      Src: /src/hostap/src/wps/wps_er.c:859,1
    - Dst: wps_registrar_probe_req_rx
      Src: /src/hostap/src/wps/wps_er.c:860,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - ap
    - addr
    - msg
    argTypes:
    - struct wps_er_ap*
    - u8*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 836
    functionDepth: 5
    functionLinenumber: 836
    functionLinenumberEnd: 861
    functionName: wps_er_process_wlanevent_probe_req
    functionSourceFile: /src/hostap/src/wps/wps_er.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wps_validate_probe_req
    - wps_er_add_sta_data
    - wpa_hexdump_buf
    - wps_registrar_probe_req_rx
    - MAC2STR
    - wps_parse_msg
    linkageType: ''
    returnType: void
    signature: "void wps_er_process_wlanevent_probe_req(struct wps_er_ap *ap,\n\t\t\t\t\t
      \      const u8 *addr,\n\t\t\t\t\t       struct wpabuf *msg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:871,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:876,1
    - Dst: http_client_free
      Src: /src/hostap/src/wps/wps_er.c:879,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - ctx
    - c
    - event
    argTypes:
    - void*
    - struct http_client*
    - enum http_client_event
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 864
    functionDepth: 3
    functionLinenumber: 864
    functionLinenumberEnd: 881
    functionName: wps_er_http_put_wlan_response_cb
    functionSourceFile: /src/hostap/src/wps/wps_er.c
    functionUses: 0
    functionsReached:
    - http_client_free
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: "void wps_er_http_put_wlan_response_cb(void *ctx, struct http_client
      *c,\n\t\t\t\t\t     enum http_client_event event)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: base64_encode
      Src: /src/hostap/src/wps/wps_er.c:905,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/wps/wps_er.c:905,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/wps_er.c:905,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/wps/wps_er.c:914,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_er.c:916,1
    - Dst: wpabuf_printf
      Src: /src/hostap/src/wps/wps_er.c:920,1
    - Dst: inet_ntoa
      Src: /src/hostap/src/wps/wps_er.c:925,1
    - Dst: ntohs
      Src: /src/hostap/src/wps/wps_er.c:925,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/wps/wps_er.c:927,1
    - Dst: wpabuf_printf
      Src: /src/hostap/src/wps/wps_er.c:928,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/wps/wps_er.c:934,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_er.c:936,1
    - Dst: wpabuf_printf
      Src: /src/hostap/src/wps/wps_er.c:937,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_er.c:938,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_er.c:939,1
    - Dst: wpabuf_printf
      Src: /src/hostap/src/wps/wps_er.c:941,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_er.c:943,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 7
    argNames:
    - msg
    - name
    - arg_name
    - path
    - dst
    - len_ptr
    - body_ptr
    argTypes:
    - struct wpabuf*
    - char*
    - char*
    - char*
    - struct sockaddr_in*
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 947
      start: 894
    functionDepth: 1
    functionLinenumber: 894
    functionLinenumberEnd: 947
    functionName: wps_er_soap_hdr
    functionSourceFile: /src/hostap/src/wps/wps_er.c
    functionUses: 0
    functionsReached:
    - wpabuf_printf
    - wpabuf_put
    - wpabuf_len
    - wpabuf_put_str
    - wpabuf_head
    - wpabuf_alloc
    - os_free
    - inet_ntoa
    - ntohs
    - base64_encode
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * wps_er_soap_hdr(const struct wpabuf *msg,\n\t\t\t\t
      \      const char *name, const char *arg_name,\n\t\t\t\t       const char *path,\n\t\t\t\t
      \      const struct sockaddr_in *dst,\n\t\t\t\t       char **len_ptr, char **body_ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_printf
      Src: /src/hostap/src/wps/wps_er.c:954,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_er.c:955,1
    - Dst: os_snprintf
      Src: /src/hostap/src/wps/wps_er.c:956,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/wps/wps_er.c:957,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_er.c:958,1
    - Dst: os_strlen
      Src: /src/hostap/src/wps/wps_er.c:958,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - buf
    - name
    - len_ptr
    - body_ptr
    argTypes:
    - struct wpabuf*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 950
    functionDepth: 1
    functionLinenumber: 950
    functionLinenumberEnd: 959
    functionName: wps_er_soap_end
    functionSourceFile: /src/hostap/src/wps/wps_er.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_memcpy
    - wpabuf_printf
    - wpabuf_put
    - wpabuf_put_str
    - os_snprintf
    linkageType: ''
    returnType: void
    signature: "void wps_er_soap_end(struct wpabuf *buf, const char *name,\n\t\t\t
      \   char *len_ptr, char *body_ptr)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:970,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_er.c:972,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:977,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_er.c:978,1
    - Dst: http_client_url_parse
      Src: /src/hostap/src/wps/wps_er.c:982,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:984,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_er.c:985,1
    - Dst: wps_er_soap_hdr
      Src: /src/hostap/src/wps/wps_er.c:989,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_er.c:991,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_er.c:992,1
    - Dst: wpabuf_printf
      Src: /src/hostap/src/wps/wps_er.c:995,1
    - Dst: wpabuf_printf
      Src: /src/hostap/src/wps/wps_er.c:997,1
    - Dst: MAC2STR
      Src: /src/hostap/src/wps/wps_er.c:998,1
    - Dst: wps_er_soap_end
      Src: /src/hostap/src/wps/wps_er.c:1000,1
    - Dst: http_client_addr
      Src: /src/hostap/src/wps/wps_er.c:1002,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_er.c:1005,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 2
    argNames:
    - sta
    - msg
    argTypes:
    - struct wps_er_sta*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 962
    functionDepth: 2
    functionLinenumber: 962
    functionLinenumberEnd: 1006
    functionName: wps_er_sta_send_msg
    functionSourceFile: /src/hostap/src/wps/wps_er.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_printf
    - http_client_url_parse
    - wps_er_soap_end
    - wpabuf_free
    - MAC2STR
    - wps_er_soap_hdr
    - http_client_addr
    - os_free
    linkageType: ''
    returnType: void
    signature: void wps_er_sta_send_msg(struct wps_er_sta *sta, struct wpabuf *msg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wps_process_msg
      Src: /src/hostap/src/wps/wps_er.c:1014,1
    - Dst: wps_get_msg
      Src: /src/hostap/src/wps/wps_er.c:1016,1
    - Dst: wps_er_sta_send_msg
      Src: /src/hostap/src/wps/wps_er.c:1018,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:1020,1
    - Dst: wps_deinit
      Src: /src/hostap/src/wps/wps_er.c:1023,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/wps/wps_er.c:1027,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/wps/wps_er.c:1028,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - sta
    - msg
    - op_code
    argTypes:
    - struct wps_er_sta*
    - struct wpabuf*
    - enum wsc_op_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 1009
    functionDepth: 3
    functionLinenumber: 1009
    functionLinenumberEnd: 1032
    functionName: wps_er_sta_process
    functionSourceFile: /src/hostap/src/wps/wps_er.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wps_process_msg
    - wps_deinit
    - eloop_cancel_timeout
    - wps_er_sta_send_msg
    - eloop_register_timeout
    - wps_get_msg
    linkageType: ''
    returnType: void
    signature: "void wps_er_sta_process(struct wps_er_sta *sta, struct wpabuf *msg,\n\t\t\t
      \      enum wsc_op_code op_code)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wps_deinit
      Src: /src/hostap/src/wps/wps_er.c:1040,1
    - Dst: os_memset
      Src: /src/hostap/src/wps/wps_er.c:1042,1
    - Dst: wps_init
      Src: /src/hostap/src/wps/wps_er.c:1047,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_er.c:1053,1
    - Dst: os_malloc
      Src: /src/hostap/src/wps/wps_er.c:1054,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_er.c:1056,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_er.c:1059,1
    - Dst: wps_er_sta_process
      Src: /src/hostap/src/wps/wps_er.c:1064,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - sta
    - msg
    argTypes:
    - struct wps_er_sta*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1035
    functionDepth: 4
    functionLinenumber: 1035
    functionLinenumberEnd: 1065
    functionName: wps_er_sta_start
    functionSourceFile: /src/hostap/src/wps/wps_er.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wps_deinit
    - os_malloc
    - wps_init
    - os_free
    - wps_er_sta_process
    - os_memset
    linkageType: ''
    returnType: void
    signature: void wps_er_sta_start(struct wps_er_sta *sta, struct wpabuf *msg)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:1074,1
    - Dst: MAC2STR
      Src: /src/hostap/src/wps/wps_er.c:1075,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/wps/wps_er.c:1076,1
    - Dst: wps_parse_msg
      Src: /src/hostap/src/wps/wps_er.c:1079,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:1080,1
    - Dst: wps_er_add_sta_data
      Src: /src/hostap/src/wps/wps_er.c:1085,1
    - Dst: wps_er_sta_start
      Src: /src/hostap/src/wps/wps_er.c:1090,1
    - Dst: wps_er_sta_process
      Src: /src/hostap/src/wps/wps_er.c:1106,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 3
    argNames:
    - ap
    - addr
    - msg
    argTypes:
    - struct wps_er_ap*
    - u8*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1068
    functionDepth: 5
    functionLinenumber: 1068
    functionLinenumberEnd: 1108
    functionName: wps_er_process_wlanevent_eap
    functionSourceFile: /src/hostap/src/wps/wps_er.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wps_er_add_sta_data
    - wpa_hexdump_buf
    - MAC2STR
    - wps_er_sta_start
    - wps_er_sta_process
    - wps_parse_msg
    linkageType: ''
    returnType: void
    signature: "void wps_er_process_wlanevent_eap(struct wps_er_ap *ap, const u8 *addr,\n\t\t\t\t\t
      struct wpabuf *msg)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/src/wps/wps_er.c:1119,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/wps/wps_er.c:1120,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/wps_er.c:1120,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/wps_er.c:1121,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:1122,1
    - Dst: wpabuf_mhead
      Src: /src/hostap/src/wps/wps_er.c:1126,1
    - Dst: hwaddr_aton
      Src: /src/hostap/src/wps/wps_er.c:1128,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:1129,1
    - Dst: wpabuf_set
      Src: /src/hostap/src/wps/wps_er.c:1134,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/wps_er.c:1134,1
    - Dst: wps_er_process_wlanevent_probe_req
      Src: /src/hostap/src/wps/wps_er.c:1138,1
    - Dst: wps_er_process_wlanevent_eap
      Src: /src/hostap/src/wps/wps_er.c:1141,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:1144,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - ap
    - event
    argTypes:
    - struct wps_er_ap*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1148
      start: 1111
    functionDepth: 6
    functionLinenumber: 1111
    functionLinenumberEnd: 1148
    functionName: wps_er_process_wlanevent
    functionSourceFile: /src/hostap/src/wps/wps_er.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    - wpabuf_len
    - hwaddr_aton
    - wps_er_process_wlanevent_probe_req
    - wps_er_process_wlanevent_eap
    - wpabuf_head
    - wpabuf_set
    - wpabuf_mhead
    linkageType: ''
    returnType: void
    signature: "void wps_er_process_wlanevent(struct wps_er_ap *ap,\n\t\t\t\t     struct
      wpabuf *event)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wps_er_ap_get_id
      Src: /src/hostap/src/wps/wps_er.c:1154,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:1159,1
    - Dst: wps_er_http_resp_not_found
      Src: /src/hostap/src/wps/wps_er.c:1161,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:1164,1
    - Dst: http_request_get_data
      Src: /src/hostap/src/wps/wps_er.c:1165,1
    - Dst: xml_get_base64_item
      Src: /src/hostap/src/wps/wps_er.c:1167,1
    - Dst: http_request_get_data
      Src: /src/hostap/src/wps/wps_er.c:1167,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:1170,1
    - Dst: wps_er_http_resp_ok
      Src: /src/hostap/src/wps/wps_er.c:1176,1
    - Dst: wps_er_process_wlanevent
      Src: /src/hostap/src/wps/wps_er.c:1180,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_er.c:1182,1
    - Dst: wps_er_http_resp_ok
      Src: /src/hostap/src/wps/wps_er.c:1183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - er
    - req
    - ap_id
    argTypes:
    - struct wps_er*
    - struct http_request*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1184
      start: 1151
    functionDepth: 7
    functionLinenumber: 1151
    functionLinenumberEnd: 1184
    functionName: wps_er_http_event
    functionSourceFile: /src/hostap/src/wps/wps_er.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - http_request_get_data
    - wps_er_ap_get_id
    - wpabuf_free
    - xml_get_base64_item
    - wps_er_http_resp_ok
    - wps_er_process_wlanevent
    - wps_er_http_resp_not_found
    linkageType: ''
    returnType: void
    signature: "void wps_er_http_event(struct wps_er *er, struct http_request *req,\n\t\t\t
      \     unsigned int ap_id)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: http_request_get_uri
      Src: /src/hostap/src/wps/wps_er.c:1189,1
    - Dst: os_strncmp
      Src: /src/hostap/src/wps/wps_er.c:1191,1
    - Dst: atoi
      Src: /src/hostap/src/wps/wps_er.c:1194,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:1196,1
    - Dst: http_request_deinit
      Src: /src/hostap/src/wps/wps_er.c:1198,1
    - Dst: os_strchr
      Src: /src/hostap/src/wps/wps_er.c:1201,1
    - Dst: http_request_deinit
      Src: /src/hostap/src/wps/wps_er.c:1203,1
    - Dst: wps_er_http_event
      Src: /src/hostap/src/wps/wps_er.c:1207,1
    - Dst: atoi
      Src: /src/hostap/src/wps/wps_er.c:1207,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:1209,1
    - Dst: wps_er_http_resp_not_found
      Src: /src/hostap/src/wps/wps_er.c:1211,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - er
    - req
    argTypes:
    - struct wps_er*
    - struct http_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1213
      start: 1187
    functionDepth: 8
    functionLinenumber: 1187
    functionLinenumberEnd: 1213
    functionName: wps_er_http_notify
    functionSourceFile: /src/hostap/src/wps/wps_er.c
    functionUses: 0
    functionsReached:
    - http_request_get_uri
    - wpa_printf
    - http_request_deinit
    - os_strncmp
    - wps_er_http_resp_not_found
    - wps_er_http_event
    - atoi
    - os_strchr
    linkageType: ''
    returnType: void
    signature: void wps_er_http_notify(struct wps_er *er, struct http_request *req)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: http_request_get_cli_addr
      Src: /src/hostap/src/wps/wps_er.c:1219,1
    - Dst: http_request_get_type
      Src: /src/hostap/src/wps/wps_er.c:1220,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:1223,1
    - Dst: http_request_get_uri
      Src: /src/hostap/src/wps/wps_er.c:1225,1
    - Dst: inet_ntoa
      Src: /src/hostap/src/wps/wps_er.c:1226,1
    - Dst: ntohs
      Src: /src/hostap/src/wps/wps_er.c:1226,1
    - Dst: wps_er_http_notify
      Src: /src/hostap/src/wps/wps_er.c:1230,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:1233,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/wps/wps_er.c:1235,1
    - Dst: http_request_deinit
      Src: /src/hostap/src/wps/wps_er.c:1237,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_er.c:1240,1
    - Dst: http_put_date
      Src: /src/hostap/src/wps/wps_er.c:1243,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_er.c:1244,1
    - Dst: http_request_send_and_deinit
      Src: /src/hostap/src/wps/wps_er.c:1245,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - ctx
    - req
    argTypes:
    - void*
    - struct http_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1248
      start: 1216
    functionDepth: 9
    functionLinenumber: 1216
    functionLinenumberEnd: 1248
    functionName: wps_er_http_req
    functionSourceFile: /src/hostap/src/wps/wps_er.c
    functionUses: 0
    functionsReached:
    - http_request_get_uri
    - wpa_printf
    - http_put_date
    - http_request_deinit
    - wpabuf_put_str
    - http_request_send_and_deinit
    - http_request_get_type
    - wpabuf_alloc
    - wps_er_http_notify
    - inet_ntoa
    - http_request_get_cli_addr
    - ntohs
    linkageType: ''
    returnType: void
    signature: void wps_er_http_req(void *ctx, struct http_request *req)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/wps/wps_er.c:1257,1
    - Dst: dl_list_init
      Src: /src/hostap/src/wps/wps_er.c:1260,1
    - Dst: dl_list_init
      Src: /src/hostap/src/wps/wps_er.c:1261,1
    - Dst: dl_list_init
      Src: /src/hostap/src/wps/wps_er.c:1262,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/wps/wps_er.c:1267,1
    - Dst: os_get_random
      Src: /src/hostap/src/wps/wps_er.c:1269,1
    - Dst: wps_er_deinit
      Src: /src/hostap/src/wps/wps_er.c:1271,1
    - Dst: os_strncmp
      Src: /src/hostap/src/wps/wps_er.c:1277,1
    - Dst: os_strchr
      Src: /src/hostap/src/wps/wps_er.c:1280,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/wps/wps_er.c:1283,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/wps/wps_er.c:1287,1
    - Dst: inet_aton
      Src: /src/hostap/src/wps/wps_er.c:1294,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:1295,1
    - Dst: wps_er_deinit
      Src: /src/hostap/src/wps/wps_er.c:1297,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:1300,1
    - Dst: get_netif_info
      Src: /src/hostap/src/wps/wps_er.c:1303,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:1305,1
    - Dst: wps_er_deinit
      Src: /src/hostap/src/wps/wps_er.c:1307,1
    - Dst: wps_er_ssdp_init
      Src: /src/hostap/src/wps/wps_er.c:1311,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:1312,1
    - Dst: wps_er_deinit
      Src: /src/hostap/src/wps/wps_er.c:1313,1
    - Dst: http_server_init
      Src: /src/hostap/src/wps/wps_er.c:1318,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:1320,1
    - Dst: wps_er_deinit
      Src: /src/hostap/src/wps/wps_er.c:1321,1
    - Dst: http_server_get_port
      Src: /src/hostap/src/wps/wps_er.c:1324,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:1326,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 56
    argCount: 3
    argNames:
    - wps
    - ifname
    - filter
    argTypes:
    - struct wps_context*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1251
    functionDepth: 1
    functionLinenumber: 1251
    functionLinenumberEnd: 1330
    functionName: wps_er_init
    functionSourceFile: /src/hostap/src/wps/wps_er.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wps_er_ssdp_init
    - inet_aton
    - get_netif_info
    - http_server_init
    - os_strlcpy
    - os_get_random
    - os_strncmp
    - wps_er_deinit
    - http_server_get_port
    - os_zalloc
    - dl_list_init
    - os_strchr
    linkageType: ''
    returnType: struct wps_er
    signature: 'struct wps_er *

      wps_er_init(struct wps_context *wps, const char *ifname, const char *filter)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/wps/wps_er.c:1338,1
    - Dst: wps_er_ap_event
      Src: /src/hostap/src/wps/wps_er.c:1339,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/wps/wps_er.c:1340,1
    - Dst: wps_er_sta_event
      Src: /src/hostap/src/wps/wps_er.c:1341,1
    - Dst: wps_er_send_ssdp_msearch
      Src: /src/hostap/src/wps/wps_er.c:1344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - er
    argTypes:
    - struct wps_er*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1345
      start: 1333
    functionDepth: 1
    functionLinenumber: 1333
    functionLinenumberEnd: 1345
    functionName: wps_er_refresh
    functionSourceFile: /src/hostap/src/wps/wps_er.c
    functionUses: 1
    functionsReached:
    - dl_list_for_each
    - wps_er_send_ssdp_msearch
    - wps_er_ap_event
    - wps_er_sta_event
    linkageType: ''
    returnType: void
    signature: void wps_er_refresh(struct wps_er *er)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:1355,1
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/wps/wps_er.c:1357,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:1359,1
    - Dst: inet_ntoa
      Src: /src/hostap/src/wps/wps_er.c:1360,1
    - Dst: dl_list_del
      Src: /src/hostap/src/wps/wps_er.c:1361,1
    - Dst: wps_er_ap_free
      Src: /src/hostap/src/wps/wps_er.c:1362,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/wps/wps_er.c:1365,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_er.c:1368,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_er.c:1369,1
    - Dst: deinit_done_cb
      Src: /src/hostap/src/wps/wps_er.c:1372,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - eloop_data
    - user_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1373
      start: 1348
    functionDepth: 4
    functionLinenumber: 1348
    functionLinenumberEnd: 1373
    functionName: wps_er_deinit_finish
    functionSourceFile: /src/hostap/src/wps/wps_er.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - deinit_done_cb
    - dl_list_del
    - eloop_cancel_timeout
    - os_free
    - inet_ntoa
    - wps_er_ap_free
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: void wps_er_deinit_finish(void *eloop_data, void *user_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: http_server_deinit
      Src: /src/hostap/src/wps/wps_er.c:1380,1
    - Dst: wps_er_ap_remove_all
      Src: /src/hostap/src/wps/wps_er.c:1381,1
    - Dst: wps_er_ssdp_deinit
      Src: /src/hostap/src/wps/wps_er.c:1382,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/wps/wps_er.c:1383,1
    - Dst: dl_list_empty
      Src: /src/hostap/src/wps/wps_er.c:1383,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:1385,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - er
    - ctx
    argTypes:
    - struct wps_er*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1389
      start: 1376
    functionDepth: 8
    functionLinenumber: 1376
    functionLinenumberEnd: 1389
    functionName: wps_er_deinit
    functionSourceFile: /src/hostap/src/wps/wps_er.c
    functionUses: 4
    functionsReached:
    - wpa_printf
    - dl_list_empty
    - wps_er_ssdp_deinit
    - wps_er_ap_remove_all
    - http_server_deinit
    - eloop_register_timeout
    linkageType: ''
    returnType: void
    signature: void wps_er_deinit(struct wps_er *er, void (*cb)(void *ctx), void *ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/wps/wps_er.c:1398,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:1402,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:1409,1
    - Dst: http_client_free
      Src: /src/hostap/src/wps/wps_er.c:1414,1
    - Dst: struct wps_er_ap*::er::wps::event_cb
      Src: /src/hostap/src/wps/wps_er.c:1418,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - ctx
    - c
    - event
    argTypes:
    - void*
    - struct http_client*
    - enum http_client_event
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1420
      start: 1392
    functionDepth: 3
    functionLinenumber: 1392
    functionLinenumberEnd: 1420
    functionName: wps_er_http_set_sel_reg_cb
    functionSourceFile: /src/hostap/src/wps/wps_er.c
    functionUses: 0
    functionsReached:
    - http_client_free
    - wpa_printf
    - struct wps_er_ap*::er::wps::event_cb
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void wps_er_http_set_sel_reg_cb(void *ctx, struct http_client *c,\n\t\t\t\t
      \      enum http_client_event event)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:1431,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:1436,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:1442,1
    - Dst: http_client_url_parse
      Src: /src/hostap/src/wps/wps_er.c:1447,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:1449,1
    - Dst: wps_er_soap_hdr
      Src: /src/hostap/src/wps/wps_er.c:1453,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_er.c:1455,1
    - Dst: wps_er_soap_end
      Src: /src/hostap/src/wps/wps_er.c:1459,1
    - Dst: http_client_addr
      Src: /src/hostap/src/wps/wps_er.c:1461,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_er.c:1464,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - ap
    - msg
    argTypes:
    - struct wps_er_ap*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1465
      start: 1423
    functionDepth: 2
    functionLinenumber: 1423
    functionLinenumberEnd: 1465
    functionName: wps_er_send_set_sel_reg
    functionSourceFile: /src/hostap/src/wps/wps_er.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - http_client_url_parse
    - wps_er_soap_end
    - wpabuf_free
    - wps_er_soap_hdr
    - http_client_addr
    - os_free
    linkageType: ''
    returnType: void
    signature: void wps_er_send_set_sel_reg(struct wps_er_ap *ap, struct wpabuf *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_er.c:1470,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_er.c:1471,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/wps/wps_er.c:1472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - msg
    - sel_reg
    argTypes:
    - struct wpabuf*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1474
      start: 1468
    functionDepth: 1
    functionLinenumber: 1468
    functionLinenumberEnd: 1474
    functionName: wps_er_build_selected_registrar
    functionSourceFile: /src/hostap/src/wps/wps_er.c
    functionUses: 0
    functionsReached:
    - wpabuf_put_be16
    - wpabuf_put_u8
    linkageType: ''
    returnType: int
    signature: int wps_er_build_selected_registrar(struct wpabuf *msg, int sel_reg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_er.c:1479,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_er.c:1480,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_er.c:1481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - msg
    - dev_passwd_id
    argTypes:
    - struct wpabuf*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1483
      start: 1477
    functionDepth: 1
    functionLinenumber: 1477
    functionLinenumberEnd: 1483
    functionName: wps_er_build_dev_password_id
    functionSourceFile: /src/hostap/src/wps/wps_er.c
    functionUses: 0
    functionsReached:
    - wpabuf_put_be16
    linkageType: ''
    returnType: int
    signature: int wps_er_build_dev_password_id(struct wpabuf *msg, u16 dev_passwd_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_er.c:1489,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_er.c:1490,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_er.c:1491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - msg
    - sel_reg_config_methods
    argTypes:
    - struct wpabuf*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1493
      start: 1486
    functionDepth: 1
    functionLinenumber: 1486
    functionLinenumberEnd: 1493
    functionName: wps_er_build_sel_reg_config_methods
    functionSourceFile: /src/hostap/src/wps/wps_er.c
    functionUses: 0
    functionsReached:
    - wpabuf_put_be16
    linkageType: ''
    returnType: int
    signature: "int wps_er_build_sel_reg_config_methods(struct wpabuf *msg,\n\t\t\t\t\t
      \      u16 sel_reg_config_methods)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_er.c:1498,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_er.c:1499,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/wps/wps_er.c:1500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - msg
    - uuid_r
    argTypes:
    - struct wpabuf*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1502
      start: 1496
    functionDepth: 1
    functionLinenumber: 1496
    functionLinenumberEnd: 1502
    functionName: wps_er_build_uuid_r
    functionSourceFile: /src/hostap/src/wps/wps_er.c
    functionUses: 0
    functionsReached:
    - wpabuf_put_be16
    - wpabuf_put_data
    linkageType: ''
    returnType: int
    signature: int wps_er_build_uuid_r(struct wpabuf *msg, const u8 *uuid_r)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:1517,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/wps/wps_er.c:1521,1
    - Dst: wps_authorized_macs
      Src: /src/hostap/src/wps/wps_er.c:1525,1
    - Dst: os_memset
      Src: /src/hostap/src/wps/wps_er.c:1527,1
    - Dst: wps_build_version
      Src: /src/hostap/src/wps/wps_er.c:1532,1
    - Dst: wps_er_build_selected_registrar
      Src: /src/hostap/src/wps/wps_er.c:1533,1
    - Dst: wps_er_build_dev_password_id
      Src: /src/hostap/src/wps/wps_er.c:1534,1
    - Dst: wps_er_build_sel_reg_config_methods
      Src: /src/hostap/src/wps/wps_er.c:1535,1
    - Dst: wps_build_wfa_ext
      Src: /src/hostap/src/wps/wps_er.c:1536,1
    - Dst: wps_er_build_uuid_r
      Src: /src/hostap/src/wps/wps_er.c:1537,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_er.c:1538,1
    - Dst: os_memset
      Src: /src/hostap/src/wps/wps_er.c:1542,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/wps/wps_er.c:1548,1
    - Dst: os_memcmp
      Src: /src/hostap/src/wps/wps_er.c:1550,1
    - Dst: struct wps_er*::wps::event_cb
      Src: /src/hostap/src/wps/wps_er.c:1554,1
    - Dst: wps_er_send_set_sel_reg
      Src: /src/hostap/src/wps/wps_er.c:1556,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_er.c:1559,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 4
    argNames:
    - er
    - sel_reg
    - dev_passwd_id
    - sel_reg_config_methods
    argTypes:
    - struct wps_er*
    - int
    - u16
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1560
      start: 1505
    functionDepth: 3
    functionLinenumber: 1505
    functionLinenumberEnd: 1560
    functionName: wps_er_set_sel_reg
    functionSourceFile: /src/hostap/src/wps/wps_er.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wps_authorized_macs
    - wps_er_send_set_sel_reg
    - wps_er_build_dev_password_id
    - wps_build_wfa_ext
    - wpabuf_free
    - wps_er_build_selected_registrar
    - wps_er_build_uuid_r
    - dl_list_for_each
    - struct wps_er*::wps::event_cb
    - wpabuf_alloc
    - wps_er_build_sel_reg_config_methods
    - os_memcmp
    - wps_build_version
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void wps_er_set_sel_reg(struct wps_er *er, int sel_reg, u16 dev_passwd_id,\n\t\t\tu16
      sel_reg_config_methods)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wps_registrar_pbc_overlap
      Src: /src/hostap/src/wps/wps_er.c:1571,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:1572,1
    - Dst: wps_er_ap_get
      Src: /src/hostap/src/wps/wps_er.c:1578,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/wps/wps_er.c:1583,1
    - Dst: wps_er_sta_get
      Src: /src/hostap/src/wps/wps_er.c:1584,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:1595,1
    - Dst: wps_registrar_button_pushed
      Src: /src/hostap/src/wps/wps_er.c:1600,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 3
    argNames:
    - er
    - uuid
    - addr
    argTypes:
    - struct wps_er*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1606
      start: 1563
    functionDepth: 3
    functionLinenumber: 1563
    functionLinenumberEnd: 1606
    functionName: wps_er_pbc
    functionSourceFile: /src/hostap/src/wps/wps_er.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wps_er_ap_get
    - dl_list_for_each
    - wps_er_sta_get
    - wps_registrar_button_pushed
    - wps_registrar_pbc_overlap
    linkageType: ''
    returnType: int
    signature: int wps_er_pbc(struct wps_er *er, const u8 *uuid, const u8 *addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:1614,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_er.c:1615,1
    - Dst: os_malloc
      Src: /src/hostap/src/wps/wps_er.c:1616,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_er.c:1618,1
    - Dst: os_memset
      Src: /src/hostap/src/wps/wps_er.c:1622,1
    - Dst: struct wps_er_ap*::er::wps::event_cb
      Src: /src/hostap/src/wps/wps_er.c:1625,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - cred
    argTypes:
    - void*
    - struct wps_credential*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1627
      start: 1609
    functionDepth: 0
    functionLinenumber: 1609
    functionLinenumberEnd: 1627
    functionName: wps_er_ap_settings_cb
    functionSourceFile: /src/hostap/src/wps/wps_er.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - struct wps_er_ap*::er::wps::event_cb
    - os_malloc
    - os_free
    - os_memset
    linkageType: ''
    returnType: void
    signature: void wps_er_ap_settings_cb(void *ctx, const struct wps_credential *cred)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/wps/wps_er.c:1633,1
    - Dst: wps_er_sta_get
      Src: /src/hostap/src/wps/wps_er.c:1635,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - er
    - addr
    argTypes:
    - struct wps_er*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1640
      start: 1630
    functionDepth: 2
    functionLinenumber: 1630
    functionLinenumberEnd: 1640
    functionName: wps_er_get_sta_uuid
    functionSourceFile: /src/hostap/src/wps/wps_er.c
    functionUses: 1
    functionsReached:
    - dl_list_for_each
    - wps_er_sta_get
    linkageType: ''
    returnType: u8
    signature: u8 * wps_er_get_sta_uuid(struct wps_er *er, const u8 *addr)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:1652,1
    - Dst: http_client_get_body
      Src: /src/hostap/src/wps/wps_er.c:1653,1
    - Dst: os_zalloc
      Src: /src/hostap/src/wps/wps_er.c:1655,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/wps_er.c:1655,1
    - Dst: wps_deinit
      Src: /src/hostap/src/wps/wps_er.c:1658,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_er.c:1663,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/wps/wps_er.c:1663,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/wps_er.c:1663,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:1668,1
    - Dst: wps_deinit
      Src: /src/hostap/src/wps/wps_er.c:1670,1
    - Dst: http_client_free
      Src: /src/hostap/src/wps/wps_er.c:1675,1
    - Dst: xml_get_base64_item
      Src: /src/hostap/src/wps/wps_er.c:1681,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_er.c:1682,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:1684,1
    - Dst: wps_deinit
      Src: /src/hostap/src/wps/wps_er.c:1686,1
    - Dst: wps_er_ap_process
      Src: /src/hostap/src/wps/wps_er.c:1690,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_er.c:1691,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 3
    argNames:
    - ctx
    - c
    - event
    argTypes:
    - void*
    - struct http_client*
    - enum http_client_event
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1693
      start: 1643
    functionDepth: 3
    functionLinenumber: 1643
    functionLinenumberEnd: 1693
    functionName: wps_er_http_put_message_cb
    functionSourceFile: /src/hostap/src/wps/wps_er.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpabuf_len
    - wps_deinit
    - wpabuf_free
    - http_client_get_body
    - wpabuf_head
    - xml_get_base64_item
    - wps_er_ap_process
    - os_zalloc
    - os_free
    - http_client_free
    linkageType: ''
    returnType: void
    signature: "void wps_er_http_put_message_cb(void *ctx, struct http_client *c,\n\t\t\t\t
      \      enum http_client_event event)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:1705,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:1711,1
    - Dst: http_client_url_parse
      Src: /src/hostap/src/wps/wps_er.c:1715,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:1717,1
    - Dst: wps_er_soap_hdr
      Src: /src/hostap/src/wps/wps_er.c:1721,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_er.c:1723,1
    - Dst: wps_er_soap_end
      Src: /src/hostap/src/wps/wps_er.c:1727,1
    - Dst: http_client_addr
      Src: /src/hostap/src/wps/wps_er.c:1729,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_er.c:1732,1
    - Dst: wps_deinit
      Src: /src/hostap/src/wps/wps_er.c:1739,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 2
    argNames:
    - ap
    - msg
    argTypes:
    - struct wps_er_ap*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1742
      start: 1696
    functionDepth: 2
    functionLinenumber: 1696
    functionLinenumberEnd: 1742
    functionName: wps_er_ap_put_message
    functionSourceFile: /src/hostap/src/wps/wps_er.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - http_client_url_parse
    - wps_er_soap_end
    - wps_deinit
    - wpabuf_free
    - wps_er_soap_hdr
    - http_client_addr
    - os_free
    linkageType: ''
    returnType: void
    signature: "void wps_er_ap_put_message(struct wps_er_ap *ap,\n\t\t\t\t  const
      struct wpabuf *msg)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wps_parse_msg
      Src: /src/hostap/src/wps/wps_er.c:1752,1
    - Dst: wps_process_msg
      Src: /src/hostap/src/wps/wps_er.c:1766,1
    - Dst: wps_get_msg
      Src: /src/hostap/src/wps/wps_er.c:1768,1
    - Dst: wps_er_ap_put_message
      Src: /src/hostap/src/wps/wps_er.c:1770,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_er.c:1771,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:1773,1
    - Dst: wps_deinit
      Src: /src/hostap/src/wps/wps_er.c:1775,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:1779,1
    - Dst: wps_deinit
      Src: /src/hostap/src/wps/wps_er.c:1780,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:1783,1
    - Dst: wps_deinit
      Src: /src/hostap/src/wps/wps_er.c:1785,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 2
    argNames:
    - ap
    - msg
    argTypes:
    - struct wps_er_ap*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1788
      start: 1745
    functionDepth: 5
    functionLinenumber: 1745
    functionLinenumberEnd: 1788
    functionName: wps_er_ap_process
    functionSourceFile: /src/hostap/src/wps/wps_er.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wps_process_msg
    - wps_deinit
    - wpabuf_free
    - wps_er_ap_put_message
    - wps_get_msg
    - wps_parse_msg
    linkageType: ''
    returnType: void
    signature: void wps_er_ap_process(struct wps_er_ap *ap, struct wpabuf *msg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:1796,1
    - Dst: os_memset
      Src: /src/hostap/src/wps/wps_er.c:1801,1
    - Dst: wps_init
      Src: /src/hostap/src/wps/wps_er.c:1804,1
    - Dst: wps_er_ap_process
      Src: /src/hostap/src/wps/wps_er.c:1810,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - ap
    - m1
    argTypes:
    - struct wps_er_ap*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1811
      start: 1791
    functionDepth: 6
    functionLinenumber: 1791
    functionLinenumberEnd: 1811
    functionName: wps_er_ap_learn_m1
    functionSourceFile: /src/hostap/src/wps/wps_er.c
    functionUses: 0
    functionsReached:
    - wps_er_ap_process
    - wpa_printf
    - wps_init
    - os_memset
    linkageType: ''
    returnType: void
    signature: void wps_er_ap_learn_m1(struct wps_er_ap *ap, struct wpabuf *m1)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:1819,1
    - Dst: xml_get_base64_item
      Src: /src/hostap/src/wps/wps_er.c:1821,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:1823,1
    - Dst: struct wps_er_ap*::m1_handler
      Src: /src/hostap/src/wps/wps_er.c:1828,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_er.c:1829,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ap
    - dev_info
    argTypes:
    - struct wps_er_ap*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1830
      start: 1814
    functionDepth: 3
    functionLinenumber: 1814
    functionLinenumberEnd: 1830
    functionName: wps_er_ap_learn
    functionSourceFile: /src/hostap/src/wps/wps_er.c
    functionUses: 0
    functionsReached:
    - wpabuf_free
    - wpa_printf
    - struct wps_er_ap*::m1_handler
    - xml_get_base64_item
    linkageType: ''
    returnType: void
    signature: void wps_er_ap_learn(struct wps_er_ap *ap, const char *dev_info)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:1842,1
    - Dst: http_client_get_body
      Src: /src/hostap/src/wps/wps_er.c:1843,1
    - Dst: os_zalloc
      Src: /src/hostap/src/wps/wps_er.c:1846,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/wps_er.c:1846,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_er.c:1849,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/wps/wps_er.c:1849,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/wps_er.c:1849,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:1854,1
    - Dst: http_client_free
      Src: /src/hostap/src/wps/wps_er.c:1857,1
    - Dst: wps_er_ap_learn
      Src: /src/hostap/src/wps/wps_er.c:1861,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_er.c:1862,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - ctx
    - c
    - event
    argTypes:
    - void*
    - struct http_client*
    - enum http_client_event
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1864
      start: 1833
    functionDepth: 4
    functionLinenumber: 1833
    functionLinenumberEnd: 1864
    functionName: wps_er_http_get_dev_info_cb
    functionSourceFile: /src/hostap/src/wps/wps_er.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpabuf_len
    - http_client_get_body
    - wpabuf_head
    - os_zalloc
    - wps_er_ap_learn
    - http_client_free
    - os_free
    linkageType: ''
    returnType: void
    signature: "void wps_er_http_get_dev_info_cb(void *ctx, struct http_client *c,\n\t\t\t\t\tenum
      http_client_event event)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:1877,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:1883,1
    - Dst: http_client_url_parse
      Src: /src/hostap/src/wps/wps_er.c:1887,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:1889,1
    - Dst: wps_er_soap_hdr
      Src: /src/hostap/src/wps/wps_er.c:1893,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_er.c:1895,1
    - Dst: wps_er_soap_end
      Src: /src/hostap/src/wps/wps_er.c:1899,1
    - Dst: http_client_addr
      Src: /src/hostap/src/wps/wps_er.c:1901,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_er.c:1904,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 1
    argNames:
    - ap
    argTypes:
    - struct wps_er_ap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1911
      start: 1867
    functionDepth: 2
    functionLinenumber: 1867
    functionLinenumberEnd: 1911
    functionName: wps_er_send_get_device_info
    functionSourceFile: /src/hostap/src/wps/wps_er.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - http_client_url_parse
    - wps_er_soap_end
    - wpabuf_free
    - wps_er_soap_hdr
    - http_client_addr
    - os_free
    linkageType: ''
    returnType: int
    signature: "int wps_er_send_get_device_info(struct wps_er_ap *ap,\n\t\t\t\t       void
      (*m1_handler)(struct wps_er_ap *ap,\n\t\t\t\t\t\t\t  struct wpabuf *m1))"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wps_er_ap_get
      Src: /src/hostap/src/wps/wps_er.c:1922,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:1924,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:1931,1
    - Dst: wps_er_send_get_device_info
      Src: /src/hostap/src/wps/wps_er.c:1936,1
    - Dst: wps_registrar_add_pin
      Src: /src/hostap/src/wps/wps_er.c:1940,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 5
    argNames:
    - er
    - uuid
    - addr
    - pin
    - pin_len
    argTypes:
    - struct wps_er*
    - u8*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1944
      start: 1914
    functionDepth: 3
    functionLinenumber: 1914
    functionLinenumberEnd: 1944
    functionName: wps_er_learn
    functionSourceFile: /src/hostap/src/wps/wps_er.c
    functionUses: 2
    functionsReached:
    - wps_registrar_add_pin
    - wpa_printf
    - wps_er_send_get_device_info
    - wps_er_ap_get
    linkageType: ''
    returnType: int
    signature: "int wps_er_learn(struct wps_er *er, const u8 *uuid, const u8 *addr,\n\t\t
      const u8 *pin, size_t pin_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wps_er_ap_get
      Src: /src/hostap/src/wps/wps_er.c:1955,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:1957,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_er.c:1962,1
    - Dst: os_memdup
      Src: /src/hostap/src/wps/wps_er.c:1963,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:1967,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - er
    - uuid
    - addr
    - cred
    argTypes:
    - struct wps_er*
    - u8*
    - u8*
    - struct wps_credential*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1971
      start: 1947
    functionDepth: 2
    functionLinenumber: 1947
    functionLinenumberEnd: 1971
    functionName: wps_er_set_config
    functionSourceFile: /src/hostap/src/wps/wps_er.c
    functionUses: 2
    functionsReached:
    - os_free
    - os_memdup
    - wpa_printf
    - wps_er_ap_get
    linkageType: ''
    returnType: int
    signature: "int wps_er_set_config(struct wps_er *er, const u8 *uuid, const u8
      *addr,\n\t\t      const struct wps_credential *cred)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:1979,1
    - Dst: os_memset
      Src: /src/hostap/src/wps/wps_er.c:1984,1
    - Dst: wps_init
      Src: /src/hostap/src/wps/wps_er.c:1988,1
    - Dst: wps_er_ap_process
      Src: /src/hostap/src/wps/wps_er.c:1994,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - ap
    - m1
    argTypes:
    - struct wps_er_ap*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1995
      start: 1974
    functionDepth: 6
    functionLinenumber: 1974
    functionLinenumberEnd: 1995
    functionName: wps_er_ap_config_m1
    functionSourceFile: /src/hostap/src/wps/wps_er.c
    functionUses: 0
    functionsReached:
    - wps_er_ap_process
    - wpa_printf
    - wps_init
    - os_memset
    linkageType: ''
    returnType: void
    signature: void wps_er_ap_config_m1(struct wps_er_ap *ap, struct wpabuf *m1)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wps_er_ap_get
      Src: /src/hostap/src/wps/wps_er.c:2007,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:2009,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:2016,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_er.c:2021,1
    - Dst: os_memdup
      Src: /src/hostap/src/wps/wps_er.c:2022,1
    - Dst: wps_er_send_get_device_info
      Src: /src/hostap/src/wps/wps_er.c:2027,1
    - Dst: wps_registrar_add_pin
      Src: /src/hostap/src/wps/wps_er.c:2031,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 6
    argNames:
    - er
    - uuid
    - addr
    - pin
    - pin_len
    - cred
    argTypes:
    - struct wps_er*
    - u8*
    - u8*
    - u8*
    - size_t
    - struct wps_credential*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2035
      start: 1998
    functionDepth: 3
    functionLinenumber: 1998
    functionLinenumberEnd: 2035
    functionName: wps_er_config
    functionSourceFile: /src/hostap/src/wps/wps_er.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - wps_er_send_get_device_info
    - os_memdup
    - wps_er_ap_get
    - wps_registrar_add_pin
    - os_free
    linkageType: ''
    returnType: int
    signature: "int wps_er_config(struct wps_er *er, const u8 *uuid, const u8 *addr,\n\t\t
      \ const u8 *pin, size_t pin_len,\n\t\t  const struct wps_credential *cred)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/wps/wps_er.c:2046,1
    - Dst: os_memset
      Src: /src/hostap/src/wps/wps_er.c:2050,1
    - Dst: wps_build_cred
      Src: /src/hostap/src/wps/wps_er.c:2053,1
    - Dst: wps_build_wfa_ext
      Src: /src/hostap/src/wps/wps_er.c:2054,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_er.c:2055,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - wps
    - cred
    argTypes:
    - struct wps_context*
    - struct wps_credential*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2060
      start: 2040
    functionDepth: 1
    functionLinenumber: 2040
    functionLinenumberEnd: 2060
    functionName: wps_er_config_token_from_cred
    functionSourceFile: /src/hostap/src/wps/wps_er.c
    functionUses: 1
    functionsReached:
    - wps_build_cred
    - wpabuf_free
    - wps_build_wfa_ext
    - wpabuf_alloc
    - os_memset
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * wps_er_config_token_from_cred(struct wps_context *wps,\n\t\t\t\t\t
      \     struct wps_credential *cred)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wps_er_ap_get
      Src: /src/hostap/src/wps/wps_er.c:2071,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:2075,1
    - Dst: wps_er_config_token_from_cred
      Src: /src/hostap/src/wps/wps_er.c:2080,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - er
    - uuid
    - addr
    argTypes:
    - struct wps_er*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2081
      start: 2063
    functionDepth: 2
    functionLinenumber: 2063
    functionLinenumberEnd: 2081
    functionName: wps_er_nfc_config_token
    functionSourceFile: /src/hostap/src/wps/wps_er.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - wps_er_ap_get
    - wps_er_config_token_from_cred
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * wps_er_nfc_config_token(struct wps_er *er, const u8
      *uuid,\n\t\t\t\t\tconst u8 *addr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wps_er_ap_get
      Src: /src/hostap/src/wps/wps_er.c:2093,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er.c:2097,1
    - Dst: os_memcpy
      Src: /src/hostap/src/wps/wps_er.c:2102,1
    - Dst: wps_build_nfc_handover_sel
      Src: /src/hostap/src/wps/wps_er.c:2105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - er
    - wps
    - uuid
    - addr
    - pubkey
    argTypes:
    - struct wps_er*
    - struct wps_context*
    - u8*
    - u8*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2106
      start: 2084
    functionDepth: 4
    functionLinenumber: 2084
    functionLinenumberEnd: 2106
    functionName: wps_er_nfc_handover_sel
    functionSourceFile: /src/hostap/src/wps/wps_er.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - wps_er_ap_get
    - os_memcpy
    - wps_build_nfc_handover_sel
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * wps_er_nfc_handover_sel(struct wps_er *er,\n\t\t\t\t\tstruct
      wps_context *wps, const u8 *uuid,\n\t\t\t\t\tconst u8 *addr, struct wpabuf *pubkey)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/http_server.c:48,1
    - Dst: inet_ntoa
      Src: /src/hostap/src/wps/http_server.c:49,1
    - Dst: ntohs
      Src: /src/hostap/src/wps/http_server.c:50,1
    - Dst: struct http_server*::cb
      Src: /src/hostap/src/wps/http_server.c:51,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/http_server.c:54,1
    - Dst: inet_ntoa
      Src: /src/hostap/src/wps/http_server.c:55,1
    - Dst: ntohs
      Src: /src/hostap/src/wps/http_server.c:56,1
    - Dst: http_request_deinit
      Src: /src/hostap/src/wps/http_server.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - handle
    - cookie
    - en
    argTypes:
    - struct httpread*
    - void*
    - enum httpread_event
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 58
    functionName: http_request_cb
    functionSourceFile: /src/hostap/src/wps/http_server.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - http_request_deinit
    - struct http_server*::cb
    - inet_ntoa
    - ntohs
    linkageType: ''
    returnType: void
    signature: "void http_request_cb(struct httpread *handle, void *cookie,\n\t\t\t
      \   enum httpread_event en)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/http_server.c:67,1
    - Dst: close
      Src: /src/hostap/src/wps/http_server.c:68,1
    - Dst: os_zalloc
      Src: /src/hostap/src/wps/http_server.c:72,1
    - Dst: close
      Src: /src/hostap/src/wps/http_server.c:74,1
    - Dst: httpread_create
      Src: /src/hostap/src/wps/http_server.c:82,1
    - Dst: http_request_deinit
      Src: /src/hostap/src/wps/http_server.c:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - srv
    - fd
    - cli
    argTypes:
    - struct http_server*
    - int
    - struct sockaddr_in*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 61
    functionDepth: 3
    functionLinenumber: 61
    functionLinenumberEnd: 91
    functionName: http_request_init
    functionSourceFile: /src/hostap/src/wps/http_server.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - http_request_deinit
    - os_zalloc
    - close
    - httpread_create
    linkageType: ''
    returnType: struct http_request
    signature: "struct http_request * http_request_init(struct http_server *srv, int
      fd,\n\t\t\t\t\t       struct sockaddr_in *cli)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: httpread_destroy
      Src: /src/hostap/src/wps/http_server.c:118,1
    - Dst: close
      Src: /src/hostap/src/wps/http_server.c:119,1
    - Dst: os_free
      Src: /src/hostap/src/wps/http_server.c:120,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct http_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 121
    functionName: http_request_deinit
    functionSourceFile: /src/hostap/src/wps/http_server.c
    functionUses: 12
    functionsReached:
    - os_free
    - close
    - httpread_destroy
    linkageType: ''
    returnType: void
    signature: void http_request_deinit(struct http_request *req)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_request_deinit
      Src: /src/hostap/src/wps/http_server.c:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct http_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 124
    functionDepth: 3
    functionLinenumber: 124
    functionLinenumberEnd: 132
    functionName: http_request_free_all
    functionSourceFile: /src/hostap/src/wps/http_server.c
    functionUses: 0
    functionsReached:
    - http_request_deinit
    linkageType: ''
    returnType: void
    signature: void http_request_free_all(struct http_request *req)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/http_server.c:139,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/http_server.c:140,1
    - Dst: inet_ntoa
      Src: /src/hostap/src/wps/http_server.c:141,1
    - Dst: ntohs
      Src: /src/hostap/src/wps/http_server.c:142,1
    - Dst: send
      Src: /src/hostap/src/wps/http_server.c:144,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/wps/http_server.c:144,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/http_server.c:144,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/http_server.c:146,1
    - Dst: strerror
      Src: /src/hostap/src/wps/http_server.c:147,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/http_server.c:148,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/http_server.c:149,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/http_server.c:150,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/http_server.c:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - struct http_request*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 155
    functionName: http_request_send
    functionSourceFile: /src/hostap/src/wps/http_server.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - send
    - strerror
    - wpabuf_len
    - wpabuf_free
    - wpabuf_head
    - inet_ntoa
    - ntohs
    linkageType: ''
    returnType: void
    signature: void http_request_send(struct http_request *req, struct wpabuf *resp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_request_send
      Src: /src/hostap/src/wps/http_server.c:161,1
    - Dst: http_request_deinit
      Src: /src/hostap/src/wps/http_server.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - struct http_request*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 158
    functionDepth: 3
    functionLinenumber: 158
    functionLinenumberEnd: 163
    functionName: http_request_send_and_deinit
    functionSourceFile: /src/hostap/src/wps/http_server.c
    functionUses: 8
    functionsReached:
    - http_request_deinit
    - http_request_send
    linkageType: ''
    returnType: void
    signature: "void http_request_send_and_deinit(struct http_request *req,\n\t\t\t\t
      \ struct wpabuf *resp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: httpread_hdr_type_get
      Src: /src/hostap/src/wps/http_server.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct http_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: http_request_get_type
    functionSourceFile: /src/hostap/src/wps/http_server.c
    functionUses: 2
    functionsReached:
    - httpread_hdr_type_get
    linkageType: ''
    returnType: enum httpread_hdr_type
    signature: enum httpread_hdr_type http_request_get_type(struct http_request *req)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: httpread_uri_get
      Src: /src/hostap/src/wps/http_server.c:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct http_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 175
    functionName: http_request_get_uri
    functionSourceFile: /src/hostap/src/wps/http_server.c
    functionUses: 3
    functionsReached:
    - httpread_uri_get
    linkageType: ''
    returnType: char
    signature: char * http_request_get_uri(struct http_request *req)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: httpread_hdr_get
      Src: /src/hostap/src/wps/http_server.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct http_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: http_request_get_hdr
    functionSourceFile: /src/hostap/src/wps/http_server.c
    functionUses: 2
    functionsReached:
    - httpread_hdr_get
    linkageType: ''
    returnType: char
    signature: char * http_request_get_hdr(struct http_request *req)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: httpread_data_get
      Src: /src/hostap/src/wps/http_server.c:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct http_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 187
    functionName: http_request_get_data
    functionSourceFile: /src/hostap/src/wps/http_server.c
    functionUses: 2
    functionsReached:
    - httpread_data_get
    linkageType: ''
    returnType: char
    signature: char * http_request_get_data(struct http_request *req)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: httpread_hdr_line_get
      Src: /src/hostap/src/wps/http_server.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - req
    - tag
    argTypes:
    - struct http_request*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: http_request_get_hdr_line
    functionSourceFile: /src/hostap/src/wps/http_server.c
    functionUses: 1
    functionsReached:
    - httpread_hdr_line_get
    linkageType: ''
    returnType: char
    signature: char * http_request_get_hdr_line(struct http_request *req, const char
      *tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct http_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 199
    functionName: http_request_get_cli_addr
    functionSourceFile: /src/hostap/src/wps/http_server.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: struct sockaddr_in
    signature: struct sockaddr_in * http_request_get_cli_addr(struct http_request
      *req)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: accept
      Src: /src/hostap/src/wps/http_server.c:210,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/http_server.c:212,1
    - Dst: strerror
      Src: /src/hostap/src/wps/http_server.c:213,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/http_server.c:216,1
    - Dst: inet_ntoa
      Src: /src/hostap/src/wps/http_server.c:217,1
    - Dst: ntohs
      Src: /src/hostap/src/wps/http_server.c:217,1
    - Dst: http_request_init
      Src: /src/hostap/src/wps/http_server.c:219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - sd
    - eloop_ctx
    - sock_ctx
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 202
    functionDepth: 4
    functionLinenumber: 202
    functionLinenumberEnd: 226
    functionName: http_server_cb
    functionSourceFile: /src/hostap/src/wps/http_server.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - strerror
    - accept
    - http_request_init
    - inet_ntoa
    - ntohs
    linkageType: ''
    returnType: void
    signature: void http_server_cb(int sd, void *eloop_ctx, void *sock_ctx)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/wps/http_server.c:238,1
    - Dst: socket
      Src: /src/hostap/src/wps/http_server.c:244,1
    - Dst: setsockopt
      Src: /src/hostap/src/wps/http_server.c:248,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/http_server.c:250,1
    - Dst: strerror
      Src: /src/hostap/src/wps/http_server.c:252,1
    - Dst: fcntl
      Src: /src/hostap/src/wps/http_server.c:256,1
    - Dst: os_memset
      Src: /src/hostap/src/wps/http_server.c:263,1
    - Dst: htons
      Src: /src/hostap/src/wps/http_server.c:268,1
    - Dst: bind
      Src: /src/hostap/src/wps/http_server.c:269,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/http_server.c:277,1
    - Dst: strerror
      Src: /src/hostap/src/wps/http_server.c:278,1
    - Dst: listen
      Src: /src/hostap/src/wps/http_server.c:281,1
    - Dst: fcntl
      Src: /src/hostap/src/wps/http_server.c:282,1
    - Dst: eloop_register_sock
      Src: /src/hostap/src/wps/http_server.c:283,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/http_server.c:287,1
    - Dst: inet_ntoa
      Src: /src/hostap/src/wps/http_server.c:288,1
    - Dst: http_server_deinit
      Src: /src/hostap/src/wps/http_server.c:293,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 45
    argCount: 3
    argNames:
    - addr
    - port
    - cb_ctx
    argTypes:
    - struct in_addr*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 295
    functionName: http_server_init
    functionSourceFile: /src/hostap/src/wps/http_server.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - strerror
    - setsockopt
    - socket
    - os_memset
    - http_server_deinit
    - eloop_register_sock
    - os_zalloc
    - listen
    - inet_ntoa
    - bind
    - htons
    - fcntl
    linkageType: ''
    returnType: struct http_server
    signature: "struct http_server * http_server_init(struct in_addr *addr, int port,\n\t\t\t\t
      \     void (*cb)(void *ctx,\n\t\t\t\t\t\t struct http_request *req),\n\t\t\t\t
      \     void *cb_ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eloop_unregister_sock
      Src: /src/hostap/src/wps/http_server.c:303,1
    - Dst: close
      Src: /src/hostap/src/wps/http_server.c:304,1
    - Dst: http_request_free_all
      Src: /src/hostap/src/wps/http_server.c:306,1
    - Dst: os_free
      Src: /src/hostap/src/wps/http_server.c:308,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - srv
    argTypes:
    - struct http_server*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 298
    functionDepth: 4
    functionLinenumber: 298
    functionLinenumberEnd: 309
    functionName: http_server_deinit
    functionSourceFile: /src/hostap/src/wps/http_server.c
    functionUses: 3
    functionsReached:
    - close
    - os_free
    - eloop_unregister_sock
    - http_request_free_all
    linkageType: ''
    returnType: void
    signature: void http_server_deinit(struct http_server *srv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - srv
    argTypes:
    - struct http_server*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 315
    functionName: http_server_get_port
    functionSourceFile: /src/hostap/src/wps/http_server.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int http_server_get_port(struct http_server *srv)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_build.c:25,1
    - Dst: wpabuf_clear_free
      Src: /src/hostap/src/wps/wps_attr_build.c:26,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_build.c:30,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_build.c:32,1
    - Dst: wpabuf_dup
      Src: /src/hostap/src/wps/wps_attr_build.c:36,1
    - Dst: wpabuf_dup
      Src: /src/hostap/src/wps/wps_attr_build.c:39,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_build.c:50,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_build.c:52,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_build.c:57,1
    - Dst: wpabuf_dup
      Src: /src/hostap/src/wps/wps_attr_build.c:61,1
    - Dst: wpabuf_dup
      Src: /src/hostap/src/wps/wps_attr_build.c:62,1
    - Dst: dh5_init_fixed
      Src: /src/hostap/src/wps/wps_attr_build.c:64,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_build.c:67,1
    - Dst: dh5_free
      Src: /src/hostap/src/wps/wps_attr_build.c:68,1
    - Dst: dh5_init
      Src: /src/hostap/src/wps/wps_attr_build.c:69,1
    - Dst: wpabuf_zeropad
      Src: /src/hostap/src/wps/wps_attr_build.c:70,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_build.c:73,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_attr_build.c:75,1
    - Dst: wpa_hexdump_buf_key
      Src: /src/hostap/src/wps/wps_attr_build.c:78,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/wps/wps_attr_build.c:79,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_attr_build.c:81,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_attr_build.c:82,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/wps_attr_build.c:82,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/wps/wps_attr_build.c:83,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_attr_build.c:86,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_attr_build.c:89,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 53
    argCount: 2
    argNames:
    - wps
    - msg
    argTypes:
    - struct wps_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 94
    functionName: wps_build_public_key
    functionSourceFile: /src/hostap/src/wps/wps_attr_build.c
    functionUses: 2
    functionsReached:
    - wpabuf_dup
    - wpa_printf
    - dh5_free
    - wpabuf_len
    - wpabuf_free
    - wpabuf_put_be16
    - dh5_init_fixed
    - wpabuf_put_buf
    - wpabuf_zeropad
    - wpabuf_clear_free
    - dh5_init
    - wpa_hexdump_buf_key
    - wpa_hexdump_buf
    linkageType: ''
    returnType: int
    signature: int wps_build_public_key(struct wps_data *wps, struct wpabuf *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_build.c:99,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_attr_build.c:100,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_attr_build.c:101,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/wps/wps_attr_build.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - msg
    - type
    argTypes:
    - struct wpabuf*
    - enum wps_request_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 104
    functionName: wps_build_req_type
    functionSourceFile: /src/hostap/src/wps/wps_attr_build.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - wpabuf_put_be16
    - wpabuf_put_u8
    linkageType: ''
    returnType: int
    signature: int wps_build_req_type(struct wpabuf *msg, enum wps_request_type type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_build.c:109,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_attr_build.c:110,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_attr_build.c:111,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/wps/wps_attr_build.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - msg
    - type
    argTypes:
    - struct wpabuf*
    - enum wps_response_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 114
    functionName: wps_build_resp_type
    functionSourceFile: /src/hostap/src/wps/wps_attr_build.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - wpabuf_put_be16
    - wpabuf_put_u8
    linkageType: ''
    returnType: int
    signature: int wps_build_resp_type(struct wpabuf *msg, enum wps_response_type
      type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_build.c:119,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_attr_build.c:120,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_attr_build.c:121,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_attr_build.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - msg
    - methods
    argTypes:
    - struct wpabuf*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 124
    functionName: wps_build_config_methods
    functionSourceFile: /src/hostap/src/wps/wps_attr_build.c
    functionUses: 3
    functionsReached:
    - wpa_printf
    - wpabuf_put_be16
    linkageType: ''
    returnType: int
    signature: int wps_build_config_methods(struct wpabuf *msg, u16 methods)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_tailroom
      Src: /src/hostap/src/wps/wps_attr_build.c:129,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_build.c:131,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_attr_build.c:132,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_attr_build.c:133,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/wps/wps_attr_build.c:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - msg
    - uuid
    argTypes:
    - struct wpabuf*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: wps_build_uuid_e
    functionSourceFile: /src/hostap/src/wps/wps_attr_build.c
    functionUses: 8
    functionsReached:
    - wpa_printf
    - wpabuf_put_be16
    - wpabuf_put_data
    - wpabuf_tailroom
    linkageType: ''
    returnType: int
    signature: int wps_build_uuid_e(struct wpabuf *msg, const u8 *uuid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_build.c:141,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_attr_build.c:142,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_attr_build.c:143,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_attr_build.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - msg
    - id
    argTypes:
    - struct wpabuf*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 146
    functionName: wps_build_dev_password_id
    functionSourceFile: /src/hostap/src/wps/wps_attr_build.c
    functionUses: 3
    functionsReached:
    - wpa_printf
    - wpabuf_put_be16
    linkageType: ''
    returnType: int
    signature: int wps_build_dev_password_id(struct wpabuf *msg, u16 id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_build.c:151,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_attr_build.c:152,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_attr_build.c:153,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_attr_build.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - msg
    - err
    argTypes:
    - struct wpabuf*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 156
    functionName: wps_build_config_error
    functionSourceFile: /src/hostap/src/wps/wps_attr_build.c
    functionUses: 5
    functionsReached:
    - wpa_printf
    - wpabuf_put_be16
    linkageType: ''
    returnType: int
    signature: int wps_build_config_error(struct wpabuf *msg, u16 err)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_build.c:166,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/wps/wps_attr_build.c:174,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/wps_attr_build.c:175,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/wps/wps_attr_build.c:176,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/wps_attr_build.c:177,1
    - Dst: hmac_sha256_vector
      Src: /src/hostap/src/wps/wps_attr_build.c:178,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_build.c:182,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_attr_build.c:183,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_attr_build.c:184,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/wps/wps_attr_build.c:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - wps
    - msg
    argTypes:
    - struct wps_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 188
    functionName: wps_build_authenticator
    functionSourceFile: /src/hostap/src/wps/wps_attr_build.c
    functionUses: 7
    functionsReached:
    - wpa_printf
    - wpabuf_put_data
    - wpabuf_len
    - wpabuf_put_be16
    - wpabuf_head
    - hmac_sha256_vector
    linkageType: ''
    returnType: int
    signature: int wps_build_authenticator(struct wps_data *wps, struct wpabuf *msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_tailroom
      Src: /src/hostap/src/wps/wps_attr_build.c:198,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_build.c:200,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_attr_build.c:201,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_attr_build.c:202,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/wps/wps_attr_build.c:203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - msg
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 205
    functionName: wps_build_version
    functionSourceFile: /src/hostap/src/wps/wps_attr_build.c
    functionUses: 19
    functionsReached:
    - wpa_printf
    - wpabuf_put_be16
    - wpabuf_put_u8
    - wpabuf_tailroom
    linkageType: ''
    returnType: int
    signature: int wps_build_version(struct wpabuf *msg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_tailroom
      Src: /src/hostap/src/wps/wps_attr_build.c:219,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_attr_build.c:223,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/wps/wps_attr_build.c:224,1
    - Dst: wpabuf_put_be24
      Src: /src/hostap/src/wps/wps_attr_build.c:225,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_build.c:227,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/wps/wps_attr_build.c:228,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/wps/wps_attr_build.c:229,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/wps/wps_attr_build.c:230,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_build.c:233,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/wps/wps_attr_build.c:234,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/wps/wps_attr_build.c:235,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/wps/wps_attr_build.c:236,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_build.c:241,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/wps/wps_attr_build.c:243,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/wps/wps_attr_build.c:244,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/wps/wps_attr_build.c:245,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_build.c:247,1
    - Dst: MAC2STR
      Src: /src/hostap/src/wps/wps_attr_build.c:248,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_build.c:252,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/wps/wps_attr_build.c:254,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/wps/wps_attr_build.c:255,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/wps/wps_attr_build.c:256,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/wps/wps_attr_build.c:259,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/wps/wps_attr_build.c:259,1
    - Dst: wpabuf_tailroom
      Src: /src/hostap/src/wps/wps_attr_build.c:263,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_build.c:265,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_attr_build.c:267,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_attr_build.c:268,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/wps/wps_attr_build.c:269,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 5
    argNames:
    - msg
    - req_to_enroll
    - auth_macs
    - auth_macs_count
    - multi_ap_subelem
    argTypes:
    - struct wpabuf*
    - int
    - u8*
    - size_t
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 273
    functionName: wps_build_wfa_ext
    functionSourceFile: /src/hostap/src/wps/wps_attr_build.c
    functionUses: 26
    functionsReached:
    - wpabuf_put
    - wpa_printf
    - wpabuf_put_u8
    - wpabuf_put_data
    - wpabuf_put_be16
    - WPA_PUT_BE16
    - wpabuf_tailroom
    - MAC2STR
    - wpabuf_put_be24
    linkageType: ''
    returnType: int
    signature: "int wps_build_wfa_ext(struct wpabuf *msg, int req_to_enroll,\n\t\t
      \     const u8 *auth_macs, size_t auth_macs_count,\n\t\t      u8 multi_ap_subelem)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_build.c:278,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_attr_build.c:279,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_attr_build.c:280,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/wps/wps_attr_build.c:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - msg
    - msg_type
    argTypes:
    - struct wpabuf*
    - enum wps_msg_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 283
    functionName: wps_build_msg_type
    functionSourceFile: /src/hostap/src/wps/wps_attr_build.c
    functionUses: 13
    functionsReached:
    - wpa_printf
    - wpabuf_put_be16
    - wpabuf_put_u8
    linkageType: ''
    returnType: int
    signature: int wps_build_msg_type(struct wpabuf *msg, enum wps_msg_type msg_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_build.c:288,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_attr_build.c:289,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_attr_build.c:290,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/wps/wps_attr_build.c:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - wps
    - msg
    argTypes:
    - struct wps_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 293
    functionName: wps_build_enrollee_nonce
    functionSourceFile: /src/hostap/src/wps/wps_attr_build.c
    functionUses: 9
    functionsReached:
    - wpa_printf
    - wpabuf_put_be16
    - wpabuf_put_data
    linkageType: ''
    returnType: int
    signature: int wps_build_enrollee_nonce(struct wps_data *wps, struct wpabuf *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_build.c:298,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_attr_build.c:299,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_attr_build.c:300,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/wps/wps_attr_build.c:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - wps
    - msg
    argTypes:
    - struct wps_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 303
    functionName: wps_build_registrar_nonce
    functionSourceFile: /src/hostap/src/wps/wps_attr_build.c
    functionUses: 8
    functionsReached:
    - wpa_printf
    - wpabuf_put_be16
    - wpabuf_put_data
    linkageType: ''
    returnType: int
    signature: int wps_build_registrar_nonce(struct wps_data *wps, struct wpabuf *msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_build.c:318,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_build.c:324,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_attr_build.c:326,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_attr_build.c:327,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_attr_build.c:328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - wps
    - msg
    argTypes:
    - struct wps_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 330
    functionName: wps_build_auth_type_flags
    functionSourceFile: /src/hostap/src/wps/wps_attr_build.c
    functionUses: 3
    functionsReached:
    - wpa_printf
    - wpabuf_put_be16
    linkageType: ''
    returnType: int
    signature: int wps_build_auth_type_flags(struct wps_data *wps, struct wpabuf *msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_build.c:342,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_build.c:348,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_attr_build.c:350,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_attr_build.c:351,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_attr_build.c:352,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - wps
    - msg
    argTypes:
    - struct wps_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 354
    functionName: wps_build_encr_type_flags
    functionSourceFile: /src/hostap/src/wps/wps_attr_build.c
    functionUses: 3
    functionsReached:
    - wpa_printf
    - wpabuf_put_be16
    linkageType: ''
    returnType: int
    signature: int wps_build_encr_type_flags(struct wps_data *wps, struct wpabuf *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_build.c:359,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_attr_build.c:360,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_attr_build.c:361,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/wps/wps_attr_build.c:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - wps
    - msg
    argTypes:
    - struct wps_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 364
    functionName: wps_build_conn_type_flags
    functionSourceFile: /src/hostap/src/wps/wps_attr_build.c
    functionUses: 3
    functionsReached:
    - wpa_printf
    - wpabuf_put_be16
    - wpabuf_put_u8
    linkageType: ''
    returnType: int
    signature: int wps_build_conn_type_flags(struct wps_data *wps, struct wpabuf *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_build.c:369,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_attr_build.c:370,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_attr_build.c:371,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_attr_build.c:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - wps
    - msg
    argTypes:
    - struct wps_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 374
    functionName: wps_build_assoc_state
    functionSourceFile: /src/hostap/src/wps/wps_attr_build.c
    functionUses: 4
    functionsReached:
    - wpa_printf
    - wpabuf_put_be16
    linkageType: ''
    returnType: int
    signature: int wps_build_assoc_state(struct wps_data *wps, struct wpabuf *msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_build.c:381,1
    - Dst: hmac_sha256
      Src: /src/hostap/src/wps/wps_attr_build.c:382,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/wps/wps_attr_build.c:382,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/wps_attr_build.c:383,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_attr_build.c:386,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_attr_build.c:387,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/wps/wps_attr_build.c:388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - wps
    - msg
    argTypes:
    - struct wps_data*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 390
    functionName: wps_build_key_wrap_auth
    functionSourceFile: /src/hostap/src/wps/wps_attr_build.c
    functionUses: 6
    functionsReached:
    - wpa_printf
    - wpabuf_put_data
    - hmac_sha256
    - wpabuf_len
    - wpabuf_put_be16
    - wpabuf_head
    linkageType: ''
    returnType: int
    signature: int wps_build_key_wrap_auth(struct wps_data *wps, struct wpabuf *msg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_build.c:400,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/wps_attr_build.c:403,1
    - Dst: os_memset
      Src: /src/hostap/src/wps/wps_attr_build.c:404,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/wps/wps_attr_build.c:404,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_attr_build.c:406,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_attr_build.c:407,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/wps_attr_build.c:407,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/wps/wps_attr_build.c:409,1
    - Dst: random_get_bytes
      Src: /src/hostap/src/wps/wps_attr_build.c:410,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/wps/wps_attr_build.c:413,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/wps/wps_attr_build.c:414,1
    - Dst: aes_128_cbc_encrypt
      Src: /src/hostap/src/wps/wps_attr_build.c:415,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/wps_attr_build.c:415,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - wps
    - msg
    - plain
    argTypes:
    - struct wps_data*
    - struct wpabuf*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 419
    functionName: wps_build_encr_settings
    functionSourceFile: /src/hostap/src/wps/wps_attr_build.c
    functionUses: 6
    functionsReached:
    - wpa_printf
    - wpabuf_put
    - random_get_bytes
    - wpabuf_len
    - wpabuf_put_be16
    - aes_128_cbc_encrypt
    - wpabuf_put_buf
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wps_build_encr_settings(struct wps_data *wps, struct wpabuf *msg,\n\t\t\t
      \   struct wpabuf *plain)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_build.c:431,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/wps/wps_attr_build.c:433,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/wps_attr_build.c:434,1
    - Dst: sha256_vector
      Src: /src/hostap/src/wps/wps_attr_build.c:435,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/wps/wps_attr_build.c:439,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_build.c:441,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_attr_build.c:446,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_attr_build.c:447,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/wps/wps_attr_build.c:448,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/wps/wps_attr_build.c:450,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_attr_build.c:451,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/wps/wps_attr_build.c:453,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/wps/wps_attr_build.c:455,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 5
    argNames:
    - msg
    - dev_pw_id
    - pubkey
    - dev_pw
    - dev_pw_len
    argTypes:
    - struct wpabuf*
    - u16
    - struct wpabuf*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 459
    functionName: wps_build_oob_dev_pw
    functionSourceFile: /src/hostap/src/wps/wps_attr_build.c
    functionUses: 5
    functionsReached:
    - sha256_vector
    - wpa_printf
    - wpa_hexdump_key
    - wpa_hexdump
    - wpabuf_put_data
    - wpabuf_len
    - wpabuf_put_be16
    - wpabuf_head
    linkageType: ''
    returnType: int
    signature: "int wps_build_oob_dev_pw(struct wpabuf *msg, u16 dev_pw_id,\n\t\t\t
      const struct wpabuf *pubkey, const u8 *dev_pw,\n\t\t\t size_t dev_pw_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/wps/wps_attr_build.c:469,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/wps_attr_build.c:469,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_attr_build.c:471,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/wps/wps_attr_build.c:475,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/wps_attr_build.c:476,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/wps/wps_attr_build.c:482,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/wps/wps_attr_build.c:483,1
    - Dst: wpabuf_put_be32
      Src: /src/hostap/src/wps/wps_attr_build.c:484,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/wps/wps_attr_build.c:485,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_attr_build.c:489,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 492
    functionName: wps_ie_encapsulate
    functionSourceFile: /src/hostap/src/wps/wps_attr_build.c
    functionUses: 2
    functionsReached:
    - wpabuf_put_u8
    - wpabuf_put_data
    - wpabuf_len
    - wpabuf_free
    - wpabuf_head
    - wpabuf_alloc
    - wpabuf_put_be32
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * wps_ie_encapsulate(struct wpabuf *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_build.c:497,1
    - Dst: MAC2STR
      Src: /src/hostap/src/wps/wps_attr_build.c:498,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_attr_build.c:499,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_attr_build.c:500,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/wps/wps_attr_build.c:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - msg
    - addr
    argTypes:
    - struct wpabuf*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 495
    functionDepth: 1
    functionLinenumber: 495
    functionLinenumberEnd: 503
    functionName: wps_build_mac_addr
    functionSourceFile: /src/hostap/src/wps/wps_attr_build.c
    functionUses: 4
    functionsReached:
    - MAC2STR
    - wpa_printf
    - wpabuf_put_be16
    - wpabuf_put_data
    linkageType: ''
    returnType: int
    signature: int wps_build_mac_addr(struct wpabuf *msg, const u8 *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_build.c:508,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_attr_build.c:509,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_attr_build.c:510,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/wps/wps_attr_build.c:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - msg
    - rf_bands
    argTypes:
    - struct wpabuf*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 506
    functionDepth: 1
    functionLinenumber: 506
    functionLinenumberEnd: 513
    functionName: wps_build_rf_bands_attr
    functionSourceFile: /src/hostap/src/wps/wps_attr_build.c
    functionUses: 3
    functionsReached:
    - wpa_printf
    - wpabuf_put_be16
    - wpabuf_put_u8
    linkageType: ''
    returnType: int
    signature: int wps_build_rf_bands_attr(struct wpabuf *msg, u8 rf_bands)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_attr_build.c:518,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_attr_build.c:519,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_attr_build.c:520,1
    - Dst: wpabuf_put_be16
      Src: /src/hostap/src/wps/wps_attr_build.c:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - msg
    - ap_channel
    argTypes:
    - struct wpabuf*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 516
    functionDepth: 1
    functionLinenumber: 516
    functionLinenumberEnd: 523
    functionName: wps_build_ap_channel
    functionSourceFile: /src/hostap/src/wps/wps_attr_build.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - wpabuf_put_be16
    linkageType: ''
    returnType: int
    signature: int wps_build_ap_channel(struct wpabuf *msg, u16 ap_channel)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: http_client_free
      Src: /src/hostap/src/wps/wps_upnp_event.c:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct wps_event_*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 3
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: event_clean
    functionSourceFile: /src/hostap/src/wps/wps_upnp_event.c
    functionUses: 0
    functionsReached:
    - http_client_free
    linkageType: ''
    returnType: void
    signature: void event_clean(struct wps_event_ *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_event.c:76,1
    - Dst: event_clean
      Src: /src/hostap/src/wps/wps_upnp_event.c:77,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_upnp_event.c:78,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_upnp_event.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct wps_event_*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 4
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: event_delete
    functionSourceFile: /src/hostap/src/wps/wps_upnp_event.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpa_printf
    - wpabuf_free
    - event_clean
    linkageType: ''
    returnType: void
    signature: void event_delete(struct wps_event_ *e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_first
      Src: /src/hostap/src/wps/wps_upnp_event.c:89,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_event.c:91,1
    - Dst: dl_list_del
      Src: /src/hostap/src/wps/wps_upnp_event.c:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct subscription*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 96
    functionName: event_dequeue
    functionSourceFile: /src/hostap/src/wps/wps_upnp_event.c
    functionUses: 0
    functionsReached:
    - dl_list_first
    - wpa_printf
    - dl_list_del
    linkageType: ''
    returnType: struct wps_event_
    signature: struct wps_event_ *event_dequeue(struct subscription *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: event_dequeue
      Src: /src/hostap/src/wps/wps_upnp_event.c:103,1
    - Dst: event_delete
      Src: /src/hostap/src/wps/wps_upnp_event.c:104,1
    - Dst: event_delete
      Src: /src/hostap/src/wps/wps_upnp_event.c:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct subscription*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 100
    functionDepth: 5
    functionLinenumber: 100
    functionLinenumberEnd: 109
    functionName: wps_upnp_event_delete_all
    functionSourceFile: /src/hostap/src/wps/wps_upnp_event.c
    functionUses: 1
    functionsReached:
    - event_dequeue
    - event_delete
    linkageType: ''
    returnType: void
    signature: void wps_upnp_event_delete_all(struct subscription *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_event.c:122,1
    - Dst: event_clean
      Src: /src/hostap/src/wps/wps_upnp_event.c:124,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_event.c:129,1
    - Dst: dl_list_len
      Src: /src/hostap/src/wps/wps_upnp_event.c:131,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_event.c:132,1
    - Dst: event_delete
      Src: /src/hostap/src/wps/wps_upnp_event.c:134,1
    - Dst: dl_list_empty
      Src: /src/hostap/src/wps/wps_upnp_event.c:136,1
    - Dst: wps_upnp_event_send_all_later
      Src: /src/hostap/src/wps/wps_upnp_event.c:137,1
    - Dst: dl_list_add
      Src: /src/hostap/src/wps/wps_upnp_event.c:140,1
    - Dst: wps_upnp_event_send_all_later
      Src: /src/hostap/src/wps/wps_upnp_event.c:141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - e
    - do_next_address
    argTypes:
    - struct wps_event_*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 117
    functionDepth: 5
    functionLinenumber: 117
    functionLinenumberEnd: 142
    functionName: event_retry
    functionSourceFile: /src/hostap/src/wps/wps_upnp_event.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - event_delete
    - dl_list_empty
    - dl_list_add
    - event_clean
    - wps_upnp_event_send_all_later
    - dl_list_len
    linkageType: ''
    returnType: void
    signature: void event_retry(struct wps_event_ *e, int do_next_address)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/wps/wps_upnp_event.c:150,1
    - Dst: os_strlen
      Src: /src/hostap/src/wps/wps_upnp_event.c:150,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/wps_upnp_event.c:151,1
    - Dst: wpabuf_printf
      Src: /src/hostap/src/wps/wps_upnp_event.c:154,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_upnp_event.c:155,1
    - Dst: wpabuf_printf
      Src: /src/hostap/src/wps/wps_upnp_event.c:156,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_upnp_event.c:157,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_upnp_event.c:160,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/wps/wps_upnp_event.c:161,1
    - Dst: uuid_bin2str
      Src: /src/hostap/src/wps/wps_upnp_event.c:162,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/wps/wps_upnp_event.c:163,1
    - Dst: os_strlen
      Src: /src/hostap/src/wps/wps_upnp_event.c:163,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_upnp_event.c:164,1
    - Dst: wpabuf_printf
      Src: /src/hostap/src/wps/wps_upnp_event.c:165,1
    - Dst: wpabuf_printf
      Src: /src/hostap/src/wps/wps_upnp_event.c:166,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/wps_upnp_event.c:167,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_upnp_event.c:168,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/wps/wps_upnp_event.c:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct wps_event_*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 171
    functionName: event_build_message
    functionSourceFile: /src/hostap/src/wps/wps_upnp_event.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpabuf_printf
    - wpabuf_put
    - wpabuf_len
    - wpabuf_put_str
    - wpabuf_alloc
    - wpabuf_put_buf
    - uuid_bin2str
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * event_build_message(struct wps_event_ *e)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_event.c:179,1
    - Dst: event_retry
      Src: /src/hostap/src/wps/wps_upnp_event.c:185,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_event.c:193,1
    - Dst: dl_list_del
      Src: /src/hostap/src/wps/wps_upnp_event.c:195,1
    - Dst: subscr_addr_delete
      Src: /src/hostap/src/wps/wps_upnp_event.c:196,1
    - Dst: dl_list_empty
      Src: /src/hostap/src/wps/wps_upnp_event.c:199,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_event.c:201,1
    - Dst: dl_list_del
      Src: /src/hostap/src/wps/wps_upnp_event.c:203,1
    - Dst: subscription_destroy
      Src: /src/hostap/src/wps/wps_upnp_event.c:204,1
    - Dst: event_retry
      Src: /src/hostap/src/wps/wps_upnp_event.c:209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct wps_event_*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 174
    functionDepth: 6
    functionLinenumber: 174
    functionLinenumberEnd: 210
    functionName: event_addr_failure
    functionSourceFile: /src/hostap/src/wps/wps_upnp_event.c
    functionUses: 0
    functionsReached:
    - subscr_addr_delete
    - wpa_printf
    - dl_list_del
    - dl_list_empty
    - event_retry
    - subscription_destroy
    linkageType: ''
    returnType: void
    signature: void event_addr_failure(struct wps_event_ *e)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_event.c:219,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_event.c:223,1
    - Dst: event_delete
      Src: /src/hostap/src/wps/wps_upnp_event.c:228,1
    - Dst: dl_list_empty
      Src: /src/hostap/src/wps/wps_upnp_event.c:231,1
    - Dst: wps_upnp_event_send_all_later
      Src: /src/hostap/src/wps/wps_upnp_event.c:232,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_event.c:235,1
    - Dst: event_addr_failure
      Src: /src/hostap/src/wps/wps_upnp_event.c:236,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_event.c:239,1
    - Dst: event_addr_failure
      Src: /src/hostap/src/wps/wps_upnp_event.c:240,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_event.c:243,1
    - Dst: event_addr_failure
      Src: /src/hostap/src/wps/wps_upnp_event.c:244,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - ctx
    - c
    - event
    argTypes:
    - void*
    - struct http_client*
    - enum http_client_event
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 213
    functionDepth: 7
    functionLinenumber: 213
    functionLinenumberEnd: 247
    functionName: event_http_cb
    functionSourceFile: /src/hostap/src/wps/wps_upnp_event.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - event_delete
    - dl_list_empty
    - wps_upnp_event_send_all_later
    - event_addr_failure
    linkageType: ''
    returnType: void
    signature: "void event_http_cb(void *ctx, struct http_client *c,\n\t\t\t  enum
      http_client_event event)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_empty
      Src: /src/hostap/src/wps/wps_upnp_event.c:280,1
    - Dst: dl_list_empty
      Src: /src/hostap/src/wps/wps_upnp_event.c:282,1
    - Dst: event_dequeue
      Src: /src/hostap/src/wps/wps_upnp_event.c:285,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/wps/wps_upnp_event.c:289,1
    - Dst: event_build_message
      Src: /src/hostap/src/wps/wps_upnp_event.c:295,1
    - Dst: event_addr_failure
      Src: /src/hostap/src/wps/wps_upnp_event.c:297,1
    - Dst: http_client_addr
      Src: /src/hostap/src/wps/wps_upnp_event.c:301,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_upnp_event.c:304,1
    - Dst: event_addr_failure
      Src: /src/hostap/src/wps/wps_upnp_event.c:305,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct subscription*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 270
    functionDepth: 7
    functionLinenumber: 270
    functionLinenumberEnd: 310
    functionName: event_send_start
    functionSourceFile: /src/hostap/src/wps/wps_upnp_event.c
    functionUses: 0
    functionsReached:
    - dl_list_empty
    - event_dequeue
    - wpabuf_free
    - event_build_message
    - dl_list_for_each
    - http_client_addr
    - event_addr_failure
    linkageType: ''
    returnType: int
    signature: int event_send_start(struct subscription *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/wps/wps_upnp_event.c:321,1
    - Dst: dl_list_empty
      Src: /src/hostap/src/wps/wps_upnp_event.c:324,1
    - Dst: event_send_start
      Src: /src/hostap/src/wps/wps_upnp_event.c:325,1
    - Dst: wps_upnp_event_send_all_later
      Src: /src/hostap/src/wps/wps_upnp_event.c:332,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - eloop_data
    - user_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 314
    functionDepth: 8
    functionLinenumber: 314
    functionLinenumberEnd: 334
    functionName: event_send_all_later_handler
    functionSourceFile: /src/hostap/src/wps/wps_upnp_event.c
    functionUses: 0
    functionsReached:
    - wps_upnp_event_send_all_later
    - event_send_start
    - dl_list_empty
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: void event_send_all_later_handler(void *eloop_data, void *user_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/wps/wps_upnp_event.c:353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct upnp_wps_device_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 355
    functionName: wps_upnp_event_send_all_later
    functionSourceFile: /src/hostap/src/wps/wps_upnp_event.c
    functionUses: 4
    functionsReached:
    - eloop_register_timeout
    linkageType: ''
    returnType: void
    signature: void wps_upnp_event_send_all_later(struct upnp_wps_device_sm *sm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/wps/wps_upnp_event.c:362,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct upnp_wps_device_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 364
    functionName: wps_upnp_event_send_stop_all
    functionSourceFile: /src/hostap/src/wps/wps_upnp_event.c
    functionUses: 1
    functionsReached:
    - eloop_cancel_timeout
    linkageType: ''
    returnType: void
    signature: void wps_upnp_event_send_stop_all(struct upnp_wps_device_sm *sm)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_len
      Src: /src/hostap/src/wps/wps_upnp_event.c:380,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_event.c:382,1
    - Dst: event_dequeue
      Src: /src/hostap/src/wps/wps_upnp_event.c:388,1
    - Dst: event_delete
      Src: /src/hostap/src/wps/wps_upnp_event.c:391,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_event.c:399,1
    - Dst: os_zalloc
      Src: /src/hostap/src/wps/wps_upnp_event.c:405,1
    - Dst: dl_list_init
      Src: /src/hostap/src/wps/wps_upnp_event.c:408,1
    - Dst: wpabuf_dup
      Src: /src/hostap/src/wps/wps_upnp_event.c:410,1
    - Dst: os_free
      Src: /src/hostap/src/wps/wps_upnp_event.c:412,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_upnp_event.c:418,1
    - Dst: dl_list_add_tail
      Src: /src/hostap/src/wps/wps_upnp_event.c:420,1
    - Dst: wps_upnp_event_send_all_later
      Src: /src/hostap/src/wps/wps_upnp_event.c:421,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 3
    argNames:
    - s
    - data
    - probereq
    argTypes:
    - struct subscription*
    - struct wpabuf*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 374
    functionDepth: 5
    functionLinenumber: 374
    functionLinenumberEnd: 423
    functionName: wps_upnp_event_add
    functionSourceFile: /src/hostap/src/wps/wps_upnp_event.c
    functionUses: 2
    functionsReached:
    - wpabuf_dup
    - wpa_printf
    - event_delete
    - dl_list_add_tail
    - event_dequeue
    - os_zalloc
    - dl_list_init
    - os_free
    - wps_upnp_event_send_all_later
    - dl_list_len
    linkageType: ''
    returnType: int
    signature: "int wps_upnp_event_add(struct subscription *s, const struct wpabuf
      *data,\n\t\t       int probereq)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: recvfrom
      Src: /src/hostap/src/wps/wps_er_ssdp.c:33,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er_ssdp.c:42,1
    - Dst: inet_ntoa
      Src: /src/hostap/src/wps/wps_er_ssdp.c:43,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/wps/wps_er_ssdp.c:44,1
    - Dst: os_strncmp
      Src: /src/hostap/src/wps/wps_er_ssdp.c:49,1
    - Dst: os_strncmp
      Src: /src/hostap/src/wps/wps_er_ssdp.c:53,1
    - Dst: os_memset
      Src: /src/hostap/src/wps/wps_er_ssdp.c:57,1
    - Dst: os_strchr
      Src: /src/hostap/src/wps/wps_er_ssdp.c:60,1
    - Dst: os_strstr
      Src: /src/hostap/src/wps/wps_er_ssdp.c:66,1
    - Dst: os_strstr
      Src: /src/hostap/src/wps/wps_er_ssdp.c:69,1
    - Dst: os_strncasecmp
      Src: /src/hostap/src/wps/wps_er_ssdp.c:72,1
    - Dst: os_strncasecmp
      Src: /src/hostap/src/wps/wps_er_ssdp.c:77,1
    - Dst: os_strstr
      Src: /src/hostap/src/wps/wps_er_ssdp.c:78,1
    - Dst: os_strncasecmp
      Src: /src/hostap/src/wps/wps_er_ssdp.c:80,1
    - Dst: os_strstr
      Src: /src/hostap/src/wps/wps_er_ssdp.c:82,1
    - Dst: atoi
      Src: /src/hostap/src/wps/wps_er_ssdp.c:86,1
    - Dst: os_strncasecmp
      Src: /src/hostap/src/wps/wps_er_ssdp.c:87,1
    - Dst: os_strstr
      Src: /src/hostap/src/wps/wps_er_ssdp.c:89,1
    - Dst: uuid_str2bin
      Src: /src/hostap/src/wps/wps_er_ssdp.c:94,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er_ssdp.c:95,1
    - Dst: wps_er_ap_cache_settings
      Src: /src/hostap/src/wps/wps_er_ssdp.c:108,1
    - Dst: wps_er_ap_remove
      Src: /src/hostap/src/wps/wps_er_ssdp.c:109,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er_ssdp.c:119,1
    - Dst: inet_ntoa
      Src: /src/hostap/src/wps/wps_er_ssdp.c:121,1
    - Dst: wps_er_ap_add
      Src: /src/hostap/src/wps/wps_er_ssdp.c:123,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 74
    argCount: 3
    argNames:
    - sd
    - eloop_ctx
    - sock_ctx
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 20
    functionDepth: 8
    functionLinenumber: 20
    functionLinenumberEnd: 124
    functionName: wps_er_ssdp_rx
    functionSourceFile: /src/hostap/src/wps/wps_er_ssdp.c
    functionUses: 0
    functionsReached:
    - os_strchr
    - os_strncasecmp
    - wpa_printf
    - recvfrom
    - os_strncmp
    - os_strstr
    - uuid_str2bin
    - wps_er_ap_add
    - atoi
    - inet_ntoa
    - wps_er_ap_cache_settings
    - wps_er_ap_remove
    - wpa_hexdump_ascii
    - os_memset
    linkageType: ''
    returnType: void
    signature: void wps_er_ssdp_rx(int sd, void *eloop_ctx, void *sock_ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/wps/wps_er_ssdp.c:132,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/wps/wps_er_ssdp.c:136,1
    - Dst: os_memset
      Src: /src/hostap/src/wps/wps_er_ssdp.c:145,1
    - Dst: inet_addr
      Src: /src/hostap/src/wps/wps_er_ssdp.c:147,1
    - Dst: htons
      Src: /src/hostap/src/wps/wps_er_ssdp.c:148,1
    - Dst: sendto
      Src: /src/hostap/src/wps/wps_er_ssdp.c:150,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/wps/wps_er_ssdp.c:150,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/wps/wps_er_ssdp.c:150,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er_ssdp.c:152,1
    - Dst: strerror
      Src: /src/hostap/src/wps/wps_er_ssdp.c:153,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/wps/wps_er_ssdp.c:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - er
    argTypes:
    - struct wps_er*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 156
    functionName: wps_er_send_ssdp_msearch
    functionSourceFile: /src/hostap/src/wps/wps_er_ssdp.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - sendto
    - strerror
    - wpabuf_put_str
    - wpabuf_len
    - inet_addr
    - wpabuf_free
    - wpabuf_head
    - wpabuf_alloc
    - htons
    - os_memset
    linkageType: ''
    returnType: void
    signature: void wps_er_send_ssdp_msearch(struct wps_er *er)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: add_ssdp_network
      Src: /src/hostap/src/wps/wps_er_ssdp.c:161,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er_ssdp.c:162,1
    - Dst: ssdp_open_multicast_sock
      Src: /src/hostap/src/wps/wps_er_ssdp.c:167,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er_ssdp.c:171,1
    - Dst: ssdp_listener_open
      Src: /src/hostap/src/wps/wps_er_ssdp.c:176,1
    - Dst: wpa_printf
      Src: /src/hostap/src/wps/wps_er_ssdp.c:178,1
    - Dst: eloop_register_sock
      Src: /src/hostap/src/wps/wps_er_ssdp.c:183,1
    - Dst: eloop_register_sock
      Src: /src/hostap/src/wps/wps_er_ssdp.c:185,1
    - Dst: wps_er_send_ssdp_msearch
      Src: /src/hostap/src/wps/wps_er_ssdp.c:189,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - er
    argTypes:
    - struct wps_er*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 192
    functionName: wps_er_ssdp_init
    functionSourceFile: /src/hostap/src/wps/wps_er_ssdp.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - ssdp_open_multicast_sock
    - ssdp_listener_open
    - eloop_register_sock
    - wps_er_send_ssdp_msearch
    - add_ssdp_network
    linkageType: ''
    returnType: int
    signature: int wps_er_ssdp_init(struct wps_er *er)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eloop_unregister_sock
      Src: /src/hostap/src/wps/wps_er_ssdp.c:198,1
    - Dst: close
      Src: /src/hostap/src/wps/wps_er_ssdp.c:199,1
    - Dst: eloop_unregister_sock
      Src: /src/hostap/src/wps/wps_er_ssdp.c:202,1
    - Dst: close
      Src: /src/hostap/src/wps/wps_er_ssdp.c:203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - er
    argTypes:
    - struct wps_er*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 205
    functionName: wps_er_ssdp_deinit
    functionSourceFile: /src/hostap/src/wps/wps_er_ssdp.c
    functionUses: 1
    functionsReached:
    - close
    - eloop_unregister_sock
    linkageType: ''
    returnType: void
    signature: void wps_er_ssdp_deinit(struct wps_er *er)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:178,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:183,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:188,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:193,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:197,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:201,1
    - Dst: eapol_sm_step
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:204,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 205
    functionName: eapol_port_timers_tick
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 0
    functionsReached:
    - eapol_sm_step
    - wpa_printf
    - eloop_register_timeout
    linkageType: ''
    returnType: void
    signature: void eapol_port_timers_tick(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct eapol_sm*::ctx::confirm_auth_cb
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eapol_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 214
    functionName: eapol_sm_confirm_auth
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 0
    functionsReached:
    - struct eapol_sm*::ctx::confirm_auth_cb
    linkageType: ''
    returnType: int
    signature: int eapol_sm_confirm_auth(struct eapol_sm *sm)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:221,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:222,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eapol_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 225
    functionName: eapol_enable_timer_tick
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 0
    functionsReached:
    - eloop_cancel_timeout
    - wpa_printf
    - eloop_register_timeout
    linkageType: ''
    returnType: void
    signature: void eapol_enable_timer_tick(struct eapol_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:230,1
    - Dst: eapol_sm_txLogoff
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:231,1
    - Dst: eapol_sm_set_port_unauthorized
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 234
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 0
    functionsReached:
    - eapol_sm_txLogoff
    - SM_ENTRY
    - eapol_sm_set_port_unauthorized
    linkageType: ''
    returnType: void
    signature: void SM_STATE(SUPP_PAE, LOGOFF)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:239,1
    - Dst: eapol_sm_set_port_unauthorized
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 258
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 0
    functionsReached:
    - SM_ENTRY
    - eapol_sm_set_port_unauthorized
    linkageType: ''
    returnType: void
    signature: void SM_STATE(SUPP_PAE, DISCONNECTED)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:265,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:297,1
    - Dst: eapol_enable_timer_tick
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:304,1
    - Dst: eapol_sm_txStart
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:307,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 308
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 0
    functionsReached:
    - eapol_enable_timer_tick
    - eapol_sm_txStart
    - wpa_printf
    - SM_ENTRY
    linkageType: ''
    returnType: void
    signature: void SM_STATE(SUPP_PAE, CONNECTING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 321
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 0
    functionsReached:
    - SM_ENTRY
    linkageType: ''
    returnType: void
    signature: void SM_STATE(SUPP_PAE, AUTHENTICATING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:326,1
    - Dst: eapol_enable_timer_tick
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:328,1
    - Dst: eapol_sm_set_port_unauthorized
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 331
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 0
    functionsReached:
    - eapol_enable_timer_tick
    - SM_ENTRY
    - eapol_sm_set_port_unauthorized
    linkageType: ''
    returnType: void
    signature: void SM_STATE(SUPP_PAE, HELD)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:336,1
    - Dst: eapol_sm_set_port_authorized
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 339
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 0
    functionsReached:
    - SM_ENTRY
    - eapol_sm_set_port_authorized
    linkageType: ''
    returnType: void
    signature: void SM_STATE(SUPP_PAE, AUTHENTICATED)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eapol_sm_confirm_auth
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:344,1
    - Dst: SM_ENTRY
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:349,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:357,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 361
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 0
    functionsReached:
    - eapol_sm_confirm_auth
    - wpa_printf
    - SM_ENTRY
    linkageType: ''
    returnType: void
    signature: void SM_STATE(SUPP_PAE, RESTART)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:366,1
    - Dst: eapol_sm_set_port_authorized
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 369
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 0
    functionsReached:
    - SM_ENTRY
    - eapol_sm_set_port_authorized
    linkageType: ''
    returnType: void
    signature: void SM_STATE(SUPP_PAE, S_FORCE_AUTH)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:374,1
    - Dst: eapol_sm_set_port_unauthorized
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:375,1
    - Dst: eapol_sm_txLogoff
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 378
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 0
    functionsReached:
    - eapol_sm_txLogoff
    - SM_ENTRY
    - eapol_sm_set_port_unauthorized
    linkageType: ''
    returnType: void
    signature: void SM_STATE(SUPP_PAE, S_FORCE_UNAUTH)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTER_GLOBAL
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:385,1
    - Dst: SM_ENTER_GLOBAL
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:389,1
    - Dst: SM_ENTER_GLOBAL
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:393,1
    - Dst: SM_ENTER_GLOBAL
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:397,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:403,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:406,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:410,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:414,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:416,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:418,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:422,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:428,1
    - Dst: ctx::eapol_done_cb
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:433,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:436,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:438,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:440,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:442,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:446,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:448,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:452,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:454,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:458,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 68
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 465
    functionName: SM_STEP
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 0
    functionsReached:
    - SM_ENTER_GLOBAL
    - SM_ENTER
    - ctx::eapol_done_cb
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void SM_STEP(SUPP_PAE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 471
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 0
    functionsReached:
    - SM_ENTRY
    linkageType: ''
    returnType: void
    signature: void SM_STATE(KEY_RX, NO_KEY_RECEIVE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:476,1
    - Dst: eapol_sm_processKey
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 479
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 0
    functionsReached:
    - eapol_sm_processKey
    - SM_ENTRY
    linkageType: ''
    returnType: void
    signature: void SM_STATE(KEY_RX, KEY_RECEIVE)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTER_GLOBAL
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:485,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:491,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:495,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 498
    functionName: SM_STEP
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 0
    functionsReached:
    - SM_ENTER_GLOBAL
    - SM_ENTER
    linkageType: ''
    returnType: void
    signature: void SM_STEP(KEY_RX)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:503,1
    - Dst: eapol_sm_getSuppRsp
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 501
    functionDepth: 1
    functionLinenumber: 501
    functionLinenumberEnd: 507
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 0
    functionsReached:
    - eapol_sm_getSuppRsp
    - SM_ENTRY
    linkageType: ''
    returnType: void
    signature: void SM_STATE(SUPP_BE, REQUEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:512,1
    - Dst: eapol_sm_txSuppRsp
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 515
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 0
    functionsReached:
    - eapol_sm_txSuppRsp
    - SM_ENTRY
    linkageType: ''
    returnType: void
    signature: void SM_STATE(SUPP_BE, RESPONSE)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:520,1
    - Dst: eap_proxy_key_available
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:526,1
    - Dst: eap_proxy_get_eap_session_id
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:534,1
    - Dst: eap_proxy_get_emsk
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:536,1
    - Dst: eap_peer_erp_init
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:538,1
    - Dst: os_free
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:542,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:543,1
    - Dst: eap_key_available
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:550,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 518
    functionDepth: 4
    functionLinenumber: 518
    functionLinenumberEnd: 555
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 0
    functionsReached:
    - eap_proxy_key_available
    - SM_ENTRY
    - eap_key_available
    - eap_proxy_get_eap_session_id
    - eap_proxy_get_emsk
    - os_free
    - eap_peer_erp_init
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: void SM_STATE(SUPP_BE, SUCCESS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 558
    functionDepth: 1
    functionLinenumber: 558
    functionLinenumberEnd: 562
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 0
    functionsReached:
    - SM_ENTRY
    linkageType: ''
    returnType: void
    signature: void SM_STATE(SUPP_BE, FAIL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 565
    functionDepth: 1
    functionLinenumber: 565
    functionLinenumberEnd: 569
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 0
    functionsReached:
    - SM_ENTRY
    linkageType: ''
    returnType: void
    signature: void SM_STATE(SUPP_BE, TIMEOUT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:574,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 572
    functionDepth: 1
    functionLinenumber: 572
    functionLinenumberEnd: 577
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 0
    functionsReached:
    - SM_ENTRY
    linkageType: ''
    returnType: void
    signature: void SM_STATE(SUPP_BE, IDLE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:582,1
    - Dst: eapol_sm_abortSupp
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 580
    functionDepth: 1
    functionLinenumber: 580
    functionLinenumberEnd: 594
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 0
    functionsReached:
    - SM_ENTRY
    - eapol_sm_abortSupp
    linkageType: ''
    returnType: void
    signature: void SM_STATE(SUPP_BE, INITIALIZE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTRY
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:599,1
    - Dst: eapol_enable_timer_tick
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 597
    functionDepth: 1
    functionLinenumber: 597
    functionLinenumberEnd: 605
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 0
    functionsReached:
    - eapol_enable_timer_tick
    - SM_ENTRY
    linkageType: ''
    returnType: void
    signature: void SM_STATE(SUPP_BE, RECEIVE)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: SM_ENTER_GLOBAL
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:611,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:631,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:635,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:637,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:639,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:641,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:644,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:647,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:650,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:653,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:657,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:659,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:661,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:664,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:668,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:670,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:672,1
    - Dst: SM_ENTER
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:674,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 608
    functionDepth: 1
    functionLinenumber: 608
    functionLinenumberEnd: 677
    functionName: SM_STEP
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 0
    functionsReached:
    - SM_ENTER_GLOBAL
    - SM_ENTER
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void SM_STEP(SUPP_BE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:682,1
    - Dst: struct eapol_sm*::ctx::eapol_send
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:683,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eapol_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 680
    functionDepth: 1
    functionLinenumber: 680
    functionLinenumberEnd: 687
    functionName: eapol_sm_txLogoff
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - struct eapol_sm*::ctx::eapol_send
    linkageType: ''
    returnType: void
    signature: void eapol_sm_txLogoff(struct eapol_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:692,1
    - Dst: struct eapol_sm*::ctx::eapol_send
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:693,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eapol_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 690
    functionDepth: 1
    functionLinenumber: 690
    functionLinenumberEnd: 697
    functionName: eapol_sm_txStart
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - struct eapol_sm*::ctx::eapol_send
    linkageType: ''
    returnType: void
    signature: void eapol_sm_txStart(struct eapol_sm *sm)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:724,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:729,1
    - Dst: be_to_host16
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:739,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:741,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:744,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:745,1
    - Dst: be_to_host16
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:747,1
    - Dst: eapol_sm_notify_lower_layer_success
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:750,1
    - Dst: eapol_sm_get_key
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:753,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:755,1
    - Dst: eapol_sm_get_key
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:761,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:763,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:769,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:771,1
    - Dst: os_memcmp
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:778,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:780,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:782,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:785,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:791,1
    - Dst: os_memset
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:792,1
    - Dst: hmac_md5
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:793,1
    - Dst: be_to_host16
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:794,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:796,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:798,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:800,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:804,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:808,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:817,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:820,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:821,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:823,1
    - Dst: rc4_skip
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:824,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:826,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:840,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:841,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:845,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:851,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:854,1
    - Dst: struct eapol_sm*::ctx::set_wep_key
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:861,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:865,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:878,1
    - Dst: struct eapol_sm*::ctx::eapol_done_cb
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:882,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 96
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eapol_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 709
    functionDepth: 1
    functionLinenumber: 709
    functionLinenumberEnd: 887
    functionName: eapol_sm_processKey
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 1
    functionsReached:
    - be_to_host16
    - eapol_sm_notify_lower_layer_success
    - wpa_printf
    - WPA_GET_BE16
    - os_memcpy
    - wpa_hexdump_key
    - wpa_hexdump
    - rc4_skip
    - os_memcmp_const
    - struct eapol_sm*::ctx::set_wep_key
    - os_memcmp
    - eapol_sm_get_key
    - struct eapol_sm*::ctx::eapol_done_cb
    - hmac_md5
    - os_memset
    linkageType: ''
    returnType: void
    signature: void eapol_sm_processKey(struct eapol_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:892,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eapol_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 890
    functionDepth: 0
    functionLinenumber: 890
    functionLinenumberEnd: 897
    functionName: eapol_sm_getSuppRsp
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void eapol_sm_getSuppRsp(struct eapol_sm *sm)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:905,1
    - Dst: eap_proxy_get_eapRespData
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:910,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:912,1
    - Dst: eap_get_eapRespData
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:919,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:921,1
    - Dst: struct eapol_sm*::ctx::eapol_send
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:933,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:935,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:935,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:938,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:941,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eapol_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 900
    functionDepth: 1
    functionLinenumber: 900
    functionLinenumberEnd: 952
    functionName: eapol_sm_txSuppRsp
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - struct eapol_sm*::ctx::eapol_send
    - wpabuf_len
    - wpabuf_free
    - eap_proxy_get_eapRespData
    - wpabuf_head
    - eap_get_eapRespData
    linkageType: ''
    returnType: void
    signature: void eapol_sm_txSuppRsp(struct eapol_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:959,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:961,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:964,1
    - Dst: eap_sm_abort
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:967,1
    - Dst: eap_proxy_sm_abort
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:969,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eapol_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 971
      start: 955
    functionDepth: 3
    functionLinenumber: 955
    functionLinenumberEnd: 971
    functionName: eapol_sm_abortSupp
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 1
    functionsReached:
    - os_free
    - eap_proxy_sm_abort
    - wpabuf_free
    - eap_sm_abort
    linkageType: ''
    returnType: void
    signature: void eapol_sm_abortSupp(struct eapol_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eapol_sm_step
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:976,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 977
    functionName: eapol_sm_step_timeout
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 0
    functionsReached:
    - eapol_sm_step
    linkageType: ''
    returnType: void
    signature: void eapol_sm_step_timeout(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct eapol_sm*::ctx::port_cb
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:988,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eapol_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 980
    functionDepth: 0
    functionLinenumber: 980
    functionLinenumberEnd: 989
    functionName: eapol_sm_set_port_authorized
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 2
    functionsReached:
    - struct eapol_sm*::ctx::port_cb
    linkageType: ''
    returnType: void
    signature: void eapol_sm_set_port_authorized(struct eapol_sm *sm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct eapol_sm*::ctx::port_cb
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1000,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eapol_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 992
    functionDepth: 0
    functionLinenumber: 992
    functionLinenumberEnd: 1001
    functionName: eapol_sm_set_port_unauthorized
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 4
    functionsReached:
    - struct eapol_sm*::ctx::port_cb
    linkageType: ''
    returnType: void
    signature: void eapol_sm_set_port_unauthorized(struct eapol_sm *sm)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SM_STEP_RUN
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1022,1
    - Dst: SM_STEP_RUN
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1023,1
    - Dst: SM_STEP_RUN
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1024,1
    - Dst: eap_proxy_sm_step
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1028,1
    - Dst: eap_peer_sm_step
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1032,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1041,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1042,1
    - Dst: eap_peer_was_failure_expected
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1049,1
    - Dst: struct eapol_sm*::ctx::cb
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1054,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eapol_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1056
      start: 1012
    functionDepth: 2
    functionLinenumber: 1012
    functionLinenumberEnd: 1056
    functionName: eapol_sm_step
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 2
    functionsReached:
    - eap_peer_was_failure_expected
    - eloop_cancel_timeout
    - eap_proxy_sm_step
    - SM_STEP_RUN
    - struct eapol_sm*::ctx::cb
    - eloop_register_timeout
    - eap_peer_sm_step
    linkageType: ''
    returnType: void
    signature: void eapol_sm_step(struct eapol_sm *sm)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - state
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1060
    functionDepth: 0
    functionLinenumber: 1060
    functionLinenumberEnd: 1080
    functionName: eapol_supp_pae_state
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *eapol_supp_pae_state(int state)
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 1
    argNames:
    - state
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 1083
    functionDepth: 0
    functionLinenumber: 1083
    functionLinenumberEnd: 1105
    functionName: eapol_supp_be_state
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *eapol_supp_be_state(int state)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - status
    argTypes:
    - PortStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 1108
    functionDepth: 0
    functionLinenumber: 1108
    functionLinenumberEnd: 1114
    functionName: eapol_port_status
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * eapol_port_status(PortStatus status)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - PortControl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1131
      start: 1119
    functionDepth: 0
    functionLinenumber: 1119
    functionLinenumberEnd: 1131
    functionName: eapol_port_control
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * eapol_port_control(PortControl ctrl)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 5
    argNames:
    - sm
    - heldPeriod
    - authPeriod
    - startPeriod
    - maxStart
    argTypes:
    - struct eapol_sm*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1159
      start: 1146
    functionDepth: 0
    functionLinenumber: 1146
    functionLinenumberEnd: 1159
    functionName: eapol_sm_configure
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void eapol_sm_configure(struct eapol_sm *sm, int heldPeriod, int authPeriod,\n\t\t\tint
      startPeriod, int maxStart)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_sm_get_method_name
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eapol_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1167
    functionDepth: 1
    functionLinenumber: 1167
    functionLinenumberEnd: 1174
    functionName: eapol_sm_get_method_name
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 1
    functionsReached:
    - eap_sm_get_method_name
    linkageType: ''
    returnType: char
    signature: char * eapol_sm_get_method_name(struct eapol_sm *sm)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1198,1
    - Dst: eapol_supp_pae_state
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1201,1
    - Dst: eapol_port_status
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1202,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1203,1
    - Dst: os_snprintf
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1207,1
    - Dst: eapol_port_control
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1218,1
    - Dst: eapol_supp_be_state
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1219,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1220,1
    - Dst: eap_proxy_sm_get_status
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1227,1
    - Dst: eap_sm_get_status
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1232,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - sm
    - buf
    - buflen
    - verbose
    argTypes:
    - struct eapol_sm*
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1235
      start: 1191
    functionDepth: 2
    functionLinenumber: 1191
    functionLinenumberEnd: 1235
    functionName: eapol_sm_get_status
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 1
    functionsReached:
    - eapol_port_status
    - eap_proxy_sm_get_status
    - eap_sm_get_status
    - eapol_supp_pae_state
    - os_snprintf
    - eapol_port_control
    - eapol_supp_be_state
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int eapol_sm_get_status(struct eapol_sm *sm, char *buf, size_t buflen,\n\t\t\tint
      verbose)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1257,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1274,1
    - Dst: os_snprintf
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1278,1
    - Dst: MAC2STR
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1300,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1302,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - sm
    - buf
    - buflen
    argTypes:
    - struct eapol_sm*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1307
      start: 1250
    functionDepth: 1
    functionLinenumber: 1250
    functionLinenumberEnd: 1307
    functionName: eapol_sm_get_mib
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - MAC2STR
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: int eapol_sm_get_mib(struct eapol_sm *sm, char *buf, size_t buflen)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: struct eapol_sm*::ctx::encryption_required
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1334,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1335,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1347,1
    - Dst: be_to_host16
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1351,1
    - Dst: be_to_host16
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1365,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1374,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1398,1
    - Dst: eapol_sm_abort_cached
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1408,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1410,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1411,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1413,1
    - Dst: eap_proxy_packet_update
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1418,1
    - Dst: wpabuf_mhead_u8
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1420,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1421,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1422,1
    - Dst: eapol_sm_step
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1426,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1431,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1439,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1445,1
    - Dst: os_free
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1449,1
    - Dst: os_malloc
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1450,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1452,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1454,1
    - Dst: eapol_sm_step
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1457,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1462,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1468,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 87
    argCount: 5
    argNames:
    - sm
    - src
    - buf
    - len
    - encrypted
    argTypes:
    - struct eapol_sm*
    - u8*
    - u8*
    - size_t
    - enum frame_encryption
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1475
      start: 1321
    functionDepth: 1
    functionLinenumber: 1321
    functionLinenumberEnd: 1475
    functionName: eapol_sm_rx_eapol
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 6
    functionsReached:
    - be_to_host16
    - eapol_sm_step
    - wpa_printf
    - os_memcpy
    - eapol_sm_abort_cached
    - wpabuf_mhead_u8
    - wpabuf_len
    - struct eapol_sm*::ctx::encryption_required
    - wpabuf_free
    - os_malloc
    - wpabuf_alloc_copy
    - eap_proxy_packet_update
    - os_free
    linkageType: ''
    returnType: int
    signature: "int eapol_sm_rx_eapol(struct eapol_sm *sm, const u8 *src, const u8
      *buf,\n\t\t      size_t len, enum frame_encryption encrypted)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eapol_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1489
      start: 1485
    functionDepth: 0
    functionLinenumber: 1485
    functionLinenumberEnd: 1489
    functionName: eapol_sm_notify_tx_eapol_key
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void eapol_sm_notify_tx_eapol_key(struct eapol_sm *sm)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1503,1
    - Dst: eapol_sm_step
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1508,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - sm
    - enabled
    argTypes:
    - struct eapol_sm*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1509
      start: 1499
    functionDepth: 0
    functionLinenumber: 1499
    functionLinenumberEnd: 1509
    functionName: eapol_sm_notify_portEnabled
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 8
    functionsReached:
    - eapol_sm_step
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void eapol_sm_notify_portEnabled(struct eapol_sm *sm, bool enabled)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1523,1
    - Dst: eapol_sm_step
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1526,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - sm
    - valid
    argTypes:
    - struct eapol_sm*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1527
      start: 1519
    functionDepth: 0
    functionLinenumber: 1519
    functionLinenumberEnd: 1527
    functionName: eapol_sm_notify_portValid
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 11
    functionsReached:
    - eapol_sm_step
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void eapol_sm_notify_portValid(struct eapol_sm *sm, bool valid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1545,1
    - Dst: eap_notify_success
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1550,1
    - Dst: eapol_sm_step
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1551,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - sm
    - success
    argTypes:
    - struct eapol_sm*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1552
      start: 1541
    functionDepth: 1
    functionLinenumber: 1541
    functionLinenumberEnd: 1552
    functionName: eapol_sm_notify_eap_success
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 7
    functionsReached:
    - eapol_sm_step
    - wpa_printf
    - eap_notify_success
    linkageType: ''
    returnType: void
    signature: void eapol_sm_notify_eap_success(struct eapol_sm *sm, bool success)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1567,1
    - Dst: eapol_sm_step
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1571,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - sm
    - fail
    argTypes:
    - struct eapol_sm*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1572
      start: 1563
    functionDepth: 0
    functionLinenumber: 1563
    functionLinenumberEnd: 1572
    functionName: eapol_sm_notify_eap_fail
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 3
    functionsReached:
    - eapol_sm_step
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void eapol_sm_notify_eap_fail(struct eapol_sm *sm, bool fail)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: eap_proxy_notify_config
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1596,1
    - Dst: eap_set_fast_reauth
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1614,1
    - Dst: eap_set_workaround
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1615,1
    - Dst: eap_set_force_disabled
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1616,1
    - Dst: eap_set_external_sim
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1617,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - sm
    - config
    - conf
    argTypes:
    - struct eapol_sm*
    - struct eap_peer_config*
    - struct eapol_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1619
      start: 1587
    functionDepth: 1
    functionLinenumber: 1587
    functionLinenumberEnd: 1619
    functionName: eapol_sm_notify_config
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 15
    functionsReached:
    - eap_set_external_sim
    - eap_set_fast_reauth
    - eap_set_workaround
    - eap_proxy_notify_config
    - eap_set_force_disabled
    linkageType: ''
    returnType: void
    signature: "void eapol_sm_notify_config(struct eapol_sm *sm,\n\t\t\t    struct
      eap_peer_config *config,\n\t\t\t    const struct eapol_config *conf)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: eap_proxy_key_available
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1641,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1642,1
    - Dst: eap_proxy_get_eapKeyData
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1645,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1647,1
    - Dst: eap_key_available
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1654,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1655,1
    - Dst: eap_get_eapKeyData
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1658,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1660,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1667,1
    - Dst: os_memcpy
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1672,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1673,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 3
    argNames:
    - sm
    - key
    - len
    argTypes:
    - struct eapol_sm*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1676
      start: 1633
    functionDepth: 1
    functionLinenumber: 1633
    functionLinenumberEnd: 1676
    functionName: eapol_sm_get_key
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 8
    functionsReached:
    - wpa_printf
    - os_memcpy
    - eap_proxy_key_available
    - eap_proxy_get_eapKeyData
    - eap_key_available
    - eap_get_eapKeyData
    linkageType: ''
    returnType: int
    signature: int eapol_sm_get_key(struct eapol_sm *sm, u8 *key, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_key_available
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1689,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1690,1
    - Dst: eap_get_eapSessionId
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1693,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - sm
    - len
    argTypes:
    - struct eapol_sm*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1694
      start: 1687
    functionDepth: 1
    functionLinenumber: 1687
    functionLinenumberEnd: 1694
    functionName: eapol_sm_get_session_id
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 2
    functionsReached:
    - eap_get_eapSessionId
    - eap_key_available
    - wpa_printf
    linkageType: ''
    returnType: u8
    signature: u8 * eapol_sm_get_session_id(struct eapol_sm *sm, size_t *len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eapol_sm_step
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1712,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - sm
    - logoff
    argTypes:
    - struct eapol_sm*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1714
      start: 1704
    functionDepth: 0
    functionLinenumber: 1704
    functionLinenumberEnd: 1714
    functionName: eapol_sm_notify_logoff
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 3
    functionsReached:
    - eapol_sm_step
    linkageType: ''
    returnType: void
    signature: void eapol_sm_notify_logoff(struct eapol_sm *sm, bool logoff)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1728,1
    - Dst: eap_notify_success
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1730,1
    - Dst: eapol_sm_step
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1731,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eapol_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1732
      start: 1724
    functionDepth: 1
    functionLinenumber: 1724
    functionLinenumberEnd: 1732
    functionName: eapol_sm_notify_cached
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 1
    functionsReached:
    - eapol_sm_step
    - wpa_printf
    - eap_notify_success
    linkageType: ''
    returnType: void
    signature: void eapol_sm_notify_cached(struct eapol_sm *sm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1745,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eapol_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1747
      start: 1741
    functionDepth: 0
    functionLinenumber: 1741
    functionLinenumberEnd: 1747
    functionName: eapol_sm_notify_pmkid_attempt
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void eapol_sm_notify_pmkid_attempt(struct eapol_sm *sm)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1752,1
    - Dst: eapol_sm_set_port_unauthorized
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1758,1
    - Dst: eapol_enable_timer_tick
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1763,1
    - Dst: struct eapol_sm*::ctx::aborted_cached
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1766,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eapol_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1767
      start: 1750
    functionDepth: 1
    functionLinenumber: 1750
    functionLinenumberEnd: 1767
    functionName: eapol_sm_abort_cached
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 1
    functionsReached:
    - eapol_enable_timer_tick
    - wpa_printf
    - eapol_sm_set_port_unauthorized
    - struct eapol_sm*::ctx::aborted_cached
    linkageType: ''
    returnType: void
    signature: void eapol_sm_abort_cached(struct eapol_sm *sm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_register_scard_ctx
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1782,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - sm
    - ctx
    argTypes:
    - struct eapol_sm*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1784
      start: 1778
    functionDepth: 1
    functionLinenumber: 1778
    functionLinenumberEnd: 1784
    functionName: eapol_sm_register_scard_ctx
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 5
    functionsReached:
    - eap_register_scard_ctx
    linkageType: ''
    returnType: void
    signature: void eapol_sm_register_scard_ctx(struct eapol_sm *sm, void *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1798,1
    - Dst: eapol_port_control
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1799,1
    - Dst: eapol_sm_step
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1801,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - sm
    - portControl
    argTypes:
    - struct eapol_sm*
    - PortControl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1802
      start: 1794
    functionDepth: 1
    functionLinenumber: 1794
    functionLinenumberEnd: 1802
    functionName: eapol_sm_notify_portControl
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 2
    functionsReached:
    - eapol_sm_step
    - wpa_printf
    - eapol_port_control
    linkageType: ''
    returnType: void
    signature: void eapol_sm_notify_portControl(struct eapol_sm *sm, PortControl portControl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_sm_notify_ctrl_attached
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1816,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eapol_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1817
      start: 1812
    functionDepth: 3
    functionLinenumber: 1812
    functionLinenumberEnd: 1817
    functionName: eapol_sm_notify_ctrl_attached
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 3
    functionsReached:
    - eap_sm_notify_ctrl_attached
    linkageType: ''
    returnType: void
    signature: void eapol_sm_notify_ctrl_attached(struct eapol_sm *sm)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1832,1
    - Dst: eapol_sm_step
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1837,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eapol_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1839
      start: 1827
    functionDepth: 0
    functionLinenumber: 1827
    functionLinenumberEnd: 1839
    functionName: eapol_sm_notify_ctrl_response
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 2
    functionsReached:
    - eapol_sm_step
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void eapol_sm_notify_ctrl_response(struct eapol_sm *sm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eapol_sm_txStart
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1853,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eapol_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1854
      start: 1849
    functionDepth: 2
    functionLinenumber: 1849
    functionLinenumberEnd: 1854
    functionName: eapol_sm_request_reauth
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 1
    functionsReached:
    - eapol_sm_txStart
    linkageType: ''
    returnType: void
    signature: void eapol_sm_request_reauth(struct eapol_sm *sm)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eap_notify_lower_layer_success
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1871,1
    - Dst: eapol_sm_step
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1873,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - sm
    - in_eapol_sm
    argTypes:
    - struct eapol_sm*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1874
      start: 1867
    functionDepth: 2
    functionLinenumber: 1867
    functionLinenumberEnd: 1874
    functionName: eapol_sm_notify_lower_layer_success
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 2
    functionsReached:
    - eapol_sm_step
    - eap_notify_lower_layer_success
    linkageType: ''
    returnType: void
    signature: void eapol_sm_notify_lower_layer_success(struct eapol_sm *sm, int in_eapol_sm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_invalidate_cached_session
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:1884,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eapol_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1885
      start: 1881
    functionDepth: 2
    functionLinenumber: 1881
    functionLinenumberEnd: 1885
    functionName: eapol_sm_invalidate_cached_session
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 6
    functionsReached:
    - eap_invalidate_cached_session
    linkageType: ''
    returnType: void
    signature: void eapol_sm_invalidate_cached_session(struct eapol_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1892
      start: 1888
    functionDepth: 0
    functionLinenumber: 1888
    functionLinenumberEnd: 1892
    functionName: eapol_sm_get_config
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct eap_peer_config
    signature: struct eap_peer_config * eapol_sm_get_config(void *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1902
      start: 1895
    functionDepth: 0
    functionLinenumber: 1895
    functionLinenumberEnd: 1902
    functionName: eapol_sm_get_eapReqData
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * eapol_sm_get_eapReqData(void *ctx)
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 2
    argNames:
    - ctx
    - variable
    argTypes:
    - void*
    - enum eapol_bool_var
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1933
      start: 1905
    functionDepth: 0
    functionLinenumber: 1905
    functionLinenumberEnd: 1933
    functionName: eapol_sm_get_bool
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool eapol_sm_get_bool(void *ctx, enum eapol_bool_var variable)
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 3
    argNames:
    - ctx
    - variable
    - value
    argTypes:
    - void*
    - enum eapol_bool_var
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1974
      start: 1936
    functionDepth: 0
    functionLinenumber: 1936
    functionLinenumberEnd: 1974
    functionName: eapol_sm_set_bool
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void eapol_sm_set_bool(void *ctx, enum eapol_bool_var variable,\n\t\t\t
      \     bool value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - variable
    argTypes:
    - void*
    - enum eapol_int_var
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1987
      start: 1977
    functionDepth: 0
    functionLinenumber: 1977
    functionLinenumberEnd: 1987
    functionName: eapol_sm_get_int
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int eapol_sm_get_int(void *ctx, enum eapol_int_var variable)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: eapol_enable_timer_tick
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:2000,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - ctx
    - variable
    - value
    argTypes:
    - void*
    - enum eapol_int_var
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2003
      start: 1990
    functionDepth: 1
    functionLinenumber: 1990
    functionLinenumberEnd: 2003
    functionName: eapol_sm_set_int
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 0
    functionsReached:
    - eapol_enable_timer_tick
    linkageType: ''
    returnType: void
    signature: "void eapol_sm_set_int(void *ctx, enum eapol_int_var variable,\n\t\t\t
      \    unsigned int value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct eapol_sm*::ctx::set_config_blob
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:2011,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - blob
    argTypes:
    - void*
    - struct wpa_config_blob*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2013
      start: 2006
    functionDepth: 0
    functionLinenumber: 2006
    functionLinenumberEnd: 2013
    functionName: eapol_sm_set_config_blob
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 0
    functionsReached:
    - struct eapol_sm*::ctx::set_config_blob
    linkageType: ''
    returnType: void
    signature: void eapol_sm_set_config_blob(void *ctx, struct wpa_config_blob *blob)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct eapol_sm*::ctx::get_config_blob
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:2022,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - name
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2028
      start: 2016
    functionDepth: 0
    functionLinenumber: 2016
    functionLinenumberEnd: 2028
    functionName: eapol_sm_get_config_blob
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 0
    functionsReached:
    - struct eapol_sm*::ctx::get_config_blob
    linkageType: ''
    returnType: struct wpa_config_blob
    signature: 'struct wpa_config_blob *

      eapol_sm_get_config_blob(void *ctx, const char *name)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:2037,1
    - Dst: eapol_sm_step
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:2041,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2043
      start: 2031
    functionDepth: 0
    functionLinenumber: 2031
    functionLinenumberEnd: 2043
    functionName: eapol_sm_notify_pending
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 0
    functionsReached:
    - eapol_sm_step
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void eapol_sm_notify_pending(void *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:2051,1
    - Dst: struct eapol_sm*::ctx::eap_param_needed
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:2053,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - field
    - txt
    argTypes:
    - void*
    - enum wpa_ctrl_req_type
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2054
      start: 2047
    functionDepth: 0
    functionLinenumber: 2047
    functionLinenumberEnd: 2054
    functionName: eapol_sm_eap_param_needed
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - struct eapol_sm*::ctx::eap_param_needed
    linkageType: ''
    returnType: void
    signature: "void eapol_sm_eap_param_needed(void *ctx, enum wpa_ctrl_req_type field,\n\t\t\t\t
      \     const char *txt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct eapol_sm*::ctx::cert_cb
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:2064,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - cert
    - cert_hash
    argTypes:
    - void*
    - struct tls_cert_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2065
      start: 2059
    functionDepth: 0
    functionLinenumber: 2059
    functionLinenumberEnd: 2065
    functionName: eapol_sm_notify_cert
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 0
    functionsReached:
    - struct eapol_sm*::ctx::cert_cb
    linkageType: ''
    returnType: void
    signature: "void eapol_sm_notify_cert(void *ctx, struct tls_cert_data *cert,\n\t\t\t\t
      const char *cert_hash)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct eapol_sm*::ctx::status_cb
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:2074,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - status
    - parameter
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2075
      start: 2068
    functionDepth: 0
    functionLinenumber: 2068
    functionLinenumberEnd: 2075
    functionName: eapol_sm_notify_status
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 0
    functionsReached:
    - struct eapol_sm*::ctx::status_cb
    linkageType: ''
    returnType: void
    signature: "void eapol_sm_notify_status(void *ctx, const char *status,\n\t\t\t\t
      \  const char *parameter)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct eapol_sm*::ctx::eap_error_cb
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:2083,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - error_code
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2084
      start: 2078
    functionDepth: 0
    functionLinenumber: 2078
    functionLinenumberEnd: 2084
    functionName: eapol_sm_notify_eap_error
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 0
    functionsReached:
    - struct eapol_sm*::ctx::eap_error_cb
    linkageType: ''
    returnType: void
    signature: void eapol_sm_notify_eap_error(void *ctx, int error_code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct eapol_sm*::ctx::eap_proxy_cb
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:2094,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2095
      start: 2089
    functionDepth: 0
    functionLinenumber: 2089
    functionLinenumberEnd: 2095
    functionName: eapol_sm_eap_proxy_cb
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 0
    functionsReached:
    - struct eapol_sm*::ctx::eap_proxy_cb
    linkageType: ''
    returnType: void
    signature: void eapol_sm_eap_proxy_cb(void *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct eapol_sm*::ctx::eap_proxy_notify_sim_status
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:2105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - sim_state
    argTypes:
    - void*
    - enum eap_proxy_sim_state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2106
      start: 2098
    functionDepth: 0
    functionLinenumber: 2098
    functionLinenumberEnd: 2106
    functionName: eapol_sm_eap_proxy_notify_sim_status
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 0
    functionsReached:
    - struct eapol_sm*::ctx::eap_proxy_notify_sim_status
    linkageType: ''
    returnType: void
    signature: "void eapol_sm_eap_proxy_notify_sim_status(void *ctx,\n\t\t\t\t     enum
      eap_proxy_sim_state sim_state)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct eapol_sm*::ctx::set_anon_id
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:2116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - id
    - len
    argTypes:
    - void*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2117
      start: 2111
    functionDepth: 0
    functionLinenumber: 2111
    functionLinenumberEnd: 2117
    functionName: eapol_sm_set_anon_id
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 0
    functionsReached:
    - struct eapol_sm*::ctx::set_anon_id
    linkageType: ''
    returnType: void
    signature: void eapol_sm_set_anon_id(void *ctx, const u8 *id, size_t len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:2156,1
    - Dst: os_memset
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:2171,1
    - Dst: eap_peer_sm_init
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:2185,1
    - Dst: os_free
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:2187,1
    - Dst: eap_proxy_init
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:2193,1
    - Dst: wpa_printf
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:2195,1
    - Dst: eapol_sm_step
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:2202,1
    - Dst: eapol_sm_step
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:2204,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:2206,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 35
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct eapol_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2210
      start: 2152
    functionDepth: 2
    functionLinenumber: 2152
    functionLinenumberEnd: 2210
    functionName: eapol_sm_init
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 4
    functionsReached:
    - eapol_sm_step
    - wpa_printf
    - os_zalloc
    - eloop_register_timeout
    - eap_peer_sm_init
    - os_free
    - eap_proxy_init
    - os_memset
    linkageType: ''
    returnType: struct eapol_sm
    signature: struct eapol_sm *eapol_sm_init(struct eapol_ctx *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:2223,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:2224,1
    - Dst: eap_peer_sm_deinit
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:2225,1
    - Dst: eap_proxy_deinit
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:2227,1
    - Dst: os_free
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:2229,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:2230,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:2232,1
    - Dst: os_free
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:2234,1
    - Dst: os_free
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:2235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eapol_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2236
      start: 2219
    functionDepth: 4
    functionLinenumber: 2219
    functionLinenumberEnd: 2236
    functionName: eapol_sm_deinit
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 5
    functionsReached:
    - eap_peer_sm_deinit
    - eloop_cancel_timeout
    - wpabuf_free
    - eap_proxy_deinit
    - os_free
    linkageType: ''
    returnType: void
    signature: void eapol_sm_deinit(struct eapol_sm *sm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_sm_set_ext_pw_ctx
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:2243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - sm
    - ext
    argTypes:
    - struct eapol_sm*
    - struct ext_password_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2244
      start: 2239
    functionDepth: 1
    functionLinenumber: 2239
    functionLinenumberEnd: 2244
    functionName: eapol_sm_set_ext_pw_ctx
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 1
    functionsReached:
    - eap_sm_set_ext_pw_ctx
    linkageType: ''
    returnType: void
    signature: "void eapol_sm_set_ext_pw_ctx(struct eapol_sm *sm,\n\t\t\t     struct
      ext_password_data *ext)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eapol_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2252
      start: 2247
    functionDepth: 0
    functionLinenumber: 2247
    functionLinenumberEnd: 2252
    functionName: eapol_sm_failed
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int eapol_sm_failed(struct eapol_sm *sm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_proxy_get_imsi
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:2262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - ctx
    - sim_num
    - imsi
    - len
    argTypes:
    - void*
    - int
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2263
      start: 2256
    functionDepth: 1
    functionLinenumber: 2256
    functionLinenumberEnd: 2263
    functionName: eapol_sm_get_eap_proxy_imsi
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 2
    functionsReached:
    - eap_proxy_get_imsi
    linkageType: ''
    returnType: int
    signature: int eapol_sm_get_eap_proxy_imsi(void *ctx, int sim_num, char *imsi,
      size_t *len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_peer_erp_free_keys
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:2270,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eapol_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2271
      start: 2267
    functionDepth: 3
    functionLinenumber: 2267
    functionLinenumberEnd: 2271
    functionName: eapol_sm_erp_flush
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 1
    functionsReached:
    - eap_peer_erp_free_keys
    linkageType: ''
    returnType: void
    signature: void eapol_sm_erp_flush(struct eapol_sm *sm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_peer_build_erp_reauth_start
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:2279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eapol_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2283
      start: 2274
    functionDepth: 4
    functionLinenumber: 2274
    functionLinenumberEnd: 2283
    functionName: eapol_sm_build_erp_reauth_start
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 2
    functionsReached:
    - eap_peer_build_erp_reauth_start
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * eapol_sm_build_erp_reauth_start(struct eapol_sm *sm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_peer_finish
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:2292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - sm
    - buf
    - len
    argTypes:
    - struct eapol_sm*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2294
      start: 2286
    functionDepth: 3
    functionLinenumber: 2286
    functionLinenumberEnd: 2294
    functionName: eapol_sm_process_erp_finish
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 2
    functionsReached:
    - eap_peer_finish
    linkageType: ''
    returnType: void
    signature: "void eapol_sm_process_erp_finish(struct eapol_sm *sm, const u8 *buf,\n\t\t\t\t
      size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_peer_update_erp_next_seq_num
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:2302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - sm
    - next_seq_num
    argTypes:
    - struct eapol_sm*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2306
      start: 2297
    functionDepth: 4
    functionLinenumber: 2297
    functionLinenumberEnd: 2306
    functionName: eapol_sm_update_erp_next_seq_num
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 2
    functionsReached:
    - eap_peer_update_erp_next_seq_num
    linkageType: ''
    returnType: int
    signature: int eapol_sm_update_erp_next_seq_num(struct eapol_sm *sm, u16 next_seq_num)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_peer_get_erp_info
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:2318,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 9
    argNames:
    - sm
    - config
    - username
    - username_len
    - realm
    - realm_len
    - erp_next_seq_num
    - rrk
    - rrk_len
    argTypes:
    - struct eapol_sm*
    - struct eap_peer_config*
    - u8**
    - size_t*
    - u8**
    - size_t*
    - u16*
    - u8**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2324
      start: 2309
    functionDepth: 4
    functionLinenumber: 2309
    functionLinenumberEnd: 2324
    functionName: eapol_sm_get_erp_info
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 2
    functionsReached:
    - eap_peer_get_erp_info
    linkageType: ''
    returnType: int
    signature: "int eapol_sm_get_erp_info(struct eapol_sm *sm, struct eap_peer_config
      *config,\n\t\t\t  const u8 **username, size_t *username_len,\n\t\t\t  const
      u8 **realm, size_t *realm_len,\n\t\t\t  u16 *erp_next_seq_num, const u8 **rrk,\n\t\t\t
      \ size_t *rrk_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:2336,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - sm
    - active
    argTypes:
    - struct eapol_sm*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2339
      start: 2329
    functionDepth: 1
    functionLinenumber: 2329
    functionLinenumberEnd: 2339
    functionName: eapol_sm_set_eap_over_auth_frame
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 3
    functionsReached:
    - wpabuf_free
    linkageType: ''
    returnType: void
    signature: void eapol_sm_set_eap_over_auth_frame(struct eapol_sm *sm, bool active)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eapol_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2347
      start: 2342
    functionDepth: 0
    functionLinenumber: 2342
    functionLinenumberEnd: 2347
    functionName: eapol_sm_get_eap_over_auth_frame
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool eapol_sm_get_eap_over_auth_frame(struct eapol_sm *sm)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:2361,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:2370,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:2378,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:2378,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:2380,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:2384,1
    - Dst: host_to_be16
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:2387,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:2387,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:2389,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.c:2390,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 2
    argNames:
    - sm
    - type
    argTypes:
    - struct eapol_sm*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2393
      start: 2350
    functionDepth: 1
    functionLinenumber: 2350
    functionLinenumberEnd: 2393
    functionName: eapol_sm_get_eapol_pdu
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - wpabuf_put
    - wpabuf_len
    - host_to_be16
    - wpabuf_free
    - wpabuf_alloc
    - wpabuf_put_buf
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * eapol_sm_get_eapol_pdu(struct eapol_sm *sm, u8 type)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eapol_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2401
      start: 2396
    functionDepth: 0
    functionLinenumber: 2396
    functionLinenumberEnd: 2401
    functionName: eapol_sm_get_success
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool eapol_sm_get_success(struct eapol_sm *sm)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eapol_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2409
      start: 2404
    functionDepth: 0
    functionLinenumber: 2404
    functionLinenumberEnd: 2409
    functionName: eapol_sm_get_failure
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool eapol_sm_get_failure(struct eapol_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/hostap/src/eapol_supp/eapol_supp_sm.h:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct eapol_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 387
    functionName: eapol_sm_init
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.h
    functionUses: 4
    functionsReached:
    - free
    linkageType: ''
    returnType: struct eapol_sm
    signature: struct eapol_sm *eapol_sm_init(struct eapol_ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eapol_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 390
    functionName: eapol_sm_deinit
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void eapol_sm_deinit(struct eapol_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eapol_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 393
    functionName: eapol_sm_step
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void eapol_sm_step(struct eapol_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - sm
    - buf
    - buflen
    - verbose
    argTypes:
    - struct eapol_sm*
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 398
    functionName: eapol_sm_get_status
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int eapol_sm_get_status(struct eapol_sm *sm, char *buf,\n\t\t\t\t
      \     size_t buflen, int verbose)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sm
    - buf
    - buflen
    argTypes:
    - struct eapol_sm*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 403
    functionName: eapol_sm_get_mib
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int eapol_sm_get_mib(struct eapol_sm *sm, char *buf,\n\t\t\t\t   size_t
      buflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - sm
    - heldPeriod
    - authPeriod
    - startPeriod
    - maxStart
    argTypes:
    - struct eapol_sm*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 408
    functionName: eapol_sm_configure
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void eapol_sm_configure(struct eapol_sm *sm, int heldPeriod,\n\t\t\t\t
      \     int authPeriod, int startPeriod,\n\t\t\t\t      int maxStart)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sm
    - src
    - buf
    - len
    - encrypted
    argTypes:
    - struct eapol_sm*
    - u8*
    - u8*
    - size_t
    - enum frame_encryption
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 414
    functionName: eapol_sm_rx_eapol
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int eapol_sm_rx_eapol(struct eapol_sm *sm, const u8 *src,\n\t\t\t\t
      \   const u8 *buf, size_t len,\n\t\t\t\t    enum frame_encryption encrypted)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eapol_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 417
    functionName: eapol_sm_notify_tx_eapol_key
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void eapol_sm_notify_tx_eapol_key(struct eapol_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - sm
    - enabled
    argTypes:
    - struct eapol_sm*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 421
    functionName: eapol_sm_notify_portEnabled
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void eapol_sm_notify_portEnabled(struct eapol_sm *sm,\n\t\t\t\t\t
      \      bool enabled)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - sm
    - valid
    argTypes:
    - struct eapol_sm*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 425
    functionName: eapol_sm_notify_portValid
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void eapol_sm_notify_portValid(struct eapol_sm *sm,\n\t\t\t\t\t     bool
      valid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - sm
    - success
    argTypes:
    - struct eapol_sm*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 429
    functionName: eapol_sm_notify_eap_success
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void eapol_sm_notify_eap_success(struct eapol_sm *sm,\n\t\t\t\t\t
      \      bool success)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - sm
    - fail
    argTypes:
    - struct eapol_sm*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 432
    functionName: eapol_sm_notify_eap_fail
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void eapol_sm_notify_eap_fail(struct eapol_sm *sm, bool fail)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - sm
    - config
    - conf
    argTypes:
    - struct eapol_sm*
    - struct eap_peer_config*
    - struct eapol_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 437
    functionName: eapol_sm_notify_config
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void eapol_sm_notify_config(struct eapol_sm *sm,\n\t\t\t\t\t  struct
      eap_peer_config *config,\n\t\t\t\t\t  struct eapol_config *conf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sm
    - key
    - len
    argTypes:
    - struct eapol_sm*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 441
    functionName: eapol_sm_get_key
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int eapol_sm_get_key(struct eapol_sm *sm, u8 *key, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - len
    argTypes:
    - struct eapol_sm*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 446
    functionName: eapol_sm_get_session_id
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: 'u8 *

      eapol_sm_get_session_id(struct eapol_sm *sm, size_t *len)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - sm
    - logoff
    argTypes:
    - struct eapol_sm*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 449
    functionName: eapol_sm_notify_logoff
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void eapol_sm_notify_logoff(struct eapol_sm *sm, bool logoff)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eapol_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 452
    functionName: eapol_sm_notify_cached
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void eapol_sm_notify_cached(struct eapol_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eapol_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 455
    functionName: eapol_sm_notify_pmkid_attempt
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void eapol_sm_notify_pmkid_attempt(struct eapol_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sm
    - ','
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 457
    functionName: eapol_sm_register_scard_ctx
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: eapol_sm_register_scard_ctx(sm, ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - sm
    - portControl
    argTypes:
    - struct eapol_sm*
    - PortControl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 460
    functionName: eapol_sm_notify_portControl
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void eapol_sm_notify_portControl(struct eapol_sm *sm,\n\t\t\t\t\t
      \      PortControl portControl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eapol_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 463
    functionName: eapol_sm_notify_ctrl_attached
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void eapol_sm_notify_ctrl_attached(struct eapol_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eapol_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 466
    functionName: eapol_sm_notify_ctrl_response
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void eapol_sm_notify_ctrl_response(struct eapol_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eapol_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 469
    functionName: eapol_sm_request_reauth
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void eapol_sm_request_reauth(struct eapol_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - sm
    - in_eapol_sm
    argTypes:
    - struct eapol_sm*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 473
    functionName: eapol_sm_notify_lower_layer_success
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void eapol_sm_notify_lower_layer_success(struct eapol_sm *sm,\n\t\t\t\t\t\t
      \      int in_eapol_sm)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eapol_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 476
    functionName: eapol_sm_invalidate_cached_session
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void eapol_sm_invalidate_cached_session(struct eapol_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eapol_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 480
    functionName: eapol_sm_get_method_name
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * eapol_sm_get_method_name(struct eapol_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - sm
    - ext
    argTypes:
    - struct eapol_sm*
    - struct ext_password_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 484
    functionName: eapol_sm_set_ext_pw_ctx
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void eapol_sm_set_ext_pw_ctx(struct eapol_sm *sm,\n\t\t\t\t\t   struct
      ext_password_data *ext)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eapol_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 488
    functionName: eapol_sm_failed
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int eapol_sm_failed(struct eapol_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eapol_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 491
    functionName: eapol_sm_erp_flush
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void eapol_sm_erp_flush(struct eapol_sm *sm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sm
    argTypes:
    - struct eapol_sm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 496
    functionName: eapol_sm_build_erp_reauth_start
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: struct wpabuf
    signature: 'struct wpabuf *

      eapol_sm_build_erp_reauth_start(struct eapol_sm *sm)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - sm
    - buf
    - len
    argTypes:
    - struct eapol_sm*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 500
    functionName: eapol_sm_process_erp_finish
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void eapol_sm_process_erp_finish(struct eapol_sm *sm,\n\t\t\t\t\t
      \      const u8 *buf, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sm
    - next_seq_num
    argTypes:
    - struct eapol_sm*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 505
    functionName: eapol_sm_update_erp_next_seq_num
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int eapol_sm_update_erp_next_seq_num(struct eapol_sm *sm,\n\t\t\t\t\t\t
      \  u16 next_seq_num)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - sm
    - config
    - username
    - username_len
    - realm
    - realm_len
    - erp_next_seq_num
    - rrk
    - rrk_len
    argTypes:
    - struct eapol_sm*
    - struct eap_peer_config*
    - u8**
    - size_t*
    - u8**
    - size_t*
    - u16*
    - u8**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 513
    functionName: eapol_sm_get_erp_info
    functionSourceFile: /src/hostap/src/eapol_supp/eapol_supp_sm.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int eapol_sm_get_erp_info(struct eapol_sm *sm, struct eap_peer_config
      *config,\n\t\t      const u8 **username, size_t *username_len,\n\t\t      const
      u8 **realm, size_t *realm_len,\n\t\t      u16 *erp_next_seq_num, const u8 **rrk,
      size_t *rrk_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - l2
    - addr
    argTypes:
    - struct l2_packet_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: l2_packet_get_own_addr
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_pcap.c
    functionUses: 3
    functionsReached:
    - os_memcpy
    linkageType: ''
    returnType: int
    signature: int l2_packet_get_own_addr(struct l2_packet_data *l2, u8 *addr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eth_open
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:55,1
    - Dst: wpa_printf
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:57,1
    - Dst: strerror
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:59,1
    - Dst: eth_get
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:63,1
    - Dst: wpa_printf
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:64,1
    - Dst: strerror
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:66,1
    - Dst: eth_close
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:67,1
    - Dst: os_memcpy
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - l2
    argTypes:
    - struct l2_packet_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 74
    functionName: l2_packet_init_libdnet
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_pcap.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - strerror
    - eth_close
    - eth_open
    - eth_get
    linkageType: ''
    returnType: int
    signature: int l2_packet_init_libdnet(struct l2_packet_data *l2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcap_sendpacket
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:89,1
    - Dst: eth_send
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:91,1
    - Dst: os_malloc
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:95,1
    - Dst: os_memcpy
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:99,1
    - Dst: os_memcpy
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:100,1
    - Dst: htons
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:101,1
    - Dst: os_memcpy
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:102,1
    - Dst: pcap_sendpacket
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:105,1
    - Dst: eth_send
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:107,1
    - Dst: os_free
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 5
    argNames:
    - l2
    - dst_addr
    - proto
    - buf
    - len
    argTypes:
    - struct l2_packet_data*
    - u8*
    - u16
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 114
    functionName: l2_packet_send
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_pcap.c
    functionUses: 15
    functionsReached:
    - os_memcpy
    - os_malloc
    - eth_send
    - pcap_sendpacket
    - os_free
    - htons
    linkageType: ''
    returnType: int
    signature: "int l2_packet_send(struct l2_packet_data *l2, const u8 *dst_addr,
      u16 proto,\n\t\t   const u8 *buf, size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcap_next
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:128,1
    - Dst: struct l2_packet_data*::rx_callback
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:141,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - sock
    - eloop_ctx
    - sock_ctx
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 142
    functionName: l2_packet_receive
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_pcap.c
    functionUses: 0
    functionsReached:
    - struct l2_packet_data*::rx_callback
    - pcap_next
    linkageType: ''
    returnType: void
    signature: void l2_packet_receive(int sock, void *eloop_ctx, void *sock_ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct l2_packet_data*::rx_callback
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:166,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - user
    - hdr
    - pkt_data
    argTypes:
    - u_char*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 172
    functionName: l2_packet_receive_cb
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_pcap.c
    functionUses: 0
    functionsReached:
    - struct l2_packet_data*::rx_callback
    linkageType: ''
    returnType: void
    signature: "void l2_packet_receive_cb(u_char *user, const struct pcap_pkthdr *hdr,\n\t\t\t\t
      const u_char *pkt_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:190,1
    - Dst: pcap_dispatch
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 193
    functionName: l2_packet_receive_timeout
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_pcap.c
    functionUses: 0
    functionsReached:
    - pcap_dispatch
    - eloop_register_timeout
    linkageType: ''
    returnType: void
    signature: void l2_packet_receive_timeout(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:206,1
    - Dst: pcap_lookupnet
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:207,1
    - Dst: pcap_open_live
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:208,1
    - Dst: fprintf
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:210,1
    - Dst: fprintf
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:211,1
    - Dst: pcap_setnonblock
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:214,1
    - Dst: fprintf
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:215,1
    - Dst: pcap_geterr
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:216,1
    - Dst: pcap_lookupnet
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:218,1
    - Dst: pcap_open_live
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:219,1
    - Dst: fprintf
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:221,1
    - Dst: fprintf
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:222,1
    - Dst: pcap_datalink
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:225,1
    - Dst: pcap_set_datalink
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:226,1
    - Dst: fprintf
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:227,1
    - Dst: pcap_geterr
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:228,1
    - Dst: os_snprintf
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:232,1
    - Dst: MAC2STR
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:236,1
    - Dst: MAC2STR
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:237,1
    - Dst: MAC2STR
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:237,1
    - Dst: pcap_compile
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:239,1
    - Dst: fprintf
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:240,1
    - Dst: pcap_geterr
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:240,1
    - Dst: pcap_setfilter
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:244,1
    - Dst: fprintf
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:245,1
    - Dst: pcap_geterr
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:245,1
    - Dst: pcap_freecode
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:249,1
    - Dst: ioctl
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:258,1
    - Dst: pcap_fileno
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:258,1
    - Dst: fprintf
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:259,1
    - Dst: strerror
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:261,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:268,1
    - Dst: eloop_register_read_sock
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:271,1
    - Dst: pcap_get_selectable_fd
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:271,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 2
    argNames:
    - l2
    - protocol
    argTypes:
    - struct l2_packet_data*
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 276
    functionName: l2_packet_init_libpcap
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_pcap.c
    functionUses: 0
    functionsReached:
    - ioctl
    - pcap_get_selectable_fd
    - fprintf
    - pcap_setfilter
    - pcap_lookupnet
    - pcap_geterr
    - pcap_datalink
    - strerror
    - pcap_freecode
    - eloop_register_read_sock
    - os_snprintf
    - pcap_open_live
    - pcap_setnonblock
    - MAC2STR
    - pcap_compile
    - eloop_register_timeout
    - pcap_set_datalink
    - pcap_fileno
    linkageType: ''
    returnType: int
    signature: "int l2_packet_init_libpcap(struct l2_packet_data *l2,\n\t\t\t\t  unsigned
      short protocol)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:287,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:290,1
    - Dst: os_memcpy
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:297,1
    - Dst: l2_packet_init_libdnet
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:299,1
    - Dst: l2_packet_init_libpcap
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:303,1
    - Dst: eth_close
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:305,1
    - Dst: os_free
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:307,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 5
    argNames:
    - ifname
    - own_addr
    - protocol
    - rx_callback_ctx
    - l2_hdr
    argTypes:
    - char*
    - u8*
    - unsigned short
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 312
    functionName: l2_packet_init
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_pcap.c
    functionUses: 14
    functionsReached:
    - os_memcpy
    - l2_packet_init_libdnet
    - os_strlcpy
    - l2_packet_init_libpcap
    - os_zalloc
    - eth_close
    - os_free
    linkageType: ''
    returnType: struct l2_packet_data
    signature: "struct l2_packet_data * l2_packet_init(\n\tconst char *ifname, const
      u8 *own_addr, unsigned short protocol,\n\tvoid (*rx_callback)(void *ctx, const
      u8 *src_addr,\n\t\t\t    const u8 *buf, size_t len),\n\tvoid *rx_callback_ctx,
      int l2_hdr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: l2_packet_init
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - br_ifname
    - ifname
    - own_addr
    - protocol
    - rx_callback_ctx
    - l2_hdr
    argTypes:
    - char*
    - char*
    - u8*
    - unsigned short
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 324
    functionName: l2_packet_init_bridge
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_pcap.c
    functionUses: 2
    functionsReached:
    - l2_packet_init
    linkageType: ''
    returnType: struct l2_packet_data
    signature: "struct l2_packet_data * l2_packet_init_bridge(\n\tconst char *br_ifname,
      const char *ifname, const u8 *own_addr,\n\tunsigned short protocol,\n\tvoid
      (*rx_callback)(void *ctx, const u8 *src_addr,\n\t\t\t    const u8 *buf, size_t
      len),\n\tvoid *rx_callback_ctx, int l2_hdr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:333,1
    - Dst: eth_close
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:336,1
    - Dst: eloop_unregister_read_sock
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:337,1
    - Dst: pcap_get_selectable_fd
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:337,1
    - Dst: pcap_close
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:340,1
    - Dst: os_free
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:341,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - l2
    argTypes:
    - struct l2_packet_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 342
    functionName: l2_packet_deinit
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_pcap.c
    functionUses: 25
    functionsReached:
    - eloop_unregister_read_sock
    - pcap_get_selectable_fd
    - eloop_cancel_timeout
    - pcap_close
    - eth_close
    - os_free
    linkageType: ''
    returnType: void
    signature: void l2_packet_deinit(struct l2_packet_data *l2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcap_findalldevs
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:353,1
    - Dst: wpa_printf
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:354,1
    - Dst: os_strcmp
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:359,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:366,1
    - Dst: inet_ntoa
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:366,1
    - Dst: pcap_freealldevs
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:375,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 3
    argNames:
    - l2
    - buf
    - len
    argTypes:
    - struct l2_packet_data*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 378
    functionName: l2_packet_get_ip_addr
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_pcap.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_strlcpy
    - pcap_freealldevs
    - pcap_findalldevs
    - inet_ntoa
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: int l2_packet_get_ip_addr(struct l2_packet_data *l2, char *buf, size_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:389,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/l2_packet/l2_packet_pcap.c:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - l2
    argTypes:
    - struct l2_packet_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 393
    functionName: l2_packet_notify_auth_start
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_pcap.c
    functionUses: 2
    functionsReached:
    - eloop_cancel_timeout
    - eloop_register_timeout
    linkageType: ''
    returnType: void
    signature: void l2_packet_notify_auth_start(struct l2_packet_data *l2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - l2
    - type
    argTypes:
    - struct l2_packet_data*
    - enum l2_packet_filter_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 400
    functionName: l2_packet_set_packet_filter
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_pcap.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int l2_packet_set_packet_filter(struct l2_packet_data *l2,\n\t\t\t\tenum
      l2_packet_filter_type type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - l2
    - addr
    argTypes:
    - struct l2_packet_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: l2_packet_get_own_addr
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_linux.c
    functionUses: 3
    functionsReached:
    - os_memcpy
    linkageType: ''
    returnType: int
    signature: int l2_packet_get_own_addr(struct l2_packet_data *l2, u8 *addr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:120,1
    - Dst: send
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:125,1
    - Dst: wpa_printf
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:127,1
    - Dst: strerror
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:128,1
    - Dst: os_memset
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:131,1
    - Dst: htons
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:134,1
    - Dst: os_memcpy
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:136,1
    - Dst: sendto
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:137,1
    - Dst: wpa_printf
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:140,1
    - Dst: strerror
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:141,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 5
    argNames:
    - l2
    - dst_addr
    - proto
    - buf
    - len
    argTypes:
    - struct l2_packet_data*
    - u8*
    - u16
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 145
    functionName: l2_packet_send
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_linux.c
    functionUses: 15
    functionsReached:
    - wpa_printf
    - TEST_FAIL
    - os_memcpy
    - sendto
    - strerror
    - send
    - htons
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int l2_packet_send(struct l2_packet_data *l2, const u8 *dst_addr,
      u16 proto,\n\t\t   const u8 *buf, size_t len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:156,1
    - Dst: recvfrom
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:158,1
    - Dst: wpa_printf
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:161,1
    - Dst: strerror
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:162,1
    - Dst: wpa_printf
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:166,1
    - Dst: MAC2STR
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:167,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:182,1
    - Dst: is_multicast_ether_addr
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:183,1
    - Dst: wpa_printf
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:184,1
    - Dst: eloop_unregister_read_sock
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:187,1
    - Dst: close
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:188,1
    - Dst: sha1_vector
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:194,1
    - Dst: os_memcmp
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:196,1
    - Dst: wpa_printf
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:197,1
    - Dst: os_memcmp
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:202,1
    - Dst: wpa_printf
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:203,1
    - Dst: os_memcpy
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:207,1
    - Dst: os_memcpy
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:209,1
    - Dst: struct l2_packet_data*::rx_callback
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:214,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 3
    argNames:
    - sock
    - eloop_ctx
    - sock_ctx
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 215
    functionName: l2_packet_receive
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_linux.c
    functionUses: 0
    functionsReached:
    - eloop_unregister_read_sock
    - wpa_printf
    - os_memcpy
    - is_multicast_ether_addr
    - strerror
    - recvfrom
    - sha1_vector
    - ether_addr_equal
    - MAC2STR
    - close
    - os_memcmp
    - struct l2_packet_data*::rx_callback
    - os_memset
    linkageType: ''
    returnType: void
    signature: void l2_packet_receive(int sock, void *eloop_ctx, void *sock_ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:231,1
    - Dst: recvfrom
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:233,1
    - Dst: wpa_printf
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:236,1
    - Dst: strerror
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:237,1
    - Dst: wpa_printf
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:241,1
    - Dst: MAC2STR
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:242,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:244,1
    - Dst: wpa_printf
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:245,1
    - Dst: sha1_vector
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:251,1
    - Dst: os_memcmp
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:253,1
    - Dst: wpa_printf
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:254,1
    - Dst: os_memcmp
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:258,1
    - Dst: wpa_printf
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:259,1
    - Dst: os_memcpy
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:262,1
    - Dst: os_memcpy
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:265,1
    - Dst: struct l2_packet_data*::rx_callback
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:266,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 3
    argNames:
    - sock
    - eloop_ctx
    - sock_ctx
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 267
    functionName: l2_packet_receive_br
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_linux.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - strerror
    - recvfrom
    - sha1_vector
    - ether_addr_equal
    - MAC2STR
    - os_memcmp
    - struct l2_packet_data*::rx_callback
    - os_memset
    linkageType: ''
    returnType: void
    signature: void l2_packet_receive_br(int sock, void *eloop_ctx, void *sock_ctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:281,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:284,1
    - Dst: socket
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:292,1
    - Dst: htons
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:293,1
    - Dst: wpa_printf
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:295,1
    - Dst: strerror
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:296,1
    - Dst: os_free
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:297,1
    - Dst: os_memset
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:300,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:301,1
    - Dst: ioctl
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:302,1
    - Dst: wpa_printf
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:303,1
    - Dst: strerror
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:304,1
    - Dst: close
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:305,1
    - Dst: os_free
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:306,1
    - Dst: os_memset
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:311,1
    - Dst: htons
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:314,1
    - Dst: bind
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:316,1
    - Dst: wpa_printf
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:317,1
    - Dst: strerror
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:318,1
    - Dst: close
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:319,1
    - Dst: os_free
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:320,1
    - Dst: ioctl
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:324,1
    - Dst: wpa_printf
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:325,1
    - Dst: strerror
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:326,1
    - Dst: close
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:327,1
    - Dst: os_free
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:328,1
    - Dst: os_memcpy
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:331,1
    - Dst: eloop_register_read_sock
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:334,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 44
    argCount: 5
    argNames:
    - ifname
    - own_addr
    - protocol
    - rx_callback_ctx
    - l2_hdr
    argTypes:
    - char*
    - u8*
    - unsigned short
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 337
    functionName: l2_packet_init
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_linux.c
    functionUses: 15
    functionsReached:
    - ioctl
    - wpa_printf
    - os_memcpy
    - strerror
    - eloop_register_read_sock
    - socket
    - os_strlcpy
    - os_zalloc
    - close
    - os_free
    - bind
    - htons
    - os_memset
    linkageType: ''
    returnType: struct l2_packet_data
    signature: "struct l2_packet_data * l2_packet_init(\n\tconst char *ifname, const
      u8 *own_addr, unsigned short protocol,\n\tvoid (*rx_callback)(void *ctx, const
      u8 *src_addr,\n\t\t\t    const u8 *buf, size_t len),\n\tvoid *rx_callback_ctx,
      int l2_hdr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BPF_STMT
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:351,1
    - Dst: BPF_JUMP
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:353,1
    - Dst: BPF_STMT
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:355,1
    - Dst: BPF_STMT
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:357,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:360,1
    - Dst: l2_packet_init
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:366,1
    - Dst: socket
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:385,1
    - Dst: htons
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:386,1
    - Dst: wpa_printf
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:388,1
    - Dst: strerror
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:389,1
    - Dst: os_memset
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:394,1
    - Dst: if_nametoindex
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:396,1
    - Dst: htons
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:397,1
    - Dst: bind
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:398,1
    - Dst: wpa_printf
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:399,1
    - Dst: strerror
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:400,1
    - Dst: close
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:402,1
    - Dst: setsockopt
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:407,1
    - Dst: wpa_printf
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:409,1
    - Dst: strerror
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:411,1
    - Dst: close
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:413,1
    - Dst: eloop_register_read_sock
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:418,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 6
    argNames:
    - br_ifname
    - ifname
    - own_addr
    - protocol
    - rx_callback_ctx
    - l2_hdr
    argTypes:
    - char*
    - char*
    - u8*
    - unsigned short
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 422
    functionName: l2_packet_init_bridge
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_linux.c
    functionUses: 2
    functionsReached:
    - BPF_JUMP
    - wpa_printf
    - strerror
    - if_nametoindex
    - eloop_register_read_sock
    - socket
    - setsockopt
    - close
    - bind
    - htons
    - l2_packet_init
    - BPF_STMT
    - ARRAY_SIZE
    - os_memset
    linkageType: ''
    returnType: struct l2_packet_data
    signature: "struct l2_packet_data * l2_packet_init_bridge(\n\tconst char *br_ifname,
      const char *ifname, const u8 *own_addr,\n\tunsigned short protocol,\n\tvoid
      (*rx_callback)(void *ctx, const u8 *src_addr,\n\t\t\t    const u8 *buf, size_t
      len),\n\tvoid *rx_callback_ctx, int l2_hdr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: eloop_unregister_read_sock
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:431,1
    - Dst: close
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:432,1
    - Dst: eloop_unregister_read_sock
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:437,1
    - Dst: close
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:438,1
    - Dst: os_free
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:442,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - l2
    argTypes:
    - struct l2_packet_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 443
    functionName: l2_packet_deinit
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_linux.c
    functionUses: 25
    functionsReached:
    - os_free
    - eloop_unregister_read_sock
    - close
    linkageType: ''
    returnType: void
    signature: void l2_packet_deinit(struct l2_packet_data *l2)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:453,1
    - Dst: wpa_printf
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:455,1
    - Dst: strerror
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:456,1
    - Dst: os_memset
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:459,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:460,1
    - Dst: ioctl
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:461,1
    - Dst: wpa_printf
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:463,1
    - Dst: strerror
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:464,1
    - Dst: close
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:465,1
    - Dst: close
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:468,1
    - Dst: aliasing_hide_typecast
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:469,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:472,1
    - Dst: inet_ntoa
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:472,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - l2
    - buf
    - len
    argTypes:
    - struct l2_packet_data*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 476
    functionName: l2_packet_get_ip_addr
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_linux.c
    functionUses: 0
    functionsReached:
    - ioctl
    - wpa_printf
    - strerror
    - socket
    - os_strlcpy
    - close
    - aliasing_hide_typecast
    - inet_ntoa
    - os_memset
    linkageType: ''
    returnType: int
    signature: int l2_packet_get_ip_addr(struct l2_packet_data *l2, char *buf, size_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - l2
    argTypes:
    - struct l2_packet_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 481
    functionName: l2_packet_notify_auth_start
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_linux.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void l2_packet_notify_auth_start(struct l2_packet_data *l2)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:489,1
    - Dst: setsockopt
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:506,1
    - Dst: wpa_printf
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:508,1
    - Dst: strerror
      Src: /src/hostap/src/l2_packet/l2_packet_linux.c:510,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - l2
    - type
    argTypes:
    - struct l2_packet_data*
    - enum l2_packet_filter_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 515
    functionName: l2_packet_set_packet_filter
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_linux.c
    functionUses: 2
    functionsReached:
    - setsockopt
    - TEST_FAIL
    - wpa_printf
    - strerror
    linkageType: ''
    returnType: int
    signature: "int l2_packet_set_packet_filter(struct l2_packet_data *l2,\n\t\t\t\tenum
      l2_packet_filter_type type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _Function
    - ','
    - _Method
    - ','
    - _Access
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: _NDISUIO_CTL_CODE
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_ndis.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _NDISUIO_CTL_CODE(_Function, _Method, _Access)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - l2
    - addr
    argTypes:
    - struct l2_packet_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: l2_packet_get_own_addr
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_ndis.c
    functionUses: 3
    functionsReached:
    - os_memcpy
    linkageType: ''
    returnType: int
    signature: int l2_packet_get_own_addr(struct l2_packet_data *l2, u8 *addr)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:108,1
    - Dst: WriteFile
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:113,1
    - Dst: driver_ndis_get_ndisuio_handle
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:113,1
    - Dst: os_malloc
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:117,1
    - Dst: os_memcpy
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:121,1
    - Dst: os_memcpy
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:122,1
    - Dst: htons
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:123,1
    - Dst: os_memcpy
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:124,1
    - Dst: WriteFile
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:125,1
    - Dst: driver_ndis_get_ndisuio_handle
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:125,1
    - Dst: os_free
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:127,1
    - Dst: GetLastError
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:131,1
    - Dst: wpa_printf
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:134,1
    - Dst: GetOverlappedResult
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:136,1
    - Dst: driver_ndis_get_ndisuio_handle
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:137,1
    - Dst: wpa_printf
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:140,1
    - Dst: GetLastError
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:142,1
    - Dst: wpa_printf
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:148,1
    - Dst: GetLastError
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:149,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 5
    argNames:
    - l2
    - dst_addr
    - proto
    - buf
    - len
    argTypes:
    - struct l2_packet_data*
    - u8*
    - u16
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 154
    functionName: l2_packet_send
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_ndis.c
    functionUses: 15
    functionsReached:
    - os_memcpy
    - wpa_printf
    - GetLastError
    - os_malloc
    - WriteFile
    - GetOverlappedResult
    - driver_ndis_get_ndisuio_handle
    - os_free
    - htons
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int l2_packet_send(struct l2_packet_data *l2, const u8 *dst_addr,
      u16 proto,\n\t\t   const u8 *buf, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:164,1
    - Dst: ReadFile
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:165,1
    - Dst: driver_ndis_get_ndisuio_handle
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:165,1
    - Dst: GetLastError
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:167,1
    - Dst: wpa_printf
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:168,1
    - Dst: Sleep
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:177,1
    - Dst: wpa_printf
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:181,1
    - Dst: SetEvent
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:188,1
    - Dst: WaitForMultipleObjects
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:191,1
    - Dst: ResetEvent
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - l2
    argTypes:
    - struct l2_packet_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 193
    functionName: l2_packet_rx_thread_try_read
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_ndis.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - ReadFile
    - GetLastError
    - WaitForMultipleObjects
    - ResetEvent
    - driver_ndis_get_ndisuio_handle
    - SetEvent
    - Sleep
    linkageType: ''
    returnType: void
    signature: void l2_packet_rx_thread_try_read(struct l2_packet_data *l2)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:203,1
    - Dst: WaitForMultipleObjects
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:225,1
    - Dst: wpa_printf
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:228,1
    - Dst: l2_packet_rx_thread_try_read
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:233,1
    - Dst: wpa_printf
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:237,1
    - Dst: GetLastError
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:239,1
    - Dst: wpa_printf
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:245,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - arg
    argTypes:
    - LPVOID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 248
    functionName: l2_packet_rx_thread
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_ndis.c
    functionUses: 0
    functionsReached:
    - WaitForMultipleObjects
    - wpa_printf
    - GetLastError
    - l2_packet_rx_thread_try_read
    linkageType: ''
    returnType: DWORD
    signature: DWORD l2_packet_rx_thread(LPVOID arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:252,1
    - Dst: ReadFile
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:254,1
    - Dst: driver_ndis_get_ndisuio_handle
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:254,1
    - Dst: GetLastError
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:257,1
    - Dst: wpa_printf
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:259,1
    - Dst: wpa_printf
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:268,1
    - Dst: l2_packet_callback
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:271,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - l2
    - recursive
    argTypes:
    - struct l2_packet_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 275
    functionName: l2_ndisuio_start_read
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_ndis.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - ReadFile
    - l2_packet_callback
    - GetLastError
    - driver_ndis_get_ndisuio_handle
    - os_memset
    linkageType: ''
    returnType: int
    signature: int l2_ndisuio_start_read(struct l2_packet_data *l2, int recursive)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:285,1
    - Dst: struct l2_packet_data*::rx_callback
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:298,1
    - Dst: l2_ndisuio_start_read
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:300,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - l2
    argTypes:
    - struct l2_packet_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 279
    functionDepth: 2
    functionLinenumber: 279
    functionLinenumberEnd: 302
    functionName: l2_packet_callback
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_ndis.c
    functionUses: 1
    functionsReached:
    - l2_ndisuio_start_read
    - wpa_printf
    - struct l2_packet_data*::rx_callback
    linkageType: ''
    returnType: void
    signature: void l2_packet_callback(struct l2_packet_data *l2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ResetEvent
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:312,1
    - Dst: GetOverlappedResult
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:315,1
    - Dst: driver_ndis_get_ndisuio_handle
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:315,1
    - Dst: wpa_printf
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:317,1
    - Dst: GetLastError
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:318,1
    - Dst: l2_packet_callback
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:323,1
    - Dst: SetEvent
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:326,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - eloop_data
    - user_data
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 305
    functionDepth: 3
    functionLinenumber: 305
    functionLinenumberEnd: 328
    functionName: l2_packet_rx_event
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_ndis.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - l2_packet_callback
    - GetLastError
    - ResetEvent
    - GetOverlappedResult
    - driver_ndis_get_ndisuio_handle
    - SetEvent
    linkageType: ''
    returnType: void
    signature: void l2_packet_rx_event(void *eloop_data, void *user_data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: htons
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:333,1
    - Dst: DeviceIoControl
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:336,1
    - Dst: driver_ndis_get_ndisuio_handle
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:336,1
    - Dst: wpa_printf
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:339,1
    - Dst: GetLastError
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - protocol
    argTypes:
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 346
    functionName: l2_ndisuio_set_ether_type
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_ndis.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - GetLastError
    - DeviceIoControl
    - driver_ndis_get_ndisuio_handle
    - htons
    linkageType: ''
    returnType: int
    signature: int l2_ndisuio_set_ether_type(unsigned short protocol)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:358,1
    - Dst: wpa_printf
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:364,1
    - Dst: os_zalloc
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:370,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:375,1
    - Dst: os_memcpy
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:381,1
    - Dst: l2_ndisuio_set_ether_type
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:383,1
    - Dst: os_free
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:384,1
    - Dst: wpa_printf
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:389,1
    - Dst: CreateEvent
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:396,1
    - Dst: os_free
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:398,1
    - Dst: eloop_register_event
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:402,1
    - Dst: CreateEvent
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:406,1
    - Dst: CreateEvent
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:412,1
    - Dst: TEXT
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:412,1
    - Dst: CreateEvent
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:413,1
    - Dst: CloseHandle
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:418,1
    - Dst: CloseHandle
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:422,1
    - Dst: CloseHandle
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:426,1
    - Dst: eloop_unregister_event
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:429,1
    - Dst: os_free
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:430,1
    - Dst: CreateThread
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:434,1
    - Dst: wpa_printf
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:438,1
    - Dst: GetLastError
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:439,1
    - Dst: eloop_unregister_event
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:440,1
    - Dst: CloseHandle
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:441,1
    - Dst: os_free
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:443,1
    - Dst: l2_ndisuio_start_read
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:447,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 69
    argCount: 5
    argNames:
    - ifname
    - own_addr
    - protocol
    - rx_callback_ctx
    - l2_hdr
    argTypes:
    - char*
    - u8*
    - unsigned short
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 349
    functionDepth: 2
    functionLinenumber: 349
    functionLinenumberEnd: 451
    functionName: l2_packet_init
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_ndis.c
    functionUses: 16
    functionsReached:
    - wpa_printf
    - l2_ndisuio_set_ether_type
    - os_memcpy
    - GetLastError
    - TEXT
    - eloop_register_event
    - os_strlcpy
    - l2_ndisuio_start_read
    - os_zalloc
    - CloseHandle
    - CreateEvent
    - CreateThread
    - os_free
    - eloop_unregister_event
    linkageType: ''
    returnType: struct l2_packet_data
    signature: "struct l2_packet_data * l2_packet_init(\n\tconst char *ifname, const
      u8 *own_addr, unsigned short protocol,\n\tvoid (*rx_callback)(void *ctx, const
      u8 *src_addr,\n\t\t\t    const u8 *buf, size_t len),\n\tvoid *rx_callback_ctx,
      int l2_hdr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: l2_packet_init
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - br_ifname
    - ifname
    - own_addr
    - protocol
    - rx_callback_ctx
    - l2_hdr
    argTypes:
    - char*
    - char*
    - u8*
    - unsigned short
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 463
    functionName: l2_packet_init_bridge
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_ndis.c
    functionUses: 2
    functionsReached:
    - l2_packet_init
    linkageType: ''
    returnType: struct l2_packet_data
    signature: "struct l2_packet_data * l2_packet_init_bridge(\n\tconst char *br_ifname,
      const char *ifname, const u8 *own_addr,\n\tunsigned short protocol,\n\tvoid
      (*rx_callback)(void *ctx, const u8 *src_addr,\n\t\t\t    const u8 *buf, size_t
      len),\n\tvoid *rx_callback_ctx, int l2_hdr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:475,1
    - Dst: l2_ndisuio_set_ether_type
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:478,1
    - Dst: wpa_printf
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:484,1
    - Dst: SetEvent
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:486,1
    - Dst: DeviceIoControl
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:491,1
    - Dst: driver_ndis_get_ndisuio_handle
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:491,1
    - Dst: wpa_printf
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:494,1
    - Dst: GetLastError
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:495,1
    - Dst: WaitForSingleObject
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:499,1
    - Dst: wpa_printf
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:500,1
    - Dst: CloseHandle
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:501,1
    - Dst: CloseHandle
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:502,1
    - Dst: CloseHandle
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:503,1
    - Dst: CloseHandle
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:504,1
    - Dst: os_free
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:507,1
    - Dst: CancelIo
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:512,1
    - Dst: driver_ndis_get_ndisuio_handle
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:512,1
    - Dst: eloop_unregister_event
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:515,1
    - Dst: CloseHandle
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:516,1
    - Dst: os_free
      Src: /src/hostap/src/l2_packet/l2_packet_ndis.c:517,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 1
    argNames:
    - l2
    argTypes:
    - struct l2_packet_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 518
    functionName: l2_packet_deinit
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_ndis.c
    functionUses: 25
    functionsReached:
    - wpa_printf
    - l2_ndisuio_set_ether_type
    - GetLastError
    - WaitForSingleObject
    - DeviceIoControl
    - CancelIo
    - driver_ndis_get_ndisuio_handle
    - CloseHandle
    - os_free
    - SetEvent
    - eloop_unregister_event
    linkageType: ''
    returnType: void
    signature: void l2_packet_deinit(struct l2_packet_data *l2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - l2
    - buf
    - len
    argTypes:
    - struct l2_packet_data*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 524
    functionName: l2_packet_get_ip_addr
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_ndis.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int l2_packet_get_ip_addr(struct l2_packet_data *l2, char *buf, size_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - l2
    argTypes:
    - struct l2_packet_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 529
    functionName: l2_packet_notify_auth_start
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_ndis.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void l2_packet_notify_auth_start(struct l2_packet_data *l2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - l2
    - type
    argTypes:
    - struct l2_packet_data*
    - enum l2_packet_filter_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 536
    functionName: l2_packet_set_packet_filter
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_ndis.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int l2_packet_set_packet_filter(struct l2_packet_data *l2,\n\t\t\t\tenum
      l2_packet_filter_type type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/l2_packet/l2_packet_none.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - l2
    - addr
    argTypes:
    - struct l2_packet_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: l2_packet_get_own_addr
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_none.c
    functionUses: 3
    functionsReached:
    - os_memcpy
    linkageType: ''
    returnType: int
    signature: int l2_packet_get_own_addr(struct l2_packet_data *l2, u8 *addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - l2
    - dst_addr
    - proto
    - buf
    - len
    argTypes:
    - struct l2_packet_data*
    - u8*
    - u16
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 49
    functionName: l2_packet_send
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_none.c
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int l2_packet_send(struct l2_packet_data *l2, const u8 *dst_addr,
      u16 proto,\n\t\t   const u8 *buf, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct l2_packet_data*::rx_callback
      Src: /src/hostap/src/l2_packet/l2_packet_none.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - sock
    - eloop_ctx
    - sock_ctx
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 64
    functionName: l2_packet_receive
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_none.c
    functionUses: 0
    functionsReached:
    - struct l2_packet_data*::rx_callback
    linkageType: ''
    returnType: void
    signature: void l2_packet_receive(int sock, void *eloop_ctx, void *sock_ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/l2_packet/l2_packet_none.c:75,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/l2_packet/l2_packet_none.c:78,1
    - Dst: eloop_register_read_sock
      Src: /src/hostap/src/l2_packet/l2_packet_none.c:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - ifname
    - own_addr
    - protocol
    - rx_callback_ctx
    - l2_hdr
    argTypes:
    - char*
    - u8*
    - unsigned short
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 91
    functionName: l2_packet_init
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_none.c
    functionUses: 17
    functionsReached:
    - eloop_register_read_sock
    - os_zalloc
    - os_strlcpy
    linkageType: ''
    returnType: struct l2_packet_data
    signature: "struct l2_packet_data * l2_packet_init(\n\tconst char *ifname, const
      u8 *own_addr, unsigned short protocol,\n\tvoid (*rx_callback)(void *ctx, const
      u8 *src_addr,\n\t\t\t    const u8 *buf, size_t len),\n\tvoid *rx_callback_ctx,
      int l2_hdr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: l2_packet_init
      Src: /src/hostap/src/l2_packet/l2_packet_none.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - br_ifname
    - ifname
    - own_addr
    - protocol
    - rx_callback_ctx
    - l2_hdr
    argTypes:
    - char*
    - char*
    - u8*
    - unsigned short
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 103
    functionName: l2_packet_init_bridge
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_none.c
    functionUses: 2
    functionsReached:
    - l2_packet_init
    linkageType: ''
    returnType: struct l2_packet_data
    signature: "struct l2_packet_data * l2_packet_init_bridge(\n\tconst char *br_ifname,
      const char *ifname, const u8 *own_addr,\n\tunsigned short protocol,\n\tvoid
      (*rx_callback)(void *ctx, const u8 *src_addr,\n\t\t\t    const u8 *buf, size_t
      len),\n\tvoid *rx_callback_ctx, int l2_hdr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eloop_unregister_read_sock
      Src: /src/hostap/src/l2_packet/l2_packet_none.c:112,1
    - Dst: os_free
      Src: /src/hostap/src/l2_packet/l2_packet_none.c:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - l2
    argTypes:
    - struct l2_packet_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 117
    functionName: l2_packet_deinit
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_none.c
    functionUses: 25
    functionsReached:
    - os_free
    - eloop_unregister_read_sock
    linkageType: ''
    returnType: void
    signature: void l2_packet_deinit(struct l2_packet_data *l2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - l2
    - buf
    - len
    argTypes:
    - struct l2_packet_data*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: l2_packet_get_ip_addr
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_none.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int l2_packet_get_ip_addr(struct l2_packet_data *l2, char *buf, size_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - l2
    argTypes:
    - struct l2_packet_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: l2_packet_notify_auth_start
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_none.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void l2_packet_notify_auth_start(struct l2_packet_data *l2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - l2
    - type
    argTypes:
    - struct l2_packet_data*
    - enum l2_packet_filter_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: l2_packet_set_packet_filter
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_none.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int l2_packet_set_packet_filter(struct l2_packet_data *l2,\n\t\t\t\tenum
      l2_packet_filter_type type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/l2_packet/l2_packet_freebsd.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - l2
    - addr
    argTypes:
    - struct l2_packet_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: l2_packet_get_own_addr
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_freebsd.c
    functionUses: 3
    functionsReached:
    - os_memcpy
    linkageType: ''
    returnType: int
    signature: int l2_packet_get_own_addr(struct l2_packet_data *l2, u8 *addr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/l2_packet/l2_packet_freebsd.c:64,1
    - Dst: os_memcpy
      Src: /src/hostap/src/l2_packet/l2_packet_freebsd.c:67,1
    - Dst: os_memcpy
      Src: /src/hostap/src/l2_packet/l2_packet_freebsd.c:68,1
    - Dst: htons
      Src: /src/hostap/src/l2_packet/l2_packet_freebsd.c:69,1
    - Dst: os_memcpy
      Src: /src/hostap/src/l2_packet/l2_packet_freebsd.c:70,1
    - Dst: pcap_inject
      Src: /src/hostap/src/l2_packet/l2_packet_freebsd.c:71,1
    - Dst: os_free
      Src: /src/hostap/src/l2_packet/l2_packet_freebsd.c:72,1
    - Dst: pcap_inject
      Src: /src/hostap/src/l2_packet/l2_packet_freebsd.c:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - l2
    - dst_addr
    - proto
    - buf
    - len
    argTypes:
    - struct l2_packet_data*
    - u8*
    - u16
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 76
    functionName: l2_packet_send
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_freebsd.c
    functionUses: 15
    functionsReached:
    - os_memcpy
    - os_malloc
    - pcap_inject
    - os_free
    - htons
    linkageType: ''
    returnType: int
    signature: "int l2_packet_send(struct l2_packet_data *l2, const u8 *dst_addr,
      u16 proto,\n\t\t   const u8 *buf, size_t len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcap_next
      Src: /src/hostap/src/l2_packet/l2_packet_freebsd.c:89,1
    - Dst: htons
      Src: /src/hostap/src/l2_packet/l2_packet_freebsd.c:104,1
    - Dst: struct l2_packet_data*::rx_callback
      Src: /src/hostap/src/l2_packet/l2_packet_freebsd.c:109,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - sock
    - eloop_ctx
    - sock_ctx
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 110
    functionName: l2_packet_receive
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_freebsd.c
    functionUses: 0
    functionsReached:
    - struct l2_packet_data*::rx_callback
    - htons
    - pcap_next
    linkageType: ''
    returnType: void
    signature: void l2_packet_receive(int sock, void *eloop_ctx, void *sock_ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pcap_lookupnet
      Src: /src/hostap/src/l2_packet/l2_packet_freebsd.c:120,1
    - Dst: pcap_open_live
      Src: /src/hostap/src/l2_packet/l2_packet_freebsd.c:121,1
    - Dst: fprintf
      Src: /src/hostap/src/l2_packet/l2_packet_freebsd.c:123,1
    - Dst: fprintf
      Src: /src/hostap/src/l2_packet/l2_packet_freebsd.c:124,1
    - Dst: pcap_datalink
      Src: /src/hostap/src/l2_packet/l2_packet_freebsd.c:127,1
    - Dst: pcap_set_datalink
      Src: /src/hostap/src/l2_packet/l2_packet_freebsd.c:128,1
    - Dst: fprintf
      Src: /src/hostap/src/l2_packet/l2_packet_freebsd.c:129,1
    - Dst: pcap_geterr
      Src: /src/hostap/src/l2_packet/l2_packet_freebsd.c:130,1
    - Dst: os_snprintf
      Src: /src/hostap/src/l2_packet/l2_packet_freebsd.c:133,1
    - Dst: MAC2STR
      Src: /src/hostap/src/l2_packet/l2_packet_freebsd.c:137,1
    - Dst: MAC2STR
      Src: /src/hostap/src/l2_packet/l2_packet_freebsd.c:138,1
    - Dst: MAC2STR
      Src: /src/hostap/src/l2_packet/l2_packet_freebsd.c:138,1
    - Dst: pcap_compile
      Src: /src/hostap/src/l2_packet/l2_packet_freebsd.c:140,1
    - Dst: fprintf
      Src: /src/hostap/src/l2_packet/l2_packet_freebsd.c:141,1
    - Dst: pcap_geterr
      Src: /src/hostap/src/l2_packet/l2_packet_freebsd.c:141,1
    - Dst: pcap_setfilter
      Src: /src/hostap/src/l2_packet/l2_packet_freebsd.c:145,1
    - Dst: fprintf
      Src: /src/hostap/src/l2_packet/l2_packet_freebsd.c:146,1
    - Dst: pcap_geterr
      Src: /src/hostap/src/l2_packet/l2_packet_freebsd.c:146,1
    - Dst: pcap_freecode
      Src: /src/hostap/src/l2_packet/l2_packet_freebsd.c:150,1
    - Dst: ioctl
      Src: /src/hostap/src/l2_packet/l2_packet_freebsd.c:159,1
    - Dst: pcap_fileno
      Src: /src/hostap/src/l2_packet/l2_packet_freebsd.c:159,1
    - Dst: fprintf
      Src: /src/hostap/src/l2_packet/l2_packet_freebsd.c:160,1
    - Dst: strerror
      Src: /src/hostap/src/l2_packet/l2_packet_freebsd.c:162,1
    - Dst: eloop_register_read_sock
      Src: /src/hostap/src/l2_packet/l2_packet_freebsd.c:168,1
    - Dst: pcap_get_selectable_fd
      Src: /src/hostap/src/l2_packet/l2_packet_freebsd.c:168,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 2
    argNames:
    - l2
    - protocol
    argTypes:
    - struct l2_packet_data*
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 172
    functionName: l2_packet_init_libpcap
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_freebsd.c
    functionUses: 1
    functionsReached:
    - ioctl
    - pcap_get_selectable_fd
    - fprintf
    - pcap_setfilter
    - pcap_lookupnet
    - pcap_geterr
    - pcap_datalink
    - strerror
    - pcap_freecode
    - eloop_register_read_sock
    - os_snprintf
    - pcap_open_live
    - MAC2STR
    - pcap_compile
    - pcap_set_datalink
    - pcap_fileno
    linkageType: ''
    returnType: int
    signature: "int l2_packet_init_libpcap(struct l2_packet_data *l2,\n\t\t\t\t  unsigned
      short protocol)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dlpi_open
      Src: /src/hostap/src/l2_packet/l2_packet_freebsd.c:183,1
    - Dst: wpa_printf
      Src: /src/hostap/src/l2_packet/l2_packet_freebsd.c:185,1
    - Dst: dlpi_strerror
      Src: /src/hostap/src/l2_packet/l2_packet_freebsd.c:186,1
    - Dst: dlpi_get_physaddr
      Src: /src/hostap/src/l2_packet/l2_packet_freebsd.c:190,1
    - Dst: wpa_printf
      Src: /src/hostap/src/l2_packet/l2_packet_freebsd.c:193,1
    - Dst: dlpi_strerror
      Src: /src/hostap/src/l2_packet/l2_packet_freebsd.c:194,1
    - Dst: dlpi_close
      Src: /src/hostap/src/l2_packet/l2_packet_freebsd.c:195,1
    - Dst: os_memcpy
      Src: /src/hostap/src/l2_packet/l2_packet_freebsd.c:198,1
    - Dst: dlpi_close
      Src: /src/hostap/src/l2_packet/l2_packet_freebsd.c:199,1
    - Dst: sysctl
      Src: /src/hostap/src/l2_packet/l2_packet_freebsd.c:207,1
    - Dst: os_malloc
      Src: /src/hostap/src/l2_packet/l2_packet_freebsd.c:209,1
    - Dst: sysctl
      Src: /src/hostap/src/l2_packet/l2_packet_freebsd.c:211,1
    - Dst: os_free
      Src: /src/hostap/src/l2_packet/l2_packet_freebsd.c:212,1
    - Dst: os_memcmp
      Src: /src/hostap/src/l2_packet/l2_packet_freebsd.c:222,1
    - Dst: os_memcpy
      Src: /src/hostap/src/l2_packet/l2_packet_freebsd.c:224,1
    - Dst: LLADDR
      Src: /src/hostap/src/l2_packet/l2_packet_freebsd.c:224,1
    - Dst: os_free
      Src: /src/hostap/src/l2_packet/l2_packet_freebsd.c:227,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 2
    argNames:
    - device
    - ea
    argTypes:
    - char*
    - u8[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 235
    functionName: eth_get
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_freebsd.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - os_memcpy
    - os_malloc
    - dlpi_strerror
    - dlpi_open
    - os_memcmp
    - LLADDR
    - os_free
    - dlpi_get_physaddr
    - sysctl
    - dlpi_close
    linkageType: ''
    returnType: int
    signature: int eth_get(const char *device, u8 ea[ETH_ALEN])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/l2_packet/l2_packet_freebsd.c:246,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/l2_packet/l2_packet_freebsd.c:249,1
    - Dst: eth_get
      Src: /src/hostap/src/l2_packet/l2_packet_freebsd.c:254,1
    - Dst: fprintf
      Src: /src/hostap/src/l2_packet/l2_packet_freebsd.c:255,1
    - Dst: os_free
      Src: /src/hostap/src/l2_packet/l2_packet_freebsd.c:257,1
    - Dst: l2_packet_init_libpcap
      Src: /src/hostap/src/l2_packet/l2_packet_freebsd.c:261,1
    - Dst: os_free
      Src: /src/hostap/src/l2_packet/l2_packet_freebsd.c:262,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 5
    argNames:
    - ifname
    - own_addr
    - protocol
    - rx_callback_ctx
    - l2_hdr
    argTypes:
    - char*
    - u8*
    - unsigned short
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 267
    functionName: l2_packet_init
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_freebsd.c
    functionUses: 18
    functionsReached:
    - fprintf
    - os_strlcpy
    - l2_packet_init_libpcap
    - os_zalloc
    - os_free
    - eth_get
    linkageType: ''
    returnType: struct l2_packet_data
    signature: "struct l2_packet_data * l2_packet_init(\n\tconst char *ifname, const
      u8 *own_addr, unsigned short protocol,\n\tvoid (*rx_callback)(void *ctx, const
      u8 *src_addr,\n\t\t\t    const u8 *buf, size_t len),\n\tvoid *rx_callback_ctx,
      int l2_hdr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: l2_packet_init
      Src: /src/hostap/src/l2_packet/l2_packet_freebsd.c:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - br_ifname
    - ifname
    - own_addr
    - protocol
    - rx_callback_ctx
    - l2_hdr
    argTypes:
    - char*
    - char*
    - u8*
    - unsigned short
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 279
    functionName: l2_packet_init_bridge
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_freebsd.c
    functionUses: 2
    functionsReached:
    - l2_packet_init
    linkageType: ''
    returnType: struct l2_packet_data
    signature: "struct l2_packet_data * l2_packet_init_bridge(\n\tconst char *br_ifname,
      const char *ifname, const u8 *own_addr,\n\tunsigned short protocol,\n\tvoid
      (*rx_callback)(void *ctx, const u8 *src_addr,\n\t\t\t    const u8 *buf, size_t
      len),\n\tvoid *rx_callback_ctx, int l2_hdr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eloop_unregister_read_sock
      Src: /src/hostap/src/l2_packet/l2_packet_freebsd.c:286,1
    - Dst: pcap_get_selectable_fd
      Src: /src/hostap/src/l2_packet/l2_packet_freebsd.c:287,1
    - Dst: pcap_close
      Src: /src/hostap/src/l2_packet/l2_packet_freebsd.c:288,1
    - Dst: os_free
      Src: /src/hostap/src/l2_packet/l2_packet_freebsd.c:290,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - l2
    argTypes:
    - struct l2_packet_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 292
    functionName: l2_packet_deinit
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_freebsd.c
    functionUses: 25
    functionsReached:
    - os_free
    - eloop_unregister_read_sock
    - pcap_get_selectable_fd
    - pcap_close
    linkageType: ''
    returnType: void
    signature: void l2_packet_deinit(struct l2_packet_data *l2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcap_findalldevs
      Src: /src/hostap/src/l2_packet/l2_packet_freebsd.c:303,1
    - Dst: wpa_printf
      Src: /src/hostap/src/l2_packet/l2_packet_freebsd.c:304,1
    - Dst: os_strcmp
      Src: /src/hostap/src/l2_packet/l2_packet_freebsd.c:309,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/l2_packet/l2_packet_freebsd.c:316,1
    - Dst: inet_ntoa
      Src: /src/hostap/src/l2_packet/l2_packet_freebsd.c:316,1
    - Dst: pcap_freealldevs
      Src: /src/hostap/src/l2_packet/l2_packet_freebsd.c:325,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 3
    argNames:
    - l2
    - buf
    - len
    argTypes:
    - struct l2_packet_data*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 328
    functionName: l2_packet_get_ip_addr
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_freebsd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_strlcpy
    - pcap_freealldevs
    - pcap_findalldevs
    - inet_ntoa
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: int l2_packet_get_ip_addr(struct l2_packet_data *l2, char *buf, size_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - l2
    argTypes:
    - struct l2_packet_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 333
    functionName: l2_packet_notify_auth_start
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_freebsd.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void l2_packet_notify_auth_start(struct l2_packet_data *l2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - l2
    - type
    argTypes:
    - struct l2_packet_data*
    - enum l2_packet_filter_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 340
    functionName: l2_packet_set_packet_filter
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_freebsd.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int l2_packet_set_packet_filter(struct l2_packet_data *l2,\n\t\t\t\tenum
      l2_packet_filter_type type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/l2_packet/l2_packet_winpcap.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - l2
    - addr
    argTypes:
    - struct l2_packet_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: l2_packet_get_own_addr
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_winpcap.c
    functionUses: 3
    functionsReached:
    - os_memcpy
    linkageType: ''
    returnType: int
    signature: int l2_packet_get_own_addr(struct l2_packet_data *l2, u8 *addr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcap_sendpacket
      Src: /src/hostap/src/l2_packet/l2_packet_winpcap.c:82,1
    - Dst: os_malloc
      Src: /src/hostap/src/l2_packet/l2_packet_winpcap.c:85,1
    - Dst: os_memcpy
      Src: /src/hostap/src/l2_packet/l2_packet_winpcap.c:89,1
    - Dst: os_memcpy
      Src: /src/hostap/src/l2_packet/l2_packet_winpcap.c:90,1
    - Dst: htons
      Src: /src/hostap/src/l2_packet/l2_packet_winpcap.c:91,1
    - Dst: os_memcpy
      Src: /src/hostap/src/l2_packet/l2_packet_winpcap.c:92,1
    - Dst: pcap_sendpacket
      Src: /src/hostap/src/l2_packet/l2_packet_winpcap.c:93,1
    - Dst: os_free
      Src: /src/hostap/src/l2_packet/l2_packet_winpcap.c:94,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 5
    argNames:
    - l2
    - dst_addr
    - proto
    - buf
    - len
    argTypes:
    - struct l2_packet_data*
    - u8*
    - u16
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 98
    functionName: l2_packet_send
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_winpcap.c
    functionUses: 15
    functionsReached:
    - os_memcpy
    - os_malloc
    - pcap_sendpacket
    - os_free
    - htons
    linkageType: ''
    returnType: int
    signature: "int l2_packet_send(struct l2_packet_data *l2, const u8 *dst_addr,
      u16 proto,\n\t\t   const u8 *buf, size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SetEvent
      Src: /src/hostap/src/l2_packet/l2_packet_winpcap.c:120,1
    - Dst: WaitForSingleObject
      Src: /src/hostap/src/l2_packet/l2_packet_winpcap.c:121,1
    - Dst: ResetEvent
      Src: /src/hostap/src/l2_packet/l2_packet_winpcap.c:122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - user
    - hdr
    - pkt_data
    argTypes:
    - u_char*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 124
    functionName: l2_packet_receive_cb
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_winpcap.c
    functionUses: 0
    functionsReached:
    - SetEvent
    - ResetEvent
    - WaitForSingleObject
    linkageType: ''
    returnType: void
    signature: "void l2_packet_receive_cb(u_char *user, const struct pcap_pkthdr *hdr,\n\t\t\t\t
      const u_char *pkt_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcap_dispatch
      Src: /src/hostap/src/l2_packet/l2_packet_winpcap.c:133,1
    - Dst: WaitForSingleObject
      Src: /src/hostap/src/l2_packet/l2_packet_winpcap.c:137,1
    - Dst: ResetEvent
      Src: /src/hostap/src/l2_packet/l2_packet_winpcap.c:141,1
    - Dst: SetEvent
      Src: /src/hostap/src/l2_packet/l2_packet_winpcap.c:144,1
    - Dst: ExitThread
      Src: /src/hostap/src/l2_packet/l2_packet_winpcap.c:145,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - arg
    argTypes:
    - LPVOID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 147
    functionName: l2_packet_receive_thread
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_winpcap.c
    functionUses: 0
    functionsReached:
    - ExitThread
    - WaitForSingleObject
    - pcap_dispatch
    - ResetEvent
    - SetEvent
    linkageType: ''
    returnType: DWORD
    signature: DWORD l2_packet_receive_thread(LPVOID arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct l2_packet_data*::rx_callback
      Src: /src/hostap/src/l2_packet/l2_packet_winpcap.c:154,1
    - Dst: ResetEvent
      Src: /src/hostap/src/l2_packet/l2_packet_winpcap.c:156,1
    - Dst: SetEvent
      Src: /src/hostap/src/l2_packet/l2_packet_winpcap.c:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - eloop_data
    - user_data
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 158
    functionName: l2_packet_rx_event
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_winpcap.c
    functionUses: 0
    functionsReached:
    - SetEvent
    - struct l2_packet_data*::rx_callback
    - ResetEvent
    linkageType: ''
    returnType: void
    signature: void l2_packet_rx_event(void *eloop_data, void *user_data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcap_lookupnet
      Src: /src/hostap/src/l2_packet/l2_packet_winpcap.c:168,1
    - Dst: pcap_open_live
      Src: /src/hostap/src/l2_packet/l2_packet_winpcap.c:169,1
    - Dst: fprintf
      Src: /src/hostap/src/l2_packet/l2_packet_winpcap.c:171,1
    - Dst: fprintf
      Src: /src/hostap/src/l2_packet/l2_packet_winpcap.c:172,1
    - Dst: os_snprintf
      Src: /src/hostap/src/l2_packet/l2_packet_winpcap.c:175,1
    - Dst: MAC2STR
      Src: /src/hostap/src/l2_packet/l2_packet_winpcap.c:179,1
    - Dst: MAC2STR
      Src: /src/hostap/src/l2_packet/l2_packet_winpcap.c:180,1
    - Dst: MAC2STR
      Src: /src/hostap/src/l2_packet/l2_packet_winpcap.c:180,1
    - Dst: pcap_compile
      Src: /src/hostap/src/l2_packet/l2_packet_winpcap.c:182,1
    - Dst: fprintf
      Src: /src/hostap/src/l2_packet/l2_packet_winpcap.c:183,1
    - Dst: pcap_geterr
      Src: /src/hostap/src/l2_packet/l2_packet_winpcap.c:183,1
    - Dst: pcap_setfilter
      Src: /src/hostap/src/l2_packet/l2_packet_winpcap.c:187,1
    - Dst: fprintf
      Src: /src/hostap/src/l2_packet/l2_packet_winpcap.c:188,1
    - Dst: pcap_geterr
      Src: /src/hostap/src/l2_packet/l2_packet_winpcap.c:188,1
    - Dst: pcap_freecode
      Src: /src/hostap/src/l2_packet/l2_packet_winpcap.c:192,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - l2
    - protocol
    argTypes:
    - struct l2_packet_data*
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 195
    functionName: l2_packet_init_libpcap
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_winpcap.c
    functionUses: 2
    functionsReached:
    - fprintf
    - pcap_setfilter
    - pcap_lookupnet
    - pcap_geterr
    - pcap_freecode
    - os_snprintf
    - pcap_open_live
    - MAC2STR
    - pcap_compile
    linkageType: ''
    returnType: int
    signature: "int l2_packet_init_libpcap(struct l2_packet_data *l2,\n\t\t\t\t  unsigned
      short protocol)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/l2_packet/l2_packet_winpcap.c:207,1
    - Dst: os_strncmp
      Src: /src/hostap/src/l2_packet/l2_packet_winpcap.c:210,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/l2_packet/l2_packet_winpcap.c:211,1
    - Dst: os_snprintf
      Src: /src/hostap/src/l2_packet/l2_packet_winpcap.c:213,1
    - Dst: os_memcpy
      Src: /src/hostap/src/l2_packet/l2_packet_winpcap.c:220,1
    - Dst: l2_packet_init_libpcap
      Src: /src/hostap/src/l2_packet/l2_packet_winpcap.c:222,1
    - Dst: os_free
      Src: /src/hostap/src/l2_packet/l2_packet_winpcap.c:223,1
    - Dst: CreateEvent
      Src: /src/hostap/src/l2_packet/l2_packet_winpcap.c:230,1
    - Dst: CreateEvent
      Src: /src/hostap/src/l2_packet/l2_packet_winpcap.c:231,1
    - Dst: CreateEvent
      Src: /src/hostap/src/l2_packet/l2_packet_winpcap.c:232,1
    - Dst: CloseHandle
      Src: /src/hostap/src/l2_packet/l2_packet_winpcap.c:235,1
    - Dst: CloseHandle
      Src: /src/hostap/src/l2_packet/l2_packet_winpcap.c:236,1
    - Dst: CloseHandle
      Src: /src/hostap/src/l2_packet/l2_packet_winpcap.c:237,1
    - Dst: pcap_close
      Src: /src/hostap/src/l2_packet/l2_packet_winpcap.c:238,1
    - Dst: os_free
      Src: /src/hostap/src/l2_packet/l2_packet_winpcap.c:239,1
    - Dst: eloop_register_event
      Src: /src/hostap/src/l2_packet/l2_packet_winpcap.c:243,1
    - Dst: CreateThread
      Src: /src/hostap/src/l2_packet/l2_packet_winpcap.c:247,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 5
    argNames:
    - ifname
    - own_addr
    - protocol
    - rx_callback_ctx
    - l2_hdr
    argTypes:
    - char*
    - u8*
    - unsigned short
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 251
    functionName: l2_packet_init
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_winpcap.c
    functionUses: 19
    functionsReached:
    - os_memcpy
    - eloop_register_event
    - os_strlcpy
    - l2_packet_init_libpcap
    - pcap_close
    - os_strncmp
    - os_snprintf
    - os_zalloc
    - CloseHandle
    - CreateEvent
    - CreateThread
    - os_free
    linkageType: ''
    returnType: struct l2_packet_data
    signature: "struct l2_packet_data * l2_packet_init(\n\tconst char *ifname, const
      u8 *own_addr, unsigned short protocol,\n\tvoid (*rx_callback)(void *ctx, const
      u8 *src_addr,\n\t\t\t    const u8 *buf, size_t len),\n\tvoid *rx_callback_ctx,
      int l2_hdr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: l2_packet_init
      Src: /src/hostap/src/l2_packet/l2_packet_winpcap.c:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - br_ifname
    - ifname
    - own_addr
    - protocol
    - rx_callback_ctx
    - l2_hdr
    argTypes:
    - char*
    - char*
    - u8*
    - unsigned short
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 263
    functionName: l2_packet_init_bridge
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_winpcap.c
    functionUses: 2
    functionsReached:
    - l2_packet_init
    linkageType: ''
    returnType: struct l2_packet_data
    signature: "struct l2_packet_data * l2_packet_init_bridge(\n\tconst char *br_ifname,
      const char *ifname, const u8 *own_addr,\n\tunsigned short protocol,\n\tvoid
      (*rx_callback)(void *ctx, const u8 *src_addr,\n\t\t\t    const u8 *buf, size_t
      len),\n\tvoid *rx_callback_ctx, int l2_hdr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WaitForSingleObject
      Src: /src/hostap/src/l2_packet/l2_packet_winpcap.c:271,1
    - Dst: wpa_printf
      Src: /src/hostap/src/l2_packet/l2_packet_winpcap.c:272,1
    - Dst: TerminateThread
      Src: /src/hostap/src/l2_packet/l2_packet_winpcap.c:274,1
    - Dst: CloseHandle
      Src: /src/hostap/src/l2_packet/l2_packet_winpcap.c:276,1
    - Dst: CloseHandle
      Src: /src/hostap/src/l2_packet/l2_packet_winpcap.c:277,1
    - Dst: pcap_close
      Src: /src/hostap/src/l2_packet/l2_packet_winpcap.c:279,1
    - Dst: eloop_unregister_event
      Src: /src/hostap/src/l2_packet/l2_packet_winpcap.c:280,1
    - Dst: CloseHandle
      Src: /src/hostap/src/l2_packet/l2_packet_winpcap.c:281,1
    - Dst: CloseHandle
      Src: /src/hostap/src/l2_packet/l2_packet_winpcap.c:282,1
    - Dst: CloseHandle
      Src: /src/hostap/src/l2_packet/l2_packet_winpcap.c:283,1
    - Dst: os_free
      Src: /src/hostap/src/l2_packet/l2_packet_winpcap.c:284,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 285
    functionName: l2_packet_deinit_timeout
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_winpcap.c
    functionUses: 0
    functionsReached:
    - TerminateThread
    - wpa_printf
    - pcap_close
    - WaitForSingleObject
    - CloseHandle
    - os_free
    - eloop_unregister_event
    linkageType: ''
    returnType: void
    signature: void l2_packet_deinit_timeout(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CreateEvent
      Src: /src/hostap/src/l2_packet/l2_packet_winpcap.c:293,1
    - Dst: pcap_breakloop
      Src: /src/hostap/src/l2_packet/l2_packet_winpcap.c:296,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/l2_packet/l2_packet_winpcap.c:306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - l2
    argTypes:
    - struct l2_packet_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 307
    functionName: l2_packet_deinit
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_winpcap.c
    functionUses: 25
    functionsReached:
    - pcap_breakloop
    - eloop_register_timeout
    - CreateEvent
    linkageType: ''
    returnType: void
    signature: void l2_packet_deinit(struct l2_packet_data *l2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcap_findalldevs
      Src: /src/hostap/src/l2_packet/l2_packet_winpcap.c:318,1
    - Dst: wpa_printf
      Src: /src/hostap/src/l2_packet/l2_packet_winpcap.c:319,1
    - Dst: os_strcmp
      Src: /src/hostap/src/l2_packet/l2_packet_winpcap.c:324,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/l2_packet/l2_packet_winpcap.c:331,1
    - Dst: inet_ntoa
      Src: /src/hostap/src/l2_packet/l2_packet_winpcap.c:331,1
    - Dst: pcap_freealldevs
      Src: /src/hostap/src/l2_packet/l2_packet_winpcap.c:340,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 3
    argNames:
    - l2
    - buf
    - len
    argTypes:
    - struct l2_packet_data*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 343
    functionName: l2_packet_get_ip_addr
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_winpcap.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_strlcpy
    - pcap_freealldevs
    - pcap_findalldevs
    - inet_ntoa
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: int l2_packet_get_ip_addr(struct l2_packet_data *l2, char *buf, size_t
      len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SetEvent
      Src: /src/hostap/src/l2_packet/l2_packet_winpcap.c:349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - l2
    argTypes:
    - struct l2_packet_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 350
    functionName: l2_packet_notify_auth_start
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_winpcap.c
    functionUses: 2
    functionsReached:
    - SetEvent
    linkageType: ''
    returnType: void
    signature: void l2_packet_notify_auth_start(struct l2_packet_data *l2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/l2_packet/l2_packet_privsep.c:40,1
    - Dst: sendmsg
      Src: /src/hostap/src/l2_packet/l2_packet_privsep.c:46,1
    - Dst: wpa_printf
      Src: /src/hostap/src/l2_packet/l2_packet_privsep.c:47,1
    - Dst: strerror
      Src: /src/hostap/src/l2_packet/l2_packet_privsep.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 4
    argNames:
    - l2
    - cmd
    - data
    - data_len
    argTypes:
    - struct l2_packet_data*
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 52
    functionName: wpa_priv_cmd
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_privsep.c
    functionUses: 0
    functionsReached:
    - sendmsg
    - wpa_printf
    - strerror
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpa_priv_cmd(struct l2_packet_data *l2, int cmd,\n\t\t\tconst
      void *data, size_t data_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/l2_packet/l2_packet_privsep.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - l2
    - addr
    argTypes:
    - struct l2_packet_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: l2_packet_get_own_addr
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_privsep.c
    functionUses: 3
    functionsReached:
    - os_memcpy
    linkageType: ''
    returnType: int
    signature: int l2_packet_get_own_addr(struct l2_packet_data *l2, u8 *addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/l2_packet/l2_packet_privsep.c:78,1
    - Dst: sendmsg
      Src: /src/hostap/src/l2_packet/l2_packet_privsep.c:84,1
    - Dst: wpa_printf
      Src: /src/hostap/src/l2_packet/l2_packet_privsep.c:85,1
    - Dst: strerror
      Src: /src/hostap/src/l2_packet/l2_packet_privsep.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 5
    argNames:
    - l2
    - dst_addr
    - proto
    - buf
    - len
    argTypes:
    - struct l2_packet_data*
    - u8*
    - u16
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 91
    functionName: l2_packet_send
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_privsep.c
    functionUses: 15
    functionsReached:
    - sendmsg
    - wpa_printf
    - strerror
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int l2_packet_send(struct l2_packet_data *l2, const u8 *dst_addr,
      u16 proto,\n\t\t   const u8 *buf, size_t len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/l2_packet/l2_packet_privsep.c:102,1
    - Dst: recvfrom
      Src: /src/hostap/src/l2_packet/l2_packet_privsep.c:103,1
    - Dst: wpa_printf
      Src: /src/hostap/src/l2_packet/l2_packet_privsep.c:106,1
    - Dst: strerror
      Src: /src/hostap/src/l2_packet/l2_packet_privsep.c:107,1
    - Dst: wpa_printf
      Src: /src/hostap/src/l2_packet/l2_packet_privsep.c:111,1
    - Dst: os_strncmp
      Src: /src/hostap/src/l2_packet/l2_packet_privsep.c:116,1
    - Dst: wpa_printf
      Src: /src/hostap/src/l2_packet/l2_packet_privsep.c:118,1
    - Dst: struct l2_packet_data*::rx_callback
      Src: /src/hostap/src/l2_packet/l2_packet_privsep.c:123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - sock
    - eloop_ctx
    - sock_ctx
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 125
    functionName: l2_packet_receive
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_privsep.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - strerror
    - recvfrom
    - os_strncmp
    - struct l2_packet_data*::rx_callback
    - os_memset
    linkageType: ''
    returnType: void
    signature: void l2_packet_receive(int sock, void *eloop_ctx, void *sock_ctx)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/l2_packet/l2_packet_privsep.c:146,1
    - Dst: os_strlen
      Src: /src/hostap/src/l2_packet/l2_packet_privsep.c:152,1
    - Dst: os_malloc
      Src: /src/hostap/src/l2_packet/l2_packet_privsep.c:153,1
    - Dst: os_free
      Src: /src/hostap/src/l2_packet/l2_packet_privsep.c:155,1
    - Dst: os_snprintf
      Src: /src/hostap/src/l2_packet/l2_packet_privsep.c:158,1
    - Dst: getpid
      Src: /src/hostap/src/l2_packet/l2_packet_privsep.c:159,1
    - Dst: os_snprintf
      Src: /src/hostap/src/l2_packet/l2_packet_privsep.c:162,1
    - Dst: socket
      Src: /src/hostap/src/l2_packet/l2_packet_privsep.c:165,1
    - Dst: wpa_printf
      Src: /src/hostap/src/l2_packet/l2_packet_privsep.c:167,1
    - Dst: strerror
      Src: /src/hostap/src/l2_packet/l2_packet_privsep.c:167,1
    - Dst: os_free
      Src: /src/hostap/src/l2_packet/l2_packet_privsep.c:168,1
    - Dst: os_free
      Src: /src/hostap/src/l2_packet/l2_packet_privsep.c:170,1
    - Dst: os_memset
      Src: /src/hostap/src/l2_packet/l2_packet_privsep.c:174,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/l2_packet/l2_packet_privsep.c:176,1
    - Dst: bind
      Src: /src/hostap/src/l2_packet/l2_packet_privsep.c:177,1
    - Dst: wpa_printf
      Src: /src/hostap/src/l2_packet/l2_packet_privsep.c:178,1
    - Dst: strerror
      Src: /src/hostap/src/l2_packet/l2_packet_privsep.c:179,1
    - Dst: wpa_priv_cmd
      Src: /src/hostap/src/l2_packet/l2_packet_privsep.c:185,1
    - Dst: wpa_printf
      Src: /src/hostap/src/l2_packet/l2_packet_privsep.c:187,1
    - Dst: FD_ZERO
      Src: /src/hostap/src/l2_packet/l2_packet_privsep.c:191,1
    - Dst: FD_SET
      Src: /src/hostap/src/l2_packet/l2_packet_privsep.c:192,1
    - Dst: select
      Src: /src/hostap/src/l2_packet/l2_packet_privsep.c:195,1
    - Dst: wpa_printf
      Src: /src/hostap/src/l2_packet/l2_packet_privsep.c:197,1
    - Dst: strerror
      Src: /src/hostap/src/l2_packet/l2_packet_privsep.c:197,1
    - Dst: FD_ISSET
      Src: /src/hostap/src/l2_packet/l2_packet_privsep.c:201,1
    - Dst: recv
      Src: /src/hostap/src/l2_packet/l2_packet_privsep.c:202,1
    - Dst: wpa_printf
      Src: /src/hostap/src/l2_packet/l2_packet_privsep.c:204,1
    - Dst: strerror
      Src: /src/hostap/src/l2_packet/l2_packet_privsep.c:204,1
    - Dst: wpa_printf
      Src: /src/hostap/src/l2_packet/l2_packet_privsep.c:208,1
    - Dst: wpa_printf
      Src: /src/hostap/src/l2_packet/l2_packet_privsep.c:214,1
    - Dst: os_memcpy
      Src: /src/hostap/src/l2_packet/l2_packet_privsep.c:217,1
    - Dst: eloop_register_read_sock
      Src: /src/hostap/src/l2_packet/l2_packet_privsep.c:220,1
    - Dst: close
      Src: /src/hostap/src/l2_packet/l2_packet_privsep.c:225,1
    - Dst: unlink
      Src: /src/hostap/src/l2_packet/l2_packet_privsep.c:227,1
    - Dst: os_free
      Src: /src/hostap/src/l2_packet/l2_packet_privsep.c:228,1
    - Dst: os_free
      Src: /src/hostap/src/l2_packet/l2_packet_privsep.c:230,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 76
    argCount: 5
    argNames:
    - ifname
    - own_addr
    - protocol
    - rx_callback_ctx
    - l2_hdr
    argTypes:
    - char*
    - u8*
    - unsigned short
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 232
    functionName: l2_packet_init
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_privsep.c
    functionUses: 20
    functionsReached:
    - eloop_register_read_sock
    - os_strlcpy
    - os_snprintf
    - unlink
    - FD_SET
    - os_strlen
    - wpa_printf
    - select
    - FD_ZERO
    - recv
    - os_free
    - bind
    - FD_ISSET
    - os_malloc
    - getpid
    - wpa_priv_cmd
    - os_memset
    - os_memcpy
    - strerror
    - socket
    - os_zalloc
    - close
    linkageType: ''
    returnType: struct l2_packet_data
    signature: "struct l2_packet_data * l2_packet_init(\n\tconst char *ifname, const
      u8 *own_addr, unsigned short protocol,\n\tvoid (*rx_callback)(void *ctx, const
      u8 *src_addr,\n\t\t\t    const u8 *buf, size_t len),\n\tvoid *rx_callback_ctx,
      int l2_hdr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: l2_packet_init
      Src: /src/hostap/src/l2_packet/l2_packet_privsep.c:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - br_ifname
    - ifname
    - own_addr
    - protocol
    - rx_callback_ctx
    - l2_hdr
    argTypes:
    - char*
    - char*
    - u8*
    - unsigned short
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 244
    functionName: l2_packet_init_bridge
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_privsep.c
    functionUses: 2
    functionsReached:
    - l2_packet_init
    linkageType: ''
    returnType: struct l2_packet_data
    signature: "struct l2_packet_data * l2_packet_init_bridge(\n\tconst char *br_ifname,
      const char *ifname, const u8 *own_addr,\n\tunsigned short protocol,\n\tvoid
      (*rx_callback)(void *ctx, const u8 *src_addr,\n\t\t\t    const u8 *buf, size_t
      len),\n\tvoid *rx_callback_ctx, int l2_hdr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_priv_cmd
      Src: /src/hostap/src/l2_packet/l2_packet_privsep.c:253,1
    - Dst: eloop_unregister_read_sock
      Src: /src/hostap/src/l2_packet/l2_packet_privsep.c:254,1
    - Dst: close
      Src: /src/hostap/src/l2_packet/l2_packet_privsep.c:255,1
    - Dst: unlink
      Src: /src/hostap/src/l2_packet/l2_packet_privsep.c:259,1
    - Dst: os_free
      Src: /src/hostap/src/l2_packet/l2_packet_privsep.c:260,1
    - Dst: os_free
      Src: /src/hostap/src/l2_packet/l2_packet_privsep.c:263,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - l2
    argTypes:
    - struct l2_packet_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 264
    functionName: l2_packet_deinit
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_privsep.c
    functionUses: 25
    functionsReached:
    - eloop_unregister_read_sock
    - close
    - wpa_priv_cmd
    - unlink
    - os_free
    linkageType: ''
    returnType: void
    signature: void l2_packet_deinit(struct l2_packet_data *l2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - l2
    - buf
    - len
    argTypes:
    - struct l2_packet_data*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 271
    functionName: l2_packet_get_ip_addr
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_privsep.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int l2_packet_get_ip_addr(struct l2_packet_data *l2, char *buf, size_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_priv_cmd
      Src: /src/hostap/src/l2_packet/l2_packet_privsep.c:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - l2
    argTypes:
    - struct l2_packet_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 277
    functionName: l2_packet_notify_auth_start
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_privsep.c
    functionUses: 2
    functionsReached:
    - wpa_priv_cmd
    linkageType: ''
    returnType: void
    signature: void l2_packet_notify_auth_start(struct l2_packet_data *l2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - l2
    - type
    argTypes:
    - struct l2_packet_data*
    - enum l2_packet_filter_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 284
    functionName: l2_packet_set_packet_filter
    functionSourceFile: /src/hostap/src/l2_packet/l2_packet_privsep.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int l2_packet_set_packet_filter(struct l2_packet_data *l2,\n\t\t\t\tenum
      l2_packet_filter_type type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: BstrAlloc
    functionSourceFile: /src/hostap/src/drivers/ndis_events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BstrAlloc(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: BstrFree
    functionSourceFile: /src/hostap/src/drivers/ndis_events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BstrFree(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BstrAlloc
      Src: /src/hostap/src/drivers/ndis_events.c:50,1
    - Dst: BstrAlloc
      Src: /src/hostap/src/drivers/ndis_events.c:51,1
    - Dst: IWbemServices_ExecQuery
      Src: /src/hostap/src/drivers/ndis_events.c:53,1
    - Dst: BstrFree
      Src: /src/hostap/src/drivers/ndis_events.c:56,1
    - Dst: BstrFree
      Src: /src/hostap/src/drivers/ndis_events.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 6
    argNames:
    - pSvc
    - strQueryLanguage
    - strQuery
    - lFlags
    - pCtx
    - ppEnum
    argTypes:
    - IWbemServices*
    - LPCWSTR
    - LPCWSTR
    - long
    - IWbemContext*
    - IEnumWbemClassObject**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 60
    functionName: STDMETHODCALLTYPE::call_IWbemServices_ExecQuery
    functionSourceFile: /src/hostap/src/drivers/ndis_events.c
    functionUses: 0
    functionsReached:
    - BstrFree
    - IWbemServices_ExecQuery
    - BstrAlloc
    linkageType: ''
    returnType: HRESULT
    signature: "HRESULT STDMETHODCALLTYPE call_IWbemServices_ExecQuery(\n\tIWbemServices
      *pSvc, LPCWSTR strQueryLanguage, LPCWSTR strQuery,\n\tlong lFlags, IWbemContext
      *pCtx, IEnumWbemClassObject **ppEnum)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BstrAlloc
      Src: /src/hostap/src/drivers/ndis_events.c:70,1
    - Dst: BstrAlloc
      Src: /src/hostap/src/drivers/ndis_events.c:71,1
    - Dst: IWbemServices_ExecNotificationQueryAsync
      Src: /src/hostap/src/drivers/ndis_events.c:73,1
    - Dst: BstrFree
      Src: /src/hostap/src/drivers/ndis_events.c:77,1
    - Dst: BstrFree
      Src: /src/hostap/src/drivers/ndis_events.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 6
    argNames:
    - pSvc
    - strQueryLanguage
    - strQuery
    - lFlags
    - pCtx
    - pResponseHandler
    argTypes:
    - IWbemServices*
    - LPCWSTR
    - LPCWSTR
    - long
    - IWbemContext*
    - IWbemObjectSink*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 81
    functionName: STDMETHODCALLTYPE::call_IWbemServices_ExecNotificationQueryAsync
    functionSourceFile: /src/hostap/src/drivers/ndis_events.c
    functionUses: 0
    functionsReached:
    - BstrFree
    - IWbemServices_ExecNotificationQueryAsync
    - BstrAlloc
    linkageType: ''
    returnType: HRESULT
    signature: "HRESULT STDMETHODCALLTYPE call_IWbemServices_ExecNotificationQueryAsync(\n\tIWbemServices
      *pSvc, LPCWSTR strQueryLanguage, LPCWSTR strQuery,\n\tlong lFlags, IWbemContext
      *pCtx, IWbemObjectSink *pResponseHandler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BstrAlloc
      Src: /src/hostap/src/drivers/ndis_events.c:92,1
    - Dst: BstrAlloc
      Src: /src/hostap/src/drivers/ndis_events.c:93,1
    - Dst: BstrAlloc
      Src: /src/hostap/src/drivers/ndis_events.c:94,1
    - Dst: BstrAlloc
      Src: /src/hostap/src/drivers/ndis_events.c:95,1
    - Dst: BstrAlloc
      Src: /src/hostap/src/drivers/ndis_events.c:96,1
    - Dst: IWbemLocator_ConnectServer
      Src: /src/hostap/src/drivers/ndis_events.c:98,1
    - Dst: BstrFree
      Src: /src/hostap/src/drivers/ndis_events.c:102,1
    - Dst: BstrFree
      Src: /src/hostap/src/drivers/ndis_events.c:103,1
    - Dst: BstrFree
      Src: /src/hostap/src/drivers/ndis_events.c:104,1
    - Dst: BstrFree
      Src: /src/hostap/src/drivers/ndis_events.c:105,1
    - Dst: BstrFree
      Src: /src/hostap/src/drivers/ndis_events.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 9
    argNames:
    - pLoc
    - strNetworkResource
    - strUser
    - strPassword
    - strLocale
    - lSecurityFlags
    - strAuthority
    - pCtx
    - ppNamespace
    argTypes:
    - IWbemLocator*
    - LPCWSTR
    - LPCWSTR
    - LPCWSTR
    - LPCWSTR
    - long
    - LPCWSTR
    - IWbemContext*
    - IWbemServices**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 109
    functionName: STDMETHODCALLTYPE::call_IWbemLocator_ConnectServer
    functionSourceFile: /src/hostap/src/drivers/ndis_events.c
    functionUses: 0
    functionsReached:
    - BstrFree
    - IWbemLocator_ConnectServer
    - BstrAlloc
    linkageType: ''
    returnType: HRESULT
    signature: "HRESULT STDMETHODCALLTYPE call_IWbemLocator_ConnectServer(\n\tIWbemLocator
      *pLoc, LPCWSTR strNetworkResource, LPCWSTR strUser,\n\tLPCWSTR strPassword,
      LPCWSTR strLocale, long lSecurityFlags,\n\tLPCWSTR strAuthority, IWbemContext
      *pCtx, IWbemServices **ppNamespace)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CreatePipe
      Src: /src/hostap/src/drivers/ndis_events.c:123,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/ndis_events.c:124,1
    - Dst: GetLastError
      Src: /src/hostap/src/drivers/ndis_events.c:125,1
    - Dst: CreateEvent
      Src: /src/hostap/src/drivers/ndis_events.c:128,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/ndis_events.c:130,1
    - Dst: GetLastError
      Src: /src/hostap/src/drivers/ndis_events.c:131,1
    - Dst: CloseHandle
      Src: /src/hostap/src/drivers/ndis_events.c:132,1
    - Dst: CloseHandle
      Src: /src/hostap/src/drivers/ndis_events.c:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - events
    argTypes:
    - struct ndis_events_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 138
    functionName: ndis_events_constructor
    functionSourceFile: /src/hostap/src/drivers/ndis_events.c
    functionUses: 0
    functionsReached:
    - CreatePipe
    - wpa_printf
    - GetLastError
    - CloseHandle
    - CreateEvent
    linkageType: ''
    returnType: int
    signature: int ndis_events_constructor(struct ndis_events_data *events)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CloseHandle
      Src: /src/hostap/src/drivers/ndis_events.c:143,1
    - Dst: CloseHandle
      Src: /src/hostap/src/drivers/ndis_events.c:144,1
    - Dst: CloseHandle
      Src: /src/hostap/src/drivers/ndis_events.c:145,1
    - Dst: IWbemServices_Release
      Src: /src/hostap/src/drivers/ndis_events.c:146,1
    - Dst: IWbemLocator_Release
      Src: /src/hostap/src/drivers/ndis_events.c:147,1
    - Dst: CoUninitialize
      Src: /src/hostap/src/drivers/ndis_events.c:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - events
    argTypes:
    - struct ndis_events_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 150
    functionName: ndis_events_destructor
    functionSourceFile: /src/hostap/src/drivers/ndis_events.c
    functionUses: 0
    functionsReached:
    - IWbemLocator_Release
    - CoUninitialize
    - CloseHandle
    - IWbemServices_Release
    linkageType: ''
    returnType: void
    signature: void ndis_events_destructor(struct ndis_events_data *events)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsEqualIID
      Src: /src/hostap/src/drivers/ndis_events.c:158,1
    - Dst: IsEqualIID
      Src: /src/hostap/src/drivers/ndis_events.c:159,1
    - Dst: IWbemObjectSink_AddRef
      Src: /src/hostap/src/drivers/ndis_events.c:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - this
    - riid
    - obj
    argTypes:
    - IWbemObjectSink*
    - REFIID
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 166
    functionName: STDMETHODCALLTYPE::ndis_events_query_interface
    functionSourceFile: /src/hostap/src/drivers/ndis_events.c
    functionUses: 0
    functionsReached:
    - IsEqualIID
    - IWbemObjectSink_AddRef
    linkageType: ''
    returnType: HRESULT
    signature: 'HRESULT STDMETHODCALLTYPE

      ndis_events_query_interface(IWbemObjectSink *this, REFIID riid, void **obj)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - this
    argTypes:
    - IWbemObjectSink*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 173
    functionName: STDMETHODCALLTYPE::ndis_events_add_ref
    functionSourceFile: /src/hostap/src/drivers/ndis_events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ULONG
    signature: ULONG STDMETHODCALLTYPE ndis_events_add_ref(IWbemObjectSink *this)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndis_events_destructor
      Src: /src/hostap/src/drivers/ndis_events.c:183,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/ndis_events.c:184,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/ndis_events.c:185,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/ndis_events.c:186,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/ndis_events.c:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - this
    argTypes:
    - IWbemObjectSink*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 189
    functionName: STDMETHODCALLTYPE::ndis_events_release
    functionSourceFile: /src/hostap/src/drivers/ndis_events.c
    functionUses: 0
    functionsReached:
    - os_free
    - ndis_events_destructor
    - wpa_printf
    linkageType: ''
    returnType: ULONG
    signature: ULONG STDMETHODCALLTYPE ndis_events_release(IWbemObjectSink *this)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/ndis_events.c:202,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/ndis_events.c:207,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/ndis_events.c:213,1
    - Dst: WriteFile
      Src: /src/hostap/src/drivers/ndis_events.c:217,1
    - Dst: SetEvent
      Src: /src/hostap/src/drivers/ndis_events.c:218,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/ndis_events.c:221,1
    - Dst: GetLastError
      Src: /src/hostap/src/drivers/ndis_events.c:221,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 4
    argNames:
    - events
    - type
    - data
    - data_len
    argTypes:
    - struct ndis_events_data*
    - enum event_types
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 223
    functionName: ndis_events_send_event
    functionSourceFile: /src/hostap/src/drivers/ndis_events.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_printf
    - GetLastError
    - WriteFile
    - SetEvent
    linkageType: ''
    returnType: int
    signature: "int ndis_events_send_event(struct ndis_events_data *events,\n\t\t\t\t
      \ enum event_types type,\n\t\t\t\t  char *data, size_t data_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/ndis_events.c:228,1
    - Dst: ndis_events_send_event
      Src: /src/hostap/src/drivers/ndis_events.c:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - events
    argTypes:
    - struct ndis_events_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 230
    functionName: ndis_events_media_connect
    functionSourceFile: /src/hostap/src/drivers/ndis_events.c
    functionUses: 0
    functionsReached:
    - ndis_events_send_event
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void ndis_events_media_connect(struct ndis_events_data *events)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/ndis_events.c:235,1
    - Dst: ndis_events_send_event
      Src: /src/hostap/src/drivers/ndis_events.c:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - events
    argTypes:
    - struct ndis_events_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: ndis_events_media_disconnect
    functionSourceFile: /src/hostap/src/drivers/ndis_events.c
    functionUses: 0
    functionsReached:
    - ndis_events_send_event
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void ndis_events_media_disconnect(struct ndis_events_data *events)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/ndis_events.c:250,1
    - Dst: IWbemClassObject_Get
      Src: /src/hostap/src/drivers/ndis_events.c:253,1
    - Dst: FAILED
      Src: /src/hostap/src/drivers/ndis_events.c:255,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/ndis_events.c:256,1
    - Dst: SafeArrayGetLBound
      Src: /src/hostap/src/drivers/ndis_events.c:262,1
    - Dst: V_ARRAY
      Src: /src/hostap/src/drivers/ndis_events.c:262,1
    - Dst: SafeArrayGetUBound
      Src: /src/hostap/src/drivers/ndis_events.c:263,1
    - Dst: V_ARRAY
      Src: /src/hostap/src/drivers/ndis_events.c:263,1
    - Dst: os_malloc
      Src: /src/hostap/src/drivers/ndis_events.c:265,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/ndis_events.c:267,1
    - Dst: VariantClear
      Src: /src/hostap/src/drivers/ndis_events.c:269,1
    - Dst: SafeArrayGetElement
      Src: /src/hostap/src/drivers/ndis_events.c:275,1
    - Dst: V_ARRAY
      Src: /src/hostap/src/drivers/ndis_events.c:275,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/drivers/ndis_events.c:278,1
    - Dst: VariantClear
      Src: /src/hostap/src/drivers/ndis_events.c:280,1
    - Dst: ndis_events_send_event
      Src: /src/hostap/src/drivers/ndis_events.c:282,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/ndis_events.c:284,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - events
    - pObj
    argTypes:
    - struct ndis_events_data*
    - IWbemClassObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 285
    functionName: ndis_events_media_specific
    functionSourceFile: /src/hostap/src/drivers/ndis_events.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - SafeArrayGetElement
    - SafeArrayGetLBound
    - wpa_hexdump
    - FAILED
    - V_ARRAY
    - SafeArrayGetUBound
    - IWbemClassObject_Get
    - os_malloc
    - VariantClear
    - os_free
    - ndis_events_send_event
    linkageType: ''
    returnType: void
    signature: "void ndis_events_media_specific(struct ndis_events_data *events,\n\t\t\t\t
      \      IWbemClassObject *pObj)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/ndis_events.c:290,1
    - Dst: ndis_events_send_event
      Src: /src/hostap/src/drivers/ndis_events.c:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - events
    argTypes:
    - struct ndis_events_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 292
    functionName: ndis_events_adapter_arrival
    functionSourceFile: /src/hostap/src/drivers/ndis_events.c
    functionUses: 0
    functionsReached:
    - ndis_events_send_event
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void ndis_events_adapter_arrival(struct ndis_events_data *events)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/ndis_events.c:297,1
    - Dst: ndis_events_send_event
      Src: /src/hostap/src/drivers/ndis_events.c:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - events
    argTypes:
    - struct ndis_events_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 299
    functionName: ndis_events_adapter_removal
    functionSourceFile: /src/hostap/src/drivers/ndis_events.c
    functionUses: 0
    functionsReached:
    - ndis_events_send_event
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void ndis_events_adapter_removal(struct ndis_events_data *events)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/ndis_events.c:310,1
    - Dst: IWbemClassObject_Get
      Src: /src/hostap/src/drivers/ndis_events.c:322,1
    - Dst: FAILED
      Src: /src/hostap/src/drivers/ndis_events.c:324,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/ndis_events.c:325,1
    - Dst: IWbemClassObject_Get
      Src: /src/hostap/src/drivers/ndis_events.c:331,1
    - Dst: FAILED
      Src: /src/hostap/src/drivers/ndis_events.c:333,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/ndis_events.c:334,1
    - Dst: VariantClear
      Src: /src/hostap/src/drivers/ndis_events.c:336,1
    - Dst: wcscmp
      Src: /src/hostap/src/drivers/ndis_events.c:340,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/ndis_events.c:342,1
    - Dst: ndis_events_get_adapter
      Src: /src/hostap/src/drivers/ndis_events.c:345,1
    - Dst: wcscmp
      Src: /src/hostap/src/drivers/ndis_events.c:348,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/ndis_events.c:349,1
    - Dst: VariantClear
      Src: /src/hostap/src/drivers/ndis_events.c:353,1
    - Dst: VariantClear
      Src: /src/hostap/src/drivers/ndis_events.c:354,1
    - Dst: VariantClear
      Src: /src/hostap/src/drivers/ndis_events.c:357,1
    - Dst: wcscmp
      Src: /src/hostap/src/drivers/ndis_events.c:359,1
    - Dst: ndis_events_media_specific
      Src: /src/hostap/src/drivers/ndis_events.c:361,1
    - Dst: wcscmp
      Src: /src/hostap/src/drivers/ndis_events.c:362,1
    - Dst: ndis_events_media_connect
      Src: /src/hostap/src/drivers/ndis_events.c:364,1
    - Dst: wcscmp
      Src: /src/hostap/src/drivers/ndis_events.c:365,1
    - Dst: ndis_events_media_disconnect
      Src: /src/hostap/src/drivers/ndis_events.c:367,1
    - Dst: wcscmp
      Src: /src/hostap/src/drivers/ndis_events.c:368,1
    - Dst: ndis_events_adapter_arrival
      Src: /src/hostap/src/drivers/ndis_events.c:370,1
    - Dst: wcscmp
      Src: /src/hostap/src/drivers/ndis_events.c:371,1
    - Dst: ndis_events_adapter_removal
      Src: /src/hostap/src/drivers/ndis_events.c:373,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/ndis_events.c:375,1
    - Dst: VariantClear
      Src: /src/hostap/src/drivers/ndis_events.c:380,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 48
    argCount: 3
    argNames:
    - this
    - lObjectCount
    - ppObjArray
    argTypes:
    - IWbemObjectSink*
    - long
    - IWbemClassObject**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 302
    functionDepth: 2
    functionLinenumber: 302
    functionLinenumberEnd: 384
    functionName: STDMETHODCALLTYPE::ndis_events_indicate
    functionSourceFile: /src/hostap/src/drivers/ndis_events.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wcscmp
    - ndis_events_adapter_arrival
    - FAILED
    - ndis_events_media_connect
    - IWbemClassObject_Get
    - ndis_events_media_specific
    - ndis_events_get_adapter
    - ndis_events_media_disconnect
    - ndis_events_adapter_removal
    - VariantClear
    linkageType: ''
    returnType: HRESULT
    signature: "HRESULT STDMETHODCALLTYPE\nndis_events_indicate(IWbemObjectSink *this,
      long lObjectCount,\n\t\t     IWbemClassObject __RPC_FAR *__RPC_FAR *ppObjArray)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - this
    - lFlags
    - hResult
    - strParam
    - pObjParam
    argTypes:
    - IWbemObjectSink*
    - long
    - HRESULT
    - BSTR
    - IWbemClassObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 392
    functionName: STDMETHODCALLTYPE::ndis_events_set_status
    functionSourceFile: /src/hostap/src/drivers/ndis_events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HRESULT
    signature: "HRESULT STDMETHODCALLTYPE\nndis_events_set_status(IWbemObjectSink
      *this, long lFlags, HRESULT hResult,\n\t\t       BSTR strParam, IWbemClassObject
      __RPC_FAR *pObjParam)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _snwprintf
      Src: /src/hostap/src/drivers/ndis_events.c:401,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/ndis_events.c:403,1
    - Dst: call_IWbemServices_ExecNotificationQueryAsync
      Src: /src/hostap/src/drivers/ndis_events.c:404,1
    - Dst: FAILED
      Src: /src/hostap/src/drivers/ndis_events.c:406,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/ndis_events.c:407,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - pDestSink
    - pSvc
    - class_name
    argTypes:
    - IWbemObjectSink*
    - IWbemServices*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 414
    functionName: notification_query
    functionSourceFile: /src/hostap/src/drivers/ndis_events.c
    functionUses: 0
    functionsReached:
    - FAILED
    - wpa_printf
    - call_IWbemServices_ExecNotificationQueryAsync
    - _snwprintf
    linkageType: ''
    returnType: int
    signature: "int notification_query(IWbemObjectSink *pDestSink,\n\t\t\t      IWbemServices
      *pSvc, const char *class_name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: notification_query
      Src: /src/hostap/src/drivers/ndis_events.c:431,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pDestSink
    - pSvc
    argTypes:
    - IWbemObjectSink*
    - IWbemServices*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 436
    functionName: register_async_notification
    functionSourceFile: /src/hostap/src/drivers/ndis_events.c
    functionUses: 0
    functionsReached:
    - notification_query
    linkageType: ''
    returnType: int
    signature: "int register_async_notification(IWbemObjectSink *pDestSink,\n\t\t\t\t
      \      IWbemServices *pSvc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IWbemServices_CancelAsyncCall
      Src: /src/hostap/src/drivers/ndis_events.c:442,1
    - Dst: IWbemObjectSink_Release
      Src: /src/hostap/src/drivers/ndis_events.c:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - events
    argTypes:
    - struct ndis_events_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 448
    functionName: ndis_events_deinit
    functionSourceFile: /src/hostap/src/drivers/ndis_events.c
    functionUses: 0
    functionsReached:
    - IWbemServices_CancelAsyncCall
    - IWbemObjectSink_Release
    linkageType: ''
    returnType: void
    signature: void ndis_events_deinit(struct ndis_events_data *events)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_strdup
      Src: /src/hostap/src/drivers/ndis_events.c:464,1
    - Dst: os_strstr
      Src: /src/hostap/src/drivers/ndis_events.c:468,1
    - Dst: os_strlen
      Src: /src/hostap/src/drivers/ndis_events.c:472,1
    - Dst: os_malloc
      Src: /src/hostap/src/drivers/ndis_events.c:473,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/ndis_events.c:475,1
    - Dst: _snwprintf
      Src: /src/hostap/src/drivers/ndis_events.c:478,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/ndis_events.c:479,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - events
    - desc
    argTypes:
    - struct ndis_events_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 481
    functionName: ndis_events_use_desc
    functionSourceFile: /src/hostap/src/drivers/ndis_events.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_malloc
    - _snwprintf
    - os_strstr
    - os_free
    - os_strdup
    linkageType: ''
    returnType: int
    signature: "int ndis_events_use_desc(struct ndis_events_data *events,\n\t\t\t\tconst
      char *desc)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/drivers/ndis_events.c:503,1
    - Dst: call_IWbemLocator_ConnectServer
      Src: /src/hostap/src/drivers/ndis_events.c:506,1
    - Dst: FAILED
      Src: /src/hostap/src/drivers/ndis_events.c:508,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/ndis_events.c:509,1
    - Dst: ndis_events_use_desc
      Src: /src/hostap/src/drivers/ndis_events.c:511,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/ndis_events.c:513,1
    - Dst: _snwprintf
      Src: /src/hostap/src/drivers/ndis_events.c:515,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/ndis_events.c:518,1
    - Dst: call_IWbemServices_ExecQuery
      Src: /src/hostap/src/drivers/ndis_events.c:520,1
    - Dst: SUCCEEDED
      Src: /src/hostap/src/drivers/ndis_events.c:524,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/ndis_events.c:525,1
    - Dst: IWbemServices_Release
      Src: /src/hostap/src/drivers/ndis_events.c:528,1
    - Dst: ndis_events_use_desc
      Src: /src/hostap/src/drivers/ndis_events.c:529,1
    - Dst: IEnumWbemClassObject_Next
      Src: /src/hostap/src/drivers/ndis_events.c:533,1
    - Dst: SUCCEEDED
      Src: /src/hostap/src/drivers/ndis_events.c:535,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/ndis_events.c:536,1
    - Dst: IEnumWbemClassObject_Release
      Src: /src/hostap/src/drivers/ndis_events.c:539,1
    - Dst: IWbemServices_Release
      Src: /src/hostap/src/drivers/ndis_events.c:540,1
    - Dst: ndis_events_use_desc
      Src: /src/hostap/src/drivers/ndis_events.c:541,1
    - Dst: IEnumWbemClassObject_Release
      Src: /src/hostap/src/drivers/ndis_events.c:543,1
    - Dst: VariantInit
      Src: /src/hostap/src/drivers/ndis_events.c:545,1
    - Dst: IWbemClassObject_Get
      Src: /src/hostap/src/drivers/ndis_events.c:546,1
    - Dst: SUCCEEDED
      Src: /src/hostap/src/drivers/ndis_events.c:547,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/ndis_events.c:548,1
    - Dst: IWbemServices_Release
      Src: /src/hostap/src/drivers/ndis_events.c:551,1
    - Dst: ndis_events_use_desc
      Src: /src/hostap/src/drivers/ndis_events.c:552,1
    - Dst: _snwprintf
      Src: /src/hostap/src/drivers/ndis_events.c:555,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/ndis_events.c:559,1
    - Dst: VariantClear
      Src: /src/hostap/src/drivers/ndis_events.c:560,1
    - Dst: IWbemClassObject_Release
      Src: /src/hostap/src/drivers/ndis_events.c:561,1
    - Dst: call_IWbemServices_ExecQuery
      Src: /src/hostap/src/drivers/ndis_events.c:563,1
    - Dst: SUCCEEDED
      Src: /src/hostap/src/drivers/ndis_events.c:567,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/ndis_events.c:568,1
    - Dst: IWbemServices_Release
      Src: /src/hostap/src/drivers/ndis_events.c:570,1
    - Dst: ndis_events_use_desc
      Src: /src/hostap/src/drivers/ndis_events.c:571,1
    - Dst: IEnumWbemClassObject_Next
      Src: /src/hostap/src/drivers/ndis_events.c:575,1
    - Dst: SUCCEEDED
      Src: /src/hostap/src/drivers/ndis_events.c:577,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/ndis_events.c:578,1
    - Dst: IEnumWbemClassObject_Release
      Src: /src/hostap/src/drivers/ndis_events.c:580,1
    - Dst: IWbemServices_Release
      Src: /src/hostap/src/drivers/ndis_events.c:581,1
    - Dst: ndis_events_use_desc
      Src: /src/hostap/src/drivers/ndis_events.c:582,1
    - Dst: IEnumWbemClassObject_Release
      Src: /src/hostap/src/drivers/ndis_events.c:584,1
    - Dst: IWbemClassObject_Get
      Src: /src/hostap/src/drivers/ndis_events.c:586,1
    - Dst: SUCCEEDED
      Src: /src/hostap/src/drivers/ndis_events.c:587,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/ndis_events.c:588,1
    - Dst: IWbemClassObject_Release
      Src: /src/hostap/src/drivers/ndis_events.c:590,1
    - Dst: IWbemServices_Release
      Src: /src/hostap/src/drivers/ndis_events.c:591,1
    - Dst: ndis_events_use_desc
      Src: /src/hostap/src/drivers/ndis_events.c:592,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/ndis_events.c:595,1
    - Dst: _wcsdup
      Src: /src/hostap/src/drivers/ndis_events.c:597,1
    - Dst: VariantClear
      Src: /src/hostap/src/drivers/ndis_events.c:598,1
    - Dst: IWbemClassObject_Get
      Src: /src/hostap/src/drivers/ndis_events.c:607,1
    - Dst: SUCCEEDED
      Src: /src/hostap/src/drivers/ndis_events.c:608,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/ndis_events.c:609,1
    - Dst: IWbemClassObject_Release
      Src: /src/hostap/src/drivers/ndis_events.c:611,1
    - Dst: IWbemServices_Release
      Src: /src/hostap/src/drivers/ndis_events.c:612,1
    - Dst: ndis_events_use_desc
      Src: /src/hostap/src/drivers/ndis_events.c:614,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/ndis_events.c:618,1
    - Dst: _snwprintf
      Src: /src/hostap/src/drivers/ndis_events.c:621,1
    - Dst: VariantClear
      Src: /src/hostap/src/drivers/ndis_events.c:624,1
    - Dst: IWbemClassObject_Release
      Src: /src/hostap/src/drivers/ndis_events.c:625,1
    - Dst: IWbemServices_Release
      Src: /src/hostap/src/drivers/ndis_events.c:626,1
    - Dst: ndis_events_use_desc
      Src: /src/hostap/src/drivers/ndis_events.c:628,1
    - Dst: VariantClear
      Src: /src/hostap/src/drivers/ndis_events.c:643,1
    - Dst: IWbemClassObject_Release
      Src: /src/hostap/src/drivers/ndis_events.c:644,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/ndis_events.c:645,1
    - Dst: call_IWbemServices_ExecQuery
      Src: /src/hostap/src/drivers/ndis_events.c:647,1
    - Dst: SUCCEEDED
      Src: /src/hostap/src/drivers/ndis_events.c:651,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/ndis_events.c:652,1
    - Dst: IWbemServices_Release
      Src: /src/hostap/src/drivers/ndis_events.c:654,1
    - Dst: ndis_events_use_desc
      Src: /src/hostap/src/drivers/ndis_events.c:656,1
    - Dst: IEnumWbemClassObject_Next
      Src: /src/hostap/src/drivers/ndis_events.c:661,1
    - Dst: SUCCEEDED
      Src: /src/hostap/src/drivers/ndis_events.c:663,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/ndis_events.c:664,1
    - Dst: IEnumWbemClassObject_Release
      Src: /src/hostap/src/drivers/ndis_events.c:666,1
    - Dst: IWbemServices_Release
      Src: /src/hostap/src/drivers/ndis_events.c:667,1
    - Dst: ndis_events_use_desc
      Src: /src/hostap/src/drivers/ndis_events.c:669,1
    - Dst: IEnumWbemClassObject_Release
      Src: /src/hostap/src/drivers/ndis_events.c:672,1
    - Dst: IWbemClassObject_Get
      Src: /src/hostap/src/drivers/ndis_events.c:674,1
    - Dst: SUCCEEDED
      Src: /src/hostap/src/drivers/ndis_events.c:675,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/ndis_events.c:676,1
    - Dst: IWbemClassObject_Release
      Src: /src/hostap/src/drivers/ndis_events.c:678,1
    - Dst: IWbemServices_Release
      Src: /src/hostap/src/drivers/ndis_events.c:679,1
    - Dst: ndis_events_use_desc
      Src: /src/hostap/src/drivers/ndis_events.c:681,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/ndis_events.c:685,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/ndis_events.c:687,1
    - Dst: _wcsdup
      Src: /src/hostap/src/drivers/ndis_events.c:688,1
    - Dst: VariantClear
      Src: /src/hostap/src/drivers/ndis_events.c:689,1
    - Dst: IWbemClassObject_Release
      Src: /src/hostap/src/drivers/ndis_events.c:691,1
    - Dst: IWbemServices_Release
      Src: /src/hostap/src/drivers/ndis_events.c:693,1
    - Dst: ndis_events_use_desc
      Src: /src/hostap/src/drivers/ndis_events.c:696,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 131
    argCount: 3
    argNames:
    - events
    - ifname
    - desc
    argTypes:
    - struct ndis_events_data*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 699
    functionName: ndis_events_get_adapter
    functionSourceFile: /src/hostap/src/drivers/ndis_events.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - IEnumWbemClassObject_Release
    - _wcsdup
    - FAILED
    - ndis_events_use_desc
    - SUCCEEDED
    - _snwprintf
    - IWbemServices_Release
    - VariantInit
    - IWbemClassObject_Get
    - IWbemClassObject_Release
    - IEnumWbemClassObject_Next
    - VariantClear
    - os_free
    - call_IWbemLocator_ConnectServer
    - call_IWbemServices_ExecQuery
    linkageType: ''
    returnType: int
    signature: "int ndis_events_get_adapter(struct ndis_events_data *events,\n\t\t\t\t
      \  const char *ifname, const char *desc)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/drivers/ndis_events.c:710,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/ndis_events.c:712,1
    - Dst: os_strdup
      Src: /src/hostap/src/drivers/ndis_events.c:715,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/ndis_events.c:717,1
    - Dst: CoInitializeEx
      Src: /src/hostap/src/drivers/ndis_events.c:722,1
    - Dst: FAILED
      Src: /src/hostap/src/drivers/ndis_events.c:723,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/ndis_events.c:724,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/ndis_events.c:726,1
    - Dst: CoInitializeSecurity
      Src: /src/hostap/src/drivers/ndis_events.c:737,1
    - Dst: FAILED
      Src: /src/hostap/src/drivers/ndis_events.c:741,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/ndis_events.c:742,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/ndis_events.c:744,1
    - Dst: CoCreateInstance
      Src: /src/hostap/src/drivers/ndis_events.c:749,1
    - Dst: FAILED
      Src: /src/hostap/src/drivers/ndis_events.c:752,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/ndis_events.c:753,1
    - Dst: CoUninitialize
      Src: /src/hostap/src/drivers/ndis_events.c:755,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/ndis_events.c:756,1
    - Dst: ndis_events_get_adapter
      Src: /src/hostap/src/drivers/ndis_events.c:760,1
    - Dst: CoUninitialize
      Src: /src/hostap/src/drivers/ndis_events.c:761,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/ndis_events.c:762,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/ndis_events.c:765,1
    - Dst: call_IWbemLocator_ConnectServer
      Src: /src/hostap/src/drivers/ndis_events.c:768,1
    - Dst: FAILED
      Src: /src/hostap/src/drivers/ndis_events.c:771,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/ndis_events.c:772,1
    - Dst: CoUninitialize
      Src: /src/hostap/src/drivers/ndis_events.c:774,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/ndis_events.c:775,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/ndis_events.c:776,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/ndis_events.c:779,1
    - Dst: ndis_events_constructor
      Src: /src/hostap/src/drivers/ndis_events.c:781,1
    - Dst: register_async_notification
      Src: /src/hostap/src/drivers/ndis_events.c:790,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/ndis_events.c:791,1
    - Dst: ndis_events_destructor
      Src: /src/hostap/src/drivers/ndis_events.c:793,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/ndis_events.c:794,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/ndis_events.c:795,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 68
    argCount: 4
    argNames:
    - read_pipe
    - event_avail
    - ifname
    - desc
    argTypes:
    - HANDLE*
    - HANDLE*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 702
    functionDepth: 2
    functionLinenumber: 702
    functionLinenumberEnd: 803
    functionName: ndis_events_init
    functionSourceFile: /src/hostap/src/drivers/ndis_events.c
    functionUses: 0
    functionsReached:
    - CoInitializeEx
    - wpa_printf
    - ndis_events_destructor
    - CoInitializeSecurity
    - FAILED
    - ndis_events_constructor
    - os_zalloc
    - ndis_events_get_adapter
    - register_async_notification
    - os_free
    - CoCreateInstance
    - CoUninitialize
    - call_IWbemLocator_ConnectServer
    - os_strdup
    linkageType: ''
    returnType: struct ndis_events_data
    signature: "struct ndis_events_data *\nndis_events_init(HANDLE *read_pipe, HANDLE
      *event_avail,\n\t\t const char *ifname, const char *desc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_wext.c:48,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_wext.c:49,1
    - Dst: ioctl
      Src: /src/hostap/src/drivers/driver_wext.c:53,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:55,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_wext.c:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - drv
    - idx
    - value
    argTypes:
    - struct wpa_driver_wext_data*
    - int
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 63
    functionName: wpa_driver_wext_set_auth_param
    functionSourceFile: /src/hostap/src/drivers/driver_wext.c
    functionUses: 0
    functionsReached:
    - ioctl
    - wpa_printf
    - strerror
    - os_strlcpy
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_wext_set_auth_param(struct wpa_driver_wext_data *drv,\n\t\t\t\t
      \  int idx, u32 value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_wext.c:78,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_wext.c:79,1
    - Dst: ioctl
      Src: /src/hostap/src/drivers/driver_wext.c:81,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:82,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_wext.c:82,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_wext.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - priv
    - bssid
    argTypes:
    - void*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 88
    functionName: wpa_driver_wext_get_bssid
    functionSourceFile: /src/hostap/src/drivers/driver_wext.c
    functionUses: 0
    functionsReached:
    - ioctl
    - wpa_printf
    - os_memcpy
    - strerror
    - os_strlcpy
    - os_memset
    linkageType: ''
    returnType: int
    signature: int wpa_driver_wext_get_bssid(void *priv, u8 *bssid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_wext.c:103,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_wext.c:104,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_wext.c:107,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_wext.c:109,1
    - Dst: ioctl
      Src: /src/hostap/src/drivers/driver_wext.c:111,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:112,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_wext.c:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - priv
    - bssid
    argTypes:
    - void*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 117
    functionName: wpa_driver_wext_set_bssid
    functionSourceFile: /src/hostap/src/drivers/driver_wext.c
    functionUses: 0
    functionsReached:
    - ioctl
    - os_memcpy
    - wpa_printf
    - strerror
    - os_strlcpy
    - os_memset
    linkageType: ''
    returnType: int
    signature: int wpa_driver_wext_set_bssid(void *priv, const u8 *bssid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_wext.c:132,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_wext.c:133,1
    - Dst: ioctl
      Src: /src/hostap/src/drivers/driver_wext.c:137,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:138,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_wext.c:139,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - priv
    - ssid
    argTypes:
    - void*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 155
    functionName: wpa_driver_wext_get_ssid
    functionSourceFile: /src/hostap/src/drivers/driver_wext.c
    functionUses: 0
    functionsReached:
    - ioctl
    - wpa_printf
    - strerror
    - os_strlcpy
    - os_memset
    linkageType: ''
    returnType: int
    signature: int wpa_driver_wext_get_ssid(void *priv, u8 *ssid)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_wext.c:175,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_wext.c:176,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_wext.c:179,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_wext.c:180,1
    - Dst: ioctl
      Src: /src/hostap/src/drivers/driver_wext.c:196,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:197,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_wext.c:198,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - priv
    - ssid
    - ssid_len
    argTypes:
    - void*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 203
    functionName: wpa_driver_wext_set_ssid
    functionSourceFile: /src/hostap/src/drivers/driver_wext.c
    functionUses: 0
    functionsReached:
    - ioctl
    - os_memcpy
    - wpa_printf
    - strerror
    - os_strlcpy
    - os_memset
    linkageType: ''
    returnType: int
    signature: int wpa_driver_wext_set_ssid(void *priv, const u8 *ssid, size_t ssid_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_wext.c:218,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_wext.c:219,1
    - Dst: ioctl
      Src: /src/hostap/src/drivers/driver_wext.c:223,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:224,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_wext.c:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - priv
    - freq
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 230
    functionName: wpa_driver_wext_set_freq
    functionSourceFile: /src/hostap/src/drivers/driver_wext.c
    functionUses: 0
    functionsReached:
    - ioctl
    - wpa_printf
    - strerror
    - os_strlcpy
    - os_memset
    linkageType: ''
    returnType: int
    signature: int wpa_driver_wext_set_freq(void *priv, int freq)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:238,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_wext.c:241,1
    - Dst: os_strncmp
      Src: /src/hostap/src/drivers/driver_wext.c:244,1
    - Dst: os_strstr
      Src: /src/hostap/src/drivers/driver_wext.c:246,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_wext.c:248,1
    - Dst: os_strncmp
      Src: /src/hostap/src/drivers/driver_wext.c:249,1
    - Dst: strspn
      Src: /src/hostap/src/drivers/driver_wext.c:256,1
    - Dst: os_malloc
      Src: /src/hostap/src/drivers/driver_wext.c:261,1
    - Dst: hexstr2bin
      Src: /src/hostap/src/drivers/driver_wext.c:263,1
    - Dst: os_strncmp
      Src: /src/hostap/src/drivers/driver_wext.c:273,1
    - Dst: strspn
      Src: /src/hostap/src/drivers/driver_wext.c:276,1
    - Dst: os_malloc
      Src: /src/hostap/src/drivers/driver_wext.c:281,1
    - Dst: hexstr2bin
      Src: /src/hostap/src/drivers/driver_wext.c:283,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_wext.c:289,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_wext.c:292,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_wext.c:293,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 2
    argNames:
    - ctx
    - custom
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 295
    functionName: wpa_driver_wext_event_wireless_custom
    functionSourceFile: /src/hostap/src/drivers/driver_wext.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - wpa_printf
    - hexstr2bin
    - os_malloc
    - os_strncmp
    - os_strstr
    - strspn
    - os_free
    - os_memset
    linkageType: ''
    returnType: void
    signature: void wpa_driver_wext_event_wireless_custom(void *ctx, char *custom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:309,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_wext.c:311,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_wext.c:313,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_wext.c:315,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - ev
    - len
    argTypes:
    - void*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 318
    functionName: wpa_driver_wext_event_wireless_michaelmicfailure
    functionSourceFile: /src/hostap/src/drivers/driver_wext.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - MAC2STR
    - wpa_printf
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_wext_event_wireless_michaelmicfailure(\n\tvoid *ctx,
      const char *ev, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:334,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_wext.c:336,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_wext.c:338,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_wext.c:339,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_wext.c:342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - drv
    - ev
    - len
    argTypes:
    - struct wpa_driver_wext_data*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 345
    functionName: wpa_driver_wext_event_wireless_pmkidcand
    functionSourceFile: /src/hostap/src/drivers/driver_wext.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - wpa_printf
    - os_memcpy
    - MAC2STR
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_wext_event_wireless_pmkidcand(\n\tstruct wpa_driver_wext_data
      *drv, const char *ev, size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/src/drivers/driver_wext.c:354,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_wext.c:356,1
    - Dst: os_memdup
      Src: /src/hostap/src/drivers/driver_wext.c:357,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - drv
    - ev
    - len
    argTypes:
    - struct wpa_driver_wext_data*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 365
    functionName: wpa_driver_wext_event_wireless_assocreqie
    functionSourceFile: /src/hostap/src/drivers/driver_wext.c
    functionUses: 0
    functionsReached:
    - os_free
    - os_memdup
    - wpa_hexdump
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_wext_event_wireless_assocreqie(\n\tstruct wpa_driver_wext_data
      *drv, const char *ev, int len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/src/drivers/driver_wext.c:374,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_wext.c:376,1
    - Dst: os_memdup
      Src: /src/hostap/src/drivers/driver_wext.c:377,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - drv
    - ev
    - len
    argTypes:
    - struct wpa_driver_wext_data*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 385
    functionName: wpa_driver_wext_event_wireless_assocrespie
    functionSourceFile: /src/hostap/src/drivers/driver_wext.c
    functionUses: 0
    functionsReached:
    - os_free
    - os_memdup
    - wpa_hexdump
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_wext_event_wireless_assocrespie(\n\tstruct wpa_driver_wext_data
      *drv, const char *ev, int len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_wext.c:395,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_wext.c:405,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_wext.c:407,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_wext.c:409,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - drv
    argTypes:
    - struct wpa_driver_wext_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 411
    functionName: wpa_driver_wext_event_assoc_ies
    functionSourceFile: /src/hostap/src/drivers/driver_wext.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - os_free
    - os_memset
    linkageType: ''
    returnType: void
    signature: void wpa_driver_wext_event_assoc_ies(struct wpa_driver_wext_data *drv)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_wext.c:426,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:427,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_wext.c:442,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_wext.c:445,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:451,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_wext.c:453,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/drivers/driver_wext.c:454,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/drivers/driver_wext.c:456,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_wext.c:460,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_wext.c:462,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_wext.c:466,1
    - Dst: wpa_driver_wext_event_assoc_ies
      Src: /src/hostap/src/drivers/driver_wext.c:472,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_wext.c:473,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:480,1
    - Dst: wpa_driver_wext_event_wireless_michaelmicfailure
      Src: /src/hostap/src/drivers/driver_wext.c:484,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:489,1
    - Dst: dup_binstr
      Src: /src/hostap/src/drivers/driver_wext.c:493,1
    - Dst: wpa_driver_wext_event_wireless_custom
      Src: /src/hostap/src/drivers/driver_wext.c:496,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_wext.c:497,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/drivers/driver_wext.c:501,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_wext.c:503,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:508,1
    - Dst: wpa_driver_wext_event_wireless_assocreqie
      Src: /src/hostap/src/drivers/driver_wext.c:512,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:517,1
    - Dst: wpa_driver_wext_event_wireless_assocrespie
      Src: /src/hostap/src/drivers/driver_wext.c:521,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:526,1
    - Dst: wpa_driver_wext_event_wireless_pmkidcand
      Src: /src/hostap/src/drivers/driver_wext.c:530,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 80
    argCount: 3
    argNames:
    - drv
    - data
    - len
    argTypes:
    - struct wpa_driver_wext_data*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 414
    functionDepth: 2
    functionLinenumber: 414
    functionLinenumberEnd: 537
    functionName: wpa_driver_wext_event_wireless
    functionSourceFile: /src/hostap/src/drivers/driver_wext.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - os_memcpy
    - wpa_printf
    - wpa_driver_wext_event_wireless_assocreqie
    - eloop_cancel_timeout
    - is_zero_ether_addr
    - ether_addr_equal
    - wpa_driver_wext_event_wireless_pmkidcand
    - wpa_driver_wext_event_assoc_ies
    - wpa_driver_wext_event_wireless_assocrespie
    - MAC2STR
    - wpa_driver_wext_event_wireless_custom
    - wpa_driver_wext_event_wireless_michaelmicfailure
    - os_free
    - dup_binstr
    linkageType: ''
    returnType: void
    signature: "void wpa_driver_wext_event_wireless(struct wpa_driver_wext_data *drv,\n\t\t\t\t\t
      \  char *data, unsigned int len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_wext.c:545,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_wext.c:548,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:552,1
    - Dst: os_strcmp
      Src: /src/hostap/src/drivers/driver_wext.c:557,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:560,1
    - Dst: if_nametoindex
      Src: /src/hostap/src/drivers/driver_wext.c:566,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:567,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:574,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_wext.c:582,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 4
    argNames:
    - drv
    - buf
    - len
    - del
    argTypes:
    - struct wpa_driver_wext_data*
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 583
    functionName: wpa_driver_wext_event_link
    functionSourceFile: /src/hostap/src/drivers/driver_wext.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - os_memcpy
    - wpa_printf
    - os_strcmp
    - if_nametoindex
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void wpa_driver_wext_event_link(struct wpa_driver_wext_data *drv,\n\t\t\t\t
      \      char *buf, size_t len, int del)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RTA_ALIGN
      Src: /src/hostap/src/drivers/driver_wext.c:595,1
    - Dst: RTA_OK
      Src: /src/hostap/src/drivers/driver_wext.c:596,1
    - Dst: os_strcmp
      Src: /src/hostap/src/drivers/driver_wext.c:598,1
    - Dst: RTA_NEXT
      Src: /src/hostap/src/drivers/driver_wext.c:604,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - drv
    - buf
    - len
    argTypes:
    - struct wpa_driver_wext_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 586
    functionDepth: 1
    functionLinenumber: 586
    functionLinenumberEnd: 608
    functionName: wpa_driver_wext_own_ifname
    functionSourceFile: /src/hostap/src/drivers/driver_wext.c
    functionUses: 0
    functionsReached:
    - RTA_NEXT
    - RTA_ALIGN
    - os_strcmp
    - RTA_OK
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_wext_own_ifname(struct wpa_driver_wext_data *drv,\n\t\t\t\t
      \     u8 *buf, size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_driver_wext_own_ifname
      Src: /src/hostap/src/drivers/driver_wext.c:617,1
    - Dst: if_nametoindex
      Src: /src/hostap/src/drivers/driver_wext.c:618,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:619,1
    - Dst: wpa_driver_wext_finish_drv_init
      Src: /src/hostap/src/drivers/driver_wext.c:621,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - drv
    - ifindex
    - buf
    - len
    argTypes:
    - struct wpa_driver_wext_data*
    - int
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 611
    functionDepth: 2
    functionLinenumber: 611
    functionLinenumberEnd: 626
    functionName: wpa_driver_wext_own_ifindex
    functionSourceFile: /src/hostap/src/drivers/driver_wext.c
    functionUses: 0
    functionsReached:
    - wpa_driver_wext_own_ifname
    - wpa_printf
    - wpa_driver_wext_finish_drv_init
    - if_nametoindex
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_wext_own_ifindex(struct wpa_driver_wext_data *drv,\n\t\t\t\t
      \      int ifindex, u8 *buf, size_t len)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpa_driver_wext_own_ifindex
      Src: /src/hostap/src/drivers/driver_wext.c:637,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:638,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:643,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:652,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_wext.c:654,1
    - Dst: if_indextoname
      Src: /src/hostap/src/drivers/driver_wext.c:658,1
    - Dst: linux_iface_up
      Src: /src/hostap/src/drivers/driver_wext.c:659,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:660,1
    - Dst: if_nametoindex
      Src: /src/hostap/src/drivers/driver_wext.c:663,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:664,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:668,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:672,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_wext.c:674,1
    - Dst: netlink_send_oper_ifla
      Src: /src/hostap/src/drivers/driver_wext.c:688,1
    - Dst: RTA_ALIGN
      Src: /src/hostap/src/drivers/driver_wext.c:694,1
    - Dst: RTA_OK
      Src: /src/hostap/src/drivers/driver_wext.c:695,1
    - Dst: wpa_driver_wext_event_wireless
      Src: /src/hostap/src/drivers/driver_wext.c:697,1
    - Dst: wpa_driver_wext_event_link
      Src: /src/hostap/src/drivers/driver_wext.c:701,1
    - Dst: RTA_NEXT
      Src: /src/hostap/src/drivers/driver_wext.c:705,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 40
    argCount: 4
    argNames:
    - ctx
    - ifi
    - buf
    - len
    argTypes:
    - void*
    - struct ifinfomsg*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 629
    functionDepth: 3
    functionLinenumber: 629
    functionLinenumberEnd: 707
    functionName: wpa_driver_wext_event_rtm_newlink
    functionSourceFile: /src/hostap/src/drivers/driver_wext.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - linux_iface_up
    - wpa_printf
    - if_indextoname
    - RTA_NEXT
    - wpa_driver_wext_own_ifindex
    - netlink_send_oper_ifla
    - wpa_driver_wext_event_link
    - RTA_OK
    - wpa_driver_wext_event_wireless
    - RTA_ALIGN
    - if_nametoindex
    linkageType: ''
    returnType: void
    signature: "void wpa_driver_wext_event_rtm_newlink(void *ctx, struct ifinfomsg
      *ifi,\n\t\t\t\t\t      u8 *buf, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RTA_ALIGN
      Src: /src/hostap/src/drivers/driver_wext.c:720,1
    - Dst: RTA_OK
      Src: /src/hostap/src/drivers/driver_wext.c:721,1
    - Dst: wpa_driver_wext_event_link
      Src: /src/hostap/src/drivers/driver_wext.c:723,1
    - Dst: RTA_NEXT
      Src: /src/hostap/src/drivers/driver_wext.c:727,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - ctx
    - ifi
    - buf
    - len
    argTypes:
    - void*
    - struct ifinfomsg*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 710
    functionDepth: 1
    functionLinenumber: 710
    functionLinenumberEnd: 729
    functionName: wpa_driver_wext_event_rtm_dellink
    functionSourceFile: /src/hostap/src/drivers/driver_wext.c
    functionUses: 0
    functionsReached:
    - RTA_ALIGN
    - RTA_NEXT
    - RTA_OK
    - wpa_driver_wext_event_link
    linkageType: ''
    returnType: void
    signature: "void wpa_driver_wext_event_rtm_dellink(void *ctx, struct ifinfomsg
      *ifi,\n\t\t\t\t\t      u8 *buf, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 732
    functionDepth: 0
    functionLinenumber: 732
    functionLinenumberEnd: 739
    functionName: wpa_driver_wext_rfkill_blocked
    functionSourceFile: /src/hostap/src/drivers/driver_wext.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void wpa_driver_wext_rfkill_blocked(void *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:745,1
    - Dst: linux_set_iface_flags
      Src: /src/hostap/src/drivers/driver_wext.c:746,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:747,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 742
    functionDepth: 1
    functionLinenumber: 742
    functionLinenumberEnd: 752
    functionName: wpa_driver_wext_rfkill_unblocked
    functionSourceFile: /src/hostap/src/drivers/driver_wext.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - linux_set_iface_flags
    linkageType: ''
    returnType: void
    signature: void wpa_driver_wext_rfkill_unblocked(void *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/hostap/src/drivers/driver_wext.c:762,1
    - Dst: open
      Src: /src/hostap/src/drivers/driver_wext.c:764,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:766,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_wext.c:767,1
    - Dst: read
      Src: /src/hostap/src/drivers/driver_wext.c:771,1
    - Dst: close
      Src: /src/hostap/src/drivers/driver_wext.c:772,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:774,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_wext.c:775,1
    - Dst: os_strchr
      Src: /src/hostap/src/drivers/driver_wext.c:780,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:783,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - drv
    argTypes:
    - struct wpa_driver_wext_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 755
    functionDepth: 0
    functionLinenumber: 755
    functionLinenumberEnd: 785
    functionName: wext_get_phy_name
    functionSourceFile: /src/hostap/src/drivers/driver_wext.c
    functionUses: 0
    functionsReached:
    - snprintf
    - open
    - wpa_printf
    - strerror
    - read
    - close
    - os_strchr
    linkageType: ''
    returnType: void
    signature: void wext_get_phy_name(struct wpa_driver_wext_data *drv)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/drivers/driver_wext.c:803,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_wext.c:807,1
    - Dst: os_snprintf
      Src: /src/hostap/src/drivers/driver_wext.c:809,1
    - Dst: stat
      Src: /src/hostap/src/drivers/driver_wext.c:810,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:811,1
    - Dst: wext_get_phy_name
      Src: /src/hostap/src/drivers/driver_wext.c:813,1
    - Dst: socket
      Src: /src/hostap/src/drivers/driver_wext.c:816,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:818,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_wext.c:819,1
    - Dst: os_zalloc
      Src: /src/hostap/src/drivers/driver_wext.c:823,1
    - Dst: netlink_init
      Src: /src/hostap/src/drivers/driver_wext.c:829,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_wext.c:831,1
    - Dst: os_zalloc
      Src: /src/hostap/src/drivers/driver_wext.c:835,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_wext.c:839,1
    - Dst: rfkill_init
      Src: /src/hostap/src/drivers/driver_wext.c:842,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:844,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_wext.c:845,1
    - Dst: wpa_driver_wext_finish_drv_init
      Src: /src/hostap/src/drivers/driver_wext.c:850,1
    - Dst: wpa_driver_wext_set_auth_param
      Src: /src/hostap/src/drivers/driver_wext.c:853,1
    - Dst: rfkill_deinit
      Src: /src/hostap/src/drivers/driver_wext.c:858,1
    - Dst: netlink_deinit
      Src: /src/hostap/src/drivers/driver_wext.c:859,1
    - Dst: close
      Src: /src/hostap/src/drivers/driver_wext.c:861,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_wext.c:863,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 61
    argCount: 2
    argNames:
    - ctx
    - ifname
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 795
    functionDepth: 1
    functionLinenumber: 795
    functionLinenumberEnd: 865
    functionName: wpa_driver_wext_init
    functionSourceFile: /src/hostap/src/drivers/driver_wext.c
    functionUses: 0
    functionsReached:
    - wext_get_phy_name
    - netlink_deinit
    - wpa_printf
    - strerror
    - wpa_driver_wext_finish_drv_init
    - socket
    - os_strlcpy
    - wpa_driver_wext_set_auth_param
    - os_snprintf
    - os_zalloc
    - netlink_init
    - rfkill_deinit
    - close
    - stat
    - os_free
    - rfkill_init
    linkageType: ''
    returnType: void
    signature: void * wpa_driver_wext_init(void *ctx, const char *ifname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_wext.c:870,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 868
    functionDepth: 0
    functionLinenumber: 868
    functionLinenumberEnd: 871
    functionName: wpa_driver_wext_send_rfkill
    functionSourceFile: /src/hostap/src/drivers/driver_wext.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    linkageType: ''
    returnType: void
    signature: void wpa_driver_wext_send_rfkill(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: linux_set_iface_flags
      Src: /src/hostap/src/drivers/driver_wext.c:879,1
    - Dst: rfkill_is_blocked
      Src: /src/hostap/src/drivers/driver_wext.c:880,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:881,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:887,1
    - Dst: wpa_driver_wext_flush_pmkid
      Src: /src/hostap/src/drivers/driver_wext.c:896,1
    - Dst: wpa_driver_wext_set_mode
      Src: /src/hostap/src/drivers/driver_wext.c:898,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:899,1
    - Dst: wpa_driver_wext_get_range
      Src: /src/hostap/src/drivers/driver_wext.c:904,1
    - Dst: wpa_driver_wext_disconnect
      Src: /src/hostap/src/drivers/driver_wext.c:915,1
    - Dst: if_nametoindex
      Src: /src/hostap/src/drivers/driver_wext.c:917,1
    - Dst: netlink_send_oper_ifla
      Src: /src/hostap/src/drivers/driver_wext.c:919,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/drivers/driver_wext.c:923,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - drv
    argTypes:
    - struct wpa_driver_wext_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 874
    functionDepth: 1
    functionLinenumber: 874
    functionLinenumberEnd: 928
    functionName: wpa_driver_wext_finish_drv_init
    functionSourceFile: /src/hostap/src/drivers/driver_wext.c
    functionUses: 2
    functionsReached:
    - rfkill_is_blocked
    - wpa_printf
    - linux_set_iface_flags
    - wpa_driver_wext_set_mode
    - netlink_send_oper_ifla
    - eloop_register_timeout
    - wpa_driver_wext_flush_pmkid
    - wpa_driver_wext_disconnect
    - if_nametoindex
    - wpa_driver_wext_get_range
    linkageType: ''
    returnType: int
    signature: int wpa_driver_wext_finish_drv_init(struct wpa_driver_wext_data *drv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_driver_wext_set_auth_param
      Src: /src/hostap/src/drivers/driver_wext.c:942,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/drivers/driver_wext.c:944,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/drivers/driver_wext.c:945,1
    - Dst: wpa_driver_wext_disconnect
      Src: /src/hostap/src/drivers/driver_wext.c:951,1
    - Dst: netlink_send_oper_ifla
      Src: /src/hostap/src/drivers/driver_wext.c:953,1
    - Dst: netlink_deinit
      Src: /src/hostap/src/drivers/driver_wext.c:954,1
    - Dst: rfkill_deinit
      Src: /src/hostap/src/drivers/driver_wext.c:955,1
    - Dst: eloop_unregister_read_sock
      Src: /src/hostap/src/drivers/driver_wext.c:958,1
    - Dst: linux_set_iface_flags
      Src: /src/hostap/src/drivers/driver_wext.c:960,1
    - Dst: close
      Src: /src/hostap/src/drivers/driver_wext.c:962,1
    - Dst: close
      Src: /src/hostap/src/drivers/driver_wext.c:964,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_wext.c:965,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_wext.c:966,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_wext.c:967,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 938
    functionDepth: 1
    functionLinenumber: 938
    functionLinenumberEnd: 968
    functionName: wpa_driver_wext_deinit
    functionSourceFile: /src/hostap/src/drivers/driver_wext.c
    functionUses: 0
    functionsReached:
    - netlink_deinit
    - eloop_unregister_read_sock
    - linux_set_iface_flags
    - eloop_cancel_timeout
    - netlink_send_oper_ifla
    - wpa_driver_wext_set_auth_param
    - rfkill_deinit
    - close
    - os_free
    - wpa_driver_wext_disconnect
    linkageType: ''
    returnType: void
    signature: void wpa_driver_wext_deinit(void *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:981,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_wext.c:982,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 979
    functionDepth: 0
    functionLinenumber: 979
    functionLinenumberEnd: 983
    functionName: wpa_driver_wext_scan_timeout
    functionSourceFile: /src/hostap/src/drivers/driver_wext.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void wpa_driver_wext_scan_timeout(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:1002,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_wext.c:1007,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_wext.c:1008,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_wext.c:1011,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_wext.c:1014,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_wext.c:1015,1
    - Dst: ioctl
      Src: /src/hostap/src/drivers/driver_wext.c:1021,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:1022,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_wext.c:1023,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:1038,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/drivers/driver_wext.c:1040,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/drivers/driver_wext.c:1041,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 2
    argNames:
    - priv
    - params
    argTypes:
    - void*
    - struct wpa_driver_scan_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 992
    functionDepth: 0
    functionLinenumber: 992
    functionLinenumberEnd: 1045
    functionName: wpa_driver_wext_scan
    functionSourceFile: /src/hostap/src/drivers/driver_wext.c
    functionUses: 0
    functionsReached:
    - ioctl
    - wpa_printf
    - os_memcpy
    - strerror
    - eloop_cancel_timeout
    - os_strlcpy
    - eloop_register_timeout
    - os_memset
    linkageType: ''
    returnType: int
    signature: int wpa_driver_wext_scan(void *priv, struct wpa_driver_scan_params
      *params)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/drivers/driver_wext.c:1057,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_wext.c:1060,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_wext.c:1061,1
    - Dst: ioctl
      Src: /src/hostap/src/drivers/driver_wext.c:1065,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_wext.c:1069,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:1074,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:1078,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_wext.c:1079,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_wext.c:1080,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_wext.c:1086,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - drv
    - len
    argTypes:
    - struct wpa_driver_wext_data*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 1048
    functionDepth: 0
    functionLinenumber: 1048
    functionLinenumberEnd: 1092
    functionName: wpa_driver_wext_giwscan
    functionSourceFile: /src/hostap/src/drivers/driver_wext.c
    functionUses: 0
    functionsReached:
    - ioctl
    - wpa_printf
    - strerror
    - os_strlcpy
    - os_malloc
    - os_free
    - os_memset
    linkageType: ''
    returnType: u8
    signature: "u8 * wpa_driver_wext_giwscan(struct wpa_driver_wext_data *drv,\n\t\t\t\t
      \   size_t *len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - iwe
    - res
    argTypes:
    - struct iw_event*
    - struct wext_scan_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1116
      start: 1109
    functionDepth: 0
    functionLinenumber: 1109
    functionLinenumberEnd: 1116
    functionName: wext_get_scan_mode
    functionSourceFile: /src/hostap/src/drivers/driver_wext.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wext_get_scan_mode(struct iw_event *iwe,\n\t\t\t       struct
      wext_scan_data *res)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_wext.c:1129,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 4
    argNames:
    - iwe
    - res
    - custom
    - end
    argTypes:
    - struct iw_event*
    - struct wext_scan_data*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1132
      start: 1119
    functionDepth: 0
    functionLinenumber: 1119
    functionLinenumberEnd: 1132
    functionName: wext_get_scan_ssid
    functionSourceFile: /src/hostap/src/drivers/driver_wext.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    linkageType: ''
    returnType: void
    signature: "void wext_get_scan_ssid(struct iw_event *iwe,\n\t\t\t       struct
      wext_scan_data *res, char *custom,\n\t\t\t       char *end)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:1163,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_wext.c:1165,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - iwe
    - res
    argTypes:
    - struct iw_event*
    - struct wext_scan_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1173
      start: 1135
    functionDepth: 1
    functionLinenumber: 1135
    functionLinenumberEnd: 1173
    functionName: wext_get_scan_freq
    functionSourceFile: /src/hostap/src/drivers/driver_wext.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: "void wext_get_scan_freq(struct iw_event *iwe,\n\t\t\t       struct
      wext_scan_data *res)"
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 3
    argNames:
    - drv
    - iwe
    - res
    argTypes:
    - struct wpa_driver_wext_data*
    - struct iw_event*
    - struct wext_scan_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1199
      start: 1176
    functionDepth: 0
    functionLinenumber: 1176
    functionLinenumberEnd: 1199
    functionName: wext_get_scan_qual
    functionSourceFile: /src/hostap/src/drivers/driver_wext.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wext_get_scan_qual(struct wpa_driver_wext_data *drv,\n\t\t\t
      \      struct iw_event *iwe,\n\t\t\t       struct wext_scan_data *res)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - iwe
    - res
    argTypes:
    - struct iw_event*
    - struct wext_scan_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1202
    functionDepth: 0
    functionLinenumber: 1202
    functionLinenumberEnd: 1207
    functionName: wext_get_scan_encode
    functionSourceFile: /src/hostap/src/drivers/driver_wext.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wext_get_scan_encode(struct iw_event *iwe,\n\t\t\t\t struct wext_scan_data
      *res)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_wext.c:1225,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - iwe
    - res
    - pos
    - end
    argTypes:
    - struct iw_event*
    - struct wext_scan_data*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1236
      start: 1210
    functionDepth: 0
    functionLinenumber: 1210
    functionLinenumberEnd: 1236
    functionName: wext_get_scan_rate
    functionSourceFile: /src/hostap/src/drivers/driver_wext.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    linkageType: ''
    returnType: void
    signature: "void wext_get_scan_rate(struct iw_event *iwe,\n\t\t\t       struct
      wext_scan_data *res, char *pos,\n\t\t\t       char *end)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:1252,1
    - Dst: os_realloc
      Src: /src/hostap/src/drivers/driver_wext.c:1256,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_wext.c:1259,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - iwe
    - res
    - custom
    - end
    argTypes:
    - struct iw_event*
    - struct wext_scan_data*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1262
      start: 1239
    functionDepth: 0
    functionLinenumber: 1239
    functionLinenumberEnd: 1262
    functionName: wext_get_scan_iwevgenie
    functionSourceFile: /src/hostap/src/drivers/driver_wext.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - os_realloc
    linkageType: ''
    returnType: void
    signature: "void wext_get_scan_iwevgenie(struct iw_event *iwe,\n\t\t\t\t    struct
      wext_scan_data *res, char *custom,\n\t\t\t\t    char *end)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: os_strncmp
      Src: /src/hostap/src/drivers/driver_wext.c:1276,1
    - Dst: os_realloc
      Src: /src/hostap/src/drivers/driver_wext.c:1284,1
    - Dst: hexstr2bin
      Src: /src/hostap/src/drivers/driver_wext.c:1288,1
    - Dst: os_strncmp
      Src: /src/hostap/src/drivers/driver_wext.c:1291,1
    - Dst: os_realloc
      Src: /src/hostap/src/drivers/driver_wext.c:1299,1
    - Dst: hexstr2bin
      Src: /src/hostap/src/drivers/driver_wext.c:1303,1
    - Dst: os_strncmp
      Src: /src/hostap/src/drivers/driver_wext.c:1306,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:1313,1
    - Dst: hexstr2bin
      Src: /src/hostap/src/drivers/driver_wext.c:1317,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:1318,1
    - Dst: WPA_GET_BE64
      Src: /src/hostap/src/drivers/driver_wext.c:1321,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    argCount: 4
    argNames:
    - iwe
    - res
    - custom
    - end
    argTypes:
    - struct iw_event*
    - struct wext_scan_data*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1323
      start: 1265
    functionDepth: 1
    functionLinenumber: 1265
    functionLinenumberEnd: 1323
    functionName: wext_get_scan_custom
    functionSourceFile: /src/hostap/src/drivers/driver_wext.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - WPA_GET_BE64
    - hexstr2bin
    - os_realloc
    - os_strncmp
    linkageType: ''
    returnType: void
    signature: "void wext_get_scan_custom(struct iw_event *iwe,\n\t\t\t\t struct wext_scan_data
      *res, char *custom,\n\t\t\t\t char *end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - drv
    - cmd
    argTypes:
    - struct wpa_driver_wext_data*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1331
      start: 1326
    functionDepth: 0
    functionLinenumber: 1326
    functionLinenumberEnd: 1331
    functionName: wext_19_iw_point
    functionSourceFile: /src/hostap/src/drivers/driver_wext.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wext_19_iw_point(struct wpa_driver_wext_data *drv, u16 cmd)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/drivers/driver_wext.c:1363,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_wext.c:1366,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_wext.c:1376,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_wext.c:1389,1
    - Dst: os_realloc_array
      Src: /src/hostap/src/drivers/driver_wext.c:1391,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_wext.c:1394,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 2
    argNames:
    - res
    - data
    argTypes:
    - struct wpa_scan_results*
    - struct wext_scan_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1399
      start: 1334
    functionDepth: 1
    functionLinenumber: 1334
    functionLinenumberEnd: 1399
    functionName: wpa_driver_wext_add_scan_entry
    functionSourceFile: /src/hostap/src/drivers/driver_wext.c
    functionUses: 0
    functionsReached:
    - os_free
    - os_zalloc
    - os_memcpy
    - os_realloc_array
    linkageType: ''
    returnType: void
    signature: "void wpa_driver_wext_add_scan_entry(struct wpa_scan_results *res,\n\t\t\t\t\t
      \  struct wext_scan_data *data)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: wpa_driver_wext_giwscan
      Src: /src/hostap/src/drivers/driver_wext.c:1418,1
    - Dst: os_zalloc
      Src: /src/hostap/src/drivers/driver_wext.c:1424,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_wext.c:1426,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_wext.c:1432,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_wext.c:1437,1
    - Dst: wext_19_iw_point
      Src: /src/hostap/src/drivers/driver_wext.c:1442,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_wext.c:1446,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_wext.c:1449,1
    - Dst: wpa_driver_wext_add_scan_entry
      Src: /src/hostap/src/drivers/driver_wext.c:1456,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_wext.c:1458,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_wext.c:1459,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_wext.c:1460,1
    - Dst: wext_get_scan_mode
      Src: /src/hostap/src/drivers/driver_wext.c:1464,1
    - Dst: wext_get_scan_ssid
      Src: /src/hostap/src/drivers/driver_wext.c:1467,1
    - Dst: wext_get_scan_freq
      Src: /src/hostap/src/drivers/driver_wext.c:1470,1
    - Dst: wext_get_scan_qual
      Src: /src/hostap/src/drivers/driver_wext.c:1473,1
    - Dst: wext_get_scan_encode
      Src: /src/hostap/src/drivers/driver_wext.c:1476,1
    - Dst: wext_get_scan_rate
      Src: /src/hostap/src/drivers/driver_wext.c:1479,1
    - Dst: wext_get_scan_iwevgenie
      Src: /src/hostap/src/drivers/driver_wext.c:1482,1
    - Dst: wext_get_scan_custom
      Src: /src/hostap/src/drivers/driver_wext.c:1485,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_wext.c:1491,1
    - Dst: wpa_driver_wext_add_scan_entry
      Src: /src/hostap/src/drivers/driver_wext.c:1494,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_wext.c:1495,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:1497,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 67
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1501
      start: 1407
    functionDepth: 2
    functionLinenumber: 1407
    functionLinenumberEnd: 1501
    functionName: wpa_driver_wext_get_scan_results
    functionSourceFile: /src/hostap/src/drivers/driver_wext.c
    functionUses: 0
    functionsReached:
    - wext_get_scan_iwevgenie
    - os_memcpy
    - wpa_printf
    - wext_get_scan_rate
    - wext_get_scan_qual
    - wext_get_scan_freq
    - wpa_driver_wext_add_scan_entry
    - wext_get_scan_custom
    - wext_get_scan_mode
    - wext_get_scan_ssid
    - wpa_driver_wext_giwscan
    - os_zalloc
    - os_free
    - wext_19_iw_point
    - wext_get_scan_encode
    - os_memset
    linkageType: ''
    returnType: struct wpa_scan_results
    signature: struct wpa_scan_results * wpa_driver_wext_get_scan_results(void *priv)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/drivers/driver_wext.c:1517,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_wext.c:1521,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_wext.c:1522,1
    - Dst: ioctl
      Src: /src/hostap/src/drivers/driver_wext.c:1529,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:1530,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_wext.c:1531,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_wext.c:1532,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:1536,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:1566,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:1571,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_wext.c:1577,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1579
      start: 1504
    functionDepth: 0
    functionLinenumber: 1504
    functionLinenumberEnd: 1579
    functionName: wpa_driver_wext_get_range
    functionSourceFile: /src/hostap/src/drivers/driver_wext.c
    functionUses: 1
    functionsReached:
    - ioctl
    - wpa_printf
    - strerror
    - os_strlcpy
    - os_zalloc
    - os_free
    - os_memset
    linkageType: ''
    returnType: int
    signature: int wpa_driver_wext_get_range(void *priv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:1589,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_wext.c:1597,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_wext.c:1598,1
    - Dst: os_zalloc
      Src: /src/hostap/src/drivers/driver_wext.c:1600,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_wext.c:1607,1
    - Dst: ioctl
      Src: /src/hostap/src/drivers/driver_wext.c:1610,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:1612,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_wext.c:1613,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_wext.c:1614,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - drv
    - psk
    argTypes:
    - struct wpa_driver_wext_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1617
      start: 1582
    functionDepth: 0
    functionLinenumber: 1582
    functionLinenumberEnd: 1617
    functionName: wpa_driver_wext_set_psk
    functionSourceFile: /src/hostap/src/drivers/driver_wext.c
    functionUses: 0
    functionsReached:
    - ioctl
    - wpa_printf
    - os_memcpy
    - strerror
    - os_strlcpy
    - os_zalloc
    - os_free
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_wext_set_psk(struct wpa_driver_wext_data *drv,\n\t\t\t\t
      \  const u8 *psk)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:1633,1
    - Dst: os_zalloc
      Src: /src/hostap/src/drivers/driver_wext.c:1638,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_wext.c:1641,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_wext.c:1642,1
    - Dst: is_broadcast_ether_addr
      Src: /src/hostap/src/drivers/driver_wext.c:1650,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_wext.c:1657,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_wext.c:1659,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_wext.c:1661,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:1684,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_wext.c:1686,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_wext.c:1693,1
    - Dst: ioctl
      Src: /src/hostap/src/drivers/driver_wext.c:1696,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:1705,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_wext.c:1706,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_wext.c:1709,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 66
    argCount: 10
    argNames:
    - priv
    - alg
    - addr
    - key_idx
    - set_tx
    - seq
    - seq_len
    - key
    - key_len
    - key_flag
    argTypes:
    - void*
    - enum wpa_alg
    - u8*
    - int
    - int
    - u8*
    - size_t
    - u8*
    - size_t
    - enum key_flag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1711
      start: 1620
    functionDepth: 1
    functionLinenumber: 1620
    functionLinenumberEnd: 1711
    functionName: wpa_driver_wext_set_key_ext
    functionSourceFile: /src/hostap/src/drivers/driver_wext.c
    functionUses: 0
    functionsReached:
    - ioctl
    - wpa_printf
    - os_memcpy
    - strerror
    - is_broadcast_ether_addr
    - os_strlcpy
    - os_zalloc
    - os_free
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_wext_set_key_ext(void *priv, enum wpa_alg alg,\n\t\t\t\t
      \      const u8 *addr, int key_idx,\n\t\t\t\t       int set_tx, const u8 *seq,\n\t\t\t\t
      \      size_t seq_len,\n\t\t\t\t       const u8 *key, size_t key_len,\n\t\t\t\t
      \      enum key_flag key_flag)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:1742,1
    - Dst: wpa_driver_wext_set_key_ext
      Src: /src/hostap/src/drivers/driver_wext.c:1747,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:1754,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:1758,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_wext.c:1763,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_wext.c:1764,1
    - Dst: ioctl
      Src: /src/hostap/src/drivers/driver_wext.c:1772,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:1773,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_wext.c:1774,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_wext.c:1779,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_wext.c:1780,1
    - Dst: ioctl
      Src: /src/hostap/src/drivers/driver_wext.c:1785,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:1786,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_wext.c:1788,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 2
    argNames:
    - priv
    - params
    argTypes:
    - void*
    - struct wpa_driver_set_key_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1794
      start: 1723
    functionDepth: 2
    functionLinenumber: 1723
    functionLinenumberEnd: 1794
    functionName: wpa_driver_wext_set_key
    functionSourceFile: /src/hostap/src/drivers/driver_wext.c
    functionUses: 0
    functionsReached:
    - ioctl
    - wpa_printf
    - strerror
    - os_strlcpy
    - wpa_driver_wext_set_key_ext
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_wext_set_key(void *priv,\n\t\t\t\t   struct wpa_driver_set_key_params
      *params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:1801,1
    - Dst: wpa_driver_wext_set_auth_param
      Src: /src/hostap/src/drivers/driver_wext.c:1802,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - priv
    - enabled
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1805
      start: 1797
    functionDepth: 1
    functionLinenumber: 1797
    functionLinenumberEnd: 1805
    functionName: wpa_driver_wext_set_countermeasures
    functionSourceFile: /src/hostap/src/drivers/driver_wext.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_driver_wext_set_auth_param
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_wext_set_countermeasures(void *priv,\n\t\t\t\t\t       int
      enabled)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:1812,1
    - Dst: wpa_driver_wext_set_auth_param
      Src: /src/hostap/src/drivers/driver_wext.c:1814,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - priv
    - enabled
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1816
      start: 1808
    functionDepth: 1
    functionLinenumber: 1808
    functionLinenumberEnd: 1816
    functionName: wpa_driver_wext_set_drop_unencrypted
    functionSourceFile: /src/hostap/src/drivers/driver_wext.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_driver_wext_set_auth_param
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_wext_set_drop_unencrypted(void *priv,\n\t\t\t\t\t\tint
      enabled)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_wext.c:1826,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_wext.c:1827,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_wext.c:1828,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_wext.c:1832,1
    - Dst: ioctl
      Src: /src/hostap/src/drivers/driver_wext.c:1836,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:1837,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_wext.c:1838,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 4
    argNames:
    - drv
    - addr
    - cmd
    - reason_code
    argTypes:
    - struct wpa_driver_wext_data*
    - u8*
    - int
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1843
      start: 1819
    functionDepth: 0
    functionLinenumber: 1819
    functionLinenumberEnd: 1843
    functionName: wpa_driver_wext_mlme
    functionSourceFile: /src/hostap/src/drivers/driver_wext.c
    functionUses: 0
    functionsReached:
    - ioctl
    - os_memcpy
    - wpa_printf
    - strerror
    - os_strlcpy
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_wext_mlme(struct wpa_driver_wext_data *drv,\n\t\t\t\tconst
      u8 *addr, int cmd, u16 reason_code)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_wext.c:1858,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_wext.c:1859,1
    - Dst: ioctl
      Src: /src/hostap/src/drivers/driver_wext.c:1860,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:1861,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_wext.c:1862,1
    - Dst: wpa_driver_wext_set_bssid
      Src: /src/hostap/src/drivers/driver_wext.c:1868,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:1869,1
    - Dst: wpa_driver_wext_set_ssid
      Src: /src/hostap/src/drivers/driver_wext.c:1879,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:1880,1
    - Dst: rand
      Src: /src/hostap/src/drivers/driver_wext.c:1893,1
    - Dst: wpa_driver_wext_set_ssid
      Src: /src/hostap/src/drivers/driver_wext.c:1894,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:1895,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - drv
    argTypes:
    - struct wpa_driver_wext_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1902
      start: 1846
    functionDepth: 1
    functionLinenumber: 1846
    functionLinenumberEnd: 1902
    functionName: wpa_driver_wext_disconnect
    functionSourceFile: /src/hostap/src/drivers/driver_wext.c
    functionUses: 2
    functionsReached:
    - ioctl
    - wpa_printf
    - strerror
    - rand
    - wpa_driver_wext_set_bssid
    - os_strlcpy
    - wpa_driver_wext_set_ssid
    - os_memset
    linkageType: ''
    returnType: void
    signature: void wpa_driver_wext_disconnect(struct wpa_driver_wext_data *drv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:1910,1
    - Dst: wpa_driver_wext_mlme
      Src: /src/hostap/src/drivers/driver_wext.c:1911,1
    - Dst: wpa_driver_wext_disconnect
      Src: /src/hostap/src/drivers/driver_wext.c:1912,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - priv
    - addr
    - reason_code
    argTypes:
    - void*
    - u8*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1914
      start: 1905
    functionDepth: 2
    functionLinenumber: 1905
    functionLinenumberEnd: 1914
    functionName: wpa_driver_wext_deauthenticate
    functionSourceFile: /src/hostap/src/drivers/driver_wext.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_driver_wext_disconnect
    - wpa_driver_wext_mlme
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_wext_deauthenticate(void *priv, const u8 *addr,\n\t\t\t\t\t
      \ u16 reason_code)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_wext.c:1924,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_wext.c:1925,1
    - Dst: ioctl
      Src: /src/hostap/src/drivers/driver_wext.c:1929,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:1930,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_wext.c:1931,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - priv
    - ie
    - ie_len
    argTypes:
    - void*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1936
      start: 1917
    functionDepth: 0
    functionLinenumber: 1917
    functionLinenumberEnd: 1936
    functionName: wpa_driver_wext_set_gen_ie
    functionSourceFile: /src/hostap/src/drivers/driver_wext.c
    functionUses: 0
    functionsReached:
    - ioctl
    - wpa_printf
    - strerror
    - os_strlcpy
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_wext_set_gen_ie(void *priv, const u8 *ie,\n\t\t\t\t
      \     size_t ie_len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1955
      start: 1939
    functionDepth: 0
    functionLinenumber: 1939
    functionLinenumberEnd: 1955
    functionName: wpa_driver_wext_cipher2wext
    functionSourceFile: /src/hostap/src/drivers/driver_wext.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpa_driver_wext_cipher2wext(int cipher)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - keymgmt
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1969
      start: 1958
    functionDepth: 0
    functionLinenumber: 1958
    functionLinenumberEnd: 1969
    functionName: wpa_driver_wext_keymgmt2wext
    functionSourceFile: /src/hostap/src/drivers/driver_wext.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpa_driver_wext_keymgmt2wext(int keymgmt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:1979,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_wext.c:1982,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_wext.c:1983,1
    - Dst: ioctl
      Src: /src/hostap/src/drivers/driver_wext.c:2007,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:2008,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_wext.c:2009,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - drv
    - params
    argTypes:
    - struct wpa_driver_wext_data*
    - struct wpa_driver_associate_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2014
      start: 1972
    functionDepth: 0
    functionLinenumber: 1972
    functionLinenumberEnd: 2014
    functionName: wpa_driver_wext_auth_alg_fallback
    functionSourceFile: /src/hostap/src/drivers/driver_wext.c
    functionUses: 0
    functionsReached:
    - ioctl
    - wpa_printf
    - strerror
    - os_strlcpy
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_wext_auth_alg_fallback(struct wpa_driver_wext_data
      *drv,\n\t\t\t\t  struct wpa_driver_associate_params *params)"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:2025,1
    - Dst: wpa_driver_wext_set_ssid
      Src: /src/hostap/src/drivers/driver_wext.c:2032,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:2033,1
    - Dst: wpa_driver_wext_set_drop_unencrypted
      Src: /src/hostap/src/drivers/driver_wext.c:2039,1
    - Dst: wpa_driver_wext_set_auth_alg
      Src: /src/hostap/src/drivers/driver_wext.c:2042,1
    - Dst: wpa_driver_wext_set_mode
      Src: /src/hostap/src/drivers/driver_wext.c:2044,1
    - Dst: wpa_driver_wext_auth_alg_fallback
      Src: /src/hostap/src/drivers/driver_wext.c:2052,1
    - Dst: wpa_driver_wext_set_bssid
      Src: /src/hostap/src/drivers/driver_wext.c:2056,1
    - Dst: wpa_driver_wext_set_gen_ie
      Src: /src/hostap/src/drivers/driver_wext.c:2062,1
    - Dst: wpa_driver_wext_set_auth_param
      Src: /src/hostap/src/drivers/driver_wext.c:2071,1
    - Dst: wpa_driver_wext_cipher2wext
      Src: /src/hostap/src/drivers/driver_wext.c:2074,1
    - Dst: wpa_driver_wext_set_auth_param
      Src: /src/hostap/src/drivers/driver_wext.c:2075,1
    - Dst: wpa_driver_wext_cipher2wext
      Src: /src/hostap/src/drivers/driver_wext.c:2078,1
    - Dst: wpa_driver_wext_set_auth_param
      Src: /src/hostap/src/drivers/driver_wext.c:2079,1
    - Dst: wpa_driver_wext_keymgmt2wext
      Src: /src/hostap/src/drivers/driver_wext.c:2082,1
    - Dst: wpa_driver_wext_set_auth_param
      Src: /src/hostap/src/drivers/driver_wext.c:2083,1
    - Dst: wpa_driver_wext_set_auth_param
      Src: /src/hostap/src/drivers/driver_wext.c:2090,1
    - Dst: wpa_driver_wext_set_psk
      Src: /src/hostap/src/drivers/driver_wext.c:2103,1
    - Dst: wpa_driver_wext_set_auth_param
      Src: /src/hostap/src/drivers/driver_wext.c:2105,1
    - Dst: wpa_driver_wext_set_auth_param
      Src: /src/hostap/src/drivers/driver_wext.c:2120,1
    - Dst: wpa_driver_wext_set_freq
      Src: /src/hostap/src/drivers/driver_wext.c:2123,1
    - Dst: wpa_driver_wext_set_ssid
      Src: /src/hostap/src/drivers/driver_wext.c:2126,1
    - Dst: wpa_driver_wext_set_bssid
      Src: /src/hostap/src/drivers/driver_wext.c:2129,1
    - Dst: wpa_driver_wext_set_ssid
      Src: /src/hostap/src/drivers/driver_wext.c:2132,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 69
    argCount: 2
    argNames:
    - priv
    - params
    argTypes:
    - void*
    - struct wpa_driver_associate_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2139
      start: 2017
    functionDepth: 2
    functionLinenumber: 2017
    functionLinenumberEnd: 2139
    functionName: wpa_driver_wext_associate
    functionSourceFile: /src/hostap/src/drivers/driver_wext.c
    functionUses: 0
    functionsReached:
    - wpa_driver_wext_set_auth_alg
    - wpa_printf
    - wpa_driver_wext_cipher2wext
    - wpa_driver_wext_set_drop_unencrypted
    - wpa_driver_wext_set_bssid
    - wpa_driver_wext_set_ssid
    - wpa_driver_wext_set_gen_ie
    - wpa_driver_wext_set_mode
    - wpa_driver_wext_set_auth_param
    - wpa_driver_wext_keymgmt2wext
    - wpa_driver_wext_set_psk
    - wpa_driver_wext_set_freq
    - wpa_driver_wext_auth_alg_fallback
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_wext_associate(void *priv,\n\t\t\t      struct wpa_driver_associate_params
      *params)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_driver_wext_set_auth_param
      Src: /src/hostap/src/drivers/driver_wext.c:2158,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - priv
    - auth_alg
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2162
      start: 2142
    functionDepth: 1
    functionLinenumber: 2142
    functionLinenumberEnd: 2162
    functionName: wpa_driver_wext_set_auth_alg
    functionSourceFile: /src/hostap/src/drivers/driver_wext.c
    functionUses: 1
    functionsReached:
    - wpa_driver_wext_set_auth_param
    linkageType: ''
    returnType: int
    signature: int wpa_driver_wext_set_auth_alg(void *priv, int auth_alg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_wext.c:2178,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_wext.c:2179,1
    - Dst: ioctl
      Src: /src/hostap/src/drivers/driver_wext.c:2181,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:2187,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_wext.c:2188,1
    - Dst: ioctl
      Src: /src/hostap/src/drivers/driver_wext.c:2196,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:2197,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_wext.c:2198,1
    - Dst: linux_set_iface_flags
      Src: /src/hostap/src/drivers/driver_wext.c:2207,1
    - Dst: ioctl
      Src: /src/hostap/src/drivers/driver_wext.c:2210,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:2211,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_wext.c:2212,1
    - Dst: linux_set_iface_flags
      Src: /src/hostap/src/drivers/driver_wext.c:2216,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 2
    argNames:
    - priv
    - mode
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2221
      start: 2171
    functionDepth: 1
    functionLinenumber: 2171
    functionLinenumberEnd: 2221
    functionName: wpa_driver_wext_set_mode
    functionSourceFile: /src/hostap/src/drivers/driver_wext.c
    functionUses: 2
    functionsReached:
    - ioctl
    - wpa_printf
    - strerror
    - linux_set_iface_flags
    - os_strlcpy
    - os_memset
    linkageType: ''
    returnType: int
    signature: int wpa_driver_wext_set_mode(void *priv, int mode)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_wext.c:2231,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_wext.c:2232,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_wext.c:2233,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_wext.c:2237,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_wext.c:2239,1
    - Dst: ioctl
      Src: /src/hostap/src/drivers/driver_wext.c:2243,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:2245,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_wext.c:2246,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - drv
    - cmd
    - bssid
    - pmkid
    argTypes:
    - struct wpa_driver_wext_data*
    - u32
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2251
      start: 2224
    functionDepth: 0
    functionLinenumber: 2224
    functionLinenumberEnd: 2251
    functionName: wpa_driver_wext_pmksa
    functionSourceFile: /src/hostap/src/drivers/driver_wext.c
    functionUses: 0
    functionsReached:
    - ioctl
    - os_memcpy
    - wpa_printf
    - strerror
    - os_strlcpy
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_wext_pmksa(struct wpa_driver_wext_data *drv,\n\t\t\t\t
      u32 cmd, const u8 *bssid, const u8 *pmkid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_driver_wext_pmksa
      Src: /src/hostap/src/drivers/driver_wext.c:2258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - priv
    - params
    argTypes:
    - void*
    - struct wpa_pmkid_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2260
      start: 2254
    functionDepth: 1
    functionLinenumber: 2254
    functionLinenumberEnd: 2260
    functionName: wpa_driver_wext_add_pmkid
    functionSourceFile: /src/hostap/src/drivers/driver_wext.c
    functionUses: 0
    functionsReached:
    - wpa_driver_wext_pmksa
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_wext_add_pmkid(void *priv,\n\t\t\t\t     struct wpa_pmkid_params
      *params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_driver_wext_pmksa
      Src: /src/hostap/src/drivers/driver_wext.c:2267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - priv
    - params
    argTypes:
    - void*
    - struct wpa_pmkid_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2269
      start: 2263
    functionDepth: 1
    functionLinenumber: 2263
    functionLinenumberEnd: 2269
    functionName: wpa_driver_wext_remove_pmkid
    functionSourceFile: /src/hostap/src/drivers/driver_wext.c
    functionUses: 0
    functionsReached:
    - wpa_driver_wext_pmksa
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_wext_remove_pmkid(void *priv,\n\t\t\t\t\tstruct wpa_pmkid_params
      *params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_driver_wext_pmksa
      Src: /src/hostap/src/drivers/driver_wext.c:2275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2276
      start: 2272
    functionDepth: 1
    functionLinenumber: 2272
    functionLinenumberEnd: 2276
    functionName: wpa_driver_wext_flush_pmkid
    functionSourceFile: /src/hostap/src/drivers/driver_wext.c
    functionUses: 1
    functionsReached:
    - wpa_driver_wext_pmksa
    linkageType: ''
    returnType: int
    signature: int wpa_driver_wext_flush_pmkid(void *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_wext.c:2284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - priv
    - capa
    argTypes:
    - void*
    - struct wpa_driver_capa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2286
      start: 2279
    functionDepth: 0
    functionLinenumber: 2279
    functionLinenumberEnd: 2286
    functionName: wpa_driver_wext_get_capa
    functionSourceFile: /src/hostap/src/drivers/driver_wext.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    linkageType: ''
    returnType: int
    signature: int wpa_driver_wext_get_capa(void *priv, struct wpa_driver_capa *capa)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: if_nametoindex
      Src: /src/hostap/src/drivers/driver_wext.c:2297,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:2301,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - drv
    - ifname
    argTypes:
    - struct wpa_driver_wext_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2305
      start: 2289
    functionDepth: 0
    functionLinenumber: 2289
    functionLinenumberEnd: 2305
    functionName: wpa_driver_wext_alternative_ifindex
    functionSourceFile: /src/hostap/src/drivers/driver_wext.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - if_nametoindex
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_wext_alternative_ifindex(struct wpa_driver_wext_data
      *drv,\n\t\t\t\t\tconst char *ifname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:2312,1
    - Dst: netlink_send_oper_ifla
      Src: /src/hostap/src/drivers/driver_wext.c:2315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - priv
    - state
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2317
      start: 2308
    functionDepth: 1
    functionLinenumber: 2308
    functionLinenumberEnd: 2317
    functionName: wpa_driver_wext_set_operstate
    functionSourceFile: /src/hostap/src/drivers/driver_wext.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - netlink_send_oper_ifla
    linkageType: ''
    returnType: int
    signature: int wpa_driver_wext_set_operstate(void *priv, int state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - drv
    argTypes:
    - struct wpa_driver_wext_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2323
      start: 2320
    functionDepth: 0
    functionLinenumber: 2320
    functionLinenumberEnd: 2323
    functionName: wpa_driver_wext_get_version
    functionSourceFile: /src/hostap/src/drivers/driver_wext.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpa_driver_wext_get_version(struct wpa_driver_wext_data *drv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2330
      start: 2326
    functionDepth: 0
    functionLinenumber: 2326
    functionLinenumberEnd: 2330
    functionName: wext_get_radio_name
    functionSourceFile: /src/hostap/src/drivers/driver_wext.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * wext_get_radio_name(void *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_wext.c:2339,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_wext.c:2344,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_wext.c:2345,1
    - Dst: ioctl
      Src: /src/hostap/src/drivers/driver_wext.c:2350,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wext.c:2351,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_wext.c:2352,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - priv
    - si
    argTypes:
    - void*
    - struct wpa_signal_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2361
      start: 2333
    functionDepth: 0
    functionLinenumber: 2333
    functionLinenumberEnd: 2361
    functionName: wpa_driver_wext_signal_poll
    functionSourceFile: /src/hostap/src/drivers/driver_wext.c
    functionUses: 0
    functionsReached:
    - ioctl
    - wpa_printf
    - strerror
    - os_strlcpy
    - os_memset
    linkageType: ''
    returnType: int
    signature: int wpa_driver_wext_signal_poll(void *priv, struct wpa_signal_info
      *si)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: linux_get_ifhwaddr
      Src: /src/hostap/src/drivers/driver_wext.c:2374,1
    - Dst: os_snprintf
      Src: /src/hostap/src/drivers/driver_wext.c:2377,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_wext.c:2383,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/drivers/driver_wext.c:2384,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - priv
    - buf
    - buflen
    argTypes:
    - void*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2389
      start: 2364
    functionDepth: 1
    functionLinenumber: 2364
    functionLinenumberEnd: 2389
    functionName: wpa_driver_wext_status
    functionSourceFile: /src/hostap/src/drivers/driver_wext.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - MAC2STR
    - linux_get_ifhwaddr
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: int wpa_driver_wext_status(void *priv, char *buf, size_t buflen)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nlmsg_data
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:35,1
    - Dst: nlmsg_hdr
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:35,1
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:46,1
    - Dst: genlmsg_attrdata
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:46,1
    - Dst: genlmsg_attrlen
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:47,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:50,1
    - Dst: nla_parse_nested
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:54,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:57,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:69,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:71,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - msg
    - arg
    argTypes:
    - struct nl_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 75
    functionName: get_noise_for_scan_results
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_scan.c
    functionUses: 0
    functionsReached:
    - nlmsg_hdr
    - wpa_printf
    - nla_get_u32
    - nla_parse_nested
    - nla_parse
    - nlmsg_data
    - genlmsg_attrlen
    - genlmsg_attrdata
    - nla_get_u8
    linkageType: ''
    returnType: int
    signature: int get_noise_for_scan_results(struct nl_msg *msg, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:84,1
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:85,1
    - Dst: send_and_recv_resp
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - bss
    - info
    argTypes:
    - struct i802_bss*
    - struct nl80211_noise_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 87
    functionName: nl80211_get_noise_for_scan_results
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_scan.c
    functionUses: 0
    functionsReached:
    - nl80211_bss_msg
    - send_and_recv_resp
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int nl80211_get_noise_for_scan_results(\n\tstruct i802_bss *bss, struct
      nl80211_noise_info *info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:96,1
    - Dst: nl80211_cmd_msg
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:97,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:98,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:100,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - bss
    argTypes:
    - struct i802_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 104
    functionName: nl80211_abort_scan
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_scan.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - send_and_recv_cmd
    - nl80211_cmd_msg
    - strerror
    linkageType: ''
    returnType: int
    signature: int nl80211_abort_scan(struct i802_bss *bss)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:115,1
    - Dst: nl80211_drv_msg
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:118,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:120,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:121,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:123,1
    - Dst: nla_put_u64
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:124,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:127,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:129,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:132,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:135,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:140,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - drv
    - scan_cookie
    argTypes:
    - struct wpa_driver_nl80211_data*
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 142
    functionName: nl80211_abort_vendor_scan
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_scan.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - strerror
    - nl80211_drv_msg
    - send_and_recv_cmd
    - nla_put_u64
    - nlmsg_free
    - nla_nest_end
    - nla_nest_start
    - nla_put_u32
    linkageType: ''
    returnType: int
    signature: "int nl80211_abort_vendor_scan(struct wpa_driver_nl80211_data *drv,\n\t\t\t\t
      \    u64 scan_cookie)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:159,1
    - Dst: nl80211_abort_vendor_scan
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:162,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:172,1
    - Dst: nl80211_abort_scan
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:177,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:182,1
    - Dst: nl80211_restore_ap_mode
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:185,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:187,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:188,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 189
    functionName: wpa_driver_nl80211_scan_timeout
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_scan.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - wpa_printf
    - nl80211_abort_scan
    - nl80211_abort_vendor_scan
    - nl80211_restore_ap_mode
    linkageType: ''
    returnType: void
    signature: void wpa_driver_nl80211_scan_timeout(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_cmd_msg
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:201,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:208,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:212,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:213,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:215,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:219,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:231,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:236,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:240,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:243,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:247,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:254,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:258,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:260,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:263,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:266,1
    - Dst: is_ap_interface
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:271,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:272,1
    - Dst: is_ap_interface
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:274,1
    - Dst: nl80211_get_link
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:275,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:276,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:283,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:288,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:294,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:299,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:300,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:301,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:307,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:308,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:309,1
    - Dst: nla_put_u16
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:318,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:323,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:329,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:331,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:333,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:335,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:347,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:352,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:358,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 108
    argCount: 3
    argNames:
    - bss
    - cmd
    - params
    argTypes:
    - struct i802_bss*
    - u8
    - struct wpa_driver_scan_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 360
    functionName: nl80211_scan_common
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_scan.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    - nl80211_cmd_msg
    - wpa_ssid_txt
    - nl80211_get_link
    - is_ap_interface
    - nla_put_u16
    - os_free
    - MAC2STR
    - nla_put_flag
    - nlmsg_free
    - nla_nest_end
    - nla_nest_start
    - nla_put_u32
    - nla_put
    linkageType: ''
    returnType: struct nl_msg
    signature: "struct nl_msg *\nnl80211_scan_common(struct i802_bss *bss, u8 cmd,\n\t\t
      \   struct wpa_driver_scan_params *params)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:376,1
    - Dst: TEST_FAIL
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:379,1
    - Dst: nl80211_scan_common
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:382,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:389,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:391,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:401,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:404,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:406,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:411,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:412,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:413,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:421,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:425,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:428,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:429,1
    - Dst: is_ap_interface
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:431,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:437,1
    - Dst: wpa_driver_nl80211_set_mode
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:445,1
    - Dst: wpa_driver_nl80211_scan
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:447,1
    - Dst: nl80211_restore_ap_mode
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:448,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:471,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:473,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:474,1
    - Dst: is_ap_interface
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:479,1
    - Dst: nl80211_link_valid
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:480,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:481,1
    - Dst: nl80211_get_link
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:484,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:488,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 71
    argCount: 2
    argNames:
    - bss
    - params
    argTypes:
    - struct i802_bss*
    - struct wpa_driver_scan_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 369
    functionDepth: 2
    functionLinenumber: 369
    functionLinenumberEnd: 490
    functionName: wpa_driver_nl80211_scan
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_scan.c
    functionUses: 1
    functionsReached:
    - TEST_FAIL
    - nla_nest_start
    - nla_put
    - wpa_driver_nl80211_scan
    - wpa_printf
    - nl80211_get_link
    - nlmsg_free
    - nl80211_link_valid
    - wpa_driver_nl80211_set_mode
    - nl80211_scan_common
    - send_and_recv_cmd
    - is_ap_interface
    - wpa_dbg
    - strerror
    - eloop_cancel_timeout
    - MAC2STR
    - eloop_register_timeout
    - nla_nest_end
    - nla_put_flag
    - nl80211_restore_ap_mode
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_nl80211_scan(struct i802_bss *bss,\n\t\t\t    struct
      wpa_driver_scan_params *params)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:502,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:507,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:515,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:521,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:527,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:534,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:538,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:551,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:556,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 3
    argNames:
    - drv
    - msg
    - params
    argTypes:
    - struct wpa_driver_nl80211_data*
    - struct nl_msg*
    - struct wpa_driver_scan_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 493
    functionDepth: 1
    functionLinenumber: 493
    functionLinenumberEnd: 558
    functionName: nl80211_sched_scan_add_scan_plans
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_scan.c
    functionUses: 0
    functionsReached:
    - nla_nest_end
    - nla_nest_start
    - nla_put_u32
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int nl80211_sched_scan_add_scan_plans(struct wpa_driver_nl80211_data
      *drv,\n\t\t\t\t  struct nl_msg *msg,\n\t\t\t\t  struct wpa_driver_scan_params
      *params)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:576,1
    - Dst: android_pno_start
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:580,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:585,1
    - Dst: nl80211_scan_common
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:591,1
    - Dst: nl80211_sched_scan_add_scan_plans
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:596,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:599,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:608,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:614,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:616,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:619,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:621,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:625,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:630,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:641,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:643,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:646,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:649,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:652,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:658,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:659,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:661,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:682,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:689,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:693,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:699,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:700,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:704,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:707,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 83
    argCount: 2
    argNames:
    - priv
    - params
    argTypes:
    - void*
    - struct wpa_driver_scan_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 567
    functionDepth: 2
    functionLinenumber: 567
    functionLinenumberEnd: 709
    functionName: wpa_driver_nl80211_sched_scan
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_scan.c
    functionUses: 0
    functionsReached:
    - android_pno_start
    - wpa_printf
    - strerror
    - nla_put
    - wpa_ssid_txt
    - send_and_recv_cmd
    - nl80211_sched_scan_add_scan_plans
    - nlmsg_free
    - wpa_dbg
    - nla_nest_end
    - nla_nest_start
    - nla_put_u32
    - nl80211_scan_common
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_nl80211_sched_scan(void *priv,\n\t\t\t\t  struct wpa_driver_scan_params
      *params)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: android_pno_stop
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:726,1
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:729,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:730,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:732,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:734,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:736,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 717
    functionDepth: 1
    functionLinenumber: 717
    functionLinenumberEnd: 741
    functionName: wpa_driver_nl80211_stop_sched_scan
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_scan.c
    functionUses: 0
    functionsReached:
    - nl80211_bss_msg
    - wpa_printf
    - strerror
    - send_and_recv_cmd
    - android_pno_stop
    linkageType: ''
    returnType: int
    signature: int wpa_driver_nl80211_stop_sched_scan(void *priv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_ie
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:753,1
    - Dst: os_memcmp
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:759,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - drv
    - ie
    - ie_len
    argTypes:
    - struct wpa_driver_nl80211_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 744
    functionDepth: 1
    functionLinenumber: 744
    functionLinenumberEnd: 765
    functionName: nl80211_scan_filtered
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_scan.c
    functionUses: 0
    functionsReached:
    - get_ie
    - os_memcmp
    linkageType: ''
    returnType: int
    signature: "int nl80211_scan_filtered(struct wpa_driver_nl80211_data *drv,\n\t\t\t\t
      const u8 *ie, size_t ie_len)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: nlmsg_data
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:773,1
    - Dst: nlmsg_hdr
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:773,1
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:797,1
    - Dst: genlmsg_attrdata
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:797,1
    - Dst: genlmsg_attrlen
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:798,1
    - Dst: nla_parse_nested
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:801,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:805,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:805,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:808,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:809,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:815,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:816,1
    - Dst: nl80211_scan_filtered
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:822,1
    - Dst: os_zalloc
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:826,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:830,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:830,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:833,1
    - Dst: nla_get_u16
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:835,1
    - Dst: nla_get_u16
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:837,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:840,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:844,1
    - Dst: nla_get_u64
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:849,1
    - Dst: nla_get_u64
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:851,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:858,1
    - Dst: clock_gettime
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:866,1
    - Dst: nla_get_u64
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:870,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:879,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:884,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:888,1
    - Dst: nla_get_u64
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:899,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:900,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:900,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 86
    argCount: 3
    argNames:
    - drv
    - msg
    - bssid
    argTypes:
    - struct wpa_driver_nl80211_data*
    - struct nl_msg*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 768
    functionDepth: 2
    functionLinenumber: 768
    functionLinenumberEnd: 905
    functionName: nl80211_parse_bss_info
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_scan.c
    functionUses: 0
    functionsReached:
    - nlmsg_hdr
    - nla_len
    - os_memcpy
    - nla_get_u32
    - nla_parse_nested
    - nla_parse
    - ether_addr_equal
    - nlmsg_data
    - nla_data
    - nla_get_u64
    - genlmsg_attrlen
    - os_zalloc
    - nl80211_scan_filtered
    - genlmsg_attrdata
    - clock_gettime
    - nla_get_u16
    - nla_get_u8
    linkageType: ''
    returnType: struct wpa_scan_res
    signature: "struct wpa_scan_res *\nnl80211_parse_bss_info(struct wpa_driver_nl80211_data
      *drv,\n\t\t       struct nl_msg *msg, const u8 *bssid)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_parse_bss_info
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:921,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:926,1
    - Dst: os_realloc_array
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:929,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:932,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - msg
    - arg
    argTypes:
    - struct nl_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 914
    functionDepth: 3
    functionLinenumber: 914
    functionLinenumberEnd: 939
    functionName: bss_info_handler
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_scan.c
    functionUses: 0
    functionsReached:
    - os_free
    - nl80211_parse_bss_info
    - os_realloc_array
    linkageType: ''
    returnType: int
    signature: int bss_info_handler(struct nl_msg *msg, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:946,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:947,1
    - Dst: wpa_driver_nl80211_mlme
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:948,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - drv
    - addr
    argTypes:
    - struct wpa_driver_nl80211_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 953
      start: 942
    functionDepth: 1
    functionLinenumber: 942
    functionLinenumberEnd: 953
    functionName: clear_state_mismatch
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_scan.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    - wpa_driver_nl80211_mlme
    linkageType: ''
    returnType: void
    signature: "void clear_state_mismatch(struct wpa_driver_nl80211_data *drv,\n\t\t\t\t
      const u8 *addr)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:962,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:963,1
    - Dst: is_sta_interface
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:964,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:965,1
    - Dst: clear_state_mismatch
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:967,1
    - Dst: is_sta_interface
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:968,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:969,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:970,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:973,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:975,1
    - Dst: clear_state_mismatch
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:977,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:979,1
    - Dst: clear_state_mismatch
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:980,1
    - Dst: clear_state_mismatch
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:983,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:986,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - drv
    - r
    argTypes:
    - struct wpa_driver_nl80211_data*
    - struct wpa_scan_res*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 956
    functionDepth: 2
    functionLinenumber: 956
    functionLinenumberEnd: 990
    functionName: nl80211_check_bss_status
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_scan.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - is_sta_interface
    - ether_addr_equal
    - is_zero_ether_addr
    - clear_state_mismatch
    - MAC2STR
    linkageType: ''
    returnType: void
    signature: "void nl80211_check_bss_status(struct wpa_driver_nl80211_data *drv,\n\t\t\t\t
      \    struct wpa_scan_res *r)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_check_bss_status
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:999,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - drv
    - res
    argTypes:
    - struct wpa_driver_nl80211_data*
    - struct wpa_scan_results*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 993
    functionDepth: 3
    functionLinenumber: 993
    functionLinenumberEnd: 1000
    functionName: wpa_driver_nl80211_check_bss_status
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_scan.c
    functionUses: 0
    functionsReached:
    - nl80211_check_bss_status
    linkageType: ''
    returnType: void
    signature: "void wpa_driver_nl80211_check_bss_status(\n\tstruct wpa_driver_nl80211_data
      *drv, struct wpa_scan_results *res)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - res
    - info
    argTypes:
    - struct wpa_scan_res*
    - struct nl80211_noise_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 1003
    functionDepth: 0
    functionLinenumber: 1003
    functionLinenumberEnd: 1015
    functionName: nl80211_update_scan_res_noise
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_scan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void nl80211_update_scan_res_noise(struct wpa_scan_res *res,\n\t\t\t\t\t
      \ struct nl80211_noise_info *info)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1029,1
    - Dst: nl80211_cmd_msg
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1032,1
    - Dst: wpa_scan_results_free
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1034,1
    - Dst: send_and_recv_resp
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1041,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1045,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1048,1
    - Dst: wpa_scan_results_free
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1050,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1057,1
    - Dst: nl80211_get_noise_for_scan_results
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1059,1
    - Dst: nl80211_update_scan_res_noise
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1063,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1068,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1069,1
    - Dst: wpa_scan_results_free
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1070,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 2
    argNames:
    - bss
    - bssid
    argTypes:
    - struct i802_bss*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1018
    functionDepth: 2
    functionLinenumber: 1018
    functionLinenumberEnd: 1072
    functionName: nl80211_get_scan_results
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_scan.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - strerror
    - nl80211_get_noise_for_scan_results
    - send_and_recv_resp
    - wpa_scan_results_free
    - os_zalloc
    - nl80211_update_scan_res_noise
    - nl80211_cmd_msg
    linkageType: ''
    returnType: struct wpa_scan_results
    signature: 'struct wpa_scan_results *

      nl80211_get_scan_results(struct i802_bss *bss, const u8 *bssid)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_get_scan_results
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1088,1
    - Dst: wpa_driver_nl80211_check_bss_status
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1090,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - priv
    - bssid
    argTypes:
    - void*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 1081
    functionDepth: 4
    functionLinenumber: 1081
    functionLinenumberEnd: 1092
    functionName: wpa_driver_nl80211_get_scan_results
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_scan.c
    functionUses: 0
    functionsReached:
    - wpa_driver_nl80211_check_bss_status
    - nl80211_get_scan_results
    linkageType: ''
    returnType: struct wpa_scan_results
    signature: "struct wpa_scan_results * wpa_driver_nl80211_get_scan_results(void
      *priv,\n\t\t\t\t\t\t\t      const u8 *bssid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_parse_bss_info
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1105,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1108,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1109,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - msg
    - arg
    argTypes:
    - struct nl_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 1100
    functionDepth: 3
    functionLinenumber: 1100
    functionLinenumberEnd: 1114
    functionName: nl80211_dump_scan_handler
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_scan.c
    functionUses: 0
    functionsReached:
    - os_free
    - MAC2STR
    - wpa_printf
    - nl80211_parse_bss_info
    linkageType: ''
    returnType: int
    signature: int nl80211_dump_scan_handler(struct nl_msg *msg, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1122,1
    - Dst: nl80211_cmd_msg
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1125,1
    - Dst: send_and_recv_resp
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - drv
    argTypes:
    - struct wpa_driver_nl80211_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1128
      start: 1117
    functionDepth: 1
    functionLinenumber: 1117
    functionLinenumberEnd: 1128
    functionName: nl80211_dump_scan
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_scan.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - nl80211_cmd_msg
    - send_and_recv_resp
    linkageType: ''
    returnType: void
    signature: void nl80211_dump_scan(struct wpa_driver_nl80211_data *drv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_abort_vendor_scan
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1143,1
    - Dst: nl80211_abort_scan
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - priv
    - scan_cookie
    argTypes:
    - void*
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1146
      start: 1131
    functionDepth: 2
    functionLinenumber: 1131
    functionLinenumberEnd: 1146
    functionName: wpa_driver_nl80211_abort_scan
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_scan.c
    functionUses: 0
    functionsReached:
    - nl80211_abort_vendor_scan
    - nl80211_abort_scan
    linkageType: ''
    returnType: int
    signature: int wpa_driver_nl80211_abort_scan(void *priv, u64 scan_cookie)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nlmsg_data
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1154,1
    - Dst: nlmsg_hdr
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1154,1
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1157,1
    - Dst: genlmsg_attrdata
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1157,1
    - Dst: genlmsg_attrlen
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1158,1
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1164,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1165,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1165,1
    - Dst: nla_get_u64
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - msg
    - arg
    argTypes:
    - struct nl_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1173
      start: 1151
    functionDepth: 0
    functionLinenumber: 1151
    functionLinenumberEnd: 1173
    functionName: scan_cookie_handler
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_scan.c
    functionUses: 0
    functionsReached:
    - nlmsg_hdr
    - nla_len
    - nla_parse
    - nlmsg_data
    - nla_data
    - nla_get_u64
    - genlmsg_attrlen
    - genlmsg_attrdata
    linkageType: ''
    returnType: int
    signature: int scan_cookie_handler(struct nl_msg *msg, void *arg)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1193,1
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1196,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1197,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1198,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1202,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1209,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1213,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1214,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1216,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1220,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1224,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1226,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1234,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1239,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1242,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1245,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1248,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1254,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1260,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1265,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1266,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1267,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1273,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1274,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1275,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1282,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1288,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1290,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1301,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1304,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1306,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1311,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1312,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1313,1
    - Dst: is_ap_interface
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1318,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1320,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1323,1
    - Dst: send_and_recv_resp
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1325,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1328,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1330,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1339,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1342,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1343,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1348,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 111
    argCount: 2
    argNames:
    - bss
    - params
    argTypes:
    - struct i802_bss*
    - struct wpa_driver_scan_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1350
      start: 1182
    functionDepth: 1
    functionLinenumber: 1182
    functionLinenumberEnd: 1350
    functionName: wpa_driver_nl80211_vendor_scan
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_scan.c
    functionUses: 0
    functionsReached:
    - wpa_hexdump
    - send_and_recv_resp
    - nla_put_u8
    - nla_nest_start
    - nla_put_u32
    - nla_put
    - wpa_printf
    - wpa_ssid_txt
    - nlmsg_free
    - os_free
    - is_ap_interface
    - wpa_dbg
    - nl80211_bss_msg
    - strerror
    - eloop_cancel_timeout
    - MAC2STR
    - eloop_register_timeout
    - nla_nest_end
    - nla_put_flag
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_nl80211_vendor_scan(struct i802_bss *bss,\n\t\t\t\t
      \  struct wpa_driver_scan_params *params)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1371,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1372,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1373,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1377,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1381,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1382,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1386,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1388,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1391,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1393,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211_scan.c:1398,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 3
    argNames:
    - priv
    - ies
    - ies_len
    argTypes:
    - void*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1400
      start: 1360
    functionDepth: 1
    functionLinenumber: 1360
    functionLinenumberEnd: 1400
    functionName: nl80211_set_default_scan_ies
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_scan.c
    functionUses: 0
    functionsReached:
    - nl80211_bss_msg
    - wpa_printf
    - wpa_hexdump
    - strerror
    - send_and_recv_cmd
    - nlmsg_free
    - nla_nest_end
    - nla_nest_start
    - nla_put_u32
    - nla_put
    linkageType: ''
    returnType: int
    signature: int nl80211_set_default_scan_ies(void *priv, const u8 *ies, size_t
      ies_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/hostap/src/drivers/driver_nl80211_monitor.c:41,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_monitor.c:43,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211_monitor.c:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 49
    functionName: add_monitor_filter
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_monitor.c
    functionUses: 0
    functionsReached:
    - setsockopt
    - wpa_printf
    - strerror
    linkageType: ''
    returnType: int
    signature: int add_monitor_filter(int s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_monitor.c:56,1
    - Dst: nl80211_remove_iface
      Src: /src/hostap/src/drivers/driver_nl80211_monitor.c:59,1
    - Dst: close
      Src: /src/hostap/src/drivers/driver_nl80211_monitor.c:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - drv
    - ifidx
    - sock
    argTypes:
    - struct wpa_driver_nl80211_data*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 62
    functionName: nl80211_remove_monitor_interface
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_monitor.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - close
    - nl80211_remove_iface
    linkageType: ''
    returnType: void
    signature: "void nl80211_remove_monitor_interface(struct wpa_driver_nl80211_data
      *drv,\n\t\t\t\t int ifidx, int sock)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: os_strncmp
      Src: /src/hostap/src/drivers/driver_nl80211_monitor.c:76,1
    - Dst: snprintf
      Src: /src/hostap/src/drivers/driver_nl80211_monitor.c:83,1
    - Dst: os_snprintf
      Src: /src/hostap/src/drivers/driver_nl80211_monitor.c:88,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_monitor.c:91,1
    - Dst: nl80211_create_iface
      Src: /src/hostap/src/drivers/driver_nl80211_monitor.c:100,1
    - Dst: linux_set_iface_flags
      Src: /src/hostap/src/drivers/driver_nl80211_monitor.c:106,1
    - Dst: memset
      Src: /src/hostap/src/drivers/driver_nl80211_monitor.c:109,1
    - Dst: socket
      Src: /src/hostap/src/drivers/driver_nl80211_monitor.c:112,1
    - Dst: htons
      Src: /src/hostap/src/drivers/driver_nl80211_monitor.c:112,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_monitor.c:114,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211_monitor.c:115,1
    - Dst: add_monitor_filter
      Src: /src/hostap/src/drivers/driver_nl80211_monitor.c:119,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_monitor.c:120,1
    - Dst: bind
      Src: /src/hostap/src/drivers/driver_nl80211_monitor.c:125,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_monitor.c:126,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211_monitor.c:127,1
    - Dst: setsockopt
      Src: /src/hostap/src/drivers/driver_nl80211_monitor.c:133,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_monitor.c:134,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211_monitor.c:135,1
    - Dst: nl80211_remove_monitor_interface
      Src: /src/hostap/src/drivers/driver_nl80211_monitor.c:141,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 3
    argNames:
    - drv
    - ifidx
    - sock
    argTypes:
    - struct wpa_driver_nl80211_data*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 143
    functionName: nl80211_create_monitor_interface
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_monitor.c
    functionUses: 0
    functionsReached:
    - snprintf
    - wpa_printf
    - linux_set_iface_flags
    - strerror
    - socket
    - setsockopt
    - os_strncmp
    - os_snprintf
    - nl80211_create_iface
    - nl80211_remove_monitor_interface
    - memset
    - add_monitor_filter
    - bind
    - htons
    linkageType: ''
    returnType: int
    signature: "int nl80211_create_monitor_interface(struct wpa_driver_nl80211_data
      *drv,\n\t\t\t\t\t    int *ifidx, int *sock)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/drivers/driver_nl80211_monitor.c:186,1
    - Dst: sendmsg
      Src: /src/hostap/src/drivers/driver_nl80211_monitor.c:188,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_monitor.c:190,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211_monitor.c:190,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - monitor_sock
    - data
    - len
    - encrypt
    - noack
    argTypes:
    - int
    - void*
    - size_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 194
    functionName: _nl80211_send_monitor
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_monitor.c
    functionUses: 0
    functionsReached:
    - sendmsg
    - wpa_printf
    - strerror
    - WPA_PUT_LE16
    linkageType: ''
    returnType: int
    signature: "int _nl80211_send_monitor(int monitor_sock,\n\t\t\t\t const void *data,
      size_t len,\n\t\t\t\t int encrypt, int noack)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_create_monitor_interface
      Src: /src/hostap/src/drivers/driver_nl80211_monitor.c:203,1
    - Dst: _nl80211_send_monitor
      Src: /src/hostap/src/drivers/driver_nl80211_monitor.c:207,1
    - Dst: nl80211_remove_monitor_interface
      Src: /src/hostap/src/drivers/driver_nl80211_monitor.c:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - drv
    - data
    - len
    - encrypt
    - noack
    argTypes:
    - struct wpa_driver_nl80211_data*
    - void*
    - size_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 197
    functionDepth: 3
    functionLinenumber: 197
    functionLinenumberEnd: 210
    functionName: nl80211_send_monitor
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_monitor.c
    functionUses: 1
    functionsReached:
    - nl80211_remove_monitor_interface
    - nl80211_create_monitor_interface
    - _nl80211_send_monitor
    linkageType: ''
    returnType: int
    signature: "int nl80211_send_monitor(struct wpa_driver_nl80211_data *drv,\n\t\t\t
      const void *data, size_t len,\n\t\t\t int encrypt, int noack)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: nl_socket_set_nonblocking
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: nl_socket_set_nonblocking(h)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nl_socket_alloc_cb
      Src: /src/hostap/src/drivers/driver_nl80211.c:86,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:88,1
    - Dst: genl_connect
      Src: /src/hostap/src/drivers/driver_nl80211.c:93,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:94,1
    - Dst: nl_socket_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - cb
    - dbg
    argTypes:
    - struct nl_cb*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 101
    functionName: nl_create_handle
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - genl_connect
    - wpa_printf
    - nl_socket_free
    - nl_socket_alloc_cb
    linkageType: ''
    returnType: struct nl_sock
    signature: struct nl_sock * nl_create_handle(struct nl_cb *cb, const char *dbg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nl_socket_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - handle
    argTypes:
    - struct nl_sock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 110
    functionName: nl_destroy_handles
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl_socket_free
    linkageType: ''
    returnType: void
    signature: void nl_destroy_handles(struct nl_sock **handle)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nl_socket_set_buffer_size
      Src: /src/hostap/src/drivers/driver_nl80211.c:132,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:134,1
    - Dst: nl_geterror
      Src: /src/hostap/src/drivers/driver_nl80211.c:136,1
    - Dst: nl_socket_set_nonblocking
      Src: /src/hostap/src/drivers/driver_nl80211.c:140,1
    - Dst: eloop_register_read_sock
      Src: /src/hostap/src/drivers/driver_nl80211.c:141,1
    - Dst: nl_socket_get_fd
      Src: /src/hostap/src/drivers/driver_nl80211.c:141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - handle
    - handler
    - eloop_data
    - persist
    argTypes:
    - struct nl_sock**
    - eloop_sock_handler
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 146
    functionName: nl80211_register_eloop_read
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - nl_socket_get_fd
    - eloop_register_read_sock
    - nl_socket_set_nonblocking
    - nl_socket_set_buffer_size
    - nl_geterror
    linkageType: ''
    returnType: void
    signature: "void nl80211_register_eloop_read(struct nl_sock **handle,\n\t\t\t\t\teloop_sock_handler
      handler,\n\t\t\t\t\tvoid *eloop_data, int persist)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eloop_unregister_read_sock
      Src: /src/hostap/src/drivers/driver_nl80211.c:154,1
    - Dst: nl_socket_get_fd
      Src: /src/hostap/src/drivers/driver_nl80211.c:154,1
    - Dst: nl_destroy_handles
      Src: /src/hostap/src/drivers/driver_nl80211.c:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - handle
    - persist
    argTypes:
    - struct nl_sock**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 156
    functionName: nl80211_destroy_eloop_handle
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - eloop_unregister_read_sock
    - nl_socket_get_fd
    - nl_destroy_handles
    linkageType: ''
    returnType: void
    signature: void nl80211_destroy_eloop_handle(struct nl_sock **handle, int persist)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - width
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 229
    functionName: convert2width
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum chan_width
    signature: enum chan_width convert2width(int width)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - nlmode
    argTypes:
    - enum nl80211_iftype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 236
    functionName: is_ap_interface
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_ap_interface(enum nl80211_iftype nlmode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - nlmode
    argTypes:
    - enum nl80211_iftype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 243
    functionName: is_sta_interface
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_sta_interface(enum nl80211_iftype nlmode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - nlmode
    argTypes:
    - enum nl80211_iftype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 250
    functionName: is_p2p_net_interface
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_p2p_net_interface(enum nl80211_iftype nlmode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - enum nl80211_iftype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 257
    functionName: nl80211_is_netdev_iftype
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool nl80211_is_netdev_iftype(enum nl80211_iftype t)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - drv
    - ifindex
    argTypes:
    - struct wpa_driver_nl80211_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 271
    functionName: get_bss_ifindex
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct i802_bss
    signature: "struct i802_bss * get_bss_ifindex(struct wpa_driver_nl80211_data *drv,\n\t\t\t\t
      \ int ifindex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nlmode
    argTypes:
    - enum nl80211_iftype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 277
    functionName: is_mesh_interface
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_mesh_interface(enum nl80211_iftype nlmode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:283,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211.c:285,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211.c:286,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:289,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:291,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:293,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211.c:299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - drv
    argTypes:
    - struct wpa_driver_nl80211_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 300
    functionName: nl80211_mark_disconnected
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - os_free
    - os_memcpy
    - os_memset
    linkageType: ''
    returnType: void
    signature: void nl80211_mark_disconnected(struct wpa_driver_nl80211_data *drv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - msg
    - arg
    argTypes:
    - struct nl_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 309
    functionName: ack_handler
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ack_handler(struct nl_msg *msg, void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nlmsg_data
      Src: /src/hostap/src/drivers/driver_nl80211.c:330,1
    - Dst: nlmsg_hdr
      Src: /src/hostap/src/drivers/driver_nl80211.c:330,1
    - Dst: nlmsg_hdr
      Src: /src/hostap/src/drivers/driver_nl80211.c:332,1
    - Dst: nlmsg_hdr
      Src: /src/hostap/src/drivers/driver_nl80211.c:335,1
    - Dst: nlmsg_hdr
      Src: /src/hostap/src/drivers/driver_nl80211.c:337,1
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211.c:340,1
    - Dst: nla_get_u64
      Src: /src/hostap/src/drivers/driver_nl80211.c:342,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - msg
    - arg
    argTypes:
    - struct nl_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 345
    functionName: ack_handler_cookie
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nlmsg_hdr
    - nla_parse
    - nlmsg_data
    - nla_get_u64
    linkageType: ''
    returnType: int
    signature: int ack_handler_cookie(struct nl_msg *msg, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - msg
    - arg
    argTypes:
    - struct nl_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 353
    functionName: finish_handler
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int finish_handler(struct nl_msg *msg, void *arg)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: nlmsg_hdr
      Src: /src/hostap/src/drivers/driver_nl80211.c:367,1
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211.c:392,1
    - Dst: strnlen
      Src: /src/hostap/src/drivers/driver_nl80211.c:394,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211.c:394,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211.c:395,1
    - Dst: wpa_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:397,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211.c:398,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:400,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211.c:401,1
    - Dst: os_memcmp
      Src: /src/hostap/src/drivers/driver_nl80211.c:406,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:409,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:415,1
    - Dst: nla_type
      Src: /src/hostap/src/drivers/driver_nl80211.c:417,1
    - Dst: nlmsg_find_attr
      Src: /src/hostap/src/drivers/driver_nl80211.c:424,1
    - Dst: nla_find
      Src: /src/hostap/src/drivers/driver_nl80211.c:437,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211.c:437,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211.c:437,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:440,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:441,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 3
    argNames:
    - nla
    - err
    - arg
    argTypes:
    - struct sockaddr_nl*
    - struct nlmsgerr*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 449
    functionName: error_handler
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 1
    functionsReached:
    - nlmsg_hdr
    - nla_len
    - wpa_printf
    - nla_get_u32
    - nla_type
    - strnlen
    - wpa_msg
    - nla_parse
    - nla_data
    - nla_find
    - nlmsg_find_attr
    - os_memcmp
    - nla_get_u8
    linkageType: ''
    returnType: int
    signature: "int error_handler(struct sockaddr_nl *nla, struct nlmsgerr *err,\n\t\t\t
      void *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nla_find
      Src: /src/hostap/src/drivers/driver_nl80211.c:437,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211.c:437,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211.c:437,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:440,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:441,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 446
    functionName: nla_for_each_nested
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nla_len
    - wpa_printf
    - nla_data
    - nla_find
    - nla_get_u8
    linkageType: ''
    returnType: void
    signature: void nla_for_each_nested(link_attr, mlo_links, rem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - arg
    argTypes:
    - struct nl_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 455
    functionName: no_seq_check
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int no_seq_check(struct nl_msg *msg, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nlmsg_hdr
      Src: /src/hostap/src/drivers/driver_nl80211.c:465,1
    - Dst: nlmsg_data
      Src: /src/hostap/src/drivers/driver_nl80211.c:466,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211.c:475,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - msg
    argTypes:
    - struct nl_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 477
    functionName: nl80211_nlmsg_clear
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nlmsg_hdr
    - nlmsg_data
    - os_memset
    linkageType: ''
    returnType: void
    signature: void nl80211_nlmsg_clear(struct nl_msg *msg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nlmsg_alloc
      Src: /src/hostap/src/drivers/driver_nl80211.c:488,1
    - Dst: nl80211_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:493,1
    - Dst: nl_send_auto_complete
      Src: /src/hostap/src/drivers/driver_nl80211.c:499,1
    - Dst: nlmsg_hdr
      Src: /src/hostap/src/drivers/driver_nl80211.c:503,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:507,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:509,1
    - Dst: nl_geterror
      Src: /src/hostap/src/drivers/driver_nl80211.c:510,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - drv
    argTypes:
    - struct wpa_driver_nl80211_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 512
    functionName: send_event_marker
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nlmsg_hdr
    - wpa_printf
    - nl80211_cmd
    - nl_send_auto_complete
    - nlmsg_alloc
    - nlmsg_free
    - nl_geterror
    linkageType: ''
    returnType: int
    signature: int send_event_marker(struct wpa_driver_nl80211_data *drv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_del
      Src: /src/hostap/src/drivers/driver_nl80211.c:526,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:527,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - event
    argTypes:
    - struct nl80211_pending_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 529
    functionName: nl80211_remove_pending_event
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - os_free
    - dl_list_del
    - nlmsg_free
    linkageType: ''
    returnType: void
    signature: void nl80211_remove_pending_event(struct nl80211_pending_event *event)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:537,1
    - Dst: dl_list_empty
      Src: /src/hostap/src/drivers/driver_nl80211.c:539,1
    - Dst: dl_list_init
      Src: /src/hostap/src/drivers/driver_nl80211.c:544,1
    - Dst: dl_list_init
      Src: /src/hostap/src/drivers/driver_nl80211.c:550,1
    - Dst: dl_list_empty
      Src: /src/hostap/src/drivers/driver_nl80211.c:552,1
    - Dst: dl_list_first
      Src: /src/hostap/src/drivers/driver_nl80211.c:554,1
    - Dst: struct nl80211_pending_event*::handler
      Src: /src/hostap/src/drivers/driver_nl80211.c:557,1
    - Dst: nl80211_remove_pending_event
      Src: /src/hostap/src/drivers/driver_nl80211.c:558,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - eloop_ctx
    - data
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 532
    functionDepth: 2
    functionLinenumber: 532
    functionLinenumberEnd: 562
    functionName: nl80211_deliver_pending_events
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - struct nl80211_pending_event*::handler
    - wpa_printf
    - dl_list_empty
    - dl_list_first
    - nl80211_remove_pending_event
    - dl_list_init
    linkageType: ''
    returnType: void
    signature: void nl80211_deliver_pending_events(void *eloop_ctx, void *data)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nlmsg_hdr
      Src: /src/hostap/src/drivers/driver_nl80211.c:574,1
    - Dst: dl_list_empty
      Src: /src/hostap/src/drivers/driver_nl80211.c:594,1
    - Dst: struct nl80211_global*::reply_handler
      Src: /src/hostap/src/drivers/driver_nl80211.c:607,1
    - Dst: dl_list_empty
      Src: /src/hostap/src/drivers/driver_nl80211.c:613,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/drivers/driver_nl80211.c:614,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:616,1
    - Dst: TEST_FAIL_TAG
      Src: /src/hostap/src/drivers/driver_nl80211.c:621,1
    - Dst: os_zalloc
      Src: /src/hostap/src/drivers/driver_nl80211.c:623,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:625,1
    - Dst: nlmsg_get
      Src: /src/hostap/src/drivers/driver_nl80211.c:633,1
    - Dst: dl_list_add_tail
      Src: /src/hostap/src/drivers/driver_nl80211.c:635,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 3
    argNames:
    - global
    - msg
    - delayed_data
    argTypes:
    - struct nl80211_global*
    - struct nl_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 570
    functionDepth: 1
    functionLinenumber: 570
    functionLinenumberEnd: 638
    functionName: nl80211_reply_hook
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nlmsg_get
    - nlmsg_hdr
    - wpa_printf
    - dl_list_empty
    - dl_list_add_tail
    - os_zalloc
    - eloop_register_timeout
    - TEST_FAIL_TAG
    - struct nl80211_global*::reply_handler
    linkageType: ''
    returnType: int
    signature: "int nl80211_reply_hook(struct nl80211_global *global, struct nl_msg
      *msg,\n\t\t       int (*delayed_handler)(struct nl_msg *, void *),\n\t\t       void
      *delayed_data)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: nl_socket_get_cb
      Src: /src/hostap/src/drivers/driver_nl80211.c:658,1
    - Dst: nl_cb_clone
      Src: /src/hostap/src/drivers/driver_nl80211.c:659,1
    - Dst: nl_cb_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:660,1
    - Dst: setsockopt
      Src: /src/hostap/src/drivers/driver_nl80211.c:666,1
    - Dst: nl_socket_get_fd
      Src: /src/hostap/src/drivers/driver_nl80211.c:666,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:668,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:670,1
    - Dst: setsockopt
      Src: /src/hostap/src/drivers/driver_nl80211.c:674,1
    - Dst: nl_socket_get_fd
      Src: /src/hostap/src/drivers/driver_nl80211.c:674,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:676,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:678,1
    - Dst: TEST_FAIL_TAG
      Src: /src/hostap/src/drivers/driver_nl80211.c:680,1
    - Dst: os_sleep
      Src: /src/hostap/src/drivers/driver_nl80211.c:681,1
    - Dst: nl_send_auto_complete
      Src: /src/hostap/src/drivers/driver_nl80211.c:683,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:685,1
    - Dst: nl_geterror
      Src: /src/hostap/src/drivers/driver_nl80211.c:687,1
    - Dst: nl_cb_err
      Src: /src/hostap/src/drivers/driver_nl80211.c:700,1
    - Dst: nl_cb_set
      Src: /src/hostap/src/drivers/driver_nl80211.c:701,1
    - Dst: nl_cb_set
      Src: /src/hostap/src/drivers/driver_nl80211.c:706,1
    - Dst: nl_cb_set
      Src: /src/hostap/src/drivers/driver_nl80211.c:709,1
    - Dst: nlmsg_hdr
      Src: /src/hostap/src/drivers/driver_nl80211.c:713,1
    - Dst: nl_recvmsgs
      Src: /src/hostap/src/drivers/driver_nl80211.c:718,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:730,1
    - Dst: nl_geterror
      Src: /src/hostap/src/drivers/driver_nl80211.c:731,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:734,1
    - Dst: nl_geterror
      Src: /src/hostap/src/drivers/driver_nl80211.c:736,1
    - Dst: nl_cb_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:746,1
    - Dst: nl80211_nlmsg_clear
      Src: /src/hostap/src/drivers/driver_nl80211.c:748,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:749,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 60
    argCount: 7
    argNames:
    - global
    - drv
    - nl_handle
    - msg
    - valid_data
    - ack_data
    - err_info
    argTypes:
    - struct nl80211_global*
    - struct wpa_driver_nl80211_data*
    - struct nl_sock*
    - struct nl_msg*
    - void*
    - void*
    - struct nl80211_err_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 640
    functionDepth: 1
    functionLinenumber: 640
    functionLinenumberEnd: 751
    functionName: send_and_recv_glb
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nlmsg_hdr
    - nl_socket_get_fd
    - nl_socket_get_cb
    - wpa_printf
    - nl_cb_set
    - strerror
    - nl_recvmsgs
    - nl_cb_put
    - os_sleep
    - setsockopt
    - nl80211_nlmsg_clear
    - nl_send_auto_complete
    - nl_cb_err
    - nlmsg_free
    - TEST_FAIL_TAG
    - nl_cb_clone
    - nl_geterror
    linkageType: ''
    returnType: int
    signature: "int send_and_recv_glb(struct nl80211_global *global,\n\t\t      struct
      wpa_driver_nl80211_data *drv, /* may be NULL */\n\t\t      struct nl_sock *nl_handle,
      struct nl_msg *msg,\n\t\t      int (*valid_handler)(struct nl_msg *, void *),\n\t\t
      \     void *valid_data,\n\t\t      int (*ack_handler_custom)(struct nl_msg *,
      void *),\n\t\t      void *ack_data,\n\t\t      struct nl80211_err_info *err_info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:757,1
    - Dst: nla_put_u16
      Src: /src/hostap/src/drivers/driver_nl80211.c:758,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:760,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:761,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - drv
    - msg
    argTypes:
    - struct wpa_driver_nl80211_data*
    - struct nl_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 764
    functionName: nl80211_put_control_port
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nla_put_flag
    - nla_put_u16
    linkageType: ''
    returnType: int
    signature: "int nl80211_put_control_port(struct wpa_driver_nl80211_data *drv,\n\t\t\t\t
      \   struct nl_msg *msg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nlmsg_data
      Src: /src/hostap/src/drivers/driver_nl80211.c:777,1
    - Dst: nlmsg_hdr
      Src: /src/hostap/src/drivers/driver_nl80211.c:777,1
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211.c:781,1
    - Dst: genlmsg_attrdata
      Src: /src/hostap/src/drivers/driver_nl80211.c:781,1
    - Dst: genlmsg_attrlen
      Src: /src/hostap/src/drivers/driver_nl80211.c:782,1
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211.c:788,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211.c:788,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211.c:789,1
    - Dst: os_strncmp
      Src: /src/hostap/src/drivers/driver_nl80211.c:792,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211.c:792,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211.c:794,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:796,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - msg
    - arg
    argTypes:
    - struct nl_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 801
    functionName: family_handler
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nlmsg_hdr
    - nla_len
    - nla_get_u32
    - nla_parse
    - nlmsg_data
    - nla_data
    - os_strncmp
    - genlmsg_attrlen
    - genlmsg_attrdata
    linkageType: ''
    returnType: int
    signature: int family_handler(struct nl_msg *msg, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211.c:788,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211.c:788,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211.c:789,1
    - Dst: os_strncmp
      Src: /src/hostap/src/drivers/driver_nl80211.c:792,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211.c:792,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211.c:794,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:796,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 786
    functionDepth: 0
    functionLinenumber: 786
    functionLinenumberEnd: 798
    functionName: nla_for_each_nested
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nla_len
    - nla_get_u32
    - nla_parse
    - nla_data
    - os_strncmp
    linkageType: ''
    returnType: void
    signature: void nla_for_each_nested(mcgrp, tb[CTRL_ATTR_MCAST_GROUPS], i)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nlmsg_alloc
      Src: /src/hostap/src/drivers/driver_nl80211.c:811,1
    - Dst: genlmsg_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:814,1
    - Dst: nla_put_string
      Src: /src/hostap/src/drivers/driver_nl80211.c:816,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:817,1
    - Dst: send_and_recv_glb
      Src: /src/hostap/src/drivers/driver_nl80211.c:821,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - global
    - family
    - group
    argTypes:
    - struct nl80211_global*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 804
    functionDepth: 2
    functionLinenumber: 804
    functionLinenumberEnd: 826
    functionName: nl_get_multicast_id
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - genlmsg_put
    - nlmsg_alloc
    - nla_put_string
    - nlmsg_free
    - send_and_recv_glb
    linkageType: ''
    returnType: int
    signature: "int nl_get_multicast_id(struct nl80211_global *global,\n\t\t\t       const
      char *family, const char *group)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/drivers/driver_nl80211.c:832,1
    - Dst: genlmsg_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:834,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - drv
    - msg
    - flags
    - cmd
    argTypes:
    - struct wpa_driver_nl80211_data*
    - struct nl_msg*
    - int
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 829
    functionDepth: 1
    functionLinenumber: 829
    functionLinenumberEnd: 836
    functionName: nl80211_cmd
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 1
    functionsReached:
    - genlmsg_put
    - TEST_FAIL
    linkageType: ''
    returnType: void
    signature: "void * nl80211_cmd(struct wpa_driver_nl80211_data *drv,\n\t\t   struct
      nl_msg *msg, int flags, uint8_t cmd)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nla_put_u64
      Src: /src/hostap/src/drivers/driver_nl80211.c:842,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:843,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - msg
    - bss
    argTypes:
    - struct nl_msg*
    - struct i802_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 839
    functionDepth: 0
    functionLinenumber: 839
    functionLinenumberEnd: 844
    functionName: nl80211_set_iface_id
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nla_put_u64
    - nla_put_u32
    linkageType: ''
    returnType: int
    signature: int nl80211_set_iface_id(struct nl_msg *msg, struct i802_bss *bss)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nlmsg_alloc
      Src: /src/hostap/src/drivers/driver_nl80211.c:851,1
    - Dst: nl80211_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:855,1
    - Dst: nl80211_set_iface_id
      Src: /src/hostap/src/drivers/driver_nl80211.c:856,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:857,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - bss
    - flags
    - cmd
    argTypes:
    - struct i802_bss*
    - int
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 847
    functionDepth: 2
    functionLinenumber: 847
    functionLinenumberEnd: 862
    functionName: nl80211_cmd_msg
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 4
    functionsReached:
    - nl80211_set_iface_id
    - nlmsg_alloc
    - nlmsg_free
    - nl80211_cmd
    linkageType: ''
    returnType: struct nl_msg
    signature: struct nl_msg * nl80211_cmd_msg(struct i802_bss *bss, int flags, uint8_t
      cmd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:873,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:874,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:875,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - drv
    - msg
    - ifindex
    - flags
    - cmd
    argTypes:
    - struct wpa_driver_nl80211_data*
    - struct nl_msg*
    - int
    - int
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 865
    functionDepth: 2
    functionLinenumber: 865
    functionLinenumberEnd: 880
    functionName: nl80211_ifindex_msg_build
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nla_put_u32
    - nlmsg_free
    - nl80211_cmd
    linkageType: ''
    returnType: struct nl_msg
    signature: "struct nl_msg *\nnl80211_ifindex_msg_build(struct wpa_driver_nl80211_data
      *drv,\n\t\t\t  struct nl_msg *msg, int ifindex, int flags,\n\t\t\t  uint8_t
      cmd)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_ifindex_msg_build
      Src: /src/hostap/src/drivers/driver_nl80211.c:887,1
    - Dst: nlmsg_alloc
      Src: /src/hostap/src/drivers/driver_nl80211.c:887,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - drv
    - ifindex
    - flags
    - cmd
    argTypes:
    - struct wpa_driver_nl80211_data*
    - int
    - int
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 883
    functionDepth: 3
    functionLinenumber: 883
    functionLinenumberEnd: 889
    functionName: nl80211_ifindex_msg
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nlmsg_alloc
    - nl80211_ifindex_msg_build
    linkageType: ''
    returnType: struct nl_msg
    signature: "struct nl_msg *\nnl80211_ifindex_msg(struct wpa_driver_nl80211_data
      *drv, int ifindex,\n\t\t    int flags, uint8_t cmd)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_ifindex_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:895,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - drv
    - flags
    - cmd
    argTypes:
    - struct wpa_driver_nl80211_data*
    - int
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 892
    functionDepth: 4
    functionLinenumber: 892
    functionLinenumberEnd: 896
    functionName: nl80211_drv_msg
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 1
    functionsReached:
    - nl80211_ifindex_msg
    linkageType: ''
    returnType: struct nl_msg
    signature: "struct nl_msg * nl80211_drv_msg(struct wpa_driver_nl80211_data *drv,
      int flags,\n\t\t\t\tuint8_t cmd)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_ifindex_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:901,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bss
    - flags
    - cmd
    argTypes:
    - struct i802_bss*
    - int
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 899
    functionDepth: 4
    functionLinenumber: 899
    functionLinenumberEnd: 902
    functionName: nl80211_bss_msg
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 4
    functionsReached:
    - nl80211_ifindex_msg
    linkageType: ''
    returnType: struct nl_msg
    signature: struct nl_msg * nl80211_bss_msg(struct i802_bss *bss, int flags, uint8_t
      cmd)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nlmsg_data
      Src: /src/hostap/src/drivers/driver_nl80211.c:918,1
    - Dst: nlmsg_hdr
      Src: /src/hostap/src/drivers/driver_nl80211.c:918,1
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211.c:921,1
    - Dst: genlmsg_attrdata
      Src: /src/hostap/src/drivers/driver_nl80211.c:921,1
    - Dst: genlmsg_attrlen
      Src: /src/hostap/src/drivers/driver_nl80211.c:922,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:925,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:928,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:931,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211.c:931,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:935,1
    - Dst: nla_get_u64
      Src: /src/hostap/src/drivers/driver_nl80211.c:938,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - msg
    - arg
    argTypes:
    - struct nl_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 943
    functionName: netdev_info_handler
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nlmsg_hdr
    - nla_get_u32
    - os_memcpy
    - nla_parse
    - nlmsg_data
    - nla_data
    - nla_get_u64
    - genlmsg_attrlen
    - genlmsg_attrdata
    - nla_get_u8
    linkageType: ''
    returnType: int
    signature: int netdev_info_handler(struct nl_msg *msg, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_cmd_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:954,1
    - Dst: send_and_recv_resp
      Src: /src/hostap/src/drivers/driver_nl80211.c:957,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - bss
    argTypes:
    - struct i802_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 946
    functionDepth: 3
    functionLinenumber: 946
    functionLinenumberEnd: 960
    functionName: nl80211_get_wiphy_index
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - send_and_recv_resp
    - nl80211_cmd_msg
    linkageType: ''
    returnType: int
    signature: int nl80211_get_wiphy_index(struct i802_bss *bss)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_cmd_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:971,1
    - Dst: send_and_recv_resp
      Src: /src/hostap/src/drivers/driver_nl80211.c:974,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - bss
    argTypes:
    - struct i802_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 963
    functionDepth: 3
    functionLinenumber: 963
    functionLinenumberEnd: 977
    functionName: nl80211_get_ifmode
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - send_and_recv_resp
    - nl80211_cmd_msg
    linkageType: ''
    returnType: enum nl80211_iftype
    signature: enum nl80211_iftype nl80211_get_ifmode(struct i802_bss *bss)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_cmd_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:987,1
    - Dst: send_and_recv_resp
      Src: /src/hostap/src/drivers/driver_nl80211.c:990,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - bss
    argTypes:
    - struct i802_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 980
    functionDepth: 3
    functionLinenumber: 980
    functionLinenumberEnd: 991
    functionName: nl80211_get_macaddr
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - send_and_recv_resp
    - nl80211_cmd_msg
    linkageType: ''
    returnType: int
    signature: int nl80211_get_macaddr(struct i802_bss *bss)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_cmd_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:1001,1
    - Dst: send_and_recv_resp
      Src: /src/hostap/src/drivers/driver_nl80211.c:1002,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - bss
    argTypes:
    - struct i802_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 994
    functionDepth: 3
    functionLinenumber: 994
    functionLinenumberEnd: 1005
    functionName: nl80211_get_4addr
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - send_and_recv_resp
    - nl80211_cmd_msg
    linkageType: ''
    returnType: int
    signature: int nl80211_get_4addr(struct i802_bss *bss)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nlmsg_alloc
      Src: /src/hostap/src/drivers/driver_nl80211.c:1014,1
    - Dst: nl80211_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:1018,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:1019,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:1020,1
    - Dst: send_and_recv
      Src: /src/hostap/src/drivers/driver_nl80211.c:1024,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:1027,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:1029,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - drv
    - w
    argTypes:
    - struct wpa_driver_nl80211_data*
    - struct nl80211_wiphy_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 1008
    functionDepth: 2
    functionLinenumber: 1008
    functionLinenumberEnd: 1032
    functionName: nl80211_register_beacons
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - strerror
    - nl80211_cmd
    - send_and_recv
    - nlmsg_alloc
    - nlmsg_free
    - nla_put_u32
    linkageType: ''
    returnType: int
    signature: "int nl80211_register_beacons(struct wpa_driver_nl80211_data *drv,\n\t\t\t\t
      \   struct nl80211_wiphy_data *w)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:1040,1
    - Dst: nl_recvmsgs
      Src: /src/hostap/src/drivers/driver_nl80211.c:1042,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:1044,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - sock
    - eloop_ctx
    - handle
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1047
      start: 1035
    functionDepth: 0
    functionLinenumber: 1035
    functionLinenumberEnd: 1047
    functionName: nl80211_recv_beacons
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - nl_recvmsgs
    linkageType: ''
    returnType: void
    signature: void nl80211_recv_beacons(int sock, void *eloop_ctx, void *handle)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nlmsg_data
      Src: /src/hostap/src/drivers/driver_nl80211.c:1054,1
    - Dst: nlmsg_hdr
      Src: /src/hostap/src/drivers/driver_nl80211.c:1054,1
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211.c:1058,1
    - Dst: genlmsg_attrdata
      Src: /src/hostap/src/drivers/driver_nl80211.c:1058,1
    - Dst: genlmsg_attrlen
      Src: /src/hostap/src/drivers/driver_nl80211.c:1059,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:1062,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/drivers/driver_nl80211.c:1070,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211.c:1072,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211.c:1073,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211.c:1074,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211.c:1075,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - msg
    - arg
    argTypes:
    - struct nl_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 1050
    functionDepth: 0
    functionLinenumber: 1050
    functionLinenumberEnd: 1079
    functionName: process_beacon_event
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - nlmsg_hdr
    - wpa_printf
    - nla_len
    - nla_parse
    - nlmsg_data
    - nla_data
    - genlmsg_attrlen
    - dl_list_for_each
    - genlmsg_attrdata
    - os_memset
    linkageType: ''
    returnType: int
    signature: int process_beacon_event(struct nl_msg *msg, void *arg)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_get_wiphy_index
      Src: /src/hostap/src/drivers/driver_nl80211.c:1094,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/drivers/driver_nl80211.c:1096,1
    - Dst: os_zalloc
      Src: /src/hostap/src/drivers/driver_nl80211.c:1102,1
    - Dst: dl_list_init
      Src: /src/hostap/src/drivers/driver_nl80211.c:1106,1
    - Dst: dl_list_init
      Src: /src/hostap/src/drivers/driver_nl80211.c:1107,1
    - Dst: ieee80211_freq_to_chan
      Src: /src/hostap/src/drivers/driver_nl80211.c:1110,1
    - Dst: nl_cb_alloc
      Src: /src/hostap/src/drivers/driver_nl80211.c:1112,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:1114,1
    - Dst: nl_cb_set
      Src: /src/hostap/src/drivers/driver_nl80211.c:1117,1
    - Dst: nl_cb_set
      Src: /src/hostap/src/drivers/driver_nl80211.c:1119,1
    - Dst: nl_create_handle
      Src: /src/hostap/src/drivers/driver_nl80211.c:1122,1
    - Dst: nl_cb_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:1125,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:1126,1
    - Dst: nl80211_register_beacons
      Src: /src/hostap/src/drivers/driver_nl80211.c:1130,1
    - Dst: nl_destroy_handles
      Src: /src/hostap/src/drivers/driver_nl80211.c:1131,1
    - Dst: nl_cb_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:1132,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:1133,1
    - Dst: nl80211_register_eloop_read
      Src: /src/hostap/src/drivers/driver_nl80211.c:1137,1
    - Dst: dl_list_add
      Src: /src/hostap/src/drivers/driver_nl80211.c:1141,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/drivers/driver_nl80211.c:1145,1
    - Dst: dl_list_add
      Src: /src/hostap/src/drivers/driver_nl80211.c:1153,1
    - Dst: dl_list_add
      Src: /src/hostap/src/drivers/driver_nl80211.c:1155,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 51
    argCount: 1
    argNames:
    - bss
    argTypes:
    - struct i802_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1158
      start: 1082
    functionDepth: 4
    functionLinenumber: 1082
    functionLinenumberEnd: 1158
    functionName: nl80211_get_wiphy_data_ap
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl_cb_set
    - nl_cb_alloc
    - nl_cb_put
    - nl_destroy_handles
    - dl_list_for_each
    - os_zalloc
    - nl_create_handle
    - dl_list_init
    - dl_list_add
    - nl80211_register_eloop_read
    - os_free
    - nl80211_get_wiphy_index
    - ieee80211_freq_to_chan
    - nl80211_register_beacons
    linkageType: ''
    returnType: struct nl80211_wiphy_data
    signature: 'struct nl80211_wiphy_data *

      nl80211_get_wiphy_data_ap(struct i802_bss *bss)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_del
      Src: /src/hostap/src/drivers/driver_nl80211.c:1170,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/drivers/driver_nl80211.c:1173,1
    - Dst: dl_list_del
      Src: /src/hostap/src/drivers/driver_nl80211.c:1181,1
    - Dst: dl_list_empty
      Src: /src/hostap/src/drivers/driver_nl80211.c:1183,1
    - Dst: nl80211_destroy_eloop_handle
      Src: /src/hostap/src/drivers/driver_nl80211.c:1187,1
    - Dst: nl_cb_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:1189,1
    - Dst: dl_list_del
      Src: /src/hostap/src/drivers/driver_nl80211.c:1190,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:1191,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - bss
    argTypes:
    - struct i802_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1192
      start: 1161
    functionDepth: 2
    functionLinenumber: 1161
    functionLinenumberEnd: 1192
    functionName: nl80211_put_wiphy_data_ap
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - dl_list_del
    - dl_list_empty
    - nl_cb_put
    - nl80211_destroy_eloop_handle
    - dl_list_for_each
    - os_free
    linkageType: ''
    returnType: void
    signature: void nl80211_put_wiphy_data_ap(struct i802_bss *bss)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1195
    functionDepth: 0
    functionLinenumber: 1195
    functionLinenumberEnd: 1201
    functionName: nl80211_get_ifindex
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int nl80211_get_ifindex(void *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:1210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - priv
    - bssid
    argTypes:
    - void*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1212
      start: 1204
    functionDepth: 0
    functionLinenumber: 1204
    functionLinenumberEnd: 1212
    functionName: wpa_driver_nl80211_get_bssid
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    linkageType: ''
    returnType: int
    signature: int wpa_driver_nl80211_get_bssid(void *priv, u8 *bssid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:1221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - priv
    - ssid
    argTypes:
    - void*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1223
      start: 1215
    functionDepth: 0
    functionLinenumber: 1215
    functionLinenumberEnd: 1223
    functionName: wpa_driver_nl80211_get_ssid
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    linkageType: ''
    returnType: int
    signature: int wpa_driver_nl80211_get_ssid(void *priv, u8 *ssid)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nlmsg_data
      Src: /src/hostap/src/drivers/driver_nl80211.c:1229,1
    - Dst: nlmsg_hdr
      Src: /src/hostap/src/drivers/driver_nl80211.c:1229,1
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211.c:1238,1
    - Dst: genlmsg_attrdata
      Src: /src/hostap/src/drivers/driver_nl80211.c:1238,1
    - Dst: genlmsg_attrlen
      Src: /src/hostap/src/drivers/driver_nl80211.c:1239,1
    - Dst: nla_parse_nested
      Src: /src/hostap/src/drivers/driver_nl80211.c:1248,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:1256,1
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211.c:1259,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:1260,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211.c:1261,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:1264,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - msg
    - arg
    argTypes:
    - struct nl_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1268
      start: 1226
    functionDepth: 0
    functionLinenumber: 1226
    functionLinenumberEnd: 1268
    functionName: get_mlo_info
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 3
    functionsReached:
    - nlmsg_hdr
    - os_memcpy
    - nla_get_u32
    - nla_parse_nested
    - nla_parse
    - nlmsg_data
    - nla_data
    - genlmsg_attrlen
    - BIT
    - genlmsg_attrdata
    - nla_get_u8
    linkageType: ''
    returnType: int
    signature: int get_mlo_info(struct nl_msg *msg, void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nla_parse_nested
      Src: /src/hostap/src/drivers/driver_nl80211.c:1248,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:1256,1
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211.c:1259,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:1260,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211.c:1261,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:1264,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1245
    functionDepth: 0
    functionLinenumber: 1245
    functionLinenumberEnd: 1265
    functionName: nla_for_each_nested
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nla_get_u32
    - os_memcpy
    - nla_parse_nested
    - nla_data
    - BIT
    - nla_get_u8
    linkageType: ''
    returnType: void
    signature: void nla_for_each_nested(link_attr, tb[NL80211_ATTR_MLO_LINKS], rem)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:1283,1
    - Dst: send_and_recv_resp
      Src: /src/hostap/src/drivers/driver_nl80211.c:1284,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:1289,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - priv
    - mlo_info
    argTypes:
    - void*
    - struct driver_sta_mlo_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1291
      start: 1271
    functionDepth: 5
    functionLinenumber: 1271
    functionLinenumberEnd: 1291
    functionName: nl80211_get_sta_mlo_info
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_bss_msg
    - send_and_recv_resp
    - os_memcpy
    linkageType: ''
    returnType: int
    signature: "int nl80211_get_sta_mlo_info(void *priv,\n\t\t\t\t    struct driver_sta_mlo_info
      *mlo_info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:1299,1
    - Dst: send_and_recv_resp
      Src: /src/hostap/src/drivers/driver_nl80211.c:1301,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - bss
    argTypes:
    - struct i802_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1305
      start: 1294
    functionDepth: 5
    functionLinenumber: 1294
    functionLinenumberEnd: 1305
    functionName: get_sta_mlo_interface_info
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_bss_msg
    - send_and_recv_resp
    linkageType: ''
    returnType: int
    signature: int get_sta_mlo_interface_info(struct i802_bss *bss)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/src/drivers/driver_nl80211.c:1314,1
    - Dst: if_nametoindex
      Src: /src/hostap/src/drivers/driver_nl80211.c:1315,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:1316,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:1322,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211.c:1327,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:1329,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211.c:1333,1
    - Dst: wpa_supplicant_event_global
      Src: /src/hostap/src/drivers/driver_nl80211.c:1335,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - global
    - bss
    - ifindex
    - ifname
    argTypes:
    - struct nl80211_global*
    - struct i802_bss*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1337
      start: 1308
    functionDepth: 0
    functionLinenumber: 1308
    functionLinenumberEnd: 1337
    functionName: wpa_driver_nl80211_event_newlink
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - wpa_printf
    - os_strlcpy
    - os_strcmp
    - wpa_supplicant_event_global
    - if_nametoindex
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void wpa_driver_nl80211_event_newlink(\n\tstruct nl80211_global *global,
      struct i802_bss *bss,\n\tint ifindex, const char *ifname)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/src/drivers/driver_nl80211.c:1346,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:1348,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:1352,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:1356,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211.c:1360,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:1362,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211.c:1366,1
    - Dst: wpa_supplicant_event_global
      Src: /src/hostap/src/drivers/driver_nl80211.c:1368,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - global
    - bss
    - ifindex
    - ifname
    argTypes:
    - struct nl80211_global*
    - struct i802_bss*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1370
      start: 1340
    functionDepth: 0
    functionLinenumber: 1340
    functionLinenumberEnd: 1370
    functionName: wpa_driver_nl80211_event_dellink
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - wpa_printf
    - os_strlcpy
    - wpa_supplicant_event_global
    - os_strcmp
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void wpa_driver_nl80211_event_dellink(\n\tstruct nl80211_global *global,
      struct i802_bss *bss,\n\tint ifindex, const char *ifname)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RTA_ALIGN
      Src: /src/hostap/src/drivers/driver_nl80211.c:1382,1
    - Dst: RTA_OK
      Src: /src/hostap/src/drivers/driver_nl80211.c:1383,1
    - Dst: os_strcmp
      Src: /src/hostap/src/drivers/driver_nl80211.c:1385,1
    - Dst: RTA_NEXT
      Src: /src/hostap/src/drivers/driver_nl80211.c:1390,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - ifname
    - buf
    - len
    argTypes:
    - char*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1394
      start: 1373
    functionDepth: 1
    functionLinenumber: 1373
    functionLinenumberEnd: 1394
    functionName: wpa_driver_nl80211_own_ifname
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - RTA_NEXT
    - RTA_ALIGN
    - os_strcmp
    - RTA_OK
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_nl80211_own_ifname(const char *ifname,\n\t\t\t\t\t
      u8 *buf, size_t len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_driver_nl80211_own_ifname
      Src: /src/hostap/src/drivers/driver_nl80211.c:1404,1
    - Dst: nl80211_check_global
      Src: /src/hostap/src/drivers/driver_nl80211.c:1408,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:1410,1
    - Dst: del_ifidx
      Src: /src/hostap/src/drivers/driver_nl80211.c:1412,1
    - Dst: wpa_driver_nl80211_finish_drv_init
      Src: /src/hostap/src/drivers/driver_nl80211.c:1413,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - bss
    - ifindex
    - buf
    - len
    argTypes:
    - struct i802_bss*
    - int
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1420
      start: 1397
    functionDepth: 2
    functionLinenumber: 1397
    functionLinenumberEnd: 1420
    functionName: wpa_driver_nl80211_own_ifindex
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_driver_nl80211_own_ifname
    - wpa_driver_nl80211_finish_drv_init
    - del_ifidx
    - nl80211_check_global
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_nl80211_own_ifindex(struct i802_bss *bss,\n\t\t\t\t\t
      \ int ifindex, u8 *buf, size_t len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/drivers/driver_nl80211.c:1432,1
    - Dst: wpa_driver_nl80211_own_ifindex
      Src: /src/hostap/src/drivers/driver_nl80211.c:1437,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:1440,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 5
    argNames:
    - global
    - idx
    - buf
    - len
    - init_failed
    argTypes:
    - struct nl80211_global*
    - int
    - u8*
    - size_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1451
      start: 1423
    functionDepth: 3
    functionLinenumber: 1423
    functionLinenumberEnd: 1451
    functionName: nl80211_find_bss
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    - wpa_printf
    - wpa_driver_nl80211_own_ifindex
    linkageType: ''
    returnType: struct i802_bss
    signature: "struct i802_bss *\nnl80211_find_bss(struct nl80211_global *global,
      int idx, u8 *buf, size_t len,\n\t\t int *init_failed)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_bss_ifindex
      Src: /src/hostap/src/drivers/driver_nl80211.c:1460,1
    - Dst: linux_get_ifhwaddr
      Src: /src/hostap/src/drivers/driver_nl80211.c:1462,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:1464,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/drivers/driver_nl80211.c:1467,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:1468,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:1472,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:1472,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:1473,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:1474,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211.c:1476,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - drv
    - ifindex
    - notify
    argTypes:
    - struct wpa_driver_nl80211_data*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1479
      start: 1454
    functionDepth: 1
    functionLinenumber: 1454
    functionLinenumberEnd: 1479
    functionName: nl80211_refresh_mac
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - wpa_printf
    - os_memcpy
    - linux_get_ifhwaddr
    - ether_addr_equal
    - get_bss_ifindex
    - MAC2STR
    linkageType: ''
    returnType: void
    signature: "void nl80211_refresh_mac(struct wpa_driver_nl80211_data *drv,\n\t\t\t\tint
      ifindex, int notify)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: RTA_OK
      Src: /src/hostap/src/drivers/driver_nl80211.c:1504,1
    - Dst: RTA_PAYLOAD
      Src: /src/hostap/src/drivers/driver_nl80211.c:1507,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:1509,1
    - Dst: RTA_DATA
      Src: /src/hostap/src/drivers/driver_nl80211.c:1509,1
    - Dst: RTA_PAYLOAD
      Src: /src/hostap/src/drivers/driver_nl80211.c:1509,1
    - Dst: RTA_PAYLOAD
      Src: /src/hostap/src/drivers/driver_nl80211.c:1510,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:1513,1
    - Dst: os_snprintf
      Src: /src/hostap/src/drivers/driver_nl80211.c:1514,1
    - Dst: os_snprintf
      Src: /src/hostap/src/drivers/driver_nl80211.c:1517,1
    - Dst: os_snprintf
      Src: /src/hostap/src/drivers/driver_nl80211.c:1520,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:1521,1
    - Dst: os_snprintf
      Src: /src/hostap/src/drivers/driver_nl80211.c:1524,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:1525,1
    - Dst: RTA_NEXT
      Src: /src/hostap/src/drivers/driver_nl80211.c:1528,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:1532,1
    - Dst: nl80211_find_bss
      Src: /src/hostap/src/drivers/driver_nl80211.c:1540,1
    - Dst: if_indextoname
      Src: /src/hostap/src/drivers/driver_nl80211.c:1550,1
    - Dst: linux_iface_up
      Src: /src/hostap/src/drivers/driver_nl80211.c:1551,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:1552,1
    - Dst: nl80211_refresh_mac
      Src: /src/hostap/src/drivers/driver_nl80211.c:1556,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:1559,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:1562,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211.c:1567,1
    - Dst: nl80211_find_bss
      Src: /src/hostap/src/drivers/driver_nl80211.c:1576,1
    - Dst: if_indextoname
      Src: /src/hostap/src/drivers/driver_nl80211.c:1587,1
    - Dst: linux_iface_up
      Src: /src/hostap/src/drivers/driver_nl80211.c:1588,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:1589,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:1594,1
    - Dst: if_nametoindex
      Src: /src/hostap/src/drivers/driver_nl80211.c:1596,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:1597,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:1601,1
    - Dst: nl80211_refresh_mac
      Src: /src/hostap/src/drivers/driver_nl80211.c:1606,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211.c:1609,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:1623,1
    - Dst: netlink_send_oper_ifla
      Src: /src/hostap/src/drivers/driver_nl80211.c:1624,1
    - Dst: wpa_driver_nl80211_event_newlink
      Src: /src/hostap/src/drivers/driver_nl80211.c:1630,1
    - Dst: if_indextoname
      Src: /src/hostap/src/drivers/driver_nl80211.c:1635,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:1636,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:1641,1
    - Dst: add_ifidx
      Src: /src/hostap/src/drivers/driver_nl80211.c:1643,1
    - Dst: os_strcmp
      Src: /src/hostap/src/drivers/driver_nl80211.c:1645,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:1646,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 98
    argCount: 4
    argNames:
    - ctx
    - ifi
    - buf
    - len
    argTypes:
    - void*
    - struct ifinfomsg*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1648
      start: 1482
    functionDepth: 4
    functionLinenumber: 1482
    functionLinenumberEnd: 1648
    functionName: wpa_driver_nl80211_event_rtm_newlink
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - add_ifidx
    - os_strlcpy
    - netlink_send_oper_ifla
    - RTA_PAYLOAD
    - os_snprintf
    - RTA_DATA
    - linux_iface_up
    - wpa_printf
    - RTA_NEXT
    - nl80211_refresh_mac
    - RTA_OK
    - os_strcmp
    - wpa_driver_nl80211_event_newlink
    - if_nametoindex
    - nl80211_find_bss
    - nla_get_u32
    - os_memcpy
    - if_indextoname
    linkageType: ''
    returnType: void
    signature: "void wpa_driver_nl80211_event_rtm_newlink(void *ctx,\n\t\t\t\t\t\t
      struct ifinfomsg *ifi,\n\t\t\t\t\t\t u8 *buf, size_t len)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: RTA_OK
      Src: /src/hostap/src/drivers/driver_nl80211.c:1671,1
    - Dst: RTA_PAYLOAD
      Src: /src/hostap/src/drivers/driver_nl80211.c:1674,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:1676,1
    - Dst: RTA_DATA
      Src: /src/hostap/src/drivers/driver_nl80211.c:1676,1
    - Dst: RTA_PAYLOAD
      Src: /src/hostap/src/drivers/driver_nl80211.c:1676,1
    - Dst: RTA_PAYLOAD
      Src: /src/hostap/src/drivers/driver_nl80211.c:1677,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:1680,1
    - Dst: os_snprintf
      Src: /src/hostap/src/drivers/driver_nl80211.c:1681,1
    - Dst: os_snprintf
      Src: /src/hostap/src/drivers/driver_nl80211.c:1684,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:1685,1
    - Dst: os_snprintf
      Src: /src/hostap/src/drivers/driver_nl80211.c:1688,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:1689,1
    - Dst: RTA_NEXT
      Src: /src/hostap/src/drivers/driver_nl80211.c:1692,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:1696,1
    - Dst: nl80211_find_bss
      Src: /src/hostap/src/drivers/driver_nl80211.c:1704,1
    - Dst: if_indextoname
      Src: /src/hostap/src/drivers/driver_nl80211.c:1712,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:1713,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:1717,1
    - Dst: del_ifidx
      Src: /src/hostap/src/drivers/driver_nl80211.c:1721,1
    - Dst: wpa_driver_nl80211_event_dellink
      Src: /src/hostap/src/drivers/driver_nl80211.c:1725,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 4
    argNames:
    - ctx
    - ifi
    - buf
    - len
    argTypes:
    - void*
    - struct ifinfomsg*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1727
      start: 1651
    functionDepth: 4
    functionLinenumber: 1651
    functionLinenumberEnd: 1727
    functionName: wpa_driver_nl80211_event_rtm_dellink
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nla_get_u32
    - os_memcpy
    - wpa_printf
    - if_indextoname
    - RTA_NEXT
    - RTA_PAYLOAD
    - os_snprintf
    - RTA_DATA
    - RTA_OK
    - del_ifidx
    - wpa_driver_nl80211_event_dellink
    - nl80211_find_bss
    linkageType: ''
    returnType: void
    signature: "void wpa_driver_nl80211_event_rtm_dellink(void *ctx,\n\t\t\t\t\t\t
      struct ifinfomsg *ifi,\n\t\t\t\t\t\t u8 *buf, size_t len)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: nlmsg_data
      Src: /src/hostap/src/drivers/driver_nl80211.c:1744,1
    - Dst: nlmsg_hdr
      Src: /src/hostap/src/drivers/driver_nl80211.c:1744,1
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211.c:1757,1
    - Dst: genlmsg_attrdata
      Src: /src/hostap/src/drivers/driver_nl80211.c:1757,1
    - Dst: genlmsg_attrlen
      Src: /src/hostap/src/drivers/driver_nl80211.c:1758,1
    - Dst: nla_parse_nested
      Src: /src/hostap/src/drivers/driver_nl80211.c:1760,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:1765,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:1769,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:1772,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:1776,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:1784,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:1790,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:1791,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211.c:1797,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:1800,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:1803,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:1804,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:1806,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:1811,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:1812,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:1813,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211.c:1823,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211.c:1824,1
    - Dst: get_ie
      Src: /src/hostap/src/drivers/driver_nl80211.c:1825,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:1828,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 43
    argCount: 2
    argNames:
    - msg
    - arg
    argTypes:
    - struct nl_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1833
      start: 1741
    functionDepth: 1
    functionLinenumber: 1741
    functionLinenumberEnd: 1833
    functionName: nl80211_get_assoc_freq_handler
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nlmsg_hdr
    - nla_get_u32
    - wpa_printf
    - os_memcpy
    - nla_len
    - nla_parse_nested
    - nla_parse
    - nlmsg_data
    - nla_data
    - genlmsg_attrlen
    - MAC2STR
    - get_ie
    - genlmsg_attrdata
    - nla_get_u8
    linkageType: ''
    returnType: int
    signature: int nl80211_get_assoc_freq_handler(struct nl_msg *msg, void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_drv_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:1844,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211.c:1845,1
    - Dst: send_and_recv_resp
      Src: /src/hostap/src/drivers/driver_nl80211.c:1847,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:1852,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:1855,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:1861,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:1864,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:1865,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - drv
    - ssid
    argTypes:
    - struct wpa_driver_nl80211_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1867
      start: 1836
    functionDepth: 5
    functionLinenumber: 1836
    functionLinenumberEnd: 1867
    functionName: nl80211_get_assoc_ssid
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - strerror
    - nl80211_drv_msg
    - send_and_recv_resp
    - os_memset
    linkageType: ''
    returnType: int
    signature: int nl80211_get_assoc_ssid(struct wpa_driver_nl80211_data *drv, u8
      *ssid)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_drv_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:1878,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211.c:1879,1
    - Dst: send_and_recv_resp
      Src: /src/hostap/src/drivers/driver_nl80211.c:1881,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:1886,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:1889,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:1897,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:1911,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:1912,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - drv
    argTypes:
    - struct wpa_driver_nl80211_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1914
      start: 1870
    functionDepth: 5
    functionLinenumber: 1870
    functionLinenumberEnd: 1914
    functionName: nl80211_get_assoc_freq
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - strerror
    - nl80211_drv_msg
    - send_and_recv_resp
    - os_memset
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int nl80211_get_assoc_freq(struct wpa_driver_nl80211_data
      *drv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:1926,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211.c:1929,1
    - Dst: send_and_recv_resp
      Src: /src/hostap/src/drivers/driver_nl80211.c:1931,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:1936,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:1939,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:1945,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:1951,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:1958,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:1959,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - bss
    argTypes:
    - struct i802_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1962
      start: 1917
    functionDepth: 5
    functionLinenumber: 1917
    functionLinenumberEnd: 1962
    functionName: nl80211_get_assoc_bssid
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_bss_msg
    - wpa_printf
    - os_memcpy
    - strerror
    - send_and_recv_resp
    - os_memset
    linkageType: ''
    returnType: u8
    signature: u8 * nl80211_get_assoc_bssid(struct i802_bss *bss)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nlmsg_data
      Src: /src/hostap/src/drivers/driver_nl80211.c:1968,1
    - Dst: nlmsg_hdr
      Src: /src/hostap/src/drivers/driver_nl80211.c:1968,1
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211.c:1976,1
    - Dst: genlmsg_attrdata
      Src: /src/hostap/src/drivers/driver_nl80211.c:1976,1
    - Dst: genlmsg_attrlen
      Src: /src/hostap/src/drivers/driver_nl80211.c:1977,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:1980,1
    - Dst: nla_parse_nested
      Src: /src/hostap/src/drivers/driver_nl80211.c:1984,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:1987,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:1995,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:2003,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - msg
    - arg
    argTypes:
    - struct nl_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2006
      start: 1965
    functionDepth: 0
    functionLinenumber: 1965
    functionLinenumberEnd: 2006
    functionName: get_link_noise
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nlmsg_hdr
    - wpa_printf
    - nla_get_u32
    - nla_parse_nested
    - nla_parse
    - nlmsg_data
    - genlmsg_attrlen
    - genlmsg_attrdata
    - nla_get_u8
    linkageType: ''
    returnType: int
    signature: int get_link_noise(struct nl_msg *msg, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:2018,1
    - Dst: send_and_recv_resp
      Src: /src/hostap/src/drivers/driver_nl80211.c:2019,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - bss
    - sig_change
    argTypes:
    - struct i802_bss*
    - struct wpa_signal_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2020
      start: 2009
    functionDepth: 5
    functionLinenumber: 2009
    functionLinenumberEnd: 2020
    functionName: nl80211_get_link_noise
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_bss_msg
    - send_and_recv_resp
    linkageType: ''
    returnType: int
    signature: "int nl80211_get_link_noise(struct i802_bss *bss,\n\t\t\t   struct
      wpa_signal_info *sig_change)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: nlmsg_data
      Src: /src/hostap/src/drivers/driver_nl80211.c:2026,1
    - Dst: nlmsg_hdr
      Src: /src/hostap/src/drivers/driver_nl80211.c:2026,1
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211.c:2029,1
    - Dst: genlmsg_attrdata
      Src: /src/hostap/src/drivers/driver_nl80211.c:2029,1
    - Dst: genlmsg_attrlen
      Src: /src/hostap/src/drivers/driver_nl80211.c:2030,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211.c:2032,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:2037,1
    - Dst: convert2width
      Src: /src/hostap/src/drivers/driver_nl80211.c:2039,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:2040,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:2043,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:2059,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:2062,1
    - Dst: ieee80211_freq_to_chan
      Src: /src/hostap/src/drivers/driver_nl80211.c:2067,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 2
    argNames:
    - msg
    - arg
    argTypes:
    - struct nl_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2073
      start: 2023
    functionDepth: 2
    functionLinenumber: 2023
    functionLinenumberEnd: 2073
    functionName: get_channel_info
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 8
    functionsReached:
    - nlmsg_hdr
    - nla_get_u32
    - convert2width
    - nla_parse
    - nlmsg_data
    - genlmsg_attrlen
    - genlmsg_attrdata
    - ieee80211_freq_to_chan
    - os_memset
    linkageType: ''
    returnType: int
    signature: int get_channel_info(struct nl_msg *msg, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:2082,1
    - Dst: send_and_recv_resp
      Src: /src/hostap/src/drivers/driver_nl80211.c:2083,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - priv
    - ci
    argTypes:
    - void*
    - struct wpa_channel_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2084
      start: 2076
    functionDepth: 5
    functionLinenumber: 2076
    functionLinenumberEnd: 2084
    functionName: nl80211_channel_info
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_bss_msg
    - send_and_recv_resp
    linkageType: ''
    returnType: int
    signature: int nl80211_channel_info(void *priv, struct wpa_channel_info *ci)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:2093,1
    - Dst: nl_recvmsgs
      Src: /src/hostap/src/drivers/driver_nl80211.c:2095,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:2097,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - sock
    - eloop_ctx
    - handle
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2100
      start: 2087
    functionDepth: 0
    functionLinenumber: 2087
    functionLinenumberEnd: 2100
    functionName: wpa_driver_nl80211_event_receive
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - nl_recvmsgs
    linkageType: ''
    returnType: void
    signature: "void wpa_driver_nl80211_event_receive(int sock, void *eloop_ctx,\n\t\t\t\t\t
      \    void *handle)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nlmsg_alloc
      Src: /src/hostap/src/drivers/driver_nl80211.c:2119,1
    - Dst: nl80211_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:2127,1
    - Dst: nla_put_string
      Src: /src/hostap/src/drivers/driver_nl80211.c:2128,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:2129,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:2132,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - priv
    - alpha2_arg
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2135
      start: 2112
    functionDepth: 2
    functionLinenumber: 2112
    functionLinenumberEnd: 2135
    functionName: wpa_driver_nl80211_set_country
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_cmd
    - send_and_recv_cmd
    - nlmsg_alloc
    - nla_put_string
    - nlmsg_free
    linkageType: ''
    returnType: int
    signature: int wpa_driver_nl80211_set_country(void *priv, const char *alpha2_arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nlmsg_data
      Src: /src/hostap/src/drivers/driver_nl80211.c:2142,1
    - Dst: nlmsg_hdr
      Src: /src/hostap/src/drivers/driver_nl80211.c:2142,1
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211.c:2144,1
    - Dst: genlmsg_attrdata
      Src: /src/hostap/src/drivers/driver_nl80211.c:2144,1
    - Dst: genlmsg_attrlen
      Src: /src/hostap/src/drivers/driver_nl80211.c:2145,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:2147,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:2150,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211.c:2150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - msg
    - arg
    argTypes:
    - struct nl_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2152
      start: 2138
    functionDepth: 0
    functionLinenumber: 2138
    functionLinenumberEnd: 2152
    functionName: nl80211_get_country
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nlmsg_hdr
    - wpa_printf
    - nla_parse
    - os_strlcpy
    - nlmsg_data
    - nla_data
    - genlmsg_attrlen
    - genlmsg_attrdata
    linkageType: ''
    returnType: int
    signature: int nl80211_get_country(struct nl_msg *msg, void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nlmsg_alloc
      Src: /src/hostap/src/drivers/driver_nl80211.c:2162,1
    - Dst: nl80211_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:2166,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:2171,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:2172,1
    - Dst: send_and_recv_resp
      Src: /src/hostap/src/drivers/driver_nl80211.c:2178,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - priv
    - alpha2
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2183
      start: 2155
    functionDepth: 2
    functionLinenumber: 2155
    functionLinenumberEnd: 2183
    functionName: wpa_driver_nl80211_get_country
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_cmd
    - send_and_recv_resp
    - nlmsg_alloc
    - nlmsg_free
    - nla_put_u32
    linkageType: ''
    returnType: int
    signature: int wpa_driver_nl80211_get_country(void *priv, char *alpha2)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: nl_cb_alloc
      Src: /src/hostap/src/drivers/driver_nl80211.c:2192,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:2194,1
    - Dst: nl_create_handle
      Src: /src/hostap/src/drivers/driver_nl80211.c:2199,1
    - Dst: genl_ctrl_resolve
      Src: /src/hostap/src/drivers/driver_nl80211.c:2203,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:2205,1
    - Dst: genl_ctrl_resolve
      Src: /src/hostap/src/drivers/driver_nl80211.c:2210,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:2212,1
    - Dst: nl_create_handle
      Src: /src/hostap/src/drivers/driver_nl80211.c:2217,1
    - Dst: nl_cb_set
      Src: /src/hostap/src/drivers/driver_nl80211.c:2224,1
    - Dst: nl_cb_set
      Src: /src/hostap/src/drivers/driver_nl80211.c:2226,1
    - Dst: nl_get_multicast_id
      Src: /src/hostap/src/drivers/driver_nl80211.c:2230,1
    - Dst: nl_socket_add_membership
      Src: /src/hostap/src/drivers/driver_nl80211.c:2232,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:2234,1
    - Dst: nl_geterror
      Src: /src/hostap/src/drivers/driver_nl80211.c:2236,1
    - Dst: nl_get_multicast_id
      Src: /src/hostap/src/drivers/driver_nl80211.c:2241,1
    - Dst: nl_socket_add_membership
      Src: /src/hostap/src/drivers/driver_nl80211.c:2243,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:2245,1
    - Dst: nl_geterror
      Src: /src/hostap/src/drivers/driver_nl80211.c:2247,1
    - Dst: nl_get_multicast_id
      Src: /src/hostap/src/drivers/driver_nl80211.c:2251,1
    - Dst: nl_socket_add_membership
      Src: /src/hostap/src/drivers/driver_nl80211.c:2253,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:2255,1
    - Dst: nl_geterror
      Src: /src/hostap/src/drivers/driver_nl80211.c:2257,1
    - Dst: nl_get_multicast_id
      Src: /src/hostap/src/drivers/driver_nl80211.c:2261,1
    - Dst: nl_socket_add_membership
      Src: /src/hostap/src/drivers/driver_nl80211.c:2263,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:2265,1
    - Dst: nl_geterror
      Src: /src/hostap/src/drivers/driver_nl80211.c:2267,1
    - Dst: nl_get_multicast_id
      Src: /src/hostap/src/drivers/driver_nl80211.c:2271,1
    - Dst: nl_socket_add_membership
      Src: /src/hostap/src/drivers/driver_nl80211.c:2273,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:2275,1
    - Dst: nl_geterror
      Src: /src/hostap/src/drivers/driver_nl80211.c:2277,1
    - Dst: genl_ctrl_alloc_cache
      Src: /src/hostap/src/drivers/driver_nl80211.c:2282,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:2284,1
    - Dst: nl_geterror
      Src: /src/hostap/src/drivers/driver_nl80211.c:2286,1
    - Dst: genl_ctrl_search
      Src: /src/hostap/src/drivers/driver_nl80211.c:2290,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:2292,1
    - Dst: nl_geterror
      Src: /src/hostap/src/drivers/driver_nl80211.c:2294,1
    - Dst: genl_family_get_maxattr
      Src: /src/hostap/src/drivers/driver_nl80211.c:2298,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:2299,1
    - Dst: genl_family_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:2301,1
    - Dst: nl_cache_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:2302,1
    - Dst: nl80211_register_eloop_read
      Src: /src/hostap/src/drivers/driver_nl80211.c:2304,1
    - Dst: genl_family_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:2311,1
    - Dst: nl_cache_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:2312,1
    - Dst: nl_destroy_handles
      Src: /src/hostap/src/drivers/driver_nl80211.c:2313,1
    - Dst: nl_destroy_handles
      Src: /src/hostap/src/drivers/driver_nl80211.c:2314,1
    - Dst: nl_cb_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:2315,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 91
    argCount: 1
    argNames:
    - global
    argTypes:
    - struct nl80211_global*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2318
      start: 2186
    functionDepth: 3
    functionLinenumber: 2186
    functionLinenumberEnd: 2318
    functionName: wpa_driver_nl80211_init_nl_global
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - nl_cb_set
    - genl_ctrl_resolve
    - nl_get_multicast_id
    - nl_cb_alloc
    - nl_socket_add_membership
    - nl_destroy_handles
    - nl_cb_put
    - nl_cache_free
    - genl_ctrl_alloc_cache
    - genl_family_put
    - nl_create_handle
    - genl_family_get_maxattr
    - nl80211_register_eloop_read
    - nl_geterror
    - genl_ctrl_search
    linkageType: ''
    returnType: int
    signature: int wpa_driver_nl80211_init_nl_global(struct nl80211_global *global)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nl_get_multicast_id
      Src: /src/hostap/src/drivers/driver_nl80211.c:2336,1
    - Dst: nl_socket_add_membership
      Src: /src/hostap/src/drivers/driver_nl80211.c:2338,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:2340,1
    - Dst: nl_geterror
      Src: /src/hostap/src/drivers/driver_nl80211.c:2342,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - global
    argTypes:
    - struct nl80211_global*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2345
      start: 2321
    functionDepth: 3
    functionLinenumber: 2321
    functionLinenumberEnd: 2345
    functionName: nl80211_check_global
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - nl_geterror
    - nl_get_multicast_id
    - nl_socket_add_membership
    linkageType: ''
    returnType: void
    signature: void nl80211_check_global(struct nl80211_global *global)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:2352,1
    - Dst: nl80211_is_netdev_iftype
      Src: /src/hostap/src/drivers/driver_nl80211.c:2358,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211.c:2359,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2360
      start: 2348
    functionDepth: 1
    functionLinenumber: 2348
    functionLinenumberEnd: 2360
    functionName: wpa_driver_nl80211_rfkill_blocked
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - nl80211_is_netdev_iftype
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void wpa_driver_nl80211_rfkill_blocked(void *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:2366,1
    - Dst: i802_set_iface_flags
      Src: /src/hostap/src/drivers/driver_nl80211.c:2367,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:2368,1
    - Dst: is_p2p_net_interface
      Src: /src/hostap/src/drivers/driver_nl80211.c:2373,1
    - Dst: nl80211_disable_11b_rates
      Src: /src/hostap/src/drivers/driver_nl80211.c:2374,1
    - Dst: nl80211_is_netdev_iftype
      Src: /src/hostap/src/drivers/driver_nl80211.c:2380,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211.c:2381,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2382
      start: 2363
    functionDepth: 1
    functionLinenumber: 2363
    functionLinenumberEnd: 2382
    functionName: wpa_driver_nl80211_rfkill_unblocked
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - nl80211_disable_11b_rates
    - wpa_printf
    - is_p2p_net_interface
    - nl80211_is_netdev_iftype
    - i802_set_iface_flags
    linkageType: ''
    returnType: void
    signature: void wpa_driver_nl80211_rfkill_unblocked(void *ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/hostap/src/drivers/driver_nl80211.c:2398,1
    - Dst: recvmsg
      Src: /src/hostap/src/drivers/driver_nl80211.c:2406,1
    - Dst: CMSG_FIRSTHDR
      Src: /src/hostap/src/drivers/driver_nl80211.c:2411,1
    - Dst: CMSG_NXTHDR
      Src: /src/hostap/src/drivers/driver_nl80211.c:2411,1
    - Dst: CMSG_DATA
      Src: /src/hostap/src/drivers/driver_nl80211.c:2418,1
    - Dst: CMSG_DATA
      Src: /src/hostap/src/drivers/driver_nl80211.c:2425,1
    - Dst: memset
      Src: /src/hostap/src/drivers/driver_nl80211.c:2435,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211.c:2440,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 3
    argNames:
    - sock
    - eloop_ctx
    - handle
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2441
      start: 2385
    functionDepth: 0
    functionLinenumber: 2385
    functionLinenumberEnd: 2441
    functionName: wpa_driver_nl80211_handle_eapol_tx_status
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - CMSG_FIRSTHDR
    - recvmsg
    - CMSG_NXTHDR
    - memset
    - CMSG_DATA
    linkageType: ''
    returnType: void
    signature: "void wpa_driver_nl80211_handle_eapol_tx_status(int sock,\n\t\t\t\t\t\t
      \     void *eloop_ctx,\n\t\t\t\t\t\t      void *handle)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:2447,1
    - Dst: nl_create_handle
      Src: /src/hostap/src/drivers/driver_nl80211.c:2453,1
    - Dst: nl80211_register_eloop_read
      Src: /src/hostap/src/drivers/driver_nl80211.c:2456,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - bss
    argTypes:
    - struct i802_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2460
      start: 2444
    functionDepth: 2
    functionLinenumber: 2444
    functionLinenumberEnd: 2460
    functionName: nl80211_init_connect_handle
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - nl_create_handle
    - nl80211_register_eloop_read
    linkageType: ''
    returnType: int
    signature: int nl80211_init_connect_handle(struct i802_bss *bss)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nl_cb_alloc
      Src: /src/hostap/src/drivers/driver_nl80211.c:2465,1
    - Dst: nl_cb_set
      Src: /src/hostap/src/drivers/driver_nl80211.c:2469,1
    - Dst: nl_cb_set
      Src: /src/hostap/src/drivers/driver_nl80211.c:2471,1
    - Dst: nl80211_init_connect_handle
      Src: /src/hostap/src/drivers/driver_nl80211.c:2474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - bss
    argTypes:
    - struct i802_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2477
      start: 2463
    functionDepth: 3
    functionLinenumber: 2463
    functionLinenumberEnd: 2477
    functionName: nl80211_init_bss
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_init_connect_handle
    - nl_cb_set
    - nl_cb_alloc
    linkageType: ''
    returnType: int
    signature: int nl80211_init_bss(struct i802_bss *bss)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nl_cb_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:2484,1
    - Dst: nl80211_destroy_eloop_handle
      Src: /src/hostap/src/drivers/driver_nl80211.c:2488,1
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/drivers/driver_nl80211.c:2490,1
    - Dst: nl80211_remove_pending_event
      Src: /src/hostap/src/drivers/driver_nl80211.c:2495,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - bss
    argTypes:
    - struct i802_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2497
      start: 2480
    functionDepth: 2
    functionLinenumber: 2480
    functionLinenumberEnd: 2497
    functionName: nl80211_destroy_bss
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl_cb_put
    - nl80211_remove_pending_event
    - nl80211_destroy_eloop_handle
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: void nl80211_destroy_bss(struct i802_bss *bss)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/drivers/driver_nl80211.c:2508,1
    - Dst: nl80211_is_netdev_iftype
      Src: /src/hostap/src/drivers/driver_nl80211.c:2522,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/drivers/driver_nl80211.c:2526,1
    - Dst: nl80211_is_netdev_iftype
      Src: /src/hostap/src/drivers/driver_nl80211.c:2530,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:2533,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:2536,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:2541,1
    - Dst: rfkill_init
      Src: /src/hostap/src/drivers/driver_nl80211.c:2547,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:2549,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:2550,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 1
    argNames:
    - drv
    argTypes:
    - struct wpa_driver_nl80211_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2552
      start: 2500
    functionDepth: 1
    functionLinenumber: 2500
    functionLinenumberEnd: 2552
    functionName: wpa_driver_nl80211_drv_init_rfkill
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_strlcpy
    - dl_list_for_each
    - nl80211_is_netdev_iftype
    - os_zalloc
    - rfkill_init
    - os_free
    linkageType: ''
    returnType: void
    signature: void wpa_driver_nl80211_drv_init_rfkill(struct wpa_driver_nl80211_data
      *drv)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/src/drivers/driver_nl80211.c:2568,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/drivers/driver_nl80211.c:2570,1
    - Dst: readlink
      Src: /src/hostap/src/drivers/driver_nl80211.c:2571,1
    - Dst: strrchr
      Src: /src/hostap/src/drivers/driver_nl80211.c:2574,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:2579,1
    - Dst: os_zalloc
      Src: /src/hostap/src/drivers/driver_nl80211.c:2587,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/drivers/driver_nl80211.c:2603,1
    - Dst: os_zalloc
      Src: /src/hostap/src/drivers/driver_nl80211.c:2606,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:2608,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:2615,1
    - Dst: nl80211_init_bss
      Src: /src/hostap/src/drivers/driver_nl80211.c:2619,1
    - Dst: wpa_driver_nl80211_finish_drv_init
      Src: /src/hostap/src/drivers/driver_nl80211.c:2622,1
    - Dst: socket
      Src: /src/hostap/src/drivers/driver_nl80211.c:2631,1
    - Dst: setsockopt
      Src: /src/hostap/src/drivers/driver_nl80211.c:2638,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:2640,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:2642,1
    - Dst: eloop_register_read_sock
      Src: /src/hostap/src/drivers/driver_nl80211.c:2646,1
    - Dst: nl80211_check_global
      Src: /src/hostap/src/drivers/driver_nl80211.c:2655,1
    - Dst: dl_list_add
      Src: /src/hostap/src/drivers/driver_nl80211.c:2656,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:2666,1
    - Dst: wpa_driver_nl80211_deinit
      Src: /src/hostap/src/drivers/driver_nl80211.c:2671,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 77
    argCount: 7
    argNames:
    - ctx
    - ifname
    - global_priv
    - hostapd
    - set_addr
    - driver_params
    - p2p_mode
    argTypes:
    - void*
    - char*
    - void*
    - int
    - u8*
    - char*
    - enum wpa_p2p_mode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2673
      start: 2555
    functionDepth: 4
    functionLinenumber: 2555
    functionLinenumberEnd: 2673
    functionName: wpa_driver_nl80211_drv_init
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - eloop_register_read_sock
    - os_strlcpy
    - os_snprintf
    - wpa_driver_nl80211_finish_drv_init
    - nl80211_init_bss
    - strrchr
    - wpa_printf
    - setsockopt
    - os_free
    - nl80211_check_global
    - readlink
    - os_memcpy
    - strerror
    - socket
    - os_zalloc
    - dl_list_add
    - wpa_driver_nl80211_deinit
    - ARRAY_SIZE
    - os_snprintf_error
    linkageType: ''
    returnType: void
    signature: "void * wpa_driver_nl80211_drv_init(void *ctx, const char *ifname,\n\t\t\t\t\t
      \ void *global_priv, int hostapd,\n\t\t\t\t\t  const u8 *set_addr,\n\t\t\t\t\t
      \ const char *driver_params,\n\t\t\t\t\t  enum wpa_p2p_mode p2p_mode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_driver_nl80211_drv_init
      Src: /src/hostap/src/drivers/driver_nl80211.c:2688,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - ifname
    - global_priv
    - p2p_mode
    argTypes:
    - void*
    - char*
    - void*
    - enum wpa_p2p_mode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2690
      start: 2684
    functionDepth: 5
    functionLinenumber: 2684
    functionLinenumberEnd: 2690
    functionName: wpa_driver_nl80211_init
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_driver_nl80211_drv_init
    linkageType: ''
    returnType: void
    signature: "void * wpa_driver_nl80211_init(void *ctx, const char *ifname,\n\t\t\t\t
      \     void *global_priv,\n\t\t\t\t      enum wpa_p2p_mode p2p_mode)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/drivers/driver_nl80211.c:2704,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:2705,1
    - Dst: fc2str
      Src: /src/hostap/src/drivers/driver_nl80211.c:2707,1
    - Dst: nl80211_cmd_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:2709,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:2710,1
    - Dst: nla_put_u16
      Src: /src/hostap/src/drivers/driver_nl80211.c:2711,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:2712,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:2713,1
    - Dst: send_and_recv
      Src: /src/hostap/src/drivers/driver_nl80211.c:2717,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:2720,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:2722,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/drivers/driver_nl80211.c:2723,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 6
    argNames:
    - bss
    - nl_handle
    - type
    - match
    - match_len
    - multicast
    argTypes:
    - struct i802_bss*
    - struct nl_sock*
    - u16
    - u8*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2727
      start: 2693
    functionDepth: 3
    functionLinenumber: 2693
    functionLinenumberEnd: 2727
    functionName: nl80211_register_frame
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_snprintf_hex
    - strerror
    - wpa_hexdump
    - send_and_recv
    - nla_put
    - fc2str
    - nla_put_u16
    - nla_put_flag
    - nlmsg_free
    - nl80211_cmd_msg
    linkageType: ''
    returnType: int
    signature: "int nl80211_register_frame(struct i802_bss *bss,\n\t\t\t\t  struct
      nl_sock *nl_handle,\n\t\t\t\t  u16 type, const u8 *match, size_t match_len,\n\t\t\t\t
      \ bool multicast)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:2733,1
    - Dst: nl_create_handle
      Src: /src/hostap/src/drivers/driver_nl80211.c:2738,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - bss
    argTypes:
    - struct i802_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2743
      start: 2730
    functionDepth: 1
    functionLinenumber: 2730
    functionLinenumberEnd: 2743
    functionName: nl80211_alloc_mgmt_handle
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - nl_create_handle
    linkageType: ''
    returnType: int
    signature: int nl80211_alloc_mgmt_handle(struct i802_bss *bss)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_register_eloop_read
      Src: /src/hostap/src/drivers/driver_nl80211.c:2748,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bss
    argTypes:
    - struct i802_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2751
      start: 2746
    functionDepth: 2
    functionLinenumber: 2746
    functionLinenumberEnd: 2751
    functionName: nl80211_mgmt_handle_register_eloop
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_register_eloop_read
    linkageType: ''
    returnType: void
    signature: void nl80211_mgmt_handle_register_eloop(struct i802_bss *bss)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_register_frame
      Src: /src/hostap/src/drivers/driver_nl80211.c:2759,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - bss
    - match
    - match_len
    - multicast
    argTypes:
    - struct i802_bss*
    - u8*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2761
      start: 2754
    functionDepth: 4
    functionLinenumber: 2754
    functionLinenumberEnd: 2761
    functionName: nl80211_register_action_frame2
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_register_frame
    linkageType: ''
    returnType: int
    signature: "int nl80211_register_action_frame2(struct i802_bss *bss,\n\t\t\t\t\t
      \ const u8 *match, size_t match_len,\n\t\t\t\t\t  bool multicast)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_register_action_frame2
      Src: /src/hostap/src/drivers/driver_nl80211.c:2767,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bss
    - match
    - match_len
    argTypes:
    - struct i802_bss*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2768
      start: 2764
    functionDepth: 5
    functionLinenumber: 2764
    functionLinenumberEnd: 2768
    functionName: nl80211_register_action_frame
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_register_action_frame2
    linkageType: ''
    returnType: int
    signature: "int nl80211_register_action_frame(struct i802_bss *bss,\n\t\t\t\t\t
      const u8 *match, size_t match_len)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:2784,1
    - Dst: nl80211_alloc_mgmt_handle
      Src: /src/hostap/src/drivers/driver_nl80211.c:2789,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:2792,1
    - Dst: nl80211_register_action_frame2
      Src: /src/hostap/src/drivers/driver_nl80211.c:2798,1
    - Dst: nl80211_register_action_frame2
      Src: /src/hostap/src/drivers/driver_nl80211.c:2800,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:2802,1
    - Dst: nl_destroy_handles
      Src: /src/hostap/src/drivers/driver_nl80211.c:2804,1
    - Dst: nl80211_register_action_frame2
      Src: /src/hostap/src/drivers/driver_nl80211.c:2810,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:2811,1
    - Dst: nl_destroy_handles
      Src: /src/hostap/src/drivers/driver_nl80211.c:2812,1
    - Dst: nl80211_register_action_frame2
      Src: /src/hostap/src/drivers/driver_nl80211.c:2819,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:2821,1
    - Dst: nl_destroy_handles
      Src: /src/hostap/src/drivers/driver_nl80211.c:2823,1
    - Dst: nl80211_register_frame
      Src: /src/hostap/src/drivers/driver_nl80211.c:2829,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:2833,1
    - Dst: nl_destroy_handles
      Src: /src/hostap/src/drivers/driver_nl80211.c:2835,1
    - Dst: nl80211_register_action_frame2
      Src: /src/hostap/src/drivers/driver_nl80211.c:2841,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:2843,1
    - Dst: nl_destroy_handles
      Src: /src/hostap/src/drivers/driver_nl80211.c:2845,1
    - Dst: nl80211_mgmt_handle_register_eloop
      Src: /src/hostap/src/drivers/driver_nl80211.c:2849,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 2
    argNames:
    - bss
    - nlmode
    argTypes:
    - struct i802_bss*
    - enum nl80211_iftype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2854
      start: 2776
    functionDepth: 5
    functionLinenumber: 2776
    functionLinenumberEnd: 2854
    functionName: nl80211_mgmt_subscribe_nan
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - nl80211_mgmt_handle_register_eloop
    - nl_destroy_handles
    - nl80211_register_action_frame2
    - nl80211_alloc_mgmt_handle
    - nl80211_register_frame
    linkageType: ''
    returnType: int
    signature: "int nl80211_mgmt_subscribe_nan(struct i802_bss *bss,\n\t\t\t\t      enum
      nl80211_iftype nlmode)"
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_alloc_mgmt_handle
      Src: /src/hostap/src/drivers/driver_nl80211.c:2863,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:2865,1
    - Dst: nl80211_register_frame
      Src: /src/hostap/src/drivers/driver_nl80211.c:2870,1
    - Dst: nl80211_register_frame
      Src: /src/hostap/src/drivers/driver_nl80211.c:2874,1
    - Dst: nl80211_register_frame
      Src: /src/hostap/src/drivers/driver_nl80211.c:2882,1
    - Dst: nl80211_register_frame
      Src: /src/hostap/src/drivers/driver_nl80211.c:2891,1
    - Dst: nl80211_register_frame
      Src: /src/hostap/src/drivers/driver_nl80211.c:2898,1
    - Dst: nl80211_register_action_frame
      Src: /src/hostap/src/drivers/driver_nl80211.c:2905,1
    - Dst: nl80211_register_action_frame
      Src: /src/hostap/src/drivers/driver_nl80211.c:2910,1
    - Dst: nl80211_register_action_frame
      Src: /src/hostap/src/drivers/driver_nl80211.c:2913,1
    - Dst: nl80211_register_action_frame
      Src: /src/hostap/src/drivers/driver_nl80211.c:2916,1
    - Dst: nl80211_register_action_frame
      Src: /src/hostap/src/drivers/driver_nl80211.c:2919,1
    - Dst: nl80211_register_action_frame
      Src: /src/hostap/src/drivers/driver_nl80211.c:2922,1
    - Dst: nl80211_register_action_frame
      Src: /src/hostap/src/drivers/driver_nl80211.c:2925,1
    - Dst: nl80211_register_action_frame
      Src: /src/hostap/src/drivers/driver_nl80211.c:2928,1
    - Dst: nl80211_register_action_frame
      Src: /src/hostap/src/drivers/driver_nl80211.c:2931,1
    - Dst: nl80211_register_action_frame
      Src: /src/hostap/src/drivers/driver_nl80211.c:2936,1
    - Dst: nl80211_register_action_frame
      Src: /src/hostap/src/drivers/driver_nl80211.c:2941,1
    - Dst: nl80211_register_action_frame2
      Src: /src/hostap/src/drivers/driver_nl80211.c:2948,1
    - Dst: nl80211_register_action_frame2
      Src: /src/hostap/src/drivers/driver_nl80211.c:2950,1
    - Dst: nl80211_register_action_frame
      Src: /src/hostap/src/drivers/driver_nl80211.c:2957,1
    - Dst: nl80211_register_action_frame
      Src: /src/hostap/src/drivers/driver_nl80211.c:2964,1
    - Dst: nl80211_register_action_frame
      Src: /src/hostap/src/drivers/driver_nl80211.c:2968,1
    - Dst: nl80211_register_action_frame
      Src: /src/hostap/src/drivers/driver_nl80211.c:2973,1
    - Dst: nl80211_register_action_frame
      Src: /src/hostap/src/drivers/driver_nl80211.c:2980,1
    - Dst: nl80211_register_action_frame
      Src: /src/hostap/src/drivers/driver_nl80211.c:2985,1
    - Dst: nl80211_register_action_frame
      Src: /src/hostap/src/drivers/driver_nl80211.c:3001,1
    - Dst: nl80211_register_action_frame
      Src: /src/hostap/src/drivers/driver_nl80211.c:3004,1
    - Dst: nl80211_register_action_frame
      Src: /src/hostap/src/drivers/driver_nl80211.c:3008,1
    - Dst: nl80211_register_action_frame
      Src: /src/hostap/src/drivers/driver_nl80211.c:3014,1
    - Dst: nl80211_register_action_frame
      Src: /src/hostap/src/drivers/driver_nl80211.c:3019,1
    - Dst: nl80211_register_action_frame
      Src: /src/hostap/src/drivers/driver_nl80211.c:3023,1
    - Dst: nl80211_register_action_frame
      Src: /src/hostap/src/drivers/driver_nl80211.c:3027,1
    - Dst: nl80211_register_action_frame
      Src: /src/hostap/src/drivers/driver_nl80211.c:3032,1
    - Dst: nl80211_register_action_frame
      Src: /src/hostap/src/drivers/driver_nl80211.c:3037,1
    - Dst: nl80211_register_action_frame
      Src: /src/hostap/src/drivers/driver_nl80211.c:3041,1
    - Dst: nl80211_register_action_frame
      Src: /src/hostap/src/drivers/driver_nl80211.c:3045,1
    - Dst: nl80211_register_action_frame
      Src: /src/hostap/src/drivers/driver_nl80211.c:3049,1
    - Dst: nl80211_mgmt_handle_register_eloop
      Src: /src/hostap/src/drivers/driver_nl80211.c:3053,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 89
    argCount: 1
    argNames:
    - bss
    argTypes:
    - struct i802_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3056
      start: 2857
    functionDepth: 6
    functionLinenumber: 2857
    functionLinenumberEnd: 3056
    functionName: nl80211_mgmt_subscribe_non_ap
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - nl80211_mgmt_handle_register_eloop
    - nl80211_register_action_frame
    - nl80211_register_action_frame2
    - nl80211_alloc_mgmt_handle
    - nl80211_register_frame
    linkageType: ''
    returnType: int
    signature: int nl80211_mgmt_subscribe_non_ap(struct i802_bss *bss)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_alloc_mgmt_handle
      Src: /src/hostap/src/drivers/driver_nl80211.c:3063,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:3066,1
    - Dst: nl80211_register_frame
      Src: /src/hostap/src/drivers/driver_nl80211.c:3071,1
    - Dst: nl80211_register_action_frame
      Src: /src/hostap/src/drivers/driver_nl80211.c:3078,1
    - Dst: nl80211_register_action_frame
      Src: /src/hostap/src/drivers/driver_nl80211.c:3081,1
    - Dst: nl80211_register_action_frame
      Src: /src/hostap/src/drivers/driver_nl80211.c:3084,1
    - Dst: nl80211_mgmt_handle_register_eloop
      Src: /src/hostap/src/drivers/driver_nl80211.c:3087,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - bss
    argTypes:
    - struct i802_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3090
      start: 3059
    functionDepth: 6
    functionLinenumber: 3059
    functionLinenumberEnd: 3090
    functionName: nl80211_mgmt_subscribe_mesh
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - nl80211_mgmt_handle_register_eloop
    - nl80211_register_action_frame
    - nl80211_alloc_mgmt_handle
    - nl80211_register_frame
    linkageType: ''
    returnType: int
    signature: int nl80211_mgmt_subscribe_mesh(struct i802_bss *bss)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:3098,1
    - Dst: send_and_recv
      Src: /src/hostap/src/drivers/driver_nl80211.c:3099,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:3102,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:3104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - bss
    argTypes:
    - struct i802_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3107
      start: 3093
    functionDepth: 5
    functionLinenumber: 3093
    functionLinenumberEnd: 3107
    functionName: nl80211_register_spurious_class3
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - send_and_recv
    - nl80211_bss_msg
    - wpa_printf
    - strerror
    linkageType: ''
    returnType: int
    signature: int nl80211_register_spurious_class3(struct i802_bss *bss)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_register_action_frame
      Src: /src/hostap/src/drivers/driver_nl80211.c:3115,1
    - Dst: nl80211_register_action_frame
      Src: /src/hostap/src/drivers/driver_nl80211.c:3118,1
    - Dst: nl80211_register_action_frame
      Src: /src/hostap/src/drivers/driver_nl80211.c:3121,1
    - Dst: nl80211_register_action_frame
      Src: /src/hostap/src/drivers/driver_nl80211.c:3124,1
    - Dst: nl80211_register_action_frame
      Src: /src/hostap/src/drivers/driver_nl80211.c:3127,1
    - Dst: nl80211_register_action_frame
      Src: /src/hostap/src/drivers/driver_nl80211.c:3130,1
    - Dst: nl80211_register_action_frame
      Src: /src/hostap/src/drivers/driver_nl80211.c:3133,1
    - Dst: nl80211_register_action_frame
      Src: /src/hostap/src/drivers/driver_nl80211.c:3136,1
    - Dst: nl80211_register_action_frame
      Src: /src/hostap/src/drivers/driver_nl80211.c:3139,1
    - Dst: nl80211_register_action_frame
      Src: /src/hostap/src/drivers/driver_nl80211.c:3143,1
    - Dst: nl80211_register_action_frame
      Src: /src/hostap/src/drivers/driver_nl80211.c:3148,1
    - Dst: nl80211_register_action_frame
      Src: /src/hostap/src/drivers/driver_nl80211.c:3152,1
    - Dst: nl80211_register_action_frame
      Src: /src/hostap/src/drivers/driver_nl80211.c:3155,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 1
    argNames:
    - bss
    argTypes:
    - struct i802_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3159
      start: 3110
    functionDepth: 6
    functionLinenumber: 3110
    functionLinenumberEnd: 3159
    functionName: nl80211_action_subscribe_ap
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_register_action_frame
    linkageType: ''
    returnType: int
    signature: int nl80211_action_subscribe_ap(struct i802_bss *bss)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_alloc_mgmt_handle
      Src: /src/hostap/src/drivers/driver_nl80211.c:3180,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:3182,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/drivers/driver_nl80211.c:3185,1
    - Dst: nl80211_register_frame
      Src: /src/hostap/src/drivers/driver_nl80211.c:3186,1
    - Dst: nl80211_action_subscribe_ap
      Src: /src/hostap/src/drivers/driver_nl80211.c:3194,1
    - Dst: nl80211_register_spurious_class3
      Src: /src/hostap/src/drivers/driver_nl80211.c:3197,1
    - Dst: nl80211_mgmt_handle_register_eloop
      Src: /src/hostap/src/drivers/driver_nl80211.c:3200,1
    - Dst: nl_destroy_handles
      Src: /src/hostap/src/drivers/driver_nl80211.c:3204,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - bss
    argTypes:
    - struct i802_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3206
      start: 3162
    functionDepth: 7
    functionLinenumber: 3162
    functionLinenumberEnd: 3206
    functionName: nl80211_mgmt_subscribe_ap
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_register_spurious_class3
    - wpa_printf
    - nl80211_mgmt_handle_register_eloop
    - nl_destroy_handles
    - nl80211_alloc_mgmt_handle
    - nl80211_register_frame
    - ARRAY_SIZE
    - nl80211_action_subscribe_ap
    linkageType: ''
    returnType: int
    signature: int nl80211_mgmt_subscribe_ap(struct i802_bss *bss)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_alloc_mgmt_handle
      Src: /src/hostap/src/drivers/driver_nl80211.c:3211,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:3213,1
    - Dst: nl80211_action_subscribe_ap
      Src: /src/hostap/src/drivers/driver_nl80211.c:3216,1
    - Dst: nl80211_register_frame
      Src: /src/hostap/src/drivers/driver_nl80211.c:3223,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:3225,1
    - Dst: nl80211_mgmt_handle_register_eloop
      Src: /src/hostap/src/drivers/driver_nl80211.c:3229,1
    - Dst: nl_destroy_handles
      Src: /src/hostap/src/drivers/driver_nl80211.c:3233,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - bss
    argTypes:
    - struct i802_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3235
      start: 3209
    functionDepth: 7
    functionLinenumber: 3209
    functionLinenumberEnd: 3235
    functionName: nl80211_mgmt_subscribe_ap_dev_sme
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - nl80211_mgmt_handle_register_eloop
    - nl_destroy_handles
    - nl80211_alloc_mgmt_handle
    - nl80211_register_frame
    - nl80211_action_subscribe_ap
    linkageType: ''
    returnType: int
    signature: int nl80211_mgmt_subscribe_ap_dev_sme(struct i802_bss *bss)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:3242,1
    - Dst: nl80211_destroy_eloop_handle
      Src: /src/hostap/src/drivers/driver_nl80211.c:3244,1
    - Dst: nl80211_put_wiphy_data_ap
      Src: /src/hostap/src/drivers/driver_nl80211.c:3246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - bss
    - reason
    argTypes:
    - struct i802_bss*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3247
      start: 3238
    functionDepth: 3
    functionLinenumber: 3238
    functionLinenumberEnd: 3247
    functionName: nl80211_mgmt_unsubscribe
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_put_wiphy_data_ap
    - wpa_printf
    - nl80211_destroy_eloop_handle
    linkageType: ''
    returnType: void
    signature: void nl80211_mgmt_unsubscribe(struct i802_bss *bss, const char *reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211.c:3252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3253
      start: 3250
    functionDepth: 0
    functionLinenumber: 3250
    functionLinenumberEnd: 3253
    functionName: wpa_driver_nl80211_send_rfkill
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    linkageType: ''
    returnType: void
    signature: void wpa_driver_nl80211_send_rfkill(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_cmd_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:3261,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:3262,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:3264,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:3266,1
    - Dst: nl80211_destroy_eloop_handle
      Src: /src/hostap/src/drivers/driver_nl80211.c:3269,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - bss
    argTypes:
    - struct i802_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3271
      start: 3256
    functionDepth: 3
    functionLinenumber: 3256
    functionLinenumberEnd: 3271
    functionName: nl80211_del_non_netdev
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - strerror
    - nl80211_destroy_eloop_handle
    - send_and_recv_cmd
    - nl80211_cmd_msg
    linkageType: ''
    returnType: void
    signature: void nl80211_del_non_netdev(struct i802_bss *bss)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_cmd_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:3279,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:3281,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:3283,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:3286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - bss
    - start
    argTypes:
    - struct i802_bss*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3288
      start: 3274
    functionDepth: 3
    functionLinenumber: 3274
    functionLinenumberEnd: 3288
    functionName: nl80211_set_p2pdev
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - send_and_recv_cmd
    - nl80211_cmd_msg
    - strerror
    linkageType: ''
    returnType: int
    signature: int nl80211_set_p2pdev(struct i802_bss *bss, int start)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_cmd_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:3296,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:3298,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:3300,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:3303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - bss
    - start
    argTypes:
    - struct i802_bss*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3305
      start: 3291
    functionDepth: 3
    functionLinenumber: 3291
    functionLinenumberEnd: 3305
    functionName: nl80211_set_pr_dev
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - send_and_recv_cmd
    - nl80211_cmd_msg
    - strerror
    linkageType: ''
    returnType: int
    signature: int nl80211_set_pr_dev(struct i802_bss *bss, bool start)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_cmd_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:3317,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:3319,1
    - Dst: send_and_recv_resp
      Src: /src/hostap/src/drivers/driver_nl80211.c:3324,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:3325,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - bss
    argTypes:
    - struct i802_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3329
      start: 3309
    functionDepth: 3
    functionLinenumber: 3309
    functionLinenumberEnd: 3329
    functionName: nl80211_nan_stop
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - nl80211_cmd_msg
    - send_and_recv_resp
    linkageType: ''
    returnType: void
    signature: void nl80211_nan_stop(struct i802_bss *bss)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_nan_stop
      Src: /src/hostap/src/drivers/driver_nl80211.c:3345,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - bss
    - start
    argTypes:
    - struct i802_bss*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3349
      start: 3333
    functionDepth: 4
    functionLinenumber: 3333
    functionLinenumberEnd: 3349
    functionName: nl80211_set_nandev
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_nan_stop
    linkageType: ''
    returnType: int
    signature: int nl80211_set_nandev(struct i802_bss *bss, int start)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_get_ifmode
      Src: /src/hostap/src/drivers/driver_nl80211.c:3356,1
    - Dst: nl80211_set_p2pdev
      Src: /src/hostap/src/drivers/driver_nl80211.c:3359,1
    - Dst: nl80211_set_nandev
      Src: /src/hostap/src/drivers/driver_nl80211.c:3363,1
    - Dst: nl80211_set_pr_dev
      Src: /src/hostap/src/drivers/driver_nl80211.c:3367,1
    - Dst: linux_set_iface_flags
      Src: /src/hostap/src/drivers/driver_nl80211.c:3370,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - bss
    - up
    argTypes:
    - struct i802_bss*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3372
      start: 3352
    functionDepth: 5
    functionLinenumber: 3352
    functionLinenumberEnd: 3372
    functionName: i802_set_iface_flags
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 1
    functionsReached:
    - nl80211_get_ifmode
    - linux_set_iface_flags
    - nl80211_set_p2pdev
    - nl80211_set_nandev
    - nl80211_set_pr_dev
    linkageType: ''
    returnType: int
    signature: int i802_set_iface_flags(struct i802_bss *bss, int up)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nlmsg_data
      Src: /src/hostap/src/drivers/driver_nl80211.c:3380,1
    - Dst: nlmsg_hdr
      Src: /src/hostap/src/drivers/driver_nl80211.c:3380,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:3383,1
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211.c:3386,1
    - Dst: genlmsg_attrdata
      Src: /src/hostap/src/drivers/driver_nl80211.c:3386,1
    - Dst: genlmsg_attrlen
      Src: /src/hostap/src/drivers/driver_nl80211.c:3387,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:3389,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/drivers/driver_nl80211.c:3393,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211.c:3395,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211.c:3396,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - msg
    - arg
    argTypes:
    - struct nl_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3399
      start: 3376
    functionDepth: 0
    functionLinenumber: 3376
    functionLinenumberEnd: 3399
    functionName: qca_vendor_test_cmd_handler
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nlmsg_hdr
    - wpa_printf
    - nla_len
    - wpa_hexdump
    - nla_parse
    - nlmsg_data
    - nla_data
    - genlmsg_attrlen
    - genlmsg_attrdata
    linkageType: ''
    returnType: int
    signature: int qca_vendor_test_cmd_handler(struct nl_msg *msg, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_drv_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:3410,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:3411,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:3412,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:3414,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:3415,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:3416,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:3419,1
    - Dst: send_and_recv_resp
      Src: /src/hostap/src/drivers/driver_nl80211.c:3421,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:3422,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:3424,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - drv
    argTypes:
    - struct wpa_driver_nl80211_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3426
      start: 3403
    functionDepth: 5
    functionLinenumber: 3403
    functionLinenumberEnd: 3426
    functionName: qca_vendor_test
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - strerror
    - nl80211_drv_msg
    - send_and_recv_resp
    - nlmsg_free
    - nla_nest_end
    - nla_nest_start
    - nla_put_u32
    linkageType: ''
    returnType: void
    signature: void qca_vendor_test(struct wpa_driver_nl80211_data *drv)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:3438,1
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:3454,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:3456,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:3457,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:3461,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:3465,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:3468,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:3470,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:3472,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:3474,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:3478,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 2
    argNames:
    - priv
    - mode
    argTypes:
    - void*
    - enum wpa_p2p_mode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3480
      start: 3430
    functionDepth: 5
    functionLinenumber: 3430
    functionLinenumberEnd: 3480
    functionName: nl80211_set_p2p_mode
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_bss_msg
    - wpa_printf
    - strerror
    - send_and_recv_cmd
    - nla_put_u8
    - nlmsg_free
    - nla_nest_end
    - nla_nest_start
    - nla_put_u32
    linkageType: ''
    returnType: int
    signature: int nl80211_set_p2p_mode(void *priv, enum wpa_p2p_mode mode)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: if_nametoindex
      Src: /src/hostap/src/drivers/driver_nl80211.c:3494,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211.c:3509,1
    - Dst: nl80211_cmd_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:3510,1
    - Dst: send_and_recv_resp
      Src: /src/hostap/src/drivers/driver_nl80211.c:3512,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:3517,1
    - Dst: nl80211_get_ifmode
      Src: /src/hostap/src/drivers/driver_nl80211.c:3528,1
    - Dst: nl80211_is_netdev_iftype
      Src: /src/hostap/src/drivers/driver_nl80211.c:3531,1
    - Dst: nl80211_get_ifmode
      Src: /src/hostap/src/drivers/driver_nl80211.c:3531,1
    - Dst: linux_iface_up
      Src: /src/hostap/src/drivers/driver_nl80211.c:3532,1
    - Dst: wpa_driver_nl80211_capa
      Src: /src/hostap/src/drivers/driver_nl80211.c:3535,1
    - Dst: nl80211_set_param
      Src: /src/hostap/src/drivers/driver_nl80211.c:3538,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:3541,1
    - Dst: linux_set_iface_flags
      Src: /src/hostap/src/drivers/driver_nl80211.c:3545,1
    - Dst: linux_set_ifhwaddr
      Src: /src/hostap/src/drivers/driver_nl80211.c:3546,1
    - Dst: nl80211_get_ifmode
      Src: /src/hostap/src/drivers/driver_nl80211.c:3550,1
    - Dst: nl80211_get_ifmode
      Src: /src/hostap/src/drivers/driver_nl80211.c:3556,1
    - Dst: nl80211_get_ifmode
      Src: /src/hostap/src/drivers/driver_nl80211.c:3557,1
    - Dst: wpa_driver_nl80211_set_mode
      Src: /src/hostap/src/drivers/driver_nl80211.c:3561,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:3562,1
    - Dst: nl80211_is_netdev_iftype
      Src: /src/hostap/src/drivers/driver_nl80211.c:3566,1
    - Dst: nl80211_get_ifmode
      Src: /src/hostap/src/drivers/driver_nl80211.c:3566,1
    - Dst: nl80211_get_macaddr
      Src: /src/hostap/src/drivers/driver_nl80211.c:3567,1
    - Dst: wpa_driver_nl80211_drv_init_rfkill
      Src: /src/hostap/src/drivers/driver_nl80211.c:3569,1
    - Dst: nl80211_set_p2p_mode
      Src: /src/hostap/src/drivers/driver_nl80211.c:3573,1
    - Dst: rfkill_is_blocked
      Src: /src/hostap/src/drivers/driver_nl80211.c:3576,1
    - Dst: i802_set_iface_flags
      Src: /src/hostap/src/drivers/driver_nl80211.c:3577,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:3579,1
    - Dst: is_p2p_net_interface
      Src: /src/hostap/src/drivers/driver_nl80211.c:3584,1
    - Dst: nl80211_disable_11b_rates
      Src: /src/hostap/src/drivers/driver_nl80211.c:3585,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:3592,1
    - Dst: nl80211_is_netdev_iftype
      Src: /src/hostap/src/drivers/driver_nl80211.c:3600,1
    - Dst: netlink_send_oper_ifla
      Src: /src/hostap/src/drivers/driver_nl80211.c:3601,1
    - Dst: nl80211_is_netdev_iftype
      Src: /src/hostap/src/drivers/driver_nl80211.c:3604,1
    - Dst: linux_get_ifhwaddr
      Src: /src/hostap/src/drivers/driver_nl80211.c:3605,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:3609,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/drivers/driver_nl80211.c:3613,1
    - Dst: qca_vendor_test
      Src: /src/hostap/src/drivers/driver_nl80211.c:3617,1
    - Dst: linux_br_add_if
      Src: /src/hostap/src/drivers/driver_nl80211.c:3620,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:3622,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:3624,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 77
    argCount: 4
    argNames:
    - bss
    - set_addr
    - driver_params
    - p2p_mode
    argTypes:
    - struct i802_bss*
    - u8*
    - char*
    - enum wpa_p2p_mode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3628
      start: 3484
    functionDepth: 6
    functionLinenumber: 3484
    functionLinenumberEnd: 3628
    functionName: wpa_driver_nl80211_finish_drv_init
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 2
    functionsReached:
    - rfkill_is_blocked
    - is_p2p_net_interface
    - wpa_driver_nl80211_drv_init_rfkill
    - linux_set_iface_flags
    - send_and_recv_resp
    - nl80211_get_macaddr
    - netlink_send_oper_ifla
    - linux_br_add_if
    - linux_set_ifhwaddr
    - linux_iface_up
    - wpa_printf
    - linux_get_ifhwaddr
    - wpa_driver_nl80211_set_mode
    - nl80211_get_ifmode
    - nl80211_set_param
    - nl80211_is_netdev_iftype
    - wpa_driver_nl80211_capa
    - if_nametoindex
    - os_memset
    - qca_vendor_test
    - nl80211_disable_11b_rates
    - os_memcpy
    - strerror
    - nl80211_set_p2p_mode
    - i802_set_iface_flags
    - eloop_register_timeout
    - nl80211_cmd_msg
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_nl80211_finish_drv_init(struct i802_bss *bss, const
      u8 *set_addr,\n\t\t\t\t   const char *driver_params,\n\t\t\t\t   enum wpa_p2p_mode
      p2p_mode)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_get_link
      Src: /src/hostap/src/drivers/driver_nl80211.c:3636,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:3641,1
    - Dst: nl80211_put_wiphy_data_ap
      Src: /src/hostap/src/drivers/driver_nl80211.c:3646,1
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:3647,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:3652,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:3656,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:3657,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:3662,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - bss
    - link_id
    argTypes:
    - struct i802_bss*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3663
      start: 3631
    functionDepth: 5
    functionLinenumber: 3631
    functionLinenumberEnd: 3663
    functionName: wpa_driver_nl80211_del_beacon
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_bss_msg
    - wpa_printf
    - nl80211_get_link
    - send_and_recv_cmd
    - nla_put_u8
    - nlmsg_free
    - nl80211_put_wiphy_data_ap
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_nl80211_del_beacon(struct i802_bss *bss,\n\t\t\t\t\t
      int link_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: for_each_link_default
      Src: /src/hostap/src/drivers/driver_nl80211.c:3670,1
    - Dst: wpa_driver_nl80211_del_beacon
      Src: /src/hostap/src/drivers/driver_nl80211.c:3671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bss
    argTypes:
    - struct i802_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3672
      start: 3666
    functionDepth: 6
    functionLinenumber: 3666
    functionLinenumberEnd: 3672
    functionName: wpa_driver_nl80211_del_beacon_all
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_driver_nl80211_del_beacon
    - for_each_link_default
    linkageType: ''
    returnType: void
    signature: void wpa_driver_nl80211_del_beacon_all(struct i802_bss *bss)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:3687,1
    - Dst: eloop_unregister_read_sock
      Src: /src/hostap/src/drivers/driver_nl80211.c:3692,1
    - Dst: close
      Src: /src/hostap/src/drivers/driver_nl80211.c:3694,1
    - Dst: nl80211_pd_stop
      Src: /src/hostap/src/drivers/driver_nl80211.c:3696,1
    - Dst: wpa_driver_nl80211_probe_req_report
      Src: /src/hostap/src/drivers/driver_nl80211.c:3700,1
    - Dst: linux_br_del_if
      Src: /src/hostap/src/drivers/driver_nl80211.c:3702,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:3704,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:3706,1
    - Dst: linux_set_iface_flags
      Src: /src/hostap/src/drivers/driver_nl80211.c:3710,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:3712,1
    - Dst: linux_br_del
      Src: /src/hostap/src/drivers/driver_nl80211.c:3715,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:3716,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:3718,1
    - Dst: is_ap_interface
      Src: /src/hostap/src/drivers/driver_nl80211.c:3721,1
    - Dst: wpa_driver_nl80211_del_beacon_all
      Src: /src/hostap/src/drivers/driver_nl80211.c:3722,1
    - Dst: nl80211_remove_links
      Src: /src/hostap/src/drivers/driver_nl80211.c:3723,1
    - Dst: nl_socket_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:3727,1
    - Dst: eloop_unregister_read_sock
      Src: /src/hostap/src/drivers/driver_nl80211.c:3730,1
    - Dst: close
      Src: /src/hostap/src/drivers/driver_nl80211.c:3731,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:3735,1
    - Dst: nl80211_disable_11b_rates
      Src: /src/hostap/src/drivers/driver_nl80211.c:3738,1
    - Dst: netlink_send_oper_ifla
      Src: /src/hostap/src/drivers/driver_nl80211.c:3740,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/drivers/driver_nl80211.c:3742,1
    - Dst: rfkill_deinit
      Src: /src/hostap/src/drivers/driver_nl80211.c:3743,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/drivers/driver_nl80211.c:3745,1
    - Dst: i802_set_iface_flags
      Src: /src/hostap/src/drivers/driver_nl80211.c:3748,1
    - Dst: linux_set_iface_flags
      Src: /src/hostap/src/drivers/driver_nl80211.c:3751,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:3753,1
    - Dst: linux_set_ifhwaddr
      Src: /src/hostap/src/drivers/driver_nl80211.c:3756,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:3758,1
    - Dst: nl80211_is_netdev_iftype
      Src: /src/hostap/src/drivers/driver_nl80211.c:3763,1
    - Dst: wpa_driver_nl80211_set_mode
      Src: /src/hostap/src/drivers/driver_nl80211.c:3765,1
    - Dst: nl80211_mgmt_unsubscribe
      Src: /src/hostap/src/drivers/driver_nl80211.c:3767,1
    - Dst: nl80211_mgmt_unsubscribe
      Src: /src/hostap/src/drivers/driver_nl80211.c:3769,1
    - Dst: nl80211_del_non_netdev
      Src: /src/hostap/src/drivers/driver_nl80211.c:3770,1
    - Dst: nl80211_put_wiphy_data_ap
      Src: /src/hostap/src/drivers/driver_nl80211.c:3772,1
    - Dst: nl80211_destroy_bss
      Src: /src/hostap/src/drivers/driver_nl80211.c:3774,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:3776,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:3778,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:3779,1
    - Dst: dl_list_del
      Src: /src/hostap/src/drivers/driver_nl80211.c:3782,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:3784,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:3785,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:3787,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:3788,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:3790,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:3792,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:3794,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 72
    argCount: 1
    argNames:
    - bss
    argTypes:
    - struct i802_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3795
      start: 3682
    functionDepth: 7
    functionLinenumber: 3682
    functionLinenumberEnd: 3795
    functionName: wpa_driver_nl80211_deinit
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 1
    functionsReached:
    - eloop_unregister_read_sock
    - linux_set_iface_flags
    - nl80211_remove_links
    - wpa_driver_nl80211_del_beacon_all
    - netlink_send_oper_ifla
    - linux_set_ifhwaddr
    - wpa_printf
    - nl80211_destroy_bss
    - nl80211_del_non_netdev
    - os_free
    - wpa_driver_nl80211_set_mode
    - nl80211_mgmt_unsubscribe
    - wpa_driver_nl80211_probe_req_report
    - nl80211_pd_stop
    - linux_br_del_if
    - is_ap_interface
    - nl80211_is_netdev_iftype
    - rfkill_deinit
    - nl80211_disable_11b_rates
    - nl_socket_free
    - dl_list_del
    - strerror
    - eloop_cancel_timeout
    - close
    - i802_set_iface_flags
    - nl80211_put_wiphy_data_ap
    - linux_br_del
    linkageType: ''
    returnType: void
    signature: void wpa_driver_nl80211_deinit(struct i802_bss *bss)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:3828,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:3833,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    argCount: 2
    argNames:
    - alg
    - key_len
    argTypes:
    - enum wpa_alg
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3836
      start: 3798
    functionDepth: 0
    functionLinenumber: 3798
    functionLinenumberEnd: 3836
    functionName: wpa_alg_to_cipher_suite
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: u32
    signature: u32 wpa_alg_to_cipher_suite(enum wpa_alg alg, size_t key_len)
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3861
      start: 3839
    functionDepth: 0
    functionLinenumber: 3839
    functionLinenumberEnd: 3861
    functionName: wpa_cipher_to_cipher_suite
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: u32 wpa_cipher_to_cipher_suite(unsigned int cipher)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 16
    argCount: 3
    argNames:
    - ciphers
    - suites
    - max_suites
    argTypes:
    - unsigned int
    - u32[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3885
      start: 3864
    functionDepth: 0
    functionLinenumber: 3864
    functionLinenumberEnd: 3885
    functionName: wpa_cipher_to_cipher_suites
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int wpa_cipher_to_cipher_suites(unsigned int ciphers, u32 suites[],\n\t\t\t\t
      \      int max_suites)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __AKM
      Src: /src/hostap/src/drivers/driver_nl80211.c:3897,1
    - Dst: __AKM
      Src: /src/hostap/src/drivers/driver_nl80211.c:3898,1
    - Dst: __AKM
      Src: /src/hostap/src/drivers/driver_nl80211.c:3899,1
    - Dst: __AKM
      Src: /src/hostap/src/drivers/driver_nl80211.c:3900,1
    - Dst: __AKM
      Src: /src/hostap/src/drivers/driver_nl80211.c:3901,1
    - Dst: __AKM
      Src: /src/hostap/src/drivers/driver_nl80211.c:3902,1
    - Dst: __AKM
      Src: /src/hostap/src/drivers/driver_nl80211.c:3903,1
    - Dst: __AKM
      Src: /src/hostap/src/drivers/driver_nl80211.c:3904,1
    - Dst: __AKM
      Src: /src/hostap/src/drivers/driver_nl80211.c:3905,1
    - Dst: __AKM
      Src: /src/hostap/src/drivers/driver_nl80211.c:3906,1
    - Dst: __AKM
      Src: /src/hostap/src/drivers/driver_nl80211.c:3907,1
    - Dst: __AKM
      Src: /src/hostap/src/drivers/driver_nl80211.c:3908,1
    - Dst: __AKM
      Src: /src/hostap/src/drivers/driver_nl80211.c:3909,1
    - Dst: __AKM
      Src: /src/hostap/src/drivers/driver_nl80211.c:3910,1
    - Dst: __AKM
      Src: /src/hostap/src/drivers/driver_nl80211.c:3911,1
    - Dst: __AKM
      Src: /src/hostap/src/drivers/driver_nl80211.c:3912,1
    - Dst: __AKM
      Src: /src/hostap/src/drivers/driver_nl80211.c:3913,1
    - Dst: __AKM
      Src: /src/hostap/src/drivers/driver_nl80211.c:3914,1
    - Dst: __AKM
      Src: /src/hostap/src/drivers/driver_nl80211.c:3915,1
    - Dst: __AKM
      Src: /src/hostap/src/drivers/driver_nl80211.c:3916,1
    - Dst: __AKM
      Src: /src/hostap/src/drivers/driver_nl80211.c:3917,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 3
    argNames:
    - key_mgmt_suites
    - suites
    - max_suites
    argTypes:
    - unsigned int
    - u32[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3921
      start: 3888
    functionDepth: 1
    functionLinenumber: 3888
    functionLinenumberEnd: 3921
    functionName: wpa_key_mgmt_to_suites
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - __AKM
    linkageType: ''
    returnType: int
    signature: "int wpa_key_mgmt_to_suites(unsigned int key_mgmt_suites, u32 suites[],\n\t\t\t\t
      \ int max_suites)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3897
      start: 3893
    functionDepth: 0
    functionLinenumber: 3893
    functionLinenumberEnd: 3897
    functionName: __AKM
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __AKM(a, b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_attr_supported
      Src: /src/hostap/src/drivers/driver_nl80211.c:3936,1
    - Dst: wpa_key_mgmt_sae
      Src: /src/hostap/src/drivers/driver_nl80211.c:3937,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - drv
    - key_mgmt_suites
    - proto
    argTypes:
    - struct wpa_driver_nl80211_data*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3944
      start: 3924
    functionDepth: 1
    functionLinenumber: 3924
    functionLinenumberEnd: 3944
    functionName: wpa_ver_supported
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_key_mgmt_sae
    - nl80211_attr_supported
    linkageType: ''
    returnType: int
    signature: "int wpa_ver_supported(struct wpa_driver_nl80211_data *drv,\n\t\t\t
      \    int key_mgmt_suites, int proto)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:3958,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:3959,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:3960,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:3962,1
    - Dst: nl80211_nlmsg_clear
      Src: /src/hostap/src/drivers/driver_nl80211.c:3963,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:3964,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:3967,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:3969,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:3971,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - bss
    - key
    - key_len
    argTypes:
    - struct i802_bss*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3975
      start: 3948
    functionDepth: 5
    functionLinenumber: 3948
    functionLinenumberEnd: 3975
    functionName: issue_key_mgmt_set_key
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_bss_msg
    - wpa_printf
    - strerror
    - nl80211_nlmsg_clear
    - send_and_recv_cmd
    - nlmsg_free
    - nla_put_u32
    - nla_put
    linkageType: ''
    returnType: int
    signature: "int issue_key_mgmt_set_key(struct i802_bss *bss, const u8 *key,\n\t\t\t\t
      \ size_t key_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:3995,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:3996,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/drivers/driver_nl80211.c:3997,1
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:3998,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:4000,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:4001,1
    - Dst: nl80211_nlmsg_clear
      Src: /src/hostap/src/drivers/driver_nl80211.c:4002,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:4003,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:4007,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:4009,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:4010,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - bss
    - key
    - key_len
    - addr
    argTypes:
    - struct i802_bss*
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4014
      start: 3979
    functionDepth: 5
    functionLinenumber: 3979
    functionLinenumberEnd: 4014
    functionName: nl80211_set_pmk
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_bss_msg
    - wpa_printf
    - wpa_hexdump_key
    - strerror
    - nl80211_nlmsg_clear
    - send_and_recv_cmd
    - MAC2STR
    - nlmsg_free
    - nla_put
    linkageType: ''
    returnType: int
    signature: "int nl80211_set_pmk(struct i802_bss *bss, const u8 *key, size_t key_len,\n\t\t\t
      \  const u8 *addr)"
  - BBCount: 58
    BranchProfiles: []
    Callsites:
    - Dst: if_nametoindex
      Src: /src/hostap/src/drivers/driver_nl80211.c:4044,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/drivers/driver_nl80211.c:4049,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:4052,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:4054,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:4059,1
    - Dst: check_key_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:4065,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:4066,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:4073,1
    - Dst: issue_key_mgmt_set_key
      Src: /src/hostap/src/drivers/driver_nl80211.c:4075,1
    - Dst: nl80211_set_pmk
      Src: /src/hostap/src/drivers/driver_nl80211.c:4082,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:4091,1
    - Dst: nlmsg_alloc
      Src: /src/hostap/src/drivers/driver_nl80211.c:4097,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:4103,1
    - Dst: nl80211_is_netdev_iftype
      Src: /src/hostap/src/drivers/driver_nl80211.c:4105,1
    - Dst: nl80211_cmd_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:4106,1
    - Dst: nl80211_ifindex_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:4108,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:4113,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:4118,1
    - Dst: nl80211_is_netdev_iftype
      Src: /src/hostap/src/drivers/driver_nl80211.c:4119,1
    - Dst: nl80211_cmd_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:4120,1
    - Dst: nl80211_ifindex_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:4122,1
    - Dst: wpa_alg_to_cipher_suite
      Src: /src/hostap/src/drivers/driver_nl80211.c:4129,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:4134,1
    - Dst: nl80211_is_netdev_iftype
      Src: /src/hostap/src/drivers/driver_nl80211.c:4135,1
    - Dst: nl80211_cmd_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:4136,1
    - Dst: nl80211_ifindex_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:4138,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:4143,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:4144,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/drivers/driver_nl80211.c:4146,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:4149,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/drivers/driver_nl80211.c:4151,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:4156,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/drivers/driver_nl80211.c:4160,1
    - Dst: is_broadcast_ether_addr
      Src: /src/hostap/src/drivers/driver_nl80211.c:4166,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:4167,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:4167,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:4168,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:4175,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:4181,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:4182,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:4187,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:4191,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:4197,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:4200,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:4204,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:4209,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:4213,1
    - Dst: nla_put_nested
      Src: /src/hostap/src/drivers/driver_nl80211.c:4214,1
    - Dst: nl80211_nlmsg_clear
      Src: /src/hostap/src/drivers/driver_nl80211.c:4216,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:4217,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:4221,1
    - Dst: nla_put_u16
      Src: /src/hostap/src/drivers/driver_nl80211.c:4222,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:4227,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:4228,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:4232,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:4236,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:4237,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:4245,1
    - Dst: nlmsg_alloc
      Src: /src/hostap/src/drivers/driver_nl80211.c:4248,1
    - Dst: nl80211_is_netdev_iftype
      Src: /src/hostap/src/drivers/driver_nl80211.c:4252,1
    - Dst: nl80211_cmd_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:4253,1
    - Dst: nl80211_ifindex_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:4255,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:4259,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:4260,1
    - Dst: wpa_alg_bip
      Src: /src/hostap/src/drivers/driver_nl80211.c:4260,1
    - Dst: is_broadcast_ether_addr
      Src: /src/hostap/src/drivers/driver_nl80211.c:4266,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:4269,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:4271,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:4273,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:4277,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:4279,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:4281,1
    - Dst: nla_put_nested
      Src: /src/hostap/src/drivers/driver_nl80211.c:4284,1
    - Dst: nl80211_nlmsg_clear
      Src: /src/hostap/src/drivers/driver_nl80211.c:4286,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:4287,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:4291,1
    - Dst: nla_put_u16
      Src: /src/hostap/src/drivers/driver_nl80211.c:4293,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:4298,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:4300,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:4304,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:4306,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:4308,1
    - Dst: nl80211_nlmsg_clear
      Src: /src/hostap/src/drivers/driver_nl80211.c:4312,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:4313,1
    - Dst: nl80211_nlmsg_clear
      Src: /src/hostap/src/drivers/driver_nl80211.c:4315,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:4316,1
    CyclomaticComplexity: 108
    EdgeCount: 108
    ICount: 215
    argCount: 2
    argNames:
    - bss
    - params
    argTypes:
    - struct i802_bss*
    - struct wpa_driver_set_key_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4318
      start: 4017
    functionDepth: 6
    functionLinenumber: 4017
    functionLinenumberEnd: 4318
    functionName: wpa_driver_nl80211_set_key
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_hexdump
    - nlmsg_alloc
    - nla_put_u8
    - nla_nest_start
    - nla_put_u32
    - nla_put
    - wpa_alg_to_cipher_suite
    - wpa_printf
    - ether_addr_equal
    - nl80211_ifindex_msg
    - nlmsg_free
    - check_key_flag
    - issue_key_mgmt_set_key
    - wpa_hexdump_key
    - nl80211_set_pmk
    - send_and_recv_cmd
    - nl80211_is_netdev_iftype
    - if_nametoindex
    - wpa_alg_bip
    - strerror
    - nl80211_nlmsg_clear
    - is_broadcast_ether_addr
    - nla_put_u16
    - MAC2STR
    - nla_put_flag
    - nla_nest_end
    - nla_put_nested
    - nl80211_cmd_msg
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_nl80211_set_key(struct i802_bss *bss,\n\t\t\t\t      struct
      wpa_driver_set_key_params *params)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:4326,1
    - Dst: wpa_alg_to_cipher_suite
      Src: /src/hostap/src/drivers/driver_nl80211.c:4332,1
    - Dst: wpa_alg_bip
      Src: /src/hostap/src/drivers/driver_nl80211.c:4336,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:4337,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:4340,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:4344,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:4345,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:4347,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:4348,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:4351,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 18
    argCount: 8
    argNames:
    - msg
    - alg
    - key_idx
    - defkey
    - seq
    - seq_len
    - key
    - key_len
    argTypes:
    - struct nl_msg*
    - enum wpa_alg
    - int
    - int
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4354
      start: 4321
    functionDepth: 1
    functionLinenumber: 4321
    functionLinenumberEnd: 4354
    functionName: nl_add_key
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_alg_bip
    - nla_put
    - nla_put_u8
    - nla_nest_end
    - nla_nest_start
    - nla_put_u32
    - nla_put_flag
    - wpa_alg_to_cipher_suite
    linkageType: ''
    returnType: int
    signature: "int nl_add_key(struct nl_msg *msg, enum wpa_alg alg,\n\t\t      int
      key_idx, int defkey,\n\t\t      const u8 *seq, size_t seq_len,\n\t\t      const
      u8 *key, size_t key_len)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:4378,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:4381,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:4389,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:4391,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:4393,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:4397,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:4399,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:4402,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:4404,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 28
    argCount: 2
    argNames:
    - params
    - msg
    argTypes:
    - struct wpa_driver_associate_params*
    - struct nl_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4407
      start: 4357
    functionDepth: 1
    functionLinenumber: 4357
    functionLinenumberEnd: 4407
    functionName: nl80211_set_conn_keys
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nla_put_flag
    - nla_put_u8
    - nla_nest_end
    - nla_nest_start
    - nla_put_u32
    - nla_put
    linkageType: ''
    returnType: int
    signature: "int nl80211_set_conn_keys(struct wpa_driver_associate_params *params,\n\t\t\t\t
      struct nl_msg *msg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:4418,1
    - Dst: nla_put_u16
      Src: /src/hostap/src/drivers/driver_nl80211.c:4419,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:4420,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:4422,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:4423,1
    - Dst: send_and_recv
      Src: /src/hostap/src/drivers/driver_nl80211.c:4427,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/drivers/driver_nl80211.c:4430,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:4432,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 6
    argNames:
    - drv
    - addr
    - cmd
    - reason_code
    - local_state_change
    - bss
    argTypes:
    - struct wpa_driver_nl80211_data*
    - u8*
    - int
    - u16
    - int
    - struct i802_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4435
      start: 4410
    functionDepth: 5
    functionLinenumber: 4410
    functionLinenumberEnd: 4435
    functionName: wpa_driver_nl80211_mlme
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 1
    functionsReached:
    - nl80211_bss_msg
    - strerror
    - send_and_recv
    - nla_put_u16
    - nla_put_flag
    - nlmsg_free
    - wpa_dbg
    - nla_put
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_nl80211_mlme(struct wpa_driver_nl80211_data *drv,\n\t\t\t
      \   const u8 *addr, int cmd, u16 reason_code,\n\t\t\t    int local_state_change,\n\t\t\t
      \   struct i802_bss *bss)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:4444,1
    - Dst: nl80211_mark_disconnected
      Src: /src/hostap/src/drivers/driver_nl80211.c:4445,1
    - Dst: wpa_driver_nl80211_mlme
      Src: /src/hostap/src/drivers/driver_nl80211.c:4447,1
    - Dst: send_event_marker
      Src: /src/hostap/src/drivers/driver_nl80211.c:4454,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - drv
    - reason_code
    - bss
    argTypes:
    - struct wpa_driver_nl80211_data*
    - u16
    - struct i802_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4457
      start: 4438
    functionDepth: 6
    functionLinenumber: 4438
    functionLinenumberEnd: 4457
    functionName: wpa_driver_nl80211_disconnect
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_mark_disconnected
    - wpa_printf
    - wpa_driver_nl80211_mlme
    - send_event_marker
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_nl80211_disconnect(struct wpa_driver_nl80211_data *drv,\n\t\t\t\t\t
      u16 reason_code,\n\t\t\t\t\t struct i802_bss *bss)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_mark_disconnected
      Src: /src/hostap/src/drivers/driver_nl80211.c:4467,1
    - Dst: nl80211_leave_ibss
      Src: /src/hostap/src/drivers/driver_nl80211.c:4468,1
    - Dst: wpa_driver_nl80211_disconnect
      Src: /src/hostap/src/drivers/driver_nl80211.c:4471,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:4473,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:4474,1
    - Dst: nl80211_mark_disconnected
      Src: /src/hostap/src/drivers/driver_nl80211.c:4475,1
    - Dst: wpa_driver_nl80211_mlme
      Src: /src/hostap/src/drivers/driver_nl80211.c:4476,1
    - Dst: send_event_marker
      Src: /src/hostap/src/drivers/driver_nl80211.c:4483,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - bss
    - addr
    - reason_code
    argTypes:
    - struct i802_bss*
    - u8*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4486
      start: 4460
    functionDepth: 7
    functionLinenumber: 4460
    functionLinenumberEnd: 4486
    functionName: wpa_driver_nl80211_deauthenticate
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_leave_ibss
    - wpa_printf
    - wpa_driver_nl80211_mlme
    - MAC2STR
    - nl80211_mark_disconnected
    - wpa_driver_nl80211_disconnect
    - send_event_marker
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_nl80211_deauthenticate(struct i802_bss *bss,\n\t\t\t\t\t
      \    const u8 *addr, u16 reason_code)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:4501,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211.c:4503,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:4506,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:4512,1
    - Dst: os_malloc
      Src: /src/hostap/src/drivers/driver_nl80211.c:4516,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:4518,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:4526,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:4532,1
    - Dst: os_memdup
      Src: /src/hostap/src/drivers/driver_nl80211.c:4536,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:4545,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 2
    argNames:
    - drv
    - params
    argTypes:
    - struct wpa_driver_nl80211_data*
    - struct wpa_driver_auth_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4551
      start: 4489
    functionDepth: 0
    functionLinenumber: 4489
    functionLinenumberEnd: 4551
    functionName: nl80211_copy_auth_params
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - os_memdup
    - os_malloc
    - os_free
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void nl80211_copy_auth_params(struct wpa_driver_nl80211_data *drv,\n\t\t\t\t
      \    struct wpa_driver_auth_params *params)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_p2p_net_interface
      Src: /src/hostap/src/drivers/driver_nl80211.c:4558,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:4566,1
    - Dst: nl80211_disable_11b_rates
      Src: /src/hostap/src/drivers/driver_nl80211.c:4569,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - bss
    argTypes:
    - struct i802_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4570
      start: 4554
    functionDepth: 1
    functionLinenumber: 4554
    functionLinenumberEnd: 4570
    functionName: nl80211_unmask_11b_rates
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_disable_11b_rates
    - is_p2p_net_interface
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void nl80211_unmask_11b_rates(struct i802_bss *bss)
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 1
    argNames:
    - wpa_auth_alg
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4595
      start: 4573
    functionDepth: 0
    functionLinenumber: 4573
    functionLinenumberEnd: 4595
    functionName: get_nl_auth_type
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum nl80211_auth_type
    signature: enum nl80211_auth_type get_nl_auth_type(int wpa_auth_alg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/drivers/driver_nl80211.c:4602,1
    - Dst: nl80211_attr_supported
      Src: /src/hostap/src/drivers/driver_nl80211.c:4605,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:4620,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - drv
    - msg
    argTypes:
    - struct wpa_driver_nl80211_data*
    - struct nl_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4622
      start: 4598
    functionDepth: 1
    functionLinenumber: 4598
    functionLinenumberEnd: 4622
    functionName: nl80211_put_bss_membership_selectors
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nla_put
    - ARRAY_SIZE
    - nl80211_attr_supported
    linkageType: ''
    returnType: int
    signature: "int nl80211_put_bss_membership_selectors(struct wpa_driver_nl80211_data
      *drv,\n\t\t\t\t     struct nl_msg *msg)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_unmask_11b_rates
      Src: /src/hostap/src/drivers/driver_nl80211.c:4637,1
    - Dst: nl80211_mark_disconnected
      Src: /src/hostap/src/drivers/driver_nl80211.c:4643,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211.c:4644,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:4646,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211.c:4648,1
    - Dst: wpa_driver_nl80211_set_mode
      Src: /src/hostap/src/drivers/driver_nl80211.c:4653,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:4657,1
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:4660,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211.c:4664,1
    - Dst: wpa_driver_nl80211_set_key
      Src: /src/hostap/src/drivers/driver_nl80211.c:4678,1
    - Dst: nl_add_key
      Src: /src/hostap/src/drivers/driver_nl80211.c:4681,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:4687,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:4688,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:4689,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:4693,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:4694,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:4698,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/src/drivers/driver_nl80211.c:4699,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:4700,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/drivers/driver_nl80211.c:4704,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:4706,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/drivers/driver_nl80211.c:4709,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:4711,1
    - Dst: get_nl_auth_type
      Src: /src/hostap/src/drivers/driver_nl80211.c:4715,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:4716,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:4718,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:4721,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:4722,1
    - Dst: nl80211_put_bss_membership_selectors
      Src: /src/hostap/src/drivers/driver_nl80211.c:4726,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:4731,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:4732,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:4734,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:4736,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:4741,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/drivers/driver_nl80211.c:4744,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:4746,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:4755,1
    - Dst: wpa_driver_nl80211_deauthenticate
      Src: /src/hostap/src/drivers/driver_nl80211.c:4758,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:4761,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211.c:4775,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:4784,1
    - Dst: wpa_driver_nl80211_scan
      Src: /src/hostap/src/drivers/driver_nl80211.c:4787,1
    - Dst: nl80211_copy_auth_params
      Src: /src/hostap/src/drivers/driver_nl80211.c:4789,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:4798,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211.c:4800,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:4801,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211.c:4803,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:4807,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:4812,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 131
    argCount: 2
    argNames:
    - bss
    - params
    argTypes:
    - struct i802_bss*
    - struct wpa_driver_auth_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4814
      start: 4625
    functionDepth: 8
    functionLinenumber: 4625
    functionLinenumberEnd: 4814
    functionName: wpa_driver_nl80211_authenticate
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - wpa_hexdump
    - nl80211_copy_auth_params
    - nla_put_u8
    - nla_put_u32
    - nl80211_put_bss_membership_selectors
    - nla_put
    - wpa_driver_nl80211_scan
    - wpa_printf
    - wpa_ssid_txt
    - wpa_driver_nl80211_set_key
    - nl80211_unmask_11b_rates
    - nlmsg_free
    - nl_add_key
    - wpa_driver_nl80211_set_mode
    - send_and_recv_cmd
    - wpa_dbg
    - nl80211_mark_disconnected
    - get_nl_auth_type
    - os_memset
    - nl80211_bss_msg
    - os_memcpy
    - strerror
    - MAC2STR
    - wpa_driver_nl80211_deauthenticate
    - nla_put_flag
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_nl80211_authenticate(\n\tstruct i802_bss *bss, struct
      wpa_driver_auth_params *params)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:4824,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211.c:4826,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/drivers/driver_nl80211.c:4833,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:4848,1
    - Dst: wpa_driver_nl80211_authenticate
      Src: /src/hostap/src/drivers/driver_nl80211.c:4860,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 1
    argNames:
    - drv
    argTypes:
    - struct wpa_driver_nl80211_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4861
      start: 4817
    functionDepth: 9
    functionLinenumber: 4817
    functionLinenumberEnd: 4861
    functionName: wpa_driver_nl80211_authenticate_retry
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - is_zero_ether_addr
    - wpa_driver_nl80211_authenticate
    - os_memset
    linkageType: ''
    returnType: int
    signature: int wpa_driver_nl80211_authenticate_retry(struct wpa_driver_nl80211_data
      *drv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211.c:4869,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - bss
    - link_id
    argTypes:
    - struct i802_bss*
    - s8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4873
      start: 4864
    functionDepth: 0
    functionLinenumber: 4864
    functionLinenumberEnd: 4873
    functionName: nl80211_get_link
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 3
    functionsReached:
    - BIT
    linkageType: ''
    returnType: struct i802_link
    signature: struct i802_link * nl80211_get_link(struct i802_bss *bss, s8 link_id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: for_each_link
      Src: /src/hostap/src/drivers/driver_nl80211.c:4883,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - bss
    - link
    argTypes:
    - struct i802_bss*
    - struct i802_link*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4889
      start: 4876
    functionDepth: 0
    functionLinenumber: 4876
    functionLinenumberEnd: 4889
    functionName: nl80211_get_link_id_from_link
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - for_each_link
    linkageType: ''
    returnType: u8
    signature: u8 nl80211_get_link_id_from_link(struct i802_bss *bss, struct i802_link
      *link)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_get_link
      Src: /src/hostap/src/drivers/driver_nl80211.c:4894,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bss
    - link_id
    - freq
    argTypes:
    - struct i802_bss*
    - s8
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4897
      start: 4892
    functionDepth: 1
    functionLinenumber: 4892
    functionLinenumberEnd: 4897
    functionName: nl80211_link_set_freq
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_get_link
    linkageType: ''
    returnType: void
    signature: void nl80211_link_set_freq(struct i802_bss *bss, s8 link_id, int freq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: for_each_link
      Src: /src/hostap/src/drivers/driver_nl80211.c:4905,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/drivers/driver_nl80211.c:4906,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:4907,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:4910,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:4916,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - bss
    - addr
    - bss_freq_debug
    argTypes:
    - struct i802_bss*
    - u8*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4920
      start: 4900
    functionDepth: 1
    functionLinenumber: 4900
    functionLinenumberEnd: 4920
    functionName: nl80211_get_link_freq
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    - ether_addr_equal
    - for_each_link
    linkageType: ''
    returnType: int
    signature: "int nl80211_get_link_freq(struct i802_bss *bss, const u8 *addr,\n\t\t\t\t
      bool bss_freq_debug)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_get_link
      Src: /src/hostap/src/drivers/driver_nl80211.c:4937,1
    - Dst: le_to_host16
      Src: /src/hostap/src/drivers/driver_nl80211.c:4943,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:4944,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:4947,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:4947,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:4947,1
    - Dst: fc2str
      Src: /src/hostap/src/drivers/driver_nl80211.c:4949,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/drivers/driver_nl80211.c:4953,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:4955,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:4957,1
    - Dst: is_sta_interface
      Src: /src/hostap/src/drivers/driver_nl80211.c:4962,1
    - Dst: WLAN_FC_GET_TYPE
      Src: /src/hostap/src/drivers/driver_nl80211.c:4964,1
    - Dst: WLAN_FC_GET_STYPE
      Src: /src/hostap/src/drivers/driver_nl80211.c:4965,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:4972,1
    - Dst: is_ap_interface
      Src: /src/hostap/src/drivers/driver_nl80211.c:4983,1
    - Dst: nl80211_get_link_freq
      Src: /src/hostap/src/drivers/driver_nl80211.c:4984,1
    - Dst: is_sta_interface
      Src: /src/hostap/src/drivers/driver_nl80211.c:4996,1
    - Dst: WLAN_FC_GET_TYPE
      Src: /src/hostap/src/drivers/driver_nl80211.c:4999,1
    - Dst: WLAN_FC_GET_STYPE
      Src: /src/hostap/src/drivers/driver_nl80211.c:5000,1
    - Dst: nl80211_get_assoc_freq
      Src: /src/hostap/src/drivers/driver_nl80211.c:5004,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:5005,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/drivers/driver_nl80211.c:5012,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:5014,1
    - Dst: is_sta_interface
      Src: /src/hostap/src/drivers/driver_nl80211.c:5021,1
    - Dst: WLAN_FC_GET_TYPE
      Src: /src/hostap/src/drivers/driver_nl80211.c:5022,1
    - Dst: WLAN_FC_GET_STYPE
      Src: /src/hostap/src/drivers/driver_nl80211.c:5023,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:5024,1
    - Dst: nl80211_get_assoc_freq
      Src: /src/hostap/src/drivers/driver_nl80211.c:5034,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:5035,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:5040,1
    - Dst: WLAN_FC_GET_TYPE
      Src: /src/hostap/src/drivers/driver_nl80211.c:5045,1
    - Dst: WLAN_FC_GET_STYPE
      Src: /src/hostap/src/drivers/driver_nl80211.c:5046,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:5052,1
    - Dst: nl80211_send_monitor
      Src: /src/hostap/src/drivers/driver_nl80211.c:5054,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:5059,1
    - Dst: nl80211_send_frame_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:5060,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 70
    argCount: 12
    argNames:
    - bss
    - data
    - data_len
    - noack
    - freq
    - no_cck
    - offchanok
    - wait_time
    - csa_offs
    - csa_offs_len
    - no_encrypt
    - link_id
    argTypes:
    - struct i802_bss*
    - u8*
    - size_t
    - int
    - unsigned int
    - int
    - int
    - unsigned int
    - u16*
    - size_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5067
      start: 4923
    functionDepth: 6
    functionLinenumber: 4923
    functionLinenumberEnd: 5067
    functionName: wpa_driver_nl80211_send_mlme
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - is_sta_interface
    - WLAN_FC_GET_STYPE
    - nl80211_get_link
    - ether_addr_equal
    - is_ap_interface
    - WPA_GET_LE16
    - fc2str
    - nl80211_send_monitor
    - MAC2STR
    - nl80211_get_assoc_freq
    - WLAN_FC_GET_TYPE
    - nl80211_get_link_freq
    - le_to_host16
    - nl80211_send_frame_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_nl80211_send_mlme(struct i802_bss *bss, const u8 *data,\n\t\t\t\t\tsize_t
      data_len, int noack,\n\t\t\t\t\tunsigned int freq, int no_cck,\n\t\t\t\t\tint
      offchanok,\n\t\t\t\t\tunsigned int wait_time,\n\t\t\t\t\tconst u16 *csa_offs,\n\t\t\t\t\tsize_t
      csa_offs_len, int no_encrypt,\n\t\t\t\t\tint link_id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:5082,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - msg
    - basic_rates
    argTypes:
    - struct nl_msg*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5083
      start: 5070
    functionDepth: 0
    functionLinenumber: 5070
    functionLinenumberEnd: 5083
    functionName: nl80211_put_basic_rates
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nla_put
    linkageType: ''
    returnType: int
    signature: int nl80211_put_basic_rates(struct nl_msg *msg, const int *basic_rates)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:5093,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:5095,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:5097,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:5099,1
    - Dst: nla_put_u16
      Src: /src/hostap/src/drivers/driver_nl80211.c:5101,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:5103,1
    - Dst: nl80211_put_basic_rates
      Src: /src/hostap/src/drivers/driver_nl80211.c:5104,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:5106,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:5107,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:5111,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 6
    argCount: 8
    argNames:
    - bss
    - cts
    - preamble
    - slot
    - ht_opmode
    - ap_isolate
    - basic_rates
    - link_id
    argTypes:
    - struct i802_bss*
    - int
    - int
    - int
    - int
    - int
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5112
      start: 5086
    functionDepth: 5
    functionLinenumber: 5086
    functionLinenumberEnd: 5112
    functionName: nl80211_set_bss
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_bss_msg
    - nl80211_put_basic_rates
    - send_and_recv_cmd
    - nla_put_u16
    - nlmsg_free
    - nla_put_u8
    linkageType: ''
    returnType: int
    signature: "int nl80211_set_bss(struct i802_bss *bss, int cts, int preamble,\n\t\t\t
      \  int slot, int ht_opmode, int ap_isolate,\n\t\t\t   const int *basic_rates,
      int link_id)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:5132,1
    - Dst: nla_total_size
      Src: /src/hostap/src/drivers/driver_nl80211.c:5135,1
    - Dst: nlmsg_total_size
      Src: /src/hostap/src/drivers/driver_nl80211.c:5136,1
    - Dst: nlmsg_alloc_size
      Src: /src/hostap/src/drivers/driver_nl80211.c:5137,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:5141,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:5142,1
    - Dst: nla_total_size
      Src: /src/hostap/src/drivers/driver_nl80211.c:5154,1
    - Dst: nla_total_size
      Src: /src/hostap/src/drivers/driver_nl80211.c:5155,1
    - Dst: nlmsg_total_size
      Src: /src/hostap/src/drivers/driver_nl80211.c:5156,1
    - Dst: nl80211_ifindex_msg_build
      Src: /src/hostap/src/drivers/driver_nl80211.c:5157,1
    - Dst: nlmsg_alloc_size
      Src: /src/hostap/src/drivers/driver_nl80211.c:5157,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:5160,1
    - Dst: nla_put_nested
      Src: /src/hostap/src/drivers/driver_nl80211.c:5163,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:5164,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:5165,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:5168,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:5170,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:5172,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:5173,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 2
    argNames:
    - priv
    - params
    argTypes:
    - void*
    - struct hostapd_acl_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5177
      start: 5115
    functionDepth: 3
    functionLinenumber: 5115
    functionLinenumberEnd: 5177
    functionName: wpa_driver_nl80211_set_acl
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nlmsg_total_size
    - wpa_printf
    - strerror
    - nlmsg_alloc_size
    - send_and_recv_cmd
    - nla_put_nested
    - nlmsg_free
    - nla_total_size
    - nla_put_u32
    - nla_put
    - nl80211_ifindex_msg_build
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_nl80211_set_acl(void *priv,\n\t\t\t\t      struct hostapd_acl_params
      *params)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:5183,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:5184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - msg
    - beacon_int
    argTypes:
    - struct nl_msg*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5189
      start: 5180
    functionDepth: 0
    functionLinenumber: 5180
    functionLinenumberEnd: 5189
    functionName: nl80211_put_beacon_int
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - nla_put_u32
    linkageType: ''
    returnType: int
    signature: int nl80211_put_beacon_int(struct nl_msg *msg, int beacon_int)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:5195,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:5196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - msg
    - dtim_period
    argTypes:
    - struct nl_msg*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5200
      start: 5192
    functionDepth: 0
    functionLinenumber: 5192
    functionLinenumberEnd: 5200
    functionName: nl80211_put_dtim_period
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - nla_put_u32
    linkageType: ''
    returnType: int
    signature: int nl80211_put_dtim_period(struct nl_msg *msg, int dtim_period)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:5212,1
    - Dst: nl80211_put_mesh_config
      Src: /src/hostap/src/drivers/driver_nl80211.c:5216,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:5218,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:5222,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:5224,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:5226,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - priv
    - params
    argTypes:
    - void*
    - struct wpa_driver_mesh_bss_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5230
      start: 5204
    functionDepth: 5
    functionLinenumber: 5204
    functionLinenumberEnd: 5230
    functionName: nl80211_set_mesh_config
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_bss_msg
    - wpa_printf
    - strerror
    - send_and_recv_cmd
    - nlmsg_free
    - nl80211_put_mesh_config
    linkageType: ''
    returnType: int
    signature: "int nl80211_set_mesh_config(void *priv,\n\t\t\t\t   struct wpa_driver_mesh_bss_params
      *params)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:5246,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:5253,1
    - Dst: is_6ghz_freq
      Src: /src/hostap/src/drivers/driver_nl80211.c:5256,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:5257,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:5259,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:5262,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211.c:5271,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211.c:5272,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:5277,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:5282,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:5284,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:5286,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:5290,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:5295,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:5299,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:5300,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:5302,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:5305,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:5310,1
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211.c:5314,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:5315,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:5317,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:5319,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:5322,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:5327,1
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211.c:5331,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:5332,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:5333,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:5334,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:5336,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:5338,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:5343,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:5344,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 73
    argCount: 4
    argNames:
    - msg
    - flags
    - flags2
    - params
    argTypes:
    - struct nl_msg*
    - u64
    - u64
    - struct wpa_driver_ap_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5347
      start: 5234
    functionDepth: 2
    functionLinenumber: 5234
    functionLinenumberEnd: 5347
    functionName: nl80211_put_beacon_rate
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - is_6ghz_freq
    - BIT
    - nla_put_u8
    - nla_nest_end
    - nla_nest_start
    - nla_put
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int nl80211_put_beacon_rate(struct nl_msg *msg, u64 flags, u64 flags2,\n\t\t\t\t
      \  struct wpa_driver_ap_params *params)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:5357,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:5360,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:5361,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:5364,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:5368,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:5372,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:5380,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:5385,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:5388,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - bss
    - multicast_to_unicast
    argTypes:
    - struct i802_bss*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5393
      start: 5350
    functionDepth: 5
    functionLinenumber: 5350
    functionLinenumberEnd: 5393
    functionName: nl80211_set_multicast_to_unicast
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_bss_msg
    - wpa_printf
    - strerror
    - send_and_recv_cmd
    - nlmsg_free
    - nla_put_flag
    linkageType: ''
    returnType: int
    signature: "int nl80211_set_multicast_to_unicast(struct i802_bss *bss,\n\t\t\t\t\t
      \   int multicast_to_unicast)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:5401,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:5412,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - msg
    - pwe
    argTypes:
    - struct nl_msg*
    - enum sae_pwe
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5416
      start: 5397
    functionDepth: 0
    functionLinenumber: 5397
    functionLinenumberEnd: 5416
    functionName: nl80211_put_sae_pwe
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - nla_put_u8
    linkageType: ''
    returnType: int
    signature: int nl80211_put_sae_pwe(struct nl_msg *msg, enum sae_pwe pwe)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:5427,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:5433,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:5435,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:5437,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:5440,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:5444,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - bss
    - msg
    - params
    argTypes:
    - struct i802_bss*
    - struct nl_msg*
    - struct wpa_driver_ap_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5446
      start: 5421
    functionDepth: 1
    functionLinenumber: 5421
    functionLinenumberEnd: 5446
    functionName: nl80211_fils_discovery
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - nla_nest_end
    - nla_nest_start
    - nla_put_u32
    - nla_put
    linkageType: ''
    returnType: int
    signature: "int nl80211_fils_discovery(struct i802_bss *bss, struct nl_msg *msg,\n\t\t\t\t
      \ struct wpa_driver_ap_params *params)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:5459,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:5465,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:5468,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:5470,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:5473,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:5478,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - bss
    - msg
    - ubpr
    argTypes:
    - struct i802_bss*
    - struct nl_msg*
    - struct unsol_bcast_probe_resp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5480
      start: 5452
    functionDepth: 1
    functionLinenumber: 5452
    functionLinenumberEnd: 5480
    functionName: nl80211_unsol_bcast_probe_resp
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - nla_nest_end
    - nla_nest_start
    - nla_put_u32
    - nla_put
    linkageType: ''
    returnType: int
    signature: "int nl80211_unsol_bcast_probe_resp(struct i802_bss *bss,\n\t\t\t\t\t
      \ struct nl_msg *msg,\n\t\t\t\t\t  struct unsol_bcast_probe_resp *ubpr)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:5491,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:5493,1
    - Dst: if_nametoindex
      Src: /src/hostap/src/drivers/driver_nl80211.c:5498,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:5500,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:5504,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:5509,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:5512,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:5518,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:5523,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:5527,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:5532,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:5542,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:5547,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:5551,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:5554,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 43
    argCount: 2
    argNames:
    - msg
    - params
    argTypes:
    - struct nl_msg*
    - struct mbssid_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5558
      start: 5483
    functionDepth: 1
    functionLinenumber: 5483
    functionLinenumberEnd: 5558
    functionName: nl80211_mbssid
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nla_put
    - nla_put_u8
    - nla_nest_end
    - nla_nest_start
    - nla_put_u32
    - nla_put_flag
    - if_nametoindex
    linkageType: ''
    returnType: int
    signature: int nl80211_mbssid(struct nl_msg *msg, struct mbssid_data *params)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:5575,1
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:5577,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:5578,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:5579,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:5581,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:5585,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:5588,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:5594,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:5598,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:5599,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:5601,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:5603,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:5605,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:5609,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 28
    argCount: 4
    argNames:
    - bss
    - freqs
    - num_freqs
    - link_id
    argTypes:
    - struct i802_bss*
    - int*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5610
      start: 5564
    functionDepth: 5
    functionLinenumber: 5564
    functionLinenumberEnd: 5610
    functionName: qca_set_allowed_ap_freqs
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_bss_msg
    - wpa_printf
    - strerror
    - send_and_recv_cmd
    - nla_put_u8
    - nlmsg_free
    - nla_nest_end
    - nla_nest_start
    - nla_put_u32
    linkageType: ''
    returnType: void
    signature: "void qca_set_allowed_ap_freqs(struct i802_bss *bss, const int *freqs,\n\t\t\t\t
      \    int num_freqs, int link_id)"
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - bw
    - cw
    - center_freq2
    argTypes:
    - int
    - enum nl80211_chan_width*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5641
      start: 5614
    functionDepth: 0
    functionLinenumber: 5614
    functionLinenumberEnd: 5641
    functionName: nl80211_bw_to_nl
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int nl80211_bw_to_nl(int bw, enum nl80211_chan_width *cw,\n\t\t\t
      \   int center_freq2)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:5652,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:5653,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:5656,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:5657,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:5658,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:5659,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:5660,1
    - Dst: ieee80211_freq_to_chan
      Src: /src/hostap/src/drivers/driver_nl80211.c:5663,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:5671,1
    - Dst: nl80211_bw_to_nl
      Src: /src/hostap/src/drivers/driver_nl80211.c:5672,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:5674,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:5680,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:5681,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:5683,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:5685,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:5686,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:5689,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:5695,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:5699,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:5701,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:5709,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:5723,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:5724,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:5727,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:5730,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:5732,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:5736,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:5738,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:5743,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 61
    argCount: 3
    argNames:
    - msg
    - freq
    - bss
    argTypes:
    - struct nl_msg*
    - struct hostapd_freq_params*
    - struct i802_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5747
      start: 5644
    functionDepth: 2
    functionLinenumber: 5644
    functionLinenumberEnd: 5747
    functionName: nl80211_put_freq_params
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - nla_put_flag
    - nla_put_u8
    - nl80211_bw_to_nl
    - nla_put_u32
    - ieee80211_freq_to_chan
    linkageType: ''
    returnType: int
    signature: "int nl80211_put_freq_params(struct nl_msg *msg,\n\t\t\t\t   const
      struct hostapd_freq_params *freq,\n\t\t\t\t   struct i802_bss *bss)"
  - BBCount: 73
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_link_valid
      Src: /src/hostap/src/drivers/driver_nl80211.c:5768,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:5770,1
    - Dst: nl80211_get_link
      Src: /src/hostap/src/drivers/driver_nl80211.c:5776,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:5778,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:5784,1
    - Dst: nl80211_get_wiphy_data_ap
      Src: /src/hostap/src/drivers/driver_nl80211.c:5788,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/drivers/driver_nl80211.c:5791,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/drivers/driver_nl80211.c:5793,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:5795,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:5796,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:5797,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:5798,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:5799,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:5800,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/src/drivers/driver_nl80211.c:5801,1
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:5802,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:5803,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:5805,1
    - Dst: nl80211_put_beacon_int
      Src: /src/hostap/src/drivers/driver_nl80211.c:5807,1
    - Dst: nl80211_put_beacon_rate
      Src: /src/hostap/src/drivers/driver_nl80211.c:5808,1
    - Dst: nl80211_put_dtim_period
      Src: /src/hostap/src/drivers/driver_nl80211.c:5810,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:5811,1
    - Dst: nl80211_link_set_freq
      Src: /src/hostap/src/drivers/driver_nl80211.c:5815,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:5821,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:5824,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/drivers/driver_nl80211.c:5830,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:5832,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:5838,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:5839,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:5844,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:5845,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:5850,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:5851,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:5856,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:5858,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:5860,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:5865,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:5869,1
    - Dst: wpa_ver_supported
      Src: /src/hostap/src/drivers/driver_nl80211.c:5874,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:5876,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:5878,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:5881,1
    - Dst: wpa_key_mgmt_to_suites
      Src: /src/hostap/src/drivers/driver_nl80211.c:5883,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/drivers/driver_nl80211.c:5884,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:5886,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:5890,1
    - Dst: wpa_key_mgmt_wpa_psk_no_sae
      Src: /src/hostap/src/drivers/driver_nl80211.c:5894,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:5897,1
    - Dst: wpa_key_mgmt_sae
      Src: /src/hostap/src/drivers/driver_nl80211.c:5900,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:5903,1
    - Dst: os_strlen
      Src: /src/hostap/src/drivers/driver_nl80211.c:5904,1
    - Dst: nl80211_put_control_port
      Src: /src/hostap/src/drivers/driver_nl80211.c:5907,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:5913,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:5924,1
    - Dst: nl80211_attr_supported
      Src: /src/hostap/src/drivers/driver_nl80211.c:5932,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:5934,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:5938,1
    - Dst: wpa_cipher_to_cipher_suites
      Src: /src/hostap/src/drivers/driver_nl80211.c:5940,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/drivers/driver_nl80211.c:5941,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:5943,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:5947,1
    - Dst: wpa_cipher_to_cipher_suite
      Src: /src/hostap/src/drivers/driver_nl80211.c:5949,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:5951,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/drivers/driver_nl80211.c:5955,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:5957,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/drivers/driver_nl80211.c:5958,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/drivers/driver_nl80211.c:5959,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/drivers/driver_nl80211.c:5963,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:5965,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/drivers/driver_nl80211.c:5966,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/drivers/driver_nl80211.c:5967,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/drivers/driver_nl80211.c:5971,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:5973,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/drivers/driver_nl80211.c:5974,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/drivers/driver_nl80211.c:5975,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:5980,1
    - Dst: nla_put_u16
      Src: /src/hostap/src/drivers/driver_nl80211.c:5982,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:5990,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:5992,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:5996,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:6003,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:6004,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:6016,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:6018,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:6020,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/drivers/driver_nl80211.c:6021,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/drivers/driver_nl80211.c:6022,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:6024,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/drivers/driver_nl80211.c:6025,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/drivers/driver_nl80211.c:6026,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:6028,1
    - Dst: nl80211_put_freq_params
      Src: /src/hostap/src/drivers/driver_nl80211.c:6031,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:6038,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:6039,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:6043,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:6047,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:6053,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:6055,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:6057,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:6060,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:6065,1
    - Dst: nl80211_attr_supported
      Src: /src/hostap/src/drivers/driver_nl80211.c:6069,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:6072,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:6075,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:6077,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:6078,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:6081,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:6085,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:6087,1
    - Dst: nl80211_unsol_bcast_probe_resp
      Src: /src/hostap/src/drivers/driver_nl80211.c:6092,1
    - Dst: nl80211_mbssid
      Src: /src/hostap/src/drivers/driver_nl80211.c:6095,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:6101,1
    - Dst: wpa_key_mgmt_sae
      Src: /src/hostap/src/drivers/driver_nl80211.c:6109,1
    - Dst: nl80211_put_sae_pwe
      Src: /src/hostap/src/drivers/driver_nl80211.c:6110,1
    - Dst: nl80211_fils_discovery
      Src: /src/hostap/src/drivers/driver_nl80211.c:6115,1
    - Dst: qca_set_allowed_ap_freqs
      Src: /src/hostap/src/drivers/driver_nl80211.c:6121,1
    - Dst: int_array_len
      Src: /src/hostap/src/drivers/driver_nl80211.c:6122,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:6127,1
    - Dst: send_and_recv
      Src: /src/hostap/src/drivers/driver_nl80211.c:6129,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:6132,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:6133,1
    - Dst: nl80211_set_bss
      Src: /src/hostap/src/drivers/driver_nl80211.c:6136,1
    - Dst: nl80211_set_multicast_to_unicast
      Src: /src/hostap/src/drivers/driver_nl80211.c:6141,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:6145,1
    - Dst: nl80211_set_channel
      Src: /src/hostap/src/drivers/driver_nl80211.c:6149,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:6151,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:6153,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:6155,1
    - Dst: is_mesh_interface
      Src: /src/hostap/src/drivers/driver_nl80211.c:6170,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211.c:6171,1
    - Dst: nl80211_set_mesh_config
      Src: /src/hostap/src/drivers/driver_nl80211.c:6174,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:6182,1
    CyclomaticComplexity: 163
    EdgeCount: 163
    ICount: 258
    argCount: 2
    argNames:
    - priv
    - params
    argTypes:
    - void*
    - struct wpa_driver_ap_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6184
      start: 5750
    functionDepth: 6
    functionLinenumber: 5750
    functionLinenumberEnd: 6184
    functionName: wpa_driver_nl80211_set_ap
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - is_mesh_interface
    - wpa_hexdump
    - nl80211_link_set_freq
    - nl80211_get_wiphy_data_ap
    - nl80211_fils_discovery
    - nla_put_u8
    - nl80211_set_channel
    - nla_nest_start
    - nla_put_u32
    - nla_put
    - wpa_key_mgmt_sae
    - os_strlen
    - wpa_printf
    - nl80211_put_control_port
    - nl80211_mbssid
    - nl80211_put_sae_pwe
    - nl80211_put_beacon_rate
    - wpa_key_mgmt_wpa_psk_no_sae
    - nl80211_get_link
    - wpa_ssid_txt
    - wpa_key_mgmt_to_suites
    - int_array_len
    - nlmsg_free
    - nl80211_link_valid
    - nl80211_unsol_bcast_probe_resp
    - wpa_hexdump_buf
    - wpa_ver_supported
    - wpabuf_len
    - wpa_cipher_to_cipher_suites
    - nl80211_set_mesh_config
    - wpabuf_head
    - nl80211_set_multicast_to_unicast
    - nl80211_attr_supported
    - wpa_cipher_to_cipher_suite
    - nl80211_put_freq_params
    - qca_set_allowed_ap_freqs
    - os_memset
    - nl80211_bss_msg
    - strerror
    - send_and_recv
    - nla_put_u16
    - nl80211_put_beacon_int
    - nl80211_set_bss
    - nla_nest_end
    - nla_put_flag
    - ARRAY_SIZE
    - nl80211_put_dtim_period
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_nl80211_set_ap(void *priv,\n\t\t\t\t     struct wpa_driver_ap_params
      *params)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:6194,1
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:6200,1
    - Dst: nl80211_put_freq_params
      Src: /src/hostap/src/drivers/driver_nl80211.c:6202,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:6203,1
    - Dst: nl80211_link_valid
      Src: /src/hostap/src/drivers/driver_nl80211.c:6207,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:6208,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:6211,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:6212,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:6217,1
    - Dst: nl80211_link_set_freq
      Src: /src/hostap/src/drivers/driver_nl80211.c:6219,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:6222,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:6223,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - bss
    - freq
    - set_chan
    argTypes:
    - struct i802_bss*
    - struct hostapd_freq_params*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6225
      start: 6187
    functionDepth: 5
    functionLinenumber: 6187
    functionLinenumberEnd: 6225
    functionName: nl80211_set_channel
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 1
    functionsReached:
    - nl80211_bss_msg
    - wpa_printf
    - strerror
    - send_and_recv_cmd
    - nl80211_link_set_freq
    - nlmsg_free
    - nla_put_u8
    - nl80211_link_valid
    - nl80211_put_freq_params
    linkageType: ''
    returnType: int
    signature: "int nl80211_set_channel(struct i802_bss *bss,\n\t\t\t       struct
      hostapd_freq_params *freq, int set_chan)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211.c:6233,1
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211.c:6235,1
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211.c:6237,1
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211.c:6239,1
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211.c:6241,1
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211.c:6243,1
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211.c:6245,1
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211.c:6247,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - flags
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6250
      start: 6228
    functionDepth: 0
    functionLinenumber: 6228
    functionLinenumberEnd: 6250
    functionName: sta_flags_nl80211
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - BIT
    linkageType: ''
    returnType: u32
    signature: u32 sta_flags_nl80211(int flags)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:6272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - state
    argTypes:
    - enum mesh_plink_state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6276
      start: 6254
    functionDepth: 0
    functionLinenumber: 6254
    functionLinenumberEnd: 6276
    functionName: sta_plink_state_nl80211
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: u32
    signature: u32 sta_plink_state_nl80211(enum mesh_plink_state state)
  - BBCount: 67
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:6307,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:6308,1
    - Dst: nl80211_cmd_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:6309,1
    - Dst: FULL_AP_CLIENT_STATE_SUPP
      Src: /src/hostap/src/drivers/driver_nl80211.c:6322,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/drivers/driver_nl80211.c:6324,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:6326,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:6331,1
    - Dst: nla_put_u16
      Src: /src/hostap/src/drivers/driver_nl80211.c:6333,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/drivers/driver_nl80211.c:6338,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:6341,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/drivers/driver_nl80211.c:6348,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:6351,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/drivers/driver_nl80211.c:6358,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:6360,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/drivers/driver_nl80211.c:6366,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:6369,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/drivers/driver_nl80211.c:6376,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:6378,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/drivers/driver_nl80211.c:6384,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:6386,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/drivers/driver_nl80211.c:6392,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:6394,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:6401,1
    - Dst: nla_put_u16
      Src: /src/hostap/src/drivers/driver_nl80211.c:6403,1
    - Dst: is_ap_interface
      Src: /src/hostap/src/drivers/driver_nl80211.c:6408,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:6409,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:6417,1
    - Dst: nla_put_u16
      Src: /src/hostap/src/drivers/driver_nl80211.c:6418,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:6427,1
    - Dst: nla_put_u16
      Src: /src/hostap/src/drivers/driver_nl80211.c:6430,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:6433,1
    - Dst: nla_put_u16
      Src: /src/hostap/src/drivers/driver_nl80211.c:6435,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:6439,1
    - Dst: nla_put_u16
      Src: /src/hostap/src/drivers/driver_nl80211.c:6440,1
    - Dst: FULL_AP_CLIENT_STATE_SUPP
      Src: /src/hostap/src/drivers/driver_nl80211.c:6442,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:6444,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:6445,1
    - Dst: nla_put_u16
      Src: /src/hostap/src/drivers/driver_nl80211.c:6447,1
    - Dst: nla_put_u16
      Src: /src/hostap/src/drivers/driver_nl80211.c:6448,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/drivers/driver_nl80211.c:6457,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:6460,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/drivers/driver_nl80211.c:6467,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:6470,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:6479,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:6480,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/drivers/driver_nl80211.c:6486,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:6488,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/drivers/driver_nl80211.c:6494,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:6497,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211.c:6503,1
    - Dst: sta_flags_nl80211
      Src: /src/hostap/src/drivers/driver_nl80211.c:6504,1
    - Dst: sta_flags_nl80211
      Src: /src/hostap/src/drivers/driver_nl80211.c:6505,1
    - Dst: is_mesh_interface
      Src: /src/hostap/src/drivers/driver_nl80211.c:6521,1
    - Dst: FULL_AP_CLIENT_STATE_SUPP
      Src: /src/hostap/src/drivers/driver_nl80211.c:6522,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:6523,1
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211.c:6525,1
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211.c:6526,1
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211.c:6530,1
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211.c:6532,1
    - Dst: nla_put_u16
      Src: /src/hostap/src/drivers/driver_nl80211.c:6537,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:6545,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:6547,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:6552,1
    - Dst: sta_plink_state_nl80211
      Src: /src/hostap/src/drivers/driver_nl80211.c:6553,1
    - Dst: FULL_AP_CLIENT_STATE_SUPP
      Src: /src/hostap/src/drivers/driver_nl80211.c:6558,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:6560,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:6562,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:6564,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:6566,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:6570,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:6575,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:6577,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:6587,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:6588,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:6590,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:6592,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:6596,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:6601,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:6607,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:6608,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:6619,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:6625,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:6626,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:6628,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:6634,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:6637,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:6638,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:6642,1
    CyclomaticComplexity: 123
    EdgeCount: 123
    ICount: 219
    argCount: 2
    argNames:
    - priv
    - params
    argTypes:
    - void*
    - struct hostapd_sta_add_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6644
      start: 6280
    functionDepth: 3
    functionLinenumber: 6280
    functionLinenumberEnd: 6644
    functionName: wpa_driver_nl80211_sta_add
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - is_mesh_interface
    - wpa_hexdump
    - sta_plink_state_nl80211
    - BIT
    - nla_put_u8
    - nla_nest_start
    - nla_put
    - wpa_printf
    - nlmsg_free
    - nl80211_cmd_msg
    - send_and_recv_cmd
    - is_ap_interface
    - os_memset
    - strerror
    - nla_put_u16
    - MAC2STR
    - FULL_AP_CLIENT_STATE_SUPP
    - nla_nest_end
    - sta_flags_nl80211
    - nla_put_flag
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_nl80211_sta_add(void *priv,\n\t\t\t\t      struct hostapd_sta_add_params
      *params)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nlmsg_alloc_simple
      Src: /src/hostap/src/drivers/driver_nl80211.c:6660,1
    - Dst: nlmsg_append
      Src: /src/hostap/src/drivers/driver_nl80211.c:6664,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:6665,1
    - Dst: nl_send_auto_complete
      Src: /src/hostap/src/drivers/driver_nl80211.c:6666,1
    - Dst: nl_wait_for_ack
      Src: /src/hostap/src/drivers/driver_nl80211.c:6669,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:6671,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:6673,1
    - Dst: nl_geterror
      Src: /src/hostap/src/drivers/driver_nl80211.c:6676,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:6678,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:6680,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:6685,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - bss
    - addr
    - is_bridge
    argTypes:
    - struct i802_bss*
    - u8*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6686
      start: 6647
    functionDepth: 1
    functionLinenumber: 6647
    functionLinenumberEnd: 6686
    functionName: rtnl_neigh_delete_fdb_entry
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl_wait_for_ack
    - wpa_printf
    - nl_send_auto_complete
    - MAC2STR
    - nlmsg_free
    - nlmsg_alloc_simple
    - nla_put
    - nl_geterror
    - nlmsg_append
    linkageType: ''
    returnType: void
    signature: "void rtnl_neigh_delete_fdb_entry(struct i802_bss *bss, const u8 *addr,\n\t\t\t\t\tbool
      is_bridge)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nlmsg_alloc_simple
      Src: /src/hostap/src/drivers/driver_nl80211.c:6705,1
    - Dst: nlmsg_append
      Src: /src/hostap/src/drivers/driver_nl80211.c:6709,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:6710,1
    - Dst: nl_send_auto_complete
      Src: /src/hostap/src/drivers/driver_nl80211.c:6711,1
    - Dst: nl_wait_for_ack
      Src: /src/hostap/src/drivers/driver_nl80211.c:6714,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:6716,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:6718,1
    - Dst: nl_geterror
      Src: /src/hostap/src/drivers/driver_nl80211.c:6721,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:6723,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:6725,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:6730,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - bss
    - addr
    - is_bridge
    argTypes:
    - struct i802_bss*
    - u8*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6731
      start: 6689
    functionDepth: 1
    functionLinenumber: 6689
    functionLinenumberEnd: 6731
    functionName: rtnl_neigh_add_fdb_entry
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl_wait_for_ack
    - wpa_printf
    - nl_send_auto_complete
    - MAC2STR
    - nlmsg_free
    - nlmsg_alloc_simple
    - nla_put
    - nl_geterror
    - nlmsg_append
    linkageType: ''
    returnType: void
    signature: "void rtnl_neigh_add_fdb_entry(struct i802_bss *bss, const u8 *addr,\n\t\t\t\t
      \    bool is_bridge)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_cmd_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:6741,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:6742,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:6744,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:6747,1
    - Dst: nla_put_u16
      Src: /src/hostap/src/drivers/driver_nl80211.c:6750,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:6751,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:6755,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:6756,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:6758,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:6758,1
    - Dst: rtnl_neigh_delete_fdb_entry
      Src: /src/hostap/src/drivers/driver_nl80211.c:6761,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 4
    argNames:
    - bss
    - addr
    - deauth
    - reason_code
    argTypes:
    - struct i802_bss*
    - u8*
    - int
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6766
      start: 6734
    functionDepth: 3
    functionLinenumber: 6734
    functionLinenumberEnd: 6766
    functionName: wpa_driver_nl80211_sta_remove
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - strerror
    - nl80211_cmd_msg
    - send_and_recv_cmd
    - nla_put_u16
    - MAC2STR
    - nlmsg_free
    - nla_put_u8
    - rtnl_neigh_delete_fdb_entry
    - nla_put
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_nl80211_sta_remove(struct i802_bss *bss, const u8 *addr,\n\t\t\t\t\t
      int deauth, u16 reason_code)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:6774,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/drivers/driver_nl80211.c:6777,1
    - Dst: del_ifidx
      Src: /src/hostap/src/drivers/driver_nl80211.c:6780,1
    - Dst: del_ifidx
      Src: /src/hostap/src/drivers/driver_nl80211.c:6782,1
    - Dst: nl80211_ifindex_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:6785,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:6786,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:6788,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - drv
    - ifidx
    argTypes:
    - struct wpa_driver_nl80211_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6789
      start: 6769
    functionDepth: 4
    functionLinenumber: 6769
    functionLinenumberEnd: 6789
    functionName: nl80211_remove_iface
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - send_and_recv_cmd
    - dl_list_for_each
    - del_ifidx
    - nl80211_ifindex_msg
    linkageType: ''
    returnType: void
    signature: void nl80211_remove_iface(struct wpa_driver_nl80211_data *drv, int
      ifidx)
  - BBCount: 16
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 1
    argNames:
    - mode
    argTypes:
    - enum nl80211_iftype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6826
      start: 6792
    functionDepth: 0
    functionLinenumber: 6792
    functionLinenumberEnd: 6826
    functionName: nl80211_iftype_str
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * nl80211_iftype_str(enum nl80211_iftype mode)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:6840,1
    - Dst: nl80211_iftype_str
      Src: /src/hostap/src/drivers/driver_nl80211.c:6841,1
    - Dst: nl80211_cmd_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:6843,1
    - Dst: nla_put_string
      Src: /src/hostap/src/drivers/driver_nl80211.c:6845,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:6846,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:6849,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:6856,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:6862,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:6869,1
    - Dst: nl_create_handle
      Src: /src/hostap/src/drivers/driver_nl80211.c:6875,1
    - Dst: send_and_recv
      Src: /src/hostap/src/drivers/driver_nl80211.c:6880,1
    - Dst: nl_destroy_handles
      Src: /src/hostap/src/drivers/driver_nl80211.c:6883,1
    - Dst: nl80211_register_eloop_read
      Src: /src/hostap/src/drivers/driver_nl80211.c:6892,1
    - Dst: send_and_recv_resp
      Src: /src/hostap/src/drivers/driver_nl80211.c:6899,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:6905,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:6906,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:6907,1
    - Dst: nl80211_is_netdev_iftype
      Src: /src/hostap/src/drivers/driver_nl80211.c:6911,1
    - Dst: if_nametoindex
      Src: /src/hostap/src/drivers/driver_nl80211.c:6914,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:6915,1
    - Dst: add_ifidx
      Src: /src/hostap/src/drivers/driver_nl80211.c:6930,1
    - Dst: linux_set_ifhwaddr
      Src: /src/hostap/src/drivers/driver_nl80211.c:6934,1
    - Dst: nl80211_remove_iface
      Src: /src/hostap/src/drivers/driver_nl80211.c:6935,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 58
    argCount: 6
    argNames:
    - drv
    - ifname
    - iftype
    - addr
    - wds
    - arg
    argTypes:
    - struct wpa_driver_nl80211_data*
    - char*
    - enum nl80211_iftype
    - u8*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6940
      start: 6829
    functionDepth: 5
    functionLinenumber: 6829
    functionLinenumberEnd: 6940
    functionName: nl80211_create_iface_once
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - add_ifidx
    - send_and_recv_resp
    - nla_put_string
    - nla_put_u8
    - linux_set_ifhwaddr
    - nla_put_u32
    - nla_put
    - wpa_printf
    - nlmsg_free
    - nl80211_cmd_msg
    - nl80211_is_netdev_iftype
    - nl_create_handle
    - nl80211_iftype_str
    - if_nametoindex
    - strerror
    - nl_destroy_handles
    - send_and_recv
    - nl80211_register_eloop_read
    - nla_put_flag
    - nl80211_remove_iface
    linkageType: ''
    returnType: int
    signature: "int nl80211_create_iface_once(struct wpa_driver_nl80211_data *drv,\n\t\t\t\t
      \    const char *ifname,\n\t\t\t\t     enum nl80211_iftype iftype,\n\t\t\t\t
      \    const u8 *addr, int wds,\n\t\t\t\t     int (*handler)(struct nl_msg *,
      void *),\n\t\t\t\t     void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:6948,1
    - Dst: linux_set_ifhwaddr
      Src: /src/hostap/src/drivers/driver_nl80211.c:6951,1
    - Dst: linux_set_iface_flags
      Src: /src/hostap/src/drivers/driver_nl80211.c:6952,1
    - Dst: linux_set_ifhwaddr
      Src: /src/hostap/src/drivers/driver_nl80211.c:6953,1
    - Dst: linux_set_iface_flags
      Src: /src/hostap/src/drivers/driver_nl80211.c:6954,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 4
    argNames:
    - drv
    - ifname
    - iftype
    - addr
    argTypes:
    - struct wpa_driver_nl80211_data*
    - char*
    - enum nl80211_iftype
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6958
      start: 6943
    functionDepth: 1
    functionLinenumber: 6943
    functionLinenumberEnd: 6958
    functionName: nl80211_use_existing_iface
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - linux_set_iface_flags
    - linux_set_ifhwaddr
    linkageType: ''
    returnType: int
    signature: "int nl80211_use_existing_iface(struct wpa_driver_nl80211_data *drv,\n\t\t\t\t
      \     const char *ifname,\n\t\t\t\t      enum nl80211_iftype iftype,\n\t\t\t\t
      \     const u8 *addr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: if_nametoindex
      Src: /src/hostap/src/drivers/driver_nl80211.c:6969,1
    - Dst: nl80211_use_existing_iface
      Src: /src/hostap/src/drivers/driver_nl80211.c:6970,1
    - Dst: nl80211_create_iface_once
      Src: /src/hostap/src/drivers/driver_nl80211.c:6972,1
    - Dst: if_nametoindex
      Src: /src/hostap/src/drivers/driver_nl80211.c:6976,1
    - Dst: nl80211_use_existing_iface
      Src: /src/hostap/src/drivers/driver_nl80211.c:6978,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:6981,1
    - Dst: nl80211_remove_iface
      Src: /src/hostap/src/drivers/driver_nl80211.c:6984,1
    - Dst: if_nametoindex
      Src: /src/hostap/src/drivers/driver_nl80211.c:6984,1
    - Dst: nl80211_create_iface_once
      Src: /src/hostap/src/drivers/driver_nl80211.c:6987,1
    - Dst: is_p2p_net_interface
      Src: /src/hostap/src/drivers/driver_nl80211.c:6991,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:6992,1
    - Dst: nl80211_disable_11b_rates
      Src: /src/hostap/src/drivers/driver_nl80211.c:6995,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 7
    argNames:
    - drv
    - ifname
    - iftype
    - addr
    - wds
    - arg
    - use_existing
    argTypes:
    - struct wpa_driver_nl80211_data*
    - char*
    - enum nl80211_iftype
    - u8*
    - int
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6999
      start: 6961
    functionDepth: 6
    functionLinenumber: 6961
    functionLinenumberEnd: 6999
    functionName: nl80211_create_iface
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 1
    functionsReached:
    - nl80211_disable_11b_rates
    - wpa_printf
    - is_p2p_net_interface
    - nl80211_use_existing_iface
    - nl80211_remove_iface
    - nl80211_create_iface_once
    - if_nametoindex
    linkageType: ''
    returnType: int
    signature: "int nl80211_create_iface(struct wpa_driver_nl80211_data *drv,\n\t\t\t
      const char *ifname, enum nl80211_iftype iftype,\n\t\t\t const u8 *addr, int
      wds,\n\t\t\t int (*handler)(struct nl_msg *, void *),\n\t\t\t void *arg, int
      use_existing)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:7006,1
    - Dst: wpa_driver_nl80211_probe_req_report
      Src: /src/hostap/src/drivers/driver_nl80211.c:7015,1
    - Dst: nl80211_mgmt_subscribe_ap
      Src: /src/hostap/src/drivers/driver_nl80211.c:7017,1
    - Dst: nl80211_mgmt_subscribe_ap_dev_sme
      Src: /src/hostap/src/drivers/driver_nl80211.c:7020,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:7021,1
    - Dst: wpa_driver_nl80211_probe_req_report
      Src: /src/hostap/src/drivers/driver_nl80211.c:7025,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:7026,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - bss
    argTypes:
    - struct i802_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7032
      start: 7002
    functionDepth: 8
    functionLinenumber: 7002
    functionLinenumberEnd: 7032
    functionName: nl80211_setup_ap
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_mgmt_subscribe_ap
    - wpa_driver_nl80211_probe_req_report
    - wpa_printf
    - nl80211_mgmt_subscribe_ap_dev_sme
    linkageType: ''
    returnType: int
    signature: int nl80211_setup_ap(struct i802_bss *bss)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:7039,1
    - Dst: wpa_driver_nl80211_probe_req_report
      Src: /src/hostap/src/drivers/driver_nl80211.c:7042,1
    - Dst: nl80211_mgmt_unsubscribe
      Src: /src/hostap/src/drivers/driver_nl80211.c:7043,1
    - Dst: nl80211_mgmt_unsubscribe
      Src: /src/hostap/src/drivers/driver_nl80211.c:7045,1
    - Dst: nl80211_put_wiphy_data_ap
      Src: /src/hostap/src/drivers/driver_nl80211.c:7048,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - bss
    argTypes:
    - struct i802_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7051
      start: 7035
    functionDepth: 4
    functionLinenumber: 7035
    functionLinenumberEnd: 7051
    functionName: nl80211_teardown_ap
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_put_wiphy_data_ap
    - wpa_driver_nl80211_probe_req_report
    - wpa_printf
    - nl80211_mgmt_unsubscribe
    linkageType: ''
    returnType: void
    signature: void nl80211_teardown_ap(struct i802_bss *bss)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:7064,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:7067,1
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:7069,1
    - Dst: nla_put_u16
      Src: /src/hostap/src/drivers/driver_nl80211.c:7071,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:7072,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:7073,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:7075,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:7077,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:7078,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211.c:7082,1
    - Dst: send_and_recv
      Src: /src/hostap/src/drivers/driver_nl80211.c:7084,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:7087,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:7089,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:7093,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 7
    argNames:
    - priv
    - dest
    - proto
    - buf
    - len
    - no_encrypt
    - link_id
    argTypes:
    - void*
    - u8*
    - u16
    - u8*
    - size_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7101
      start: 7054
    functionDepth: 5
    functionLinenumber: 7054
    functionLinenumberEnd: 7101
    functionName: nl80211_tx_control_port
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_bss_msg
    - wpa_printf
    - strerror
    - send_and_recv
    - nla_put_u16
    - MAC2STR
    - nla_put_flag
    - nla_put_u8
    - nlmsg_free
    - nla_put
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int nl80211_tx_control_port(void *priv, const u8 *dest,\n\t\t\t\t
      \  u16 proto, const u8 *buf, size_t len,\n\t\t\t\t   int no_encrypt, int link_id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:7112,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211.c:7116,1
    - Dst: htons
      Src: /src/hostap/src/drivers/driver_nl80211.c:7119,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:7121,1
    - Dst: sendto
      Src: /src/hostap/src/drivers/driver_nl80211.c:7122,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:7125,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:7126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 4
    argNames:
    - bss
    - addr
    - data
    - data_len
    argTypes:
    - struct i802_bss*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7129
      start: 7104
    functionDepth: 0
    functionLinenumber: 7104
    functionLinenumberEnd: 7129
    functionName: nl80211_send_eapol_data
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - sendto
    - strerror
    - htons
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int nl80211_send_eapol_data(struct i802_bss *bss,\n\t\t\t\t   const
      u8 *addr, const u8 *data,\n\t\t\t\t   size_t data_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_tx_control_port
      Src: /src/hostap/src/drivers/driver_nl80211.c:7144,1
    - Dst: nl80211_send_eapol_data
      Src: /src/hostap/src/drivers/driver_nl80211.c:7148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 8
    argNames:
    - priv
    - addr
    - data
    - data_len
    - encrypt
    - own_addr
    - flags
    - link_id
    argTypes:
    - void*
    - u8*
    - u8*
    - size_t
    - int
    - u8*
    - u32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7149
      start: 7132
    functionDepth: 6
    functionLinenumber: 7132
    functionLinenumberEnd: 7149
    functionName: wpa_driver_nl80211_hapd_send_eapol
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_send_eapol_data
    - nl80211_tx_control_port
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_nl80211_hapd_send_eapol(\n\tvoid *priv, const u8 *addr,
      const u8 *data,\n\tsize_t data_len, int encrypt, const u8 *own_addr, u32 flags,\n\tint
      link_id)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:7162,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:7164,1
    - Dst: nl80211_cmd_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:7167,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:7168,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:7175,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:7178,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:7180,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:7182,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:7184,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:7186,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:7189,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211.c:7191,1
    - Dst: sta_flags_nl80211
      Src: /src/hostap/src/drivers/driver_nl80211.c:7192,1
    - Dst: sta_flags_nl80211
      Src: /src/hostap/src/drivers/driver_nl80211.c:7193,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:7194,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:7197,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:7199,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 22
    argCount: 5
    argNames:
    - priv
    - addr
    - total_flags
    - flags_or
    - flags_and
    argTypes:
    - void*
    - u8*
    - unsigned int
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7201
      start: 7152
    functionDepth: 3
    functionLinenumber: 7152
    functionLinenumberEnd: 7201
    functionName: wpa_driver_nl80211_sta_set_flags
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - nl80211_cmd_msg
    - send_and_recv_cmd
    - MAC2STR
    - nla_put_flag
    - nlmsg_free
    - nla_nest_end
    - nla_nest_start
    - sta_flags_nl80211
    - nla_put
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_nl80211_sta_set_flags(void *priv, const u8 *addr,\n\t\t\t\t\t
      \   unsigned int total_flags,\n\t\t\t\t\t    unsigned int flags_or,\n\t\t\t\t\t
      \   unsigned int flags_and)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:7211,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:7213,1
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:7215,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:7216,1
    - Dst: nla_put_u16
      Src: /src/hostap/src/drivers/driver_nl80211.c:7217,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:7220,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:7222,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:7224,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:7228,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - priv
    - addr
    - weight
    argTypes:
    - void*
    - u8*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7230
      start: 7204
    functionDepth: 5
    functionLinenumber: 7204
    functionLinenumberEnd: 7230
    functionName: driver_nl80211_sta_set_airtime_weight
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_bss_msg
    - wpa_printf
    - strerror
    - send_and_recv_cmd
    - nla_put_u16
    - MAC2STR
    - nlmsg_free
    - nla_put
    linkageType: ''
    returnType: int
    signature: "int driver_nl80211_sta_set_airtime_weight(void *priv, const u8 *addr,\n\t\t\t\t\t\t
      unsigned int weight)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:7239,1
    - Dst: nl80211_set_p2p_mode
      Src: /src/hostap/src/drivers/driver_nl80211.c:7243,1
    - Dst: wpa_driver_nl80211_set_mode
      Src: /src/hostap/src/drivers/driver_nl80211.c:7249,1
    - Dst: nl80211_set_channel
      Src: /src/hostap/src/drivers/driver_nl80211.c:7253,1
    - Dst: wpa_driver_nl80211_set_mode
      Src: /src/hostap/src/drivers/driver_nl80211.c:7255,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - drv
    - params
    argTypes:
    - struct wpa_driver_nl80211_data*
    - struct wpa_driver_associate_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7260
      start: 7233
    functionDepth: 6
    functionLinenumber: 7233
    functionLinenumberEnd: 7260
    functionName: wpa_driver_nl80211_ap
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_set_channel
    - wpa_printf
    - wpa_driver_nl80211_set_mode
    - nl80211_set_p2p_mode
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_nl80211_ap(struct wpa_driver_nl80211_data *drv,\n\t\t\t\t
      struct wpa_driver_associate_params *params)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:7268,1
    - Dst: send_and_recv
      Src: /src/hostap/src/drivers/driver_nl80211.c:7269,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:7272,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:7273,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:7275,1
    - Dst: wpa_driver_nl80211_set_mode
      Src: /src/hostap/src/drivers/driver_nl80211.c:7280,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:7281,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - bss
    - reset_mode
    argTypes:
    - struct i802_bss*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7286
      start: 7263
    functionDepth: 5
    functionLinenumber: 7263
    functionLinenumberEnd: 7286
    functionName: nl80211_leave_ibss
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 1
    functionsReached:
    - nl80211_bss_msg
    - wpa_printf
    - strerror
    - send_and_recv
    - wpa_driver_nl80211_set_mode
    linkageType: ''
    returnType: int
    signature: int nl80211_leave_ibss(struct i802_bss *bss, int reset_mode)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:7292,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/drivers/driver_nl80211.c:7297,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/drivers/driver_nl80211.c:7298,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:7300,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:7302,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:7309,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:7310,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/drivers/driver_nl80211.c:7316,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/drivers/driver_nl80211.c:7317,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:7319,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:7321,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:7329,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:7330,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:7336,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:7337,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:7342,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:7343,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 36
    argCount: 2
    argNames:
    - msg
    - params
    argTypes:
    - struct nl_msg*
    - struct wpa_driver_associate_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7348
      start: 7289
    functionDepth: 0
    functionLinenumber: 7289
    functionLinenumberEnd: 7348
    functionName: nl80211_ht_vht_overrides
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nla_put
    - wpa_printf
    - nla_put_flag
    - wpa_hexdump
    linkageType: ''
    returnType: int
    signature: "int nl80211_ht_vht_overrides(struct nl_msg *msg,\n\t\t\t\t    struct
      wpa_driver_associate_params *params)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:7359,1
    - Dst: wpa_driver_nl80211_set_mode_ibss
      Src: /src/hostap/src/drivers/driver_nl80211.c:7361,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:7362,1
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:7368,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:7372,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/src/drivers/driver_nl80211.c:7373,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:7374,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:7376,1
    - Dst: nl80211_put_freq_params
      Src: /src/hostap/src/drivers/driver_nl80211.c:7379,1
    - Dst: nl80211_put_beacon_int
      Src: /src/hostap/src/drivers/driver_nl80211.c:7380,1
    - Dst: nl80211_set_conn_keys
      Src: /src/hostap/src/drivers/driver_nl80211.c:7383,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:7388,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:7389,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:7390,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:7395,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:7396,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:7405,1
    - Dst: nl80211_put_control_port
      Src: /src/hostap/src/drivers/driver_nl80211.c:7406,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/drivers/driver_nl80211.c:7411,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:7414,1
    - Dst: nl80211_ht_vht_overrides
      Src: /src/hostap/src/drivers/driver_nl80211.c:7419,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:7423,1
    - Dst: send_and_recv
      Src: /src/hostap/src/drivers/driver_nl80211.c:7425,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:7429,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:7430,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:7433,1
    - Dst: nl80211_leave_ibss
      Src: /src/hostap/src/drivers/driver_nl80211.c:7435,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:7436,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:7440,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:7445,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 74
    argCount: 2
    argNames:
    - bss
    - params
    argTypes:
    - struct i802_bss*
    - struct wpa_driver_associate_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7447
      start: 7351
    functionDepth: 6
    functionLinenumber: 7351
    functionLinenumberEnd: 7447
    functionName: wpa_driver_nl80211_ibss
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_driver_nl80211_set_mode_ibss
    - wpa_printf
    - nl80211_bss_msg
    - os_memcpy
    - nl80211_put_control_port
    - wpa_hexdump
    - strerror
    - send_and_recv
    - nl80211_leave_ibss
    - wpa_ssid_txt
    - nl80211_ht_vht_overrides
    - nl80211_set_conn_keys
    - MAC2STR
    - nl80211_put_freq_params
    - nl80211_put_beacon_int
    - nla_put_flag
    - nlmsg_free
    - nla_put
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_nl80211_ibss(struct i802_bss *bss,\n\t\t\t\t   struct
      wpa_driver_associate_params *params)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/drivers/driver_nl80211.c:7455,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:7458,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/drivers/driver_nl80211.c:7465,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:7468,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:7474,1
    - Dst: nla_put_u16
      Src: /src/hostap/src/drivers/driver_nl80211.c:7476,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:7480,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:7482,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - drv
    - params
    - msg
    argTypes:
    - struct wpa_driver_nl80211_data*
    - struct wpa_driver_associate_params*
    - struct nl_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7488
      start: 7450
    functionDepth: 0
    functionLinenumber: 7450
    functionLinenumberEnd: 7488
    functionName: nl80211_put_fils_connect_params
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - nla_put
    - wpa_hexdump_ascii
    - nla_put_u16
    linkageType: ''
    returnType: int
    signature: "int nl80211_put_fils_connect_params(struct wpa_driver_nl80211_data
      *drv,\n\t\t\t\t\t   struct wpa_driver_associate_params *params,\n\t\t\t\t\t
      \  struct nl_msg *msg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - val
    argTypes:
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7499
      start: 7491
    functionDepth: 0
    functionLinenumber: 7491
    functionLinenumberEnd: 7499
    functionName: num_bits_set
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int num_bits_set(u32 val)
  - BBCount: 78
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:7511,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:7512,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:7514,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:7516,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:7520,1
    - Dst: for_each_link
      Src: /src/hostap/src/drivers/driver_nl80211.c:7524,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:7525,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:7529,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:7531,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:7533,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:7536,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:7540,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:7545,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:7548,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:7551,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:7553,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:7559,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:7563,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:7564,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:7565,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:7570,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:7571,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:7572,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:7579,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:7580,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:7591,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:7592,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:7598,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:7602,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:7604,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:7610,1
    - Dst: nla_put_u16
      Src: /src/hostap/src/drivers/driver_nl80211.c:7612,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:7618,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/src/drivers/driver_nl80211.c:7619,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:7620,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:7625,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/drivers/driver_nl80211.c:7629,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:7631,1
    - Dst: wpa_ver_supported
      Src: /src/hostap/src/drivers/driver_nl80211.c:7637,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:7639,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:7640,1
    - Dst: wpa_cipher_to_cipher_suite
      Src: /src/hostap/src/drivers/driver_nl80211.c:7645,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:7646,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:7647,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:7658,1
    - Dst: wpa_cipher_to_cipher_suite
      Src: /src/hostap/src/drivers/driver_nl80211.c:7660,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:7661,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:7662,1
    - Dst: num_bits_set
      Src: /src/hostap/src/drivers/driver_nl80211.c:7696,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:7697,1
    - Dst: num_bits_set
      Src: /src/hostap/src/drivers/driver_nl80211.c:7700,1
    - Dst: os_malloc
      Src: /src/hostap/src/drivers/driver_nl80211.c:7704,1
    - Dst: wpa_key_mgmt_to_suites
      Src: /src/hostap/src/drivers/driver_nl80211.c:7781,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:7787,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:7789,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:7791,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:7795,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:7800,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:7801,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/drivers/driver_nl80211.c:7808,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:7809,1
    - Dst: nl80211_put_control_port
      Src: /src/hostap/src/drivers/driver_nl80211.c:7813,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:7820,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:7829,1
    - Dst: nl80211_ht_vht_overrides
      Src: /src/hostap/src/drivers/driver_nl80211.c:7833,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:7837,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:7840,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:7841,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:7847,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:7848,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:7849,1
    - Dst: nl80211_put_fils_connect_params
      Src: /src/hostap/src/drivers/driver_nl80211.c:7856,1
    - Dst: wpa_key_mgmt_sae
      Src: /src/hostap/src/drivers/driver_nl80211.c:7859,1
    - Dst: wpa_key_mgmt_sae
      Src: /src/hostap/src/drivers/driver_nl80211.c:7860,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:7862,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:7866,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:7870,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:7871,1
    CyclomaticComplexity: 127
    EdgeCount: 127
    ICount: 225
    argCount: 3
    argNames:
    - drv
    - params
    - msg
    argTypes:
    - struct wpa_driver_nl80211_data*
    - struct wpa_driver_associate_params*
    - struct nl_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7876
      start: 7502
    functionDepth: 2
    functionLinenumber: 7502
    functionLinenumberEnd: 7876
    functionName: nl80211_connect_common
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_hexdump
    - num_bits_set
    - nla_put_u8
    - nla_nest_start
    - nla_put_u32
    - nla_put
    - wpa_key_mgmt_sae
    - wpa_printf
    - nl80211_put_control_port
    - wpa_ssid_txt
    - wpa_key_mgmt_to_suites
    - os_free
    - wpa_hexdump_key
    - wpa_ver_supported
    - os_malloc
    - nl80211_put_fils_connect_params
    - wpa_cipher_to_cipher_suite
    - os_memcpy
    - for_each_link
    - nla_put_u16
    - nl80211_ht_vht_overrides
    - MAC2STR
    - nla_nest_end
    - nla_put_flag
    linkageType: ''
    returnType: int
    signature: "int nl80211_connect_common(struct wpa_driver_nl80211_data *drv,\n\t\t\t\t
      \ struct wpa_driver_associate_params *params,\n\t\t\t\t  struct nl_msg *msg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211.c:7885,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - features
    - idx
    argTypes:
    - u8*
    - enum qca_wlan_connect_ext_features
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7886
      start: 7880
    functionDepth: 0
    functionLinenumber: 7880
    functionLinenumberEnd: 7886
    functionName: connect_ext_feature_set
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - BIT
    linkageType: ''
    returnType: void
    signature: "void connect_ext_feature_set(u8 *features,\n\t\t\t\t    enum qca_wlan_connect_ext_features
      idx)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:7902,1
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:7905,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:7906,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:7907,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:7911,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:7916,1
    - Dst: connect_ext_feature_set
      Src: /src/hostap/src/drivers/driver_nl80211.c:7917,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:7922,1
    - Dst: connect_ext_feature_set
      Src: /src/hostap/src/drivers/driver_nl80211.c:7924,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:7931,1
    - Dst: connect_ext_feature_set
      Src: /src/hostap/src/drivers/driver_nl80211.c:7933,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:7939,1
    - Dst: connect_ext_feature_set
      Src: /src/hostap/src/drivers/driver_nl80211.c:7941,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:7945,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:7953,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:7959,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:7960,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:7961,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:7966,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:7969,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:7971,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:7973,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 49
    argCount: 2
    argNames:
    - bss
    - params
    argTypes:
    - struct i802_bss*
    - struct wpa_driver_associate_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7976
      start: 7890
    functionDepth: 5
    functionLinenumber: 7890
    functionLinenumberEnd: 7976
    functionName: nl80211_connect_ext
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_bss_msg
    - wpa_printf
    - connect_ext_feature_set
    - send_and_recv_cmd
    - MAC2STR
    - nlmsg_free
    - nla_nest_end
    - nla_nest_start
    - nla_put_u32
    - nla_put
    linkageType: ''
    returnType: int
    signature: "int nl80211_connect_ext(struct i802_bss *bss,\n\t\t\t       struct
      wpa_driver_associate_params *params)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: wpa_key_mgmt_wpa_psk_no_sae
      Src: /src/hostap/src/drivers/driver_nl80211.c:7991,1
    - Dst: wpa_key_mgmt_wpa_psk_no_sae
      Src: /src/hostap/src/drivers/driver_nl80211.c:7992,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:7993,1
    - Dst: issue_key_mgmt_set_key
      Src: /src/hostap/src/drivers/driver_nl80211.c:7994,1
    - Dst: nl80211_connect_ext
      Src: /src/hostap/src/drivers/driver_nl80211.c:8000,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:8001,1
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:8002,1
    - Dst: nl80211_connect_common
      Src: /src/hostap/src/drivers/driver_nl80211.c:8006,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:8011,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:8016,1
    - Dst: wpa_key_mgmt_sae
      Src: /src/hostap/src/drivers/driver_nl80211.c:8020,1
    - Dst: wpa_key_mgmt_sae
      Src: /src/hostap/src/drivers/driver_nl80211.c:8021,1
    - Dst: nl80211_put_sae_pwe
      Src: /src/hostap/src/drivers/driver_nl80211.c:8022,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:8032,1
    - Dst: os_strlen
      Src: /src/hostap/src/drivers/driver_nl80211.c:8040,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:8041,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:8042,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:8063,1
    - Dst: get_nl_auth_type
      Src: /src/hostap/src/drivers/driver_nl80211.c:8068,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:8069,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:8071,1
    - Dst: nl80211_set_conn_keys
      Src: /src/hostap/src/drivers/driver_nl80211.c:8075,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:8079,1
    - Dst: send_and_recv
      Src: /src/hostap/src/drivers/driver_nl80211.c:8081,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:8085,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:8086,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:8091,1
    - Dst: nl80211_nlmsg_clear
      Src: /src/hostap/src/drivers/driver_nl80211.c:8096,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:8097,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 87
    argCount: 3
    argNames:
    - drv
    - params
    - bss
    argTypes:
    - struct wpa_driver_nl80211_data*
    - struct wpa_driver_associate_params*
    - struct i802_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8100
      start: 7979
    functionDepth: 6
    functionLinenumber: 7979
    functionLinenumberEnd: 8100
    functionName: wpa_driver_nl80211_try_connect
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_key_mgmt_sae
    - nl80211_bss_msg
    - wpa_printf
    - nl80211_put_sae_pwe
    - nl80211_connect_ext
    - os_strlen
    - strerror
    - nl80211_nlmsg_clear
    - send_and_recv
    - wpa_key_mgmt_wpa_psk_no_sae
    - nl80211_set_conn_keys
    - nla_put_flag
    - nl80211_connect_common
    - nlmsg_free
    - nla_put_u32
    - nla_put
    - issue_key_mgmt_set_key
    - get_nl_auth_type
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_nl80211_try_connect(\n\tstruct wpa_driver_nl80211_data
      *drv,\n\tstruct wpa_driver_associate_params *params,\n\tstruct i802_bss *bss)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:8112,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211.c:8114,1
    - Dst: wpa_driver_nl80211_try_connect
      Src: /src/hostap/src/drivers/driver_nl80211.c:8116,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:8123,1
    - Dst: wpa_driver_nl80211_disconnect
      Src: /src/hostap/src/drivers/driver_nl80211.c:8126,1
    - Dst: wpa_driver_nl80211_try_connect
      Src: /src/hostap/src/drivers/driver_nl80211.c:8129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - drv
    - params
    - bss
    argTypes:
    - struct wpa_driver_nl80211_data*
    - struct wpa_driver_associate_params*
    - struct i802_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8132
      start: 8103
    functionDepth: 7
    functionLinenumber: 8103
    functionLinenumberEnd: 8132
    functionName: wpa_driver_nl80211_connect
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_printf
    - wpa_driver_nl80211_try_connect
    - wpa_driver_nl80211_disconnect
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_nl80211_connect(\n\tstruct wpa_driver_nl80211_data
      *drv,\n\tstruct wpa_driver_associate_params *params,\n\tstruct i802_bss *bss)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_unmask_11b_rates
      Src: /src/hostap/src/drivers/driver_nl80211.c:8144,1
    - Dst: wpa_driver_nl80211_ap
      Src: /src/hostap/src/drivers/driver_nl80211.c:8147,1
    - Dst: wpa_driver_nl80211_ibss
      Src: /src/hostap/src/drivers/driver_nl80211.c:8150,1
    - Dst: wpa_driver_nl80211_set_mode
      Src: /src/hostap/src/drivers/driver_nl80211.c:8156,1
    - Dst: wpa_driver_nl80211_connect
      Src: /src/hostap/src/drivers/driver_nl80211.c:8159,1
    - Dst: nl80211_mark_disconnected
      Src: /src/hostap/src/drivers/driver_nl80211.c:8162,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:8164,1
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:8166,1
    - Dst: nl80211_connect_common
      Src: /src/hostap/src/drivers/driver_nl80211.c:8170,1
    - Dst: nl80211_put_bss_membership_selectors
      Src: /src/hostap/src/drivers/driver_nl80211.c:8174,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:8179,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:8183,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:8185,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/drivers/driver_nl80211.c:8190,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:8193,1
    - Dst: TEST_FAIL_TAG
      Src: /src/hostap/src/drivers/driver_nl80211.c:8198,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:8199,1
    - Dst: send_and_recv
      Src: /src/hostap/src/drivers/driver_nl80211.c:8201,1
    - Dst: for_each_link
      Src: /src/hostap/src/drivers/driver_nl80211.c:8209,1
    - Dst: TEST_FAIL_TAG
      Src: /src/hostap/src/drivers/driver_nl80211.c:8210,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/drivers/driver_nl80211.c:8216,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:8218,1
    - Dst: nl80211_dump_scan
      Src: /src/hostap/src/drivers/driver_nl80211.c:8219,1
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211.c:8225,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:8226,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:8235,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:8240,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 70
    argCount: 2
    argNames:
    - priv
    - params
    argTypes:
    - void*
    - struct wpa_driver_associate_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8242
      start: 8135
    functionDepth: 8
    functionLinenumber: 8135
    functionLinenumberEnd: 8242
    functionName: wpa_driver_nl80211_associate
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_hexdump
    - nl80211_dump_scan
    - BIT
    - wpa_driver_nl80211_connect
    - nl80211_connect_common
    - nla_put_u32
    - nla_put
    - nl80211_put_bss_membership_selectors
    - wpa_printf
    - nl80211_unmask_11b_rates
    - nlmsg_free
    - wpa_driver_nl80211_set_mode
    - wpa_dbg
    - TEST_FAIL_TAG
    - nl80211_mark_disconnected
    - wpa_driver_nl80211_ibss
    - wpa_driver_nl80211_ap
    - nl80211_bss_msg
    - strerror
    - send_and_recv
    - for_each_link
    - nla_put_flag
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_nl80211_associate(\n\tvoid *priv, struct wpa_driver_associate_params
      *params)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:8250,1
    - Dst: nl80211_iftype_str
      Src: /src/hostap/src/drivers/driver_nl80211.c:8251,1
    - Dst: nl80211_cmd_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:8253,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:8254,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:8257,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:8262,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:8263,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:8264,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - bss
    - mode
    argTypes:
    - struct i802_bss*
    - enum nl80211_iftype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8266
      start: 8245
    functionDepth: 3
    functionLinenumber: 8245
    functionLinenumberEnd: 8266
    functionName: nl80211_set_mode
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 7
    functionsReached:
    - wpa_printf
    - strerror
    - send_and_recv_cmd
    - nlmsg_free
    - nl80211_iftype_str
    - nla_put_u32
    - nl80211_cmd_msg
    linkageType: ''
    returnType: int
    signature: int nl80211_set_mode(struct i802_bss *bss, enum nl80211_iftype mode)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: is_ap_interface
      Src: /src/hostap/src/drivers/driver_nl80211.c:8277,1
    - Dst: TEST_FAIL
      Src: /src/hostap/src/drivers/driver_nl80211.c:8281,1
    - Dst: nl80211_set_mode
      Src: /src/hostap/src/drivers/driver_nl80211.c:8284,1
    - Dst: nl80211_get_ifmode
      Src: /src/hostap/src/drivers/driver_nl80211.c:8285,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:8298,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:8308,1
    - Dst: i802_set_iface_flags
      Src: /src/hostap/src/drivers/driver_nl80211.c:8311,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:8315,1
    - Dst: os_sleep
      Src: /src/hostap/src/drivers/driver_nl80211.c:8317,1
    - Dst: nl80211_set_channel
      Src: /src/hostap/src/drivers/driver_nl80211.c:8326,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:8328,1
    - Dst: is_ap_interface
      Src: /src/hostap/src/drivers/driver_nl80211.c:8333,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:8336,1
    - Dst: linux_br_del_if
      Src: /src/hostap/src/drivers/driver_nl80211.c:8339,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:8341,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:8344,1
    - Dst: nl80211_set_mode
      Src: /src/hostap/src/drivers/driver_nl80211.c:8348,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:8350,1
    - Dst: os_sleep
      Src: /src/hostap/src/drivers/driver_nl80211.c:8352,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:8360,1
    - Dst: linux_set_iface_flags
      Src: /src/hostap/src/drivers/driver_nl80211.c:8367,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:8369,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:8376,1
    - Dst: is_p2p_net_interface
      Src: /src/hostap/src/drivers/driver_nl80211.c:8381,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:8382,1
    - Dst: nl80211_disable_11b_rates
      Src: /src/hostap/src/drivers/driver_nl80211.c:8385,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:8387,1
    - Dst: nl80211_disable_11b_rates
      Src: /src/hostap/src/drivers/driver_nl80211.c:8390,1
    - Dst: is_ap_interface
      Src: /src/hostap/src/drivers/driver_nl80211.c:8393,1
    - Dst: nl80211_mgmt_unsubscribe
      Src: /src/hostap/src/drivers/driver_nl80211.c:8394,1
    - Dst: nl80211_setup_ap
      Src: /src/hostap/src/drivers/driver_nl80211.c:8396,1
    - Dst: nl80211_teardown_ap
      Src: /src/hostap/src/drivers/driver_nl80211.c:8400,1
    - Dst: nl80211_mgmt_unsubscribe
      Src: /src/hostap/src/drivers/driver_nl80211.c:8402,1
    - Dst: is_mesh_interface
      Src: /src/hostap/src/drivers/driver_nl80211.c:8405,1
    - Dst: nl80211_mgmt_subscribe_mesh
      Src: /src/hostap/src/drivers/driver_nl80211.c:8406,1
    - Dst: nl80211_mgmt_subscribe_nan
      Src: /src/hostap/src/drivers/driver_nl80211.c:8411,1
    - Dst: is_ap_interface
      Src: /src/hostap/src/drivers/driver_nl80211.c:8413,1
    - Dst: is_mesh_interface
      Src: /src/hostap/src/drivers/driver_nl80211.c:8414,1
    - Dst: nl80211_mgmt_subscribe_non_ap
      Src: /src/hostap/src/drivers/driver_nl80211.c:8415,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:8416,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 91
    argCount: 3
    argNames:
    - bss
    - nlmode
    - desired_freq_params
    argTypes:
    - struct i802_bss*
    - enum nl80211_iftype
    - struct hostapd_freq_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8420
      start: 8269
    functionDepth: 9
    functionLinenumber: 8269
    functionLinenumberEnd: 8420
    functionName: wpa_driver_nl80211_set_mode_impl
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - is_mesh_interface
    - nl80211_mgmt_subscribe_nan
    - is_p2p_net_interface
    - TEST_FAIL
    - nl80211_set_mode
    - linux_set_iface_flags
    - os_sleep
    - nl80211_set_channel
    - nl80211_setup_ap
    - wpa_printf
    - nl80211_mgmt_subscribe_non_ap
    - nl80211_mgmt_unsubscribe
    - nl80211_get_ifmode
    - linux_br_del_if
    - is_ap_interface
    - nl80211_disable_11b_rates
    - strerror
    - nl80211_mgmt_subscribe_mesh
    - nl80211_teardown_ap
    - i802_set_iface_flags
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_nl80211_set_mode_impl(\n\t\tstruct i802_bss *bss,\n\t\tenum
      nl80211_iftype nlmode,\n\t\tstruct hostapd_freq_params *desired_freq_params)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_ap_interface
      Src: /src/hostap/src/drivers/driver_nl80211.c:8426,1
    - Dst: wpa_driver_nl80211_set_mode
      Src: /src/hostap/src/drivers/driver_nl80211.c:8428,1
    - Dst: is_ap_interface
      Src: /src/hostap/src/drivers/driver_nl80211.c:8429,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:8432,1
    - Dst: linux_br_add_if
      Src: /src/hostap/src/drivers/driver_nl80211.c:8435,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:8437,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:8439,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - bss
    argTypes:
    - struct i802_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8443
      start: 8423
    functionDepth: 1
    functionLinenumber: 8423
    functionLinenumberEnd: 8443
    functionName: nl80211_restore_ap_mode
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - strerror
    - is_ap_interface
    - linux_br_add_if
    - wpa_driver_nl80211_set_mode
    linkageType: ''
    returnType: void
    signature: void nl80211_restore_ap_mode(struct i802_bss *bss)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_driver_nl80211_set_mode_impl
      Src: /src/hostap/src/drivers/driver_nl80211.c:8449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bss
    - nlmode
    argTypes:
    - struct i802_bss*
    - enum nl80211_iftype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8450
      start: 8446
    functionDepth: 10
    functionLinenumber: 8446
    functionLinenumberEnd: 8450
    functionName: wpa_driver_nl80211_set_mode
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 8
    functionsReached:
    - wpa_driver_nl80211_set_mode_impl
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_nl80211_set_mode(struct i802_bss *bss,\n\t\t\t\tenum
      nl80211_iftype nlmode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_driver_nl80211_set_mode_impl
      Src: /src/hostap/src/drivers/driver_nl80211.c:8456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bss
    - freq
    argTypes:
    - struct i802_bss*
    - struct hostapd_freq_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8458
      start: 8453
    functionDepth: 10
    functionLinenumber: 8453
    functionLinenumberEnd: 8458
    functionName: wpa_driver_nl80211_set_mode_ibss
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 1
    functionsReached:
    - wpa_driver_nl80211_set_mode_impl
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_nl80211_set_mode_ibss(struct i802_bss *bss,\n\t\t\t\t\t
      \   struct hostapd_freq_params *freq)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:8469,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - priv
    - capa
    argTypes:
    - void*
    - struct wpa_driver_capa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8477
      start: 8461
    functionDepth: 0
    functionLinenumber: 8461
    functionLinenumberEnd: 8477
    functionName: wpa_driver_nl80211_get_capa
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_nl80211_get_capa(void *priv,\n\t\t\t\t       struct
      wpa_driver_capa *capa)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:8485,1
    - Dst: netlink_send_oper_ifla
      Src: /src/hostap/src/drivers/driver_nl80211.c:8489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - priv
    - state
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8491
      start: 8480
    functionDepth: 1
    functionLinenumber: 8480
    functionLinenumberEnd: 8491
    functionName: wpa_driver_nl80211_set_operstate
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - netlink_send_oper_ifla
    linkageType: ''
    returnType: int
    signature: int wpa_driver_nl80211_set_operstate(void *priv, int state)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/drivers/driver_nl80211.c:8504,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:8506,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:8510,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:8511,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211.c:8513,1
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211.c:8514,1
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211.c:8516,1
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:8518,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:8519,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:8520,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:8521,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:8525,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:8528,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:8529,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - priv
    - authorized
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8531
      start: 8494
    functionDepth: 5
    functionLinenumber: 8494
    functionLinenumberEnd: 8531
    functionName: wpa_driver_nl80211_set_supp_port
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_bss_msg
    - wpa_printf
    - strerror
    - is_zero_ether_addr
    - send_and_recv_cmd
    - MAC2STR
    - BIT
    - nlmsg_free
    - nla_put
    - os_memset
    linkageType: ''
    returnType: int
    signature: int wpa_driver_nl80211_set_supp_port(void *priv, int authorized)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_set_channel
      Src: /src/hostap/src/drivers/driver_nl80211.c:8538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - priv
    - freq
    argTypes:
    - void*
    - struct hostapd_freq_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8539
      start: 8535
    functionDepth: 6
    functionLinenumber: 8535
    functionLinenumberEnd: 8539
    functionName: i802_set_freq
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_set_channel
    linkageType: ''
    returnType: int
    signature: int i802_set_freq(void *priv, struct hostapd_freq_params *freq)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8547
      start: 8542
    functionDepth: 0
    functionLinenumber: 8542
    functionLinenumberEnd: 8547
    functionName: min_int
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int min_int(int a, int b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nlmsg_data
      Src: /src/hostap/src/drivers/driver_nl80211.c:8553,1
    - Dst: nlmsg_hdr
      Src: /src/hostap/src/drivers/driver_nl80211.c:8553,1
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211.c:8555,1
    - Dst: genlmsg_attrdata
      Src: /src/hostap/src/drivers/driver_nl80211.c:8555,1
    - Dst: genlmsg_attrlen
      Src: /src/hostap/src/drivers/driver_nl80211.c:8556,1
    - Dst: memcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:8565,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211.c:8565,1
    - Dst: min_int
      Src: /src/hostap/src/drivers/driver_nl80211.c:8566,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211.c:8566,1
    - Dst: nl80211_nlmsg_clear
      Src: /src/hostap/src/drivers/driver_nl80211.c:8567,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - msg
    - arg
    argTypes:
    - struct nl_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8569
      start: 8550
    functionDepth: 1
    functionLinenumber: 8550
    functionLinenumberEnd: 8569
    functionName: get_key_handler
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nlmsg_hdr
    - nla_len
    - nl80211_nlmsg_clear
    - nla_parse
    - min_int
    - nlmsg_data
    - nla_data
    - genlmsg_attrlen
    - memcpy
    - genlmsg_attrdata
    linkageType: ''
    returnType: int
    signature: int get_key_handler(struct nl_msg *msg, void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_is_netdev_iftype
      Src: /src/hostap/src/drivers/driver_nl80211.c:8580,1
    - Dst: nl80211_cmd_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:8581,1
    - Dst: nl80211_ifindex_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:8583,1
    - Dst: if_nametoindex
      Src: /src/hostap/src/drivers/driver_nl80211.c:8583,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:8587,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:8589,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:8590,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:8591,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211.c:8595,1
    - Dst: send_and_recv_resp
      Src: /src/hostap/src/drivers/driver_nl80211.c:8596,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:8598,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:8600,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 6
    argNames:
    - iface
    - priv
    - addr
    - idx
    - link_id
    - seq
    argTypes:
    - char*
    - void*
    - u8*
    - int
    - int
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8604
      start: 8572
    functionDepth: 4
    functionLinenumber: 8572
    functionLinenumberEnd: 8604
    functionName: i802_get_seqnum
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - strerror
    - nl80211_cmd_msg
    - send_and_recv_resp
    - nl80211_is_netdev_iftype
    - nla_put_u8
    - nlmsg_free
    - nl80211_ifindex_msg
    - nla_put
    - if_nametoindex
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int i802_get_seqnum(const char *iface, void *priv, const u8 *addr,\n\t\t\t
      \  int idx, int link_id, u8 *seq)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:8620,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:8621,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:8622,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:8626,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:8629,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:8630,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - priv
    - rts
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8632
      start: 8607
    functionDepth: 5
    functionLinenumber: 8607
    functionLinenumberEnd: 8632
    functionName: i802_set_rts
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_bss_msg
    - wpa_printf
    - strerror
    - send_and_recv_cmd
    - nlmsg_free
    - nla_put_u32
    linkageType: ''
    returnType: int
    signature: int i802_set_rts(void *priv, int rts)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:8648,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:8649,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:8650,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:8654,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:8657,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:8658,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - priv
    - frag
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8660
      start: 8635
    functionDepth: 5
    functionLinenumber: 8635
    functionLinenumberEnd: 8660
    functionName: i802_set_frag
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_bss_msg
    - wpa_printf
    - strerror
    - send_and_recv_cmd
    - nlmsg_free
    - nla_put_u32
    linkageType: ''
    returnType: int
    signature: int i802_set_frag(void *priv, int frag)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:8670,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:8673,1
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:8680,1
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211.c:8683,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:8684,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:8687,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:8689,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:8690,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:8694,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - priv
    - link_id
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8696
      start: 8663
    functionDepth: 5
    functionLinenumber: 8663
    functionLinenumberEnd: 8696
    functionName: i802_flush
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_bss_msg
    - wpa_printf
    - strerror
    - send_and_recv_cmd
    - BIT
    - nla_put_u8
    - nlmsg_free
    linkageType: ''
    returnType: int
    signature: int i802_flush(void *priv, int link_id)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nla_parse_nested
      Src: /src/hostap/src/drivers/driver_nl80211.c:8711,1
    - Dst: nla_parse_nested
      Src: /src/hostap/src/drivers/driver_nl80211.c:8714,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:8720,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:8723,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - data
    - attr
    argTypes:
    - struct hostap_sta_driver_data*
    - struct nlattr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8726
      start: 8699
    functionDepth: 0
    functionLinenumber: 8699
    functionLinenumberEnd: 8726
    functionName: get_sta_tid_stats
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nla_get_u32
    - nla_parse_nested
    linkageType: ''
    returnType: void
    signature: "void get_sta_tid_stats(struct hostap_sta_driver_data *data,\n\t\t\t
      \     struct nlattr *attr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nla_parse_nested
      Src: /src/hostap/src/drivers/driver_nl80211.c:8711,1
    - Dst: nla_parse_nested
      Src: /src/hostap/src/drivers/driver_nl80211.c:8714,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:8720,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:8723,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8725
      start: 8710
    functionDepth: 0
    functionLinenumber: 8710
    functionLinenumberEnd: 8725
    functionName: nla_for_each_nested
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nla_get_u32
    - nla_parse_nested
    linkageType: ''
    returnType: void
    signature: void nla_for_each_nested(tidattr, attr, rem)
  - BBCount: 54
    BranchProfiles: []
    Callsites:
    - Dst: nlmsg_data
      Src: /src/hostap/src/drivers/driver_nl80211.c:8732,1
    - Dst: nlmsg_hdr
      Src: /src/hostap/src/drivers/driver_nl80211.c:8732,1
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211.c:8774,1
    - Dst: genlmsg_attrdata
      Src: /src/hostap/src/drivers/driver_nl80211.c:8774,1
    - Dst: genlmsg_attrlen
      Src: /src/hostap/src/drivers/driver_nl80211.c:8775,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:8784,1
    - Dst: nla_parse_nested
      Src: /src/hostap/src/drivers/driver_nl80211.c:8787,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:8790,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:8796,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:8799,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:8801,1
    - Dst: nla_get_u64
      Src: /src/hostap/src/drivers/driver_nl80211.c:8809,1
    - Dst: nla_get_u64
      Src: /src/hostap/src/drivers/driver_nl80211.c:8811,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:8815,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:8818,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:8821,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:8824,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:8827,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:8830,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:8833,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:8838,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:8841,1
    - Dst: nla_get_u64
      Src: /src/hostap/src/drivers/driver_nl80211.c:8844,1
    - Dst: nla_get_u64
      Src: /src/hostap/src/drivers/driver_nl80211.c:8847,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:8850,1
    - Dst: nla_get_u64
      Src: /src/hostap/src/drivers/driver_nl80211.c:8853,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:8856,1
    - Dst: nla_get_s8
      Src: /src/hostap/src/drivers/driver_nl80211.c:8861,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:8863,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:8866,1
    - Dst: nla_get_u64
      Src: /src/hostap/src/drivers/driver_nl80211.c:8869,1
    - Dst: nla_parse_nested
      Src: /src/hostap/src/drivers/driver_nl80211.c:8872,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:8877,1
    - Dst: nla_get_u16
      Src: /src/hostap/src/drivers/driver_nl80211.c:8880,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:8887,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:8892,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:8901,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:8906,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:8911,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:8915,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:8930,1
    - Dst: nla_parse_nested
      Src: /src/hostap/src/drivers/driver_nl80211.c:8936,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:8941,1
    - Dst: nla_get_u16
      Src: /src/hostap/src/drivers/driver_nl80211.c:8944,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:8951,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:8956,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:8965,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:8970,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:8975,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:8979,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:8994,1
    - Dst: get_sta_tid_stats
      Src: /src/hostap/src/drivers/driver_nl80211.c:9000,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 162
    argCount: 2
    argNames:
    - msg
    - arg
    argTypes:
    - struct nl_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9003
      start: 8729
    functionDepth: 1
    functionLinenumber: 8729
    functionLinenumberEnd: 9003
    functionName: get_sta_handler
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nlmsg_hdr
    - wpa_printf
    - nla_get_u32
    - nla_parse_nested
    - nla_get_s8
    - nla_parse
    - get_sta_tid_stats
    - nlmsg_data
    - nla_get_u64
    - genlmsg_attrlen
    - genlmsg_attrdata
    - nla_get_u16
    - nla_get_u8
    linkageType: ''
    returnType: int
    signature: int get_sta_handler(struct nl_msg *msg, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:9014,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:9015,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:9016,1
    - Dst: send_and_recv_resp
      Src: /src/hostap/src/drivers/driver_nl80211.c:9020,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - bss
    - bssid
    - data
    argTypes:
    - struct i802_bss*
    - u8*
    - struct hostap_sta_driver_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9021
      start: 9006
    functionDepth: 5
    functionLinenumber: 9006
    functionLinenumberEnd: 9021
    functionName: nl80211_get_link_signal
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_bss_msg
    - send_and_recv_resp
    - nla_put
    - nlmsg_free
    linkageType: ''
    returnType: int
    signature: "int nl80211_get_link_signal(struct i802_bss *bss, const u8 *bssid,\n\t\t\t
      \   struct hostap_sta_driver_data *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:9030,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:9031,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:9032,1
    - Dst: send_and_recv_resp
      Src: /src/hostap/src/drivers/driver_nl80211.c:9036,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - bss
    - data
    - addr
    argTypes:
    - struct i802_bss*
    - struct hostap_sta_driver_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9037
      start: 9024
    functionDepth: 5
    functionLinenumber: 9024
    functionLinenumberEnd: 9037
    functionName: i802_read_sta_data
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_bss_msg
    - send_and_recv_resp
    - nla_put
    - nlmsg_free
    linkageType: ''
    returnType: int
    signature: "int i802_read_sta_data(struct i802_bss *bss,\n\t\t\t      struct hostap_sta_driver_data
      *data,\n\t\t\t      const u8 *addr)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:9050,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:9054,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:9059,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:9065,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:9069,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:9073,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:9077,1
    - Dst: nla_put_u16
      Src: /src/hostap/src/drivers/driver_nl80211.c:9083,1
    - Dst: nla_put_u16
      Src: /src/hostap/src/drivers/driver_nl80211.c:9085,1
    - Dst: nla_put_u16
      Src: /src/hostap/src/drivers/driver_nl80211.c:9086,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:9087,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:9090,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:9092,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:9095,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:9098,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:9099,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:9106,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 51
    argCount: 7
    argNames:
    - priv
    - queue
    - aifs
    - cw_min
    - cw_max
    - burst_time
    - link_id
    argTypes:
    - void*
    - int
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9108
      start: 9040
    functionDepth: 5
    functionLinenumber: 9040
    functionLinenumberEnd: 9108
    functionName: i802_set_tx_queue_params
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_bss_msg
    - wpa_printf
    - send_and_recv_cmd
    - nla_put_u16
    - nla_put_u8
    - nlmsg_free
    - nla_nest_end
    - nla_nest_start
    linkageType: ''
    returnType: int
    signature: "int i802_set_tx_queue_params(void *priv, int queue, int aifs,\n\t\t\t\t
      \   int cw_min, int cw_max, int burst_time,\n\t\t\t\t    int link_id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:9118,1
    - Dst: if_nametoindex
      Src: /src/hostap/src/drivers/driver_nl80211.c:9120,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:9121,1
    - Dst: if_nametoindex
      Src: /src/hostap/src/drivers/driver_nl80211.c:9121,1
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:9122,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:9123,1
    - Dst: nla_put_u16
      Src: /src/hostap/src/drivers/driver_nl80211.c:9125,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:9127,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:9128,1
    - Dst: if_nametoindex
      Src: /src/hostap/src/drivers/driver_nl80211.c:9128,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:9129,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:9133,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:9135,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:9137,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:9138,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 5
    argNames:
    - bss
    - addr
    - ifname
    - vlan_id
    - link_id
    argTypes:
    - struct i802_bss*
    - u8*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9141
      start: 9111
    functionDepth: 5
    functionLinenumber: 9111
    functionLinenumberEnd: 9141
    functionName: i802_set_sta_vlan
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_bss_msg
    - wpa_printf
    - strerror
    - send_and_recv_cmd
    - nla_put_u16
    - MAC2STR
    - nla_put_u8
    - nlmsg_free
    - nla_put_u32
    - nla_put
    - if_nametoindex
    linkageType: ''
    returnType: int
    signature: "int i802_set_sta_vlan(struct i802_bss *bss, const u8 *addr,\n\t\t\t
      \    const char *ifname, int vlan_id, int link_id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211.c:9149,1
    - Dst: i802_read_sta_data
      Src: /src/hostap/src/drivers/driver_nl80211.c:9151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - priv
    - addr
    argTypes:
    - void*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9157
      start: 9144
    functionDepth: 6
    functionLinenumber: 9144
    functionLinenumberEnd: 9157
    functionName: i802_get_inact_sec
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - i802_read_sta_data
    - os_memset
    linkageType: ''
    returnType: int
    signature: int i802_get_inact_sec(void *priv, const u8 *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - priv
    - addr
    argTypes:
    - void*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9166
      start: 9160
    functionDepth: 0
    functionLinenumber: 9160
    functionLinenumberEnd: 9166
    functionName: i802_sta_clear_stats
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int i802_sta_clear_stats(void *priv, const u8 *addr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_get_link
      Src: /src/hostap/src/drivers/driver_nl80211.c:9176,1
    - Dst: ieee80211_freq_to_chan
      Src: /src/hostap/src/drivers/driver_nl80211.c:9178,1
    - Dst: i802_sta_disassoc
      Src: /src/hostap/src/drivers/driver_nl80211.c:9182,1
    - Dst: is_mesh_interface
      Src: /src/hostap/src/drivers/driver_nl80211.c:9186,1
    - Dst: wpa_driver_nl80211_sta_remove
      Src: /src/hostap/src/drivers/driver_nl80211.c:9190,1
    - Dst: memset
      Src: /src/hostap/src/drivers/driver_nl80211.c:9192,1
    - Dst: IEEE80211_FC
      Src: /src/hostap/src/drivers/driver_nl80211.c:9193,1
    - Dst: memcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:9195,1
    - Dst: memcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:9196,1
    - Dst: memcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:9197,1
    - Dst: host_to_le16
      Src: /src/hostap/src/drivers/driver_nl80211.c:9198,1
    - Dst: wpa_driver_nl80211_send_mlme
      Src: /src/hostap/src/drivers/driver_nl80211.c:9199,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - priv
    - own_addr
    - addr
    - reason
    - link_id
    argTypes:
    - void*
    - u8*
    - u8*
    - u16
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9203
      start: 9169
    functionDepth: 7
    functionLinenumber: 9169
    functionLinenumberEnd: 9203
    functionName: i802_sta_deauth
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - is_mesh_interface
    - nl80211_get_link
    - i802_sta_disassoc
    - memcpy
    - memset
    - wpa_driver_nl80211_sta_remove
    - IEEE80211_FC
    - ieee80211_freq_to_chan
    - host_to_le16
    - wpa_driver_nl80211_send_mlme
    linkageType: ''
    returnType: int
    signature: "int i802_sta_deauth(void *priv, const u8 *own_addr, const u8 *addr,\n\t\t\t
      \  u16 reason, int link_id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_mesh_interface
      Src: /src/hostap/src/drivers/driver_nl80211.c:9213,1
    - Dst: wpa_driver_nl80211_sta_remove
      Src: /src/hostap/src/drivers/driver_nl80211.c:9217,1
    - Dst: memset
      Src: /src/hostap/src/drivers/driver_nl80211.c:9219,1
    - Dst: IEEE80211_FC
      Src: /src/hostap/src/drivers/driver_nl80211.c:9220,1
    - Dst: memcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:9222,1
    - Dst: memcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:9223,1
    - Dst: memcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:9224,1
    - Dst: host_to_le16
      Src: /src/hostap/src/drivers/driver_nl80211.c:9225,1
    - Dst: wpa_driver_nl80211_send_mlme
      Src: /src/hostap/src/drivers/driver_nl80211.c:9226,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - priv
    - own_addr
    - addr
    - reason
    - link_id
    argTypes:
    - void*
    - u8*
    - u8*
    - u16
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9230
      start: 9206
    functionDepth: 7
    functionLinenumber: 9206
    functionLinenumberEnd: 9230
    functionName: i802_sta_disassoc
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 1
    functionsReached:
    - is_mesh_interface
    - memcpy
    - memset
    - wpa_driver_nl80211_sta_remove
    - IEEE80211_FC
    - host_to_le16
    - wpa_driver_nl80211_send_mlme
    linkageType: ''
    returnType: int
    signature: "int i802_sta_disassoc(void *priv, const u8 *own_addr, const u8 *addr,\n\t\t\t
      \    u16 reason, int link_id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/src/drivers/driver_nl80211.c:9244,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/drivers/driver_nl80211.c:9247,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:9253,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - drv
    argTypes:
    - struct wpa_driver_nl80211_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9255
      start: 9233
    functionDepth: 1
    functionLinenumber: 9233
    functionLinenumberEnd: 9255
    functionName: dump_ifidx
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - wpa_printf
    - os_snprintf_error
    linkageType: ''
    returnType: void
    signature: void dump_ifidx(struct wpa_driver_nl80211_data *drv)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:9264,1
    - Dst: nl80211_has_ifidx
      Src: /src/hostap/src/drivers/driver_nl80211.c:9267,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:9268,1
    - Dst: dump_ifidx
      Src: /src/hostap/src/drivers/driver_nl80211.c:9276,1
    - Dst: os_realloc_array
      Src: /src/hostap/src/drivers/driver_nl80211.c:9286,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:9293,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:9295,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:9299,1
    - Dst: dump_ifidx
      Src: /src/hostap/src/drivers/driver_nl80211.c:9304,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 3
    argNames:
    - drv
    - ifidx
    - ifidx_reason
    argTypes:
    - struct wpa_driver_nl80211_data*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9305
      start: 9258
    functionDepth: 2
    functionLinenumber: 9258
    functionLinenumberEnd: 9305
    functionName: add_ifidx
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - os_memcpy
    - dump_ifidx
    - nl80211_has_ifidx
    - os_realloc_array
    linkageType: ''
    returnType: void
    signature: "void add_ifidx(struct wpa_driver_nl80211_data *drv, int ifidx,\n\t\t
      \     int ifidx_reason)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dump_ifidx
      Src: /src/hostap/src/drivers/driver_nl80211.c:9323,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - drv
    - ifidx
    - ifidx_reason
    argTypes:
    - struct wpa_driver_nl80211_data*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9324
      start: 9308
    functionDepth: 2
    functionLinenumber: 9308
    functionLinenumberEnd: 9324
    functionName: del_ifidx
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 3
    functionsReached:
    - dump_ifidx
    linkageType: ''
    returnType: void
    signature: "void del_ifidx(struct wpa_driver_nl80211_data *drv, int ifidx,\n\t\t
      \     int ifidx_reason)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - drv
    - ifidx
    - ifidx_reason
    argTypes:
    - struct wpa_driver_nl80211_data*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9339
      start: 9327
    functionDepth: 0
    functionLinenumber: 9327
    functionLinenumberEnd: 9339
    functionName: nl80211_has_ifidx
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int nl80211_has_ifidx(struct wpa_driver_nl80211_data *drv, int ifidx,\n\t\t
      \     int ifidx_reason)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/src/drivers/driver_nl80211.c:9352,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:9354,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:9360,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:9362,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:9363,1
    - Dst: if_nametoindex
      Src: /src/hostap/src/drivers/driver_nl80211.c:9365,1
    - Dst: nl80211_create_iface
      Src: /src/hostap/src/drivers/driver_nl80211.c:9366,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211.c:9375,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211.c:9379,1
    - Dst: linux_set_iface_flags
      Src: /src/hostap/src/drivers/driver_nl80211.c:9383,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:9384,1
    - Dst: linux_br_add_if
      Src: /src/hostap/src/drivers/driver_nl80211.c:9389,1
    - Dst: i802_set_sta_vlan
      Src: /src/hostap/src/drivers/driver_nl80211.c:9393,1
    - Dst: linux_br_del_if
      Src: /src/hostap/src/drivers/driver_nl80211.c:9397,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:9399,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:9401,1
    - Dst: i802_set_sta_vlan
      Src: /src/hostap/src/drivers/driver_nl80211.c:9403,1
    - Dst: nl80211_remove_iface
      Src: /src/hostap/src/drivers/driver_nl80211.c:9405,1
    - Dst: if_nametoindex
      Src: /src/hostap/src/drivers/driver_nl80211.c:9405,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211.c:9406,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211.c:9410,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 6
    argNames:
    - priv
    - addr
    - aid
    - val
    - bridge_ifname
    - ifname_wds
    argTypes:
    - void*
    - u8*
    - int
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9414
      start: 9342
    functionDepth: 7
    functionLinenumber: 9342
    functionLinenumberEnd: 9414
    functionName: i802_set_wds_sta
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - wpa_printf
    - nl80211_remove_iface
    - linux_set_iface_flags
    - strerror
    - os_strlcpy
    - i802_set_sta_vlan
    - linux_br_del_if
    - os_snprintf
    - MAC2STR
    - nl80211_create_iface
    - linux_br_add_if
    - if_nametoindex
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int i802_set_wds_sta(void *priv, const u8 *addr, int aid, int val,\n\t\t\t
      \   const char *bridge_ifname, char *ifname_wds)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: recvfrom
      Src: /src/hostap/src/drivers/driver_nl80211.c:9426,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:9429,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:9430,1
    - Dst: nl80211_has_ifidx
      Src: /src/hostap/src/drivers/driver_nl80211.c:9434,1
    - Dst: drv_event_eapol_rx
      Src: /src/hostap/src/drivers/driver_nl80211.c:9436,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - sock
    - eloop_ctx
    - sock_ctx
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9438
      start: 9417
    functionDepth: 1
    functionLinenumber: 9417
    functionLinenumberEnd: 9438
    functionName: handle_eapol
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - strerror
    - recvfrom
    - nl80211_has_ifidx
    - drv_event_eapol_rx
    linkageType: ''
    returnType: void
    signature: void handle_eapol(int sock, void *eloop_ctx, void *sock_ctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:9448,1
    - Dst: if_nametoindex
      Src: /src/hostap/src/drivers/driver_nl80211.c:9449,1
    - Dst: linux_br_add
      Src: /src/hostap/src/drivers/driver_nl80211.c:9455,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:9456,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:9458,1
    - Dst: if_nametoindex
      Src: /src/hostap/src/drivers/driver_nl80211.c:9462,1
    - Dst: add_ifidx
      Src: /src/hostap/src/drivers/driver_nl80211.c:9463,1
    - Dst: linux_br_get
      Src: /src/hostap/src/drivers/driver_nl80211.c:9467,1
    - Dst: os_strcmp
      Src: /src/hostap/src/drivers/driver_nl80211.c:9468,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:9473,1
    - Dst: linux_br_del_if
      Src: /src/hostap/src/drivers/driver_nl80211.c:9475,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:9477,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:9480,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:9485,1
    - Dst: linux_br_add_if
      Src: /src/hostap/src/drivers/driver_nl80211.c:9487,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:9488,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:9490,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 4
    argNames:
    - drv
    - bss
    - brname
    - ifname
    argTypes:
    - struct wpa_driver_nl80211_data*
    - struct i802_bss*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9500
      start: 9441
    functionDepth: 3
    functionLinenumber: 9441
    functionLinenumberEnd: 9500
    functionName: i802_check_bridge
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - add_ifidx
    - strerror
    - os_strlcpy
    - linux_br_del_if
    - os_strcmp
    - linux_br_add_if
    - linux_br_get
    - if_nametoindex
    - linux_br_add
    linkageType: ''
    returnType: int
    signature: "int i802_check_bridge(struct wpa_driver_nl80211_data *drv,\n\t\t\t
      \    struct i802_bss *bss,\n\t\t\t     const char *brname, const char *ifname)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: wpa_driver_nl80211_drv_init
      Src: /src/hostap/src/drivers/driver_nl80211.c:9513,1
    - Dst: linux_br_get
      Src: /src/hostap/src/drivers/driver_nl80211.c:9522,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:9523,1
    - Dst: if_nametoindex
      Src: /src/hostap/src/drivers/driver_nl80211.c:9525,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:9526,1
    - Dst: linux_master_get
      Src: /src/hostap/src/drivers/driver_nl80211.c:9528,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:9529,1
    - Dst: add_ifidx
      Src: /src/hostap/src/drivers/driver_nl80211.c:9532,1
    - Dst: if_nametoindex
      Src: /src/hostap/src/drivers/driver_nl80211.c:9532,1
    - Dst: linux_br_get
      Src: /src/hostap/src/drivers/driver_nl80211.c:9535,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:9536,1
    - Dst: if_nametoindex
      Src: /src/hostap/src/drivers/driver_nl80211.c:9538,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:9539,1
    - Dst: if_nametoindex
      Src: /src/hostap/src/drivers/driver_nl80211.c:9549,1
    - Dst: add_ifidx
      Src: /src/hostap/src/drivers/driver_nl80211.c:9551,1
    - Dst: add_ifidx
      Src: /src/hostap/src/drivers/driver_nl80211.c:9558,1
    - Dst: i802_check_bridge
      Src: /src/hostap/src/drivers/driver_nl80211.c:9561,1
    - Dst: os_strcmp
      Src: /src/hostap/src/drivers/driver_nl80211.c:9564,1
    - Dst: add_ifidx
      Src: /src/hostap/src/drivers/driver_nl80211.c:9570,1
    - Dst: nl_socket_alloc
      Src: /src/hostap/src/drivers/driver_nl80211.c:9575,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:9577,1
    - Dst: nl_connect
      Src: /src/hostap/src/drivers/driver_nl80211.c:9581,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:9583,1
    - Dst: nl_geterror
      Src: /src/hostap/src/drivers/driver_nl80211.c:9584,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:9590,1
    - Dst: socket
      Src: /src/hostap/src/drivers/driver_nl80211.c:9595,1
    - Dst: htons
      Src: /src/hostap/src/drivers/driver_nl80211.c:9595,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:9597,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:9598,1
    - Dst: eloop_register_read_sock
      Src: /src/hostap/src/drivers/driver_nl80211.c:9602,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:9604,1
    - Dst: linux_get_ifhwaddr
      Src: /src/hostap/src/drivers/driver_nl80211.c:9609,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:9612,1
    - Dst: memcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:9614,1
    - Dst: wpa_driver_nl80211_deinit
      Src: /src/hostap/src/drivers/driver_nl80211.c:9619,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 83
    argCount: 2
    argNames:
    - hapd
    - params
    argTypes:
    - struct hostapd_data*
    - struct wpa_init_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9621
      start: 9503
    functionDepth: 8
    functionLinenumber: 9503
    functionLinenumberEnd: 9621
    functionName: i802_init
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - add_ifidx
    - eloop_register_read_sock
    - os_strlcpy
    - nl_socket_alloc
    - wpa_driver_nl80211_drv_init
    - nl_connect
    - i802_check_bridge
    - wpa_printf
    - linux_master_get
    - linux_get_ifhwaddr
    - memcpy
    - linux_br_get
    - os_strcmp
    - htons
    - if_nametoindex
    - os_memcpy
    - strerror
    - socket
    - wpa_driver_nl80211_deinit
    - nl_geterror
    linkageType: ''
    returnType: void
    signature: "void *i802_init(struct hostapd_data *hapd,\n\t\t       struct wpa_init_params
      *params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_driver_nl80211_deinit
      Src: /src/hostap/src/drivers/driver_nl80211.c:9627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9628
      start: 9624
    functionDepth: 8
    functionLinenumber: 9624
    functionLinenumberEnd: 9628
    functionName: i802_deinit
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_driver_nl80211_deinit
    linkageType: ''
    returnType: void
    signature: void i802_deinit(void *priv)
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 1
    argNames:
    - type
    argTypes:
    - enum wpa_driver_if_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9659
      start: 9631
    functionDepth: 0
    functionLinenumber: 9631
    functionLinenumberEnd: 9659
    functionName: wpa_driver_nl80211_if_type
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum nl80211_iftype
    signature: "enum nl80211_iftype wpa_driver_nl80211_if_type(\n\tenum wpa_driver_if_type
      type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/drivers/driver_nl80211.c:9665,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/drivers/driver_nl80211.c:9667,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - global
    - addr
    argTypes:
    - struct nl80211_global*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9671
      start: 9662
    functionDepth: 1
    functionLinenumber: 9662
    functionLinenumberEnd: 9671
    functionName: nl80211_addr_in_use
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    - ether_addr_equal
    linkageType: ''
    returnType: int
    signature: int nl80211_addr_in_use(struct nl80211_global *global, const u8 *addr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:9681,1
    - Dst: nl80211_addr_in_use
      Src: /src/hostap/src/drivers/driver_nl80211.c:9685,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:9691,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:9692,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - drv
    - new_addr
    argTypes:
    - struct wpa_driver_nl80211_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9695
      start: 9674
    functionDepth: 2
    functionLinenumber: 9674
    functionLinenumberEnd: 9695
    functionName: nl80211_vif_addr
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - os_memcpy
    - nl80211_addr_in_use
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int nl80211_vif_addr(struct wpa_driver_nl80211_data *drv, u8 *new_addr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nlmsg_data
      Src: /src/hostap/src/drivers/driver_nl80211.c:9706,1
    - Dst: nlmsg_hdr
      Src: /src/hostap/src/drivers/driver_nl80211.c:9706,1
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211.c:9710,1
    - Dst: genlmsg_attrdata
      Src: /src/hostap/src/drivers/driver_nl80211.c:9710,1
    - Dst: genlmsg_attrlen
      Src: /src/hostap/src/drivers/driver_nl80211.c:9711,1
    - Dst: nla_get_u64
      Src: /src/hostap/src/drivers/driver_nl80211.c:9713,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:9718,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211.c:9718,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - msg
    - arg
    argTypes:
    - struct nl_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9722
      start: 9704
    functionDepth: 0
    functionLinenumber: 9704
    functionLinenumberEnd: 9722
    functionName: nl80211_wdev_handler
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nlmsg_hdr
    - os_memcpy
    - nla_parse
    - nlmsg_data
    - nla_data
    - nla_get_u64
    - genlmsg_attrlen
    - genlmsg_attrdata
    linkageType: ''
    returnType: int
    signature: int nl80211_wdev_handler(struct nl_msg *msg, void *arg)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:9739,1
    - Dst: wpa_driver_nl80211_if_type
      Src: /src/hostap/src/drivers/driver_nl80211.c:9740,1
    - Dst: nl80211_is_netdev_iftype
      Src: /src/hostap/src/drivers/driver_nl80211.c:9741,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211.c:9744,1
    - Dst: nl80211_create_iface
      Src: /src/hostap/src/drivers/driver_nl80211.c:9745,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:9749,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/drivers/driver_nl80211.c:9757,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:9758,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:9759,1
    - Dst: nl80211_create_iface
      Src: /src/hostap/src/drivers/driver_nl80211.c:9764,1
    - Dst: if_nametoindex
      Src: /src/hostap/src/drivers/driver_nl80211.c:9768,1
    - Dst: nl80211_is_netdev_iftype
      Src: /src/hostap/src/drivers/driver_nl80211.c:9775,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:9776,1
    - Dst: linux_get_ifhwaddr
      Src: /src/hostap/src/drivers/driver_nl80211.c:9777,1
    - Dst: nl80211_remove_iface
      Src: /src/hostap/src/drivers/driver_nl80211.c:9780,1
    - Dst: linux_get_ifhwaddr
      Src: /src/hostap/src/drivers/driver_nl80211.c:9792,1
    - Dst: nl80211_remove_iface
      Src: /src/hostap/src/drivers/driver_nl80211.c:9795,1
    - Dst: nl80211_addr_in_use
      Src: /src/hostap/src/drivers/driver_nl80211.c:9798,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:9799,1
    - Dst: nl80211_vif_addr
      Src: /src/hostap/src/drivers/driver_nl80211.c:9801,1
    - Dst: nl80211_remove_iface
      Src: /src/hostap/src/drivers/driver_nl80211.c:9803,1
    - Dst: linux_set_ifhwaddr
      Src: /src/hostap/src/drivers/driver_nl80211.c:9806,1
    - Dst: nl80211_remove_iface
      Src: /src/hostap/src/drivers/driver_nl80211.c:9809,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:9813,1
    - Dst: os_zalloc
      Src: /src/hostap/src/drivers/driver_nl80211.c:9817,1
    - Dst: nl80211_remove_iface
      Src: /src/hostap/src/drivers/driver_nl80211.c:9821,1
    - Dst: nl80211_set_mode
      Src: /src/hostap/src/drivers/driver_nl80211.c:9836,1
    - Dst: i802_check_bridge
      Src: /src/hostap/src/drivers/driver_nl80211.c:9840,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:9841,1
    - Dst: nl80211_remove_iface
      Src: /src/hostap/src/drivers/driver_nl80211.c:9845,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:9846,1
    - Dst: linux_set_iface_flags
      Src: /src/hostap/src/drivers/driver_nl80211.c:9850,1
    - Dst: nl80211_remove_iface
      Src: /src/hostap/src/drivers/driver_nl80211.c:9853,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:9854,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:9857,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:9858,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:9859,1
    - Dst: nl80211_init_bss
      Src: /src/hostap/src/drivers/driver_nl80211.c:9864,1
    - Dst: nl80211_setup_ap
      Src: /src/hostap/src/drivers/driver_nl80211.c:9867,1
    - Dst: add_ifidx
      Src: /src/hostap/src/drivers/driver_nl80211.c:9883,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 100
    argCount: 11
    argNames:
    - priv
    - type
    - ifname
    - addr
    - bss_ctx
    - drv_priv
    - force_ifname
    - if_addr
    - bridge
    - use_existing
    - setup_ap
    argTypes:
    - void*
    - enum wpa_driver_if_type
    - char*
    - u8*
    - void*
    - void**
    - char*
    - u8*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9886
      start: 9725
    functionDepth: 9
    functionLinenumber: 9725
    functionLinenumberEnd: 9886
    functionName: wpa_driver_nl80211_if_add
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_set_mode
    - add_ifidx
    - linux_set_iface_flags
    - nl80211_addr_in_use
    - os_strlcpy
    - nl80211_init_bss
    - linux_set_ifhwaddr
    - nl80211_vif_addr
    - nl80211_setup_ap
    - i802_check_bridge
    - wpa_printf
    - wpa_driver_nl80211_if_type
    - linux_get_ifhwaddr
    - os_free
    - is_zero_ether_addr
    - nl80211_create_iface
    - nl80211_is_netdev_iftype
    - if_nametoindex
    - os_memset
    - os_memcpy
    - os_zalloc
    - nl80211_remove_iface
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_nl80211_if_add(void *priv, enum wpa_driver_if_type
      type,\n\t\t\t\t     const char *ifname, const u8 *addr,\n\t\t\t\t     void *bss_ctx,
      void **drv_priv,\n\t\t\t\t     char *force_ifname, u8 *if_addr,\n\t\t\t\t     const
      char *bridge, int use_existing,\n\t\t\t\t     int setup_ap)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: if_nametoindex
      Src: /src/hostap/src/drivers/driver_nl80211.c:9894,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:9896,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/drivers/driver_nl80211.c:9899,1
    - Dst: nl80211_remove_iface
      Src: /src/hostap/src/drivers/driver_nl80211.c:9902,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/drivers/driver_nl80211.c:9905,1
    - Dst: del_ifidx
      Src: /src/hostap/src/drivers/driver_nl80211.c:9907,1
    - Dst: del_ifidx
      Src: /src/hostap/src/drivers/driver_nl80211.c:9908,1
    - Dst: linux_br_del_if
      Src: /src/hostap/src/drivers/driver_nl80211.c:9916,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:9918,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:9920,1
    - Dst: linux_br_del
      Src: /src/hostap/src/drivers/driver_nl80211.c:9923,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:9924,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:9926,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:9933,1
    - Dst: nl80211_teardown_ap
      Src: /src/hostap/src/drivers/driver_nl80211.c:9938,1
    - Dst: nl80211_remove_links
      Src: /src/hostap/src/drivers/driver_nl80211.c:9939,1
    - Dst: nl80211_destroy_bss
      Src: /src/hostap/src/drivers/driver_nl80211.c:9940,1
    - Dst: i802_set_iface_flags
      Src: /src/hostap/src/drivers/driver_nl80211.c:9942,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:9943,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:9949,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:9952,1
    - Dst: nl80211_teardown_ap
      Src: /src/hostap/src/drivers/driver_nl80211.c:9953,1
    - Dst: nl80211_remove_links
      Src: /src/hostap/src/drivers/driver_nl80211.c:9954,1
    - Dst: wpa_driver_nl80211_del_beacon_all
      Src: /src/hostap/src/drivers/driver_nl80211.c:9956,1
    - Dst: nl80211_destroy_bss
      Src: /src/hostap/src/drivers/driver_nl80211.c:9957,1
    - Dst: i802_set_iface_flags
      Src: /src/hostap/src/drivers/driver_nl80211.c:9959,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:9964,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:9966,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 58
    argCount: 3
    argNames:
    - bss
    - type
    - ifname
    argTypes:
    - struct i802_bss*
    - enum wpa_driver_if_type
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9971
      start: 9889
    functionDepth: 7
    functionLinenumber: 9889
    functionLinenumberEnd: 9971
    functionName: wpa_driver_nl80211_if_remove
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - nl80211_remove_iface
    - strerror
    - eloop_cancel_timeout
    - nl80211_remove_links
    - nl80211_teardown_ap
    - wpa_driver_nl80211_del_beacon_all
    - linux_br_del_if
    - nl80211_destroy_bss
    - dl_list_for_each
    - i802_set_iface_flags
    - del_ifidx
    - os_free
    - linux_br_del
    - if_nametoindex
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_nl80211_if_remove(struct i802_bss *bss,\n\t\t\t\t\tenum
      wpa_driver_if_type type,\n\t\t\t\t\tconst char *ifname)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nlmsg_data
      Src: /src/hostap/src/drivers/driver_nl80211.c:9977,1
    - Dst: nlmsg_hdr
      Src: /src/hostap/src/drivers/driver_nl80211.c:9977,1
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211.c:9979,1
    - Dst: genlmsg_attrdata
      Src: /src/hostap/src/drivers/driver_nl80211.c:9979,1
    - Dst: genlmsg_attrlen
      Src: /src/hostap/src/drivers/driver_nl80211.c:9980,1
    - Dst: nla_get_u64
      Src: /src/hostap/src/drivers/driver_nl80211.c:9982,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - msg
    - arg
    argTypes:
    - struct nl_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9984
      start: 9974
    functionDepth: 0
    functionLinenumber: 9974
    functionLinenumberEnd: 9984
    functionName: cookie_handler
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nlmsg_hdr
    - nla_parse
    - nlmsg_data
    - nla_get_u64
    - genlmsg_attrlen
    - genlmsg_attrdata
    linkageType: ''
    returnType: int
    signature: int cookie_handler(struct nl_msg *msg, void *arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:9999,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/drivers/driver_nl80211.c:10002,1
    - Dst: nl80211_cmd_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:10004,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:10006,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:10007,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:10008,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:10011,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:10012,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:10013,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:10014,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:10016,1
    - Dst: send_and_recv_resp
      Src: /src/hostap/src/drivers/driver_nl80211.c:10020,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:10023,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:10024,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:10027,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:10048,1
    - Dst: os_memmove
      Src: /src/hostap/src/drivers/driver_nl80211.c:10052,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:10063,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 32
    argCount: 12
    argNames:
    - bss
    - freq
    - wait
    - buf
    - buf_len
    - save_cookie
    - no_cck
    - no_ack
    - offchanok
    - csa_offs
    - csa_offs_len
    - link_id
    argTypes:
    - struct i802_bss*
    - unsigned int
    - unsigned int
    - u8*
    - size_t
    - int
    - int
    - int
    - int
    - u16*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10065
      start: 9987
    functionDepth: 3
    functionLinenumber: 9987
    functionLinenumberEnd: 10065
    functionName: nl80211_send_frame_cmd
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    - strerror
    - nla_put
    - send_and_recv_resp
    - os_memmove
    - nla_put_flag
    - nla_put_u8
    - nlmsg_free
    - nla_put_u32
    - nl80211_cmd_msg
    linkageType: ''
    returnType: int
    signature: "int nl80211_send_frame_cmd(struct i802_bss *bss,\n\t\t\t\t  unsigned
      int freq, unsigned int wait,\n\t\t\t\t  const u8 *buf, size_t buf_len,\n\t\t\t\t
      \ int save_cookie, int no_cck, int no_ack,\n\t\t\t\t  int offchanok, const u16
      *csa_offs,\n\t\t\t\t  size_t csa_offs_len, int link_id)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: is_ap_interface
      Src: /src/hostap/src/drivers/driver_nl80211.c:10082,1
    - Dst: is_sta_interface
      Src: /src/hostap/src/drivers/driver_nl80211.c:10086,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:10091,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:10095,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:10095,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:10095,1
    - Dst: os_zalloc
      Src: /src/hostap/src/drivers/driver_nl80211.c:10097,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:10100,1
    - Dst: IEEE80211_FC
      Src: /src/hostap/src/drivers/driver_nl80211.c:10103,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:10104,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:10105,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:10106,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/drivers/driver_nl80211.c:10108,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:10109,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:10110,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:10111,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211.c:10113,1
    - Dst: is_mesh_interface
      Src: /src/hostap/src/drivers/driver_nl80211.c:10117,1
    - Dst: nl80211_get_hw_feature_data
      Src: /src/hostap/src/drivers/driver_nl80211.c:10123,1
    - Dst: ieee80211_is_dfs
      Src: /src/hostap/src/drivers/driver_nl80211.c:10127,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:10131,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:10132,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:10134,1
    - Dst: is_ap_interface
      Src: /src/hostap/src/drivers/driver_nl80211.c:10139,1
    - Dst: wpa_driver_nl80211_send_mlme
      Src: /src/hostap/src/drivers/driver_nl80211.c:10140,1
    - Dst: nl80211_send_frame_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:10145,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:10149,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 10
    argNames:
    - bss
    - freq
    - wait_time
    - dst
    - src
    - bssid
    - data
    - data_len
    - no_cck
    - link_id
    argTypes:
    - struct i802_bss*
    - unsigned int
    - unsigned int
    - u8*
    - u8*
    - u8*
    - u8*
    - size_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10151
      start: 10068
    functionDepth: 7
    functionLinenumber: 10068
    functionLinenumberEnd: 10151
    functionName: wpa_driver_nl80211_send_action
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - is_mesh_interface
    - wpa_printf
    - is_sta_interface
    - os_memcpy
    - wpa_driver_nl80211_send_mlme
    - ether_addr_equal
    - is_ap_interface
    - nl80211_get_hw_feature_data
    - MAC2STR
    - os_zalloc
    - IEEE80211_FC
    - ieee80211_is_dfs
    - os_free
    - nl80211_send_frame_cmd
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_nl80211_send_action(struct i802_bss *bss,\n\t\t\t\t\t
      \ unsigned int freq,\n\t\t\t\t\t  unsigned int wait_time,\n\t\t\t\t\t  const
      u8 *dst, const u8 *src,\n\t\t\t\t\t  const u8 *bssid,\n\t\t\t\t\t  const u8
      *data, size_t data_len,\n\t\t\t\t\t  int no_cck, int link_id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:10160,1
    - Dst: nl80211_cmd_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:10162,1
    - Dst: nla_put_u64
      Src: /src/hostap/src/drivers/driver_nl80211.c:10163,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:10164,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:10168,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:10170,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:10171,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - bss
    - cookie
    argTypes:
    - struct i802_bss*
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10172
      start: 10154
    functionDepth: 3
    functionLinenumber: 10154
    functionLinenumberEnd: 10172
    functionName: nl80211_frame_wait_cancel
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - strerror
    - send_and_recv_cmd
    - nla_put_u64
    - nlmsg_free
    - nl80211_cmd_msg
    linkageType: ''
    returnType: void
    signature: void nl80211_frame_wait_cancel(struct i802_bss *bss, u64 cookie)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_frame_wait_cancel
      Src: /src/hostap/src/drivers/driver_nl80211.c:10188,1
    - Dst: nl80211_frame_wait_cancel
      Src: /src/hostap/src/drivers/driver_nl80211.c:10198,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10201
      start: 10175
    functionDepth: 0
    functionLinenumber: 10175
    functionLinenumberEnd: 10201
    functionName: wpa_driver_nl80211_send_action_cancel_wait
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_frame_wait_cancel
    linkageType: ''
    returnType: void
    signature: void wpa_driver_nl80211_send_action_cancel_wait(void *priv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: for_each_link
      Src: /src/hostap/src/drivers/driver_nl80211.c:10216,1
    - Dst: is_same_band
      Src: /src/hostap/src/drivers/driver_nl80211.c:10220,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:10231,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:10236,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:10237,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - msg
    - mlo
    - freq
    argTypes:
    - struct nl_msg*
    - struct driver_sta_mlo_info*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10238
      start: 10204
    functionDepth: 3
    functionLinenumber: 10204
    functionLinenumberEnd: 10238
    functionName: nl80211_put_any_link_id
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - is_same_band
    - wpa_printf
    - for_each_link
    - nla_put_u8
    linkageType: ''
    returnType: int
    signature: "int nl80211_put_any_link_id(struct nl_msg *msg,\n\t\t\t       struct
      driver_sta_mlo_info *mlo,\n\t\t\t       int freq)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_cmd_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:10251,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:10252,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:10253,1
    - Dst: nl80211_put_any_link_id
      Src: /src/hostap/src/drivers/driver_nl80211.c:10254,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:10255,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:10262,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:10264,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:10268,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:10269,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:10271,1
    - Dst: send_and_recv_resp
      Src: /src/hostap/src/drivers/driver_nl80211.c:10277,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:10279,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:10287,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:10289,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 4
    argNames:
    - priv
    - freq
    - duration
    - filter_addr
    argTypes:
    - void*
    - unsigned int
    - unsigned int
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10291
      start: 10241
    functionDepth: 4
    functionLinenumber: 10241
    functionLinenumberEnd: 10291
    functionName: wpa_driver_nl80211_remain_on_channel
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - strerror
    - nla_put
    - send_and_recv_resp
    - nl80211_put_any_link_id
    - nlmsg_free
    - nla_put_u32
    - nl80211_cmd_msg
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_nl80211_remain_on_channel(void *priv, unsigned int
      freq,\n\t\t\t\t\t\tunsigned int duration,\n\t\t\t\t\t\tconst u8 *filter_addr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:10302,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:10307,1
    - Dst: nl80211_cmd_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:10311,1
    - Dst: nla_put_u64
      Src: /src/hostap/src/drivers/driver_nl80211.c:10313,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:10314,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:10318,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:10321,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:10322,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10324
      start: 10294
    functionDepth: 3
    functionLinenumber: 10294
    functionLinenumberEnd: 10324
    functionName: wpa_driver_nl80211_cancel_remain_on_channel
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - strerror
    - send_and_recv_cmd
    - nla_put_u64
    - nlmsg_free
    - nl80211_cmd_msg
    linkageType: ''
    returnType: int
    signature: int wpa_driver_nl80211_cancel_remain_on_channel(void *priv)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: is_ap_interface
      Src: /src/hostap/src/drivers/driver_nl80211.c:10333,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:10339,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:10343,1
    - Dst: nl80211_destroy_eloop_handle
      Src: /src/hostap/src/drivers/driver_nl80211.c:10345,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:10351,1
    - Dst: nl_create_handle
      Src: /src/hostap/src/drivers/driver_nl80211.c:10356,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:10359,1
    - Dst: nl80211_register_frame
      Src: /src/hostap/src/drivers/driver_nl80211.c:10362,1
    - Dst: nl80211_register_eloop_read
      Src: /src/hostap/src/drivers/driver_nl80211.c:10368,1
    - Dst: nl_destroy_handles
      Src: /src/hostap/src/drivers/driver_nl80211.c:10375,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 2
    argNames:
    - bss
    - report
    argTypes:
    - struct i802_bss*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10377
      start: 10327
    functionDepth: 4
    functionLinenumber: 10327
    functionLinenumberEnd: 10377
    functionName: wpa_driver_nl80211_probe_req_report
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 3
    functionsReached:
    - wpa_printf
    - nl_destroy_handles
    - nl80211_destroy_eloop_handle
    - is_ap_interface
    - nl_create_handle
    - nl80211_register_eloop_read
    - nl80211_register_frame
    linkageType: ''
    returnType: int
    signature: int wpa_driver_nl80211_probe_req_report(struct i802_bss *bss, int report)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:10387,1
    - Dst: nl80211_ifindex_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:10392,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:10397,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:10406,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:10408,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:10411,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:10413,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:10415,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:10417,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:10418,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:10425,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - drv
    - ifindex
    - disabled
    argTypes:
    - struct wpa_driver_nl80211_data*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10427
      start: 10380
    functionDepth: 4
    functionLinenumber: 10380
    functionLinenumberEnd: 10427
    functionName: nl80211_disable_11b_rates
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 6
    functionsReached:
    - wpa_printf
    - strerror
    - send_and_recv_cmd
    - nlmsg_free
    - nla_nest_end
    - nla_nest_start
    - nl80211_ifindex_msg
    - nla_put
    linkageType: ''
    returnType: int
    signature: "int nl80211_disable_11b_rates(struct wpa_driver_nl80211_data *drv,\n\t\t\t\t
      \    int ifindex, int disabled)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:10432,1
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211.c:10435,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:10436,1
    - Dst: wpa_driver_nl80211_del_beacon
      Src: /src/hostap/src/drivers/driver_nl80211.c:10441,1
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211.c:10443,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - bss
    - link_id
    argTypes:
    - struct i802_bss*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10444
      start: 10430
    functionDepth: 6
    functionLinenumber: 10430
    functionLinenumberEnd: 10444
    functionName: nl80211_update_active_links
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - BIT
    - wpa_driver_nl80211_del_beacon
    linkageType: ''
    returnType: void
    signature: void nl80211_update_active_links(struct i802_bss *bss, int link_id)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:10456,1
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211.c:10459,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:10460,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:10467,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211.c:10470,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/drivers/driver_nl80211.c:10472,1
    - Dst: nl80211_update_active_links
      Src: /src/hostap/src/drivers/driver_nl80211.c:10474,1
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211.c:10475,1
    - Dst: for_each_link
      Src: /src/hostap/src/drivers/driver_nl80211.c:10482,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:10492,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:10494,1
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:10498,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:10500,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:10501,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:10502,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:10507,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:10509,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:10511,1
    - Dst: rtnl_neigh_delete_fdb_entry
      Src: /src/hostap/src/drivers/driver_nl80211.c:10514,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 2
    argNames:
    - bss
    - link_id
    argTypes:
    - struct i802_bss*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10517
      start: 10447
    functionDepth: 7
    functionLinenumber: 10447
    functionLinenumberEnd: 10517
    functionName: nl80211_remove_link
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_bss_msg
    - wpa_printf
    - os_memcpy
    - nl80211_update_active_links
    - strerror
    - eloop_cancel_timeout
    - send_and_recv_cmd
    - for_each_link
    - BIT
    - nla_put_u8
    - nlmsg_free
    - rtnl_neigh_delete_fdb_entry
    - os_memset
    linkageType: ''
    returnType: int
    signature: int nl80211_remove_link(struct i802_bss *bss, int link_id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: for_each_link
      Src: /src/hostap/src/drivers/driver_nl80211.c:10525,1
    - Dst: nl80211_remove_link
      Src: /src/hostap/src/drivers/driver_nl80211.c:10526,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:10532,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - bss
    argTypes:
    - struct i802_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10533
      start: 10520
    functionDepth: 8
    functionLinenumber: 10520
    functionLinenumberEnd: 10533
    functionName: nl80211_remove_links
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 2
    functionsReached:
    - nl80211_remove_link
    - os_memcpy
    - for_each_link
    linkageType: ''
    returnType: void
    signature: void nl80211_remove_links(struct i802_bss *bss)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_ap_interface
      Src: /src/hostap/src/drivers/driver_nl80211.c:10541,1
    - Dst: wpa_driver_nl80211_del_beacon
      Src: /src/hostap/src/drivers/driver_nl80211.c:10545,1
    - Dst: nl80211_remove_links
      Src: /src/hostap/src/drivers/driver_nl80211.c:10547,1
    - Dst: wpa_driver_nl80211_set_mode
      Src: /src/hostap/src/drivers/driver_nl80211.c:10556,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10557
      start: 10536
    functionDepth: 11
    functionLinenumber: 10536
    functionLinenumberEnd: 10557
    functionName: wpa_driver_nl80211_deinit_ap
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_remove_links
    - wpa_driver_nl80211_set_mode
    - wpa_driver_nl80211_del_beacon
    - is_ap_interface
    linkageType: ''
    returnType: int
    signature: int wpa_driver_nl80211_deinit_ap(void *priv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_ap_interface
      Src: /src/hostap/src/drivers/driver_nl80211.c:10565,1
    - Dst: wpa_driver_nl80211_del_beacon_all
      Src: /src/hostap/src/drivers/driver_nl80211.c:10569,1
    - Dst: nl80211_link_valid
      Src: /src/hostap/src/drivers/driver_nl80211.c:10573,1
    - Dst: wpa_driver_nl80211_del_beacon
      Src: /src/hostap/src/drivers/driver_nl80211.c:10574,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - priv
    - link_id
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10579
      start: 10560
    functionDepth: 7
    functionLinenumber: 10560
    functionLinenumberEnd: 10579
    functionName: wpa_driver_nl80211_stop_ap
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_link_valid
    - wpa_driver_nl80211_del_beacon_all
    - wpa_driver_nl80211_del_beacon
    - is_ap_interface
    linkageType: ''
    returnType: int
    signature: int wpa_driver_nl80211_stop_ap(void *priv, int link_id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_driver_nl80211_set_mode
      Src: /src/hostap/src/drivers/driver_nl80211.c:10596,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10597
      start: 10582
    functionDepth: 11
    functionLinenumber: 10582
    functionLinenumberEnd: 10597
    functionName: wpa_driver_nl80211_deinit_p2p_cli
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_driver_nl80211_set_mode
    linkageType: ''
    returnType: int
    signature: int wpa_driver_nl80211_deinit_p2p_cli(void *priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_get_ifmode
      Src: /src/hostap/src/drivers/driver_nl80211.c:10603,1
    - Dst: i802_set_iface_flags
      Src: /src/hostap/src/drivers/driver_nl80211.c:10605,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:10606,1
    - Dst: is_p2p_net_interface
      Src: /src/hostap/src/drivers/driver_nl80211.c:10608,1
    - Dst: nl80211_disable_11b_rates
      Src: /src/hostap/src/drivers/driver_nl80211.c:10609,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10610
      start: 10600
    functionDepth: 6
    functionLinenumber: 10600
    functionLinenumberEnd: 10610
    functionName: wpa_driver_nl80211_resume
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_get_ifmode
    - nl80211_disable_11b_rates
    - wpa_printf
    - is_p2p_net_interface
    - i802_set_iface_flags
    linkageType: ''
    returnType: void
    signature: void wpa_driver_nl80211_resume(void *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:10620,1
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:10623,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:10624,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:10625,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:10626,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:10627,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:10630,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:10632,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - priv
    - threshold
    - hysteresis
    argTypes:
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10633
      start: 10613
    functionDepth: 5
    functionLinenumber: 10613
    functionLinenumberEnd: 10633
    functionName: nl80211_signal_monitor
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_bss_msg
    - wpa_printf
    - send_and_recv_cmd
    - nlmsg_free
    - nla_nest_end
    - nla_nest_start
    - nla_put_u32
    linkageType: ''
    returnType: int
    signature: int nl80211_signal_monitor(void *priv, int threshold, int hysteresis)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nlmsg_data
      Src: /src/hostap/src/drivers/driver_nl80211.c:10639,1
    - Dst: nlmsg_hdr
      Src: /src/hostap/src/drivers/driver_nl80211.c:10639,1
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211.c:10642,1
    - Dst: genlmsg_attrdata
      Src: /src/hostap/src/drivers/driver_nl80211.c:10642,1
    - Dst: genlmsg_attrlen
      Src: /src/hostap/src/drivers/driver_nl80211.c:10643,1
    - Dst: convert2width
      Src: /src/hostap/src/drivers/driver_nl80211.c:10650,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:10651,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:10654,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:10657,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - msg
    - arg
    argTypes:
    - struct nl_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10661
      start: 10636
    functionDepth: 1
    functionLinenumber: 10636
    functionLinenumberEnd: 10661
    functionName: get_channel_width
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nlmsg_hdr
    - nla_get_u32
    - convert2width
    - nla_parse
    - nlmsg_data
    - genlmsg_attrlen
    - genlmsg_attrdata
    linkageType: ''
    returnType: int
    signature: int get_channel_width(struct nl_msg *msg, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:10669,1
    - Dst: send_and_recv_resp
      Src: /src/hostap/src/drivers/driver_nl80211.c:10670,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bss
    - sig
    argTypes:
    - struct i802_bss*
    - struct wpa_signal_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10671
      start: 10664
    functionDepth: 5
    functionLinenumber: 10664
    functionLinenumberEnd: 10671
    functionName: nl80211_get_channel_width
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_bss_msg
    - send_and_recv_resp
    linkageType: ''
    returnType: int
    signature: "int nl80211_get_channel_width(struct i802_bss *bss,\n\t\t\t\t     struct
      wpa_signal_info *sig)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211.c:10680,1
    - Dst: nl80211_get_link_signal
      Src: /src/hostap/src/drivers/driver_nl80211.c:10681,1
    - Dst: nl80211_get_channel_width
      Src: /src/hostap/src/drivers/driver_nl80211.c:10689,1
    - Dst: nl80211_get_link_noise
      Src: /src/hostap/src/drivers/driver_nl80211.c:10693,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - priv
    - si
    argTypes:
    - void*
    - struct wpa_signal_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10694
      start: 10674
    functionDepth: 6
    functionLinenumber: 10674
    functionLinenumberEnd: 10694
    functionName: nl80211_signal_poll
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_get_link_noise
    - nl80211_get_channel_width
    - nl80211_get_link_signal
    - os_memset
    linkageType: ''
    returnType: int
    signature: int nl80211_signal_poll(void *priv, struct wpa_signal_info *si)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nlmsg_data
      Src: /src/hostap/src/drivers/driver_nl80211.c:10700,1
    - Dst: nlmsg_hdr
      Src: /src/hostap/src/drivers/driver_nl80211.c:10700,1
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211.c:10709,1
    - Dst: genlmsg_attrdata
      Src: /src/hostap/src/drivers/driver_nl80211.c:10709,1
    - Dst: genlmsg_attrlen
      Src: /src/hostap/src/drivers/driver_nl80211.c:10710,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:10713,1
    - Dst: nla_parse_nested
      Src: /src/hostap/src/drivers/driver_nl80211.c:10717,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:10720,1
    - Dst: for_each_link
      Src: /src/hostap/src/drivers/driver_nl80211.c:10731,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:10732,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:10737,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - msg
    - arg
    argTypes:
    - struct nl_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10742
      start: 10697
    functionDepth: 0
    functionLinenumber: 10697
    functionLinenumberEnd: 10742
    functionName: get_links_noise
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nlmsg_hdr
    - wpa_printf
    - nla_get_u32
    - nla_parse_nested
    - nla_parse
    - nlmsg_data
    - for_each_link
    - genlmsg_attrlen
    - genlmsg_attrdata
    - nla_get_u8
    linkageType: ''
    returnType: int
    signature: int get_links_noise(struct nl_msg *msg, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:10750,1
    - Dst: send_and_recv_resp
      Src: /src/hostap/src/drivers/driver_nl80211.c:10751,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bss
    - mlo_sig
    argTypes:
    - struct i802_bss*
    - struct wpa_mlo_signal_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10752
      start: 10745
    functionDepth: 5
    functionLinenumber: 10745
    functionLinenumberEnd: 10752
    functionName: nl80211_get_links_noise
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_bss_msg
    - send_and_recv_resp
    linkageType: ''
    returnType: int
    signature: "int nl80211_get_links_noise(struct i802_bss *bss,\n\t\t\t\t   struct
      wpa_mlo_signal_info *mlo_sig)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nlmsg_data
      Src: /src/hostap/src/drivers/driver_nl80211.c:10758,1
    - Dst: nlmsg_hdr
      Src: /src/hostap/src/drivers/driver_nl80211.c:10758,1
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211.c:10763,1
    - Dst: genlmsg_attrdata
      Src: /src/hostap/src/drivers/driver_nl80211.c:10763,1
    - Dst: genlmsg_attrlen
      Src: /src/hostap/src/drivers/driver_nl80211.c:10764,1
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211.c:10773,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211.c:10773,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211.c:10773,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:10779,1
    - Dst: convert2width
      Src: /src/hostap/src/drivers/driver_nl80211.c:10785,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:10786,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:10789,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:10792,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - msg
    - arg
    argTypes:
    - struct nl_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10796
      start: 10755
    functionDepth: 1
    functionLinenumber: 10755
    functionLinenumberEnd: 10796
    functionName: get_links_channel_width
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nlmsg_hdr
    - nla_len
    - nla_get_u32
    - convert2width
    - nla_parse
    - nlmsg_data
    - nla_data
    - genlmsg_attrlen
    - genlmsg_attrdata
    - nla_get_u8
    linkageType: ''
    returnType: int
    signature: int get_links_channel_width(struct nl_msg *msg, void *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211.c:10773,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211.c:10773,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211.c:10773,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:10779,1
    - Dst: convert2width
      Src: /src/hostap/src/drivers/driver_nl80211.c:10785,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:10786,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:10789,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:10792,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10793
      start: 10769
    functionDepth: 1
    functionLinenumber: 10769
    functionLinenumberEnd: 10793
    functionName: nla_for_each_nested
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nla_len
    - nla_get_u32
    - convert2width
    - nla_parse
    - nla_data
    - nla_get_u8
    linkageType: ''
    returnType: void
    signature: void nla_for_each_nested(link, tb[NL80211_ATTR_MLO_LINKS], rem_links)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:10804,1
    - Dst: send_and_recv_resp
      Src: /src/hostap/src/drivers/driver_nl80211.c:10805,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bss
    - mlo_sig
    argTypes:
    - struct i802_bss*
    - struct wpa_mlo_signal_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10807
      start: 10799
    functionDepth: 5
    functionLinenumber: 10799
    functionLinenumberEnd: 10807
    functionName: nl80211_get_links_channel_width
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_bss_msg
    - send_and_recv_resp
    linkageType: ''
    returnType: int
    signature: "int nl80211_get_links_channel_width(struct i802_bss *bss,\n\t\t\t\t\t
      \  struct wpa_mlo_signal_info *mlo_sig)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211.c:10822,1
    - Dst: for_each_link
      Src: /src/hostap/src/drivers/driver_nl80211.c:10825,1
    - Dst: nl80211_get_link_signal
      Src: /src/hostap/src/drivers/driver_nl80211.c:10838,1
    - Dst: nl80211_get_links_channel_width
      Src: /src/hostap/src/drivers/driver_nl80211.c:10851,1
    - Dst: nl80211_get_links_noise
      Src: /src/hostap/src/drivers/driver_nl80211.c:10855,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - priv
    - mlo_si
    argTypes:
    - void*
    - struct wpa_mlo_signal_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10856
      start: 10810
    functionDepth: 6
    functionLinenumber: 10810
    functionLinenumberEnd: 10856
    functionName: nl80211_mlo_signal_poll
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - for_each_link
    - nl80211_get_link_signal
    - nl80211_get_links_noise
    - nl80211_get_links_channel_width
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int nl80211_mlo_signal_poll(void *priv,\n\t\t\t\t   struct wpa_mlo_signal_info
      *mlo_si)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:10867,1
    - Dst: os_strstr
      Src: /src/hostap/src/drivers/driver_nl80211.c:10870,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:10871,1
    - Dst: os_strstr
      Src: /src/hostap/src/drivers/driver_nl80211.c:10878,1
    - Dst: os_strstr
      Src: /src/hostap/src/drivers/driver_nl80211.c:10888,1
    - Dst: os_strstr
      Src: /src/hostap/src/drivers/driver_nl80211.c:10891,1
    - Dst: os_strstr
      Src: /src/hostap/src/drivers/driver_nl80211.c:10896,1
    - Dst: os_strstr
      Src: /src/hostap/src/drivers/driver_nl80211.c:10903,1
    - Dst: os_strstr
      Src: /src/hostap/src/drivers/driver_nl80211.c:10906,1
    - Dst: os_strstr
      Src: /src/hostap/src/drivers/driver_nl80211.c:10911,1
    - Dst: os_strstr
      Src: /src/hostap/src/drivers/driver_nl80211.c:10914,1
    - Dst: is_ap_interface
      Src: /src/hostap/src/drivers/driver_nl80211.c:10917,1
    - Dst: is_mesh_interface
      Src: /src/hostap/src/drivers/driver_nl80211.c:10918,1
    - Dst: nl80211_mgmt_unsubscribe
      Src: /src/hostap/src/drivers/driver_nl80211.c:10919,1
    - Dst: nl80211_mgmt_subscribe_non_ap
      Src: /src/hostap/src/drivers/driver_nl80211.c:10920,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:10921,1
    - Dst: os_strstr
      Src: /src/hostap/src/drivers/driver_nl80211.c:10926,1
    - Dst: os_strstr
      Src: /src/hostap/src/drivers/driver_nl80211.c:10931,1
    - Dst: os_strstr
      Src: /src/hostap/src/drivers/driver_nl80211.c:10934,1
    - Dst: strtol
      Src: /src/hostap/src/drivers/driver_nl80211.c:10944,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/drivers/driver_nl80211.c:10951,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 64
    argCount: 2
    argNames:
    - priv
    - param
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10962
      start: 10859
    functionDepth: 7
    functionLinenumber: 10859
    functionLinenumberEnd: 10962
    functionName: nl80211_set_param
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 1
    functionsReached:
    - is_mesh_interface
    - strtol
    - wpa_printf
    - nl80211_mgmt_subscribe_non_ap
    - ARRAY_SIZE
    - is_ap_interface
    - os_strstr
    - nl80211_mgmt_unsubscribe
    linkageType: ''
    returnType: int
    signature: int nl80211_set_param(void *priv, const char *param)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: uname
      Src: /src/hostap/src/drivers/driver_nl80211.c:10971,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:10972,1
    - Dst: os_zalloc
      Src: /src/hostap/src/drivers/driver_nl80211.c:10977,1
    - Dst: dl_list_init
      Src: /src/hostap/src/drivers/driver_nl80211.c:10982,1
    - Dst: dl_list_init
      Src: /src/hostap/src/drivers/driver_nl80211.c:10983,1
    - Dst: os_zalloc
      Src: /src/hostap/src/drivers/driver_nl80211.c:10986,1
    - Dst: netlink_init
      Src: /src/hostap/src/drivers/driver_nl80211.c:10993,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:10995,1
    - Dst: wpa_driver_nl80211_init_nl_global
      Src: /src/hostap/src/drivers/driver_nl80211.c:10999,1
    - Dst: socket
      Src: /src/hostap/src/drivers/driver_nl80211.c:11002,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:11004,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:11005,1
    - Dst: nl80211_global_deinit
      Src: /src/hostap/src/drivers/driver_nl80211.c:11012,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11014
      start: 10965
    functionDepth: 4
    functionLinenumber: 10965
    functionLinenumberEnd: 11014
    functionName: nl80211_global_init
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - nl80211_global_deinit
    - strerror
    - socket
    - netlink_init
    - os_zalloc
    - dl_list_init
    - wpa_driver_nl80211_init_nl_global
    - os_free
    - uname
    linkageType: ''
    returnType: void
    signature: void * nl80211_global_init(void *ctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_empty
      Src: /src/hostap/src/drivers/driver_nl80211.c:11022,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:11023,1
    - Dst: dl_list_len
      Src: /src/hostap/src/drivers/driver_nl80211.c:11025,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/drivers/driver_nl80211.c:11028,1
    - Dst: dl_list_empty
      Src: /src/hostap/src/drivers/driver_nl80211.c:11030,1
    - Dst: dl_list_first
      Src: /src/hostap/src/drivers/driver_nl80211.c:11032,1
    - Dst: nl80211_remove_pending_event
      Src: /src/hostap/src/drivers/driver_nl80211.c:11035,1
    - Dst: netlink_deinit
      Src: /src/hostap/src/drivers/driver_nl80211.c:11039,1
    - Dst: nl_destroy_handles
      Src: /src/hostap/src/drivers/driver_nl80211.c:11041,1
    - Dst: nl80211_destroy_eloop_handle
      Src: /src/hostap/src/drivers/driver_nl80211.c:11044,1
    - Dst: nl_cb_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:11046,1
    - Dst: nl80211_destroy_eloop_handle
      Src: /src/hostap/src/drivers/driver_nl80211.c:11050,1
    - Dst: close
      Src: /src/hostap/src/drivers/driver_nl80211.c:11054,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:11056,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11057
      start: 11017
    functionDepth: 2
    functionLinenumber: 11017
    functionLinenumberEnd: 11057
    functionName: nl80211_global_deinit
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 1
    functionsReached:
    - netlink_deinit
    - wpa_printf
    - dl_list_empty
    - eloop_cancel_timeout
    - nl_destroy_handles
    - dl_list_first
    - nl80211_destroy_eloop_handle
    - nl_cb_put
    - nl80211_remove_pending_event
    - close
    - os_free
    - dl_list_len
    linkageType: ''
    returnType: void
    signature: void nl80211_global_deinit(void *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11065
      start: 11060
    functionDepth: 0
    functionLinenumber: 11060
    functionLinenumberEnd: 11065
    functionName: nl80211_get_radio_name
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * nl80211_get_radio_name(void *priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:11074,1
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:11078,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:11080,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:11082,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:11084,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:11086,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:11089,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:11092,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:11096,1
    - Dst: nl80211_nlmsg_clear
      Src: /src/hostap/src/drivers/driver_nl80211.c:11097,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:11098,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:11102,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 9
    argCount: 4
    argNames:
    - bss
    - cmd
    - params
    - skip_pmk
    argTypes:
    - struct i802_bss*
    - int
    - struct wpa_pmkid_params*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11103
      start: 11068
    functionDepth: 5
    functionLinenumber: 11068
    functionLinenumberEnd: 11103
    functionName: nl80211_pmkid
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_bss_msg
    - wpa_printf
    - nl80211_nlmsg_clear
    - send_and_recv_cmd
    - nla_put_u8
    - nlmsg_free
    - nla_put_u32
    - nla_put
    linkageType: ''
    returnType: int
    signature: "int nl80211_pmkid(struct i802_bss *bss, int cmd,\n\t\t\t struct wpa_pmkid_params
      *params, bool skip_pmk)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:11115,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:11116,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:11118,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/src/drivers/driver_nl80211.c:11121,1
    - Dst: nl80211_pmkid
      Src: /src/hostap/src/drivers/driver_nl80211.c:11124,1
    - Dst: nl80211_pmkid
      Src: /src/hostap/src/drivers/driver_nl80211.c:11132,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:11134,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:11136,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - priv
    - params
    argTypes:
    - void*
    - struct wpa_pmkid_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11140
      start: 11106
    functionDepth: 6
    functionLinenumber: 11106
    functionLinenumberEnd: 11140
    functionName: nl80211_add_pmkid
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - strerror
    - wpa_ssid_txt
    - nl80211_pmkid
    - MAC2STR
    linkageType: ''
    returnType: int
    signature: int nl80211_add_pmkid(void *priv, struct wpa_pmkid_params *params)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:11149,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:11150,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:11152,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/src/drivers/driver_nl80211.c:11155,1
    - Dst: nl80211_pmkid
      Src: /src/hostap/src/drivers/driver_nl80211.c:11158,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:11160,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:11162,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - priv
    - params
    argTypes:
    - void*
    - struct wpa_pmkid_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11166
      start: 11143
    functionDepth: 6
    functionLinenumber: 11143
    functionLinenumberEnd: 11166
    functionName: nl80211_remove_pmkid
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - strerror
    - wpa_ssid_txt
    - nl80211_pmkid
    - MAC2STR
    linkageType: ''
    returnType: int
    signature: int nl80211_remove_pmkid(void *priv, struct wpa_pmkid_params *params)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:11174,1
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:11175,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:11178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11179
      start: 11169
    functionDepth: 5
    functionLinenumber: 11169
    functionLinenumberEnd: 11179
    functionName: nl80211_flush_pmkid
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_bss_msg
    - wpa_printf
    - send_and_recv_cmd
    linkageType: ''
    returnType: int
    signature: int nl80211_flush_pmkid(void *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_empty
      Src: /src/hostap/src/drivers/driver_nl80211.c:11186,1
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/drivers/driver_nl80211.c:11189,1
    - Dst: dl_list_del
      Src: /src/hostap/src/drivers/driver_nl80211.c:11191,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:11192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - survey_results
    argTypes:
    - struct survey_results*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11194
      start: 11182
    functionDepth: 1
    functionLinenumber: 11182
    functionLinenumberEnd: 11194
    functionName: clean_survey_results
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each_safe
    - os_free
    - dl_list_del
    - dl_list_empty
    linkageType: ''
    returnType: void
    signature: void clean_survey_results(struct survey_results *survey_results)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/drivers/driver_nl80211.c:11202,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:11207,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:11212,1
    - Dst: nla_get_u64
      Src: /src/hostap/src/drivers/driver_nl80211.c:11218,1
    - Dst: nla_get_u64
      Src: /src/hostap/src/drivers/driver_nl80211.c:11224,1
    - Dst: nla_get_u64
      Src: /src/hostap/src/drivers/driver_nl80211.c:11230,1
    - Dst: nla_get_u64
      Src: /src/hostap/src/drivers/driver_nl80211.c:11236,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:11240,1
    - Dst: dl_list_add_tail
      Src: /src/hostap/src/drivers/driver_nl80211.c:11249,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 3
    argNames:
    - sinfo
    - ifidx
    - survey_list
    argTypes:
    - struct nlattr**
    - u32
    - struct dl_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11250
      start: 11197
    functionDepth: 1
    functionLinenumber: 11197
    functionLinenumberEnd: 11250
    functionName: add_survey
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nla_get_u32
    - wpa_printf
    - dl_list_add_tail
    - nla_get_u64
    - os_zalloc
    - nla_get_u8
    linkageType: ''
    returnType: void
    signature: "void add_survey(struct nlattr **sinfo, u32 ifidx,\n\t\t       struct
      dl_list *survey_list)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - sinfo
    - surveyed_freq
    - freq_filter
    argTypes:
    - struct nlattr**
    - u32
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11260
      start: 11253
    functionDepth: 0
    functionLinenumber: 11253
    functionLinenumberEnd: 11260
    functionName: check_survey_ok
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int check_survey_ok(struct nlattr **sinfo, u32 surveyed_freq,\n\t\t\t
      \  unsigned int freq_filter)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nlmsg_data
      Src: /src/hostap/src/drivers/driver_nl80211.c:11266,1
    - Dst: nlmsg_hdr
      Src: /src/hostap/src/drivers/driver_nl80211.c:11266,1
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211.c:11279,1
    - Dst: genlmsg_attrdata
      Src: /src/hostap/src/drivers/driver_nl80211.c:11279,1
    - Dst: genlmsg_attrlen
      Src: /src/hostap/src/drivers/driver_nl80211.c:11280,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:11285,1
    - Dst: nla_parse_nested
      Src: /src/hostap/src/drivers/driver_nl80211.c:11290,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:11296,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:11300,1
    - Dst: check_survey_ok
      Src: /src/hostap/src/drivers/driver_nl80211.c:11302,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:11308,1
    - Dst: add_survey
      Src: /src/hostap/src/drivers/driver_nl80211.c:11313,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - msg
    - arg
    argTypes:
    - struct nl_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11316
      start: 11263
    functionDepth: 2
    functionLinenumber: 11263
    functionLinenumberEnd: 11316
    functionName: survey_handler
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nlmsg_hdr
    - nla_get_u32
    - wpa_printf
    - check_survey_ok
    - nla_parse_nested
    - nla_parse
    - nlmsg_data
    - add_survey
    - genlmsg_attrlen
    - genlmsg_attrdata
    linkageType: ''
    returnType: int
    signature: int survey_handler(struct nl_msg *msg, void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211.c:11330,1
    - Dst: dl_list_init
      Src: /src/hostap/src/drivers/driver_nl80211.c:11333,1
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:11335,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:11343,1
    - Dst: send_and_recv_resp
      Src: /src/hostap/src/drivers/driver_nl80211.c:11344,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:11349,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211.c:11351,1
    - Dst: clean_survey_results
      Src: /src/hostap/src/drivers/driver_nl80211.c:11353,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - priv
    - freq
    argTypes:
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11355
      start: 11319
    functionDepth: 5
    functionLinenumber: 11319
    functionLinenumberEnd: 11355
    functionName: wpa_driver_nl80211_get_survey
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - nl80211_bss_msg
    - wpa_printf
    - send_and_recv_resp
    - dl_list_init
    - clean_survey_results
    - os_memset
    linkageType: ''
    returnType: int
    signature: int wpa_driver_nl80211_get_survey(void *priv, unsigned int freq)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:11371,1
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:11372,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:11373,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:11374,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:11375,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:11376,1
    - Dst: nl80211_nlmsg_clear
      Src: /src/hostap/src/drivers/driver_nl80211.c:11378,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:11379,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:11383,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:11385,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:11387,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 6
    argNames:
    - priv
    - kek
    - kek_len
    - kck
    - kck_len
    - replay_ctr
    argTypes:
    - void*
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11391
      start: 11358
    functionDepth: 5
    functionLinenumber: 11358
    functionLinenumberEnd: 11391
    functionName: nl80211_set_rekey_info
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_bss_msg
    - wpa_printf
    - nl80211_nlmsg_clear
    - send_and_recv_cmd
    - nlmsg_free
    - nla_nest_end
    - nla_nest_start
    - nla_put
    linkageType: ''
    returnType: void
    signature: "void nl80211_set_rekey_info(void *priv, const u8 *kek, size_t kek_len,\n\t\t\t\t
      \  const u8 *kck, size_t kck_len,\n\t\t\t\t   const u8 *replay_ctr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211.c:11407,1
    - Dst: IEEE80211_FC
      Src: /src/hostap/src/drivers/driver_nl80211.c:11411,1
    - Dst: IEEE80211_FC
      Src: /src/hostap/src/drivers/driver_nl80211.c:11416,1
    - Dst: host_to_le16
      Src: /src/hostap/src/drivers/driver_nl80211.c:11421,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:11422,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:11423,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:11424,1
    - Dst: wpa_driver_nl80211_send_mlme
      Src: /src/hostap/src/drivers/driver_nl80211.c:11426,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:11428,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 4
    argNames:
    - bss
    - own_addr
    - addr
    - qos
    argTypes:
    - struct i802_bss*
    - u8*
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11430
      start: 11394
    functionDepth: 7
    functionLinenumber: 11394
    functionLinenumberEnd: 11430
    functionName: nl80211_send_null_frame
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_printf
    - os_memset
    - IEEE80211_FC
    - host_to_le16
    - wpa_driver_nl80211_send_mlme
    linkageType: ''
    returnType: void
    signature: "void nl80211_send_null_frame(struct i802_bss *bss, const u8 *own_addr,\n\t\t\t\t
      \   const u8 *addr, int qos)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_send_null_frame
      Src: /src/hostap/src/drivers/driver_nl80211.c:11442,1
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:11446,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:11447,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:11448,1
    - Dst: send_and_recv_resp
      Src: /src/hostap/src/drivers/driver_nl80211.c:11452,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:11454,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:11456,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:11456,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:11458,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:11460,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - priv
    - own_addr
    - addr
    - qos
    argTypes:
    - void*
    - u8*
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11463
      start: 11432
    functionDepth: 8
    functionLinenumber: 11432
    functionLinenumberEnd: 11463
    functionName: nl80211_poll_client
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_bss_msg
    - wpa_printf
    - strerror
    - send_and_recv_resp
    - nl80211_send_null_frame
    - MAC2STR
    - nlmsg_free
    - nla_put
    linkageType: ''
    returnType: void
    signature: "void nl80211_poll_client(void *priv, const u8 *own_addr, const u8
      *addr,\n\t\t\t\tint qos)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:11471,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:11472,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:11474,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:11478,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:11480,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:11483,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - bss
    - enabled
    argTypes:
    - struct i802_bss*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11486
      start: 11466
    functionDepth: 5
    functionLinenumber: 11466
    functionLinenumberEnd: 11486
    functionName: nl80211_set_power_save
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_bss_msg
    - wpa_printf
    - strerror
    - send_and_recv_cmd
    - nlmsg_free
    - nla_put_u32
    linkageType: ''
    returnType: int
    signature: int nl80211_set_power_save(struct i802_bss *bss, int enabled)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:11494,1
    - Dst: wpa_driver_set_p2p_ps
      Src: /src/hostap/src/drivers/driver_nl80211.c:11499,1
    - Dst: nl80211_set_power_save
      Src: /src/hostap/src/drivers/driver_nl80211.c:11510,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 4
    argNames:
    - priv
    - legacy_ps
    - opp_ps
    - ctwindow
    argTypes:
    - void*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11511
      start: 11489
    functionDepth: 6
    functionLinenumber: 11489
    functionLinenumberEnd: 11511
    functionName: nl80211_set_p2p_powersave
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - nl80211_set_power_save
    - wpa_driver_set_p2p_ps
    linkageType: ''
    returnType: int
    signature: "int nl80211_set_p2p_powersave(void *priv, int legacy_ps, int opp_ps,\n\t\t\t\t
      \    int ctwindow)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:11522,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:11527,1
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:11532,1
    - Dst: nl80211_put_freq_params
      Src: /src/hostap/src/drivers/driver_nl80211.c:11533,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:11534,1
    - Dst: nl80211_link_valid
      Src: /src/hostap/src/drivers/driver_nl80211.c:11538,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:11539,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:11543,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:11544,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:11549,1
    - Dst: nl80211_link_set_freq
      Src: /src/hostap/src/drivers/driver_nl80211.c:11551,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:11555,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:11556,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - priv
    - freq
    argTypes:
    - void*
    - struct hostapd_freq_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11558
      start: 11514
    functionDepth: 5
    functionLinenumber: 11514
    functionLinenumberEnd: 11558
    functionName: nl80211_start_radar_detection
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_bss_msg
    - wpa_printf
    - strerror
    - send_and_recv_cmd
    - nl80211_link_set_freq
    - nlmsg_free
    - nla_put_u8
    - nl80211_link_valid
    - nl80211_put_freq_params
    linkageType: ''
    returnType: int
    signature: "int nl80211_start_radar_detection(void *priv,\n\t\t\t\t\t struct hostapd_freq_params
      *freq)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:11579,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - msg
    - capa
    argTypes:
    - struct nl_msg*
    - enum tdls_peer_capability
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11581
      start: 11562
    functionDepth: 0
    functionLinenumber: 11562
    functionLinenumberEnd: 11581
    functionName: nl80211_add_peer_capab
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nla_put_u32
    linkageType: ''
    returnType: int
    signature: "int nl80211_add_peer_capab(struct nl_msg *msg,\n\t\t\t\t  enum tdls_peer_capability
      capa)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:11591,1
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:11594,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:11595,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:11596,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:11598,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:11599,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:11601,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:11604,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:11607,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:11609,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:11611,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - bss
    - link_id
    argTypes:
    - struct i802_bss*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11615
      start: 11584
    functionDepth: 5
    functionLinenumber: 11584
    functionLinenumberEnd: 11615
    functionName: nl80211_tdls_set_discovery_resp_link
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_bss_msg
    - wpa_printf
    - send_and_recv_cmd
    - nla_put_u8
    - nlmsg_free
    - nla_nest_end
    - nla_nest_start
    - nla_put_u32
    linkageType: ''
    returnType: int
    signature: int nl80211_tdls_set_discovery_resp_link(struct i802_bss *bss, int
      link_id)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_tdls_set_discovery_resp_link
      Src: /src/hostap/src/drivers/driver_nl80211.c:11634,1
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:11640,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:11641,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:11642,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:11643,1
    - Dst: nla_put_u16
      Src: /src/hostap/src/drivers/driver_nl80211.c:11644,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:11646,1
    - Dst: nl80211_add_peer_capab
      Src: /src/hostap/src/drivers/driver_nl80211.c:11647,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:11648,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:11649,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:11652,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:11655,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 17
    argCount: 10
    argNames:
    - priv
    - dst
    - action_code
    - dialog_token
    - status_code
    - peer_capab
    - initiator
    - buf
    - len
    - link_id
    argTypes:
    - void*
    - u8*
    - u8
    - u8
    - u16
    - u32
    - int
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11657
      start: 11618
    functionDepth: 6
    functionLinenumber: 11618
    functionLinenumberEnd: 11657
    functionName: nl80211_send_tdls_mgmt
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_bss_msg
    - nl80211_add_peer_capab
    - send_and_recv_cmd
    - nl80211_tdls_set_discovery_resp_link
    - nla_put_u16
    - nla_put_flag
    - nla_put_u8
    - nlmsg_free
    - nla_put
    linkageType: ''
    returnType: int
    signature: "int nl80211_send_tdls_mgmt(void *priv, const u8 *dst, u8 action_code,\n\t\t\t\t
      \ u8 dialog_token, u16 status_code,\n\t\t\t\t  u32 peer_capab, int initiator,
      const u8 *buf,\n\t\t\t\t  size_t len, int link_id)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:11695,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:11696,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:11697,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:11698,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:11702,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:11703,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:11704,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:11705,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 3
    argNames:
    - priv
    - oper
    - peer
    argTypes:
    - void*
    - enum tdls_oper
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11707
      start: 11660
    functionDepth: 5
    functionLinenumber: 11660
    functionLinenumberEnd: 11707
    functionName: nl80211_tdls_oper
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_bss_msg
    - wpa_printf
    - strerror
    - send_and_recv_cmd
    - MAC2STR
    - nlmsg_free
    - nla_put_u8
    - nla_put
    linkageType: ''
    returnType: int
    signature: int nl80211_tdls_oper(void *priv, enum tdls_oper oper, const u8 *peer)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:11723,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:11725,1
    - Dst: nl80211_cmd_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:11726,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:11728,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:11729,1
    - Dst: nl80211_put_freq_params
      Src: /src/hostap/src/drivers/driver_nl80211.c:11730,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:11731,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:11732,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:11736,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 4
    argNames:
    - priv
    - addr
    - oper_class
    - params
    argTypes:
    - void*
    - u8*
    - u8
    - struct hostapd_freq_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11737
      start: 11710
    functionDepth: 3
    functionLinenumber: 11710
    functionLinenumberEnd: 11737
    functionName: nl80211_tdls_enable_channel_switch
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - nl80211_cmd_msg
    - send_and_recv_cmd
    - MAC2STR
    - nl80211_put_freq_params
    - nla_put_u8
    - nlmsg_free
    - nla_put
    linkageType: ''
    returnType: int
    signature: "int nl80211_tdls_enable_channel_switch(void *priv, const u8 *addr,
      u8 oper_class,\n\t\t\t\t   const struct hostapd_freq_params *params)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:11751,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:11752,1
    - Dst: nl80211_cmd_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:11753,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:11755,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:11756,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:11757,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:11762,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - priv
    - addr
    argTypes:
    - void*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11763
      start: 11740
    functionDepth: 3
    functionLinenumber: 11740
    functionLinenumberEnd: 11763
    functionName: nl80211_tdls_disable_channel_switch
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - nl80211_cmd_msg
    - send_and_recv_cmd
    - MAC2STR
    - nlmsg_free
    - nla_put
    linkageType: ''
    returnType: int
    signature: int nl80211_tdls_disable_channel_switch(void *priv, const u8 *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_driver_nl80211_set_key
      Src: /src/hostap/src/drivers/driver_nl80211.c:11773,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - priv
    - params
    argTypes:
    - void*
    - struct wpa_driver_set_key_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11774
      start: 11768
    functionDepth: 7
    functionLinenumber: 11768
    functionLinenumberEnd: 11774
    functionName: driver_nl80211_set_key
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 2
    functionsReached:
    - wpa_driver_nl80211_set_key
    linkageType: ''
    returnType: int
    signature: "int driver_nl80211_set_key(void *priv,\n\t\t\t\t  struct wpa_driver_set_key_params
      *params)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_driver_nl80211_vendor_scan
      Src: /src/hostap/src/drivers/driver_nl80211.c:11792,1
    - Dst: wpa_driver_nl80211_scan
      Src: /src/hostap/src/drivers/driver_nl80211.c:11794,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - priv
    - params
    argTypes:
    - void*
    - struct wpa_driver_scan_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11795
      start: 11777
    functionDepth: 3
    functionLinenumber: 11777
    functionLinenumberEnd: 11795
    functionName: driver_nl80211_scan2
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_driver_nl80211_vendor_scan
    - wpa_driver_nl80211_scan
    linkageType: ''
    returnType: int
    signature: "int driver_nl80211_scan2(void *priv,\n\t\t\t\tstruct wpa_driver_scan_params
      *params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_driver_nl80211_deauthenticate
      Src: /src/hostap/src/drivers/driver_nl80211.c:11802,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - priv
    - addr
    - reason_code
    argTypes:
    - void*
    - u8*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11803
      start: 11798
    functionDepth: 8
    functionLinenumber: 11798
    functionLinenumberEnd: 11803
    functionName: driver_nl80211_deauthenticate
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 2
    functionsReached:
    - wpa_driver_nl80211_deauthenticate
    linkageType: ''
    returnType: int
    signature: "int driver_nl80211_deauthenticate(void *priv, const u8 *addr,\n\t\t\t\t\t
      u16 reason_code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_driver_nl80211_authenticate
      Src: /src/hostap/src/drivers/driver_nl80211.c:11810,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - priv
    - params
    argTypes:
    - void*
    - struct wpa_driver_auth_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11811
      start: 11806
    functionDepth: 9
    functionLinenumber: 11806
    functionLinenumberEnd: 11811
    functionName: driver_nl80211_authenticate
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 2
    functionsReached:
    - wpa_driver_nl80211_authenticate
    linkageType: ''
    returnType: int
    signature: "int driver_nl80211_authenticate(void *priv,\n\t\t\t\t       struct
      wpa_driver_auth_params *params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_driver_nl80211_deinit
      Src: /src/hostap/src/drivers/driver_nl80211.c:11817,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11818
      start: 11814
    functionDepth: 8
    functionLinenumber: 11814
    functionLinenumberEnd: 11818
    functionName: driver_nl80211_deinit
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 4
    functionsReached:
    - wpa_driver_nl80211_deinit
    linkageType: ''
    returnType: void
    signature: void driver_nl80211_deinit(void *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_driver_nl80211_if_remove
      Src: /src/hostap/src/drivers/driver_nl80211.c:11825,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - priv
    - type
    - ifname
    argTypes:
    - void*
    - enum wpa_driver_if_type
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11826
      start: 11821
    functionDepth: 8
    functionLinenumber: 11821
    functionLinenumberEnd: 11826
    functionName: driver_nl80211_if_remove
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 1
    functionsReached:
    - wpa_driver_nl80211_if_remove
    linkageType: ''
    returnType: int
    signature: "int driver_nl80211_if_remove(void *priv, enum wpa_driver_if_type type,\n\t\t\t\t
      \   const char *ifname)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_driver_nl80211_if_remove
      Src: /src/hostap/src/drivers/driver_nl80211.c:11839,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:11844,1
    - Dst: nl80211_remove_link
      Src: /src/hostap/src/drivers/driver_nl80211.c:11848,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/drivers/driver_nl80211.c:11851,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:11862,1
    - Dst: wpa_driver_nl80211_if_remove
      Src: /src/hostap/src/drivers/driver_nl80211.c:11864,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211.c:11869,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 4
    argNames:
    - priv
    - type
    - ifname
    - link_id
    argTypes:
    - void*
    - enum wpa_driver_if_type
    - char*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11873
      start: 11831
    functionDepth: 8
    functionLinenumber: 11831
    functionLinenumberEnd: 11873
    functionName: driver_nl80211_link_remove
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - wpa_printf
    - wpa_driver_nl80211_if_remove
    - nl80211_remove_link
    - eloop_cancel_timeout
    linkageType: ''
    returnType: int
    signature: "int driver_nl80211_link_remove(void *priv, enum wpa_driver_if_type
      type,\n\t\t\t\t      const char *ifname, u8 link_id)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: for_each_link
      Src: /src/hostap/src/drivers/driver_nl80211.c:11897,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - priv
    - link_id
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11917
      start: 11876
    functionDepth: 0
    functionLinenumber: 11876
    functionLinenumberEnd: 11917
    functionName: nl80211_is_drv_shared
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - for_each_link
    linkageType: ''
    returnType: bool
    signature: bool nl80211_is_drv_shared(void *priv, int link_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_driver_nl80211_send_mlme
      Src: /src/hostap/src/drivers/driver_nl80211.c:11930,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 10
    argNames:
    - priv
    - data
    - data_len
    - noack
    - freq
    - csa_offs
    - csa_offs_len
    - no_encrypt
    - wait
    - link_id
    argTypes:
    - void*
    - u8*
    - size_t
    - int
    - unsigned int
    - u16*
    - size_t
    - int
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11933
      start: 11922
    functionDepth: 7
    functionLinenumber: 11922
    functionLinenumberEnd: 11933
    functionName: driver_nl80211_send_mlme
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 5
    functionsReached:
    - wpa_driver_nl80211_send_mlme
    linkageType: ''
    returnType: int
    signature: "int driver_nl80211_send_mlme(void *priv, const u8 *data,\n\t\t\t\t
      \   size_t data_len, int noack,\n\t\t\t\t    unsigned int freq,\n\t\t\t\t    const
      u16 *csa_offs, size_t csa_offs_len,\n\t\t\t\t    int no_encrypt, unsigned int
      wait,\n\t\t\t\t    int link_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_driver_nl80211_sta_remove
      Src: /src/hostap/src/drivers/driver_nl80211.c:11939,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - priv
    - addr
    argTypes:
    - void*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11940
      start: 11936
    functionDepth: 4
    functionLinenumber: 11936
    functionLinenumberEnd: 11940
    functionName: driver_nl80211_sta_remove
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 3
    functionsReached:
    - wpa_driver_nl80211_sta_remove
    linkageType: ''
    returnType: int
    signature: int driver_nl80211_sta_remove(void *priv, const u8 *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: i802_set_sta_vlan
      Src: /src/hostap/src/drivers/driver_nl80211.c:11948,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - priv
    - addr
    - ifname
    - vlan_id
    - link_id
    argTypes:
    - void*
    - u8*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11949
      start: 11943
    functionDepth: 6
    functionLinenumber: 11943
    functionLinenumberEnd: 11949
    functionName: driver_nl80211_set_sta_vlan
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - i802_set_sta_vlan
    linkageType: ''
    returnType: int
    signature: "int driver_nl80211_set_sta_vlan(void *priv, const u8 *addr,\n\t\t\t\t
      \      const char *ifname, int vlan_id,\n\t\t\t\t       int link_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211.c:11958,1
    - Dst: i802_read_sta_data
      Src: /src/hostap/src/drivers/driver_nl80211.c:11959,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - priv
    - data
    - addr
    argTypes:
    - void*
    - struct hostap_sta_driver_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11960
      start: 11952
    functionDepth: 6
    functionLinenumber: 11952
    functionLinenumberEnd: 11960
    functionName: driver_nl80211_read_sta_data
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - i802_read_sta_data
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int driver_nl80211_read_sta_data(void *priv,\n\t\t\t\t\tstruct hostap_sta_driver_data
      *data,\n\t\t\t\t\tconst u8 *addr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_driver_nl80211_send_action
      Src: /src/hostap/src/drivers/driver_nl80211.c:11971,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 10
    argNames:
    - priv
    - freq
    - wait_time
    - dst
    - src
    - bssid
    - data
    - data_len
    - no_cck
    - link_id
    argTypes:
    - void*
    - unsigned int
    - unsigned int
    - u8*
    - u8*
    - u8*
    - u8*
    - size_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11974
      start: 11963
    functionDepth: 8
    functionLinenumber: 11963
    functionLinenumberEnd: 11974
    functionName: driver_nl80211_send_action
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 1
    functionsReached:
    - wpa_driver_nl80211_send_action
    linkageType: ''
    returnType: int
    signature: "int driver_nl80211_send_action(void *priv, unsigned int freq,\n\t\t\t\t
      \     unsigned int wait_time,\n\t\t\t\t      const u8 *dst, const u8 *src,\n\t\t\t\t
      \     const u8 *bssid,\n\t\t\t\t      const u8 *data, size_t data_len,\n\t\t\t\t
      \     int no_cck, int link_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_driver_nl80211_probe_req_report
      Src: /src/hostap/src/drivers/driver_nl80211.c:11980,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - priv
    - report
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11981
      start: 11977
    functionDepth: 5
    functionLinenumber: 11977
    functionLinenumberEnd: 11981
    functionName: driver_nl80211_probe_req_report
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 4
    functionsReached:
    - wpa_driver_nl80211_probe_req_report
    linkageType: ''
    returnType: int
    signature: int driver_nl80211_probe_req_report(void *priv, int report)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/drivers/driver_nl80211.c:11991,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:11993,1
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:11994,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:11995,1
    - Dst: nla_put_u16
      Src: /src/hostap/src/drivers/driver_nl80211.c:11996,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:11997,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:12001,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:12003,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:12004,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - priv
    - md
    - ies
    - ies_len
    argTypes:
    - void*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12008
      start: 11984
    functionDepth: 5
    functionLinenumber: 11984
    functionLinenumberEnd: 12008
    functionName: wpa_driver_nl80211_update_ft_ies
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_bss_msg
    - wpa_printf
    - strerror
    - send_and_recv_cmd
    - WPA_GET_LE16
    - nla_put_u16
    - nlmsg_free
    - nla_put
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_nl80211_update_ft_ies(void *priv, const u8 *md,\n\t\t\t\t\t
      \   const u8 *ies, size_t ies_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:12019,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:12020,1
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:12021,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:12022,1
    - Dst: nla_put_u16
      Src: /src/hostap/src/drivers/driver_nl80211.c:12023,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:12024,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:12025,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:12029,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:12031,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:12033,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 5
    argNames:
    - priv
    - peer_mac
    - reason_code
    - ie
    - ie_len
    argTypes:
    - void*
    - u8*
    - u16
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12037
      start: 12011
    functionDepth: 5
    functionLinenumber: 12011
    functionLinenumberEnd: 12037
    functionName: nl80211_update_dh_ie
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_bss_msg
    - wpa_printf
    - strerror
    - send_and_recv_cmd
    - nla_put_u16
    - MAC2STR
    - nlmsg_free
    - nla_put
    linkageType: ''
    returnType: int
    signature: "int nl80211_update_dh_ie(void *priv, const u8 *peer_mac,\n\t\t\t\tu16
      reason_code, const u8 *ie, size_t ie_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_is_netdev_iftype
      Src: /src/hostap/src/drivers/driver_nl80211.c:12045,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12049
      start: 12040
    functionDepth: 1
    functionLinenumber: 12040
    functionLinenumberEnd: 12049
    functionName: wpa_driver_nl80211_get_macaddr
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_is_netdev_iftype
    linkageType: ''
    returnType: u8
    signature: u8 * wpa_driver_nl80211_get_macaddr(void *priv)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - scan_state
    argTypes:
    - enum scan_states
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12074
      start: 12052
    functionDepth: 0
    functionLinenumber: 12052
    functionLinenumberEnd: 12074
    functionName: scan_state_str
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * scan_state_str(enum scan_states scan_state)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/src/drivers/driver_nl80211.c:12089,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:12099,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/drivers/driver_nl80211.c:12108,1
    - Dst: os_snprintf
      Src: /src/hostap/src/drivers/driver_nl80211.c:12113,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/drivers/driver_nl80211.c:12115,1
    - Dst: os_snprintf
      Src: /src/hostap/src/drivers/driver_nl80211.c:12120,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:12136,1
    - Dst: scan_state_str
      Src: /src/hostap/src/drivers/driver_nl80211.c:12139,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:12140,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:12141,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:12142,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:12143,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/drivers/driver_nl80211.c:12167,1
    - Dst: os_snprintf
      Src: /src/hostap/src/drivers/driver_nl80211.c:12175,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:12178,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/drivers/driver_nl80211.c:12180,1
    - Dst: for_each_link
      Src: /src/hostap/src/drivers/driver_nl80211.c:12184,1
    - Dst: os_snprintf
      Src: /src/hostap/src/drivers/driver_nl80211.c:12185,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:12189,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:12190,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/drivers/driver_nl80211.c:12192,1
    - Dst: os_snprintf
      Src: /src/hostap/src/drivers/driver_nl80211.c:12197,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/drivers/driver_nl80211.c:12203,1
    - Dst: os_snprintf
      Src: /src/hostap/src/drivers/driver_nl80211.c:12211,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/drivers/driver_nl80211.c:12264,1
    - Dst: nlmsg_alloc
      Src: /src/hostap/src/drivers/driver_nl80211.c:12269,1
    - Dst: nl80211_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:12271,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:12272,1
    - Dst: send_and_recv_resp
      Src: /src/hostap/src/drivers/driver_nl80211.c:12273,1
    - Dst: os_snprintf
      Src: /src/hostap/src/drivers/driver_nl80211.c:12276,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/drivers/driver_nl80211.c:12278,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:12283,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 53
    argCount: 3
    argNames:
    - priv
    - buf
    - buflen
    argTypes:
    - void*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12287
      start: 12077
    functionDepth: 2
    functionLinenumber: 12077
    functionLinenumberEnd: 12287
    functionName: wpa_driver_nl80211_status
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - scan_state_str
    - nl80211_cmd
    - send_and_recv_resp
    - for_each_link
    - os_snprintf
    - MAC2STR
    - nlmsg_alloc
    - nlmsg_free
    - nla_put_u32
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: int wpa_driver_nl80211_status(void *priv, char *buf, size_t buflen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:12293,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:12296,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:12299,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:12302,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:12305,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:12308,1
    - Dst: nl80211_mbssid
      Src: /src/hostap/src/drivers/driver_nl80211.c:12313,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 6
    argCount: 3
    argNames:
    - msg
    - settings
    - skip_mbssid
    argTypes:
    - struct nl_msg*
    - struct beacon_data*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12318
      start: 12289
    functionDepth: 2
    functionLinenumber: 12289
    functionLinenumberEnd: 12318
    functionName: set_beacon_data
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_mbssid
    - nla_put
    linkageType: ''
    returnType: int
    signature: "int set_beacon_data(struct nl_msg *msg, struct beacon_data *settings,\n\t\t\t
      \  bool skip_mbssid)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:12331,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:12347,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:12375,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:12382,1
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:12407,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:12408,1
    - Dst: nl80211_put_freq_params
      Src: /src/hostap/src/drivers/driver_nl80211.c:12410,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:12412,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:12414,1
    - Dst: set_beacon_data
      Src: /src/hostap/src/drivers/driver_nl80211.c:12418,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:12423,1
    - Dst: set_beacon_data
      Src: /src/hostap/src/drivers/driver_nl80211.c:12427,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:12431,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:12435,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:12440,1
    - Dst: nl80211_unsol_bcast_probe_resp
      Src: /src/hostap/src/drivers/driver_nl80211.c:12444,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:12448,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:12450,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:12451,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:12458,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:12459,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 69
    argCount: 2
    argNames:
    - priv
    - settings
    argTypes:
    - void*
    - struct csa_settings*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12461
      start: 12321
    functionDepth: 5
    functionLinenumber: 12321
    functionLinenumberEnd: 12461
    functionName: nl80211_switch_channel
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_bss_msg
    - wpa_printf
    - strerror
    - nla_put
    - send_and_recv_cmd
    - nla_put_flag
    - set_beacon_data
    - nla_put_u8
    - nlmsg_free
    - nla_nest_end
    - nla_nest_start
    - nla_put_u32
    - nl80211_put_freq_params
    - nl80211_unsol_bcast_probe_resp
    linkageType: ''
    returnType: int
    signature: int nl80211_switch_channel(void *priv, struct csa_settings *settings)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:12473,1
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:12495,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:12497,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:12499,1
    - Dst: set_beacon_data
      Src: /src/hostap/src/drivers/driver_nl80211.c:12504,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:12509,1
    - Dst: set_beacon_data
      Src: /src/hostap/src/drivers/driver_nl80211.c:12515,1
    - Dst: nla_put_u16
      Src: /src/hostap/src/drivers/driver_nl80211.c:12519,1
    - Dst: nla_put_u16
      Src: /src/hostap/src/drivers/driver_nl80211.c:12522,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:12528,1
    - Dst: nl80211_unsol_bcast_probe_resp
      Src: /src/hostap/src/drivers/driver_nl80211.c:12531,1
    - Dst: nl80211_link_valid
      Src: /src/hostap/src/drivers/driver_nl80211.c:12537,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:12538,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:12542,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:12544,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:12550,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:12552,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:12554,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:12559,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:12560,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 56
    argCount: 2
    argNames:
    - priv
    - settings
    argTypes:
    - void*
    - struct cca_settings*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12562
      start: 12465
    functionDepth: 5
    functionLinenumber: 12465
    functionLinenumberEnd: 12562
    functionName: nl80211_switch_color
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_bss_msg
    - wpa_printf
    - strerror
    - send_and_recv_cmd
    - nla_put_u16
    - set_beacon_data
    - nla_put_u8
    - nlmsg_free
    - nla_nest_end
    - nl80211_link_valid
    - nla_nest_start
    - nl80211_unsol_bcast_probe_resp
    linkageType: ''
    returnType: int
    signature: int nl80211_switch_color(void *priv, struct cca_settings *settings)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:12574,1
    - Dst: is_sta_interface
      Src: /src/hostap/src/drivers/driver_nl80211.c:12578,1
    - Dst: nl80211_cmd_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:12581,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:12583,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:12584,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:12585,1
    - Dst: nla_put_u16
      Src: /src/hostap/src/drivers/driver_nl80211.c:12586,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:12587,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:12591,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:12593,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:12594,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 5
    argNames:
    - priv
    - tsid
    - addr
    - user_priority
    - admitted_time
    argTypes:
    - void*
    - u8
    - u8*
    - u8
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12596
      start: 12566
    functionDepth: 3
    functionLinenumber: 12566
    functionLinenumberEnd: 12596
    functionName: nl80211_add_ts
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - is_sta_interface
    - strerror
    - nl80211_cmd_msg
    - send_and_recv_cmd
    - nla_put_u16
    - nla_put_u8
    - nlmsg_free
    - nla_put
    linkageType: ''
    returnType: int
    signature: "int nl80211_add_ts(void *priv, u8 tsid, const u8 *addr,\n\t\t\t  u8
      user_priority, u16 admitted_time)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:12606,1
    - Dst: is_sta_interface
      Src: /src/hostap/src/drivers/driver_nl80211.c:12608,1
    - Dst: nl80211_cmd_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:12611,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:12612,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:12613,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:12614,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:12618,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:12620,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:12621,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - priv
    - tsid
    - addr
    argTypes:
    - void*
    - u8
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12623
      start: 12599
    functionDepth: 3
    functionLinenumber: 12599
    functionLinenumberEnd: 12623
    functionName: nl80211_del_ts
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - is_sta_interface
    - strerror
    - nl80211_cmd_msg
    - send_and_recv_cmd
    - nla_put_u8
    - nlmsg_free
    - nla_put
    linkageType: ''
    returnType: int
    signature: int nl80211_del_ts(void *priv, u8 tsid, const u8 *addr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nlmsg_data
      Src: /src/hostap/src/drivers/driver_nl80211.c:12629,1
    - Dst: nlmsg_hdr
      Src: /src/hostap/src/drivers/driver_nl80211.c:12629,1
    - Dst: genlmsg_attrlen
      Src: /src/hostap/src/drivers/driver_nl80211.c:12635,1
    - Dst: wpabuf_tailroom
      Src: /src/hostap/src/drivers/driver_nl80211.c:12635,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:12636,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/drivers/driver_nl80211.c:12640,1
    - Dst: genlmsg_attrdata
      Src: /src/hostap/src/drivers/driver_nl80211.c:12640,1
    - Dst: genlmsg_attrlen
      Src: /src/hostap/src/drivers/driver_nl80211.c:12641,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - msg
    - arg
    argTypes:
    - struct nl_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12644
      start: 12627
    functionDepth: 1
    functionLinenumber: 12627
    functionLinenumberEnd: 12644
    functionName: cmd_reply_handler
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nlmsg_hdr
    - wpa_printf
    - wpabuf_put_data
    - nlmsg_data
    - wpabuf_tailroom
    - genlmsg_attrlen
    - genlmsg_attrdata
    linkageType: ''
    returnType: int
    signature: int cmd_reply_handler(struct nl_msg *msg, void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nlmsg_data
      Src: /src/hostap/src/drivers/driver_nl80211.c:12652,1
    - Dst: nlmsg_hdr
      Src: /src/hostap/src/drivers/driver_nl80211.c:12652,1
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211.c:12659,1
    - Dst: genlmsg_attrdata
      Src: /src/hostap/src/drivers/driver_nl80211.c:12659,1
    - Dst: genlmsg_attrlen
      Src: /src/hostap/src/drivers/driver_nl80211.c:12660,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211.c:12666,1
    - Dst: wpabuf_tailroom
      Src: /src/hostap/src/drivers/driver_nl80211.c:12666,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:12667,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/drivers/driver_nl80211.c:12672,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211.c:12672,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211.c:12672,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - msg
    - arg
    argTypes:
    - struct nl_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12676
      start: 12648
    functionDepth: 1
    functionLinenumber: 12648
    functionLinenumberEnd: 12676
    functionName: vendor_reply_handler
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nlmsg_hdr
    - nla_len
    - wpa_printf
    - wpabuf_put_data
    - nla_parse
    - nlmsg_data
    - nla_data
    - wpabuf_tailroom
    - genlmsg_attrlen
    - genlmsg_attrdata
    linkageType: ''
    returnType: int
    signature: int vendor_reply_handler(struct nl_msg *msg, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/drivers/driver_nl80211.c:12672,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211.c:12672,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211.c:12672,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12673
      start: 12671
    functionDepth: 1
    functionLinenumber: 12671
    functionLinenumberEnd: 12673
    functionName: nla_for_each_nested
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nla_len
    - nla_data
    - wpabuf_put_data
    linkageType: ''
    returnType: void
    signature: void nla_for_each_nested(nl, nl_vendor_reply, rem)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - vendor_id
    - subcmd
    argTypes:
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12696
      start: 12679
    functionDepth: 0
    functionLinenumber: 12679
    functionLinenumberEnd: 12696
    functionName: is_cmd_with_nested_attrs
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool is_cmd_with_nested_attrs(unsigned int vendor_id,\n\t\t\t\t     unsigned
      int subcmd)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: nlmsg_alloc
      Src: /src/hostap/src/drivers/driver_nl80211.c:12711,1
    - Dst: nl80211_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:12715,1
    - Dst: nlmsg_append
      Src: /src/hostap/src/drivers/driver_nl80211.c:12716,1
    - Dst: send_and_recv
      Src: /src/hostap/src/drivers/driver_nl80211.c:12722,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:12725,1
    - Dst: is_cmd_with_nested_attrs
      Src: /src/hostap/src/drivers/driver_nl80211.c:12734,1
    - Dst: nl80211_cmd_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:12739,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:12740,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:12741,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:12743,1
    - Dst: send_and_recv_resp
      Src: /src/hostap/src/drivers/driver_nl80211.c:12747,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:12749,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:12754,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 7
    argNames:
    - priv
    - vendor_id
    - subcmd
    - data
    - data_len
    - nested_attr
    - buf
    argTypes:
    - void*
    - unsigned int
    - unsigned int
    - u8*
    - size_t
    - enum nested_attr
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12756
      start: 12699
    functionDepth: 3
    functionLinenumber: 12699
    functionLinenumberEnd: 12756
    functionName: nl80211_vendor_cmd
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - nl80211_cmd
    - send_and_recv
    - nla_put
    - send_and_recv_resp
    - is_cmd_with_nested_attrs
    - nlmsg_alloc
    - nlmsg_free
    - nla_put_u32
    - nl80211_cmd_msg
    - nlmsg_append
    linkageType: ''
    returnType: int
    signature: "int nl80211_vendor_cmd(void *priv, unsigned int vendor_id,\n\t\t\t
      \     unsigned int subcmd, const u8 *data,\n\t\t\t      size_t data_len, enum
      nested_attr nested_attr,\n\t\t\t      struct wpabuf *buf)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/src/drivers/driver_nl80211.c:12767,1
    - Dst: nl80211_cmd_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:12770,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:12771,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:12772,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:12776,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:12778,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - priv
    - qos_map_set
    - qos_map_set_len
    argTypes:
    - void*
    - u8*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12781
      start: 12759
    functionDepth: 3
    functionLinenumber: 12759
    functionLinenumberEnd: 12781
    functionName: nl80211_set_qos_map
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    - nl80211_cmd_msg
    - send_and_recv_cmd
    - nlmsg_free
    - nla_put
    linkageType: ''
    returnType: int
    signature: "int nl80211_set_qos_map(void *priv, const u8 *qos_map_set,\n\t\t\t
      \      u8 qos_map_set_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nlmsg_data
      Src: /src/hostap/src/drivers/driver_nl80211.c:12787,1
    - Dst: nlmsg_hdr
      Src: /src/hostap/src/drivers/driver_nl80211.c:12787,1
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211.c:12790,1
    - Dst: genlmsg_attrdata
      Src: /src/hostap/src/drivers/driver_nl80211.c:12790,1
    - Dst: genlmsg_attrlen
      Src: /src/hostap/src/drivers/driver_nl80211.c:12791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - msg
    - arg
    argTypes:
    - struct nl_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12796
      start: 12784
    functionDepth: 0
    functionLinenumber: 12784
    functionLinenumberEnd: 12796
    functionName: get_wowlan_handler
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nlmsg_hdr
    - nla_parse
    - nlmsg_data
    - genlmsg_attrlen
    - genlmsg_attrdata
    linkageType: ''
    returnType: int
    signature: int get_wowlan_handler(struct nl_msg *msg, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:12807,1
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:12809,1
    - Dst: send_and_recv_resp
      Src: /src/hostap/src/drivers/driver_nl80211.c:12811,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:12813,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:12817,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12821
      start: 12799
    functionDepth: 5
    functionLinenumber: 12799
    functionLinenumberEnd: 12821
    functionName: nl80211_get_wowlan
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_bss_msg
    - wpa_printf
    - send_and_recv_resp
    linkageType: ''
    returnType: int
    signature: int nl80211_get_wowlan(void *priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:12833,1
    - Dst: nl80211_cmd_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:12835,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:12836,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:12839,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:12841,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:12843,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:12845,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:12847,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:12849,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:12851,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:12852,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:12856,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:12858,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:12860,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 11
    argCount: 2
    argNames:
    - priv
    - triggers
    argTypes:
    - void*
    - struct wowlan_triggers*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12863
      start: 12824
    functionDepth: 3
    functionLinenumber: 12824
    functionLinenumberEnd: 12863
    functionName: nl80211_set_wowlan
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - send_and_recv_cmd
    - nla_put_flag
    - nlmsg_free
    - nla_nest_end
    - nla_nest_start
    - nl80211_cmd_msg
    linkageType: ''
    returnType: int
    signature: "int nl80211_set_wowlan(void *priv,\n\t\t\t      const struct wowlan_triggers
      *triggers)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:12874,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:12877,1
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:12882,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:12883,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:12884,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:12886,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:12887,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:12891,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:12892,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:12895,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:12897,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - priv
    - allowed
    - bssid
    argTypes:
    - void*
    - int
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12898
      start: 12867
    functionDepth: 5
    functionLinenumber: 12867
    functionLinenumberEnd: 12898
    functionName: nl80211_roaming
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_bss_msg
    - wpa_printf
    - send_and_recv_cmd
    - nlmsg_free
    - nla_nest_end
    - nla_nest_start
    - nla_put_u32
    - nla_put
    linkageType: ''
    returnType: int
    signature: int nl80211_roaming(void *priv, int allowed, const u8 *bssid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:12908,1
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:12913,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:12914,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:12915,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:12917,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:12918,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:12920,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:12923,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:12925,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - priv
    - disable
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12926
      start: 12901
    functionDepth: 5
    functionLinenumber: 12901
    functionLinenumberEnd: 12926
    functionName: nl80211_disable_fils
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_bss_msg
    - wpa_printf
    - send_and_recv_cmd
    - nla_put_u8
    - nlmsg_free
    - nla_nest_end
    - nla_nest_start
    - nla_put_u32
    linkageType: ''
    returnType: int
    signature: int nl80211_disable_fils(void *priv, int disable)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:12941,1
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:12948,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:12949,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:12950,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:12952,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:12953,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:12955,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:12957,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:12962,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:12968,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:12971,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:12975,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:12976,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:12977,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:12979,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:12980,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:12982,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:12985,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 29
    argCount: 3
    argNames:
    - priv
    - num_bssid
    - bssid
    argTypes:
    - void*
    - unsigned int
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12987
      start: 12932
    functionDepth: 5
    functionLinenumber: 12932
    functionLinenumberEnd: 12987
    functionName: nl80211_set_bssid_tmp_disallow
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_bss_msg
    - wpa_printf
    - send_and_recv_cmd
    - MAC2STR
    - nlmsg_free
    - nla_nest_end
    - nla_nest_start
    - nla_put_u32
    - nla_put
    linkageType: ''
    returnType: int
    signature: "int nl80211_set_bssid_tmp_disallow(void *priv, unsigned int num_bssid,\n\t\t\t\t\t
      \ const u8 *bssid)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:13000,1
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:13002,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:13003,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:13004,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:13006,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:13008,1
    - Dst: nla_put_u16
      Src: /src/hostap/src/drivers/driver_nl80211.c:13010,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:13012,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:13013,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:13018,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:13020,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 3
    argNames:
    - priv
    - addr
    - auth_alg
    argTypes:
    - void*
    - u8*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13021
      start: 12990
    functionDepth: 5
    functionLinenumber: 12990
    functionLinenumberEnd: 13021
    functionName: nl80211_add_sta_node
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_bss_msg
    - wpa_printf
    - send_and_recv_cmd
    - nla_put_u16
    - nlmsg_free
    - nla_nest_end
    - nla_nest_start
    - nla_put_u32
    - nla_put
    linkageType: ''
    returnType: int
    signature: int nl80211_add_sta_node(void *priv, const u8 *addr, u16 auth_alg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/drivers/driver_nl80211.c:13032,1
    - Dst: linux_set_iface_flags
      Src: /src/hostap/src/drivers/driver_nl80211.c:13038,1
    - Dst: linux_set_ifhwaddr
      Src: /src/hostap/src/drivers/driver_nl80211.c:13041,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:13043,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:13045,1
    - Dst: linux_set_iface_flags
      Src: /src/hostap/src/drivers/driver_nl80211.c:13046,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:13048,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:13054,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:13055,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:13057,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:13058,1
    - Dst: linux_set_iface_flags
      Src: /src/hostap/src/drivers/driver_nl80211.c:13060,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:13062,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - priv
    - addr
    argTypes:
    - void*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13067
      start: 13026
    functionDepth: 1
    functionLinenumber: 13026
    functionLinenumberEnd: 13067
    functionName: nl80211_set_mac_addr
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - TEST_FAIL
    - os_memcpy
    - linux_set_iface_flags
    - MAC2STR
    - linux_set_ifhwaddr
    linkageType: ''
    returnType: int
    signature: int nl80211_set_mac_addr(void *priv, const u8 *addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_driver_nl80211_set_mode
      Src: /src/hostap/src/drivers/driver_nl80211.c:13074,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:13075,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13080
      start: 13072
    functionDepth: 11
    functionLinenumber: 13072
    functionLinenumberEnd: 13080
    functionName: wpa_driver_nl80211_init_mesh
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_driver_nl80211_set_mode
    linkageType: ''
    returnType: int
    signature: int wpa_driver_nl80211_init_mesh(void *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:13087,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/src/drivers/driver_nl80211.c:13088,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:13089,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - msg
    - mesh_id
    - mesh_id_len
    argTypes:
    - struct nl_msg*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13093
      start: 13083
    functionDepth: 1
    functionLinenumber: 13083
    functionLinenumberEnd: 13093
    functionName: nl80211_put_mesh_id
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_ssid_txt
    - wpa_printf
    - nla_put
    linkageType: ''
    returnType: int
    signature: "int nl80211_put_mesh_id(struct nl_msg *msg, const u8 *mesh_id,\n\t\t\t
      \      size_t mesh_id_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:13101,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:13106,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:13109,1
    - Dst: nla_put_u16
      Src: /src/hostap/src/drivers/driver_nl80211.c:13112,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:13115,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:13124,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:13126,1
    - Dst: nla_put_u16
      Src: /src/hostap/src/drivers/driver_nl80211.c:13131,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:13132,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:13136,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 16
    argCount: 2
    argNames:
    - msg
    - params
    argTypes:
    - struct nl_msg*
    - struct wpa_driver_mesh_bss_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13139
      start: 13096
    functionDepth: 1
    functionLinenumber: 13096
    functionLinenumberEnd: 13139
    functionName: nl80211_put_mesh_config
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - nla_put_u16
    - nla_put_u8
    - nla_nest_end
    - nla_nest_start
    - nla_put_u32
    linkageType: ''
    returnType: int
    signature: "int nl80211_put_mesh_config(struct nl_msg *msg,\n\t\t\t\t   struct
      wpa_driver_mesh_bss_params *params)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:13150,1
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:13151,1
    - Dst: nl80211_put_freq_params
      Src: /src/hostap/src/drivers/driver_nl80211.c:13153,1
    - Dst: nl80211_put_basic_rates
      Src: /src/hostap/src/drivers/driver_nl80211.c:13154,1
    - Dst: nl80211_put_mesh_id
      Src: /src/hostap/src/drivers/driver_nl80211.c:13155,1
    - Dst: nl80211_put_beacon_int
      Src: /src/hostap/src/drivers/driver_nl80211.c:13156,1
    - Dst: nl80211_put_dtim_period
      Src: /src/hostap/src/drivers/driver_nl80211.c:13157,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:13160,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:13162,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:13165,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/drivers/driver_nl80211.c:13170,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:13171,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:13177,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:13178,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:13182,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:13185,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:13187,1
    - Dst: nl80211_put_mesh_config
      Src: /src/hostap/src/drivers/driver_nl80211.c:13192,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:13195,1
    - Dst: send_and_recv
      Src: /src/hostap/src/drivers/driver_nl80211.c:13197,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:13201,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:13202,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:13207,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:13210,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 54
    argCount: 2
    argNames:
    - bss
    - params
    argTypes:
    - struct i802_bss*
    - struct wpa_driver_mesh_join_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13212
      start: 13142
    functionDepth: 5
    functionLinenumber: 13142
    functionLinenumberEnd: 13212
    functionName: nl80211_join_mesh
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_bss_msg
    - wpa_printf
    - nl80211_put_basic_rates
    - wpa_hexdump
    - strerror
    - send_and_recv
    - nla_put
    - nl80211_put_mesh_id
    - nl80211_put_beacon_int
    - nla_put_flag
    - nla_put_u8
    - nlmsg_free
    - nla_nest_end
    - nla_nest_start
    - nl80211_put_freq_params
    - nl80211_put_mesh_config
    - nl80211_put_dtim_period
    linkageType: ''
    returnType: int
    signature: "int nl80211_join_mesh(struct i802_bss *bss,\n\t\t\t     struct wpa_driver_mesh_join_params
      *params)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_join_mesh
      Src: /src/hostap/src/drivers/driver_nl80211.c:13228,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:13230,1
    - Dst: nl80211_join_mesh
      Src: /src/hostap/src/drivers/driver_nl80211.c:13238,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - priv
    - params
    argTypes:
    - void*
    - struct wpa_driver_mesh_join_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13243
      start: 13215
    functionDepth: 6
    functionLinenumber: 13215
    functionLinenumberEnd: 13243
    functionName: wpa_driver_nl80211_join_mesh
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_join_mesh
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_nl80211_join_mesh(void *priv,\n\t\t\t     struct wpa_driver_mesh_join_params
      *params)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:13253,1
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:13254,1
    - Dst: send_and_recv
      Src: /src/hostap/src/drivers/driver_nl80211.c:13255,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:13258,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:13259,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:13261,1
    - Dst: wpa_driver_nl80211_set_mode
      Src: /src/hostap/src/drivers/driver_nl80211.c:13267,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:13269,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13273
      start: 13246
    functionDepth: 11
    functionLinenumber: 13246
    functionLinenumberEnd: 13273
    functionName: wpa_driver_nl80211_leave_mesh
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_bss_msg
    - wpa_printf
    - strerror
    - send_and_recv
    - wpa_driver_nl80211_set_mode
    linkageType: ''
    returnType: int
    signature: int wpa_driver_nl80211_leave_mesh(void *priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:13284,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:13286,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:13287,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:13288,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:13292,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:13294,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:13296,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:13296,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:13298,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:13299,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - priv
    - addr
    - eth
    - len
    argTypes:
    - void*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13303
      start: 13276
    functionDepth: 5
    functionLinenumber: 13276
    functionLinenumberEnd: 13303
    functionName: nl80211_probe_mesh_link
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_bss_msg
    - wpa_printf
    - strerror
    - send_and_recv_cmd
    - MAC2STR
    - nlmsg_free
    - nla_put
    linkageType: ''
    returnType: int
    signature: "int nl80211_probe_mesh_link(void *priv, const u8 *addr, const u8 *eth,\n\t\t\t\t
      \  size_t len)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:13326,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:13332,1
    - Dst: nlmsg_alloc_simple
      Src: /src/hostap/src/drivers/driver_nl80211.c:13347,1
    - Dst: nlmsg_append
      Src: /src/hostap/src/drivers/driver_nl80211.c:13352,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:13353,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:13354,1
    - Dst: nl_send_auto_complete
      Src: /src/hostap/src/drivers/driver_nl80211.c:13357,1
    - Dst: nl_wait_for_ack
      Src: /src/hostap/src/drivers/driver_nl80211.c:13361,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:13363,1
    - Dst: nl_geterror
      Src: /src/hostap/src/drivers/driver_nl80211.c:13365,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:13368,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 40
    argCount: 5
    argNames:
    - priv
    - version
    - ipaddr
    - prefixlen
    - addr
    argTypes:
    - void*
    - u8
    - u8*
    - int
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13370
      start: 13308
    functionDepth: 0
    functionLinenumber: 13308
    functionLinenumberEnd: 13370
    functionName: wpa_driver_br_add_ip_neigh
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl_wait_for_ack
    - wpa_printf
    - nl_send_auto_complete
    - nlmsg_free
    - nlmsg_alloc_simple
    - nla_put
    - nl_geterror
    - nlmsg_append
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_br_add_ip_neigh(void *priv, u8 version,\n\t\t\t\t      const
      u8 *ipaddr, int prefixlen,\n\t\t\t\t      const u8 *addr)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:13400,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:13406,1
    - Dst: nlmsg_alloc_simple
      Src: /src/hostap/src/drivers/driver_nl80211.c:13411,1
    - Dst: nlmsg_append
      Src: /src/hostap/src/drivers/driver_nl80211.c:13416,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:13417,1
    - Dst: nl_send_auto_complete
      Src: /src/hostap/src/drivers/driver_nl80211.c:13420,1
    - Dst: nl_wait_for_ack
      Src: /src/hostap/src/drivers/driver_nl80211.c:13424,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:13426,1
    - Dst: nl_geterror
      Src: /src/hostap/src/drivers/driver_nl80211.c:13428,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:13431,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 3
    argNames:
    - priv
    - version
    - ipaddr
    argTypes:
    - void*
    - u8
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13433
      start: 13373
    functionDepth: 0
    functionLinenumber: 13373
    functionLinenumberEnd: 13433
    functionName: wpa_driver_br_delete_ip_neigh
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl_wait_for_ack
    - wpa_printf
    - nl_send_auto_complete
    - nlmsg_free
    - nlmsg_alloc_simple
    - nla_put
    - nl_geterror
    - nlmsg_append
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_br_delete_ip_neigh(void *priv, u8 version,\n\t\t\t\t\t
      const u8 *ipaddr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/src/drivers/driver_nl80211.c:13441,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/drivers/driver_nl80211.c:13442,1
    - Dst: open
      Src: /src/hostap/src/drivers/driver_nl80211.c:13445,1
    - Dst: write
      Src: /src/hostap/src/drivers/driver_nl80211.c:13449,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:13450,1
    - Dst: close
      Src: /src/hostap/src/drivers/driver_nl80211.c:13453,1
    - Dst: close
      Src: /src/hostap/src/drivers/driver_nl80211.c:13456,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - path
    - val
    argTypes:
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13459
      start: 13436
    functionDepth: 1
    functionLinenumber: 13436
    functionLinenumberEnd: 13459
    functionName: linux_write_system_file
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - open
    - os_snprintf
    - write
    - close
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: int linux_write_system_file(const char *path, unsigned int val)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - attr
    argTypes:
    - enum drv_br_port_attr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13474
      start: 13462
    functionDepth: 0
    functionLinenumber: 13462
    functionLinenumberEnd: 13474
    functionName: drv_br_port_attr_str
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * drv_br_port_attr_str(enum drv_br_port_attr attr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: drv_br_port_attr_str
      Src: /src/hostap/src/drivers/driver_nl80211.c:13484,1
    - Dst: os_snprintf
      Src: /src/hostap/src/drivers/driver_nl80211.c:13488,1
    - Dst: linux_write_system_file
      Src: /src/hostap/src/drivers/driver_nl80211.c:13491,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - priv
    - attr
    - val
    argTypes:
    - void*
    - enum drv_br_port_attr
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13495
      start: 13477
    functionDepth: 2
    functionLinenumber: 13477
    functionLinenumberEnd: 13495
    functionName: wpa_driver_br_port_set_attr
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - drv_br_port_attr_str
    - linux_write_system_file
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_br_port_set_attr(void *priv, enum drv_br_port_attr
      attr,\n\t\t\t\t       unsigned int val)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - param
    argTypes:
    - enum drv_br_net_param
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13506
      start: 13498
    functionDepth: 0
    functionLinenumber: 13498
    functionLinenumberEnd: 13506
    functionName: drv_br_net_param_str
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * drv_br_net_param_str(enum drv_br_net_param param)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/src/drivers/driver_nl80211.c:13518,1
    - Dst: drv_br_net_param_str
      Src: /src/hostap/src/drivers/driver_nl80211.c:13524,1
    - Dst: os_snprintf
      Src: /src/hostap/src/drivers/driver_nl80211.c:13536,1
    - Dst: linux_write_system_file
      Src: /src/hostap/src/drivers/driver_nl80211.c:13540,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - priv
    - param
    - val
    argTypes:
    - void*
    - enum drv_br_net_param
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13544
      start: 13509
    functionDepth: 2
    functionLinenumber: 13509
    functionLinenumberEnd: 13544
    functionName: wpa_driver_br_set_net_param
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - drv_br_net_param_str
    - linux_write_system_file
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_br_set_net_param(void *priv, enum drv_br_net_param
      param,\n\t\t\t\t       unsigned int val)"
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - hw_mode
    argTypes:
    - enum hostapd_hw_mode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13565
      start: 13549
    functionDepth: 0
    functionLinenumber: 13549
    functionLinenumberEnd: 13565
    functionName: hw_mode_to_qca_acs
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int hw_mode_to_qca_acs(enum hostapd_hw_mode hw_mode)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: int_array_len
      Src: /src/hostap/src/drivers/driver_nl80211.c:13579,1
    - Dst: os_malloc
      Src: /src/hostap/src/drivers/driver_nl80211.c:13580,1
    - Dst: ieee80211_freq_to_chan
      Src: /src/hostap/src/drivers/driver_nl80211.c:13597,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:13603,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:13606,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 20
    argCount: 2
    argNames:
    - msg
    - freq_list
    argTypes:
    - struct nl_msg*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13608
      start: 13568
    functionDepth: 2
    functionLinenumber: 13568
    functionLinenumberEnd: 13608
    functionName: add_acs_ch_list
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - ieee80211_freq_to_chan
    - os_malloc
    - int_array_len
    - os_free
    - nla_put
    linkageType: ''
    returnType: int
    signature: int add_acs_ch_list(struct nl_msg *msg, const int *freq_list)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: int_array_len
      Src: /src/hostap/src/drivers/driver_nl80211.c:13618,1
    - Dst: os_malloc
      Src: /src/hostap/src/drivers/driver_nl80211.c:13619,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:13624,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:13625,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - msg
    - attr
    - freq_list
    argTypes:
    - struct nl_msg*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13627
      start: 13611
    functionDepth: 1
    functionLinenumber: 13611
    functionLinenumberEnd: 13627
    functionName: add_freq_list
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - os_free
    - nla_put
    - int_array_len
    - os_malloc
    linkageType: ''
    returnType: int
    signature: int add_freq_list(struct nl_msg *msg, int attr, const int *freq_list)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hw_mode_to_qca_acs
      Src: /src/hostap/src/drivers/driver_nl80211.c:13639,1
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:13643,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:13644,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:13645,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:13647,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:13648,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:13650,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:13652,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:13654,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:13656,1
    - Dst: nla_put_u16
      Src: /src/hostap/src/drivers/driver_nl80211.c:13657,1
    - Dst: add_acs_ch_list
      Src: /src/hostap/src/drivers/driver_nl80211.c:13659,1
    - Dst: add_freq_list
      Src: /src/hostap/src/drivers/driver_nl80211.c:13660,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:13663,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:13665,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:13667,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:13670,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:13672,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:13678,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:13680,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:13682,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 15
    argCount: 2
    argNames:
    - bss
    - params
    argTypes:
    - struct i802_bss*
    - struct drv_acs_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13685
      start: 13630
    functionDepth: 5
    functionLinenumber: 13630
    functionLinenumberEnd: 13685
    functionName: nl80211_qca_do_acs
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nla_nest_end
    - nl80211_bss_msg
    - wpa_printf
    - add_freq_list
    - strerror
    - add_acs_ch_list
    - send_and_recv_cmd
    - nla_put_u16
    - nla_put_u8
    - hw_mode_to_qca_acs
    - nlmsg_free
    - nla_nest_start
    - nla_put_u32
    - nla_put_flag
    linkageType: ''
    returnType: int
    signature: "int nl80211_qca_do_acs(struct i802_bss *bss,\n\t\t\t      struct drv_acs_params
      *params)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:13718,1
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:13722,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:13723,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:13724,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:13726,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:13727,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:13729,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:13731,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:13734,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:13736,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:13738,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:13740,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 2
    argNames:
    - priv
    - band_mask
    argTypes:
    - void*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13743
      start: 13688
    functionDepth: 5
    functionLinenumber: 13688
    functionLinenumberEnd: 13743
    functionName: nl80211_set_band
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_bss_msg
    - wpa_printf
    - strerror
    - send_and_recv_cmd
    - nlmsg_free
    - nla_nest_end
    - nla_nest_start
    - nla_put_u32
    linkageType: ''
    returnType: int
    signature: int nl80211_set_band(void *priv, u32 band_mask)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:13754,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:13756,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:13758,1
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211.c:13761,1
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211.c:13763,1
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211.c:13765,1
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211.c:13767,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - wpcl
    - nl
    argTypes:
    - struct weighted_pcl*
    - struct nlattr*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13772
      start: 13751
    functionDepth: 0
    functionLinenumber: 13751
    functionLinenumberEnd: 13772
    functionName: get_pcl_attr_values
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nla_get_u32
    - BIT
    - nla_get_u8
    linkageType: ''
    returnType: void
    signature: void get_pcl_attr_values(struct weighted_pcl *wpcl, struct nlattr *nl[])
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: nlmsg_data
      Src: /src/hostap/src/drivers/driver_nl80211.c:13778,1
    - Dst: nlmsg_hdr
      Src: /src/hostap/src/drivers/driver_nl80211.c:13778,1
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211.c:13787,1
    - Dst: genlmsg_attrdata
      Src: /src/hostap/src/drivers/driver_nl80211.c:13787,1
    - Dst: genlmsg_attrlen
      Src: /src/hostap/src/drivers/driver_nl80211.c:13788,1
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211.c:13794,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211.c:13795,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211.c:13795,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:13800,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:13805,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:13806,1
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211.c:13820,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211.c:13821,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211.c:13821,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:13822,1
    - Dst: get_pcl_attr_values
      Src: /src/hostap/src/drivers/driver_nl80211.c:13827,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:13849,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211.c:13856,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211.c:13857,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:13867,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 56
    argCount: 2
    argNames:
    - msg
    - arg
    argTypes:
    - struct nl_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13873
      start: 13775
    functionDepth: 1
    functionLinenumber: 13775
    functionLinenumberEnd: 13873
    functionName: preferred_freq_info_handler
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nlmsg_hdr
    - nla_len
    - wpa_printf
    - nla_get_u32
    - nla_parse
    - nlmsg_data
    - nla_data
    - genlmsg_attrlen
    - get_pcl_attr_values
    - genlmsg_attrdata
    linkageType: ''
    returnType: int
    signature: int preferred_freq_info_handler(struct nl_msg *msg, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211.c:13820,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211.c:13821,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211.c:13821,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:13822,1
    - Dst: get_pcl_attr_values
      Src: /src/hostap/src/drivers/driver_nl80211.c:13827,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13829
      start: 13817
    functionDepth: 1
    functionLinenumber: 13817
    functionLinenumberEnd: 13829
    functionName: nla_for_each_nested
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nla_len
    - wpa_printf
    - nla_parse
    - nla_data
    - get_pcl_attr_values
    linkageType: ''
    returnType: void
    signature: void nla_for_each_nested(attr, wpcl, rem)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:13919,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:13920,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:13921,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:13922,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:13924,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:13925,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:13928,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:13931,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:13934,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211.c:13937,1
    - Dst: send_and_recv_resp
      Src: /src/hostap/src/drivers/driver_nl80211.c:13938,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:13940,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:13948,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 4
    argNames:
    - priv
    - if_type
    - num
    - freq_list
    argTypes:
    - void*
    - enum wpa_driver_if_type
    - unsigned int*
    - struct weighted_pcl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13955
      start: 13876
    functionDepth: 5
    functionLinenumber: 13876
    functionLinenumberEnd: 13955
    functionName: nl80211_get_pref_freq_list
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_bss_msg
    - wpa_printf
    - send_and_recv_resp
    - nlmsg_free
    - nla_nest_end
    - nla_nest_start
    - nla_put_u32
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int nl80211_get_pref_freq_list(void *priv,\n\t\t\t\t      enum wpa_driver_if_type
      if_type,\n\t\t\t\t      unsigned int *num,\n\t\t\t\t      struct weighted_pcl
      *freq_list)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:13969,1
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:13973,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:13974,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:13975,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:13977,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:13978,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:13981,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:13984,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:13987,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:13990,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:13992,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:13995,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:13999,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - priv
    - freq
    argTypes:
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14001
      start: 13958
    functionDepth: 5
    functionLinenumber: 13958
    functionLinenumberEnd: 14001
    functionName: nl80211_set_prob_oper_freq
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_bss_msg
    - wpa_printf
    - send_and_recv_cmd
    - nlmsg_free
    - nla_nest_end
    - nla_nest_start
    - nla_put_u32
    linkageType: ''
    returnType: int
    signature: int nl80211_set_prob_oper_freq(void *priv, unsigned int freq)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:14016,1
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:14023,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:14024,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:14025,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:14029,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:14033,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:14035,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:14037,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:14039,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:14041,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:14043,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:14047,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:14048,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:14051,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:14059,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 27
    argCount: 9
    argNames:
    - priv
    - freq
    - period
    - interval
    - count
    - device_types
    - dev_types_len
    - ies
    - ies_len
    argTypes:
    - void*
    - unsigned int
    - unsigned int
    - unsigned int
    - unsigned int
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14061
      start: 14004
    functionDepth: 5
    functionLinenumber: 14004
    functionLinenumberEnd: 14061
    functionName: nl80211_p2p_lo_start
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_bss_msg
    - wpa_printf
    - send_and_recv_cmd
    - nlmsg_free
    - nla_nest_end
    - nla_nest_start
    - nla_put_u32
    - nla_put
    linkageType: ''
    returnType: int
    signature: "int nl80211_p2p_lo_start(void *priv, unsigned int freq,\n\t\t\t\tunsigned
      int period, unsigned int interval,\n\t\t\t\tunsigned int count, const u8 *device_types,\n\t\t\t\tsize_t
      dev_types_len,\n\t\t\t\tconst u8 *ies, size_t ies_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:14070,1
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:14075,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:14076,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:14077,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:14079,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:14083,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14084
      start: 14064
    functionDepth: 5
    functionLinenumber: 14064
    functionLinenumberEnd: 14084
    functionName: nl80211_p2p_lo_stop
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_bss_msg
    - wpa_printf
    - send_and_recv_cmd
    - nlmsg_free
    - nla_put_u32
    linkageType: ''
    returnType: int
    signature: int nl80211_p2p_lo_stop(void *priv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:14096,1
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:14106,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:14107,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:14108,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:14112,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:14116,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:14120,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:14122,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:14125,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:14127,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:14132,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 2
    argNames:
    - priv
    - tdls_external_control
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14134
      start: 14087
    functionDepth: 5
    functionLinenumber: 14087
    functionLinenumberEnd: 14134
    functionName: nl80211_set_tdls_mode
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_bss_msg
    - wpa_printf
    - strerror
    - send_and_recv_cmd
    - nlmsg_free
    - nla_nest_end
    - nla_nest_start
    - nla_put_u32
    linkageType: ''
    returnType: int
    signature: int nl80211_set_tdls_mode(void *priv, int tdls_external_control)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - status
    argTypes:
    - enum qca_wlan_btm_candidate_status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14157
      start: 14139
    functionDepth: 0
    functionLinenumber: 14139
    functionLinenumberEnd: 14157
    functionName: nl80211_mbo_reject_reason_mapping
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum mbo_transition_reject_reason
    signature: enum mbo_transition_reject_reason nl80211_mbo_reject_reason_mapping(enum
      qca_wlan_btm_candidate_status status)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:14166,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211.c:14167,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:14170,1
    - Dst: nl80211_mbo_reject_reason_mapping
      Src: /src/hostap/src/drivers/driver_nl80211.c:14173,1
    - Dst: os_snprintf
      Src: /src/hostap/src/drivers/driver_nl80211.c:14176,1
    - Dst: os_snprintf
      Src: /src/hostap/src/drivers/driver_nl80211.c:14178,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:14181,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:14182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - candidate
    - tb
    - num
    argTypes:
    - struct candidate_list*
    - struct nlattr*[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14183
      start: 14160
    functionDepth: 1
    functionLinenumber: 14160
    functionLinenumberEnd: 14183
    functionName: nl80211_parse_btm_candidate_info
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nla_get_u32
    - os_memcpy
    - nl80211_mbo_reject_reason_mapping
    - wpa_printf
    - nla_data
    - os_snprintf
    - MAC2STR
    linkageType: ''
    returnType: void
    signature: "void nl80211_parse_btm_candidate_info(struct candidate_list *candidate,\n\t\t\t\t\t
      \    struct nlattr *tb[], int num)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nlmsg_data
      Src: /src/hostap/src/drivers/driver_nl80211.c:14205,1
    - Dst: nlmsg_hdr
      Src: /src/hostap/src/drivers/driver_nl80211.c:14205,1
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211.c:14210,1
    - Dst: genlmsg_attrdata
      Src: /src/hostap/src/drivers/driver_nl80211.c:14210,1
    - Dst: genlmsg_attrlen
      Src: /src/hostap/src/drivers/driver_nl80211.c:14211,1
    - Dst: nla_parse_nested
      Src: /src/hostap/src/drivers/driver_nl80211.c:14214,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:14219,1
    - Dst: nla_parse_nested
      Src: /src/hostap/src/drivers/driver_nl80211.c:14225,1
    - Dst: nl80211_parse_btm_candidate_info
      Src: /src/hostap/src/drivers/driver_nl80211.c:14232,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - msg
    - arg
    argTypes:
    - struct nl_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14239
      start: 14186
    functionDepth: 2
    functionLinenumber: 14186
    functionLinenumberEnd: 14239
    functionName: nl80211_get_bss_transition_status_handler
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nlmsg_hdr
    - wpa_printf
    - nla_parse_nested
    - nla_parse
    - nlmsg_data
    - genlmsg_attrlen
    - genlmsg_attrdata
    - nl80211_parse_btm_candidate_info
    linkageType: ''
    returnType: int
    signature: int nl80211_get_bss_transition_status_handler(struct nl_msg *msg, void
      *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nla_parse_nested
      Src: /src/hostap/src/drivers/driver_nl80211.c:14225,1
    - Dst: nl80211_parse_btm_candidate_info
      Src: /src/hostap/src/drivers/driver_nl80211.c:14232,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14236
      start: 14221
    functionDepth: 2
    functionLinenumber: 14221
    functionLinenumberEnd: 14236
    functionName: nla_for_each_nested
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_parse_btm_candidate_info
    - nla_parse_nested
    linkageType: ''
    returnType: void
    signature: "void nla_for_each_nested(attr,\n\t\t\t    tb_vendor[QCA_WLAN_VENDOR_ATTR_BTM_CANDIDATE_INFO],\n\t\t\t
      \   rem)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/drivers/driver_nl80211.c:14257,1
    - Dst: os_calloc
      Src: /src/hostap/src/drivers/driver_nl80211.c:14261,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:14264,1
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:14276,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:14277,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:14278,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:14282,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:14286,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:14290,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:14294,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:14299,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:14300,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:14301,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:14303,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:14307,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:14310,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:14311,1
    - Dst: send_and_recv_resp
      Src: /src/hostap/src/drivers/driver_nl80211.c:14313,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:14318,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:14320,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:14326,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:14327,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:14328,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 53
    argCount: 2
    argNames:
    - priv
    - params
    argTypes:
    - void*
    - struct wpa_bss_trans_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14330
      start: 14242
    functionDepth: 5
    functionLinenumber: 14242
    functionLinenumberEnd: 14330
    functionName: qca_get_bss_transition_status
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nla_nest_end
    - nl80211_bss_msg
    - wpa_printf
    - os_calloc
    - strerror
    - send_and_recv_resp
    - MAC2STR
    - os_zalloc
    - nla_put_u8
    - nlmsg_free
    - os_free
    - nla_nest_start
    - nla_put_u32
    - nla_put
    linkageType: ''
    returnType: struct wpa_bss_candidate_info
    signature: 'struct wpa_bss_candidate_info *

      qca_get_bss_transition_status(void *priv, struct wpa_bss_trans_info *params)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:14350,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:14351,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:14352,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:14356,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:14360,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:14362,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:14366,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:14368,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:14371,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:14373,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:14378,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 2
    argNames:
    - priv
    - ignore_disallow
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14380
      start: 14339
    functionDepth: 5
    functionLinenumber: 14339
    functionLinenumberEnd: 14380
    functionName: nl80211_ignore_assoc_disallow
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_bss_msg
    - wpa_printf
    - strerror
    - send_and_recv_cmd
    - nla_put_u8
    - nlmsg_free
    - nla_nest_end
    - nla_nest_start
    - nla_put_u32
    linkageType: ''
    returnType: int
    signature: int nl80211_ignore_assoc_disallow(void *priv, int ignore_disallow)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/src/drivers/driver_nl80211.c:14395,1
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:14398,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:14400,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:14401,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:14405,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:14409,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:14416,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:14418,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:14420,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:14425,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:14431,1
    - Dst: wpa_akm_to_suite
      Src: /src/hostap/src/drivers/driver_nl80211.c:14432,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:14433,1
    - Dst: wpa_cipher_to_cipher_suite
      Src: /src/hostap/src/drivers/driver_nl80211.c:14434,1
    - Dst: nla_put_u16
      Src: /src/hostap/src/drivers/driver_nl80211.c:14440,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:14443,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:14448,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:14452,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:14453,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:14456,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:14459,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:14460,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:14462,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:14465,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 40
    argCount: 2
    argNames:
    - priv
    - params
    argTypes:
    - void*
    - struct pasn_auth*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14467
      start: 14387
    functionDepth: 5
    functionLinenumber: 14387
    functionLinenumberEnd: 14467
    functionName: nl80211_send_pasn_resp
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_bss_msg
    - wpa_printf
    - wpa_akm_to_suite
    - send_and_recv_cmd
    - nla_put_u16
    - MAC2STR
    - nla_put_flag
    - nlmsg_free
    - wpa_dbg
    - nla_nest_end
    - nla_nest_start
    - nla_put_u32
    - nla_put
    - wpa_cipher_to_cipher_suite
    linkageType: ''
    returnType: int
    signature: int nl80211_send_pasn_resp(void *priv, struct pasn_auth *params)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:14477,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - len
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14479
      start: 14470
    functionDepth: 0
    functionLinenumber: 14470
    functionLinenumberEnd: 14479
    functionName: wpa_ltf_keyseed_len_to_sha_type
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: u32
    signature: u32 wpa_ltf_keyseed_len_to_sha_type(size_t len)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: wpa_dbg
      Src: /src/hostap/src/drivers/driver_nl80211.c:14500,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:14502,1
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:14504,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:14506,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:14507,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:14511,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:14515,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:14517,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:14519,1
    - Dst: wpa_cipher_to_cipher_suite
      Src: /src/hostap/src/drivers/driver_nl80211.c:14524,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:14526,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:14533,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/drivers/driver_nl80211.c:14536,1
    - Dst: wpa_ltf_keyseed_len_to_sha_type
      Src: /src/hostap/src/drivers/driver_nl80211.c:14541,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:14545,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:14549,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/drivers/driver_nl80211.c:14553,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:14556,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:14558,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:14560,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:14562,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:14565,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 44
    argCount: 2
    argNames:
    - priv
    - params
    argTypes:
    - void*
    - struct secure_ranging_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14567
      start: 14482
    functionDepth: 5
    functionLinenumber: 14482
    functionLinenumberEnd: 14567
    functionName: nl80211_set_secure_ranging_ctx
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nla_nest_end
    - nl80211_bss_msg
    - wpa_hexdump_key
    - wpa_printf
    - strerror
    - send_and_recv_cmd
    - MAC2STR
    - nlmsg_free
    - wpa_dbg
    - wpa_ltf_keyseed_len_to_sha_type
    - nla_nest_start
    - nla_put_u32
    - nla_put
    - wpa_cipher_to_cipher_suite
    linkageType: ''
    returnType: int
    signature: "int nl80211_set_secure_ranging_ctx(void *priv,\n\t\t\t\t\t  struct
      secure_ranging_params *params)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:14581,1
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:14583,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:14585,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:14586,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:14590,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:14592,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:14596,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:14598,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:14600,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:14605,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14607
      start: 14573
    functionDepth: 5
    functionLinenumber: 14573
    functionLinenumberEnd: 14607
    functionName: nl80211_nan_flush
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_bss_msg
    - wpa_printf
    - send_and_recv_cmd
    - nla_put_u8
    - nlmsg_free
    - nla_nest_end
    - nla_nest_start
    - nla_put_u32
    linkageType: ''
    returnType: int
    signature: int nl80211_nan_flush(void *priv)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:14628,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/drivers/driver_nl80211.c:14631,1
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:14633,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:14635,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:14636,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:14640,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:14644,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:14646,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:14647,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:14648,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:14650,1
    - Dst: nla_put_u16
      Src: /src/hostap/src/drivers/driver_nl80211.c:14652,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:14653,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/drivers/driver_nl80211.c:14654,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/drivers/driver_nl80211.c:14654,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:14655,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/drivers/driver_nl80211.c:14656,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/drivers/driver_nl80211.c:14656,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/drivers/driver_nl80211.c:14658,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:14659,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:14663,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:14666,1
    - Dst: add_freq_list
      Src: /src/hostap/src/drivers/driver_nl80211.c:14668,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:14671,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:14673,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:14674,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:14676,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:14681,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 31
    argCount: 10
    argNames:
    - priv
    - src
    - publish_id
    - service_name
    - service_id
    - srv_proto_type
    - ssi
    - elems
    - params
    - network_id
    argTypes:
    - void*
    - u8*
    - int
    - char*
    - u8*
    - enum nan_service_protocol_type
    - struct wpabuf*
    - struct wpabuf*
    - struct nan_publish_params*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14683
      start: 14614
    functionDepth: 5
    functionLinenumber: 14614
    functionLinenumberEnd: 14683
    functionName: nl80211_nan_publish
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_bss_msg
    - wpa_printf
    - add_freq_list
    - wpabuf_len
    - ether_addr_equal
    - send_and_recv_cmd
    - nla_put_u16
    - wpabuf_head
    - nla_put_u8
    - nlmsg_free
    - nla_nest_end
    - nla_nest_start
    - nla_put_u32
    - nla_put
    - wpa_hexdump_buf
    linkageType: ''
    returnType: int
    signature: "int nl80211_nan_publish(void *priv, const u8 *src, int publish_id,\n\t\t\t
      \      const char *service_name, const u8 *service_id,\n\t\t\t       enum nan_service_protocol_type
      srv_proto_type,\n\t\t\t       const struct wpabuf *ssi,\n\t\t\t       const
      struct wpabuf *elems,\n\t\t\t       struct nan_publish_params *params,\n\t\t\t
      \      const u8 *network_id)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:14694,1
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:14696,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:14698,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:14699,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:14703,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:14707,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:14709,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:14713,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:14715,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:14717,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:14722,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 2
    argNames:
    - priv
    - publish_id
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14724
      start: 14686
    functionDepth: 5
    functionLinenumber: 14686
    functionLinenumberEnd: 14724
    functionName: nl80211_nan_cancel_publish
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_bss_msg
    - wpa_printf
    - send_and_recv_cmd
    - nla_put_u8
    - nlmsg_free
    - nla_nest_end
    - nla_nest_start
    - nla_put_u32
    linkageType: ''
    returnType: int
    signature: int nl80211_nan_cancel_publish(void *priv, int publish_id)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:14736,1
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:14739,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:14741,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:14742,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:14746,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:14750,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:14752,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:14754,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/drivers/driver_nl80211.c:14755,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/drivers/driver_nl80211.c:14755,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:14758,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:14759,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:14761,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:14766,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 3
    argNames:
    - priv
    - publish_id
    - ssi
    argTypes:
    - void*
    - int
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14768
      start: 14727
    functionDepth: 5
    functionLinenumber: 14727
    functionLinenumberEnd: 14768
    functionName: nl80211_nan_update_publish
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_bss_msg
    - wpa_printf
    - wpabuf_len
    - send_and_recv_cmd
    - wpabuf_head
    - nla_put_u8
    - nlmsg_free
    - nla_nest_end
    - nla_nest_start
    - nla_put_u32
    - nla_put
    linkageType: ''
    returnType: int
    signature: "int nl80211_nan_update_publish(void *priv, int publish_id,\n\t\t\t\t
      \     const struct wpabuf *ssi)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:14785,1
    - Dst: wpa_hexdump_buf
      Src: /src/hostap/src/drivers/driver_nl80211.c:14788,1
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:14790,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:14792,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:14793,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:14797,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:14801,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:14803,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:14804,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:14806,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:14808,1
    - Dst: nla_put_u16
      Src: /src/hostap/src/drivers/driver_nl80211.c:14810,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:14811,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/drivers/driver_nl80211.c:14812,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/drivers/driver_nl80211.c:14812,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:14813,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/drivers/driver_nl80211.c:14814,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/drivers/driver_nl80211.c:14814,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/drivers/driver_nl80211.c:14816,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:14817,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:14821,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:14823,1
    - Dst: add_freq_list
      Src: /src/hostap/src/drivers/driver_nl80211.c:14825,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:14828,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:14830,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:14831,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:14833,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:14838,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 28
    argCount: 10
    argNames:
    - priv
    - src
    - subscribe_id
    - service_name
    - service_id
    - srv_proto_type
    - ssi
    - elems
    - params
    - network_id
    argTypes:
    - void*
    - u8*
    - int
    - char*
    - u8*
    - enum nan_service_protocol_type
    - struct wpabuf*
    - struct wpabuf*
    - struct nan_subscribe_params*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14840
      start: 14771
    functionDepth: 5
    functionLinenumber: 14771
    functionLinenumberEnd: 14840
    functionName: nl80211_nan_subscribe
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_bss_msg
    - wpa_printf
    - add_freq_list
    - wpabuf_len
    - ether_addr_equal
    - send_and_recv_cmd
    - nla_put_u16
    - wpabuf_head
    - nla_put_u8
    - nlmsg_free
    - nla_nest_end
    - nla_nest_start
    - nla_put_u32
    - nla_put
    - wpa_hexdump_buf
    linkageType: ''
    returnType: int
    signature: "int nl80211_nan_subscribe(void *priv, const u8 *src, int subscribe_id,\n\t\t\t\t
      const char *service_name, const u8 *service_id,\n\t\t\t\t enum nan_service_protocol_type
      srv_proto_type,\n\t\t\t\t const struct wpabuf *ssi,\n\t\t\t\t const struct wpabuf
      *elems,\n\t\t\t\t struct nan_subscribe_params *params,\n\t\t\t\t const u8 *network_id)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:14851,1
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:14853,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:14855,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:14856,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:14860,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:14862,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:14864,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:14868,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:14870,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:14872,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:14877,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - priv
    - subscribe_id
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14879
      start: 14843
    functionDepth: 5
    functionLinenumber: 14843
    functionLinenumberEnd: 14879
    functionName: nl80211_nan_cancel_subscribe
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_bss_msg
    - wpa_printf
    - send_and_recv_cmd
    - nla_put_u8
    - nlmsg_free
    - nla_nest_end
    - nla_nest_start
    - nla_put_u32
    linkageType: ''
    returnType: int
    signature: int nl80211_nan_cancel_subscribe(void *priv, int subscribe_id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: int_array_len
      Src: /src/hostap/src/drivers/driver_nl80211.c:14895,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:14896,1
    - Dst: nl80211_drv_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:14899,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:14901,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:14902,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:14904,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:14905,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:14906,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:14908,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:14910,1
    - Dst: nla_put_u16
      Src: /src/hostap/src/drivers/driver_nl80211.c:14912,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:14914,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:14917,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:14919,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:14924,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:14926,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:14928,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:14933,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 18
    argCount: 2
    argNames:
    - drv
    - params
    argTypes:
    - struct wpa_driver_nl80211_data*
    - struct drv_acs_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14935
      start: 14887
    functionDepth: 5
    functionLinenumber: 14887
    functionLinenumberEnd: 14935
    functionName: wpa_driver_do_broadcom_acs
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - strerror
    - nl80211_drv_msg
    - send_and_recv_cmd
    - nla_put_u16
    - int_array_len
    - nla_put_u8
    - nlmsg_free
    - nla_nest_end
    - nla_nest_start
    - nla_put_u32
    - nla_put
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_do_broadcom_acs(struct wpa_driver_nl80211_data *drv,\n\t\t\t\t
      \     struct drv_acs_params *params)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_qca_do_acs
      Src: /src/hostap/src/drivers/driver_nl80211.c:14948,1
    - Dst: wpa_driver_do_broadcom_acs
      Src: /src/hostap/src/drivers/driver_nl80211.c:14953,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - priv
    - params
    argTypes:
    - void*
    - struct drv_acs_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14957
      start: 14939
    functionDepth: 6
    functionLinenumber: 14939
    functionLinenumberEnd: 14957
    functionName: nl80211_do_acs
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_driver_do_broadcom_acs
    - nl80211_qca_do_acs
    linkageType: ''
    returnType: int
    signature: int nl80211_do_acs(void *priv, struct drv_acs_params *params)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL_TAG
      Src: /src/hostap/src/drivers/driver_nl80211.c:14966,1
    - Dst: os_zalloc
      Src: /src/hostap/src/drivers/driver_nl80211.c:14970,1
    - Dst: os_calloc
      Src: /src/hostap/src/drivers/driver_nl80211.c:14974,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:14977,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:14985,1
    - Dst: os_snprintf
      Src: /src/hostap/src/drivers/driver_nl80211.c:14988,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:14989,1
    - Dst: TEST_FAIL_TAG
      Src: /src/hostap/src/drivers/driver_nl80211.c:14991,1
    - Dst: qca_get_bss_transition_status
      Src: /src/hostap/src/drivers/driver_nl80211.c:15006,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - priv
    - params
    argTypes:
    - void*
    - struct wpa_bss_trans_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15010
      start: 14961
    functionDepth: 6
    functionLinenumber: 14961
    functionLinenumberEnd: 15010
    functionName: nl80211_get_bss_transition_status
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - os_calloc
    - os_snprintf
    - MAC2STR
    - os_zalloc
    - qca_get_bss_transition_status
    - TEST_FAIL_TAG
    - os_free
    linkageType: ''
    returnType: struct wpa_bss_candidate_info
    signature: 'struct wpa_bss_candidate_info *

      nl80211_get_bss_transition_status(void *priv, struct wpa_bss_trans_info *params)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/hostap/src/drivers/driver_nl80211.c:15020,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:15034,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:15035,1
    - Dst: os_snprintf
      Src: /src/hostap/src/drivers/driver_nl80211.c:15039,1
    - Dst: write
      Src: /src/hostap/src/drivers/driver_nl80211.c:15040,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:15043,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:15044,1
    - Dst: close
      Src: /src/hostap/src/drivers/driver_nl80211.c:15046,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - name
    - val
    argTypes:
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15049
      start: 15014
    functionDepth: 0
    functionLinenumber: 15014
    functionLinenumberEnd: 15049
    functionName: nl80211_write_to_file
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - open
    - strerror
    - os_snprintf
    - write
    - close
    linkageType: ''
    returnType: int
    signature: int nl80211_write_to_file(const char *name, unsigned int val)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_is_netdev_iftype
      Src: /src/hostap/src/drivers/driver_nl80211.c:15060,1
    - Dst: nl80211_get_ifmode
      Src: /src/hostap/src/drivers/driver_nl80211.c:15060,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:15063,1
    - Dst: os_snprintf
      Src: /src/hostap/src/drivers/driver_nl80211.c:15067,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/drivers/driver_nl80211.c:15070,1
    - Dst: nl80211_write_to_file
      Src: /src/hostap/src/drivers/driver_nl80211.c:15073,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:15077,1
    - Dst: os_snprintf
      Src: /src/hostap/src/drivers/driver_nl80211.c:15082,1
    - Dst: nl80211_write_to_file
      Src: /src/hostap/src/drivers/driver_nl80211.c:15085,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:15090,1
    - Dst: os_snprintf
      Src: /src/hostap/src/drivers/driver_nl80211.c:15096,1
    - Dst: nl80211_write_to_file
      Src: /src/hostap/src/drivers/driver_nl80211.c:15099,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:15103,1
    - Dst: os_snprintf
      Src: /src/hostap/src/drivers/driver_nl80211.c:15109,1
    - Dst: nl80211_write_to_file
      Src: /src/hostap/src/drivers/driver_nl80211.c:15112,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:15116,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 2
    argNames:
    - priv
    - filter_flags
    argTypes:
    - void*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15122
      start: 15052
    functionDepth: 4
    functionLinenumber: 15052
    functionLinenumberEnd: 15122
    functionName: nl80211_configure_data_frame_filters
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_get_ifmode
    - wpa_printf
    - os_snprintf
    - nl80211_is_netdev_iftype
    - nl80211_write_to_file
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: int nl80211_configure_data_frame_filters(void *priv, u32 filter_flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_driver_nl80211_if_type
      Src: /src/hostap/src/drivers/driver_nl80211.c:15137,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 5
    argNames:
    - priv
    - type
    - ext_capa
    - ext_capa_mask
    - ext_capa_len
    argTypes:
    - void*
    - enum wpa_driver_if_type
    - u8**
    - u8**
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15155
      start: 15125
    functionDepth: 1
    functionLinenumber: 15125
    functionLinenumberEnd: 15155
    functionName: nl80211_get_ext_capab
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_driver_nl80211_if_type
    linkageType: ''
    returnType: int
    signature: "int nl80211_get_ext_capab(void *priv, enum wpa_driver_if_type type,\n\t\t\t\t
      const u8 **ext_capa, const u8 **ext_capa_mask,\n\t\t\t\t unsigned int *ext_capa_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_driver_nl80211_if_type
      Src: /src/hostap/src/drivers/driver_nl80211.c:15169,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - priv
    - type
    - eml_capa
    - mld_capa_and_ops
    argTypes:
    - void*
    - enum wpa_driver_if_type
    - u16*
    - u16*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15186
      start: 15158
    functionDepth: 1
    functionLinenumber: 15158
    functionLinenumberEnd: 15186
    functionName: nl80211_get_mld_capab
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_driver_nl80211_if_type
    linkageType: ''
    returnType: int
    signature: "int nl80211_get_mld_capab(void *priv, enum wpa_driver_if_type type,\n\t\t\t\t
      u16 *eml_capa, u16 *mld_capa_and_ops)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:15207,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:15211,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:15215,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/drivers/driver_nl80211.c:15218,1
    - Dst: get_nl_auth_type
      Src: /src/hostap/src/drivers/driver_nl80211.c:15223,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:15225,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:15227,1
    - Dst: nl80211_put_fils_connect_params
      Src: /src/hostap/src/drivers/driver_nl80211.c:15231,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:15234,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/drivers/driver_nl80211.c:15237,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:15239,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:15242,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 32
    argCount: 3
    argNames:
    - priv
    - params
    - mask
    argTypes:
    - void*
    - struct wpa_driver_associate_params*
    - enum wpa_drv_update_connect_params_mask
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15244
      start: 15189
    functionDepth: 5
    functionLinenumber: 15189
    functionLinenumberEnd: 15244
    functionName: nl80211_update_connection_params
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_bss_msg
    - wpa_printf
    - wpa_hexdump
    - strerror
    - send_and_recv_cmd
    - nl80211_put_fils_connect_params
    - nlmsg_free
    - wpa_dbg
    - nla_put_u32
    - nla_put
    - get_nl_auth_type
    linkageType: ''
    returnType: int
    signature: "int nl80211_update_connection_params(\n\tvoid *priv, struct wpa_driver_associate_params
      *params,\n\tenum wpa_drv_update_connect_params_mask mask)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: is_ap_interface
      Src: /src/hostap/src/drivers/driver_nl80211.c:15260,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/drivers/driver_nl80211.c:15268,1
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:15272,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:15274,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:15275,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:15279,1
    - Dst: nla_put_u16
      Src: /src/hostap/src/drivers/driver_nl80211.c:15281,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:15285,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:15288,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:15291,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:15294,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:15298,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/drivers/driver_nl80211.c:15303,1
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:15306,1
    - Dst: nla_put_u16
      Src: /src/hostap/src/drivers/driver_nl80211.c:15308,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:15310,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:15312,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:15314,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:15321,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:15324,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:15326,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:15330,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 36
    argCount: 2
    argNames:
    - priv
    - params
    argTypes:
    - void*
    - struct external_auth*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15332
      start: 15247
    functionDepth: 5
    functionLinenumber: 15247
    functionLinenumberEnd: 15332
    functionName: nl80211_send_external_auth_status
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_bss_msg
    - wpa_printf
    - strerror
    - send_and_recv_cmd
    - is_ap_interface
    - nla_put_u16
    - nlmsg_free
    - wpa_dbg
    - nla_nest_end
    - nla_nest_start
    - nla_put_u32
    - nla_put
    linkageType: ''
    returnType: int
    signature: "int nl80211_send_external_auth_status(void *priv,\n\t\t\t\t\t     struct
      external_auth *params)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:15343,1
    - Dst: nl80211_cmd_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:15346,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:15347,1
    - Dst: linux_br_del_if
      Src: /src/hostap/src/drivers/driver_nl80211.c:15351,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:15353,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:15361,1
    - Dst: nl80211_get_4addr
      Src: /src/hostap/src/drivers/driver_nl80211.c:15363,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:15364,1
    - Dst: i802_check_bridge
      Src: /src/hostap/src/drivers/driver_nl80211.c:15370,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:15376,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:15377,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 3
    argNames:
    - priv
    - bridge_ifname
    - val
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15380
      start: 15335
    functionDepth: 4
    functionLinenumber: 15335
    functionLinenumberEnd: 15380
    functionName: nl80211_set_4addr_mode
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - nl80211_get_4addr
    - send_and_recv_cmd
    - linux_br_del_if
    - nla_put_u8
    - nlmsg_free
    - nl80211_cmd_msg
    - i802_check_bridge
    linkageType: ''
    returnType: int
    signature: "int nl80211_set_4addr_mode(void *priv, const char *bridge_ifname,\n\t\t\t\t
      \ int val)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:15394,1
    - Dst: nl80211_register_frame
      Src: /src/hostap/src/drivers/driver_nl80211.c:15398,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - priv
    - enable
    argTypes:
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15401
      start: 15384
    functionDepth: 4
    functionLinenumber: 15384
    functionLinenumberEnd: 15401
    functionName: nl80211_dpp_listen
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - nl80211_register_frame
    linkageType: ''
    returnType: int
    signature: int nl80211_dpp_listen(void *priv, bool enable)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:15413,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:15414,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:15417,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:15424,1
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211.c:15429,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:15430,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:15438,1
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:15443,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:15445,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:15446,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:15447,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:15451,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:15453,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:15454,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:15458,1
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211.c:15464,1
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211.c:15465,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:15468,1
    - Dst: rtnl_neigh_add_fdb_entry
      Src: /src/hostap/src/drivers/driver_nl80211.c:15473,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 4
    argNames:
    - priv
    - link_id
    - addr
    - bss_ctx
    argTypes:
    - void*
    - u8
    - u8*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15476
      start: 15405
    functionDepth: 5
    functionLinenumber: 15405
    functionLinenumberEnd: 15476
    functionName: nl80211_link_add
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_bss_msg
    - wpa_printf
    - os_memcpy
    - rtnl_neigh_add_fdb_entry
    - strerror
    - send_and_recv_cmd
    - MAC2STR
    - BIT
    - nla_put_u8
    - nlmsg_free
    - nla_put
    linkageType: ''
    returnType: int
    signature: "int nl80211_link_add(void *priv, u8 link_id, const u8 *addr,\n\t\t\t
      \   void *bss_ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211.c:15489,1
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:15492,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:15493,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:15494,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:15495,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:15499,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:15500,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:15503,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:15503,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - priv
    - link_id
    - addr
    argTypes:
    - void*
    - u8
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15506
      start: 15481
    functionDepth: 5
    functionLinenumber: 15481
    functionLinenumberEnd: 15506
    functionName: wpa_driver_nl80211_link_sta_remove
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_bss_msg
    - wpa_printf
    - strerror
    - send_and_recv_cmd
    - MAC2STR
    - BIT
    - nlmsg_free
    - nla_put_u8
    - nla_put
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_nl80211_link_sta_remove(void *priv, u8 link_id,\n\t\t\t\t\t
      \     const u8 *addr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nlmsg_data
      Src: /src/hostap/src/drivers/driver_nl80211.c:15512,1
    - Dst: nlmsg_hdr
      Src: /src/hostap/src/drivers/driver_nl80211.c:15512,1
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211.c:15515,1
    - Dst: genlmsg_attrdata
      Src: /src/hostap/src/drivers/driver_nl80211.c:15515,1
    - Dst: genlmsg_attrlen
      Src: /src/hostap/src/drivers/driver_nl80211.c:15516,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:15521,1
    - Dst: nla_get_string
      Src: /src/hostap/src/drivers/driver_nl80211.c:15521,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - msg
    - arg
    argTypes:
    - struct nl_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15525
      start: 15509
    functionDepth: 0
    functionLinenumber: 15509
    functionLinenumberEnd: 15525
    functionName: wpa_driver_get_wiphy_name_handler
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nlmsg_hdr
    - nla_parse
    - os_strlcpy
    - nlmsg_data
    - genlmsg_attrlen
    - nla_get_string
    - genlmsg_attrdata
    linkageType: ''
    returnType: int
    signature: int wpa_driver_get_wiphy_name_handler(struct nl_msg *msg, void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_nl80211_protocol_features
      Src: /src/hostap/src/drivers/driver_nl80211.c:15532,1
    - Dst: nl80211_cmd_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:15537,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:15539,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:15540,1
    - Dst: send_and_recv_resp
      Src: /src/hostap/src/drivers/driver_nl80211.c:15544,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - drv
    argTypes:
    - struct wpa_driver_nl80211_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15549
      start: 15528
    functionDepth: 3
    functionLinenumber: 15528
    functionLinenumberEnd: 15549
    functionName: wpa_driver_get_phyname
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - send_and_recv_resp
    - get_nl80211_protocol_features
    - nla_put_flag
    - nlmsg_free
    - nl80211_cmd_msg
    linkageType: ''
    returnType: int
    signature: int wpa_driver_get_phyname(struct wpa_driver_nl80211_data *drv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/drivers/driver_nl80211.c:15558,1
    - Dst: os_strcmp
      Src: /src/hostap/src/drivers/driver_nl80211.c:15560,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - drv
    - match_drv
    argTypes:
    - struct wpa_driver_nl80211_data*
    - struct wpa_driver_nl80211_data**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15568
      start: 15552
    functionDepth: 0
    functionLinenumber: 15552
    functionLinenumberEnd: 15568
    functionName: wpa_driver_nl80211_name_match
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    - os_strcmp
    linkageType: ''
    returnType: bool
    signature: "bool wpa_driver_nl80211_name_match(struct wpa_driver_nl80211_data
      *drv,\n\t\t\t      struct wpa_driver_nl80211_data **match_drv)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/drivers/driver_nl80211.c:15583,1
    - Dst: os_zalloc
      Src: /src/hostap/src/drivers/driver_nl80211.c:15589,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:15591,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:15599,1
    - Dst: nl80211_init_bss
      Src: /src/hostap/src/drivers/driver_nl80211.c:15601,1
    - Dst: if_nametoindex
      Src: /src/hostap/src/drivers/driver_nl80211.c:15604,1
    - Dst: wpa_driver_get_phyname
      Src: /src/hostap/src/drivers/driver_nl80211.c:15607,1
    - Dst: wpa_driver_nl80211_name_match
      Src: /src/hostap/src/drivers/driver_nl80211.c:15608,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:15612,1
    - Dst: nl80211_destroy_bss
      Src: /src/hostap/src/drivers/driver_nl80211.c:15619,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:15620,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:15621,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 3
    argNames:
    - ctx
    - params
    - hapd
    argTypes:
    - void*
    - struct wpa_init_params*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15623
      start: 15571
    functionDepth: 4
    functionLinenumber: 15571
    functionLinenumberEnd: 15623
    functionName: wpa_driver_nl80211_can_share_drv
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_strlcpy
    - wpa_driver_get_phyname
    - nl80211_destroy_bss
    - os_zalloc
    - wpa_driver_nl80211_name_match
    - nl80211_init_bss
    - os_free
    - if_nametoindex
    linkageType: ''
    returnType: bool
    signature: "bool wpa_driver_nl80211_can_share_drv(void *ctx,\n\t\t\t\t\t     struct
      wpa_init_params *params,\n\t\t\t\t\t     void **hapd)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:15640,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:15643,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:15647,1
    - Dst: nl80211_bss_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:15650,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:15654,1
    - Dst: for_each_link
      Src: /src/hostap/src/drivers/driver_nl80211.c:15658,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:15659,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:15663,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:15664,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:15666,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:15670,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:15673,1
    - Dst: nla_put_u16
      Src: /src/hostap/src/drivers/driver_nl80211.c:15675,1
    - Dst: send_and_recv
      Src: /src/hostap/src/drivers/driver_nl80211.c:15679,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:15682,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:15684,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:15690,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:15691,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 41
    argCount: 2
    argNames:
    - priv
    - info
    argTypes:
    - void*
    - struct wpa_mlo_reconfig_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15694
      start: 15626
    functionDepth: 5
    functionLinenumber: 15626
    functionLinenumberEnd: 15694
    functionName: nl80211_send_link_reconfig_request
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_bss_msg
    - wpa_printf
    - strerror
    - send_and_recv
    - for_each_link
    - nla_put_u16
    - nla_put_u8
    - nlmsg_free
    - nla_nest_end
    - nla_nest_start
    - nla_put_u32
    - nla_put
    linkageType: ''
    returnType: int
    signature: "int nl80211_send_link_reconfig_request(void *priv,\n\t\t\t\t   struct
      wpa_mlo_reconfig_info *info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_register_frame
      Src: /src/hostap/src/drivers/driver_nl80211.c:15711,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - priv
    - type
    - match
    - match_len
    - multicast
    argTypes:
    - void*
    - u16
    - u8*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15713
      start: 15701
    functionDepth: 4
    functionLinenumber: 15701
    functionLinenumberEnd: 15713
    functionName: testing_nl80211_register_frame
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_register_frame
    linkageType: ''
    returnType: int
    signature: "int testing_nl80211_register_frame(void *priv, u16 type,\n\t\t\t\t\t
      \ const u8 *match, size_t match_len,\n\t\t\t\t\t  bool multicast)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_driver_nl80211_mlme
      Src: /src/hostap/src/drivers/driver_nl80211.c:15735,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - priv
    - disabled
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15739
      start: 15716
    functionDepth: 6
    functionLinenumber: 15716
    functionLinenumberEnd: 15739
    functionName: testing_nl80211_radio_disable
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_driver_nl80211_mlme
    linkageType: ''
    returnType: int
    signature: int testing_nl80211_radio_disable(void *priv, int disabled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_get_multi_hw_info
      Src: /src/hostap/src/drivers/driver_nl80211.c:15749,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - priv
    - num_multi_hws
    argTypes:
    - void*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15750
      start: 15744
    functionDepth: 1
    functionLinenumber: 15744
    functionLinenumberEnd: 15750
    functionName: wpa_driver_get_multi_hw_info
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_get_multi_hw_info
    linkageType: ''
    returnType: struct hostapd_multi_hw_info
    signature: 'struct hostapd_multi_hw_info *

      wpa_driver_get_multi_hw_info(void *priv, unsigned int *num_multi_hws)'
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211.c:15767,1
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211.c:15772,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:15774,1
    - Dst: nl80211_cmd_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:15780,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:15781,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:15783,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:15784,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:15789,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:15796,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:15801,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/drivers/driver_nl80211.c:15805,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:15806,1
    - Dst: nla_put_u16
      Src: /src/hostap/src/drivers/driver_nl80211.c:15811,1
    - Dst: nla_put_u16
      Src: /src/hostap/src/drivers/driver_nl80211.c:15816,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:15821,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:15825,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:15829,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:15833,1
    - Dst: nla_put_s8
      Src: /src/hostap/src/drivers/driver_nl80211.c:15835,1
    - Dst: nla_put_s8
      Src: /src/hostap/src/drivers/driver_nl80211.c:15837,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:15839,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:15842,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:15845,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:15848,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:15852,1
    - Dst: nla_put_u16
      Src: /src/hostap/src/drivers/driver_nl80211.c:15854,1
    - Dst: nla_put_s8
      Src: /src/hostap/src/drivers/driver_nl80211.c:15856,1
    - Dst: nla_put_s8
      Src: /src/hostap/src/drivers/driver_nl80211.c:15858,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:15860,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:15863,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:15866,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:15869,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:15872,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:15878,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:15882,1
    - Dst: send_and_recv_resp
      Src: /src/hostap/src/drivers/driver_nl80211.c:15884,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:15886,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 79
    argCount: 4
    argNames:
    - bss
    - drv
    - params
    - cmd
    argTypes:
    - struct i802_bss*
    - struct wpa_driver_nl80211_data*
    - struct nan_cluster_config*
    - enum nl80211_commands
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15888
      start: 15755
    functionDepth: 3
    functionLinenumber: 15755
    functionLinenumberEnd: 15888
    functionName: nl80211_nan_config
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - nla_put_s8
    - nla_put
    - send_and_recv_resp
    - is_zero_ether_addr
    - nla_put_u16
    - BIT
    - nla_put_flag
    - nla_put_u8
    - nlmsg_free
    - nla_nest_end
    - nla_nest_start
    - nla_put_u32
    - nl80211_cmd_msg
    linkageType: ''
    returnType: int
    signature: "int nl80211_nan_config(struct i802_bss *bss,\n\t\t\t      struct wpa_driver_nl80211_data
      *drv,\n\t\t\t      const struct nan_cluster_config *params,\n\t\t\t      enum
      nl80211_commands cmd)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:15904,1
    - Dst: nl80211_nan_config
      Src: /src/hostap/src/drivers/driver_nl80211.c:15905,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - priv
    - params
    argTypes:
    - void*
    - struct nan_cluster_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15910
      start: 15891
    functionDepth: 4
    functionLinenumber: 15891
    functionLinenumberEnd: 15910
    functionName: wpa_driver_nl80211_nan_start
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_nan_config
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_nl80211_nan_start(void *priv,\n\t\t\t\t\tconst struct
      nan_cluster_config *params)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:15926,1
    - Dst: nl80211_nan_config
      Src: /src/hostap/src/drivers/driver_nl80211.c:15927,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - priv
    - params
    argTypes:
    - void*
    - struct nan_cluster_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15929
      start: 15913
    functionDepth: 4
    functionLinenumber: 15913
    functionLinenumberEnd: 15929
    functionName: wpa_driver_nl80211_nan_change_config
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_nan_config
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_nl80211_nan_change_config(void *priv,\n\t\t\t\t     const
      struct nan_cluster_config *params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_nan_stop
      Src: /src/hostap/src/drivers/driver_nl80211.c:15936,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15937
      start: 15932
    functionDepth: 4
    functionLinenumber: 15932
    functionLinenumberEnd: 15937
    functionName: wpa_driver_nl80211_nan_stop
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nl80211_nan_stop
    linkageType: ''
    returnType: void
    signature: void wpa_driver_nl80211_nan_stop(void *priv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:15948,1
    - Dst: nl80211_bw_to_nl
      Src: /src/hostap/src/drivers/driver_nl80211.c:15952,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:15955,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:15956,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:15957,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:15958,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:15959,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:15961,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:15967,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:15968,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:15973,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 3
    argNames:
    - drv
    - chan
    - msg
    argTypes:
    - struct wpa_driver_nl80211_data*
    - struct nan_schedule_channel*
    - struct nl_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15975
      start: 15940
    functionDepth: 1
    functionLinenumber: 15940
    functionLinenumberEnd: 15975
    functionName: wpa_driver_nl80211_nan_set_channel
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - nla_put_u8
    - nl80211_bw_to_nl
    - nla_nest_end
    - nla_nest_start
    - nla_put_u32
    - nla_put
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_nl80211_nan_set_channel(struct wpa_driver_nl80211_data
      *drv,\n\t\t\t\t   struct nan_schedule_channel *chan,\n\t\t\t\t   struct nl_msg
      *msg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_head
      Src: /src/hostap/src/drivers/driver_nl80211.c:15989,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/drivers/driver_nl80211.c:15990,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:15999,1
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211.c:16009,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 4
    argNames:
    - drv
    - chan_time_bitmap
    - slots
    - chan_idx
    argTypes:
    - struct wpa_driver_nl80211_data*
    - struct wpabuf*
    - u8*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16014
      start: 15978
    functionDepth: 1
    functionLinenumber: 15978
    functionLinenumberEnd: 16014
    functionName: wpa_driver_nl80211_nan_set_slots
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpabuf_len
    - wpa_printf
    - BIT
    - wpabuf_head
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_nl80211_nan_set_slots(struct wpa_driver_nl80211_data
      *drv,\n\t\t\t\t struct wpabuf *chan_time_bitmap,\n\t\t\t\t u8 *slots, u8 chan_idx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211.c:16025,1
    - Dst: wpa_driver_nl80211_nan_set_channel
      Src: /src/hostap/src/drivers/driver_nl80211.c:16030,1
    - Dst: wpa_driver_nl80211_nan_set_slots
      Src: /src/hostap/src/drivers/driver_nl80211.c:16035,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:16041,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - drv
    - sched
    - msg
    argTypes:
    - struct wpa_driver_nl80211_data*
    - struct nan_schedule_config*
    - struct nl_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16042
      start: 16017
    functionDepth: 2
    functionLinenumber: 16017
    functionLinenumberEnd: 16042
    functionName: wpa_driver_nl80211_nan_set_schedule
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_driver_nl80211_nan_set_slots
    - wpa_driver_nl80211_nan_set_channel
    - nla_put
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_nl80211_nan_set_schedule(struct wpa_driver_nl80211_data
      *drv,\n\t\t\t\t    struct nan_schedule_config *sched,\n\t\t\t\t    struct nl_msg
      *msg)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_cmd_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:16060,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:16062,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:16068,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:16069,1
    - Dst: wpa_driver_nl80211_nan_set_schedule
      Src: /src/hostap/src/drivers/driver_nl80211.c:16074,1
    - Dst: nl80211_attr_supported
      Src: /src/hostap/src/drivers/driver_nl80211.c:16079,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:16080,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/drivers/driver_nl80211.c:16081,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/drivers/driver_nl80211.c:16082,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:16085,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:16087,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:16094,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 3
    argNames:
    - priv
    - map_id
    - sched
    argTypes:
    - void*
    - u8
    - struct nan_schedule_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16096
      start: 16045
    functionDepth: 3
    functionLinenumber: 16045
    functionLinenumberEnd: 16096
    functionName: wpa_driver_nl80211_nan_config_schedule
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpabuf_len
    - nla_put
    - send_and_recv_cmd
    - wpa_driver_nl80211_nan_set_schedule
    - wpabuf_head
    - nla_put_flag
    - nlmsg_free
    - nl80211_attr_supported
    - nl80211_cmd_msg
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_nl80211_nan_config_schedule(void *priv, u8 map_id,\n\t\t\t\t
      \      struct nan_schedule_config *sched)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211.c:16121,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211.c:16122,1
    - Dst: os_memcmp
      Src: /src/hostap/src/drivers/driver_nl80211.c:16137,1
    - Dst: nl80211_cmd_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:16153,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:16155,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:16160,1
    - Dst: nla_put_u16
      Src: /src/hostap/src/drivers/driver_nl80211.c:16161,1
    - Dst: nla_put_u16
      Src: /src/hostap/src/drivers/driver_nl80211.c:16162,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:16165,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:16166,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/drivers/driver_nl80211.c:16171,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:16172,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/drivers/driver_nl80211.c:16173,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/drivers/driver_nl80211.c:16173,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:16174,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:16181,1
    - Dst: wpa_driver_nl80211_nan_set_channel
      Src: /src/hostap/src/drivers/driver_nl80211.c:16186,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:16194,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:16199,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:16205,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211.c:16209,1
    - Dst: wpa_driver_nl80211_nan_set_slots
      Src: /src/hostap/src/drivers/driver_nl80211.c:16218,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:16225,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:16229,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:16232,1
    - Dst: send_and_recv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211.c:16234,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:16236,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:16243,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 77
    argCount: 7
    argNames:
    - priv
    - peer
    - cdw
    - sequence_id
    - max_chan_switch_time
    - ulw
    - sched
    argTypes:
    - void*
    - u8*
    - u16
    - u8
    - u16
    - struct wpabuf*
    - struct nan_peer_schedule_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16245
      start: 16099
    functionDepth: 3
    functionLinenumber: 16099
    functionLinenumberEnd: 16245
    functionName: wpa_driver_nl80211_nan_config_peer_schedule
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - nl80211_cmd_msg
    - wpabuf_len
    - wpa_driver_nl80211_nan_set_slots
    - send_and_recv_cmd
    - nla_put_u16
    - wpabuf_head
    - os_memcmp
    - nla_put_u8
    - nlmsg_free
    - nla_nest_end
    - wpa_driver_nl80211_nan_set_channel
    - nla_nest_start
    - nla_put
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_nl80211_nan_config_peer_schedule(\n\tvoid *priv, const
      u8 *peer, u16 cdw, u8 sequence_id,\n\tu16 max_chan_switch_time, const struct
      wpabuf *ulw,\n\tstruct nan_peer_schedule_config *sched)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:16264,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:16266,1
    - Dst: os_zalloc
      Src: /src/hostap/src/drivers/driver_nl80211.c:16270,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:16277,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211.c:16279,1
    - Dst: nl80211_create_iface
      Src: /src/hostap/src/drivers/driver_nl80211.c:16280,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:16283,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:16285,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/drivers/driver_nl80211.c:16291,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:16292,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:16294,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:16295,1
    - Dst: nl80211_set_pr_dev
      Src: /src/hostap/src/drivers/driver_nl80211.c:16298,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:16300,1
    - Dst: nl80211_init_bss
      Src: /src/hostap/src/drivers/driver_nl80211.c:16305,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:16306,1
    - Dst: nl80211_mgmt_subscribe_non_ap
      Src: /src/hostap/src/drivers/driver_nl80211.c:16311,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:16312,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211.c:16318,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:16320,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:16323,1
    - Dst: nl80211_set_pr_dev
      Src: /src/hostap/src/drivers/driver_nl80211.c:16327,1
    - Dst: nl80211_del_non_netdev
      Src: /src/hostap/src/drivers/driver_nl80211.c:16329,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:16330,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 54
    argCount: 3
    argNames:
    - priv
    - addr
    - pd_addr
    argTypes:
    - void*
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16332
      start: 16255
    functionDepth: 7
    functionLinenumber: 16255
    functionLinenumberEnd: 16332
    functionName: nl80211_pd_start
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - nl80211_mgmt_subscribe_non_ap
    - os_strlcpy
    - is_zero_ether_addr
    - nl80211_create_iface
    - os_zalloc
    - MAC2STR
    - nl80211_set_pr_dev
    - nl80211_init_bss
    - nl80211_del_non_netdev
    - os_free
    - os_memset
    linkageType: ''
    returnType: int
    signature: int nl80211_pd_start(void *priv, const u8 *addr, u8 *pd_addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:16346,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:16349,1
    - Dst: nl80211_set_pr_dev
      Src: /src/hostap/src/drivers/driver_nl80211.c:16351,1
    - Dst: nl80211_destroy_bss
      Src: /src/hostap/src/drivers/driver_nl80211.c:16352,1
    - Dst: nl80211_del_non_netdev
      Src: /src/hostap/src/drivers/driver_nl80211.c:16353,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:16354,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16356
      start: 16338
    functionDepth: 4
    functionLinenumber: 16338
    functionLinenumberEnd: 16356
    functionName: nl80211_pd_stop
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - nl80211_destroy_bss
    - MAC2STR
    - nl80211_del_non_netdev
    - nl80211_set_pr_dev
    - os_free
    linkageType: ''
    returnType: void
    signature: void nl80211_pd_stop(void *priv)
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - ranging_type
    - format_bw
    argTypes:
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16385
      start: 16359
    functionDepth: 0
    functionLinenumber: 16359
    functionLinenumberEnd: 16385
    functionName: get_pr_preamble
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 get_pr_preamble(u8 ranging_type, u8 format_bw)
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:16408,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:16415,1
    - Dst: nl_create_handle
      Src: /src/hostap/src/drivers/driver_nl80211.c:16420,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:16422,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/drivers/driver_nl80211.c:16428,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/drivers/driver_nl80211.c:16429,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:16430,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:16432,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:16436,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:16438,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:16463,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:16469,1
    - Dst: nl80211_cmd_msg
      Src: /src/hostap/src/drivers/driver_nl80211.c:16477,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:16483,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:16486,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:16491,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:16496,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:16501,1
    - Dst: nla_put
      Src: /src/hostap/src/drivers/driver_nl80211.c:16506,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:16510,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:16515,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:16519,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:16520,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:16521,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:16525,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:16528,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:16532,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:16537,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_nl80211.c:16542,1
    - Dst: get_pr_preamble
      Src: /src/hostap/src/drivers/driver_nl80211.c:16546,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:16547,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:16553,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:16557,1
    - Dst: nla_put_u16
      Src: /src/hostap/src/drivers/driver_nl80211.c:16558,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:16564,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:16567,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:16570,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:16573,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:16581,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:16584,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:16588,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:16594,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:16597,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211.c:16600,1
    - Dst: nla_put_u8
      Src: /src/hostap/src/drivers/driver_nl80211.c:16602,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:16609,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:16613,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:16618,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:16629,1
    - Dst: nla_put_u64
      Src: /src/hostap/src/drivers/driver_nl80211.c:16638,1
    - Dst: nla_put_u64
      Src: /src/hostap/src/drivers/driver_nl80211.c:16643,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211.c:16651,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:16654,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:16655,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:16656,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:16657,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:16658,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_nl80211.c:16659,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211.c:16662,1
    - Dst: send_and_recv
      Src: /src/hostap/src/drivers/driver_nl80211.c:16664,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:16667,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211.c:16669,1
    - Dst: nl_destroy_handles
      Src: /src/hostap/src/drivers/driver_nl80211.c:16670,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:16672,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211.c:16674,1
    - Dst: nl80211_register_eloop_read
      Src: /src/hostap/src/drivers/driver_nl80211.c:16683,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:16691,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211.c:16693,1
    - Dst: nl_destroy_handles
      Src: /src/hostap/src/drivers/driver_nl80211.c:16694,1
    CyclomaticComplexity: 88
    EdgeCount: 88
    ICount: 163
    argCount: 6
    argNames:
    - priv
    - peer_addr
    - freq
    - channel
    - bw
    - params
    argTypes:
    - void*
    - u8*
    - int
    - u8
    - int
    - struct pr_pasn_ranging_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16696
      start: 16391
    functionDepth: 3
    functionLinenumber: 16391
    functionLinenumberEnd: 16696
    functionName: nl80211_start_peer_measurement
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - nla_put_u8
    - get_pr_preamble
    - nla_nest_start
    - nla_put_u32
    - nla_put
    - wpa_printf
    - ether_addr_equal
    - nla_put_u64
    - nlmsg_free
    - nl80211_cmd_msg
    - is_zero_ether_addr
    - nl_create_handle
    - os_memset
    - strerror
    - nl_destroy_handles
    - send_and_recv
    - nla_put_u16
    - MAC2STR
    - nl80211_register_eloop_read
    - nla_nest_end
    - nla_put_flag
    linkageType: ''
    returnType: int
    signature: "int nl80211_start_peer_measurement(void *priv, const u8 *peer_addr,\n\t\t\t\t\t
      \ int freq, u8 channel, int bw,\n\t\t\t\t\t  struct pr_pasn_ranging_params *params)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211.c:16707,1
    - Dst: nl80211_destroy_eloop_handle
      Src: /src/hostap/src/drivers/driver_nl80211.c:16708,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16709
      start: 16699
    functionDepth: 2
    functionLinenumber: 16699
    functionLinenumberEnd: 16709
    functionName: nl80211_stop_peer_measurement
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - nl80211_destroy_eloop_handle
    linkageType: ''
    returnType: void
    signature: void nl80211_stop_peer_measurement(void *priv)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/drivers/linux_ioctl.c:27,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/linux_ioctl.c:28,1
    - Dst: ioctl
      Src: /src/hostap/src/drivers/linux_ioctl.c:30,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/linux_ioctl.c:32,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/linux_ioctl.c:33,1
    - Dst: ioctl
      Src: /src/hostap/src/drivers/linux_ioctl.c:47,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/linux_ioctl.c:49,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/linux_ioctl.c:51,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - sock
    - ifname
    - dev_up
    argTypes:
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 56
    functionName: linux_set_iface_flags
    functionSourceFile: /src/hostap/src/drivers/linux_ioctl.c
    functionUses: 13
    functionsReached:
    - ioctl
    - wpa_printf
    - strerror
    - os_strlcpy
    - os_memset
    linkageType: ''
    returnType: int
    signature: int linux_set_iface_flags(int sock, const char *ifname, int dev_up)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/drivers/linux_ioctl.c:67,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/linux_ioctl.c:68,1
    - Dst: ioctl
      Src: /src/hostap/src/drivers/linux_ioctl.c:70,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/linux_ioctl.c:72,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/linux_ioctl.c:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - sock
    - ifname
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 78
    functionName: linux_iface_up
    functionSourceFile: /src/hostap/src/drivers/linux_ioctl.c
    functionUses: 3
    functionsReached:
    - ioctl
    - wpa_printf
    - strerror
    - os_strlcpy
    - os_memset
    linkageType: ''
    returnType: int
    signature: int linux_iface_up(int sock, const char *ifname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/drivers/linux_ioctl.c:85,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/linux_ioctl.c:86,1
    - Dst: ioctl
      Src: /src/hostap/src/drivers/linux_ioctl.c:87,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/linux_ioctl.c:88,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/linux_ioctl.c:89,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/linux_ioctl.c:94,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/linux_ioctl.c:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - sock
    - ifname
    - addr
    argTypes:
    - int
    - char*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 101
    functionName: linux_get_ifhwaddr
    functionSourceFile: /src/hostap/src/drivers/linux_ioctl.c
    functionUses: 5
    functionsReached:
    - ioctl
    - wpa_printf
    - os_memcpy
    - strerror
    - os_strlcpy
    - os_memset
    linkageType: ''
    returnType: int
    signature: int linux_get_ifhwaddr(int sock, const char *ifname, u8 *addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/drivers/linux_ioctl.c:108,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/linux_ioctl.c:109,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/linux_ioctl.c:110,1
    - Dst: ioctl
      Src: /src/hostap/src/drivers/linux_ioctl.c:113,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/linux_ioctl.c:114,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/linux_ioctl.c:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - sock
    - ifname
    - addr
    argTypes:
    - int
    - char*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 120
    functionName: linux_set_ifhwaddr
    functionSourceFile: /src/hostap/src/drivers/linux_ioctl.c
    functionUses: 6
    functionsReached:
    - ioctl
    - os_memcpy
    - wpa_printf
    - strerror
    - os_strlcpy
    - os_memset
    linkageType: ''
    returnType: int
    signature: int linux_set_ifhwaddr(int sock, const char *ifname, const u8 *addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/hostap/src/drivers/linux_ioctl.c:125,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/linux_ioctl.c:128,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/linux_ioctl.c:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - sock
    - brname
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 135
    functionName: linux_br_add
    functionSourceFile: /src/hostap/src/drivers/linux_ioctl.c
    functionUses: 2
    functionsReached:
    - ioctl
    - wpa_printf
    - strerror
    linkageType: ''
    returnType: int
    signature: int linux_br_add(int sock, const char *brname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/hostap/src/drivers/linux_ioctl.c:140,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/linux_ioctl.c:141,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/linux_ioctl.c:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - sock
    - brname
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 147
    functionName: linux_br_del
    functionSourceFile: /src/hostap/src/drivers/linux_ioctl.c
    functionUses: 3
    functionsReached:
    - ioctl
    - wpa_printf
    - strerror
    linkageType: ''
    returnType: int
    signature: int linux_br_del(int sock, const char *brname)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: if_nametoindex
      Src: /src/hostap/src/drivers/linux_ioctl.c:155,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/linux_ioctl.c:159,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/linux_ioctl.c:160,1
    - Dst: ioctl
      Src: /src/hostap/src/drivers/linux_ioctl.c:162,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/linux_ioctl.c:166,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/linux_ioctl.c:167,1
    - Dst: linux_br_get
      Src: /src/hostap/src/drivers/linux_ioctl.c:175,1
    - Dst: os_strcmp
      Src: /src/hostap/src/drivers/linux_ioctl.c:176,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - sock
    - brname
    - ifname
    argTypes:
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 181
    functionName: linux_br_add_if
    functionSourceFile: /src/hostap/src/drivers/linux_ioctl.c
    functionUses: 5
    functionsReached:
    - ioctl
    - wpa_printf
    - strerror
    - os_strlcpy
    - os_strcmp
    - linux_br_get
    - if_nametoindex
    - os_memset
    linkageType: ''
    returnType: int
    signature: int linux_br_add_if(int sock, const char *brname, const char *ifname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: if_nametoindex
      Src: /src/hostap/src/drivers/linux_ioctl.c:189,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/linux_ioctl.c:193,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/linux_ioctl.c:194,1
    - Dst: ioctl
      Src: /src/hostap/src/drivers/linux_ioctl.c:196,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/linux_ioctl.c:197,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/linux_ioctl.c:198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - sock
    - brname
    - ifname
    argTypes:
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 203
    functionName: linux_br_del_if
    functionSourceFile: /src/hostap/src/drivers/linux_ioctl.c
    functionUses: 7
    functionsReached:
    - ioctl
    - wpa_printf
    - strerror
    - os_strlcpy
    - if_nametoindex
    - os_memset
    linkageType: ''
    returnType: int
    signature: int linux_br_del_if(int sock, const char *brname, const char *ifname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/src/drivers/linux_ioctl.c:211,1
    - Dst: readlink
      Src: /src/hostap/src/drivers/linux_ioctl.c:213,1
    - Dst: os_strrchr
      Src: /src/hostap/src/drivers/linux_ioctl.c:217,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/linux_ioctl.c:221,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - brname
    - ifname
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 223
    functionName: linux_br_get
    functionSourceFile: /src/hostap/src/drivers/linux_ioctl.c
    functionUses: 3
    functionsReached:
    - os_snprintf
    - os_strlcpy
    - readlink
    - os_strrchr
    linkageType: ''
    returnType: int
    signature: int linux_br_get(char *brname, const char *ifname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/src/drivers/linux_ioctl.c:232,1
    - Dst: readlink
      Src: /src/hostap/src/drivers/linux_ioctl.c:234,1
    - Dst: os_strrchr
      Src: /src/hostap/src/drivers/linux_ioctl.c:240,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/linux_ioctl.c:244,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - master_ifname
    - ifname
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 246
    functionName: linux_master_get
    functionSourceFile: /src/hostap/src/drivers/linux_ioctl.c
    functionUses: 1
    functionsReached:
    - os_snprintf
    - os_strlcpy
    - readlink
    - os_strrchr
    linkageType: ''
    returnType: int
    signature: int linux_master_get(char *master_ifname, const char *ifname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sendto
      Src: /src/hostap/src/drivers/driver_privsep.c:34,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_privsep.c:38,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_privsep.c:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - drv
    - cmd
    argTypes:
    - struct wpa_driver_privsep_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 40
    functionName: wpa_priv_reg_cmd
    functionSourceFile: /src/hostap/src/drivers/driver_privsep.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - sendto
    - strerror
    linkageType: ''
    returnType: int
    signature: int wpa_priv_reg_cmd(struct wpa_driver_privsep_data *drv, int cmd)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_privsep.c:55,1
    - Dst: sendmsg
      Src: /src/hostap/src/drivers/driver_privsep.c:61,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_privsep.c:62,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_privsep.c:63,1
    - Dst: FD_ZERO
      Src: /src/hostap/src/drivers/driver_privsep.c:72,1
    - Dst: FD_SET
      Src: /src/hostap/src/drivers/driver_privsep.c:73,1
    - Dst: select
      Src: /src/hostap/src/drivers/driver_privsep.c:76,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_privsep.c:78,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_privsep.c:78,1
    - Dst: FD_ISSET
      Src: /src/hostap/src/drivers/driver_privsep.c:82,1
    - Dst: recv
      Src: /src/hostap/src/drivers/driver_privsep.c:83,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_privsep.c:85,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_privsep.c:86,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_privsep.c:91,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 6
    argNames:
    - drv
    - cmd
    - data
    - data_len
    - reply
    - reply_len
    argTypes:
    - struct wpa_driver_privsep_data*
    - int
    - void*
    - size_t
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 98
    functionName: wpa_priv_cmd
    functionSourceFile: /src/hostap/src/drivers/driver_privsep.c
    functionUses: 3
    functionsReached:
    - wpa_printf
    - select
    - FD_ZERO
    - strerror
    - sendmsg
    - FD_ISSET
    - recv
    - FD_SET
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpa_priv_cmd(struct wpa_driver_privsep_data *drv, int cmd,\n\t\t\tconst
      void *data, size_t data_len,\n\t\t\tvoid *reply, size_t *reply_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_privsep.c:108,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_privsep.c:109,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_privsep.c:115,1
    - Dst: wpa_priv_cmd
      Src: /src/hostap/src/drivers/driver_privsep.c:124,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - priv
    - params
    argTypes:
    - void*
    - struct wpa_driver_scan_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 126
    functionName: wpa_driver_privsep_scan
    functionSourceFile: /src/hostap/src/drivers/driver_privsep.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_priv_cmd
    - os_memcpy
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_privsep_scan(void *priv,\n\t\t\t\t   struct wpa_driver_scan_params
      *params)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/drivers/driver_privsep.c:139,1
    - Dst: wpa_priv_cmd
      Src: /src/hostap/src/drivers/driver_privsep.c:142,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_privsep.c:145,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_privsep.c:149,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_privsep.c:152,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_privsep.c:154,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_privsep.c:160,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_privsep.c:162,1
    - Dst: os_zalloc
      Src: /src/hostap/src/drivers/driver_privsep.c:167,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_privsep.c:169,1
    - Dst: os_calloc
      Src: /src/hostap/src/drivers/driver_privsep.c:173,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_privsep.c:175,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_privsep.c:176,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_privsep.c:182,1
    - Dst: os_memdup
      Src: /src/hostap/src/drivers/driver_privsep.c:187,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_privsep.c:192,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_privsep.c:196,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_privsep.c:203,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 52
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 205
    functionName: wpa_driver_privsep_get_scan_results2
    functionSourceFile: /src/hostap/src/drivers/driver_privsep.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - os_calloc
    - os_memdup
    - os_malloc
    - os_zalloc
    - wpa_priv_cmd
    - os_free
    linkageType: ''
    returnType: struct wpa_scan_results
    signature: 'struct wpa_scan_results *

      wpa_driver_privsep_get_scan_results2(void *priv)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_privsep.c:225,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_privsep.c:228,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_privsep.c:231,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_privsep.c:233,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_privsep.c:238,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_privsep.c:242,1
    - Dst: wpa_priv_cmd
      Src: /src/hostap/src/drivers/driver_privsep.c:246,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - priv
    - params
    argTypes:
    - void*
    - struct wpa_driver_set_key_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 248
    functionName: wpa_driver_privsep_set_key
    functionSourceFile: /src/hostap/src/drivers/driver_privsep.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_priv_cmd
    - os_memcpy
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_privsep_set_key(void *priv,\n\t\t\t\t      struct wpa_driver_set_key_params
      *params)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_privsep.c:260,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_privsep.c:262,1
    - Dst: os_zalloc
      Src: /src/hostap/src/drivers/driver_privsep.c:266,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_privsep.c:271,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_privsep.c:272,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_privsep.c:278,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_privsep.c:287,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_privsep.c:291,1
    - Dst: wpa_priv_cmd
      Src: /src/hostap/src/drivers/driver_privsep.c:293,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_privsep.c:295,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 2
    argNames:
    - priv
    - params
    argTypes:
    - void*
    - struct wpa_driver_auth_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 298
    functionName: wpa_driver_privsep_authenticate
    functionSourceFile: /src/hostap/src/drivers/driver_privsep.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - MAC2STR
    - os_zalloc
    - wpa_priv_cmd
    - os_free
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_privsep_authenticate(\n\tvoid *priv, struct wpa_driver_auth_params
      *params)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_privsep.c:309,1
    - Dst: os_zalloc
      Src: /src/hostap/src/drivers/driver_privsep.c:316,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_privsep.c:321,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_privsep.c:322,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_privsep.c:334,1
    - Dst: wpa_priv_cmd
      Src: /src/hostap/src/drivers/driver_privsep.c:337,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_privsep.c:339,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 2
    argNames:
    - priv
    - params
    argTypes:
    - void*
    - struct wpa_driver_associate_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 342
    functionName: wpa_driver_privsep_associate
    functionSourceFile: /src/hostap/src/drivers/driver_privsep.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - os_zalloc
    - wpa_priv_cmd
    - os_free
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_privsep_associate(\n\tvoid *priv, struct wpa_driver_associate_params
      *params)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_priv_cmd
      Src: /src/hostap/src/drivers/driver_privsep.c:351,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - priv
    - bssid
    argTypes:
    - void*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 355
    functionName: wpa_driver_privsep_get_bssid
    functionSourceFile: /src/hostap/src/drivers/driver_privsep.c
    functionUses: 0
    functionsReached:
    - wpa_priv_cmd
    linkageType: ''
    returnType: int
    signature: int wpa_driver_privsep_get_bssid(void *priv, u8 *bssid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_priv_cmd
      Src: /src/hostap/src/drivers/driver_privsep.c:365,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_privsep.c:368,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_privsep.c:371,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_privsep.c:374,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - priv
    - ssid
    argTypes:
    - void*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 376
    functionName: wpa_driver_privsep_get_ssid
    functionSourceFile: /src/hostap/src/drivers/driver_privsep.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_printf
    - wpa_priv_cmd
    linkageType: ''
    returnType: int
    signature: int wpa_driver_privsep_get_ssid(void *priv, u8 *ssid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_privsep.c:383,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_privsep.c:384,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_privsep.c:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - priv
    - addr
    - reason_code
    argTypes:
    - void*
    - u8*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 387
    functionName: wpa_driver_privsep_deauthenticate
    functionSourceFile: /src/hostap/src/drivers/driver_privsep.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_privsep_deauthenticate(void *priv, const u8 *addr,\n\t\t\t\t\t
      \    u16 reason_code)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_privsep.c:395,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_privsep.c:402,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_privsep.c:403,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_privsep.c:412,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - ctx
    - buf
    - len
    argTypes:
    - void*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 413
    functionName: wpa_driver_privsep_event_auth
    functionSourceFile: /src/hostap/src/drivers/driver_privsep.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - os_memcpy
    - os_memset
    linkageType: ''
    returnType: void
    signature: void wpa_driver_privsep_event_auth(void *ctx, u8 *buf, size_t len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_privsep.c:425,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_privsep.c:432,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_privsep.c:443,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - ctx
    - event
    - buf
    - len
    argTypes:
    - void*
    - enum wpa_event_type
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 444
    functionName: wpa_driver_privsep_event_assoc
    functionSourceFile: /src/hostap/src/drivers/driver_privsep.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - os_memcpy
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void wpa_driver_privsep_event_assoc(void *ctx,\n\t\t\t\t\t   enum
      wpa_event_type event,\n\t\t\t\t\t   u8 *buf, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_privsep.c:457,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_privsep.c:459,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_privsep.c:461,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_privsep.c:463,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - buf
    - len
    argTypes:
    - void*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 464
    functionName: wpa_driver_privsep_event_interface_status
    functionSourceFile: /src/hostap/src/drivers/driver_privsep.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - os_memcpy
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void wpa_driver_privsep_event_interface_status(void *ctx, u8 *buf,\n\t\t\t\t\t\t
      \     size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_privsep.c:475,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_privsep.c:476,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_privsep.c:477,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - buf
    - len
    argTypes:
    - void*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 478
    functionName: wpa_driver_privsep_event_michael_mic_failure
    functionSourceFile: /src/hostap/src/drivers/driver_privsep.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - os_memcpy
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void wpa_driver_privsep_event_michael_mic_failure(\n\tvoid *ctx, u8
      *buf, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_privsep.c:489,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_privsep.c:490,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_privsep.c:491,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - buf
    - len
    argTypes:
    - void*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 492
    functionName: wpa_driver_privsep_event_pmkid_candidate
    functionSourceFile: /src/hostap/src/drivers/driver_privsep.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - os_memcpy
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void wpa_driver_privsep_event_pmkid_candidate(void *ctx, u8 *buf,\n\t\t\t\t\t\t
      \    size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_privsep.c:503,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_privsep.c:504,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_privsep.c:505,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_privsep.c:508,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - buf
    - len
    argTypes:
    - void*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 509
    functionName: wpa_driver_privsep_event_ft_response
    functionSourceFile: /src/hostap/src/drivers/driver_privsep.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - os_memcpy
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void wpa_driver_privsep_event_ft_response(void *ctx, u8 *buf,\n\t\t\t\t\t\t
      size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: drv_event_eapol_rx
      Src: /src/hostap/src/drivers/driver_privsep.c:516,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - buf
    - len
    argTypes:
    - void*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 517
    functionName: wpa_driver_privsep_event_rx_eapol
    functionSourceFile: /src/hostap/src/drivers/driver_privsep.c
    functionUses: 0
    functionsReached:
    - drv_event_eapol_rx
    linkageType: ''
    returnType: void
    signature: void wpa_driver_privsep_event_rx_eapol(void *ctx, u8 *buf, size_t len)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/drivers/driver_privsep.c:532,1
    - Dst: recvfrom
      Src: /src/hostap/src/drivers/driver_privsep.c:535,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_privsep.c:538,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_privsep.c:539,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_privsep.c:540,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_privsep.c:544,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_privsep.c:547,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_privsep.c:551,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_privsep.c:554,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_privsep.c:560,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_privsep.c:563,1
    - Dst: wpa_driver_privsep_event_assoc
      Src: /src/hostap/src/drivers/driver_privsep.c:566,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_privsep.c:570,1
    - Dst: wpa_driver_privsep_event_assoc
      Src: /src/hostap/src/drivers/driver_privsep.c:573,1
    - Dst: wpa_driver_privsep_event_michael_mic_failure
      Src: /src/hostap/src/drivers/driver_privsep.c:577,1
    - Dst: wpa_driver_privsep_event_interface_status
      Src: /src/hostap/src/drivers/driver_privsep.c:581,1
    - Dst: wpa_driver_privsep_event_pmkid_candidate
      Src: /src/hostap/src/drivers/driver_privsep.c:585,1
    - Dst: wpa_driver_privsep_event_ft_response
      Src: /src/hostap/src/drivers/driver_privsep.c:589,1
    - Dst: wpa_driver_privsep_event_rx_eapol
      Src: /src/hostap/src/drivers/driver_privsep.c:593,1
    - Dst: wpa_driver_privsep_event_auth
      Src: /src/hostap/src/drivers/driver_privsep.c:597,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_privsep.c:601,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 56
    argCount: 3
    argNames:
    - sock
    - eloop_ctx
    - sock_ctx
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 520
    functionDepth: 2
    functionLinenumber: 520
    functionLinenumberEnd: 602
    functionName: wpa_driver_privsep_receive
    functionSourceFile: /src/hostap/src/drivers/driver_privsep.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - wpa_driver_privsep_event_interface_status
    - wpa_printf
    - os_memcpy
    - strerror
    - recvfrom
    - wpa_driver_privsep_event_ft_response
    - os_malloc
    - wpa_driver_privsep_event_auth
    - wpa_driver_privsep_event_michael_mic_failure
    - wpa_driver_privsep_event_pmkid_candidate
    - os_free
    - wpa_driver_privsep_event_assoc
    - wpa_driver_privsep_event_rx_eapol
    linkageType: ''
    returnType: void
    signature: "void wpa_driver_privsep_receive(int sock, void *eloop_ctx,\n\t\t\t\t
      \      void *sock_ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/drivers/driver_privsep.c:609,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_privsep.c:615,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - ifname
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 618
    functionName: wpa_driver_privsep_init
    functionSourceFile: /src/hostap/src/drivers/driver_privsep.c
    functionUses: 0
    functionsReached:
    - os_zalloc
    - os_strlcpy
    linkageType: ''
    returnType: void
    signature: void * wpa_driver_privsep_init(void *ctx, const char *ifname)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_priv_reg_cmd
      Src: /src/hostap/src/drivers/driver_privsep.c:626,1
    - Dst: eloop_unregister_read_sock
      Src: /src/hostap/src/drivers/driver_privsep.c:627,1
    - Dst: close
      Src: /src/hostap/src/drivers/driver_privsep.c:628,1
    - Dst: unlink
      Src: /src/hostap/src/drivers/driver_privsep.c:632,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_privsep.c:633,1
    - Dst: eloop_unregister_read_sock
      Src: /src/hostap/src/drivers/driver_privsep.c:637,1
    - Dst: close
      Src: /src/hostap/src/drivers/driver_privsep.c:638,1
    - Dst: unlink
      Src: /src/hostap/src/drivers/driver_privsep.c:642,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_privsep.c:643,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_privsep.c:646,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 621
    functionDepth: 1
    functionLinenumber: 621
    functionLinenumberEnd: 647
    functionName: wpa_driver_privsep_deinit
    functionSourceFile: /src/hostap/src/drivers/driver_privsep.c
    functionUses: 0
    functionsReached:
    - wpa_priv_reg_cmd
    - eloop_unregister_read_sock
    - close
    - unlink
    - os_free
    linkageType: ''
    returnType: void
    signature: void wpa_driver_privsep_deinit(void *priv)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_privsep.c:659,1
    - Dst: os_strstr
      Src: /src/hostap/src/drivers/driver_privsep.c:663,1
    - Dst: os_strdup
      Src: /src/hostap/src/drivers/driver_privsep.c:666,1
    - Dst: os_strchr
      Src: /src/hostap/src/drivers/driver_privsep.c:669,1
    - Dst: os_strdup
      Src: /src/hostap/src/drivers/driver_privsep.c:673,1
    - Dst: os_strstr
      Src: /src/hostap/src/drivers/driver_privsep.c:681,1
    - Dst: os_strdup
      Src: /src/hostap/src/drivers/driver_privsep.c:684,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_privsep.c:686,1
    - Dst: os_strchr
      Src: /src/hostap/src/drivers/driver_privsep.c:689,1
    - Dst: os_strdup
      Src: /src/hostap/src/drivers/driver_privsep.c:693,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_privsep.c:695,1
    - Dst: os_strlen
      Src: /src/hostap/src/drivers/driver_privsep.c:700,1
    - Dst: os_malloc
      Src: /src/hostap/src/drivers/driver_privsep.c:701,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_privsep.c:703,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_privsep.c:704,1
    - Dst: os_snprintf
      Src: /src/hostap/src/drivers/driver_privsep.c:707,1
    - Dst: getpid
      Src: /src/hostap/src/drivers/driver_privsep.c:708,1
    - Dst: os_strlen
      Src: /src/hostap/src/drivers/driver_privsep.c:710,1
    - Dst: os_malloc
      Src: /src/hostap/src/drivers/driver_privsep.c:711,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_privsep.c:713,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_privsep.c:715,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_privsep.c:716,1
    - Dst: os_snprintf
      Src: /src/hostap/src/drivers/driver_privsep.c:719,1
    - Dst: getpid
      Src: /src/hostap/src/drivers/driver_privsep.c:720,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_privsep.c:722,1
    - Dst: os_snprintf
      Src: /src/hostap/src/drivers/driver_privsep.c:725,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_privsep.c:727,1
    - Dst: socket
      Src: /src/hostap/src/drivers/driver_privsep.c:729,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_privsep.c:731,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_privsep.c:731,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_privsep.c:732,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_privsep.c:737,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_privsep.c:739,1
    - Dst: bind
      Src: /src/hostap/src/drivers/driver_privsep.c:740,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_privsep.c:742,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_privsep.c:744,1
    - Dst: close
      Src: /src/hostap/src/drivers/driver_privsep.c:745,1
    - Dst: unlink
      Src: /src/hostap/src/drivers/driver_privsep.c:747,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_privsep.c:748,1
    - Dst: eloop_register_read_sock
      Src: /src/hostap/src/drivers/driver_privsep.c:753,1
    - Dst: socket
      Src: /src/hostap/src/drivers/driver_privsep.c:756,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_privsep.c:758,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_privsep.c:758,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_privsep.c:759,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_privsep.c:764,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_privsep.c:766,1
    - Dst: bind
      Src: /src/hostap/src/drivers/driver_privsep.c:767,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_privsep.c:769,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_privsep.c:771,1
    - Dst: close
      Src: /src/hostap/src/drivers/driver_privsep.c:772,1
    - Dst: unlink
      Src: /src/hostap/src/drivers/driver_privsep.c:774,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_privsep.c:775,1
    - Dst: wpa_priv_reg_cmd
      Src: /src/hostap/src/drivers/driver_privsep.c:780,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_privsep.c:781,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 102
    argCount: 2
    argNames:
    - priv
    - param
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 650
    functionDepth: 1
    functionLinenumber: 650
    functionLinenumberEnd: 786
    functionName: wpa_driver_privsep_set_param
    functionSourceFile: /src/hostap/src/drivers/driver_privsep.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_priv_reg_cmd
    - wpa_printf
    - strerror
    - eloop_register_read_sock
    - socket
    - os_strlcpy
    - os_malloc
    - unlink
    - os_strstr
    - os_snprintf
    - close
    - getpid
    - os_free
    - os_strchr
    - bind
    - os_strdup
    - os_memset
    linkageType: ''
    returnType: int
    signature: int wpa_driver_privsep_set_param(void *priv, const char *param)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_priv_cmd
      Src: /src/hostap/src/drivers/driver_privsep.c:796,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - priv
    - capa
    argTypes:
    - void*
    - struct wpa_driver_capa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 806
    functionName: wpa_driver_privsep_get_capa
    functionSourceFile: /src/hostap/src/drivers/driver_privsep.c
    functionUses: 0
    functionsReached:
    - wpa_priv_cmd
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_privsep_get_capa(void *priv,\n\t\t\t\t       struct
      wpa_driver_capa *capa)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_privsep.c:812,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 814
    functionName: wpa_driver_privsep_get_mac_addr
    functionSourceFile: /src/hostap/src/drivers/driver_privsep.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: u8
    signature: u8 * wpa_driver_privsep_get_mac_addr(void *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_privsep.c:820,1
    - Dst: wpa_priv_cmd
      Src: /src/hostap/src/drivers/driver_privsep.c:821,1
    - Dst: os_strlen
      Src: /src/hostap/src/drivers/driver_privsep.c:822,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - priv
    - alpha2
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 817
    functionDepth: 0
    functionLinenumber: 817
    functionLinenumberEnd: 823
    functionName: wpa_driver_privsep_set_country
    functionSourceFile: /src/hostap/src/drivers/driver_privsep.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - wpa_priv_cmd
    linkageType: ''
    returnType: int
    signature: int wpa_driver_privsep_set_country(void *priv, const char *alpha2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_common.c:21,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_common.c:22,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_common.c:23,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - res
    argTypes:
    - struct wpa_scan_results*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 24
    functionName: wpa_scan_results_free
    functionSourceFile: /src/hostap/src/drivers/driver_common.c
    functionUses: 9
    functionsReached:
    - os_free
    linkageType: ''
    returnType: void
    signature: void wpa_scan_results_free(struct wpa_scan_results *res)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:31,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:32,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:33,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:34,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:35,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:36,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:37,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:38,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:39,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:40,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:41,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:42,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:43,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:44,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:45,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:46,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:47,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:48,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:49,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:50,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:51,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:52,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:53,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:54,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:55,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:56,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:57,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:58,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:59,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:60,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:61,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:62,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:63,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:64,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:65,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:66,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:67,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:68,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:69,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:70,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:71,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:72,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:73,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:74,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:75,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:76,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:77,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:78,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:79,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:80,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:81,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:82,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:83,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:84,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:85,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:86,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:87,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:88,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:89,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:90,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:91,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:92,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:93,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:94,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:95,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:96,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:97,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:98,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:99,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:100,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:101,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:102,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:103,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:104,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:105,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:106,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:107,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:108,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:109,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:110,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:111,1
    - Dst: E2S
      Src: /src/hostap/src/drivers/driver_common.c:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 86
    argCount: 1
    argNames:
    - event
    argTypes:
    - enum wpa_event_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 117
    functionName: event_to_string
    functionSourceFile: /src/hostap/src/drivers/driver_common.c
    functionUses: 3
    functionsReached:
    - E2S
    linkageType: ''
    returnType: char
    signature: char * event_to_string(enum wpa_event_type event)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: E2S
    functionSourceFile: /src/hostap/src/drivers/driver_common.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: E2S(n)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - width
    argTypes:
    - enum chan_width
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 140
    functionName: channel_width_to_string
    functionSourceFile: /src/hostap/src/drivers/driver_common.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * channel_width_to_string(enum chan_width width)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - width
    argTypes:
    - enum chan_width
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 161
    functionName: channel_width_to_int
    functionSourceFile: /src/hostap/src/drivers/driver_common.c
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int channel_width_to_int(enum chan_width width)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - mode
    argTypes:
    - struct hostapd_hw_modes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 179
    functionName: ht_supported
    functionSourceFile: /src/hostap/src/drivers/driver_common.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ht_supported(const struct hostapd_hw_modes *mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - mode
    argTypes:
    - struct hostapd_hw_modes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 197
    functionName: vht_supported
    functionSourceFile: /src/hostap/src/drivers/driver_common.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int vht_supported(const struct hostapd_hw_modes *mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - hw_mode
    - op_mode
    argTypes:
    - struct hostapd_hw_modes*
    - enum ieee80211_op_mode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 212
    functionName: he_supported
    functionSourceFile: /src/hostap/src/drivers/driver_common.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool he_supported(const struct hostapd_hw_modes *hw_mode,\n\t\t  enum
      ieee80211_op_mode op_mode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - hw_mode
    - op_mode
    argTypes:
    - struct hostapd_hw_modes*
    - enum ieee80211_op_mode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 227
    functionName: eht_supported
    functionSourceFile: /src/hostap/src/drivers/driver_common.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool eht_supported(const struct hostapd_hw_modes *hw_mode,\n\t\t   enum
      ieee80211_op_mode op_mode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hw_mode
    - op_mode
    argTypes:
    - struct hostapd_hw_modes*
    - enum ieee80211_op_mode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 234
    functionName: uhr_supported
    functionSourceFile: /src/hostap/src/drivers/driver_common.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool uhr_supported(const struct hostapd_hw_modes *hw_mode,\n\t\t   enum
      ieee80211_op_mode op_mode)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/src/drivers/driver_common.c:240,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - start
    - trigger
    - capa_trigger
    - param_trigger
    argTypes:
    - char*
    - char*
    - int
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 247
    functionName: wpa_check_wowlan_trigger
    functionSourceFile: /src/hostap/src/drivers/driver_common.c
    functionUses: 0
    functionsReached:
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: "int wpa_check_wowlan_trigger(const char *start, const char *trigger,\n\t\t\t\t
      \   int capa_trigger, u8 *param_trigger)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_strdup
      Src: /src/hostap/src/drivers/driver_common.c:261,1
    - Dst: os_zalloc
      Src: /src/hostap/src/drivers/driver_common.c:265,1
    - Dst: isblank
      Src: /src/hostap/src/drivers/driver_common.c:276,1
    - Dst: isblank
      Src: /src/hostap/src/drivers/driver_common.c:281,1
    - Dst: CHECK_TRIGGER
      Src: /src/hostap/src/drivers/driver_common.c:286,1
    - Dst: CHECK_TRIGGER
      Src: /src/hostap/src/drivers/driver_common.c:287,1
    - Dst: CHECK_TRIGGER
      Src: /src/hostap/src/drivers/driver_common.c:288,1
    - Dst: CHECK_TRIGGER
      Src: /src/hostap/src/drivers/driver_common.c:289,1
    - Dst: CHECK_TRIGGER
      Src: /src/hostap/src/drivers/driver_common.c:290,1
    - Dst: CHECK_TRIGGER
      Src: /src/hostap/src/drivers/driver_common.c:291,1
    - Dst: CHECK_TRIGGER
      Src: /src/hostap/src/drivers/driver_common.c:292,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_common.c:293,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_common.c:296,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_common.c:308,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 36
    argCount: 2
    argNames:
    - wowlan_triggers
    - capa
    argTypes:
    - char*
    - struct wpa_driver_capa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 310
    functionName: wpa_get_wowlan_triggers
    functionSourceFile: /src/hostap/src/drivers/driver_common.c
    functionUses: 2
    functionsReached:
    - os_strdup
    - wpa_printf
    - CHECK_TRIGGER
    - os_zalloc
    - os_free
    - isblank
    linkageType: ''
    returnType: struct wowlan_triggers
    signature: "struct wowlan_triggers *\nwpa_get_wowlan_triggers(const char *wowlan_triggers,\n\t\t\tconst
      struct wpa_driver_capa *capa)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - trigger
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 273
    functionName: CHECK_TRIGGER
    functionSourceFile: /src/hostap/src/drivers/driver_common.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_TRIGGER(trigger)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:317,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:318,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:319,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:320,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:321,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:322,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:323,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:324,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:325,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:326,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:327,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:328,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:329,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:330,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:331,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:332,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:333,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:334,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:335,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:336,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:337,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:338,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:339,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:340,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:341,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:342,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:343,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:344,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:345,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:346,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:347,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:348,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:349,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:350,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:351,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:352,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:353,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:354,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:355,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:356,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:357,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:358,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:359,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:360,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:361,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:362,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:363,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:364,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:365,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:366,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:367,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:368,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:369,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:370,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:371,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:372,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:373,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:374,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:375,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:376,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:377,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:378,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:379,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:380,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 68
    argCount: 1
    argNames:
    - flag
    argTypes:
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 384
    functionName: driver_flag_to_string
    functionSourceFile: /src/hostap/src/drivers/driver_common.c
    functionUses: 2
    functionsReached:
    - DF2S
    linkageType: ''
    returnType: char
    signature: char * driver_flag_to_string(u64 flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 316
    functionName: DF2S
    functionSourceFile: /src/hostap/src/drivers/driver_common.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DF2S(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:391,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:392,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:393,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:394,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:395,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:396,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:397,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:398,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:399,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:400,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:401,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:402,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:403,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:404,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:405,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:406,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:407,1
    - Dst: DF2S
      Src: /src/hostap/src/drivers/driver_common.c:408,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 1
    argNames:
    - flag2
    argTypes:
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 412
    functionName: driver_flag2_to_string
    functionSourceFile: /src/hostap/src/drivers/driver_common.c
    functionUses: 2
    functionsReached:
    - DF2S
    linkageType: ''
    returnType: char
    signature: char * driver_flag2_to_string(u64 flag2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 390
    functionName: DF2S
    functionSourceFile: /src/hostap/src/drivers/driver_common.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DF2S(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/drivers/driver_bsd.c:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - priv
    - ifindex
    argTypes:
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 89
    functionName: bsd_get_drvindex
    functionSourceFile: /src/hostap/src/drivers/driver_bsd.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    linkageType: ''
    returnType: struct bsd_driver_data
    signature: 'struct bsd_driver_data *

      bsd_get_drvindex(void *priv, unsigned int ifindex)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/drivers/driver_bsd.c:97,1
    - Dst: os_strcmp
      Src: /src/hostap/src/drivers/driver_bsd.c:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - priv
    - ifname
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 102
    functionName: bsd_get_drvname
    functionSourceFile: /src/hostap/src/drivers/driver_bsd.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    - os_strcmp
    linkageType: ''
    returnType: struct bsd_driver_data
    signature: 'struct bsd_driver_data *

      bsd_get_drvname(void *priv, const char *ifname)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_bsd.c:113,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_bsd.c:114,1
    - Dst: ioctl
      Src: /src/hostap/src/drivers/driver_bsd.c:120,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_bsd.c:121,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_bsd.c:123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - priv
    - op
    - val
    - arg
    - arg_len
    argTypes:
    - void*
    - int
    - int
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 127
    functionName: bsd_set80211
    functionSourceFile: /src/hostap/src/drivers/driver_bsd.c
    functionUses: 0
    functionsReached:
    - ioctl
    - wpa_printf
    - strerror
    - os_strlcpy
    - os_memset
    linkageType: ''
    returnType: int
    signature: int bsd_set80211(void *priv, int op, int val, const void *arg, int
      arg_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_bsd.c:135,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_bsd.c:136,1
    - Dst: ioctl
      Src: /src/hostap/src/drivers/driver_bsd.c:141,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_bsd.c:144,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_bsd.c:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - priv
    - ireq
    - op
    - arg
    - arg_len
    argTypes:
    - void*
    - struct ieee80211req*
    - int
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 149
    functionName: bsd_get80211
    functionSourceFile: /src/hostap/src/drivers/driver_bsd.c
    functionUses: 0
    functionsReached:
    - ioctl
    - wpa_printf
    - strerror
    - os_strlcpy
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int bsd_get80211(void *priv, struct ieee80211req *ireq, int op, void
      *arg,\n\t     int arg_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bsd_get80211
      Src: /src/hostap/src/drivers/driver_bsd.c:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - drv
    - op
    - arg
    - arg_len
    argTypes:
    - struct bsd_driver_data*
    - int
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 159
    functionName: get80211var
    functionSourceFile: /src/hostap/src/drivers/driver_bsd.c
    functionUses: 0
    functionsReached:
    - bsd_get80211
    linkageType: ''
    returnType: int
    signature: int get80211var(struct bsd_driver_data *drv, int op, void *arg, int
      arg_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bsd_set80211
      Src: /src/hostap/src/drivers/driver_bsd.c:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - drv
    - op
    - arg
    - arg_len
    argTypes:
    - struct bsd_driver_data*
    - int
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 165
    functionName: set80211var
    functionSourceFile: /src/hostap/src/drivers/driver_bsd.c
    functionUses: 0
    functionsReached:
    - bsd_set80211
    linkageType: ''
    returnType: int
    signature: int set80211var(struct bsd_driver_data *drv, int op, const void *arg,
      int arg_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bsd_set80211
      Src: /src/hostap/src/drivers/driver_bsd.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - drv
    - op
    - arg
    argTypes:
    - struct bsd_driver_data*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 171
    functionName: set80211param
    functionSourceFile: /src/hostap/src/drivers/driver_bsd.c
    functionUses: 0
    functionsReached:
    - bsd_set80211
    linkageType: ''
    returnType: int
    signature: int set80211param(struct bsd_driver_data *drv, int op, int arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_bsd.c:181,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_bsd.c:182,1
    - Dst: ioctl
      Src: /src/hostap/src/drivers/driver_bsd.c:184,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_bsd.c:187,1
    - Dst: get80211var
      Src: /src/hostap/src/drivers/driver_bsd.c:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - priv
    - ssid
    - len
    argTypes:
    - void*
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 192
    functionName: bsd_get_ssid
    functionSourceFile: /src/hostap/src/drivers/driver_bsd.c
    functionUses: 0
    functionsReached:
    - ioctl
    - os_memcpy
    - os_strlcpy
    - get80211var
    - os_memset
    linkageType: ''
    returnType: int
    signature: int bsd_get_ssid(void *priv, u8 *ssid, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_bsd.c:202,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_bsd.c:204,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_bsd.c:205,1
    - Dst: ioctl
      Src: /src/hostap/src/drivers/driver_bsd.c:207,1
    - Dst: set80211var
      Src: /src/hostap/src/drivers/driver_bsd.c:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - priv
    - ssid
    - ssid_len
    argTypes:
    - void*
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 211
    functionName: bsd_set_ssid
    functionSourceFile: /src/hostap/src/drivers/driver_bsd.c
    functionUses: 0
    functionsReached:
    - ioctl
    - os_memcpy
    - os_strlcpy
    - set80211var
    - os_memset
    linkageType: ''
    returnType: int
    signature: int bsd_set_ssid(void *priv, const u8 *ssid, int ssid_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_bsd.c:219,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_bsd.c:220,1
    - Dst: ioctl
      Src: /src/hostap/src/drivers/driver_bsd.c:222,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_bsd.c:223,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_bsd.c:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 229
    functionName: bsd_get_if_media
    functionSourceFile: /src/hostap/src/drivers/driver_bsd.c
    functionUses: 0
    functionsReached:
    - ioctl
    - wpa_printf
    - strerror
    - os_strlcpy
    - os_memset
    linkageType: ''
    returnType: int
    signature: int bsd_get_if_media(void *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_bsd.c:237,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_bsd.c:238,1
    - Dst: ioctl
      Src: /src/hostap/src/drivers/driver_bsd.c:241,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_bsd.c:242,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_bsd.c:243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - priv
    - media
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 248
    functionName: bsd_set_if_media
    functionSourceFile: /src/hostap/src/drivers/driver_bsd.c
    functionUses: 0
    functionsReached:
    - ioctl
    - wpa_printf
    - strerror
    - os_strlcpy
    - os_memset
    linkageType: ''
    returnType: int
    signature: int bsd_set_if_media(void *priv, int media)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bsd_get_if_media
      Src: /src/hostap/src/drivers/driver_bsd.c:253,1
    - Dst: bsd_set_if_media
      Src: /src/hostap/src/drivers/driver_bsd.c:259,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - priv
    - mask
    - mode
    argTypes:
    - void*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 262
    functionName: bsd_set_mediaopt
    functionSourceFile: /src/hostap/src/drivers/driver_bsd.c
    functionUses: 0
    functionsReached:
    - bsd_get_if_media
    - bsd_set_if_media
    linkageType: ''
    returnType: int
    signature: int bsd_set_mediaopt(void *priv, uint32_t mask, uint32_t mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_bsd.c:269,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_bsd.c:271,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_bsd.c:274,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_bsd.c:275,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_bsd.c:276,1
    - Dst: set80211var
      Src: /src/hostap/src/drivers/driver_bsd.c:280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - priv
    - addr
    - key_idx
    argTypes:
    - void*
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 281
    functionName: bsd_del_key
    functionSourceFile: /src/hostap/src/drivers/driver_bsd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - set80211var
    - MAC2STR
    - os_memset
    linkageType: ''
    returnType: int
    signature: int bsd_del_key(void *priv, const u8 *addr, int key_idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_bsd.c:288,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_bsd.c:291,1
    - Dst: set80211var
      Src: /src/hostap/src/drivers/driver_bsd.c:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - priv
    - op
    - reason
    - addr
    argTypes:
    - void*
    - u8
    - u16
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 283
    functionDepth: 2
    functionLinenumber: 283
    functionLinenumberEnd: 293
    functionName: bsd_send_mlme_param
    functionSourceFile: /src/hostap/src/drivers/driver_bsd.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - set80211var
    - os_memset
    linkageType: ''
    returnType: int
    signature: int bsd_send_mlme_param(void *priv, const u8 op, const u16 reason,
      const u8 *addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_bsd.c:300,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_bsd.c:301,1
    - Dst: ioctl
      Src: /src/hostap/src/drivers/driver_bsd.c:303,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_bsd.c:304,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_bsd.c:305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - drv
    argTypes:
    - struct bsd_driver_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 310
    functionName: bsd_get_iface_flags
    functionSourceFile: /src/hostap/src/drivers/driver_bsd.c
    functionUses: 0
    functionsReached:
    - ioctl
    - wpa_printf
    - strerror
    - os_strlcpy
    - os_memset
    linkageType: ''
    returnType: int
    signature: int bsd_get_iface_flags(struct bsd_driver_data *drv)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_bsd.c:331,1
    - Dst: is_broadcast_ether_addr
      Src: /src/hostap/src/drivers/driver_bsd.c:337,1
    - Dst: bsd_del_key
      Src: /src/hostap/src/drivers/driver_bsd.c:338,1
    - Dst: bsd_del_key
      Src: /src/hostap/src/drivers/driver_bsd.c:341,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_bsd.c:344,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_bsd.c:356,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_bsd.c:365,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_bsd.c:368,1
    - Dst: is_broadcast_ether_addr
      Src: /src/hostap/src/drivers/driver_bsd.c:374,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_bsd.c:406,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_bsd.c:409,1
    - Dst: set80211var
      Src: /src/hostap/src/drivers/driver_bsd.c:411,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 51
    argCount: 2
    argNames:
    - priv
    - params
    argTypes:
    - void*
    - struct wpa_driver_set_key_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 312
    functionDepth: 3
    functionLinenumber: 312
    functionLinenumberEnd: 412
    functionName: bsd_set_key
    functionSourceFile: /src/hostap/src/drivers/driver_bsd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - is_broadcast_ether_addr
    - set80211var
    - bsd_del_key
    - os_memset
    linkageType: ''
    returnType: int
    signature: int bsd_set_key(void *priv, struct wpa_driver_set_key_params *params)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_bsd.c:439,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_bsd.c:443,1
    - Dst: set80211param
      Src: /src/hostap/src/drivers/driver_bsd.c:445,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_bsd.c:446,1
    - Dst: set80211param
      Src: /src/hostap/src/drivers/driver_bsd.c:454,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_bsd.c:455,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_bsd.c:468,1
    - Dst: set80211param
      Src: /src/hostap/src/drivers/driver_bsd.c:469,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_bsd.c:470,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_bsd.c:475,1
    - Dst: set80211param
      Src: /src/hostap/src/drivers/driver_bsd.c:477,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_bsd.c:479,1
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_bsd.c:487,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_bsd.c:488,1
    - Dst: set80211param
      Src: /src/hostap/src/drivers/driver_bsd.c:490,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_bsd.c:491,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_bsd.c:497,1
    - Dst: set80211param
      Src: /src/hostap/src/drivers/driver_bsd.c:498,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_bsd.c:499,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 64
    argCount: 2
    argNames:
    - priv
    - params
    argTypes:
    - void*
    - struct wpa_bss_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 414
    functionDepth: 2
    functionLinenumber: 414
    functionLinenumberEnd: 503
    functionName: bsd_configure_wpa
    functionSourceFile: /src/hostap/src/drivers/driver_bsd.c
    functionUses: 0
    functionsReached:
    - set80211param
    - wpa_printf
    - BIT
    linkageType: ''
    returnType: int
    signature: int bsd_configure_wpa(void *priv, struct wpa_bss_params *params)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_bsd.c:508,1
    - Dst: set80211param
      Src: /src/hostap/src/drivers/driver_bsd.c:512,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_bsd.c:516,1
    - Dst: bsd_configure_wpa
      Src: /src/hostap/src/drivers/driver_bsd.c:520,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_bsd.c:521,1
    - Dst: set80211param
      Src: /src/hostap/src/drivers/driver_bsd.c:525,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_bsd.c:527,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - priv
    - params
    argTypes:
    - void*
    - struct wpa_bss_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 505
    functionDepth: 3
    functionLinenumber: 505
    functionLinenumberEnd: 532
    functionName: bsd_set_ieee8021x
    functionSourceFile: /src/hostap/src/drivers/driver_bsd.c
    functionUses: 0
    functionsReached:
    - set80211param
    - wpa_printf
    - bsd_configure_wpa
    linkageType: ''
    returnType: int
    signature: int bsd_set_ieee8021x(void *priv, struct wpa_bss_params *params)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/hostap/src/drivers/driver_bsd.c:544,1
    - Dst: memcpy
      Src: /src/hostap/src/drivers/driver_bsd.c:545,1
    - Dst: get80211var
      Src: /src/hostap/src/drivers/driver_bsd.c:546,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_bsd.c:547,1
    - Dst: drv_event_assoc
      Src: /src/hostap/src/drivers/driver_bsd.c:559,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - priv
    - ctx
    - addr
    argTypes:
    - void*
    - void*
    - u8[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 534
    functionDepth: 2
    functionLinenumber: 534
    functionLinenumberEnd: 560
    functionName: bsd_new_sta
    functionSourceFile: /src/hostap/src/drivers/driver_bsd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - drv_event_assoc
    - memcpy
    - get80211var
    - memset
    linkageType: ''
    returnType: void
    signature: void bsd_new_sta(void *priv, void *ctx, u8 addr[IEEE80211_ADDR_LEN])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/src/drivers/driver_bsd.c:568,1
    - Dst: l2_packet_send
      Src: /src/hostap/src/drivers/driver_bsd.c:570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 8
    argNames:
    - priv
    - addr
    - data
    - data_len
    - encrypt
    - own_addr
    - flags
    - link_id
    argTypes:
    - void*
    - u8*
    - u8*
    - size_t
    - int
    - u8*
    - u32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 572
    functionName: bsd_send_eapol
    functionSourceFile: /src/hostap/src/drivers/driver_bsd.c
    functionUses: 0
    functionsReached:
    - l2_packet_send
    - wpa_hexdump
    linkageType: ''
    returnType: int
    signature: "int bsd_send_eapol(void *priv, const u8 *addr, const u8 *data, size_t
      data_len,\n\t       int encrypt, const u8 *own_addr, u32 flags, int link_id)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bsd_set_mediaopt
      Src: /src/hostap/src/drivers/driver_bsd.c:595,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_bsd.c:596,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_bsd.c:602,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_bsd.c:603,1
    - Dst: ioctl
      Src: /src/hostap/src/drivers/driver_bsd.c:605,1
    - Dst: set80211param
      Src: /src/hostap/src/drivers/driver_bsd.c:607,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - priv
    - freq
    argTypes:
    - void*
    - struct hostapd_freq_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 574
    functionDepth: 2
    functionLinenumber: 574
    functionLinenumberEnd: 609
    functionName: bsd_set_freq
    functionSourceFile: /src/hostap/src/drivers/driver_bsd.c
    functionUses: 0
    functionsReached:
    - ioctl
    - wpa_printf
    - bsd_set_mediaopt
    - set80211param
    - os_strlcpy
    - os_memset
    linkageType: ''
    returnType: int
    signature: int bsd_set_freq(void *priv, struct hostapd_freq_params *freq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_bsd.c:615,1
    - Dst: bsd_set80211
      Src: /src/hostap/src/drivers/driver_bsd.c:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - priv
    - ie
    - ie_len
    argTypes:
    - void*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 611
    functionDepth: 1
    functionLinenumber: 611
    functionLinenumberEnd: 621
    functionName: bsd_set_opt_ie
    functionSourceFile: /src/hostap/src/drivers/driver_bsd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - bsd_set80211
    linkageType: ''
    returnType: int
    signature: int bsd_set_opt_ie(void *priv, const u8 *ie, size_t ie_len)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/hostap/src/drivers/driver_bsd.c:637,1
    - Dst: getifaddrs
      Src: /src/hostap/src/drivers/driver_bsd.c:640,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_bsd.c:641,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_bsd.c:642,1
    - Dst: bsd_get_drvname
      Src: /src/hostap/src/drivers/driver_bsd.c:652,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_bsd.c:655,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_bsd.c:661,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_bsd.c:663,1
    - Dst: bsd_get_drvindex
      Src: /src/hostap/src/drivers/driver_bsd.c:667,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_bsd.c:669,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_bsd.c:674,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_bsd.c:676,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/drivers/driver_bsd.c:682,1
    - Dst: os_strcmp
      Src: /src/hostap/src/drivers/driver_bsd.c:688,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_bsd.c:692,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_bsd.c:697,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_bsd.c:699,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_bsd.c:707,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_bsd.c:709,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_bsd.c:713,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_bsd.c:715,1
    - Dst: freeifaddrs
      Src: /src/hostap/src/drivers/driver_bsd.c:721,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 57
    argCount: 3
    argNames:
    - sock
    - ctx
    - global
    argTypes:
    - int
    - void*
    - struct bsd_driver_global*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 722
    functionName: bsd_route_overflow
    functionSourceFile: /src/hostap/src/drivers/driver_bsd.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - bsd_get_drvname
    - wpa_printf
    - freeifaddrs
    - strerror
    - read
    - os_strlcpy
    - dl_list_for_each
    - getifaddrs
    - bsd_get_drvindex
    - os_strcmp
    linkageType: ''
    returnType: void
    signature: void bsd_route_overflow(int sock, void *ctx, struct bsd_driver_global
      *global)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/hostap/src/drivers/driver_bsd.c:740,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_bsd.c:743,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_bsd.c:744,1
    - Dst: bsd_route_overflow
      Src: /src/hostap/src/drivers/driver_bsd.c:747,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_bsd.c:754,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_bsd.c:758,1
    - Dst: bsd_get_drvindex
      Src: /src/hostap/src/drivers/driver_bsd.c:762,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_bsd.c:770,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_bsd.c:775,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_bsd.c:780,1
    - Dst: drv_event_disassoc
      Src: /src/hostap/src/drivers/driver_bsd.c:785,1
    - Dst: bsd_new_sta
      Src: /src/hostap/src/drivers/driver_bsd.c:792,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_bsd.c:799,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_bsd.c:802,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_bsd.c:803,1
    - Dst: IEEE80211_IS_MULTICAST
      Src: /src/hostap/src/drivers/driver_bsd.c:805,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_bsd.c:807,1
    - Dst: bsd_get_drvindex
      Src: /src/hostap/src/drivers/driver_bsd.c:816,1
    - Dst: bsd_get_drvname
      Src: /src/hostap/src/drivers/driver_bsd.c:822,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_bsd.c:830,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_bsd.c:833,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_bsd.c:837,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_bsd.c:840,1
    - Dst: wpa_supplicant_event_global
      Src: /src/hostap/src/drivers/driver_bsd.c:849,1
    - Dst: bsd_get_drvindex
      Src: /src/hostap/src/drivers/driver_bsd.c:856,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_bsd.c:861,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_bsd.c:863,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_bsd.c:867,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_bsd.c:869,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 106
    argCount: 3
    argNames:
    - sock
    - ctx
    - sock_ctx
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 725
    functionDepth: 3
    functionLinenumber: 725
    functionLinenumberEnd: 875
    functionName: bsd_wireless_event_receive
    functionSourceFile: /src/hostap/src/drivers/driver_bsd.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - bsd_route_overflow
    - wpa_printf
    - IEEE80211_IS_MULTICAST
    - bsd_get_drvname
    - strerror
    - bsd_new_sta
    - read
    - os_strlcpy
    - MAC2STR
    - wpa_supplicant_event_global
    - drv_event_disassoc
    - bsd_get_drvindex
    - os_memset
    linkageType: ''
    returnType: void
    signature: void bsd_wireless_event_receive(int sock, void *ctx, void *sock_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/hostap/src/drivers/driver_bsd.c:896,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_bsd.c:896,1
    - Dst: snprintf
      Src: /src/hostap/src/drivers/driver_bsd.c:898,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - addr
    argTypes:
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 890
    functionDepth: 1
    functionLinenumber: 890
    functionLinenumberEnd: 900
    functionName: ether_sprintf
    functionSourceFile: /src/hostap/src/drivers/driver_bsd.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - snprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      ether_sprintf(const u8 *addr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_bsd.c:905,1
    - Dst: set80211param
      Src: /src/hostap/src/drivers/driver_bsd.c:907,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - priv
    - enabled
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 902
    functionDepth: 2
    functionLinenumber: 902
    functionLinenumberEnd: 908
    functionName: bsd_set_privacy
    functionSourceFile: /src/hostap/src/drivers/driver_bsd.c
    functionUses: 0
    functionsReached:
    - set80211param
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int bsd_set_privacy(void *priv, int enabled)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_bsd.c:916,1
    - Dst: ether_sprintf
      Src: /src/hostap/src/drivers/driver_bsd.c:917,1
    - Dst: memset
      Src: /src/hostap/src/drivers/driver_bsd.c:919,1
    - Dst: memset
      Src: /src/hostap/src/drivers/driver_bsd.c:921,1
    - Dst: memcpy
      Src: /src/hostap/src/drivers/driver_bsd.c:923,1
    - Dst: get80211var
      Src: /src/hostap/src/drivers/driver_bsd.c:926,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_bsd.c:927,1
    - Dst: memcpy
      Src: /src/hostap/src/drivers/driver_bsd.c:939,1
    - Dst: memcpy
      Src: /src/hostap/src/drivers/driver_bsd.c:945,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 6
    argNames:
    - ifname
    - priv
    - addr
    - idx
    - link_id
    - seq
    argTypes:
    - char*
    - void*
    - u8*
    - int
    - int
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 910
    functionDepth: 2
    functionLinenumber: 910
    functionLinenumberEnd: 948
    functionName: bsd_get_seqnum
    functionSourceFile: /src/hostap/src/drivers/driver_bsd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - memcpy
    - get80211var
    - memset
    - ether_sprintf
    linkageType: ''
    returnType: int
    signature: "int bsd_get_seqnum(const char *ifname, void *priv, const u8 *addr,
      int idx,\n\t       int link_id, u8 *seq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/hostap/src/drivers/driver_bsd.c:956,1
    - Dst: bsd_sta_deauth
      Src: /src/hostap/src/drivers/driver_bsd.c:957,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - priv
    - link_id
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 951
    functionDepth: 1
    functionLinenumber: 951
    functionLinenumberEnd: 959
    functionName: bsd_flush
    functionSourceFile: /src/hostap/src/drivers/driver_bsd.c
    functionUses: 0
    functionsReached:
    - memset
    - bsd_sta_deauth
    linkageType: ''
    returnType: int
    signature: int bsd_flush(void *priv, int link_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/hostap/src/drivers/driver_bsd.c:968,1
    - Dst: get80211var
      Src: /src/hostap/src/drivers/driver_bsd.c:969,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - priv
    - data
    - addr
    argTypes:
    - void*
    - struct hostap_sta_driver_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 962
    functionDepth: 2
    functionLinenumber: 962
    functionLinenumberEnd: 978
    functionName: bsd_read_sta_driver_data
    functionSourceFile: /src/hostap/src/drivers/driver_bsd.c
    functionUses: 0
    functionsReached:
    - memcpy
    - get80211var
    linkageType: ''
    returnType: int
    signature: "int bsd_read_sta_driver_data(void *priv, struct hostap_sta_driver_data
      *data,\n\t\t\t const u8 *addr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bsd_send_mlme_param
      Src: /src/hostap/src/drivers/driver_bsd.c:984,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - priv
    - own_addr
    - addr
    - reason_code
    - link_id
    argTypes:
    - void*
    - u8*
    - u8*
    - u16
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 980
    functionDepth: 3
    functionLinenumber: 980
    functionLinenumberEnd: 986
    functionName: bsd_sta_deauth
    functionSourceFile: /src/hostap/src/drivers/driver_bsd.c
    functionUses: 1
    functionsReached:
    - bsd_send_mlme_param
    linkageType: ''
    returnType: int
    signature: "int bsd_sta_deauth(void *priv, const u8 *own_addr, const u8 *addr,
      u16 reason_code,\n\t       int link_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bsd_send_mlme_param
      Src: /src/hostap/src/drivers/driver_bsd.c:992,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - priv
    - own_addr
    - addr
    - reason_code
    - link_id
    argTypes:
    - void*
    - u8*
    - u8*
    - u16
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 988
    functionDepth: 3
    functionLinenumber: 988
    functionLinenumberEnd: 994
    functionName: bsd_sta_disassoc
    functionSourceFile: /src/hostap/src/drivers/driver_bsd.c
    functionUses: 0
    functionsReached:
    - bsd_send_mlme_param
    linkageType: ''
    returnType: int
    signature: "int bsd_sta_disassoc(void *priv, const u8 *own_addr, const u8 *addr,\n\t\t
      u16 reason_code, int link_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: drv_event_eapol_rx
      Src: /src/hostap/src/drivers/driver_bsd.c:1000,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - src_addr
    - buf
    - len
    argTypes:
    - void*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 996
    functionDepth: 1
    functionLinenumber: 996
    functionLinenumberEnd: 1001
    functionName: handle_read
    functionSourceFile: /src/hostap/src/drivers/driver_bsd.c
    functionUses: 0
    functionsReached:
    - drv_event_eapol_rx
    linkageType: ''
    returnType: void
    signature: void handle_read(void *ctx, const u8 *src_addr, const u8 *buf, size_t
      len)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/drivers/driver_bsd.c:1008,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_bsd.c:1010,1
    - Dst: if_nametoindex
      Src: /src/hostap/src/drivers/driver_bsd.c:1014,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_bsd.c:1016,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_bsd.c:1024,1
    - Dst: l2_packet_init
      Src: /src/hostap/src/drivers/driver_bsd.c:1026,1
    - Dst: l2_packet_get_own_addr
      Src: /src/hostap/src/drivers/driver_bsd.c:1030,1
    - Dst: bsd_get_iface_flags
      Src: /src/hostap/src/drivers/driver_bsd.c:1033,1
    - Dst: bsd_set_mediaopt
      Src: /src/hostap/src/drivers/driver_bsd.c:1036,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_bsd.c:1037,1
    - Dst: dl_list_add
      Src: /src/hostap/src/drivers/driver_bsd.c:1042,1
    - Dst: l2_packet_deinit
      Src: /src/hostap/src/drivers/driver_bsd.c:1047,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_bsd.c:1048,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 2
    argNames:
    - hapd
    - params
    argTypes:
    - struct hostapd_data*
    - struct wpa_init_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 1003
    functionDepth: 2
    functionLinenumber: 1003
    functionLinenumberEnd: 1050
    functionName: bsd_init
    functionSourceFile: /src/hostap/src/drivers/driver_bsd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - bsd_set_mediaopt
    - bsd_get_iface_flags
    - l2_packet_deinit
    - os_strlcpy
    - l2_packet_get_own_addr
    - os_zalloc
    - dl_list_add
    - os_free
    - l2_packet_init
    - if_nametoindex
    linkageType: ''
    returnType: void
    signature: 'void *

      bsd_init(struct hostapd_data *hapd, struct wpa_init_params *params)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: l2_packet_deinit
      Src: /src/hostap/src/drivers/driver_bsd.c:1059,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_bsd.c:1060,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 1053
    functionDepth: 0
    functionLinenumber: 1053
    functionLinenumberEnd: 1061
    functionName: bsd_deinit
    functionSourceFile: /src/hostap/src/drivers/driver_bsd.c
    functionUses: 0
    functionsReached:
    - l2_packet_deinit
    - os_free
    linkageType: ''
    returnType: void
    signature: void bsd_deinit(void *priv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bsd_send_mlme_param
      Src: /src/hostap/src/drivers/driver_bsd.c:1080,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - priv
    - addr
    - total_flags
    - flags_or
    - flags_and
    argTypes:
    - void*
    - u8*
    - unsigned int
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1064
    functionDepth: 3
    functionLinenumber: 1064
    functionLinenumberEnd: 1083
    functionName: bsd_set_sta_authorized
    functionSourceFile: /src/hostap/src/drivers/driver_bsd.c
    functionUses: 0
    functionsReached:
    - bsd_send_mlme_param
    linkageType: ''
    returnType: int
    signature: "int bsd_set_sta_authorized(void *priv, const u8 *addr,\n\t\t       unsigned
      int total_flags, unsigned int flags_or,\n\t\t       unsigned int flags_and)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bsd_get80211
      Src: /src/hostap/src/drivers/driver_bsd.c:1091,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - drv
    - op
    argTypes:
    - struct bsd_driver_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 1086
    functionDepth: 1
    functionLinenumber: 1086
    functionLinenumberEnd: 1094
    functionName: get80211param
    functionSourceFile: /src/hostap/src/drivers/driver_bsd.c
    functionUses: 0
    functionsReached:
    - bsd_get80211
    linkageType: ''
    returnType: int
    signature: int get80211param(struct bsd_driver_data *drv, int op)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_bsd.c:1103,1
    - Dst: ioctl
      Src: /src/hostap/src/drivers/driver_bsd.c:1104,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_bsd.c:1106,1
    - Dst: get80211var
      Src: /src/hostap/src/drivers/driver_bsd.c:1109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - priv
    - bssid
    argTypes:
    - void*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1112
      start: 1096
    functionDepth: 2
    functionLinenumber: 1096
    functionLinenumberEnd: 1112
    functionName: wpa_driver_bsd_get_bssid
    functionSourceFile: /src/hostap/src/drivers/driver_bsd.c
    functionUses: 0
    functionsReached:
    - ioctl
    - get80211var
    - os_memcpy
    - os_strlcpy
    linkageType: ''
    returnType: int
    signature: int wpa_driver_bsd_get_bssid(void *priv, u8 *bssid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bsd_get_ssid
      Src: /src/hostap/src/drivers/driver_bsd.c:1118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - priv
    - ssid
    argTypes:
    - void*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 1114
    functionDepth: 3
    functionLinenumber: 1114
    functionLinenumberEnd: 1119
    functionName: wpa_driver_bsd_get_ssid
    functionSourceFile: /src/hostap/src/drivers/driver_bsd.c
    functionUses: 0
    functionsReached:
    - bsd_get_ssid
    linkageType: ''
    returnType: int
    signature: int wpa_driver_bsd_get_ssid(void *priv, u8 *ssid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bsd_set_opt_ie
      Src: /src/hostap/src/drivers/driver_bsd.c:1126,1
    - Dst: set80211var
      Src: /src/hostap/src/drivers/driver_bsd.c:1128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - drv
    - wpa_ie
    - wpa_ie_len
    argTypes:
    - struct bsd_driver_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 1121
    functionDepth: 2
    functionLinenumber: 1121
    functionLinenumberEnd: 1130
    functionName: wpa_driver_bsd_set_wpa_ie
    functionSourceFile: /src/hostap/src/drivers/driver_bsd.c
    functionUses: 0
    functionsReached:
    - set80211var
    - bsd_set_opt_ie
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_bsd_set_wpa_ie(struct bsd_driver_data *drv, const u8
      *wpa_ie,\n\t\t\t  size_t wpa_ie_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_bsd.c:1137,1
    - Dst: wpa_driver_bsd_set_wpa_ie
      Src: /src/hostap/src/drivers/driver_bsd.c:1140,1
    - Dst: set80211param
      Src: /src/hostap/src/drivers/driver_bsd.c:1142,1
    - Dst: set80211param
      Src: /src/hostap/src/drivers/driver_bsd.c:1144,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - priv
    - wpa
    - privacy
    argTypes:
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1148
      start: 1132
    functionDepth: 3
    functionLinenumber: 1132
    functionLinenumberEnd: 1148
    functionName: wpa_driver_bsd_set_wpa_internal
    functionSourceFile: /src/hostap/src/drivers/driver_bsd.c
    functionUses: 0
    functionsReached:
    - wpa_driver_bsd_set_wpa_ie
    - wpa_printf
    - set80211param
    linkageType: ''
    returnType: int
    signature: int wpa_driver_bsd_set_wpa_internal(void *priv, int wpa, int privacy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_bsd.c:1153,1
    - Dst: wpa_driver_bsd_set_wpa_internal
      Src: /src/hostap/src/drivers/driver_bsd.c:1155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - priv
    - enabled
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1150
    functionDepth: 4
    functionLinenumber: 1150
    functionLinenumberEnd: 1156
    functionName: wpa_driver_bsd_set_wpa
    functionSourceFile: /src/hostap/src/drivers/driver_bsd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_driver_bsd_set_wpa_internal
    linkageType: ''
    returnType: int
    signature: int wpa_driver_bsd_set_wpa(void *priv, int enabled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_bsd.c:1161,1
    - Dst: set80211param
      Src: /src/hostap/src/drivers/driver_bsd.c:1162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - priv
    - enabled
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1163
      start: 1158
    functionDepth: 2
    functionLinenumber: 1158
    functionLinenumberEnd: 1163
    functionName: wpa_driver_bsd_set_countermeasures
    functionSourceFile: /src/hostap/src/drivers/driver_bsd.c
    functionUses: 0
    functionsReached:
    - set80211param
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int wpa_driver_bsd_set_countermeasures(void *priv, int enabled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_bsd.c:1169,1
    - Dst: set80211param
      Src: /src/hostap/src/drivers/driver_bsd.c:1170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - priv
    - enabled
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1171
      start: 1166
    functionDepth: 2
    functionLinenumber: 1166
    functionLinenumberEnd: 1171
    functionName: wpa_driver_bsd_set_drop_unencrypted
    functionSourceFile: /src/hostap/src/drivers/driver_bsd.c
    functionUses: 0
    functionsReached:
    - set80211param
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int wpa_driver_bsd_set_drop_unencrypted(void *priv, int enabled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bsd_send_mlme_param
      Src: /src/hostap/src/drivers/driver_bsd.c:1176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - priv
    - addr
    - reason_code
    argTypes:
    - void*
    - u8*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1178
      start: 1173
    functionDepth: 3
    functionLinenumber: 1173
    functionLinenumberEnd: 1178
    functionName: wpa_driver_bsd_deauthenticate
    functionSourceFile: /src/hostap/src/drivers/driver_bsd.c
    functionUses: 0
    functionsReached:
    - bsd_send_mlme_param
    linkageType: ''
    returnType: int
    signature: int wpa_driver_bsd_deauthenticate(void *priv, const u8 *addr, u16 reason_code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: set80211param
      Src: /src/hostap/src/drivers/driver_bsd.c:1193,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - priv
    - auth_alg
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1194
      start: 1180
    functionDepth: 2
    functionLinenumber: 1180
    functionLinenumberEnd: 1194
    functionName: wpa_driver_bsd_set_auth_alg
    functionSourceFile: /src/hostap/src/drivers/driver_bsd.c
    functionUses: 0
    functionsReached:
    - set80211param
    linkageType: ''
    returnType: int
    signature: int wpa_driver_bsd_set_auth_alg(void *priv, int auth_alg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: drv_event_eapol_rx
      Src: /src/hostap/src/drivers/driver_bsd.c:1201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - src_addr
    - buf
    - len
    argTypes:
    - void*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1196
    functionDepth: 1
    functionLinenumber: 1196
    functionLinenumberEnd: 1202
    functionName: handle_read
    functionSourceFile: /src/hostap/src/drivers/driver_bsd.c
    functionUses: 0
    functionsReached:
    - drv_event_eapol_rx
    linkageType: ''
    returnType: void
    signature: void handle_read(void *ctx, const u8 *src_addr, const u8 *buf, size_t
      len)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_bsd.c:1213,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_bsd.c:1234,1
    - Dst: bsd_set_mediaopt
      Src: /src/hostap/src/drivers/driver_bsd.c:1237,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_bsd.c:1238,1
    - Dst: l2_packet_init
      Src: /src/hostap/src/drivers/driver_bsd.c:1244,1
    - Dst: wpa_driver_bsd_set_drop_unencrypted
      Src: /src/hostap/src/drivers/driver_bsd.c:1252,1
    - Dst: wpa_driver_bsd_set_auth_alg
      Src: /src/hostap/src/drivers/driver_bsd.c:1255,1
    - Dst: wpa_driver_bsd_set_wpa_ie
      Src: /src/hostap/src/drivers/driver_bsd.c:1258,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_bsd.c:1265,1
    - Dst: set80211param
      Src: /src/hostap/src/drivers/driver_bsd.c:1267,1
    - Dst: set80211param
      Src: /src/hostap/src/drivers/driver_bsd.c:1271,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_bsd.c:1275,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_bsd.c:1278,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_bsd.c:1281,1
    - Dst: set80211var
      Src: /src/hostap/src/drivers/driver_bsd.c:1282,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 49
    argCount: 2
    argNames:
    - priv
    - params
    argTypes:
    - void*
    - struct wpa_driver_associate_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1285
      start: 1204
    functionDepth: 3
    functionLinenumber: 1204
    functionLinenumberEnd: 1285
    functionName: wpa_driver_bsd_associate
    functionSourceFile: /src/hostap/src/drivers/driver_bsd.c
    functionUses: 0
    functionsReached:
    - wpa_driver_bsd_set_wpa_ie
    - wpa_printf
    - bsd_set_mediaopt
    - os_memcpy
    - set80211param
    - set80211var
    - wpa_driver_bsd_set_auth_alg
    - wpa_driver_bsd_set_drop_unencrypted
    - l2_packet_init
    - os_memset
    linkageType: ''
    returnType: int
    signature: int wpa_driver_bsd_associate(void *priv, struct wpa_driver_associate_params
      *params)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: bsd_set_mediaopt
      Src: /src/hostap/src/drivers/driver_bsd.c:1296,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_bsd.c:1297,1
    - Dst: set80211param
      Src: /src/hostap/src/drivers/driver_bsd.c:1302,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_bsd.c:1304,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_bsd.c:1306,1
    - Dst: wpa_driver_bsd_set_wpa
      Src: /src/hostap/src/drivers/driver_bsd.c:1310,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_bsd.c:1311,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_bsd.c:1312,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_bsd.c:1318,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_bsd.c:1324,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_bsd.c:1341,1
    - Dst: set80211var
      Src: /src/hostap/src/drivers/driver_bsd.c:1346,1
    - Dst: bsd_set_ssid
      Src: /src/hostap/src/drivers/driver_bsd.c:1349,1
    - Dst: set80211param
      Src: /src/hostap/src/drivers/driver_bsd.c:1354,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 2
    argNames:
    - priv
    - params
    argTypes:
    - void*
    - struct wpa_driver_scan_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1356
      start: 1287
    functionDepth: 5
    functionLinenumber: 1287
    functionLinenumberEnd: 1356
    functionName: wpa_driver_bsd_scan
    functionSourceFile: /src/hostap/src/drivers/driver_bsd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_driver_bsd_set_wpa
    - bsd_set_mediaopt
    - os_memcpy
    - strerror
    - set80211param
    - bsd_set_ssid
    - set80211var
    - os_memset
    linkageType: ''
    returnType: int
    signature: int wpa_driver_bsd_scan(void *priv, struct wpa_driver_scan_params *params)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/drivers/driver_bsd.c:1371,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_bsd.c:1374,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_bsd.c:1395,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_bsd.c:1404,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_bsd.c:1412,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_bsd.c:1415,1
    - Dst: os_realloc_array
      Src: /src/hostap/src/drivers/driver_bsd.c:1421,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_bsd.c:1424,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 39
    argCount: 2
    argNames:
    - res
    - sr
    argTypes:
    - struct wpa_scan_results*
    - struct ieee80211req_scan_result*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1429
      start: 1358
    functionDepth: 1
    functionLinenumber: 1358
    functionLinenumberEnd: 1429
    functionName: wpa_driver_bsd_add_scan_entry
    functionSourceFile: /src/hostap/src/drivers/driver_bsd.c
    functionUses: 0
    functionsReached:
    - os_free
    - os_zalloc
    - os_memcpy
    - os_realloc_array
    linkageType: ''
    returnType: void
    signature: "void wpa_driver_bsd_add_scan_entry(struct wpa_scan_results *res,\n\t\t\t
      \     struct ieee80211req_scan_result *sr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get80211var
      Src: /src/hostap/src/drivers/driver_bsd.c:1439,1
    - Dst: os_zalloc
      Src: /src/hostap/src/drivers/driver_bsd.c:1443,1
    - Dst: wpa_driver_bsd_add_scan_entry
      Src: /src/hostap/src/drivers/driver_bsd.c:1451,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_bsd.c:1456,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1460
      start: 1431
    functionDepth: 2
    functionLinenumber: 1431
    functionLinenumberEnd: 1460
    functionName: wpa_driver_bsd_get_scan_results2
    functionSourceFile: /src/hostap/src/drivers/driver_bsd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - get80211var
    - wpa_driver_bsd_add_scan_entry
    - os_zalloc
    linkageType: ''
    returnType: struct wpa_scan_results
    signature: 'struct wpa_scan_results *

      wpa_driver_bsd_get_scan_results2(void *priv)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: get80211var
      Src: /src/hostap/src/drivers/driver_bsd.c:1477,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_bsd.c:1479,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_bsd.c:1480,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_bsd.c:1484,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - drv
    argTypes:
    - struct bsd_driver_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1534
      start: 1462
    functionDepth: 2
    functionLinenumber: 1462
    functionLinenumberEnd: 1534
    functionName: wpa_driver_bsd_capa
    functionSourceFile: /src/hostap/src/drivers/driver_bsd.c
    functionUses: 0
    functionsReached:
    - get80211var
    - wpa_printf
    - strerror
    linkageType: ''
    returnType: int
    signature: int wpa_driver_bsd_capa(struct bsd_driver_data *drv)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/hostap/src/drivers/driver_bsd.c:1541,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_bsd.c:1542,1
    - Dst: ioctl
      Src: /src/hostap/src/drivers/driver_bsd.c:1544,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - drv
    argTypes:
    - struct bsd_driver_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1561
      start: 1536
    functionDepth: 0
    functionLinenumber: 1536
    functionLinenumberEnd: 1561
    functionName: get80211opmode
    functionSourceFile: /src/hostap/src/drivers/driver_bsd.c
    functionUses: 0
    functionsReached:
    - ioctl
    - os_strlcpy
    - memset
    linkageType: ''
    returnType: enum ieee80211_opmode
    signature: enum ieee80211_opmode get80211opmode(struct bsd_driver_data *drv)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/drivers/driver_bsd.c:1572,1
    - Dst: if_nametoindex
      Src: /src/hostap/src/drivers/driver_bsd.c:1576,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_bsd.c:1578,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_bsd.c:1585,1
    - Dst: GETPARAM
      Src: /src/hostap/src/drivers/driver_bsd.c:1590,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_bsd.c:1591,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_bsd.c:1592,1
    - Dst: GETPARAM
      Src: /src/hostap/src/drivers/driver_bsd.c:1595,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_bsd.c:1596,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_bsd.c:1597,1
    - Dst: GETPARAM
      Src: /src/hostap/src/drivers/driver_bsd.c:1600,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_bsd.c:1601,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_bsd.c:1602,1
    - Dst: wpa_driver_bsd_capa
      Src: /src/hostap/src/drivers/driver_bsd.c:1606,1
    - Dst: bsd_get_iface_flags
      Src: /src/hostap/src/drivers/driver_bsd.c:1614,1
    - Dst: get80211opmode
      Src: /src/hostap/src/drivers/driver_bsd.c:1620,1
    - Dst: dl_list_add
      Src: /src/hostap/src/drivers/driver_bsd.c:1621,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_bsd.c:1625,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 4
    argNames:
    - ctx
    - ifname
    - priv
    - p2p_mode
    argTypes:
    - void*
    - char*
    - void*
    - enum wpa_p2p_mode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1628
      start: 1563
    functionDepth: 3
    functionLinenumber: 1563
    functionLinenumberEnd: 1628
    functionName: wpa_driver_bsd_init
    functionSourceFile: /src/hostap/src/drivers/driver_bsd.c
    functionUses: 0
    functionsReached:
    - GETPARAM
    - wpa_printf
    - wpa_driver_bsd_capa
    - strerror
    - bsd_get_iface_flags
    - get80211opmode
    - os_strlcpy
    - os_zalloc
    - dl_list_add
    - os_free
    - if_nametoindex
    linkageType: ''
    returnType: void
    signature: "void *\nwpa_driver_bsd_init(void *ctx, const char *ifname, void *priv,\n\t\t
      \   enum wpa_p2p_mode p2p_mode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - drv
    - ','
    - param
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1569
      start: 1567
    functionDepth: 0
    functionLinenumber: 1567
    functionLinenumberEnd: 1569
    functionName: GETPARAM
    functionSourceFile: /src/hostap/src/drivers/driver_bsd.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETPARAM(drv, param, v)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_driver_bsd_set_wpa
      Src: /src/hostap/src/drivers/driver_bsd.c:1636,1
    - Dst: wpa_driver_bsd_set_wpa_internal
      Src: /src/hostap/src/drivers/driver_bsd.c:1638,1
    - Dst: set80211param
      Src: /src/hostap/src/drivers/driver_bsd.c:1641,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_bsd.c:1643,1
    - Dst: l2_packet_deinit
      Src: /src/hostap/src/drivers/driver_bsd.c:1649,1
    - Dst: dl_list_del
      Src: /src/hostap/src/drivers/driver_bsd.c:1650,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_bsd.c:1651,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1652
      start: 1630
    functionDepth: 5
    functionLinenumber: 1630
    functionLinenumberEnd: 1652
    functionName: wpa_driver_bsd_deinit
    functionSourceFile: /src/hostap/src/drivers/driver_bsd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_driver_bsd_set_wpa
    - dl_list_del
    - l2_packet_deinit
    - set80211param
    - os_free
    - wpa_driver_bsd_set_wpa_internal
    linkageType: ''
    returnType: void
    signature: void wpa_driver_bsd_deinit(void *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_bsd.c:1659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - priv
    - capa
    argTypes:
    - void*
    - struct wpa_driver_capa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1661
      start: 1654
    functionDepth: 0
    functionLinenumber: 1654
    functionLinenumberEnd: 1661
    functionName: wpa_driver_bsd_get_capa
    functionSourceFile: /src/hostap/src/drivers/driver_bsd.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    linkageType: ''
    returnType: int
    signature: int wpa_driver_bsd_get_capa(void *priv, struct wpa_driver_capa *capa)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/drivers/driver_bsd.c:1678,1
    - Dst: dl_list_init
      Src: /src/hostap/src/drivers/driver_bsd.c:1683,1
    - Dst: socket
      Src: /src/hostap/src/drivers/driver_bsd.c:1685,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_bsd.c:1688,1
    - Dst: socket
      Src: /src/hostap/src/drivers/driver_bsd.c:1690,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_bsd.c:1693,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_bsd.c:1695,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_bsd.c:1699,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_bsd.c:1700,1
    - Dst: socket
      Src: /src/hostap/src/drivers/driver_bsd.c:1705,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_bsd.c:1708,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_bsd.c:1709,1
    - Dst: setsockopt
      Src: /src/hostap/src/drivers/driver_bsd.c:1714,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_bsd.c:1716,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_bsd.c:1717,1
    - Dst: ROUTE_FILTER
      Src: /src/hostap/src/drivers/driver_bsd.c:1721,1
    - Dst: setsockopt
      Src: /src/hostap/src/drivers/driver_bsd.c:1722,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_bsd.c:1724,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_bsd.c:1725,1
    - Dst: eloop_register_read_sock
      Src: /src/hostap/src/drivers/driver_bsd.c:1728,1
    - Dst: close
      Src: /src/hostap/src/drivers/driver_bsd.c:1734,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_bsd.c:1736,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1738
      start: 1664
    functionDepth: 1
    functionLinenumber: 1664
    functionLinenumberEnd: 1738
    functionName: bsd_global_init
    functionSourceFile: /src/hostap/src/drivers/driver_bsd.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - ROUTE_FILTER
    - strerror
    - eloop_register_read_sock
    - socket
    - setsockopt
    - os_zalloc
    - close
    - dl_list_init
    - os_free
    linkageType: ''
    returnType: void
    signature: 'void *

      bsd_global_init(void *ctx)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eloop_unregister_read_sock
      Src: /src/hostap/src/drivers/driver_bsd.c:1745,1
    - Dst: close
      Src: /src/hostap/src/drivers/driver_bsd.c:1746,1
    - Dst: close
      Src: /src/hostap/src/drivers/driver_bsd.c:1747,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_bsd.c:1748,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1749
      start: 1740
    functionDepth: 0
    functionLinenumber: 1740
    functionLinenumberEnd: 1749
    functionName: bsd_global_deinit
    functionSourceFile: /src/hostap/src/drivers/driver_bsd.c
    functionUses: 0
    functionsReached:
    - os_free
    - eloop_unregister_read_sock
    - close
    linkageType: ''
    returnType: void
    signature: void bsd_global_deinit(void *priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/hostap/src/drivers/driver_wired_common.c:38,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wired_common.c:40,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_wired_common.c:40,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_wired_common.c:44,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_wired_common.c:45,1
    - Dst: ioctl
      Src: /src/hostap/src/drivers/driver_wired_common.c:46,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wired_common.c:47,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_wired_common.c:48,1
    - Dst: close
      Src: /src/hostap/src/drivers/driver_wired_common.c:49,1
    - Dst: close
      Src: /src/hostap/src/drivers/driver_wired_common.c:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - ifname
    - flags
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 55
    functionName: driver_wired_get_ifflags
    functionSourceFile: /src/hostap/src/drivers/driver_wired_common.c
    functionUses: 0
    functionsReached:
    - ioctl
    - wpa_printf
    - strerror
    - socket
    - os_strlcpy
    - close
    - os_memset
    linkageType: ''
    returnType: int
    signature: int driver_wired_get_ifflags(const char *ifname, int *flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/hostap/src/drivers/driver_wired_common.c:63,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wired_common.c:65,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_wired_common.c:65,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_wired_common.c:69,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_wired_common.c:70,1
    - Dst: ioctl
      Src: /src/hostap/src/drivers/driver_wired_common.c:72,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wired_common.c:73,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_wired_common.c:74,1
    - Dst: close
      Src: /src/hostap/src/drivers/driver_wired_common.c:75,1
    - Dst: close
      Src: /src/hostap/src/drivers/driver_wired_common.c:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - ifname
    - flags
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 80
    functionName: driver_wired_set_ifflags
    functionSourceFile: /src/hostap/src/drivers/driver_wired_common.c
    functionUses: 0
    functionsReached:
    - ioctl
    - wpa_printf
    - strerror
    - socket
    - os_strlcpy
    - close
    - os_memset
    linkageType: ''
    returnType: int
    signature: int driver_wired_set_ifflags(const char *ifname, int flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/hostap/src/drivers/driver_wired_common.c:92,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wired_common.c:94,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_wired_common.c:94,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_wired_common.c:98,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_wired_common.c:99,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_wired_common.c:102,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_wired_common.c:115,1
    - Dst: LLADDR
      Src: /src/hostap/src/drivers/driver_wired_common.c:115,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_wired_common.c:125,1
    - Dst: ioctl
      Src: /src/hostap/src/drivers/driver_wired_common.c:129,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wired_common.c:130,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_wired_common.c:131,1
    - Dst: close
      Src: /src/hostap/src/drivers/driver_wired_common.c:132,1
    - Dst: close
      Src: /src/hostap/src/drivers/driver_wired_common.c:135,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 3
    argNames:
    - ifname
    - addr
    - add
    argTypes:
    - char*
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 137
    functionName: driver_wired_multi
    functionSourceFile: /src/hostap/src/drivers/driver_wired_common.c
    functionUses: 0
    functionsReached:
    - ioctl
    - wpa_printf
    - os_memcpy
    - strerror
    - socket
    - os_strlcpy
    - close
    - LLADDR
    - os_memset
    linkageType: ''
    returnType: int
    signature: int driver_wired_multi(const char *ifname, const u8 *addr, int add)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_wired_common.c:148,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_wired_common.c:152,1
    - Dst: setsockopt
      Src: /src/hostap/src/drivers/driver_wired_common.c:154,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wired_common.c:157,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_wired_common.c:157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - sock
    - ifindex
    - addr
    - add
    argTypes:
    - int
    - int
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 164
    functionName: wired_multicast_membership
    functionSourceFile: /src/hostap/src/drivers/driver_wired_common.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_printf
    - strerror
    - setsockopt
    - os_memset
    linkageType: ''
    returnType: int
    signature: int wired_multicast_membership(int sock, int ifindex, const u8 *addr,
      int add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - priv
    - ssid
    argTypes:
    - void*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 171
    functionName: driver_wired_get_ssid
    functionSourceFile: /src/hostap/src/drivers/driver_wired_common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int driver_wired_get_ssid(void *priv, u8 *ssid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_wired_common.c:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - priv
    - bssid
    argTypes:
    - void*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 179
    functionName: driver_wired_get_bssid
    functionSourceFile: /src/hostap/src/drivers/driver_wired_common.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    linkageType: ''
    returnType: int
    signature: int driver_wired_get_bssid(void *priv, u8 *bssid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_wired_common.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - priv
    - capa
    argTypes:
    - void*
    - struct wpa_driver_capa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 187
    functionName: driver_wired_get_capa
    functionSourceFile: /src/hostap/src/drivers/driver_wired_common.c
    functionUses: 0
    functionsReached:
    - os_memset
    linkageType: ''
    returnType: int
    signature: int driver_wired_get_capa(void *priv, struct wpa_driver_capa *capa)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/hostap/src/drivers/driver_wired_common.c:196,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wired_common.c:198,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_wired_common.c:198,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_wired_common.c:202,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_wired_common.c:203,1
    - Dst: ioctl
      Src: /src/hostap/src/drivers/driver_wired_common.c:204,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wired_common.c:205,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_wired_common.c:206,1
    - Dst: close
      Src: /src/hostap/src/drivers/driver_wired_common.c:207,1
    - Dst: close
      Src: /src/hostap/src/drivers/driver_wired_common.c:210,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - ifname
    - status
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 215
    functionName: driver_wired_get_ifstatus
    functionSourceFile: /src/hostap/src/drivers/driver_wired_common.c
    functionUses: 0
    functionsReached:
    - ioctl
    - wpa_printf
    - strerror
    - socket
    - os_strlcpy
    - close
    - os_memset
    linkageType: ''
    returnType: int
    signature: int driver_wired_get_ifstatus(const char *ifname, int *status)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_wired_common.c:224,1
    - Dst: socket
      Src: /src/hostap/src/drivers/driver_wired_common.c:228,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wired_common.c:230,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_wired_common.c:230,1
    - Dst: driver_wired_get_ifflags
      Src: /src/hostap/src/drivers/driver_wired_common.c:235,1
    - Dst: driver_wired_set_ifflags
      Src: /src/hostap/src/drivers/driver_wired_common.c:237,1
    - Dst: wired_multicast_membership
      Src: /src/hostap/src/drivers/driver_wired_common.c:240,1
    - Dst: if_nametoindex
      Src: /src/hostap/src/drivers/driver_wired_common.c:241,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wired_common.c:243,1
    - Dst: driver_wired_multi
      Src: /src/hostap/src/drivers/driver_wired_common.c:247,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wired_common.c:248,1
    - Dst: driver_wired_get_ifflags
      Src: /src/hostap/src/drivers/driver_wired_common.c:252,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wired_common.c:253,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wired_common.c:257,1
    - Dst: driver_wired_set_ifflags
      Src: /src/hostap/src/drivers/driver_wired_common.c:260,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wired_common.c:262,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wired_common.c:265,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wired_common.c:272,1
    - Dst: driver_wired_get_ifstatus
      Src: /src/hostap/src/drivers/driver_wired_common.c:274,1
    - Dst: sleep
      Src: /src/hostap/src/drivers/driver_wired_common.c:276,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 3
    argNames:
    - common
    - ifname
    - ctx
    argTypes:
    - struct driver_wired_common_data*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 281
    functionName: driver_wired_init_common
    functionSourceFile: /src/hostap/src/drivers/driver_wired_common.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - driver_wired_get_ifstatus
    - strerror
    - driver_wired_get_ifflags
    - socket
    - os_strlcpy
    - wired_multicast_membership
    - sleep
    - driver_wired_set_ifflags
    - driver_wired_multi
    - if_nametoindex
    linkageType: ''
    returnType: int
    signature: "int driver_wired_init_common(struct driver_wired_common_data *common,\n\t\t\t
      \    const char *ifname, void *ctx)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wired_multicast_membership
      Src: /src/hostap/src/drivers/driver_wired_common.c:289,1
    - Dst: if_nametoindex
      Src: /src/hostap/src/drivers/driver_wired_common.c:290,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wired_common.c:292,1
    - Dst: driver_wired_multi
      Src: /src/hostap/src/drivers/driver_wired_common.c:298,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wired_common.c:299,1
    - Dst: driver_wired_get_ifflags
      Src: /src/hostap/src/drivers/driver_wired_common.c:305,1
    - Dst: driver_wired_set_ifflags
      Src: /src/hostap/src/drivers/driver_wired_common.c:306,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wired_common.c:308,1
    - Dst: driver_wired_get_ifflags
      Src: /src/hostap/src/drivers/driver_wired_common.c:313,1
    - Dst: driver_wired_set_ifflags
      Src: /src/hostap/src/drivers/driver_wired_common.c:315,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wired_common.c:316,1
    - Dst: close
      Src: /src/hostap/src/drivers/driver_wired_common.c:321,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 15
    argCount: 1
    argNames:
    - common
    argTypes:
    - struct driver_wired_common_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 322
    functionName: driver_wired_deinit_common
    functionSourceFile: /src/hostap/src/drivers/driver_wired_common.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - driver_wired_get_ifflags
    - wired_multicast_membership
    - driver_wired_set_ifflags
    - close
    - driver_wired_multi
    - if_nametoindex
    linkageType: ''
    returnType: void
    signature: void driver_wired_deinit_common(struct driver_wired_common_data *common)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rq
    argTypes:
    - struct ifreq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: if_mii
    functionSourceFile: /src/hostap/src/drivers/driver_roboswitch.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct mii_ioctl_data
    signature: struct mii_ioctl_data *if_mii(struct ifreq *rq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/drivers/driver_roboswitch.c:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - addr
    - be
    argTypes:
    - u8[]
    - u16*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: wpa_driver_roboswitch_addr_be16
    functionSourceFile: /src/hostap/src/drivers/driver_roboswitch.c
    functionUses: 0
    functionsReached:
    - WPA_GET_BE16
    linkageType: ''
    returnType: void
    signature: void wpa_driver_roboswitch_addr_be16(const u8 addr[ETH_ALEN], u16 *be)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: if_mii
      Src: /src/hostap/src/drivers/driver_roboswitch.c:88,1
    - Dst: ioctl
      Src: /src/hostap/src/drivers/driver_roboswitch.c:93,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_roboswitch.c:94,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_roboswitch.c:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - drv
    - reg
    argTypes:
    - struct wpa_driver_roboswitch_data*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 99
    functionName: wpa_driver_roboswitch_mdio_read
    functionSourceFile: /src/hostap/src/drivers/driver_roboswitch.c
    functionUses: 0
    functionsReached:
    - ioctl
    - wpa_printf
    - if_mii
    - strerror
    linkageType: ''
    returnType: u16
    signature: "u16 wpa_driver_roboswitch_mdio_read(\n\tstruct wpa_driver_roboswitch_data
      *drv, u8 reg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: if_mii
      Src: /src/hostap/src/drivers/driver_roboswitch.c:105,1
    - Dst: ioctl
      Src: /src/hostap/src/drivers/driver_roboswitch.c:111,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_roboswitch.c:112,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_roboswitch.c:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - drv
    - reg
    - val
    argTypes:
    - struct wpa_driver_roboswitch_data*
    - u8
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 115
    functionName: wpa_driver_roboswitch_mdio_write
    functionSourceFile: /src/hostap/src/drivers/driver_roboswitch.c
    functionUses: 0
    functionsReached:
    - ioctl
    - wpa_printf
    - if_mii
    - strerror
    linkageType: ''
    returnType: void
    signature: "void wpa_driver_roboswitch_mdio_write(\n\tstruct wpa_driver_roboswitch_data
      *drv, u8 reg, u16 val)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_driver_roboswitch_mdio_write
      Src: /src/hostap/src/drivers/driver_roboswitch.c:124,1
    - Dst: wpa_driver_roboswitch_mdio_write
      Src: /src/hostap/src/drivers/driver_roboswitch.c:127,1
    - Dst: wpa_driver_roboswitch_mdio_read
      Src: /src/hostap/src/drivers/driver_roboswitch.c:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - drv
    - page
    - reg
    - op
    argTypes:
    - struct wpa_driver_roboswitch_data*
    - u8
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 137
    functionName: wpa_driver_roboswitch_reg
    functionSourceFile: /src/hostap/src/drivers/driver_roboswitch.c
    functionUses: 0
    functionsReached:
    - wpa_driver_roboswitch_mdio_write
    - wpa_driver_roboswitch_mdio_read
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_roboswitch_reg(struct wpa_driver_roboswitch_data *drv,\n\t\t\t\t
      \    u8 page, u8 reg, u8 op)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_driver_roboswitch_reg
      Src: /src/hostap/src/drivers/driver_roboswitch.c:146,1
    - Dst: wpa_driver_roboswitch_mdio_read
      Src: /src/hostap/src/drivers/driver_roboswitch.c:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 5
    argNames:
    - drv
    - page
    - reg
    - val
    - len
    argTypes:
    - struct wpa_driver_roboswitch_data*
    - u8
    - u8
    - u16*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 140
    functionDepth: 3
    functionLinenumber: 140
    functionLinenumberEnd: 155
    functionName: wpa_driver_roboswitch_read
    functionSourceFile: /src/hostap/src/drivers/driver_roboswitch.c
    functionUses: 0
    functionsReached:
    - wpa_driver_roboswitch_reg
    - wpa_driver_roboswitch_mdio_read
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_roboswitch_read(struct wpa_driver_roboswitch_data *drv,\n\t\t\t\t
      \     u8 page, u8 reg, u16 *val, int len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_driver_roboswitch_mdio_write
      Src: /src/hostap/src/drivers/driver_roboswitch.c:165,1
    - Dst: wpa_driver_roboswitch_reg
      Src: /src/hostap/src/drivers/driver_roboswitch.c:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - drv
    - page
    - reg
    - val
    - len
    argTypes:
    - struct wpa_driver_roboswitch_data*
    - u8
    - u8
    - u16*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 158
    functionDepth: 3
    functionLinenumber: 158
    functionLinenumberEnd: 169
    functionName: wpa_driver_roboswitch_write
    functionSourceFile: /src/hostap/src/drivers/driver_roboswitch.c
    functionUses: 0
    functionsReached:
    - wpa_driver_roboswitch_mdio_write
    - wpa_driver_roboswitch_reg
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_roboswitch_write(struct wpa_driver_roboswitch_data
      *drv,\n\t\t\t\t       u8 page, u8 reg, u16 *val, int len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/drivers/driver_roboswitch.c:177,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/drivers/driver_roboswitch.c:178,1
    - Dst: drv_event_eapol_rx
      Src: /src/hostap/src/drivers/driver_roboswitch.c:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 4
    argNames:
    - priv
    - src_addr
    - buf
    - len
    argTypes:
    - void*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 180
    functionName: wpa_driver_roboswitch_receive
    functionSourceFile: /src/hostap/src/drivers/driver_roboswitch.c
    functionUses: 0
    functionsReached:
    - WPA_GET_BE16
    - ether_addr_equal
    - drv_event_eapol_rx
    linkageType: ''
    returnType: void
    signature: "void wpa_driver_roboswitch_receive(void *priv, const u8 *src_addr,\n\t\t\t\t\t
      \ const u8 *buf, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - priv
    - ssid
    argTypes:
    - void*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 187
    functionName: wpa_driver_roboswitch_get_ssid
    functionSourceFile: /src/hostap/src/drivers/driver_roboswitch.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpa_driver_roboswitch_get_ssid(void *priv, u8 *ssid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_roboswitch.c:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - priv
    - bssid
    argTypes:
    - void*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 195
    functionName: wpa_driver_roboswitch_get_bssid
    functionSourceFile: /src/hostap/src/drivers/driver_roboswitch.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    linkageType: ''
    returnType: int
    signature: int wpa_driver_roboswitch_get_bssid(void *priv, u8 *bssid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_roboswitch.c:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - priv
    - capa
    argTypes:
    - void*
    - struct wpa_driver_capa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 204
    functionName: wpa_driver_roboswitch_get_capa
    functionSourceFile: /src/hostap/src/drivers/driver_roboswitch.c
    functionUses: 0
    functionsReached:
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_roboswitch_get_capa(void *priv,\n\t\t\t\t\t  struct
      wpa_driver_capa *capa)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_strstr
      Src: /src/hostap/src/drivers/driver_roboswitch.c:212,1
    - Dst: os_strlen
      Src: /src/hostap/src/drivers/driver_roboswitch.c:213,1
    - Dst: l2_packet_init
      Src: /src/hostap/src/drivers/driver_roboswitch.c:215,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_roboswitch.c:219,1
    - Dst: l2_packet_get_own_addr
      Src: /src/hostap/src/drivers/driver_roboswitch.c:224,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_roboswitch.c:226,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - priv
    - param
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 230
    functionName: wpa_driver_roboswitch_set_param
    functionSourceFile: /src/hostap/src/drivers/driver_roboswitch.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - os_strstr
    - l2_packet_init
    - l2_packet_get_own_addr
    linkageType: ''
    returnType: int
    signature: int wpa_driver_roboswitch_set_param(void *priv, const char *param)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: wpa_driver_roboswitch_get_ifname
    functionSourceFile: /src/hostap/src/drivers/driver_roboswitch.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * wpa_driver_roboswitch_get_ifname(void *priv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_driver_roboswitch_addr_be16
      Src: /src/hostap/src/drivers/driver_roboswitch.c:245,1
    - Dst: wpa_driver_roboswitch_read
      Src: /src/hostap/src/drivers/driver_roboswitch.c:247,1
    - Dst: wpa_driver_roboswitch_write
      Src: /src/hostap/src/drivers/driver_roboswitch.c:253,1
    - Dst: wpa_driver_roboswitch_write
      Src: /src/hostap/src/drivers/driver_roboswitch.c:255,1
    - Dst: wpa_driver_roboswitch_write
      Src: /src/hostap/src/drivers/driver_roboswitch.c:257,1
    - Dst: wpa_driver_roboswitch_write
      Src: /src/hostap/src/drivers/driver_roboswitch.c:259,1
    - Dst: wpa_driver_roboswitch_write
      Src: /src/hostap/src/drivers/driver_roboswitch.c:261,1
    - Dst: wpa_driver_roboswitch_read
      Src: /src/hostap/src/drivers/driver_roboswitch.c:265,1
    - Dst: wpa_driver_roboswitch_read
      Src: /src/hostap/src/drivers/driver_roboswitch.c:267,1
    - Dst: os_memcmp
      Src: /src/hostap/src/drivers/driver_roboswitch.c:269,1
    - Dst: wpa_driver_roboswitch_read
      Src: /src/hostap/src/drivers/driver_roboswitch.c:271,1
    - Dst: wpa_driver_roboswitch_read
      Src: /src/hostap/src/drivers/driver_roboswitch.c:273,1
    - Dst: wpa_driver_roboswitch_write
      Src: /src/hostap/src/drivers/driver_roboswitch.c:277,1
    - Dst: wpa_driver_roboswitch_write
      Src: /src/hostap/src/drivers/driver_roboswitch.c:279,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 3
    argNames:
    - drv
    - ports
    - addr
    argTypes:
    - struct wpa_driver_roboswitch_data*
    - u16
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 240
    functionDepth: 4
    functionLinenumber: 240
    functionLinenumberEnd: 283
    functionName: wpa_driver_roboswitch_join
    functionSourceFile: /src/hostap/src/drivers/driver_roboswitch.c
    functionUses: 0
    functionsReached:
    - wpa_driver_roboswitch_read
    - wpa_driver_roboswitch_addr_be16
    - os_memcmp
    - wpa_driver_roboswitch_write
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_roboswitch_join(struct wpa_driver_roboswitch_data *drv,\n\t\t\t\t
      \     u16 ports, const u8 *addr)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_driver_roboswitch_addr_be16
      Src: /src/hostap/src/drivers/driver_roboswitch.c:291,1
    - Dst: wpa_driver_roboswitch_read
      Src: /src/hostap/src/drivers/driver_roboswitch.c:293,1
    - Dst: wpa_driver_roboswitch_read
      Src: /src/hostap/src/drivers/driver_roboswitch.c:299,1
    - Dst: wpa_driver_roboswitch_read
      Src: /src/hostap/src/drivers/driver_roboswitch.c:301,1
    - Dst: os_memcmp
      Src: /src/hostap/src/drivers/driver_roboswitch.c:305,1
    - Dst: wpa_driver_roboswitch_read
      Src: /src/hostap/src/drivers/driver_roboswitch.c:306,1
    - Dst: wpa_driver_roboswitch_read
      Src: /src/hostap/src/drivers/driver_roboswitch.c:309,1
    - Dst: os_memcmp
      Src: /src/hostap/src/drivers/driver_roboswitch.c:314,1
    - Dst: wpa_driver_roboswitch_write
      Src: /src/hostap/src/drivers/driver_roboswitch.c:317,1
    - Dst: wpa_driver_roboswitch_read
      Src: /src/hostap/src/drivers/driver_roboswitch.c:321,1
    - Dst: wpa_driver_roboswitch_read
      Src: /src/hostap/src/drivers/driver_roboswitch.c:324,1
    - Dst: wpa_driver_roboswitch_write
      Src: /src/hostap/src/drivers/driver_roboswitch.c:327,1
    - Dst: wpa_driver_roboswitch_write
      Src: /src/hostap/src/drivers/driver_roboswitch.c:330,1
    - Dst: wpa_driver_roboswitch_read
      Src: /src/hostap/src/drivers/driver_roboswitch.c:335,1
    - Dst: wpa_driver_roboswitch_read
      Src: /src/hostap/src/drivers/driver_roboswitch.c:338,1
    - Dst: os_memcmp
      Src: /src/hostap/src/drivers/driver_roboswitch.c:343,1
    - Dst: wpa_driver_roboswitch_write
      Src: /src/hostap/src/drivers/driver_roboswitch.c:345,1
    - Dst: wpa_driver_roboswitch_write
      Src: /src/hostap/src/drivers/driver_roboswitch.c:348,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 3
    argNames:
    - drv
    - ports
    - addr
    argTypes:
    - struct wpa_driver_roboswitch_data*
    - u16
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 286
    functionDepth: 4
    functionLinenumber: 286
    functionLinenumberEnd: 354
    functionName: wpa_driver_roboswitch_leave
    functionSourceFile: /src/hostap/src/drivers/driver_roboswitch.c
    functionUses: 0
    functionsReached:
    - wpa_driver_roboswitch_read
    - wpa_driver_roboswitch_addr_be16
    - os_memcmp
    - wpa_driver_roboswitch_write
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_roboswitch_leave(struct wpa_driver_roboswitch_data
      *drv,\n\t\t\t\t       u16 ports, const u8 *addr)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/drivers/driver_roboswitch.c:363,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_roboswitch.c:370,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_roboswitch.c:374,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_roboswitch.c:376,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_roboswitch.c:382,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_roboswitch.c:384,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_roboswitch.c:390,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_roboswitch.c:392,1
    - Dst: socket
      Src: /src/hostap/src/drivers/driver_roboswitch.c:397,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_roboswitch.c:399,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_roboswitch.c:400,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_roboswitch.c:404,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_roboswitch.c:405,1
    - Dst: ioctl
      Src: /src/hostap/src/drivers/driver_roboswitch.c:406,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_roboswitch.c:407,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_roboswitch.c:408,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_roboswitch.c:409,1
    - Dst: if_mii
      Src: /src/hostap/src/drivers/driver_roboswitch.c:413,1
    - Dst: if_mii
      Src: /src/hostap/src/drivers/driver_roboswitch.c:414,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_roboswitch.c:415,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_roboswitch.c:417,1
    - Dst: wpa_driver_roboswitch_write
      Src: /src/hostap/src/drivers/driver_roboswitch.c:423,1
    - Dst: wpa_driver_roboswitch_read
      Src: /src/hostap/src/drivers/driver_roboswitch.c:425,1
    - Dst: wpa_driver_roboswitch_write
      Src: /src/hostap/src/drivers/driver_roboswitch.c:431,1
    - Dst: wpa_driver_roboswitch_read
      Src: /src/hostap/src/drivers/driver_roboswitch.c:435,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_roboswitch.c:438,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_roboswitch.c:440,1
    - Dst: wpa_driver_roboswitch_join
      Src: /src/hostap/src/drivers/driver_roboswitch.c:446,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_roboswitch.c:447,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_roboswitch.c:448,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_roboswitch.c:451,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 69
    argCount: 2
    argNames:
    - ctx
    - ifname
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 357
    functionDepth: 5
    functionLinenumber: 357
    functionLinenumberEnd: 456
    functionName: wpa_driver_roboswitch_init
    functionSourceFile: /src/hostap/src/drivers/driver_roboswitch.c
    functionUses: 0
    functionsReached:
    - ioctl
    - wpa_printf
    - strerror
    - wpa_driver_roboswitch_join
    - socket
    - os_strlcpy
    - os_zalloc
    - if_mii
    - os_free
    - wpa_driver_roboswitch_read
    - wpa_driver_roboswitch_write
    - os_memset
    linkageType: ''
    returnType: void
    signature: void * wpa_driver_roboswitch_init(void *ctx, const char *ifname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: l2_packet_deinit
      Src: /src/hostap/src/drivers/driver_roboswitch.c:464,1
    - Dst: wpa_driver_roboswitch_leave
      Src: /src/hostap/src/drivers/driver_roboswitch.c:467,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_roboswitch.c:468,1
    - Dst: close
      Src: /src/hostap/src/drivers/driver_roboswitch.c:472,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_roboswitch.c:473,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 459
    functionDepth: 5
    functionLinenumber: 459
    functionLinenumberEnd: 474
    functionName: wpa_driver_roboswitch_deinit
    functionSourceFile: /src/hostap/src/drivers/driver_roboswitch.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - l2_packet_deinit
    - close
    - os_free
    - wpa_driver_roboswitch_leave
    linkageType: ''
    returnType: void
    signature: void wpa_driver_roboswitch_deinit(void *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _Function
    - ','
    - _Method
    - ','
    - _Access
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 402
    functionName: _NDISUIO_CTL_CODE
    functionSourceFile: /src/hostap/src/drivers/driver_ndis.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _NDISUIO_CTL_CODE(_Function, _Method, _Access)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/drivers/driver_ndis.c:461,1
    - Dst: DeviceIoControl
      Src: /src/hostap/src/drivers/driver_ndis.c:468,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:471,1
    - Dst: GetLastError
      Src: /src/hostap/src/drivers/driver_ndis.c:472,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_ndis.c:473,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:478,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_ndis.c:480,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:485,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_ndis.c:487,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_ndis.c:490,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_ndis.c:492,1
    - Dst: os_zalloc
      Src: /src/hostap/src/drivers/driver_ndis.c:499,1
    - Dst: PacketRequest
      Src: /src/hostap/src/drivers/driver_ndis.c:506,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:507,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_ndis.c:509,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:513,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_ndis.c:515,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_ndis.c:518,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_ndis.c:520,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 47
    argCount: 4
    argNames:
    - drv
    - oid
    - data
    - len
    argTypes:
    - struct wpa_driver_ndis_data*
    - unsigned int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 523
    functionName: ndis_get_oid
    functionSourceFile: /src/hostap/src/drivers/driver_ndis.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - PacketRequest
    - GetLastError
    - DeviceIoControl
    - os_zalloc
    - os_free
    linkageType: ''
    returnType: int
    signature: "int ndis_get_oid(struct wpa_driver_ndis_data *drv, unsigned int oid,\n\t\t\tchar
      *data, size_t len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/src/drivers/driver_ndis.c:535,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/drivers/driver_ndis.c:536,1
    - Dst: os_zalloc
      Src: /src/hostap/src/drivers/driver_ndis.c:540,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_ndis.c:548,1
    - Dst: DeviceIoControl
      Src: /src/hostap/src/drivers/driver_ndis.c:549,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:551,1
    - Dst: GetLastError
      Src: /src/hostap/src/drivers/driver_ndis.c:552,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_ndis.c:553,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_ndis.c:556,1
    - Dst: os_snprintf
      Src: /src/hostap/src/drivers/driver_ndis.c:563,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/drivers/driver_ndis.c:564,1
    - Dst: os_zalloc
      Src: /src/hostap/src/drivers/driver_ndis.c:566,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_ndis.c:573,1
    - Dst: PacketRequest
      Src: /src/hostap/src/drivers/driver_ndis.c:575,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:576,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_ndis.c:578,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_ndis.c:581,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 4
    argNames:
    - drv
    - oid
    - data
    - len
    argTypes:
    - struct wpa_driver_ndis_data*
    - unsigned int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 584
    functionName: ndis_set_oid
    functionSourceFile: /src/hostap/src/drivers/driver_ndis.c
    functionUses: 0
    functionsReached:
    - wpa_hexdump_key
    - os_memcpy
    - wpa_printf
    - PacketRequest
    - GetLastError
    - DeviceIoControl
    - os_snprintf
    - os_zalloc
    - os_free
    linkageType: ''
    returnType: int
    signature: "int ndis_set_oid(struct wpa_driver_ndis_data *drv, unsigned int oid,\n\t\t\tconst
      char *data, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndis_set_oid
      Src: /src/hostap/src/drivers/driver_ndis.c:590,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:592,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - drv
    - mode
    argTypes:
    - struct wpa_driver_ndis_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 587
    functionDepth: 1
    functionLinenumber: 587
    functionLinenumberEnd: 598
    functionName: ndis_set_auth_mode
    functionSourceFile: /src/hostap/src/drivers/driver_ndis.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - ndis_set_oid
    linkageType: ''
    returnType: int
    signature: int ndis_set_auth_mode(struct wpa_driver_ndis_data *drv, int mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndis_get_oid
      Src: /src/hostap/src/drivers/driver_ndis.c:605,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:608,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - drv
    argTypes:
    - struct wpa_driver_ndis_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 601
    functionDepth: 1
    functionLinenumber: 601
    functionLinenumberEnd: 613
    functionName: ndis_get_auth_mode
    functionSourceFile: /src/hostap/src/drivers/driver_ndis.c
    functionUses: 0
    functionsReached:
    - ndis_get_oid
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int ndis_get_auth_mode(struct wpa_driver_ndis_data *drv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndis_set_oid
      Src: /src/hostap/src/drivers/driver_ndis.c:619,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:621,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - drv
    - encr
    argTypes:
    - struct wpa_driver_ndis_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 616
    functionDepth: 1
    functionLinenumber: 616
    functionLinenumberEnd: 626
    functionName: ndis_set_encr_status
    functionSourceFile: /src/hostap/src/drivers/driver_ndis.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - ndis_set_oid
    linkageType: ''
    returnType: int
    signature: int ndis_set_encr_status(struct wpa_driver_ndis_data *drv, int encr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndis_get_oid
      Src: /src/hostap/src/drivers/driver_ndis.c:633,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:636,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - drv
    argTypes:
    - struct wpa_driver_ndis_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 629
    functionDepth: 1
    functionLinenumber: 629
    functionLinenumberEnd: 641
    functionName: ndis_get_encr_status
    functionSourceFile: /src/hostap/src/drivers/driver_ndis.c
    functionUses: 0
    functionsReached:
    - ndis_get_oid
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int ndis_get_encr_status(struct wpa_driver_ndis_data *drv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_ndis.c:653,1
    - Dst: ndis_get_oid
      Src: /src/hostap/src/drivers/driver_ndis.c:657,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - priv
    - bssid
    argTypes:
    - void*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 644
    functionDepth: 1
    functionLinenumber: 644
    functionLinenumberEnd: 659
    functionName: wpa_driver_ndis_get_bssid
    functionSourceFile: /src/hostap/src/drivers/driver_ndis.c
    functionUses: 0
    functionsReached:
    - ndis_get_oid
    - os_memcpy
    linkageType: ''
    returnType: int
    signature: int wpa_driver_ndis_get_bssid(void *priv, u8 *bssid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ndis_get_oid
      Src: /src/hostap/src/drivers/driver_ndis.c:668,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:670,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:672,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_ndis.c:678,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - priv
    - ssid
    argTypes:
    - void*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 662
    functionDepth: 1
    functionLinenumber: 662
    functionLinenumberEnd: 680
    functionName: wpa_driver_ndis_get_ssid
    functionSourceFile: /src/hostap/src/drivers/driver_ndis.c
    functionUses: 0
    functionsReached:
    - ndis_get_oid
    - wpa_printf
    - os_memcpy
    linkageType: ''
    returnType: int
    signature: int wpa_driver_ndis_get_ssid(void *priv, u8 *ssid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_ndis.c:688,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_ndis.c:690,1
    - Dst: ndis_set_oid
      Src: /src/hostap/src/drivers/driver_ndis.c:697,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - drv
    - ssid
    - ssid_len
    argTypes:
    - struct wpa_driver_ndis_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 683
    functionDepth: 1
    functionLinenumber: 683
    functionLinenumberEnd: 698
    functionName: wpa_driver_ndis_set_ssid
    functionSourceFile: /src/hostap/src/drivers/driver_ndis.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - ndis_set_oid
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_ndis_set_ssid(struct wpa_driver_ndis_data *drv,\n\t\t\t\t
      \   const u8 *ssid, size_t ssid_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndis_set_oid
      Src: /src/hostap/src/drivers/driver_ndis.c:706,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - drv
    argTypes:
    - struct wpa_driver_ndis_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 703
    functionDepth: 1
    functionLinenumber: 703
    functionLinenumberEnd: 707
    functionName: wpa_driver_ndis_radio_off
    functionSourceFile: /src/hostap/src/drivers/driver_ndis.c
    functionUses: 0
    functionsReached:
    - ndis_set_oid
    linkageType: ''
    returnType: int
    signature: int wpa_driver_ndis_radio_off(struct wpa_driver_ndis_data *drv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/hostap/src/drivers/driver_ndis.c:716,1
    - Dst: wpa_driver_ndis_set_ssid
      Src: /src/hostap/src/drivers/driver_ndis.c:717,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - drv
    argTypes:
    - struct wpa_driver_ndis_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 711
    functionDepth: 2
    functionLinenumber: 711
    functionLinenumberEnd: 718
    functionName: wpa_driver_ndis_disconnect
    functionSourceFile: /src/hostap/src/drivers/driver_ndis.c
    functionUses: 0
    functionsReached:
    - rand
    - wpa_driver_ndis_set_ssid
    linkageType: ''
    returnType: int
    signature: int wpa_driver_ndis_disconnect(struct wpa_driver_ndis_data *drv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_driver_ndis_disconnect
      Src: /src/hostap/src/drivers/driver_ndis.c:725,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - priv
    - addr
    - reason_code
    argTypes:
    - void*
    - u8*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 721
    functionDepth: 3
    functionLinenumber: 721
    functionLinenumberEnd: 726
    functionName: wpa_driver_ndis_deauthenticate
    functionSourceFile: /src/hostap/src/drivers/driver_ndis.c
    functionUses: 0
    functionsReached:
    - wpa_driver_ndis_disconnect
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_ndis_deauthenticate(void *priv, const u8 *addr,\n\t\t\t\t\t
      \ u16 reason_code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:731,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_ndis.c:732,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 733
    functionName: wpa_driver_ndis_scan_timeout
    functionSourceFile: /src/hostap/src/drivers/driver_ndis.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void wpa_driver_ndis_scan_timeout(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_ndis.c:743,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_ndis.c:745,1
    - Dst: ndis_set_oid
      Src: /src/hostap/src/drivers/driver_ndis.c:747,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/drivers/driver_ndis.c:749,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/drivers/driver_ndis.c:750,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - drv
    - params
    argTypes:
    - struct wpa_driver_ndis_data*
    - struct wpa_driver_scan_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 736
    functionDepth: 1
    functionLinenumber: 736
    functionLinenumberEnd: 753
    functionName: wpa_driver_ndis_scan_native80211
    functionSourceFile: /src/hostap/src/drivers/driver_ndis.c
    functionUses: 0
    functionsReached:
    - eloop_cancel_timeout
    - eloop_register_timeout
    - ndis_set_oid
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_ndis_scan_native80211(\n\tstruct wpa_driver_ndis_data
      *drv,\n\tstruct wpa_driver_scan_params *params)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_driver_ndis_scan_native80211
      Src: /src/hostap/src/drivers/driver_ndis.c:763,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:766,1
    - Dst: wpa_driver_ndis_disconnect
      Src: /src/hostap/src/drivers/driver_ndis.c:768,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:769,1
    - Dst: ndis_set_oid
      Src: /src/hostap/src/drivers/driver_ndis.c:774,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/drivers/driver_ndis.c:775,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/drivers/driver_ndis.c:776,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - priv
    - params
    argTypes:
    - void*
    - struct wpa_driver_scan_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 756
    functionDepth: 3
    functionLinenumber: 756
    functionLinenumberEnd: 779
    functionName: wpa_driver_ndis_scan
    functionSourceFile: /src/hostap/src/drivers/driver_ndis.c
    functionUses: 0
    functionsReached:
    - wpa_driver_ndis_scan_native80211
    - wpa_printf
    - eloop_cancel_timeout
    - ndis_set_oid
    - eloop_register_timeout
    - wpa_driver_ndis_disconnect
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_ndis_scan(void *priv,\n\t\t\t\tstruct wpa_driver_scan_params
      *params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_ie
      Src: /src/hostap/src/drivers/driver_ndis.c:784,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - res
    - ie
    argTypes:
    - struct wpa_scan_res*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 782
    functionDepth: 1
    functionLinenumber: 782
    functionLinenumberEnd: 785
    functionName: wpa_scan_get_ie
    functionSourceFile: /src/hostap/src/drivers/driver_ndis.c
    functionUses: 8
    functionsReached:
    - get_ie
    linkageType: ''
    returnType: u8
    signature: u8 * wpa_scan_get_ie(const struct wpa_scan_res *res, u8 ie)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_scan_get_ie
      Src: /src/hostap/src/drivers/driver_ndis.c:794,1
    - Dst: os_realloc
      Src: /src/hostap/src/drivers/driver_ndis.c:800,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_ndis.c:807,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - r
    - ssid
    argTypes:
    - struct wpa_scan_res*
    - NDIS_802_11_SSID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 811
    functionName: wpa_driver_ndis_add_scan_ssid
    functionSourceFile: /src/hostap/src/drivers/driver_ndis.c
    functionUses: 0
    functionsReached:
    - wpa_scan_get_ie
    - os_memcpy
    - os_realloc
    linkageType: ''
    returnType: struct wpa_scan_res
    signature: "struct wpa_scan_res * wpa_driver_ndis_add_scan_ssid(\n\tstruct wpa_scan_res
      *r, NDIS_802_11_SSID *ssid)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/drivers/driver_ndis.c:825,1
    - Dst: ndis_get_oid
      Src: /src/hostap/src/drivers/driver_ndis.c:828,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:830,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_ndis.c:831,1
    - Dst: os_zalloc
      Src: /src/hostap/src/drivers/driver_ndis.c:836,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_ndis.c:838,1
    - Dst: os_calloc
      Src: /src/hostap/src/drivers/driver_ndis.c:841,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_ndis.c:843,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_ndis.c:844,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:854,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:865,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_ndis.c:867,1
    - Dst: os_zalloc
      Src: /src/hostap/src/drivers/driver_ndis.c:872,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_ndis.c:877,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/drivers/driver_ndis.c:881,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/drivers/driver_ndis.c:882,1
    - Dst: WPA_GET_LE64
      Src: /src/hostap/src/drivers/driver_ndis.c:883,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_ndis.c:884,1
    - Dst: wpa_driver_ndis_add_scan_ssid
      Src: /src/hostap/src/drivers/driver_ndis.c:887,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_ndis.c:896,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 53
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 814
    functionDepth: 1
    functionLinenumber: 814
    functionLinenumberEnd: 899
    functionName: wpa_driver_ndis_get_scan_results
    functionSourceFile: /src/hostap/src/drivers/driver_ndis.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - os_calloc
    - WPA_GET_LE64
    - WPA_GET_LE16
    - ndis_get_oid
    - os_zalloc
    - MAC2STR
    - os_free
    - wpa_driver_ndis_add_scan_ssid
    linkageType: ''
    returnType: struct wpa_scan_results
    signature: struct wpa_scan_results * wpa_driver_ndis_get_scan_results(void *priv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_ndis.c:910,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_ndis.c:916,1
    - Dst: ndis_set_oid
      Src: /src/hostap/src/drivers/driver_ndis.c:918,1
    - Dst: ndis_set_oid
      Src: /src/hostap/src/drivers/driver_ndis.c:922,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 5
    argNames:
    - drv
    - key_idx
    - addr
    - bssid
    - pairwise
    argTypes:
    - struct wpa_driver_ndis_data*
    - int
    - u8*
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 902
    functionDepth: 1
    functionLinenumber: 902
    functionLinenumberEnd: 930
    functionName: wpa_driver_ndis_remove_key
    functionSourceFile: /src/hostap/src/drivers/driver_ndis.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - ndis_set_oid
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_ndis_remove_key(struct wpa_driver_ndis_data *drv,\n\t\t\t\t
      \     int key_idx, const u8 *addr,\n\t\t\t\t      const u8 *bssid, int pairwise)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/drivers/driver_ndis.c:942,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_ndis.c:954,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/drivers/driver_ndis.c:956,1
    - Dst: ndis_set_oid
      Src: /src/hostap/src/drivers/driver_ndis.c:958,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_ndis.c:960,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 6
    argNames:
    - drv
    - pairwise
    - key_idx
    - set_tx
    - key
    - key_len
    argTypes:
    - struct wpa_driver_ndis_data*
    - int
    - int
    - int
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 963
      start: 933
    functionDepth: 1
    functionLinenumber: 933
    functionLinenumberEnd: 963
    functionName: wpa_driver_ndis_add_wep
    functionSourceFile: /src/hostap/src/drivers/driver_ndis.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_hexdump_key
    - os_zalloc
    - ndis_set_oid
    - os_free
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_ndis_add_wep(struct wpa_driver_ndis_data *drv,\n\t\t\t\t
      \  int pairwise, int key_idx, int set_tx,\n\t\t\t\t   const u8 *key, size_t
      key_len)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: is_broadcast_ether_addr
      Src: /src/hostap/src/drivers/driver_ndis.c:978,1
    - Dst: wpa_driver_ndis_get_bssid
      Src: /src/hostap/src/drivers/driver_ndis.c:981,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_ndis.c:982,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_ndis.c:986,1
    - Dst: wpa_driver_ndis_remove_key
      Src: /src/hostap/src/drivers/driver_ndis.c:990,1
    - Dst: wpa_driver_ndis_add_wep
      Src: /src/hostap/src/drivers/driver_ndis.c:995,1
    - Dst: os_zalloc
      Src: /src/hostap/src/drivers/driver_ndis.c:1001,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_ndis.c:1014,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_ndis.c:1020,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_ndis.c:1021,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_ndis.c:1022,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_ndis.c:1024,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/drivers/driver_ndis.c:1027,1
    - Dst: ndis_set_oid
      Src: /src/hostap/src/drivers/driver_ndis.c:1029,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_ndis.c:1030,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 44
    argCount: 10
    argNames:
    - ifname
    - priv
    - alg
    - addr
    - key_idx
    - set_tx
    - seq
    - seq_len
    - key
    - key_len
    argTypes:
    - char*
    - void*
    - enum wpa_alg
    - u8*
    - int
    - int
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1033
      start: 966
    functionDepth: 2
    functionLinenumber: 966
    functionLinenumberEnd: 1033
    functionName: wpa_driver_ndis_set_key
    functionSourceFile: /src/hostap/src/drivers/driver_ndis.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_hexdump_key
    - is_broadcast_ether_addr
    - wpa_driver_ndis_add_wep
    - wpa_driver_ndis_remove_key
    - wpa_driver_ndis_get_bssid
    - os_zalloc
    - ndis_set_oid
    - os_free
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_ndis_set_key(const char *ifname, void *priv,\n\t\t\t\t
      \  enum wpa_alg alg, const u8 *addr,\n\t\t\t\t   int key_idx, int set_tx,\n\t\t\t\t
      \  const u8 *seq, size_t seq_len,\n\t\t\t\t   const u8 *key, size_t key_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_driver_ndis_set_key
      Src: /src/hostap/src/drivers/driver_ndis.c:1043,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - priv
    - params
    argTypes:
    - void*
    - struct wpa_driver_set_key_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 1036
    functionDepth: 3
    functionLinenumber: 1036
    functionLinenumberEnd: 1048
    functionName: wpa_driver_ndis_set_key_wrapper
    functionSourceFile: /src/hostap/src/drivers/driver_ndis.c
    functionUses: 0
    functionsReached:
    - wpa_driver_ndis_set_key
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_ndis_set_key_wrapper(void *priv,\n\t\t\t\tstruct wpa_driver_set_key_params
      *params)"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/drivers/driver_ndis.c:1067,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/drivers/driver_ndis.c:1068,1
    - Dst: ndis_set_oid
      Src: /src/hostap/src/drivers/driver_ndis.c:1072,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:1074,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:1087,1
    - Dst: wpa_driver_ndis_set_key
      Src: /src/hostap/src/drivers/driver_ndis.c:1089,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:1124,1
    - Dst: wpa_driver_ndis_set_key
      Src: /src/hostap/src/drivers/driver_ndis.c:1127,1
    - Dst: ndis_set_oid
      Src: /src/hostap/src/drivers/driver_ndis.c:1179,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:1181,1
    - Dst: ndis_set_auth_mode
      Src: /src/hostap/src/drivers/driver_ndis.c:1187,1
    - Dst: ndis_set_encr_status
      Src: /src/hostap/src/drivers/driver_ndis.c:1188,1
    - Dst: ndis_set_oid
      Src: /src/hostap/src/drivers/driver_ndis.c:1191,1
    - Dst: ndis_set_oid
      Src: /src/hostap/src/drivers/driver_ndis.c:1195,1
    - Dst: wpa_driver_ndis_set_ssid
      Src: /src/hostap/src/drivers/driver_ndis.c:1200,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 94
    argCount: 2
    argNames:
    - priv
    - params
    argTypes:
    - void*
    - struct wpa_driver_associate_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1051
    functionDepth: 3
    functionLinenumber: 1051
    functionLinenumberEnd: 1201
    functionName: wpa_driver_ndis_associate
    functionSourceFile: /src/hostap/src/drivers/driver_ndis.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - ndis_set_encr_status
    - eloop_cancel_timeout
    - wpa_driver_ndis_set_ssid
    - ndis_set_oid
    - eloop_register_timeout
    - wpa_driver_ndis_set_key
    - ndis_set_auth_mode
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_ndis_associate(void *priv,\n\t\t\t  struct wpa_driver_associate_params
      *params)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/drivers/driver_ndis.c:1219,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_ndis.c:1227,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_ndis.c:1228,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/drivers/driver_ndis.c:1231,1
    - Dst: ndis_set_oid
      Src: /src/hostap/src/drivers/driver_ndis.c:1232,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_ndis.c:1233,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - drv
    argTypes:
    - struct wpa_driver_ndis_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1235
      start: 1204
    functionDepth: 1
    functionLinenumber: 1204
    functionLinenumberEnd: 1235
    functionName: wpa_driver_ndis_set_pmkid
    functionSourceFile: /src/hostap/src/drivers/driver_ndis.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_hexdump
    - os_zalloc
    - ndis_set_oid
    - os_free
    linkageType: ''
    returnType: int
    signature: int wpa_driver_ndis_set_pmkid(struct wpa_driver_ndis_data *drv)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/src/drivers/driver_ndis.c:1254,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_ndis.c:1263,1
    - Dst: os_malloc
      Src: /src/hostap/src/drivers/driver_ndis.c:1270,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_ndis.c:1272,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_ndis.c:1273,1
    - Dst: wpa_driver_ndis_set_pmkid
      Src: /src/hostap/src/drivers/driver_ndis.c:1279,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 2
    argNames:
    - priv
    - params
    argTypes:
    - void*
    - struct wpa_pmkid_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1238
    functionDepth: 2
    functionLinenumber: 1238
    functionLinenumberEnd: 1280
    functionName: wpa_driver_ndis_add_pmkid
    functionSourceFile: /src/hostap/src/drivers/driver_ndis.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - ether_addr_equal
    - os_malloc
    - wpa_driver_ndis_set_pmkid
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_ndis_add_pmkid(void *priv,\n\t\t\t\t     struct wpa_pmkid_params
      *params)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/src/drivers/driver_ndis.c:1299,1
    - Dst: os_memcmp
      Src: /src/hostap/src/drivers/driver_ndis.c:1300,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_ndis.c:1305,1
    - Dst: wpa_driver_ndis_set_pmkid
      Src: /src/hostap/src/drivers/driver_ndis.c:1311,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - priv
    - params
    argTypes:
    - void*
    - struct wpa_pmkid_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1312
      start: 1283
    functionDepth: 2
    functionLinenumber: 1283
    functionLinenumberEnd: 1312
    functionName: wpa_driver_ndis_remove_pmkid
    functionSourceFile: /src/hostap/src/drivers/driver_ndis.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpa_driver_ndis_set_pmkid
    - ether_addr_equal
    - os_memcmp
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_ndis_remove_pmkid(void *priv,\n\t\t\t\t\tstruct wpa_pmkid_params
      *params)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_ndis.c:1330,1
    - Dst: ndis_get_auth_mode
      Src: /src/hostap/src/drivers/driver_ndis.c:1337,1
    - Dst: ndis_set_auth_mode
      Src: /src/hostap/src/drivers/driver_ndis.c:1339,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_ndis.c:1341,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/drivers/driver_ndis.c:1344,1
    - Dst: ndis_set_oid
      Src: /src/hostap/src/drivers/driver_ndis.c:1346,1
    - Dst: ndis_set_auth_mode
      Src: /src/hostap/src/drivers/driver_ndis.c:1349,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1352
      start: 1315
    functionDepth: 2
    functionLinenumber: 1315
    functionLinenumberEnd: 1352
    functionName: wpa_driver_ndis_flush_pmkid
    functionSourceFile: /src/hostap/src/drivers/driver_ndis.c
    functionUses: 0
    functionsReached:
    - wpa_hexdump
    - ndis_get_auth_mode
    - ndis_set_oid
    - os_free
    - ndis_set_auth_mode
    - os_memset
    linkageType: ''
    returnType: int
    signature: int wpa_driver_ndis_flush_pmkid(void *priv)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ndis_get_oid
      Src: /src/hostap/src/drivers/driver_ndis.c:1364,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:1367,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:1376,1
    - Dst: ndis_get_oid
      Src: /src/hostap/src/drivers/driver_ndis.c:1378,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:1381,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:1386,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/drivers/driver_ndis.c:1391,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:1394,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:1399,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:1407,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/drivers/driver_ndis.c:1412,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/drivers/driver_ndis.c:1414,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_ndis.c:1417,1
    - Dst: os_zalloc
      Src: /src/hostap/src/drivers/driver_ndis.c:1424,1
    - Dst: ndis_get_oid
      Src: /src/hostap/src/drivers/driver_ndis.c:1427,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:1429,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_ndis.c:1430,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:1434,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/drivers/driver_ndis.c:1440,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/drivers/driver_ndis.c:1447,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_ndis.c:1458,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_ndis.c:1460,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 67
    argCount: 1
    argNames:
    - drv
    argTypes:
    - struct wpa_driver_ndis_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1463
      start: 1355
    functionDepth: 1
    functionLinenumber: 1355
    functionLinenumberEnd: 1463
    functionName: wpa_driver_ndis_get_associnfo
    functionSourceFile: /src/hostap/src/drivers/driver_ndis.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - wpa_printf
    - wpa_hexdump
    - ether_addr_equal
    - ndis_get_oid
    - os_zalloc
    - os_free
    - os_memset
    linkageType: ''
    returnType: int
    signature: int wpa_driver_ndis_get_associnfo(struct wpa_driver_ndis_data *drv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_driver_ndis_get_bssid
      Src: /src/hostap/src/drivers/driver_ndis.c:1475,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/drivers/driver_ndis.c:1477,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_ndis.c:1478,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_ndis.c:1479,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/drivers/driver_ndis.c:1483,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_ndis.c:1484,1
    - Dst: wpa_driver_ndis_get_associnfo
      Src: /src/hostap/src/drivers/driver_ndis.c:1485,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_ndis.c:1486,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/drivers/driver_ndis.c:1504,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1507
      start: 1466
    functionDepth: 2
    functionLinenumber: 1466
    functionLinenumberEnd: 1507
    functionName: wpa_driver_ndis_poll_timeout
    functionSourceFile: /src/hostap/src/drivers/driver_ndis.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - os_memcpy
    - is_zero_ether_addr
    - ether_addr_equal
    - wpa_driver_ndis_get_bssid
    - wpa_driver_ndis_get_associnfo
    - eloop_register_timeout
    - os_memset
    linkageType: ''
    returnType: void
    signature: void wpa_driver_ndis_poll_timeout(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/drivers/driver_ndis.c:1513,1
    - Dst: wpa_driver_ndis_poll_timeout
      Src: /src/hostap/src/drivers/driver_ndis.c:1514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1515
      start: 1510
    functionDepth: 3
    functionLinenumber: 1510
    functionLinenumberEnd: 1515
    functionName: wpa_driver_ndis_poll
    functionSourceFile: /src/hostap/src/drivers/driver_ndis.c
    functionUses: 0
    functionsReached:
    - eloop_cancel_timeout
    - wpa_driver_ndis_poll_timeout
    linkageType: ''
    returnType: void
    signature: void wpa_driver_ndis_poll(void *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:1522,1
    - Dst: wpa_driver_ndis_get_bssid
      Src: /src/hostap/src/drivers/driver_ndis.c:1523,1
    - Dst: wpa_driver_ndis_get_associnfo
      Src: /src/hostap/src/drivers/driver_ndis.c:1524,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_ndis.c:1525,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - drv
    argTypes:
    - struct wpa_driver_ndis_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1527
      start: 1520
    functionDepth: 2
    functionLinenumber: 1520
    functionLinenumberEnd: 1527
    functionName: wpa_driver_ndis_event_connect
    functionSourceFile: /src/hostap/src/drivers/driver_ndis.c
    functionUses: 0
    functionsReached:
    - wpa_driver_ndis_get_associnfo
    - wpa_supplicant_event
    - wpa_printf
    - wpa_driver_ndis_get_bssid
    linkageType: ''
    returnType: void
    signature: void wpa_driver_ndis_event_connect(struct wpa_driver_ndis_data *drv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:1534,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_ndis.c:1535,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_ndis.c:1536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - drv
    argTypes:
    - struct wpa_driver_ndis_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1537
      start: 1532
    functionDepth: 0
    functionLinenumber: 1532
    functionLinenumberEnd: 1537
    functionName: wpa_driver_ndis_event_disconnect
    functionSourceFile: /src/hostap/src/drivers/driver_ndis.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - wpa_printf
    - os_memset
    linkageType: ''
    returnType: void
    signature: void wpa_driver_ndis_event_disconnect(struct wpa_driver_ndis_data *drv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:1548,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:1554,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_ndis.c:1556,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_ndis.c:1566,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_ndis.c:1568,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - drv
    - data
    - data_len
    argTypes:
    - struct wpa_driver_ndis_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1571
      start: 1540
    functionDepth: 1
    functionLinenumber: 1540
    functionLinenumberEnd: 1571
    functionName: wpa_driver_ndis_event_auth
    functionSourceFile: /src/hostap/src/drivers/driver_ndis.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - MAC2STR
    - wpa_printf
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void wpa_driver_ndis_event_auth(struct wpa_driver_ndis_data *drv,\n\t\t\t\t
      \      const u8 *data, size_t data_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:1582,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:1587,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:1592,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:1598,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_ndis.c:1602,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:1605,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_ndis.c:1606,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_ndis.c:1607,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_ndis.c:1611,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 3
    argNames:
    - drv
    - data
    - data_len
    argTypes:
    - struct wpa_driver_ndis_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1614
      start: 1574
    functionDepth: 1
    functionLinenumber: 1574
    functionLinenumberEnd: 1614
    functionName: wpa_driver_ndis_event_pmkid
    functionSourceFile: /src/hostap/src/drivers/driver_ndis.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - wpa_printf
    - os_memcpy
    - MAC2STR
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void wpa_driver_ndis_event_pmkid(struct wpa_driver_ndis_data *drv,\n\t\t\t\t\tconst
      u8 *data, size_t data_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/src/drivers/driver_ndis.c:1627,1
    - Dst: wpa_driver_ndis_event_auth
      Src: /src/hostap/src/drivers/driver_ndis.c:1636,1
    - Dst: wpa_driver_ndis_event_pmkid
      Src: /src/hostap/src/drivers/driver_ndis.c:1639,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:1642,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - drv
    - data
    - data_len
    argTypes:
    - struct wpa_driver_ndis_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1646
      start: 1619
    functionDepth: 2
    functionLinenumber: 1619
    functionLinenumberEnd: 1646
    functionName: wpa_driver_ndis_event_media_specific
    functionSourceFile: /src/hostap/src/drivers/driver_ndis.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_driver_ndis_event_pmkid
    - wpa_hexdump
    - wpa_driver_ndis_event_auth
    linkageType: ''
    returnType: void
    signature: "void wpa_driver_ndis_event_media_specific(struct wpa_driver_ndis_data
      *drv,\n\t\t\t\t\t  const u8 *data, size_t data_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:1655,1
    - Dst: wpa_driver_ndis_adapter_close
      Src: /src/hostap/src/drivers/driver_ndis.c:1659,1
    - Dst: wpa_driver_ndis_adapter_init
      Src: /src/hostap/src/drivers/driver_ndis.c:1660,1
    - Dst: wpa_driver_ndis_adapter_open
      Src: /src/hostap/src/drivers/driver_ndis.c:1661,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:1662,1
    - Dst: os_sleep
      Src: /src/hostap/src/drivers/driver_ndis.c:1664,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:1666,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_ndis.c:1671,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_ndis.c:1672,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_ndis.c:1675,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - drv
    argTypes:
    - struct wpa_driver_ndis_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1676
      start: 1650
    functionDepth: 1
    functionLinenumber: 1650
    functionLinenumberEnd: 1676
    functionName: wpa_driver_ndis_event_adapter_arrival
    functionSourceFile: /src/hostap/src/drivers/driver_ndis.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - wpa_printf
    - os_sleep
    - os_strlcpy
    - wpa_driver_ndis_adapter_close
    - wpa_driver_ndis_adapter_open
    - wpa_driver_ndis_adapter_init
    - os_memset
    linkageType: ''
    returnType: void
    signature: void wpa_driver_ndis_event_adapter_arrival(struct wpa_driver_ndis_data
      *drv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:1684,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_ndis.c:1685,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_ndis.c:1686,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_ndis.c:1689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - drv
    argTypes:
    - struct wpa_driver_ndis_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1690
      start: 1680
    functionDepth: 0
    functionLinenumber: 1680
    functionLinenumberEnd: 1690
    functionName: wpa_driver_ndis_event_adapter_removal
    functionSourceFile: /src/hostap/src/drivers/driver_ndis.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - wpa_printf
    - os_strlcpy
    - os_memset
    linkageType: ''
    returnType: void
    signature: void wpa_driver_ndis_event_adapter_removal(struct wpa_driver_ndis_data
      *drv)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:1696,1
    - Dst: ndis_set_auth_mode
      Src: /src/hostap/src/drivers/driver_ndis.c:1698,1
    - Dst: ndis_get_auth_mode
      Src: /src/hostap/src/drivers/driver_ndis.c:1699,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:1700,1
    - Dst: ndis_set_auth_mode
      Src: /src/hostap/src/drivers/driver_ndis.c:1704,1
    - Dst: ndis_get_auth_mode
      Src: /src/hostap/src/drivers/driver_ndis.c:1705,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:1706,1
    - Dst: ndis_set_encr_status
      Src: /src/hostap/src/drivers/driver_ndis.c:1711,1
    - Dst: ndis_get_encr_status
      Src: /src/hostap/src/drivers/driver_ndis.c:1712,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:1713,1
    - Dst: ndis_set_encr_status
      Src: /src/hostap/src/drivers/driver_ndis.c:1717,1
    - Dst: ndis_get_encr_status
      Src: /src/hostap/src/drivers/driver_ndis.c:1718,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:1719,1
    - Dst: ndis_set_encr_status
      Src: /src/hostap/src/drivers/driver_ndis.c:1723,1
    - Dst: ndis_get_encr_status
      Src: /src/hostap/src/drivers/driver_ndis.c:1724,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:1725,1
    - Dst: ndis_set_auth_mode
      Src: /src/hostap/src/drivers/driver_ndis.c:1730,1
    - Dst: ndis_get_auth_mode
      Src: /src/hostap/src/drivers/driver_ndis.c:1731,1
    - Dst: ndis_set_auth_mode
      Src: /src/hostap/src/drivers/driver_ndis.c:1735,1
    - Dst: ndis_get_auth_mode
      Src: /src/hostap/src/drivers/driver_ndis.c:1736,1
    - Dst: ndis_set_encr_status
      Src: /src/hostap/src/drivers/driver_ndis.c:1740,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:1748,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:1751,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:1754,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 1
    argNames:
    - drv
    argTypes:
    - struct wpa_driver_ndis_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1757
      start: 1693
    functionDepth: 2
    functionLinenumber: 1693
    functionLinenumberEnd: 1757
    functionName: wpa_driver_ndis_get_wpa_capability
    functionSourceFile: /src/hostap/src/drivers/driver_ndis.c
    functionUses: 0
    functionsReached:
    - ndis_set_encr_status
    - wpa_printf
    - ndis_get_encr_status
    - ndis_get_auth_mode
    - ndis_set_auth_mode
    linkageType: ''
    returnType: void
    signature: void wpa_driver_ndis_get_wpa_capability(struct wpa_driver_ndis_data
      *drv)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ndis_get_oid
      Src: /src/hostap/src/drivers/driver_ndis.c:1769,1
    - Dst: wpa_driver_ndis_get_wpa_capability
      Src: /src/hostap/src/drivers/driver_ndis.c:1771,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/drivers/driver_ndis.c:1775,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:1778,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:1782,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:1792,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:1796,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:1842,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 64
    argCount: 1
    argNames:
    - drv
    argTypes:
    - struct wpa_driver_ndis_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1845
      start: 1760
    functionDepth: 3
    functionLinenumber: 1760
    functionLinenumberEnd: 1845
    functionName: wpa_driver_ndis_get_capability
    functionSourceFile: /src/hostap/src/drivers/driver_ndis.c
    functionUses: 0
    functionsReached:
    - ndis_get_oid
    - wpa_printf
    - wpa_driver_ndis_get_wpa_capability
    - wpa_hexdump
    linkageType: ''
    returnType: void
    signature: void wpa_driver_ndis_get_capability(struct wpa_driver_ndis_data *drv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_ndis.c:1853,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - priv
    - capa
    argTypes:
    - void*
    - struct wpa_driver_capa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1855
      start: 1848
    functionDepth: 0
    functionLinenumber: 1848
    functionLinenumberEnd: 1855
    functionName: wpa_driver_ndis_get_capa
    functionSourceFile: /src/hostap/src/drivers/driver_ndis.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    linkageType: ''
    returnType: int
    signature: int wpa_driver_ndis_get_capa(void *priv, struct wpa_driver_capa *capa)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1862
      start: 1858
    functionDepth: 0
    functionLinenumber: 1858
    functionLinenumberEnd: 1862
    functionName: wpa_driver_ndis_get_ifname
    functionSourceFile: /src/hostap/src/drivers/driver_ndis.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * wpa_driver_ndis_get_ifname(void *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1869
      start: 1865
    functionDepth: 0
    functionLinenumber: 1865
    functionLinenumberEnd: 1869
    functionName: wpa_driver_ndis_get_mac_addr
    functionSourceFile: /src/hostap/src/drivers/driver_ndis.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 * wpa_driver_ndis_get_mac_addr(void *priv)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ReadMsgQueue
      Src: /src/hostap/src/drivers/driver_ndis.c:1883,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:1885,1
    - Dst: GetLastError
      Src: /src/hostap/src/drivers/driver_ndis.c:1886,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:1891,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:1897,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:1903,1
    - Dst: wpa_driver_ndis_event_adapter_arrival
      Src: /src/hostap/src/drivers/driver_ndis.c:1904,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:1909,1
    - Dst: wpa_driver_ndis_event_adapter_removal
      Src: /src/hostap/src/drivers/driver_ndis.c:1910,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:1914,1
    - Dst: SetEvent
      Src: /src/hostap/src/drivers/driver_ndis.c:1915,1
    - Dst: wpa_driver_ndis_event_connect
      Src: /src/hostap/src/drivers/driver_ndis.c:1916,1
    - Dst: ResetEvent
      Src: /src/hostap/src/drivers/driver_ndis.c:1919,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:1920,1
    - Dst: wpa_driver_ndis_event_disconnect
      Src: /src/hostap/src/drivers/driver_ndis.c:1921,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:1924,1
    - Dst: wpa_driver_ndis_event_media_specific
      Src: /src/hostap/src/drivers/driver_ndis.c:1926,1
    - Dst: wpa_driver_ndis_event_media_specific
      Src: /src/hostap/src/drivers/driver_ndis.c:1929,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:1935,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 2
    argNames:
    - eloop_data
    - user_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1939
      start: 1876
    functionDepth: 3
    functionLinenumber: 1876
    functionLinenumberEnd: 1939
    functionName: ndisuio_notification_receive
    functionSourceFile: /src/hostap/src/drivers/driver_ndis.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - ReadMsgQueue
    - wpa_driver_ndis_event_media_specific
    - GetLastError
    - wpa_driver_ndis_event_connect
    - wpa_driver_ndis_event_adapter_arrival
    - ResetEvent
    - wpa_driver_ndis_event_disconnect
    - SetEvent
    - wpa_driver_ndis_event_adapter_removal
    linkageType: ''
    returnType: void
    signature: void ndisuio_notification_receive(void *eloop_data, void *user_ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/hostap/src/drivers/driver_ndis.c:1946,1
    - Dst: DeviceIoControl
      Src: /src/hostap/src/drivers/driver_ndis.c:1950,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:1952,1
    - Dst: GetLastError
      Src: /src/hostap/src/drivers/driver_ndis.c:1954,1
    - Dst: DeviceIoControl
      Src: /src/hostap/src/drivers/driver_ndis.c:1957,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:1959,1
    - Dst: GetLastError
      Src: /src/hostap/src/drivers/driver_ndis.c:1961,1
    - Dst: eloop_unregister_event
      Src: /src/hostap/src/drivers/driver_ndis.c:1965,1
    - Dst: CloseHandle
      Src: /src/hostap/src/drivers/driver_ndis.c:1967,1
    - Dst: CloseHandle
      Src: /src/hostap/src/drivers/driver_ndis.c:1972,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - drv
    argTypes:
    - struct wpa_driver_ndis_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1975
      start: 1942
    functionDepth: 1
    functionLinenumber: 1942
    functionLinenumberEnd: 1975
    functionName: ndisuio_notification_deinit
    functionSourceFile: /src/hostap/src/drivers/driver_ndis.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - GetLastError
    - DeviceIoControl
    - memset
    - CloseHandle
    - eloop_unregister_event
    linkageType: ''
    returnType: void
    signature: void ndisuio_notification_deinit(struct wpa_driver_ndis_data *drv)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/drivers/driver_ndis.c:2048,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_ndis.c:2053,1
    - Dst: DeviceIoControl
      Src: /src/hostap/src/drivers/driver_ndis.c:2055,1
    - Dst: GetLastError
      Src: /src/hostap/src/drivers/driver_ndis.c:2058,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:2061,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:2082,1
    - Dst: os_strstr
      Src: /src/hostap/src/drivers/driver_ndis.c:2084,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:2085,1
    - Dst: os_strncmp
      Src: /src/hostap/src/drivers/driver_ndis.c:2090,1
    - Dst: os_strlen
      Src: /src/hostap/src/drivers/driver_ndis.c:2090,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:2092,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:2100,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_ndis.c:2102,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_ndis.c:2106,1
    - Dst: os_strncmp
      Src: /src/hostap/src/drivers/driver_ndis.c:2107,1
    - Dst: wpa_strdup_tchar
      Src: /src/hostap/src/drivers/driver_ndis.c:2110,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:2112,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_ndis.c:2114,1
    - Dst: os_strstr
      Src: /src/hostap/src/drivers/driver_ndis.c:2119,1
    - Dst: os_strlen
      Src: /src/hostap/src/drivers/driver_ndis.c:2123,1
    - Dst: dup_binstr
      Src: /src/hostap/src/drivers/driver_ndis.c:2124,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_ndis.c:2125,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:2129,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:2144,1
    - Dst: PacketGetVersion
      Src: /src/hostap/src/drivers/driver_ndis.c:2145,1
    - Dst: os_zalloc
      Src: /src/hostap/src/drivers/driver_ndis.c:2148,1
    - Dst: PacketGetAdapterNames
      Src: /src/hostap/src/drivers/driver_ndis.c:2152,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_ndis.c:2154,1
    - Dst: os_zalloc
      Src: /src/hostap/src/drivers/driver_ndis.c:2155,1
    - Dst: PacketGetAdapterNames
      Src: /src/hostap/src/drivers/driver_ndis.c:2158,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:2162,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_ndis.c:2164,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:2170,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_ndis.c:2183,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_ndis.c:2194,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:2200,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_ndis.c:2201,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:2205,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_ndis.c:2218,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:2224,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_ndis.c:2226,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:2230,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:2245,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_ndis.c:2248,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:2254,1
    - Dst: os_strstr
      Src: /src/hostap/src/drivers/driver_ndis.c:2256,1
    - Dst: os_strncmp
      Src: /src/hostap/src/drivers/driver_ndis.c:2259,1
    - Dst: os_strlen
      Src: /src/hostap/src/drivers/driver_ndis.c:2259,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:2265,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_ndis.c:2269,1
    - Dst: os_strncmp
      Src: /src/hostap/src/drivers/driver_ndis.c:2270,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:2276,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_ndis.c:2278,1
    - Dst: os_strrchr
      Src: /src/hostap/src/drivers/driver_ndis.c:2283,1
    - Dst: os_strlen
      Src: /src/hostap/src/drivers/driver_ndis.c:2290,1
    - Dst: dup_binstr
      Src: /src/hostap/src/drivers/driver_ndis.c:2292,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_ndis.c:2293,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:2297,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 181
    argCount: 1
    argNames:
    - drv
    argTypes:
    - struct wpa_driver_ndis_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2302
      start: 2037
    functionDepth: 1
    functionLinenumber: 2037
    functionLinenumberEnd: 2302
    functionName: wpa_driver_ndis_get_names
    functionSourceFile: /src/hostap/src/drivers/driver_ndis.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - os_memcpy
    - PacketGetVersion
    - GetLastError
    - os_strlcpy
    - os_malloc
    - os_strncmp
    - DeviceIoControl
    - os_strstr
    - wpa_strdup_tchar
    - os_zalloc
    - os_strrchr
    - os_free
    - PacketGetAdapterNames
    - dup_binstr
    - os_memset
    linkageType: ''
    returnType: int
    signature: int wpa_driver_ndis_get_names(struct wpa_driver_ndis_data *drv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _tcslen
      Src: /src/hostap/src/drivers/driver_ndis.c:2370,1
    - Dst: CreateFile
      Src: /src/hostap/src/drivers/driver_ndis.c:2374,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:2377,1
    - Dst: GetLastError
      Src: /src/hostap/src/drivers/driver_ndis.c:2378,1
    - Dst: memcpy
      Src: /src/hostap/src/drivers/driver_ndis.c:2383,1
    - Dst: memcpy
      Src: /src/hostap/src/drivers/driver_ndis.c:2384,1
    - Dst: TEXT
      Src: /src/hostap/src/drivers/driver_ndis.c:2384,1
    - Dst: DeviceIoControl
      Src: /src/hostap/src/drivers/driver_ndis.c:2387,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:2390,1
    - Dst: GetLastError
      Src: /src/hostap/src/drivers/driver_ndis.c:2391,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/drivers/driver_ndis.c:2392,1
    - Dst: CloseHandle
      Src: /src/hostap/src/drivers/driver_ndis.c:2394,1
    - Dst: CloseHandle
      Src: /src/hostap/src/drivers/driver_ndis.c:2398,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:2400,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - drv
    argTypes:
    - struct wpa_driver_ndis_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2404
      start: 2364
    functionDepth: 0
    functionLinenumber: 2364
    functionLinenumberEnd: 2404
    functionName: wpa_driver_ndis_rebind_adapter
    functionSourceFile: /src/hostap/src/drivers/driver_ndis.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - GetLastError
    - TEXT
    - DeviceIoControl
    - memcpy
    - CloseHandle
    - _tcslen
    - CreateFile
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: int
    signature: int wpa_driver_ndis_rebind_adapter(struct wpa_driver_ndis_data *drv)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: ActivateDeviceEx
      Src: /src/hostap/src/drivers/driver_ndis.c:2421,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:2423,1
    - Dst: GetLastError
      Src: /src/hostap/src/drivers/driver_ndis.c:2425,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:2429,1
    - Dst: wpa_driver_ndis_rebind_adapter
      Src: /src/hostap/src/drivers/driver_ndis.c:2430,1
    - Dst: RegOpenKeyEx
      Src: /src/hostap/src/drivers/driver_ndis.c:2442,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:2444,1
    - Dst: GetLastError
      Src: /src/hostap/src/drivers/driver_ndis.c:2445,1
    - Dst: RegEnumKeyEx
      Src: /src/hostap/src/drivers/driver_ndis.c:2451,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:2454,1
    - Dst: RegCloseKey
      Src: /src/hostap/src/drivers/driver_ndis.c:2456,1
    - Dst: RegOpenKeyEx
      Src: /src/hostap/src/drivers/driver_ndis.c:2460,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:2462,1
    - Dst: GetLastError
      Src: /src/hostap/src/drivers/driver_ndis.c:2464,1
    - Dst: RegQueryValueEx
      Src: /src/hostap/src/drivers/driver_ndis.c:2469,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:2472,1
    - Dst: GetLastError
      Src: /src/hostap/src/drivers/driver_ndis.c:2474,1
    - Dst: RegCloseKey
      Src: /src/hostap/src/drivers/driver_ndis.c:2475,1
    - Dst: _tcscmp
      Src: /src/hostap/src/drivers/driver_ndis.c:2479,1
    - Dst: RegCloseKey
      Src: /src/hostap/src/drivers/driver_ndis.c:2482,1
    - Dst: RegCloseKey
      Src: /src/hostap/src/drivers/driver_ndis.c:2485,1
    - Dst: RegQueryValueEx
      Src: /src/hostap/src/drivers/driver_ndis.c:2489,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:2492,1
    - Dst: GetLastError
      Src: /src/hostap/src/drivers/driver_ndis.c:2493,1
    - Dst: RegCloseKey
      Src: /src/hostap/src/drivers/driver_ndis.c:2494,1
    - Dst: RegCloseKey
      Src: /src/hostap/src/drivers/driver_ndis.c:2498,1
    - Dst: DeactivateDevice
      Src: /src/hostap/src/drivers/driver_ndis.c:2501,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:2502,1
    - Dst: GetLastError
      Src: /src/hostap/src/drivers/driver_ndis.c:2503,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:2507,1
    - Dst: wpa_driver_ndis_rebind_adapter
      Src: /src/hostap/src/drivers/driver_ndis.c:2509,1
    - Dst: LoadLibrary
      Src: /src/hostap/src/drivers/driver_ndis.c:2529,1
    - Dst: TEXT
      Src: /src/hostap/src/drivers/driver_ndis.c:2529,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:2531,1
    - Dst: GetLastError
      Src: /src/hostap/src/drivers/driver_ndis.c:2533,1
    - Dst: GetProcAddressA
      Src: /src/hostap/src/drivers/driver_ndis.c:2538,1
    - Dst: GetProcAddressA
      Src: /src/hostap/src/drivers/driver_ndis.c:2539,1
    - Dst: GetProcAddressA
      Src: /src/hostap/src/drivers/driver_ndis.c:2540,1
    - Dst: GetProcAddress
      Src: /src/hostap/src/drivers/driver_ndis.c:2542,1
    - Dst: GetProcAddress
      Src: /src/hostap/src/drivers/driver_ndis.c:2543,1
    - Dst: GetProcAddress
      Src: /src/hostap/src/drivers/driver_ndis.c:2544,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:2549,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_ndis.c:2555,1
    - Dst: wzc_enum_interf
      Src: /src/hostap/src/drivers/driver_ndis.c:2556,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:2558,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:2564,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:2576,1
    - Dst: os_strstr
      Src: /src/hostap/src/drivers/driver_ndis.c:2578,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:2581,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:2587,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_ndis.c:2592,1
    - Dst: wzc_query_interf
      Src: /src/hostap/src/drivers/driver_ndis.c:2597,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:2599,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:2602,1
    - Dst: GetLastError
      Src: /src/hostap/src/drivers/driver_ndis.c:2603,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:2607,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:2611,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/drivers/driver_ndis.c:2613,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:2620,1
    - Dst: wzc_set_interf
      Src: /src/hostap/src/drivers/driver_ndis.c:2623,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:2626,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:2629,1
    - Dst: GetLastError
      Src: /src/hostap/src/drivers/driver_ndis.c:2630,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:2633,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:2639,1
    - Dst: wzc_set_interf
      Src: /src/hostap/src/drivers/driver_ndis.c:2642,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:2645,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:2648,1
    - Dst: GetLastError
      Src: /src/hostap/src/drivers/driver_ndis.c:2649,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:2652,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:2656,1
    - Dst: FreeLibrary
      Src: /src/hostap/src/drivers/driver_ndis.c:2664,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 155
    argCount: 2
    argNames:
    - drv
    - enable
    argTypes:
    - struct wpa_driver_ndis_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2668
      start: 2408
    functionDepth: 1
    functionLinenumber: 2408
    functionLinenumberEnd: 2668
    functionName: wpa_driver_ndis_set_wzc
    functionSourceFile: /src/hostap/src/drivers/driver_ndis.c
    functionUses: 0
    functionsReached:
    - wpa_hexdump
    - ActivateDeviceEx
    - GetProcAddress
    - wpa_printf
    - GetLastError
    - RegEnumKeyEx
    - _tcscmp
    - RegQueryValueEx
    - os_strstr
    - DeactivateDevice
    - RegCloseKey
    - FreeLibrary
    - os_memset
    - wzc_enum_interf
    - RegOpenKeyEx
    - TEXT
    - wzc_query_interf
    - wzc_set_interf
    - LoadLibrary
    - wpa_driver_ndis_rebind_adapter
    - GetProcAddressA
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_ndis_set_wzc(struct wpa_driver_ndis_data *drv,\n\t\t\t\t
      \  int enable)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - drv
    - enable
    argTypes:
    - struct wpa_driver_ndis_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2676
      start: 2672
    functionDepth: 0
    functionLinenumber: 2672
    functionLinenumberEnd: 2676
    functionName: wpa_driver_ndis_set_wzc
    functionSourceFile: /src/hostap/src/drivers/driver_ndis.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_ndis_set_wzc(struct wpa_driver_ndis_data *drv,\n\t\t\t\t
      \  int enable)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2692
      start: 2689
    functionDepth: 0
    functionLinenumber: 2689
    functionLinenumberEnd: 2692
    functionName: driver_ndis_get_ndisuio_handle
    functionSourceFile: /src/hostap/src/drivers/driver_ndis.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: HANDLE
    signature: HANDLE driver_ndis_get_ndisuio_handle(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CreateFile
      Src: /src/hostap/src/drivers/driver_ndis.c:2703,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:2709,1
    - Dst: GetLastError
      Src: /src/hostap/src/drivers/driver_ndis.c:2710,1
    - Dst: DeviceIoControl
      Src: /src/hostap/src/drivers/driver_ndis.c:2716,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:2718,1
    - Dst: GetLastError
      Src: /src/hostap/src/drivers/driver_ndis.c:2719,1
    - Dst: CloseHandle
      Src: /src/hostap/src/drivers/driver_ndis.c:2720,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - drv
    argTypes:
    - struct wpa_driver_ndis_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2730
      start: 2696
    functionDepth: 0
    functionLinenumber: 2696
    functionLinenumberEnd: 2730
    functionName: wpa_driver_ndis_adapter_init
    functionSourceFile: /src/hostap/src/drivers/driver_ndis.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - GetLastError
    - DeviceIoControl
    - CloseHandle
    - CreateFile
    linkageType: ''
    returnType: int
    signature: int wpa_driver_ndis_adapter_init(struct wpa_driver_ndis_data *drv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/drivers/driver_ndis.c:2747,1
    - Dst: DeviceIoControl
      Src: /src/hostap/src/drivers/driver_ndis.c:2756,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:2759,1
    - Dst: GetLastError
      Src: /src/hostap/src/drivers/driver_ndis.c:2760,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/drivers/driver_ndis.c:2761,1
    - Dst: CloseHandle
      Src: /src/hostap/src/drivers/driver_ndis.c:2763,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:2768,1
    - Dst: os_snprintf
      Src: /src/hostap/src/drivers/driver_ndis.c:2773,1
    - Dst: PacketOpenAdapter
      Src: /src/hostap/src/drivers/driver_ndis.c:2774,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:2776,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 1
    argNames:
    - drv
    argTypes:
    - struct wpa_driver_ndis_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2782
      start: 2733
    functionDepth: 0
    functionLinenumber: 2733
    functionLinenumberEnd: 2782
    functionName: wpa_driver_ndis_adapter_open
    functionSourceFile: /src/hostap/src/drivers/driver_ndis.c
    functionUses: 1
    functionsReached:
    - os_strlen
    - wpa_printf
    - GetLastError
    - PacketOpenAdapter
    - DeviceIoControl
    - os_snprintf
    - CloseHandle
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: int
    signature: int wpa_driver_ndis_adapter_open(struct wpa_driver_ndis_data *drv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CloseHandle
      Src: /src/hostap/src/drivers/driver_ndis.c:2790,1
    - Dst: PacketCloseAdapter
      Src: /src/hostap/src/drivers/driver_ndis.c:2793,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - drv
    argTypes:
    - struct wpa_driver_ndis_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2795
      start: 2785
    functionDepth: 0
    functionLinenumber: 2785
    functionLinenumberEnd: 2795
    functionName: wpa_driver_ndis_adapter_close
    functionSourceFile: /src/hostap/src/drivers/driver_ndis.c
    functionUses: 1
    functionsReached:
    - PacketCloseAdapter
    - CloseHandle
    linkageType: ''
    returnType: void
    signature: void wpa_driver_ndis_adapter_close(struct wpa_driver_ndis_data *drv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndis_set_oid
      Src: /src/hostap/src/drivers/driver_ndis.c:2800,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:2802,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - drv
    argTypes:
    - struct wpa_driver_ndis_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2808
      start: 2798
    functionDepth: 1
    functionLinenumber: 2798
    functionLinenumberEnd: 2808
    functionName: ndis_add_multicast
    functionSourceFile: /src/hostap/src/drivers/driver_ndis.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - ndis_set_oid
    linkageType: ''
    returnType: int
    signature: int ndis_add_multicast(struct wpa_driver_ndis_data *drv)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/drivers/driver_ndis.c:2817,1
    - Dst: os_strncmp
      Src: /src/hostap/src/drivers/driver_ndis.c:2827,1
    - Dst: os_strncmp
      Src: /src/hostap/src/drivers/driver_ndis.c:2829,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_ndis.c:2831,1
    - Dst: wpa_driver_ndis_adapter_init
      Src: /src/hostap/src/drivers/driver_ndis.c:2833,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_ndis.c:2834,1
    - Dst: wpa_driver_ndis_get_names
      Src: /src/hostap/src/drivers/driver_ndis.c:2838,1
    - Dst: wpa_driver_ndis_adapter_close
      Src: /src/hostap/src/drivers/driver_ndis.c:2839,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_ndis.c:2840,1
    - Dst: wpa_driver_ndis_set_wzc
      Src: /src/hostap/src/drivers/driver_ndis.c:2844,1
    - Dst: wpa_driver_ndis_adapter_open
      Src: /src/hostap/src/drivers/driver_ndis.c:2846,1
    - Dst: wpa_driver_ndis_adapter_close
      Src: /src/hostap/src/drivers/driver_ndis.c:2847,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_ndis.c:2848,1
    - Dst: ndis_get_oid
      Src: /src/hostap/src/drivers/driver_ndis.c:2852,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:2854,1
    - Dst: wpa_driver_ndis_adapter_close
      Src: /src/hostap/src/drivers/driver_ndis.c:2856,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_ndis.c:2857,1
    - Dst: wpa_driver_ndis_get_capability
      Src: /src/hostap/src/drivers/driver_ndis.c:2860,1
    - Dst: wpa_driver_ndis_flush_pmkid
      Src: /src/hostap/src/drivers/driver_ndis.c:2869,1
    - Dst: wpa_driver_ndis_disconnect
      Src: /src/hostap/src/drivers/driver_ndis.c:2875,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/drivers/driver_ndis.c:2877,1
    - Dst: ndis_events_init
      Src: /src/hostap/src/drivers/driver_ndis.c:2880,1
    - Dst: wpa_driver_ndis_deinit
      Src: /src/hostap/src/drivers/driver_ndis.c:2883,1
    - Dst: eloop_register_event
      Src: /src/hostap/src/drivers/driver_ndis.c:2886,1
    - Dst: ndisuio_notification_init
      Src: /src/hostap/src/drivers/driver_ndis.c:2891,1
    - Dst: wpa_driver_ndis_deinit
      Src: /src/hostap/src/drivers/driver_ndis.c:2892,1
    - Dst: ndis_set_oid
      Src: /src/hostap/src/drivers/driver_ndis.c:2900,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:2904,1
    - Dst: ndis_get_oid
      Src: /src/hostap/src/drivers/driver_ndis.c:2909,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:2912,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:2921,1
    - Dst: ndis_add_multicast
      Src: /src/hostap/src/drivers/driver_ndis.c:2927,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 64
    argCount: 2
    argNames:
    - ctx
    - ifname
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2932
      start: 2811
    functionDepth: 4
    functionLinenumber: 2811
    functionLinenumberEnd: 2932
    functionName: wpa_driver_ndis_init
    functionSourceFile: /src/hostap/src/drivers/driver_ndis.c
    functionUses: 0
    functionsReached:
    - ndis_events_init
    - os_strlcpy
    - wpa_driver_ndis_deinit
    - wpa_driver_ndis_adapter_init
    - wpa_printf
    - ndis_get_oid
    - eloop_register_event
    - os_free
    - ndisuio_notification_init
    - wpa_driver_ndis_set_wzc
    - wpa_driver_ndis_get_capability
    - ndis_add_multicast
    - wpa_driver_ndis_adapter_close
    - wpa_driver_ndis_adapter_open
    - wpa_driver_ndis_get_names
    - wpa_driver_ndis_disconnect
    - os_strncmp
    - os_zalloc
    - eloop_register_timeout
    - ndis_set_oid
    - wpa_driver_ndis_flush_pmkid
    linkageType: ''
    returnType: void
    signature: void * wpa_driver_ndis_init(void *ctx, const char *ifname)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: eloop_unregister_event
      Src: /src/hostap/src/drivers/driver_ndis.c:2941,1
    - Dst: ndis_events_deinit
      Src: /src/hostap/src/drivers/driver_ndis.c:2943,1
    - Dst: ndisuio_notification_deinit
      Src: /src/hostap/src/drivers/driver_ndis.c:2948,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/drivers/driver_ndis.c:2951,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/drivers/driver_ndis.c:2952,1
    - Dst: wpa_driver_ndis_flush_pmkid
      Src: /src/hostap/src/drivers/driver_ndis.c:2953,1
    - Dst: wpa_driver_ndis_disconnect
      Src: /src/hostap/src/drivers/driver_ndis.c:2954,1
    - Dst: wpa_driver_ndis_radio_off
      Src: /src/hostap/src/drivers/driver_ndis.c:2955,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:2956,1
    - Dst: wpa_driver_ndis_adapter_close
      Src: /src/hostap/src/drivers/driver_ndis.c:2960,1
    - Dst: wpa_driver_ndis_set_wzc
      Src: /src/hostap/src/drivers/driver_ndis.c:2963,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_ndis.c:2966,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_ndis.c:2968,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_ndis.c:2969,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2970
      start: 2935
    functionDepth: 3
    functionLinenumber: 2935
    functionLinenumberEnd: 2970
    functionName: wpa_driver_ndis_deinit
    functionSourceFile: /src/hostap/src/drivers/driver_ndis.c
    functionUses: 1
    functionsReached:
    - wpa_driver_ndis_set_wzc
    - wpa_printf
    - ndisuio_notification_deinit
    - eloop_cancel_timeout
    - wpa_driver_ndis_radio_off
    - wpa_driver_ndis_adapter_close
    - os_free
    - ndis_events_deinit
    - wpa_driver_ndis_flush_pmkid
    - wpa_driver_ndis_disconnect
    - eloop_unregister_event
    linkageType: ''
    returnType: void
    signature: void wpa_driver_ndis_deinit(void *priv)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: CreateFile
      Src: /src/hostap/src/drivers/driver_ndis.c:2988,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:2994,1
    - Dst: GetLastError
      Src: /src/hostap/src/drivers/driver_ndis.c:2995,1
    - Dst: DeviceIoControl
      Src: /src/hostap/src/drivers/driver_ndis.c:3000,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:3002,1
    - Dst: GetLastError
      Src: /src/hostap/src/drivers/driver_ndis.c:3003,1
    - Dst: CloseHandle
      Src: /src/hostap/src/drivers/driver_ndis.c:3004,1
    - Dst: os_malloc
      Src: /src/hostap/src/drivers/driver_ndis.c:3009,1
    - Dst: CloseHandle
      Src: /src/hostap/src/drivers/driver_ndis.c:3011,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_ndis.c:3016,1
    - Dst: DeviceIoControl
      Src: /src/hostap/src/drivers/driver_ndis.c:3018,1
    - Dst: GetLastError
      Src: /src/hostap/src/drivers/driver_ndis.c:3021,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:3024,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:3045,1
    - Dst: os_zalloc
      Src: /src/hostap/src/drivers/driver_ndis.c:3047,1
    - Dst: os_strncmp
      Src: /src/hostap/src/drivers/driver_ndis.c:3051,1
    - Dst: os_strdup
      Src: /src/hostap/src/drivers/driver_ndis.c:3052,1
    - Dst: os_strdup
      Src: /src/hostap/src/drivers/driver_ndis.c:3054,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_ndis.c:3056,1
    - Dst: os_strdup
      Src: /src/hostap/src/drivers/driver_ndis.c:3059,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_ndis.c:3064,1
    - Dst: CloseHandle
      Src: /src/hostap/src/drivers/driver_ndis.c:3065,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:3075,1
    - Dst: PacketGetVersion
      Src: /src/hostap/src/drivers/driver_ndis.c:3076,1
    - Dst: os_zalloc
      Src: /src/hostap/src/drivers/driver_ndis.c:3079,1
    - Dst: PacketGetAdapterNames
      Src: /src/hostap/src/drivers/driver_ndis.c:3083,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_ndis.c:3085,1
    - Dst: os_zalloc
      Src: /src/hostap/src/drivers/driver_ndis.c:3086,1
    - Dst: PacketGetAdapterNames
      Src: /src/hostap/src/drivers/driver_ndis.c:3089,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:3093,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_ndis.c:3095,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:3101,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_ndis.c:3114,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_ndis.c:3125,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:3131,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_ndis.c:3132,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:3136,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_ndis.c:3149,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:3155,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_ndis.c:3157,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:3161,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis.c:3176,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_ndis.c:3179,1
    - Dst: os_zalloc
      Src: /src/hostap/src/drivers/driver_ndis.c:3184,1
    - Dst: os_strncmp
      Src: /src/hostap/src/drivers/driver_ndis.c:3188,1
    - Dst: os_strdup
      Src: /src/hostap/src/drivers/driver_ndis.c:3189,1
    - Dst: os_strdup
      Src: /src/hostap/src/drivers/driver_ndis.c:3191,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_ndis.c:3193,1
    - Dst: os_strdup
      Src: /src/hostap/src/drivers/driver_ndis.c:3196,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 160
    argCount: 1
    argNames:
    - global_priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3204
      start: 2973
    functionDepth: 0
    functionLinenumber: 2973
    functionLinenumberEnd: 3204
    functionName: wpa_driver_ndis_get_interfaces
    functionSourceFile: /src/hostap/src/drivers/driver_ndis.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - PacketGetVersion
    - GetLastError
    - os_malloc
    - os_strncmp
    - DeviceIoControl
    - os_zalloc
    - CloseHandle
    - os_free
    - CreateFile
    - PacketGetAdapterNames
    - os_strdup
    - os_memset
    linkageType: ''
    returnType: struct wpa_interface_info
    signature: 'struct wpa_interface_info *

      wpa_driver_ndis_get_interfaces(void *global_priv)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_ndis.c:3214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3235
      start: 3212
    functionDepth: 0
    functionLinenumber: 3212
    functionLinenumberEnd: 3235
    functionName: driver_ndis_init_ops
    functionSourceFile: /src/hostap/src/drivers/driver_ndis.c
    functionUses: 1
    functionsReached:
    - os_memset
    linkageType: ''
    returnType: void
    signature: void driver_ndis_init_ops(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NLMSG_PAYLOAD
      Src: /src/hostap/src/drivers/netlink.c:28,1
    - Dst: cb
      Src: /src/hostap/src/drivers/netlink.c:30,1
    - Dst: NLMSG_DATA
      Src: /src/hostap/src/drivers/netlink.c:30,1
    - Dst: NLMSG_DATA
      Src: /src/hostap/src/drivers/netlink.c:31,1
    - Dst: NLMSG_ALIGN
      Src: /src/hostap/src/drivers/netlink.c:31,1
    - Dst: NLMSG_PAYLOAD
      Src: /src/hostap/src/drivers/netlink.c:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - netlink
    - h
    argTypes:
    - struct netlink_data*
    - struct nlmsghdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 33
    functionName: netlink_receive_link
    functionSourceFile: /src/hostap/src/drivers/netlink.c
    functionUses: 0
    functionsReached:
    - NLMSG_DATA
    - NLMSG_PAYLOAD
    - NLMSG_ALIGN
    - cb
    linkageType: ''
    returnType: void
    signature: "void netlink_receive_link(struct netlink_data *netlink,\n\t\t\t\t
      void (*cb)(void *ctx, struct ifinfomsg *ifi,\n\t\t\t\t\t    u8 *buf, size_t
      len),\n\t\t\t\t struct nlmsghdr *h)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: recvfrom
      Src: /src/hostap/src/drivers/netlink.c:48,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/netlink.c:52,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/netlink.c:53,1
    - Dst: NLMSG_OK
      Src: /src/hostap/src/drivers/netlink.c:58,1
    - Dst: netlink_receive_link
      Src: /src/hostap/src/drivers/netlink.c:61,1
    - Dst: netlink_receive_link
      Src: /src/hostap/src/drivers/netlink.c:65,1
    - Dst: NLMSG_NEXT
      Src: /src/hostap/src/drivers/netlink.c:70,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/netlink.c:74,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 3
    argNames:
    - sock
    - eloop_ctx
    - sock_ctx
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 88
    functionName: netlink_receive
    functionSourceFile: /src/hostap/src/drivers/netlink.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - strerror
    - recvfrom
    - NLMSG_OK
    - NLMSG_NEXT
    - netlink_receive_link
    linkageType: ''
    returnType: void
    signature: void netlink_receive(int sock, void *eloop_ctx, void *sock_ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/drivers/netlink.c:96,1
    - Dst: socket
      Src: /src/hostap/src/drivers/netlink.c:100,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/netlink.c:102,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/netlink.c:103,1
    - Dst: netlink_deinit
      Src: /src/hostap/src/drivers/netlink.c:104,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/netlink.c:108,1
    - Dst: bind
      Src: /src/hostap/src/drivers/netlink.c:111,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/netlink.c:113,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/netlink.c:114,1
    - Dst: netlink_deinit
      Src: /src/hostap/src/drivers/netlink.c:115,1
    - Dst: eloop_register_read_sock
      Src: /src/hostap/src/drivers/netlink.c:119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - struct netlink_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 125
    functionName: netlink_init
    functionSourceFile: /src/hostap/src/drivers/netlink.c
    functionUses: 2
    functionsReached:
    - netlink_deinit
    - wpa_printf
    - strerror
    - eloop_register_read_sock
    - socket
    - os_zalloc
    - bind
    - os_memset
    linkageType: ''
    returnType: struct netlink_data
    signature: struct netlink_data * netlink_init(struct netlink_config *cfg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eloop_unregister_read_sock
      Src: /src/hostap/src/drivers/netlink.c:133,1
    - Dst: close
      Src: /src/hostap/src/drivers/netlink.c:134,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/netlink.c:136,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/netlink.c:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - netlink
    argTypes:
    - struct netlink_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 138
    functionName: netlink_deinit
    functionSourceFile: /src/hostap/src/drivers/netlink.c
    functionUses: 4
    functionsReached:
    - os_free
    - eloop_unregister_read_sock
    - close
    linkageType: ''
    returnType: void
    signature: void netlink_deinit(struct netlink_data *netlink)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - mode
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 153
    functionName: linkmode_str
    functionSourceFile: /src/hostap/src/drivers/netlink.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * linkmode_str(int mode)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - state
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 168
    functionName: operstate_str
    functionSourceFile: /src/hostap/src/drivers/netlink.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * operstate_str(int state)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/drivers/netlink.c:183,1
    - Dst: NLMSG_LENGTH
      Src: /src/hostap/src/drivers/netlink.c:185,1
    - Dst: aliasing_hide_typecast
      Src: /src/hostap/src/drivers/netlink.c:198,1
    - Dst: NLMSG_ALIGN
      Src: /src/hostap/src/drivers/netlink.c:199,1
    - Dst: RTA_LENGTH
      Src: /src/hostap/src/drivers/netlink.c:202,1
    - Dst: RTA_DATA
      Src: /src/hostap/src/drivers/netlink.c:203,1
    - Dst: RTA_SPACE
      Src: /src/hostap/src/drivers/netlink.c:204,1
    - Dst: aliasing_hide_typecast
      Src: /src/hostap/src/drivers/netlink.c:207,1
    - Dst: NLMSG_ALIGN
      Src: /src/hostap/src/drivers/netlink.c:208,1
    - Dst: RTA_LENGTH
      Src: /src/hostap/src/drivers/netlink.c:211,1
    - Dst: RTA_DATA
      Src: /src/hostap/src/drivers/netlink.c:212,1
    - Dst: RTA_SPACE
      Src: /src/hostap/src/drivers/netlink.c:213,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/netlink.c:216,1
    - Dst: linkmode_str
      Src: /src/hostap/src/drivers/netlink.c:217,1
    - Dst: operstate_str
      Src: /src/hostap/src/drivers/netlink.c:218,1
    - Dst: send
      Src: /src/hostap/src/drivers/netlink.c:220,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/netlink.c:222,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/netlink.c:224,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 32
    argCount: 4
    argNames:
    - netlink
    - ifindex
    - linkmode
    - operstate
    argTypes:
    - struct netlink_data*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 228
    functionName: netlink_send_oper_ifla
    functionSourceFile: /src/hostap/src/drivers/netlink.c
    functionUses: 8
    functionsReached:
    - wpa_printf
    - send
    - strerror
    - RTA_SPACE
    - NLMSG_ALIGN
    - RTA_DATA
    - operstate_str
    - RTA_LENGTH
    - NLMSG_LENGTH
    - aliasing_hide_typecast
    - linkmode_str
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int netlink_send_oper_ifla(struct netlink_data *netlink, int ifindex,\n\t\t\t
      \  int linkmode, int operstate)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_openbsd.c:35,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_openbsd.c:36,1
    - Dst: ioctl
      Src: /src/hostap/src/drivers/driver_openbsd.c:38,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_openbsd.c:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - priv
    - ssid
    argTypes:
    - void*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 44
    functionName: wpa_driver_openbsd_get_ssid
    functionSourceFile: /src/hostap/src/drivers/driver_openbsd.c
    functionUses: 0
    functionsReached:
    - ioctl
    - os_memcpy
    - os_strlcpy
    - os_memset
    linkageType: ''
    returnType: int
    signature: int wpa_driver_openbsd_get_ssid(void *priv, u8 *ssid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_openbsd.c:52,1
    - Dst: ioctl
      Src: /src/hostap/src/drivers/driver_openbsd.c:53,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_openbsd.c:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - priv
    - bssid
    argTypes:
    - void*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 58
    functionName: wpa_driver_openbsd_get_bssid
    functionSourceFile: /src/hostap/src/drivers/driver_openbsd.c
    functionUses: 0
    functionsReached:
    - ioctl
    - os_memcpy
    - os_strlcpy
    linkageType: ''
    returnType: int
    signature: int wpa_driver_openbsd_get_bssid(void *priv, u8 *bssid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_openbsd.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - priv
    - capa
    argTypes:
    - void*
    - struct wpa_driver_capa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: wpa_driver_openbsd_get_capa
    functionSourceFile: /src/hostap/src/drivers/driver_openbsd.c
    functionUses: 0
    functionsReached:
    - os_memset
    linkageType: ''
    returnType: int
    signature: int wpa_driver_openbsd_get_capa(void *priv, struct wpa_driver_capa
      *capa)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/hostap/src/drivers/driver_openbsd.c:87,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_openbsd.c:88,1
    - Dst: wpa_driver_openbsd_get_bssid
      Src: /src/hostap/src/drivers/driver_openbsd.c:89,1
    - Dst: memcpy
      Src: /src/hostap/src/drivers/driver_openbsd.c:91,1
    - Dst: ioctl
      Src: /src/hostap/src/drivers/driver_openbsd.c:93,1
    - Dst: os_zalloc
      Src: /src/hostap/src/drivers/driver_openbsd.c:104,1
    - Dst: socket
      Src: /src/hostap/src/drivers/driver_openbsd.c:108,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_openbsd.c:113,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_openbsd.c:118,1
    - Dst: close
      Src: /src/hostap/src/drivers/driver_openbsd.c:128,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_openbsd.c:129,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 2
    argNames:
    - priv
    - params
    argTypes:
    - void*
    - struct wpa_driver_set_key_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 142
    functionName: wpa_driver_openbsd_set_key
    functionSourceFile: /src/hostap/src/drivers/driver_openbsd.c
    functionUses: 0
    functionsReached:
    - ioctl
    - wpa_driver_openbsd_get_bssid
    - socket
    - os_strlcpy
    - memcpy
    - os_zalloc
    - memset
    - close
    - os_free
    linkageType: ''
    returnType: int
    signature: int wpa_driver_openbsd_set_key(void *priv, struct wpa_driver_set_key_params
      *params)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/drivers/driver_openbsd.c:104,1
    - Dst: socket
      Src: /src/hostap/src/drivers/driver_openbsd.c:108,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_openbsd.c:113,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_openbsd.c:118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - ctx
    - ifname
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 120
    functionName: wpa_driver_openbsd_init
    functionSourceFile: /src/hostap/src/drivers/driver_openbsd.c
    functionUses: 0
    functionsReached:
    - os_free
    - os_zalloc
    - os_strlcpy
    - socket
    linkageType: ''
    returnType: void
    signature: 'void *

      wpa_driver_openbsd_init(void *ctx, const char *ifname)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/hostap/src/drivers/driver_openbsd.c:128,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_openbsd.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 130
    functionName: wpa_driver_openbsd_deinit
    functionSourceFile: /src/hostap/src/drivers/driver_openbsd.c
    functionUses: 0
    functionsReached:
    - os_free
    - close
    linkageType: ''
    returnType: void
    signature: void wpa_driver_openbsd_deinit(void *priv)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/hostap/src/drivers/rfkill.c:62,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/rfkill.c:64,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/rfkill.c:65,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/rfkill.c:69,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/rfkill.c:77,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/rfkill.c:83,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/rfkill.c:86,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/rfkill.c:89,1
    - Dst: struct rfkill_data*::cfg::blocked_cb
      Src: /src/hostap/src/drivers/rfkill.c:96,1
    - Dst: struct rfkill_data*::cfg::unblocked_cb
      Src: /src/hostap/src/drivers/rfkill.c:98,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 3
    argNames:
    - sock
    - eloop_ctx
    - sock_ctx
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 100
    functionName: rfkill_receive
    functionSourceFile: /src/hostap/src/drivers/rfkill.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - strerror
    - read
    - struct rfkill_data*::cfg::unblocked_cb
    - struct rfkill_data*::cfg::blocked_cb
    linkageType: ''
    returnType: void
    signature: void rfkill_receive(int sock, void *eloop_ctx, void *sock_ctx)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/drivers/rfkill.c:113,1
    - Dst: os_snprintf
      Src: /src/hostap/src/drivers/rfkill.c:117,1
    - Dst: realpath
      Src: /src/hostap/src/drivers/rfkill.c:119,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/rfkill.c:121,1
    - Dst: open
      Src: /src/hostap/src/drivers/rfkill.c:126,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/rfkill.c:128,1
    - Dst: fcntl
      Src: /src/hostap/src/drivers/rfkill.c:133,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/rfkill.c:134,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/rfkill.c:135,1
    - Dst: read
      Src: /src/hostap/src/drivers/rfkill.c:140,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/rfkill.c:144,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/rfkill.c:145,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/rfkill.c:149,1
    - Dst: os_snprintf
      Src: /src/hostap/src/drivers/rfkill.c:158,1
    - Dst: realpath
      Src: /src/hostap/src/drivers/rfkill.c:160,1
    - Dst: os_strcmp
      Src: /src/hostap/src/drivers/rfkill.c:163,1
    - Dst: free
      Src: /src/hostap/src/drivers/rfkill.c:164,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/rfkill.c:169,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/rfkill.c:176,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/rfkill.c:179,1
    - Dst: free
      Src: /src/hostap/src/drivers/rfkill.c:188,1
    - Dst: eloop_register_read_sock
      Src: /src/hostap/src/drivers/rfkill.c:189,1
    - Dst: close
      Src: /src/hostap/src/drivers/rfkill.c:194,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/rfkill.c:196,1
    - Dst: free
      Src: /src/hostap/src/drivers/rfkill.c:198,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 72
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - struct rfkill_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 200
    functionName: rfkill_init
    functionSourceFile: /src/hostap/src/drivers/rfkill.c
    functionUses: 2
    functionsReached:
    - realpath
    - wpa_printf
    - open
    - strerror
    - eloop_register_read_sock
    - read
    - os_snprintf
    - os_zalloc
    - close
    - os_free
    - free
    - os_strcmp
    - fcntl
    linkageType: ''
    returnType: struct rfkill_data
    signature: struct rfkill_data * rfkill_init(struct rfkill_config *cfg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eloop_unregister_read_sock
      Src: /src/hostap/src/drivers/rfkill.c:209,1
    - Dst: close
      Src: /src/hostap/src/drivers/rfkill.c:210,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/rfkill.c:213,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/rfkill.c:214,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - rfkill
    argTypes:
    - struct rfkill_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 215
    functionName: rfkill_deinit
    functionSourceFile: /src/hostap/src/drivers/rfkill.c
    functionUses: 3
    functionsReached:
    - os_free
    - eloop_unregister_read_sock
    - close
    linkageType: ''
    returnType: void
    signature: void rfkill_deinit(struct rfkill_data *rfkill)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rfkill
    argTypes:
    - struct rfkill_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 224
    functionName: rfkill_is_blocked
    functionSourceFile: /src/hostap/src/drivers/rfkill.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int rfkill_is_blocked(struct rfkill_data *rfkill)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/drivers/driver_none.c:26,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_none.c:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - hapd
    - params
    argTypes:
    - struct hostapd_data*
    - struct wpa_init_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 35
    functionName: none_driver_hapd_init
    functionSourceFile: /src/hostap/src/drivers/driver_none.c
    functionUses: 0
    functionsReached:
    - os_zalloc
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: "void * none_driver_hapd_init(struct hostapd_data *hapd,\n\t\t\t\t
      \   struct wpa_init_params *params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_none.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: none_driver_hapd_deinit
    functionSourceFile: /src/hostap/src/drivers/driver_none.c
    functionUses: 0
    functionsReached:
    - os_free
    linkageType: ''
    returnType: void
    signature: void none_driver_hapd_deinit(void *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/drivers/driver_none.c:50,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_none.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - ifname
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 59
    functionName: none_driver_init
    functionSourceFile: /src/hostap/src/drivers/driver_none.c
    functionUses: 0
    functionsReached:
    - os_zalloc
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void * none_driver_init(void *ctx, const char *ifname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_none.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: none_driver_deinit
    functionSourceFile: /src/hostap/src/drivers/driver_none.c
    functionUses: 0
    functionsReached:
    - os_free
    linkageType: ''
    returnType: void
    signature: void none_driver_deinit(void *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nlmsg_data
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:28,1
    - Dst: nlmsg_hdr
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:28,1
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:30,1
    - Dst: genlmsg_attrdata
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:30,1
    - Dst: genlmsg_attrlen
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:31,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - msg
    - arg
    argTypes:
    - struct nl_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 37
    functionName: protocol_feature_handler
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 0
    functionsReached:
    - nlmsg_hdr
    - nla_get_u32
    - nla_parse
    - nlmsg_data
    - genlmsg_attrlen
    - genlmsg_attrdata
    linkageType: ''
    returnType: int
    signature: int protocol_feature_handler(struct nl_msg *msg, void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nlmsg_alloc
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:45,1
    - Dst: nl80211_cmd
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:49,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:50,1
    - Dst: send_and_recv_resp
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - drv
    argTypes:
    - struct wpa_driver_nl80211_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 58
    functionName: get_nl80211_protocol_features
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 1
    functionsReached:
    - nlmsg_alloc
    - send_and_recv_resp
    - nlmsg_free
    - nl80211_cmd
    linkageType: ''
    returnType: u32
    signature: u32 get_nl80211_protocol_features(struct wpa_driver_nl80211_data *drv)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - supp_protocols
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 109
    functionName: probe_resp_offload_support
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int probe_resp_offload_support(int supp_protocols)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: nla_type
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:122,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 2
    argNames:
    - info
    - tb
    argTypes:
    - struct wiphy_info_data*
    - struct nlattr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 147
    functionName: wiphy_info_supported_iftypes
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 0
    functionsReached:
    - nla_type
    linkageType: ''
    returnType: void
    signature: "void wiphy_info_supported_iftypes(struct wiphy_info_data *info,\n\t\t\t\t\t
      struct nlattr *tb)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nla_type
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:122,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 146
    functionName: nla_for_each_nested
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 0
    functionsReached:
    - nla_type
    linkageType: ''
    returnType: void
    signature: void nla_for_each_nested(nl_mode, tb, i)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: nla_parse_nested
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:173,1
    - Dst: nla_parse_nested
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:185,1
    - Dst: nla_type
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:193,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:206,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 32
    argCount: 2
    argNames:
    - info
    - nl_combi
    argTypes:
    - struct wiphy_info_data*
    - struct nlattr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 223
    functionName: wiphy_info_iface_comb_process
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 0
    functionsReached:
    - nla_get_u32
    - nla_type
    - nla_parse_nested
    linkageType: ''
    returnType: int
    signature: "int wiphy_info_iface_comb_process(struct wiphy_info_data *info,\n\t\t\t\t\t
      struct nlattr *nl_combi)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nla_parse_nested
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:185,1
    - Dst: nla_type
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:193,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 204
    functionName: nla_for_each_nested
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 0
    functionsReached:
    - nla_type
    - nla_parse_nested
    linkageType: ''
    returnType: void
    signature: "void nla_for_each_nested(nl_limit, tb_comb[NL80211_IFACE_COMB_LIMITS],\n\t\t\t
      \   rem_limit)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nla_type
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:193,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 203
    functionName: nla_for_each_nested
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 0
    functionsReached:
    - nla_type
    linkageType: ''
    returnType: void
    signature: "void nla_for_each_nested(nl_mode,\n\t\t\t\t    tb_limit[NL80211_IFACE_LIMIT_TYPES],\n\t\t\t\t
      \   rem_mode)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wiphy_info_iface_comb_process
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:236,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - info
    - tb
    argTypes:
    - struct wiphy_info_data*
    - struct nlattr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 239
    functionName: wiphy_info_iface_comb
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 0
    functionsReached:
    - wiphy_info_iface_comb_process
    linkageType: ''
    returnType: void
    signature: "void wiphy_info_iface_comb(struct wiphy_info_data *info,\n\t\t\t\t
      \ struct nlattr *tb)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wiphy_info_iface_comb_process
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 238
    functionName: nla_for_each_nested
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 0
    functionsReached:
    - wiphy_info_iface_comb_process
    linkageType: ''
    returnType: void
    signature: void nla_for_each_nested(nl_combi, tb, rem_combi)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:252,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 2
    argNames:
    - info
    - tb
    argTypes:
    - struct wiphy_info_data*
    - struct nlattr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 276
    functionName: wiphy_info_supp_cmds
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 0
    functionsReached:
    - nla_get_u32
    linkageType: ''
    returnType: void
    signature: "void wiphy_info_supp_cmds(struct wiphy_info_data *info,\n\t\t\t\t
      struct nlattr *tb)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:252,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 275
    functionName: nla_for_each_nested
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 0
    functionsReached:
    - nla_get_u32
    linkageType: ''
    returnType: void
    signature: void nla_for_each_nested(nl_cmd, tb, i)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:288,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:289,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 73
    argCount: 1
    argNames:
    - tb
    argTypes:
    - struct nlattr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 361
    functionName: get_akm_suites_info
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 0
    functionsReached:
    - nla_len
    - nla_data
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int get_akm_suites_info(struct nlattr *tb)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:375,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:376,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:376,1
    - Dst: get_akm_suites_info
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:383,1
    - Dst: nla_type
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:386,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:421,1
    - Dst: nl80211_iftype_str
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:422,1
    - Dst: nla_type
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:422,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 2
    argNames:
    - info
    - nl_akms
    argTypes:
    - struct wiphy_info_data*
    - struct nlattr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 425
    functionName: get_iface_akm_suites_info
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 0
    functionsReached:
    - nla_len
    - wpa_printf
    - nla_type
    - nla_parse
    - nla_data
    - get_akm_suites_info
    - nl80211_iftype_str
    linkageType: ''
    returnType: void
    signature: "void get_iface_akm_suites_info(struct wiphy_info_data *info,\n\t\t\t\t\tstruct
      nlattr *nl_akms)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: nla_type
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:386,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:421,1
    - Dst: nl80211_iftype_str
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:422,1
    - Dst: nla_type
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:422,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 424
    functionName: nla_for_each_nested
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - nla_type
    - nl80211_iftype_str
    linkageType: ''
    returnType: void
    signature: void nla_for_each_nested(nl_iftype, tb[NL80211_IFTYPE_AKM_ATTR_IFTYPES],
      i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nla_for_each_nested
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:437,1
    - Dst: get_iface_akm_suites_info
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:438,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - info
    - tb
    argTypes:
    - struct wiphy_info_data*
    - struct nlattr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 439
    functionName: wiphy_info_iftype_akm_suites
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 0
    functionsReached:
    - get_iface_akm_suites_info
    - nla_for_each_nested
    linkageType: ''
    returnType: void
    signature: "void wiphy_info_iftype_akm_suites(struct wiphy_info_data *info,\n\t\t\t\t\t
      struct nlattr *tb)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_akm_suites_info
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:449,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:450,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - info
    - tb
    argTypes:
    - struct wiphy_info_data*
    - struct nlattr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 452
    functionName: wiphy_info_akm_suites
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - get_akm_suites_info
    linkageType: ''
    returnType: void
    signature: "void wiphy_info_akm_suites(struct wiphy_info_data *info,\n\t\t\t\t
      \ struct nlattr *tb)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:464,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:465,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:469,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 2
    argNames:
    - info
    - tb
    argTypes:
    - struct wiphy_info_data*
    - struct nlattr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 511
    functionName: wiphy_info_cipher_suites
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 0
    functionsReached:
    - nla_len
    - wpa_printf
    - nla_data
    linkageType: ''
    returnType: void
    signature: "void wiphy_info_cipher_suites(struct wiphy_info_data *info,\n\t\t\t\t
      \    struct nlattr *tb)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:518,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - capa
    - tb
    argTypes:
    - struct wpa_driver_capa*
    - struct nlattr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 519
    functionName: wiphy_info_max_roc
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 0
    functionsReached:
    - nla_get_u32
    linkageType: ''
    returnType: void
    signature: "void wiphy_info_max_roc(struct wpa_driver_capa *capa,\n\t\t\t       struct
      nlattr *tb)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:528,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:532,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - capa
    - tdls
    - ext_setup
    argTypes:
    - struct wpa_driver_capa*
    - struct nlattr*
    - struct nlattr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 535
    functionName: wiphy_info_tdls
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: "void wiphy_info_tdls(struct wpa_driver_capa *capa, struct nlattr *tdls,\n\t\t\t
      \   struct nlattr *ext_setup)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:547,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ext_features
    - ext_features_len
    - ftidx
    argTypes:
    - u8*
    - int
    - enum nl80211_ext_feature_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 548
    functionName: ext_feature_isset
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 0
    functionsReached:
    - BIT
    linkageType: ''
    returnType: int
    signature: "int ext_feature_isset(const u8 *ext_features, int ext_features_len,\n\t\t\t
      \    enum nl80211_ext_feature_index ftidx)"
  - BBCount: 49
    BranchProfiles: []
    Callsites:
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:561,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:562,1
    - Dst: ext_feature_isset
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:564,1
    - Dst: ext_feature_isset
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:567,1
    - Dst: ext_feature_isset
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:570,1
    - Dst: ext_feature_isset
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:573,1
    - Dst: ext_feature_isset
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:577,1
    - Dst: ext_feature_isset
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:581,1
    - Dst: ext_feature_isset
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:585,1
    - Dst: ext_feature_isset
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:589,1
    - Dst: ext_feature_isset
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:593,1
    - Dst: ext_feature_isset
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:595,1
    - Dst: ext_feature_isset
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:597,1
    - Dst: ext_feature_isset
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:600,1
    - Dst: ext_feature_isset
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:603,1
    - Dst: ext_feature_isset
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:606,1
    - Dst: ext_feature_isset
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:609,1
    - Dst: ext_feature_isset
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:612,1
    - Dst: ext_feature_isset
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:616,1
    - Dst: ext_feature_isset
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:619,1
    - Dst: ext_feature_isset
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:623,1
    - Dst: ext_feature_isset
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:627,1
    - Dst: ext_feature_isset
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:631,1
    - Dst: ext_feature_isset
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:636,1
    - Dst: ext_feature_isset
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:638,1
    - Dst: ext_feature_isset
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:640,1
    - Dst: ext_feature_isset
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:642,1
    - Dst: ext_feature_isset
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:648,1
    - Dst: ext_feature_isset
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:652,1
    - Dst: ext_feature_isset
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:655,1
    - Dst: ext_feature_isset
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:658,1
    - Dst: ext_feature_isset
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:663,1
    - Dst: ext_feature_isset
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:667,1
    - Dst: ext_feature_isset
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:671,1
    - Dst: ext_feature_isset
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:675,1
    - Dst: ext_feature_isset
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:679,1
    - Dst: ext_feature_isset
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:683,1
    - Dst: ext_feature_isset
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:687,1
    - Dst: ext_feature_isset
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:691,1
    - Dst: ext_feature_isset
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:694,1
    - Dst: ext_feature_isset
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:698,1
    - Dst: ext_feature_isset
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:702,1
    - Dst: ext_feature_isset
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:706,1
    - Dst: ext_feature_isset
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:712,1
    - Dst: ext_feature_isset
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:718,1
    - Dst: ext_feature_isset
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:725,1
    - Dst: ext_feature_isset
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:729,1
    - Dst: ext_feature_isset
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:733,1
    - Dst: ext_feature_isset
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:737,1
    - Dst: ext_feature_isset
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:741,1
    - Dst: ext_feature_isset
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:745,1
    - Dst: ext_feature_isset
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:749,1
    - Dst: ext_feature_isset
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:753,1
    - Dst: ext_feature_isset
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:754,1
    - Dst: ext_feature_isset
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:759,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 106
    argCount: 2
    argNames:
    - info
    - tb
    argTypes:
    - struct wiphy_info_data*
    - struct nlattr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 551
    functionDepth: 1
    functionLinenumber: 551
    functionLinenumberEnd: 762
    functionName: wiphy_info_ext_feature_flags
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 0
    functionsReached:
    - nla_len
    - nla_data
    - ext_feature_isset
    linkageType: ''
    returnType: void
    signature: "void wiphy_info_ext_feature_flags(struct wiphy_info_data *info,\n\t\t\t\t\t
      struct nlattr *tb)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:774,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:794,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 44
    argCount: 2
    argNames:
    - info
    - tb
    argTypes:
    - struct wiphy_info_data*
    - struct nlattr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 833
    functionName: wiphy_info_feature_flags
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 0
    functionsReached:
    - nla_get_u32
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: "void wiphy_info_feature_flags(struct wiphy_info_data *info,\n\t\t\t\t
      \    struct nlattr *tb)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:844,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:845,1
    - Dst: probe_resp_offload_support
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:848,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - capa
    - tb
    argTypes:
    - struct wpa_driver_capa*
    - struct nlattr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 836
    functionDepth: 1
    functionLinenumber: 836
    functionLinenumberEnd: 849
    functionName: wiphy_info_probe_resp_offload
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 0
    functionsReached:
    - nla_get_u32
    - wpa_printf
    - probe_resp_offload_support
    linkageType: ''
    returnType: void
    signature: "void wiphy_info_probe_resp_offload(struct wpa_driver_capa *capa,\n\t\t\t\t\t
      \ struct nlattr *tb)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: nla_parse_nested
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:860,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - capa
    - tb
    argTypes:
    - struct wpa_driver_capa*
    - struct nlattr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 878
    functionName: wiphy_info_wowlan_triggers
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 0
    functionsReached:
    - nla_parse_nested
    linkageType: ''
    returnType: void
    signature: "void wiphy_info_wowlan_triggers(struct wpa_driver_capa *capa,\n\t\t\t\t
      \      struct nlattr *tb)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:894,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:894,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:895,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:903,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:904,1
    - Dst: nl80211_iftype_str
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:906,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:908,1
    - Dst: os_memdup
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:909,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:909,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:915,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:918,1
    - Dst: os_memdup
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:920,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:920,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:925,1
    - Dst: nla_get_u16
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:931,1
    - Dst: nla_get_u16
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:933,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:936,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:950,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:952,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 2
    argNames:
    - drv
    - tb
    argTypes:
    - struct wpa_driver_nl80211_data*
    - struct nlattr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 881
    functionDepth: 1
    functionLinenumber: 881
    functionLinenumberEnd: 957
    functionName: wiphy_info_extended_capab
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 0
    functionsReached:
    - nla_len
    - wpa_printf
    - nla_get_u32
    - wpa_hexdump
    - os_memdup
    - nla_parse
    - nla_data
    - nl80211_iftype_str
    - os_free
    - nla_get_u16
    linkageType: ''
    returnType: void
    signature: "void wiphy_info_extended_capab(struct wpa_driver_nl80211_data *drv,\n\t\t\t\t
      \     struct nlattr *tb)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:894,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:894,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:895,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:903,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:904,1
    - Dst: nl80211_iftype_str
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:906,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:908,1
    - Dst: os_memdup
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:909,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:909,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:915,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:918,1
    - Dst: os_memdup
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:920,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:920,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:925,1
    - Dst: nla_get_u16
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:931,1
    - Dst: nla_get_u16
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:933,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:936,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 890
    functionDepth: 1
    functionLinenumber: 890
    functionLinenumberEnd: 943
    functionName: nla_for_each_nested
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 1
    functionsReached:
    - nla_len
    - wpa_printf
    - nla_get_u32
    - wpa_hexdump
    - os_memdup
    - nla_parse
    - nla_data
    - nl80211_iftype_str
    - nla_get_u16
    linkageType: ''
    returnType: void
    signature: void nla_for_each_nested(attr, tb, rem)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nla_parse_nested
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:964,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:972,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:976,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:978,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - cap
    - attr
    argTypes:
    - struct wpa_driver_capa*
    - struct nlattr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 981
      start: 960
    functionDepth: 0
    functionLinenumber: 960
    functionLinenumberEnd: 981
    functionName: wiphy_info_mbssid
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 0
    functionsReached:
    - nla_get_u8
    - wpa_printf
    - nla_parse_nested
    linkageType: ''
    returnType: void
    signature: void wiphy_info_mbssid(struct wpa_driver_capa *cap, struct nlattr *attr)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1030,1
    - Dst: nla_parse_nested
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1032,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1034,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1040,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1046,1
    - Dst: nla_get_u16
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1054,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1058,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1062,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1066,1
    - Dst: nla_parse_nested
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1071,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1074,1
    - Dst: nla_get_u16
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1086,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1088,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1090,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1092,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1093,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1094,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1101,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1103,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1104,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1105,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1116,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1117,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1118,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1119,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1120,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1121,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1123,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1124,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1125,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1126,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1127,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1128,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1132,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 53
    argCount: 3
    argNames:
    - capa
    - info
    - attr
    argTypes:
    - struct wpa_driver_capa*
    - struct wiphy_info_data*
    - struct nlattr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1135
      start: 986
    functionDepth: 0
    functionLinenumber: 986
    functionLinenumberEnd: 1135
    functionName: wiphy_info_nan_capa_handler
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 0
    functionsReached:
    - nla_len
    - os_memcpy
    - wpa_printf
    - nla_get_u32
    - nla_parse_nested
    - nla_data
    - nla_get_u16
    - nla_get_u8
    linkageType: ''
    returnType: void
    signature: "void wiphy_info_nan_capa_handler(struct wpa_driver_capa *capa,\n\t\t\t\t\tstruct
      wiphy_info_data *info,\n\t\t\t\t\tstruct nlattr *attr)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1146,1
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1147,1
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1148,1
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1149,1
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1150,1
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1151,1
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1152,1
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1153,1
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1154,1
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1155,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - nl_bitmap
    argTypes:
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1157
      start: 1142
    functionDepth: 0
    functionLinenumber: 1142
    functionLinenumberEnd: 1157
    functionName: nl80211_to_pd_bw_bitmap
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 0
    functionsReached:
    - BIT
    linkageType: ''
    returnType: u32
    signature: u32 nl80211_to_pd_bw_bitmap(u32 nl_bitmap)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1164,1
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1165,1
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1166,1
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1167,1
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1168,1
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1169,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - nl_bitmap
    argTypes:
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1171
      start: 1160
    functionDepth: 0
    functionLinenumber: 1160
    functionLinenumberEnd: 1171
    functionName: nl80211_to_pd_preamble_bitmap
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 0
    functionsReached:
    - BIT
    linkageType: ''
    returnType: u32
    signature: u32 nl80211_to_pd_preamble_bitmap(u32 nl_bitmap)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: nla_parse_nested
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1183,1
    - Dst: nla_parse_nested
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1188,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1199,1
    - Dst: nla_parse_nested
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1204,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1218,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1221,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1224,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1229,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1236,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1239,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1242,1
    - Dst: nla_parse_nested
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1247,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1258,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1263,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1266,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1270,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1273,1
    - Dst: nl80211_to_pd_preamble_bitmap
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1281,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1282,1
    - Dst: nl80211_to_pd_bw_bitmap
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1284,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1285,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 56
    argCount: 2
    argNames:
    - drv
    - capa
    argTypes:
    - struct wpa_driver_nl80211_data*
    - struct nlattr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1174
    functionDepth: 1
    functionLinenumber: 1174
    functionLinenumberEnd: 1286
    functionName: pmsr_type_ftm_handler
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 0
    functionsReached:
    - nla_get_u32
    - nla_parse_nested
    - nl80211_to_pd_preamble_bitmap
    - nl80211_to_pd_bw_bitmap
    - nla_get_u8
    linkageType: ''
    returnType: void
    signature: "void pmsr_type_ftm_handler(struct wpa_driver_nl80211_data *drv,\n\t\t\t\t
      \ struct nlattr *capa)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nla_type
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1296,1
    - Dst: pmsr_type_ftm_handler
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1297,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - drv
    - attr
    argTypes:
    - struct wpa_driver_nl80211_data*
    - struct nlattr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1299
      start: 1289
    functionDepth: 2
    functionLinenumber: 1289
    functionLinenumberEnd: 1299
    functionName: wiphy_info_pmsr_type_capa
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 0
    functionsReached:
    - pmsr_type_ftm_handler
    - nla_type
    linkageType: ''
    returnType: void
    signature: "void wiphy_info_pmsr_type_capa(struct wpa_driver_nl80211_data *drv,\n\t\t\t\t
      \     struct nlattr *attr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nla_type
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1296,1
    - Dst: pmsr_type_ftm_handler
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1297,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1295
    functionDepth: 2
    functionLinenumber: 1295
    functionLinenumberEnd: 1298
    functionName: nla_for_each_nested
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 1
    functionsReached:
    - pmsr_type_ftm_handler
    - nla_type
    linkageType: ''
    returnType: void
    signature: void nla_for_each_nested(pos, attr, rem)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nla_parse_nested
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1312,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1315,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1321,1
    - Dst: wiphy_info_pmsr_type_capa
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1323,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - drv
    - tb
    argTypes:
    - struct wpa_driver_nl80211_data*
    - struct nlattr*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1302
    functionDepth: 3
    functionLinenumber: 1302
    functionLinenumberEnd: 1325
    functionName: wiphy_info_pmsr_capa
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 0
    functionsReached:
    - nla_get_u32
    - wpa_printf
    - nla_parse_nested
    - wiphy_info_pmsr_type_capa
    linkageType: ''
    returnType: void
    signature: "void wiphy_info_pmsr_capa(struct wpa_driver_nl80211_data *drv,\n\t\t\t\t
      struct nlattr *tb[])"
  - BBCount: 49
    BranchProfiles: []
    Callsites:
    - Dst: nlmsg_data
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1333,1
    - Dst: nlmsg_hdr
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1333,1
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1338,1
    - Dst: genlmsg_attrdata
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1338,1
    - Dst: genlmsg_attrlen
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1339,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1342,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1345,1
    - Dst: nla_get_string
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1346,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1350,1
    - Dst: nla_get_u16
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1354,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1358,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1364,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1367,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1370,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1375,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1379,1
    - Dst: wiphy_info_supported_iftypes
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1381,1
    - Dst: wiphy_info_iface_comb
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1382,1
    - Dst: wiphy_info_supp_cmds
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1383,1
    - Dst: wiphy_info_cipher_suites
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1384,1
    - Dst: wiphy_info_akm_suites
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1385,1
    - Dst: wiphy_info_iftype_akm_suites
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1386,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1389,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1395,1
    - Dst: wiphy_info_max_roc
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1399,1
    - Dst: wiphy_info_tdls
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1405,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1410,1
    - Dst: wiphy_info_feature_flags
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1418,1
    - Dst: wiphy_info_ext_feature_flags
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1419,1
    - Dst: wiphy_info_probe_resp_offload
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1420,1
    - Dst: os_malloc
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1426,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1426,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1428,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1429,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1430,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1432,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1433,1
    - Dst: os_malloc
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1438,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1438,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1440,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1441,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1442,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1443,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1448,1
    - Dst: wiphy_info_extended_capab
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1454,1
    - Dst: wiphy_info_pmsr_capa
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1458,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1467,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1468,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1471,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1533,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1541,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1552,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1553,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1556,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1557,1
    - Dst: wiphy_info_wowlan_triggers
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1562,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1567,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1571,1
    - Dst: nla_get_u16
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1578,1
    - Dst: wiphy_info_mbssid
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1581,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1590,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1591,1
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1593,1
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1594,1
    - Dst: wiphy_info_nan_capa_handler
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1599,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 168
    argCount: 2
    argNames:
    - msg
    - arg
    argTypes:
    - struct nl_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1604
      start: 1330
    functionDepth: 4
    functionLinenumber: 1330
    functionLinenumberEnd: 1604
    functionName: wiphy_info_handler
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 0
    functionsReached:
    - wpa_hexdump
    - os_strlcpy
    - nlmsg_data
    - wiphy_info_probe_resp_offload
    - BIT
    - wiphy_info_wowlan_triggers
    - nla_get_u8
    - wiphy_info_extended_capab
    - nlmsg_hdr
    - wpa_printf
    - nla_len
    - wiphy_info_mbssid
    - wiphy_info_max_roc
    - nla_get_string
    - genlmsg_attrdata
    - os_free
    - nla_get_u16
    - nla_parse
    - os_malloc
    - wiphy_info_feature_flags
    - wiphy_info_ext_feature_flags
    - nla_get_u32
    - os_memcpy
    - wiphy_info_pmsr_capa
    - wiphy_info_akm_suites
    - wiphy_info_nan_capa_handler
    - wiphy_info_supp_cmds
    - nla_data
    - genlmsg_attrlen
    - wiphy_info_iftype_akm_suites
    - wiphy_info_iface_comb
    - wiphy_info_supported_iftypes
    - wiphy_info_tdls
    - wiphy_info_cipher_suites
    linkageType: ''
    returnType: int
    signature: int wiphy_info_handler(struct nl_msg *msg, void *arg)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1467,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1468,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1471,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1533,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1541,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 69
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1543
      start: 1465
    functionDepth: 0
    functionLinenumber: 1465
    functionLinenumberEnd: 1543
    functionName: nla_for_each_nested
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 1
    functionsReached:
    - nla_len
    - wpa_printf
    - nla_data
    linkageType: ''
    returnType: void
    signature: void nla_for_each_nested(nl, tb[NL80211_ATTR_VENDOR_DATA], rem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1552,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1553,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1556,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1557,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1559
      start: 1550
    functionDepth: 0
    functionLinenumber: 1550
    functionLinenumberEnd: 1559
    functionName: nla_for_each_nested
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 1
    functionsReached:
    - nla_len
    - wpa_printf
    - nla_data
    linkageType: ''
    returnType: void
    signature: void nla_for_each_nested(nl, tb[NL80211_ATTR_VENDOR_EVENTS], rem)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1614,1
    - Dst: get_nl80211_protocol_features
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1622,1
    - Dst: nl80211_cmd_msg
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1625,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1626,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1627,1
    - Dst: send_and_recv_resp
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1631,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1637,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1645,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1651,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1657,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1692,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1696,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1726,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 72
    argCount: 2
    argNames:
    - drv
    - info
    argTypes:
    - struct wpa_driver_nl80211_data*
    - struct wiphy_info_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1732
      start: 1607
    functionDepth: 3
    functionLinenumber: 1607
    functionLinenumberEnd: 1732
    functionName: wpa_driver_nl80211_get_info
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - send_and_recv_resp
    - get_nl80211_protocol_features
    - nla_put_flag
    - nlmsg_free
    - nl80211_cmd_msg
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_nl80211_get_info(struct wpa_driver_nl80211_data *drv,\n\t\t\t\t
      \      struct wiphy_info_data *info)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nlmsg_data
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1740,1
    - Dst: nlmsg_hdr
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1740,1
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1743,1
    - Dst: genlmsg_attrdata
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1743,1
    - Dst: genlmsg_attrlen
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1744,1
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1750,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1751,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1751,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1755,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1756,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - msg
    - arg
    argTypes:
    - struct nl_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1763
      start: 1737
    functionDepth: 0
    functionLinenumber: 1737
    functionLinenumberEnd: 1763
    functionName: dfs_info_handler
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 0
    functionsReached:
    - nlmsg_hdr
    - nla_len
    - nla_get_u32
    - wpa_printf
    - nla_parse
    - nlmsg_data
    - nla_data
    - genlmsg_attrlen
    - genlmsg_attrdata
    linkageType: ''
    returnType: int
    signature: int dfs_info_handler(struct nl_msg *msg, void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_drv_msg
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1775,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1776,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1777,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1779,1
    - Dst: send_and_recv_resp
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1783,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - drv
    argTypes:
    - struct wpa_driver_nl80211_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1786
      start: 1766
    functionDepth: 5
    functionLinenumber: 1766
    functionLinenumberEnd: 1786
    functionName: qca_nl80211_check_dfs_capa
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 0
    functionsReached:
    - send_and_recv_resp
    - nla_put_u32
    - nlmsg_free
    - nl80211_drv_msg
    linkageType: ''
    returnType: void
    signature: void qca_nl80211_check_dfs_capa(struct wpa_driver_nl80211_data *drv)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nlmsg_data
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1799,1
    - Dst: nlmsg_hdr
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1799,1
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1803,1
    - Dst: genlmsg_attrdata
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1803,1
    - Dst: genlmsg_attrlen
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1804,1
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1810,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1811,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1811,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1815,1
    - Dst: os_malloc
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1816,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1818,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1818,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1824,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1829,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1834,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - msg
    - arg
    argTypes:
    - struct nl_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1838
      start: 1796
    functionDepth: 0
    functionLinenumber: 1796
    functionLinenumberEnd: 1838
    functionName: features_info_handler
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 0
    functionsReached:
    - nlmsg_hdr
    - nla_len
    - os_memcpy
    - nla_get_u32
    - nla_parse
    - nlmsg_data
    - nla_data
    - os_malloc
    - genlmsg_attrlen
    - genlmsg_attrdata
    linkageType: ''
    returnType: int
    signature: int features_info_handler(struct nl_msg *msg, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1847,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - feature
    - info
    argTypes:
    - enum qca_wlan_vendor_features
    - struct features_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1848
      start: 1841
    functionDepth: 0
    functionLinenumber: 1841
    functionLinenumberEnd: 1848
    functionName: check_feature
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 0
    functionsReached:
    - BIT
    linkageType: ''
    returnType: int
    signature: "int check_feature(enum qca_wlan_vendor_features feature,\n\t\t\t struct
      features_info *info)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_drv_msg
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1860,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1861,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1862,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1864,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1868,1
    - Dst: send_and_recv_resp
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1870,1
    - Dst: check_feature
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1874,1
    - Dst: check_feature
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1877,1
    - Dst: check_feature
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1880,1
    - Dst: check_feature
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1883,1
    - Dst: check_feature
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1885,1
    - Dst: check_feature
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1887,1
    - Dst: check_feature
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1889,1
    - Dst: check_feature
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1891,1
    - Dst: check_feature
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1893,1
    - Dst: check_feature
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1895,1
    - Dst: check_feature
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1897,1
    - Dst: check_feature
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1899,1
    - Dst: check_feature
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1903,1
    - Dst: check_feature
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1907,1
    - Dst: check_feature
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1910,1
    - Dst: check_feature
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1912,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1913,1
    - Dst: check_feature
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1917,1
    - Dst: check_feature
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1920,1
    - Dst: check_feature
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1923,1
    - Dst: check_feature
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1926,1
    - Dst: check_feature
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1930,1
    - Dst: check_feature
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1934,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1935,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1940,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 61
    argCount: 1
    argNames:
    - drv
    argTypes:
    - struct wpa_driver_nl80211_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1941
      start: 1851
    functionDepth: 5
    functionLinenumber: 1851
    functionLinenumberEnd: 1941
    functionName: qca_nl80211_get_features
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 0
    functionsReached:
    - check_feature
    - wpa_printf
    - nl80211_drv_msg
    - send_and_recv_resp
    - nlmsg_free
    - os_free
    - nla_put_u32
    - os_memset
    linkageType: ''
    returnType: void
    signature: void qca_nl80211_get_features(struct wpa_driver_nl80211_data *drv)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: wpa_driver_nl80211_get_info
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:1951,1
    - Dst: qca_nl80211_check_dfs_capa
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2071,1
    - Dst: qca_nl80211_get_features
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2072,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2085,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 61
    argCount: 1
    argNames:
    - drv
    argTypes:
    - struct wpa_driver_nl80211_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2093
      start: 1946
    functionDepth: 6
    functionLinenumber: 1946
    functionLinenumberEnd: 2093
    functionName: wpa_driver_nl80211_capa
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 1
    functionsReached:
    - qca_nl80211_get_features
    - wpa_printf
    - qca_nl80211_check_dfs_capa
    - wpa_driver_nl80211_get_info
    linkageType: ''
    returnType: int
    signature: int wpa_driver_nl80211_capa(struct wpa_driver_nl80211_data *drv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nla_get_u16
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2111,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2114,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2117,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2119,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2121,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2122,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 5
    argNames:
    - mode
    - capa
    - ampdu_factor
    - ampdu_density
    - mcs_set
    argTypes:
    - struct hostapd_hw_modes*
    - struct nlattr*
    - struct nlattr*
    - struct nlattr*
    - struct nlattr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2124
      start: 2105
    functionDepth: 0
    functionLinenumber: 2105
    functionLinenumberEnd: 2124
    functionName: phy_info_ht_capa
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 0
    functionsReached:
    - nla_len
    - os_memcpy
    - nla_data
    - nla_get_u16
    - nla_get_u8
    linkageType: ''
    returnType: void
    signature: "void phy_info_ht_capa(struct hostapd_hw_modes *mode, struct nlattr
      *capa,\n\t\t\t     struct nlattr *ampdu_factor,\n\t\t\t     struct nlattr *ampdu_density,\n\t\t\t
      \    struct nlattr *mcs_set)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2132,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2134,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2136,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - mode
    - capa
    - mcs_set
    argTypes:
    - struct hostapd_hw_modes*
    - struct nlattr*
    - struct nlattr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2139
      start: 2127
    functionDepth: 0
    functionLinenumber: 2127
    functionLinenumberEnd: 2139
    functionName: phy_info_vht_capa
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 0
    functionsReached:
    - nla_get_u32
    - os_memcpy
    - nla_data
    - nla_len
    linkageType: ''
    returnType: void
    signature: "void phy_info_vht_capa(struct hostapd_hw_modes *mode,\n\t\t\t      struct
      nlattr *capa,\n\t\t\t      struct nlattr *mcs_set)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2149,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2150,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - mode
    - bw_config
    - channels
    argTypes:
    - struct hostapd_hw_modes*
    - struct nlattr*
    - struct nlattr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2156
      start: 2142
    functionDepth: 0
    functionLinenumber: 2142
    functionLinenumberEnd: 2156
    functionName: phy_info_edmg_capa
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 0
    functionsReached:
    - nla_get_u8
    linkageType: ''
    returnType: int
    signature: "int phy_info_edmg_capa(struct hostapd_hw_modes *mode,\n\t\t\t      struct
      nlattr *bw_config,\n\t\t\t      struct nlattr *channels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - cw
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2170
      start: 2159
    functionDepth: 0
    functionLinenumber: 2159
    functionLinenumberEnd: 2170
    functionName: cw2ecw
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cw2ecw(unsigned int cw)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2179,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2180,1
    - Dst: ieee80211_freq_to_chan
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2184,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2187,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2219,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2235,1
    - Dst: nla_parse_nested
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2259,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2261,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2269,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2274,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2275,1
    - Dst: cw2ecw
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2282,1
    - Dst: nla_get_u16
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2282,1
    - Dst: cw2ecw
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2285,1
    - Dst: nla_get_u16
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2285,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2288,1
    - Dst: nla_get_u16
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2290,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 74
    argCount: 3
    argNames:
    - mode
    - chan
    - tb_freq
    argTypes:
    - struct hostapd_hw_modes*
    - struct hostapd_channel_data*
    - struct nlattr*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2298
      start: 2173
    functionDepth: 2
    functionLinenumber: 2173
    functionLinenumberEnd: 2298
    functionName: phy_info_freq
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 0
    functionsReached:
    - nla_get_u32
    - wpa_printf
    - nla_parse_nested
    - cw2ecw
    - nla_get_u8
    - ieee80211_freq_to_chan
    - nla_get_u16
    - ARRAY_SIZE
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void phy_info_freq(struct hostapd_hw_modes *mode,\n\t\t\t  struct
      hostapd_channel_data *chan,\n\t\t\t  struct nlattr *tb_freq[])"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nla_parse_nested
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2259,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2261,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2269,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2274,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2275,1
    - Dst: cw2ecw
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2282,1
    - Dst: nla_get_u16
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2282,1
    - Dst: cw2ecw
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2285,1
    - Dst: nla_get_u16
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2285,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2288,1
    - Dst: nla_get_u16
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2290,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2292
      start: 2257
    functionDepth: 1
    functionLinenumber: 2257
    functionLinenumberEnd: 2292
    functionName: nla_for_each_nested
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - nla_parse_nested
    - cw2ecw
    - nla_get_u8
    - nla_get_u16
    - ARRAY_SIZE
    linkageType: ''
    returnType: void
    signature: "void nla_for_each_nested(nl_wmm, tb_freq[NL80211_FREQUENCY_ATTR_WMM],\n\t\t\t\t
      \   rem_wmm)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2330,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2331,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2331,1
    - Dst: os_realloc_array
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2337,1
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2349,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2350,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2350,1
    - Dst: phy_info_freq
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2353,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - phy_info
    - mode
    - tb
    argTypes:
    - struct phy_info_arg*
    - struct hostapd_hw_modes*
    - struct nlattr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2359
      start: 2301
    functionDepth: 3
    functionLinenumber: 2301
    functionLinenumberEnd: 2359
    functionName: phy_info_freqs
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 0
    functionsReached:
    - nla_len
    - nla_parse
    - nla_data
    - phy_info_freq
    - os_realloc_array
    linkageType: ''
    returnType: int
    signature: "int phy_info_freqs(struct phy_info_arg *phy_info,\n\t\t\t  struct
      hostapd_hw_modes *mode, struct nlattr *tb)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2330,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2331,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2331,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2335
      start: 2329
    functionDepth: 0
    functionLinenumber: 2329
    functionLinenumberEnd: 2335
    functionName: nla_for_each_nested
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 1
    functionsReached:
    - nla_len
    - nla_parse
    - nla_data
    linkageType: ''
    returnType: void
    signature: void nla_for_each_nested(nl_freq, tb, rem_freq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2349,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2350,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2350,1
    - Dst: phy_info_freq
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2353,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2355
      start: 2348
    functionDepth: 3
    functionLinenumber: 2348
    functionLinenumberEnd: 2355
    functionName: nla_for_each_nested
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 1
    functionsReached:
    - nla_len
    - nla_parse
    - nla_data
    - phy_info_freq
    linkageType: ''
    returnType: void
    signature: void nla_for_each_nested(nl_freq, tb, rem_freq)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2377,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2378,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2378,1
    - Dst: os_calloc
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2385,1
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2392,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2393,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2393,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2397,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - mode
    - tb
    argTypes:
    - struct hostapd_hw_modes*
    - struct nlattr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2403
      start: 2362
    functionDepth: 1
    functionLinenumber: 2362
    functionLinenumberEnd: 2403
    functionName: phy_info_rates
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 0
    functionsReached:
    - nla_get_u32
    - nla_len
    - os_calloc
    - nla_parse
    - nla_data
    linkageType: ''
    returnType: int
    signature: int phy_info_rates(struct hostapd_hw_modes *mode, struct nlattr *tb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2377,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2378,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2378,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2383
      start: 2376
    functionDepth: 0
    functionLinenumber: 2376
    functionLinenumberEnd: 2383
    functionName: nla_for_each_nested
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 1
    functionsReached:
    - nla_len
    - nla_parse
    - nla_data
    linkageType: ''
    returnType: void
    signature: void nla_for_each_nested(nl_rate, tb, rem_rate)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2392,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2393,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2393,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2397,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2400
      start: 2391
    functionDepth: 0
    functionLinenumber: 2391
    functionLinenumberEnd: 2400
    functionName: nla_for_each_nested
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 1
    functionsReached:
    - nla_len
    - nla_parse
    - nla_data
    - nla_get_u32
    linkageType: ''
    returnType: void
    signature: void nla_for_each_nested(nl_rate, tb, rem_rate)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: nla_get_flag
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2433,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2439,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2443,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2444,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2449,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2453,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2454,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2459,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2463,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2464,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2469,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2473,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2474,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2479,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2480,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2481,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2490,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2493,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2494,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2498,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2501,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2502,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2507,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2510,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2511,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2516,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2519,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2520,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2531,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2533,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2534,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2538,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2540,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2541,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 78
    argCount: 4
    argNames:
    - mode
    - opmode
    - tb
    - tb_flags
    argTypes:
    - struct hostapd_hw_modes*
    - enum ieee80211_op_mode
    - struct nlattr**
    - struct nlattr**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2543
      start: 2406
    functionDepth: 1
    functionLinenumber: 2406
    functionLinenumberEnd: 2543
    functionName: phy_info_iftype_copy
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 0
    functionsReached:
    - nla_len
    - os_memcpy
    - nla_get_flag
    - nla_data
    - WPA_GET_LE16
    linkageType: ''
    returnType: void
    signature: "void phy_info_iftype_copy(struct hostapd_hw_modes *mode,\n\t\t\t\t
      enum ieee80211_op_mode opmode,\n\t\t\t\t struct nlattr **tb, struct nlattr **tb_flags)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2553,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2554,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2554,1
    - Dst: nla_parse_nested
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2559,1
    - Dst: phy_info_iftype_copy
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2564,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - mode
    - nl_iftype
    argTypes:
    - struct hostapd_hw_modes*
    - struct nlattr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2567
      start: 2546
    functionDepth: 2
    functionLinenumber: 2546
    functionLinenumberEnd: 2567
    functionName: phy_info_iftype
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 0
    functionsReached:
    - nla_len
    - phy_info_iftype_copy
    - nla_parse_nested
    - nla_parse
    - nla_data
    linkageType: ''
    returnType: int
    signature: "int phy_info_iftype(struct hostapd_hw_modes *mode,\n\t\t\t   struct
      nlattr *nl_iftype)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: os_realloc_array
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2577,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2587,1
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2611,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2611,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2612,1
    - Dst: phy_info_ht_capa
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2614,1
    - Dst: phy_info_vht_capa
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2618,1
    - Dst: phy_info_edmg_capa
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2620,1
    - Dst: phy_info_freqs
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2624,1
    - Dst: phy_info_rates
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2627,1
    - Dst: phy_info_iftype
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2640,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 2
    argNames:
    - phy_info
    - nl_band
    argTypes:
    - struct phy_info_arg*
    - struct nlattr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2647
      start: 2570
    functionDepth: 4
    functionLinenumber: 2570
    functionLinenumberEnd: 2647
    functionName: phy_info_band
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 0
    functionsReached:
    - nla_len
    - os_realloc_array
    - phy_info_rates
    - phy_info_freqs
    - phy_info_iftype
    - phy_info_edmg_capa
    - nla_parse
    - nla_data
    - phy_info_vht_capa
    - phy_info_ht_capa
    - os_memset
    linkageType: ''
    returnType: int
    signature: int phy_info_band(struct phy_info_arg *phy_info, struct nlattr *nl_band)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: phy_info_iftype
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2640,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2643
      start: 2637
    functionDepth: 3
    functionLinenumber: 2637
    functionLinenumberEnd: 2643
    functionName: nla_for_each_nested
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 1
    functionsReached:
    - phy_info_iftype
    linkageType: ''
    returnType: void
    signature: "void nla_for_each_nested(nl_iftype,\n\t\t\t\t    tb_band[NL80211_BAND_ATTR_IFTYPE_DATA],\n\t\t\t\t
      \   rem_band)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nlmsg_data
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2653,1
    - Dst: nlmsg_hdr
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2653,1
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2658,1
    - Dst: genlmsg_attrdata
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2658,1
    - Dst: genlmsg_attrlen
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2659,1
    - Dst: phy_info_band
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2666,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - msg
    - arg
    argTypes:
    - struct nl_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2672
      start: 2650
    functionDepth: 5
    functionLinenumber: 2650
    functionLinenumberEnd: 2672
    functionName: phy_info_handler
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 0
    functionsReached:
    - nlmsg_hdr
    - nla_parse
    - nlmsg_data
    - genlmsg_attrlen
    - genlmsg_attrdata
    - phy_info_band
    linkageType: ''
    returnType: int
    signature: int phy_info_handler(struct nl_msg *msg, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: phy_info_band
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2666,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2669
      start: 2664
    functionDepth: 5
    functionLinenumber: 2664
    functionLinenumberEnd: 2669
    functionName: nla_for_each_nested
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 1
    functionsReached:
    - phy_info_band
    linkageType: ''
    returnType: void
    signature: void nla_for_each_nested(nl_band, tb_msg[NL80211_ATTR_WIPHY_BANDS],
      rem_band)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: is_6ghz_freq
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2703,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2715,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2717,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2718,1
    - Dst: os_memmove
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2720,1
    - Dst: os_realloc_array
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2742,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2747,1
    - Dst: os_memdup
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2755,1
    - Dst: os_malloc
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2764,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2766,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2782,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2783,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2788,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 87
    argCount: 2
    argNames:
    - modes
    - num_modes
    argTypes:
    - struct hostapd_hw_modes*
    - u16*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2792
      start: 2675
    functionDepth: 2
    functionLinenumber: 2675
    functionLinenumberEnd: 2792
    functionName: wpa_driver_nl80211_postprocess_modes
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - is_6ghz_freq
    - os_memdup
    - os_memset
    - os_memmove
    - os_malloc
    - os_free
    - os_realloc_array
    linkageType: ''
    returnType: struct hostapd_hw_modes
    signature: "struct hostapd_hw_modes *\nwpa_driver_nl80211_postprocess_modes(struct
      hostapd_hw_modes *modes,\n\t\t\t\t     u16 *num_modes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - mode
    - start
    - end
    argTypes:
    - struct hostapd_hw_modes*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2805
      start: 2795
    functionDepth: 0
    functionLinenumber: 2795
    functionLinenumberEnd: 2805
    functionName: nl80211_set_ht40_mode
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void nl80211_set_ht40_mode(struct hostapd_hw_modes *mode, int start,\n\t\t\t\t
      \ int end)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - mode
    - start
    - end
    argTypes:
    - struct hostapd_hw_modes*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2822
      start: 2808
    functionDepth: 0
    functionLinenumber: 2808
    functionLinenumberEnd: 2822
    functionName: nl80211_set_ht40_mode_sec
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void nl80211_set_ht40_mode_sec(struct hostapd_hw_modes *mode, int
      start,\n\t\t\t\t      int end)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 4
    argNames:
    - start
    - end
    - max_eirp
    - results
    argTypes:
    - u32
    - u32
    - u32
    - struct phy_info_arg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2841
      start: 2825
    functionDepth: 0
    functionLinenumber: 2825
    functionLinenumberEnd: 2841
    functionName: nl80211_reg_rule_max_eirp
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void nl80211_reg_rule_max_eirp(u32 start, u32 end, u32 max_eirp,\n\t\t\t\t
      \     struct phy_info_arg *results)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_set_ht40_mode
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2853,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - start
    - end
    - results
    argTypes:
    - u32
    - u32
    - struct phy_info_arg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2855
      start: 2844
    functionDepth: 1
    functionLinenumber: 2844
    functionLinenumberEnd: 2855
    functionName: nl80211_reg_rule_ht40
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 0
    functionsReached:
    - nl80211_set_ht40_mode
    linkageType: ''
    returnType: void
    signature: "void nl80211_reg_rule_ht40(u32 start, u32 end,\n\t\t\t\t  struct phy_info_arg
      *results)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2869,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2870,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2871,1
    - Dst: nl80211_set_ht40_mode_sec
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2880,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - tb
    - results
    argTypes:
    - struct nlattr*[]
    - struct phy_info_arg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2882
      start: 2858
    functionDepth: 1
    functionLinenumber: 2858
    functionLinenumberEnd: 2882
    functionName: nl80211_reg_rule_sec
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 0
    functionsReached:
    - nla_get_u32
    - nl80211_set_ht40_mode_sec
    linkageType: ''
    returnType: void
    signature: "void nl80211_reg_rule_sec(struct nlattr *tb[],\n\t\t\t\t struct phy_info_arg
      *results)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 5
    argNames:
    - mode
    - start
    - end
    - max_bw
    - flags
    argTypes:
    - struct hostapd_hw_modes*
    - int
    - int
    - int
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2905
      start: 2885
    functionDepth: 0
    functionLinenumber: 2885
    functionLinenumberEnd: 2905
    functionName: nl80211_set_vht_mode
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void nl80211_set_vht_mode(struct hostapd_hw_modes *mode, int start,\n\t\t\t\t
      int end, int max_bw, u32 flags)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2919,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2920,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2921,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2924,1
    - Dst: nl80211_set_vht_mode
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2937,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 2
    argNames:
    - tb
    - results
    argTypes:
    - struct nlattr*[]
    - struct phy_info_arg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2940
      start: 2908
    functionDepth: 1
    functionLinenumber: 2908
    functionLinenumberEnd: 2940
    functionName: nl80211_reg_rule_vht
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 0
    functionsReached:
    - nla_get_u32
    - nl80211_set_vht_mode
    linkageType: ''
    returnType: void
    signature: "void nl80211_reg_rule_vht(struct nlattr *tb[],\n\t\t\t\t struct phy_info_arg
      *results)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 4
    argNames:
    - mode
    - start
    - end
    - max_bw
    argTypes:
    - struct hostapd_hw_modes*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2963
      start: 2943
    functionDepth: 0
    functionLinenumber: 2943
    functionLinenumberEnd: 2963
    functionName: nl80211_set_6ghz_mode
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void nl80211_set_6ghz_mode(struct hostapd_hw_modes *mode, int start,\n\t\t\t\t
      \ int end, int max_bw)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2977,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2978,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2979,1
    - Dst: is_6ghz_freq
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2986,1
    - Dst: nl80211_set_6ghz_mode
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:2989,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - tb
    - results
    argTypes:
    - struct nlattr*[]
    - struct phy_info_arg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2991
      start: 2966
    functionDepth: 2
    functionLinenumber: 2966
    functionLinenumberEnd: 2991
    functionName: nl80211_reg_rule_6ghz
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 0
    functionsReached:
    - nla_get_u32
    - nl80211_set_6ghz_mode
    - is_6ghz_freq
    linkageType: ''
    returnType: void
    signature: "void nl80211_reg_rule_6ghz(struct nlattr *tb[],\n\t\t\t\t struct phy_info_arg
      *results)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - region
    - dfs_domain
    argTypes:
    - enum nl80211_dfs_regions
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3005
      start: 2994
    functionDepth: 0
    functionLinenumber: 2994
    functionLinenumberEnd: 3005
    functionName: nl80211_set_dfs_domain
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void nl80211_set_dfs_domain(enum nl80211_dfs_regions region,\n\t\t\t\t
      \  u8 *dfs_domain)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - region
    argTypes:
    - enum nl80211_dfs_regions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3022
      start: 3008
    functionDepth: 0
    functionLinenumber: 3008
    functionLinenumberEnd: 3022
    functionName: dfs_domain_name
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * dfs_domain_name(enum nl80211_dfs_regions region)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: nlmsg_data
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3029,1
    - Dst: nlmsg_hdr
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3029,1
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3042,1
    - Dst: genlmsg_attrdata
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3042,1
    - Dst: genlmsg_attrlen
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3043,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3046,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3053,1
    - Dst: nl80211_set_dfs_domain
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3054,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3055,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3056,1
    - Dst: dfs_domain_name
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3057,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3059,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3060,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3064,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3065,1
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3071,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3072,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3072,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3076,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3077,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3079,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3081,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3083,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3085,1
    - Dst: nl80211_reg_rule_ht40
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3097,1
    - Dst: nl80211_reg_rule_max_eirp
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3099,1
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3105,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3106,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3106,1
    - Dst: nl80211_reg_rule_sec
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3107,1
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3112,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3113,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3113,1
    - Dst: nl80211_reg_rule_vht
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3114,1
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3119,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3120,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3120,1
    - Dst: nl80211_reg_rule_6ghz
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3121,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 2
    argNames:
    - msg
    - arg
    argTypes:
    - struct nl_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3125
      start: 3025
    functionDepth: 3
    functionLinenumber: 3025
    functionLinenumberEnd: 3125
    functionName: nl80211_get_reg
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 0
    functionsReached:
    - nlmsg_hdr
    - wpa_printf
    - nla_len
    - nla_get_u32
    - nl80211_reg_rule_max_eirp
    - nl80211_reg_rule_vht
    - nla_parse
    - nl80211_set_dfs_domain
    - nlmsg_data
    - nla_data
    - os_strlcpy
    - genlmsg_attrlen
    - nl80211_reg_rule_ht40
    - dfs_domain_name
    - genlmsg_attrdata
    - nl80211_reg_rule_sec
    - nl80211_reg_rule_6ghz
    - nla_get_u8
    linkageType: ''
    returnType: int
    signature: int nl80211_get_reg(struct nl_msg *msg, void *arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3071,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3072,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3072,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3076,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3077,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3079,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3081,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3083,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3085,1
    - Dst: nl80211_reg_rule_ht40
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3097,1
    - Dst: nl80211_reg_rule_max_eirp
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3099,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3101
      start: 3068
    functionDepth: 2
    functionLinenumber: 3068
    functionLinenumberEnd: 3101
    functionName: nla_for_each_nested
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 1
    functionsReached:
    - nla_len
    - wpa_printf
    - nla_get_u32
    - nl80211_reg_rule_max_eirp
    - nla_parse
    - nla_data
    - nl80211_reg_rule_ht40
    linkageType: ''
    returnType: void
    signature: void nla_for_each_nested(nl_rule, tb_msg[NL80211_ATTR_REG_RULES], rem_rule)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3105,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3106,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3106,1
    - Dst: nl80211_reg_rule_sec
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3108
      start: 3103
    functionDepth: 2
    functionLinenumber: 3103
    functionLinenumberEnd: 3108
    functionName: nla_for_each_nested
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 1
    functionsReached:
    - nla_len
    - nla_parse
    - nla_data
    - nl80211_reg_rule_sec
    linkageType: ''
    returnType: void
    signature: void nla_for_each_nested(nl_rule, tb_msg[NL80211_ATTR_REG_RULES], rem_rule)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3112,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3113,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3113,1
    - Dst: nl80211_reg_rule_vht
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3115
      start: 3110
    functionDepth: 2
    functionLinenumber: 3110
    functionLinenumberEnd: 3115
    functionName: nla_for_each_nested
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 1
    functionsReached:
    - nla_len
    - nla_parse
    - nla_data
    - nl80211_reg_rule_vht
    linkageType: ''
    returnType: void
    signature: void nla_for_each_nested(nl_rule, tb_msg[NL80211_ATTR_REG_RULES], rem_rule)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3119,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3120,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3120,1
    - Dst: nl80211_reg_rule_6ghz
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3122
      start: 3117
    functionDepth: 3
    functionLinenumber: 3117
    functionLinenumberEnd: 3122
    functionName: nla_for_each_nested
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 1
    functionsReached:
    - nla_len
    - nla_parse
    - nla_data
    - nl80211_reg_rule_6ghz
    linkageType: ''
    returnType: void
    signature: void nla_for_each_nested(nl_rule, tb_msg[NL80211_ATTR_REG_RULES], rem_rule)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nlmsg_alloc
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3133,1
    - Dst: nl80211_cmd
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3137,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3139,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3140,1
    - Dst: send_and_recv_resp
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3145,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - drv
    - results
    argTypes:
    - struct wpa_driver_nl80211_data*
    - struct phy_info_arg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3146
      start: 3128
    functionDepth: 2
    functionLinenumber: 3128
    functionLinenumberEnd: 3146
    functionName: nl80211_set_regulatory_flags
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 0
    functionsReached:
    - nl80211_cmd
    - send_and_recv_resp
    - nlmsg_alloc
    - nlmsg_free
    - nla_put_u32
    linkageType: ''
    returnType: int
    signature: "int nl80211_set_regulatory_flags(struct wpa_driver_nl80211_data *drv,\n\t\t\t\t\tstruct
      phy_info_arg *results)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - mode
    argTypes:
    - enum hostapd_hw_mode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3163
      start: 3149
    functionDepth: 0
    functionLinenumber: 3149
    functionLinenumberEnd: 3163
    functionName: modestr
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * modestr(enum hostapd_hw_mode mode)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: is_6ghz_freq
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3185,1
    - Dst: os_snprintf
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3189,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3197,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3203,1
    - Dst: modestr
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3204,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - drv
    - modes
    - num_modes
    argTypes:
    - struct wpa_driver_nl80211_data*
    - struct hostapd_hw_modes*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3206
      start: 3166
    functionDepth: 2
    functionLinenumber: 3166
    functionLinenumberEnd: 3206
    functionName: nl80211_dump_chan_list
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - is_6ghz_freq
    - os_snprintf
    - modestr
    - os_snprintf_error
    linkageType: ''
    returnType: void
    signature: "void nl80211_dump_chan_list(struct wpa_driver_nl80211_data *drv,\n\t\t\t\t
      \  struct hostapd_hw_modes *modes,\n\t\t\t\t   u16 num_modes)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: get_nl80211_protocol_features
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3233,1
    - Dst: nl80211_cmd_msg
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3236,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3237,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3238,1
    - Dst: send_and_recv_resp
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3242,1
    - Dst: nl80211_set_regulatory_flags
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3245,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3250,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3251,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3253,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3260,1
    - Dst: wpa_driver_nl80211_postprocess_modes
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3262,1
    - Dst: nl80211_dump_chan_list
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3264,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 6
    argNames:
    - priv
    - num_modes
    - flags
    - dfs_domain
    - alpha2
    - alpha2_len
    argTypes:
    - void*
    - u16*
    - u16*
    - u8*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3269
      start: 3209
    functionDepth: 3
    functionLinenumber: 3209
    functionLinenumberEnd: 3269
    functionName: nl80211_get_hw_feature_data
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 1
    functionsReached:
    - wpa_driver_nl80211_postprocess_modes
    - send_and_recv_resp
    - os_strlcpy
    - nl80211_dump_chan_list
    - get_nl80211_protocol_features
    - nla_put_flag
    - nlmsg_free
    - nl80211_set_regulatory_flags
    - os_free
    - nl80211_cmd_msg
    linkageType: ''
    returnType: struct hostapd_hw_modes
    signature: "struct hostapd_hw_modes *\nnl80211_get_hw_feature_data(void *priv,
      u16 *num_modes, u16 *flags,\n\t\t\t    u8 *dfs_domain, char *alpha2, size_t
      alpha2_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nla_type
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3278,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3280,1
    - Dst: nla_parse_nested
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3283,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3289,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3291,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - hw_info
    - radio_attr
    argTypes:
    - struct hostapd_multi_hw_info*
    - struct nlattr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3301
      start: 3272
    functionDepth: 0
    functionLinenumber: 3272
    functionLinenumberEnd: 3301
    functionName: phy_multi_hw_info_parse
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 0
    functionsReached:
    - nla_get_u32
    - nla_type
    - nla_parse_nested
    linkageType: ''
    returnType: int
    signature: "int phy_multi_hw_info_parse(struct hostapd_multi_hw_info *hw_info,\n\t\t\t\t
      \  struct nlattr *radio_attr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nlmsg_data
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3313,1
    - Dst: nlmsg_hdr
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3313,1
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3320,1
    - Dst: genlmsg_attrdata
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3320,1
    - Dst: genlmsg_attrlen
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3321,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3329,1
    - Dst: phy_multi_hw_info_parse
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3332,1
    - Dst: os_realloc_array
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3340,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3347,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - msg
    - arg
    argTypes:
    - struct nl_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3356
      start: 3311
    functionDepth: 1
    functionLinenumber: 3311
    functionLinenumberEnd: 3356
    functionName: phy_multi_hw_info_handler
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 0
    functionsReached:
    - nlmsg_hdr
    - os_memcpy
    - os_realloc_array
    - nla_parse
    - nlmsg_data
    - genlmsg_attrlen
    - genlmsg_attrdata
    - phy_multi_hw_info_parse
    - os_memset
    linkageType: ''
    returnType: int
    signature: int phy_multi_hw_info_handler(struct nl_msg *msg, void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3329,1
    - Dst: phy_multi_hw_info_parse
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3332,1
    - Dst: os_realloc_array
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3340,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3347,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3350
      start: 3328
    functionDepth: 1
    functionLinenumber: 3328
    functionLinenumberEnd: 3350
    functionName: nla_for_each_nested
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    - phy_multi_hw_info_parse
    - os_realloc_array
    - os_memset
    linkageType: ''
    returnType: void
    signature: void nla_for_each_nested(nl_hw, tb_msg[NL80211_ATTR_WIPHY_RADIOS],
      rem_hw)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: phy_multi_hw_info_parse
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3332,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3335
      start: 3331
    functionDepth: 1
    functionLinenumber: 3331
    functionLinenumberEnd: 3335
    functionName: nla_for_each_nested
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 1
    functionsReached:
    - phy_multi_hw_info_parse
    linkageType: ''
    returnType: void
    signature: void nla_for_each_nested(radio_attr, nl_hw, rem_radio_prop)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: get_nl80211_protocol_features
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3377,1
    - Dst: nl80211_cmd_msg
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3380,1
    - Dst: nla_put_flag
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3381,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3382,1
    - Dst: send_and_recv_resp
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3386,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211_capa.c:3389,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - bss
    - num_multi_hws
    argTypes:
    - struct i802_bss*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3398
      start: 3359
    functionDepth: 3
    functionLinenumber: 3359
    functionLinenumberEnd: 3398
    functionName: nl80211_get_multi_hw_info
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_capa.c
    functionUses: 1
    functionsReached:
    - send_and_recv_resp
    - get_nl80211_protocol_features
    - nla_put_flag
    - nlmsg_free
    - os_free
    - nl80211_cmd_msg
    linkageType: ''
    returnType: struct hostapd_multi_hw_info
    signature: 'struct hostapd_multi_hw_info *

      nl80211_get_multi_hw_info(struct i802_bss *bss, unsigned int *num_multi_hws)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/src/drivers/driver_ndis_.c:48,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis_.c:53,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis_.c:59,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/drivers/driver_ndis_.c:63,1
    - Dst: wpa_driver_ndis_event_connect
      Src: /src/hostap/src/drivers/driver_ndis_.c:68,1
    - Dst: wpa_driver_ndis_event_disconnect
      Src: /src/hostap/src/drivers/driver_ndis_.c:71,1
    - Dst: wpa_driver_ndis_event_media_specific
      Src: /src/hostap/src/drivers/driver_ndis_.c:74,1
    - Dst: wpa_driver_ndis_event_adapter_arrival
      Src: /src/hostap/src/drivers/driver_ndis_.c:77,1
    - Dst: wpa_driver_ndis_event_adapter_removal
      Src: /src/hostap/src/drivers/driver_ndis_.c:80,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 3
    argNames:
    - drv
    - buf
    - len
    argTypes:
    - struct wpa_driver_ndis_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 41
    functionDepth: 3
    functionLinenumber: 41
    functionLinenumberEnd: 83
    functionName: wpa_driver_ndis_event_process
    functionSourceFile: /src/hostap/src/drivers/driver_ndis_.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_driver_ndis_event_media_specific
    - wpa_hexdump
    - wpa_driver_ndis_event_connect
    - wpa_driver_ndis_event_adapter_arrival
    - wpa_driver_ndis_event_disconnect
    - wpa_driver_ndis_event_adapter_removal
    linkageType: ''
    returnType: void
    signature: "void wpa_driver_ndis_event_process(struct wpa_driver_ndis_data *drv,\n\t\t\t\t\t
      \ u8 *buf, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ResetEvent
      Src: /src/hostap/src/drivers/driver_ndis_.c:92,1
    - Dst: ReadFile
      Src: /src/hostap/src/drivers/driver_ndis_.c:93,1
    - Dst: wpa_driver_ndis_event_process
      Src: /src/hostap/src/drivers/driver_ndis_.c:94,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_ndis_.c:96,1
    - Dst: GetLastError
      Src: /src/hostap/src/drivers/driver_ndis_.c:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - eloop_data
    - user_data
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 86
    functionDepth: 4
    functionLinenumber: 86
    functionLinenumberEnd: 99
    functionName: wpa_driver_ndis_event_pipe_cb
    functionSourceFile: /src/hostap/src/drivers/driver_ndis_.c
    functionUses: 0
    functionsReached:
    - ReadFile
    - wpa_printf
    - GetLastError
    - wpa_driver_ndis_event_process
    - ResetEvent
    linkageType: ''
    returnType: void
    signature: void wpa_driver_ndis_event_pipe_cb(void *eloop_data, void *user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: NLMSG_ALIGN
    functionSourceFile: /src/hostap/src/drivers/priv_netlink.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLMSG_ALIGN(len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: NLMSG_LENGTH
    functionSourceFile: /src/hostap/src/drivers/priv_netlink.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLMSG_LENGTH(len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: NLMSG_SPACE
    functionSourceFile: /src/hostap/src/drivers/priv_netlink.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLMSG_SPACE(len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - nlh
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: NLMSG_DATA
    functionSourceFile: /src/hostap/src/drivers/priv_netlink.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLMSG_DATA(nlh)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - nlh
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: NLMSG_NEXT
    functionSourceFile: /src/hostap/src/drivers/priv_netlink.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLMSG_NEXT(nlh,len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - nlh
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: NLMSG_OK
    functionSourceFile: /src/hostap/src/drivers/priv_netlink.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLMSG_OK(nlh,len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - nlh
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: NLMSG_PAYLOAD
    functionSourceFile: /src/hostap/src/drivers/priv_netlink.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLMSG_PAYLOAD(nlh,len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: RTA_ALIGN
    functionSourceFile: /src/hostap/src/drivers/priv_netlink.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTA_ALIGN(len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rta
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: RTA_OK
    functionSourceFile: /src/hostap/src/drivers/priv_netlink.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTA_OK(rta,len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rta
    - ','
    - attrlen
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: RTA_NEXT
    functionSourceFile: /src/hostap/src/drivers/priv_netlink.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTA_NEXT(rta,attrlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: RTA_LENGTH
    functionSourceFile: /src/hostap/src/drivers/priv_netlink.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTA_LENGTH(len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: RTA_SPACE
    functionSourceFile: /src/hostap/src/drivers/priv_netlink.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTA_SPACE(len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rta
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: RTA_DATA
    functionSourceFile: /src/hostap/src/drivers/priv_netlink.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTA_DATA(rta)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rta
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: RTA_PAYLOAD
    functionSourceFile: /src/hostap/src/drivers/priv_netlink.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTA_PAYLOAD(rta)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - drv_flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2616
      start: 2614
    functionDepth: 0
    functionLinenumber: 2614
    functionLinenumberEnd: 2616
    functionName: FULL_AP_CLIENT_STATE_SUPP
    functionSourceFile: /src/hostap/src/drivers/driver.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FULL_AP_CLIENT_STATE_SUPP(drv_flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver.h:7878,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver.h:7887,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 9
    argNames:
    - ctx
    - addr
    - req_ies
    - req_ielen
    - resp_ies
    - resp_ielen
    - link_addr
    - assoc_link_id
    - reassoc
    argTypes:
    - void*
    - u8*
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7888
      start: 7872
    functionDepth: 0
    functionLinenumber: 7872
    functionLinenumberEnd: 7888
    functionName: drv_event_assoc
    functionSourceFile: /src/hostap/src/drivers/driver.h
    functionUses: 1
    functionsReached:
    - wpa_supplicant_event
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void drv_event_assoc(void *ctx, const u8 *addr, const u8 *req_ies,\n\t\t\t\t
      \  size_t req_ielen, const u8 *resp_ies,\n\t\t\t\t   size_t resp_ielen, const
      u8 *link_addr,\n\t\t\t\t   int assoc_link_id, int reassoc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver.h:7893,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver.h:7895,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - addr
    argTypes:
    - void*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7896
      start: 7890
    functionDepth: 0
    functionLinenumber: 7890
    functionLinenumberEnd: 7896
    functionName: drv_event_disassoc
    functionSourceFile: /src/hostap/src/drivers/driver.h
    functionUses: 1
    functionsReached:
    - wpa_supplicant_event
    - os_memset
    linkageType: ''
    returnType: void
    signature: void drv_event_disassoc(void *ctx, const u8 *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver.h:7902,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver.h:7908,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - ctx
    - src
    - data
    - data_len
    argTypes:
    - void*
    - u8*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7909
      start: 7898
    functionDepth: 0
    functionLinenumber: 7898
    functionLinenumberEnd: 7909
    functionName: drv_event_eapol_rx
    functionSourceFile: /src/hostap/src/drivers/driver.h
    functionUses: 5
    functionsReached:
    - wpa_supplicant_event
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void drv_event_eapol_rx(void *ctx, const u8 *src, const u8 *data,\n\t\t\t\t
      \     size_t data_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver.h:7917,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver.h:7923,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - ctx
    - src
    - data
    - data_len
    - encrypted
    - link_id
    argTypes:
    - void*
    - u8*
    - u8*
    - size_t
    - enum frame_encryption
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7924
      start: 7911
    functionDepth: 0
    functionLinenumber: 7911
    functionLinenumberEnd: 7924
    functionName: drv_event_eapol_rx2
    functionSourceFile: /src/hostap/src/drivers/driver.h
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void drv_event_eapol_rx2(void *ctx, const u8 *src, const u8 *data,\n\t\t\t\t
      \      size_t data_len,\n\t\t\t\t       enum frame_encryption encrypted,\n\t\t\t\t
      \      int link_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:34,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:35,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:36,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:37,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:38,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:39,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:40,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:41,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:42,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:43,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:44,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:45,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:46,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:47,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:48,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:49,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:50,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:51,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:52,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:53,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:54,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:55,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:56,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:57,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:58,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:59,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:60,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:61,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:62,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:63,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:64,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:65,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:66,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:67,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:68,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:69,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:70,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:71,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:72,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:73,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:74,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:75,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:76,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:77,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:78,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:79,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:80,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:81,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:82,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:83,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:84,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:85,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:86,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:87,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:88,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:89,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:90,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:91,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:92,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:93,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:94,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:95,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:96,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:97,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:98,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:99,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:100,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:101,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:102,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:103,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:104,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:105,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:106,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:107,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:108,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:109,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:110,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:111,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:112,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:113,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:114,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:115,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:116,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:117,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:118,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:119,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:120,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:121,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:122,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:123,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:124,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:125,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:126,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:127,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:128,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:129,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:130,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:131,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:132,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:133,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:134,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:135,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:136,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:137,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:138,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:139,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:140,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:141,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:142,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:143,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:144,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:145,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:146,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:147,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:148,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:149,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:150,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:151,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:152,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:153,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:154,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:155,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:156,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:157,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:158,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:159,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:160,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:161,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:162,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:163,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:164,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:165,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:166,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:167,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:168,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:169,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:170,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:171,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:172,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:173,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:174,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:175,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:176,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:177,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:178,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:179,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:180,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:181,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:182,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:183,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:184,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:185,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:186,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:187,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:188,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:189,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:190,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:191,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:192,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:193,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:194,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:195,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:196,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:197,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:198,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:199,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:200,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:201,1
    - Dst: C2S
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 173
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - enum nl80211_commands
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 207
    functionName: nl80211_command_to_string
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - C2S
    linkageType: ''
    returnType: char
    signature: char * nl80211_command_to_string(enum nl80211_commands cmd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: C2S
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: C2S(x)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:222,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:227,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:230,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:235,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:236,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:237,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:238,1
    - Dst: le_to_host16
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:241,1
    - Dst: le_to_host16
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:243,1
    - Dst: le_to_host16
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:244,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:250,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 3
    argNames:
    - drv
    - frame
    - len
    argTypes:
    - struct wpa_driver_nl80211_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 251
    functionName: mlme_event_auth
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - wpa_printf
    - os_memcpy
    - le_to_host16
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void mlme_event_auth(struct wpa_driver_nl80211_data *drv,\n\t\t\t
      \   const u8 *frame, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nla_parse_nested
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:263,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:269,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - wmm_attr
    - wmm_params
    argTypes:
    - struct nlattr*
    - struct wmm_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 271
    functionName: nl80211_parse_wmm_params
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - nla_get_u8
    - nla_parse_nested
    linkageType: ''
    returnType: void
    signature: "void nl80211_parse_wmm_params(struct nlattr *wmm_attr,\n\t\t\t\t     struct
      wmm_params *wmm_params)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:289,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:294,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:297,1
    - Dst: le_to_host16
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:302,1
    - Dst: TEST_FAIL_TAG
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:304,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:308,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:318,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:323,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:324,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:326,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:336,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:337,1
    - Dst: nl80211_get_assoc_ssid
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:342,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:345,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:347,1
    - Dst: nl80211_parse_wmm_params
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:353,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:355,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 48
    argCount: 5
    argNames:
    - drv
    - frame
    - len
    - wmm
    - req_ie
    argTypes:
    - struct wpa_driver_nl80211_data*
    - u8*
    - size_t
    - struct nlattr*
    - struct nlattr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 274
    functionDepth: 6
    functionLinenumber: 274
    functionLinenumberEnd: 356
    functionName: mlme_event_assoc
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - nla_len
    - wpa_printf
    - os_memcpy
    - nl80211_get_assoc_ssid
    - wpa_ssid_txt
    - nla_data
    - TEST_FAIL_TAG
    - le_to_host16
    - nl80211_parse_wmm_params
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void mlme_event_assoc(struct wpa_driver_nl80211_data *drv,\n\t\t\t
      \    const u8 *frame, size_t len, struct nlattr *wmm,\n\t\t\t     struct nlattr
      *req_ie)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nlmsg_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:366,1
    - Dst: nlmsg_hdr
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:366,1
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:370,1
    - Dst: genlmsg_attrdata
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:370,1
    - Dst: genlmsg_attrlen
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:371,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:374,1
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:378,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:379,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:380,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:383,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:387,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - msg
    - arg
    argTypes:
    - struct nl_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 390
    functionName: qca_drv_connect_fail_reason_code_handler
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - nlmsg_hdr
    - wpa_printf
    - nla_len
    - nla_get_u32
    - nla_parse
    - nlmsg_data
    - nla_data
    - genlmsg_attrlen
    - genlmsg_attrdata
    linkageType: ''
    returnType: int
    signature: "int qca_drv_connect_fail_reason_code_handler(struct nl_msg *msg,\n\t\t\t\t\t\t
      \   void *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_drv_msg
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:400,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:401,1
    - Dst: nla_put_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:402,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:404,1
    - Dst: send_and_recv_resp
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:408,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:412,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:414,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - drv
    argTypes:
    - struct wpa_driver_nl80211_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 393
    functionDepth: 5
    functionLinenumber: 393
    functionLinenumberEnd: 417
    functionName: drv_get_connect_fail_reason_code
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - strerror
    - nl80211_drv_msg
    - send_and_recv_resp
    - nlmsg_free
    - nla_put_u32
    linkageType: ''
    returnType: enum qca_sta_connect_fail_reason_codes
    signature: enum qca_sta_connect_fail_reason_codes drv_get_connect_fail_reason_code(struct
      wpa_driver_nl80211_data *drv)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - reason_code
    argTypes:
    - enum qca_sta_connect_fail_reason_codes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 442
    functionName: convert_connect_fail_reason_codes
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum sta_connect_fail_reason_codes
    signature: "enum sta_connect_fail_reason_codes convert_connect_fail_reason_codes(enum
      qca_sta_connect_fail_reason_codes\n\t\t\t\t  reason_code)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:456,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:461,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:462,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:463,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:465,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:467,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:469,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:474,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:477,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:478,1
    - Dst: os_memdup
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:480,1
    - Dst: nla_get_u16
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:489,1
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:498,1
    - Dst: for_each_link
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:499,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:500,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:507,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:510,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 3
    argNames:
    - drv
    - data
    - len
    argTypes:
    - struct wpa_driver_nl80211_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 511
    functionName: qca_nl80211_link_reconfig_event
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - wpa_printf
    - os_memcpy
    - os_memdup
    - nla_parse
    - ether_addr_equal
    - nla_data
    - for_each_link
    - MAC2STR
    - BIT
    - os_free
    - nla_get_u16
    linkageType: ''
    returnType: void
    signature: "void qca_nl80211_link_reconfig_event(struct wpa_driver_nl80211_data
      *drv,\n\t\t\t\t\t    u8 *data, size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:525,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:525,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:526,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:533,1
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:537,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:538,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:539,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:541,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:542,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:544,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:546,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:547,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - mlo
    - mlo_links
    argTypes:
    - struct driver_sta_mlo_info*
    - struct nlattr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 549
    functionName: nl80211_parse_qca_vendor_mlo_link_info
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - nla_len
    - os_memcpy
    - wpa_printf
    - nla_parse
    - nla_data
    - MAC2STR
    - BIT
    - nla_get_u8
    linkageType: ''
    returnType: void
    signature: "void nl80211_parse_qca_vendor_mlo_link_info(struct driver_sta_mlo_info
      *mlo,\n\t\t\t\t       struct nlattr *mlo_links)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:525,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:525,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:526,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:533,1
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:537,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:538,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:539,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:541,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:542,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:544,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:546,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:547,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 521
    functionDepth: 1
    functionLinenumber: 521
    functionLinenumberEnd: 548
    functionName: nla_for_each_nested
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 1
    functionsReached:
    - nla_len
    - os_memcpy
    - wpa_printf
    - nla_parse
    - nla_data
    - MAC2STR
    - BIT
    - nla_get_u8
    linkageType: ''
    returnType: void
    signature: void nla_for_each_nested(link, mlo_links, rem_links)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:564,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:564,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:564,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:571,1
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:577,1
    - Dst: nla_get_u16
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:578,1
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:580,1
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:582,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:585,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:586,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:587,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:588,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:589,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:591,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:592,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - mlo
    - mlo_links
    argTypes:
    - struct driver_sta_mlo_info*
    - struct nlattr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 554
    functionDepth: 1
    functionLinenumber: 554
    functionLinenumberEnd: 594
    functionName: nl80211_parse_mlo_link_info
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - nla_len
    - os_memcpy
    - wpa_printf
    - nla_parse
    - nla_data
    - MAC2STR
    - BIT
    - nla_get_u16
    - nla_get_u8
    linkageType: ''
    returnType: void
    signature: "void nl80211_parse_mlo_link_info(struct driver_sta_mlo_info *mlo,\n\t\t\t\t\tstruct
      nlattr *mlo_links)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:564,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:564,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:564,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:571,1
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:577,1
    - Dst: nla_get_u16
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:578,1
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:580,1
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:582,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:585,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:586,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:587,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:588,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:589,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:591,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:592,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 560
    functionDepth: 1
    functionLinenumber: 560
    functionLinenumberEnd: 593
    functionName: nla_for_each_nested
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 1
    functionsReached:
    - nla_len
    - os_memcpy
    - wpa_printf
    - nla_parse
    - nla_data
    - MAC2STR
    - BIT
    - nla_get_u16
    - nla_get_u8
    linkageType: ''
    returnType: void
    signature: void nla_for_each_nested(link, mlo_links, rem_links)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_head
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:609,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:610,1
    - Dst: ieee802_11_defrag_mle_subelem
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:627,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:630,1
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:653,1
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:661,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:662,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    argCount: 2
    argNames:
    - mlbuf
    - info
    argTypes:
    - struct wpabuf*
    - struct links_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 604
    functionDepth: 2
    functionLinenumber: 604
    functionLinenumberEnd: 670
    functionName: nl80211_get_basic_mle_links_info
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpabuf_len
    - WPA_GET_LE16
    - wpabuf_head
    - ieee802_11_defrag_mle_subelem
    - BIT
    linkageType: ''
    returnType: void
    signature: "void nl80211_get_basic_mle_links_info(struct wpabuf *mlbuf,\n\t\t\t\t\t
      \    struct links_info *info)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:683,1
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:688,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:688,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:688,1
    - Dst: ieee802_11_parse_elems
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:690,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:690,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:690,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:692,1
    - Dst: ieee802_11_defrag
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:697,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:700,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:704,1
    - Dst: nl80211_get_basic_mle_links_info
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:705,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:706,1
    - Dst: ieee802_11_defrag
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:708,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:711,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:715,1
    - Dst: nl80211_get_basic_mle_links_info
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:716,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:717,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:720,1
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:727,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:729,1
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:732,1
    - Dst: for_each_link
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:737,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:738,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:739,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 3
    argNames:
    - mlo
    - req_ie
    - resp_ie
    argTypes:
    - struct driver_sta_mlo_info*
    - struct nlattr*
    - struct nlattr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 673
    functionDepth: 4
    functionLinenumber: 673
    functionLinenumberEnd: 743
    functionName: nl80211_update_rejected_links_info
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - nla_len
    - wpa_printf
    - os_memcpy
    - os_memset
    - wpabuf_free
    - nla_data
    - for_each_link
    - BIT
    - ieee802_11_parse_elems
    - nl80211_get_basic_mle_links_info
    - ieee802_11_defrag
    linkageType: ''
    returnType: int
    signature: "int nl80211_update_rejected_links_info(struct driver_sta_mlo_info
      *mlo,\n\t\t\t\t\t      struct nlattr *req_ie,\n\t\t\t\t\t      struct nlattr
      *resp_ie)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: WPA_GET_LE16
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:753,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - u8*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 746
    functionDepth: 1
    functionLinenumber: 746
    functionLinenumberEnd: 765
    functionName: nl80211_get_assoc_link_id
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - WPA_GET_LE16
    linkageType: ''
    returnType: int
    signature: int nl80211_get_assoc_link_id(const u8 *data, u8 len)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: get_ml_ie
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:782,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:782,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:782,1
    - Dst: nl80211_get_assoc_link_id
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:787,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:789,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:796,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:796,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:797,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:798,1
    - Dst: nl80211_parse_mlo_link_info
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:801,1
    - Dst: nl80211_parse_qca_vendor_mlo_link_info
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:804,1
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:807,1
    - Dst: nl80211_update_rejected_links_info
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:809,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:810,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:815,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:817,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 6
    argNames:
    - drv
    - qca_roam_auth
    - addr
    - mlo_links
    - req_ie
    - resp_ie
    argTypes:
    - struct wpa_driver_nl80211_data*
    - bool
    - struct nlattr*
    - struct nlattr*
    - struct nlattr*
    - struct nlattr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 768
    functionDepth: 5
    functionLinenumber: 768
    functionLinenumberEnd: 818
    functionName: nl80211_parse_mlo_info
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - nla_len
    - wpa_printf
    - os_memcpy
    - nl80211_get_assoc_link_id
    - nla_data
    - nl80211_parse_qca_vendor_mlo_link_info
    - MAC2STR
    - nl80211_update_rejected_links_info
    - nl80211_parse_mlo_link_info
    - BIT
    - get_ml_ie
    linkageType: ''
    returnType: void
    signature: "void nl80211_parse_mlo_info(struct wpa_driver_nl80211_data *drv,\n\t\t\t\t
      \  bool qca_roam_auth,\n\t\t\t\t   struct nlattr *addr,\n\t\t\t\t   struct nlattr
      *mlo_links,\n\t\t\t\t   struct nlattr *req_ie,\n\t\t\t\t   struct nlattr *resp_ie)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:832,1
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:834,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:839,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:841,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:842,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:844,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:846,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:848,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:852,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:855,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:857,1
    - Dst: os_memdup
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:859,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:867,1
    - Dst: nla_parse_nested
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:880,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:883,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:889,1
    - Dst: nla_get_u16
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:894,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:897,1
    - Dst: nla_get_u16
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:902,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:904,1
    - Dst: for_each_link
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:907,1
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:908,1
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:910,1
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:911,1
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:913,1
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:925,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:934,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 65
    argCount: 3
    argNames:
    - drv
    - data
    - len
    argTypes:
    - struct wpa_driver_nl80211_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 822
    functionDepth: 1
    functionLinenumber: 822
    functionLinenumberEnd: 935
    functionName: qca_nl80211_tid_to_link_map_event
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - wpa_printf
    - nla_parse_nested
    - os_memdup
    - nla_parse
    - ether_addr_equal
    - nla_data
    - for_each_link
    - MAC2STR
    - BIT
    - os_free
    - nla_get_u16
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void qca_nl80211_tid_to_link_map_event(struct wpa_driver_nl80211_data
      *drv,\n\t\t\t\t  u8 *data, size_t len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nla_parse_nested
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:880,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:883,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:889,1
    - Dst: nla_get_u16
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:894,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:897,1
    - Dst: nla_get_u16
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:902,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:904,1
    - Dst: for_each_link
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:907,1
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:908,1
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:910,1
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:911,1
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:913,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 874
    functionDepth: 0
    functionLinenumber: 874
    functionLinenumberEnd: 917
    functionName: nla_for_each_nested
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - nla_parse_nested
    - for_each_link
    - BIT
    - nla_get_u16
    linkageType: ''
    returnType: void
    signature: "void nla_for_each_nested(tids,\n\t\t\t    tb[QCA_WLAN_VENDOR_ATTR_TID_TO_LINK_MAP_STATUS],\n\t\t\t
      \   rem)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:952,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:952,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:952,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:958,1
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:962,1
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:969,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:972,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:976,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - drv
    - mlo_links
    argTypes:
    - struct wpa_driver_nl80211_data*
    - struct nlattr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 939
    functionDepth: 0
    functionLinenumber: 939
    functionLinenumberEnd: 977
    functionName: mlme_event_link_removal
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - nla_len
    - nla_parse
    - nla_data
    - BIT
    - nla_get_u8
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void mlme_event_link_removal(struct wpa_driver_nl80211_data *drv,\n\t\t\t\t
      \   struct nlattr *mlo_links)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:952,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:952,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:952,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:958,1
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:962,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 963
      start: 948
    functionDepth: 0
    functionLinenumber: 948
    functionLinenumberEnd: 963
    functionName: nla_for_each_nested
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 1
    functionsReached:
    - nla_len
    - nla_parse
    - nla_data
    - BIT
    - nla_get_u8
    linkageType: ''
    returnType: void
    signature: void nla_for_each_nested(link, mlo_links, rem_links)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1008,1
    - Dst: nla_get_u16
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1015,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1018,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1022,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1025,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1028,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1032,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1039,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1045,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1046,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1053,1
    - Dst: nla_get_u16
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1070,1
    - Dst: drv_get_connect_fail_reason_code
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1076,1
    - Dst: convert_connect_fail_reason_codes
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1078,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1082,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1087,1
    - Dst: nl80211_parse_mlo_info
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1088,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1091,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1091,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1092,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1096,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1097,1
    - Dst: get_ie
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1100,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1105,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1106,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1108,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1114,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1115,1
    - Dst: nl80211_get_assoc_freq
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1118,1
    - Dst: nl80211_get_assoc_ssid
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1122,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1126,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1128,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1131,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1133,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1136,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1137,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1140,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1141,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1144,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1145,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1156,1
    - Dst: nla_get_u16
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1161,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1164,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1165,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1169,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1174,1
    - Dst: qca_nl80211_tid_to_link_map_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1185,1
    - Dst: qca_nl80211_link_reconfig_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1191,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 120
    argCount: 19
    argNames:
    - drv
    - cmd
    - qca_roam_auth
    - status
    - addr
    - req_ie
    - resp_ie
    - timed_out
    - timeout_reason
    - authorized
    - key_replay_ctr
    - ptk_kck
    - ptk_kek
    - subnet_status
    - fils_erp_next_seq_num
    - fils_pmk
    - fils_pmkid
    - mlo_links
    - assoc_encrypted
    argTypes:
    - struct wpa_driver_nl80211_data*
    - enum nl80211_commands
    - bool
    - struct nlattr*
    - struct nlattr*
    - struct nlattr*
    - struct nlattr*
    - struct nlattr*
    - struct nlattr*
    - struct nlattr*
    - struct nlattr*
    - struct nlattr*
    - struct nlattr*
    - struct nlattr*
    - struct nlattr*
    - struct nlattr*
    - struct nlattr*
    - struct nlattr*
    - struct nlattr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1195
      start: 980
    functionDepth: 6
    functionLinenumber: 980
    functionLinenumberEnd: 1195
    functionName: mlme_event_connect
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - convert_connect_fail_reason_codes
    - nl80211_get_assoc_freq
    - qca_nl80211_link_reconfig_event
    - nla_len
    - wpa_printf
    - wpa_ssid_txt
    - ether_addr_equal
    - nl80211_get_assoc_ssid
    - drv_get_connect_fail_reason_code
    - nla_get_u16
    - nl80211_parse_mlo_info
    - qca_nl80211_tid_to_link_map_event
    - os_memset
    - nla_get_u32
    - os_memcpy
    - nla_data
    - get_ie
    - nla_get_u8
    linkageType: ''
    returnType: void
    signature: "void mlme_event_connect(struct wpa_driver_nl80211_data *drv,\n\t\t\t
      \      enum nl80211_commands cmd, bool qca_roam_auth,\n\t\t\t       struct nlattr
      *status,\n\t\t\t       struct nlattr *addr, struct nlattr *req_ie,\n\t\t\t       struct
      nlattr *resp_ie,\n\t\t\t       struct nlattr *timed_out,\n\t\t\t       struct
      nlattr *timeout_reason,\n\t\t\t       struct nlattr *authorized,\n\t\t\t       struct
      nlattr *key_replay_ctr,\n\t\t\t       struct nlattr *ptk_kck,\n\t\t\t       struct
      nlattr *ptk_kek,\n\t\t\t       struct nlattr *subnet_status,\n\t\t\t       struct
      nlattr *fils_erp_next_seq_num,\n\t\t\t       struct nlattr *fils_pmk,\n\t\t\t
      \      struct nlattr *fils_pmkid,\n\t\t\t       struct nlattr *mlo_links,\n\t\t\t
      \      struct nlattr *assoc_encrypted)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1210,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1218,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1222,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1227,1
    - Dst: nl80211_mark_disconnected
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1228,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1229,1
    - Dst: nla_get_u16
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1231,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1233,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - drv
    - reason
    - addr
    - by_ap
    argTypes:
    - struct wpa_driver_nl80211_data*
    - struct nlattr*
    - struct nlattr*
    - struct nlattr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1234
      start: 1198
    functionDepth: 1
    functionLinenumber: 1198
    functionLinenumberEnd: 1234
    functionName: mlme_event_disconnect
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - wpa_printf
    - nl80211_mark_disconnected
    - nla_get_u16
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void mlme_event_disconnect(struct wpa_driver_nl80211_data *drv,\n\t\t\t\t
      \ struct nlattr *reason, struct nlattr *addr,\n\t\t\t\t  struct nlattr *by_ap)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: convert2width
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1241,1
    - Dst: abs
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1269,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 4
    argNames:
    - width
    - freq
    - cf1
    - cf2
    argTypes:
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1270
      start: 1237
    functionDepth: 1
    functionLinenumber: 1237
    functionLinenumberEnd: 1270
    functionName: calculate_chan_offset
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - convert2width
    - abs
    linkageType: ''
    returnType: int
    signature: int calculate_chan_offset(int width, int freq, int cf1, int cf2)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1290,1
    - Dst: get_bss_ifindex
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1291,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1293,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1298,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1302,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1304,1
    - Dst: calculate_chan_offset
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1320,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1320,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1321,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1322,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1323,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1324,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1327,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1330,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1331,1
    - Dst: is_6ghz_freq
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1332,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1337,1
    - Dst: convert2width
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1339,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1339,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1341,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1343,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1346,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1347,1
    - Dst: nl80211_get_link
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1357,1
    - Dst: channel_width_to_int
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1361,1
    - Dst: channel_width_to_int
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1366,1
    - Dst: is_sta_interface
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1371,1
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1375,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1378,1
    - Dst: is_ap_interface
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1388,1
    - Dst: nl80211_link_valid
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1389,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1390,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1398,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 78
    argCount: 10
    argNames:
    - drv
    - ifindex
    - link
    - freq
    - type
    - bw
    - cf1
    - cf2
    - punct_bitmap
    - finished
    argTypes:
    - struct wpa_driver_nl80211_data*
    - struct nlattr*
    - struct nlattr*
    - struct nlattr*
    - struct nlattr*
    - struct nlattr*
    - struct nlattr*
    - struct nlattr*
    - struct nlattr*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1400
      start: 1273
    functionDepth: 2
    functionLinenumber: 1273
    functionLinenumberEnd: 1400
    functionName: mlme_event_ch_switch
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - nla_get_u32
    - wpa_printf
    - calculate_chan_offset
    - is_sta_interface
    - convert2width
    - is_6ghz_freq
    - nl80211_get_link
    - get_bss_ifindex
    - is_ap_interface
    - BIT
    - nl80211_link_valid
    - channel_width_to_int
    - nla_get_u8
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void mlme_event_ch_switch(struct wpa_driver_nl80211_data *drv,\n\t\t\t\t
      struct nlattr *ifindex, struct nlattr *link,\n\t\t\t\t struct nlattr *freq,
      struct nlattr *type,\n\t\t\t\t struct nlattr *bw, struct nlattr *cf1,\n\t\t\t\t
      struct nlattr *cf2,\n\t\t\t\t struct nlattr *punct_bitmap,\n\t\t\t\t int finished)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1409,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1412,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1413,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1413,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1422,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1423,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1423,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1424,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - drv
    - cmd
    - addr
    argTypes:
    - struct wpa_driver_nl80211_data*
    - enum nl80211_commands
    - struct nlattr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1425
      start: 1403
    functionDepth: 1
    functionLinenumber: 1403
    functionLinenumberEnd: 1425
    functionName: mlme_timeout_event
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - nla_len
    - wpa_printf
    - os_memcpy
    - nla_data
    - MAC2STR
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void mlme_timeout_event(struct wpa_driver_nl80211_data *drv,\n\t\t\t
      \      enum nl80211_commands cmd, struct nlattr *addr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1440,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1443,1
    - Dst: le_to_host16
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1447,1
    - Dst: WLAN_FC_GET_STYPE
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1448,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1451,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1453,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1455,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1458,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1461,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1461,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1461,1
    - Dst: le_to_host16
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1463,1
    - Dst: fc2str
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1463,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1472,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 6
    argNames:
    - bss
    - freq
    - sig
    - frame
    - len
    - link_id
    argTypes:
    - struct i802_bss*
    - struct nlattr*
    - struct nlattr*
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1473
      start: 1428
    functionDepth: 2
    functionLinenumber: 1428
    functionLinenumberEnd: 1473
    functionName: mlme_event_mgmt
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - nla_get_u32
    - wpa_printf
    - WLAN_FC_GET_STYPE
    - fc2str
    - MAC2STR
    - le_to_host16
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void mlme_event_mgmt(struct i802_bss *bss,\n\t\t\t    struct nlattr
      *freq, struct nlattr *sig,\n\t\t\t    const u8 *frame, size_t len,\n\t\t\t    int
      link_id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - drv
    - cookie_val
    - idx
    argTypes:
    - struct wpa_driver_nl80211_data*
    - u64
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1490
      start: 1476
    functionDepth: 0
    functionLinenumber: 1476
    functionLinenumberEnd: 1490
    functionName: find_send_frame_cookie
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool find_send_frame_cookie(struct wpa_driver_nl80211_data *drv,\n\t\t\t\t
      \  u64 cookie_val, unsigned int *idx)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: le_to_host16
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1500,1
    - Dst: nla_get_u64
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1504,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1505,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1508,1
    - Dst: WLAN_FC_GET_TYPE
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1509,1
    - Dst: WLAN_FC_GET_STYPE
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1510,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1515,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1516,1
    - Dst: nl80211_control_port_frame_tx_status
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1518,1
    - Dst: WLAN_FC_GET_TYPE
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1523,1
    - Dst: is_ap_interface
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1526,1
    - Dst: WLAN_FC_GET_STYPE
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1527,1
    - Dst: find_send_frame_cookie
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1542,1
    - Dst: os_memmove
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1549,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1558,1
    - Dst: is_ap_interface
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1565,1
    - Dst: WLAN_FC_GET_STYPE
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1566,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1567,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1572,1
    - Dst: WLAN_FC_GET_TYPE
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1573,1
    - Dst: WLAN_FC_GET_STYPE
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1574,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1581,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 40
    argCount: 5
    argNames:
    - bss
    - cookie
    - frame
    - len
    - ack
    argTypes:
    - struct i802_bss*
    - struct nlattr*
    - u8*
    - size_t
    - struct nlattr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1582
      start: 1493
    functionDepth: 1
    functionLinenumber: 1493
    functionLinenumberEnd: 1582
    functionName: mlme_event_mgmt_tx_status
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - wpa_printf
    - WPA_GET_BE16
    - WLAN_FC_GET_STYPE
    - find_send_frame_cookie
    - nl80211_control_port_frame_tx_status
    - os_memmove
    - is_ap_interface
    - nla_get_u64
    - MAC2STR
    - WLAN_FC_GET_TYPE
    - le_to_host16
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void mlme_event_mgmt_tx_status(struct i802_bss *bss,\n\t\t\t\t      struct
      nlattr *cookie, const u8 *frame,\n\t\t\t\t      size_t len, struct nlattr *ack)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1595,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1597,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1605,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1606,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1607,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1616,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1617,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1618,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1620,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1624,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1626,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1627,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1634,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1635,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1641,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1645,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1646,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1651,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1652,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1658,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1660,1
    - Dst: nl80211_mark_disconnected
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1665,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1666,1
    - Dst: le_to_host16
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1670,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1674,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1684,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1686,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1695,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1698,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1709,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 62
    argCount: 4
    argNames:
    - drv
    - type
    - frame
    - len
    argTypes:
    - struct wpa_driver_nl80211_data*
    - enum wpa_event_type
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1710
      start: 1585
    functionDepth: 1
    functionLinenumber: 1585
    functionLinenumberEnd: 1710
    functionName: mlme_event_deauth_disassoc
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - wpa_printf
    - ether_addr_equal
    - is_zero_ether_addr
    - MAC2STR
    - nl80211_mark_disconnected
    - le_to_host16
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void mlme_event_deauth_disassoc(struct wpa_driver_nl80211_data *drv,\n\t\t\t\t
      \      enum wpa_event_type type,\n\t\t\t\t       const u8 *frame, size_t len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1722,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1724,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1731,1
    - Dst: le_to_host16
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1734,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1746,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - drv
    - type
    - frame
    - len
    argTypes:
    - struct wpa_driver_nl80211_data*
    - enum wpa_event_type
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1747
      start: 1713
    functionDepth: 1
    functionLinenumber: 1713
    functionLinenumberEnd: 1747
    functionName: mlme_event_unprot_disconnect
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - le_to_host16
    - wpa_supplicant_event
    - wpa_printf
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void mlme_event_unprot_disconnect(struct wpa_driver_nl80211_data *drv,\n\t\t\t\t\t
      enum wpa_event_type type,\n\t\t\t\t\t const u8 *frame, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1761,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1763,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - drv
    - frame
    - len
    argTypes:
    - struct wpa_driver_nl80211_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1764
      start: 1750
    functionDepth: 0
    functionLinenumber: 1750
    functionLinenumberEnd: 1764
    functionName: mlme_event_unprot_beacon
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void mlme_event_unprot_beacon(struct wpa_driver_nl80211_data *drv,\n\t\t\t\t
      \    const u8 *frame, size_t len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1779,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1785,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1790,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1799,1
    - Dst: get_sta_mlo_interface_info
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1807,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1808,1
    - Dst: nl80211_get_assoc_bssid
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1812,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1813,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1826,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 3
    argNames:
    - bss
    - frame
    - len
    argTypes:
    - struct i802_bss*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1827
      start: 1767
    functionDepth: 6
    functionLinenumber: 1767
    functionLinenumberEnd: 1827
    functionName: mlme_event_link_addition
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - wpa_printf
    - nl80211_get_assoc_bssid
    - get_sta_mlo_interface_info
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void mlme_event_link_addition(struct i802_bss *bss, const u8 *frame,\n\t\t\t\t
      \    size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: for_each_link
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1835,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - bss
    - freq
    argTypes:
    - struct i802_bss*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1841
      start: 1830
    functionDepth: 0
    functionLinenumber: 1830
    functionLinenumberEnd: 1841
    functionName: nl80211_get_link_id_by_freq
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - for_each_link
    linkageType: ''
    returnType: s8
    signature: s8 nl80211_get_link_id_by_freq(struct i802_bss *bss, unsigned int freq)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: mlme_timeout_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1861,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1866,1
    - Dst: nl80211_command_to_string
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1868,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1875,1
    - Dst: nl80211_get_link_id_by_freq
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1877,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1877,1
    - Dst: nl80211_link_valid
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1879,1
    - Dst: nl80211_get_link
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1880,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1882,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1883,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1885,1
    - Dst: nl80211_command_to_string
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1887,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1888,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1891,1
    - Dst: nl80211_command_to_string
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1893,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1894,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1894,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1895,1
    - Dst: le_to_host16
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1907,1
    - Dst: WLAN_FC_GET_STYPE
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1908,1
    - Dst: le_to_host16
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1909,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1914,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1925,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1927,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1932,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1933,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1934,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1935,1
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1936,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1937,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1939,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1940,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1944,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1945,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1945,1
    - Dst: mlme_event_auth
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1949,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1949,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1949,1
    - Dst: mlme_event_assoc
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1952,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1952,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1952,1
    - Dst: mlme_event_deauth_disassoc
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1956,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1957,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1957,1
    - Dst: mlme_event_deauth_disassoc
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1960,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1961,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1961,1
    - Dst: mlme_event_mgmt
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1964,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1964,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1965,1
    - Dst: mlme_event_mgmt_tx_status
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1968,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1968,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1969,1
    - Dst: mlme_event_unprot_disconnect
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1972,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1973,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1973,1
    - Dst: mlme_event_unprot_disconnect
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1976,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1977,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1977,1
    - Dst: mlme_event_unprot_beacon
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1980,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1980,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1980,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 70
    argCount: 12
    argNames:
    - bss
    - cmd
    - frame
    - addr
    - timed_out
    - freq
    - ack
    - cookie
    - sig
    - wmm
    - req_ie
    - link
    argTypes:
    - struct i802_bss*
    - enum nl80211_commands
    - struct nlattr*
    - struct nlattr*
    - struct nlattr*
    - struct nlattr*
    - struct nlattr*
    - struct nlattr*
    - struct nlattr*
    - struct nlattr*
    - struct nlattr*
    - struct nlattr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1985
      start: 1844
    functionDepth: 7
    functionLinenumber: 1844
    functionLinenumberEnd: 1985
    functionName: mlme_event
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - mlme_event_unprot_beacon
    - wpa_hexdump
    - mlme_event_mgmt
    - mlme_event_mgmt_tx_status
    - nl80211_command_to_string
    - nla_len
    - wpa_printf
    - nl80211_get_link
    - ether_addr_equal
    - nl80211_link_valid
    - nl80211_get_link_id_by_freq
    - WLAN_FC_GET_STYPE
    - mlme_event_deauth_disassoc
    - is_zero_ether_addr
    - mlme_event_auth
    - mlme_event_assoc
    - mlme_event_unprot_disconnect
    - nla_get_u32
    - mlme_timeout_event
    - nla_data
    - MAC2STR
    - le_to_host16
    - WPA_GET_BE32
    - nla_get_u8
    linkageType: ''
    returnType: void
    signature: "void mlme_event(struct i802_bss *bss,\n\t\t       enum nl80211_commands
      cmd, struct nlattr *frame,\n\t\t       struct nlattr *addr, struct nlattr *timed_out,\n\t\t
      \      struct nlattr *freq, struct nlattr *ack,\n\t\t       struct nlattr *cookie,
      struct nlattr *sig,\n\t\t       struct nlattr *wmm, struct nlattr *req_ie,\n\t\t
      \      struct nlattr *link)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1993,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1994,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1996,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1997,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1998,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:1999,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2002,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2003,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2004,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2008,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2009,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2016,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2017,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2020,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - bss
    - tb
    argTypes:
    - struct i802_bss*
    - struct nlattr*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2021
      start: 1988
    functionDepth: 0
    functionLinenumber: 1988
    functionLinenumberEnd: 2021
    functionName: mlme_event_michael_mic_failure
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - nla_len
    - wpa_printf
    - nla_get_u32
    - wpa_hexdump
    - nla_data
    - nla_get_u8
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void mlme_event_michael_mic_failure(struct i802_bss *bss,\n\t\t\t\t\t
      \  struct nlattr *tb[])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2031,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2035,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2035,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2038,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2039,1
    - Dst: nl80211_get_assoc_freq
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2041,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2043,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2048,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2051,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - drv
    - tb
    argTypes:
    - struct wpa_driver_nl80211_data*
    - struct nlattr*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2052
      start: 2024
    functionDepth: 6
    functionLinenumber: 2024
    functionLinenumberEnd: 2052
    functionName: mlme_event_join_ibss
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - wpa_printf
    - os_memcpy
    - nla_data
    - MAC2STR
    - nl80211_get_assoc_freq
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void mlme_event_join_ibss(struct wpa_driver_nl80211_data *drv,\n\t\t\t\t
      struct nlattr *tb[])"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2063,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2068,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2073,1
    - Dst: nla_get_u64
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2078,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2082,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2094,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2097,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - drv
    - cancel_event
    - tb
    argTypes:
    - struct wpa_driver_nl80211_data*
    - int
    - struct nlattr*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2100
      start: 2055
    functionDepth: 0
    functionLinenumber: 2055
    functionLinenumberEnd: 2100
    functionName: mlme_event_remain_on_channel
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - nla_get_u32
    - wpa_printf
    - nla_get_u64
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void mlme_event_remain_on_channel(struct wpa_driver_nl80211_data *drv,\n\t\t\t\t\t
      int cancel_event, struct nlattr *tb[])"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2108,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2111,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2112,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2116,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2117,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2121,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2122,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2124,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2125,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - drv
    - tb
    argTypes:
    - struct wpa_driver_nl80211_data*
    - struct nlattr*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2128
      start: 2103
    functionDepth: 1
    functionLinenumber: 2103
    functionLinenumberEnd: 2128
    functionName: mlme_event_ft_event
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - nla_len
    - wpa_printf
    - os_memcpy
    - nla_data
    - MAC2STR
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void mlme_event_ft_event(struct wpa_driver_nl80211_data *drv,\n\t\t\t\tstruct
      nlattr *tb[])"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: is_ap_interface
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2139,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2144,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2145,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2150,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2156,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2157,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2164,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2165,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2167,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2172,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2173,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2177,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2178,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2180,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 3
    argNames:
    - drv
    - bss
    - tb
    argTypes:
    - struct wpa_driver_nl80211_data*
    - struct i802_bss*
    - struct nlattr*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2181
      start: 2131
    functionDepth: 1
    functionLinenumber: 2131
    functionLinenumberEnd: 2181
    functionName: mlme_event_dh_event
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - nla_len
    - wpa_printf
    - nla_data
    - is_ap_interface
    - MAC2STR
    - nla_get_u8
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void mlme_event_dh_event(struct wpa_driver_nl80211_data *drv,\n\t\t\t\tstruct
      i802_bss *bss,\n\t\t\t\tstruct nlattr *tb[])"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2200,1
    - Dst: wpa_driver_nl80211_authenticate_retry
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2202,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2206,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2216,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2217,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2218,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2219,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2235,1
    - Dst: os_snprintf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2236,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2238,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2247,1
    - Dst: nla_get_u64
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2254,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2255,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2256,1
    - Dst: is_ap_interface
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2261,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2264,1
    - Dst: nl80211_get_link_id_from_link
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2267,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2270,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2277,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 53
    argCount: 4
    argNames:
    - bss
    - aborted
    - tb
    - external_scan
    argTypes:
    - struct i802_bss*
    - int
    - struct nlattr*[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2278
      start: 2184
    functionDepth: 10
    functionLinenumber: 2184
    functionLinenumberEnd: 2278
    functionName: send_scan_event
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - nla_len
    - wpa_printf
    - wpa_driver_nl80211_authenticate_retry
    - nla_get_u32
    - os_memcpy
    - nl80211_get_link_id_from_link
    - wpa_ssid_txt
    - nla_data
    - is_ap_interface
    - nla_get_u64
    - os_snprintf
    - os_snprintf_error
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void send_scan_event(struct i802_bss *bss, int aborted,\n\t\t\t    struct
      nlattr *tb[], int external_scan)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2216,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2217,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2218,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2223
      start: 2213
    functionDepth: 1
    functionLinenumber: 2213
    functionLinenumberEnd: 2223
    functionName: nla_for_each_nested
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 1
    functionsReached:
    - wpa_ssid_txt
    - nla_len
    - wpa_printf
    - nla_data
    linkageType: ''
    returnType: void
    signature: void nla_for_each_nested(nl, tb[NL80211_ATTR_SCAN_SSIDS], rem)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2235,1
    - Dst: os_snprintf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2236,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2238,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2243
      start: 2233
    functionDepth: 1
    functionLinenumber: 2233
    functionLinenumberEnd: 2243
    functionName: nla_for_each_nested
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 1
    functionsReached:
    - os_snprintf
    - nla_get_u32
    - os_snprintf_error
    linkageType: ''
    returnType: void
    signature: void nla_for_each_nested(nl, tb[NL80211_ATTR_SCAN_FREQUENCIES], rem)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: nla_parse_nested
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2300,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2302,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2306,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2311,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2311,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2314,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2315,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2317,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2318,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2323,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2324,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2332,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2334,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2334,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2335,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2336,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2337,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2342,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2346,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2349,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2353,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2357,1
    - Dst: nl80211_get_link_signal
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2367,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2369,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2373,1
    - Dst: nl80211_get_link_noise
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2377,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2379,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2382,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2386,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 53
    argCount: 2
    argNames:
    - bss
    - tb
    argTypes:
    - struct i802_bss*
    - struct nlattr*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2387
      start: 2281
    functionDepth: 6
    functionLinenumber: 2281
    functionLinenumberEnd: 2387
    functionName: nl80211_cqm_event
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - nla_get_u32
    - wpa_printf
    - os_memcpy
    - nla_parse_nested
    - nla_data
    - nl80211_get_link_signal
    - MAC2STR
    - nl80211_get_link_noise
    - os_memset
    linkageType: ''
    returnType: void
    signature: void nl80211_cqm_event(struct i802_bss *bss, struct nlattr *tb[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2400,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2401,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2402,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2404,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2406,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2407,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2408,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - drv
    - tb
    argTypes:
    - struct wpa_driver_nl80211_data*
    - struct nlattr**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2409
      start: 2390
    functionDepth: 1
    functionLinenumber: 2390
    functionLinenumberEnd: 2409
    functionName: nl80211_new_peer_candidate
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - nla_len
    - wpa_printf
    - nla_data
    - MAC2STR
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void nl80211_new_peer_candidate(struct wpa_driver_nl80211_data *drv,\n\t\t\t\t
      \      struct nlattr **tb)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2421,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2422,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2423,1
    - Dst: is_ap_interface
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2425,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2434,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2441,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2442,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2445,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2446,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2447,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2449,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2454,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2455,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2456,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2461,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2462,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2463,1
    - Dst: drv_event_assoc
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2467,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2476,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2477,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2478,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 3
    argNames:
    - drv
    - bss
    - tb
    argTypes:
    - struct wpa_driver_nl80211_data*
    - struct i802_bss*
    - struct nlattr**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2479
      start: 2412
    functionDepth: 1
    functionLinenumber: 2412
    functionLinenumberEnd: 2479
    functionName: nl80211_new_station_event
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - nla_len
    - wpa_printf
    - os_memcpy
    - wpa_hexdump
    - drv_event_assoc
    - nla_data
    - is_ap_interface
    - MAC2STR
    - nla_get_u8
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void nl80211_new_station_event(struct wpa_driver_nl80211_data *drv,\n\t\t\t\t
      \     struct i802_bss *bss,\n\t\t\t\t      struct nlattr **tb)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2491,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2492,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2493,1
    - Dst: is_ap_interface
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2495,1
    - Dst: drv_event_disassoc
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2496,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2503,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2504,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2505,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - drv
    - bss
    - tb
    argTypes:
    - struct wpa_driver_nl80211_data*
    - struct i802_bss*
    - struct nlattr**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2506
      start: 2482
    functionDepth: 1
    functionLinenumber: 2482
    functionLinenumberEnd: 2506
    functionName: nl80211_del_station_event
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - wpa_printf
    - os_memcpy
    - nla_data
    - is_ap_interface
    - MAC2STR
    - drv_event_disassoc
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void nl80211_del_station_event(struct wpa_driver_nl80211_data *drv,\n\t\t\t\t
      \     struct i802_bss *bss,\n\t\t\t\t      struct nlattr **tb)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nla_parse_nested
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2531,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2536,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2537,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2538,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2539,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2541,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2542,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2544,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - drv
    - tb
    argTypes:
    - struct wpa_driver_nl80211_data*
    - struct nlattr**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2545
      start: 2509
    functionDepth: 1
    functionLinenumber: 2509
    functionLinenumberEnd: 2545
    functionName: nl80211_rekey_offload_event
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - wpa_printf
    - nla_parse_nested
    - wpa_hexdump
    - nla_data
    - MAC2STR
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void nl80211_rekey_offload_event(struct wpa_driver_nl80211_data *drv,\n\t\t\t\t\tstruct
      nlattr **tb)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2562,1
    - Dst: nla_parse_nested
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2565,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2571,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2572,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2573,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2575,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2578,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - drv
    - tb
    argTypes:
    - struct wpa_driver_nl80211_data*
    - struct nlattr**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2579
      start: 2548
    functionDepth: 0
    functionLinenumber: 2548
    functionLinenumberEnd: 2579
    functionName: nl80211_pmksa_candidate_event
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - nla_get_u32
    - wpa_printf
    - os_memcpy
    - nla_parse_nested
    - nla_data
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void nl80211_pmksa_candidate_event(struct wpa_driver_nl80211_data
      *drv,\n\t\t\t\t\t  struct nlattr **tb)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2589,1
    - Dst: nla_get_u64
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2593,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2594,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2595,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2601,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2602,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2603,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - drv
    - tb
    argTypes:
    - struct wpa_driver_nl80211_data*
    - struct nlattr**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2604
      start: 2582
    functionDepth: 1
    functionLinenumber: 2582
    functionLinenumberEnd: 2604
    functionName: nl80211_client_probe_event
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - wpa_printf
    - os_memcpy
    - nla_data
    - nla_get_u64
    - MAC2STR
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void nl80211_client_probe_event(struct wpa_driver_nl80211_data *drv,\n\t\t\t\t
      \      struct nlattr **tb)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2612,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2617,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2618,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2618,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2619,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2621,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2622,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2626,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2627,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2631,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2633,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2637,1
    - Dst: nla_get_u16
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2643,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2646,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - drv
    - tb
    argTypes:
    - struct wpa_driver_nl80211_data*
    - struct nlattr**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2647
      start: 2607
    functionDepth: 1
    functionLinenumber: 2607
    functionLinenumberEnd: 2647
    functionName: nl80211_tdls_oper_event
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - wpa_printf
    - os_memcpy
    - nla_data
    - MAC2STR
    - nla_get_u16
    - nla_get_u8
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void nl80211_tdls_oper_event(struct wpa_driver_nl80211_data *drv,\n\t\t\t\t
      \   struct nlattr **tb)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2657,1
    - Dst: nl80211_link_valid
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2658,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2659,1
    - Dst: nl80211_get_link
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2665,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2666,1
    - Dst: nl80211_update_active_links
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2671,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2674,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - bss
    - tb
    argTypes:
    - struct i802_bss*
    - struct nlattr**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2675
      start: 2650
    functionDepth: 7
    functionLinenumber: 2650
    functionLinenumberEnd: 2675
    functionName: nl80211_stop_ap
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - wpa_printf
    - nl80211_update_active_links
    - nl80211_get_link
    - nl80211_link_valid
    - nla_get_u8
    linkageType: ''
    returnType: void
    signature: void nl80211_stop_ap(struct i802_bss *bss, struct nlattr **tb)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2684,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2689,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2690,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2691,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2693,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2696,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2700,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2702,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2706,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2711,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - drv
    - tb
    argTypes:
    - struct wpa_driver_nl80211_data*
    - struct nlattr**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2712
      start: 2678
    functionDepth: 1
    functionLinenumber: 2678
    functionLinenumberEnd: 2712
    functionName: nl80211_connect_failed_event
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - nla_get_u32
    - wpa_printf
    - os_memcpy
    - nla_data
    - MAC2STR
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void nl80211_connect_failed_event(struct wpa_driver_nl80211_data *drv,\n\t\t\t\t\t
      struct nlattr **tb)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2719,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2728,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2731,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2734,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2737,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2740,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2744,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2747,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - bss
    - data
    - event_type
    argTypes:
    - struct i802_bss*
    - union wpa_event_data*
    - enum nl80211_radar_event
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2752
      start: 2715
    functionDepth: 0
    functionLinenumber: 2715
    functionLinenumberEnd: 2752
    functionName: nl80211_process_radar_event
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: "void nl80211_process_radar_event(struct i802_bss *bss,\n\t\t\t\t\tunion
      wpa_event_data *data,\n\t\t\t\t\tenum nl80211_radar_event event_type)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2767,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2768,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2769,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2776,1
    - Dst: convert2width
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2794,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2794,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2797,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2799,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2801,1
    - Dst: nl80211_get_link_id_by_freq
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2811,1
    - Dst: nl80211_process_radar_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2816,1
    - Dst: nl80211_process_radar_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2823,1
    - Dst: for_each_link_default
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2831,1
    - Dst: nl80211_process_radar_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2846,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2856,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 49
    argCount: 2
    argNames:
    - bss
    - tb
    argTypes:
    - struct i802_bss*
    - struct nlattr**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2858
      start: 2755
    functionDepth: 1
    functionLinenumber: 2755
    functionLinenumberEnd: 2858
    functionName: nl80211_radar_event
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - nl80211_process_radar_event
    - nla_get_u32
    - wpa_printf
    - nl80211_get_link_id_by_freq
    - convert2width
    - for_each_link_default
    - os_memset
    linkageType: ''
    returnType: void
    signature: void nl80211_radar_event(struct i802_bss *bss, struct nlattr **tb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2869,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2871,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2874,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2876,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - bss
    - tb
    - wds
    argTypes:
    - struct i802_bss*
    - struct nlattr**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2877
      start: 2861
    functionDepth: 0
    functionLinenumber: 2861
    functionLinenumberEnd: 2877
    functionName: nl80211_spurious_frame
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - nla_data
    - nla_get_u8
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void nl80211_spurious_frame(struct i802_bss *bss, struct nlattr **tb,\n\t\t\t\t
      \  int wds)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2897,1
    - Dst: os_calloc
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2903,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2908,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2913,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2916,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2923,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2925,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - bss
    - data
    - len
    argTypes:
    - struct i802_bss*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2926
      start: 2882
    functionDepth: 1
    functionLinenumber: 2882
    functionLinenumberEnd: 2926
    functionName: qca_nl80211_avoid_freq
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - wpa_printf
    - os_calloc
    - os_free
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void qca_nl80211_avoid_freq(struct i802_bss *bss,\n\t\t\t\t   const
      u8 *data, size_t len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - hw_mode
    argTypes:
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2945
      start: 2929
    functionDepth: 0
    functionLinenumber: 2929
    functionLinenumberEnd: 2945
    functionName: get_qca_hw_mode
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum hostapd_hw_mode
    signature: enum hostapd_hw_mode get_qca_hw_mode(u8 hw_mode)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_get_hw_feature_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2958,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2962,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2970,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2971,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:2974,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 3
    argNames:
    - drv
    - chan
    - hw_mode
    argTypes:
    - struct wpa_driver_nl80211_data*
    - u8
    - enum hostapd_hw_mode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2992
      start: 2948
    functionDepth: 4
    functionLinenumber: 2948
    functionLinenumberEnd: 2992
    functionName: chan_to_freq
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 23
    functionsReached:
    - os_free
    - wpa_printf
    - nl80211_get_hw_feature_data
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int chan_to_freq(struct wpa_driver_nl80211_data *drv,\n\t\t\t\t
      u8 chan, enum hostapd_hw_mode hw_mode)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3003,1
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3006,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3014,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3018,1
    - Dst: get_qca_hw_mode
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3020,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3024,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3032,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3035,1
    - Dst: chan_to_freq
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3037,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3042,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3045,1
    - Dst: chan_to_freq
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3048,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3054,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3057,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3060,1
    - Dst: nla_get_u16
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3063,1
    - Dst: nla_get_u16
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3066,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3069,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3073,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3087,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 3
    argNames:
    - bss
    - data
    - len
    argTypes:
    - struct i802_bss*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3088
      start: 2995
    functionDepth: 5
    functionLinenumber: 2995
    functionLinenumberEnd: 3088
    functionName: qca_nl80211_acs_select_ch
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - nla_get_u32
    - wpa_printf
    - nla_parse
    - chan_to_freq
    - get_qca_hw_mode
    - nla_get_u16
    - nla_get_u8
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void qca_nl80211_acs_select_ch(struct i802_bss *bss,\n\t\t\t\t   const
      u8 *data, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3097,1
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3100,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3103,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3109,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3110,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3110,1
    - Dst: mlme_event_connect
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3112,1
    - Dst: wpa_driver_nl80211_driver_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3130,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - drv
    - data
    - len
    argTypes:
    - struct wpa_driver_nl80211_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3135
      start: 3091
    functionDepth: 7
    functionLinenumber: 3091
    functionLinenumberEnd: 3135
    functionName: qca_nl80211_key_mgmt_auth
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - nla_len
    - wpa_printf
    - nla_parse
    - nla_data
    - MAC2STR
    - mlme_event_connect
    - wpa_driver_nl80211_driver_event
    linkageType: ''
    returnType: void
    signature: "void qca_nl80211_key_mgmt_auth(struct wpa_driver_nl80211_data *drv,\n\t\t\t\t
      \     const u8 *data, size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3143,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3146,1
    - Dst: os_memdup
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3147,1
    - Dst: qca_nl80211_key_mgmt_auth
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - drv
    - data
    - len
    argTypes:
    - struct wpa_driver_nl80211_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3155
      start: 3138
    functionDepth: 8
    functionLinenumber: 3138
    functionLinenumberEnd: 3155
    functionName: qca_nl80211_key_mgmt_auth_handler
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - os_free
    - os_memdup
    - wpa_printf
    - qca_nl80211_key_mgmt_auth
    linkageType: ''
    returnType: void
    signature: "void qca_nl80211_key_mgmt_auth_handler(struct wpa_driver_nl80211_data
      *drv,\n\t\t\t\t  const u8 *data, size_t len)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3165,1
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3168,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3173,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3178,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3179,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3184,1
    - Dst: nl80211_get_link_id_by_freq
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3187,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3190,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3198,1
    - Dst: convert2width
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3216,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3216,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3219,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3221,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3223,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3231,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3234,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3237,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3240,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3243,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3246,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 62
    argCount: 4
    argNames:
    - bss
    - subcmd
    - msg
    - length
    argTypes:
    - struct i802_bss*
    - u32
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3251
      start: 3158
    functionDepth: 1
    functionLinenumber: 3158
    functionLinenumberEnd: 3251
    functionName: qca_nl80211_dfs_offload_radar_event
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - nla_get_u32
    - wpa_printf
    - nl80211_get_link_id_by_freq
    - convert2width
    - nla_parse
    - nla_get_u8
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void qca_nl80211_dfs_offload_radar_event(struct i802_bss *bss, u32
      subcmd, u8 *msg,\n\t\t\t\t    int length)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3263,1
    - Dst: nla_get_u64
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3268,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3275,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3281,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - bss
    - data
    - len
    argTypes:
    - struct i802_bss*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3282
      start: 3254
    functionDepth: 0
    functionLinenumber: 3254
    functionLinenumberEnd: 3282
    functionName: qca_nl80211_scan_trigger_event
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - os_memset
    - wpa_supplicant_event
    - nla_parse
    - nla_get_u64
    linkageType: ''
    returnType: void
    signature: "void qca_nl80211_scan_trigger_event(struct i802_bss *bss, u8 *data,\n\t\t\t\t\t
      \  size_t len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3295,1
    - Dst: nla_get_u64
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3299,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3306,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3307,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3308,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3310,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3328,1
    - Dst: os_snprintf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3329,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3331,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3340,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3343,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 4
    argNames:
    - bss
    - aborted
    - tb
    - external_scan
    argTypes:
    - struct i802_bss*
    - int
    - struct nlattr*[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3344
      start: 3285
    functionDepth: 1
    functionLinenumber: 3285
    functionLinenumberEnd: 3344
    functionName: send_vendor_scan_event
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - nla_len
    - wpa_printf
    - nla_get_u32
    - wpa_ssid_txt
    - nla_data
    - nla_get_u64
    - os_snprintf
    - os_snprintf_error
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void send_vendor_scan_event(struct i802_bss *bss, int aborted,\n\t\t\t\t
      \  struct nlattr *tb[], int external_scan)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3306,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3307,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3308,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3310,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3314
      start: 3302
    functionDepth: 1
    functionLinenumber: 3302
    functionLinenumberEnd: 3314
    functionName: nla_for_each_nested
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 1
    functionsReached:
    - wpa_ssid_txt
    - nla_len
    - wpa_printf
    - nla_data
    linkageType: ''
    returnType: void
    signature: "void nla_for_each_nested(nl,\n\t\t\t\t    tb[QCA_WLAN_VENDOR_ATTR_SCAN_SSIDS],
      rem)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3328,1
    - Dst: os_snprintf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3329,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3331,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3336
      start: 3325
    functionDepth: 1
    functionLinenumber: 3325
    functionLinenumberEnd: 3336
    functionName: nla_for_each_nested
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 1
    functionsReached:
    - os_snprintf
    - nla_get_u32
    - os_snprintf_error
    linkageType: ''
    returnType: void
    signature: "void nla_for_each_nested(nl,\n\t\t\t\t    tb[QCA_WLAN_VENDOR_ATTR_SCAN_FREQUENCIES],\n\t\t\t\t
      \   rem)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3356,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3362,1
    - Dst: nla_get_u64
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3366,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3377,1
    - Dst: send_vendor_scan_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3383,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - bss
    - data
    - len
    argTypes:
    - struct i802_bss*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3385
      start: 3347
    functionDepth: 2
    functionLinenumber: 3347
    functionLinenumberEnd: 3385
    functionName: qca_nl80211_scan_done_event
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - send_vendor_scan_event
    - eloop_cancel_timeout
    - nla_parse
    - nla_get_u64
    - nla_get_u8
    linkageType: ''
    returnType: void
    signature: "void qca_nl80211_scan_done_event(struct i802_bss *bss, u8 *data,\n\t\t\t\t\tsize_t
      len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3394,1
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3397,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3402,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3404,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3406,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3409,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - drv
    - data
    - len
    argTypes:
    - struct wpa_driver_nl80211_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3410
      start: 3388
    functionDepth: 0
    functionLinenumber: 3388
    functionLinenumberEnd: 3410
    functionName: qca_nl80211_p2p_lo_stop_event
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - wpa_printf
    - nla_parse
    - nla_get_u8
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void qca_nl80211_p2p_lo_stop_event(struct wpa_driver_nl80211_data
      *drv,\n\t\t\t\t\t  u8 *data, size_t len)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3427,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3434,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3435,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3436,1
    - Dst: nla_for_each_nested
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3449,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3453,1
    - Dst: nla_parse_nested
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3462,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3469,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3470,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3472,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3473,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3477,1
    - Dst: rsn_key_mgmt_to_wpa_akm
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3481,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3484,1
    - Dst: rsn_cipher_suite_to_wpa_cipher
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3488,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3494,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3496,1
    - Dst: os_zalloc
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3498,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3501,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3506,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3508,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3511,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3513,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3522,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3526,1
    - Dst: str_clear_free
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3529,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 65
    argCount: 3
    argNames:
    - bss
    - data
    - len
    argTypes:
    - struct i802_bss*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3530
      start: 3415
    functionDepth: 1
    functionLinenumber: 3415
    functionLinenumberEnd: 3530
    functionName: qca_nl80211_pasn_auth
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - nla_get_u32
    - wpa_printf
    - os_memcpy
    - nla_len
    - nla_for_each_nested
    - nla_parse_nested
    - nla_parse
    - nla_data
    - MAC2STR
    - os_zalloc
    - str_clear_free
    - rsn_key_mgmt_to_wpa_akm
    - rsn_cipher_suite_to_wpa_cipher
    - os_memset
    linkageType: ''
    returnType: void
    signature: void qca_nl80211_pasn_auth(struct i802_bss *bss, u8 *data, size_t len)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: nla_parse_nested
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3462,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3469,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3470,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3472,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3473,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3477,1
    - Dst: rsn_key_mgmt_to_wpa_akm
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3481,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3484,1
    - Dst: rsn_cipher_suite_to_wpa_cipher
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3488,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3494,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3496,1
    - Dst: os_zalloc
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3498,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3501,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3506,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3508,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3511,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3513,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3519
      start: 3458
    functionDepth: 1
    functionLinenumber: 3458
    functionLinenumberEnd: 3519
    functionName: nla_for_each_nested
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 2
    functionsReached:
    - nla_get_u32
    - os_memcpy
    - nla_len
    - wpa_printf
    - nla_parse_nested
    - nla_data
    - MAC2STR
    - os_zalloc
    - rsn_key_mgmt_to_wpa_akm
    - rsn_cipher_suite_to_wpa_cipher
    linkageType: ''
    returnType: void
    signature: "void nla_for_each_nested(attr, tb[QCA_WLAN_VENDOR_ATTR_PASN_PEERS],\n\t\t\t
      \   rem_conf)"
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 1
    argNames:
    - auth_alg
    argTypes:
    - enum nl80211_auth_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3560
      start: 3536
    functionDepth: 0
    functionLinenumber: 3536
    functionLinenumberEnd: 3560
    functionName: get_auth_algo
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_auth_algo(enum nl80211_auth_type auth_alg)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3572,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3581,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3583,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3596,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3597,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3600,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3601,1
    - Dst: get_auth_algo
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3602,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3603,1
    - Dst: rsn_cipher_suite_to_wpa_cipher
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3605,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3606,1
    - Dst: rsn_cipher_suite_to_wpa_cipher
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3608,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3609,1
    - Dst: rsn_cipher_suite_to_wpa_cipher
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3611,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3612,1
    - Dst: nla_get_u16
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3615,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3618,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3620,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3625,1
    - Dst: os_snprintf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3627,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3628,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3631,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3635,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3638,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3640,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 43
    argCount: 3
    argNames:
    - drv
    - data
    - len
    argTypes:
    - struct wpa_driver_nl80211_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3641
      start: 3563
    functionDepth: 1
    functionLinenumber: 3563
    functionLinenumberEnd: 3641
    functionName: qca_nl80211_external_auth
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - nla_get_u32
    - nla_len
    - wpa_printf
    - nla_parse
    - wpa_ssid_txt
    - nla_data
    - os_snprintf
    - MAC2STR
    - get_auth_algo
    - rsn_cipher_suite_to_wpa_cipher
    - nla_get_u16
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void qca_nl80211_external_auth(struct wpa_driver_nl80211_data *drv,\n\t\t\t\t
      \     u8 *data, size_t len)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3651,1
    - Dst: qca_nl80211_avoid_freq
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3655,1
    - Dst: qca_nl80211_key_mgmt_auth_handler
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3658,1
    - Dst: qca_nl80211_acs_select_ch
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3661,1
    - Dst: qca_nl80211_dfs_offload_radar_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3668,1
    - Dst: qca_nl80211_scan_trigger_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3671,1
    - Dst: qca_nl80211_scan_done_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3674,1
    - Dst: qca_nl80211_p2p_lo_stop_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3677,1
    - Dst: qca_nl80211_pasn_auth
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3681,1
    - Dst: qca_nl80211_tid_to_link_map_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3685,1
    - Dst: qca_nl80211_link_reconfig_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3688,1
    - Dst: qca_nl80211_external_auth
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3691,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3695,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 4
    argNames:
    - bss
    - subcmd
    - data
    - len
    argTypes:
    - struct i802_bss*
    - u32
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3700
      start: 3646
    functionDepth: 9
    functionLinenumber: 3646
    functionLinenumberEnd: 3700
    functionName: nl80211_vendor_event_qca
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - qca_nl80211_key_mgmt_auth_handler
    - wpa_hexdump
    - qca_nl80211_dfs_offload_radar_event
    - qca_nl80211_scan_done_event
    - qca_nl80211_external_auth
    - qca_nl80211_tid_to_link_map_event
    - qca_nl80211_p2p_lo_stop_event
    - qca_nl80211_link_reconfig_event
    - qca_nl80211_scan_trigger_event
    - qca_nl80211_acs_select_ch
    - qca_nl80211_avoid_freq
    - qca_nl80211_pasn_auth
    linkageType: ''
    returnType: void
    signature: "void nl80211_vendor_event_qca(struct i802_bss *bss,\n\t\t\t\t     u32
      subcmd, u8 *data, size_t len)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3711,1
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3714,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3720,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3723,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3726,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3729,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3732,1
    - Dst: nla_get_u16
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3735,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3737,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3741,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3748,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3756,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 3
    argNames:
    - drv
    - data
    - len
    argTypes:
    - struct wpa_driver_nl80211_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3757
      start: 3705
    functionDepth: 0
    functionLinenumber: 3705
    functionLinenumberEnd: 3757
    functionName: brcm_nl80211_acs_select_ch
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - nla_get_u32
    - wpa_printf
    - nla_parse
    - nla_get_u16
    - nla_get_u8
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void brcm_nl80211_acs_select_ch(struct wpa_driver_nl80211_data *drv,\n\t\t\t\t
      \      const u8 *data, size_t len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3763,1
    - Dst: wpa_msg
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3768,1
    - Dst: brcm_nl80211_acs_select_ch
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3771,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3774,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - drv
    - subcmd
    - data
    - len
    argTypes:
    - struct wpa_driver_nl80211_data*
    - u32
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3779
      start: 3760
    functionDepth: 1
    functionLinenumber: 3760
    functionLinenumberEnd: 3779
    functionName: nl80211_vendor_event_brcm
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - brcm_nl80211_acs_select_ch
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: "void nl80211_vendor_event_brcm(struct wpa_driver_nl80211_data *drv,\n\t\t\t\t
      \     u32 subcmd, u8 *data, size_t len)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3796,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3797,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3800,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3802,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3806,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3807,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3808,1
    - Dst: nl80211_get_wiphy_index
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3811,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3813,1
    - Dst: wpa_driver_nl80211_driver_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3825,1
    - Dst: nl80211_vendor_event_qca
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3832,1
    - Dst: nl80211_vendor_event_brcm
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3836,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3840,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 2
    argNames:
    - bss
    - tb
    argTypes:
    - struct i802_bss*
    - struct nlattr**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3843
      start: 3784
    functionDepth: 10
    functionLinenumber: 3784
    functionLinenumberEnd: 3843
    functionName: nl80211_vendor_event
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - nla_get_u32
    - wpa_printf
    - nla_len
    - nl80211_vendor_event_brcm
    - wpa_hexdump
    - nla_data
    - nl80211_vendor_event_qca
    - nl80211_get_wiphy_index
    - wpa_driver_nl80211_driver_event
    linkageType: ''
    returnType: void
    signature: void nl80211_vendor_event(struct i802_bss *bss, struct nlattr **tb)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3852,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3857,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3858,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3859,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3877,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3878,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3898,1
    - Dst: nla_get_string
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3899,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3901,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3905,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 2
    argNames:
    - drv
    - tb
    argTypes:
    - struct wpa_driver_nl80211_data*
    - struct nlattr*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3906
      start: 3846
    functionDepth: 0
    functionLinenumber: 3846
    functionLinenumberEnd: 3906
    functionName: nl80211_reg_change_event
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - wpa_printf
    - os_strlcpy
    - nla_get_string
    - nla_get_u8
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void nl80211_reg_change_event(struct wpa_driver_nl80211_data *drv,\n\t\t\t\t
      \    struct nlattr *tb[])"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3922,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3923,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3923,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3926,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3929,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3931,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - title
    - nl_freq
    - attrs
    argTypes:
    - char*
    - struct nlattr*
    - struct frequency_attrs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3946
      start: 3909
    functionDepth: 0
    functionLinenumber: 3909
    functionLinenumberEnd: 3946
    functionName: nl80211_parse_freq_attrs
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - nla_len
    - wpa_printf
    - nla_get_u32
    - nla_parse
    - nla_data
    linkageType: ''
    returnType: void
    signature: "void nl80211_parse_freq_attrs(const char *title, struct nlattr *nl_freq,\n\t\t\t\t
      \    struct frequency_attrs *attrs)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3954,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3955,1
    - Dst: nl80211_parse_freq_attrs
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3959,1
    - Dst: nl80211_parse_freq_attrs
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3963,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3967,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - drv
    - tb
    argTypes:
    - struct wpa_driver_nl80211_data*
    - struct nlattr*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3968
      start: 3949
    functionDepth: 1
    functionLinenumber: 3949
    functionLinenumberEnd: 3968
    functionName: nl80211_reg_beacon_hint_event
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - wpa_printf
    - nl80211_parse_freq_attrs
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void nl80211_reg_beacon_hint_event(struct wpa_driver_nl80211_data
      *drv,\n\t\t\t\t\t   struct nlattr *tb[])"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3984,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3985,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:3998,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4000,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4003,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4005,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4010,1
    - Dst: os_snprintf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4011,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4012,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4015,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4019,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4021,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4022,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - drv
    - tb
    argTypes:
    - struct wpa_driver_nl80211_data*
    - struct nlattr**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4023
      start: 3971
    functionDepth: 1
    functionLinenumber: 3971
    functionLinenumberEnd: 4023
    functionName: nl80211_external_auth
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 1
    functionsReached:
    - wpa_supplicant_event
    - nla_get_u32
    - nla_len
    - wpa_printf
    - wpa_ssid_txt
    - nla_data
    - os_snprintf
    - MAC2STR
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void nl80211_external_auth(struct wpa_driver_nl80211_data *drv,\n\t\t\t\t
      \ struct nlattr **tb)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4032,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4035,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4036,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4041,1
    - Dst: is_ap_interface
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4042,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4044,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4046,1
    - Dst: is_sta_interface
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4047,1
    - Dst: ether_addr_equal
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4052,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4053,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4057,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4057,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4064,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4067,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4070,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - drv
    - tb
    argTypes:
    - struct wpa_driver_nl80211_data*
    - struct nlattr**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4071
      start: 4026
    functionDepth: 1
    functionLinenumber: 4026
    functionLinenumberEnd: 4071
    functionName: nl80211_port_authorized
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - nla_len
    - wpa_printf
    - is_sta_interface
    - ether_addr_equal
    - nla_data
    - is_ap_interface
    - MAC2STR
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void nl80211_port_authorized(struct wpa_driver_nl80211_data *drv,\n\t\t\t\t
      \   struct nlattr **tb)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4089,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4092,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4110,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4141,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4143,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 56
    argCount: 2
    argNames:
    - drv
    - tb
    argTypes:
    - struct wpa_driver_nl80211_data*
    - struct nlattr**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4144
      start: 4074
    functionDepth: 0
    functionLinenumber: 4074
    functionLinenumberEnd: 4144
    functionName: nl80211_sta_opmode_change_event
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - nla_get_u32
    - nla_data
    - nla_get_u8
    linkageType: ''
    returnType: void
    signature: "void nl80211_sta_opmode_change_event(struct wpa_driver_nl80211_data
      *drv,\n\t\t\t\t\t    struct nlattr **tb)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4159,1
    - Dst: nla_get_u16
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4160,1
    - Dst: nla_get_flag
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4161,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4165,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4171,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4173,1
    - Dst: drv_event_eapol_rx2
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4176,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4177,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4178,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4182,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4185,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - bss
    - tb
    argTypes:
    - struct i802_bss*
    - struct nlattr**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4188
      start: 4147
    functionDepth: 1
    functionLinenumber: 4147
    functionLinenumberEnd: 4188
    functionName: nl80211_control_port_frame
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - nla_len
    - wpa_printf
    - nla_get_flag
    - nla_data
    - MAC2STR
    - drv_event_eapol_rx2
    - nla_get_u16
    - nla_get_u8
    linkageType: ''
    returnType: void
    signature: void nl80211_control_port_frame(struct i802_bss *bss, struct nlattr
      **tb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4202,1
    - Dst: nla_get_u64
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4204,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4206,1
    - Dst: nla_get_u64
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4212,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4215,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - bss
    - frame
    - len
    - ack
    - cookie
    argTypes:
    - struct i802_bss*
    - u8*
    - size_t
    - struct nlattr*
    - struct nlattr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4216
      start: 4191
    functionDepth: 0
    functionLinenumber: 4191
    functionLinenumberEnd: 4216
    functionName: nl80211_control_port_frame_tx_status
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 1
    functionsReached:
    - os_memset
    - wpa_supplicant_event
    - wpa_printf
    - nla_get_u64
    linkageType: ''
    returnType: void
    signature: "void nl80211_control_port_frame_tx_status(struct i802_bss *bss,\n\t\t\t\t
      \    const u8 *frame, size_t len,\n\t\t\t\t     struct nlattr *ack, struct nlattr
      *cookie)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nla_get_u64
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4228,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4236,1
    - Dst: os_memmove
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4250,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4256,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 2
    argNames:
    - drv
    - cookie_attr
    argTypes:
    - struct wpa_driver_nl80211_data*
    - struct nlattr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4257
      start: 4219
    functionDepth: 0
    functionLinenumber: 4219
    functionLinenumberEnd: 4257
    functionName: nl80211_frame_wait_cancel
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 1
    functionsReached:
    - wpa_supplicant_event
    - wpa_printf
    - os_memmove
    - nla_get_u64
    linkageType: ''
    returnType: void
    signature: "void nl80211_frame_wait_cancel(struct wpa_driver_nl80211_data *drv,\n\t\t\t\t
      \     struct nlattr *cookie_attr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4265,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4267,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4267,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - drv
    - mac
    - timeout
    argTypes:
    - struct wpa_driver_nl80211_data*
    - struct nlattr*
    - struct nlattr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4268
      start: 4260
    functionDepth: 1
    functionLinenumber: 4260
    functionLinenumberEnd: 4268
    functionName: nl80211_assoc_comeback
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - MAC2STR
    - wpa_printf
    - nla_data
    - nla_get_u32
    linkageType: ''
    returnType: void
    signature: "void nl80211_assoc_comeback(struct wpa_driver_nl80211_data *drv,\n\t\t\t\t
      \  struct nlattr *mac, struct nlattr *timeout)"
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: nla_parse_nested
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4279,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4287,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4289,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4297,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4301,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4305,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4309,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4313,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4317,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4321,1
    - Dst: nla_get_s32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4325,1
    - Dst: nla_get_s32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4329,1
    - Dst: nla_get_s64
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4333,1
    - Dst: nla_get_u64
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4337,1
    - Dst: nla_get_u64
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4341,1
    - Dst: nla_get_s64
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4345,1
    - Dst: nla_get_u64
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4349,1
    - Dst: nla_get_u64
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4353,1
    - Dst: os_memdup
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4356,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4357,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4358,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4359,1
    - Dst: os_memdup
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4363,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4364,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4365,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4367,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4372,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4376,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4380,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4384,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4388,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4392,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4396,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4400,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4404,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4408,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4412,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 71
    argCount: 2
    argNames:
    - ftm
    - ftm_data
    argTypes:
    - struct peer_measurement_ftm_result*
    - struct nlattr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4415
      start: 4273
    functionDepth: 0
    functionLinenumber: 4273
    functionLinenumberEnd: 4415
    functionName: nl80211_parse_peer_ftm_result
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - nla_get_s32
    - nla_get_u32
    - wpa_printf
    - nla_get_s64
    - nla_len
    - nla_parse_nested
    - os_memdup
    - nla_data
    - nla_get_u64
    - nla_get_u8
    linkageType: ''
    returnType: void
    signature: "void nl80211_parse_peer_ftm_result(struct peer_measurement_ftm_result
      *ftm,\n\t\t\t      struct nlattr *ftm_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4424,1
    - Dst: nla_get_u64
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4427,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4428,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4432,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4437,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - bss
    - tb
    argTypes:
    - struct i802_bss*
    - struct nlattr**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4438
      start: 4418
    functionDepth: 0
    functionLinenumber: 4418
    functionLinenumberEnd: 4438
    functionName: nl80211_peer_measurement_complete_event
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - nla_get_u64
    - wpa_printf
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void nl80211_peer_measurement_complete_event(struct i802_bss *bss,\n\t\t\t\t\t\t
      \   struct nlattr **tb)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: nla_get_u64
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4467,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4468,1
    - Dst: nla_parse_nested
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4474,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4486,1
    - Dst: nla_parse_nested
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4488,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4498,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4499,1
    - Dst: nla_parse_nested
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4502,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4509,1
    - Dst: nla_get_u64
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4513,1
    - Dst: nla_get_u64
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4517,1
    - Dst: nla_parse_nested
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4525,1
    - Dst: nl80211_parse_peer_ftm_result
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4532,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4537,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4540,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4541,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 36
    argCount: 2
    argNames:
    - bss
    - tb
    argTypes:
    - struct i802_bss*
    - struct nlattr**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4543
      start: 4441
    functionDepth: 1
    functionLinenumber: 4441
    functionLinenumberEnd: 4543
    functionName: nl80211_peer_measurement_result_event
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - nla_get_u32
    - wpa_printf
    - os_memcpy
    - nla_parse_nested
    - nla_data
    - nla_get_u64
    - nl80211_parse_peer_ftm_result
    - os_free
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void nl80211_peer_measurement_result_event(struct i802_bss *bss,\n\t\t\t\t\t\t
      \ struct nlattr **tb)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4486,1
    - Dst: nla_parse_nested
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4488,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4498,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4499,1
    - Dst: nla_parse_nested
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4502,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4509,1
    - Dst: nla_get_u64
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4513,1
    - Dst: nla_get_u64
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4517,1
    - Dst: nla_parse_nested
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4525,1
    - Dst: nl80211_parse_peer_ftm_result
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4532,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4537,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4540,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4541,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4542
      start: 4481
    functionDepth: 1
    functionLinenumber: 4481
    functionLinenumberEnd: 4542
    functionName: nla_for_each_nested
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 2
    functionsReached:
    - wpa_supplicant_event
    - nla_get_u32
    - os_memcpy
    - nla_parse_nested
    - nla_data
    - nla_get_u64
    - nl80211_parse_peer_ftm_result
    - os_free
    - os_memset
    linkageType: ''
    returnType: void
    signature: void nla_for_each_nested(peer, pmsr[NL80211_PMSR_ATTR_PEERS], rem)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4557,1
    - Dst: nla_get_u64
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4566,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4567,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4574,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4578,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4582,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4585,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4591,1
    - Dst: nl80211_link_valid
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4593,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4595,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4601,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4605,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 3
    argNames:
    - bss
    - cmd
    - tb
    argTypes:
    - struct i802_bss*
    - enum nl80211_commands
    - struct nlattr*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4606
      start: 4550
    functionDepth: 1
    functionLinenumber: 4550
    functionLinenumberEnd: 4606
    functionName: nl80211_obss_color_event
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - wpa_printf
    - nla_get_u64
    - nl80211_link_valid
    - nla_get_u8
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void nl80211_obss_color_event(struct i802_bss *bss,\n\t\t\t\t     enum
      nl80211_commands cmd,\n\t\t\t\t     struct nlattr *tb[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4619,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4624,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4626,1
    - Dst: nla_get_flag
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4628,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4630,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - drv
    - tb
    argTypes:
    - struct wpa_driver_nl80211_data*
    - struct nlattr**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4631
      start: 4613
    functionDepth: 0
    functionLinenumber: 4613
    functionLinenumberEnd: 4631
    functionName: nl80211_nan_cluster_joined_event
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - wpa_printf
    - nla_get_flag
    - nla_data
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void nl80211_nan_cluster_joined_event(struct wpa_driver_nl80211_data
      *drv,\n\t\t\t\t struct nlattr **tb)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4639,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4644,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4647,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4648,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - drv
    - tb
    argTypes:
    - struct wpa_driver_nl80211_data*
    - struct nlattr**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4649
      start: 4634
    functionDepth: 0
    functionLinenumber: 4634
    functionLinenumberEnd: 4649
    functionName: nl80211_nan_next_dw_event
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - nla_get_u32
    - wpa_printf
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void nl80211_nan_next_dw_event(struct wpa_driver_nl80211_data *drv,\n\t\t\t\t
      \     struct nlattr **tb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4657,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4659,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - drv
    - tb
    argTypes:
    - struct wpa_driver_nl80211_data*
    - struct nlattr**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4664
      start: 4651
    functionDepth: 0
    functionLinenumber: 4651
    functionLinenumberEnd: 4664
    functionName: nl80211_nan_sched_update_done_event
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - wpa_printf
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void nl80211_nan_sched_update_done_event(struct wpa_driver_nl80211_data
      *drv,\n\t\t\t\t    struct nlattr **tb)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4672,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4674,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4678,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4680,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4683,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - drv
    - tb
    argTypes:
    - struct wpa_driver_nl80211_data*
    - struct nlattr**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4684
      start: 4667
    functionDepth: 0
    functionLinenumber: 4667
    functionLinenumberEnd: 4684
    functionName: nl80211_nan_ulw_update_event
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - nla_len
    - wpa_printf
    - nla_data
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void nl80211_nan_ulw_update_event(struct wpa_driver_nl80211_data *drv,\n\t\t\t\t\t
      struct nlattr **tb)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4694,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4696,1
    - Dst: nla_parse_nested
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4699,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4705,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4707,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4710,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - drv
    - tb
    argTypes:
    - struct wpa_driver_nl80211_data*
    - struct nlattr**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4711
      start: 4687
    functionDepth: 0
    functionLinenumber: 4687
    functionLinenumberEnd: 4711
    functionName: nl80211_nan_channel_evacuate_event
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - nla_get_u32
    - wpa_printf
    - nla_parse_nested
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void nl80211_nan_channel_evacuate_event(struct wpa_driver_nl80211_data
      *drv,\n\t\t\t\t   struct nlattr **tb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4719,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4721,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4724,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - bss
    - tb
    argTypes:
    - struct i802_bss*
    - struct nlattr**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4732
      start: 4714
    functionDepth: 0
    functionLinenumber: 4714
    functionLinenumberEnd: 4732
    functionName: nl80211_nan_del_interface_event
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - wpa_printf
    - os_strlcpy
    - os_memset
    linkageType: ''
    returnType: void
    signature: void nl80211_nan_del_interface_event(struct i802_bss *bss, struct nlattr
      **tb)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4749,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4752,1
    - Dst: convert2width
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4755,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4755,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4758,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4762,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4765,1
    - Dst: nl80211_get_link_id_by_freq
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4768,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4781,1
    - Dst: nl80211_get_link_id_by_freq
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4788,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4806,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4813,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4822,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 2
    argNames:
    - bss
    - tb
    argTypes:
    - struct i802_bss*
    - struct nlattr**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4823
      start: 4737
    functionDepth: 1
    functionLinenumber: 4737
    functionLinenumberEnd: 4823
    functionName: nl80211_incumbt_sig_intf_event
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - nla_get_u32
    - nl80211_get_link_id_by_freq
    - wpa_printf
    - convert2width
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void nl80211_incumbt_sig_intf_event(struct i802_bss *bss,\n\t\t\t\t\t
      \  struct nlattr **tb)"
  - BBCount: 75
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4833,1
    - Dst: nl80211_command_to_string
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4834,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4840,1
    - Dst: qca_nl80211_key_mgmt_auth
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4842,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4844,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4853,1
    - Dst: nl80211_restore_ap_mode
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4863,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4867,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4876,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4879,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4882,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4886,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4888,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4891,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4897,1
    - Dst: send_scan_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4903,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4906,1
    - Dst: send_scan_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4909,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4912,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4920,1
    - Dst: send_scan_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4926,1
    - Dst: mlme_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4936,1
    - Dst: mlme_event_connect
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4947,1
    - Dst: mlme_event_ch_switch
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4964,1
    - Dst: mlme_event_ch_switch
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4976,1
    - Dst: mlme_event_disconnect
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4988,1
    - Dst: mlme_event_michael_mic_failure
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4993,1
    - Dst: mlme_event_join_ibss
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4996,1
    - Dst: mlme_event_remain_on_channel
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:4999,1
    - Dst: mlme_event_remain_on_channel
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5002,1
    - Dst: nl80211_cqm_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5005,1
    - Dst: nl80211_reg_change_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5014,1
    - Dst: nl80211_reg_beacon_hint_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5017,1
    - Dst: nl80211_new_station_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5020,1
    - Dst: nl80211_del_station_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5023,1
    - Dst: nl80211_rekey_offload_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5026,1
    - Dst: nl80211_pmksa_candidate_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5029,1
    - Dst: nl80211_client_probe_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5032,1
    - Dst: nl80211_tdls_oper_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5035,1
    - Dst: nl80211_connect_failed_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5038,1
    - Dst: mlme_event_ft_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5041,1
    - Dst: nl80211_radar_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5044,1
    - Dst: nl80211_stop_ap
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5047,1
    - Dst: nl80211_vendor_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5050,1
    - Dst: nl80211_new_peer_candidate
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5053,1
    - Dst: nl80211_port_authorized
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5056,1
    - Dst: nl80211_sta_opmode_change_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5059,1
    - Dst: mlme_event_dh_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5062,1
    - Dst: mlme_event_unprot_beacon
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5066,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5066,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5067,1
    - Dst: nl80211_control_port_frame_tx_status
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5072,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5073,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5074,1
    - Dst: nl80211_frame_wait_cancel
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5079,1
    - Dst: nl80211_assoc_comeback
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5082,1
    - Dst: nl80211_obss_color_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5090,1
    - Dst: mlme_event_link_removal
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5094,1
    - Dst: mlme_event_link_addition
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5097,1
    - Dst: nla_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5097,1
    - Dst: nla_len
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5097,1
    - Dst: nl80211_nan_cluster_joined_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5101,1
    - Dst: nl80211_nan_next_dw_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5104,1
    - Dst: nl80211_nan_sched_update_done_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5107,1
    - Dst: nl80211_nan_ulw_update_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5110,1
    - Dst: nl80211_nan_channel_evacuate_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5113,1
    - Dst: nl80211_nan_del_interface_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5117,1
    - Dst: nl80211_incumbt_sig_intf_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5121,1
    - Dst: nl80211_peer_measurement_result_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5125,1
    - Dst: nl80211_peer_measurement_complete_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5128,1
    - Dst: wpa_dbg
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5132,1
    CyclomaticComplexity: 70
    EdgeCount: 70
    ICount: 216
    argCount: 3
    argNames:
    - bss
    - cmd
    - tb
    argTypes:
    - struct i802_bss*
    - int
    - struct nlattr**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5136
      start: 4826
    functionDepth: 11
    functionLinenumber: 4826
    functionLinenumberEnd: 5136
    functionName: do_process_drv_event
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - nl80211_assoc_comeback
    - mlme_event_unprot_beacon
    - nl80211_vendor_event
    - nl80211_frame_wait_cancel
    - nl80211_cqm_event
    - mlme_event
    - nl80211_nan_ulw_update_event
    - nl80211_new_peer_candidate
    - mlme_event_link_removal
    - nl80211_nan_sched_update_done_event
    - nl80211_sta_opmode_change_event
    - send_scan_event
    - mlme_event_link_addition
    - nl80211_peer_measurement_result_event
    - nl80211_nan_channel_evacuate_event
    - nl80211_command_to_string
    - nl80211_new_station_event
    - wpa_printf
    - nla_len
    - nl80211_nan_cluster_joined_event
    - mlme_event_dh_event
    - nl80211_obss_color_event
    - nl80211_incumbt_sig_intf_event
    - qca_nl80211_key_mgmt_auth
    - os_free
    - nl80211_reg_change_event
    - nl80211_tdls_oper_event
    - nl80211_reg_beacon_hint_event
    - mlme_event_ft_event
    - nl80211_peer_measurement_complete_event
    - mlme_event_michael_mic_failure
    - nl80211_pmksa_candidate_event
    - nl80211_radar_event
    - nl80211_stop_ap
    - wpa_dbg
    - mlme_event_connect
    - nl80211_nan_del_interface_event
    - nl80211_del_station_event
    - nl80211_rekey_offload_event
    - eloop_cancel_timeout
    - nl80211_port_authorized
    - nl80211_connect_failed_event
    - nla_data
    - nl80211_client_probe_event
    - nl80211_control_port_frame_tx_status
    - mlme_event_remain_on_channel
    - nl80211_nan_next_dw_event
    - mlme_event_ch_switch
    - mlme_event_disconnect
    - mlme_event_join_ibss
    - nl80211_restore_ap_mode
    linkageType: ''
    returnType: void
    signature: "void do_process_drv_event(struct i802_bss *bss, int cmd,\n\t\t\t\t
      struct nlattr **tb)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - drv
    - bss
    argTypes:
    - struct wpa_driver_nl80211_data*
    - struct i802_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5153
      start: 5139
    functionDepth: 0
    functionLinenumber: 5139
    functionLinenumberEnd: 5153
    functionName: nl80211_bss_in_drv
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool nl80211_bss_in_drv(struct wpa_driver_nl80211_data *drv,\n\t\t\t
      \      struct i802_bss *bss)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - global
    - unique_drv_id
    argTypes:
    - struct nl80211_global*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5168
      start: 5156
    functionDepth: 0
    functionLinenumber: 5156
    functionLinenumberEnd: 5168
    functionName: nl80211_drv_in_list
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    linkageType: ''
    returnType: bool
    signature: "bool nl80211_drv_in_list(struct nl80211_global *global,\n\t\t\t\tunsigned
      int unique_drv_id)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_get_wiphy_index
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5194,1
    - Dst: nl80211_has_ifidx
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5197,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 16
    argCount: 6
    argNames:
    - drv
    - ifidx
    - wiphy_idx_rx
    - wiphy_idx_set
    - wdev_id
    - wdev_id_set
    argTypes:
    - struct wpa_driver_nl80211_data*
    - int
    - int
    - int
    - u64
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5206
      start: 5171
    functionDepth: 4
    functionLinenumber: 5171
    functionLinenumberEnd: 5206
    functionName: nl80211_get_event_bss
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - nl80211_get_wiphy_index
    - nl80211_has_ifidx
    linkageType: ''
    returnType: struct i802_bss
    signature: "struct i802_bss *\nnl80211_get_event_bss(struct wpa_driver_nl80211_data
      *drv, int ifidx,\n\t\t      int wiphy_idx_rx, int wiphy_idx_set,\n\t\t      u64
      wdev_id, int wdev_id_set)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: nlmsg_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5212,1
    - Dst: nlmsg_hdr
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5212,1
    - Dst: nl80211_reply_hook
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5223,1
    - Dst: nlmsg_hdr
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5229,1
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5231,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5235,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5242,1
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5251,1
    - Dst: genlmsg_attrdata
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5251,1
    - Dst: genlmsg_attrlen
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5252,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5255,1
    - Dst: nla_get_u64
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5257,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5260,1
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5264,1
    - Dst: nl80211_get_event_bss
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5268,1
    - Dst: do_process_drv_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5275,1
    - Dst: nl80211_drv_in_list
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5288,1
    - Dst: nl80211_bss_in_drv
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5291,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5298,1
    - Dst: nl80211_command_to_string
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5300,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 45
    argCount: 2
    argNames:
    - msg
    - arg
    argTypes:
    - struct nl_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5304
      start: 5209
    functionDepth: 12
    functionLinenumber: 5209
    functionLinenumberEnd: 5304
    functionName: process_global_event
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - nl80211_command_to_string
    - nlmsg_hdr
    - wpa_printf
    - nla_get_u32
    - nl80211_bss_in_drv
    - nl80211_drv_in_list
    - nl80211_reply_hook
    - nla_parse
    - nlmsg_data
    - nla_get_u64
    - genlmsg_attrlen
    - genlmsg_attrdata
    - do_process_drv_event
    - nl80211_get_event_bss
    - dl_list_for_each_safe
    linkageType: ''
    returnType: int
    signature: int process_global_event(struct nl_msg *msg, void *arg)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: nlmsg_data
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5310,1
    - Dst: nlmsg_hdr
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5310,1
    - Dst: nl80211_reply_hook
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5314,1
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5319,1
    - Dst: genlmsg_attrdata
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5319,1
    - Dst: genlmsg_attrlen
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5320,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5322,1
    - Dst: nl80211_command_to_string
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5323,1
    - Dst: mlme_event
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5329,1
    - Dst: nl80211_spurious_frame
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5338,1
    - Dst: nl80211_spurious_frame
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5341,1
    - Dst: nl80211_external_auth
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5344,1
    - Dst: nl80211_control_port_frame
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5347,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_event.c:5350,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - msg
    - arg
    argTypes:
    - struct nl_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5356
      start: 5307
    functionDepth: 8
    functionLinenumber: 5307
    functionLinenumberEnd: 5356
    functionName: process_bss_event
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_event.c
    functionUses: 0
    functionsReached:
    - nl80211_command_to_string
    - nlmsg_hdr
    - wpa_printf
    - nl80211_control_port_frame
    - nl80211_reply_hook
    - nla_parse
    - nlmsg_data
    - mlme_event
    - genlmsg_attrlen
    - nl80211_spurious_frame
    - genlmsg_attrdata
    - nl80211_external_auth
    linkageType: ''
    returnType: int
    signature: int process_bss_event(struct nl_msg *msg, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nlmsg_alloc
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:106,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:108,1
    - Dst: genlmsg_put
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:112,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:113,1
    - Dst: NLA_PUT_U32
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:117,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - cmd
    - ctx
    - ifindex
    argTypes:
    - enum macsec_nl_commands
    - struct macsec_genl_ctx*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 124
    functionName: msg_prepare
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_linux.c
    functionUses: 0
    functionsReached:
    - genlmsg_put
    - wpa_printf
    - nlmsg_alloc
    - nlmsg_free
    - NLA_PUT_U32
    linkageType: ''
    returnType: struct nl_msg
    signature: "struct nl_msg * msg_prepare(enum macsec_nl_commands cmd,\n\t\t\t\t
      \  const struct macsec_genl_ctx *ctx,\n\t\t\t\t   unsigned int ifindex)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:129,1
    - Dst: NLA_PUT_U64
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:134,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - msg
    - sci
    argTypes:
    - struct nl_msg*
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 142
    functionName: nla_put_rxsc_config
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_linux.c
    functionUses: 0
    functionsReached:
    - nla_nest_end
    - nla_nest_start
    - NLA_PUT_U64
    linkageType: ''
    returnType: int
    signature: int nla_put_rxsc_config(struct nl_msg *msg, u64 sci)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nl_socket_alloc
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:149,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:151,1
    - Dst: genl_connect
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:155,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:156,1
    - Dst: genl_ctrl_resolve
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:161,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:163,1
    - Dst: memset
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:167,1
    - Dst: nl_socket_modify_cb
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:170,1
    - Dst: nl_socket_free
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:176,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 1
    argNames:
    - drv
    argTypes:
    - struct macsec_drv_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 179
    functionName: init_genl_ctx
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_linux.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - nl_socket_free
    - genl_ctrl_resolve
    - genl_connect
    - nl_socket_alloc
    - memset
    - nl_socket_modify_cb
    linkageType: ''
    returnType: int
    signature: int init_genl_ctx(struct macsec_drv_data *drv)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: rtnl_link_alloc
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:193,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:195,1
    - Dst: rtnl_link_set_name
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:201,1
    - Dst: rtnl_link_set_flags
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:204,1
    - Dst: rtnl_link_unset_flags
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:206,1
    - Dst: rtnl_link_change
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:208,1
    - Dst: rtnl_link_put
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:212,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:218,1
    - Dst: rtnl_link_macsec_set_protect
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:221,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:225,1
    - Dst: rtnl_link_macsec_set_encrypt
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:227,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:231,1
    - Dst: rtnl_link_macsec_set_replay_protect
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:235,1
    - Dst: rtnl_link_macsec_set_window
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:238,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:244,1
    - Dst: rtnl_link_macsec_set_offload
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:247,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:252,1
    - Dst: rtnl_link_macsec_set_encoding_sa
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:255,1
    - Dst: rtnl_link_add
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:258,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 1
    argNames:
    - drv
    argTypes:
    - struct macsec_drv_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 267
    functionName: try_commit
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_linux.c
    functionUses: 0
    functionsReached:
    - rtnl_link_unset_flags
    - wpa_printf
    - rtnl_link_alloc
    - rtnl_link_macsec_set_protect
    - rtnl_link_macsec_set_encrypt
    - rtnl_link_macsec_set_window
    - rtnl_link_change
    - rtnl_link_set_name
    - rtnl_link_add
    - rtnl_link_macsec_set_encoding_sa
    - rtnl_link_macsec_set_replay_protect
    - rtnl_link_put
    - rtnl_link_macsec_set_offload
    - rtnl_link_set_flags
    linkageType: ''
    returnType: int
    signature: int try_commit(struct macsec_drv_data *drv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: driver_wired_deinit_common
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:274,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 270
    functionDepth: 2
    functionLinenumber: 270
    functionLinenumberEnd: 276
    functionName: macsec_drv_wpa_deinit
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_linux.c
    functionUses: 0
    functionsReached:
    - driver_wired_deinit_common
    - os_free
    linkageType: ''
    returnType: void
    signature: void macsec_drv_wpa_deinit(void *priv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nl_socket_alloc
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:284,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:286,1
    - Dst: genl_connect
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:290,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:291,1
    - Dst: genl_ctrl_resolve
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:296,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:297,1
    - Dst: nl_socket_free
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:305,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 307
    functionName: macsec_check_macsec
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_linux.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - nl_socket_free
    - genl_ctrl_resolve
    - genl_connect
    - nl_socket_alloc
    linkageType: ''
    returnType: int
    signature: int macsec_check_macsec(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: macsec_check_macsec
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:314,1
    - Dst: os_zalloc
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:317,1
    - Dst: driver_wired_init_common
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:321,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:322,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - ifname
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 310
    functionDepth: 2
    functionLinenumber: 310
    functionLinenumberEnd: 327
    functionName: macsec_drv_wpa_init
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_linux.c
    functionUses: 0
    functionsReached:
    - os_free
    - os_zalloc
    - macsec_check_macsec
    - driver_wired_init_common
    linkageType: ''
    returnType: void
    signature: void * macsec_drv_wpa_init(void *ctx, const char *ifname)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:335,1
    - Dst: nl_socket_alloc
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:337,1
    - Dst: nl_connect
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:341,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:343,1
    - Dst: nl_geterror
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:345,1
    - Dst: rtnl_link_alloc_cache
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:349,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:351,1
    - Dst: nl_geterror
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:352,1
    - Dst: rtnl_link_name2i
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:356,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:358,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:363,1
    - Dst: init_genl_ctx
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:366,1
    - Dst: nl_cache_free
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:373,1
    - Dst: nl_socket_free
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:376,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 2
    argNames:
    - priv
    - params
    argTypes:
    - void*
    - struct macsec_init_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 379
    functionName: macsec_drv_macsec_init
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_linux.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - nl_socket_free
    - init_genl_ctx
    - nl_socket_alloc
    - nl_cache_free
    - nl_connect
    - rtnl_link_name2i
    - rtnl_link_alloc_cache
    - nl_geterror
    linkageType: ''
    returnType: int
    signature: int macsec_drv_macsec_init(void *priv, struct macsec_init_params *params)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:386,1
    - Dst: nl_socket_free
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:389,1
    - Dst: nl_cache_free
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:393,1
    - Dst: nl_socket_free
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:397,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 400
    functionName: macsec_drv_macsec_deinit
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_linux.c
    functionUses: 0
    functionsReached:
    - nl_cache_free
    - wpa_printf
    - nl_socket_free
    linkageType: ''
    returnType: int
    signature: int macsec_drv_macsec_deinit(void *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - priv
    - cap
    argTypes:
    - void*
    - enum macsec_cap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 410
    functionName: macsec_drv_get_capability
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_linux.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int macsec_drv_get_capability(void *priv, enum macsec_cap *cap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:424,1
    - Dst: try_commit
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - priv
    - enabled
    argTypes:
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 430
    functionName: macsec_drv_enable_protect_frames
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_linux.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - try_commit
    linkageType: ''
    returnType: int
    signature: int macsec_drv_enable_protect_frames(void *priv, bool enabled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:444,1
    - Dst: try_commit
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - priv
    - enabled
    argTypes:
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 440
    functionDepth: 1
    functionLinenumber: 440
    functionLinenumberEnd: 450
    functionName: macsec_drv_enable_encrypt
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_linux.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - try_commit
    linkageType: ''
    returnType: int
    signature: int macsec_drv_enable_encrypt(void *priv, bool enabled)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:466,1
    - Dst: try_commit
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - priv
    - enabled
    - window
    argTypes:
    - void*
    - bool
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 475
    functionName: macsec_drv_set_replay_protect
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_linux.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - try_commit
    linkageType: ''
    returnType: int
    signature: "int macsec_drv_set_replay_protect(void *priv, bool enabled,\n\t\t\t\t\t
      u32 window)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:491,1
    - Dst: try_commit
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:496,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:500,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - priv
    - offload
    argTypes:
    - void*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 505
    functionName: macsec_drv_set_offload
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_linux.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - try_commit
    linkageType: ''
    returnType: int
    signature: int macsec_drv_set_offload(void *priv, u8 offload)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:518,1
    - Dst: try_commit
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - priv
    - cs
    argTypes:
    - void*
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 524
    functionName: macsec_drv_set_current_cipher_suite
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_linux.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - try_commit
    linkageType: ''
    returnType: int
    signature: int macsec_drv_set_current_cipher_suite(void *priv, u64 cs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:538,1
    - Dst: try_commit
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - priv
    - enabled
    argTypes:
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 534
    functionDepth: 1
    functionLinenumber: 534
    functionLinenumberEnd: 544
    functionName: macsec_drv_enable_controlled_port
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_linux.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - try_commit
    linkageType: ''
    returnType: int
    signature: int macsec_drv_enable_controlled_port(void *priv, bool enabled)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: nlmsg_hdr
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:569,1
    - Dst: nlmsg_data
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:572,1
    - Dst: nla_parse
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:578,1
    - Dst: genlmsg_attrdata
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:578,1
    - Dst: genlmsg_attrlen
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:579,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:586,1
    - Dst: nla_parse_nested
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:598,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:604,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:608,1
    - Dst: nla_parse_nested
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:625,1
    - Dst: nla_get_u64
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:631,1
    - Dst: nla_parse_nested
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:640,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:647,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:653,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 57
    argCount: 2
    argNames:
    - msg
    - argp
    argTypes:
    - struct nl_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 665
    functionName: dump_callback
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_linux.c
    functionUses: 0
    functionsReached:
    - nlmsg_hdr
    - nla_get_u32
    - nla_parse_nested
    - nla_parse
    - nlmsg_data
    - nla_get_u64
    - genlmsg_attrlen
    - genlmsg_attrdata
    - nla_get_u8
    linkageType: ''
    returnType: int
    signature: int dump_callback(struct nl_msg *msg, void *argp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nla_parse_nested
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:598,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:604,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:608,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 610
    functionName: nla_for_each_nested
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_linux.c
    functionUses: 2
    functionsReached:
    - nla_get_u32
    - nla_get_u8
    - nla_parse_nested
    linkageType: ''
    returnType: void
    signature: void nla_for_each_nested(nla, tb_msg[MACSEC_ATTR_TXSA_LIST], rem)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: nla_parse_nested
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:625,1
    - Dst: nla_get_u64
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:631,1
    - Dst: nla_parse_nested
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:640,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:647,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:653,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 659
    functionName: nla_for_each_nested
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_linux.c
    functionUses: 2
    functionsReached:
    - nla_get_u32
    - nla_get_u8
    - nla_parse_nested
    - nla_get_u64
    linkageType: ''
    returnType: void
    signature: void nla_for_each_nested(nla, tb_msg[MACSEC_ATTR_RXSC_LIST], rem)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nla_parse_nested
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:640,1
    - Dst: nla_get_u8
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:647,1
    - Dst: nla_get_u32
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:653,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 656
    functionName: nla_for_each_nested
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_linux.c
    functionUses: 2
    functionsReached:
    - nla_get_u32
    - nla_get_u8
    - nla_parse_nested
    linkageType: ''
    returnType: void
    signature: "void nla_for_each_nested(nla, tb[MACSEC_RXSC_ATTR_SA_LIST],\n\t\t\t\t\t
      \   rem)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nl_send_auto_complete
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:672,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:674,1
    - Dst: nl_geterror
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:675,1
    - Dst: nl_recvmsgs_default
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:679,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:681,1
    - Dst: nl_geterror
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:682,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - sk
    - msg
    argTypes:
    - struct nl_sock*
    - struct nl_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 686
    functionName: nl_send_recv
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_linux.c
    functionUses: 0
    functionsReached:
    - nl_recvmsgs_default
    - nl_send_auto_complete
    - wpa_printf
    - nl_geterror
    linkageType: ''
    returnType: int
    signature: int nl_send_recv(struct nl_sock *sk, struct nl_msg *msg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nlmsg_alloc
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:702,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:704,1
    - Dst: genlmsg_put
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:709,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:711,1
    - Dst: nl_send_recv
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:716,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:718,1
    - Dst: nl_geterror
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:720,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:725,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 5
    argNames:
    - drv
    - txsa
    - rxsci
    - rxsa
    - pn
    argTypes:
    - struct macsec_drv_data*
    - u8
    - u64
    - u8
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 689
    functionDepth: 1
    functionLinenumber: 689
    functionLinenumberEnd: 727
    functionName: do_dump
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_linux.c
    functionUses: 0
    functionsReached:
    - genlmsg_put
    - wpa_printf
    - nl_send_recv
    - nlmsg_alloc
    - nlmsg_free
    - nl_geterror
    linkageType: ''
    returnType: int
    signature: "int do_dump(struct macsec_drv_data *drv, u8 txsa, u64 rxsci, u8 rxsa,\n\t\t
      \  u32 *pn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:741,1
    - Dst: do_dump
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:743,1
    - Dst: mka_sci_u64
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:743,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:745,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - priv
    - sa
    argTypes:
    - void*
    - struct receive_sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 736
    functionDepth: 2
    functionLinenumber: 736
    functionLinenumberEnd: 749
    functionName: macsec_drv_get_receive_lowest_pn
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_linux.c
    functionUses: 0
    functionsReached:
    - mka_sci_u64
    - wpa_printf
    - do_dump
    linkageType: ''
    returnType: int
    signature: int macsec_drv_get_receive_lowest_pn(void *priv, struct receive_sa
      *sa)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:766,1
    - Dst: msg_prepare
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:770,1
    - Dst: nla_put_rxsc_config
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:774,1
    - Dst: mka_sci_u64
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:774,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:777,1
    - Dst: NLA_PUT_U8
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:781,1
    - Dst: NLA_PUT_U32
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:782,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:784,1
    - Dst: nl_send_recv
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:786,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:788,1
    - Dst: nl_geterror
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:790,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:794,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - priv
    - sa
    argTypes:
    - void*
    - struct receive_sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 758
    functionDepth: 2
    functionLinenumber: 758
    functionLinenumberEnd: 796
    functionName: macsec_drv_set_receive_lowest_pn
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_linux.c
    functionUses: 0
    functionsReached:
    - nl_geterror
    - wpa_printf
    - mka_sci_u64
    - nla_put_rxsc_config
    - NLA_PUT_U8
    - nl_send_recv
    - nlmsg_free
    - nla_nest_end
    - nla_nest_start
    - NLA_PUT_U32
    - msg_prepare
    linkageType: ''
    returnType: int
    signature: int macsec_drv_set_receive_lowest_pn(void *priv, struct receive_sa
      *sa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:810,1
    - Dst: do_dump
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:812,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:813,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - priv
    - sa
    argTypes:
    - void*
    - struct transmit_sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 805
    functionDepth: 2
    functionLinenumber: 805
    functionLinenumberEnd: 816
    functionName: macsec_drv_get_transmit_next_pn
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_linux.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - do_dump
    linkageType: ''
    returnType: int
    signature: int macsec_drv_get_transmit_next_pn(void *priv, struct transmit_sa
      *sa)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:833,1
    - Dst: msg_prepare
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:835,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:839,1
    - Dst: NLA_PUT_U8
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:843,1
    - Dst: NLA_PUT_U32
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:844,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:846,1
    - Dst: nl_send_recv
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:848,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:850,1
    - Dst: nl_geterror
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:852,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:856,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - priv
    - sa
    argTypes:
    - void*
    - struct transmit_sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 825
    functionDepth: 1
    functionLinenumber: 825
    functionLinenumberEnd: 858
    functionName: macsec_drv_set_transmit_next_pn
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_linux.c
    functionUses: 0
    functionsReached:
    - nl_geterror
    - wpa_printf
    - NLA_PUT_U8
    - nl_send_recv
    - nlmsg_free
    - nla_nest_end
    - nla_nest_start
    - NLA_PUT_U32
    - msg_prepare
    linkageType: ''
    returnType: int
    signature: int macsec_drv_set_transmit_next_pn(void *priv, struct transmit_sa
      *sa)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - addr
    - ','
    - port
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 862
    functionDepth: 0
    functionLinenumber: 862
    functionLinenumberEnd: 863
    functionName: SCI2STR
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_linux.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCI2STR(addr, port)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:884,1
    - Dst: SCI2STR
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:886,1
    - Dst: msg_prepare
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:889,1
    - Dst: nla_put_rxsc_config
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:893,1
    - Dst: mka_sci_u64
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:893,1
    - Dst: nl_send_recv
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:896,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:898,1
    - Dst: nl_geterror
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:900,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:904,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - priv
    - sc
    - conf_offset
    - validation
    argTypes:
    - void*
    - struct receive_sc*
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 875
    functionDepth: 2
    functionLinenumber: 875
    functionLinenumberEnd: 906
    functionName: macsec_drv_create_receive_sc
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_linux.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - SCI2STR
    - mka_sci_u64
    - nla_put_rxsc_config
    - nl_send_recv
    - nlmsg_free
    - nl_geterror
    - msg_prepare
    linkageType: ''
    returnType: int
    signature: "int macsec_drv_create_receive_sc(void *priv, struct receive_sc *sc,\n\t\t\t\t\tunsigned
      int conf_offset,\n\t\t\t\t\tint validation)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:922,1
    - Dst: SCI2STR
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:923,1
    - Dst: msg_prepare
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:925,1
    - Dst: nla_put_rxsc_config
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:929,1
    - Dst: mka_sci_u64
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:929,1
    - Dst: nl_send_recv
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:932,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:934,1
    - Dst: nl_geterror
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:936,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:940,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - priv
    - sc
    argTypes:
    - void*
    - struct receive_sc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 915
    functionDepth: 2
    functionLinenumber: 915
    functionLinenumberEnd: 942
    functionName: macsec_drv_delete_receive_sc
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_linux.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - SCI2STR
    - mka_sci_u64
    - nla_put_rxsc_config
    - nl_send_recv
    - nlmsg_free
    - nl_geterror
    - msg_prepare
    linkageType: ''
    returnType: int
    signature: int macsec_drv_delete_receive_sc(void *priv, struct receive_sc *sc)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:959,1
    - Dst: SCI2STR
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:963,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:965,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:968,1
    - Dst: msg_prepare
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:971,1
    - Dst: nla_put_rxsc_config
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:975,1
    - Dst: mka_sci_u64
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:975,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:978,1
    - Dst: NLA_PUT_U8
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:982,1
    - Dst: NLA_PUT_U8
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:983,1
    - Dst: NLA_PUT_U32
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:984,1
    - Dst: NLA_PUT
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:985,1
    - Dst: NLA_PUT
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:987,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:989,1
    - Dst: nl_send_recv
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:991,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:993,1
    - Dst: nl_geterror
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:995,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:999,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 2
    argNames:
    - priv
    - sa
    argTypes:
    - void*
    - struct receive_sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 951
    functionDepth: 2
    functionLinenumber: 951
    functionLinenumberEnd: 1001
    functionName: macsec_drv_create_receive_sa
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_linux.c
    functionUses: 0
    functionsReached:
    - nla_nest_end
    - nl_geterror
    - wpa_printf
    - wpa_hexdump_key
    - SCI2STR
    - wpa_hexdump
    - mka_sci_u64
    - nla_put_rxsc_config
    - NLA_PUT_U8
    - nl_send_recv
    - nlmsg_free
    - NLA_PUT
    - nla_nest_start
    - NLA_PUT_U32
    - msg_prepare
    linkageType: ''
    returnType: int
    signature: int macsec_drv_create_receive_sa(void *priv, struct receive_sa *sa)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1018,1
    - Dst: SCI2STR
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1020,1
    - Dst: msg_prepare
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1022,1
    - Dst: nla_put_rxsc_config
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1026,1
    - Dst: mka_sci_u64
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1026,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1029,1
    - Dst: NLA_PUT_U8
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1033,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1035,1
    - Dst: nl_send_recv
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1037,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1039,1
    - Dst: nl_geterror
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1041,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1045,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - priv
    - sa
    argTypes:
    - void*
    - struct receive_sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1047
      start: 1010
    functionDepth: 2
    functionLinenumber: 1010
    functionLinenumberEnd: 1047
    functionName: macsec_drv_delete_receive_sa
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_linux.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - SCI2STR
    - mka_sci_u64
    - nla_put_rxsc_config
    - NLA_PUT_U8
    - nl_send_recv
    - nlmsg_free
    - nla_nest_end
    - nla_nest_start
    - nl_geterror
    - msg_prepare
    linkageType: ''
    returnType: int
    signature: int macsec_drv_delete_receive_sa(void *priv, struct receive_sa *sa)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_prepare
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1057,1
    - Dst: nla_put_rxsc_config
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1061,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1064,1
    - Dst: NLA_PUT_U8
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1068,1
    - Dst: NLA_PUT_U8
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1069,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1071,1
    - Dst: nl_send_recv
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1073,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1075,1
    - Dst: nl_geterror
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1077,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1080,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 5
    argNames:
    - ctx
    - ifindex
    - sci
    - an
    - state
    argTypes:
    - struct macsec_genl_ctx*
    - int
    - u64
    - unsigned char
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1050
    functionDepth: 2
    functionLinenumber: 1050
    functionLinenumberEnd: 1082
    functionName: set_active_rx_sa
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_linux.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - NLA_PUT_U8
    - nla_put_rxsc_config
    - nl_send_recv
    - nlmsg_free
    - nla_nest_end
    - nla_nest_start
    - nl_geterror
    - msg_prepare
    linkageType: ''
    returnType: int
    signature: "int set_active_rx_sa(const struct macsec_genl_ctx *ctx, int ifindex,\n\t\t\t
      \   u64 sci, unsigned char an, bool state)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1096,1
    - Dst: SCI2STR
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1098,1
    - Dst: set_active_rx_sa
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1100,1
    - Dst: mka_sci_u64
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - priv
    - sa
    argTypes:
    - void*
    - struct receive_sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 1091
    functionDepth: 3
    functionLinenumber: 1091
    functionLinenumberEnd: 1102
    functionName: macsec_drv_enable_receive_sa
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_linux.c
    functionUses: 0
    functionsReached:
    - mka_sci_u64
    - wpa_printf
    - set_active_rx_sa
    - SCI2STR
    linkageType: ''
    returnType: int
    signature: int macsec_drv_enable_receive_sa(void *priv, struct receive_sa *sa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1116,1
    - Dst: SCI2STR
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1118,1
    - Dst: set_active_rx_sa
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1120,1
    - Dst: mka_sci_u64
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - priv
    - sa
    argTypes:
    - void*
    - struct receive_sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1122
      start: 1111
    functionDepth: 3
    functionLinenumber: 1111
    functionLinenumberEnd: 1122
    functionName: macsec_drv_disable_receive_sa
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_linux.c
    functionUses: 0
    functionsReached:
    - mka_sci_u64
    - wpa_printf
    - set_active_rx_sa
    - SCI2STR
    linkageType: ''
    returnType: int
    signature: int macsec_drv_disable_receive_sa(void *priv, struct receive_sa *sa)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rtnl_link_macsec_alloc
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1131,1
    - Dst: rtnl_link_set_link
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1135,1
    - Dst: rtnl_link_macsec_set_sci
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1136,1
    - Dst: rtnl_link_macsec_set_cipher_suite
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1138,1
    - Dst: nl_cache_find
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1140,1
    - Dst: rtnl_link_put
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - cache
    - parent
    - sci
    - cs
    argTypes:
    - struct nl_cache*
    - int
    - u64
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1144
      start: 1125
    functionDepth: 0
    functionLinenumber: 1125
    functionLinenumberEnd: 1144
    functionName: lookup_sc
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_linux.c
    functionUses: 0
    functionsReached:
    - rtnl_link_macsec_alloc
    - rtnl_link_macsec_set_sci
    - rtnl_link_set_link
    - rtnl_link_macsec_set_cipher_suite
    - rtnl_link_put
    - nl_cache_find
    linkageType: ''
    returnType: struct rtnl_link
    signature: "struct rtnl_link * lookup_sc(struct nl_cache *cache, int parent, u64
      sci,\n\t\t\t\t    u64 cs)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1165,1
    - Dst: SCI2STR
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1167,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1171,1
    - Dst: rtnl_link_macsec_alloc
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1175,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1177,1
    - Dst: rtnl_link_set_link
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1181,1
    - Dst: mka_sci_u64
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1183,1
    - Dst: rtnl_link_macsec_set_sci
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1184,1
    - Dst: rtnl_link_macsec_set_cipher_suite
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1191,1
    - Dst: rtnl_link_add
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1194,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1196,1
    - Dst: rtnl_link_put
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1200,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1201,1
    - Dst: rtnl_link_put
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1207,1
    - Dst: nl_cache_refill
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1209,1
    - Dst: lookup_sc
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1210,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1212,1
    - Dst: rtnl_link_get_ifindex
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1216,1
    - Dst: rtnl_link_get_name
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1217,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1218,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1221,1
    - Dst: rtnl_link_put
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1222,1
    - Dst: rtnl_link_macsec_alloc
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1224,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1226,1
    - Dst: rtnl_link_set_name
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1231,1
    - Dst: try_commit
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1235,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 51
    argCount: 3
    argNames:
    - priv
    - sc
    - conf_offset
    argTypes:
    - void*
    - struct transmit_sc*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1236
      start: 1154
    functionDepth: 1
    functionLinenumber: 1154
    functionLinenumberEnd: 1236
    functionName: macsec_drv_create_transmit_sc
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_linux.c
    functionUses: 0
    functionsReached:
    - rtnl_link_macsec_alloc
    - wpa_printf
    - rtnl_link_set_link
    - rtnl_link_macsec_set_sci
    - rtnl_link_macsec_set_cipher_suite
    - rtnl_link_get_ifindex
    - mka_sci_u64
    - lookup_sc
    - os_strlcpy
    - try_commit
    - rtnl_link_set_name
    - rtnl_link_add
    - nl_cache_refill
    - rtnl_link_get_name
    - rtnl_link_put
    - SCI2STR
    linkageType: ''
    returnType: int
    signature: "int macsec_drv_create_transmit_sc(\n\tvoid *priv, struct transmit_sc
      *sc,\n\tunsigned int conf_offset)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1250,1
    - Dst: SCI2STR
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1251,1
    - Dst: rtnl_link_put
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1257,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1259,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1265,1
    - Dst: rtnl_link_delete
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1269,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1271,1
    - Dst: rtnl_link_put
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1272,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - priv
    - sc
    argTypes:
    - void*
    - struct transmit_sc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1276
      start: 1245
    functionDepth: 1
    functionLinenumber: 1245
    functionLinenumberEnd: 1276
    functionName: macsec_drv_delete_transmit_sc
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_linux.c
    functionUses: 0
    functionsReached:
    - rtnl_link_delete
    - wpa_printf
    - SCI2STR
    - rtnl_link_put
    linkageType: ''
    returnType: int
    signature: int macsec_drv_delete_transmit_sc(void *priv, struct transmit_sc *sc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1293,1
    - Dst: SCI2STR
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1296,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1298,1
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1301,1
    - Dst: msg_prepare
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1304,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1308,1
    - Dst: NLA_PUT_U8
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1312,1
    - Dst: NLA_PUT_U32
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1313,1
    - Dst: NLA_PUT
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1314,1
    - Dst: NLA_PUT
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1316,1
    - Dst: NLA_PUT_U8
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1317,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1319,1
    - Dst: nl_send_recv
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1321,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1323,1
    - Dst: nl_geterror
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1325,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1329,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - priv
    - sa
    argTypes:
    - void*
    - struct transmit_sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1331
      start: 1285
    functionDepth: 1
    functionLinenumber: 1285
    functionLinenumberEnd: 1331
    functionName: macsec_drv_create_transmit_sa
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_linux.c
    functionUses: 0
    functionsReached:
    - nla_nest_end
    - nl_geterror
    - wpa_printf
    - wpa_hexdump_key
    - SCI2STR
    - wpa_hexdump
    - NLA_PUT_U8
    - nl_send_recv
    - nlmsg_free
    - NLA_PUT
    - nla_nest_start
    - NLA_PUT_U32
    - msg_prepare
    linkageType: ''
    returnType: int
    signature: int macsec_drv_create_transmit_sa(void *priv, struct transmit_sa *sa)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1348,1
    - Dst: SCI2STR
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1350,1
    - Dst: msg_prepare
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1352,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1356,1
    - Dst: NLA_PUT_U8
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1360,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1362,1
    - Dst: nl_send_recv
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1364,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1366,1
    - Dst: nl_geterror
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1368,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1372,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - priv
    - sa
    argTypes:
    - void*
    - struct transmit_sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1374
      start: 1340
    functionDepth: 1
    functionLinenumber: 1340
    functionLinenumberEnd: 1374
    functionName: macsec_drv_delete_transmit_sa
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_linux.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - SCI2STR
    - NLA_PUT_U8
    - nl_send_recv
    - nlmsg_free
    - nla_nest_end
    - nla_nest_start
    - nl_geterror
    - msg_prepare
    linkageType: ''
    returnType: int
    signature: int macsec_drv_delete_transmit_sa(void *priv, struct transmit_sa *sa)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_prepare
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1384,1
    - Dst: nla_nest_start
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1388,1
    - Dst: NLA_PUT_U8
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1392,1
    - Dst: NLA_PUT_U8
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1393,1
    - Dst: nla_nest_end
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1395,1
    - Dst: nl_send_recv
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1397,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1399,1
    - Dst: nl_geterror
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1401,1
    - Dst: nlmsg_free
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1405,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - ctx
    - ifindex
    - an
    - state
    argTypes:
    - struct macsec_genl_ctx*
    - int
    - unsigned char
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1407
      start: 1377
    functionDepth: 1
    functionLinenumber: 1377
    functionLinenumberEnd: 1407
    functionName: set_active_tx_sa
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_linux.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - NLA_PUT_U8
    - nl_send_recv
    - nlmsg_free
    - nla_nest_end
    - nla_nest_start
    - nl_geterror
    - msg_prepare
    linkageType: ''
    returnType: int
    signature: "int set_active_tx_sa(const struct macsec_genl_ctx *ctx, int ifindex,\n\t\t\t
      \   unsigned char an, bool state)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1422,1
    - Dst: SCI2STR
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1424,1
    - Dst: set_active_tx_sa
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1426,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1428,1
    - Dst: try_commit
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1435,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - priv
    - sa
    argTypes:
    - void*
    - struct transmit_sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1436
      start: 1416
    functionDepth: 2
    functionLinenumber: 1416
    functionLinenumberEnd: 1436
    functionName: macsec_drv_enable_transmit_sa
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_linux.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - set_active_tx_sa
    - SCI2STR
    - try_commit
    linkageType: ''
    returnType: int
    signature: int macsec_drv_enable_transmit_sa(void *priv, struct transmit_sa *sa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1450,1
    - Dst: SCI2STR
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1452,1
    - Dst: set_active_tx_sa
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - priv
    - sa
    argTypes:
    - void*
    - struct transmit_sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1455
      start: 1445
    functionDepth: 2
    functionLinenumber: 1445
    functionLinenumberEnd: 1455
    functionName: macsec_drv_disable_transmit_sa
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_linux.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - set_active_tx_sa
    - SCI2STR
    linkageType: ''
    returnType: int
    signature: int macsec_drv_disable_transmit_sa(void *priv, struct transmit_sa *sa)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1467,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - priv
    - buf
    - buflen
    argTypes:
    - void*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1479
      start: 1458
    functionDepth: 1
    functionLinenumber: 1458
    functionLinenumberEnd: 1479
    functionName: macsec_drv_status
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_linux.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: int macsec_drv_status(void *priv, char *buf, size_t buflen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1495,1
    - Dst: ntohs
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1502,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1504,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1506,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1508,1
    - Dst: drv_event_eapol_rx
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1512,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1516,1
    - Dst: ntohs
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1517,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - ctx
    - buf
    - len
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1521
      start: 1484
    functionDepth: 1
    functionLinenumber: 1484
    functionLinenumberEnd: 1521
    functionName: macsec_drv_handle_data
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_linux.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - wpa_printf
    - ntohs
    - drv_event_eapol_rx
    - os_memset
    linkageType: ''
    returnType: void
    signature: void macsec_drv_handle_data(void *ctx, unsigned char *buf, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: recv
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1529,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1531,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1532,1
    - Dst: macsec_drv_handle_data
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - sock
    - eloop_ctx
    - sock_ctx
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1537
      start: 1524
    functionDepth: 2
    functionLinenumber: 1524
    functionLinenumberEnd: 1537
    functionName: macsec_drv_handle_read
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_linux.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - recv
    - strerror
    - macsec_drv_handle_data
    linkageType: ''
    returnType: void
    signature: void macsec_drv_handle_read(int sock, void *eloop_ctx, void *sock_ctx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1548,1
    - Dst: htons
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1548,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1550,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1551,1
    - Dst: eloop_register_read_sock
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1555,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1557,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1561,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1562,1
    - Dst: ioctl
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1563,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1564,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1565,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1569,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1572,1
    - Dst: bind
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1575,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1577,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1577,1
    - Dst: wired_multicast_membership
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1582,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1584,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1589,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1590,1
    - Dst: ioctl
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1591,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1592,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1593,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1598,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1602,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 41
    argCount: 2
    argNames:
    - drv
    - own_addr
    argTypes:
    - struct macsec_drv_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1608
      start: 1542
    functionDepth: 1
    functionLinenumber: 1542
    functionLinenumberEnd: 1608
    functionName: macsec_drv_init_sockets
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_linux.c
    functionUses: 0
    functionsReached:
    - ioctl
    - wpa_printf
    - os_memcpy
    - strerror
    - eloop_register_read_sock
    - socket
    - os_strlcpy
    - wired_multicast_membership
    - bind
    - htons
    - os_memset
    linkageType: ''
    returnType: int
    signature: int macsec_drv_init_sockets(struct macsec_drv_data *drv, u8 *own_addr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1616,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1618,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1624,1
    - Dst: macsec_drv_init_sockets
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1628,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1629,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - hapd
    - params
    argTypes:
    - struct hostapd_data*
    - struct wpa_init_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1634
      start: 1611
    functionDepth: 2
    functionLinenumber: 1611
    functionLinenumberEnd: 1634
    functionName: macsec_drv_hapd_init
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_linux.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_strlcpy
    - macsec_drv_init_sockets
    - os_zalloc
    - os_free
    linkageType: ''
    returnType: void
    signature: "void * macsec_drv_hapd_init(struct hostapd_data *hapd,\n\t\t\t\t   struct
      wpa_init_params *params)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eloop_unregister_read_sock
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1642,1
    - Dst: close
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1643,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1646,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1647
      start: 1637
    functionDepth: 0
    functionLinenumber: 1637
    functionLinenumberEnd: 1647
    functionName: macsec_drv_hapd_deinit
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_linux.c
    functionUses: 0
    functionsReached:
    - os_free
    - eloop_unregister_read_sock
    - close
    linkageType: ''
    returnType: void
    signature: void macsec_drv_hapd_deinit(void *priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1661,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1663,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1669,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1671,1
    - Dst: htons
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1672,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1675,1
    - Dst: send
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1677,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1678,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1681,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_macsec_linux.c:1683,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 8
    argNames:
    - priv
    - addr
    - data
    - data_len
    - encrypt
    - own_addr
    - flags
    - link_id
    argTypes:
    - void*
    - u8*
    - u8*
    - size_t
    - int
    - u8*
    - u32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1687
      start: 1650
    functionDepth: 0
    functionLinenumber: 1650
    functionLinenumberEnd: 1687
    functionName: macsec_drv_send_eapol
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_linux.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - send
    - strerror
    - os_zalloc
    - os_free
    - htons
    linkageType: ''
    returnType: int
    signature: "int macsec_drv_send_eapol(void *priv, const u8 *addr,\n\t\t\t\t const
      u8 *data, size_t data_len, int encrypt,\n\t\t\t\t const u8 *own_addr, u32 flags,
      int link_id)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:91,1
    - Dst: nss_macsec_secy_en_set
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:94,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:96,1
    - Dst: nss_macsec_secy_sc_sa_mapping_mode_set
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:98,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:101,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:104,1
    - Dst: nss_macsec_secy_rx_ctl_filt_set
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:109,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:111,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:113,1
    - Dst: nss_macsec_secy_tx_ctl_filt_set
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:118,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:120,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - drv
    argTypes:
    - struct macsec_qca_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 121
    functionName: __macsec_drv_init
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_qca.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - nss_macsec_secy_en_set
    - nss_macsec_secy_sc_sa_mapping_mode_set
    - nss_macsec_secy_tx_ctl_filt_set
    - nss_macsec_secy_rx_ctl_filt_set
    - os_memset
    linkageType: ''
    returnType: void
    signature: void __macsec_drv_init(struct macsec_qca_data *drv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nss_macsec_secy_en_set
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:126,1
    - Dst: nss_macsec_secy_rx_sc_del_all
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:127,1
    - Dst: nss_macsec_secy_tx_sc_del_all
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - drv
    argTypes:
    - struct macsec_qca_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 129
    functionName: __macsec_drv_deinit
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_qca.c
    functionUses: 0
    functionsReached:
    - nss_macsec_secy_rx_sc_del_all
    - nss_macsec_secy_tx_sc_del_all
    - nss_macsec_secy_en_set
    linkageType: ''
    returnType: void
    signature: void __macsec_drv_deinit(struct macsec_qca_data *drv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:146,1
    - Dst: ntohs
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:153,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:155,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:157,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:159,1
    - Dst: drv_event_eapol_rx
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:163,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:166,1
    - Dst: ntohs
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:167,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - ctx
    - buf
    - len
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 171
    functionName: macsec_qca_handle_data
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_qca.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - wpa_printf
    - ntohs
    - drv_event_eapol_rx
    - os_memset
    linkageType: ''
    returnType: void
    signature: void macsec_qca_handle_data(void *ctx, unsigned char *buf, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: recv
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:179,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:181,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:181,1
    - Dst: macsec_qca_handle_data
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - sock
    - eloop_ctx
    - sock_ctx
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 186
    functionName: macsec_qca_handle_read
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_qca.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - macsec_qca_handle_data
    - recv
    - strerror
    linkageType: ''
    returnType: void
    signature: void macsec_qca_handle_read(int sock, void *eloop_ctx, void *sock_ctx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:197,1
    - Dst: htons
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:197,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:199,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:200,1
    - Dst: eloop_register_read_sock
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:204,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:206,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:210,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:211,1
    - Dst: ioctl
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:212,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:213,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:214,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:218,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:221,1
    - Dst: bind
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:224,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:226,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:226,1
    - Dst: wired_multicast_membership
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:231,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:233,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:238,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:239,1
    - Dst: ioctl
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:240,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:241,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:242,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:247,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:251,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 41
    argCount: 2
    argNames:
    - drv
    - own_addr
    argTypes:
    - struct macsec_qca_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 257
    functionName: macsec_qca_init_sockets
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_qca.c
    functionUses: 0
    functionsReached:
    - ioctl
    - wpa_printf
    - os_memcpy
    - strerror
    - eloop_register_read_sock
    - socket
    - os_strlcpy
    - wired_multicast_membership
    - bind
    - htons
    - os_memset
    linkageType: ''
    returnType: int
    signature: int macsec_qca_init_sockets(struct macsec_qca_data *drv, u8 *own_addr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nss_macsec_secy_id_get
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:264,1
    - Dst: os_strcmp
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:267,1
    - Dst: os_strcmp
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:269,1
    - Dst: os_strcmp
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:271,1
    - Dst: os_strcmp
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:272,1
    - Dst: os_strcmp
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:274,1
    - Dst: os_strcmp
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:275,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - ifname
    - secy_id
    argTypes:
    - char*
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 284
    functionName: macsec_qca_secy_id_get
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_qca.c
    functionUses: 0
    functionsReached:
    - os_strcmp
    - nss_macsec_secy_id_get
    linkageType: ''
    returnType: int
    signature: int macsec_qca_secy_id_get(const char *ifname, u32 *secy_id)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:291,1
    - Dst: macsec_qca_secy_id_get
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:295,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:296,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:298,1
    - Dst: driver_wired_init_common
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:302,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:303,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ctx
    - ifname
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 287
    functionDepth: 2
    functionLinenumber: 287
    functionLinenumberEnd: 308
    functionName: macsec_qca_init
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_qca.c
    functionUses: 0
    functionsReached:
    - macsec_qca_secy_id_get
    - wpa_printf
    - os_zalloc
    - os_free
    - driver_wired_init_common
    linkageType: ''
    returnType: void
    signature: void * macsec_qca_init(void *ctx, const char *ifname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: driver_wired_deinit_common
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:315,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 311
    functionDepth: 2
    functionLinenumber: 311
    functionLinenumberEnd: 317
    functionName: macsec_qca_deinit
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_qca.c
    functionUses: 0
    functionsReached:
    - driver_wired_deinit_common
    - os_free
    linkageType: ''
    returnType: void
    signature: void macsec_qca_deinit(void *priv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:325,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:327,1
    - Dst: macsec_qca_secy_id_get
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:332,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:333,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:336,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:341,1
    - Dst: macsec_qca_init_sockets
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:345,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:346,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - hapd
    - params
    argTypes:
    - struct hostapd_data*
    - struct wpa_init_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 320
    functionDepth: 2
    functionLinenumber: 320
    functionLinenumberEnd: 351
    functionName: macsec_qca_hapd_init
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_qca.c
    functionUses: 0
    functionsReached:
    - macsec_qca_secy_id_get
    - wpa_printf
    - macsec_qca_init_sockets
    - os_strlcpy
    - os_zalloc
    - os_free
    linkageType: ''
    returnType: void
    signature: "void * macsec_qca_hapd_init(struct hostapd_data *hapd,\n\t\t\t\t   struct
      wpa_init_params *params)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eloop_unregister_read_sock
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:359,1
    - Dst: close
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:360,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:363,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 364
    functionName: macsec_qca_hapd_deinit
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_qca.c
    functionUses: 0
    functionsReached:
    - os_free
    - eloop_unregister_read_sock
    - close
    linkageType: ''
    returnType: void
    signature: void macsec_qca_hapd_deinit(void *priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:378,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:380,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:386,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:388,1
    - Dst: htons
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:389,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:392,1
    - Dst: send
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:394,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:395,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:398,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:400,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 8
    argNames:
    - priv
    - addr
    - data
    - data_len
    - encrypt
    - own_addr
    - flags
    - link_id
    argTypes:
    - void*
    - u8*
    - u8*
    - size_t
    - int
    - u8*
    - u32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 404
    functionName: macsec_qca_send_eapol
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_qca.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - send
    - strerror
    - os_zalloc
    - os_free
    - htons
    linkageType: ''
    returnType: int
    signature: "int macsec_qca_send_eapol(void *priv, const u8 *addr,\n\t\t\t\t const
      u8 *data, size_t data_len, int encrypt,\n\t\t\t\t const u8 *own_addr, u32 flags,
      int link_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:415,1
    - Dst: __macsec_drv_init
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - priv
    - params
    argTypes:
    - void*
    - struct macsec_init_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 422
    functionName: macsec_qca_macsec_init
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_qca.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - __macsec_drv_init
    linkageType: ''
    returnType: int
    signature: int macsec_qca_macsec_init(void *priv, struct macsec_init_params *params)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:429,1
    - Dst: __macsec_drv_deinit
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 434
    functionName: macsec_qca_macsec_deinit
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_qca.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - __macsec_drv_deinit
    linkageType: ''
    returnType: int
    signature: int macsec_qca_macsec_deinit(void *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - priv
    - cap
    argTypes:
    - void*
    - enum macsec_cap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 444
    functionName: macsec_qca_get_capability
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_qca.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int macsec_qca_get_capability(void *priv, enum macsec_cap *cap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - priv
    - enabled
    argTypes:
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 457
    functionName: macsec_qca_enable_protect_frames
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_qca.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int macsec_qca_enable_protect_frames(void *priv, bool enabled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - priv
    - enabled
    - window
    argTypes:
    - void*
    - bool
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 473
    functionName: macsec_qca_set_replay_protect
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_qca.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: "int macsec_qca_set_replay_protect(void *priv, bool enabled,\n\t\t\t\t\t
      unsigned int window)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - cs
    argTypes:
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 483
    functionName: macsec_qca_cs_type_get
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_qca.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: fal_cipher_suite_e
    signature: fal_cipher_suite_e macsec_qca_cs_type_get(u64 cs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:492,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:498,1
    - Dst: macsec_qca_cs_type_get
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:500,1
    - Dst: nss_macsec_secy_cipher_suite_set
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:501,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - priv
    - cs
    argTypes:
    - void*
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 502
    functionName: macsec_qca_set_current_cipher_suite
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_qca.c
    functionUses: 0
    functionsReached:
    - macsec_qca_cs_type_get
    - wpa_printf
    - nss_macsec_secy_cipher_suite_set
    linkageType: ''
    returnType: int
    signature: int macsec_qca_set_current_cipher_suite(void *priv, u64 cs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:510,1
    - Dst: nss_macsec_secy_controlled_port_en_set
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - priv
    - enabled
    argTypes:
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 515
    functionName: macsec_qca_enable_controlled_port
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_qca.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - nss_macsec_secy_controlled_port_en_set
    linkageType: ''
    returnType: int
    signature: int macsec_qca_enable_controlled_port(void *priv, bool enabled)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:525,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - map
    - sci
    - channel
    argTypes:
    - struct channel_map*
    - struct ieee802_1x_mka_sci*
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 533
    functionName: macsec_qca_lookup_channel
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_qca.c
    functionUses: 0
    functionsReached:
    - os_memcmp
    linkageType: ''
    returnType: int
    signature: "int macsec_qca_lookup_channel(struct channel_map *map,\n\t\t\t\t     struct
      ieee802_1x_mka_sci *sci,\n\t\t\t\t     u32 *channel)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - map
    - sci
    - channel
    argTypes:
    - struct channel_map*
    - struct ieee802_1x_mka_sci*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 541
    functionName: macsec_qca_register_channel
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_qca.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    linkageType: ''
    returnType: void
    signature: "void macsec_qca_register_channel(struct channel_map *map,\n\t\t\t\t\tstruct
      ieee802_1x_mka_sci *sci,\n\t\t\t\t\tu32 channel)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: macsec_qca_lookup_channel
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - drv
    - sc
    - channel
    argTypes:
    - struct macsec_qca_data*
    - struct receive_sc*
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 544
    functionDepth: 1
    functionLinenumber: 544
    functionLinenumberEnd: 550
    functionName: macsec_qca_lookup_receive_channel
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_qca.c
    functionUses: 0
    functionsReached:
    - macsec_qca_lookup_channel
    linkageType: ''
    returnType: int
    signature: "int macsec_qca_lookup_receive_channel(struct macsec_qca_data *drv,\n\t\t\t\t\t
      \    struct receive_sc *sc,\n\t\t\t\t\t     u32 *channel)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: macsec_qca_register_channel
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - drv
    - sc
    - channel
    argTypes:
    - struct macsec_qca_data*
    - struct receive_sc*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 553
    functionDepth: 1
    functionLinenumber: 553
    functionLinenumberEnd: 559
    functionName: macsec_qca_register_receive_channel
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_qca.c
    functionUses: 0
    functionsReached:
    - macsec_qca_register_channel
    linkageType: ''
    returnType: void
    signature: "void macsec_qca_register_receive_channel(struct macsec_qca_data *drv,\n\t\t\t\t\t\tstruct
      receive_sc *sc,\n\t\t\t\t\t\tu32 channel)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: macsec_qca_lookup_channel
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - drv
    - sc
    - channel
    argTypes:
    - struct macsec_qca_data*
    - struct transmit_sc*
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 568
    functionName: macsec_qca_lookup_transmit_channel
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_qca.c
    functionUses: 0
    functionsReached:
    - macsec_qca_lookup_channel
    linkageType: ''
    returnType: int
    signature: "int macsec_qca_lookup_transmit_channel(struct macsec_qca_data *drv,\n\t\t\t\t\t
      \     struct transmit_sc *sc,\n\t\t\t\t\t      u32 *channel)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: macsec_qca_register_channel
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - drv
    - sc
    - channel
    argTypes:
    - struct macsec_qca_data*
    - struct transmit_sc*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 571
    functionDepth: 1
    functionLinenumber: 571
    functionLinenumberEnd: 577
    functionName: macsec_qca_register_transmit_channel
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_qca.c
    functionUses: 0
    functionsReached:
    - macsec_qca_register_channel
    linkageType: ''
    returnType: void
    signature: "void macsec_qca_register_transmit_channel(struct macsec_qca_data *drv,\n\t\t\t\t\t\t
      struct transmit_sc *sc,\n\t\t\t\t\t\t u32 channel)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: macsec_qca_lookup_receive_channel
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:589,1
    - Dst: nss_macsec_secy_rx_sa_next_pn_get
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:593,1
    - Dst: nss_macsec_secy_rx_sc_replay_protect_get
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:595,1
    - Dst: nss_macsec_secy_rx_sc_anti_replay_window_get
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:597,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:605,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - priv
    - sa
    argTypes:
    - void*
    - struct receive_sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 580
    functionDepth: 2
    functionLinenumber: 580
    functionLinenumberEnd: 608
    functionName: macsec_qca_get_receive_lowest_pn
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_qca.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - macsec_qca_lookup_receive_channel
    - nss_macsec_secy_rx_sa_next_pn_get
    - nss_macsec_secy_rx_sc_replay_protect_get
    - nss_macsec_secy_rx_sc_anti_replay_window_get
    linkageType: ''
    returnType: int
    signature: int macsec_qca_get_receive_lowest_pn(void *priv, struct receive_sa
      *sa)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: macsec_qca_lookup_transmit_channel
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:617,1
    - Dst: nss_macsec_secy_tx_sa_next_pn_get
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:621,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:624,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - priv
    - sa
    argTypes:
    - void*
    - struct transmit_sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 611
    functionDepth: 2
    functionLinenumber: 611
    functionLinenumberEnd: 627
    functionName: macsec_qca_get_transmit_next_pn
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_qca.c
    functionUses: 0
    functionsReached:
    - nss_macsec_secy_tx_sa_next_pn_get
    - wpa_printf
    - macsec_qca_lookup_transmit_channel
    linkageType: ''
    returnType: int
    signature: int macsec_qca_get_transmit_next_pn(void *priv, struct transmit_sa
      *sa)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: macsec_qca_lookup_transmit_channel
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:636,1
    - Dst: nss_macsec_secy_tx_sa_next_pn_set
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:640,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:643,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - priv
    - sa
    argTypes:
    - void*
    - struct transmit_sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 630
    functionDepth: 2
    functionLinenumber: 630
    functionLinenumberEnd: 646
    functionName: macsec_qca_set_transmit_next_pn
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_qca.c
    functionUses: 0
    functionsReached:
    - nss_macsec_secy_tx_sa_next_pn_set
    - wpa_printf
    - macsec_qca_lookup_transmit_channel
    linkageType: ''
    returnType: int
    signature: int macsec_qca_set_transmit_next_pn(void *priv, struct transmit_sa
      *sa)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nss_macsec_secy_rx_sc_in_used_get
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:657,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:664,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:670,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - priv
    - channel
    argTypes:
    - void*
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 673
    functionName: macsec_qca_get_available_receive_sc
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_qca.c
    functionUses: 0
    functionsReached:
    - nss_macsec_secy_rx_sc_in_used_get
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int macsec_qca_get_available_receive_sc(void *priv, u32 *channel)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: be_to_host16
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:687,1
    - Dst: macsec_qca_get_available_receive_sc
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:689,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:693,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:696,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:698,1
    - Dst: nss_macsec_secy_rx_prc_lut_set
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:716,1
    - Dst: nss_macsec_secy_rx_sc_create
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:717,1
    - Dst: nss_macsec_secy_rx_sc_validate_frame_set
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:718,1
    - Dst: nss_macsec_secy_rx_sc_replay_protect_set
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:720,1
    - Dst: nss_macsec_secy_rx_sc_anti_replay_window_set
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:722,1
    - Dst: macsec_qca_register_receive_channel
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:726,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 4
    argNames:
    - priv
    - sc
    - conf_offset
    - validation
    argTypes:
    - void*
    - struct receive_sc*
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 676
    functionDepth: 2
    functionLinenumber: 676
    functionLinenumberEnd: 729
    functionName: macsec_qca_create_receive_sc
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_qca.c
    functionUses: 0
    functionsReached:
    - be_to_host16
    - wpa_printf
    - os_memcpy
    - nss_macsec_secy_rx_sc_anti_replay_window_set
    - macsec_qca_register_receive_channel
    - macsec_qca_get_available_receive_sc
    - nss_macsec_secy_rx_sc_replay_protect_set
    - nss_macsec_secy_rx_sc_create
    - nss_macsec_secy_rx_prc_lut_set
    - nss_macsec_secy_rx_sc_validate_frame_set
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int macsec_qca_create_receive_sc(void *priv, struct receive_sc *sc,\n\t\t\t\t\tunsigned
      int conf_offset,\n\t\t\t\t\tint validation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: macsec_qca_lookup_receive_channel
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:739,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:743,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:746,1
    - Dst: nss_macsec_secy_rx_sc_del
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:748,1
    - Dst: nss_macsec_secy_rx_prc_lut_set
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:749,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - priv
    - sc
    argTypes:
    - void*
    - struct receive_sc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 732
    functionDepth: 2
    functionLinenumber: 732
    functionLinenumberEnd: 752
    functionName: macsec_qca_delete_receive_sc
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_qca.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - macsec_qca_lookup_receive_channel
    - nss_macsec_secy_rx_sc_del
    - nss_macsec_secy_rx_prc_lut_set
    - os_memset
    linkageType: ''
    returnType: int
    signature: int macsec_qca_delete_receive_sc(void *priv, struct receive_sc *sc)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: macsec_qca_lookup_receive_channel
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:765,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:769,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:772,1
    - Dst: nss_macsec_secy_rx_prc_lut_get
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:794,1
    - Dst: nss_macsec_secy_rx_prc_lut_set
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:796,1
    - Dst: nss_macsec_secy_rx_sa_create
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:797,1
    - Dst: nss_macsec_secy_rx_sak_set
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:798,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 2
    argNames:
    - priv
    - sa
    argTypes:
    - void*
    - struct receive_sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 755
    functionDepth: 2
    functionLinenumber: 755
    functionLinenumberEnd: 802
    functionName: macsec_qca_create_receive_sa
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_qca.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - macsec_qca_lookup_receive_channel
    - nss_macsec_secy_rx_sak_set
    - nss_macsec_secy_rx_prc_lut_get
    - nss_macsec_secy_rx_prc_lut_set
    - nss_macsec_secy_rx_sa_create
    - os_memset
    linkageType: ''
    returnType: int
    signature: int macsec_qca_create_receive_sa(void *priv, struct receive_sa *sa)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: macsec_qca_lookup_receive_channel
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:811,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:815,1
    - Dst: nss_macsec_secy_rx_sa_en_set
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:818,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - priv
    - sa
    argTypes:
    - void*
    - struct receive_sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 805
    functionDepth: 2
    functionLinenumber: 805
    functionLinenumberEnd: 822
    functionName: macsec_qca_enable_receive_sa
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_qca.c
    functionUses: 0
    functionsReached:
    - nss_macsec_secy_rx_sa_en_set
    - wpa_printf
    - macsec_qca_lookup_receive_channel
    linkageType: ''
    returnType: int
    signature: int macsec_qca_enable_receive_sa(void *priv, struct receive_sa *sa)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: macsec_qca_lookup_receive_channel
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:831,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:835,1
    - Dst: nss_macsec_secy_rx_sa_en_set
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:838,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - priv
    - sa
    argTypes:
    - void*
    - struct receive_sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 825
    functionDepth: 2
    functionLinenumber: 825
    functionLinenumberEnd: 842
    functionName: macsec_qca_disable_receive_sa
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_qca.c
    functionUses: 0
    functionsReached:
    - nss_macsec_secy_rx_sa_en_set
    - wpa_printf
    - macsec_qca_lookup_receive_channel
    linkageType: ''
    returnType: int
    signature: int macsec_qca_disable_receive_sa(void *priv, struct receive_sa *sa)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nss_macsec_secy_tx_sc_in_used_get
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:852,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:858,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:864,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - priv
    - channel
    argTypes:
    - void*
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 845
    functionDepth: 0
    functionLinenumber: 845
    functionLinenumberEnd: 867
    functionName: macsec_qca_get_available_transmit_sc
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_qca.c
    functionUses: 0
    functionsReached:
    - nss_macsec_secy_tx_sc_in_used_get
    - wpa_printf
    linkageType: ''
    returnType: int
    signature: int macsec_qca_get_available_transmit_sc(void *priv, u32 *channel)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: be_to_host16
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:878,1
    - Dst: macsec_qca_get_available_transmit_sc
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:880,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:884,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:887,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:893,1
    - Dst: nss_macsec_secy_tx_class_lut_set
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:897,1
    - Dst: nss_macsec_secy_tx_sc_create
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:898,1
    - Dst: nss_macsec_secy_tx_sc_protect_set
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:899,1
    - Dst: nss_macsec_secy_tx_sc_confidentiality_offset_set
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:901,1
    - Dst: macsec_qca_register_transmit_channel
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:905,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 3
    argNames:
    - priv
    - sc
    - conf_offset
    argTypes:
    - void*
    - struct transmit_sc*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 870
    functionDepth: 2
    functionLinenumber: 870
    functionLinenumberEnd: 908
    functionName: macsec_qca_create_transmit_sc
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_qca.c
    functionUses: 0
    functionsReached:
    - be_to_host16
    - wpa_printf
    - os_memcpy
    - nss_macsec_secy_tx_sc_create
    - nss_macsec_secy_tx_sc_protect_set
    - nss_macsec_secy_tx_sc_confidentiality_offset_set
    - nss_macsec_secy_tx_class_lut_set
    - macsec_qca_get_available_transmit_sc
    - macsec_qca_register_transmit_channel
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int macsec_qca_create_transmit_sc(void *priv, struct transmit_sc *sc,\n\t\t\t\t\t
      unsigned int conf_offset)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: macsec_qca_lookup_transmit_channel
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:918,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:922,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:925,1
    - Dst: nss_macsec_secy_tx_class_lut_set
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:927,1
    - Dst: nss_macsec_secy_tx_sc_del
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:928,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - priv
    - sc
    argTypes:
    - void*
    - struct transmit_sc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 911
    functionDepth: 2
    functionLinenumber: 911
    functionLinenumberEnd: 931
    functionName: macsec_qca_delete_transmit_sc
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_qca.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - nss_macsec_secy_tx_class_lut_set
    - macsec_qca_lookup_transmit_channel
    - nss_macsec_secy_tx_sc_del
    - os_memset
    linkageType: ''
    returnType: int
    signature: int macsec_qca_delete_transmit_sc(void *priv, struct transmit_sc *sc)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: macsec_qca_lookup_transmit_channel
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:944,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:948,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:962,1
    - Dst: nss_macsec_secy_tx_sc_confidentiality_offset_set
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:984,1
    - Dst: nss_macsec_secy_tx_sa_next_pn_set
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:987,1
    - Dst: nss_macsec_secy_tx_sak_set
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:989,1
    - Dst: nss_macsec_secy_tx_sc_tci_7_2_set
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:991,1
    - Dst: nss_macsec_secy_tx_sc_an_set
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:993,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 2
    argNames:
    - priv
    - sa
    argTypes:
    - void*
    - struct transmit_sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 996
      start: 934
    functionDepth: 2
    functionLinenumber: 934
    functionLinenumberEnd: 996
    functionName: macsec_qca_create_transmit_sa
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_qca.c
    functionUses: 0
    functionsReached:
    - nss_macsec_secy_tx_sa_next_pn_set
    - wpa_printf
    - nss_macsec_secy_tx_sak_set
    - nss_macsec_secy_tx_sc_an_set
    - nss_macsec_secy_tx_sc_confidentiality_offset_set
    - nss_macsec_secy_tx_sc_tci_7_2_set
    - macsec_qca_lookup_transmit_channel
    - os_memset
    linkageType: ''
    returnType: int
    signature: int macsec_qca_create_transmit_sa(void *priv, struct transmit_sa *sa)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: macsec_qca_lookup_transmit_channel
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:1005,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:1009,1
    - Dst: nss_macsec_secy_tx_sa_en_set
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:1012,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - priv
    - sa
    argTypes:
    - void*
    - struct transmit_sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1016
      start: 999
    functionDepth: 2
    functionLinenumber: 999
    functionLinenumberEnd: 1016
    functionName: macsec_qca_enable_transmit_sa
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_qca.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - nss_macsec_secy_tx_sa_en_set
    - macsec_qca_lookup_transmit_channel
    linkageType: ''
    returnType: int
    signature: int macsec_qca_enable_transmit_sa(void *priv, struct transmit_sa *sa)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: macsec_qca_lookup_transmit_channel
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:1025,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:1029,1
    - Dst: nss_macsec_secy_tx_sa_en_set
      Src: /src/hostap/src/drivers/driver_macsec_qca.c:1032,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - priv
    - sa
    argTypes:
    - void*
    - struct transmit_sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 1019
    functionDepth: 2
    functionLinenumber: 1019
    functionLinenumberEnd: 1036
    functionName: macsec_qca_disable_transmit_sa
    functionSourceFile: /src/hostap/src/drivers/driver_macsec_qca.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - nss_macsec_secy_tx_sa_en_set
    - macsec_qca_lookup_transmit_channel
    linkageType: ''
    returnType: int
    signature: int macsec_qca_disable_transmit_sa(void *priv, struct transmit_sa *sa)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wired.c:91,1
    - Dst: ntohs
      Src: /src/hostap/src/drivers/driver_wired.c:98,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wired.c:100,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_wired.c:102,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_wired.c:104,1
    - Dst: drv_event_eapol_rx
      Src: /src/hostap/src/drivers/driver_wired.c:108,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wired.c:112,1
    - Dst: ntohs
      Src: /src/hostap/src/drivers/driver_wired.c:113,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - ctx
    - buf
    - len
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 117
    functionName: handle_data
    functionSourceFile: /src/hostap/src/drivers/driver_wired.c
    functionUses: 2
    functionsReached:
    - wpa_supplicant_event
    - wpa_printf
    - ntohs
    - drv_event_eapol_rx
    - os_memset
    linkageType: ''
    returnType: void
    signature: void handle_data(void *ctx, unsigned char *buf, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: recv
      Src: /src/hostap/src/drivers/driver_wired.c:125,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wired.c:127,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_wired.c:127,1
    - Dst: handle_data
      Src: /src/hostap/src/drivers/driver_wired.c:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - sock
    - eloop_ctx
    - sock_ctx
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 132
    functionName: handle_read
    functionSourceFile: /src/hostap/src/drivers/driver_wired.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - recv
    - strerror
    - handle_data
    linkageType: ''
    returnType: void
    signature: void handle_read(int sock, void *eloop_ctx, void *sock_ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: recv
      Src: /src/hostap/src/drivers/driver_wired.c:143,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wired.c:145,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_wired.c:145,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wired.c:151,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wired.c:158,1
    - Dst: MAC2STR
      Src: /src/hostap/src/drivers/driver_wired.c:159,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_wired.c:161,1
    - Dst: wpa_supplicant_event
      Src: /src/hostap/src/drivers/driver_wired.c:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - sock
    - eloop_ctx
    - sock_ctx
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 164
    functionName: handle_dhcp
    functionSourceFile: /src/hostap/src/drivers/driver_wired.c
    functionUses: 0
    functionsReached:
    - wpa_supplicant_event
    - wpa_printf
    - strerror
    - recv
    - MAC2STR
    - os_memset
    linkageType: ''
    returnType: void
    signature: void handle_dhcp(int sock, void *eloop_ctx, void *sock_ctx)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/hostap/src/drivers/driver_wired.c:176,1
    - Dst: htons
      Src: /src/hostap/src/drivers/driver_wired.c:176,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wired.c:178,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_wired.c:179,1
    - Dst: eloop_register_read_sock
      Src: /src/hostap/src/drivers/driver_wired.c:183,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wired.c:185,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_wired.c:189,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_wired.c:190,1
    - Dst: ioctl
      Src: /src/hostap/src/drivers/driver_wired.c:191,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wired.c:192,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_wired.c:193,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_wired.c:197,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wired.c:200,1
    - Dst: bind
      Src: /src/hostap/src/drivers/driver_wired.c:203,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wired.c:205,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_wired.c:205,1
    - Dst: wired_multicast_membership
      Src: /src/hostap/src/drivers/driver_wired.c:210,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wired.c:212,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_wired.c:217,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_wired.c:218,1
    - Dst: ioctl
      Src: /src/hostap/src/drivers/driver_wired.c:219,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wired.c:220,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_wired.c:221,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wired.c:226,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_wired.c:230,1
    - Dst: socket
      Src: /src/hostap/src/drivers/driver_wired.c:233,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wired.c:234,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_wired.c:235,1
    - Dst: eloop_register_read_sock
      Src: /src/hostap/src/drivers/driver_wired.c:239,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wired.c:241,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_wired.c:245,1
    - Dst: htons
      Src: /src/hostap/src/drivers/driver_wired.c:247,1
    - Dst: setsockopt
      Src: /src/hostap/src/drivers/driver_wired.c:250,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wired.c:252,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_wired.c:253,1
    - Dst: setsockopt
      Src: /src/hostap/src/drivers/driver_wired.c:256,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wired.c:258,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_wired.c:259,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_wired.c:263,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_wired.c:264,1
    - Dst: setsockopt
      Src: /src/hostap/src/drivers/driver_wired.c:265,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wired.c:267,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_wired.c:269,1
    - Dst: bind
      Src: /src/hostap/src/drivers/driver_wired.c:273,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wired.c:275,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_wired.c:275,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 71
    argCount: 2
    argNames:
    - drv
    - own_addr
    argTypes:
    - struct wpa_driver_wired_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 283
    functionName: wired_init_sockets
    functionSourceFile: /src/hostap/src/drivers/driver_wired.c
    functionUses: 0
    functionsReached:
    - ioctl
    - wpa_printf
    - os_memcpy
    - strerror
    - eloop_register_read_sock
    - socket
    - os_strlcpy
    - wired_multicast_membership
    - setsockopt
    - bind
    - htons
    - os_memset
    linkageType: ''
    returnType: int
    signature: int wired_init_sockets(struct wpa_driver_wired_data *drv, u8 *own_addr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/drivers/driver_wired.c:297,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wired.c:299,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_wired.c:305,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_wired.c:307,1
    - Dst: htons
      Src: /src/hostap/src/drivers/driver_wired.c:308,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_wired.c:311,1
    - Dst: send
      Src: /src/hostap/src/drivers/driver_wired.c:313,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_wired.c:314,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wired.c:317,1
    - Dst: strerror
      Src: /src/hostap/src/drivers/driver_wired.c:319,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 8
    argNames:
    - priv
    - addr
    - data
    - data_len
    - encrypt
    - own_addr
    - flags
    - link_id
    argTypes:
    - void*
    - u8*
    - u8*
    - size_t
    - int
    - u8*
    - u32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 323
    functionName: wired_send_eapol
    functionSourceFile: /src/hostap/src/drivers/driver_wired.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - send
    - strerror
    - os_zalloc
    - os_free
    - htons
    linkageType: ''
    returnType: int
    signature: "int wired_send_eapol(void *priv, const u8 *addr,\n\t\t\t    const
      u8 *data, size_t data_len, int encrypt,\n\t\t\t    const u8 *own_addr, u32 flags,
      int link_id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/drivers/driver_wired.c:331,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_wired.c:333,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_wired.c:339,1
    - Dst: wired_init_sockets
      Src: /src/hostap/src/drivers/driver_wired.c:343,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_wired.c:344,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - hapd
    - params
    argTypes:
    - struct hostapd_data*
    - struct wpa_init_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 326
    functionDepth: 2
    functionLinenumber: 326
    functionLinenumberEnd: 349
    functionName: wired_driver_hapd_init
    functionSourceFile: /src/hostap/src/drivers/driver_wired.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wired_init_sockets
    - os_strlcpy
    - os_zalloc
    - os_free
    linkageType: ''
    returnType: void
    signature: "void * wired_driver_hapd_init(struct hostapd_data *hapd,\n\t\t\t\t
      \    struct wpa_init_params *params)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eloop_unregister_read_sock
      Src: /src/hostap/src/drivers/driver_wired.c:357,1
    - Dst: close
      Src: /src/hostap/src/drivers/driver_wired.c:358,1
    - Dst: eloop_unregister_read_sock
      Src: /src/hostap/src/drivers/driver_wired.c:362,1
    - Dst: close
      Src: /src/hostap/src/drivers/driver_wired.c:363,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_wired.c:366,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 367
    functionName: wired_driver_hapd_deinit
    functionSourceFile: /src/hostap/src/drivers/driver_wired.c
    functionUses: 0
    functionsReached:
    - os_free
    - eloop_unregister_read_sock
    - close
    linkageType: ''
    returnType: void
    signature: void wired_driver_hapd_deinit(void *priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/drivers/driver_wired.c:374,1
    - Dst: driver_wired_init_common
      Src: /src/hostap/src/drivers/driver_wired.c:378,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_wired.c:379,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - ifname
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 370
    functionDepth: 2
    functionLinenumber: 370
    functionLinenumberEnd: 384
    functionName: wpa_driver_wired_init
    functionSourceFile: /src/hostap/src/drivers/driver_wired.c
    functionUses: 0
    functionsReached:
    - os_free
    - os_zalloc
    - driver_wired_init_common
    linkageType: ''
    returnType: void
    signature: void * wpa_driver_wired_init(void *ctx, const char *ifname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: driver_wired_deinit_common
      Src: /src/hostap/src/drivers/driver_wired.c:391,1
    - Dst: os_free
      Src: /src/hostap/src/drivers/driver_wired.c:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 387
    functionDepth: 2
    functionLinenumber: 387
    functionLinenumberEnd: 393
    functionName: wpa_driver_wired_deinit
    functionSourceFile: /src/hostap/src/drivers/driver_wired.c
    functionUses: 0
    functionsReached:
    - driver_wired_deinit_common
    - os_free
    linkageType: ''
    returnType: void
    signature: void wpa_driver_wired_deinit(void *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - msg
    - ','
    - attrtype
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: nla_nest_start
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.h
    functionUses: 68
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: nla_nest_start(msg, attrtype)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: send_and_recv_glb
      Src: /src/hostap/src/drivers/driver_nl80211.h:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - drv
    - nl_handle
    - msg
    - valid_data
    - ack_data
    - err_info
    argTypes:
    - struct wpa_driver_nl80211_data*
    - struct nl_sock*
    - struct nl_msg*
    - void*
    - void*
    - struct nl80211_err_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 325
    functionDepth: 2
    functionLinenumber: 325
    functionLinenumberEnd: 337
    functionName: send_and_recv
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.h
    functionUses: 36
    functionsReached:
    - send_and_recv_glb
    linkageType: ''
    returnType: int
    signature: "int send_and_recv(struct wpa_driver_nl80211_data *drv,\n\t      struct
      nl_sock *nl_handle, struct nl_msg *msg,\n\t      int (*valid_handler)(struct
      nl_msg *, void *),\n\t      void *valid_data,\n\t      int (*ack_handler_custom)(struct
      nl_msg *, void *),\n\t      void *ack_data,\n\t      struct nl80211_err_info
      *err_info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: send_and_recv
      Src: /src/hostap/src/drivers/driver_nl80211.h:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - drv
    - msg
    argTypes:
    - struct wpa_driver_nl80211_data*
    - struct nl_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 339
    functionDepth: 3
    functionLinenumber: 339
    functionLinenumberEnd: 345
    functionName: send_and_recv_cmd
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.h
    functionUses: 86
    functionsReached:
    - send_and_recv
    linkageType: ''
    returnType: int
    signature: "int send_and_recv_cmd(struct wpa_driver_nl80211_data *drv,\n\t\t  struct
      nl_msg *msg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: send_and_recv
      Src: /src/hostap/src/drivers/driver_nl80211.h:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - drv
    - msg
    - valid_data
    argTypes:
    - struct wpa_driver_nl80211_data*
    - struct nl_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 347
    functionDepth: 3
    functionLinenumber: 347
    functionLinenumberEnd: 355
    functionName: send_and_recv_resp
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.h
    functionUses: 45
    functionsReached:
    - send_and_recv
    linkageType: ''
    returnType: int
    signature: "int send_and_recv_resp(struct wpa_driver_nl80211_data *drv,\n\t\t
      \  struct nl_msg *msg,\n\t\t   int (*valid_handler)(struct nl_msg *, void *),\n\t\t
      \  void *valid_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIT
      Src: /src/hostap/src/drivers/driver_nl80211.h:412,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - links
    - link_id
    argTypes:
    - u16
    - s8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 416
    functionName: nl80211_link_valid
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.h
    functionUses: 10
    functionsReached:
    - BIT
    linkageType: ''
    returnType: bool
    signature: bool nl80211_link_valid(u16 links, s8 link_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - drv
    - attr
    argTypes:
    - struct wpa_driver_nl80211_data*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 423
    functionName: nl80211_attr_supported
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool nl80211_attr_supported(struct wpa_driver_nl80211_data *drv, unsigned
      int attr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_msg
      Src: /src/hostap/src/drivers/driver_nl80211_android.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - drv
    argTypes:
    - struct wpa_driver_nl80211_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: wpa_driver_send_hang_msg
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_android.c
    functionUses: 0
    functionsReached:
    - wpa_msg
    linkageType: ''
    returnType: void
    signature: void wpa_driver_send_hang_msg(struct wpa_driver_nl80211_data *drv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211_android.c:50,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211_android.c:51,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_nl80211_android.c:52,1
    - Dst: os_memset
      Src: /src/hostap/src/drivers/driver_nl80211_android.c:54,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_nl80211_android.c:55,1
    - Dst: ioctl
      Src: /src/hostap/src/drivers/driver_nl80211_android.c:62,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_android.c:64,1
    - Dst: wpa_driver_send_hang_msg
      Src: /src/hostap/src/drivers/driver_nl80211_android.c:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 2
    argNames:
    - bss
    - cmd
    argTypes:
    - struct i802_bss*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 72
    functionName: android_priv_cmd
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_android.c
    functionUses: 0
    functionsReached:
    - ioctl
    - wpa_printf
    - os_strlcpy
    - wpa_driver_send_hang_msg
    - os_memset
    linkageType: ''
    returnType: int
    signature: int android_priv_cmd(struct i802_bss *bss, const char *cmd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211_android.c:85,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/drivers/driver_nl80211_android.c:97,1
    - Dst: os_memcpy
      Src: /src/hostap/src/drivers/driver_nl80211_android.c:102,1
    - Dst: os_snprintf
      Src: /src/hostap/src/drivers/driver_nl80211_android.c:109,1
    - Dst: os_snprintf
      Src: /src/hostap/src/drivers/driver_nl80211_android.c:114,1
    - Dst: os_snprintf
      Src: /src/hostap/src/drivers/driver_nl80211_android.c:119,1
    - Dst: memset
      Src: /src/hostap/src/drivers/driver_nl80211_android.c:123,1
    - Dst: memset
      Src: /src/hostap/src/drivers/driver_nl80211_android.c:124,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/drivers/driver_nl80211_android.c:125,1
    - Dst: ioctl
      Src: /src/hostap/src/drivers/driver_nl80211_android.c:132,1
    - Dst: wpa_printf
      Src: /src/hostap/src/drivers/driver_nl80211_android.c:135,1
    - Dst: wpa_driver_send_hang_msg
      Src: /src/hostap/src/drivers/driver_nl80211_android.c:137,1
    - Dst: android_priv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211_android.c:143,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 41
    argCount: 2
    argNames:
    - bss
    - params
    argTypes:
    - struct i802_bss*
    - struct wpa_driver_scan_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 144
    functionName: android_pno_start
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_android.c
    functionUses: 1
    functionsReached:
    - ioctl
    - os_memcpy
    - wpa_printf
    - os_strlcpy
    - os_snprintf
    - memset
    - wpa_driver_send_hang_msg
    - android_priv_cmd
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: int
    signature: "int android_pno_start(struct i802_bss *bss,\n\t\t      struct wpa_driver_scan_params
      *params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: android_priv_cmd
      Src: /src/hostap/src/drivers/driver_nl80211_android.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bss
    argTypes:
    - struct i802_bss*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: android_pno_stop
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_android.c
    functionUses: 1
    functionsReached:
    - android_priv_cmd
    linkageType: ''
    returnType: int
    signature: int android_pno_stop(struct i802_bss *bss)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - priv
    - count
    - start
    - duration
    argTypes:
    - void*
    - u8
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 159
    functionName: wpa_driver_set_p2p_noa
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_android.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpa_driver_set_p2p_noa(void *priv, u8 count, int start, int duration)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - priv
    - buf
    - len
    argTypes:
    - void*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 165
    functionName: wpa_driver_get_p2p_noa
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_android.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpa_driver_get_p2p_noa(void *priv, u8 *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - priv
    - legacy_ps
    - opp_ps
    - ctwindow
    argTypes:
    - void*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 171
    functionName: wpa_driver_set_p2p_ps
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_android.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpa_driver_set_p2p_ps(void *priv, int legacy_ps, int opp_ps, int
      ctwindow)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - priv
    - beacon
    - proberesp
    - assocresp
    argTypes:
    - void*
    - struct wpabuf*
    - struct wpabuf*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 179
    functionName: wpa_driver_set_ap_wps_p2p_ie
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_android.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int wpa_driver_set_ap_wps_p2p_ie(void *priv, const struct wpabuf *beacon,\n\t\t\t\t
      const struct wpabuf *proberesp,\n\t\t\t\t const struct wpabuf *assocresp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fcntl
      Src: /src/hostap/src/drivers/driver_nl80211_android.c:187,1
    - Dst: nl_socket_get_fd
      Src: /src/hostap/src/drivers/driver_nl80211_android.c:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - struct nl_sock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 188
    functionName: android_nl_socket_set_nonblocking
    functionSourceFile: /src/hostap/src/drivers/driver_nl80211_android.c
    functionUses: 0
    functionsReached:
    - nl_socket_get_fd
    - fcntl
    linkageType: ''
    returnType: int
    signature: int android_nl_socket_set_nonblocking(struct nl_sock *handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 21
    functionName: DL_LIST_HEAD_INIT
    functionSourceFile: /src/hostap/src/utils/list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_LIST_HEAD_INIT(l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - list
    argTypes:
    - struct dl_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: dl_list_init
    functionSourceFile: /src/hostap/src/utils/list.h
    functionUses: 85
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dl_list_init(struct dl_list *list)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - list
    - item
    argTypes:
    - struct dl_list*
    - struct dl_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 34
    functionName: dl_list_add
    functionSourceFile: /src/hostap/src/utils/list.h
    functionUses: 103
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dl_list_add(struct dl_list *list, struct dl_list *item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_add
      Src: /src/hostap/src/utils/list.h:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - list
    - item
    argTypes:
    - struct dl_list*
    - struct dl_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: dl_list_add_tail
    functionSourceFile: /src/hostap/src/utils/list.h
    functionUses: 32
    functionsReached:
    - dl_list_add
    linkageType: ''
    returnType: void
    signature: void dl_list_add_tail(struct dl_list *list, struct dl_list *item)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - item
    argTypes:
    - struct dl_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: dl_list_del
    functionSourceFile: /src/hostap/src/utils/list.h
    functionUses: 163
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dl_list_del(struct dl_list *item)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - list
    argTypes:
    - struct dl_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: dl_list_empty
    functionSourceFile: /src/hostap/src/utils/list.h
    functionUses: 79
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dl_list_empty(const struct dl_list *list)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - list
    argTypes:
    - struct dl_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: dl_list_len
    functionSourceFile: /src/hostap/src/utils/list.h
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int dl_list_len(const struct dl_list *list)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - member
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: offsetof
    functionSourceFile: /src/hostap/src/utils/list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: offsetof(type, member)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - item
    - ','
    - type
    - ','
    - member
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: dl_list_entry
    functionSourceFile: /src/hostap/src/utils/list.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dl_list_entry(item, type, member)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - list
    - ','
    - type
    - ','
    - member
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: dl_list_first
    functionSourceFile: /src/hostap/src/utils/list.h
    functionUses: 43
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dl_list_first(list, type, member)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - list
    - ','
    - type
    - ','
    - member
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: dl_list_last
    functionSourceFile: /src/hostap/src/utils/list.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dl_list_last(list, type, member)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - item
    - ','
    - list
    - ','
    - type
    - ','
    - member
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: dl_list_for_each
    functionSourceFile: /src/hostap/src/utils/list.h
    functionUses: 272
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dl_list_for_each(item, list, type, member)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - item
    - ','
    - n
    - ','
    - list
    - ','
    - type
    - ','
    - member
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 88
    functionName: dl_list_for_each_safe
    functionSourceFile: /src/hostap/src/utils/list.h
    functionUses: 98
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dl_list_for_each_safe(item, n, list, type, member)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - item
    - ','
    - list
    - ','
    - type
    - ','
    - member
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: dl_list_for_each_reverse
    functionSourceFile: /src/hostap/src/utils/list.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dl_list_for_each_reverse(item, list, type, member)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: DEFINE_DL_LIST
    functionSourceFile: /src/hostap/src/utils/list.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_DL_LIST(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct os_time*
    - struct os_time*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: os_time_before
    functionSourceFile: /src/hostap/src/utils/os.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int os_time_before(struct os_time *a, struct os_time *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - a
    - b
    - res
    argTypes:
    - struct os_time*
    - struct os_time*
    - struct os_time*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 64
    functionName: os_time_sub
    functionSourceFile: /src/hostap/src/utils/os.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void os_time_sub(struct os_time *a, struct os_time *b,\n\t\t\t       struct
      os_time *res)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct os_reltime*
    - struct os_reltime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: os_reltime_before
    functionSourceFile: /src/hostap/src/utils/os.h
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int os_reltime_before(struct os_reltime *a,\n\t\t\t\t    struct os_reltime
      *b)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - a
    - b
    - res
    argTypes:
    - struct os_reltime*
    - struct os_reltime*
    - struct os_reltime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 86
    functionName: os_reltime_sub
    functionSourceFile: /src/hostap/src/utils/os.h
    functionUses: 38
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void os_reltime_sub(struct os_reltime *a, struct os_reltime *b,\n\t\t\t\t
      \ struct os_reltime *res)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_get_reltime
      Src: /src/hostap/src/utils/os.h:94,1
    - Dst: os_reltime_sub
      Src: /src/hostap/src/utils/os.h:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - start
    - age
    argTypes:
    - struct os_reltime*
    - struct os_reltime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 96
    functionName: os_reltime_age
    functionSourceFile: /src/hostap/src/utils/os.h
    functionUses: 10
    functionsReached:
    - os_reltime_sub
    - os_get_reltime
    linkageType: ''
    returnType: void
    signature: "void os_reltime_age(struct os_reltime *start,\n\t\t\t\t  struct os_reltime
      *age)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_reltime_sub
      Src: /src/hostap/src/utils/os.h:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - now
    - ts
    - timeout_secs
    argTypes:
    - struct os_reltime*
    - struct os_reltime*
    - os_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 108
    functionName: os_reltime_expired
    functionSourceFile: /src/hostap/src/utils/os.h
    functionUses: 29
    functionsReached:
    - os_reltime_sub
    linkageType: ''
    returnType: int
    signature: "int os_reltime_expired(struct os_reltime *now,\n\t\t\t\t     struct
      os_reltime *ts,\n\t\t\t\t     os_time_t timeout_secs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ts
    - ms
    argTypes:
    - struct os_reltime*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 122
    functionName: os_reltime_add_ms
    functionSourceFile: /src/hostap/src/utils/os.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void os_reltime_add_ms(struct os_reltime *ts, int ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ts
    argTypes:
    - struct os_reltime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: os_reltime_in_ms
    functionSourceFile: /src/hostap/src/utils/os.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int os_reltime_in_ms(struct os_reltime *ts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct os_reltime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: os_reltime_initialized
    functionSourceFile: /src/hostap/src/utils/os.h
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int os_reltime_initialized(struct os_reltime *t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/utils/os.h:301,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - nmemb
    - size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 302
    functionName: os_calloc
    functionSourceFile: /src/hostap/src/utils/os.h
    functionUses: 91
    functionsReached:
    - os_zalloc
    linkageType: ''
    returnType: void
    signature: void * os_calloc(size_t nmemb, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 506
    functionName: os_malloc
    functionSourceFile: /src/hostap/src/utils/os.h
    functionUses: 509
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: os_malloc(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 509
    functionName: os_realloc
    functionSourceFile: /src/hostap/src/utils/os.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: os_realloc(p, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 512
    functionName: os_free
    functionSourceFile: /src/hostap/src/utils/os.h
    functionUses: 1784
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: os_free(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 516
    functionName: os_strdup
    functionSourceFile: /src/hostap/src/utils/os.h
    functionUses: 232
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: os_strdup(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 518
    functionName: os_strdup
    functionSourceFile: /src/hostap/src/utils/os.h
    functionUses: 232
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: os_strdup(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - d
    - ','
    - s
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 524
    functionName: os_memcpy
    functionSourceFile: /src/hostap/src/utils/os.h
    functionUses: 1569
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: os_memcpy(d, s, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - d
    - ','
    - s
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 527
    functionName: os_memmove
    functionSourceFile: /src/hostap/src/utils/os.h
    functionUses: 41
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: os_memmove(d, s, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - c
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 530
    functionName: os_memset
    functionSourceFile: /src/hostap/src/utils/os.h
    functionUses: 1119
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: os_memset(s, c, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s1
    - ','
    - s2
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 533
    functionName: os_memcmp
    functionSourceFile: /src/hostap/src/utils/os.h
    functionUses: 425
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: os_memcmp(s1, s2, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 537
    functionName: os_strlen
    functionSourceFile: /src/hostap/src/utils/os.h
    functionUses: 500
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: os_strlen(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s1
    - ','
    - s2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 541
    functionName: os_strcasecmp
    functionSourceFile: /src/hostap/src/utils/os.h
    functionUses: 41
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: os_strcasecmp(s1, s2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s1
    - ','
    - s2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 543
    functionName: os_strcasecmp
    functionSourceFile: /src/hostap/src/utils/os.h
    functionUses: 41
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: os_strcasecmp(s1, s2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s1
    - ','
    - s2
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 548
    functionName: os_strncasecmp
    functionSourceFile: /src/hostap/src/utils/os.h
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: os_strncasecmp(s1, s2, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s1
    - ','
    - s2
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 550
    functionName: os_strncasecmp
    functionSourceFile: /src/hostap/src/utils/os.h
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: os_strncasecmp(s1, s2, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 554
    functionName: os_strchr
    functionSourceFile: /src/hostap/src/utils/os.h
    functionUses: 250
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: os_strchr(s, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s1
    - ','
    - s2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 557
    functionName: os_strcmp
    functionSourceFile: /src/hostap/src/utils/os.h
    functionUses: 323
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: os_strcmp(s1, s2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s1
    - ','
    - s2
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 560
    functionName: os_strncmp
    functionSourceFile: /src/hostap/src/utils/os.h
    functionUses: 174
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: os_strncmp(s1, s2, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 563
    functionName: os_strrchr
    functionSourceFile: /src/hostap/src/utils/os.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: os_strrchr(s, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - h
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 566
    functionName: os_strstr
    functionSourceFile: /src/hostap/src/utils/os.h
    functionUses: 154
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: os_strstr(h, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - size
    - res
    argTypes:
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 582
    functionName: os_snprintf_error
    functionSourceFile: /src/hostap/src/utils/os.h
    functionUses: 266
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int os_snprintf_error(size_t size, int res)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_realloc
      Src: /src/hostap/src/utils/os.h:589,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - ptr
    - nmemb
    - size
    argTypes:
    - void*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 590
    functionName: os_realloc_array
    functionSourceFile: /src/hostap/src/utils/os.h
    functionUses: 64
    functionsReached:
    - os_realloc
    linkageType: ''
    returnType: void
    signature: void * os_realloc_array(void *ptr, size_t nmemb, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memmove
      Src: /src/hostap/src/utils/os.h:603,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 4
    argNames:
    - ptr
    - nmemb
    - size
    - idx
    argTypes:
    - void*
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 606
    functionName: os_remove_in_array
    functionSourceFile: /src/hostap/src/utils/os.h
    functionUses: 1
    functionsReached:
    - os_memmove
    linkageType: ''
    returnType: void
    signature: "void os_remove_in_array(void *ptr, size_t nmemb, size_t size,\n\t\t\t\t
      \     size_t idx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 689
    functionName: TEST_FAIL
    functionSourceFile: /src/hostap/src/utils/os.h
    functionUses: 100
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_FAIL()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tag
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 690
    functionName: TEST_FAIL_TAG
    functionSourceFile: /src/hostap/src/utils/os.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_FAIL_TAG(tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tag
    - is_alloc
    argTypes:
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 699
    functionName: testing_test_fail
    functionSourceFile: /src/hostap/src/utils/os.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int testing_test_fail(const char *tag, bool is_alloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - is_alloc
    - patterns
    argTypes:
    - bool
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 704
    functionName: testing_set_fail_pattern
    functionSourceFile: /src/hostap/src/utils/os.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int testing_set_fail_pattern(bool is_alloc, char *patterns)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - is_alloc
    - buf
    - buflen
    argTypes:
    - bool
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 710
    functionName: testing_get_fail_pattern
    functionSourceFile: /src/hostap/src/utils/os.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int testing_get_fail_pattern(bool is_alloc, char *buf,\n\t\t\t\t\t
      \  size_t buflen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/utils/bitfield.c:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - max_bits
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 31
    functionName: bitfield_alloc
    functionSourceFile: /src/hostap/src/utils/bitfield.c
    functionUses: 4
    functionsReached:
    - os_zalloc
    linkageType: ''
    returnType: struct bitfield
    signature: struct bitfield * bitfield_alloc(size_t max_bits)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/utils/bitfield.c:38,1
    - Dst: os_memcpy
      Src: /src/hostap/src/utils/bitfield.c:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 47
    functionName: bitfield_alloc_data
    functionSourceFile: /src/hostap/src/utils/bitfield.c
    functionUses: 2
    functionsReached:
    - os_zalloc
    - os_memcpy
    linkageType: ''
    returnType: struct bitfield
    signature: struct bitfield * bitfield_alloc_data(const u8 *data, size_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memdup
      Src: /src/hostap/src/utils/bitfield.c:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - orig
    argTypes:
    - struct bitfield*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 64
    functionName: bitfield_dup
    functionSourceFile: /src/hostap/src/utils/bitfield.c
    functionUses: 2
    functionsReached:
    - os_memdup
    linkageType: ''
    returnType: struct bitfield
    signature: struct bitfield * bitfield_dup(const struct bitfield *orig)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/utils/bitfield.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bf
    argTypes:
    - struct bitfield*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: bitfield_free
    functionSourceFile: /src/hostap/src/utils/bitfield.c
    functionUses: 20
    functionsReached:
    - os_free
    linkageType: ''
    returnType: void
    signature: void bitfield_free(struct bitfield *bf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIT
      Src: /src/hostap/src/utils/bitfield.c:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - bf
    - bit
    argTypes:
    - struct bitfield*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionName: bitfield_set
    functionSourceFile: /src/hostap/src/utils/bitfield.c
    functionUses: 3
    functionsReached:
    - BIT
    linkageType: ''
    returnType: void
    signature: void bitfield_set(struct bitfield *bf, size_t bit)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIT
      Src: /src/hostap/src/utils/bitfield.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - bf
    - bit
    argTypes:
    - struct bitfield*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: bitfield_clear
    functionSourceFile: /src/hostap/src/utils/bitfield.c
    functionUses: 1
    functionsReached:
    - BIT
    linkageType: ''
    returnType: void
    signature: void bitfield_clear(struct bitfield *bf, size_t bit)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIT
      Src: /src/hostap/src/utils/bitfield.c:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - bf
    - bit
    argTypes:
    - struct bitfield*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 94
    functionName: bitfield_is_set
    functionSourceFile: /src/hostap/src/utils/bitfield.c
    functionUses: 3
    functionsReached:
    - BIT
    linkageType: ''
    returnType: int
    signature: int bitfield_is_set(const struct bitfield *bf, size_t bit)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - val
    argTypes:
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 106
    functionName: first_zero
    functionSourceFile: /src/hostap/src/utils/bitfield.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int first_zero(u8 val)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: first_zero
      Src: /src/hostap/src/utils/bitfield.c:118,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - bf
    argTypes:
    - struct bitfield*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 122
    functionName: bitfield_get_first_zero
    functionSourceFile: /src/hostap/src/utils/bitfield.c
    functionUses: 1
    functionsReached:
    - first_zero
    linkageType: ''
    returnType: int
    signature: int bitfield_get_first_zero(struct bitfield *bf)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct bitfield*
    - struct bitfield*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 138
    functionName: bitfield_union_in_place
    functionSourceFile: /src/hostap/src/utils/bitfield.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int bitfield_union_in_place(struct bitfield *a, const struct bitfield
      *b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bitfield_dup
      Src: /src/hostap/src/utils/bitfield.c:151,1
    - Dst: bitfield_union_in_place
      Src: /src/hostap/src/utils/bitfield.c:152,1
    - Dst: bitfield_dup
      Src: /src/hostap/src/utils/bitfield.c:154,1
    - Dst: bitfield_union_in_place
      Src: /src/hostap/src/utils/bitfield.c:155,1
    - Dst: os_free
      Src: /src/hostap/src/utils/bitfield.c:161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct bitfield*
    - struct bitfield*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 163
    functionName: bitfield_union
    functionSourceFile: /src/hostap/src/utils/bitfield.c
    functionUses: 5
    functionsReached:
    - bitfield_dup
    - bitfield_union_in_place
    - os_free
    linkageType: ''
    returnType: struct bitfield
    signature: "struct bitfield * bitfield_union(const struct bitfield *a,\n\t\t\t\t
      const struct bitfield *b)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct bitfield*
    - struct bitfield*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 188
    functionName: bitfield_intersect_in_place
    functionSourceFile: /src/hostap/src/utils/bitfield.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int bitfield_intersect_in_place(struct bitfield *a,\n\t\t\t\tconst
      struct bitfield *b)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct bitfield*
    - struct bitfield*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 211
    functionName: bitfield_is_subset
    functionSourceFile: /src/hostap/src/utils/bitfield.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int bitfield_is_subset(const struct bitfield *a, const struct bitfield
      *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - bf
    argTypes:
    - struct bitfield*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 219
    functionName: bitfield_size
    functionSourceFile: /src/hostap/src/utils/bitfield.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t bitfield_size(const struct bitfield *bf)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct bitfield*
    - struct bitfield*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 239
    functionName: bitfield_intersects
    functionSourceFile: /src/hostap/src/utils/bitfield.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int bitfield_intersects(const struct bitfield *a, const struct bitfield
      *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/bitfield.c:244,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/utils/bitfield.c:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bf
    - title
    argTypes:
    - struct bitfield*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 247
    functionName: bitfield_dump
    functionSourceFile: /src/hostap/src/utils/bitfield.c
    functionUses: 5
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    linkageType: ''
    returnType: void
    signature: void bitfield_dump(struct bitfield *bf, const char *title)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_strlcpy
      Src: /src/hostap/src/utils/ip_addr.c:21,1
    - Dst: inet_ntoa
      Src: /src/hostap/src/utils/ip_addr.c:21,1
    - Dst: inet_ntop
      Src: /src/hostap/src/utils/ip_addr.c:27,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - addr
    - buf
    - buflen
    argTypes:
    - struct hostapd_ip_addr*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 33
    functionName: hostapd_ip_txt
    functionSourceFile: /src/hostap/src/utils/ip_addr.c
    functionUses: 9
    functionsReached:
    - inet_ntoa
    - os_strlcpy
    - inet_ntop
    linkageType: ''
    returnType: char
    signature: "char * hostapd_ip_txt(const struct hostapd_ip_addr *addr, char *buf,\n\t\t\t
      \   size_t buflen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: inet_aton
      Src: /src/hostap/src/utils/ip_addr.c:39,1
    - Dst: inet_pton
      Src: /src/hostap/src/utils/ip_addr.c:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - txt
    - addr
    argTypes:
    - char*
    - struct hostapd_ip_addr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 53
    functionName: hostapd_parse_ip_addr
    functionSourceFile: /src/hostap/src/utils/ip_addr.c
    functionUses: 12
    functionsReached:
    - inet_pton
    - inet_aton
    linkageType: ''
    returnType: int
    signature: int hostapd_parse_ip_addr(const char *txt, struct hostapd_ip_addr *addr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/src/utils/ip_addr.c:67,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct hostapd_ip_addr*
    - struct hostapd_ip_addr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 72
    functionName: hostapd_ip_equal
    functionSourceFile: /src/hostap/src/utils/ip_addr.c
    functionUses: 1
    functionsReached:
    - os_memcmp
    linkageType: ''
    returnType: bool
    signature: "bool hostapd_ip_equal(const struct hostapd_ip_addr *a,\n\t\t      const
      struct hostapd_ip_addr *b)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/utils_module_tests.c:54,1
    - Dst: printf_encode
      Src: /src/hostap/src/utils/utils_module_tests.c:58,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/utils_module_tests.c:59,1
    - Dst: printf_decode
      Src: /src/hostap/src/utils/utils_module_tests.c:61,1
    - Dst: os_memcmp
      Src: /src/hostap/src/utils/utils_module_tests.c:63,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/utils/utils_module_tests.c:64,1
    - Dst: printf_decode
      Src: /src/hostap/src/utils/utils_module_tests.c:69,1
    - Dst: os_memcmp
      Src: /src/hostap/src/utils/utils_module_tests.c:71,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/utils/utils_module_tests.c:72,1
    - Dst: printf_encode
      Src: /src/hostap/src/utils/utils_module_tests.c:79,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/utils_module_tests.c:81,1
    - Dst: printf_encode
      Src: /src/hostap/src/utils/utils_module_tests.c:87,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/utils_module_tests.c:89,1
    - Dst: printf_decode
      Src: /src/hostap/src/utils/utils_module_tests.c:95,1
    - Dst: printf_decode
      Src: /src/hostap/src/utils/utils_module_tests.c:98,1
    - Dst: printf_decode
      Src: /src/hostap/src/utils/utils_module_tests.c:101,1
    - Dst: printf_decode
      Src: /src/hostap/src/utils/utils_module_tests.c:104,1
    - Dst: int_array_len
      Src: /src/hostap/src/utils/utils_module_tests.c:113,1
    - Dst: int_array_sort_unique
      Src: /src/hostap/src/utils/utils_module_tests.c:115,1
    - Dst: int_array_len
      Src: /src/hostap/src/utils/utils_module_tests.c:116,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/utils_module_tests.c:120,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 125
    functionName: printf_encode_decode_tests
    functionSourceFile: /src/hostap/src/utils/utils_module_tests.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_hexdump
    - int_array_sort_unique
    - printf_decode
    - printf_encode
    - int_array_len
    - os_memcmp
    linkageType: ''
    returnType: int
    signature: int printf_encode_decode_tests(void)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/utils_module_tests.c:136,1
    - Dst: bitfield_alloc
      Src: /src/hostap/src/utils/utils_module_tests.c:138,1
    - Dst: bitfield_is_set
      Src: /src/hostap/src/utils/utils_module_tests.c:143,1
    - Dst: bitfield_is_set
      Src: /src/hostap/src/utils/utils_module_tests.c:143,1
    - Dst: bitfield_is_set
      Src: /src/hostap/src/utils/utils_module_tests.c:145,1
    - Dst: bitfield_set
      Src: /src/hostap/src/utils/utils_module_tests.c:147,1
    - Dst: bitfield_is_set
      Src: /src/hostap/src/utils/utils_module_tests.c:148,1
    - Dst: bitfield_clear
      Src: /src/hostap/src/utils/utils_module_tests.c:150,1
    - Dst: bitfield_is_set
      Src: /src/hostap/src/utils/utils_module_tests.c:151,1
    - Dst: bitfield_is_set
      Src: /src/hostap/src/utils/utils_module_tests.c:156,1
    - Dst: bitfield_is_set
      Src: /src/hostap/src/utils/utils_module_tests.c:156,1
    - Dst: bitfield_is_set
      Src: /src/hostap/src/utils/utils_module_tests.c:158,1
    - Dst: bitfield_set
      Src: /src/hostap/src/utils/utils_module_tests.c:160,1
    - Dst: bitfield_is_set
      Src: /src/hostap/src/utils/utils_module_tests.c:161,1
    - Dst: bitfield_clear
      Src: /src/hostap/src/utils/utils_module_tests.c:163,1
    - Dst: bitfield_is_set
      Src: /src/hostap/src/utils/utils_module_tests.c:164,1
    - Dst: bitfield_is_set
      Src: /src/hostap/src/utils/utils_module_tests.c:169,1
    - Dst: bitfield_is_set
      Src: /src/hostap/src/utils/utils_module_tests.c:169,1
    - Dst: bitfield_set
      Src: /src/hostap/src/utils/utils_module_tests.c:171,1
    - Dst: bitfield_is_set
      Src: /src/hostap/src/utils/utils_module_tests.c:172,1
    - Dst: bitfield_is_set
      Src: /src/hostap/src/utils/utils_module_tests.c:177,1
    - Dst: bitfield_clear
      Src: /src/hostap/src/utils/utils_module_tests.c:179,1
    - Dst: bitfield_is_set
      Src: /src/hostap/src/utils/utils_module_tests.c:180,1
    - Dst: bitfield_get_first_zero
      Src: /src/hostap/src/utils/utils_module_tests.c:185,1
    - Dst: bitfield_set
      Src: /src/hostap/src/utils/utils_module_tests.c:187,1
    - Dst: bitfield_get_first_zero
      Src: /src/hostap/src/utils/utils_module_tests.c:189,1
    - Dst: bitfield_is_set
      Src: /src/hostap/src/utils/utils_module_tests.c:192,1
    - Dst: bitfield_clear
      Src: /src/hostap/src/utils/utils_module_tests.c:194,1
    - Dst: bitfield_get_first_zero
      Src: /src/hostap/src/utils/utils_module_tests.c:195,1
    - Dst: bitfield_set
      Src: /src/hostap/src/utils/utils_module_tests.c:197,1
    - Dst: bitfield_get_first_zero
      Src: /src/hostap/src/utils/utils_module_tests.c:199,1
    - Dst: bitfield_free
      Src: /src/hostap/src/utils/utils_module_tests.c:202,1
    - Dst: bitfield_alloc
      Src: /src/hostap/src/utils/utils_module_tests.c:204,1
    - Dst: bitfield_get_first_zero
      Src: /src/hostap/src/utils/utils_module_tests.c:207,1
    - Dst: bitfield_set
      Src: /src/hostap/src/utils/utils_module_tests.c:210,1
    - Dst: bitfield_get_first_zero
      Src: /src/hostap/src/utils/utils_module_tests.c:211,1
    - Dst: bitfield_free
      Src: /src/hostap/src/utils/utils_module_tests.c:213,1
    - Dst: bitfield_alloc_data
      Src: /src/hostap/src/utils/utils_module_tests.c:215,1
    - Dst: bitfield_alloc_data
      Src: /src/hostap/src/utils/utils_module_tests.c:219,1
    - Dst: bitfield_dup
      Src: /src/hostap/src/utils/utils_module_tests.c:223,1
    - Dst: bitfield_intersect_in_place
      Src: /src/hostap/src/utils/utils_module_tests.c:228,1
    - Dst: bitfield_is_set
      Src: /src/hostap/src/utils/utils_module_tests.c:232,1
    - Dst: bitfield_is_set
      Src: /src/hostap/src/utils/utils_module_tests.c:236,1
    - Dst: bitfield_free
      Src: /src/hostap/src/utils/utils_module_tests.c:239,1
    - Dst: bitfield_union
      Src: /src/hostap/src/utils/utils_module_tests.c:242,1
    - Dst: bitfield_intersects
      Src: /src/hostap/src/utils/utils_module_tests.c:246,1
    - Dst: bitfield_intersects
      Src: /src/hostap/src/utils/utils_module_tests.c:247,1
    - Dst: bitfield_intersects
      Src: /src/hostap/src/utils/utils_module_tests.c:248,1
    - Dst: bitfield_intersects
      Src: /src/hostap/src/utils/utils_module_tests.c:249,1
    - Dst: bitfield_intersects
      Src: /src/hostap/src/utils/utils_module_tests.c:250,1
    - Dst: bitfield_is_set
      Src: /src/hostap/src/utils/utils_module_tests.c:254,1
    - Dst: bitfield_is_subset
      Src: /src/hostap/src/utils/utils_module_tests.c:257,1
    - Dst: bitfield_is_subset
      Src: /src/hostap/src/utils/utils_module_tests.c:258,1
    - Dst: bitfield_is_subset
      Src: /src/hostap/src/utils/utils_module_tests.c:259,1
    - Dst: bitfield_is_subset
      Src: /src/hostap/src/utils/utils_module_tests.c:260,1
    - Dst: bitfield_is_subset
      Src: /src/hostap/src/utils/utils_module_tests.c:261,1
    - Dst: bitfield_union_in_place
      Src: /src/hostap/src/utils/utils_module_tests.c:265,1
    - Dst: bitfield_size
      Src: /src/hostap/src/utils/utils_module_tests.c:268,1
    - Dst: bitfield_size
      Src: /src/hostap/src/utils/utils_module_tests.c:269,1
    - Dst: bitfield_size
      Src: /src/hostap/src/utils/utils_module_tests.c:270,1
    - Dst: bitfield_is_set
      Src: /src/hostap/src/utils/utils_module_tests.c:274,1
    - Dst: bitfield_free
      Src: /src/hostap/src/utils/utils_module_tests.c:281,1
    - Dst: bitfield_free
      Src: /src/hostap/src/utils/utils_module_tests.c:282,1
    - Dst: bitfield_free
      Src: /src/hostap/src/utils/utils_module_tests.c:283,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/utils_module_tests.c:286,1
    CyclomaticComplexity: 75
    EdgeCount: 75
    ICount: 134
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 291
    functionName: bitfield_tests
    functionSourceFile: /src/hostap/src/utils/utils_module_tests.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - bitfield_alloc_data
    - bitfield_intersects
    - bitfield_get_first_zero
    - bitfield_union
    - bitfield_is_subset
    - bitfield_union_in_place
    - bitfield_alloc
    - bitfield_set
    - bitfield_dup
    - bitfield_is_set
    - bitfield_intersect_in_place
    - bitfield_size
    - bitfield_free
    - bitfield_clear
    linkageType: ''
    returnType: int
    signature: int bitfield_tests(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/utils_module_tests.c:303,1
    - Dst: int_array_len
      Src: /src/hostap/src/utils/utils_module_tests.c:305,1
    - Dst: int_array_len
      Src: /src/hostap/src/utils/utils_module_tests.c:306,1
    - Dst: int_array_sort_unique
      Src: /src/hostap/src/utils/utils_module_tests.c:309,1
    - Dst: int_array_len
      Src: /src/hostap/src/utils/utils_module_tests.c:310,1
    - Dst: int_array_len
      Src: /src/hostap/src/utils/utils_module_tests.c:311,1
    - Dst: os_memcmp
      Src: /src/hostap/src/utils/utils_module_tests.c:313,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/utils_module_tests.c:317,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 322
    functionName: int_array_tests
    functionSourceFile: /src/hostap/src/utils/utils_module_tests.c
    functionUses: 0
    functionsReached:
    - int_array_len
    - int_array_sort_unique
    - wpa_printf
    - os_memcmp
    linkageType: ''
    returnType: int
    signature: int int_array_tests(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/utils_module_tests.c:331,1
    - Dst: ext_password_init
      Src: /src/hostap/src/utils/utils_module_tests.c:333,1
    - Dst: ext_password_init
      Src: /src/hostap/src/utils/utils_module_tests.c:337,1
    - Dst: ext_password_get
      Src: /src/hostap/src/utils/utils_module_tests.c:340,1
    - Dst: ext_password_free
      Src: /src/hostap/src/utils/utils_module_tests.c:343,1
    - Dst: ext_password_deinit
      Src: /src/hostap/src/utils/utils_module_tests.c:345,1
    - Dst: ext_password_get
      Src: /src/hostap/src/utils/utils_module_tests.c:347,1
    - Dst: ext_password_free
      Src: /src/hostap/src/utils/utils_module_tests.c:350,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 353
    functionName: ext_password_tests
    functionSourceFile: /src/hostap/src/utils/utils_module_tests.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - ext_password_get
    - ext_password_init
    - ext_password_free
    - ext_password_deinit
    linkageType: ''
    returnType: int
    signature: int ext_password_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/utils_module_tests.c:358,1
    - Dst: wpa_trace_show
      Src: /src/hostap/src/utils/utils_module_tests.c:360,1
    - Dst: wpa_trace_dump_funcname
      Src: /src/hostap/src/utils/utils_module_tests.c:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 364
    functionName: trace_tests
    functionSourceFile: /src/hostap/src/utils/utils_module_tests.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_trace_show
    - wpa_trace_dump_funcname
    linkageType: ''
    returnType: int
    signature: int trace_tests(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/utils_module_tests.c:374,1
    - Dst: base64_encode
      Src: /src/hostap/src/utils/utils_module_tests.c:376,1
    - Dst: os_free
      Src: /src/hostap/src/utils/utils_module_tests.c:379,1
    - Dst: base64_encode
      Src: /src/hostap/src/utils/utils_module_tests.c:382,1
    - Dst: os_free
      Src: /src/hostap/src/utils/utils_module_tests.c:386,1
    - Dst: base64_encode
      Src: /src/hostap/src/utils/utils_module_tests.c:388,1
    - Dst: os_free
      Src: /src/hostap/src/utils/utils_module_tests.c:392,1
    - Dst: base64_decode
      Src: /src/hostap/src/utils/utils_module_tests.c:394,1
    - Dst: os_free
      Src: /src/hostap/src/utils/utils_module_tests.c:397,1
    - Dst: base64_decode
      Src: /src/hostap/src/utils/utils_module_tests.c:400,1
    - Dst: os_free
      Src: /src/hostap/src/utils/utils_module_tests.c:403,1
    - Dst: base64_decode
      Src: /src/hostap/src/utils/utils_module_tests.c:406,1
    - Dst: os_free
      Src: /src/hostap/src/utils/utils_module_tests.c:409,1
    - Dst: base64_decode
      Src: /src/hostap/src/utils/utils_module_tests.c:412,1
    - Dst: os_free
      Src: /src/hostap/src/utils/utils_module_tests.c:415,1
    - Dst: base64_decode
      Src: /src/hostap/src/utils/utils_module_tests.c:417,1
    - Dst: os_free
      Src: /src/hostap/src/utils/utils_module_tests.c:420,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/utils_module_tests.c:423,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 428
    functionName: base64_tests
    functionSourceFile: /src/hostap/src/utils/utils_module_tests.c
    functionUses: 0
    functionsReached:
    - os_free
    - base64_decode
    - wpa_printf
    - base64_encode
    linkageType: ''
    returnType: int
    signature: int base64_tests(void)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/utils_module_tests.c:442,1
    - Dst: hwaddr_mask_txt
      Src: /src/hostap/src/utils/utils_module_tests.c:444,1
    - Dst: wpa_scnprintf
      Src: /src/hostap/src/utils/utils_module_tests.c:447,1
    - Dst: wpa_scnprintf
      Src: /src/hostap/src/utils/utils_module_tests.c:448,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/utils/utils_module_tests.c:451,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/utils/utils_module_tests.c:452,1
    - Dst: merge_byte_arrays
      Src: /src/hostap/src/utils/utils_module_tests.c:455,1
    - Dst: merge_byte_arrays
      Src: /src/hostap/src/utils/utils_module_tests.c:456,1
    - Dst: dup_binstr
      Src: /src/hostap/src/utils/utils_module_tests.c:459,1
    - Dst: freq_range_list_includes
      Src: /src/hostap/src/utils/utils_module_tests.c:462,1
    - Dst: os_memset
      Src: /src/hostap/src/utils/utils_module_tests.c:465,1
    - Dst: freq_range_list_parse
      Src: /src/hostap/src/utils/utils_module_tests.c:466,1
    - Dst: freq_range_list_includes
      Src: /src/hostap/src/utils/utils_module_tests.c:467,1
    - Dst: freq_range_list_str
      Src: /src/hostap/src/utils/utils_module_tests.c:468,1
    - Dst: utf8_unescape
      Src: /src/hostap/src/utils/utils_module_tests.c:471,1
    - Dst: utf8_unescape
      Src: /src/hostap/src/utils/utils_module_tests.c:472,1
    - Dst: utf8_unescape
      Src: /src/hostap/src/utils/utils_module_tests.c:473,1
    - Dst: utf8_unescape
      Src: /src/hostap/src/utils/utils_module_tests.c:474,1
    - Dst: utf8_unescape
      Src: /src/hostap/src/utils/utils_module_tests.c:475,1
    - Dst: utf8_unescape
      Src: /src/hostap/src/utils/utils_module_tests.c:478,1
    - Dst: utf8_unescape
      Src: /src/hostap/src/utils/utils_module_tests.c:481,1
    - Dst: utf8_escape
      Src: /src/hostap/src/utils/utils_module_tests.c:484,1
    - Dst: utf8_escape
      Src: /src/hostap/src/utils/utils_module_tests.c:485,1
    - Dst: utf8_escape
      Src: /src/hostap/src/utils/utils_module_tests.c:486,1
    - Dst: utf8_escape
      Src: /src/hostap/src/utils/utils_module_tests.c:487,1
    - Dst: utf8_escape
      Src: /src/hostap/src/utils/utils_module_tests.c:488,1
    - Dst: utf8_escape
      Src: /src/hostap/src/utils/utils_module_tests.c:489,1
    - Dst: utf8_escape
      Src: /src/hostap/src/utils/utils_module_tests.c:490,1
    - Dst: utf8_escape
      Src: /src/hostap/src/utils/utils_module_tests.c:493,1
    - Dst: os_memset
      Src: /src/hostap/src/utils/utils_module_tests.c:496,1
    - Dst: wpa_ssid_txt
      Src: /src/hostap/src/utils/utils_module_tests.c:497,1
    - Dst: os_strlen
      Src: /src/hostap/src/utils/utils_module_tests.c:498,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/utils_module_tests.c:501,1
    - Dst: wpa_snprintf_hex_sep
      Src: /src/hostap/src/utils/utils_module_tests.c:506,1
    - Dst: wpa_snprintf_hex_sep
      Src: /src/hostap/src/utils/utils_module_tests.c:507,1
    - Dst: os_strcmp
      Src: /src/hostap/src/utils/utils_module_tests.c:508,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/utils_module_tests.c:512,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 517
    functionName: common_tests
    functionSourceFile: /src/hostap/src/utils/utils_module_tests.c
    functionUses: 0
    functionsReached:
    - merge_byte_arrays
    - freq_range_list_includes
    - wpa_printf
    - freq_range_list_parse
    - wpa_snprintf_hex
    - wpa_scnprintf
    - os_strlen
    - utf8_escape
    - wpa_ssid_txt
    - wpa_snprintf_hex_sep
    - os_strcmp
    - hwaddr_mask_txt
    - freq_range_list_str
    - utf8_unescape
    - dup_binstr
    - os_memset
    linkageType: ''
    returnType: int
    signature: int common_tests(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/utils_module_tests.c:526,1
    - Dst: os_calloc
      Src: /src/hostap/src/utils/utils_module_tests.c:528,1
    - Dst: os_free
      Src: /src/hostap/src/utils/utils_module_tests.c:531,1
    - Dst: os_calloc
      Src: /src/hostap/src/utils/utils_module_tests.c:533,1
    - Dst: os_free
      Src: /src/hostap/src/utils/utils_module_tests.c:536,1
    - Dst: os_calloc
      Src: /src/hostap/src/utils/utils_module_tests.c:538,1
    - Dst: os_free
      Src: /src/hostap/src/utils/utils_module_tests.c:541,1
    - Dst: os_realloc_array
      Src: /src/hostap/src/utils/utils_module_tests.c:544,1
    - Dst: os_free
      Src: /src/hostap/src/utils/utils_module_tests.c:547,1
    - Dst: os_sleep
      Src: /src/hostap/src/utils/utils_module_tests.c:550,1
    - Dst: os_mktime
      Src: /src/hostap/src/utils/utils_module_tests.c:552,1
    - Dst: os_mktime
      Src: /src/hostap/src/utils/utils_module_tests.c:553,1
    - Dst: os_mktime
      Src: /src/hostap/src/utils/utils_module_tests.c:554,1
    - Dst: os_mktime
      Src: /src/hostap/src/utils/utils_module_tests.c:555,1
    - Dst: os_mktime
      Src: /src/hostap/src/utils/utils_module_tests.c:556,1
    - Dst: os_mktime
      Src: /src/hostap/src/utils/utils_module_tests.c:557,1
    - Dst: os_mktime
      Src: /src/hostap/src/utils/utils_module_tests.c:558,1
    - Dst: os_mktime
      Src: /src/hostap/src/utils/utils_module_tests.c:559,1
    - Dst: os_mktime
      Src: /src/hostap/src/utils/utils_module_tests.c:560,1
    - Dst: os_mktime
      Src: /src/hostap/src/utils/utils_module_tests.c:561,1
    - Dst: os_mktime
      Src: /src/hostap/src/utils/utils_module_tests.c:562,1
    - Dst: os_mktime
      Src: /src/hostap/src/utils/utils_module_tests.c:563,1
    - Dst: os_mktime
      Src: /src/hostap/src/utils/utils_module_tests.c:564,1
    - Dst: os_mktime
      Src: /src/hostap/src/utils/utils_module_tests.c:565,1
    - Dst: os_setenv
      Src: /src/hostap/src/utils/utils_module_tests.c:568,1
    - Dst: os_setenv
      Src: /src/hostap/src/utils/utils_module_tests.c:569,1
    - Dst: os_unsetenv
      Src: /src/hostap/src/utils/utils_module_tests.c:570,1
    - Dst: os_file_exists
      Src: /src/hostap/src/utils/utils_module_tests.c:573,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/utils_module_tests.c:577,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 520
    functionDepth: 1
    functionLinenumber: 520
    functionLinenumberEnd: 582
    functionName: os_tests
    functionSourceFile: /src/hostap/src/utils/utils_module_tests.c
    functionUses: 0
    functionsReached:
    - os_file_exists
    - wpa_printf
    - os_calloc
    - os_unsetenv
    - os_sleep
    - os_mktime
    - os_free
    - os_setenv
    - os_realloc_array
    linkageType: ''
    returnType: int
    signature: int os_tests(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/utils_module_tests.c:591,1
    - Dst: os_malloc
      Src: /src/hostap/src/utils/utils_module_tests.c:593,1
    - Dst: wpabuf_alloc_ext_data
      Src: /src/hostap/src/utils/utils_module_tests.c:595,1
    - Dst: wpabuf_resize
      Src: /src/hostap/src/utils/utils_module_tests.c:597,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/utils/utils_module_tests.c:600,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/utils/utils_module_tests.c:601,1
    - Dst: os_free
      Src: /src/hostap/src/utils/utils_module_tests.c:604,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/utils/utils_module_tests.c:610,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/utils/utils_module_tests.c:614,1
    - Dst: wpabuf_resize
      Src: /src/hostap/src/utils/utils_module_tests.c:615,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/utils/utils_module_tests.c:618,1
    - Dst: wpabuf_concat
      Src: /src/hostap/src/utils/utils_module_tests.c:619,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/utils/utils_module_tests.c:622,1
    - Dst: wpabuf_zeropad
      Src: /src/hostap/src/utils/utils_module_tests.c:628,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/utils_module_tests.c:633,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 585
    functionDepth: 1
    functionLinenumber: 585
    functionLinenumberEnd: 638
    functionName: wpabuf_tests
    functionSourceFile: /src/hostap/src/utils/utils_module_tests.c
    functionUses: 0
    functionsReached:
    - wpabuf_alloc_ext_data
    - wpa_printf
    - wpabuf_put
    - wpabuf_resize
    - wpabuf_free
    - os_malloc
    - wpabuf_alloc
    - wpabuf_zeropad
    - wpabuf_concat
    - os_free
    linkageType: ''
    returnType: int
    signature: int wpabuf_tests(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/utils_module_tests.c:647,1
    - Dst: hostapd_parse_ip_addr
      Src: /src/hostap/src/utils/utils_module_tests.c:649,1
    - Dst: hostapd_ip_txt
      Src: /src/hostap/src/utils/utils_module_tests.c:651,1
    - Dst: hostapd_ip_txt
      Src: /src/hostap/src/utils/utils_module_tests.c:652,1
    - Dst: hostapd_ip_txt
      Src: /src/hostap/src/utils/utils_module_tests.c:653,1
    - Dst: hostapd_ip_txt
      Src: /src/hostap/src/utils/utils_module_tests.c:654,1
    - Dst: hostapd_parse_ip_addr
      Src: /src/hostap/src/utils/utils_module_tests.c:657,1
    - Dst: hostapd_ip_txt
      Src: /src/hostap/src/utils/utils_module_tests.c:659,1
    - Dst: hostapd_ip_txt
      Src: /src/hostap/src/utils/utils_module_tests.c:660,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/utils_module_tests.c:664,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 641
    functionDepth: 1
    functionLinenumber: 641
    functionLinenumberEnd: 669
    functionName: ip_addr_tests
    functionSourceFile: /src/hostap/src/utils/utils_module_tests.c
    functionUses: 0
    functionsReached:
    - hostapd_parse_ip_addr
    - wpa_printf
    - hostapd_ip_txt
    linkageType: ''
    returnType: int
    signature: int ip_addr_tests(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/utils_module_tests.c:689,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/utils_module_tests.c:692,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/utils_module_tests.c:697,1
    - Dst: read
      Src: /src/hostap/src/utils/utils_module_tests.c:701,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/utils_module_tests.c:702,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - sock
    - eloop_ctx
    - sock_ctx
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 704
    functionName: eloop_test_read_2
    functionSourceFile: /src/hostap/src/utils/utils_module_tests.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - read
    linkageType: ''
    returnType: void
    signature: void eloop_test_read_2(int sock, void *eloop_ctx, void *sock_ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/utils_module_tests.c:711,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/utils_module_tests.c:714,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/utils_module_tests.c:719,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/utils_module_tests.c:729,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - sock
    - eloop_ctx
    - sock_ctx
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 731
    functionName: eloop_test_read_2_wrong
    functionSourceFile: /src/hostap/src/utils/utils_module_tests.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void eloop_test_read_2_wrong(int sock, void *eloop_ctx, void *sock_ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/utils_module_tests.c:737,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/utils_module_tests.c:741,1
    - Dst: eloop_unregister_read_sock
      Src: /src/hostap/src/utils/utils_module_tests.c:742,1
    - Dst: close
      Src: /src/hostap/src/utils/utils_module_tests.c:743,1
    - Dst: close
      Src: /src/hostap/src/utils/utils_module_tests.c:745,1
    - Dst: pipe
      Src: /src/hostap/src/utils/utils_module_tests.c:748,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/utils_module_tests.c:750,1
    - Dst: strerror
      Src: /src/hostap/src/utils/utils_module_tests.c:750,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/utils_module_tests.c:756,1
    - Dst: eloop_register_read_sock
      Src: /src/hostap/src/utils/utils_module_tests.c:759,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct test_eloop*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 762
    functionName: reopen_pipefd2
    functionSourceFile: /src/hostap/src/utils/utils_module_tests.c
    functionUses: 0
    functionsReached:
    - eloop_unregister_read_sock
    - wpa_printf
    - strerror
    - eloop_register_read_sock
    - close
    - pipe
    linkageType: ''
    returnType: void
    signature: void reopen_pipefd2(struct test_eloop *t)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/utils_module_tests.c:771,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/utils_module_tests.c:774,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/utils_module_tests.c:779,1
    - Dst: read
      Src: /src/hostap/src/utils/utils_module_tests.c:783,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/utils_module_tests.c:784,1
    - Dst: reopen_pipefd2
      Src: /src/hostap/src/utils/utils_module_tests.c:788,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - sock
    - eloop_ctx
    - sock_ctx
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 765
    functionDepth: 1
    functionLinenumber: 765
    functionLinenumberEnd: 789
    functionName: eloop_test_read_1
    functionSourceFile: /src/hostap/src/utils/utils_module_tests.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - read
    - reopen_pipefd2
    linkageType: ''
    returnType: void
    signature: void eloop_test_read_1(int sock, void *eloop_ctx, void *sock_ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/utils_module_tests.c:796,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/utils_module_tests.c:799,1
    - Dst: reopen_pipefd2
      Src: /src/hostap/src/utils/utils_module_tests.c:804,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - eloop_data
    - user_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 792
    functionDepth: 1
    functionLinenumber: 792
    functionLinenumberEnd: 805
    functionName: eloop_test_cb
    functionSourceFile: /src/hostap/src/utils/utils_module_tests.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - reopen_pipefd2
    linkageType: ''
    returnType: void
    signature: void eloop_test_cb(void *eloop_data, void *user_ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/utils_module_tests.c:813,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/utils_module_tests.c:816,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/utils_module_tests.c:821,1
    - Dst: eloop_unregister_read_sock
      Src: /src/hostap/src/utils/utils_module_tests.c:822,1
    - Dst: close
      Src: /src/hostap/src/utils/utils_module_tests.c:823,1
    - Dst: close
      Src: /src/hostap/src/utils/utils_module_tests.c:825,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/utils_module_tests.c:830,1
    - Dst: eloop_unregister_read_sock
      Src: /src/hostap/src/utils/utils_module_tests.c:831,1
    - Dst: close
      Src: /src/hostap/src/utils/utils_module_tests.c:832,1
    - Dst: close
      Src: /src/hostap/src/utils/utils_module_tests.c:834,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/utils_module_tests.c:840,1
    - Dst: os_free
      Src: /src/hostap/src/utils/utils_module_tests.c:841,1
    - Dst: eloop_tests_start
      Src: /src/hostap/src/utils/utils_module_tests.c:844,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 2
    argNames:
    - eloop_data
    - user_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 808
    functionDepth: 1
    functionLinenumber: 808
    functionLinenumberEnd: 845
    functionName: eloop_test_timeout
    functionSourceFile: /src/hostap/src/utils/utils_module_tests.c
    functionUses: 0
    functionsReached:
    - eloop_unregister_read_sock
    - wpa_printf
    - eloop_tests_start
    - close
    - os_free
    linkageType: ''
    returnType: void
    signature: void eloop_test_timeout(void *eloop_data, void *user_ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/utils/utils_module_tests.c:853,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/utils_module_tests.c:859,1
    - Dst: pipe
      Src: /src/hostap/src/utils/utils_module_tests.c:862,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/utils_module_tests.c:864,1
    - Dst: strerror
      Src: /src/hostap/src/utils/utils_module_tests.c:864,1
    - Dst: os_free
      Src: /src/hostap/src/utils/utils_module_tests.c:865,1
    - Dst: pipe
      Src: /src/hostap/src/utils/utils_module_tests.c:869,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/utils_module_tests.c:871,1
    - Dst: strerror
      Src: /src/hostap/src/utils/utils_module_tests.c:871,1
    - Dst: close
      Src: /src/hostap/src/utils/utils_module_tests.c:872,1
    - Dst: close
      Src: /src/hostap/src/utils/utils_module_tests.c:873,1
    - Dst: os_free
      Src: /src/hostap/src/utils/utils_module_tests.c:874,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/utils_module_tests.c:878,1
    - Dst: eloop_register_read_sock
      Src: /src/hostap/src/utils/utils_module_tests.c:882,1
    - Dst: eloop_register_read_sock
      Src: /src/hostap/src/utils/utils_module_tests.c:883,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/utils/utils_module_tests.c:884,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/utils/utils_module_tests.c:885,1
    - Dst: write
      Src: /src/hostap/src/utils/utils_module_tests.c:887,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/utils_module_tests.c:888,1
    - Dst: strerror
      Src: /src/hostap/src/utils/utils_module_tests.c:888,1
    - Dst: write
      Src: /src/hostap/src/utils/utils_module_tests.c:889,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/utils_module_tests.c:890,1
    - Dst: strerror
      Src: /src/hostap/src/utils/utils_module_tests.c:890,1
    - Dst: os_sleep
      Src: /src/hostap/src/utils/utils_module_tests.c:891,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/utils_module_tests.c:892,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 1
    argNames:
    - close_in_timeout
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 893
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 893
    functionName: eloop_tests_start
    functionSourceFile: /src/hostap/src/utils/utils_module_tests.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - strerror
    - eloop_register_read_sock
    - os_sleep
    - write
    - os_zalloc
    - close
    - eloop_register_timeout
    - os_free
    - pipe
    linkageType: ''
    returnType: void
    signature: void eloop_tests_start(int close_in_timeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eloop_tests_start
      Src: /src/hostap/src/utils/utils_module_tests.c:898,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - eloop_data
    - user_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 896
    functionDepth: 1
    functionLinenumber: 896
    functionLinenumberEnd: 899
    functionName: eloop_tests_run
    functionSourceFile: /src/hostap/src/utils/utils_module_tests.c
    functionUses: 0
    functionsReached:
    - eloop_tests_start
    linkageType: ''
    returnType: void
    signature: void eloop_tests_run(void *eloop_data, void *user_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/utils_module_tests.c:904,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/utils/utils_module_tests.c:911,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 914
    functionName: eloop_tests
    functionSourceFile: /src/hostap/src/utils/utils_module_tests.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eloop_register_timeout
    linkageType: ''
    returnType: int
    signature: int eloop_tests(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/utils_module_tests.c:973,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/utils/utils_module_tests.c:975,1
    - Dst: json_parse
      Src: /src/hostap/src/utils/utils_module_tests.c:979,1
    - Dst: os_strlen
      Src: /src/hostap/src/utils/utils_module_tests.c:979,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/utils_module_tests.c:981,1
    - Dst: json_print_tree
      Src: /src/hostap/src/utils/utils_module_tests.c:984,1
    - Dst: os_strcmp
      Src: /src/hostap/src/utils/utils_module_tests.c:985,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/utils_module_tests.c:986,1
    - Dst: json_free
      Src: /src/hostap/src/utils/utils_module_tests.c:992,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/utils/utils_module_tests.c:998,1
    - Dst: json_parse
      Src: /src/hostap/src/utils/utils_module_tests.c:999,1
    - Dst: os_strlen
      Src: /src/hostap/src/utils/utils_module_tests.c:999,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/utils_module_tests.c:1001,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/utils_module_tests.c:1005,1
    - Dst: json_free
      Src: /src/hostap/src/utils/utils_module_tests.c:1008,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 963
    functionDepth: 1
    functionLinenumber: 963
    functionLinenumberEnd: 1014
    functionName: json_tests
    functionSourceFile: /src/hostap/src/utils/utils_module_tests.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - json_parse
    - wpa_printf
    - json_free
    - json_print_tree
    - os_strcmp
    - ARRAY_SIZE
    linkageType: ''
    returnType: int
    signature: int json_tests(void)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/utils_module_tests.c:1162,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/utils/utils_module_tests.c:1164,1
    - Dst: const_time_fill_msb
      Src: /src/hostap/src/utils/utils_module_tests.c:1168,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/utils_module_tests.c:1169,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/utils/utils_module_tests.c:1176,1
    - Dst: const_time_is_zero
      Src: /src/hostap/src/utils/utils_module_tests.c:1180,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/utils_module_tests.c:1181,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/utils/utils_module_tests.c:1188,1
    - Dst: const_time_eq
      Src: /src/hostap/src/utils/utils_module_tests.c:1192,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/utils_module_tests.c:1193,1
    - Dst: const_time_eq_u8
      Src: /src/hostap/src/utils/utils_module_tests.c:1198,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/utils_module_tests.c:1199,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/utils/utils_module_tests.c:1206,1
    - Dst: const_time_eq_bin
      Src: /src/hostap/src/utils/utils_module_tests.c:1210,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/utils_module_tests.c:1212,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/utils/utils_module_tests.c:1219,1
    - Dst: const_time_select
      Src: /src/hostap/src/utils/utils_module_tests.c:1223,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/utils_module_tests.c:1225,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/utils/utils_module_tests.c:1232,1
    - Dst: const_time_select_int
      Src: /src/hostap/src/utils/utils_module_tests.c:1236,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/utils_module_tests.c:1238,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/utils/utils_module_tests.c:1245,1
    - Dst: const_time_select_u8
      Src: /src/hostap/src/utils/utils_module_tests.c:1249,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/utils_module_tests.c:1251,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/utils/utils_module_tests.c:1258,1
    - Dst: const_time_select_s8
      Src: /src/hostap/src/utils/utils_module_tests.c:1262,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/utils_module_tests.c:1264,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/utils/utils_module_tests.c:1271,1
    - Dst: const_time_select_bin
      Src: /src/hostap/src/utils/utils_module_tests.c:1276,1
    - Dst: os_memcmp
      Src: /src/hostap/src/utils/utils_module_tests.c:1278,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/utils_module_tests.c:1279,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/utils/utils_module_tests.c:1286,1
    - Dst: const_time_memcmp
      Src: /src/hostap/src/utils/utils_module_tests.c:1291,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/utils_module_tests.c:1293,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 79
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1017
    functionDepth: 1
    functionLinenumber: 1017
    functionLinenumberEnd: 1302
    functionName: const_time_tests
    functionSourceFile: /src/hostap/src/utils/utils_module_tests.c
    functionUses: 0
    functionsReached:
    - const_time_eq_bin
    - wpa_printf
    - const_time_eq
    - const_time_select_u8
    - const_time_select_s8
    - const_time_eq_u8
    - const_time_is_zero
    - const_time_fill_msb
    - const_time_select_int
    - os_memcmp
    - const_time_select
    - const_time_memcmp
    - const_time_select_bin
    - ARRAY_SIZE
    linkageType: ''
    returnType: int
    signature: int const_time_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/utils_module_tests.c:1309,1
    - Dst: printf_encode_decode_tests
      Src: /src/hostap/src/utils/utils_module_tests.c:1311,1
    - Dst: ext_password_tests
      Src: /src/hostap/src/utils/utils_module_tests.c:1312,1
    - Dst: trace_tests
      Src: /src/hostap/src/utils/utils_module_tests.c:1313,1
    - Dst: bitfield_tests
      Src: /src/hostap/src/utils/utils_module_tests.c:1314,1
    - Dst: base64_tests
      Src: /src/hostap/src/utils/utils_module_tests.c:1315,1
    - Dst: common_tests
      Src: /src/hostap/src/utils/utils_module_tests.c:1316,1
    - Dst: os_tests
      Src: /src/hostap/src/utils/utils_module_tests.c:1317,1
    - Dst: wpabuf_tests
      Src: /src/hostap/src/utils/utils_module_tests.c:1318,1
    - Dst: ip_addr_tests
      Src: /src/hostap/src/utils/utils_module_tests.c:1319,1
    - Dst: eloop_tests
      Src: /src/hostap/src/utils/utils_module_tests.c:1320,1
    - Dst: json_tests
      Src: /src/hostap/src/utils/utils_module_tests.c:1321,1
    - Dst: const_time_tests
      Src: /src/hostap/src/utils/utils_module_tests.c:1322,1
    - Dst: int_array_tests
      Src: /src/hostap/src/utils/utils_module_tests.c:1323,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1327
      start: 1305
    functionDepth: 3
    functionLinenumber: 1305
    functionLinenumberEnd: 1327
    functionName: utils_module_tests
    functionSourceFile: /src/hostap/src/utils/utils_module_tests.c
    functionUses: 1
    functionsReached:
    - printf_encode_decode_tests
    - bitfield_tests
    - wpa_printf
    - eloop_tests
    - os_tests
    - int_array_tests
    - base64_tests
    - trace_tests
    - ext_password_tests
    - common_tests
    - const_time_tests
    - wpabuf_tests
    - json_tests
    - ip_addr_tests
    linkageType: ''
    returnType: int
    signature: int utils_module_tests(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: hexstr2bin
      Src: /src/hostap/src/utils/uuid.c:23,1
    - Dst: hexstr2bin
      Src: /src/hostap/src/utils/uuid.c:28,1
    - Dst: hexstr2bin
      Src: /src/hostap/src/utils/uuid.c:33,1
    - Dst: hexstr2bin
      Src: /src/hostap/src/utils/uuid.c:38,1
    - Dst: hexstr2bin
      Src: /src/hostap/src/utils/uuid.c:43,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - str
    - bin
    argTypes:
    - char*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 47
    functionName: uuid_str2bin
    functionSourceFile: /src/hostap/src/utils/uuid.c
    functionUses: 15
    functionsReached:
    - hexstr2bin
    linkageType: ''
    returnType: int
    signature: int uuid_str2bin(const char *str, u8 *bin)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/src/utils/uuid.c:53,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/utils/uuid.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - bin
    - str
    - max_len
    argTypes:
    - u8*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 62
    functionName: uuid_bin2str
    functionSourceFile: /src/hostap/src/utils/uuid.c
    functionUses: 25
    functionsReached:
    - os_snprintf
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: int uuid_bin2str(const u8 *bin, char *str, size_t max_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - uuid
    argTypes:
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: is_nil_uuid
    functionSourceFile: /src/hostap/src/utils/uuid.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_nil_uuid(const u8 *uuid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_get_time
      Src: /src/hostap/src/utils/uuid.c:82,1
    - Dst: os_get_random
      Src: /src/hostap/src/utils/uuid.c:83,1
    - Dst: hmac_sha256
      Src: /src/hostap/src/utils/uuid.c:84,1
    - Dst: os_memcpy
      Src: /src/hostap/src/utils/uuid.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - uuid
    argTypes:
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 96
    functionName: uuid_random
    functionSourceFile: /src/hostap/src/utils/uuid.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    - os_get_time
    - os_get_random
    - hmac_sha256
    linkageType: ''
    returnType: int
    signature: int uuid_random(u8 *uuid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/utils/eloop_win.c:77,1
    - Dst: dl_list_init
      Src: /src/hostap/src/utils/eloop_win.c:78,1
    - Dst: os_malloc
      Src: /src/hostap/src/utils/eloop_win.c:80,1
    - Dst: CreateEvent
      Src: /src/hostap/src/utils/eloop_win.c:85,1
    - Dst: printf
      Src: /src/hostap/src/utils/eloop_win.c:87,1
    - Dst: GetLastError
      Src: /src/hostap/src/utils/eloop_win.c:88,1
    - Dst: os_free
      Src: /src/hostap/src/utils/eloop_win.c:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 94
    functionName: eloop_init
    functionSourceFile: /src/hostap/src/utils/eloop_win.c
    functionUses: 16
    functionsReached:
    - GetLastError
    - os_malloc
    - printf
    - dl_list_init
    - CreateEvent
    - os_free
    - os_memset
    linkageType: ''
    returnType: int
    signature: int eloop_init(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_realloc_array
      Src: /src/hostap/src/utils/eloop_win.c:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 110
    functionName: eloop_prepare_handles
    functionSourceFile: /src/hostap/src/utils/eloop_win.c
    functionUses: 0
    functionsReached:
    - os_realloc_array
    linkageType: ''
    returnType: int
    signature: int eloop_prepare_handles(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: eloop_prepare_handles
      Src: /src/hostap/src/utils/eloop_win.c:119,1
    - Dst: WSACreateEvent
      Src: /src/hostap/src/utils/eloop_win.c:122,1
    - Dst: printf
      Src: /src/hostap/src/utils/eloop_win.c:124,1
    - Dst: WSAGetLastError
      Src: /src/hostap/src/utils/eloop_win.c:124,1
    - Dst: WSAEventSelect
      Src: /src/hostap/src/utils/eloop_win.c:128,1
    - Dst: printf
      Src: /src/hostap/src/utils/eloop_win.c:129,1
    - Dst: WSAGetLastError
      Src: /src/hostap/src/utils/eloop_win.c:129,1
    - Dst: WSACloseEvent
      Src: /src/hostap/src/utils/eloop_win.c:130,1
    - Dst: os_realloc_array
      Src: /src/hostap/src/utils/eloop_win.c:133,1
    - Dst: WSAEventSelect
      Src: /src/hostap/src/utils/eloop_win.c:136,1
    - Dst: WSACloseEvent
      Src: /src/hostap/src/utils/eloop_win.c:137,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 4
    argNames:
    - sock
    - handler
    - eloop_data
    - user_data
    argTypes:
    - int
    - eloop_sock_handler
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 153
    functionName: eloop_register_read_sock
    functionSourceFile: /src/hostap/src/utils/eloop_win.c
    functionUses: 40
    functionsReached:
    - WSACloseEvent
    - WSAEventSelect
    - printf
    - eloop_prepare_handles
    - WSACreateEvent
    - WSAGetLastError
    - os_realloc_array
    linkageType: ''
    returnType: int
    signature: "int eloop_register_read_sock(int sock, eloop_sock_handler handler,\n\t\t\t
      \    void *eloop_data, void *user_data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: WSAEventSelect
      Src: /src/hostap/src/utils/eloop_win.c:170,1
    - Dst: WSACloseEvent
      Src: /src/hostap/src/utils/eloop_win.c:171,1
    - Dst: os_memmove
      Src: /src/hostap/src/utils/eloop_win.c:174,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - sock
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 180
    functionName: eloop_unregister_read_sock
    functionSourceFile: /src/hostap/src/utils/eloop_win.c
    functionUses: 42
    functionsReached:
    - WSAEventSelect
    - WSACloseEvent
    - os_memmove
    linkageType: ''
    returnType: void
    signature: void eloop_unregister_read_sock(int sock)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: eloop_prepare_handles
      Src: /src/hostap/src/utils/eloop_win.c:193,1
    - Dst: os_realloc_array
      Src: /src/hostap/src/utils/eloop_win.c:196,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 5
    argNames:
    - event
    - event_size
    - handler
    - eloop_data
    - user_data
    argTypes:
    - void*
    - size_t
    - eloop_event_handler
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 209
    functionName: eloop_register_event
    functionSourceFile: /src/hostap/src/utils/eloop_win.c
    functionUses: 5
    functionsReached:
    - eloop_prepare_handles
    - os_realloc_array
    linkageType: ''
    returnType: int
    signature: "int eloop_register_event(void *event, size_t event_size,\n\t\t\t eloop_event_handler
      handler,\n\t\t\t void *eloop_data, void *user_data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_memmove
      Src: /src/hostap/src/utils/eloop_win.c:229,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - event
    - event_size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 234
    functionName: eloop_unregister_event
    functionSourceFile: /src/hostap/src/utils/eloop_win.c
    functionUses: 7
    functionsReached:
    - os_memmove
    linkageType: ''
    returnType: void
    signature: void eloop_unregister_event(void *event, size_t event_size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/utils/eloop_win.c:244,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/utils/eloop_win.c:247,1
    - Dst: os_free
      Src: /src/hostap/src/utils/eloop_win.c:248,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/eloop_win.c:258,1
    - Dst: os_free
      Src: /src/hostap/src/utils/eloop_win.c:260,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/utils/eloop_win.c:273,1
    - Dst: os_reltime_before
      Src: /src/hostap/src/utils/eloop_win.c:274,1
    - Dst: dl_list_add
      Src: /src/hostap/src/utils/eloop_win.c:275,1
    - Dst: dl_list_add_tail
      Src: /src/hostap/src/utils/eloop_win.c:279,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 5
    argNames:
    - secs
    - usecs
    - handler
    - eloop_data
    - user_data
    argTypes:
    - unsigned int
    - unsigned int
    - eloop_timeout_handler
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 237
    functionDepth: 2
    functionLinenumber: 237
    functionLinenumberEnd: 282
    functionName: eloop_register_timeout
    functionSourceFile: /src/hostap/src/utils/eloop_win.c
    functionUses: 314
    functionsReached:
    - os_get_reltime
    - wpa_printf
    - dl_list_add_tail
    - dl_list_for_each
    - os_zalloc
    - dl_list_add
    - os_free
    - os_reltime_before
    linkageType: ''
    returnType: int
    signature: "int eloop_register_timeout(unsigned int secs, unsigned int usecs,\n\t\t\t
      \  eloop_timeout_handler handler,\n\t\t\t   void *eloop_data, void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_del
      Src: /src/hostap/src/utils/eloop_win.c:287,1
    - Dst: os_free
      Src: /src/hostap/src/utils/eloop_win.c:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - timeout
    argTypes:
    - struct eloop_timeout*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: eloop_remove_timeout
    functionSourceFile: /src/hostap/src/utils/eloop_win.c
    functionUses: 0
    functionsReached:
    - os_free
    - dl_list_del
    linkageType: ''
    returnType: void
    signature: void eloop_remove_timeout(struct eloop_timeout *timeout)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/utils/eloop_win.c:298,1
    - Dst: eloop_remove_timeout
      Src: /src/hostap/src/utils/eloop_win.c:305,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - handler
    - eloop_data
    - user_data
    argTypes:
    - eloop_timeout_handler
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 311
    functionName: eloop_cancel_timeout
    functionSourceFile: /src/hostap/src/utils/eloop_win.c
    functionUses: 362
    functionsReached:
    - eloop_remove_timeout
    - dl_list_for_each_safe
    linkageType: ''
    returnType: int
    signature: "int eloop_cancel_timeout(eloop_timeout_handler handler,\n\t\t\t void
      *eloop_data, void *user_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_get_reltime
      Src: /src/hostap/src/utils/eloop_win.c:322,1
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/utils/eloop_win.c:325,1
    - Dst: os_reltime_before
      Src: /src/hostap/src/utils/eloop_win.c:331,1
    - Dst: os_reltime_sub
      Src: /src/hostap/src/utils/eloop_win.c:332,1
    - Dst: eloop_remove_timeout
      Src: /src/hostap/src/utils/eloop_win.c:333,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - handler
    - eloop_data
    - user_data
    - remaining
    argTypes:
    - eloop_timeout_handler
    - void*
    - void*
    - struct os_reltime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 338
    functionName: eloop_cancel_timeout_one
    functionSourceFile: /src/hostap/src/utils/eloop_win.c
    functionUses: 1
    functionsReached:
    - os_get_reltime
    - eloop_remove_timeout
    - os_reltime_sub
    - os_reltime_before
    - dl_list_for_each_safe
    linkageType: ''
    returnType: int
    signature: "int eloop_cancel_timeout_one(eloop_timeout_handler handler,\n\t\t\t
      \    void *eloop_data, void *user_data,\n\t\t\t     struct os_reltime *remaining)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/utils/eloop_win.c:346,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - handler
    - eloop_data
    - user_data
    argTypes:
    - eloop_timeout_handler
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 354
    functionName: eloop_is_timeout_registered
    functionSourceFile: /src/hostap/src/utils/eloop_win.c
    functionUses: 16
    functionsReached:
    - dl_list_for_each
    linkageType: ''
    returnType: int
    signature: "int eloop_is_timeout_registered(eloop_timeout_handler handler,\n\t\t\t\tvoid
      *eloop_data, void *user_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/utils/eloop_win.c:364,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/utils/eloop_win.c:370,1
    - Dst: os_reltime_sub
      Src: /src/hostap/src/utils/eloop_win.c:371,1
    - Dst: os_reltime_before
      Src: /src/hostap/src/utils/eloop_win.c:372,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/utils/eloop_win.c:373,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/utils/eloop_win.c:375,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 5
    argNames:
    - req_secs
    - req_usecs
    - handler
    - eloop_data
    - user_data
    argTypes:
    - unsigned int
    - unsigned int
    - eloop_timeout_handler
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 386
    functionName: eloop_deplete_timeout
    functionSourceFile: /src/hostap/src/utils/eloop_win.c
    functionUses: 5
    functionsReached:
    - os_get_reltime
    - eloop_cancel_timeout
    - dl_list_for_each
    - os_reltime_sub
    - eloop_register_timeout
    - os_reltime_before
    linkageType: ''
    returnType: int
    signature: "int eloop_deplete_timeout(unsigned int req_secs, unsigned int req_usecs,\n\t\t\t
      \ eloop_timeout_handler handler, void *eloop_data,\n\t\t\t  void *user_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/utils/eloop_win.c:396,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/utils/eloop_win.c:402,1
    - Dst: os_reltime_sub
      Src: /src/hostap/src/utils/eloop_win.c:403,1
    - Dst: os_reltime_before
      Src: /src/hostap/src/utils/eloop_win.c:404,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/utils/eloop_win.c:405,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/utils/eloop_win.c:407,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 5
    argNames:
    - req_secs
    - req_usecs
    - handler
    - eloop_data
    - user_data
    argTypes:
    - unsigned int
    - unsigned int
    - eloop_timeout_handler
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 418
    functionName: eloop_replenish_timeout
    functionSourceFile: /src/hostap/src/utils/eloop_win.c
    functionUses: 5
    functionsReached:
    - os_get_reltime
    - eloop_cancel_timeout
    - dl_list_for_each
    - os_reltime_sub
    - eloop_register_timeout
    - os_reltime_before
    linkageType: ''
    returnType: int
    signature: "int eloop_replenish_timeout(unsigned int req_secs, unsigned int req_usecs,\n\t\t\t
      \   eloop_timeout_handler handler, void *eloop_data,\n\t\t\t    void *user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 434
    functionName: eloop_handle_signal
    functionSourceFile: /src/hostap/src/utils/eloop_win.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void eloop_handle_signal(int sig)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: handler
      Src: /src/hostap/src/utils/eloop_win.c:453,1
    - Dst: term_signal::handler
      Src: /src/hostap/src/utils/eloop_win.c:460,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 463
    functionName: eloop_process_pending_signals
    functionSourceFile: /src/hostap/src/utils/eloop_win.c
    functionUses: 0
    functionsReached:
    - term_signal::handler
    - handler
    linkageType: ''
    returnType: void
    signature: void eloop_process_pending_signals(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_realloc_array
      Src: /src/hostap/src/utils/eloop_win.c:471,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - sig
    - handler
    - user_data
    argTypes:
    - int
    - eloop_signal_handler
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 466
    functionDepth: 1
    functionLinenumber: 466
    functionLinenumberEnd: 486
    functionName: eloop_register_signal
    functionSourceFile: /src/hostap/src/utils/eloop_win.c
    functionUses: 2
    functionsReached:
    - os_realloc_array
    linkageType: ''
    returnType: int
    signature: "int eloop_register_signal(int sig, eloop_signal_handler handler,\n\t\t\t
      \ void *user_data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SetEvent
      Src: /src/hostap/src/utils/eloop_win.c:497,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - type
    argTypes:
    - DWORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 502
    functionName: eloop_handle_console_ctrl
    functionSourceFile: /src/hostap/src/utils/eloop_win.c
    functionUses: 0
    functionsReached:
    - SetEvent
    linkageType: ''
    returnType: BOOL
    signature: BOOL eloop_handle_console_ctrl(DWORD type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SetConsoleCtrlHandler
      Src: /src/hostap/src/utils/eloop_win.c:510,1
    - Dst: printf
      Src: /src/hostap/src/utils/eloop_win.c:512,1
    - Dst: GetLastError
      Src: /src/hostap/src/utils/eloop_win.c:513,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - handler
    - user_data
    argTypes:
    - eloop_signal_handler
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 522
    functionName: eloop_register_signal_terminate
    functionSourceFile: /src/hostap/src/utils/eloop_win.c
    functionUses: 9
    functionsReached:
    - SetConsoleCtrlHandler
    - GetLastError
    - printf
    linkageType: ''
    returnType: int
    signature: "int eloop_register_signal_terminate(eloop_signal_handler handler,\n\t\t\t\t
      \   void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - handler
    - user_data
    argTypes:
    - eloop_signal_handler
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 530
    functionName: eloop_register_signal_reconfig
    functionSourceFile: /src/hostap/src/utils/eloop_win.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int eloop_register_signal_reconfig(eloop_signal_handler handler,\n\t\t\t\t
      \  void *user_data)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_empty
      Src: /src/hostap/src/utils/eloop_win.c:540,1
    - Dst: dl_list_first
      Src: /src/hostap/src/utils/eloop_win.c:544,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/utils/eloop_win.c:547,1
    - Dst: os_reltime_before
      Src: /src/hostap/src/utils/eloop_win.c:548,1
    - Dst: os_reltime_sub
      Src: /src/hostap/src/utils/eloop_win.c:549,1
    - Dst: printf
      Src: /src/hostap/src/utils/eloop_win.c:568,1
    - Dst: WaitForMultipleObjects
      Src: /src/hostap/src/utils/eloop_win.c:574,1
    - Dst: WaitForMultipleObjectsEx
      Src: /src/hostap/src/utils/eloop_win.c:577,1
    - Dst: GetLastError
      Src: /src/hostap/src/utils/eloop_win.c:580,1
    - Dst: eloop_process_pending_signals
      Src: /src/hostap/src/utils/eloop_win.c:582,1
    - Dst: dl_list_first
      Src: /src/hostap/src/utils/eloop_win.c:585,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/utils/eloop_win.c:588,1
    - Dst: os_reltime_before
      Src: /src/hostap/src/utils/eloop_win.c:589,1
    - Dst: eloop_remove_timeout
      Src: /src/hostap/src/utils/eloop_win.c:594,1
    - Dst: handler
      Src: /src/hostap/src/utils/eloop_win.c:595,1
    - Dst: printf
      Src: /src/hostap/src/utils/eloop_win.c:601,1
    - Dst: os_sleep
      Src: /src/hostap/src/utils/eloop_win.c:603,1
    - Dst: handler
      Src: /src/hostap/src/utils/eloop_win.c:617,1
    - Dst: WaitForMultipleObjects
      Src: /src/hostap/src/utils/eloop_win.c:620,1
    - Dst: WSAEnumNetworkEvents
      Src: /src/hostap/src/utils/eloop_win.c:627,1
    - Dst: handler
      Src: /src/hostap/src/utils/eloop_win.c:631,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 533
    functionDepth: 1
    functionLinenumber: 533
    functionLinenumberEnd: 640
    functionName: eloop_run
    functionSourceFile: /src/hostap/src/utils/eloop_win.c
    functionUses: 17
    functionsReached:
    - os_get_reltime
    - dl_list_empty
    - GetLastError
    - WaitForMultipleObjectsEx
    - dl_list_first
    - eloop_remove_timeout
    - os_sleep
    - WSAEnumNetworkEvents
    - printf
    - WaitForMultipleObjects
    - os_reltime_sub
    - eloop_process_pending_signals
    - handler
    - os_reltime_before
    linkageType: ''
    returnType: void
    signature: void eloop_run(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetEvent
      Src: /src/hostap/src/utils/eloop_win.c:646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 647
    functionName: eloop_terminate
    functionSourceFile: /src/hostap/src/utils/eloop_win.c
    functionUses: 38
    functionsReached:
    - SetEvent
    linkageType: ''
    returnType: void
    signature: void eloop_terminate(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/utils/eloop_win.c:654,1
    - Dst: eloop_remove_timeout
      Src: /src/hostap/src/utils/eloop_win.c:656,1
    - Dst: os_free
      Src: /src/hostap/src/utils/eloop_win.c:658,1
    - Dst: os_free
      Src: /src/hostap/src/utils/eloop_win.c:659,1
    - Dst: CloseHandle
      Src: /src/hostap/src/utils/eloop_win.c:661,1
    - Dst: os_free
      Src: /src/hostap/src/utils/eloop_win.c:662,1
    - Dst: os_free
      Src: /src/hostap/src/utils/eloop_win.c:664,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 666
    functionName: eloop_destroy
    functionSourceFile: /src/hostap/src/utils/eloop_win.c
    functionUses: 16
    functionsReached:
    - os_free
    - eloop_remove_timeout
    - CloseHandle
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: void eloop_destroy(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 672
    functionName: eloop_terminated
    functionSourceFile: /src/hostap/src/utils/eloop_win.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int eloop_terminated(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WSACreateEvent
      Src: /src/hostap/src/utils/eloop_win.c:679,1
    - Dst: printf
      Src: /src/hostap/src/utils/eloop_win.c:681,1
    - Dst: WSAGetLastError
      Src: /src/hostap/src/utils/eloop_win.c:681,1
    - Dst: WSAEventSelect
      Src: /src/hostap/src/utils/eloop_win.c:685,1
    - Dst: printf
      Src: /src/hostap/src/utils/eloop_win.c:686,1
    - Dst: WSAGetLastError
      Src: /src/hostap/src/utils/eloop_win.c:686,1
    - Dst: WSACloseEvent
      Src: /src/hostap/src/utils/eloop_win.c:687,1
    - Dst: WaitForSingleObject
      Src: /src/hostap/src/utils/eloop_win.c:691,1
    - Dst: WSAEventSelect
      Src: /src/hostap/src/utils/eloop_win.c:692,1
    - Dst: WSACloseEvent
      Src: /src/hostap/src/utils/eloop_win.c:693,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - sock
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 694
    functionName: eloop_wait_for_read_sock
    functionSourceFile: /src/hostap/src/utils/eloop_win.c
    functionUses: 2
    functionsReached:
    - WSACloseEvent
    - WSAEventSelect
    - WaitForSingleObject
    - printf
    - WSACreateEvent
    - WSAGetLastError
    linkageType: ''
    returnType: void
    signature: void eloop_wait_for_read_sock(int sock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 700
    functionName: eloop_sock_requeue
    functionSourceFile: /src/hostap/src/utils/eloop_win.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int eloop_sock_requeue(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/utils/ext_password_test.c:24,1
    - Dst: os_strdup
      Src: /src/hostap/src/utils/ext_password_test.c:29,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - params
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 32
    functionName: ext_password_test_init
    functionSourceFile: /src/hostap/src/utils/ext_password_test.c
    functionUses: 0
    functionsReached:
    - os_zalloc
    - os_strdup
    linkageType: ''
    returnType: void
    signature: void * ext_password_test_init(const char *params)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: str_clear_free
      Src: /src/hostap/src/utils/ext_password_test.c:39,1
    - Dst: os_free
      Src: /src/hostap/src/utils/ext_password_test.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: ext_password_test_deinit
    functionSourceFile: /src/hostap/src/utils/ext_password_test.c
    functionUses: 0
    functionsReached:
    - os_free
    - str_clear_free
    linkageType: ''
    returnType: void
    signature: void ext_password_test_deinit(void *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/ext_password_test.c:50,1
    - Dst: os_strlen
      Src: /src/hostap/src/utils/ext_password_test.c:55,1
    - Dst: os_strncmp
      Src: /src/hostap/src/utils/ext_password_test.c:58,1
    - Dst: ext_password_alloc
      Src: /src/hostap/src/utils/ext_password_test.c:64,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/utils/ext_password_test.c:67,1
    - Dst: wpa_hexdump_ascii_key
      Src: /src/hostap/src/utils/ext_password_test.c:68,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/utils/ext_password_test.c:69,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/utils/ext_password_test.c:70,1
    - Dst: os_strchr
      Src: /src/hostap/src/utils/ext_password_test.c:74,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/ext_password_test.c:79,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 2
    argNames:
    - ctx
    - name
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 82
    functionName: ext_password_test_get
    functionSourceFile: /src/hostap/src/utils/ext_password_test.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - wpabuf_put_data
    - ext_password_alloc
    - wpabuf_len
    - os_strncmp
    - wpabuf_head
    - wpa_hexdump_ascii_key
    - os_strchr
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * ext_password_test_get(void *ctx, const char *name)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 25
    functionName: hex2num
    functionSourceFile: /src/hostap/src/utils/common.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int hex2num(char c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hex2num
      Src: /src/hostap/src/utils/common.c:31,1
    - Dst: hex2num
      Src: /src/hostap/src/utils/common.c:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - hex
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 38
    functionName: hex2byte
    functionSourceFile: /src/hostap/src/utils/common.c
    functionUses: 4
    functionsReached:
    - hex2num
    linkageType: ''
    returnType: int
    signature: int hex2byte(const char *hex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hex2byte
      Src: /src/hostap/src/utils/common.c:48,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - txt
    - addr
    argTypes:
    - char*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 57
    functionName: hwaddr_parse
    functionSourceFile: /src/hostap/src/utils/common.c
    functionUses: 0
    functionsReached:
    - hex2byte
    linkageType: ''
    returnType: char
    signature: char * hwaddr_parse(const char *txt, u8 *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hwaddr_parse
      Src: /src/hostap/src/utils/common.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - txt
    - addr
    argTypes:
    - char*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 3
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: hwaddr_aton
    functionSourceFile: /src/hostap/src/utils/common.c
    functionUses: 163
    functionsReached:
    - hwaddr_parse
    linkageType: ''
    returnType: int
    signature: int hwaddr_aton(const char *txt, u8 *addr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hwaddr_parse
      Src: /src/hostap/src/utils/common.c:85,1
    - Dst: isspace
      Src: /src/hostap/src/utils/common.c:90,1
    - Dst: os_memset
      Src: /src/hostap/src/utils/common.c:92,1
    - Dst: hwaddr_parse
      Src: /src/hostap/src/utils/common.c:95,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 4
    argNames:
    - txt
    - addr
    - mask
    - maskable
    argTypes:
    - char*
    - u8*
    - u8*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 80
    functionDepth: 3
    functionLinenumber: 80
    functionLinenumberEnd: 105
    functionName: hwaddr_masked_aton
    functionSourceFile: /src/hostap/src/utils/common.c
    functionUses: 1
    functionsReached:
    - isspace
    - hwaddr_parse
    - os_memset
    linkageType: ''
    returnType: int
    signature: int hwaddr_masked_aton(const char *txt, u8 *addr, u8 *mask, u8 maskable)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hex2num
      Src: /src/hostap/src/utils/common.c:121,1
    - Dst: hex2num
      Src: /src/hostap/src/utils/common.c:124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - txt
    - addr
    argTypes:
    - char*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 131
    functionName: hwaddr_compact_aton
    functionSourceFile: /src/hostap/src/utils/common.c
    functionUses: 1
    functionsReached:
    - hex2num
    linkageType: ''
    returnType: int
    signature: int hwaddr_compact_aton(const char *txt, u8 *addr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hex2num
      Src: /src/hostap/src/utils/common.c:150,1
    - Dst: hex2num
      Src: /src/hostap/src/utils/common.c:153,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - txt
    - addr
    argTypes:
    - char*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 160
    functionName: hwaddr_aton2
    functionSourceFile: /src/hostap/src/utils/common.c
    functionUses: 18
    functionsReached:
    - hex2num
    linkageType: ''
    returnType: int
    signature: int hwaddr_aton2(const char *txt, u8 *addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hex2byte
      Src: /src/hostap/src/utils/common.c:179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - hex
    - buf
    - len
    argTypes:
    - char*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 186
    functionName: hexstr2bin
    functionSourceFile: /src/hostap/src/utils/common.c
    functionUses: 134
    functionsReached:
    - hex2byte
    linkageType: ''
    returnType: int
    signature: int hexstr2bin(const char *hex, u8 *buf, size_t len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/src/utils/common.c:203,1
    - Dst: MAC2STR
      Src: /src/hostap/src/utils/common.c:204,1
    - Dst: MAC2STR
      Src: /src/hostap/src/utils/common.c:204,1
    - Dst: os_snprintf
      Src: /src/hostap/src/utils/common.c:206,1
    - Dst: MAC2STR
      Src: /src/hostap/src/utils/common.c:206,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/utils/common.c:207,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - buf
    - len
    - addr
    - mask
    argTypes:
    - char*
    - size_t
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 210
    functionName: hwaddr_mask_txt
    functionSourceFile: /src/hostap/src/utils/common.c
    functionUses: 2
    functionsReached:
    - os_snprintf
    - MAC2STR
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: int hwaddr_mask_txt(char *buf, size_t len, const u8 *addr, const u8
      *mask)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - counter
    - len
    argTypes:
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 231
    functionName: inc_byte_array
    functionSourceFile: /src/hostap/src/utils/common.c
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void inc_byte_array(u8 *counter, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - buf
    - len
    - bits
    argTypes:
    - u8*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 241
    functionName: buf_shift_right
    functionSourceFile: /src/hostap/src/utils/common.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void buf_shift_right(u8 *buf, size_t len, size_t bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_get_time
      Src: /src/hostap/src/utils/common.c:251,1
    - Dst: host_to_be32
      Src: /src/hostap/src/utils/common.c:256,1
    - Dst: os_memcpy
      Src: /src/hostap/src/utils/common.c:257,1
    - Dst: host_to_be32
      Src: /src/hostap/src/utils/common.c:258,1
    - Dst: os_memcpy
      Src: /src/hostap/src/utils/common.c:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - buf
    argTypes:
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 260
    functionName: wpa_get_ntp_timestamp
    functionSourceFile: /src/hostap/src/utils/common.c
    functionUses: 3
    functionsReached:
    - host_to_be32
    - os_memcpy
    - os_get_time
    linkageType: ''
    returnType: void
    signature: void wpa_get_ntp_timestamp(u8 *buf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/hostap/src/utils/common.c:280,1
    - Dst: vsnprintf
      Src: /src/hostap/src/utils/common.c:281,1
    - Dst: va_end
      Src: /src/hostap/src/utils/common.c:282,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - buf
    - size
    - fmt
    argTypes:
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 290
    functionName: wpa_scnprintf
    functionSourceFile: /src/hostap/src/utils/common.c
    functionUses: 6
    functionsReached:
    - va_start
    - vsnprintf
    - va_end
    linkageType: ''
    returnType: int
    signature: int wpa_scnprintf(char *buf, size_t size, const char *fmt, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/src/utils/common.c:304,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/utils/common.c:306,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - buf
    - buf_size
    - data
    - len
    - sep
    argTypes:
    - char*
    - size_t
    - u8*
    - size_t
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 314
    functionName: wpa_snprintf_hex_sep
    functionSourceFile: /src/hostap/src/utils/common.c
    functionUses: 2
    functionsReached:
    - os_snprintf
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int wpa_snprintf_hex_sep(char *buf, size_t buf_size, const u8 *data,
      size_t len,\n\t\t\t char sep)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/src/utils/common.c:326,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/utils/common.c:328,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - buf
    - buf_size
    - data
    - len
    - uppercase
    argTypes:
    - char*
    - size_t
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 336
    functionName: _wpa_snprintf_hex
    functionSourceFile: /src/hostap/src/utils/common.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int _wpa_snprintf_hex(char *buf, size_t buf_size, const u8 *data,\n\t\t\t\t
      \   size_t len, int uppercase)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _wpa_snprintf_hex
      Src: /src/hostap/src/utils/common.c:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - buf
    - buf_size
    - data
    - len
    argTypes:
    - char*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 346
    functionDepth: 2
    functionLinenumber: 346
    functionLinenumberEnd: 349
    functionName: wpa_snprintf_hex
    functionSourceFile: /src/hostap/src/utils/common.c
    functionUses: 131
    functionsReached:
    - _wpa_snprintf_hex
    linkageType: ''
    returnType: int
    signature: int wpa_snprintf_hex(char *buf, size_t buf_size, const u8 *data, size_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _wpa_snprintf_hex
      Src: /src/hostap/src/utils/common.c:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - buf
    - buf_size
    - data
    - len
    argTypes:
    - char*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 360
    functionDepth: 2
    functionLinenumber: 360
    functionLinenumberEnd: 364
    functionName: wpa_snprintf_hex_uppercase
    functionSourceFile: /src/hostap/src/utils/common.c
    functionUses: 20
    functionsReached:
    - _wpa_snprintf_hex
    linkageType: ''
    returnType: int
    signature: "int wpa_snprintf_hex_uppercase(char *buf, size_t buf_size, const u8
      *data,\n\t\t\t       size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/common.c:372,1
    - Dst: GetLastError
      Src: /src/hostap/src/utils/common.c:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 374
    functionName: perror
    functionSourceFile: /src/hostap/src/utils/common.c
    functionUses: 11
    functionsReached:
    - wpa_printf
    - GetLastError
    linkageType: ''
    returnType: void
    signature: void perror(const char *s)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/src/utils/common.c:399,1
    - Dst: os_strchr
      Src: /src/hostap/src/utils/common.c:406,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 3
    argNames:
    - argc
    - argv
    - optstring
    argTypes:
    - int
    - char*[]
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 437
    functionName: getopt
    functionSourceFile: /src/hostap/src/utils/common.c
    functionUses: 10
    functionsReached:
    - os_strchr
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: int getopt(int argc, char *const argv[], const char *optstring)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - str
    argTypes:
    - TCHAR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 458
    functionName: wpa_unicode2ascii_inplace
    functionSourceFile: /src/hostap/src/utils/common.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wpa_unicode2ascii_inplace(TCHAR *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/utils/common.c:465,1
    - Dst: strlen
      Src: /src/hostap/src/utils/common.c:465,1
    - Dst: wsprintf
      Src: /src/hostap/src/utils/common.c:468,1
    - Dst: os_strdup
      Src: /src/hostap/src/utils/common.c:471,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 473
    functionName: wpa_strdup_tchar
    functionSourceFile: /src/hostap/src/utils/common.c
    functionUses: 6
    functionsReached:
    - wsprintf
    - os_malloc
    - os_strdup
    - strlen
    linkageType: ''
    returnType: TCHAR
    signature: TCHAR * wpa_strdup_tchar(const char *str)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/src/utils/common.c:515,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 4
    argNames:
    - txt
    - maxlen
    - data
    - len
    argTypes:
    - char*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 523
    functionName: printf_encode
    functionSourceFile: /src/hostap/src/utils/common.c
    functionUses: 8
    functionsReached:
    - os_snprintf
    linkageType: ''
    returnType: void
    signature: void printf_encode(char *txt, size_t maxlen, const u8 *data, size_t
      len)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: hex2byte
      Src: /src/hostap/src/utils/common.c:565,1
    - Dst: hex2num
      Src: /src/hostap/src/utils/common.c:567,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 73
    argCount: 3
    argNames:
    - buf
    - maxlen
    - str
    argTypes:
    - u8*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 526
    functionDepth: 2
    functionLinenumber: 526
    functionLinenumberEnd: 605
    functionName: printf_decode
    functionSourceFile: /src/hostap/src/utils/common.c
    functionUses: 1
    functionsReached:
    - hex2byte
    - hex2num
    linkageType: ''
    returnType: size_t
    signature: size_t printf_decode(u8 *buf, size_t maxlen, const char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf_encode
      Src: /src/hostap/src/utils/common.c:631,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ssid
    - ssid_len
    argTypes:
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 622
    functionDepth: 1
    functionLinenumber: 622
    functionLinenumberEnd: 633
    functionName: wpa_ssid_txt
    functionSourceFile: /src/hostap/src/utils/common.c
    functionUses: 68
    functionsReached:
    - printf_encode
    linkageType: ''
    returnType: char
    signature: char * wpa_ssid_txt(const u8 *ssid, size_t ssid_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - foo
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 639
    functionName: __hide_aliasing_typecast
    functionSourceFile: /src/hostap/src/utils/common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * __hide_aliasing_typecast(void *foo)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: os_strrchr
      Src: /src/hostap/src/utils/common.c:648,1
    - Dst: dup_binstr
      Src: /src/hostap/src/utils/common.c:652,1
    - Dst: os_strrchr
      Src: /src/hostap/src/utils/common.c:661,1
    - Dst: dup_binstr
      Src: /src/hostap/src/utils/common.c:665,1
    - Dst: os_malloc
      Src: /src/hostap/src/utils/common.c:669,1
    - Dst: os_free
      Src: /src/hostap/src/utils/common.c:671,1
    - Dst: printf_decode
      Src: /src/hostap/src/utils/common.c:675,1
    - Dst: os_free
      Src: /src/hostap/src/utils/common.c:676,1
    - Dst: os_strlen
      Src: /src/hostap/src/utils/common.c:681,1
    - Dst: os_malloc
      Src: /src/hostap/src/utils/common.c:685,1
    - Dst: hexstr2bin
      Src: /src/hostap/src/utils/common.c:688,1
    - Dst: os_free
      Src: /src/hostap/src/utils/common.c:689,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 2
    argNames:
    - value
    - len
    argTypes:
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 642
    functionDepth: 3
    functionLinenumber: 642
    functionLinenumberEnd: 696
    functionName: wpa_config_parse_string
    functionSourceFile: /src/hostap/src/utils/common.c
    functionUses: 8
    functionsReached:
    - os_strlen
    - hexstr2bin
    - printf_decode
    - os_malloc
    - os_strrchr
    - os_free
    - dup_binstr
    linkageType: ''
    returnType: char
    signature: char * wpa_config_parse_string(const char *value, size_t *len)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 708
    functionName: is_hex
    functionSourceFile: /src/hostap/src/utils/common.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_hex(const u8 *data, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 720
    functionName: has_ctrl_char
    functionSourceFile: /src/hostap/src/utils/common.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int has_ctrl_char(const u8 *data, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 731
    functionName: has_newline
    functionSourceFile: /src/hostap/src/utils/common.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int has_newline(const char *str)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/utils/common.c:740,1
    - Dst: os_memcpy
      Src: /src/hostap/src/utils/common.c:744,1
    - Dst: os_memcpy
      Src: /src/hostap/src/utils/common.c:748,1
    - Dst: os_memcpy
      Src: /src/hostap/src/utils/common.c:754,1
    - Dst: os_memcpy
      Src: /src/hostap/src/utils/common.c:758,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 6
    argNames:
    - res
    - res_len
    - src1
    - src1_len
    - src2
    - src2_len
    argTypes:
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 763
    functionName: merge_byte_arrays
    functionSourceFile: /src/hostap/src/utils/common.c
    functionUses: 5
    functionsReached:
    - os_memcpy
    - os_memset
    linkageType: ''
    returnType: size_t
    signature: "size_t merge_byte_arrays(u8 *res, size_t res_len,\n\t\t\t const u8
      *src1, size_t src1_len,\n\t\t\t const u8 *src2, size_t src2_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/utils/common.c:772,1
    - Dst: os_memcpy
      Src: /src/hostap/src/utils/common.c:775,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - src
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 779
    functionName: dup_binstr
    functionSourceFile: /src/hostap/src/utils/common.c
    functionUses: 27
    functionsReached:
    - os_memcpy
    - os_malloc
    linkageType: ''
    returnType: char
    signature: char * dup_binstr(const void *src, size_t len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/utils/common.c:795,1
    - Dst: os_realloc_array
      Src: /src/hostap/src/utils/common.c:798,1
    - Dst: os_free
      Src: /src/hostap/src/utils/common.c:801,1
    - Dst: atoi
      Src: /src/hostap/src/utils/common.c:805,1
    - Dst: os_strchr
      Src: /src/hostap/src/utils/common.c:806,1
    - Dst: os_strchr
      Src: /src/hostap/src/utils/common.c:807,1
    - Dst: atoi
      Src: /src/hostap/src/utils/common.c:810,1
    - Dst: os_free
      Src: /src/hostap/src/utils/common.c:819,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - res
    - value
    argTypes:
    - struct wpa_freq_range_list*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 782
    functionDepth: 1
    functionLinenumber: 782
    functionLinenumberEnd: 824
    functionName: freq_range_list_parse
    functionSourceFile: /src/hostap/src/utils/common.c
    functionUses: 9
    functionsReached:
    - os_free
    - atoi
    - os_strchr
    - os_realloc_array
    linkageType: ''
    returnType: int
    signature: int freq_range_list_parse(struct wpa_freq_range_list *res, const char
      *value)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - list
    - freq
    argTypes:
    - struct wpa_freq_range_list*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 827
    functionDepth: 0
    functionLinenumber: 827
    functionLinenumberEnd: 841
    functionName: freq_range_list_includes
    functionSourceFile: /src/hostap/src/utils/common.c
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int freq_range_list_includes(const struct wpa_freq_range_list *list,\n\t\t\t
      \    unsigned int freq)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/utils/common.c:855,1
    - Dst: os_snprintf
      Src: /src/hostap/src/utils/common.c:865,1
    - Dst: os_snprintf
      Src: /src/hostap/src/utils/common.c:868,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/utils/common.c:871,1
    - Dst: os_free
      Src: /src/hostap/src/utils/common.c:872,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - list
    argTypes:
    - struct wpa_freq_range_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 844
    functionDepth: 1
    functionLinenumber: 844
    functionLinenumberEnd: 879
    functionName: freq_range_list_str
    functionSourceFile: /src/hostap/src/utils/common.c
    functionUses: 3
    functionsReached:
    - os_snprintf
    - os_free
    - os_malloc
    - os_snprintf_error
    linkageType: ''
    returnType: char
    signature: char * freq_range_list_str(const struct wpa_freq_range_list *list)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 882
    functionDepth: 0
    functionLinenumber: 882
    functionLinenumberEnd: 889
    functionName: int_array_len
    functionSourceFile: /src/hostap/src/utils/common.c
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t int_array_len(const int *a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: int_array_len
      Src: /src/hostap/src/utils/common.c:897,1
    - Dst: int_array_len
      Src: /src/hostap/src/utils/common.c:898,1
    - Dst: os_free
      Src: /src/hostap/src/utils/common.c:905,1
    - Dst: os_realloc_array
      Src: /src/hostap/src/utils/common.c:909,1
    - Dst: os_free
      Src: /src/hostap/src/utils/common.c:911,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - res
    - a
    argTypes:
    - int**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 892
    functionDepth: 1
    functionLinenumber: 892
    functionLinenumberEnd: 918
    functionName: int_array_concat
    functionSourceFile: /src/hostap/src/utils/common.c
    functionUses: 4
    functionsReached:
    - os_free
    - int_array_len
    - os_realloc_array
    linkageType: ''
    returnType: void
    signature: void int_array_concat(int **res, const int *a)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 921
    functionDepth: 0
    functionLinenumber: 921
    functionLinenumberEnd: 931
    functionName: freq_cmp
    functionSourceFile: /src/hostap/src/utils/common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int freq_cmp(const void *a, const void *b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: int_array_len
      Src: /src/hostap/src/utils/common.c:941,1
    - Dst: qsort
      Src: /src/hostap/src/utils/common.c:942,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - a
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 934
    functionDepth: 1
    functionLinenumber: 934
    functionLinenumberEnd: 956
    functionName: int_array_sort_unique
    functionSourceFile: /src/hostap/src/utils/common.c
    functionUses: 4
    functionsReached:
    - int_array_len
    - qsort
    linkageType: ''
    returnType: void
    signature: void int_array_sort_unique(int *a)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/utils/common.c:975,1
    - Dst: os_realloc_array
      Src: /src/hostap/src/utils/common.c:979,1
    - Dst: os_free
      Src: /src/hostap/src/utils/common.c:981,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - res
    - a
    argTypes:
    - int**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 959
    functionDepth: 1
    functionLinenumber: 959
    functionLinenumberEnd: 990
    functionName: int_array_add_unique
    functionSourceFile: /src/hostap/src/utils/common.c
    functionUses: 19
    functionsReached:
    - os_free
    - os_realloc_array
    linkageType: ''
    returnType: void
    signature: void int_array_add_unique(int **res, int a)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - arr
    - val
    argTypes:
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 993
    functionDepth: 0
    functionLinenumber: 993
    functionLinenumberEnd: 1003
    functionName: int_array_includes
    functionSourceFile: /src/hostap/src/utils/common.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool int_array_includes(const int *arr, int val)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: int_array_len
      Src: /src/hostap/src/utils/common.c:1013,1
    - Dst: int_array_len
      Src: /src/hostap/src/utils/common.c:1014,1
    - Dst: int_array_includes
      Src: /src/hostap/src/utils/common.c:1020,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 1006
    functionDepth: 1
    functionLinenumber: 1006
    functionLinenumberEnd: 1025
    functionName: int_array_equal
    functionSourceFile: /src/hostap/src/utils/common.c
    functionUses: 1
    functionsReached:
    - int_array_len
    - int_array_includes
    linkageType: ''
    returnType: bool
    signature: bool int_array_equal(const int *a, const int *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memdup
      Src: /src/hostap/src/utils/common.c:1032,1
    - Dst: int_array_len
      Src: /src/hostap/src/utils/common.c:1032,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1033
      start: 1028
    functionDepth: 1
    functionLinenumber: 1028
    functionLinenumberEnd: 1033
    functionName: int_array_dup
    functionSourceFile: /src/hostap/src/utils/common.c
    functionUses: 6
    functionsReached:
    - os_memdup
    - int_array_len
    linkageType: ''
    returnType: int
    signature: int * int_array_dup(const int *a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/utils/common.c:1039,1
    - Dst: forced_memzero
      Src: /src/hostap/src/utils/common.c:1040,1
    - Dst: os_free
      Src: /src/hostap/src/utils/common.c:1041,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 1036
    functionDepth: 1
    functionLinenumber: 1036
    functionLinenumberEnd: 1043
    functionName: str_clear_free
    functionSourceFile: /src/hostap/src/utils/common.c
    functionUses: 33
    functionsReached:
    - os_strlen
    - os_free
    - forced_memzero
    linkageType: ''
    returnType: void
    signature: void str_clear_free(char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: forced_memzero
      Src: /src/hostap/src/utils/common.c:1049,1
    - Dst: os_free
      Src: /src/hostap/src/utils/common.c:1050,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - bin
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1052
      start: 1046
    functionDepth: 1
    functionLinenumber: 1046
    functionLinenumberEnd: 1052
    functionName: bin_clear_free
    functionSourceFile: /src/hostap/src/utils/common.c
    functionUses: 155
    functionsReached:
    - os_free
    - forced_memzero
    linkageType: ''
    returnType: void
    signature: void bin_clear_free(void *bin, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_get_random
      Src: /src/hostap/src/utils/common.c:1057,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - addr
    argTypes:
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1055
    functionDepth: 0
    functionLinenumber: 1055
    functionLinenumberEnd: 1062
    functionName: random_mac_addr
    functionSourceFile: /src/hostap/src/utils/common.c
    functionUses: 4
    functionsReached:
    - os_get_random
    linkageType: ''
    returnType: int
    signature: int random_mac_addr(u8 *addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_get_random
      Src: /src/hostap/src/utils/common.c:1067,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - addr
    argTypes:
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1065
    functionDepth: 0
    functionLinenumber: 1065
    functionLinenumberEnd: 1072
    functionName: random_mac_addr_keep_oui
    functionSourceFile: /src/hostap/src/utils/common.c
    functionUses: 3
    functionsReached:
    - os_get_random
    linkageType: ''
    returnType: int
    signature: int random_mac_addr_keep_oui(u8 *addr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_strchr
      Src: /src/hostap/src/utils/common.c:1101,1
    - Dst: os_strchr
      Src: /src/hostap/src/utils/common.c:1109,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 3
    argNames:
    - str
    - delim
    - last
    argTypes:
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 1091
    functionDepth: 0
    functionLinenumber: 1091
    functionLinenumberEnd: 1114
    functionName: cstr_token
    functionSourceFile: /src/hostap/src/utils/common.c
    functionUses: 7
    functionsReached:
    - os_strchr
    linkageType: ''
    returnType: char
    signature: char * cstr_token(const char *str, const char *delim, const char **last)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cstr_token
      Src: /src/hostap/src/utils/common.c:1127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - str
    - delim
    - context
    argTypes:
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1125
    functionDepth: 1
    functionLinenumber: 1125
    functionLinenumberEnd: 1133
    functionName: str_token
    functionSourceFile: /src/hostap/src/utils/common.c
    functionUses: 49
    functionsReached:
    - cstr_token
    linkageType: ''
    returnType: char
    signature: char * str_token(char *str, const char *delim, char **context)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/utils/common.c:1145,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 4
    argNames:
    - inp
    - in_size
    - outp
    - out_size
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1182
      start: 1136
    functionDepth: 0
    functionLinenumber: 1136
    functionLinenumberEnd: 1182
    functionName: utf8_unescape
    functionSourceFile: /src/hostap/src/utils/common.c
    functionUses: 4
    functionsReached:
    - os_strlen
    linkageType: ''
    returnType: size_t
    signature: "size_t utf8_unescape(const char *inp, size_t in_size,\n\t\t     char
      *outp, size_t out_size)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/utils/common.c:1196,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 4
    argNames:
    - inp
    - in_size
    - outp
    - out_size
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1222
      start: 1185
    functionDepth: 0
    functionLinenumber: 1185
    functionLinenumberEnd: 1222
    functionName: utf8_escape
    functionSourceFile: /src/hostap/src/utils/common.c
    functionUses: 4
    functionsReached:
    - os_strlen
    linkageType: ''
    returnType: size_t
    signature: "size_t utf8_escape(const char *inp, size_t in_size,\n\t\t   char *outp,
      size_t out_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 1225
    functionDepth: 0
    functionLinenumber: 1225
    functionLinenumberEnd: 1228
    functionName: is_ctrl_char
    functionSourceFile: /src/hostap/src/utils/common.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_ctrl_char(char c)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_strdup
      Src: /src/hostap/src/utils/common.c:1248,1
    - Dst: os_strchr
      Src: /src/hostap/src/utils/common.c:1253,1
    - Dst: os_strchr
      Src: /src/hostap/src/utils/common.c:1257,1
    - Dst: os_free
      Src: /src/hostap/src/utils/common.c:1259,1
    - Dst: wpa_config_parse_string
      Src: /src/hostap/src/utils/common.c:1266,1
    - Dst: os_memcpy
      Src: /src/hostap/src/utils/common.c:1269,1
    - Dst: os_free
      Src: /src/hostap/src/utils/common.c:1272,1
    - Dst: os_free
      Src: /src/hostap/src/utils/common.c:1273,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - buf
    - ssid
    argTypes:
    - char*
    - struct wpa_ssid_value*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1276
      start: 1241
    functionDepth: 4
    functionLinenumber: 1241
    functionLinenumberEnd: 1276
    functionName: ssid_parse
    functionSourceFile: /src/hostap/src/utils/common.c
    functionUses: 3
    functionsReached:
    - os_memcpy
    - wpa_config_parse_string
    - os_free
    - os_strchr
    - os_strdup
    linkageType: ''
    returnType: int
    signature: int ssid_parse(const char *buf, struct wpa_ssid_value *ssid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_strncmp
      Src: /src/hostap/src/utils/common.c:1281,1
    - Dst: os_strlen
      Src: /src/hostap/src/utils/common.c:1281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - start
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1282
      start: 1279
    functionDepth: 0
    functionLinenumber: 1279
    functionLinenumberEnd: 1282
    functionName: str_starts
    functionSourceFile: /src/hostap/src/utils/common.c
    functionUses: 14
    functionsReached:
    - os_strlen
    - os_strncmp
    linkageType: ''
    returnType: int
    signature: int str_starts(const char *str, const char *start)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - rssi
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1303
      start: 1294
    functionDepth: 0
    functionLinenumber: 1294
    functionLinenumberEnd: 1303
    functionName: rssi_to_rcpi
    functionSourceFile: /src/hostap/src/utils/common.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: u8 rssi_to_rcpi(int rssi)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_strstr
      Src: /src/hostap/src/utils/common.c:1312,1
    - Dst: os_strlen
      Src: /src/hostap/src/utils/common.c:1316,1
    - Dst: os_strchr
      Src: /src/hostap/src/utils/common.c:1317,1
    - Dst: os_strlen
      Src: /src/hostap/src/utils/common.c:1321,1
    - Dst: os_malloc
      Src: /src/hostap/src/utils/common.c:1322,1
    - Dst: os_memcpy
      Src: /src/hostap/src/utils/common.c:1325,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - cmd
    - param
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1328
      start: 1306
    functionDepth: 0
    functionLinenumber: 1306
    functionLinenumberEnd: 1328
    functionName: get_param
    functionSourceFile: /src/hostap/src/utils/common.c
    functionUses: 10
    functionsReached:
    - os_strlen
    - os_memcpy
    - os_malloc
    - os_strstr
    - os_strchr
    linkageType: ''
    returnType: char
    signature: char * get_param(const char *cmd, const char *param)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset_func
      Src: /src/hostap/src/utils/common.c:1344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ptr
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1347
      start: 1342
    functionDepth: 0
    functionLinenumber: 1342
    functionLinenumberEnd: 1347
    functionName: forced_memzero
    functionSourceFile: /src/hostap/src/utils/common.c
    functionUses: 105
    functionsReached:
    - memset_func
    linkageType: ''
    returnType: void
    signature: void forced_memzero(void *ptr, size_t len)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/src/utils/json.c:53,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 4
    argNames:
    - txt
    - maxlen
    - data
    - len
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 61
    functionName: json_escape_string
    functionSourceFile: /src/hostap/src/utils/json.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    linkageType: ''
    returnType: void
    signature: void json_escape_string(char *txt, size_t maxlen, const char *data,
      size_t len)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/utils/json.c:75,1
    - Dst: os_realloc
      Src: /src/hostap/src/utils/json.c:90,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/json.c:107,1
    - Dst: hexstr2bin
      Src: /src/hostap/src/utils/json.c:128,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/json.c:130,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/json.c:143,1
    - Dst: os_free
      Src: /src/hostap/src/utils/json.c:155,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 79
    argCount: 2
    argNames:
    - json_pos
    - end
    argTypes:
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 64
    functionDepth: 3
    functionLinenumber: 64
    functionLinenumberEnd: 157
    functionName: json_parse_string
    functionSourceFile: /src/hostap/src/utils/json.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - hexstr2bin
    - os_realloc
    - os_malloc
    - os_free
    linkageType: ''
    returnType: char
    signature: char * json_parse_string(const char **json_pos, const char *end)
  - BBCount: 18
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 3
    argNames:
    - json_pos
    - end
    - is_double
    argTypes:
    - char*
    - char*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 197
    functionName: json_get_number_len
    functionSourceFile: /src/hostap/src/utils/json.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t json_get_number_len(const char *json_pos, const char *end,\n\t\t\t\t
      \ bool *is_double)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/utils/json.c:205,1
    - Dst: os_memcpy
      Src: /src/hostap/src/utils/json.c:208,1
    - Dst: strtod
      Src: /src/hostap/src/utils/json.c:211,1
    - Dst: os_free
      Src: /src/hostap/src/utils/json.c:213,1
    - Dst: os_free
      Src: /src/hostap/src/utils/json.c:216,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - json_pos
    - len
    - ret_val
    argTypes:
    - char**
    - size_t
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 219
    functionName: json_parse_double
    functionSourceFile: /src/hostap/src/utils/json.c
    functionUses: 0
    functionsReached:
    - os_free
    - os_memcpy
    - os_malloc
    - strtod
    linkageType: ''
    returnType: int
    signature: int json_parse_double(const char **json_pos, size_t len, double *ret_val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/utils/json.c:226,1
    - Dst: os_memcpy
      Src: /src/hostap/src/utils/json.c:229,1
    - Dst: atoi
      Src: /src/hostap/src/utils/json.c:232,1
    - Dst: os_free
      Src: /src/hostap/src/utils/json.c:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - json_pos
    - len
    - ret_val
    argTypes:
    - char**
    - size_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 236
    functionName: json_parse_number
    functionSourceFile: /src/hostap/src/utils/json.c
    functionUses: 0
    functionsReached:
    - atoi
    - os_free
    - os_memcpy
    - os_malloc
    linkageType: ''
    returnType: int
    signature: int json_parse_number(const char **json_pos, size_t len, int *ret_val)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: json_check_tree_state
      Src: /src/hostap/src/utils/json.c:243,1
    - Dst: json_check_tree_state
      Src: /src/hostap/src/utils/json.c:244,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/json.c:247,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - token
    argTypes:
    - struct json_token*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 254
    functionName: json_check_tree_state
    functionSourceFile: /src/hostap/src/utils/json.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - json_check_tree_state
    linkageType: ''
    returnType: int
    signature: int json_check_tree_state(struct json_token *token)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/json.c:261,1
    - Dst: os_zalloc
      Src: /src/hostap/src/utils/json.c:264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - tokens
    argTypes:
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 265
    functionName: json_alloc_token
    functionSourceFile: /src/hostap/src/utils/json.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_zalloc
    linkageType: ''
    returnType: struct json_token
    signature: struct json_token * json_alloc_token(unsigned int *tokens)
  - BBCount: 68
    BranchProfiles: []
    Callsites:
    - Dst: json_alloc_token
      Src: /src/hostap/src/utils/json.c:288,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/json.c:301,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/json.c:307,1
    - Dst: json_alloc_token
      Src: /src/hostap/src/utils/json.c:313,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/json.c:325,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/json.c:335,1
    - Dst: json_free
      Src: /src/hostap/src/utils/json.c:344,1
    - Dst: json_parse_string
      Src: /src/hostap/src/utils/json.c:350,1
    - Dst: json_alloc_token
      Src: /src/hostap/src/utils/json.c:354,1
    - Dst: os_free
      Src: /src/hostap/src/utils/json.c:356,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/json.c:369,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/json.c:380,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/json.c:385,1
    - Dst: os_free
      Src: /src/hostap/src/utils/json.c:387,1
    - Dst: json_alloc_token
      Src: /src/hostap/src/utils/json.c:405,1
    - Dst: os_strncmp
      Src: /src/hostap/src/utils/json.c:416,1
    - Dst: os_strncmp
      Src: /src/hostap/src/utils/json.c:418,1
    - Dst: os_strncmp
      Src: /src/hostap/src/utils/json.c:420,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/json.c:421,1
    - Dst: json_alloc_token
      Src: /src/hostap/src/utils/json.c:426,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/json.c:431,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/json.c:438,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/json.c:441,1
    - Dst: json_get_number_len
      Src: /src/hostap/src/utils/json.c:476,1
    - Dst: json_parse_double
      Src: /src/hostap/src/utils/json.c:480,1
    - Dst: json_parse_number
      Src: /src/hostap/src/utils/json.c:483,1
    - Dst: json_alloc_token
      Src: /src/hostap/src/utils/json.c:488,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/json.c:504,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/json.c:511,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/json.c:524,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/json.c:530,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/json.c:535,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/json.c:541,1
    - Dst: json_check_tree_state
      Src: /src/hostap/src/utils/json.c:552,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/json.c:553,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/json.c:559,1
    - Dst: json_free
      Src: /src/hostap/src/utils/json.c:560,1
    CyclomaticComplexity: 100
    EdgeCount: 100
    ICount: 255
    argCount: 2
    argNames:
    - data
    - data_len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 268
    functionDepth: 4
    functionLinenumber: 268
    functionLinenumberEnd: 562
    functionName: json_parse
    functionSourceFile: /src/hostap/src/utils/json.c
    functionUses: 12
    functionsReached:
    - json_parse_number
    - wpa_printf
    - json_get_number_len
    - os_strncmp
    - json_parse_double
    - json_parse_string
    - os_free
    - json_alloc_token
    - json_check_tree_state
    - json_free
    linkageType: ''
    returnType: struct json_token
    signature: struct json_token * json_parse(const char *data, size_t data_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_free
      Src: /src/hostap/src/utils/json.c:569,1
    - Dst: json_free
      Src: /src/hostap/src/utils/json.c:570,1
    - Dst: os_free
      Src: /src/hostap/src/utils/json.c:571,1
    - Dst: os_free
      Src: /src/hostap/src/utils/json.c:572,1
    - Dst: os_free
      Src: /src/hostap/src/utils/json.c:573,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - json
    argTypes:
    - struct json_token*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 565
    functionDepth: 1
    functionLinenumber: 565
    functionLinenumberEnd: 574
    functionName: json_free
    functionSourceFile: /src/hostap/src/utils/json.c
    functionUses: 14
    functionsReached:
    - os_free
    - json_free
    linkageType: ''
    returnType: void
    signature: void json_free(struct json_token *json)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/src/utils/json.c:585,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - json
    - name
    argTypes:
    - struct json_token*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 589
    functionName: json_get_member
    functionSourceFile: /src/hostap/src/utils/json.c
    functionUses: 18
    functionsReached:
    - os_strcmp
    linkageType: ''
    returnType: struct json_token
    signature: struct json_token * json_get_member(struct json_token *json, const
      char *name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: json_get_member
      Src: /src/hostap/src/utils/json.c:600,1
    - Dst: base64_url_decode
      Src: /src/hostap/src/utils/json.c:603,1
    - Dst: os_strlen
      Src: /src/hostap/src/utils/json.c:603,1
    - Dst: wpabuf_alloc_ext_data
      Src: /src/hostap/src/utils/json.c:607,1
    - Dst: os_free
      Src: /src/hostap/src/utils/json.c:609,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - json
    - name
    argTypes:
    - struct json_token*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 592
    functionDepth: 1
    functionLinenumber: 592
    functionLinenumberEnd: 612
    functionName: json_get_member_base64url
    functionSourceFile: /src/hostap/src/utils/json.c
    functionUses: 4
    functionsReached:
    - base64_url_decode
    - wpabuf_alloc_ext_data
    - os_strlen
    - os_free
    - json_get_member
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * json_get_member_base64url(struct json_token *json,\n\t\t\t\t\t
      \ const char *name)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: json_get_member
      Src: /src/hostap/src/utils/json.c:623,1
    - Dst: base64_decode
      Src: /src/hostap/src/utils/json.c:626,1
    - Dst: os_strlen
      Src: /src/hostap/src/utils/json.c:626,1
    - Dst: wpabuf_alloc_ext_data
      Src: /src/hostap/src/utils/json.c:629,1
    - Dst: os_free
      Src: /src/hostap/src/utils/json.c:631,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - json
    - name
    argTypes:
    - struct json_token*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 615
    functionDepth: 1
    functionLinenumber: 615
    functionLinenumberEnd: 634
    functionName: json_get_member_base64
    functionSourceFile: /src/hostap/src/utils/json.c
    functionUses: 2
    functionsReached:
    - os_strlen
    - wpabuf_alloc_ext_data
    - base64_decode
    - os_free
    - json_get_member
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * json_get_member_base64(struct json_token *json,\n\t\t\t\t
      \      const char *name)"
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - type
    argTypes:
    - enum json_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 658
    functionName: json_type_str
    functionSourceFile: /src/hostap/src/utils/json.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * json_type_str(enum json_type type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/utils/json.c:669,1
    - Dst: os_snprintf
      Src: /src/hostap/src/utils/json.c:670,1
    - Dst: json_type_str
      Src: /src/hostap/src/utils/json.c:671,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/utils/json.c:673,1
    - Dst: json_print_token
      Src: /src/hostap/src/utils/json.c:677,1
    - Dst: json_print_token
      Src: /src/hostap/src/utils/json.c:678,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - token
    - depth
    - buf
    - buflen
    argTypes:
    - struct json_token*
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 661
    functionDepth: 1
    functionLinenumber: 661
    functionLinenumberEnd: 679
    functionName: json_print_token
    functionSourceFile: /src/hostap/src/utils/json.c
    functionUses: 1
    functionsReached:
    - os_strlen
    - os_snprintf
    - json_print_token
    - json_type_str
    - os_snprintf_error
    linkageType: ''
    returnType: void
    signature: "void json_print_token(struct json_token *token, int depth,\n\t\t\t
      \    char *buf, size_t buflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_print_token
      Src: /src/hostap/src/utils/json.c:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - root
    - buf
    - buflen
    argTypes:
    - struct json_token*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 682
    functionDepth: 2
    functionLinenumber: 682
    functionLinenumberEnd: 686
    functionName: json_print_tree
    functionSourceFile: /src/hostap/src/utils/json.c
    functionUses: 2
    functionsReached:
    - json_print_token
    linkageType: ''
    returnType: void
    signature: void json_print_tree(struct json_token *root, char *buf, size_t buflen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_printf
      Src: /src/hostap/src/utils/json.c:691,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - json
    - name
    - val
    argTypes:
    - struct wpabuf*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 689
    functionDepth: 1
    functionLinenumber: 689
    functionLinenumberEnd: 692
    functionName: json_add_int
    functionSourceFile: /src/hostap/src/utils/json.c
    functionUses: 6
    functionsReached:
    - wpabuf_printf
    linkageType: ''
    returnType: void
    signature: void json_add_int(struct wpabuf *json, const char *name, int val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_printf
      Src: /src/hostap/src/utils/json.c:697,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - json
    - name
    - val
    argTypes:
    - struct wpabuf*
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 695
    functionDepth: 1
    functionLinenumber: 695
    functionLinenumberEnd: 698
    functionName: json_add_double
    functionSourceFile: /src/hostap/src/utils/json.c
    functionUses: 1
    functionsReached:
    - wpabuf_printf
    linkageType: ''
    returnType: void
    signature: void json_add_double(struct wpabuf *json, const char *name, double
      val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_printf
      Src: /src/hostap/src/utils/json.c:703,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - json
    - name
    - val
    argTypes:
    - struct wpabuf*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 701
    functionDepth: 1
    functionLinenumber: 701
    functionLinenumberEnd: 704
    functionName: json_add_string
    functionSourceFile: /src/hostap/src/utils/json.c
    functionUses: 10
    functionsReached:
    - wpabuf_printf
    linkageType: ''
    returnType: void
    signature: void json_add_string(struct wpabuf *json, const char *name, const char
      *val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/utils/json.c:713,1
    - Dst: json_escape_string
      Src: /src/hostap/src/utils/json.c:716,1
    - Dst: json_add_string
      Src: /src/hostap/src/utils/json.c:717,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/utils/json.c:718,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - json
    - name
    - val
    - len
    argTypes:
    - struct wpabuf*
    - char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 707
    functionDepth: 2
    functionLinenumber: 707
    functionLinenumberEnd: 720
    functionName: json_add_string_escape
    functionSourceFile: /src/hostap/src/utils/json.c
    functionUses: 3
    functionsReached:
    - json_escape_string
    - json_add_string
    - os_malloc
    - bin_clear_free
    linkageType: ''
    returnType: int
    signature: "int json_add_string_escape(struct wpabuf *json, const char *name,\n\t\t\t
      \  const void *val, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: base64_url_encode
      Src: /src/hostap/src/utils/json.c:728,1
    - Dst: json_add_string
      Src: /src/hostap/src/utils/json.c:731,1
    - Dst: os_free
      Src: /src/hostap/src/utils/json.c:732,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - json
    - name
    - val
    - len
    argTypes:
    - struct wpabuf*
    - char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 723
    functionDepth: 2
    functionLinenumber: 723
    functionLinenumberEnd: 734
    functionName: json_add_base64url
    functionSourceFile: /src/hostap/src/utils/json.c
    functionUses: 3
    functionsReached:
    - os_free
    - base64_url_encode
    - json_add_string
    linkageType: ''
    returnType: int
    signature: "int json_add_base64url(struct wpabuf *json, const char *name, const
      void *val,\n\t\t       size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: base64_encode_no_lf
      Src: /src/hostap/src/utils/json.c:742,1
    - Dst: json_add_string
      Src: /src/hostap/src/utils/json.c:745,1
    - Dst: os_free
      Src: /src/hostap/src/utils/json.c:746,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - json
    - name
    - val
    - len
    argTypes:
    - struct wpabuf*
    - char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 737
    functionDepth: 2
    functionLinenumber: 737
    functionLinenumberEnd: 748
    functionName: json_add_base64
    functionSourceFile: /src/hostap/src/utils/json.c
    functionUses: 0
    functionsReached:
    - os_free
    - json_add_string
    - base64_encode_no_lf
    linkageType: ''
    returnType: int
    signature: "int json_add_base64(struct wpabuf *json, const char *name, const void
      *val,\n\t\t    size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_printf
      Src: /src/hostap/src/utils/json.c:754,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/utils/json.c:755,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - json
    - name
    argTypes:
    - struct wpabuf*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 751
    functionDepth: 1
    functionLinenumber: 751
    functionLinenumberEnd: 756
    functionName: json_start_object
    functionSourceFile: /src/hostap/src/utils/json.c
    functionUses: 10
    functionsReached:
    - wpabuf_printf
    - wpabuf_put_u8
    linkageType: ''
    returnType: void
    signature: void json_start_object(struct wpabuf *json, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/utils/json.c:761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - json
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 759
    functionDepth: 1
    functionLinenumber: 759
    functionLinenumberEnd: 762
    functionName: json_end_object
    functionSourceFile: /src/hostap/src/utils/json.c
    functionUses: 10
    functionsReached:
    - wpabuf_put_u8
    linkageType: ''
    returnType: void
    signature: void json_end_object(struct wpabuf *json)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_printf
      Src: /src/hostap/src/utils/json.c:768,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/utils/json.c:769,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - json
    - name
    argTypes:
    - struct wpabuf*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 765
    functionDepth: 1
    functionLinenumber: 765
    functionLinenumberEnd: 770
    functionName: json_start_array
    functionSourceFile: /src/hostap/src/utils/json.c
    functionUses: 6
    functionsReached:
    - wpabuf_printf
    - wpabuf_put_u8
    linkageType: ''
    returnType: void
    signature: void json_start_array(struct wpabuf *json, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/utils/json.c:775,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - json
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 773
    functionDepth: 1
    functionLinenumber: 773
    functionLinenumberEnd: 776
    functionName: json_end_array
    functionSourceFile: /src/hostap/src/utils/json.c
    functionUses: 6
    functionsReached:
    - wpabuf_put_u8
    linkageType: ''
    returnType: void
    signature: void json_end_array(struct wpabuf *json)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/utils/json.c:781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - json
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 779
    functionDepth: 1
    functionLinenumber: 779
    functionLinenumberEnd: 782
    functionName: json_value_sep
    functionSourceFile: /src/hostap/src/utils/json.c
    functionUses: 11
    functionsReached:
    - wpabuf_put_u8
    linkageType: ''
    returnType: void
    signature: void json_value_sep(struct wpabuf *json)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/ext_password_file.c:37,1
    - Dst: os_zalloc
      Src: /src/hostap/src/utils/ext_password_file.c:41,1
    - Dst: os_strdup
      Src: /src/hostap/src/utils/ext_password_file.c:45,1
    - Dst: os_free
      Src: /src/hostap/src/utils/ext_password_file.c:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - params
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 52
    functionName: ext_password_file_init
    functionSourceFile: /src/hostap/src/utils/ext_password_file.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpa_printf
    - os_strdup
    - os_zalloc
    linkageType: ''
    returnType: void
    signature: void * ext_password_file_init(const char *params)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: str_clear_free
      Src: /src/hostap/src/utils/ext_password_file.c:66,1
    - Dst: os_free
      Src: /src/hostap/src/utils/ext_password_file.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: ext_password_file_deinit
    functionSourceFile: /src/hostap/src/utils/ext_password_file.c
    functionUses: 0
    functionsReached:
    - os_free
    - str_clear_free
    linkageType: ''
    returnType: void
    signature: void ext_password_file_deinit(void *ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/hostap/src/utils/ext_password_file.c:90,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/ext_password_file.c:92,1
    - Dst: strerror
      Src: /src/hostap/src/utils/ext_password_file.c:94,1
    - Dst: os_strlen
      Src: /src/hostap/src/utils/ext_password_file.c:98,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/ext_password_file.c:100,1
    - Dst: fgets
      Src: /src/hostap/src/utils/ext_password_file.c:102,1
    - Dst: strcspn
      Src: /src/hostap/src/utils/ext_password_file.c:108,1
    - Dst: os_strchr
      Src: /src/hostap/src/utils/ext_password_file.c:114,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/ext_password_file.c:116,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/ext_password_file.c:122,1
    - Dst: os_strncmp
      Src: /src/hostap/src/utils/ext_password_file.c:128,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/utils/ext_password_file.c:131,1
    - Dst: os_strlen
      Src: /src/hostap/src/utils/ext_password_file.c:131,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/ext_password_file.c:135,1
    - Dst: forced_memzero
      Src: /src/hostap/src/utils/ext_password_file.c:138,1
    - Dst: fclose
      Src: /src/hostap/src/utils/ext_password_file.c:139,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 2
    argNames:
    - ctx
    - name
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 141
    functionName: ext_password_file_get
    functionSourceFile: /src/hostap/src/utils/ext_password_file.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - strcspn
    - strerror
    - forced_memzero
    - wpabuf_alloc_copy
    - os_strncmp
    - fclose
    - os_strchr
    - fopen
    - fgets
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * ext_password_file_get(void *ctx, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/browser-wpadebug.c:24,1
    - Dst: eloop_terminate
      Src: /src/hostap/src/utils/browser-wpadebug.c:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - eloop_data
    - user_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 27
    functionName: browser_timeout
    functionSourceFile: /src/hostap/src/utils/browser-wpadebug.c
    functionUses: 0
    functionsReached:
    - eloop_terminate
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void browser_timeout(void *eloop_data, void *user_ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: http_request_get_uri
      Src: /src/hostap/src/utils/browser-wpadebug.c:37,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/browser-wpadebug.c:38,1
    - Dst: os_strcmp
      Src: /src/hostap/src/utils/browser-wpadebug.c:40,1
    - Dst: os_strncmp
      Src: /src/hostap/src/utils/browser-wpadebug.c:43,1
    - Dst: atoi
      Src: /src/hostap/src/utils/browser-wpadebug.c:44,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/utils/browser-wpadebug.c:48,1
    - Dst: http_request_deinit
      Src: /src/hostap/src/utils/browser-wpadebug.c:50,1
    - Dst: eloop_terminate
      Src: /src/hostap/src/utils/browser-wpadebug.c:52,1
    - Dst: wpabuf_put_str
      Src: /src/hostap/src/utils/browser-wpadebug.c:55,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/utils/browser-wpadebug.c:58,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/utils/browser-wpadebug.c:59,1
    - Dst: http_request_send_and_deinit
      Src: /src/hostap/src/utils/browser-wpadebug.c:62,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - ctx
    - req
    argTypes:
    - void*
    - struct http_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 30
    functionDepth: 4
    functionLinenumber: 30
    functionLinenumberEnd: 63
    functionName: http_req
    functionSourceFile: /src/hostap/src/utils/browser-wpadebug.c
    functionUses: 0
    functionsReached:
    - http_request_get_uri
    - wpa_printf
    - http_request_deinit
    - wpabuf_put_str
    - eloop_cancel_timeout
    - eloop_terminate
    - http_request_send_and_deinit
    - os_strncmp
    - wpabuf_alloc
    - eloop_register_timeout
    - atoi
    - os_strcmp
    linkageType: ''
    returnType: void
    signature: void http_req(void *ctx, struct http_request *req)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/browser-wpadebug.c:73,1
    - Dst: os_memset
      Src: /src/hostap/src/utils/browser-wpadebug.c:75,1
    - Dst: eloop_init
      Src: /src/hostap/src/utils/browser-wpadebug.c:77,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/browser-wpadebug.c:78,1
    - Dst: htonl
      Src: /src/hostap/src/utils/browser-wpadebug.c:81,1
    - Dst: http_server_init
      Src: /src/hostap/src/utils/browser-wpadebug.c:82,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/browser-wpadebug.c:84,1
    - Dst: eloop_destroy
      Src: /src/hostap/src/utils/browser-wpadebug.c:85,1
    - Dst: fork
      Src: /src/hostap/src/utils/browser-wpadebug.c:89,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/browser-wpadebug.c:91,1
    - Dst: strerror
      Src: /src/hostap/src/utils/browser-wpadebug.c:91,1
    - Dst: http_server_deinit
      Src: /src/hostap/src/utils/browser-wpadebug.c:92,1
    - Dst: eloop_destroy
      Src: /src/hostap/src/utils/browser-wpadebug.c:93,1
    - Dst: execve
      Src: /src/hostap/src/utils/browser-wpadebug.c:117,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/browser-wpadebug.c:118,1
    - Dst: strerror
      Src: /src/hostap/src/utils/browser-wpadebug.c:118,1
    - Dst: exit
      Src: /src/hostap/src/utils/browser-wpadebug.c:119,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/utils/browser-wpadebug.c:123,1
    - Dst: eloop_run
      Src: /src/hostap/src/utils/browser-wpadebug.c:124,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/utils/browser-wpadebug.c:125,1
    - Dst: http_server_deinit
      Src: /src/hostap/src/utils/browser-wpadebug.c:126,1
    - Dst: eloop_destroy
      Src: /src/hostap/src/utils/browser-wpadebug.c:127,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/browser-wpadebug.c:129,1
    - Dst: os_exec
      Src: /src/hostap/src/utils/browser-wpadebug.c:130,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/browser-wpadebug.c:135,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 51
    argCount: 2
    argNames:
    - url
    - ignore_tls
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 66
    functionDepth: 5
    functionLinenumber: 66
    functionLinenumberEnd: 139
    functionName: hs20_web_browser
    functionSourceFile: /src/hostap/src/utils/browser-wpadebug.c
    functionUses: 1
    functionsReached:
    - eloop_run
    - wpa_printf
    - fork
    - strerror
    - eloop_cancel_timeout
    - http_server_init
    - htonl
    - http_server_deinit
    - exit
    - os_exec
    - eloop_init
    - eloop_register_timeout
    - eloop_destroy
    - execve
    - os_memset
    linkageType: ''
    returnType: int
    signature: int hs20_web_browser(const char *url, int ignore_tls)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: wpabuf_get_trace
    functionSourceFile: /src/hostap/src/utils/wpabuf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct wpabuf_trace
    signature: struct wpabuf_trace * wpabuf_get_trace(const struct wpabuf *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_get_trace
      Src: /src/hostap/src/utils/wpabuf.c:33,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/wpabuf.c:35,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/wpabuf.c:39,1
    - Dst: wpa_trace_show
      Src: /src/hostap/src/utils/wpabuf.c:42,1
    - Dst: abort
      Src: /src/hostap/src/utils/wpabuf.c:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - struct wpabuf*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 44
    functionName: wpabuf_overflow
    functionSourceFile: /src/hostap/src/utils/wpabuf.c
    functionUses: 0
    functionsReached:
    - abort
    - wpabuf_get_trace
    - wpa_trace_show
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void wpabuf_overflow(const struct wpabuf *buf, size_t len)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/utils/wpabuf.c:55,1
    - Dst: wpabuf_get_trace
      Src: /src/hostap/src/utils/wpabuf.c:60,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/wpabuf.c:62,1
    - Dst: wpa_trace_show
      Src: /src/hostap/src/utils/wpabuf.c:64,1
    - Dst: abort
      Src: /src/hostap/src/utils/wpabuf.c:65,1
    - Dst: os_realloc
      Src: /src/hostap/src/utils/wpabuf.c:72,1
    - Dst: os_memset
      Src: /src/hostap/src/utils/wpabuf.c:75,1
    - Dst: os_realloc
      Src: /src/hostap/src/utils/wpabuf.c:79,1
    - Dst: os_memset
      Src: /src/hostap/src/utils/wpabuf.c:86,1
    - Dst: os_realloc
      Src: /src/hostap/src/utils/wpabuf.c:90,1
    - Dst: os_memset
      Src: /src/hostap/src/utils/wpabuf.c:95,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 2
    argNames:
    - _buf
    - add_len
    argTypes:
    - struct wpabuf**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 105
    functionName: wpabuf_resize
    functionSourceFile: /src/hostap/src/utils/wpabuf.c
    functionUses: 59
    functionsReached:
    - wpa_printf
    - abort
    - os_realloc
    - wpabuf_alloc
    - wpa_trace_show
    - wpabuf_get_trace
    - os_memset
    linkageType: ''
    returnType: int
    signature: int wpabuf_resize(struct wpabuf **_buf, size_t add_len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/utils/wpabuf.c:116,1
    - Dst: os_zalloc
      Src: /src/hostap/src/utils/wpabuf.c:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - len
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 132
    functionName: wpabuf_alloc
    functionSourceFile: /src/hostap/src/utils/wpabuf.c
    functionUses: 409
    functionsReached:
    - os_zalloc
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * wpabuf_alloc(size_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/utils/wpabuf.c:138,1
    - Dst: os_zalloc
      Src: /src/hostap/src/utils/wpabuf.c:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 157
    functionName: wpabuf_alloc_ext_data
    functionSourceFile: /src/hostap/src/utils/wpabuf.c
    functionUses: 7
    functionsReached:
    - os_zalloc
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * wpabuf_alloc_ext_data(u8 *data, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/utils/wpabuf.c:162,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/utils/wpabuf.c:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 166
    functionName: wpabuf_alloc_copy
    functionSourceFile: /src/hostap/src/utils/wpabuf.c
    functionUses: 99
    functionsReached:
    - wpabuf_alloc
    - wpabuf_put_data
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * wpabuf_alloc_copy(const void *data, size_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/utils/wpabuf.c:175,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/utils/wpabuf.c:175,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/utils/wpabuf.c:177,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/utils/wpabuf.c:177,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/utils/wpabuf.c:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - src
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 179
    functionName: wpabuf_dup
    functionSourceFile: /src/hostap/src/utils/wpabuf.c
    functionUses: 70
    functionsReached:
    - wpabuf_len
    - wpabuf_alloc
    - wpabuf_put_data
    - wpabuf_head
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * wpabuf_dup(const struct wpabuf *src)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_get_trace
      Src: /src/hostap/src/utils/wpabuf.c:192,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/wpabuf.c:194,1
    - Dst: wpa_trace_show
      Src: /src/hostap/src/utils/wpabuf.c:196,1
    - Dst: abort
      Src: /src/hostap/src/utils/wpabuf.c:197,1
    - Dst: os_free
      Src: /src/hostap/src/utils/wpabuf.c:200,1
    - Dst: os_free
      Src: /src/hostap/src/utils/wpabuf.c:201,1
    - Dst: os_free
      Src: /src/hostap/src/utils/wpabuf.c:206,1
    - Dst: os_free
      Src: /src/hostap/src/utils/wpabuf.c:207,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - buf
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 209
    functionName: wpabuf_free
    functionSourceFile: /src/hostap/src/utils/wpabuf.c
    functionUses: 924
    functionsReached:
    - abort
    - wpa_printf
    - wpabuf_get_trace
    - wpa_trace_show
    - os_free
    linkageType: ''
    returnType: void
    signature: void wpabuf_free(struct wpabuf *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/utils/wpabuf.c:215,1
    - Dst: wpabuf_mhead
      Src: /src/hostap/src/utils/wpabuf.c:215,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/utils/wpabuf.c:215,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/utils/wpabuf.c:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 218
    functionName: wpabuf_clear_free
    functionSourceFile: /src/hostap/src/utils/wpabuf.c
    functionUses: 92
    functionsReached:
    - wpabuf_len
    - wpabuf_free
    - wpabuf_mhead
    - os_memset
    linkageType: ''
    returnType: void
    signature: void wpabuf_clear_free(struct wpabuf *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_mhead_u8
      Src: /src/hostap/src/utils/wpabuf.c:223,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/utils/wpabuf.c:223,1
    - Dst: wpabuf_overflow
      Src: /src/hostap/src/utils/wpabuf.c:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - struct wpabuf*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 229
    functionName: wpabuf_put
    functionSourceFile: /src/hostap/src/utils/wpabuf.c
    functionUses: 280
    functionsReached:
    - wpabuf_mhead_u8
    - wpabuf_len
    - wpabuf_overflow
    linkageType: ''
    returnType: void
    signature: void * wpabuf_put(struct wpabuf *buf, size_t len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_len
      Src: /src/hostap/src/utils/wpabuf.c:250,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/utils/wpabuf.c:251,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/utils/wpabuf.c:253,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/utils/wpabuf.c:256,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/utils/wpabuf.c:257,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/utils/wpabuf.c:260,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/utils/wpabuf.c:261,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct wpabuf*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 264
    functionName: wpabuf_concat
    functionSourceFile: /src/hostap/src/utils/wpabuf.c
    functionUses: 16
    functionsReached:
    - wpabuf_len
    - wpabuf_alloc
    - wpabuf_free
    - wpabuf_put_buf
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * wpabuf_concat(struct wpabuf *a, struct wpabuf *b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_len
      Src: /src/hostap/src/utils/wpabuf.c:287,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/utils/wpabuf.c:291,1
    - Dst: os_memset
      Src: /src/hostap/src/utils/wpabuf.c:293,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/utils/wpabuf.c:293,1
    - Dst: wpabuf_put_buf
      Src: /src/hostap/src/utils/wpabuf.c:294,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/utils/wpabuf.c:296,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - struct wpabuf*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 279
    functionDepth: 3
    functionLinenumber: 279
    functionLinenumberEnd: 299
    functionName: wpabuf_zeropad
    functionSourceFile: /src/hostap/src/utils/wpabuf.c
    functionUses: 11
    functionsReached:
    - wpabuf_put
    - wpabuf_len
    - wpabuf_free
    - wpabuf_put_buf
    - wpabuf_alloc
    - os_memset
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * wpabuf_zeropad(struct wpabuf *buf, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_mhead_u8
      Src: /src/hostap/src/utils/wpabuf.c:305,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/utils/wpabuf.c:305,1
    - Dst: va_start
      Src: /src/hostap/src/utils/wpabuf.c:308,1
    - Dst: vsnprintf
      Src: /src/hostap/src/utils/wpabuf.c:309,1
    - Dst: va_end
      Src: /src/hostap/src/utils/wpabuf.c:310,1
    - Dst: wpabuf_overflow
      Src: /src/hostap/src/utils/wpabuf.c:312,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - buf
    - fmt
    argTypes:
    - struct wpabuf*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 302
    functionDepth: 2
    functionLinenumber: 302
    functionLinenumberEnd: 314
    functionName: wpabuf_printf
    functionSourceFile: /src/hostap/src/utils/wpabuf.c
    functionUses: 27
    functionsReached:
    - wpabuf_mhead_u8
    - wpabuf_len
    - vsnprintf
    - wpabuf_overflow
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: void wpabuf_printf(struct wpabuf *buf, char *fmt, ...)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/utils/wpabuf.c:329,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/utils/wpabuf.c:334,1
    - Dst: hexstr2bin
      Src: /src/hostap/src/utils/wpabuf.c:338,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/utils/wpabuf.c:338,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/utils/wpabuf.c:339,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 324
    functionDepth: 3
    functionLinenumber: 324
    functionLinenumberEnd: 344
    functionName: wpabuf_parse_bin
    functionSourceFile: /src/hostap/src/utils/wpabuf.c
    functionUses: 27
    functionsReached:
    - os_strlen
    - wpabuf_put
    - hexstr2bin
    - wpabuf_free
    - wpabuf_alloc
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * wpabuf_parse_bin(const char *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/utils/wpabuf.c:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 353
    functionName: wpabuf_array_alloc
    functionSourceFile: /src/hostap/src/utils/wpabuf.c
    functionUses: 2
    functionsReached:
    - os_zalloc
    linkageType: ''
    returnType: struct wpabuf_array
    signature: struct wpabuf_array * wpabuf_array_alloc(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/src/utils/wpabuf.c:363,1
    - Dst: os_free
      Src: /src/hostap/src/utils/wpabuf.c:364,1
    - Dst: os_free
      Src: /src/hostap/src/utils/wpabuf.c:365,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - wa
    argTypes:
    - struct wpabuf_array*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 356
    functionDepth: 2
    functionLinenumber: 356
    functionLinenumberEnd: 366
    functionName: wpabuf_array_free
    functionSourceFile: /src/hostap/src/utils/wpabuf.c
    functionUses: 5
    functionsReached:
    - os_free
    - wpabuf_free
    linkageType: ''
    returnType: void
    signature: void wpabuf_array_free(struct wpabuf_array *wa)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_realloc
      Src: /src/hostap/src/utils/wpabuf.c:375,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - wa
    - buf
    argTypes:
    - struct wpabuf_array*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 381
    functionName: wpabuf_array_add
    functionSourceFile: /src/hostap/src/utils/wpabuf.c
    functionUses: 2
    functionsReached:
    - os_realloc
    linkageType: ''
    returnType: int
    signature: int wpabuf_array_add(struct wpabuf_array *wa, struct wpabuf *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/src/utils/wpabuf.c:388,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - wa
    - idx
    argTypes:
    - struct wpabuf_array*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 384
    functionDepth: 2
    functionLinenumber: 384
    functionLinenumberEnd: 395
    functionName: wpabuf_array_remove
    functionSourceFile: /src/hostap/src/utils/wpabuf.c
    functionUses: 2
    functionsReached:
    - wpabuf_free
    linkageType: ''
    returnType: void
    signature: void wpabuf_array_remove(struct wpabuf_array *wa, unsigned int idx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nanosleep
      Src: /src/hostap/src/utils/os_unix.c:55,1
    - Dst: sleep
      Src: /src/hostap/src/utils/os_unix.c:58,1
    - Dst: usleep
      Src: /src/hostap/src/utils/os_unix.c:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - sec
    - usec
    argTypes:
    - os_time_t
    - os_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 62
    functionName: os_sleep
    functionSourceFile: /src/hostap/src/utils/os_unix.c
    functionUses: 15
    functionsReached:
    - nanosleep
    - usleep
    - sleep
    linkageType: ''
    returnType: void
    signature: void os_sleep(os_time_t sec, os_time_t usec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/hostap/src/utils/os_unix.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct os_time*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 73
    functionName: os_get_time
    functionSourceFile: /src/hostap/src/utils/os_unix.c
    functionUses: 31
    functionsReached:
    - gettimeofday
    linkageType: ''
    returnType: int
    signature: int os_get_time(struct os_time *t)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/utils/os_unix.c:89,1
    - Dst: clock_gettime
      Src: /src/hostap/src/utils/os_unix.c:93,1
    - Dst: mach_timebase_info
      Src: /src/hostap/src/utils/os_unix.c:141,1
    - Dst: mach_absolute_time
      Src: /src/hostap/src/utils/os_unix.c:145,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct os_reltime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 153
    functionName: os_get_reltime
    functionSourceFile: /src/hostap/src/utils/os_unix.c
    functionUses: 185
    functionsReached:
    - mach_timebase_info
    - TEST_FAIL
    - clock_gettime
    - mach_absolute_time
    linkageType: ''
    returnType: int
    signature: int os_get_reltime(struct os_reltime *t)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/hostap/src/utils/os_unix.c:168,1
    - Dst: mktime
      Src: /src/hostap/src/utils/os_unix.c:176,1
    - Dst: localtime
      Src: /src/hostap/src/utils/os_unix.c:179,1
    - Dst: mktime
      Src: /src/hostap/src/utils/os_unix.c:181,1
    - Dst: gmtime
      Src: /src/hostap/src/utils/os_unix.c:182,1
    - Dst: mktime
      Src: /src/hostap/src/utils/os_unix.c:184,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 7
    argNames:
    - year
    - month
    - day
    - hour
    - min
    - sec
    - t
    argTypes:
    - int
    - int
    - int
    - int
    - int
    - int
    - os_time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 193
    functionName: os_mktime
    functionSourceFile: /src/hostap/src/utils/os_unix.c
    functionUses: 4
    functionsReached:
    - mktime
    - gmtime
    - localtime
    - memset
    linkageType: ''
    returnType: int
    signature: "int os_mktime(int year, int month, int day, int hour, int min, int
      sec,\n\t      os_time_t *t)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gmtime
      Src: /src/hostap/src/utils/os_unix.c:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - t
    - tm
    argTypes:
    - os_time_t
    - struct os_tm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 211
    functionName: os_gmtime
    functionSourceFile: /src/hostap/src/utils/os_unix.c
    functionUses: 1
    functionsReached:
    - gmtime
    linkageType: ''
    returnType: int
    signature: int os_gmtime(os_time_t t, struct os_tm *tm)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: chdir
      Src: /src/hostap/src/utils/os_unix.c:220,1
    - Dst: open
      Src: /src/hostap/src/utils/os_unix.c:223,1
    - Dst: dup2
      Src: /src/hostap/src/utils/os_unix.c:227,1
    - Dst: close
      Src: /src/hostap/src/utils/os_unix.c:228,1
    - Dst: dup2
      Src: /src/hostap/src/utils/os_unix.c:232,1
    - Dst: close
      Src: /src/hostap/src/utils/os_unix.c:233,1
    - Dst: dup2
      Src: /src/hostap/src/utils/os_unix.c:237,1
    - Dst: close
      Src: /src/hostap/src/utils/os_unix.c:238,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - nochdir
    - noclose
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 243
    functionName: os_daemon
    functionSourceFile: /src/hostap/src/utils/os_unix.c
    functionUses: 0
    functionsReached:
    - open
    - close
    - chdir
    - dup2
    linkageType: ''
    returnType: int
    signature: int os_daemon(int nochdir, int noclose)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_daemon
      Src: /src/hostap/src/utils/os_unix.c:254,1
    - Dst: perror
      Src: /src/hostap/src/utils/os_unix.c:255,1
    - Dst: fopen
      Src: /src/hostap/src/utils/os_unix.c:260,1
    - Dst: fprintf
      Src: /src/hostap/src/utils/os_unix.c:262,1
    - Dst: getpid
      Src: /src/hostap/src/utils/os_unix.c:262,1
    - Dst: fclose
      Src: /src/hostap/src/utils/os_unix.c:263,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - pid_file
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 269
    functionName: os_daemonize
    functionSourceFile: /src/hostap/src/utils/os_unix.c
    functionUses: 5
    functionsReached:
    - fprintf
    - perror
    - fclose
    - getpid
    - os_daemon
    - fopen
    linkageType: ''
    returnType: int
    signature: int os_daemonize(const char *pid_file)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlink
      Src: /src/hostap/src/utils/os_unix.c:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - pid_file
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 276
    functionName: os_daemonize_terminate
    functionSourceFile: /src/hostap/src/utils/os_unix.c
    functionUses: 5
    functionsReached:
    - unlink
    linkageType: ''
    returnType: void
    signature: void os_daemonize_terminate(const char *pid_file)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/utils/os_unix.c:291,1
    - Dst: fopen
      Src: /src/hostap/src/utils/os_unix.c:294,1
    - Dst: printf
      Src: /src/hostap/src/utils/os_unix.c:296,1
    - Dst: fread
      Src: /src/hostap/src/utils/os_unix.c:300,1
    - Dst: fclose
      Src: /src/hostap/src/utils/os_unix.c:301,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 305
    functionName: os_get_random
    functionSourceFile: /src/hostap/src/utils/os_unix.c
    functionUses: 73
    functionsReached:
    - TEST_FAIL
    - printf
    - fclose
    - fread
    - fopen
    linkageType: ''
    returnType: int
    signature: int os_get_random(unsigned char *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: random
      Src: /src/hostap/src/utils/os_unix.c:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 311
    functionName: os_random
    functionSourceFile: /src/hostap/src/utils/os_unix.c
    functionUses: 18
    functionsReached:
    - random
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long os_random(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: os_strdup
      Src: /src/hostap/src/utils/os_unix.c:324,1
    - Dst: os_malloc
      Src: /src/hostap/src/utils/os_unix.c:327,1
    - Dst: getcwd
      Src: /src/hostap/src/utils/os_unix.c:330,1
    - Dst: os_free
      Src: /src/hostap/src/utils/os_unix.c:333,1
    - Dst: os_strlen
      Src: /src/hostap/src/utils/os_unix.c:345,1
    - Dst: os_strlen
      Src: /src/hostap/src/utils/os_unix.c:346,1
    - Dst: os_malloc
      Src: /src/hostap/src/utils/os_unix.c:348,1
    - Dst: os_memcpy
      Src: /src/hostap/src/utils/os_unix.c:350,1
    - Dst: os_memcpy
      Src: /src/hostap/src/utils/os_unix.c:352,1
    - Dst: os_free
      Src: /src/hostap/src/utils/os_unix.c:355,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 1
    argNames:
    - rel_path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 357
    functionName: os_rel2abs_path
    functionSourceFile: /src/hostap/src/utils/os_unix.c
    functionUses: 4
    functionsReached:
    - os_strlen
    - os_memcpy
    - getcwd
    - os_malloc
    - os_free
    - os_strdup
    linkageType: ''
    returnType: char
    signature: char * os_rel2abs_path(const char *rel_path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setgroups
      Src: /src/hostap/src/utils/os_unix.c:377,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/utils/os_unix.c:377,1
    - Dst: prctl
      Src: /src/hostap/src/utils/os_unix.c:379,1
    - Dst: setgid
      Src: /src/hostap/src/utils/os_unix.c:381,1
    - Dst: setuid
      Src: /src/hostap/src/utils/os_unix.c:382,1
    - Dst: capset
      Src: /src/hostap/src/utils/os_unix.c:389,1
    - Dst: os_get_random
      Src: /src/hostap/src/utils/os_unix.c:392,1
    - Dst: srandom
      Src: /src/hostap/src/utils/os_unix.c:393,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 396
    functionName: os_program_init
    functionSourceFile: /src/hostap/src/utils/os_unix.c
    functionUses: 27
    functionsReached:
    - prctl
    - setgroups
    - setuid
    - os_get_random
    - srandom
    - setgid
    - capset
    - ARRAY_SIZE
    linkageType: ''
    returnType: int
    signature: int os_program_init(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/utils/os_unix.c:404,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/os_unix.c:407,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/os_unix.c:412,1
    - Dst: wpa_trace_dump
      Src: /src/hostap/src/utils/os_unix.c:414,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/os_unix.c:417,1
    - Dst: wpa_trace_deinit
      Src: /src/hostap/src/utils/os_unix.c:419,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 421
    functionName: os_program_deinit
    functionSourceFile: /src/hostap/src/utils/os_unix.c
    functionUses: 27
    functionsReached:
    - dl_list_for_each
    - wpa_printf
    - wpa_trace_dump
    - wpa_trace_deinit
    linkageType: ''
    returnType: void
    signature: void os_program_deinit(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setenv
      Src: /src/hostap/src/utils/os_unix.c:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - name
    - value
    - overwrite
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 427
    functionName: os_setenv
    functionSourceFile: /src/hostap/src/utils/os_unix.c
    functionUses: 2
    functionsReached:
    - setenv
    linkageType: ''
    returnType: int
    signature: int os_setenv(const char *name, const char *value, int overwrite)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unsetenv
      Src: /src/hostap/src/utils/os_unix.c:434,1
    - Dst: unsetenv
      Src: /src/hostap/src/utils/os_unix.c:437,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 439
    functionName: os_unsetenv
    functionSourceFile: /src/hostap/src/utils/os_unix.c
    functionUses: 2
    functionsReached:
    - unsetenv
    linkageType: ''
    returnType: int
    signature: int os_unsetenv(const char *name)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/hostap/src/utils/os_unix.c:448,1
    - Dst: fseek
      Src: /src/hostap/src/utils/os_unix.c:452,1
    - Dst: ftell
      Src: /src/hostap/src/utils/os_unix.c:452,1
    - Dst: fclose
      Src: /src/hostap/src/utils/os_unix.c:453,1
    - Dst: fseek
      Src: /src/hostap/src/utils/os_unix.c:457,1
    - Dst: fclose
      Src: /src/hostap/src/utils/os_unix.c:458,1
    - Dst: os_malloc
      Src: /src/hostap/src/utils/os_unix.c:462,1
    - Dst: fclose
      Src: /src/hostap/src/utils/os_unix.c:464,1
    - Dst: fread
      Src: /src/hostap/src/utils/os_unix.c:468,1
    - Dst: fclose
      Src: /src/hostap/src/utils/os_unix.c:469,1
    - Dst: os_free
      Src: /src/hostap/src/utils/os_unix.c:470,1
    - Dst: fclose
      Src: /src/hostap/src/utils/os_unix.c:474,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - name
    - len
    argTypes:
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 477
    functionName: os_readfile
    functionSourceFile: /src/hostap/src/utils/os_unix.c
    functionUses: 17
    functionsReached:
    - fseek
    - os_malloc
    - fclose
    - fread
    - os_free
    - ftell
    - fopen
    linkageType: ''
    returnType: char
    signature: char * os_readfile(const char *name, size_t *len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: access
      Src: /src/hostap/src/utils/os_unix.c:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 483
    functionName: os_file_exists
    functionSourceFile: /src/hostap/src/utils/os_unix.c
    functionUses: 4
    functionsReached:
    - access
    linkageType: ''
    returnType: int
    signature: int os_file_exists(const char *fname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/hostap/src/utils/os_unix.c:488,1
    - Dst: fdatasync
      Src: /src/hostap/src/utils/os_unix.c:490,1
    - Dst: fileno
      Src: /src/hostap/src/utils/os_unix.c:490,1
    - Dst: fcntl
      Src: /src/hostap/src/utils/os_unix.c:494,1
    - Dst: fileno
      Src: /src/hostap/src/utils/os_unix.c:494,1
    - Dst: fsync
      Src: /src/hostap/src/utils/os_unix.c:496,1
    - Dst: fileno
      Src: /src/hostap/src/utils/os_unix.c:496,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - stream
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 502
    functionName: os_fdatasync
    functionSourceFile: /src/hostap/src/utils/os_unix.c
    functionUses: 1
    functionsReached:
    - fileno
    - fdatasync
    - fsync
    - fflush
    - fcntl
    linkageType: ''
    returnType: int
    signature: int os_fdatasync(FILE *stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/hostap/src/utils/os_unix.c:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 509
    functionName: os_zalloc
    functionSourceFile: /src/hostap/src/utils/os_unix.c
    functionUses: 665
    functionsReached:
    - calloc
    linkageType: ''
    returnType: void
    signature: void * os_zalloc(size_t size)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - dest
    - src
    - siz
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 535
    functionName: os_strlcpy
    functionSourceFile: /src/hostap/src/utils/os_unix.c
    functionUses: 214
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t os_strlcpy(char *dest, const char *src, size_t siz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - a
    - b
    - len
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 549
    functionName: os_memcmp_const
    functionSourceFile: /src/hostap/src/utils/os_unix.c
    functionUses: 94
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int os_memcmp_const(const void *a, const void *b, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/utils/os_unix.c:554,1
    - Dst: os_memcpy
      Src: /src/hostap/src/utils/os_unix.c:557,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - src
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 559
    functionName: os_memdup
    functionSourceFile: /src/hostap/src/utils/os_unix.c
    functionUses: 218
    functionsReached:
    - os_memcpy
    - os_malloc
    linkageType: ''
    returnType: void
    signature: void * os_memdup(const void *src, size_t len)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/utils/os_unix.c:587,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/utils/os_unix.c:591,1
    - Dst: wpa_trace_calling_func
      Src: /src/hostap/src/utils/os_unix.c:594,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/utils/os_unix.c:602,1
    - Dst: os_strcmp
      Src: /src/hostap/src/utils/os_unix.c:603,1
    - Dst: os_strchr
      Src: /src/hostap/src/utils/os_unix.c:636,1
    - Dst: os_strlen
      Src: /src/hostap/src/utils/os_unix.c:640,1
    - Dst: os_strncmp
      Src: /src/hostap/src/utils/os_unix.c:645,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/os_unix.c:669,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/os_unix.c:672,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 70
    argCount: 2
    argNames:
    - tag
    - is_alloc
    argTypes:
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 571
    functionDepth: 1
    functionLinenumber: 571
    functionLinenumberEnd: 678
    functionName: testing_test_fail
    functionSourceFile: /src/hostap/src/utils/os_unix.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - wpa_printf
    - wpa_trace_calling_func
    - os_strncmp
    - os_strchr
    - os_strcmp
    - ARRAY_SIZE
    linkageType: ''
    returnType: int
    signature: int testing_test_fail(const char *tag, bool is_alloc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/utils/os_unix.c:689,1
    - Dst: str_token
      Src: /src/hostap/src/utils/os_unix.c:693,1
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/utils/os_unix.c:694,1
    - Dst: atoi
      Src: /src/hostap/src/utils/os_unix.c:695,1
    - Dst: os_strchr
      Src: /src/hostap/src/utils/os_unix.c:696,1
    - Dst: os_memset
      Src: /src/hostap/src/utils/os_unix.c:698,1
    - Dst: os_strchr
      Src: /src/hostap/src/utils/os_unix.c:706,1
    - Dst: os_strchr
      Src: /src/hostap/src/utils/os_unix.c:707,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/utils/os_unix.c:712,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - is_alloc
    - patterns
    argTypes:
    - bool
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 681
    functionDepth: 2
    functionLinenumber: 681
    functionLinenumberEnd: 722
    functionName: testing_set_fail_pattern
    functionSourceFile: /src/hostap/src/utils/os_unix.c
    functionUses: 0
    functionsReached:
    - str_token
    - os_strlcpy
    - atoi
    - os_strchr
    - ARRAY_SIZE
    - os_memset
    linkageType: ''
    returnType: int
    signature: int testing_set_fail_pattern(bool is_alloc, char *patterns)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/hostap/src/utils/os_unix.c:734,1
    - Dst: os_snprintf
      Src: /src/hostap/src/utils/os_unix.c:738,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/utils/os_unix.c:742,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - is_alloc
    - buf
    - buflen
    argTypes:
    - bool
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 725
    functionDepth: 1
    functionLinenumber: 725
    functionLinenumberEnd: 751
    functionName: testing_get_fail_pattern
    functionSourceFile: /src/hostap/src/utils/os_unix.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - ARRAY_SIZE
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: int testing_get_fail_pattern(bool is_alloc, char *buf, size_t buflen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: testing_test_fail
      Src: /src/hostap/src/utils/os_unix.c:758,1
    - Dst: malloc
      Src: /src/hostap/src/utils/os_unix.c:761,1
    - Dst: dl_list_add
      Src: /src/hostap/src/utils/os_unix.c:765,1
    - Dst: wpa_trace_record
      Src: /src/hostap/src/utils/os_unix.c:767,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 754
    functionDepth: 1
    functionLinenumber: 754
    functionLinenumberEnd: 769
    functionName: os_malloc
    functionSourceFile: /src/hostap/src/utils/os_unix.c
    functionUses: 523
    functionsReached:
    - testing_test_fail
    - dl_list_add
    - malloc
    - wpa_trace_record
    linkageType: ''
    returnType: void
    signature: void * os_malloc(size_t size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/utils/os_unix.c:779,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/os_unix.c:783,1
    - Dst: wpa_trace_show
      Src: /src/hostap/src/utils/os_unix.c:786,1
    - Dst: abort
      Src: /src/hostap/src/utils/os_unix.c:787,1
    - Dst: os_malloc
      Src: /src/hostap/src/utils/os_unix.c:789,1
    - Dst: os_memcpy
      Src: /src/hostap/src/utils/os_unix.c:795,1
    - Dst: os_free
      Src: /src/hostap/src/utils/os_unix.c:796,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 798
    functionName: os_realloc
    functionSourceFile: /src/hostap/src/utils/os_unix.c
    functionUses: 20
    functionsReached:
    - abort
    - wpa_printf
    - os_memcpy
    - os_malloc
    - wpa_trace_show
    - os_free
    linkageType: ''
    returnType: void
    signature: void * os_realloc(void *ptr, size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/os_unix.c:809,1
    - Dst: wpa_trace_show
      Src: /src/hostap/src/utils/os_unix.c:812,1
    - Dst: abort
      Src: /src/hostap/src/utils/os_unix.c:813,1
    - Dst: dl_list_del
      Src: /src/hostap/src/utils/os_unix.c:815,1
    - Dst: wpa_trace_check_ref
      Src: /src/hostap/src/utils/os_unix.c:818,1
    - Dst: free
      Src: /src/hostap/src/utils/os_unix.c:819,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 801
    functionDepth: 1
    functionLinenumber: 801
    functionLinenumberEnd: 820
    functionName: os_free
    functionSourceFile: /src/hostap/src/utils/os_unix.c
    functionUses: 1820
    functionsReached:
    - abort
    - wpa_printf
    - dl_list_del
    - wpa_trace_check_ref
    - wpa_trace_show
    - free
    linkageType: ''
    returnType: void
    signature: void os_free(void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/utils/os_unix.c:825,1
    - Dst: os_memset
      Src: /src/hostap/src/utils/os_unix.c:827,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 823
    functionDepth: 0
    functionLinenumber: 823
    functionLinenumberEnd: 829
    functionName: os_zalloc
    functionSourceFile: /src/hostap/src/utils/os_unix.c
    functionUses: 665
    functionsReached:
    - os_malloc
    - os_memset
    linkageType: ''
    returnType: void
    signature: void * os_zalloc(size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/utils/os_unix.c:836,1
    - Dst: os_malloc
      Src: /src/hostap/src/utils/os_unix.c:837,1
    - Dst: os_memcpy
      Src: /src/hostap/src/utils/os_unix.c:840,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 843
    functionName: os_strdup
    functionSourceFile: /src/hostap/src/utils/os_unix.c
    functionUses: 237
    functionsReached:
    - os_strlen
    - os_memcpy
    - os_malloc
    linkageType: ''
    returnType: char
    signature: char * os_strdup(const char *s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fork
      Src: /src/hostap/src/utils/os_unix.c:853,1
    - Dst: perror
      Src: /src/hostap/src/utils/os_unix.c:855,1
    - Dst: os_strdup
      Src: /src/hostap/src/utils/os_unix.c:866,1
    - Dst: os_strdup
      Src: /src/hostap/src/utils/os_unix.c:867,1
    - Dst: os_strchr
      Src: /src/hostap/src/utils/os_unix.c:879,1
    - Dst: execv
      Src: /src/hostap/src/utils/os_unix.c:885,1
    - Dst: perror
      Src: /src/hostap/src/utils/os_unix.c:886,1
    - Dst: os_free
      Src: /src/hostap/src/utils/os_unix.c:887,1
    - Dst: os_free
      Src: /src/hostap/src/utils/os_unix.c:888,1
    - Dst: exit
      Src: /src/hostap/src/utils/os_unix.c:889,1
    - Dst: waitpid
      Src: /src/hostap/src/utils/os_unix.c:895,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 3
    argNames:
    - program
    - arg
    - wait_completion
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 848
    functionDepth: 1
    functionLinenumber: 848
    functionLinenumberEnd: 899
    functionName: os_exec
    functionSourceFile: /src/hostap/src/utils/os_unix.c
    functionUses: 3
    functionsReached:
    - waitpid
    - fork
    - exit
    - perror
    - execv
    - os_free
    - os_strchr
    - os_strdup
    linkageType: ''
    returnType: int
    signature: int os_exec(const char *program, const char *arg, int wait_completion)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LoadLibrary
      Src: /src/hostap/src/utils/pcsc_funcs.c:198,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:200,1
    - Dst: LOADSYM
      Src: /src/hostap/src/utils/pcsc_funcs.c:211,1
    - Dst: LOADSYM
      Src: /src/hostap/src/utils/pcsc_funcs.c:212,1
    - Dst: LOADSYM
      Src: /src/hostap/src/utils/pcsc_funcs.c:213,1
    - Dst: LOADSYM
      Src: /src/hostap/src/utils/pcsc_funcs.c:214,1
    - Dst: LOADSYM
      Src: /src/hostap/src/utils/pcsc_funcs.c:215,1
    - Dst: LOADSYM
      Src: /src/hostap/src/utils/pcsc_funcs.c:216,1
    - Dst: LOADSYM
      Src: /src/hostap/src/utils/pcsc_funcs.c:217,1
    - Dst: LOADSYM
      Src: /src/hostap/src/utils/pcsc_funcs.c:218,1
    - Dst: LOADSYM
      Src: /src/hostap/src/utils/pcsc_funcs.c:219,1
    - Dst: LOADSYM
      Src: /src/hostap/src/utils/pcsc_funcs.c:220,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:227,1
    - Dst: FreeLibrary
      Src: /src/hostap/src/utils/pcsc_funcs.c:229,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 232
    functionName: mingw_load_symbols
    functionSourceFile: /src/hostap/src/utils/pcsc_funcs.c
    functionUses: 0
    functionsReached:
    - LoadLibrary
    - wpa_printf
    - LOADSYM
    - FreeLibrary
    linkageType: ''
    returnType: int
    signature: int mingw_load_symbols(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 210
    functionName: LOADSYM
    functionSourceFile: /src/hostap/src/utils/pcsc_funcs.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOADSYM(s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FreeLibrary
      Src: /src/hostap/src/utils/pcsc_funcs.c:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 242
    functionName: mingw_unload_symbols
    functionSourceFile: /src/hostap/src/utils/pcsc_funcs.c
    functionUses: 0
    functionsReached:
    - FreeLibrary
    linkageType: ''
    returnType: void
    signature: void mingw_unload_symbols(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 247
    functionName: mingw_load_symbols
    functionSourceFile: /src/hostap/src/utils/pcsc_funcs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mingw_load_symbols()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 248
    functionName: mingw_unload_symbols
    functionSourceFile: /src/hostap/src/utils/pcsc_funcs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mingw_unload_symbols()
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:279,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/utils/pcsc_funcs.c:289,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:297,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/utils/pcsc_funcs.c:306,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/utils/pcsc_funcs.c:310,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/utils/pcsc_funcs.c:314,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/utils/pcsc_funcs.c:318,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/utils/pcsc_funcs.c:322,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/utils/pcsc_funcs.c:326,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/utils/pcsc_funcs.c:332,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:333,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/utils/pcsc_funcs.c:338,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/utils/pcsc_funcs.c:342,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:346,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/utils/pcsc_funcs.c:352,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/utils/pcsc_funcs.c:358,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/utils/pcsc_funcs.c:362,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 77
    argCount: 4
    argNames:
    - buf
    - buf_len
    - ps_do
    - file_len
    argTypes:
    - unsigned char*
    - size_t
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 373
    functionName: scard_parse_fsp_templ
    functionSourceFile: /src/hostap/src/utils/pcsc_funcs.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - WPA_GET_BE16
    - wpa_hexdump
    linkageType: ''
    returnType: int
    signature: "int scard_parse_fsp_templ(unsigned char *buf, size_t buf_len,\n\t\t\t\t
      int *ps_do, int *file_len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: scard_parse_fsp_templ
      Src: /src/hostap/src/utils/pcsc_funcs.c:388,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - scard
    - hdr
    - hlen
    argTypes:
    - struct scard_data*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 376
    functionDepth: 2
    functionLinenumber: 376
    functionLinenumberEnd: 398
    functionName: scard_pin_needed
    functionSourceFile: /src/hostap/src/utils/pcsc_funcs.c
    functionUses: 0
    functionsReached:
    - scard_parse_fsp_templ
    linkageType: ''
    returnType: int
    signature: "int scard_pin_needed(struct scard_data *scard,\n\t\t\t    unsigned
      char *hdr, size_t hlen)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: scard_select_file
      Src: /src/hostap/src/utils/pcsc_funcs.c:420,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:421,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/utils/pcsc_funcs.c:424,1
    - Dst: scard_get_record_len
      Src: /src/hostap/src/utils/pcsc_funcs.c:427,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:430,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:436,1
    - Dst: scard_read_record
      Src: /src/hostap/src/utils/pcsc_funcs.c:439,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:441,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/utils/pcsc_funcs.c:445,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:448,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:455,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:462,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:469,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/utils/pcsc_funcs.c:474,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:479,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:486,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:492,1
    - Dst: os_memcpy
      Src: /src/hostap/src/utils/pcsc_funcs.c:496,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 58
    argCount: 3
    argNames:
    - scard
    - aid
    - maxlen
    argTypes:
    - struct scard_data*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 499
    functionName: scard_get_aid
    functionSourceFile: /src/hostap/src/utils/pcsc_funcs.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_hexdump
    - scard_get_record_len
    - scard_read_record
    - scard_select_file
    linkageType: ''
    returnType: int
    signature: "int scard_get_aid(struct scard_data *scard, unsigned char *aid,\n\t\t\t
      size_t maxlen)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:532,1
    - Dst: mingw_load_symbols
      Src: /src/hostap/src/utils/pcsc_funcs.c:533,1
    - Dst: os_zalloc
      Src: /src/hostap/src/utils/pcsc_funcs.c:535,1
    - Dst: SCardEstablishContext
      Src: /src/hostap/src/utils/pcsc_funcs.c:539,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:542,1
    - Dst: SCardListReaders
      Src: /src/hostap/src/utils/pcsc_funcs.c:547,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:549,1
    - Dst: os_malloc
      Src: /src/hostap/src/utils/pcsc_funcs.c:557,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:559,1
    - Dst: SCardListReaders
      Src: /src/hostap/src/utils/pcsc_funcs.c:563,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:565,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:570,1
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/utils/pcsc_funcs.c:574,1
    - Dst: os_strncmp
      Src: /src/hostap/src/utils/pcsc_funcs.c:585,1
    - Dst: os_strlen
      Src: /src/hostap/src/utils/pcsc_funcs.c:585,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:595,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:601,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:603,1
    - Dst: SCardConnect
      Src: /src/hostap/src/utils/pcsc_funcs.c:606,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:611,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:613,1
    - Dst: os_free
      Src: /src/hostap/src/utils/pcsc_funcs.c:617,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:620,1
    - Dst: SCardBeginTransaction
      Src: /src/hostap/src/utils/pcsc_funcs.c:624,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:626,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:634,1
    - Dst: _scard_select_file
      Src: /src/hostap/src/utils/pcsc_funcs.c:635,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:637,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:640,1
    - Dst: scard_select_file
      Src: /src/hostap/src/utils/pcsc_funcs.c:646,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:647,1
    - Dst: scard_select_file
      Src: /src/hostap/src/utils/pcsc_funcs.c:652,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:653,1
    - Dst: scard_get_aid
      Src: /src/hostap/src/utils/pcsc_funcs.c:660,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:662,1
    - Dst: os_memcpy
      Src: /src/hostap/src/utils/pcsc_funcs.c:664,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/utils/pcsc_funcs.c:667,1
    - Dst: _scard_select_file
      Src: /src/hostap/src/utils/pcsc_funcs.c:672,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:674,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/utils/pcsc_funcs.c:676,1
    - Dst: scard_pin_needed
      Src: /src/hostap/src/utils/pcsc_funcs.c:683,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:685,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:691,1
    - Dst: scard_get_pin_retry_counter
      Src: /src/hostap/src/utils/pcsc_funcs.c:692,1
    - Dst: SCardEndTransaction
      Src: /src/hostap/src/utils/pcsc_funcs.c:695,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:697,1
    - Dst: SCardEndTransaction
      Src: /src/hostap/src/utils/pcsc_funcs.c:705,1
    - Dst: os_free
      Src: /src/hostap/src/utils/pcsc_funcs.c:706,1
    - Dst: scard_deinit
      Src: /src/hostap/src/utils/pcsc_funcs.c:707,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 133
    argCount: 1
    argNames:
    - reader
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 512
    functionDepth: 3
    functionLinenumber: 512
    functionLinenumberEnd: 709
    functionName: scard_init
    functionSourceFile: /src/hostap/src/utils/pcsc_funcs.c
    functionUses: 9
    functionsReached:
    - SCardBeginTransaction
    - wpa_hexdump
    - wpa_hexdump_ascii
    - os_strlen
    - SCardConnect
    - wpa_printf
    - scard_pin_needed
    - SCardListReaders
    - _scard_select_file
    - os_free
    - scard_select_file
    - mingw_load_symbols
    - scard_deinit
    - scard_get_aid
    - SCardEstablishContext
    - os_malloc
    - os_memcpy
    - SCardEndTransaction
    - os_strncmp
    - os_zalloc
    - scard_get_pin_retry_counter
    linkageType: ''
    returnType: struct scard_data
    signature: struct scard_data * scard_init(const char *reader)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:726,1
    - Dst: scard_verify_pin
      Src: /src/hostap/src/utils/pcsc_funcs.c:730,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:731,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - scard
    - pin
    argTypes:
    - struct scard_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 718
    functionDepth: 1
    functionLinenumber: 718
    functionLinenumberEnd: 738
    functionName: scard_set_pin
    functionSourceFile: /src/hostap/src/utils/pcsc_funcs.c
    functionUses: 4
    functionsReached:
    - wpa_printf
    - scard_verify_pin
    linkageType: ''
    returnType: int
    signature: int scard_set_pin(struct scard_data *scard, const char *pin)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:754,1
    - Dst: SCardDisconnect
      Src: /src/hostap/src/utils/pcsc_funcs.c:756,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:758,1
    - Dst: SCardReleaseContext
      Src: /src/hostap/src/utils/pcsc_funcs.c:764,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:766,1
    - Dst: os_free
      Src: /src/hostap/src/utils/pcsc_funcs.c:770,1
    - Dst: mingw_unload_symbols
      Src: /src/hostap/src/utils/pcsc_funcs.c:771,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - scard
    argTypes:
    - struct scard_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 747
    functionDepth: 1
    functionLinenumber: 747
    functionLinenumberEnd: 772
    functionName: scard_deinit
    functionSourceFile: /src/hostap/src/utils/pcsc_funcs.c
    functionUses: 8
    functionsReached:
    - wpa_printf
    - mingw_unload_symbols
    - SCardDisconnect
    - SCardReleaseContext
    - os_free
    linkageType: ''
    returnType: void
    signature: void scard_deinit(struct scard_data *scard)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/utils/pcsc_funcs.c:786,1
    - Dst: SCardTransmit
      Src: /src/hostap/src/utils/pcsc_funcs.c:789,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/utils/pcsc_funcs.c:796,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:799,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - scard
    - _send
    - send_len
    - _recv
    - recv_len
    argTypes:
    - struct scard_data*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 803
    functionName: scard_transmit
    functionSourceFile: /src/hostap/src/utils/pcsc_funcs.c
    functionUses: 0
    functionsReached:
    - wpa_hexdump_key
    - wpa_printf
    - SCardTransmit
    - wpa_hexdump
    linkageType: ''
    returnType: long
    signature: "long scard_transmit(struct scard_data *scard,\n\t\t\t   unsigned char
      *_send, size_t send_len,\n\t\t\t   unsigned char *_recv, size_t *recv_len)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:824,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/utils/pcsc_funcs.c:826,1
    - Dst: os_memcpy
      Src: /src/hostap/src/utils/pcsc_funcs.c:832,1
    - Dst: scard_transmit
      Src: /src/hostap/src/utils/pcsc_funcs.c:840,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:842,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:848,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:855,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:861,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:866,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:872,1
    - Dst: scard_transmit
      Src: /src/hostap/src/utils/pcsc_funcs.c:876,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:882,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 52
    argCount: 7
    argNames:
    - scard
    - file_id
    - buf
    - buf_len
    - sim_type
    - aid
    - aidlen
    argTypes:
    - struct scard_data*
    - unsigned short
    - unsigned char*
    - size_t*
    - sim_types
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 806
    functionDepth: 1
    functionLinenumber: 806
    functionLinenumberEnd: 884
    functionName: _scard_select_file
    functionSourceFile: /src/hostap/src/utils/pcsc_funcs.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - scard_transmit
    - os_memcpy
    - wpa_hexdump
    linkageType: ''
    returnType: int
    signature: "int _scard_select_file(struct scard_data *scard, unsigned short file_id,\n\t\t\t
      \     unsigned char *buf, size_t *buf_len,\n\t\t\t      sim_types sim_type,
      unsigned char *aid,\n\t\t\t      size_t aidlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _scard_select_file
      Src: /src/hostap/src/utils/pcsc_funcs.c:890,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - scard
    - file_id
    - buf
    - buf_len
    argTypes:
    - struct scard_data*
    - unsigned short
    - unsigned char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 887
    functionDepth: 2
    functionLinenumber: 887
    functionLinenumberEnd: 892
    functionName: scard_select_file
    functionSourceFile: /src/hostap/src/utils/pcsc_funcs.c
    functionUses: 3
    functionsReached:
    - _scard_select_file
    linkageType: ''
    returnType: int
    signature: "int scard_select_file(struct scard_data *scard, unsigned short file_id,\n\t\t\t
      \    unsigned char *buf, size_t *buf_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: scard_transmit
      Src: /src/hostap/src/utils/pcsc_funcs.c:910,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:912,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/utils/pcsc_funcs.c:917,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:921,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - scard
    - recnum
    - mode
    argTypes:
    - struct scard_data*
    - unsigned char
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 895
    functionDepth: 1
    functionLinenumber: 895
    functionLinenumberEnd: 927
    functionName: scard_get_record_len
    functionSourceFile: /src/hostap/src/utils/pcsc_funcs.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - scard_transmit
    - wpa_hexdump
    linkageType: ''
    returnType: int
    signature: "int scard_get_record_len(struct scard_data *scard, unsigned char recnum,\n\t\t\t\tunsigned
      char mode)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/utils/pcsc_funcs.c:945,1
    - Dst: scard_transmit
      Src: /src/hostap/src/utils/pcsc_funcs.c:949,1
    - Dst: os_free
      Src: /src/hostap/src/utils/pcsc_funcs.c:951,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:955,1
    - Dst: os_free
      Src: /src/hostap/src/utils/pcsc_funcs.c:958,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:963,1
    - Dst: os_free
      Src: /src/hostap/src/utils/pcsc_funcs.c:966,1
    - Dst: os_memcpy
      Src: /src/hostap/src/utils/pcsc_funcs.c:970,1
    - Dst: os_free
      Src: /src/hostap/src/utils/pcsc_funcs.c:971,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 5
    argNames:
    - scard
    - data
    - len
    - recnum
    - mode
    argTypes:
    - struct scard_data*
    - unsigned char*
    - size_t
    - unsigned char
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 930
    functionDepth: 1
    functionLinenumber: 930
    functionLinenumberEnd: 974
    functionName: scard_read_record
    functionSourceFile: /src/hostap/src/utils/pcsc_funcs.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - os_memcpy
    - scard_transmit
    - os_malloc
    - os_free
    linkageType: ''
    returnType: int
    signature: "int scard_read_record(struct scard_data *scard,\n\t\t\t     unsigned
      char *data, size_t len,\n\t\t\t     unsigned char recnum, unsigned char mode)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/utils/pcsc_funcs.c:987,1
    - Dst: scard_transmit
      Src: /src/hostap/src/utils/pcsc_funcs.c:993,1
    - Dst: os_free
      Src: /src/hostap/src/utils/pcsc_funcs.c:995,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:999,1
    - Dst: os_free
      Src: /src/hostap/src/utils/pcsc_funcs.c:1002,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:1007,1
    - Dst: os_free
      Src: /src/hostap/src/utils/pcsc_funcs.c:1010,1
    - Dst: os_memcpy
      Src: /src/hostap/src/utils/pcsc_funcs.c:1014,1
    - Dst: os_free
      Src: /src/hostap/src/utils/pcsc_funcs.c:1015,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - scard
    - data
    - len
    argTypes:
    - struct scard_data*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 977
    functionDepth: 1
    functionLinenumber: 977
    functionLinenumberEnd: 1018
    functionName: scard_read_file
    functionSourceFile: /src/hostap/src/utils/pcsc_funcs.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - scard_transmit
    - os_malloc
    - os_free
    linkageType: ''
    returnType: int
    signature: "int scard_read_file(struct scard_data *scard,\n\t\t\t   unsigned char
      *data, size_t len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:1028,1
    - Dst: os_strlen
      Src: /src/hostap/src/utils/pcsc_funcs.c:1030,1
    - Dst: os_memcpy
      Src: /src/hostap/src/utils/pcsc_funcs.c:1035,1
    - Dst: os_strlen
      Src: /src/hostap/src/utils/pcsc_funcs.c:1035,1
    - Dst: os_memset
      Src: /src/hostap/src/utils/pcsc_funcs.c:1036,1
    - Dst: os_strlen
      Src: /src/hostap/src/utils/pcsc_funcs.c:1036,1
    - Dst: os_strlen
      Src: /src/hostap/src/utils/pcsc_funcs.c:1036,1
    - Dst: scard_transmit
      Src: /src/hostap/src/utils/pcsc_funcs.c:1039,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:1044,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:1048,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - scard
    - pin
    argTypes:
    - struct scard_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 1021
    functionDepth: 1
    functionLinenumber: 1021
    functionLinenumberEnd: 1050
    functionName: scard_verify_pin
    functionSourceFile: /src/hostap/src/utils/pcsc_funcs.c
    functionUses: 1
    functionsReached:
    - os_strlen
    - wpa_printf
    - os_memcpy
    - scard_transmit
    - os_memset
    linkageType: ''
    returnType: int
    signature: int scard_verify_pin(struct scard_data *scard, const char *pin)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:1061,1
    - Dst: scard_transmit
      Src: /src/hostap/src/utils/pcsc_funcs.c:1068,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:1073,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/utils/pcsc_funcs.c:1078,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:1080,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:1087,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - scard
    argTypes:
    - struct scard_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1090
      start: 1053
    functionDepth: 1
    functionLinenumber: 1053
    functionLinenumberEnd: 1090
    functionName: scard_get_pin_retry_counter
    functionSourceFile: /src/hostap/src/utils/pcsc_funcs.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - scard_transmit
    - WPA_GET_BE16
    linkageType: ''
    returnType: int
    signature: int scard_get_pin_retry_counter(struct scard_data *scard)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:1113,1
    - Dst: scard_select_file
      Src: /src/hostap/src/utils/pcsc_funcs.c:1115,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:1118,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/utils/pcsc_funcs.c:1124,1
    - Dst: scard_parse_fsp_templ
      Src: /src/hostap/src/utils/pcsc_funcs.c:1127,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:1132,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:1138,1
    - Dst: scard_read_file
      Src: /src/hostap/src/utils/pcsc_funcs.c:1145,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 3
    argNames:
    - scard
    - imsi
    - len
    argTypes:
    - struct scard_data*
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1168
      start: 1107
    functionDepth: 3
    functionLinenumber: 1107
    functionLinenumberEnd: 1168
    functionName: scard_get_imsi
    functionSourceFile: /src/hostap/src/utils/pcsc_funcs.c
    functionUses: 5
    functionsReached:
    - wpa_printf
    - WPA_GET_BE16
    - scard_parse_fsp_templ
    - scard_select_file
    - scard_read_file
    linkageType: ''
    returnType: int
    signature: int scard_get_imsi(struct scard_data *scard, char *imsi, size_t *len)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:1187,1
    - Dst: scard_select_file
      Src: /src/hostap/src/utils/pcsc_funcs.c:1189,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:1192,1
    - Dst: WPA_GET_BE16
      Src: /src/hostap/src/utils/pcsc_funcs.c:1198,1
    - Dst: scard_parse_fsp_templ
      Src: /src/hostap/src/utils/pcsc_funcs.c:1200,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:1204,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:1208,1
    - Dst: scard_read_file
      Src: /src/hostap/src/utils/pcsc_funcs.c:1213,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:1217,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:1221,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 1
    argNames:
    - scard
    argTypes:
    - struct scard_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1223
      start: 1181
    functionDepth: 3
    functionLinenumber: 1181
    functionLinenumberEnd: 1223
    functionName: scard_get_mnc_len
    functionSourceFile: /src/hostap/src/utils/pcsc_funcs.c
    functionUses: 4
    functionsReached:
    - wpa_printf
    - WPA_GET_BE16
    - scard_parse_fsp_templ
    - scard_select_file
    - scard_read_file
    linkageType: ''
    returnType: int
    signature: int scard_get_mnc_len(struct scard_data *scard)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/src/utils/pcsc_funcs.c:1254,1
    - Dst: os_memcpy
      Src: /src/hostap/src/utils/pcsc_funcs.c:1257,1
    - Dst: os_memcpy
      Src: /src/hostap/src/utils/pcsc_funcs.c:1264,1
    - Dst: scard_transmit
      Src: /src/hostap/src/utils/pcsc_funcs.c:1268,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:1276,1
    - Dst: scard_transmit
      Src: /src/hostap/src/utils/pcsc_funcs.c:1284,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:1290,1
    - Dst: os_memcpy
      Src: /src/hostap/src/utils/pcsc_funcs.c:1295,1
    - Dst: os_memcpy
      Src: /src/hostap/src/utils/pcsc_funcs.c:1296,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:1299,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:1305,1
    - Dst: os_memcpy
      Src: /src/hostap/src/utils/pcsc_funcs.c:1309,1
    - Dst: os_memcpy
      Src: /src/hostap/src/utils/pcsc_funcs.c:1310,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/utils/pcsc_funcs.c:1313,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/utils/pcsc_funcs.c:1314,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 50
    argCount: 4
    argNames:
    - scard
    - _rand
    - sres
    - kc
    argTypes:
    - struct scard_data*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1317
      start: 1241
    functionDepth: 1
    functionLinenumber: 1241
    functionLinenumberEnd: 1317
    functionName: scard_gsm_auth
    functionSourceFile: /src/hostap/src/utils/pcsc_funcs.c
    functionUses: 3
    functionsReached:
    - os_memcpy
    - scard_transmit
    - wpa_printf
    - wpa_hexdump
    linkageType: ''
    returnType: int
    signature: "int scard_gsm_auth(struct scard_data *scard, const unsigned char *_rand,\n\t\t
      \  unsigned char *sres, unsigned char *kc)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:1356,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/utils/pcsc_funcs.c:1361,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/utils/pcsc_funcs.c:1362,1
    - Dst: os_memcpy
      Src: /src/hostap/src/utils/pcsc_funcs.c:1364,1
    - Dst: os_memcpy
      Src: /src/hostap/src/utils/pcsc_funcs.c:1366,1
    - Dst: scard_transmit
      Src: /src/hostap/src/utils/pcsc_funcs.c:1369,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/utils/pcsc_funcs.c:1374,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:1377,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:1381,1
    - Dst: scard_transmit
      Src: /src/hostap/src/utils/pcsc_funcs.c:1389,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/utils/pcsc_funcs.c:1393,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:1396,1
    - Dst: os_memcpy
      Src: /src/hostap/src/utils/pcsc_funcs.c:1397,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/utils/pcsc_funcs.c:1398,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:1406,1
    - Dst: os_memcpy
      Src: /src/hostap/src/utils/pcsc_funcs.c:1410,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/utils/pcsc_funcs.c:1412,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:1416,1
    - Dst: os_memcpy
      Src: /src/hostap/src/utils/pcsc_funcs.c:1420,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/utils/pcsc_funcs.c:1422,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:1426,1
    - Dst: os_memcpy
      Src: /src/hostap/src/utils/pcsc_funcs.c:1430,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/utils/pcsc_funcs.c:1432,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/utils/pcsc_funcs.c:1435,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/pcsc_funcs.c:1443,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 73
    argCount: 8
    argNames:
    - scard
    - _rand
    - autn
    - res
    - res_len
    - ik
    - ck
    - auts
    argTypes:
    - struct scard_data*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - size_t*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1445
      start: 1340
    functionDepth: 1
    functionLinenumber: 1340
    functionLinenumberEnd: 1445
    functionName: scard_umts_auth
    functionSourceFile: /src/hostap/src/utils/pcsc_funcs.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - scard_transmit
    - os_memcpy
    - wpa_hexdump
    linkageType: ''
    returnType: int
    signature: "int scard_umts_auth(struct scard_data *scard, const unsigned char
      *_rand,\n\t\t    const unsigned char *autn,\n\t\t    unsigned char *res, size_t
      *res_len,\n\t\t    unsigned char *ik, unsigned char *ck, unsigned char *auts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - scard
    argTypes:
    - struct scard_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1451
      start: 1448
    functionDepth: 0
    functionLinenumber: 1448
    functionLinenumberEnd: 1451
    functionName: scard_supports_umts
    functionSourceFile: /src/hostap/src/utils/pcsc_funcs.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int scard_supports_umts(struct scard_data *scard)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: get_unaligned_le16
      Src: /src/hostap/src/utils/radiotap.c:104,1
    - Dst: get_unaligned_le16
      Src: /src/hostap/src/utils/radiotap.c:108,1
    - Dst: get_unaligned_le32
      Src: /src/hostap/src/utils/radiotap.c:110,1
    - Dst: BIT
      Src: /src/hostap/src/utils/radiotap.c:126,1
    - Dst: get_unaligned_le32
      Src: /src/hostap/src/utils/radiotap.c:131,1
    - Dst: BIT
      Src: /src/hostap/src/utils/radiotap.c:132,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 4
    argNames:
    - iterator
    - radiotap_header
    - max_length
    - vns
    argTypes:
    - struct ieee80211_radiotap_iterator*
    - struct ieee80211_radiotap_header*
    - int
    - struct ieee80211_radiotap_vendor_namespaces*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 164
    functionName: ieee80211_radiotap_iterator_init
    functionSourceFile: /src/hostap/src/utils/radiotap.c
    functionUses: 1
    functionsReached:
    - BIT
    - get_unaligned_le16
    - get_unaligned_le32
    linkageType: ''
    returnType: int
    signature: "int ieee80211_radiotap_iterator_init(\n\tstruct ieee80211_radiotap_iterator
      *iterator,\n\tstruct ieee80211_radiotap_header *radiotap_header,\n\tint max_length,
      const struct ieee80211_radiotap_vendor_namespaces *vns)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - iterator
    - oui
    - subns
    argTypes:
    - struct ieee80211_radiotap_iterator*
    - uint32_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 185
    functionName: find_ns
    functionSourceFile: /src/hostap/src/utils/radiotap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void find_ns(struct ieee80211_radiotap_iterator *iterator,\n\t\t    uint32_t
      oui, uint8_t subns)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - iterator
    - align
    - size
    argTypes:
    - struct ieee80211_radiotap_iterator*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 207
    functionName: find_override
    functionSourceFile: /src/hostap/src/utils/radiotap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int find_override(struct ieee80211_radiotap_iterator *iterator,\n\t\t\t
      int *align, int *size)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: find_override
      Src: /src/hostap/src/utils/radiotap.c:263,1
    - Dst: find_ns
      Src: /src/hostap/src/utils/radiotap.c:317,1
    - Dst: get_unaligned_le16
      Src: /src/hostap/src/utils/radiotap.c:319,1
    - Dst: get_unaligned_le32
      Src: /src/hostap/src/utils/radiotap.c:376,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 89
    argCount: 1
    argNames:
    - iterator
    argTypes:
    - struct ieee80211_radiotap_iterator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 396
    functionName: ieee80211_radiotap_iterator_next
    functionSourceFile: /src/hostap/src/utils/radiotap.c
    functionUses: 1
    functionsReached:
    - get_unaligned_le16
    - find_override
    - find_ns
    - get_unaligned_le32
    linkageType: ''
    returnType: int
    signature: "int ieee80211_radiotap_iterator_next(\n\tstruct ieee80211_radiotap_iterator
      *iterator)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: putchar
      Src: /src/hostap/src/utils/edit.c:50,1
    - Dst: os_strlen
      Src: /src/hostap/src/utils/edit.c:51,1
    - Dst: putchar
      Src: /src/hostap/src/utils/edit.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: edit_clear_line
    functionSourceFile: /src/hostap/src/utils/edit.c
    functionUses: 6
    functionsReached:
    - os_strlen
    - putchar
    linkageType: ''
    returnType: void
    signature: void edit_clear_line(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: edit_redraw
      Src: /src/hostap/src/utils/edit.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: move_start
    functionSourceFile: /src/hostap/src/utils/edit.c
    functionUses: 0
    functionsReached:
    - edit_redraw
    linkageType: ''
    returnType: void
    signature: void move_start(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: edit_redraw
      Src: /src/hostap/src/utils/edit.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: move_end
    functionSourceFile: /src/hostap/src/utils/edit.c
    functionUses: 0
    functionsReached:
    - edit_redraw
    linkageType: ''
    returnType: void
    signature: void move_end(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: edit_redraw
      Src: /src/hostap/src/utils/edit.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: move_left
    functionSourceFile: /src/hostap/src/utils/edit.c
    functionUses: 0
    functionsReached:
    - edit_redraw
    linkageType: ''
    returnType: void
    signature: void move_left(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: edit_redraw
      Src: /src/hostap/src/utils/edit.c:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: move_right
    functionSourceFile: /src/hostap/src/utils/edit.c
    functionUses: 0
    functionsReached:
    - edit_redraw
    linkageType: ''
    returnType: void
    signature: void move_right(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: edit_redraw
      Src: /src/hostap/src/utils/edit.c:94,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 95
    functionName: move_word_left
    functionSourceFile: /src/hostap/src/utils/edit.c
    functionUses: 0
    functionsReached:
    - edit_redraw
    linkageType: ''
    returnType: void
    signature: void move_word_left(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: edit_redraw
      Src: /src/hostap/src/utils/edit.c:104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 105
    functionName: move_word_right
    functionSourceFile: /src/hostap/src/utils/edit.c
    functionUses: 0
    functionsReached:
    - edit_redraw
    linkageType: ''
    returnType: void
    signature: void move_word_right(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: edit_clear_line
      Src: /src/hostap/src/utils/edit.c:113,1
    - Dst: os_memmove
      Src: /src/hostap/src/utils/edit.c:114,1
    - Dst: edit_redraw
      Src: /src/hostap/src/utils/edit.c:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 119
    functionName: delete_left
    functionSourceFile: /src/hostap/src/utils/edit.c
    functionUses: 0
    functionsReached:
    - edit_redraw
    - os_memmove
    - edit_clear_line
    linkageType: ''
    returnType: void
    signature: void delete_left(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: edit_clear_line
      Src: /src/hostap/src/utils/edit.c:127,1
    - Dst: os_memmove
      Src: /src/hostap/src/utils/edit.c:128,1
    - Dst: edit_redraw
      Src: /src/hostap/src/utils/edit.c:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 132
    functionName: delete_current
    functionSourceFile: /src/hostap/src/utils/edit.c
    functionUses: 0
    functionsReached:
    - edit_redraw
    - os_memmove
    - edit_clear_line
    linkageType: ''
    returnType: void
    signature: void delete_current(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: edit_clear_line
      Src: /src/hostap/src/utils/edit.c:139,1
    - Dst: os_memmove
      Src: /src/hostap/src/utils/edit.c:145,1
    - Dst: edit_redraw
      Src: /src/hostap/src/utils/edit.c:148,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 149
    functionName: delete_word
    functionSourceFile: /src/hostap/src/utils/edit.c
    functionUses: 0
    functionsReached:
    - edit_redraw
    - os_memmove
    - edit_clear_line
    linkageType: ''
    returnType: void
    signature: void delete_word(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: edit_clear_line
      Src: /src/hostap/src/utils/edit.c:157,1
    - Dst: os_memmove
      Src: /src/hostap/src/utils/edit.c:158,1
    - Dst: edit_redraw
      Src: /src/hostap/src/utils/edit.c:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 162
    functionName: clear_left
    functionSourceFile: /src/hostap/src/utils/edit.c
    functionUses: 0
    functionsReached:
    - edit_redraw
    - os_memmove
    - edit_clear_line
    linkageType: ''
    returnType: void
    signature: void clear_left(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: edit_clear_line
      Src: /src/hostap/src/utils/edit.c:170,1
    - Dst: edit_redraw
      Src: /src/hostap/src/utils/edit.c:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 173
    functionName: clear_right
    functionSourceFile: /src/hostap/src/utils/edit.c
    functionUses: 0
    functionsReached:
    - edit_redraw
    - edit_clear_line
    linkageType: ''
    returnType: void
    signature: void clear_right(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/utils/edit.c:184,1
    - Dst: os_strcmp
      Src: /src/hostap/src/utils/edit.c:185,1
    - Dst: dl_list_del
      Src: /src/hostap/src/utils/edit.c:194,1
    - Dst: dl_list_add
      Src: /src/hostap/src/utils/edit.c:195,1
    - Dst: dl_list_del
      Src: /src/hostap/src/utils/edit.c:201,1
    - Dst: os_free
      Src: /src/hostap/src/utils/edit.c:202,1
    - Dst: os_strlen
      Src: /src/hostap/src/utils/edit.c:205,1
    - Dst: os_zalloc
      Src: /src/hostap/src/utils/edit.c:206,1
    - Dst: dl_list_add
      Src: /src/hostap/src/utils/edit.c:209,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/utils/edit.c:210,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 212
    functionName: history_add
    functionSourceFile: /src/hostap/src/utils/edit.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - dl_list_del
    - os_strlcpy
    - dl_list_for_each
    - os_zalloc
    - dl_list_add
    - os_free
    - os_strcmp
    linkageType: ''
    returnType: void
    signature: void history_add(const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: edit_clear_line
      Src: /src/hostap/src/utils/edit.c:217,1
    - Dst: os_strlen
      Src: /src/hostap/src/utils/edit.c:218,1
    - Dst: os_memcpy
      Src: /src/hostap/src/utils/edit.c:219,1
    - Dst: edit_redraw
      Src: /src/hostap/src/utils/edit.c:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 221
    functionName: history_use
    functionSourceFile: /src/hostap/src/utils/edit.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_memcpy
    - edit_redraw
    - edit_clear_line
    linkageType: ''
    returnType: void
    signature: void history_use(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_first
      Src: /src/hostap/src/utils/edit.c:230,1
    - Dst: os_memcpy
      Src: /src/hostap/src/utils/edit.c:233,1
    - Dst: history_use
      Src: /src/hostap/src/utils/edit.c:235,1
    - Dst: dl_list_last
      Src: /src/hostap/src/utils/edit.c:241,1
    - Dst: dl_list_entry
      Src: /src/hostap/src/utils/edit.c:244,1
    - Dst: history_use
      Src: /src/hostap/src/utils/edit.c:246,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 247
    functionName: history_prev
    functionSourceFile: /src/hostap/src/utils/edit.c
    functionUses: 0
    functionsReached:
    - dl_list_entry
    - os_memcpy
    - dl_list_first
    - dl_list_last
    - history_use
    linkageType: ''
    returnType: void
    signature: void history_prev(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_first
      Src: /src/hostap/src/utils/edit.c:254,1
    - Dst: edit_clear_line
      Src: /src/hostap/src/utils/edit.c:257,1
    - Dst: os_strlen
      Src: /src/hostap/src/utils/edit.c:258,1
    - Dst: os_memcpy
      Src: /src/hostap/src/utils/edit.c:259,1
    - Dst: edit_redraw
      Src: /src/hostap/src/utils/edit.c:260,1
    - Dst: dl_list_entry
      Src: /src/hostap/src/utils/edit.c:265,1
    - Dst: history_use
      Src: /src/hostap/src/utils/edit.c:267,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 268
    functionName: history_next
    functionSourceFile: /src/hostap/src/utils/edit.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - dl_list_entry
    - os_memcpy
    - dl_list_first
    - edit_clear_line
    - history_use
    - edit_redraw
    linkageType: ''
    returnType: void
    signature: void history_next(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/hostap/src/utils/edit.c:276,1
    - Dst: fgets
      Src: /src/hostap/src/utils/edit.c:280,1
    - Dst: history_add
      Src: /src/hostap/src/utils/edit.c:287,1
    - Dst: fclose
      Src: /src/hostap/src/utils/edit.c:290,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 291
    functionName: history_read
    functionSourceFile: /src/hostap/src/utils/edit.c
    functionUses: 0
    functionsReached:
    - fclose
    - history_add
    - fopen
    - fgets
    linkageType: ''
    returnType: void
    signature: void history_read(const char *fname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/hostap/src/utils/edit.c:300,1
    - Dst: dl_list_for_each_reverse
      Src: /src/hostap/src/utils/edit.c:304,1
    - Dst: filter_cb
      Src: /src/hostap/src/utils/edit.c:305,1
    - Dst: fprintf
      Src: /src/hostap/src/utils/edit.c:307,1
    - Dst: fclose
      Src: /src/hostap/src/utils/edit.c:310,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 311
    functionName: history_write
    functionSourceFile: /src/hostap/src/utils/edit.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each_reverse
    - fprintf
    - filter_cb
    - fclose
    - fopen
    linkageType: ''
    returnType: void
    signature: "void history_write(const char *fname,\n\t\t\t  int (*filter_cb)(void
      *ctx, const char *cmd))"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: edit_clear_line
      Src: /src/hostap/src/utils/edit.c:317,1
    - Dst: printf
      Src: /src/hostap/src/utils/edit.c:318,1
    - Dst: dl_list_for_each_reverse
      Src: /src/hostap/src/utils/edit.c:319,1
    - Dst: printf
      Src: /src/hostap/src/utils/edit.c:320,1
    - Dst: printf
      Src: /src/hostap/src/utils/edit.c:322,1
    - Dst: edit_redraw
      Src: /src/hostap/src/utils/edit.c:323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 324
    functionName: history_debug_dump
    functionSourceFile: /src/hostap/src/utils/edit.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each_reverse
    - edit_redraw
    - edit_clear_line
    - printf
    linkageType: ''
    returnType: void
    signature: void history_debug_dump(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: putchar
      Src: /src/hostap/src/utils/edit.c:334,1
    - Dst: fflush
      Src: /src/hostap/src/utils/edit.c:335,1
    - Dst: os_memmove
      Src: /src/hostap/src/utils/edit.c:337,1
    - Dst: edit_redraw
      Src: /src/hostap/src/utils/edit.c:341,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 343
    functionName: insert_char
    functionSourceFile: /src/hostap/src/utils/edit.c
    functionUses: 0
    functionsReached:
    - putchar
    - os_memmove
    - edit_redraw
    - fflush
    linkageType: ''
    returnType: void
    signature: void insert_char(int c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/src/utils/edit.c:350,1
    - Dst: fflush
      Src: /src/hostap/src/utils/edit.c:351,1
    - Dst: printf
      Src: /src/hostap/src/utils/edit.c:354,1
    - Dst: history_add
      Src: /src/hostap/src/utils/edit.c:356,1
    - Dst: edit_cmd_cb
      Src: /src/hostap/src/utils/edit.c:359,1
    - Dst: printf
      Src: /src/hostap/src/utils/edit.c:360,1
    - Dst: fflush
      Src: /src/hostap/src/utils/edit.c:361,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 346
    functionDepth: 2
    functionLinenumber: 346
    functionLinenumberEnd: 362
    functionName: process_cmd
    functionSourceFile: /src/hostap/src/utils/edit.c
    functionUses: 2
    functionsReached:
    - edit_cmd_cb
    - history_add
    - fflush
    - printf
    linkageType: ''
    returnType: void
    signature: void process_cmd(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/utils/edit.c:371,1
    - Dst: os_free
      Src: /src/hostap/src/utils/edit.c:372,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 373
    functionName: free_completions
    functionSourceFile: /src/hostap/src/utils/edit.c
    functionUses: 0
    functionsReached:
    - os_free
    linkageType: ''
    returnType: void
    signature: void free_completions(char **c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_strncasecmp
      Src: /src/hostap/src/utils/edit.c:381,1
    - Dst: os_free
      Src: /src/hostap/src/utils/edit.c:388,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - c
    - str
    - len
    argTypes:
    - char**
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 394
    functionName: filter_strings
    functionSourceFile: /src/hostap/src/utils/edit.c
    functionUses: 0
    functionsReached:
    - os_strncasecmp
    - os_free
    linkageType: ''
    returnType: int
    signature: int filter_strings(char **c, char *str, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 403
    functionName: common_len
    functionSourceFile: /src/hostap/src/utils/edit.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int common_len(const char *a, const char *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/utils/edit.c:410,1
    - Dst: common_len
      Src: /src/hostap/src/utils/edit.c:412,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - c
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 418
    functionName: max_common_length
    functionSourceFile: /src/hostap/src/utils/edit.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - common_len
    linkageType: ''
    returnType: int
    signature: int max_common_length(char **c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/src/utils/edit.c:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 424
    functionName: cmp_str
    functionSourceFile: /src/hostap/src/utils/edit.c
    functionUses: 0
    functionsReached:
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: int cmp_str(const void *a, const void *b)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: edit_completion_cb
      Src: /src/hostap/src/utils/edit.c:437,1
    - Dst: filter_strings
      Src: /src/hostap/src/utils/edit.c:447,1
    - Dst: free_completions
      Src: /src/hostap/src/utils/edit.c:449,1
    - Dst: max_common_length
      Src: /src/hostap/src/utils/edit.c:453,1
    - Dst: qsort
      Src: /src/hostap/src/utils/edit.c:456,1
    - Dst: edit_clear_line
      Src: /src/hostap/src/utils/edit.c:457,1
    - Dst: printf
      Src: /src/hostap/src/utils/edit.c:458,1
    - Dst: printf
      Src: /src/hostap/src/utils/edit.c:460,1
    - Dst: printf
      Src: /src/hostap/src/utils/edit.c:461,1
    - Dst: edit_redraw
      Src: /src/hostap/src/utils/edit.c:462,1
    - Dst: free_completions
      Src: /src/hostap/src/utils/edit.c:464,1
    - Dst: os_memmove
      Src: /src/hostap/src/utils/edit.c:474,1
    - Dst: os_memcpy
      Src: /src/hostap/src/utils/edit.c:476,1
    - Dst: edit_redraw
      Src: /src/hostap/src/utils/edit.c:483,1
    - Dst: free_completions
      Src: /src/hostap/src/utils/edit.c:485,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 1
    argNames:
    - list
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 426
    functionDepth: 2
    functionLinenumber: 426
    functionLinenumberEnd: 486
    functionName: complete
    functionSourceFile: /src/hostap/src/utils/edit.c
    functionUses: 32
    functionsReached:
    - os_memcpy
    - os_memmove
    - edit_completion_cb
    - free_completions
    - filter_strings
    - max_common_length
    - edit_clear_line
    - printf
    - edit_redraw
    - qsort
    linkageType: ''
    returnType: void
    signature: void complete(int list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: edit_clear_line
      Src: /src/hostap/src/utils/edit.c:555,1
    - Dst: printf
      Src: /src/hostap/src/utils/edit.c:556,1
    - Dst: edit_redraw
      Src: /src/hostap/src/utils/edit.c:557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - esc_buf
    - c
    - i
    argTypes:
    - char*
    - char
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 558
    functionName: show_esc_buf
    functionSourceFile: /src/hostap/src/utils/edit.c
    functionUses: 0
    functionsReached:
    - edit_redraw
    - edit_clear_line
    - printf
    linkageType: ''
    returnType: void
    signature: void show_esc_buf(const char *esc_buf, char c, int i)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - last
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 575
    functionName: esc_seq_to_key1_no
    functionSourceFile: /src/hostap/src/utils/edit.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum edit_key_code
    signature: enum edit_key_code esc_seq_to_key1_no(char last)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - last
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 592
    functionName: esc_seq_to_key1_shift
    functionSourceFile: /src/hostap/src/utils/edit.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum edit_key_code
    signature: enum edit_key_code esc_seq_to_key1_shift(char last)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - last
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 609
    functionName: esc_seq_to_key1_alt
    functionSourceFile: /src/hostap/src/utils/edit.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum edit_key_code
    signature: enum edit_key_code esc_seq_to_key1_alt(char last)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - last
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 626
    functionName: esc_seq_to_key1_alt_shift
    functionSourceFile: /src/hostap/src/utils/edit.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum edit_key_code
    signature: enum edit_key_code esc_seq_to_key1_alt_shift(char last)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - last
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 643
    functionName: esc_seq_to_key1_ctrl
    functionSourceFile: /src/hostap/src/utils/edit.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum edit_key_code
    signature: enum edit_key_code esc_seq_to_key1_ctrl(char last)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: esc_seq_to_key1_no
      Src: /src/hostap/src/utils/edit.c:651,1
    - Dst: esc_seq_to_key1_shift
      Src: /src/hostap/src/utils/edit.c:654,1
    - Dst: esc_seq_to_key1_alt
      Src: /src/hostap/src/utils/edit.c:657,1
    - Dst: esc_seq_to_key1_alt_shift
      Src: /src/hostap/src/utils/edit.c:660,1
    - Dst: esc_seq_to_key1_ctrl
      Src: /src/hostap/src/utils/edit.c:663,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 3
    argNames:
    - param1
    - param2
    - last
    argTypes:
    - int
    - int
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 646
    functionDepth: 1
    functionLinenumber: 646
    functionLinenumberEnd: 697
    functionName: esc_seq_to_key1
    functionSourceFile: /src/hostap/src/utils/edit.c
    functionUses: 0
    functionsReached:
    - esc_seq_to_key1_ctrl
    - esc_seq_to_key1_shift
    - esc_seq_to_key1_alt_shift
    - esc_seq_to_key1_alt
    - esc_seq_to_key1_no
    linkageType: ''
    returnType: enum edit_key_code
    signature: enum edit_key_code esc_seq_to_key1(int param1, int param2, char last)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - param1
    - param2
    - last
    argTypes:
    - int
    - int
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 700
    functionDepth: 0
    functionLinenumber: 700
    functionLinenumberEnd: 723
    functionName: esc_seq_to_key2
    functionSourceFile: /src/hostap/src/utils/edit.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum edit_key_code
    signature: enum edit_key_code esc_seq_to_key2(int param1, int param2, char last)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/hostap/src/utils/edit.c:737,1
    - Dst: os_strchr
      Src: /src/hostap/src/utils/edit.c:738,1
    - Dst: atoi
      Src: /src/hostap/src/utils/edit.c:740,1
    - Dst: esc_seq_to_key1
      Src: /src/hostap/src/utils/edit.c:744,1
    - Dst: esc_seq_to_key2
      Src: /src/hostap/src/utils/edit.c:746,1
    - Dst: edit_clear_line
      Src: /src/hostap/src/utils/edit.c:751,1
    - Dst: printf
      Src: /src/hostap/src/utils/edit.c:752,1
    - Dst: edit_redraw
      Src: /src/hostap/src/utils/edit.c:753,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - seq
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 726
    functionDepth: 2
    functionLinenumber: 726
    functionLinenumberEnd: 755
    functionName: esc_seq_to_key
    functionSourceFile: /src/hostap/src/utils/edit.c
    functionUses: 0
    functionsReached:
    - edit_clear_line
    - printf
    - edit_redraw
    - esc_seq_to_key1
    - atoi
    - os_strchr
    - esc_seq_to_key2
    linkageType: ''
    returnType: enum edit_key_code
    signature: enum edit_key_code esc_seq_to_key(char *seq)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/hostap/src/utils/edit.c:766,1
    - Dst: perror
      Src: /src/hostap/src/utils/edit.c:768,1
    - Dst: show_esc_buf
      Src: /src/hostap/src/utils/edit.c:781,1
    - Dst: show_esc_buf
      Src: /src/hostap/src/utils/edit.c:791,1
    - Dst: esc_seq_to_key
      Src: /src/hostap/src/utils/edit.c:804,1
    - Dst: show_esc_buf
      Src: /src/hostap/src/utils/edit.c:807,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 88
    argCount: 1
    argNames:
    - sock
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 758
    functionDepth: 3
    functionLinenumber: 758
    functionLinenumberEnd: 861
    functionName: edit_read_key
    functionSourceFile: /src/hostap/src/utils/edit.c
    functionUses: 0
    functionsReached:
    - show_esc_buf
    - read
    - esc_seq_to_key
    - perror
    linkageType: ''
    returnType: enum edit_key_code
    signature: enum edit_key_code edit_read_key(int sock)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/utils/edit.c:870,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/utils/edit.c:876,1
    - Dst: os_strstr
      Src: /src/hostap/src/utils/edit.c:877,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 867
    functionDepth: 0
    functionLinenumber: 867
    functionLinenumberEnd: 886
    functionName: search_find
    functionSourceFile: /src/hostap/src/utils/edit.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_strstr
    - dl_list_for_each
    linkageType: ''
    returnType: char
    signature: char * search_find(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: search_find
      Src: /src/hostap/src/utils/edit.c:891,1
    - Dst: printf
      Src: /src/hostap/src/utils/edit.c:892,1
    - Dst: printf
      Src: /src/hostap/src/utils/edit.c:894,1
    - Dst: fflush
      Src: /src/hostap/src/utils/edit.c:895,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 889
    functionDepth: 1
    functionLinenumber: 889
    functionLinenumberEnd: 896
    functionName: search_redraw
    functionSourceFile: /src/hostap/src/utils/edit.c
    functionUses: 0
    functionsReached:
    - search_find
    - fflush
    - printf
    linkageType: ''
    returnType: void
    signature: void search_redraw(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: edit_clear_line
      Src: /src/hostap/src/utils/edit.c:901,1
    - Dst: search_redraw
      Src: /src/hostap/src/utils/edit.c:904,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 899
    functionDepth: 2
    functionLinenumber: 899
    functionLinenumberEnd: 905
    functionName: search_start
    functionSourceFile: /src/hostap/src/utils/edit.c
    functionUses: 0
    functionsReached:
    - search_redraw
    - edit_clear_line
    linkageType: ''
    returnType: void
    signature: void search_start(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: search_redraw
      Src: /src/hostap/src/utils/edit.c:910,1
    - Dst: printf
      Src: /src/hostap/src/utils/edit.c:911,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 908
    functionDepth: 2
    functionLinenumber: 908
    functionLinenumberEnd: 912
    functionName: search_clear
    functionSourceFile: /src/hostap/src/utils/edit.c
    functionUses: 0
    functionsReached:
    - search_redraw
    - printf
    linkageType: ''
    returnType: void
    signature: void search_clear(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: search_find
      Src: /src/hostap/src/utils/edit.c:917,1
    - Dst: search_clear
      Src: /src/hostap/src/utils/edit.c:919,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/utils/edit.c:921,1
    - Dst: os_strlen
      Src: /src/hostap/src/utils/edit.c:922,1
    - Dst: edit_redraw
      Src: /src/hostap/src/utils/edit.c:925,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 915
    functionDepth: 3
    functionLinenumber: 915
    functionLinenumberEnd: 926
    functionName: search_stop
    functionSourceFile: /src/hostap/src/utils/edit.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - search_clear
    - os_strlcpy
    - search_find
    - edit_redraw
    linkageType: ''
    returnType: void
    signature: void search_stop(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: search_clear
      Src: /src/hostap/src/utils/edit.c:932,1
    - Dst: edit_redraw
      Src: /src/hostap/src/utils/edit.c:933,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 929
    functionDepth: 3
    functionLinenumber: 929
    functionLinenumberEnd: 934
    functionName: search_cancel
    functionSourceFile: /src/hostap/src/utils/edit.c
    functionUses: 0
    functionsReached:
    - search_clear
    - edit_redraw
    linkageType: ''
    returnType: void
    signature: void search_cancel(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/utils/edit.c:940,1
    - Dst: search_redraw
      Src: /src/hostap/src/utils/edit.c:945,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 937
    functionDepth: 2
    functionLinenumber: 937
    functionLinenumberEnd: 946
    functionName: search_backspace
    functionSourceFile: /src/hostap/src/utils/edit.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - search_redraw
    linkageType: ''
    returnType: void
    signature: void search_backspace(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: search_find
      Src: /src/hostap/src/utils/edit.c:952,1
    - Dst: search_redraw
      Src: /src/hostap/src/utils/edit.c:953,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 949
    functionDepth: 2
    functionLinenumber: 949
    functionLinenumberEnd: 954
    functionName: search_next
    functionSourceFile: /src/hostap/src/utils/edit.c
    functionUses: 0
    functionsReached:
    - search_redraw
    - search_find
    linkageType: ''
    returnType: void
    signature: void search_next(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/utils/edit.c:960,1
    - Dst: search_redraw
      Src: /src/hostap/src/utils/edit.c:966,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 957
    functionDepth: 2
    functionLinenumber: 957
    functionLinenumberEnd: 967
    functionName: search_char
    functionSourceFile: /src/hostap/src/utils/edit.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - search_redraw
    linkageType: ''
    returnType: void
    signature: void search_char(char c)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: search_stop
      Src: /src/hostap/src/utils/edit.c:981,1
    - Dst: search_cancel
      Src: /src/hostap/src/utils/edit.c:985,1
    - Dst: search_backspace
      Src: /src/hostap/src/utils/edit.c:989,1
    - Dst: search_next
      Src: /src/hostap/src/utils/edit.c:992,1
    - Dst: search_char
      Src: /src/hostap/src/utils/edit.c:996,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 1
    argNames:
    - c
    argTypes:
    - enum edit_key_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 970
    functionDepth: 4
    functionLinenumber: 970
    functionLinenumberEnd: 1001
    functionName: search_key
    functionSourceFile: /src/hostap/src/utils/edit.c
    functionUses: 0
    functionsReached:
    - search_backspace
    - search_next
    - search_stop
    - search_char
    - search_cancel
    linkageType: ''
    returnType: enum edit_key_code
    signature: enum edit_key_code search_key(enum edit_key_code c)
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: edit_read_key
      Src: /src/hostap/src/utils/edit.c:1010,1
    - Dst: search_key
      Src: /src/hostap/src/utils/edit.c:1013,1
    - Dst: edit_eof_cb
      Src: /src/hostap/src/utils/edit.c:1028,1
    - Dst: complete
      Src: /src/hostap/src/utils/edit.c:1031,1
    - Dst: history_prev
      Src: /src/hostap/src/utils/edit.c:1036,1
    - Dst: history_next
      Src: /src/hostap/src/utils/edit.c:1040,1
    - Dst: move_right
      Src: /src/hostap/src/utils/edit.c:1044,1
    - Dst: move_left
      Src: /src/hostap/src/utils/edit.c:1048,1
    - Dst: move_word_right
      Src: /src/hostap/src/utils/edit.c:1051,1
    - Dst: move_word_left
      Src: /src/hostap/src/utils/edit.c:1054,1
    - Dst: delete_current
      Src: /src/hostap/src/utils/edit.c:1057,1
    - Dst: move_end
      Src: /src/hostap/src/utils/edit.c:1060,1
    - Dst: move_start
      Src: /src/hostap/src/utils/edit.c:1064,1
    - Dst: history_debug_dump
      Src: /src/hostap/src/utils/edit.c:1067,1
    - Dst: delete_current
      Src: /src/hostap/src/utils/edit.c:1071,1
    - Dst: printf
      Src: /src/hostap/src/utils/edit.c:1074,1
    - Dst: edit_eof_cb
      Src: /src/hostap/src/utils/edit.c:1075,1
    - Dst: move_end
      Src: /src/hostap/src/utils/edit.c:1078,1
    - Dst: delete_left
      Src: /src/hostap/src/utils/edit.c:1082,1
    - Dst: process_cmd
      Src: /src/hostap/src/utils/edit.c:1086,1
    - Dst: clear_right
      Src: /src/hostap/src/utils/edit.c:1089,1
    - Dst: edit_clear_line
      Src: /src/hostap/src/utils/edit.c:1092,1
    - Dst: edit_redraw
      Src: /src/hostap/src/utils/edit.c:1093,1
    - Dst: search_start
      Src: /src/hostap/src/utils/edit.c:1097,1
    - Dst: clear_left
      Src: /src/hostap/src/utils/edit.c:1100,1
    - Dst: delete_word
      Src: /src/hostap/src/utils/edit.c:1103,1
    - Dst: insert_char
      Src: /src/hostap/src/utils/edit.c:1107,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 98
    argCount: 3
    argNames:
    - sock
    - eloop_ctx
    - sock_ctx
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1110
      start: 1004
    functionDepth: 5
    functionLinenumber: 1004
    functionLinenumberEnd: 1110
    functionName: edit_read_char
    functionSourceFile: /src/hostap/src/utils/edit.c
    functionUses: 0
    functionsReached:
    - clear_right
    - delete_current
    - history_debug_dump
    - delete_left
    - complete
    - edit_eof_cb
    - move_end
    - move_start
    - edit_redraw
    - delete_word
    - history_prev
    - history_next
    - edit_read_key
    - search_start
    - insert_char
    - edit_clear_line
    - printf
    - move_left
    - move_right
    - clear_left
    - move_word_right
    - search_key
    - process_cmd
    - move_word_left
    linkageType: ''
    returnType: void
    signature: void edit_read_char(int sock, void *eloop_ctx, void *sock_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_init
      Src: /src/hostap/src/utils/edit.c:1119,1
    - Dst: history_read
      Src: /src/hostap/src/utils/edit.c:1122,1
    - Dst: tcgetattr
      Src: /src/hostap/src/utils/edit.c:1129,1
    - Dst: tcsetattr
      Src: /src/hostap/src/utils/edit.c:1132,1
    - Dst: eloop_register_read_sock
      Src: /src/hostap/src/utils/edit.c:1134,1
    - Dst: printf
      Src: /src/hostap/src/utils/edit.c:1137,1
    - Dst: fflush
      Src: /src/hostap/src/utils/edit.c:1138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 4
    argNames:
    - (*completion_cb)(void *ctx, const char *cmd, int pos)
    - ctx
    - history_file
    - ps
    argTypes:
    - char**
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 1113
    functionDepth: 3
    functionLinenumber: 1113
    functionLinenumberEnd: 1141
    functionName: edit_init
    functionSourceFile: /src/hostap/src/utils/edit.c
    functionUses: 3
    functionsReached:
    - eloop_register_read_sock
    - printf
    - tcsetattr
    - tcgetattr
    - dl_list_init
    - history_read
    - fflush
    linkageType: ''
    returnType: int
    signature: "int edit_init(void (*cmd_cb)(void *ctx, char *cmd),\n\t      void
      (*eof_cb)(void *ctx),\n\t      char ** (*completion_cb)(void *ctx, const char
      *cmd, int pos),\n\t      void *ctx, const char *history_file, const char *ps)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: history_write
      Src: /src/hostap/src/utils/edit.c:1149,1
    - Dst: dl_list_first
      Src: /src/hostap/src/utils/edit.c:1150,1
    - Dst: dl_list_del
      Src: /src/hostap/src/utils/edit.c:1151,1
    - Dst: os_free
      Src: /src/hostap/src/utils/edit.c:1152,1
    - Dst: edit_clear_line
      Src: /src/hostap/src/utils/edit.c:1154,1
    - Dst: putchar
      Src: /src/hostap/src/utils/edit.c:1155,1
    - Dst: fflush
      Src: /src/hostap/src/utils/edit.c:1156,1
    - Dst: eloop_unregister_read_sock
      Src: /src/hostap/src/utils/edit.c:1157,1
    - Dst: tcsetattr
      Src: /src/hostap/src/utils/edit.c:1158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - history_file
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1159
      start: 1144
    functionDepth: 2
    functionLinenumber: 1144
    functionLinenumberEnd: 1159
    functionName: edit_deinit
    functionSourceFile: /src/hostap/src/utils/edit.c
    functionUses: 3
    functionsReached:
    - eloop_unregister_read_sock
    - history_write
    - dl_list_del
    - dl_list_first
    - edit_clear_line
    - tcsetattr
    - os_free
    - putchar
    - fflush
    linkageType: ''
    returnType: void
    signature: "void edit_deinit(const char *history_file,\n\t\t int (*filter_cb)(void
      *ctx, const char *cmd))"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/src/utils/edit.c:1166,1
    - Dst: printf
      Src: /src/hostap/src/utils/edit.c:1170,1
    - Dst: fflush
      Src: /src/hostap/src/utils/edit.c:1173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1162
    functionDepth: 0
    functionLinenumber: 1162
    functionLinenumberEnd: 1174
    functionName: edit_redraw
    functionSourceFile: /src/hostap/src/utils/edit.c
    functionUses: 27
    functionsReached:
    - fflush
    - printf
    linkageType: ''
    returnType: void
    signature: void edit_redraw(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ctx
    - ','
    - child
    - ','
    - parent
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: xml_node_for_each_child
    functionSourceFile: /src/hostap/src/utils/xml-utils.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xml_node_for_each_child(ctx, child, parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - node
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: xml_node_for_each_sibling
    functionSourceFile: /src/hostap/src/utils/xml-utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xml_node_for_each_sibling(ctx, node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - child
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: xml_node_for_each_check
    functionSourceFile: /src/hostap/src/utils/xml-utils.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xml_node_for_each_check(ctx, child)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - machine
    - ','
    - state
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: SM_STATE
    functionSourceFile: /src/hostap/src/utils/state_machine.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SM_STATE(machine, state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - machine
    - ','
    - state
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: SM_ENTRY
    functionSourceFile: /src/hostap/src/utils/state_machine.h
    functionUses: 75
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SM_ENTRY(machine, state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - machine
    - ','
    - _state
    - ','
    - data
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: SM_ENTRY_M
    functionSourceFile: /src/hostap/src/utils/state_machine.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SM_ENTRY_M(machine, _state, data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - machine
    - ','
    - _state
    - ','
    - data
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 91
    functionName: SM_ENTRY_MA
    functionSourceFile: /src/hostap/src/utils/state_machine.h
    functionUses: 42
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SM_ENTRY_MA(machine, _state, data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - machine
    - ','
    - state
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 103
    functionName: SM_ENTER
    functionSourceFile: /src/hostap/src/utils/state_machine.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SM_ENTER(machine, state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - machine
    - ','
    - state
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: SM_ENTER_GLOBAL
    functionSourceFile: /src/hostap/src/utils/state_machine.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SM_ENTER_GLOBAL(machine, state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - machine
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: SM_STEP
    functionSourceFile: /src/hostap/src/utils/state_machine.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SM_STEP(machine)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - machine
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 137
    functionName: SM_STEP_RUN
    functionSourceFile: /src/hostap/src/utils/state_machine.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SM_STEP_RUN(machine)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/browser-android.c:24,1
    - Dst: eloop_terminate
      Src: /src/hostap/src/utils/browser-android.c:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - eloop_data
    - user_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 27
    functionName: browser_timeout
    functionSourceFile: /src/hostap/src/utils/browser-android.c
    functionUses: 0
    functionsReached:
    - eloop_terminate
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void browser_timeout(void *eloop_data, void *user_ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: http_request_get_uri
      Src: /src/hostap/src/utils/browser-android.c:37,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/browser-android.c:38,1
    - Dst: os_strcmp
      Src: /src/hostap/src/utils/browser-android.c:40,1
    - Dst: os_strncmp
      Src: /src/hostap/src/utils/browser-android.c:43,1
    - Dst: atoi
      Src: /src/hostap/src/utils/browser-android.c:44,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/utils/browser-android.c:48,1
    - Dst: http_request_deinit
      Src: /src/hostap/src/utils/browser-android.c:50,1
    - Dst: eloop_terminate
      Src: /src/hostap/src/utils/browser-android.c:52,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/utils/browser-android.c:57,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/utils/browser-android.c:58,1
    - Dst: http_request_send_and_deinit
      Src: /src/hostap/src/utils/browser-android.c:61,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - ctx
    - req
    argTypes:
    - void*
    - struct http_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 30
    functionDepth: 4
    functionLinenumber: 30
    functionLinenumberEnd: 62
    functionName: http_req
    functionSourceFile: /src/hostap/src/utils/browser-android.c
    functionUses: 0
    functionsReached:
    - http_request_get_uri
    - wpa_printf
    - http_request_deinit
    - eloop_cancel_timeout
    - http_request_send_and_deinit
    - eloop_terminate
    - os_strncmp
    - wpabuf_alloc
    - eloop_register_timeout
    - atoi
    - os_strcmp
    linkageType: ''
    returnType: void
    signature: void http_req(void *ctx, struct http_request *req)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/browser-android.c:72,1
    - Dst: os_memset
      Src: /src/hostap/src/utils/browser-android.c:74,1
    - Dst: eloop_init
      Src: /src/hostap/src/utils/browser-android.c:76,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/browser-android.c:77,1
    - Dst: htonl
      Src: /src/hostap/src/utils/browser-android.c:80,1
    - Dst: http_server_init
      Src: /src/hostap/src/utils/browser-android.c:81,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/browser-android.c:83,1
    - Dst: eloop_destroy
      Src: /src/hostap/src/utils/browser-android.c:84,1
    - Dst: fork
      Src: /src/hostap/src/utils/browser-android.c:88,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/browser-android.c:90,1
    - Dst: strerror
      Src: /src/hostap/src/utils/browser-android.c:90,1
    - Dst: http_server_deinit
      Src: /src/hostap/src/utils/browser-android.c:91,1
    - Dst: eloop_destroy
      Src: /src/hostap/src/utils/browser-android.c:92,1
    - Dst: execv
      Src: /src/hostap/src/utils/browser-android.c:108,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/browser-android.c:109,1
    - Dst: strerror
      Src: /src/hostap/src/utils/browser-android.c:109,1
    - Dst: exit
      Src: /src/hostap/src/utils/browser-android.c:110,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/utils/browser-android.c:114,1
    - Dst: eloop_run
      Src: /src/hostap/src/utils/browser-android.c:115,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/utils/browser-android.c:116,1
    - Dst: http_server_deinit
      Src: /src/hostap/src/utils/browser-android.c:117,1
    - Dst: eloop_destroy
      Src: /src/hostap/src/utils/browser-android.c:118,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/browser-android.c:120,1
    - Dst: system
      Src: /src/hostap/src/utils/browser-android.c:121,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/browser-android.c:122,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 44
    argCount: 2
    argNames:
    - url
    - ignore_tls
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 65
    functionDepth: 5
    functionLinenumber: 65
    functionLinenumberEnd: 126
    functionName: hs20_web_browser
    functionSourceFile: /src/hostap/src/utils/browser-android.c
    functionUses: 1
    functionsReached:
    - eloop_run
    - wpa_printf
    - fork
    - strerror
    - eloop_cancel_timeout
    - http_server_init
    - htonl
    - http_server_deinit
    - exit
    - system
    - eloop_init
    - execv
    - eloop_register_timeout
    - eloop_destroy
    - os_memset
    linkageType: ''
    returnType: int
    signature: int hs20_web_browser(const char *url, int ignore_tls)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nanosleep
      Src: /src/hostap/src/utils/os_internal.c:31,1
    - Dst: sleep
      Src: /src/hostap/src/utils/os_internal.c:34,1
    - Dst: usleep
      Src: /src/hostap/src/utils/os_internal.c:36,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - sec
    - usec
    argTypes:
    - os_time_t
    - os_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 38
    functionName: os_sleep
    functionSourceFile: /src/hostap/src/utils/os_internal.c
    functionUses: 15
    functionsReached:
    - nanosleep
    - usleep
    - sleep
    linkageType: ''
    returnType: void
    signature: void os_sleep(os_time_t sec, os_time_t usec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/hostap/src/utils/os_internal.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct os_time*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 49
    functionName: os_get_time
    functionSourceFile: /src/hostap/src/utils/os_internal.c
    functionUses: 31
    functionsReached:
    - gettimeofday
    linkageType: ''
    returnType: int
    signature: int os_get_time(struct os_time *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/hostap/src/utils/os_internal.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct os_reltime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 60
    functionName: os_get_reltime
    functionSourceFile: /src/hostap/src/utils/os_internal.c
    functionUses: 185
    functionsReached:
    - gettimeofday
    linkageType: ''
    returnType: int
    signature: int os_get_reltime(struct os_reltime *t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/utils/os_internal.c:73,1
    - Dst: mktime
      Src: /src/hostap/src/utils/os_internal.c:81,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 7
    argNames:
    - year
    - month
    - day
    - hour
    - min
    - sec
    - t
    argTypes:
    - int
    - int
    - int
    - int
    - int
    - int
    - os_time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 83
    functionName: os_mktime
    functionSourceFile: /src/hostap/src/utils/os_internal.c
    functionUses: 4
    functionsReached:
    - mktime
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int os_mktime(int year, int month, int day, int hour, int min, int
      sec,\n\t      os_time_t *t)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gmtime
      Src: /src/hostap/src/utils/os_internal.c:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - t
    - tm
    argTypes:
    - os_time_t
    - struct os_tm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 101
    functionName: os_gmtime
    functionSourceFile: /src/hostap/src/utils/os_internal.c
    functionUses: 1
    functionsReached:
    - gmtime
    linkageType: ''
    returnType: int
    signature: int os_gmtime(os_time_t t, struct os_tm *tm)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: daemon
      Src: /src/hostap/src/utils/os_internal.c:106,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/os_internal.c:107,1
    - Dst: strerror
      Src: /src/hostap/src/utils/os_internal.c:107,1
    - Dst: fopen
      Src: /src/hostap/src/utils/os_internal.c:112,1
    - Dst: fprintf
      Src: /src/hostap/src/utils/os_internal.c:114,1
    - Dst: getpid
      Src: /src/hostap/src/utils/os_internal.c:114,1
    - Dst: fclose
      Src: /src/hostap/src/utils/os_internal.c:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - pid_file
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 120
    functionName: os_daemonize
    functionSourceFile: /src/hostap/src/utils/os_internal.c
    functionUses: 5
    functionsReached:
    - wpa_printf
    - fprintf
    - strerror
    - fclose
    - daemon
    - getpid
    - fopen
    linkageType: ''
    returnType: int
    signature: int os_daemonize(const char *pid_file)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlink
      Src: /src/hostap/src/utils/os_internal.c:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - pid_file
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: os_daemonize_terminate
    functionSourceFile: /src/hostap/src/utils/os_internal.c
    functionUses: 5
    functionsReached:
    - unlink
    linkageType: ''
    returnType: void
    signature: void os_daemonize_terminate(const char *pid_file)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/hostap/src/utils/os_internal.c:135,1
    - Dst: printf
      Src: /src/hostap/src/utils/os_internal.c:137,1
    - Dst: fread
      Src: /src/hostap/src/utils/os_internal.c:141,1
    - Dst: fclose
      Src: /src/hostap/src/utils/os_internal.c:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 145
    functionName: os_get_random
    functionSourceFile: /src/hostap/src/utils/os_internal.c
    functionUses: 74
    functionsReached:
    - fclose
    - fopen
    - fread
    - printf
    linkageType: ''
    returnType: int
    signature: int os_get_random(unsigned char *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: random
      Src: /src/hostap/src/utils/os_internal.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: os_random
    functionSourceFile: /src/hostap/src/utils/os_internal.c
    functionUses: 18
    functionsReached:
    - random
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long os_random(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_strdup
      Src: /src/hostap/src/utils/os_internal.c:160,1
    - Dst: os_malloc
      Src: /src/hostap/src/utils/os_internal.c:163,1
    - Dst: getcwd
      Src: /src/hostap/src/utils/os_internal.c:166,1
    - Dst: os_free
      Src: /src/hostap/src/utils/os_internal.c:168,1
    - Dst: os_strlen
      Src: /src/hostap/src/utils/os_internal.c:178,1
    - Dst: os_strlen
      Src: /src/hostap/src/utils/os_internal.c:179,1
    - Dst: os_malloc
      Src: /src/hostap/src/utils/os_internal.c:181,1
    - Dst: os_memcpy
      Src: /src/hostap/src/utils/os_internal.c:183,1
    - Dst: os_memcpy
      Src: /src/hostap/src/utils/os_internal.c:185,1
    - Dst: os_free
      Src: /src/hostap/src/utils/os_internal.c:188,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 1
    argNames:
    - rel_path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 190
    functionName: os_rel2abs_path
    functionSourceFile: /src/hostap/src/utils/os_internal.c
    functionUses: 4
    functionsReached:
    - os_strlen
    - os_memcpy
    - getcwd
    - os_malloc
    - os_free
    - os_strdup
    linkageType: ''
    returnType: char
    signature: char * os_rel2abs_path(const char *rel_path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 196
    functionName: os_program_init
    functionSourceFile: /src/hostap/src/utils/os_internal.c
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int os_program_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 201
    functionName: os_program_deinit
    functionSourceFile: /src/hostap/src/utils/os_internal.c
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void os_program_deinit(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setenv
      Src: /src/hostap/src/utils/os_internal.c:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - name
    - value
    - overwrite
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 207
    functionName: os_setenv
    functionSourceFile: /src/hostap/src/utils/os_internal.c
    functionUses: 2
    functionsReached:
    - setenv
    linkageType: ''
    returnType: int
    signature: int os_setenv(const char *name, const char *value, int overwrite)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unsetenv
      Src: /src/hostap/src/utils/os_internal.c:213,1
    - Dst: unsetenv
      Src: /src/hostap/src/utils/os_internal.c:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 218
    functionName: os_unsetenv
    functionSourceFile: /src/hostap/src/utils/os_internal.c
    functionUses: 2
    functionsReached:
    - unsetenv
    linkageType: ''
    returnType: int
    signature: int os_unsetenv(const char *name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/hostap/src/utils/os_internal.c:226,1
    - Dst: fseek
      Src: /src/hostap/src/utils/os_internal.c:230,1
    - Dst: ftell
      Src: /src/hostap/src/utils/os_internal.c:231,1
    - Dst: fseek
      Src: /src/hostap/src/utils/os_internal.c:232,1
    - Dst: os_malloc
      Src: /src/hostap/src/utils/os_internal.c:234,1
    - Dst: fclose
      Src: /src/hostap/src/utils/os_internal.c:236,1
    - Dst: fread
      Src: /src/hostap/src/utils/os_internal.c:240,1
    - Dst: fclose
      Src: /src/hostap/src/utils/os_internal.c:241,1
    - Dst: os_free
      Src: /src/hostap/src/utils/os_internal.c:242,1
    - Dst: fclose
      Src: /src/hostap/src/utils/os_internal.c:246,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - name
    - len
    argTypes:
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 249
    functionName: os_readfile
    functionSourceFile: /src/hostap/src/utils/os_internal.c
    functionUses: 17
    functionsReached:
    - fseek
    - os_malloc
    - fclose
    - fread
    - os_free
    - ftell
    - fopen
    linkageType: ''
    returnType: char
    signature: char * os_readfile(const char *name, size_t *len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 255
    functionName: os_fdatasync
    functionSourceFile: /src/hostap/src/utils/os_internal.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int os_fdatasync(FILE *stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/utils/os_internal.c:260,1
    - Dst: os_memset
      Src: /src/hostap/src/utils/os_internal.c:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 264
    functionName: os_zalloc
    functionSourceFile: /src/hostap/src/utils/os_internal.c
    functionUses: 667
    functionsReached:
    - os_malloc
    - os_memset
    linkageType: ''
    returnType: void
    signature: void * os_zalloc(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/hostap/src/utils/os_internal.c:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 270
    functionName: os_malloc
    functionSourceFile: /src/hostap/src/utils/os_internal.c
    functionUses: 532
    functionsReached:
    - malloc
    linkageType: ''
    returnType: void
    signature: void * os_malloc(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/hostap/src/utils/os_internal.c:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 276
    functionName: os_realloc
    functionSourceFile: /src/hostap/src/utils/os_internal.c
    functionUses: 20
    functionsReached:
    - realloc
    linkageType: ''
    returnType: void
    signature: void * os_realloc(void *ptr, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/hostap/src/utils/os_internal.c:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 282
    functionName: os_free
    functionSourceFile: /src/hostap/src/utils/os_internal.c
    functionUses: 1831
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void os_free(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - dest
    - src
    - n
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 292
    functionName: os_memcpy
    functionSourceFile: /src/hostap/src/utils/os_internal.c
    functionUses: 1595
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * os_memcpy(void *dest, const void *src, size_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/utils/os_internal.c:298,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - dest
    - src
    - n
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 307
    functionName: os_memmove
    functionSourceFile: /src/hostap/src/utils/os_internal.c
    functionUses: 50
    functionsReached:
    - os_memcpy
    linkageType: ''
    returnType: void
    signature: void * os_memmove(void *dest, const void *src, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - s
    - c
    - n
    argTypes:
    - void*
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 316
    functionName: os_memset
    functionSourceFile: /src/hostap/src/utils/os_internal.c
    functionUses: 1133
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * os_memset(void *s, int c, size_t n)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - s1
    - s2
    - n
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 335
    functionName: os_memcmp
    functionSourceFile: /src/hostap/src/utils/os_internal.c
    functionUses: 429
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int os_memcmp(const void *s1, const void *s2, size_t n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/utils/os_internal.c:344,1
    - Dst: os_malloc
      Src: /src/hostap/src/utils/os_internal.c:345,1
    - Dst: os_memcpy
      Src: /src/hostap/src/utils/os_internal.c:347,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 349
    functionName: os_strdup
    functionSourceFile: /src/hostap/src/utils/os_internal.c
    functionUses: 239
    functionsReached:
    - os_strlen
    - os_memcpy
    - os_malloc
    linkageType: ''
    returnType: char
    signature: char * os_strdup(const char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 358
    functionName: os_strlen
    functionSourceFile: /src/hostap/src/utils/os_internal.c
    functionUses: 530
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t os_strlen(const char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/src/utils/os_internal.c:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 368
    functionName: os_strcasecmp
    functionSourceFile: /src/hostap/src/utils/os_internal.c
    functionUses: 41
    functionsReached:
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: int os_strcasecmp(const char *s1, const char *s2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_strncmp
      Src: /src/hostap/src/utils/os_internal.c:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s1
    - s2
    - n
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 378
    functionName: os_strncasecmp
    functionSourceFile: /src/hostap/src/utils/os_internal.c
    functionUses: 28
    functionsReached:
    - os_strncmp
    linkageType: ''
    returnType: int
    signature: int os_strncasecmp(const char *s1, const char *s2, size_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - s
    - c
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 389
    functionName: os_strchr
    functionSourceFile: /src/hostap/src/utils/os_internal.c
    functionUses: 261
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * os_strchr(const char *s, int c)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - s
    - c
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 404
    functionName: os_strrchr
    functionSourceFile: /src/hostap/src/utils/os_internal.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * os_strrchr(const char *s, int c)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 417
    functionName: os_strcmp
    functionSourceFile: /src/hostap/src/utils/os_internal.c
    functionUses: 333
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int os_strcmp(const char *s1, const char *s2)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - s1
    - s2
    - n
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 436
    functionName: os_strncmp
    functionSourceFile: /src/hostap/src/utils/os_internal.c
    functionUses: 183
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int os_strncmp(const char *s1, const char *s2, size_t n)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - dest
    - src
    - siz
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 461
    functionName: os_strlcpy
    functionSourceFile: /src/hostap/src/utils/os_internal.c
    functionUses: 217
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t os_strlcpy(char *dest, const char *src, size_t siz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - a
    - b
    - len
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 475
    functionName: os_memcmp_const
    functionSourceFile: /src/hostap/src/utils/os_internal.c
    functionUses: 94
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int os_memcmp_const(const void *a, const void *b, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/utils/os_internal.c:480,1
    - Dst: os_strncmp
      Src: /src/hostap/src/utils/os_internal.c:482,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - haystack
    - needle
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 488
    functionName: os_strstr
    functionSourceFile: /src/hostap/src/utils/os_internal.c
    functionUses: 156
    functionsReached:
    - os_strlen
    - os_strncmp
    linkageType: ''
    returnType: char
    signature: char * os_strstr(const char *haystack, const char *needle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/hostap/src/utils/os_internal.c:500,1
    - Dst: vsnprintf
      Src: /src/hostap/src/utils/os_internal.c:501,1
    - Dst: va_end
      Src: /src/hostap/src/utils/os_internal.c:502,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - str
    - size
    - format
    argTypes:
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 506
    functionName: os_snprintf
    functionSourceFile: /src/hostap/src/utils/os_internal.c
    functionUses: 525
    functionsReached:
    - va_start
    - vsnprintf
    - va_end
    linkageType: ''
    returnType: int
    signature: int os_snprintf(char *str, size_t size, const char *format, ...)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fork
      Src: /src/hostap/src/utils/os_internal.c:514,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/os_internal.c:516,1
    - Dst: strerror
      Src: /src/hostap/src/utils/os_internal.c:516,1
    - Dst: os_strdup
      Src: /src/hostap/src/utils/os_internal.c:527,1
    - Dst: os_strdup
      Src: /src/hostap/src/utils/os_internal.c:528,1
    - Dst: os_strchr
      Src: /src/hostap/src/utils/os_internal.c:540,1
    - Dst: execv
      Src: /src/hostap/src/utils/os_internal.c:546,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/os_internal.c:547,1
    - Dst: strerror
      Src: /src/hostap/src/utils/os_internal.c:547,1
    - Dst: os_free
      Src: /src/hostap/src/utils/os_internal.c:548,1
    - Dst: os_free
      Src: /src/hostap/src/utils/os_internal.c:549,1
    - Dst: exit
      Src: /src/hostap/src/utils/os_internal.c:550,1
    - Dst: waitpid
      Src: /src/hostap/src/utils/os_internal.c:556,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 3
    argNames:
    - program
    - arg
    - wait_completion
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 560
    functionName: os_exec
    functionSourceFile: /src/hostap/src/utils/os_internal.c
    functionUses: 3
    functionsReached:
    - waitpid
    - wpa_printf
    - fork
    - strerror
    - exit
    - execv
    - os_free
    - os_strchr
    - os_strdup
    linkageType: ''
    returnType: int
    signature: int os_exec(const char *program, const char *arg, int wait_completion)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/utils/base64.c:42,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 48
    argCount: 5
    argNames:
    - src
    - len
    - out_len
    - table
    - add_pad
    argTypes:
    - unsigned char*
    - size_t
    - size_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 86
    functionName: base64_gen_encode
    functionSourceFile: /src/hostap/src/utils/base64.c
    functionUses: 0
    functionsReached:
    - os_malloc
    linkageType: ''
    returnType: char
    signature: "char * base64_gen_encode(const unsigned char *src, size_t len,\n\t\t\t\tsize_t
      *out_len, const char *table, int add_pad)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/utils/base64.c:97,1
    - Dst: os_malloc
      Src: /src/hostap/src/utils/base64.c:113,1
    - Dst: os_free
      Src: /src/hostap/src/utils/base64.c:145,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 48
    argCount: 4
    argNames:
    - src
    - len
    - out_len
    - table
    argTypes:
    - char*
    - size_t
    - size_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 155
    functionName: base64_gen_decode
    functionSourceFile: /src/hostap/src/utils/base64.c
    functionUses: 0
    functionsReached:
    - os_free
    - os_malloc
    - os_memset
    linkageType: ''
    returnType: unsigned char
    signature: "unsigned char * base64_gen_decode(const char *src, size_t len,\n\t\t\t\t\t
      size_t *out_len, const char *table)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base64_gen_encode
      Src: /src/hostap/src/utils/base64.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - src
    - len
    - out_len
    argTypes:
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 174
    functionName: base64_encode
    functionSourceFile: /src/hostap/src/utils/base64.c
    functionUses: 13
    functionsReached:
    - base64_gen_encode
    linkageType: ''
    returnType: char
    signature: char * base64_encode(const void *src, size_t len, size_t *out_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base64_gen_encode
      Src: /src/hostap/src/utils/base64.c:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - src
    - len
    - out_len
    argTypes:
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 180
    functionName: base64_encode_no_lf
    functionSourceFile: /src/hostap/src/utils/base64.c
    functionUses: 7
    functionsReached:
    - base64_gen_encode
    linkageType: ''
    returnType: char
    signature: char * base64_encode_no_lf(const void *src, size_t len, size_t *out_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base64_gen_encode
      Src: /src/hostap/src/utils/base64.c:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - src
    - len
    - out_len
    argTypes:
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 186
    functionName: base64_url_encode
    functionSourceFile: /src/hostap/src/utils/base64.c
    functionUses: 6
    functionsReached:
    - base64_gen_encode
    linkageType: ''
    returnType: char
    signature: char * base64_url_encode(const void *src, size_t len, size_t *out_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base64_gen_decode
      Src: /src/hostap/src/utils/base64.c:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - src
    - len
    - out_len
    argTypes:
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 202
    functionName: base64_decode
    functionSourceFile: /src/hostap/src/utils/base64.c
    functionUses: 18
    functionsReached:
    - base64_gen_decode
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char * base64_decode(const char *src, size_t len, size_t *out_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base64_gen_decode
      Src: /src/hostap/src/utils/base64.c:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - src
    - len
    - out_len
    argTypes:
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 208
    functionName: base64_url_decode
    functionSourceFile: /src/hostap/src/utils/base64.c
    functionUses: 4
    functionsReached:
    - base64_gen_decode
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char * base64_url_decode(const char *src, size_t len, size_t
      *out_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - frame
    - frame_len
    argTypes:
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 85
    functionName: ieee80211_crc32
    functionSourceFile: /src/hostap/src/utils/crc32.c
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: u32 ieee80211_crc32(const u8 *frame, size_t frame_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_trace_show
      Src: /src/hostap/src/utils/eloop.c:122,1
    - Dst: abort
      Src: /src/hostap/src/utils/eloop.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: eloop_sigsegv_handler
    functionSourceFile: /src/hostap/src/utils/eloop.c
    functionUses: 0
    functionsReached:
    - abort
    - wpa_trace_show
    linkageType: ''
    returnType: void
    signature: void eloop_sigsegv_handler(int sig)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_trace_add_ref
      Src: /src/hostap/src/utils/eloop.c:133,1
    - Dst: wpa_trace_add_ref
      Src: /src/hostap/src/utils/eloop.c:135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - table
    argTypes:
    - struct eloop_sock_table*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 138
    functionName: eloop_trace_sock_add_ref
    functionSourceFile: /src/hostap/src/utils/eloop.c
    functionUses: 0
    functionsReached:
    - wpa_trace_add_ref
    linkageType: ''
    returnType: void
    signature: void eloop_trace_sock_add_ref(struct eloop_sock_table *table)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_trace_remove_ref
      Src: /src/hostap/src/utils/eloop.c:148,1
    - Dst: wpa_trace_remove_ref
      Src: /src/hostap/src/utils/eloop.c:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - table
    argTypes:
    - struct eloop_sock_table*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 153
    functionName: eloop_trace_sock_remove_ref
    functionSourceFile: /src/hostap/src/utils/eloop.c
    functionUses: 0
    functionsReached:
    - wpa_trace_remove_ref
    linkageType: ''
    returnType: void
    signature: void eloop_trace_sock_remove_ref(struct eloop_sock_table *table)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - table
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 158
    functionName: eloop_trace_sock_add_ref
    functionSourceFile: /src/hostap/src/utils/eloop.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: eloop_trace_sock_add_ref(table)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - table
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 159
    functionName: eloop_trace_sock_remove_ref
    functionSourceFile: /src/hostap/src/utils/eloop.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: eloop_trace_sock_remove_ref(table)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/utils/eloop.c:165,1
    - Dst: dl_list_init
      Src: /src/hostap/src/utils/eloop.c:166,1
    - Dst: epoll_create1
      Src: /src/hostap/src/utils/eloop.c:168,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/eloop.c:170,1
    - Dst: strerror
      Src: /src/hostap/src/utils/eloop.c:171,1
    - Dst: kqueue
      Src: /src/hostap/src/utils/eloop.c:176,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/eloop.c:178,1
    - Dst: strerror
      Src: /src/hostap/src/utils/eloop.c:179,1
    - Dst: signal
      Src: /src/hostap/src/utils/eloop.c:189,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 192
    functionName: eloop_init
    functionSourceFile: /src/hostap/src/utils/eloop.c
    functionUses: 18
    functionsReached:
    - wpa_printf
    - strerror
    - kqueue
    - dl_list_init
    - epoll_create1
    - signal
    - os_memset
    linkageType: ''
    returnType: int
    signature: int eloop_init(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/utils/eloop.c:200,1
    - Dst: epoll_ctl
      Src: /src/hostap/src/utils/eloop.c:218,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/eloop.c:219,1
    - Dst: strerror
      Src: /src/hostap/src/utils/eloop.c:220,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - sock
    - type
    argTypes:
    - int
    - eloop_event_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 224
    functionName: eloop_sock_queue
    functionSourceFile: /src/hostap/src/utils/eloop.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - strerror
    - epoll_ctl
    - os_memset
    linkageType: ''
    returnType: int
    signature: int eloop_sock_queue(int sock, eloop_event_type type)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - type
    argTypes:
    - eloop_event_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 240
    functionName: event_type_kevent_filter
    functionSourceFile: /src/hostap/src/utils/eloop.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: short
    signature: short event_type_kevent_filter(eloop_event_type type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EV_SET
      Src: /src/hostap/src/utils/eloop.c:247,1
    - Dst: event_type_kevent_filter
      Src: /src/hostap/src/utils/eloop.c:247,1
    - Dst: kevent
      Src: /src/hostap/src/utils/eloop.c:248,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/eloop.c:249,1
    - Dst: strerror
      Src: /src/hostap/src/utils/eloop.c:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - sock
    - type
    argTypes:
    - int
    - eloop_event_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 254
    functionName: eloop_sock_queue
    functionSourceFile: /src/hostap/src/utils/eloop.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - event_type_kevent_filter
    - strerror
    - EV_SET
    - kevent
    linkageType: ''
    returnType: int
    signature: int eloop_sock_queue(int sock, eloop_event_type type)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: os_realloc_array
      Src: /src/hostap/src/utils/eloop.c:287,1
    - Dst: os_realloc_array
      Src: /src/hostap/src/utils/eloop.c:300,1
    - Dst: os_realloc_array
      Src: /src/hostap/src/utils/eloop.c:312,1
    - Dst: os_realloc_array
      Src: /src/hostap/src/utils/eloop.c:326,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/eloop.c:329,1
    - Dst: strerror
      Src: /src/hostap/src/utils/eloop.c:330,1
    - Dst: os_malloc
      Src: /src/hostap/src/utils/eloop.c:341,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/eloop.c:343,1
    - Dst: strerror
      Src: /src/hostap/src/utils/eloop.c:345,1
    - Dst: os_free
      Src: /src/hostap/src/utils/eloop.c:349,1
    - Dst: eloop_trace_sock_remove_ref
      Src: /src/hostap/src/utils/eloop.c:355,1
    - Dst: os_realloc_array
      Src: /src/hostap/src/utils/eloop.c:356,1
    - Dst: eloop_trace_sock_add_ref
      Src: /src/hostap/src/utils/eloop.c:359,1
    - Dst: wpa_trace_record
      Src: /src/hostap/src/utils/eloop.c:367,1
    - Dst: eloop_trace_sock_add_ref
      Src: /src/hostap/src/utils/eloop.c:373,1
    - Dst: eloop_sock_queue
      Src: /src/hostap/src/utils/eloop.c:376,1
    - Dst: os_memcpy
      Src: /src/hostap/src/utils/eloop.c:378,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 70
    argCount: 5
    argNames:
    - table
    - sock
    - handler
    - eloop_data
    - user_data
    argTypes:
    - struct eloop_sock_table*
    - int
    - eloop_sock_handler
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 259
    functionDepth: 2
    functionLinenumber: 259
    functionLinenumberEnd: 382
    functionName: eloop_sock_table_add_sock
    functionSourceFile: /src/hostap/src/utils/eloop.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eloop_trace_sock_remove_ref
    - eloop_sock_queue
    - os_memcpy
    - strerror
    - os_malloc
    - wpa_trace_record
    - os_free
    - eloop_trace_sock_add_ref
    - os_realloc_array
    linkageType: ''
    returnType: int
    signature: "int eloop_sock_table_add_sock(struct eloop_sock_table *table,\n                                     int
      sock, eloop_sock_handler handler,\n                                     void
      *eloop_data, void *user_data)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: eloop_trace_sock_remove_ref
      Src: /src/hostap/src/utils/eloop.c:402,1
    - Dst: os_memmove
      Src: /src/hostap/src/utils/eloop.c:404,1
    - Dst: eloop_trace_sock_add_ref
      Src: /src/hostap/src/utils/eloop.c:411,1
    - Dst: epoll_ctl
      Src: /src/hostap/src/utils/eloop.c:413,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/eloop.c:414,1
    - Dst: strerror
      Src: /src/hostap/src/utils/eloop.c:415,1
    - Dst: os_memset
      Src: /src/hostap/src/utils/eloop.c:418,1
    - Dst: EV_SET
      Src: /src/hostap/src/utils/eloop.c:421,1
    - Dst: event_type_kevent_filter
      Src: /src/hostap/src/utils/eloop.c:421,1
    - Dst: kevent
      Src: /src/hostap/src/utils/eloop.c:423,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/eloop.c:424,1
    - Dst: strerror
      Src: /src/hostap/src/utils/eloop.c:425,1
    - Dst: os_memset
      Src: /src/hostap/src/utils/eloop.c:428,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 2
    argNames:
    - table
    - sock
    argTypes:
    - struct eloop_sock_table*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 385
    functionDepth: 2
    functionLinenumber: 385
    functionLinenumberEnd: 430
    functionName: eloop_sock_table_remove_sock
    functionSourceFile: /src/hostap/src/utils/eloop.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eloop_trace_sock_remove_ref
    - event_type_kevent_filter
    - strerror
    - EV_SET
    - os_memmove
    - kevent
    - epoll_ctl
    - eloop_trace_sock_add_ref
    - os_memset
    linkageType: ''
    returnType: void
    signature: "void eloop_sock_table_remove_sock(struct eloop_sock_table *table,\n
      \                                        int sock)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - pollfds_map
    - fd
    - mx
    argTypes:
    - struct pollfd**
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 440
    functionName: find_pollfd
    functionSourceFile: /src/hostap/src/utils/eloop.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct pollfd
    signature: struct pollfd * find_pollfd(struct pollfd **pollfds_map, int fd, int
      mx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/utils/eloop.c:456,1
    - Dst: assert
      Src: /src/hostap/src/utils/eloop.c:461,1
    - Dst: assert
      Src: /src/hostap/src/utils/eloop.c:477,1
    - Dst: assert
      Src: /src/hostap/src/utils/eloop.c:503,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 6
    argNames:
    - readers
    - writers
    - exceptions
    - pollfds
    - pollfds_map
    - max_pollfd_map
    argTypes:
    - struct eloop_sock_table*
    - struct eloop_sock_table*
    - struct eloop_sock_table*
    - struct pollfd*
    - struct pollfd**
    - int
    assertStmts:
    - condition: (fd >= 0 && fd < max_pollfd_map)
      pos:
        line_end: 476
        line_start: 476
        source_file: /src/hostap/src/utils/eloop.c
    - condition: (fd >= 0 && fd < max_pollfd_map)
      pos:
        line_end: 460
        line_start: 460
        source_file: /src/hostap/src/utils/eloop.c
    - condition: (fd >= 0 && fd < max_pollfd_map)
      pos:
        line_end: 502
        line_start: 502
        source_file: /src/hostap/src/utils/eloop.c
    constantsTouched: []
    func_position:
      end: 517
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 517
    functionName: eloop_sock_table_set_fds
    functionSourceFile: /src/hostap/src/utils/eloop.c
    functionUses: 0
    functionsReached:
    - assert
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int eloop_sock_table_set_fds(struct eloop_sock_table *readers,\n\t\t\t\t
      \   struct eloop_sock_table *writers,\n\t\t\t\t    struct eloop_sock_table *exceptions,\n\t\t\t\t
      \   struct pollfd *pollfds,\n\t\t\t\t    struct pollfd **pollfds_map,\n\t\t\t\t
      \   int max_pollfd_map)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: find_pollfd
      Src: /src/hostap/src/utils/eloop.c:533,1
    - Dst: handler
      Src: /src/hostap/src/utils/eloop.c:541,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 4
    argNames:
    - table
    - pollfds_map
    - max_pollfd_map
    - revents
    argTypes:
    - struct eloop_sock_table*
    - struct pollfd**
    - int
    - short int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 520
    functionDepth: 1
    functionLinenumber: 520
    functionLinenumberEnd: 549
    functionName: eloop_sock_table_dispatch_table
    functionSourceFile: /src/hostap/src/utils/eloop.c
    functionUses: 0
    functionsReached:
    - find_pollfd
    - handler
    linkageType: ''
    returnType: int
    signature: "int eloop_sock_table_dispatch_table(struct eloop_sock_table *table,\n\t\t\t\t\t
      \  struct pollfd **pollfds_map,\n\t\t\t\t\t   int max_pollfd_map,\n\t\t\t\t\t
      \  short int revents)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eloop_sock_table_dispatch_table
      Src: /src/hostap/src/utils/eloop.c:558,1
    - Dst: eloop_sock_table_dispatch_table
      Src: /src/hostap/src/utils/eloop.c:563,1
    - Dst: eloop_sock_table_dispatch_table
      Src: /src/hostap/src/utils/eloop.c:567,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - readers
    - writers
    - exceptions
    - pollfds_map
    - max_pollfd_map
    argTypes:
    - struct eloop_sock_table*
    - struct eloop_sock_table*
    - struct eloop_sock_table*
    - struct pollfd**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 552
    functionDepth: 2
    functionLinenumber: 552
    functionLinenumberEnd: 569
    functionName: eloop_sock_table_dispatch
    functionSourceFile: /src/hostap/src/utils/eloop.c
    functionUses: 0
    functionsReached:
    - eloop_sock_table_dispatch_table
    linkageType: ''
    returnType: void
    signature: "void eloop_sock_table_dispatch(struct eloop_sock_table *readers,\n\t\t\t\t
      \     struct eloop_sock_table *writers,\n\t\t\t\t      struct eloop_sock_table
      *exceptions,\n\t\t\t\t      struct pollfd **pollfds_map,\n\t\t\t\t      int
      max_pollfd_map)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FD_ZERO
      Src: /src/hostap/src/utils/eloop.c:580,1
    - Dst: assert
      Src: /src/hostap/src/utils/eloop.c:586,1
    - Dst: FD_SET
      Src: /src/hostap/src/utils/eloop.c:587,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - table
    - fds
    argTypes:
    - struct eloop_sock_table*
    - fd_set*
    assertStmts:
    - condition: (table->table[i].sock >= 0)
      pos:
        line_end: 585
        line_start: 585
        source_file: /src/hostap/src/utils/eloop.c
    constantsTouched: []
    func_position:
      end: 589
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 589
    functionName: eloop_sock_table_set_fds
    functionSourceFile: /src/hostap/src/utils/eloop.c
    functionUses: 0
    functionsReached:
    - FD_SET
    - FD_ZERO
    - assert
    linkageType: ''
    returnType: void
    signature: "void eloop_sock_table_set_fds(struct eloop_sock_table *table,\n\t\t\t\t
      \    fd_set *fds)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FD_ISSET
      Src: /src/hostap/src/utils/eloop.c:602,1
    - Dst: handler
      Src: /src/hostap/src/utils/eloop.c:603,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - table
    - fds
    argTypes:
    - struct eloop_sock_table*
    - fd_set*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 610
    functionName: eloop_sock_table_dispatch
    functionSourceFile: /src/hostap/src/utils/eloop.c
    functionUses: 0
    functionsReached:
    - FD_ISSET
    - handler
    linkageType: ''
    returnType: void
    signature: "void eloop_sock_table_dispatch(struct eloop_sock_table *table,\n\t\t\t\t
      \     fd_set *fds)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct eloop_sock*::handler
      Src: /src/hostap/src/utils/eloop.c:625,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - events
    - nfds
    argTypes:
    - struct epoll_event*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 632
    functionName: eloop_sock_table_dispatch
    functionSourceFile: /src/hostap/src/utils/eloop.c
    functionUses: 0
    functionsReached:
    - struct eloop_sock*::handler
    linkageType: ''
    returnType: void
    signature: void eloop_sock_table_dispatch(struct epoll_event *events, int nfds)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct eloop_sock*::handler
      Src: /src/hostap/src/utils/eloop.c:647,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - events
    - nfds
    argTypes:
    - struct kevent*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 654
    functionName: eloop_sock_table_dispatch
    functionSourceFile: /src/hostap/src/utils/eloop.c
    functionUses: 0
    functionsReached:
    - struct eloop_sock*::handler
    linkageType: ''
    returnType: void
    signature: void eloop_sock_table_dispatch(struct kevent *events, int nfds)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eloop_sock_queue
      Src: /src/hostap/src/utils/eloop.c:664,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - table
    argTypes:
    - struct eloop_sock_table*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 657
    functionDepth: 1
    functionLinenumber: 657
    functionLinenumberEnd: 668
    functionName: eloop_sock_table_requeue
    functionSourceFile: /src/hostap/src/utils/eloop.c
    functionUses: 0
    functionsReached:
    - eloop_sock_queue
    linkageType: ''
    returnType: int
    signature: int eloop_sock_table_requeue(struct eloop_sock_table *table)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/hostap/src/utils/eloop.c:678,1
    - Dst: kqueue
      Src: /src/hostap/src/utils/eloop.c:679,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/eloop.c:681,1
    - Dst: strerror
      Src: /src/hostap/src/utils/eloop.c:682,1
    - Dst: eloop_sock_table_requeue
      Src: /src/hostap/src/utils/eloop.c:686,1
    - Dst: eloop_sock_table_requeue
      Src: /src/hostap/src/utils/eloop.c:688,1
    - Dst: eloop_sock_table_requeue
      Src: /src/hostap/src/utils/eloop.c:690,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 673
    functionDepth: 2
    functionLinenumber: 673
    functionLinenumberEnd: 695
    functionName: eloop_sock_requeue
    functionSourceFile: /src/hostap/src/utils/eloop.c
    functionUses: 5
    functionsReached:
    - wpa_printf
    - eloop_sock_table_requeue
    - strerror
    - kqueue
    - close
    linkageType: ''
    returnType: int
    signature: int eloop_sock_requeue(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/eloop.c:704,1
    - Dst: wpa_trace_dump_funcname
      Src: /src/hostap/src/utils/eloop.c:711,1
    - Dst: wpa_trace_dump
      Src: /src/hostap/src/utils/eloop.c:714,1
    - Dst: eloop_trace_sock_remove_ref
      Src: /src/hostap/src/utils/eloop.c:716,1
    - Dst: os_free
      Src: /src/hostap/src/utils/eloop.c:717,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - table
    argTypes:
    - struct eloop_sock_table*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 698
    functionDepth: 2
    functionLinenumber: 698
    functionLinenumberEnd: 719
    functionName: eloop_sock_table_destroy
    functionSourceFile: /src/hostap/src/utils/eloop.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - eloop_trace_sock_remove_ref
    - wpa_trace_dump_funcname
    - wpa_trace_dump
    - os_free
    linkageType: ''
    returnType: void
    signature: void eloop_sock_table_destroy(struct eloop_sock_table *table)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eloop_register_sock
      Src: /src/hostap/src/utils/eloop.c:725,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - sock
    - handler
    - eloop_data
    - user_data
    argTypes:
    - int
    - eloop_sock_handler
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 722
    functionDepth: 1
    functionLinenumber: 722
    functionLinenumberEnd: 727
    functionName: eloop_register_read_sock
    functionSourceFile: /src/hostap/src/utils/eloop.c
    functionUses: 41
    functionsReached:
    - eloop_register_sock
    linkageType: ''
    returnType: int
    signature: "int eloop_register_read_sock(int sock, eloop_sock_handler handler,\n\t\t\t
      \    void *eloop_data, void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eloop_unregister_sock
      Src: /src/hostap/src/utils/eloop.c:732,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sock
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 730
    functionDepth: 1
    functionLinenumber: 730
    functionLinenumberEnd: 733
    functionName: eloop_unregister_read_sock
    functionSourceFile: /src/hostap/src/utils/eloop.c
    functionUses: 43
    functionsReached:
    - eloop_unregister_sock
    linkageType: ''
    returnType: void
    signature: void eloop_unregister_read_sock(int sock)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - type
    argTypes:
    - eloop_event_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 748
    functionName: eloop_get_sock_table
    functionSourceFile: /src/hostap/src/utils/eloop.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct eloop_sock_table
    signature: struct eloop_sock_table *eloop_get_sock_table(eloop_event_type type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/hostap/src/utils/eloop.c:757,1
    - Dst: eloop_get_sock_table
      Src: /src/hostap/src/utils/eloop.c:758,1
    - Dst: eloop_sock_table_add_sock
      Src: /src/hostap/src/utils/eloop.c:759,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - sock
    - type
    - handler
    - eloop_data
    - user_data
    argTypes:
    - int
    - eloop_event_type
    - eloop_sock_handler
    - void*
    - void*
    assertStmts:
    - condition: (sock >= 0)
      pos:
        line_end: 756
        line_start: 756
        source_file: /src/hostap/src/utils/eloop.c
    constantsTouched: []
    func_position:
      end: 761
      start: 751
    functionDepth: 3
    functionLinenumber: 751
    functionLinenumberEnd: 761
    functionName: eloop_register_sock
    functionSourceFile: /src/hostap/src/utils/eloop.c
    functionUses: 17
    functionsReached:
    - eloop_sock_table_add_sock
    - eloop_get_sock_table
    - assert
    linkageType: ''
    returnType: int
    signature: "int eloop_register_sock(int sock, eloop_event_type type,\n\t\t\teloop_sock_handler
      handler,\n\t\t\tvoid *eloop_data, void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eloop_get_sock_table
      Src: /src/hostap/src/utils/eloop.c:768,1
    - Dst: eloop_sock_table_remove_sock
      Src: /src/hostap/src/utils/eloop.c:769,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sock
    - type
    argTypes:
    - int
    - eloop_event_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 764
    functionDepth: 3
    functionLinenumber: 764
    functionLinenumberEnd: 770
    functionName: eloop_unregister_sock
    functionSourceFile: /src/hostap/src/utils/eloop.c
    functionUses: 13
    functionsReached:
    - eloop_get_sock_table
    - eloop_sock_table_remove_sock
    linkageType: ''
    returnType: void
    signature: void eloop_unregister_sock(int sock, eloop_event_type type)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/utils/eloop.c:780,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/utils/eloop.c:783,1
    - Dst: os_free
      Src: /src/hostap/src/utils/eloop.c:784,1
    - Dst: wpa_trace_add_ref
      Src: /src/hostap/src/utils/eloop.c:801,1
    - Dst: wpa_trace_add_ref
      Src: /src/hostap/src/utils/eloop.c:802,1
    - Dst: wpa_trace_record
      Src: /src/hostap/src/utils/eloop.c:803,1
    - Dst: dl_list_for_each
      Src: /src/hostap/src/utils/eloop.c:806,1
    - Dst: os_reltime_before
      Src: /src/hostap/src/utils/eloop.c:807,1
    - Dst: dl_list_add
      Src: /src/hostap/src/utils/eloop.c:808,1
    - Dst: dl_list_add_tail
      Src: /src/hostap/src/utils/eloop.c:812,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/eloop.c:821,1
    - Dst: os_free
      Src: /src/hostap/src/utils/eloop.c:824,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 5
    argNames:
    - secs
    - usecs
    - handler
    - eloop_data
    - user_data
    argTypes:
    - unsigned int
    - unsigned int
    - eloop_timeout_handler
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 773
    functionDepth: 2
    functionLinenumber: 773
    functionLinenumberEnd: 826
    functionName: eloop_register_timeout
    functionSourceFile: /src/hostap/src/utils/eloop.c
    functionUses: 320
    functionsReached:
    - os_get_reltime
    - wpa_printf
    - dl_list_add_tail
    - dl_list_for_each
    - os_zalloc
    - dl_list_add
    - wpa_trace_add_ref
    - os_free
    - os_reltime_before
    - wpa_trace_record
    linkageType: ''
    returnType: int
    signature: "int eloop_register_timeout(unsigned int secs, unsigned int usecs,\n\t\t\t
      \  eloop_timeout_handler handler,\n\t\t\t   void *eloop_data, void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_del
      Src: /src/hostap/src/utils/eloop.c:831,1
    - Dst: wpa_trace_remove_ref
      Src: /src/hostap/src/utils/eloop.c:832,1
    - Dst: wpa_trace_remove_ref
      Src: /src/hostap/src/utils/eloop.c:833,1
    - Dst: os_free
      Src: /src/hostap/src/utils/eloop.c:834,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - timeout
    argTypes:
    - struct eloop_timeout*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 829
    functionDepth: 1
    functionLinenumber: 829
    functionLinenumberEnd: 835
    functionName: eloop_remove_timeout
    functionSourceFile: /src/hostap/src/utils/eloop.c
    functionUses: 4
    functionsReached:
    - wpa_trace_remove_ref
    - os_free
    - dl_list_del
    linkageType: ''
    returnType: void
    signature: void eloop_remove_timeout(struct eloop_timeout *timeout)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/utils/eloop.c:844,1
    - Dst: eloop_remove_timeout
      Src: /src/hostap/src/utils/eloop.c:851,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - handler
    - eloop_data
    - user_data
    argTypes:
    - eloop_timeout_handler
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 857
    functionName: eloop_cancel_timeout
    functionSourceFile: /src/hostap/src/utils/eloop.c
    functionUses: 368
    functionsReached:
    - eloop_remove_timeout
    - dl_list_for_each_safe
    linkageType: ''
    returnType: int
    signature: "int eloop_cancel_timeout(eloop_timeout_handler handler,\n\t\t\t void
      *eloop_data, void *user_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_get_reltime
      Src: /src/hostap/src/utils/eloop.c:868,1
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/utils/eloop.c:871,1
    - Dst: os_reltime_before
      Src: /src/hostap/src/utils/eloop.c:877,1
    - Dst: os_reltime_sub
      Src: /src/hostap/src/utils/eloop.c:878,1
    - Dst: eloop_remove_timeout
      Src: /src/hostap/src/utils/eloop.c:879,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - handler
    - eloop_data
    - user_data
    - remaining
    argTypes:
    - eloop_timeout_handler
    - void*
    - void*
    - struct os_reltime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 860
    functionDepth: 1
    functionLinenumber: 860
    functionLinenumberEnd: 884
    functionName: eloop_cancel_timeout_one
    functionSourceFile: /src/hostap/src/utils/eloop.c
    functionUses: 1
    functionsReached:
    - os_get_reltime
    - eloop_remove_timeout
    - os_reltime_sub
    - os_reltime_before
    - dl_list_for_each_safe
    linkageType: ''
    returnType: int
    signature: "int eloop_cancel_timeout_one(eloop_timeout_handler handler,\n\t\t\t
      \    void *eloop_data, void *user_data,\n\t\t\t     struct os_reltime *remaining)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/utils/eloop.c:892,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - handler
    - eloop_data
    - user_data
    argTypes:
    - eloop_timeout_handler
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 887
    functionDepth: 0
    functionLinenumber: 887
    functionLinenumberEnd: 900
    functionName: eloop_is_timeout_registered
    functionSourceFile: /src/hostap/src/utils/eloop.c
    functionUses: 16
    functionsReached:
    - dl_list_for_each
    linkageType: ''
    returnType: int
    signature: "int eloop_is_timeout_registered(eloop_timeout_handler handler,\n\t\t\t\tvoid
      *eloop_data, void *user_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/utils/eloop.c:910,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/utils/eloop.c:916,1
    - Dst: os_reltime_sub
      Src: /src/hostap/src/utils/eloop.c:917,1
    - Dst: os_reltime_before
      Src: /src/hostap/src/utils/eloop.c:918,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/utils/eloop.c:919,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/utils/eloop.c:921,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 5
    argNames:
    - req_secs
    - req_usecs
    - handler
    - eloop_data
    - user_data
    argTypes:
    - unsigned int
    - unsigned int
    - eloop_timeout_handler
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 903
    functionDepth: 1
    functionLinenumber: 903
    functionLinenumberEnd: 932
    functionName: eloop_deplete_timeout
    functionSourceFile: /src/hostap/src/utils/eloop.c
    functionUses: 5
    functionsReached:
    - os_get_reltime
    - eloop_cancel_timeout
    - dl_list_for_each
    - os_reltime_sub
    - eloop_register_timeout
    - os_reltime_before
    linkageType: ''
    returnType: int
    signature: "int eloop_deplete_timeout(unsigned int req_secs, unsigned int req_usecs,\n\t\t\t
      \ eloop_timeout_handler handler, void *eloop_data,\n\t\t\t  void *user_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/utils/eloop.c:942,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/utils/eloop.c:948,1
    - Dst: os_reltime_sub
      Src: /src/hostap/src/utils/eloop.c:949,1
    - Dst: os_reltime_before
      Src: /src/hostap/src/utils/eloop.c:950,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/utils/eloop.c:951,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/utils/eloop.c:953,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 5
    argNames:
    - req_secs
    - req_usecs
    - handler
    - eloop_data
    - user_data
    argTypes:
    - unsigned int
    - unsigned int
    - eloop_timeout_handler
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 935
    functionDepth: 1
    functionLinenumber: 935
    functionLinenumberEnd: 964
    functionName: eloop_replenish_timeout
    functionSourceFile: /src/hostap/src/utils/eloop.c
    functionUses: 5
    functionsReached:
    - os_get_reltime
    - eloop_cancel_timeout
    - dl_list_for_each
    - os_reltime_sub
    - eloop_register_timeout
    - os_reltime_before
    linkageType: ''
    returnType: int
    signature: "int eloop_replenish_timeout(unsigned int req_secs, unsigned int req_usecs,\n\t\t\t
      \   eloop_timeout_handler handler, void *eloop_data,\n\t\t\t    void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/eloop.c:970,1
    - Dst: wpa_trace_show
      Src: /src/hostap/src/utils/eloop.c:976,1
    - Dst: exit
      Src: /src/hostap/src/utils/eloop.c:978,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 968
    functionDepth: 0
    functionLinenumber: 968
    functionLinenumberEnd: 979
    functionName: eloop_handle_alarm
    functionSourceFile: /src/hostap/src/utils/eloop.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - wpa_trace_show
    - exit
    linkageType: ''
    returnType: void
    signature: void eloop_handle_alarm(int sig)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/hostap/src/utils/eloop.c:992,1
    - Dst: alarm
      Src: /src/hostap/src/utils/eloop.c:993,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 983
    functionDepth: 0
    functionLinenumber: 983
    functionLinenumberEnd: 1004
    functionName: eloop_handle_signal
    functionSourceFile: /src/hostap/src/utils/eloop.c
    functionUses: 0
    functionsReached:
    - alarm
    - signal
    linkageType: ''
    returnType: void
    signature: void eloop_handle_signal(int sig)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: alarm
      Src: /src/hostap/src/utils/eloop.c:1017,1
    - Dst: handler
      Src: /src/hostap/src/utils/eloop.c:1025,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1029
      start: 1007
    functionDepth: 0
    functionLinenumber: 1007
    functionLinenumberEnd: 1029
    functionName: eloop_process_pending_signals
    functionSourceFile: /src/hostap/src/utils/eloop.c
    functionUses: 1
    functionsReached:
    - alarm
    - handler
    linkageType: ''
    returnType: void
    signature: void eloop_process_pending_signals(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_realloc_array
      Src: /src/hostap/src/utils/eloop.c:1037,1
    - Dst: signal
      Src: /src/hostap/src/utils/eloop.c:1048,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - sig
    - handler
    - user_data
    argTypes:
    - int
    - eloop_signal_handler
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1032
    functionDepth: 1
    functionLinenumber: 1032
    functionLinenumberEnd: 1051
    functionName: eloop_register_signal
    functionSourceFile: /src/hostap/src/utils/eloop.c
    functionUses: 2
    functionsReached:
    - signal
    - os_realloc_array
    linkageType: ''
    returnType: int
    signature: "int eloop_register_signal(int sig, eloop_signal_handler handler,\n\t\t\t
      \ void *user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eloop_register_signal
      Src: /src/hostap/src/utils/eloop.c:1057,1
    - Dst: eloop_register_signal
      Src: /src/hostap/src/utils/eloop.c:1059,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - handler
    - user_data
    argTypes:
    - eloop_signal_handler
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 1054
    functionDepth: 0
    functionLinenumber: 1054
    functionLinenumberEnd: 1061
    functionName: eloop_register_signal_terminate
    functionSourceFile: /src/hostap/src/utils/eloop.c
    functionUses: 9
    functionsReached:
    - eloop_register_signal
    linkageType: ''
    returnType: int
    signature: "int eloop_register_signal_terminate(eloop_signal_handler handler,\n\t\t\t\t
      \   void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eloop_register_signal
      Src: /src/hostap/src/utils/eloop.c:1070,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - handler
    - user_data
    argTypes:
    - eloop_signal_handler
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1064
    functionDepth: 0
    functionLinenumber: 1064
    functionLinenumberEnd: 1072
    functionName: eloop_register_signal_reconfig
    functionSourceFile: /src/hostap/src/utils/eloop.c
    functionUses: 3
    functionsReached:
    - eloop_register_signal
    linkageType: ''
    returnType: int
    signature: "int eloop_register_signal_reconfig(eloop_signal_handler handler,\n\t\t\t\t
      \  void *user_data)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/utils/eloop.c:1095,1
    - Dst: os_malloc
      Src: /src/hostap/src/utils/eloop.c:1096,1
    - Dst: os_malloc
      Src: /src/hostap/src/utils/eloop.c:1097,1
    - Dst: dl_list_empty
      Src: /src/hostap/src/utils/eloop.c:1103,1
    - Dst: eloop_process_pending_signals
      Src: /src/hostap/src/utils/eloop.c:1115,1
    - Dst: dl_list_first
      Src: /src/hostap/src/utils/eloop.c:1120,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/utils/eloop.c:1123,1
    - Dst: os_reltime_before
      Src: /src/hostap/src/utils/eloop.c:1124,1
    - Dst: os_reltime_sub
      Src: /src/hostap/src/utils/eloop.c:1125,1
    - Dst: eloop_sock_table_set_fds
      Src: /src/hostap/src/utils/eloop.c:1142,1
    - Dst: poll
      Src: /src/hostap/src/utils/eloop.c:1146,1
    - Dst: eloop_sock_table_set_fds
      Src: /src/hostap/src/utils/eloop.c:1150,1
    - Dst: eloop_sock_table_set_fds
      Src: /src/hostap/src/utils/eloop.c:1151,1
    - Dst: eloop_sock_table_set_fds
      Src: /src/hostap/src/utils/eloop.c:1152,1
    - Dst: select
      Src: /src/hostap/src/utils/eloop.c:1153,1
    - Dst: epoll_wait
      Src: /src/hostap/src/utils/eloop.c:1160,1
    - Dst: kevent
      Src: /src/hostap/src/utils/eloop.c:1168,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/eloop.c:1174,1
    - Dst: strerror
      Src: /src/hostap/src/utils/eloop.c:1188,1
    - Dst: eloop_process_pending_signals
      Src: /src/hostap/src/utils/eloop.c:1196,1
    - Dst: dl_list_first
      Src: /src/hostap/src/utils/eloop.c:1200,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/utils/eloop.c:1203,1
    - Dst: os_reltime_before
      Src: /src/hostap/src/utils/eloop.c:1204,1
    - Dst: eloop_remove_timeout
      Src: /src/hostap/src/utils/eloop.c:1209,1
    - Dst: handler
      Src: /src/hostap/src/utils/eloop.c:1210,1
    - Dst: eloop_sock_table_dispatch
      Src: /src/hostap/src/utils/eloop.c:1232,1
    - Dst: eloop_sock_table_dispatch
      Src: /src/hostap/src/utils/eloop.c:1237,1
    - Dst: eloop_sock_table_dispatch
      Src: /src/hostap/src/utils/eloop.c:1238,1
    - Dst: eloop_sock_table_dispatch
      Src: /src/hostap/src/utils/eloop.c:1239,1
    - Dst: eloop_sock_table_dispatch
      Src: /src/hostap/src/utils/eloop.c:1242,1
    - Dst: eloop_sock_table_dispatch
      Src: /src/hostap/src/utils/eloop.c:1245,1
    - Dst: os_free
      Src: /src/hostap/src/utils/eloop.c:1253,1
    - Dst: os_free
      Src: /src/hostap/src/utils/eloop.c:1254,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 76
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1075
    functionDepth: 3
    functionLinenumber: 1075
    functionLinenumberEnd: 1257
    functionName: eloop_run
    functionSourceFile: /src/hostap/src/utils/eloop.c
    functionUses: 19
    functionsReached:
    - os_get_reltime
    - select
    - epoll_wait
    - poll
    - wpa_printf
    - dl_list_empty
    - strerror
    - dl_list_first
    - eloop_remove_timeout
    - os_malloc
    - os_reltime_sub
    - eloop_process_pending_signals
    - eloop_sock_table_set_fds
    - handler
    - eloop_sock_table_dispatch
    - os_free
    - kevent
    - os_reltime_before
    linkageType: ''
    returnType: void
    signature: void eloop_run(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1263
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1263
    functionName: eloop_terminate
    functionSourceFile: /src/hostap/src/utils/eloop.c
    functionUses: 42
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void eloop_terminate(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_get_reltime
      Src: /src/hostap/src/utils/eloop.c:1272,1
    - Dst: dl_list_for_each_safe
      Src: /src/hostap/src/utils/eloop.c:1273,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/eloop.c:1282,1
    - Dst: wpa_trace_dump_funcname
      Src: /src/hostap/src/utils/eloop.c:1286,1
    - Dst: wpa_trace_dump
      Src: /src/hostap/src/utils/eloop.c:1288,1
    - Dst: eloop_remove_timeout
      Src: /src/hostap/src/utils/eloop.c:1289,1
    - Dst: eloop_sock_table_destroy
      Src: /src/hostap/src/utils/eloop.c:1291,1
    - Dst: eloop_sock_table_destroy
      Src: /src/hostap/src/utils/eloop.c:1292,1
    - Dst: eloop_sock_table_destroy
      Src: /src/hostap/src/utils/eloop.c:1293,1
    - Dst: signal
      Src: /src/hostap/src/utils/eloop.c:1296,1
    - Dst: os_free
      Src: /src/hostap/src/utils/eloop.c:1298,1
    - Dst: os_free
      Src: /src/hostap/src/utils/eloop.c:1301,1
    - Dst: os_free
      Src: /src/hostap/src/utils/eloop.c:1302,1
    - Dst: os_free
      Src: /src/hostap/src/utils/eloop.c:1305,1
    - Dst: os_free
      Src: /src/hostap/src/utils/eloop.c:1308,1
    - Dst: close
      Src: /src/hostap/src/utils/eloop.c:1309,1
    - Dst: os_free
      Src: /src/hostap/src/utils/eloop.c:1312,1
    - Dst: close
      Src: /src/hostap/src/utils/eloop.c:1313,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1315
      start: 1266
    functionDepth: 3
    functionLinenumber: 1266
    functionLinenumberEnd: 1315
    functionName: eloop_destroy
    functionSourceFile: /src/hostap/src/utils/eloop.c
    functionUses: 18
    functionsReached:
    - os_get_reltime
    - wpa_printf
    - eloop_remove_timeout
    - wpa_trace_dump_funcname
    - close
    - wpa_trace_dump
    - eloop_sock_table_destroy
    - os_free
    - signal
    - dl_list_for_each_safe
    linkageType: ''
    returnType: void
    signature: void eloop_destroy(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1321
      start: 1318
    functionDepth: 0
    functionLinenumber: 1318
    functionLinenumberEnd: 1321
    functionName: eloop_terminated
    functionSourceFile: /src/hostap/src/utils/eloop.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int eloop_terminated(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/utils/eloop.c:1332,1
    - Dst: poll
      Src: /src/hostap/src/utils/eloop.c:1336,1
    - Dst: FD_ZERO
      Src: /src/hostap/src/utils/eloop.c:1349,1
    - Dst: FD_SET
      Src: /src/hostap/src/utils/eloop.c:1350,1
    - Dst: select
      Src: /src/hostap/src/utils/eloop.c:1351,1
    - Dst: kqueue
      Src: /src/hostap/src/utils/eloop.c:1357,1
    - Dst: EV_SET
      Src: /src/hostap/src/utils/eloop.c:1360,1
    - Dst: kevent
      Src: /src/hostap/src/utils/eloop.c:1361,1
    - Dst: close
      Src: /src/hostap/src/utils/eloop.c:1362,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - sock
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1364
      start: 1324
    functionDepth: 0
    functionLinenumber: 1324
    functionLinenumberEnd: 1364
    functionName: eloop_wait_for_read_sock
    functionSourceFile: /src/hostap/src/utils/eloop.c
    functionUses: 2
    functionsReached:
    - select
    - poll
    - FD_ZERO
    - EV_SET
    - kqueue
    - close
    - kevent
    - FD_SET
    - os_memset
    linkageType: ''
    returnType: void
    signature: void eloop_wait_for_read_sock(int sock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/browser-system.c:24,1
    - Dst: eloop_terminate
      Src: /src/hostap/src/utils/browser-system.c:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - eloop_data
    - user_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 27
    functionName: browser_timeout
    functionSourceFile: /src/hostap/src/utils/browser-system.c
    functionUses: 0
    functionsReached:
    - eloop_terminate
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void browser_timeout(void *eloop_data, void *user_ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: http_request_get_uri
      Src: /src/hostap/src/utils/browser-system.c:37,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/browser-system.c:38,1
    - Dst: os_strcmp
      Src: /src/hostap/src/utils/browser-system.c:40,1
    - Dst: os_strncmp
      Src: /src/hostap/src/utils/browser-system.c:43,1
    - Dst: atoi
      Src: /src/hostap/src/utils/browser-system.c:44,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/utils/browser-system.c:48,1
    - Dst: http_request_deinit
      Src: /src/hostap/src/utils/browser-system.c:50,1
    - Dst: eloop_terminate
      Src: /src/hostap/src/utils/browser-system.c:52,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/utils/browser-system.c:57,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/utils/browser-system.c:58,1
    - Dst: http_request_send_and_deinit
      Src: /src/hostap/src/utils/browser-system.c:61,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - ctx
    - req
    argTypes:
    - void*
    - struct http_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 30
    functionDepth: 4
    functionLinenumber: 30
    functionLinenumberEnd: 62
    functionName: http_req
    functionSourceFile: /src/hostap/src/utils/browser-system.c
    functionUses: 0
    functionsReached:
    - http_request_get_uri
    - wpa_printf
    - http_request_deinit
    - eloop_cancel_timeout
    - http_request_send_and_deinit
    - eloop_terminate
    - os_strncmp
    - wpabuf_alloc
    - eloop_register_timeout
    - atoi
    - os_strcmp
    linkageType: ''
    returnType: void
    signature: void http_req(void *ctx, struct http_request *req)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/browser-system.c:72,1
    - Dst: os_memset
      Src: /src/hostap/src/utils/browser-system.c:74,1
    - Dst: eloop_init
      Src: /src/hostap/src/utils/browser-system.c:76,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/browser-system.c:77,1
    - Dst: htonl
      Src: /src/hostap/src/utils/browser-system.c:80,1
    - Dst: http_server_init
      Src: /src/hostap/src/utils/browser-system.c:81,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/browser-system.c:83,1
    - Dst: eloop_destroy
      Src: /src/hostap/src/utils/browser-system.c:84,1
    - Dst: fork
      Src: /src/hostap/src/utils/browser-system.c:88,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/browser-system.c:90,1
    - Dst: strerror
      Src: /src/hostap/src/utils/browser-system.c:90,1
    - Dst: http_server_deinit
      Src: /src/hostap/src/utils/browser-system.c:91,1
    - Dst: eloop_destroy
      Src: /src/hostap/src/utils/browser-system.c:92,1
    - Dst: execv
      Src: /src/hostap/src/utils/browser-system.c:104,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/browser-system.c:105,1
    - Dst: strerror
      Src: /src/hostap/src/utils/browser-system.c:105,1
    - Dst: exit
      Src: /src/hostap/src/utils/browser-system.c:106,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/utils/browser-system.c:110,1
    - Dst: eloop_run
      Src: /src/hostap/src/utils/browser-system.c:111,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/utils/browser-system.c:112,1
    - Dst: http_server_deinit
      Src: /src/hostap/src/utils/browser-system.c:113,1
    - Dst: eloop_destroy
      Src: /src/hostap/src/utils/browser-system.c:114,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 36
    argCount: 2
    argNames:
    - url
    - ignore_tls
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 65
    functionDepth: 5
    functionLinenumber: 65
    functionLinenumberEnd: 119
    functionName: hs20_web_browser
    functionSourceFile: /src/hostap/src/utils/browser-system.c
    functionUses: 1
    functionsReached:
    - eloop_run
    - wpa_printf
    - fork
    - strerror
    - eloop_cancel_timeout
    - http_server_init
    - htonl
    - http_server_deinit
    - exit
    - eloop_init
    - execv
    - eloop_register_timeout
    - eloop_destroy
    - os_memset
    linkageType: ''
    returnType: int
    signature: int hs20_web_browser(const char *url, int ignore_tls)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: wpa_debug_print_timestamp
    functionSourceFile: /src/hostap/src/utils/wpa_debug.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: wpa_debug_print_timestamp()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 4
    argNames:
    - (
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: wpa_printf
    functionSourceFile: /src/hostap/src/utils/wpa_debug.h
    functionUses: 5290
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: wpa_printf(args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: wpa_debug_open_file
    functionSourceFile: /src/hostap/src/utils/wpa_debug.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: wpa_debug_open_file(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: wpa_debug_close_file
    functionSourceFile: /src/hostap/src/utils/wpa_debug.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: wpa_debug_close_file()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: wpa_debug_setup_stdout
    functionSourceFile: /src/hostap/src/utils/wpa_debug.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: wpa_debug_setup_stdout()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: wpa_debug_stop_log
    functionSourceFile: /src/hostap/src/utils/wpa_debug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: wpa_debug_stop_log()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 4
    argNames:
    - (
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: wpa_dbg
    functionSourceFile: /src/hostap/src/utils/wpa_debug.h
    functionUses: 272
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: wpa_dbg(args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - level
    - title
    - buf
    - len
    argTypes:
    - int
    - char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: wpa_hexdump
    functionSourceFile: /src/hostap/src/utils/wpa_debug.h
    functionUses: 753
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpa_hexdump(int level, const char *title,\n\t\t\t       const
      void *buf, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - level
    - title
    - buf
    argTypes:
    - int
    - char*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: wpa_hexdump_buf
    functionSourceFile: /src/hostap/src/utils/wpa_debug.h
    functionUses: 125
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpa_hexdump_buf(int level, const char *title,\n\t\t\t\t   const
      struct wpabuf *buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - level
    - title
    - buf
    - len
    argTypes:
    - int
    - char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: wpa_hexdump_key
    functionSourceFile: /src/hostap/src/utils/wpa_debug.h
    functionUses: 309
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpa_hexdump_key(int level, const char *title,\n\t\t\t\t   const
      void *buf, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - level
    - title
    - buf
    argTypes:
    - int
    - char*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: wpa_hexdump_buf_key
    functionSourceFile: /src/hostap/src/utils/wpa_debug.h
    functionUses: 34
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpa_hexdump_buf_key(int level, const char *title,\n\t\t\t\t       const
      struct wpabuf *buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - level
    - title
    - buf
    - len
    argTypes:
    - int
    - char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: wpa_hexdump_ascii
    functionSourceFile: /src/hostap/src/utils/wpa_debug.h
    functionUses: 180
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpa_hexdump_ascii(int level, const char *title,\n\t\t\t\t     const
      void *buf, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - level
    - title
    - buf
    argTypes:
    - int
    - char*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: wpa_hexdump_ascii_buf
    functionSourceFile: /src/hostap/src/utils/wpa_debug.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpa_hexdump_ascii_buf(int level, const char *title,\n\t\t\t\t\t
      const struct wpabuf *buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - level
    - title
    - buf
    - len
    argTypes:
    - int
    - char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: wpa_hexdump_ascii_key
    functionSourceFile: /src/hostap/src/utils/wpa_debug.h
    functionUses: 37
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wpa_hexdump_ascii_key(int level, const char *title,\n\t\t\t\t\t
      const void *buf, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: wpa_debug_reopen_file
    functionSourceFile: /src/hostap/src/utils/wpa_debug.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpa_debug_reopen_file(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump
      Src: /src/hostap/src/utils/wpa_debug.h:123,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/utils/wpa_debug.h:123,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/utils/wpa_debug.h:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - level
    - title
    - buf
    argTypes:
    - int
    - char*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 125
    functionName: wpa_hexdump_buf
    functionSourceFile: /src/hostap/src/utils/wpa_debug.h
    functionUses: 125
    functionsReached:
    - wpabuf_len
    - wpa_hexdump
    - wpabuf_head
    linkageType: ''
    returnType: void
    signature: "void wpa_hexdump_buf(int level, const char *title,\n\t\t\t\t   const
      struct wpabuf *buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump_key
      Src: /src/hostap/src/utils/wpa_debug.h:145,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/utils/wpa_debug.h:145,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/utils/wpa_debug.h:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - level
    - title
    - buf
    argTypes:
    - int
    - char*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 147
    functionName: wpa_hexdump_buf_key
    functionSourceFile: /src/hostap/src/utils/wpa_debug.h
    functionUses: 34
    functionsReached:
    - wpabuf_len
    - wpa_hexdump_key
    - wpabuf_head
    linkageType: ''
    returnType: void
    signature: "void wpa_hexdump_buf_key(int level, const char *title,\n\t\t\t\t       const
      struct wpabuf *buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/utils/wpa_debug.h:168,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/utils/wpa_debug.h:168,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/utils/wpa_debug.h:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - level
    - title
    - buf
    argTypes:
    - int
    - char*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 170
    functionName: wpa_hexdump_ascii_buf
    functionSourceFile: /src/hostap/src/utils/wpa_debug.h
    functionUses: 1
    functionsReached:
    - wpabuf_len
    - wpa_hexdump_ascii
    - wpabuf_head
    linkageType: ''
    returnType: void
    signature: "void wpa_hexdump_ascii_buf(int level, const char *title,\n\t\t\t\t\t
      const struct wpabuf *buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 4
    argNames:
    - (
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 196
    functionName: wpa_dbg
    functionSourceFile: /src/hostap/src/utils/wpa_debug.h
    functionUses: 272
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: wpa_dbg(args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 4
    argNames:
    - (
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 202
    functionName: wpa_msg
    functionSourceFile: /src/hostap/src/utils/wpa_debug.h
    functionUses: 470
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: wpa_msg(args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 4
    argNames:
    - (
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 203
    functionName: wpa_msg_ctrl
    functionSourceFile: /src/hostap/src/utils/wpa_debug.h
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: wpa_msg_ctrl(args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 4
    argNames:
    - (
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 204
    functionName: wpa_msg_global
    functionSourceFile: /src/hostap/src/utils/wpa_debug.h
    functionUses: 51
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: wpa_msg_global(args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 4
    argNames:
    - (
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 205
    functionName: wpa_msg_global_ctrl
    functionSourceFile: /src/hostap/src/utils/wpa_debug.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: wpa_msg_global_ctrl(args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 4
    argNames:
    - (
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 206
    functionName: wpa_msg_no_global
    functionSourceFile: /src/hostap/src/utils/wpa_debug.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: wpa_msg_no_global(args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 4
    argNames:
    - (
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 207
    functionName: wpa_msg_global_only
    functionSourceFile: /src/hostap/src/utils/wpa_debug.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: wpa_msg_global_only(args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 208
    functionName: wpa_msg_register_cb
    functionSourceFile: /src/hostap/src/utils/wpa_debug.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: wpa_msg_register_cb(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 209
    functionName: wpa_msg_register_ifname_cb
    functionSourceFile: /src/hostap/src/utils/wpa_debug.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: wpa_msg_register_ifname_cb(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 4
    argNames:
    - (
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 323
    functionName: hostapd_logger
    functionSourceFile: /src/hostap/src/utils/wpa_debug.h
    functionUses: 78
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hostapd_logger(args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 324
    functionName: hostapd_logger_register_cb
    functionSourceFile: /src/hostap/src/utils/wpa_debug.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hostapd_logger_register_cb(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 364
    functionName: wpa_debug_open_syslog
    functionSourceFile: /src/hostap/src/utils/wpa_debug.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wpa_debug_open_syslog(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 368
    functionName: wpa_debug_close_syslog
    functionSourceFile: /src/hostap/src/utils/wpa_debug.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wpa_debug_close_syslog(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 382
    functionName: wpa_debug_open_linux_tracing
    functionSourceFile: /src/hostap/src/utils/wpa_debug.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpa_debug_open_linux_tracing(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 386
    functionName: wpa_debug_close_linux_tracing
    functionSourceFile: /src/hostap/src/utils/wpa_debug.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wpa_debug_close_linux_tracing(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 401
    functionName: WPA_ASSERT
    functionSourceFile: /src/hostap/src/utils/wpa_debug.h
    functionUses: 37
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WPA_ASSERT(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 403
    functionName: WPA_ASSERT
    functionSourceFile: /src/hostap/src/utils/wpa_debug.h
    functionUses: 37
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WPA_ASSERT(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: bswap_16
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned short
    signature: unsigned short bswap_16(unsigned short v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: bswap_32
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int bswap_32(unsigned int v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: wpa_swap_16
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned short
    signature: unsigned short wpa_swap_16(unsigned short v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 143
    functionName: wpa_swap_32
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int wpa_swap_32(unsigned int v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 146
    functionName: le_to_host16
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 131
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le_to_host16(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 147
    functionName: host_to_le16
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 66
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: host_to_le16(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 148
    functionName: be_to_host16
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 51
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be_to_host16(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 149
    functionName: host_to_be16
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 39
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: host_to_be16(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 150
    functionName: le_to_host32
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le_to_host32(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 151
    functionName: host_to_le32
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: host_to_le32(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 152
    functionName: be_to_host32
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be_to_host32(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 153
    functionName: host_to_be32
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: host_to_be32(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 154
    functionName: host_to_le64
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: host_to_le64(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 176
    functionName: le_to_host16
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 131
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le_to_host16(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 177
    functionName: host_to_le16
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 66
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: host_to_le16(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 178
    functionName: be_to_host16
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 51
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be_to_host16(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 179
    functionName: host_to_be16
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 39
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: host_to_be16(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 180
    functionName: le_to_host32
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le_to_host32(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 181
    functionName: host_to_le32
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: host_to_le32(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 182
    functionName: be_to_host32
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be_to_host32(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 183
    functionName: host_to_be32
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: host_to_be32(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 184
    functionName: le_to_host64
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le_to_host64(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 185
    functionName: host_to_le64
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: host_to_le64(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 186
    functionName: be_to_host64
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be_to_host64(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 187
    functionName: host_to_be64
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: host_to_be64(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 189
    functionName: le_to_host16
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 131
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le_to_host16(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 190
    functionName: host_to_le16
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 66
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: host_to_le16(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 191
    functionName: be_to_host16
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 51
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be_to_host16(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 192
    functionName: host_to_be16
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 39
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: host_to_be16(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 193
    functionName: le_to_host32
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le_to_host32(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 194
    functionName: host_to_le32
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: host_to_le32(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 195
    functionName: be_to_host32
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be_to_host32(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 196
    functionName: host_to_be32
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: host_to_be32(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 197
    functionName: le_to_host64
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le_to_host64(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 198
    functionName: host_to_le64
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: host_to_le64(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 199
    functionName: be_to_host64
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be_to_host64(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 200
    functionName: host_to_be64
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: host_to_be64(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 216
    functionName: WPA_GET_BE16
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 165
    functionsReached: []
    linkageType: ''
    returnType: u16
    signature: u16 WPA_GET_BE16(const u8 *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - val
    argTypes:
    - u8*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 222
    functionName: WPA_PUT_BE16
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 85
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WPA_PUT_BE16(u8 *a, u16 val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 227
    functionName: WPA_GET_LE16
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 169
    functionsReached: []
    linkageType: ''
    returnType: u16
    signature: u16 WPA_GET_LE16(const u8 *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - val
    argTypes:
    - u8*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 233
    functionName: WPA_PUT_LE16
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 108
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WPA_PUT_LE16(u8 *a, u16 val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 238
    functionName: WPA_GET_BE24
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 45
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: u32 WPA_GET_BE24(const u8 *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - a
    - val
    argTypes:
    - u8*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 245
    functionName: WPA_PUT_BE24
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WPA_PUT_BE24(u8 *a, u32 val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 250
    functionName: WPA_GET_LE24
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: u32 WPA_GET_LE24(const u8 *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - a
    - val
    argTypes:
    - u8*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 257
    functionName: WPA_PUT_LE24
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WPA_PUT_LE24(u8 *a, u32 val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 262
    functionName: WPA_GET_BE32
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 115
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: u32 WPA_GET_BE32(const u8 *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - a
    - val
    argTypes:
    - u8*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 270
    functionName: WPA_PUT_BE32
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 71
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WPA_PUT_BE32(u8 *a, u32 val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 275
    functionName: WPA_GET_LE32
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 29
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: u32 WPA_GET_LE32(const u8 *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - a
    - val
    argTypes:
    - u8*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 283
    functionName: WPA_PUT_LE32
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WPA_PUT_LE32(u8 *a, u32 val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 290
    functionName: WPA_GET_LE48
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: u64
    signature: u64 WPA_GET_LE48(const u8 *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - a
    - val
    argTypes:
    - u8*
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 300
    functionName: WPA_PUT_LE48
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WPA_PUT_LE48(u8 *a, u64 val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 308
    functionName: WPA_GET_BE64
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: u64
    signature: u64 WPA_GET_BE64(const u8 *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - a
    - val
    argTypes:
    - u8*
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 320
    functionName: WPA_PUT_BE64
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WPA_PUT_BE64(u8 *a, u64 val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 328
    functionName: WPA_GET_LE64
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: u64
    signature: u64 WPA_GET_LE64(const u8 *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - a
    - val
    argTypes:
    - u8*
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 340
    functionName: WPA_PUT_LE64
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WPA_PUT_LE64(u8 *a, u64 val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 383
    functionName: PRINTF_FORMAT
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRINTF_FORMAT(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 427
    functionName: bswap_16
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bswap_16(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 434
    functionName: bswap_32
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bswap_32(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 448
    functionName: MAC2STR
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 1209
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAC2STR(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 459
    functionName: BIT
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 185
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 463
    functionName: BIT_ULL
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIT_ULL(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - src
    - ','
    - mask
    - ','
    - pos
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 466
    functionName: BITS
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BITS(src, mask, pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 469
    functionName: MIN
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MIN(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 472
    functionName: MAX
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAX(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 544
    functionName: wpa_unicode2ascii_inplace
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: wpa_unicode2ascii_inplace(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 545
    functionName: wpa_strdup_tchar
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: wpa_strdup_tchar(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 564
    functionName: is_zero_ether_addr
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 154
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_zero_ether_addr(const u8 *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 569
    functionName: is_broadcast_ether_addr
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_broadcast_ether_addr(const u8 *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 574
    functionName: is_multicast_ether_addr
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 30
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_multicast_ether_addr(const u8 *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_memcmp
      Src: /src/hostap/src/utils/common.h:578,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - u8*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 579
    functionName: ether_addr_equal
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 345
    functionsReached:
    - os_memcmp
    linkageType: ''
    returnType: bool
    signature: bool ether_addr_equal(const u8 *a, const u8 *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 608
    functionName: ARRAY_SIZE
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 98
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARRAY_SIZE(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - __links
    - ','
    - __i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 631
    functionName: for_each_link
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 41
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: for_each_link(__links, __i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _links
    - ','
    - _i
    - ','
    - _def_idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 639
    functionName: for_each_link_default
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: for_each_link_default(_links, _i, _def_idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 653
    functionName: aliasing_hide_typecast
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: aliasing_hide_typecast(a,t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 657
    functionName: WPA_MEM_DEFINED
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WPA_MEM_DEFINED(ptr, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 659
    functionName: WPA_MEM_DEFINED
    functionSourceFile: /src/hostap/src/utils/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WPA_MEM_DEFINED(ptr, len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_cleanup
      Src: /src/hostap/src/utils/http_curl.c:58,1
    - Dst: curl_slist_free_all
      Src: /src/hostap/src/utils/http_curl.c:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct http_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 65
    functionName: clear_curl
    functionSourceFile: /src/hostap/src/utils/http_curl.c
    functionUses: 0
    functionsReached:
    - curl_slist_free_all
    - curl_easy_cleanup
    linkageType: ''
    returnType: void
    signature: void clear_curl(struct http_ctx *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wpa_hexdump_ascii
      Src: /src/hostap/src/utils/http_curl.c:77,1
    - Dst: os_malloc
      Src: /src/hostap/src/utils/http_curl.c:82,1
    - Dst: os_memcpy
      Src: /src/hostap/src/utils/http_curl.c:85,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/http_curl.c:94,1
    - Dst: os_free
      Src: /src/hostap/src/utils/http_curl.c:95,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 4
    argNames:
    - ctx
    - title
    - buf
    - len
    argTypes:
    - struct http_ctx*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 96
    functionName: debug_dump
    functionSourceFile: /src/hostap/src/utils/http_curl.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - os_memcpy
    - os_malloc
    - os_free
    - wpa_hexdump_ascii
    linkageType: ''
    returnType: void
    signature: "void debug_dump(struct http_ctx *ctx, const char *title,\n\t\t       const
      char *buf, size_t len)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: debug_dump
      Src: /src/hostap/src/utils/http_curl.c:105,1
    - Dst: debug_dump
      Src: /src/hostap/src/utils/http_curl.c:108,1
    - Dst: debug_dump
      Src: /src/hostap/src/utils/http_curl.c:111,1
    - Dst: debug_dump
      Src: /src/hostap/src/utils/http_curl.c:114,1
    - Dst: debug_dump
      Src: /src/hostap/src/utils/http_curl.c:117,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/http_curl.c:120,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/http_curl.c:124,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/http_curl.c:128,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 5
    argNames:
    - curl
    - info
    - buf
    - len
    - userdata
    argTypes:
    - CURL*
    - curl_infotype
    - char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 133
    functionName: curl_cb_debug
    functionSourceFile: /src/hostap/src/utils/http_curl.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - debug_dump
    linkageType: ''
    returnType: int
    signature: "int curl_cb_debug(CURL *curl, curl_infotype info, char *buf, size_t
      len,\n\t\t\t void *userdata)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_realloc
      Src: /src/hostap/src/utils/http_curl.c:141,1
    - Dst: os_memcpy
      Src: /src/hostap/src/utils/http_curl.c:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userdata
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 149
    functionName: curl_cb_write
    functionSourceFile: /src/hostap/src/utils/http_curl.c
    functionUses: 0
    functionsReached:
    - os_realloc
    - os_memcpy
    linkageType: ''
    returnType: size_t
    signature: "size_t curl_cb_write(void *ptr, size_t size, size_t nmemb,\n\t\t\t
      \   void *userdata)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/hostap/src/utils/http_curl.c:160,1
    - Dst: BIO_s_mem
      Src: /src/hostap/src/utils/http_curl.c:160,1
    - Dst: X509_print_ex
      Src: /src/hostap/src/utils/http_curl.c:164,1
    - Dst: BIO_ctrl_pending
      Src: /src/hostap/src/utils/http_curl.c:165,1
    - Dst: os_malloc
      Src: /src/hostap/src/utils/http_curl.c:166,1
    - Dst: BIO_read
      Src: /src/hostap/src/utils/http_curl.c:168,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/http_curl.c:171,1
    - Dst: os_free
      Src: /src/hostap/src/utils/http_curl.c:173,1
    - Dst: BIO_free
      Src: /src/hostap/src/utils/http_curl.c:175,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - title
    - cert
    argTypes:
    - char*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 176
    functionName: debug_dump_cert
    functionSourceFile: /src/hostap/src/utils/http_curl.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - BIO_s_mem
    - X509_print_ex
    - os_malloc
    - BIO_ctrl_pending
    - BIO_new
    - BIO_free
    - os_free
    - BIO_read
    linkageType: ''
    returnType: void
    signature: void debug_dump_cert(const char *title, X509 *cert)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_CTX_get_ex_data
      Src: /src/hostap/src/utils/http_curl.c:190,1
    - Dst: SSL_get_ex_data_X509_STORE_CTX_idx
      Src: /src/hostap/src/utils/http_curl.c:191,1
    - Dst: SSL_get_SSL_CTX
      Src: /src/hostap/src/utils/http_curl.c:192,1
    - Dst: SSL_CTX_get_app_data
      Src: /src/hostap/src/utils/http_curl.c:193,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/http_curl.c:195,1
    - Dst: X509_STORE_CTX_get_error
      Src: /src/hostap/src/utils/http_curl.c:198,1
    - Dst: X509_verify_cert_error_string
      Src: /src/hostap/src/utils/http_curl.c:199,1
    - Dst: X509_STORE_CTX_get_error_depth
      Src: /src/hostap/src/utils/http_curl.c:200,1
    - Dst: X509_STORE_CTX_get_current_cert
      Src: /src/hostap/src/utils/http_curl.c:201,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/http_curl.c:203,1
    - Dst: X509_get_subject_name
      Src: /src/hostap/src/utils/http_curl.c:215,1
    - Dst: X509_NAME_oneline
      Src: /src/hostap/src/utils/http_curl.c:216,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/http_curl.c:217,1
    - Dst: debug_dump_cert
      Src: /src/hostap/src/utils/http_curl.c:219,1
    - Dst: check_ocsp_resp
      Src: /src/hostap/src/utils/http_curl.c:225,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/http_curl.c:229,1
    - Dst: X509_STORE_CTX_set_error
      Src: /src/hostap/src/utils/http_curl.c:231,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/http_curl.c:235,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 2
    argNames:
    - preverify_ok
    - x509_ctx
    argTypes:
    - int
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 179
    functionDepth: 4
    functionLinenumber: 179
    functionLinenumberEnd: 245
    functionName: curl_cb_ssl_verify
    functionSourceFile: /src/hostap/src/utils/http_curl.c
    functionUses: 0
    functionsReached:
    - debug_dump_cert
    - wpa_printf
    - X509_STORE_CTX_get_error
    - X509_STORE_CTX_get_error_depth
    - X509_get_subject_name
    - check_ocsp_resp
    - X509_STORE_CTX_set_error
    - X509_verify_cert_error_string
    - X509_NAME_oneline
    - SSL_get_SSL_CTX
    - X509_STORE_CTX_get_ex_data
    - X509_STORE_CTX_get_current_cert
    - SSL_CTX_get_app_data
    - SSL_get_ex_data_X509_STORE_CTX_idx
    linkageType: ''
    returnType: int
    signature: int curl_cb_ssl_verify(int preverify_ok, X509_STORE_CTX *x509_ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/hostap/src/utils/http_curl.c:257,1
    - Dst: BIO_s_mem
      Src: /src/hostap/src/utils/http_curl.c:257,1
    - Dst: OCSP_RESPONSE_print
      Src: /src/hostap/src/utils/http_curl.c:261,1
    - Dst: BIO_ctrl_pending
      Src: /src/hostap/src/utils/http_curl.c:262,1
    - Dst: os_malloc
      Src: /src/hostap/src/utils/http_curl.c:263,1
    - Dst: BIO_free
      Src: /src/hostap/src/utils/http_curl.c:265,1
    - Dst: BIO_read
      Src: /src/hostap/src/utils/http_curl.c:269,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/http_curl.c:272,1
    - Dst: os_free
      Src: /src/hostap/src/utils/http_curl.c:274,1
    - Dst: BIO_free
      Src: /src/hostap/src/utils/http_curl.c:275,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - rsp
    argTypes:
    - OCSP_RESPONSE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 276
    functionName: ocsp_debug_print_resp
    functionSourceFile: /src/hostap/src/utils/http_curl.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - BIO_s_mem
    - os_malloc
    - BIO_ctrl_pending
    - OCSP_RESPONSE_print
    - BIO_new
    - BIO_free
    - os_free
    - BIO_read
    linkageType: ''
    returnType: void
    signature: void ocsp_debug_print_resp(OCSP_RESPONSE *rsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/http_curl.c:283,1
    - Dst: ERR_error_string
      Src: /src/hostap/src/utils/http_curl.c:284,1
    - Dst: ERR_get_error
      Src: /src/hostap/src/utils/http_curl.c:284,1
    - Dst: ERR_get_error
      Src: /src/hostap/src/utils/http_curl.c:286,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/http_curl.c:287,1
    - Dst: ERR_error_string
      Src: /src/hostap/src/utils/http_curl.c:288,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - func
    - txt
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 290
    functionName: tls_show_errors
    functionSourceFile: /src/hostap/src/utils/http_curl.c
    functionUses: 30
    functionsReached:
    - ERR_get_error
    - wpa_printf
    - ERR_error_string
    linkageType: ''
    returnType: void
    signature: void tls_show_errors(const char *func, const char *txt)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/hostap/src/utils/http_curl.c:303,1
    - Dst: SSL_get_tlsext_status_ocsp_resp
      Src: /src/hostap/src/utils/http_curl.c:305,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/http_curl.c:307,1
    - Dst: wpa_hexdump
      Src: /src/hostap/src/utils/http_curl.c:313,1
    - Dst: d2i_OCSP_RESPONSE
      Src: /src/hostap/src/utils/http_curl.c:315,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/http_curl.c:317,1
    - Dst: ocsp_debug_print_resp
      Src: /src/hostap/src/utils/http_curl.c:322,1
    - Dst: OCSP_response_status
      Src: /src/hostap/src/utils/http_curl.c:324,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/http_curl.c:326,1
    - Dst: OCSP_response_status_str
      Src: /src/hostap/src/utils/http_curl.c:327,1
    - Dst: OCSP_response_get1_basic
      Src: /src/hostap/src/utils/http_curl.c:332,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/http_curl.c:334,1
    - Dst: SSL_CTX_get_cert_store
      Src: /src/hostap/src/utils/http_curl.c:339,1
    - Dst: SSL_get_SSL_CTX
      Src: /src/hostap/src/utils/http_curl.c:339,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/http_curl.c:341,1
    - Dst: debug_dump_cert
      Src: /src/hostap/src/utils/http_curl.c:342,1
    - Dst: X509_STORE_add_cert
      Src: /src/hostap/src/utils/http_curl.c:345,1
    - Dst: tls_show_errors
      Src: /src/hostap/src/utils/http_curl.c:346,1
    - Dst: sk_X509_new_null
      Src: /src/hostap/src/utils/http_curl.c:349,1
    - Dst: X509_dup
      Src: /src/hostap/src/utils/http_curl.c:352,1
    - Dst: sk_X509_push
      Src: /src/hostap/src/utils/http_curl.c:353,1
    - Dst: tls_show_errors
      Src: /src/hostap/src/utils/http_curl.c:354,1
    - Dst: X509_free
      Src: /src/hostap/src/utils/http_curl.c:357,1
    - Dst: sk_X509_free
      Src: /src/hostap/src/utils/http_curl.c:358,1
    - Dst: X509_dup
      Src: /src/hostap/src/utils/http_curl.c:362,1
    - Dst: sk_X509_push
      Src: /src/hostap/src/utils/http_curl.c:363,1
    - Dst: tls_show_errors
      Src: /src/hostap/src/utils/http_curl.c:364,1
    - Dst: X509_free
      Src: /src/hostap/src/utils/http_curl.c:367,1
    - Dst: OCSP_basic_verify
      Src: /src/hostap/src/utils/http_curl.c:373,1
    - Dst: sk_X509_pop_free
      Src: /src/hostap/src/utils/http_curl.c:374,1
    - Dst: tls_show_errors
      Src: /src/hostap/src/utils/http_curl.c:376,1
    - Dst: OCSP_BASICRESP_free
      Src: /src/hostap/src/utils/http_curl.c:378,1
    - Dst: OCSP_RESPONSE_free
      Src: /src/hostap/src/utils/http_curl.c:379,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/http_curl.c:384,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/http_curl.c:387,1
    - Dst: OCSP_BASICRESP_free
      Src: /src/hostap/src/utils/http_curl.c:388,1
    - Dst: OCSP_RESPONSE_free
      Src: /src/hostap/src/utils/http_curl.c:389,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/http_curl.c:395,1
    - Dst: OCSP_BASICRESP_free
      Src: /src/hostap/src/utils/http_curl.c:396,1
    - Dst: OCSP_RESPONSE_free
      Src: /src/hostap/src/utils/http_curl.c:397,1
    - Dst: OCSP_cert_to_id
      Src: /src/hostap/src/utils/http_curl.c:402,1
    - Dst: EVP_sha256
      Src: /src/hostap/src/utils/http_curl.c:402,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/http_curl.c:404,1
    - Dst: OCSP_BASICRESP_free
      Src: /src/hostap/src/utils/http_curl.c:406,1
    - Dst: OCSP_RESPONSE_free
      Src: /src/hostap/src/utils/http_curl.c:407,1
    - Dst: OCSP_resp_find_status
      Src: /src/hostap/src/utils/http_curl.c:412,1
    - Dst: OCSP_cert_to_id
      Src: /src/hostap/src/utils/http_curl.c:415,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/http_curl.c:417,1
    - Dst: OCSP_BASICRESP_free
      Src: /src/hostap/src/utils/http_curl.c:419,1
    - Dst: OCSP_RESPONSE_free
      Src: /src/hostap/src/utils/http_curl.c:420,1
    - Dst: OCSP_resp_find_status
      Src: /src/hostap/src/utils/http_curl.c:426,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/http_curl.c:432,1
    - Dst: OCSP_CERTID_free
      Src: /src/hostap/src/utils/http_curl.c:435,1
    - Dst: OCSP_BASICRESP_free
      Src: /src/hostap/src/utils/http_curl.c:436,1
    - Dst: OCSP_RESPONSE_free
      Src: /src/hostap/src/utils/http_curl.c:437,1
    - Dst: OCSP_CERTID_free
      Src: /src/hostap/src/utils/http_curl.c:443,1
    - Dst: OCSP_check_validity
      Src: /src/hostap/src/utils/http_curl.c:445,1
    - Dst: tls_show_errors
      Src: /src/hostap/src/utils/http_curl.c:446,1
    - Dst: OCSP_BASICRESP_free
      Src: /src/hostap/src/utils/http_curl.c:447,1
    - Dst: OCSP_RESPONSE_free
      Src: /src/hostap/src/utils/http_curl.c:448,1
    - Dst: OCSP_BASICRESP_free
      Src: /src/hostap/src/utils/http_curl.c:453,1
    - Dst: OCSP_RESPONSE_free
      Src: /src/hostap/src/utils/http_curl.c:454,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/http_curl.c:456,1
    - Dst: OCSP_cert_status_str
      Src: /src/hostap/src/utils/http_curl.c:457,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/http_curl.c:466,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/http_curl.c:470,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 131
    argCount: 2
    argNames:
    - s
    - arg
    argTypes:
    - SSL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 472
    functionName: ocsp_resp_cb
    functionSourceFile: /src/hostap/src/utils/http_curl.c
    functionUses: 0
    functionsReached:
    - OCSP_BASICRESP_free
    - X509_STORE_add_cert
    - wpa_hexdump
    - OCSP_response_status
    - STACK_OF
    - sk_X509_pop_free
    - SSL_CTX_get_cert_store
    - OCSP_resp_find_status
    - sk_X509_new_null
    - debug_dump_cert
    - SSL_get_tlsext_status_ocsp_resp
    - wpa_printf
    - OCSP_CERTID_free
    - OCSP_RESPONSE_free
    - X509_free
    - SSL_get_SSL_CTX
    - EVP_sha256
    - OCSP_check_validity
    - sk_X509_push
    - OCSP_cert_to_id
    - OCSP_response_get1_basic
    - sk_X509_free
    - tls_show_errors
    - OCSP_cert_status_str
    - X509_dup
    - OCSP_basic_verify
    - OCSP_response_status_str
    - d2i_OCSP_RESPONSE
    - ocsp_debug_print_resp
    linkageType: ''
    returnType: int
    signature: int ocsp_resp_cb(SSL *s, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_SSL_CTX
      Src: /src/hostap/src/utils/http_curl.c:481,1
    - Dst: SSL*::method::ssl_new
      Src: /src/hostap/src/utils/http_curl.c:487,1
    - Dst: SSL_set_tlsext_status_type
      Src: /src/hostap/src/utils/http_curl.c:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 491
    functionName: curl_patch_ssl_new
    functionSourceFile: /src/hostap/src/utils/http_curl.c
    functionUses: 0
    functionsReached:
    - SSL_set_tlsext_status_type
    - SSL_get_SSL_CTX
    - SSL*::method::ssl_new
    linkageType: ''
    returnType: int
    signature: int curl_patch_ssl_new(SSL *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/http_curl.c:502,1
    - Dst: SSL_CTX_set_app_data
      Src: /src/hostap/src/utils/http_curl.c:503,1
    - Dst: SSL_CTX_set_verify
      Src: /src/hostap/src/utils/http_curl.c:504,1
    - Dst: SSL_CTX_set_tlsext_status_cb
      Src: /src/hostap/src/utils/http_curl.c:508,1
    - Dst: SSL_CTX_set_tlsext_status_arg
      Src: /src/hostap/src/utils/http_curl.c:509,1
    - Dst: os_memset
      Src: /src/hostap/src/utils/http_curl.c:517,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - curl
    - sslctx
    - parm
    argTypes:
    - CURL*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 526
    functionName: curl_cb_ssl
    functionSourceFile: /src/hostap/src/utils/http_curl.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - SSL_CTX_set_verify
    - SSL_CTX_set_app_data
    - SSL_CTX_set_tlsext_status_arg
    - SSL_CTX_set_tlsext_status_cb
    - os_memset
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode curl_cb_ssl(CURL *curl, void *sslctx, void *parm)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/http_curl.c:543,1
    - Dst: curl_easy_init
      Src: /src/hostap/src/utils/http_curl.c:546,1
    - Dst: curl_easy_setopt
      Src: /src/hostap/src/utils/http_curl.c:550,1
    - Dst: curl_easy_setopt
      Src: /src/hostap/src/utils/http_curl.c:551,1
    - Dst: curl_easy_setopt
      Src: /src/hostap/src/utils/http_curl.c:553,1
    - Dst: curl_easy_setopt
      Src: /src/hostap/src/utils/http_curl.c:554,1
    - Dst: curl_easy_setopt
      Src: /src/hostap/src/utils/http_curl.c:556,1
    - Dst: curl_easy_setopt
      Src: /src/hostap/src/utils/http_curl.c:557,1
    - Dst: curl_easy_setopt
      Src: /src/hostap/src/utils/http_curl.c:566,1
    - Dst: curl_easy_setopt
      Src: /src/hostap/src/utils/http_curl.c:570,1
    - Dst: curl_easy_setopt
      Src: /src/hostap/src/utils/http_curl.c:573,1
    - Dst: curl_easy_setopt
      Src: /src/hostap/src/utils/http_curl.c:574,1
    - Dst: curl_easy_setopt
      Src: /src/hostap/src/utils/http_curl.c:578,1
    - Dst: curl_easy_setopt
      Src: /src/hostap/src/utils/http_curl.c:579,1
    - Dst: curl_easy_setopt
      Src: /src/hostap/src/utils/http_curl.c:580,1
    - Dst: curl_easy_setopt
      Src: /src/hostap/src/utils/http_curl.c:581,1
    - Dst: curl_easy_setopt
      Src: /src/hostap/src/utils/http_curl.c:582,1
    - Dst: curl_easy_setopt
      Src: /src/hostap/src/utils/http_curl.c:583,1
    - Dst: curl_easy_setopt
      Src: /src/hostap/src/utils/http_curl.c:585,1
    - Dst: curl_easy_setopt
      Src: /src/hostap/src/utils/http_curl.c:586,1
    - Dst: curl_easy_setopt
      Src: /src/hostap/src/utils/http_curl.c:587,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 7
    argNames:
    - ctx
    - address
    - ca_fname
    - username
    - password
    - client_cert
    - client_key
    argTypes:
    - struct http_ctx*
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 591
    functionName: setup_curl_post
    functionSourceFile: /src/hostap/src/utils/http_curl.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - curl_easy_setopt
    - curl_easy_init
    linkageType: ''
    returnType: CURL
    signature: "CURL * setup_curl_post(struct http_ctx *ctx, const char *address,\n\t\t\t
      \     const char *ca_fname, const char *username,\n\t\t\t      const char *password,
      const char *client_cert,\n\t\t\t      const char *client_key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/utils/http_curl.c:596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct http_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 599
    functionName: free_curl_buf
    functionSourceFile: /src/hostap/src/utils/http_curl.c
    functionUses: 0
    functionsReached:
    - os_free
    linkageType: ''
    returnType: void
    signature: void free_curl_buf(struct http_ctx *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/utils/http_curl.c:606,1
    - Dst: curl_global_init
      Src: /src/hostap/src/utils/http_curl.c:613,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - upper_ctx
    - xml_ctx
    argTypes:
    - void*
    - struct xml_node_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 616
    functionName: http_init_ctx
    functionSourceFile: /src/hostap/src/utils/http_curl.c
    functionUses: 1
    functionsReached:
    - curl_global_init
    - os_zalloc
    linkageType: ''
    returnType: struct http_ctx
    signature: struct http_ctx * http_init_ctx(void *upper_ctx, struct xml_node_ctx
      *xml_ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - val
    argTypes:
    - struct http_ctx*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 627
    functionName: http_ocsp_set
    functionSourceFile: /src/hostap/src/utils/http_curl.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void http_ocsp_set(struct http_ctx *ctx, int val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear_curl
      Src: /src/hostap/src/utils/http_curl.c:632,1
    - Dst: os_free
      Src: /src/hostap/src/utils/http_curl.c:633,1
    - Dst: curl_global_cleanup
      Src: /src/hostap/src/utils/http_curl.c:634,1
    - Dst: os_free
      Src: /src/hostap/src/utils/http_curl.c:636,1
    - Dst: os_free
      Src: /src/hostap/src/utils/http_curl.c:638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct http_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 630
    functionDepth: 1
    functionLinenumber: 630
    functionLinenumberEnd: 639
    functionName: http_deinit_ctx
    functionSourceFile: /src/hostap/src/utils/http_curl.c
    functionUses: 1
    functionsReached:
    - os_free
    - curl_global_cleanup
    - clear_curl
    linkageType: ''
    returnType: void
    signature: void http_deinit_ctx(struct http_ctx *ctx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/http_curl.c:654,1
    - Dst: curl_easy_init
      Src: /src/hostap/src/utils/http_curl.c:656,1
    - Dst: fopen
      Src: /src/hostap/src/utils/http_curl.c:660,1
    - Dst: curl_easy_setopt
      Src: /src/hostap/src/utils/http_curl.c:664,1
    - Dst: curl_easy_setopt
      Src: /src/hostap/src/utils/http_curl.c:666,1
    - Dst: curl_easy_setopt
      Src: /src/hostap/src/utils/http_curl.c:667,1
    - Dst: curl_easy_setopt
      Src: /src/hostap/src/utils/http_curl.c:668,1
    - Dst: curl_easy_setopt
      Src: /src/hostap/src/utils/http_curl.c:670,1
    - Dst: curl_easy_setopt
      Src: /src/hostap/src/utils/http_curl.c:672,1
    - Dst: curl_easy_setopt
      Src: /src/hostap/src/utils/http_curl.c:673,1
    - Dst: curl_easy_setopt
      Src: /src/hostap/src/utils/http_curl.c:674,1
    - Dst: curl_easy_setopt
      Src: /src/hostap/src/utils/http_curl.c:675,1
    - Dst: curl_easy_setopt
      Src: /src/hostap/src/utils/http_curl.c:676,1
    - Dst: curl_easy_perform
      Src: /src/hostap/src/utils/http_curl.c:678,1
    - Dst: curl_easy_strerror
      Src: /src/hostap/src/utils/http_curl.c:681,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/http_curl.c:682,1
    - Dst: curl_easy_getinfo
      Src: /src/hostap/src/utils/http_curl.c:687,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/http_curl.c:688,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/http_curl.c:691,1
    - Dst: curl_easy_cleanup
      Src: /src/hostap/src/utils/http_curl.c:700,1
    - Dst: fclose
      Src: /src/hostap/src/utils/http_curl.c:702,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 50
    argCount: 4
    argNames:
    - ctx
    - url
    - fname
    - ca_fname
    argTypes:
    - struct http_ctx*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 705
    functionName: http_download_file
    functionSourceFile: /src/hostap/src/utils/http_curl.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - curl_easy_strerror
    - curl_easy_perform
    - curl_easy_setopt
    - fclose
    - curl_easy_init
    - curl_easy_getinfo
    - fopen
    - curl_easy_cleanup
    linkageType: ''
    returnType: int
    signature: "int http_download_file(struct http_ctx *ctx, const char *url,\n\t\t
      \      const char *fname, const char *ca_fname)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/http_curl.c:723,1
    - Dst: setup_curl_post
      Src: /src/hostap/src/utils/http_curl.c:724,1
    - Dst: snprintf
      Src: /src/hostap/src/utils/http_curl.c:731,1
    - Dst: curl_slist_append
      Src: /src/hostap/src/utils/http_curl.c:732,1
    - Dst: curl_slist_append
      Src: /src/hostap/src/utils/http_curl.c:735,1
    - Dst: curl_easy_setopt
      Src: /src/hostap/src/utils/http_curl.c:736,1
    - Dst: curl_easy_setopt
      Src: /src/hostap/src/utils/http_curl.c:738,1
    - Dst: free_curl_buf
      Src: /src/hostap/src/utils/http_curl.c:739,1
    - Dst: curl_easy_perform
      Src: /src/hostap/src/utils/http_curl.c:741,1
    - Dst: curl_easy_strerror
      Src: /src/hostap/src/utils/http_curl.c:744,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/http_curl.c:745,1
    - Dst: curl_easy_getinfo
      Src: /src/hostap/src/utils/http_curl.c:750,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/http_curl.c:751,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/http_curl.c:754,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/http_curl.c:767,1
    - Dst: free_curl_buf
      Src: /src/hostap/src/utils/http_curl.c:770,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 11
    argNames:
    - ctx
    - url
    - data
    - content_type
    - ext_hdr
    - ca_fname
    - username
    - password
    - client_cert
    - client_key
    - resp_len
    argTypes:
    - struct http_ctx*
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 708
    functionDepth: 1
    functionLinenumber: 708
    functionLinenumberEnd: 773
    functionName: http_post
    functionSourceFile: /src/hostap/src/utils/http_curl.c
    functionUses: 0
    functionsReached:
    - snprintf
    - wpa_printf
    - curl_slist_append
    - setup_curl_post
    - curl_easy_strerror
    - curl_easy_perform
    - curl_easy_setopt
    - free_curl_buf
    - curl_easy_getinfo
    linkageType: ''
    returnType: char
    signature: "char * http_post(struct http_ctx *ctx, const char *url, const char
      *data,\n\t\t const char *content_type, const char *ext_hdr,\n\t\t const char
      *ca_fname,\n\t\t const char *username, const char *password,\n\t\t const char
      *client_cert, const char *client_key,\n\t\t size_t *resp_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct http_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 779
    functionName: http_get_err
    functionSourceFile: /src/hostap/src/utils/http_curl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * http_get_err(struct http_ctx *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/hostap/src/utils/xml-utils.c:22,1
    - Dst: xml_node_for_each_check
      Src: /src/hostap/src/utils/xml-utils.c:28,1
    - Dst: xml_node_get_localname
      Src: /src/hostap/src/utils/xml-utils.c:29,1
    - Dst: strcasecmp
      Src: /src/hostap/src/utils/xml-utils.c:30,1
    - Dst: get_node_uri_iter
      Src: /src/hostap/src/utils/xml-utils.c:38,1
    - Dst: xml_node_first_child
      Src: /src/hostap/src/utils/xml-utils.c:38,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - ctx
    - root
    - uri
    argTypes:
    - struct xml_node_ctx*
    - xml_node_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 43
    functionName: get_node_uri_iter
    functionSourceFile: /src/hostap/src/utils/xml-utils.c
    functionUses: 1
    functionsReached:
    - strcasecmp
    - xml_node_first_child
    - xml_node_get_localname
    - strchr
    - get_node_uri_iter
    - xml_node_for_each_check
    linkageType: ''
    returnType: xml_node_t
    signature: "xml_node_t * get_node_uri_iter(struct xml_node_ctx *ctx,\n\t\t\t\t
      \     xml_node_t *root, char *uri)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xml_node_for_each_check
      Src: /src/hostap/src/utils/xml-utils.c:28,1
    - Dst: xml_node_get_localname
      Src: /src/hostap/src/utils/xml-utils.c:29,1
    - Dst: strcasecmp
      Src: /src/hostap/src/utils/xml-utils.c:30,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: xml_node_for_each_sibling
    functionSourceFile: /src/hostap/src/utils/xml-utils.c
    functionUses: 0
    functionsReached:
    - xml_node_get_localname
    - strcasecmp
    - xml_node_for_each_check
    linkageType: ''
    returnType: void
    signature: void xml_node_for_each_sibling(ctx, node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_strdup
      Src: /src/hostap/src/utils/xml-utils.c:52,1
    - Dst: get_node_uri_iter
      Src: /src/hostap/src/utils/xml-utils.c:56,1
    - Dst: os_free
      Src: /src/hostap/src/utils/xml-utils.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - root
    - uri
    argTypes:
    - struct xml_node_ctx*
    - xml_node_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 60
    functionName: get_node_uri
    functionSourceFile: /src/hostap/src/utils/xml-utils.c
    functionUses: 0
    functionsReached:
    - os_free
    - os_strdup
    - get_node_uri_iter
    linkageType: ''
    returnType: xml_node_t
    signature: "xml_node_t * get_node_uri(struct xml_node_ctx *ctx, xml_node_t *root,\n\t\t\t
      \ const char *uri)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_strchr
      Src: /src/hostap/src/utils/xml-utils.c:70,1
    - Dst: xml_node_for_each_check
      Src: /src/hostap/src/utils/xml-utils.c:75,1
    - Dst: xml_node_get_localname
      Src: /src/hostap/src/utils/xml-utils.c:76,1
    - Dst: os_strcasecmp
      Src: /src/hostap/src/utils/xml-utils.c:77,1
    - Dst: get_node_iter
      Src: /src/hostap/src/utils/xml-utils.c:84,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - ctx
    - root
    - path
    argTypes:
    - struct xml_node_ctx*
    - xml_node_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 86
    functionName: get_node_iter
    functionSourceFile: /src/hostap/src/utils/xml-utils.c
    functionUses: 1
    functionsReached:
    - get_node_iter
    - xml_node_get_localname
    - os_strcasecmp
    - os_strchr
    - xml_node_for_each_check
    linkageType: ''
    returnType: xml_node_t
    signature: "xml_node_t * get_node_iter(struct xml_node_ctx *ctx,\n\t\t\t\t  xml_node_t
      *root, const char *path)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xml_node_for_each_check
      Src: /src/hostap/src/utils/xml-utils.c:75,1
    - Dst: xml_node_get_localname
      Src: /src/hostap/src/utils/xml-utils.c:76,1
    - Dst: os_strcasecmp
      Src: /src/hostap/src/utils/xml-utils.c:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: xml_node_for_each_child
    functionSourceFile: /src/hostap/src/utils/xml-utils.c
    functionUses: 16
    functionsReached:
    - xml_node_get_localname
    - os_strcasecmp
    - xml_node_for_each_check
    linkageType: ''
    returnType: void
    signature: void xml_node_for_each_child(ctx, node, root)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_strdup
      Src: /src/hostap/src/utils/xml-utils.c:95,1
    - Dst: get_node_iter
      Src: /src/hostap/src/utils/xml-utils.c:99,1
    - Dst: os_free
      Src: /src/hostap/src/utils/xml-utils.c:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - root
    - path
    argTypes:
    - struct xml_node_ctx*
    - xml_node_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 103
    functionName: get_node
    functionSourceFile: /src/hostap/src/utils/xml-utils.c
    functionUses: 8
    functionsReached:
    - os_free
    - get_node_iter
    - os_strdup
    linkageType: ''
    returnType: xml_node_t
    signature: "xml_node_t * get_node(struct xml_node_ctx *ctx, xml_node_t *root,\n\t\t
      \     const char *path)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xml_node_for_each_check
      Src: /src/hostap/src/utils/xml-utils.c:113,1
    - Dst: get_node
      Src: /src/hostap/src/utils/xml-utils.c:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - root
    - path
    argTypes:
    - struct xml_node_ctx*
    - xml_node_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 106
    functionDepth: 3
    functionLinenumber: 106
    functionLinenumberEnd: 120
    functionName: get_child_node
    functionSourceFile: /src/hostap/src/utils/xml-utils.c
    functionUses: 2
    functionsReached:
    - get_node
    - xml_node_for_each_check
    linkageType: ''
    returnType: xml_node_t
    signature: "xml_node_t * get_child_node(struct xml_node_ctx *ctx, xml_node_t *root,\n\t\t\t
      \   const char *path)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xml_node_for_each_check
      Src: /src/hostap/src/utils/xml-utils.c:113,1
    - Dst: get_node
      Src: /src/hostap/src/utils/xml-utils.c:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 3
    functionLinenumber: 112
    functionLinenumberEnd: 117
    functionName: xml_node_for_each_child
    functionSourceFile: /src/hostap/src/utils/xml-utils.c
    functionUses: 16
    functionsReached:
    - get_node
    - xml_node_for_each_check
    linkageType: ''
    returnType: void
    signature: void xml_node_for_each_child(ctx, node, root)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: os_readfile
      Src: /src/hostap/src/utils/xml-utils.c:129,1
    - Dst: os_realloc
      Src: /src/hostap/src/utils/xml-utils.c:132,1
    - Dst: os_free
      Src: /src/hostap/src/utils/xml-utils.c:134,1
    - Dst: os_strstr
      Src: /src/hostap/src/utils/xml-utils.c:140,1
    - Dst: os_memset
      Src: /src/hostap/src/utils/xml-utils.c:158,1
    - Dst: xml_node_from_buf
      Src: /src/hostap/src/utils/xml-utils.c:162,1
    - Dst: os_free
      Src: /src/hostap/src/utils/xml-utils.c:163,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - ctx
    - name
    argTypes:
    - struct xml_node_ctx*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 166
    functionName: node_from_file
    functionSourceFile: /src/hostap/src/utils/xml-utils.c
    functionUses: 5
    functionsReached:
    - xml_node_from_buf
    - os_realloc
    - os_strstr
    - os_readfile
    - os_free
    - os_memset
    linkageType: ''
    returnType: xml_node_t
    signature: xml_node_t * node_from_file(struct xml_node_ctx *ctx, const char *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xml_node_to_str
      Src: /src/hostap/src/utils/xml-utils.c:174,1
    - Dst: fopen
      Src: /src/hostap/src/utils/xml-utils.c:178,1
    - Dst: os_free
      Src: /src/hostap/src/utils/xml-utils.c:180,1
    - Dst: fprintf
      Src: /src/hostap/src/utils/xml-utils.c:184,1
    - Dst: os_free
      Src: /src/hostap/src/utils/xml-utils.c:185,1
    - Dst: fclose
      Src: /src/hostap/src/utils/xml-utils.c:186,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - ctx
    - fname
    - node
    argTypes:
    - struct xml_node_ctx*
    - char*
    - xml_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 189
    functionName: node_to_file
    functionSourceFile: /src/hostap/src/utils/xml-utils.c
    functionUses: 2
    functionsReached:
    - fprintf
    - xml_node_to_str
    - fclose
    - os_free
    - fopen
    linkageType: ''
    returnType: int
    signature: int node_to_file(struct xml_node_ctx *ctx, const char *fname, xml_node_t
      *node)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xml_node_get_text
      Src: /src/hostap/src/utils/xml-utils.c:196,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - node
    argTypes:
    - struct xml_node_ctx*
    - xml_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 207
    functionName: get_val
    functionSourceFile: /src/hostap/src/utils/xml-utils.c
    functionUses: 0
    functionsReached:
    - xml_node_get_text
    linkageType: ''
    returnType: char
    signature: char * get_val(struct xml_node_ctx *ctx, xml_node_t *node)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/utils/xml-utils.c:218,1
    - Dst: os_strlen
      Src: /src/hostap/src/utils/xml-utils.c:218,1
    - Dst: os_malloc
      Src: /src/hostap/src/utils/xml-utils.c:219,1
    - Dst: os_snprintf
      Src: /src/hostap/src/utils/xml-utils.c:221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - prev
    - leaf
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 224
    functionName: add_path
    functionSourceFile: /src/hostap/src/utils/xml-utils.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_malloc
    - os_snprintf
    linkageType: ''
    returnType: char
    signature: char * add_path(const char *prev, const char *leaf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xml_node_for_each_check
      Src: /src/hostap/src/utils/xml-utils.c:237,1
    - Dst: xml_node_get_localname
      Src: /src/hostap/src/utils/xml-utils.c:238,1
    - Dst: xml_node_create
      Src: /src/hostap/src/utils/xml-utils.c:240,1
    - Dst: xml_node_create_text
      Src: /src/hostap/src/utils/xml-utils.c:243,1
    - Dst: xml_node_create_text
      Src: /src/hostap/src/utils/xml-utils.c:246,1
    - Dst: get_val
      Src: /src/hostap/src/utils/xml-utils.c:248,1
    - Dst: xml_node_first_child
      Src: /src/hostap/src/utils/xml-utils.c:249,1
    - Dst: xml_node_create_text
      Src: /src/hostap/src/utils/xml-utils.c:250,1
    - Dst: xml_node_get_text_free
      Src: /src/hostap/src/utils/xml-utils.c:252,1
    - Dst: add_path
      Src: /src/hostap/src/utils/xml-utils.c:254,1
    - Dst: node_to_tnds
      Src: /src/hostap/src/utils/xml-utils.c:255,1
    - Dst: os_free
      Src: /src/hostap/src/utils/xml-utils.c:256,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - uri
    argTypes:
    - struct xml_node_ctx*
    - xml_node_t*
    - xml_node_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 258
    functionName: node_to_tnds
    functionSourceFile: /src/hostap/src/utils/xml-utils.c
    functionUses: 1
    functionsReached:
    - node_to_tnds
    - xml_node_create_text
    - add_path
    - xml_node_get_text_free
    - xml_node_for_each_check
    - get_val
    - xml_node_get_localname
    - xml_node_first_child
    - os_free
    - xml_node_create
    linkageType: ''
    returnType: void
    signature: "void node_to_tnds(struct xml_node_ctx *ctx, xml_node_t *out,\n\t\t\t
      xml_node_t *in, const char *uri)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xml_node_for_each_check
      Src: /src/hostap/src/utils/xml-utils.c:237,1
    - Dst: xml_node_get_localname
      Src: /src/hostap/src/utils/xml-utils.c:238,1
    - Dst: xml_node_create
      Src: /src/hostap/src/utils/xml-utils.c:240,1
    - Dst: xml_node_create_text
      Src: /src/hostap/src/utils/xml-utils.c:243,1
    - Dst: xml_node_create_text
      Src: /src/hostap/src/utils/xml-utils.c:246,1
    - Dst: get_val
      Src: /src/hostap/src/utils/xml-utils.c:248,1
    - Dst: xml_node_first_child
      Src: /src/hostap/src/utils/xml-utils.c:249,1
    - Dst: xml_node_create_text
      Src: /src/hostap/src/utils/xml-utils.c:250,1
    - Dst: xml_node_get_text_free
      Src: /src/hostap/src/utils/xml-utils.c:252,1
    - Dst: add_path
      Src: /src/hostap/src/utils/xml-utils.c:254,1
    - Dst: node_to_tnds
      Src: /src/hostap/src/utils/xml-utils.c:255,1
    - Dst: os_free
      Src: /src/hostap/src/utils/xml-utils.c:256,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 236
    functionDepth: 3
    functionLinenumber: 236
    functionLinenumberEnd: 257
    functionName: xml_node_for_each_child
    functionSourceFile: /src/hostap/src/utils/xml-utils.c
    functionUses: 16
    functionsReached:
    - node_to_tnds
    - xml_node_create_text
    - add_path
    - xml_node_get_text_free
    - xml_node_for_each_check
    - get_val
    - xml_node_get_localname
    - xml_node_first_child
    - os_free
    - xml_node_create
    linkageType: ''
    returnType: void
    signature: void xml_node_for_each_child(ctx, node, in)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xml_node_create
      Src: /src/hostap/src/utils/xml-utils.c:266,1
    - Dst: xml_node_create
      Src: /src/hostap/src/utils/xml-utils.c:269,1
    - Dst: xml_node_create_text
      Src: /src/hostap/src/utils/xml-utils.c:272,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - parent
    - urn
    argTypes:
    - struct xml_node_ctx*
    - xml_node_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 274
    functionName: add_ddfname
    functionSourceFile: /src/hostap/src/utils/xml-utils.c
    functionUses: 0
    functionsReached:
    - xml_node_create_text
    - xml_node_create
    linkageType: ''
    returnType: int
    signature: "int add_ddfname(struct xml_node_ctx *ctx, xml_node_t *parent,\n\t\t
      \      const char *urn)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xml_node_create_root
      Src: /src/hostap/src/utils/xml-utils.c:284,1
    - Dst: xml_node_create_text
      Src: /src/hostap/src/utils/xml-utils.c:288,1
    - Dst: xml_node_get_localname
      Src: /src/hostap/src/utils/xml-utils.c:290,1
    - Dst: xml_node_create
      Src: /src/hostap/src/utils/xml-utils.c:292,1
    - Dst: xml_node_create_text
      Src: /src/hostap/src/utils/xml-utils.c:295,1
    - Dst: add_ddfname
      Src: /src/hostap/src/utils/xml-utils.c:297,1
    - Dst: node_to_tnds
      Src: /src/hostap/src/utils/xml-utils.c:299,1
    - Dst: xml_node_free
      Src: /src/hostap/src/utils/xml-utils.c:304,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 5
    argNames:
    - ctx
    - mo
    - use_path
    - urn
    - ns_uri
    argTypes:
    - struct xml_node_ctx*
    - xml_node_t*
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 277
    functionDepth: 3
    functionLinenumber: 277
    functionLinenumberEnd: 306
    functionName: mo_to_tnds
    functionSourceFile: /src/hostap/src/utils/xml-utils.c
    functionUses: 1
    functionsReached:
    - node_to_tnds
    - xml_node_create_text
    - add_ddfname
    - xml_node_get_localname
    - xml_node_free
    - xml_node_create_root
    - xml_node_create
    linkageType: ''
    returnType: xml_node_t
    signature: "xml_node_t * mo_to_tnds(struct xml_node_ctx *ctx, xml_node_t *mo,\n\t\t\tint
      use_path, const char *urn, const char *ns_uri)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xml_node_for_each_check
      Src: /src/hostap/src/utils/xml-utils.c:317,1
    - Dst: xml_node_get_localname
      Src: /src/hostap/src/utils/xml-utils.c:318,1
    - Dst: os_strcasecmp
      Src: /src/hostap/src/utils/xml-utils.c:319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - node
    - name
    argTypes:
    - struct xml_node_ctx*
    - xml_node_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 324
    functionName: get_first_child_node
    functionSourceFile: /src/hostap/src/utils/xml-utils.c
    functionUses: 0
    functionsReached:
    - xml_node_get_localname
    - os_strcasecmp
    - xml_node_for_each_check
    linkageType: ''
    returnType: xml_node_t
    signature: "xml_node_t * get_first_child_node(struct xml_node_ctx *ctx,\n\t\t\t\t\t
      xml_node_t *node,\n\t\t\t\t\t const char *name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xml_node_for_each_check
      Src: /src/hostap/src/utils/xml-utils.c:317,1
    - Dst: xml_node_get_localname
      Src: /src/hostap/src/utils/xml-utils.c:318,1
    - Dst: os_strcasecmp
      Src: /src/hostap/src/utils/xml-utils.c:319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 321
    functionName: xml_node_for_each_child
    functionSourceFile: /src/hostap/src/utils/xml-utils.c
    functionUses: 16
    functionsReached:
    - xml_node_get_localname
    - os_strcasecmp
    - xml_node_for_each_check
    linkageType: ''
    returnType: void
    signature: void xml_node_for_each_child(ctx, child, node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_first_child_node
      Src: /src/hostap/src/utils/xml-utils.c:330,1
    - Dst: xml_node_get_text
      Src: /src/hostap/src/utils/xml-utils.c:333,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - node
    - node_name
    argTypes:
    - struct xml_node_ctx*
    - xml_node_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 327
    functionDepth: 2
    functionLinenumber: 327
    functionLinenumberEnd: 334
    functionName: get_node_text
    functionSourceFile: /src/hostap/src/utils/xml-utils.c
    functionUses: 0
    functionsReached:
    - xml_node_get_text
    - get_first_child_node
    linkageType: ''
    returnType: char
    signature: "char * get_node_text(struct xml_node_ctx *ctx, xml_node_t *node,\n\t\t\t
      \   const char *node_name)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: get_node_text
      Src: /src/hostap/src/utils/xml-utils.c:343,1
    - Dst: get_node_text
      Src: /src/hostap/src/utils/xml-utils.c:346,1
    - Dst: xml_node_create_root
      Src: /src/hostap/src/utils/xml-utils.c:349,1
    - Dst: xml_node_set_text
      Src: /src/hostap/src/utils/xml-utils.c:352,1
    - Dst: xml_node_get_text_free
      Src: /src/hostap/src/utils/xml-utils.c:355,1
    - Dst: xml_node_get_text_free
      Src: /src/hostap/src/utils/xml-utils.c:356,1
    - Dst: get_node_text
      Src: /src/hostap/src/utils/xml-utils.c:359,1
    - Dst: get_node_uri
      Src: /src/hostap/src/utils/xml-utils.c:362,1
    - Dst: xml_node_get_text_free
      Src: /src/hostap/src/utils/xml-utils.c:363,1
    - Dst: printf
      Src: /src/hostap/src/utils/xml-utils.c:365,1
    - Dst: xml_node_get_text_free
      Src: /src/hostap/src/utils/xml-utils.c:366,1
    - Dst: xml_node_get_text_free
      Src: /src/hostap/src/utils/xml-utils.c:367,1
    - Dst: xml_node_create_text
      Src: /src/hostap/src/utils/xml-utils.c:371,1
    - Dst: xml_node_create
      Src: /src/hostap/src/utils/xml-utils.c:374,1
    - Dst: xml_node_get_text_free
      Src: /src/hostap/src/utils/xml-utils.c:377,1
    - Dst: xml_node_get_text_free
      Src: /src/hostap/src/utils/xml-utils.c:378,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 4
    argNames:
    - ctx
    - root
    - node
    - uri
    argTypes:
    - struct xml_node_ctx*
    - xml_node_t*
    - xml_node_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 337
    functionDepth: 3
    functionLinenumber: 337
    functionLinenumberEnd: 381
    functionName: add_mo_node
    functionSourceFile: /src/hostap/src/utils/xml-utils.c
    functionUses: 0
    functionsReached:
    - xml_node_set_text
    - xml_node_create_text
    - get_node_text
    - xml_node_create
    - printf
    - get_node_uri
    - xml_node_create_root
    - xml_node_get_text_free
    linkageType: ''
    returnType: xml_node_t
    signature: "xml_node_t * add_mo_node(struct xml_node_ctx *ctx, xml_node_t *root,\n\t\t\t\txml_node_t
      *node, const char *uri)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: xml_node_for_each_check
      Src: /src/hostap/src/utils/xml-utils.c:392,1
    - Dst: get_node_text
      Src: /src/hostap/src/utils/xml-utils.c:394,1
    - Dst: xml_node_get_localname
      Src: /src/hostap/src/utils/xml-utils.c:398,1
    - Dst: strcmp
      Src: /src/hostap/src/utils/xml-utils.c:399,1
    - Dst: printf
      Src: /src/hostap/src/utils/xml-utils.c:401,1
    - Dst: xml_node_get_text_free
      Src: /src/hostap/src/utils/xml-utils.c:403,1
    - Dst: add_mo_node
      Src: /src/hostap/src/utils/xml-utils.c:406,1
    - Dst: get_first_child_node
      Src: /src/hostap/src/utils/xml-utils.c:409,1
    - Dst: tnds_to_mo_iter
      Src: /src/hostap/src/utils/xml-utils.c:412,1
    - Dst: add_path
      Src: /src/hostap/src/utils/xml-utils.c:415,1
    - Dst: tnds_to_mo_iter
      Src: /src/hostap/src/utils/xml-utils.c:416,1
    - Dst: os_free
      Src: /src/hostap/src/utils/xml-utils.c:417,1
    - Dst: xml_node_get_text_free
      Src: /src/hostap/src/utils/xml-utils.c:420,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 4
    argNames:
    - ctx
    - root
    - node
    - uri
    argTypes:
    - struct xml_node_ctx*
    - xml_node_t*
    - xml_node_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 384
    functionDepth: 4
    functionLinenumber: 384
    functionLinenumberEnd: 424
    functionName: tnds_to_mo_iter
    functionSourceFile: /src/hostap/src/utils/xml-utils.c
    functionUses: 1
    functionsReached:
    - tnds_to_mo_iter
    - get_first_child_node
    - add_mo_node
    - add_path
    - get_node_text
    - xml_node_get_text_free
    - printf
    - xml_node_for_each_check
    - xml_node_get_localname
    - os_free
    - strcmp
    linkageType: ''
    returnType: xml_node_t
    signature: "xml_node_t * tnds_to_mo_iter(struct xml_node_ctx *ctx, xml_node_t
      *root,\n\t\t\t\t    xml_node_t *node, const char *uri)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: xml_node_for_each_check
      Src: /src/hostap/src/utils/xml-utils.c:392,1
    - Dst: get_node_text
      Src: /src/hostap/src/utils/xml-utils.c:394,1
    - Dst: xml_node_get_localname
      Src: /src/hostap/src/utils/xml-utils.c:398,1
    - Dst: strcmp
      Src: /src/hostap/src/utils/xml-utils.c:399,1
    - Dst: printf
      Src: /src/hostap/src/utils/xml-utils.c:401,1
    - Dst: xml_node_get_text_free
      Src: /src/hostap/src/utils/xml-utils.c:403,1
    - Dst: add_mo_node
      Src: /src/hostap/src/utils/xml-utils.c:406,1
    - Dst: get_first_child_node
      Src: /src/hostap/src/utils/xml-utils.c:409,1
    - Dst: tnds_to_mo_iter
      Src: /src/hostap/src/utils/xml-utils.c:412,1
    - Dst: add_path
      Src: /src/hostap/src/utils/xml-utils.c:415,1
    - Dst: tnds_to_mo_iter
      Src: /src/hostap/src/utils/xml-utils.c:416,1
    - Dst: os_free
      Src: /src/hostap/src/utils/xml-utils.c:417,1
    - Dst: xml_node_get_text_free
      Src: /src/hostap/src/utils/xml-utils.c:420,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 391
    functionDepth: 5
    functionLinenumber: 391
    functionLinenumberEnd: 421
    functionName: xml_node_for_each_sibling
    functionSourceFile: /src/hostap/src/utils/xml-utils.c
    functionUses: 0
    functionsReached:
    - tnds_to_mo_iter
    - get_first_child_node
    - add_mo_node
    - add_path
    - get_node_text
    - xml_node_get_text_free
    - printf
    - xml_node_for_each_check
    - xml_node_get_localname
    - os_free
    - strcmp
    linkageType: ''
    returnType: void
    signature: void xml_node_for_each_sibling(ctx, node)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xml_node_get_localname
      Src: /src/hostap/src/utils/xml-utils.c:432,1
    - Dst: os_strcmp
      Src: /src/hostap/src/utils/xml-utils.c:433,1
    - Dst: get_first_child_node
      Src: /src/hostap/src/utils/xml-utils.c:436,1
    - Dst: tnds_to_mo_iter
      Src: /src/hostap/src/utils/xml-utils.c:439,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - tnds
    argTypes:
    - struct xml_node_ctx*
    - xml_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 427
    functionDepth: 5
    functionLinenumber: 427
    functionLinenumberEnd: 440
    functionName: tnds_to_mo
    functionSourceFile: /src/hostap/src/utils/xml-utils.c
    functionUses: 1
    functionsReached:
    - tnds_to_mo_iter
    - xml_node_get_localname
    - os_strcmp
    - get_first_child_node
    linkageType: ''
    returnType: xml_node_t
    signature: xml_node_t * tnds_to_mo(struct xml_node_ctx *ctx, xml_node_t *tnds)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: const_time_fill_msb
    functionSourceFile: /src/hostap/src/utils/const_time.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int const_time_fill_msb(unsigned int val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_time_fill_msb
      Src: /src/hostap/src/utils/const_time.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: const_time_is_zero
    functionSourceFile: /src/hostap/src/utils/const_time.h
    functionUses: 3
    functionsReached:
    - const_time_fill_msb
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int const_time_is_zero(unsigned int val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_time_is_zero
      Src: /src/hostap/src/utils/const_time.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: const_time_eq
    functionSourceFile: /src/hostap/src/utils/const_time.h
    functionUses: 6
    functionsReached:
    - const_time_is_zero
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int const_time_eq(unsigned int a, unsigned int b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_time_eq
      Src: /src/hostap/src/utils/const_time.h:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 3
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: const_time_eq_u8
    functionSourceFile: /src/hostap/src/utils/const_time.h
    functionUses: 2
    functionsReached:
    - const_time_eq
    linkageType: ''
    returnType: u8
    signature: u8 const_time_eq_u8(unsigned int a, unsigned int b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_time_is_zero
      Src: /src/hostap/src/utils/const_time.h:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - a
    - b
    - len
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 89
    functionName: const_time_eq_bin
    functionSourceFile: /src/hostap/src/utils/const_time.h
    functionUses: 1
    functionsReached:
    - const_time_is_zero
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int const_time_eq_bin(const void *a, const void *b,\n\t\t\t\t\t
      \    size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mask
    - true_val
    - false_val
    argTypes:
    - unsigned int
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: const_time_select
    functionSourceFile: /src/hostap/src/utils/const_time.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int const_time_select(unsigned int mask,\n\t\t\t\t\t     unsigned
      int true_val,\n\t\t\t\t\t     unsigned int false_val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_time_select
      Src: /src/hostap/src/utils/const_time.h:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mask
    - true_val
    - false_val
    argTypes:
    - unsigned int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 119
    functionName: const_time_select_int
    functionSourceFile: /src/hostap/src/utils/const_time.h
    functionUses: 4
    functionsReached:
    - const_time_select
    linkageType: ''
    returnType: int
    signature: "int const_time_select_int(unsigned int mask, int true_val,\n\t\t\t\t\tint
      false_val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_time_select
      Src: /src/hostap/src/utils/const_time.h:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mask
    - true_val
    - false_val
    argTypes:
    - u8
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: const_time_select_u8
    functionSourceFile: /src/hostap/src/utils/const_time.h
    functionUses: 5
    functionsReached:
    - const_time_select
    linkageType: ''
    returnType: u8
    signature: u8 const_time_select_u8(u8 mask, u8 true_val, u8 false_val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_time_select
      Src: /src/hostap/src/utils/const_time.h:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mask
    - true_val
    - false_val
    argTypes:
    - u8
    - s8
    - s8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 146
    functionName: const_time_select_s8
    functionSourceFile: /src/hostap/src/utils/const_time.h
    functionUses: 1
    functionsReached:
    - const_time_select
    linkageType: ''
    returnType: s8
    signature: s8 const_time_select_s8(u8 mask, s8 true_val, s8 false_val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_time_select_u8
      Src: /src/hostap/src/utils/const_time.h:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 5
    argNames:
    - mask
    - true_val
    - false_val
    - len
    - dst
    argTypes:
    - u8
    - u8*
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 169
    functionName: const_time_select_bin
    functionSourceFile: /src/hostap/src/utils/const_time.h
    functionUses: 6
    functionsReached:
    - const_time_select_u8
    linkageType: ''
    returnType: void
    signature: "void const_time_select_bin(u8 mask, const u8 *true_val,\n\t\t\t\t\t
      const u8 *false_val, size_t len,\n\t\t\t\t\t u8 *dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: const_time_is_zero
      Src: /src/hostap/src/utils/const_time.h:184,1
    - Dst: const_time_select_int
      Src: /src/hostap/src/utils/const_time.h:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - a
    - b
    - len
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 189
    functionName: const_time_memcmp
    functionSourceFile: /src/hostap/src/utils/const_time.h
    functionUses: 4
    functionsReached:
    - const_time_is_zero
    - const_time_select_int
    linkageType: ''
    returnType: int
    signature: int const_time_memcmp(const void *a, const void *b, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xmlFreeNode
      Src: /src/hostap/src/utils/xml_libxml2.c:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - node
    argTypes:
    - struct xml_node_ctx*
    - xml_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: xml_node_free
    functionSourceFile: /src/hostap/src/utils/xml_libxml2.c
    functionUses: 6
    functionsReached:
    - xmlFreeNode
    linkageType: ''
    returnType: void
    signature: void xml_node_free(struct xml_node_ctx *ctx, xml_node_t *node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xmlParseMemory
      Src: /src/hostap/src/utils/xml_libxml2.c:35,1
    - Dst: strlen
      Src: /src/hostap/src/utils/xml_libxml2.c:35,1
    - Dst: xmlDocGetRootElement
      Src: /src/hostap/src/utils/xml_libxml2.c:38,1
    - Dst: xmlCopyNode
      Src: /src/hostap/src/utils/xml_libxml2.c:39,1
    - Dst: xmlFreeDoc
      Src: /src/hostap/src/utils/xml_libxml2.c:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - buf
    argTypes:
    - struct xml_node_ctx*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 43
    functionName: xml_node_from_buf
    functionSourceFile: /src/hostap/src/utils/xml_libxml2.c
    functionUses: 1
    functionsReached:
    - xmlCopyNode
    - xmlFreeDoc
    - xmlParseMemory
    - xmlDocGetRootElement
    - strlen
    linkageType: ''
    returnType: xml_node_t
    signature: xml_node_t * xml_node_from_buf(struct xml_node_ctx *ctx, const char
      *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - node
    argTypes:
    - struct xml_node_ctx*
    - xml_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: xml_node_get_localname
    functionSourceFile: /src/hostap/src/utils/xml_libxml2.c
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char * xml_node_get_localname(struct xml_node_ctx *ctx,\n\t\t\t\t
      \   xml_node_t *node)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: xmlNewDoc
      Src: /src/hostap/src/utils/xml_libxml2.c:61,1
    - Dst: xmlDocCopyNode
      Src: /src/hostap/src/utils/xml_libxml2.c:62,1
    - Dst: xmlDocSetRootElement
      Src: /src/hostap/src/utils/xml_libxml2.c:63,1
    - Dst: xmlDocDumpFormatMemory
      Src: /src/hostap/src/utils/xml_libxml2.c:64,1
    - Dst: xmlFreeDoc
      Src: /src/hostap/src/utils/xml_libxml2.c:65,1
    - Dst: strncmp
      Src: /src/hostap/src/utils/xml_libxml2.c:69,1
    - Dst: strchr
      Src: /src/hostap/src/utils/xml_libxml2.c:70,1
    - Dst: os_strdup
      Src: /src/hostap/src/utils/xml_libxml2.c:77,1
    - Dst: xmlFree
      Src: /src/hostap/src/utils/xml_libxml2.c:80,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 2
    argNames:
    - ctx
    - node
    argTypes:
    - struct xml_node_ctx*
    - xml_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 93
    functionName: xml_node_to_str
    functionSourceFile: /src/hostap/src/utils/xml_libxml2.c
    functionUses: 1
    functionsReached:
    - xmlFreeDoc
    - strncmp
    - xmlNewDoc
    - xmlDocDumpFormatMemory
    - xmlDocCopyNode
    - xmlDocSetRootElement
    - xmlFree
    - strchr
    - os_strdup
    linkageType: ''
    returnType: char
    signature: char * xml_node_to_str(struct xml_node_ctx *ctx, xml_node_t *node)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xmlNewNode
      Src: /src/hostap/src/utils/xml_libxml2.c:103,1
    - Dst: xmlNewNs
      Src: /src/hostap/src/utils/xml_libxml2.c:107,1
    - Dst: xmlSetNs
      Src: /src/hostap/src/utils/xml_libxml2.c:109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - ctx
    - ns_uri
    - ns_prefix
    - ret_ns
    - name
    argTypes:
    - struct xml_node_ctx*
    - char*
    - char*
    - xml_namespace_t**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 116
    functionName: xml_node_create_root
    functionSourceFile: /src/hostap/src/utils/xml_libxml2.c
    functionUses: 2
    functionsReached:
    - xmlNewNs
    - xmlSetNs
    - xmlNewNode
    linkageType: ''
    returnType: xml_node_t
    signature: "xml_node_t * xml_node_create_root(struct xml_node_ctx *ctx, const
      char *ns_uri,\n\t\t\t\t  const char *ns_prefix,\n\t\t\t\t  xml_namespace_t **ret_ns,
      const char *name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xmlNewChild
      Src: /src/hostap/src/utils/xml_libxml2.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ctx
    - parent
    - ns
    - name
    argTypes:
    - struct xml_node_ctx*
    - xml_node_t*
    - xml_namespace_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 126
    functionName: xml_node_create
    functionSourceFile: /src/hostap/src/utils/xml_libxml2.c
    functionUses: 5
    functionsReached:
    - xmlNewChild
    linkageType: ''
    returnType: xml_node_t
    signature: "xml_node_t * xml_node_create(struct xml_node_ctx *ctx, xml_node_t
      *parent,\n\t\t\t     xml_namespace_t *ns, const char *name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xmlNewTextChild
      Src: /src/hostap/src/utils/xml_libxml2.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - ctx
    - parent
    - ns
    - name
    - value
    argTypes:
    - struct xml_node_ctx*
    - xml_node_t*
    - xml_namespace_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 137
    functionName: xml_node_create_text
    functionSourceFile: /src/hostap/src/utils/xml_libxml2.c
    functionUses: 5
    functionsReached:
    - xmlNewTextChild
    linkageType: ''
    returnType: xml_node_t
    signature: "xml_node_t * xml_node_create_text(struct xml_node_ctx *ctx,\n\t\t\t\t
      \ xml_node_t *parent, xml_namespace_t *ns,\n\t\t\t\t  const char *name, const
      char *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xmlNewTextChild
      Src: /src/hostap/src/utils/xml_libxml2.c:147,1
    - Dst: xmlNewNs
      Src: /src/hostap/src/utils/xml_libxml2.c:149,1
    - Dst: xmlSetNs
      Src: /src/hostap/src/utils/xml_libxml2.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - ctx
    - parent
    - ns_uri
    - name
    - value
    argTypes:
    - struct xml_node_ctx*
    - xml_node_t*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 152
    functionName: xml_node_create_text_ns
    functionSourceFile: /src/hostap/src/utils/xml_libxml2.c
    functionUses: 0
    functionsReached:
    - xmlNewNs
    - xmlNewTextChild
    - xmlSetNs
    linkageType: ''
    returnType: xml_node_t
    signature: "xml_node_t * xml_node_create_text_ns(struct xml_node_ctx *ctx,\n\t\t\t\t
      \    xml_node_t *parent, const char *ns_uri,\n\t\t\t\t     const char *name,
      const char *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xmlNodeSetContent
      Src: /src/hostap/src/utils/xml_libxml2.c:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - node
    - value
    argTypes:
    - struct xml_node_ctx*
    - xml_node_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 160
    functionName: xml_node_set_text
    functionSourceFile: /src/hostap/src/utils/xml_libxml2.c
    functionUses: 1
    functionsReached:
    - xmlNodeSetContent
    linkageType: ''
    returnType: void
    signature: "void xml_node_set_text(struct xml_node_ctx *ctx, xml_node_t *node,\n\t\t
      \      const char *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - parent
    argTypes:
    - struct xml_node_ctx*
    - xml_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: xml_node_first_child
    functionSourceFile: /src/hostap/src/utils/xml_libxml2.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: xml_node_t
    signature: "xml_node_t * xml_node_first_child(struct xml_node_ctx *ctx,\n\t\t\t\t
      \ xml_node_t *parent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - node
    argTypes:
    - struct xml_node_ctx*
    - xml_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 174
    functionName: xml_node_next_sibling
    functionSourceFile: /src/hostap/src/utils/xml_libxml2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: xml_node_t
    signature: "xml_node_t * xml_node_next_sibling(struct xml_node_ctx *ctx,\n\t\t\t\t
      \  xml_node_t *node)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - node
    argTypes:
    - struct xml_node_ctx*
    - xml_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 180
    functionName: xml_node_is_element
    functionSourceFile: /src/hostap/src/utils/xml_libxml2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int xml_node_is_element(struct xml_node_ctx *ctx, xml_node_t *node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xmlChildElementCount
      Src: /src/hostap/src/utils/xml_libxml2.c:185,1
    - Dst: xmlNodeGetContent
      Src: /src/hostap/src/utils/xml_libxml2.c:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - node
    argTypes:
    - struct xml_node_ctx*
    - xml_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 188
    functionName: xml_node_get_text
    functionSourceFile: /src/hostap/src/utils/xml_libxml2.c
    functionUses: 29
    functionsReached:
    - xmlChildElementCount
    - xmlNodeGetContent
    linkageType: ''
    returnType: char
    signature: char * xml_node_get_text(struct xml_node_ctx *ctx, xml_node_t *node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xmlFree
      Src: /src/hostap/src/utils/xml_libxml2.c:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - val
    argTypes:
    - struct xml_node_ctx*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 195
    functionName: xml_node_get_text_free
    functionSourceFile: /src/hostap/src/utils/xml_libxml2.c
    functionUses: 32
    functionsReached:
    - xmlFree
    linkageType: ''
    returnType: void
    signature: void xml_node_get_text_free(struct xml_node_ctx *ctx, char *val)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: xml_node_get_text
      Src: /src/hostap/src/utils/xml_libxml2.c:205,1
    - Dst: base64_decode
      Src: /src/hostap/src/utils/xml_libxml2.c:209,1
    - Dst: strlen
      Src: /src/hostap/src/utils/xml_libxml2.c:209,1
    - Dst: xml_node_get_text_free
      Src: /src/hostap/src/utils/xml_libxml2.c:212,1
    - Dst: os_malloc
      Src: /src/hostap/src/utils/xml_libxml2.c:215,1
    - Dst: os_free
      Src: /src/hostap/src/utils/xml_libxml2.c:217,1
    - Dst: os_memcpy
      Src: /src/hostap/src/utils/xml_libxml2.c:220,1
    - Dst: os_free
      Src: /src/hostap/src/utils/xml_libxml2.c:222,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - ctx
    - node
    - ret_len
    argTypes:
    - struct xml_node_ctx*
    - xml_node_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 198
    functionDepth: 2
    functionLinenumber: 198
    functionLinenumberEnd: 224
    functionName: xml_node_get_base64_text
    functionSourceFile: /src/hostap/src/utils/xml_libxml2.c
    functionUses: 1
    functionsReached:
    - xml_node_get_text
    - os_memcpy
    - os_malloc
    - base64_decode
    - os_free
    - strlen
    - xml_node_get_text_free
    linkageType: ''
    returnType: char
    signature: "char * xml_node_get_base64_text(struct xml_node_ctx *ctx, xml_node_t
      *node,\n\t\t\t\tint *ret_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/utils/xml_libxml2.c:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - upper_ctx
    - env
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 240
    functionName: xml_node_init_ctx
    functionSourceFile: /src/hostap/src/utils/xml_libxml2.c
    functionUses: 1
    functionsReached:
    - os_zalloc
    linkageType: ''
    returnType: struct xml_node_ctx
    signature: "struct xml_node_ctx * xml_node_init_ctx(void *upper_ctx,\n\t\t\t\t\tconst
      void *env)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xmlSchemaCleanupTypes
      Src: /src/hostap/src/utils/xml_libxml2.c:245,1
    - Dst: xmlCleanupParser
      Src: /src/hostap/src/utils/xml_libxml2.c:246,1
    - Dst: xmlMemoryDump
      Src: /src/hostap/src/utils/xml_libxml2.c:247,1
    - Dst: os_free
      Src: /src/hostap/src/utils/xml_libxml2.c:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct xml_node_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 249
    functionName: xml_node_deinit_ctx
    functionSourceFile: /src/hostap/src/utils/xml_libxml2.c
    functionUses: 2
    functionsReached:
    - xmlSchemaCleanupTypes
    - os_free
    - xmlCleanupParser
    - xmlMemoryDump
    linkageType: ''
    returnType: void
    signature: void xml_node_deinit_ctx(struct xml_node_ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 16
    functionName: get_unaligned_le16
    functionSourceFile: /src/hostap/src/utils/platform.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: get_unaligned_le16(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 17
    functionName: get_unaligned_le32
    functionSourceFile: /src/hostap/src/utils/platform.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: get_unaligned_le32(p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/utils/edit_readline.c:33,1
    - Dst: os_free
      Src: /src/hostap/src/utils/edit_readline.c:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 36
    functionName: readline_free_completions
    functionSourceFile: /src/hostap/src/utils/edit_readline.c
    functionUses: 0
    functionsReached:
    - os_free
    linkageType: ''
    returnType: void
    signature: void readline_free_completions(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/utils/edit_readline.c:51,1
    - Dst: strncmp
      Src: /src/hostap/src/utils/edit_readline.c:54,1
    - Dst: strdup
      Src: /src/hostap/src/utils/edit_readline.c:55,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - text
    - state
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 60
    functionName: readline_completion_func
    functionSourceFile: /src/hostap/src/utils/edit_readline.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - strncmp
    - strdup
    linkageType: ''
    returnType: char
    signature: char * readline_completion_func(const char *text, int state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: readline_free_completions
      Src: /src/hostap/src/utils/edit_readline.c:65,1
    - Dst: edit_completion_cb
      Src: /src/hostap/src/utils/edit_readline.c:67,1
    - Dst: rl_completion_matches
      Src: /src/hostap/src/utils/edit_readline.c:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: readline_completion
    functionSourceFile: /src/hostap/src/utils/edit_readline.c
    functionUses: 0
    functionsReached:
    - readline_free_completions
    - edit_completion_cb
    - rl_completion_matches
    linkageType: ''
    returnType: char
    signature: char ** readline_completion(const char *text, int start, int end)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rl_callback_read_char
      Src: /src/hostap/src/utils/edit_readline.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sock
    - eloop_ctx
    - sock_ctx
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: edit_read_char
    functionSourceFile: /src/hostap/src/utils/edit_readline.c
    functionUses: 0
    functionsReached:
    - rl_callback_read_char
    linkageType: ''
    returnType: void
    signature: void edit_read_char(int sock, void *eloop_ctx, void *sock_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 89
    functionName: trunc_nl
    functionSourceFile: /src/hostap/src/utils/edit_readline.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void trunc_nl(char *str)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: next_history
      Src: /src/hostap/src/utils/edit_readline.c:96,1
    - Dst: previous_history
      Src: /src/hostap/src/utils/edit_readline.c:98,1
    - Dst: os_strcmp
      Src: /src/hostap/src/utils/edit_readline.c:99,1
    - Dst: add_history
      Src: /src/hostap/src/utils/edit_readline.c:100,1
    - Dst: next_history
      Src: /src/hostap/src/utils/edit_readline.c:101,1
    - Dst: edit_eof_cb
      Src: /src/hostap/src/utils/edit_readline.c:104,1
    - Dst: trunc_nl
      Src: /src/hostap/src/utils/edit_readline.c:107,1
    - Dst: edit_cmd_cb
      Src: /src/hostap/src/utils/edit_readline.c:108,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 109
    functionName: readline_cmd_handler
    functionSourceFile: /src/hostap/src/utils/edit_readline.c
    functionUses: 0
    functionsReached:
    - previous_history
    - edit_eof_cb
    - next_history
    - edit_cmd_cb
    - add_history
    - os_strcmp
    - trunc_nl
    linkageType: ''
    returnType: void
    signature: void readline_cmd_handler(char *cmd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: read_history
      Src: /src/hostap/src/utils/edit_readline.c:124,1
    - Dst: stifle_history
      Src: /src/hostap/src/utils/edit_readline.c:125,1
    - Dst: eloop_register_read_sock
      Src: /src/hostap/src/utils/edit_readline.c:128,1
    - Dst: os_strlen
      Src: /src/hostap/src/utils/edit_readline.c:131,1
    - Dst: os_malloc
      Src: /src/hostap/src/utils/edit_readline.c:132,1
    - Dst: os_snprintf
      Src: /src/hostap/src/utils/edit_readline.c:134,1
    - Dst: rl_callback_handler_install
      Src: /src/hostap/src/utils/edit_readline.c:135,1
    - Dst: os_free
      Src: /src/hostap/src/utils/edit_readline.c:136,1
    - Dst: rl_callback_handler_install
      Src: /src/hostap/src/utils/edit_readline.c:141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 4
    argNames:
    - (*completion_cb)(void *ctx, const char *cmd, int pos)
    - ctx
    - history_file
    - ps
    argTypes:
    - char**
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 144
    functionName: edit_init
    functionSourceFile: /src/hostap/src/utils/edit_readline.c
    functionUses: 3
    functionsReached:
    - read_history
    - os_strlen
    - rl_callback_handler_install
    - eloop_register_read_sock
    - os_malloc
    - stifle_history
    - os_snprintf
    - os_free
    linkageType: ''
    returnType: int
    signature: "int edit_init(void (*cmd_cb)(void *ctx, char *cmd),\n\t      void
      (*eof_cb)(void *ctx),\n\t      char ** (*completion_cb)(void *ctx, const char
      *cmd, int pos),\n\t      void *ctx, const char *history_file, const char *ps)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rl_set_prompt
      Src: /src/hostap/src/utils/edit_readline.c:150,1
    - Dst: rl_replace_line
      Src: /src/hostap/src/utils/edit_readline.c:151,1
    - Dst: rl_redisplay
      Src: /src/hostap/src/utils/edit_readline.c:152,1
    - Dst: rl_callback_handler_remove
      Src: /src/hostap/src/utils/edit_readline.c:153,1
    - Dst: readline_free_completions
      Src: /src/hostap/src/utils/edit_readline.c:154,1
    - Dst: eloop_unregister_read_sock
      Src: /src/hostap/src/utils/edit_readline.c:156,1
    - Dst: history_set_pos
      Src: /src/hostap/src/utils/edit_readline.c:162,1
    - Dst: current_history
      Src: /src/hostap/src/utils/edit_readline.c:163,1
    - Dst: filter_cb
      Src: /src/hostap/src/utils/edit_readline.c:167,1
    - Dst: remove_history
      Src: /src/hostap/src/utils/edit_readline.c:168,1
    - Dst: where_history
      Src: /src/hostap/src/utils/edit_readline.c:168,1
    - Dst: free
      Src: /src/hostap/src/utils/edit_readline.c:170,1
    - Dst: free
      Src: /src/hostap/src/utils/edit_readline.c:171,1
    - Dst: free
      Src: /src/hostap/src/utils/edit_readline.c:172,1
    - Dst: next_history
      Src: /src/hostap/src/utils/edit_readline.c:174,1
    - Dst: next_history
      Src: /src/hostap/src/utils/edit_readline.c:176,1
    - Dst: write_history
      Src: /src/hostap/src/utils/edit_readline.c:178,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - history_file
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 180
    functionName: edit_deinit
    functionSourceFile: /src/hostap/src/utils/edit_readline.c
    functionUses: 3
    functionsReached:
    - history_set_pos
    - eloop_unregister_read_sock
    - readline_free_completions
    - current_history
    - write_history
    - rl_callback_handler_remove
    - remove_history
    - filter_cb
    - free
    - next_history
    - rl_redisplay
    - rl_replace_line
    - where_history
    - rl_set_prompt
    linkageType: ''
    returnType: void
    signature: "void edit_deinit(const char *history_file,\n\t\t int (*filter_cb)(void
      *ctx, const char *cmd))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 185
    functionName: edit_clear_line
    functionSourceFile: /src/hostap/src/utils/edit_readline.c
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void edit_clear_line(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rl_on_new_line
      Src: /src/hostap/src/utils/edit_readline.c:190,1
    - Dst: rl_redisplay
      Src: /src/hostap/src/utils/edit_readline.c:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: edit_redraw
    functionSourceFile: /src/hostap/src/utils/edit_readline.c
    functionUses: 27
    functionsReached:
    - rl_on_new_line
    - rl_redisplay
    linkageType: ''
    returnType: void
    signature: void edit_redraw(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - sec
    - usec
    argTypes:
    - os_time_t
    - os_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: os_sleep
    functionSourceFile: /src/hostap/src/utils/os_none.c
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void os_sleep(os_time_t sec, os_time_t usec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct os_time*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: os_get_time
    functionSourceFile: /src/hostap/src/utils/os_none.c
    functionUses: 31
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int os_get_time(struct os_time *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct os_reltime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: os_get_reltime
    functionSourceFile: /src/hostap/src/utils/os_none.c
    functionUses: 191
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int os_get_reltime(struct os_reltime *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - year
    - month
    - day
    - hour
    - min
    - sec
    - t
    argTypes:
    - int
    - int
    - int
    - int
    - int
    - int
    - os_time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: os_mktime
    functionSourceFile: /src/hostap/src/utils/os_none.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int os_mktime(int year, int month, int day, int hour, int min, int
      sec,\n\t      os_time_t *t)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t
    - tm
    argTypes:
    - os_time_t
    - struct os_tm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: os_gmtime
    functionSourceFile: /src/hostap/src/utils/os_none.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int os_gmtime(os_time_t t, struct os_tm *tm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pid_file
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: os_daemonize
    functionSourceFile: /src/hostap/src/utils/os_none.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int os_daemonize(const char *pid_file)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pid_file
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: os_daemonize_terminate
    functionSourceFile: /src/hostap/src/utils/os_none.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void os_daemonize_terminate(const char *pid_file)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: os_get_random
    functionSourceFile: /src/hostap/src/utils/os_none.c
    functionUses: 74
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int os_get_random(unsigned char *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: os_random
    functionSourceFile: /src/hostap/src/utils/os_none.c
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long os_random(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rel_path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: os_rel2abs_path
    functionSourceFile: /src/hostap/src/utils/os_none.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * os_rel2abs_path(const char *rel_path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: os_program_init
    functionSourceFile: /src/hostap/src/utils/os_none.c
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int os_program_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: os_program_deinit
    functionSourceFile: /src/hostap/src/utils/os_none.c
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void os_program_deinit(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - name
    - value
    - overwrite
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: os_setenv
    functionSourceFile: /src/hostap/src/utils/os_none.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int os_setenv(const char *name, const char *value, int overwrite)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: os_unsetenv
    functionSourceFile: /src/hostap/src/utils/os_none.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int os_unsetenv(const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - len
    argTypes:
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: os_readfile
    functionSourceFile: /src/hostap/src/utils/os_none.c
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * os_readfile(const char *name, size_t *len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: os_fdatasync
    functionSourceFile: /src/hostap/src/utils/os_none.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int os_fdatasync(FILE *stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: os_zalloc
    functionSourceFile: /src/hostap/src/utils/os_none.c
    functionUses: 670
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * os_zalloc(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - n
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: os_memdup
    functionSourceFile: /src/hostap/src/utils/os_none.c
    functionUses: 218
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * os_memdup(const void *src, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: os_malloc
    functionSourceFile: /src/hostap/src/utils/os_none.c
    functionUses: 543
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * os_malloc(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: os_realloc
    functionSourceFile: /src/hostap/src/utils/os_none.c
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * os_realloc(void *ptr, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: os_free
    functionSourceFile: /src/hostap/src/utils/os_none.c
    functionUses: 1856
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void os_free(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dest
    - src
    - n
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: os_memcpy
    functionSourceFile: /src/hostap/src/utils/os_none.c
    functionUses: 1601
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * os_memcpy(void *dest, const void *src, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dest
    - src
    - n
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: os_memmove
    functionSourceFile: /src/hostap/src/utils/os_none.c
    functionUses: 51
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * os_memmove(void *dest, const void *src, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s
    - c
    - n
    argTypes:
    - void*
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: os_memset
    functionSourceFile: /src/hostap/src/utils/os_none.c
    functionUses: 1142
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * os_memset(void *s, int c, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s1
    - s2
    - n
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 162
    functionName: os_memcmp
    functionSourceFile: /src/hostap/src/utils/os_none.c
    functionUses: 430
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int os_memcmp(const void *s1, const void *s2, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 168
    functionName: os_strdup
    functionSourceFile: /src/hostap/src/utils/os_none.c
    functionUses: 243
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * os_strdup(const char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: os_strlen
    functionSourceFile: /src/hostap/src/utils/os_none.c
    functionUses: 534
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t os_strlen(const char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/src/utils/os_none.c:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 184
    functionName: os_strcasecmp
    functionSourceFile: /src/hostap/src/utils/os_none.c
    functionUses: 45
    functionsReached:
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: int os_strcasecmp(const char *s1, const char *s2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_strncmp
      Src: /src/hostap/src/utils/os_none.c:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s1
    - s2
    - n
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 194
    functionName: os_strncasecmp
    functionSourceFile: /src/hostap/src/utils/os_none.c
    functionUses: 28
    functionsReached:
    - os_strncmp
    linkageType: ''
    returnType: int
    signature: int os_strncasecmp(const char *s1, const char *s2, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - c
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 200
    functionName: os_strchr
    functionSourceFile: /src/hostap/src/utils/os_none.c
    functionUses: 263
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * os_strchr(const char *s, int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - c
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 206
    functionName: os_strrchr
    functionSourceFile: /src/hostap/src/utils/os_none.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * os_strrchr(const char *s, int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 212
    functionName: os_strcmp
    functionSourceFile: /src/hostap/src/utils/os_none.c
    functionUses: 337
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int os_strcmp(const char *s1, const char *s2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s1
    - s2
    - n
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 218
    functionName: os_strncmp
    functionSourceFile: /src/hostap/src/utils/os_none.c
    functionUses: 186
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int os_strncmp(const char *s1, const char *s2, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dest
    - src
    - size
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 224
    functionName: os_strlcpy
    functionSourceFile: /src/hostap/src/utils/os_none.c
    functionUses: 217
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t os_strlcpy(char *dest, const char *src, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - b
    - len
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 230
    functionName: os_memcmp_const
    functionSourceFile: /src/hostap/src/utils/os_none.c
    functionUses: 94
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int os_memcmp_const(const void *a, const void *b, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - haystack
    - needle
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 235
    functionName: os_strstr
    functionSourceFile: /src/hostap/src/utils/os_none.c
    functionUses: 157
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * os_strstr(const char *haystack, const char *needle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - str
    - size
    - format
    argTypes:
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 241
    functionName: os_snprintf
    functionSourceFile: /src/hostap/src/utils/os_none.c
    functionUses: 527
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int os_snprintf(char *str, size_t size, const char *format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - program
    - arg
    - wait_completion
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 248
    functionName: os_exec
    functionSourceFile: /src/hostap/src/utils/os_none.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int os_exec(const char *program, const char *arg, int wait_completion)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/src/utils/config.c:17,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - buf
    - buflen
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 24
    functionName: newline_terminated
    functionSourceFile: /src/hostap/src/utils/config.c
    functionUses: 0
    functionsReached:
    - os_strlen
    linkageType: ''
    returnType: int
    signature: int newline_terminated(const char *buf, size_t buflen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fgets
      Src: /src/hostap/src/utils/config.c:30,1
    - Dst: newline_terminated
      Src: /src/hostap/src/utils/config.c:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - stream
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 35
    functionName: skip_line_end
    functionSourceFile: /src/hostap/src/utils/config.c
    functionUses: 0
    functionsReached:
    - newline_terminated
    - fgets
    linkageType: ''
    returnType: void
    signature: void skip_line_end(FILE *stream)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: fgets
      Src: /src/hostap/src/utils/config.c:43,1
    - Dst: newline_terminated
      Src: /src/hostap/src/utils/config.c:46,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/config.c:51,1
    - Dst: skip_line_end
      Src: /src/hostap/src/utils/config.c:53,1
    - Dst: os_strchr
      Src: /src/hostap/src/utils/config.c:70,1
    - Dst: os_strchr
      Src: /src/hostap/src/utils/config.c:72,1
    - Dst: os_strchr
      Src: /src/hostap/src/utils/config.c:75,1
    - Dst: os_strchr
      Src: /src/hostap/src/utils/config.c:80,1
    - Dst: os_strlen
      Src: /src/hostap/src/utils/config.c:86,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 40
    argCount: 5
    argNames:
    - s
    - size
    - stream
    - line
    - _pos
    argTypes:
    - char*
    - int
    - FILE*
    - int*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 105
    functionName: wpa_config_get_line
    functionSourceFile: /src/hostap/src/utils/config.c
    functionUses: 5
    functionsReached:
    - os_strlen
    - wpa_printf
    - skip_line_end
    - newline_terminated
    - os_strchr
    - fgets
    linkageType: ''
    returnType: char
    signature: "char * wpa_config_get_line(char *s, int size, FILE *stream, int *line,\n\t\t\t
      \  char **_pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: wpabuf_size
    functionSourceFile: /src/hostap/src/utils/wpabuf.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t wpabuf_size(const struct wpabuf *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: wpabuf_len
    functionSourceFile: /src/hostap/src/utils/wpabuf.h
    functionUses: 764
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t wpabuf_len(const struct wpabuf *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: wpabuf_tailroom
    functionSourceFile: /src/hostap/src/utils/wpabuf.h
    functionUses: 60
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t wpabuf_tailroom(const struct wpabuf *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_size
      Src: /src/hostap/src/utils/wpabuf.h:83,1
    - Dst: wpabuf_size
      Src: /src/hostap/src/utils/wpabuf.h:83,1
    - Dst: os_memcmp
      Src: /src/hostap/src/utils/wpabuf.h:84,1
    - Dst: wpabuf_size
      Src: /src/hostap/src/utils/wpabuf.h:84,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct wpabuf*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 86
    functionName: wpabuf_cmp
    functionSourceFile: /src/hostap/src/utils/wpabuf.h
    functionUses: 2
    functionsReached:
    - os_memcmp
    - wpabuf_size
    linkageType: ''
    returnType: int
    signature: int wpabuf_cmp(const struct wpabuf *a, const struct wpabuf *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: wpabuf_head
    functionSourceFile: /src/hostap/src/utils/wpabuf.h
    functionUses: 524
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * wpabuf_head(const struct wpabuf *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_head
      Src: /src/hostap/src/utils/wpabuf.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: wpabuf_head_u8
    functionSourceFile: /src/hostap/src/utils/wpabuf.h
    functionUses: 109
    functionsReached:
    - wpabuf_head
    linkageType: ''
    returnType: u8
    signature: u8 * wpabuf_head_u8(const struct wpabuf *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: wpabuf_mhead
    functionSourceFile: /src/hostap/src/utils/wpabuf.h
    functionUses: 48
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * wpabuf_mhead(struct wpabuf *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_mhead
      Src: /src/hostap/src/utils/wpabuf.h:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: wpabuf_mhead_u8
    functionSourceFile: /src/hostap/src/utils/wpabuf.h
    functionUses: 30
    functionsReached:
    - wpabuf_mhead
    linkageType: ''
    returnType: u8
    signature: u8 * wpabuf_mhead_u8(struct wpabuf *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put
      Src: /src/hostap/src/utils/wpabuf.h:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - data
    argTypes:
    - struct wpabuf*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 3
    functionLinenumber: 118
    functionLinenumberEnd: 122
    functionName: wpabuf_put_u8
    functionSourceFile: /src/hostap/src/utils/wpabuf.h
    functionUses: 350
    functionsReached:
    - wpabuf_put
    linkageType: ''
    returnType: void
    signature: void wpabuf_put_u8(struct wpabuf *buf, u8 data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put
      Src: /src/hostap/src/utils/wpabuf.h:126,1
    - Dst: WPA_PUT_LE16
      Src: /src/hostap/src/utils/wpabuf.h:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - data
    argTypes:
    - struct wpabuf*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 3
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: wpabuf_put_le16
    functionSourceFile: /src/hostap/src/utils/wpabuf.h
    functionUses: 145
    functionsReached:
    - wpabuf_put
    - WPA_PUT_LE16
    linkageType: ''
    returnType: void
    signature: void wpabuf_put_le16(struct wpabuf *buf, u16 data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put
      Src: /src/hostap/src/utils/wpabuf.h:132,1
    - Dst: WPA_PUT_LE24
      Src: /src/hostap/src/utils/wpabuf.h:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - data
    argTypes:
    - struct wpabuf*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 3
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: wpabuf_put_le24
    functionSourceFile: /src/hostap/src/utils/wpabuf.h
    functionUses: 1
    functionsReached:
    - WPA_PUT_LE24
    - wpabuf_put
    linkageType: ''
    returnType: void
    signature: void wpabuf_put_le24(struct wpabuf *buf, u32 data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put
      Src: /src/hostap/src/utils/wpabuf.h:138,1
    - Dst: WPA_PUT_LE32
      Src: /src/hostap/src/utils/wpabuf.h:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - data
    argTypes:
    - struct wpabuf*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 136
    functionDepth: 3
    functionLinenumber: 136
    functionLinenumberEnd: 140
    functionName: wpabuf_put_le32
    functionSourceFile: /src/hostap/src/utils/wpabuf.h
    functionUses: 10
    functionsReached:
    - wpabuf_put
    - WPA_PUT_LE32
    linkageType: ''
    returnType: void
    signature: void wpabuf_put_le32(struct wpabuf *buf, u32 data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put
      Src: /src/hostap/src/utils/wpabuf.h:144,1
    - Dst: WPA_PUT_LE64
      Src: /src/hostap/src/utils/wpabuf.h:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - data
    argTypes:
    - struct wpabuf*
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 142
    functionDepth: 3
    functionLinenumber: 142
    functionLinenumberEnd: 146
    functionName: wpabuf_put_le64
    functionSourceFile: /src/hostap/src/utils/wpabuf.h
    functionUses: 3
    functionsReached:
    - wpabuf_put
    - WPA_PUT_LE64
    linkageType: ''
    returnType: void
    signature: void wpabuf_put_le64(struct wpabuf *buf, u64 data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put
      Src: /src/hostap/src/utils/wpabuf.h:150,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/utils/wpabuf.h:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - data
    argTypes:
    - struct wpabuf*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 3
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: wpabuf_put_be16
    functionSourceFile: /src/hostap/src/utils/wpabuf.h
    functionUses: 112
    functionsReached:
    - wpabuf_put
    - WPA_PUT_BE16
    linkageType: ''
    returnType: void
    signature: void wpabuf_put_be16(struct wpabuf *buf, u16 data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put
      Src: /src/hostap/src/utils/wpabuf.h:156,1
    - Dst: WPA_PUT_BE24
      Src: /src/hostap/src/utils/wpabuf.h:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - data
    argTypes:
    - struct wpabuf*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 154
    functionDepth: 3
    functionLinenumber: 154
    functionLinenumberEnd: 158
    functionName: wpabuf_put_be24
    functionSourceFile: /src/hostap/src/utils/wpabuf.h
    functionUses: 28
    functionsReached:
    - WPA_PUT_BE24
    - wpabuf_put
    linkageType: ''
    returnType: void
    signature: void wpabuf_put_be24(struct wpabuf *buf, u32 data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put
      Src: /src/hostap/src/utils/wpabuf.h:162,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/src/utils/wpabuf.h:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - data
    argTypes:
    - struct wpabuf*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 160
    functionDepth: 3
    functionLinenumber: 160
    functionLinenumberEnd: 164
    functionName: wpabuf_put_be32
    functionSourceFile: /src/hostap/src/utils/wpabuf.h
    functionUses: 58
    functionsReached:
    - WPA_PUT_BE32
    - wpabuf_put
    linkageType: ''
    returnType: void
    signature: void wpabuf_put_be32(struct wpabuf *buf, u32 data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put
      Src: /src/hostap/src/utils/wpabuf.h:168,1
    - Dst: WPA_PUT_BE64
      Src: /src/hostap/src/utils/wpabuf.h:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - data
    argTypes:
    - struct wpabuf*
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 166
    functionDepth: 3
    functionLinenumber: 166
    functionLinenumberEnd: 170
    functionName: wpabuf_put_be64
    functionSourceFile: /src/hostap/src/utils/wpabuf.h
    functionUses: 0
    functionsReached:
    - WPA_PUT_BE64
    - wpabuf_put
    linkageType: ''
    returnType: void
    signature: void wpabuf_put_be64(struct wpabuf *buf, u64 data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/utils/wpabuf.h:176,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/utils/wpabuf.h:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - buf
    - data
    - len
    argTypes:
    - struct wpabuf*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 172
    functionDepth: 3
    functionLinenumber: 172
    functionLinenumberEnd: 177
    functionName: wpabuf_put_data
    functionSourceFile: /src/hostap/src/utils/wpabuf.h
    functionUses: 286
    functionsReached:
    - os_memcpy
    - wpabuf_put
    linkageType: ''
    returnType: void
    signature: "void wpabuf_put_data(struct wpabuf *buf, const void *data,\n\t\t\t\t
      \  size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/utils/wpabuf.h:182,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/utils/wpabuf.h:182,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/utils/wpabuf.h:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - struct wpabuf*
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 179
    functionDepth: 4
    functionLinenumber: 179
    functionLinenumberEnd: 183
    functionName: wpabuf_put_buf
    functionSourceFile: /src/hostap/src/utils/wpabuf.h
    functionUses: 139
    functionsReached:
    - wpabuf_len
    - wpabuf_put_data
    - wpabuf_head
    linkageType: ''
    returnType: void
    signature: "void wpabuf_put_buf(struct wpabuf *dst,\n\t\t\t\t  const struct wpabuf
      *src)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - buf
    - data
    - len
    argTypes:
    - struct wpabuf*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 190
    functionName: wpabuf_set
    functionSourceFile: /src/hostap/src/utils/wpabuf.h
    functionUses: 31
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wpabuf_set(struct wpabuf *buf, const void *data, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/utils/wpabuf.h:194,1
    - Dst: os_strlen
      Src: /src/hostap/src/utils/wpabuf.h:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - str
    argTypes:
    - struct wpabuf*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 192
    functionDepth: 4
    functionLinenumber: 192
    functionLinenumberEnd: 195
    functionName: wpabuf_put_str
    functionSourceFile: /src/hostap/src/utils/wpabuf.h
    functionUses: 53
    functionsReached:
    - os_strlen
    - wpabuf_put_data
    linkageType: ''
    returnType: void
    signature: void wpabuf_put_str(struct wpabuf *dst, const char *str)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 56
    functionName: wpa_to_android_level
    functionSourceFile: /src/hostap/src/utils/wpa_debug.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpa_to_android_level(int level)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_get_time
      Src: /src/hostap/src/utils/wpa_debug.c:77,1
    - Dst: fprintf
      Src: /src/hostap/src/utils/wpa_debug.c:80,1
    - Dst: printf
      Src: /src/hostap/src/utils/wpa_debug.c:84,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 86
    functionName: wpa_debug_print_timestamp
    functionSourceFile: /src/hostap/src/utils/wpa_debug.c
    functionUses: 1
    functionsReached:
    - fprintf
    - os_get_time
    - printf
    linkageType: ''
    returnType: void
    signature: void wpa_debug_print_timestamp(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: openlog
      Src: /src/hostap/src/utils/wpa_debug.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: wpa_debug_open_syslog
    functionSourceFile: /src/hostap/src/utils/wpa_debug.c
    functionUses: 2
    functionsReached:
    - openlog
    linkageType: ''
    returnType: void
    signature: void wpa_debug_open_syslog(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: closelog
      Src: /src/hostap/src/utils/wpa_debug.c:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: wpa_debug_close_syslog
    functionSourceFile: /src/hostap/src/utils/wpa_debug.c
    functionUses: 2
    functionsReached:
    - closelog
    linkageType: ''
    returnType: void
    signature: void wpa_debug_close_syslog(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 122
    functionName: syslog_priority
    functionSourceFile: /src/hostap/src/utils/wpa_debug.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int syslog_priority(int level)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/hostap/src/utils/wpa_debug.c:136,1
    - Dst: printf
      Src: /src/hostap/src/utils/wpa_debug.c:138,1
    - Dst: read
      Src: /src/hostap/src/utils/wpa_debug.c:142,1
    - Dst: close
      Src: /src/hostap/src/utils/wpa_debug.c:143,1
    - Dst: printf
      Src: /src/hostap/src/utils/wpa_debug.c:145,1
    - Dst: strtok_r
      Src: /src/hostap/src/utils/wpa_debug.c:150,1
    - Dst: strtok_r
      Src: /src/hostap/src/utils/wpa_debug.c:152,1
    - Dst: strtok_r
      Src: /src/hostap/src/utils/wpa_debug.c:155,1
    - Dst: strtok_r
      Src: /src/hostap/src/utils/wpa_debug.c:156,1
    - Dst: strtok_r
      Src: /src/hostap/src/utils/wpa_debug.c:157,1
    - Dst: os_strcmp
      Src: /src/hostap/src/utils/wpa_debug.c:162,1
    - Dst: os_snprintf
      Src: /src/hostap/src/utils/wpa_debug.c:163,1
    - Dst: os_strcmp
      Src: /src/hostap/src/utils/wpa_debug.c:173,1
    - Dst: os_snprintf
      Src: /src/hostap/src/utils/wpa_debug.c:174,1
    - Dst: printf
      Src: /src/hostap/src/utils/wpa_debug.c:181,1
    - Dst: open
      Src: /src/hostap/src/utils/wpa_debug.c:185,1
    - Dst: printf
      Src: /src/hostap/src/utils/wpa_debug.c:187,1
    - Dst: fdopen
      Src: /src/hostap/src/utils/wpa_debug.c:190,1
    - Dst: close
      Src: /src/hostap/src/utils/wpa_debug.c:192,1
    - Dst: printf
      Src: /src/hostap/src/utils/wpa_debug.c:193,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 198
    functionName: wpa_debug_open_linux_tracing
    functionSourceFile: /src/hostap/src/utils/wpa_debug.c
    functionUses: 2
    functionsReached:
    - open
    - read
    - strtok_r
    - printf
    - os_snprintf
    - close
    - os_strcmp
    - fdopen
    linkageType: ''
    returnType: int
    signature: int wpa_debug_open_linux_tracing(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/hostap/src/utils/wpa_debug.c:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 207
    functionName: wpa_debug_close_linux_tracing
    functionSourceFile: /src/hostap/src/utils/wpa_debug.c
    functionUses: 2
    functionsReached:
    - fclose
    linkageType: ''
    returnType: void
    signature: void wpa_debug_close_linux_tracing(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/hostap/src/utils/wpa_debug.c:229,1
    - Dst: __android_log_vprint
      Src: /src/hostap/src/utils/wpa_debug.c:230,1
    - Dst: wpa_to_android_level
      Src: /src/hostap/src/utils/wpa_debug.c:230,1
    - Dst: va_end
      Src: /src/hostap/src/utils/wpa_debug.c:232,1
    - Dst: va_start
      Src: /src/hostap/src/utils/wpa_debug.c:236,1
    - Dst: vsyslog
      Src: /src/hostap/src/utils/wpa_debug.c:237,1
    - Dst: syslog_priority
      Src: /src/hostap/src/utils/wpa_debug.c:237,1
    - Dst: va_end
      Src: /src/hostap/src/utils/wpa_debug.c:238,1
    - Dst: wpa_debug_print_timestamp
      Src: /src/hostap/src/utils/wpa_debug.c:241,1
    - Dst: va_start
      Src: /src/hostap/src/utils/wpa_debug.c:244,1
    - Dst: vfprintf
      Src: /src/hostap/src/utils/wpa_debug.c:245,1
    - Dst: fprintf
      Src: /src/hostap/src/utils/wpa_debug.c:246,1
    - Dst: va_end
      Src: /src/hostap/src/utils/wpa_debug.c:247,1
    - Dst: va_start
      Src: /src/hostap/src/utils/wpa_debug.c:251,1
    - Dst: vprintf
      Src: /src/hostap/src/utils/wpa_debug.c:252,1
    - Dst: printf
      Src: /src/hostap/src/utils/wpa_debug.c:253,1
    - Dst: va_end
      Src: /src/hostap/src/utils/wpa_debug.c:254,1
    - Dst: va_start
      Src: /src/hostap/src/utils/wpa_debug.c:261,1
    - Dst: fprintf
      Src: /src/hostap/src/utils/wpa_debug.c:262,1
    - Dst: vfprintf
      Src: /src/hostap/src/utils/wpa_debug.c:263,1
    - Dst: fprintf
      Src: /src/hostap/src/utils/wpa_debug.c:264,1
    - Dst: fflush
      Src: /src/hostap/src/utils/wpa_debug.c:265,1
    - Dst: va_end
      Src: /src/hostap/src/utils/wpa_debug.c:266,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 2
    argNames:
    - level
    - fmt
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 269
    functionName: wpa_printf
    functionSourceFile: /src/hostap/src/utils/wpa_debug.c
    functionUses: 5302
    functionsReached:
    - vprintf
    - wpa_debug_print_timestamp
    - fprintf
    - __android_log_vprint
    - va_end
    - syslog_priority
    - printf
    - vfprintf
    - va_start
    - wpa_to_android_level
    - vsyslog
    - fflush
    linkageType: ''
    returnType: void
    signature: void wpa_printf(int level, const char *fmt, ...)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/hostap/src/utils/wpa_debug.c:279,1
    - Dst: fprintf
      Src: /src/hostap/src/utils/wpa_debug.c:283,1
    - Dst: fprintf
      Src: /src/hostap/src/utils/wpa_debug.c:285,1
    - Dst: fprintf
      Src: /src/hostap/src/utils/wpa_debug.c:288,1
    - Dst: fflush
      Src: /src/hostap/src/utils/wpa_debug.c:291,1
    - Dst: os_malloc
      Src: /src/hostap/src/utils/wpa_debug.c:310,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/wpa_debug.c:312,1
    - Dst: os_snprintf
      Src: /src/hostap/src/utils/wpa_debug.c:318,1
    - Dst: __android_log_print
      Src: /src/hostap/src/utils/wpa_debug.c:326,1
    - Dst: wpa_to_android_level
      Src: /src/hostap/src/utils/wpa_debug.c:326,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/utils/wpa_debug.c:331,1
    - Dst: os_malloc
      Src: /src/hostap/src/utils/wpa_debug.c:345,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/wpa_debug.c:347,1
    - Dst: os_snprintf
      Src: /src/hostap/src/utils/wpa_debug.c:353,1
    - Dst: syslog
      Src: /src/hostap/src/utils/wpa_debug.c:361,1
    - Dst: syslog_priority
      Src: /src/hostap/src/utils/wpa_debug.c:361,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/utils/wpa_debug.c:363,1
    - Dst: wpa_debug_print_timestamp
      Src: /src/hostap/src/utils/wpa_debug.c:368,1
    - Dst: fprintf
      Src: /src/hostap/src/utils/wpa_debug.c:371,1
    - Dst: fprintf
      Src: /src/hostap/src/utils/wpa_debug.c:374,1
    - Dst: fprintf
      Src: /src/hostap/src/utils/wpa_debug.c:377,1
    - Dst: fprintf
      Src: /src/hostap/src/utils/wpa_debug.c:379,1
    - Dst: fprintf
      Src: /src/hostap/src/utils/wpa_debug.c:381,1
    - Dst: printf
      Src: /src/hostap/src/utils/wpa_debug.c:385,1
    - Dst: printf
      Src: /src/hostap/src/utils/wpa_debug.c:387,1
    - Dst: printf
      Src: /src/hostap/src/utils/wpa_debug.c:390,1
    - Dst: printf
      Src: /src/hostap/src/utils/wpa_debug.c:392,1
    - Dst: printf
      Src: /src/hostap/src/utils/wpa_debug.c:394,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 91
    argCount: 6
    argNames:
    - level
    - title
    - buf
    - len
    - show
    - only_syslog
    argTypes:
    - int
    - char*
    - u8*
    - size_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 272
    functionDepth: 2
    functionLinenumber: 272
    functionLinenumberEnd: 397
    functionName: _wpa_hexdump
    functionSourceFile: /src/hostap/src/utils/wpa_debug.c
    functionUses: 0
    functionsReached:
    - wpa_debug_print_timestamp
    - wpa_printf
    - fprintf
    - syslog
    - os_malloc
    - printf
    - os_snprintf
    - syslog_priority
    - wpa_to_android_level
    - __android_log_print
    - fflush
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: "void _wpa_hexdump(int level, const char *title, const u8 *buf,\n\t\t\t
      size_t len, int show, int only_syslog)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _wpa_hexdump
      Src: /src/hostap/src/utils/wpa_debug.c:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - level
    - title
    - buf
    - len
    argTypes:
    - int
    - char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 399
    functionDepth: 3
    functionLinenumber: 399
    functionLinenumberEnd: 402
    functionName: wpa_hexdump
    functionSourceFile: /src/hostap/src/utils/wpa_debug.c
    functionUses: 756
    functionsReached:
    - _wpa_hexdump
    linkageType: ''
    returnType: void
    signature: void wpa_hexdump(int level, const char *title, const void *buf, size_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _wpa_hexdump
      Src: /src/hostap/src/utils/wpa_debug.c:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - level
    - title
    - buf
    - len
    argTypes:
    - int
    - char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 405
    functionDepth: 3
    functionLinenumber: 405
    functionLinenumberEnd: 408
    functionName: wpa_hexdump_key
    functionSourceFile: /src/hostap/src/utils/wpa_debug.c
    functionUses: 310
    functionsReached:
    - _wpa_hexdump
    linkageType: ''
    returnType: void
    signature: void wpa_hexdump_key(int level, const char *title, const void *buf,
      size_t len)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/hostap/src/utils/wpa_debug.c:420,1
    - Dst: fprintf
      Src: /src/hostap/src/utils/wpa_debug.c:424,1
    - Dst: fprintf
      Src: /src/hostap/src/utils/wpa_debug.c:426,1
    - Dst: fprintf
      Src: /src/hostap/src/utils/wpa_debug.c:430,1
    - Dst: fflush
      Src: /src/hostap/src/utils/wpa_debug.c:433,1
    - Dst: _wpa_hexdump
      Src: /src/hostap/src/utils/wpa_debug.c:440,1
    - Dst: _wpa_hexdump
      Src: /src/hostap/src/utils/wpa_debug.c:444,1
    - Dst: wpa_debug_print_timestamp
      Src: /src/hostap/src/utils/wpa_debug.c:446,1
    - Dst: fprintf
      Src: /src/hostap/src/utils/wpa_debug.c:450,1
    - Dst: fprintf
      Src: /src/hostap/src/utils/wpa_debug.c:456,1
    - Dst: fprintf
      Src: /src/hostap/src/utils/wpa_debug.c:461,1
    - Dst: fprintf
      Src: /src/hostap/src/utils/wpa_debug.c:465,1
    - Dst: fprintf
      Src: /src/hostap/src/utils/wpa_debug.c:467,1
    - Dst: fprintf
      Src: /src/hostap/src/utils/wpa_debug.c:469,1
    - Dst: fprintf
      Src: /src/hostap/src/utils/wpa_debug.c:470,1
    - Dst: isprint
      Src: /src/hostap/src/utils/wpa_debug.c:472,1
    - Dst: fprintf
      Src: /src/hostap/src/utils/wpa_debug.c:473,1
    - Dst: fprintf
      Src: /src/hostap/src/utils/wpa_debug.c:475,1
    - Dst: fprintf
      Src: /src/hostap/src/utils/wpa_debug.c:478,1
    - Dst: fprintf
      Src: /src/hostap/src/utils/wpa_debug.c:479,1
    - Dst: printf
      Src: /src/hostap/src/utils/wpa_debug.c:488,1
    - Dst: printf
      Src: /src/hostap/src/utils/wpa_debug.c:493,1
    - Dst: printf
      Src: /src/hostap/src/utils/wpa_debug.c:497,1
    - Dst: printf
      Src: /src/hostap/src/utils/wpa_debug.c:501,1
    - Dst: printf
      Src: /src/hostap/src/utils/wpa_debug.c:503,1
    - Dst: printf
      Src: /src/hostap/src/utils/wpa_debug.c:505,1
    - Dst: printf
      Src: /src/hostap/src/utils/wpa_debug.c:506,1
    - Dst: isprint
      Src: /src/hostap/src/utils/wpa_debug.c:508,1
    - Dst: printf
      Src: /src/hostap/src/utils/wpa_debug.c:509,1
    - Dst: printf
      Src: /src/hostap/src/utils/wpa_debug.c:511,1
    - Dst: printf
      Src: /src/hostap/src/utils/wpa_debug.c:514,1
    - Dst: printf
      Src: /src/hostap/src/utils/wpa_debug.c:515,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 85
    argCount: 5
    argNames:
    - level
    - title
    - buf
    - len
    - show
    argTypes:
    - int
    - char*
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 411
    functionDepth: 3
    functionLinenumber: 411
    functionLinenumberEnd: 521
    functionName: _wpa_hexdump_ascii
    functionSourceFile: /src/hostap/src/utils/wpa_debug.c
    functionUses: 0
    functionsReached:
    - wpa_debug_print_timestamp
    - fprintf
    - isprint
    - _wpa_hexdump
    - printf
    - fflush
    linkageType: ''
    returnType: void
    signature: "void _wpa_hexdump_ascii(int level, const char *title, const void *buf,\n\t\t\t
      \      size_t len, int show)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _wpa_hexdump_ascii
      Src: /src/hostap/src/utils/wpa_debug.c:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - level
    - title
    - buf
    - len
    argTypes:
    - int
    - char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 524
    functionDepth: 4
    functionLinenumber: 524
    functionLinenumberEnd: 528
    functionName: wpa_hexdump_ascii
    functionSourceFile: /src/hostap/src/utils/wpa_debug.c
    functionUses: 183
    functionsReached:
    - _wpa_hexdump_ascii
    linkageType: ''
    returnType: void
    signature: "void wpa_hexdump_ascii(int level, const char *title, const void *buf,\n\t\t
      \      size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _wpa_hexdump_ascii
      Src: /src/hostap/src/utils/wpa_debug.c:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - level
    - title
    - buf
    - len
    argTypes:
    - int
    - char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 531
    functionDepth: 4
    functionLinenumber: 531
    functionLinenumberEnd: 535
    functionName: wpa_hexdump_ascii_key
    functionSourceFile: /src/hostap/src/utils/wpa_debug.c
    functionUses: 37
    functionsReached:
    - _wpa_hexdump_ascii
    linkageType: ''
    returnType: void
    signature: "void wpa_hexdump_ascii_key(int level, const char *title, const void
      *buf,\n\t\t\t   size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_strdup
      Src: /src/hostap/src/utils/wpa_debug.c:551,1
    - Dst: wpa_debug_close_file
      Src: /src/hostap/src/utils/wpa_debug.c:555,1
    - Dst: wpa_debug_open_file
      Src: /src/hostap/src/utils/wpa_debug.c:556,1
    - Dst: os_free
      Src: /src/hostap/src/utils/wpa_debug.c:557,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 562
    functionName: wpa_debug_reopen_file
    functionSourceFile: /src/hostap/src/utils/wpa_debug.c
    functionUses: 4
    functionsReached:
    - os_free
    - wpa_debug_open_file
    - wpa_debug_close_file
    - os_strdup
    linkageType: ''
    returnType: int
    signature: int wpa_debug_reopen_file(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_strcmp
      Src: /src/hostap/src/utils/wpa_debug.c:573,1
    - Dst: os_free
      Src: /src/hostap/src/utils/wpa_debug.c:575,1
    - Dst: os_strdup
      Src: /src/hostap/src/utils/wpa_debug.c:576,1
    - Dst: open
      Src: /src/hostap/src/utils/wpa_debug.c:579,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/wpa_debug.c:582,1
    - Dst: fcntl
      Src: /src/hostap/src/utils/wpa_debug.c:589,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/wpa_debug.c:590,1
    - Dst: strerror
      Src: /src/hostap/src/utils/wpa_debug.c:592,1
    - Dst: fdopen
      Src: /src/hostap/src/utils/wpa_debug.c:596,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/wpa_debug.c:598,1
    - Dst: close
      Src: /src/hostap/src/utils/wpa_debug.c:600,1
    - Dst: setvbuf
      Src: /src/hostap/src/utils/wpa_debug.c:604,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 610
    functionName: wpa_debug_open_file
    functionSourceFile: /src/hostap/src/utils/wpa_debug.c
    functionUses: 5
    functionsReached:
    - os_strdup
    - fdopen
    - wpa_printf
    - open
    - strerror
    - setvbuf
    - close
    - os_free
    - os_strcmp
    - fcntl
    linkageType: ''
    returnType: int
    signature: int wpa_debug_open_file(const char *path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/hostap/src/utils/wpa_debug.c:618,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 621
    functionName: wpa_debug_stop_log
    functionSourceFile: /src/hostap/src/utils/wpa_debug.c
    functionUses: 0
    functionsReached:
    - fclose
    linkageType: ''
    returnType: void
    signature: void wpa_debug_stop_log(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_debug_stop_log
      Src: /src/hostap/src/utils/wpa_debug.c:627,1
    - Dst: os_free
      Src: /src/hostap/src/utils/wpa_debug.c:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 631
    functionName: wpa_debug_close_file
    functionSourceFile: /src/hostap/src/utils/wpa_debug.c
    functionUses: 5
    functionsReached:
    - os_free
    - wpa_debug_stop_log
    linkageType: ''
    returnType: void
    signature: void wpa_debug_close_file(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setvbuf
      Src: /src/hostap/src/utils/wpa_debug.c:637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 639
    functionName: wpa_debug_setup_stdout
    functionSourceFile: /src/hostap/src/utils/wpa_debug.c
    functionUses: 2
    functionsReached:
    - setvbuf
    linkageType: ''
    returnType: void
    signature: void wpa_debug_setup_stdout(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - func
    argTypes:
    - wpa_msg_cb_func
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 650
    functionName: wpa_msg_register_cb
    functionSourceFile: /src/hostap/src/utils/wpa_debug.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wpa_msg_register_cb(wpa_msg_cb_func func)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - func
    argTypes:
    - wpa_msg_get_ifname_func
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 658
    functionName: wpa_msg_register_ifname_cb
    functionSourceFile: /src/hostap/src/utils/wpa_debug.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wpa_msg_register_ifname_cb(wpa_msg_get_ifname_func func)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/hostap/src/utils/wpa_debug.c:669,1
    - Dst: vsnprintf
      Src: /src/hostap/src/utils/wpa_debug.c:670,1
    - Dst: va_end
      Src: /src/hostap/src/utils/wpa_debug.c:671,1
    - Dst: os_malloc
      Src: /src/hostap/src/utils/wpa_debug.c:673,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/wpa_debug.c:675,1
    - Dst: va_start
      Src: /src/hostap/src/utils/wpa_debug.c:679,1
    - Dst: wpa_msg_ifname_cb
      Src: /src/hostap/src/utils/wpa_debug.c:682,1
    - Dst: os_snprintf
      Src: /src/hostap/src/utils/wpa_debug.c:684,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/utils/wpa_debug.c:686,1
    - Dst: vsnprintf
      Src: /src/hostap/src/utils/wpa_debug.c:690,1
    - Dst: va_end
      Src: /src/hostap/src/utils/wpa_debug.c:691,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/wpa_debug.c:692,1
    - Dst: wpa_msg_cb
      Src: /src/hostap/src/utils/wpa_debug.c:694,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/utils/wpa_debug.c:695,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - ctx
    - level
    - fmt
    argTypes:
    - void*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 661
    functionDepth: 2
    functionLinenumber: 661
    functionLinenumberEnd: 696
    functionName: wpa_msg
    functionSourceFile: /src/hostap/src/utils/wpa_debug.c
    functionUses: 470
    functionsReached:
    - wpa_printf
    - wpa_msg_ifname_cb
    - os_malloc
    - vsnprintf
    - va_end
    - os_snprintf
    - bin_clear_free
    - wpa_msg_cb
    - va_start
    - os_snprintf_error
    linkageType: ''
    returnType: void
    signature: void wpa_msg(void *ctx, int level, const char *fmt, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/hostap/src/utils/wpa_debug.c:709,1
    - Dst: vsnprintf
      Src: /src/hostap/src/utils/wpa_debug.c:710,1
    - Dst: va_end
      Src: /src/hostap/src/utils/wpa_debug.c:711,1
    - Dst: os_malloc
      Src: /src/hostap/src/utils/wpa_debug.c:713,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/wpa_debug.c:715,1
    - Dst: va_start
      Src: /src/hostap/src/utils/wpa_debug.c:719,1
    - Dst: vsnprintf
      Src: /src/hostap/src/utils/wpa_debug.c:720,1
    - Dst: va_end
      Src: /src/hostap/src/utils/wpa_debug.c:721,1
    - Dst: wpa_msg_cb
      Src: /src/hostap/src/utils/wpa_debug.c:722,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/utils/wpa_debug.c:723,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - ctx
    - level
    - fmt
    argTypes:
    - void*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 699
    functionDepth: 2
    functionLinenumber: 699
    functionLinenumberEnd: 724
    functionName: wpa_msg_ctrl
    functionSourceFile: /src/hostap/src/utils/wpa_debug.c
    functionUses: 24
    functionsReached:
    - wpa_printf
    - os_malloc
    - vsnprintf
    - va_end
    - wpa_msg_cb
    - va_start
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: void wpa_msg_ctrl(void *ctx, int level, const char *fmt, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/hostap/src/utils/wpa_debug.c:734,1
    - Dst: vsnprintf
      Src: /src/hostap/src/utils/wpa_debug.c:735,1
    - Dst: va_end
      Src: /src/hostap/src/utils/wpa_debug.c:736,1
    - Dst: os_malloc
      Src: /src/hostap/src/utils/wpa_debug.c:738,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/wpa_debug.c:740,1
    - Dst: va_start
      Src: /src/hostap/src/utils/wpa_debug.c:744,1
    - Dst: vsnprintf
      Src: /src/hostap/src/utils/wpa_debug.c:745,1
    - Dst: va_end
      Src: /src/hostap/src/utils/wpa_debug.c:746,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/wpa_debug.c:747,1
    - Dst: wpa_msg_cb
      Src: /src/hostap/src/utils/wpa_debug.c:749,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/utils/wpa_debug.c:750,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - ctx
    - level
    - fmt
    argTypes:
    - void*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 727
    functionDepth: 2
    functionLinenumber: 727
    functionLinenumberEnd: 751
    functionName: wpa_msg_global
    functionSourceFile: /src/hostap/src/utils/wpa_debug.c
    functionUses: 51
    functionsReached:
    - wpa_printf
    - os_malloc
    - vsnprintf
    - va_end
    - wpa_msg_cb
    - va_start
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: void wpa_msg_global(void *ctx, int level, const char *fmt, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/hostap/src/utils/wpa_debug.c:764,1
    - Dst: vsnprintf
      Src: /src/hostap/src/utils/wpa_debug.c:765,1
    - Dst: va_end
      Src: /src/hostap/src/utils/wpa_debug.c:766,1
    - Dst: os_malloc
      Src: /src/hostap/src/utils/wpa_debug.c:768,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/wpa_debug.c:770,1
    - Dst: va_start
      Src: /src/hostap/src/utils/wpa_debug.c:774,1
    - Dst: vsnprintf
      Src: /src/hostap/src/utils/wpa_debug.c:775,1
    - Dst: va_end
      Src: /src/hostap/src/utils/wpa_debug.c:776,1
    - Dst: wpa_msg_cb
      Src: /src/hostap/src/utils/wpa_debug.c:777,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/utils/wpa_debug.c:778,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - ctx
    - level
    - fmt
    argTypes:
    - void*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 754
    functionDepth: 2
    functionLinenumber: 754
    functionLinenumberEnd: 779
    functionName: wpa_msg_global_ctrl
    functionSourceFile: /src/hostap/src/utils/wpa_debug.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - os_malloc
    - vsnprintf
    - va_end
    - wpa_msg_cb
    - va_start
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: void wpa_msg_global_ctrl(void *ctx, int level, const char *fmt, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/hostap/src/utils/wpa_debug.c:789,1
    - Dst: vsnprintf
      Src: /src/hostap/src/utils/wpa_debug.c:790,1
    - Dst: va_end
      Src: /src/hostap/src/utils/wpa_debug.c:791,1
    - Dst: os_malloc
      Src: /src/hostap/src/utils/wpa_debug.c:793,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/wpa_debug.c:795,1
    - Dst: va_start
      Src: /src/hostap/src/utils/wpa_debug.c:799,1
    - Dst: vsnprintf
      Src: /src/hostap/src/utils/wpa_debug.c:800,1
    - Dst: va_end
      Src: /src/hostap/src/utils/wpa_debug.c:801,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/wpa_debug.c:802,1
    - Dst: wpa_msg_cb
      Src: /src/hostap/src/utils/wpa_debug.c:804,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/utils/wpa_debug.c:805,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - ctx
    - level
    - fmt
    argTypes:
    - void*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 782
    functionDepth: 2
    functionLinenumber: 782
    functionLinenumberEnd: 806
    functionName: wpa_msg_no_global
    functionSourceFile: /src/hostap/src/utils/wpa_debug.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - os_malloc
    - vsnprintf
    - va_end
    - wpa_msg_cb
    - va_start
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: void wpa_msg_no_global(void *ctx, int level, const char *fmt, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/hostap/src/utils/wpa_debug.c:816,1
    - Dst: vsnprintf
      Src: /src/hostap/src/utils/wpa_debug.c:817,1
    - Dst: va_end
      Src: /src/hostap/src/utils/wpa_debug.c:818,1
    - Dst: os_malloc
      Src: /src/hostap/src/utils/wpa_debug.c:820,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/wpa_debug.c:822,1
    - Dst: va_start
      Src: /src/hostap/src/utils/wpa_debug.c:826,1
    - Dst: vsnprintf
      Src: /src/hostap/src/utils/wpa_debug.c:827,1
    - Dst: va_end
      Src: /src/hostap/src/utils/wpa_debug.c:828,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/wpa_debug.c:829,1
    - Dst: wpa_msg_cb
      Src: /src/hostap/src/utils/wpa_debug.c:831,1
    - Dst: os_free
      Src: /src/hostap/src/utils/wpa_debug.c:832,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - ctx
    - level
    - fmt
    argTypes:
    - void*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 833
    functionName: wpa_msg_global_only
    functionSourceFile: /src/hostap/src/utils/wpa_debug.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - os_malloc
    - vsnprintf
    - va_end
    - wpa_msg_cb
    - va_start
    - os_free
    linkageType: ''
    returnType: void
    signature: void wpa_msg_global_only(void *ctx, int level, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - func
    argTypes:
    - hostapd_logger_cb_func
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 841
    functionDepth: 0
    functionLinenumber: 841
    functionLinenumberEnd: 844
    functionName: hostapd_logger_register_cb
    functionSourceFile: /src/hostap/src/utils/wpa_debug.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void hostapd_logger_register_cb(hostapd_logger_cb_func func)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/hostap/src/utils/wpa_debug.c:855,1
    - Dst: vsnprintf
      Src: /src/hostap/src/utils/wpa_debug.c:856,1
    - Dst: va_end
      Src: /src/hostap/src/utils/wpa_debug.c:857,1
    - Dst: os_malloc
      Src: /src/hostap/src/utils/wpa_debug.c:859,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/wpa_debug.c:861,1
    - Dst: va_start
      Src: /src/hostap/src/utils/wpa_debug.c:865,1
    - Dst: vsnprintf
      Src: /src/hostap/src/utils/wpa_debug.c:866,1
    - Dst: va_end
      Src: /src/hostap/src/utils/wpa_debug.c:867,1
    - Dst: hostapd_logger_cb
      Src: /src/hostap/src/utils/wpa_debug.c:869,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/wpa_debug.c:871,1
    - Dst: MAC2STR
      Src: /src/hostap/src/utils/wpa_debug.c:872,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/wpa_debug.c:874,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/utils/wpa_debug.c:875,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 5
    argNames:
    - ctx
    - addr
    - module
    - level
    - fmt
    argTypes:
    - void*
    - u8*
    - unsigned int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 847
    functionDepth: 2
    functionLinenumber: 847
    functionLinenumberEnd: 876
    functionName: hostapd_logger
    functionSourceFile: /src/hostap/src/utils/wpa_debug.c
    functionUses: 78
    functionsReached:
    - wpa_printf
    - os_malloc
    - vsnprintf
    - va_end
    - MAC2STR
    - hostapd_logger_cb
    - va_start
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: "void hostapd_logger(void *ctx, const u8 *addr, unsigned int module,
      int level,\n\t\t    const char *fmt, ...)"
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 880
    functionDepth: 0
    functionLinenumber: 880
    functionLinenumberEnd: 898
    functionName: debug_level_str
    functionSourceFile: /src/hostap/src/utils/wpa_debug.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * debug_level_str(int level)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_strcasecmp
      Src: /src/hostap/src/utils/wpa_debug.c:903,1
    - Dst: os_strcasecmp
      Src: /src/hostap/src/utils/wpa_debug.c:905,1
    - Dst: os_strcasecmp
      Src: /src/hostap/src/utils/wpa_debug.c:907,1
    - Dst: os_strcasecmp
      Src: /src/hostap/src/utils/wpa_debug.c:909,1
    - Dst: os_strcasecmp
      Src: /src/hostap/src/utils/wpa_debug.c:911,1
    - Dst: os_strcasecmp
      Src: /src/hostap/src/utils/wpa_debug.c:913,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 916
    functionName: str_to_debug_level
    functionSourceFile: /src/hostap/src/utils/wpa_debug.c
    functionUses: 2
    functionsReached:
    - os_strcasecmp
    linkageType: ''
    returnType: int
    signature: int str_to_debug_level(const char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - b
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: ext_password_init
    functionSourceFile: /src/hostap/src/utils/ext_password.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ext_password_init(b, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: ext_password_deinit
    functionSourceFile: /src/hostap/src/utils/ext_password.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ext_password_deinit(d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - d
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: ext_password_get
    functionSourceFile: /src/hostap/src/utils/ext_password.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ext_password_get(d, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: ext_password_free
    functionSourceFile: /src/hostap/src/utils/ext_password.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ext_password_free(p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Sleep
      Src: /src/hostap/src/utils/os_win32.c:20,1
    - Dst: Sleep
      Src: /src/hostap/src/utils/os_win32.c:22,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - sec
    - usec
    argTypes:
    - os_time_t
    - os_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 23
    functionName: os_sleep
    functionSourceFile: /src/hostap/src/utils/os_win32.c
    functionUses: 15
    functionsReached:
    - Sleep
    linkageType: ''
    returnType: void
    signature: void os_sleep(os_time_t sec, os_time_t usec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSystemTime
      Src: /src/hostap/src/utils/os_win32.c:36,1
    - Dst: SystemTimeToFileTime
      Src: /src/hostap/src/utils/os_win32.c:37,1
    - Dst: GetSystemTimeAsFileTime
      Src: /src/hostap/src/utils/os_win32.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct os_time*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 48
    functionName: os_get_time
    functionSourceFile: /src/hostap/src/utils/os_win32.c
    functionUses: 32
    functionsReached:
    - GetSystemTime
    - SystemTimeToFileTime
    - GetSystemTimeAsFileTime
    linkageType: ''
    returnType: int
    signature: int os_get_time(struct os_time *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_get_time
      Src: /src/hostap/src/utils/os_win32.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct os_reltime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 59
    functionName: os_get_reltime
    functionSourceFile: /src/hostap/src/utils/os_win32.c
    functionUses: 191
    functionsReached:
    - os_get_time
    linkageType: ''
    returnType: int
    signature: int os_get_reltime(struct os_reltime *t)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/hostap/src/utils/os_win32.c:74,1
    - Dst: mktime
      Src: /src/hostap/src/utils/os_win32.c:82,1
    - Dst: localtime
      Src: /src/hostap/src/utils/os_win32.c:85,1
    - Dst: mktime
      Src: /src/hostap/src/utils/os_win32.c:87,1
    - Dst: gmtime
      Src: /src/hostap/src/utils/os_win32.c:88,1
    - Dst: mktime
      Src: /src/hostap/src/utils/os_win32.c:90,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 7
    argNames:
    - year
    - month
    - day
    - hour
    - min
    - sec
    - t
    argTypes:
    - int
    - int
    - int
    - int
    - int
    - int
    - os_time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 99
    functionName: os_mktime
    functionSourceFile: /src/hostap/src/utils/os_win32.c
    functionUses: 4
    functionsReached:
    - mktime
    - gmtime
    - localtime
    - memset
    linkageType: ''
    returnType: int
    signature: "int os_mktime(int year, int month, int day, int hour, int min, int
      sec,\n\t      os_time_t *t)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gmtime
      Src: /src/hostap/src/utils/os_win32.c:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - t
    - tm
    argTypes:
    - os_time_t
    - struct os_tm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 117
    functionName: os_gmtime
    functionSourceFile: /src/hostap/src/utils/os_win32.c
    functionUses: 1
    functionsReached:
    - gmtime
    linkageType: ''
    returnType: int
    signature: int os_gmtime(os_time_t t, struct os_tm *tm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pid_file
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: os_daemonize
    functionSourceFile: /src/hostap/src/utils/os_win32.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int os_daemonize(const char *pid_file)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pid_file
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 129
    functionName: os_daemonize_terminate
    functionSourceFile: /src/hostap/src/utils/os_win32.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void os_daemonize_terminate(const char *pid_file)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CryptAcquireContext
      Src: /src/hostap/src/utils/os_win32.c:137,1
    - Dst: CryptGenRandom
      Src: /src/hostap/src/utils/os_win32.c:141,1
    - Dst: CryptReleaseContext
      Src: /src/hostap/src/utils/os_win32.c:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 145
    functionName: os_get_random
    functionSourceFile: /src/hostap/src/utils/os_win32.c
    functionUses: 74
    functionsReached:
    - CryptGenRandom
    - CryptReleaseContext
    - CryptAcquireContext
    linkageType: ''
    returnType: int
    signature: int os_get_random(unsigned char *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/hostap/src/utils/os_win32.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: os_random
    functionSourceFile: /src/hostap/src/utils/os_win32.c
    functionUses: 18
    functionsReached:
    - rand
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long os_random(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _strdup
      Src: /src/hostap/src/utils/os_win32.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rel_path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: os_rel2abs_path
    functionSourceFile: /src/hostap/src/utils/os_win32.c
    functionUses: 4
    functionsReached:
    - _strdup
    linkageType: ''
    returnType: char
    signature: char * os_rel2abs_path(const char *rel_path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WSAStartup
      Src: /src/hostap/src/utils/os_win32.c:164,1
    - Dst: MAKEWORD
      Src: /src/hostap/src/utils/os_win32.c:164,1
    - Dst: printf
      Src: /src/hostap/src/utils/os_win32.c:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 170
    functionName: os_program_init
    functionSourceFile: /src/hostap/src/utils/os_win32.c
    functionUses: 27
    functionsReached:
    - WSAStartup
    - MAKEWORD
    - printf
    linkageType: ''
    returnType: int
    signature: int os_program_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WSACleanup
      Src: /src/hostap/src/utils/os_win32.c:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 178
    functionName: os_program_deinit
    functionSourceFile: /src/hostap/src/utils/os_win32.c
    functionUses: 27
    functionsReached:
    - WSACleanup
    linkageType: ''
    returnType: void
    signature: void os_program_deinit(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - name
    - value
    - overwrite
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 184
    functionName: os_setenv
    functionSourceFile: /src/hostap/src/utils/os_win32.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int os_setenv(const char *name, const char *value, int overwrite)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: os_unsetenv
    functionSourceFile: /src/hostap/src/utils/os_win32.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int os_unsetenv(const char *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/hostap/src/utils/os_win32.c:198,1
    - Dst: fseek
      Src: /src/hostap/src/utils/os_win32.c:202,1
    - Dst: ftell
      Src: /src/hostap/src/utils/os_win32.c:203,1
    - Dst: fseek
      Src: /src/hostap/src/utils/os_win32.c:204,1
    - Dst: malloc
      Src: /src/hostap/src/utils/os_win32.c:206,1
    - Dst: fclose
      Src: /src/hostap/src/utils/os_win32.c:208,1
    - Dst: fread
      Src: /src/hostap/src/utils/os_win32.c:212,1
    - Dst: fclose
      Src: /src/hostap/src/utils/os_win32.c:213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - name
    - len
    argTypes:
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 216
    functionName: os_readfile
    functionSourceFile: /src/hostap/src/utils/os_win32.c
    functionUses: 18
    functionsReached:
    - fseek
    - malloc
    - fclose
    - fread
    - ftell
    - fopen
    linkageType: ''
    returnType: char
    signature: char * os_readfile(const char *name, size_t *len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _get_osfhandle
      Src: /src/hostap/src/utils/os_win32.c:226,1
    - Dst: _fileno
      Src: /src/hostap/src/utils/os_win32.c:226,1
    - Dst: FlushFileBuffers
      Src: /src/hostap/src/utils/os_win32.c:230,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - stream
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 234
    functionName: os_fdatasync
    functionSourceFile: /src/hostap/src/utils/os_win32.c
    functionUses: 1
    functionsReached:
    - _fileno
    - _get_osfhandle
    - FlushFileBuffers
    linkageType: ''
    returnType: int
    signature: int os_fdatasync(FILE *stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/hostap/src/utils/os_win32.c:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 240
    functionName: os_zalloc
    functionSourceFile: /src/hostap/src/utils/os_win32.c
    functionUses: 670
    functionsReached:
    - calloc
    linkageType: ''
    returnType: void
    signature: void * os_zalloc(size_t size)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - dest
    - src
    - siz
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 265
    functionName: os_strlcpy
    functionSourceFile: /src/hostap/src/utils/os_win32.c
    functionUses: 217
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t os_strlcpy(char *dest, const char *src, size_t siz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - a
    - b
    - len
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 279
    functionName: os_memcmp_const
    functionSourceFile: /src/hostap/src/utils/os_win32.c
    functionUses: 94
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int os_memcmp_const(const void *a, const void *b, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - program
    - arg
    - wait_completion
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: os_exec
    functionSourceFile: /src/hostap/src/utils/os_win32.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int os_exec(const char *program, const char *arg, int wait_completion)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/utils/os_win32.c:290,1
    - Dst: os_memcpy
      Src: /src/hostap/src/utils/os_win32.c:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - src
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 295
    functionName: os_memdup
    functionSourceFile: /src/hostap/src/utils/os_win32.c
    functionUses: 218
    functionsReached:
    - os_memcpy
    - os_malloc
    linkageType: ''
    returnType: void
    signature: void * os_memdup(const void *src, size_t len)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/hostap/src/utils/edit_simple.c:32,1
    - Dst: perror
      Src: /src/hostap/src/utils/edit_simple.c:34,1
    - Dst: edit_eof_cb
      Src: /src/hostap/src/utils/edit_simple.c:36,1
    - Dst: edit_cmd_cb
      Src: /src/hostap/src/utils/edit_simple.c:44,1
    - Dst: printf
      Src: /src/hostap/src/utils/edit_simple.c:45,1
    - Dst: fflush
      Src: /src/hostap/src/utils/edit_simple.c:46,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 3
    argNames:
    - sock
    - eloop_ctx
    - sock_ctx
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 61
    functionName: edit_read_char
    functionSourceFile: /src/hostap/src/utils/edit_simple.c
    functionUses: 0
    functionsReached:
    - edit_eof_cb
    - read
    - printf
    - perror
    - edit_cmd_cb
    - fflush
    linkageType: ''
    returnType: void
    signature: void edit_read_char(int sock, void *eloop_ctx, void *sock_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eloop_register_read_sock
      Src: /src/hostap/src/utils/edit_simple.c:72,1
    - Dst: printf
      Src: /src/hostap/src/utils/edit_simple.c:75,1
    - Dst: fflush
      Src: /src/hostap/src/utils/edit_simple.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 4
    argNames:
    - (*completion_cb)(void *ctx, const char *cmd, int pos)
    - ctx
    - history_file
    - ps
    argTypes:
    - char**
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 79
    functionName: edit_init
    functionSourceFile: /src/hostap/src/utils/edit_simple.c
    functionUses: 3
    functionsReached:
    - eloop_register_read_sock
    - fflush
    - printf
    linkageType: ''
    returnType: int
    signature: "int edit_init(void (*cmd_cb)(void *ctx, char *cmd),\n\t      void
      (*eof_cb)(void *ctx),\n\t      char ** (*completion_cb)(void *ctx, const char
      *cmd, int pos),\n\t      void *ctx, const char *history_file, const char *ps)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eloop_unregister_read_sock
      Src: /src/hostap/src/utils/edit_simple.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - history_file
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: edit_deinit
    functionSourceFile: /src/hostap/src/utils/edit_simple.c
    functionUses: 3
    functionsReached:
    - eloop_unregister_read_sock
    linkageType: ''
    returnType: void
    signature: "void edit_deinit(const char *history_file,\n\t\t int (*filter_cb)(void
      *ctx, const char *cmd))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: edit_clear_line
    functionSourceFile: /src/hostap/src/utils/edit_simple.c
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void edit_clear_line(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/src/utils/edit_simple.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: edit_redraw
    functionSourceFile: /src/hostap/src/utils/edit_simple.c
    functionUses: 27
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void edit_redraw(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: scard_init
    functionSourceFile: /src/hostap/src/utils/pcsc_funcs.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: scard_init(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: scard_deinit
    functionSourceFile: /src/hostap/src/utils/pcsc_funcs.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: scard_deinit(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: scard_set_pin
    functionSourceFile: /src/hostap/src/utils/pcsc_funcs.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: scard_set_pin(s, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - i
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: scard_get_imsi
    functionSourceFile: /src/hostap/src/utils/pcsc_funcs.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: scard_get_imsi(s, i, l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: scard_get_mnc_len
    functionSourceFile: /src/hostap/src/utils/pcsc_funcs.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: scard_get_mnc_len(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - s
    - ','
    - r
    - ','
    - s2
    - ','
    - k
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: scard_gsm_auth
    functionSourceFile: /src/hostap/src/utils/pcsc_funcs.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: scard_gsm_auth(s, r, s2, k)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - s
    - ','
    - r
    - ','
    - a
    - ','
    - r2
    - ','
    - rl
    - ','
    - i
    - ','
    - c
    - ','
    - a2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: scard_umts_auth
    functionSourceFile: /src/hostap/src/utils/pcsc_funcs.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: scard_umts_auth(s, r, a, r2, rl, i, c, a2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: scard_get_pin_retry_counter
    functionSourceFile: /src/hostap/src/utils/pcsc_funcs.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: scard_get_pin_retry_counter(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: scard_supports_umts
    functionSourceFile: /src/hostap/src/utils/pcsc_funcs.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: scard_supports_umts(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: WPA_TRACE_REF
    functionSourceFile: /src/hostap/src/utils/trace.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WPA_TRACE_REF(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - title
    - ','
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: wpa_trace_dump
    functionSourceFile: /src/hostap/src/utils/trace.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: wpa_trace_dump(title, ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: wpa_trace_record
    functionSourceFile: /src/hostap/src/utils/trace.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: wpa_trace_record(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ptr
    - ','
    - name
    - ','
    - addr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: wpa_trace_add_ref
    functionSourceFile: /src/hostap/src/utils/trace.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: wpa_trace_add_ref(ptr, name, addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ptr
    - ','
    - name
    - ','
    - addr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: wpa_trace_remove_ref
    functionSourceFile: /src/hostap/src/utils/trace.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: wpa_trace_remove_ref(ptr, name, addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - title
    - ','
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: wpa_trace_dump
    functionSourceFile: /src/hostap/src/utils/trace.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: wpa_trace_dump(title, ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: wpa_trace_record
    functionSourceFile: /src/hostap/src/utils/trace.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: wpa_trace_record(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - title
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: wpa_trace_show
    functionSourceFile: /src/hostap/src/utils/trace.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: wpa_trace_show(title)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ptr
    - ','
    - name
    - ','
    - addr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: wpa_trace_add_ref
    functionSourceFile: /src/hostap/src/utils/trace.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: wpa_trace_add_ref(ptr, name, addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ptr
    - ','
    - name
    - ','
    - addr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: wpa_trace_remove_ref
    functionSourceFile: /src/hostap/src/utils/trace.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: wpa_trace_remove_ref(ptr, name, addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - addr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: wpa_trace_check_ref
    functionSourceFile: /src/hostap/src/utils/trace.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: wpa_trace_check_ref(addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: wpa_trace_set_context
    functionSourceFile: /src/hostap/src/utils/trace.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wpa_trace_set_context(const char *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - title
    - ','
    - pc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: wpa_trace_dump_funcname
    functionSourceFile: /src/hostap/src/utils/trace.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: wpa_trace_dump_funcname(title, pc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - url
    - ignore_tls
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 16
    functionName: hs20_web_browser
    functionSourceFile: /src/hostap/src/utils/browser.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int hs20_web_browser(const char *url, int ignore_tls)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - info
    - size
    - data
    argTypes:
    - struct dl_phdr_info*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 54
    functionName: callback
    functionSourceFile: /src/hostap/src/utils/trace.c
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int callback(struct dl_phdr_info *info, size_t size, void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/src/utils/trace.c:61,1
    - Dst: getpid
      Src: /src/hostap/src/utils/trace.c:61,1
    - Dst: readlink
      Src: /src/hostap/src/utils/trace.c:62,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/trace.c:64,1
    - Dst: strerror
      Src: /src/hostap/src/utils/trace.c:64,1
    - Dst: strdup
      Src: /src/hostap/src/utils/trace.c:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 69
    functionName: get_prg_fname
    functionSourceFile: /src/hostap/src/utils/trace.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - strdup
    - strerror
    - readlink
    - os_snprintf
    - getpid
    linkageType: ''
    returnType: void
    signature: void get_prg_fname(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bfd_openr
      Src: /src/hostap/src/utils/trace.c:77,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/trace.c:79,1
    - Dst: bfd_check_format
      Src: /src/hostap/src/utils/trace.c:83,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/trace.c:84,1
    - Dst: bfd_close
      Src: /src/hostap/src/utils/trace.c:85,1
    - Dst: bfd_check_format_matches
      Src: /src/hostap/src/utils/trace.c:89,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/trace.c:90,1
    - Dst: free
      Src: /src/hostap/src/utils/trace.c:91,1
    - Dst: bfd_close
      Src: /src/hostap/src/utils/trace.c:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 97
    functionName: open_bfd
    functionSourceFile: /src/hostap/src/utils/trace.c
    functionUses: 0
    functionsReached:
    - bfd_check_format_matches
    - bfd_openr
    - bfd_close
    - wpa_printf
    - bfd_check_format
    - free
    linkageType: ''
    returnType: bfd
    signature: bfd * open_bfd(const char *fname)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: bfd_get_file_flags
      Src: /src/hostap/src/utils/trace.c:108,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/trace.c:109,1
    - Dst: bfd_get_symtab_upper_bound
      Src: /src/hostap/src/utils/trace.c:113,1
    - Dst: bfd_get_dynamic_symtab_upper_bound
      Src: /src/hostap/src/utils/trace.c:115,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/trace.c:119,1
    - Dst: malloc
      Src: /src/hostap/src/utils/trace.c:123,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/trace.c:125,1
    - Dst: bfd_canonicalize_dynamic_symtab
      Src: /src/hostap/src/utils/trace.c:130,1
    - Dst: bfd_canonicalize_symtab
      Src: /src/hostap/src/utils/trace.c:132,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/trace.c:134,1
    - Dst: free
      Src: /src/hostap/src/utils/trace.c:136,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 1
    argNames:
    - abfd
    argTypes:
    - bfd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 140
    functionName: read_syms
    functionSourceFile: /src/hostap/src/utils/trace.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - bfd_get_symtab_upper_bound
    - malloc
    - bfd_get_file_flags
    - bfd_get_dynamic_symtab_upper_bound
    - bfd_canonicalize_symtab
    - free
    - bfd_canonicalize_dynamic_symtab
    linkageType: ''
    returnType: void
    signature: void read_syms(bfd *abfd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - bfd
    - ','
    - section
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 158
    functionName: bfd_get_section_vma
    functionSourceFile: /src/hostap/src/utils/trace.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bfd_get_section_vma(bfd, section)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bfd_get_section_vma
      Src: /src/hostap/src/utils/trace.c:172,1
    - Dst: bfd_get_section_vma
      Src: /src/hostap/src/utils/trace.c:175,1
    - Dst: bfd_get_section_size
      Src: /src/hostap/src/utils/trace.c:179,1
    - Dst: bfd_find_nearest_line
      Src: /src/hostap/src/utils/trace.c:183,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - abfd
    - section
    - obj
    argTypes:
    - bfd*
    - asection*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 188
    functionName: find_addr_sect
    functionSourceFile: /src/hostap/src/utils/trace.c
    functionUses: 0
    functionsReached:
    - bfd_get_section_size
    - bfd_get_section_vma
    - bfd_find_nearest_line
    linkageType: ''
    returnType: void
    signature: void find_addr_sect(bfd *abfd, asection *section, void *obj)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: bfd_map_over_sections
      Src: /src/hostap/src/utils/trace.c:206,1
    - Dst: bfd_demangle
      Src: /src/hostap/src/utils/trace.c:213,1
    - Dst: os_strrchr
      Src: /src/hostap/src/utils/trace.c:218,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/trace.c:226,1
    - Dst: free
      Src: /src/hostap/src/utils/trace.c:228,1
    - Dst: bfd_find_inliner_info
      Src: /src/hostap/src/utils/trace.c:231,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 1
    argNames:
    - pc
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 234
    functionName: wpa_trace_bfd_addr
    functionSourceFile: /src/hostap/src/utils/trace.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - bfd_demangle
    - bfd_map_over_sections
    - bfd_find_inliner_info
    - os_strrchr
    - free
    linkageType: ''
    returnType: void
    signature: void wpa_trace_bfd_addr(void *pc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bfd_map_over_sections
      Src: /src/hostap/src/utils/trace.c:249,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - pc
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 255
    functionName: wpa_trace_bfd_addr2func
    functionSourceFile: /src/hostap/src/utils/trace.c
    functionUses: 0
    functionsReached:
    - bfd_map_over_sections
    linkageType: ''
    returnType: char
    signature: char * wpa_trace_bfd_addr2func(void *pc)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: get_prg_fname
      Src: /src/hostap/src/utils/trace.c:261,1
    - Dst: open_bfd
      Src: /src/hostap/src/utils/trace.c:267,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/trace.c:269,1
    - Dst: read_syms
      Src: /src/hostap/src/utils/trace.c:274,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/trace.c:276,1
    - Dst: dl_iterate_phdr
      Src: /src/hostap/src/utils/trace.c:281,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 284
    functionName: wpa_trace_bfd_init
    functionSourceFile: /src/hostap/src/utils/trace.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - open_bfd
    - read_syms
    - get_prg_fname
    - dl_iterate_phdr
    linkageType: ''
    returnType: void
    signature: void wpa_trace_bfd_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/trace.c:289,1
    - Dst: wpa_trace_bfd_init
      Src: /src/hostap/src/utils/trace.c:290,1
    - Dst: wpa_trace_bfd_addr
      Src: /src/hostap/src/utils/trace.c:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - title
    - pc
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 287
    functionDepth: 2
    functionLinenumber: 287
    functionLinenumberEnd: 292
    functionName: wpa_trace_dump_funcname
    functionSourceFile: /src/hostap/src/utils/trace.c
    functionUses: 3
    functionsReached:
    - wpa_trace_bfd_init
    - wpa_printf
    - wpa_trace_bfd_addr
    linkageType: ''
    returnType: void
    signature: void wpa_trace_dump_funcname(const char *title, void *pc)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wpa_trace_bfd_init
      Src: /src/hostap/src/utils/trace.c:307,1
    - Dst: backtrace
      Src: /src/hostap/src/utils/trace.c:312,1
    - Dst: bfd_map_over_sections
      Src: /src/hostap/src/utils/trace.c:323,1
    - Dst: os_strcmp
      Src: /src/hostap/src/utils/trace.c:328,1
    - Dst: bfd_find_inliner_info
      Src: /src/hostap/src/utils/trace.c:334,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char*[]
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 295
    functionDepth: 2
    functionLinenumber: 295
    functionLinenumberEnd: 341
    functionName: wpa_trace_calling_func
    functionSourceFile: /src/hostap/src/utils/trace.c
    functionUses: 1
    functionsReached:
    - backtrace
    - wpa_trace_bfd_init
    - bfd_map_over_sections
    - bfd_find_inliner_info
    - os_strcmp
    linkageType: ''
    returnType: size_t
    signature: size_t wpa_trace_calling_func(const char *buf[], size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 346
    functionName: wpa_trace_bfd_init
    functionSourceFile: /src/hostap/src/utils/trace.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: wpa_trace_bfd_init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 347
    functionName: wpa_trace_bfd_addr
    functionSourceFile: /src/hostap/src/utils/trace.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: wpa_trace_bfd_addr(pc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 348
    functionName: wpa_trace_bfd_addr2func
    functionSourceFile: /src/hostap/src/utils/trace.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: wpa_trace_bfd_addr2func(pc)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wpa_trace_bfd_init
      Src: /src/hostap/src/utils/trace.c:358,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/trace.c:359,1
    - Dst: backtrace_symbols
      Src: /src/hostap/src/utils/trace.c:360,1
    - Dst: wpa_trace_bfd_addr2func
      Src: /src/hostap/src/utils/trace.c:363,1
    - Dst: os_strcmp
      Src: /src/hostap/src/utils/trace.c:365,1
    - Dst: os_strcmp
      Src: /src/hostap/src/utils/trace.c:366,1
    - Dst: os_strcmp
      Src: /src/hostap/src/utils/trace.c:367,1
    - Dst: os_strstr
      Src: /src/hostap/src/utils/trace.c:370,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/trace.c:375,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/trace.c:377,1
    - Dst: wpa_trace_bfd_addr
      Src: /src/hostap/src/utils/trace.c:378,1
    - Dst: os_strcmp
      Src: /src/hostap/src/utils/trace.c:380,1
    - Dst: free
      Src: /src/hostap/src/utils/trace.c:383,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/trace.c:385,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/trace.c:387,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 23
    argCount: 4
    argNames:
    - title
    - btrace
    - btrace_num
    - btrace_ctx
    argTypes:
    - char*
    - void**
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 351
    functionDepth: 2
    functionLinenumber: 351
    functionLinenumberEnd: 388
    functionName: wpa_trace_dump_func
    functionSourceFile: /src/hostap/src/utils/trace.c
    functionUses: 0
    functionsReached:
    - backtrace_symbols
    - wpa_printf
    - wpa_trace_bfd_init
    - os_strstr
    - wpa_trace_bfd_addr
    - free
    - os_strcmp
    - wpa_trace_bfd_addr2func
    linkageType: ''
    returnType: void
    signature: "void wpa_trace_dump_func(const char *title, void **btrace, int btrace_num,\n\t\t\t
      const char *btrace_ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_trace_record
      Src: /src/hostap/src/utils/trace.c:396,1
    - Dst: wpa_trace_dump
      Src: /src/hostap/src/utils/trace.c:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - title
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 398
    functionName: wpa_trace_show
    functionSourceFile: /src/hostap/src/utils/trace.c
    functionUses: 8
    functionsReached:
    - wpa_trace_dump
    - wpa_trace_record
    linkageType: ''
    returnType: void
    signature: void wpa_trace_show(const char *title)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_trace_record
      Src: /src/hostap/src/utils/trace.c:406,1
    - Dst: dl_list_add
      Src: /src/hostap/src/utils/trace.c:407,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ref
    - addr
    argTypes:
    - struct wpa_trace_ref*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 408
    functionName: wpa_trace_add_ref_func
    functionSourceFile: /src/hostap/src/utils/trace.c
    functionUses: 0
    functionsReached:
    - dl_list_add
    - wpa_trace_record
    linkageType: ''
    returnType: void
    signature: void wpa_trace_add_ref_func(struct wpa_trace_ref *ref, const void *addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/utils/trace.c:414,1
    - Dst: wpa_trace_show
      Src: /src/hostap/src/utils/trace.c:417,1
    - Dst: wpa_trace_dump
      Src: /src/hostap/src/utils/trace.c:418,1
    - Dst: abort
      Src: /src/hostap/src/utils/trace.c:419,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 421
    functionName: wpa_trace_check_ref
    functionSourceFile: /src/hostap/src/utils/trace.c
    functionUses: 1
    functionsReached:
    - dl_list_for_each
    - abort
    - wpa_trace_show
    - wpa_trace_dump
    linkageType: ''
    returnType: void
    signature: void wpa_trace_check_ref(const void *addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/hostap/src/utils/trace.c:427,1
    - Dst: free
      Src: /src/hostap/src/utils/trace.c:430,1
    - Dst: bfd_close
      Src: /src/hostap/src/utils/trace.c:433,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 437
    functionName: wpa_trace_deinit
    functionSourceFile: /src/hostap/src/utils/trace.c
    functionUses: 1
    functionsReached:
    - free
    - bfd_close
    linkageType: ''
    returnType: void
    signature: void wpa_trace_deinit(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/hostap/src/utils/trace.c:455,1
    - Dst: os_strlen
      Src: /src/hostap/src/utils/trace.c:455,1
    - Dst: strcpy
      Src: /src/hostap/src/utils/trace.c:456,1
    - Dst: dl_list_add
      Src: /src/hostap/src/utils/trace.c:457,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 463
    functionName: wpa_trace_set_context
    functionSourceFile: /src/hostap/src/utils/trace.c
    functionUses: 1
    functionsReached:
    - os_strlen
    - strcpy
    - dl_list_add
    - malloc
    linkageType: ''
    returnType: void
    signature: void wpa_trace_set_context(const char *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/browser.c:33,1
    - Dst: gtk_main_quit
      Src: /src/hostap/src/utils/browser.c:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - win
    - ctx
    argTypes:
    - GtkWidget*
    - struct browser_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: win_cb_destroy
    functionSourceFile: /src/hostap/src/utils/browser.c
    functionUses: 0
    functionsReached:
    - gtk_main_quit
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void win_cb_destroy(GtkWidget *win, struct browser_context *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gtk_window_set_title
      Src: /src/hostap/src/utils/browser.c:44,1
    - Dst: GTK_WINDOW
      Src: /src/hostap/src/utils/browser.c:44,1
    - Dst: gtk_window_set_title
      Src: /src/hostap/src/utils/browser.c:49,1
    - Dst: GTK_WINDOW
      Src: /src/hostap/src/utils/browser.c:49,1
    - Dst: snprintf
      Src: /src/hostap/src/utils/browser.c:55,1
    - Dst: gtk_window_set_title
      Src: /src/hostap/src/utils/browser.c:57,1
    - Dst: GTK_WINDOW
      Src: /src/hostap/src/utils/browser.c:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct browser_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 58
    functionName: browser_update_title
    functionSourceFile: /src/hostap/src/utils/browser.c
    functionUses: 0
    functionsReached:
    - GTK_WINDOW
    - gtk_window_set_title
    - snprintf
    linkageType: ''
    returnType: void
    signature: void browser_update_title(struct browser_context *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g_str_has_prefix
      Src: /src/hostap/src/utils/browser.c:66,1
    - Dst: atoi
      Src: /src/hostap/src/utils/browser.c:67,1
    - Dst: g_str_has_prefix
      Src: /src/hostap/src/utils/browser.c:69,1
    - Dst: gtk_main_quit
      Src: /src/hostap/src/utils/browser.c:80,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - ctx
    - uri
    argTypes:
    - struct browser_context*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 86
    functionName: process_request_starting_uri
    functionSourceFile: /src/hostap/src/utils/browser.c
    functionUses: 0
    functionsReached:
    - atoi
    - gtk_main_quit
    - g_str_has_prefix
    linkageType: ''
    returnType: void
    signature: "void process_request_starting_uri(struct browser_context *ctx,\n\t\t\t\t\t
      const char *uri)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: webkit_web_view_get_estimated_load_progress
      Src: /src/hostap/src/utils/browser.c:95,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/browser.c:96,1
    - Dst: browser_update_title
      Src: /src/hostap/src/utils/browser.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - view
    - pspec
    - ctx
    argTypes:
    - WebKitWebView*
    - GParamSpec*
    - struct browser_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 99
    functionName: view_cb_notify_estimated_load_progress
    functionSourceFile: /src/hostap/src/utils/browser.c
    functionUses: 0
    functionsReached:
    - webkit_web_view_get_estimated_load_progress
    - wpa_printf
    - browser_update_title
    linkageType: ''
    returnType: void
    signature: "void view_cb_notify_estimated_load_progress(WebKitWebView *view,\n\t\t\t\t\t\t
      \  GParamSpec *pspec,\n\t\t\t\t\t\t   struct browser_context *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: webkit_uri_request_get_uri
      Src: /src/hostap/src/utils/browser.c:107,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/browser.c:109,1
    - Dst: process_request_starting_uri
      Src: /src/hostap/src/utils/browser.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - view
    - res
    - req
    - ctx
    argTypes:
    - WebKitWebView*
    - WebKitWebResource*
    - WebKitURIRequest*
    - struct browser_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 111
    functionName: view_cb_resource_load_starting
    functionSourceFile: /src/hostap/src/utils/browser.c
    functionUses: 0
    functionsReached:
    - webkit_uri_request_get_uri
    - wpa_printf
    - process_request_starting_uri
    linkageType: ''
    returnType: void
    signature: "void view_cb_resource_load_starting(WebKitWebView *view,\n\t\t\t\t\t
      \  WebKitWebResource *res,\n\t\t\t\t\t   WebKitURIRequest *req,\n\t\t\t\t\t
      \  struct browser_context *ctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/browser.c:119,1
    - Dst: WEBKIT_RESPONSE_POLICY_DECISION
      Src: /src/hostap/src/utils/browser.c:126,1
    - Dst: webkit_response_policy_decision_is_mime_type_supported
      Src: /src/hostap/src/utils/browser.c:127,1
    - Dst: webkit_policy_decision_download
      Src: /src/hostap/src/utils/browser.c:129,1
    - Dst: WEBKIT_NAVIGATION_POLICY_DECISION
      Src: /src/hostap/src/utils/browser.c:140,1
    - Dst: webkit_navigation_policy_decision_get_navigation_action
      Src: /src/hostap/src/utils/browser.c:141,1
    - Dst: webkit_navigation_action_get_request
      Src: /src/hostap/src/utils/browser.c:142,1
    - Dst: webkit_uri_request_get_uri
      Src: /src/hostap/src/utils/browser.c:143,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/browser.c:144,1
    - Dst: process_request_starting_uri
      Src: /src/hostap/src/utils/browser.c:146,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 4
    argNames:
    - view
    - policy
    - type
    - ctx
    argTypes:
    - WebKitWebView*
    - WebKitPolicyDecision*
    - WebKitPolicyDecisionType
    - struct browser_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 154
    functionName: view_cb_decide_policy
    functionSourceFile: /src/hostap/src/utils/browser.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - webkit_navigation_action_get_request
    - webkit_policy_decision_download
    - webkit_navigation_policy_decision_get_navigation_action
    - webkit_uri_request_get_uri
    - WEBKIT_NAVIGATION_POLICY_DECISION
    - WEBKIT_RESPONSE_POLICY_DECISION
    - process_request_starting_uri
    - webkit_response_policy_decision_is_mime_type_supported
    linkageType: ''
    returnType: gboolean
    signature: "gboolean view_cb_decide_policy(WebKitWebView *view,\n\t\t\t\t      WebKitPolicyDecision
      *policy,\n\t\t\t\t      WebKitPolicyDecisionType type,\n\t\t\t\t      struct
      browser_context *ctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: webkit_hit_test_result_get_context
      Src: /src/hostap/src/utils/browser.c:162,1
    - Dst: webkit_hit_test_result_get_link_uri
      Src: /src/hostap/src/utils/browser.c:166,1
    - Dst: webkit_hit_test_result_get_image_uri
      Src: /src/hostap/src/utils/browser.c:168,1
    - Dst: webkit_hit_test_result_get_media_uri
      Src: /src/hostap/src/utils/browser.c:170,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/browser.c:172,1
    - Dst: os_free
      Src: /src/hostap/src/utils/browser.c:173,1
    - Dst: os_strdup
      Src: /src/hostap/src/utils/browser.c:175,1
    - Dst: browser_update_title
      Src: /src/hostap/src/utils/browser.c:179,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - view
    - h
    - modifiers
    - ctx
    argTypes:
    - WebKitWebView*
    - WebKitHitTestResult*
    - guint
    - struct browser_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 180
    functionName: view_cb_mouse_target_changed
    functionSourceFile: /src/hostap/src/utils/browser.c
    functionUses: 0
    functionsReached:
    - webkit_hit_test_result_get_context
    - wpa_printf
    - webkit_hit_test_result_get_link_uri
    - webkit_hit_test_result_get_media_uri
    - browser_update_title
    - webkit_hit_test_result_get_image_uri
    - os_free
    - os_strdup
    linkageType: ''
    returnType: void
    signature: "void view_cb_mouse_target_changed(WebKitWebView *view,\n\t\t\t\t\t
      WebKitHitTestResult *h,\n\t\t\t\t\t guint modifiers,\n\t\t\t\t\t struct browser_context
      *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: webkit_web_view_get_title
      Src: /src/hostap/src/utils/browser.c:188,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/browser.c:189,1
    - Dst: os_free
      Src: /src/hostap/src/utils/browser.c:190,1
    - Dst: os_strdup
      Src: /src/hostap/src/utils/browser.c:191,1
    - Dst: browser_update_title
      Src: /src/hostap/src/utils/browser.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - view
    - ps
    - ctx
    argTypes:
    - WebKitWebView*
    - GParamSpec*
    - struct browser_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 193
    functionName: view_cb_notify_title
    functionSourceFile: /src/hostap/src/utils/browser.c
    functionUses: 0
    functionsReached:
    - os_strdup
    - wpa_printf
    - browser_update_title
    - os_free
    - webkit_web_view_get_title
    linkageType: ''
    returnType: void
    signature: "void view_cb_notify_title(WebKitWebView *view, GParamSpec *ps,\n\t\t\t\t
      struct browser_context *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: webkit_web_view_get_progress
      Src: /src/hostap/src/utils/browser.c:200,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/browser.c:201,1
    - Dst: browser_update_title
      Src: /src/hostap/src/utils/browser.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - view
    - pspec
    - ctx
    argTypes:
    - WebKitWebView*
    - GParamSpec*
    - struct browser_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 204
    functionName: view_cb_notify_progress
    functionSourceFile: /src/hostap/src/utils/browser.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - webkit_web_view_get_progress
    - browser_update_title
    linkageType: ''
    returnType: void
    signature: "void view_cb_notify_progress(WebKitWebView *view, GParamSpec *pspec,\n\t\t\t\t
      \   struct browser_context *ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: webkit_web_view_get_load_status
      Src: /src/hostap/src/utils/browser.c:210,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/browser.c:211,1
    - Dst: webkit_web_view_get_uri
      Src: /src/hostap/src/utils/browser.c:212,1
    - Dst: gtk_main_quit
      Src: /src/hostap/src/utils/browser.c:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - view
    - pspec
    - ctx
    argTypes:
    - WebKitWebView*
    - GParamSpec*
    - struct browser_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 217
    functionName: view_cb_notify_load_status
    functionSourceFile: /src/hostap/src/utils/browser.c
    functionUses: 0
    functionsReached:
    - gtk_main_quit
    - webkit_web_view_get_uri
    - wpa_printf
    - webkit_web_view_get_load_status
    linkageType: ''
    returnType: void
    signature: "void view_cb_notify_load_status(WebKitWebView *view, GParamSpec *pspec,\n\t\t\t\t
      \      struct browser_context *ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: webkit_network_request_get_uri
      Src: /src/hostap/src/utils/browser.c:227,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/browser.c:229,1
    - Dst: g_str_has_suffix
      Src: /src/hostap/src/utils/browser.c:230,1
    - Dst: webkit_network_request_set_uri
      Src: /src/hostap/src/utils/browser.c:231,1
    - Dst: process_request_starting_uri
      Src: /src/hostap/src/utils/browser.c:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - view
    - frame
    - res
    - req
    - resp
    - ctx
    argTypes:
    - WebKitWebView*
    - WebKitWebFrame*
    - WebKitWebResource*
    - WebKitNetworkRequest*
    - WebKitNetworkResponse*
    - struct browser_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 234
    functionName: view_cb_resource_request_starting
    functionSourceFile: /src/hostap/src/utils/browser.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - g_str_has_suffix
    - webkit_network_request_get_uri
    - webkit_network_request_set_uri
    - process_request_starting_uri
    linkageType: ''
    returnType: void
    signature: "void view_cb_resource_request_starting(WebKitWebView *view,\n\t\t\t\t\t
      \     WebKitWebFrame *frame,\n\t\t\t\t\t      WebKitWebResource *res,\n\t\t\t\t\t
      \     WebKitNetworkRequest *req,\n\t\t\t\t\t      WebKitNetworkResponse *resp,\n\t\t\t\t\t
      \     struct browser_context *ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/browser.c:242,1
    - Dst: webkit_web_view_can_show_mime_type
      Src: /src/hostap/src/utils/browser.c:244,1
    - Dst: webkit_web_policy_decision_download
      Src: /src/hostap/src/utils/browser.c:245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 6
    argNames:
    - view
    - frame
    - req
    - mime
    - policy
    - ctx
    argTypes:
    - WebKitWebView*
    - WebKitWebFrame*
    - WebKitNetworkRequest*
    - gchar*
    - WebKitWebPolicyDecision*
    - struct browser_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 250
    functionName: view_cb_mime_type_policy_decision
    functionSourceFile: /src/hostap/src/utils/browser.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - webkit_web_policy_decision_download
    - webkit_web_view_can_show_mime_type
    linkageType: ''
    returnType: gboolean
    signature: "gboolean view_cb_mime_type_policy_decision(\n\tWebKitWebView *view,
      WebKitWebFrame *frame, WebKitNetworkRequest *req,\n\tgchar *mime, WebKitWebPolicyDecision
      *policy,\n\tstruct browser_context *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: webkit_download_get_uri
      Src: /src/hostap/src/utils/browser.c:258,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/browser.c:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - view
    - dl
    - ctx
    argTypes:
    - WebKitWebView*
    - WebKitDownload*
    - struct browser_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 261
    functionName: view_cb_download_requested
    functionSourceFile: /src/hostap/src/utils/browser.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - webkit_download_get_uri
    linkageType: ''
    returnType: gboolean
    signature: "gboolean view_cb_download_requested(WebKitWebView *view,\n\t\t\t\t\t
      \  WebKitDownload *dl,\n\t\t\t\t\t   struct browser_context *ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/browser.c:267,1
    - Dst: os_free
      Src: /src/hostap/src/utils/browser.c:269,1
    - Dst: os_strdup
      Src: /src/hostap/src/utils/browser.c:271,1
    - Dst: browser_update_title
      Src: /src/hostap/src/utils/browser.c:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - view
    - title
    - uri
    - ctx
    argTypes:
    - WebKitWebView*
    - gchar*
    - gchar*
    - struct browser_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 276
    functionName: view_cb_hovering_over_link
    functionSourceFile: /src/hostap/src/utils/browser.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpa_printf
    - os_strdup
    - browser_update_title
    linkageType: ''
    returnType: void
    signature: "void view_cb_hovering_over_link(WebKitWebView *view, gchar *title,\n\t\t\t\t
      \      gchar *uri, struct browser_context *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/browser.c:283,1
    - Dst: os_free
      Src: /src/hostap/src/utils/browser.c:284,1
    - Dst: os_strdup
      Src: /src/hostap/src/utils/browser.c:285,1
    - Dst: browser_update_title
      Src: /src/hostap/src/utils/browser.c:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - view
    - frame
    - title
    - ctx
    argTypes:
    - WebKitWebView*
    - WebKitWebFrame*
    - char*
    - struct browser_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 287
    functionName: view_cb_title_changed
    functionSourceFile: /src/hostap/src/utils/browser.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpa_printf
    - os_strdup
    - browser_update_title
    linkageType: ''
    returnType: void
    signature: "void view_cb_title_changed(WebKitWebView *view, WebKitWebFrame *frame,\n\t\t\t\t
      \ const char *title,\n\t\t\t\t  struct browser_context *ctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/hostap/src/utils/browser.c:304,1
    - Dst: gtk_init_check
      Src: /src/hostap/src/utils/browser.c:305,1
    - Dst: webkit_get_default_session
      Src: /src/hostap/src/utils/browser.c:309,1
    - Dst: g_object_set
      Src: /src/hostap/src/utils/browser.c:310,1
    - Dst: G_OBJECT
      Src: /src/hostap/src/utils/browser.c:310,1
    - Dst: g_object_set
      Src: /src/hostap/src/utils/browser.c:313,1
    - Dst: G_OBJECT
      Src: /src/hostap/src/utils/browser.c:313,1
    - Dst: gtk_window_new
      Src: /src/hostap/src/utils/browser.c:316,1
    - Dst: gtk_window_set_role
      Src: /src/hostap/src/utils/browser.c:317,1
    - Dst: GTK_WINDOW
      Src: /src/hostap/src/utils/browser.c:317,1
    - Dst: gtk_window_set_default_size
      Src: /src/hostap/src/utils/browser.c:318,1
    - Dst: GTK_WINDOW
      Src: /src/hostap/src/utils/browser.c:318,1
    - Dst: gtk_scrolled_window_new
      Src: /src/hostap/src/utils/browser.c:320,1
    - Dst: gtk_scrolled_window_set_policy
      Src: /src/hostap/src/utils/browser.c:321,1
    - Dst: GTK_SCROLLED_WINDOW
      Src: /src/hostap/src/utils/browser.c:321,1
    - Dst: g_signal_connect
      Src: /src/hostap/src/utils/browser.c:324,1
    - Dst: G_OBJECT
      Src: /src/hostap/src/utils/browser.c:324,1
    - Dst: G_CALLBACK
      Src: /src/hostap/src/utils/browser.c:325,1
    - Dst: WEBKIT_WEB_VIEW
      Src: /src/hostap/src/utils/browser.c:327,1
    - Dst: webkit_web_view_new
      Src: /src/hostap/src/utils/browser.c:327,1
    - Dst: g_signal_connect
      Src: /src/hostap/src/utils/browser.c:330,1
    - Dst: G_OBJECT
      Src: /src/hostap/src/utils/browser.c:330,1
    - Dst: G_CALLBACK
      Src: /src/hostap/src/utils/browser.c:331,1
    - Dst: g_signal_connect
      Src: /src/hostap/src/utils/browser.c:333,1
    - Dst: G_OBJECT
      Src: /src/hostap/src/utils/browser.c:333,1
    - Dst: G_CALLBACK
      Src: /src/hostap/src/utils/browser.c:334,1
    - Dst: g_signal_connect
      Src: /src/hostap/src/utils/browser.c:335,1
    - Dst: G_OBJECT
      Src: /src/hostap/src/utils/browser.c:335,1
    - Dst: G_CALLBACK
      Src: /src/hostap/src/utils/browser.c:336,1
    - Dst: g_signal_connect
      Src: /src/hostap/src/utils/browser.c:337,1
    - Dst: G_OBJECT
      Src: /src/hostap/src/utils/browser.c:337,1
    - Dst: G_CALLBACK
      Src: /src/hostap/src/utils/browser.c:338,1
    - Dst: g_signal_connect
      Src: /src/hostap/src/utils/browser.c:339,1
    - Dst: G_OBJECT
      Src: /src/hostap/src/utils/browser.c:339,1
    - Dst: G_CALLBACK
      Src: /src/hostap/src/utils/browser.c:340,1
    - Dst: g_signal_connect
      Src: /src/hostap/src/utils/browser.c:342,1
    - Dst: G_OBJECT
      Src: /src/hostap/src/utils/browser.c:342,1
    - Dst: G_CALLBACK
      Src: /src/hostap/src/utils/browser.c:343,1
    - Dst: g_signal_connect
      Src: /src/hostap/src/utils/browser.c:344,1
    - Dst: G_OBJECT
      Src: /src/hostap/src/utils/browser.c:344,1
    - Dst: G_CALLBACK
      Src: /src/hostap/src/utils/browser.c:345,1
    - Dst: g_signal_connect
      Src: /src/hostap/src/utils/browser.c:346,1
    - Dst: G_OBJECT
      Src: /src/hostap/src/utils/browser.c:346,1
    - Dst: G_CALLBACK
      Src: /src/hostap/src/utils/browser.c:347,1
    - Dst: g_signal_connect
      Src: /src/hostap/src/utils/browser.c:348,1
    - Dst: G_OBJECT
      Src: /src/hostap/src/utils/browser.c:348,1
    - Dst: G_CALLBACK
      Src: /src/hostap/src/utils/browser.c:349,1
    - Dst: g_signal_connect
      Src: /src/hostap/src/utils/browser.c:350,1
    - Dst: G_OBJECT
      Src: /src/hostap/src/utils/browser.c:350,1
    - Dst: G_CALLBACK
      Src: /src/hostap/src/utils/browser.c:351,1
    - Dst: g_signal_connect
      Src: /src/hostap/src/utils/browser.c:352,1
    - Dst: G_OBJECT
      Src: /src/hostap/src/utils/browser.c:352,1
    - Dst: G_CALLBACK
      Src: /src/hostap/src/utils/browser.c:353,1
    - Dst: g_signal_connect
      Src: /src/hostap/src/utils/browser.c:354,1
    - Dst: G_OBJECT
      Src: /src/hostap/src/utils/browser.c:354,1
    - Dst: G_CALLBACK
      Src: /src/hostap/src/utils/browser.c:355,1
    - Dst: gtk_container_add
      Src: /src/hostap/src/utils/browser.c:358,1
    - Dst: GTK_CONTAINER
      Src: /src/hostap/src/utils/browser.c:358,1
    - Dst: GTK_WIDGET
      Src: /src/hostap/src/utils/browser.c:358,1
    - Dst: gtk_container_add
      Src: /src/hostap/src/utils/browser.c:359,1
    - Dst: GTK_CONTAINER
      Src: /src/hostap/src/utils/browser.c:359,1
    - Dst: GTK_WIDGET
      Src: /src/hostap/src/utils/browser.c:359,1
    - Dst: gtk_widget_grab_focus
      Src: /src/hostap/src/utils/browser.c:361,1
    - Dst: GTK_WIDGET
      Src: /src/hostap/src/utils/browser.c:361,1
    - Dst: gtk_widget_show_all
      Src: /src/hostap/src/utils/browser.c:362,1
    - Dst: webkit_web_view_get_settings
      Src: /src/hostap/src/utils/browser.c:364,1
    - Dst: g_object_set
      Src: /src/hostap/src/utils/browser.c:365,1
    - Dst: G_OBJECT
      Src: /src/hostap/src/utils/browser.c:365,1
    - Dst: g_object_set
      Src: /src/hostap/src/utils/browser.c:369,1
    - Dst: G_OBJECT
      Src: /src/hostap/src/utils/browser.c:369,1
    - Dst: WEBKIT_CHECK_VERSION
      Src: /src/hostap/src/utils/browser.c:373,1
    - Dst: webkit_web_context_get_default
      Src: /src/hostap/src/utils/browser.c:377,1
    - Dst: webkit_web_context_get_website_data_manager
      Src: /src/hostap/src/utils/browser.c:378,1
    - Dst: webkit_website_data_manager_set_tls_errors_policy
      Src: /src/hostap/src/utils/browser.c:379,1
    - Dst: webkit_web_context_get_default
      Src: /src/hostap/src/utils/browser.c:384,1
    - Dst: webkit_web_context_set_tls_errors_policy
      Src: /src/hostap/src/utils/browser.c:385,1
    - Dst: webkit_web_view_load_uri
      Src: /src/hostap/src/utils/browser.c:391,1
    - Dst: gtk_main
      Src: /src/hostap/src/utils/browser.c:394,1
    - Dst: gtk_widget_destroy
      Src: /src/hostap/src/utils/browser.c:395,1
    - Dst: gtk_events_pending
      Src: /src/hostap/src/utils/browser.c:396,1
    - Dst: gtk_main_iteration
      Src: /src/hostap/src/utils/browser.c:397,1
    - Dst: free
      Src: /src/hostap/src/utils/browser.c:399,1
    - Dst: free
      Src: /src/hostap/src/utils/browser.c:400,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 51
    argCount: 2
    argNames:
    - url
    - ignore_tls
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 402
    functionName: hs20_web_browser
    functionSourceFile: /src/hostap/src/utils/browser.c
    functionUses: 1
    functionsReached:
    - gtk_window_set_role
    - WEBKIT_CHECK_VERSION
    - WEBKIT_WEB_VIEW
    - gtk_container_add
    - gtk_scrolled_window_new
    - GTK_WINDOW
    - webkit_web_view_new
    - gtk_scrolled_window_set_policy
    - free
    - gtk_window_new
    - gtk_events_pending
    - g_signal_connect
    - G_CALLBACK
    - gtk_main
    - G_OBJECT
    - GTK_CONTAINER
    - webkit_website_data_manager_set_tls_errors_policy
    - webkit_web_view_load_uri
    - webkit_web_view_get_settings
    - gtk_window_set_default_size
    - memset
    - webkit_get_default_session
    - GTK_SCROLLED_WINDOW
    - gtk_widget_show_all
    - gtk_widget_grab_focus
    - gtk_init_check
    - webkit_web_context_set_tls_errors_policy
    - webkit_web_context_get_default
    - GTK_WIDGET
    - gtk_widget_destroy
    - webkit_web_context_get_website_data_manager
    - gtk_main_iteration
    - g_object_set
    linkageType: ''
    returnType: int
    signature: int hs20_web_browser(const char *url, int ignore_tls)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/utils/ext_password.c:41,1
    - Dst: os_strcmp
      Src: /src/hostap/src/utils/ext_password.c:46,1
    - Dst: os_free
      Src: /src/hostap/src/utils/ext_password.c:53,1
    - Dst: struct ext_password_data*::backend::init
      Src: /src/hostap/src/utils/ext_password.c:57,1
    - Dst: os_free
      Src: /src/hostap/src/utils/ext_password.c:59,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - backend
    - params
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 64
    functionName: ext_password_init
    functionSourceFile: /src/hostap/src/utils/ext_password.c
    functionUses: 2
    functionsReached:
    - os_free
    - os_zalloc
    - struct ext_password_data*::backend::init
    - os_strcmp
    linkageType: ''
    returnType: struct ext_password_data
    signature: "struct ext_password_data * ext_password_init(const char *backend,\n\t\t\t\t\t
      \    const char *params)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct ext_password_data*::backend::deinit
      Src: /src/hostap/src/utils/ext_password.c:70,1
    - Dst: os_free
      Src: /src/hostap/src/utils/ext_password.c:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct ext_password_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: ext_password_deinit
    functionSourceFile: /src/hostap/src/utils/ext_password.c
    functionUses: 4
    functionsReached:
    - os_free
    - struct ext_password_data*::backend::deinit
    linkageType: ''
    returnType: void
    signature: void ext_password_deinit(struct ext_password_data *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct ext_password_data*::backend::get
      Src: /src/hostap/src/utils/ext_password.c:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - data
    - name
    argTypes:
    - struct ext_password_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 81
    functionName: ext_password_get
    functionSourceFile: /src/hostap/src/utils/ext_password.c
    functionUses: 4
    functionsReached:
    - struct ext_password_data*::backend::get
    linkageType: ''
    returnType: struct wpabuf
    signature: "struct wpabuf * ext_password_get(struct ext_password_data *data,\n\t\t\t\t
      const char *name)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/utils/ext_password.c:88,1
    - Dst: mlock
      Src: /src/hostap/src/utils/ext_password.c:93,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/utils/ext_password.c:93,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/utils/ext_password.c:93,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/ext_password.c:94,1
    - Dst: strerror
      Src: /src/hostap/src/utils/ext_password.c:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - len
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 100
    functionName: ext_password_alloc
    functionSourceFile: /src/hostap/src/utils/ext_password.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - strerror
    - wpabuf_len
    - wpabuf_head
    - wpabuf_alloc
    - mlock
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * ext_password_alloc(size_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/utils/ext_password.c:107,1
    - Dst: wpabuf_mhead
      Src: /src/hostap/src/utils/ext_password.c:107,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/utils/ext_password.c:107,1
    - Dst: munlock
      Src: /src/hostap/src/utils/ext_password.c:109,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/utils/ext_password.c:109,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/utils/ext_password.c:109,1
    - Dst: wpa_printf
      Src: /src/hostap/src/utils/ext_password.c:110,1
    - Dst: strerror
      Src: /src/hostap/src/utils/ext_password.c:111,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/utils/ext_password.c:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pw
    argTypes:
    - struct wpabuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 115
    functionName: ext_password_free
    functionSourceFile: /src/hostap/src/utils/ext_password.c
    functionUses: 6
    functionsReached:
    - wpa_printf
    - strerror
    - wpabuf_len
    - wpabuf_free
    - wpabuf_head
    - munlock
    - wpabuf_mhead
    - os_memset
    linkageType: ''
    returnType: void
    signature: void ext_password_free(struct wpabuf *pw)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 4
    argNames:
    - (
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 251
    functionName: RADIUS_DEBUG
    functionSourceFile: /src/hostap/src/radius/radius_server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RADIUS_DEBUG(args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 4
    argNames:
    - (
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 253
    functionName: RADIUS_ERROR
    functionSourceFile: /src/hostap/src/radius/radius_server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RADIUS_ERROR(args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 4
    argNames:
    - (
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 255
    functionName: RADIUS_DUMP
    functionSourceFile: /src/hostap/src/radius/radius_server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RADIUS_DUMP(args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 4
    argNames:
    - (
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 257
    functionName: RADIUS_DUMP_ASCII
    functionSourceFile: /src/hostap/src/radius/radius_server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RADIUS_DUMP_ASCII(args...)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/hostap/src/radius/radius_server.c:272,1
    - Dst: vsnprintf
      Src: /src/hostap/src/radius/radius_server.c:273,1
    - Dst: va_end
      Src: /src/hostap/src/radius/radius_server.c:274,1
    - Dst: os_malloc
      Src: /src/hostap/src/radius/radius_server.c:276,1
    - Dst: va_start
      Src: /src/hostap/src/radius/radius_server.c:279,1
    - Dst: vsnprintf
      Src: /src/hostap/src/radius/radius_server.c:280,1
    - Dst: va_end
      Src: /src/hostap/src/radius/radius_server.c:281,1
    - Dst: RADIUS_DEBUG
      Src: /src/hostap/src/radius/radius_server.c:283,1
    - Dst: sqlite3_mprintf
      Src: /src/hostap/src/radius/radius_server.c:288,1
    - Dst: sqlite3_exec
      Src: /src/hostap/src/radius/radius_server.c:296,1
    - Dst: RADIUS_ERROR
      Src: /src/hostap/src/radius/radius_server.c:298,1
    - Dst: sqlite3_errmsg
      Src: /src/hostap/src/radius/radius_server.c:299,1
    - Dst: sqlite3_free
      Src: /src/hostap/src/radius/radius_server.c:301,1
    - Dst: os_free
      Src: /src/hostap/src/radius/radius_server.c:306,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - sess
    - fmt
    argTypes:
    - struct radius_session*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 307
    functionName: srv_log
    functionSourceFile: /src/hostap/src/radius/radius_server.c
    functionUses: 0
    functionsReached:
    - RADIUS_ERROR
    - sqlite3_mprintf
    - sqlite3_exec
    - sqlite3_free
    - os_malloc
    - vsnprintf
    - RADIUS_DEBUG
    - va_end
    - sqlite3_errmsg
    - va_start
    - os_free
    linkageType: ''
    returnType: void
    signature: void srv_log(struct radius_session *sess, const char *fmt, ...)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 3
    argNames:
    - data
    - addr
    - ipv6
    argTypes:
    - struct radius_server_data*
    - struct in_addr*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 346
    functionName: radius_server_get_client
    functionSourceFile: /src/hostap/src/radius/radius_server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct radius_client
    signature: "struct radius_client *\nradius_server_get_client(struct radius_server_data
      *data, struct in_addr *addr,\n\t\t\t int ipv6)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - client
    - sess_id
    argTypes:
    - struct radius_client*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 362
    functionName: radius_server_get_session
    functionSourceFile: /src/hostap/src/radius/radius_server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct radius_session
    signature: 'struct radius_session *

      radius_server_get_session(struct radius_client *client, unsigned int sess_id)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/radius/radius_server.c:368,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/radius/radius_server.c:369,1
    - Dst: eap_server_sm_deinit
      Src: /src/hostap/src/radius/radius_server.c:370,1
    - Dst: radius_msg_free
      Src: /src/hostap/src/radius/radius_server.c:371,1
    - Dst: os_free
      Src: /src/hostap/src/radius/radius_server.c:372,1
    - Dst: radius_msg_free
      Src: /src/hostap/src/radius/radius_server.c:373,1
    - Dst: os_free
      Src: /src/hostap/src/radius/radius_server.c:374,1
    - Dst: os_free
      Src: /src/hostap/src/radius/radius_server.c:375,1
    - Dst: os_free
      Src: /src/hostap/src/radius/radius_server.c:376,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - data
    - sess
    argTypes:
    - struct radius_server_data*
    - struct radius_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 365
    functionDepth: 3
    functionLinenumber: 365
    functionLinenumberEnd: 379
    functionName: radius_server_session_free
    functionSourceFile: /src/hostap/src/radius/radius_server.c
    functionUses: 0
    functionsReached:
    - eloop_cancel_timeout
    - radius_msg_free
    - eap_server_sm_deinit
    - os_free
    linkageType: ''
    returnType: void
    signature: "void radius_server_session_free(struct radius_server_data *data,\n\t\t\t\t
      \      struct radius_session *sess)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/radius/radius_server.c:388,1
    - Dst: radius_server_session_free
      Src: /src/hostap/src/radius/radius_server.c:399,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - data
    - sess
    argTypes:
    - struct radius_server_data*
    - struct radius_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 382
    functionDepth: 4
    functionLinenumber: 382
    functionLinenumberEnd: 405
    functionName: radius_server_session_remove
    functionSourceFile: /src/hostap/src/radius/radius_server.c
    functionUses: 0
    functionsReached:
    - eloop_cancel_timeout
    - radius_server_session_free
    linkageType: ''
    returnType: void
    signature: "void radius_server_session_remove(struct radius_server_data *data,\n\t\t\t\t\t
      struct radius_session *sess)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RADIUS_DEBUG
      Src: /src/hostap/src/radius/radius_server.c:413,1
    - Dst: radius_server_session_remove
      Src: /src/hostap/src/radius/radius_server.c:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 408
    functionDepth: 5
    functionLinenumber: 408
    functionLinenumberEnd: 415
    functionName: radius_server_session_remove_timeout
    functionSourceFile: /src/hostap/src/radius/radius_server.c
    functionUses: 0
    functionsReached:
    - radius_server_session_remove
    - RADIUS_DEBUG
    linkageType: ''
    returnType: void
    signature: "void radius_server_session_remove_timeout(void *eloop_ctx,\n\t\t\t\t\t\t
      void *timeout_ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RADIUS_DEBUG
      Src: /src/hostap/src/radius/radius_server.c:423,1
    - Dst: radius_server_session_remove
      Src: /src/hostap/src/radius/radius_server.c:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 418
    functionDepth: 5
    functionLinenumber: 418
    functionLinenumberEnd: 425
    functionName: radius_server_session_timeout
    functionSourceFile: /src/hostap/src/radius/radius_server.c
    functionUses: 0
    functionsReached:
    - radius_server_session_remove
    - RADIUS_DEBUG
    linkageType: ''
    returnType: void
    signature: void radius_server_session_timeout(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RADIUS_DEBUG
      Src: /src/hostap/src/radius/radius_server.c:435,1
    - Dst: os_zalloc
      Src: /src/hostap/src/radius/radius_server.c:440,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/radius/radius_server.c:449,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - data
    - client
    argTypes:
    - struct radius_server_data*
    - struct radius_client*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 453
    functionName: radius_server_new_session
    functionSourceFile: /src/hostap/src/radius/radius_server.c
    functionUses: 0
    functionsReached:
    - os_zalloc
    - eloop_register_timeout
    - RADIUS_DEBUG
    linkageType: ''
    returnType: struct radius_session
    signature: "struct radius_session *\nradius_server_new_session(struct radius_server_data
      *data,\n\t\t\t  struct radius_client *client)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/hostap/src/radius/radius_server.c:461,1
    - Dst: srv_log
      Src: /src/hostap/src/radius/radius_server.c:465,1
    - Dst: srv_log
      Src: /src/hostap/src/radius/radius_server.c:469,1
    - Dst: srv_log
      Src: /src/hostap/src/radius/radius_server.c:473,1
    - Dst: srv_log
      Src: /src/hostap/src/radius/radius_server.c:477,1
    - Dst: srv_log
      Src: /src/hostap/src/radius/radius_server.c:481,1
    - Dst: srv_log
      Src: /src/hostap/src/radius/radius_server.c:485,1
    - Dst: srv_log
      Src: /src/hostap/src/radius/radius_server.c:489,1
    - Dst: srv_log
      Src: /src/hostap/src/radius/radius_server.c:493,1
    - Dst: srv_log
      Src: /src/hostap/src/radius/radius_server.c:497,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 3
    argNames:
    - sess
    - tls
    - eap_conf
    argTypes:
    - struct radius_session*
    - char*
    - struct eap_session_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 457
    functionDepth: 2
    functionLinenumber: 457
    functionLinenumberEnd: 500
    functionName: radius_server_testing_options_tls
    functionSourceFile: /src/hostap/src/radius/radius_server.c
    functionUses: 0
    functionsReached:
    - atoi
    - srv_log
    linkageType: ''
    returnType: void
    signature: "void radius_server_testing_options_tls(struct radius_session *sess,\n\t\t\t\t\t
      \     const char *tls,\n\t\t\t\t\t      struct eap_session_data *eap_conf)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_strstr
      Src: /src/hostap/src/radius/radius_server.c:509,1
    - Dst: os_strncmp
      Src: /src/hostap/src/radius/radius_server.c:513,1
    - Dst: radius_server_testing_options_tls
      Src: /src/hostap/src/radius/radius_server.c:514,1
    - Dst: srv_log
      Src: /src/hostap/src/radius/radius_server.c:516,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - sess
    - eap_conf
    argTypes:
    - struct radius_session*
    - struct eap_session_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 503
    functionDepth: 3
    functionLinenumber: 503
    functionLinenumberEnd: 518
    functionName: radius_server_testing_options
    functionSourceFile: /src/hostap/src/radius/radius_server.c
    functionUses: 0
    functionsReached:
    - os_strstr
    - radius_server_testing_options_tls
    - srv_log
    - os_strncmp
    linkageType: ''
    returnType: void
    signature: "void radius_server_testing_options(struct radius_session *sess,\n\t\t\t\t\t
      \ struct eap_session_data *eap_conf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_for_each
      Src: /src/hostap/src/radius/radius_server.c:527,1
    - Dst: os_strcmp
      Src: /src/hostap/src/radius/radius_server.c:529,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - data
    - keyname
    argTypes:
    - struct radius_server_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 534
    functionName: radius_server_erp_find_key
    functionSourceFile: /src/hostap/src/radius/radius_server.c
    functionUses: 0
    functionsReached:
    - dl_list_for_each
    - os_strcmp
    linkageType: ''
    returnType: struct eap_server_erp_key
    signature: 'struct eap_server_erp_key *

      radius_server_erp_find_key(struct radius_server_data *data, const char *keyname)'
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: RADIUS_DEBUG
      Src: /src/hostap/src/radius/radius_server.c:550,1
    - Dst: radius_msg_get_attr_ptr
      Src: /src/hostap/src/radius/radius_server.c:552,1
    - Dst: RADIUS_DEBUG
      Src: /src/hostap/src/radius/radius_server.c:554,1
    - Dst: RADIUS_DUMP_ASCII
      Src: /src/hostap/src/radius/radius_server.c:557,1
    - Dst: os_zalloc
      Src: /src/hostap/src/radius/radius_server.c:559,1
    - Dst: struct radius_server_data*::get_eap_user
      Src: /src/hostap/src/radius/radius_server.c:563,1
    - Dst: os_zalloc
      Src: /src/hostap/src/radius/radius_server.c:568,1
    - Dst: os_memcpy
      Src: /src/hostap/src/radius/radius_server.c:570,1
    - Dst: radius_server_erp_find_key
      Src: /src/hostap/src/radius/radius_server.c:571,1
    - Dst: os_free
      Src: /src/hostap/src/radius/radius_server.c:573,1
    - Dst: RADIUS_DEBUG
      Src: /src/hostap/src/radius/radius_server.c:578,1
    - Dst: eap_user_free
      Src: /src/hostap/src/radius/radius_server.c:579,1
    - Dst: RADIUS_DEBUG
      Src: /src/hostap/src/radius/radius_server.c:583,1
    - Dst: radius_server_new_session
      Src: /src/hostap/src/radius/radius_server.c:584,1
    - Dst: RADIUS_DEBUG
      Src: /src/hostap/src/radius/radius_server.c:586,1
    - Dst: eap_user_free
      Src: /src/hostap/src/radius/radius_server.c:587,1
    - Dst: eap_user_free
      Src: /src/hostap/src/radius/radius_server.c:592,1
    - Dst: os_malloc
      Src: /src/hostap/src/radius/radius_server.c:594,1
    - Dst: radius_server_session_remove
      Src: /src/hostap/src/radius/radius_server.c:596,1
    - Dst: printf_encode
      Src: /src/hostap/src/radius/radius_server.c:599,1
    - Dst: os_strdup
      Src: /src/hostap/src/radius/radius_server.c:601,1
    - Dst: radius_server_session_remove
      Src: /src/hostap/src/radius/radius_server.c:603,1
    - Dst: radius_msg_get_attr_ptr
      Src: /src/hostap/src/radius/radius_server.c:607,1
    - Dst: os_memset
      Src: /src/hostap/src/radius/radius_server.c:611,1
    - Dst: os_memcpy
      Src: /src/hostap/src/radius/radius_server.c:614,1
    - Dst: hwaddr_aton2
      Src: /src/hostap/src/radius/radius_server.c:615,1
    - Dst: os_memset
      Src: /src/hostap/src/radius/radius_server.c:616,1
    - Dst: RADIUS_DEBUG
      Src: /src/hostap/src/radius/radius_server.c:618,1
    - Dst: MAC2STR
      Src: /src/hostap/src/radius/radius_server.c:619,1
    - Dst: srv_log
      Src: /src/hostap/src/radius/radius_server.c:622,1
    - Dst: os_memset
      Src: /src/hostap/src/radius/radius_server.c:624,1
    - Dst: radius_server_testing_options
      Src: /src/hostap/src/radius/radius_server.c:625,1
    - Dst: eap_server_sm_init
      Src: /src/hostap/src/radius/radius_server.c:626,1
    - Dst: RADIUS_DEBUG
      Src: /src/hostap/src/radius/radius_server.c:629,1
    - Dst: radius_server_session_remove
      Src: /src/hostap/src/radius/radius_server.c:631,1
    - Dst: eap_get_interface
      Src: /src/hostap/src/radius/radius_server.c:634,1
    - Dst: RADIUS_DEBUG
      Src: /src/hostap/src/radius/radius_server.c:638,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 69
    argCount: 4
    argNames:
    - data
    - client
    - msg
    - from_addr
    argTypes:
    - struct radius_server_data*
    - struct radius_client*
    - struct radius_msg*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 538
    functionDepth: 5
    functionLinenumber: 538
    functionLinenumberEnd: 641
    functionName: radius_server_get_new_session
    functionSourceFile: /src/hostap/src/radius/radius_server.c
    functionUses: 0
    functionsReached:
    - eap_server_sm_init
    - RADIUS_DEBUG
    - radius_server_session_remove
    - radius_server_new_session
    - printf_encode
    - radius_msg_get_attr_ptr
    - radius_server_testing_options
    - eap_get_interface
    - os_free
    - srv_log
    - RADIUS_DUMP_ASCII
    - radius_server_erp_find_key
    - os_malloc
    - hwaddr_aton2
    - os_strdup
    - os_memset
    - os_memcpy
    - MAC2STR
    - struct radius_server_data*::get_eap_user
    - os_zalloc
    - eap_user_free
    linkageType: ''
    returnType: struct radius_session
    signature: "struct radius_session *\nradius_server_get_new_session(struct radius_server_data
      *data,\n\t\t\t      struct radius_client *client,\n\t\t\t      struct radius_msg
      *msg, const char *from_addr)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: is_zero_ether_addr
      Src: /src/hostap/src/radius/radius_server.c:654,1
    - Dst: os_snprintf
      Src: /src/hostap/src/radius/radius_server.c:657,1
    - Dst: MAC2STR
      Src: /src/hostap/src/radius/radius_server.c:657,1
    - Dst: eap_get_identity
      Src: /src/hostap/src/radius/radius_server.c:659,1
    - Dst: os_malloc
      Src: /src/hostap/src/radius/radius_server.c:662,1
    - Dst: os_memcpy
      Src: /src/hostap/src/radius/radius_server.c:665,1
    - Dst: sqlite3_mprintf
      Src: /src/hostap/src/radius/radius_server.c:668,1
    - Dst: os_free
      Src: /src/hostap/src/radius/radius_server.c:670,1
    - Dst: sqlite3_exec
      Src: /src/hostap/src/radius/radius_server.c:674,1
    - Dst: RADIUS_ERROR
      Src: /src/hostap/src/radius/radius_server.c:676,1
    - Dst: sqlite3_errmsg
      Src: /src/hostap/src/radius/radius_server.c:677,1
    - Dst: sqlite3_free
      Src: /src/hostap/src/radius/radius_server.c:679,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - sess
    argTypes:
    - struct radius_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 681
    functionName: radius_srv_hs20_t_c_pending
    functionSourceFile: /src/hostap/src/radius/radius_server.c
    functionUses: 0
    functionsReached:
    - RADIUS_ERROR
    - os_memcpy
    - sqlite3_mprintf
    - sqlite3_exec
    - is_zero_ether_addr
    - os_malloc
    - sqlite3_free
    - os_snprintf
    - MAC2STR
    - sqlite3_errmsg
    - os_free
    - eap_get_identity
    linkageType: ''
    returnType: void
    signature: void radius_srv_hs20_t_c_pending(struct radius_session *sess)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/src/radius/radius_server.c:696,1
    - Dst: MAC2STR
      Src: /src/hostap/src/radius/radius_server.c:697,1
    - Dst: os_get_time
      Src: /src/hostap/src/radius/radius_server.c:699,1
    - Dst: sqlite3_mprintf
      Src: /src/hostap/src/radius/radius_server.c:700,1
    - Dst: sqlite3_exec
      Src: /src/hostap/src/radius/radius_server.c:704,1
    - Dst: RADIUS_ERROR
      Src: /src/hostap/src/radius/radius_server.c:706,1
    - Dst: sqlite3_errmsg
      Src: /src/hostap/src/radius/radius_server.c:707,1
    - Dst: sqlite3_free
      Src: /src/hostap/src/radius/radius_server.c:709,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - sess
    argTypes:
    - struct radius_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 685
    functionDepth: 1
    functionLinenumber: 685
    functionLinenumberEnd: 712
    functionName: radius_server_add_session
    functionSourceFile: /src/hostap/src/radius/radius_server.c
    functionUses: 0
    functionsReached:
    - RADIUS_ERROR
    - sqlite3_mprintf
    - sqlite3_exec
    - sqlite3_free
    - os_snprintf
    - MAC2STR
    - sqlite3_errmsg
    - os_get_time
    linkageType: ''
    returnType: void
    signature: void radius_server_add_session(struct radius_session *sess)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: eap_get_serial_num
      Src: /src/hostap/src/radius/radius_server.c:728,1
    - Dst: os_strlen
      Src: /src/hostap/src/radius/radius_server.c:730,1
    - Dst: os_malloc
      Src: /src/hostap/src/radius/radius_server.c:731,1
    - Dst: os_snprintf
      Src: /src/hostap/src/radius/radius_server.c:734,1
    - Dst: eap_get_identity
      Src: /src/hostap/src/radius/radius_server.c:736,1
    - Dst: os_malloc
      Src: /src/hostap/src/radius/radius_server.c:739,1
    - Dst: os_memcpy
      Src: /src/hostap/src/radius/radius_server.c:742,1
    - Dst: sqlite3_mprintf
      Src: /src/hostap/src/radius/radius_server.c:746,1
    - Dst: os_free
      Src: /src/hostap/src/radius/radius_server.c:748,1
    - Dst: sqlite3_exec
      Src: /src/hostap/src/radius/radius_server.c:752,1
    - Dst: RADIUS_DEBUG
      Src: /src/hostap/src/radius/radius_server.c:754,1
    - Dst: sqlite3_errmsg
      Src: /src/hostap/src/radius/radius_server.c:755,1
    - Dst: sqlite3_free
      Src: /src/hostap/src/radius/radius_server.c:757,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - sess
    - msk
    argTypes:
    - struct radius_session*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 715
    functionDepth: 1
    functionLinenumber: 715
    functionLinenumberEnd: 760
    functionName: db_update_last_msk
    functionSourceFile: /src/hostap/src/radius/radius_server.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - os_memcpy
    - sqlite3_mprintf
    - sqlite3_exec
    - eap_get_serial_num
    - sqlite3_free
    - os_malloc
    - RADIUS_DEBUG
    - os_snprintf
    - sqlite3_errmsg
    - os_free
    - eap_get_identity
    linkageType: ''
    returnType: void
    signature: void db_update_last_msk(struct radius_session *sess, const char *msk)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: radius_msg_get_hdr
      Src: /src/hostap/src/radius/radius_server.c:772,1
    - Dst: radius_msg_new
      Src: /src/hostap/src/radius/radius_server.c:786,1
    - Dst: RADIUS_DEBUG
      Src: /src/hostap/src/radius/radius_server.c:788,1
    - Dst: radius_msg_add_msg_auth
      Src: /src/hostap/src/radius/radius_server.c:792,1
    - Dst: radius_msg_free
      Src: /src/hostap/src/radius/radius_server.c:793,1
    - Dst: htonl
      Src: /src/hostap/src/radius/radius_server.c:797,1
    - Dst: radius_msg_add_attr
      Src: /src/hostap/src/radius/radius_server.c:799,1
    - Dst: RADIUS_DEBUG
      Src: /src/hostap/src/radius/radius_server.c:801,1
    - Dst: radius_msg_add_eap
      Src: /src/hostap/src/radius/radius_server.c:805,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/radius/radius_server.c:805,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/radius/radius_server.c:806,1
    - Dst: RADIUS_DEBUG
      Src: /src/hostap/src/radius/radius_server.c:807,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/radius/radius_server.c:818,1
    - Dst: fopen
      Src: /src/hostap/src/radius/radius_server.c:825,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/radius/radius_server.c:830,1
    - Dst: fprintf
      Src: /src/hostap/src/radius/radius_server.c:834,1
    - Dst: fclose
      Src: /src/hostap/src/radius/radius_server.c:835,1
    - Dst: db_update_last_msk
      Src: /src/hostap/src/radius/radius_server.c:839,1
    - Dst: radius_msg_add_mppe_keys
      Src: /src/hostap/src/radius/radius_server.c:846,1
    - Dst: RADIUS_DEBUG
      Src: /src/hostap/src/radius/radius_server.c:852,1
    - Dst: radius_msg_add_attr
      Src: /src/hostap/src/radius/radius_server.c:856,1
    - Dst: RADIUS_DEBUG
      Src: /src/hostap/src/radius/radius_server.c:859,1
    - Dst: radius_msg_add_wfa
      Src: /src/hostap/src/radius/radius_server.c:870,1
    - Dst: RADIUS_DEBUG
      Src: /src/hostap/src/radius/radius_server.c:873,1
    - Dst: radius_msg_free
      Src: /src/hostap/src/radius/radius_server.c:874,1
    - Dst: RADIUS_DEBUG
      Src: /src/hostap/src/radius/radius_server.c:879,1
    - Dst: radius_msg_free
      Src: /src/hostap/src/radius/radius_server.c:880,1
    - Dst: os_strstr
      Src: /src/hostap/src/radius/radius_server.c:884,1
    - Dst: RADIUS_DEBUG
      Src: /src/hostap/src/radius/radius_server.c:886,1
    - Dst: radius_msg_free
      Src: /src/hostap/src/radius/radius_server.c:887,1
    - Dst: os_strlen
      Src: /src/hostap/src/radius/radius_server.c:891,1
    - Dst: os_malloc
      Src: /src/hostap/src/radius/radius_server.c:892,1
    - Dst: RADIUS_DEBUG
      Src: /src/hostap/src/radius/radius_server.c:894,1
    - Dst: os_free
      Src: /src/hostap/src/radius/radius_server.c:895,1
    - Dst: radius_msg_free
      Src: /src/hostap/src/radius/radius_server.c:896,1
    - Dst: os_memcpy
      Src: /src/hostap/src/radius/radius_server.c:901,1
    - Dst: os_snprintf
      Src: /src/hostap/src/radius/radius_server.c:903,1
    - Dst: MAC2STR
      Src: /src/hostap/src/radius/radius_server.c:903,1
    - Dst: os_memcpy
      Src: /src/hostap/src/radius/radius_server.c:905,1
    - Dst: os_strlen
      Src: /src/hostap/src/radius/radius_server.c:905,1
    - Dst: radius_msg_add_wfa
      Src: /src/hostap/src/radius/radius_server.c:906,1
    - Dst: RADIUS_DEBUG
      Src: /src/hostap/src/radius/radius_server.c:909,1
    - Dst: os_free
      Src: /src/hostap/src/radius/radius_server.c:910,1
    - Dst: radius_msg_free
      Src: /src/hostap/src/radius/radius_server.c:911,1
    - Dst: os_free
      Src: /src/hostap/src/radius/radius_server.c:914,1
    - Dst: radius_srv_hs20_t_c_pending
      Src: /src/hostap/src/radius/radius_server.c:916,1
    - Dst: radius_msg_copy_attr
      Src: /src/hostap/src/radius/radius_server.c:920,1
    - Dst: RADIUS_DEBUG
      Src: /src/hostap/src/radius/radius_server.c:921,1
    - Dst: radius_msg_free
      Src: /src/hostap/src/radius/radius_server.c:922,1
    - Dst: radius_msg_add_attr
      Src: /src/hostap/src/radius/radius_server.c:929,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/radius/radius_server.c:930,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/radius/radius_server.c:931,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_server.c:932,1
    - Dst: radius_msg_free
      Src: /src/hostap/src/radius/radius_server.c:933,1
    - Dst: radius_msg_add_attr_int32
      Src: /src/hostap/src/radius/radius_server.c:940,1
    - Dst: RADIUS_DEBUG
      Src: /src/hostap/src/radius/radius_server.c:942,1
    - Dst: radius_msg_free
      Src: /src/hostap/src/radius/radius_server.c:943,1
    - Dst: radius_msg_finish_srv
      Src: /src/hostap/src/radius/radius_server.c:948,1
    - Dst: RADIUS_DEBUG
      Src: /src/hostap/src/radius/radius_server.c:951,1
    - Dst: radius_msg_free
      Src: /src/hostap/src/radius/radius_server.c:952,1
    - Dst: radius_server_add_session
      Src: /src/hostap/src/radius/radius_server.c:957,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 129
    argCount: 4
    argNames:
    - data
    - client
    - sess
    - request
    argTypes:
    - struct radius_server_data*
    - struct radius_client*
    - struct radius_session*
    - struct radius_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 763
    functionDepth: 3
    functionLinenumber: 763
    functionLinenumberEnd: 960
    functionName: radius_server_encapsulate_eap
    functionSourceFile: /src/hostap/src/radius/radius_server.c
    functionUses: 0
    functionsReached:
    - db_update_last_msk
    - fprintf
    - radius_server_add_session
    - RADIUS_DEBUG
    - os_snprintf
    - fopen
    - os_strlen
    - wpa_printf
    - wpa_snprintf_hex
    - radius_msg_add_eap
    - radius_msg_new
    - radius_msg_copy_attr
    - fclose
    - os_strstr
    - radius_msg_free
    - os_free
    - radius_msg_finish_srv
    - wpabuf_len
    - radius_msg_add_wfa
    - os_malloc
    - wpabuf_head
    - radius_srv_hs20_t_c_pending
    - radius_msg_get_hdr
    - os_memcpy
    - radius_msg_add_attr
    - htonl
    - MAC2STR
    - radius_msg_add_attr_int32
    - radius_msg_add_msg_auth
    - radius_msg_add_mppe_keys
    linkageType: ''
    returnType: struct radius_msg
    signature: "struct radius_msg *\nradius_server_encapsulate_eap(struct radius_server_data
      *data,\n\t\t\t      struct radius_client *client,\n\t\t\t      struct radius_session
      *sess,\n\t\t\t      struct radius_msg *request)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: radius_msg_get_hdr
      Src: /src/hostap/src/radius/radius_server.c:971,1
    - Dst: radius_msg_get_attr_ptr
      Src: /src/hostap/src/radius/radius_server.c:977,1
    - Dst: RADIUS_DEBUG
      Src: /src/hostap/src/radius/radius_server.c:979,1
    - Dst: os_memset
      Src: /src/hostap/src/radius/radius_server.c:985,1
    - Dst: struct radius_server_data*::get_eap_user
      Src: /src/hostap/src/radius/radius_server.c:986,1
    - Dst: os_strlen
      Src: /src/hostap/src/radius/radius_server.c:987,1
    - Dst: RADIUS_DEBUG
      Src: /src/hostap/src/radius/radius_server.c:989,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/radius/radius_server.c:990,1
    - Dst: radius_user_password_hide
      Src: /src/hostap/src/radius/radius_server.c:994,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/radius/radius_server.c:999,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/radius/radius_server.c:1002,1
    - Dst: RADIUS_DEBUG
      Src: /src/hostap/src/radius/radius_server.c:1003,1
    - Dst: radius_msg_new
      Src: /src/hostap/src/radius/radius_server.c:1009,1
    - Dst: RADIUS_DEBUG
      Src: /src/hostap/src/radius/radius_server.c:1011,1
    - Dst: radius_msg_add_msg_auth
      Src: /src/hostap/src/radius/radius_server.c:1015,1
    - Dst: radius_msg_free
      Src: /src/hostap/src/radius/radius_server.c:1016,1
    - Dst: radius_msg_copy_attr
      Src: /src/hostap/src/radius/radius_server.c:1020,1
    - Dst: RADIUS_DEBUG
      Src: /src/hostap/src/radius/radius_server.c:1021,1
    - Dst: radius_msg_free
      Src: /src/hostap/src/radius/radius_server.c:1022,1
    - Dst: radius_msg_add_attr
      Src: /src/hostap/src/radius/radius_server.c:1029,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/radius/radius_server.c:1030,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/radius/radius_server.c:1031,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_server.c:1032,1
    - Dst: radius_msg_free
      Src: /src/hostap/src/radius/radius_server.c:1033,1
    - Dst: radius_msg_finish_srv
      Src: /src/hostap/src/radius/radius_server.c:1039,1
    - Dst: RADIUS_DEBUG
      Src: /src/hostap/src/radius/radius_server.c:1042,1
    - Dst: radius_msg_free
      Src: /src/hostap/src/radius/radius_server.c:1043,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 50
    argCount: 4
    argNames:
    - data
    - client
    - sess
    - request
    argTypes:
    - struct radius_server_data*
    - struct radius_client*
    - struct radius_session*
    - struct radius_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 963
    functionDepth: 2
    functionLinenumber: 963
    functionLinenumberEnd: 1048
    functionName: radius_server_macacl
    functionSourceFile: /src/hostap/src/radius/radius_server.c
    functionUses: 0
    functionsReached:
    - os_strlen
    - radius_msg_get_hdr
    - radius_user_password_hide
    - wpa_printf
    - radius_msg_add_attr
    - radius_msg_new
    - radius_msg_copy_attr
    - wpabuf_len
    - RADIUS_DEBUG
    - bin_clear_free
    - os_memcmp_const
    - struct radius_server_data*::get_eap_user
    - radius_msg_get_attr_ptr
    - wpabuf_head
    - radius_msg_add_msg_auth
    - radius_msg_free
    - radius_msg_finish_srv
    - os_memset
    linkageType: ''
    returnType: struct radius_msg
    signature: "struct radius_msg *\nradius_server_macacl(struct radius_server_data
      *data,\n\t\t     struct radius_client *client,\n\t\t     struct radius_session
      *sess,\n\t\t     struct radius_msg *request)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: radius_msg_get_hdr
      Src: /src/hostap/src/radius/radius_server.c:1061,1
    - Dst: RADIUS_DEBUG
      Src: /src/hostap/src/radius/radius_server.c:1063,1
    - Dst: radius_msg_new
      Src: /src/hostap/src/radius/radius_server.c:1066,1
    - Dst: radius_msg_add_msg_auth
      Src: /src/hostap/src/radius/radius_server.c:1071,1
    - Dst: radius_msg_free
      Src: /src/hostap/src/radius/radius_server.c:1072,1
    - Dst: os_memset
      Src: /src/hostap/src/radius/radius_server.c:1076,1
    - Dst: host_to_be16
      Src: /src/hostap/src/radius/radius_server.c:1079,1
    - Dst: radius_msg_add_eap
      Src: /src/hostap/src/radius/radius_server.c:1081,1
    - Dst: RADIUS_DEBUG
      Src: /src/hostap/src/radius/radius_server.c:1082,1
    - Dst: radius_msg_copy_attr
      Src: /src/hostap/src/radius/radius_server.c:1085,1
    - Dst: RADIUS_DEBUG
      Src: /src/hostap/src/radius/radius_server.c:1086,1
    - Dst: radius_msg_free
      Src: /src/hostap/src/radius/radius_server.c:1087,1
    - Dst: radius_msg_finish_srv
      Src: /src/hostap/src/radius/radius_server.c:1091,1
    - Dst: RADIUS_DEBUG
      Src: /src/hostap/src/radius/radius_server.c:1095,1
    - Dst: radius_msg_free
      Src: /src/hostap/src/radius/radius_server.c:1096,1
    - Dst: radius_msg_dump
      Src: /src/hostap/src/radius/radius_server.c:1101,1
    - Dst: radius_msg_get_buf
      Src: /src/hostap/src/radius/radius_server.c:1106,1
    - Dst: sendto
      Src: /src/hostap/src/radius/radius_server.c:1107,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/radius/radius_server.c:1107,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/radius/radius_server.c:1107,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_server.c:1109,1
    - Dst: strerror
      Src: /src/hostap/src/radius/radius_server.c:1109,1
    - Dst: radius_msg_free
      Src: /src/hostap/src/radius/radius_server.c:1113,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 39
    argCount: 7
    argNames:
    - data
    - client
    - request
    - from
    - fromlen
    - from_addr
    - from_port
    argTypes:
    - struct radius_server_data*
    - struct radius_client*
    - struct radius_msg*
    - struct sockaddr*
    - socklen_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1116
      start: 1051
    functionDepth: 1
    functionLinenumber: 1051
    functionLinenumberEnd: 1116
    functionName: radius_server_reject
    functionSourceFile: /src/hostap/src/radius/radius_server.c
    functionUses: 0
    functionsReached:
    - radius_msg_get_hdr
    - wpa_printf
    - sendto
    - strerror
    - radius_msg_add_eap
    - radius_msg_new
    - host_to_be16
    - radius_msg_copy_attr
    - radius_msg_dump
    - wpabuf_len
    - RADIUS_DEBUG
    - wpabuf_head
    - radius_msg_get_buf
    - radius_msg_add_msg_auth
    - radius_msg_free
    - radius_msg_finish_srv
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int radius_server_reject(struct radius_server_data *data,\n\t\t\t\tstruct
      radius_client *client,\n\t\t\t\tstruct radius_msg *request,\n\t\t\t\tstruct
      sockaddr *from, socklen_t fromlen,\n\t\t\t\tconst char *from_addr, int from_port)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: radius_msg_get_attr_ptr
      Src: /src/hostap/src/radius/radius_server.c:1128,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/radius/radius_server.c:1135,1
    - Dst: RADIUS_DEBUG
      Src: /src/hostap/src/radius/radius_server.c:1155,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/radius/radius_server.c:1155,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/radius/radius_server.c:1156,1
    - Dst: RADIUS_DEBUG
      Src: /src/hostap/src/radius/radius_server.c:1157,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 31
    argCount: 2
    argNames:
    - sess
    - msg
    argTypes:
    - struct radius_session*
    - struct radius_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1161
      start: 1119
    functionDepth: 1
    functionLinenumber: 1119
    functionLinenumberEnd: 1161
    functionName: radius_server_hs20_t_c_check
    functionSourceFile: /src/hostap/src/radius/radius_server.c
    functionUses: 0
    functionsReached:
    - radius_msg_get_attr_ptr
    - WPA_GET_BE32
    - RADIUS_DEBUG
    linkageType: ''
    returnType: void
    signature: "void radius_server_hs20_t_c_check(struct radius_session *sess,\n\t\t\t\t\t
      struct radius_msg *msg)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: radius_msg_get_attr
      Src: /src/hostap/src/radius/radius_server.c:1182,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/radius/radius_server.c:1186,1
    - Dst: radius_server_get_session
      Src: /src/hostap/src/radius/radius_server.c:1187,1
    - Dst: RADIUS_DEBUG
      Src: /src/hostap/src/radius/radius_server.c:1194,1
    - Dst: RADIUS_DEBUG
      Src: /src/hostap/src/radius/radius_server.c:1196,1
    - Dst: radius_server_reject
      Src: /src/hostap/src/radius/radius_server.c:1197,1
    - Dst: radius_server_get_new_session
      Src: /src/hostap/src/radius/radius_server.c:1201,1
    - Dst: RADIUS_DEBUG
      Src: /src/hostap/src/radius/radius_server.c:1204,1
    - Dst: radius_server_reject
      Src: /src/hostap/src/radius/radius_server.c:1205,1
    - Dst: radius_msg_get_hdr
      Src: /src/hostap/src/radius/radius_server.c:1212,1
    - Dst: os_memcmp
      Src: /src/hostap/src/radius/radius_server.c:1213,1
    - Dst: radius_msg_get_hdr
      Src: /src/hostap/src/radius/radius_server.c:1214,1
    - Dst: RADIUS_DEBUG
      Src: /src/hostap/src/radius/radius_server.c:1215,1
    - Dst: radius_msg_get_buf
      Src: /src/hostap/src/radius/radius_server.c:1221,1
    - Dst: sendto
      Src: /src/hostap/src/radius/radius_server.c:1222,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/radius/radius_server.c:1222,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/radius/radius_server.c:1223,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_server.c:1226,1
    - Dst: strerror
      Src: /src/hostap/src/radius/radius_server.c:1227,1
    - Dst: RADIUS_DEBUG
      Src: /src/hostap/src/radius/radius_server.c:1232,1
    - Dst: radius_msg_get_eap
      Src: /src/hostap/src/radius/radius_server.c:1237,1
    - Dst: radius_server_macacl
      Src: /src/hostap/src/radius/radius_server.c:1239,1
    - Dst: RADIUS_DEBUG
      Src: /src/hostap/src/radius/radius_server.c:1245,1
    - Dst: RADIUS_DUMP
      Src: /src/hostap/src/radius/radius_server.c:1252,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/radius/radius_server.c:1252,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/radius/radius_server.c:1252,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/radius/radius_server.c:1261,1
    - Dst: eap_server_sm_step
      Src: /src/hostap/src/radius/radius_server.c:1264,1
    - Dst: RADIUS_DUMP
      Src: /src/hostap/src/radius/radius_server.c:1268,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/radius/radius_server.c:1269,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/radius/radius_server.c:1270,1
    - Dst: RADIUS_DEBUG
      Src: /src/hostap/src/radius/radius_server.c:1272,1
    - Dst: eap_sm_method_pending
      Src: /src/hostap/src/radius/radius_server.c:1274,1
    - Dst: radius_msg_free
      Src: /src/hostap/src/radius/radius_server.c:1275,1
    - Dst: os_free
      Src: /src/hostap/src/radius/radius_server.c:1278,1
    - Dst: os_strdup
      Src: /src/hostap/src/radius/radius_server.c:1279,1
    - Dst: os_memcpy
      Src: /src/hostap/src/radius/radius_server.c:1281,1
    - Dst: RADIUS_DEBUG
      Src: /src/hostap/src/radius/radius_server.c:1284,1
    - Dst: srv_log
      Src: /src/hostap/src/radius/radius_server.c:1295,1
    - Dst: db_update_last_msk
      Src: /src/hostap/src/radius/radius_server.c:1296,1
    - Dst: srv_log
      Src: /src/hostap/src/radius/radius_server.c:1298,1
    - Dst: radius_server_hs20_t_c_check
      Src: /src/hostap/src/radius/radius_server.c:1302,1
    - Dst: radius_server_encapsulate_eap
      Src: /src/hostap/src/radius/radius_server.c:1304,1
    - Dst: RADIUS_DEBUG
      Src: /src/hostap/src/radius/radius_server.c:1311,1
    - Dst: radius_msg_dump
      Src: /src/hostap/src/radius/radius_server.c:1313,1
    - Dst: radius_msg_get_hdr
      Src: /src/hostap/src/radius/radius_server.c:1316,1
    - Dst: srv_log
      Src: /src/hostap/src/radius/radius_server.c:1318,1
    - Dst: srv_log
      Src: /src/hostap/src/radius/radius_server.c:1323,1
    - Dst: radius_msg_get_buf
      Src: /src/hostap/src/radius/radius_server.c:1332,1
    - Dst: sendto
      Src: /src/hostap/src/radius/radius_server.c:1333,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/radius/radius_server.c:1333,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/radius/radius_server.c:1334,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_server.c:1337,1
    - Dst: strerror
      Src: /src/hostap/src/radius/radius_server.c:1338,1
    - Dst: radius_msg_free
      Src: /src/hostap/src/radius/radius_server.c:1340,1
    - Dst: radius_msg_get_hdr
      Src: /src/hostap/src/radius/radius_server.c:1343,1
    - Dst: os_memcpy
      Src: /src/hostap/src/radius/radius_server.c:1345,1
    - Dst: RADIUS_DEBUG
      Src: /src/hostap/src/radius/radius_server.c:1352,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/radius/radius_server.c:1354,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/radius/radius_server.c:1356,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 138
    argCount: 8
    argNames:
    - data
    - msg
    - from
    - fromlen
    - client
    - from_addr
    - from_port
    - force_sess
    argTypes:
    - struct radius_server_data*
    - struct radius_msg*
    - struct sockaddr*
    - socklen_t
    - struct radius_client*
    - char*
    - int
    - struct radius_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1362
      start: 1164
    functionDepth: 6
    functionLinenumber: 1164
    functionLinenumberEnd: 1362
    functionName: radius_server_request
    functionSourceFile: /src/hostap/src/radius/radius_server.c
    functionUses: 0
    functionsReached:
    - db_update_last_msk
    - radius_server_hs20_t_c_check
    - RADIUS_DEBUG
    - radius_server_encapsulate_eap
    - radius_msg_get_eap
    - wpa_printf
    - eap_sm_method_pending
    - radius_server_macacl
    - radius_server_reject
    - os_memcmp
    - os_free
    - srv_log
    - eap_server_sm_step
    - sendto
    - radius_server_get_new_session
    - wpabuf_len
    - radius_server_get_session
    - wpabuf_head
    - radius_msg_get_buf
    - os_strdup
    - radius_msg_get_hdr
    - os_memcpy
    - strerror
    - eloop_cancel_timeout
    - radius_msg_dump
    - wpabuf_free
    - radius_msg_get_attr
    - RADIUS_DUMP
    - eloop_register_timeout
    - radius_msg_free
    - WPA_GET_BE32
    linkageType: ''
    returnType: int
    signature: "int radius_server_request(struct radius_server_data *data,\n\t\t\t\t
      struct radius_msg *msg,\n\t\t\t\t struct sockaddr *from, socklen_t fromlen,\n\t\t\t\t
      struct radius_client *client,\n\t\t\t\t const char *from_addr, int from_port,\n\t\t\t\t
      struct radius_session *force_sess)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RADIUS_DEBUG
      Src: /src/hostap/src/radius/radius_server.c:1373,1
    - Dst: radius_msg_free
      Src: /src/hostap/src/radius/radius_server.c:1374,1
    - Dst: radius_msg_get_hdr
      Src: /src/hostap/src/radius/radius_server.c:1378,1
    - Dst: RADIUS_DEBUG
      Src: /src/hostap/src/radius/radius_server.c:1380,1
    - Dst: radius_msg_free
      Src: /src/hostap/src/radius/radius_server.c:1383,1
    - Dst: radius_msg_verify
      Src: /src/hostap/src/radius/radius_server.c:1387,1
    - Dst: RADIUS_DEBUG
      Src: /src/hostap/src/radius/radius_server.c:1390,1
    - Dst: radius_msg_free
      Src: /src/hostap/src/radius/radius_server.c:1391,1
    - Dst: RADIUS_DEBUG
      Src: /src/hostap/src/radius/radius_server.c:1395,1
    - Dst: MAC2STR
      Src: /src/hostap/src/radius/radius_server.c:1397,1
    - Dst: radius_msg_free
      Src: /src/hostap/src/radius/radius_server.c:1399,1
    - Dst: radius_msg_free
      Src: /src/hostap/src/radius/radius_server.c:1400,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 4
    argNames:
    - data
    - client
    - msg
    - ack
    argTypes:
    - struct radius_server_data*
    - struct radius_client*
    - struct radius_msg*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1402
      start: 1365
    functionDepth: 1
    functionLinenumber: 1365
    functionLinenumberEnd: 1402
    functionName: radius_server_receive_disconnect_resp
    functionSourceFile: /src/hostap/src/radius/radius_server.c
    functionUses: 0
    functionsReached:
    - radius_msg_get_hdr
    - radius_msg_verify
    - RADIUS_DEBUG
    - MAC2STR
    - radius_msg_free
    linkageType: ''
    returnType: void
    signature: "void radius_server_receive_disconnect_resp(struct radius_server_data
      *data,\n\t\t\t\t      struct radius_client *client,\n\t\t\t\t      struct radius_msg
      *msg, int ack)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: RADIUS_DEBUG
      Src: /src/hostap/src/radius/radius_server.c:1417,1
    - Dst: radius_msg_free
      Src: /src/hostap/src/radius/radius_server.c:1418,1
    - Dst: radius_msg_get_hdr
      Src: /src/hostap/src/radius/radius_server.c:1422,1
    - Dst: RADIUS_DEBUG
      Src: /src/hostap/src/radius/radius_server.c:1424,1
    - Dst: radius_msg_free
      Src: /src/hostap/src/radius/radius_server.c:1427,1
    - Dst: radius_msg_verify
      Src: /src/hostap/src/radius/radius_server.c:1431,1
    - Dst: RADIUS_DEBUG
      Src: /src/hostap/src/radius/radius_server.c:1434,1
    - Dst: radius_msg_free
      Src: /src/hostap/src/radius/radius_server.c:1435,1
    - Dst: RADIUS_DEBUG
      Src: /src/hostap/src/radius/radius_server.c:1439,1
    - Dst: MAC2STR
      Src: /src/hostap/src/radius/radius_server.c:1441,1
    - Dst: radius_msg_free
      Src: /src/hostap/src/radius/radius_server.c:1443,1
    - Dst: radius_msg_free
      Src: /src/hostap/src/radius/radius_server.c:1444,1
    - Dst: os_snprintf
      Src: /src/hostap/src/radius/radius_server.c:1451,1
    - Dst: MAC2STR
      Src: /src/hostap/src/radius/radius_server.c:1452,1
    - Dst: sqlite3_mprintf
      Src: /src/hostap/src/radius/radius_server.c:1455,1
    - Dst: sqlite3_mprintf
      Src: /src/hostap/src/radius/radius_server.c:1458,1
    - Dst: sqlite3_exec
      Src: /src/hostap/src/radius/radius_server.c:1464,1
    - Dst: sqlite3_free
      Src: /src/hostap/src/radius/radius_server.c:1465,1
    - Dst: RADIUS_ERROR
      Src: /src/hostap/src/radius/radius_server.c:1467,1
    - Dst: sqlite3_errmsg
      Src: /src/hostap/src/radius/radius_server.c:1468,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 4
    argNames:
    - data
    - client
    - msg
    - ack
    argTypes:
    - struct radius_server_data*
    - struct radius_client*
    - struct radius_msg*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1472
      start: 1405
    functionDepth: 1
    functionLinenumber: 1405
    functionLinenumberEnd: 1472
    functionName: radius_server_receive_coa_resp
    functionSourceFile: /src/hostap/src/radius/radius_server.c
    functionUses: 0
    functionsReached:
    - RADIUS_ERROR
    - radius_msg_get_hdr
    - sqlite3_mprintf
    - sqlite3_exec
    - radius_msg_verify
    - sqlite3_free
    - RADIUS_DEBUG
    - os_snprintf
    - MAC2STR
    - sqlite3_errmsg
    - radius_msg_free
    linkageType: ''
    returnType: void
    signature: "void radius_server_receive_coa_resp(struct radius_server_data *data,\n\t\t\t\t\t
      \  struct radius_client *client,\n\t\t\t\t\t   struct radius_msg *msg, int ack)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/radius/radius_server.c:1494,1
    - Dst: recvfrom
      Src: /src/hostap/src/radius/radius_server.c:1500,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_server.c:1503,1
    - Dst: strerror
      Src: /src/hostap/src/radius/radius_server.c:1504,1
    - Dst: inet_ntop
      Src: /src/hostap/src/radius/radius_server.c:1510,1
    - Dst: ntohs
      Src: /src/hostap/src/radius/radius_server.c:1513,1
    - Dst: RADIUS_DEBUG
      Src: /src/hostap/src/radius/radius_server.c:1514,1
    - Dst: radius_server_get_client
      Src: /src/hostap/src/radius/radius_server.c:1517,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/radius/radius_server.c:1524,1
    - Dst: inet_ntoa
      Src: /src/hostap/src/radius/radius_server.c:1524,1
    - Dst: ntohs
      Src: /src/hostap/src/radius/radius_server.c:1525,1
    - Dst: RADIUS_DEBUG
      Src: /src/hostap/src/radius/radius_server.c:1526,1
    - Dst: radius_server_get_client
      Src: /src/hostap/src/radius/radius_server.c:1529,1
    - Dst: RADIUS_DUMP
      Src: /src/hostap/src/radius/radius_server.c:1532,1
    - Dst: RADIUS_DEBUG
      Src: /src/hostap/src/radius/radius_server.c:1535,1
    - Dst: radius_msg_parse
      Src: /src/hostap/src/radius/radius_server.c:1540,1
    - Dst: RADIUS_DEBUG
      Src: /src/hostap/src/radius/radius_server.c:1542,1
    - Dst: os_free
      Src: /src/hostap/src/radius/radius_server.c:1548,1
    - Dst: radius_msg_dump
      Src: /src/hostap/src/radius/radius_server.c:1552,1
    - Dst: radius_msg_get_hdr
      Src: /src/hostap/src/radius/radius_server.c:1555,1
    - Dst: radius_server_receive_disconnect_resp
      Src: /src/hostap/src/radius/radius_server.c:1556,1
    - Dst: radius_msg_get_hdr
      Src: /src/hostap/src/radius/radius_server.c:1560,1
    - Dst: radius_server_receive_disconnect_resp
      Src: /src/hostap/src/radius/radius_server.c:1561,1
    - Dst: radius_msg_get_hdr
      Src: /src/hostap/src/radius/radius_server.c:1565,1
    - Dst: radius_server_receive_coa_resp
      Src: /src/hostap/src/radius/radius_server.c:1566,1
    - Dst: radius_msg_get_hdr
      Src: /src/hostap/src/radius/radius_server.c:1570,1
    - Dst: radius_server_receive_coa_resp
      Src: /src/hostap/src/radius/radius_server.c:1571,1
    - Dst: radius_msg_get_hdr
      Src: /src/hostap/src/radius/radius_server.c:1575,1
    - Dst: RADIUS_DEBUG
      Src: /src/hostap/src/radius/radius_server.c:1576,1
    - Dst: radius_msg_get_hdr
      Src: /src/hostap/src/radius/radius_server.c:1577,1
    - Dst: radius_msg_verify_msg_auth
      Src: /src/hostap/src/radius/radius_server.c:1586,1
    - Dst: RADIUS_DEBUG
      Src: /src/hostap/src/radius/radius_server.c:1588,1
    - Dst: radius_server_request
      Src: /src/hostap/src/radius/radius_server.c:1594,1
    - Dst: radius_msg_free
      Src: /src/hostap/src/radius/radius_server.c:1600,1
    - Dst: os_free
      Src: /src/hostap/src/radius/radius_server.c:1601,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 84
    argCount: 3
    argNames:
    - sock
    - eloop_ctx
    - sock_ctx
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1602
      start: 1475
    functionDepth: 7
    functionLinenumber: 1475
    functionLinenumberEnd: 1602
    functionName: radius_server_receive_auth
    functionSourceFile: /src/hostap/src/radius/radius_server.c
    functionUses: 0
    functionsReached:
    - radius_server_request
    - recvfrom
    - os_strlcpy
    - inet_ntop
    - RADIUS_DEBUG
    - ntohs
    - wpa_printf
    - radius_server_get_client
    - radius_server_receive_coa_resp
    - os_free
    - inet_ntoa
    - radius_server_receive_disconnect_resp
    - os_malloc
    - radius_msg_verify_msg_auth
    - radius_msg_get_hdr
    - strerror
    - radius_msg_dump
    - radius_msg_parse
    - RADIUS_DUMP
    - radius_msg_free
    linkageType: ''
    returnType: void
    signature: "void radius_server_receive_auth(int sock, void *eloop_ctx,\n\t\t\t\t
      \      void *sock_ctx)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/radius/radius_server.c:1627,1
    - Dst: recvfrom
      Src: /src/hostap/src/radius/radius_server.c:1633,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_server.c:1636,1
    - Dst: strerror
      Src: /src/hostap/src/radius/radius_server.c:1637,1
    - Dst: inet_ntop
      Src: /src/hostap/src/radius/radius_server.c:1643,1
    - Dst: ntohs
      Src: /src/hostap/src/radius/radius_server.c:1646,1
    - Dst: RADIUS_DEBUG
      Src: /src/hostap/src/radius/radius_server.c:1647,1
    - Dst: radius_server_get_client
      Src: /src/hostap/src/radius/radius_server.c:1650,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/radius/radius_server.c:1657,1
    - Dst: inet_ntoa
      Src: /src/hostap/src/radius/radius_server.c:1657,1
    - Dst: ntohs
      Src: /src/hostap/src/radius/radius_server.c:1658,1
    - Dst: RADIUS_DEBUG
      Src: /src/hostap/src/radius/radius_server.c:1659,1
    - Dst: radius_server_get_client
      Src: /src/hostap/src/radius/radius_server.c:1662,1
    - Dst: RADIUS_DUMP
      Src: /src/hostap/src/radius/radius_server.c:1665,1
    - Dst: RADIUS_DEBUG
      Src: /src/hostap/src/radius/radius_server.c:1668,1
    - Dst: radius_msg_parse
      Src: /src/hostap/src/radius/radius_server.c:1673,1
    - Dst: RADIUS_DEBUG
      Src: /src/hostap/src/radius/radius_server.c:1675,1
    - Dst: os_free
      Src: /src/hostap/src/radius/radius_server.c:1681,1
    - Dst: radius_msg_dump
      Src: /src/hostap/src/radius/radius_server.c:1685,1
    - Dst: radius_msg_get_hdr
      Src: /src/hostap/src/radius/radius_server.c:1688,1
    - Dst: RADIUS_DEBUG
      Src: /src/hostap/src/radius/radius_server.c:1689,1
    - Dst: radius_msg_get_hdr
      Src: /src/hostap/src/radius/radius_server.c:1690,1
    - Dst: radius_msg_verify_acct_req
      Src: /src/hostap/src/radius/radius_server.c:1699,1
    - Dst: RADIUS_DEBUG
      Src: /src/hostap/src/radius/radius_server.c:1701,1
    - Dst: radius_msg_get_attr_int32
      Src: /src/hostap/src/radius/radius_server.c:1708,1
    - Dst: RADIUS_DEBUG
      Src: /src/hostap/src/radius/radius_server.c:1710,1
    - Dst: struct radius_server_data*::acct_req_cb
      Src: /src/hostap/src/radius/radius_server.c:1716,1
    - Dst: RADIUS_DEBUG
      Src: /src/hostap/src/radius/radius_server.c:1717,1
    - Dst: radius_msg_get_hdr
      Src: /src/hostap/src/radius/radius_server.c:1722,1
    - Dst: radius_msg_new
      Src: /src/hostap/src/radius/radius_server.c:1724,1
    - Dst: radius_msg_finish_acct_resp
      Src: /src/hostap/src/radius/radius_server.c:1728,1
    - Dst: RADIUS_ERROR
      Src: /src/hostap/src/radius/radius_server.c:1731,1
    - Dst: RADIUS_DEBUG
      Src: /src/hostap/src/radius/radius_server.c:1735,1
    - Dst: radius_msg_dump
      Src: /src/hostap/src/radius/radius_server.c:1737,1
    - Dst: radius_msg_get_buf
      Src: /src/hostap/src/radius/radius_server.c:1739,1
    - Dst: sendto
      Src: /src/hostap/src/radius/radius_server.c:1742,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/radius/radius_server.c:1742,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/radius/radius_server.c:1742,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_server.c:1745,1
    - Dst: strerror
      Src: /src/hostap/src/radius/radius_server.c:1746,1
    - Dst: radius_msg_free
      Src: /src/hostap/src/radius/radius_server.c:1750,1
    - Dst: radius_msg_free
      Src: /src/hostap/src/radius/radius_server.c:1751,1
    - Dst: os_free
      Src: /src/hostap/src/radius/radius_server.c:1752,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 98
    argCount: 3
    argNames:
    - sock
    - eloop_ctx
    - sock_ctx
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1753
      start: 1605
    functionDepth: 1
    functionLinenumber: 1605
    functionLinenumberEnd: 1753
    functionName: radius_server_receive_acct
    functionSourceFile: /src/hostap/src/radius/radius_server.c
    functionUses: 0
    functionsReached:
    - recvfrom
    - os_strlcpy
    - inet_ntop
    - radius_msg_verify_acct_req
    - RADIUS_DEBUG
    - radius_msg_get_attr_int32
    - ntohs
    - radius_msg_finish_acct_resp
    - wpa_printf
    - radius_msg_new
    - radius_server_get_client
    - os_free
    - inet_ntoa
    - RADIUS_ERROR
    - sendto
    - wpabuf_len
    - os_malloc
    - wpabuf_head
    - struct radius_server_data*::acct_req_cb
    - radius_msg_get_buf
    - radius_msg_get_hdr
    - strerror
    - radius_msg_dump
    - radius_msg_parse
    - RADIUS_DUMP
    - radius_msg_free
    linkageType: ''
    returnType: void
    signature: "void radius_server_receive_acct(int sock, void *eloop_ctx,\n\t\t\t\t
      \      void *sock_ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/hostap/src/radius/radius_server.c:1762,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_server.c:1765,1
    - Dst: strerror
      Src: /src/hostap/src/radius/radius_server.c:1766,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1769
      start: 1756
    functionDepth: 0
    functionLinenumber: 1756
    functionLinenumberEnd: 1769
    functionName: radius_server_disable_pmtu_discovery
    functionSourceFile: /src/hostap/src/radius/radius_server.c
    functionUses: 0
    functionsReached:
    - setsockopt
    - wpa_printf
    - strerror
    linkageType: ''
    returnType: int
    signature: int radius_server_disable_pmtu_discovery(int s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/hostap/src/radius/radius_server.c:1777,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_server.c:1779,1
    - Dst: strerror
      Src: /src/hostap/src/radius/radius_server.c:1779,1
    - Dst: radius_server_disable_pmtu_discovery
      Src: /src/hostap/src/radius/radius_server.c:1783,1
    - Dst: os_memset
      Src: /src/hostap/src/radius/radius_server.c:1785,1
    - Dst: htons
      Src: /src/hostap/src/radius/radius_server.c:1787,1
    - Dst: bind
      Src: /src/hostap/src/radius/radius_server.c:1788,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_server.c:1789,1
    - Dst: strerror
      Src: /src/hostap/src/radius/radius_server.c:1789,1
    - Dst: close
      Src: /src/hostap/src/radius/radius_server.c:1790,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - port
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1795
      start: 1772
    functionDepth: 1
    functionLinenumber: 1772
    functionLinenumberEnd: 1795
    functionName: radius_server_open_socket
    functionSourceFile: /src/hostap/src/radius/radius_server.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - strerror
    - socket
    - close
    - radius_server_disable_pmtu_discovery
    - bind
    - htons
    - os_memset
    linkageType: ''
    returnType: int
    signature: int radius_server_open_socket(int port)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/hostap/src/radius/radius_server.c:1804,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_server.c:1806,1
    - Dst: strerror
      Src: /src/hostap/src/radius/radius_server.c:1807,1
    - Dst: os_memset
      Src: /src/hostap/src/radius/radius_server.c:1811,1
    - Dst: os_memcpy
      Src: /src/hostap/src/radius/radius_server.c:1813,1
    - Dst: htons
      Src: /src/hostap/src/radius/radius_server.c:1814,1
    - Dst: bind
      Src: /src/hostap/src/radius/radius_server.c:1815,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_server.c:1816,1
    - Dst: strerror
      Src: /src/hostap/src/radius/radius_server.c:1816,1
    - Dst: close
      Src: /src/hostap/src/radius/radius_server.c:1817,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - port
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1822
      start: 1799
    functionDepth: 0
    functionLinenumber: 1799
    functionLinenumberEnd: 1822
    functionName: radius_server_open_socket6
    functionSourceFile: /src/hostap/src/radius/radius_server.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - strerror
    - socket
    - close
    - bind
    - htons
    - os_memset
    linkageType: ''
    returnType: int
    signature: int radius_server_open_socket6(int port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: radius_server_session_free
      Src: /src/hostap/src/radius/radius_server.c:1835,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - data
    - sessions
    argTypes:
    - struct radius_server_data*
    - struct radius_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1837
      start: 1826
    functionDepth: 4
    functionLinenumber: 1826
    functionLinenumberEnd: 1837
    functionName: radius_server_free_sessions
    functionSourceFile: /src/hostap/src/radius/radius_server.c
    functionUses: 0
    functionsReached:
    - radius_server_session_free
    linkageType: ''
    returnType: void
    signature: "void radius_server_free_sessions(struct radius_server_data *data,\n\t\t\t\t\tstruct
      radius_session *sessions)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: radius_server_free_sessions
      Src: /src/hostap/src/radius/radius_server.c:1850,1
    - Dst: os_free
      Src: /src/hostap/src/radius/radius_server.c:1851,1
    - Dst: radius_msg_free
      Src: /src/hostap/src/radius/radius_server.c:1852,1
    - Dst: radius_msg_free
      Src: /src/hostap/src/radius/radius_server.c:1853,1
    - Dst: os_free
      Src: /src/hostap/src/radius/radius_server.c:1854,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - data
    - clients
    argTypes:
    - struct radius_server_data*
    - struct radius_client*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1856
      start: 1840
    functionDepth: 5
    functionLinenumber: 1840
    functionLinenumberEnd: 1856
    functionName: radius_server_free_clients
    functionSourceFile: /src/hostap/src/radius/radius_server.c
    functionUses: 0
    functionsReached:
    - os_free
    - radius_msg_free
    - radius_server_free_sessions
    linkageType: ''
    returnType: void
    signature: "void radius_server_free_clients(struct radius_server_data *data,\n\t\t\t\t
      \      struct radius_client *clients)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/hostap/src/radius/radius_server.c:1873,1
    - Dst: RADIUS_ERROR
      Src: /src/hostap/src/radius/radius_server.c:1875,1
    - Dst: os_malloc
      Src: /src/hostap/src/radius/radius_server.c:1879,1
    - Dst: fclose
      Src: /src/hostap/src/radius/radius_server.c:1881,1
    - Dst: fgets
      Src: /src/hostap/src/radius/radius_server.c:1886,1
    - Dst: strtol
      Src: /src/hostap/src/radius/radius_server.c:1917,1
    - Dst: mask < 0 || mask >
      Src: /src/hostap/src/radius/radius_server.c:1919,1
    - Dst: inet_aton
      Src: /src/hostap/src/radius/radius_server.c:1929,1
    - Dst: inet_pton
      Src: /src/hostap/src/radius/radius_server.c:1934,1
    - Dst: inet_pton
      Src: /src/hostap/src/radius/radius_server.c:1935,1
    - Dst: os_memset
      Src: /src/hostap/src/radius/radius_server.c:1942,1
    - Dst: os_memcpy
      Src: /src/hostap/src/radius/radius_server.c:1945,1
    - Dst: os_zalloc
      Src: /src/hostap/src/radius/radius_server.c:1959,1
    - Dst: os_strdup
      Src: /src/hostap/src/radius/radius_server.c:1964,1
    - Dst: os_free
      Src: /src/hostap/src/radius/radius_server.c:1967,1
    - Dst: os_strlen
      Src: /src/hostap/src/radius/radius_server.c:1970,1
    - Dst: htonl
      Src: /src/hostap/src/radius/radius_server.c:1976,1
    - Dst: os_memcpy
      Src: /src/hostap/src/radius/radius_server.c:1982,1
    - Dst: os_memset
      Src: /src/hostap/src/radius/radius_server.c:1983,1
    - Dst: RADIUS_ERROR
      Src: /src/hostap/src/radius/radius_server.c:2001,1
    - Dst: radius_server_free_clients
      Src: /src/hostap/src/radius/radius_server.c:2002,1
    - Dst: os_free
      Src: /src/hostap/src/radius/radius_server.c:2006,1
    - Dst: fclose
      Src: /src/hostap/src/radius/radius_server.c:2007,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 108
    argCount: 2
    argNames:
    - client_file
    - ipv6
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2010
      start: 1859
    functionDepth: 6
    functionLinenumber: 1859
    functionLinenumberEnd: 2010
    functionName: radius_server_read_clients
    functionSourceFile: /src/hostap/src/radius/radius_server.c
    functionUses: 0
    functionsReached:
    - RADIUS_ERROR
    - strtol
    - os_memcpy
    - os_strlen
    - radius_server_free_clients
    - inet_aton
    - os_memset
    - htonl
    - os_malloc
    - fclose
    - inet_pton
    - os_zalloc
    - mask < 0 || mask >
    - os_free
    - fopen
    - os_strdup
    - fgets
    linkageType: ''
    returnType: struct radius_client
    signature: 'struct radius_client *

      radius_server_read_clients(const char *client_file, int ipv6)'
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_server.c:2029,1
    - Dst: os_zalloc
      Src: /src/hostap/src/radius/radius_server.c:2034,1
    - Dst: dl_list_init
      Src: /src/hostap/src/radius/radius_server.c:2041,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/radius/radius_server.c:2042,1
    - Dst: os_malloc
      Src: /src/hostap/src/radius/radius_server.c:2050,1
    - Dst: os_memcpy
      Src: /src/hostap/src/radius/radius_server.c:2053,1
    - Dst: os_strdup
      Src: /src/hostap/src/radius/radius_server.c:2060,1
    - Dst: sqlite3_open
      Src: /src/hostap/src/radius/radius_server.c:2067,1
    - Dst: RADIUS_ERROR
      Src: /src/hostap/src/radius/radius_server.c:2068,1
    - Dst: os_strdup
      Src: /src/hostap/src/radius/radius_server.c:2077,1
    - Dst: radius_server_read_clients
      Src: /src/hostap/src/radius/radius_server.c:2080,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_server.c:2083,1
    - Dst: radius_server_open_socket6
      Src: /src/hostap/src/radius/radius_server.c:2089,1
    - Dst: radius_server_open_socket
      Src: /src/hostap/src/radius/radius_server.c:2092,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_server.c:2094,1
    - Dst: eloop_register_read_sock
      Src: /src/hostap/src/radius/radius_server.c:2097,1
    - Dst: radius_server_open_socket6
      Src: /src/hostap/src/radius/radius_server.c:2106,1
    - Dst: radius_server_open_socket
      Src: /src/hostap/src/radius/radius_server.c:2110,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_server.c:2112,1
    - Dst: eloop_register_read_sock
      Src: /src/hostap/src/radius/radius_server.c:2115,1
    - Dst: radius_server_deinit
      Src: /src/hostap/src/radius/radius_server.c:2125,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 81
    argCount: 1
    argNames:
    - conf
    argTypes:
    - struct radius_server_conf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2127
      start: 2022
    functionDepth: 7
    functionLinenumber: 2022
    functionLinenumberEnd: 2127
    functionName: radius_server_init
    functionSourceFile: /src/hostap/src/radius/radius_server.c
    functionUses: 1
    functionsReached:
    - RADIUS_ERROR
    - os_get_reltime
    - wpa_printf
    - os_memcpy
    - radius_server_deinit
    - eloop_register_read_sock
    - os_malloc
    - radius_server_open_socket
    - radius_server_read_clients
    - os_zalloc
    - radius_server_open_socket6
    - dl_list_init
    - sqlite3_open
    - os_strdup
    linkageType: ''
    returnType: struct radius_server_data
    signature: 'struct radius_server_data *

      radius_server_init(struct radius_server_conf *conf)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_first
      Src: /src/hostap/src/radius/radius_server.c:2140,1
    - Dst: dl_list_del
      Src: /src/hostap/src/radius/radius_server.c:2142,1
    - Dst: bin_clear_free
      Src: /src/hostap/src/radius/radius_server.c:2143,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct radius_server_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2145
      start: 2134
    functionDepth: 2
    functionLinenumber: 2134
    functionLinenumberEnd: 2145
    functionName: radius_server_erp_flush
    functionSourceFile: /src/hostap/src/radius/radius_server.c
    functionUses: 0
    functionsReached:
    - dl_list_first
    - dl_list_del
    - bin_clear_free
    linkageType: ''
    returnType: void
    signature: void radius_server_erp_flush(struct radius_server_data *data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: eloop_unregister_read_sock
      Src: /src/hostap/src/radius/radius_server.c:2158,1
    - Dst: close
      Src: /src/hostap/src/radius/radius_server.c:2159,1
    - Dst: eloop_unregister_read_sock
      Src: /src/hostap/src/radius/radius_server.c:2163,1
    - Dst: close
      Src: /src/hostap/src/radius/radius_server.c:2164,1
    - Dst: radius_server_free_clients
      Src: /src/hostap/src/radius/radius_server.c:2167,1
    - Dst: os_free
      Src: /src/hostap/src/radius/radius_server.c:2169,1
    - Dst: os_free
      Src: /src/hostap/src/radius/radius_server.c:2171,1
    - Dst: os_free
      Src: /src/hostap/src/radius/radius_server.c:2173,1
    - Dst: sqlite3_close
      Src: /src/hostap/src/radius/radius_server.c:2177,1
    - Dst: radius_server_erp_flush
      Src: /src/hostap/src/radius/radius_server.c:2180,1
    - Dst: os_free
      Src: /src/hostap/src/radius/radius_server.c:2182,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct radius_server_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2183
      start: 2152
    functionDepth: 6
    functionLinenumber: 2152
    functionLinenumberEnd: 2183
    functionName: radius_server_deinit
    functionSourceFile: /src/hostap/src/radius/radius_server.c
    functionUses: 2
    functionsReached:
    - radius_server_free_clients
    - eloop_unregister_read_sock
    - sqlite3_close
    - close
    - os_free
    - radius_server_erp_flush
    linkageType: ''
    returnType: void
    signature: void radius_server_deinit(struct radius_server_data *data)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: os_get_reltime
      Src: /src/hostap/src/radius/radius_server.c:2210,1
    - Dst: os_snprintf
      Src: /src/hostap/src/radius/radius_server.c:2213,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/radius/radius_server.c:2220,1
    - Dst: os_snprintf
      Src: /src/hostap/src/radius/radius_server.c:2226,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/radius/radius_server.c:2259,1
    - Dst: inet_ntop
      Src: /src/hostap/src/radius/radius_server.c:2269,1
    - Dst: inet_ntop
      Src: /src/hostap/src/radius/radius_server.c:2272,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/radius/radius_server.c:2278,1
    - Dst: inet_ntoa
      Src: /src/hostap/src/radius/radius_server.c:2278,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/radius/radius_server.c:2279,1
    - Dst: inet_ntoa
      Src: /src/hostap/src/radius/radius_server.c:2279,1
    - Dst: os_snprintf
      Src: /src/hostap/src/radius/radius_server.c:2282,1
    - Dst: os_snprintf_error
      Src: /src/hostap/src/radius/radius_server.c:2317,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 3
    argNames:
    - data
    - buf
    - buflen
    argTypes:
    - struct radius_server_data*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2325
      start: 2193
    functionDepth: 1
    functionLinenumber: 2193
    functionLinenumberEnd: 2325
    functionName: radius_server_get_mib
    functionSourceFile: /src/hostap/src/radius/radius_server.c
    functionUses: 1
    functionsReached:
    - os_get_reltime
    - os_strlcpy
    - inet_ntop
    - os_snprintf
    - inet_ntoa
    - os_snprintf_error
    linkageType: ''
    returnType: int
    signature: "int radius_server_get_mib(struct radius_server_data *data, char *buf,\n\t\t\t
      \ size_t buflen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct radius_server_data*::get_eap_user
      Src: /src/hostap/src/radius/radius_server.c:2336,1
    - Dst: RADIUS_DEBUG
      Src: /src/hostap/src/radius/radius_server.c:2345,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - ctx
    - identity
    - identity_len
    - phase2
    - user
    argTypes:
    - void*
    - u8*
    - size_t
    - int
    - struct eap_user*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2350
      start: 2328
    functionDepth: 1
    functionLinenumber: 2328
    functionLinenumberEnd: 2350
    functionName: radius_server_get_eap_user
    functionSourceFile: /src/hostap/src/radius/radius_server.c
    functionUses: 0
    functionsReached:
    - struct radius_server_data*::get_eap_user
    - RADIUS_DEBUG
    linkageType: ''
    returnType: int
    signature: "int radius_server_get_eap_user(void *ctx, const u8 *identity,\n\t\t\t\t
      \     size_t identity_len, int phase2,\n\t\t\t\t      struct eap_user *user)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - len
    argTypes:
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2359
      start: 2353
    functionDepth: 0
    functionLinenumber: 2353
    functionLinenumberEnd: 2359
    functionName: radius_server_get_eap_req_id_text
    functionSourceFile: /src/hostap/src/radius/radius_server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * radius_server_get_eap_req_id_text(void *ctx, size_t *len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: srv_log
      Src: /src/hostap/src/radius/radius_server.c:2365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - msg
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2366
      start: 2362
    functionDepth: 2
    functionLinenumber: 2362
    functionLinenumberEnd: 2366
    functionName: radius_server_log_msg
    functionSourceFile: /src/hostap/src/radius/radius_server.c
    functionUses: 0
    functionsReached:
    - srv_log
    linkageType: ''
    returnType: void
    signature: void radius_server_log_msg(void *ctx, const char *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2377
      start: 2371
    functionDepth: 0
    functionLinenumber: 2371
    functionLinenumberEnd: 2377
    functionName: radius_server_get_erp_domain
    functionSourceFile: /src/hostap/src/radius/radius_server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * radius_server_get_erp_domain(void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: radius_server_erp_find_key
      Src: /src/hostap/src/radius/radius_server.c:2386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - keyname
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2387
      start: 2380
    functionDepth: 1
    functionLinenumber: 2380
    functionLinenumberEnd: 2387
    functionName: radius_server_erp_get_key
    functionSourceFile: /src/hostap/src/radius/radius_server.c
    functionUses: 0
    functionsReached:
    - radius_server_erp_find_key
    linkageType: ''
    returnType: struct eap_server_erp_key
    signature: 'struct eap_server_erp_key *

      radius_server_erp_get_key(void *ctx, const char *keyname)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dl_list_add
      Src: /src/hostap/src/radius/radius_server.c:2395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - erp
    argTypes:
    - void*
    - struct eap_server_erp_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2397
      start: 2390
    functionDepth: 1
    functionLinenumber: 2390
    functionLinenumberEnd: 2397
    functionName: radius_server_erp_add_key
    functionSourceFile: /src/hostap/src/radius/radius_server.c
    functionUses: 0
    functionsReached:
    - dl_list_add
    linkageType: ''
    returnType: int
    signature: int radius_server_erp_add_key(void *ctx, struct eap_server_erp_key
      *erp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: RADIUS_DEBUG
      Src: /src/hostap/src/radius/radius_server.c:2445,1
    - Dst: eap_sm_pending_cb
      Src: /src/hostap/src/radius/radius_server.c:2451,1
    - Dst: radius_server_request
      Src: /src/hostap/src/radius/radius_server.c:2452,1
    - Dst: radius_msg_free
      Src: /src/hostap/src/radius/radius_server.c:2459,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 2
    argNames:
    - data
    - ctx
    argTypes:
    - struct radius_server_data*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2460
      start: 2424
    functionDepth: 7
    functionLinenumber: 2424
    functionLinenumberEnd: 2460
    functionName: radius_server_eap_pending_cb
    functionSourceFile: /src/hostap/src/radius/radius_server.c
    functionUses: 1
    functionsReached:
    - radius_msg_free
    - radius_server_request
    - eap_sm_pending_cb
    - RADIUS_DEBUG
    linkageType: ''
    returnType: void
    signature: void radius_server_eap_pending_cb(struct radius_server_data *data,
      void *ctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: RADIUS_DEBUG
      Src: /src/hostap/src/radius/radius_server.c:2483,1
    - Dst: os_strcmp
      Src: /src/hostap/src/radius/radius_server.c:2485,1
    - Dst: os_free
      Src: /src/hostap/src/radius/radius_server.c:2486,1
    - Dst: os_strdup
      Src: /src/hostap/src/radius/radius_server.c:2487,1
    - Dst: os_strcmp
      Src: /src/hostap/src/radius/radius_server.c:2488,1
    - Dst: os_free
      Src: /src/hostap/src/radius/radius_server.c:2489,1
    - Dst: os_strdup
      Src: /src/hostap/src/radius/radius_server.c:2490,1
    - Dst: os_strcmp
      Src: /src/hostap/src/radius/radius_server.c:2491,1
    - Dst: atoi
      Src: /src/hostap/src/radius/radius_server.c:2492,1
    - Dst: os_strcmp
      Src: /src/hostap/src/radius/radius_server.c:2493,1
    - Dst: atoi
      Src: /src/hostap/src/radius/radius_server.c:2494,1
    - Dst: os_strcmp
      Src: /src/hostap/src/radius/radius_server.c:2495,1
    - Dst: atoi
      Src: /src/hostap/src/radius/radius_server.c:2496,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 4
    argNames:
    - ctx
    - argc
    - argv
    - col
    argTypes:
    - void*
    - int
    - char*[]
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2501
      start: 2474
    functionDepth: 1
    functionLinenumber: 2474
    functionLinenumberEnd: 2501
    functionName: get_db_session_fields
    functionSourceFile: /src/hostap/src/radius/radius_server.c
    functionUses: 0
    functionsReached:
    - os_strdup
    - RADIUS_DEBUG
    - atoi
    - os_free
    - os_strcmp
    linkageType: ''
    returnType: int
    signature: int get_db_session_fields(void *ctx, int argc, char *argv[], char *col[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/radius/radius_server.c:2506,1
    - Dst: os_free
      Src: /src/hostap/src/radius/radius_server.c:2508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - fields
    argTypes:
    - struct db_session_fields*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2510
      start: 2504
    functionDepth: 0
    functionLinenumber: 2504
    functionLinenumberEnd: 2510
    functionName: free_db_session_fields
    functionSourceFile: /src/hostap/src/radius/radius_server.c
    functionUses: 0
    functionsReached:
    - os_free
    linkageType: ''
    returnType: void
    signature: void free_db_session_fields(struct db_session_fields *fields)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: os_strncmp
      Src: /src/hostap/src/radius/radius_server.c:2538,1
    - Dst: os_strncmp
      Src: /src/hostap/src/radius/radius_server.c:2541,1
    - Dst: hwaddr_aton
      Src: /src/hostap/src/radius/radius_server.c:2548,1
    - Dst: os_strchr
      Src: /src/hostap/src/radius/radius_server.c:2550,1
    - Dst: os_strstr
      Src: /src/hostap/src/radius/radius_server.c:2552,1
    - Dst: RADIUS_ERROR
      Src: /src/hostap/src/radius/radius_server.c:2557,1
    - Dst: RADIUS_ERROR
      Src: /src/hostap/src/radius/radius_server.c:2562,1
    - Dst: os_snprintf
      Src: /src/hostap/src/radius/radius_server.c:2566,1
    - Dst: MAC2STR
      Src: /src/hostap/src/radius/radius_server.c:2566,1
    - Dst: sqlite3_mprintf
      Src: /src/hostap/src/radius/radius_server.c:2568,1
    - Dst: os_memset
      Src: /src/hostap/src/radius/radius_server.c:2573,1
    - Dst: sqlite3_exec
      Src: /src/hostap/src/radius/radius_server.c:2574,1
    - Dst: sqlite3_free
      Src: /src/hostap/src/radius/radius_server.c:2575,1
    - Dst: RADIUS_ERROR
      Src: /src/hostap/src/radius/radius_server.c:2577,1
    - Dst: sqlite3_errmsg
      Src: /src/hostap/src/radius/radius_server.c:2578,1
    - Dst: free_db_session_fields
      Src: /src/hostap/src/radius/radius_server.c:2579,1
    - Dst: RADIUS_ERROR
      Src: /src/hostap/src/radius/radius_server.c:2584,1
    - Dst: free_db_session_fields
      Src: /src/hostap/src/radius/radius_server.c:2585,1
    - Dst: os_memset
      Src: /src/hostap/src/radius/radius_server.c:2589,1
    - Dst: inet_addr
      Src: /src/hostap/src/radius/radius_server.c:2591,1
    - Dst: htons
      Src: /src/hostap/src/radius/radius_server.c:2592,1
    - Dst: free_db_session_fields
      Src: /src/hostap/src/radius/radius_server.c:2594,1
    - Dst: radius_server_get_client
      Src: /src/hostap/src/radius/radius_server.c:2596,1
    - Dst: RADIUS_ERROR
      Src: /src/hostap/src/radius/radius_server.c:2598,1
    - Dst: radius_msg_new
      Src: /src/hostap/src/radius/radius_server.c:2604,1
    - Dst: os_snprintf
      Src: /src/hostap/src/radius/radius_server.c:2609,1
    - Dst: MAC2STR
      Src: /src/hostap/src/radius/radius_server.c:2610,1
    - Dst: radius_msg_add_attr
      Src: /src/hostap/src/radius/radius_server.c:2611,1
    - Dst: os_strlen
      Src: /src/hostap/src/radius/radius_server.c:2612,1
    - Dst: RADIUS_ERROR
      Src: /src/hostap/src/radius/radius_server.c:2613,1
    - Dst: radius_msg_free
      Src: /src/hostap/src/radius/radius_server.c:2614,1
    - Dst: radius_msg_add_wfa
      Src: /src/hostap/src/radius/radius_server.c:2621,1
    - Dst: RADIUS_DEBUG
      Src: /src/hostap/src/radius/radius_server.c:2624,1
    - Dst: radius_msg_free
      Src: /src/hostap/src/radius/radius_server.c:2625,1
    - Dst: os_get_time
      Src: /src/hostap/src/radius/radius_server.c:2630,1
    - Dst: radius_msg_add_attr_int32
      Src: /src/hostap/src/radius/radius_server.c:2631,1
    - Dst: RADIUS_ERROR
      Src: /src/hostap/src/radius/radius_server.c:2633,1
    - Dst: radius_msg_free
      Src: /src/hostap/src/radius/radius_server.c:2634,1
    - Dst: radius_msg_finish_acct
      Src: /src/hostap/src/radius/radius_server.c:2638,1
    - Dst: RADIUS_ERROR
      Src: /src/hostap/src/radius/radius_server.c:2640,1
    - Dst: radius_msg_free
      Src: /src/hostap/src/radius/radius_server.c:2641,1
    - Dst: radius_msg_dump
      Src: /src/hostap/src/radius/radius_server.c:2646,1
    - Dst: radius_msg_get_buf
      Src: /src/hostap/src/radius/radius_server.c:2648,1
    - Dst: sendto
      Src: /src/hostap/src/radius/radius_server.c:2649,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/radius/radius_server.c:2649,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/radius/radius_server.c:2649,1
    - Dst: RADIUS_ERROR
      Src: /src/hostap/src/radius/radius_server.c:2651,1
    - Dst: strerror
      Src: /src/hostap/src/radius/radius_server.c:2652,1
    - Dst: radius_msg_free
      Src: /src/hostap/src/radius/radius_server.c:2653,1
    - Dst: radius_msg_free
      Src: /src/hostap/src/radius/radius_server.c:2658,1
    - Dst: os_memcpy
      Src: /src/hostap/src/radius/radius_server.c:2661,1
    - Dst: radius_msg_free
      Src: /src/hostap/src/radius/radius_server.c:2663,1
    - Dst: os_memcpy
      Src: /src/hostap/src/radius/radius_server.c:2666,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 104
    argCount: 2
    argNames:
    - data
    - req
    argTypes:
    - struct radius_server_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2673
      start: 2515
    functionDepth: 4
    functionLinenumber: 2515
    functionLinenumberEnd: 2673
    functionName: radius_server_dac_request
    functionSourceFile: /src/hostap/src/radius/radius_server.c
    functionUses: 0
    functionsReached:
    - sqlite3_exec
    - sqlite3_free
    - RADIUS_DEBUG
    - os_snprintf
    - os_strlen
    - radius_msg_new
    - hwaddr_aton
    - inet_addr
    - radius_msg_finish_acct
    - os_strstr
    - radius_server_get_client
    - RADIUS_ERROR
    - free_db_session_fields
    - sqlite3_mprintf
    - sendto
    - wpabuf_len
    - radius_msg_add_wfa
    - wpabuf_head
    - sqlite3_errmsg
    - os_get_time
    - radius_msg_get_buf
    - os_strchr
    - htons
    - os_memset
    - os_memcpy
    - radius_msg_add_attr
    - strerror
    - radius_msg_dump
    - os_strncmp
    - MAC2STR
    - radius_msg_add_attr_int32
    - radius_msg_free
    linkageType: ''
    returnType: int
    signature: int radius_server_dac_request(struct radius_server_data *data, const
      char *req)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - struct radius_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: radius_msg_get_hdr
    functionSourceFile: /src/hostap/src/radius/radius.c
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: struct radius_hdr
    signature: struct radius_hdr * radius_msg_get_hdr(struct radius_msg *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - struct radius_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: radius_msg_get_buf
    functionSourceFile: /src/hostap/src/radius/radius.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * radius_msg_get_buf(struct radius_msg *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_mhead_u8
      Src: /src/hostap/src/radius/radius.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - idx
    argTypes:
    - struct radius_msg*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: radius_get_attr_hdr
    functionSourceFile: /src/hostap/src/radius/radius.c
    functionUses: 0
    functionsReached:
    - wpabuf_mhead_u8
    linkageType: ''
    returnType: struct radius_attr_hdr
    signature: 'struct radius_attr_hdr *

      radius_get_attr_hdr(struct radius_msg *msg, int idx)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - msg
    - code
    - identifier
    argTypes:
    - struct radius_msg*
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: radius_msg_set_hdr
    functionSourceFile: /src/hostap/src/radius/radius.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void radius_msg_set_hdr(struct radius_msg *msg, u8 code, u8 identifier)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_calloc
      Src: /src/hostap/src/radius/radius.c:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - msg
    argTypes:
    - struct radius_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 90
    functionName: radius_msg_initialize
    functionSourceFile: /src/hostap/src/radius/radius.c
    functionUses: 0
    functionsReached:
    - os_calloc
    linkageType: ''
    returnType: int
    signature: int radius_msg_initialize(struct radius_msg *msg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/radius/radius.c:106,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/radius/radius.c:110,1
    - Dst: radius_msg_initialize
      Src: /src/hostap/src/radius/radius.c:111,1
    - Dst: radius_msg_free
      Src: /src/hostap/src/radius/radius.c:112,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/radius/radius.c:115,1
    - Dst: radius_msg_set_hdr
      Src: /src/hostap/src/radius/radius.c:117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - code
    - identifier
    argTypes:
    - u8
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 102
    functionDepth: 3
    functionLinenumber: 102
    functionLinenumberEnd: 120
    functionName: radius_msg_new
    functionSourceFile: /src/hostap/src/radius/radius.c
    functionUses: 10
    functionsReached:
    - wpabuf_put
    - os_zalloc
    - wpabuf_alloc
    - radius_msg_initialize
    - radius_msg_set_hdr
    - radius_msg_free
    linkageType: ''
    returnType: struct radius_msg
    signature: struct radius_msg * radius_msg_new(u8 code, u8 identifier)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/src/radius/radius.c:132,1
    - Dst: os_free
      Src: /src/hostap/src/radius/radius.c:133,1
    - Dst: os_free
      Src: /src/hostap/src/radius/radius.c:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - msg
    argTypes:
    - struct radius_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 135
    functionName: radius_msg_free
    functionSourceFile: /src/hostap/src/radius/radius.c
    functionUses: 28
    functionsReached:
    - os_free
    - wpabuf_free
    linkageType: ''
    returnType: void
    signature: void radius_msg_free(struct radius_msg *msg)
  - BBCount: 17
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 35
    argCount: 1
    argNames:
    - code
    argTypes:
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 158
    functionName: radius_code_string
    functionSourceFile: /src/hostap/src/radius/radius.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *radius_code_string(u8 code)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - type
    argTypes:
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 299
    functionName: radius_get_attr_type
    functionSourceFile: /src/hostap/src/radius/radius.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct radius_attr_type
    signature: struct radius_attr_type * radius_get_attr_type(u16 type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 306
    functionName: radius_is_long_ext_type
    functionSourceFile: /src/hostap/src/radius/radius.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool radius_is_long_ext_type(u8 type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 313
    functionName: radius_is_ext_type
    functionSourceFile: /src/hostap/src/radius/radius.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool radius_is_ext_type(u8 type)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: radius_is_ext_type
      Src: /src/hostap/src/radius/radius.c:327,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius.c:329,1
    - Dst: radius_get_attr_type
      Src: /src/hostap/src/radius/radius.c:339,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius.c:340,1
    - Dst: radius_get_attr_type
      Src: /src/hostap/src/radius/radius.c:346,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius.c:347,1
    - Dst: printf_encode
      Src: /src/hostap/src/radius/radius.c:359,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius.c:360,1
    - Dst: os_memcpy
      Src: /src/hostap/src/radius/radius.c:366,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius.c:367,1
    - Dst: inet_ntoa
      Src: /src/hostap/src/radius/radius.c:368,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius.c:370,1
    - Dst: inet_ntop
      Src: /src/hostap/src/radius/radius.c:380,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius.c:381,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius.c:384,1
    - Dst: wpa_snprintf_hex
      Src: /src/hostap/src/radius/radius.c:392,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius.c:393,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius.c:398,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/radius/radius.c:399,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius.c:401,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 57
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - struct radius_attr_hdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 316
    functionDepth: 3
    functionLinenumber: 316
    functionLinenumberEnd: 408
    functionName: radius_msg_dump_attr
    functionSourceFile: /src/hostap/src/radius/radius.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpa_snprintf_hex
    - radius_is_ext_type
    - inet_ntop
    - printf_encode
    - radius_get_attr_type
    - inet_ntoa
    - WPA_GET_BE32
    linkageType: ''
    returnType: void
    signature: void radius_msg_dump_attr(struct radius_attr_hdr *hdr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius.c:415,1
    - Dst: radius_code_string
      Src: /src/hostap/src/radius/radius.c:416,1
    - Dst: be_to_host16
      Src: /src/hostap/src/radius/radius.c:417,1
    - Dst: radius_get_attr_hdr
      Src: /src/hostap/src/radius/radius.c:420,1
    - Dst: radius_msg_dump_attr
      Src: /src/hostap/src/radius/radius.c:421,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - msg
    argTypes:
    - struct radius_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 411
    functionDepth: 4
    functionLinenumber: 411
    functionLinenumberEnd: 423
    functionName: radius_msg_dump
    functionSourceFile: /src/hostap/src/radius/radius.c
    functionUses: 6
    functionsReached:
    - be_to_host16
    - wpa_printf
    - radius_code_string
    - radius_get_attr_hdr
    - radius_msg_dump_attr
    linkageType: ''
    returnType: void
    signature: void radius_msg_dump(struct radius_msg *msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/radius/radius.c:431,1
    - Dst: radius_msg_add_attr
      Src: /src/hostap/src/radius/radius.c:432,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius.c:435,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - msg
    argTypes:
    - struct radius_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 441
    functionName: radius_msg_add_msg_auth
    functionSourceFile: /src/hostap/src/radius/radius.c
    functionUses: 6
    functionsReached:
    - wpa_printf
    - radius_msg_add_attr
    - os_memset
    linkageType: ''
    returnType: u8
    signature: u8 * radius_msg_add_msg_auth(struct radius_msg *msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: radius_msg_get_attr_ptr
      Src: /src/hostap/src/radius/radius.c:449,1
    - Dst: radius_msg_add_msg_auth
      Src: /src/hostap/src/radius/radius.c:457,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - msg
    argTypes:
    - struct radius_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 444
    functionDepth: 2
    functionLinenumber: 444
    functionLinenumberEnd: 458
    functionName: radius_msg_auth_pos
    functionSourceFile: /src/hostap/src/radius/radius.c
    functionUses: 0
    functionsReached:
    - radius_msg_add_msg_auth
    - radius_msg_get_attr_ptr
    linkageType: ''
    returnType: u8
    signature: u8 * radius_msg_auth_pos(struct radius_msg *msg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: radius_msg_auth_pos
      Src: /src/hostap/src/radius/radius.c:467,1
    - Dst: host_to_be16
      Src: /src/hostap/src/radius/radius.c:470,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/radius/radius.c:470,1
    - Dst: hmac_md5
      Src: /src/hostap/src/radius/radius.c:471,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/radius/radius.c:471,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/radius/radius.c:472,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius.c:473,1
    - Dst: host_to_be16
      Src: /src/hostap/src/radius/radius.c:477,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/radius/radius.c:477,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/radius/radius.c:479,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius.c:480,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/radius/radius.c:481,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - msg
    - secret
    - secret_len
    argTypes:
    - struct radius_msg*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 461
    functionDepth: 3
    functionLinenumber: 461
    functionLinenumberEnd: 485
    functionName: radius_msg_finish
    functionSourceFile: /src/hostap/src/radius/radius.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - host_to_be16
    - wpabuf_len
    - wpabuf_head
    - radius_msg_auth_pos
    - hmac_md5
    linkageType: ''
    returnType: int
    signature: "int radius_msg_finish(struct radius_msg *msg, const u8 *secret,\n\t\t
      \     size_t secret_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: radius_msg_auth_pos
      Src: /src/hostap/src/radius/radius.c:495,1
    - Dst: host_to_be16
      Src: /src/hostap/src/radius/radius.c:498,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/radius/radius.c:498,1
    - Dst: os_memcpy
      Src: /src/hostap/src/radius/radius.c:499,1
    - Dst: hmac_md5
      Src: /src/hostap/src/radius/radius.c:501,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/radius/radius.c:501,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/radius/radius.c:502,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius.c:503,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/radius/radius.c:512,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/radius/radius.c:513,1
    - Dst: md5_vector
      Src: /src/hostap/src/radius/radius.c:516,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius.c:517,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/radius/radius.c:521,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius.c:522,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/radius/radius.c:523,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 4
    argNames:
    - msg
    - secret
    - secret_len
    - req_authenticator
    argTypes:
    - struct radius_msg*
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 488
    functionDepth: 3
    functionLinenumber: 488
    functionLinenumberEnd: 527
    functionName: radius_msg_finish_srv
    functionSourceFile: /src/hostap/src/radius/radius.c
    functionUses: 3
    functionsReached:
    - os_memcpy
    - wpa_printf
    - wpabuf_head_u8
    - host_to_be16
    - wpabuf_len
    - wpabuf_head
    - md5_vector
    - radius_msg_auth_pos
    - hmac_md5
    linkageType: ''
    returnType: int
    signature: "int radius_msg_finish_srv(struct radius_msg *msg, const u8 *secret,\n\t\t\t
      \ size_t secret_len, const u8 *req_authenticator)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: radius_msg_auth_pos
      Src: /src/hostap/src/radius/radius.c:538,1
    - Dst: host_to_be16
      Src: /src/hostap/src/radius/radius.c:542,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/radius/radius.c:542,1
    - Dst: os_memcpy
      Src: /src/hostap/src/radius/radius.c:543,1
    - Dst: hmac_md5
      Src: /src/hostap/src/radius/radius.c:544,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/radius/radius.c:544,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/radius/radius.c:545,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius.c:546,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/radius/radius.c:551,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/radius/radius.c:552,1
    - Dst: md5_vector
      Src: /src/hostap/src/radius/radius.c:555,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius.c:556,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/radius/radius.c:560,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius.c:561,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/radius/radius.c:562,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 4
    argNames:
    - msg
    - secret
    - secret_len
    - req_hdr
    argTypes:
    - struct radius_msg*
    - u8*
    - size_t
    - struct radius_hdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 530
    functionDepth: 3
    functionLinenumber: 530
    functionLinenumberEnd: 566
    functionName: radius_msg_finish_das_resp
    functionSourceFile: /src/hostap/src/radius/radius.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_printf
    - wpabuf_head_u8
    - host_to_be16
    - wpabuf_len
    - wpabuf_head
    - md5_vector
    - radius_msg_auth_pos
    - hmac_md5
    linkageType: ''
    returnType: int
    signature: "int radius_msg_finish_das_resp(struct radius_msg *msg, const u8 *secret,\n\t\t\t
      \      size_t secret_len,\n\t\t\t       const struct radius_hdr *req_hdr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: host_to_be16
      Src: /src/hostap/src/radius/radius.c:575,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/radius/radius.c:575,1
    - Dst: os_memset
      Src: /src/hostap/src/radius/radius.c:576,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/radius/radius.c:577,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/radius/radius.c:578,1
    - Dst: md5_vector
      Src: /src/hostap/src/radius/radius.c:581,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius.c:582,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/radius/radius.c:586,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius.c:587,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/radius/radius.c:588,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - msg
    - secret
    - secret_len
    argTypes:
    - struct radius_msg*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 569
    functionDepth: 1
    functionLinenumber: 569
    functionLinenumberEnd: 592
    functionName: radius_msg_finish_acct
    functionSourceFile: /src/hostap/src/radius/radius.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - host_to_be16
    - wpabuf_len
    - wpabuf_head
    - md5_vector
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int radius_msg_finish_acct(struct radius_msg *msg, const u8 *secret,\n\t\t\t
      \  size_t secret_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: host_to_be16
      Src: /src/hostap/src/radius/radius.c:601,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/radius/radius.c:601,1
    - Dst: os_memcpy
      Src: /src/hostap/src/radius/radius.c:602,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/radius/radius.c:603,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/radius/radius.c:604,1
    - Dst: md5_vector
      Src: /src/hostap/src/radius/radius.c:607,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius.c:608,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/radius/radius.c:612,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius.c:613,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/radius/radius.c:614,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 4
    argNames:
    - msg
    - secret
    - secret_len
    - req_authenticator
    argTypes:
    - struct radius_msg*
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 595
    functionDepth: 1
    functionLinenumber: 595
    functionLinenumberEnd: 618
    functionName: radius_msg_finish_acct_resp
    functionSourceFile: /src/hostap/src/radius/radius.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    - wpa_printf
    - host_to_be16
    - wpabuf_len
    - wpabuf_head
    - md5_vector
    linkageType: ''
    returnType: int
    signature: "int radius_msg_finish_acct_resp(struct radius_msg *msg, const u8 *secret,\n\t\t\t\tsize_t
      secret_len, const u8 *req_authenticator)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/radius/radius.c:629,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/radius/radius.c:635,1
    - Dst: md5_vector
      Src: /src/hostap/src/radius/radius.c:638,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius.c:639,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/radius/radius.c:642,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - msg
    - secret
    - secret_len
    argTypes:
    - struct radius_msg*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 621
    functionDepth: 1
    functionLinenumber: 621
    functionLinenumberEnd: 643
    functionName: radius_msg_verify_acct_req
    functionSourceFile: /src/hostap/src/radius/radius.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - wpabuf_len
    - os_memcmp_const
    - md5_vector
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int radius_msg_verify_acct_req(struct radius_msg *msg, const u8 *secret,\n\t\t\t
      \      size_t secret_len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/radius/radius.c:660,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/radius/radius.c:666,1
    - Dst: md5_vector
      Src: /src/hostap/src/radius/radius.c:669,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius.c:670,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/radius/radius.c:673,1
    - Dst: radius_get_attr_hdr
      Src: /src/hostap/src/radius/radius.c:677,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius.c:680,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius.c:691,1
    - Dst: os_memcpy
      Src: /src/hostap/src/radius/radius.c:698,1
    - Dst: os_memset
      Src: /src/hostap/src/radius/radius.c:699,1
    - Dst: os_memcpy
      Src: /src/hostap/src/radius/radius.c:700,1
    - Dst: os_memset
      Src: /src/hostap/src/radius/radius.c:702,1
    - Dst: hmac_md5
      Src: /src/hostap/src/radius/radius.c:704,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/radius/radius.c:704,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/radius/radius.c:705,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius.c:706,1
    - Dst: os_memcpy
      Src: /src/hostap/src/radius/radius.c:709,1
    - Dst: os_memcpy
      Src: /src/hostap/src/radius/radius.c:710,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/radius/radius.c:713,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 4
    argNames:
    - msg
    - secret
    - secret_len
    - require_message_authenticator
    argTypes:
    - struct radius_msg*
    - u8*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 646
    functionDepth: 3
    functionLinenumber: 646
    functionLinenumberEnd: 714
    functionName: radius_msg_verify_das_req
    functionSourceFile: /src/hostap/src/radius/radius.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpabuf_len
    - wpabuf_head
    - os_memcmp_const
    - md5_vector
    - radius_get_attr_hdr
    - hmac_md5
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int radius_msg_verify_das_req(struct radius_msg *msg, const u8 *secret,\n\t\t\t
      \     size_t secret_len,\n\t\t\t      int require_message_authenticator)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_realloc_array
      Src: /src/hostap/src/radius/radius.c:724,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/radius/radius.c:734,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - msg
    - attr
    argTypes:
    - struct radius_msg*
    - struct radius_attr_hdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 717
    functionDepth: 2
    functionLinenumber: 717
    functionLinenumberEnd: 737
    functionName: radius_msg_add_attr_to_array
    functionSourceFile: /src/hostap/src/radius/radius.c
    functionUses: 0
    functionsReached:
    - wpabuf_head_u8
    - os_realloc_array
    linkageType: ''
    returnType: int
    signature: "int radius_msg_add_attr_to_array(struct radius_msg *msg,\n\t\t\t\t\tstruct
      radius_attr_hdr *attr)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/hostap/src/radius/radius.c:748,1
    - Dst: radius_is_ext_type
      Src: /src/hostap/src/radius/radius.c:752,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius.c:753,1
    - Dst: radius_is_ext_type
      Src: /src/hostap/src/radius/radius.c:760,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius.c:761,1
    - Dst: radius_is_long_ext_type
      Src: /src/hostap/src/radius/radius.c:765,1
    - Dst: radius_is_ext_type
      Src: /src/hostap/src/radius/radius.c:775,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius.c:783,1
    - Dst: wpabuf_tailroom
      Src: /src/hostap/src/radius/radius.c:789,1
    - Dst: wpabuf_resize
      Src: /src/hostap/src/radius/radius.c:791,1
    - Dst: wpabuf_mhead
      Src: /src/hostap/src/radius/radius.c:793,1
    - Dst: radius_is_long_ext_type
      Src: /src/hostap/src/radius/radius.c:796,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/radius/radius.c:802,1
    - Dst: wpabuf_put_u8
      Src: /src/hostap/src/radius/radius.c:809,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/radius/radius.c:810,1
    - Dst: radius_msg_add_attr_to_array
      Src: /src/hostap/src/radius/radius.c:813,1
    - Dst: radius_is_ext_type
      Src: /src/hostap/src/radius/radius.c:817,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/radius/radius.c:818,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/radius/radius.c:823,1
    - Dst: radius_msg_add_attr_to_array
      Src: /src/hostap/src/radius/radius.c:824,1
    - Dst: wpabuf_put
      Src: /src/hostap/src/radius/radius.c:827,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/radius/radius.c:830,1
    - Dst: radius_msg_add_attr_to_array
      Src: /src/hostap/src/radius/radius.c:831,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 72
    argCount: 4
    argNames:
    - msg
    - type
    - data
    - data_len
    argTypes:
    - struct radius_msg*
    - u16
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 740
    functionDepth: 4
    functionLinenumber: 740
    functionLinenumberEnd: 836
    functionName: radius_msg_add_attr
    functionSourceFile: /src/hostap/src/radius/radius.c
    functionUses: 13
    functionsReached:
    - wpa_printf
    - TEST_FAIL
    - wpabuf_resize
    - wpabuf_put
    - wpabuf_put_u8
    - wpabuf_put_data
    - radius_is_long_ext_type
    - radius_is_ext_type
    - wpabuf_tailroom
    - wpabuf_mhead
    - radius_msg_add_attr_to_array
    linkageType: ''
    returnType: struct radius_attr_hdr
    signature: "struct radius_attr_hdr * radius_msg_add_attr(struct radius_msg *msg,
      u16 type,\n\t\t\t\t\t     const u8 *data, size_t data_len)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: be_to_host16
      Src: /src/hostap/src/radius/radius.c:861,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius.c:863,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius.c:868,1
    - Dst: os_zalloc
      Src: /src/hostap/src/radius/radius.c:872,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/radius/radius.c:876,1
    - Dst: radius_msg_initialize
      Src: /src/hostap/src/radius/radius.c:877,1
    - Dst: radius_msg_free
      Src: /src/hostap/src/radius/radius.c:878,1
    - Dst: wpabuf_mhead
      Src: /src/hostap/src/radius/radius.c:881,1
    - Dst: wpabuf_mhead_u8
      Src: /src/hostap/src/radius/radius.c:884,1
    - Dst: wpabuf_mhead_u8
      Src: /src/hostap/src/radius/radius.c:885,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/radius/radius.c:885,1
    - Dst: radius_msg_add_attr_to_array
      Src: /src/hostap/src/radius/radius.c:897,1
    - Dst: radius_msg_free
      Src: /src/hostap/src/radius/radius.c:906,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 41
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 848
    functionDepth: 3
    functionLinenumber: 848
    functionLinenumberEnd: 908
    functionName: radius_msg_parse
    functionSourceFile: /src/hostap/src/radius/radius.c
    functionUses: 5
    functionsReached:
    - be_to_host16
    - wpa_printf
    - wpabuf_mhead_u8
    - wpabuf_len
    - wpabuf_alloc_copy
    - os_zalloc
    - radius_msg_initialize
    - wpabuf_mhead
    - radius_msg_free
    - radius_msg_add_attr_to_array
    linkageType: ''
    returnType: struct radius_msg
    signature: struct radius_msg * radius_msg_parse(const u8 *data, size_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: radius_msg_add_attr
      Src: /src/hostap/src/radius/radius.c:923,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - msg
    - data
    - data_len
    argTypes:
    - struct radius_msg*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 911
    functionDepth: 5
    functionLinenumber: 911
    functionLinenumberEnd: 932
    functionName: radius_msg_add_eap
    functionSourceFile: /src/hostap/src/radius/radius.c
    functionUses: 4
    functionsReached:
    - radius_msg_add_attr
    linkageType: ''
    returnType: int
    signature: int radius_msg_add_eap(struct radius_msg *msg, const u8 *data, size_t
      data_len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: radius_get_attr_hdr
      Src: /src/hostap/src/radius/radius.c:946,1
    - Dst: wpabuf_alloc
      Src: /src/hostap/src/radius/radius.c:955,1
    - Dst: radius_get_attr_hdr
      Src: /src/hostap/src/radius/radius.c:960,1
    - Dst: wpabuf_put_data
      Src: /src/hostap/src/radius/radius.c:964,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 1
    argNames:
    - msg
    argTypes:
    - struct radius_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 969
      start: 935
    functionDepth: 4
    functionLinenumber: 935
    functionLinenumberEnd: 969
    functionName: radius_msg_get_eap
    functionSourceFile: /src/hostap/src/radius/radius.c
    functionUses: 4
    functionsReached:
    - radius_get_attr_hdr
    - wpabuf_alloc
    - wpabuf_put_data
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * radius_msg_get_eap(struct radius_msg *msg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: radius_get_attr_hdr
      Src: /src/hostap/src/radius/radius.c:981,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius.c:984,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius.c:992,1
    - Dst: os_memcpy
      Src: /src/hostap/src/radius/radius.c:996,1
    - Dst: os_memset
      Src: /src/hostap/src/radius/radius.c:997,1
    - Dst: os_memcpy
      Src: /src/hostap/src/radius/radius.c:999,1
    - Dst: os_memcpy
      Src: /src/hostap/src/radius/radius.c:1001,1
    - Dst: hmac_md5
      Src: /src/hostap/src/radius/radius.c:1004,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/radius/radius.c:1004,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/radius/radius.c:1005,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius.c:1006,1
    - Dst: os_memcpy
      Src: /src/hostap/src/radius/radius.c:1009,1
    - Dst: os_memcpy
      Src: /src/hostap/src/radius/radius.c:1011,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/radius/radius.c:1015,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius.c:1016,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 4
    argNames:
    - msg
    - secret
    - secret_len
    - req_auth
    argTypes:
    - struct radius_msg*
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 972
    functionDepth: 3
    functionLinenumber: 972
    functionLinenumberEnd: 1021
    functionName: radius_msg_verify_msg_auth
    functionSourceFile: /src/hostap/src/radius/radius.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    - os_memcpy
    - wpabuf_len
    - wpabuf_head
    - os_memcmp_const
    - radius_get_attr_hdr
    - hmac_md5
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int radius_msg_verify_msg_auth(struct radius_msg *msg, const u8 *secret,\n\t\t\t
      \      size_t secret_len, const u8 *req_auth)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius.c:1032,1
    - Dst: radius_msg_get_attr_ptr
      Src: /src/hostap/src/radius/radius.c:1040,1
    - Dst: radius_msg_verify_msg_auth
      Src: /src/hostap/src/radius/radius.c:1051,1
    - Dst: wpabuf_head_u8
      Src: /src/hostap/src/radius/radius.c:1061,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/radius/radius.c:1062,1
    - Dst: md5_vector
      Src: /src/hostap/src/radius/radius.c:1065,1
    - Dst: os_memcmp_const
      Src: /src/hostap/src/radius/radius.c:1066,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius.c:1067,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 5
    argNames:
    - msg
    - secret
    - secret_len
    - sent_msg
    - auth
    argTypes:
    - struct radius_msg*
    - u8*
    - size_t
    - struct radius_msg*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1024
    functionDepth: 4
    functionLinenumber: 1024
    functionLinenumberEnd: 1072
    functionName: radius_msg_verify
    functionSourceFile: /src/hostap/src/radius/radius.c
    functionUses: 6
    functionsReached:
    - wpa_printf
    - wpabuf_head_u8
    - wpabuf_len
    - os_memcmp_const
    - radius_msg_get_attr_ptr
    - radius_msg_verify_msg_auth
    - md5_vector
    linkageType: ''
    returnType: int
    signature: "int radius_msg_verify(struct radius_msg *msg, const u8 *secret,\n\t\t
      \     size_t secret_len, struct radius_msg *sent_msg, int auth)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: radius_get_attr_hdr
      Src: /src/hostap/src/radius/radius.c:1083,1
    - Dst: radius_msg_add_attr
      Src: /src/hostap/src/radius/radius.c:1085,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - dst
    - src
    - type
    argTypes:
    - struct radius_msg*
    - struct radius_msg*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1093
      start: 1075
    functionDepth: 5
    functionLinenumber: 1075
    functionLinenumberEnd: 1093
    functionName: radius_msg_copy_attr
    functionSourceFile: /src/hostap/src/radius/radius.c
    functionUses: 5
    functionsReached:
    - radius_get_attr_hdr
    - radius_msg_add_attr
    linkageType: ''
    returnType: int
    signature: "int radius_msg_copy_attr(struct radius_msg *dst, struct radius_msg
      *src,\n\t\t\t u8 type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_get_random
      Src: /src/hostap/src/radius/radius.c:1101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - struct radius_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1099
    functionDepth: 0
    functionLinenumber: 1099
    functionLinenumberEnd: 1103
    functionName: radius_msg_make_authenticator
    functionSourceFile: /src/hostap/src/radius/radius.c
    functionUses: 3
    functionsReached:
    - os_get_random
    linkageType: ''
    returnType: int
    signature: int radius_msg_make_authenticator(struct radius_msg *msg)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: radius_get_attr_hdr
      Src: /src/hostap/src/radius/radius.c:1122,1
    - Dst: os_memcpy
      Src: /src/hostap/src/radius/radius.c:1137,1
    - Dst: ntohl
      Src: /src/hostap/src/radius/radius.c:1141,1
    - Dst: os_memdup
      Src: /src/hostap/src/radius/radius.c:1157,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 35
    argCount: 4
    argNames:
    - msg
    - vendor
    - subtype
    - alen
    argTypes:
    - struct radius_msg*
    - u32
    - u8
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1167
      start: 1112
    functionDepth: 3
    functionLinenumber: 1112
    functionLinenumberEnd: 1167
    functionName: radius_msg_get_vendor_attr
    functionSourceFile: /src/hostap/src/radius/radius.c
    functionUses: 0
    functionsReached:
    - radius_get_attr_hdr
    - os_memcpy
    - ntohl
    - os_memdup
    linkageType: ''
    returnType: u8
    signature: "u8 *radius_msg_get_vendor_attr(struct radius_msg *msg, u32 vendor,\n\t\t\t\t
      \     u8 subtype, size_t *alen)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius.c:1185,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius.c:1193,1
    - Dst: os_malloc
      Src: /src/hostap/src/radius/radius.c:1199,1
    - Dst: md5_vector
      Src: /src/hostap/src/radius/radius.c:1219,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius.c:1220,1
    - Dst: os_free
      Src: /src/hostap/src/radius/radius.c:1221,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius.c:1232,1
    - Dst: os_free
      Src: /src/hostap/src/radius/radius.c:1233,1
    - Dst: os_memdup
      Src: /src/hostap/src/radius/radius.c:1237,1
    - Dst: os_free
      Src: /src/hostap/src/radius/radius.c:1239,1
    - Dst: os_free
      Src: /src/hostap/src/radius/radius.c:1244,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 52
    argCount: 6
    argNames:
    - key
    - len
    - req_authenticator
    - secret
    - secret_len
    - reslen
    argTypes:
    - u8*
    - size_t
    - u8*
    - u8*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1246
      start: 1170
    functionDepth: 0
    functionLinenumber: 1170
    functionLinenumberEnd: 1246
    functionName: decrypt_ms_key
    functionSourceFile: /src/hostap/src/radius/radius.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memdup
    - os_malloc
    - md5_vector
    - os_free
    linkageType: ''
    returnType: u8
    signature: "u8 * decrypt_ms_key(const u8 *key, size_t len,\n\t\t\t   const u8
      *req_authenticator,\n\t\t\t   const u8 *secret, size_t secret_len, size_t *reslen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/radius/radius.c:1259,1
    - Dst: os_memset
      Src: /src/hostap/src/radius/radius.c:1265,1
    - Dst: os_memcpy
      Src: /src/hostap/src/radius/radius.c:1267,1
    - Dst: md5_vector
      Src: /src/hostap/src/radius/radius.c:1286,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius.c:1287,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 8
    argNames:
    - key
    - key_len
    - salt
    - req_authenticator
    - secret
    - secret_len
    - ebuf
    - elen
    argTypes:
    - u8*
    - size_t
    - u16
    - u8*
    - u8*
    - size_t
    - u8*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1299
      start: 1249
    functionDepth: 1
    functionLinenumber: 1249
    functionLinenumberEnd: 1299
    functionName: encrypt_ms_key
    functionSourceFile: /src/hostap/src/radius/radius.c
    functionUses: 0
    functionsReached:
    - os_memcpy
    - wpa_printf
    - WPA_PUT_BE16
    - md5_vector
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int encrypt_ms_key(const u8 *key, size_t key_len, u16 salt,\n\t\t\t
      \ const u8 *req_authenticator,\n\t\t\t  const u8 *secret, size_t secret_len,\n\t\t\t
      \ u8 *ebuf, size_t *elen)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/radius/radius.c:1313,1
    - Dst: radius_msg_get_vendor_attr
      Src: /src/hostap/src/radius/radius.c:1317,1
    - Dst: decrypt_ms_key
      Src: /src/hostap/src/radius/radius.c:1321,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius.c:1326,1
    - Dst: os_free
      Src: /src/hostap/src/radius/radius.c:1329,1
    - Dst: radius_msg_get_vendor_attr
      Src: /src/hostap/src/radius/radius.c:1332,1
    - Dst: decrypt_ms_key
      Src: /src/hostap/src/radius/radius.c:1336,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius.c:1341,1
    - Dst: os_free
      Src: /src/hostap/src/radius/radius.c:1344,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 4
    argNames:
    - msg
    - sent_msg
    - secret
    - secret_len
    argTypes:
    - struct radius_msg*
    - struct radius_msg*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1348
      start: 1302
    functionDepth: 4
    functionLinenumber: 1302
    functionLinenumberEnd: 1348
    functionName: radius_msg_get_ms_keys
    functionSourceFile: /src/hostap/src/radius/radius.c
    functionUses: 3
    functionsReached:
    - wpa_printf
    - radius_msg_get_vendor_attr
    - os_zalloc
    - os_free
    - decrypt_ms_key
    linkageType: ''
    returnType: struct radius_ms_mppe_keys
    signature: "struct radius_ms_mppe_keys *\nradius_msg_get_ms_keys(struct radius_msg
      *msg, struct radius_msg *sent_msg,\n\t\t       const u8 *secret, size_t secret_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/radius/radius.c:1362,1
    - Dst: radius_msg_get_vendor_attr
      Src: /src/hostap/src/radius/radius.c:1366,1
    - Dst: os_memcmp
      Src: /src/hostap/src/radius/radius.c:1369,1
    - Dst: decrypt_ms_key
      Src: /src/hostap/src/radius/radius.c:1370,1
    - Dst: os_free
      Src: /src/hostap/src/radius/radius.c:1375,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 4
    argNames:
    - msg
    - sent_msg
    - secret
    - secret_len
    argTypes:
    - struct radius_msg*
    - struct radius_msg*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1378
      start: 1351
    functionDepth: 4
    functionLinenumber: 1351
    functionLinenumberEnd: 1378
    functionName: radius_msg_get_cisco_keys
    functionSourceFile: /src/hostap/src/radius/radius.c
    functionUses: 1
    functionsReached:
    - radius_msg_get_vendor_attr
    - os_zalloc
    - os_memcmp
    - os_free
    - decrypt_ms_key
    linkageType: ''
    returnType: struct radius_ms_mppe_keys
    signature: "struct radius_ms_mppe_keys *\nradius_msg_get_cisco_keys(struct radius_msg
      *msg, struct radius_msg *sent_msg,\n\t\t\t  const u8 *secret, size_t secret_len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: htonl
      Src: /src/hostap/src/radius/radius.c:1388,1
    - Dst: os_malloc
      Src: /src/hostap/src/radius/radius.c:1399,1
    - Dst: os_memcpy
      Src: /src/hostap/src/radius/radius.c:1404,1
    - Dst: os_get_random
      Src: /src/hostap/src/radius/radius.c:1409,1
    - Dst: os_free
      Src: /src/hostap/src/radius/radius.c:1410,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/radius/radius.c:1414,1
    - Dst: encrypt_ms_key
      Src: /src/hostap/src/radius/radius.c:1416,1
    - Dst: radius_msg_add_attr
      Src: /src/hostap/src/radius/radius.c:1421,1
    - Dst: os_free
      Src: /src/hostap/src/radius/radius.c:1423,1
    - Dst: os_malloc
      Src: /src/hostap/src/radius/radius.c:1429,1
    - Dst: os_memcpy
      Src: /src/hostap/src/radius/radius.c:1434,1
    - Dst: WPA_PUT_BE16
      Src: /src/hostap/src/radius/radius.c:1440,1
    - Dst: encrypt_ms_key
      Src: /src/hostap/src/radius/radius.c:1442,1
    - Dst: radius_msg_add_attr
      Src: /src/hostap/src/radius/radius.c:1447,1
    - Dst: os_free
      Src: /src/hostap/src/radius/radius.c:1449,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 49
    argCount: 8
    argNames:
    - msg
    - req_authenticator
    - secret
    - secret_len
    - send_key
    - send_key_len
    - recv_key
    - recv_key_len
    argTypes:
    - struct radius_msg*
    - u8*
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1455
      start: 1381
    functionDepth: 5
    functionLinenumber: 1381
    functionLinenumberEnd: 1455
    functionName: radius_msg_add_mppe_keys
    functionSourceFile: /src/hostap/src/radius/radius.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    - radius_msg_add_attr
    - htonl
    - os_malloc
    - os_get_random
    - WPA_PUT_BE16
    - os_free
    - encrypt_ms_key
    linkageType: ''
    returnType: int
    signature: "int radius_msg_add_mppe_keys(struct radius_msg *msg,\n\t\t\t     const
      u8 *req_authenticator,\n\t\t\t     const u8 *secret, size_t secret_len,\n\t\t\t
      \    const u8 *send_key, size_t send_key_len,\n\t\t\t     const u8 *recv_key,
      size_t recv_key_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/radius/radius.c:1466,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/src/radius/radius.c:1470,1
    - Dst: os_memcpy
      Src: /src/hostap/src/radius/radius.c:1474,1
    - Dst: radius_msg_add_attr
      Src: /src/hostap/src/radius/radius.c:1475,1
    - Dst: os_free
      Src: /src/hostap/src/radius/radius.c:1477,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 4
    argNames:
    - msg
    - subtype
    - data
    - len
    argTypes:
    - struct radius_msg*
    - u8
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1482
      start: 1458
    functionDepth: 5
    functionLinenumber: 1458
    functionLinenumberEnd: 1482
    functionName: radius_msg_add_wfa
    functionSourceFile: /src/hostap/src/radius/radius.c
    functionUses: 3
    functionsReached:
    - os_memcpy
    - radius_msg_add_attr
    - os_malloc
    - WPA_PUT_BE32
    - os_free
    linkageType: ''
    returnType: int
    signature: "int radius_msg_add_wfa(struct radius_msg *msg, u8 subtype, const u8
      *data,\n\t\t       size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_malloc
      Src: /src/hostap/src/radius/radius.c:1493,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/src/radius/radius.c:1497,1
    - Dst: os_memcpy
      Src: /src/hostap/src/radius/radius.c:1500,1
    - Dst: radius_msg_add_attr
      Src: /src/hostap/src/radius/radius.c:1501,1
    - Dst: os_free
      Src: /src/hostap/src/radius/radius.c:1502,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 6
    argNames:
    - msg
    - type
    - vendor_id
    - vendor_type
    - data
    - len
    argTypes:
    - struct radius_msg*
    - u16
    - u32
    - u8
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1504
      start: 1485
    functionDepth: 5
    functionLinenumber: 1485
    functionLinenumberEnd: 1504
    functionName: radius_msg_add_ext_vs
    functionSourceFile: /src/hostap/src/radius/radius.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    - radius_msg_add_attr
    - os_malloc
    - WPA_PUT_BE32
    - os_free
    linkageType: ''
    returnType: int
    signature: "int radius_msg_add_ext_vs(struct radius_msg *msg, u16 type, u32 vendor_id,\n\t\t\t
      \ u8 vendor_type, const u8 *data, size_t len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: os_memcpy
      Src: /src/hostap/src/radius/radius.c:1520,1
    - Dst: os_memset
      Src: /src/hostap/src/radius/radius.c:1525,1
    - Dst: md5_vector
      Src: /src/hostap/src/radius/radius.c:1535,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius.c:1536,1
    - Dst: md5_vector
      Src: /src/hostap/src/radius/radius.c:1549,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius.c:1550,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 7
    argNames:
    - msg
    - data
    - data_len
    - secret
    - secret_len
    - buf
    - buf_len
    argTypes:
    - struct radius_msg*
    - u8*
    - size_t
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1561
      start: 1507
    functionDepth: 0
    functionLinenumber: 1507
    functionLinenumberEnd: 1561
    functionName: radius_user_password_hide
    functionSourceFile: /src/hostap/src/radius/radius.c
    functionUses: 1
    functionsReached:
    - md5_vector
    - os_memcpy
    - wpa_printf
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int radius_user_password_hide(struct radius_msg *msg,\n\t\t\t      const
      u8 *data, size_t data_len,\n\t\t\t      const u8 *secret, size_t secret_len,\n\t\t\t
      \     u8 *buf, size_t buf_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: radius_user_password_hide
      Src: /src/hostap/src/radius/radius.c:1574,1
    - Dst: radius_msg_add_attr
      Src: /src/hostap/src/radius/radius.c:1579,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - msg
    - data
    - data_len
    - secret
    - secret_len
    argTypes:
    - struct radius_msg*
    - u8*
    - size_t
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1581
      start: 1566
    functionDepth: 5
    functionLinenumber: 1566
    functionLinenumberEnd: 1581
    functionName: radius_msg_add_attr_user_password
    functionSourceFile: /src/hostap/src/radius/radius.c
    functionUses: 1
    functionsReached:
    - radius_user_password_hide
    - radius_msg_add_attr
    linkageType: ''
    returnType: struct radius_attr_hdr
    signature: "struct radius_attr_hdr *\nradius_msg_add_attr_user_password(struct
      radius_msg *msg,\n\t\t\t\t  const u8 *data, size_t data_len,\n\t\t\t\t  const
      u8 *secret, size_t secret_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: radius_get_attr_hdr
      Src: /src/hostap/src/radius/radius.c:1590,1
    - Dst: os_memcpy
      Src: /src/hostap/src/radius/radius.c:1602,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - msg
    - type
    - buf
    - len
    argTypes:
    - struct radius_msg*
    - u8
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1604
      start: 1584
    functionDepth: 3
    functionLinenumber: 1584
    functionLinenumberEnd: 1604
    functionName: radius_msg_get_attr
    functionSourceFile: /src/hostap/src/radius/radius.c
    functionUses: 4
    functionsReached:
    - radius_get_attr_hdr
    - os_memcpy
    linkageType: ''
    returnType: int
    signature: int radius_msg_get_attr(struct radius_msg *msg, u8 type, u8 *buf, size_t
      len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: radius_get_attr_hdr
      Src: /src/hostap/src/radius/radius.c:1614,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 5
    argNames:
    - msg
    - type
    - buf
    - len
    - start
    argTypes:
    - struct radius_msg*
    - u8
    - u8**
    - size_t*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1628
      start: 1607
    functionDepth: 3
    functionLinenumber: 1607
    functionLinenumberEnd: 1628
    functionName: radius_msg_get_attr_ptr
    functionSourceFile: /src/hostap/src/radius/radius.c
    functionUses: 12
    functionsReached:
    - radius_get_attr_hdr
    linkageType: ''
    returnType: int
    signature: "int radius_msg_get_attr_ptr(struct radius_msg *msg, u8 type, u8 **buf,\n\t\t\t
      \   size_t *len, const u8 *start)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: radius_get_attr_hdr
      Src: /src/hostap/src/radius/radius.c:1637,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - msg
    - type
    - min_len
    argTypes:
    - struct radius_msg*
    - u8
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1644
      start: 1631
    functionDepth: 3
    functionLinenumber: 1631
    functionLinenumberEnd: 1644
    functionName: radius_msg_count_attr
    functionSourceFile: /src/hostap/src/radius/radius.c
    functionUses: 1
    functionsReached:
    - radius_get_attr_hdr
    linkageType: ''
    returnType: int
    signature: int radius_msg_count_attr(struct radius_msg *msg, u8 type, int min_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1662
      start: 1655
    functionDepth: 0
    functionLinenumber: 1655
    functionLinenumberEnd: 1662
    functionName: cmp_int
    functionSourceFile: /src/hostap/src/radius/radius.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cmp_int(const void *a, const void *b)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/src/radius/radius.c:1688,1
    - Dst: radius_get_attr_hdr
      Src: /src/hostap/src/radius/radius.c:1694,1
    - Dst: WPA_GET_BE24
      Src: /src/hostap/src/radius/radius.c:1711,1
    - Dst: WPA_GET_BE24
      Src: /src/hostap/src/radius/radius.c:1717,1
    - Dst: os_memcpy
      Src: /src/hostap/src/radius/radius.c:1726,1
    - Dst: atoi
      Src: /src/hostap/src/radius/radius.c:1728,1
    - Dst: WPA_GET_BE24
      Src: /src/hostap/src/radius/radius.c:1737,1
    - Dst: qsort
      Src: /src/hostap/src/radius/radius.c:1762,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 69
    argCount: 4
    argNames:
    - msg
    - untagged
    - numtagged
    - tagged
    argTypes:
    - struct radius_msg*
    - int*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1767
      start: 1677
    functionDepth: 3
    functionLinenumber: 1677
    functionLinenumberEnd: 1767
    functionName: radius_msg_get_vlanid
    functionSourceFile: /src/hostap/src/radius/radius.c
    functionUses: 3
    functionsReached:
    - os_memcpy
    - WPA_GET_BE24
    - atoi
    - radius_get_attr_hdr
    - qsort
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int radius_msg_get_vlanid(struct radius_msg *msg, int *untagged, int
      numtagged,\n\t\t\t  int *tagged)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: radius_get_attr_hdr
      Src: /src/hostap/src/radius/radius.c:1802,1
    - Dst: os_memdup
      Src: /src/hostap/src/radius/radius.c:1825,1
    - Dst: md5_vector
      Src: /src/hostap/src/radius/radius.c:1841,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius.c:1842,1
    - Dst: md5_vector
      Src: /src/hostap/src/radius/radius.c:1861,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius.c:1862,1
    - Dst: os_malloc
      Src: /src/hostap/src/radius/radius.c:1881,1
    - Dst: os_memcpy
      Src: /src/hostap/src/radius/radius.c:1883,1
    - Dst: os_free
      Src: /src/hostap/src/radius/radius.c:1887,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 76
    argCount: 6
    argNames:
    - msg
    - keylen
    - secret
    - secret_len
    - sent_msg
    - n
    argTypes:
    - struct radius_msg*
    - int*
    - u8*
    - size_t
    - struct radius_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1889
      start: 1780
    functionDepth: 3
    functionLinenumber: 1780
    functionLinenumberEnd: 1889
    functionName: radius_msg_get_tunnel_password
    functionSourceFile: /src/hostap/src/radius/radius.c
    functionUses: 2
    functionsReached:
    - wpa_printf
    - os_memcpy
    - os_memdup
    - os_malloc
    - md5_vector
    - radius_get_attr_hdr
    - os_free
    linkageType: ''
    returnType: char
    signature: "char * radius_msg_get_tunnel_password(struct radius_msg *msg, int
      *keylen,\n\t\t\t\t      const u8 *secret, size_t secret_len,\n\t\t\t\t      struct
      radius_msg *sent_msg, size_t n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_free
      Src: /src/hostap/src/radius/radius.c:1898,1
    - Dst: os_free
      Src: /src/hostap/src/radius/radius.c:1899,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct radius_class_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1902
      start: 1892
    functionDepth: 0
    functionLinenumber: 1892
    functionLinenumberEnd: 1902
    functionName: radius_free_class
    functionSourceFile: /src/hostap/src/radius/radius.c
    functionUses: 4
    functionsReached:
    - os_free
    linkageType: ''
    returnType: void
    signature: void radius_free_class(struct radius_class_data *c)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_calloc
      Src: /src/hostap/src/radius/radius.c:1913,1
    - Dst: os_memdup
      Src: /src/hostap/src/radius/radius.c:1920,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - struct radius_class_data*
    - struct radius_class_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1929
      start: 1905
    functionDepth: 1
    functionLinenumber: 1905
    functionLinenumberEnd: 1929
    functionName: radius_copy_class
    functionSourceFile: /src/hostap/src/radius/radius.c
    functionUses: 3
    functionsReached:
    - os_memdup
    - os_calloc
    linkageType: ''
    returnType: int
    signature: "int radius_copy_class(struct radius_class_data *dst,\n\t\t      const
      struct radius_class_data *src)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: radius_get_attr_hdr
      Src: /src/hostap/src/radius/radius.c:1938,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - msg
    - attrs
    argTypes:
    - struct radius_msg*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1950
      start: 1932
    functionDepth: 3
    functionLinenumber: 1932
    functionLinenumberEnd: 1950
    functionName: radius_msg_find_unlisted_attr
    functionSourceFile: /src/hostap/src/radius/radius.c
    functionUses: 0
    functionsReached:
    - radius_get_attr_hdr
    linkageType: ''
    returnType: u8
    signature: u8 radius_msg_find_unlisted_attr(struct radius_msg *msg, u8 *attrs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_get_random
      Src: /src/hostap/src/radius/radius.c:1960,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - id
    - len
    argTypes:
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1961
      start: 1953
    functionDepth: 0
    functionLinenumber: 1953
    functionLinenumberEnd: 1961
    functionName: radius_gen_session_id
    functionSourceFile: /src/hostap/src/radius/radius.c
    functionUses: 3
    functionsReached:
    - os_get_random
    linkageType: ''
    returnType: int
    signature: int radius_gen_session_id(u8 *id, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htonl
      Src: /src/hostap/src/radius/radius.h:334,1
    - Dst: radius_msg_add_attr
      Src: /src/hostap/src/radius/radius.h:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - msg
    - type
    - value
    argTypes:
    - struct radius_msg*
    - u8
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 331
    functionDepth: 5
    functionLinenumber: 331
    functionLinenumberEnd: 336
    functionName: radius_msg_add_attr_int32
    functionSourceFile: /src/hostap/src/radius/radius.h
    functionUses: 10
    functionsReached:
    - htonl
    - radius_msg_add_attr
    linkageType: ''
    returnType: int
    signature: "int radius_msg_add_attr_int32(struct radius_msg *msg, u8 type,\n\t\t\t\t\t
      \   u32 value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: radius_msg_get_attr
      Src: /src/hostap/src/radius/radius.h:343,1
    - Dst: ntohl
      Src: /src/hostap/src/radius/radius.h:347,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - msg
    - type
    - value
    argTypes:
    - struct radius_msg*
    - u8
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 338
    functionDepth: 4
    functionLinenumber: 338
    functionLinenumberEnd: 349
    functionName: radius_msg_get_attr_int32
    functionSourceFile: /src/hostap/src/radius/radius.h
    functionUses: 4
    functionsReached:
    - ntohl
    - radius_msg_get_attr
    linkageType: ''
    returnType: int
    signature: "int radius_msg_get_attr_int32(struct radius_msg *msg, u8 type,\n\t\t\t\t\t
      \   u32 *value)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: radius_msg_get_hdr
      Src: /src/hostap/src/radius/radius_das.c:65,1
    - Dst: radius_msg_find_unlisted_attr
      Src: /src/hostap/src/radius/radius_das.c:67,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_das.c:69,1
    - Dst: os_memset
      Src: /src/hostap/src/radius/radius_das.c:76,1
    - Dst: radius_msg_get_attr_ptr
      Src: /src/hostap/src/radius/radius_das.c:78,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_das.c:81,1
    - Dst: radius_msg_get_attr_ptr
      Src: /src/hostap/src/radius/radius_das.c:90,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_das.c:93,1
    - Dst: radius_msg_get_attr_ptr
      Src: /src/hostap/src/radius/radius_das.c:102,1
    - Dst: radius_msg_get_attr_ptr
      Src: /src/hostap/src/radius/radius_das.c:108,1
    - Dst: os_memcpy
      Src: /src/hostap/src/radius/radius_das.c:112,1
    - Dst: hwaddr_aton2
      Src: /src/hostap/src/radius/radius_das.c:114,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_das.c:115,1
    - Dst: radius_msg_get_attr_ptr
      Src: /src/hostap/src/radius/radius_das.c:123,1
    - Dst: radius_msg_get_attr_ptr
      Src: /src/hostap/src/radius/radius_das.c:129,1
    - Dst: radius_msg_get_attr_ptr
      Src: /src/hostap/src/radius/radius_das.c:135,1
    - Dst: radius_msg_get_attr_ptr
      Src: /src/hostap/src/radius/radius_das.c:141,1
    - Dst: struct radius_das_data*::disconnect
      Src: /src/hostap/src/radius/radius_das.c:147,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_das.c:150,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_das.c:155,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_das.c:160,1
    - Dst: radius_msg_new
      Src: /src/hostap/src/radius/radius_das.c:175,1
    - Dst: radius_msg_add_msg_auth
      Src: /src/hostap/src/radius/radius_das.c:180,1
    - Dst: radius_msg_free
      Src: /src/hostap/src/radius/radius_das.c:181,1
    - Dst: radius_msg_add_attr_int32
      Src: /src/hostap/src/radius/radius_das.c:186,1
    - Dst: radius_msg_free
      Src: /src/hostap/src/radius/radius_das.c:188,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 98
    argCount: 4
    argNames:
    - das
    - msg
    - abuf
    - from_port
    argTypes:
    - struct radius_das_data*
    - struct radius_msg*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 34
    functionDepth: 6
    functionLinenumber: 34
    functionLinenumberEnd: 194
    functionName: radius_das_disconnect
    functionSourceFile: /src/hostap/src/radius/radius_das.c
    functionUses: 1
    functionsReached:
    - radius_msg_find_unlisted_attr
    - radius_msg_get_hdr
    - wpa_printf
    - os_memcpy
    - struct radius_das_data*::disconnect
    - radius_msg_new
    - radius_msg_get_attr_ptr
    - radius_msg_add_attr_int32
    - radius_msg_add_msg_auth
    - radius_msg_free
    - hwaddr_aton2
    - os_memset
    linkageType: ''
    returnType: struct radius_msg
    signature: "struct radius_msg * radius_das_disconnect(struct radius_das_data *das,\n\t\t\t\t\t\t
      struct radius_msg *msg,\n\t\t\t\t\t\t const char *abuf,\n\t\t\t\t\t\t int from_port)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: radius_msg_get_hdr
      Src: /src/hostap/src/radius/radius_das.c:230,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_das.c:233,1
    - Dst: radius_msg_find_unlisted_attr
      Src: /src/hostap/src/radius/radius_das.c:237,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_das.c:239,1
    - Dst: os_memset
      Src: /src/hostap/src/radius/radius_das.c:246,1
    - Dst: radius_msg_get_attr_ptr
      Src: /src/hostap/src/radius/radius_das.c:248,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_das.c:251,1
    - Dst: radius_msg_get_attr_ptr
      Src: /src/hostap/src/radius/radius_das.c:260,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_das.c:263,1
    - Dst: radius_msg_get_attr_ptr
      Src: /src/hostap/src/radius/radius_das.c:272,1
    - Dst: radius_msg_get_attr_ptr
      Src: /src/hostap/src/radius/radius_das.c:278,1
    - Dst: os_memcpy
      Src: /src/hostap/src/radius/radius_das.c:282,1
    - Dst: hwaddr_aton2
      Src: /src/hostap/src/radius/radius_das.c:284,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_das.c:285,1
    - Dst: radius_msg_get_attr_ptr
      Src: /src/hostap/src/radius/radius_das.c:293,1
    - Dst: radius_msg_get_attr_ptr
      Src: /src/hostap/src/radius/radius_das.c:299,1
    - Dst: radius_msg_get_attr_ptr
      Src: /src/hostap/src/radius/radius_das.c:305,1
    - Dst: radius_msg_get_attr_ptr
      Src: /src/hostap/src/radius/radius_das.c:311,1
    - Dst: radius_msg_get_attr_ptr
      Src: /src/hostap/src/radius/radius_das.c:318,1
    - Dst: WPA_GET_BE32
      Src: /src/hostap/src/radius/radius_das.c:320,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_das.c:323,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_das.c:333,1
    - Dst: struct radius_das_data*::coa
      Src: /src/hostap/src/radius/radius_das.c:341,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_das.c:344,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_das.c:349,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_das.c:355,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_das.c:361,1
    - Dst: radius_msg_new
      Src: /src/hostap/src/radius/radius_das.c:371,1
    - Dst: radius_msg_add_msg_auth
      Src: /src/hostap/src/radius/radius_das.c:376,1
    - Dst: radius_msg_free
      Src: /src/hostap/src/radius/radius_das.c:377,1
    - Dst: radius_msg_add_attr_int32
      Src: /src/hostap/src/radius/radius_das.c:382,1
    - Dst: radius_msg_free
      Src: /src/hostap/src/radius/radius_das.c:383,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 117
    argCount: 4
    argNames:
    - das
    - msg
    - abuf
    - from_port
    argTypes:
    - struct radius_das_data*
    - struct radius_msg*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 197
    functionDepth: 6
    functionLinenumber: 197
    functionLinenumberEnd: 388
    functionName: radius_das_coa
    functionSourceFile: /src/hostap/src/radius/radius_das.c
    functionUses: 0
    functionsReached:
    - radius_msg_find_unlisted_attr
    - radius_msg_get_hdr
    - wpa_printf
    - os_memcpy
    - radius_msg_new
    - struct radius_das_data*::coa
    - radius_msg_get_attr_ptr
    - radius_msg_add_attr_int32
    - radius_msg_add_msg_auth
    - radius_msg_free
    - hwaddr_aton2
    - WPA_GET_BE32
    - os_memset
    linkageType: ''
    returnType: struct radius_msg
    signature: "struct radius_msg * radius_das_coa(struct radius_das_data *das,\n\t\t\t\t\t
      \ struct radius_msg *msg,\n\t\t\t\t\t  const char *abuf, int from_port)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: recvfrom
      Src: /src/hostap/src/radius/radius_das.c:414,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_das.c:417,1
    - Dst: strerror
      Src: /src/hostap/src/radius/radius_das.c:417,1
    - Dst: os_strlcpy
      Src: /src/hostap/src/radius/radius_das.c:421,1
    - Dst: inet_ntoa
      Src: /src/hostap/src/radius/radius_das.c:421,1
    - Dst: ntohs
      Src: /src/hostap/src/radius/radius_das.c:422,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_das.c:424,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_das.c:428,1
    - Dst: radius_msg_parse
      Src: /src/hostap/src/radius/radius_das.c:432,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_das.c:434,1
    - Dst: radius_msg_dump
      Src: /src/hostap/src/radius/radius_das.c:440,1
    - Dst: radius_msg_verify_das_req
      Src: /src/hostap/src/radius/radius_das.c:442,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_das.c:445,1
    - Dst: os_get_time
      Src: /src/hostap/src/radius/radius_das.c:451,1
    - Dst: radius_msg_get_attr
      Src: /src/hostap/src/radius/radius_das.c:452,1
    - Dst: ntohl
      Src: /src/hostap/src/radius/radius_das.c:455,1
    - Dst: abs
      Src: /src/hostap/src/radius/radius_das.c:456,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_das.c:458,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_das.c:466,1
    - Dst: radius_msg_get_hdr
      Src: /src/hostap/src/radius/radius_das.c:471,1
    - Dst: radius_das_disconnect
      Src: /src/hostap/src/radius/radius_das.c:475,1
    - Dst: radius_das_coa
      Src: /src/hostap/src/radius/radius_das.c:478,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_das.c:481,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_das.c:487,1
    - Dst: radius_msg_add_attr_int32
      Src: /src/hostap/src/radius/radius_das.c:489,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_das.c:492,1
    - Dst: radius_msg_finish_das_resp
      Src: /src/hostap/src/radius/radius_das.c:496,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_das.c:499,1
    - Dst: radius_msg_dump
      Src: /src/hostap/src/radius/radius_das.c:504,1
    - Dst: radius_msg_get_buf
      Src: /src/hostap/src/radius/radius_das.c:506,1
    - Dst: sendto
      Src: /src/hostap/src/radius/radius_das.c:507,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/radius/radius_das.c:507,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/radius/radius_das.c:508,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_das.c:511,1
    - Dst: strerror
      Src: /src/hostap/src/radius/radius_das.c:512,1
    - Dst: radius_msg_free
      Src: /src/hostap/src/radius/radius_das.c:517,1
    - Dst: radius_msg_free
      Src: /src/hostap/src/radius/radius_das.c:518,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 71
    argCount: 3
    argNames:
    - sock
    - eloop_ctx
    - sock_ctx
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 391
    functionDepth: 7
    functionLinenumber: 391
    functionLinenumberEnd: 519
    functionName: radius_das_receive
    functionSourceFile: /src/hostap/src/radius/radius_das.c
    functionUses: 0
    functionsReached:
    - recvfrom
    - os_strlcpy
    - radius_msg_finish_das_resp
    - ntohs
    - abs
    - wpa_printf
    - radius_msg_verify_das_req
    - inet_ntoa
    - radius_das_disconnect
    - radius_das_coa
    - sendto
    - wpabuf_len
    - wpabuf_head
    - radius_msg_get_buf
    - os_get_time
    - ntohl
    - radius_msg_get_hdr
    - strerror
    - radius_msg_dump
    - radius_msg_get_attr
    - radius_msg_parse
    - radius_msg_add_attr_int32
    - radius_msg_free
    linkageType: ''
    returnType: void
    signature: void radius_das_receive(int sock, void *eloop_ctx, void *sock_ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/hostap/src/radius/radius_das.c:527,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_das.c:529,1
    - Dst: strerror
      Src: /src/hostap/src/radius/radius_das.c:529,1
    - Dst: os_memset
      Src: /src/hostap/src/radius/radius_das.c:533,1
    - Dst: htons
      Src: /src/hostap/src/radius/radius_das.c:535,1
    - Dst: bind
      Src: /src/hostap/src/radius/radius_das.c:536,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_das.c:537,1
    - Dst: strerror
      Src: /src/hostap/src/radius/radius_das.c:537,1
    - Dst: close
      Src: /src/hostap/src/radius/radius_das.c:538,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - port
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 543
    functionName: radius_das_open_socket
    functionSourceFile: /src/hostap/src/radius/radius_das.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - strerror
    - socket
    - close
    - bind
    - htons
    - os_memset
    linkageType: ''
    returnType: int
    signature: int radius_das_open_socket(int port)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/radius/radius_das.c:555,1
    - Dst: os_memcpy
      Src: /src/hostap/src/radius/radius_das.c:567,1
    - Dst: os_memdup
      Src: /src/hostap/src/radius/radius_das.c:570,1
    - Dst: radius_das_deinit
      Src: /src/hostap/src/radius/radius_das.c:573,1
    - Dst: radius_das_open_socket
      Src: /src/hostap/src/radius/radius_das.c:578,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_das.c:580,1
    - Dst: radius_das_deinit
      Src: /src/hostap/src/radius/radius_das.c:582,1
    - Dst: eloop_register_read_sock
      Src: /src/hostap/src/radius/radius_das.c:586,1
    - Dst: radius_das_deinit
      Src: /src/hostap/src/radius/radius_das.c:588,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 1
    argNames:
    - conf
    argTypes:
    - struct radius_das_conf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 546
    functionDepth: 1
    functionLinenumber: 546
    functionLinenumberEnd: 593
    functionName: radius_das_init
    functionSourceFile: /src/hostap/src/radius/radius_das.c
    functionUses: 1
    functionsReached:
    - os_memcpy
    - wpa_printf
    - eloop_register_read_sock
    - os_memdup
    - os_zalloc
    - radius_das_open_socket
    - radius_das_deinit
    linkageType: ''
    returnType: struct radius_das_data
    signature: 'struct radius_das_data *

      radius_das_init(struct radius_das_conf *conf)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eloop_unregister_read_sock
      Src: /src/hostap/src/radius/radius_das.c:602,1
    - Dst: close
      Src: /src/hostap/src/radius/radius_das.c:603,1
    - Dst: os_free
      Src: /src/hostap/src/radius/radius_das.c:606,1
    - Dst: os_free
      Src: /src/hostap/src/radius/radius_das.c:607,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - das
    argTypes:
    - struct radius_das_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 608
    functionName: radius_das_deinit
    functionSourceFile: /src/hostap/src/radius/radius_das.c
    functionUses: 2
    functionsReached:
    - os_free
    - eloop_unregister_read_sock
    - close
    linkageType: ''
    returnType: void
    signature: void radius_das_deinit(struct radius_das_data *das)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: radius_msg_free
      Src: /src/hostap/src/radius/radius_client.c:269,1
    - Dst: os_free
      Src: /src/hostap/src/radius/radius_client.c:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct radius_msg_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 267
    functionDepth: 3
    functionLinenumber: 267
    functionLinenumberEnd: 271
    functionName: radius_client_msg_free
    functionSourceFile: /src/hostap/src/radius/radius_client.c
    functionUses: 0
    functionsReached:
    - os_free
    - radius_msg_free
    linkageType: ''
    returnType: void
    signature: void radius_client_msg_free(struct radius_msg_list *req)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_realloc_array
      Src: /src/hostap/src/radius/radius_client.c:310,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - radius
    - msg_type
    - data
    argTypes:
    - struct radius_client_data*
    - RadiusType
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 321
    functionName: radius_client_register
    functionSourceFile: /src/hostap/src/radius/radius_client.c
    functionUses: 4
    functionsReached:
    - os_realloc_array
    linkageType: ''
    returnType: int
    signature: "int radius_client_register(struct radius_client_data *radius,\n\t\t\t
      \  RadiusType msg_type,\n\t\t\t   RadiusRxResult (*handler)(struct radius_msg
      *msg,\n\t\t\t\t\t\t     struct radius_msg *req,\n\t\t\t\t\t\t     const u8 *shared_secret,\n\t\t\t\t\t\t
      \    size_t shared_secret_len,\n\t\t\t\t\t\t     void *data),\n\t\t\t   void
      *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - radius
    - ctx
    argTypes:
    - struct radius_client_data*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 340
    functionName: radius_client_set_interim_error_cb
    functionSourceFile: /src/hostap/src/radius/radius_client.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void radius_client_set_interim_error_cb(struct radius_client_data
      *radius,\n\t\t\t\t\tvoid (*cb)(const u8 *addr, void *ctx),\n\t\t\t\t\tvoid *ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_client.c:352,1
    - Dst: strerror
      Src: /src/hostap/src/radius/radius_client.c:352,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/radius/radius_client.c:355,1
    - Dst: radius_client_init_acct
      Src: /src/hostap/src/radius/radius_client.c:361,1
    - Dst: radius_client_init_auth
      Src: /src/hostap/src/radius/radius_client.c:364,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 3
    argNames:
    - radius
    - s
    - msg_type
    argTypes:
    - struct radius_client_data*
    - int
    - RadiusType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 371
    functionName: radius_client_handle_send_error
    functionSourceFile: /src/hostap/src/radius/radius_client.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - strerror
    - radius_client_init_acct
    - hostapd_logger
    - radius_client_init_auth
    linkageType: ''
    returnType: int
    signature: "int radius_client_handle_send_error(struct radius_client_data *radius,\n\t\t\t\t\t
      \  int s, RadiusType msg_type)"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: radius_client_init_acct
      Src: /src/hostap/src/radius/radius_client.c:400,1
    - Dst: radius_client_acct_failover
      Src: /src/hostap/src/radius/radius_client.c:403,1
    - Dst: radius_client_init_auth
      Src: /src/hostap/src/radius/radius_client.c:421,1
    - Dst: radius_client_auth_failover
      Src: /src/hostap/src/radius/radius_client.c:424,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_client.c:438,1
    - Dst: MAC2STR
      Src: /src/hostap/src/radius/radius_client.c:441,1
    - Dst: struct radius_client_data*::interim_error_cb
      Src: /src/hostap/src/radius/radius_client.c:443,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_client.c:449,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_client.c:457,1
    - Dst: radius_msg_get_attr_ptr
      Src: /src/hostap/src/radius/radius_client.c:464,1
    - Dst: radius_msg_get_hdr
      Src: /src/hostap/src/radius/radius_client.c:475,1
    - Dst: radius_client_get_id
      Src: /src/hostap/src/radius/radius_client.c:476,1
    - Dst: WPA_PUT_BE32
      Src: /src/hostap/src/radius/radius_client.c:480,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_client.c:482,1
    - Dst: radius_msg_finish_acct
      Src: /src/hostap/src/radius/radius_client.c:485,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_client.c:487,1
    - Dst: radius_msg_dump
      Src: /src/hostap/src/radius/radius_client.c:491,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_client.c:497,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/radius/radius_client.c:504,1
    - Dst: radius_msg_get_hdr
      Src: /src/hostap/src/radius/radius_client.c:506,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/radius/radius_client.c:508,1
    - Dst: radius_msg_get_buf
      Src: /src/hostap/src/radius/radius_client.c:509,1
    - Dst: tls_connection_encrypt
      Src: /src/hostap/src/radius/radius_client.c:512,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_client.c:514,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_client.c:518,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/radius/radius_client.c:520,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/radius/radius_client.c:520,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_client.c:525,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/radius/radius_client.c:526,1
    - Dst: send
      Src: /src/hostap/src/radius/radius_client.c:527,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/radius/radius_client.c:527,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/radius/radius_client.c:527,1
    - Dst: radius_client_handle_send_error
      Src: /src/hostap/src/radius/radius_client.c:528,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/radius/radius_client.c:531,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/radius/radius_client.c:537,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 101
    argCount: 3
    argNames:
    - radius
    - entry
    - now
    argTypes:
    - struct radius_client_data*
    - struct radius_msg_list*
    - os_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 374
    functionDepth: 5
    functionLinenumber: 374
    functionLinenumberEnd: 548
    functionName: radius_client_retransmit
    functionSourceFile: /src/hostap/src/radius/radius_client.c
    functionUses: 0
    functionsReached:
    - radius_client_init_acct
    - send
    - tls_connection_encrypt
    - hostapd_logger
    - WPA_PUT_BE32
    - radius_client_auth_failover
    - wpa_printf
    - struct radius_client_data*::interim_error_cb
    - radius_msg_finish_acct
    - radius_client_handle_send_error
    - radius_msg_get_attr_ptr
    - radius_client_init_auth
    - os_get_reltime
    - wpabuf_len
    - wpabuf_head
    - radius_msg_get_buf
    - radius_client_acct_failover
    - radius_msg_get_hdr
    - radius_client_get_id
    - radius_msg_dump
    - wpabuf_free
    - MAC2STR
    linkageType: ''
    returnType: int
    signature: "int radius_client_retransmit(struct radius_client_data *radius,\n\t\t\t\t
      \   struct radius_msg_list *entry,\n\t\t\t\t    os_time_t now)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: os_get_reltime
      Src: /src/hostap/src/radius/radius_client.c:565,1
    - Dst: radius_client_auth_failover
      Src: /src/hostap/src/radius/radius_client.c:584,1
    - Dst: radius_client_acct_failover
      Src: /src/hostap/src/radius/radius_client.c:587,1
    - Dst: radius_client_retransmit
      Src: /src/hostap/src/radius/radius_client.c:596,1
    - Dst: radius_client_msg_free
      Src: /src/hostap/src/radius/radius_client.c:604,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_client.c:610,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/radius/radius_client.c:627,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/radius/radius_client.c:628,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/radius/radius_client.c:630,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 53
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 551
    functionDepth: 6
    functionLinenumber: 551
    functionLinenumberEnd: 635
    functionName: radius_client_timer
    functionSourceFile: /src/hostap/src/radius/radius_client.c
    functionUses: 0
    functionsReached:
    - radius_client_auth_failover
    - os_get_reltime
    - wpa_printf
    - eloop_cancel_timeout
    - radius_client_msg_free
    - hostapd_logger
    - eloop_register_timeout
    - radius_client_retransmit
    - radius_client_acct_failover
    linkageType: ''
    returnType: void
    signature: void radius_client_timer(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_logger
      Src: /src/hostap/src/radius/radius_client.c:646,1
    - Dst: hostapd_ip_txt
      Src: /src/hostap/src/radius/radius_client.c:649,1
    - Dst: radius_change_server
      Src: /src/hostap/src/radius/radius_client.c:661,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - radius
    argTypes:
    - struct radius_client_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 638
    functionDepth: 1
    functionLinenumber: 638
    functionLinenumberEnd: 662
    functionName: radius_client_auth_failover
    functionSourceFile: /src/hostap/src/radius/radius_client.c
    functionUses: 2
    functionsReached:
    - hostapd_ip_txt
    - radius_change_server
    - hostapd_logger
    linkageType: ''
    returnType: void
    signature: void radius_client_auth_failover(struct radius_client_data *radius)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hostapd_logger
      Src: /src/hostap/src/radius/radius_client.c:673,1
    - Dst: hostapd_ip_txt
      Src: /src/hostap/src/radius/radius_client.c:676,1
    - Dst: radius_change_server
      Src: /src/hostap/src/radius/radius_client.c:689,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - radius
    argTypes:
    - struct radius_client_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 665
    functionDepth: 1
    functionLinenumber: 665
    functionLinenumberEnd: 690
    functionName: radius_client_acct_failover
    functionSourceFile: /src/hostap/src/radius/radius_client.c
    functionUses: 2
    functionsReached:
    - hostapd_ip_txt
    - radius_change_server
    - hostapd_logger
    linkageType: ''
    returnType: void
    signature: void radius_client_acct_failover(struct radius_client_data *radius)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/radius/radius_client.c:699,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/radius/radius_client.c:711,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/radius/radius_client.c:714,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/radius/radius_client.c:716,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - radius
    argTypes:
    - struct radius_client_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 719
    functionName: radius_client_update_timeout
    functionSourceFile: /src/hostap/src/radius/radius_client.c
    functionUses: 0
    functionsReached:
    - eloop_cancel_timeout
    - os_get_reltime
    - eloop_register_timeout
    - hostapd_logger
    linkageType: ''
    returnType: void
    signature: void radius_client_update_timeout(struct radius_client_data *radius)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: eloop_terminated
      Src: /src/hostap/src/radius/radius_client.c:730,1
    - Dst: radius_msg_free
      Src: /src/hostap/src/radius/radius_client.c:733,1
    - Dst: os_zalloc
      Src: /src/hostap/src/radius/radius_client.c:737,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_client.c:739,1
    - Dst: radius_msg_free
      Src: /src/hostap/src/radius/radius_client.c:740,1
    - Dst: os_memcpy
      Src: /src/hostap/src/radius/radius_client.c:745,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/radius/radius_client.c:750,1
    - Dst: radius_client_update_timeout
      Src: /src/hostap/src/radius/radius_client.c:760,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_client.c:763,1
    - Dst: radius_client_msg_free
      Src: /src/hostap/src/radius/radius_client.c:771,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 41
    argCount: 6
    argNames:
    - radius
    - msg
    - msg_type
    - shared_secret
    - shared_secret_len
    - addr
    argTypes:
    - struct radius_client_data*
    - struct radius_msg*
    - RadiusType
    - u8*
    - size_t
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 722
    functionDepth: 4
    functionLinenumber: 722
    functionLinenumberEnd: 775
    functionName: radius_client_list_add
    functionSourceFile: /src/hostap/src/radius/radius_client.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_memcpy
    - os_get_reltime
    - radius_client_msg_free
    - os_zalloc
    - eloop_terminated
    - radius_msg_free
    - radius_client_update_timeout
    linkageType: ''
    returnType: void
    signature: "void radius_client_list_add(struct radius_client_data *radius,\n\t\t\t\t
      \  struct radius_msg *msg,\n\t\t\t\t   RadiusType msg_type,\n\t\t\t\t   const
      u8 *shared_secret,\n\t\t\t\t   size_t shared_secret_len, const u8 *addr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/hostap/src/radius/radius_client.c:784,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_client.c:787,1
    - Dst: strerror
      Src: /src/hostap/src/radius/radius_client.c:788,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 791
    functionName: radius_client_disable_pmtu_discovery
    functionSourceFile: /src/hostap/src/radius/radius_client.c
    functionUses: 0
    functionsReached:
    - setsockopt
    - wpa_printf
    - strerror
    linkageType: ''
    returnType: int
    signature: int radius_client_disable_pmtu_discovery(int s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eloop_unregister_sock
      Src: /src/hostap/src/radius/radius_client.c:799,1
    - Dst: eloop_unregister_read_sock
      Src: /src/hostap/src/radius/radius_client.c:802,1
    - Dst: close
      Src: /src/hostap/src/radius/radius_client.c:803,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - radius
    argTypes:
    - struct radius_client_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 794
    functionDepth: 4
    functionLinenumber: 794
    functionLinenumberEnd: 806
    functionName: radius_close_auth_socket
    functionSourceFile: /src/hostap/src/radius/radius_client.c
    functionUses: 0
    functionsReached:
    - close
    - eloop_unregister_read_sock
    - eloop_unregister_sock
    linkageType: ''
    returnType: void
    signature: void radius_close_auth_socket(struct radius_client_data *radius)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eloop_unregister_sock
      Src: /src/hostap/src/radius/radius_client.c:814,1
    - Dst: eloop_unregister_read_sock
      Src: /src/hostap/src/radius/radius_client.c:817,1
    - Dst: close
      Src: /src/hostap/src/radius/radius_client.c:818,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - radius
    argTypes:
    - struct radius_client_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 809
    functionDepth: 4
    functionLinenumber: 809
    functionLinenumberEnd: 821
    functionName: radius_close_acct_socket
    functionSourceFile: /src/hostap/src/radius/radius_client.c
    functionUses: 0
    functionsReached:
    - close
    - eloop_unregister_read_sock
    - eloop_unregister_sock
    linkageType: ''
    returnType: void
    signature: void radius_close_acct_socket(struct radius_client_data *radius)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: radius_client_init_acct
      Src: /src/hostap/src/radius/radius_client.c:872,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/radius/radius_client.c:876,1
    - Dst: radius_msg_finish_acct
      Src: /src/hostap/src/radius/radius_client.c:884,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/radius/radius_client.c:886,1
    - Dst: radius_client_init_auth
      Src: /src/hostap/src/radius/radius_client.c:901,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/radius/radius_client.c:905,1
    - Dst: radius_msg_finish
      Src: /src/hostap/src/radius/radius_client.c:913,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/radius/radius_client.c:915,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/radius/radius_client.c:926,1
    - Dst: radius_msg_dump
      Src: /src/hostap/src/radius/radius_client.c:930,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_client.c:935,1
    - Dst: radius_msg_get_buf
      Src: /src/hostap/src/radius/radius_client.c:941,1
    - Dst: tls_connection_encrypt
      Src: /src/hostap/src/radius/radius_client.c:944,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_client.c:946,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_client.c:950,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/radius/radius_client.c:952,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/radius/radius_client.c:952,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_client.c:956,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/radius/radius_client.c:957,1
    - Dst: send
      Src: /src/hostap/src/radius/radius_client.c:958,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/radius/radius_client.c:958,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/radius/radius_client.c:958,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/radius/radius_client.c:960,1
    - Dst: radius_client_handle_send_error
      Src: /src/hostap/src/radius/radius_client.c:963,1
    - Dst: radius_client_list_add
      Src: /src/hostap/src/radius/radius_client.c:968,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 67
    argCount: 4
    argNames:
    - radius
    - msg
    - msg_type
    - addr
    argTypes:
    - struct radius_client_data*
    - struct radius_msg*
    - RadiusType
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 849
    functionDepth: 5
    functionLinenumber: 849
    functionLinenumberEnd: 972
    functionName: radius_client_send
    functionSourceFile: /src/hostap/src/radius/radius_client.c
    functionUses: 6
    functionsReached:
    - wpa_printf
    - radius_msg_finish
    - radius_client_init_acct
    - send
    - tls_connection_encrypt
    - wpabuf_len
    - radius_msg_dump
    - radius_msg_finish_acct
    - wpabuf_free
    - hostapd_logger
    - radius_client_handle_send_error
    - wpabuf_head
    - radius_msg_get_buf
    - radius_client_list_add
    - radius_client_init_auth
    linkageType: ''
    returnType: int
    signature: "int radius_client_send(struct radius_client_data *radius,\n\t\t       struct
      radius_msg *msg, RadiusType msg_type,\n\t\t       const u8 *addr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_client.c:980,1
    - Dst: radius_close_acct_socket
      Src: /src/hostap/src/radius/radius_client.c:984,1
    - Dst: radius_close_auth_socket
      Src: /src/hostap/src/radius/radius_client.c:987,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - radius
    - sock
    - msg_type
    argTypes:
    - struct radius_client_data*
    - int
    - RadiusType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 977
    functionDepth: 5
    functionLinenumber: 977
    functionLinenumberEnd: 989
    functionName: radius_client_close_tcp
    functionSourceFile: /src/hostap/src/radius/radius_client.c
    functionUses: 0
    functionsReached:
    - radius_close_acct_socket
    - wpa_printf
    - radius_close_auth_socket
    linkageType: ''
    returnType: void
    signature: "void radius_client_close_tcp(struct radius_client_data *radius,\n\t\t\t\t
      \   int sock, RadiusType msg_type)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_client.c:1002,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/radius/radius_client.c:1011,1
    - Dst: tls_connection_handshake
      Src: /src/hostap/src/radius/radius_client.c:1016,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/radius/radius_client.c:1017,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_client.c:1019,1
    - Dst: tls_connection_get_failed
      Src: /src/hostap/src/radius/radius_client.c:1024,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_client.c:1025,1
    - Dst: tls_connection_established
      Src: /src/hostap/src/radius/radius_client.c:1029,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_client.c:1030,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_client.c:1040,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/radius/radius_client.c:1041,1
    - Dst: send
      Src: /src/hostap/src/radius/radius_client.c:1042,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/radius/radius_client.c:1042,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/radius/radius_client.c:1042,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_client.c:1044,1
    - Dst: strerror
      Src: /src/hostap/src/radius/radius_client.c:1044,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/radius/radius_client.c:1047,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_client.c:1048,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/radius/radius_client.c:1053,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/radius/radius_client.c:1062,1
    - Dst: radius_client_retransmit
      Src: /src/hostap/src/radius/radius_client.c:1073,1
    - Dst: radius_client_msg_free
      Src: /src/hostap/src/radius/radius_client.c:1081,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/radius/radius_client.c:1094,1
    - Dst: tls_connection_deinit
      Src: /src/hostap/src/radius/radius_client.c:1095,1
    - Dst: radius_client_close_tcp
      Src: /src/hostap/src/radius/radius_client.c:1100,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 74
    argCount: 5
    argNames:
    - radius
    - sock
    - msg_type
    - buf
    - len
    argTypes:
    - struct radius_client_data*
    - int
    - RadiusType
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1101
      start: 992
    functionDepth: 6
    functionLinenumber: 992
    functionLinenumberEnd: 1101
    functionName: radius_client_process_tls_handshake
    functionSourceFile: /src/hostap/src/radius/radius_client.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - os_get_reltime
    - send
    - tls_connection_handshake
    - wpabuf_len
    - strerror
    - wpabuf_free
    - tls_connection_get_failed
    - wpabuf_alloc_copy
    - radius_client_msg_free
    - wpabuf_head
    - tls_connection_deinit
    - radius_client_close_tcp
    - tls_connection_established
    - radius_client_retransmit
    linkageType: ''
    returnType: void
    signature: "void radius_client_process_tls_handshake(struct radius_client_data
      *radius,\n\t\t\t\t    int sock, RadiusType msg_type,\n\t\t\t\t    u8 *buf, size_t
      len)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: recvmsg
      Src: /src/hostap/src/radius/radius_client.c:1155,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_client.c:1157,1
    - Dst: strerror
      Src: /src/hostap/src/radius/radius_client.c:1157,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_client.c:1162,1
    - Dst: radius_client_process_tls_handshake
      Src: /src/hostap/src/radius/radius_client.c:1167,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/src/radius/radius_client.c:1175,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_client.c:1178,1
    - Dst: tls_connection_decrypt
      Src: /src/hostap/src/radius/radius_client.c:1181,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/radius/radius_client.c:1182,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_client.c:1184,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/radius/radius_client.c:1188,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_client.c:1189,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/radius/radius_client.c:1191,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/radius/radius_client.c:1194,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_client.c:1195,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/radius/radius_client.c:1197,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/radius/radius_client.c:1198,1
    - Dst: os_memcpy
      Src: /src/hostap/src/radius/radius_client.c:1201,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/radius/radius_client.c:1201,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/radius/radius_client.c:1201,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/radius/radius_client.c:1202,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/radius/radius_client.c:1203,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/radius/radius_client.c:1207,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_client.c:1212,1
    - Dst: radius_msg_parse
      Src: /src/hostap/src/radius/radius_client.c:1216,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_client.c:1218,1
    - Dst: radius_msg_get_hdr
      Src: /src/hostap/src/radius/radius_client.c:1222,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/radius/radius_client.c:1224,1
    - Dst: radius_msg_dump
      Src: /src/hostap/src/radius/radius_client.c:1227,1
    - Dst: radius_msg_get_hdr
      Src: /src/hostap/src/radius/radius_client.c:1251,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/radius/radius_client.c:1259,1
    - Dst: os_get_reltime
      Src: /src/hostap/src/radius/radius_client.c:1267,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/radius/radius_client.c:1270,1
    - Dst: handler
      Src: /src/hostap/src/radius/radius_client.c:1279,1
    - Dst: radius_msg_free
      Src: /src/hostap/src/radius/radius_client.c:1284,1
    - Dst: radius_client_msg_free
      Src: /src/hostap/src/radius/radius_client.c:1300,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/radius/radius_client.c:1315,1
    - Dst: radius_msg_free
      Src: /src/hostap/src/radius/radius_client.c:1323,1
    - Dst: radius_client_close_tcp
      Src: /src/hostap/src/radius/radius_client.c:1328,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 143
    argCount: 3
    argNames:
    - sock
    - eloop_ctx
    - sock_ctx
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1106
    functionDepth: 7
    functionLinenumber: 1106
    functionLinenumberEnd: 1330
    functionName: radius_client_receive
    functionSourceFile: /src/hostap/src/radius/radius_client.c
    functionUses: 0
    functionsReached:
    - radius_client_msg_free
    - hostapd_logger
    - wpa_printf
    - tls_connection_decrypt
    - recvmsg
    - os_get_reltime
    - wpabuf_len
    - wpabuf_alloc_copy
    - wpabuf_head
    - radius_client_close_tcp
    - handler
    - os_memcpy
    - radius_msg_get_hdr
    - strerror
    - radius_msg_dump
    - wpabuf_free
    - radius_msg_parse
    - radius_msg_free
    - radius_client_process_tls_handshake
    linkageType: ''
    returnType: void
    signature: void radius_client_receive(int sock, void *eloop_ctx, void *sock_ctx)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_client.c:1344,1
    - Dst: eloop_unregister_sock
      Src: /src/hostap/src/radius/radius_client.c:1348,1
    - Dst: eloop_register_read_sock
      Src: /src/hostap/src/radius/radius_client.c:1349,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_client.c:1352,1
    - Dst: tls_connection_deinit
      Src: /src/hostap/src/radius/radius_client.c:1354,1
    - Dst: eloop_unregister_sock
      Src: /src/hostap/src/radius/radius_client.c:1360,1
    - Dst: eloop_register_read_sock
      Src: /src/hostap/src/radius/radius_client.c:1361,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_client.c:1364,1
    - Dst: tls_connection_deinit
      Src: /src/hostap/src/radius/radius_client.c:1366,1
    - Dst: tls_connection_init
      Src: /src/hostap/src/radius/radius_client.c:1376,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_client.c:1378,1
    - Dst: os_memset
      Src: /src/hostap/src/radius/radius_client.c:1383,1
    - Dst: tls_connection_set_params
      Src: /src/hostap/src/radius/radius_client.c:1389,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_client.c:1390,1
    - Dst: tls_connection_handshake
      Src: /src/hostap/src/radius/radius_client.c:1397,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_client.c:1399,1
    - Dst: tls_connection_get_failed
      Src: /src/hostap/src/radius/radius_client.c:1404,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_client.c:1405,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_client.c:1409,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/radius/radius_client.c:1410,1
    - Dst: send
      Src: /src/hostap/src/radius/radius_client.c:1411,1
    - Dst: wpabuf_head
      Src: /src/hostap/src/radius/radius_client.c:1411,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/radius/radius_client.c:1411,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_client.c:1413,1
    - Dst: strerror
      Src: /src/hostap/src/radius/radius_client.c:1413,1
    - Dst: wpabuf_len
      Src: /src/hostap/src/radius/radius_client.c:1416,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_client.c:1417,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/radius/radius_client.c:1422,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_client.c:1431,1
    - Dst: tls_connection_deinit
      Src: /src/hostap/src/radius/radius_client.c:1432,1
    - Dst: wpabuf_free
      Src: /src/hostap/src/radius/radius_client.c:1433,1
    - Dst: radius_client_close_tcp
      Src: /src/hostap/src/radius/radius_client.c:1434,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 77
    argCount: 3
    argNames:
    - sock
    - eloop_ctx
    - sock_ctx
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1435
      start: 1334
    functionDepth: 6
    functionLinenumber: 1334
    functionLinenumberEnd: 1435
    functionName: radius_client_write_ready
    functionSourceFile: /src/hostap/src/radius/radius_client.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - tls_connection_init
    - eloop_unregister_sock
    - send
    - tls_connection_handshake
    - eloop_register_read_sock
    - wpabuf_len
    - strerror
    - tls_connection_get_failed
    - wpabuf_free
    - tls_connection_deinit
    - wpabuf_head
    - radius_client_close_tcp
    - tls_connection_set_params
    - os_memset
    linkageType: ''
    returnType: void
    signature: void radius_client_write_ready(int sock, void *eloop_ctx, void *sock_ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: radius_msg_get_hdr
      Src: /src/hostap/src/radius/radius_client.c:1457,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/radius/radius_client.c:1458,1
    - Dst: radius_client_msg_free
      Src: /src/hostap/src/radius/radius_client.c:1475,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - radius
    argTypes:
    - struct radius_client_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1479
      start: 1447
    functionDepth: 4
    functionLinenumber: 1447
    functionLinenumberEnd: 1479
    functionName: radius_client_get_id
    functionSourceFile: /src/hostap/src/radius/radius_client.c
    functionUses: 5
    functionsReached:
    - radius_msg_get_hdr
    - radius_client_msg_free
    - hostapd_logger
    linkageType: ''
    returnType: u8
    signature: u8 radius_client_get_id(struct radius_client_data *radius)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: radius_client_msg_free
      Src: /src/hostap/src/radius/radius_client.c:1506,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/radius/radius_client.c:1515,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - radius
    - only_auth
    argTypes:
    - struct radius_client_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1516
      start: 1487
    functionDepth: 4
    functionLinenumber: 1487
    functionLinenumberEnd: 1516
    functionName: radius_client_flush
    functionSourceFile: /src/hostap/src/radius/radius_client.c
    functionUses: 1
    functionsReached:
    - eloop_cancel_timeout
    - radius_client_msg_free
    linkageType: ''
    returnType: void
    signature: void radius_client_flush(struct radius_client_data *radius, int only_auth)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: radius_msg_finish_acct
      Src: /src/hostap/src/radius/radius_client.c:1532,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_client.c:1534,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - radius
    - shared_secret
    - shared_secret_len
    argTypes:
    - struct radius_client_data*
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1538
      start: 1519
    functionDepth: 2
    functionLinenumber: 1519
    functionLinenumberEnd: 1538
    functionName: radius_client_update_acct_msgs
    functionSourceFile: /src/hostap/src/radius/radius_client.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    - radius_msg_finish_acct
    linkageType: ''
    returnType: void
    signature: "void radius_client_update_acct_msgs(struct radius_client_data *radius,\n\t\t\t\t\t
      \  const u8 *shared_secret,\n\t\t\t\t\t   size_t shared_secret_len)"
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_client.c:1564,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/radius/radius_client.c:1569,1
    - Dst: hostapd_ip_txt
      Src: /src/hostap/src/radius/radius_client.c:1573,1
    - Dst: radius_client_flush
      Src: /src/hostap/src/radius/radius_client.c:1579,1
    - Dst: os_memcmp
      Src: /src/hostap/src/radius/radius_client.c:1584,1
    - Dst: radius_client_flush
      Src: /src/hostap/src/radius/radius_client.c:1594,1
    - Dst: radius_client_update_acct_msgs
      Src: /src/hostap/src/radius/radius_client.c:1596,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/radius/radius_client.c:1613,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/radius/radius_client.c:1614,1
    - Dst: os_memset
      Src: /src/hostap/src/radius/radius_client.c:1620,1
    - Dst: htons
      Src: /src/hostap/src/radius/radius_client.c:1623,1
    - Dst: socket
      Src: /src/hostap/src/radius/radius_client.c:1626,1
    - Dst: radius_client_disable_pmtu_discovery
      Src: /src/hostap/src/radius/radius_client.c:1628,1
    - Dst: os_memset
      Src: /src/hostap/src/radius/radius_client.c:1632,1
    - Dst: os_memcpy
      Src: /src/hostap/src/radius/radius_client.c:1634,1
    - Dst: htons
      Src: /src/hostap/src/radius/radius_client.c:1636,1
    - Dst: socket
      Src: /src/hostap/src/radius/radius_client.c:1639,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_client.c:1647,1
    - Dst: fcntl
      Src: /src/hostap/src/radius/radius_client.c:1654,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_client.c:1655,1
    - Dst: strerror
      Src: /src/hostap/src/radius/radius_client.c:1656,1
    - Dst: close
      Src: /src/hostap/src/radius/radius_client.c:1657,1
    - Dst: setsockopt
      Src: /src/hostap/src/radius/radius_client.c:1664,1
    - Dst: os_strlen
      Src: /src/hostap/src/radius/radius_client.c:1666,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_client.c:1667,1
    - Dst: strerror
      Src: /src/hostap/src/radius/radius_client.c:1669,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_client.c:1673,1
    - Dst: os_memset
      Src: /src/hostap/src/radius/radius_client.c:1683,1
    - Dst: htons
      Src: /src/hostap/src/radius/radius_client.c:1686,1
    - Dst: os_memset
      Src: /src/hostap/src/radius/radius_client.c:1692,1
    - Dst: os_memcpy
      Src: /src/hostap/src/radius/radius_client.c:1694,1
    - Dst: htons
      Src: /src/hostap/src/radius/radius_client.c:1696,1
    - Dst: close
      Src: /src/hostap/src/radius/radius_client.c:1702,1
    - Dst: bind
      Src: /src/hostap/src/radius/radius_client.c:1706,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_client.c:1707,1
    - Dst: strerror
      Src: /src/hostap/src/radius/radius_client.c:1708,1
    - Dst: close
      Src: /src/hostap/src/radius/radius_client.c:1709,1
    - Dst: connect
      Src: /src/hostap/src/radius/radius_client.c:1714,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_client.c:1716,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_client.c:1720,1
    - Dst: strerror
      Src: /src/hostap/src/radius/radius_client.c:1721,1
    - Dst: close
      Src: /src/hostap/src/radius/radius_client.c:1722,1
    - Dst: getsockname
      Src: /src/hostap/src/radius/radius_client.c:1731,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_client.c:1733,1
    - Dst: inet_ntoa
      Src: /src/hostap/src/radius/radius_client.c:1734,1
    - Dst: ntohs
      Src: /src/hostap/src/radius/radius_client.c:1735,1
    - Dst: getsockname
      Src: /src/hostap/src/radius/radius_client.c:1741,1
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_client.c:1743,1
    - Dst: inet_ntop
      Src: /src/hostap/src/radius/radius_client.c:1744,1
    - Dst: ntohs
      Src: /src/hostap/src/radius/radius_client.c:1746,1
    - Dst: radius_close_auth_socket
      Src: /src/hostap/src/radius/radius_client.c:1755,1
    - Dst: radius_close_acct_socket
      Src: /src/hostap/src/radius/radius_client.c:1758,1
    - Dst: eloop_register_read_sock
      Src: /src/hostap/src/radius/radius_client.c:1763,1
    - Dst: eloop_register_sock
      Src: /src/hostap/src/radius/radius_client.c:1769,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 139
    argCount: 4
    argNames:
    - radius
    - nserv
    - oserv
    - auth
    argTypes:
    - struct radius_client_data*
    - struct hostapd_radius_server*
    - struct hostapd_radius_server*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1784
      start: 1541
    functionDepth: 5
    functionLinenumber: 1541
    functionLinenumberEnd: 1784
    functionName: radius_change_server
    functionSourceFile: /src/hostap/src/radius/radius_client.c
    functionUses: 2
    functionsReached:
    - eloop_register_read_sock
    - inet_ntop
    - hostapd_logger
    - eloop_register_sock
    - getsockname
    - ntohs
    - radius_client_flush
    - os_strlen
    - wpa_printf
    - connect
    - setsockopt
    - os_memcmp
    - inet_ntoa
    - bind
    - radius_client_update_acct_msgs
    - htons
    - radius_close_auth_socket
    - fcntl
    - os_memset
    - radius_client_disable_pmtu_discovery
    - os_memcpy
    - strerror
    - eloop_cancel_timeout
    - radius_close_acct_socket
    - socket
    - close
    - eloop_register_timeout
    - hostapd_ip_txt
    linkageType: ''
    returnType: int
    signature: "int radius_change_server(struct radius_client_data *radius,\n\t\t
      \    struct hostapd_radius_server *nserv,\n\t\t     struct hostapd_radius_server
      *oserv,\n\t\t     int auth)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: radius_change_server
      Src: /src/hostap/src/radius/radius_client.c:1797,1
    - Dst: radius_change_server
      Src: /src/hostap/src/radius/radius_client.c:1800,1
    - Dst: radius_change_server
      Src: /src/hostap/src/radius/radius_client.c:1809,1
    - Dst: radius_change_server
      Src: /src/hostap/src/radius/radius_client.c:1812,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/radius/radius_client.c:1818,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1821
      start: 1787
    functionDepth: 6
    functionLinenumber: 1787
    functionLinenumberEnd: 1821
    functionName: radius_retry_primary_timer
    functionSourceFile: /src/hostap/src/radius/radius_client.c
    functionUses: 0
    functionsReached:
    - radius_change_server
    - eloop_register_timeout
    linkageType: ''
    returnType: void
    signature: void radius_retry_primary_timer(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: radius_close_auth_socket
      Src: /src/hostap/src/radius/radius_client.c:1826,1
    - Dst: radius_change_server
      Src: /src/hostap/src/radius/radius_client.c:1827,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - radius
    argTypes:
    - struct radius_client_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1828
      start: 1824
    functionDepth: 6
    functionLinenumber: 1824
    functionLinenumberEnd: 1828
    functionName: radius_client_init_auth
    functionSourceFile: /src/hostap/src/radius/radius_client.c
    functionUses: 3
    functionsReached:
    - radius_change_server
    - radius_close_auth_socket
    linkageType: ''
    returnType: int
    signature: int radius_client_init_auth(struct radius_client_data *radius)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: radius_close_acct_socket
      Src: /src/hostap/src/radius/radius_client.c:1833,1
    - Dst: radius_change_server
      Src: /src/hostap/src/radius/radius_client.c:1834,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - radius
    argTypes:
    - struct radius_client_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1835
      start: 1831
    functionDepth: 6
    functionLinenumber: 1831
    functionLinenumberEnd: 1835
    functionName: radius_client_init_acct
    functionSourceFile: /src/hostap/src/radius/radius_client.c
    functionUses: 3
    functionsReached:
    - radius_close_acct_socket
    - radius_change_server
    linkageType: ''
    returnType: int
    signature: int radius_client_init_acct(struct radius_client_data *radius)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/src/radius/radius_client.c:1842,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - ev
    - data
    argTypes:
    - void*
    - enum tls_event
    - union tls_event_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1843
      start: 1839
    functionDepth: 0
    functionLinenumber: 1839
    functionLinenumberEnd: 1843
    functionName: radius_tls_event_cb
    functionSourceFile: /src/hostap/src/radius/radius_client.c
    functionUses: 0
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: "void radius_tls_event_cb(void *ctx, enum tls_event ev,\n\t\t\t\tunion
      tls_event_data *data)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_zalloc
      Src: /src/hostap/src/radius/radius_client.c:1862,1
    - Dst: radius_client_init_auth
      Src: /src/hostap/src/radius/radius_client.c:1870,1
    - Dst: radius_client_deinit
      Src: /src/hostap/src/radius/radius_client.c:1871,1
    - Dst: radius_client_init_acct
      Src: /src/hostap/src/radius/radius_client.c:1875,1
    - Dst: radius_client_deinit
      Src: /src/hostap/src/radius/radius_client.c:1876,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/src/radius/radius_client.c:1881,1
    - Dst: os_memset
      Src: /src/hostap/src/radius/radius_client.c:1890,1
    - Dst: tls_init
      Src: /src/hostap/src/radius/radius_client.c:1892,1
    - Dst: radius_client_deinit
      Src: /src/hostap/src/radius/radius_client.c:1894,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 2
    argNames:
    - ctx
    - conf
    argTypes:
    - void*
    - struct hostapd_radius_servers*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1902
      start: 1857
    functionDepth: 7
    functionLinenumber: 1857
    functionLinenumberEnd: 1902
    functionName: radius_client_init
    functionSourceFile: /src/hostap/src/radius/radius_client.c
    functionUses: 2
    functionsReached:
    - radius_client_init_acct
    - radius_client_deinit
    - os_zalloc
    - eloop_register_timeout
    - tls_init
    - radius_client_init_auth
    - os_memset
    linkageType: ''
    returnType: struct radius_client_data
    signature: 'struct radius_client_data *

      radius_client_init(void *ctx, struct hostapd_radius_servers *conf)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: radius_close_auth_socket
      Src: /src/hostap/src/radius/radius_client.c:1914,1
    - Dst: radius_close_acct_socket
      Src: /src/hostap/src/radius/radius_client.c:1915,1
    - Dst: eloop_cancel_timeout
      Src: /src/hostap/src/radius/radius_client.c:1917,1
    - Dst: radius_client_flush
      Src: /src/hostap/src/radius/radius_client.c:1919,1
    - Dst: os_free
      Src: /src/hostap/src/radius/radius_client.c:1920,1
    - Dst: os_free
      Src: /src/hostap/src/radius/radius_client.c:1921,1
    - Dst: tls_connection_deinit
      Src: /src/hostap/src/radius/radius_client.c:1924,1
    - Dst: tls_connection_deinit
      Src: /src/hostap/src/radius/radius_client.c:1925,1
    - Dst: tls_deinit
      Src: /src/hostap/src/radius/radius_client.c:1926,1
    - Dst: os_free
      Src: /src/hostap/src/radius/radius_client.c:1929,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - radius
    argTypes:
    - struct radius_client_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1930
      start: 1909
    functionDepth: 5
    functionLinenumber: 1909
    functionLinenumberEnd: 1930
    functionName: radius_client_deinit
    functionSourceFile: /src/hostap/src/radius/radius_client.c
    functionUses: 3
    functionsReached:
    - radius_close_acct_socket
    - eloop_cancel_timeout
    - tls_connection_deinit
    - os_free
    - tls_deinit
    - radius_close_auth_socket
    - radius_client_flush
    linkageType: ''
    returnType: void
    signature: void radius_client_deinit(struct radius_client_data *radius)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ether_addr_equal
      Src: /src/hostap/src/radius/radius_client.c:1952,1
    - Dst: hostapd_logger
      Src: /src/hostap/src/radius/radius_client.c:1953,1
    - Dst: radius_client_msg_free
      Src: /src/hostap/src/radius/radius_client.c:1966,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - radius
    - addr
    argTypes:
    - struct radius_client_data*
    - u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1974
      start: 1943
    functionDepth: 4
    functionLinenumber: 1943
    functionLinenumberEnd: 1974
    functionName: radius_client_flush_auth
    functionSourceFile: /src/hostap/src/radius/radius_client.c
    functionUses: 1
    functionsReached:
    - radius_client_msg_free
    - ether_addr_equal
    - hostapd_logger
    linkageType: ''
    returnType: void
    signature: "void radius_client_flush_auth(struct radius_client_data *radius,\n\t\t\t
      \     const u8 *addr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/src/radius/radius_client.c:1992,1
    - Dst: hostapd_ip_txt
      Src: /src/hostap/src/radius/radius_client.c:2009,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - buf
    - buflen
    - serv
    - cli
    argTypes:
    - char*
    - size_t
    - struct hostapd_radius_server*
    - struct radius_client_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2023
      start: 1977
    functionDepth: 1
    functionLinenumber: 1977
    functionLinenumberEnd: 2023
    functionName: radius_client_dump_auth_server
    functionSourceFile: /src/hostap/src/radius/radius_client.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - hostapd_ip_txt
    linkageType: ''
    returnType: int
    signature: "int radius_client_dump_auth_server(char *buf, size_t buflen,\n\t\t\t\t\t
      \ struct hostapd_radius_server *serv,\n\t\t\t\t\t  struct radius_client_data
      *cli)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_snprintf
      Src: /src/hostap/src/radius/radius_client.c:2042,1
    - Dst: hostapd_ip_txt
      Src: /src/hostap/src/radius/radius_client.c:2057,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 4
    argNames:
    - buf
    - buflen
    - serv
    - cli
    argTypes:
    - char*
    - size_t
    - struct hostapd_radius_server*
    - struct radius_client_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2069
      start: 2026
    functionDepth: 1
    functionLinenumber: 2026
    functionLinenumberEnd: 2069
    functionName: radius_client_dump_acct_server
    functionSourceFile: /src/hostap/src/radius/radius_client.c
    functionUses: 0
    functionsReached:
    - os_snprintf
    - hostapd_ip_txt
    linkageType: ''
    returnType: int
    signature: "int radius_client_dump_acct_server(char *buf, size_t buflen,\n\t\t\t\t\t
      \ struct hostapd_radius_server *serv,\n\t\t\t\t\t  struct radius_client_data
      *cli)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: radius_client_dump_auth_server
      Src: /src/hostap/src/radius/radius_client.c:2095,1
    - Dst: radius_client_dump_acct_server
      Src: /src/hostap/src/radius/radius_client.c:2105,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - radius
    - buf
    - buflen
    argTypes:
    - struct radius_client_data*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2113
      start: 2079
    functionDepth: 2
    functionLinenumber: 2079
    functionLinenumberEnd: 2113
    functionName: radius_client_get_mib
    functionSourceFile: /src/hostap/src/radius/radius_client.c
    functionUses: 0
    functionsReached:
    - radius_client_dump_acct_server
    - radius_client_dump_auth_server
    linkageType: ''
    returnType: int
    signature: "int radius_client_get_mib(struct radius_client_data *radius, char
      *buf,\n\t\t\t  size_t buflen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - radius
    - conf
    argTypes:
    - struct radius_client_data*
    - struct hostapd_radius_servers*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2121
      start: 2116
    functionDepth: 0
    functionLinenumber: 2116
    functionLinenumberEnd: 2121
    functionName: radius_client_reconfig
    functionSourceFile: /src/hostap/src/radius/radius_client.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void radius_client_reconfig(struct radius_client_data *radius,\n\t\t\t
      \   struct hostapd_radius_servers *conf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: os_realloc
      Src: /src/hostap/afc/afcd.c:51,1
    - Dst: os_memcpy
      Src: /src/hostap/afc/afcd.c:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userdata
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 61
    functionName: afcd_curl_cb_write
    functionSourceFile: /src/hostap/afc/afcd.c
    functionUses: 0
    functionsReached:
    - os_realloc
    - os_memcpy
    linkageType: ''
    returnType: size_t
    signature: "size_t afcd_curl_cb_write(void *ptr, size_t size, size_t nmemb,\n\t\t\t\t
      void *userdata)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/afc/afcd.c:70,1
    - Dst: curl_easy_init
      Src: /src/hostap/afc/afcd.c:72,1
    - Dst: curl_slist_append
      Src: /src/hostap/afc/afcd.c:76,1
    - Dst: curl_slist_append
      Src: /src/hostap/afc/afcd.c:80,1
    - Dst: curl_slist_append
      Src: /src/hostap/afc/afcd.c:85,1
    - Dst: curl_easy_setopt
      Src: /src/hostap/afc/afcd.c:90,1
    - Dst: curl_easy_setopt
      Src: /src/hostap/afc/afcd.c:91,1
    - Dst: curl_easy_setopt
      Src: /src/hostap/afc/afcd.c:92,1
    - Dst: curl_easy_setopt
      Src: /src/hostap/afc/afcd.c:93,1
    - Dst: curl_easy_setopt
      Src: /src/hostap/afc/afcd.c:94,1
    - Dst: curl_easy_setopt
      Src: /src/hostap/afc/afcd.c:96,1
    - Dst: curl_easy_setopt
      Src: /src/hostap/afc/afcd.c:97,1
    - Dst: curl_easy_setopt
      Src: /src/hostap/afc/afcd.c:98,1
    - Dst: curl_easy_setopt
      Src: /src/hostap/afc/afcd.c:103,1
    - Dst: curl_easy_setopt
      Src: /src/hostap/afc/afcd.c:108,1
    - Dst: wpa_printf
      Src: /src/hostap/afc/afcd.c:112,1
    - Dst: curl_easy_setopt
      Src: /src/hostap/afc/afcd.c:117,1
    - Dst: curl_easy_setopt
      Src: /src/hostap/afc/afcd.c:119,1
    - Dst: curl_easy_setopt
      Src: /src/hostap/afc/afcd.c:121,1
    - Dst: curl_easy_setopt
      Src: /src/hostap/afc/afcd.c:126,1
    - Dst: curl_easy_setopt
      Src: /src/hostap/afc/afcd.c:127,1
    - Dst: curl_easy_setopt
      Src: /src/hostap/afc/afcd.c:131,1
    - Dst: curl_easy_setopt
      Src: /src/hostap/afc/afcd.c:133,1
    - Dst: curl_easy_setopt
      Src: /src/hostap/afc/afcd.c:134,1
    - Dst: curl_easy_setopt
      Src: /src/hostap/afc/afcd.c:135,1
    - Dst: curl_easy_setopt
      Src: /src/hostap/afc/afcd.c:136,1
    - Dst: curl_easy_perform
      Src: /src/hostap/afc/afcd.c:138,1
    - Dst: wpa_printf
      Src: /src/hostap/afc/afcd.c:140,1
    - Dst: curl_easy_strerror
      Src: /src/hostap/afc/afcd.c:141,1
    - Dst: curl_slist_free_all
      Src: /src/hostap/afc/afcd.c:144,1
    - Dst: curl_easy_cleanup
      Src: /src/hostap/afc/afcd.c:146,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 68
    argCount: 2
    argNames:
    - ctx
    - request
    argTypes:
    - struct curl_ctx*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 149
    functionName: afcd_send_request
    functionSourceFile: /src/hostap/afc/afcd.c
    functionUses: 0
    functionsReached:
    - curl_slist_append
    - wpa_printf
    - curl_easy_strerror
    - curl_easy_perform
    - curl_easy_setopt
    - curl_slist_free_all
    - curl_easy_init
    - curl_easy_cleanup
    linkageType: ''
    returnType: int
    signature: int afcd_send_request(struct curl_ctx *ctx, unsigned char *request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/afc/afcd.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: handle_term
    functionSourceFile: /src/hostap/afc/afcd.c
    functionUses: 1
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void handle_term(int sig)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpa_printf
      Src: /src/hostap/afc/afcd.c:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 168
    functionName: usage
    functionSourceFile: /src/hostap/afc/afcd.c
    functionUses: 11
    functionsReached:
    - wpa_printf
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: os_strlen
      Src: /src/hostap/afc/afcd.c:174,1
    - Dst: os_strlen
      Src: /src/hostap/afc/afcd.c:174,1
    - Dst: mkdir
      Src: /src/hostap/afc/afcd.c:189,1
    - Dst: os_malloc
      Src: /src/hostap/afc/afcd.c:192,1
    - Dst: os_malloc
      Src: /src/hostap/afc/afcd.c:196,1
    - Dst: os_snprintf
      Src: /src/hostap/afc/afcd.c:202,1
    - Dst: os_strlcpy
      Src: /src/hostap/afc/afcd.c:203,1
    - Dst: socket
      Src: /src/hostap/afc/afcd.c:205,1
    - Dst: wpa_printf
      Src: /src/hostap/afc/afcd.c:207,1
    - Dst: bind
      Src: /src/hostap/afc/afcd.c:212,1
    - Dst: wpa_printf
      Src: /src/hostap/afc/afcd.c:213,1
    - Dst: listen
      Src: /src/hostap/afc/afcd.c:218,1
    - Dst: wpa_printf
      Src: /src/hostap/afc/afcd.c:219,1
    - Dst: curl_global_init
      Src: /src/hostap/afc/afcd.c:224,1
    - Dst: FD_ZERO
      Src: /src/hostap/afc/afcd.c:225,1
    - Dst: FD_SET
      Src: /src/hostap/afc/afcd.c:235,1
    - Dst: select
      Src: /src/hostap/afc/afcd.c:236,1
    - Dst: wpa_printf
      Src: /src/hostap/afc/afcd.c:238,1
    - Dst: FD_ISSET
      Src: /src/hostap/afc/afcd.c:246,1
    - Dst: accept
      Src: /src/hostap/afc/afcd.c:249,1
    - Dst: wpa_printf
      Src: /src/hostap/afc/afcd.c:253,1
    - Dst: os_memset
      Src: /src/hostap/afc/afcd.c:261,1
    - Dst: recv
      Src: /src/hostap/afc/afcd.c:262,1
    - Dst: close
      Src: /src/hostap/afc/afcd.c:263,1
    - Dst: wpa_printf
      Src: /src/hostap/afc/afcd.c:268,1
    - Dst: afcd_send_request
      Src: /src/hostap/afc/afcd.c:269,1
    - Dst: wpa_printf
      Src: /src/hostap/afc/afcd.c:270,1
    - Dst: send
      Src: /src/hostap/afc/afcd.c:271,1
    - Dst: free
      Src: /src/hostap/afc/afcd.c:272,1
    - Dst: close
      Src: /src/hostap/afc/afcd.c:274,1
    - Dst: curl_global_cleanup
      Src: /src/hostap/afc/afcd.c:276,1
    - Dst: close
      Src: /src/hostap/afc/afcd.c:278,1
    - Dst: unlink
      Src: /src/hostap/afc/afcd.c:280,1
    - Dst: os_free
      Src: /src/hostap/afc/afcd.c:281,1
    - Dst: os_free
      Src: /src/hostap/afc/afcd.c:283,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 84
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 286
    functionName: afcd_server_run
    functionSourceFile: /src/hostap/afc/afcd.c
    functionUses: 0
    functionsReached:
    - send
    - curl_global_cleanup
    - os_strlcpy
    - os_snprintf
    - unlink
    - free
    - FD_SET
    - os_strlen
    - wpa_printf
    - select
    - FD_ZERO
    - recv
    - os_free
    - bind
    - afcd_send_request
    - curl_global_init
    - FD_ISSET
    - os_malloc
    - listen
    - os_memset
    - mkdir
    - socket
    - accept
    - close
    linkageType: ''
    returnType: int
    signature: int afcd_server_run(void)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: os_program_init
      Src: /src/hostap/afc/afcd.c:295,1
    - Dst: getopt
      Src: /src/hostap/afc/afcd.c:299,1
    - Dst: usage
      Src: /src/hostap/afc/afcd.c:306,1
    - Dst: os_free
      Src: /src/hostap/afc/afcd.c:316,1
    - Dst: os_rel2abs_path
      Src: /src/hostap/afc/afcd.c:317,1
    - Dst: atoi
      Src: /src/hostap/afc/afcd.c:323,1
    - Dst: strcmp
      Src: /src/hostap/afc/afcd.c:333,1
    - Dst: strcmp
      Src: /src/hostap/afc/afcd.c:335,1
    - Dst: wpa_printf
      Src: /src/hostap/afc/afcd.c:337,1
    - Dst: wpa_printf
      Src: /src/hostap/afc/afcd.c:343,1
    - Dst: usage
      Src: /src/hostap/afc/afcd.c:364,1
    - Dst: usage
      Src: /src/hostap/afc/afcd.c:370,1
    - Dst: wpa_printf
      Src: /src/hostap/afc/afcd.c:376,1
    - Dst: os_daemonize
      Src: /src/hostap/afc/afcd.c:386,1
    - Dst: wpa_printf
      Src: /src/hostap/afc/afcd.c:387,1
    - Dst: strerror
      Src: /src/hostap/afc/afcd.c:387,1
    - Dst: signal
      Src: /src/hostap/afc/afcd.c:391,1
    - Dst: signal
      Src: /src/hostap/afc/afcd.c:392,1
    - Dst: afcd_server_run
      Src: /src/hostap/afc/afcd.c:394,1
    - Dst: os_daemonize_terminate
      Src: /src/hostap/afc/afcd.c:397,1
    - Dst: os_program_deinit
      Src: /src/hostap/afc/afcd.c:398,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 100
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 289
    functionDepth: 2
    functionLinenumber: 289
    functionLinenumberEnd: 401
    functionName: main
    functionSourceFile: /src/hostap/afc/afcd.c
    functionUses: 8
    functionsReached:
    - os_program_init
    - usage
    - wpa_printf
    - strerror
    - afcd_server_run
    - getopt
    - atoi
    - os_daemonize_terminate
    - os_daemonize
    - os_free
    - os_rel2abs_path
    - os_program_deinit
    - signal
    - strcmp
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: peer_get_config
    functionSourceFile: /src/hostap/eap_example/eap_example_peer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct eap_peer_config
    signature: struct eap_peer_config * peer_get_config(void *ctx)
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 2
    argNames:
    - ctx
    - variable
    argTypes:
    - void*
    - enum eapol_bool_var
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 79
    functionName: peer_get_bool
    functionSourceFile: /src/hostap/eap_example/eap_example_peer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool peer_get_bool(void *ctx, enum eapol_bool_var variable)
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 3
    argNames:
    - ctx
    - variable
    - value
    argTypes:
    - void*
    - enum eapol_bool_var
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 119
    functionName: peer_set_bool
    functionSourceFile: /src/hostap/eap_example/eap_example_peer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void peer_set_bool(void *ctx, enum eapol_bool_var variable, bool value)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - variable
    argTypes:
    - void*
    - enum eapol_int_var
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 132
    functionName: peer_get_int
    functionSourceFile: /src/hostap/eap_example/eap_example_peer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int peer_get_int(void *ctx, enum eapol_int_var variable)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - variable
    - value
    argTypes:
    - void*
    - enum eapol_int_var
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 146
    functionName: peer_set_int
    functionSourceFile: /src/hostap/eap_example/eap_example_peer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void peer_set_int(void *ctx, enum eapol_int_var variable,\n\t\t\t
      unsigned int value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 156
    functionName: peer_get_eapReqData
    functionSourceFile: /src/hostap/eap_example/eap_example_peer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct wpabuf
    signature: struct wpabuf * peer_get_eapReqData(void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/eap_example/eap_example_peer.c:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - blob
    argTypes:
    - void*
    - struct wpa_config_blob*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 162
    functionName: peer_set_config_blob
    functionSourceFile: /src/hostap/eap_example/eap_example_peer.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void peer_set_config_blob(void *ctx, struct wpa_config_blob *blob)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/eap_example/eap_example_peer.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - name
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 170
    functionName: peer_get_config_blob
    functionSourceFile: /src/hostap/eap_example/eap_example_peer.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: struct wpa_config_blob
    signature: 'struct wpa_config_blob *

      peer_get_config_blob(void *ctx, const char *name)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/eap_example/eap_example_peer.c:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: peer_notify_pending
    functionSourceFile: /src/hostap/eap_example/eap_example_peer.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void peer_notify_pending(void *ctx)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: eap_peer_md5_register
      Src: /src/hostap/eap_example/eap_example_peer.c:185,1
    - Dst: eap_peer_tls_register
      Src: /src/hostap/eap_example/eap_example_peer.c:190,1
    - Dst: eap_peer_mschapv2_register
      Src: /src/hostap/eap_example/eap_example_peer.c:195,1
    - Dst: eap_peer_peap_register
      Src: /src/hostap/eap_example/eap_example_peer.c:200,1
    - Dst: eap_peer_ttls_register
      Src: /src/hostap/eap_example/eap_example_peer.c:205,1
    - Dst: eap_peer_gtc_register
      Src: /src/hostap/eap_example/eap_example_peer.c:210,1
    - Dst: eap_peer_otp_register
      Src: /src/hostap/eap_example/eap_example_peer.c:215,1
    - Dst: eap_peer_sim_register
      Src: /src/hostap/eap_example/eap_example_peer.c:220,1
    - Dst: eap_peer_leap_register
      Src: /src/hostap/eap_example/eap_example_peer.c:225,1
    - Dst: eap_peer_psk_register
      Src: /src/hostap/eap_example/eap_example_peer.c:230,1
    - Dst: eap_peer_aka_register
      Src: /src/hostap/eap_example/eap_example_peer.c:235,1
    - Dst: eap_peer_aka_prime_register
      Src: /src/hostap/eap_example/eap_example_peer.c:240,1
    - Dst: eap_peer_fast_register
      Src: /src/hostap/eap_example/eap_example_peer.c:245,1
    - Dst: eap_peer_pax_register
      Src: /src/hostap/eap_example/eap_example_peer.c:250,1
    - Dst: eap_peer_sake_register
      Src: /src/hostap/eap_example/eap_example_peer.c:255,1
    - Dst: eap_peer_gpsk_register
      Src: /src/hostap/eap_example/eap_example_peer.c:260,1
    - Dst: eap_peer_wsc_register
      Src: /src/hostap/eap_example/eap_example_peer.c:265,1
    - Dst: eap_peer_ikev2_register
      Src: /src/hostap/eap_example/eap_example_peer.c:270,1
    - Dst: eap_peer_vendor_test_register
      Src: /src/hostap/eap_example/eap_example_peer.c:275,1
    - Dst: eap_peer_tnc_register
      Src: /src/hostap/eap_example/eap_example_peer.c:280,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 284
    functionName: eap_peer_register_methods
    functionSourceFile: /src/hostap/eap_example/eap_example_peer.c
    functionUses: 0
    functionsReached:
    - eap_peer_peap_register
    - eap_peer_pax_register
    - eap_peer_ikev2_register
    - eap_peer_aka_prime_register
    - eap_peer_gpsk_register
    - eap_peer_mschapv2_register
    - eap_peer_ttls_register
    - eap_peer_otp_register
    - eap_peer_aka_register
    - eap_peer_vendor_test_register
    - eap_peer_psk_register
    - eap_peer_tls_register
    - eap_peer_sim_register
    - eap_peer_tnc_register
    - eap_peer_gtc_register
    - eap_peer_leap_register
    - eap_peer_wsc_register
    - eap_peer_sake_register
    - eap_peer_fast_register
    - eap_peer_md5_register
    linkageType: ''
    returnType: int
    signature: int eap_peer_register_methods(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eap_peer_register_methods
      Src: /src/hostap/eap_example/eap_example_peer.c:292,1
    - Dst: os_memset
      Src: /src/hostap/eap_example/eap_example_peer.c:295,1
    - Dst: os_strdup
      Src: /src/hostap/eap_example/eap_example_peer.c:297,1
    - Dst: os_strdup
      Src: /src/hostap/eap_example/eap_example_peer.c:299,1
    - Dst: os_strdup
      Src: /src/hostap/eap_example/eap_example_peer.c:301,1
    - Dst: os_memset
      Src: /src/hostap/eap_example/eap_example_peer.c:304,1
    - Dst: os_memset
      Src: /src/hostap/eap_example/eap_example_peer.c:315,1
    - Dst: eap_peer_sm_init
      Src: /src/hostap/eap_example/eap_example_peer.c:316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 290
    functionDepth: 2
    functionLinenumber: 290
    functionLinenumberEnd: 324
    functionName: eap_example_peer_init
    functionSourceFile: /src/hostap/eap_example/eap_example_peer.c
    functionUses: 0
    functionsReached:
    - eap_peer_register_methods
    - eap_peer_sm_init
    - os_strdup
    - os_memset
    linkageType: ''
    returnType: int
    signature: int eap_example_peer_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eap_peer_sm_deinit
      Src: /src/hostap/eap_example/eap_example_peer.c:329,1
    - Dst: eap_peer_unregister_methods
      Src: /src/hostap/eap_example/eap_example_peer.c:330,1
    - Dst: wpabuf_free
      Src: /src/hostap/eap_example/eap_example_peer.c:331,1
    - Dst: os_free
      Src: /src/hostap/eap_example/eap_example_peer.c:332,1
    - Dst: os_free
      Src: /src/hostap/eap_example/eap_example_peer.c:333,1
    - Dst: os_free
      Src: /src/hostap/eap_example/eap_example_peer.c:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 327
    functionDepth: 4
    functionLinenumber: 327
    functionLinenumberEnd: 335
    functionName: eap_example_peer_deinit
    functionSourceFile: /src/hostap/eap_example/eap_example_peer.c
    functionUses: 0
    functionsReached:
    - os_free
    - wpabuf_free
    - eap_peer_sm_deinit
    - eap_peer_unregister_methods
    linkageType: ''
    returnType: void
    signature: void eap_example_peer_deinit(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: eap_peer_sm_step
      Src: /src/hostap/eap_example/eap_example_peer.c:341,1
    - Dst: printf
      Src: /src/hostap/eap_example/eap_example_peer.c:345,1
    - Dst: eap_get_eapRespData
      Src: /src/hostap/eap_example/eap_example_peer.c:347,1
    - Dst: eap_example_server_rx
      Src: /src/hostap/eap_example/eap_example_peer.c:350,1
    - Dst: wpabuf_head
      Src: /src/hostap/eap_example/eap_example_peer.c:350,1
    - Dst: wpabuf_len
      Src: /src/hostap/eap_example/eap_example_peer.c:351,1
    - Dst: wpabuf_free
      Src: /src/hostap/eap_example/eap_example_peer.c:352,1
    - Dst: eap_key_available
      Src: /src/hostap/eap_example/eap_example_peer.c:358,1
    - Dst: eap_get_eapKeyData
      Src: /src/hostap/eap_example/eap_example_peer.c:361,1
    - Dst: wpa_hexdump
      Src: /src/hostap/eap_example/eap_example_peer.c:362,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 338
    functionDepth: 2
    functionLinenumber: 338
    functionLinenumberEnd: 368
    functionName: eap_example_peer_step
    functionSourceFile: /src/hostap/eap_example/eap_example_peer.c
    functionUses: 0
    functionsReached:
    - eap_example_server_rx
    - wpa_hexdump
    - wpabuf_len
    - wpabuf_free
    - wpabuf_head
    - printf
    - eap_key_available
    - eap_peer_sm_step
    - eap_get_eapKeyData
    - eap_get_eapRespData
    linkageType: ''
    returnType: int
    signature: int eap_example_peer_step(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/eap_example/eap_example_peer.c:375,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/eap_example/eap_example_peer.c:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - data_len
    argTypes:
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 371
    functionDepth: 2
    functionLinenumber: 371
    functionLinenumberEnd: 377
    functionName: eap_example_peer_rx
    functionSourceFile: /src/hostap/eap_example/eap_example_peer.c
    functionUses: 0
    functionsReached:
    - wpabuf_free
    - wpabuf_alloc_copy
    linkageType: ''
    returnType: void
    signature: void eap_example_peer_rx(const u8 *data, size_t data_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eap_example_peer_init
      Src: /src/hostap/eap_example/eap_example.c:32,1
    - Dst: eap_example_server_init
      Src: /src/hostap/eap_example/eap_example.c:33,1
    - Dst: printf
      Src: /src/hostap/eap_example/eap_example.c:37,1
    - Dst: eap_example_server_step
      Src: /src/hostap/eap_example/eap_example.c:38,1
    - Dst: printf
      Src: /src/hostap/eap_example/eap_example.c:39,1
    - Dst: eap_example_peer_step
      Src: /src/hostap/eap_example/eap_example.c:40,1
    - Dst: eap_example_peer_deinit
      Src: /src/hostap/eap_example/eap_example.c:43,1
    - Dst: eap_example_server_deinit
      Src: /src/hostap/eap_example/eap_example.c:44,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 26
    functionDepth: 5
    functionLinenumber: 26
    functionLinenumberEnd: 47
    functionName: main
    functionSourceFile: /src/hostap/eap_example/eap_example.c
    functionUses: 8
    functionsReached:
    - eap_example_peer_init
    - eap_example_peer_deinit
    - eap_example_server_step
    - eap_example_peer_step
    - printf
    - eap_example_server_init
    - eap_example_server_deinit
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/eap_example/eap_example_server.c:33,1
    - Dst: os_memcmp
      Src: /src/hostap/eap_example/eap_example_server.c:43,1
    - Dst: printf
      Src: /src/hostap/eap_example/eap_example_server.c:44,1
    - Dst: os_strdup
      Src: /src/hostap/eap_example/eap_example_server.c:51,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 5
    argNames:
    - ctx
    - identity
    - identity_len
    - phase2
    - user
    argTypes:
    - void*
    - u8*
    - size_t
    - int
    - struct eap_user*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 55
    functionName: server_get_eap_user
    functionSourceFile: /src/hostap/eap_example/eap_example_server.c
    functionUses: 0
    functionsReached:
    - os_strdup
    - printf
    - os_memcmp
    - os_memset
    linkageType: ''
    returnType: int
    signature: "int server_get_eap_user(void *ctx, const u8 *identity,\n\t\t\t       size_t
      identity_len, int phase2,\n\t\t\t       struct eap_user *user)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - len
    argTypes:
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: server_get_eap_req_id_text
    functionSourceFile: /src/hostap/eap_example/eap_example_server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * server_get_eap_req_id_text(void *ctx, size_t *len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: os_memset
      Src: /src/hostap/eap_example/eap_example_server.c:73,1
    - Dst: tls_init
      Src: /src/hostap/eap_example/eap_example_server.c:74,1
    - Dst: os_memset
      Src: /src/hostap/eap_example/eap_example_server.c:78,1
    - Dst: tls_global_set_params
      Src: /src/hostap/eap_example/eap_example_server.c:86,1
    - Dst: printf
      Src: /src/hostap/eap_example/eap_example_server.c:87,1
    - Dst: tls_global_set_verify
      Src: /src/hostap/eap_example/eap_example_server.c:91,1
    - Dst: printf
      Src: /src/hostap/eap_example/eap_example_server.c:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 97
    functionName: eap_example_server_init_tls
    functionSourceFile: /src/hostap/eap_example/eap_example_server.c
    functionUses: 0
    functionsReached:
    - tls_global_set_verify
    - printf
    - tls_global_set_params
    - tls_init
    - os_memset
    linkageType: ''
    returnType: int
    signature: int eap_example_server_init_tls(void)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: eap_server_identity_register
      Src: /src/hostap/eap_example/eap_example_server.c:106,1
    - Dst: eap_server_md5_register
      Src: /src/hostap/eap_example/eap_example_server.c:111,1
    - Dst: eap_server_tls_register
      Src: /src/hostap/eap_example/eap_example_server.c:116,1
    - Dst: eap_server_mschapv2_register
      Src: /src/hostap/eap_example/eap_example_server.c:121,1
    - Dst: eap_server_peap_register
      Src: /src/hostap/eap_example/eap_example_server.c:126,1
    - Dst: eap_server_tlv_register
      Src: /src/hostap/eap_example/eap_example_server.c:131,1
    - Dst: eap_server_gtc_register
      Src: /src/hostap/eap_example/eap_example_server.c:136,1
    - Dst: eap_server_ttls_register
      Src: /src/hostap/eap_example/eap_example_server.c:141,1
    - Dst: eap_server_sim_register
      Src: /src/hostap/eap_example/eap_example_server.c:146,1
    - Dst: eap_server_aka_register
      Src: /src/hostap/eap_example/eap_example_server.c:151,1
    - Dst: eap_server_aka_prime_register
      Src: /src/hostap/eap_example/eap_example_server.c:156,1
    - Dst: eap_server_pax_register
      Src: /src/hostap/eap_example/eap_example_server.c:161,1
    - Dst: eap_server_psk_register
      Src: /src/hostap/eap_example/eap_example_server.c:166,1
    - Dst: eap_server_sake_register
      Src: /src/hostap/eap_example/eap_example_server.c:171,1
    - Dst: eap_server_gpsk_register
      Src: /src/hostap/eap_example/eap_example_server.c:176,1
    - Dst: eap_server_vendor_test_register
      Src: /src/hostap/eap_example/eap_example_server.c:181,1
    - Dst: eap_server_fast_register
      Src: /src/hostap/eap_example/eap_example_server.c:186,1
    - Dst: eap_server_wsc_register
      Src: /src/hostap/eap_example/eap_example_server.c:191,1
    - Dst: eap_server_ikev2_register
      Src: /src/hostap/eap_example/eap_example_server.c:196,1
    - Dst: eap_server_tnc_register
      Src: /src/hostap/eap_example/eap_example_server.c:201,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 100
    functionDepth: 3
    functionLinenumber: 100
    functionLinenumberEnd: 205
    functionName: eap_server_register_methods
    functionSourceFile: /src/hostap/eap_example/eap_example_server.c
    functionUses: 1
    functionsReached:
    - eap_server_psk_register
    - eap_server_gpsk_register
    - eap_server_tnc_register
    - eap_server_pax_register
    - eap_server_ttls_register
    - eap_server_gtc_register
    - eap_server_aka_prime_register
    - eap_server_sim_register
    - eap_server_aka_register
    - eap_server_ikev2_register
    - eap_server_tls_register
    - eap_server_tlv_register
    - eap_server_peap_register
    - eap_server_sake_register
    - eap_server_identity_register
    - eap_server_fast_register
    - eap_server_wsc_register
    - eap_server_mschapv2_register
    - eap_server_vendor_test_register
    - eap_server_md5_register
    linkageType: ''
    returnType: int
    signature: int eap_server_register_methods(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: eap_server_register_methods
      Src: /src/hostap/eap_example/eap_example_server.c:212,1
    - Dst: os_memset
      Src: /src/hostap/eap_example/eap_example_server.c:215,1
    - Dst: eap_example_server_init_tls
      Src: /src/hostap/eap_example/eap_example_server.c:217,1
    - Dst: os_memset
      Src: /src/hostap/eap_example/eap_example_server.c:220,1
    - Dst: os_memset
      Src: /src/hostap/eap_example/eap_example_server.c:224,1
    - Dst: os_memset
      Src: /src/hostap/eap_example/eap_example_server.c:228,1
    - Dst: eap_server_sm_init
      Src: /src/hostap/eap_example/eap_example_server.c:229,1
    - Dst: eap_get_interface
      Src: /src/hostap/eap_example/eap_example_server.c:234,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 208
    functionDepth: 2
    functionLinenumber: 208
    functionLinenumberEnd: 241
    functionName: eap_example_server_init
    functionSourceFile: /src/hostap/eap_example/eap_example_server.c
    functionUses: 1
    functionsReached:
    - eap_server_sm_init
    - eap_server_register_methods
    - eap_example_server_init_tls
    - eap_get_interface
    - os_memset
    linkageType: ''
    returnType: int
    signature: int eap_example_server_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eap_server_sm_deinit
      Src: /src/hostap/eap_example/eap_example_server.c:246,1
    - Dst: eap_server_unregister_methods
      Src: /src/hostap/eap_example/eap_example_server.c:247,1
    - Dst: tls_deinit
      Src: /src/hostap/eap_example/eap_example_server.c:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 244
    functionDepth: 3
    functionLinenumber: 244
    functionLinenumberEnd: 249
    functionName: eap_example_server_deinit
    functionSourceFile: /src/hostap/eap_example/eap_example_server.c
    functionUses: 1
    functionsReached:
    - tls_deinit
    - eap_server_sm_deinit
    - eap_server_unregister_methods
    linkageType: ''
    returnType: void
    signature: void eap_example_server_deinit(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: eap_server_sm_step
      Src: /src/hostap/eap_example/eap_example_server.c:256,1
    - Dst: printf
      Src: /src/hostap/eap_example/eap_example_server.c:259,1
    - Dst: printf
      Src: /src/hostap/eap_example/eap_example_server.c:265,1
    - Dst: wpa_hexdump
      Src: /src/hostap/eap_example/eap_example_server.c:271,1
    - Dst: printf
      Src: /src/hostap/eap_example/eap_example_server.c:278,1
    - Dst: eap_example_peer_rx
      Src: /src/hostap/eap_example/eap_example_server.c:285,1
    - Dst: wpabuf_head
      Src: /src/hostap/eap_example/eap_example_server.c:285,1
    - Dst: wpabuf_len
      Src: /src/hostap/eap_example/eap_example_server.c:286,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 252
    functionDepth: 3
    functionLinenumber: 252
    functionLinenumberEnd: 290
    functionName: eap_example_server_step
    functionSourceFile: /src/hostap/eap_example/eap_example_server.c
    functionUses: 1
    functionsReached:
    - wpa_hexdump
    - eap_example_peer_rx
    - wpabuf_len
    - wpabuf_head
    - printf
    - eap_server_sm_step
    linkageType: ''
    returnType: int
    signature: int eap_example_server_step(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpabuf_free
      Src: /src/hostap/eap_example/eap_example_server.c:296,1
    - Dst: wpabuf_alloc_copy
      Src: /src/hostap/eap_example/eap_example_server.c:297,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - data
    - data_len
    argTypes:
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 293
    functionDepth: 2
    functionLinenumber: 293
    functionLinenumberEnd: 300
    functionName: eap_example_server_rx
    functionSourceFile: /src/hostap/eap_example/eap_example_server.c
    functionUses: 1
    functionsReached:
    - wpabuf_free
    - wpabuf_alloc_copy
    linkageType: ''
    returnType: void
    signature: void eap_example_server_rx(const u8 *data, size_t data_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/radius_example/radius_example.c:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ctx
    - addr
    - module
    - level
    - txt
    - len
    argTypes:
    - void*
    - u8*
    - unsigned int
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: hostapd_logger_cb
    functionSourceFile: /src/hostap/radius_example/radius_example.c
    functionUses: 1
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: "void hostapd_logger_cb(void *ctx, const u8 *addr, unsigned int module,\n\t\t\t
      \     int level, const char *txt, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/radius_example/radius_example.c:39,1
    - Dst: radius_msg_get_hdr
      Src: /src/hostap/radius_example/radius_example.c:40,1
    - Dst: eloop_terminate
      Src: /src/hostap/radius_example/radius_example.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - msg
    - req
    - shared_secret
    - shared_secret_len
    - data
    argTypes:
    - struct radius_msg*
    - struct radius_msg*
    - u8*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 46
    functionName: receive_auth
    functionSourceFile: /src/hostap/radius_example/radius_example.c
    functionUses: 0
    functionsReached:
    - eloop_terminate
    - radius_msg_get_hdr
    - printf
    linkageType: ''
    returnType: RadiusRxResult
    signature: "RadiusRxResult receive_auth(struct radius_msg *msg,\n\t\t\t\t   struct
      radius_msg *req,\n\t\t\t\t   const u8 *shared_secret,\n\t\t\t\t   size_t shared_secret_len,\n\t\t\t\t
      \  void *data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/hostap/radius_example/radius_example.c:54,1
    - Dst: radius_client_get_id
      Src: /src/hostap/radius_example/radius_example.c:56,1
    - Dst: radius_msg_new
      Src: /src/hostap/radius_example/radius_example.c:57,1
    - Dst: printf
      Src: /src/hostap/radius_example/radius_example.c:60,1
    - Dst: radius_msg_make_authenticator
      Src: /src/hostap/radius_example/radius_example.c:64,1
    - Dst: radius_msg_add_attr
      Src: /src/hostap/radius_example/radius_example.c:66,1
    - Dst: printf
      Src: /src/hostap/radius_example/radius_example.c:68,1
    - Dst: radius_msg_free
      Src: /src/hostap/radius_example/radius_example.c:69,1
    - Dst: radius_msg_add_attr_user_password
      Src: /src/hostap/radius_example/radius_example.c:73,1
    - Dst: printf
      Src: /src/hostap/radius_example/radius_example.c:77,1
    - Dst: radius_msg_free
      Src: /src/hostap/radius_example/radius_example.c:78,1
    - Dst: radius_msg_add_attr
      Src: /src/hostap/radius_example/radius_example.c:82,1
    - Dst: printf
      Src: /src/hostap/radius_example/radius_example.c:84,1
    - Dst: radius_msg_free
      Src: /src/hostap/radius_example/radius_example.c:85,1
    - Dst: radius_client_send
      Src: /src/hostap/radius_example/radius_example.c:89,1
    - Dst: radius_msg_free
      Src: /src/hostap/radius_example/radius_example.c:90,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 2
    argNames:
    - eloop_ctx
    - timeout_ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 49
    functionDepth: 6
    functionLinenumber: 49
    functionLinenumberEnd: 91
    functionName: start_example
    functionSourceFile: /src/hostap/radius_example/radius_example.c
    functionUses: 0
    functionsReached:
    - radius_client_send
    - radius_msg_add_attr
    - radius_client_get_id
    - radius_msg_new
    - printf
    - radius_msg_add_attr_user_password
    - radius_msg_free
    - radius_msg_make_authenticator
    linkageType: ''
    returnType: void
    signature: void start_example(void *eloop_ctx, void *timeout_ctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: os_program_init
      Src: /src/hostap/radius_example/radius_example.c:99,1
    - Dst: hostapd_logger_register_cb
      Src: /src/hostap/radius_example/radius_example.c:102,1
    - Dst: os_memset
      Src: /src/hostap/radius_example/radius_example.c:104,1
    - Dst: inet_aton
      Src: /src/hostap/radius_example/radius_example.c:105,1
    - Dst: eloop_init
      Src: /src/hostap/radius_example/radius_example.c:107,1
    - Dst: printf
      Src: /src/hostap/radius_example/radius_example.c:108,1
    - Dst: os_zalloc
      Src: /src/hostap/radius_example/radius_example.c:112,1
    - Dst: hostapd_parse_ip_addr
      Src: /src/hostap/radius_example/radius_example.c:118,1
    - Dst: printf
      Src: /src/hostap/radius_example/radius_example.c:119,1
    - Dst: os_strdup
      Src: /src/hostap/radius_example/radius_example.c:122,1
    - Dst: radius_client_init
      Src: /src/hostap/radius_example/radius_example.c:129,1
    - Dst: printf
      Src: /src/hostap/radius_example/radius_example.c:131,1
    - Dst: radius_client_register
      Src: /src/hostap/radius_example/radius_example.c:135,1
    - Dst: printf
      Src: /src/hostap/radius_example/radius_example.c:137,1
    - Dst: eloop_register_timeout
      Src: /src/hostap/radius_example/radius_example.c:141,1
    - Dst: eloop_run
      Src: /src/hostap/radius_example/radius_example.c:143,1
    - Dst: radius_client_deinit
      Src: /src/hostap/radius_example/radius_example.c:145,1
    - Dst: os_free
      Src: /src/hostap/radius_example/radius_example.c:146,1
    - Dst: os_free
      Src: /src/hostap/radius_example/radius_example.c:147,1
    - Dst: eloop_destroy
      Src: /src/hostap/radius_example/radius_example.c:149,1
    - Dst: os_program_deinit
      Src: /src/hostap/radius_example/radius_example.c:150,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 41
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 94
    functionDepth: 8
    functionLinenumber: 94
    functionLinenumberEnd: 153
    functionName: main
    functionSourceFile: /src/hostap/radius_example/radius_example.c
    functionUses: 8
    functionsReached:
    - eloop_run
    - os_program_init
    - inet_aton
    - radius_client_deinit
    - radius_client_register
    - printf
    - radius_client_init
    - os_zalloc
    - eloop_init
    - eloop_register_timeout
    - os_free
    - hostapd_parse_ip_addr
    - eloop_destroy
    - hostapd_logger_register_cb
    - os_program_deinit
    - os_strdup
    - os_memset
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
Fuzzer filename: /src/hostap/tests/fuzzing/radius/radius.c
Fuzzing method: LLVMFuzzerTestOneInput
included-header-files:
- net/if_dl.h
- ../driver_i.h
- QCloseEvent
- sys/mman.h
- linux/if_ether.h
- sys/ioctl.h
- gnutls/x509.h
- ui_networkconfig.h
- libtommath.c
- tls/rsa.h
- common/version.h
- fst/fst_ctrl_defs.h
- openssl/rand.h
- ntddndis.h
- wnm_ap.h
- utils/radiotap_iter.h
- gcrypt.h
- ap/robust_av.h
- eap_common/eap_pwd_common.h
- netlink/route/link/macsec.h
- pae/ieee802_1x_kay.h
- libxml/tree.h
- nettle/bignum.h
- x_snoop.h
- hs20_supplicant.h
- pae/ieee802_1x_secy_ops.h
- driver_wext.h
- ../config.h
- openssl/bn.h
- QtCore/QLibraryInfo
- netlink/netlink.h
- uuid.h
- utils/list.h
- utils/pcsc_funcs.h
- ctrl_iface_ap.h
- linux/filter.h
- eap_methods.h
- dh_groups.h
- ieee802_11.h
- hs20.h
- sys/epoll.h
- webkit/webkit.h
- wolfssl/options.h
- pae/ieee802_1x_kay_i.h
- radius/radius_client.h
- eapol_auth_sm.h
- QtCore/QTranslator
- QImageReader
- fi/w1/wpa_supplicant/IIface.h
- eap_common/eap_teap_common.h
- net80211/ieee80211_netbsd.h
- openssl/ocsp.h
- common/hw_features_common.h
- wps/wps_defs.h
- ndisc_snoop.h
- bfd.h
- ap/hw_features.h
- ap/sta_info.h
- l2_packet.h
- pae/ieee802_1x_key.h
- QMessageBox
- pkcs5.h
- eap_common/eap_fast_common.h
- QHeaderView
- bitfield.h
- common/nan_de.h
- QList
- net80211/ieee80211_crypto.h
- dlfcn.h
- crypto/dh_groups.h
- ap/neighbor_db.h
- ../wpa_supplicant_i.h
- rfkill.h
- crypto/dh_group5.h
- assert.h
- wpas_glue.h
- nettle/aes.h
- common/ocv.h
- sha384_i.h
- winsock2.h
- QSystemTrayIcon
- wolfssl/openssl/bn.h
- netpacket/packet.h
- net/bpf.h
- ieee802_1x_secy_ops.h
- sys/time.h
- accounting.h
- binder_i.h
- wpas_kay.h
- linux/rtnetlink.h
- linux/errqueue.h
- crypto/random.h
- sha512.h
- upnp_xml.h
- utils/http-utils.h
- ip_addr.h
- pr_supplicant.h
- ap/ieee802_1x.h
- base64.h
- x509v3.h
- stdarg.h
- eap_server/eap_i.h
- ibss_rsn.h
- common/dhcp.h
- wolfssl/wolfcrypt/fips_test.h
- wps_dev_attr.h
- wolfssl/wolfcrypt/pkcs7.h
- browser.h
- utils/browser.h
- ap_drv_ops.h
- tlsv1_client.h
- utils/trace.h
- binder_manager.h
- ../wifi_display.h
- httpread.h
- webkit2/webkit2.h
- map
- ieee802_11_defs.h
- sys/sysctl.h
- random.h
- ifaddrs.h
- dbus_new_handlers_p2p.h
- neighbor_db.h
- driver_i.h
- ui_peers.h
- fi/w1/wpa_supplicant/ISupplicantCallbacks.h
- utils/ext_password.h
- fst/fst_ctrl_iface.h
- aes.h
- common/brcm_vendor.h
- signal.h
- radius/radius.h
- pcsc_funcs.h
- eth_p_oui.h
- openssl/hmac.h
- includes.h
- ap/hostapd.h
- userdatarequest.h
- md5.h
- net80211/ieee80211_freebsd.h
- openssl/ssl.h
- eap_teap_common.h
- PCSC/winscard.h
- utils/xml-utils.h
- machine/endian.h
- common/wpa_helpers.h
- fst/fst.h
- hostapd.h
- ap/wps_hostapd.h
- readline/history.h
- openssl/evp.h
- wbemidl.h
- QDialog
- netlink/genl/genl.h
- state_machine.h
- acs.h
- utils/ip_addr.h
- chap.h
- wolfssl/wolfcrypt/des3.h
- http.h
- proc_coord.h
- utils/edit.h
- curl/curl.h
- radius_server.h
- wolfssl/error-ssl.h
- eap_server/tncs.h
- nss_macsec_secy_rx.h
- eap_common/eap_peap_common.h
- nettle/nettle-meta.h
- bssid_ignore.h
- openssl/encoder.h
- comeback_token.h
- ap/wnm_ap.h
- eap_tlv_common.h
- l2_packet/l2_packet.h
- des_i.h
- eap_gpsk_common.h
- fi/w1/wpa_supplicant/BnSupplicant.h
- net80211/ieee80211.h
- utils/common.h
- ap/p2p_hostapd.h
- ../../../wpa_supplicant/config.h
- ap/pmksa_cache_auth.h
- eap_common/eap_psk_common.h
- crypto/sha256.h
- dbus_new_helpers.h
- wpagui.h
- eap_common/eap_sake_common.h
- linux/sockios.h
- winsock.h
- Packet32.h
- wolfssl/wolfcrypt/asn.h
- binder/ProcessState.h
- fst/fst_internal.h
- sys/prctl.h
- ms_funcs.h
- sys/capability.h
- QStandardItemModel
- nettle/arcfour.h
- dpp_i.h
- autoscan.h
- wolfssl/ssl.h
- openssl/core_names.h
- wpa_i.h
- build_config.h
- netinet/ether.h
- bss.h
- signalbar.h
- wpa.h
- pkcs1.h
- wpa_ie.h
- ap/ap_drv_ops.h
- eap_tls_common.h
- gas_query.h
- cstdio
- common/nan_defs.h
- QLineEdit
- common/linux_bridge.h
- eap_psk_common.h
- qca-vendor.h
- dbus/dbus_common.h
- gnutls/gnutls.h
- http_server.h
- ap/wpa_auth.h
- fips_prf_internal.c
- eap_common/eap_sim_common.h
- wpa_supplicant_i.h
- ap/ctrl_iface_ap.h
- robust_av.h
- fst/fst_iface.h
- fst/fst_session.h
- eap_server/eap_methods.h
- utils/module_tests.h
- linux/if_macsec.h
- stdlib.h
- wps_hostapd.h
- bgscan.h
- crypto/sha1.h
- scanresultsitem.h
- wpa_auth_ie.h
- p2p_i.h
- fst/fst_defs.h
- nettle/des.h
- ../bss.h
- radius_client.h
- crypto/aes.h
- nan/nan.h
- drivers/driver.h
- devload.h
- tlsv1_server.h
- fils_hlp.h
- wps_defs.h
- nan/nan_i.h
- notify.h
- openssl/dsa.h
- CoreServices/CoreServices.h
- net80211/ieee80211_ioctl.h
- config_file.h
- syslog.h
- eap_peer/eap_config.h
- sha1_i.h
- android_drv.h
- ext_password_i.h
- net/if_arp.h
- openssl/store.h
- gas_query_ap.h
- eap_eke_common.h
- nan.h
- aes_siv.h
- binder.h
- interference.h
- radius.h
- common/dragonfly.h
- dpp_hostapd.h
- qapplication.h
- sha512_i.h
- net/route.h
- dbus_common.h
- wlantest.h
- eap_common/ikev2_common.h
- ieee802_11_auth.h
- openssl/pkcs12.h
- tls.h
- common/cli.h
- eap_common/chap.h
- wolfssl/wolfcrypt/arc4.h
- netinet/udp.h
- wolfssl/wolfcrypt/sha512.h
- netinet/ip6.h
- utils/base64.h
- ap/comeback_token.h
- dpp_supplicant.h
- wpa_common.h
- wps_upnp_i.h
- common/dpp.h
- config_ssid.h
- eap_config.h
- wolfssl/wolfcrypt/dh.h
- stringquery.h
- openssl/engine.h
- wpamsg.h
- tlsv1_client_i.h
- defs.h
- eap_common/eap_gpsk_common.h
- pmksa_cache_auth.h
- eventhistory.h
- sha256_i.h
- openssl/x509.h
- dfs.h
- QDateTime
- wps/wps.h
- eap_common/eap_ttls.h
- QSettings
- private/android_filesystem_config.h
- wpa_auth_kay.h
- hw_features.h
- common/proximity_ranging.h
- netlink.h
- ctrl_iface_common.h
- wlantest_ctrl.h
- wps_upnp.h
- ap_list.h
- wps_i.h
- common/eapol_common.h
- common/tnc.h
- dirent.h
- tlsv1_common.h
- supplicant.h
- fst_ctrl_aux.h
- tls/asn1.h
- net/if.h
- ikev2_common.h
- crypto/sha512.h
- linux_ioctl.h
- sys/un.h
- wpa_auth_glue.h
- cutils/properties.h
- ap_mlme.h
- netinet/in.h
- utils/eloop.h
- wps.h
- driver_nl80211.h
- wpa_debug.h
- eapol_auth/eapol_auth_sm_i.h
- tommath.h
- eloop.h
- bss_load.h
- winioctl.h
- tls/bignum.h
- gnutls/pkcs12.h
- ../scan.h
- sae.h
- eap_register.h
- scan.h
- winscard.h
- airtime_policy.h
- vlan_init.h
- fnmatch.h
- openssl/hpke.h
- QScrollBar
- tncc.h
- mach/mach.h
- utils/os.h
- QApplication
- rsn_supp/wpa.h
- networkconfig.h
- binder/IPCThreadState.h
- sys/sockio.h
- libxml/xmlschemastypes.h
- common.h
- netdb.h
- eapol_auth_sm_i.h
- pcap-bpf.h
- fst/fst_ctrl_aux.h
- p2p_hostapd.h
- drivers/priv_netlink.h
- eap_common/eap_defs.h
- sys/endian.h
- common/ptksa_cache.h
- dnet.h
- wps/wps_upnp.h
- mach/mach_time.h
- wps/wps_i.h
- wolfssl/wolfcrypt/error-crypt.h
- utils/crc32.h
- chrono
- linux_defines.h
- nan_usd_ap.h
- radius/radius_server.h
- fst_ctrl_defs.h
- wolfssl/version.h
- dbus_common_i.h
- QTreeWidget
- tlsv1_server_i.h
- tls/tlsv1_server.h
- ddk/ntddndis.h
- common/wpa_ctrl.h
- net/if_media.h
- crypto/milenage.h
- eap_ikev2_common.h
- wolfssl/wolfcrypt/aes.h
- ../ap.h
- ui_eventhistory.h
- scanresults.h
- wolfssl/wolfcrypt/md4.h
- nl80211_copy.h
- wps/http_server.h
- pcap.h
- common/gas.h
- dbus/dbus_new.h
- wpa_auth.h
- time.h
- ikev2.h
- wolfssl/wolfcrypt/md5.h
- sys/uio.h
- cutils/sockets.h
- wolfssl/wolfcrypt/pwdbased.h
- fst_ctrl_iface.h
- gas.h
- common/ieee802_11_common.h
- nettle/hmac.h
- common/ieee802_11_defs.h
- ieee802_1x_kay.h
- p2p.h
- ext_password.h
- dbus_new_handlers.h
- windows.h
- tomcrypt.h
- mesh.h
- wmm.h
- eap_peer/eap_methods.h
- termios.h
- wps_er.h
- radiotap.h
- inttypes.h
- wolfssl/openssl/x509v3.h
- openssl/rsa.h
- sqlite3.h
- ap/nan_usd_ap.h
- radius_das.h
- utils/state_machine.h
- utils/json.h
- ap/beacon.h
- wolfssl/wolfcrypt/cmac.h
- common/ctrl_iface_common.h
- json.h
- stddef.h
- nan_module_tests.h
- rtems/endian.h
- net/if_ether.h
- vlan_util.h
- rsn_supp/preauth.h
- ap/ap_config.h
- sys/event.h
- sys/types.h
- offchannel.h
- p2p_supplicant.h
- grp.h
- tls/tlsv1_client.h
- wincrypt.h
- tls/x509v3.h
- openssl/cmac.h
- utils/includes.h
- wps/wps_attr_parse.h
- link.h
- utils/config.h
- eap_defs.h
- eap_peap_common.h
- netproto/802_11/ieee80211_ioctl.h
- Python.h
- sys/random.h
- ap/ieee802_11.h
- tlsv1_record.h
- ap_config.h
- eap_common.h
- crypto/md5.h
- common/linux_vlan.h
- QTreeWidgetItem
- netlink/route/link/vlan.h
- ../wps_supplicant.h
- linux/mii.h
- ap/hs20.h
- authsrv.h
- eap_proxy.h
- utils/bitfield.h
- eapol_auth/eapol_auth_sm.h
- crypto/crypto.h
- binder/IServiceManager.h
- fst/fst_group.h
- eap_fast_pac.c
- sha1.h
- wpabuf.h
- common/ieee802_1x_defs.h
- ../p2p_supplicant.h
- QObject
- eap_wsc_common.h
- p2p/p2p.h
- mesh_rsn.h
- utils/const_time.h
- sys/wait.h
- eap_peer/eap.h
- gas_serv.h
- wolfssl/wolfcrypt/hmac.h
- ../autoscan.h
- pae/ieee802_1x_cp.h
- common/proc_coord.h
- ieee802_1x_cp.h
- proximity_ranging.h
- dbus_dict_helpers.h
- ../notify.h
- wpa_helpers.h
- byteswap.h
- driver.h
- ieee802_1x_key.h
- sddl.h
- linux_wext.h
- ap.h
- pkcs8.h
- linux/types.h
- keystore/keystore_get.h
- wolfssl/wolfcrypt/asn_public.h
- dragonfly.h
- eap_common/eap_common.h
- gnutls/ocsp.h
- eap_pax_common.h
- list.h
- openssl/provider.h
- common/privsep_commands.h
- ../fuzzer-common.h
- crypto/ms_funcs.h
- structmember.h
- eap_common/eap_tlv_common.h
- wolfssl/wolfcrypt/sha256.h
- tlsv1_cred.h
- rsn_supp/wpa_i.h
- preauth_auth.h
- tls/pkcs1.h
- dbus_new.h
- eapol_supp_sm.h
- tls/pkcs8.h
- nan_i.h
- http-utils.h
- wnm_sta.h
- openssl/asn1t.h
- milenage.h
- ap/dfs.h
- dpp.h
- gas_server.h
- hw_features_common.h
- mesh_mpm.h
- ../interworking.h
- eap_common/eap_pax_common.h
- common/wpa_common.h
- peers.h
- wolfssl/wolfcrypt/sha.h
- beacon.h
- linux/version.h
- iface.h
- errno.h
- stdint.h
- openssl/asn1.h
- sys/utsname.h
- common/qca-vendor.h
- wifi_display.h
- wpa_auth_i.h
- sme.h
- ap/ap_list.h
- openssl/pem.h
- xml-utils.h
- crypto/aes_siv.h
- execinfo.h
- driver_ndis.h
- string
- openssl/param_build.h
- ctype.h
- eapol_supp/eapol_supp_sm.h
- QGridLayout
- openssl/dh.h
- vlan.h
- common/defs.h
- QStyledItemDelegate
- openssl/err.h
- eap_common/eap_ikev2_common.h
- valgrind/memcheck.h
- ap/rrm.h
- platform.h
- crypto/aes_wrap.h
- utils/radiotap.h
- dbus/dbus.h
- openssl/des.h
- drivers/linux_ioctl.h
- ../wpas_glue.h
- tls_openssl.h
- pmksa_cache.h
- netlink/route/link.h
- os.h
- aes_i.h
- radius/radius_das.h
- md5_i.h
- netproto/802_11/ieee80211_dragonfly.h
- wpa_ctrl.h
- sha1-internal.c
- eap_sake_common.h
- wmm_ac.h
- common/gas_server.h
- ../nan_supplicant.h
- eap_pwd_common.h
- sha256.h
- string.h
- QLabel
- sys/stat.h
- taxonomy.h
- trace.h
- ctrl_iface.h
- edit.h
- mschapv2.h
- mbo_ap.h
- openssl/decoder.h
- binder/binder.h
- rsn_supp/pmksa_cache.h
- eap_common/eap_wsc_common.h
- wps/wps_dev_attr.h
- sta_info.h
- nss_macsec_secy.h
- eap_peer/eap_i.h
- driver_wired_common.h
- ui_userdatarequest.h
- dh_group5.h
- interworking.h
- netlink/genl/ctrl.h
- dhcp_snoop.h
- QVBoxLayout
- fcntl.h
- eap_i.h
- crypto/tls_openssl.h
- ieee802_1x.h
- pasn_common.h
- rrm.h
- nuiouser.h
- openssl/ec.h
- ieee802_1x_kay_i.h
- sys/socket.h
- crypto.h
- netlink/genl/family.h
- rsa.h
- priv_netlink.h
- arpa/inet.h
- eap_fast_common.h
- ieee802_11_common.h
- wolfssl/wolfcrypt/rsa.h
- radiotap_iter.h
- libdlpi.h
- stdio.h
- preauth.h
- openssl/opensslv.h
- ap/dpp_hostapd.h
- eap_common/eap_eke_common.h
- openssl/aes.h
- common/qca-vendor-attr.h
- tncs.h
- netinet/ip.h
- ocv.h
- ui_wpagui.h
- thread
- openssl/x509v3.h
- ui_scanresults.h
- addinterface.h
- nan_supplicant.h
- config.h
- wolfssl/wolfcrypt/ecc.h
- rsn_supp/wpa_ie.h
- linux/if_alg.h
- binder_constants.h
- crypto/tls.h
- pasn/pasn_common.h
- eap_peer/eap_proxy.h
- unistd.h
- fst.h
- common/sae.h
- osu_client.h
- nan_defs.h
- limits.h
- crypto/sha384.h
- aes_wrap.h
- linux/wireless.h
- android/log.h
- eap_server/eap_sim_db.h
- poll.h
- readline/readline.h
- ap/vlan.h
- netinet/icmp6.h
- nss_macsec_secy_tx.h
- eap_fast_pac.h
- eap_server/eap.h
- tkip_countermeasures.h
- endian.h
- bignum.h
- wps_supplicant.h
- http_client.h
- openssl/sha.h
- stdbool.h
- asn1.h
- utils/uuid.h
- netinet/ip_icmp.h
- sha384.h
- eap_server/eap_tls_common.h
- fi/w1/wpa_supplicant/BnIface.h
- utils/wpabuf.h
- net/ethernet.h
- nan_de.h
- math.h
- wps_attr_parse.h
report: name
sources:
- function_names:
  - wpa_config_debug_dump_networks
  source_file: /src/hostap/wpa_supplicant/config.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEFAULT_EAPOL_VERSION
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/hostap/wpa_supplicant/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: DEFAULT_AP_SCAN
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/hostap/wpa_supplicant/config.h
      type_or_value: '2'
    - item_type: preproc_def
      name: DEFAULT_AP_SCAN
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/hostap/wpa_supplicant/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: DEFAULT_USER_MPM
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/hostap/wpa_supplicant/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: DEFAULT_MAX_PEER_LINKS
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/hostap/wpa_supplicant/config.h
      type_or_value: '99'
    - item_type: preproc_def
      name: DEFAULT_MESH_MAX_INACTIVITY
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/hostap/wpa_supplicant/config.h
      type_or_value: '300'
    - item_type: preproc_def
      name: DEFAULT_MESH_FWDING
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/hostap/wpa_supplicant/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: DEFAULT_DOT11_RSNA_SAE_RETRANS_PERIOD
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/hostap/wpa_supplicant/config.h
      type_or_value: '1000'
    - item_type: preproc_def
      name: DEFAULT_FAST_REAUTH
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/hostap/wpa_supplicant/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: DEFAULT_P2P_GO_INTENT
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/hostap/wpa_supplicant/config.h
      type_or_value: '7'
    - item_type: preproc_def
      name: DEFAULT_P2P_INTRA_BSS
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/hostap/wpa_supplicant/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: DEFAULT_P2P_GO_MAX_INACTIVITY
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/hostap/wpa_supplicant/config.h
      type_or_value: (5 * 60)
    - item_type: preproc_def
      name: DEFAULT_P2P_OPTIMIZE_LISTEN_CHAN
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/hostap/wpa_supplicant/config.h
      type_or_value: '0'
    - item_type: preproc_def
      name: DEFAULT_BSS_MAX_COUNT
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/hostap/wpa_supplicant/config.h
      type_or_value: '1000'
    - item_type: preproc_def
      name: DEFAULT_BSS_EXPIRATION_AGE
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/hostap/wpa_supplicant/config.h
      type_or_value: '180'
    - item_type: preproc_def
      name: DEFAULT_BSS_EXPIRATION_SCAN_COUNT
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/hostap/wpa_supplicant/config.h
      type_or_value: '2'
    - item_type: preproc_def
      name: DEFAULT_MAX_NUM_STA
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/hostap/wpa_supplicant/config.h
      type_or_value: '128'
    - item_type: preproc_def
      name: DEFAULT_AP_ISOLATE
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/hostap/wpa_supplicant/config.h
      type_or_value: '0'
    - item_type: preproc_def
      name: DEFAULT_ACCESS_NETWORK_TYPE
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/hostap/wpa_supplicant/config.h
      type_or_value: '15'
    - item_type: preproc_def
      name: DEFAULT_SCAN_CUR_FREQ
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/hostap/wpa_supplicant/config.h
      type_or_value: '0'
    - item_type: preproc_def
      name: DEFAULT_P2P_SEARCH_DELAY
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/hostap/wpa_supplicant/config.h
      type_or_value: '500'
    - item_type: preproc_def
      name: DEFAULT_RAND_ADDR_LIFETIME
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/hostap/wpa_supplicant/config.h
      type_or_value: '60'
    - item_type: preproc_def
      name: DEFAULT_KEY_MGMT_OFFLOAD
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/hostap/wpa_supplicant/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: DEFAULT_CERT_IN_CB
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/hostap/wpa_supplicant/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: DEFAULT_P2P_GO_CTWINDOW
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/hostap/wpa_supplicant/config.h
      type_or_value: '0'
    - item_type: preproc_def
      name: DEFAULT_WPA_RSC_RELAXATION
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/hostap/wpa_supplicant/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: DEFAULT_MBO_CELL_CAPA
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/hostap/wpa_supplicant/config.h
      type_or_value: MBO_CELL_CAPA_NOT_SUPPORTED
    - item_type: preproc_def
      name: DEFAULT_DISASSOC_IMMINENT_RSSI_THRESHOLD
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/hostap/wpa_supplicant/config.h
      type_or_value: '-75'
    - item_type: preproc_def
      name: DEFAULT_OCE_SUPPORT
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/hostap/wpa_supplicant/config.h
      type_or_value: OCE_STA
    - item_type: preproc_def
      name: DEFAULT_EXTENDED_KEY_ID
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/hostap/wpa_supplicant/config.h
      type_or_value: '0'
    - item_type: preproc_def
      name: DEFAULT_SCAN_RES_VALID_FOR_CONNECT
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/hostap/wpa_supplicant/config.h
      type_or_value: '5'
    - item_type: preproc_def
      name: DEFAULT_MLD_CONNECT_BAND_PREF
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/hostap/wpa_supplicant/config.h
      type_or_value: MLD_CONNECT_BAND_PREF_AUTO
    - item_type: preproc_def
      name: MAX_ROAMING_CONS
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/hostap/wpa_supplicant/config.h
      type_or_value: '36'
    - item_type: preproc_def
      name: MAX_ROAMING_CONS_OI_LEN
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/hostap/wpa_supplicant/config.h
      type_or_value: '15'
    - item_type: preproc_def
      name: CFG_CHANGED_DEVICE_NAME
      pos:
        line_end: 467
        line_start: 466
        source_file: /src/hostap/wpa_supplicant/config.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: CFG_CHANGED_CONFIG_METHODS
      pos:
        line_end: 468
        line_start: 467
        source_file: /src/hostap/wpa_supplicant/config.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: CFG_CHANGED_DEVICE_TYPE
      pos:
        line_end: 469
        line_start: 468
        source_file: /src/hostap/wpa_supplicant/config.h
      type_or_value: BIT(2)
    - item_type: preproc_def
      name: CFG_CHANGED_OS_VERSION
      pos:
        line_end: 470
        line_start: 469
        source_file: /src/hostap/wpa_supplicant/config.h
      type_or_value: BIT(3)
    - item_type: preproc_def
      name: CFG_CHANGED_UUID
      pos:
        line_end: 471
        line_start: 470
        source_file: /src/hostap/wpa_supplicant/config.h
      type_or_value: BIT(4)
    - item_type: preproc_def
      name: CFG_CHANGED_COUNTRY
      pos:
        line_end: 472
        line_start: 471
        source_file: /src/hostap/wpa_supplicant/config.h
      type_or_value: BIT(5)
    - item_type: preproc_def
      name: CFG_CHANGED_SEC_DEVICE_TYPE
      pos:
        line_end: 473
        line_start: 472
        source_file: /src/hostap/wpa_supplicant/config.h
      type_or_value: BIT(6)
    - item_type: preproc_def
      name: CFG_CHANGED_P2P_SSID_POSTFIX
      pos:
        line_end: 474
        line_start: 473
        source_file: /src/hostap/wpa_supplicant/config.h
      type_or_value: BIT(7)
    - item_type: preproc_def
      name: CFG_CHANGED_WPS_STRING
      pos:
        line_end: 475
        line_start: 474
        source_file: /src/hostap/wpa_supplicant/config.h
      type_or_value: BIT(8)
    - item_type: preproc_def
      name: CFG_CHANGED_P2P_INTRA_BSS
      pos:
        line_end: 476
        line_start: 475
        source_file: /src/hostap/wpa_supplicant/config.h
      type_or_value: BIT(9)
    - item_type: preproc_def
      name: CFG_CHANGED_VENDOR_EXTENSION
      pos:
        line_end: 477
        line_start: 476
        source_file: /src/hostap/wpa_supplicant/config.h
      type_or_value: BIT(10)
    - item_type: preproc_def
      name: CFG_CHANGED_P2P_LISTEN_CHANNEL
      pos:
        line_end: 478
        line_start: 477
        source_file: /src/hostap/wpa_supplicant/config.h
      type_or_value: BIT(11)
    - item_type: preproc_def
      name: CFG_CHANGED_P2P_OPER_CHANNEL
      pos:
        line_end: 479
        line_start: 478
        source_file: /src/hostap/wpa_supplicant/config.h
      type_or_value: BIT(12)
    - item_type: preproc_def
      name: CFG_CHANGED_P2P_PREF_CHAN
      pos:
        line_end: 480
        line_start: 479
        source_file: /src/hostap/wpa_supplicant/config.h
      type_or_value: BIT(13)
    - item_type: preproc_def
      name: CFG_CHANGED_EXT_PW_BACKEND
      pos:
        line_end: 481
        line_start: 480
        source_file: /src/hostap/wpa_supplicant/config.h
      type_or_value: BIT(14)
    - item_type: preproc_def
      name: CFG_CHANGED_NFC_PASSWORD_TOKEN
      pos:
        line_end: 482
        line_start: 481
        source_file: /src/hostap/wpa_supplicant/config.h
      type_or_value: BIT(15)
    - item_type: preproc_def
      name: CFG_CHANGED_P2P_PASSPHRASE_LEN
      pos:
        line_end: 483
        line_start: 482
        source_file: /src/hostap/wpa_supplicant/config.h
      type_or_value: BIT(16)
    - item_type: preproc_def
      name: CFG_CHANGED_SCHED_SCAN_PLANS
      pos:
        line_end: 484
        line_start: 483
        source_file: /src/hostap/wpa_supplicant/config.h
      type_or_value: BIT(17)
    - item_type: preproc_def
      name: CFG_CHANGED_WOWLAN_TRIGGERS
      pos:
        line_end: 485
        line_start: 484
        source_file: /src/hostap/wpa_supplicant/config.h
      type_or_value: BIT(18)
    - item_type: preproc_def
      name: CFG_CHANGED_DISABLE_BTM
      pos:
        line_end: 486
        line_start: 485
        source_file: /src/hostap/wpa_supplicant/config.h
      type_or_value: BIT(19)
    - item_type: preproc_def
      name: CFG_CHANGED_BGSCAN
      pos:
        line_end: 487
        line_start: 486
        source_file: /src/hostap/wpa_supplicant/config.h
      type_or_value: BIT(20)
    - item_type: preproc_def
      name: CFG_CHANGED_FT_PREPEND_PMKID
      pos:
        line_end: 488
        line_start: 487
        source_file: /src/hostap/wpa_supplicant/config.h
      type_or_value: BIT(21)
    - item_type: preproc_def
      name: CFG_CHANGED_P2P_DISABLED
      pos:
        line_end: 489
        line_start: 488
        source_file: /src/hostap/wpa_supplicant/config.h
      type_or_value: BIT(22)
    - item_type: preproc_def
      name: MAX_SEC_DEVICE_TYPES
      pos:
        line_end: 885
        line_start: 884
        source_file: /src/hostap/wpa_supplicant/config.h
      type_or_value: '5'
    - item_type: preproc_def
      name: MAX_WPS_VENDOR_EXT
      pos:
        line_end: 926
        line_start: 925
        source_file: /src/hostap/wpa_supplicant/config.h
      type_or_value: '10'
    - item_type: preproc_def
      name: DEFAULT_P2P_GO_FREQ_MOVE
      pos:
        line_end: 981
        line_start: 980
        source_file: /src/hostap/wpa_supplicant/config.h
      type_or_value: P2P_GO_FREQ_MOVE_STAY
    structs:
    - fields:
      - name: '*next'
        type: struct wpa_cred
      - name: id
        type: int
      - name: temporary
        type: int
      - name: priority
        type: int
      - name: pcsc
        type: int
      - name: '*realm'
        type: char
      - name: '*username'
        type: char
      - name: '*password'
        type: char
      - name: ext_password
        type: int
      - name: '*ca_cert'
        type: char
      - name: '*client_cert'
        type: char
      - name: '*private_key'
        type: char
      - name: '*private_key_passwd'
        type: char
      - name: '*imsi'
        type: char
      - name: '*milenage'
        type: char
      - name: '*imsi_privacy_cert'
        type: char
      - name: '*imsi_privacy_attr'
        type: char
      - name: engine
        type: int
      - name: '*engine_id'
        type: char
      - name: '*ca_cert_id'
        type: char
      - name: '*cert_id'
        type: char
      - name: '*key_id'
        type: char
      - name: '*domain_suffix_match'
        type: char
      - name: '**domain'
        type: char
      - name: num_domain
        type: size_t
      - name: home_ois[MAX_ROAMING_CONS][MAX_ROAMING_CONS_OI_LEN]
        type: u8
      - name: home_ois_len[MAX_ROAMING_CONS]
        type: size_t
      - name: num_home_ois
        type: unsigned int
      - name: required_home_ois[MAX_ROAMING_CONS][MAX_ROAMING_CONS_OI_LEN]
        type: u8
      - name: required_home_ois_len[MAX_ROAMING_CONS]
        type: size_t
      - name: num_required_home_ois
        type: unsigned int
      - name: roaming_consortiums[MAX_ROAMING_CONS][MAX_ROAMING_CONS_OI_LEN]
        type: u8
      - name: roaming_consortiums_len[MAX_ROAMING_CONS]
        type: size_t
      - name: num_roaming_consortiums
        type: unsigned int
      - name: '*eap_method'
        type: struct eap_method_type
      - name: '*phase1'
        type: char
      - name: '*phase2'
        type: char
      - name: '*excluded_ssid'
        type: "struct excluded_ssid {\n\t\tu8 ssid[SSID_MAX_LEN];\n\t\tsize_t ssid_len;\n\t}"
      - name: num_excluded_ssid
        type: size_t
      - name: '*roaming_partner'
        type: "struct roaming_partner {\n\t\tchar fqdn[128];\n\t\tint exact_match;\n\t\tu8
          priority;\n\t\tchar country[3];\n\t}"
      - name: num_roaming_partner
        type: size_t
      - name: update_identifier
        type: int
      - name: '*provisioning_sp'
        type: char
      - name: sp_priority
        type: int
      - name: min_dl_bandwidth_home
        type: unsigned int
      - name: min_ul_bandwidth_home
        type: unsigned int
      - name: min_dl_bandwidth_roaming
        type: unsigned int
      - name: min_ul_bandwidth_roaming
        type: unsigned int
      - name: max_bss_load
        type: unsigned int
      - name: num_req_conn_capab
        type: size_t
      - name: '*req_conn_capab_proto'
        type: u8
      - name: '**req_conn_capab_port'
        type: int
      - name: ocsp
        type: int
      - name: sim_num
        type: int
      item_type: struct
      name: wpa_cred
      pos:
        line_end: 417
        line_start: 60
        source_file: /src/hostap/wpa_supplicant/config.h
    - fields:
      - name: ssid[SSID_MAX_LEN]
        type: u8
      - name: ssid_len
        type: size_t
      item_type: struct
      name: excluded_ssid
      pos:
        line_end: 355
        line_start: 352
        source_file: /src/hostap/wpa_supplicant/config.h
    - fields:
      - name: fqdn[128]
        type: char
      - name: exact_match
        type: int
      - name: priority
        type: u8
      - name: country[3]
        type: char
      item_type: struct
      name: roaming_partner
      pos:
        line_end: 363
        line_start: 358
        source_file: /src/hostap/wpa_supplicant/config.h
    - fields:
      - name: '*next'
        type: struct wpa_dev_ik
      - name: id
        type: int
      - name: dik_cipher
        type: int
      - name: '*dik'
        type: struct wpabuf
      - name: '*pmk'
        type: struct wpabuf
      - name: '*pmkid'
        type: struct wpabuf
      - name: akmp
        type: int
      item_type: struct
      name: wpa_dev_ik
      pos:
        line_end: 463
        line_start: 419
        source_file: /src/hostap/wpa_supplicant/config.h
    - fields:
      - name: '*ssid'
        type: struct wpa_ssid
      - name: '**pssid'
        type: struct wpa_ssid
      - name: num_prio
        type: size_t
      - name: '*cred'
        type: struct wpa_cred
      - name: eapol_version
        type: int
      - name: ap_scan
        type: int
      - name: '*bgscan'
        type: char
      - name: disable_scan_offload
        type: int
      - name: '*ctrl_interface'
        type: char
      - name: '*ctrl_interface_group'
        type: char
      - name: fast_reauth
        type: int
      - name: '*openssl_ciphers'
        type: char
      - name: '*pcsc_reader'
        type: char
      - name: '*pcsc_pin'
        type: char
      - name: external_sim
        type: int
      - name: '*driver_param'
        type: char
      - name: dot11RSNAConfigPMKLifetime
        type: unsigned int
      - name: dot11RSNAConfigPMKReauthThreshold
        type: unsigned int
      - name: dot11RSNAConfigSATimeout
        type: unsigned int
      - name: ft_prepend_pmkid
        type: bool
      - name: update_config
        type: int
      - name: '*blobs'
        type: struct wpa_config_blob
      - name: uuid[16]
        type: u8
      - name: auto_uuid
        type: int
      - name: '*device_name'
        type: char
      - name: '*manufacturer'
        type: char
      - name: '*model_name'
        type: char
      - name: '*model_number'
        type: char
      - name: '*serial_number'
        type: char
      - name: device_type[WPS_DEV_TYPE_LEN]
        type: u8
      - name: '*config_methods'
        type: char
      - name: os_version[4]
        type: u8
      - name: country[2]
        type: char
      - name: wps_cred_processing
        type: int
      - name: wps_cred_add_sae
        type: int
      - name: sec_device_type[MAX_SEC_DEVICE_TYPES][WPS_DEV_TYPE_LEN]
        type: u8
      - name: num_sec_device_types
        type: int
      - name: p2p_listen_reg_class
        type: int
      - name: p2p_listen_channel
        type: int
      - name: p2p_oper_reg_class
        type: int
      - name: p2p_oper_channel
        type: int
      - name: p2p_go_intent
        type: int
      - name: '*p2p_ssid_postfix'
        type: char
      - name: persistent_reconnect
        type: int
      - name: p2p_intra_bss
        type: int
      - name: num_p2p_pref_chan
        type: unsigned int
      - name: '*p2p_pref_chan'
        type: struct p2p_channel
      - name: p2p_no_go_freq
        type: struct wpa_freq_range_list
      - name: p2p_add_cli_chan
        type: int
      - name: p2p_ignore_shared_freq
        type: int
      - name: p2p_optimize_listen_chan
        type: int
      - name: p2p_6ghz_disable
        type: int
      - name: p2p_bootstrap_methods
        type: int
      - name: p2p_pasn_type
        type: int
      - name: p2p_comeback_after
        type: int
      - name: p2p_twt_power_mgmt
        type: bool
      - name: p2p_chan_switch_req_enable
        type: bool
      - name: p2p_reg_info
        type: int
      - name: p2p_assisted_dfs_chan_enable
        type: bool
      - name: '*wps_vendor_ext_m1'
        type: struct wpabuf
      - name: '*wps_vendor_ext[MAX_WPS_VENDOR_EXT]'
        type: struct wpabuf
      - name: p2p_group_idle
        type: int
      - name: p2p_go_freq_change_policy
        type: "enum {\n\t\tP2P_GO_FREQ_MOVE_SCM = 0,\n\t\tP2P_GO_FREQ_MOVE_SCM_PEER_SUPPORTS
          = 1,\n\t\tP2P_GO_FREQ_MOVE_STAY = 2,\n\t\tP2P_GO_FREQ_MOVE_SCM_ECSA = 3,\n\t\tP2P_GO_FREQ_MOVE_MAX
          = P2P_GO_FREQ_MOVE_SCM_ECSA,\n\t}"
      - name: p2p_passphrase_len
        type: unsigned int
      - name: bss_max_count
        type: unsigned int
      - name: bss_expiration_age
        type: unsigned int
      - name: bss_expiration_scan_count
        type: unsigned int
      - name: filter_ssids
        type: int
      - name: filter_rssi
        type: int
      - name: max_num_sta
        type: unsigned int
      - name: ap_isolate
        type: int
      - name: '*freq_list'
        type: int
      - name: '*initial_freq_list'
        type: int
      - name: scan_cur_freq
        type: int
      - name: scan_res_valid_for_connect
        type: int
      - name: changed_parameters
        type: unsigned int
      - name: disassoc_low_ack
        type: int
      - name: interworking
        type: int
      - name: access_network_type
        type: int
      - name: go_interworking
        type: int
      - name: go_access_network_type
        type: int
      - name: go_internet
        type: int
      - name: go_venue_group
        type: int
      - name: go_venue_type
        type: int
      - name: hessid[ETH_ALEN]
        type: u8
      - name: hs20
        type: int
      - name: pbc_in_m1
        type: int
      - name: '*autoscan'
        type: char
      - name: wps_nfc_pw_from_config
        type: int
      - name: wps_nfc_dev_pw_id
        type: int
      - name: '*wps_nfc_dh_pubkey'
        type: struct wpabuf
      - name: '*wps_nfc_dh_privkey'
        type: struct wpabuf
      - name: '*wps_nfc_dev_pw'
        type: struct wpabuf
      - name: '*ext_password_backend'
        type: char
      - name: p2p_go_max_inactivity
        type: int
      - name: wmm_ac_params[4]
        type: struct hostapd_wmm_ac_params
      - name: tx_queue[4]
        type: struct hostapd_tx_queue_params
      - name: auto_interworking
        type: int
      - name: p2p_go_ht40
        type: int
      - name: p2p_go_vht
        type: int
      - name: p2p_go_edmg
        type: int
      - name: p2p_go_he
        type: int
      - name: p2p_go_ctwindow
        type: int
      - name: p2p_disabled
        type: int
      - name: p2p_no_group_iface
        type: int
      - name: p2p_cli_probe
        type: int
      - name: okc
        type: int
      - name: pmf
        type: enum mfp_options
      - name: sae_check_mfp
        type: int
      - name: '*sae_groups'
        type: int
      - name: sae_pwe
        type: enum sae_pwe
      - name: sae_pmkid_in_assoc
        type: int
      - name: dtim_period
        type: int
      - name: beacon_int
        type: int
      - name: '*ap_vendor_elements'
        type: struct wpabuf
      - name: '*ap_assocresp_elements'
        type: struct wpabuf
      - name: ignore_old_scan_res
        type: int
      - name: sched_scan_interval
        type: unsigned int
      - name: sched_scan_start_delay
        type: unsigned int
      - name: tdls_external_control
        type: int
      - name: ip_addr_go[4]
        type: u8
      - name: ip_addr_mask[4]
        type: u8
      - name: ip_addr_start[4]
        type: u8
      - name: ip_addr_end[4]
        type: u8
      - name: '*wowlan_triggers'
        type: char
      - name: p2p_search_delay
        type: unsigned int
      - name: mac_addr
        type: enum wpas_mac_addr_style
      - name: rand_addr_lifetime
        type: unsigned int
      - name: preassoc_mac_addr
        type: enum wpas_mac_addr_style
      - name: key_mgmt_offload
        type: int
      - name: user_mpm
        type: int
      - name: max_peer_links
        type: int
      - name: cert_in_cb
        type: int
      - name: mesh_max_inactivity
        type: int
      - name: mesh_fwding
        type: int
      - name: dot11RSNASAERetransPeriod
        type: int
      - name: passive_scan
        type: int
      - name: reassoc_same_bss_optim
        type: int
      - name: wps_priority
        type: int
      - name: '*fst_group_id'
        type: char
      - name: fst_priority
        type: int
      - name: fst_llt
        type: int
      - name: wpa_rsc_relaxation
        type: int
      - name: '*sched_scan_plans'
        type: char
      - name: gas_address3
        type: int
      - name: ftm_responder
        type: int
      - name: ftm_initiator
        type: int
      - name: gas_rand_addr_lifetime
        type: unsigned int
      - name: gas_rand_mac_addr
        type: enum wpas_mac_addr_style
      - name: dpp_config_processing
        type: int
      - name: '*dpp_name'
        type: char
      - name: '*dpp_mud_url'
        type: char
      - name: '*dpp_extra_conf_req_name'
        type: char
      - name: '*dpp_extra_conf_req_value'
        type: char
      - name: dpp_connector_privacy_default
        type: int
      - name: coloc_intf_reporting
        type: int
      - name: p2p_device_random_mac_addr
        type: int
      - name: p2p_device_persistent_mac_addr[ETH_ALEN]
        type: u8
      - name: p2p_interface_random_mac_addr
        type: int
      - name: disable_btm
        type: int
      - name: extended_key_id
        type: int
      - name: wowlan_disconnect_on_deinit
        type: int
      - name: rsn_overriding
        type: enum wpas_rsn_overriding
      - name: mld_force_single_link
        type: int
      - name: dik_cipher
        type: int
      - name: '*dik'
        type: struct wpabuf
      - name: '*identity'
        type: struct wpa_dev_ik
      - name: twt_requester
        type: bool
      - name: wfa_gen_capa
        type: "enum {\n\t\tWFA_GEN_CAPA_DISABLED = 0,\n\t\tWFA_GEN_CAPA_PROTECTED
          = 1,\n\t\tWFA_GEN_CAPA_UNPROTECTED = 2,\n\t}"
      - name: '*wfa_gen_capa_supp'
        type: struct wpabuf
      - name: disable_op_classes_80_80_mhz
        type: bool
      - name: pr_pasn_type
        type: int
      - name: pr_preferred_role
        type: int
      item_type: struct
      name: wpa_config
      pos:
        line_end: 1941
        line_start: 498
        source_file: /src/hostap/wpa_supplicant/config.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/wpa_supplicant/scan.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEFAULT_NOISE_FLOOR_2GHZ
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/hostap/wpa_supplicant/scan.h
      type_or_value: (-89)
    - item_type: preproc_def
      name: DEFAULT_NOISE_FLOOR_5GHZ
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/hostap/wpa_supplicant/scan.h
      type_or_value: (-92)
    - item_type: preproc_def
      name: DEFAULT_NOISE_FLOOR_6GHZ
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/hostap/wpa_supplicant/scan.h
      type_or_value: (-92)
    - item_type: preproc_def
      name: GREAT_SNR
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/hostap/wpa_supplicant/scan.h
      type_or_value: '25'
    - item_type: preproc_def
      name: TX_POWER_NO_CONSTRAINT
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/hostap/wpa_supplicant/scan.h
      type_or_value: '64'
    structs: []
    typedefs: []
    union: []
- function_names:
  - wpas_get_tx_interface
  - wpas_send_action_cb
  - offchannel_send_action_tx_status
  - offchannel_send_action
  - offchannel_send_action_done
  - offchannel_remain_on_channel_cb
  - offchannel_cancel_remain_on_channel_cb
  - offchannel_pending_action_tx
  - offchannel_clear_pending_action_tx
  - offchannel_deinit
  source_file: /src/hostap/wpa_supplicant/offchannel.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - wpa_supplicant_gen_assoc_event
  - wpas_wps_in_use
  - wpa_setup_mac_addr_rand_params
  - wpa_supplicant_enabled_networks
  - wpa_supplicant_assoc_try
  - wpas_trigger_scan_cb
  - wpa_supplicant_trigger_scan
  - wpa_supplicant_delayed_sched_scan_timeout
  - wpa_supplicant_sched_scan_timeout
  - wpa_supplicant_start_sched_scan
  - wpa_supplicant_stop_sched_scan
  - wpa_supplicant_build_filter_ssids
  - wpa_supplicant_optimize_freqs
  - wpas_add_interworking_elements
  - wpas_fils_req_param_add_max_channel
  - wpa_supplicant_set_default_scan_ies
  - wpa_supplicant_ml_probe_ie
  - for_each_link
  - wpa_supplicant_extra_ies
  - non_p2p_network_enabled
  - wpa_add_scan_freqs_list
  - wpa_setband_scan_freqs
  - wpa_add_scan_ssid
  - wpa_add_owe_scan_ssid
  - wpa_set_scan_ssids
  - wpa_set_ssids_from_scan_req
  - wpa_supplicant_update_scan_int
  - wpa_supplicant_req_scan
  - wpa_supplicant_delayed_sched_scan
  - wpa_scan_set_relative_rssi_params
  - wpa_supplicant_req_sched_scan
  - wpa_supplicant_cancel_scan
  - wpa_supplicant_cancel_delayed_sched_scan
  - wpa_supplicant_cancel_sched_scan
  - wpa_supplicant_notify_scanning
  - wpa_scan_get_max_rate
  - wpa_scan_get_ie
  - wpa_scan_get_ml_ie
  - wpa_scan_get_vendor_ie
  - wpa_scan_get_vendor_ie_beacon
  - wpa_scan_get_vendor_ie_multi
  - wpas_channel_width_offset
  - wpas_channel_width_tx_pwr
  - for_each_element_id
  - wpas_channel_width_rssi_bump
  - wpas_adjust_snr_by_chanwidth
  - wpa_scan_result_compar
  - wpa_scan_result_wps_compar
  - dump_scan_res
  - wpa_supplicant_filter_bssid_match
  - filter_scan_res
  - scan_snr
  - interpolate_rate
  - max_rate
  - max_ht20_rate
  - max_ht40_rate
  - max_vht80_rate
  - max_vht160_rate
  - max_he_eht_rate
  - get_eht_punctured_rate
  - get_eht_num_punct_bits
  - wpas_get_est_tpt
  - scan_est_throughput
  - wpa_scan_get_bssid
  - get_partner_est_tput
  - mlo_scan_est_throughput
  - for_each_element_id
  - wpa_supplicant_get_scan_results
  - wpa_supplicant_update_scan_results
  - scan_only_handler
  - wpas_scan_scheduled
  - wpa_scan_clone_params
  - wpa_scan_free_params
  - wpas_start_pno
  - wpas_stop_pno
  - wpas_mac_addr_rand_scan_clear
  - wpas_mac_addr_rand_scan_set
  - wpas_mac_addr_rand_scan_get_mask
  - wpas_abort_ongoing_scan
  - wpas_sched_scan_plans_set
  - wpas_scan_reset_sched_scan
  - wpas_scan_restart_sched_scan
  source_file: /src/hostap/wpa_supplicant/scan.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EHT_MCS
      pos:
        line_end: 2743
        line_start: 2742
        source_file: /src/hostap/wpa_supplicant/scan.c
      type_or_value: '12'
    structs:
    - fields:
      - name: minsnr
        type: int
      - name: bitrate
        type: unsigned int
      item_type: struct
      name: minsnr_bitrate_entry
      pos:
        line_end: 2676
        line_start: 2673
        source_file: /src/hostap/wpa_supplicant/scan.c
    typedefs: []
    union: []
- function_names:
  - hostapd_logger_cb
  - add_extra_attr
  - add_extra_attrs
  - find_extra_attr
  - ieee802_1x_encapsulate_radius
  - eapol_test_eapol_send
  - eapol_test_set_config_blob
  - eapol_test_get_config_blob
  - eapol_test_eapol_done_cb
  - eapol_sm_reauth
  - eapol_test_compare_pmk
  - eapol_sm_cb
  - eapol_test_write_cert
  - eapol_test_eap_param_needed
  - eapol_test_cert_cb
  - eapol_test_set_anon_id
  - eapol_test_get_state
  - test_eapol
  - test_eapol_clean
  - send_eap_request_identity
  - eapol_test_timeout
  - eap_type_text
  - ieee802_1x_decapsulate_radius
  - ieee802_1x_get_keys
  - ieee802_1x_receive_auth
  - driver_get_ssid
  - driver_get_bssid
  - driver_get_capa
  - wpa_init_conf
  - scard_test
  - scard_get_triplets
  - eapol_test_terminate
  - usage
  - main
  source_file: /src/hostap/wpa_supplicant/eapol_test.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: eapol_test_eap_param_needed
      pos:
        line_end: 501
        line_start: 500
        source_file: /src/hostap/wpa_supplicant/eapol_test.c
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: num_triplets
      pos:
        line_end: 1102
        line_start: 1101
        source_file: /src/hostap/wpa_supplicant/eapol_test.c
      type_or_value: '5'
    - item_type: preproc_def
      name: AKA_RAND_LEN
      pos:
        line_end: 1109
        line_start: 1108
        source_file: /src/hostap/wpa_supplicant/eapol_test.c
      type_or_value: '16'
    - item_type: preproc_def
      name: AKA_AUTN_LEN
      pos:
        line_end: 1110
        line_start: 1109
        source_file: /src/hostap/wpa_supplicant/eapol_test.c
      type_or_value: '16'
    - item_type: preproc_def
      name: AKA_AUTS_LEN
      pos:
        line_end: 1111
        line_start: 1110
        source_file: /src/hostap/wpa_supplicant/eapol_test.c
      type_or_value: '14'
    - item_type: preproc_def
      name: RES_MAX_LEN
      pos:
        line_end: 1112
        line_start: 1111
        source_file: /src/hostap/wpa_supplicant/eapol_test.c
      type_or_value: '16'
    - item_type: preproc_def
      name: IK_LEN
      pos:
        line_end: 1113
        line_start: 1112
        source_file: /src/hostap/wpa_supplicant/eapol_test.c
      type_or_value: '16'
    - item_type: preproc_def
      name: CK_LEN
      pos:
        line_end: 1114
        line_start: 1113
        source_file: /src/hostap/wpa_supplicant/eapol_test.c
      type_or_value: '16'
    structs:
    - fields:
      - name: type
        type: u8
      - name: syntax
        type: char
      - name: '*data'
        type: char
      - name: '*next'
        type: struct extra_radius_attr
      item_type: struct
      name: extra_radius_attr
      pos:
        line_end: 43
        line_start: 38
        source_file: /src/hostap/wpa_supplicant/eapol_test.c
    - fields:
      - name: '*wpa_s'
        type: struct wpa_supplicant
      - name: eapol_test_num_reauths
        type: int
      - name: no_mppe_keys
        type: int
      - name: num_mppe_ok
        type: int
      - name: req_eap_key_name
        type: int
      - name: radius_identifier
        type: u8
      - name: '*last_recv_radius'
        type: struct radius_msg
      - name: own_ip_addr
        type: struct in_addr
      - name: '*radius'
        type: struct radius_client_data
      - name: '*radius_conf'
        type: struct hostapd_radius_servers
      - name: '*last_eap_radius'
        type: struct wpabuf
      - name: authenticator_pmk[PMK_LEN]
        type: u8
      - name: authenticator_pmk_len
        type: size_t
      - name: authenticator_eap_key_name[256]
        type: u8
      - name: authenticator_eap_key_name_len
        type: size_t
      - name: radius_access_accept_received
        type: int
      - name: radius_access_reject_received
        type: int
      - name: auth_timed_out
        type: int
      - name: '*eap_identity'
        type: u8
      - name: eap_identity_len
        type: size_t
      - name: '*connect_info'
        type: char
      - name: own_addr[ETH_ALEN]
        type: u8
      - name: '*extra_attrs'
        type: struct extra_radius_attr
      - name: '*server_cert_file'
        type: FILE
      - name: '*pcsc_reader'
        type: char
      - name: '*pcsc_pin'
        type: char
      - name: ctrl_iface
        type: unsigned int
      - name: id_req_sent
        type: unsigned int
      item_type: struct
      name: eapol_test_data
      pos:
        line_end: 84
        line_start: 45
        source_file: /src/hostap/wpa_supplicant/eapol_test.c
    typedefs: []
    union: []
- function_names:
  - read_interface
  - wpa_supplicant_thread
  - svc_thread
  - register_service
  - unregister_service
  - service_ctrl_handler
  - service_start
  - main
  source_file: /src/hostap/wpa_supplicant/main_winsvc.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: WPASVC_NAME
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/hostap/wpa_supplicant/main_winsvc.c
      type_or_value: TEXT("wpasvc")
    - item_type: preproc_def
      name: WPASVC_DISPLAY_NAME
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/hostap/wpa_supplicant/main_winsvc.c
      type_or_value: TEXT("wpa_supplicant service")
    - item_type: preproc_def
      name: WPASVC_DESCRIPTION
      pos:
        line_end: 38
        line_start: 36
        source_file: /src/hostap/wpa_supplicant/main_winsvc.c
      type_or_value: TEXT("Provides IEEE 802.1X and WPA/WPA2 supplicant functionality")
    - item_type: preproc_def
      name: WPA_KEY_ROOT
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/hostap/wpa_supplicant/main_winsvc.c
      type_or_value: HKEY_LOCAL_MACHINE
    - item_type: preproc_def
      name: WPA_KEY_PREFIX
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/hostap/wpa_supplicant/main_winsvc.c
      type_or_value: TEXT("SOFTWARE\\wpa_supplicant")
    - item_type: preproc_def
      name: TSTR
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/hostap/wpa_supplicant/main_winsvc.c
      type_or_value: '"%S"'
    - item_type: preproc_def
      name: TSTR
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/hostap/wpa_supplicant/main_winsvc.c
      type_or_value: '"%s"'
    - item_type: preproc_def
      name: TBUFLEN
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/hostap/wpa_supplicant/main_winsvc.c
      type_or_value: '255'
    structs: []
    typedefs: []
    union: []
- function_names:
  - wpas_p2p_init
  - wpas_p2p_deinit
  - wpas_p2p_completed
  - wpas_p2p_update_config
  - wpas_p2p_probe_req_rx
  - wpas_p2p_wps_success
  - wpas_p2p_update_channel_list
  - wpas_p2p_update_best_channels
  - wpas_p2p_rx_action
  - wpas_p2p_remain_on_channel_cb
  - wpas_p2p_cancel_remain_on_channel_cb
  - wpas_p2p_interface_unavailable
  - wpas_p2p_notif_connected
  - wpas_p2p_notif_disconnected
  - wpas_p2p_4way_hs_failed
  - wpas_p2p_ap_setup_failed
  - wpas_p2p_indicate_state_change
  - wpas_p2p_deinit_iface
  - wpas_p2p_ap_deinit
  - wpas_p2p_network_removed
  - wpas_p2p_in_progress
  - wpas_p2p_wps_eapol_cb
  - wpas_p2p_wps_failed
  - wpas_p2p_group_remove
  - wpas_p2p_usd_elems
  - wpas_p2p_update_dev_addr
  - wpas_p2p_get_pasn_ptk
  source_file: /src/hostap/wpa_supplicant/p2p_supplicant.h
  types:
    enum:
    - enumerators:
      - name: WPAS_P2P_CHANNEL_UPDATE_ANY
      - name: WPAS_P2P_CHANNEL_UPDATE_DRIVER
      - name: WPAS_P2P_CHANNEL_UPDATE_AVOID
      - name: WPAS_P2P_CHANNEL_UPDATE_DISALLOW
      - name: WPAS_P2P_CHANNEL_UPDATE_STATE_CHANGE
      - name: WPAS_P2P_CHANNEL_UPDATE_CS
      item_type: enum
      name: wpas_p2p_channel_update_trig
      pos:
        line_end: 26
        line_start: 19
        source_file: /src/hostap/wpa_supplicant/p2p_supplicant.h
    - enumerators:
      - name: WPAS_P2P_PD_FOR_GO_NEG
      - name: WPAS_P2P_PD_FOR_ASP
      - name: WPAS_P2P_PD_AUTO
      - name: WPAS_P2P_PD_FOR_JOIN
      item_type: enum
      name: wpas_p2p_prov_disc_use
      pos:
        line_end: 68
        line_start: 63
        source_file: /src/hostap/wpa_supplicant/p2p_supplicant.h
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/wpa_supplicant/wpas_glue.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/hostap/wpa_supplicant/libwpa_test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - WinMain
  source_file: /src/hostap/wpa_supplicant/main_winmain.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CMDLINE
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/hostap/wpa_supplicant/main_winmain.c
      type_or_value: LPWSTR
    - item_type: preproc_def
      name: CMDLINE
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/hostap/wpa_supplicant/main_winmain.c
      type_or_value: LPSTR
    structs: []
    typedefs: []
    union: []
- function_names:
  - wpa_config_validate_network
  - wpa_config_read_network
  - wpa_config_read_cred
  - wpa_config_read_blob
  - wpa_config_process_blob
  - wpa_config_read_identity
  - wpa_config_read
  - write_str
  - write_int
  - write_bssid
  - write_bssid_hint
  - write_psk
  - write_proto
  - write_key_mgmt
  - write_pairwise
  - write_group
  - write_group_mgmt
  - write_auth_alg
  - write_eap
  - write_wep_key
  - write_go_p2p_dev_addr
  - write_p2p_client_list
  - write_p2p2_client_list
  - write_psk_list
  - write_mka_cak
  - write_mka_ckn
  - wpa_config_write_network
  - STR
  - INT
  - INTe
  - INT_DEF
  - INT_DEFe
  - wpa_config_write_cred
  - wpa_config_write_blob
  - write_global_bin
  - wpa_config_write_global
  - wpa_config_write_identity
  - wpa_config_write
  source_file: /src/hostap/wpa_supplicant/config_file.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/wpa_supplicant/dpp_supplicant.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ms_from_time
  - gas_query_init
  - gas_result_txt
  - gas_query_free
  - gas_query_done
  - gas_query_deinit
  - gas_query_get_pending
  - gas_query_append
  - gas_query_tx_status
  - gas_query_tx
  - gas_query_tx_comeback_req
  - gas_query_rx_comeback_timeout
  - gas_query_tx_comeback_timeout
  - gas_query_tx_comeback_req_delay
  - gas_query_rx_initial
  - gas_query_rx_comeback
  - gas_query_rx
  - gas_query_timeout
  - gas_query_dialog_token_available
  - gas_query_start_cb
  - gas_query_tx_initial_req
  - gas_query_new_dialog_token
  - gas_query_set_sa
  - gas_query_req
  - gas_query_stop
  source_file: /src/hostap/wpa_supplicant/gas_query.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GAS_QUERY_TIMEOUT_PERIOD
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/hostap/wpa_supplicant/gas_query.c
      type_or_value: '2'
    - item_type: preproc_def
      name: GAS_QUERY_WAIT_TIME_INITIAL
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/hostap/wpa_supplicant/gas_query.c
      type_or_value: '1000'
    - item_type: preproc_def
      name: GAS_QUERY_WAIT_TIME_COMEBACK
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/hostap/wpa_supplicant/gas_query.c
      type_or_value: '150'
    - item_type: preproc_def
      name: GAS_QUERY_MAX_COMEBACK_DELAY
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/hostap/wpa_supplicant/gas_query.c
      type_or_value: '60000'
    structs:
    - fields:
      - name: list
        type: struct dl_list
      - name: '*gas'
        type: struct gas_query
      - name: '*work'
        type: struct wpa_radio_work
      - name: addr[ETH_ALEN]
        type: u8
      - name: dialog_token
        type: u8
      - name: next_frag_id
        type: u8
      - name: wait_comeback
        type: unsigned int
      - name: offchannel_tx_started
        type: unsigned int
      - name: retry
        type: unsigned int
      - name: wildcard_bssid
        type: unsigned int
      - name: maintain_addr
        type: unsigned int
      - name: sent
        type: unsigned int
      - name: freq
        type: int
      - name: status_code
        type: u16
      - name: '*req'
        type: struct wpabuf
      - name: '*adv_proto'
        type: struct wpabuf
      - name: '*resp'
        type: struct wpabuf
      - name: last_oper
        type: struct os_reltime
      - name: "(*cb)(void *ctx, const u8 *dst, u8 dialog_token,\n\t\t   enum gas_query_result
          result,\n\t\t   const struct wpabuf *adv_proto,\n\t\t   const struct wpabuf
          *resp, u16 status_code)"
        type: void
      - name: '*ctx'
        type: void
      - name: sa[ETH_ALEN]
        type: u8
      item_type: struct
      name: gas_query_pending
      pos:
        line_end: 62
        line_start: 37
        source_file: /src/hostap/wpa_supplicant/gas_query.c
    - fields:
      - name: '*wpa_s'
        type: struct wpa_supplicant
      - name: pending
        type: struct dl_list
      - name: '*current'
        type: struct gas_query_pending
      - name: last_mac_addr_rand
        type: struct os_reltime
      - name: last_rand_sa_type
        type: int
      - name: rand_addr[ETH_ALEN]
        type: u8
      item_type: struct
      name: gas_query
      pos:
        line_end: 74
        line_start: 67
        source_file: /src/hostap/wpa_supplicant/gas_query.c
    typedefs: []
    union: []
- function_names:
  - wpa_bssid_ignore_get
  - wpa_bssid_ignore_add
  - wpa_bssid_ignore_del
  - wpa_bssid_ignore_is_listed
  - wpa_bssid_ignore_clear
  - wpa_bssid_ignore_update
  source_file: /src/hostap/wpa_supplicant/bssid_ignore.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/wpa_supplicant/offchannel.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mesh_mpm_action_rx
  - mesh_mpm_mgmt_rx
  source_file: /src/hostap/wpa_supplicant/mesh_mpm.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - external_scan_running
  - network_is_persistent_group
  - wpas_mode_to_ieee80211_mode
  - wpas_is_nan_iface
  source_file: /src/hostap/wpa_supplicant/wpa_supplicant_i.h
  types:
    enum:
    - enumerators:
      - name: WPA_CONC_PREF_NOT_SET
      - name: WPA_CONC_PREF_P2P
      - name: WPA_CONC_PREF_STA
      item_type: enum
      name: wpa_conc_pref
      pos:
        line_end: 329
        line_start: 325
        source_file: /src/hostap/wpa_supplicant/wpa_supplicant_i.h
    - enumerators:
      - name: OFFCHANNEL_SEND_ACTION_SUCCESS
      - name: OFFCHANNEL_SEND_ACTION_FAILED
      - name: OFFCHANNEL_SEND_ACTION_NO_ACK
      item_type: enum
      name: offchannel_send_action_result
      pos:
        line_end: 438
        line_start: 432
        source_file: /src/hostap/wpa_supplicant/wpa_supplicant_i.h
    - enumerators:
      - name: WPS_AP_NOT_SEL_REG
      - name: WPS_AP_SEL_REG
      - name: WPS_AP_SEL_REG_OUR
      item_type: enum
      name: wps_ap_info_type
      pos:
        line_end: 446
        line_start: 442
        source_file: /src/hostap/wpa_supplicant/wpa_supplicant_i.h
    - enumerators:
      - name: WPAS_TEST_FAILURE_NONE
      - name: WPAS_TEST_FAILURE_SCAN_TRIGGER
      item_type: enum
      name: wpa_supplicant_test_failure
      pos:
        line_end: 495
        line_start: 492
        source_file: /src/hostap/wpa_supplicant/wpa_supplicant_i.h
    - enumerators:
      - name: IPV4
        value: '4'
      - name: IPV6
        value: '6'
      item_type: enum
      name: ip_version
      pos:
        line_end: 564
        line_start: 561
        source_file: /src/hostap/wpa_supplicant/wpa_supplicant_i.h
    - enumerators:
      - name: SCS_DESC_SENT
        value: '0'
      - name: SCS_DESC_SUCCESS
        value: '1'
      item_type: enum
      name: scs_response_status
      pos:
        line_end: 672
        line_start: 669
        source_file: /src/hostap/wpa_supplicant/wpa_supplicant_i.h
    - enumerators:
      - name: CAPAB_HT
      - name: CAPAB_VHT
      - name: CAPAB_HE
      - name: CAPAB_EHT
      item_type: enum
      name: local_hw_capab
      pos:
        line_end: 695
        line_start: 690
        source_file: /src/hostap/wpa_supplicant/wpa_supplicant_i.h
    - enumerators:
      - name: NORMAL_SCAN_REQ
      - name: INITIAL_SCAN_REQ
      - name: MANUAL_SCAN_REQ
      item_type: enum
      name: scan_req_type
      pos:
        line_end: 952
        line_start: 926
        source_file: /src/hostap/wpa_supplicant/wpa_supplicant_i.h
    - enumerators:
      - name: NOT_ALLOWED
      - name: RADAR
      - name: NO_IR
      - name: ALLOWED
      item_type: enum
      name: chan_allowed
      pos:
        line_end: 1991
        line_start: 1989
        source_file: /src/hostap/wpa_supplicant/wpa_supplicant_i.h
    preproc_defs:
    - item_type: preproc_def
      name: MAX_WFD_SUBELEMS
      pos:
        line_end: 340
        line_start: 339
        source_file: /src/hostap/wpa_supplicant/wpa_supplicant_i.h
      type_or_value: '12'
    - item_type: preproc_def
      name: MAX_ACTIVE_WORKS
      pos:
        line_end: 379
        line_start: 378
        source_file: /src/hostap/wpa_supplicant/wpa_supplicant_i.h
      type_or_value: '2'
    - item_type: preproc_def
      name: WPA_FREQ_USED_BY_INFRA_STATION
      pos:
        line_end: 454
        line_start: 453
        source_file: /src/hostap/wpa_supplicant/wpa_supplicant_i.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: WPA_FREQ_USED_BY_P2P_CLIENT
      pos:
        line_end: 455
        line_start: 454
        source_file: /src/hostap/wpa_supplicant/wpa_supplicant_i.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: RRM_NEIGHBOR_REPORT_TIMEOUT
      pos:
        line_end: 462
        line_start: 461
        source_file: /src/hostap/wpa_supplicant/wpa_supplicant_i.h
      type_or_value: '1 '
    - item_type: preproc_def
      name: WILDCARD_SSID_SCAN
      pos:
        line_end: 857
        line_start: 856
        source_file: /src/hostap/wpa_supplicant/wpa_supplicant_i.h
      type_or_value: ((struct wpa_ssid *) 1)
    - item_type: preproc_def
      name: MAX_SCAN_ID
      pos:
        line_end: 981
        line_start: 980
        source_file: /src/hostap/wpa_supplicant/wpa_supplicant_i.h
      type_or_value: '16'
    - item_type: preproc_def
      name: MAC_ADDR_RAND_SCAN
      pos:
        line_end: 1378
        line_start: 1377
        source_file: /src/hostap/wpa_supplicant/wpa_supplicant_i.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: MAC_ADDR_RAND_SCHED_SCAN
      pos:
        line_end: 1379
        line_start: 1378
        source_file: /src/hostap/wpa_supplicant/wpa_supplicant_i.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: MAC_ADDR_RAND_PNO
      pos:
        line_end: 1380
        line_start: 1379
        source_file: /src/hostap/wpa_supplicant/wpa_supplicant_i.h
      type_or_value: BIT(2)
    - item_type: preproc_def
      name: MAC_ADDR_RAND_ALL
      pos:
        line_end: 1383
        line_start: 1380
        source_file: /src/hostap/wpa_supplicant/wpa_supplicant_i.h
      type_or_value: "(MAC_ADDR_RAND_SCAN | \\\n\t\t\t\t  MAC_ADDR_RAND_SCHED_SCAN
        | \\\n\t\t\t\t  MAC_ADDR_RAND_PNO)"
    - item_type: preproc_def
      name: MAX_NAN_RADIOS
      pos:
        line_end: 1742
        line_start: 1741
        source_file: /src/hostap/wpa_supplicant/wpa_supplicant_i.h
      type_or_value: '2'
    structs:
    - fields:
      - name: '*confname'
        type: char
      - name: '*confanother'
        type: char
      - name: '*ctrl_interface'
        type: char
      - name: '*driver'
        type: char
      - name: '*driver_param'
        type: char
      - name: '*ifname'
        type: char
      - name: '*bridge_ifname'
        type: char
      - name: p2p_mgmt
        type: int
      - name: nan_mgmt
        type: bool
      - name: nan_data
        type: bool
      item_type: struct
      name: wpa_interface
      pos:
        line_end: 148
        line_start: 58
        source_file: /src/hostap/wpa_supplicant/wpa_supplicant_i.h
    - fields:
      - name: daemonize
        type: int
      - name: wait_for_monitor
        type: int
      - name: '*pid_file'
        type: char
      - name: wpa_debug_level
        type: int
      - name: wpa_debug_show_keys
        type: int
      - name: wpa_debug_timestamp
        type: int
      - name: '*ctrl_interface'
        type: char
      - name: '*ctrl_interface_group'
        type: char
      - name: dbus_ctrl_interface
        type: int
      - name: '*wpa_debug_file_path'
        type: char
      - name: wpa_debug_syslog
        type: int
      - name: wpa_debug_tracing
        type: int
      - name: '*override_driver'
        type: char
      - name: '*override_ctrl_interface'
        type: char
      - name: '*entropy_file'
        type: char
      - name: show_details
        type: bool
      - name: '*proc_coord_dir'
        type: char
      item_type: struct
      name: wpa_params
      pos:
        line_end: 281
        line_start: 153
        source_file: /src/hostap/wpa_supplicant/wpa_supplicant_i.h
    - fields:
      - name: list
        type: struct dl_list
      - name: '*query'
        type: struct wpabuf
      - name: '*resp'
        type: struct wpabuf
      item_type: struct
      name: p2p_srv_bonjour
      pos:
        line_end: 287
        line_start: 283
        source_file: /src/hostap/wpa_supplicant/wpa_supplicant_i.h
    - fields:
      - name: list
        type: struct dl_list
      - name: version
        type: u8
      - name: '*service'
        type: char
      item_type: struct
      name: p2p_srv_upnp
      pos:
        line_end: 293
        line_start: 289
        source_file: /src/hostap/wpa_supplicant/wpa_supplicant_i.h
    - fields:
      - name: '*ifaces'
        type: struct wpa_supplicant
      - name: params
        type: struct wpa_params
      - name: '*ctrl_iface'
        type: struct ctrl_iface_global_priv
      - name: '*dbus'
        type: struct wpas_dbus_priv
      - name: '*binder'
        type: struct wpas_binder_priv
      - name: '**drv_priv'
        type: void
      - name: drv_count
        type: size_t
      - name: suspend_time
        type: struct os_time
      - name: '*p2p'
        type: struct p2p_data
      - name: '*pr'
        type: struct pr_data
      - name: '*p2p_init_wpa_s'
        type: struct wpa_supplicant
      - name: '*p2p_group_formation'
        type: struct wpa_supplicant
      - name: '*p2p_invite_group'
        type: struct wpa_supplicant
      - name: '*pr_init_wpa_s'
        type: struct wpa_supplicant
      - name: p2p_dev_addr[ETH_ALEN]
        type: u8
      - name: p2p_go_wait_client
        type: struct os_reltime
      - name: p2p_srv_bonjour
        type: struct dl_list
      - name: p2p_srv_upnp
        type: struct dl_list
      - name: p2p_disabled
        type: int
      - name: cross_connection
        type: int
      - name: p2p_long_listen
        type: int
      - name: p2p_disallow_freq
        type: struct wpa_freq_range_list
      - name: p2p_go_avoid_freq
        type: struct wpa_freq_range_list
      - name: conc_pref
        type: "enum wpa_conc_pref {\n\t\tWPA_CONC_PREF_NOT_SET,\n\t\tWPA_CONC_PREF_STA,\n\t\tWPA_CONC_PREF_P2P\n\t}"
      - name: p2p_per_sta_psk
        type: unsigned int
      - name: p2p_fail_on_wps_complete
        type: unsigned int
      - name: p2p_24ghz_social_channels
        type: unsigned int
      - name: pending_p2ps_group
        type: unsigned int
      - name: pending_group_iface_for_p2ps
        type: unsigned int
      - name: pending_p2ps_group_freq
        type: unsigned int
      - name: '*add_psk'
        type: struct psk_list_entry
      item_type: struct
      name: wpa_global
      pos:
        line_end: 348
        line_start: 301
        source_file: /src/hostap/wpa_supplicant/wpa_supplicant_i.h
    - fields:
      - name: name[16]
        type: char
      - name: '*external_scan_req_interface'
        type: struct wpa_supplicant
      - name: num_active_works
        type: unsigned int
      - name: ifaces
        type: struct dl_list
      - name: work
        type: struct dl_list
      item_type: struct
      name: wpa_radio
      pos:
        line_end: 366
        line_start: 358
        source_file: /src/hostap/wpa_supplicant/wpa_supplicant_i.h
    - fields:
      - name: list
        type: struct dl_list
      - name: freq
        type: unsigned int
      - name: '*type'
        type: char
      - name: '*wpa_s'
        type: struct wpa_supplicant
      - name: (*cb)(struct wpa_radio_work *work, int deinit)
        type: void
      - name: '*ctx'
        type: void
      - name: started
        type: unsigned int
      - name: time
        type: struct os_reltime
      - name: bands
        type: unsigned int
      item_type: struct
      name: wpa_radio_work
      pos:
        line_end: 394
        line_start: 384
        source_file: /src/hostap/wpa_supplicant/wpa_supplicant_i.h
    - fields:
      - name: sme
        type: unsigned int
      - name: bss_removed
        type: unsigned int
      - name: '*bss'
        type: struct wpa_bss
      - name: '*ssid'
        type: struct wpa_ssid
      item_type: struct
      name: wpa_connect_work
      pos:
        line_end: 413
        line_start: 408
        source_file: /src/hostap/wpa_supplicant/wpa_supplicant_i.h
    - fields:
      - name: id
        type: unsigned int
      - name: type[100]
        type: char
      - name: timeout
        type: unsigned int
      item_type: struct
      name: wpa_external_work
      pos:
        line_end: 424
        line_start: 420
        source_file: /src/hostap/wpa_supplicant/wpa_supplicant_i.h
    - fields:
      - name: bssid[ETH_ALEN]
        type: u8
      - name: type
        type: "enum wps_ap_info_type {\n\t\tWPS_AP_NOT_SEL_REG,\n\t\tWPS_AP_SEL_REG,\n\t\tWPS_AP_SEL_REG_OUR\n\t}"
      - name: tries
        type: unsigned int
      - name: last_attempt
        type: struct os_reltime
      - name: pbc_active
        type: unsigned int
      - name: uuid[WPS_UUID_LEN]
        type: u8
      item_type: struct
      name: wps_ap_info
      pos:
        line_end: 451
        line_start: 440
        source_file: /src/hostap/wpa_supplicant/wpa_supplicant_i.h
    - fields:
      - name: freq
        type: int
      - name: flags
        type: unsigned int
      item_type: struct
      name: wpa_used_freq_data
      pos:
        line_end: 459
        line_start: 456
        source_file: /src/hostap/wpa_supplicant/wpa_supplicant_i.h
    - fields:
      - name: rrm_used
        type: unsigned int
      - name: (*notify_neighbor_rep)(void *ctx, struct wpabuf *neighbor_rep)
        type: void
      - name: '*neighbor_rep_cb_ctx'
        type: void
      - name: next_neighbor_rep_token
        type: u8
      - name: token
        type: u8
      - name: dst_addr[ETH_ALEN]
        type: u8
      item_type: struct
      name: rrm_data
      pos:
        line_end: 490
        line_start: 466
        source_file: /src/hostap/wpa_supplicant/wpa_supplicant_i.h
    - fields:
      - name: list
        type: struct dl_list
      - name: bssid[ETH_ALEN]
        type: u8
      - name: rssi_threshold
        type: int
      item_type: struct
      name: wpa_bss_tmp_disallowed
      pos:
        line_end: 501
        line_start: 497
        source_file: /src/hostap/wpa_supplicant/wpa_supplicant_i.h
    - fields:
      - name: token
        type: u8
      - name: last_indication
        type: u8
      - name: scan_params
        type: struct wpa_driver_scan_params
      - name: ssid[SSID_MAX_LEN]
        type: u8
      - name: ssid_len
        type: size_t
      - name: bssid[ETH_ALEN]
        type: u8
      - name: report_detail
        type: enum beacon_report_detail
      - name: '*eids'
        type: struct bitfield
      - name: '*ext_eids'
        type: struct bitfield
      item_type: struct
      name: beacon_rep_data
      pos:
        line_end: 513
        line_start: 503
        source_file: /src/hostap/wpa_supplicant/wpa_supplicant_i.h
    - fields:
      - name: list
        type: struct dl_list
      - name: '*pmksa_cache'
        type: void
      item_type: struct
      name: external_pmksa_cache
      pos:
        line_end: 519
        line_start: 516
        source_file: /src/hostap/wpa_supplicant/wpa_supplicant_i.h
    - fields:
      - name: list
        type: struct dl_list
      - name: dst[ETH_ALEN]
        type: u8
      - name: '*pkt'
        type: struct wpabuf
      item_type: struct
      name: fils_hlp_req
      pos:
        line_end: 525
        line_start: 521
        source_file: /src/hostap/wpa_supplicant/wpa_supplicant_i.h
    - fields:
      - name: list
        type: struct dl_list
      - name: bssid[ETH_ALEN]
        type: u8
      - name: si_current_signal
        type: int
      - name: si_avg_signal
        type: int
      - name: si_avg_beacon_signal
        type: int
      - name: si_current_noise
        type: int
      - name: scan_level
        type: int
      item_type: struct
      name: driver_signal_override
      pos:
        line_end: 535
        line_start: 527
        source_file: /src/hostap/wpa_supplicant/wpa_supplicant_i.h
    - fields:
      - name: dialog_token
        type: u8
      - name: request_type
        type: enum scs_request_type
      - name: up_bitmap
        type: u8
      - name: up_limit
        type: u8
      - name: stream_timeout
        type: u32
      - name: frame_classifier[48]
        type: u8
      - name: frame_classifier_len
        type: size_t
      - name: valid_config
        type: bool
      item_type: struct
      name: robust_av_data
      pos:
        line_end: 546
        line_start: 537
        source_file: /src/hostap/wpa_supplicant/wpa_supplicant_i.h
    - fields:
      - name: id
        type: u8
      - name: status
        type: u8
      item_type: struct
      name: dscp_policy_status
      pos:
        line_end: 551
        line_start: 548
        source_file: /src/hostap/wpa_supplicant/wpa_supplicant_i.h
    - fields:
      - name: more
        type: bool
      - name: reset
        type: bool
      - name: solicited
        type: bool
      - name: '*policy'
        type: struct dscp_policy_status
      - name: num_policies
        type: int
      item_type: struct
      name: dscp_resp_data
      pos:
        line_end: 559
        line_start: 553
        source_file: /src/hostap/wpa_supplicant/wpa_supplicant_i.h
    - fields:
      - name: src_ip
        type: struct in_addr
      - name: dst_ip
        type: struct in_addr
      - name: src_port
        type: u16
      - name: dst_port
        type: u16
      - name: dscp
        type: u8
      - name: protocol
        type: u8
      item_type: struct
      name: ipv4_params
      pos:
        line_end: 574
        line_start: 567
        source_file: /src/hostap/wpa_supplicant/wpa_supplicant_i.h
    - fields:
      - name: src_ip
        type: struct in6_addr
      - name: dst_ip
        type: struct in6_addr
      - name: src_port
        type: u16
      - name: dst_port
        type: u16
      - name: dscp
        type: u8
      - name: next_header
        type: u8
      - name: flow_label[3]
        type: u8
      item_type: struct
      name: ipv6_params
      pos:
        line_end: 585
        line_start: 577
        source_file: /src/hostap/wpa_supplicant/wpa_supplicant_i.h
    - fields:
      - name: classifier_mask
        type: u8
      - name: ip_version
        type: enum ip_version
      - name: ip_params
        type: "union {\n\t\tstruct ipv4_params v4;\n\t\tstruct ipv6_params v6;\n\t}"
      item_type: struct
      name: type4_params
      pos:
        line_end: 595
        line_start: 588
        source_file: /src/hostap/wpa_supplicant/wpa_supplicant_i.h
    - fields:
      - name: prot_instance
        type: u8
      - name: prot_number
        type: u8
      - name: '*filter_value'
        type: u8
      - name: '*filter_mask'
        type: u8
      - name: filter_len
        type: size_t
      item_type: struct
      name: type10_params
      pos:
        line_end: 604
        line_start: 598
        source_file: /src/hostap/wpa_supplicant/wpa_supplicant_i.h
    - fields:
      - name: user_priority
        type: u8
      - name: classifier_type
        type: u8
      - name: frame_classifier
        type: "union {\n\t\tstruct type4_params type4_param;\n\t\tstruct type10_params
          type10_param;\n\t}"
      item_type: struct
      name: tclas_element
      pos:
        line_end: 614
        line_start: 607
        source_file: /src/hostap/wpa_supplicant/wpa_supplicant_i.h
    - fields:
      - name: available
        type: bool
      - name: direction
        type: u8
      - name: mask
        type: u16
      - name: min_si
        type: u32
      - name: max_si
        type: u32
      - name: min_data_rate
        type: u32
      - name: delay_bound
        type: u32
      - name: max_msdu_size
        type: u16
      - name: service_start_time
        type: u32
      - name: service_start_time_link_id
        type: u8
      - name: mean_data_rate
        type: u32
      - name: burst_size
        type: u32
      - name: msdu_lifetime
        type: u16
      - name: msdu_delivery_info
        type: u8
      - name: medium_time
        type: u16
      item_type: struct
      name: qos_characteristics
      pos:
        line_end: 648
        line_start: 617
        source_file: /src/hostap/wpa_supplicant/wpa_supplicant_i.h
    - fields:
      - name: scs_id
        type: u8
      - name: request_type
        type: enum scs_request_type
      - name: intra_access_priority
        type: u8
      - name: scs_up_avail
        type: bool
      - name: '*tclas_elems'
        type: struct tclas_element
      - name: num_tclas_elem
        type: unsigned int
      - name: tclas_processing
        type: u8
      - name: qos_char_elem
        type: struct qos_characteristics
      item_type: struct
      name: scs_desc_elem
      pos:
        line_end: 660
        line_start: 651
        source_file: /src/hostap/wpa_supplicant/wpa_supplicant_i.h
    - fields:
      - name: '*scs_desc_elems'
        type: struct scs_desc_elem
      - name: num_scs_desc
        type: unsigned int
      item_type: struct
      name: scs_robust_av_data
      pos:
        line_end: 666
        line_start: 663
        source_file: /src/hostap/wpa_supplicant/wpa_supplicant_i.h
    - fields:
      - name: list
        type: struct dl_list
      - name: scs_id
        type: u8
      - name: status
        type: enum scs_response_status
      - name: desc_elem
        type: struct scs_desc_elem
      item_type: struct
      name: active_scs_elem
      pos:
        line_end: 680
        line_start: 675
        source_file: /src/hostap/wpa_supplicant/wpa_supplicant_i.h
    - fields:
      - name: link_id
        type: u8
      - name: bssid[ETH_ALEN]
        type: u8
      - name: status
        type: u16
      item_type: struct
      name: ml_sta_link_info
      pos:
        line_end: 687
        line_start: 683
        source_file: /src/hostap/wpa_supplicant/wpa_supplicant_i.h
    - fields:
      - name: ssid[SSID_MAX_LEN]
        type: u8
      - name: ssid_len
        type: size_t
      item_type: struct
      name: last_scan_ssid
      pos:
        line_end: 700
        line_start: 697
        source_file: /src/hostap/wpa_supplicant/wpa_supplicant_i.h
    - fields:
      - name: auth_trans
        type: u16
      - name: status
        type: u16
      - name: derive_ptk
        type: bool
      - name: pmksa_caching
        type: bool
      - name: pmkid_found
        type: bool
      - name: pmkid[PMKID_LEN]
        type: u8
      - name: snonce[WPA_NONCE_LEN]
        type: u8
      - name: anonce[WPA_NONCE_LEN]
        type: u8
      - name: dh_group
        type: u16
      - name: '*ecdh'
        type: struct crypto_ecdh
      - name: '*dhss'
        type: struct wpabuf
      - name: rsne[257]
        type: u8
      - name: rsne_len
        type: size_t
      - name: rsnxe[257]
        type: u8
      - name: rsnxe_len
        type: size_t
      item_type: struct
      name: auth_802_1x_data
      pos:
        line_end: 737
        line_start: 721
        source_file: /src/hostap/wpa_supplicant/wpa_supplicant_i.h
    - fields:
      - name: '*global'
        type: struct wpa_global
      - name: '*radio'
        type: struct wpa_radio
      - name: radio_list
        type: struct dl_list
      - name: '*parent'
        type: struct wpa_supplicant
      - name: '*p2pdev'
        type: struct wpa_supplicant
      - name: '*next'
        type: struct wpa_supplicant
      - name: '*l2'
        type: struct l2_packet_data
      - name: '*l2_br'
        type: struct l2_packet_data
      - name: roam_start
        type: struct os_reltime
      - name: roam_time
        type: struct os_reltime
      - name: session_start
        type: struct os_reltime
      - name: session_length
        type: struct os_reltime
      - name: own_addr[ETH_ALEN]
        type: unsigned char
      - name: perm_addr[ETH_ALEN]
        type: unsigned char
      - name: ifname[100]
        type: char
      - name: hw_dfs_domain
        type: u8
      - name: bridge_ifname[16]
        type: char
      - name: '*confname'
        type: char
      - name: '*confanother'
        type: char
      - name: '*conf'
        type: struct wpa_config
      - name: countermeasures
        type: int
      - name: last_michael_mic_error
        type: struct os_reltime
      - name: bssid[ETH_ALEN]
        type: u8
      - name: pending_bssid[ETH_ALEN]
        type: u8
      - name: reassociate
        type: int
      - name: roam_in_progress
        type: bool
      - name: reassoc_same_bss
        type: unsigned int
      - name: reassoc_same_ess
        type: unsigned int
      - name: disconnected
        type: int
      - name: '*current_ssid'
        type: struct wpa_ssid
      - name: '*last_ssid'
        type: struct wpa_ssid
      - name: '*current_bss'
        type: struct wpa_bss
      - name: ap_ies_from_associnfo
        type: int
      - name: assoc_freq
        type: unsigned int
      - name: ap_mld_addr[ETH_ALEN]
        type: u8
      - name: mlo_assoc_link_id
        type: u8
      - name: valid_links
        type: u16
      - name: links[MAX_NUM_MLD_LINKS]
        type: "struct {\n\t\tu8 addr[ETH_ALEN];\n\t\tu8 bssid[ETH_ALEN];\n\t\tunsigned
          int freq;\n\t\tstruct wpa_bss *bss;\n\t\tbool disabled;\n\t\tstruct wpabuf
          *ies;\n\t\tunsigned int max_nss_rx:4;\n\t\tunsigned int max_nss_tx:4;\n\t\tenum
          chan_width channel_bandwidth;\n\t}"
      - name: '*last_con_fail_realm'
        type: u8
      - name: last_con_fail_realm_len
        type: size_t
      - name: sta_roaming_disabled
        type: bool
      - name: pairwise_cipher
        type: int
      - name: deny_ptk0_rekey
        type: int
      - name: group_cipher
        type: int
      - name: key_mgmt
        type: int
      - name: wpa_proto
        type: int
      - name: mgmt_group_cipher
        type: int
      - name: allowed_key_mgmts
        type: int
      - name: '*drv_priv'
        type: void
      - name: '*global_drv_priv'
        type: void
      - name: '*bssid_filter'
        type: u8
      - name: bssid_filter_count
        type: size_t
      - name: '*disallow_aps_bssid'
        type: u8
      - name: disallow_aps_bssid_count
        type: size_t
      - name: '*disallow_aps_ssid'
        type: struct wpa_ssid_value
      - name: disallow_aps_ssid_count
        type: size_t
      - name: setband_mask
        type: u32
      - name: '*next_ssid'
        type: struct wpa_ssid
      - name: prev_scan_wildcard
        type: int
      - name: '*prev_scan_ssid'
        type: struct wpa_ssid
      - name: '*prev_sched_ssid'
        type: struct wpa_ssid
      - name: sched_scan_timeout
        type: int
      - name: first_sched_scan
        type: int
      - name: sched_scan_timed_out
        type: int
      - name: '*sched_scan_plans'
        type: struct sched_scan_plan
      - name: sched_scan_plans_num
        type: size_t
      - name: "(*scan_res_handler)(struct wpa_supplicant *wpa_s,\n\t\t\t\t struct
          wpa_scan_results *scan_res)"
        type: void
      - name: (*scan_res_fail_handler)(struct wpa_supplicant *wpa_s)
        type: void
      - name: bss
        type: struct dl_list
      - name: bss_id
        type: struct dl_list
      - name: num_bss
        type: size_t
      - name: bss_update_idx
        type: unsigned int
      - name: bss_next_id
        type: unsigned int
      - name: '**last_scan_res'
        type: struct wpa_bss
      - name: last_scan_res_used
        type: size_t
      - name: last_scan_res_size
        type: size_t
      - name: last_scan
        type: struct os_reltime
      - name: last_scan_external
        type: bool
      - name: last_scan_ssids[WPAS_MAX_SCAN_SSIDS]
        type: struct last_scan_ssid
      - name: last_scan_num_ssids
        type: size_t
      - name: '*driver'
        type: struct wpa_driver_ops
      - name: interface_removed
        type: int
      - name: '*wpa'
        type: struct wpa_sm
      - name: '*ptksa'
        type: struct ptksa_cache
      - name: '*eapol'
        type: struct eapol_sm
      - name: '*ctrl_iface'
        type: struct ctrl_iface_priv
      - name: wpa_state
        type: enum wpa_states
      - name: '*scan_work'
        type: struct wpa_radio_work
      - name: scanning
        type: int
      - name: sched_scanning
        type: int
      - name: sched_scan_stop_req
        type: unsigned int
      - name: new_connection
        type: int
      - name: eapol_received
        type: int
      - name: rsnxe[257]
        type: u8
      - name: rsnxe_len
        type: size_t
      - name: '*scard'
        type: struct scard_data
      - name: imsi[20]
        type: char
      - name: mnc_len
        type: int
      - name: last_eapol_src[ETH_ALEN]
        type: unsigned char
      - name: keys_cleared
        type: unsigned int
      - name: '*bssid_ignore'
        type: struct wpa_bssid_ignore
      - name: consecutive_conn_failures
        type: unsigned int
      - name: scan_req
        type: "enum scan_req_type {\n\t\t/**\n\t\t * NORMAL_SCAN_REQ - Normal scan
          request\n\t\t *\n\t\t * This is used for scans initiated by wpa_supplicant
          to find an\n\t\t * AP for a connection.\n\t\t */\n\t\tNORMAL_SCAN_REQ,\n\n\t\t/**\n\t\t
          * INITIAL_SCAN_REQ - Initial scan request\n\t\t *\n\t\t * This is used for
          the first scan on an interface to force at\n\t\t * least one scan to be
          run even if the configuration does not\n\t\t * include any enabled networks.\n\t\t
          */\n\t\tINITIAL_SCAN_REQ,\n\n\t\t/**\n\t\t * MANUAL_SCAN_REQ - Manual scan
          request\n\t\t *\n\t\t * This is used for scans where the user request a
          scan or\n\t\t * a specific wpa_supplicant operation (e.g., WPS) requires
          scan\n\t\t * to be run.\n\t\t */\n\t\tMANUAL_SCAN_REQ\n\t}"
      - name: scan_prev_wpa_state
        type: enum wpa_states
      - name: scan_trigger_time
        type: struct os_reltime
      - name: scan_min_time
        type: struct os_reltime
      - name: scan_runs
        type: int
      - name: '*next_scan_freqs'
        type: int
      - name: '*select_network_scan_freqs'
        type: int
      - name: '*manual_scan_freqs'
        type: int
      - name: '*manual_sched_scan_freqs'
        type: int
      - name: manual_scan_passive
        type: unsigned int
      - name: manual_scan_use_id
        type: unsigned int
      - name: manual_scan_only_new
        type: unsigned int
      - name: own_scan_requested
        type: unsigned int
      - name: own_scan_running
        type: unsigned int
      - name: clear_driver_scan_cache
        type: unsigned int
      - name: manual_non_coloc_6ghz
        type: unsigned int
      - name: manual_scan_id
        type: unsigned int
      - name: scan_interval
        type: int
      - name: normal_scans
        type: int
      - name: scan_for_connection
        type: int
      - name: curr_scan_cookie
        type: u64
      - name: scan_id[MAX_SCAN_ID]
        type: int
      - name: scan_id_count
        type: unsigned int
      - name: next_scan_bssid[ETH_ALEN]
        type: u8
      - name: next_scan_bssid_wildcard_ssid
        type: unsigned int
      - name: '*ssids_from_scan_req'
        type: struct wpa_ssid_value
      - name: num_ssids_from_scan_req
        type: unsigned int
      - name: '*last_scan_freqs'
        type: int
      - name: suitable_network
        type: unsigned int
      - name: no_suitable_network
        type: unsigned int
      - name: ml_probe_bssid[ETH_ALEN]
        type: u8
      - name: ml_probe_mld_id
        type: int
      - name: ml_probe_links
        type: u16
      - name: drv_flags
        type: u64
      - name: drv_flags2
        type: u64
      - name: drv_enc
        type: unsigned int
      - name: drv_key_mgmt
        type: unsigned int
      - name: drv_rrm_flags
        type: unsigned int
      - name: drv_max_acl_mac_addrs
        type: unsigned int
      - name: drv_max_probe_req_ie_len
        type: size_t
      - name: probe_resp_offloads
        type: unsigned int
      - name: '*extended_capa'
        type: u8
      - name: extended_capa_len
        type: unsigned int
      - name: eml_capa
        type: u16
      - name: max_scan_ssids
        type: int
      - name: max_sched_scan_ssids
        type: int
      - name: max_sched_scan_plans
        type: unsigned int
      - name: max_sched_scan_plan_interval
        type: unsigned int
      - name: max_sched_scan_plan_iterations
        type: unsigned int
      - name: sched_scan_supported
        type: int
      - name: max_match_sets
        type: unsigned int
      - name: max_remain_on_chan
        type: unsigned int
      - name: max_stations
        type: unsigned int
      - name: max_num_akms
        type: unsigned int
      - name: pending_mic_error_report
        type: int
      - name: pending_mic_error_pairwise
        type: int
      - name: mic_errors_seen
        type: int
      - name: '*wps'
        type: struct wps_context
      - name: wps_success
        type: int
      - name: '*wps_er'
        type: struct wps_er
      - name: wps_run
        type: unsigned int
      - name: wps_pin_start_time
        type: struct os_reltime
      - name: bssid_ignore_cleared
        type: bool
      - name: '*pending_eapol_rx'
        type: struct wpabuf
      - name: pending_eapol_rx_time
        type: struct os_reltime
      - name: pending_eapol_rx_src[ETH_ALEN]
        type: u8
      - name: pending_eapol_encrypted
        type: enum frame_encryption
      - name: last_eapol_matches_bssid
        type: unsigned int
      - name: eapol_failed
        type: unsigned int
      - name: eap_expected_failure
        type: unsigned int
      - name: reattach
        type: unsigned int
      - name: mac_addr_changed
        type: unsigned int
      - name: added_vif
        type: unsigned int
      - name: wnmsleep_used
        type: unsigned int
      - name: owe_transition_select
        type: unsigned int
      - name: owe_transition_search
        type: unsigned int
      - name: connection_set
        type: unsigned int
      - name: connection_ht
        type: unsigned int
      - name: connection_vht
        type: unsigned int
      - name: connection_he
        type: unsigned int
      - name: connection_eht
        type: unsigned int
      - name: connection_uhr
        type: unsigned int
      - name: disable_mbo_oce
        type: unsigned int
      - name: connection_max_nss_rx
        type: u8
      - name: connection_max_nss_tx
        type: u8
      - name: connection_channel_bandwidth
        type: enum chan_width
      - name: last_mac_addr_change
        type: struct os_reltime
      - name: last_mac_addr_style
        type: enum wpas_mac_addr_style
      - name: '*ibss_rsn'
        type: struct ibss_rsn
      - name: set_sta_uapsd
        type: int
      - name: sta_uapsd
        type: int
      - name: set_ap_uapsd
        type: int
      - name: ap_uapsd
        type: int
      - name: auth_alg
        type: int
      - name: last_owe_group
        type: u16
      - name: '*ifmsh'
        type: struct hostapd_iface
      - name: off_channel_freq
        type: unsigned int
      - name: '*pending_action_tx'
        type: struct wpabuf
      - name: pending_action_src[ETH_ALEN]
        type: u8
      - name: pending_action_dst[ETH_ALEN]
        type: u8
      - name: pending_action_bssid[ETH_ALEN]
        type: u8
      - name: pending_action_freq
        type: unsigned int
      - name: pending_action_no_cck
        type: int
      - name: pending_action_without_roc
        type: int
      - name: pending_action_tx_done
        type: unsigned int
      - name: "(*pending_action_tx_status_cb)(struct wpa_supplicant *wpa_s,\n\t\t\t\t\t
          \   unsigned int freq, const u8 *dst,\n\t\t\t\t\t    const u8 *src, const
          u8 *bssid,\n\t\t\t\t\t    const u8 *data, size_t data_len,\n\t\t\t\t\t    enum
          offchannel_send_action_result\n\t\t\t\t\t    result)"
        type: void
      - name: roc_waiting_drv_freq
        type: unsigned int
      - name: action_tx_wait_time
        type: int
      - name: action_tx_wait_time_used
        type: int
      - name: p2p_mgmt
        type: int
      - name: '*bgscan_ssid'
        type: struct wpa_ssid
      - name: '*bgscan'
        type: struct bgscan_ops
      - name: '*bgscan_priv'
        type: void
      - name: signal_threshold
        type: int
      - name: '*autoscan'
        type: struct autoscan_ops
      - name: '*autoscan_params'
        type: struct wpa_driver_scan_params
      - name: '*autoscan_priv'
        type: void
      - name: '*connect_without_scan'
        type: struct wpa_ssid
      - name: '*wps_ap'
        type: struct wps_ap_info
      - name: num_wps_ap
        type: size_t
      - name: wps_ap_iter
        type: int
      - name: after_wps
        type: int
      - name: known_wps_freq
        type: int
      - name: wps_freq
        type: unsigned int
      - name: wps_fragment_size
        type: int
      - name: auto_reconnect_disabled
        type: int
      - name: best_24_freq
        type: int
      - name: best_5_freq
        type: int
      - name: best_overall_freq
        type: int
      - name: '*gas'
        type: struct gas_query
      - name: '*gas_server'
        type: struct gas_server
      - name: drv_capa_known
        type: unsigned int
      - name: hw
        type: "struct {\n\t\tstruct hostapd_hw_modes *modes;\n\t\tu16 num_modes;\n\t\tu16
          flags;\n\t}"
      - name: hw_capab
        type: unsigned int
      - name: pno
        type: int
      - name: pno_sched_pending
        type: int
      - name: disconnect_reason
        type: int
      - name: auth_status_code
        type: u16
      - name: assoc_status_code
        type: u16
      - name: '*ext_pw'
        type: struct ext_password_data
      - name: '*last_gas_resp'
        type: struct wpabuf
      - name: last_gas_addr[ETH_ALEN]
        type: u8
      - name: last_gas_dialog_token
        type: u8
      - name: no_keep_alive
        type: unsigned int
      - name: ext_mgmt_frame_handling
        type: unsigned int
      - name: ext_eapol_frame_io
        type: unsigned int
      - name: wmm_ac_supported
        type: unsigned int
      - name: ext_work_in_progress
        type: unsigned int
      - name: own_disconnect_req
        type: unsigned int
      - name: own_reconnect_req
        type: unsigned int
      - name: ignore_post_flush_scan_res
        type: unsigned int
      - name: mac_addr_rand_supported
        type: unsigned int
      - name: mac_addr_rand_enable
        type: unsigned int
      - name: '*mac_addr_scan'
        type: u8
      - name: '*mac_addr_sched_scan'
        type: u8
      - name: '*mac_addr_pno'
        type: u8
      - name: num_multichan_concurrent
        type: unsigned int
      - name: '*connect_work'
        type: struct wpa_radio_work
      - name: ext_work_id
        type: unsigned int
      - name: '*vendor_elem[NUM_VENDOR_ELEM_FRAMES]'
        type: struct wpabuf
      - name: '*wmm_ac_assoc_info'
        type: struct wmm_ac_assoc_data
      - name: '*tspecs[WMM_AC_NUM][TS_DIR_IDX_COUNT]'
        type: struct wmm_tspec_element
      - name: '*addts_request'
        type: struct wmm_ac_addts_request
      - name: wmm_ac_last_dialog_token
        type: u8
      - name: '*last_tspecs'
        type: struct wmm_tspec_element
      - name: last_tspecs_count
        type: u8
      - name: rrm
        type: struct rrm_data
      - name: beacon_rep_data
        type: struct beacon_rep_data
      - name: bss_tmp_disallowed
        type: struct dl_list
      - name: '*lci'
        type: struct wpabuf
      - name: lci_time
        type: struct os_reltime
      - name: beacon_rep_scan
        type: struct os_reltime
      - name: fils_hlp_req
        type: struct dl_list
      - name: srp
        type: "struct sched_scan_relative_params {\n\t\t/**\n\t\t * relative_rssi_set
          - Enable relatively preferred BSS reporting\n\t\t *\n\t\t * 0 = Disable
          reporting relatively preferred BSSs\n\t\t * 1 = Enable reporting relatively
          preferred BSSs\n\t\t */\n\t\tint relative_rssi_set;\n\n\t\t/**\n\t\t * relative_rssi
          - Relative RSSI for reporting better BSSs\n\t\t *\n\t\t * Amount of RSSI
          by which a BSS should be better than the\n\t\t * current connected BSS so
          that the new BSS can be reported\n\t\t * to user space. This applies to
          sched_scan operations.\n\t\t */\n\t\tint relative_rssi;\n\n\t\t/**\n\t\t
          * relative_adjust_band - Band in which RSSI is to be adjusted\n\t\t */\n\t\tenum
          set_band relative_adjust_band;\n\n\t\t/**\n\t\t * relative_adjust_rssi -
          RSSI adjustment\n\t\t *\n\t\t * An amount of relative_adjust_rssi should
          be added to the\n\t\t * BSSs that belong to the relative_adjust_band while
          comparing\n\t\t * with other bands for BSS reporting.\n\t\t */\n\t\tint
          relative_adjust_rssi;\n\t}"
      - name: '*ric_ies'
        type: struct wpabuf
      - name: last_auth_timeout_sec
        type: int
      - name: ieee80211ac
        type: unsigned int
      - name: enabled_4addr_mode
        type: unsigned int
      - name: multi_bss_support
        type: unsigned int
      - name: drv_authorized_port
        type: unsigned int
      - name: multi_ap_ie
        type: unsigned int
      - name: multi_ap_backhaul
        type: unsigned int
      - name: multi_ap_fronthaul
        type: unsigned int
      - name: wps_scan_done
        type: bool
      - name: supp_pbc_active
        type: bool
      - name: wps_overlap
        type: bool
      - name: scan_in_progress_6ghz
        type: bool
      - name: is_6ghz_enabled
        type: bool
      - name: crossed_6ghz_dom
        type: bool
      - name: last_scan_all_chan
        type: bool
      - name: last_scan_non_coloc_6ghz
        type: bool
      - name: support_6ghz
        type: bool
      - name: allow_p2p_assisted_dfs
        type: bool
      - name: device_country[3]
        type: char
      - name: device_country_set
        type: bool
      - name: assisted_dfs
        type: bool
      - name: dfs_ap_connected
        type: bool
      - name: sta_connected_freq
        type: int
      - name: sta_connected_chan_width
        type: enum chan_width
      - name: last_signal_info
        type: struct wpa_signal_info
      - name: '*ml_connect_probe_ssid'
        type: struct wpa_ssid
      - name: '*ml_connect_probe_bss'
        type: struct wpa_bss
      - name: ssid_verified
        type: bool
      - name: bigtk_set
        type: bool
      - name: first_beacon_tsf
        type: u64
      - name: beacons_checked
        type: unsigned int
      - name: next_beacon_check
        type: unsigned int
      - name: scs_reconfigure
        type: bool
      - name: ext_auth_to_same_bss
        type: bool
      - name: nan_mgmt
        type: bool
      - name: nan_data
        type: bool
      - name: pd_addr[ETH_ALEN]
        type: u8
      - name: pr_responder_mode
        type: bool
      - name: pr_responder_src_addr[ETH_ALEN]
        type: u8
      item_type: struct
      name: wpa_supplicant
      pos:
        line_end: 1790
        line_start: 748
        source_file: /src/hostap/wpa_supplicant/wpa_supplicant_i.h
    - fields:
      - name: reason
        type: enum mbo_non_pref_chan_reason
      - name: oper_class
        type: u8
      - name: chan
        type: u8
      - name: preference
        type: u8
      item_type: struct
      name: wpa_mbo_non_pref_channel
      pos:
        line_end: 1489
        line_start: 1484
        source_file: /src/hostap/wpa_supplicant/wpa_supplicant_i.h
    - fields:
      - name: relative_rssi_set
        type: int
      - name: relative_rssi
        type: int
      - name: relative_adjust_band
        type: enum set_band
      - name: relative_adjust_rssi
        type: int
      item_type: struct
      name: sched_scan_relative_params
      pos:
        line_end: 1551
        line_start: 1520
        source_file: /src/hostap/wpa_supplicant/wpa_supplicant_i.h
    - fields:
      - name: sched
        type: struct nan_schedule_config
      - name: map_id
        type: u8
      item_type: struct
      name: nan_schedule_update
      pos:
        line_end: 1751
        line_start: 1748
        source_file: /src/hostap/wpa_supplicant/wpa_supplicant_i.h
    typedefs: []
    union: []
- function_names:
  - wpa_bss_ie_ptr
  - bss_is_dmg
  - bss_is_pbss
  - wpa_bss_update_level
  source_file: /src/hostap/wpa_supplicant/bss.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: WPA_BSS_QUAL_INVALID
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/hostap/wpa_supplicant/bss.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: WPA_BSS_NOISE_INVALID
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/hostap/wpa_supplicant/bss.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: WPA_BSS_LEVEL_INVALID
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/hostap/wpa_supplicant/bss.h
      type_or_value: BIT(2)
    - item_type: preproc_def
      name: WPA_BSS_LEVEL_DBM
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/hostap/wpa_supplicant/bss.h
      type_or_value: BIT(3)
    - item_type: preproc_def
      name: WPA_BSS_AUTHENTICATED
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/hostap/wpa_supplicant/bss.h
      type_or_value: BIT(4)
    - item_type: preproc_def
      name: WPA_BSS_ASSOCIATED
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/hostap/wpa_supplicant/bss.h
      type_or_value: BIT(5)
    - item_type: preproc_def
      name: WPA_BSS_ANQP_FETCH_TRIED
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/hostap/wpa_supplicant/bss.h
      type_or_value: BIT(6)
    - item_type: preproc_def
      name: WPA_BSS_OWE_TRANSITION
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/hostap/wpa_supplicant/bss.h
      type_or_value: BIT(7)
    - item_type: preproc_def
      name: WPA_BSS_FREQ_CHANGED_FLAG
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/hostap/wpa_supplicant/bss.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: WPA_BSS_SIGNAL_CHANGED_FLAG
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/hostap/wpa_supplicant/bss.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: WPA_BSS_PRIVACY_CHANGED_FLAG
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/hostap/wpa_supplicant/bss.h
      type_or_value: BIT(2)
    - item_type: preproc_def
      name: WPA_BSS_MODE_CHANGED_FLAG
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/hostap/wpa_supplicant/bss.h
      type_or_value: BIT(3)
    - item_type: preproc_def
      name: WPA_BSS_WPAIE_CHANGED_FLAG
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/hostap/wpa_supplicant/bss.h
      type_or_value: BIT(4)
    - item_type: preproc_def
      name: WPA_BSS_RSNIE_CHANGED_FLAG
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/hostap/wpa_supplicant/bss.h
      type_or_value: BIT(5)
    - item_type: preproc_def
      name: WPA_BSS_WPS_CHANGED_FLAG
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/hostap/wpa_supplicant/bss.h
      type_or_value: BIT(6)
    - item_type: preproc_def
      name: WPA_BSS_RATES_CHANGED_FLAG
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/hostap/wpa_supplicant/bss.h
      type_or_value: BIT(7)
    - item_type: preproc_def
      name: WPA_BSS_IES_CHANGED_FLAG
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/hostap/wpa_supplicant/bss.h
      type_or_value: BIT(8)
    structs:
    - fields:
      - name: list
        type: struct dl_list
      - name: infoid
        type: u16
      - name: protected_response
        type: bool
      - name: '*payload'
        type: struct wpabuf
      item_type: struct
      name: wpa_bss_anqp_elem
      pos:
        line_end: 37
        line_start: 32
        source_file: /src/hostap/wpa_supplicant/bss.h
    - fields:
      - name: users
        type: unsigned int
      item_type: struct
      name: wpa_bss_anqp
      pos:
        line_end: 64
        line_start: 42
        source_file: /src/hostap/wpa_supplicant/bss.h
    - fields:
      - name: list
        type: struct dl_list
      - name: list_id
        type: struct dl_list
      - name: id
        type: unsigned int
      - name: scan_miss_count
        type: unsigned int
      - name: last_update_idx
        type: unsigned int
      - name: flags
        type: unsigned int
      - name: bssid[ETH_ALEN]
        type: u8
      - name: hessid[ETH_ALEN]
        type: u8
      - name: ssid[SSID_MAX_LEN]
        type: u8
      - name: ssid_len
        type: size_t
      - name: freq
        type: int
      - name: max_cw
        type: enum chan_width
      - name: beacon_int
        type: u16
      - name: caps
        type: u16
      - name: qual
        type: int
      - name: noise
        type: int
      - name: level
        type: int
      - name: tsf
        type: u64
      - name: beacon_newer
        type: bool
      - name: last_update
        type: struct os_reltime
      - name: est_throughput
        type: unsigned int
      - name: snr
        type: int
      - name: '*anqp'
        type: struct wpa_bss_anqp
      - name: ie_len
        type: size_t
      - name: beacon_ie_len
        type: size_t
      - name: mld_addr[ETH_ALEN]
        type: u8
      - name: mld_link_id
        type: u8
      - name: mld_bss_non_transmitted
        type: bool
      - name: mld_capa
        type: u16
      - name: ext_mld_capa
        type: u16
      - name: eml_capa
        type: u16
      - name: valid_links
        type: u16
      - name: mld_links[MAX_NUM_MLD_LINKS]
        type: "struct mld_link {\n\t\tu8 bssid[ETH_ALEN];\n\t\tint freq;\n\n\t\t/*
          Whether the link is valid but currently disabled */\n\t\tbool disabled;\n\t}"
      - name: ies[]
        type: u8
      item_type: struct
      name: wpa_bss
      pos:
        line_end: 150
        line_start: 72
        source_file: /src/hostap/wpa_supplicant/bss.h
    - fields:
      - name: bssid[ETH_ALEN]
        type: u8
      - name: freq
        type: int
      - name: disabled
        type: bool
      item_type: struct
      name: mld_link
      pos:
        line_end: 145
        line_start: 139
        source_file: /src/hostap/wpa_supplicant/bss.h
    typedefs: []
    union: []
- function_names:
  - wpas_twt_send_setup
  - wpas_twt_send_teardown
  source_file: /src/hostap/wpa_supplicant/twt.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - wpa_set_wep_keys
  - wpa_supplicant_set_wpa_none_key
  - wpa_supplicant_timeout
  - wpa_supplicant_req_auth_timeout
  - wpas_auth_timeout_restart
  - wpa_supplicant_cancel_auth_timeout
  - wpa_supplicant_initiate_eapol
  - wpa_supplicant_set_non_wpa_policy
  - free_hw_features
  - remove_bss_tmp_disallowed_entry
  - free_bss_tmp_disallowed
  - wpas_flush_fils_hlp_req
  - wpas_wfa_gen_capab_attr
  - wpas_wfa_capab_tx
  - wpas_clear_disabled_interface
  - wpas_clear_driver_signal_override
  - wpa_supplicant_cleanup
  - wpa_clear_keys
  - wpa_supplicant_state_txt
  - wpa_supplicant_stop_bgscan
  - wpa_supplicant_reset_bgscan
  - wpa_supplicant_start_autoscan
  - wpa_supplicant_stop_autoscan
  - wpa_supplicant_reinit_autoscan
  - wpas_verify_ssid_beacon
  - wpas_verify_ssid_beacon_prot
  - wpa_supplicant_set_state
  - wpa_supplicant_terminate_proc
  - wpa_supplicant_terminate
  - wpa_supplicant_clear_status
  - wpa_supplicant_reload_configuration
  - wpa_supplicant_reconfig
  - wpa_supplicant_suites_from_ai
  - matching_ciphers
  - wpas_set_mgmt_group_cipher
  - wpa_supplicant_get_psk
  - wpas_update_allowed_key_mgmt
  - wpas_ext_capab_byte
  - wpas_build_ext_capab
  - wpas_valid_bss
  - wpas_valid_ssid
  - wpas_valid_bss_ssid
  - wpas_connect_work_free
  - wpas_connect_work_done
  - wpas_update_random_addr
  - wpas_update_random_addr_disassoc
  - wpa_s_setup_sae_pt
  - wpa_s_clear_sae_rejected
  - wpas_restore_permanent_mac_addr
  - wpa_supplicant_associate
  - bss_is_ibss
  - drv_supports_vht
  - ibss_mesh_is_80mhz_avail
  - ibss_find_existing_bss
  - ibss_mesh_can_use_ht
  - ibss_mesh_can_use_vht
  - ibss_mesh_can_use_he
  - ibss_mesh_can_use_eht
  - ibss_mesh_select_40mhz
  - ibss_get_center_320mhz
  - ibss_mesh_select_80_160mhz
  - ibss_mesh_setup_freq
  - wpas_add_fils_hlp_req
  - wpa_is_fils_supported
  - wpa_is_fils_sk_pfs_supported
  - wpa_is_non_eht_scs_traffic_desc_supported
  - wpas_populate_wfa_capa
  - wpas_set_802_1x_auth_alg
  - wpas_eppke_ap_capable
  - wpas_set_eppke_auth_alg
  - wpas_update_owe_connect_params
  - wpas_update_fils_connect_params
  - wpa_ie_get_edmg_oper_chans
  - wpa_ie_get_edmg_oper_chan_width
  - get_edmg_intersection
  - get_supported_edmg
  - wpas_update_mbo_connect_params
  - wpa_supplicant_clear_connection
  - wpa_supplicant_deauthenticate
  - wpa_supplicant_reconnect
  - wpa_supplicant_enable_one_network
  - wpa_supplicant_add_network
  - wpa_supplicant_remove_network
  - wpa_supplicant_remove_all_networks
  - wpa_supplicant_enable_network
  - wpa_supplicant_disable_network
  - ssid_in_last_scan
  - ssid_in_last_scan_res
  - wpa_supplicant_select_network
  - wpas_remove_cred
  - wpas_remove_all_creds
  - wpas_set_pkcs11_engine_and_module_path
  - wpa_supplicant_set_ap_scan
  - wpa_supplicant_set_bss_expiration_age
  - wpa_supplicant_set_bss_expiration_count
  - wpa_supplicant_set_scan_interval
  - wpa_supplicant_set_debug_params
  - owe_trans_ssid_match
  - wpa_supplicant_get_ssid
  - select_driver
  - wpa_supplicant_set_driver
  - wpa_supplicant_rx_eapol
  - wpa_supplicant_rx_eapol_cb
  - wpas_eapol_needs_l2_packet
  - wpa_supplicant_update_mac_addr
  - wpa_supplicant_rx_eapol_bridge
  - wpa_supplicant_update_bridge_ifname
  - wpa_supplicant_driver_init
  - wpa_supplicant_daemon
  - wpa_supplicant_alloc
  - wpa_set_htcap_mcs
  - wpa_disable_max_amsdu
  - wpa_set_ampdu_factor
  - wpa_set_ampdu_density
  - wpa_set_disable_ht40
  - wpa_set_disable_sgi
  - wpa_set_disable_ldpc
  - wpa_set_tx_stbc
  - wpa_set_rx_stbc
  - wpa_supplicant_apply_ht_overrides
  - wpa_supplicant_apply_vht_overrides
  - OVERRIDE_MCS
  - wpa_supplicant_apply_he_overrides
  - wpa_supplicant_apply_eht_overrides
  - wpa_supplicant_apply_uhr_overrides
  - pcsc_reader_init
  - wpas_init_ext_pw
  - wpas_fst_get_bssid_cb
  - wpas_fst_get_channel_info_cb
  - wpas_fst_get_hw_modes
  - wpas_fst_set_ies_cb
  - wpas_fst_send_action_cb
  - wpas_fst_get_mb_ie_cb
  - wpas_fst_update_mb_ie_cb
  - wpas_fst_get_peer_first
  - wpas_fst_get_peer_next
  - fst_wpa_supplicant_fill_iface_obj
  - wpas_set_wowlan_triggers
  - wpas_freq_to_band
  - wpas_get_bands
  - radio_add_interface
  - radio_work_free
  - radio_work_is_connect
  - radio_work_is_scan
  - radio_work_get_next_work
  - radio_start_next_work
  - radio_remove_works
  - radio_remove_pending_connect
  - radio_remove_interface
  - radio_work_check_next
  - radio_add_work
  - radio_work_done
  - radio_work_pending
  - wpas_init_driver
  - wpas_gas_server_tx_status
  - wpas_gas_server_tx
  - wpa_supplicant_init_iface
  - wpa_supplicant_deinit_iface
  - wpa_supplicant_match_iface
  - wpa_supplicant_match_existing
  - wpa_supplicant_add_iface
  - wpa_supplicant_remove_iface
  - wpa_supplicant_get_eap_mode
  - wpa_supplicant_get_iface
  - wpa_supplicant_msg_ifname_cb
  - wpas_periodic
  - wpa_supplicant_init
  - wpa_supplicant_run
  - wpa_supplicant_deinit
  - wpa_supplicant_parse_config
  - wpa_supplicant_update_config
  - wpas_connection_failed
  - fils_pmksa_cache_flush
  - fils_connection_failure
  - wpas_driver_bss_selection
  - wpas_driver_rsn_override
  - wpas_rsn_overriding
  - wpa_supplicant_ctrl_iface_ctrl_rsp_handle
  - wpas_network_disabled
  - wpas_get_ssid_pmf
  - wpas_get_ssid_sae_pwe
  - wpas_is_sae_avoided
  - pmf_in_use
  - wpas_is_p2p_prioritized
  - wpas_auth_failed
  - wpas_clear_temp_disabled
  - disallowed_bssid
  - disallowed_ssid
  - wpas_request_connection
  - wpas_request_disconnection
  - dump_freq_data
  - get_shared_radio_freqs_data
  - get_shared_radio_freqs
  - wpas_vendor_elem
  - wpas_vendor_elem_update
  - wpas_vendor_elem_remove
  - get_mode
  - get_mode_with_freq
  - wpas_get_disallowed_bss
  - wpa_set_driver_tmp_disallow_list
  - wpa_bss_tmp_disallow_timeout
  - wpa_bss_tmp_disallow
  - wpa_is_bss_tmp_disallowed
  - wpas_enable_mac_addr_randomization
  - wpas_disable_mac_addr_randomization
  - wpa_drv_signal_poll
  - wpa_drv_get_scan_results
  - wpas_ap_link_address
  - wpa_drv_send_action
  - wpas_is_6ghz_supported
  - wpas_ap_supports_rsn_overriding
  - wpas_ap_supports_rsn_overriding_2
  - wpas_get_owe_trans_network
  - wpas_update_dfs_ap_info
  - wpas_configure_frame_filters
  source_file: /src/hostap/wpa_supplicant/wpa_supplicant.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: WPA_SUPPLICANT_CLEANUP_INTERVAL
      pos:
        line_end: 8713
        line_start: 8712
        source_file: /src/hostap/wpa_supplicant/wpa_supplicant.c
      type_or_value: '10'
    structs: []
    typedefs: []
    union: []
- function_names:
  - wpa_config_read_blobs
  - wpa_config_read_reg_dword
  - wpa_config_read_reg_string
  - wpa_config_read_global_uuid
  - wpa_config_read_global_os_version
  - wpa_config_read_global
  - wpa_config_read_network
  - wpa_config_read_networks
  - wpa_config_read
  - wpa_config_write_reg_dword
  - wpa_config_write_reg_string
  - wpa_config_write_global
  - wpa_config_delete_subkeys
  - write_str
  - write_int
  - write_bssid
  - write_psk
  - write_proto
  - write_key_mgmt
  - write_pairwise
  - write_group
  - write_auth_alg
  - write_eap
  - write_wep_key
  - wpa_config_write_network
  - STR
  - INT
  - INTe
  - INT_DEF
  - INT_DEFe
  - wpa_config_write_blob
  - wpa_config_write
  source_file: /src/hostap/wpa_supplicant/config_winreg.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: WPA_KEY_ROOT
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/hostap/wpa_supplicant/config_winreg.c
      type_or_value: HKEY_LOCAL_MACHINE
    - item_type: preproc_def
      name: WPA_KEY_PREFIX
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/hostap/wpa_supplicant/config_winreg.c
      type_or_value: TEXT("SOFTWARE\\wpa_supplicant")
    - item_type: preproc_def
      name: TSTR
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/hostap/wpa_supplicant/config_winreg.c
      type_or_value: '"%S"'
    - item_type: preproc_def
      name: TSTR
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/hostap/wpa_supplicant/config_winreg.c
      type_or_value: '"%s"'
    - item_type: preproc_def
      name: TNAMELEN
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/hostap/wpa_supplicant/config_winreg.c
      type_or_value: '255'
    structs: []
    typedefs: []
    union: []
- function_names:
  - bgscan_init
  - bgscan_deinit
  - bgscan_notify_scan
  - bgscan_notify_beacon_loss
  - bgscan_notify_signal_change
  source_file: /src/hostap/wpa_supplicant/bgscan.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sme_authenticate
  - sme_event_auth
  - sme_update_ft_ies
  - sme_event_assoc_reject
  - sme_event_auth_timed_out
  - sme_event_assoc_timed_out
  - sme_event_deauth
  - sme_event_disassoc
  - sme_event_unprot_disconnect
  - sme_event_ch_switch
  - sme_state_changed
  - sme_clear_on_disassoc
  - sme_deinit
  - sme_proc_obss_scan
  - sme_sched_obss_scan
  - sme_external_auth_trigger
  - sme_external_auth_mgmt_rx
  - sme_send_external_auth_status
  - sme_get_ext_auth_pmkid
  source_file: /src/hostap/wpa_supplicant/sme.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/wpa_supplicant/interworking.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mesh_auth_timer
  - auth_logger
  - auth_get_psk
  - auth_set_key
  - auth_start_ampe
  - auth_for_each_sta
  - __mesh_rsn_auth_init
  - mesh_rsn_deinit
  - mesh_rsn_auth_init
  - index_within_array
  - mesh_rsn_sae_group
  - mesh_rsn_build_sae_commit
  - mesh_rsn_auth_sae_sta
  - mesh_rsn_get_pmkid
  - mesh_rsn_derive_aek
  - mesh_rsn_derive_mtk
  - mesh_rsn_init_ampe_sta
  - mesh_rsn_protect_frame
  - mesh_rsn_process_ampe
  source_file: /src/hostap/wpa_supplicant/mesh_rsn.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MESH_AUTH_TIMEOUT
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/hostap/wpa_supplicant/mesh_rsn.c
      type_or_value: '10'
    - item_type: preproc_def
      name: MESH_AUTH_RETRY
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/hostap/wpa_supplicant/mesh_rsn.c
      type_or_value: '3'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/wpa_supplicant/ibss_rsn.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IBSS_RSN_AUTH_NOT_AUTHENTICATED
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/hostap/wpa_supplicant/ibss_rsn.h
      type_or_value: '0x00'
    - item_type: preproc_def
      name: IBSS_RSN_AUTH_EAPOL_BY_PEER
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/hostap/wpa_supplicant/ibss_rsn.h
      type_or_value: '0x01'
    - item_type: preproc_def
      name: IBSS_RSN_AUTH_BY_US
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/hostap/wpa_supplicant/ibss_rsn.h
      type_or_value: '0x02'
    - item_type: preproc_def
      name: IBSS_RSN_AUTH_EAPOL_BY_US
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/hostap/wpa_supplicant/ibss_rsn.h
      type_or_value: '0x04'
    - item_type: preproc_def
      name: IBSS_RSN_SET_PTK_SUPP
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/hostap/wpa_supplicant/ibss_rsn.h
      type_or_value: '0x08'
    - item_type: preproc_def
      name: IBSS_RSN_SET_PTK_AUTH
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/hostap/wpa_supplicant/ibss_rsn.h
      type_or_value: '0x10'
    - item_type: preproc_def
      name: IBSS_RSN_REPORTED_PTK
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/hostap/wpa_supplicant/ibss_rsn.h
      type_or_value: '0x20'
    structs:
    - fields:
      - name: '*next'
        type: struct ibss_rsn_peer
      - name: '*ibss_rsn'
        type: struct ibss_rsn
      - name: addr[ETH_ALEN]
        type: u8
      - name: '*supp'
        type: struct wpa_sm
      - name: supp_state
        type: enum wpa_states
      - name: supp_ie[80]
        type: u8
      - name: supp_ie_len
        type: size_t
      - name: '*auth'
        type: struct wpa_state_machine
      - name: authentication_status
        type: int
      - name: own_auth_tx
        type: struct os_reltime
      item_type: struct
      name: ibss_rsn_peer
      pos:
        line_end: 43
        line_start: 28
        source_file: /src/hostap/wpa_supplicant/ibss_rsn.h
    - fields:
      - name: '*wpa_s'
        type: struct wpa_supplicant
      - name: '*auth_group'
        type: struct wpa_authenticator
      - name: '*peers'
        type: struct ibss_rsn_peer
      - name: psk[PMK_LEN]
        type: u8
      item_type: struct
      name: ibss_rsn
      pos:
        line_end: 50
        line_start: 45
        source_file: /src/hostap/wpa_supplicant/ibss_rsn.h
    typedefs: []
    union: []
- function_names:
  - usage
  - license
  - wpa_supplicant_fd_workaround
  - wpa_supplicant_init_match
  - main
  source_file: /src/hostap/wpa_supplicant/main.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - wpa_supplicant_set_config_blob
  - wpa_supplicant_get_config_blob
  - wpa_alloc_eapol
  - wpa_ether_send
  - wpa_supplicant_eapol_send
  - wpa_eapol_set_wep_key
  - wpa_supplicant_aborted_cached
  - result_str
  - wpa_supplicant_eapol_cb
  - wpa_supplicant_notify_eapol_done
  - wpa_get_beacon_ie
  - wpa_supplicant_get_beacon_ie
  - _wpa_alloc_eapol
  - _wpa_ether_send
  - _wpa_supplicant_cancel_auth_timeout
  - _wpa_supplicant_set_state
  - wpa_supplicant_get_state
  - _wpa_supplicant_get_state
  - _wpa_supplicant_deauthenticate
  - _wpa_supplicant_reconnect
  - wpa_supplicant_get_network_ctx
  - wpa_supplicant_get_bssid
  - wpa_supplicant_set_key
  - wpa_supplicant_mlme_setprotection
  - wpas_get_network_ctx
  - wpa_supplicant_add_pmkid
  - wpa_supplicant_remove_pmkid
  - wpa_supplicant_update_ft_ies
  - wpa_supplicant_send_ft_action
  - wpa_supplicant_mark_authenticated
  - wpa_supplicant_tdls_get_capa
  - wpa_supplicant_send_tdls_mgmt
  - wpa_supplicant_tdls_oper
  - wpa_supplicant_tdls_peer_addset
  - wpa_supplicant_tdls_enable_channel_switch
  - wpa_supplicant_tdls_disable_channel_switch
  - wpa_supplicant_ctrl_req_from_string
  - wpa_supplicant_ctrl_req_to_string
  - wpas_send_ctrl_req
  - wpa_supplicant_eap_param_needed
  - wpa_supplicant_eap_proxy_cb
  - wpa_sm_sim_state_error_handler
  - wpa_supplicant_eap_proxy_notify_sim_status
  - wpa_supplicant_port_cb
  - wpa_supplicant_cert_cb
  - wpa_supplicant_status_cb
  - wpa_supplicant_eap_error_cb
  - wpa_supplicant_eap_auth_start_cb
  - wpa_supplicant_set_anon_id
  - wpas_encryption_required
  - wpa_supplicant_init_eapol
  - wpa_supplicant_set_rekey_offload
  - wpa_supplicant_key_mgmt_set_pmk
  - wpa_supplicant_fils_hlp_rx
  - wpa_supplicant_channel_info
  - disable_wpa_wpa2
  - wpas_transition_disable
  - wpa_supplicant_transition_disable
  - wpa_supplicant_store_ptk
  - wpa_supplicant_set_ltf_keyseed
  - wpa_supplicant_notify_pmksa_cache_entry
  - wpa_supplicant_ssid_verified
  - wpa_supplicant_sae_pw_id_change
  - wpa_supplicant_init_wpa
  - wpa_supplicant_rsn_supp_set_config
  source_file: /src/hostap/wpa_supplicant/wpas_glue.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: wpa_supplicant_eap_param_needed
      pos:
        line_end: 1020
        line_start: 1019
        source_file: /src/hostap/wpa_supplicant/wpas_glue.c
      type_or_value: 'NULL'
    structs: []
    typedefs: []
    union: []
- function_names:
  - wpa_config_read
  - wpa_config_write
  source_file: /src/hostap/wpa_supplicant/config_none.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - bss_free
  - bssid_in_array
  - bgscan_learn_add_neighbor
  - bgscan_learn_get_bss
  - bgscan_learn_load
  - bgscan_learn_save
  - in_array
  - bgscan_learn_get_freqs
  - bgscan_learn_get_probe_freq
  - bgscan_learn_timeout
  - bgscan_learn_get_params
  - bgscan_learn_get_supp_freqs
  - bgscan_learn_init
  - bgscan_learn_deinit
  - bgscan_learn_bss_match
  - bgscan_learn_notify_scan
  - bgscan_learn_notify_beacon_loss
  - bgscan_learn_notify_signal_change
  source_file: /src/hostap/wpa_supplicant/bgscan_learn.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_BSS
      pos:
        line_end: 491
        line_start: 490
        source_file: /src/hostap/wpa_supplicant/bgscan_learn.c
      type_or_value: '50'
    structs:
    - fields:
      - name: list
        type: struct dl_list
      - name: bssid[ETH_ALEN]
        type: u8
      - name: freq
        type: int
      - name: '*neigh'
        type: u8
      - name: num_neigh
        type: size_t
      item_type: struct
      name: bgscan_learn_bss
      pos:
        line_end: 27
        line_start: 21
        source_file: /src/hostap/wpa_supplicant/bgscan_learn.c
    - fields:
      - name: '*wpa_s'
        type: struct wpa_supplicant
      - name: '*ssid'
        type: struct wpa_ssid
      - name: scan_interval
        type: int
      - name: signal_threshold
        type: int
      - name: short_interval
        type: int
      - name: long_interval
        type: int
      - name: last_bgscan
        type: struct os_reltime
      - name: '*fname'
        type: char
      - name: bss
        type: struct dl_list
      - name: '*supp_freqs'
        type: int
      - name: probe_idx
        type: int
      item_type: struct
      name: bgscan_learn_data
      pos:
        line_end: 41
        line_start: 29
        source_file: /src/hostap/wpa_supplicant/bgscan_learn.c
    typedefs: []
    union: []
- function_names:
  - wpas_pasn_free_peer_password
  - wpas_pasn_free_peer_comeback
  - wpas_pasn_free_peer
  - wpas_pasn_send_mlme
  - wpas_pasn_free_auth_work
  - wpas_pasn_auth_work_timeout
  - wpas_pasn_cancel_auth_work
  - wpas_pasn_auth_status
  - wpas_pasn_sae_derive_pt
  - wpas_pasn_sae_derive_pt_for_eppke
  - wpas_pasn_sae_setup_pt
  - wpas_pasn_get_group
  - wpas_pasn_set_keys_from_cache
  - wpas_pasn_add_temporary_network
  - wpas_pasn_get_bss
  - wpas_pasn_get_network
  - wpas_pasn_configure_next_peer
  - wpas_pasn_auth_work_done
  - wpas_pasn_delete_peers
  - wpas_pasn_initiate_eapol
  - wpas_pasn_reset
  - wpas_pasn_allowed
  - wpas_eppke_set_rsne
  - wpas_pasn_auth_start_cb
  - wpas_pasn_auth_start
  - wpas_pasn_auth_stop
  - wpas_pasn_free_params
  - wpas_pasn_immediate_retry
  - wpas_pasn_retry_with_next_group
  - wpas_pasn_deauth_cb
  - wpas_pasn_store_comeback_data
  - wpas_pasn_auth_rx
  - wpas_pasn_auth_trigger
  - wpas_eppke_external_auth_set_keys
  - wpas_pasn_auth_tx_status
  - wpas_pasn_deauthenticate
  source_file: /src/hostap/wpa_supplicant/pasn_supplicant.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: own_addr[ETH_ALEN]
        type: u8
      - name: peer_addr[ETH_ALEN]
        type: u8
      - name: akmp
        type: int
      - name: cipher
        type: int
      - name: group
        type: u16
      - name: network_id
        type: int
      - name: '*comeback'
        type: struct wpabuf
      - name: auth_alg
        type: unsigned int
      - name: group_cipher
        type: int
      - name: group_mgmt_cipher
        type: int
      item_type: struct
      name: wpa_pasn_auth_work
      pos:
        line_end: 49
        line_start: 33
        source_file: /src/hostap/wpa_supplicant/pasn_supplicant.c
    typedefs: []
    union: []
- function_names:
  - wnm_active_bss_trans_mgmt
  - wnm_scan_process
  - wnm_clear_coloc_intf_reporting
  - wnm_is_bss_excluded
  - wnm_btm_reset
  - wnm_active_bss_trans_mgmt
  source_file: /src/hostap/wpa_supplicant/wnm_sta.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: measurement_pilot
        type: u8
      - name: subelem_len
        type: u8
      - name: subelems[255]
        type: u8
      item_type: struct
      name: measurement_pilot
      pos:
        line_end: 15
        line_start: 11
        source_file: /src/hostap/wpa_supplicant/wnm_sta.h
    - fields:
      - name: max_bssid_indicator
        type: u8
      - name: subelem_len
        type: u8
      - name: subelems[255]
        type: u8
      item_type: struct
      name: multiple_bssid
      pos:
        line_end: 21
        line_start: 17
        source_file: /src/hostap/wpa_supplicant/wnm_sta.h
    - fields:
      - name: bssid[ETH_ALEN]
        type: u8
      - name: mld_addr[ETH_ALEN]
        type: u8
      - name: mld_links
        type: u16
      - name: bssid_info
        type: u32
      - name: regulatory_class
        type: u8
      - name: channel_number
        type: u8
      - name: phy_type
        type: u8
      - name: preference
        type: u8
      - name: tsf_offset
        type: u16
      - name: beacon_int
        type: u16
      - name: country[2]
        type: char
      - name: rm_capab[5]
        type: u8
      - name: bearing
        type: u16
      - name: rel_height
        type: u16
      - name: distance
        type: u32
      - name: bss_term_tsf
        type: u64
      - name: bss_term_dur
        type: u16
      - name: disassoc_imminent
        type: unsigned int
      - name: preference_present
        type: unsigned int
      - name: tsf_present
        type: unsigned int
      - name: country_present
        type: unsigned int
      - name: rm_capab_present
        type: unsigned int
      - name: bearing_present
        type: unsigned int
      - name: bss_term_present
        type: unsigned int
      - name: '*meas_pilot'
        type: struct measurement_pilot
      - name: '*mul_bssid'
        type: struct multiple_bssid
      - name: freq
        type: int
      item_type: struct
      name: neighbor_report
      pos:
        line_end: 54
        line_start: 23
        source_file: /src/hostap/wpa_supplicant/wnm_sta.h
    typedefs: []
    union: []
- function_names:
  - set_bssid_filter
  - set_disallow_aps
  - wpas_ctrl_set_blob
  - wpas_ctrl_pno
  - wpas_ctrl_set_band
  - wpas_ctrl_iface_set_lci
  - wpas_ctrl_set_relative_rssi
  - wpas_ctrl_set_relative_band_adjust
  - wpas_ctrl_iface_set_ric_ies
  - wpas_ctrl_iface_set_dso
  - wpa_supplicant_ctrl_iface_get
  - wpa_supplicant_ctrl_iface_preauth
  - wpa_supplicant_ctrl_iface_tdls_discover
  - wpa_supplicant_ctrl_iface_tdls_setup
  - wpa_supplicant_ctrl_iface_tdls_teardown
  - ctrl_iface_get_capability_tdls
  - wpa_supplicant_ctrl_iface_tdls_chan_switch
  - SET_FREQ_SETTING
  - wpa_supplicant_ctrl_iface_tdls_cancel_chan_switch
  - wpa_supplicant_ctrl_iface_tdls_link_status
  - wmm_ac_ctrl_addts
  - wmm_ac_ctrl_delts
  - wpa_supplicant_ctrl_iface_ft_ds
  - wpa_supplicant_ctrl_iface_wps_pbc
  - wpa_supplicant_ctrl_iface_wps_pin
  - wpa_supplicant_ctrl_iface_wps_check_pin
  - wpa_supplicant_ctrl_iface_wps_nfc
  - wpa_supplicant_ctrl_iface_wps_nfc_config_token
  - wpa_supplicant_ctrl_iface_wps_nfc_token
  - wpa_supplicant_ctrl_iface_wps_nfc_tag_read
  - wpas_ctrl_nfc_get_handover_req_wps
  - wpas_ctrl_nfc_get_handover_req_p2p
  - wpas_ctrl_nfc_get_handover_req
  - wpas_ctrl_nfc_get_handover_sel_wps
  - wpas_ctrl_nfc_get_handover_sel_p2p
  - wpas_ctrl_nfc_get_handover_sel
  - wpas_ctrl_nfc_report_handover
  - wpa_supplicant_ctrl_iface_wps_reg
  - wpa_supplicant_ctrl_iface_wps_ap_pin
  - wpa_supplicant_ctrl_iface_wps_er_pin
  - wpa_supplicant_ctrl_iface_wps_er_learn
  - wpa_supplicant_ctrl_iface_wps_er_set_config
  - wpa_supplicant_ctrl_iface_wps_er_config
  - wpa_supplicant_ctrl_iface_wps_er_nfc_config_token
  - wpa_supplicant_ctrl_iface_ibss_rsn
  - wpa_supplicant_ctrl_iface_ctrl_rsp
  - wpa_supplicant_ctrl_iface_bssid
  - wpa_supplicant_ctrl_iface_bssid_ignore
  - wpa_supplicant_ctrl_iface_log_level
  - wpa_supplicant_ctrl_iface_list_networks
  - wpa_supplicant_cipher_txt
  - wpa_supplicant_ie_txt
  - wpa_supplicant_wps_ie_txt_buf
  - wpa_supplicant_wps_ie_txt
  - wpa_supplicant_ctrl_iface_scan_result
  - wpa_supplicant_ctrl_iface_scan_results
  - wpa_supplicant_ctrl_iface_mesh_interface_add
  - wpa_supplicant_ctrl_iface_mesh_group_add
  - wpa_supplicant_ctrl_iface_mesh_group_remove
  - wpa_supplicant_ctrl_iface_mesh_peer_remove
  - wpa_supplicant_ctrl_iface_mesh_peer_add
  - wpa_supplicant_ctrl_iface_mesh_link_probe
  - wpa_supplicant_ctrl_iface_select_network
  - wpa_supplicant_ctrl_iface_enable_network
  - wpa_supplicant_ctrl_iface_disable_network
  - wpa_supplicant_ctrl_iface_add_network
  - wpa_supplicant_ctrl_iface_remove_network
  - wpa_supplicant_ctrl_iface_update_network
  - wpa_supplicant_ctrl_iface_set_network
  - wpa_supplicant_ctrl_iface_get_network
  - wpa_supplicant_ctrl_iface_dup_network
  - wpa_supplicant_ctrl_iface_list_creds
  - wpa_supplicant_ctrl_iface_add_cred
  - wpa_supplicant_ctrl_iface_remove_cred
  - wpa_supplicant_ctrl_iface_set_cred
  - wpa_supplicant_ctrl_iface_get_cred
  - wpa_supplicant_ctrl_iface_save_config
  - ctrl_iface_get_capability_pairwise
  - ctrl_iface_get_capability_group
  - ctrl_iface_get_capability_group_mgmt
  - iftype_str_to_index
  - ctrl_iface_get_capability_key_mgmt
  - ctrl_iface_get_capability_proto
  - ctrl_iface_get_capability_auth_alg
  - ctrl_iface_get_capability_modes
  - ctrl_iface_get_capability_channels
  - ctrl_iface_get_capability_freq
  - wpa_supplicant_ctrl_iface_get_capability
  - anqp_add_hex
  - print_fils_indication
  - print_rnr
  - print_ml
  - print_bss_info
  - wpa_supplicant_ctrl_iface_bss
  - wpa_supplicant_ctrl_iface_ap_scan
  - wpa_supplicant_ctrl_iface_scan_interval
  - wpa_supplicant_ctrl_iface_bss_expire_age
  - wpa_supplicant_ctrl_iface_bss_expire_count
  - wpa_supplicant_ctrl_iface_bss_flush
  - wpa_supplicant_ctrl_iface_drop_sa
  - wpa_supplicant_ctrl_iface_roam
  - p2p_ctrl_find
  - p2ps_ctrl_parse_cpt_priority
  - p2p_parse_asp_provision_cmd
  - p2p_ctrl_asp_provision_resp
  - p2p_ctrl_asp_provision
  - bootstrap_pwd_required
  - p2p_ctrl_connect
  - p2p_ctrl_listen
  - p2p_ctrl_prov_disc
  - p2p_get_passphrase
  - p2p_ctrl_validate_dira
  - p2p_ctrl_serv_disc_req
  - p2p_ctrl_serv_disc_cancel_req
  - p2p_ctrl_serv_disc_resp
  - p2p_ctrl_serv_disc_external
  - p2p_ctrl_service_add_bonjour
  - p2p_ctrl_service_add_upnp
  - p2p_ctrl_service_add_asp
  - p2p_ctrl_service_add
  - p2p_ctrl_service_del_bonjour
  - p2p_ctrl_service_del_upnp
  - p2p_ctrl_service_del_asp
  - p2p_ctrl_service_del
  - p2p_ctrl_service_replace
  - p2p_ctrl_reject
  - p2p_ctrl_invite_persistent
  - p2p_ctrl_invite_group
  - p2p_ctrl_invite
  - p2p_ctrl_group_add_persistent
  - p2p_ctrl_group_add
  - p2p_ctrl_group_member
  - wpas_find_p2p_dev_addr_bss
  - p2p_ctrl_peer
  - p2p_ctrl_disallow_freq
  - p2p_ctrl_set
  - p2p_ctrl_flush
  - p2p_ctrl_presence_req
  - p2p_ctrl_ext_listen
  - p2p_ctrl_remove_client
  - p2p_ctrl_iface_p2p_lo_start
  - p2p_ctrl_pmk_get
  - freq_range_to_channel_list
  - ctrl_interworking_select
  - ctrl_interworking_connect
  - get_anqp
  - gas_request
  - gas_response_get
  - get_hs20_anqp
  - hs20_nai_home_realm_list
  - hs20_get_nai_home_realm_list
  - wpa_supplicant_ctrl_iface_autoscan
  - wpas_ctrl_iface_wnm_sleep
  - wpas_ctrl_iface_wnm_bss_query
  - wpas_ctrl_iface_coloc_intf_report
  - wpa_supplicant_signal_poll
  - wpas_ctrl_iface_signal_monitor
  - wpas_ctrl_iface_get_pref_freq_list_override
  - wpas_ctrl_iface_get_pref_freq_list
  - wpas_ctrl_iface_driver_flags
  - wpas_ctrl_iface_driver_flags2
  - wpa_supplicant_pktcnt_poll
  - wpa_supplicant_driver_cmd
  - wpa_supplicant_vendor_cmd
  - wpa_supplicant_ctrl_iface_flush
  - wpas_ctrl_radio_work_show
  - wpas_ctrl_radio_work_timeout
  - wpas_ctrl_radio_work_cb
  - wpas_ctrl_radio_work_add
  - wpas_ctrl_radio_work_done
  - wpas_ctrl_radio_work
  - wpas_ctrl_radio_work_flush
  - wpas_ctrl_eapol_response
  - scan_id_list_parse
  - wpas_ctrl_scan
  - wpas_ctrl_iface_mgmt_tx_cb
  - wpas_ctrl_iface_mgmt_tx
  - wpas_ctrl_iface_mgmt_tx_done
  - wpas_ctrl_iface_mgmt_rx_process
  - wpas_ctrl_iface_driver_scan_res
  - wpas_ctrl_iface_driver_event_assoc
  - wpas_ctrl_iface_driver_event
  - wpas_ctrl_iface_eapol_rx
  - wpas_ctrl_iface_eapol_tx
  - ipv4_hdr_checksum
  - wpas_data_test_rx
  - wpas_ctrl_iface_data_test_config
  - wpas_ctrl_iface_data_test_tx
  - wpas_ctrl_iface_data_test_frame
  - wpas_ctrl_event_test_cb
  - wpas_ctrl_event_test
  - wpas_get_hex_buf
  - wpas_ctrl_test_assoc_ie
  - wpas_ctrl_test_eapol_m2_elems
  - wpas_ctrl_test_eapol_m4_elems
  - wpas_ctrl_test_rsnxe_data
  - wpas_ctrl_reset_pn
  - wpas_ctrl_key_request
  - wpas_ctrl_resend_assoc
  - wpas_ctrl_iface_send_twt_setup
  - wpas_ctrl_iface_send_twt_teardown
  - wpas_ctrl_iface_get_tk
  - wpas_ctrl_vendor_elem_add
  - wpas_ctrl_vendor_elem_get
  - wpas_ctrl_vendor_elem_remove
  - wpas_ctrl_neighbor_rep_cb
  - wpas_ctrl_iface_send_neighbor_rep
  - wpas_ctrl_iface_erp_flush
  - wpas_ctrl_iface_mac_rand_scan
  - wpas_ctrl_iface_pmksa
  - wpas_ctrl_iface_pmksa_flush
  - p2p_ctrl_get_pasn_ptk
  - wpas_ctrl_iface_pmksa_get
  - wpas_ctrl_iface_pmksa_add
  - wpas_ctrl_iface_mesh_pmksa_get
  - wpas_ctrl_iface_mesh_pmksa_add
  - wpas_ctrl_iface_fils_hlp_req_add
  - wpas_ctrl_cmd_debug_level
  - wpas_ctrl_iface_configure_mscs
  - wpas_ctrl_iface_pasn_start
  - wpas_ctrl_iface_pasn_deauthenticate
  - wpas_ctrl_iface_pr_pasn_start
  - wpas_ctrl_iface_pr_set_dik_ctx
  - wpas_ctrl_iface_pasn_driver
  - set_type4_frame_classifier
  - set_type10_frame_classifier
  - scs_parse_type4
  - scs_parse_type10
  - wpas_ctrl_iface_configure_scs
  - wpas_ctrl_iface_send_dscp_resp
  - wpas_ctrl_iface_send_dscp_query
  - wpas_ctrl_iface_mlo_signal_poll
  - wpa_supplicant_ctrl_iface_setup_link_reconfig
  - wpas_ctrl_iface_mlo_status
  - wpas_ctrl_ml_probe
  - wpas_nan_gtk_cs_supported
  - wpas_ctrl_nan_publish
  - wpas_ctrl_nan_cancel_publish
  - wpas_ctrl_nan_update_publish
  - wpas_ctrl_nan_publish_stop_listen
  - wpas_ctrl_nan_subscribe
  - wpas_ctrl_nan_cancel_subscribe
  - wpas_ctrl_nan_subscribe_stop_listen
  - wpas_ctrl_nan_transmit
  - wpas_ctrl_nan_unpause_publish
  - wpa_supplicant_global_iface_add
  - wpa_supplicant_global_iface_remove
  - wpa_free_iface_info
  - wpa_supplicant_global_iface_list
  - wpa_supplicant_global_iface_interfaces
  - wpas_global_ctrl_iface_ifname
  - wpas_global_ctrl_iface_redir_p2p
  - wpas_global_ctrl_iface_redir_wfd
  - wpas_global_ctrl_iface_redir
  - wpas_global_ctrl_iface_set
  - wpas_global_ctrl_iface_dup_network
  - wpas_global_ctrl_iface_save_config
  - wpas_global_ctrl_iface_status
  - wpas_global_ctrl_iface_fst_attach
  - wpas_global_ctrl_iface_fst_detach
  - wpa_supplicant_global_ctrl_iface_process
  source_file: /src/hostap/wpa_supplicant/ctrl_iface.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_ANQP_INFO_ID
      pos:
        line_end: 8188
        line_start: 8187
        source_file: /src/hostap/wpa_supplicant/ctrl_iface.c
      type_or_value: '100'
    - item_type: preproc_def
      name: HWSIM_PACKETLEN
      pos:
        line_end: 10222
        line_start: 10221
        source_file: /src/hostap/wpa_supplicant/ctrl_iface.c
      type_or_value: '1500'
    - item_type: preproc_def
      name: HWSIM_IP_LEN
      pos:
        line_end: 10223
        line_start: 10222
        source_file: /src/hostap/wpa_supplicant/ctrl_iface.c
      type_or_value: (HWSIM_PACKETLEN - sizeof(struct ether_header))
    - item_type: preproc_def
      name: NR_IE_MIN_LEN
      pos:
        line_end: 10885
        line_start: 10884
        source_file: /src/hostap/wpa_supplicant/ctrl_iface.c
      type_or_value: (ETH_ALEN + 4 + 1 + 1 + 1)
    structs:
    - fields:
      - name: capa
        type: unsigned int
      - name: '*name'
        type: char
      - name: group_only
        type: int
      item_type: struct
      name: cipher_info
      pos:
        line_end: 4115
        line_start: 4111
        source_file: /src/hostap/wpa_supplicant/ctrl_iface.c
    typedefs: []
    union: []
- function_names:
  - request_scan
  - autoscan_init
  - autoscan_deinit
  - autoscan_notify_scan
  source_file: /src/hostap/wpa_supplicant/autoscan.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sme_get_peer_addr
  - sme_get_ext_auth_pmkid
  - sme_get_key_mgmt
  - sme_get_pairwise_cipher
  - sme_is_ml_auth
  - index_within_array
  - sme_set_sae_group
  - sme_auth_build_sae_commit
  - sme_auth_build_sae_confirm
  - sme_802_1x_auth_data_free
  - sme_build_802_1x_for_ptk
  - sme_build_802_1x_auth_start
  - sme_build_802_1x_auth_continue
  - sme_check_802_1x_pmksa_caching
  - sme_build_802_1x_auth_request
  - sme_auth_handle_rrm
  - wpas_ml_handle_removed_links
  - wpas_ml_connect_pref
  - wpas_sme_ml_auth
  - wpas_sme_set_mlo_links
  - for_each_link
  - sme_add_assoc_req_ie
  - wpas_eppke_initialize
  - sme_auth_start_cb
  - sme_authenticate
  - wpa_auth_ml_ie
  - sme_external_auth_build_buf
  - sme_external_auth_send_sae_commit
  - sme_send_external_auth_status
  - sme_handle_external_auth_start
  - sme_external_auth_send_sae_confirm
  - is_sae_key_mgmt_suite
  - is_eppke_auth_key_mgmt_suite
  - sme_handle_eppke_external_auth_start
  - sme_ext_auth_get_freq
  - sme_external_auth_build_802_1x_buf
  - sme_external_auth_send_802_1x
  - sme_external_auth_start_802_1x
  - is_ieee8021x_key_mgmt_suite
  - sme_external_auth_trigger
  - sme_sae_is_group_enabled
  - sme_check_sae_rejected_groups
  - sme_external_ml_auth
  - sme_sae_auth
  - sme_sae_set_pmk
  - sme_handle_eppke_unknown_password_id
  - sme_external_auth_mgmt_rx
  - sme_validate_basic_mle
  - sme_validate_802_1x_auth_mic
  - sme_validate_8021x_auth_elems
  - sme_add_802_1x_mic_in_assoc
  - sme_parse_802_1x_auth_frame
  - wpas_get_kdk_len
  - sme_process_802_1x_auth_response
  - sme_event_auth
  - remove_ie
  - sme_update_ft_ies
  - sme_deauth
  - sme_assoc_comeback_timer
  - sme_try_assoc_comeback
  - sme_event_assoc_reject
  - sme_event_auth_timed_out
  - sme_event_assoc_timed_out
  - sme_event_deauth
  - sme_event_disassoc
  - sme_auth_timer
  - sme_assoc_timer
  - sme_state_changed
  - sme_clear_on_disassoc
  - sme_deinit
  - sme_send_2040_bss_coex
  - sme_proc_obss_scan
  - wpa_obss_scan_freqs_list
  - sme_obss_scan_timeout
  - sme_sched_obss_scan
  - sme_check_sa_query_timeout
  - sme_send_sa_query_req
  - sme_sa_query_timer
  - sme_start_sa_query
  - sme_stop_sa_query
  - sme_event_unprot_disconnect
  - sme_event_ch_switch
  - sme_process_sa_query_request
  - sme_process_sa_query_response
  - sme_sa_query_rx
  source_file: /src/hostap/wpa_supplicant/sme.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SME_AUTH_TIMEOUT
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/hostap/wpa_supplicant/sme.c
      type_or_value: '5'
    - item_type: preproc_def
      name: SME_ASSOC_TIMEOUT
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/hostap/wpa_supplicant/sme.c
      type_or_value: '5'
    - item_type: preproc_def
      name: WPA_AUTH_FRAME_ML_IE_LEN
      pos:
        line_end: 2059
        line_start: 2058
        source_file: /src/hostap/wpa_supplicant/sme.c
      type_or_value: (6 + ETH_ALEN)
    structs:
    - fields:
      - name: selector
        type: u32
      - name: key_mgmt
        type: int
      item_type: struct
      name: "suite_map[] = {\n\t\t{ RSN_AUTH_KEY_MGMT_FT_802_1X, WPA_KEY_MGMT_FT_IEEE8021X
        },\n\t\t{ RSN_AUTH_KEY_MGMT_802_1X_SHA256,\n\t\t  WPA_KEY_MGMT_IEEE8021X_SHA256
        },\n\t\t{ RSN_AUTH_KEY_MGMT_802_1X_SUITE_B,\n\t\t  WPA_KEY_MGMT_IEEE8021X_SUITE_B
        },\n\t\t{ RSN_AUTH_KEY_MGMT_802_1X_SUITE_B_192,\n\t\t  WPA_KEY_MGMT_IEEE8021X_SUITE_B_192
        },\n\t\t{ RSN_AUTH_KEY_MGMT_FT_802_1X_SHA384,\n\t\t  WPA_KEY_MGMT_FT_IEEE8021X_SHA384
        },\n\t\t{ RSN_AUTH_KEY_MGMT_FILS_SHA256,\n\t\t  WPA_KEY_MGMT_FILS_SHA256 },\n\t\t{
        RSN_AUTH_KEY_MGMT_FILS_SHA384,\n\t\t  WPA_KEY_MGMT_FILS_SHA384 },\n\t\t{ RSN_AUTH_KEY_MGMT_FT_FILS_SHA256,\n\t\t
        \ WPA_KEY_MGMT_FT_FILS_SHA256 },\n\t\t{ RSN_AUTH_KEY_MGMT_FT_FILS_SHA384,\n\t\t
        \ WPA_KEY_MGMT_FT_FILS_SHA384 },\n\t\t{ RSN_AUTH_KEY_MGMT_802_1X_SHA384,\n\t\t
        \ WPA_KEY_MGMT_IEEE8021X_SHA384 },\n\t}"
      pos:
        line_end: 2539
        line_start: 2536
        source_file: /src/hostap/wpa_supplicant/sme.c
    typedefs: []
    union: []
- function_names:
  - wpas_ctrl_iface_free_dst
  - wpa_supplicant_ctrl_iface_attach
  - wpa_supplicant_ctrl_iface_get_cookie
  - wpa_supplicant_ctrl_iface_receive
  - wpa_supplicant_ctrl_iface_msg_cb
  - wpa_supplicant_ctrl_iface_init
  - wpa_supplicant_ctrl_iface_deinit
  - wpa_supplicant_ctrl_iface_send
  - wpa_supplicant_ctrl_iface_wait
  - wpa_supplicant_global_get_cookie
  - wpa_supplicant_global_ctrl_iface_receive
  - wpa_supplicant_global_ctrl_iface_init
  - wpa_supplicant_global_ctrl_iface_deinit
  source_file: /src/hostap/wpa_supplicant/ctrl_iface_udp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: COOKIE_LEN
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/hostap/wpa_supplicant/ctrl_iface_udp.c
      type_or_value: '8'
    structs:
    - fields:
      - name: '*next'
        type: struct wpa_ctrl_dst
      - name: addrlen
        type: socklen_t
      - name: debug_level
        type: int
      - name: errors
        type: int
      item_type: struct
      name: wpa_ctrl_dst
      pos:
        line_end: 40
        line_start: 30
        source_file: /src/hostap/wpa_supplicant/ctrl_iface_udp.c
    - fields:
      - name: '*wpa_s'
        type: struct wpa_supplicant
      - name: sock
        type: int
      - name: '*ctrl_dst'
        type: struct wpa_ctrl_dst
      - name: cookie[COOKIE_LEN]
        type: u8
      item_type: struct
      name: ctrl_iface_priv
      pos:
        line_end: 48
        line_start: 43
        source_file: /src/hostap/wpa_supplicant/ctrl_iface_udp.c
    - fields:
      - name: sock
        type: int
      - name: '*ctrl_dst'
        type: struct wpa_ctrl_dst
      - name: cookie[COOKIE_LEN]
        type: u8
      item_type: struct
      name: ctrl_iface_global_priv
      pos:
        line_end: 54
        line_start: 50
        source_file: /src/hostap/wpa_supplicant/ctrl_iface_udp.c
    typedefs: []
    union: []
- function_names:
  - get_center
  - get_center_and_width
  - wpas_nan_valid_chan
  - wpas_nan_start_cb
  - wpas_nan_update_config_cb
  - clear_sched_config
  - wpas_nan_stop_cb
  - wpas_nan_set_peer_sched_chan
  - wpas_nan_set_peer_schedule_cb
  - wpas_nan_ndp_action_notif_cb
  - wpas_nan_set_ndi_keys
  - wpas_nan_remove_ndi_keys
  - wpas_nan_remove_ndi_gtk
  - wpas_nan_remove_ndi_local_gtk
  - wpas_nan_get_ndi_iface
  - wpas_nan_configure_nmi_sta_capa
  - wpas_nan_csid_to_wpa_alg
  - wpas_nan_set_ndi_group_keys
  - wpas_nan_add_ndi_sta
  - wpas_nan_remove_ndi_sta
  - wpas_nan_ndp_connected_cb
  - wpas_nan_ndp_disconnected_cb
  - wpas_nan_send_naf_cb
  - nan_chan_info_cmp
  - wpas_nan_get_chans_cb
  - wpas_nan_is_valid_publish_id_cb
  - wpas_nan_bootstrap_request_cb
  - wpas_nan_bootstrap_completed_cb
  - wpas_nan_schedule_changed_cb
  - wpas_nan_transmit_followup_cb
  - wpas_nan_get_service_bootstrap_methods
  - wpas_nan_pasn_send_cb
  - wpas_nan_pasn_auth_status_cb
  - wpas_nan_update_pairing_credentials_cb
  - wpas_nan_find_ik_by_nonce_tag
  - wpas_nan_get_npk_akmp_cb
  - wpas_nan_pasn_pairing_request_cb
  - wpas_nan_set_group_key_cb
  - wpas_nan_get_seqnum_cb
  - wpas_nan_get_peer_inactivity
  - wpas_nan_init
  - wpas_nan_deinit
  - wpas_nan_ready
  - wpas_nan_ndp_allowed
  - wpas_nan_start
  - wpas_nan_stop
  - wpas_nan_flush
  - wpas_nan_parse_override_potential_avail
  - wpas_nan_set
  - NAN_PARSE_INT
  - NAN_PARSE_BAND
  - NAN_PARSE_PAIRING_BOOL
  - NAN_PARSE_PAIRING_INT
  - wpas_nan_update_conf
  - nan_select_40mhz_channel
  - wpas_nan_select_channel_params
  - nan_dump_sched_config
  - wpas_nan_update_local_schedule
  - wpas_nan_sched_config_map
  - wpas_nan_build_ndp_elems
  - wpas_nan_fill_ndp_schedule_chan
  - wpas_nan_fill_ndp_schedule
  - wpas_nan_get_ndc_map_id
  - wpas_nan_select_ndc_copy_peers
  - wpas_nan_select_ndc
  - wpas_nan_set_ndp_schedule
  - wpas_nan_parse_password_hex
  - wpas_nan_fill_nd_pmk
  - wpas_nan_set_gtk
  - wpas_nan_ndp_request
  - wpas_nan_ndp_response_set_gtk
  - wpas_nan_ndp_response
  - wpas_nan_ndp_terminate
  - wpas_nan_status
  - wpas_nan_append_ik_info
  - wpas_nan_peer_info
  - wpas_nan_bootstrap_request
  - wpas_nan_bootstrap_reset
  - wpas_nan_de_add_extra_attrs
  - wpas_nan_cluster_join
  - wpas_nan_next_dw
  - wpas_nan_sched_update_done
  - wpas_nan_ulw_update
  - wpas_nan_chan_evacuation
  - wpas_nan_pasn_update_station
  - wpas_nan_pair
  - wpas_nan_pairing_start
  - wpas_nan_pasn_auth_tx_status
  - wpas_nan_pairing_abort
  - wpas_nan_pasn_auth_rx
  - wpas_nan_is_peer_paired
  - tx_status_result_txt
  - wpas_nan_de_tx_status
  - wpas_nan_usd_tx_work_free
  - wpas_nan_usd_tx_work_done
  - wpas_nan_de_tx_send
  - wpas_nan_usd_start_tx_cb
  - wpas_nan_de_tx
  - wpas_nan_usd_listen_work_done
  - wpas_nan_usd_remain_on_channel_timeout
  - wpas_nan_usd_start_listen_cb
  - wpas_nan_de_listen
  - wpas_nan_de_discovery_result
  - wpas_nan_de_replied
  - wpas_nan_de_publish_terminated
  - wpas_nan_usd_offload_cancel_publish
  - wpas_nan_de_subscribe_terminated
  - wpas_nan_usd_offload_cancel_subscribe
  - wpas_nan_de_receive
  - wpas_nan_de_transmit_req_status
  - wpas_nan_process_p2p_usd_elems
  - wpas_nan_process_pr_usd_elems
  - wpas_nan_is_peer_paired_cb
  - wpas_nan_de_init
  - wpas_nan_de_deinit
  - wpas_nan_de_rx_sdf
  - wpas_nan_de_flush
  - wpas_nan_publish
  - wpas_nan_cancel_publish
  - wpas_nan_update_publish
  - wpas_nan_usd_unpause_publish
  - wpas_nan_stop_listen
  - wpas_nan_usd_publish_stop_listen
  - wpas_nan_subscribe
  - wpas_nan_cancel_subscribe
  - wpas_nan_usd_subscribe_stop_listen
  - wpas_nan_transmit
  - wpas_nan_usd_remain_on_channel_cb
  - wpas_nan_usd_cancel_remain_on_channel_cb
  - wpas_nan_usd_tx_wait_expire
  - wpas_nan_usd_all_freqs
  - wpas_nan_usd_state_change_notif
  - wpas_nan_get_mgmt_iface
  - wpas_nan_tx_status
  - wpas_nan_rx_naf
  - wpas_nan_data_interface_removed
  source_file: /src/hostap/wpa_supplicant/nan_supplicant.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEFAULT_NAN_MASTER_PREF
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/hostap/wpa_supplicant/nan_supplicant.c
      type_or_value: '2'
    - item_type: preproc_def
      name: DEFAULT_NAN_DUAL_BAND
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/hostap/wpa_supplicant/nan_supplicant.c
      type_or_value: '0'
    - item_type: preproc_def
      name: DEFAULT_NAN_SCAN_PERIOD
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/hostap/wpa_supplicant/nan_supplicant.c
      type_or_value: '60'
    - item_type: preproc_def
      name: DEFAULT_NAN_SCAN_DWELL_TIME
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/hostap/wpa_supplicant/nan_supplicant.c
      type_or_value: '150'
    - item_type: preproc_def
      name: DEFAULT_NAN_DISCOVERY_BEACON_INTERVAL
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/hostap/wpa_supplicant/nan_supplicant.c
      type_or_value: '100'
    - item_type: preproc_def
      name: DEFAULT_NAN_LOW_BAND_FREQUENCY
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/hostap/wpa_supplicant/nan_supplicant.c
      type_or_value: '2437'
    - item_type: preproc_def
      name: DEFAULT_NAN_HIGH_BAND_FREQUENCY
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/hostap/wpa_supplicant/nan_supplicant.c
      type_or_value: '5745'
    - item_type: preproc_def
      name: DEFAULT_NAN_RSSI_CLOSE
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/hostap/wpa_supplicant/nan_supplicant.c
      type_or_value: '-50'
    - item_type: preproc_def
      name: DEFAULT_NAN_RSSI_MIDDLE
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/hostap/wpa_supplicant/nan_supplicant.c
      type_or_value: '-65'
    - item_type: preproc_def
      name: NAN_MIN_RSSI_CLOSE
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/hostap/wpa_supplicant/nan_supplicant.c
      type_or_value: '-60'
    - item_type: preproc_def
      name: NAN_MIN_RSSI_MIDDLE
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/hostap/wpa_supplicant/nan_supplicant.c
      type_or_value: '-75'
    - item_type: preproc_def
      name: NAN_AVAIL_ATTR_MAX_LEN
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/hostap/wpa_supplicant/nan_supplicant.c
      type_or_value: '100'
    - item_type: preproc_def
      name: DEFAULT_NAN_SUPP_PBM
      pos:
        line_end: 51
        line_start: 42
        source_file: /src/hostap/wpa_supplicant/nan_supplicant.c
      type_or_value: "(NAN_PBA_METHOD_OPPORTUNISTIC |      \\\n\t\t\t      NAN_PBA_METHOD_PIN_DISPLAY
        |        \\\n\t\t\t      NAN_PBA_METHOD_PASSPHRASE_DISPLAY | \\\n\t\t\t      NAN_PBA_METHOD_QR_DISPLAY
        |         \\\n\t\t\t      NAN_PBA_METHOD_NFC_TAG |            \\\n\t\t\t      NAN_PBA_METHOD_PIN_KEYPAD
        |         \\\n\t\t\t      NAN_PBA_METHOD_PASSPHRASE_KEYPAD |  \\\n\t\t\t      NAN_PBA_METHOD_QR_SCAN
        |            \\\n\t\t\t      NAN_PBA_METHOD_NFC_READER)"
    - item_type: preproc_def
      name: DEFAULT_NAN_AUTO_ACCEPT_PBM
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/hostap/wpa_supplicant/nan_supplicant.c
      type_or_value: NAN_PBA_METHOD_OPPORTUNISTIC
    - item_type: preproc_def
      name: DEFAULT_NAN_BOOTSTRAP_COMEBACK_TIMEOUT
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/hostap/wpa_supplicant/nan_supplicant.c
      type_or_value: '1024'
    - item_type: preproc_def
      name: NAN_NIK_LIFETIME_DEFAULT
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/hostap/wpa_supplicant/nan_supplicant.c
      type_or_value: '43200'
    - item_type: preproc_def
      name: DEFAULT_NAN_MAX_NDL_IDLE_PERIOD
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/hostap/wpa_supplicant/nan_supplicant.c
      type_or_value: '25'
    structs:
    - fields:
      - name: freq
        type: unsigned int
      - name: wait_time
        type: unsigned int
      - name: dst[ETH_ALEN]
        type: u8
      - name: src[ETH_ALEN]
        type: u8
      - name: bssid[ETH_ALEN]
        type: u8
      - name: '*buf'
        type: struct wpabuf
      item_type: struct
      name: wpas_nan_usd_tx_work
      pos:
        line_end: 4108
        line_start: 4101
        source_file: /src/hostap/wpa_supplicant/nan_supplicant.c
    - fields:
      - name: freq
        type: unsigned int
      - name: duration
        type: unsigned int
      - name: forced_addr[ETH_ALEN]
        type: u8
      - name: forced_addr_set
        type: bool
      item_type: struct
      name: wpas_nan_usd_listen_work
      pos:
        line_end: 4232
        line_start: 4227
        source_file: /src/hostap/wpa_supplicant/nan_supplicant.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/wpa_supplicant/notify.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ieee802_1x_alloc_kay_sm
  - ieee802_1x_notify_create_actor
  - ieee802_1x_dealloc_kay_sm
  - ieee802_1x_create_preshared_mka
  source_file: /src/hostap/wpa_supplicant/wpas_kay.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - gas_query_init
  - gas_query_deinit
  source_file: /src/hostap/wpa_supplicant/gas_query.h
  types:
    enum:
    - enumerators:
      - name: GAS_QUERY_SUCCESS
      - name: GAS_QUERY_INTERNAL_ERROR
      - name: GAS_QUERY_PEER_ERROR
      - name: GAS_QUERY_TIMEOUT
      - name: GAS_QUERY_FAILURE
      - name: GAS_QUERY_STOPPED
      - name: GAS_QUERY_DELETED_AT_DEINIT
      item_type: enum
      name: gas_query_result
      pos:
        line_end: 33
        line_start: 25
        source_file: /src/hostap/wpa_supplicant/gas_query.h
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - bgscan_simple_btm_query
  - bgscan_simple_timeout
  - bgscan_simple_get_params
  - bgscan_simple_init
  - bgscan_simple_deinit
  - bgscan_simple_notify_scan
  - bgscan_simple_notify_beacon_loss
  - bgscan_simple_notify_signal_change
  source_file: /src/hostap/wpa_supplicant/bgscan_simple.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*wpa_s'
        type: struct wpa_supplicant
      - name: '*ssid'
        type: struct wpa_ssid
      - name: use_btm_query
        type: unsigned int
      - name: scan_action_count
        type: unsigned int
      - name: scan_interval
        type: int
      - name: signal_threshold
        type: int
      - name: short_scan_count
        type: int
      - name: max_short_scans
        type: int
      - name: short_interval
        type: int
      - name: long_interval
        type: int
      - name: last_bgscan
        type: struct os_reltime
      item_type: struct
      name: bgscan_simple_data
      pos:
        line_end: 34
        line_start: 22
        source_file: /src/hostap/wpa_supplicant/bgscan_simple.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/wpa_supplicant/bssid_ignore.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*next'
        type: struct wpa_bssid_ignore
      - name: bssid[ETH_ALEN]
        type: u8
      - name: count
        type: int
      - name: start
        type: struct os_reltime
      - name: timeout_secs
        type: int
      item_type: struct
      name: wpa_bssid_ignore
      pos:
        line_end: 22
        line_start: 11
        source_file: /src/hostap/wpa_supplicant/bssid_ignore.h
    typedefs: []
    union: []
- function_names:
  - print_bin
  - main
  source_file: /src/hostap/wpa_supplicant/nfc_pw_token.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - wpas_mbo_validate_non_pref_chan
  - mbo_attr_from_mbo_ie
  - mbo_get_attr_from_ies
  - wpas_mbo_get_bss_attr
  - wpas_mbo_check_assoc_disallow
  - wpas_mbo_check_pmf
  - wpas_mbo_non_pref_chan_attr_body
  - wpas_mbo_non_pref_chan_attr_hdr
  - wpas_mbo_non_pref_chan_attr
  - wpas_mbo_non_pref_chan_subelem_hdr
  - wpas_mbo_non_pref_chan_subelement
  - wpas_mbo_non_pref_chan_attrs
  - wpas_mbo_ie
  - wpas_mbo_send_wnm_notification
  - wpas_mbo_non_pref_chan_changed
  - wpa_non_pref_chan_is_eq
  - wpa_non_pref_chan_cmp
  - wpas_mbo_update_non_pref_chan
  - wpas_mbo_scan_ie
  - wpas_mbo_ie_trans_req
  - wpas_mbo_ie_bss_trans_reject
  - wpas_mbo_update_cell_capa
  - mbo_build_anqp_buf
  - mbo_parse_rx_anqp_resp
  source_file: /src/hostap/wpa_supplicant/mbo.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MBO_IE_HEADER
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/hostap/wpa_supplicant/mbo.c
      type_or_value: '6'
    structs: []
    typedefs: []
    union: []
- function_names:
  - wpas_ap_wps_nfc_handover_sel
  source_file: /src/hostap/wpa_supplicant/ap.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - wpa_drv_init
  - wpa_drv_deinit
  - wpa_drv_set_param
  - wpa_drv_set_countermeasures
  - wpa_drv_authenticate
  - wpa_drv_associate
  - wpa_drv_init_mesh
  - wpa_drv_join_mesh
  - wpa_drv_leave_mesh
  - wpa_drv_mesh_link_probe
  - wpa_drv_scan
  - wpa_drv_sched_scan
  - wpa_drv_stop_sched_scan
  - wpa_drv_get_bssid
  - wpa_drv_get_ssid
  - wpa_drv_set_key
  - wpa_drv_get_seqnum
  - wpa_drv_sta_deauth
  - wpa_drv_deauthenticate
  - wpa_drv_add_pmkid
  - wpa_drv_remove_pmkid
  - wpa_drv_flush_pmkid
  - wpa_drv_get_capa
  - wpa_drv_poll
  - wpa_drv_get_ifname
  - wpa_driver_get_radio_name
  - wpa_drv_get_mac_addr
  - wpa_drv_set_operstate
  - wpa_drv_mlme_setprotection
  - wpa_drv_get_hw_feature_data
  - wpa_drv_set_country
  - wpa_drv_send_mlme
  - wpa_drv_update_ft_ies
  - wpa_drv_sta_add
  - wpa_drv_sta_remove
  - wpa_drv_tx_control_port
  - wpa_drv_hapd_send_eapol
  - wpa_drv_sta_set_flags
  - wpa_drv_set_supp_port
  - wpa_drv_send_action_cancel_wait
  - wpa_drv_set_freq
  - wpa_drv_if_add
  - wpa_drv_if_remove
  - wpa_drv_remain_on_channel
  - wpa_drv_cancel_remain_on_channel
  - wpa_drv_probe_req_report
  - wpa_drv_deinit_ap
  - wpa_drv_deinit_p2p_cli
  - wpa_drv_suspend
  - wpa_drv_resume
  - wpa_drv_signal_monitor
  - wpa_drv_mlo_signal_poll
  - wpa_drv_setup_link_reconfig
  - wpa_drv_channel_info
  - wpa_drv_pktcnt_poll
  - wpa_drv_set_ap_wps_ie
  - wpa_drv_get_noa
  - wpa_drv_set_p2p_powersave
  - wpa_drv_ampdu
  - wpa_drv_send_tdls_mgmt
  - wpa_drv_tdls_oper
  - wpa_drv_driver_cmd
  - wpa_drv_set_rekey_info
  - wpa_drv_radio_disable
  - wpa_drv_switch_channel
  - wpa_drv_add_ts
  - wpa_drv_del_ts
  - wpa_drv_tdls_enable_channel_switch
  - wpa_drv_tdls_disable_channel_switch
  - wpa_drv_wnm_oper
  - wpa_drv_status
  - wpa_drv_set_qos_map
  - wpa_drv_get_wowlan
  - wpa_drv_wowlan
  - wpa_drv_pd_start
  - wpa_drv_pd_stop
  - wpa_drv_start_peer_measurement
  - wpa_drv_stop_peer_measurement
  - wpa_drv_vendor_cmd
  - wpa_drv_roaming
  - wpa_drv_disable_fils
  - wpa_drv_set_mac_addr
  - wpa_drv_macsec_init
  - wpa_drv_macsec_deinit
  - wpa_drv_macsec_get_capability
  - wpa_drv_enable_protect_frames
  - wpa_drv_enable_encrypt
  - wpa_drv_set_replay_protect
  - wpa_drv_set_offload
  - wpa_drv_set_current_cipher_suite
  - wpa_drv_enable_controlled_port
  - wpa_drv_get_receive_lowest_pn
  - wpa_drv_get_transmit_next_pn
  - wpa_drv_set_transmit_next_pn
  - wpa_drv_set_receive_lowest_pn
  - wpa_drv_create_receive_sc
  - wpa_drv_delete_receive_sc
  - wpa_drv_create_receive_sa
  - wpa_drv_delete_receive_sa
  - wpa_drv_enable_receive_sa
  - wpa_drv_disable_receive_sa
  - wpa_drv_create_transmit_sc
  - wpa_drv_delete_transmit_sc
  - wpa_drv_create_transmit_sa
  - wpa_drv_delete_transmit_sa
  - wpa_drv_enable_transmit_sa
  - wpa_drv_disable_transmit_sa
  - wpa_drv_setband
  - wpa_drv_get_pref_freq_list
  - wpa_drv_set_prob_oper_freq
  - wpa_drv_abort_scan
  - wpa_drv_configure_frame_filters
  - wpa_drv_get_ext_capa
  - wpa_drv_get_mld_capa
  - wpa_drv_p2p_lo_start
  - wpa_drv_p2p_lo_stop
  - wpa_drv_set_default_scan_ies
  - wpa_drv_set_tdls_mode
  - wpa_drv_get_bss_trans_status
  - wpa_drv_ignore_assoc_disallow
  - wpa_drv_set_bssid_tmp_disallow
  - wpa_drv_update_connect_params
  - wpa_drv_send_external_auth_status
  - wpa_drv_set_4addr_mode
  - wpa_drv_dpp_listen
  - wpa_drv_send_pasn_resp
  - wpa_drv_set_secure_ranging_ctx
  - wpas_drv_get_sta_mlo_info
  - wpas_drv_nan_flush
  - wpas_drv_nan_publish
  - wpas_drv_nan_cancel_publish
  - wpas_drv_nan_update_publish
  - wpas_drv_nan_subscribe
  - wpas_drv_nan_cancel_subscribe
  - wpa_drv_nan_start
  - wpa_drv_nan_stop
  - wpa_drv_nan_update_config
  - wpa_drv_nan_config_schedule
  - wpa_drv_nan_config_peer_schedule
  - wpa_drv_get_inact_sec
  source_file: /src/hostap/wpa_supplicant/driver_i.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - cred_prio_cmp
  - interworking_reconnect
  - anqp_build_req
  - interworking_anqp_resp_cb
  - cred_with_roaming_consortium
  - cred_with_3gpp
  - cred_with_nai_realm
  - cred_with_domain
  - cred_with_min_backhaul
  - cred_with_conn_capab
  - additional_roaming_consortiums
  - interworking_continue_anqp
  - interworking_anqp_send_req
  - nai_realm_free
  - nai_realm_parse_eap
  - nai_realm_parse_realm
  - nai_realm_parse
  - nai_realm_match
  - nai_realm_cred_username
  - nai_realm_cred_cert
  - nai_realm_find_eap
  - plmn_id_match
  - build_root_nai
  - set_root_nai
  - already_connected
  - remove_duplicate_network
  - interworking_set_hs20_params
  - interworking_connect_3gpp
  - oi_element_match
  - oi_anqp_match
  - oi_match
  - cred_home_ois_match
  - cred_roaming_consortiums_match
  - cred_no_required_oi_match
  - cred_excluded_ssid
  - cred_below_min_backhaul
  - cred_over_max_bss_load
  - has_proto_match
  - has_proto_port_match
  - cred_conn_capab_missing
  - interworking_credentials_available_roaming_consortium
  - interworking_set_eap_params
  - interworking_connect_roaming_consortium
  - interworking_connect
  - interworking_pcsc_read_imsi
  - interworking_credentials_available_realm
  - interworking_credentials_available_helper
  - interworking_credentials_available
  - domain_name_list_contains
  - interworking_home_sp_cred
  - interworking_home_sp
  - interworking_find_network_match
  - roaming_partner_match
  - roaming_prio
  - pick_best_roaming_partner
  - interworking_select_network
  - interworking_match_anqp_info
  - interworking_next_anqp_fetch
  - interworking_start_fetch_anqp
  - interworking_fetch_anqp
  - interworking_stop_fetch_anqp
  - anqp_send_req
  - anqp_add_extra
  - interworking_parse_venue_url
  - interworking_parse_rx_anqp_resp
  - anqp_resp_cb
  - interworking_scan_res_handler
  - interworking_select
  - gas_resp_cb
  - gas_send_request
  source_file: /src/hostap/wpa_supplicant/interworking.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: method
        type: u8
      - name: inner_method
        type: u8
      - name: inner_non_eap
        type: enum nai_realm_eap_auth_inner_non_eap
      - name: cred_type
        type: u8
      - name: tunneled_cred_type
        type: u8
      item_type: struct
      name: nai_realm_eap
      pos:
        line_end: 336
        line_start: 330
        source_file: /src/hostap/wpa_supplicant/interworking.c
    - fields:
      - name: encoding
        type: u8
      - name: '*realm'
        type: char
      - name: eap_count
        type: u8
      - name: '*eap'
        type: struct nai_realm_eap
      item_type: struct
      name: nai_realm
      pos:
        line_end: 343
        line_start: 338
        source_file: /src/hostap/wpa_supplicant/interworking.c
    typedefs: []
    union: []
- function_names:
  - wpas_nan_init
  - wpas_nan_deinit
  - wpas_nan_start
  - wpas_nan_set
  - wpas_nan_update_conf
  - wpas_nan_stop
  - wpas_nan_flush
  - wpas_nan_cluster_join
  - wpas_nan_next_dw
  - wpas_nan_sched_update_done
  - wpas_nan_ulw_update
  - wpas_nan_rx_naf
  - wpas_nan_is_peer_paired
  - wpas_nan_chan_evacuation
  - wpas_nan_de_init
  - wpas_nan_de_deinit
  - wpas_nan_de_rx_sdf
  - wpas_nan_de_flush
  - wpas_nan_tx_status
  - wpas_nan_usd_remain_on_channel_cb
  - wpas_nan_usd_cancel_remain_on_channel_cb
  - wpas_nan_usd_tx_wait_expire
  - wpas_nan_usd_all_freqs
  - wpas_nan_usd_unpause_publish
  - wpas_nan_usd_publish_stop_listen
  - wpas_nan_usd_subscribe_stop_listen
  - wpas_nan_usd_state_change_notif
  source_file: /src/hostap/wpa_supplicant/nan_supplicant.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ibss_rsn_get_peer
  - ibss_rsn_free
  - supp_set_state
  - supp_get_state
  - supp_ether_send
  - supp_alloc_eapol
  - supp_get_beacon_ie
  - ibss_check_rsn_completed
  - supp_set_key
  - supp_get_network_ctx
  - supp_mlme_setprotection
  - supp_cancel_auth_timeout
  - supp_deauthenticate
  - supp_reconnect
  - ibss_rsn_supp_init
  - auth_logger
  - auth_get_psk
  - auth_send_eapol
  - auth_set_key
  - ibss_rsn_disconnect
  - auth_for_each_sta
  - ibss_set_sta_authorized
  - auth_set_eapol
  - ibss_rsn_auth_init_group
  - ibss_rsn_auth_init
  - ibss_rsn_send_auth
  - ibss_rsn_is_auth_started
  - ibss_rsn_peer_init
  - ibss_rsn_auth_timeout
  - ibss_rsn_start
  - ibss_rsn_peer_authenticated
  - ibss_rsn_stop
  - ibss_rsn_init
  - ibss_rsn_deinit
  - ibss_rsn_eapol_dst_supp
  - ibss_rsn_process_rx_eapol
  - ibss_rsn_rx_eapol
  - ibss_rsn_set_psk
  - ibss_rsn_handle_auth_1_of_2
  - ibss_rsn_handle_auth
  source_file: /src/hostap/wpa_supplicant/ibss_rsn.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - _NDISUIO_CTL_CODE
  - ndisuio_open
  - ndisuio_query_bindings
  - ndisuio_enum_bindings
  - show_dev
  - pcap_enum_devs
  - main
  source_file: /src/hostap/wpa_supplicant/win_if_list.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FSCTL_NDISUIO_BASE
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/hostap/wpa_supplicant/win_if_list.c
      type_or_value: FILE_DEVICE_NETWORK
    - item_type: preproc_def
      name: IOCTL_NDISUIO_QUERY_BINDING
      pos:
        line_end: 32
        line_start: 29
        source_file: /src/hostap/wpa_supplicant/win_if_list.c
      type_or_value: "_NDISUIO_CTL_CODE(0x203, METHOD_BUFFERED, \\\n\t\t\t  FILE_READ_ACCESS
        | FILE_WRITE_ACCESS)"
    - item_type: preproc_def
      name: IOCTL_NDISUIO_BIND_WAIT
      pos:
        line_end: 36
        line_start: 33
        source_file: /src/hostap/wpa_supplicant/win_if_list.c
      type_or_value: "_NDISUIO_CTL_CODE(0x204, METHOD_BUFFERED, \\\n\t\t\t  FILE_READ_ACCESS
        | FILE_WRITE_ACCESS)"
    structs:
    - fields:
      - name: BindingIndex
        type: ULONG
      - name: DeviceNameOffset
        type: ULONG
      - name: DeviceNameLength
        type: ULONG
      - name: DeviceDescrOffset
        type: ULONG
      - name: DeviceDescrLength
        type: ULONG
      item_type: struct
      name: _NDISUIO_QUERY_BINDING
      pos:
        line_end: 44
        line_start: 37
        source_file: /src/hostap/wpa_supplicant/win_if_list.c
    typedefs: []
    union: []
- function_names:
  - _wpa_supplicant_deauthenticate
  - _wpa_supplicant_reconnect
  - wpa_alloc_eapol
  - _wpa_alloc_eapol
  - _wpa_supplicant_set_state
  - _wpa_supplicant_get_state
  - wpa_ether_send
  - wpa_supplicant_get_network_ctx
  - _wpa_supplicant_cancel_auth_timeout
  - wpa_supplicant_get_beacon_ie
  - wpa_supplicant_get_bssid
  - wpa_supplicant_set_key
  - wpa_supplicant_mlme_setprotection
  - wpa_supplicant_add_pmkid
  - wpa_supplicant_remove_pmkid
  - wpa_supplicant_set_config_blob
  - wpa_supplicant_get_config_blob
  - test_eapol_clean
  - eapol_test_timeout
  - eapol_test_poll
  - wpa_init_conf
  - eapol_test_terminate
  - main
  source_file: /src/hostap/wpa_supplicant/preauth_test.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: auth_timed_out
        type: int
      item_type: struct
      name: preauth_test_data
      pos:
        line_end: 35
        line_start: 33
        source_file: /src/hostap/wpa_supplicant/preauth_test.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/wpa_supplicant/hs20_supplicant.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - wpas_pr_init
  - wpas_pr_flush
  - wpas_pr_deinit
  - wpas_pr_pd_stop
  - wpas_pr_update_dev_addr
  - wpas_pr_clear_dev_iks
  - wpas_pr_set_dev_ik
  - wpas_pr_usd_elems
  - wpas_pr_initiate_pasn_auth
  - wpas_pr_pasn_auth_tx_status
  - wpas_pr_pasn_auth_rx
  - wpas_pr_cancel_remain_on_channel_cb
  - wpas_pr_pasn_trigger
  - wpas_pr_abort_ranging
  - wpas_pr_measurement_complete
  - wpas_pr_measurement_result
  source_file: /src/hostap/wpa_supplicant/pr_supplicant.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - wifi_display_init
  - wifi_display_deinit
  - wifi_display_get_wfd_ie
  - wifi_display_update_wfd_ie
  - wifi_display_enable
  - wifi_display_subelem_set
  - wifi_display_subelem_set_from_ies
  - wifi_display_subelem_get
  - wifi_display_subelem_hex
  source_file: /src/hostap/wpa_supplicant/wifi_display.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: WIFI_DISPLAY_SUBELEM_HEADER_LEN
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/hostap/wpa_supplicant/wifi_display.c
      type_or_value: '3'
    structs: []
    typedefs: []
    union: []
- function_names:
  - wpas_populate_mscs_descriptor_ie
  - wpas_populate_type4_classifier
  - wpas_populate_type10_classifier
  - tclas_elem_required
  - wpas_populate_scs_descriptor_ie
  - populate_type10_classifier_data
  - wpas_send_mscs_req
  - tclas_elem_len
  - qos_char_len
  - allocate_scs_buf
  - scs_cleanup_descriptors
  - scs_request_timer
  - _wpa_send_scs_req
  - wpas_scs_reconfigure
  - wpas_send_scs_req
  - free_up_tclas_elem
  - free_up_scs_desc
  - wpas_parse_mscs_resp
  - wpas_handle_robust_av_recv_action
  - wpas_handle_assoc_resp_mscs
  - wpas_wait_for_dscp_req_timer
  - wpas_handle_assoc_resp_qos_mgmt
  - wpas_handle_robust_av_scs_recv_action
  - wpas_clear_active_scs_ids
  - wpas_scs_deinit
  - write_ipv4_info
  - write_ipv6_info
  - set_frame_classifier_type4_ipv4
  - set_frame_classifier_type4_ipv6
  - wpas_set_frame_classifier_params
  - dscp_valid_domain_name
  - wpas_add_dscp_policy
  - wpas_dscp_deinit
  - wpas_fill_dscp_policy
  - wpas_handle_qos_mgmt_recv_action
  - wpas_send_dscp_response
  - wpas_send_dscp_query
  source_file: /src/hostap/wpa_supplicant/robust_av.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SCS_RESP_TIMEOUT
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/hostap/wpa_supplicant/robust_av.c
      type_or_value: '1'
    - item_type: preproc_def
      name: DSCP_REQ_TIMEOUT
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/hostap/wpa_supplicant/robust_av.c
      type_or_value: '5'
    - item_type: preproc_def
      name: MSCS_DESCRIPTOR_FIXED_LEN
      pos:
        line_end: 843
        line_start: 842
        source_file: /src/hostap/wpa_supplicant/robust_av.c
      type_or_value: '8'
    - item_type: preproc_def
      name: DOMAIN_NAME_OFFSET
      pos:
        line_end: 1882
        line_start: 1882
        source_file: /src/hostap/wpa_supplicant/robust_av.c
      type_or_value: '(4 '
    structs:
    - fields:
      - name: policy_id
        type: u8
      - name: req_type
        type: u8
      - name: dscp
        type: u8
      - name: dscp_info
        type: bool
      - name: '*frame_classifier'
        type: u8
      - name: frame_classifier_len
        type: u8
      - name: type4_param
        type: struct type4_params
      - name: '*domain_name'
        type: u8
      - name: domain_name_len
        type: u8
      - name: start_port
        type: u16
      - name: end_port
        type: u16
      - name: port_range_info
        type: bool
      item_type: struct
      name: dscp_policy_data
      pos:
        line_end: 1289
        line_start: 1276
        source_file: /src/hostap/wpa_supplicant/robust_av.c
    typedefs: []
    union: []
- function_names:
  - autoscan_exponential_get_params
  - autoscan_exponential_init
  - autoscan_exponential_deinit
  - autoscan_exponential_notify_scan
  source_file: /src/hostap/wpa_supplicant/autoscan_exponential.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*wpa_s'
        type: struct wpa_supplicant
      - name: base
        type: int
      - name: limit
        type: int
      - name: interval
        type: int
      item_type: struct
      name: autoscan_exponential_data
      pos:
        line_end: 19
        line_start: 14
        source_file: /src/hostap/wpa_supplicant/autoscan_exponential.c
    typedefs: []
    union: []
- function_names:
  - p2p_sd_dns_uncompress_label
  - p2p_sd_dns_uncompress
  - wpas_p2p_service_get_bonjour
  - wpas_p2p_service_get_upnp
  - wpas_sd_add_empty
  - wpas_sd_add_proto_not_avail
  - wpas_sd_add_bad_request
  - wpas_sd_add_not_found
  - wpas_sd_all_bonjour
  - match_bonjour_query
  - wpas_sd_req_bonjour
  - wpas_sd_all_upnp
  - wpas_sd_req_upnp
  - wpas_sd_req_wfd
  - find_p2ps_substr
  - wpas_sd_req_asp
  - wpas_sd_all_asp
  - wpas_sd_request
  - wpas_sd_p2ps_serv_response
  - wpas_sd_response
  - wpas_p2p_sd_request
  - wpas_p2p_sd_request_upnp
  - wpas_p2p_sd_request_asp
  - wpas_p2p_sd_request_wfd
  - wfd_add_sd_req_role
  - wpas_p2p_sd_request_wifi_display
  - wpas_p2p_sd_cancel_request
  - wpas_p2p_sd_response
  - wpas_p2p_sd_service_update
  - wpas_p2p_srv_bonjour_free
  - wpas_p2p_srv_upnp_free
  - wpas_p2p_service_flush
  - wpas_p2p_service_p2ps_id_exists
  - wpas_p2p_service_del_asp
  - wpas_p2p_service_add_asp
  - wpas_p2p_service_flush_asp
  - wpas_p2p_service_add_bonjour
  - wpas_p2p_service_del_bonjour
  - wpas_p2p_service_add_upnp
  - wpas_p2p_service_del_upnp
  source_file: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_HEADER_LEN
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c
      type_or_value: '12'
    - item_type: preproc_def
      name: P2P_SD_IN_MEMORY_LEN
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c
      type_or_value: '27'
    - item_type: preproc_def
      name: MAX_WFD_SD_SUBELEMS
      pos:
        line_end: 1031
        line_start: 1030
        source_file: /src/hostap/wpa_supplicant/p2p_supplicant_sd.c
      type_or_value: '20'
    structs: []
    typedefs: []
    union: []
- function_names:
  - wpas_hs20_add_indication
  - wpas_hs20_add_roam_cons_sel
  - get_hs20_version
  - is_hs20_network
  - hs20_get_pps_mo_id
  - hs20_put_anqp_req
  - hs20_build_anqp_req
  - hs20_anqp_send_req
  - hs20_parse_rx_hs20_anqp_resp
  - hs20_rx_deauth_imminent_notice
  - hs20_rx_t_c_acceptance
  source_file: /src/hostap/wpa_supplicant/hs20_supplicant.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - wpa_mesh_notify_peer
  - wpa_supplicant_mesh_add_scan_ie
  source_file: /src/hostap/wpa_supplicant/mesh.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - wpa_bss_set_hessid
  - wpa_bss_anqp_alloc
  - wpa_bss_anqp_clone
  - ANQP_DUP
  - wpa_bss_anqp_unshare_alloc
  - wpa_bss_anqp_free
  - wpa_bss_check_pending_connect
  - wpa_bss_update_pending_connect
  - wpa_bss_remove
  - wpa_bss_get
  - wpa_bss_get_connection
  - calculate_update_time
  - wpa_bss_copy_res
  - wpa_bss_is_wps_candidate
  - is_p2p_pending_bss
  - wpa_bss_owe_trans_known
  - wpa_bss_known
  - wpa_bss_in_use
  - wpa_bss_remove_oldest_unknown
  - wpa_bss_remove_oldest
  - wpa_bss_add
  - are_ies_equal
  - wpa_bss_compare_res
  - notify_bss_changes
  - wpa_bss_update
  - wpa_bss_update_start
  - wpa_bss_update_scan_res
  - wpa_bss_included_in_scan
  - wpa_bss_update_end
  - wpa_bss_flush_by_age
  - wpa_bss_init
  - wpa_bss_flush
  - wpa_bss_deinit
  - wpa_bss_get_bssid
  - wpa_bss_get_bssid_latest
  - wpa_bss_get_p2p_dev_addr
  - wpa_bss_get_id
  - wpa_bss_get_id_range
  - wpa_bss_get_ie
  - wpa_bss_get_ie_beacon
  - wpa_bss_get_ie_ext
  - wpa_bss_get_vendor_ie
  - wpa_bss_get_vendor_ie_beacon
  - wpa_bss_get_vendor_ie_multi
  - wpa_bss_get_vendor_ie_multi_beacon
  - wpa_bss_get_max_rate
  - wpa_bss_get_bit_rates
  - wpa_bss_get_fils_cache_id
  - wpa_bss_ext_capab
  - wpa_bss_parse_ml_rnr_ap_info
  - wpa_bss_validate_rsne_ml
  - wpa_bss_get_usable_links
  - wpa_bss_parse_basic_ml_element
  - wpa_bss_parse_reconf_ml_element
  - wpa_bss_supported_cipher
  - wpa_bss_supported_key_mgmt
  - wpa_bss_supported_rsne
  - wpa_bss_get_rsne
  - wpa_bss_get_rsnxe
  source_file: /src/hostap/wpa_supplicant/bss.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: WPA_BSS_ML_LINK_FRESH_AGE
      pos:
        line_end: 1812
        line_start: 1811
        source_file: /src/hostap/wpa_supplicant/bss.c
      type_or_value: '25 '
    structs: []
    typedefs: []
    union: []
- function_names:
  - wpas_temp_disabled
  - wpas_reenabled_network_time
  - wpas_network_reenabled
  - __wpa_supplicant_get_new_bss
  - _wpa_supplicant_get_new_bss
  - wpa_supplicant_get_new_bss
  - wpa_supplicant_update_current_bss
  - wpa_supplicant_update_link_bss
  - wpa_supplicant_select_config
  - wpa_supplicant_stop_countermeasures
  - wpas_reset_mlo_info
  - wpa_supplicant_mark_disassoc
  - wpa_find_assoc_pmkid_okc
  - wpa_find_assoc_pmkid
  - wpa_supplicant_event_pmkid_candidate
  - wpa_supplicant_dynamic_keys
  - wpa_supplicant_scard_init
  - has_wep_key
  - wpa_supplicant_match_privacy
  - wpa_supplicant_ssid_bss_match
  - freq_allowed
  - rate_match
  - bss_is_ess
  - match_mac_mask
  - addr_in_list
  - owe_trans_ssid
  - wpas_valid_ml_bss
  - disabled_freq
  - sae_pk_acceptable_bss_with_pk
  - wpa_scan_res_ok
  - wpa_scan_res_match
  - wpa_supplicant_select_bss
  - wpa_supplicant_pick_network
  - wpa_supplicant_req_new_scan
  - ml_link_probe_scan
  - wpa_supplicant_connect_ml_missing
  - for_each_link
  - wpa_supplicant_connect
  - wpa_supplicant_pick_new_network
  - wpa_supplicant_rsn_preauth_scan_results
  - wpas_get_snr_signal_info
  - wpas_get_est_throughput_from_bss_snr
  - wpas_evaluate_band_score
  - wpa_supplicant_need_to_roam_within_ess
  - wpa_supplicant_need_to_roam
  - wpas_trigger_6ghz_scan
  - wpas_short_ssid_match
  - _wpa_supplicant_event_scan_results
  - wpas_select_network_from_last_scan
  - equal_scan_freq_list
  - wpa_supplicant_event_scan_results
  - wpa_supplicant_fast_associate
  - wpa_wps_supplicant_fast_associate
  - wnm_bss_keep_alive
  - wnm_process_assoc_resp
  - wnm_bss_keep_alive_deinit
  - wpas_qos_map_set
  - interworking_process_assoc_resp
  - wpa_supplicant_set_4addr_mode
  - multi_ap_process_assoc_resp
  - multi_ap_set_4addr_mode
  - wpas_fst_update_mbie
  - wpa_supplicant_use_own_rsne_params
  - wpas_parse_connection_info_link
  - wpas_parse_connection_info
  - is_assisted_dfs_p2p_allowed_cc
  - is_assisted_p2p_dfs_allowed
  - is_dfs_owner_ap
  - wpas_rx_enc_assoc_resp
  - wpa_supplicant_event_associnfo
  - wpa_supplicant_assoc_update_ie
  - wpas_fst_update_mb_assoc
  - wpas_ml_parse_assoc
  - wpa_drv_get_mlo_info
  - wpa_sm_set_ml_info
  - wpa_supplicant_event_assoc
  - disconnect_reason_recoverable
  - wpa_supplicant_event_disassoc
  - could_be_psk_mismatch
  - wpa_supplicant_event_disassoc_finish
  - wpa_supplicant_delayed_mic_error_report
  - wpa_supplicant_event_michael_mic_failure
  - any_interfaces
  - wpa_supplicant_event_interface_status
  - wpa_supplicant_event_tdls
  - wpa_supplicant_event_wnm
  - wpa_supplicant_event_ft_response
  - wpa_supplicant_event_ibss_rsn_start
  - wpa_supplicant_event_ibss_auth
  - ft_rx_action
  - wpa_supplicant_event_unprot_deauth
  - wpa_supplicant_event_unprot_disassoc
  - wpas_event_disconnect
  - wpas_event_disassoc
  - wpas_event_deauth
  - reg_init_str
  - reg_type_str
  - wpas_beacon_hint
  - wpa_supplicant_update_channel_list
  - wpas_event_rx_mgmt_action
  - wpa_supplicant_notify_avoid_freq
  - wpa_supplicant_event_port_authorized
  - wpas_event_cac_ms
  - wpas_event_dfs_cac_started
  - wpas_event_dfs_cac_finished
  - wpas_event_dfs_cac_aborted
  - wpa_supplicant_event_assoc_auth
  - connect_fail_reason
  - wpas_event_assoc_reject
  - wpas_event_unprot_beacon
  - bitmap_to_str
  - wpas_tid_link_map
  - wpas_setup_link_reconfig
  - wpas_link_reconfig
  - wpas_pasn_auth
  - wpa_supplicant_event
  - wpa_supplicant_event_global
  source_file: /src/hostap/wpa_supplicant/events.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_OWE_TRANSITION_BSS_SELECT_COUNT
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/hostap/wpa_supplicant/events.c
      type_or_value: '5'
    structs: []
    typedefs: []
    union: []
- function_names:
  - allow_channel
  - get_center_80mhz
  - verify_80mhz
  - get_center_160mhz
  - verify_160mhz
  - get_center_320mhz
  - verify_320mhz
  - verify_channel
  - wpas_op_class_supported
  - wpas_sta_secondary_channel_offset
  - wpas_supp_op_class_ie
  - wpas_supp_op_classes
  source_file: /src/hostap/wpa_supplicant/op_classes.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - autoscan_periodic_get_params
  - autoscan_periodic_init
  - autoscan_periodic_deinit
  - autoscan_periodic_notify_scan
  source_file: /src/hostap/wpa_supplicant/autoscan_periodic.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: periodic_interval
        type: int
      item_type: struct
      name: autoscan_periodic_data
      pos:
        line_end: 17
        line_start: 15
        source_file: /src/hostap/wpa_supplicant/autoscan_periodic.c
    typedefs: []
    union: []
- function_names:
  - wpa_supplicant_mesh_deinit
  - wpa_supplicant_mesh_iface_deinit
  - mesh_config_create
  - wpas_mesh_init_rsn
  - wpas_mesh_update_freq_params
  - wpas_mesh_complete
  - wpas_mesh_complete_cb
  - wpa_supplicant_mesh_enable_iface_cb
  - wpa_supplicant_mesh_disable_iface_cb
  - wpa_supplicant_mesh_init
  - wpa_mesh_notify_peer
  - wpa_supplicant_mesh_add_scan_ie
  - wpa_supplicant_join_mesh
  - wpa_supplicant_leave_mesh
  - mesh_attr_text
  - wpas_mesh_scan_result_text
  - wpas_mesh_get_ifname
  - wpas_mesh_add_interface
  - wpas_mesh_peer_remove
  - wpas_mesh_peer_add
  source_file: /src/hostap/wpa_supplicant/mesh.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/wpa_supplicant/mesh_rsn.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*wpa_s'
        type: struct wpa_supplicant
      - name: '*auth'
        type: struct wpa_authenticator
      - name: pairwise_cipher
        type: unsigned int
      - name: group_cipher
        type: unsigned int
      - name: mgtk[WPA_TK_MAX_LEN]
        type: u8
      - name: mgtk_len
        type: size_t
      - name: mgtk_key_id
        type: u8
      - name: mgmt_group_cipher
        type: unsigned int
      - name: igtk_key_id
        type: u8
      - name: igtk[WPA_TK_MAX_LEN]
        type: u8
      - name: igtk_len
        type: size_t
      item_type: struct
      name: mesh_rsn
      pos:
        line_end: 27
        line_start: 11
        source_file: /src/hostap/wpa_supplicant/mesh_rsn.h
    typedefs: []
    union: []
- function_names:
  - wpas_macsec_init
  - wpas_macsec_deinit
  - wpas_macsec_get_capability
  - wpas_enable_protect_frames
  - wpas_enable_encrypt
  - wpas_set_replay_protect
  - wpas_set_current_cipher_suite
  - wpas_enable_controlled_port
  - wpas_get_receive_lowest_pn
  - wpas_get_transmit_next_pn
  - wpas_set_transmit_next_pn
  - wpas_set_receive_lowest_pn
  - wpas_set_offload
  - conf_offset_val
  - wpas_create_receive_sc
  - wpas_delete_receive_sc
  - wpas_create_receive_sa
  - wpas_delete_receive_sa
  - wpas_enable_receive_sa
  - wpas_disable_receive_sa
  - wpas_create_transmit_sc
  - wpas_delete_transmit_sc
  - wpas_create_transmit_sa
  - wpas_delete_transmit_sa
  - wpas_enable_transmit_sa
  - wpas_disable_transmit_sa
  - ieee802_1x_alloc_kay_sm
  - ieee802_1x_dealloc_kay_sm
  - ieee802_1x_auth_get_msk
  - ieee802_1x_notify_create_actor
  - ieee802_1x_create_preshared_mka
  source_file: /src/hostap/wpa_supplicant/wpas_kay.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEFAULT_KEY_LEN
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/hostap/wpa_supplicant/wpas_kay.c
      type_or_value: '16'
    - item_type: preproc_def
      name: DEFAULT_CKN_LEN
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/hostap/wpa_supplicant/wpas_kay.c
      type_or_value: '16'
    structs: []
    typedefs: []
    union: []
- function_names:
  - wpa_config_parse_str
  - wpa_config_write_string_ascii
  - wpa_config_write_string_hex
  - wpa_config_write_string
  - wpa_config_write_str
  - wpa_config_parse_int_impl
  - wpa_config_parse_int
  - wpa_config_parse_int_range
  - wpa_config_write_int
  - wpa_config_parse_bool
  - wpa_config_write_bool
  - wpa_config_parse_addr_list
  - wpa_config_write_addr_list
  - wpa_config_parse_bssid
  - wpa_config_write_bssid
  - wpa_config_parse_bssid_hint
  - wpa_config_write_bssid_hint
  - wpa_config_parse_bssid_ignore
  - wpa_config_parse_bssid_blacklist
  - wpa_config_write_bssid_ignore
  - wpa_config_write_bssid_blacklist
  - wpa_config_parse_bssid_accept
  - wpa_config_parse_bssid_whitelist
  - wpa_config_write_bssid_accept
  - wpa_config_write_bssid_whitelist
  - wpa_config_parse_psk
  - wpa_config_write_psk
  - wpa_config_parse_alt_sae_password_ids
  - wpa_config_write_alt_sae_password_ids
  - wpa_config_parse_proto
  - wpa_config_write_proto
  - wpa_config_parse_key_mgmt
  - wpa_config_write_key_mgmt
  - wpa_config_parse_cipher
  - wpa_config_write_cipher
  - wpa_config_parse_pairwise
  - wpa_config_write_pairwise
  - wpa_config_parse_group
  - wpa_config_write_group
  - wpa_config_parse_group_mgmt
  - wpa_config_write_group_mgmt
  - wpa_config_parse_auth_alg
  - wpa_config_write_auth_alg
  - wpa_config_parse_int_array
  - wpa_config_print_int_array
  - wpa_config_parse_scan_freq
  - wpa_config_parse_freq_list
  - wpa_config_write_freqs
  - wpa_config_write_scan_freq
  - wpa_config_write_freq_list
  - wpa_config_parse_eap
  - wpa_config_write_eap
  - wpa_config_parse_password
  - wpa_config_parse_machine_password
  - wpa_config_write_password
  - wpa_config_write_machine_password
  - wpa_config_parse_wep_key
  - wpa_config_parse_wep_key0
  - wpa_config_parse_wep_key1
  - wpa_config_parse_wep_key2
  - wpa_config_parse_wep_key3
  - wpa_config_write_wep_key
  - wpa_config_write_wep_key0
  - wpa_config_write_wep_key1
  - wpa_config_write_wep_key2
  - wpa_config_write_wep_key3
  - wpa_config_parse_go_p2p_dev_addr
  - wpa_config_write_go_p2p_dev_addr
  - wpa_config_parse_p2p_client_list
  - wpa_config_parse_p2p2_client_list
  - wpa_config_write_p2p_client_list
  - wpa_config_write_p2p2_client_list
  - wpa_config_parse_psk_list
  - wpa_config_write_psk_list
  - wpa_config_parse_mesh_basic_rates
  - wpa_config_write_mesh_basic_rates
  - wpa_config_parse_mka_cak
  - wpa_config_parse_mka_ckn
  - wpa_config_write_mka_cak
  - wpa_config_write_mka_ckn
  - wpa_config_parse_ocv
  - wpa_config_write_ocv
  - wpa_config_parse_peerkey
  - wpa_config_write_peerkey
  - wpa_config_parse_mac_value
  - wpa_config_write_mac_value
  - wpa_config_parse_pasn_groups
  - wpa_config_write_pasn_groups
  - OFFSET
  - _STR
  - _STRe
  - _STR
  - _STRe
  - STR
  - STRe
  - STR_KEY
  - STR_KEYe
  - _STR_LEN
  - _STR_LENe
  - STR_LEN
  - STR_LENe
  - STR_LEN_KEY
  - _STR_RANGE
  - STR_RANGE
  - STR_RANGE_KEY
  - _INT
  - _INTe
  - _INT
  - _INTe
  - INT
  - INTe
  - INT_RANGE
  - INT_RANGE
  - _BOOL
  - _BOOLe
  - _BOOL
  - _BOOLe
  - BOOL
  - BOOLe
  - _FUNC
  - _FUNC
  - FUNC
  - FUNC_KEY
  - wpa_config_add_prio_network
  - wpa_config_update_prio_list
  - eap_peer_config_free_cert
  - eap_peer_config_free
  - wpa_config_free_ssid
  - wpa_config_free_cred
  - wpa_config_flush_blobs
  - wpa_config_free
  - wpa_config_foreach_network
  - wpa_config_get_network
  - wpa_config_get_network_with_dik_id
  - wpa_config_add_network
  - wpa_config_remove_network
  - wpa_config_set_network_defaults
  - removed_field
  - wpa_config_set
  - wpa_config_set_quoted
  - wpa_config_get_all
  - wpa_config_get
  - wpa_config_get_no_key
  - wpa_config_update_psk
  - wpa_config_set_cred_req_conn_capab
  - wpa_config_set_cred_ois
  - wpa_config_set_cred
  - alloc_int_str
  - alloc_strdup
  - wpa_config_get_cred_no_key
  - wpa_config_get_cred
  - wpa_config_add_cred
  - wpa_config_remove_cred
  - wpa_config_get_blob
  - wpa_config_set_blob
  - wpa_config_free_blob
  - wpa_config_remove_blob
  - wpa_config_alloc_empty
  - ecw2cw
  - wpa_config_debug_dump_networks
  - wpa_global_config_parse_int_impl
  - wpa_global_config_parse_int
  - wpa_global_config_parse_int_range
  - wpa_global_config_parse_bool
  - wpa_global_config_parse_str
  - wpa_config_process_bgscan
  - wpa_global_config_parse_bin
  - wpa_config_process_freq_list
  - wpa_config_process_initial_freq_list
  - wpa_global_config_parse_ipv4
  - wpa_config_process_country
  - wpa_config_process_load_dynamic_eap
  - wpa_config_process_uuid
  - wpa_config_process_device_type
  - wpa_config_process_os_version
  - wpa_config_process_wps_vendor_ext_m1
  - wpa_config_process_sec_device_type
  - wpa_config_process_p2p_pref_chan
  - wpa_config_process_p2p_no_go_freq
  - wpa_config_process_p2p_device_persistent_mac_addr
  - wpa_config_process_hessid
  - wpa_config_process_sae_groups
  - wpa_config_process_pasn_groups
  - wpa_config_process_ap_vendor_elements
  - wpa_config_process_ap_assocresp_elements
  - wpa_config_process_no_ctrl_interface
  - wpa_config_get_int
  - wpa_config_get_bool
  - wpa_config_get_str
  - wpa_config_get_bgscan
  - wpa_config_get_freq_list
  - wpa_config_get_ipv4
  - wpa_config_process_mld_connect_bssid_pref
  - OFFSET
  - FUNC
  - FUNC_WITH_GET
  - FUNC_NO_VAR
  - _INT
  - INT
  - INT_RANGE
  - BOOL
  - _STR
  - STR
  - STR_RANGE
  - BIN
  - IPV4
  - wpa_config_dump_values
  - wpa_config_get_value
  - wpa_config_get_num_global_field_names
  - wpa_config_get_global_field_name
  - wpa_config_process_global
  - wpa_config_set_identity
  - wpa_config_free_identity
  - wpa_config_add_identity
  - wpa_config_remove_identity
  source_file: /src/hostap/wpa_supplicant/config.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NUM_SSID_FIELDS
      pos:
        line_end: 2986
        line_start: 2985
        source_file: /src/hostap/wpa_supplicant/config.c
      type_or_value: ARRAY_SIZE(ssid_fields)
    - item_type: preproc_def
      name: NUM_GLOBAL_FIELDS
      pos:
        line_end: 6039
        line_start: 6038
        source_file: /src/hostap/wpa_supplicant/config.c
      type_or_value: ARRAY_SIZE(global_fields)
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: "(*parser)(const struct parse_data *data, struct wpa_ssid *ssid,\n\t\t
          \     int line, const char *value)"
        type: int
      - name: '*param1'
        type: void
      - name: key_data
        type: int
      item_type: struct
      name: parse_data
      pos:
        line_end: 60
        line_start: 32
        source_file: /src/hostap/wpa_supplicant/config.c
    - fields:
      - name: '*name'
        type: char
      - name: "(*parser)(const struct global_parse_data *data,\n\t\t      struct wpa_config
          *config, int line, const char *value)"
        type: int
      - name: "(*get)(const char *name, struct wpa_config *config, long offset,\n\t\t
          \  char *buf, size_t buflen, int pretty_print)"
        type: int
      - name: '*param1'
        type: void
      - name: changed_flag
        type: unsigned int
      item_type: struct
      name: global_parse_data
      pos:
        line_end: 5021
        line_start: 5000
        source_file: /src/hostap/wpa_supplicant/config.c
    typedefs: []
    union: []
- function_names:
  - is_chanwidth160_supported
  - wpas_conf_ap_vht
  - wpa_supplicant_find_hw_mode
  - get_max_oper_chwidth_6ghz
  - wpas_conf_ap_he_6ghz
  - wpa_supplicant_conf_ap_ht
  - wpa_supplicant_conf_ap
  - ap_public_action_rx
  - ap_wps_event_cb
  - ap_sta_authorized_cb
  - ap_new_psk_cb
  - ap_vendor_action_rx
  - ap_probe_req_rx
  - ap_wps_reg_success_cb
  - wpas_ap_configured_cb
  - wpa_supplicant_create_ap
  - wpa_supplicant_ap_deinit
  - ap_tx_status
  - ap_eapol_tx_status
  - ap_client_poll_ok
  - ap_rx_from_unknown_sta
  - ap_mgmt_rx
  - ap_mgmt_tx_cb
  - wpa_supplicant_ap_rx_eapol
  - wpa_supplicant_ap_wps_pbc
  - wpa_supplicant_ap_wps_cancel
  - wpa_supplicant_ap_wps_pin
  - wpas_wps_ap_pin_timeout
  - wpas_wps_ap_pin_enable
  - wpas_wps_ap_pin_disable
  - wpas_wps_ap_pin_random
  - wpas_wps_ap_pin_get
  - wpas_wps_ap_pin_set
  - wpa_supplicant_ap_pwd_auth_fail
  - wpas_ap_wps_nfc_config_token
  - wpas_ap_wps_nfc_handover_sel
  - wpas_ap_wps_nfc_report_handover
  - ap_ctrl_iface_sta_first
  - ap_ctrl_iface_sta
  - ap_ctrl_iface_sta_next
  - ap_ctrl_iface_sta_disassociate
  - ap_ctrl_iface_sta_deauthenticate
  - ap_ctrl_iface_wpa_get_status
  - ap_ctrl_iface_disassoc_imminent
  - ap_ctrl_iface_ess_disassoc
  - ap_ctrl_iface_bss_tm_req
  - ap_ctrl_iface_acl_add_mac
  - ap_ctrl_iface_acl_del_mac
  - ap_ctrl_iface_acl_show_mac
  - ap_ctrl_iface_acl_clear_list
  - ap_ctrl_iface_disassoc_deny_mac
  - ap_ctrl_iface_disassoc_accept_mac
  - ap_ctrl_iface_set_acl
  - wpa_supplicant_ap_update_beacon
  - ap_switch_channel
  - ap_ctrl_iface_chanswitch
  - wpas_ap_ch_switch
  - wpa_supplicant_ap_mac_addr_filter
  - wpas_ap_wps_add_nfc_pw
  - wpas_ap_stop_ap
  - wpas_ap_pmksa_cache_list
  - wpas_ap_pmksa_cache_flush
  - wpas_ap_pmksa_cache_list_mesh
  - wpas_ap_pmksa_cache_add_external
  - wpas_ap_update_beacon
  - wpas_ap_event_dfs_radar_detected
  - wpas_ap_event_dfs_cac_started
  - wpas_ap_event_dfs_cac_finished
  - wpas_ap_event_dfs_cac_aborted
  - wpas_ap_event_dfs_cac_nop_finished
  - ap_periodic
  source_file: /src/hostap/wpa_supplicant/ap.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/hostap/wpa_supplicant/main_none.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ctrl_broken_pipe
  - ctrl_flush_broken_pipes
  - ctrl_open_pipe
  - ctrl_close_pipe
  - ctrl_iface_write_completed
  - wpa_supplicant_ctrl_iface_rx
  - ctrl_iface_read_completed
  - wpa_supplicant_ctrl_iface_receive
  - ctrl_iface_parse
  - wpa_supplicant_ctrl_iface_msg_cb
  - wpa_supplicant_ctrl_iface_init
  - wpa_supplicant_ctrl_iface_deinit
  - wpa_supplicant_ctrl_iface_send
  - wpa_supplicant_ctrl_iface_wait
  - global_flush_broken_pipes
  - global_open_pipe
  - global_close_pipe
  - global_iface_write_completed
  - wpa_supplicant_global_iface_rx
  - global_iface_read_completed
  - wpa_supplicant_global_iface_receive
  - wpa_supplicant_global_ctrl_iface_init
  - wpa_supplicant_global_ctrl_iface_deinit
  source_file: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SDDL_REVISION_1
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c
      type_or_value: '1'
    - item_type: preproc_def
      name: ConvertStringSecurityDescriptorToSecurityDescriptor
      pos:
        line_end: 29
        line_start: 27
        source_file: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c
      type_or_value: ConvertStringSecurityDescriptorToSecurityDescriptorW
    - item_type: preproc_def
      name: ConvertStringSecurityDescriptorToSecurityDescriptor
      pos:
        line_end: 32
        line_start: 30
        source_file: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c
      type_or_value: ConvertStringSecurityDescriptorToSecurityDescriptorA
    - item_type: preproc_def
      name: _WIN32_WINNT
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c
      type_or_value: '0x0500'
    - item_type: preproc_def
      name: WPA_SUPPLICANT_NAMED_PIPE
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c
      type_or_value: '"WpaSupplicant"'
    - item_type: preproc_def
      name: NAMED_PIPE_PREFIX
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c
      type_or_value: TEXT("\\\\.\\pipe\\") TEXT(WPA_SUPPLICANT_NAMED_PIPE)
    - item_type: preproc_def
      name: REQUEST_BUFSIZE
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c
      type_or_value: CTRL_IFACE_MAX_LEN
    - item_type: preproc_def
      name: REPLY_BUFSIZE
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c
      type_or_value: '4096'
    structs:
    - fields:
      - name: overlap
        type: OVERLAPPED
      - name: '*next'
        type: struct wpa_ctrl_dst
      - name: '*priv'
        type: struct ctrl_iface_priv
      - name: pipe
        type: HANDLE
      - name: attached
        type: int
      - name: debug_level
        type: int
      - name: errors
        type: int
      - name: req_buf[REQUEST_BUFSIZE]
        type: char
      - name: '*rsp_buf'
        type: char
      - name: used
        type: int
      item_type: struct
      name: wpa_ctrl_dst
      pos:
        line_end: 71
        line_start: 59
        source_file: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c
    - fields:
      - name: '*wpa_s'
        type: struct wpa_supplicant
      - name: '*ctrl_dst'
        type: struct wpa_ctrl_dst
      - name: attr
        type: SECURITY_ATTRIBUTES
      - name: sec_attr_set
        type: int
      item_type: struct
      name: ctrl_iface_priv
      pos:
        line_end: 79
        line_start: 74
        source_file: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c
    - fields:
      - name: overlap
        type: OVERLAPPED
      - name: '*next'
        type: struct wpa_global_dst
      - name: '*priv'
        type: struct ctrl_iface_global_priv
      - name: pipe
        type: HANDLE
      - name: req_buf[REQUEST_BUFSIZE]
        type: char
      - name: '*rsp_buf'
        type: char
      - name: used
        type: int
      item_type: struct
      name: wpa_global_dst
      pos:
        line_end: 550
        line_start: 540
        source_file: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c
    - fields:
      - name: '*global'
        type: struct wpa_global
      - name: '*ctrl_dst'
        type: struct wpa_global_dst
      item_type: struct
      name: ctrl_iface_global_priv
      pos:
        line_end: 555
        line_start: 552
        source_file: /src/hostap/wpa_supplicant/ctrl_iface_named_pipe.c
    typedefs: []
    union: []
- function_names:
  - wpas_rrm_neighbor_rep_timeout_handler
  - wpas_rrm_reset
  - wpas_rrm_process_neighbor_rep
  - wpas_rrm_send_neighbor_rep_request
  - wpas_rrm_report_elem
  - wpas_rrm_build_lci_report
  - wpas_rrm_send_msr_report_mpdu
  - wpas_rrm_beacon_rep_update_last_frame
  - wpas_rrm_send_msr_report
  - wpas_add_channel
  - wpas_add_channels
  - wpas_op_class_freqs
  - wpas_channel_report_freqs
  - wpas_beacon_request_freqs
  - wpas_get_op_chan_phy
  - wpas_beacon_rep_add_frame_body
  - wpas_add_beacon_rep_elem
  - wpas_add_beacon_rep
  - wpas_beacon_rep_no_results
  - wpas_beacon_rep_table
  - wpas_rrm_refuse_request
  - wpas_rrm_scan_timeout
  - wpas_rm_handle_beacon_req_subelem
  - wpas_rm_handle_beacon_req
  - wpas_rrm_handle_msr_req_element
  - wpas_rrm_process_msr_req_elems
  - wpas_rrm_handle_radio_measurement_request
  - wpas_rrm_handle_link_measurement_request
  - wpas_beacon_rep_scan_match
  - wpas_beacon_rep_scan_process
  - wpas_clear_beacon_rep_data
  source_file: /src/hostap/wpa_supplicant/rrm.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ENOTCONN
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/hostap/wpa_supplicant/rrm.c
      type_or_value: '-1'
    - item_type: preproc_def
      name: EOPNOTSUPP
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/hostap/wpa_supplicant/rrm.c
      type_or_value: '-1'
    - item_type: preproc_def
      name: ECANCELED
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/hostap/wpa_supplicant/rrm.c
      type_or_value: '-1'
    - item_type: preproc_def
      name: MEASURE_REQUEST_LCI_LEN
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/hostap/wpa_supplicant/rrm.c
      type_or_value: (3 + 1 + 4)
    - item_type: preproc_def
      name: MEASURE_REQUEST_CIVIC_LEN
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/hostap/wpa_supplicant/rrm.c
      type_or_value: (3 + 5)
    - item_type: preproc_def
      name: MPDU_REPORT_LEN
      pos:
        line_end: 493
        line_start: 492
        source_file: /src/hostap/wpa_supplicant/rrm.c
      type_or_value: (int) (IEEE80211_MAX_MMPDU_SIZE - IEEE80211_HDRLEN - 3)
    structs: []
    typedefs: []
    union: []
- function_names:
  - wpas_wps_clear_ap_info
  - wpas_wps_assoc_with_cred
  - wpas_wps_assoc_with_cred_cancel
  - wpas_wps_get_wps_ie
  - wpas_wps_eapol_cb
  - wpas_wps_security_workaround
  - wpas_wps_remove_dup_network
  - wpa_supplicant_wps_cred
  - wpa_supplicant_wps_event_m2d
  - wpas_wps_clear_timeout
  - wpa_supplicant_wps_event_fail
  - wpas_wps_reenable_networks
  - wpas_wps_reenable_networks_cb
  - wpas_wps_reenable_networks_pending
  - wpa_supplicant_wps_event_success
  - wpa_supplicant_wps_event_er_ap_add
  - wpa_supplicant_wps_event_er_ap_remove
  - wpa_supplicant_wps_event_er_enrollee_add
  - wpa_supplicant_wps_event_er_enrollee_remove
  - wpa_supplicant_wps_event_er_ap_settings
  - wpa_supplicant_wps_event_er_set_sel_reg
  - wpa_supplicant_wps_event
  - wpa_supplicant_wps_rf_band
  - wpas_wps_get_req_type
  - wpas_clear_wps
  - wpas_wps_timeout
  - wpas_wps_add_network
  - wpas_wps_temp_disable
  - wpas_wps_reassoc
  - wpas_wps_start_pbc
  - wpas_wps_start_dev_pw
  - wpas_wps_start_pin
  - wpas_wps_pbc_overlap
  - wpas_wps_cancel
  - wpas_wps_start_reg
  - wpas_wps_new_psk_cb
  - wpas_wps_pin_needed_cb
  - wpas_wps_set_sel_reg_cb
  - wps_fix_config_methods
  - wpas_wps_set_uuid
  - wpas_wps_set_vendor_ext_m1
  - wpas_wps_init
  - wpas_wps_nfc_clear
  - wpas_wps_deinit
  - wpas_wps_ssid_bss_match
  - wpas_wps_ssid_wildcard_ok
  - wpas_wps_is_pbc_overlap
  - wpas_wps_scan_pbc_overlap
  - wpas_wps_notify_scan_results
  - wpas_wps_searching
  - wpas_wps_scan_result_text
  - wpas_wps_er_start
  - wpas_wps_er_stop
  - wpas_wps_er_add_pin
  - wpas_wps_er_pbc
  - wpas_wps_er_learn
  - wpas_wps_network_to_cred
  - wpas_wps_er_set_config
  - wpas_wps_er_config
  - wpas_wps_er_nfc_config_token
  - wpas_wps_terminate_cb
  - wpas_wps_terminate_pending
  - wpas_wps_update_config
  - wpas_wps_update_mac_addr
  - wpas_wps_network_config_token
  - wpas_wps_nfc_config_token
  - wpas_wps_nfc_token
  - wpas_wps_start_nfc
  - wpas_wps_use_cred
  - wpas_wps_add_nfc_password_token
  - wpas_wps_nfc_tag_process
  - wpas_wps_nfc_tag_read
  - wpas_wps_nfc_handover_req
  - wpas_wps_er_nfc_handover_sel
  - wpas_wps_nfc_handover_sel
  - wpas_wps_nfc_rx_handover_sel
  - wpas_wps_nfc_report_handover
  - wpas_er_wps_nfc_report_handover
  - wpas_wps_dump_ap_info
  - wpas_wps_get_ap_info
  - wpas_wps_update_ap_info_bss
  - wpas_wps_update_ap_info
  - wpas_wps_partner_link_scan_done
  - wpas_wps_partner_link_overlap_detect
  - wpas_wps_notify_assoc
  source_file: /src/hostap/wpa_supplicant/wps_supplicant.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: WPS_PIN_SCAN_IGNORE_SEL_REG
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/hostap/wpa_supplicant/wps_supplicant.c
      type_or_value: '3'
    - item_type: preproc_def
      name: WPS_PIN_TIME_IGNORE_SEL_REG
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/hostap/wpa_supplicant/wps_supplicant.c
      type_or_value: '5'
    structs: []
    typedefs: []
    union: []
- function_names:
  - eap_register_methods
  source_file: /src/hostap/wpa_supplicant/eap_register.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/hostap/wpa_supplicant/wpa_passphrase.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - wpas_pr_best_edca_format_bw
  - wpas_pr_best_ntb_format_bw
  - wpas_pr_edca_is_valid_op_class
  - wpas_pr_ntb_is_valid_op_class
  - wpas_pr_op_class_to_chan_params
  - wpas_pr_setup_edca_channels
  - wpas_pr_setup_ntb_channels
  - wpas_pr_pasn_send_mgmt
  - wpas_pr_device_found
  - wpas_pr_pasn_negotiation_started
  - wpas_pr_pasn_result
  - wpas_pr_clear_ranging_params
  - wpas_pr_ranging_session_timeout
  - wpas_pr_trigger_ranging
  - wpas_pr_ranging_params
  - wpas_pr_pasn_set_keys
  - wpas_pr_pasn_clear_keys
  - wpas_pr_usd_elems
  - wpas_pr_process_usd_elems
  - wpas_pr_init
  - wpas_pr_flush
  - wpas_pr_deinit
  - wpas_pr_pd_stop
  - wpas_pr_update_dev_addr
  - wpas_pr_clear_dev_iks
  - wpas_pr_set_dev_ik
  - wpas_pr_measurement_complete
  - wpas_pr_measurement_result
  - wpas_pr_start_pd
  - wpas_pr_pasn_free_auth_work
  - wpas_pr_pasn_cancel_auth_work
  - wpas_pr_pasn_auth_work_done
  - wpas_pr_pasn_roc_work_done
  - wpas_pr_cancel_roc
  - wpas_pr_pasn_abort_responder
  - wpas_pr_pasn_roc_total_timeout
  - wpas_pr_pasn_roc_start_cb
  - wpas_pr_schedule_responder_roc
  - wpas_pr_cancel_remain_on_channel_cb
  - wpas_pr_pasn_timeout
  - wpas_pr_pasn_auth_start_cb
  - wpas_pr_initiate_pasn_auth
  - wpas_pr_validate_ranging_request
  - wpas_pr_pasn_trigger
  - wpas_pr_pasn_auth_tx_status
  - wpas_pr_pasn_auth_retry_timeout
  - wpas_pr_check_pd_wdev_create
  - wpas_pr_pasn_auth_rx
  - wpas_pr_abort_ranging
  source_file: /src/hostap/wpa_supplicant/pr_supplicant.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PR_PASN_RESPONDER_ROC_DURATION
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/hostap/wpa_supplicant/pr_supplicant.c
      type_or_value: '10000'
    - item_type: preproc_def
      name: PR_PASN_AUTH_TIMEOUT
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/hostap/wpa_supplicant/pr_supplicant.c
      type_or_value: '10'
    - item_type: preproc_def
      name: PR_PASN_AUTH1_RETRY_INTERVAL_MS
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/hostap/wpa_supplicant/pr_supplicant.c
      type_or_value: '100'
    structs:
    - fields:
      - name: peer_addr[ETH_ALEN]
        type: u8
      - name: auth_mode
        type: u8
      - name: freq
        type: int
      - name: role
        type: enum pr_pasn_role
      - name: ranging_role
        type: u8
      - name: ranging_type
        type: u8
      - name: '*ssid'
        type: u8
      - name: ssid_len
        type: size_t
      - name: bssid[ETH_ALEN]
        type: u8
      - name: forced_pr_freq
        type: int
      item_type: struct
      name: wpa_pr_pasn_auth_work
      pos:
        line_end: 978
        line_start: 967
        source_file: /src/hostap/wpa_supplicant/pr_supplicant.c
    - fields:
      - name: freq
        type: unsigned int
      - name: src_addr[ETH_ALEN]
        type: u8
      item_type: struct
      name: wpa_pr_pasn_roc_work
      pos:
        line_end: 984
        line_start: 981
        source_file: /src/hostap/wpa_supplicant/pr_supplicant.c
    typedefs: []
    union: []
- function_names:
  - wpas_wps_init
  - wpas_wps_deinit
  - wpas_wps_eapol_cb
  - wpas_wps_get_req_type
  - wpas_wps_ssid_bss_match
  - wpas_wps_ssid_wildcard_ok
  - wpas_wps_scan_pbc_overlap
  - wpas_wps_notify_scan_results
  - wpas_wps_searching
  - wpas_wps_update_ap_info
  - wpas_wps_partner_link_scan_done
  - wpas_wps_partner_link_overlap_detect
  - wpas_wps_notify_assoc
  - wpas_wps_reenable_networks_pending
  - wpas_wps_update_mac_addr
  source_file: /src/hostap/wpa_supplicant/wps_supplicant.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*ssid_hex'
        type: char
      - name: '*auth'
        type: char
      - name: '*encr'
        type: char
      - name: '*key_hex'
        type: char
      item_type: struct
      name: wps_new_ap_settings
      pos:
        line_end: 25
        line_start: 20
        source_file: /src/hostap/wpa_supplicant/wps_supplicant.h
    typedefs: []
    union: []
- function_names:
  - autoscan_init
  - autoscan_deinit
  - autoscan_notify_scan
  source_file: /src/hostap/wpa_supplicant/autoscan.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: '* (*init)(struct wpa_supplicant *wpa_s, const char *params)'
        type: void
      - name: (*deinit)(void *priv)
        type: void
      - name: (*notify_scan)(void *priv, struct wpa_scan_results *scan_res)
        type: int
      item_type: struct
      name: autoscan_ops
      pos:
        line_end: 20
        line_start: 13
        source_file: /src/hostap/wpa_supplicant/autoscan.h
    typedefs: []
    union: []
- function_names:
  - wpas_notify_supplicant_initialized
  - wpas_notify_supplicant_deinitialized
  - wpas_notify_iface_added
  - wpas_notify_iface_removed
  - wpas_notify_state_changed
  - wpas_notify_disconnect_reason
  - wpas_notify_auth_status_code
  - wpas_notify_assoc_status_code
  - wpas_notify_roam_time
  - wpas_notify_roam_complete
  - wpas_notify_scan_in_progress_6ghz
  - wpas_notify_session_length
  - wpas_notify_bss_tm_status
  - wpas_notify_network_changed
  - wpas_notify_ap_scan_changed
  - wpas_notify_bssid_changed
  - wpas_notify_mac_address_changed
  - wpas_notify_auth_changed
  - wpas_notify_network_enabled_changed
  - wpas_notify_network_selected
  - wpas_notify_network_request
  - wpas_notify_scanning
  - wpas_notify_scan_done
  - wpas_notify_scan_results
  - wpas_notify_wps_credential
  - wpas_notify_wps_event_m2d
  - wpas_notify_wps_event_fail
  - wpas_notify_wps_event_success
  - wpas_notify_wps_event_pbc_overlap
  - wpas_notify_network_added
  - wpas_notify_persistent_group_added
  - wpas_notify_persistent_group_removed
  - wpas_notify_network_removed
  - wpas_notify_bss_added
  - wpas_notify_bss_removed
  - wpas_notify_bss_freq_changed
  - wpas_notify_bss_signal_changed
  - wpas_notify_bss_privacy_changed
  - wpas_notify_bss_mode_changed
  - wpas_notify_bss_wpaie_changed
  - wpas_notify_bss_rsnie_changed
  - wpas_notify_bss_wps_changed
  - wpas_notify_bss_ies_changed
  - wpas_notify_bss_rates_changed
  - wpas_notify_bss_seen
  - wpas_notify_bss_anqp_changed
  - wpas_notify_blob_added
  - wpas_notify_blob_removed
  - wpas_notify_debug_level_changed
  - wpas_notify_debug_timestamp_changed
  - wpas_notify_debug_show_keys_changed
  - wpas_notify_suspend
  - wpas_notify_resume
  - wpas_notify_p2p_find_stopped
  - wpas_notify_p2p_device_found
  - wpas_notify_p2p_device_lost
  - wpas_notify_p2p_group_removed
  - wpas_notify_p2p_go_neg_req
  - wpas_notify_p2p_go_neg_completed
  - wpas_notify_p2p_invitation_result
  - wpas_notify_p2p_sd_request
  - wpas_notify_p2p_sd_response
  - wpas_notify_p2p_provision_discovery
  - wpas_notify_p2p_group_started
  - wpas_notify_p2p_group_formation_failure
  - wpas_notify_p2p_wps_failed
  - wpas_notify_p2p_invitation_received
  - wpas_notify_p2p_bootstrap_req
  - wpas_notify_p2p_bootstrap_rsp
  - wpas_notify_ap_sta_authorized
  - wpas_notify_ap_sta_deauthorized
  - wpas_notify_sta_authorized
  - wpas_notify_certification
  - wpas_notify_preq
  - wpas_notify_eap_status
  - wpas_notify_eap_error
  - wpas_notify_psk_mismatch
  - wpas_notify_sae_password_mismatch
  - wpas_notify_network_bssid_set_changed
  - wpas_notify_network_type_changed
  - wpas_notify_mesh_group_started
  - wpas_notify_mesh_group_removed
  - wpas_notify_mesh_peer_connected
  - wpas_notify_mesh_peer_disconnected
  - wpas_notify_interworking_ap_added
  - wpas_notify_interworking_select_done
  - wpas_notify_anqp_query_done
  - wpas_notify_pmk_cache_added
  - wpas_notify_signal_change
  - wpas_notify_hs20_t_c_acceptance
  - wpas_notify_nan_discovery_result
  - wpas_notify_nan_replied
  - wpas_notify_nan_receive
  - nan_reason_txt
  - wpas_notify_nan_publish_terminated
  - wpas_notify_nan_subscribe_terminated
  - wpas_notify_nan_transmit_req_status
  - wpas_notify_nan_bootstrap_request
  - wpas_notify_nan_bootstrap_success
  - wpas_notify_nan_bootstrap_failure
  - wpas_notify_nan_nik_received
  - wpas_notify_nan_pairing_request
  - wpas_notify_nan_ndp_request
  - wpas_notify_nan_ndp_counter_request
  - wpas_notify_nan_ndp_connected
  - wpas_notify_nan_ndp_disconnected
  - wpas_notify_nan_cluster_join
  - wpas_notify_nan_schedule_changed
  - wpas_notify_nan_sched_update_done
  - wpas_notify_nan_pairing_status
  - wpas_notify_nan_chan_evacuation
  - wpas_notify_nan_stopped
  - wpas_notify_pr_pasn_result
  - wpas_notify_pr_negotiation_started
  - wpas_notify_pr_ranging_params
  - wpas_notify_pr_measurement_result
  - wpas_notify_pr_ranging_complete
  - wpas_notify_pr_device_found
  - wpas_notify_pr_ranging_terminated
  source_file: /src/hostap/wpa_supplicant/notify.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/wpa_supplicant/config_ssid.h
  types:
    enum:
    - enumerators:
      - name: WPAS_MODE_INFRA
        value: '0'
      - name: WPAS_MODE_IBSS
        value: '1'
      - name: WPAS_MODE_P2P_GROUP_FORMATION
        value: '4'
      - name: WPAS_MODE_AP
        value: '2'
      - name: WPAS_MODE_P2P_GO
        value: '3'
      - name: WPAS_MODE_MESH
        value: '5'
      item_type: enum
      name: wpas_mode
      pos:
        line_end: 65
        line_start: 58
        source_file: /src/hostap/wpa_supplicant/config_ssid.h
    - enumerators:
      - name: SAE_PK_MODE_AUTOMATIC
        value: '0'
      - name: SAE_PK_MODE_DISABLED
        value: '2'
      - name: SAE_PK_MODE_ONLY
        value: '1'
      item_type: enum
      name: sae_pk_mode
      pos:
        line_end: 71
        line_start: 67
        source_file: /src/hostap/wpa_supplicant/config_ssid.h
    - enumerators:
      - name: WPAS_MAC_ADDR_STYLE_NOT_SET
        value: '-1'
      - name: WPAS_MAC_ADDR_STYLE_DEDICATED_PER_ESS
        value: '3'
      - name: WPAS_MAC_ADDR_STYLE_RANDOM_SAME_OUI
        value: '2'
      - name: WPAS_MAC_ADDR_STYLE_RANDOM
        value: '1'
      - name: WPAS_MAC_ADDR_STYLE_PERMANENT
        value: '0'
      item_type: enum
      name: wpas_mac_addr_style
      pos:
        line_end: 79
        line_start: 73
        source_file: /src/hostap/wpa_supplicant/config_ssid.h
    - enumerators:
      - name: RSN_OVERRIDING_NOT_SET
        value: '-1'
      - name: RSN_OVERRIDING_DISABLED
        value: '0'
      - name: RSN_OVERRIDING_ENABLED
        value: '2'
      - name: RSN_OVERRIDING_AUTO
        value: '1'
      item_type: enum
      name: wpas_rsn_overriding
      pos:
        line_end: 93
        line_start: 88
        source_file: /src/hostap/wpa_supplicant/config_ssid.h
    preproc_defs:
    - item_type: preproc_def
      name: DEFAULT_EAP_WORKAROUND
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/hostap/wpa_supplicant/config_ssid.h
      type_or_value: ((unsigned int) -1)
    - item_type: preproc_def
      name: DEFAULT_EAPOL_FLAGS
      pos:
        line_end: 19
        line_start: 17
        source_file: /src/hostap/wpa_supplicant/config_ssid.h
      type_or_value: "(EAPOL_FLAG_REQUIRE_KEY_UNICAST | \\\n\t\t\t     EAPOL_FLAG_REQUIRE_KEY_BROADCAST)"
    - item_type: preproc_def
      name: DEFAULT_PROTO
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/hostap/wpa_supplicant/config_ssid.h
      type_or_value: (WPA_PROTO_WPA | WPA_PROTO_RSN)
    - item_type: preproc_def
      name: DEFAULT_KEY_MGMT
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/hostap/wpa_supplicant/config_ssid.h
      type_or_value: (WPA_KEY_MGMT_PSK | WPA_KEY_MGMT_IEEE8021X)
    - item_type: preproc_def
      name: DEFAULT_PAIRWISE
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/hostap/wpa_supplicant/config_ssid.h
      type_or_value: (WPA_CIPHER_CCMP)
    - item_type: preproc_def
      name: DEFAULT_GROUP
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/hostap/wpa_supplicant/config_ssid.h
      type_or_value: (WPA_CIPHER_CCMP)
    - item_type: preproc_def
      name: DEFAULT_PAIRWISE
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/hostap/wpa_supplicant/config_ssid.h
      type_or_value: (WPA_CIPHER_CCMP | WPA_CIPHER_TKIP)
    - item_type: preproc_def
      name: DEFAULT_GROUP
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/hostap/wpa_supplicant/config_ssid.h
      type_or_value: (WPA_CIPHER_CCMP | WPA_CIPHER_TKIP)
    - item_type: preproc_def
      name: DEFAULT_FRAGMENT_SIZE
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/hostap/wpa_supplicant/config_ssid.h
      type_or_value: '1398'
    - item_type: preproc_def
      name: DEFAULT_BG_SCAN_PERIOD
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/hostap/wpa_supplicant/config_ssid.h
      type_or_value: '-1'
    - item_type: preproc_def
      name: DEFAULT_MESH_MAX_RETRIES
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/hostap/wpa_supplicant/config_ssid.h
      type_or_value: '2'
    - item_type: preproc_def
      name: DEFAULT_MESH_RETRY_TIMEOUT
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/hostap/wpa_supplicant/config_ssid.h
      type_or_value: '40'
    - item_type: preproc_def
      name: DEFAULT_MESH_CONFIRM_TIMEOUT
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/hostap/wpa_supplicant/config_ssid.h
      type_or_value: '40'
    - item_type: preproc_def
      name: DEFAULT_MESH_HOLDING_TIMEOUT
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/hostap/wpa_supplicant/config_ssid.h
      type_or_value: '40'
    - item_type: preproc_def
      name: DEFAULT_MESH_RSSI_THRESHOLD
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/hostap/wpa_supplicant/config_ssid.h
      type_or_value: '1 '
    - item_type: preproc_def
      name: DEFAULT_DISABLE_HT
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/hostap/wpa_supplicant/config_ssid.h
      type_or_value: '0'
    - item_type: preproc_def
      name: DEFAULT_DISABLE_HT40
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/hostap/wpa_supplicant/config_ssid.h
      type_or_value: '0'
    - item_type: preproc_def
      name: DEFAULT_DISABLE_SGI
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/hostap/wpa_supplicant/config_ssid.h
      type_or_value: '0'
    - item_type: preproc_def
      name: DEFAULT_DISABLE_LDPC
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/hostap/wpa_supplicant/config_ssid.h
      type_or_value: '0'
    - item_type: preproc_def
      name: DEFAULT_TX_STBC
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/hostap/wpa_supplicant/config_ssid.h
      type_or_value: '-1 '
    - item_type: preproc_def
      name: DEFAULT_RX_STBC
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/hostap/wpa_supplicant/config_ssid.h
      type_or_value: '-1 '
    - item_type: preproc_def
      name: DEFAULT_DISABLE_MAX_AMSDU
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/hostap/wpa_supplicant/config_ssid.h
      type_or_value: '-1 '
    - item_type: preproc_def
      name: DEFAULT_AMPDU_FACTOR
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/hostap/wpa_supplicant/config_ssid.h
      type_or_value: '-1 '
    - item_type: preproc_def
      name: DEFAULT_AMPDU_DENSITY
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/hostap/wpa_supplicant/config_ssid.h
      type_or_value: '-1 '
    - item_type: preproc_def
      name: DEFAULT_USER_SELECTED_SIM
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/hostap/wpa_supplicant/config_ssid.h
      type_or_value: '1'
    - item_type: preproc_def
      name: DEFAULT_MAX_OPER_CHWIDTH
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/hostap/wpa_supplicant/config_ssid.h
      type_or_value: '-1'
    - item_type: preproc_def
      name: DEFAULT_SAE_PWE
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/hostap/wpa_supplicant/config_ssid.h
      type_or_value: SAE_PWE_NOT_SET
    - item_type: preproc_def
      name: EAPOL_FLAG_REQUIRE_KEY_UNICAST
      pos:
        line_end: 350
        line_start: 349
        source_file: /src/hostap/wpa_supplicant/config_ssid.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: EAPOL_FLAG_REQUIRE_KEY_BROADCAST
      pos:
        line_end: 351
        line_start: 350
        source_file: /src/hostap/wpa_supplicant/config_ssid.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: NUM_WEP_KEYS
      pos:
        line_end: 364
        line_start: 363
        source_file: /src/hostap/wpa_supplicant/config_ssid.h
      type_or_value: '4'
    - item_type: preproc_def
      name: MAX_WEP_KEY_LEN
      pos:
        line_end: 365
        line_start: 364
        source_file: /src/hostap/wpa_supplicant/config_ssid.h
      type_or_value: '16'
    - item_type: preproc_def
      name: P2P_MAX_STORED_CLIENTS
      pos:
        line_end: 713
        line_start: 712
        source_file: /src/hostap/wpa_supplicant/config_ssid.h
      type_or_value: '100'
    - item_type: preproc_def
      name: MACSEC_CKN_MAX_LEN
      pos:
        line_end: 1009
        line_start: 1008
        source_file: /src/hostap/wpa_supplicant/config_ssid.h
      type_or_value: '32'
    - item_type: preproc_def
      name: MACSEC_CAK_MAX_LEN
      pos:
        line_end: 1016
        line_start: 1015
        source_file: /src/hostap/wpa_supplicant/config_ssid.h
      type_or_value: '32'
    - item_type: preproc_def
      name: MKA_PSK_SET_CKN
      pos:
        line_end: 1020
        line_start: 1019
        source_file: /src/hostap/wpa_supplicant/config_ssid.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: MKA_PSK_SET_CAK
      pos:
        line_end: 1021
        line_start: 1020
        source_file: /src/hostap/wpa_supplicant/config_ssid.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: MKA_PSK_SET
      pos:
        line_end: 1022
        line_start: 1021
        source_file: /src/hostap/wpa_supplicant/config_ssid.h
      type_or_value: (MKA_PSK_SET_CKN | MKA_PSK_SET_CAK)
    structs:
    - fields:
      - name: list
        type: struct dl_list
      - name: addr[ETH_ALEN]
        type: u8
      - name: psk[32]
        type: u8
      - name: p2p
        type: u8
      item_type: struct
      name: psk_list_entry
      pos:
        line_end: 56
        line_start: 51
        source_file: /src/hostap/wpa_supplicant/config_ssid.h
    - fields:
      - name: '*next'
        type: struct wpa_ssid
      - name: '*pnext'
        type: struct wpa_ssid
      - name: id
        type: int
      - name: ro
        type: bool
      - name: priority
        type: int
      - name: '*ssid'
        type: u8
      - name: ssid_len
        type: size_t
      - name: bssid[ETH_ALEN]
        type: u8
      - name: '*bssid_ignore'
        type: u8
      - name: num_bssid_ignore
        type: size_t
      - name: '*bssid_accept'
        type: u8
      - name: num_bssid_accept
        type: size_t
      - name: bssid_set
        type: int
      - name: bssid_hint[ETH_ALEN]
        type: u8
      - name: bssid_hint_set
        type: int
      - name: go_p2p_dev_addr[ETH_ALEN]
        type: u8
      - name: psk[32]
        type: u8
      - name: psk_set
        type: int
      - name: '*passphrase'
        type: char
      - name: pmk_valid
        type: bool
      - name: '*sae_password'
        type: char
      - name: '*sae_password_id'
        type: char
      - name: '*alt_sae_password_ids'
        type: struct wpabuf_array
      - name: alt_sae_passwords_ids_idx
        type: unsigned int
      - name: alt_sae_passwords_ids_used
        type: bool
      - name: '*pt'
        type: struct sae_pt
      - name: '*ext_psk'
        type: char
      - name: mem_only_psk
        type: int
      - name: pairwise_cipher
        type: int
      - name: group_cipher
        type: int
      - name: group_mgmt_cipher
        type: int
      - name: key_mgmt
        type: int
      - name: bg_scan_period
        type: int
      - name: proto
        type: int
      - name: auth_alg
        type: int
      - name: scan_ssid
        type: int
      - name: proactive_key_caching
        type: int
      - name: mixed_cell
        type: int
      - name: mode
        type: enum wpas_mode
      - name: pbss
        type: int
      - name: disabled
        type: int
      - name: disabled_for_connect
        type: int
      - name: '*id_str'
        type: char
      - name: ieee80211w
        type: enum mfp_options
      - name: frequency
        type: int
      - name: enable_edmg
        type: int
      - name: edmg_channel
        type: u8
      - name: fixed_freq
        type: int
      - name: '*mesh_basic_rates'
        type: int
      - name: dot11MeshMaxRetries
        type: int
      - name: dot11MeshRetryTimeout
        type: int
      - name: dot11MeshConfirmTimeout
        type: int
      - name: dot11MeshHoldingTimeout
        type: int
      - name: mesh_fwding
        type: int
      - name: ht
        type: int
      - name: ht40
        type: int
      - name: vht
        type: int
      - name: he
        type: int
      - name: eht
        type: int
      - name: max_oper_chwidth
        type: enum oper_chan_width
      - name: vht_center_freq1
        type: unsigned int
      - name: vht_center_freq2
        type: unsigned int
      - name: wpa_ptk_rekey
        type: int
      - name: wpa_deny_ptk0_rekey
        type: enum ptk0_rekey_handling
      - name: group_rekey
        type: int
      - name: '*scan_freq'
        type: int
      - name: '*bgscan'
        type: char
      - name: ignore_broadcast_ssid
        type: int
      - name: '*freq_list'
        type: int
      - name: '*p2p_client_list'
        type: u8
      - name: num_p2p_clients
        type: size_t
      - name: '*p2p2_client_list'
        type: int
      - name: psk_list
        type: struct dl_list
      - name: p2p_group
        type: int
      - name: p2p_persistent_group
        type: int
      - name: temporary
        type: int
      - name: export_keys
        type: int
      - name: ap_max_inactivity
        type: int
      - name: dtim_period
        type: int
      - name: beacon_int
        type: int
      - name: auth_failures
        type: unsigned int
      - name: disabled_until
        type: struct os_reltime
      - name: disabled_due_to[ETH_ALEN]
        type: u8
      - name: '*parent_cred'
        type: void
      - name: wps_run
        type: unsigned int
      - name: mac_addr
        type: enum wpas_mac_addr_style
      - name: mac_value[ETH_ALEN]
        type: u8
      - name: no_auto_peer
        type: int
      - name: mesh_rssi_threshold
        type: int
      - name: wps_disabled
        type: int
      - name: fils_dh_group
        type: int
      - name: '*dpp_connector'
        type: char
      - name: '*dpp_netaccesskey'
        type: u8
      - name: dpp_netaccesskey_len
        type: size_t
      - name: dpp_netaccesskey_expiry
        type: unsigned int
      - name: '*dpp_csign'
        type: u8
      - name: dpp_csign_len
        type: size_t
      - name: '*dpp_pp_key'
        type: u8
      - name: dpp_pp_key_len
        type: size_t
      - name: dpp_pfs
        type: int
      - name: dpp_pfs_fallback
        type: int
      - name: dpp_connector_privacy
        type: int
      - name: owe_group
        type: int
      - name: owe_only
        type: int
      - name: owe_ptk_workaround
        type: int
      - name: owe_transition_bss_select_count
        type: int
      - name: multi_ap_backhaul_sta
        type: int
      - name: ft_eap_pmksa_caching
        type: int
      - name: multi_ap_profile
        type: int
      - name: beacon_prot
        type: int
      - name: transition_disable
        type: u8
      - name: sae_pk
        type: enum sae_pk_mode
      - name: was_recently_reconfigured
        type: bool
      - name: sae_pwe
        type: enum sae_pwe
      - name: disable_eht
        type: int
      - name: disable_uhr
        type: int
      - name: enable_4addr_mode
        type: int
      - name: max_idle
        type: int
      - name: ssid_protection
        type: bool
      - name: rsn_overriding
        type: enum wpas_rsn_overriding
      - name: p2p_mode
        type: enum wpa_p2p_mode
      - name: go_dik_id
        type: int
      - name: sae_password_id_change
        type: bool
      - name: pmksa_privacy
        type: int
      - name: drop_unicast_ip_in_l2_multicast
        type: bool
      - name: always_use_proxy_arp
        type: int
      item_type: struct
      name: wpa_ssid
      pos:
        line_end: 1408
        line_start: 103
        source_file: /src/hostap/wpa_supplicant/config_ssid.h
    typedefs: []
    union: []
- function_names:
  - wpa_supplicant_ctrl_iface_init
  - wpa_supplicant_ctrl_iface_deinit
  - wpa_supplicant_ctrl_iface_send
  - wpa_supplicant_ctrl_iface_wait
  - wpa_supplicant_global_ctrl_iface_init
  - wpa_supplicant_global_ctrl_iface_deinit
  - wpas_ctrl_radio_work_flush
  source_file: /src/hostap/wpa_supplicant/ctrl_iface.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CTRL_IFACE_MAX_LEN
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/hostap/wpa_supplicant/ctrl_iface.h
      type_or_value: '8192'
    structs: []
    typedefs: []
    union: []
- function_names:
  - wmm_ac_get_tsid
  - wmm_ac_get_direction
  - wmm_ac_get_user_priority
  - wmm_ac_direction_to_idx
  - wmm_ac_add_ts
  - wmm_ac_del_ts_idx
  - wmm_ac_del_req
  - wmm_ac_addts_req_timeout
  - wmm_ac_send_addts_request
  - wmm_ac_send_delts
  - wmm_ac_find_tsid
  - wmm_ac_build_addts_req
  - param_in_range
  - wmm_ac_should_replace_ts
  - wmm_ac_ts_req_is_valid
  - PARAM_IN_RANGE
  - wmm_ac_process_param_elem
  - wmm_ac_init
  - wmm_ac_del_ts
  - wmm_ac_deinit
  - wmm_ac_notify_assoc
  - wmm_ac_notify_disassoc
  - wpas_wmm_ac_delts
  - wpas_wmm_ac_addts
  - wmm_ac_handle_delts
  - wmm_ac_handle_addts_resp
  - wmm_ac_rx_action
  - get_ac_str
  - get_direction_str
  - wpas_wmm_ac_status
  - wmm_ac_get_tspecs_count
  - wmm_ac_save_tspecs
  - wmm_ac_clear_saved_tspecs
  - wmm_ac_restore_tspecs
  source_file: /src/hostap/wpa_supplicant/wmm_ac.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - wpa_priv_cmd_register
  - wpa_priv_cmd_unregister
  - wpa_priv_cmd_scan
  - wpa_priv_get_scan_results2
  - wpa_priv_cmd_get_scan_results
  - wpa_priv_cmd_authenticate
  - wpa_priv_cmd_associate
  - wpa_priv_cmd_get_bssid
  - wpa_priv_cmd_get_ssid
  - wpa_priv_cmd_set_key
  - wpa_priv_cmd_get_capa
  - wpa_priv_l2_rx
  - wpa_priv_allowed_l2_proto
  - wpa_priv_cmd_l2_register
  - wpa_priv_cmd_l2_unregister
  - wpa_priv_cmd_l2_notify_auth_start
  - wpa_priv_cmd_l2_send
  - wpa_priv_cmd_set_country
  - wpa_priv_receive
  - wpa_priv_interface_deinit
  - wpa_priv_interface_init
  - wpa_priv_send_event
  - wpa_priv_send_auth
  - wpa_priv_send_assoc
  - wpa_priv_send_interface_status
  - wpa_priv_send_ft_response
  - wpa_supplicant_event
  - wpa_supplicant_event_global
  - wpa_supplicant_rx_eapol
  - wpa_priv_terminate
  - wpa_priv_fd_workaround
  - usage
  - main
  source_file: /src/hostap/wpa_supplicant/wpa_priv.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: WPA_PRIV_MAX_L2
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/hostap/wpa_supplicant/wpa_priv.c
      type_or_value: '3'
    structs:
    - fields:
      - name: '*next'
        type: struct wpa_priv_interface
      - name: '*driver_name'
        type: char
      - name: '*ifname'
        type: char
      - name: '*sock_name'
        type: char
      - name: fd
        type: int
      - name: '*ctx'
        type: void
      - name: '*driver'
        type: struct wpa_driver_ops
      - name: '*drv_priv'
        type: void
      - name: '*drv_global_priv'
        type: void
      - name: drv_addr
        type: struct sockaddr_un
      - name: drv_addr_len
        type: socklen_t
      - name: wpas_registered
        type: int
      - name: '*l2[WPA_PRIV_MAX_L2]'
        type: struct l2_packet_data
      - name: l2_addr[WPA_PRIV_MAX_L2]
        type: struct sockaddr_un
      - name: l2_addr_len[WPA_PRIV_MAX_L2]
        type: socklen_t
      - name: l2_ctx[WPA_PRIV_MAX_L2]
        type: "struct wpa_priv_l2 {\n\t\tstruct wpa_priv_interface *parent;\n\t\tint
          idx;\n\t}"
      item_type: struct
      name: wpa_priv_interface
      pos:
        line_end: 48
        line_start: 25
        source_file: /src/hostap/wpa_supplicant/wpa_priv.c
    - fields:
      - name: '*parent'
        type: struct wpa_priv_interface
      - name: idx
        type: int
      item_type: struct
      name: wpa_priv_l2
      pos:
        line_end: 47
        line_start: 44
        source_file: /src/hostap/wpa_supplicant/wpa_priv.c
    - fields:
      - name: '*interfaces'
        type: struct wpa_priv_interface
      item_type: struct
      name: wpa_priv_global
      pos:
        line_end: 52
        line_start: 50
        source_file: /src/hostap/wpa_supplicant/wpa_priv.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/wpa_supplicant/wmm_ac.h
  types:
    enum:
    - enumerators:
      - name: WMM_AC_DIR_UPLINK
        value: '0'
      - name: WMM_AC_DIR_BIDIRECTIONAL
        value: '3'
      - name: WMM_AC_DIR_DOWNLINK
        value: '1'
      item_type: enum
      name: wmm_ac_dir
      pos:
        line_end: 61
        line_start: 57
        source_file: /src/hostap/wpa_supplicant/wmm_ac.h
    - enumerators:
      - name: TS_DIR_IDX_UPLINK
      - name: TS_DIR_IDX_COUNT
      - name: TS_DIR_IDX_DOWNLINK
      - name: TS_DIR_IDX_BIDI
      item_type: enum
      name: ts_dir_idx
      pos:
        line_end: 76
        line_start: 70
        source_file: /src/hostap/wpa_supplicant/wmm_ac.h
    preproc_defs:
    - item_type: preproc_def
      name: WMM_AC_ACCESS_POLICY_EDCA
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/hostap/wpa_supplicant/wmm_ac.h
      type_or_value: '1'
    - item_type: preproc_def
      name: WMM_AC_FIXED_MSDU_SIZE
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/hostap/wpa_supplicant/wmm_ac.h
      type_or_value: BIT(15)
    - item_type: preproc_def
      name: WMM_AC_MAX_TID
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/hostap/wpa_supplicant/wmm_ac.h
      type_or_value: '7'
    - item_type: preproc_def
      name: WMM_AC_MAX_USER_PRIORITY
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/hostap/wpa_supplicant/wmm_ac.h
      type_or_value: '7'
    - item_type: preproc_def
      name: WMM_AC_MIN_SBA_UNITY
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/hostap/wpa_supplicant/wmm_ac.h
      type_or_value: '0x2000'
    - item_type: preproc_def
      name: WMM_AC_MAX_NOMINAL_MSDU
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/hostap/wpa_supplicant/wmm_ac.h
      type_or_value: '32767'
    - item_type: preproc_def
      name: TS_DIR_IDX_ALL
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/hostap/wpa_supplicant/wmm_ac.h
      type_or_value: (BIT(TS_DIR_IDX_COUNT) - 1)
    structs:
    - fields:
      - name: ac_params[WMM_AC_NUM]
        type: "struct {\n\t\t/*\n\t\t * acm - Admission Control Mandatory\n\t\t *
          In case an access category is ACM, the traffic will have\n\t\t * to be admitted
          by WMM-AC's admission mechanism before use.\n\t\t */\n\t\tunsigned int acm:1;\n\n\t\t/*\n\t\t
          * uapsd_queues - Unscheduled Automatic Power Save Delivery\n\t\t *\t\t  queues.\n\t\t
          * Indicates whether ACs are configured for U-APSD (or legacy\n\t\t * PS).
          Storing this value is necessary in order to set the\n\t\t * Power Save Bit
          (PSB) in ADDTS request Action frames (if not\n\t\t * given).\n\t\t */\n\t\tunsigned
          int uapsd:1;\n\t}"
      item_type: struct
      name: wmm_ac_assoc_data
      pos:
        line_end: 52
        line_start: 33
        source_file: /src/hostap/wpa_supplicant/wmm_ac.h
    - fields:
      - name: dialog_token
        type: u8
      - name: address[ETH_ALEN]
        type: u8
      - name: tspec
        type: struct wmm_tspec_element
      item_type: struct
      name: wmm_ac_addts_request
      pos:
        line_end: 108
        line_start: 88
        source_file: /src/hostap/wpa_supplicant/wmm_ac.h
    - fields:
      - name: tsid
        type: int
      - name: direction
        type: enum wmm_ac_dir
      - name: user_priority
        type: int
      - name: nominal_msdu_size
        type: int
      - name: fixed_nominal_msdu
        type: int
      - name: mean_data_rate
        type: int
      - name: minimum_phy_rate
        type: int
      - name: surplus_bandwidth_allowance
        type: int
      item_type: struct
      name: wmm_ac_ts_setup_params
      pos:
        line_end: 160
        line_start: 117
        source_file: /src/hostap/wpa_supplicant/wmm_ac.h
    typedefs: []
    union: []
- function_names:
  - bgscan_init
  - bgscan_deinit
  - bgscan_notify_scan
  - bgscan_notify_beacon_loss
  - bgscan_notify_signal_change
  source_file: /src/hostap/wpa_supplicant/bgscan.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: "* (*init)(struct wpa_supplicant *wpa_s, const char *params,\n\t\t       const
          struct wpa_ssid *ssid)"
        type: void
      - name: (*deinit)(void *priv)
        type: void
      - name: (*notify_scan)(void *priv, struct wpa_scan_results *scan_res)
        type: int
      - name: (*notify_beacon_loss)(void *priv)
        type: void
      - name: "(*notify_signal_change)(void *priv, int above,\n\t\t\t\t     int current_signal,\n\t\t\t\t
          \    int current_noise,\n\t\t\t\t     int current_txrate)"
        type: void
      item_type: struct
      name: bgscan_ops
      pos:
        line_end: 27
        line_start: 14
        source_file: /src/hostap/wpa_supplicant/bgscan.h
    typedefs: []
    union: []
- function_names:
  - wpas_bssid_ignore_module_tests
  - wpas_module_tests
  source_file: /src/hostap/wpa_supplicant/wpas_module_tests.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - wpas_get_6ghz_he_chwidth_capab
  - wpas_p2p_num_unused_channels
  - wpas_p2p_valid_oper_freqs
  - wpas_p2p_set_own_freq_preference
  - wpas_p2p_scan_res_handled
  - wpas_p2p_scan_res_handler
  - wpas_p2p_scan_res_fail_handler
  - wpas_p2p_scan_freqs
  - wpas_p2p_trigger_scan_cb
  - wpas_p2p_search_social_channel
  - wpas_p2p_scan
  - wpas_p2p_if_type
  - wpas_get_p2p_group
  - run_wpas_p2p_disconnect
  - wpas_p2p_disconnect_safely
  - p2p_group_go_member_count
  - p2p_is_active_persistent_group
  - p2p_is_active_persistent_go
  - wpas_p2p_get_go_group
  - p2p_is_active_persistent_cli
  - wpas_p2p_get_cli_group
  - wpas_p2p_get_persistent_go
  - p2ps_group_capability
  - wpas_p2p_group_delete
  - wpas_p2p_persistent_group
  - wpas_p2p_store_persistent_group
  - wpas_p2p2_add_group_client_dik_id
  - wpas_p2p_add_persistent_group_client
  - wpas_p2p_group_started
  - wpas_p2p_remove_all_identity
  - wpas_p2p_store_identity
  - wpas_p2p_store_go_identity
  - wpas_group_formation_completed
  - wpas_p2p_free_send_action_work
  - wpas_p2p_send_action_work_timeout
  - wpas_p2p_action_tx_clear
  - wpas_p2p_send_action_tx_status
  - wpas_send_action_cb
  - wpas_send_action_work
  - wpas_send_action
  - wpas_send_action_done
  - wpas_p2p_pasn_free_auth_work
  - wpas_p2p_pasn_cancel_auth_work
  - wpas_p2p_pasn_auth_start_cb
  - wpas_p2p_initiate_pasn_auth
  - wpas_copy_go_neg_results
  - wpas_start_gc
  - wpas_start_wps_enrollee
  - wpas_p2p_add_psk_list
  - p2p_go_dump_common_freqs
  - p2p_go_save_group_common_freqs
  - p2p_config_write
  - p2p_go_configured
  - wpas_p2p_freq_to_edmg_channel
  - wpas_p2p_try_edmg_channel
  - wpas_start_go
  - wpas_p2p_clone_config
  - C
  - wpas_p2p_get_group_ifname
  - wpas_p2p_add_group_interface
  - wpas_p2p_remove_pending_group_interface
  - wpas_p2p_init_group_interface
  - wpas_p2p_group_formation_timeout
  - wpas_p2p_group_formation_failed
  - wpas_p2p_grpform_fail_after_wps
  - wpas_p2p_ap_setup_failed
  - wpas_p2p_retry_limit_exceeded
  - wpas_set_go_security_config
  - wpas_go_neg_completed
  - wpas_go_neg_req_rx
  - wpas_dev_lost
  - wpas_find_stopped
  - wpas_p2p_listen_work_free
  - wpas_p2p_listen_work_done
  - wpas_stop_started_listen_work
  - wpas_start_listen_cb
  - wpas_start_listen
  - wpas_stop_listen
  - wpas_send_probe_resp
  - wpas_prov_disc_local_display
  - wpas_prov_disc_local_keypad
  - wpas_prov_disc_req
  - wpas_prov_disc_resp
  - wpas_prov_disc_fail
  - freq_included
  - wpas_p2p_go_update_common_freqs
  - wpas_p2p_go_is_peer_freq
  - wpas_sta_check_ecsa
  - wpas_p2p_go_clients_support_ecsa
  - wpas_p2p_pick_best_used_freq
  - wpas_p2p_pick_best_pref_freq
  - wpas_invitation_process
  - wpas_invitation_received
  - wpas_remove_persistent_peer
  - wpas_remove_persistent_client
  - wpas_msg_p2p_invitation_result
  - wpas_invitation_result
  - wpas_p2p_disallowed_freq
  - wpas_p2p_add_chan
  - wpas_p2p_default_channels
  - has_channel
  - wpas_p2p_get_center_80mhz
  - wpas_p2p_verify_80mhz
  - wpas_p2p_get_center_160mhz
  - wpas_p2p_verify_160mhz
  - wpas_p2p_verify_edmg
  - wpas_p2p_verify_channel
  - is_dfs_chan_supported
  - wpas_p2p_setup_channels
  - wpas_p2p_get_sec_channel_offset_40mhz
  - wpas_p2p_get_vht80_center
  - wpas_p2p_get_vht160_center
  - wpas_get_noa
  - wpas_get_p2p_go_iface
  - wpas_get_p2p_client_iface
  - wpas_go_connected
  - wpas_is_concurrent_session_active
  - wpas_p2p_debug_print
  - wpas_p2p_add_p2pdev_interface
  - wpas_presence_resp
  - wpas_get_persistent_group
  - wpas_get_go_info
  - wpas_remove_stale_groups
  - wpas_p2ps_get_feat_cap_str
  - wpas_p2ps_prov_complete
  - _wpas_p2p_in_progress
  - wpas_prov_disc_resp_cb
  - wpas_p2p_get_pref_freq_list
  - wpas_p2p_send_bootstrap_comeback
  - wpas_p2p_register_bootstrap_comeback
  - wpas_bootstrap_req_rx
  - wpas_bootstrap_rsp_rx
  - wpas_set_pmksa
  - wpas_validate_dira
  - wpas_p2p_initiate_pasn_verify
  - wpas_p2p_pasn_send_mgmt
  - wpas_p2p_prepare_data_element
  - wpas_p2p_parse_data_element
  - wpas_p2p_pasn_validate_pmkid
  - wpas_p2p_mac_setup
  - wpas_p2p_dfs_chan
  - wpas_p2p_init
  - wpas_p2p_deinit
  - wpas_p2p_deinit_global
  - wpas_p2p_create_iface
  - wpas_p2p_config_sae_password
  - wpas_p2p_start_go_neg
  - wpas_p2p_auth_go_neg
  - wpas_p2p_check_join_scan_limit
  - wpas_check_freq_conflict
  - wpas_p2p_peer_go
  - wpas_p2p_scan_res_join
  - wpas_p2p_join_scan_req
  - wpas_p2p_join_scan
  - wpas_p2p_join
  - wpas_p2p_join_start
  - wpas_p2p_setup_freqs
  - is_p2p_6ghz_supported
  - wpas_p2p_check_6ghz
  - wpas_p2p_connect
  - wpas_p2p_remain_on_channel_cb
  - wpas_p2p_listen_start
  - wpas_p2p_cancel_remain_on_channel_cb
  - wpas_p2p_group_remove
  - wpas_p2p_select_go_freq
  - wpas_p2p_supported_freq_go
  - wpas_p2p_select_go_freq_no_pref
  - wpas_same_band
  - wpas_p2p_init_go_params
  - wpas_p2p_get_group_iface
  - wpas_p2p_group_add
  - wpas_start_p2p_client
  - wpas_p2p_group_add_persistent
  - wpas_p2p_ie_update
  - wpas_p2p_idle_update
  - wpas_p2p_group_init
  - wpas_p2p_wps_success
  - wpas_p2p_wps_failed
  - wpas_p2p_wps_eapol_cb
  - wpas_p2p_prov_disc
  - wpas_p2p_scan_result_text
  - wpas_p2p_clear_pending_action_tx
  - wpas_p2p_find
  - wpas_p2p_scan_res_ignore_search
  - wpas_p2p_stop_find_oper
  - wpas_p2p_stop_find
  - wpas_p2p_long_listen_timeout
  - wpas_p2p_listen
  - wpas_p2p_assoc_req_ie
  - wpas_p2p_probe_req_rx
  - wpas_p2p_rx_action
  - wpas_p2p_scan_ie
  - wpas_p2p_group_deinit
  - wpas_p2p_reject
  - wpas_p2p_invite
  - wpas_p2p_invite_group
  - wpas_p2p_completed
  - wpas_p2p_presence_req
  - wpas_p2p_ext_listen
  - wpas_p2p_is_client
  - wpas_p2p_group_idle_timeout
  - wpas_p2p_set_group_idle_timeout
  - wpas_p2p_deauth_notif
  - wpas_p2p_disassoc_notif
  - wpas_p2p_update_config
  - wpas_p2p_set_noa
  - wpas_p2p_set_cross_connect
  - wpas_p2p_enable_cross_connect
  - wpas_p2p_disable_cross_connect
  - wpas_p2p_notif_connected
  - wpas_p2p_notif_disconnected
  - wpas_p2p_cross_connect_setup
  - wpas_p2p_notif_pbc_overlap
  - wpas_p2p_pbc_overlap_cb
  - wpas_p2p_update_channel_list
  - wpas_p2p_scan_res_ignore
  - wpas_p2p_cancel
  - wpas_p2p_interface_unavailable
  - wpas_p2p_update_best_channels
  - wpas_p2p_unauthorize
  - wpas_p2p_disconnect
  - wpas_p2p_in_progress
  - wpas_p2p_network_removed
  - wpas_p2p_get_persistent
  - wpas_p2p_store_client_identity
  - wpas_p2p_notify_ap_sta_authorized
  - wpas_p2p_fallback_to_go_neg
  - wpas_p2p_scan_no_go_seen
  - wpas_p2p_search_delay
  - wpas_p2p_remove_psk_entry
  - wpas_p2p_new_psk_cb
  - wpas_p2p_remove_psk
  - wpas_p2p_remove_client_go
  - wpas_p2p_remove_client
  - wpas_p2p_psk_failure_removal
  - wpas_p2p_group_freq_conflict
  - wpas_p2p_handle_frequency_conflicts
  - wpas_p2p_4way_hs_failed
  - wpas_p2p_nfc_handover
  - wpas_p2p_cli_freq
  - wpas_p2p_nfc_handover_req
  - wpas_p2p_nfc_handover_sel
  - wpas_p2p_nfc_join_group
  - wpas_p2p_nfc_auth_join
  - wpas_p2p_nfc_init_go_neg
  - wpas_p2p_nfc_resp_go_neg
  - wpas_p2p_nfc_connection_handover
  - wpas_p2p_nfc_tag_process
  - wpas_p2p_nfc_report_handover
  - wpas_p2p_nfc_tag_enabled
  - wpas_p2p_optimize_listen_channel
  - wpas_p2p_move_go_csa
  - wpas_p2p_move_go_no_csa
  - wpas_p2p_move_go
  - wpas_p2p_reconsider_moving_go
  - wpas_p2p_consider_moving_one_go
  - wpas_p2p_consider_moving_gos
  - wpas_p2p_indicate_state_change
  - wpas_p2p_deinit_iface
  - wpas_p2p_ap_deinit
  - wpas_p2p_lo_start
  - wpas_p2p_lo_stop
  - wpas_p2p_usd_elems
  - wpas_p2p_process_usd_elems
  - wpas_p2p_pasn_auth_rx
  - wpas_p2p_pasn_auth_tx_status
  - wpas_p2p_get_pasn_ptk
  - wpas_p2p_get_dira
  - wpas_p2p_validate_dira
  - wpas_p2p_update_dev_addr
  - wpas_p2p_set_disabled
  - wpas_p2p_set_enabled
  - wpas_p2p_disabled_changed
  source_file: /src/hostap/wpa_supplicant/p2p_supplicant.c
  types:
    enum:
    - enumerators:
      - name: P2P_GROUP_REMOVAL_UNKNOWN
      - name: P2P_GROUP_REMOVAL_SILENT
      - name: P2P_GROUP_REMOVAL_IDLE_TIMEOUT
      - name: P2P_GROUP_REMOVAL_REQUESTED
      - name: P2P_GROUP_REMOVAL_FORMATION_FAILED
      - name: P2P_GROUP_REMOVAL_UNAVAILABLE
      - name: P2P_GROUP_REMOVAL_GO_ENDING_SESSION
      - name: P2P_GROUP_REMOVAL_PSK_FAILURE
      - name: P2P_GROUP_REMOVAL_FREQ_CONFLICT
      - name: P2P_GROUP_REMOVAL_GO_LEAVE_CHANNEL
      item_type: enum
      name: p2p_group_removal_reason
      pos:
        line_end: 121
        line_start: 110
        source_file: /src/hostap/wpa_supplicant/p2p_supplicant.c
    preproc_defs:
    - item_type: preproc_def
      name: P2P_MAX_JOIN_SCAN_ATTEMPTS
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/hostap/wpa_supplicant/p2p_supplicant.c
      type_or_value: '10'
    - item_type: preproc_def
      name: P2P_AUTO_PD_SCAN_ATTEMPTS
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/hostap/wpa_supplicant/p2p_supplicant.c
      type_or_value: '5'
    - item_type: preproc_def
      name: P2P_GO_FREQ_CHANGE_TIME
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/hostap/wpa_supplicant/p2p_supplicant.c
      type_or_value: '5'
    - item_type: preproc_def
      name: P2P_GO_CSA_COUNT
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/hostap/wpa_supplicant/p2p_supplicant.c
      type_or_value: '7'
    - item_type: preproc_def
      name: P2P_GO_CSA_BLOCK_TX
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/hostap/wpa_supplicant/p2p_supplicant.c
      type_or_value: '0'
    - item_type: preproc_def
      name: P2P_MAX_CLIENT_IDLE
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/hostap/wpa_supplicant/p2p_supplicant.c
      type_or_value: '10'
    - item_type: preproc_def
      name: P2P_MAX_INITIAL_CONN_WAIT
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/hostap/wpa_supplicant/p2p_supplicant.c
      type_or_value: '10'
    - item_type: preproc_def
      name: P2P_MAX_INITIAL_CONN_WAIT_GO
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/hostap/wpa_supplicant/p2p_supplicant.c
      type_or_value: '10'
    - item_type: preproc_def
      name: P2P_MAX_INITIAL_CONN_WAIT_GO_REINVOKE
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/hostap/wpa_supplicant/p2p_supplicant.c
      type_or_value: '15'
    - item_type: preproc_def
      name: P2P_MGMT_DEVICE_PREFIX
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/hostap/wpa_supplicant/p2p_supplicant.c
      type_or_value: '"p2p-dev-"'
    - item_type: preproc_def
      name: P2P_RECONSIDER_GO_MOVE_DELAY
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/hostap/wpa_supplicant/p2p_supplicant.c
      type_or_value: '30'
    structs:
    - fields:
      - name: freq
        type: unsigned int
      - name: dst[ETH_ALEN]
        type: u8
      - name: src[ETH_ALEN]
        type: u8
      - name: bssid[ETH_ALEN]
        type: u8
      - name: len
        type: size_t
      - name: wait_time
        type: unsigned int
      - name: buf[0]
        type: u8
      item_type: struct
      name: send_action_work
      pos:
        line_end: 1665
        line_start: 1657
        source_file: /src/hostap/wpa_supplicant/p2p_supplicant.c
    - fields:
      - name: peer_addr[ETH_ALEN]
        type: u8
      - name: freq
        type: int
      - name: verify
        type: bool
      - name: force_freq
        type: int
      - name: pref_freq
        type: int
      - name: role
        type: enum p2p_invite_role
      - name: '*ssid'
        type: u8
      - name: ssid_len
        type: size_t
      - name: bssid[ETH_ALEN]
        type: u8
      - name: go_dev_addr[ETH_ALEN]
        type: u8
      item_type: struct
      name: wpa_p2p_pasn_auth_work
      pos:
        line_end: 1901
        line_start: 1890
        source_file: /src/hostap/wpa_supplicant/p2p_supplicant.c
    - fields:
      - name: freq
        type: unsigned int
      - name: duration
        type: unsigned int
      - name: '*probe_resp_ie'
        type: struct wpabuf
      item_type: struct
      name: wpas_p2p_listen_work
      pos:
        line_end: 3190
        line_start: 3186
        source_file: /src/hostap/wpa_supplicant/p2p_supplicant.c
    typedefs: []
    union: []
- function_names:
  - wpas_dpp_qr_code
  - wpas_dpp_nfc_uri
  - wpas_dpp_nfc_handover_req
  - wpas_dpp_nfc_handover_sel
  - wpas_dpp_auth_resp_retry_timeout
  - wpas_dpp_auth_resp_retry
  - wpas_dpp_try_to_connect
  - wpas_dpp_stop_listen_for_tx
  - wpas_dpp_conn_status_result_timeout
  - wpas_dpp_scan_channel_list
  - wpas_dpp_send_conn_status_result
  - wpas_dpp_connected_timeout
  - wpas_dpp_connected
  - wpas_dpp_drv_wait_timeout
  - wpas_dpp_neg_freq_timeout
  - wpas_dpp_tx_status
  - wpas_dpp_reply_wait_timeout
  - wpas_dpp_auth_conf_wait_timeout
  - wpas_dpp_set_testing_options
  - wpas_dpp_init_timeout
  - wpas_dpp_auth_init_next
  - wpas_dpp_auth_init
  - wpas_dpp_listen_work_free
  - wpas_dpp_listen_work_done
  - dpp_start_listen_cb
  - wpas_dpp_listen_start
  - wpas_dpp_listen
  - wpas_dpp_listen_stop
  - wpas_dpp_remain_on_channel_cb
  - wpas_dpp_tx_auth_resp
  - wpas_dpp_tx_auth_resp_roc_timeout
  - wpas_dpp_cancel_remain_on_channel_cb
  - wpas_dpp_rx_auth_req
  - wpas_dpp_tx_wait_expire
  - wpas_dpp_start_gas_server
  - wpas_dpp_add_network
  - wpas_dpp_process_config
  - wpas_dpp_post_process_config
  - wpas_dpp_handle_config_obj
  - wpas_dpp_handle_key_pkg
  - wpas_dpp_build_csr
  - wpas_dpp_build_new_key
  - wpas_dpp_gas_resp_cb
  - wpas_dpp_gas_client_timeout
  - wpas_dpp_start_gas_client
  - wpas_dpp_auth_success
  - wpas_dpp_rx_auth_resp
  - wpas_dpp_rx_auth_conf
  - wpas_dpp_config_result_wait_timeout
  - wpas_dpp_conn_status_result_wait_timeout
  - wpas_dpp_pb_active
  - wpas_dpp_remove_pb_hash
  - wpas_dpp_rx_conf_result
  - wpas_dpp_rx_conn_status_result
  - wpas_dpp_process_conf_obj
  - wpas_dpp_tcp_msg_sent
  - wpas_dpp_remove_bi
  - wpas_dpp_rx_presence_announcement
  - wpas_dpp_reconfig_reply_wait_timeout
  - wpas_dpp_rx_reconfig_announcement
  - wpas_dpp_rx_reconfig_auth_req
  - wpas_dpp_rx_reconfig_auth_resp
  - wpas_dpp_rx_reconfig_auth_conf
  - wpas_dpp_rx_peer_disc_resp
  - wpas_dpp_allow_ir
  - wpas_dpp_pkex_next_channel
  - wpas_dpp_pkex_clear_code
  - wpas_dpp_pkex_done
  - wpas_dpp_pkex_init
  - wpas_dpp_pkex_retry_timeout
  - wpas_dpp_tx_pkex_status
  - wpas_dpp_rx_pkex_exchange_req
  - wpas_dpp_rx_pkex_exchange_resp
  - wpas_dpp_pkex_finish
  - wpas_dpp_rx_pkex_commit_reveal_req
  - wpas_dpp_rx_pkex_commit_reveal_resp
  - wpas_dpp_pb_pkex_init
  - wpas_dpp_rx_pb_presence_announcement
  - wpas_dpp_rx_pb_presence_announcement_resp
  - wpas_dpp_tx_priv_intro_status
  - wpas_dpp_send_private_peer_intro_update
  - wpas_dpp_rx_priv_peer_intro_notify
  - wpas_dpp_rx_action
  - wpas_dpp_gas_initial_resp_timeout
  - wpas_dpp_gas_req_handler
  - wpas_dpp_gas_status_handler
  - wpas_dpp_configurator_sign
  - wpas_dpp_tx_introduction_status
  - wpas_dpp_start_private_peer_intro
  - wpas_dpp_check_connect
  - wpas_dpp_pkex_add
  - wpas_dpp_pkex_remove
  - wpas_dpp_stop
  - wpas_dpp_init
  - wpas_dpp_deinit
  - wpas_dpp_build_conf_resp
  - wpas_dpp_conf_set
  - wpas_dpp_controller_start
  - wpas_dpp_chirp_timeout
  - wpas_dpp_chirp_tx_status
  - wpas_dpp_chirp_start
  - wpas_dpp_presence_ann_channels
  - wpas_dpp_chirp_scan_res_handler
  - wpas_dpp_chirp_next
  - wpas_dpp_chirp
  - wpas_dpp_chirp_stop
  - wpas_dpp_reconfig
  - wpas_dpp_ca_set
  - wpas_dpp_pb_tx_status
  - wpas_dpp_pb_announce
  - wpas_dpp_pb_next
  - wpas_dpp_push_button_expire
  - wpas_dpp_push_button_configurator
  - wpas_dpp_pb_scan_res_handler
  - wpas_dpp_push_button
  - wpas_dpp_push_button_stop
  source_file: /src/hostap/wpa_supplicant/dpp_supplicant.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DPP_PB_ANNOUNCE_PER_CHAN
      pos:
        line_end: 5540
        line_start: 5539
        source_file: /src/hostap/wpa_supplicant/dpp_supplicant.c
      type_or_value: '3'
    structs:
    - fields:
      - name: freq
        type: unsigned int
      - name: duration
        type: unsigned int
      - name: '*probe_resp_ie'
        type: struct wpabuf
      item_type: struct
      name: wpas_dpp_listen_work
      pos:
        line_end: 992
        line_start: 988
        source_file: /src/hostap/wpa_supplicant/dpp_supplicant.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/wpa_supplicant/wifi_display.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - usage
  - wpa_cli_show_event
  - wpa_cli_open_connection
  - wpa_cli_close_connection
  - wpa_cli_msg_cb
  - _wpa_ctrl_command
  - wpa_ctrl_command
  - wpa_cli_cmd
  - wpa_cli_cmd_ifname
  - wpa_cli_cmd_status
  - wpa_cli_cmd_ping
  - wpa_cli_cmd_relog
  - wpa_cli_cmd_note
  - wpa_cli_cmd_mib
  - wpa_cli_cmd_pmksa
  - wpa_cli_cmd_pmksa_flush
  - wpa_cli_cmd_pmksa_get
  - wpa_cli_cmd_pmksa_add
  - wpa_cli_mesh_cmd_pmksa_get
  - wpa_cli_mesh_cmd_pmksa_add
  - wpa_cli_cmd_help
  - wpa_cli_complete_help
  - wpa_cli_cmd_license
  - wpa_cli_cmd_quit
  - wpa_cli_cmd_mlo_status
  - wpa_cli_cmd_mlo_signal_poll
  - wpa_cli_cmd_setup_link_reconfig
  - wpa_cli_cmd_set
  - wpa_cli_complete_set
  - wpa_cli_cmd_dump
  - wpa_cli_cmd_driver_flags
  - wpa_cli_cmd_driver_flags2
  - wpa_cli_cmd_get
  - wpa_cli_complete_get
  - wpa_cli_cmd_logoff
  - wpa_cli_cmd_logon
  - wpa_cli_cmd_reassociate
  - wpa_cli_cmd_reattach
  - wpa_cli_cmd_preauthenticate
  - wpa_cli_cmd_ap_scan
  - wpa_cli_cmd_scan_interval
  - wpa_cli_cmd_bss_expire_age
  - wpa_cli_cmd_bss_expire_count
  - wpa_cli_cmd_bss_flush
  - wpa_cli_cmd_ft_ds
  - wpa_cli_cmd_wps_pbc
  - wpa_cli_cmd_wps_pin
  - wpa_cli_cmd_wps_check_pin
  - wpa_cli_cmd_wps_cancel
  - wpa_cli_cmd_wps_nfc
  - wpa_cli_cmd_wps_nfc_config_token
  - wpa_cli_cmd_wps_nfc_token
  - wpa_cli_cmd_wps_nfc_tag_read
  - wpa_cli_cmd_nfc_get_handover_req
  - wpa_cli_cmd_nfc_get_handover_sel
  - wpa_cli_cmd_nfc_report_handover
  - wpa_cli_cmd_wps_reg
  - wpa_cli_cmd_wps_ap_pin
  - wpa_cli_cmd_wps_er_start
  - wpa_cli_cmd_wps_er_stop
  - wpa_cli_cmd_wps_er_pin
  - wpa_cli_cmd_wps_er_pbc
  - wpa_cli_cmd_wps_er_learn
  - wpa_cli_cmd_wps_er_set_config
  - wpa_cli_cmd_wps_er_config
  - wpa_cli_cmd_wps_er_nfc_config_token
  - wpa_cli_cmd_ibss_rsn
  - wpa_cli_cmd_level
  - wpa_cli_cmd_identity
  - wpa_cli_cmd_password
  - wpa_cli_cmd_new_password
  - wpa_cli_cmd_pin
  - wpa_cli_cmd_otp
  - wpa_cli_cmd_sim
  - wpa_cli_cmd_psk_passphrase
  - wpa_cli_cmd_passphrase
  - wpa_cli_cmd_bssid
  - wpa_cli_cmd_bssid_ignore
  - wpa_cli_cmd_log_level
  - wpa_cli_cmd_list_networks
  - wpa_cli_cmd_select_network
  - wpa_cli_cmd_enable_network
  - wpa_cli_cmd_disable_network
  - wpa_cli_cmd_add_network
  - wpa_cli_cmd_remove_network
  - wpa_cli_show_network_variables
  - wpa_cli_cmd_set_network
  - wpa_cli_cmd_get_network
  - wpa_cli_complete_network
  - wpa_cli_complete_network_id
  - wpa_cli_cmd_dup_network
  - wpa_cli_complete_dup_network
  - wpa_cli_cmd_list_creds
  - wpa_cli_cmd_add_cred
  - wpa_cli_cmd_remove_cred
  - wpa_cli_complete_cred
  - wpa_cli_cmd_set_cred
  - wpa_cli_cmd_get_cred
  - wpa_cli_cmd_disconnect
  - wpa_cli_cmd_reconnect
  - wpa_cli_cmd_save_config
  - wpa_cli_cmd_scan
  - wpa_cli_cmd_scan_results
  - wpa_cli_cmd_abort_scan
  - wpa_cli_cmd_bss
  - wpa_cli_complete_bss
  - wpa_cli_cmd_get_capability
  - wpa_cli_complete_get_capability
  - wpa_cli_list_interfaces
  - wpa_cli_cmd_interface
  - wpa_cli_cmd_reconfigure
  - wpa_cli_cmd_terminate
  - wpa_cli_cmd_interface_add
  - wpa_cli_cmd_interface_remove
  - wpa_cli_cmd_interface_list
  - wpa_cli_cmd_sta
  - wpa_cli_complete_sta
  - wpa_ctrl_command_sta
  - wpa_cli_cmd_all_sta
  - wpa_cli_cmd_list_sta
  - wpa_cli_cmd_deauthenticate
  - wpa_cli_complete_deauthenticate
  - wpa_cli_cmd_disassociate
  - wpa_cli_complete_disassociate
  - wpa_cli_cmd_chanswitch
  - wpa_cli_cmd_update_beacon
  - wpa_cli_cmd_accept_macacl
  - wpa_cli_cmd_deny_macacl
  - wpa_cli_cmd_suspend
  - wpa_cli_cmd_resume
  - wpa_cli_cmd_drop_sa
  - wpa_cli_cmd_ml_probe_req
  - wpa_cli_cmd_roam
  - wpa_cli_cmd_mesh_interface_add
  - wpa_cli_cmd_mesh_group_add
  - wpa_cli_cmd_mesh_group_remove
  - wpa_cli_cmd_mesh_peer_remove
  - wpa_cli_cmd_mesh_peer_add
  - wpa_cli_cmd_mesh_link_probe
  - wpa_cli_cmd_p2p_find
  - wpa_cli_complete_p2p_find
  - wpa_cli_cmd_p2p_stop_find
  - wpa_cli_cmd_p2p_asp_provision
  - wpa_cli_cmd_p2p_asp_provision_resp
  - wpa_cli_cmd_p2p_connect
  - wpa_cli_complete_p2p_connect
  - wpa_cli_cmd_p2p_listen
  - wpa_cli_cmd_p2p_group_remove
  - wpa_cli_complete_p2p_group_remove
  - wpa_cli_cmd_p2p_group_add
  - wpa_cli_cmd_p2p_group_member
  - wpa_cli_cmd_p2p_prov_disc
  - wpa_cli_cmd_p2p_get_passphrase
  - wpa_cli_cmd_p2p_serv_disc_req
  - wpa_cli_cmd_p2p_serv_disc_cancel_req
  - wpa_cli_cmd_p2p_serv_disc_resp
  - wpa_cli_cmd_p2p_service_update
  - wpa_cli_cmd_p2p_serv_disc_external
  - wpa_cli_cmd_p2p_service_flush
  - wpa_cli_cmd_p2p_service_add
  - wpa_cli_cmd_p2p_service_rep
  - wpa_cli_cmd_p2p_service_del
  - wpa_cli_cmd_p2p_reject
  - wpa_cli_cmd_p2p_invite
  - wpa_cli_cmd_p2p_peer
  - wpa_cli_complete_p2p_peer
  - wpa_ctrl_command_p2p_peer
  - wpa_cli_cmd_p2p_peers
  - wpa_cli_cmd_p2p_set
  - wpa_cli_complete_p2p_set
  - wpa_cli_cmd_p2p_flush
  - wpa_cli_cmd_p2p_cancel
  - wpa_cli_cmd_p2p_unauthorize
  - wpa_cli_cmd_p2p_presence_req
  - wpa_cli_cmd_p2p_ext_listen
  - wpa_cli_cmd_p2p_remove_client
  - wpa_cli_cmd_vendor_elem_add
  - wpa_cli_cmd_vendor_elem_get
  - wpa_cli_cmd_vendor_elem_remove
  - wpa_cli_cmd_wfd_subelem_set
  - wpa_cli_cmd_wfd_subelem_get
  - wpa_cli_cmd_fetch_anqp
  - wpa_cli_cmd_stop_fetch_anqp
  - wpa_cli_cmd_interworking_select
  - wpa_cli_cmd_interworking_connect
  - wpa_cli_cmd_interworking_add_network
  - wpa_cli_cmd_anqp_get
  - wpa_cli_cmd_gas_request
  - wpa_cli_cmd_gas_response_get
  - wpa_cli_cmd_hs20_anqp_get
  - wpa_cli_cmd_get_nai_home_realm_list
  - wpa_cli_cmd_sta_autoconnect
  - wpa_cli_cmd_tdls_discover
  - wpa_cli_cmd_tdls_setup
  - wpa_cli_cmd_tdls_teardown
  - wpa_cli_cmd_tdls_link_status
  - wpa_cli_cmd_wmm_ac_addts
  - wpa_cli_cmd_wmm_ac_delts
  - wpa_cli_cmd_wmm_ac_status
  - wpa_cli_cmd_tdls_chan_switch
  - wpa_cli_cmd_tdls_cancel_chan_switch
  - wpa_cli_cmd_signal_poll
  - wpa_cli_cmd_signal_monitor
  - wpa_cli_cmd_pktcnt_poll
  - wpa_cli_cmd_reauthenticate
  - wpa_cli_cmd_autoscan
  - wpa_cli_cmd_wnm_sleep
  - wpa_cli_cmd_wnm_bss_query
  - wpa_cli_cmd_disassoc_imminent
  - wpa_cli_cmd_ess_disassoc
  - wpa_cli_cmd_bss_tm_req
  - wpa_cli_cmd_raw
  - wpa_cli_cmd_driver
  - wpa_cli_cmd_vendor
  - wpa_cli_cmd_flush
  - wpa_cli_cmd_radio_work
  - wpa_cli_cmd_neighbor_rep_request
  - wpa_cli_cmd_twt_setup
  - wpa_cli_cmd_twt_teardown
  - wpa_cli_cmd_erp_flush
  - wpa_cli_cmd_mac_rand_scan
  - wpa_cli_cmd_get_pref_freq_list
  - wpa_cli_cmd_p2p_lo_start
  - wpa_cli_cmd_p2p_lo_stop
  - wpa_cli_cmd_dpp_qr_code
  - wpa_cli_cmd_dpp_bootstrap_gen
  - wpa_cli_cmd_dpp_bootstrap_remove
  - wpa_cli_cmd_dpp_bootstrap_get_uri
  - wpa_cli_cmd_dpp_bootstrap_info
  - wpa_cli_cmd_dpp_bootstrap_set
  - wpa_cli_cmd_dpp_auth_init
  - wpa_cli_cmd_dpp_listen
  - wpa_cli_cmd_dpp_stop_listen
  - wpa_cli_cmd_dpp_configurator_add
  - wpa_cli_cmd_dpp_configurator_remove
  - wpa_cli_cmd_dpp_configurator_get_key
  - wpa_cli_cmd_dpp_configurator_sign
  - wpa_cli_cmd_dpp_pkex_add
  - wpa_cli_cmd_dpp_pkex_remove
  - wpa_cli_cmd_dpp_controller_start
  - wpa_cli_cmd_dpp_controller_stop
  - wpa_cli_cmd_dpp_chirp
  - wpa_cli_cmd_dpp_stop_chirp
  - wpa_cli_cmd_dpp_push_button
  - wpa_ctrl_command_bss
  - wpa_cli_cmd_all_bss
  - wpa_cli_cmd_pasn_start
  - wpa_cli_cmd_pasn_stop
  - wpa_cli_cmd_ptksa_cache_list
  - wpa_cli_cmd_pasn_deauth
  - wpa_cli_cmd_pr_pasn_start
  - wpa_cli_cmd_pr_set_dik_context
  - wpa_cli_cmd_pr_clear_dik_context
  - wpa_cli_cmd_pr_ranging_abort
  - wpa_cli_cmd_mscs
  - wpa_cli_cmd_scs
  - wpa_cli_cmd_dscp_resp
  - wpa_cli_cmd_dscp_query
  - wpa_cli_cmd_nan_publish
  - wpa_cli_cmd_nan_cancel_publish
  - wpa_cli_cmd_nan_update_publish
  - wpa_cli_cmd_nan_subscribe
  - wpa_cli_cmd_nan_cancel_subscribe
  - wpa_cli_cmd_nan_transmit
  - wpa_cli_cmd_nan_flush
  - wpa_cli_cmd_nan_start
  - wpa_cli_cmd_nan_stop
  - wpa_cli_cmd_nan_set
  - wpa_cli_cmd_nan_update_conf
  - wpa_cli_cmd_nan_sched_config_map
  - wpa_cli_cmd_nan_ndp_request
  - wpa_cli_cmd_nan_ndp_response
  - wpa_cli_cmd_nan_ndp_terminate
  - wpa_cli_cmd_nan_peer_info
  - wpa_cli_cmd_nan_status
  - wpa_cli_cmd_nan_bootstrap
  - wpa_cli_cmd_nan_bootstrap_reset
  - wpa_cli_cmd_nan_pair
  - wpa_cli_cmd_nan_pair_abort
  - wpa_cli_cmd_generate_new_mac
  - print_cmd_help
  - print_help
  - wpa_cli_edit_filter_history_cb
  - wpa_list_cmd_list
  - wpa_cli_cmd_completion
  - wpa_cli_edit_completion_cb
  - wpa_request
  - wpa_cli_exec
  - wpa_cli_action_process
  - wpa_cli_action_cb
  - wpa_cli_open_global_ctrl
  - wpa_cli_reconnect
  - cli_event
  - check_terminating
  - wpa_cli_recv_pending
  - wpa_cli_ping
  - wpa_cli_mon_receive
  - wpa_cli_edit_cmd_cb
  - wpa_cli_edit_eof_cb
  - start_edit
  - update_bssid_list
  - update_ifnames
  - update_creds
  - update_networks
  - update_stations
  - try_connection
  - wpa_cli_interactive
  - wpa_cli_action_ping
  - wpa_cli_action_receive
  - wpa_cli_action
  - wpa_cli_cleanup
  - wpa_cli_terminate
  - wpa_cli_get_default_ifname
  - main
  - main
  source_file: /src/hostap/wpa_supplicant/wpa_cli.c
  types:
    enum:
    - enumerators:
      - name: cli_cmd_flag_none
        value: '0x00'
      - name: cli_cmd_flag_sensitive
        value: '0x01'
      item_type: enum
      name: wpa_cli_cmd_flags
      pos:
        line_end: 3515
        line_start: 3512
        source_file: /src/hostap/wpa_supplicant/wpa_cli.c
    preproc_defs:
    - item_type: preproc_def
      name: VENDOR_ELEM_FRAME_ID
      pos:
        line_end: 38
        line_start: 33
        source_file: /src/hostap/wpa_supplicant/wpa_cli.c
      type_or_value: "\"  0: Probe Req (P2P), 1: Probe Resp (P2P) , 2: Probe Resp
        (GO), \" \\\n\t\"3: Beacon (GO), 4: PD Req, 5: PD Resp, 6: GO Neg Req, \"
        \\\n\t\"7: GO Neg Resp, 8: GO Neg Conf, 9: Inv Req, 10: Inv Resp, \" \\\n\t\"11:
        Assoc Req (P2P), 12: Assoc Resp (P2P)\""
    - item_type: preproc_def
      name: CONFIG_CTRL_IFACE_DIR
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/hostap/wpa_supplicant/wpa_cli.c
      type_or_value: '"/var/run/wpa_supplicant"'
    structs:
    - fields:
      - name: '*cmd'
        type: char
      - name: (*handler)(struct wpa_ctrl *ctrl, int argc, char *argv[])
        type: int
      - name: '** (*completion)(const char *str, int pos)'
        type: char
      - name: flags
        type: enum wpa_cli_cmd_flags
      - name: '*usage'
        type: char
      item_type: struct
      name: wpa_cli_cmd
      pos:
        line_end: 3523
        line_start: 3517
        source_file: /src/hostap/wpa_supplicant/wpa_cli.c
    typedefs: []
    union: []
- function_names:
  - ieee80211_11_get_tfs_ie
  - ieee80211_11_set_tfs_ie
  - ieee802_11_send_wnmsleep_req
  - wnm_sleep_mode_enter_success
  - wnm_sleep_mode_exit_success
  - ieee802_11_rx_wnmsleep_resp
  - wnm_btm_reset
  - wnm_parse_neighbor_report_multi_link
  - wnm_parse_neighbor_report_elem
  - wnm_nei_get_chan
  - wnm_parse_neighbor_report
  - fetch_drv_mbo_candidate_info
  - wpa_bss_ies_eq
  - wnm_get_bss_info
  - wnm_add_nei_rep
  - wnm_nei_rep_add_bss
  - wnm_add_cand_list
  - wnm_send_bss_transition_mgmt_resp
  - wnm_bss_tm_connect
  - wnm_scan_process
  - cand_pref_compar
  - wnm_sort_cand_list
  - wnm_dump_cand_list
  - chan_supported
  - wnm_set_scan_freqs
  - wnm_parse_candidate_list
  - ieee802_11_rx_bss_trans_mgmt_req
  - wnm_btm_resp_tx_status
  - wnm_send_bss_transition_mgmt_query
  - ieee802_11_rx_wnm_notif_req_wfa
  - ieee802_11_rx_wnm_notif_req
  - ieee802_11_rx_wnm_coloc_intf_req
  - ieee802_11_rx_wnm_action
  - wnm_send_coloc_intf_report
  - wnm_set_coloc_intf_elems
  - wnm_clear_coloc_intf_reporting
  - wnm_is_bss_excluded
  source_file: /src/hostap/wpa_supplicant/wnm_sta.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_TFS_IE_LEN
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/hostap/wpa_supplicant/wnm_sta.c
      type_or_value: '1024'
    - item_type: preproc_def
      name: WNM_MAX_NEIGHBOR_REPORT
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/hostap/wpa_supplicant/wnm_sta.c
      type_or_value: '10'
    - item_type: preproc_def
      name: BTM_RESP_MIN_SIZE
      pos:
        line_end: 985
        line_start: 984
        source_file: /src/hostap/wpa_supplicant/wnm_sta.c
      type_or_value: 5 + ETH_ALEN
    - item_type: preproc_def
      name: BTM_QUERY_MIN_SIZE
      pos:
        line_end: 1790
        line_start: 1789
        source_file: /src/hostap/wpa_supplicant/wnm_sta.c
      type_or_value: '4'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mesh_mpm_parse_peer_mgmt
  - plink_free_count
  - copy_supp_rates
  - matches_local
  - llid_in_use
  - mesh_mpm_init_link
  - mesh_mpm_send_plink_action
  - wpa_mesh_set_plink_state
  - mesh_mpm_fsm_restart
  - plink_timer
  - mesh_mpm_plink_open
  - mesh_mpm_plink_close
  - mesh_mpm_close_peer
  - peer_add_timer
  - mesh_mpm_connect_peer
  - mesh_mpm_deinit
  - mesh_mpm_auth_peer
  - mesh_mpm_add_peer
  - wpa_mesh_new_mesh_peer
  - mesh_mpm_mgmt_rx
  - mesh_mpm_plink_estab
  - mesh_mpm_fsm
  - mesh_mpm_action_rx
  - mesh_mpm_free_sta
  source_file: /src/hostap/wpa_supplicant/mesh_mpm.c
  types:
    enum:
    - enumerators:
      - name: PLINK_UNDEFINED
      - name: OPN_ACPT
      - name: OPN_RJCT
      - name: CNF_RJCT
      - name: CNF_ACPT
      - name: CLS_ACPT
      - name: REQ_RJCT
      item_type: enum
      name: plink_event
      pos:
        line_end: 45
        line_start: 37
        source_file: /src/hostap/wpa_supplicant/mesh_mpm.c
    preproc_defs: []
    structs:
    - fields:
      - name: '*proto_id'
        type: u8
      - name: '*llid'
        type: u8
      - name: '*plid'
        type: u8
      - name: '*reason'
        type: u8
      - name: '*chosen_pmk'
        type: u8
      item_type: struct
      name: mesh_peer_mgmt_ie
      pos:
        line_end: 32
        line_start: 26
        source_file: /src/hostap/wpa_supplicant/mesh_mpm.c
    typedefs: []
    union: []
- function_names:
  - wpas_ctrl_sock_debug
  - wpa_supplicant_ctrl_iface_attach
  - wpa_supplicant_ctrl_iface_detach
  - wpa_supplicant_ctrl_iface_level
  - wpa_supplicant_ctrl_iface_receive
  - wpa_supplicant_ctrl_iface_path
  - wpas_ctrl_iface_throttle
  - wpas_ctrl_msg_send_pending_global
  - wpas_ctrl_msg_send_pending_iface
  - wpas_ctrl_msg_queue_timeout
  - wpas_ctrl_msg_queue
  - wpas_ctrl_msg_queue_limit
  - wpa_supplicant_ctrl_iface_msg_cb
  - wpas_ctrl_iface_open_sock
  - wpa_supplicant_ctrl_iface_init
  - wpas_ctrl_iface_reinit
  - wpas_global_ctrl_iface_flush_queued_msg
  - wpa_supplicant_ctrl_iface_deinit
  - wpa_supplicant_ctrl_iface_send
  - dl_list_for_each_safe
  - wpa_supplicant_ctrl_iface_wait
  - wpa_supplicant_global_ctrl_iface_receive
  - wpas_global_ctrl_iface_open_sock
  - wpa_supplicant_global_ctrl_iface_init
  - wpas_ctrl_iface_global_reinit
  - wpa_supplicant_global_ctrl_iface_deinit
  source_file: /src/hostap/wpa_supplicant/ctrl_iface_unix.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CONFIG_CTRL_IFACE_MSG_QUEUE_LIMIT
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/hostap/wpa_supplicant/ctrl_iface_unix.c
      type_or_value: '2000'
    structs:
    - fields:
      - name: '*wpa_s'
        type: struct wpa_supplicant
      - name: sock
        type: int
      - name: ctrl_dst
        type: struct dl_list
      - name: android_control_socket
        type: int
      - name: msg_queue
        type: struct dl_list
      - name: throttle_count
        type: unsigned int
      item_type: struct
      name: ctrl_iface_priv
      pos:
        line_end: 44
        line_start: 37
        source_file: /src/hostap/wpa_supplicant/ctrl_iface_unix.c
    - fields:
      - name: '*global'
        type: struct wpa_global
      - name: sock
        type: int
      - name: ctrl_dst
        type: struct dl_list
      - name: android_control_socket
        type: int
      - name: msg_queue
        type: struct dl_list
      - name: throttle_count
        type: unsigned int
      item_type: struct
      name: ctrl_iface_global_priv
      pos:
        line_end: 54
        line_start: 47
        source_file: /src/hostap/wpa_supplicant/ctrl_iface_unix.c
    - fields:
      - name: list
        type: struct dl_list
      - name: '*wpa_s'
        type: struct wpa_supplicant
      - name: level
        type: int
      - name: type
        type: enum wpa_msg_type
      - name: '*txt'
        type: char
      - name: len
        type: size_t
      item_type: struct
      name: ctrl_iface_msg
      pos:
        line_end: 63
        line_start: 56
        source_file: /src/hostap/wpa_supplicant/ctrl_iface_unix.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/wpa_supplicant/wpa_gui-qt4/userdatarequest.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - NetworkConfig::NetworkConfig
  - NetworkConfig::~NetworkConfig()
  - NetworkConfig::languageChange
  - NetworkConfig::paramsFromScanResults
  - NetworkConfig::authChanged
  - NetworkConfig::eapChanged
  - NetworkConfig::addNetwork
  - NetworkConfig::setWpaGui
  - NetworkConfig::setNetworkParam
  - NetworkConfig::encrChanged
  - NetworkConfig::wepEnabled
  - NetworkConfig::writeWepKey
  - key_value_isset
  - NetworkConfig::paramsFromConfig
  - NetworkConfig::removeNetwork
  - NetworkConfig::newNetwork
  - NetworkConfig::getEapCapa
  - NetworkConfig::useWps
  source_file: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: WPA_GUI_KEY_DATA
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/hostap/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp
      type_or_value: '"[key is configured]"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - Peers::Peers
  - Peers::setWpaGui
  - Peers::~Peers()
  - Peers::languageChange
  - Peers::ItemType
  - Peers::context_menu
  - Peers::enter_pin
  - Peers::ctx_refresh
  - Peers::ctx_p2p_start
  - Peers::ctx_p2p_stop
  - Peers::ctx_p2p_listen
  - Peers::ctx_p2p_start_group
  - Peers::add_station
  - Peers::add_stations
  - Peers::add_single_station
  - Peers::add_p2p_group_client
  - Peers::remove_bss
  - Peers::add_bss
  - Peers::add_scan_results
  - Peers::add_persistent
  - Peers::add_persistent_groups
  - Peers::update_peers
  - Peers::find_addr
  - Peers::find_addr_type
  - Peers::find_uuid
  - Peers::event_notify
  - Peers::ctx_p2p_connect
  - Peers::ctx_p2p_req_pin
  - Peers::ctx_p2p_show_pin
  - Peers::ctx_p2p_display_pin
  - Peers::ctx_p2p_display_pin_pd
  - Peers::ctx_p2p_enter_pin
  - Peers::ctx_p2p_remove_group
  - Peers::closeEvent
  - Peers::done
  - Peers::remove_enrollee_uuid
  - Peers::properties
  - Peers::connect_pbc
  - Peers::learn_ap_config
  - Peers::ctx_hide_ap
  - Peers::ctx_show_ap
  - Peers::ctx_p2p_show_passphrase
  - Peers::ctx_p2p_start_persistent
  - Peers::ctx_p2p_invite
  - Peers::ctx_p2p_delete
  - Peers::enable_persistent
  source_file: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp
  types:
    enum:
    - enumerators:
      - name: SEL_METHOD_NONE
      - name: SEL_METHOD_PIN_LOCAL_DISPLAY
      - name: SEL_METHOD_PIN_PEER_DISPLAY
      item_type: enum
      name: selected_method
      pos:
        line_end: 39
        line_start: 35
        source_file: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp
    - enumerators:
      - name: PEER_TYPE_ASSOCIATED_STATION
      - name: PEER_TYPE_AP_WPS
      - name: PEER_TYPE_P2P
      - name: PEER_TYPE_AP
      - name: PEER_TYPE_WPS_PIN_NEEDED
      - name: PEER_TYPE_P2P_CLIENT
      - name: PEER_TYPE_P2P_GROUP
      - name: PEER_TYPE_P2P_PERSISTENT_GROUP_GO
      - name: PEER_TYPE_P2P_PERSISTENT_GROUP_CLIENT
      - name: PEER_TYPE_P2P_INVITATION
      - name: PEER_TYPE_WPS_ER_ENROLLEE
      - name: PEER_TYPE_WPS_ENROLLEE
      - name: PEER_TYPE_WPS_ER_AP
      - name: PEER_TYPE_WPS_ER_AP_UNCONFIGURED
      item_type: enum
      name: peer_type
      pos:
        line_end: 61
        line_start: 46
        source_file: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.cpp
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ScanResultsItem::ScanResultsItem
  source_file: /src/hostap/wpa_supplicant/wpa_gui-qt4/scanresultsitem.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - EventListModel::public
  source_file: /src/hostap/wpa_supplicant/wpa_gui-qt4/eventhistory.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ScanResultsItem::operator< (const QTreeWidgetItem &other) const
  source_file: /src/hostap/wpa_supplicant/wpa_gui-qt4/scanresultsitem.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/wpa_supplicant/wpa_gui-qt4/signalbar.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ScanResults::ScanResults
  - ScanResults::~ScanResults()
  - ScanResults::languageChange
  - ScanResults::setWpaGui
  - ScanResults::updateResults
  - ScanResults::scanRequest
  - ScanResults::getResults
  - ScanResults::bssSelected
  source_file: /src/hostap/wpa_supplicant/wpa_gui-qt4/scanresults.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/wpa_supplicant/wpa_gui-qt4/peers.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - AddInterface::AddInterface
  - AddInterface::addInterfaces
  - AddInterface::addRegistryInterface
  - AddInterface::interfaceSelected
  source_file: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: WPA_KEY_ROOT
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp
      type_or_value: HKEY_LOCAL_MACHINE
    - item_type: preproc_def
      name: WPA_KEY_PREFIX
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.cpp
      type_or_value: TEXT("SOFTWARE\\wpa_supplicant")
    structs: []
    typedefs: []
    union: []
- function_names:
  - EventListModel::rowCount
  - EventListModel::columnCount
  - EventListModel::data
  - EventListModel::headerData
  - EventListModel::addEvent
  - EventHistory::EventHistory
  - EventHistory::~EventHistory()
  - EventHistory::languageChange
  - EventHistory::addEvents
  - EventHistory::addEvent
  source_file: /src/hostap/wpa_supplicant/wpa_gui-qt4/eventhistory.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - SignalBar::SignalBar
  - SignalBar::~SignalBar()
  - SignalBar::paint
  source_file: /src/hostap/wpa_supplicant/wpa_gui-qt4/signalbar.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - debug
  - debug
  - WpaGui::WpaGui
  - WpaGui::~WpaGui()
  - WpaGui::languageChange
  - WpaGui::parse_argv
  - WpaGui::openCtrlConnection
  - WpaGui::ctrlRequest
  - WpaGui::wpaStateTranslate
  - WpaGui::updateStatus
  - WpaGui::updateNetworks
  - WpaGui::helpIndex
  - WpaGui::helpContents
  - WpaGui::helpAbout
  - WpaGui::disconnect
  - WpaGui::scan
  - WpaGui::eventHistory
  - WpaGui::ping
  - WpaGui::signalMeterUpdate
  - str_match
  - WpaGui::processMsg
  - WpaGui::processCtrlReq
  - WpaGui::receiveMsgs
  - WpaGui::connectB
  - WpaGui::selectNetwork
  - WpaGui::enableNetwork
  - WpaGui::disableNetwork
  - WpaGui::editNetwork
  - WpaGui::editSelectedNetwork
  - WpaGui::editListedNetwork
  - WpaGui::triggerUpdate
  - WpaGui::addNetwork
  - WpaGui::removeNetwork
  - WpaGui::removeSelectedNetwork
  - WpaGui::removeListedNetwork
  - WpaGui::enableAllNetworks
  - WpaGui::disableAllNetworks
  - WpaGui::removeAllNetworks
  - WpaGui::getNetworkDisabled
  - WpaGui::updateNetworkDisabledStatus
  - WpaGui::enableListedNetwork
  - WpaGui::disableListedNetwork
  - WpaGui::saveConfig
  - WpaGui::selectAdapter
  - WpaGui::createTrayIcon
  - WpaGui::showTrayMessage
  - WpaGui::trayActivated
  - WpaGui::showTrayStatus
  - WpaGui::updateTrayToolTip
  - WpaGui::updateTrayIcon
  - WpaGui::loadThemedIcon
  - WpaGui::closeEvent
  - WpaGui::wpsDialog
  - WpaGui::peersDialog
  - WpaGui::tabChanged
  - WpaGui::wpsPbc
  - WpaGui::wpsGeneratePin
  - WpaGui::setBssFromScan
  - WpaGui::wpsApPinChanged
  - WpaGui::wpsApPin
  - WpaGui::stopWpsRun
  - ErrorMsg::ErrorMsg
  - ErrorMsg::showMsg
  - WpaGui::startService
  - WpaGui::stopService
  - WpaGui::serviceRunning
  - WpaGui::addInterface
  - WpaGui::saveState
  source_file: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: WPASVC_NAME
      pos:
        line_end: 1766
        line_start: 1765
        source_file: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.cpp
      type_or_value: TEXT("wpasvc")
    structs: []
    typedefs: []
    union: []
- function_names:
  - WpaGuiApp::WpaGuiApp
  - WpaGuiApp::saveState
  - main
  source_file: /src/hostap/wpa_supplicant/wpa_gui-qt4/main.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - UserDataRequest::UserDataRequest
  - UserDataRequest::~UserDataRequest()
  - UserDataRequest::languageChange
  - UserDataRequest::setParams
  - UserDataRequest::sendReply
  source_file: /src/hostap/wpa_supplicant/wpa_gui-qt4/userdatarequest.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/wpa_supplicant/wpa_gui-qt4/stringquery.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - WpaMsg::WpaMsg
  - WpaMsg::getMsg
  - WpaMsg::getPriority
  - WpaMsg::getTimestamp
  source_file: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpamsg.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: WpaMsgList
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpamsg.h
      type: QList
    union: []
- function_names: []
  source_file: /src/hostap/wpa_supplicant/wpa_gui-qt4/addinterface.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/wpa_supplicant/wpa_gui-qt4/scanresults.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - StringQuery::StringQuery
  - StringQuery::get_string
  source_file: /src/hostap/wpa_supplicant/wpa_gui-qt4/stringquery.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/wpa_supplicant/wpa_gui-qt4/wpagui.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - wpa_supplicant_binder::Supplicant::Supplicant
  - wpa_supplicant_binder::Supplicant::CreateInterface
  - wpa_supplicant_binder::Supplicant::RemoveInterface
  - wpa_supplicant_binder::Supplicant::GetInterface
  - wpa_supplicant_binder::Supplicant::Supplicant
  - wpa_supplicant_binder::Supplicant::CreateInterface
  - wpa_supplicant_binder::Supplicant::RemoveInterface
  - wpa_supplicant_binder::Supplicant::GetInterface
  source_file: /src/hostap/wpa_supplicant/binder/supplicant.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ~Supplicant()
  - ~Supplicant()
  source_file: /src/hostap/wpa_supplicant/binder/supplicant.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - wpa_supplicant_binder::BinderManager::getInstance
  - wpa_supplicant_binder::BinderManager::destroyInstance
  - wpa_supplicant_binder::BinderManager::registerBinderService
  - wpa_supplicant_binder::BinderManager::registerInterface
  - wpa_supplicant_binder::BinderManager::unregisterInterface
  - wpa_supplicant_binder::BinderManager::getIfaceBinderObjectByKey
  - wpa_supplicant_binder::BinderManager::getInstance
  - wpa_supplicant_binder::BinderManager::destroyInstance
  - wpa_supplicant_binder::BinderManager::registerBinderService
  - wpa_supplicant_binder::BinderManager::registerInterface
  - wpa_supplicant_binder::BinderManager::unregisterInterface
  - wpa_supplicant_binder::BinderManager::getIfaceBinderObjectByKey
  source_file: /src/hostap/wpa_supplicant/binder/binder_manager.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - wpa_supplicant_binder::Iface::Iface
  - wpa_supplicant_binder::Iface::Iface
  source_file: /src/hostap/wpa_supplicant/binder/iface.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - wpas_binder_sock_handler
  - wpas_binder_init
  - wpas_binder_deinit
  - wpas_binder_register_interface
  - wpas_binder_unregister_interface
  source_file: /src/hostap/wpa_supplicant/binder/binder.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - wpas_binder_register_interface
  - wpas_binder_unregister_interface
  source_file: /src/hostap/wpa_supplicant/binder/binder.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - wpa_supplicant_binder::BinderManager::BinderManager
  - ~BinderManager()
  - wpa_supplicant_binder::BinderManager::BinderManager
  - ~BinderManager()
  source_file: /src/hostap/wpa_supplicant/binder/binder_manager.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/wpa_supplicant/binder/binder_constants.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/wpa_supplicant/binder/binder_i.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: binder_fd
        type: int
      - name: '*global'
        type: struct wpa_global
      - name: '*binder_manager'
        type: void
      item_type: struct
      name: wpas_binder_priv
      pos:
        line_end: 21
        line_start: 16
        source_file: /src/hostap/wpa_supplicant/binder/binder_i.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/wpa_supplicant/binder/binder_constants.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ~Iface()
  - ~Iface()
  source_file: /src/hostap/wpa_supplicant/binder/iface.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - DECLARE_ACCESSOR
  source_file: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.h
  types:
    enum:
    - enumerators:
      - name: ARG_IN
      - name: ARG_OUT
      item_type: enum
      name: dbus_arg_direction
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.h
    preproc_defs:
    - item_type: preproc_def
      name: END_ARGS
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.h
      type_or_value: '{ NULL, NULL, ARG_IN }'
    - item_type: preproc_def
      name: WPAS_DBUS_OBJECT_PATH_MAX
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.h
      type_or_value: '150'
    - item_type: preproc_def
      name: WPAS_DBUS_INTERFACE_MAX
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.h
      type_or_value: '150'
    - item_type: preproc_def
      name: WPAS_DBUS_METHOD_SIGNAL_PROP_MAX
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.h
      type_or_value: '50'
    - item_type: preproc_def
      name: WPAS_DBUS_AUTH_MODE_MAX
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.h
      type_or_value: '64'
    - item_type: preproc_def
      name: WPA_DBUS_INTROSPECTION_INTERFACE
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.h
      type_or_value: '"org.freedesktop.DBus.Introspectable"'
    - item_type: preproc_def
      name: WPA_DBUS_INTROSPECTION_METHOD
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.h
      type_or_value: '"Introspect"'
    - item_type: preproc_def
      name: WPA_DBUS_PROPERTIES_INTERFACE
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.h
      type_or_value: '"org.freedesktop.DBus.Properties"'
    - item_type: preproc_def
      name: WPA_DBUS_PROPERTIES_GET
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.h
      type_or_value: '"Get"'
    - item_type: preproc_def
      name: WPA_DBUS_PROPERTIES_SET
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.h
      type_or_value: '"Set"'
    - item_type: preproc_def
      name: WPA_DBUS_PROPERTIES_GETALL
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.h
      type_or_value: '"GetAll"'
    structs:
    - fields:
      - name: '*connection'
        type: DBusConnection
      - name: '*path'
        type: char
      - name: '*methods'
        type: struct wpa_dbus_method_desc
      - name: '*signals'
        type: struct wpa_dbus_signal_desc
      - name: '*properties'
        type: struct wpa_dbus_property_desc
      - name: '*prop_changed_flags'
        type: u8
      - name: '*user_data'
        type: void
      - name: user_data_free_func
        type: WPADBusArgumentFreeFunction
      item_type: struct
      name: wpa_dbus_object_desc
      pos:
        line_end: 45
        line_start: 28
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.h
    - fields:
      - name: '*name'
        type: char
      - name: '*type'
        type: char
      - name: dir
        type: enum dbus_arg_direction
      item_type: struct
      name: wpa_dbus_argument
      pos:
        line_end: 53
        line_start: 49
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.h
    - fields:
      - name: '*dbus_method'
        type: char
      - name: '*dbus_interface'
        type: char
      - name: method_handler
        type: WPADBusMethodHandler
      - name: args[4]
        type: struct wpa_dbus_argument
      item_type: struct
      name: wpa_dbus_method_desc
      pos:
        line_end: 69
        line_start: 60
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.h
    - fields:
      - name: '*dbus_signal'
        type: char
      - name: '*dbus_interface'
        type: char
      - name: args[4]
        type: struct wpa_dbus_argument
      item_type: struct
      name: wpa_dbus_signal_desc
      pos:
        line_end: 81
        line_start: 74
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.h
    - fields:
      - name: '*dbus_property'
        type: char
      - name: '*dbus_interface'
        type: char
      - name: '*type'
        type: char
      - name: getter
        type: WPADBusPropertyAccessor
      - name: setter
        type: WPADBusPropertyAccessor
      - name: '*data'
        type: char
      item_type: struct
      name: wpa_dbus_property_desc
      pos:
        line_end: 99
        line_start: 86
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.h
    typedefs:
    - item_type: typedef
      name: "* (*WPADBusMethodHandler)(DBusMessage *message,\n\t\t\t\t\t      void
        *user_data)"
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.h
      type: DBusMessage
    - item_type: typedef
      name: (*WPADBusArgumentFreeFunction)(void *handler_arg)
      pos:
        line_end: 18
        line_start: 18
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.h
      type: void
    - item_type: typedef
      name: "(*WPADBusPropertyAccessor)(\n\tconst struct wpa_dbus_property_desc *property_desc,\n\tDBusMessageIter
        *iter, DBusError *error, void *user_data)"
      pos:
        line_end: 23
        line_start: 21
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.h
      type: dbus_bool_t
    union: []
- function_names: []
  source_file: /src/hostap/wpa_supplicant/dbus/dbus_common_i.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*con'
        type: DBusConnection
      - name: should_dispatch
        type: int
      - name: '*global'
        type: struct wpa_global
      - name: next_objid
        type: u32
      - name: dbus_new_initialized
        type: int
      item_type: struct
      name: wpas_dbus_priv
      pos:
        line_end: 31
        line_start: 17
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_common_i.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*wpa_s'
        type: struct wpa_supplicant
      - name: p2p_device_addr[ETH_ALEN]
        type: u8
      item_type: struct
      name: peer_handler_args
      pos:
        line_end: 14
        line_start: 11
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.h
    typedefs: []
    union: []
- function_names:
  - wpas_dbus_register_interface
  - wpas_dbus_unregister_interface
  - wpas_dbus_signal_state_changed
  - wpas_dbus_signal_prop_changed
  - wpas_dbus_bss_signal_prop_changed
  - wpas_dbus_signal_network_enabled_changed
  - wpas_dbus_signal_network_selected
  - wpas_dbus_signal_network_request
  - wpas_dbus_signal_scan_done
  - wpas_dbus_signal_wps_cred
  - wpas_dbus_signal_wps_event_m2d
  - wpas_dbus_signal_wps_event_fail
  - wpas_dbus_signal_wps_event_success
  - wpas_dbus_signal_wps_event_pbc_overlap
  - wpas_dbus_register_network
  - wpas_dbus_unregister_network
  - wpas_dbus_unregister_bss
  - wpas_dbus_register_bss
  - wpas_dbus_unregister_sta
  - wpas_dbus_register_sta
  - wpas_dbus_signal_blob_added
  - wpas_dbus_signal_blob_removed
  - wpas_dbus_signal_debug_level_changed
  - wpas_dbus_signal_debug_timestamp_changed
  - wpas_dbus_signal_debug_show_keys_changed
  - wpas_dbus_register_peer
  - wpas_dbus_unregister_peer
  - wpas_dbus_signal_peer_groups_changed
  - wpas_dbus_signal_p2p_group_removed
  - wpas_dbus_signal_p2p_provision_discovery
  - wpas_dbus_signal_p2p_go_neg_req
  - wpas_dbus_signal_p2p_group_started
  - wpas_dbus_signal_p2p_group_formation_failure
  - wpas_dbus_register_p2p_group
  - wpas_dbus_register_persistent_group
  - wpas_dbus_unregister_persistent_group
  - wpas_dbus_signal_p2p_go_neg_resp
  - wpas_dbus_unregister_p2p_group
  - wpas_dbus_signal_p2p_invitation_result
  - wpas_dbus_register_p2p_groupmember
  - wpas_dbus_signal_p2p_sd_request
  - wpas_dbus_signal_p2p_sd_response
  - wpas_dbus_unregister_p2p_groupmember
  - wpas_dbus_signal_p2p_peer_joined
  - wpas_dbus_signal_p2p_find_stopped
  - wpas_dbus_signal_peer_device_found
  - wpas_dbus_signal_peer_device_lost
  - wpas_dbus_signal_p2p_peer_disconnected
  - wpas_dbus_signal_p2p_wps_failed
  - wpas_dbus_signal_certification
  - wpas_dbus_signal_preq
  - wpas_dbus_signal_eap_status
  - wpas_dbus_signal_psk_mismatch
  - wpas_dbus_signal_sae_password_mismatch
  - wpas_dbus_signal_sta_authorized
  - wpas_dbus_signal_sta_deauthorized
  - wpas_dbus_signal_p2p_invitation_received
  - wpas_dbus_signal_p2p_bootstrap_req
  - wpas_dbus_signal_p2p_bootstrap_rsp
  - wpas_dbus_signal_mesh_group_started
  - wpas_dbus_signal_mesh_group_removed
  - wpas_dbus_signal_mesh_peer_connected
  - wpas_dbus_signal_mesh_peer_disconnected
  - wpas_dbus_signal_interworking_ap_added
  - wpas_dbus_signal_interworking_select_done
  - wpas_dbus_signal_anqp_query_done
  - wpas_dbus_signal_hs20_t_c_acceptance
  - wpas_dbus_signal_nan_discovery_result
  - wpas_dbus_signal_nan_replied
  - wpas_dbus_signal_nan_receive
  - wpas_dbus_signal_nan_publish_terminated
  - wpas_dbus_signal_nan_subscribe_terminated
  source_file: /src/hostap/wpa_supplicant/dbus/dbus_new.h
  types:
    enum:
    - enumerators:
      - name: WPAS_DBUS_PROP_AP_SCAN
      - name: WPAS_DBUS_PROP_SCANNING
      - name: WPAS_DBUS_PROP_STATE
      - name: WPAS_DBUS_PROP_CURRENT_NETWORK
      - name: WPAS_DBUS_PROP_CURRENT_BSS
      - name: WPAS_DBUS_PROP_CURRENT_AUTH_MODE
      - name: WPAS_DBUS_PROP_BSSS
      - name: WPAS_DBUS_PROP_STATIONS
      - name: WPAS_DBUS_PROP_DISCONNECT_REASON
      - name: WPAS_DBUS_PROP_AUTH_STATUS_CODE
      - name: WPAS_DBUS_PROP_ROAM_COMPLETE
      - name: WPAS_DBUS_PROP_SCAN_IN_PROGRESS_6GHZ
      - name: WPAS_DBUS_PROP_SIGNAL_CHANGE
      - name: WPAS_DBUS_PROP_SESSION_LENGTH
      - name: WPAS_DBUS_PROP_MAC_ADDRESS
      - name: WPAS_DBUS_PROP_ASSOC_STATUS_CODE
      - name: WPAS_DBUS_PROP_BSS_TM_STATUS
      - name: WPAS_DBUS_PROP_ROAM_TIME
      item_type: enum
      name: wpas_dbus_prop
      pos:
        line_end: 44
        line_start: 25
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new.h
    - enumerators:
      - name: WPAS_DBUS_BSS_PROP_SIGNAL
      - name: WPAS_DBUS_BSS_PROP_RATES
      - name: WPAS_DBUS_BSS_PROP_MODE
      - name: WPAS_DBUS_BSS_PROP_PRIVACY
      - name: WPAS_DBUS_BSS_PROP_FREQ
      - name: WPAS_DBUS_BSS_PROP_WPA
      - name: WPAS_DBUS_BSS_PROP_RSN
      - name: WPAS_DBUS_BSS_PROP_WPS
      - name: WPAS_DBUS_BSS_PROP_IES
      - name: WPAS_DBUS_BSS_PROP_AGE
      - name: WPAS_DBUS_BSS_PROP_ANQP
      item_type: enum
      name: wpas_dbus_bss_prop
      pos:
        line_end: 58
        line_start: 46
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new.h
    - enumerators:
      - name: WPAS_DBUS_STA_PROP_ADDRESS
      item_type: enum
      name: wpas_dbus_sta_prop
      pos:
        line_end: 62
        line_start: 60
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new.h
    preproc_defs:
    - item_type: preproc_def
      name: WPAS_DBUS_OBJECT_PATH_MAX
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new.h
      type_or_value: '150'
    - item_type: preproc_def
      name: WPAS_DBUS_NEW_SERVICE
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new.h
      type_or_value: '"fi.w1.wpa_supplicant1"'
    - item_type: preproc_def
      name: WPAS_DBUS_NEW_PATH
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new.h
      type_or_value: '"/fi/w1/wpa_supplicant1"'
    - item_type: preproc_def
      name: WPAS_DBUS_NEW_INTERFACE
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new.h
      type_or_value: '"fi.w1.wpa_supplicant1"'
    - item_type: preproc_def
      name: WPAS_DBUS_NEW_PATH_INTERFACES
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new.h
      type_or_value: WPAS_DBUS_NEW_PATH "/Interfaces"
    - item_type: preproc_def
      name: WPAS_DBUS_NEW_IFACE_INTERFACE
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new.h
      type_or_value: WPAS_DBUS_NEW_INTERFACE ".Interface"
    - item_type: preproc_def
      name: WPAS_DBUS_NEW_IFACE_WPS
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new.h
      type_or_value: WPAS_DBUS_NEW_IFACE_INTERFACE ".WPS"
    - item_type: preproc_def
      name: WPAS_DBUS_NEW_NETWORKS_PART
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new.h
      type_or_value: '"Networks"'
    - item_type: preproc_def
      name: WPAS_DBUS_NEW_IFACE_NETWORK
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new.h
      type_or_value: WPAS_DBUS_NEW_INTERFACE ".Network"
    - item_type: preproc_def
      name: WPAS_DBUS_NEW_BSSIDS_PART
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new.h
      type_or_value: '"BSSs"'
    - item_type: preproc_def
      name: WPAS_DBUS_NEW_IFACE_BSS
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new.h
      type_or_value: WPAS_DBUS_NEW_INTERFACE ".BSS"
    - item_type: preproc_def
      name: WPAS_DBUS_NEW_STAS_PART
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new.h
      type_or_value: '"Stations"'
    - item_type: preproc_def
      name: WPAS_DBUS_NEW_IFACE_STA
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new.h
      type_or_value: WPAS_DBUS_NEW_INTERFACE ".Station"
    - item_type: preproc_def
      name: WPAS_DBUS_NEW_IFACE_P2PDEVICE
      pos:
        line_end: 85
        line_start: 83
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new.h
      type_or_value: WPAS_DBUS_NEW_IFACE_INTERFACE ".P2PDevice"
    - item_type: preproc_def
      name: WPAS_DBUS_NEW_IFACE_MESH
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new.h
      type_or_value: WPAS_DBUS_NEW_IFACE_INTERFACE ".Mesh"
    - item_type: preproc_def
      name: WPAS_DBUS_NEW_P2P_GROUPS_PART
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new.h
      type_or_value: '"Groups"'
    - item_type: preproc_def
      name: WPAS_DBUS_NEW_IFACE_P2P_GROUP
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new.h
      type_or_value: WPAS_DBUS_NEW_INTERFACE ".Group"
    - item_type: preproc_def
      name: WPAS_DBUS_NEW_PERSISTENT_GROUPS_PART
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new.h
      type_or_value: '"PersistentGroups"'
    - item_type: preproc_def
      name: WPAS_DBUS_NEW_IFACE_PERSISTENT_GROUP
      pos:
        line_end: 101
        line_start: 99
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new.h
      type_or_value: WPAS_DBUS_NEW_INTERFACE ".PersistentGroup"
    - item_type: preproc_def
      name: WPAS_DBUS_NEW_P2P_PEERS_PART
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new.h
      type_or_value: '"Peers"'
    - item_type: preproc_def
      name: WPAS_DBUS_NEW_IFACE_P2P_PEER
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new.h
      type_or_value: WPAS_DBUS_NEW_INTERFACE ".Peer"
    - item_type: preproc_def
      name: WPAS_DBUS_NEW_CREDENTIALS_PART
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new.h
      type_or_value: '"Credentials"'
    - item_type: preproc_def
      name: WPAS_DBUS_NEW_IFACE_CREDENTIAL
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new.h
      type_or_value: WPAS_DBUS_NEW_INTERFACE ".Credential"
    - item_type: preproc_def
      name: WPAS_DBUS_ERROR_UNKNOWN_ERROR
      pos:
        line_end: 111
        line_start: 109
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new.h
      type_or_value: WPAS_DBUS_NEW_INTERFACE ".UnknownError"
    - item_type: preproc_def
      name: WPAS_DBUS_ERROR_INVALID_ARGS
      pos:
        line_end: 113
        line_start: 111
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new.h
      type_or_value: WPAS_DBUS_NEW_INTERFACE ".InvalidArgs"
    - item_type: preproc_def
      name: WPAS_DBUS_ERROR_IFACE_EXISTS
      pos:
        line_end: 116
        line_start: 114
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new.h
      type_or_value: WPAS_DBUS_NEW_INTERFACE ".InterfaceExists"
    - item_type: preproc_def
      name: WPAS_DBUS_ERROR_IFACE_DISABLED
      pos:
        line_end: 118
        line_start: 116
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new.h
      type_or_value: WPAS_DBUS_NEW_INTERFACE ".InterfaceDisabled"
    - item_type: preproc_def
      name: WPAS_DBUS_ERROR_IFACE_UNKNOWN
      pos:
        line_end: 120
        line_start: 118
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new.h
      type_or_value: WPAS_DBUS_NEW_INTERFACE ".InterfaceUnknown"
    - item_type: preproc_def
      name: WPAS_DBUS_ERROR_NOT_CONNECTED
      pos:
        line_end: 123
        line_start: 121
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new.h
      type_or_value: WPAS_DBUS_NEW_INTERFACE ".NotConnected"
    - item_type: preproc_def
      name: WPAS_DBUS_ERROR_NETWORK_UNKNOWN
      pos:
        line_end: 125
        line_start: 123
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new.h
      type_or_value: WPAS_DBUS_NEW_INTERFACE ".NetworkUnknown"
    - item_type: preproc_def
      name: WPAS_DBUS_ERROR_CONNECT_CHANNEL_UNAVAILABLE
      pos:
        line_end: 128
        line_start: 126
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new.h
      type_or_value: WPAS_DBUS_NEW_INTERFACE ".ConnectChannelUnavailable"
    - item_type: preproc_def
      name: WPAS_DBUS_ERROR_CONNECT_CHANNEL_UNSUPPORTED
      pos:
        line_end: 130
        line_start: 128
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new.h
      type_or_value: WPAS_DBUS_NEW_INTERFACE ".ConnectChannelUnsupported"
    - item_type: preproc_def
      name: WPAS_DBUS_ERROR_CONNECT_UNSPECIFIED_ERROR
      pos:
        line_end: 132
        line_start: 130
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new.h
      type_or_value: WPAS_DBUS_NEW_INTERFACE ".ConnectUnspecifiedError"
    - item_type: preproc_def
      name: WPAS_DBUS_ERROR_BLOB_EXISTS
      pos:
        line_end: 135
        line_start: 133
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new.h
      type_or_value: WPAS_DBUS_NEW_INTERFACE ".BlobExists"
    - item_type: preproc_def
      name: WPAS_DBUS_ERROR_BLOB_UNKNOWN
      pos:
        line_end: 137
        line_start: 135
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new.h
      type_or_value: WPAS_DBUS_NEW_INTERFACE ".BlobUnknown"
    - item_type: preproc_def
      name: WPAS_DBUS_ERROR_SUBSCRIPTION_IN_USE
      pos:
        line_end: 140
        line_start: 138
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new.h
      type_or_value: WPAS_DBUS_NEW_INTERFACE ".SubscriptionInUse"
    - item_type: preproc_def
      name: WPAS_DBUS_ERROR_NO_SUBSCRIPTION
      pos:
        line_end: 142
        line_start: 140
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new.h
      type_or_value: WPAS_DBUS_NEW_INTERFACE ".NoSubscription"
    - item_type: preproc_def
      name: WPAS_DBUS_ERROR_SUBSCRIPTION_EPERM
      pos:
        line_end: 144
        line_start: 142
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new.h
      type_or_value: WPAS_DBUS_NEW_INTERFACE ".SubscriptionNotYou"
    - item_type: preproc_def
      name: WPAS_DBUS_ERROR_IFACE_SCAN_ERROR
      pos:
        line_end: 148
        line_start: 146
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new.h
      type_or_value: WPAS_DBUS_NEW_IFACE_INTERFACE ".ScanError"
    structs: []
    typedefs: []
    union: []
- function_names:
  - wpas_dbus_validate_dbus_ipaddr
  - no_p2p_mgmt_interface
  - parse_peer_object_path
  - wpas_dbus_error_persistent_group_unknown
  - wpas_dbus_error_no_p2p_mgmt_iface
  - wpas_dbus_handler_p2p_find
  - wpas_dbus_handler_p2p_stop_find
  - wpas_dbus_handler_p2p_rejectpeer
  - wpas_dbus_handler_p2p_listen
  - wpas_dbus_handler_p2p_extendedlisten
  - wpas_dbus_handler_p2p_presence_request
  - wpas_dbus_handler_p2p_group_add
  - wpas_dbus_handler_p2p_disconnect
  - wpa_dbus_p2p_check_enabled
  - wpas_dbus_handler_p2p_remove_client
  - wpas_dbus_handler_p2p_flush
  - wpas_dbus_handler_p2p_connect
  - wpas_dbus_handler_p2p_cancel
  - wpas_dbus_handler_p2p_invite
  - wpas_dbus_handler_p2p_prov_disc_req
  - wpas_dbus_getter_p2p_device_config
  - wpas_dbus_setter_p2p_device_config
  - wpas_dbus_getter_p2p_peers
  - wpas_get_p2p_role
  - wpas_dbus_getter_p2p_role
  - wpas_dbus_getter_p2p_group
  - wpas_dbus_getter_p2p_peergo
  - wpas_dbus_getter_p2p_device_address
  - wpas_dbus_getter_p2p_peer_device_name
  - wpas_dbus_getter_p2p_peer_manufacturer
  - wpas_dbus_getter_p2p_peer_modelname
  - wpas_dbus_getter_p2p_peer_modelnumber
  - wpas_dbus_getter_p2p_peer_serialnumber
  - wpas_dbus_getter_p2p_peer_primary_device_type
  - wpas_dbus_getter_p2p_peer_config_method
  - wpas_dbus_getter_p2p_peer_level
  - wpas_dbus_getter_p2p_peer_device_capability
  - wpas_dbus_getter_p2p_peer_group_capability
  - wpas_dbus_getter_p2p_peer_secondary_device_types
  - wpas_dbus_getter_p2p_peer_vendor_extension
  - wpas_dbus_getter_p2p_peer_ies
  - wpas_dbus_getter_p2p_peer_device_address
  - match_group_where_peer_is_client
  - wpas_dbus_getter_p2p_peer_groups
  - wpas_dbus_getter_p2p_peer_vsie
  - wpas_dbus_getter_persistent_groups
  - wpas_dbus_getter_persistent_group_properties
  - wpas_dbus_setter_persistent_group_properties
  - wpas_dbus_handler_add_persistent_group
  - wpas_dbus_handler_remove_persistent_group
  - remove_persistent_group
  - wpas_dbus_handler_remove_all_persistent_groups
  - wpas_dbus_getter_p2p_group_members
  - wpas_dbus_getter_p2p_group_ssid
  - wpas_dbus_getter_p2p_group_bssid
  - wpas_dbus_getter_p2p_group_frequency
  - wpas_dbus_getter_p2p_group_passphrase
  - wpas_dbus_getter_p2p_group_psk
  - wpas_dbus_getter_p2p_group_vendor_ext
  - wpas_dbus_getter_p2p_group_go_device_address
  - wpas_dbus_setter_p2p_group_vendor_ext
  - wpas_dbus_handler_p2p_add_service
  - wpas_dbus_handler_p2p_delete_service
  - wpas_dbus_handler_p2p_flush_service
  - wpas_dbus_handler_p2p_service_sd_req
  - wpas_dbus_handler_p2p_service_sd_res
  - wpas_dbus_handler_p2p_service_sd_cancel_req
  - wpas_dbus_handler_p2p_service_update
  - wpas_dbus_handler_p2p_serv_disc_external
  - wpas_dbus_getter_global_wfd_ies
  - wpas_dbus_setter_global_wfd_ies
  source_file: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
  types:
    enum:
    - enumerators:
      - name: WPAS_P2P_ROLE_DEVICE
      - name: WPAS_P2P_ROLE_GO
      - name: WPAS_P2P_ROLE_CLIENT
      item_type: enum
      name: wpas_p2p_role
      pos:
        line_end: 1370
        line_start: 1366
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
    preproc_defs: []
    structs:
    - fields:
      - name: list
        type: struct dl_list
      - name: path[WPAS_DBUS_OBJECT_PATH_MAX]
        type: char
      item_type: struct
      name: peer_objpath_node
      pos:
        line_end: 1296
        line_start: 1293
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
    - fields:
      - name: '*wpa_s'
        type: struct wpa_supplicant
      - name: '*info'
        type: struct p2p_peer_info
      - name: '**paths'
        type: char
      - name: nb_paths
        type: unsigned int
      - name: error
        type: int
      item_type: struct
      name: peer_group_data
      pos:
        line_end: 1951
        line_start: 1945
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
    typedefs: []
    union: []
- function_names:
  - wpa_dbus_dict_open_write
  - wpa_dbus_dict_close_write
  - wpa_dbus_type_as_string
  - _wpa_dbus_add_dict_entry_start
  - _wpa_dbus_add_dict_entry_end
  - _wpa_dbus_add_dict_entry_basic
  - _wpa_dbus_add_dict_entry_byte_array
  - wpa_dbus_dict_append_string
  - wpa_dbus_dict_append_bool
  - wpa_dbus_dict_append_int16
  - wpa_dbus_dict_append_uint16
  - wpa_dbus_dict_append_int32
  - wpa_dbus_dict_append_uint32
  - wpa_dbus_dict_append_uint64
  - wpa_dbus_dict_append_object_path
  - wpa_dbus_dict_append_byte_array
  - wpa_dbus_dict_append_double
  - wpa_dbus_dict_begin_array
  - wpa_dbus_dict_begin_string_array
  - wpa_dbus_dict_string_array_add_element
  - wpa_dbus_dict_bin_array_add_element
  - wpa_dbus_dict_end_array
  - wpa_dbus_dict_append_string_array
  - wpa_dbus_dict_append_wpabuf_array
  - wpa_dbus_dict_open_read
  - _wpa_dbus_dict_entry_get_byte_array
  - _wpa_dbus_dict_entry_get_uint16_array
  - _wpa_dbus_dict_entry_get_string_array
  - _wpa_dbus_dict_entry_get_binarray
  - _wpa_dbus_dict_entry_get_array
  - _wpa_dbus_dict_fill_value_from_variant
  - wpa_dbus_dict_get_entry
  - wpa_dbus_dict_has_dict_entry
  - wpa_dbus_dict_entry_clear
  - wpa_dbus_dict_entry_is_int
  - wpa_dbus_dict_entry_get_int
  source_file: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BYTE_ARRAY_CHUNK_SIZE
      pos:
        line_end: 652
        line_start: 651
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c
      type_or_value: '34'
    - item_type: preproc_def
      name: BYTE_ARRAY_ITEM_SIZE
      pos:
        line_end: 653
        line_start: 652
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c
      type_or_value: (sizeof(char))
    - item_type: preproc_def
      name: UINT16_ARRAY_CHUNK_SIZE
      pos:
        line_end: 709
        line_start: 708
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c
      type_or_value: '18'
    - item_type: preproc_def
      name: UINT16_ARRAY_ITEM_SIZE
      pos:
        line_end: 710
        line_start: 709
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c
      type_or_value: (sizeof(dbus_uint16_t))
    - item_type: preproc_def
      name: STR_ARRAY_CHUNK_SIZE
      pos:
        line_end: 762
        line_start: 761
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c
      type_or_value: '8'
    - item_type: preproc_def
      name: STR_ARRAY_ITEM_SIZE
      pos:
        line_end: 763
        line_start: 762
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c
      type_or_value: (sizeof(char *))
    - item_type: preproc_def
      name: BIN_ARRAY_CHUNK_SIZE
      pos:
        line_end: 833
        line_start: 832
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c
      type_or_value: '10'
    - item_type: preproc_def
      name: BIN_ARRAY_ITEM_SIZE
      pos:
        line_end: 834
        line_start: 833
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.c
      type_or_value: (sizeof(struct wpabuf *))
    structs: []
    typedefs: []
    union: []
- function_names:
  - noc_filter
  - wpas_dbus_subscribe_noc
  - wpas_dbus_unsubscribe_noc
  - wpas_dbus_signal_interface
  - wpas_dbus_signal_interface_added
  - wpas_dbus_signal_interface_removed
  - wpas_dbus_signal_scan_done
  - wpas_dbus_signal_bss
  - wpas_dbus_signal_bss_added
  - wpas_dbus_signal_bss_removed
  - wpas_dbus_signal_blob
  - wpas_dbus_signal_blob_added
  - wpas_dbus_signal_blob_removed
  - wpas_dbus_signal_network
  - wpas_dbus_signal_network_added
  - wpas_dbus_signal_network_removed
  - wpas_dbus_signal_network_selected
  - wpas_dbus_signal_network_request
  - wpas_dbus_signal_network_enabled_changed
  - wpas_dbus_signal_wps_event_pbc_overlap
  - wpas_dbus_signal_wps_event_success
  - wpas_dbus_signal_wps_event_fail
  - wpas_dbus_signal_wps_event_m2d
  - wpas_dbus_signal_wps_cred
  - wpas_dbus_signal_mesh_group_started
  - wpas_dbus_signal_mesh_group_removed
  - wpas_dbus_signal_mesh_peer_connected
  - wpas_dbus_signal_mesh_peer_disconnected
  - wpas_dbus_signal_interworking_ap_added
  - wpas_dbus_signal_interworking_select_done
  - wpas_dbus_signal_anqp_query_done
  - wpas_dbus_signal_certification
  - wpas_dbus_signal_eap_status
  - wpas_dbus_signal_psk_mismatch
  - wpas_dbus_signal_sae_password_mismatch
  - wpas_dbus_signal_sta
  - wpas_dbus_signal_sta_authorized
  - wpas_dbus_signal_sta_deauthorized
  - wpas_dbus_signal_station
  - wpas_dbus_signal_station_added
  - wpas_dbus_signal_station_removed
  - wpas_dbus_signal_p2p_group_removed
  - wpas_dbus_signal_p2p_provision_discovery
  - wpas_dbus_signal_p2p_go_neg_req
  - wpas_dbus_get_group_obj_path
  - match_group_where_peer_is_client
  - signal_peer_groups_changed
  - peer_groups_changed
  - wpas_dbus_signal_p2p_group_started
  - wpas_dbus_signal_p2p_go_neg_resp
  - wpas_dbus_signal_p2p_invitation_result
  - wpas_dbus_signal_p2p_peer_joined
  - wpas_dbus_signal_p2p_peer_disconnected
  - wpas_dbus_signal_p2p_sd_request
  - wpas_dbus_signal_p2p_sd_response
  - wpas_dbus_signal_persistent_group
  - wpas_dbus_signal_persistent_group_added
  - wpas_dbus_signal_persistent_group_removed
  - wpas_dbus_signal_p2p_wps_failed
  - wpas_dbus_signal_p2p_group_formation_failure
  - wpas_dbus_signal_p2p_invitation_received
  - wpas_dbus_signal_p2p_bootstrap_req
  - wpas_dbus_signal_p2p_bootstrap_rsp
  - wpas_dbus_signal_prop_changed
  - wpas_dbus_bss_signal_prop_changed
  - wpas_dbus_signal_debug_level_changed
  - wpas_dbus_signal_debug_timestamp_changed
  - wpas_dbus_signal_debug_show_keys_changed
  - wpas_dbus_register
  - uscore_to_dbus
  - wpa_dbus_ctrl_iface_props_deinit
  - wpas_dbus_ctrl_iface_init
  - wpas_dbus_ctrl_iface_deinit
  - wpa_dbus_free
  - wpas_dbus_register_network
  - wpas_dbus_unregister_network
  - wpas_dbus_unregister_bss
  - wpas_dbus_register_bss
  - wpas_dbus_unregister_sta
  - wpas_dbus_register_sta
  - wpa_dbus_ctrl_iface_props_init
  - wpas_dbus_register_interface
  - wpas_dbus_unregister_interface
  - wpas_dbus_signal_peer
  - wpas_dbus_signal_peer_device_found
  - wpas_dbus_signal_peer_device_lost
  - wpas_dbus_register_peer
  - wpas_dbus_unregister_peer
  - wpas_dbus_signal_p2p_find_stopped
  - wpas_dbus_signal_peer_groups_changed
  - wpas_dbus_register_p2p_group
  - wpas_dbus_unregister_p2p_group
  - wpas_dbus_register_persistent_group
  - wpas_dbus_unregister_persistent_group
  - wpas_dbus_signal_hs20_t_c_acceptance
  - wpas_dbus_signal_nan_discovery_result
  - wpas_dbus_signal_nan_replied
  - wpas_dbus_signal_nan_receive
  - wpas_dbus_signal_nan_publish_terminated
  - wpas_dbus_signal_nan_subscribe_terminated
  source_file: /src/hostap/wpa_supplicant/dbus/dbus_new.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*wpa_s'
        type: struct wpa_supplicant
      - name: '*info'
        type: struct p2p_peer_info
      item_type: struct
      name: group_changed_data
      pos:
        line_end: 1576
        line_start: 1573
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*wpa_s'
        type: struct wpa_supplicant
      - name: '*ssid'
        type: struct wpa_ssid
      item_type: struct
      name: network_handler_args
      pos:
        line_end: 17
        line_start: 14
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.h
    - fields:
      - name: '*wpa_s'
        type: struct wpa_supplicant
      - name: id
        type: unsigned int
      item_type: struct
      name: bss_handler_args
      pos:
        line_end: 22
        line_start: 19
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.h
    - fields:
      - name: '*wpa_s'
        type: struct wpa_supplicant
      - name: '*sta'
        type: u8
      item_type: struct
      name: sta_handler_args
      pos:
        line_end: 27
        line_start: 24
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.h
    typedefs: []
    union: []
- function_names:
  - dispatch_data
  - dispatch_initial_dbus_messages
  - process_watch
  - process_watch_exception
  - process_watch_read
  - process_watch_write
  - add_watch
  - remove_watch
  - watch_toggled
  - process_timeout
  - add_timeout
  - remove_timeout
  - timeout_toggled
  - process_wakeup_main
  - wakeup_main
  - integrate_with_eloop
  - disconnect_filter
  - wpas_dbus_init_common
  - wpas_dbus_init_common_finish
  - wpas_dbus_deinit_common
  - wpas_dbus_init
  - wpas_dbus_deinit
  source_file: /src/hostap/wpa_supplicant/dbus/dbus_common.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SIGPOLL
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_common.c
      type_or_value: SIGIO
    structs: []
    typedefs: []
    union: []
- function_names:
  - wpas_dbus_handler_wps_role
  - wpas_dbus_handler_wps_type
  - wpas_dbus_handler_wps_bssid
  - wpas_dbus_handler_wps_pin
  - wpas_dbus_handler_wps_p2p_dev_addr
  - wpas_dbus_handler_wps_start_entry
  - wpas_dbus_handler_wps_start
  - wpas_dbus_handler_wps_cancel
  - wpas_dbus_getter_process_credentials
  - wpas_dbus_setter_process_credentials
  - wpas_dbus_getter_config_methods
  - wpas_dbus_setter_config_methods
  - wpas_dbus_getter_wps_device_name
  - wpas_dbus_setter_wps_device_name
  - wpas_dbus_getter_wps_manufacturer
  - wpas_dbus_setter_wps_manufacturer
  - wpas_dbus_getter_wps_device_model_name
  - wpas_dbus_setter_wps_device_model_name
  - wpas_dbus_getter_wps_device_model_number
  - wpas_dbus_setter_wps_device_model_number
  - wpas_dbus_getter_wps_device_serial_number
  - wpas_dbus_setter_wps_device_serial_number
  - wpas_dbus_getter_wps_device_device_type
  - wpas_dbus_setter_wps_device_device_type
  source_file: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: role
        type: int
      - name: type
        type: int
      - name: '*bssid'
        type: u8
      - name: '*pin'
        type: char
      - name: '*p2p_dev_addr'
        type: u8
      item_type: struct
      name: wps_start_params
      pos:
        line_end: 29
        line_start: 23
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers_wps.c
    typedefs: []
    union: []
- function_names:
  - wpa_dbus_dict_end_string_array
  source_file: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: WPAS_DBUS_TYPE_BINARRAY
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.h
      type_or_value: ((int) '@')
    structs:
    - fields:
      - name: type
        type: int
      - name: array_type
        type: int
      - name: '*key'
        type: char
      - name: array_len
        type: dbus_uint32_t
      item_type: struct
      name: wpa_dbus_dict_entry
      pos:
        line_end: 147
        line_start: 121
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_dict_helpers.h
    typedefs: []
    union: []
- function_names:
  - wpas_dbus_error_unknown_error
  - wpas_dbus_error_iface_unknown
  - wpas_dbus_error_network_unknown
  - wpas_dbus_error_invalid_args
  - wpas_dbus_error_scan_error
  - wpas_dbus_error_no_memory
  - should_quote_opt
  - get_iface_by_dbus_path
  - set_network_properties
  - set_cred_property
  - set_cred_properties
  - wpas_dbus_simple_property_getter
  - wpas_dbus_simple_property_setter
  - wpas_dbus_simple_array_property_getter
  - wpas_dbus_simple_array_array_property_getter
  - wpas_dbus_string_property_getter
  - wpas_dbus_handler_create_interface
  - wpas_dbus_handler_remove_interface
  - wpas_dbus_handler_get_interface
  - wpas_dbus_getter_debug_level
  - wpas_dbus_getter_debug_timestamp
  - wpas_dbus_getter_debug_show_keys
  - wpas_dbus_setter_debug_level
  - wpas_dbus_setter_debug_timestamp
  - wpas_dbus_setter_debug_show_keys
  - wpas_dbus_getter_interfaces
  - wpas_dbus_getter_eap_methods
  - wpas_dbus_getter_global_capabilities
  - wpas_dbus_get_scan_type
  - wpas_dbus_get_scan_ssids
  - wpas_dbus_get_scan_ies
  - wpas_dbus_get_scan_channels
  - wpas_dbus_get_scan_boolean
  - wpas_dbus_handler_scan
  - wpas_dbus_handler_abort_scan
  - wpas_dbus_handler_add_cred
  - wpas_dbus_handler_remove_cred
  - wpas_dbus_handler_remove_all_creds
  - wpas_dbus_handler_interworking_select
  - wpas_dbus_handler_anqp_get
  - wpas_dbus_handler_signal_poll
  - wpas_dbus_handler_disconnect
  - wpas_dbus_handler_add_network
  - wpas_dbus_handler_reassociate
  - wpas_dbus_handler_expect_disconnect
  - wpas_dbus_handler_reattach
  - wpas_dbus_handler_reconnect
  - wpas_dbus_handler_remove_network
  - wpas_dbus_handler_remove_all_networks
  - wpas_dbus_handler_select_network
  - wpas_dbus_handler_network_reply
  - wpas_dbus_handler_roam
  - wpas_dbus_handler_add_blob
  - wpas_dbus_handler_get_blob
  - wpas_dbus_handler_remove_blob
  - wpas_dbus_handler_flush_bss
  - wpas_dbus_handler_autoscan
  - wpas_dbus_handler_eap_logoff
  - wpas_dbus_handler_eap_logon
  - get_peer_hwaddr_helper
  - wpas_dbus_handler_tdls_discover
  - wpas_dbus_handler_tdls_setup
  - wpas_dbus_handler_tdls_status
  - wpas_dbus_handler_tdls_teardown
  - wpas_dbus_handler_tdls_channel_switch
  - wpas_dbus_handler_tdls_cancel_channel_switch
  - wpas_dbus_handler_save_config
  - wpas_dbus_handler_set_pkcs11_engine_and_module_path
  - wpas_dbus_getter_capabilities
  - wpas_dbus_getter_state
  - wpas_dbus_getter_scanning
  - wpas_dbus_getter_ap_scan
  - wpas_dbus_setter_ap_scan
  - wpas_dbus_getter_fast_reauth
  - wpas_dbus_setter_fast_reauth
  - wpas_dbus_getter_disconnect_reason
  - wpas_dbus_getter_auth_status_code
  - wpas_dbus_getter_assoc_status_code
  - wpas_dbus_getter_roam_time
  - wpas_dbus_getter_roam_complete
  - wpas_dbus_getter_scan_in_progress_6ghz
  - wpas_dbus_getter_session_length
  - wpas_dbus_getter_bss_tm_status
  - wpas_dbus_getter_bss_expire_age
  - wpas_dbus_setter_bss_expire_age
  - wpas_dbus_getter_bss_expire_count
  - wpas_dbus_setter_bss_expire_count
  - wpas_dbus_getter_country
  - wpas_dbus_setter_country
  - wpas_dbus_getter_scan_interval
  - wpas_dbus_setter_scan_interval
  - wpas_dbus_getter_ifname
  - wpas_dbus_getter_driver
  - wpas_dbus_getter_current_bss
  - wpas_dbus_getter_current_network
  - wpas_dbus_getter_current_auth_mode
  - wpas_dbus_getter_bridge_ifname
  - wpas_dbus_setter_bridge_ifname
  - wpas_dbus_getter_config_file
  - wpas_dbus_getter_bsss
  - wpas_dbus_getter_networks
  - wpas_dbus_getter_pkcs11_engine_path
  - wpas_dbus_getter_pkcs11_module_path
  - wpas_dbus_getter_blobs
  - wpas_dbus_getter_iface_global
  - wpas_dbus_setter_iface_global
  - wpas_dbus_getter_stas
  - wpas_dbus_setter_mac_address_randomization_mask
  - wpas_dbus_getter_mac_address_randomization_mask
  - wpas_dbus_getter_mac_address
  - wpas_dbus_getter_sta_address
  - wpas_dbus_getter_sta_aid
  - wpas_dbus_getter_sta_caps
  - wpas_dbus_getter_sta_rx_packets
  - wpas_dbus_getter_sta_tx_packets
  - wpas_dbus_getter_sta_tx_bytes
  - wpas_dbus_getter_sta_rx_bytes
  - get_bss_helper
  - wpas_dbus_getter_bss_bssid
  - wpas_dbus_getter_bss_ssid
  - wpas_dbus_getter_bss_privacy
  - wpas_dbus_getter_bss_mode
  - wpas_dbus_getter_bss_signal
  - wpas_dbus_getter_bss_frequency
  - cmp_u8s_desc
  - wpas_dbus_getter_bss_rates
  - wpas_dbus_get_bss_security_prop
  - wpas_dbus_getter_bss_wpa
  - wpas_dbus_getter_bss_rsn
  - wpas_dbus_getter_bss_wps
  - wpas_dbus_getter_bss_ies
  - wpas_dbus_getter_bss_age
  - wpas_dbus_getter_bss_anqp
  - wpas_dbus_getter_enabled
  - wpas_dbus_setter_enabled
  - wpas_dbus_getter_network_properties
  - wpas_dbus_setter_network_properties
  - wpas_dbus_handler_subscribe_preq
  - wpas_dbus_handler_unsubscribe_preq
  - wpas_dbus_signal_preq
  - wpas_dbus_handler_vendor_elem_add
  - wpas_dbus_handler_vendor_elem_get
  - wpas_dbus_handler_vendor_elem_remove
  - wpas_dbus_getter_mesh_peers
  - wpas_dbus_getter_mesh_group
  - wpas_dbus_getter_signal_change
  - wpas_dbus_handler_nan_publish
  - wpas_dbus_handler_nan_cancel_publish
  - wpas_dbus_handler_nan_update_publish
  - wpas_dbus_handler_nan_publish_stop_listen
  - wpas_dbus_handler_nan_subscribe
  - wpas_dbus_handler_nan_cancel_subscribe
  - wpas_dbus_handler_nan_subscribe_stop_listen
  - wpas_dbus_handler_nan_transmit
  source_file: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FREQS_ALLOC_CHUNK
      pos:
        line_end: 1569
        line_start: 1568
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
      type_or_value: '32'
    - item_type: preproc_def
      name: MAX_ANQP_INFO_ID
      pos:
        line_end: 2001
        line_start: 2000
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
      type_or_value: '100 '
    structs:
    - fields:
      - name: '*key'
        type: char
      - name: type
        type: unsigned int
      item_type: struct
      name: "types[] = {\n\t\t{ \"scan\", MAC_ADDR_RAND_SCAN },\n\t\t{ \"sched_scan\",
        MAC_ADDR_RAND_SCHED_SCAN },\n\t\t{ \"pno\", MAC_ADDR_RAND_PNO }\n\t}"
      pos:
        line_end: 4875
        line_start: 4872
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new_handlers.c
    typedefs: []
    union: []
- function_names:
  - add_interface
  - dl_list_for_each
  - add_arg
  - add_entry
  - add_property
  - extract_interfaces_methods
  - extract_interfaces_signals
  - extract_interfaces_properties
  - extract_interfaces
  - add_interfaces
  - dl_list_for_each_safe
  - add_child_nodes
  - add_introspectable_interface
  - add_properties_interface
  - add_wpas_interfaces
  - wpa_dbus_introspect
  source_file: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: list
        type: struct dl_list
      - name: '*dbus_interface'
        type: char
      - name: '*xml'
        type: struct wpabuf
      item_type: struct
      name: interfaces
      pos:
        line_end: 23
        line_start: 19
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new_introspect.c
    typedefs: []
    union: []
- function_names:
  - fill_dict_with_properties
  - get_all_properties
  - is_signature_correct
  - properties_get_all
  - properties_get
  - properties_set
  - properties_get_or_set
  - properties_handler
  - msg_method_handler
  - message_handler
  - free_dbus_object_desc
  - free_dbus_object_desc_cb
  - wpa_dbus_ctrl_iface_init
  - wpa_dbus_register_object_per_iface
  - wpa_dbus_unregister_object_per_iface
  - put_changed_properties
  - do_send_prop_changed_signal
  - do_send_deprecated_prop_changed_signal
  - send_prop_changed_signal
  - flush_object_timeout_handler
  - recursive_flush_changed_properties
  - wpa_dbus_flush_all_changed_properties
  - wpa_dbus_flush_object_changed_properties
  - wpa_dbus_mark_property_changed
  - wpa_dbus_get_object_properties
  - wpas_dbus_new_decompose_object_path
  - wpas_dbus_reply_new_from_error
  - guard_interval_to_double
  - wpas_dbus_new_from_signal_information
  source_file: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_SIG_LEN
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c
      type_or_value: '256'
    - item_type: preproc_def
      name: WPA_DBUS_SEND_PROP_CHANGED_TIMEOUT
      pos:
        line_end: 843
        line_start: 842
        source_file: /src/hostap/wpa_supplicant/dbus/dbus_new_helpers.c
      type_or_value: '5000'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/wpa_supplicant/dbus/dbus_common.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dump_list
  - main
  source_file: /src/hostap/tests/test-list.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: list
        type: struct dl_list
      - name: value
        type: int
      item_type: struct
      name: test
      pos:
        line_end: 15
        line_start: 12
        source_file: /src/hostap/tests/test-list.c
    typedefs: []
    union: []
- function_names:
  - https_tls_event_cb
  - https_recv
  - https_client
  - main
  source_file: /src/hostap/tests/test-https.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - cavp_rsa_sig_ver
  - main
  source_file: /src/hostap/tests/test-rsa-sig-ver.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - milenage_opc
  - main
  source_file: /src/hostap/tests/test-milenage.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NUM_GSM_TESTS
      pos:
        line_end: 249
        line_start: 248
        source_file: /src/hostap/tests/test-milenage.c
      type_or_value: ARRAY_SIZE(gsm_test_sets)
    - item_type: preproc_def
      name: NUM_TESTS
      pos:
        line_end: 693
        line_start: 692
        source_file: /src/hostap/tests/test-milenage.c
      type_or_value: ARRAY_SIZE(test_sets)
    structs:
    - fields:
      - name: ki[16]
        type: u8
      - name: rand[16]
        type: u8
      - name: opc[16]
        type: u8
      - name: sres1[4]
        type: u8
      - name: sres2[4]
        type: u8
      - name: kc[8]
        type: u8
      item_type: struct
      name: gsm_milenage_test_set
      pos:
        line_end: 32
        line_start: 25
        source_file: /src/hostap/tests/test-milenage.c
    - fields:
      - name: k[16]
        type: u8
      - name: rand[16]
        type: u8
      - name: sqn[6]
        type: u8
      - name: amf[2]
        type: u8
      - name: op[16]
        type: u8
      - name: opc[16]
        type: u8
      - name: f1[8]
        type: u8
      - name: f1star[8]
        type: u8
      - name: f2[8]
        type: u8
      - name: f3[16]
        type: u8
      - name: f4[16]
        type: u8
      - name: f5[6]
        type: u8
      - name: f5star[6]
        type: u8
      item_type: struct
      name: milenage_test_set
      pos:
        line_end: 265
        line_start: 251
        source_file: /src/hostap/tests/test-milenage.c
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/hostap/tests/test-base64.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_aes_perf
  - rdtscll
  - test_gcm
  - test_nist_key_wrap_ae
  - test_nist_key_wrap_ad
  - main
  source_file: /src/hostap/tests/test-aes.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BLOCK_SIZE
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/hostap/tests/test-aes.c
      type_or_value: '16'
    structs:
    - fields:
      - name: '*k'
        type: char
      - name: '*p'
        type: char
      - name: '*aad'
        type: char
      - name: '*iv'
        type: char
      - name: '*c'
        type: char
      - name: '*t'
        type: char
      item_type: struct
      name: gcm_test_vector
      pos:
        line_end: 64
        line_start: 57
        source_file: /src/hostap/tests/test-aes.c
    typedefs: []
    union: []
- function_names:
  - ASSERT_CMP_INT
  - test_parse_basic_ml
  - RUN_TEST
  - main
  source_file: /src/hostap/tests/test-bss.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: bss
        type: struct wpa_bss
      - name: "ies[sizeof(rnr_ie) + sizeof(ml_ie_mld_id) +\n\t\t       sizeof(mbssid_idx_ie)]"
        type: u8
      item_type: struct
      name: bss
      pos:
        line_end: 61
        line_start: 57
        source_file: /src/hostap/tests/test-bss.c
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/hostap/tests/test-x509v3.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - cavp_shavs
  - main
  source_file: /src/hostap/tests/test-sha256.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - https_tls_event_cb
  - https_recv
  - https_tls_log_cb
  - https_server
  - main
  source_file: /src/hostap/tests/test-https_server.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/hostap/tests/test-md4.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*data'
        type: char
      - name: '*hash'
        type: char
      item_type: struct
      name: "tests[] = {\n\t\t{\n\t\t\t\"\",\n\t\t\t\"\\x31\\xd6\\xcf\\xe0\\xd1\\x6a\\xe9\\x31\"\n\t\t\t\"\\xb7\\x3c\\x59\\xd7\\xe0\\xc0\\x89\\xc0\"\n\t\t},\n\t\t{\n\t\t\t\"a\",\n\t\t\t\"\\xbd\\xe5\\x2c\\xb3\\x1d\\xe3\\x3e\\x46\"\n\t\t\t\"\\x24\\x5e\\x05\\xfb\\xdb\\xd6\\xfb\\x24\"\n\t\t},\n\t\t{\n\t\t\t\"abc\",\n\t\t\t\"\\xa4\\x48\\x01\\x7a\\xaf\\x21\\xd8\\x52\"\n\t\t\t\"\\x5f\\xc1\\x0a\\xe8\\x7a\\xa6\\x72\\x9d\"\n\t\t},\n\t\t{\n\t\t\t\"message
        digest\",\n\t\t\t\"\\xd9\\x13\\x0a\\x81\\x64\\x54\\x9f\\xe8\"\n\t\t\t\"\\x18\\x87\\x48\\x06\\xe1\\xc7\\x01\\x4b\"\n\t\t},\n\t\t{\n\t\t\t\"abcdefghijklmnopqrstuvwxyz\",\n\t\t\t\"\\xd7\\x9e\\x1c\\x30\\x8a\\xa5\\xbb\\xcd\"\n\t\t\t\"\\xee\\xa8\\xed\\x63\\xdf\\x41\\x2d\\xa9\"\n\t\t},\n\t\t{\n\t\t\t\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\"\n\t\t\t\"0123456789\",\n\t\t\t\"\\x04\\x3f\\x85\\x82\\xf2\\x41\\xdb\\x35\"\n\t\t\t\"\\x1c\\xe6\\x27\\xe1\\x53\\xe7\\xf0\\xe4\"\n\t\t},\n\t\t{\n\t\t\t\"12345678901234567890123456789012345678901234567890\"\n\t\t\t\"123456789012345678901234567890\",\n\t\t\t\"\\xe3\\x3b\\x4d\\xdc\\x9c\\x38\\xf2\\x19\"\n\t\t\t\"\\x9c\\x3e\\x7b\\x16\\x4f\\xcc\\x05\\x36\"\n\t\t}\n\t}"
      pos:
        line_end: 18
        line_start: 15
        source_file: /src/hostap/tests/test-md4.c
    typedefs: []
    union: []
- function_names:
  - run_test
  - main
  source_file: /src/hostap/tests/test-rc4.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NUM_TESTS
      pos:
        line_end: 201
        line_start: 200
        source_file: /src/hostap/tests/test-rc4.c
      type_or_value: ARRAY_SIZE(tests)
    structs:
    - fields:
      - name: key_len
        type: size_t
      - name: '*key'
        type: u8
      - name: '*stream0'
        type: u8
      - name: '*stream240'
        type: u8
      - name: '*stream496'
        type: u8
      - name: '*stream752'
        type: u8
      - name: '*stream1008'
        type: u8
      - name: '*stream1520'
        type: u8
      - name: '*stream2032'
        type: u8
      - name: '*stream3056'
        type: u8
      - name: '*stream4080'
        type: u8
      item_type: struct
      name: rc4_test_vector
      pos:
        line_end: 26
        line_start: 14
        source_file: /src/hostap/tests/test-rc4.c
    typedefs: []
    union: []
- function_names:
  - cavp_shavs
  - main
  source_file: /src/hostap/tests/test-sha1.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TNC_IMC_Initialize
  - TNC_IMC_BeginHandshake
  - TNC_IMC_ProvideBindFunction
  source_file: /src/hostap/tests/hwsim/tnc/hostap_imc.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TNC_IMV_Initialize
  - TNC_IMV_NotifyConnectionChange
  - TNC_IMV_ReceiveMessage
  - TNC_IMV_SolicitRecommendation
  - TNC_IMV_BatchEnding
  - TNC_IMV_Terminate
  - TNC_IMV_ProvideBindFunction
  source_file: /src/hostap/tests/hwsim/tnc/hostap2_imv.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TNC_IMC_Initialize
  - TNC_IMC_BeginHandshake
  - TNC_IMC_ProvideBindFunction
  - TNC_IMC_NotifyConnectionChange
  - TNC_IMC_ReceiveMessage
  - TNC_IMC_BatchEnding
  - TNC_IMC_Terminate
  source_file: /src/hostap/tests/hwsim/tnc/hostap2_imc.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TNC_IMV_Initialize
  - TNC_IMV_SolicitRecommendation
  - TNC_IMV_ProvideBindFunction
  source_file: /src/hostap/tests/hwsim/tnc/hostap_imv.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - wpa_fuzzer_set_debug_level
  - main
  source_file: /src/hostap/tests/fuzzing/fuzzer-common.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/tests/fuzzing/fuzzer-common.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - read_msg
  - LLVMFuzzerTestOneInput
  source_file: /src/hostap/tests/fuzzing/tls-server/tls-server.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CERTDIR
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/hostap/tests/fuzzing/tls-server/tls-server.c
      type_or_value: '"../../hwsim/auth_serv/"'
    structs:
    - fields:
      - name: '*data'
        type: u8
      - name: data_len
        type: size_t
      - name: data_offset
        type: size_t
      item_type: struct
      name: context
      pos:
        line_end: 22
        line_start: 18
        source_file: /src/hostap/tests/fuzzing/tls-server/tls-server.c
    typedefs: []
    union: []
- function_names:
  - pmksa_cache_auth_add
  - pmksa_cache_auth_get
  - pmksa_cache_auth_init
  - pmksa_cache_auth_deinit
  - pmksa_cache_free_entry
  - pmksa_cache_auth_flush
  - pasn_send_mgmt
  - LLVMFuzzerTestOneInput
  source_file: /src/hostap/tests/fuzzing/pasn-resp/pasn-resp.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - process_scan_res
  - init_wpa
  - deinit_wpa
  - LLVMFuzzerTestOneInput
  source_file: /src/hostap/tests/fuzzing/scan-res/scan-res.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*data'
        type: u8
      - name: data_len
        type: size_t
      - name: wpa_s
        type: struct wpa_supplicant
      - name: driver
        type: struct wpa_driver_ops
      - name: conf
        type: struct wpa_config
      item_type: struct
      name: arg_ctx
      pos:
        line_end: 23
        line_start: 17
        source_file: /src/hostap/tests/fuzzing/scan-res/scan-res.c
    typedefs: []
    union: []
- function_names:
  - pasn_responder_pmksa_cache_get
  - debug_print
  - find_stopped
  - start_listen
  - stop_listen
  - dev_found
  - dev_lost
  - send_action
  - send_action_done
  - go_neg_req_rx
  - init_p2p
  - test_send
  - LLVMFuzzerTestOneInput
  source_file: /src/hostap/tests/fuzzing/p2p/p2p.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*data'
        type: u8
      - name: data_len
        type: size_t
      - name: '*p2p'
        type: struct p2p_data
      - name: count
        type: int
      item_type: struct
      name: arg_ctx
      pos:
        line_end: 115
        line_start: 110
        source_file: /src/hostap/tests/fuzzing/p2p/p2p.c
    typedefs: []
    union: []
- function_names:
  - eap_peer_method_alloc
  - eap_peer_method_register
  - eap_get_config
  - eap_get_config_identity
  - eap_set_anon_id
  - eap_sm_request_identity
  - eap_sm_request_sim
  - LLVMFuzzerTestOneInput
  source_file: /src/hostap/tests/fuzzing/eap-sim-peer/eap-sim-peer.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pasn_send_mgmt
  - LLVMFuzzerTestOneInput
  source_file: /src/hostap/tests/fuzzing/pasn-init/pasn-init.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/hostap/tests/fuzzing/x509/x509.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - read_msg
  - LLVMFuzzerTestOneInput
  source_file: /src/hostap/tests/fuzzing/tls-client/tls-client.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CERTDIR
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/hostap/tests/fuzzing/tls-client/tls-client.c
      type_or_value: '"../../hwsim/auth_serv/"'
    structs:
    - fields:
      - name: '*data'
        type: u8
      - name: data_len
        type: size_t
      - name: data_offset
        type: size_t
      item_type: struct
      name: context
      pos:
        line_end: 22
        line_start: 18
        source_file: /src/hostap/tests/fuzzing/tls-client/tls-client.c
    typedefs: []
    union: []
- function_names:
  - test_send_mgmt
  - gen_modes
  - init_hapd
  - LLVMFuzzerTestOneInput
  source_file: /src/hostap/tests/fuzzing/ap-mgmt/ap-mgmt.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*data'
        type: u8
      - name: data_len
        type: size_t
      - name: iface
        type: struct hostapd_iface
      - name: hapd
        type: struct hostapd_data
      - name: driver
        type: struct wpa_driver_ops
      - name: iconf
        type: struct hostapd_config
      - name: conf
        type: struct hostapd_bss_config
      item_type: struct
      name: arg_ctx
      pos:
        line_end: 34
        line_start: 26
        source_file: /src/hostap/tests/fuzzing/ap-mgmt/ap-mgmt.c
    typedefs: []
    union: []
- function_names:
  - read_msg
  - auth_eapol_rx
  - auth_logger
  - auth_read_msg
  - auth_send_eapol
  - auth_get_psk
  - supp_eapol_key_request
  - auth_set_key
  - auth_init_group
  - auth_init
  - deinit
  - LLVMFuzzerTestOneInput
  source_file: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*data'
        type: u8
      - name: data_len
        type: size_t
      - name: data_offset
        type: size_t
      - name: wpa1
        type: int
      - name: auth_addr[ETH_ALEN]
        type: u8
      - name: supp_addr[ETH_ALEN]
        type: u8
      - name: psk[PMK_LEN]
        type: u8
      - name: '*supp_eapol'
        type: u8
      - name: supp_eapol_len
        type: size_t
      - name: auth_cb
        type: struct wpa_auth_callbacks
      - name: '*auth_group'
        type: struct wpa_authenticator
      - name: '*auth'
        type: struct wpa_state_machine
      - name: supp_ie[80]
        type: u8
      - name: supp_ie_len
        type: size_t
      - name: key_request_done
        type: int
      - name: key_request_done1
        type: int
      - name: auth_sent
        type: int
      item_type: struct
      name: wpa
      pos:
        line_end: 40
        line_start: 16
        source_file: /src/hostap/tests/fuzzing/eapol-key-auth/eapol-key-auth.c
    typedefs: []
    union: []
- function_names:
  - read_msg
  - supp_get_bssid
  - supp_set_state
  - supp_eapol_rx
  - supp_read_msg
  - supp_ether_send
  - supp_alloc_eapol
  - supp_get_beacon_ie
  - supp_set_key
  - supp_mlme_setprotection
  - supp_cancel_auth_timeout
  - supp_get_network_ctx
  - supp_deauthenticate
  - supp_get_state
  - supp_init
  - deinit
  - LLVMFuzzerTestOneInput
  source_file: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*data'
        type: u8
      - name: data_len
        type: size_t
      - name: data_offset
        type: size_t
      - name: wpa1
        type: int
      - name: auth_addr[ETH_ALEN]
        type: u8
      - name: supp_addr[ETH_ALEN]
        type: u8
      - name: psk[PMK_LEN]
        type: u8
      - name: '*auth_eapol'
        type: u8
      - name: auth_eapol_len
        type: size_t
      - name: '*supp'
        type: struct wpa_sm
      - name: supp_ie[80]
        type: u8
      - name: supp_ie_len
        type: size_t
      item_type: struct
      name: wpa
      pos:
        line_end: 34
        line_start: 16
        source_file: /src/hostap/tests/fuzzing/eapol-key-supp/eapol-key-supp.c
    typedefs: []
    union: []
- function_names:
  - eap_peer_method_alloc
  - eap_peer_method_register
  - eap_get_config
  - eap_get_config_identity
  - eap_get_config_password
  - eap_get_config_password2
  - eap_get_config_new_password
  - eap_sm_request_identity
  - eap_sm_request_password
  - eap_sm_request_new_password
  - LLVMFuzzerTestOneInput
  source_file: /src/hostap/tests/fuzzing/eap-mschapv2-peer/eap-mschapv2-peer.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - asn1_class_str
  - LLVMFuzzerTestOneInput
  source_file: /src/hostap/tests/fuzzing/asn1/asn1.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - eap_peer_method_alloc
  - eap_peer_method_register
  - eap_get_config
  - eap_get_config_identity
  - eap_get_config_phase1
  - eap_set_anon_id
  - eap_sm_request_identity
  - eap_sm_request_sim
  - LLVMFuzzerTestOneInput
  source_file: /src/hostap/tests/fuzzing/eap-aka-peer/eap-aka-peer.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_send_wnm
  - init_wpa
  - deinit_wpa
  - LLVMFuzzerTestOneInput
  source_file: /src/hostap/tests/fuzzing/wnm/wnm.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*data'
        type: u8
      - name: data_len
        type: size_t
      - name: wpa_s
        type: struct wpa_supplicant
      - name: bss
        type: struct wpa_bss
      - name: driver
        type: struct wpa_driver_ops
      - name: wpa
        type: struct wpa_sm
      - name: conf
        type: struct wpa_config
      - name: ssid
        type: struct wpa_ssid
      item_type: struct
      name: arg_ctx
      pos:
        line_end: 31
        line_start: 22
        source_file: /src/hostap/tests/fuzzing/wnm/wnm.c
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/hostap/tests/fuzzing/radius/radius.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/hostap/tests/fuzzing/sae/sae.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/hostap/tests/fuzzing/json/json.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/hostap/tests/fuzzing/dpp-uri/dpp-uri.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_send_eapol
  - get_network_ctx
  - set_state
  - deauthenticate
  - alloc_eapol
  - ether_send
  - get_bssid
  - eapol_send
  - init_wpa
  - init_eapol
  - LLVMFuzzerTestOneInput
  source_file: /src/hostap/tests/fuzzing/eapol-supp/eapol-supp.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*data'
        type: u8
      - name: data_len
        type: size_t
      - name: '*wpa'
        type: struct wpa_sm
      - name: '*eapol'
        type: struct eapol_sm
      item_type: struct
      name: arg_ctx
      pos:
        line_end: 23
        line_start: 18
        source_file: /src/hostap/tests/fuzzing/eapol-supp/eapol-supp.c
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/hostap/hostapd/sae_pk_gen.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - hostapd_config_read_vlan_file
  - hostapd_config_read_maclist
  - hostapd_config_eap_user_salted
  - hostapd_config_read_eap_user
  - hostapd_config_read_radius_addr
  - hostapd_parse_das_client
  - hostapd_config_parse_key_mgmt
  - hostapd_config_parse_cipher
  - hostapd_config_read_wep
  - hostapd_parse_chanlist
  - hostapd_parse_intlist
  - hostapd_config_bss
  - rkh_derive_key
  - add_r0kh
  - add_r1kh
  - hostapd_config_read_rxkh_file
  - hostapd_config_ht_capab
  - hostapd_config_vht_capab
  - find_bit_offset
  - set_he_cap
  - hostapd_parse_he_srg_bitmap
  - hostapd_afc_parse_cert_ids
  - hostapd_afc_parse_position_data
  - hostapd_afc_parse_op_class
  - parse_roaming_consortium
  - parse_lang_string
  - parse_venue_name
  - parse_venue_url
  - parse_3gpp_cell_net
  - parse_nai_realm
  - parse_anqp_elem
  - parse_qos_map_set
  - hs20_parse_conn_capab
  - hs20_parse_wan_metrics
  - hs20_parse_oper_friendly_name
  - hostapd_config_parse_acs_chan_bias
  - parse_wpabuf_hex
  - parse_fils_realm
  - parse_tls_flags
  - add_airtime_weight
  - parse_sae_password_file
  - hostapd_dpp_controller_parse
  - get_hex_config
  - get_u16
  - get_hexstream
  - PARSE_TEST_PROBABILITY
  - hostapd_config_read
  - hostapd_set_iface
  source_file: /src/hostap/hostapd/config_file.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - hostapd_logger_cb
  - hostapd_driver_init
  - hostapd_interface_init
  - handle_term
  - handle_reload_iface
  - handle_reload
  - handle_dump_state
  - hostapd_global_init
  - hostapd_global_deinit
  - hostapd_global_run
  - show_version
  - usage
  - hostapd_msg_ifname_cb
  - hostapd_get_global_ctrl_iface
  - hostapd_get_ctrl_iface_group
  - hostapd_get_interface_names
  - gen_uuid
  - hostapd_periodic_call
  - hostapd_periodic
  - hostapd_global_cleanup_mld
  - main
  source_file: /src/hostap/hostapd/main.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HOSTAPD_CLEANUP_INTERVAL
      pos:
        line_end: 775
        line_start: 774
        source_file: /src/hostap/hostapd/main.c
      type_or_value: '10'
    structs:
    - fields:
      - name: '**drv_priv'
        type: void
      - name: drv_count
        type: size_t
      item_type: struct
      name: hapd_global
      pos:
        line_end: 39
        line_start: 36
        source_file: /src/hostap/hostapd/main.c
    typedefs: []
    union: []
- function_names:
  - db_table_exists
  - db_table_create_milenage
  - db_open
  - get_milenage_cb
  - db_get_milenage
  - db_update_milenage_sqn
  - open_socket
  - read_gsm_triplets
  - get_gsm_triplet
  - read_milenage
  - update_milenage_file
  - get_milenage
  - sim_req_auth
  - gsm_auth_req
  - inc_sqn
  - aka_req_auth
  - aka_auts
  - process_cmd
  - process
  - cleanup
  - handle_term
  - usage
  - main
  source_file: /src/hostap/hostapd/hlr_auc_gw.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EAP_SIM_MAX_CHAL
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/hostap/hostapd/hlr_auc_gw.c
      type_or_value: '3'
    - item_type: preproc_def
      name: EAP_AKA_RAND_LEN
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/hostap/hostapd/hlr_auc_gw.c
      type_or_value: '16'
    - item_type: preproc_def
      name: EAP_AKA_AUTN_LEN
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/hostap/hostapd/hlr_auc_gw.c
      type_or_value: '16'
    - item_type: preproc_def
      name: EAP_AKA_AUTS_LEN
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/hostap/hostapd/hlr_auc_gw.c
      type_or_value: '14'
    - item_type: preproc_def
      name: EAP_AKA_RES_MIN_LEN
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/hostap/hostapd/hlr_auc_gw.c
      type_or_value: '4'
    - item_type: preproc_def
      name: EAP_AKA_RES_MAX_LEN
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/hostap/hostapd/hlr_auc_gw.c
      type_or_value: '16'
    - item_type: preproc_def
      name: EAP_AKA_IK_LEN
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/hostap/hostapd/hlr_auc_gw.c
      type_or_value: '16'
    - item_type: preproc_def
      name: EAP_AKA_CK_LEN
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/hostap/hostapd/hlr_auc_gw.c
      type_or_value: '16'
    structs:
    - fields:
      - name: '*next'
        type: struct gsm_triplet
      - name: imsi[20]
        type: char
      - name: kc[8]
        type: u8
      - name: sres[4]
        type: u8
      - name: _rand[16]
        type: u8
      item_type: struct
      name: gsm_triplet
      pos:
        line_end: 77
        line_start: 71
        source_file: /src/hostap/hostapd/hlr_auc_gw.c
    - fields:
      - name: '*next'
        type: struct milenage_parameters
      - name: imsi[20]
        type: char
      - name: ki[16]
        type: u8
      - name: opc[16]
        type: u8
      - name: amf[2]
        type: u8
      - name: sqn[6]
        type: u8
      - name: set
        type: int
      - name: res_len
        type: size_t
      item_type: struct
      name: milenage_parameters
      pos:
        line_end: 91
        line_start: 82
        source_file: /src/hostap/hostapd/hlr_auc_gw.c
    typedefs: []
    union: []
- function_names:
  - hostapd_ctrl_iface_attach
  - hostapd_ctrl_iface_detach
  - hostapd_ctrl_iface_level
  - hostapd_ctrl_iface_new_sta
  - hostapd_ctrl_iface_sa_query
  - hostapd_ctrl_iface_wps_pin
  - hostapd_ctrl_iface_wps_check_pin
  - hostapd_ctrl_iface_wps_nfc_tag_read
  - hostapd_ctrl_iface_wps_nfc_config_token
  - hostapd_ctrl_iface_wps_nfc_token_gen
  - hostapd_ctrl_iface_wps_nfc_token
  - hostapd_ctrl_iface_nfc_get_handover_sel
  - hostapd_ctrl_iface_nfc_report_handover
  - hostapd_ctrl_iface_wps_ap_pin
  - hostapd_ctrl_iface_wps_config
  - pbc_status_str
  - hostapd_ctrl_iface_wps_get_status
  - hostapd_ctrl_iface_hs20_deauth_req
  - hostapd_ctrl_iface_set_qos_map_set
  - hostapd_ctrl_iface_send_qos_map_conf
  - hostapd_ctrl_iface_set_dscp_policy
  - hostapd_ctrl_send_unsolicited_dscp_req
  - hostapd_ctrl_iface_coloc_intf_req
  - hostapd_ctrl_iface_get_key_mgmt
  - hostapd_ctrl_iface_get_config
  - hostapd_ctrl_iface_set_band
  - hostapd_ctrl_iface_set
  - hostapd_ctrl_iface_get
  - hostapd_ctrl_iface_enable
  - hostapd_ctrl_iface_reload
  - hostapd_ctrl_iface_reload_bss
  - hostapd_ctrl_iface_disable
  - hostapd_ctrl_iface_kick_mismatch_psk_sta_iter
  - hostapd_ctrl_iface_reload_wpa_psk
  - hostapd_ctrl_iface_get_rxkhs
  - hostapd_ctrl_iface_reload_rxkhs
  - hostapd_ctrl_iface_radar
  - hostapd_ctrl_iface_mgmt_tx
  - hostapd_ctrl_iface_mgmt_tx_status_process
  - hostapd_ctrl_iface_mgmt_rx_process
  - hostapd_ctrl_iface_eapol_rx
  - hostapd_ctrl_iface_eapol_tx
  - ipv4_hdr_checksum
  - hostapd_data_test_rx
  - hostapd_ctrl_iface_data_test_config
  - hostapd_ctrl_iface_data_test_tx
  - hostapd_ctrl_iface_data_test_frame
  - hostapd_ctrl_reset_pn
  - hostapd_ctrl_set_key
  - restore_tk
  - hostapd_ctrl_resend_m1
  - hostapd_ctrl_resend_m3
  - hostapd_ctrl_resend_group_m1
  - hostapd_ctrl_rekey_ptk
  - hostapd_ctrl_get_pmksa_pmk
  - hostapd_ctrl_get_pmk
  - hostapd_ctrl_register_frame
  - hostapd_ctrl_iface_chan_switch
  - hostapd_ctrl_iface_color_change
  - hostapd_maxnss
  - hostapd_ctrl_iface_notify_cw_htaction
  - hostapd_ctrl_iface_notify_cw_vhtaction
  - hostapd_ctrl_iface_notify_cw_change
  - hostapd_ctrl_iface_set_bw
  - hostapd_ctrl_iface_mib
  - hostapd_ctrl_iface_vendor
  - hostapd_ctrl_iface_eapol_reauth
  - hostapd_ctrl_iface_eapol_set
  - hostapd_ctrl_iface_log_level
  - hostapd_ctrl_iface_track_sta_list
  - hostapd_ctrl_iface_dump_beacon
  - hostapd_ctrl_iface_req_lci
  - hostapd_ctrl_iface_req_range
  - hostapd_ctrl_iface_req_beacon
  - hostapd_ctrl_iface_req_link_measurement
  - hostapd_ctrl_iface_show_neighbor
  - hostapd_ctrl_iface_set_neighbor
  - hostapd_ctrl_iface_remove_neighbor
  - hostapd_ctrl_driver_flags
  - hostapd_ctrl_driver_flags2
  - hostapd_ctrl_iface_get_capability
  - hostapd_ctrl_iface_driver_cmd
  - hostapd_ctrl_iface_enable_mld
  - hostapd_disable_iface_bss
  - hostapd_ctrl_iface_disable_mld
  - hostapd_ctrl_iface_link_remove
  - hostapd_ctrl_iface_link_enable
  - hostapd_ctrl_nan_publish
  - hostapd_ctrl_nan_cancel_publish
  - hostapd_ctrl_nan_update_publish
  - hostapd_ctrl_nan_subscribe
  - hostapd_ctrl_nan_cancel_subscribe
  - hostapd_ctrl_nan_transmit
  - hostapd_ctrl_iface_sae_password_bind
  - hapd_ctrl_proc_coord_cb
  - hapd_ctrl_proc_coord_test_cb
  - hostapd_ctrl_iface_proc_coord_test
  - hostapd_ctrl_afc_get_request
  - hostapd_ctrl_afc_get_response
  - hostapd_ctrl_afc_send_request
  - hostapd_ctrl_iface_receive
  - hostapd_mld_ctrl_iface_receive_process
  - for_each_mld_link
  - hostapd_mld_ctrl_iface_receive
  - hostapd_mld_ctrl_iface_path
  - hostapd_mld_ctrl_iface_init
  - hostapd_mld_ctrl_iface_deinit
  - hostapd_ctrl_iface_path
  - hostapd_ctrl_iface_msg_cb
  - hostapd_ctrl_iface_init
  - hostapd_ctrl_iface_deinit
  - hostapd_ctrl_iface_add
  - hostapd_ctrl_iface_remove
  - hostapd_global_ctrl_iface_attach
  - hostapd_global_ctrl_iface_detach
  - hostapd_ctrl_iface_flush
  - hostapd_global_ctrl_iface_fst_attach
  - hostapd_global_ctrl_iface_fst_detach
  - hostapd_interfaces_get_hapd
  - hostapd_ctrl_iface_dup_param
  - hostapd_global_ctrl_iface_interfaces
  - hostapd_global_ctrl_iface_dup_network
  - hostapd_global_ctrl_iface_ifname
  - hostapd_global_ctrl_iface_receive
  - hostapd_global_ctrl_iface_path
  - hostapd_global_ctrl_iface_init
  - hostapd_global_ctrl_iface_deinit
  - hostapd_ctrl_check_event_enabled
  - hostapd_ctrl_iface_send_internal
  - dl_list_for_each_safe
  - hostapd_ctrl_iface_send
  source_file: /src/hostap/hostapd/ctrl_iface.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HOSTAPD_CLI_DUP_VALUE_MAX_LEN
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/hostap/hostapd/ctrl_iface.c
      type_or_value: '256'
    - item_type: preproc_def
      name: HOSTAPD_CTRL_IFACE_PORT
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/hostap/hostapd/ctrl_iface.c
      type_or_value: '8877'
    - item_type: preproc_def
      name: HOSTAPD_CTRL_IFACE_PORT_LIMIT
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/hostap/hostapd/ctrl_iface.c
      type_or_value: '50'
    - item_type: preproc_def
      name: HOSTAPD_GLOBAL_CTRL_IFACE_PORT
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/hostap/hostapd/ctrl_iface.c
      type_or_value: '8878'
    - item_type: preproc_def
      name: HOSTAPD_GLOBAL_CTRL_IFACE_PORT_LIMIT
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/hostap/hostapd/ctrl_iface.c
      type_or_value: '50'
    - item_type: preproc_def
      name: HWSIM_PACKETLEN
      pos:
        line_end: 2006
        line_start: 2005
        source_file: /src/hostap/hostapd/ctrl_iface.c
      type_or_value: '1500'
    - item_type: preproc_def
      name: HWSIM_IP_LEN
      pos:
        line_end: 2007
        line_start: 2006
        source_file: /src/hostap/hostapd/ctrl_iface.c
      type_or_value: (HWSIM_PACKETLEN - sizeof(struct ether_header))
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/hostapd/config_file.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - usage
  - register_event_handler
  - unregister_event_handler
  - hostapd_cli_open_connection
  - hostapd_cli_close_connection
  - hostapd_cli_reconnect
  - hostapd_cli_msg_cb
  - _wpa_ctrl_command
  - wpa_ctrl_command
  - hostapd_cli_cmd
  - hostapd_cli_cmd_ping
  - hostapd_cli_cmd_relog
  - hostapd_cli_cmd_close_log
  - hostapd_cli_cmd_status
  - hostapd_cli_cmd_mib
  - hostapd_cli_exec
  - hostapd_cli_action_process
  - hostapd_cli_action_cb
  - hostapd_cli_cmd_sta
  - hostapd_complete_stations
  - hostapd_cli_cmd_new_sta
  - hostapd_cli_cmd_deauthenticate
  - hostapd_cli_cmd_disassociate
  - hostapd_cli_cmd_signature
  - hostapd_cli_cmd_sa_query
  - hostapd_cli_cmd_wps_pin
  - hostapd_cli_cmd_wps_check_pin
  - hostapd_cli_cmd_wps_pbc
  - hostapd_cli_cmd_wps_cancel
  - hostapd_cli_cmd_wps_nfc_tag_read
  - hostapd_cli_cmd_wps_nfc_config_token
  - hostapd_cli_cmd_wps_nfc_token
  - hostapd_cli_cmd_nfc_get_handover_sel
  - hostapd_cli_cmd_wps_ap_pin
  - hostapd_cli_cmd_wps_get_status
  - hostapd_cli_cmd_wps_config
  - hostapd_cli_cmd_disassoc_imminent
  - hostapd_cli_cmd_ess_disassoc
  - hostapd_cli_cmd_bss_tm_req
  - hostapd_cli_cmd_get_config
  - wpa_ctrl_command_sta
  - hostapd_cli_cmd_all_sta
  - hostapd_cli_cmd_list_sta
  - hostapd_cli_cmd_help
  - hostapd_cli_complete_help
  - hostapd_cli_cmd_license
  - hostapd_cli_cmd_set_qos_map_set
  - hostapd_cli_cmd_send_qos_map_conf
  - hostapd_cli_cmd_set_dscp_policy
  - hostapd_cli_cmd_send_unsolicited_dscp_req
  - hostapd_cli_cmd_hs20_wnm_notif
  - hostapd_cli_cmd_hs20_deauth_req
  - hostapd_cli_cmd_quit
  - hostapd_cli_cmd_level
  - update_stations
  - hostapd_cli_get_interfaces
  - hostapd_cli_list_interfaces
  - hostapd_cli_cmd_interface
  - hostapd_complete_interface
  - hostapd_cli_cmd_set
  - hostapd_complete_set
  - hostapd_cli_cmd_get
  - hostapd_complete_get
  - hostapd_cli_cmd_fst
  - hostapd_cli_cmd_color_change
  - hostapd_cli_cmd_chan_switch
  - hostapd_cli_cmd_notify_cw_change
  - hostapd_cli_cmd_set_bw
  - hostapd_cli_cmd_enable
  - hostapd_cli_cmd_reload
  - hostapd_cli_cmd_reload_bss
  - hostapd_cli_cmd_reload_config
  - hostapd_cli_cmd_disable
  - hostapd_cli_cmd_enable_mld
  - hostapd_cli_cmd_remove_link
  - hostapd_cli_cmd_link_enable
  - hostapd_cli_cmd_disable_mld
  - hostapd_cli_cmd_update_beacon
  - hostapd_cli_cmd_stop_ap
  - hostapd_cli_cmd_vendor
  - hostapd_cli_cmd_erp_flush
  - hostapd_cli_cmd_log_level
  - hostapd_cli_cmd_raw
  - hostapd_cli_cmd_pmksa
  - hostapd_cli_cmd_pmksa_flush
  - hostapd_cli_cmd_set_neighbor
  - hostapd_cli_cmd_show_neighbor
  - hostapd_cli_cmd_remove_neighbor
  - hostapd_cli_cmd_req_lci
  - hostapd_cli_cmd_req_range
  - hostapd_cli_cmd_driver_flags
  - hostapd_cli_cmd_driver_flags2
  - hostapd_cli_cmd_dpp_qr_code
  - hostapd_cli_cmd_dpp_bootstrap_gen
  - hostapd_cli_cmd_dpp_bootstrap_remove
  - hostapd_cli_cmd_dpp_bootstrap_get_uri
  - hostapd_cli_cmd_dpp_bootstrap_info
  - hostapd_cli_cmd_dpp_bootstrap_set
  - hostapd_cli_cmd_dpp_auth_init
  - hostapd_cli_cmd_dpp_listen
  - hostapd_cli_cmd_dpp_stop_listen
  - hostapd_cli_cmd_dpp_configurator_add
  - hostapd_cli_cmd_dpp_configurator_remove
  - hostapd_cli_cmd_dpp_configurator_get_key
  - hostapd_cli_cmd_dpp_configurator_sign
  - hostapd_cli_cmd_dpp_pkex_add
  - hostapd_cli_cmd_dpp_pkex_remove
  - hostapd_cli_cmd_dpp_controller_start
  - hostapd_cli_cmd_dpp_controller_stop
  - hostapd_cli_cmd_dpp_chirp
  - hostapd_cli_cmd_dpp_stop_chirp
  - hostapd_cli_cmd_dpp_push_button
  - hostapd_cli_cmd_accept_macacl
  - hostapd_cli_cmd_deny_macacl
  - hostapd_cli_cmd_poll_sta
  - hostapd_cli_cmd_req_beacon
  - hostapd_cli_cmd_req_link_measurement
  - hostapd_cli_cmd_reload_wpa_psk
  - hostapd_cli_cmd_get_rxkhs
  - hostapd_cli_cmd_reload_rxkhs
  - hostapd_cli_cmd_driver
  - hostapd_cli_cmd_afc_get_request
  - hostapd_cli_cmd_afc_get_response
  - hostapd_cli_cmd_afc_send_request
  - print_cmd_help
  - print_help
  - wpa_request
  - cli_event
  - hostapd_cli_recv_pending
  - hostapd_cli_receive
  - hostapd_cli_ping
  - hostapd_cli_eloop_terminate
  - hostapd_cli_edit_cmd_cb
  - hostapd_cli_edit_eof_cb
  - list_cmd_list
  - hostapd_cli_cmd_completion
  - hostapd_cli_edit_completion_cb
  - hostapd_cli_interactive
  - hostapd_cli_cleanup
  - hostapd_cli_action_ping
  - hostapd_cli_action_receive
  - hostapd_cli_action
  - main
  - main
  source_file: /src/hostap/hostapd/hostapd_cli.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CONFIG_CTRL_IFACE_DIR
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/hostap/hostapd/hostapd_cli.c
      type_or_value: '"/var/run/hostapd"'
    structs:
    - fields:
      - name: '*cmd'
        type: char
      - name: (*handler)(struct wpa_ctrl *ctrl, int argc, char *argv[])
        type: int
      - name: '** (*completion)(const char *str, int pos)'
        type: char
      - name: '*usage'
        type: char
      item_type: struct
      name: hostapd_cli_cmd
      pos:
        line_end: 1797
        line_start: 1792
        source_file: /src/hostap/hostapd/hostapd_cli.c
    typedefs: []
    union: []
- function_names:
  - hapd_module_tests
  source_file: /src/hostap/hostapd/hapd_module_tests.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/hostap/hostapd/nt_password_hash.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - eap_server_register_methods
  source_file: /src/hostap/hostapd/eap_register.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - hostapd_ctrl_iface_init
  - hostapd_ctrl_iface_deinit
  - hostapd_global_ctrl_iface_init
  - hostapd_global_ctrl_iface_deinit
  source_file: /src/hostap/hostapd/ctrl_iface.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/hostapd/eap_register.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - wpaspy_open
  - wpaspy_close
  - wpaspy_request
  - wpaspy_attach
  - wpaspy_detach
  - wpaspy_pending
  - wpaspy_recv
  - if
  - initwpaspy
  - initwpaspy
  source_file: /src/hostap/wpaspy/wpaspy.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: struct
        type: PyObject_HEAD
      - name: '*ctrl'
        type: wpa_ctrl
      - name: attached
        type: int
      item_type: struct
      name: wpaspy_obj
      pos:
        line_end: 18
        line_start: 14
        source_file: /src/hostap/wpaspy/wpaspy.c
    typedefs: []
    union: []
- function_names:
  - gcmp_aad_nonce
  - gcmp_decrypt
  - gcmp_encrypt
  source_file: /src/hostap/wlantest/gcmp.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - write_pcap_with_radiotap
  - read_cap_file
  - read_wired_cap_file
  source_file: /src/hostap/wlantest/readpcap.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - write_pcap_init
  - write_pcap_deinit
  - write_pcap_captured
  - write_pcap_decrypted
  - PAD32
  - ALIGN32
  - write_pcapng_init
  - write_pcapng_deinit
  - pcapng_add_comments
  - write_pcapng_decrypted
  - write_pcapng_write_read
  - write_pcapng_captured
  source_file: /src/hostap/wlantest/writepcap.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PCAPNG_BYTE_ORDER_MAGIC
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/hostap/wlantest/writepcap.c
      type_or_value: '0x1a2b3c4d'
    - item_type: preproc_def
      name: PCAPNG_BLOCK_IFACE_DESC
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/hostap/wlantest/writepcap.c
      type_or_value: '0x00000001'
    - item_type: preproc_def
      name: PCAPNG_BLOCK_PACKET
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/hostap/wlantest/writepcap.c
      type_or_value: '0x00000002'
    - item_type: preproc_def
      name: PCAPNG_BLOCK_SIMPLE_PACKET
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/hostap/wlantest/writepcap.c
      type_or_value: '0x00000003'
    - item_type: preproc_def
      name: PCAPNG_BLOCK_NAME_RESOLUTION
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/hostap/wlantest/writepcap.c
      type_or_value: '0x00000004'
    - item_type: preproc_def
      name: PCAPNG_BLOCK_INTERFACE_STATISTICS
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/hostap/wlantest/writepcap.c
      type_or_value: '0x00000005'
    - item_type: preproc_def
      name: PCAPNG_BLOCK_ENHANCED_PACKET
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/hostap/wlantest/writepcap.c
      type_or_value: '0x00000006'
    - item_type: preproc_def
      name: PCAPNG_BLOCK_SECTION_HEADER
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/hostap/wlantest/writepcap.c
      type_or_value: '0x0a0d0d0a'
    - item_type: preproc_def
      name: LINKTYPE_IEEE802_11
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/hostap/wlantest/writepcap.c
      type_or_value: '105'
    - item_type: preproc_def
      name: LINKTYPE_IEEE802_11_RADIO
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/hostap/wlantest/writepcap.c
      type_or_value: '127'
    structs:
    - fields:
      - name: block_type
        type: u32
      - name: block_total_len
        type: u32
      - name: byte_order_magic
        type: u32
      - name: major_version
        type: u16
      - name: minor_version
        type: u16
      - name: section_len
        type: u64
      - name: block_total_len2
        type: u32
      item_type: struct
      name: pcapng_section_header
      pos:
        line_end: 121
        line_start: 113
        source_file: /src/hostap/wlantest/writepcap.c
    - fields:
      - name: block_type
        type: u32
      - name: block_total_len
        type: u32
      - name: link_type
        type: u16
      - name: reserved
        type: u16
      - name: snap_len
        type: u32
      - name: block_total_len2
        type: u32
      item_type: struct
      name: pcapng_interface_description
      pos:
        line_end: 130
        line_start: 123
        source_file: /src/hostap/wlantest/writepcap.c
    - fields:
      - name: block_type
        type: u32
      - name: block_total_len
        type: u32
      - name: interface_id
        type: u32
      - name: timestamp_high
        type: u32
      - name: timestamp_low
        type: u32
      - name: captured_len
        type: u32
      - name: packet_len
        type: u32
      item_type: struct
      name: pcapng_enhanced_packet
      pos:
        line_end: 143
        line_start: 132
        source_file: /src/hostap/wlantest/writepcap.c
    typedefs: []
    union: []
- function_names:
  - test_vector_tkip
  - test_vector_ccmp
  - test_vector_ccmp_pv1
  - test_vector_bip
  - test_vector_bip_s1g_beacon
  - test_vector_bip_s1g_beacon_ext
  - test_vector_bip_s1g_beacon_bce
  - test_vector_bip_s1g_beacon_bce_ext
  - test_vector_ccmp_mgmt
  - run_gcmp
  - test_vector_gcmp
  - test_vector_gcmp_256
  - test_vector_ccmp_256
  - test_vector_bip_gmac_128
  - test_vector_bip_gmac_128_s1g_beacon
  - test_vector_bip_gmac_128_s1g_beacon_ext
  - test_vector_bip_gmac_128_s1g_beacon_bce
  - test_vector_bip_gmac_128_s1g_beacon_bce_ext
  - test_vector_bip_gmac_256
  - test_vector_bip_gmac_256_s1g_beacon
  - test_vector_bip_gmac_256_s1g_beacon_ext
  - test_vector_bip_gmac_256_s1g_beacon_bce
  - test_vector_bip_gmac_256_s1g_beacon_bce_ext
  - main
  source_file: /src/hostap/wlantest/test_vectors.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: tk[16]
        type: u8
      - name: pn[6]
        type: u8
      - name: frame[300]
        type: u8
      - name: hdr_len
        type: size_t
      - name: payload_len
        type: size_t
      - name: mic[16]
        type: u8
      - name: encr[300]
        type: u8
      item_type: struct
      name: gcmp_test
      pos:
        line_end: 602
        line_start: 594
        source_file: /src/hostap/wlantest/test_vectors.c
    typedefs: []
    union: []
- function_names:
  - data_stype
  - rx_data_vlan
  - rx_data_eth
  - rx_data_process
  - try_ptk
  - try_all_ptk
  - check_plaintext_prot
  - rx_data_bss_prot_group
  - try_ptk_decrypt
  - rx_data_bss_prot
  - rx_data_bss
  - get_tdls
  - add_direct_link
  - add_ap_path
  - rx_data
  source_file: /src/hostap/wlantest/rx_data.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mgmt_stype
  - parse_basic_ml
  - parse_basic_ml_elems
  - parse_reconfig_ml
  - parse_reconfig_ml_elems
  - rx_mgmt_beacon
  - rx_mgmt_probe_resp
  - process_fils_auth
  - process_ft_auth
  - process_sae_auth
  - rx_mgmt_auth
  - deauth_all_stas
  - tdls_link_down
  - rx_mgmt_deauth
  - get_fils_session
  - try_rmsk
  - derive_fils_keys
  - dump_mld_info
  - rx_mgmt_assoc_req
  - decrypt_fils_assoc_resp
  - rx_mgmt_assoc_resp
  - rx_mgmt_reassoc_req
  - process_gtk_subelem
  - process_igtk_subelem
  - process_bigtk_subelem
  - process_fte_group_keys
  - process_fte_group_keys_mlo
  - rx_mgmt_reassoc_resp
  - disassoc_all_stas
  - rx_mgmt_disassoc
  - rx_mgmt_action_ft_request
  - rx_mgmt_action_ft_response
  - rx_mgmt_action_ft
  - rx_mgmt_action_sa_query_req
  - rx_mgmt_action_sa_query_resp
  - rx_mgmt_action_sa_query
  - rx_mgmt_action_link_reconfig_request
  - rx_mgmt_action_link_reconfig_response
  - rx_mgmt_action_protected_eht
  - rx_mgmt_location_measurement_report
  - rx_mgmt_action_no_bss_public
  - rx_mgmt_prot_ftm_request
  - rx_mgmt_prot_ftm
  - rx_mgmt_prot_ftm_report
  - rx_mgmt_action_no_bss_protected_ftm
  - rx_mgmt_action_no_bss
  - rx_mgmt_action
  - check_mmie_mic
  - check_bip
  - try_tk
  - mgmt_decrypt_tk
  - mgmt_decrypt
  - is_robust_action_category
  - check_mgmt_ccmp_gcmp
  - rx_mgmt
  - rx_mgmt_deauth_ack
  - rx_mgmt_disassoc_ack
  - rx_mgmt_ack
  source_file: /src/hostap/wlantest/rx_mgmt.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - get_prev_arg_pos
  - attr_get
  - attr_hdr_add
  - attr_add_str
  - attr_add_be32
  - cmd_send_and_recv
  - cmd_simple
  - get_bssid_list
  - get_sta_list
  - cmd_ping
  - cmd_terminate
  - cmd_list_bss
  - cmd_list_sta
  - complete_list_sta
  - cmd_flush
  - cmd_clear_sta_counters
  - complete_clear_sta_counters
  - cmd_clear_bss_counters
  - complete_clear_bss_counters
  - cmd_clear_tdls_counters
  - complete_clear_tdls_counters
  - cmd_get_sta_counter
  - complete_get_sta_counter
  - cmd_get_bss_counter
  - complete_get_bss_counter
  - cmd_relog
  - cmd_get_tdls_counter
  - complete_get_tdls_counter
  - cmd_inject
  - complete_inject
  - add_hex
  - cmd_send
  - complete_send
  - cmd_version
  - cmd_add_passphrase
  - cmd_add_wepkey
  - cmd_info_sta
  - complete_info_sta
  - cmd_info_bss
  - complete_info_bss
  - cmd_get_tx_tid
  - cmd_get_rx_tid
  - complete_get_tid
  - wlantest_cli_cmd_help
  - wlantest_cli_complete_help
  - print_cmd_help
  - print_help
  - ctrl_command
  - wlantest_cli_edit_cmd_cb
  - wlantest_cli_eloop_terminate
  - wlantest_cli_edit_eof_cb
  - wlantest_cli_cmd_list
  - wlantest_cli_cmd_completion
  - wlantest_cli_edit_completion_cb
  - wlantest_cli_interactive
  - main
  source_file: /src/hostap/wlantest/wlantest_cli.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: num
        type: enum wlantest_sta_counter
      item_type: struct
      name: sta_counters
      pos:
        line_end: 490
        line_start: 487
        source_file: /src/hostap/wlantest/wlantest_cli.c
    - fields:
      - name: '*name'
        type: char
      - name: num
        type: enum wlantest_bss_counter
      item_type: struct
      name: bss_counters
      pos:
        line_end: 637
        line_start: 634
        source_file: /src/hostap/wlantest/wlantest_cli.c
    - fields:
      - name: '*name'
        type: char
      - name: num
        type: enum wlantest_tdls_counter
      item_type: struct
      name: tdls_counters
      pos:
        line_end: 738
        line_start: 735
        source_file: /src/hostap/wlantest/wlantest_cli.c
    - fields:
      - name: '*name'
        type: char
      - name: frame
        type: enum wlantest_inject_frame
      item_type: struct
      name: inject_frames
      pos:
        line_end: 858
        line_start: 855
        source_file: /src/hostap/wlantest/wlantest_cli.c
    - fields:
      - name: '*name'
        type: char
      - name: num
        type: enum wlantest_sta_info
      item_type: struct
      name: sta_infos
      pos:
        line_end: 1231
        line_start: 1228
        source_file: /src/hostap/wlantest/wlantest_cli.c
    - fields:
      - name: '*name'
        type: char
      - name: num
        type: enum wlantest_bss_info
      item_type: struct
      name: bss_infos
      pos:
        line_end: 1344
        line_start: 1341
        source_file: /src/hostap/wlantest/wlantest_cli.c
    - fields:
      - name: '*cmd'
        type: char
      - name: (*handler)(int s, int argc, char *argv[])
        type: int
      - name: '*usage'
        type: char
      - name: '** (*complete)(int s, const char *str, int pos)'
        type: char
      item_type: struct
      name: wlantest_cli_cmd
      pos:
        line_end: 1581
        line_start: 1576
        source_file: /src/hostap/wlantest/wlantest_cli.c
    - fields:
      - name: s
        type: int
      item_type: struct
      name: wlantest_cli
      pos:
        line_end: 1714
        line_start: 1712
        source_file: /src/hostap/wlantest/wlantest_cli.c
    typedefs: []
    union: []
- function_names:
  - inject_frame
  - is_robust_mgmt
  - wlantest_inject_bip
  - wlantest_inject_prot_bc
  - wlantest_inject_prot
  - wlantest_inject
  source_file: /src/hostap/wlantest/inject.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IEEE80211_RADIOTAP_F_FRAG
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/hostap/wlantest/inject.c
      type_or_value: '0x08'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/wlantest/wlantest_ctrl.h
  types:
    enum:
    - enumerators:
      - name: WLANTEST_CTRL_PING
      - name: WLANTEST_CTRL_FLUSH
      - name: WLANTEST_CTRL_GET_BSS_COUNTER
      - name: WLANTEST_CTRL_INFO_STA
      - name: WLANTEST_CTRL_GET_TX_TID
      - name: WLANTEST_CTRL_FAILURE
      - name: WLANTEST_CTRL_TERMINATE
      - name: WLANTEST_CTRL_CLEAR_STA_COUNTERS
      - name: WLANTEST_CTRL_INFO_BSS
      - name: WLANTEST_CTRL_INJECT
      - name: WLANTEST_CTRL_CLEAR_TDLS_COUNTERS
      - name: WLANTEST_CTRL_GET_RX_TID
      - name: WLANTEST_CTRL_SUCCESS
      - name: WLANTEST_CTRL_INVALID_CMD
      - name: WLANTEST_CTRL_LIST_BSS
      - name: WLANTEST_CTRL_CLEAR_BSS_COUNTERS
      - name: WLANTEST_CTRL_SEND
      - name: WLANTEST_CTRL_VERSION
      - name: WLANTEST_CTRL_GET_TDLS_COUNTER
      - name: WLANTEST_CTRL_UNKNOWN_CMD
      - name: WLANTEST_CTRL_LIST_STA
      - name: WLANTEST_CTRL_ADD_PASSPHRASE
      - name: WLANTEST_CTRL_GET_STA_COUNTER
      - name: WLANTEST_CTRL_RELOG
      item_type: enum
      name: wlantest_ctrl_cmd
      pos:
        line_end: 40
        line_start: 15
        source_file: /src/hostap/wlantest/wlantest_ctrl.h
    - enumerators:
      - name: WLANTEST_ATTR_BSSID
      - name: WLANTEST_ATTR_COUNTER
      - name: WLANTEST_ATTR_STA_ADDR
      - name: WLANTEST_ATTR_STA_COUNTER
      - name: WLANTEST_ATTR_BSS_COUNTER
      - name: WLANTEST_ATTR_INJECT_FRAME
      - name: WLANTEST_ATTR_INJECT_SENDER_AP
      - name: WLANTEST_ATTR_INJECT_PROTECTION
      - name: WLANTEST_ATTR_VERSION
      - name: WLANTEST_ATTR_PASSPHRASE
      - name: WLANTEST_ATTR_INFO
      - name: WLANTEST_ATTR_FRAME
      - name: WLANTEST_ATTR_WEPKEY
      - name: WLANTEST_ATTR_TDLS_COUNTER
      - name: WLANTEST_ATTR_TID
      - name: WLANTEST_ATTR_STA_INFO
      - name: WLANTEST_ATTR_STA2_ADDR
      - name: WLANTEST_ATTR_BSS_INFO
      item_type: enum
      name: wlantest_ctrl_attr
      pos:
        line_end: 61
        line_start: 42
        source_file: /src/hostap/wlantest/wlantest_ctrl.h
    - enumerators:
      - name: WLANTEST_BSS_COUNTER_VALID_BIP_MMIE
      - name: WLANTEST_BSS_COUNTER_MISSING_BIP_MMIE
      - name: WLANTEST_BSS_COUNTER_BIP_DEAUTH
      - name: WLANTEST_BSS_COUNTER_BIP_DISASSOC
      - name: WLANTEST_BSS_COUNTER_INVALID_BIP_MMIE
      - name: WLANTEST_BSS_COUNTER_PROBE_RESPONSE
      - name: NUM_WLANTEST_BSS_COUNTER
      item_type: enum
      name: wlantest_bss_counter
      pos:
        line_end: 71
        line_start: 63
        source_file: /src/hostap/wlantest/wlantest_ctrl.h
    - enumerators:
      - name: WLANTEST_STA_COUNTER_PTK_LEARNED
      - name: WLANTEST_STA_COUNTER_INVALID_DEAUTH_RX
      - name: WLANTEST_STA_COUNTER_INVALID_SAQUERYREQ_RX
      - name: WLANTEST_STA_COUNTER_INVALID_DISASSOC_RX
      - name: WLANTEST_STA_COUNTER_INVALID_SAQUERYRESP_RX
      - name: WLANTEST_STA_COUNTER_PING_OK_FIRST_ASSOC
      - name: WLANTEST_STA_COUNTER_VALID_DISASSOC_RX_ACK
      - name: WLANTEST_STA_COUNTER_DEAUTH_RX_AWAKE
      - name: WLANTEST_STA_COUNTER_DEAUTH_RX_RC6
      - name: WLANTEST_STA_COUNTER_AUTH_RX
      - name: WLANTEST_STA_COUNTER_VALID_DEAUTH_TX
      - name: WLANTEST_STA_COUNTER_VALID_DISASSOC_TX
      - name: WLANTEST_STA_COUNTER_VALID_SAQUERYRESP_TX
      - name: WLANTEST_STA_COUNTER_VALID_SAQUERYREQ_TX
      - name: WLANTEST_STA_COUNTER_PING_OK
      - name: WLANTEST_STA_COUNTER_INVALID_DEAUTH_RX_ACK
      - name: WLANTEST_STA_COUNTER_DISASSOC_RX_ASLEEP
      - name: WLANTEST_STA_COUNTER_DEAUTH_RX_RC7
      - name: NUM_WLANTEST_STA_COUNTER
      - name: WLANTEST_STA_COUNTER_ASSOCREQ_TX
      - name: WLANTEST_STA_COUNTER_VALID_DEAUTH_RX
      - name: WLANTEST_STA_COUNTER_VALID_SAQUERYREQ_RX
      - name: WLANTEST_STA_COUNTER_VALID_SAQUERYRESP_RX
      - name: WLANTEST_STA_COUNTER_VALID_DISASSOC_RX
      - name: WLANTEST_STA_COUNTER_ASSOCRESP_COMEBACK
      - name: WLANTEST_STA_COUNTER_INVALID_DISASSOC_RX_ACK
      - name: WLANTEST_STA_COUNTER_DISASSOC_RX_AWAKE
      - name: WLANTEST_STA_COUNTER_DISASSOC_RX_RC6
      - name: WLANTEST_STA_COUNTER_DISASSOC_RX_RC7
      - name: WLANTEST_STA_COUNTER_AUTH_TX
      - name: WLANTEST_STA_COUNTER_REASSOCREQ_TX
      - name: WLANTEST_STA_COUNTER_INVALID_DEAUTH_TX
      - name: WLANTEST_STA_COUNTER_INVALID_DISASSOC_TX
      - name: WLANTEST_STA_COUNTER_INVALID_SAQUERYREQ_TX
      - name: WLANTEST_STA_COUNTER_INVALID_SAQUERYRESP_TX
      - name: WLANTEST_STA_COUNTER_REASSOCRESP_COMEBACK
      - name: WLANTEST_STA_COUNTER_VALID_DEAUTH_RX_ACK
      - name: WLANTEST_STA_COUNTER_DEAUTH_RX_ASLEEP
      - name: WLANTEST_STA_COUNTER_PROT_DATA_TX
      item_type: enum
      name: wlantest_sta_counter
      pos:
        line_end: 113
        line_start: 73
        source_file: /src/hostap/wlantest/wlantest_ctrl.h
    - enumerators:
      - name: WLANTEST_TDLS_COUNTER_VALID_DIRECT_LINK
      - name: WLANTEST_TDLS_COUNTER_SETUP_REQ
      - name: WLANTEST_TDLS_COUNTER_INVALID_AP_PATH
      - name: WLANTEST_TDLS_COUNTER_INVALID_DIRECT_LINK
      - name: WLANTEST_TDLS_COUNTER_VALID_AP_PATH
      - name: WLANTEST_TDLS_COUNTER_SETUP_RESP_OK
      - name: WLANTEST_TDLS_COUNTER_SETUP_RESP_FAIL
      - name: WLANTEST_TDLS_COUNTER_SETUP_CONF_OK
      - name: WLANTEST_TDLS_COUNTER_SETUP_CONF_FAIL
      - name: WLANTEST_TDLS_COUNTER_TEARDOWN
      - name: NUM_WLANTEST_TDLS_COUNTER
      item_type: enum
      name: wlantest_tdls_counter
      pos:
        line_end: 127
        line_start: 115
        source_file: /src/hostap/wlantest/wlantest_ctrl.h
    - enumerators:
      - name: WLANTEST_FRAME_AUTH
      - name: WLANTEST_FRAME_ASSOCREQ
      - name: WLANTEST_FRAME_REASSOCREQ
      - name: WLANTEST_FRAME_DEAUTH
      - name: WLANTEST_FRAME_DISASSOC
      - name: WLANTEST_FRAME_SAQUERYREQ
      item_type: enum
      name: wlantest_inject_frame
      pos:
        line_end: 136
        line_start: 129
        source_file: /src/hostap/wlantest/wlantest_ctrl.h
    - enumerators:
      - name: WLANTEST_INJECT_NORMAL
      - name: WLANTEST_INJECT_PROTECTED
      - name: WLANTEST_INJECT_UNPROTECTED
      - name: WLANTEST_INJECT_INCORRECT_KEY
      item_type: enum
      name: wlantest_inject_protection
      pos:
        line_end: 150
        line_start: 145
        source_file: /src/hostap/wlantest/wlantest_ctrl.h
    - enumerators:
      - name: WLANTEST_STA_INFO_PROTO
      - name: WLANTEST_STA_INFO_STATE
      - name: WLANTEST_STA_INFO_PAIRWISE
      - name: WLANTEST_STA_INFO_KEY_MGMT
      - name: WLANTEST_STA_INFO_RSN_CAPAB
      - name: WLANTEST_STA_INFO_GTK
      item_type: enum
      name: wlantest_sta_info
      pos:
        line_end: 159
        line_start: 152
        source_file: /src/hostap/wlantest/wlantest_ctrl.h
    - enumerators:
      - name: WLANTEST_BSS_INFO_PROTO
      - name: WLANTEST_BSS_INFO_PAIRWISE
      - name: WLANTEST_BSS_INFO_GROUP
      - name: WLANTEST_BSS_INFO_GROUP_MGMT
      - name: WLANTEST_BSS_INFO_KEY_MGMT
      - name: WLANTEST_BSS_INFO_RSN_CAPAB
      item_type: enum
      name: wlantest_bss_info
      pos:
        line_end: 168
        line_start: 161
        source_file: /src/hostap/wlantest/wlantest_ctrl.h
    preproc_defs:
    - item_type: preproc_def
      name: WLANTEST_SOCK_NAME
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/hostap/wlantest/wlantest_ctrl.h
      type_or_value: '"w1.fi.wlantest"'
    - item_type: preproc_def
      name: WLANTEST_CTRL_MAX_CMD_LEN
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/hostap/wlantest/wlantest_ctrl.h
      type_or_value: '1000'
    - item_type: preproc_def
      name: WLANTEST_CTRL_MAX_RESP_LEN
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/hostap/wlantest/wlantest_ctrl.h
      type_or_value: '1000'
    structs: []
    typedefs: []
    union: []
- function_names:
  - sta_find
  - sta_find_mlo
  - sta_get
  - sta_deinit
  - sta_update_assoc_ml
  - sta_update_assoc
  - sta_copy_ptk
  - sta_new_ptk
  source_file: /src/hostap/wlantest/sta.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ping_update
  - rx_data_icmp
  - hwsim_test_packet
  - rx_data_ip
  source_file: /src/hostap/wlantest/rx_ip.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/wlantest/wlantest.h
  types:
    enum:
    - enumerators:
      - name: MICHAEL_MIC_OK
      - name: MICHAEL_MIC_INCORRECT
      - name: MICHAEL_MIC_NOT_VERIFIED
      item_type: enum
      name: michael_mic_result
      pos:
        line_end: 345
        line_start: 341
        source_file: /src/hostap/wlantest/wlantest.h
    preproc_defs:
    - item_type: preproc_def
      name: MAX_RADIUS_SECRET_LEN
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/hostap/wlantest/wlantest.h
      type_or_value: '128'
    - item_type: preproc_def
      name: MAX_CTRL_CONNECTIONS
      pos:
        line_end: 199
        line_start: 198
        source_file: /src/hostap/wlantest/wlantest.h
      type_or_value: '10'
    - item_type: preproc_def
      name: MAX_NOTES
      pos:
        line_end: 200
        line_start: 199
        source_file: /src/hostap/wlantest/wlantest.h
      type_or_value: '10'
    structs:
    - fields:
      - name: list
        type: struct dl_list
      - name: secret[MAX_RADIUS_SECRET_LEN]
        type: char
      item_type: struct
      name: wlantest_radius_secret
      pos:
        line_end: 25
        line_start: 22
        source_file: /src/hostap/wlantest/wlantest.h
    - fields:
      - name: list
        type: struct dl_list
      - name: passphrase[64]
        type: char
      - name: ssid[32]
        type: u8
      - name: ssid_len
        type: size_t
      - name: bssid[ETH_ALEN]
        type: u8
      item_type: struct
      name: wlantest_passphrase
      pos:
        line_end: 33
        line_start: 27
        source_file: /src/hostap/wlantest/wlantest.h
    - fields:
      - name: list
        type: struct dl_list
      - name: pmk[PMK_LEN_MAX]
        type: u8
      - name: pmk_len
        type: size_t
      item_type: struct
      name: wlantest_pmk
      pos:
        line_end: 39
        line_start: 35
        source_file: /src/hostap/wlantest/wlantest.h
    - fields:
      - name: list
        type: struct dl_list
      - name: ptk
        type: struct wpa_ptk
      - name: ptk_len
        type: size_t
      item_type: struct
      name: wlantest_ptk
      pos:
        line_end: 45
        line_start: 41
        source_file: /src/hostap/wlantest/wlantest.h
    - fields:
      - name: list
        type: struct dl_list
      - name: key_len
        type: size_t
      - name: key[13]
        type: u8
      item_type: struct
      name: wlantest_wep
      pos:
        line_end: 51
        line_start: 47
        source_file: /src/hostap/wlantest/wlantest.h
    - fields:
      - name: list
        type: struct dl_list
      - name: '*bss'
        type: struct wlantest_bss
      - name: addr[ETH_ALEN]
        type: u8
      - name: mld_mac_addr[ETH_ALEN]
        type: u8
      - name: link_addr[MAX_NUM_MLD_LINKS][ETH_ALEN]
        type: u8
      - name: state
        type: "enum {\n\t\tSTATE1 /* not authenticated */,\n\t\tSTATE2 /* authenticated
          */,\n\t\tSTATE3 /* associated */\n\t}"
      - name: auth_alg
        type: u16
      - name: ft_over_ds
        type: bool
      - name: aid
        type: u16
      - name: rsnie[257]
        type: u8
      - name: rsnxe[254]
        type: u8
      - name: rsnxe_len
        type: size_t
      - name: proto
        type: int
      - name: pairwise_cipher
        type: int
      - name: group_cipher
        type: int
      - name: key_mgmt
        type: int
      - name: rsn_capab
        type: int
      - name: anonce[WPA_NONCE_LEN]
        type: u8
      - name: snonce[WPA_NONCE_LEN]
        type: u8
      - name: pmk_r0[PMK_LEN_MAX]
        type: u8
      - name: pmk_r0_len
        type: size_t
      - name: pmk_r0_name[WPA_PMK_NAME_LEN]
        type: u8
      - name: pmk_r1[PMK_LEN_MAX]
        type: u8
      - name: pmk_r1_len
        type: size_t
      - name: pmk_r1_name[WPA_PMK_NAME_LEN]
        type: u8
      - name: ptk
        type: struct wpa_ptk
      - name: ptk_set
        type: int
      - name: tptk
        type: struct wpa_ptk
      - name: tptk_set
        type: int
      - name: rsc_tods[16 + 1][6]
        type: u8
      - name: rsc_fromds[16 + 1][6]
        type: u8
      - name: ap_sa_query_tr[2]
        type: u8
      - name: sta_sa_query_tr[2]
        type: u8
      - name: counters[NUM_WLANTEST_STA_COUNTER]
        type: u32
      - name: assocreq_seen
        type: int
      - name: assocreq_capab_info
        type: u16
      - name: assocreq_listen_int
        type: u16
      - name: '*assocreq_ies'
        type: u8
      - name: assocreq_ies_len
        type: size_t
      - name: icmp_echo_req_src
        type: u32
      - name: icmp_echo_req_dst
        type: u32
      - name: icmp_echo_req_id
        type: u16
      - name: icmp_echo_req_seq
        type: u16
      - name: seq_ctrl_to_sta[17]
        type: le16
      - name: seq_ctrl_to_ap[17]
        type: le16
      - name: allow_duplicate
        type: int
      - name: pwrmgt
        type: int
      - name: pspoll
        type: int
      - name: gtk[32]
        type: u8
      - name: gtk_len
        type: size_t
      - name: gtk_idx
        type: int
      - name: tx_tid[16 + 1]
        type: u32
      - name: rx_tid[16 + 1]
        type: u32
      - name: sae_group
        type: u16
      - name: owe_group
        type: u16
      - name: rsn_selection
        type: enum rsn_selection_variant
      item_type: struct
      name: wlantest_sta
      pos:
        line_end: 124
        line_start: 53
        source_file: /src/hostap/wlantest/wlantest.h
    - fields:
      - name: list
        type: struct dl_list
      - name: '*init'
        type: struct wlantest_sta
      - name: '*resp'
        type: struct wlantest_sta
      - name: tpk
        type: "struct tpk {\n\t\tu8 kck[16];\n\t\tu8 tk[16];\n\t}"
      - name: link_up
        type: int
      - name: dialog_token
        type: u8
      - name: rsc_init[16 + 1][6]
        type: u8
      - name: rsc_resp[16 + 1][6]
        type: u8
      - name: counters[NUM_WLANTEST_TDLS_COUNTER]
        type: u32
      - name: inonce[32]
        type: u8
      - name: rnonce[32]
        type: u8
      item_type: struct
      name: wlantest_tdls
      pos:
        line_end: 141
        line_start: 126
        source_file: /src/hostap/wlantest/wlantest.h
    - fields:
      - name: kck[16]
        type: u8
      - name: tk[16]
        type: u8
      item_type: struct
      name: tpk
      pos:
        line_end: 133
        line_start: 130
        source_file: /src/hostap/wlantest/wlantest.h
    - fields:
      - name: list
        type: struct dl_list
      - name: bssid[ETH_ALEN]
        type: u8
      - name: mld_mac_addr[ETH_ALEN]
        type: u8
      - name: link_id
        type: u8
      - name: link_id_set
        type: bool
      - name: capab_info
        type: u16
      - name: prev_capab_info
        type: u16
      - name: ssid[32]
        type: u8
      - name: ssid_len
        type: size_t
      - name: beacon_seen
        type: int
      - name: proberesp_seen
        type: int
      - name: ies_set
        type: int
      - name: parse_error_reported
        type: int
      - name: wpaie[257]
        type: u8
      - name: rsnie[257]
        type: u8
      - name: rsnxe[254]
        type: u8
      - name: rsnxe_len
        type: size_t
      - name: rsnxoe[251]
        type: u8
      - name: rsnxoe_len
        type: size_t
      - name: osenie[257]
        type: u8
      - name: proto
        type: int
      - name: pairwise_cipher
        type: int
      - name: group_cipher
        type: int
      - name: mgmt_group_cipher
        type: int
      - name: key_mgmt
        type: int
      - name: rsn_capab
        type: int
      - name: sta
        type: struct dl_list
      - name: pmk
        type: struct dl_list
      - name: gtk[4][32]
        type: u8
      - name: gtk_len[4]
        type: size_t
      - name: gtk_idx
        type: int
      - name: rsc[4][6]
        type: u8
      - name: igtk[8][32]
        type: u8
      - name: igtk_len[8]
        type: size_t
      - name: igtk_idx
        type: int
      - name: ipn[8]
        type: u64
      - name: bigtk_idx
        type: int
      - name: counters[NUM_WLANTEST_BSS_COUNTER]
        type: u32
      - name: tdls
        type: struct dl_list
      - name: mdid[MOBILITY_DOMAIN_ID_LEN]
        type: u8
      - name: r0kh_id[FT_R0KH_ID_MAX_LEN]
        type: u8
      - name: r0kh_id_len
        type: size_t
      - name: r1kh_id[FT_R1KH_ID_LEN]
        type: u8
      - name: mesh
        type: bool
      item_type: struct
      name: wlantest_bss
      pos:
        line_end: 188
        line_start: 143
        source_file: /src/hostap/wlantest/wlantest.h
    - fields:
      - name: list
        type: struct dl_list
      - name: srv
        type: u32
      - name: cli
        type: u32
      - name: '*last_req'
        type: struct radius_msg
      item_type: struct
      name: wlantest_radius
      pos:
        line_end: 195
        line_start: 190
        source_file: /src/hostap/wlantest/wlantest.h
    - fields:
      - name: '*buf'
        type: struct wpabuf
      - name: ra[ETH_ALEN]
        type: u8
      - name: ta[ETH_ALEN]
        type: u8
      - name: sn
        type: u16
      - name: fn
        type: u8
      item_type: struct
      name: tkip_frag
      pos:
        line_end: 207
        line_start: 201
        source_file: /src/hostap/wlantest/wlantest.h
    - fields:
      - name: monitor_sock
        type: int
      - name: monitor_wired
        type: int
      - name: ctrl_sock
        type: int
      - name: ctrl_socks[MAX_CTRL_CONNECTIONS]
        type: int
      - name: passphrase
        type: struct dl_list
      - name: bss
        type: struct dl_list
      - name: secret
        type: struct dl_list
      - name: radius
        type: struct dl_list
      - name: pmk
        type: struct dl_list
      - name: ptk
        type: struct dl_list
      - name: wep
        type: struct dl_list
      - name: rx_mgmt
        type: unsigned int
      - name: rx_ctrl
        type: unsigned int
      - name: rx_data
        type: unsigned int
      - name: fcs_error
        type: unsigned int
      - name: frame_num
        type: unsigned int
      - name: '*write_pcap'
        type: void
      - name: '*write_pcap_dumper'
        type: void
      - name: write_pcap_time
        type: struct timeval
      - name: '*decrypted'
        type: u8
      - name: decrypted_len
        type: size_t
      - name: '*pcapng'
        type: FILE
      - name: write_pcapng_time_high
        type: u32
      - name: write_pcapng_time_low
        type: u32
      - name: last_hdr[30]
        type: u8
      - name: last_len
        type: size_t
      - name: last_mgmt_valid
        type: int
      - name: assume_fcs
        type: unsigned int
      - name: pcap_no_buffer
        type: unsigned int
      - name: ethernet
        type: unsigned int
      - name: '*notes[MAX_NOTES]'
        type: char
      - name: num_notes
        type: size_t
      - name: '*write_file'
        type: char
      - name: '*pcapng_file'
        type: char
      - name: tkip_frag
        type: struct tkip_frag
      item_type: struct
      name: wlantest
      pos:
        line_end: 254
        line_start: 209
        source_file: /src/hostap/wlantest/wlantest.h
    typedefs: []
    union: []
- function_names:
  - ccmp_aad_nonce
  - ccmp_aad_nonce_pv1
  - ccmp_decrypt
  - ccmp_get_pn
  - ccmp_encrypt
  - ccmp_encrypt_pv1
  - ccmp_256_decrypt
  - ccmp_256_encrypt
  source_file: /src/hostap/wlantest/ccmp.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - get_tdls
  - tdls_derive_tpk
  - tdls_verify_mic
  - rx_data_tdls_setup_request
  - rx_data_tdls_setup_response_failure
  - rx_data_tdls_setup_response
  - rx_data_tdls_setup_confirm_failure
  - rx_data_tdls_setup_confirm
  - tdls_verify_mic_teardown
  - rx_data_tdls_teardown
  - rx_data_tdls
  - rx_data_80211_encap
  source_file: /src/hostap/wlantest/rx_tdls.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - bss_find
  - bss_find_mld
  - bss_get
  - pmk_deinit
  - tdls_deinit
  - bss_deinit
  - bss_add_pmk_from_passphrase
  - bss_add_pmk
  - bss_update
  - bss_flush
  source_file: /src/hostap/wlantest/bss.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - wlantest_terminate
  - usage
  - passphrase_deinit
  - secret_deinit
  - wlantest_init
  - radius_deinit
  - ptk_deinit
  - wep_deinit
  - wlantest_deinit
  - add_passphrase
  - add_secret
  - add_pmk_file
  - add_ptk_file
  - add_wep
  - add_note
  - clear_notes
  - notes_len
  - write_decrypted_note
  - wlantest_relog
  - main
  source_file: /src/hostap/wlantest/wlantest.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - radius_get
  - radius_code_string
  - process_radius_access_request
  - wlantest_add_pmk
  - process_radius_access_accept
  - process_radius
  - process_udp
  - process_ipv4
  - wlantest_process_wired
  source_file: /src/hostap/wlantest/wired.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - is_zero
  - determine_mic_len
  - check_mic
  - rx_data_eapol_key_1_of_4
  - try_pmk
  - derive_ptk
  - elems_from_eapol_ie
  - rx_data_eapol_key_2_of_4
  - decrypt_eapol_key_data_rc4
  - decrypt_eapol_key_data_aes
  - decrypt_eapol_key_data
  - learn_kde_keys_mlo
  - learn_kde_keys
  - rx_data_eapol_key_3_of_4
  - rx_data_eapol_key_4_of_4
  - rx_data_eapol_key_1_of_2
  - rx_data_eapol_key_2_of_2
  - rx_data_eapol_key
  - rx_data_eapol
  source_file: /src/hostap/wlantest/rx_eapol.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RotR1
  - Lo8
  - Hi8
  - Lo16
  - Hi16
  - Mk16
  - Mk16_le
  - _S_
  - tkip_mixing_phase1
  - tkip_mixing_phase2
  - rotl
  - rotr
  - xswap
  - michael_block
  - michael_mic
  - michael_mic_hdr
  - tkip_decrypt
  - tkip_get_pn
  - tkip_encrypt
  source_file: /src/hostap/wlantest/tkip.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PHASE1_LOOP_COUNT
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/hostap/wlantest/tkip.c
      type_or_value: '8'
    structs: []
    typedefs: []
    union: []
- function_names:
  - rx_get_sta
  - rx_update_ps
  - rx_duplicate
  - rx_ack
  - rx_frame
  - tx_status
  - check_fcs
  - wlantest_process
  - wlantest_process_prism
  - wlantest_process_80211
  source_file: /src/hostap/wlantest/process.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - monitor_init
  - monitor_init_wired
  - monitor_deinit
  - monitor_read
  - monitor_read_wired
  - monitor_init
  - monitor_init_wired
  - monitor_deinit
  source_file: /src/hostap/wlantest/monitor.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - wep_crypt
  - S_SWAP
  - try_wep
  - wep_decrypt
  source_file: /src/hostap/wlantest/wep.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - bip_protect
  - bip_protect_s1g_beacon
  - bip_gmac_protect
  - bip_gmac_protect_s1g_beacon
  source_file: /src/hostap/wlantest/bip.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MME_LEN_LESS_MIC
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/hostap/wlantest/bip.c
      type_or_value: '10'
    - item_type: preproc_def
      name: MIC_ELEM_LEN_LESS_MIC
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/hostap/wlantest/bip.c
      type_or_value: '2'
    structs: []
    typedefs: []
    union: []
- function_names:
  - attr_get
  - attr_get_macaddr
  - attr_get_int
  - attr_add_str
  - attr_add_be32
  - ctrl_disconnect
  - ctrl_send
  - ctrl_send_simple
  - ctrl_get_bss
  - ctrl_get_sta
  - ctrl_get_sta2
  - ctrl_list_bss
  - ctrl_list_sta
  - ctrl_flush
  - ctrl_clear_sta_counters
  - ctrl_clear_bss_counters
  - ctrl_clear_tdls_counters
  - ctrl_get_sta_counter
  - ctrl_get_bss_counter
  - ctrl_get_tdls_counter
  - build_mgmt_hdr
  - ctrl_inject_auth
  - ctrl_inject_assocreq
  - ctrl_inject_reassocreq
  - ctrl_inject_deauth
  - ctrl_inject_disassoc
  - ctrl_inject_saqueryreq
  - ctrl_inject
  - ctrl_version
  - ctrl_add_passphrase
  - info_print_proto
  - info_print_cipher
  - info_print_key_mgmt
  - info_print_rsn_capab
  - info_print_state
  - info_print_gtk
  - ctrl_info_sta
  - ctrl_info_bss
  - ctrl_send_
  - ctrl_relog
  - ctrl_get_tx_tid
  - ctrl_get_rx_tid
  - ctrl_read
  - ctrl_connect
  - ctrl_init
  - ctrl_deinit
  source_file: /src/hostap/wlantest/ctrl.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/hs20/client/osu_client.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: WORKAROUND_OCSP_OPTIONAL
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/hostap/hs20/client/osu_client.h
      type_or_value: '0x00000001'
    structs:
    - fields:
      - name: '*xml'
        type: struct xml_node_ctx
      - name: '*http'
        type: struct http_ctx
      - name: '*result_file'
        type: char
      - name: '*summary_file'
        type: char
      - name: '*ifname'
        type: char
      - name: workarounds
        type: unsigned long int
      - name: ignore_tls
        type: int
      item_type: struct
      name: hs20_osu_client
      pos:
        line_end: 21
        line_start: 11
        source_file: /src/hostap/hs20/client/osu_client.h
    typedefs: []
    union: []
- function_names:
  - write_result
  - write_summary
  - download_cert
  - cmd_dl_aaa_ca
  - remove_sp_creds
  - set_pps_cred_policy_spe
  - set_pps_cred_policy_spel
  - set_pps_cred_policy_prp
  - set_pps_cred_policy_prpl
  - set_pps_cred_policy_min_backhaul
  - set_pps_cred_policy_min_backhaul_list
  - set_pps_cred_policy_update
  - set_pps_cred_policy_required_proto_port
  - set_pps_cred_policy_required_proto_ports
  - set_pps_cred_policy_max_bss_load
  - set_pps_cred_policy
  - set_pps_cred_priority
  - set_pps_cred_aaa_server_trust_root
  - set_pps_cred_sub_update
  - set_pps_cred_home_sp_network_id
  - set_pps_cred_home_sp_network_ids
  - set_pps_cred_home_sp_friendly_name
  - set_pps_cred_home_sp_icon_url
  - set_pps_cred_home_sp_fqdn
  - set_pps_cred_home_sp_oi
  - set_pps_cred_home_sp_oi_list
  - set_pps_cred_home_sp_other_partner
  - set_pps_cred_home_sp_other_partners
  - set_pps_cred_home_sp_roaming_consortium_oi
  - set_pps_cred_home_sp
  - set_pps_cred_sub_params
  - set_pps_cred_creation_date
  - set_pps_cred_expiration_date
  - set_pps_cred_username
  - set_pps_cred_password
  - set_pps_cred_machine_managed
  - set_pps_cred_soft_token_app
  - set_pps_cred_able_to_share
  - set_pps_cred_eap_method_eap_type
  - set_pps_cred_eap_method_inner_method
  - set_pps_cred_eap_method
  - set_pps_cred_username_password
  - set_pps_cred_digital_cert
  - set_pps_cred_realm
  - set_pps_cred_check_aaa_cert_status
  - set_pps_cred_sim
  - set_pps_cred_credential
  - set_pps_credential
  - set_pps
  - cmd_set_pps
  - cmd_get_fqdn
  - cmd_to_tnds
  - cmd_from_tnds
  - init_ctx
  - deinit_ctx
  - check_workarounds
  - usage
  - main
  source_file: /src/hostap/hs20/client/osu_client.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TMP_CERT_DL_FILE
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/hostap/hs20/client/osu_client.c
      type_or_value: '"tmp-cert-download"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - setPortAuthorized
  - setPortUnauthorized
  - txCannedFail
  - txCannedSuccess
  - txReq
  - abortAuth
  - txKey
  - processKey
  - eapol_auth_logger
  - eapol_auth_vlogger
  - eapol_auth_tx_canned_eap
  - eapol_auth_tx_req
  - eapol_port_timers_tick
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - SM_STEP
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - SM_STEP
  - SM_STATE
  - SM_STATE
  - SM_STEP
  - SM_STATE
  - SM_STATE
  - SM_STEP
  - SM_STATE
  - SM_STATE
  - SM_STEP
  - SM_STATE
  - SM_STATE
  - SM_STEP
  - eapol_auth_alloc
  - eapol_auth_free
  - eapol_sm_sta_entry_alive
  - eapol_sm_step_run
  - eapol_sm_step_cb
  - eapol_auth_step
  - eapol_auth_initialize
  - eapol_sm_get_eap_user
  - eapol_sm_get_eap_req_id_text
  - eapol_sm_get_erp_send_reauth_start
  - eapol_sm_get_erp_domain
  - eapol_sm_erp_get_key
  - eapol_sm_erp_add_key
  - eapol_auth_eap_pending_cb
  - eapol_auth_reauthenticate
  - eapol_auth_set_conf
  - eapol_auth_conf_clone
  - eapol_auth_conf_free
  - eapol_auth_init
  - eapol_auth_deinit
  source_file: /src/hostap/src/eapol_auth/eapol_auth_sm.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STATE_MACHINE_DATA
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/hostap/src/eapol_auth/eapol_auth_sm.c
      type_or_value: struct eapol_state_machine
    - item_type: preproc_def
      name: STATE_MACHINE_DEBUG_PREFIX
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/hostap/src/eapol_auth/eapol_auth_sm.c
      type_or_value: '"IEEE 802.1X"'
    - item_type: preproc_def
      name: STATE_MACHINE_ADDR
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/hostap/src/eapol_auth/eapol_auth_sm.c
      type_or_value: sm->addr
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/eapol_auth/eapol_auth_sm_i.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: AUTH_PAE_DEFAULT_quietPeriod
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/hostap/src/eapol_auth/eapol_auth_sm_i.h
      type_or_value: '60'
    - item_type: preproc_def
      name: AUTH_PAE_DEFAULT_reAuthMax
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/hostap/src/eapol_auth/eapol_auth_sm_i.h
      type_or_value: '2'
    - item_type: preproc_def
      name: BE_AUTH_DEFAULT_serverTimeout
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/hostap/src/eapol_auth/eapol_auth_sm_i.h
      type_or_value: '30'
    structs:
    - fields:
      - name: conf
        type: struct eapol_auth_config
      - name: cb
        type: struct eapol_auth_cb
      - name: '*default_wep_key'
        type: u8
      - name: default_wep_key_idx
        type: u8
      item_type: struct
      name: eapol_authenticator
      pos:
        line_end: 32
        line_start: 26
        source_file: /src/hostap/src/eapol_auth/eapol_auth_sm_i.h
    - fields:
      - name: aWhile
        type: int
      - name: quietWhile
        type: int
      - name: reAuthWhen
        type: int
      - name: authAbort
        type: bool
      - name: authFail
        type: bool
      - name: authPortStatus
        type: PortState
      - name: authStart
        type: bool
      - name: authTimeout
        type: bool
      - name: authSuccess
        type: bool
      - name: eapolEap
        type: bool
      - name: initialize
        type: bool
      - name: keyDone
        type: bool
      - name: keyRun
        type: bool
      - name: keyTxEnabled
        type: bool
      - name: portControl
        type: PortTypes
      - name: portValid
        type: bool
      - name: reAuthenticate
        type: bool
      - name: auth_pae_state
        type: "enum { AUTH_PAE_INITIALIZE, AUTH_PAE_DISCONNECTED, AUTH_PAE_CONNECTING,\n\t
          \      AUTH_PAE_AUTHENTICATING, AUTH_PAE_AUTHENTICATED,\n\t       AUTH_PAE_ABORTING,
          AUTH_PAE_HELD, AUTH_PAE_FORCE_AUTH,\n\t       AUTH_PAE_FORCE_UNAUTH, AUTH_PAE_RESTART
          }"
      - name: eapolLogoff
        type: bool
      - name: eapolStart
        type: bool
      - name: portMode
        type: PortTypes
      - name: reAuthCount
        type: unsigned int
      - name: quietPeriod
        type: unsigned int
      - name: reAuthMax
        type: unsigned int
      - name: authEntersConnecting
        type: Counter
      - name: authEapLogoffsWhileConnecting
        type: Counter
      - name: authEntersAuthenticating
        type: Counter
      - name: authAuthSuccessesWhileAuthenticating
        type: Counter
      - name: authAuthTimeoutsWhileAuthenticating
        type: Counter
      - name: authAuthFailWhileAuthenticating
        type: Counter
      - name: authAuthEapStartsWhileAuthenticating
        type: Counter
      - name: authAuthEapLogoffWhileAuthenticating
        type: Counter
      - name: authAuthReauthsWhileAuthenticated
        type: Counter
      - name: authAuthEapStartsWhileAuthenticated
        type: Counter
      - name: authAuthEapLogoffWhileAuthenticated
        type: Counter
      - name: be_auth_state
        type: "enum { BE_AUTH_REQUEST, BE_AUTH_RESPONSE, BE_AUTH_SUCCESS,\n\t       BE_AUTH_FAIL,
          BE_AUTH_TIMEOUT, BE_AUTH_IDLE, BE_AUTH_INITIALIZE,\n\t       BE_AUTH_IGNORE\n\t}"
      - name: serverTimeout
        type: unsigned int
      - name: backendResponses
        type: Counter
      - name: backendAccessChallenges
        type: Counter
      - name: backendOtherRequestsToSupplicant
        type: Counter
      - name: backendAuthSuccesses
        type: Counter
      - name: backendAuthFails
        type: Counter
      - name: reauth_timer_state
        type: "enum { REAUTH_TIMER_INITIALIZE, REAUTH_TIMER_REAUTHENTICATE\n\t}"
      - name: reAuthPeriod
        type: unsigned int
      - name: reAuthEnabled
        type: bool
      - name: auth_key_tx_state
        type: "enum { AUTH_KEY_TX_NO_KEY_TRANSMIT, AUTH_KEY_TX_KEY_TRANSMIT\n\t}"
      - name: key_rx_state
        type: enum { KEY_RX_NO_KEY_RECEIVE, KEY_RX_KEY_RECEIVE }
      - name: rxKey
        type: bool
      - name: ctrl_dir_state
        type: enum { CTRL_DIR_FORCE_BOTH, CTRL_DIR_IN_OR_BOTH }
      - name: adminControlledDirections
        type: ControlledDirection
      - name: operControlledDirections
        type: ControlledDirection
      - name: operEdge
        type: bool
      - name: dot1xAuthEapolFramesRx
        type: Counter
      - name: dot1xAuthEapolFramesTx
        type: Counter
      - name: dot1xAuthEapolStartFramesRx
        type: Counter
      - name: dot1xAuthEapolLogoffFramesRx
        type: Counter
      - name: dot1xAuthEapolRespIdFramesRx
        type: Counter
      - name: dot1xAuthEapolRespFramesRx
        type: Counter
      - name: dot1xAuthEapolReqIdFramesTx
        type: Counter
      - name: dot1xAuthEapolReqFramesTx
        type: Counter
      - name: dot1xAuthInvalidEapolFramesRx
        type: Counter
      - name: dot1xAuthEapLengthErrorFramesRx
        type: Counter
      - name: dot1xAuthLastEapolFrameVersion
        type: Counter
      - name: addr[ETH_ALEN]
        type: u8
      - name: flags
        type: int
      - name: '*eap_if'
        type: struct eap_eapol_interface
      - name: radius_identifier
        type: int
      - name: '*last_recv_radius'
        type: struct radius_msg
      - name: last_eap_id
        type: u8
      - name: '*identity'
        type: u8
      - name: identity_len
        type: size_t
      - name: eap_type_authsrv
        type: u8
      - name: eap_type_supp
        type: u8
      - name: radius_class
        type: struct radius_class_data
      - name: '*radius_cui'
        type: struct wpabuf
      - name: '*eap'
        type: struct eap_sm
      - name: initializing
        type: bool
      - name: changed
        type: bool
      - name: '*eapol'
        type: struct eapol_authenticator
      - name: '*sta'
        type: void
      - name: acct_multi_session_id
        type: u64
      - name: authenticated
        type: unsigned int
      - name: stopped
        type: bool
      item_type: struct
      name: eapol_state_machine
      pos:
        line_end: 175
        line_start: 38
        source_file: /src/hostap/src/eapol_auth/eapol_auth_sm_i.h
    typedefs:
    - item_type: typedef
      name: Counter
      pos:
        line_end: 20
        line_start: 20
        source_file: /src/hostap/src/eapol_auth/eapol_auth_sm_i.h
      type: unsigned int
    union: []
- function_names:
  - port_type_txt
  - port_state_txt
  - ctrl_dir_txt
  - auth_pae_state_txt
  - be_auth_state_txt
  - reauth_timer_state_txt
  - auth_key_tx_state_txt
  - key_rx_state_txt
  - ctrl_dir_state_txt
  - eapol_auth_dump_state
  - _SB
  source_file: /src/hostap/src/eapol_auth/eapol_auth_dump.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/eapol_auth/eapol_auth_sm.h
  types:
    enum:
    - enumerators:
      - name: EAPOL_AUTH_SM_CHANGE
      - name: EAPOL_AUTH_REAUTHENTICATE
      item_type: enum
      name: eapol_event
      pos:
        line_end: 41
        line_start: 38
        source_file: /src/hostap/src/eapol_auth/eapol_auth_sm.h
    preproc_defs:
    - item_type: preproc_def
      name: EAPOL_SM_PREAUTH
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/hostap/src/eapol_auth/eapol_auth_sm.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: EAPOL_SM_WAIT_START
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/hostap/src/eapol_auth/eapol_auth_sm.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: EAPOL_SM_USES_WPA
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/hostap/src/eapol_auth/eapol_auth_sm.h
      type_or_value: BIT(2)
    - item_type: preproc_def
      name: EAPOL_SM_FROM_PMKSA_CACHE
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/hostap/src/eapol_auth/eapol_auth_sm.h
      type_or_value: BIT(3)
    structs:
    - fields:
      - name: '*eap_cfg'
        type: struct eap_config
      - name: eap_reauth_period
        type: int
      - name: wpa
        type: int
      - name: individual_wep_key_len
        type: int
      - name: '*eap_req_id_text'
        type: char
      - name: eap_req_id_text_len
        type: size_t
      - name: erp_send_reauth_start
        type: int
      - name: '*erp_domain'
        type: char
      - name: eap_skip_prot_success
        type: bool
      - name: '*ctx'
        type: void
      item_type: struct
      name: eapol_auth_config
      pos:
        line_end: 29
        line_start: 16
        source_file: /src/hostap/src/eapol_auth/eapol_auth_sm.h
    - fields:
      - name: "(*eapol_send)(void *ctx, void *sta_ctx, u8 type, const u8 *data,\n\t\t\t
          \  size_t datalen)"
        type: void
      - name: "(*aaa_send)(void *ctx, void *sta_ctx, const u8 *data,\n\t\t\t size_t
          datalen)"
        type: void
      - name: "(*finished)(void *ctx, void *sta_ctx, int success, int preauth,\n\t\t\t
          bool logoff)"
        type: bool
      - name: "(*get_eap_user)(void *ctx, const u8 *identity, size_t identity_len,\n\t\t\t
          \   int phase2, struct eap_user *user)"
        type: int
      - name: (*sta_entry_alive)(void *ctx, const u8 *addr)
        type: int
      - name: "(*logger)(void *ctx, const u8 *addr, eapol_logger_level level,\n\t\t
          \      const char *txt)"
        type: void
      - name: (*set_port_authorized)(void *ctx, void *sta_ctx, int authorized)
        type: void
      - name: (*abort_auth)(void *ctx, void *sta_ctx)
        type: void
      - name: (*tx_key)(void *ctx, void *sta_ctx)
        type: void
      - name: (*eapol_event)(void *ctx, void *sta_ctx, enum eapol_event type)
        type: void
      - name: "* (*erp_get_key)(void *ctx,\n\t\t\t\t\t\t   const char *keyname)"
        type: struct eap_server_erp_key
      - name: (*erp_add_key)(void *ctx, struct eap_server_erp_key *erp)
        type: int
      item_type: struct
      name: eapol_auth_cb
      pos:
        line_end: 62
        line_start: 43
        source_file: /src/hostap/src/eapol_auth/eapol_auth_sm.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/eap_peer/mschapv2.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MSCHAPV2_CHAL_LEN
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/hostap/src/eap_peer/mschapv2.h
      type_or_value: '16'
    - item_type: preproc_def
      name: MSCHAPV2_NT_RESPONSE_LEN
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/hostap/src/eap_peer/mschapv2.h
      type_or_value: '24'
    - item_type: preproc_def
      name: MSCHAPV2_AUTH_RESPONSE_LEN
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/hostap/src/eap_peer/mschapv2.h
      type_or_value: '20'
    - item_type: preproc_def
      name: MSCHAPV2_MASTER_KEY_LEN
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/hostap/src/eap_peer/mschapv2.h
      type_or_value: '16'
    structs: []
    typedefs: []
    union: []
- function_names:
  - eap_eke_state_txt
  - eap_eke_state
  - eap_eke_init
  - eap_eke_deinit
  - eap_eke_build_msg
  - eap_eke_supp_dhgroup
  - eap_eke_supp_encr
  - eap_eke_supp_prf
  - eap_eke_supp_mac
  - eap_eke_build_fail
  - eap_eke_process_id
  - eap_eke_process_commit
  - eap_eke_process_confirm
  - eap_eke_process_failure
  - eap_eke_process
  - eap_eke_isKeyAvailable
  - eap_eke_getKey
  - eap_eke_get_emsk
  - eap_eke_get_session_id
  - eap_peer_eke_register
  source_file: /src/hostap/src/eap_peer/eap_eke.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: state
        type: "enum {\n\t\tIDENTITY, COMMIT, CONFIRM, SUCCESS, FAILURE\n\t}"
      - name: msk[EAP_MSK_LEN]
        type: u8
      - name: emsk[EAP_EMSK_LEN]
        type: u8
      - name: '*peerid'
        type: u8
      - name: peerid_len
        type: size_t
      - name: '*serverid'
        type: u8
      - name: serverid_len
        type: size_t
      - name: dh_priv[EAP_EKE_MAX_DH_LEN]
        type: u8
      - name: sess
        type: struct eap_eke_session
      - name: nonce_p[EAP_EKE_MAX_NONCE_LEN]
        type: u8
      - name: nonce_s[EAP_EKE_MAX_NONCE_LEN]
        type: u8
      - name: '*msgs'
        type: struct wpabuf
      - name: dhgroup
        type: u8
      - name: encr
        type: u8
      - name: prf
        type: u8
      - name: mac
        type: u8
      item_type: struct
      name: eap_eke_data
      pos:
        line_end: 34
        line_start: 15
        source_file: /src/hostap/src/eap_peer/eap_eke.c
    typedefs: []
    union: []
- function_names:
  - eap_tnc_init
  - eap_tnc_deinit
  - eap_tnc_build_frag_ack
  - eap_tnc_build_msg
  - eap_tnc_process_cont
  - eap_tnc_process_fragment
  - eap_tnc_process
  - eap_peer_tnc_register
  source_file: /src/hostap/src/eap_peer/eap_tnc.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EAP_TNC_FLAGS_LENGTH_INCLUDED
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/hostap/src/eap_peer/eap_tnc.c
      type_or_value: '0x80'
    - item_type: preproc_def
      name: EAP_TNC_FLAGS_MORE_FRAGMENTS
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/hostap/src/eap_peer/eap_tnc.c
      type_or_value: '0x40'
    - item_type: preproc_def
      name: EAP_TNC_FLAGS_START
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/hostap/src/eap_peer/eap_tnc.c
      type_or_value: '0x20'
    - item_type: preproc_def
      name: EAP_TNC_VERSION_MASK
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/hostap/src/eap_peer/eap_tnc.c
      type_or_value: '0x07'
    - item_type: preproc_def
      name: EAP_TNC_VERSION
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/hostap/src/eap_peer/eap_tnc.c
      type_or_value: '1'
    structs:
    - fields:
      - name: state
        type: enum { WAIT_START, PROC_MSG, WAIT_FRAG_ACK, DONE, FAIL }
      - name: '*tncc'
        type: struct tncc_data
      - name: '*in_buf'
        type: struct wpabuf
      - name: '*out_buf'
        type: struct wpabuf
      - name: out_used
        type: size_t
      - name: fragment_size
        type: size_t
      item_type: struct
      name: eap_tnc_data
      pos:
        line_end: 23
        line_start: 16
        source_file: /src/hostap/src/eap_peer/eap_tnc.c
    typedefs: []
    union: []
- function_names:
  - eap_pwd_state_txt
  - eap_pwd_state
  - eap_pwd_init
  - eap_pwd_deinit
  - eap_pwd_getkey
  - eap_pwd_get_session_id
  - eap_pwd_allowed_group
  - eap_pwd_perform_id_exchange
  - eap_pwd_perform_commit_exchange
  - eap_pwd_perform_confirm_exchange
  - eap_pwd_process
  - eap_pwd_key_available
  - eap_pwd_get_emsk
  - eap_peer_pwd_register
  source_file: /src/hostap/src/eap_peer/eap_pwd.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: state
        type: "enum {\n\t\tPWD_ID_Req, PWD_Commit_Req, PWD_Confirm_Req,\n\t\tSUCCESS_ON_FRAG_COMPLETION,
          SUCCESS, FAILURE\n\t}"
      - name: '*id_peer'
        type: u8
      - name: id_peer_len
        type: size_t
      - name: '*id_server'
        type: u8
      - name: id_server_len
        type: size_t
      - name: '*password'
        type: u8
      - name: password_len
        type: size_t
      - name: password_hash
        type: int
      - name: allowed_groups
        type: struct wpa_freq_range_list
      - name: group_num
        type: u16
      - name: prep
        type: u8
      - name: token[4]
        type: u8
      - name: '*grp'
        type: EAP_PWD_group
      - name: '*inbuf'
        type: struct wpabuf
      - name: in_frag_pos
        type: size_t
      - name: '*outbuf'
        type: struct wpabuf
      - name: out_frag_pos
        type: size_t
      - name: mtu
        type: size_t
      - name: '*k'
        type: struct crypto_bignum
      - name: '*private_value'
        type: struct crypto_bignum
      - name: '*server_scalar'
        type: struct crypto_bignum
      - name: '*my_scalar'
        type: struct crypto_bignum
      - name: '*my_element'
        type: struct crypto_ec_point
      - name: '*server_element'
        type: struct crypto_ec_point
      - name: msk[EAP_MSK_LEN]
        type: u8
      - name: emsk[EAP_EMSK_LEN]
        type: u8
      - name: session_id[1 + SHA256_MAC_LEN]
        type: u8
      item_type: struct
      name: eap_pwd_data
      pos:
        line_end: 54
        line_start: 20
        source_file: /src/hostap/src/eap_peer/eap_pwd.c
    typedefs: []
    union: []
- function_names:
  - eap_sake_state_txt
  - eap_sake_state
  - eap_sake_init
  - eap_sake_deinit
  - eap_sake_build_msg
  - eap_sake_process_identity
  - eap_sake_process_challenge
  - eap_sake_process_confirm
  - eap_sake_process
  - eap_sake_isKeyAvailable
  - eap_sake_getKey
  - eap_sake_get_session_id
  - eap_sake_get_emsk
  - eap_peer_sake_register
  source_file: /src/hostap/src/eap_peer/eap_sake.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: state
        type: enum { IDENTITY, CHALLENGE, CONFIRM, SUCCESS, FAILURE }
      - name: root_secret_a[EAP_SAKE_ROOT_SECRET_LEN]
        type: u8
      - name: root_secret_b[EAP_SAKE_ROOT_SECRET_LEN]
        type: u8
      - name: rand_s[EAP_SAKE_RAND_LEN]
        type: u8
      - name: rand_p[EAP_SAKE_RAND_LEN]
        type: u8
      - name: tek
        type: "struct {\n\t\tu8 auth[EAP_SAKE_TEK_AUTH_LEN];\n\t\tu8 cipher[EAP_SAKE_TEK_CIPHER_LEN];\n\t}"
      - name: msk[EAP_MSK_LEN]
        type: u8
      - name: emsk[EAP_EMSK_LEN]
        type: u8
      - name: session_id
        type: u8
      - name: session_id_set
        type: int
      - name: '*peerid'
        type: u8
      - name: peerid_len
        type: size_t
      - name: '*serverid'
        type: u8
      - name: serverid_len
        type: size_t
      item_type: struct
      name: eap_sake_data
      pos:
        line_end: 33
        line_start: 15
        source_file: /src/hostap/src/eap_peer/eap_sake.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/eap_peer/eap_config.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EAP_CONFIG_FLAGS_PASSWORD_NTHASH
      pos:
        line_end: 651
        line_start: 650
        source_file: /src/hostap/src/eap_peer/eap_config.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: EAP_CONFIG_FLAGS_EXT_PASSWORD
      pos:
        line_end: 652
        line_start: 651
        source_file: /src/hostap/src/eap_peer/eap_config.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: EAP_CONFIG_FLAGS_MACHINE_PASSWORD_NTHASH
      pos:
        line_end: 653
        line_start: 652
        source_file: /src/hostap/src/eap_peer/eap_config.h
      type_or_value: BIT(2)
    - item_type: preproc_def
      name: EAP_CONFIG_FLAGS_EXT_MACHINE_PASSWORD
      pos:
        line_end: 654
        line_start: 653
        source_file: /src/hostap/src/eap_peer/eap_config.h
      type_or_value: BIT(3)
    structs:
    - fields:
      - name: '*ca_cert'
        type: char
      - name: '*ca_path'
        type: char
      - name: '*client_cert'
        type: char
      - name: '*private_key'
        type: char
      - name: '*private_key_passwd'
        type: char
      - name: '*subject_match'
        type: char
      - name: '*check_cert_subject'
        type: char
      - name: '*altsubject_match'
        type: char
      - name: '*domain_suffix_match'
        type: char
      - name: '*domain_match'
        type: char
      - name: '*pin'
        type: char
      - name: engine
        type: int
      - name: '*engine_id'
        type: char
      - name: '*key_id'
        type: char
      - name: '*cert_id'
        type: char
      - name: '*ca_cert_id'
        type: char
      - name: ocsp
        type: int
      item_type: struct
      name: eap_peer_cert_config
      pos:
        line_end: 277
        line_start: 14
        source_file: /src/hostap/src/eap_peer/eap_config.h
    - fields:
      - name: '*identity'
        type: u8
      - name: identity_len
        type: size_t
      - name: '*anonymous_identity'
        type: u8
      - name: anonymous_identity_len
        type: size_t
      - name: '*imsi_identity'
        type: u8
      - name: imsi_identity_len
        type: size_t
      - name: '*imsi_privacy_cert'
        type: char
      - name: '*imsi_privacy_attr'
        type: char
      - name: '*machine_identity'
        type: u8
      - name: machine_identity_len
        type: size_t
      - name: '*password'
        type: u8
      - name: password_len
        type: size_t
      - name: '*machine_password'
        type: u8
      - name: machine_password_len
        type: size_t
      - name: cert
        type: struct eap_peer_cert_config
      - name: phase2_cert
        type: struct eap_peer_cert_config
      - name: machine_cert
        type: struct eap_peer_cert_config
      - name: '*eap_methods'
        type: struct eap_method_type
      - name: '*phase1'
        type: char
      - name: '*phase2'
        type: char
      - name: '*machine_phase2'
        type: char
      - name: '*pcsc'
        type: char
      - name: '*otp'
        type: u8
      - name: otp_len
        type: size_t
      - name: pending_req_identity
        type: int
      - name: pending_req_password
        type: int
      - name: pending_req_pin
        type: int
      - name: pending_req_new_password
        type: int
      - name: pending_req_passphrase
        type: int
      - name: pending_req_sim
        type: int
      - name: '*pending_req_otp'
        type: char
      - name: pending_req_otp_len
        type: size_t
      - name: '*pac_file'
        type: char
      - name: mschapv2_retry
        type: int
      - name: '*new_password'
        type: u8
      - name: new_password_len
        type: size_t
      - name: fragment_size
        type: int
      - name: flags
        type: u32
      - name: '*external_sim_resp'
        type: char
      - name: sim_num
        type: int
      - name: '*openssl_ciphers'
        type: char
      - name: erp
        type: int
      - name: pending_ext_cert_check
        type: "enum {\n\t\tNO_CHECK = 0,\n\t\tPENDING_CHECK,\n\t\tEXT_CERT_CHECK_GOOD,\n\t\tEXT_CERT_CHECK_BAD,\n\t}"
      item_type: struct
      name: eap_peer_config
      pos:
        line_end: 714
        line_start: 282
        source_file: /src/hostap/src/eap_peer/eap_config.h
    - fields:
      - name: '*name'
        type: char
      - name: '*data'
        type: u8
      - name: len
        type: size_t
      - name: '*next'
        type: struct wpa_config_blob
      item_type: struct
      name: wpa_config_blob
      pos:
        line_end: 744
        line_start: 724
        source_file: /src/hostap/src/eap_peer/eap_config.h
    typedefs: []
    union: []
- function_names:
  - eap_fast_session_ticket_cb
  - eap_fast_parse_phase1
  - eap_fast_init
  - eap_fast_deinit
  - eap_fast_derive_msk
  - eap_fast_derive_key_auth
  - eap_fast_derive_key_provisioning
  - eap_fast_derive_keys
  - eap_fast_init_phase2_method
  - eap_fast_select_phase2_method
  - eap_fast_phase2_request
  - eap_fast_tlv_nak
  - eap_fast_tlv_result
  - eap_fast_tlv_pac_ack
  - eap_fast_process_eap_payload_tlv
  - eap_fast_validate_crypto_binding
  - eap_fast_write_crypto_binding
  - eap_fast_get_phase2_key
  - eap_fast_get_cmk
  - eap_fast_write_pac_request
  - eap_fast_process_crypto_binding
  - eap_fast_parse_pac_tlv
  - eap_fast_process_pac_tlv
  - eap_fast_parse_pac_info
  - eap_fast_process_pac_info
  - eap_fast_process_pac
  - eap_fast_parse_decrypted
  - eap_fast_encrypt_response
  - eap_fast_pac_request
  - eap_fast_process_decrypted
  - eap_fast_decrypt
  - eap_fast_get_a_id
  - eap_fast_select_pac
  - eap_fast_use_pac_opaque
  - eap_fast_clear_pac_opaque_ext
  - eap_fast_set_provisioning_ciphers
  - eap_fast_process_start
  - eap_fast_process
  - eap_fast_has_reauth_data
  - eap_fast_deinit_for_reauth
  - eap_fast_init_for_reauth
  - eap_fast_get_status
  - eap_fast_isKeyAvailable
  - eap_fast_getKey
  - eap_fast_get_session_id
  - eap_fast_get_emsk
  - eap_peer_fast_register
  source_file: /src/hostap/src/eap_peer/eap_fast.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EAP_FAST_PROV_UNAUTH
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/hostap/src/eap_peer/eap_fast.c
      type_or_value: '1'
    - item_type: preproc_def
      name: EAP_FAST_PROV_AUTH
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/hostap/src/eap_peer/eap_fast.c
      type_or_value: '2'
    structs:
    - fields:
      - name: ssl
        type: struct eap_ssl_data
      - name: fast_version
        type: int
      - name: '*phase2_method'
        type: struct eap_method
      - name: '*phase2_priv'
        type: void
      - name: phase2_success
        type: int
      - name: phase2_type
        type: struct eap_method_type
      - name: '*phase2_types'
        type: struct eap_method_type
      - name: num_phase2_types
        type: size_t
      - name: resuming
        type: int
      - name: '*key_block_p'
        type: struct eap_fast_key_block_provisioning
      - name: provisioning_allowed
        type: int
      - name: provisioning
        type: int
      - name: anon_provisioning
        type: int
      - name: session_ticket_used
        type: int
      - name: key_data[EAP_FAST_KEY_LEN]
        type: u8
      - name: '*session_id'
        type: u8
      - name: id_len
        type: size_t
      - name: emsk[EAP_EMSK_LEN]
        type: u8
      - name: success
        type: int
      - name: '*pac'
        type: struct eap_fast_pac
      - name: '*current_pac'
        type: struct eap_fast_pac
      - name: max_pac_list_len
        type: size_t
      - name: use_pac_binary_format
        type: int
      - name: simck[EAP_FAST_SIMCK_LEN]
        type: u8
      - name: simck_idx
        type: int
      - name: '*pending_phase2_req'
        type: struct wpabuf
      - name: '*pending_resp'
        type: struct wpabuf
      item_type: struct
      name: eap_fast_data
      pos:
        line_end: 70
        line_start: 32
        source_file: /src/hostap/src/eap_peer/eap_fast.c
    typedefs: []
    union: []
- function_names:
  - eap_proxy_init
  - eap_proxy_deinit
  - eap_proxy_key_available
  - eap_proxy_get_eapKeyData
  - eap_proxy_get_eapRespData
  - eap_proxy_sm_step
  - eap_proxy_packet_update
  - eap_proxy_sm_get_status
  - eap_proxy_get_imsi
  - eap_proxy_notify_config
  - eap_proxy_get_eap_session_id
  - eap_proxy_get_emsk
  - eap_proxy_sm_abort
  source_file: /src/hostap/src/eap_peer/eap_proxy_dummy.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - eap_gpsk_state_txt
  - eap_gpsk_state
  - eap_gpsk_init
  - eap_gpsk_deinit
  - eap_gpsk_process_id_server
  - eap_gpsk_process_rand_server
  - eap_gpsk_select_csuite
  - eap_gpsk_process_csuite_list
  - eap_gpsk_process_gpsk_1
  - eap_gpsk_send_gpsk_2
  - eap_gpsk_validate_rand
  - eap_gpsk_validate_id_server
  - eap_gpsk_validate_csuite
  - eap_gpsk_validate_pd_payload_2
  - eap_gpsk_validate_gpsk_3_mic
  - eap_gpsk_process_gpsk_3
  - eap_gpsk_send_gpsk_4
  - eap_gpsk_process
  - eap_gpsk_isKeyAvailable
  - eap_gpsk_getKey
  - eap_gpsk_get_emsk
  - eap_gpsk_get_session_id
  - eap_peer_gpsk_register
  source_file: /src/hostap/src/eap_peer/eap_gpsk.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: state
        type: enum { GPSK_1, GPSK_3, SUCCESS, FAILURE }
      - name: rand_server[EAP_GPSK_RAND_LEN]
        type: u8
      - name: rand_peer[EAP_GPSK_RAND_LEN]
        type: u8
      - name: msk[EAP_MSK_LEN]
        type: u8
      - name: emsk[EAP_EMSK_LEN]
        type: u8
      - name: sk[EAP_GPSK_MAX_SK_LEN]
        type: u8
      - name: sk_len
        type: size_t
      - name: pk[EAP_GPSK_MAX_PK_LEN]
        type: u8
      - name: pk_len
        type: size_t
      - name: session_id[128]
        type: u8
      - name: id_len
        type: size_t
      - name: '*id_peer'
        type: u8
      - name: id_peer_len
        type: size_t
      - name: '*id_server'
        type: u8
      - name: id_server_len
        type: size_t
      - name: vendor
        type: int
      - name: specifier
        type: int
      - name: '*psk'
        type: u8
      - name: psk_len
        type: size_t
      - name: forced_cipher
        type: u16
      item_type: struct
      name: eap_gpsk_data
      pos:
        line_end: 36
        line_start: 15
        source_file: /src/hostap/src/eap_peer/eap_gpsk.c
    typedefs: []
    union: []
- function_names:
  - eap_teap_parse_phase1
  - eap_teap_init
  - eap_teap_clear
  - eap_teap_deinit
  - eap_teap_derive_msk
  - eap_teap_derive_key_auth
  - eap_teap_init_phase2_method
  - eap_teap_select_phase2_method
  - eap_teap_deinit_inner_eap
  - eap_teap_phase2_request
  - eap_teap_tlv_nak
  - eap_teap_add_identity_type
  - eap_teap_process_eap_payload_tlv
  - eap_teap_process_basic_auth_req
  - eap_teap_validate_crypto_binding
  - eap_teap_write_crypto_binding
  - eap_teap_get_cmk
  - eap_teap_session_id
  - eap_teap_process_crypto_binding
  - eap_teap_parse_decrypted
  - eap_teap_process_decrypted
  - eap_teap_decrypt
  - eap_teap_process_start
  - eap_teap_add_stub_outer_tlvs
  - eap_teap_process
  - eap_teap_has_reauth_data
  - eap_teap_deinit_for_reauth
  - eap_teap_init_for_reauth
  - eap_teap_get_status
  - eap_teap_isKeyAvailable
  - eap_teap_getKey
  - eap_teap_get_session_id
  - eap_teap_get_emsk
  - eap_peer_teap_register
  source_file: /src/hostap/src/eap_peer/eap_teap.c
  types:
    enum:
    - enumerators:
      - name: TEAP_DEFAULT
      - name: TEAP_FREERADIUS
      item_type: enum
      name: teap_compat
      pos:
        line_end: 62
        line_start: 59
        source_file: /src/hostap/src/eap_peer/eap_teap.c
    preproc_defs: []
    structs:
    - fields:
      - name: ssl
        type: struct eap_ssl_data
      - name: teap_version
        type: u8
      - name: received_version
        type: u8
      - name: tls_cs
        type: u16
      - name: '*phase2_method'
        type: struct eap_method
      - name: '*phase2_priv'
        type: void
      - name: phase2_success
        type: int
      - name: inner_method_done
        type: int
      - name: iresult_verified
        type: int
      - name: result_success_done
        type: int
      - name: on_tx_completion
        type: int
      - name: phase2_type
        type: struct eap_method_type
      - name: '*phase2_types'
        type: struct eap_method_type
      - name: num_phase2_types
        type: size_t
      - name: resuming
        type: int
      - name: test_outer_tlvs
        type: int
      - name: key_data[EAP_TEAP_KEY_LEN]
        type: u8
      - name: '*session_id'
        type: u8
      - name: id_len
        type: size_t
      - name: emsk[EAP_EMSK_LEN]
        type: u8
      - name: success
        type: int
      - name: simck[EAP_TEAP_SIMCK_LEN]
        type: u8
      - name: simck_msk[EAP_TEAP_SIMCK_LEN]
        type: u8
      - name: simck_emsk[EAP_TEAP_SIMCK_LEN]
        type: u8
      - name: simck_idx
        type: int
      - name: cmk_emsk_available
        type: bool
      - name: '*pending_phase2_req'
        type: struct wpabuf
      - name: '*pending_resp'
        type: struct wpabuf
      - name: '*server_outer_tlvs'
        type: struct wpabuf
      - name: '*peer_outer_tlvs'
        type: struct wpabuf
      - name: teap_compat
        type: "enum teap_compat {\n\t\tTEAP_DEFAULT,\n\t\tTEAP_FREERADIUS,\n\t}"
      item_type: struct
      name: eap_teap_data
      pos:
        line_end: 63
        line_start: 21
        source_file: /src/hostap/src/eap_peer/eap_teap.c
    typedefs: []
    union: []
- function_names:
  - eap_otp_init
  - eap_otp_deinit
  - eap_otp_process
  - eap_peer_otp_register
  source_file: /src/hostap/src/eap_peer/eap_otp.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - eap_sim_state_txt
  - eap_sim_state
  - eap_sim_init
  - eap_sim_clear_keys
  - eap_sim_deinit
  - eap_sim_ext_sim_req
  - eap_sim_ext_sim_result
  - eap_sim_gsm_auth
  - eap_sim_supported_ver
  - eap_sim_clear_identities
  - eap_sim_learn_ids
  - eap_sim_client_error
  - eap_sim_encrypt_identity
  - eap_sim_response_start
  - eap_sim_response_challenge
  - eap_sim_response_reauth
  - eap_sim_response_notification
  - eap_sim_process_start
  - eap_sim_process_challenge
  - eap_sim_process_notification_reauth
  - eap_sim_process_notification_auth
  - eap_sim_process_notification
  - eap_sim_process_reauthentication
  - eap_sim_process
  - eap_sim_has_reauth_data
  - eap_sim_deinit_for_reauth
  - eap_sim_init_for_reauth
  - eap_sim_get_identity
  - eap_sim_isKeyAvailable
  - eap_sim_getKey
  - eap_sim_get_session_id
  - eap_sim_get_emsk
  - eap_sim_get_error_code
  - eap_peer_sim_register
  source_file: /src/hostap/src/eap_peer/eap_sim.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CLEAR_PSEUDONYM
      pos:
        line_end: 407
        line_start: 406
        source_file: /src/hostap/src/eap_peer/eap_sim.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: CLEAR_REAUTH_ID
      pos:
        line_end: 408
        line_start: 407
        source_file: /src/hostap/src/eap_peer/eap_sim.c
      type_or_value: '0x02'
    structs:
    - fields:
      - name: '*ver_list'
        type: u8
      - name: ver_list_len
        type: size_t
      - name: selected_version
        type: int
      - name: min_num_chal
        type: size_t
      - name: kc[3][EAP_SIM_KC_LEN]
        type: u8
      - name: sres[3][EAP_SIM_SRES_LEN]
        type: u8
      - name: nonce_mt[EAP_SIM_NONCE_MT_LEN]
        type: u8
      - name: mk[EAP_SIM_MK_LEN]
        type: u8
      - name: k_aut[EAP_SIM_K_AUT_LEN]
        type: u8
      - name: k_encr[EAP_SIM_K_ENCR_LEN]
        type: u8
      - name: msk[EAP_SIM_KEYING_DATA_LEN]
        type: u8
      - name: emsk[EAP_EMSK_LEN]
        type: u8
      - name: rand[3][GSM_RAND_LEN]
        type: u8
      - name: reauth_mac[EAP_SIM_MAC_LEN]
        type: u8
      - name: num_id_req
        type: int
      - name: '*pseudonym'
        type: u8
      - name: pseudonym_len
        type: size_t
      - name: '*reauth_id'
        type: u8
      - name: reauth_id_len
        type: size_t
      - name: reauth
        type: int
      - name: counter
        type: unsigned int
      - name: '*mk_identity'
        type: u8
      - name: mk_identity_len
        type: size_t
      - name: state
        type: "enum {\n\t\tCONTINUE, START_DONE, RESULT_SUCCESS, SUCCESS, FAILURE\n\t}"
      - name: result_ind
        type: int
      - name: use_pseudonym
        type: int
      - name: error_code
        type: int
      - name: '*imsi_privacy_key'
        type: struct crypto_rsa_key
      item_type: struct
      name: eap_sim_data
      pos:
        line_end: 54
        line_start: 21
        source_file: /src/hostap/src/eap_peer/eap_sim.c
    typedefs: []
    union: []
- function_names:
  - eap_peer_get_eap_method
  - eap_peer_get_type
  - eap_get_name
  - eap_get_names
  - eap_get_names_as_string_array
  - eap_peer_get_methods
  - eap_peer_method_load
  - eap_peer_method_unload
  - eap_peer_method_alloc
  - eap_peer_method_free
  - eap_peer_method_register
  - eap_peer_unregister_methods
  source_file: /src/hostap/src/eap_peer/eap_methods.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - eap_ikev2_state_txt
  - eap_ikev2_state
  - eap_ikev2_init
  - eap_ikev2_deinit
  - eap_ikev2_peer_keymat
  - eap_ikev2_build_msg
  - eap_ikev2_process_icv
  - eap_ikev2_process_cont
  - eap_ikev2_process_fragment
  - eap_ikev2_process
  - eap_ikev2_isKeyAvailable
  - eap_ikev2_getKey
  - eap_ikev2_get_emsk
  - eap_ikev2_get_session_id
  - eap_peer_ikev2_register
  source_file: /src/hostap/src/eap_peer/eap_ikev2.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: ikev2
        type: struct ikev2_responder_data
      - name: state
        type: enum { WAIT_START, PROC_MSG, WAIT_FRAG_ACK, DONE, FAIL }
      - name: '*in_buf'
        type: struct wpabuf
      - name: '*out_buf'
        type: struct wpabuf
      - name: out_used
        type: size_t
      - name: fragment_size
        type: size_t
      - name: keys_ready
        type: int
      - name: keymat[EAP_MSK_LEN + EAP_EMSK_LEN]
        type: u8
      - name: keymat_ok
        type: int
      item_type: struct
      name: eap_ikev2_data
      pos:
        line_end: 26
        line_start: 16
        source_file: /src/hostap/src/eap_peer/eap_ikev2.c
    typedefs: []
    union: []
- function_names:
  - eapol_get_bool
  - eapol_set_bool
  - eapol_get_int
  - eapol_set_int
  - eapol_get_eapReqData
  - eap_notify_status
  - eap_report_error
  - eap_sm_free_key
  - eap_deinit_prev_method
  - eap_config_allowed_method
  - eap_allowed_method
  - eap_sm_append_3gpp_realm
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - eap_get_realm
  - eap_home_realm
  - eap_erp_get_key
  - eap_erp_get_key_nai
  - eap_peer_erp_free_key
  - eap_erp_remove_keys_realm
  - eap_peer_update_erp_next_seq_num
  - eap_peer_get_erp_info
  - eap_peer_erp_free_keys
  - eap_peer_erp_init
  - eap_peer_build_erp_reauth_start
  - eap_peer_erp_reauth_start
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - eap_success_workaround
  - eap_peer_sm_step_idle
  - eap_peer_req_is_duplicate
  - eap_peer_sm_allow_canned
  - eap_peer_sm_step_received
  - eap_peer_sm_step_local
  - SM_STEP
  - eap_sm_allowMethod
  - eap_sm_build_expanded_nak
  - eap_sm_buildNak
  - eap_sm_processIdentity
  - mnc_len_from_imsi
  - eap_sm_imsi_identity
  - eap_sm_set_scard_pin
  - eap_sm_get_scard_identity
  - eap_sm_buildIdentity
  - eap_sm_processNotify
  - eap_sm_buildNotify
  - eap_peer_initiate
  - eap_peer_finish
  - eap_sm_parseEapReq
  - eap_peer_sm_tls_event
  - eap_peer_sm_init
  - eap_peer_sm_deinit
  - eap_peer_sm_step
  - eap_sm_abort
  - eap_sm_state_txt
  - eap_sm_method_state_txt
  - eap_sm_decision_txt
  - eap_sm_get_status
  - eap_sm_request
  - eap_sm_get_method_name
  - eap_sm_request_identity
  - eap_sm_request_password
  - eap_sm_request_new_password
  - eap_sm_request_pin
  - eap_sm_request_otp
  - eap_sm_request_passphrase
  - eap_sm_request_sim
  - eap_sm_notify_ctrl_attached
  - eap_allowed_phase2_type
  - eap_get_phase2_type
  - eap_get_phase2_types
  - eap_set_fast_reauth
  - eap_set_workaround
  - eap_get_config
  - eap_get_config_identity
  - eap_get_ext_password
  - eap_get_config_password
  - eap_get_config_password2
  - eap_get_config_new_password
  - eap_get_config_otp
  - eap_clear_config_otp
  - eap_get_config_phase1
  - eap_get_config_phase2
  - eap_get_config_fragment_size
  - eap_key_available
  - eap_notify_success
  - eap_notify_lower_layer_success
  - eap_get_eapSessionId
  - eap_get_eapKeyData
  - eap_get_eapRespData
  - eap_register_scard_ctx
  - eap_set_config_blob
  - eap_get_config_blob
  - eap_set_force_disabled
  - eap_set_external_sim
  - eap_notify_pending
  - eap_invalidate_cached_session
  - eap_is_wps_pbc_enrollee
  - eap_is_wps_pin_enrollee
  - eap_sm_set_ext_pw_ctx
  - eap_set_anon_id
  - eap_peer_was_failure_expected
  source_file: /src/hostap/src/eap_peer/eap.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STATE_MACHINE_DATA
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/hostap/src/eap_peer/eap.c
      type_or_value: struct eap_sm
    - item_type: preproc_def
      name: STATE_MACHINE_DEBUG_PREFIX
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/hostap/src/eap_peer/eap.c
      type_or_value: '"EAP"'
    - item_type: preproc_def
      name: EAP_MAX_AUTH_ROUNDS
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/hostap/src/eap_peer/eap.c
      type_or_value: '100'
    - item_type: preproc_def
      name: EAP_MAX_AUTH_ROUNDS_SHORT
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/hostap/src/eap_peer/eap.c
      type_or_value: '50'
    - item_type: preproc_def
      name: EAP_CLIENT_TIMEOUT_DEFAULT
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/hostap/src/eap_peer/eap.c
      type_or_value: '60'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/eap_peer/ikev2.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: proposal_num
        type: u8
      - name: integ
        type: int
      - name: prf
        type: int
      - name: encr
        type: int
      - name: dh
        type: int
      item_type: struct
      name: ikev2_proposal_data
      pos:
        line_end: 19
        line_start: 13
        source_file: /src/hostap/src/eap_peer/ikev2.h
    - fields:
      - name: state
        type: enum { SA_INIT, SA_AUTH, CHILD_SA, NOTIFY, IKEV2_DONE, IKEV2_FAILED
          }
      - name: i_spi[IKEV2_SPI_LEN]
        type: u8
      - name: r_spi[IKEV2_SPI_LEN]
        type: u8
      - name: i_nonce[IKEV2_NONCE_MAX_LEN]
        type: u8
      - name: i_nonce_len
        type: size_t
      - name: r_nonce[IKEV2_NONCE_MAX_LEN]
        type: u8
      - name: r_nonce_len
        type: size_t
      - name: '*i_dh_public'
        type: struct wpabuf
      - name: '*r_dh_private'
        type: struct wpabuf
      - name: proposal
        type: struct ikev2_proposal_data
      - name: '*dh'
        type: struct dh_group
      - name: keys
        type: struct ikev2_keys
      - name: '*IDi'
        type: u8
      - name: IDi_len
        type: size_t
      - name: IDi_type
        type: u8
      - name: '*IDr'
        type: u8
      - name: IDr_len
        type: size_t
      - name: '*r_sign_msg'
        type: struct wpabuf
      - name: '*i_sign_msg'
        type: struct wpabuf
      - name: '*shared_secret'
        type: u8
      - name: shared_secret_len
        type: size_t
      - name: peer_auth
        type: enum { PEER_AUTH_CERT, PEER_AUTH_SECRET }
      - name: '*key_pad'
        type: u8
      - name: key_pad_len
        type: size_t
      - name: error_type
        type: u16
      - name: last_msg
        type: enum { LAST_MSG_SA_INIT, LAST_MSG_SA_AUTH }
      item_type: struct
      name: ikev2_responder_data
      pos:
        line_end: 50
        line_start: 22
        source_file: /src/hostap/src/eap_peer/ikev2.h
    typedefs: []
    union: []
- function_names:
  - eap_gtc_init
  - eap_gtc_deinit
  - eap_gtc_process
  - eap_peer_gtc_register
  source_file: /src/hostap/src/eap_peer/eap_gtc.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: prefix
        type: int
      item_type: struct
      name: eap_gtc_data
      pos:
        line_end: 16
        line_start: 14
        source_file: /src/hostap/src/eap_peer/eap_gtc.c
    typedefs: []
    union: []
- function_names:
  - eap_tls_init
  - eap_unauth_tls_init
  - eap_tls_free_key
  - eap_tls_deinit
  - eap_tls_failure
  - eap_tls_success
  - eap_tls_process
  - eap_tls_has_reauth_data
  - eap_tls_deinit_for_reauth
  - eap_tls_init_for_reauth
  - eap_tls_get_status
  - eap_tls_isKeyAvailable
  - eap_tls_getKey
  - eap_tls_get_emsk
  - eap_tls_get_session_id
  - eap_peer_tls_register
  - eap_peer_unauth_tls_register
  source_file: /src/hostap/src/eap_peer/eap_tls.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: ssl
        type: struct eap_ssl_data
      - name: '*key_data'
        type: u8
      - name: '*session_id'
        type: u8
      - name: id_len
        type: size_t
      - name: '*ssl_ctx'
        type: void
      - name: eap_type
        type: u8
      - name: '*pending_resp'
        type: struct wpabuf
      - name: prot_success_received
        type: bool
      item_type: struct
      name: eap_tls_data
      pos:
        line_end: 29
        line_start: 20
        source_file: /src/hostap/src/eap_peer/eap_tls.c
    typedefs: []
    union: []
- function_names:
  - eap_pax_init
  - eap_pax_deinit
  - eap_pax_alloc_resp
  - eap_pax_process_std_1
  - eap_pax_process_std_3
  - eap_pax_process
  - eap_pax_isKeyAvailable
  - eap_pax_getKey
  - eap_pax_get_emsk
  - eap_pax_get_session_id
  - eap_peer_pax_register
  source_file: /src/hostap/src/eap_peer/eap_pax.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: state
        type: enum { PAX_INIT, PAX_STD_2_SENT, PAX_DONE }
      - name: mac_id
        type: u8
      - name: rand
        type: "union {\n\t\tu8 e[2 * EAP_PAX_RAND_LEN];\n\t\tstruct {\n\t\t\tu8 x[EAP_PAX_RAND_LEN];
          /* server rand */\n\t\t\tu8 y[EAP_PAX_RAND_LEN]; /* client rand */\n\t\t}
          r;\n\t}"
      - name: '*cid'
        type: char
      - name: cid_len
        type: size_t
      - name: ak[EAP_PAX_AK_LEN]
        type: u8
      - name: mk[EAP_PAX_MK_LEN]
        type: u8
      - name: ck[EAP_PAX_CK_LEN]
        type: u8
      - name: ick[EAP_PAX_ICK_LEN]
        type: u8
      - name: mid[EAP_PAX_MID_LEN]
        type: u8
      item_type: struct
      name: eap_pax_data
      pos:
        line_end: 41
        line_start: 24
        source_file: /src/hostap/src/eap_peer/eap_pax.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/eap_peer/eap_tls_common.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EAP_TLS_FLAGS_LENGTH_INCLUDED
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/hostap/src/eap_peer/eap_tls_common.h
      type_or_value: '0x80'
    - item_type: preproc_def
      name: EAP_TLS_FLAGS_MORE_FRAGMENTS
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/hostap/src/eap_peer/eap_tls_common.h
      type_or_value: '0x40'
    - item_type: preproc_def
      name: EAP_TLS_FLAGS_START
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/hostap/src/eap_peer/eap_tls_common.h
      type_or_value: '0x20'
    - item_type: preproc_def
      name: EAP_TEAP_FLAGS_OUTER_TLV_LEN
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/hostap/src/eap_peer/eap_tls_common.h
      type_or_value: '0x10'
    - item_type: preproc_def
      name: EAP_TLS_VERSION_MASK
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/hostap/src/eap_peer/eap_tls_common.h
      type_or_value: '0x07'
    - item_type: preproc_def
      name: EAP_TLS_KEY_LEN
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/hostap/src/eap_peer/eap_tls_common.h
      type_or_value: '64'
    - item_type: preproc_def
      name: EAP_UNAUTH_TLS_TYPE
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/hostap/src/eap_peer/eap_tls_common.h
      type_or_value: '255'
    structs:
    - fields:
      - name: '*conn'
        type: struct tls_connection
      - name: '*tls_out'
        type: struct wpabuf
      - name: tls_out_pos
        type: size_t
      - name: tls_out_limit
        type: size_t
      - name: '*tls_in'
        type: struct wpabuf
      - name: tls_in_left
        type: size_t
      - name: tls_in_total
        type: size_t
      - name: phase2
        type: int
      - name: include_tls_length
        type: int
      - name: '*eap'
        type: struct eap_sm
      - name: '*ssl_ctx'
        type: void
      - name: eap_type
        type: u8
      - name: tls_v13
        type: int
      - name: client_cert_conf
        type: bool
      item_type: struct
      name: eap_ssl_data
      pos:
        line_end: 86
        line_start: 14
        source_file: /src/hostap/src/eap_peer/eap_tls_common.h
    typedefs: []
    union: []
- function_names:
  - eap_ttls_parse_phase1
  - eap_ttls_init
  - eap_ttls_phase2_eap_deinit
  - eap_ttls_free_key
  - eap_ttls_deinit
  - eap_ttls_avp_hdr
  - eap_ttls_avp_add
  - eap_ttls_avp_encapsulate
  - eap_ttls_v0_derive_key
  - eap_ttls_implicit_challenge
  - eap_ttls_phase2_select_eap_method
  - eap_ttls_phase2_eap_process
  - eap_ttls_phase2_request_eap_method
  - eap_ttls_phase2_request_eap
  - eap_ttls_phase2_request_mschapv2
  - eap_ttls_phase2_request_mschap
  - eap_ttls_phase2_request_pap
  - eap_ttls_phase2_request_chap
  - eap_ttls_phase2_request
  - eap_ttls_parse_attr_eap
  - eap_ttls_parse_avp
  - eap_ttls_parse_avps
  - eap_ttls_fake_identity_request
  - eap_ttls_encrypt_response
  - eap_ttls_process_phase2_eap
  - eap_ttls_process_phase2_mschapv2
  - eap_ttls_process_tnc_start
  - eap_ttls_process_decrypted
  - eap_ttls_implicit_identity_request
  - eap_ttls_phase2_start
  - eap_ttls_decrypt
  - eap_ttls_process_handshake
  - eap_ttls_check_auth_status
  - eap_ttls_process
  - eap_ttls_has_reauth_data
  - eap_ttls_deinit_for_reauth
  - eap_ttls_init_for_reauth
  - eap_ttls_get_status
  - eap_ttls_isKeyAvailable
  - eap_ttls_getKey
  - eap_ttls_get_session_id
  - eap_ttls_get_emsk
  - eap_peer_ttls_register
  source_file: /src/hostap/src/eap_peer/eap_ttls.c
  types:
    enum:
    - enumerators:
      - name: EAP_TTLS_PHASE2_EAP
      - name: EAP_TTLS_PHASE2_PAP
      - name: EAP_TTLS_PHASE2_MSCHAP
      - name: EAP_TTLS_PHASE2_MSCHAPV2
      - name: EAP_TTLS_PHASE2_CHAP
      item_type: enum
      name: phase2_types
      pos:
        line_end: 45
        line_start: 39
        source_file: /src/hostap/src/eap_peer/eap_ttls.c
    preproc_defs:
    - item_type: preproc_def
      name: EAP_TTLS_VERSION
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/hostap/src/eap_peer/eap_ttls.c
      type_or_value: '0'
    structs:
    - fields:
      - name: ssl
        type: struct eap_ssl_data
      - name: ttls_version
        type: int
      - name: '*phase2_method'
        type: struct eap_method
      - name: '*phase2_priv'
        type: void
      - name: phase2_success
        type: int
      - name: phase2_start
        type: int
      - name: decision_succ
        type: EapDecision
      - name: phase2_type
        type: "enum phase2_types {\n\t\tEAP_TTLS_PHASE2_EAP,\n\t\tEAP_TTLS_PHASE2_MSCHAPV2,\n\t\tEAP_TTLS_PHASE2_MSCHAP,\n\t\tEAP_TTLS_PHASE2_PAP,\n\t\tEAP_TTLS_PHASE2_CHAP\n\t}"
      - name: phase2_eap_type
        type: struct eap_method_type
      - name: '*phase2_eap_types'
        type: struct eap_method_type
      - name: num_phase2_eap_types
        type: size_t
      - name: auth_response[MSCHAPV2_AUTH_RESPONSE_LEN]
        type: u8
      - name: auth_response_valid
        type: int
      - name: master_key[MSCHAPV2_MASTER_KEY_LEN]
        type: u8
      - name: ident
        type: u8
      - name: resuming
        type: int
      - name: reauth
        type: int
      - name: '*key_data'
        type: u8
      - name: '*session_id'
        type: u8
      - name: id_len
        type: size_t
      - name: '*pending_phase2_req'
        type: struct wpabuf
      - name: '*pending_resp'
        type: struct wpabuf
      - name: phase2_auth
        type: enum { NO_AUTH, FOR_INITIAL, ALWAYS }
      item_type: struct
      name: eap_ttls_data
      pos:
        line_end: 69
        line_start: 28
        source_file: /src/hostap/src/eap_peer/eap_ttls.c
    - fields:
      - name: '*mschapv2'
        type: u8
      - name: '*eapdata'
        type: u8
      - name: eap_len
        type: size_t
      - name: mschapv2_error
        type: int
      item_type: struct
      name: ttls_parse_avp
      pos:
        line_end: 936
        line_start: 931
        source_file: /src/hostap/src/eap_peer/eap_ttls.c
    typedefs: []
    union: []
- function_names:
  - eap_psk_init
  - eap_psk_deinit
  - eap_psk_process_1
  - eap_psk_process_3
  - eap_psk_process
  - eap_psk_isKeyAvailable
  - eap_psk_getKey
  - eap_psk_get_session_id
  - eap_psk_get_emsk
  - eap_peer_psk_register
  source_file: /src/hostap/src/eap_peer/eap_psk.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: state
        type: enum { PSK_INIT, PSK_MAC_SENT, PSK_DONE }
      - name: rand_p[EAP_PSK_RAND_LEN]
        type: u8
      - name: rand_s[EAP_PSK_RAND_LEN]
        type: u8
      - name: ak[EAP_PSK_AK_LEN]
        type: u8
      - name: '*id_s'
        type: u8
      - name: id_s_len
        type: size_t
      - name: msk[EAP_MSK_LEN]
        type: u8
      - name: emsk[EAP_EMSK_LEN]
        type: u8
      item_type: struct
      name: eap_psk_data
      pos:
        line_end: 29
        line_start: 20
        source_file: /src/hostap/src/eap_peer/eap_psk.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/eap_peer/eap.h
  types:
    enum:
    - enumerators:
      - name: EAPOL_eapSuccess
      - name: EAPOL_eapRestart
      - name: EAPOL_eapFail
      - name: EAPOL_eapResp
      - name: EAPOL_eapNoResp
      - name: EAPOL_eapReq
      - name: EAPOL_portEnabled
      - name: EAPOL_altAccept
      - name: EAPOL_altReject
      - name: EAPOL_eapTriggerStart
      item_type: enum
      name: eapol_bool_var
      pos:
        line_end: 105
        line_start: 35
        source_file: /src/hostap/src/eap_peer/eap.h
    - enumerators:
      - name: EAPOL_idleWhile
      item_type: enum
      name: eapol_int_var
      pos:
        line_end: 126
        line_start: 115
        source_file: /src/hostap/src/eap_peer/eap.h
    preproc_defs: []
    structs:
    - fields:
      - name: vendor
        type: int
      - name: method
        type: u32
      item_type: struct
      name: eap_method_type
      pos:
        line_end: 23
        line_start: 20
        source_file: /src/hostap/src/eap_peer/eap.h
    - fields:
      - name: '* (*get_config)(void *ctx)'
        type: struct eap_peer_config
      - name: (*get_bool)(void *ctx, enum eapol_bool_var variable)
        type: bool
      - name: (*set_bool)(void *ctx, enum eapol_bool_var variable, bool value)
        type: void
      - name: (*get_int)(void *ctx, enum eapol_int_var variable)
        type: unsigned int
      - name: "(*set_int)(void *ctx, enum eapol_int_var variable,\n\t\t\tunsigned
          int value)"
        type: void
      - name: '* (*get_eapReqData)(void *ctx)'
        type: struct wpabuf
      - name: (*set_config_blob)(void *ctx, struct wpa_config_blob *blob)
        type: void
      - name: "* (*get_config_blob)(void *ctx,\n\t\t\t\t\t\t\t  const char *name)"
        type: struct wpa_config_blob
      - name: (*notify_pending)(void *ctx)
        type: void
      - name: "(*eap_param_needed)(void *ctx, enum wpa_ctrl_req_type field,\n\t\t\t\t
          const char *txt)"
        type: void
      - name: "(*notify_cert)(void *ctx, struct tls_cert_data *cert,\n\t\t\t    const
          char *cert_hash)"
        type: void
      - name: "(*notify_status)(void *ctx, const char *status,\n\t\t\t      const
          char *parameter)"
        type: void
      - name: (*notify_eap_error)(void *ctx, int error_code)
        type: void
      - name: (*set_anon_id)(void *ctx, const u8 *id, size_t len)
        type: void
      item_type: struct
      name: eapol_callbacks
      pos:
        line_end: 283
        line_start: 137
        source_file: /src/hostap/src/eap_peer/eap.h
    - fields:
      - name: '*opensc_engine_path'
        type: char
      - name: '*pkcs11_engine_path'
        type: char
      - name: '*pkcs11_module_path'
        type: char
      - name: '*openssl_ciphers'
        type: char
      - name: '*wps'
        type: struct wps_context
      - name: cert_in_cb
        type: int
      item_type: struct
      name: eap_config
      pos:
        line_end: 326
        line_start: 288
        source_file: /src/hostap/src/eap_peer/eap.h
    typedefs: []
    union: []
- function_names:
  - eap_tls_msg_alloc
  - eap_tls_check_blob
  - eap_tls_params_flags
  - eap_tls_cert_params_from_conf
  - eap_tls_params_from_conf1
  - eap_tls_params_from_conf2
  - eap_tls_params_from_conf2m
  - eap_tls_params_from_conf
  - eap_tls_init_connection
  - eap_peer_tls_ssl_init
  - eap_peer_tls_ssl_deinit
  - eap_peer_tls_derive_key
  - eap_peer_tls_derive_session_id
  - eap_peer_tls_reassemble_fragment
  - eap_peer_tls_data_reassemble
  - eap_tls_process_input
  - eap_tls_process_output
  - eap_peer_tls_process_helper
  - eap_peer_tls_build_ack
  - eap_peer_tls_reauth_init
  - eap_peer_tls_status
  - eap_peer_tls_process_init
  - eap_peer_tls_reset_input
  - eap_peer_tls_reset_output
  - eap_peer_tls_decrypt
  - eap_peer_tls_encrypt
  - eap_peer_select_phase2_methods
  - eap_peer_tls_phase2_nak
  source_file: /src/hostap/src/eap_peer/eap_tls_common.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - eap_mschapv2_init
  - eap_mschapv2_deinit
  - eap_mschapv2_challenge_reply
  - eap_mschapv2_challenge
  - eap_mschapv2_password_changed
  - eap_mschapv2_success
  - eap_mschapv2_failure_txt
  - eap_mschapv2_change_password
  - eap_mschapv2_failure
  - eap_mschapv2_check_config
  - eap_mschapv2_check_mslen
  - eap_mschapv2_copy_challenge
  - eap_mschapv2_process
  - eap_mschapv2_isKeyAvailable
  - eap_mschapv2_getKey
  - eap_peer_mschapv2_register
  source_file: /src/hostap/src/eap_peer/eap_mschapv2.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MSCHAPV2_OP_CHALLENGE
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/hostap/src/eap_peer/eap_mschapv2.c
      type_or_value: '1'
    - item_type: preproc_def
      name: MSCHAPV2_OP_RESPONSE
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/hostap/src/eap_peer/eap_mschapv2.c
      type_or_value: '2'
    - item_type: preproc_def
      name: MSCHAPV2_OP_SUCCESS
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/hostap/src/eap_peer/eap_mschapv2.c
      type_or_value: '3'
    - item_type: preproc_def
      name: MSCHAPV2_OP_FAILURE
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/hostap/src/eap_peer/eap_mschapv2.c
      type_or_value: '4'
    - item_type: preproc_def
      name: MSCHAPV2_OP_CHANGE_PASSWORD
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/hostap/src/eap_peer/eap_mschapv2.c
      type_or_value: '7'
    - item_type: preproc_def
      name: ERROR_RESTRICTED_LOGON_HOURS
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/hostap/src/eap_peer/eap_mschapv2.c
      type_or_value: '646'
    - item_type: preproc_def
      name: ERROR_ACCT_DISABLED
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/hostap/src/eap_peer/eap_mschapv2.c
      type_or_value: '647'
    - item_type: preproc_def
      name: ERROR_PASSWD_EXPIRED
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/hostap/src/eap_peer/eap_mschapv2.c
      type_or_value: '648'
    - item_type: preproc_def
      name: ERROR_NO_DIALIN_PERMISSION
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/hostap/src/eap_peer/eap_mschapv2.c
      type_or_value: '649'
    - item_type: preproc_def
      name: ERROR_AUTHENTICATION_FAILURE
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/hostap/src/eap_peer/eap_mschapv2.c
      type_or_value: '691'
    - item_type: preproc_def
      name: ERROR_CHANGING_PASSWORD
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/hostap/src/eap_peer/eap_mschapv2.c
      type_or_value: '709'
    - item_type: preproc_def
      name: PASSWD_CHANGE_CHAL_LEN
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/hostap/src/eap_peer/eap_mschapv2.c
      type_or_value: '16'
    - item_type: preproc_def
      name: MSCHAPV2_KEY_LEN
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/hostap/src/eap_peer/eap_mschapv2.c
      type_or_value: '16'
    structs:
    - fields:
      - name: op_code
        type: u8
      - name: mschapv2_id
        type: u8
      - name: ms_length[2]
        type: u8
      item_type: struct
      name: eap_mschapv2_hdr
      pos:
        line_end: 36
        line_start: 30
        source_file: /src/hostap/src/eap_peer/eap_mschapv2.c
    - fields:
      - name: peer_challenge[MSCHAPV2_CHAL_LEN]
        type: u8
      - name: reserved[8]
        type: u8
      - name: nt_response[MSCHAPV2_NT_RESPONSE_LEN]
        type: u8
      - name: flags
        type: u8
      item_type: struct
      name: ms_response
      pos:
        line_end: 44
        line_start: 39
        source_file: /src/hostap/src/eap_peer/eap_mschapv2.c
    - fields:
      - name: encr_password[516]
        type: u8
      - name: encr_hash[16]
        type: u8
      - name: peer_challenge[MSCHAPV2_CHAL_LEN]
        type: u8
      - name: reserved[8]
        type: u8
      - name: nt_response[MSCHAPV2_NT_RESPONSE_LEN]
        type: u8
      - name: flags[2]
        type: u8
      item_type: struct
      name: ms_change_password
      pos:
        line_end: 54
        line_start: 47
        source_file: /src/hostap/src/eap_peer/eap_mschapv2.c
    - fields:
      - name: auth_response[MSCHAPV2_AUTH_RESPONSE_LEN]
        type: u8
      - name: auth_response_valid
        type: int
      - name: prev_error
        type: int
      - name: passwd_change_challenge[PASSWD_CHANGE_CHAL_LEN]
        type: u8
      - name: passwd_change_challenge_valid
        type: int
      - name: passwd_change_version
        type: int
      - name: '*peer_challenge'
        type: u8
      - name: '*auth_challenge'
        type: u8
      - name: phase2
        type: int
      - name: master_key[MSCHAPV2_MASTER_KEY_LEN]
        type: u8
      - name: master_key_valid
        type: int
      - name: success
        type: int
      - name: '*prev_challenge'
        type: struct wpabuf
      item_type: struct
      name: eap_mschapv2_data
      pos:
        line_end: 97
        line_start: 77
        source_file: /src/hostap/src/eap_peer/eap_mschapv2.c
    typedefs: []
    union: []
- function_names:
  - eap_peap_parse_phase1
  - eap_peap_init
  - eap_peap_free_key
  - eap_peap_deinit
  - eap_tlv_build_nak
  - eap_peap_get_isk
  - eap_peap_derive_cmk
  - eap_tlv_add_cryptobinding
  - eap_tlv_build_result
  - eap_tlv_validate_cryptobinding
  - peap_phase2_sufficient
  - eap_tlv_process
  - eap_peap_phase2_request
  - eap_peap_decrypt
  - eap_peap_process
  - eap_peap_has_reauth_data
  - eap_peap_deinit_for_reauth
  - eap_peap_init_for_reauth
  - eap_peap_get_status
  - eap_peap_isKeyAvailable
  - eap_peap_getKey
  - eap_peap_get_emsk
  - eap_peap_get_session_id
  - eap_peer_peap_register
  source_file: /src/hostap/src/eap_peer/eap_peap.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EAP_PEAP_VERSION
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/hostap/src/eap_peer/eap_peap.c
      type_or_value: '1'
    structs:
    - fields:
      - name: ssl
        type: struct eap_ssl_data
      - name: peap_version
        type: int
      - name: '*phase2_method'
        type: struct eap_method
      - name: '*phase2_priv'
        type: void
      - name: phase2_success
        type: int
      - name: phase2_eap_success
        type: int
      - name: phase2_eap_started
        type: int
      - name: phase2_type
        type: struct eap_method_type
      - name: '*phase2_types'
        type: struct eap_method_type
      - name: num_phase2_types
        type: size_t
      - name: peap_outer_success
        type: int
      - name: resuming
        type: int
      - name: reauth
        type: int
      - name: '*key_data'
        type: u8
      - name: '*session_id'
        type: u8
      - name: id_len
        type: size_t
      - name: '*pending_phase2_req'
        type: struct wpabuf
      - name: '*pending_resp'
        type: struct wpabuf
      - name: crypto_binding
        type: enum { NO_BINDING, OPTIONAL_BINDING, REQUIRE_BINDING }
      - name: crypto_binding_used
        type: int
      - name: binding_nonce[32]
        type: u8
      - name: ipmk[40]
        type: u8
      - name: cmk[20]
        type: u8
      - name: soh
        type: int
      - name: phase2_auth
        type: enum { NO_AUTH, FOR_INITIAL, ALWAYS }
      item_type: struct
      name: eap_peap_data
      pos:
        line_end: 70
        line_start: 31
        source_file: /src/hostap/src/eap_peer/eap_peap.c
    typedefs: []
    union: []
- function_names:
  - eap_aka_state_txt
  - eap_aka_state
  - eap_aka_init
  - eap_aka_prime_init
  - eap_aka_clear_keys
  - eap_aka_deinit
  - eap_aka_ext_sim_req
  - eap_aka_ext_sim_result
  - eap_aka_umts_auth
  - eap_aka_clear_identities
  - eap_aka_learn_ids
  - eap_aka_add_id_msg
  - eap_aka_add_checkcode
  - eap_aka_verify_checkcode
  - eap_aka_client_error
  - eap_aka_authentication_reject
  - eap_aka_synchronization_failure
  - eap_aka_encrypt_identity
  - eap_aka_response_identity
  - eap_aka_response_challenge
  - eap_aka_response_reauth
  - eap_aka_response_notification
  - eap_aka_process_identity
  - eap_aka_verify_mac
  - eap_aka_prime_kdf_select
  - eap_aka_prime_kdf_neg
  - eap_aka_prime_kdf_valid
  - eap_aka_process_challenge
  - eap_aka_process_notification_reauth
  - eap_aka_process_notification_auth
  - eap_aka_process_notification
  - eap_aka_process_reauthentication
  - eap_aka_process
  - eap_aka_has_reauth_data
  - eap_aka_deinit_for_reauth
  - eap_aka_init_for_reauth
  - eap_aka_get_identity
  - eap_aka_isKeyAvailable
  - eap_aka_getKey
  - eap_aka_get_session_id
  - eap_aka_get_emsk
  - eap_aka_get_error_code
  - eap_peer_aka_register
  - eap_peer_aka_prime_register
  source_file: /src/hostap/src/eap_peer/eap_aka.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CLEAR_PSEUDONYM
      pos:
        line_end: 381
        line_start: 380
        source_file: /src/hostap/src/eap_peer/eap_aka.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: CLEAR_REAUTH_ID
      pos:
        line_end: 382
        line_start: 381
        source_file: /src/hostap/src/eap_peer/eap_aka.c
      type_or_value: '0x02'
    structs:
    - fields:
      - name: ik[EAP_AKA_IK_LEN]
        type: u8
      - name: res_len
        type: size_t
      - name: nonce_s[EAP_SIM_NONCE_S_LEN]
        type: u8
      - name: mk[EAP_SIM_MK_LEN]
        type: u8
      - name: k_aut[EAP_AKA_PRIME_K_AUT_LEN]
        type: u8
      - name: k_encr[EAP_SIM_K_ENCR_LEN]
        type: u8
      - name: k_re[EAP_AKA_PRIME_K_RE_LEN]
        type: u8
      - name: msk[EAP_SIM_KEYING_DATA_LEN]
        type: u8
      - name: emsk[EAP_EMSK_LEN]
        type: u8
      - name: rand[EAP_AKA_RAND_LEN]
        type: u8
      - name: auts[EAP_AKA_AUTS_LEN]
        type: u8
      - name: reauth_mac[EAP_SIM_MAC_LEN]
        type: u8
      - name: num_id_req
        type: int
      - name: '*pseudonym'
        type: u8
      - name: pseudonym_len
        type: size_t
      - name: '*reauth_id'
        type: u8
      - name: reauth_id_len
        type: size_t
      - name: reauth
        type: int
      - name: counter
        type: unsigned int
      - name: '*mk_identity'
        type: u8
      - name: mk_identity_len
        type: size_t
      - name: state
        type: "enum {\n\t\tCONTINUE, RESULT_SUCCESS, SUCCESS, FAILURE\n\t}"
      - name: '*id_msgs'
        type: struct wpabuf
      - name: prev_id
        type: int
      - name: result_ind
        type: int
      - name: use_pseudonym
        type: int
      - name: eap_method
        type: u8
      - name: '*network_name'
        type: u8
      - name: network_name_len
        type: size_t
      - name: kdf
        type: u16
      - name: kdf_negotiation
        type: int
      - name: last_kdf_attrs[EAP_AKA_PRIME_KDF_MAX]
        type: u16
      - name: last_kdf_count
        type: size_t
      - name: error_code
        type: int
      - name: '*imsi_privacy_key'
        type: struct crypto_rsa_key
      item_type: struct
      name: eap_aka_data
      pos:
        line_end: 62
        line_start: 22
        source_file: /src/hostap/src/eap_peer/eap_aka.c
    typedefs: []
    union: []
- function_names:
  - eap_vendor_test_init
  - eap_vendor_test_deinit
  - eap_vendor_ready
  - eap_vendor_test_process
  - eap_vendor_test_isKeyAvailable
  - eap_vendor_test_getKey
  - eap_peer_vendor_test_register
  source_file: /src/hostap/src/eap_peer/eap_vendor_test.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EAP_VENDOR_ID
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/hostap/src/eap_peer/eap_vendor_test.c
      type_or_value: EAP_VENDOR_HOSTAP
    - item_type: preproc_def
      name: EAP_VENDOR_TYPE
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/hostap/src/eap_peer/eap_vendor_test.c
      type_or_value: '0xfcfbfaf9'
    structs:
    - fields:
      - name: state
        type: enum { INIT, CONFIRM, SUCCESS }
      - name: first_try
        type: int
      - name: test_pending_req
        type: int
      item_type: struct
      name: eap_vendor_test_data
      pos:
        line_end: 27
        line_start: 23
        source_file: /src/hostap/src/eap_peer/eap_vendor_test.c
    typedefs: []
    union: []
- function_names:
  - eap_md5_init
  - eap_md5_deinit
  - eap_md5_process
  - eap_peer_md5_register
  source_file: /src/hostap/src/eap_peer/eap_md5.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - eap_leap_init
  - eap_leap_deinit
  - eap_leap_process_request
  - eap_leap_process_success
  - eap_leap_process_response
  - eap_leap_process
  - eap_leap_isKeyAvailable
  - eap_leap_getKey
  - eap_peer_leap_register
  source_file: /src/hostap/src/eap_peer/eap_leap.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LEAP_VERSION
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/hostap/src/eap_peer/eap_leap.c
      type_or_value: '1'
    - item_type: preproc_def
      name: LEAP_CHALLENGE_LEN
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/hostap/src/eap_peer/eap_leap.c
      type_or_value: '8'
    - item_type: preproc_def
      name: LEAP_RESPONSE_LEN
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/hostap/src/eap_peer/eap_leap.c
      type_or_value: '24'
    - item_type: preproc_def
      name: LEAP_KEY_LEN
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/hostap/src/eap_peer/eap_leap.c
      type_or_value: '16'
    structs:
    - fields:
      - name: state
        type: "enum {\n\t\tLEAP_WAIT_CHALLENGE,\n\t\tLEAP_WAIT_SUCCESS,\n\t\tLEAP_WAIT_RESPONSE,\n\t\tLEAP_DONE\n\t}"
      - name: peer_challenge[LEAP_CHALLENGE_LEN]
        type: u8
      - name: peer_response[LEAP_RESPONSE_LEN]
        type: u8
      - name: ap_challenge[LEAP_CHALLENGE_LEN]
        type: u8
      - name: ap_response[LEAP_RESPONSE_LEN]
        type: u8
      item_type: struct
      name: eap_leap_data
      pos:
        line_end: 35
        line_start: 22
        source_file: /src/hostap/src/eap_peer/eap_leap.c
    typedefs: []
    union: []
- function_names:
  - eap_peer_get_type
  - eap_get_name
  - eap_get_names
  - eap_peer_register_methods
  - eap_peer_unregister_methods
  - eap_get_names_as_string_array
  - eap_peer_method_load
  - eap_peer_method_unload
  source_file: /src/hostap/src/eap_peer/eap_methods.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TNC_TNCC_ReportMessageTypes
  - TNC_TNCC_SendMessage
  - TNC_TNCC_RequestHandshakeRetry
  - TNC_9048_LogMessage
  - TNC_9048_UserMessage
  - TNC_TNCC_BindFunction
  - tncc_get_sym
  - tncc_imc_resolve_funcs
  - tncc_imc_initialize
  - tncc_imc_terminate
  - tncc_imc_provide_bind_function
  - tncc_imc_notify_connection_change
  - tncc_imc_begin_handshake
  - tncc_load_imc
  - tncc_unload_imc
  - tncc_supported_type
  - tncc_send_to_imcs
  - tncc_init_connection
  - tncc_total_send_len
  - tncc_copy_send_buf
  - tncc_if_tnccs_start
  - tncc_if_tnccs_end
  - tncc_notify_recommendation
  - tncc_get_type
  - tncc_get_base64
  - tncc_get_recommendation
  - tncc_process_if_tnccs
  - tncc_read_config_reg
  - tncc_read_config
  - tncc_parse_imc
  - tncc_read_config
  - tncc_init
  - tncc_deinit
  - tncc_build_soh
  - tncc_process_soh_request
  source_file: /src/hostap/src/eap_peer/tncc.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TSTR
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/hostap/src/eap_peer/tncc.c
      type_or_value: '"%S"'
    - item_type: preproc_def
      name: TSTR
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/hostap/src/eap_peer/tncc.c
      type_or_value: '"%s"'
    - item_type: preproc_def
      name: TNC_CONFIG_FILE
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/hostap/src/eap_peer/tncc.c
      type_or_value: '"/etc/tnc_config"'
    - item_type: preproc_def
      name: TNC_WINREG_PATH
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/hostap/src/eap_peer/tncc.c
      type_or_value: TEXT("SOFTWARE\\Trusted Computing Group\\TNC\\IMCs")
    - item_type: preproc_def
      name: IF_TNCCS_START
      pos:
        line_end: 39
        line_start: 32
        source_file: /src/hostap/src/eap_peer/tncc.c
      type_or_value: '"<?xml version=\"1.0\"?>\n" \

        "<TNCCS-Batch BatchId=\"%d\" Recipient=\"TNCS\" " \

        "xmlns=\"http://www.trustedcomputinggroup.org/IWG/TNC/1_0/IF_TNCCS#\" " \

        "xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" " \

        "xsi:schemaLocation=\"http://www.trustedcomputinggroup.org/IWG/TNC/1_0/" \

        "IF_TNCCS# https://www.trustedcomputinggroup.org/XML/SCHEMA/TNCCS_1.0.xsd\">\n"'
    - item_type: preproc_def
      name: IF_TNCCS_END
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/hostap/src/eap_peer/tncc.c
      type_or_value: '"\n</TNCCS-Batch>"'
    - item_type: preproc_def
      name: TNC_MAX_IMC_ID
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/hostap/src/eap_peer/tncc.c
      type_or_value: '10'
    structs:
    - fields:
      - name: '*next'
        type: struct tnc_if_imc
      - name: '*name'
        type: char
      - name: '*path'
        type: char
      - name: '*dlhandle'
        type: void
      - name: imcID
        type: TNC_IMCID
      - name: connectionID
        type: TNC_ConnectionID
      - name: supported_types
        type: TNC_MessageTypeList
      - name: num_supported_types
        type: size_t
      - name: '*imc_send'
        type: u8
      - name: imc_send_len
        type: size_t
      - name: "(*Initialize)(\n\t\tTNC_IMCID imcID,\n\t\tTNC_Version minVersion,\n\t\tTNC_Version
          maxVersion,\n\t\tTNC_Version *pOutActualVersion)"
        type: TNC_Result
      - name: "(*NotifyConnectionChange)(\n\t\tTNC_IMCID imcID,\n\t\tTNC_ConnectionID
          connectionID,\n\t\tTNC_ConnectionState newState)"
        type: TNC_Result
      - name: "(*BeginHandshake)(\n\t\tTNC_IMCID imcID,\n\t\tTNC_ConnectionID connectionID)"
        type: TNC_Result
      - name: "(*ReceiveMessage)(\n\t\tTNC_IMCID imcID,\n\t\tTNC_ConnectionID connectionID,\n\t\tTNC_BufferReference
          messageBuffer,\n\t\tTNC_UInt32 messageLength,\n\t\tTNC_MessageType messageType)"
        type: TNC_Result
      - name: "(*BatchEnding)(\n\t\tTNC_IMCID imcID,\n\t\tTNC_ConnectionID connectionID)"
        type: TNC_Result
      - name: (*Terminate)(TNC_IMCID imcID)
        type: TNC_Result
      - name: "(*ProvideBindFunction)(\n\t\tTNC_IMCID imcID,\n\t\tTNC_TNCC_BindFunctionPointer
          bindFunction)"
        type: TNC_Result
      item_type: struct
      name: tnc_if_imc
      pos:
        line_end: 93
        line_start: 55
        source_file: /src/hostap/src/eap_peer/tncc.c
    - fields:
      - name: '*imc'
        type: struct tnc_if_imc
      - name: last_batchid
        type: unsigned int
      item_type: struct
      name: tncc_data
      pos:
        line_end: 98
        line_start: 95
        source_file: /src/hostap/src/eap_peer/tncc.c
    typedefs: []
    union: []
- function_names:
  - eap_fast_free_pac
  - eap_fast_get_pac
  - eap_fast_remove_pac
  - eap_fast_copy_buf
  - eap_fast_add_pac
  - eap_fast_read_line
  - eap_fast_parse_hex
  - eap_fast_init_pac_data
  - eap_fast_deinit_pac_data
  - eap_fast_parse_start
  - eap_fast_parse_end
  - eap_fast_parse_pac_type
  - eap_fast_parse_pac_key
  - eap_fast_parse_pac_opaque
  - eap_fast_parse_a_id
  - eap_fast_parse_i_id
  - eap_fast_parse_a_id_info
  - eap_fast_load_pac
  - eap_fast_write
  - eap_fast_write_pac
  - eap_fast_add_pac_data
  - eap_fast_save_pac
  - eap_fast_pac_list_truncate
  - eap_fast_pac_get_a_id
  - eap_fast_load_pac_bin
  - eap_fast_save_pac_bin
  source_file: /src/hostap/src/eap_peer/eap_fast_pac.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EAP_FAST_PAC_BINARY_MAGIC
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/hostap/src/eap_peer/eap_fast_pac.c
      type_or_value: '0x6ae4920c'
    - item_type: preproc_def
      name: EAP_FAST_PAC_BINARY_FORMAT_VERSION
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/hostap/src/eap_peer/eap_fast_pac.c
      type_or_value: '0'
    structs:
    - fields:
      - name: '*f'
        type: FILE
      - name: '*pos'
        type: char
      - name: '*end'
        type: char
      - name: line
        type: int
      - name: '*buf'
        type: char
      - name: buf_len
        type: size_t
      item_type: struct
      name: eap_fast_read_ctx
      pos:
        line_end: 185
        line_start: 178
        source_file: /src/hostap/src/eap_peer/eap_fast_pac.c
    typedefs: []
    union: []
- function_names:
  - mschapv2_remove_domain
  - mschapv2_derive_response
  - mschapv2_verify_auth_response
  source_file: /src/hostap/src/eap_peer/mschapv2.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/eap_peer/eap_i.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NO_EAP_METHOD_ERROR
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/hostap/src/eap_peer/eap_i.h
      type_or_value: (-1)
    - item_type: preproc_def
      name: EAP_PEER_METHOD_INTERFACE_VERSION
      pos:
        line_end: 236
        line_start: 235
        source_file: /src/hostap/src/eap_peer/eap_i.h
      type_or_value: '1'
    structs:
    - fields:
      - name: ignore
        type: bool
      - name: methodState
        type: EapMethodState
      - name: decision
        type: EapDecision
      - name: allowNotifications
        type: bool
      item_type: struct
      name: eap_method_ret
      pos:
        line_end: 56
        line_start: 36
        source_file: /src/hostap/src/eap_peer/eap_i.h
    - fields:
      - name: vendor
        type: int
      - name: method
        type: enum eap_type
      - name: '*name'
        type: char
      - name: '* (*init)(struct eap_sm *sm)'
        type: void
      - name: (*deinit)(struct eap_sm *sm, void *priv)
        type: void
      - name: "* (*process)(struct eap_sm *sm, void *priv,\n\t\t\t\t   struct eap_method_ret
          *ret,\n\t\t\t\t   const struct wpabuf *reqData)"
        type: struct wpabuf
      - name: (*isKeyAvailable)(struct eap_sm *sm, void *priv)
        type: bool
      - name: '* (*getKey)(struct eap_sm *sm, void *priv, size_t *len)'
        type: u8
      - name: "(*get_status)(struct eap_sm *sm, void *priv, char *buf,\n\t\t\t  size_t
          buflen, int verbose)"
        type: int
      - name: (*has_reauth_data)(struct eap_sm *sm, void *priv)
        type: bool
      - name: (*deinit_for_reauth)(struct eap_sm *sm, void *priv)
        type: void
      - name: '* (*init_for_reauth)(struct eap_sm *sm, void *priv)'
        type: void
      - name: '* (*get_identity)(struct eap_sm *sm, void *priv, size_t *len)'
        type: u8
      - name: (*get_error_code)(void *priv)
        type: int
      - name: (*free)(struct eap_method *method)
        type: void
      - name: version
        type: int
      - name: '*next'
        type: struct eap_method
      - name: '* (*get_emsk)(struct eap_sm *sm, void *priv, size_t *len)'
        type: u8
      - name: '* (*getSessionId)(struct eap_sm *sm, void *priv, size_t *len)'
        type: u8
      item_type: struct
      name: eap_method
      pos:
        line_end: 290
        line_start: 65
        source_file: /src/hostap/src/eap_peer/eap_i.h
    - fields:
      - name: list
        type: struct dl_list
      - name: rRK_len
        type: size_t
      - name: rIK_len
        type: size_t
      - name: rRK[ERP_MAX_KEY_LEN]
        type: u8
      - name: rIK[ERP_MAX_KEY_LEN]
        type: u8
      - name: next_seq
        type: u32
      - name: keyname_nai[]
        type: char
      item_type: struct
      name: eap_erp_key
      pos:
        line_end: 301
        line_start: 293
        source_file: /src/hostap/src/eap_peer/eap_i.h
    - fields:
      - name: EAP_state
        type: "enum {\n\t\tEAP_INITIALIZE, EAP_DISABLED, EAP_IDLE, EAP_RECEIVED,\n\t\tEAP_GET_METHOD,
          EAP_METHOD, EAP_SEND_RESPONSE, EAP_DISCARD,\n\t\tEAP_IDENTITY, EAP_NOTIFICATION,
          EAP_RETRANSMIT, EAP_SUCCESS,\n\t\tEAP_FAILURE\n\t}"
      - name: selectedMethod
        type: enum eap_type
      - name: methodState
        type: EapMethodState
      - name: lastId
        type: int
      - name: '*lastRespData'
        type: struct wpabuf
      - name: decision
        type: EapDecision
      - name: rxReq
        type: bool
      - name: rxSuccess
        type: bool
      - name: rxFailure
        type: bool
      - name: reqId
        type: int
      - name: reqMethod
        type: enum eap_type
      - name: reqVendor
        type: int
      - name: reqVendorMethod
        type: u32
      - name: ignore
        type: bool
      - name: ClientTimeout
        type: int
      - name: allowNotifications
        type: bool
      - name: '*eapRespData'
        type: struct wpabuf
      - name: eapKeyAvailable
        type: bool
      - name: '*eapKeyData'
        type: u8
      - name: eapKeyDataLen
        type: size_t
      - name: '*eapSessionId'
        type: u8
      - name: eapSessionIdLen
        type: size_t
      - name: '*m'
        type: struct eap_method
      - name: changed
        type: bool
      - name: '*eapol_ctx'
        type: void
      - name: '*eapol_cb'
        type: struct eapol_callbacks
      - name: '*eap_method_priv'
        type: void
      - name: init_phase2
        type: int
      - name: fast_reauth
        type: int
      - name: reauthInit
        type: bool
      - name: erp_seq
        type: u32
      - name: rxResp
        type: bool
      - name: leap_done
        type: bool
      - name: peap_done
        type: bool
      - name: req_sha1[20]
        type: u8
      - name: last_sha1[20]
        type: u8
      - name: '*msg_ctx'
        type: void
      - name: '*scard_ctx'
        type: void
      - name: '*ssl_ctx'
        type: void
      - name: '*ssl_ctx2'
        type: void
      - name: workaround
        type: unsigned int
      - name: '*peer_challenge'
        type: u8
      - name: eap_fast_mschapv2
        type: bool
      - name: num_rounds
        type: int
      - name: num_rounds_short
        type: int
      - name: force_disabled
        type: int
      - name: '*wps'
        type: struct wps_context
      - name: prev_failure
        type: int
      - name: '*last_config'
        type: struct eap_peer_config
      - name: '*ext_pw'
        type: struct ext_password_data
      - name: '*ext_pw_buf'
        type: struct wpabuf
      - name: external_sim
        type: int
      - name: expected_failure
        type: unsigned int
      - name: ext_cert_check
        type: unsigned int
      - name: waiting_ext_cert_check
        type: unsigned int
      - name: use_machine_cred
        type: unsigned int
      - name: erp_keys
        type: struct dl_list
      - name: '*identity'
        type: u8
      - name: identity_len
        type: size_t
      item_type: struct
      name: eap_sm
      pos:
        line_end: 396
        line_start: 306
        source_file: /src/hostap/src/eap_peer/eap_i.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/eap_peer/tncc.h
  types:
    enum:
    - enumerators:
      - name: TNCCS_PROCESS_ERROR
        value: '-1'
      - name: TNCCS_RECOMMENDATION_ALLOW
      - name: TNCCS_RECOMMENDATION_NONE
      - name: TNCCS_RECOMMENDATION_ERROR
      - name: TNCCS_PROCESS_OK_NO_RECOMMENDATION
        value: '0'
      - name: TNCCS_RECOMMENDATION_ISOLATE
      item_type: enum
      name: tncc_process_res
      pos:
        line_end: 28
        line_start: 21
        source_file: /src/hostap/src/eap_peer/tncc.h
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - eap_wsc_state_txt
  - eap_wsc_state
  - eap_wsc_new_ap_settings
  - eap_wsc_init
  - eap_wsc_deinit
  - eap_wsc_build_msg
  - eap_wsc_process_cont
  - eap_wsc_process_fragment
  - eap_wsc_process
  - eap_peer_wsc_register
  source_file: /src/hostap/src/eap_peer/eap_wsc.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: state
        type: enum { WAIT_START, MESG, WAIT_FRAG_ACK, FAIL }
      - name: registrar
        type: int
      - name: '*in_buf'
        type: struct wpabuf
      - name: '*out_buf'
        type: struct wpabuf
      - name: in_op_code
        type: enum wsc_op_code
      - name: out_used
        type: size_t
      - name: fragment_size
        type: size_t
      - name: '*wps'
        type: struct wps_data
      - name: '*wps_ctx'
        type: struct wps_context
      item_type: struct
      name: eap_wsc_data
      pos:
        line_end: 28
        line_start: 18
        source_file: /src/hostap/src/eap_peer/eap_wsc.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/eap_peer/eap_proxy.h
  types:
    enum:
    - enumerators:
      - name: EAP_PROXY_FAILURE
        value: '0x00'
      - name: EAP_PROXY_SUCCESS
      item_type: enum
      name: eap_proxy_status
      pos:
        line_end: 19
        line_start: 16
        source_file: /src/hostap/src/eap_peer/eap_proxy.h
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ikev2_responder_deinit
  - ikev2_derive_keys
  - ikev2_parse_transform
  - ikev2_parse_proposal
  - ikev2_process_sai1
  - ikev2_process_kei
  - ikev2_process_ni
  - ikev2_process_sa_init
  - ikev2_process_idi
  - ikev2_process_cert
  - ikev2_process_auth_cert
  - ikev2_process_auth_secret
  - ikev2_process_auth
  - ikev2_process_sa_auth_decrypted
  - ikev2_process_sa_auth
  - ikev2_validate_rx_state
  - ikev2_responder_process
  - ikev2_build_hdr
  - ikev2_build_sar1
  - ikev2_build_ker
  - ikev2_build_nr
  - ikev2_build_idr
  - ikev2_build_auth
  - ikev2_build_notification
  - ikev2_build_sa_init
  - ikev2_build_sa_auth
  - ikev2_build_notify
  - ikev2_responder_build
  source_file: /src/hostap/src/eap_peer/ikev2.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/eap_peer/eap_fast_pac.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*next'
        type: struct eap_fast_pac
      - name: pac_key[EAP_FAST_PAC_KEY_LEN]
        type: u8
      - name: '*pac_opaque'
        type: u8
      - name: pac_opaque_len
        type: size_t
      - name: '*pac_info'
        type: u8
      - name: pac_info_len
        type: size_t
      - name: '*a_id'
        type: u8
      - name: a_id_len
        type: size_t
      - name: '*i_id'
        type: u8
      - name: i_id_len
        type: size_t
      - name: '*a_id_info'
        type: u8
      - name: a_id_info_len
        type: size_t
      - name: pac_type
        type: u16
      item_type: struct
      name: eap_fast_pac
      pos:
        line_end: 28
        line_start: 13
        source_file: /src/hostap/src/eap_peer/eap_fast_pac.h
    typedefs: []
    union: []
- function_names:
  - tls_prf_sha256
  source_file: /src/hostap/src/crypto/sha256-tlsprf.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/crypto/sha384.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SHA384_MAC_LEN
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/hostap/src/crypto/sha384.h
      type_or_value: '48'
    structs: []
    typedefs: []
    union: []
- function_names:
  - tls_show_errors
  - mem_bio_to_str
  - generalizedtime_str
  - responderid_str
  - octet_string_str
  - integer_str
  - algor_str
  - extensions_str
  - ocsp_resp_valid
  - issuer_match
  - ocsp_find_signer
  - check_ocsp_resp
  source_file: /src/hostap/src/crypto/tls_openssl_ocsp.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*hashAlgorithm'
        type: X509_ALGOR
      - name: '*issuerNameHash'
        type: ASN1_OCTET_STRING
      - name: '*issuerKeyHash'
        type: ASN1_OCTET_STRING
      - name: '*serialNumber'
        type: ASN1_INTEGER
      item_type: struct
      name: CertID
      pos:
        line_end: 50
        line_start: 45
        source_file: /src/hostap/src/crypto/tls_openssl_ocsp.c
    - fields:
      - name: '*responseType'
        type: ASN1_OBJECT
      - name: '*response'
        type: ASN1_OCTET_STRING
      item_type: struct
      name: ResponseBytes
      pos:
        line_end: 60
        line_start: 57
        source_file: /src/hostap/src/crypto/tls_openssl_ocsp.c
    - fields:
      - name: '*responseStatus'
        type: ASN1_ENUMERATED
      - name: '*responseBytes'
        type: ResponseBytes
      item_type: struct
      name: OCSPResponse
      pos:
        line_end: 70
        line_start: 67
        source_file: /src/hostap/src/crypto/tls_openssl_ocsp.c
    - fields:
      - name: type
        type: int
      - name: value
        type: "union {\n\t\tX509_NAME *byName;\n\t\tASN1_OCTET_STRING *byKey;\n\t}"
      item_type: struct
      name: ResponderID
      pos:
        line_end: 95
        line_start: 89
        source_file: /src/hostap/src/crypto/tls_openssl_ocsp.c
    - fields:
      - name: '*revocationTime'
        type: ASN1_GENERALIZEDTIME
      - name: '*revocationReason'
        type: ASN1_ENUMERATED
      item_type: struct
      name: RevokedInfo
      pos:
        line_end: 105
        line_start: 102
        source_file: /src/hostap/src/crypto/tls_openssl_ocsp.c
    - fields:
      - name: type
        type: int
      - name: value
        type: "union {\n\t\tASN1_NULL *good;\n\t\tRevokedInfo *revoked;\n\t\tASN1_NULL
          *unknown;\n\t}"
      item_type: struct
      name: CertStatus
      pos:
        line_end: 120
        line_start: 113
        source_file: /src/hostap/src/crypto/tls_openssl_ocsp.c
    - fields:
      - name: '*certID'
        type: CertID
      - name: '*certStatus'
        type: CertStatus
      - name: '*thisUpdate'
        type: ASN1_GENERALIZEDTIME
      - name: '*nextUpdate'
        type: ASN1_GENERALIZEDTIME
      - name: '*singleExtensions'
        type: STACK_OF
      item_type: struct
      name: SingleResponse
      pos:
        line_end: 136
        line_start: 130
        source_file: /src/hostap/src/crypto/tls_openssl_ocsp.c
    - fields:
      - name: '*version'
        type: ASN1_INTEGER
      - name: '*responderID'
        type: ResponderID
      - name: '*producedAt'
        type: ASN1_GENERALIZEDTIME
      - name: '*responses'
        type: STACK_OF
      - name: '*responseExtensions'
        type: STACK_OF
      item_type: struct
      name: ResponseData
      pos:
        line_end: 152
        line_start: 146
        source_file: /src/hostap/src/crypto/tls_openssl_ocsp.c
    - fields:
      - name: '*tbsResponseData'
        type: ResponseData
      - name: '*signatureAlgorithm'
        type: X509_ALGOR
      - name: '*signature'
        type: ASN1_BIT_STRING
      - name: '*certs'
        type: STACK_OF
      item_type: struct
      name: BasicOCSPResponse
      pos:
        line_end: 166
        line_start: 161
        source_file: /src/hostap/src/crypto/tls_openssl_ocsp.c
    typedefs: []
    union: []
- function_names:
  - aes_128_eax_encrypt
  - aes_128_eax_decrypt
  source_file: /src/hostap/src/crypto/aes-eax.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/crypto/sha512.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SHA512_MAC_LEN
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/hostap/src/crypto/sha512.h
      type_or_value: '64'
    structs: []
    typedefs: []
    union: []
- function_names:
  - pbkdf2_sha1_f
  - pbkdf2_sha1
  source_file: /src/hostap/src/crypto/sha1-pbkdf2.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sha512_prf
  - sha512_prf_bits
  source_file: /src/hostap/src/crypto/sha512-prf.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/crypto/milenage.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_siv
  - test_omac1_vector
  - test_omac1
  - test_eax
  - test_cbc
  - test_ecb
  - test_key_wrap
  - test_aes_ctr
  - test_md5
  - test_eap_fast
  - test_sha1
  - test_sha256
  - test_sha384
  - test_fips186_2_prf
  - test_extract_expand_hkdf
  - run_hpke_test
  - test_hpke
  - test_ms_funcs
  - crypto_module_tests
  source_file: /src/hostap/src/crypto/crypto_module_tests.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NUM_PASSPHRASE_TESTS
      pos:
        line_end: 1261
        line_start: 1260
        source_file: /src/hostap/src/crypto/crypto_module_tests.c
      type_or_value: ARRAY_SIZE(passphrase_tests)
    - item_type: preproc_def
      name: NUM_RFC6070_TESTS
      pos:
        line_end: 1346
        line_start: 1345
        source_file: /src/hostap/src/crypto/crypto_module_tests.c
      type_or_value: ARRAY_SIZE(rfc6070_tests)
    structs:
    - fields:
      - name: k[16]
        type: u8
      - name: msg[64]
        type: u8
      - name: msg_len
        type: int
      - name: tag[16]
        type: u8
      item_type: struct
      name: omac1_test_vector
      pos:
        line_end: 166
        line_start: 161
        source_file: /src/hostap/src/crypto/crypto_module_tests.c
    - fields:
      - name: key[16]
        type: u8
      - name: iv[16]
        type: u8
      - name: plain[32]
        type: u8
      - name: cipher[32]
        type: u8
      - name: len
        type: size_t
      item_type: struct
      name: cbc_test_vector
      pos:
        line_end: 355
        line_start: 349
        source_file: /src/hostap/src/crypto/crypto_module_tests.c
    - fields:
      - name: '*key'
        type: char
      - name: '*plaintext'
        type: char
      - name: '*ciphertext'
        type: char
      item_type: struct
      name: ecb_test_vector
      pos:
        line_end: 423
        line_start: 419
        source_file: /src/hostap/src/crypto/crypto_module_tests.c
    - fields:
      - name: '*data'
        type: char
      - name: '*hash'
        type: char
      item_type: struct
      name: "tests[] = {\n\t\t{\n\t\t\t\"\",\n\t\t\t\"\\xd4\\x1d\\x8c\\xd9\\x8f\\x00\\xb2\\x04\"\n\t\t\t\"\\xe9\\x80\\x09\\x98\\xec\\xf8\\x42\\x7e\"\n\t\t},\n\t\t{\n\t\t\t\"a\",\n\t\t\t\"\\x0c\\xc1\\x75\\xb9\\xc0\\xf1\\xb6\\xa8\"\n\t\t\t\"\\x31\\xc3\\x99\\xe2\\x69\\x77\\x26\\x61\"\n\t\t},\n\t\t{\n\t\t\t\"abc\",\n\t\t\t\"\\x90\\x01\\x50\\x98\\x3c\\xd2\\x4f\\xb0\"\n\t\t\t\"\\xd6\\x96\\x3f\\x7d\\x28\\xe1\\x7f\\x72\"\n\t\t},\n\t\t{\n\t\t\t\"message
        digest\",\n\t\t\t\"\\xf9\\x6b\\x69\\x7d\\x7c\\xb7\\x93\\x8d\"\n\t\t\t\"\\x52\\x5a\\x2f\\x31\\xaa\\xf1\\x61\\xd0\"\n\t\t},\n\t\t{\n\t\t\t\"abcdefghijklmnopqrstuvwxyz\",\n\t\t\t\"\\xc3\\xfc\\xd3\\xd7\\x61\\x92\\xe4\\x00\"\n\t\t\t\"\\x7d\\xfb\\x49\\x6c\\xca\\x67\\xe1\\x3b\"\n\t\t},\n\t\t{\n\t\t\t\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\"\n\t\t\t\"0123456789\",\n\t\t\t\"\\xd1\\x74\\xab\\x98\\xd2\\x77\\xd9\\xf5\"\n\t\t\t\"\\xa5\\x61\\x1c\\x2c\\x9f\\x41\\x9d\\x9f\"\n\t\t},\n\t\t{\n\t\t\t\"12345678901234567890123456789012345678901234567890\"\n\t\t\t\"123456789012345678901234567890\",\n\t\t\t\"\\x57\\xed\\xf4\\xa2\\x2b\\xe3\\xc9\\x55\"\n\t\t\t\"\\xac\\x49\\xda\\x2e\\x21\\x07\\xb6\\x7a\"\n\t\t}\n\t}"
      pos:
        line_end: 901
        line_start: 898
        source_file: /src/hostap/src/crypto/crypto_module_tests.c
    - fields:
      - name: '*passphrase'
        type: char
      - name: '*ssid'
        type: char
      - name: psk[32]
        type: char
      item_type: struct
      name: passphrase_test
      pos:
        line_end: 1224
        line_start: 1220
        source_file: /src/hostap/src/crypto/crypto_module_tests.c
    - fields:
      - name: '*p'
        type: char
      - name: '*s'
        type: char
      - name: c
        type: int
      - name: dk[32]
        type: char
      - name: dk_len
        type: size_t
      item_type: struct
      name: rfc6070_test
      pos:
        line_end: 1269
        line_start: 1263
        source_file: /src/hostap/src/crypto/crypto_module_tests.c
    - fields:
      - name: '*data'
        type: char
      - name: hash[32]
        type: u8
      item_type: struct
      name: "tests[] = {\n\t{\n\t\t\"abc\",\n\t\t{\n\t\t\t0xba, 0x78, 0x16, 0xbf,
        0x8f, 0x01, 0xcf, 0xea,\n\t\t\t0x41, 0x41, 0x40, 0xde, 0x5d, 0xae, 0x22, 0x23,\n\t\t\t0xb0,
        0x03, 0x61, 0xa3, 0x96, 0x17, 0x7a, 0x9c,\n\t\t\t0xb4, 0x10, 0xff, 0x61, 0xf2,
        0x00, 0x15, 0xad\n\t\t}\n\t},\n\t{\n\t\t\"abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq\",\n\t\t{\n\t\t\t0x24,
        0x8d, 0x6a, 0x61, 0xd2, 0x06, 0x38, 0xb8,\n\t\t\t0xe5, 0xc0, 0x26, 0x93, 0x0c,
        0x3e, 0x60, 0x39,\n\t\t\t0xa3, 0x3c, 0xe4, 0x59, 0x64, 0xff, 0x21, 0x67,\n\t\t\t0xf6,
        0xec, 0xed, 0xd4, 0x19, 0xdb, 0x06, 0xc1\n\t\t}\n\t}\n}"
      pos:
        line_end: 1425
        line_start: 1422
        source_file: /src/hostap/src/crypto/crypto_module_tests.c
    - fields:
      - name: key[150]
        type: u8
      - name: key_len
        type: size_t
      - name: data[160]
        type: u8
      - name: data_len
        type: size_t
      - name: hash[32]
        type: u8
      - name: hash384[48]
        type: u8
      item_type: struct
      name: hmac_test
      pos:
        line_end: 1453
        line_start: 1446
        source_file: /src/hostap/src/crypto/crypto_module_tests.c
    - fields:
      - name: '*name'
        type: char
      - name: mode
        type: enum hpke_mode
      - name: kem_id
        type: enum hpke_kem_id
      - name: kdf_id
        type: enum hpke_kdf_id
      - name: aead_id
        type: enum hpke_aead_id
      - name: '*info'
        type: char
      - name: sk_r_group
        type: int
      - name: '*pk_r'
        type: char
      - name: '*sk_r'
        type: char
      - name: '*enc'
        type: char
      - name: '*pt'
        type: char
      - name: '*aad'
        type: char
      - name: '*ct'
        type: char
      item_type: struct
      name: hpke_test
      pos:
        line_end: 2208
        line_start: 2194
        source_file: /src/hostap/src/crypto/crypto_module_tests.c
    typedefs: []
    union: []
- function_names:
  - sha384_vector
  - CONST64
  - sha384_init
  - sha384_process
  - sha384_done
  source_file: /src/hostap/src/crypto/sha384-internal.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sha1_prf
  source_file: /src/hostap/src/crypto/sha1-prf.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - hmac_sha512_vector
  - hmac_sha512
  source_file: /src/hostap/src/crypto/sha512.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - inc32
  - xor_block
  - shift_right_block
  - gf_mult
  - ghash_start
  - ghash
  - aes_gctr
  - aes_gcm_init_hash_subkey
  - aes_gcm_prepare_j0
  - aes_gcm_gctr
  - aes_gcm_ghash
  - aes_gcm_ae
  - aes_gcm_ad
  - aes_gmac
  source_file: /src/hostap/src/crypto/aes-gcm.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - aes_ctr_encrypt
  - aes_128_ctr_encrypt
  source_file: /src/hostap/src/crypto/aes-ctr.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - hmac_sha384_vector
  - hmac_sha384
  source_file: /src/hostap/src/crypto/sha384.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - gnutls_digest_vector
  - md4_vector
  - des_encrypt
  - md5_vector
  - sha1_vector
  - sha256_vector
  - sha384_vector
  - sha512_vector
  - gnutls_hmac_vector
  - hmac_md5_vector
  - hmac_md5
  - hmac_sha1_vector
  - hmac_sha1
  - hmac_sha256_vector
  - hmac_sha256
  - hmac_sha384_vector
  - hmac_sha384
  - hmac_sha512_vector
  - hmac_sha512
  - aes_encrypt_init
  - aes_encrypt
  - aes_encrypt_deinit
  - aes_decrypt_init
  - aes_decrypt
  - aes_decrypt_deinit
  - crypto_dh_init
  - crypto_dh_derive_secret
  - crypto_mod_exp
  - crypto_cipher_init
  - crypto_cipher_encrypt
  - crypto_cipher_decrypt
  - crypto_cipher_deinit
  - crypto_unload
  source_file: /src/hostap/src/crypto/crypto_gnutls.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: enc
        type: gcry_cipher_hd_t
      - name: dec
        type: gcry_cipher_hd_t
      item_type: struct
      name: crypto_cipher
      pos:
        line_end: 398
        line_start: 395
        source_file: /src/hostap/src/crypto/crypto_gnutls.c
    typedefs: []
    union: []
- function_names:
  - sha256_prf
  - sha256_prf_bits
  source_file: /src/hostap/src/crypto/sha256-prf.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - md5_vector
  - byteReverse
  - MD5Init
  - MD5Update
  - MD5Final
  - F1
  - F2
  - F3
  - F4
  - MD5STEP
  - MD5Transform
  source_file: /src/hostap/src/crypto/md5-internal.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: MD5_CTX
      pos:
        line_end: 19
        line_start: 19
        source_file: /src/hostap/src/crypto/md5-internal.c
      type: MD5Context
    union: []
- function_names:
  - md4_vector
  - des_encrypt
  - crypto_unload
  source_file: /src/hostap/src/crypto/crypto_none.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - crypto_public_key_import
  - crypto_public_key_import_parts
  - crypto_private_key_import
  - crypto_public_key_from_cert
  - crypto_public_key_encrypt_pkcs1_v15
  - crypto_private_key_decrypt_pkcs1_v15
  - crypto_private_key_sign_pkcs1
  - crypto_public_key_free
  - crypto_private_key_free
  - crypto_public_key_decrypt_pkcs1
  source_file: /src/hostap/src/crypto/crypto_internal-rsa.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sha384_prf
  - sha384_prf_bits
  source_file: /src/hostap/src/crypto/sha384-prf.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/crypto/dh_group5.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - __ROL32
  - random_mix_pool
  - random_extract
  - random_add_randomness
  - random_get_bytes
  - random_pool_ready
  - random_mark_pool_ready
  - random_close_fd
  - random_read_fd
  - random_read_entropy
  - random_write_entropy
  - random_init
  - random_deinit
  source_file: /src/hostap/src/crypto/random.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: POOL_WORDS
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/hostap/src/crypto/random.c
      type_or_value: '32'
    - item_type: preproc_def
      name: POOL_WORDS_MASK
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/hostap/src/crypto/random.c
      type_or_value: (POOL_WORDS - 1)
    - item_type: preproc_def
      name: POOL_TAP1
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/hostap/src/crypto/random.c
      type_or_value: '26'
    - item_type: preproc_def
      name: POOL_TAP2
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/hostap/src/crypto/random.c
      type_or_value: '20'
    - item_type: preproc_def
      name: POOL_TAP3
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/hostap/src/crypto/random.c
      type_or_value: '14'
    - item_type: preproc_def
      name: POOL_TAP4
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/hostap/src/crypto/random.c
      type_or_value: '7'
    - item_type: preproc_def
      name: POOL_TAP5
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/hostap/src/crypto/random.c
      type_or_value: '1'
    - item_type: preproc_def
      name: EXTRACT_LEN
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/hostap/src/crypto/random.c
      type_or_value: '16'
    - item_type: preproc_def
      name: MIN_READY_MARK
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/hostap/src/crypto/random.c
      type_or_value: '2'
    - item_type: preproc_def
      name: RANDOM_ENTROPY_SIZE
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/hostap/src/crypto/random.c
      type_or_value: '20'
    - item_type: preproc_def
      name: MIN_COLLECT_ENTROPY
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/hostap/src/crypto/random.c
      type_or_value: '1000'
    structs: []
    typedefs: []
    union: []
- function_names:
  - aes_128_encrypt_block
  source_file: /src/hostap/src/crypto/aes-encblock.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/crypto/ms_funcs.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RCON
  - TE0
  - TE1
  - TE2
  - TE3
  - TE41
  - TE42
  - TE43
  - TE44
  - TE421
  - TE432
  - TE443
  - TE414
  - TE411
  - TE422
  - TE433
  - TE444
  - TE4
  - TD0
  - TD1
  - TD2
  - TD3
  - TD41
  - TD42
  - TD43
  - TD44
  - TD0_
  - TD1_
  - TD2_
  - TD3_
  - RCON
  - rotr
  - TE0
  - TE1
  - TE2
  - TE3
  - TE41
  - TE42
  - TE43
  - TE44
  - TE421
  - TE432
  - TE443
  - TE414
  - TE411
  - TE422
  - TE433
  - TE444
  - TE4
  - TD0
  - TD1
  - TD2
  - TD3
  - TD41
  - TD42
  - TD43
  - TD44
  - TD0_
  - TD1_
  - TD2_
  - TD3_
  - SWAP
  - GETU32
  - PUTU32
  - GETU32
  - PUTU32
  source_file: /src/hostap/src/crypto/aes_i.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: AES_PRIV_SIZE
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/hostap/src/crypto/aes_i.h
      type_or_value: (4 * 4 * 15 + 4)
    - item_type: preproc_def
      name: AES_PRIV_NR_POS
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/hostap/src/crypto/aes_i.h
      type_or_value: (4 * 15)
    structs: []
    typedefs: []
    union: []
- function_names:
  - random_init
  - random_deinit
  - random_add_randomness
  - random_get_bytes
  - random_pool_ready
  - random_mark_pool_ready
  source_file: /src/hostap/src/crypto/random.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - S_SWAP
  - rc4_skip
  source_file: /src/hostap/src/crypto/rc4.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - aes_unwrap
  source_file: /src/hostap/src/crypto/aes-unwrap.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tls_prf_sha1_md5
  source_file: /src/hostap/src/crypto/sha1-tlsprf.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/crypto/sha384_i.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SHA384_BLOCK_SIZE
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/hostap/src/crypto/sha384_i.h
      type_or_value: SHA512_BLOCK_SIZE
    - item_type: preproc_def
      name: sha384_state
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/hostap/src/crypto/sha384_i.h
      type_or_value: sha512_state
    structs: []
    typedefs: []
    union: []
- function_names:
  - aes_128_cbc_encrypt
  - aes_128_cbc_decrypt
  source_file: /src/hostap/src/crypto/aes-cbc.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - crypto_hash_init
  - crypto_hash_update
  - crypto_hash_finish
  - crypto_global_init
  - crypto_global_deinit
  - crypto_unload
  source_file: /src/hostap/src/crypto/crypto_internal.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: alg
        type: enum crypto_hash_alg
      - name: u
        type: "union {\n\t\tstruct MD5Context md5;\n\t\tstruct SHA1Context sha1;\n#ifdef
          CONFIG_SHA256\n\t\tstruct sha256_state sha256;\n#endif /* CONFIG_SHA256
          */\n#ifdef CONFIG_INTERNAL_SHA384\n\t\tstruct sha384_state sha384;\n#endif
          /* CONFIG_INTERNAL_SHA384 */\n#ifdef CONFIG_INTERNAL_SHA512\n\t\tstruct
          sha512_state sha512;\n#endif /* CONFIG_INTERNAL_SHA512 */\n\t}"
      - name: key[64]
        type: u8
      - name: key_len
        type: size_t
      item_type: struct
      name: crypto_hash
      pos:
        line_end: 35
        line_start: 18
        source_file: /src/hostap/src/crypto/crypto_internal.c
    typedefs: []
    union: []
- function_names:
  - aes_wrap
  source_file: /src/hostap/src/crypto/aes-wrap.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/crypto/md5.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MD5_MAC_LEN
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/hostap/src/crypto/md5.h
      type_or_value: '16'
    structs: []
    typedefs: []
    union: []
- function_names:
  - utf8_to_ucs2
  - challenge_hash
  - nt_password_hash
  - hash_nt_password_hash
  - challenge_response
  - generate_nt_response
  - generate_nt_response_pwhash
  - generate_authenticator_response_pwhash
  - generate_authenticator_response
  - nt_challenge_response
  - get_master_key
  - get_asymetric_start_key
  - encrypt_pw_block_with_password_hash
  - new_password_encrypted_with_old_nt_password_hash
  - nt_password_hash_encrypted_with_block
  - old_nt_password_hash_encrypted_with_new_nt_password_hash
  source_file: /src/hostap/src/crypto/ms_funcs.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PWBLOCK_LEN
      pos:
        line_end: 421
        line_start: 420
        source_file: /src/hostap/src/crypto/ms_funcs.c
      type_or_value: '516'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mp_unsigned_bin_size
  - mp_to_unsigned_bin
  - mp_read_unsigned_bin
  - mp_exptmod
  - md4_vector
  - des_encrypt
  - md5_vector
  - sha1_vector
  - aes_encrypt_init
  - aes_encrypt
  - aes_encrypt_deinit
  - aes_decrypt_init
  - aes_decrypt
  - aes_decrypt_deinit
  - crypto_hash_init
  - crypto_hash_update
  - crypto_hash_finish
  - crypto_cipher_init
  - crypto_cipher_encrypt
  - crypto_cipher_decrypt
  - crypto_cipher_deinit
  - crypto_public_key_import
  - crypto_private_key_import
  - crypto_public_key_from_cert
  - pkcs1_generate_encryption_block
  - crypto_rsa_encrypt_pkcs1
  - crypto_public_key_encrypt_pkcs1_v15
  - crypto_private_key_sign_pkcs1
  - crypto_public_key_free
  - crypto_private_key_free
  - crypto_public_key_decrypt_pkcs1
  - crypto_global_init
  - crypto_global_deinit
  - crypto_dh_init
  - crypto_dh_derive_secret
  - crypto_mod_exp
  - crypto_unload
  source_file: /src/hostap/src/crypto/crypto_libtomcrypt.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: mp_init_multi
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/hostap/src/crypto/crypto_libtomcrypt.c
      type_or_value: ltc_init_multi
    - item_type: preproc_def
      name: mp_clear_multi
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/hostap/src/crypto/crypto_libtomcrypt.c
      type_or_value: ltc_deinit_multi
    structs:
    - fields:
      - name: alg
        type: enum crypto_hash_alg
      - name: error
        type: int
      - name: u
        type: "union {\n\t\thash_state md;\n\t\thmac_state hmac;\n\t}"
      item_type: struct
      name: crypto_hash
      pos:
        line_end: 150
        line_start: 143
        source_file: /src/hostap/src/crypto/crypto_libtomcrypt.c
    - fields:
      - name: rc4
        type: int
      - name: u
        type: "union {\n\t\tsymmetric_CBC cbc;\n\t\tstruct {\n\t\t\tsize_t used_bytes;\n\t\t\tu8
          key[16];\n\t\t\tsize_t keylen;\n\t\t} rc4;\n\t}"
      item_type: struct
      name: crypto_cipher
      pos:
        line_end: 297
        line_start: 287
        source_file: /src/hostap/src/crypto/crypto_libtomcrypt.c
    - fields:
      - name: rsa
        type: rsa_key
      item_type: struct
      name: crypto_public_key
      pos:
        line_end: 409
        line_start: 407
        source_file: /src/hostap/src/crypto/crypto_libtomcrypt.c
    - fields:
      - name: rsa
        type: rsa_key
      item_type: struct
      name: crypto_private_key
      pos:
        line_end: 413
        line_start: 411
        source_file: /src/hostap/src/crypto/crypto_libtomcrypt.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/crypto/sha1.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SHA1_MAC_LEN
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/hostap/src/crypto/sha1.h
      type_or_value: '20'
    structs: []
    typedefs: []
    union: []
- function_names:
  - hmac_sha384_kdf
  source_file: /src/hostap/src/crypto/sha384-kdf.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/crypto/crypto.h
  types:
    enum:
    - enumerators:
      - name: CRYPTO_HASH_ALG_MD5
      - name: CRYPTO_HASH_ALG_HMAC_SHA1
      - name: CRYPTO_HASH_ALG_HMAC_MD5
      - name: CRYPTO_HASH_ALG_SHA1
      - name: CRYPTO_HASH_ALG_SHA256
      - name: CRYPTO_HASH_ALG_HMAC_SHA256
      - name: CRYPTO_HASH_ALG_SHA384
      - name: CRYPTO_HASH_ALG_SHA512
      item_type: enum
      name: crypto_hash_alg
      pos:
        line_end: 166
        line_start: 161
        source_file: /src/hostap/src/crypto/crypto.h
    - enumerators:
      - name: CRYPTO_CIPHER_NULL
        value: '0'
      - name: CRYPTO_CIPHER_ALG_DES
      - name: CRYPTO_CIPHER_ALG_3DES
      - name: CRYPTO_CIPHER_ALG_RC4
      - name: CRYPTO_CIPHER_ALG_AES
      item_type: enum
      name: crypto_cipher_alg
      pos:
        line_end: 220
        line_start: 217
        source_file: /src/hostap/src/crypto/crypto.h
    - enumerators:
      - name: CSR_NAME_CN
      - name: CSR_NAME_OU
      - name: CSR_NAME_C
      - name: CSR_NAME_SN
      - name: CSR_NAME_O
      item_type: enum
      name: crypto_csr_name
      pos:
        line_end: 1210
        line_start: 1204
        source_file: /src/hostap/src/crypto/crypto.h
    - enumerators:
      - name: CSR_ATTR_CHALLENGE_PASSWORD
      item_type: enum
      name: crypto_csr_attr
      pos:
        line_end: 1217
        line_start: 1215
        source_file: /src/hostap/src/crypto/crypto.h
    - enumerators:
      - name: HPKE_MODE_BASE
        value: '0x00'
      - name: HPKE_MODE_AUTH_PSK
        value: '0x03'
      - name: HPKE_MODE_AUTH
        value: '0x02'
      - name: HPKE_MODE_PSK
        value: '0x01'
      item_type: enum
      name: hpke_mode
      pos:
        line_end: 1333
        line_start: 1328
        source_file: /src/hostap/src/crypto/crypto.h
    - enumerators:
      - name: HPKE_DHKEM_P256_HKDF_SHA256
        value: '0x0010'
      - name: HPKE_DHKEM_X5519_HKDF_SHA256
        value: '0x0020'
      - name: HPKE_DHKEM_P521_HKDF_SHA512
        value: '0x0012'
      - name: HPKE_DHKEM_P384_HKDF_SHA384
        value: '0x0011'
      - name: HPKE_DHKEM_X448_HKDF_SHA512
        value: '0x0021'
      item_type: enum
      name: hpke_kem_id
      pos:
        line_end: 1341
        line_start: 1335
        source_file: /src/hostap/src/crypto/crypto.h
    - enumerators:
      - name: HPKE_KDF_HKDF_SHA256
        value: '0x0001'
      - name: HPKE_KDF_HKDF_SHA512
        value: '0x0003'
      - name: HPKE_KDF_HKDF_SHA384
        value: '0x0002'
      item_type: enum
      name: hpke_kdf_id
      pos:
        line_end: 1347
        line_start: 1343
        source_file: /src/hostap/src/crypto/crypto.h
    - enumerators:
      - name: HPKE_AEAD_AES_128_GCM
        value: '0x0001'
      - name: HPKE_AEAD_AES_256_GCM
        value: '0x0002'
      - name: HPKE_AEAD_CHACHA20POLY1305
        value: '0x0003'
      item_type: enum
      name: hpke_aead_id
      pos:
        line_end: 1353
        line_start: 1349
        source_file: /src/hostap/src/crypto/crypto.h
    preproc_defs:
    - item_type: preproc_def
      name: HMAC_VECTOR_MAX_ELEM
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/hostap/src/crypto/crypto.h
      type_or_value: '11'
    structs: []
    typedefs: []
    union: []
- function_names:
  - sha1_transform
  - fips186_2_prf
  source_file: /src/hostap/src/crypto/fips_prf_wolfssl.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - fips186_2_prf
  source_file: /src/hostap/src/crypto/fips_prf_internal.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - gf_mulx
  - omac1_aes_vector
  - omac1_aes_128_vector
  - omac1_aes_128
  - omac1_aes_256
  source_file: /src/hostap/src/crypto/aes-omac1.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/crypto/tls_openssl.h
  types:
    enum:
    - enumerators:
      - name: OCSP_GOOD
      - name: OCSP_INVALID
      - name: OCSP_NO_RESPONSE
      - name: OCSP_REVOKED
      item_type: enum
      name: ocsp_result
      pos:
        line_end: 13
        line_start: 11
        source_file: /src/hostap/src/crypto/tls_openssl.h
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - xor_aes_block
  - aes_ccm_auth_start
  - aes_ccm_auth
  - aes_ccm_encr_start
  - aes_ccm_encr
  - aes_ccm_encr_auth
  - aes_ccm_decr_auth
  - aes_ccm_ae
  - aes_ccm_ad
  source_file: /src/hostap/src/crypto/aes-ccm.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sha1_transform
  - fips186_2_prf
  source_file: /src/hostap/src/crypto/fips_prf_openssl.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - md4_vector
  - PUT_64BIT_LE
  - PUT_32BIT_LE
  - MD4Init
  - MD4Update
  - MD4Pad
  - MD4Final
  - F1
  - F2
  - F3
  - MD4STEP
  - MD4Transform
  source_file: /src/hostap/src/crypto/md4-internal.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MD4_BLOCK_LENGTH
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/hostap/src/crypto/md4-internal.c
      type_or_value: '64'
    - item_type: preproc_def
      name: MD4_DIGEST_LENGTH
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/hostap/src/crypto/md4-internal.c
      type_or_value: '16'
    - item_type: preproc_def
      name: MD4_DIGEST_STRING_LENGTH
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/hostap/src/crypto/md4-internal.c
      type_or_value: (MD4_DIGEST_LENGTH * 2 + 1)
    structs:
    - fields:
      - name: state[4]
        type: u32
      - name: count
        type: u64
      - name: buffer[MD4_BLOCK_LENGTH]
        type: u8
      item_type: struct
      name: MD4Context
      pos:
        line_end: 20
        line_start: 16
        source_file: /src/hostap/src/crypto/md4-internal.c
    typedefs: []
    union: []
- function_names:
  - linux_af_alg_socket
  - linux_af_alg_hash_vector
  - md4_vector
  - md5_vector
  - sha1_vector
  - sha256_vector
  - sha384_vector
  - sha512_vector
  - hmac_md5_vector
  - hmac_md5
  - hmac_sha1_vector
  - hmac_sha1
  - hmac_sha256_vector
  - hmac_sha256
  - hmac_sha384_vector
  - hmac_sha384
  - crypto_hash_init
  - crypto_hash_update
  - crypto_hash_deinit
  - crypto_hash_finish
  - linux_af_alg_skcipher_deinit
  - linux_af_alg_skcipher
  - linux_af_alg_skcipher_oper
  - aes_encrypt_init
  - aes_encrypt
  - aes_encrypt_deinit
  - aes_decrypt_init
  - aes_decrypt
  - aes_decrypt_deinit
  - rc4_skip
  - des_encrypt
  - aes_128_cbc_oper
  - aes_128_cbc_encrypt
  - aes_128_cbc_decrypt
  - omac1_aes_vector
  - omac1_aes_128_vector
  - omac1_aes_128
  - omac1_aes_256
  - aes_unwrap
  - crypto_cipher_init
  - crypto_cipher_oper
  - crypto_cipher_encrypt
  - crypto_cipher_decrypt
  - crypto_cipher_deinit
  - crypto_global_init
  - crypto_global_deinit
  - crypto_unload
  source_file: /src/hostap/src/crypto/crypto_linux.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SOL_ALG
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/hostap/src/crypto/crypto_linux.c
      type_or_value: '279'
    structs:
    - fields:
      - name: s
        type: int
      - name: t
        type: int
      - name: mac_len
        type: size_t
      - name: failed
        type: int
      item_type: struct
      name: crypto_hash
      pos:
        line_end: 235
        line_start: 230
        source_file: /src/hostap/src/crypto/crypto_linux.c
    - fields:
      - name: s
        type: int
      - name: t
        type: int
      item_type: struct
      name: linux_af_alg_skcipher
      pos:
        line_end: 398
        line_start: 395
        source_file: /src/hostap/src/crypto/crypto_linux.c
    - fields:
      - name: '*skcipher'
        type: struct linux_af_alg_skcipher
      item_type: struct
      name: crypto_cipher
      pos:
        line_end: 855
        line_start: 853
        source_file: /src/hostap/src/crypto/crypto_linux.c
    typedefs: []
    union: []
- function_names:
  - sha1_vector
  - rol
  - blk0
  - blk0
  - blk
  - R0
  - R1
  - R2
  - R3
  - R4
  - SHAPrintContext
  - SHA1Transform
  - SHA1Init
  - SHA1Update
  - SHA1Final
  source_file: /src/hostap/src/crypto/sha1-internal.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: SHA1_CTX
      pos:
        line_end: 16
        line_start: 16
        source_file: /src/hostap/src/crypto/sha1-internal.c
      type: SHA1Context
    union:
    - fields:
      - name: c[64]
        type: unsigned char
      - name: l[16]
        type: u32
      item_type: union
      name: CHAR64LONG16
      pos:
        line_end: 181
        line_start: 178
        source_file: /src/hostap/src/crypto/sha1-internal.c
- function_names:
  - dbl
  - xor
  - xorend
  - pad_block
  - aes_s2v
  - aes_siv_encrypt
  - aes_siv_decrypt
  source_file: /src/hostap/src/crypto/aes-siv.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - hmac_sha256_kdf
  source_file: /src/hostap/src/crypto/sha256-kdf.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sha256_vector
  - RORc
  - Ch
  - Maj
  - S
  - R
  - Sigma0
  - Sigma1
  - Gamma0
  - Gamma1
  - sha256_compress
  - RND
  - sha256_init
  - sha256_process
  - sha256_done
  source_file: /src/hostap/src/crypto/sha256-internal.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/crypto/aes_wrap.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dh5_init
  - dh5_init_fixed
  - dh5_derive_shared
  - dh5_free
  source_file: /src/hostap/src/crypto/dh_group5.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - wc_EccPublicKeyToDer_ex
  - LOG_WOLF_ERROR_VA
  - LOG_WOLF_ERROR
  - LOG_WOLF_ERROR_FUNC
  - LOG_WOLF_ERROR_FUNC_NULL
  - LOG_INVALID_PARAMETERS
  - wc_rng_init
  - wc_rng_deinit
  - ecc_key_init
  - ecc_key_deinit
  - md4_vector
  - md5_vector
  - sha1_vector
  - sha256_vector
  - sha384_vector
  - sha512_vector
  - wolfssl_hmac_vector
  - hmac_md5_vector
  - hmac_md5
  - hmac_sha1_vector
  - hmac_sha1
  - hmac_sha256_vector
  - hmac_sha256
  - hmac_sha384_vector
  - hmac_sha384
  - hmac_sha512_vector
  - hmac_sha512
  - pbkdf2_sha1
  - des_encrypt
  - aes_encrypt_init
  - aes_encrypt
  - aes_encrypt_deinit
  - aes_decrypt_init
  - aes_decrypt
  - aes_decrypt_deinit
  - aes_128_cbc_encrypt
  - aes_128_cbc_decrypt
  - aes_wrap
  - aes_unwrap
  - rc4_skip
  - crypto_cipher_init
  - crypto_cipher_encrypt
  - crypto_cipher_decrypt
  - crypto_cipher_deinit
  - dh5_init
  - dh5_init_fixed
  - dh5_derive_shared
  - dh5_free
  - crypto_dh_init
  - crypto_dh_derive_secret
  - crypto_get_random
  - crypto_hash_init
  - crypto_hash_update
  - crypto_hash_finish
  - omac1_aes_vector
  - omac1_aes_128_vector
  - omac1_aes_128
  - omac1_aes_256
  - crypto_bignum_init
  - crypto_bignum_init_set
  - crypto_bignum_init_uint
  - crypto_bignum_deinit
  - crypto_bignum_to_bin
  - crypto_bignum_rand
  - crypto_bignum_add
  - crypto_bignum_mod
  - crypto_bignum_exptmod
  - crypto_bignum_inverse
  - crypto_bignum_sub
  - crypto_bignum_div
  - crypto_bignum_addmod
  - crypto_bignum_mulmod
  - crypto_bignum_sqrmod
  - crypto_bignum_rshift
  - crypto_bignum_cmp
  - crypto_bignum_is_zero
  - crypto_bignum_is_one
  - crypto_bignum_is_odd
  - crypto_bignum_legendre
  - crypto_ec_group_2_id
  - crypto_ec_init
  - crypto_ec_deinit
  - crypto_ec_point_init
  - crypto_ec_prime_len
  - crypto_ec_prime_len_bits
  - crypto_ec_order_len
  - crypto_ec_get_prime
  - crypto_ec_get_order
  - crypto_ec_get_a
  - crypto_ec_get_b
  - crypto_ec_point_deinit
  - crypto_ec_get_generator
  - crypto_ec_point_x
  - crypto_ec_point_to_bin
  - crypto_ec_point_from_bin
  - crypto_ec_point_add
  - crypto_ec_point_mul
  - crypto_ec_point_invert
  - crypto_ec_point_compute_y_sqr
  - crypto_ec_point_is_at_infinity
  - crypto_ec_point_is_on_curve
  - crypto_ec_point_cmp
  - _crypto_ecdh_init
  - crypto_ecdh_init
  - crypto_ecdh_init2
  - crypto_ecdh_deinit
  - crypto_ecdh_get_pubkey
  - crypto_ecdh_set_peerkey
  - crypto_ecdh_prime_len
  - crypto_ec_key_init
  - crypto_ec_key_deinit
  - crypto_ec_key_init_rng
  - crypto_ec_key_parse_priv
  - crypto_ec_key_group
  - crypto_ec_key_gen_public_key
  - crypto_ec_key_get_subject_public_key
  - crypto_ec_key_parse_pub
  - crypto_ec_key_sign
  - crypto_ec_key_verify_signature
  - crypto_ec_key_get_ecprivate_key
  - crypto_ec_key_get_pubkey_point
  - crypto_ec_key_set_pub
  - crypto_ec_key_cmp
  - crypto_ec_key_debug_print
  - crypto_ec_point_debug_print
  - crypto_ec_key_gen
  - crypto_ec_key_verify_signature_r_s
  - crypto_ec_key_get_public_key
  - crypto_ec_key_get_private_key
  - crypto_ec_key_sign_r_s
  - crypto_ec_key_set_pub_point
  - crypto_pkcs7_get_certificates
  - crypto_csr_init_type
  - crypto_csr_init
  - crypto_csr_deinit
  - crypto_csr_set_ec_public_key
  - crypto_csr_set_name
  - crypto_csr_set_attribute
  - crypto_csr_get_attribute
  - crypto_csr_sign
  - crypto_csr_verify
  - crypto_rsa_key_init
  - crypto_rsa_key_free
  - read_rsa_key_from_x509
  - crypto_rsa_key_read
  - crypto_rsa_oaep_sha256_encrypt
  - crypto_rsa_oaep_sha256_decrypt
  - crypto_unload
  source_file: /src/hostap/src/crypto/crypto_wolfssl.c
  types:
    enum:
    - enumerators:
      - name: cert_type_none
        value: '0'
      - name: cert_type_decoded_cert
      - name: cert_type_cert
      item_type: enum
      name: cert_type
      pos:
        line_end: 3221
        line_start: 3217
        source_file: /src/hostap/src/crypto/crypto_wolfssl.c
    preproc_defs:
    - item_type: preproc_def
      name: RFC3526_LEN
      pos:
        line_end: 930
        line_start: 929
        source_file: /src/hostap/src/crypto/crypto_wolfssl.c
      type_or_value: sizeof(RFC3526_PRIME_1536)
    structs:
    - fields:
      - name: alg
        type: enum crypto_cipher_alg
      - name: enc
        type: union wolfssl_cipher
      - name: dec
        type: union wolfssl_cipher
      item_type: struct
      name: crypto_cipher
      pos:
        line_end: 773
        line_start: 769
        source_file: /src/hostap/src/crypto/crypto_wolfssl.c
    - fields:
      - name: hmac
        type: Hmac
      - name: size
        type: int
      item_type: struct
      name: crypto_hash
      pos:
        line_end: 1177
        line_start: 1174
        source_file: /src/hostap/src/crypto/crypto_wolfssl.c
    - fields:
      - name: '*key'
        type: ecc_key
      - name: a
        type: mp_int
      - name: prime
        type: mp_int
      - name: order
        type: mp_int
      - name: mont_b
        type: mp_digit
      - name: b
        type: mp_int
      - name: curve_id
        type: int
      - name: own_key
        type: bool
      item_type: struct
      name: crypto_ec
      pos:
        line_end: 1645
        line_start: 1633
        source_file: /src/hostap/src/crypto/crypto_wolfssl.c
    - fields:
      - name: '*eckey'
        type: ecc_key
      - name: '*rng'
        type: WC_RNG
      item_type: struct
      name: crypto_ec_key
      pos:
        line_end: 2083
        line_start: 2079
        source_file: /src/hostap/src/crypto/crypto_wolfssl.c
    - fields:
      - name: '*ec'
        type: struct crypto_ec
      - name: '*rng'
        type: WC_RNG
      item_type: struct
      name: crypto_ecdh
      pos:
        line_end: 2089
        line_start: 2086
        source_file: /src/hostap/src/crypto/crypto_wolfssl.c
    - fields:
      - name: req
        type: "union {\n\t\t/* For parsed csr should be read-only for higher levels
          */\n\t\tDecodedCert dc;\n\t\tCert c; /* For generating a csr */\n\t}"
      - name: type
        type: enum cert_type
      - name: '*pubkey'
        type: struct crypto_ec_key
      item_type: struct
      name: crypto_csr
      pos:
        line_end: 3231
        line_start: 3223
        source_file: /src/hostap/src/crypto/crypto_wolfssl.c
    - fields:
      - name: key
        type: RsaKey
      - name: '*rng'
        type: WC_RNG
      item_type: struct
      name: crypto_rsa_key
      pos:
        line_end: 3563
        line_start: 3560
        source_file: /src/hostap/src/crypto/crypto_wolfssl.c
    typedefs: []
    union:
    - fields:
      - name: aes
        type: Aes
      - name: des3
        type: Des3
      - name: arc4
        type: Arc4
      item_type: union
      name: wolfssl_cipher
      pos:
        line_end: 767
        line_start: 763
        source_file: /src/hostap/src/crypto/crypto_wolfssl.c
- function_names:
  - tls_init
  - tls_deinit
  - tls_get_errors
  - tls_connection_init
  - tls_connection_deinit
  - tls_connection_established
  - tls_connection_peer_serial_num
  - tls_connection_shutdown
  - tls_connection_set_params
  - tls_global_set_params
  - tls_global_set_verify
  - tls_connection_set_verify
  - tls_connection_get_random
  - tls_connection_export_key
  - tls_connection_get_eap_fast_key
  - tls_connection_handshake
  - tls_connection_server_handshake
  - tls_connection_encrypt
  - tls_connection_decrypt
  - tls_connection_resumed
  - tls_connection_set_cipher_list
  - tls_get_version
  - tls_get_cipher
  - tls_connection_enable_workaround
  - tls_connection_client_hello_ext
  - tls_connection_get_failed
  - tls_connection_get_read_alerts
  - tls_connection_get_write_alerts
  - tls_get_library_version
  - tls_connection_set_success_data
  - tls_connection_set_success_data_resumed
  - tls_connection_get_success_data
  - tls_connection_remove_session
  source_file: /src/hostap/src/crypto/tls_none.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/crypto/sha256_i.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SHA256_BLOCK_SIZE
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/hostap/src/crypto/sha256_i.h
      type_or_value: '64'
    structs:
    - fields:
      - name: length
        type: u64
      - name: state[8]
        type: u32
      - name: buf[SHA256_BLOCK_SIZE]
        type: u8
      item_type: struct
      name: sha256_state
      pos:
        line_end: 17
        line_start: 13
        source_file: /src/hostap/src/crypto/sha256_i.h
    typedefs: []
    union: []
- function_names:
  - crypto_dh_init
  - crypto_dh_derive_secret
  - crypto_mod_exp
  source_file: /src/hostap/src/crypto/crypto_internal-modexp.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - hmac_sha512_kdf
  source_file: /src/hostap/src/crypto/sha512-kdf.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tls_log_func
  - tls_init
  - tls_deinit
  - tls_get_errors
  - tls_pull_func
  - tls_push_func
  - tls_gnutls_init_session
  - tls_connection_init
  - tls_connection_deinit
  - tls_connection_established
  - tls_connection_peer_serial_num
  - tls_connection_shutdown
  - tls_connection_set_params
  - server_ocsp_status_req
  - tls_global_set_params
  - tls_global_set_verify
  - tls_connection_set_verify
  - tls_connection_get_random
  - tls_connection_export_key
  - tls_connection_get_eap_fast_key
  - gnutls_tls_fail_event
  - server_eku_purpose
  - check_ocsp
  - tls_match_suffix_helper
  - tls_match_suffix
  - tls_connection_verify_peer
  - gnutls_get_appl_data
  - tls_connection_handshake
  - tls_connection_server_handshake
  - tls_connection_encrypt
  - tls_connection_decrypt
  - tls_connection_resumed
  - tls_connection_set_cipher_list
  - tls_get_version
  - tls_get_cipher
  - tls_connection_enable_workaround
  - tls_connection_client_hello_ext
  - tls_connection_get_failed
  - tls_connection_get_read_alerts
  - tls_connection_get_write_alerts
  - tls_connection_set_session_ticket_cb
  - tls_get_library_version
  - tls_connection_set_success_data
  - tls_connection_set_success_data_resumed
  - tls_connection_get_success_data
  - tls_connection_remove_session
  source_file: /src/hostap/src/crypto/tls_gnutls.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*session_data'
        type: void
      - name: session_data_size
        type: size_t
      - name: server
        type: int
      - name: params_set
        type: int
      - name: xcred
        type: gnutls_certificate_credentials_t
      - name: "(*event_cb)(void *ctx, enum tls_event ev,\n\t\t\t union tls_event_data
          *data)"
        type: void
      - name: '*cb_ctx'
        type: void
      - name: cert_in_cb
        type: int
      - name: '*ocsp_stapling_response'
        type: char
      item_type: struct
      name: tls_global
      pos:
        line_end: 41
        line_start: 25
        source_file: /src/hostap/src/crypto/tls_gnutls.c
    - fields:
      - name: '*global'
        type: struct tls_global
      - name: session
        type: gnutls_session_t
      - name: read_alerts
        type: int
      - name: '*pre_shared_secret'
        type: u8
      - name: pre_shared_secret_len
        type: size_t
      - name: established
        type: int
      - name: verify_peer
        type: int
      - name: disable_time_checks
        type: unsigned int
      - name: '*push_buf'
        type: struct wpabuf
      - name: '*pull_buf'
        type: struct wpabuf
      - name: '*pull_buf_offset'
        type: u8
      - name: params_set
        type: int
      - name: xcred
        type: gnutls_certificate_credentials_t
      - name: '*suffix_match'
        type: char
      - name: '*domain_match'
        type: char
      - name: flags
        type: unsigned int
      - name: '*prio_str'
        type: char
      item_type: struct
      name: tls_connection
      pos:
        line_end: 66
        line_start: 43
        source_file: /src/hostap/src/crypto/tls_gnutls.c
    typedefs: []
    union: []
- function_names:
  - hmac_sha1_vector
  - hmac_sha1
  source_file: /src/hostap/src/crypto/sha1.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - crypto_cipher_init
  - crypto_cipher_encrypt
  - crypto_cipher_decrypt
  - crypto_cipher_deinit
  source_file: /src/hostap/src/crypto/crypto_internal-cipher.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: alg
        type: enum crypto_cipher_alg
      - name: u
        type: "union {\n\t\tstruct {\n\t\t\tsize_t used_bytes;\n\t\t\tu8 key[16];\n\t\t\tsize_t
          keylen;\n\t\t} rc4;\n\t\tstruct {\n\t\t\tu8 cbc[32];\n\t\t\tvoid *ctx_enc;\n\t\t\tvoid
          *ctx_dec;\n\t\t} aes;\n\t\tstruct {\n\t\t\tstruct des3_key_s key;\n\t\t\tu8
          cbc[8];\n\t\t} des3;\n\t\tstruct {\n\t\t\tu32 ek[32];\n\t\t\tu32 dk[32];\n\t\t\tu8
          cbc[8];\n\t\t} des;\n\t}"
      item_type: struct
      name: crypto_cipher
      pos:
        line_end: 39
        line_start: 16
        source_file: /src/hostap/src/crypto/crypto_internal-cipher.c
    typedefs: []
    union: []
- function_names:
  - SSL_get_client_random
  - SSL_get_server_random
  - SSL_SESSION_get_master_key
  - ASN1_STRING_get0_data
  - BIO_from_keystore
  - tls_add_ca_from_keystore
  - tls_add_ca_from_keystore_encoded
  - tls_context_new
  - _tls_show_errors
  - tls_show_errors
  - tls_show_errors
  - tls_crl_cert_reload
  - openssl_load_pkcs11_provider
  - openssl_unload_pkcs11_provider
  - openssl_can_use_provider
  - provider_load_key
  - provider_load_cert
  - cryptoapi_error
  - cryptoapi_rsa_pub_enc
  - cryptoapi_rsa_pub_dec
  - cryptoapi_rsa_priv_enc
  - cryptoapi_rsa_priv_dec
  - cryptoapi_free_data
  - cryptoapi_finish
  - cryptoapi_find_cert
  - tls_cryptoapi_cert
  - tls_cryptoapi_ca_cert
  - tls_cryptoapi_cert
  - ssl_info_cb
  - tls_engine_load_dynamic_generic
  - tls_engine_path_trusted
  - tls_engine_load_dynamic_pkcs11
  - tls_engine_load_dynamic_opensc
  - get_session_data
  - remove_session_cb
  - tls_init
  - tls_deinit
  - tls_is_pin_error
  - tls_engine_init
  - tls_engine_deinit
  - tls_get_errors
  - openssl_content_type
  - openssl_handshake_type
  - check_server_hello
  - check_server_key_exchange
  - tls_msg_cb
  - tls_keylog_cb
  - tls_connection_init
  - tls_connection_deinit
  - tls_connection_established
  - tls_connection_peer_serial_num
  - tls_connection_shutdown
  - tls_match_altsubject_component
  - tls_match_altsubject
  - domain_suffix_match
  - get_dn_field_index
  - match_dn_field
  - get_value_from_field
  - tls_match_dn_field
  - tls_match_suffix_helper
  - tls_match_suffix
  - openssl_tls_fail_reason
  - get_x509_cert
  - openssl_tls_fail_event
  - openssl_cert_tod
  - openssl_tls_cert_event
  - debug_print_cert
  - tls_verify_cb
  - tls_load_ca_der
  - tls_add_ca_cert
  - tls_connection_ca_cert
  - tls_global_ca_cert
  - tls_global_set_verify
  - tls_connection_set_subject_match
  - suiteb_cert_cb
  - tls_set_conn_flags
  - tls_connection_set_verify
  - tls_connection_client_cert
  - tls_global_client_cert
  - tls_parse_pkcs12
  - tls_read_pkcs12
  - tls_read_pkcs12_blob
  - tls_engine_get_cert
  - tls_connection_engine_client_cert
  - tls_connection_engine_ca_cert
  - tls_connection_engine_private_key
  - tls_passwd_cb
  - tls_use_private_key_file
  - tls_connection_private_key
  - tls_global_private_key
  - openssl_dsa_to_dh
  - tls_global_dh
  - tls_connection_get_random
  - openssl_get_keyblock_size
  - tls_connection_export_key
  - tls_connection_get_eap_fast_key
  - openssl_handshake
  - openssl_get_appl_data
  - openssl_connection_handshake
  - tls_connection_handshake
  - tls_connection_server_handshake
  - tls_connection_encrypt
  - tls_connection_decrypt
  - tls_connection_resumed
  - tls_connection_set_cipher_list
  - tls_get_version
  - tls_get_cipher
  - tls_connection_enable_workaround
  - tls_connection_client_hello_ext
  - tls_connection_get_failed
  - tls_connection_get_read_alerts
  - tls_connection_get_write_alerts
  - ocsp_debug_print_resp
  - ocsp_resp_cb
  - ocsp_status_cb
  - max_str_len
  - match_lines_in_file
  - is_tpm2_key
  - tls_connection_set_params
  - openssl_debug_dump_cipher_list
  - openssl_pkey_type_str
  - openssl_debug_dump_certificate
  - openssl_debug_dump_certificates
  - openssl_debug_dump_certificate_chains
  - openssl_debug_dump_ctx
  - tls_global_set_params
  - tls_sess_sec_cb
  - tls_session_ticket_ext_cb
  - tls_connection_set_session_ticket_cb
  - tls_get_library_version
  - tls_connection_set_success_data
  - tls_connection_set_success_data_resumed
  - tls_connection_get_success_data
  - tls_connection_remove_session
  - tls_get_tls_unique
  - tls_connection_get_cipher_suite
  - tls_connection_get_peer_subject
  - tls_connection_get_own_cert_used
  source_file: /src/hostap/src/crypto/tls_openssl.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CERT_SYSTEM_STORE_CURRENT_USER
      pos:
        line_end: 531
        line_start: 530
        source_file: /src/hostap/src/crypto/tls_openssl.c
      type_or_value: (1 << 16)
    - item_type: preproc_def
      name: CERT_STORE_READONLY_FLAG
      pos:
        line_end: 532
        line_start: 531
        source_file: /src/hostap/src/crypto/tls_openssl.c
      type_or_value: '0x00008000'
    - item_type: preproc_def
      name: CERT_STORE_OPEN_EXISTING_FLAG
      pos:
        line_end: 533
        line_start: 532
        source_file: /src/hostap/src/crypto/tls_openssl.c
      type_or_value: '0x00004000'
    - item_type: preproc_def
      name: TRUSTED_PATH
      pos:
        line_end: 1037
        line_start: 1036
        source_file: /src/hostap/src/crypto/tls_openssl.c
      type_or_value: '"/usr/lib/"'
    - item_type: preproc_def
      name: CKR_PIN_INCORRECT
      pos:
        line_end: 1515
        line_start: 1514
        source_file: /src/hostap/src/crypto/tls_openssl.c
      type_or_value: '0x000000a0'
    - item_type: preproc_def
      name: CKR_PIN_INVALID
      pos:
        line_end: 1516
        line_start: 1515
        source_file: /src/hostap/src/crypto/tls_openssl.c
      type_or_value: '0x000000a1'
    - item_type: preproc_def
      name: CKR_PIN_LEN_RANGE
      pos:
        line_end: 1517
        line_start: 1516
        source_file: /src/hostap/src/crypto/tls_openssl.c
      type_or_value: '0x000000a2'
    - item_type: preproc_def
      name: ERR_LIB_PKCS11
      pos:
        line_end: 1520
        line_start: 1519
        source_file: /src/hostap/src/crypto/tls_openssl.c
      type_or_value: ERR_LIB_USER
    - item_type: preproc_def
      name: TEAP_DH_ANON_CS
      pos:
        line_end: 3706
        line_start: 3697
        source_file: /src/hostap/src/crypto/tls_openssl.c
      type_or_value: "\"ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:\"
        \\\n\t\"ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:\" \\\n\t\"ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:\"
        \\\n\t\"DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:\" \\\n\t\"DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:\"
        \\\n\t\"DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:\" \\\n\t\"ADH-AES256-GCM-SHA384:ADH-AES128-GCM-SHA256:\"
        \\\n\t\"ADH-AES256-SHA256:ADH-AES128-SHA256:ADH-AES256-SHA:ADH-AES128-SHA\""
    structs:
    - fields:
      - name: list
        type: struct dl_list
      - name: '*buf'
        type: struct wpabuf
      item_type: struct
      name: tls_session_data
      pos:
        line_end: 218
        line_start: 215
        source_file: /src/hostap/src/crypto/tls_openssl.c
    - fields:
      - name: "(*event_cb)(void *ctx, enum tls_event ev,\n\t\t\t union tls_event_data
          *data)"
        type: void
      - name: '*cb_ctx'
        type: void
      - name: cert_in_cb
        type: int
      - name: '*ocsp_stapling_response'
        type: char
      - name: sessions
        type: struct dl_list
      item_type: struct
      name: tls_context
      pos:
        line_end: 227
        line_start: 220
        source_file: /src/hostap/src/crypto/tls_openssl.c
    - fields:
      - name: '*ssl'
        type: SSL_CTX
      - name: tls_session_lifetime
        type: unsigned int
      - name: check_crl
        type: int
      - name: check_crl_strict
        type: int
      - name: '*ca_cert'
        type: char
      - name: crl_reload_interval
        type: unsigned int
      - name: crl_last_reload
        type: struct os_reltime
      - name: '*check_cert_subject'
        type: char
      - name: '*openssl_ciphers'
        type: char
      item_type: struct
      name: tls_data
      pos:
        line_end: 242
        line_start: 232
        source_file: /src/hostap/src/crypto/tls_openssl.c
    - fields:
      - name: '*context'
        type: struct tls_context
      - name: '*data'
        type: struct tls_data
      - name: '*ssl_ctx'
        type: SSL_CTX
      - name: '*ssl'
        type: SSL
      - name: '*ssl_in'
        type: BIO
      - name: '*private_key'
        type: EVP_PKEY
      - name: '*subject_match'
        type: char
      - name: '*check_cert_subject'
        type: char
      - name: read_alerts
        type: int
      - name: session_ticket_cb
        type: tls_session_ticket_cb
      - name: '*session_ticket_cb_ctx'
        type: void
      - name: '*session_ticket'
        type: u8
      - name: session_ticket_len
        type: size_t
      - name: ca_cert_verify
        type: unsigned int
      - name: cert_probe
        type: unsigned int
      - name: server_cert_only
        type: unsigned int
      - name: invalid_hb_used
        type: unsigned int
      - name: success_data
        type: unsigned int
      - name: client_hello_generated
        type: unsigned int
      - name: server
        type: unsigned int
      - name: srv_cert_hash[32]
        type: u8
      - name: flags
        type: unsigned int
      - name: '*peer_cert'
        type: X509
      - name: '*peer_issuer'
        type: X509
      - name: '*peer_issuer_issuer'
        type: X509
      - name: '*peer_subject'
        type: char
      - name: client_random[SSL3_RANDOM_SIZE]
        type: unsigned char
      - name: server_random[SSL3_RANDOM_SIZE]
        type: unsigned char
      - name: cipher_suite
        type: u16
      - name: server_dh_prime_len
        type: int
      item_type: struct
      name: tls_connection
      pos:
        line_end: 287
        line_start: 244
        source_file: /src/hostap/src/crypto/tls_openssl.c
    - fields:
      - name: '*cert'
        type: CERT_CONTEXT
      - name: crypt_prov
        type: HCRYPTPROV
      - name: key_spec
        type: DWORD
      - name: free_crypt_prov
        type: BOOL
      item_type: struct
      name: cryptoapi_rsa_data
      pos:
        line_end: 542
        line_start: 537
        source_file: /src/hostap/src/crypto/tls_openssl.c
    - fields:
      - name: '*password'
        type: void
      - name: '*prompt_info'
        type: char
      item_type: struct
      name: key_cb = { "", NULL }
      pos:
        line_end: 1598
        line_start: 1595
        source_file: /src/hostap/src/crypto/tls_openssl.c
    - fields:
      - name: cn
        type: u8
      - name: c
        type: u8
      - name: l
        type: u8
      - name: st
        type: u8
      - name: o
        type: u8
      - name: ou
        type: u8
      - name: email
        type: u8
      item_type: struct
      name: tls_dn_field_order_cnt
      pos:
        line_end: 2237
        line_start: 2229
        source_file: /src/hostap/src/crypto/tls_openssl.c
    - fields:
      - name: '*cert_id'
        type: char
      - name: '*cert'
        type: X509
      item_type: struct
      name: params
      pos:
        line_end: 4130
        line_start: 4127
        source_file: /src/hostap/src/crypto/tls_openssl.c
    typedefs:
    - item_type: typedef
      name: stack_index_t
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/hostap/src/crypto/tls_openssl.c
      type: size_t
    - item_type: typedef
      name: stack_index_t
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/hostap/src/crypto/tls_openssl.c
      type: int
    union: []
- function_names:
  - des_encrypt
  - nettle_digest_vector
  - md4_vector
  - md5_vector
  - sha1_vector
  - sha256_vector
  - sha384_vector
  - sha512_vector
  - hmac_md5_vector
  - hmac_md5
  - hmac_sha1_vector
  - hmac_sha1
  - hmac_sha256_vector
  - hmac_sha256
  - hmac_sha384_vector
  - hmac_sha384
  - hmac_sha512_vector
  - hmac_sha512
  - aes_encrypt_init
  - aes_encrypt
  - aes_encrypt_deinit
  - aes_decrypt_init
  - aes_decrypt
  - aes_decrypt_deinit
  - crypto_dh_init
  - crypto_dh_derive_secret
  - crypto_mod_exp
  - crypto_cipher_init
  - crypto_cipher_encrypt
  - crypto_cipher_decrypt
  - crypto_cipher_deinit
  - crypto_unload
  source_file: /src/hostap/src/crypto/crypto_nettle.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: alg
        type: enum crypto_cipher_alg
      - name: u
        type: "union {\n\t\tstruct arcfour_ctx arcfour_ctx;\n\t}"
      item_type: struct
      name: crypto_cipher
      pos:
        line_end: 407
        line_start: 402
        source_file: /src/hostap/src/crypto/crypto_nettle.c
    typedefs: []
    union: []
- function_names:
  - tls_context_new
  - tls_context_free
  - ssl_ctx_get_tls_context
  - wolfssl_reset_in_data
  - wolfssl_reset_out_data
  - wolfssl_receive_cb
  - wolfssl_send_cb
  - remove_session_cb
  - wcFipsCb
  - wolfSSL_logging_cb
  - handle_ciphersuites
  - tls_init
  - tls_deinit
  - tls_get_errors
  - tls_connection_init
  - tls_connection_deinit
  - tls_connection_established
  - tls_connection_peer_serial_num
  - tls_connection_shutdown
  - tls_connection_set_subject_match
  - tls_connection_client_cert
  - tls_passwd_cb
  - tls_connection_private_key
  - tls_match_alt_subject_component
  - tls_match_alt_subject
  - domain_suffix_match
  - tls_match_suffix_helper
  - tls_match_suffix
  - wolfssl_tls_fail_reason
  - wolfssl_tls_err_string
  - match_dn_field
  - get_value_from_field
  - tls_match_dn_field
  - get_x509_cert
  - wolfssl_tls_fail_event
  - wolfssl_cert_tod
  - wolfssl_tls_cert_event
  - tls_verify_cb
  - tls_connection_ca_cert
  - tls_set_conn_flags
  - tls_connection_set_params
  - tls_global_ca_cert
  - tls_global_client_cert
  - tls_global_private_key
  - tls_global_dh
  - ocsp_status_cb
  - ocsp_resp_free_cb
  - tls_global_set_params
  - tls_global_set_verify
  - tls_connection_set_verify
  - wolfssl_handshake
  - wolfssl_get_appl_data
  - wolfssl_connection_handshake
  - tls_connection_handshake
  - tls_connection_server_handshake
  - tls_connection_encrypt
  - tls_connection_decrypt
  - tls_connection_resumed
  - tls_connection_set_cipher_list
  - tls_get_cipher
  - tls_connection_enable_workaround
  - tls_connection_get_failed
  - tls_connection_get_read_alerts
  - tls_connection_get_write_alerts
  - tls_get_library_version
  - tls_get_version
  - tls_connection_get_random
  - tls_connection_export_key
  - tls_connection_get_eap_fast_key
  - tls_connection_client_hello_ext
  - tls_sess_sec_cb
  - tls_connection_set_session_ticket_cb
  - tls_connection_set_success_data_resumed
  - tls_connection_remove_session
  - tls_get_tls_unique
  - tls_connection_get_cipher_suite
  - tls_connection_get_peer_subject
  - tls_connection_set_success_data
  - tls_connection_get_success_data
  - tls_connection_get_own_cert_used
  source_file: /src/hostap/src/crypto/tls_wolfssl.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SECRET_LEN
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/hostap/src/crypto/tls_wolfssl.c
      type_or_value: '48'
    - item_type: preproc_def
      name: RAN_LEN
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/hostap/src/crypto/tls_wolfssl.c
      type_or_value: '32'
    - item_type: preproc_def
      name: SESSION_TICKET_LEN
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/hostap/src/crypto/tls_wolfssl.c
      type_or_value: '256'
    - item_type: preproc_def
      name: TLS_SESSION_EX_IDX
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/hostap/src/crypto/tls_wolfssl.c
      type_or_value: (0)
    - item_type: preproc_def
      name: TLS_SSL_CTX_CTX_EX_IDX
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/hostap/src/crypto/tls_wolfssl.c
      type_or_value: (0)
    - item_type: preproc_def
      name: TLS_SSL_CON_EX_IDX
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/hostap/src/crypto/tls_wolfssl.c
      type_or_value: (0)
    - item_type: preproc_def
      name: SUITEB_OLDTLS_192_CIPHERS
      pos:
        line_end: 250
        line_start: 249
        source_file: /src/hostap/src/crypto/tls_wolfssl.c
      type_or_value: '"ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384"'
    - item_type: preproc_def
      name: SUITEB_TLS13_192_CIPHERS
      pos:
        line_end: 251
        line_start: 250
        source_file: /src/hostap/src/crypto/tls_wolfssl.c
      type_or_value: '"TLS13-AES256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256"'
    - item_type: preproc_def
      name: SUITEB_TLS_192_CIPHERS
      pos:
        line_end: 252
        line_start: 251
        source_file: /src/hostap/src/crypto/tls_wolfssl.c
      type_or_value: SUITEB_TLS13_192_CIPHERS ":" SUITEB_OLDTLS_192_CIPHERS
    - item_type: preproc_def
      name: SUITEB_OLDTLS_128_CIPHERS
      pos:
        line_end: 254
        line_start: 253
        source_file: /src/hostap/src/crypto/tls_wolfssl.c
      type_or_value: '"ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES128-GCM-SHA256:"
        SUITEB_OLDTLS_192_CIPHERS'
    - item_type: preproc_def
      name: SUITEB_TLS13_128_CIPHERS
      pos:
        line_end: 255
        line_start: 254
        source_file: /src/hostap/src/crypto/tls_wolfssl.c
      type_or_value: '"TLS13-AES128-GCM-SHA256:" SUITEB_TLS13_192_CIPHERS'
    - item_type: preproc_def
      name: SUITEB_TLS_128_CIPHERS
      pos:
        line_end: 256
        line_start: 255
        source_file: /src/hostap/src/crypto/tls_wolfssl.c
      type_or_value: SUITEB_TLS13_128_CIPHERS ":" SUITEB_OLDTLS_128_CIPHERS
    - item_type: preproc_def
      name: SUITEB_TLS_192_SIGALGS
      pos:
        line_end: 258
        line_start: 257
        source_file: /src/hostap/src/crypto/tls_wolfssl.c
      type_or_value: '"ECDSA+SHA384:RSA-PSS+SHA384:RSA+SHA384"'
    - item_type: preproc_def
      name: SUITEB_TLS_128_SIGALGS
      pos:
        line_end: 259
        line_start: 258
        source_file: /src/hostap/src/crypto/tls_wolfssl.c
      type_or_value: '"ECDSA+SHA256:RSA-PSS+SHA256:RSA+SHA256:" SUITEB_TLS_192_SIGALGS'
    - item_type: preproc_def
      name: SUITEB_TLS_192_CURVES
      pos:
        line_end: 261
        line_start: 260
        source_file: /src/hostap/src/crypto/tls_wolfssl.c
      type_or_value: '"P-384:P-521"'
    - item_type: preproc_def
      name: SUITEB_TLS_128_CURVES
      pos:
        line_end: 262
        line_start: 261
        source_file: /src/hostap/src/crypto/tls_wolfssl.c
      type_or_value: '"P-256:" SUITEB_TLS_192_CURVES'
    - item_type: preproc_def
      name: SUITEB_TLS_128_RSA_KEY_SZ
      pos:
        line_end: 264
        line_start: 263
        source_file: /src/hostap/src/crypto/tls_wolfssl.c
      type_or_value: '2048'
    - item_type: preproc_def
      name: SUITEB_TLS_192_RSA_KEY_SZ
      pos:
        line_end: 265
        line_start: 264
        source_file: /src/hostap/src/crypto/tls_wolfssl.c
      type_or_value: '3072'
    - item_type: preproc_def
      name: SUITEB_TLS_128_ECC_KEY_SZ
      pos:
        line_end: 267
        line_start: 266
        source_file: /src/hostap/src/crypto/tls_wolfssl.c
      type_or_value: '256'
    - item_type: preproc_def
      name: SUITEB_TLS_192_ECC_KEY_SZ
      pos:
        line_end: 268
        line_start: 267
        source_file: /src/hostap/src/crypto/tls_wolfssl.c
      type_or_value: '384'
    - item_type: preproc_def
      name: DN_FIELD_LEN
      pos:
        line_end: 1067
        line_start: 1066
        source_file: /src/hostap/src/crypto/tls_wolfssl.c
      type_or_value: '20'
    - item_type: preproc_def
      name: SEED_LEN
      pos:
        line_end: 2479
        line_start: 2478
        source_file: /src/hostap/src/crypto/tls_wolfssl.c
      type_or_value: (RAN_LEN + RAN_LEN)
    structs:
    - fields:
      - name: '*in_data'
        type: struct wpabuf
      - name: consumed
        type: size_t
      item_type: struct
      name: tls_in_data
      pos:
        line_end: 53
        line_start: 50
        source_file: /src/hostap/src/crypto/tls_wolfssl.c
    - fields:
      - name: '*out_data'
        type: struct wpabuf
      item_type: struct
      name: tls_out_data
      pos:
        line_end: 58
        line_start: 56
        source_file: /src/hostap/src/crypto/tls_wolfssl.c
    - fields:
      - name: "(*event_cb)(void *ctx, enum tls_event ev,\n\t\t\t union tls_event_data
          *data)"
        type: void
      - name: '*cb_ctx'
        type: void
      - name: cert_in_cb
        type: int
      - name: '*ocsp_stapling_response'
        type: char
      - name: tls_session_lifetime
        type: unsigned int
      - name: '*check_cert_subject'
        type: char
      item_type: struct
      name: tls_context
      pos:
        line_end: 69
        line_start: 60
        source_file: /src/hostap/src/crypto/tls_wolfssl.c
    - fields:
      - name: '*context'
        type: struct tls_context
      - name: '*ssl'
        type: WOLFSSL
      - name: read_alerts
        type: int
      - name: write_alerts
        type: int
      - name: failed
        type: int
      - name: input
        type: struct tls_in_data
      - name: output
        type: struct tls_out_data
      - name: '*subject_match'
        type: char
      - name: '*alt_subject_match'
        type: char
      - name: '*suffix_match'
        type: char
      - name: '*domain_match'
        type: char
      - name: '*check_cert_subject'
        type: char
      - name: srv_cert_hash[32]
        type: u8
      - name: client_random[RAN_LEN]
        type: unsigned char
      - name: server_random[RAN_LEN]
        type: unsigned char
      - name: flags
        type: unsigned int
      - name: ca_cert_verify
        type: unsigned int
      - name: cert_probe
        type: unsigned int
      - name: server_cert_only
        type: unsigned int
      - name: success_data
        type: unsigned int
      - name: '*peer_cert'
        type: WOLFSSL_X509
      - name: '*peer_issuer'
        type: WOLFSSL_X509
      - name: '*peer_issuer_issuer'
        type: WOLFSSL_X509
      - name: '*peer_subject'
        type: char
      item_type: struct
      name: tls_connection
      pos:
        line_end: 107
        line_start: 74
        source_file: /src/hostap/src/crypto/tls_wolfssl.c
    typedefs: []
    union: []
- function_names:
  - rijndaelKeySetupEnc
  source_file: /src/hostap/src/crypto/aes-internal.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/crypto/dh_groups.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: id
        type: int
      - name: '*generator'
        type: u8
      - name: generator_len
        type: size_t
      - name: '*prime'
        type: u8
      - name: prime_len
        type: size_t
      - name: '*order'
        type: u8
      - name: order_len
        type: size_t
      - name: safe_prime
        type: unsigned int
      item_type: struct
      name: dh_group
      pos:
        line_end: 20
        line_start: 11
        source_file: /src/hostap/src/crypto/dh_groups.h
    typedefs: []
    union: []
- function_names:
  - hmac_md5_vector
  - hmac_md5
  source_file: /src/hostap/src/crypto/md5.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/crypto/sha1_i.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: state[5]
        type: u32
      - name: count[2]
        type: u32
      - name: buffer[64]
        type: unsigned char
      item_type: struct
      name: SHA1Context
      pos:
        line_end: 15
        line_start: 11
        source_file: /src/hostap/src/crypto/sha1_i.h
    typedefs: []
    union: []
- function_names:
  - tls_prf_sha384
  source_file: /src/hostap/src/crypto/sha384-tlsprf.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/crypto/tls.h
  types:
    enum:
    - enumerators:
      - name: TLS_CERT_CHAIN_SUCCESS
      - name: TLS_PEER_CERTIFICATE
      - name: TLS_CERT_CHAIN_FAILURE
      - name: TLS_ALERT
      - name: TLS_UNSAFE_RENEGOTIATION_DISABLED
      item_type: enum
      name: tls_event
      pos:
        line_end: 26
        line_start: 20
        source_file: /src/hostap/src/crypto/tls.h
    - enumerators:
      - name: TLS_FAIL_UNSPECIFIED
        value: '0'
      - name: TLS_FAIL_EXPIRED
        value: '4'
      - name: TLS_FAIL_NOT_YET_VALID
        value: '3'
      - name: TLS_FAIL_REVOKED
        value: '2'
      - name: TLS_FAIL_UNTRUSTED
        value: '1'
      - name: TLS_FAIL_SUBJECT_MISMATCH
        value: '5'
      - name: TLS_FAIL_ALTSUBJECT_MISMATCH
        value: '6'
      - name: TLS_FAIL_BAD_CERTIFICATE
        value: '7'
      - name: TLS_FAIL_SERVER_CHAIN_PROBE
        value: '8'
      - name: TLS_FAIL_DOMAIN_SUFFIX_MISMATCH
        value: '9'
      - name: TLS_FAIL_DOMAIN_MISMATCH
        value: '10'
      - name: TLS_FAIL_INSUFFICIENT_KEY_LEN
        value: '11'
      - name: TLS_FAIL_DN_MISMATCH
        value: '12'
      item_type: enum
      name: tls_fail_reason
      pos:
        line_end: 46
        line_start: 32
        source_file: /src/hostap/src/crypto/tls.h
    preproc_defs:
    - item_type: preproc_def
      name: TLS_MAX_ALT_SUBJECT
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/hostap/src/crypto/tls.h
      type_or_value: '10'
    - item_type: preproc_def
      name: TLS_CONN_ALLOW_SIGN_RSA_MD5
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/hostap/src/crypto/tls.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: TLS_CONN_DISABLE_TIME_CHECKS
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/hostap/src/crypto/tls.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: TLS_CONN_DISABLE_SESSION_TICKET
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/hostap/src/crypto/tls.h
      type_or_value: BIT(2)
    - item_type: preproc_def
      name: TLS_CONN_REQUEST_OCSP
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/hostap/src/crypto/tls.h
      type_or_value: BIT(3)
    - item_type: preproc_def
      name: TLS_CONN_REQUIRE_OCSP
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/hostap/src/crypto/tls.h
      type_or_value: BIT(4)
    - item_type: preproc_def
      name: TLS_CONN_DISABLE_TLSv1_1
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/hostap/src/crypto/tls.h
      type_or_value: BIT(5)
    - item_type: preproc_def
      name: TLS_CONN_DISABLE_TLSv1_2
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/hostap/src/crypto/tls.h
      type_or_value: BIT(6)
    - item_type: preproc_def
      name: TLS_CONN_EAP_FAST
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/hostap/src/crypto/tls.h
      type_or_value: BIT(7)
    - item_type: preproc_def
      name: TLS_CONN_DISABLE_TLSv1_0
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/hostap/src/crypto/tls.h
      type_or_value: BIT(8)
    - item_type: preproc_def
      name: TLS_CONN_EXT_CERT_CHECK
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/hostap/src/crypto/tls.h
      type_or_value: BIT(9)
    - item_type: preproc_def
      name: TLS_CONN_REQUIRE_OCSP_ALL
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/hostap/src/crypto/tls.h
      type_or_value: BIT(10)
    - item_type: preproc_def
      name: TLS_CONN_SUITEB
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/hostap/src/crypto/tls.h
      type_or_value: BIT(11)
    - item_type: preproc_def
      name: TLS_CONN_SUITEB_NO_ECDH
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/hostap/src/crypto/tls.h
      type_or_value: BIT(12)
    - item_type: preproc_def
      name: TLS_CONN_DISABLE_TLSv1_3
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/hostap/src/crypto/tls.h
      type_or_value: BIT(13)
    - item_type: preproc_def
      name: TLS_CONN_ENABLE_TLSv1_0
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/hostap/src/crypto/tls.h
      type_or_value: BIT(14)
    - item_type: preproc_def
      name: TLS_CONN_ENABLE_TLSv1_1
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/hostap/src/crypto/tls.h
      type_or_value: BIT(15)
    - item_type: preproc_def
      name: TLS_CONN_ENABLE_TLSv1_2
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/hostap/src/crypto/tls.h
      type_or_value: BIT(16)
    - item_type: preproc_def
      name: TLS_CONN_TEAP_ANON_DH
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/hostap/src/crypto/tls.h
      type_or_value: BIT(17)
    - item_type: preproc_def
      name: TLS_CONN_ALLOW_UNSAFE_RENEGOTIATION
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/hostap/src/crypto/tls.h
      type_or_value: BIT(18)
    - item_type: preproc_def
      name: TLS_BREAK_VERIFY_DATA
      pos:
        line_end: 636
        line_start: 635
        source_file: /src/hostap/src/crypto/tls.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: TLS_BREAK_SRV_KEY_X_HASH
      pos:
        line_end: 637
        line_start: 636
        source_file: /src/hostap/src/crypto/tls.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: TLS_BREAK_SRV_KEY_X_SIGNATURE
      pos:
        line_end: 638
        line_start: 637
        source_file: /src/hostap/src/crypto/tls.h
      type_or_value: BIT(2)
    - item_type: preproc_def
      name: TLS_DHE_PRIME_511B
      pos:
        line_end: 639
        line_start: 638
        source_file: /src/hostap/src/crypto/tls.h
      type_or_value: BIT(3)
    - item_type: preproc_def
      name: TLS_DHE_PRIME_767B
      pos:
        line_end: 640
        line_start: 639
        source_file: /src/hostap/src/crypto/tls.h
      type_or_value: BIT(4)
    - item_type: preproc_def
      name: TLS_DHE_PRIME_15
      pos:
        line_end: 641
        line_start: 640
        source_file: /src/hostap/src/crypto/tls.h
      type_or_value: BIT(5)
    - item_type: preproc_def
      name: TLS_DHE_PRIME_58B
      pos:
        line_end: 642
        line_start: 641
        source_file: /src/hostap/src/crypto/tls.h
      type_or_value: BIT(6)
    - item_type: preproc_def
      name: TLS_DHE_NON_PRIME
      pos:
        line_end: 643
        line_start: 642
        source_file: /src/hostap/src/crypto/tls.h
      type_or_value: BIT(7)
    structs:
    - fields:
      - name: '*client_random'
        type: u8
      - name: client_random_len
        type: size_t
      - name: '*server_random'
        type: u8
      - name: server_random_len
        type: size_t
      item_type: struct
      name: tls_random
      pos:
        line_end: 18
        line_start: 13
        source_file: /src/hostap/src/crypto/tls.h
    - fields:
      - name: depth
        type: int
      - name: '*subject'
        type: char
      - name: '*cert'
        type: struct wpabuf
      - name: '*hash'
        type: u8
      - name: hash_len
        type: size_t
      - name: '*altsubject[TLS_MAX_ALT_SUBJECT]'
        type: char
      - name: num_altsubject
        type: int
      - name: '*serial_num'
        type: char
      - name: tod
        type: int
      item_type: struct
      name: tls_cert_data
      pos:
        line_end: 61
        line_start: 51
        source_file: /src/hostap/src/crypto/tls.h
    - fields:
      - name: fips_mode
        type: int
      - name: cert_in_cb
        type: int
      - name: '*openssl_ciphers'
        type: char
      - name: tls_session_lifetime
        type: unsigned int
      - name: crl_reload_interval
        type: unsigned int
      - name: tls_flags
        type: unsigned int
      - name: "(*event_cb)(void *ctx, enum tls_event ev,\n\t\t\t union tls_event_data
          *data)"
        type: void
      - name: '*cb_ctx'
        type: void
      item_type: struct
      name: tls_config
      pos:
        line_end: 101
        line_start: 81
        source_file: /src/hostap/src/crypto/tls.h
    - fields:
      - name: '*ca_cert'
        type: char
      - name: '*ca_cert_blob'
        type: u8
      - name: ca_cert_blob_len
        type: size_t
      - name: '*ca_path'
        type: char
      - name: '*subject_match'
        type: char
      - name: '*altsubject_match'
        type: char
      - name: '*suffix_match'
        type: char
      - name: '*domain_match'
        type: char
      - name: '*client_cert'
        type: char
      - name: '*client_cert2'
        type: char
      - name: '*client_cert_blob'
        type: u8
      - name: client_cert_blob_len
        type: size_t
      - name: '*private_key'
        type: char
      - name: '*private_key2'
        type: char
      - name: '*private_key_blob'
        type: u8
      - name: private_key_blob_len
        type: size_t
      - name: '*private_key_passwd'
        type: char
      - name: '*private_key_passwd2'
        type: char
      - name: '*dh_file'
        type: char
      - name: engine
        type: int
      - name: '*engine_id'
        type: char
      - name: '*pin'
        type: char
      - name: '*key_id'
        type: char
      - name: '*cert_id'
        type: char
      - name: '*ca_cert_id'
        type: char
      - name: '*openssl_ciphers'
        type: char
      - name: '*openssl_ecdh_curves'
        type: char
      - name: flags
        type: unsigned int
      - name: '*ocsp_stapling_response'
        type: char
      - name: '*ocsp_stapling_response_multi'
        type: char
      - name: '*check_cert_subject'
        type: char
      item_type: struct
      name: tls_connection_params
      pos:
        line_end: 221
        line_start: 186
        source_file: /src/hostap/src/crypto/tls.h
    typedefs:
    - item_type: typedef
      name: "(*tls_session_ticket_cb)\n(void *ctx, const u8 *ticket, size_t len, const
        u8 *client_random,\n const u8 *server_random, u8 *master_secret)"
      pos:
        line_end: 625
        line_start: 623
        source_file: /src/hostap/src/crypto/tls.h
      type: int
    union:
    - fields:
      - name: cert_fail
        type: "struct {\n\t\tint depth;\n\t\tconst char *subject;\n\t\tenum tls_fail_reason
          reason;\n\t\tconst char *reason_txt;\n\t\tconst struct wpabuf *cert;\n\t}"
      - name: peer_cert
        type: struct tls_cert_data
      - name: alert
        type: "struct {\n\t\tint is_local;\n\t\tconst char *type;\n\t\tconst char
          *description;\n\t}"
      item_type: union
      name: tls_event_data
      pos:
        line_end: 79
        line_start: 63
        source_file: /src/hostap/src/crypto/tls.h
- function_names:
  - sha512_vector
  - CONST64
  - Ch
  - Maj
  - S
  - R
  - Sigma0
  - Sigma1
  - Gamma0
  - Gamma1
  - ROR64c
  - sha512_compress
  - sha512_init
  - sha512_process
  - sha512_done
  source_file: /src/hostap/src/crypto/sha512-internal.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - HMAC_CTX_new
  - HMAC_CTX_free
  - EVP_MD_CTX_new
  - EVP_MD_CTX_free
  - EVP_PKEY_get0_EC_KEY
  - ECDSA_SIG_set0
  - ECDSA_SIG_get0
  - ASN1_STRING_get0_data
  - X509_get0_notBefore
  - X509_get0_notAfter
  - EC_POINT_get_affine_coordinates
  - EC_POINT_set_affine_coordinates
  - EC_POINT_set_compressed_coordinates
  - EC_GROUP_get_curve
  - openssl_disable_fips
  - openssl_load_legacy_provider
  - openssl_unload_legacy_provider
  - openssl_load_default_provider_if_fips
  - openssl_unload_default_provider
  - get_group5_prime
  - get_group5_order
  - openssl_digest_vector
  - openssl_need_md5
  - md4_vector
  - des_encrypt
  - rc4_skip
  - md5_vector
  - sha1_vector
  - sha256_vector
  - sha384_vector
  - sha512_vector
  - aes_get_evp_cipher
  - aes_encrypt_init
  - aes_encrypt
  - aes_encrypt_deinit
  - aes_decrypt_init
  - aes_decrypt
  - aes_decrypt_deinit
  - aes_get_evp_wrap_cipher
  - aes_wrap
  - aes_unwrap
  - aes_128_cbc_encrypt
  - aes_128_cbc_decrypt
  - crypto_dh_init
  - crypto_dh_derive_secret
  - crypto_mod_exp
  - crypto_cipher_init
  - crypto_cipher_encrypt
  - crypto_cipher_decrypt
  - crypto_cipher_deinit
  - dh5_init
  - dh5_init_fixed
  - dh5_derive_shared
  - dh5_free
  - crypto_hash_init
  - crypto_hash_update
  - crypto_hash_finish
  - openssl_hmac_vector
  - hmac_md5_vector
  - hmac_md5
  - hmac_sha1_vector
  - hmac_sha1
  - hmac_sha256_vector
  - hmac_sha256
  - hmac_sha384_vector
  - hmac_sha384
  - hmac_sha512_vector
  - hmac_sha512
  - openssl_hmac_vector
  - hmac_md5_vector
  - hmac_md5
  - hmac_sha1_vector
  - hmac_sha1
  - hmac_sha256_vector
  - hmac_sha256
  - hmac_sha384_vector
  - hmac_sha384
  - hmac_sha512_vector
  - hmac_sha512
  - pbkdf2_sha1
  - pbkdf2_sha256
  - pbkdf2_sha384
  - crypto_get_random
  - omac1_aes_vector
  - omac1_aes_128_vector
  - omac1_aes_128
  - omac1_aes_256
  - crypto_bignum_init
  - crypto_bignum_init_set
  - crypto_bignum_init_uint
  - crypto_bignum_deinit
  - crypto_bignum_to_bin
  - crypto_bignum_rand
  - crypto_bignum_add
  - crypto_bignum_mod
  - crypto_bignum_exptmod
  - crypto_bignum_inverse
  - crypto_bignum_sub
  - crypto_bignum_div
  - crypto_bignum_addmod
  - crypto_bignum_mulmod
  - crypto_bignum_sqrmod
  - crypto_bignum_rshift
  - crypto_bignum_cmp
  - crypto_bignum_is_zero
  - crypto_bignum_is_one
  - crypto_bignum_is_odd
  - crypto_bignum_legendre
  - crypto_ec_group_2_nid
  - crypto_ec_group_2_name
  - crypto_ec_init
  - crypto_ec_deinit
  - crypto_ec_point_init
  - crypto_ec_prime_len
  - crypto_ec_prime_len_bits
  - crypto_ec_order_len
  - crypto_ec_get_prime
  - crypto_ec_get_order
  - crypto_ec_get_a
  - crypto_ec_get_b
  - crypto_ec_get_generator
  - crypto_ec_point_deinit
  - crypto_ec_point_x
  - crypto_ec_point_to_bin
  - crypto_ec_point_from_bin
  - crypto_ec_point_add
  - crypto_ec_point_mul
  - crypto_ec_point_invert
  - crypto_ec_point_compute_y_sqr
  - crypto_ec_point_is_at_infinity
  - crypto_ec_point_is_on_curve
  - crypto_ec_point_cmp
  - crypto_ec_point_debug_print
  - crypto_ecdh_init
  - crypto_ecdh_init2
  - crypto_ecdh_get_pubkey
  - crypto_ecdh_set_peerkey
  - crypto_ecdh_deinit
  - crypto_ecdh_prime_len
  - crypto_ec_key_parse_priv
  - crypto_ec_key_set_priv
  - crypto_ec_key_parse_pub
  - crypto_ec_key_set_pub
  - crypto_ec_key_set_pub_point
  - crypto_ec_key_gen
  - crypto_ec_key_deinit
  - crypto_ec_key_get_subject_public_key
  - crypto_ec_key_get_ecprivate_key
  - crypto_ec_key_get_pubkey_point
  - crypto_ec_key_get_public_key
  - crypto_ec_key_get_private_key
  - crypto_ec_key_sign
  - openssl_evp_pkey_ec_prime_len
  - crypto_ec_key_sign_r_s
  - crypto_ec_key_verify_signature
  - crypto_ec_key_verify_signature_r_s
  - crypto_ec_key_group
  - crypto_ec_key_cmp
  - crypto_ec_key_debug_print
  - crypto_pkcs7_get_certificates
  - crypto_csr_init
  - crypto_csr_verify
  - crypto_csr_deinit
  - crypto_csr_set_ec_public_key
  - crypto_csr_set_name
  - crypto_csr_set_attribute
  - crypto_csr_get_attribute
  - crypto_csr_sign
  - crypto_rsa_key_read_public
  - crypto_rsa_key_read
  - crypto_rsa_oaep_sha256_encrypt
  - crypto_rsa_oaep_sha256_decrypt
  - crypto_rsa_key_free
  - hpke_free_context
  - hpke_get_context
  - hpke_suite_id
  - hpke_labeled_extract
  - hpke_labeled_expand
  - hpke_extract_and_expand
  - hpke_key_schedule
  - hpke_encap
  - hpke_aead_seal
  - hpke_base_seal_int
  - hpke_decap
  - hpke_aead_open
  - hpke_base_open_int
  - hpke_set_suite
  - hpke_base_seal
  - hpke_base_open
  - hpke_base_seal
  - hpke_base_open
  - crypto_unload
  source_file: /src/hostap/src/crypto/crypto_openssl.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HPKE_MAX_SHARED_SECRET_LEN
      pos:
        line_end: 4732
        line_start: 4731
        source_file: /src/hostap/src/crypto/crypto_openssl.c
      type_or_value: '66'
    - item_type: preproc_def
      name: HPKE_MAX_HASH_LEN
      pos:
        line_end: 4733
        line_start: 4732
        source_file: /src/hostap/src/crypto/crypto_openssl.c
      type_or_value: '64'
    - item_type: preproc_def
      name: HPKE_MAX_KEY_LEN
      pos:
        line_end: 4734
        line_start: 4733
        source_file: /src/hostap/src/crypto/crypto_openssl.c
      type_or_value: '32'
    - item_type: preproc_def
      name: HPKE_MAX_NONCE_LEN
      pos:
        line_end: 4735
        line_start: 4734
        source_file: /src/hostap/src/crypto/crypto_openssl.c
      type_or_value: '12'
    - item_type: preproc_def
      name: HPKE_MAX_PUB_LEN
      pos:
        line_end: 4736
        line_start: 4735
        source_file: /src/hostap/src/crypto/crypto_openssl.c
      type_or_value: (1 + 2 * 66)
    structs:
    - fields:
      - name: '*enc'
        type: EVP_CIPHER_CTX
      - name: '*dec'
        type: EVP_CIPHER_CTX
      item_type: struct
      name: crypto_cipher
      pos:
        line_end: 913
        line_start: 910
        source_file: /src/hostap/src/crypto/crypto_openssl.c
    - fields:
      - name: failed
        type: bool
      item_type: struct
      name: crypto_hash
      pos:
        line_end: 1391
        line_start: 1384
        source_file: /src/hostap/src/crypto/crypto_openssl.c
    - fields:
      - name: '*group'
        type: EC_GROUP
      - name: nid
        type: int
      - name: iana_group
        type: int
      - name: '*bnctx'
        type: BN_CTX
      - name: '*prime'
        type: BIGNUM
      - name: '*order'
        type: BIGNUM
      - name: '*a'
        type: BIGNUM
      - name: '*b'
        type: BIGNUM
      item_type: struct
      name: crypto_ec
      pos:
        line_end: 2376
        line_start: 2367
        source_file: /src/hostap/src/crypto/crypto_openssl.c
    - fields:
      - name: '*ec'
        type: struct crypto_ec
      - name: '*pkey'
        type: EVP_PKEY
      item_type: struct
      name: crypto_ecdh
      pos:
        line_end: 2756
        line_start: 2753
        source_file: /src/hostap/src/crypto/crypto_openssl.c
    - fields:
      - name: '*alg'
        type: X509_ALGOR
      - name: '*pub_key'
        type: ASN1_BIT_STRING
      item_type: struct
      name: EC_COMP_PUBKEY
      pos:
        line_end: 3628
        line_start: 3622
        source_file: /src/hostap/src/crypto/crypto_openssl.c
    - fields:
      - name: kem_id
        type: enum hpke_kem_id
      - name: kem_nid
        type: int
      - name: iana_group
        type: int
      - name: n_pk
        type: size_t
      - name: n_secret
        type: size_t
      - name: '*kem_h'
        type: EVP_MD
      - name: kem_n_h
        type: size_t
      - name: kdf_id
        type: enum hpke_kdf_id
      - name: '*kdf_h'
        type: EVP_MD
      - name: n_h
        type: size_t
      - name: aead_id
        type: enum hpke_aead_id
      - name: '*cipher'
        type: EVP_CIPHER
      - name: n_k
        type: size_t
      - name: n_n
        type: size_t
      - name: n_t
        type: size_t
      - name: key[HPKE_MAX_KEY_LEN]
        type: u8
      - name: base_nonce[HPKE_MAX_NONCE_LEN]
        type: u8
      item_type: struct
      name: hpke_context
      pos:
        line_end: 4760
        line_start: 4737
        source_file: /src/hostap/src/crypto/crypto_openssl.c
    typedefs: []
    union: []
- function_names:
  - ROLc
  - RORc
  - cookey
  - deskey
  - desfunc
  - des_encrypt
  - des_key_setup
  - des_block_encrypt
  - des_block_decrypt
  - des3_key_setup
  - des3_encrypt
  - des3_decrypt
  source_file: /src/hostap/src/crypto/des-internal.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - DH_GROUP
  - dh_groups_get
  - dh_init
  - dh_derive_shared
  source_file: /src/hostap/src/crypto/dh_groups.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NUM_DH_GROUPS
      pos:
        line_end: 1172
        line_start: 1171
        source_file: /src/hostap/src/crypto/dh_groups.c
      type_or_value: ARRAY_SIZE(dh_groups)
    structs: []
    typedefs: []
    union: []
- function_names:
  - milenage_f1
  - milenage_f2345
  - milenage_generate
  - milenage_auts
  - gsm_milenage
  - milenage_check
  source_file: /src/hostap/src/crypto/milenage.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/crypto/md5_i.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: buf[4]
        type: u32
      - name: bits[2]
        type: u32
      - name: in[64]
        type: u8
      item_type: struct
      name: MD5Context
      pos:
        line_end: 15
        line_start: 11
        source_file: /src/hostap/src/crypto/md5_i.h
    typedefs: []
    union: []
- function_names:
  - tls_init
  - tls_deinit
  - tls_get_errors
  - tls_connection_init
  - tls_connection_set_test_flags
  - tls_connection_set_log_cb
  - tls_connection_deinit
  - tls_connection_established
  - tls_connection_peer_serial_num
  - tls_connection_shutdown
  - tls_connection_set_params
  - tls_global_set_params
  - tls_global_set_verify
  - tls_connection_set_verify
  - tls_connection_get_random
  - tls_get_keyblock_size
  - tls_connection_prf
  - tls_connection_export_key
  - tls_connection_get_eap_fast_key
  - tls_connection_handshake
  - tls_connection_handshake2
  - tls_connection_server_handshake
  - tls_connection_encrypt
  - tls_connection_decrypt
  - tls_connection_decrypt2
  - tls_connection_resumed
  - tls_connection_set_cipher_list
  - tls_get_version
  - tls_get_cipher
  - tls_connection_enable_workaround
  - tls_connection_client_hello_ext
  - tls_connection_get_failed
  - tls_connection_get_read_alerts
  - tls_connection_get_write_alerts
  - tls_connection_set_session_ticket_cb
  - tls_get_library_version
  - tls_connection_set_success_data
  - tls_connection_set_success_data_resumed
  - tls_connection_get_success_data
  - tls_connection_remove_session
  source_file: /src/hostap/src/crypto/tls_internal.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: server
        type: int
      - name: '*server_cred'
        type: struct tlsv1_credentials
      - name: check_crl
        type: int
      - name: "(*event_cb)(void *ctx, enum tls_event ev,\n\t\t\t union tls_event_data
          *data)"
        type: void
      - name: '*cb_ctx'
        type: void
      - name: cert_in_cb
        type: int
      item_type: struct
      name: tls_global
      pos:
        line_end: 30
        line_start: 21
        source_file: /src/hostap/src/crypto/tls_internal.c
    - fields:
      - name: '*client'
        type: struct tlsv1_client
      - name: '*server'
        type: struct tlsv1_server
      - name: '*global'
        type: struct tls_global
      item_type: struct
      name: tls_connection
      pos:
        line_end: 36
        line_start: 32
        source_file: /src/hostap/src/crypto/tls_internal.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/crypto/des_i.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: ek[3][32]
        type: u32
      - name: dk[3][32]
        type: u32
      item_type: struct
      name: des3_key_s
      pos:
        line_end: 14
        line_start: 11
        source_file: /src/hostap/src/crypto/des_i.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/crypto/sha256.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SHA256_MAC_LEN
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/hostap/src/crypto/sha256.h
      type_or_value: '32'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/crypto/sha512_i.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SHA512_BLOCK_SIZE
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/hostap/src/crypto/sha512_i.h
      type_or_value: '128'
    structs:
    - fields:
      - name: length
        type: u64
      - name: curlen
        type: u32
      - name: buf[SHA512_BLOCK_SIZE]
        type: u8
      item_type: struct
      name: sha512_state
      pos:
        line_end: 17
        line_start: 13
        source_file: /src/hostap/src/crypto/sha512_i.h
    typedefs: []
    union: []
- function_names:
  - rijndaelKeySetupDec
  - aes_decrypt_init
  - rijndaelDecrypt
  - ROUND
  - aes_decrypt
  - aes_decrypt_deinit
  source_file: /src/hostap/src/crypto/aes-internal-dec.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/crypto/aes.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: AES_BLOCK_SIZE
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/hostap/src/crypto/aes.h
      type_or_value: '16'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/crypto/aes_siv.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - hmac_sha256_vector
  - hmac_sha256
  source_file: /src/hostap/src/crypto/sha256.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sha1_t_prf
  source_file: /src/hostap/src/crypto/sha1-tprf.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rijndaelEncrypt
  - ROUND
  - aes_encrypt_init
  - aes_encrypt
  - aes_encrypt_deinit
  source_file: /src/hostap/src/crypto/aes-internal-enc.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/eap_server/eap_sim_db.h
  types:
    enum:
    - enumerators:
      - name: EAP_SIM_DB_SIM
      - name: EAP_SIM_DB_AKA_PRIME
      - name: EAP_SIM_DB_AKA
      item_type: enum
      name: eap_sim_db_method
      pos:
        line_end: 28
        line_start: 24
        source_file: /src/hostap/src/eap_server/eap_sim_db.h
    preproc_defs:
    - item_type: preproc_def
      name: EAP_SIM_PERMANENT_PREFIX
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/hostap/src/eap_server/eap_sim_db.h
      type_or_value: '''1'''
    - item_type: preproc_def
      name: EAP_SIM_PSEUDONYM_PREFIX
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/hostap/src/eap_server/eap_sim_db.h
      type_or_value: '''3'''
    - item_type: preproc_def
      name: EAP_SIM_REAUTH_ID_PREFIX
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/hostap/src/eap_server/eap_sim_db.h
      type_or_value: '''5'''
    - item_type: preproc_def
      name: EAP_AKA_PERMANENT_PREFIX
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/hostap/src/eap_server/eap_sim_db.h
      type_or_value: '''0'''
    - item_type: preproc_def
      name: EAP_AKA_PSEUDONYM_PREFIX
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/hostap/src/eap_server/eap_sim_db.h
      type_or_value: '''2'''
    - item_type: preproc_def
      name: EAP_AKA_REAUTH_ID_PREFIX
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/hostap/src/eap_server/eap_sim_db.h
      type_or_value: '''4'''
    - item_type: preproc_def
      name: EAP_AKA_PRIME_PERMANENT_PREFIX
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/hostap/src/eap_server/eap_sim_db.h
      type_or_value: '''6'''
    - item_type: preproc_def
      name: EAP_AKA_PRIME_PSEUDONYM_PREFIX
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/hostap/src/eap_server/eap_sim_db.h
      type_or_value: '''7'''
    - item_type: preproc_def
      name: EAP_AKA_PRIME_REAUTH_ID_PREFIX
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/hostap/src/eap_server/eap_sim_db.h
      type_or_value: '''8'''
    - item_type: preproc_def
      name: EAP_SIM_DB_FAILURE
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/hostap/src/eap_server/eap_sim_db.h
      type_or_value: '-1'
    - item_type: preproc_def
      name: EAP_SIM_DB_PENDING
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/hostap/src/eap_server/eap_sim_db.h
      type_or_value: '-2'
    structs:
    - fields:
      - name: '*next'
        type: struct eap_sim_reauth
      - name: '*permanent'
        type: char
      - name: '*reauth_id'
        type: char
      - name: counter
        type: u16
      - name: mk[EAP_SIM_MK_LEN]
        type: u8
      - name: k_encr[EAP_SIM_K_ENCR_LEN]
        type: u8
      - name: k_aut[EAP_AKA_PRIME_K_AUT_LEN]
        type: u8
      - name: k_re[EAP_AKA_PRIME_K_RE_LEN]
        type: u8
      item_type: struct
      name: eap_sim_reauth
      pos:
        line_end: 75
        line_start: 66
        source_file: /src/hostap/src/eap_server/eap_sim_db.h
    typedefs: []
    union: []
- function_names:
  - eap_md5_init
  - eap_md5_reset
  - eap_md5_buildReq
  - eap_md5_check
  - eap_md5_process
  - eap_md5_isDone
  - eap_md5_isSuccess
  - eap_server_md5_register
  source_file: /src/hostap/src/eap_server/eap_server_md5.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CHALLENGE_LEN
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/hostap/src/eap_server/eap_server_md5.c
      type_or_value: '16'
    structs:
    - fields:
      - name: challenge[CHALLENGE_LEN]
        type: u8
      - name: state
        type: enum { CONTINUE, SUCCESS, FAILURE }
      item_type: struct
      name: eap_md5_data
      pos:
        line_end: 21
        line_start: 18
        source_file: /src/hostap/src/eap_server/eap_server_md5.c
    typedefs: []
    union: []
- function_names:
  - eap_peap_state_txt
  - eap_peap_state
  - eap_peap_valid_session
  - eap_peap_req_success
  - eap_peap_req_failure
  - eap_peap_init
  - eap_peap_reset
  - eap_peap_build_start
  - eap_peap_build_phase2_req
  - eap_peap_build_phase2_soh
  - eap_peap_get_isk
  - eap_peap_derive_cmk
  - eap_peap_build_phase2_tlv
  - eap_peap_build_phase2_term
  - eap_peap_buildReq
  - eap_peap_check
  - eap_peap_phase2_init
  - eap_tlv_validate_cryptobinding
  - eap_peap_process_phase2_tlv
  - eap_peap_process_phase2_soh
  - eap_peap_process_phase2_response
  - eap_peap_process_phase2
  - eap_peap_process_version
  - eap_peap_process_msg
  - eap_peap_process
  - eap_peap_isDone
  - eap_peap_getKey
  - eap_peap_get_emsk
  - eap_peap_isSuccess
  - eap_peap_get_session_id
  - eap_server_peap_register
  source_file: /src/hostap/src/eap_server/eap_server_peap.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EAP_PEAP_VERSION
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/hostap/src/eap_server/eap_server_peap.c
      type_or_value: '1'
    structs:
    - fields:
      - name: ssl
        type: struct eap_ssl_data
      - name: state
        type: "enum {\n\t\tSTART, PHASE1, PHASE1_ID2, PHASE2_START, PHASE2_ID,\n\t\tPHASE2_METHOD,
          PHASE2_SOH,\n\t\tPHASE2_TLV, SUCCESS_REQ, FAILURE_REQ, SUCCESS, FAILURE\n\t}"
      - name: peap_version
        type: int
      - name: recv_version
        type: int
      - name: '*phase2_method'
        type: struct eap_method
      - name: '*phase2_priv'
        type: void
      - name: force_version
        type: int
      - name: '*pending_phase2_resp'
        type: struct wpabuf
      - name: tlv_request
        type: enum { TLV_REQ_NONE, TLV_REQ_SUCCESS, TLV_REQ_FAILURE }
      - name: crypto_binding_sent
        type: int
      - name: crypto_binding_used
        type: int
      - name: crypto_binding
        type: enum { NO_BINDING, OPTIONAL_BINDING, REQUIRE_BINDING }
      - name: binding_nonce[32]
        type: u8
      - name: ipmk[40]
        type: u8
      - name: cmk[20]
        type: u8
      - name: '*phase2_key'
        type: u8
      - name: phase2_key_len
        type: size_t
      - name: '*soh_response'
        type: struct wpabuf
      item_type: struct
      name: eap_peap_data
      pos:
        line_end: 55
        line_start: 31
        source_file: /src/hostap/src/eap_server/eap_server_peap.c
    typedefs: []
    union: []
- function_names:
  - eap_mschapv2_init
  - eap_mschapv2_reset
  - eap_mschapv2_build_challenge
  - eap_mschapv2_build_success_req
  - eap_mschapv2_build_failure_req
  - eap_mschapv2_buildReq
  - eap_mschapv2_check
  - eap_mschapv2_process_response
  - eap_mschapv2_process_success_resp
  - eap_mschapv2_process_failure_resp
  - eap_mschapv2_process
  - eap_mschapv2_isDone
  - eap_mschapv2_getKey
  - eap_mschapv2_isSuccess
  - eap_server_mschapv2_register
  source_file: /src/hostap/src/eap_server/eap_server_mschapv2.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MSCHAPV2_OP_CHALLENGE
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/hostap/src/eap_server/eap_server_mschapv2.c
      type_or_value: '1'
    - item_type: preproc_def
      name: MSCHAPV2_OP_RESPONSE
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/hostap/src/eap_server/eap_server_mschapv2.c
      type_or_value: '2'
    - item_type: preproc_def
      name: MSCHAPV2_OP_SUCCESS
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/hostap/src/eap_server/eap_server_mschapv2.c
      type_or_value: '3'
    - item_type: preproc_def
      name: MSCHAPV2_OP_FAILURE
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/hostap/src/eap_server/eap_server_mschapv2.c
      type_or_value: '4'
    - item_type: preproc_def
      name: MSCHAPV2_OP_CHANGE_PASSWORD
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/hostap/src/eap_server/eap_server_mschapv2.c
      type_or_value: '7'
    - item_type: preproc_def
      name: MSCHAPV2_RESP_LEN
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/hostap/src/eap_server/eap_server_mschapv2.c
      type_or_value: '49'
    - item_type: preproc_def
      name: ERROR_RESTRICTED_LOGON_HOURS
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/hostap/src/eap_server/eap_server_mschapv2.c
      type_or_value: '646'
    - item_type: preproc_def
      name: ERROR_ACCT_DISABLED
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/hostap/src/eap_server/eap_server_mschapv2.c
      type_or_value: '647'
    - item_type: preproc_def
      name: ERROR_PASSWD_EXPIRED
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/hostap/src/eap_server/eap_server_mschapv2.c
      type_or_value: '648'
    - item_type: preproc_def
      name: ERROR_NO_DIALIN_PERMISSION
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/hostap/src/eap_server/eap_server_mschapv2.c
      type_or_value: '649'
    - item_type: preproc_def
      name: ERROR_AUTHENTICATION_FAILURE
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/hostap/src/eap_server/eap_server_mschapv2.c
      type_or_value: '691'
    - item_type: preproc_def
      name: ERROR_CHANGING_PASSWORD
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/hostap/src/eap_server/eap_server_mschapv2.c
      type_or_value: '709'
    - item_type: preproc_def
      name: PASSWD_CHANGE_CHAL_LEN
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/hostap/src/eap_server/eap_server_mschapv2.c
      type_or_value: '16'
    - item_type: preproc_def
      name: MSCHAPV2_KEY_LEN
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/hostap/src/eap_server/eap_server_mschapv2.c
      type_or_value: '16'
    - item_type: preproc_def
      name: CHALLENGE_LEN
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/hostap/src/eap_server/eap_server_mschapv2.c
      type_or_value: '16'
    structs:
    - fields:
      - name: op_code
        type: u8
      - name: mschapv2_id
        type: u8
      - name: ms_length[2]
        type: u8
      item_type: struct
      name: eap_mschapv2_hdr
      pos:
        line_end: 22
        line_start: 16
        source_file: /src/hostap/src/eap_server/eap_server_mschapv2.c
    - fields:
      - name: auth_challenge[CHALLENGE_LEN]
        type: u8
      - name: auth_challenge_from_tls
        type: int
      - name: '*peer_challenge'
        type: u8
      - name: auth_response[20]
        type: u8
      - name: state
        type: enum { CHALLENGE, SUCCESS_REQ, FAILURE_REQ, SUCCESS, FAILURE }
      - name: resp_mschapv2_id
        type: u8
      - name: master_key[16]
        type: u8
      - name: master_key_valid
        type: int
      item_type: struct
      name: eap_mschapv2_data
      pos:
        line_end: 54
        line_start: 45
        source_file: /src/hostap/src/eap_server/eap_server_mschapv2.c
    typedefs: []
    union: []
- function_names:
  - eap_pax_init
  - eap_pax_reset
  - eap_pax_build_std_1
  - eap_pax_build_std_3
  - eap_pax_buildReq
  - eap_pax_check
  - eap_pax_process_std_2
  - eap_pax_process_ack
  - eap_pax_process
  - eap_pax_isDone
  - eap_pax_getKey
  - eap_pax_get_emsk
  - eap_pax_isSuccess
  - eap_pax_get_session_id
  - eap_server_pax_register
  source_file: /src/hostap/src/eap_server/eap_server_pax.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: state
        type: enum { PAX_STD_1, PAX_STD_3, SUCCESS, FAILURE }
      - name: mac_id
        type: u8
      - name: rand
        type: "union {\n\t\tu8 e[2 * EAP_PAX_RAND_LEN];\n\t\tstruct {\n\t\t\tu8 x[EAP_PAX_RAND_LEN];
          /* server rand */\n\t\t\tu8 y[EAP_PAX_RAND_LEN]; /* client rand */\n\t\t}
          r;\n\t}"
      - name: ak[EAP_PAX_AK_LEN]
        type: u8
      - name: mk[EAP_PAX_MK_LEN]
        type: u8
      - name: ck[EAP_PAX_CK_LEN]
        type: u8
      - name: ick[EAP_PAX_ICK_LEN]
        type: u8
      - name: mid[EAP_PAX_MID_LEN]
        type: u8
      - name: keys_set
        type: int
      - name: '*cid'
        type: char
      - name: cid_len
        type: size_t
      item_type: struct
      name: eap_pax_data
      pos:
        line_end: 42
        line_start: 24
        source_file: /src/hostap/src/eap_server/eap_server_pax.c
    typedefs: []
    union: []
- function_names:
  - db_table_exists
  - db_table_create_pseudonym
  - db_table_create_reauth
  - db_open
  - valid_db_string
  - db_add_pseudonym
  - get_pseudonym_cb
  - db_get_pseudonym
  - db_add_reauth
  - get_reauth_cb
  - db_get_reauth
  - db_remove_reauth
  - eap_sim_db_get_pending
  - eap_sim_db_add_pending
  - eap_sim_db_free_pending
  - eap_sim_db_del_pending
  - eap_sim_db_del_timeout
  - eap_sim_db_query_timeout
  - eap_sim_db_sim_resp_auth
  - eap_sim_db_aka_resp_auth
  - eap_sim_db_receive
  - eap_sim_db_open_socket
  - eap_sim_db_close_socket
  - eap_sim_db_init
  - eap_sim_db_free_pseudonym
  - eap_sim_db_free_reauth
  - eap_sim_db_deinit
  - eap_sim_db_send
  - eap_sim_db_expire_pending
  - eap_sim_db_get_gsm_triplets
  - eap_sim_db_get_next
  - eap_sim_db_get_next_pseudonym
  - eap_sim_db_get_next_reauth_id
  - eap_sim_db_add_pseudonym
  - eap_sim_db_add_reauth_data
  - eap_sim_db_add_reauth
  - eap_sim_db_add_reauth_prime
  - eap_sim_db_get_permanent
  - eap_sim_db_get_reauth_entry
  - eap_sim_db_remove_reauth
  - eap_sim_db_get_aka_auth
  - eap_sim_db_resynchronize
  - sim_get_username
  source_file: /src/hostap/src/eap_server/eap_sim_db.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*next'
        type: struct eap_sim_pseudonym
      - name: '*permanent'
        type: char
      - name: '*pseudonym'
        type: char
      item_type: struct
      name: eap_sim_pseudonym
      pos:
        line_end: 33
        line_start: 29
        source_file: /src/hostap/src/eap_server/eap_sim_db.c
    - fields:
      - name: '*next'
        type: struct eap_sim_db_pending
      - name: imsi[20]
        type: char
      - name: state
        type: enum { PENDING, SUCCESS, FAILURE }
      - name: '*cb_session_ctx'
        type: void
      - name: aka
        type: int
      - name: u
        type: "union {\n\t\tstruct {\n\t\t\tu8 kc[EAP_SIM_MAX_CHAL][EAP_SIM_KC_LEN];\n\t\t\tu8
          sres[EAP_SIM_MAX_CHAL][EAP_SIM_SRES_LEN];\n\t\t\tu8 rand[EAP_SIM_MAX_CHAL][GSM_RAND_LEN];\n\t\t\tint
          num_chal;\n\t\t} sim;\n\t\tstruct {\n\t\t\tu8 rand[EAP_AKA_RAND_LEN];\n\t\t\tu8
          autn[EAP_AKA_AUTN_LEN];\n\t\t\tu8 ik[EAP_AKA_IK_LEN];\n\t\t\tu8 ck[EAP_AKA_CK_LEN];\n\t\t\tu8
          res[EAP_AKA_RES_MAX_LEN];\n\t\t\tsize_t res_len;\n\t\t} aka;\n\t}"
      item_type: struct
      name: eap_sim_db_pending
      pos:
        line_end: 57
        line_start: 35
        source_file: /src/hostap/src/eap_server/eap_sim_db.c
    - fields:
      - name: sock
        type: int
      - name: '*fname'
        type: char
      - name: '*local_sock'
        type: char
      - name: (*get_complete_cb)(void *ctx, void *session_ctx)
        type: void
      - name: '*ctx'
        type: void
      - name: '*pseudonyms'
        type: struct eap_sim_pseudonym
      - name: '*reauths'
        type: struct eap_sim_reauth
      - name: '*pending'
        type: struct eap_sim_db_pending
      - name: eap_sim_db_timeout
        type: unsigned int
      item_type: struct
      name: eap_sim_db_data
      pos:
        line_end: 76
        line_start: 59
        source_file: /src/hostap/src/eap_server/eap_sim_db.c
    typedefs: []
    union: []
- function_names:
  - eap_tls_state_txt
  - eap_tls_state
  - eap_tls_valid_session
  - eap_tls_init
  - eap_unauth_tls_init
  - eap_tls_reset
  - eap_tls_build_start
  - eap_tls_buildReq
  - eap_tls_check
  - eap_tls_process_msg
  - eap_tls_process
  - eap_tls_isDone
  - eap_tls_getKey
  - eap_tls_get_emsk
  - eap_tls_isSuccess
  - eap_tls_get_session_id
  - eap_server_tls_register
  - eap_server_unauth_tls_register
  source_file: /src/hostap/src/eap_server/eap_server_tls.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: ssl
        type: struct eap_ssl_data
      - name: state
        type: enum { START, CONTINUE, SUCCESS, FAILURE }
      - name: established
        type: int
      - name: eap_type
        type: u8
      - name: phase2
        type: int
      item_type: struct
      name: eap_tls_data
      pos:
        line_end: 25
        line_start: 19
        source_file: /src/hostap/src/eap_server/eap_server_tls.c
    typedefs: []
    union: []
- function_names:
  - eap_sim_state_txt
  - eap_sim_state
  - eap_sim_init
  - eap_sim_reset
  - eap_sim_build_start
  - eap_sim_build_encr
  - eap_sim_build_challenge
  - eap_sim_build_reauth
  - eap_sim_build_notification
  - eap_sim_buildReq
  - eap_sim_check
  - eap_sim_unexpected_subtype
  - eap_sim_supported_ver
  - eap_sim_process_start
  - eap_sim_process_challenge
  - eap_sim_process_reauth
  - eap_sim_process_client_error
  - eap_sim_process_notification
  - eap_sim_process
  - eap_sim_isDone
  - eap_sim_getKey
  - eap_sim_get_emsk
  - eap_sim_isSuccess
  - eap_sim_get_session_id
  - eap_server_sim_register
  source_file: /src/hostap/src/eap_server/eap_server_sim.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: mk[EAP_SIM_MK_LEN]
        type: u8
      - name: nonce_mt[EAP_SIM_NONCE_MT_LEN]
        type: u8
      - name: nonce_s[EAP_SIM_NONCE_S_LEN]
        type: u8
      - name: k_aut[EAP_SIM_K_AUT_LEN]
        type: u8
      - name: k_encr[EAP_SIM_K_ENCR_LEN]
        type: u8
      - name: msk[EAP_SIM_KEYING_DATA_LEN]
        type: u8
      - name: emsk[EAP_EMSK_LEN]
        type: u8
      - name: kc[EAP_SIM_MAX_CHAL][EAP_SIM_KC_LEN]
        type: u8
      - name: sres[EAP_SIM_MAX_CHAL][EAP_SIM_SRES_LEN]
        type: u8
      - name: rand[EAP_SIM_MAX_CHAL][GSM_RAND_LEN]
        type: u8
      - name: reauth_mac[EAP_SIM_MAC_LEN]
        type: u8
      - name: num_chal
        type: int
      - name: state
        type: "enum {\n\t\tSTART, CHALLENGE, REAUTH, NOTIFICATION, SUCCESS, FAILURE\n\t}"
      - name: '*next_pseudonym'
        type: char
      - name: '*next_reauth_id'
        type: char
      - name: counter
        type: u16
      - name: '*reauth'
        type: struct eap_sim_reauth
      - name: notification
        type: u16
      - name: use_result_ind
        type: int
      - name: start_round
        type: int
      - name: permanent[20]
        type: char
      item_type: struct
      name: eap_sim_data
      pos:
        line_end: 43
        line_start: 19
        source_file: /src/hostap/src/eap_server/eap_server_sim.c
    typedefs: []
    union: []
- function_names:
  - eap_tls_msg_alloc
  - eap_server_tls_log_cb
  - eap_server_tls_ssl_init
  - eap_server_tls_ssl_deinit
  - eap_server_tls_derive_key
  - eap_server_tls_derive_session_id
  - eap_server_tls_build_msg
  - eap_server_tls_build_ack
  - eap_server_tls_process_cont
  - eap_server_tls_process_fragment
  - eap_server_tls_phase1
  - eap_server_tls_reassemble
  - eap_server_tls_free_in_buf
  - eap_server_tls_encrypt
  - eap_server_tls_process
  source_file: /src/hostap/src/eap_server/eap_server_tls_common.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - eap_pwd_state_txt
  - eap_pwd_state
  - eap_pwd_init
  - eap_pwd_reset
  - eap_pwd_build_id_req
  - eap_pwd_build_commit_req
  - eap_pwd_build_confirm_req
  - eap_pwd_build_req
  - eap_pwd_check
  - eap_pwd_process_id_resp
  - eap_pwd_process_commit_resp
  - eap_pwd_process_confirm_resp
  - eap_pwd_process
  - eap_pwd_getkey
  - eap_pwd_get_emsk
  - eap_pwd_is_success
  - eap_pwd_is_done
  - eap_pwd_get_session_id
  - eap_server_pwd_register
  source_file: /src/hostap/src/eap_server/eap_server_pwd.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: state
        type: "enum {\n\t\tPWD_ID_Req, PWD_Commit_Req, PWD_Confirm_Req, SUCCESS, FAILURE\n\t}"
      - name: '*id_peer'
        type: u8
      - name: id_peer_len
        type: size_t
      - name: '*id_server'
        type: u8
      - name: id_server_len
        type: size_t
      - name: '*password'
        type: u8
      - name: password_len
        type: size_t
      - name: password_hash
        type: int
      - name: '*salt'
        type: u8
      - name: salt_len
        type: size_t
      - name: token
        type: u32
      - name: group_num
        type: u16
      - name: password_prep
        type: u8
      - name: '*grp'
        type: EAP_PWD_group
      - name: '*inbuf'
        type: struct wpabuf
      - name: in_frag_pos
        type: size_t
      - name: '*outbuf'
        type: struct wpabuf
      - name: out_frag_pos
        type: size_t
      - name: mtu
        type: size_t
      - name: '*k'
        type: struct crypto_bignum
      - name: '*private_value'
        type: struct crypto_bignum
      - name: '*peer_scalar'
        type: struct crypto_bignum
      - name: '*my_scalar'
        type: struct crypto_bignum
      - name: '*my_element'
        type: struct crypto_ec_point
      - name: '*peer_element'
        type: struct crypto_ec_point
      - name: my_confirm[SHA256_MAC_LEN]
        type: u8
      - name: msk[EAP_MSK_LEN]
        type: u8
      - name: emsk[EAP_EMSK_LEN]
        type: u8
      - name: session_id[1 + SHA256_MAC_LEN]
        type: u8
      item_type: struct
      name: eap_pwd_data
      pos:
        line_end: 54
        line_start: 18
        source_file: /src/hostap/src/eap_server/eap_server_pwd.c
    typedefs: []
    union: []
- function_names:
  - eap_gpsk_state_txt
  - eap_gpsk_state
  - eap_gpsk_init
  - eap_gpsk_reset
  - eap_gpsk_build_gpsk_1
  - eap_gpsk_build_gpsk_3
  - eap_gpsk_buildReq
  - eap_gpsk_check
  - eap_gpsk_process_gpsk_2
  - eap_gpsk_process_gpsk_4
  - eap_gpsk_process
  - eap_gpsk_isDone
  - eap_gpsk_getKey
  - eap_gpsk_get_emsk
  - eap_gpsk_isSuccess
  - eap_gpsk_get_session_id
  - eap_server_gpsk_register
  source_file: /src/hostap/src/eap_server/eap_server_gpsk.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_NUM_CSUITES
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/hostap/src/eap_server/eap_server_gpsk.c
      type_or_value: '2'
    structs:
    - fields:
      - name: state
        type: enum { GPSK_1, GPSK_3, SUCCESS, FAILURE }
      - name: rand_server[EAP_GPSK_RAND_LEN]
        type: u8
      - name: rand_peer[EAP_GPSK_RAND_LEN]
        type: u8
      - name: msk[EAP_MSK_LEN]
        type: u8
      - name: emsk[EAP_EMSK_LEN]
        type: u8
      - name: sk[EAP_GPSK_MAX_SK_LEN]
        type: u8
      - name: sk_len
        type: size_t
      - name: pk[EAP_GPSK_MAX_PK_LEN]
        type: u8
      - name: pk_len
        type: size_t
      - name: session_id[128]
        type: u8
      - name: id_len
        type: size_t
      - name: '*id_peer'
        type: u8
      - name: id_peer_len
        type: size_t
      - name: csuite_list[MAX_NUM_CSUITES]
        type: struct eap_gpsk_csuite
      - name: csuite_count
        type: size_t
      - name: vendor
        type: int
      - name: specifier
        type: int
      item_type: struct
      name: eap_gpsk_data
      pos:
        line_end: 35
        line_start: 16
        source_file: /src/hostap/src/eap_server/eap_server_gpsk.c
    typedefs: []
    union: []
- function_names:
  - eap_wsc_state_txt
  - eap_wsc_state
  - eap_wsc_ext_reg_timeout
  - eap_wsc_init
  - eap_wsc_reset
  - eap_wsc_build_start
  - eap_wsc_build_msg
  - eap_wsc_buildReq
  - eap_wsc_check
  - eap_wsc_process_cont
  - eap_wsc_process_fragment
  - eap_wsc_process
  - eap_wsc_isDone
  - eap_wsc_isSuccess
  - eap_wsc_getTimeout
  - eap_server_wsc_register
  source_file: /src/hostap/src/eap_server/eap_server_wsc.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: state
        type: enum { START, MESG, FRAG_ACK, WAIT_FRAG_ACK, DONE, FAIL }
      - name: registrar
        type: int
      - name: '*in_buf'
        type: struct wpabuf
      - name: '*out_buf'
        type: struct wpabuf
      - name: in_op_code
        type: enum wsc_op_code
      - name: out_used
        type: size_t
      - name: fragment_size
        type: size_t
      - name: '*wps'
        type: struct wps_data
      - name: ext_reg_timeout
        type: int
      item_type: struct
      name: eap_wsc_data
      pos:
        line_end: 28
        line_start: 18
        source_file: /src/hostap/src/eap_server/eap_server_wsc.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/eap_server/ikev2.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: proposal_num
        type: u8
      - name: integ
        type: int
      - name: prf
        type: int
      - name: encr
        type: int
      - name: dh
        type: int
      item_type: struct
      name: ikev2_proposal_data
      pos:
        line_end: 19
        line_start: 13
        source_file: /src/hostap/src/eap_server/ikev2.h
    - fields:
      - name: state
        type: enum { SA_INIT, SA_AUTH, CHILD_SA, IKEV2_DONE }
      - name: i_spi[IKEV2_SPI_LEN]
        type: u8
      - name: r_spi[IKEV2_SPI_LEN]
        type: u8
      - name: i_nonce[IKEV2_NONCE_MAX_LEN]
        type: u8
      - name: i_nonce_len
        type: size_t
      - name: r_nonce[IKEV2_NONCE_MAX_LEN]
        type: u8
      - name: r_nonce_len
        type: size_t
      - name: '*r_dh_public'
        type: struct wpabuf
      - name: '*i_dh_private'
        type: struct wpabuf
      - name: proposal
        type: struct ikev2_proposal_data
      - name: '*dh'
        type: struct dh_group
      - name: keys
        type: struct ikev2_keys
      - name: '*IDi'
        type: u8
      - name: IDi_len
        type: size_t
      - name: '*IDr'
        type: u8
      - name: IDr_len
        type: size_t
      - name: IDr_type
        type: u8
      - name: '*r_sign_msg'
        type: struct wpabuf
      - name: '*i_sign_msg'
        type: struct wpabuf
      - name: '*shared_secret'
        type: u8
      - name: shared_secret_len
        type: size_t
      - name: peer_auth
        type: enum { PEER_AUTH_CERT, PEER_AUTH_SECRET }
      - name: '*key_pad'
        type: u8
      - name: key_pad_len
        type: size_t
      - name: "* (*get_shared_secret)(void *ctx, const u8 *IDr,\n\t\t\t\t\tsize_t
          IDr_len, size_t *secret_len)"
        type: u8
      - name: '*cb_ctx'
        type: void
      - name: unknown_user
        type: int
      item_type: struct
      name: ikev2_initiator_data
      pos:
        line_end: 52
        line_start: 22
        source_file: /src/hostap/src/eap_server/ikev2.h
    typedefs: []
    union: []
- function_names:
  - eap_ikev2_get_shared_secret
  - eap_ikev2_state_txt
  - eap_ikev2_state
  - eap_ikev2_init
  - eap_ikev2_reset
  - eap_ikev2_build_msg
  - eap_ikev2_buildReq
  - eap_ikev2_check
  - eap_ikev2_process_icv
  - eap_ikev2_process_cont
  - eap_ikev2_process_fragment
  - eap_ikev2_server_keymat
  - eap_ikev2_process
  - eap_ikev2_isDone
  - eap_ikev2_isSuccess
  - eap_ikev2_getKey
  - eap_ikev2_get_emsk
  - eap_ikev2_get_session_id
  - eap_server_ikev2_register
  source_file: /src/hostap/src/eap_server/eap_server_ikev2.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: ikev2
        type: struct ikev2_initiator_data
      - name: state
        type: enum { MSG, FRAG_ACK, WAIT_FRAG_ACK, DONE, FAIL }
      - name: '*in_buf'
        type: struct wpabuf
      - name: '*out_buf'
        type: struct wpabuf
      - name: out_used
        type: size_t
      - name: fragment_size
        type: size_t
      - name: keys_ready
        type: int
      - name: keymat[EAP_MSK_LEN + EAP_EMSK_LEN]
        type: u8
      - name: keymat_ok
        type: int
      item_type: struct
      name: eap_ikev2_data
      pos:
        line_end: 26
        line_start: 16
        source_file: /src/hostap/src/eap_server/eap_server_ikev2.c
    typedefs: []
    union: []
- function_names:
  - eap_ttls_state_txt
  - eap_ttls_state
  - eap_ttls_valid_session
  - eap_ttls_avp_hdr
  - eap_ttls_avp_encapsulate
  - eap_ttls_avp_parse
  - eap_ttls_implicit_challenge
  - eap_ttls_init
  - eap_ttls_reset
  - eap_ttls_build_start
  - eap_ttls_build_phase2_eap_req
  - eap_ttls_build_phase2_mschapv2
  - eap_ttls_buildReq
  - eap_ttls_check
  - eap_ttls_process_phase2_pap
  - eap_ttls_process_phase2_chap
  - eap_ttls_process_phase2_mschap
  - eap_ttls_process_phase2_mschapv2
  - eap_ttls_phase2_eap_init
  - eap_ttls_process_phase2_eap_response
  - eap_ttls_process_phase2_eap
  - eap_ttls_process_phase2
  - eap_ttls_start_tnc
  - eap_ttls_process_version
  - eap_ttls_process_msg
  - eap_ttls_process
  - eap_ttls_isDone
  - eap_ttls_getKey
  - eap_ttls_isSuccess
  - eap_ttls_get_session_id
  - eap_ttls_get_emsk
  - eap_server_ttls_register
  source_file: /src/hostap/src/eap_server/eap_server_ttls.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EAP_TTLS_VERSION
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/hostap/src/eap_server/eap_server_ttls.c
      type_or_value: '0'
    structs:
    - fields:
      - name: ssl
        type: struct eap_ssl_data
      - name: state
        type: "enum {\n\t\tSTART, PHASE1, PHASE2_START, PHASE2_METHOD,\n\t\tPHASE2_MSCHAPV2_RESP,
          SUCCESS, FAILURE\n\t}"
      - name: ttls_version
        type: int
      - name: '*phase2_method'
        type: struct eap_method
      - name: '*phase2_priv'
        type: void
      - name: mschapv2_resp_ok
        type: int
      - name: mschapv2_auth_response[20]
        type: u8
      - name: mschapv2_ident
        type: u8
      - name: '*pending_phase2_eap_resp'
        type: struct wpabuf
      - name: tnc_started
        type: int
      item_type: struct
      name: eap_ttls_data
      pos:
        line_end: 41
        line_start: 26
        source_file: /src/hostap/src/eap_server/eap_server_ttls.c
    - fields:
      - name: '*eap'
        type: u8
      - name: eap_len
        type: size_t
      - name: '*user_name'
        type: u8
      - name: user_name_len
        type: size_t
      - name: '*user_password'
        type: u8
      - name: user_password_len
        type: size_t
      - name: '*chap_challenge'
        type: u8
      - name: chap_challenge_len
        type: size_t
      - name: '*chap_password'
        type: u8
      - name: chap_password_len
        type: size_t
      - name: '*mschap_challenge'
        type: u8
      - name: mschap_challenge_len
        type: size_t
      - name: '*mschap_response'
        type: u8
      - name: mschap_response_len
        type: size_t
      - name: '*mschap2_response'
        type: u8
      - name: mschap2_response_len
        type: size_t
      item_type: struct
      name: eap_ttls_avp
      pos:
        line_end: 174
        line_start: 154
        source_file: /src/hostap/src/eap_server/eap_server_ttls.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/eap_server/eap_tls_common.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EAP_TLS_FLAGS_LENGTH_INCLUDED
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/hostap/src/eap_server/eap_tls_common.h
      type_or_value: '0x80'
    - item_type: preproc_def
      name: EAP_TLS_FLAGS_MORE_FRAGMENTS
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/hostap/src/eap_server/eap_tls_common.h
      type_or_value: '0x40'
    - item_type: preproc_def
      name: EAP_TLS_FLAGS_START
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/hostap/src/eap_server/eap_tls_common.h
      type_or_value: '0x20'
    - item_type: preproc_def
      name: EAP_TEAP_FLAGS_OUTER_TLV_LEN
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/hostap/src/eap_server/eap_tls_common.h
      type_or_value: '0x10'
    - item_type: preproc_def
      name: EAP_TLS_VERSION_MASK
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/hostap/src/eap_server/eap_tls_common.h
      type_or_value: '0x07'
    - item_type: preproc_def
      name: EAP_TLS_KEY_LEN
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/hostap/src/eap_server/eap_tls_common.h
      type_or_value: '64'
    - item_type: preproc_def
      name: EAP_UNAUTH_TLS_TYPE
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/hostap/src/eap_server/eap_tls_common.h
      type_or_value: '255'
    structs:
    - fields:
      - name: '*conn'
        type: struct tls_connection
      - name: '*tls_out'
        type: struct wpabuf
      - name: tls_out_pos
        type: size_t
      - name: tls_out_limit
        type: size_t
      - name: '*tls_in'
        type: struct wpabuf
      - name: phase2
        type: int
      - name: '*eap'
        type: struct eap_sm
      - name: state
        type: enum { MSG, FRAG_ACK, WAIT_FRAG_ACK }
      - name: tmpbuf
        type: struct wpabuf
      - name: tls_v13
        type: int
      - name: skip_prot_success
        type: bool
      item_type: struct
      name: eap_ssl_data
      pos:
        line_end: 59
        line_start: 14
        source_file: /src/hostap/src/eap_server/eap_tls_common.h
    typedefs: []
    union: []
- function_names:
  - eap_tnc_state_txt
  - eap_tnc_set_state
  - eap_tnc_init
  - eap_tnc_reset
  - eap_tnc_build_start
  - eap_tnc_build
  - eap_tnc_build_recommendation
  - eap_tnc_build_frag_ack
  - eap_tnc_build_msg
  - eap_tnc_buildReq
  - eap_tnc_check
  - tncs_process
  - eap_tnc_process_cont
  - eap_tnc_process_fragment
  - eap_tnc_process
  - eap_tnc_isDone
  - eap_tnc_isSuccess
  - eap_server_tnc_register
  source_file: /src/hostap/src/eap_server/eap_server_tnc.c
  types:
    enum:
    - enumerators:
      - name: START
      - name: WAIT_FRAG_ACK
      - name: RECOMMENDATION
      - name: CONTINUE
      - name: FRAG_ACK
      - name: DONE
      - name: FAIL
      item_type: enum
      name: eap_tnc_state
      pos:
        line_end: 19
        line_start: 16
        source_file: /src/hostap/src/eap_server/eap_server_tnc.c
    preproc_defs:
    - item_type: preproc_def
      name: EAP_TNC_FLAGS_LENGTH_INCLUDED
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/hostap/src/eap_server/eap_server_tnc.c
      type_or_value: '0x80'
    - item_type: preproc_def
      name: EAP_TNC_FLAGS_MORE_FRAGMENTS
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/hostap/src/eap_server/eap_server_tnc.c
      type_or_value: '0x40'
    - item_type: preproc_def
      name: EAP_TNC_FLAGS_START
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/hostap/src/eap_server/eap_server_tnc.c
      type_or_value: '0x20'
    - item_type: preproc_def
      name: EAP_TNC_VERSION_MASK
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/hostap/src/eap_server/eap_server_tnc.c
      type_or_value: '0x07'
    - item_type: preproc_def
      name: EAP_TNC_VERSION
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/hostap/src/eap_server/eap_server_tnc.c
      type_or_value: '1'
    structs:
    - fields:
      - name: state
        type: "enum eap_tnc_state {\n\t\tSTART, CONTINUE, RECOMMENDATION, FRAG_ACK,
          WAIT_FRAG_ACK, DONE,\n\t\tFAIL\n\t}"
      - name: recommendation
        type: enum { ALLOW, ISOLATE, NO_ACCESS, NO_RECOMMENDATION }
      - name: '*tncs'
        type: struct tncs_data
      - name: '*in_buf'
        type: struct wpabuf
      - name: '*out_buf'
        type: struct wpabuf
      - name: out_used
        type: size_t
      - name: fragment_size
        type: size_t
      - name: was_done
        type: unsigned int
      - name: was_fail
        type: unsigned int
      item_type: struct
      name: eap_tnc_data
      pos:
        line_end: 28
        line_start: 15
        source_file: /src/hostap/src/eap_server/eap_server_tnc.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/eap_server/eap.h
  types:
    enum:
    - enumerators:
      - name: EAP_TEAP_ID_ALLOW_ANY
        value: '0'
      - name: EAP_TEAP_ID_REQUIRE_MACHINE
        value: '2'
      - name: EAP_TEAP_ID_REQUEST_USER_ACCEPT_MACHINE
        value: '3'
      - name: EAP_TEAP_ID_REQUIRE_USER
        value: '1'
      - name: EAP_TEAP_ID_REQUEST_MACHINE_ACCEPT_USER
        value: '4'
      - name: EAP_TEAP_ID_REQUIRE_USER_AND_MACHINE
        value: '5'
      item_type: enum
      name: eap_teap_id
      pos:
        line_end: 208
        line_start: 201
        source_file: /src/hostap/src/eap_server/eap.h
    preproc_defs:
    - item_type: preproc_def
      name: EAP_TTLS_AUTH_PAP
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/hostap/src/eap_server/eap.h
      type_or_value: '1'
    - item_type: preproc_def
      name: EAP_TTLS_AUTH_CHAP
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/hostap/src/eap_server/eap.h
      type_or_value: '2'
    - item_type: preproc_def
      name: EAP_TTLS_AUTH_MSCHAP
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/hostap/src/eap_server/eap.h
      type_or_value: '4'
    - item_type: preproc_def
      name: EAP_TTLS_AUTH_MSCHAPV2
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/hostap/src/eap_server/eap.h
      type_or_value: '8'
    structs:
    - fields:
      - name: methods[EAP_MAX_METHODS]
        type: "struct {\n\t\tint vendor;\n\t\tu32 method;\n\t}"
      - name: '*password'
        type: u8
      - name: password_len
        type: size_t
      - name: password_hash
        type: int
      - name: '*salt'
        type: u8
      - name: salt_len
        type: size_t
      - name: phase2
        type: int
      - name: force_version
        type: int
      - name: macacl
        type: unsigned int
      - name: ttls_auth
        type: int
      - name: '*accept_attr'
        type: struct hostapd_radius_attr
      - name: t_c_timestamp
        type: u32
      item_type: struct
      name: eap_user
      pos:
        line_end: 42
        line_start: 24
        source_file: /src/hostap/src/eap_server/eap.h
    - fields:
      - name: eapResp
        type: bool
      - name: '*eapRespData'
        type: struct wpabuf
      - name: portEnabled
        type: bool
      - name: retransWhile
        type: int
      - name: eapRestart
        type: bool
      - name: eapSRTT
        type: int
      - name: eapRTTVAR
        type: int
      - name: eapReq
        type: bool
      - name: eapNoReq
        type: bool
      - name: eapSuccess
        type: bool
      - name: eapFail
        type: bool
      - name: eapTimeout
        type: bool
      - name: '*eapReqData'
        type: struct wpabuf
      - name: '*eapKeyData'
        type: u8
      - name: eapKeyDataLen
        type: size_t
      - name: '*eapSessionId'
        type: u8
      - name: eapSessionIdLen
        type: size_t
      - name: eapKeyAvailable
        type: bool
      - name: aaaEapReq
        type: bool
      - name: aaaEapNoReq
        type: bool
      - name: aaaSuccess
        type: bool
      - name: aaaFail
        type: bool
      - name: '*aaaEapReqData'
        type: struct wpabuf
      - name: '*aaaEapKeyData'
        type: u8
      - name: aaaEapKeyDataLen
        type: size_t
      - name: aaaEapKeyAvailable
        type: bool
      - name: aaaMethodTimeout
        type: int
      - name: aaaEapResp
        type: bool
      - name: '*aaaEapRespData'
        type: struct wpabuf
      - name: aaaTimeout
        type: bool
      item_type: struct
      name: eap_eapol_interface
      pos:
        line_end: 83
        line_start: 44
        source_file: /src/hostap/src/eap_server/eap.h
    - fields:
      - name: list
        type: struct dl_list
      - name: rRK_len
        type: size_t
      - name: rIK_len
        type: size_t
      - name: rRK[ERP_MAX_KEY_LEN]
        type: u8
      - name: rIK[ERP_MAX_KEY_LEN]
        type: u8
      - name: recv_seq
        type: u32
      - name: cryptosuite
        type: u8
      - name: keyname_nai[]
        type: char
      item_type: struct
      name: eap_server_erp_key
      pos:
        line_end: 94
        line_start: 85
        source_file: /src/hostap/src/eap_server/eap.h
    - fields:
      - name: "(*get_eap_user)(void *ctx, const u8 *identity, size_t identity_len,\n\t\t\t
          \   int phase2, struct eap_user *user)"
        type: int
      - name: '* (*get_eap_req_id_text)(void *ctx, size_t *len)'
        type: char
      - name: (*log_msg)(void *ctx, const char *msg)
        type: void
      - name: (*get_erp_send_reauth_start)(void *ctx)
        type: int
      - name: '* (*get_erp_domain)(void *ctx)'
        type: char
      - name: "* (*erp_get_key)(void *ctx,\n\t\t\t\t\t\t   const char *keyname)"
        type: struct eap_server_erp_key
      - name: (*erp_add_key)(void *ctx, struct eap_server_erp_key *erp)
        type: int
      item_type: struct
      name: eapol_callbacks
      pos:
        line_end: 106
        line_start: 96
        source_file: /src/hostap/src/eap_server/eap.h
    - fields:
      - name: '*ssl_ctx'
        type: void
      - name: '*msg_ctx'
        type: void
      - name: '*eap_sim_db_priv'
        type: void
      - name: '*imsi_privacy_key'
        type: struct crypto_rsa_key
      - name: backend_auth
        type: bool
      - name: eap_server
        type: int
      - name: pwd_group
        type: u16
      - name: '*pac_opaque_encr_key'
        type: u8
      - name: '*eap_fast_a_id'
        type: u8
      - name: eap_fast_a_id_len
        type: size_t
      - name: '*eap_fast_a_id_info'
        type: char
      - name: eap_fast_prov
        type: "enum {\n\t\tNO_PROV, ANON_PROV, AUTH_PROV, BOTH_PROV\n\t}"
      - name: pac_key_lifetime
        type: int
      - name: pac_key_refresh_time
        type: int
      - name: eap_teap_auth
        type: int
      - name: eap_teap_separate_result
        type: int
      - name: eap_teap_id
        type: "enum eap_teap_id {\n\t\tEAP_TEAP_ID_ALLOW_ANY = 0,\n\t\tEAP_TEAP_ID_REQUIRE_USER
          = 1,\n\t\tEAP_TEAP_ID_REQUIRE_MACHINE = 2,\n\t\tEAP_TEAP_ID_REQUEST_USER_ACCEPT_MACHINE
          = 3,\n\t\tEAP_TEAP_ID_REQUEST_MACHINE_ACCEPT_USER = 4,\n\t\tEAP_TEAP_ID_REQUIRE_USER_AND_MACHINE
          = 5,\n\t}"
      - name: eap_teap_method_sequence
        type: int
      - name: eap_sim_aka_result_ind
        type: int
      - name: eap_sim_id
        type: int
      - name: eap_sim_aka_fast_reauth_limit
        type: int
      - name: tnc
        type: int
      - name: '*wps'
        type: struct wps_context
      - name: fragment_size
        type: int
      - name: pbc_in_m1
        type: int
      - name: '*server_id'
        type: u8
      - name: server_id_len
        type: size_t
      - name: erp
        type: int
      - name: tls_session_lifetime
        type: unsigned int
      - name: tls_flags
        type: unsigned int
      - name: max_auth_rounds
        type: unsigned int
      - name: max_auth_rounds_short
        type: unsigned int
      item_type: struct
      name: eap_config
      pos:
        line_end: 270
        line_start: 108
        source_file: /src/hostap/src/eap_server/eap.h
    - fields:
      - name: '*assoc_wps_ie'
        type: struct wpabuf
      - name: '*assoc_p2p_ie'
        type: struct wpabuf
      - name: '*peer_addr'
        type: u8
      item_type: struct
      name: eap_session_data
      pos:
        line_end: 279
        line_start: 272
        source_file: /src/hostap/src/eap_server/eap.h
    typedefs: []
    union: []
- function_names:
  - eap_sake_state_txt
  - eap_sake_state
  - eap_sake_init
  - eap_sake_reset
  - eap_sake_build_msg
  - eap_sake_build_identity
  - eap_sake_build_challenge
  - eap_sake_build_confirm
  - eap_sake_buildReq
  - eap_sake_check
  - eap_sake_process_identity
  - eap_sake_process_challenge
  - eap_sake_process_confirm
  - eap_sake_process_auth_reject
  - eap_sake_process
  - eap_sake_isDone
  - eap_sake_getKey
  - eap_sake_get_emsk
  - eap_sake_isSuccess
  - eap_sake_get_session_id
  - eap_server_sake_register
  source_file: /src/hostap/src/eap_server/eap_server_sake.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: state
        type: enum { IDENTITY, CHALLENGE, CONFIRM, SUCCESS, FAILURE }
      - name: rand_s[EAP_SAKE_RAND_LEN]
        type: u8
      - name: rand_p[EAP_SAKE_RAND_LEN]
        type: u8
      - name: tek
        type: "struct {\n\t\tu8 auth[EAP_SAKE_TEK_AUTH_LEN];\n\t\tu8 cipher[EAP_SAKE_TEK_CIPHER_LEN];\n\t}"
      - name: msk[EAP_MSK_LEN]
        type: u8
      - name: emsk[EAP_EMSK_LEN]
        type: u8
      - name: session_id
        type: u8
      - name: '*peerid'
        type: u8
      - name: peerid_len
        type: size_t
      item_type: struct
      name: eap_sake_data
      pos:
        line_end: 29
        line_start: 16
        source_file: /src/hostap/src/eap_server/eap_server_sake.c
    typedefs: []
    union: []
- function_names:
  - eap_eke_state_txt
  - eap_eke_state
  - eap_eke_fail
  - eap_eke_init
  - eap_eke_reset
  - eap_eke_build_msg
  - supported_proposal
  - eap_eke_build_failure
  - eap_eke_build_identity
  - eap_eke_build_commit
  - eap_eke_build_confirm
  - eap_eke_buildReq
  - eap_eke_check
  - eap_eke_process_identity
  - eap_eke_process_commit
  - eap_eke_process_confirm
  - eap_eke_process_failure
  - eap_eke_process
  - eap_eke_isDone
  - eap_eke_getKey
  - eap_eke_get_emsk
  - eap_eke_isSuccess
  - eap_eke_get_session_id
  - eap_server_eke_register
  source_file: /src/hostap/src/eap_server/eap_server_eke.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: state
        type: "enum {\n\t\tIDENTITY, COMMIT, CONFIRM, FAILURE_REPORT, SUCCESS, FAILURE\n\t}"
      - name: msk[EAP_MSK_LEN]
        type: u8
      - name: emsk[EAP_EMSK_LEN]
        type: u8
      - name: '*peerid'
        type: u8
      - name: peerid_len
        type: size_t
      - name: peerid_type
        type: u8
      - name: serverid_type
        type: u8
      - name: dh_priv[EAP_EKE_MAX_DH_LEN]
        type: u8
      - name: key[EAP_EKE_MAX_KEY_LEN]
        type: u8
      - name: sess
        type: struct eap_eke_session
      - name: nonce_p[EAP_EKE_MAX_NONCE_LEN]
        type: u8
      - name: nonce_s[EAP_EKE_MAX_NONCE_LEN]
        type: u8
      - name: '*msgs'
        type: struct wpabuf
      - name: phase2
        type: int
      - name: failure_code
        type: u32
      item_type: struct
      name: eap_eke_data
      pos:
        line_end: 34
        line_start: 16
        source_file: /src/hostap/src/eap_server/eap_server_eke.c
    typedefs: []
    union: []
- function_names:
  - eap_server_get_eap_method
  - eap_server_get_type
  - eap_server_method_alloc
  - eap_server_method_free
  - eap_server_method_register
  - eap_server_unregister_methods
  - eap_server_get_name
  source_file: /src/hostap/src/eap_server/eap_server_methods.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - eap_teap_state_txt
  - eap_teap_state
  - eap_teap_req_failure
  - eap_teap_derive_key_auth
  - eap_teap_update_icmk
  - eap_teap_init
  - eap_teap_reset
  - eap_teap_build_start
  - eap_teap_phase1_done
  - eap_teap_build_phase2_req
  - eap_teap_build_crypto_binding
  - eap_teap_encrypt_phase2
  - eap_teap_buildReq
  - eap_teap_check
  - eap_teap_phase2_init
  - eap_teap_valid_id_type
  - eap_teap_process_phase2_response
  - eap_teap_process_phase2_eap
  - eap_teap_process_basic_auth_resp
  - eap_teap_parse_tlvs
  - eap_teap_validate_crypto_binding
  - eap_teap_process_phase2_tlvs
  - eap_teap_process_phase2
  - eap_teap_process_version
  - eap_teap_process_phase1
  - eap_teap_process_phase2_start
  - eap_teap_process_msg
  - eap_teap_process
  - eap_teap_isDone
  - eap_teap_getKey
  - eap_teap_get_emsk
  - eap_teap_isSuccess
  - eap_teap_get_session_id
  - eap_server_teap_register
  source_file: /src/hostap/src/eap_server/eap_server_teap.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: ssl
        type: struct eap_ssl_data
      - name: state
        type: "enum {\n\t\tSTART, PHASE1, PHASE1B, PHASE2_START, PHASE2_ID,\n\t\tPHASE2_BASIC_AUTH,
          PHASE2_METHOD, CRYPTO_BINDING,\n\t\tFAILURE_SEND_RESULT, SUCCESS_SEND_RESULT,
          SUCCESS, FAILURE\n\t}"
      - name: teap_version
        type: u8
      - name: peer_version
        type: u8
      - name: tls_cs
        type: u16
      - name: '*phase2_method'
        type: struct eap_method
      - name: '*phase2_priv'
        type: void
      - name: crypto_binding_nonce[32]
        type: u8
      - name: final_result
        type: int
      - name: simck[EAP_TEAP_SIMCK_LEN]
        type: u8
      - name: simck_msk[EAP_TEAP_SIMCK_LEN]
        type: u8
      - name: cmk_msk[EAP_TEAP_CMK_LEN]
        type: u8
      - name: simck_emsk[EAP_TEAP_SIMCK_LEN]
        type: u8
      - name: cmk_emsk[EAP_TEAP_CMK_LEN]
        type: u8
      - name: simck_idx
        type: int
      - name: cmk_emsk_available
        type: bool
      - name: '*srv_id'
        type: u8
      - name: srv_id_len
        type: size_t
      - name: '*srv_id_info'
        type: char
      - name: basic_auth_not_done
        type: unsigned int
      - name: inner_eap_not_done
        type: unsigned int
      - name: skipped_inner_auth
        type: int
      - name: '*pending_phase2_resp'
        type: struct wpabuf
      - name: '*server_outer_tlvs'
        type: struct wpabuf
      - name: '*peer_outer_tlvs'
        type: struct wpabuf
      - name: '*identity'
        type: u8
      - name: identity_len
        type: size_t
      - name: eap_seq
        type: int
      - name: tnc_started
        type: int
      - name: error_code
        type: enum teap_error_codes
      - name: cur_id_type
        type: enum teap_identity_types
      - name: check_crypto_binding
        type: bool
      item_type: struct
      name: eap_teap_data
      pos:
        line_end: 66
        line_start: 21
        source_file: /src/hostap/src/eap_server/eap_server_teap.c
    typedefs: []
    union: []
- function_names:
  - eap_fast_state_txt
  - eap_fast_state
  - eap_fast_req_failure
  - eap_fast_session_ticket_cb
  - eap_fast_derive_key_auth
  - eap_fast_derive_key_provisioning
  - eap_fast_get_phase2_key
  - eap_fast_update_icmk
  - eap_fast_init
  - eap_fast_reset
  - eap_fast_build_start
  - eap_fast_phase1_done
  - eap_fast_build_phase2_req
  - eap_fast_build_crypto_binding
  - eap_fast_build_pac
  - eap_fast_encrypt_phase2
  - eap_fast_buildReq
  - eap_fast_check
  - eap_fast_phase2_init
  - eap_fast_process_phase2_response
  - eap_fast_process_phase2_eap
  - eap_fast_parse_tlvs
  - eap_fast_validate_crypto_binding
  - eap_fast_pac_type
  - eap_fast_process_phase2_tlvs
  - eap_fast_process_phase2
  - eap_fast_process_version
  - eap_fast_process_phase1
  - eap_fast_process_phase2_start
  - eap_fast_process_msg
  - eap_fast_process
  - eap_fast_isDone
  - eap_fast_getKey
  - eap_fast_get_emsk
  - eap_fast_isSuccess
  - eap_fast_get_session_id
  - eap_server_fast_register
  source_file: /src/hostap/src/eap_server/eap_server_fast.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PAC_OPAQUE_TYPE_PAD
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/hostap/src/eap_server/eap_server_fast.c
      type_or_value: '0'
    - item_type: preproc_def
      name: PAC_OPAQUE_TYPE_KEY
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/hostap/src/eap_server/eap_server_fast.c
      type_or_value: '1'
    - item_type: preproc_def
      name: PAC_OPAQUE_TYPE_LIFETIME
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/hostap/src/eap_server/eap_server_fast.c
      type_or_value: '2'
    - item_type: preproc_def
      name: PAC_OPAQUE_TYPE_IDENTITY
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/hostap/src/eap_server/eap_server_fast.c
      type_or_value: '3'
    structs:
    - fields:
      - name: ssl
        type: struct eap_ssl_data
      - name: state
        type: "enum {\n\t\tSTART, PHASE1, PHASE2_START, PHASE2_ID, PHASE2_METHOD,\n\t\tCRYPTO_BINDING,
          REQUEST_PAC, SUCCESS, FAILURE\n\t}"
      - name: fast_version
        type: int
      - name: '*phase2_method'
        type: struct eap_method
      - name: '*phase2_priv'
        type: void
      - name: force_version
        type: int
      - name: peer_version
        type: int
      - name: crypto_binding_nonce[32]
        type: u8
      - name: final_result
        type: int
      - name: '*key_block_p'
        type: struct eap_fast_key_block_provisioning
      - name: simck[EAP_FAST_SIMCK_LEN]
        type: u8
      - name: cmk[EAP_FAST_CMK_LEN]
        type: u8
      - name: simck_idx
        type: int
      - name: pac_opaque_encr[16]
        type: u8
      - name: '*srv_id'
        type: u8
      - name: srv_id_len
        type: size_t
      - name: '*srv_id_info'
        type: char
      - name: anon_provisioning
        type: int
      - name: send_new_pac
        type: int
      - name: '*pending_phase2_resp'
        type: struct wpabuf
      - name: '*identity'
        type: u8
      - name: identity_len
        type: size_t
      - name: eap_seq
        type: int
      - name: tnc_started
        type: int
      - name: pac_key_lifetime
        type: int
      - name: pac_key_refresh_time
        type: int
      item_type: struct
      name: eap_fast_data
      pos:
        line_end: 67
        line_start: 30
        source_file: /src/hostap/src/eap_server/eap_server_fast.c
    typedefs: []
    union: []
- function_names:
  - eap_vendor_test_state_txt
  - eap_vendor_test_state
  - eap_vendor_test_init
  - eap_vendor_test_reset
  - eap_vendor_test_buildReq
  - eap_vendor_test_check
  - eap_vendor_test_process
  - eap_vendor_test_isDone
  - eap_vendor_test_getKey
  - eap_vendor_test_isSuccess
  - eap_server_vendor_test_register
  source_file: /src/hostap/src/eap_server/eap_server_vendor_test.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EAP_VENDOR_ID
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/hostap/src/eap_server/eap_server_vendor_test.c
      type_or_value: EAP_VENDOR_HOSTAP
    - item_type: preproc_def
      name: EAP_VENDOR_TYPE
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/hostap/src/eap_server/eap_server_vendor_test.c
      type_or_value: '0xfcfbfaf9'
    structs:
    - fields:
      - name: state
        type: enum { INIT, CONFIRM, SUCCESS, FAILURE }
      item_type: struct
      name: eap_vendor_test_data
      pos:
        line_end: 20
        line_start: 18
        source_file: /src/hostap/src/eap_server/eap_server_vendor_test.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/eap_server/tncs.h
  types:
    enum:
    - enumerators:
      - name: TNCCS_PROCESS_ERROR
        value: '-1'
      - name: TNCCS_RECOMMENDATION_ERROR
      - name: TNCCS_RECOMMENDATION_ALLOW
      - name: TNCCS_RECOMMENDATION_NONE
      - name: TNCCS_PROCESS_OK_NO_RECOMMENDATION
        value: '0'
      - name: TNCCS_RECOMMENDATION_ISOLATE
      - name: TNCCS_RECOMMENDATION_NO_ACCESS
      - name: TNCCS_RECOMMENDATION_NO_RECOMMENDATION
      item_type: enum
      name: tncs_process_res
      pos:
        line_end: 30
        line_start: 21
        source_file: /src/hostap/src/eap_server/tncs.h
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - eap_get_erp_send_reauth_start
  - eap_get_erp_domain
  - eap_erp_get_key
  - eap_erp_add_key
  - eap_sm_buildInitiateReauthStart
  - eap_copy_buf
  - eap_copy_data
  - EAP_COPY
  - eap_user_get
  - eap_log_msg
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - eap_server_erp_init
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - erp_send_finish_reauth
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - SM_STEP
  - eap_sm_calculateTimeout
  - eap_sm_parseEapResp
  - eap_sm_getId
  - eap_sm_buildSuccess
  - eap_sm_buildFailure
  - eap_sm_nextId
  - eap_sm_process_nak
  - eap_sm_Policy_update
  - eap_sm_Policy_getNextMethod
  - eap_sm_Policy_getDecision
  - eap_sm_Policy_doPickUp
  - eap_server_sm_step
  - eap_user_free
  - eap_server_sm_init
  - eap_server_sm_deinit
  - eap_sm_notify_cached
  - eap_sm_pending_cb
  - eap_sm_method_pending
  - eap_get_identity
  - eap_get_serial_num
  - eap_get_method
  - eap_get_imsi
  - eap_erp_update_identity
  - eap_get_interface
  - eap_server_clear_identity
  - eap_server_mschap_rx_callback
  - eap_server_config_free
  source_file: /src/hostap/src/eap_server/eap_server.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STATE_MACHINE_DATA
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/hostap/src/eap_server/eap_server.c
      type_or_value: struct eap_sm
    - item_type: preproc_def
      name: STATE_MACHINE_DEBUG_PREFIX
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/hostap/src/eap_server/eap_server.c
      type_or_value: '"EAP"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - eap_aka_state_txt
  - eap_aka_state
  - eap_aka_check_identity_reauth
  - eap_aka_check_identity
  - eap_aka_init
  - eap_aka_prime_init
  - eap_aka_reset
  - eap_aka_add_id_msg
  - eap_aka_add_checkcode
  - eap_aka_verify_checkcode
  - eap_aka_build_identity
  - eap_aka_build_encr
  - eap_aka_build_challenge
  - eap_aka_build_reauth
  - eap_aka_build_notification
  - eap_aka_buildReq
  - eap_aka_check
  - eap_aka_subtype_ok
  - eap_aka_determine_identity
  - eap_aka_fullauth
  - eap_aka_process_identity
  - eap_aka_verify_mac
  - eap_aka_process_challenge
  - eap_aka_process_sync_failure
  - eap_aka_process_reauth
  - eap_aka_process_client_error
  - eap_aka_process_authentication_reject
  - eap_aka_process_notification
  - eap_aka_process
  - eap_aka_isDone
  - eap_aka_getKey
  - eap_aka_get_emsk
  - eap_aka_isSuccess
  - eap_aka_get_session_id
  - eap_server_aka_register
  - eap_server_aka_prime_register
  source_file: /src/hostap/src/eap_server/eap_server_aka.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: mk[EAP_SIM_MK_LEN]
        type: u8
      - name: nonce_s[EAP_SIM_NONCE_S_LEN]
        type: u8
      - name: k_aut[EAP_AKA_PRIME_K_AUT_LEN]
        type: u8
      - name: k_encr[EAP_SIM_K_ENCR_LEN]
        type: u8
      - name: k_re[EAP_AKA_PRIME_K_RE_LEN]
        type: u8
      - name: msk[EAP_SIM_KEYING_DATA_LEN]
        type: u8
      - name: emsk[EAP_EMSK_LEN]
        type: u8
      - name: rand[EAP_AKA_RAND_LEN]
        type: u8
      - name: autn[EAP_AKA_AUTN_LEN]
        type: u8
      - name: ck[EAP_AKA_CK_LEN]
        type: u8
      - name: ik[EAP_AKA_IK_LEN]
        type: u8
      - name: res[EAP_AKA_RES_MAX_LEN]
        type: u8
      - name: reauth_mac[EAP_SIM_MAC_LEN]
        type: u8
      - name: res_len
        type: size_t
      - name: state
        type: "enum {\n\t\tIDENTITY, CHALLENGE, REAUTH, NOTIFICATION, SUCCESS, FAILURE\n\t}"
      - name: '*next_pseudonym'
        type: char
      - name: '*next_reauth_id'
        type: char
      - name: counter
        type: u16
      - name: '*reauth'
        type: struct eap_sim_reauth
      - name: auts_reported
        type: int
      - name: notification
        type: u16
      - name: use_result_ind
        type: int
      - name: '*id_msgs'
        type: struct wpabuf
      - name: pending_id
        type: int
      - name: eap_method
        type: u8
      - name: '*network_name'
        type: u8
      - name: network_name_len
        type: size_t
      - name: kdf
        type: u16
      - name: identity_round
        type: int
      - name: permanent[20]
        type: char
      item_type: struct
      name: eap_aka_data
      pos:
        line_end: 55
        line_start: 20
        source_file: /src/hostap/src/eap_server/eap_server_aka.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/eap_server/eap_methods.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - eap_identity_init
  - eap_identity_initPickUp
  - eap_identity_reset
  - eap_identity_buildReq
  - eap_identity_check
  - eap_identity_process
  - eap_identity_isDone
  - eap_identity_isSuccess
  - eap_server_identity_register
  source_file: /src/hostap/src/eap_server/eap_server_identity.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: state
        type: enum { CONTINUE, SUCCESS, FAILURE }
      - name: pick_up
        type: int
      item_type: struct
      name: eap_identity_data
      pos:
        line_end: 17
        line_start: 14
        source_file: /src/hostap/src/eap_server/eap_server_identity.c
    typedefs: []
    union: []
- function_names:
  - tncs_get_imv
  - tncs_get_conn
  - TNC_TNCS_ReportMessageTypes
  - TNC_TNCS_SendMessage
  - TNC_TNCS_RequestHandshakeRetry
  - TNC_TNCS_ProvideRecommendation
  - TNC_TNCS_GetAttribute
  - TNC_TNCS_SetAttribute
  - TNC_TNCS_BindFunction
  - tncs_get_sym
  - tncs_imv_resolve_funcs
  - tncs_imv_initialize
  - tncs_imv_terminate
  - tncs_imv_provide_bind_function
  - tncs_imv_notify_connection_change
  - tncs_load_imv
  - tncs_free_imv
  - tncs_unload_imv
  - tncs_supported_type
  - tncs_send_to_imvs
  - tncs_batch_ending
  - tncs_solicit_recommendation
  - tncs_init_connection
  - tncs_total_send_len
  - tncs_copy_send_buf
  - tncs_if_tnccs_start
  - tncs_if_tnccs_end
  - tncs_get_type
  - tncs_get_base64
  - tncs_derive_recommendation
  - tncs_process_if_tnccs
  - tncs_parse_imv
  - tncs_read_config
  - tncs_init
  - tncs_deinit
  - tncs_global_init
  - tncs_global_deinit
  - tncs_build_soh_request
  - tncs_process_soh
  source_file: /src/hostap/src/eap_server/tncs.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TNC_CONFIG_FILE
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/hostap/src/eap_server/tncs.c
      type_or_value: '"/etc/tnc_config"'
    - item_type: preproc_def
      name: IF_TNCCS_START
      pos:
        line_end: 32
        line_start: 25
        source_file: /src/hostap/src/eap_server/tncs.c
      type_or_value: '"<?xml version=\"1.0\"?>\n" \

        "<TNCCS-Batch BatchId=\"%d\" Recipient=\"TNCS\" " \

        "xmlns=\"http://www.trustedcomputinggroup.org/IWG/TNC/1_0/IF_TNCCS#\" " \

        "xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" " \

        "xsi:schemaLocation=\"http://www.trustedcomputinggroup.org/IWG/TNC/1_0/" \

        "IF_TNCCS# https://www.trustedcomputinggroup.org/XML/SCHEMA/TNCCS_1.0.xsd\">\n"'
    - item_type: preproc_def
      name: IF_TNCCS_END
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/hostap/src/eap_server/tncs.c
      type_or_value: '"\n</TNCCS-Batch>"'
    - item_type: preproc_def
      name: TNC_MAX_IMV_ID
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/hostap/src/eap_server/tncs.c
      type_or_value: '10'
    structs:
    - fields:
      - name: '*next'
        type: struct tnc_if_imv
      - name: '*name'
        type: char
      - name: '*path'
        type: char
      - name: '*dlhandle'
        type: void
      - name: imvID
        type: TNC_IMVID
      - name: supported_types
        type: TNC_MessageTypeList
      - name: num_supported_types
        type: size_t
      - name: "(*Initialize)(\n\t\tTNC_IMVID imvID,\n\t\tTNC_Version minVersion,\n\t\tTNC_Version
          maxVersion,\n\t\tTNC_Version *pOutActualVersion)"
        type: TNC_Result
      - name: "(*NotifyConnectionChange)(\n\t\tTNC_IMVID imvID,\n\t\tTNC_ConnectionID
          connectionID,\n\t\tTNC_ConnectionState newState)"
        type: TNC_Result
      - name: "(*ReceiveMessage)(\n\t\tTNC_IMVID imvID,\n\t\tTNC_ConnectionID connectionID,\n\t\tTNC_BufferReference
          message,\n\t\tTNC_UInt32 messageLength,\n\t\tTNC_MessageType messageType)"
        type: TNC_Result
      - name: "(*SolicitRecommendation)(\n\t\tTNC_IMVID imvID,\n\t\tTNC_ConnectionID
          connectionID)"
        type: TNC_Result
      - name: "(*BatchEnding)(\n\t\tTNC_IMVID imvID,\n\t\tTNC_ConnectionID connectionID)"
        type: TNC_Result
      - name: (*Terminate)(TNC_IMVID imvID)
        type: TNC_Result
      - name: "(*ProvideBindFunction)(\n\t\tTNC_IMVID imvID,\n\t\tTNC_TNCS_BindFunctionPointer
          bindFunction)"
        type: TNC_Result
      item_type: struct
      name: tnc_if_imv
      pos:
        line_end: 71
        line_start: 36
        source_file: /src/hostap/src/eap_server/tncs.c
    - fields:
      - name: '*next'
        type: struct tncs_data
      - name: '*imv'
        type: struct tnc_if_imv
      - name: connectionID
        type: TNC_ConnectionID
      - name: last_batchid
        type: unsigned int
      - name: recommendation
        type: enum IMV_Action_Recommendation
      - name: done
        type: int
      - name: imv_data[TNC_MAX_IMV_ID]
        type: "struct conn_imv {\n\t\tu8 *imv_send;\n\t\tsize_t imv_send_len;\n\t\tenum
          IMV_Action_Recommendation recommendation;\n\t\tint recommendation_set;\n\t}"
      - name: '*tncs_message'
        type: char
      item_type: struct
      name: tncs_data
      pos:
        line_end: 92
        line_start: 76
        source_file: /src/hostap/src/eap_server/tncs.c
    - fields:
      - name: '*imv_send'
        type: u8
      - name: imv_send_len
        type: size_t
      - name: recommendation
        type: enum IMV_Action_Recommendation
      - name: recommendation_set
        type: int
      item_type: struct
      name: conn_imv
      pos:
        line_end: 89
        line_start: 84
        source_file: /src/hostap/src/eap_server/tncs.c
    - fields:
      - name: '*imv'
        type: struct tnc_if_imv
      - name: next_conn_id
        type: TNC_ConnectionID
      - name: '*connections'
        type: struct tncs_data
      item_type: struct
      name: tncs_global
      pos:
        line_end: 99
        line_start: 95
        source_file: /src/hostap/src/eap_server/tncs.c
    typedefs: []
    union: []
- function_names:
  - eap_psk_init
  - eap_psk_reset
  - eap_psk_build_1
  - eap_psk_build_3
  - eap_psk_buildReq
  - eap_psk_check
  - eap_psk_process_2
  - eap_psk_process_4
  - eap_psk_process
  - eap_psk_isDone
  - eap_psk_getKey
  - eap_psk_get_emsk
  - eap_psk_isSuccess
  - eap_psk_get_session_id
  - eap_server_psk_register
  source_file: /src/hostap/src/eap_server/eap_server_psk.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: state
        type: enum { PSK_1, PSK_3, SUCCESS, FAILURE }
      - name: rand_s[EAP_PSK_RAND_LEN]
        type: u8
      - name: rand_p[EAP_PSK_RAND_LEN]
        type: u8
      - name: '*id_p'
        type: u8
      - name: id_p_len
        type: size_t
      - name: ak[EAP_PSK_AK_LEN]
        type: u8
      - name: msk[EAP_MSK_LEN]
        type: u8
      - name: emsk[EAP_EMSK_LEN]
        type: u8
      item_type: struct
      name: eap_psk_data
      pos:
        line_end: 29
        line_start: 20
        source_file: /src/hostap/src/eap_server/eap_server_psk.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/eap_server/eap_i.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EAP_SERVER_METHOD_INTERFACE_VERSION
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/hostap/src/eap_server/eap_i.h
      type_or_value: '1'
    structs:
    - fields:
      - name: vendor
        type: int
      - name: method
        type: enum eap_type
      - name: '*name'
        type: char
      - name: '* (*init)(struct eap_sm *sm)'
        type: void
      - name: '* (*initPickUp)(struct eap_sm *sm)'
        type: void
      - name: (*reset)(struct eap_sm *sm, void *priv)
        type: void
      - name: '* (*buildReq)(struct eap_sm *sm, void *priv, u8 id)'
        type: struct wpabuf
      - name: (*getTimeout)(struct eap_sm *sm, void *priv)
        type: int
      - name: (*check)(struct eap_sm *sm, void *priv, struct wpabuf *respData)
        type: bool
      - name: "(*process)(struct eap_sm *sm, void *priv,\n\t\t\tstruct wpabuf *respData)"
        type: void
      - name: (*isDone)(struct eap_sm *sm, void *priv)
        type: bool
      - name: '* (*getKey)(struct eap_sm *sm, void *priv, size_t *len)'
        type: u8
      - name: (*isSuccess)(struct eap_sm *sm, void *priv)
        type: bool
      - name: (*free)(struct eap_method *method)
        type: void
      - name: version
        type: int
      - name: '*next'
        type: struct eap_method
      - name: '* (*get_emsk)(struct eap_sm *sm, void *priv, size_t *len)'
        type: u8
      - name: '* (*getSessionId)(struct eap_sm *sm, void *priv, size_t *len)'
        type: u8
      item_type: struct
      name: eap_method
      pos:
        line_end: 102
        line_start: 23
        source_file: /src/hostap/src/eap_server/eap_i.h
    - fields:
      - name: EAP_state
        type: "enum {\n\t\tEAP_DISABLED, EAP_INITIALIZE, EAP_IDLE, EAP_RECEIVED,\n\t\tEAP_INTEGRITY_CHECK,
          EAP_METHOD_RESPONSE, EAP_METHOD_REQUEST,\n\t\tEAP_PROPOSE_METHOD, EAP_SELECT_ACTION,
          EAP_SEND_REQUEST,\n\t\tEAP_DISCARD, EAP_NAK, EAP_RETRANSMIT, EAP_SUCCESS,
          EAP_FAILURE,\n\t\tEAP_TIMEOUT_FAILURE, EAP_PICK_UP_METHOD,\n\t\tEAP_INITIALIZE_PASSTHROUGH,
          EAP_IDLE2, EAP_RETRANSMIT2,\n\t\tEAP_RECEIVED2, EAP_DISCARD2, EAP_SEND_REQUEST2,\n\t\tEAP_AAA_REQUEST,
          EAP_AAA_RESPONSE, EAP_AAA_IDLE,\n\t\tEAP_TIMEOUT_FAILURE2, EAP_FAILURE2,
          EAP_SUCCESS2,\n\t\tEAP_INITIATE_REAUTH_START, EAP_INITIATE_RECEIVED\n\t}"
      - name: MaxRetrans
        type: int
      - name: eap_if
        type: struct eap_eapol_interface
      - name: currentMethod
        type: enum eap_type
      - name: currentId
        type: int
      - name: methodState
        type: "enum {\n\t\tMETHOD_PROPOSED, METHOD_CONTINUE, METHOD_END\n\t}"
      - name: retransCount
        type: int
      - name: '*lastReqData'
        type: struct wpabuf
      - name: methodTimeout
        type: int
      - name: rxResp
        type: bool
      - name: rxInitiate
        type: bool
      - name: respId
        type: int
      - name: respMethod
        type: enum eap_type
      - name: respVendor
        type: int
      - name: respVendorMethod
        type: u32
      - name: ignore
        type: bool
      - name: decision
        type: "enum {\n\t\tDECISION_SUCCESS, DECISION_FAILURE, DECISION_CONTINUE,\n\t\tDECISION_PASSTHROUGH,
          DECISION_INITIATE_REAUTH_START\n\t}"
      - name: '*m'
        type: struct eap_method
      - name: changed
        type: bool
      - name: '*eapol_ctx'
        type: void
      - name: '*eapol_cb'
        type: struct eapol_callbacks
      - name: '*eap_method_priv'
        type: void
      - name: '*identity'
        type: u8
      - name: identity_len
        type: size_t
      - name: '*serial_num'
        type: char
      - name: imsi[20]
        type: char
      - name: sim_aka_permanent[20]
        type: char
      - name: require_identity_match
        type: int
      - name: lastId
        type: int
      - name: '*user'
        type: struct eap_user
      - name: user_eap_method_index
        type: int
      - name: init_phase2
        type: int
      - name: '*cfg'
        type: struct eap_config
      - name: cfg_buf
        type: struct eap_config
      - name: update_user
        type: bool
      - name: num_rounds
        type: unsigned int
      - name: num_rounds_short
        type: unsigned int
      - name: method_pending
        type: "enum {\n\t\tMETHOD_PENDING_NONE, METHOD_PENDING_WAIT, METHOD_PENDING_CONT\n\t}"
      - name: '*auth_challenge'
        type: u8
      - name: '*peer_challenge'
        type: u8
      - name: eap_fast_mschapv2
        type: bool
      - name: '*assoc_wps_ie'
        type: struct wpabuf
      - name: '*assoc_p2p_ie'
        type: struct wpabuf
      - name: start_reauth
        type: bool
      - name: peer_addr[ETH_ALEN]
        type: u8
      - name: initiate_reauth_start_sent
        type: bool
      - name: try_initiate_reauth
        type: bool
      item_type: struct
      name: eap_sm
      pos:
        line_end: 201
        line_start: 107
        source_file: /src/hostap/src/eap_server/eap_i.h
    typedefs: []
    union: []
- function_names:
  - ikev2_initiator_deinit
  - ikev2_derive_keys
  - ikev2_parse_transform
  - ikev2_parse_proposal
  - ikev2_process_sar1
  - ikev2_process_ker
  - ikev2_process_nr
  - ikev2_process_sa_init_encr
  - ikev2_process_sa_init
  - ikev2_process_idr
  - ikev2_process_cert
  - ikev2_process_auth_cert
  - ikev2_process_auth_secret
  - ikev2_process_auth
  - ikev2_process_sa_auth_decrypted
  - ikev2_process_sa_auth
  - ikev2_validate_rx_state
  - ikev2_initiator_process
  - ikev2_build_hdr
  - ikev2_build_sai
  - ikev2_build_kei
  - ikev2_build_ni
  - ikev2_build_idi
  - ikev2_build_auth
  - ikev2_build_sa_init
  - ikev2_build_sa_auth
  - ikev2_initiator_build
  source_file: /src/hostap/src/eap_server/ikev2.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - eap_gtc_init
  - eap_gtc_reset
  - eap_gtc_buildReq
  - eap_gtc_check
  - eap_gtc_process
  - eap_gtc_isDone
  - eap_gtc_isSuccess
  - eap_server_gtc_register
  source_file: /src/hostap/src/eap_server/eap_server_gtc.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: state
        type: enum { CONTINUE, SUCCESS, FAILURE }
      - name: prefix
        type: int
      item_type: struct
      name: eap_gtc_data
      pos:
        line_end: 17
        line_start: 14
        source_file: /src/hostap/src/eap_server/eap_server_gtc.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/tls/tlsv1_server_i.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_CIPHER_COUNT
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/hostap/src/tls/tlsv1_server_i.h
      type_or_value: '30'
    structs:
    - fields:
      - name: state
        type: "enum {\n\t\tCLIENT_HELLO, SERVER_HELLO, SERVER_CERTIFICATE,\n\t\tSERVER_KEY_EXCHANGE,
          SERVER_CERTIFICATE_REQUEST,\n\t\tSERVER_HELLO_DONE, CLIENT_CERTIFICATE,
          CLIENT_KEY_EXCHANGE,\n\t\tCERTIFICATE_VERIFY, CHANGE_CIPHER_SPEC, CLIENT_FINISHED,\n\t\tSERVER_CHANGE_CIPHER_SPEC,
          SERVER_FINISHED,\n\t\tESTABLISHED, FAILED\n\t}"
      - name: rl
        type: struct tlsv1_record_layer
      - name: session_id[TLS_SESSION_ID_MAX_LEN]
        type: u8
      - name: session_id_len
        type: size_t
      - name: client_random[TLS_RANDOM_LEN]
        type: u8
      - name: server_random[TLS_RANDOM_LEN]
        type: u8
      - name: master_secret[TLS_MASTER_SECRET_LEN]
        type: u8
      - name: alert_level
        type: u8
      - name: alert_description
        type: u8
      - name: read_alerts
        type: int
      - name: '*client_rsa_key'
        type: struct crypto_public_key
      - name: verify
        type: struct tls_verify_hash
      - name: cipher_suites[MAX_CIPHER_COUNT]
        type: u16
      - name: num_cipher_suites
        type: size_t
      - name: cipher_suite
        type: u16
      - name: '*cred'
        type: struct tlsv1_credentials
      - name: verify_peer
        type: int
      - name: client_version
        type: u16
      - name: '*session_ticket'
        type: u8
      - name: session_ticket_len
        type: size_t
      - name: session_ticket_cb
        type: tlsv1_server_session_ticket_cb
      - name: '*session_ticket_cb_ctx'
        type: void
      - name: (*log_cb)(void *ctx, const char *msg)
        type: void
      - name: '*log_cb_ctx'
        type: void
      - name: use_session_ticket
        type: int
      - name: status_request
        type: unsigned int
      - name: status_request_v2
        type: unsigned int
      - name: status_request_multi
        type: unsigned int
      - name: '*dh_secret'
        type: u8
      - name: dh_secret_len
        type: size_t
      item_type: struct
      name: tlsv1_server
      pos:
        line_end: 70
        line_start: 11
        source_file: /src/hostap/src/tls/tlsv1_server_i.h
    typedefs: []
    union: []
- function_names:
  - asn1_valid_der_boolean
  - asn1_valid_der
  - asn1_get_next
  - asn1_print_hdr
  - asn1_unexpected
  - asn1_parse_oid
  - asn1_get_oid
  - asn1_oid_to_str
  - rotate_bits
  - asn1_bit_string_to_long
  - asn1_oid_equal
  - asn1_get_integer
  - asn1_get_sequence
  - asn1_get_alg_id
  - asn1_put_integer
  - asn1_put_len
  - asn1_put_octet_string
  - asn1_put_oid
  - asn1_put_hdr
  - asn1_put_sequence
  - asn1_put_set
  - asn1_put_utf8string
  - asn1_build_alg_id
  - asn1_encaps
  source_file: /src/hostap/src/tls/asn1.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - x509_free_name
  - x509_certificate_free
  - x509_certificate_chain_free
  - x509_whitespace
  - x509_str_strip_whitespace
  - x509_str_compare
  - x509_name_compare
  - x509_parse_algorithm_identifier
  - x509_parse_public_key
  - x509_parse_name
  - x509_name_attr_str
  - x509_name_string
  - parse_uint2
  - parse_uint4
  - x509_parse_time
  - x509_parse_validity
  - x509_id_ce_oid
  - x509_any_ext_key_usage_oid
  - x509_parse_ext_key_usage
  - x509_parse_ext_basic_constraints
  - x509_parse_alt_name_rfc8222
  - x509_parse_alt_name_dns
  - x509_parse_alt_name_uri
  - x509_parse_alt_name_ip
  - x509_parse_alt_name_rid
  - x509_parse_ext_alt_name
  - x509_parse_ext_subject_alt_name
  - x509_parse_ext_issuer_alt_name
  - x509_id_cert_policy_any_oid
  - x509_id_wfa_oid
  - x509_id_wfa_tod_oid
  - x509_id_wfa_tod_strict_oid
  - x509_id_wfa_tod_tofu_oid
  - x509_parse_ext_certificate_policies
  - x509_id_pkix_oid
  - x509_id_kp_oid
  - x509_id_kp_server_auth_oid
  - x509_id_kp_client_auth_oid
  - x509_id_kp_ocsp_oid
  - x509_parse_ext_ext_key_usage
  - x509_parse_extension_data
  - x509_parse_extension
  - x509_parse_extensions
  - x509_parse_tbs_certificate
  - x509_rsadsi_oid
  - x509_pkcs_oid
  - x509_digest_oid
  - x509_sha1_oid
  - x509_sha2_oid
  - x509_sha256_oid
  - x509_sha384_oid
  - x509_sha512_oid
  - x509_certificate_parse
  - x509_certificate_check_signature
  - x509_check_signature
  - x509_valid_issuer
  - x509_certificate_chain_validate
  - x509_certificate_get_subject
  - x509_certificate_self_signed
  source_file: /src/hostap/src/tls/x509v3.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tls_get_cipher_suite
  - tls_get_cipher_data
  - tls_server_key_exchange_allowed
  - tls_parse_cert
  - tls_verify_hash_init
  - tls_verify_hash_add
  - tls_verify_hash_free
  - tls_version_ok
  - tls_version_str
  - tls_prf
  - tlsv12_key_x_server_params_hash
  - tls_key_x_server_params_hash
  - tls_verify_signature
  source_file: /src/hostap/src/tls/tlsv1_common.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NUM_TLS_CIPHER_SUITES
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/hostap/src/tls/tlsv1_common.c
      type_or_value: ARRAY_SIZE(tls_cipher_suites)
    - item_type: preproc_def
      name: NUM_TLS_CIPHER_DATA
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/hostap/src/tls/tlsv1_common.c
      type_or_value: ARRAY_SIZE(tls_ciphers)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/tls/tlsv1_server.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: "(*tlsv1_server_session_ticket_cb)\n(void *ctx, const u8 *ticket, size_t
        len, const u8 *client_random,\n const u8 *server_random, u8 *master_secret)"
      pos:
        line_end: 42
        line_start: 40
        source_file: /src/hostap/src/tls/tlsv1_server.h
      type: int
    union: []
- function_names: []
  source_file: /src/hostap/src/tls/rsa.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/tls/tlsv1_record.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TLS_MAX_WRITE_MAC_SECRET_LEN
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/hostap/src/tls/tlsv1_record.h
      type_or_value: '32'
    - item_type: preproc_def
      name: TLS_MAX_WRITE_KEY_LEN
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/hostap/src/tls/tlsv1_record.h
      type_or_value: '32'
    - item_type: preproc_def
      name: TLS_MAX_IV_LEN
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/hostap/src/tls/tlsv1_record.h
      type_or_value: '16'
    - item_type: preproc_def
      name: TLS_MAX_KEY_BLOCK_LEN
      pos:
        line_end: 18
        line_start: 16
        source_file: /src/hostap/src/tls/tlsv1_record.h
      type_or_value: "(2 * (TLS_MAX_WRITE_MAC_SECRET_LEN + \\\n\t\t\t\t    TLS_MAX_WRITE_KEY_LEN
        + TLS_MAX_IV_LEN))"
    - item_type: preproc_def
      name: TLS_SEQ_NUM_LEN
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/hostap/src/tls/tlsv1_record.h
      type_or_value: '8'
    - item_type: preproc_def
      name: TLS_RECORD_HEADER_LEN
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/hostap/src/tls/tlsv1_record.h
      type_or_value: '5'
    structs:
    - fields:
      - name: tls_version
        type: u16
      - name: write_mac_secret[TLS_MAX_WRITE_MAC_SECRET_LEN]
        type: u8
      - name: read_mac_secret[TLS_MAX_WRITE_MAC_SECRET_LEN]
        type: u8
      - name: write_key[TLS_MAX_WRITE_KEY_LEN]
        type: u8
      - name: read_key[TLS_MAX_WRITE_KEY_LEN]
        type: u8
      - name: write_iv[TLS_MAX_IV_LEN]
        type: u8
      - name: read_iv[TLS_MAX_IV_LEN]
        type: u8
      - name: hash_size
        type: size_t
      - name: key_material_len
        type: size_t
      - name: iv_size
        type: size_t
      - name: hash_alg
        type: enum crypto_hash_alg
      - name: cipher_alg
        type: enum crypto_cipher_alg
      - name: write_seq_num[TLS_SEQ_NUM_LEN]
        type: u8
      - name: read_seq_num[TLS_SEQ_NUM_LEN]
        type: u8
      - name: cipher_suite
        type: u16
      - name: write_cipher_suite
        type: u16
      - name: read_cipher_suite
        type: u16
      - name: '*write_cbc'
        type: struct crypto_cipher
      - name: '*read_cbc'
        type: struct crypto_cipher
      item_type: struct
      name: tlsv1_record_layer
      pos:
        line_end: 56
        line_start: 30
        source_file: /src/hostap/src/tls/tlsv1_record.h
    typedefs: []
    union: []
- function_names:
  - crypto_rsa_parse_integer
  - crypto_rsa_import_public_key
  - crypto_rsa_import_public_key_parts
  - crypto_rsa_import_private_key
  - crypto_rsa_get_modulus_len
  - crypto_rsa_exptmod
  - crypto_rsa_free
  source_file: /src/hostap/src/tls/rsa.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: private_key
        type: int
      - name: '*n'
        type: struct bignum
      - name: '*e'
        type: struct bignum
      - name: '*d'
        type: struct bignum
      - name: '*p'
        type: struct bignum
      - name: '*q'
        type: struct bignum
      - name: '*dmp1'
        type: struct bignum
      - name: '*dmq1'
        type: struct bignum
      - name: '*iqmp'
        type: struct bignum
      item_type: struct
      name: crypto_rsa_key
      pos:
        line_end: 27
        line_start: 16
        source_file: /src/hostap/src/tls/rsa.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/tls/bignum.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tls_client_cert_chain_der_len
  - tls_send_client_hello
  - tls_write_client_certificate
  - tlsv1_key_x_dh
  - tlsv1_key_x_rsa
  - tls_write_client_key_exchange
  - tls_write_client_change_cipher_spec
  - tls_send_client_key_exchange
  - tls_send_change_cipher_spec
  - tlsv1_client_handshake_write
  - tlsv1_client_send_alert
  source_file: /src/hostap/src/tls/tlsv1_client_write.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tls_server_cert_chain_der_len
  - tls_write_server_hello
  - tls_write_server_certificate
  - tls_write_server_certificate_status
  - tls_write_server_key_exchange
  - tls_write_server_certificate_request
  - tls_write_server_hello_done
  - tls_write_server_change_cipher_spec
  - tls_send_server_hello
  - tls_send_change_cipher_spec
  - tlsv1_server_handshake_write
  - tlsv1_server_send_alert
  source_file: /src/hostap/src/tls/tlsv1_server_write.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - testing_cipher_suite_filter
  - tls_process_status_request_item
  - tls_process_status_request_v2
  - tls_process_client_hello
  - tls_process_certificate
  - tls_process_client_key_exchange_rsa
  - tls_process_client_key_exchange_dh
  - tls_process_client_key_exchange
  - tls_process_change_cipher_spec
  - tlsv1_server_process_handshake
  source_file: /src/hostap/src/tls/tlsv1_server_read.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - asn1_is_oid
  - asn1_is_boolean
  - asn1_is_integer
  - asn1_is_enumerated
  - asn1_is_sequence
  - asn1_is_set
  - asn1_is_octetstring
  - asn1_is_bitstring
  - asn1_is_utctime
  - asn1_is_generalizedtime
  - asn1_is_string_type
  - asn1_is_bmpstring
  - asn1_is_utf8string
  - asn1_is_null
  - asn1_is_cs_tag
  source_file: /src/hostap/src/tls/asn1.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ASN1_TAG_EOC
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/hostap/src/tls/asn1.h
      type_or_value: '0x00 '
    - item_type: preproc_def
      name: ASN1_TAG_BOOLEAN
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/hostap/src/tls/asn1.h
      type_or_value: '0x01'
    - item_type: preproc_def
      name: ASN1_TAG_INTEGER
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/hostap/src/tls/asn1.h
      type_or_value: '0x02'
    - item_type: preproc_def
      name: ASN1_TAG_BITSTRING
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/hostap/src/tls/asn1.h
      type_or_value: '0x03'
    - item_type: preproc_def
      name: ASN1_TAG_OCTETSTRING
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/hostap/src/tls/asn1.h
      type_or_value: '0x04'
    - item_type: preproc_def
      name: ASN1_TAG_NULL
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/hostap/src/tls/asn1.h
      type_or_value: '0x05'
    - item_type: preproc_def
      name: ASN1_TAG_OID
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/hostap/src/tls/asn1.h
      type_or_value: '0x06'
    - item_type: preproc_def
      name: ASN1_TAG_OBJECT_DESCRIPTOR
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/hostap/src/tls/asn1.h
      type_or_value: '0x07 '
    - item_type: preproc_def
      name: ASN1_TAG_EXTERNAL
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/hostap/src/tls/asn1.h
      type_or_value: '0x08 '
    - item_type: preproc_def
      name: ASN1_TAG_REAL
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/hostap/src/tls/asn1.h
      type_or_value: '0x09 '
    - item_type: preproc_def
      name: ASN1_TAG_ENUMERATED
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/hostap/src/tls/asn1.h
      type_or_value: '0x0A '
    - item_type: preproc_def
      name: ASN1_TAG_EMBEDDED_PDV
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/hostap/src/tls/asn1.h
      type_or_value: '0x0B '
    - item_type: preproc_def
      name: ASN1_TAG_UTF8STRING
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/hostap/src/tls/asn1.h
      type_or_value: '0x0C '
    - item_type: preproc_def
      name: ANS1_TAG_RELATIVE_OID
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/hostap/src/tls/asn1.h
      type_or_value: '0x0D'
    - item_type: preproc_def
      name: ASN1_TAG_TIME
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/hostap/src/tls/asn1.h
      type_or_value: '0x0E'
    - item_type: preproc_def
      name: ASN1_TAG_SEQUENCE
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/hostap/src/tls/asn1.h
      type_or_value: '0x10 '
    - item_type: preproc_def
      name: ASN1_TAG_SET
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/hostap/src/tls/asn1.h
      type_or_value: '0x11'
    - item_type: preproc_def
      name: ASN1_TAG_NUMERICSTRING
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/hostap/src/tls/asn1.h
      type_or_value: '0x12 '
    - item_type: preproc_def
      name: ASN1_TAG_PRINTABLESTRING
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/hostap/src/tls/asn1.h
      type_or_value: '0x13'
    - item_type: preproc_def
      name: ASN1_TAG_T61STRING
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/hostap/src/tls/asn1.h
      type_or_value: '0x14 '
    - item_type: preproc_def
      name: ASN1_TAG_VIDEOTEXSTRING
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/hostap/src/tls/asn1.h
      type_or_value: '0x15 '
    - item_type: preproc_def
      name: ASN1_TAG_IA5STRING
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/hostap/src/tls/asn1.h
      type_or_value: '0x16'
    - item_type: preproc_def
      name: ASN1_TAG_UTCTIME
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/hostap/src/tls/asn1.h
      type_or_value: '0x17'
    - item_type: preproc_def
      name: ASN1_TAG_GENERALIZEDTIME
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/hostap/src/tls/asn1.h
      type_or_value: '0x18 '
    - item_type: preproc_def
      name: ASN1_TAG_GRAPHICSTRING
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/hostap/src/tls/asn1.h
      type_or_value: '0x19 '
    - item_type: preproc_def
      name: ASN1_TAG_VISIBLESTRING
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/hostap/src/tls/asn1.h
      type_or_value: '0x1A'
    - item_type: preproc_def
      name: ASN1_TAG_GENERALSTRING
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/hostap/src/tls/asn1.h
      type_or_value: '0x1B '
    - item_type: preproc_def
      name: ASN1_TAG_UNIVERSALSTRING
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/hostap/src/tls/asn1.h
      type_or_value: '0x1C '
    - item_type: preproc_def
      name: ASN1_TAG_CHARACTERSTRING
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/hostap/src/tls/asn1.h
      type_or_value: '0x1D '
    - item_type: preproc_def
      name: ASN1_TAG_BMPSTRING
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/hostap/src/tls/asn1.h
      type_or_value: '0x1E '
    - item_type: preproc_def
      name: ASN1_CLASS_UNIVERSAL
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/hostap/src/tls/asn1.h
      type_or_value: '0'
    - item_type: preproc_def
      name: ASN1_CLASS_APPLICATION
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/hostap/src/tls/asn1.h
      type_or_value: '1'
    - item_type: preproc_def
      name: ASN1_CLASS_CONTEXT_SPECIFIC
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/hostap/src/tls/asn1.h
      type_or_value: '2'
    - item_type: preproc_def
      name: ASN1_CLASS_PRIVATE
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/hostap/src/tls/asn1.h
      type_or_value: '3'
    - item_type: preproc_def
      name: ASN1_MAX_OID_LEN
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/hostap/src/tls/asn1.h
      type_or_value: '20'
    structs:
    - fields:
      - name: '*payload'
        type: u8
      - name: identifier
        type: u8
      - name: tag
        type: unsigned int
      item_type: struct
      name: asn1_hdr
      pos:
        line_end: 52
        line_start: 48
        source_file: /src/hostap/src/tls/asn1.h
    - fields:
      - name: oid[ASN1_MAX_OID_LEN]
        type: unsigned long
      - name: len
        type: size_t
      item_type: struct
      name: asn1_oid
      pos:
        line_end: 58
        line_start: 55
        source_file: /src/hostap/src/tls/asn1.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/tls/x509v3.h
  types:
    enum:
    - enumerators:
      - name: X509_NAME_ATTR_NOT_USED
      - name: X509_NAME_ATTR_L
      - name: X509_NAME_ATTR_C
      - name: X509_NAME_ATTR_CN
      - name: X509_NAME_ATTR_DC
      - name: X509_NAME_ATTR_ST
      - name: X509_NAME_ATTR_O
      - name: X509_NAME_ATTR_OU
      item_type: enum
      name: x509_name_attr_type
      pos:
        line_end: 27
        line_start: 18
        source_file: /src/hostap/src/tls/x509v3.h
    preproc_defs:
    - item_type: preproc_def
      name: X509_MAX_NAME_ATTRIBUTES
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/hostap/src/tls/x509v3.h
      type_or_value: '20'
    - item_type: preproc_def
      name: X509_MAX_SERIAL_NUM_LEN
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/hostap/src/tls/x509v3.h
      type_or_value: '20'
    - item_type: preproc_def
      name: X509_EXT_BASIC_CONSTRAINTS
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/hostap/src/tls/x509v3.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: X509_EXT_PATH_LEN_CONSTRAINT
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/hostap/src/tls/x509v3.h
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: X509_EXT_KEY_USAGE
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/hostap/src/tls/x509v3.h
      type_or_value: (1 << 2)
    - item_type: preproc_def
      name: X509_EXT_SUBJECT_ALT_NAME
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/hostap/src/tls/x509v3.h
      type_or_value: (1 << 3)
    - item_type: preproc_def
      name: X509_EXT_ISSUER_ALT_NAME
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/hostap/src/tls/x509v3.h
      type_or_value: (1 << 4)
    - item_type: preproc_def
      name: X509_EXT_EXT_KEY_USAGE
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/hostap/src/tls/x509v3.h
      type_or_value: (1 << 5)
    - item_type: preproc_def
      name: X509_EXT_CERTIFICATE_POLICY
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/hostap/src/tls/x509v3.h
      type_or_value: (1 << 6)
    - item_type: preproc_def
      name: X509_KEY_USAGE_DIGITAL_SIGNATURE
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/hostap/src/tls/x509v3.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: X509_KEY_USAGE_NON_REPUDIATION
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/hostap/src/tls/x509v3.h
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: X509_KEY_USAGE_KEY_ENCIPHERMENT
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/hostap/src/tls/x509v3.h
      type_or_value: (1 << 2)
    - item_type: preproc_def
      name: X509_KEY_USAGE_DATA_ENCIPHERMENT
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/hostap/src/tls/x509v3.h
      type_or_value: (1 << 3)
    - item_type: preproc_def
      name: X509_KEY_USAGE_KEY_AGREEMENT
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/hostap/src/tls/x509v3.h
      type_or_value: (1 << 4)
    - item_type: preproc_def
      name: X509_KEY_USAGE_KEY_CERT_SIGN
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/hostap/src/tls/x509v3.h
      type_or_value: (1 << 5)
    - item_type: preproc_def
      name: X509_KEY_USAGE_CRL_SIGN
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/hostap/src/tls/x509v3.h
      type_or_value: (1 << 6)
    - item_type: preproc_def
      name: X509_KEY_USAGE_ENCIPHER_ONLY
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/hostap/src/tls/x509v3.h
      type_or_value: (1 << 7)
    - item_type: preproc_def
      name: X509_KEY_USAGE_DECIPHER_ONLY
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/hostap/src/tls/x509v3.h
      type_or_value: (1 << 8)
    - item_type: preproc_def
      name: X509_EXT_KEY_USAGE_ANY
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/hostap/src/tls/x509v3.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: X509_EXT_KEY_USAGE_SERVER_AUTH
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/hostap/src/tls/x509v3.h
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: X509_EXT_KEY_USAGE_CLIENT_AUTH
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/hostap/src/tls/x509v3.h
      type_or_value: (1 << 2)
    - item_type: preproc_def
      name: X509_EXT_KEY_USAGE_OCSP
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/hostap/src/tls/x509v3.h
      type_or_value: (1 << 3)
    - item_type: preproc_def
      name: X509_EXT_CERT_POLICY_ANY
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/hostap/src/tls/x509v3.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: X509_EXT_CERT_POLICY_TOD_STRICT
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/hostap/src/tls/x509v3.h
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: X509_EXT_CERT_POLICY_TOD_TOFU
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/hostap/src/tls/x509v3.h
      type_or_value: (1 << 2)
    structs:
    - fields:
      - name: oid
        type: struct asn1_oid
      item_type: struct
      name: x509_algorithm_identifier
      pos:
        line_end: 15
        line_start: 13
        source_file: /src/hostap/src/tls/x509v3.h
    - fields:
      - name: type
        type: "enum x509_name_attr_type {\n\t\tX509_NAME_ATTR_NOT_USED,\n\t\tX509_NAME_ATTR_DC,\n\t\tX509_NAME_ATTR_CN,\n\t\tX509_NAME_ATTR_C,\n\t\tX509_NAME_ATTR_L,\n\t\tX509_NAME_ATTR_ST,\n\t\tX509_NAME_ATTR_O,\n\t\tX509_NAME_ATTR_OU\n\t}"
      - name: '*value'
        type: char
      item_type: struct
      name: x509_name_attr
      pos:
        line_end: 29
        line_start: 17
        source_file: /src/hostap/src/tls/x509v3.h
    - fields:
      - name: attr[X509_MAX_NAME_ATTRIBUTES]
        type: struct x509_name_attr
      - name: num_attr
        type: size_t
      - name: '*email'
        type: char
      - name: '*alt_email'
        type: char
      - name: '*dns'
        type: char
      - name: '*uri'
        type: char
      - name: '*ip'
        type: u8
      - name: ip_len
        type: size_t
      - name: rid
        type: struct asn1_oid
      item_type: struct
      name: x509_name
      pos:
        line_end: 45
        line_start: 33
        source_file: /src/hostap/src/tls/x509v3.h
    - fields:
      - name: '*next'
        type: struct x509_certificate
      - name: version
        type: enum { X509_CERT_V1 = 0, X509_CERT_V2 = 1, X509_CERT_V3 = 2 }
      - name: serial_number[X509_MAX_SERIAL_NUM_LEN]
        type: u8
      - name: serial_number_len
        type: size_t
      - name: signature
        type: struct x509_algorithm_identifier
      - name: issuer
        type: struct x509_name
      - name: subject
        type: struct x509_name
      - name: '*subject_dn'
        type: u8
      - name: subject_dn_len
        type: size_t
      - name: not_before
        type: os_time_t
      - name: not_after
        type: os_time_t
      - name: public_key_alg
        type: struct x509_algorithm_identifier
      - name: '*public_key'
        type: u8
      - name: public_key_len
        type: size_t
      - name: signature_alg
        type: struct x509_algorithm_identifier
      - name: '*sign_value'
        type: u8
      - name: sign_value_len
        type: size_t
      - name: extensions_present
        type: unsigned int
      - name: ca
        type: int
      - name: path_len_constraint
        type: unsigned long
      - name: key_usage
        type: unsigned long
      - name: ext_key_usage
        type: unsigned long
      - name: certificate_policy
        type: unsigned long
      - name: '*cert_start'
        type: u8
      - name: cert_len
        type: size_t
      - name: '*tbs_cert_start'
        type: u8
      - name: tbs_cert_len
        type: size_t
      - name: ocsp_good
        type: unsigned int
      - name: ocsp_revoked
        type: unsigned int
      - name: issuer_trusted
        type: unsigned int
      item_type: struct
      name: x509_certificate
      pos:
        line_end: 120
        line_start: 49
        source_file: /src/hostap/src/tls/x509v3.h
    typedefs: []
    union: []
- function_names:
  - tlsv1_server_log
  - tlsv1_server_alert
  - tlsv1_server_derive_keys
  - tlsv1_server_handshake
  - tlsv1_server_encrypt
  - tlsv1_server_decrypt
  - tlsv1_server_global_init
  - tlsv1_server_global_deinit
  - tlsv1_server_init
  - tlsv1_server_clear_data
  - tlsv1_server_deinit
  - tlsv1_server_established
  - tlsv1_server_prf
  - tlsv1_server_get_cipher
  - tlsv1_server_shutdown
  - tlsv1_server_resumed
  - tlsv1_server_get_random
  - tlsv1_server_get_keyblock_size
  - tlsv1_server_set_cipher_list
  - tlsv1_server_set_verify
  - tlsv1_server_set_session_ticket_cb
  - tlsv1_server_set_log_cb
  - tlsv1_server_get_failed
  - tlsv1_server_get_read_alerts
  - tlsv1_server_get_write_alerts
  - tlsv1_server_set_test_flags
  - tlsv1_server_get_dh_p
  source_file: /src/hostap/src/tls/tlsv1_server.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/tls/pkcs5.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/tls/tlsv1_common.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TLS_VERSION_1
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '0x0301 '
    - item_type: preproc_def
      name: TLS_VERSION_1_1
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '0x0302 '
    - item_type: preproc_def
      name: TLS_VERSION_1_2
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '0x0303 '
    - item_type: preproc_def
      name: TLS_VERSION
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: TLS_VERSION_1_2
    - item_type: preproc_def
      name: TLS_VERSION
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: TLS_VERSION_1_1
    - item_type: preproc_def
      name: TLS_VERSION
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: TLS_VERSION_1
    - item_type: preproc_def
      name: TLS_RANDOM_LEN
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '32'
    - item_type: preproc_def
      name: TLS_PRE_MASTER_SECRET_LEN
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '48'
    - item_type: preproc_def
      name: TLS_MASTER_SECRET_LEN
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '48'
    - item_type: preproc_def
      name: TLS_SESSION_ID_MAX_LEN
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '32'
    - item_type: preproc_def
      name: TLS_VERIFY_DATA_LEN
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '12'
    - item_type: preproc_def
      name: TLS_NULL_WITH_NULL_NULL
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '0x0000 '
    - item_type: preproc_def
      name: TLS_RSA_WITH_NULL_MD5
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '0x0001 '
    - item_type: preproc_def
      name: TLS_RSA_WITH_NULL_SHA
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '0x0002 '
    - item_type: preproc_def
      name: TLS_RSA_EXPORT_WITH_RC4_40_MD5
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '0x0003 '
    - item_type: preproc_def
      name: TLS_RSA_WITH_RC4_128_MD5
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '0x0004 '
    - item_type: preproc_def
      name: TLS_RSA_WITH_RC4_128_SHA
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '0x0005 '
    - item_type: preproc_def
      name: TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '0x0006 '
    - item_type: preproc_def
      name: TLS_RSA_WITH_IDEA_CBC_SHA
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '0x0007 '
    - item_type: preproc_def
      name: TLS_RSA_EXPORT_WITH_DES40_CBC_SHA
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '0x0008 '
    - item_type: preproc_def
      name: TLS_RSA_WITH_DES_CBC_SHA
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '0x0009 '
    - item_type: preproc_def
      name: TLS_RSA_WITH_3DES_EDE_CBC_SHA
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '0x000A '
    - item_type: preproc_def
      name: TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '0x000B '
    - item_type: preproc_def
      name: TLS_DH_DSS_WITH_DES_CBC_SHA
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '0x000C '
    - item_type: preproc_def
      name: TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '0x000D '
    - item_type: preproc_def
      name: TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '0x000E '
    - item_type: preproc_def
      name: TLS_DH_RSA_WITH_DES_CBC_SHA
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '0x000F '
    - item_type: preproc_def
      name: TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '0x0010 '
    - item_type: preproc_def
      name: TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '0x0011 '
    - item_type: preproc_def
      name: TLS_DHE_DSS_WITH_DES_CBC_SHA
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '0x0012 '
    - item_type: preproc_def
      name: TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '0x0013 '
    - item_type: preproc_def
      name: TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '0x0014 '
    - item_type: preproc_def
      name: TLS_DHE_RSA_WITH_DES_CBC_SHA
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '0x0015 '
    - item_type: preproc_def
      name: TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '0x0016 '
    - item_type: preproc_def
      name: TLS_DH_anon_EXPORT_WITH_RC4_40_MD5
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '0x0017 '
    - item_type: preproc_def
      name: TLS_DH_anon_WITH_RC4_128_MD5
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '0x0018 '
    - item_type: preproc_def
      name: TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '0x0019 '
    - item_type: preproc_def
      name: TLS_DH_anon_WITH_DES_CBC_SHA
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '0x001A '
    - item_type: preproc_def
      name: TLS_DH_anon_WITH_3DES_EDE_CBC_SHA
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '0x001B '
    - item_type: preproc_def
      name: TLS_RSA_WITH_AES_128_CBC_SHA
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '0x002F '
    - item_type: preproc_def
      name: TLS_DH_DSS_WITH_AES_128_CBC_SHA
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '0x0030 '
    - item_type: preproc_def
      name: TLS_DH_RSA_WITH_AES_128_CBC_SHA
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '0x0031 '
    - item_type: preproc_def
      name: TLS_DHE_DSS_WITH_AES_128_CBC_SHA
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '0x0032 '
    - item_type: preproc_def
      name: TLS_DHE_RSA_WITH_AES_128_CBC_SHA
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '0x0033 '
    - item_type: preproc_def
      name: TLS_DH_anon_WITH_AES_128_CBC_SHA
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '0x0034 '
    - item_type: preproc_def
      name: TLS_RSA_WITH_AES_256_CBC_SHA
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '0x0035 '
    - item_type: preproc_def
      name: TLS_DH_DSS_WITH_AES_256_CBC_SHA
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '0x0036 '
    - item_type: preproc_def
      name: TLS_DH_RSA_WITH_AES_256_CBC_SHA
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '0x0037 '
    - item_type: preproc_def
      name: TLS_DHE_DSS_WITH_AES_256_CBC_SHA
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '0x0038 '
    - item_type: preproc_def
      name: TLS_DHE_RSA_WITH_AES_256_CBC_SHA
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '0x0039 '
    - item_type: preproc_def
      name: TLS_DH_anon_WITH_AES_256_CBC_SHA
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '0x003A '
    - item_type: preproc_def
      name: TLS_RSA_WITH_NULL_SHA256
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '0x003B '
    - item_type: preproc_def
      name: TLS_RSA_WITH_AES_128_CBC_SHA256
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '0x003C '
    - item_type: preproc_def
      name: TLS_RSA_WITH_AES_256_CBC_SHA256
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '0x003D '
    - item_type: preproc_def
      name: TLS_DH_DSS_WITH_AES_128_CBC_SHA256
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '0x003E '
    - item_type: preproc_def
      name: TLS_DH_RSA_WITH_AES_128_CBC_SHA256
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '0x003F '
    - item_type: preproc_def
      name: TLS_DHE_DSS_WITH_AES_128_CBC_SHA256
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '0x0040 '
    - item_type: preproc_def
      name: TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '0x0067 '
    - item_type: preproc_def
      name: TLS_DH_DSS_WITH_AES_256_CBC_SHA256
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '0x0068 '
    - item_type: preproc_def
      name: TLS_DH_RSA_WITH_AES_256_CBC_SHA256
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '0x0069 '
    - item_type: preproc_def
      name: TLS_DHE_DSS_WITH_AES_256_CBC_SHA256
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '0x006A '
    - item_type: preproc_def
      name: TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '0x006B '
    - item_type: preproc_def
      name: TLS_DH_anon_WITH_AES_128_CBC_SHA256
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '0x006C '
    - item_type: preproc_def
      name: TLS_DH_anon_WITH_AES_256_CBC_SHA256
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '0x006D '
    - item_type: preproc_def
      name: TLS_COMPRESSION_NULL
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '0'
    - item_type: preproc_def
      name: TLS_ALERT_LEVEL_WARNING
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '1'
    - item_type: preproc_def
      name: TLS_ALERT_LEVEL_FATAL
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '2'
    - item_type: preproc_def
      name: TLS_ALERT_CLOSE_NOTIFY
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '0'
    - item_type: preproc_def
      name: TLS_ALERT_UNEXPECTED_MESSAGE
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '10'
    - item_type: preproc_def
      name: TLS_ALERT_BAD_RECORD_MAC
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '20'
    - item_type: preproc_def
      name: TLS_ALERT_DECRYPTION_FAILED
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '21'
    - item_type: preproc_def
      name: TLS_ALERT_RECORD_OVERFLOW
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '22'
    - item_type: preproc_def
      name: TLS_ALERT_DECOMPRESSION_FAILURE
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '30'
    - item_type: preproc_def
      name: TLS_ALERT_HANDSHAKE_FAILURE
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '40'
    - item_type: preproc_def
      name: TLS_ALERT_BAD_CERTIFICATE
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '42'
    - item_type: preproc_def
      name: TLS_ALERT_UNSUPPORTED_CERTIFICATE
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '43'
    - item_type: preproc_def
      name: TLS_ALERT_CERTIFICATE_REVOKED
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '44'
    - item_type: preproc_def
      name: TLS_ALERT_CERTIFICATE_EXPIRED
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '45'
    - item_type: preproc_def
      name: TLS_ALERT_CERTIFICATE_UNKNOWN
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '46'
    - item_type: preproc_def
      name: TLS_ALERT_ILLEGAL_PARAMETER
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '47'
    - item_type: preproc_def
      name: TLS_ALERT_UNKNOWN_CA
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '48'
    - item_type: preproc_def
      name: TLS_ALERT_ACCESS_DENIED
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '49'
    - item_type: preproc_def
      name: TLS_ALERT_DECODE_ERROR
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '50'
    - item_type: preproc_def
      name: TLS_ALERT_DECRYPT_ERROR
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '51'
    - item_type: preproc_def
      name: TLS_ALERT_EXPORT_RESTRICTION
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '60'
    - item_type: preproc_def
      name: TLS_ALERT_PROTOCOL_VERSION
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '70'
    - item_type: preproc_def
      name: TLS_ALERT_INSUFFICIENT_SECURITY
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '71'
    - item_type: preproc_def
      name: TLS_ALERT_INTERNAL_ERROR
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '80'
    - item_type: preproc_def
      name: TLS_ALERT_USER_CANCELED
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '90'
    - item_type: preproc_def
      name: TLS_ALERT_NO_RENEGOTIATION
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '100'
    - item_type: preproc_def
      name: TLS_ALERT_UNSUPPORTED_EXTENSION
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '110 '
    - item_type: preproc_def
      name: TLS_ALERT_CERTIFICATE_UNOBTAINABLE
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '111 '
    - item_type: preproc_def
      name: TLS_ALERT_UNRECOGNIZED_NAME
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '112 '
    - item_type: preproc_def
      name: TLS_ALERT_BAD_CERTIFICATE_STATUS_RESPONSE
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '113 '
    - item_type: preproc_def
      name: TLS_ALERT_BAD_CERTIFICATE_HASH_VALUE
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '114 '
    - item_type: preproc_def
      name: TLS_EXT_SERVER_NAME
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '0 '
    - item_type: preproc_def
      name: TLS_EXT_MAX_FRAGMENT_LENGTH
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '1 '
    - item_type: preproc_def
      name: TLS_EXT_CLIENT_CERTIFICATE_URL
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '2 '
    - item_type: preproc_def
      name: TLS_EXT_TRUSTED_CA_KEYS
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '3 '
    - item_type: preproc_def
      name: TLS_EXT_TRUNCATED_HMAC
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '4 '
    - item_type: preproc_def
      name: TLS_EXT_STATUS_REQUEST
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '5 '
    - item_type: preproc_def
      name: TLS_EXT_SIGNATURE_ALGORITHMS
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '13 '
    - item_type: preproc_def
      name: TLS_EXT_STATUS_REQUEST_V2
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '17 '
    - item_type: preproc_def
      name: TLS_EXT_SESSION_TICKET
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: '35 '
    - item_type: preproc_def
      name: TLS_EXT_PAC_OPAQUE
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/hostap/src/tls/tlsv1_common.h
      type_or_value: 'TLS_EXT_SESSION_TICKET '
    structs:
    - fields:
      - name: suite
        type: u16
      - name: key_exchange
        type: tls_key_exchange
      - name: cipher
        type: tls_cipher
      - name: hash
        type: tls_hash
      item_type: struct
      name: tls_cipher_suite
      pos:
        line_end: 215
        line_start: 210
        source_file: /src/hostap/src/tls/tlsv1_common.h
    - fields:
      - name: cipher
        type: tls_cipher
      - name: type
        type: tls_cipher_type
      - name: key_material
        type: size_t
      - name: expanded_key_material
        type: size_t
      - name: block_size
        type: size_t
      - name: alg
        type: enum crypto_cipher_alg
      item_type: struct
      name: tls_cipher_data
      pos:
        line_end: 229
        line_start: 222
        source_file: /src/hostap/src/tls/tlsv1_common.h
    - fields:
      - name: '*md5_client'
        type: struct crypto_hash
      - name: '*sha1_client'
        type: struct crypto_hash
      - name: '*sha256_client'
        type: struct crypto_hash
      - name: '*md5_server'
        type: struct crypto_hash
      - name: '*sha1_server'
        type: struct crypto_hash
      - name: '*sha256_server'
        type: struct crypto_hash
      - name: '*md5_cert'
        type: struct crypto_hash
      - name: '*sha1_cert'
        type: struct crypto_hash
      - name: '*sha256_cert'
        type: struct crypto_hash
      item_type: struct
      name: tls_verify_hash
      pos:
        line_end: 242
        line_start: 232
        source_file: /src/hostap/src/tls/tlsv1_common.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/tls/tlsv1_client.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: "(*tlsv1_client_session_ticket_cb)\n(void *ctx, const u8 *ticket, size_t
        len, const u8 *client_random,\n const u8 *server_random, u8 *master_secret)"
      pos:
        line_end: 48
        line_start: 46
        source_file: /src/hostap/src/tls/tlsv1_client.h
      type: int
    union: []
- function_names:
  - is_oid_basic_ocsp_resp
  - ocsp_responder_id_match
  - ocsp_hash_data
  - tls_process_ocsp_single_response
  - tls_process_ocsp_responses
  - tls_process_basic_ocsp_response
  - tls_process_ocsp_response
  source_file: /src/hostap/src/tls/tlsv1_client_ocsp.c
  types:
    enum:
    - enumerators:
      - name: OCSP_RESP_STATUS_SUCCESSFUL
        value: '0'
      - name: OCSP_RESP_STATUS_MALFORMED_REQ
        value: '1'
      - name: OCSP_RESP_STATUS_INT_ERROR
        value: '2'
      - name: OCSP_RESP_STATUS_SIG_REQUIRED
        value: '5'
      - name: OCSP_RESP_STATUS_TRY_LATER
        value: '3'
      - name: OCSP_RESP_STATUS_UNAUTHORIZED
        value: '6'
      item_type: enum
      name: ocsp_response_status
      pos:
        line_end: 30
        line_start: 22
        source_file: /src/hostap/src/tls/tlsv1_client_ocsp.c
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - bignum_init
  - bignum_deinit
  - bignum_get_unsigned_bin_len
  - bignum_get_unsigned_bin
  - bignum_set_unsigned_bin
  - bignum_cmp
  - bignum_cmp_d
  - bignum_add
  - bignum_sub
  - bignum_mul
  - bignum_mulmod
  - bignum_exptmod
  source_file: /src/hostap/src/tls/bignum.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pkcs1_generate_encryption_block
  - pkcs1_encrypt
  - pkcs1_v15_private_key_decrypt
  - pkcs1_decrypt_public_key
  - pkcs1_v15_sig_ver
  source_file: /src/hostap/src/tls/pkcs1.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pkcs8_key_import
  - pkcs8_enc_key_import
  source_file: /src/hostap/src/tls/pkcs8.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tls_version_disabled
  - tls_process_server_hello_extensions
  - tls_process_server_hello
  - tls_peer_cert_event
  - tls_cert_chain_failure_event
  - tls_process_certificate
  - count_bits
  - tlsv1_process_diffie_hellman
  - tls_process_certificate_status_ocsp_response
  - tls_process_certificate_status
  - tls_process_server_key_exchange
  - tls_process_certificate_request
  - tls_process_server_hello_done
  - tls_process_server_change_cipher_spec
  - tls_process_application_data
  - tlsv1_client_process_handshake
  source_file: /src/hostap/src/tls/tlsv1_client_read.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/tls/pkcs1.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/tls/pkcs8.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tlsv1_cred_alloc
  - tlsv1_cred_free
  - tlsv1_add_cert_der
  - search_tag
  - tlsv1_add_cert
  - tlsv1_set_cert_chain
  - tlsv1_set_ca_cert
  - tlsv1_set_cert
  - tlsv1_set_key_pem
  - tlsv1_set_key_enc_pem
  - oid_is_rsadsi
  - pkcs12_is_bagtype_oid
  - is_oid_pkcs7
  - is_oid_pkcs7_data
  - is_oid_pkcs7_enc_data
  - is_oid_pkcs9
  - is_oid_pkcs9_friendly_name
  - is_oid_pkcs9_local_key_id
  - is_oid_pkcs9_x509_cert
  - pkcs12_keybag
  - pkcs12_pkcs8_keybag
  - pkcs12_certbag
  - pkcs12_parse_attr_friendly_name
  - pkcs12_parse_attr_local_key_id
  - pkcs12_parse_attr
  - pkcs12_safebag
  - pkcs12_safecontents
  - pkcs12_parse_content_data
  - pkcs12_parse_content_enc_data
  - pkcs12_parse_content
  - pkcs12_parse
  - tlsv1_set_key
  - tlsv1_set_private_key
  - tlsv1_set_dhparams_der
  - tlsv1_set_dhparams_blob
  - tlsv1_set_dhparams
  source_file: /src/hostap/src/tls/tlsv1_cred.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mp_iszero
  - mp_iseven
  - mp_isodd
  - s_mp_mul
  - bn_reverse
  - s_mp_add
  - s_mp_sub
  - mp_init
  - mp_clear
  - mp_add
  - mp_sub
  - mp_mul
  - mp_mulmod
  - mp_mod
  - mp_cmp
  - mp_cmp_d
  - mp_invmod
  - mp_unsigned_bin_size
  - mp_invmod_slow
  - mp_cmp_mag
  - mp_read_unsigned_bin
  - mp_to_unsigned_bin
  - mp_div_2d
  - mp_init_copy
  - mp_zero
  - mp_copy
  - mp_rshd
  - mp_exch
  - mp_clamp
  - mp_grow
  - mp_abs
  - mp_set
  - mp_div_2
  - mp_mul_2d
  - mp_init_multi
  - mp_clear_multi
  - mp_lshd
  - mp_count_bits
  - mp_mod_2d
  - mp_div
  - mp_div
  - s_mp_exptmod
  - mp_sqr
  - mp_reduce_2k_l
  - mp_reduce_2k_setup_l
  - mp_2expt
  - mp_reduce_setup
  - mp_reduce
  - s_mp_mul_digs
  - fast_s_mp_mul_digs
  - mp_init_size
  - s_mp_sqr
  - s_mp_mul_high_digs
  - mp_montgomery_setup
  - fast_mp_montgomery_reduce
  - mp_mul_2
  - mp_montgomery_calc_normalization
  - mp_exptmod_fast
  - fast_s_mp_sqr
  - mp_mul_d
  source_file: /src/hostap/src/tls/libtommath.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CHAR_BIT
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/hostap/src/tls/libtommath.c
      type_or_value: '8'
    - item_type: preproc_def
      name: DIGIT_BIT
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/hostap/src/tls/libtommath.c
      type_or_value: '60'
    - item_type: preproc_def
      name: DIGIT_BIT
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/hostap/src/tls/libtommath.c
      type_or_value: '28'
    - item_type: preproc_def
      name: XMALLOC
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/hostap/src/tls/libtommath.c
      type_or_value: os_malloc
    - item_type: preproc_def
      name: XFREE
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/hostap/src/tls/libtommath.c
      type_or_value: os_free
    - item_type: preproc_def
      name: XREALLOC
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/hostap/src/tls/libtommath.c
      type_or_value: os_realloc
    - item_type: preproc_def
      name: MP_MASK
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/hostap/src/tls/libtommath.c
      type_or_value: ((((mp_digit)1)<<((mp_digit)DIGIT_BIT))-((mp_digit)1))
    - item_type: preproc_def
      name: MP_LT
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/hostap/src/tls/libtommath.c
      type_or_value: '-1   '
    - item_type: preproc_def
      name: MP_EQ
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/hostap/src/tls/libtommath.c
      type_or_value: '0   '
    - item_type: preproc_def
      name: MP_GT
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/hostap/src/tls/libtommath.c
      type_or_value: '1   '
    - item_type: preproc_def
      name: MP_ZPOS
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/hostap/src/tls/libtommath.c
      type_or_value: '0   '
    - item_type: preproc_def
      name: MP_NEG
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/hostap/src/tls/libtommath.c
      type_or_value: '1   '
    - item_type: preproc_def
      name: MP_OKAY
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/hostap/src/tls/libtommath.c
      type_or_value: '0   '
    - item_type: preproc_def
      name: MP_MEM
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/hostap/src/tls/libtommath.c
      type_or_value: '-2  '
    - item_type: preproc_def
      name: MP_VAL
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/hostap/src/tls/libtommath.c
      type_or_value: '-3  '
    - item_type: preproc_def
      name: MP_YES
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/hostap/src/tls/libtommath.c
      type_or_value: '1   '
    - item_type: preproc_def
      name: MP_NO
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/hostap/src/tls/libtommath.c
      type_or_value: '0   '
    - item_type: preproc_def
      name: MP_PREC
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/hostap/src/tls/libtommath.c
      type_or_value: '32     '
    - item_type: preproc_def
      name: MP_PREC
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/hostap/src/tls/libtommath.c
      type_or_value: '8      '
    - item_type: preproc_def
      name: MP_WARRAY
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/hostap/src/tls/libtommath.c
      type_or_value: (1 << (sizeof(mp_word) * CHAR_BIT - 2 * DIGIT_BIT + 1))
    - item_type: preproc_def
      name: TAB_SIZE
      pos:
        line_end: 1870
        line_start: 1869
        source_file: /src/hostap/src/tls/libtommath.c
      type_or_value: '32'
    - item_type: preproc_def
      name: TAB_SIZE
      pos:
        line_end: 1872
        line_start: 1871
        source_file: /src/hostap/src/tls/libtommath.c
      type_or_value: '256'
    structs:
    - fields:
      - name: used
        type: int
      - name: '*dp'
        type: mp_digit
      item_type: struct
      name: mp_int
      pos:
        line_end: 120
        line_start: 117
        source_file: /src/hostap/src/tls/libtommath.c
    typedefs:
    - item_type: typedef
      name: mp_digit
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/hostap/src/tls/libtommath.c
      type: unsigned long
    - item_type: typedef
      name: mp_word
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/hostap/src/tls/libtommath.c
      type: unsigned long
    - item_type: typedef
      name: mp_digit
      pos:
        line_end: 70
        line_start: 70
        source_file: /src/hostap/src/tls/libtommath.c
      type: unsigned long
    - item_type: typedef
      name: mp_word
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/hostap/src/tls/libtommath.c
      type: u64
    - item_type: typedef
      name: mp_err
      pos:
        line_end: 99
        line_start: 99
        source_file: /src/hostap/src/tls/libtommath.c
      type: int
    union: []
- function_names:
  - tlsv1_record_set_cipher_suite
  - tlsv1_record_change_write_cipher
  - tlsv1_record_change_read_cipher
  - tlsv1_record_send
  - tlsv1_record_receive
  source_file: /src/hostap/src/tls/tlsv1_record.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tls_alert
  - tlsv1_client_free_dh
  - tls_client_highest_ver
  - tls_derive_pre_master_secret
  - tls_derive_keys
  - tlsv1_client_handshake
  - tlsv1_client_encrypt
  - tlsv1_client_decrypt
  - tlsv1_client_global_init
  - tlsv1_client_global_deinit
  - tlsv1_client_init
  - tlsv1_client_deinit
  - tlsv1_client_established
  - tlsv1_client_prf
  - tlsv1_client_get_cipher
  - tlsv1_client_shutdown
  - tlsv1_client_resumed
  - tlsv1_client_hello_ext
  - tlsv1_client_get_random
  - tlsv1_client_get_keyblock_size
  - tlsv1_client_set_cipher_list
  - tlsv1_client_set_cred
  - tlsv1_client_set_flags
  - tlsv1_client_set_session_ticket_cb
  - tlsv1_client_set_cb
  - tlsv1_client_get_version
  source_file: /src/hostap/src/tls/tlsv1_client.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - oid_is_rsadsi
  - pkcs5_is_oid
  - enc_alg_is_oid
  - pkcs12_is_pbe_oid
  - pkcs5_get_alg
  - pkcs5_get_params_pbes2
  - pkcs5_get_params
  - pkcs5_crypto_init_pbes2
  - add_byte_array_mod
  - pkcs12_key_gen
  - pkcs12_crypto_init_sha1
  - pkcs5_crypto_init
  - pkcs5_decrypt
  source_file: /src/hostap/src/tls/pkcs5.c
  types:
    enum:
    - enumerators:
      - name: PKCS5_ALG_UNKNOWN
      - name: PKCS5_ALG_MD5_DES_CBC
      - name: PKCS5_ALG_SHA1_3DES_CBC
      - name: PKCS5_ALG_PBES2
      item_type: enum
      name: pkcs5_alg
      pos:
        line_end: 24
        line_start: 19
        source_file: /src/hostap/src/tls/pkcs5.c
    - enumerators:
      - name: PBES2_ENC_ALG_UNKNOWN
      - name: PBES2_ENC_ALG_DES_EDE3_CBC
      item_type: enum
      name: pbes2_enc_alg
      pos:
        line_end: 31
        line_start: 28
        source_file: /src/hostap/src/tls/pkcs5.c
    preproc_defs:
    - item_type: preproc_def
      name: PKCS12_ID_ENC
      pos:
        line_end: 484
        line_start: 483
        source_file: /src/hostap/src/tls/pkcs5.c
      type_or_value: '1'
    - item_type: preproc_def
      name: PKCS12_ID_IV
      pos:
        line_end: 485
        line_start: 484
        source_file: /src/hostap/src/tls/pkcs5.c
      type_or_value: '2'
    - item_type: preproc_def
      name: PKCS12_ID_MAC
      pos:
        line_end: 486
        line_start: 485
        source_file: /src/hostap/src/tls/pkcs5.c
      type_or_value: '3'
    structs:
    - fields:
      - name: alg
        type: "enum pkcs5_alg {\n\t\tPKCS5_ALG_UNKNOWN,\n\t\tPKCS5_ALG_MD5_DES_CBC,\n\t\tPKCS5_ALG_PBES2,\n\t\tPKCS5_ALG_SHA1_3DES_CBC,\n\t}"
      - name: salt[64]
        type: u8
      - name: salt_len
        type: size_t
      - name: iter_count
        type: unsigned int
      - name: enc_alg
        type: "enum pbes2_enc_alg {\n\t\tPBES2_ENC_ALG_UNKNOWN,\n\t\tPBES2_ENC_ALG_DES_EDE3_CBC,\n\t}"
      - name: iv[8]
        type: u8
      - name: iv_len
        type: size_t
      item_type: struct
      name: pkcs5_params
      pos:
        line_end: 34
        line_start: 18
        source_file: /src/hostap/src/tls/pkcs5.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/tls/tlsv1_client_i.h
  types:
    enum:
    - enumerators:
      - name: TLS_OCSP_NO_RESPONSE
      - name: TLS_OCSP_INVALID
      - name: TLS_OCSP_GOOD
      - name: TLS_OCSP_REVOKED
      item_type: enum
      name: tls_ocsp_result
      pos:
        line_end: 96
        line_start: 94
        source_file: /src/hostap/src/tls/tlsv1_client_i.h
    preproc_defs:
    - item_type: preproc_def
      name: MAX_CIPHER_COUNT
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/hostap/src/tls/tlsv1_client_i.h
      type_or_value: '30'
    structs:
    - fields:
      - name: state
        type: "enum {\n\t\tCLIENT_HELLO, SERVER_HELLO, SERVER_CERTIFICATE,\n\t\tSERVER_KEY_EXCHANGE,
          SERVER_CERTIFICATE_REQUEST,\n\t\tSERVER_HELLO_DONE, CLIENT_KEY_EXCHANGE,
          CHANGE_CIPHER_SPEC,\n\t\tSERVER_CHANGE_CIPHER_SPEC, SERVER_FINISHED, ACK_FINISHED,\n\t\tESTABLISHED,
          FAILED\n\t}"
      - name: rl
        type: struct tlsv1_record_layer
      - name: session_id[TLS_SESSION_ID_MAX_LEN]
        type: u8
      - name: session_id_len
        type: size_t
      - name: client_random[TLS_RANDOM_LEN]
        type: u8
      - name: server_random[TLS_RANDOM_LEN]
        type: u8
      - name: master_secret[TLS_MASTER_SECRET_LEN]
        type: u8
      - name: alert_level
        type: u8
      - name: alert_description
        type: u8
      - name: flags
        type: unsigned int
      - name: certificate_requested
        type: unsigned int
      - name: session_resumed
        type: unsigned int
      - name: session_ticket_included
        type: unsigned int
      - name: use_session_ticket
        type: unsigned int
      - name: cert_in_cb
        type: unsigned int
      - name: ocsp_resp_received
        type: unsigned int
      - name: '*server_rsa_key'
        type: struct crypto_public_key
      - name: verify
        type: struct tls_verify_hash
      - name: cipher_suites[MAX_CIPHER_COUNT]
        type: u16
      - name: num_cipher_suites
        type: size_t
      - name: prev_cipher_suite
        type: u16
      - name: '*client_hello_ext'
        type: u8
      - name: client_hello_ext_len
        type: size_t
      - name: '*dh_p'
        type: u8
      - name: dh_p_len
        type: size_t
      - name: '*dh_g'
        type: u8
      - name: dh_g_len
        type: size_t
      - name: '*dh_ys'
        type: u8
      - name: dh_ys_len
        type: size_t
      - name: '*cred'
        type: struct tlsv1_credentials
      - name: session_ticket_cb
        type: tlsv1_client_session_ticket_cb
      - name: '*session_ticket_cb_ctx'
        type: void
      - name: '*partial_input'
        type: struct wpabuf
      - name: "(*event_cb)(void *ctx, enum tls_event ev,\n\t\t\t union tls_event_data
          *data)"
        type: void
      - name: '*cb_ctx'
        type: void
      - name: '*server_cert'
        type: struct x509_certificate
      item_type: struct
      name: tlsv1_client
      pos:
        line_end: 75
        line_start: 11
        source_file: /src/hostap/src/tls/tlsv1_client_i.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/tls/tlsv1_cred.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*trusted_certs'
        type: struct x509_certificate
      - name: '*cert'
        type: struct x509_certificate
      - name: '*key'
        type: struct crypto_private_key
      - name: cert_probe
        type: unsigned int
      - name: ca_cert_verify
        type: unsigned int
      - name: server_cert_only
        type: unsigned int
      - name: srv_cert_hash[32]
        type: u8
      - name: '*dh_p'
        type: u8
      - name: dh_p_len
        type: size_t
      - name: '*dh_g'
        type: u8
      - name: dh_g_len
        type: size_t
      - name: '*ocsp_stapling_response'
        type: char
      - name: '*ocsp_stapling_response_multi'
        type: char
      item_type: struct
      name: tlsv1_credentials
      pos:
        line_end: 29
        line_start: 11
        source_file: /src/hostap/src/tls/tlsv1_cred.h
    typedefs: []
    union: []
- function_names:
  - wpa_tdls_get_link_bssid
  - wpa_tdls_get_privacy
  - wpa_add_ie
  - wpa_tdls_del_key
  - wpa_tdls_set_key
  - wpa_tdls_send_tpk_msg
  - wpa_tdls_tpk_send
  - wpa_tdls_do_teardown
  - wpa_tdls_tpk_retry_timeout
  - wpa_tdls_tpk_retry_timeout_cancel
  - wpa_tdls_generate_tpk
  - wpa_tdls_ftie_mic
  - wpa_tdls_key_mic_teardown
  - wpa_supplicant_verify_tdls_mic
  - wpa_supplicant_verify_tdls_mic_teardown
  - wpa_tdls_tpk_timeout
  - wpa_tdls_peer_remove_from_list
  - wpa_tdls_peer_clear
  - wpa_tdls_peer_free
  - wpa_tdls_linkid
  - wpa_tdls_send_teardown
  - wpa_tdls_teardown_link
  - wpa_tdls_disable_peer_link
  - wpa_tdls_disable_unreachable_link
  - wpa_tdls_get_link_status
  - wpa_tdls_recv_teardown
  - wpa_tdls_send_error
  - wpa_tdls_add_peer
  - wpa_tdls_send_tpk_m1
  - wpa_tdls_send_tpk_m2
  - wpa_tdls_send_tpk_m3
  - wpa_tdls_send_discovery_response
  - wpa_tdls_is_lnkid_bss_valid
  - wpa_tdls_process_discovery_request
  - wpa_tdls_send_discovery_request
  - copy_supp_rates
  - copy_peer_ht_capab
  - copy_peer_vht_capab
  - copy_peer_he_capab
  - copy_peer_he_6ghz_band_capab
  - copy_peer_ext_capab
  - copy_peer_eht_capab
  - copy_peer_wmm_capab
  - copy_peer_supp_channels
  - copy_peer_supp_oper_classes
  - wpa_tdls_addset_peer
  - tdls_nonce_set
  - wpa_tdls_process_tpk_m1
  - wpa_tdls_enable_link
  - wpa_tdls_process_tpk_m2
  - wpa_tdls_process_tpk_m3
  - wpa_add_tdls_timeoutie
  - wpa_tdls_start
  - wpa_tdls_remove
  - wpa_supplicant_rx_tdls
  - wpa_tdls_init
  - wpa_tdls_teardown_peers
  - wpa_tdls_remove_peers
  - wpa_tdls_deinit
  - wpa_tdls_assoc
  - wpa_tdls_disassoc
  - wpa_tdls_prohibited
  - wpa_tdls_chan_switch_prohibited
  - wpa_tdls_ap_ies
  - wpa_tdls_assoc_resp_ies
  - wpa_tdls_enable
  - wpa_tdls_is_external_setup
  - wpa_tdls_process_discovery_response
  - wpa_tdls_enable_chan_switch
  - wpa_tdls_disable_chan_switch
  source_file: /src/hostap/src/rsn_supp/tdls.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TDLS_TESTING_LONG_FRAME
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/hostap/src/rsn_supp/tdls.c
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: TDLS_TESTING_ALT_RSN_IE
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/hostap/src/rsn_supp/tdls.c
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: TDLS_TESTING_DIFF_BSSID
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/hostap/src/rsn_supp/tdls.c
      type_or_value: BIT(2)
    - item_type: preproc_def
      name: TDLS_TESTING_SHORT_LIFETIME
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/hostap/src/rsn_supp/tdls.c
      type_or_value: BIT(3)
    - item_type: preproc_def
      name: TDLS_TESTING_WRONG_LIFETIME_RESP
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/hostap/src/rsn_supp/tdls.c
      type_or_value: BIT(4)
    - item_type: preproc_def
      name: TDLS_TESTING_WRONG_LIFETIME_CONF
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/hostap/src/rsn_supp/tdls.c
      type_or_value: BIT(5)
    - item_type: preproc_def
      name: TDLS_TESTING_LONG_LIFETIME
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/hostap/src/rsn_supp/tdls.c
      type_or_value: BIT(6)
    - item_type: preproc_def
      name: TDLS_TESTING_CONCURRENT_INIT
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/hostap/src/rsn_supp/tdls.c
      type_or_value: BIT(7)
    - item_type: preproc_def
      name: TDLS_TESTING_NO_TPK_EXPIRATION
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/hostap/src/rsn_supp/tdls.c
      type_or_value: BIT(8)
    - item_type: preproc_def
      name: TDLS_TESTING_DECLINE_RESP
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/hostap/src/rsn_supp/tdls.c
      type_or_value: BIT(9)
    - item_type: preproc_def
      name: TDLS_TESTING_IGNORE_AP_PROHIBIT
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/hostap/src/rsn_supp/tdls.c
      type_or_value: BIT(10)
    - item_type: preproc_def
      name: TDLS_TESTING_WRONG_MIC
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/hostap/src/rsn_supp/tdls.c
      type_or_value: BIT(11)
    - item_type: preproc_def
      name: TDLS_TESTING_DOUBLE_TPK_M2
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/hostap/src/rsn_supp/tdls.c
      type_or_value: BIT(12)
    - item_type: preproc_def
      name: TPK_LIFETIME
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/hostap/src/rsn_supp/tdls.c
      type_or_value: '43200 '
    - item_type: preproc_def
      name: TPK_M1_RETRY_COUNT
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/hostap/src/rsn_supp/tdls.c
      type_or_value: '3'
    - item_type: preproc_def
      name: TPK_M1_TIMEOUT
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/hostap/src/rsn_supp/tdls.c
      type_or_value: '5000 '
    - item_type: preproc_def
      name: TPK_M2_RETRY_COUNT
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/hostap/src/rsn_supp/tdls.c
      type_or_value: '10'
    - item_type: preproc_def
      name: TPK_M2_TIMEOUT
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/hostap/src/rsn_supp/tdls.c
      type_or_value: '500 '
    - item_type: preproc_def
      name: TDLS_MIC_LEN
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/hostap/src/rsn_supp/tdls.c
      type_or_value: '16'
    - item_type: preproc_def
      name: TDLS_TIMEOUT_LEN
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/hostap/src/rsn_supp/tdls.c
      type_or_value: '4'
    - item_type: preproc_def
      name: TDLS_MAX_IE_LEN
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/hostap/src/rsn_supp/tdls.c
      type_or_value: '80'
    - item_type: preproc_def
      name: IEEE80211_MAX_SUPP_RATES
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/hostap/src/rsn_supp/tdls.c
      type_or_value: '32'
    structs:
    - fields:
      - name: ie_type
        type: u8
      - name: ie_len
        type: u8
      - name: mic_ctrl[2]
        type: u8
      - name: mic[TDLS_MIC_LEN]
        type: u8
      - name: Anonce[WPA_NONCE_LEN]
        type: u8
      - name: Snonce[WPA_NONCE_LEN]
        type: u8
      item_type: struct
      name: wpa_tdls_ftie
      pos:
        line_end: 59
        line_start: 51
        source_file: /src/hostap/src/rsn_supp/tdls.c
    - fields:
      - name: ie_type
        type: u8
      - name: ie_len
        type: u8
      - name: interval_type
        type: u8
      - name: value[TDLS_TIMEOUT_LEN]
        type: u8
      item_type: struct
      name: wpa_tdls_timeoutie
      pos:
        line_end: 66
        line_start: 61
        source_file: /src/hostap/src/rsn_supp/tdls.c
    - fields:
      - name: ie_type
        type: u8
      - name: ie_len
        type: u8
      - name: bssid[ETH_ALEN]
        type: u8
      - name: init_sta[ETH_ALEN]
        type: u8
      - name: resp_sta[ETH_ALEN]
        type: u8
      item_type: struct
      name: wpa_tdls_lnkid
      pos:
        line_end: 74
        line_start: 68
        source_file: /src/hostap/src/rsn_supp/tdls.c
    - fields:
      - name: payloadtype
        type: u8
      - name: category
        type: u8
      - name: action
        type: u8
      item_type: struct
      name: wpa_tdls_frame
      pos:
        line_end: 81
        line_start: 77
        source_file: /src/hostap/src/rsn_supp/tdls.c
    - fields:
      - name: '*next'
        type: struct wpa_tdls_peer
      - name: reconfig_key
        type: unsigned int
      - name: initiator
        type: int
      - name: addr[ETH_ALEN]
        type: u8
      - name: inonce[WPA_NONCE_LEN]
        type: u8
      - name: rnonce[WPA_NONCE_LEN]
        type: u8
      - name: rsnie_i[TDLS_MAX_IE_LEN]
        type: u8
      - name: rsnie_i_len
        type: size_t
      - name: rsnie_p[TDLS_MAX_IE_LEN]
        type: u8
      - name: rsnie_p_len
        type: size_t
      - name: lifetime
        type: u32
      - name: cipher
        type: int
      - name: dtoken
        type: u8
      - name: tpk
        type: "struct tpk {\n\t\tu8 kck[16]; /* TPK-KCK */\n\t\tu8 tk[16]; /* TPK-TK;
          assuming only CCMP will be used */\n\t}"
      - name: tpk_set
        type: int
      - name: tk_set
        type: int
      - name: tpk_success
        type: int
      - name: tpk_in_progress
        type: int
      - name: sm_tmr
        type: "struct tpk_timer {\n\t\tu8 dest[ETH_ALEN];\n\t\tint count;      /*
          Retry Count */\n\t\tint timer;      /* Timeout in milliseconds */\n\t\tu8
          action_code; /* TDLS frame type */\n\t\tu8 dialog_token;\n\t\tu16 status_code;\n\t\tu32
          peer_capab;\n\t\tint buf_len;    /* length of TPK message for retransmission
          */\n\t\tu8 *buf;        /* buffer for TPK message */\n\t}"
      - name: capability
        type: u16
      - name: supp_rates[IEEE80211_MAX_SUPP_RATES]
        type: u8
      - name: supp_rates_len
        type: size_t
      - name: '*ht_capabilities'
        type: struct ieee80211_ht_capabilities
      - name: '*vht_capabilities'
        type: struct ieee80211_vht_capabilities
      - name: '*he_capabilities'
        type: struct ieee80211_he_capabilities
      - name: he_capab_len
        type: size_t
      - name: '*he_6ghz_band_capabilities'
        type: struct ieee80211_he_6ghz_band_cap
      - name: '*eht_capabilities'
        type: struct ieee80211_eht_capabilities
      - name: eht_capab_len
        type: size_t
      - name: qos_info
        type: u8
      - name: aid
        type: u16
      - name: '*ext_capab'
        type: u8
      - name: ext_capab_len
        type: size_t
      - name: '*supp_channels'
        type: u8
      - name: supp_channels_len
        type: size_t
      - name: '*supp_oper_classes'
        type: u8
      - name: supp_oper_classes_len
        type: size_t
      - name: wmm_capable
        type: u8
      - name: chan_switch_enabled
        type: int
      - name: mld_link_id
        type: int
      - name: disc_resp_rcvd
        type: bool
      - name: setup_req_rcvd
        type: bool
      item_type: struct
      name: wpa_tdls_peer
      pos:
        line_end: 165
        line_start: 95
        source_file: /src/hostap/src/rsn_supp/tdls.c
    - fields:
      - name: kck[16]
        type: u8
      - name: tk[16]
        type: u8
      item_type: struct
      name: tpk
      pos:
        line_end: 113
        line_start: 110
        source_file: /src/hostap/src/rsn_supp/tdls.c
    - fields:
      - name: dest[ETH_ALEN]
        type: u8
      - name: count
        type: int
      - name: timer
        type: int
      - name: action_code
        type: u8
      - name: dialog_token
        type: u8
      - name: status_code
        type: u16
      - name: peer_capab
        type: u32
      - name: buf_len
        type: int
      - name: '*buf'
        type: u8
      item_type: struct
      name: tpk_timer
      pos:
        line_end: 129
        line_start: 119
        source_file: /src/hostap/src/rsn_supp/tdls.c
    typedefs: []
    union: []
- function_names:
  - pmksa_candidate_free
  - rsn_preauth_candidate_process
  - rsn_preauth_init
  - rsn_preauth_deinit
  - rsn_preauth_scan_results
  - rsn_preauth_scan_result
  - pmksa_candidate_add
  - rsn_preauth_get_status
  - rsn_preauth_in_progress
  source_file: /src/hostap/src/rsn_supp/preauth.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - wpa_ft_pasn_store_r1kh
  - wpa_derive_ptk_ft
  - wpa_sm_set_ft_params
  - wpa_ft_gen_req_ies
  - wpa_ft_install_ptk
  - wpa_ft_prepare_auth_request
  - wpa_ft_add_mdie
  - wpa_sm_get_ft_md
  - wpa_ft_process_response
  - wpa_ft_is_completed
  - wpa_reset_ft_completed
  - wpa_ft_process_gtk_subelem
  - wpa_ft_process_igtk_subelem
  - wpa_ft_process_bigtk_subelem
  - wpa_ft_validate_reassoc_resp
  - wpa_ft_start_over_ds
  - wpa_ft_pasn_get_r1kh
  - wpa_ft_pasn_store_r1kh
  - wpa_pasn_ft_derive_pmk_r1
  source_file: /src/hostap/src/rsn_supp/wpa_ft.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - wpa_sm_set_state
  - wpa_sm_get_state
  - wpa_sm_deauthenticate
  - wpa_sm_set_key
  - wpa_sm_reconnect
  - wpa_sm_get_network_ctx
  - wpa_sm_get_bssid
  - wpa_sm_ether_send
  - wpa_sm_get_beacon_ie
  - wpa_sm_cancel_auth_timeout
  - wpa_sm_alloc_eapol
  - wpa_sm_add_pmkid
  - wpa_sm_remove_pmkid
  - wpa_sm_mlme_setprotection
  - wpa_sm_update_ft_ies
  - wpa_sm_send_ft_action
  - wpa_sm_mark_authenticated
  - wpa_sm_set_rekey_offload
  - wpa_sm_tdls_get_capa
  - wpa_sm_send_tdls_mgmt
  - wpa_sm_tdls_oper
  - wpa_sm_tdls_peer_addset
  - wpa_sm_tdls_enable_channel_switch
  - wpa_sm_tdls_disable_channel_switch
  - wpa_sm_key_mgmt_set_pmk
  - wpa_sm_fils_hlp_rx
  - wpa_sm_channel_info
  - wpa_sm_transition_disable
  - wpa_sm_store_ptk
  - wpa_sm_set_ltf_keyseed
  - wpa_sm_notify_pmksa_cache_entry
  - wpa_sm_ssid_verified
  source_file: /src/hostap/src/rsn_supp/wpa_i.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: bssid[ETH_ALEN]
        type: u8
      - name: r1kh_id[FT_R1KH_ID_LEN]
        type: u8
      item_type: struct
      name: pasn_ft_r1kh
      pos:
        line_end: 19
        line_start: 16
        source_file: /src/hostap/src/rsn_supp/wpa_i.h
    - fields:
      - name: pmk[PMK_LEN_MAX]
        type: u8
      - name: pmk_len
        type: size_t
      - name: ptk
        type: struct wpa_ptk
      - name: hash_alg
        type: enum rsn_hash_alg
      - name: ptk_set
        type: int
      - name: tk_set
        type: bool
      - name: msg_3_of_4_ok
        type: unsigned int
      - name: snonce[WPA_NONCE_LEN]
        type: u8
      - name: anonce[WPA_NONCE_LEN]
        type: u8
      - name: renew_snonce
        type: int
      - name: rx_replay_counter[WPA_REPLAY_COUNTER_LEN]
        type: u8
      - name: rx_replay_counter_set
        type: int
      - name: request_counter[WPA_REPLAY_COUNTER_LEN]
        type: u8
      - name: gtk
        type: struct wpa_gtk
      - name: gtk_wnm_sleep
        type: struct wpa_gtk
      - name: igtk
        type: struct wpa_igtk
      - name: igtk_wnm_sleep
        type: struct wpa_igtk
      - name: bigtk
        type: struct wpa_bigtk
      - name: bigtk_wnm_sleep
        type: struct wpa_bigtk
      - name: '*eapol'
        type: struct eapol_sm
      - name: '*pmksa'
        type: struct rsn_pmksa_cache
      - name: '*cur_pmksa'
        type: struct rsn_pmksa_cache_entry
      - name: pmksa_candidates
        type: struct dl_list
      - name: '*l2_preauth'
        type: struct l2_packet_data
      - name: '*l2_preauth_br'
        type: struct l2_packet_data
      - name: '*l2_tdls'
        type: struct l2_packet_data
      - name: preauth_bssid[ETH_ALEN]
        type: u8
      - name: '*preauth_eapol'
        type: struct eapol_sm
      - name: '*ctx'
        type: struct wpa_sm_ctx
      - name: '*scard_ctx'
        type: void
      - name: fast_reauth
        type: int
      - name: '*network_ctx'
        type: void
      - name: allowed_pairwise_cipher
        type: int
      - name: proactive_key_caching
        type: int
      - name: eap_workaround
        type: int
      - name: '*eap_conf_ctx'
        type: void
      - name: ssid[32]
        type: u8
      - name: ssid_len
        type: size_t
      - name: wpa_ptk_rekey
        type: int
      - name: wpa_deny_ptk0_rekey
        type: unsigned int
      - name: p2p
        type: int
      - name: wpa_rsc_relaxation
        type: int
      - name: owe_ptk_workaround
        type: int
      - name: beacon_prot
        type: int
      - name: ext_key_id
        type: int
      - name: use_ext_key_id
        type: int
      - name: keyidx_active
        type: int
      - name: force_kdk_derivation
        type: bool
      - name: own_addr[ETH_ALEN]
        type: u8
      - name: '*ifname'
        type: char
      - name: '*bridge_ifname'
        type: char
      - name: bssid[ETH_ALEN]
        type: u8
      - name: dot11RSNAConfigPMKLifetime
        type: unsigned int
      - name: dot11RSNAConfigPMKReauthThreshold
        type: unsigned int
      - name: dot11RSNAConfigSATimeout
        type: unsigned int
      - name: dot11RSNA4WayHandshakeFailures
        type: unsigned int
      - name: proto
        type: unsigned int
      - name: pairwise_cipher
        type: unsigned int
      - name: group_cipher
        type: unsigned int
      - name: key_mgmt
        type: unsigned int
      - name: mgmt_group_cipher
        type: unsigned int
      - name: rsn_enabled
        type: int
      - name: mfp
        type: int
      - name: ocv
        type: int
      - name: sae_pwe
        type: enum sae_pwe
      - name: sae_pk
        type: unsigned int
      - name: secure_ltf
        type: unsigned int
      - name: secure_rtt
        type: unsigned int
      - name: prot_range_neg
        type: unsigned int
      - name: prot_range_neg_x20
        type: unsigned int
      - name: ssid_protection
        type: unsigned int
      - name: spp_amsdu
        type: unsigned int
      - name: sae_pw_id_change
        type: unsigned int
      - name: assoc_encryption
        type: unsigned int
      - name: pmksa_privacy
        type: unsigned int
      - name: eap_over_auth_frame
        type: unsigned int
      - name: '*assoc_wpa_ie'
        type: u8
      - name: assoc_wpa_ie_len
        type: size_t
      - name: '*assoc_rsnxe'
        type: u8
      - name: assoc_rsnxe_len
        type: size_t
      - name: '*ap_wpa_ie'
        type: u8
      - name: ap_wpa_ie_len
        type: size_t
      - name: '*ap_rsne_override'
        type: u8
      - name: ap_rsne_override_len
        type: size_t
      - name: mlo
        type: struct wpa_sm_mlo
      - name: wmm_enabled
        type: bool
      - name: driver_bss_selection
        type: bool
      - name: ft_prepend_pmkid
        type: bool
      - name: rsn_override_support
        type: bool
      - name: rsn_override
        type: enum wpa_rsn_override
      - name: last_kck[WPA_KCK_MAX_LEN]
        type: u8
      - name: last_kck_len
        type: size_t
      - name: last_kck_pmk_len
        type: size_t
      - name: last_kck_key_mgmt
        type: unsigned int
      - name: last_kck_eapol_key_ver
        type: int
      - name: last_kck_aa[ETH_ALEN]
        type: u8
      - name: last_eapol_key_ver
        type: int
      item_type: struct
      name: wpa_sm
      pos:
        line_end: 259
        line_start: 24
        source_file: /src/hostap/src/rsn_supp/wpa_i.h
    typedefs: []
    union: []
- function_names:
  - pmksa_candidate_free
  - rsn_preauth_key_mgmt
  - rsn_preauth_receive
  - rsn_preauth_eapol_cb
  - rsn_preauth_timeout
  - rsn_preauth_eapol_send
  - rsn_preauth_init
  - rsn_preauth_deinit
  - rsn_preauth_candidate_process
  - pmksa_candidate_add
  - rsn_preauth_scan_results
  - rsn_preauth_scan_result
  - rsn_preauth_get_status
  - rsn_preauth_in_progress
  source_file: /src/hostap/src/rsn_supp/preauth.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PMKID_CANDIDATE_PRIO_SCAN
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/hostap/src/rsn_supp/preauth.c
      type_or_value: '1000'
    structs:
    - fields:
      - name: list
        type: struct dl_list
      - name: bssid[ETH_ALEN]
        type: u8
      - name: priority
        type: int
      item_type: struct
      name: rsn_pmksa_candidate
      pos:
        line_end: 29
        line_start: 25
        source_file: /src/hostap/src/rsn_supp/preauth.c
    typedefs: []
    union: []
- function_names:
  - wpa_sm_init
  - wpa_sm_deinit
  - wpa_sm_notify_assoc
  - wpa_sm_notify_disassoc
  - wpa_sm_set_pmk
  - wpa_sm_set_pmk_from_pmksa
  - wpa_sm_set_fast_reauth
  - wpa_sm_set_scard_ctx
  - wpa_sm_set_config
  - wpa_sm_set_ssid
  - wpa_sm_set_own_addr
  - wpa_sm_set_ifname
  - wpa_sm_set_eapol
  - wpa_sm_set_assoc_wpa_ie
  - wpa_sm_set_assoc_wpa_ie_default
  - wpa_sm_set_ap_wpa_ie
  - wpa_sm_set_ap_rsn_ie
  - wpa_sm_set_ap_rsnxe
  - wpa_sm_set_ap_rsne_override
  - wpa_sm_set_ap_rsne_override_2
  - wpa_sm_set_ap_rsnxe_override
  - wpa_sm_get_mib
  - wpa_sm_set_param
  - wpa_sm_get_status
  - wpa_sm_pmf_enabled
  - wpa_sm_ext_key_id
  - wpa_sm_ext_key_id_active
  - wpa_sm_ocv_enabled
  - wpa_sm_key_request
  - wpa_parse_wpa_ie
  - wpa_sm_aborted_cached
  - wpa_sm_aborted_external_cached
  - wpa_sm_rx_eapol
  - wpa_sm_parse_own_wpa_ie
  - wpa_sm_pmksa_cache_list
  - wpa_sm_drop_sa
  - wpa_sm_pmksa_cache_get
  - wpa_sm_has_ptk_installed
  - wpa_sm_update_replay_ctr
  - wpa_sm_external_pmksa_cache_flush
  - wpa_sm_external_pmksa_cache_flush_addr
  - wpa_sm_pmksa_cache_flush
  - wpa_sm_set_rx_replay_ctr
  - wpa_sm_set_ptk_kck_kek
  - wpa_fils_is_completed
  - wpa_eppke_is_completed
  - wpa_eap_over_auth_frame_is_completed
  - wpa_sm_pmksa_cache_reconfig
  - wpa_sm_set_mlo_params
  - wpa_sm_set_driver_bss_selection
  - wpa_sm_uses_spp_amsdu
  - wpa_sm_set_ft_params
  - wpa_ft_prepare_auth_request
  - wpa_ft_add_mdie
  - wpa_ft_process_response
  - wpa_ft_is_completed
  - wpa_reset_ft_completed
  - wpa_ft_validate_reassoc_resp
  - wpa_pasn_ft_derive_pmk_r1
  source_file: /src/hostap/src/rsn_supp/wpa.h
  types:
    enum:
    - enumerators:
      - name: WPA_PARAM_GROUP
      - name: WPA_PARAM_MFP
      - name: WPA_PARAM_DENY_PTK0_REKEY
      - name: WPA_PARAM_DPP_PFS
      - name: WPA_PARAM_OCI_FREQ_FT_ASSOC
      - name: WPA_PARAM_ENCRYPT_EAPOL_M4
      - name: WPA_PARAM_RSN_OVERRIDE_SUPPORT
      - name: WPA_PARAM_URNM_MFPR_X20
      - name: WPA_PARAM_PAIRWISE
      - name: WPA_PARAM_RSN_ENABLED
      - name: WPA_PARAM_SAE_PK
      - name: WPA_PARAM_FT_RSNXE_USED
      - name: WPA_PARAM_OCI_FREQ_EAPOL_G2
      - name: WPA_PARAM_ENCRYPT_EAPOL_M2
      - name: WPA_PARAM_RSN_OVERRIDE
      - name: WPA_PARAM_URNM_MFPR
      - name: WPA_PARAM_PMKSA_CACHING_PRIVACY
      - name: RSNA_PMK_LIFETIME
      - name: WPA_PARAM_PROTO
      - name: RSNA_PMK_REAUTH_THRESHOLD
      - name: WPA_PARAM_MGMT_GROUP
      - name: WPA_PARAM_SAE_PWE
      - name: WPA_PARAM_USE_EXT_KEY_ID
      - name: WPA_PARAM_OCI_FREQ_EAPOL
      - name: WPA_PARAM_DISABLE_EAPOL_G2_TX
      - name: WPA_PARAM_SSID_PROTECTION
      - name: WPA_PARAM_SPP_AMSDU
      - name: WPA_PARAM_ASSOC_ENC
      - name: RSNA_SA_TIMEOUT
      - name: WPA_PARAM_KEY_MGMT
      - name: WPA_PARAM_OCV
      - name: WPA_PARAM_EXT_KEY_ID
      - name: WPA_PARAM_WMM_ENABLED
      - name: WPA_PARAM_OCI_FREQ_FILS_ASSOC
      - name: WPA_PARAM_FT_PREPEND_PMKID
      - name: WPA_PARAM_EAPOL_2_KEY_INFO_SET_MASK
      - name: WPA_PARAM_SAE_PW_ID_CHANGE
      item_type: enum
      name: wpa_sm_conf_params
      pos:
        line_end: 149
        line_start: 111
        source_file: /src/hostap/src/rsn_supp/wpa.h
    - enumerators:
      - name: RSN_OVERRIDE_NOT_USED
      - name: RSN_OVERRIDE_RSNE
      - name: RSN_OVERRIDE_RSNE_OVERRIDE_2
      - name: RSN_OVERRIDE_RSNE_OVERRIDE
      item_type: enum
      name: wpa_rsn_override
      pos:
        line_end: 156
        line_start: 151
        source_file: /src/hostap/src/rsn_supp/wpa.h
    preproc_defs: []
    structs:
    - fields:
      - name: '*ctx'
        type: void
      - name: '*msg_ctx'
        type: void
      - name: (*set_state)(void *ctx, enum wpa_states state)
        type: void
      - name: (*get_state)(void *ctx)
        type: enum wpa_states
      - name: (*deauthenticate)(void * ctx, u16 reason_code)
        type: void
      - name: (*reconnect)(void *ctx)
        type: void
      - name: "(*set_key)(void *ctx, int link_id, enum wpa_alg alg,\n\t\t       const
          u8 *addr, int key_idx, int set_tx,\n\t\t       const u8 *seq, size_t seq_len,\n\t\t
          \      const u8 *key, size_t key_len, enum key_flag key_flag)"
        type: int
      - name: '* (*get_network_ctx)(void *ctx)'
        type: void
      - name: (*get_bssid)(void *ctx, u8 *bssid)
        type: int
      - name: "(*ether_send)(void *ctx, const u8 *dest, u16 proto, const u8 *buf,\n\t\t\t
          \ size_t len)"
        type: int
      - name: (*get_beacon_ie)(void *ctx)
        type: int
      - name: (*cancel_auth_timeout)(void *ctx)
        type: void
      - name: "* (*alloc_eapol)(void *ctx, u8 type, const void *data, u16 data_len,\n\t\t\t
          \   size_t *msg_len, void **data_pos)"
        type: u8
      - name: "(*add_pmkid)(void *ctx, void *network_ctx, const u8 *bssid,\n\t\t\t
          const u8 *pmkid, const u8 *fils_cache_id,\n\t\t\t const u8 *pmk, size_t
          pmk_len, u32 pmk_lifetime,\n\t\t\t u8 pmk_reauth_threshold, int akmp)"
        type: int
      - name: "(*remove_pmkid)(void *ctx, void *network_ctx, const u8 *bssid,\n\t\t\t
          \   const u8 *pmkid, const u8 *fils_cache_id)"
        type: int
      - name: (*set_config_blob)(void *ctx, struct wpa_config_blob *blob)
        type: void
      - name: "* (*get_config_blob)(void *ctx,\n\t\t\t\t\t\t\t  const char *name)"
        type: struct wpa_config_blob
      - name: "(*mlme_setprotection)(void *ctx, const u8 *addr,\n\t\t\t\t  int protection_type,
          int key_type)"
        type: int
      - name: "(*update_ft_ies)(void *ctx, const u8 *md, const u8 *ies,\n\t\t\t     size_t
          ies_len)"
        type: int
      - name: "(*send_ft_action)(void *ctx, u8 action, const u8 *target_ap,\n\t\t\t
          \     const u8 *ies, size_t ies_len)"
        type: int
      - name: (*mark_authenticated)(void *ctx, const u8 *target_ap)
        type: int
      - name: "(*set_rekey_offload)(void *ctx, const u8 *kek, size_t kek_len,\n\t\t\t\t
          \ const u8 *kck, size_t kck_len,\n\t\t\t\t  const u8 *replay_ctr)"
        type: void
      - name: (*key_mgmt_set_pmk)(void *ctx, const u8 *pmk, size_t pmk_len)
        type: int
      - name: "(*fils_hlp_rx)(void *ctx, const u8 *dst, const u8 *src,\n\t\t\t    const
          u8 *pkt, size_t pkt_len)"
        type: void
      - name: (*channel_info)(void *ctx, struct wpa_channel_info *ci)
        type: int
      - name: (*transition_disable)(void *ctx, u8 bitmap)
        type: void
      - name: "(*store_ptk)(void *ctx, const u8 *addr, int cipher,\n\t\t\t  u32 life_time,
          const struct wpa_ptk *ptk)"
        type: void
      - name: "(*notify_pmksa_cache_entry)(void *ctx,\n\t\t\t\t\t struct rsn_pmksa_cache_entry
          *entry)"
        type: void
      - name: (*ssid_verified)(void *ctx)
        type: void
      - name: (*sae_pw_id_change)(void *ctx, struct wpabuf_array *wa)
        type: void
      item_type: struct
      name: wpa_sm_ctx
      pos:
        line_end: 108
        line_start: 24
        source_file: /src/hostap/src/rsn_supp/wpa.h
    - fields:
      - name: '*network_ctx'
        type: void
      - name: allowed_pairwise_cipher
        type: int
      - name: proactive_key_caching
        type: int
      - name: eap_workaround
        type: int
      - name: '*eap_conf_ctx'
        type: void
      - name: '*ssid'
        type: u8
      - name: ssid_len
        type: size_t
      - name: wpa_ptk_rekey
        type: int
      - name: wpa_deny_ptk0_rekey
        type: int
      - name: p2p
        type: int
      - name: wpa_rsc_relaxation
        type: int
      - name: owe_ptk_workaround
        type: int
      - name: '*fils_cache_id'
        type: u8
      - name: beacon_prot
        type: int
      - name: force_kdk_derivation
        type: bool
      item_type: struct
      name: rsn_supp_config
      pos:
        line_end: 174
        line_start: 158
        source_file: /src/hostap/src/rsn_supp/wpa.h
    - fields:
      - name: addr[ETH_ALEN]
        type: u8
      - name: bssid[ETH_ALEN]
        type: u8
      - name: '*ap_rsne'
        type: u8
      - name: ap_rsne_len
        type: size_t
      - name: gtk
        type: struct wpa_gtk
      - name: gtk_wnm_sleep
        type: struct wpa_gtk
      - name: igtk
        type: struct wpa_igtk
      - name: igtk_wnm_sleep
        type: struct wpa_igtk
      - name: bigtk
        type: struct wpa_bigtk
      - name: bigtk_wnm_sleep
        type: struct wpa_bigtk
      item_type: struct
      name: wpa_sm_link
      pos:
        line_end: 188
        line_start: 176
        source_file: /src/hostap/src/rsn_supp/wpa.h
    - fields:
      - name: ap_mld_addr[ETH_ALEN]
        type: u8
      - name: assoc_link_id
        type: u8
      - name: valid_links
        type: u16
      - name: req_links
        type: u16
      - name: links[MAX_NUM_MLD_LINKS]
        type: struct wpa_sm_link
      item_type: struct
      name: wpa_sm_mlo
      pos:
        line_end: 196
        line_start: 190
        source_file: /src/hostap/src/rsn_supp/wpa.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/rsn_supp/pmksa_cache.h
  types:
    enum:
    - enumerators:
      - name: PMKSA_FREE
      - name: PMKSA_REPLACE
      - name: PMKSA_EXPIRE
      item_type: enum
      name: pmksa_free_reason
      pos:
        line_end: 65
        line_start: 61
        source_file: /src/hostap/src/rsn_supp/pmksa_cache.h
    preproc_defs: []
    structs:
    - fields:
      - name: '*next'
        type: struct rsn_pmksa_cache_entry
      - name: pmkid[PMKID_LEN]
        type: u8
      - name: pmk[PMK_LEN_MAX]
        type: u8
      - name: pmk_len
        type: size_t
      - name: kck[WPA_KCK_MAX_LEN]
        type: u8
      - name: kck_len
        type: size_t
      - name: expiration
        type: os_time_t
      - name: akmp
        type: int
      - name: aa[ETH_ALEN]
        type: u8
      - name: spa[ETH_ALEN]
        type: u8
      - name: fils_cache_id[2]
        type: u8
      - name: fils_cache_id_set
        type: unsigned int
      - name: dpp_pfs
        type: unsigned int
      - name: reauth_time
        type: os_time_t
      - name: '*network_ctx'
        type: void
      - name: opportunistic
        type: int
      - name: external
        type: bool
      - name: sae_reauth_scheduled
        type: bool
      - name: auth_alg
        type: u16
      item_type: struct
      name: rsn_pmksa_cache_entry
      pos:
        line_end: 57
        line_start: 14
        source_file: /src/hostap/src/rsn_supp/pmksa_cache.h
    typedefs: []
    union: []
- function_names:
  - wpa_parse_wpa_ie
  - wpa_gen_wpa_ie_wpa
  - rsn_supp_capab
  - wpa_gen_wpa_ie_rsn
  - wpa_gen_wpa_ie
  - wpa_external_auth_add_rsne
  - wpa_gen_rsnxe
  source_file: /src/hostap/src/rsn_supp/wpa_ie.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/rsn_supp/wpa_ie.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - _wpa_hexdump_link
  - wpa_hexdump_link
  - wpa_hexdump_link_key
  - wpa_eapol_key_send
  - wpa_sm_key_request
  - wpa_supplicant_get_pmk
  - wpa_supplicant_send_2_of_4
  - wpa_derive_ptk
  - wpa_handle_ext_key_id
  - rsn_add_kde
  - wpa_mlo_link_kde_len
  - wpa_mlo_link_kde
  - is_valid_ap_mld_mac_kde
  - wpas_swap_tkip_mic_keys
  - wpa_supplicant_process_1_of_4_wpa
  - wpa_supplicant_process_1_of_4
  - wpa_sm_start_preauth
  - wpa_supplicant_key_neg_complete
  - wpa_sm_rekey_ptk
  - wpa_supplicant_install_ptk
  - wpa_supplicant_activate_ptk
  - wpa_supplicant_check_group_cipher
  - wpa_supplicant_validate_gtk_kde_len
  - wpa_supplicant_validate_mlo_gtk_kde_len
  - wpa_supplicant_install_gtk
  - wpa_supplicant_install_mlo_gtk
  - wpa_supplicant_gtk_tx_bit_workaround
  - wpa_supplicant_rsc_relaxation
  - wpa_supplicant_mlo_gtk
  - wpa_supplicant_pairwise_mlo_gtk
  - wpa_supplicant_pairwise_gtk
  - wpa_supplicant_install_igtk
  - wpa_supplicant_install_bigtk
  - wpa_supplicant_install_mlo_igtk
  - wpa_supplicant_install_mlo_bigtk
  - _mlo_ieee80211w_set_keys
  - mlo_ieee80211w_set_keys
  - ieee80211w_set_keys
  - wpa_report_ie_mismatch
  - ft_validate_mdie
  - ft_validate_ftie
  - ft_validate_rsnie
  - wpa_supplicant_validate_ie_ft
  - wpa_supplicant_validate_ie
  - wpa_supplicant_send_4_of_4
  - wpa_supplicant_validate_link_kde
  - wpa_validate_mlo_ieee80211w_kdes
  - wpa_supplicant_process_3_of_4_wpa
  - wpa_sm_sae_pw_id_change
  - wpa_supplicant_process_3_of_4
  - wpa_supplicant_send_2_of_2
  - wpa_supplicant_process_mlo_1_of_2
  - wpa_supplicant_process_1_of_2_wpa
  - wpa_supplicant_process_1_of_2
  - wpa_sm_tptk_to_ptk
  - wpa_supplicant_verify_eapol_key_mic
  - wpa_supplicant_decrypt_key_data
  - wpa_sm_aborted_cached
  - wpa_sm_aborted_external_cached
  - wpa_eapol_key_dump
  - wpa_supp_aead_decrypt
  - wpa_sm_rx_eapol_wpa
  - wpa_sm_rx_eapol
  - wpa_key_mgmt_suite
  - RSN_SUITE_ARG
  - wpa_sm_get_mib
  - wpa_sm_pmksa_free_cb
  - wpa_sm_pmksa_is_current_cb
  - wpa_sm_pmksa_notify_cb
  - wpa_sm_init
  - wpa_sm_deinit
  - wpa_sm_clear_ptk
  - wpa_sm_notify_assoc
  - wpa_sm_notify_disassoc
  - wpa_sm_set_pmk
  - wpa_sm_set_pmk_from_pmksa
  - wpa_sm_set_fast_reauth
  - wpa_sm_set_scard_ctx
  - wpa_sm_set_config
  - wpa_sm_set_ssid
  - wpa_sm_clear_mlo_group_keys
  - wpa_sm_set_mlo_params
  - wpa_sm_set_own_addr
  - wpa_sm_set_ifname
  - wpa_sm_set_eapol
  - wpa_sm_set_param
  - wpa_sm_get_ap_rsne
  - wpa_sm_get_ap_rsnxe
  - wpa_sm_get_status
  - wpa_sm_pmf_enabled
  - wpa_sm_rsn_overriding_supported
  - wpa_sm_ext_key_id
  - wpa_sm_ext_key_id_active
  - wpa_sm_ocv_enabled
  - wpa_sm_set_assoc_wpa_ie_default
  - wpa_sm_set_assoc_wpa_ie
  - wpa_sm_set_test_rsnxe_data
  - wpa_set_test_rsnxe_data
  - wpa_sm_set_assoc_rsnxe_default
  - wpa_sm_set_assoc_rsnxe
  - wpa_sm_set_ap_wpa_ie
  - wpa_sm_set_ap_rsn_ie
  - wpa_sm_set_ap_rsnxe
  - wpa_sm_set_ap_rsne_override
  - wpa_sm_set_ap_rsne_override_2
  - wpa_sm_set_ap_rsnxe_override
  - wpa_sm_parse_own_wpa_ie
  - wpa_sm_pmksa_cache_list
  - wpa_sm_pmksa_cache_head
  - wpa_sm_pmksa_cache_add_entry
  - wpa_sm_pmksa_cache_add
  - wpa_sm_pmksa_exists
  - wpa_sm_pmksa_cache_get
  - wpa_sm_pmksa_get_pmk
  - wpa_sm_pmksa_cache_remove
  - wpa_sm_drop_sa
  - wpa_sm_has_ft_keys
  - wpa_sm_has_ptk_installed
  - wpa_sm_update_replay_ctr
  - wpa_sm_pmksa_cache_flush
  - wpa_sm_pmksa_cache_flush_addr
  - wpa_sm_external_pmksa_cache_flush
  - wpa_wnmsleep_install_key
  - wpa_sm_get_p2p_ip_addr
  - wpa_sm_set_rx_replay_ctr
  - wpa_sm_set_ptk_kck_kek
  - wpa_sm_set_ptk_tk
  - wpa_sm_set_test_assoc_ie
  - wpa_sm_set_test_eapol_m2_elems
  - wpa_sm_set_test_eapol_m4_elems
  - wpa_sm_get_anonce
  - wpa_sm_get_key_mgmt
  - wpa_sm_get_auth_addr
  - fils_build_auth
  - fils_process_auth
  - fils_ft_build_assoc_req_rsne
  - fils_build_assoc_req
  - fils_process_hlp_resp
  - fils_process_hlp_container
  - fils_process_assoc_resp
  - wpa_sm_set_reset_fils_completed
  - wpa_fils_is_completed
  - owe_build_assoc_req
  - owe_process_assoc_resp
  - wpa_sm_set_fils_cache_id
  - wpa_sm_set_dpp_z
  - wpa_pasn_sm_set_caps
  - wpa_sm_pmksa_cache_reconfig
  - wpa_sm_uses_spp_amsdu
  - wpa_sm_get_pmksa_cache
  - wpa_sm_set_cur_pmksa
  - wpa_sm_set_driver_bss_selection
  - wpa_sm_known_sta_identification
  - mlo_ieee80211w_set_keys_for_new_links
  - for_each_link
  - wpa_supplicant_install_mlo_gtk_keys
  - for_each_link
  - wpa_sm_install_mlo_group_keys
  - process_key_delivery_link
  - process_key_delivery_ml
  - for_each_link
  - process_key_delivery
  - process_encrypted_assoc_resp
  - wpa_eppke_is_completed
  - wpa_eap_over_auth_frame_is_completed
  - wpa_sm_pmksa_privacy_supported
  - wpa_sm_set_802_1x_auth_caps
  - wpa_sm_get_pmk
  - wpa_sm_get_cached_tk
  source_file: /src/hostap/src/rsn_supp/wpa.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RSN_SUITE
      pos:
        line_end: 4304
        line_start: 4303
        source_file: /src/hostap/src/rsn_supp/wpa.c
      type_or_value: '"%02x-%02x-%02x-%d"'
    structs:
    - fields:
      - name: alg
        type: enum wpa_alg
      - name: tx
        type: int
      - name: gtk[WPA_GTK_MAX_LEN]
        type: u8
      - name: gtk_len
        type: int
      item_type: struct
      name: wpa_gtk_data
      pos:
        line_end: 1397
        line_start: 1392
        source_file: /src/hostap/src/rsn_supp/wpa.c
    typedefs: []
    union: []
- function_names:
  - _pmksa_cache_free_entry
  - pmksa_cache_free_entry
  - pmksa_cache_remove
  - pmksa_cache_expire
  - pmksa_cache_reauth
  - pmksa_cache_set_expiration
  - pmksa_cache_derive_pmkid
  - pmksa_cache_add
  - pmksa_cache_add_to_driver
  - pmksa_cache_add_entry
  - pmksa_cache_flush
  - pmksa_cache_deinit
  - pmksa_cache_get
  - pmksa_cache_clone_entry
  - pmksa_cache_get_opportunistic
  - pmksa_cache_get_fils_cache_id
  - pmksa_cache_get_current
  - pmksa_cache_clear_current
  - pmksa_cache_set_current
  - pmksa_cache_list
  - pmksa_cache_head
  - pmksa_cache_init
  - pmksa_cache_reconfig
  - pmksa_cache_init
  - pmksa_cache_deinit
  - pmksa_cache_get
  - pmksa_cache_get_current
  - pmksa_cache_list
  - pmksa_cache_head
  - pmksa_cache_add_entry
  - pmksa_cache_add
  - pmksa_cache_clear_current
  - pmksa_cache_set_current
  - pmksa_cache_flush
  - pmksa_cache_remove
  - pmksa_cache_reconfig
  source_file: /src/hostap/src/rsn_supp/pmksa_cache.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*pmksa'
        type: struct rsn_pmksa_cache_entry
      - name: pmksa_count
        type: int
      - name: '*sm'
        type: struct wpa_sm
      - name: "(*free_cb)(struct rsn_pmksa_cache_entry *entry, void *ctx,\n\t\t\tenum
          pmksa_free_reason reason)"
        type: void
      - name: "(*is_current_cb)(struct rsn_pmksa_cache_entry *entry,\n\t\t\t      void
          *ctx)"
        type: bool
      - name: (*notify_cb)(struct rsn_pmksa_cache_entry *entry, void *ctx)
        type: void
      - name: '*ctx'
        type: void
      item_type: struct
      name: rsn_pmksa_cache
      pos:
        line_end: 32
        line_start: 21
        source_file: /src/hostap/src/rsn_supp/pmksa_cache.c
    typedefs: []
    union: []
- function_names:
  - nan_get_next_dialog_token
  - nan_get_next_ndp_id
  - nan_nira_get_tag_nonce
  - nan_pairing_deinit_peer
  source_file: /src/hostap/src/nan/nan_i.h
  types:
    enum:
    - enumerators:
      - name: NAN_NDP_STATE_NONE
      - name: NAN_NDP_STATE_REQ_SENT
      - name: NAN_NDP_STATE_RES_SENT
      - name: NAN_NDP_STATE_REQ_RECV
      - name: NAN_NDP_STATE_START
      - name: NAN_NDP_STATE_RES_RECV
      - name: NAN_NDP_STATE_CON_SENT
      - name: NAN_NDP_STATE_CON_RECV
      - name: NAN_NDP_STATE_DONE
      item_type: enum
      name: nan_ndp_state
      pos:
        line_end: 131
        line_start: 121
        source_file: /src/hostap/src/nan/nan_i.h
    - enumerators:
      - name: NAN_TYPE_BAND
      - name: NAN_TYPE_CHANNEL
      item_type: enum
      name: nan_band_chan_type
      pos:
        line_end: 223
        line_start: 220
        source_file: /src/hostap/src/nan/nan_i.h
    - enumerators:
      - name: NAN_NDL_STATE_NONE
      - name: NAN_NDL_STATE_RES_SENT
      - name: NAN_NDL_STATE_START
      - name: NAN_NDL_STATE_REQ_RECV
      - name: NAN_NDL_STATE_REQ_SENT
      - name: NAN_NDL_STATE_RES_RECV
      - name: NAN_NDL_STATE_CON_SENT
      - name: NAN_NDL_STATE_CON_RECV
      - name: NAN_NDL_STATE_DONE
      item_type: enum
      name: nan_ndl_state
      pos:
        line_end: 384
        line_start: 374
        source_file: /src/hostap/src/nan/nan_i.h
    - enumerators:
      - name: NAN_NDL_SETUP_REASON_NONE
      - name: NAN_NDL_SETUP_REASON_NDP
      item_type: enum
      name: nan_ndl_setup_reason
      pos:
        line_end: 394
        line_start: 391
        source_file: /src/hostap/src/nan/nan_i.h
    - enumerators:
      - name: NAN_PASN_AUTH_MODE_PASN
        value: '0'
      - name: NAN_PASN_AUTH_MODE_SAE
        value: '1'
      - name: NAN_PASN_AUTH_MODE_PMK
        value: '2'
      item_type: enum
      name: nan_pasn_auth_mode
      pos:
        line_end: 492
        line_start: 488
        source_file: /src/hostap/src/nan/nan_i.h
    - enumerators:
      - name: NAN_PAIRING_ROLE_IDLE
      - name: NAN_PAIRING_ROLE_RESPONDER
      - name: NAN_PAIRING_ROLE_INITIATOR
      item_type: enum
      name: nan_pairing_role
      pos:
        line_end: 504
        line_start: 500
        source_file: /src/hostap/src/nan/nan_i.h
    preproc_defs:
    - item_type: preproc_def
      name: NAN_INVALID_MAP_ID
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/hostap/src/nan/nan_i.h
      type_or_value: '0xff'
    - item_type: preproc_def
      name: NAN_KCK_MAX_LEN
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/hostap/src/nan/nan_i.h
      type_or_value: '24'
    - item_type: preproc_def
      name: NAN_KEK_MAX_LEN
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/hostap/src/nan/nan_i.h
      type_or_value: '32'
    - item_type: preproc_def
      name: NAN_TK_MAX_LEN
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/hostap/src/nan/nan_i.h
      type_or_value: '32'
    - item_type: preproc_def
      name: NAN_NPK_LEN
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/hostap/src/nan/nan_i.h
      type_or_value: '32'
    - item_type: preproc_def
      name: NAN_ELEMENT_MAX_SIZE
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/hostap/src/nan/nan_i.h
      type_or_value: '1024'
    - item_type: preproc_def
      name: NAN_AVAIL_ENTRY_DEF_UTIL
      pos:
        line_end: 227
        line_start: 226
        source_file: /src/hostap/src/nan/nan_i.h
      type_or_value: NAN_AVAIL_ENTRY_CTRL_UTIL_UNKNOWN
    - item_type: preproc_def
      name: NAN_AVAIL_ENTRY_DEF_NSS
      pos:
        line_end: 228
        line_start: 227
        source_file: /src/hostap/src/nan/nan_i.h
      type_or_value: '2'
    - item_type: preproc_def
      name: NAN_AVAIL_ENTRY_DEF_PREF
      pos:
        line_end: 229
        line_start: 228
        source_file: /src/hostap/src/nan/nan_i.h
      type_or_value: '3'
    - item_type: preproc_def
      name: NAN_PAIRING_FLAG_NPK_VERIFICATION
      pos:
        line_end: 509
        line_start: 508
        source_file: /src/hostap/src/nan/nan_i.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: NAN_PAIRING_FLAG_PAIRED
      pos:
        line_end: 511
        line_start: 510
        source_file: /src/hostap/src/nan/nan_i.h
      type_or_value: BIT(1)
    structs:
    - fields:
      - name: kck[NAN_KCK_MAX_LEN]
        type: u8
      - name: kek[NAN_KEK_MAX_LEN]
        type: u8
      - name: tk[NAN_TK_MAX_LEN]
        type: u8
      - name: kck_len
        type: size_t
      - name: kek_len
        type: size_t
      - name: tk_len
        type: size_t
      item_type: struct
      name: nan_ptk
      pos:
        line_end: 46
        line_start: 38
        source_file: /src/hostap/src/nan/nan_i.h
    - fields:
      - name: present
        type: bool
      - name: valid
        type: bool
      - name: replaycnt_ok
        type: bool
      - name: replaycnt[8]
        type: u8
      - name: i_nonce[WPA_NONCE_LEN]
        type: u8
      - name: i_capab
        type: u8
      - name: i_csid
        type: u8
      - name: i_instance_id
        type: u8
      - name: i_pmkid[PMKID_LEN]
        type: u8
      - name: r_nonce[WPA_NONCE_LEN]
        type: u8
      - name: r_capab
        type: u8
      - name: r_csid
        type: u8
      - name: r_instance_id
        type: u8
      - name: r_pmkid[PMKID_LEN]
        type: u8
      - name: auth_token[NAN_AUTH_TOKEN_LEN]
        type: u8
      - name: pmk[PMK_LEN]
        type: u8
      - name: ptk
        type: struct nan_ptk
      - name: local_gtk
        type: struct nan_gtk
      - name: peer_gtk
        type: struct nan_gtk
      - name: peer_gtk_rsc[WPA_KEY_RSC_LEN]
        type: u8
      item_type: struct
      name: nan_ndp_sec
      pos:
        line_end: 100
        line_start: 71
        source_file: /src/hostap/src/nan/nan_i.h
    - fields:
      - name: list
        type: struct dl_list
      - name: '*peer'
        type: struct nan_peer
      - name: initiator
        type: bool
      - name: ndp_id
        type: u8
      - name: init_ndi[ETH_ALEN]
        type: u8
      - name: resp_ndi[ETH_ALEN]
        type: u8
      - name: qos
        type: struct nan_qos
      - name: gtk_id
        type: u8
      item_type: struct
      name: nan_ndp
      pos:
        line_end: 159
        line_start: 148
        source_file: /src/hostap/src/nan/nan_i.h
    - fields:
      - name: '*ndp'
        type: struct nan_ndp
      - name: state
        type: enum nan_ndp_state
      - name: status
        type: enum nan_ndp_status
      - name: dialog_token
        type: u8
      - name: publish_inst_id
        type: u8
      - name: conf_req
        type: bool
      - name: reason
        type: enum nan_reason
      - name: '*ssi'
        type: u8
      - name: ssi_len
        type: u16
      - name: service_id[NAN_SERVICE_ID_LEN]
        type: u8
      - name: sec
        type: struct nan_ndp_sec
      - name: local_interface_id_valid
        type: bool
      - name: local_interface_id[NAN_NDPE_TLV_IPV6_LINK_LOCAL_LEN]
        type: u8
      - name: peer_interface_id_valid
        type: bool
      - name: peer_interface_id[NAN_NDPE_TLV_IPV6_LINK_LOCAL_LEN]
        type: u8
      item_type: struct
      name: nan_ndp_setup
      pos:
        line_end: 199
        line_start: 181
        source_file: /src/hostap/src/nan/nan_i.h
    - fields:
      - name: u
        type: "union {\n\t\tu8 band_id;\n\t\tstruct nan_chan_entry chan;\n\t}"
      item_type: struct
      name: nan_band_chan
      pos:
        line_end: 212
        line_start: 207
        source_file: /src/hostap/src/nan/nan_i.h
    - fields:
      - name: list
        type: struct dl_list
      - name: map_id
        type: u8
      - name: type
        type: u8
      - name: preference
        type: u8
      - name: utilization
        type: u8
      - name: rx_nss
        type: u8
      - name: tbm
        type: struct nan_time_bitmap
      - name: band_chan_type
        type: enum nan_band_chan_type
      - name: n_band_chan
        type: u8
      - name: '*band_chan'
        type: struct nan_band_chan
      item_type: struct
      name: nan_avail_entry
      pos:
        line_end: 263
        line_start: 252
        source_file: /src/hostap/src/nan/nan_i.h
    - fields:
      - name: list
        type: struct dl_list
      - name: map_id
        type: u8
      - name: capa
        type: struct nan_device_capabilities
      item_type: struct
      name: nan_dev_capa_entry
      pos:
        line_end: 277
        line_start: 273
        source_file: /src/hostap/src/nan/nan_i.h
    - fields:
      - name: list
        type: struct dl_list
      - name: map_id
        type: u8
      - name: len
        type: u16
      - name: data[]
        type: u8
      item_type: struct
      name: nan_elem_container_entry
      pos:
        line_end: 293
        line_start: 288
        source_file: /src/hostap/src/nan/nan_i.h
    - fields:
      - name: list
        type: struct dl_list
      - name: len
        type: u16
      - name: data[]
        type: u8
      item_type: struct
      name: nan_ulw_entry
      pos:
        line_end: 305
        line_start: 301
        source_file: /src/hostap/src/nan/nan_i.h
    - fields:
      - name: list
        type: struct dl_list
      - name: peer_ndi[ETH_ALEN]
        type: u8
      - name: local_ndi[ETH_ALEN]
        type: u8
      - name: csid
        type: enum nan_cipher_suite_id
      - name: pmk[PMK_LEN]
        type: u8
      - name: pmkid[PMKID_LEN]
        type: u8
      - name: ptk
        type: struct nan_ptk
      - name: pairing_akmp
        type: int
      item_type: struct
      name: nan_peer_sec_info_entry
      pos:
        line_end: 334
        line_start: 323
        source_file: /src/hostap/src/nan/nan_i.h
    - fields:
      - name: last_seen
        type: struct os_reltime
      - name: seq_id
        type: u8
      - name: avail_entries
        type: struct dl_list
      - name: ulw
        type: struct dl_list
      - name: dev_capa
        type: struct dl_list
      - name: element_container
        type: struct dl_list
      - name: sec
        type: struct dl_list
      item_type: struct
      name: nan_peer_info
      pos:
        line_end: 359
        line_start: 351
        source_file: /src/hostap/src/nan/nan_i.h
    - fields:
      - name: state
        type: enum nan_ndl_state
      - name: status
        type: enum nan_ndl_status
      - name: send_naf_on_error
        type: u8
      - name: reason
        type: enum nan_reason
      - name: dialog_token
        type: u8
      - name: max_idle_period
        type: u16
      - name: setup_reason
        type: enum nan_ndl_setup_reason
      - name: ndc_id[ETH_ALEN]
        type: u8
      - name: peer_qos
        type: struct nan_qos
      - name: '*ndc_sched'
        type: u8
      - name: ndc_sched_len
        type: u16
      - name: '*immut_sched'
        type: u8
      - name: immut_sched_len
        type: u16
      item_type: struct
      name: nan_ndl
      pos:
        line_end: 437
        line_start: 418
        source_file: /src/hostap/src/nan/nan_i.h
    - fields:
      - name: supported_methods
        type: u16
      - name: initiator
        type: bool
      - name: requested_pbm
        type: u16
      - name: dialog_token
        type: u8
      - name: status
        type: u8
      - name: reason_code
        type: u8
      - name: comeback_required
        type: bool
      - name: comeback_after
        type: u16
      - name: '*cookie'
        type: u8
      - name: cookie_len
        type: u8
      - name: authorized
        type: u16
      - name: in_progress
        type: bool
      - name: handle
        type: int
      - name: req_instance_id
        type: u8
      - name: '*npba'
        type: struct wpabuf
      item_type: struct
      name: nan_bootstrap
      pos:
        line_end: 480
        line_start: 460
        source_file: /src/hostap/src/nan/nan_i.h
    - fields:
      - name: pairing_cfg
        type: struct nan_pairing_cfg
      - name: self_pairing_role
        type: enum nan_pairing_role
      - name: '*pasn'
        type: struct pasn_data
      - name: handle
        type: int
      - name: peer_instance_id
        type: int
      - name: nonce_tag_valid
        type: bool
      - name: nonce[NAN_NIRA_NONCE_LEN]
        type: u8
      - name: tag[NAN_NIRA_TAG_LEN]
        type: u8
      - name: flags
        type: u32
      - name: '*pending_auth1'
        type: struct wpabuf
      - name: pairing_csid
        type: enum nan_cipher_suite_id
      - name: pairing_akmp
        type: int
      item_type: struct
      name: nan_pairing_peer_data
      pos:
        line_end: 540
        line_start: 527
        source_file: /src/hostap/src/nan/nan_i.h
    - fields:
      - name: list
        type: struct dl_list
      - name: nmi_addr[ETH_ALEN]
        type: u8
      - name: configured
        type: bool
      - name: last_seen
        type: struct os_reltime
      - name: info
        type: struct nan_peer_info
      - name: ndps
        type: struct dl_list
      - name: ndp_setup
        type: struct nan_ndp_setup
      - name: '*ndl'
        type: struct nan_ndl
      - name: bootstrap
        type: struct nan_bootstrap
      - name: pairing
        type: struct nan_pairing_peer_data
      - name: igtk_id
        type: u8
      - name: bigtk_id
        type: u8
      item_type: struct
      name: nan_peer
      pos:
        line_end: 577
        line_start: 558
        source_file: /src/hostap/src/nan/nan_i.h
    - fields:
      - name: '*cfg'
        type: struct nan_config
      - name: nan_started
        type: u8
      - name: sched_update_pending
        type: u8
      - name: peer_list
        type: struct dl_list
      - name: ndp_id_counter
        type: u8
      - name: next_dialog_token
        type: u8
      - name: sched
        type: struct nan_schedule
      - name: cluster_id[ETH_ALEN]
        type: u8
      - name: nira_nonce[NAN_NIRA_NONCE_LEN]
        type: u8
      - name: nira_tag[NAN_NIRA_TAG_LEN]
        type: u8
      - name: '*initiator_pmksa'
        type: struct rsn_pmksa_cache
      - name: '*responder_pmksa'
        type: struct rsn_pmksa_cache
      - name: igtk
        type: struct wpa_igtk
      - name: igtk_id
        type: u8
      - name: bigtk
        type: struct wpa_bigtk
      - name: bigtk_id
        type: u8
      item_type: struct
      name: nan_data
      pos:
        line_end: 623
        line_start: 600
        source_file: /src/hostap/src/nan/nan_i.h
    - fields:
      - name: list
        type: struct dl_list
      - name: '*ptr'
        type: u8
      - name: len
        type: u16
      item_type: struct
      name: nan_attrs_entry
      pos:
        line_end: 629
        line_start: 625
        source_file: /src/hostap/src/nan/nan_i.h
    - fields:
      - name: serv_desc_ext
        type: struct dl_list
      - name: avail
        type: struct dl_list
      - name: ndc
        type: struct dl_list
      - name: ulw
        type: struct dl_list
      - name: dev_capa
        type: struct dl_list
      - name: element_container
        type: struct dl_list
      - name: '*ndp'
        type: u8
      - name: '*ndl'
        type: u8
      - name: '*ndl_qos'
        type: u8
      - name: '*cipher_suite_info'
        type: u8
      - name: '*sec_ctxt_info'
        type: u8
      - name: '*shared_key_desc'
        type: u8
      - name: '*dev_capa_ext'
        type: u8
      - name: '*npba'
        type: u8
      - name: '*nira'
        type: u8
      - name: '*ndpe'
        type: u8
      - name: ndp_len
        type: u16
      - name: ndl_len
        type: u16
      - name: ndl_qos_len
        type: u16
      - name: cipher_suite_info_len
        type: u16
      - name: sec_ctxt_info_len
        type: u16
      - name: shared_key_desc_len
        type: u16
      - name: dev_capa_ext_len
        type: u16
      - name: npba_len
        type: u16
      - name: nira_len
        type: u16
      - name: ndpe_len
        type: u16
      item_type: struct
      name: nan_attrs
      pos:
        line_end: 660
        line_start: 631
        source_file: /src/hostap/src/nan/nan_i.h
    - fields:
      - name: oui_type
        type: u8
      - name: oui_subtype
        type: u8
      - name: attrs
        type: struct nan_attrs
      - name: '*mgmt'
        type: struct ieee80211_mgmt
      - name: len
        type: size_t
      item_type: struct
      name: nan_msg
      pos:
        line_end: 671
        line_start: 662
        source_file: /src/hostap/src/nan/nan_i.h
    typedefs: []
    union: []
- function_names:
  - nan_ndp_state_str
  - C2S
  - nan_ndp_set_state
  - nan_ndp_alloc
  - nan_ndp_ssi
  - nan_ndp_setup_req
  - nan_ndp_setup_resp
  - nan_ndp_attr_handle_tlvs
  - nan_ndp_attr_handle_req
  - nan_ndp_attr_handle_res
  - nan_ndp_attr_handle_confirm
  - nan_ndp_find_ndp
  - nan_ndp_attr_sec_install
  - nan_ndp_attr_handle_term
  - nan_ndp_handle_ndp_attr
  - nan_ndp_add_ndp_attr
  - nan_ndp_setup_reset
  - nan_ndp_setup_failure
  - nan_ndp_naf_sent
  - nan_ndp_term_req
  - nan_ndp_requested_gtk_csid
  source_file: /src/hostap/src/nan/nan_ndp.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - nan_attrs_clear_list
  - dl_list_for_each_safe
  - nan_attrs_clear
  - nan_parse_attrs
  - nan_is_naf
  - nan_parse_naf
  - nan_add_dev_capa_attr
  - nan_add_csia
  - nan_add_dev_capa_ext_attr
  - nan_add_nira
  - nan_chan_to_chan_idx_map
  - nan_add_avail_entry
  - nan_get_chan_bm
  - nan_add_pot_avail_entry
  - nan_build_pot_avail_entry_with_chans
  - nan_build_pot_avail_entry
  - nan_add_avail_attrs
  - nan_del_avail_entry
  - nan_flush_avail_entries
  - dl_list_for_each_safe
  - nan_sched_entries_to_avail_entries
  - nan_tbm_to_bf
  - nan_sched_to_bf
  - dl_list_for_each
  - nan_sched_covered_by_avail_entry
  - nan_sched_bf_from_avail_and_chan
  - dl_list_for_each
  - nan_sched_covered_by_avail_entries
  - nan_sched_bf_covered_by_avail_entries_and_chan
  - nan_get_control_channel
  - nan_avail_entries_to_bf
  - dl_list_for_each
  - nan_peer_dump_sched_to_buf
  - nan_peer_dump_pot_avail_to_buf
  - nan_get_peer_ndc_freq
  - nan_get_chan_entry
  - nan_convert_chan_sched_to_bf
  - nan_peer_schedule_intersection
  - nan_add_kde_hdr
  source_file: /src/hostap/src/nan/nan_util.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - nan_nira_get_tag_nonce
  - nan_pairing_add_attrs
  - nan_pairing_deinit_peer
  - nan_pairing_abort
  - nan_pairing_is_supported
  - nan_pairing_set_password
  - nan_pairing_generate_rsnxe
  - nan_pairing_send_cb
  - nan_pasn_verification_init
  - nan_validate_custom_pmkid
  - nan_pairing_pasn_initialize
  - nan_pairing_prepare_pasn_elems
  - nan_pairing_initiate_pasn_auth
  - nan_pairing_done
  - nan_nik_build_key_data
  - nan_send_nik
  - nan_pairing_derive_nd_pmk
  - nan_pairing_pasn_auth_tx_status
  - nan_parse_csia
  - nan_pairing_process_elems
  - nan_pairing_handle_auth_1
  - nan_pairing_handle_auth_2
  - nan_pairing_handle_auth_3
  - nan_pairing_auth_rx
  - nan_pairing_followup_rx
  - nan_pairing_set_pairing_setup
  - nan_pairing_set_npk_caching
  - nan_pairing_set_pairing_verification
  - nan_pairing_set_cipher_suites
  - nan_pairing_set_nik
  - nan_pairing_set_nik_lifetime
  - nan_pairing_is_peer_paired
  - nan_pairing_unpair_peer
  source_file: /src/hostap/src/nan/nan_pairing.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - nan_pairing_add_attrs
  - nan_pairing_initiate_pasn_auth
  - nan_pairing_pasn_auth_tx_status
  - nan_pairing_auth_rx
  - nan_pairing_is_peer_paired
  - nan_pairing_unpair_peer
  source_file: /src/hostap/src/nan/nan.h
  types:
    enum:
    - enumerators:
      - name: NAN_NDP_ACTION_REQ
      - name: NAN_NDP_ACTION_TERM
      - name: NAN_NDP_ACTION_CONF
      - name: NAN_NDP_ACTION_RESP
      item_type: enum
      name: nan_ndp_action
      pos:
        line_end: 65
        line_start: 60
        source_file: /src/hostap/src/nan/nan.h
    preproc_defs:
    - item_type: preproc_def
      name: NAN_MAX_PERIOD_TUS
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/hostap/src/nan/nan.h
      type_or_value: '8192'
    - item_type: preproc_def
      name: NAN_MAX_TIME_BITMAP_SLOTS
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/hostap/src/nan/nan.h
      type_or_value: (NAN_MAX_PERIOD_TUS / 16)
    - item_type: preproc_def
      name: NAN_TIME_BITMAP_MAX_LEN
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/hostap/src/nan/nan.h
      type_or_value: (NAN_MAX_TIME_BITMAP_SLOTS / 8)
    - item_type: preproc_def
      name: NAN_SCHEDULE_MAX_CHANNELS
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/hostap/src/nan/nan.h
      type_or_value: '6'
    - item_type: preproc_def
      name: NAN_MAX_MAPS
      pos:
        line_end: 361
        line_start: 360
        source_file: /src/hostap/src/nan/nan.h
      type_or_value: '8'
    - item_type: preproc_def
      name: NAN_MAX_CHAN_ENTRIES
      pos:
        line_end: 362
        line_start: 361
        source_file: /src/hostap/src/nan/nan.h
      type_or_value: '16'
    - item_type: preproc_def
      name: NAN_PAIRING_PASN_128
      pos:
        line_end: 430
        line_start: 429
        source_file: /src/hostap/src/nan/nan.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: NAN_PAIRING_PASN_256
      pos:
        line_end: 431
        line_start: 430
        source_file: /src/hostap/src/nan/nan.h
      type_or_value: BIT(1)
    structs:
    - fields:
      - name: list
        type: struct dl_list
      - name: pmkid[PMKID_LEN]
        type: u8
      item_type: struct
      name: nan_de_pmkid
      pos:
        line_end: 22
        line_start: 19
        source_file: /src/hostap/src/nan/nan.h
    - fields:
      - name: cdw_info
        type: u16
      - name: supported_bands
        type: u8
      - name: op_mode
        type: u8
      - name: n_antennas
        type: u8
      - name: channel_switch_time
        type: u16
      - name: capa
        type: u8
      item_type: struct
      name: nan_device_capabilities
      pos:
        line_end: 40
        line_start: 33
        source_file: /src/hostap/src/nan/nan.h
    - fields:
      - name: min_slots
        type: u8
      - name: max_latency
        type: u16
      item_type: struct
      name: nan_qos
      pos:
        line_end: 51
        line_start: 48
        source_file: /src/hostap/src/nan/nan.h
    - fields:
      - name: peer_nmi[ETH_ALEN]
        type: u8
      - name: init_ndi[ETH_ALEN]
        type: u8
      - name: id
        type: u8
      item_type: struct
      name: nan_ndp_id
      pos:
        line_end: 78
        line_start: 74
        source_file: /src/hostap/src/nan/nan.h
    - fields:
      - name: duration
        type: u8
      - name: period
        type: u16
      - name: offset
        type: u16
      - name: len
        type: u8
      - name: bitmap[NAN_TIME_BITMAP_MAX_LEN]
        type: u8
      item_type: struct
      name: nan_time_bitmap
      pos:
        line_end: 114
        line_start: 108
        source_file: /src/hostap/src/nan/nan.h
    - fields:
      - name: freq
        type: int
      - name: center_freq1
        type: int
      - name: center_freq2
        type: int
      - name: bandwidth
        type: int
      item_type: struct
      name: nan_sched_chan
      pos:
        line_end: 129
        line_start: 124
        source_file: /src/hostap/src/nan/nan.h
    - fields:
      - name: chan
        type: struct nan_sched_chan
      - name: committed
        type: struct nan_time_bitmap
      - name: conditional
        type: struct nan_time_bitmap
      - name: map_id
        type: u8
      item_type: struct
      name: nan_chan_schedule
      pos:
        line_end: 145
        line_start: 140
        source_file: /src/hostap/src/nan/nan.h
    - fields:
      - name: required_slots
        type: u8
      - name: min_slots
        type: u8
      - name: max_gap
        type: u8
      item_type: struct
      name: nan_sched_qos
      pos:
        line_end: 159
        line_start: 155
        source_file: /src/hostap/src/nan/nan.h
    - fields:
      - name: map_ids_bitmap
        type: u32
      - name: n_chans
        type: u8
      - name: chans[NAN_SCHEDULE_MAX_CHANNELS]
        type: struct nan_chan_schedule
      - name: ndc
        type: struct nan_time_bitmap
      - name: ndc_map_id
        type: u8
      - name: sequence_id
        type: u8
      - name: '*elems'
        type: struct wpabuf
      item_type: struct
      name: nan_schedule
      pos:
        line_end: 187
        line_start: 179
        source_file: /src/hostap/src/nan/nan.h
    - fields:
      - name: gtk
        type: struct wpa_gtk
      - name: id
        type: u8
      - name: csid
        type: u8
      item_type: struct
      name: nan_gtk
      pos:
        line_end: 200
        line_start: 196
        source_file: /src/hostap/src/nan/nan.h
    - fields:
      - name: csid
        type: enum nan_cipher_suite_id
      - name: pmk[PMK_LEN]
        type: u8
      - name: gtk
        type: struct nan_gtk
      item_type: struct
      name: nan_ndp_sec_params
      pos:
        line_end: 212
        line_start: 208
        source_file: /src/hostap/src/nan/nan.h
    - fields:
      - name: type
        type: enum nan_ndp_action
      - name: ndp_id
        type: struct nan_ndp_id
      - name: qos
        type: struct nan_qos
      - name: sec
        type: struct nan_ndp_sec_params
      - name: '*ssi'
        type: u8
      - name: ssi_len
        type: u16
      - name: u
        type: "union {\n\t\tstruct nan_ndp_setup_req {\n\t\t\tu8 publish_inst_id;\n\t\t\tu8
          service_id[NAN_SERVICE_ID_LEN];\n\t\t} req;\n\n\t\t/*\n\t\t * Used with
          both NAN_NDP_ACTION_RESP (as a response to an NDP\n\t\t * request) and NAN_NDP_ACTION_CONF
          (as a response to an NDP\n\t\t * response with a counter).\n\t\t */\n\t\tstruct
          nan_ndp_setup_resp {\n\t\t\tu8 resp_ndi[ETH_ALEN];\n\t\t\tu8 status;\n\t\t\tu8
          reason_code;\n\t\t} resp;\n\t}"
      - name: sched_valid
        type: bool
      - name: sched
        type: struct nan_schedule
      - name: '*interface_id'
        type: u8
      item_type: struct
      name: nan_ndp_params
      pos:
        line_end: 274
        line_start: 244
        source_file: /src/hostap/src/nan/nan.h
    - fields:
      - name: publish_inst_id
        type: u8
      - name: service_id[NAN_SERVICE_ID_LEN]
        type: u8
      item_type: struct
      name: nan_ndp_setup_req
      pos:
        line_end: 257
        line_start: 254
        source_file: /src/hostap/src/nan/nan.h
    - fields:
      - name: resp_ndi[ETH_ALEN]
        type: u8
      - name: status
        type: u8
      - name: reason_code
        type: u8
      item_type: struct
      name: nan_ndp_setup_resp
      pos:
        line_end: 268
        line_start: 264
        source_file: /src/hostap/src/nan/nan.h
    - fields:
      - name: op_class
        type: u8
      - name: channel
        type: u8
      - name: pref
        type: u8
      item_type: struct
      name: nan_channel_info
      pos:
        line_end: 286
        line_start: 282
        source_file: /src/hostap/src/nan/nan.h
    - fields:
      - name: n_chans
        type: unsigned int
      - name: '*chans'
        type: struct nan_channel_info
      item_type: struct
      name: nan_channels
      pos:
        line_end: 297
        line_start: 294
        source_file: /src/hostap/src/nan/nan.h
    - fields:
      - name: ndp_id
        type: struct nan_ndp_id
      - name: '*peer_ndi'
        type: u8
      - name: '*local_ndi'
        type: u8
      - name: '*ssi'
        type: u8
      - name: ssi_len
        type: size_t
      - name: install_keys
        type: bool
      - name: first_ndp
        type: bool
      - name: new_ndi_sta
        type: bool
      - name: '*interface_id'
        type: u8
      - name: '*local_gtk'
        type: struct nan_gtk
      - name: '*peer_gtk'
        type: struct nan_gtk
      - name: '*peer_gtk_rsc'
        type: u8
      item_type: struct
      name: nan_ndp_connection_params
      pos:
        line_end: 331
        line_start: 317
        source_file: /src/hostap/src/nan/nan.h
    - fields:
      - name: ndp_id
        type: struct nan_ndp_id
      - name: is_request
        type: bool
      - name: ndp_status
        type: enum nan_ndp_status
      - name: ndl_status
        type: enum nan_ndl_status
      - name: publish_inst_id
        type: u8
      - name: '*ssi'
        type: u8
      - name: ssi_len
        type: size_t
      - name: csid
        type: enum nan_cipher_suite_id
      - name: '*pmkid'
        type: u8
      item_type: struct
      name: nan_ndp_action_notif_params
      pos:
        line_end: 358
        line_start: 346
        source_file: /src/hostap/src/nan/nan.h
    - fields:
      - name: n_maps
        type: u8
      - name: maps[NAN_MAX_MAPS]
        type: "struct nan_map {\n\t\tu8 map_id;\n\t\tu8 n_chans;\n\t\tstruct nan_map_chan{\n\t\t\tbool
          committed;\n\t\t\tu8 rx_nss;\n\t\t\tstruct nan_sched_chan chan;\n\t\t\tstruct
          nan_time_bitmap tbm;\n\t\t} chans[NAN_MAX_CHAN_ENTRIES];\n\n\t\tstruct nan_time_bitmap
          ndc;\n\t\tstruct nan_time_bitmap immutable;\n\t}"
      - name: max_idle_period
        type: u16
      item_type: struct
      name: nan_peer_schedule
      pos:
        line_end: 396
        line_start: 379
        source_file: /src/hostap/src/nan/nan.h
    - fields:
      - name: map_id
        type: u8
      - name: n_chans
        type: u8
      - name: chans[NAN_MAX_CHAN_ENTRIES]
        type: "struct nan_map_chan{\n\t\t\tbool committed;\n\t\t\tu8 rx_nss;\n\t\t\tstruct
          nan_sched_chan chan;\n\t\t\tstruct nan_time_bitmap tbm;\n\t\t}"
      - name: ndc
        type: struct nan_time_bitmap
      - name: immutable
        type: struct nan_time_bitmap
      item_type: struct
      name: nan_map
      pos:
        line_end: 393
        line_start: 381
        source_file: /src/hostap/src/nan/nan.h
    - fields:
      - name: committed
        type: bool
      - name: rx_nss
        type: u8
      - name: chan
        type: struct nan_sched_chan
      - name: tbm
        type: struct nan_time_bitmap
      item_type: struct
      name: nan_map_chan
      pos:
        line_end: 389
        line_start: 384
        source_file: /src/hostap/src/nan/nan.h
    - fields:
      - name: n_maps
        type: unsigned int
      - name: maps[NAN_MAX_MAPS]
        type: "struct pot_entry {\n\t\tbool is_band;\n\t\tu8 preference;\n\t\tu8 utilization;\n\t\tu8
          rx_nss;\n\n\t\tu8 n_band_chan;\n\t\tunion pot_band_chan{\n\t\t\tu8 band_id;\n\t\t\tstruct
          {\n\t\t\t\tu8 op_class;\n\t\t\t\tu16 chan_bitmap;\n\t\t\t};\n\t\t} entries[NAN_MAX_CHAN_ENTRIES];\n\t}"
      item_type: struct
      name: nan_peer_potential_avail
      pos:
        line_end: 427
        line_start: 410
        source_file: /src/hostap/src/nan/nan.h
    - fields:
      - name: is_band
        type: bool
      - name: preference
        type: u8
      - name: utilization
        type: u8
      - name: rx_nss
        type: u8
      - name: n_band_chan
        type: u8
      - name: entries[NAN_MAX_CHAN_ENTRIES]
        type: "union pot_band_chan{\n\t\t\tu8 band_id;\n\t\t\tstruct {\n\t\t\t\tu8
          op_class;\n\t\t\t\tu16 chan_bitmap;\n\t\t\t};\n\t\t}"
      item_type: struct
      name: pot_entry
      pos:
        line_end: 426
        line_start: 412
        source_file: /src/hostap/src/nan/nan.h
    - fields:
      - name: pairing_setup
        type: bool
      - name: npk_caching
        type: bool
      - name: pairing_verification
        type: bool
      - name: cipher_suites
        type: u32
      item_type: struct
      name: nan_pairing_cfg
      pos:
        line_end: 444
        line_start: 439
        source_file: /src/hostap/src/nan/nan.h
    - fields:
      - name: '*cb_ctx'
        type: void
      - name: nmi_addr[ETH_ALEN]
        type: u8
      - name: dev_capa
        type: struct nan_device_capabilities
      - name: dev_capa_ext_reg_info
        type: u8
      - name: pairing_cfg
        type: struct nan_pairing_cfg
      - name: nik[NAN_NIK_LEN]
        type: u8
      - name: nik_lifetime
        type: u32
      - name: max_ndl_idle_period
        type: u16
      - name: supported_bootstrap_methods
        type: u16
      - name: auto_accept_bootstrap_methods
        type: u16
      - name: bootstrap_comeback_timeout
        type: u16
      - name: security_capab
        type: u8
      - name: (*start)(void *ctx, const struct nan_cluster_config *config)
        type: int
      - name: (*stop)(void *ctx)
        type: void
      - name: "(*update_config)(void *ctx,\n\t\t\t     const struct nan_cluster_config
          *config)"
        type: int
      - name: "(*ndp_action_notif)(void *ctx,\n\t\t\t\t struct nan_ndp_action_notif_params
          *params)"
        type: void
      - name: "(*ndp_connected)(void *ctx,\n\t\t\t     struct nan_ndp_connection_params
          *params)"
        type: int
      - name: "(*ndp_disconnected)(void *ctx, struct nan_ndp_id *ndp_id,\n\t\t\t\t
          const u8 *local_ndi, const u8 *peer_ndi,\n\t\t\t\t enum nan_reason reason,\n\t\t\t\t
          bool locally_generated, bool remove_sta,\n\t\t\t\t bool failure, u8 gtk_id)"
        type: void
      - name: (*get_chans)(void *ctx, u8 map_id, struct nan_channels *chans)
        type: int
      - name: "(*send_naf)(void *ctx, const u8 *dst, const u8 *src,\n\t\t\tconst u8
          *cluster_id, struct wpabuf *buf)"
        type: int
      - name: (*is_valid_publish_id)(void *ctx, u8 instance_id, u8 *service_id)
        type: bool
      - name: "(*set_peer_schedule)(void *ctx, const u8 *nmi_addr, bool new_sta,\n\t\t\t\t
          u16 cdw, u8 sequence_id,\n\t\t\t\t u16 max_channel_switch_time,\n\t\t\t\t
          const struct nan_peer_schedule *sched,\n\t\t\t\t const struct wpabuf *ulw_elems)"
        type: int
      - name: "(*bootstrap_request)(void *ctx, const u8 *peer_nmi, u16 pbm,\n\t\t\t\t
          \ int handle, u8 requestor_instance_id)"
        type: void
      - name: "(*bootstrap_completed)(void *ctx, const u8 *peer_nmi, u16 pbm,\n\t\t\t\t
          \   bool success, u8 reason_code,\n\t\t\t\t    int handle, u8 requestor_instance_id)"
        type: void
      - name: "(*transmit_followup)(void *ctx, const u8 *peer_nmi,\n\t\t\t\t const
          struct wpabuf *attrs, int handle,\n\t\t\t\t u8 req_instance_id)"
        type: int
      - name: (*get_supported_bootstrap_methods)(void *ctx, int handle)
        type: u16
      - name: (*send_pasn)(void *ctx, const u8 *data, size_t data_len)
        type: int
      - name: "(*pairing_result_cb)(void *ctx, const u8 *peer_addr, int akmp,\n\t\t\t\t
          int cipher, u16 status, struct wpa_ptk *ptk,\n\t\t\t\t const u8 *nd_pmk)"
        type: int
      - name: "(*update_pairing_credentials)(void *ctx, const u8 *nik,\n\t\t\t\t\t
          \ size_t nik_len, int cipher_ver,\n\t\t\t\t\t  int nik_lifetime, int akmp,\n\t\t\t\t\t
          \ const u8 *npk, size_t npk_len)"
        type: int
      - name: "* (*get_npk_akmp)(void *ctx, const u8 *peer_nmi,\n\t\t\t\t\t      const
          u8 *nonce, const u8 *tag,\n\t\t\t\t\t      int *akmp)"
        type: struct wpabuf
      - name: "(*pairing_request)(void *ctx, const u8 *peer_nmi, u8 csid,\n\t\t\t\tu8
          instance_id,\n\t\t\t\tconst struct wpa_ie_data *rsn_data)"
        type: void
      - name: "(*set_group_key)(void *ctx, enum wpa_alg alg, const u8 *addr,\n\t\t\t
          \    int key_idx, const u8 *seq,\n\t\t\t     const u8 *key, size_t key_len,\n\t\t\t
          \    enum key_flag key_flags)"
        type: int
      - name: (*get_seqnum)(void *ctx, int key_idx, u8 *seq, const u8 *ndi_addr)
        type: int
      - name: "(*get_peer_inactivity)(void *ctx, const u8 *local_ndi,\n\t\t\t\t   const
          u8 *peer_ndi)"
        type: int
      - name: (*schedule_changed)(void *ctx, const u8 *peer_nmi)
        type: void
      item_type: struct
      name: nan_config
      pos:
        line_end: 789
        line_start: 446
        source_file: /src/hostap/src/nan/nan.h
    typedefs: []
    union:
    - fields:
      - name: band_id
        type: u8
      item_type: union
      name: pot_band_chan
      pos:
        line_end: 425
        line_start: 419
        source_file: /src/hostap/src/nan/nan.h
- function_names:
  - nan_crypto_cipher_kck_len
  - nan_crypto_cipher_kek_len
  - nan_cipher_key_len
  - nan_crypto_sha256
  - nan_crypto_sha384
  - nan_crypto_pmk_to_ptk
  - nan_crypto_calc_pmkid
  - nan_crypto_calc_auth_token
  - nan_crypto_key_mic
  - nan_crypto_derive_nd_pmk
  - nan_crypto_derive_nira_tag
  - nan_crypto_derive_from_kdk
  - nan_crypto_derive_npk
  - nan_crypto_derive_kek
  - nan_crypto_derive_nd_pmk_from_kdk
  - nan_crypto_encrypt_key_data
  - nan_crypto_decrypt_key_data
  - nan_crypto_clear_pmkid_list
  - dl_list_for_each_safe
  - nan_crypto_pmkid_list
  source_file: /src/hostap/src/nan/nan_crypto.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NAN_KCK_MAX_LEN
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/hostap/src/nan/nan_crypto.c
      type_or_value: '24'
    - item_type: preproc_def
      name: NAN_KEK_MAX_LEN
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/hostap/src/nan/nan_crypto.c
      type_or_value: '32'
    - item_type: preproc_def
      name: NAN_TK_MAX_LEN
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/hostap/src/nan/nan_crypto.c
      type_or_value: '32'
    - item_type: preproc_def
      name: NAN_PTK_LABEL
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/hostap/src/nan/nan_crypto.c
      type_or_value: '"NAN Pairwise key expansion"'
    - item_type: preproc_def
      name: NAN_PMKID_LABEL
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/hostap/src/nan/nan_crypto.c
      type_or_value: '"NAN PMK Name"'
    - item_type: preproc_def
      name: MAX_MAC_LEN
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/hostap/src/nan/nan_crypto.c
      type_or_value: SHA384_MAC_LEN
    structs: []
    typedefs: []
    union: []
- function_names:
  - DEV_NOT_INIT_ERR
  - DEV_NOT_INIT_ERR_VOID
  - nan_test_global_init
  - nan_test_dev_deinit
  - nan_test_global_deinit
  - nan_test_add_action
  - nan_test_run_actions
  - nan_test_start_cb
  - nan_test_stop_cb
  - nan_test_nan_ndp_action
  - nan_ndp_notify_action
  - nan_test_ndp_action
  - nan_test_ndp_action_notfi_cb
  - nan_test_ndp_connected_cb
  - nan_test_ndp_disconnected_cb
  - nan_test_send_naf_cb_action
  - nan_test_tx_status_action
  - nan_test_send_naf_cb
  - nan_test_get_chans_cb
  - nan_test_is_valid_publish_id_cb
  - nan_test_set_peer_schedule_cb
  - nan_test_dev_init
  - nan_test_start_dev
  - nan_test_setup_devices
  - nan_test_ndp_request
  - nan_test_ndp_setup
  - nan_test_verify_expected_result
  - nan_test_iteration_done
  - nan_test_run
  - NAN_CRYPTO_FAIL
  - nan_test_crypto_key_mic
  - nan_test_crypto_pmkid
  - nan_test_ptk
  - nan_test_crypto_auth_token
  - nan_test_derive_nd_pmk
  - nan_test_crypto
  - nan_module_tests
  source_file: /src/hostap/src/nan/nan_module_tests.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NAN_TEST_MAX_NAF_LEN
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/hostap/src/nan/nan_module_tests.c
      type_or_value: '1024'
    - item_type: preproc_def
      name: NAN_TEST_MAX_PEERS
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/hostap/src/nan/nan_module_tests.c
      type_or_value: '20'
    - item_type: preproc_def
      name: NAN_TEST_MAX_ACTIONS
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/hostap/src/nan/nan_module_tests.c
      type_or_value: '30'
    - item_type: preproc_def
      name: NAN_TEST_MIN_SLOTS
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/hostap/src/nan/nan_module_tests.c
      type_or_value: '12'
    - item_type: preproc_def
      name: NAN_TEST_MAX_LATENCY
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/hostap/src/nan/nan_module_tests.c
      type_or_value: '3'
    - item_type: preproc_def
      name: NAN_TEST_PUBLISH_INST_ID
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/hostap/src/nan/nan_module_tests.c
      type_or_value: '12'
    structs:
    - fields:
      - name: list
        type: struct dl_list
      - name: '*dev'
        type: struct nan_device
      - name: (*cb)(struct nan_device *dev, void *ctx)
        type: int
      - name: '*ctx'
        type: void
      item_type: struct
      name: nan_test_action
      pos:
        line_end: 54
        line_start: 49
        source_file: /src/hostap/src/nan/nan_module_tests.c
    - fields:
      - name: '*data'
        type: struct wpabuf
      - name: acked
        type: bool
      - name: dst[ETH_ALEN]
        type: u8
      item_type: struct
      name: nan_test_tx_status_action
      pos:
        line_end: 66
        line_start: 62
        source_file: /src/hostap/src/nan/nan_module_tests.c
    - fields:
      - name: type
        type: enum nan_test_ndp_notify_type
      - name: ndp_id
        type: struct nan_ndp_id
      - name: '*ssi'
        type: u8
      - name: ssi_len
        type: size_t
      item_type: struct
      name: nan_test_ndp_notify
      pos:
        line_end: 80
        line_start: 75
        source_file: /src/hostap/src/nan/nan_module_tests.c
    - fields:
      - name: devs
        type: struct dl_list
      - name: actions
        type: struct dl_list
      - name: '*elems'
        type: struct wpabuf
      item_type: struct
      name: nan_test_global
      pos:
        line_end: 92
        line_start: 88
        source_file: /src/hostap/src/nan/nan_module_tests.c
    typedefs: []
    union: []
- function_names:
  - nan_init
  - nan_peer_flush_avail
  - nan_peer_flush_dev_capa
  - nan_peer_flush_elem_container
  - nan_peer_flush_ulw
  - nan_peer_build_ulw_attrs
  - nan_ndp_setup_stop
  - nan_peer_flush_sec
  - nan_peer_del_sec_entry
  - nan_remove_group_keys
  - nan_del_peer
  - nan_peer_clear_all
  - nan_deinit
  - nan_gen_igtk
  - nan_gen_bigtk
  - nan_start
  - nan_update_config
  - nan_set_cdw_overwrite
  - nan_flush
  - nan_stop
  - nan_get_peer
  - nan_parse_tbm
  - nan_parse_band_chan_list
  - nan_split_avail_entry
  - nan_parse_avail_entry
  - nan_parse_avail_attr
  - nan_peer_dump_info
  - nan_peer_dump
  - nan_peer_disconnect_all_ndps
  - nan_peer_update_schedule
  - nan_merge_peer_info
  - nan_avail_info
  - nan_get_dev_capa_entry
  - nan_parse_peer_device_capa_attr
  - nan_parse_peer_device_capa
  - nan_parse_peer_elem_container_attr
  - nan_parse_peer_elem_container
  - nan_parse_peer_ulw
  - nan_parse_peer_dev_capa_ext
  - nan_parse_npba
  - nan_parse_nira
  - nan_parse_device_attrs
  - nan_alloc_peer
  - nan_add_peer
  - nan_action_build_header
  - nan_action_build
  - nan_action_send
  - nan_ndp_supported
  - nan_configure_peer_schedule
  - nan_clear_peer_schedule
  - nan_process_followup
  - nan_peer_state_timeout
  - nan_set_peer_timeout
  - nan_ndp_action_notif
  - nan_peer_ndi_in_use
  - nan_terminate_ndps_for_ndi
  - nan_handle_idle_period
  - nan_idle_period_timeout
  - nan_ndp_connected
  - nan_ndp_disconnected
  - nan_action_rx_ndp
  - nan_action_substitute_src
  - nan_action_rx
  - nan_publish_instance_id_valid
  - nan_set_cluster_id
  - nan_tx_status_get_peer
  - nan_tx_status
  - nan_handle_ndp_setup
  - nan_ndp_terminated
  - nan_peer_get_device_capabilities
  - nan_peer_get_tk
  - nan_peer_get_pairing_cfg
  - nan_peer_channel_in_local_sched
  - nan_peer_get_committed_avail_add
  - nan_peer_get_committed_avail
  - nan_peer_set_sched
  - nan_peer_get_ndc_sched
  - nan_peer_get_immut_sched
  - nan_peer_get_schedule_info
  - nan_peer_get_pot_avail
  - nan_convert_sched_to_avail_attrs
  - nan_peer_pairing_supported
  - nan_peer_npk_nik_caching_supported
  - nan_peer_del_all_ndps
  - nan_get_peer_elems
  - nan_set_bootstrap_configuration
  - nan_is_ndpe_supported
  - nan_set_mgmt_group_cipher
  - nan_set_beacon_prot
  - nan_set_max_ndl_idle_period
  - nan_has_active_ndp
  - nan_set_sched_update_pending
  - nan_local_sched_update
  - nan_get_status
  - nan_peer_dump_ndps_to_buf
  - nan_terminate_ndi_ndps
  source_file: /src/hostap/src/nan/nan.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NAN_MAX_PEERS
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/hostap/src/nan/nan.c
      type_or_value: '32'
    - item_type: preproc_def
      name: NAN_MAX_NAF_LEN
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/hostap/src/nan/nan.c
      type_or_value: '1024'
    - item_type: preproc_def
      name: NAN_NDP_SETUP_TIMEOUT_LONG
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/hostap/src/nan/nan.c
      type_or_value: '30'
    - item_type: preproc_def
      name: NAN_NDP_SETUP_TIMEOUT_SHORT
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/hostap/src/nan/nan.c
      type_or_value: '2'
    structs: []
    typedefs: []
    union: []
- function_names:
  - nan_sec_reset
  - nan_sec_dump
  - nan_sec_rx_m1_verify
  - nan_sec_parse_csia
  - nan_sec_rx_m1
  - nan_sec_key_mic_ver
  - nan_sec_rx_m2
  - nan_sec_rx_m3
  - nan_sec_rx_m4
  - nan_sec_rx_key_data
  - nan_sec_rx
  - nan_sec_add_m1_attrs
  - nan_sec_add_m2_attrs
  - nan_sec_igtk_kde
  - nan_sec_bigtk_kde
  - nan_sec_gtk_kde
  - nan_sec_igtk_supported
  - nan_sec_add_kdes
  - nan_sec_add_key_attrs
  - nan_sec_add_m3_attrs
  - nan_sec_add_m4_attrs
  - nan_sec_add_attrs
  - nan_sec_init_resp
  - nan_sec_pre_tx
  - nan_sec_get_strength
  - nan_sec_ndp_store_keys
  - nan_sec_get_tk
  source_file: /src/hostap/src/nan/nan_sec.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NAN_KDES_MAX_LEN
      pos:
        line_end: 1082
        line_start: 1078
        source_file: /src/hostap/src/nan/nan_sec.c
      type_or_value: "(KDE_HDR_LEN + sizeof(struct wpa_igtk_kde) + KDE_HDR_LEN + \\\n\t
        sizeof(struct wpa_bigtk_kde) + KDE_HDR_LEN +              \\\n\t sizeof(struct
        wpa_gtk_kde))"
    structs: []
    typedefs: []
    union: []
- function_names:
  - nan_complement_pbm
  - nan_bootstrap_reset
  - nan_bootstrap_build_npba
  - nan_bootstrap_timeout
  - nan_bootstrap_handle_rx_request
  - nan_bootstrap_supported
  - nan_bootstrap_handle_rx
  - nan_bootstrap_request
  - nan_bootstrap_peer_reset
  - nan_bootstrap_get_supported_methods
  source_file: /src/hostap/src/nan/nan_bootstrap.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NAN_BOOTSTRAP_RETRY_TIMEOUT_US
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/hostap/src/nan/nan_bootstrap.c
      type_or_value: '(1 * 1000 * 1000) '
    - item_type: preproc_def
      name: NAN_BOOTSTRAP_COOKIE_LEN
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/hostap/src/nan/nan_bootstrap.c
      type_or_value: '4'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/nan/nan_module_tests.h
  types:
    enum:
    - enumerators:
      - name: NAN_TEST_NDP_NOTIFY_INVALID
      - name: NAN_TEST_NDP_NOTIFY_RESPONSE
      - name: NAN_TEST_NDP_NOTIFY_DISCONNECTED
      - name: NAN_TEST_NDP_NOTIFY_REQUEST
      - name: NAN_TEST_NDP_NOTIFY_CONNECTED
      item_type: enum
      name: nan_test_ndp_notify_type
      pos:
        line_end: 27
        line_start: 21
        source_file: /src/hostap/src/nan/nan_module_tests.h
    preproc_defs:
    - item_type: preproc_def
      name: NAN_TEST_NAME_MAX
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/hostap/src/nan/nan_module_tests.h
      type_or_value: '32'
    - item_type: preproc_def
      name: NAN_TEST_MAX_POT_AVAIL
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/hostap/src/nan/nan_module_tests.h
      type_or_value: '256'
    - item_type: preproc_def
      name: NAN_MAX_NUM_NDPS
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/hostap/src/nan/nan_module_tests.h
      type_or_value: '8'
    structs:
    - fields:
      - name: (*schedule_cb)(struct nan_schedule *sched)
        type: int
      - name: (*schedule_conf_cb)(struct nan_schedule *sched)
        type: int
      - name: (*get_chans_cb)(struct nan_channels *chans)
        type: int
      - name: pot_avail[NAN_TEST_MAX_POT_AVAIL]
        type: u8
      - name: pot_avail_len
        type: size_t
      - name: n_ndps
        type: size_t
      - name: ndp_confs[NAN_MAX_NUM_NDPS]
        type: "struct ndp_conf {\n\t\tbool accept_request;\n\t\tbool term_once_connected;\n\t\tenum
          nan_test_ndp_notify_type expected_result;\n\t\tu8 reason;\n\t\tenum nan_cipher_suite_id
          csid;\n\t\tenum nan_cipher_suite_id expected_csid;\n\t}"
      - name: pmk[PMK_LEN]
        type: u8
      item_type: struct
      name: nan_test_dev_conf
      pos:
        line_end: 74
        line_start: 55
        source_file: /src/hostap/src/nan/nan_module_tests.h
    - fields:
      - name: accept_request
        type: bool
      - name: term_once_connected
        type: bool
      - name: expected_result
        type: enum nan_test_ndp_notify_type
      - name: reason
        type: u8
      - name: csid
        type: enum nan_cipher_suite_id
      - name: expected_csid
        type: enum nan_cipher_suite_id
      item_type: struct
      name: ndp_conf
      pos:
        line_end: 71
        line_start: 64
        source_file: /src/hostap/src/nan/nan_module_tests.h
    - fields:
      - name: list
        type: struct dl_list
      - name: '*global'
        type: struct nan_test_global
      - name: name[NAN_TEST_NAME_MAX]
        type: u8
      - name: nmi[ETH_ALEN]
        type: u8
      - name: ndi[ETH_ALEN]
        type: u8
      - name: counter
        type: u32
      - name: '*pot_avail'
        type: u8
      - name: pot_avail_len
        type: size_t
      - name: '*nan'
        type: struct nan_data
      - name: '*conf'
        type: struct nan_test_dev_conf
      - name: n_ndps
        type: size_t
      - name: connected_notify_received
        type: bool
      - name: disconnected_notify_received
        type: bool
      - name: tk[NAN_TK_MAX_LEN]
        type: u8
      - name: tk_len
        type: size_t
      - name: csid
        type: enum nan_cipher_suite_id
      item_type: struct
      name: nan_device
      pos:
        line_end: 120
        line_start: 97
        source_file: /src/hostap/src/nan/nan_module_tests.h
    - fields:
      - name: '*name'
        type: char
      - name: pub_conf
        type: struct nan_test_dev_conf
      - name: sub_conf
        type: struct nan_test_dev_conf
      item_type: struct
      name: nan_test_case
      pos:
        line_end: 132
        line_start: 128
        source_file: /src/hostap/src/nan/nan_module_tests.h
    typedefs: []
    union: []
- function_names:
  - nan_test_schedule_cb
  - nan_test_schedule_cb_all_ndc
  - nan_test_schedule_cb_all_no_ndc
  - nan_test_schedule_cb_all_no_ndc_period_4
  - nan_test_schedule_cb_2ghz_no_ndc
  - nan_test_get_chans_default
  - nan_test_get_chans_default_reverse
  - nan_test_get_chans_default_24g
  - nan_test_get_chans_default_52g
  - nan_test_case_get_next
  source_file: /src/hostap/src/nan/nan_module_test_cases.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - nan_ndl_state_str
  - C2S
  - nan_ndl_set_state
  - nan_ndl_time_bitmap_print
  - nan_ndl_chan_sched_print
  - nan_ndl_sched_print
  - nan_ndl_clear
  - nan_ndl_reset
  - nan_ndl_alloc
  - nan_ndl_validate_peer_avail
  - nan_ndl_match_sched_vs_common
  - nan_ndl_meets_qos
  - nan_ndl_determine_status
  - nan_ndl_setup
  - nan_ndl_setup_failure
  - nan_ndl_parse_ndc_attr
  - nan_ndl_parse_qos_attr
  - nan_ndl_attr_handle_req
  - nan_ndl_attr_handle_resp
  - nan_ndl_attr_handle_conf
  - nan_ndl_handle_ndl_attr
  - nan_ndl_add_avail_attrs
  - nan_ndl_add_ndl_attr
  - nan_ndl_add_ndc_attr
  - nan_ndl_add_qos_attr
  - nan_ndl_naf_sent
  - nan_ndl_add_elem_container_attr
  source_file: /src/hostap/src/nan/nan_ndl.c
  types:
    enum:
    - enumerators:
      - name: NAN_NDL_VER_SCHED_SUBSET_OF_LOCAL
      - name: NAN_NDL_VER_SCHED_SUPERSET_OF_LOCAL
      - name: NAN_NDL_VER_SCHED_IDENTICAL_OF_LOCAL
      - name: NAN_NDL_VER_SCHED_NONE
      item_type: enum
      name: nan_ndl_ver
      pos:
        line_end: 241
        line_start: 236
        source_file: /src/hostap/src/nan/nan_ndl.c
    preproc_defs: []
    structs:
    - fields:
      - name: dialog_token
        type: u8
      - name: type
        type: u8
      - name: status
        type: u8
      - name: reason
        type: u8
      - name: setup_reason
        type: enum nan_ndl_setup_reason
      - name: max_idle_period
        type: u16
      - name: min_slots
        type: u8
      - name: max_latency
        type: u16
      - name: ndc_id[ETH_ALEN]
        type: u8
      - name: '*ndc_sched'
        type: u8
      - name: ndc_sched_len
        type: u16
      - name: '*immut_sched'
        type: u8
      - name: immut_sched_len
        type: u16
      item_type: struct
      name: ndl_attr_params
      pos:
        line_end: 31
        line_start: 15
        source_file: /src/hostap/src/nan/nan_ndl.c
    typedefs: []
    union: []
- function_names:
  - gas_serv_write_dpp_adv_proto
  - convert_to_protected_dual
  - gas_serv_get_peer
  - gas_serv_add_peer
  - gas_serv_remove_peer
  - gas_serv_peer_timeout
  - gas_dialog_create
  - gas_serv_dialog_find
  - gas_serv_dialog_clear
  - gas_serv_free_dialogs
  - anqp_add_hs_capab_list
  - get_anqp_elem
  - anqp_add_elem
  - anqp_add_override
  - anqp_add_capab_list
  - anqp_add_venue_name
  - anqp_add_venue_url
  - anqp_add_network_auth_type
  - anqp_add_roaming_consortium
  - anqp_add_ip_addr_type_availability
  - anqp_len_nai_realm_eap
  - anqp_add_nai_realm_eap
  - anqp_add_nai_realm_data
  - hs20_add_nai_home_realm_matches
  - anqp_add_nai_realm
  - anqp_add_3gpp_cellular_network
  - anqp_add_domain_name
  - anqp_add_fils_realm_info
  - anqp_add_operator_friendly_name
  - anqp_add_wan_metrics
  - anqp_add_connection_capability
  - anqp_add_operating_class
  - anqp_add_mbo_cell_data_conn_pref
  - anqp_get_required_len
  - gas_serv_build_gas_resp_payload
  - set_anqp_req
  - rx_anqp_query_list_id
  - rx_anqp_query_list
  - rx_anqp_hs_query_list
  - rx_anqp_hs_nai_home_realm
  - rx_anqp_vendor_specific_hs20
  - rx_anqp_vendor_specific_p2p
  - rx_anqp_mbo_query_list
  - rx_anqp_vendor_specific_mbo
  - rx_anqp_vendor_specific
  - gas_serv_req_local_processing
  - gas_serv_req_dpp_processing
  - gas_serv_rx_gas_initial_req
  - gas_serv_rx_gas_comeback_req
  - gas_serv_rx_public_action
  - gas_serv_init
  - gas_serv_deinit
  source_file: /src/hostap/src/ap/gas_serv.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ANQP_MAX_EXTRA_REQ
      pos:
        line_end: 1202
        line_start: 1201
        source_file: /src/hostap/src/ap/gas_serv.c
      type_or_value: '20'
    structs:
    - fields:
      - name: realm_data_idx
        type: unsigned int
      - name: realm_idx
        type: unsigned int
      item_type: struct
      name: matches[10]
      pos:
        line_end: 573
        line_start: 570
        source_file: /src/hostap/src/ap/gas_serv.c
    - fields:
      - name: request
        type: unsigned int
      - name: '*home_realm_query'
        type: u8
      - name: home_realm_query_len
        type: size_t
      - name: p2p_sd
        type: int
      - name: extra_req[ANQP_MAX_EXTRA_REQ]
        type: u16
      - name: num_extra_req
        type: unsigned int
      item_type: struct
      name: anqp_query_info
      pos:
        line_end: 1210
        line_start: 1203
        source_file: /src/hostap/src/ap/gas_serv.c
    typedefs: []
    union: []
- function_names:
  - x_snoop_init
  - x_snoop_get_l2_packet
  - x_snoop_mcast_to_ucast_convert_send
  - x_snoop_deinit
  source_file: /src/hostap/src/ap/x_snoop.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/ap/ap_mlme.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - hostapd_eid_timeout_interval
  - hostapd_eid_assoc_comeback_time
  - ieee802_11_send_sa_query_req
  - ieee802_11_send_sa_query_resp
  - ieee802_11_sa_query_action
  - hostapd_ext_capab_byte
  - hostapd_eid_ext_capab
  - hostapd_eid_qos_map_set
  - hostapd_eid_interworking
  - hostapd_eid_adv_proto
  - hostapd_eid_roaming_consortium
  - hostapd_eid_time_adv
  - hostapd_eid_time_zone
  - hostapd_update_time_adv
  - hostapd_eid_bss_max_idle_period
  - hostapd_eid_mbo_rssi_assoc_rej
  - hostapd_eid_mbo
  - hostapd_mbo_ie_len
  - hostapd_eid_owe_trans_enabled
  - hostapd_eid_owe_trans_len
  - hostapd_eid_owe_trans
  - hostapd_eid_dpp_cc_len
  - hostapd_eid_dpp_cc
  - ap_copy_sta_supp_op_classes
  - hostapd_eid_fils_indic
  - get_tx_parameters
  - hostapd_eid_rsnxe
  - check_ext_capab
  - hostapd_ml_get_assoc_sta
  - hostapd_get_ht_vht_twt_responder
  - hostapd_wfa_gen_capab
  - hostapd_wfa_capab
  - hostapd_eid_wfa_capab_len
  - hostapd_eid_wfa_capab
  source_file: /src/hostap/src/ap/ieee802_11_shared.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - hostapd_init_wps
  - hostapd_deinit_wps
  - hostapd_init_wps_complete
  - hostapd_update_wps
  - hostapd_wps_eap_completed
  - hostapd_wps_get_mib_sta
  - hostapd_wps_button_pushed
  - hostapd_wps_cancel
  source_file: /src/hostap/src/ap/wps_hostapd.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dhcp_snoop_init
  - dhcp_snoop_deinit
  source_file: /src/hostap/src/ap/dhcp_snoop.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mbo_ap_sta_free
  - mbo_ap_parse_non_pref_chan
  - mbo_ap_check_sta_assoc
  - mbo_ap_get_info
  - mbo_ap_wnm_notif_req_cell_capa
  - mbo_ap_wnm_notif_req_elem
  - mbo_ap_wnm_notification_req
  source_file: /src/hostap/src/ap/mbo_ap.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/ap/wnm_ap.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/ap/authsrv.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - hostapd_write_ht_mcs_bitmask
  - hostapd_get_sta_conn_time
  - hostapd_get_sta_info
  - timeout_next_str
  - hw_mode_str
  - hostapd_ctrl_iface_sta_mib
  - hostapd_ctrl_iface_sta_first
  - hostapd_ctrl_iface_sta
  - hostapd_ctrl_iface_sta_next
  - p2p_manager_disconnect
  - hostapd_ctrl_iface_deauthenticate
  - hostapd_ctrl_iface_disassociate
  - hostapd_ctrl_iface_signature
  - hostapd_ctrl_iface_poll_sta
  - hostapd_ctrl_iface_status
  - for_each_mld_link
  - hostapd_parse_freq_params
  - SET_FREQ_PARAM
  - get_target_hw_mode
  - hostapd_ctrl_is_freq_in_mode
  - hostapd_ctrl_check_freq_params
  - hostapd_parse_csa_settings
  - hostapd_ctrl_iface_stop_ap
  - hostapd_ctrl_iface_pmksa_list
  - hostapd_ctrl_iface_pmksa_flush
  - hostapd_ctrl_iface_pmksa_add
  - hostapd_ctrl_iface_pmksa_list_mesh
  - hostapd_ctrl_iface_pmksa_create_entry
  - hostapd_ctrl_iface_disassoc_imminent
  - hostapd_ctrl_iface_ess_disassoc
  - hostapd_ctrl_iface_bss_tm_req
  - hostapd_ctrl_iface_acl_del_mac
  - hostapd_ctrl_iface_acl_clear_list
  - hostapd_ctrl_iface_acl_show_mac
  - hostapd_ctrl_iface_acl_add_mac
  - hostapd_disassoc_accept_mac
  - hostapd_disassoc_deny_mac
  source_file: /src/hostap/src/ap/ctrl_iface_ap.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dfs_use_radar_background
  - dfs_get_used_n_chans
  - dfs_channel_available
  - dfs_is_chan_allowed
  - dfs_get_chan_data
  - dfs_chan_range_available
  - is_in_chanlist
  - dfs_find_channel
  - dfs_adjust_center_freq
  - dfs_get_start_chan_idx
  - dfs_check_chans_radar
  - dfs_check_chans_available
  - dfs_check_chans_unavailable
  - dfs_get_valid_channel
  - dfs_set_valid_channel
  - set_dfs_state_freq
  - set_dfs_state
  - dfs_are_channels_overlapped
  - dfs_get_cac_time
  - hostapd_handle_dfs
  - hostapd_is_dfs_chan_available
  - hostapd_dfs_request_channel_switch
  - hostapd_dfs_update_background_chain
  - hostapd_is_freq_in_current_hw_info
  - hostapd_dfs_is_background_event
  - hostapd_dfs_start_channel_switch_background
  - hostapd_dfs_complete_cac
  - hostapd_dfs_pre_cac_expired
  - dfs_downgrade_bandwidth
  - hostapd_dfs_start_channel_switch_cac
  - hostapd_dfs_background_start_channel_switch
  - hostapd_dfs_start_channel_switch
  - hostapd_dfs_radar_detected
  - hostapd_dfs_nop_finished
  - hostapd_is_dfs_required
  - hostapd_dfs_start_cac
  - hostapd_handle_dfs_offload
  - hostapd_is_dfs_overlap
  source_file: /src/hostap/src/ap/dfs.c
  types:
    enum:
    - enumerators:
      - name: DFS_ANY_CHANNEL
      - name: DFS_AVAILABLE
      - name: DFS_NO_CAC_YET
      item_type: enum
      name: dfs_channel_type
      pos:
        line_end: 27
        line_start: 23
        source_file: /src/hostap/src/ap/dfs.c
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/ap/wpa_auth_i.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RSNA_MAX_EAPOL_RETRIES
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/hostap/src/ap/wpa_auth_i.h
      type_or_value: '4'
    - item_type: preproc_def
      name: FT_REMOTE_SEQ_BACKLOG
      pos:
        line_end: 287
        line_start: 286
        source_file: /src/hostap/src/ap/wpa_auth_i.h
      type_or_value: '16'
    structs:
    - fields:
      - name: '*wpa_auth'
        type: struct wpa_authenticator
      - name: '*group'
        type: struct wpa_group
      - name: addr[ETH_ALEN]
        type: u8
      - name: p2p_dev_addr[ETH_ALEN]
        type: u8
      - name: auth_alg
        type: u16
      - name: wpa_ptk_state
        type: "enum {\n\t\tWPA_PTK_INITIALIZE, WPA_PTK_DISCONNECT, WPA_PTK_DISCONNECTED,\n\t\tWPA_PTK_AUTHENTICATION,
          WPA_PTK_AUTHENTICATION2,\n\t\tWPA_PTK_INITPMK, WPA_PTK_INITPSK, WPA_PTK_PTKSTART,\n\t\tWPA_PTK_PTKCALCNEGOTIATING,
          WPA_PTK_PTKCALCNEGOTIATING2,\n\t\tWPA_PTK_PTKINITNEGOTIATING, WPA_PTK_PTKINITDONE\n\t}"
      - name: wpa_ptk_group_state
        type: "enum {\n\t\tWPA_PTK_GROUP_IDLE = 0,\n\t\tWPA_PTK_GROUP_REKEYNEGOTIATING,\n\t\tWPA_PTK_GROUP_REKEYESTABLISHED,\n\t\tWPA_PTK_GROUP_KEYERROR\n\t}"
      - name: Init
        type: bool
      - name: DeauthenticationRequest
        type: bool
      - name: AuthenticationRequest
        type: bool
      - name: ReAuthenticationRequest
        type: bool
      - name: Disconnect
        type: bool
      - name: disconnect_reason
        type: u16
      - name: TimeoutCtr
        type: u32
      - name: GTimeoutCtr
        type: u32
      - name: TimeoutEvt
        type: bool
      - name: EAPOLKeyReceived
        type: bool
      - name: EAPOLKeyPairwise
        type: bool
      - name: EAPOLKeyRequest
        type: bool
      - name: MICVerified
        type: bool
      - name: GUpdateStationKeys
        type: bool
      - name: ANonce[WPA_NONCE_LEN]
        type: u8
      - name: SNonce[WPA_NONCE_LEN]
        type: u8
      - name: alt_SNonce[WPA_NONCE_LEN]
        type: u8
      - name: alt_replay_counter[WPA_REPLAY_COUNTER_LEN]
        type: u8
      - name: PMK[PMK_LEN_MAX]
        type: u8
      - name: pmk_len
        type: unsigned int
      - name: pmkid[PMKID_LEN]
        type: u8
      - name: PTK
        type: struct wpa_ptk
      - name: hash_alg
        type: enum rsn_hash_alg
      - name: keyidx_active
        type: u8
      - name: use_ext_key_id
        type: bool
      - name: PTK_valid
        type: bool
      - name: pairwise_set
        type: bool
      - name: tk_already_set
        type: bool
      - name: keycount
        type: int
      - name: Pair
        type: bool
      - name: key_replay[RSNA_MAX_EAPOL_RETRIES]
        type: "struct wpa_key_replay_counter {\n\t\tu8 counter[WPA_REPLAY_COUNTER_LEN];\n\t\tbool
          valid;\n\t}"
      - name: PInitAKeys
        type: bool
      - name: PTKRequest
        type: bool
      - name: has_GTK
        type: bool
      - name: PtkGroupInit
        type: bool
      - name: '*last_rx_eapol_key'
        type: u8
      - name: last_rx_eapol_key_len
        type: size_t
      - name: changed
        type: unsigned int
      - name: in_step_loop
        type: unsigned int
      - name: pending_deinit
        type: unsigned int
      - name: started
        type: unsigned int
      - name: mgmt_frame_prot
        type: unsigned int
      - name: mfpr
        type: unsigned int
      - name: rx_eapol_key_secure
        type: unsigned int
      - name: update_snonce
        type: unsigned int
      - name: alt_snonce_valid
        type: unsigned int
      - name: waiting_radius_psk
        type: unsigned int
      - name: is_wnmsleep
        type: unsigned int
      - name: pmkid_set
        type: unsigned int
      - name: spp_amsdu
        type: unsigned int
      - name: ptkstart_without_success
        type: unsigned int
      - name: req_replay_counter[WPA_REPLAY_COUNTER_LEN]
        type: u8
      - name: req_replay_counter_used
        type: int
      - name: '*wpa_ie'
        type: u8
      - name: wpa_ie_len
        type: size_t
      - name: '*rsnxe'
        type: u8
      - name: rsnxe_len
        type: size_t
      - name: '*rsn_selection'
        type: u8
      - name: rsn_selection_len
        type: size_t
      - name: wpa
        type: "enum {\n\t\tWPA_VERSION_NO_WPA = 0 /* WPA not used */,\n\t\tWPA_VERSION_WPA
          = 1 /* WPA / IEEE 802.11i/D3.0 */,\n\t\tWPA_VERSION_WPA2 = 2 /* WPA2 / IEEE
          802.11i */\n\t}"
      - name: pairwise
        type: int
      - name: wpa_key_mgmt
        type: int
      - name: '*pmksa'
        type: struct rsn_pmksa_cache_entry
      - name: dot11RSNAStatsTKIPLocalMICFailures
        type: u32
      - name: dot11RSNAStatsTKIPRemoteMICFailures
        type: u32
      - name: rsn_override
        type: bool
      - name: rsn_override_2
        type: bool
      - name: pending_1_of_4_timeout
        type: int
      - name: ssid_protection
        type: bool
      - name: '*sae_pw_id'
        type: struct wpabuf
      - name: sae_pw_id_counter
        type: unsigned int
      item_type: struct
      name: wpa_state_machine
      pos:
        line_end: 198
        line_start: 18
        source_file: /src/hostap/src/ap/wpa_auth_i.h
    - fields:
      - name: counter[WPA_REPLAY_COUNTER_LEN]
        type: u8
      - name: valid
        type: bool
      item_type: struct
      name: wpa_key_replay_counter
      pos:
        line_end: 74
        line_start: 71
        source_file: /src/hostap/src/ap/wpa_auth_i.h
    - fields:
      - name: valid
        type: bool
      - name: rejected
        type: bool
      - name: peer_addr[ETH_ALEN]
        type: u8
      - name: '*wpa_auth'
        type: struct wpa_authenticator
      item_type: struct
      name: mld_link
      pos:
        line_end: 191
        line_start: 185
        source_file: /src/hostap/src/ap/wpa_auth_i.h
    - fields:
      - name: '*next'
        type: struct wpa_group
      - name: vlan_id
        type: int
      - name: GInit
        type: bool
      - name: GKeyDoneStations
        type: int
      - name: GTKReKey
        type: bool
      - name: GTK_len
        type: int
      - name: GN
        type: int
      - name: GTKAuthenticator
        type: bool
      - name: Counter[WPA_NONCE_LEN]
        type: u8
      - name: wpa_group_state
        type: "enum {\n\t\tWPA_GROUP_GTK_INIT = 0,\n\t\tWPA_GROUP_SETKEYS, WPA_GROUP_SETKEYSDONE,\n\t\tWPA_GROUP_FATAL_FAILURE\n\t}"
      - name: GMK[WPA_GMK_LEN]
        type: u8
      - name: GTK[2][WPA_GTK_MAX_LEN]
        type: u8
      - name: GNonce[WPA_NONCE_LEN]
        type: u8
      - name: changed
        type: bool
      - name: first_sta_seen
        type: bool
      - name: reject_4way_hs_for_entropy
        type: bool
      - name: IGTK[2][WPA_IGTK_MAX_LEN]
        type: u8
      - name: BIGTK[2][WPA_IGTK_MAX_LEN]
        type: u8
      - name: GN_igtk
        type: int
      - name: GN_bigtk
        type: int
      - name: bigtk_set
        type: bool
      - name: bigtk_configured
        type: bool
      - name: references
        type: unsigned int
      - name: num_setup_iface
        type: unsigned int
      item_type: struct
      name: wpa_group
      pos:
        line_end: 235
        line_start: 202
        source_file: /src/hostap/src/ap/wpa_auth_i.h
    - fields:
      - name: '*group'
        type: struct wpa_group
      - name: dot11RSNAStatsTKIPRemoteMICFailures
        type: unsigned int
      - name: dot11RSNAAuthenticationSuiteSelected
        type: u32
      - name: dot11RSNAPairwiseCipherSelected
        type: u32
      - name: dot11RSNAGroupCipherSelected
        type: u32
      - name: dot11RSNAPMKIDUsed[PMKID_LEN]
        type: u8
      - name: dot11RSNAAuthenticationSuiteRequested
        type: u32
      - name: dot11RSNAPairwiseCipherRequested
        type: u32
      - name: dot11RSNAGroupCipherRequested
        type: u32
      - name: dot11RSNATKIPCounterMeasuresInvoked
        type: unsigned int
      - name: dot11RSNA4WayHandshakeFailures
        type: unsigned int
      - name: conf
        type: struct wpa_auth_config
      - name: '*cb'
        type: struct wpa_auth_callbacks
      - name: '*cb_ctx'
        type: void
      - name: '*wpa_ie'
        type: u8
      - name: wpa_ie_len
        type: size_t
      - name: addr[ETH_ALEN]
        type: u8
      - name: '*pmksa'
        type: struct rsn_pmksa_cache
      - name: '*ft_pmk_cache'
        type: struct wpa_ft_pmk_cache
      - name: non_tx_beacon_prot
        type: bool
      item_type: struct
      name: wpa_authenticator
      pos:
        line_end: 281
        line_start: 241
        source_file: /src/hostap/src/ap/wpa_auth_i.h
    - fields:
      - name: dom
        type: u32
      - name: time_offset
        type: struct os_reltime
      - name: last[FT_REMOTE_SEQ_BACKLOG]
        type: u32
      - name: num_last
        type: unsigned int
      - name: offsetidx
        type: u32
      - name: queue
        type: struct dl_list
      item_type: struct
      name: ft_remote_seq_rx
      pos:
        line_end: 301
        line_start: 287
        source_file: /src/hostap/src/ap/wpa_auth_i.h
    - fields:
      - name: dom
        type: u32
      - name: seq
        type: u32
      item_type: struct
      name: ft_remote_seq_tx
      pos:
        line_end: 306
        line_start: 303
        source_file: /src/hostap/src/ap/wpa_auth_i.h
    - fields:
      - name: rx
        type: struct ft_remote_seq_rx
      - name: tx
        type: struct ft_remote_seq_tx
      item_type: struct
      name: ft_remote_seq
      pos:
        line_end: 311
        line_start: 308
        source_file: /src/hostap/src/ap/wpa_auth_i.h
    typedefs: []
    union: []
- function_names:
  - acs_clean_chan_surveys
  - acs_cleanup_mode
  - acs_cleanup
  - acs_fail
  - acs_survey_interference_factor
  - acs_survey_chan_interference_factor
  - acs_usable_bw_chan
  - acs_get_bw_center_chan
  - acs_survey_is_sufficient
  - acs_survey_list_is_sufficient
  - acs_surveys_are_sufficient_mode
  - acs_surveys_are_sufficient
  - acs_usable_chan
  - is_in_chanlist
  - is_in_freqlist
  - acs_survey_mode_interference_factor
  - acs_survey_all_chans_interference_factor
  - acs_find_chan_mode
  - acs_find_mode
  - acs_find_chan
  - is_24ghz_mode
  - is_common_24ghz_chan
  - acs_update_puncturing_bitmap
  - acs_usable_bw320_chan
  - acs_find_ideal_chan_mode
  - acs_find_ideal_chan
  - acs_adjust_secondary
  - acs_adjust_center_freq
  - acs_study_survey_based
  - acs_study_bss_based
  - acs_study_options
  - acs_study
  - acs_scan_complete
  - acs_request_scan_add_freqs
  - acs_request_scan
  - acs_scan_retry
  - acs_init
  source_file: /src/hostap/src/ap/acs.c
  types:
    enum:
    - enumerators:
      - name: ACS_BW40
      - name: ACS_BW80
      - name: ACS_BW160
      - name: ACS_BW320_1
      - name: ACS_BW320_2
      item_type: enum
      name: bw_type
      pos:
        line_end: 251
        line_start: 245
        source_file: /src/hostap/src/ap/acs.c
    preproc_defs:
    - item_type: preproc_def
      name: ACS_ADJ_WEIGHT
      pos:
        line_end: 719
        line_start: 718
        source_file: /src/hostap/src/ap/acs.c
      type_or_value: '0.85'
    - item_type: preproc_def
      name: ACS_NEXT_ADJ_WEIGHT
      pos:
        line_end: 723
        line_start: 722
        source_file: /src/hostap/src/ap/acs.c
      type_or_value: '0.55'
    - item_type: preproc_def
      name: ACS_24GHZ_PREFER_1_6_11
      pos:
        line_end: 732
        line_start: 731
        source_file: /src/hostap/src/ap/acs.c
      type_or_value: '0.8'
    structs:
    - fields:
      - name: first
        type: int
      - name: last
        type: int
      - name: center_chan
        type: int
      item_type: struct
      name: bw_item
      pos:
        line_end: 257
        line_start: 253
        source_file: /src/hostap/src/ap/acs.c
    typedefs: []
    union: []
- function_names:
  - mbo_ap_check_sta_assoc
  - mbo_ap_get_info
  - mbo_ap_wnm_notification_req
  - mbo_ap_sta_free
  source_file: /src/hostap/src/ap/mbo_ap.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndisc_snoop_init
  - ndisc_snoop_deinit
  - sta_ip6addr_del
  source_file: /src/hostap/src/ap/ndisc_snoop.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/ap/comeback_token.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rsn_preauth_receive
  - rsn_preauth_iface_add
  - rsn_preauth_iface_deinit
  - rsn_preauth_iface_init
  - rsn_preauth_finished_cb
  - rsn_preauth_finished
  - rsn_preauth_send
  - rsn_preauth_free_station
  source_file: /src/hostap/src/ap/preauth_auth.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ETH_P_PREAUTH
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/hostap/src/ap/preauth_auth.c
      type_or_value: '0x88C7 '
    structs:
    - fields:
      - name: '*next'
        type: struct rsn_preauth_interface
      - name: '*hapd'
        type: struct hostapd_data
      - name: '*l2'
        type: struct l2_packet_data
      - name: '*ifname'
        type: char
      - name: ifindex
        type: int
      item_type: struct
      name: rsn_preauth_interface
      pos:
        line_end: 37
        line_start: 31
        source_file: /src/hostap/src/ap/preauth_auth.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/ap/vlan_util.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - hostapd_neighbor_get
  - hostapd_neighbor_show
  - hostapd_neighbor_clear_entry
  - hostapd_neighbor_add
  - hostapd_neighbor_set
  - hostapd_neighbor_free
  - hostapd_neighbor_remove
  - hostapd_free_neighbor_db
  - hostapd_get_nr_chan_width
  - hostapd_neighbor_set_own_report
  - hostapd_neighbor_get_diff_short_ssid
  - hostapd_neighbor_sync_own_report
  source_file: /src/hostap/src/ap/neighbor_db.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - hostapd_afc_reset_channels
  - hostapd_afc_build_location_request
  - hostapd_afc_get_opclass_chan_list
  - hostapd_afc_build_req_chan_list
  - hostapd_afc_build_request
  - hostad_afc_parse_available_freq_info
  - hostad_afc_update_chan_info
  - hostad_afc_parse_available_chan_info
  - hostad_afc_get_timeout
  - hostapd_afc_parse_reply
  - hostapd_afc_send_receive
  - hostapd_afc_has_usable_chans
  - hostapd_afc_handle_request
  - hostapd_afc_delete_data_from_server
  - hostapd_afc_timeout_handler
  - hostapd_afc_send_request
  - hostapd_afc_stop
  - hostap_afc_disable_channels
  - hostap_afc_get_chan_max_eirp_power
  source_file: /src/hostap/src/ap/afc.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HOSTAPD_AFC_RETRY_TIMEOUT
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/hostap/src/ap/afc.c
      type_or_value: '180'
    - item_type: preproc_def
      name: HOSTAPD_AFC_TIMEOUT
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/hostap/src/ap/afc.c
      type_or_value: '86400 '
    - item_type: preproc_def
      name: HOSTAPD_AFC_BUFSIZE
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/hostap/src/ap/afc.c
      type_or_value: '8192'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ieee80211_eht_ppet_size
  - ieee80211_eht_mcs_set_size
  - hostapd_eid_eht_capab_len
  - hostapd_eid_eht_capab
  - hostapd_eid_eht_operation
  - check_valid_eht_mcs_nss
  - check_valid_eht_mcs
  - ieee80211_invalid_eht_cap_size
  - copy_sta_eht_capab
  - hostapd_get_eht_capab
  - hostapd_eid_eht_basic_ml_common
  - hostapd_eid_eht_basic_ml_len
  - hostapd_eid_eht_reconf_ml
  - hostapd_eid_eht_ml_len
  - hostapd_eid_eht_ml_beacon
  - hostapd_eid_eht_ml_assoc
  - hostapd_eid_eht_ml_beacon_len
  - hostapd_ml_auth_resp
  - sae_commit_skip_fixed_fields
  - sae_confirm_skip_fixed_fields
  - auth_skip_fixed_fields
  - hostapd_process_ml_auth
  - hostapd_mld_validate_assoc_info
  - hostapd_process_ml_assoc_req_addr
  - hostapd_process_ml_assoc_req
  - ml_deinit_link_reconf_req
  - hostapd_link_reconf_resp_tx_status
  - for_each_mld_link
  - for_each_mld_link
  - recover_from_zero_links
  - hostapd_ml_process_reconf_link
  - for_each_mld_link
  - hostapd_reject_all_reconf_req
  - hostapd_send_link_reconf_resp
  - hostapd_ml_check_sta_entry_by_link_addr_iter
  - hostapd_parse_link_reconf_req_sta_profile
  - hostapd_parse_link_reconf_req_reconf_mle
  - hostapd_validate_link_reconf_req
  - hostapd_handle_link_reconf_req
  - ieee802_11_rx_protected_eht_action
  - hostapd_eid_eht_ml_tid_to_link_map_len
  - hostapd_eid_eht_ml_tid_to_link_map
  - for_each_mld_link
  source_file: /src/hostap/src/ap/ieee802_11_eht.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EHT_ML_COMMON_INFO_LEN
      pos:
        line_end: 432
        line_start: 431
        source_file: /src/hostap/src/ap/ieee802_11_eht.c
      type_or_value: '13'
    - item_type: preproc_def
      name: EHT_ML_STA_INFO_LEN
      pos:
        line_end: 437
        line_start: 436
        source_file: /src/hostap/src/ap/ieee802_11_eht.c
      type_or_value: '21'
    structs: []
    typedefs: []
    union: []
- function_names:
  - hapd_macsec_init
  - hapd_macsec_deinit
  - hapd_macsec_get_capability
  - hapd_enable_protect_frames
  - hapd_enable_encrypt
  - hapd_set_replay_protect
  - hapd_set_current_cipher_suite
  - hapd_enable_controlled_port
  - hapd_get_receive_lowest_pn
  - hapd_get_transmit_next_pn
  - hapd_set_transmit_next_pn
  - conf_offset_val
  - hapd_create_receive_sc
  - hapd_delete_receive_sc
  - hapd_create_receive_sa
  - hapd_delete_receive_sa
  - hapd_enable_receive_sa
  - hapd_disable_receive_sa
  - hapd_create_transmit_sc
  - hapd_delete_transmit_sc
  - hapd_create_transmit_sa
  - hapd_delete_transmit_sa
  - hapd_enable_transmit_sa
  - hapd_disable_transmit_sa
  - ieee802_1x_alloc_kay_sm_hapd
  - ieee802_1x_dealloc_kay_sm_hapd
  - ieee802_1x_auth_get_msk
  - ieee802_1x_notify_create_actor_hapd
  - ieee802_1x_create_preshared_mka_hapd
  source_file: /src/hostap/src/ap/wpa_auth_kay.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEFAULT_KEY_LEN
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/hostap/src/ap/wpa_auth_kay.c
      type_or_value: '16'
    - item_type: preproc_def
      name: DEFAULT_CKN_LEN
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/hostap/src/ap/wpa_auth_kay.c
      type_or_value: '16'
    structs: []
    typedefs: []
    union: []
- function_names:
  - rsn_preauth_iface_init
  - rsn_preauth_iface_deinit
  - rsn_preauth_finished
  - rsn_preauth_send
  - rsn_preauth_free_station
  source_file: /src/hostap/src/ap/preauth_auth.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/ap/taxonomy.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - hostapd_sta_flags_to_drv
  - add_buf
  - add_buf_data
  - hostapd_build_ap_extra_ies
  - hostapd_free_ap_extra_ies
  - hostapd_reset_ap_wps_ie
  - hostapd_set_ap_wps_ie
  - hostapd_sta_is_link_sta
  - hostapd_set_authorized
  - hostapd_set_sta_flags
  - hostapd_set_drv_ieee8021x
  - hostapd_vlan_if_add
  - hostapd_vlan_if_remove
  - hostapd_set_wds_sta
  - hostapd_add_sta_node
  - hostapd_sta_auth
  - hostapd_sta_assoc
  - hostapd_sta_add
  - hostapd_set_privacy
  - hostapd_set_generic_elem
  - hostapd_get_ssid
  - hostapd_set_ssid
  - hostapd_if_add
  - hostapd_if_link_remove
  - hostapd_if_remove
  - hostapd_set_ieee8021x
  - hostapd_get_seqnum
  - hostapd_flush
  - hostapd_set_freq
  - hostapd_set_rts
  - hostapd_set_frag
  - hostapd_sta_set_flags
  - hostapd_sta_set_airtime_weight
  - hostapd_set_country
  - hostapd_set_tx_queue_params
  - hostapd_get_hw_feature_data
  - hostapd_drv_none
  - hostapd_drv_nl80211
  - hostapd_driver_scan
  - hostapd_driver_get_scan_results
  - hostapd_driver_set_noa
  - hostapd_drv_set_key
  - hostapd_drv_send_mlme
  - hostapd_drv_sta_deauth
  - hostapd_drv_sta_disassoc
  - hostapd_drv_wnm_oper
  - hostapd_is_action_frame_link_agnostic
  - hapd_drv_send_action
  - hostapd_drv_send_action
  - hostapd_drv_send_action_addr3_ap
  - hostapd_drv_send_action_forced_addr3
  - hostapd_start_dfs_cac
  - hostapd_drv_set_qos_map
  - hostapd_get_hw_mode_any_channels
  - hostapd_get_ext_capa
  - hostapd_get_mld_capa
  - hostapd_drv_do_acs
  - hostapd_drv_update_dh_ie
  - hostapd_drv_dpp_listen
  - hostapd_drv_set_secure_ranging_ctx
  - hostapd_get_multi_hw_info
  - hostapd_drv_add_pmkid
  - hostapd_add_pmkid
  - hostapd_drv_remove_pmkid
  - hostapd_remove_pmkid
  source_file: /src/hostap/src/ap/ap_drv_ops.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - wpa_ft_rrb_decrypt
  - wpa_ft_rrb_get_tlv
  - wpa_ft_rrb_dump
  - cmp_int
  - wpa_ft_rrb_get_tlv_vlan
  - wpa_ft_tlv_len
  - wpa_ft_tlv_lin
  - wpa_ft_vlan_len
  - wpa_ft_vlan_lin
  - wpa_ft_rrb_lin
  - wpa_ft_rrb_encrypt
  - wpa_ft_rrb_build
  - RRB_GET_SRC
  - RRB_GET
  - RRB_GET_AUTH
  - RRB_GET_OPTIONAL_SRC
  - RRB_GET_OPTIONAL
  - RRB_GET_OPTIONAL_AUTH
  - wpa_ft_rrb_send
  - wpa_ft_rrb_oui_send
  - wpa_ft_action_send
  - wpa_ft_get_psk
  - wpa_ft_add_sta
  - wpa_ft_set_vlan
  - wpa_ft_get_vlan
  - wpa_ft_set_identity
  - wpa_ft_get_identity
  - wpa_ft_set_radius_cui
  - wpa_ft_get_radius_cui
  - wpa_ft_set_session_timeout
  - wpa_ft_get_session_timeout
  - wpa_channel_info
  - wpa_write_mdie
  - wpa_write_ftie
  - wpa_ft_rrb_seq_free
  - wpa_ft_rrb_seq_flush
  - wpa_ft_rrb_seq_timeout
  - wpa_ft_rrb_seq_req
  - wpa_ft_rrb_seq_chk
  - wpa_ft_rrb_seq_accept
  - wpa_ft_new_seq
  - wpa_ft_free_pmk_r0
  - wpa_ft_expire_pmk_r0
  - wpa_ft_free_pmk_r1
  - wpa_ft_expire_pmk_r1
  - wpa_ft_pmk_cache_init
  - wpa_ft_pmk_cache_deinit
  - wpa_ft_store_pmk_r0
  - wpa_ft_fetch_pmk_r0
  - wpa_ft_store_pmk_r1
  - wpa_ft_fetch_pmk_r1
  - wpa_ft_rrb_init_r0kh_seq
  - wpa_ft_rrb_lookup_r0kh
  - wpa_ft_rrb_init_r1kh_seq
  - wpa_ft_rrb_lookup_r1kh
  - wpa_ft_rrb_check_r0kh
  - wpa_ft_rrb_check_r1kh
  - wpa_ft_rrb_del_r0kh
  - wpa_ft_rrb_r0kh_replenish
  - wpa_ft_rrb_r0kh_timeout
  - wpa_ft_rrb_add_r0kh
  - wpa_ft_rrb_del_r1kh
  - wpa_ft_rrb_r1kh_replenish
  - wpa_ft_rrb_add_r1kh
  - wpa_ft_sta_deinit
  - wpa_ft_deinit_seq
  - wpa_ft_deinit_rkh_tmp
  - wpa_ft_deinit
  - wpa_ft_block_r0kh
  - wpa_ft_expire_pull
  - wpa_ft_pull_pmk_r1
  - wpa_ft_store_pmk_fils
  - wpa_auth_derive_ptk_ft
  - wpa_auth_ft_store_keys
  - wpa_auth_get_seqnum
  - wpa_ft_gtk_subelem
  - wpa_ft_igtk_subelem
  - wpa_ft_bigtk_subelem
  - wpa_ft_process_rdie
  - wpa_ft_process_ric
  - wpa_sm_write_assoc_resp_ies
  - wpa_auth_set_key
  - wpa_auth_set_ltf_keyseed
  - wpa_auth_add_sta_ft
  - wpa_ft_install_ptk
  - wpa_ft_psk_pmk_r1
  - wpa_ft_set_key_mgmt
  - wpa_ft_local_derive_pmk_r1
  - wpa_ft_process_auth_req
  - wpa_ft_process_auth
  - wpa_ft_validate_reassoc
  - wpa_ft_action_rx
  - wpa_ft_rrb_rx_request_cb
  - wpa_ft_rrb_rx_request
  - wpa_ft_send_rrb_auth_resp
  - wpa_ft_rrb_build_r0
  - wpa_ft_rrb_rx_pull
  - wpa_ft_rrb_rx_r1
  - ft_finish_pull
  - ft_get_sta_cb
  - wpa_ft_rrb_rx_resp
  - wpa_ft_rrb_rx_push
  - wpa_ft_rrb_rx_seq
  - wpa_ft_rrb_rx_seq_req
  - wpa_ft_rrb_rx_seq_resp
  - wpa_ft_rrb_rx
  - wpa_ft_rrb_oui_rx
  - wpa_ft_generate_pmk_r1
  - wpa_ft_push_pmk_r1
  source_file: /src/hostap/src/ap/wpa_auth_ft.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRB_MIN_MSG_LEN
      pos:
        line_end: 546
        line_start: 545
        source_file: /src/hostap/src/ap/wpa_auth_ft.c
      type_or_value: '64'
    - item_type: preproc_def
      name: FT_RRB_SEQ_OK
      pos:
        line_end: 1040
        line_start: 1039
        source_file: /src/hostap/src/ap/wpa_auth_ft.c
      type_or_value: '0'
    - item_type: preproc_def
      name: FT_RRB_SEQ_DROP
      pos:
        line_end: 1041
        line_start: 1040
        source_file: /src/hostap/src/ap/wpa_auth_ft.c
      type_or_value: '1'
    - item_type: preproc_def
      name: FT_RRB_SEQ_DEFER
      pos:
        line_end: 1042
        line_start: 1041
        source_file: /src/hostap/src/ap/wpa_auth_ft.c
      type_or_value: '2'
    structs:
    - fields:
      - name: type
        type: u16
      - name: len
        type: size_t
      - name: '*data'
        type: u8
      item_type: struct
      name: tlv_list
      pos:
        line_end: 53
        line_start: 49
        source_file: /src/hostap/src/ap/wpa_auth_ft.c
    - fields:
      - name: list
        type: struct dl_list
      - name: nonce[FT_RRB_NONCE_LEN]
        type: u8
      - name: nonce_ts
        type: struct os_reltime
      - name: src_addr[ETH_ALEN]
        type: u8
      - name: '*enc'
        type: u8
      - name: enc_len
        type: size_t
      - name: '*auth'
        type: u8
      - name: auth_len
        type: size_t
      - name: "(*cb)(struct wpa_authenticator *wpa_auth,\n\t\t  const u8 *src_addr,\n\t\t
          \ const u8 *enc, size_t enc_len,\n\t\t  const u8 *auth, size_t auth_len,\n\t\t
          \ int no_defer)"
        type: int
      item_type: struct
      name: ft_remote_item
      pos:
        line_end: 908
        line_start: 892
        source_file: /src/hostap/src/ap/wpa_auth_ft.c
    - fields:
      - name: list
        type: struct dl_list
      - name: pmk_r0[PMK_LEN_MAX]
        type: u8
      - name: pmk_r0_len
        type: size_t
      - name: pmk_r0_name[WPA_PMK_NAME_LEN]
        type: u8
      - name: spa[ETH_ALEN]
        type: u8
      - name: pairwise
        type: int
      - name: '*vlan'
        type: struct vlan_description
      - name: expiration
        type: os_time_t
      - name: '*identity'
        type: u8
      - name: identity_len
        type: size_t
      - name: '*radius_cui'
        type: u8
      - name: radius_cui_len
        type: size_t
      - name: session_timeout
        type: os_time_t
      - name: pmk_r1_pushed
        type: int
      item_type: struct
      name: wpa_ft_pmk_r0_sa
      pos:
        line_end: 1205
        line_start: 1189
        source_file: /src/hostap/src/ap/wpa_auth_ft.c
    - fields:
      - name: list
        type: struct dl_list
      - name: pmk_r1[PMK_LEN_MAX]
        type: u8
      - name: pmk_r1_len
        type: size_t
      - name: pmk_r1_name[WPA_PMK_NAME_LEN]
        type: u8
      - name: spa[ETH_ALEN]
        type: u8
      - name: pairwise
        type: int
      - name: '*vlan'
        type: struct vlan_description
      - name: '*identity'
        type: u8
      - name: identity_len
        type: size_t
      - name: '*radius_cui'
        type: u8
      - name: radius_cui_len
        type: size_t
      - name: session_timeout
        type: os_time_t
      item_type: struct
      name: wpa_ft_pmk_r1_sa
      pos:
        line_end: 1221
        line_start: 1207
        source_file: /src/hostap/src/ap/wpa_auth_ft.c
    - fields:
      - name: pmk_r0
        type: struct dl_list
      - name: pmk_r1
        type: struct dl_list
      item_type: struct
      name: wpa_ft_pmk_cache
      pos:
        line_end: 1226
        line_start: 1223
        source_file: /src/hostap/src/ap/wpa_auth_ft.c
    - fields:
      - name: '*nonce'
        type: u8
      - name: '*s1kh_id'
        type: u8
      - name: '*sm'
        type: struct wpa_state_machine
      item_type: struct
      name: ft_get_sta_ctx
      pos:
        line_end: 4334
        line_start: 4330
        source_file: /src/hostap/src/ap/wpa_auth_ft.c
    typedefs: []
    union: []
- function_names:
  - set_user_methods
  - get_user_cb
  - get_wildcard_cb
  - eap_user_sqlite_get
  - hostapd_get_eap_user
  source_file: /src/hostap/src/ap/eap_user_db.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - hostapd_eid_bss_load
  - ieee802_11_erp_info
  - hostapd_eid_ds_params
  - hostapd_eid_erp_info
  - hostapd_eid_pwr_constraint
  - hostapd_eid_country_add
  - hostapd_fill_subband_triplets
  - hostapd_eid_country
  - hostapd_wpa_ie
  - hostapd_vendor_wpa_ie
  - hostapd_get_rsne
  - hostapd_get_mde
  - hostapd_get_rsnxe
  - hostapd_get_wpa_ie
  - hostapd_get_rsne_override
  - hostapd_get_rsne_override_2
  - hostapd_get_rsnxe_override
  - hostapd_get_rsne_override_len
  - hostapd_get_rsne_override_2_len
  - hostapd_get_rsnxe_override_len
  - hostapd_eid_csa
  - hostapd_eid_ecsa
  - hostapd_eid_max_cs_time
  - hostapd_eid_supported_op_classes
  - ieee802_11_build_ap_params_mbssid
  - hostapd_eid_mbssid_config
  - he_elem_len
  - hostapd_free_probe_resp_params
  - hostapd_probe_resp_elems_len
  - hostapd_probe_resp_fill_elems
  - hostapd_gen_probe_resp
  - hostapd_fill_probe_resp_ml_params
  - for_each_mld_link
  - ssid_match
  - sta_track_expire
  - sta_track_get
  - sta_track_add
  - sta_track_seen_on
  - sta_track_claim_taxonomy_info
  - parse_ml_probe_req
  - handle_probe_req
  - hostapd_probe_resp_offloads
  - hostapd_unsol_bcast_probe_resp
  - sta_track_del
  - hostapd_gen_fils_discovery_phy_index
  - hostapd_gen_fils_discovery_nss
  - hostapd_fils_discovery_cap
  - hostapd_gen_fils_discovery
  - hostapd_fils_discovery
  - ieee802_11_build_ap_params
  - ieee802_11_free_ap_params
  - __ieee802_11_set_beacon
  - ieee802_11_set_beacon_per_bss_only
  - hostapd_get_probe_resp_tmpl
  - is_restricted_eid_in_sta_profile
  - is_restricted_ext_eid_in_sta_profile
  - hostapd_add_sta_profile
  - for_each_element
  - for_each_element
  - for_each_element
  - for_each_element
  - hostapd_gen_sta_profile
  - hostapd_gen_per_sta_profiles
  - for_each_mld_link
  - ieee802_11_set_beacon
  - ieee802_11_set_beacons
  - ieee802_11_update_beacons
  source_file: /src/hostap/src/ap/beacon.c
  types:
    enum:
    - enumerators:
      - name: NO_SSID_MATCH
      - name: EXACT_SSID_MATCH
      - name: WILDCARD_SSID_MATCH
      - name: CO_LOCATED_SSID_MATCH
      item_type: enum
      name: ssid_match_result
      pos:
        line_end: 1200
        line_start: 1195
        source_file: /src/hostap/src/ap/beacon.c
    preproc_defs:
    - item_type: preproc_def
      name: MAX_PROBERESP_LEN
      pos:
        line_end: 1083
        line_start: 1082
        source_file: /src/hostap/src/ap/beacon.c
      type_or_value: '768'
    - item_type: preproc_def
      name: BEACON_HEAD_BUF_SIZE
      pos:
        line_end: 2280
        line_start: 2279
        source_file: /src/hostap/src/ap/beacon.c
      type_or_value: '256'
    - item_type: preproc_def
      name: BEACON_TAIL_BUF_SIZE
      pos:
        line_end: 2281
        line_start: 2280
        source_file: /src/hostap/src/ap/beacon.c
      type_or_value: '1500'
    structs:
    - fields:
      - name: '*req'
        type: struct ieee80211_mgmt
      - name: is_p2p
        type: bool
      - name: '*mld_ap'
        type: struct hostapd_data
      - name: '*mld_info'
        type: struct mld_info
      - name: '*resp'
        type: struct ieee80211_mgmt
      - name: resp_len
        type: size_t
      - name: '*csa_pos'
        type: u8
      - name: '*ecsa_pos'
        type: u8
      - name: '*known_bss'
        type: u8
      - name: known_bss_len
        type: u8
      item_type: struct
      name: probe_resp_params
      pos:
        line_end: 736
        line_start: 718
        source_file: /src/hostap/src/ap/beacon.c
    typedefs: []
    union: []
- function_names:
  - x_snoop_init
  - x_snoop_get_l2_packet
  - x_snoop_mcast_to_ucast_convert_send
  - x_snoop_deinit
  source_file: /src/hostap/src/ap/x_snoop.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - wpa_auth_get_aa
  - wpa_auth_get_spa
  - wpa_gkeydone_sta
  - for_each_sm_auth
  - wpa_release_link_auth_ref
  - wpa_get_link_sta_auth
  - wpa_get_link_auth
  - wpa_get_primary_auth_cb
  - wpa_get_primary_auth
  - wpa_auth_mic_failure_report
  - wpa_auth_psk_failure_report
  - wpa_auth_set_eapol
  - wpa_auth_get_eapol
  - wpa_auth_get_psk
  - wpa_auth_get_msk
  - wpa_auth_set_key
  - wpa_auth_set_ltf_keyseed
  - wpa_auth_get_seqnum
  - wpa_auth_send_eapol
  - wpa_auth_start_ampe
  - wpa_auth_get_drv_flags
  - wpa_auth_4way_handshake_offload
  - wpa_auth_for_each_sta
  - wpa_auth_for_each_auth
  - wpa_auth_for_each_partner_auth
  - wpa_auth_store_ptksa
  - wpa_auth_remove_ptksa
  - wpa_auth_logger
  - wpa_auth_vlogger
  - wpa_sta_disconnect
  - wpa_channel_info
  - wpa_auth_update_vlan
  - wpa_rekey_gmk
  - wpa_rekey_all_groups
  - wpa_update_all_gtks
  - wpa_update_all_gtks_cb
  - wpa_rekey_all_groups_cb
  - wpa_rekey_gtk
  - wpa_rekey_ptk
  - wpa_auth_set_ptk_rekey_timer
  - wpa_auth_pmksa_clear_cb
  - wpa_auth_pmksa_clear_auth_cb
  - wpa_auth_pmksa_free_cb
  - wpa_group_init_gmk_and_counter
  - wpa_group_init
  - wpa_deinit_groups
  - wpa_init_keys
  - wpa_auth_free_conf
  - wpa_deinit
  - wpa_reconfig
  - wpa_auth_sta_init
  - wpa_store_eppke_pmk_ptk_sm
  - wpa_auth_sta_associated
  - wpa_auth_sta_no_wpa
  - wpa_free_sta_sm
  - for_each_sm_auth
  - wpa_auth_sta_deinit
  - wpa_request_new_ptk
  - wpa_replay_counter_valid
  - wpa_replay_counter_mark_invalid
  - ft_check_msg_2_of_4
  - wpa_receive_error_report
  - wpa_try_alt_snonce
  - wpa_auth_gtk_rekey_in_process
  - wpa_auth_valid_key_desc_ver
  - wpa_auth_valid_request_counter
  - wpa_auth_valid_counter
  - wpa_receive
  - wpa_gmk_to_gtk
  - wpa_send_eapol_timeout
  - __wpa_send_eapol
  - wpa_auth_get_sta_count
  - wpa_send_eapol
  - wpa_verify_key_mic
  - wpa_remove_ptk
  - wpa_auth_sm_event
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - wpa_group_first_sta_seen_mbssid
  - wpa_group_ensure_init
  - SM_STATE
  - wpa_auth_sm_ptk_update
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - wpa_derive_ptk
  - fils_auth_pmk_to_ptk
  - wpa_aead_decrypt
  - wpa_fils_validate_fils_session
  - wpa_fils_validate_key_confirm
  - fils_decrypt_assoc
  - fils_encrypt_assoc
  - fils_prepare_plainbuf
  - fils_set_tk
  - hostapd_eid_assoc_fils_session
  - get_sta_tx_parameters
  - wpa_auth_validate_ml_kdes_m2
  - SM_STATE
  - SM_STATE
  - ieee80211w_kde_len
  - ieee80211w_kde_add
  - ocv_oci_len
  - ocv_oci_add
  - replace_ie
  - wpa_auth_ml_get_key_info
  - wpa_auth_get_ml_key_info
  - wpa_auth_ml_group_kdes_len
  - wpa_auth_ml_group_kdes
  - wpa_auth_ml_kdes_len
  - wpa_auth_ml_kdes
  - add_sae_pw_ids
  - SM_STATE
  - wpa_auth_validate_ml_kdes_m4
  - SM_STATE
  - SM_STEP
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - SM_STEP
  - wpa_gtk_update
  - wpa_group_gtk_init
  - wpa_group_update_sta
  - for_each_sm_auth
  - wpa_wnmsleep_rekey_gtk
  - wpa_set_wnmsleep
  - wpa_wnmsleep_gtk_subelem
  - wpa_wnmsleep_igtk_subelem
  - wpa_wnmsleep_bigtk_subelem
  - wpa_group_update_gtk
  - wpa_group_setkeys
  - wpa_group_config_group_keys
  - wpa_group_disconnect_cb
  - wpa_group_fatal_failure
  - wpa_group_setkeysdone
  - wpa_group_sm_step
  - wpa_clear_changed
  - wpa_group_sm_step_links
  - for_each_sm_auth
  - wpa_group_sm_changed
  - wpa_sm_step
  - wpa_sm_call_step
  - wpa_auth_sm_notify
  - wpa_gtk_rekey
  - wpa_bool_txt
  - RSN_SUITE_ARG
  - wpa_get_mib
  - wpa_get_mib_sta
  - wpa_auth_countermeasures_start
  - wpa_auth_pairwise_set
  - wpa_auth_get_pairwise
  - wpa_auth_get_pmk
  - wpa_auth_get_dpp_pkhash
  - wpa_auth_sta_key_mgmt
  - wpa_auth_sta_wpa_version
  - wpa_auth_sta_ft_tk_already_set
  - wpa_auth_sta_fils_tk_already_set
  - wpa_auth_sta_clear_pmksa
  - wpa_auth_sta_get_pmksa
  - wpa_auth_sta_local_mic_failure_report
  - wpa_auth_get_wpa_ie
  - wpa_auth_pmksa_add
  - wpa_auth_pmksa_add_preauth
  - wpa_auth_pmksa_add_sae
  - wpa_auth_add_sae_pmkid
  - wpa_auth_pmksa_add2
  - wpa_auth_pmksa_remove
  - wpa_auth_pmksa_list
  - wpa_auth_pmksa_flush
  - wpa_auth_pmksa_list_mesh
  - wpa_auth_pmksa_create_entry
  - wpa_auth_pmksa_add_entry
  - wpa_auth_get_pmksa_cache
  - wpa_auth_pmksa_get
  - wpa_auth_pmksa_get_pmk
  - wpa_auth_pmksa_set_to_sm
  - wpa_group_free
  - wpa_group_get
  - wpa_group_put
  - wpa_group_put_vlan
  - wpa_auth_add_group
  - wpa_auth_ensure_group
  - wpa_auth_release_group
  - wpa_auth_sta_set_vlan
  - wpa_auth_eapol_key_tx_status
  - wpa_auth_uses_sae
  - wpa_auth_uses_ft_sae
  - wpa_auth_get_ip_addr
  - wpa_auth_radius_das_disconnect_pmksa
  - wpa_auth_reconfig_group_keys
  - wpa_auth_fils_iter
  - wpa_auth_pmksa_get_fils_cache_id
  - wpa_auth_write_fte
  - wpa_auth_get_fils_aead_params
  - wpa_auth_add_fils_pmk_pmkid
  - wpa_auth_set_auth_alg
  - wpa_auth_set_hash_alg_sae_ext_key
  - wpa_auth_set_rsn_selection
  - wpa_auth_set_dpp_z
  - wpa_auth_set_ssid_protection
  - wpa_auth_set_transition_disable
  - wpa_auth_resend_m1
  - wpa_auth_resend_m3
  - wpa_auth_resend_group_m1
  - wpa_auth_rekey_gtk
  - wpa_auth_rekey_ptk
  - wpa_auth_set_ft_rsnxe_used
  - wpa_auth_set_ocv_override_freq
  - wpa_auth_sta_radius_psk_resp
  - wpa_auth_set_ml_info
  - wpa_auth_sm_known_sta_identification
  - wpa_auth_eid_key_delivery
  - wpa_auth_ap_sta_support_assoc_enc
  - wpa_auth_ensure_group_init
  - wpa_auth_write_assoc_resp_eppke
  - wpa_auth_epp_derive_new_pmkid
  - wpa_auth_ap_sta_support_pmkid_privacy
  - wpa_reset_assoc_sm_info
  - wpa_select_vlan_wpa_group
  - wpa_auth_set_sae_pw_id
  - wpa_auth_get_first_sta_seen
  - wpa_auth_802_1x_get_msk
  - wpa_auth_802_1x_set_key
  - wpa_auth_ap_support_secure_ltf
  source_file: /src/hostap/src/ap/wpa_auth.c
  types:
    enum:
    - enumerators:
      - name: PAIRWISE_2
      - name: GROUP_2
      - name: PAIRWISE_4
      - name: REQUEST
      item_type: enum
      name: eapol_key_msg
      pos:
        line_end: 1557
        line_start: 1557
        source_file: /src/hostap/src/ap/wpa_auth.c
    preproc_defs:
    - item_type: preproc_def
      name: STATE_MACHINE_DATA
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/hostap/src/ap/wpa_auth.c
      type_or_value: struct wpa_state_machine
    - item_type: preproc_def
      name: STATE_MACHINE_DEBUG_PREFIX
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/hostap/src/ap/wpa_auth.c
      type_or_value: '"WPA"'
    - item_type: preproc_def
      name: STATE_MACHINE_ADDR
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/hostap/src/ap/wpa_auth.c
      type_or_value: wpa_auth_get_spa(sm)
    - item_type: preproc_def
      name: KDE_ALL_LINKS
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/hostap/src/ap/wpa_auth.c
      type_or_value: '0xffff'
    - item_type: preproc_def
      name: RSN_SUITE
      pos:
        line_end: 6556
        line_start: 6555
        source_file: /src/hostap/src/ap/wpa_auth.c
      type_or_value: '"%02x-%02x-%02x-%d"'
    structs:
    - fields:
      - name: '*addr'
        type: u8
      - name: '*mld_addr'
        type: u8
      - name: link_id
        type: int
      - name: '*wpa_auth'
        type: struct wpa_authenticator
      item_type: struct
      name: wpa_get_link_auth_ctx
      pos:
        line_end: 160
        line_start: 155
        source_file: /src/hostap/src/ap/wpa_auth.c
    - fields:
      - name: '*auth'
        type: struct wpa_authenticator
      - name: '*cache_id'
        type: u8
      - name: '*pmksa'
        type: struct rsn_pmksa_cache_entry
      - name: '*spa'
        type: u8
      - name: '*pmkid'
        type: u8
      item_type: struct
      name: wpa_auth_fils_iter_data
      pos:
        line_end: 7447
        line_start: 7441
        source_file: /src/hostap/src/ap/wpa_auth.c
    typedefs: []
    union: []
- function_names:
  - hostapd_config_free_vlan
  - hostapd_config_defaults_bss
  - hostapd_config_defaults
  - ecw2cw
  - hostapd_mac_comp
  - hostapd_config_read_wpa_psk
  - hostapd_derive_psk
  - hostapd_setup_sae_pt
  - hostapd_setup_wpa_psk
  - hostapd_config_free_radius
  - hostapd_config_get_radius_attr
  - hostapd_parse_radius_attr
  - hostapd_config_free_radius_attr
  - hostapd_config_free_eap_user
  - hostapd_config_free_eap_users
  - hostapd_config_free_wep
  - hostapd_config_clear_wpa_psk
  - hostapd_config_clear_rxkhs
  - hostapd_config_free_anqp_elem
  - hostapd_config_free_fils_realms
  - hostapd_config_free_sae_passwords
  - hostapd_dpp_controller_conf_free
  - hostapd_config_free_bss
  - hostapd_config_free_afc_cert_ids
  - hostapd_config_free
  - hostapd_maclist_found
  - hostapd_vlan_valid
  - hostapd_get_vlan_id_ifname
  - hostapd_get_psk
  - hostapd_config_check_bss_6g
  - hostapd_config_check_bss
  - hostapd_config_check_cw
  - hostapd_config_check
  - hostapd_set_security_params
  - hostapd_sae_pw_id_in_use
  - hostapd_sae_pk_in_use
  - hostapd_sae_pk_exclusively
  - hostapd_acl_comp
  - hostapd_add_acl_maclist
  - hostapd_remove_acl_mac
  source_file: /src/hostap/src/ap/ap_config.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEFAULT_WPA_DISABLE_EAPOL_KEY_RETRIES
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/hostap/src/ap/ap_config.c
      type_or_value: '0'
    structs: []
    typedefs: []
    union: []
- function_names:
  - PMKID_HASH
  - _pmksa_cache_free_entry
  - pmksa_cache_free_entry
  - pmksa_cache_auth_flush
  - pmksa_cache_expire
  - pmksa_cache_set_expiration
  - pmksa_cache_from_eapol_data
  - pmksa_cache_to_eapol_data
  - pmksa_cache_link_entry
  - pmksa_cache_auth_add
  - pmksa_cache_auth_create_entry
  - pmksa_cache_auth_add_entry
  - pmksa_cache_add_okc
  - pmksa_cache_auth_deinit
  - pmksa_cache_auth_set_ctx
  - pmksa_cache_auth_get
  - pmksa_cache_get_okc
  - pmksa_cache_auth_init
  - das_attr_match
  - pmksa_cache_auth_radius_das_disconnect
  - pmksa_cache_auth_list
  - pmksa_cache_auth_list_mesh
  source_file: /src/hostap/src/ap/pmksa_cache_auth.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PMKID_HASH_SIZE
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/hostap/src/ap/pmksa_cache_auth.c
      type_or_value: '128'
    structs:
    - fields:
      - name: '*pmkid[PMKID_HASH_SIZE]'
        type: struct rsn_pmksa_cache_entry
      - name: '*pmksa'
        type: struct rsn_pmksa_cache_entry
      - name: pmksa_count
        type: int
      - name: (*free_cb)(struct rsn_pmksa_cache_entry *entry, void *ctx)
        type: void
      - name: '*ctx'
        type: void
      item_type: struct
      name: rsn_pmksa_cache
      pos:
        line_end: 32
        line_start: 23
        source_file: /src/hostap/src/ap/pmksa_cache_auth.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/ap/dfs.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ieee80211_11_get_tfs_ie
  - ieee80211_11_set_tfs_ie
  - wnm_ap_get_own_addr
  - ieee802_11_send_wnmsleep_resp
  - ieee802_11_rx_wnmsleep_req
  - ieee802_11_send_bss_trans_mgmt_request
  - ieee802_11_rx_bss_trans_mgmt_query
  - ap_sta_reset_steer_flag_timer
  - ieee802_11_rx_bss_trans_mgmt_resp
  - wnm_beacon_protection_failure
  - ieee802_11_rx_wnm_notification_req
  - ieee802_11_rx_wnm_coloc_intf_report
  - wnm_event_type2str
  - W2S
  - ieee802_11_rx_wnm_event_report
  - ieee802_11_rx_wnm_action_ap
  - wnm_send_disassoc_imminent
  - set_disassoc_timer
  - wnm_send_ess_disassoc_imminent
  - wnm_send_bss_tm_req
  - wnm_send_coloc_intf_req
  source_file: /src/hostap/src/ap/wnm_ap.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_TFS_IE_LEN
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/hostap/src/ap/wnm_ap.c
      type_or_value: '1024'
    - item_type: preproc_def
      name: MAX_GTK_SUBELEM_LEN
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/hostap/src/ap/wnm_ap.c
      type_or_value: '45'
    - item_type: preproc_def
      name: MAX_IGTK_SUBELEM_LEN
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/hostap/src/ap/wnm_ap.c
      type_or_value: '26'
    - item_type: preproc_def
      name: MAX_BIGTK_SUBELEM_LEN
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/hostap/src/ap/wnm_ap.c
      type_or_value: '26'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/ap/wmm.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - hostapd_sim_db_cb_sta
  - hostapd_sim_db_cb
  - hostapd_radius_get_eap_user
  - hostapd_radius_log_acct_req
  - hostapd_setup_radius_srv
  - authsrv_tls_event
  - authsrv_eap_config
  - authsrv_init
  - authsrv_deinit
  source_file: /src/hostap/src/ap/authsrv.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sta_ip6addr_add
  - sta_ip6addr_del
  - sta_has_ip6addr
  - ucast_to_stas
  - handle_ndisc
  - ndisc_snoop_init
  - ndisc_snoop_deinit
  source_file: /src/hostap/src/ap/ndisc_snoop.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ROUTER_ADVERTISEMENT
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/hostap/src/ap/ndisc_snoop.c
      type_or_value: '134'
    - item_type: preproc_def
      name: NEIGHBOR_SOLICITATION
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/hostap/src/ap/ndisc_snoop.c
      type_or_value: '135'
    - item_type: preproc_def
      name: NEIGHBOR_ADVERTISEMENT
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/hostap/src/ap/ndisc_snoop.c
      type_or_value: '136'
    - item_type: preproc_def
      name: SOURCE_LL_ADDR
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/hostap/src/ap/ndisc_snoop.c
      type_or_value: '1'
    structs:
    - fields:
      - name: addr
        type: struct in6_addr
      - name: list
        type: struct dl_list
      item_type: struct
      name: ip6addr
      pos:
        line_end: 24
        line_start: 21
        source_file: /src/hostap/src/ap/ndisc_snoop.c
    - fields:
      - name: ipv6h
        type: struct ip6_hdr
      - name: icmp6h
        type: struct icmp6_hdr
      - name: target_addr
        type: struct in6_addr
      - name: opt_type
        type: u8
      - name: len
        type: u8
      - name: opt_lladdr[0]
        type: u8
      item_type: struct
      name: icmpv6_ndmsg
      pos:
        line_end: 33
        line_start: 26
        source_file: /src/hostap/src/ap/ndisc_snoop.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/ap/dpp_hostapd.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ms_from_time
  - gas_query_ap_init
  - gas_result_txt
  - gas_query_free
  - gas_query_done
  - gas_query_ap_deinit
  - gas_query_get_pending
  - gas_query_append
  - gas_query_ap_tx_status
  - pmf_in_use
  - gas_query_tx
  - gas_query_tx_comeback_req
  - gas_query_rx_comeback_timeout
  - gas_query_tx_comeback_timeout
  - gas_query_tx_comeback_req_delay
  - gas_query_rx_initial
  - gas_query_rx_comeback
  - gas_query_ap_rx
  - gas_query_timeout
  - gas_query_dialog_token_available
  - gas_query_tx_initial_req
  - gas_query_new_dialog_token
  - gas_query_ap_req
  source_file: /src/hostap/src/ap/gas_query_ap.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GAS_QUERY_TIMEOUT_PERIOD
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/hostap/src/ap/gas_query_ap.c
      type_or_value: '2'
    - item_type: preproc_def
      name: GAS_QUERY_WAIT_TIME_INITIAL
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/hostap/src/ap/gas_query_ap.c
      type_or_value: '1000'
    - item_type: preproc_def
      name: GAS_QUERY_WAIT_TIME_COMEBACK
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/hostap/src/ap/gas_query_ap.c
      type_or_value: '150'
    - item_type: preproc_def
      name: GAS_QUERY_MAX_COMEBACK_DELAY
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/hostap/src/ap/gas_query_ap.c
      type_or_value: '60000'
    structs:
    - fields:
      - name: list
        type: struct dl_list
      - name: '*gas'
        type: struct gas_query_ap
      - name: addr[ETH_ALEN]
        type: u8
      - name: dialog_token
        type: u8
      - name: next_frag_id
        type: u8
      - name: wait_comeback
        type: unsigned int
      - name: offchannel_tx_started
        type: unsigned int
      - name: retry
        type: unsigned int
      - name: freq
        type: int
      - name: status_code
        type: u16
      - name: '*req'
        type: struct wpabuf
      - name: '*adv_proto'
        type: struct wpabuf
      - name: '*resp'
        type: struct wpabuf
      - name: last_oper
        type: struct os_reltime
      - name: "(*cb)(void *ctx, const u8 *dst, u8 dialog_token,\n\t\t   enum gas_query_ap_result
          result,\n\t\t   const struct wpabuf *adv_proto,\n\t\t   const struct wpabuf
          *resp, u16 status_code)"
        type: void
      - name: '*ctx'
        type: void
      - name: sa[ETH_ALEN]
        type: u8
      item_type: struct
      name: gas_query_pending
      pos:
        line_end: 57
        line_start: 36
        source_file: /src/hostap/src/ap/gas_query_ap.c
    - fields:
      - name: '*hapd'
        type: struct hostapd_data
      - name: '*msg_ctx'
        type: void
      - name: pending
        type: struct dl_list
      - name: '*current'
        type: struct gas_query_pending
      item_type: struct
      name: gas_query_ap
      pos:
        line_end: 67
        line_start: 62
        source_file: /src/hostap/src/ap/gas_query_ap.c
    typedefs: []
    union: []
- function_names:
  - eth_p_oui_deliver
  - eth_p_rx
  - eth_p_oui_register
  - eth_p_oui_unregister
  - eth_p_oui_send
  source_file: /src/hostap/src/ap/eth_p_oui.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: list
        type: struct dl_list
      - name: ifname[IFNAMSIZ + 1]
        type: char
      - name: '*l2'
        type: struct l2_packet_data
      - name: receiver
        type: struct dl_list
      item_type: struct
      name: eth_p_oui_iface
      pos:
        line_end: 28
        line_start: 23
        source_file: /src/hostap/src/ap/eth_p_oui.c
    - fields:
      - name: list
        type: struct dl_list
      - name: '*iface'
        type: struct eth_p_oui_iface
      - name: oui_suffix
        type: u8
      - name: "(*rx_callback)(void *ctx, const u8 *src_addr,\n\t\t\t    const u8 *dst_addr,
          u8 oui_suffix,\n\t\t\t    const u8 *buf, size_t len)"
        type: void
      - name: '*rx_callback_ctx'
        type: void
      item_type: struct
      name: eth_p_oui_ctx
      pos:
        line_end: 39
        line_start: 30
        source_file: /src/hostap/src/ap/eth_p_oui.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/ap/eth_p_oui.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/ap/hs20.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - vlan_add
  - vlan_rem
  - vlan_set_name_type
  source_file: /src/hostap/src/ap/vlan_util.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - vlan_compare
  source_file: /src/hostap/src/ap/vlan.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - get_airtime_policy_update_timeout
  - set_new_backlog_time
  - count_backlogged_sta
  - sta_set_airtime_weight
  - set_sta_weights
  - get_airtime_quantum
  - update_airtime_weights
  - get_weight_for_sta
  - airtime_policy_new_sta
  - airtime_policy_update_init
  - airtime_policy_update_deinit
  source_file: /src/hostap/src/ap/airtime_policy.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - hostapd_p2p_get_mib_sta
  - hostapd_p2p_set_noa
  - hostapd_p2p_non_p2p_sta_connected
  - hostapd_p2p_non_p2p_sta_disconnected
  - hostapd_eid_p2p_manage
  source_file: /src/hostap/src/ap/p2p_hostapd.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - hostapd_register_probereq_cb
  - prune_associations
  - hostapd_prune_associations
  source_file: /src/hostap/src/ap/utils.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*hapd'
        type: struct hostapd_data
      - name: '*addr'
        type: u8
      - name: mld_assoc_link_id
        type: int
      item_type: struct
      name: prune_data
      pos:
        line_end: 46
        line_start: 42
        source_file: /src/hostap/src/ap/utils.c
    typedefs: []
    union: []
- function_names:
  - hostapd_acl_cache_free_entry
  - hostapd_acl_cache_free
  - hostapd_acl_cache_get
  - hostapd_acl_query_free
  - hostapd_radius_acl_query
  - hostapd_check_acl
  - hostapd_allowed_address
  - hostapd_acl_expire_cache
  - hostapd_acl_expire_queries
  - hostapd_acl_expire
  - decode_tunnel_passwords
  - hostapd_acl_recv_radius
  - hostapd_acl_init
  - hostapd_acl_deinit
  - hostapd_copy_psk_list
  - hostapd_free_psk_list
  - hostapd_acl_req_radius_psk
  source_file: /src/hostap/src/ap/ieee802_11_auth.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RADIUS_ACL_TIMEOUT
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/hostap/src/ap/ieee802_11_auth.c
      type_or_value: '30'
    structs:
    - fields:
      - name: timestamp
        type: struct os_reltime
      - name: addr
        type: macaddr
      - name: accepted
        type: int
      - name: '*next'
        type: struct hostapd_cached_radius_acl
      - name: info
        type: struct radius_sta
      item_type: struct
      name: hostapd_cached_radius_acl
      pos:
        line_end: 37
        line_start: 31
        source_file: /src/hostap/src/ap/ieee802_11_auth.c
    - fields:
      - name: timestamp
        type: struct os_reltime
      - name: radius_id
        type: u8
      - name: addr
        type: macaddr
      - name: '*auth_msg'
        type: u8
      - name: auth_msg_len
        type: size_t
      - name: '*next'
        type: struct hostapd_acl_query_data
      - name: radius_psk
        type: bool
      - name: akm
        type: int
      - name: '*anonce'
        type: u8
      - name: '*eapol'
        type: u8
      - name: eapol_len
        type: size_t
      item_type: struct
      name: hostapd_acl_query_data
      pos:
        line_end: 52
        line_start: 40
        source_file: /src/hostap/src/ap/ieee802_11_auth.c
    typedefs: []
    union: []
- function_names:
  - hostapd_free_hw_features
  - dfs_info
  - move_survey_data
  - move_hw_mode_data
  - hostapd_get_hw_features
  - hostapd_prepare_rates
  - ieee80211n_allowed_ht40_channel_pair
  - ieee80211n_switch_pri_sec
  - ieee80211n_check_40mhz_5g
  - ieee80211n_check_40mhz_2g4
  - ieee80211n_check_scan
  - ieee80211n_scan_channels_2g4
  - ieee80211n_scan_channels_5g
  - ap_ht40_scan_retry
  - hostapd_stop_setup_timers
  - ieee80211n_check_40mhz
  - ieee80211n_supported_ht_capab
  - ieee80211ac_supported_vht_capab
  - ieee80211be_supported_eht_capab
  - ieee80211ax_supported_he_capab
  - hostapd_check_ht_capab
  - hostapd_check_edmg_capab
  - hostapd_check_he_6ghz_capab
  - hostapd_is_usable_chan
  - hostapd_is_usable_edmg
  - hostapd_is_usable_punct_bitmap
  - hostapd_is_usable_chan_seg
  - hostapd_is_usable_chans
  - skip_mode
  - hostapd_determine_mode
  - hostapd_check_chans
  - hostapd_notify_bad_chans
  - hostapd_acs_completed
  - hostapd_csa_update_hwmode
  - hostapd_select_hw_mode
  - hostapd_hw_mode_txt
  - hostapd_hw_get_freq
  - hostapd_hw_get_channel
  - hostapd_hw_skip_mode
  - hostapd_free_multi_hw_info
  - hostapd_set_current_hw_info
  source_file: /src/hostap/src/ap/hw_features.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HT2040_COEX_SCAN_RETRY
      pos:
        line_end: 571
        line_start: 570
        source_file: /src/hostap/src/ap/hw_features.c
      type_or_value: '15'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/ap/ieee802_11_auth.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: session_timeout
        type: u32
      - name: acct_interim_interval
        type: u32
      - name: vlan_id
        type: struct vlan_description
      - name: '*psk'
        type: struct hostapd_sta_wpa_psk_short
      - name: '*identity'
        type: char
      - name: '*radius_cui'
        type: char
      item_type: struct
      name: radius_sta
      pos:
        line_end: 25
        line_start: 18
        source_file: /src/hostap/src/ap/ieee802_11_auth.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/ap/wpa_auth_ie.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ieee802_1x_send
  - ieee802_1x_set_authorized
  - ieee802_1x_ml_set_sta_authorized
  - ieee802_1x_set_sta_authorized
  - ieee802_1x_tx_key_one
  - ieee802_1x_tx_key
  - radius_mode_txt
  - radius_sta_rate
  - ieee802_1x_learn_identity
  - add_common_radius_sta_attr_rsn
  - add_common_radius_sta_attr
  - add_common_radius_attr
  - add_sqlite_radius_attr
  - ieee802_1x_encapsulate_radius
  - handle_eap_response
  - handle_eap_initiate
  - eap_code_str
  - handle_eap
  - ieee802_1x_alloc_eapol_sm
  - ieee802_1x_save_eapol
  - ieee802_1x_check_encryption
  - ieee802_1x_receive
  - ieee802_1x_new_station
  - ieee802_1x_free_station
  - ieee802_1x_decapsulate_radius
  - ieee802_1x_get_keys
  - ieee802_1x_store_radius_class
  - ieee802_1x_update_sta_identity
  - ieee802_1x_update_sta_cui
  - ieee802_1x_hs20_deauth_req
  - ieee802_1x_hs20_session_info
  - ieee802_1x_hs20_t_c_filtering
  - ieee802_1x_hs20_t_c_url
  - ieee802_1x_check_hs20
  - ieee802_1x_select_radius_identifier
  - ieee802_1x_search_radius_identifier
  - ieee802_1x_update_vlan
  - ieee802_1x_receive_auth
  - ieee802_1x_abort_auth
  - ieee802_1x_rekey_broadcast
  - ieee802_1x_sta_key_available
  - ieee802_1x_rekey
  - ieee802_1x_eapol_send
  - ieee802_1x_aaa_send
  - _ieee802_1x_finished
  - ieee802_1x_get_eap_user
  - ieee802_1x_sta_entry_alive
  - ieee802_1x_logger
  - ieee802_1x_set_port_authorized
  - _ieee802_1x_abort_auth
  - _ieee802_1x_tx_key
  - ieee802_1x_eapol_event
  - ieee802_1x_erp_get_key
  - ieee802_1x_erp_add_key
  - ieee802_1x_init
  - ieee802_1x_erp_flush
  - ieee802_1x_deinit
  - ieee802_1x_tx_status
  - ieee802_1x_eapol_tx_status
  - ieee802_1x_get_identity
  - ieee802_1x_get_radius_class
  - ieee802_1x_get_radius_cui
  - ieee802_1x_get_key
  - ieee802_1x_get_session_id
  - ieee802_1x_notify_port_enabled
  - ieee802_1x_notify_port_valid
  - ieee802_1x_notify_pre_auth
  - bool_txt
  - ieee802_1x_get_mib
  - ieee802_1x_get_mib_sta
  - ieee802_1x_wnm_notif_send
  - ieee802_1x_finished
  - ieee802_1x_eapol_sm_set_port_enabled
  source_file: /src/hostap/src/ap/ieee802_1x.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: identifier
        type: u8
      - name: '*sm'
        type: struct eapol_state_machine
      item_type: struct
      name: sta_id_search
      pos:
        line_end: 1950
        line_start: 1947
        source_file: /src/hostap/src/ap/ieee802_1x.c
    typedefs: []
    union: []
- function_names:
  - wpa_write_wpa_ie
  - wpa_own_rsn_capab
  - rsne_write_data
  - wpa_write_rsn_ie
  - wpa_write_rsne_override
  - wpa_write_rsne_override_2
  - wpa_write_802_1x_rsne
  - wpa_write_eppke_rsne
  - rsnxe_capab
  - wpa_write_rsnxe
  - wpa_write_rsnxe_override
  - wpa_add_kde
  - wpa_auth_okc_iter
  - wpa_auth_pmksa_iter
  - wpa_validate_wpa_ie
  - wpa_auth_uses_mfp
  - wpa_auth_uses_spp_amsdu
  - wpa_auth_set_ocv
  - wpa_auth_uses_ocv
  - wpa_auth_write_assoc_resp_owe
  - wpa_auth_write_assoc_resp_fils
  - wpa_auth_write_fd_rsn_info
  source_file: /src/hostap/src/ap/wpa_auth_ie.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*pmksa'
        type: struct rsn_pmksa_cache_entry
      - name: '*aa'
        type: u8
      - name: '*spa'
        type: u8
      - name: '*pmkid'
        type: u8
      item_type: struct
      name: wpa_auth_okc_iter_data
      pos:
        line_end: 870
        line_start: 865
        source_file: /src/hostap/src/ap/wpa_auth_ie.c
    - fields:
      - name: '*wpa_auth'
        type: struct wpa_authenticator
      - name: '*pmksa'
        type: struct rsn_pmksa_cache_entry
      - name: '*spa'
        type: u8
      - name: '*pmkid'
        type: u8
      item_type: struct
      name: wpa_auth_link_iter_data
      pos:
        line_end: 891
        line_start: 886
        source_file: /src/hostap/src/ap/wpa_auth_ie.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/ap/interference.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/ap/rrm.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRM_RANGE_REQ_MAX_RESPONDERS
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/hostap/src/ap/rrm.h
      type_or_value: '16'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ap_for_each_sta
  - ap_get_sta
  - ap_get_link_sta
  - ap_get_sta_p2p
  - ap_sta_list_del
  - ap_sta_hash_add
  - ap_sta_hash_del
  - ap_sta_ip6addr_del
  - ap_free_sta_pasn
  - __ap_free_sta
  - set_wpa_sm_for_each_partner_link
  - for_each_mld_link
  - clear_wpa_sm_for_each_partner_link
  - clear_wpa_sm_for_all_sta
  - for_each_mld_link
  - ap_free_sta
  - hostapd_free_stas
  - hostapd_free_link_stas
  - ap_handle_timer
  - ap_handle_session_timer
  - ap_sta_replenish_timeout
  - ap_sta_session_timeout
  - ap_sta_no_session_timeout
  - ap_handle_session_warning_timer
  - ap_sta_session_warning_timeout
  - ap_sta_assoc_timeout
  - ap_sta_add
  - ap_sta_remove
  - ap_sta_remove_in_other_bss
  - ap_sta_disassoc_cb_timeout
  - ap_sta_disconnect_common
  - ap_sta_disassociate_common
  - ap_sta_handle_disassociate
  - ap_sta_deauth_cb_timeout
  - ap_sta_deauthenticate_common
  - ap_sta_handle_deauthenticate
  - ap_sta_handle_disconnect
  - ap_sta_ml_disconnect
  - ap_sta_disassociate
  - ap_sta_deauthenticate
  - ap_sta_wps_cancel
  - ap_sta_get_free_vlan_id
  - ap_sta_set_vlan_helper
  - ap_sta_set_vlan
  - ap_sta_bind_vlan_helper
  - ap_sta_bind_vlan
  - ap_sta_set_sa_query_timeout
  - for_each_mld_link
  - ap_check_sa_query_timeout
  - ap_sa_query_timer
  - ap_sta_start_sa_query
  - ap_sta_stop_sa_query
  - ap_sta_wpa_get_keyid
  - ap_sta_wpa_get_dpp_pkhash
  - ap_sta_set_authorized_flag
  - ap_sta_set_authorized_event
  - ap_sta_set_authorized
  - ap_sta_disconnect
  - ap_sta_deauth_cb
  - ap_sta_disassoc_cb
  - ap_sta_clear_disconnect_timeouts
  - ap_sta_clear_assoc_timeout
  - ap_sta_flags_txt
  - ap_sta_delayed_1x_auth_fail_cb
  - ap_sta_delayed_1x_auth_fail_disconnect
  - ap_sta_pending_delayed_1x_auth_fail_disconnect
  - ap_sta_remove_link_sta
  - for_each_mld_link
  - ap_sta_re_add
  - ap_sta_free_sta_profile
  source_file: /src/hostap/src/ap/sta_info.c
  types:
    enum:
    - enumerators:
      - name: AP_STA_DEAUTHENTICATE
      - name: AP_STA_DISASSOCIATE
      - name: AP_STA_DISCONNECT
      item_type: enum
      name: ap_sta_disconnect_op
      pos:
        line_end: 1155
        line_start: 1151
        source_file: /src/hostap/src/ap/sta_info.c
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - OCE_STA_CFON_ENABLED
  - OCE_AP_ENABLED
  - STA_HASH
  - hostap_afc_get_chan_max_eirp_power
  - hostapd_afc_handle_request
  - hostapd_afc_send_request
  - hostapd_afc_stop
  - hostap_afc_disable_channels
  - for_each_mld_link
  - hostapd_mld_is_first_bss
  - for_each_mld_link
  - ap_pmf_enabled
  - hostapd_is_ht_enabled
  - hostapd_is_vht_enabled
  - hostapd_is_he_enabled
  - hostapd_is_eht_enabled
  - hostapd_is_uhr_enabled
  source_file: /src/hostap/src/ap/hostapd.h
  types:
    enum:
    - enumerators:
      - name: HOSTAPD_CHAN_VALID
        value: '0'
      - name: HOSTAPD_CHAN_INVALID_NO_IR
        value: '3'
      - name: HOSTAPD_CHAN_ACS
        value: '2'
      - name: HOSTAPD_CHAN_INVALID
        value: '1'
      item_type: enum
      name: hostapd_chan_status
      pos:
        line_end: 114
        line_start: 109
        source_file: /src/hostap/src/ap/hostapd.h
    - enumerators:
      - name: WPS_STATUS_SUCCESS
        value: '1'
      - name: WPS_STATUS_FAILURE
      item_type: enum
      name: wps_status
      pos:
        line_end: 139
        line_start: 136
        source_file: /src/hostap/src/ap/hostapd.h
    - enumerators:
      - name: WPS_PBC_STATUS_DISABLE
      - name: WPS_PBC_STATUS_TIMEOUT
      - name: WPS_PBC_STATUS_ACTIVE
      - name: WPS_PBC_STATUS_OVERLAP
      item_type: enum
      name: pbc_status
      pos:
        line_end: 146
        line_start: 141
        source_file: /src/hostap/src/ap/hostapd.h
    - enumerators:
      - name: HAPD_IFACE_UNINITIALIZED
      - name: HAPD_IFACE_ACS
      - name: HAPD_IFACE_COUNTRY_UPDATE
      - name: HAPD_IFACE_DISABLED
      - name: HAPD_IFACE_HT_SCAN
      - name: HAPD_IFACE_DFS
      - name: HAPD_IFACE_NO_IR
      - name: HAPD_IFACE_ENABLED
      item_type: enum
      name: hostapd_iface_state
      pos:
        line_end: 596
        line_start: 587
        source_file: /src/hostap/src/ap/hostapd.h
    preproc_defs:
    - item_type: preproc_def
      name: CTRL_IFACE_COOKIE_LEN
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/hostap/src/ap/hostapd.h
      type_or_value: '8'
    - item_type: preproc_def
      name: HOSTAPD_RATE_BASIC
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/hostap/src/ap/hostapd.h
      type_or_value: '0x00000001'
    - item_type: preproc_def
      name: STA_HASH_SIZE
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/hostap/src/ap/hostapd.h
      type_or_value: '256'
    - item_type: preproc_def
      name: AID_WORDS
      pos:
        line_end: 217
        line_start: 216
        source_file: /src/hostap/src/ap/hostapd.h
      type_or_value: ((2008 + 31) / 32)
    - item_type: preproc_def
      name: COMEBACK_KEY_SIZE
      pos:
        line_end: 396
        line_start: 395
        source_file: /src/hostap/src/ap/hostapd.h
      type_or_value: '8'
    - item_type: preproc_def
      name: COMEBACK_PENDING_IDX_SIZE
      pos:
        line_end: 397
        line_start: 396
        source_file: /src/hostap/src/ap/hostapd.h
      type_or_value: '256'
    - item_type: preproc_def
      name: HOSTAPD_MLD_MAX_REF_COUNT
      pos:
        line_end: 575
        line_start: 574
        source_file: /src/hostap/src/ap/hostapd.h
      type_or_value: '0xFF'
    structs:
    - fields:
      - name: (*reload_config)(struct hostapd_iface *iface)
        type: int
      - name: '* (*config_read_cb)(const char *config_fname)'
        type: struct hostapd_config
      - name: (*ctrl_iface_init)(struct hostapd_data *hapd)
        type: int
      - name: (*ctrl_iface_deinit)(struct hostapd_data *hapd)
        type: void
      - name: "(*for_each_interface)(struct hapd_interfaces *interfaces,\n\t\t\t\t
          \ int (*cb)(struct hostapd_iface *iface,\n\t\t\t\t\t    void *ctx), void
          *ctx)"
        type: int
      - name: (*driver_init)(struct hostapd_iface *iface)
        type: int
      - name: count
        type: size_t
      - name: global_ctrl_sock
        type: int
      - name: global_ctrl_dst
        type: struct dl_list
      - name: '*global_iface_path'
        type: char
      - name: '*global_iface_name'
        type: char
      - name: '**iface'
        type: struct hostapd_iface
      - name: terminate_on_error
        type: size_t
      - name: eloop_initialized
        type: int
      item_type: struct
      name: hapd_interfaces
      pos:
        line_end: 107
        line_start: 49
        source_file: /src/hostap/src/ap/hostapd.h
    - fields:
      - name: "(*cb)(void *ctx, const u8 *sa, const u8 *da, const u8 *bssid,\n\t\t
          \ const u8 *ie, size_t ie_len, int ssi_signal)"
        type: int
      - name: '*ctx'
        type: void
      item_type: struct
      name: hostapd_probereq_cb
      pos:
        line_end: 120
        line_start: 116
        source_file: /src/hostap/src/ap/hostapd.h
    - fields:
      - name: rate
        type: int
      - name: flags
        type: int
      item_type: struct
      name: hostapd_rate_data
      pos:
        line_end: 127
        line_start: 124
        source_file: /src/hostap/src/ap/hostapd.h
    - fields:
      - name: freq
        type: unsigned int
      - name: channel
        type: u32
      - name: datarate
        type: u32
      - name: ssi_signal
        type: int
      item_type: struct
      name: hostapd_frame_info
      pos:
        line_end: 134
        line_start: 129
        source_file: /src/hostap/src/ap/hostapd.h
    - fields:
      - name: status
        type: enum wps_status
      - name: failure_reason
        type: enum wps_error_indication
      - name: pbc_status
        type: enum pbc_status
      - name: peer_addr[ETH_ALEN]
        type: u8
      item_type: struct
      name: wps_stat
      pos:
        line_end: 153
        line_start: 148
        source_file: /src/hostap/src/ap/hostapd.h
    - fields:
      - name: list
        type: struct dl_list
      - name: bssid[ETH_ALEN]
        type: u8
      - name: ssid
        type: struct wpa_ssid_value
      - name: '*nr'
        type: struct wpabuf
      - name: '*lci'
        type: struct wpabuf
      - name: '*civic'
        type: struct wpabuf
      - name: lci_date
        type: struct os_time
      - name: stationary
        type: int
      - name: short_ssid
        type: u32
      - name: bss_parameters
        type: u8
      item_type: struct
      name: hostapd_neighbor_entry
      pos:
        line_end: 167
        line_start: 155
        source_file: /src/hostap/src/ap/hostapd.h
    - fields:
      - name: list
        type: struct dl_list
      - name: rssi
        type: int
      - name: len
        type: size_t
      - name: msg[]
        type: u8
      item_type: struct
      name: hostapd_sae_commit_queue
      pos:
        line_end: 174
        line_start: 169
        source_file: /src/hostap/src/ap/hostapd.h
    - fields:
      - name: valid
        type: u8
      - name: nstr_bitmap_len
        type: u8
      - name: local_addr[ETH_ALEN]
        type: u8
      - name: peer_addr[ETH_ALEN]
        type: u8
      - name: nstr_bitmap[2]
        type: u8
      - name: capability
        type: u16
      - name: status
        type: u16
      - name: resp_sta_profile_len
        type: u16
      - name: '*resp_sta_profile'
        type: u8
      item_type: struct
      name: mld_link_info
      pos:
        line_end: 189
        line_start: 176
        source_file: /src/hostap/src/ap/hostapd.h
    - fields:
      - name: '*iface'
        type: struct hostapd_iface
      - name: '*iconf'
        type: struct hostapd_config
      - name: '*conf'
        type: struct hostapd_bss_config
      - name: interface_added
        type: int
      - name: started
        type: unsigned int
      - name: disabled
        type: unsigned int
      - name: reenable_beacon
        type: unsigned int
      - name: own_addr[ETH_ALEN]
        type: u8
      - name: num_sta
        type: int
      - name: '*sta_list'
        type: struct sta_info
      - name: '*sta_hash[STA_HASH_SIZE]'
        type: struct sta_info
      - name: sta_aid[AID_WORDS]
        type: u32
      - name: '*driver'
        type: struct wpa_driver_ops
      - name: '*drv_priv'
        type: void
      - name: "(*new_assoc_sta_cb)(struct hostapd_data *hapd,\n\t\t\t\t struct sta_info
          *sta, int reassoc)"
        type: void
      - name: '*msg_ctx'
        type: void
      - name: '*msg_ctx_parent'
        type: void
      - name: num_rates
        type: int
      - name: '*current_rates'
        type: struct hostapd_rate_data
      - name: '*basic_rates'
        type: int
      - name: '*radius'
        type: struct radius_client_data
      - name: acct_session_id
        type: u64
      - name: '*radius_das'
        type: struct radius_das_data
      - name: '*acl_cache'
        type: struct hostapd_cached_radius_acl
      - name: '*acl_queries'
        type: struct hostapd_acl_query_data
      - name: '*wpa_auth'
        type: struct wpa_authenticator
      - name: '*eapol_auth'
        type: struct eapol_authenticator
      - name: '*eap_cfg'
        type: struct eap_config
      - name: '*preauth_iface'
        type: struct rsn_preauth_interface
      - name: michael_mic_failure
        type: struct os_reltime
      - name: michael_mic_failures
        type: int
      - name: tkip_countermeasures
        type: int
      - name: ctrl_sock
        type: int
      - name: ctrl_dst
        type: struct dl_list
      - name: '*ssl_ctx'
        type: void
      - name: '*eap_sim_db_priv'
        type: void
      - name: '*imsi_privacy_key'
        type: struct crypto_rsa_key
      - name: '*radius_srv'
        type: struct radius_server_data
      - name: erp_keys
        type: struct dl_list
      - name: parameter_set_count
        type: int
      - name: time_update_counter
        type: u8
      - name: '*time_adv'
        type: struct wpabuf
      - name: '*l2'
        type: struct l2_packet_data
      - name: '*wps'
        type: struct wps_context
      - name: beacon_set_done
        type: int
      - name: '*wps_beacon_ie'
        type: struct wpabuf
      - name: '*wps_probe_resp_ie'
        type: struct wpabuf
      - name: '*probereq_cb'
        type: struct hostapd_probereq_cb
      - name: num_probereq_cb
        type: size_t
      - name: "(*public_action_cb)(void *ctx, const u8 *buf, size_t len,\n\t\t\t\t
          int freq)"
        type: void
      - name: '*public_action_cb_ctx'
        type: void
      - name: "(*public_action_cb2)(void *ctx, const u8 *buf, size_t len,\n\t\t\t\t
          \ int freq)"
        type: void
      - name: '*public_action_cb2_ctx'
        type: void
      - name: "(*vendor_action_cb)(void *ctx, const u8 *buf, size_t len,\n\t\t\t\tint
          freq)"
        type: int
      - name: '*vendor_action_cb_ctx'
        type: void
      - name: "(*wps_reg_success_cb)(void *ctx, const u8 *mac_addr,\n\t\t\t\t   const
          u8 *uuid_e)"
        type: void
      - name: '*wps_reg_success_cb_ctx'
        type: void
      - name: "(*wps_event_cb)(void *ctx, enum wps_event event,\n\t\t\t     union
          wps_event_data *data)"
        type: void
      - name: '*wps_event_cb_ctx'
        type: void
      - name: "(*sta_authorized_cb)(void *ctx, const u8 *mac_addr,\n\t\t\t\t  int
          authorized, const u8 *p2p_dev_addr,\n\t\t\t\t  const u8 *ip)"
        type: void
      - name: '*sta_authorized_cb_ctx'
        type: void
      - name: (*setup_complete_cb)(void *ctx)
        type: void
      - name: '*setup_complete_cb_ctx'
        type: void
      - name: "(*new_psk_cb)(void *ctx, const u8 *mac_addr,\n\t\t\t   const u8 *p2p_dev_addr,
          const u8 *psk,\n\t\t\t   size_t psk_len)"
        type: void
      - name: '*new_psk_cb_ctx'
        type: void
      - name: cs_freq_params
        type: struct hostapd_freq_params
      - name: cs_count
        type: u8
      - name: cs_block_tx
        type: int
      - name: cs_c_off_beacon
        type: unsigned int
      - name: cs_c_off_proberesp
        type: unsigned int
      - name: csa_in_progress
        type: int
      - name: cs_c_off_ecsa_beacon
        type: unsigned int
      - name: cs_c_off_ecsa_proberesp
        type: unsigned int
      - name: nr_db
        type: struct dl_list
      - name: beacon_req_token
        type: u8
      - name: lci_req_token
        type: u8
      - name: range_req_token
        type: u8
      - name: link_measurement_req_token
        type: u8
      - name: lci_req_active
        type: unsigned int
      - name: range_req_active
        type: unsigned int
      - name: link_mesr_req_active
        type: unsigned int
      - name: dhcp_sock
        type: int
      - name: '*ptksa'
        type: struct ptksa_cache
      - name: last_1x_eapol_key_replay_counter[8]
        type: u8
      - name: scan_cookie
        type: u64
      item_type: struct
      name: hostapd_data
      pos:
        line_end: 537
        line_start: 194
        source_file: /src/hostap/src/ap/hostapd.h
    - fields:
      - name: list
        type: struct dl_list
      - name: addr[ETH_ALEN]
        type: u8
      - name: last_seen
        type: struct os_reltime
      - name: ssi_signal
        type: int
      item_type: struct
      name: hostapd_sta_info
      pos:
        line_end: 548
        line_start: 540
        source_file: /src/hostap/src/ap/hostapd.h
    - fields:
      - name: name[IFNAMSIZ + 1]
        type: char
      - name: mld_addr[ETH_ALEN]
        type: u8
      - name: next_link_id
        type: u8
      - name: num_links
        type: u8
      - name: refcount
        type: u8
      - name: '*fbss'
        type: struct hostapd_data
      - name: links
        type: struct dl_list
      - name: ctrl_sock
        type: int
      - name: ctrl_dst
        type: struct dl_list
      - name: '*ctrl_interface'
        type: char
      item_type: struct
      name: hostapd_mld
      pos:
        line_end: 572
        line_start: 554
        source_file: /src/hostap/src/ap/hostapd.h
    - fields:
      - name: '*interfaces'
        type: struct hapd_interfaces
      - name: '*owner'
        type: void
      - name: '*config_fname'
        type: char
      - name: '*conf'
        type: struct hostapd_config
      - name: phy[16]
        type: char
      - name: state
        type: "enum hostapd_iface_state {\n\t\tHAPD_IFACE_UNINITIALIZED,\n\t\tHAPD_IFACE_DISABLED,\n\t\tHAPD_IFACE_COUNTRY_UPDATE,\n\t\tHAPD_IFACE_ACS,\n\t\tHAPD_IFACE_HT_SCAN,\n\t\tHAPD_IFACE_DFS,\n\t\tHAPD_IFACE_NO_IR,\n\t\tHAPD_IFACE_ENABLED\n\t}"
      - name: num_bss
        type: size_t
      - name: '**bss'
        type: struct hostapd_data
      - name: wait_channel_update
        type: unsigned int
      - name: cac_started
        type: unsigned int
      - name: driver_ap_teardown
        type: unsigned int
      - name: need_to_start_in_sync
        type: unsigned int
      - name: ready_to_start_in_sync
        type: unsigned int
      - name: num_ap
        type: int
      - name: '*ap_list'
        type: struct ap_info
      - name: '*ap_hash[STA_HASH_SIZE]'
        type: struct ap_info
      - name: drv_flags
        type: u64
      - name: drv_flags2
        type: u64
      - name: drv_rrm_flags
        type: unsigned int
      - name: probe_resp_offloads
        type: unsigned int
      - name: '*extended_capa'
        type: u8
      - name: extended_capa_len
        type: unsigned int
      - name: mld_eml_capa
        type: u16
      - name: drv_max_acl_mac_addrs
        type: unsigned int
      - name: '*hw_features'
        type: struct hostapd_hw_modes
      - name: num_hw_features
        type: int
      - name: '*current_mode'
        type: struct hostapd_hw_modes
      - name: freq
        type: int
      - name: radar_detected
        type: bool
      - name: radar_background
        type: "struct {\n\t\tint channel;\n\t\tint secondary_channel;\n\t\tint freq;\n\t\tint
          centr_freq_seg0_idx;\n\t\tint centr_freq_seg1_idx;\n\t\t/* Main chain is
          on temporary channel during\n\t\t * CAC detection on radar offchain.\n\t\t
          */\n\t\tunsigned int temp_ch:1;\n\t\t/* CAC started on radar offchain */\n\t\tunsigned
          int cac_started:1;\n\t}"
      - name: hw_flags
        type: u16
      - name: num_sta_non_erp
        type: int
      - name: num_sta_no_short_slot_time
        type: int
      - name: num_sta_no_short_preamble
        type: int
      - name: olbc
        type: int
      - name: num_sta_ht_no_gf
        type: int
      - name: num_sta_no_ht
        type: int
      - name: num_sta_ht_20mhz
        type: int
      - name: num_sta_ht40_intolerant
        type: int
      - name: olbc_ht
        type: int
      - name: ht_op_mode
        type: u16
      - name: chans_surveyed
        type: unsigned int
      - name: lowest_nf
        type: s8
      - name: last_channel_time
        type: u64
      - name: last_channel_time_busy
        type: u64
      - name: channel_utilization
        type: u8
      - name: chan_util_samples_sum
        type: unsigned int
      - name: chan_util_num_sample_periods
        type: unsigned int
      - name: chan_util_average
        type: unsigned int
      - name: cs_oper_class
        type: u8
      - name: dfs_cac_ms
        type: unsigned int
      - name: dfs_cac_start
        type: struct os_reltime
      - name: secondary_ch
        type: int
      - name: (*scan_cb)(struct hostapd_iface *iface)
        type: void
      - name: num_ht40_scan_tries
        type: int
      - name: sta_seen
        type: struct dl_list
      - name: num_sta_seen
        type: unsigned int
      - name: dfs_domain
        type: u8
      - name: prev_wmm[WMM_AC_NUM]
        type: struct hostapd_wmm_ac_params
      - name: mbssid_max_interfaces
        type: unsigned int
      - name: ema_max_periodicity
        type: unsigned int
      - name: (*enable_iface_cb)(struct hostapd_iface *iface)
        type: int
      - name: (*disable_iface_cb)(struct hostapd_iface *iface)
        type: int
      - name: is_no_ir
        type: bool
      - name: is_ch_switch_dfs
        type: bool
      - name: '*multi_hw_info'
        type: struct hostapd_multi_hw_info
      - name: num_multi_hws
        type: unsigned int
      - name: '*current_hw_info'
        type: struct hostapd_multi_hw_info
      - name: assisted_dfs
        type: bool
      item_type: struct
      name: hostapd_iface
      pos:
        line_end: 797
        line_start: 580
        source_file: /src/hostap/src/ap/hostapd.h
    - fields:
      - name: low_freq
        type: int
      - name: high_freq
        type: int
      - name: max_psd
        type: double
      item_type: struct
      name: afc_freq_range_elem
      pos:
        line_end: 784
        line_start: 776
        source_file: /src/hostap/src/ap/hostapd.h
    - fields:
      - name: chan
        type: int
      - name: power[5]
        type: double
      item_type: struct
      name: afc_chan_info_elem
      pos:
        line_end: 793
        line_start: 786
        source_file: /src/hostap/src/ap/hostapd.h
    typedefs: []
    union: []
- function_names:
  - hostapd_eid_uhr_capab_len
  - hostapd_eid_uhr_capab
  - hostapd_eid_uhr_operation
  - ieee80211_invalid_uhr_cap_size
  - copy_sta_uhr_capab
  - hostapd_get_uhr_capab
  source_file: /src/hostap/src/ap/ieee802_11_uhr.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ap_sta_is_authorized
  - ap_sta_is_mld
  - ap_sta_set_mld
  - ap_sta_is_epp
  - ap_sta_support_enc_assoc
  source_file: /src/hostap/src/ap/sta_info.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: WLAN_STA_AUTH
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/hostap/src/ap/sta_info.h
      type_or_value: BIT_ULL(0)
    - item_type: preproc_def
      name: WLAN_STA_ASSOC
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/hostap/src/ap/sta_info.h
      type_or_value: BIT_ULL(1)
    - item_type: preproc_def
      name: WLAN_STA_SPP_AMSDU
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/hostap/src/ap/sta_info.h
      type_or_value: BIT_ULL(2)
    - item_type: preproc_def
      name: WLAN_STA_AUTHORIZED
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/hostap/src/ap/sta_info.h
      type_or_value: BIT_ULL(5)
    - item_type: preproc_def
      name: WLAN_STA_PENDING_POLL
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/hostap/src/ap/sta_info.h
      type_or_value: 'BIT_ULL(6) '
    - item_type: preproc_def
      name: WLAN_STA_SHORT_PREAMBLE
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/hostap/src/ap/sta_info.h
      type_or_value: BIT_ULL(7)
    - item_type: preproc_def
      name: WLAN_STA_PREAUTH
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/hostap/src/ap/sta_info.h
      type_or_value: BIT_ULL(8)
    - item_type: preproc_def
      name: WLAN_STA_WMM
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/hostap/src/ap/sta_info.h
      type_or_value: BIT_ULL(9)
    - item_type: preproc_def
      name: WLAN_STA_MFP
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/hostap/src/ap/sta_info.h
      type_or_value: BIT_ULL(10)
    - item_type: preproc_def
      name: WLAN_STA_HT
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/hostap/src/ap/sta_info.h
      type_or_value: BIT_ULL(11)
    - item_type: preproc_def
      name: WLAN_STA_WPS
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/hostap/src/ap/sta_info.h
      type_or_value: BIT_ULL(12)
    - item_type: preproc_def
      name: WLAN_STA_MAYBE_WPS
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/hostap/src/ap/sta_info.h
      type_or_value: BIT_ULL(13)
    - item_type: preproc_def
      name: WLAN_STA_WDS
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/hostap/src/ap/sta_info.h
      type_or_value: BIT_ULL(14)
    - item_type: preproc_def
      name: WLAN_STA_ASSOC_REQ_OK
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/hostap/src/ap/sta_info.h
      type_or_value: BIT_ULL(15)
    - item_type: preproc_def
      name: WLAN_STA_WPS2
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/hostap/src/ap/sta_info.h
      type_or_value: BIT_ULL(16)
    - item_type: preproc_def
      name: WLAN_STA_VHT
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/hostap/src/ap/sta_info.h
      type_or_value: BIT_ULL(18)
    - item_type: preproc_def
      name: WLAN_STA_WNM_SLEEP_MODE
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/hostap/src/ap/sta_info.h
      type_or_value: BIT_ULL(19)
    - item_type: preproc_def
      name: WLAN_STA_VHT_OPMODE_ENABLED
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/hostap/src/ap/sta_info.h
      type_or_value: BIT_ULL(20)
    - item_type: preproc_def
      name: WLAN_STA_VENDOR_VHT
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/hostap/src/ap/sta_info.h
      type_or_value: BIT_ULL(21)
    - item_type: preproc_def
      name: WLAN_STA_PENDING_FILS_ERP
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/hostap/src/ap/sta_info.h
      type_or_value: BIT_ULL(22)
    - item_type: preproc_def
      name: WLAN_STA_MULTI_AP
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/hostap/src/ap/sta_info.h
      type_or_value: BIT_ULL(23)
    - item_type: preproc_def
      name: WLAN_STA_HE
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/hostap/src/ap/sta_info.h
      type_or_value: BIT_ULL(24)
    - item_type: preproc_def
      name: WLAN_STA_6GHZ
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/hostap/src/ap/sta_info.h
      type_or_value: BIT_ULL(25)
    - item_type: preproc_def
      name: WLAN_STA_PENDING_PASN_FILS_ERP
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/hostap/src/ap/sta_info.h
      type_or_value: BIT_ULL(26)
    - item_type: preproc_def
      name: WLAN_STA_EHT
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/hostap/src/ap/sta_info.h
      type_or_value: BIT_ULL(27)
    - item_type: preproc_def
      name: WLAN_STA_DSCP_POLICY
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/hostap/src/ap/sta_info.h
      type_or_value: BIT_ULL(28)
    - item_type: preproc_def
      name: WLAN_STA_PENDING_DISASSOC_CB
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/hostap/src/ap/sta_info.h
      type_or_value: BIT_ULL(29)
    - item_type: preproc_def
      name: WLAN_STA_PENDING_DEAUTH_CB
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/hostap/src/ap/sta_info.h
      type_or_value: BIT_ULL(30)
    - item_type: preproc_def
      name: WLAN_STA_NONERP
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/hostap/src/ap/sta_info.h
      type_or_value: BIT_ULL(31)
    - item_type: preproc_def
      name: WLAN_STA_UHR
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/hostap/src/ap/sta_info.h
      type_or_value: BIT_ULL(32)
    - item_type: preproc_def
      name: WLAN_SUPP_RATES_MAX
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/hostap/src/ap/sta_info.h
      type_or_value: '32'
    - item_type: preproc_def
      name: EHT_ML_MAX_STA_PROF_LEN
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/hostap/src/ap/sta_info.h
      type_or_value: '1024'
    - item_type: preproc_def
      name: AP_MAX_INACTIVITY
      pos:
        line_end: 382
        line_start: 381
        source_file: /src/hostap/src/ap/sta_info.h
      type_or_value: (5 * 60)
    - item_type: preproc_def
      name: AP_DISASSOC_DELAY
      pos:
        line_end: 383
        line_start: 382
        source_file: /src/hostap/src/ap/sta_info.h
      type_or_value: (3)
    - item_type: preproc_def
      name: AP_DEAUTH_DELAY
      pos:
        line_end: 384
        line_start: 383
        source_file: /src/hostap/src/ap/sta_info.h
      type_or_value: (1)
    - item_type: preproc_def
      name: AP_MAX_INACTIVITY_AFTER_DISASSOC
      pos:
        line_end: 387
        line_start: 386
        source_file: /src/hostap/src/ap/sta_info.h
      type_or_value: (1 * 30)
    - item_type: preproc_def
      name: AP_MAX_INACTIVITY_AFTER_DEAUTH
      pos:
        line_end: 389
        line_start: 388
        source_file: /src/hostap/src/ap/sta_info.h
      type_or_value: (1 * 5)
    structs:
    - fields:
      - name: '*next'
        type: struct mbo_non_pref_chan_info
      - name: op_class
        type: u8
      - name: pref
        type: u8
      - name: reason_code
        type: u8
      - name: num_channels
        type: u8
      - name: channels[]
        type: u8
      item_type: struct
      name: mbo_non_pref_chan_info
      pos:
        line_end: 66
        line_start: 59
        source_file: /src/hostap/src/ap/sta_info.h
    - fields:
      - name: '*buf'
        type: struct wpabuf
      - name: rx_time
        type: struct os_reltime
      - name: encrypted
        type: enum frame_encryption
      item_type: struct
      name: pending_eapol_rx
      pos:
        line_end: 72
        line_start: 68
        source_file: /src/hostap/src/ap/sta_info.h
    - fields:
      - name: akm
        type: int
      - name: cipher
        type: int
      - name: group
        type: u16
      - name: auth_transaction
        type: u16
      - name: snonce[WPA_NONCE_LEN]
        type: u8
      - name: anonce[WPA_NONCE_LEN]
        type: u8
      - name: '*rsnxe'
        type: u8
      - name: pmk[PMK_LEN_MAX]
        type: u8
      - name: pmk_len
        type: size_t
      - name: ptk
        type: struct wpa_ptk
      - name: rsnxe_len
        type: size_t
      - name: '*ecdh'
        type: struct crypto_ecdh
      - name: '*dhss'
        type: struct wpabuf
      - name: add_mic
        type: bool
      - name: epp_pmkid_cur[PMKID_LEN]
        type: u8
      - name: epp_pmkid_next[PMKID_LEN]
        type: u8
      item_type: struct
      name: eap_over_auth_data
      pos:
        line_end: 91
        line_start: 74
        source_file: /src/hostap/src/ap/sta_info.h
    - fields:
      - name: mld_sta
        type: bool
      - name: common_info
        type: "struct ml_common_info {\n\t\tu8 mld_addr[ETH_ALEN];\n\t\tu16 medium_sync_delay;\n\t\tu16
          eml_capa;\n\t\tu16 mld_capa;\n\t}"
      - name: links[MAX_NUM_MLD_LINKS]
        type: struct mld_link_info
      item_type: struct
      name: mld_info
      pos:
        line_end: 105
        line_start: 94
        source_file: /src/hostap/src/ap/sta_info.h
    - fields:
      - name: mld_addr[ETH_ALEN]
        type: u8
      - name: medium_sync_delay
        type: u16
      - name: eml_capa
        type: u16
      - name: mld_capa
        type: u16
      item_type: struct
      name: ml_common_info
      pos:
        line_end: 102
        line_start: 97
        source_file: /src/hostap/src/ap/sta_info.h
    - fields:
      - name: offset
        type: size_t
      - name: last_dialog_token
        type: u8
      - name: pending_more
        type: bool
      item_type: struct
      name: dscp_policy_state
      pos:
        line_end: 111
        line_start: 107
        source_file: /src/hostap/src/ap/sta_info.h
    - fields:
      - name: '*next'
        type: struct sta_info
      - name: '*hnext'
        type: struct sta_info
      - name: addr[6]
        type: u8
      - name: ipaddr
        type: be32
      - name: ip6addr
        type: struct dl_list
      - name: aid
        type: u16
      - name: disconnect_reason_code
        type: u16
      - name: flags
        type: unsigned long long
      - name: capability
        type: u16
      - name: listen_interval
        type: u16
      - name: supported_rates[WLAN_SUPP_RATES_MAX]
        type: u8
      - name: supported_rates_len
        type: int
      - name: qosinfo
        type: u8
      - name: nonerp_set
        type: unsigned int
      - name: no_short_slot_time_set
        type: unsigned int
      - name: no_short_preamble_set
        type: unsigned int
      - name: no_ht_gf_set
        type: unsigned int
      - name: no_ht_set
        type: unsigned int
      - name: ht40_intolerant_set
        type: unsigned int
      - name: ht_20mhz_set
        type: unsigned int
      - name: no_p2p_set
        type: unsigned int
      - name: qos_map_enabled
        type: unsigned int
      - name: hs20_deauth_requested
        type: unsigned int
      - name: hs20_deauth_on_ack
        type: unsigned int
      - name: session_timeout_set
        type: unsigned int
      - name: radius_das_match
        type: unsigned int
      - name: ecsa_supported
        type: unsigned int
      - name: added_unassoc
        type: unsigned int
      - name: pending_wds_enable
        type: unsigned int
      - name: power_capab
        type: unsigned int
      - name: agreed_to_steer
        type: unsigned int
      - name: hs20_t_c_filtering
        type: unsigned int
      - name: ft_over_ds
        type: unsigned int
      - name: external_dh_updated
        type: unsigned int
      - name: post_csa_sa_query
        type: unsigned int
      - name: auth_alg
        type: u16
      - name: timeout_next
        type: "enum {\n\t\tSTA_NULLFUNC = 0, STA_DISASSOC, STA_DEAUTH, STA_REMOVE,\n\t\tSTA_DISASSOC_FROM_CLI\n\t}"
      - name: deauth_reason
        type: u16
      - name: disassoc_reason
        type: u16
      - name: '*eapol_sm'
        type: struct eapol_state_machine
      - name: '*pending_eapol_rx'
        type: struct pending_eapol_rx
      - name: acct_session_id
        type: u64
      - name: acct_session_start
        type: struct os_reltime
      - name: acct_session_started
        type: int
      - name: acct_terminate_cause
        type: int
      - name: acct_interim_interval
        type: int
      - name: acct_interim_errors
        type: unsigned int
      - name: last_rx_bytes_hi
        type: u32
      - name: last_rx_bytes_lo
        type: u32
      - name: last_tx_bytes_hi
        type: u32
      - name: last_tx_bytes_lo
        type: u32
      - name: '*challenge'
        type: u8
      - name: '*wpa_sm'
        type: struct wpa_state_machine
      - name: '*preauth_iface'
        type: struct rsn_preauth_interface
      - name: vlan_id
        type: int
      - name: '*vlan_desc'
        type: struct vlan_description
      - name: vlan_id_bound
        type: int
      - name: '*psk'
        type: struct hostapd_sta_wpa_psk_short
      - name: '*identity'
        type: char
      - name: '*radius_cui'
        type: char
      - name: '*ht_capabilities'
        type: struct ieee80211_ht_capabilities
      - name: '*vht_capabilities'
        type: struct ieee80211_vht_capabilities
      - name: '*vht_operation'
        type: struct ieee80211_vht_operation
      - name: vht_opmode
        type: u8
      - name: '*he_capab'
        type: struct ieee80211_he_capabilities
      - name: he_capab_len
        type: size_t
      - name: '*he_6ghz_capab'
        type: struct ieee80211_he_6ghz_band_cap
      - name: '*eht_capab'
        type: struct ieee80211_eht_capabilities
      - name: eht_capab_len
        type: size_t
      - name: '*uhr_capab'
        type: struct ieee80211_uhr_capabilities
      - name: uhr_capab_len
        type: size_t
      - name: sa_query_count
        type: int
      - name: sa_query_timed_out
        type: int
      - name: '*sa_query_trans_id'
        type: u8
      - name: sa_query_start
        type: struct os_reltime
      - name: '*wps_ie'
        type: struct wpabuf
      - name: '*p2p_ie'
        type: struct wpabuf
      - name: '*hs20_ie'
        type: struct wpabuf
      - name: '*roaming_consortium'
        type: struct wpabuf
      - name: '*t_c_url'
        type: char
      - name: '*hs20_deauth_req'
        type: struct wpabuf
      - name: '*hs20_session_info_url'
        type: char
      - name: hs20_disassoc_timer
        type: int
      - name: connected_time
        type: struct os_reltime
      - name: session_timeout
        type: struct os_reltime
      - name: last_seq_ctrl
        type: u16
      - name: last_subtype
        type: u8
      - name: '*supp_op_classes'
        type: u8
      - name: rrm_enabled_capa[5]
        type: u8
      - name: min_tx_power
        type: s8
      - name: max_tx_power
        type: s8
      - name: '*ext_capability'
        type: u8
      - name: '*ifname_wds'
        type: char
      - name: max_idle_period
        type: u16
      - name: last_known_sta_id_timestamp
        type: u64
      - name: '*sae_pw_id'
        type: struct wpabuf
      - name: sae_pw_id_counter
        type: unsigned int
      item_type: struct
      name: sta_info
      pos:
        line_end: 372
        line_start: 113
        source_file: /src/hostap/src/ap/sta_info.h
    typedefs: []
    union: []
- function_names:
  - hostapd_update_dscp_policy_capability
  - parse_ipv4_params
  - parse_ipv6_params
  - parse_dscp_value
  - parse_domain_name
  - parse_port_range
  - validate_dscp_policy
  - free_dscp_policy
  - parse_dscp_policy_string
  - build_frame_classifier_type4_ipv4
  - build_frame_classifier_type4_ipv6
  - build_frame_classifier
  - add_dscp_policy_to_sta
  - free_dscp_policies
  - get_next_unsolicited_dialog_token
  - hostapd_get_dscp_policy_by_id
  - hostapd_build_qos_element
  - new_dscp_policy_req_frame
  - hostapd_send_unsolicited_dscp_policy_request
  - is_valid_qm_elem
  - set_frame_classifier_type4_ipv4
  - set_frame_classifier_type4_ipv6
  - ap_set_frame_classifier_params
  - hostapd_parse_query_elements
  - parse_single_policy
  - parse_dscp_query
  - match_ipv4_classifier
  - match_ipv6_classifier
  - match_type4_classifier
  - policy_matches_query
  - policy_element_len
  - add_policy_element
  - build_dscp_policy_request
  - hostapd_handle_dscp_policy_query
  - update_policy_status
  - invalidate_policy_by_id
  - reset_dscp_state
  - hostapd_build_dscp_policy_request_from_offset
  - hostapd_send_next_dscp_policy_batch
  - hostapd_handle_dscp_policy_response
  source_file: /src/hostap/src/ap/robust_av.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ipaddr_str
  - handle_dhcp
  - dhcp_snoop_init
  - dhcp_snoop_deinit
  source_file: /src/hostap/src/ap/dhcp_snoop.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - hostapd_eid_hs20_indication
  - hs20_send_wnm_notification_deauth_req
  - hs20_send_wnm_notification_t_c
  - hs20_t_c_filtering
  source_file: /src/hostap/src/ap/hs20.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ieee802_1x_alloc_kay_sm_hapd
  - ieee802_1x_notify_create_actor_hapd
  - ieee802_1x_dealloc_kay_sm_hapd
  - ieee802_1x_create_preshared_mka_hapd
  source_file: /src/hostap/src/ap/wpa_auth_kay.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/ap/ieee802_1x.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ieee80211_tkip_countermeasures_stop
  - ieee80211_tkip_countermeasures_start
  - ieee80211_tkip_countermeasures_deinit
  - michael_mic_failure
  source_file: /src/hostap/src/ap/tkip_countermeasures.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/ap/pmksa_cache_auth.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*next'
        type: struct rsn_pmksa_cache_entry
      - name: pmkid[PMKID_LEN]
        type: u8
      - name: pmk[PMK_LEN_MAX]
        type: u8
      - name: pmk_len
        type: size_t
      - name: kck[WPA_KCK_MAX_LEN]
        type: u8
      - name: kck_len
        type: size_t
      - name: expiration
        type: os_time_t
      - name: akmp
        type: int
      - name: spa[ETH_ALEN]
        type: u8
      - name: '*dpp_pkhash'
        type: u8
      - name: '*identity'
        type: u8
      - name: identity_len
        type: size_t
      - name: '*cui'
        type: struct wpabuf
      - name: radius_class
        type: struct radius_class_data
      - name: eap_type_authsrv
        type: u8
      - name: '*vlan_desc'
        type: struct vlan_description
      - name: sae_vlan_id
        type: int
      - name: opportunistic
        type: int
      - name: acct_multi_session_id
        type: u64
      item_type: struct
      name: rsn_pmksa_cache_entry
      pos:
        line_end: 46
        line_start: 16
        source_file: /src/hostap/src/ap/pmksa_cache_auth.h
    typedefs: []
    union: []
- function_names:
  - vlan_if_add
  - vlan_if_remove
  - vlan_dynamic_add
  - vlan_dynamic_remove
  - vlan_init
  - vlan_deinit
  - vlan_add_dynamic
  - vlan_remove_dynamic
  source_file: /src/hostap/src/ap/vlan_init.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/ap/bss_load.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - wmm_aci_aifsn
  - wmm_ecw
  - wmm_set_regulatory_limit
  - wmm_calc_regulatory_limit
  - hostapd_eid_wmm
  - hostapd_eid_wmm_valid
  - wmm_send_action
  - wmm_process_tspec
  - wmm_addts_req
  - hostapd_wmm_action
  source_file: /src/hostap/src/ap/wmm.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - hostapd_update_dscp_policy_capability
  - free_dscp_policies
  source_file: /src/hostap/src/ap/robust_av.h
  types:
    enum:
    - enumerators:
      - name: IPV4
        value: '4'
      - name: IPV6
        value: '6'
      item_type: enum
      name: ip_version
      pos:
        line_end: 40
        line_start: 37
        source_file: /src/hostap/src/ap/robust_av.h
    - enumerators:
      - name: DSCP_STATUS_SUCCESS
        value: '0'
      - name: DSCP_STATUS_CLASSIFIER_NOT_SUPPORTED
        value: '2'
      - name: DSCP_STATUS_REQUEST_DECLINED
        value: '1'
      - name: DSCP_STATUS_INSUFFICIENT_RESOURCES
        value: '3'
      item_type: enum
      name: dscp_policy_status
      pos:
        line_end: 48
        line_start: 43
        source_file: /src/hostap/src/ap/robust_av.h
    preproc_defs:
    - item_type: preproc_def
      name: CLASSIFIER_TYPE_4
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/hostap/src/ap/robust_av.h
      type_or_value: '4'
    - item_type: preproc_def
      name: TCLAS_MASK_VERSION
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/hostap/src/ap/robust_av.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: TCLAS_MASK_SRC_IP
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/hostap/src/ap/robust_av.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: TCLAS_MASK_DST_IP
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/hostap/src/ap/robust_av.h
      type_or_value: BIT(2)
    - item_type: preproc_def
      name: TCLAS_MASK_SRC_PORT
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/hostap/src/ap/robust_av.h
      type_or_value: BIT(3)
    - item_type: preproc_def
      name: TCLAS_MASK_DST_PORT
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/hostap/src/ap/robust_av.h
      type_or_value: BIT(4)
    - item_type: preproc_def
      name: TCLAS_MASK_PROTOCOL
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/hostap/src/ap/robust_av.h
      type_or_value: BIT(6)
    - item_type: preproc_def
      name: IPV4_CLASSIFIER_LEN
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/hostap/src/ap/robust_av.h
      type_or_value: '18'
    - item_type: preproc_def
      name: IPV6_CLASSIFIER_LEN
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/hostap/src/ap/robust_av.h
      type_or_value: '44'
    - item_type: preproc_def
      name: IPV4_ADDR_LEN
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/hostap/src/ap/robust_av.h
      type_or_value: '4'
    - item_type: preproc_def
      name: IPV6_ADDR_LEN
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/hostap/src/ap/robust_av.h
      type_or_value: '16'
    - item_type: preproc_def
      name: PORT_LEN
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/hostap/src/ap/robust_av.h
      type_or_value: '2'
    - item_type: preproc_def
      name: PROTOCOL_LEN
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/hostap/src/ap/robust_av.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HEADER_LEN
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/hostap/src/ap/robust_av.h
      type_or_value: '3'
    - item_type: preproc_def
      name: MAX_DSCP_REQ_SIZE
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/hostap/src/ap/robust_av.h
      type_or_value: '1500'
    - item_type: preproc_def
      name: QM_ATTR_DSCP_POLICY_LEN
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/hostap/src/ap/robust_av.h
      type_or_value: '3'
    structs:
    - fields:
      - name: src_ip
        type: struct in_addr
      - name: dst_ip
        type: struct in_addr
      - name: src_port
        type: u16
      - name: dst_port
        type: u16
      - name: dscp
        type: u8
      - name: protocol
        type: u8
      item_type: struct
      name: ipv4_params
      pos:
        line_end: 58
        line_start: 51
        source_file: /src/hostap/src/ap/robust_av.h
    - fields:
      - name: src_ip
        type: struct in6_addr
      - name: dst_ip
        type: struct in6_addr
      - name: src_port
        type: u16
      - name: dst_port
        type: u16
      - name: dscp
        type: u8
      - name: next_header
        type: u8
      - name: flow_label[3]
        type: u8
      item_type: struct
      name: ipv6_params
      pos:
        line_end: 69
        line_start: 61
        source_file: /src/hostap/src/ap/robust_av.h
    - fields:
      - name: classifier_mask
        type: u8
      - name: ip_version
        type: enum ip_version
      - name: ip_params
        type: "union {\n\t\tstruct ipv4_params v4;\n\t\tstruct ipv6_params v6;\n\t}"
      item_type: struct
      name: type4_params
      pos:
        line_end: 79
        line_start: 72
        source_file: /src/hostap/src/ap/robust_av.h
    - fields:
      - name: policy_id
        type: u8
      - name: req_type
        type: u8
      - name: dscp
        type: u8
      - name: dscp_info
        type: bool
      - name: '*frame_classifier'
        type: u8
      - name: frame_classifier_len
        type: u8
      - name: type4_param
        type: struct type4_params
      - name: '*domain_name'
        type: char
      - name: domain_name_len
        type: u8
      - name: start_port
        type: u16
      - name: end_port
        type: u16
      - name: port_range_info
        type: bool
      - name: status
        type: enum dscp_policy_status
      item_type: struct
      name: hostapd_dscp_policy
      pos:
        line_end: 96
        line_start: 82
        source_file: /src/hostap/src/ap/robust_av.h
    - fields:
      - name: '*hapd'
        type: struct hostapd_data
      - name: '*sta'
        type: struct sta_info
      - name: dialog_token
        type: u8
      - name: '**query_policy'
        type: struct hostapd_dscp_policy
      - name: num_query_policies
        type: unsigned int
      - name: '**req_policy'
        type: struct hostapd_dscp_policy
      - name: num_req_policies
        type: unsigned int
      - name: is_wildcard
        type: bool
      item_type: struct
      name: dscp_context
      pos:
        line_end: 107
        line_start: 98
        source_file: /src/hostap/src/ap/robust_av.h
    typedefs: []
    union: []
- function_names:
  - dyn_iface_get
  - dyn_iface_put
  - ifconfig_down
  - br_delif
  - br_addif
  - br_delbr
  - br_addbr
  - br_getnumports
  - vlan_newlink_tagged
  - vlan_bridge_name
  - vlan_get_bridge
  - vlan_newlink
  - vlan_dellink_tagged
  - vlan_put_bridge
  - vlan_dellink
  - vlan_read_ifnames
  - vlan_event_receive
  - full_dynamic_vlan_init
  - full_dynamic_vlan_deinit
  source_file: /src/hostap/src/ap/vlan_full.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DVLAN_CLEAN_BR
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/hostap/src/ap/vlan_full.c
      type_or_value: '0x1'
    - item_type: preproc_def
      name: DVLAN_CLEAN_VLAN
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/hostap/src/ap/vlan_full.c
      type_or_value: '0x2'
    - item_type: preproc_def
      name: DVLAN_CLEAN_VLAN_PORT
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/hostap/src/ap/vlan_full.c
      type_or_value: '0x4'
    - item_type: preproc_def
      name: MAX_BR_PORTS
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/hostap/src/ap/vlan_full.c
      type_or_value: '256'
    structs:
    - fields:
      - name: s
        type: int
      item_type: struct
      name: full_dynamic_vlan
      pos:
        line_end: 32
        line_start: 30
        source_file: /src/hostap/src/ap/vlan_full.c
    - fields:
      - name: ifname[IFNAMSIZ + 1]
        type: char
      - name: usage
        type: int
      - name: clean
        type: int
      - name: '*next'
        type: struct dynamic_iface
      item_type: struct
      name: dynamic_iface
      pos:
        line_end: 43
        line_start: 38
        source_file: /src/hostap/src/ap/vlan_full.c
    typedefs: []
    union: []
- function_names:
  - vlan_init
  - vlan_deinit
  - vlan_add_dynamic
  - vlan_remove_dynamic
  source_file: /src/hostap/src/ap/vlan_init.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - hostapd_notify_assoc_fils_finish
  - check_sa_query_need
  - hostapd_update_sta_links_status
  - hostapd_find_by_sta
  - for_each_mld_link
  - hostapd_remove_sta
  - hostapd_notif_disassoc_mld
  - hostapd_event_sta_low_ack
  - hostapd_event_sta_opmode_changed
  - hostapd_event_ch_switch
  - hostapd_event_connect_failed_reason
  - hostapd_acs_channel_selected
  - hostapd_probe_req_rx
  - hostapd_notify_auth_ft_finish
  - hostapd_notify_auth_fils_finish
  - hostapd_notif_auth
  - hostapd_action_rx
  - switch_link_hapd
  - switch_link_scan
  - get_hapd_bssid
  - for_each_mld_link
  - hostapd_rx_from_unknown_sta
  - hostapd_mgmt_rx
  - hostapd_mgmt_tx_cb
  - hostapd_event_new_sta
  - hostapd_event_eapol_rx
  - hostapd_get_mode_chan
  - hostapd_get_mode_channel
  - hostapd_update_nf
  - hostapd_single_channel_get_survey
  - hostapd_event_get_survey
  - hostapd_event_iface_unavailable
  - hostapd_event_dfs_radar_detected
  - hostapd_event_dfs_pre_cac_expired
  - hostapd_event_dfs_cac_finished
  - hostapd_event_dfs_cac_aborted
  - hostapd_event_dfs_nop_finished
  - hostapd_event_dfs_cac_started
  - hostapd_event_incumbt_sig_intf_detected
  - hostapd_event_wds_sta_interface_status
  - hostapd_notif_update_dh_ie
  - hostapd_eapol_tx_status
  - hostapd_event_color_change
  - hostapd_iface_enable
  - hostapd_iface_disable
  - hostapd_mld_iface_enable
  - for_each_mld_link
  - hostapd_mld_iface_disable
  - wpa_supplicant_event
  - wpa_supplicant_event_global
  source_file: /src/hostap/src/ap/drv_callbacks.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HAPD_BROADCAST
      pos:
        line_end: 1909
        line_start: 1908
        source_file: /src/hostap/src/ap/drv_callbacks.c
      type_or_value: ((struct hostapd_data *) -1)
    structs: []
    typedefs: []
    union: []
- function_names:
  - hostapd_get_oper_chwidth
  - hostapd_set_oper_chwidth
  - hostapd_get_oper_centr_freq_seg0_idx
  - hostapd_set_oper_centr_freq_seg0_idx
  - hostapd_get_oper_centr_freq_seg1_idx
  - hostapd_set_oper_centr_freq_seg1_idx
  - hostapd_get_bw320_offset
  - hostapd_set_and_check_bw320_offset
  source_file: /src/hostap/src/ap/ap_config.h
  types:
    enum:
    - enumerators:
      - name: ACCEPT_UNLESS_DENIED
        value: '0'
      - name: DENY_UNLESS_ACCEPTED
        value: '1'
      - name: USE_EXTERNAL_RADIUS_AUTH
        value: '2'
      item_type: enum
      name: macaddr_acl
      pos:
        line_end: 26
        line_start: 22
        source_file: /src/hostap/src/ap/ap_config.h
    - enumerators:
      - name: SECURITY_PLAINTEXT
        value: '0'
      - name: SECURITY_WPA_PSK
        value: '3'
      - name: SECURITY_WPA
        value: '4'
      - name: SECURITY_IEEE_802_1X
        value: '2'
      - name: SECURITY_STATIC_WEP
        value: '1'
      item_type: enum
      name: hostap_security_policy
      pos:
        line_end: 95
        line_start: 87
        source_file: /src/hostap/src/ap/ap_config.h
    - enumerators:
      - name: MBSSID_DISABLED
        value: '0'
      - name: ENHANCED_MBSSID_ENABLED
        value: '2'
      - name: MBSSID_ENABLED
        value: '1'
      item_type: enum
      name: mbssid
      pos:
        line_end: 1280
        line_start: 1276
        source_file: /src/hostap/src/ap/ap_config.h
    - enumerators:
      - name: AFC_ELLIPSE
      - name: AFC_LINEAR_POLYGON
      - name: AFC_RADIAL_POLYGON
      item_type: enum
      name: afc_location_type
      pos:
        line_end: 1312
        line_start: 1308
        source_file: /src/hostap/src/ap/ap_config.h
    preproc_defs:
    - item_type: preproc_def
      name: MESH_CONF_SEC_NONE
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/hostap/src/ap/ap_config.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: MESH_CONF_SEC_AUTH
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/hostap/src/ap/ap_config.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: MESH_CONF_SEC_AMPE
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/hostap/src/ap/ap_config.h
      type_or_value: BIT(2)
    - item_type: preproc_def
      name: MAX_STA_COUNT
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/hostap/src/ap/ap_config.h
      type_or_value: '2007'
    - item_type: preproc_def
      name: MAX_VLAN_ID
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/hostap/src/ap/ap_config.h
      type_or_value: '4094'
    - item_type: preproc_def
      name: NUM_WEP_KEYS
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/hostap/src/ap/ap_config.h
      type_or_value: '4'
    - item_type: preproc_def
      name: DYNAMIC_VLAN_DISABLED
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/hostap/src/ap/ap_config.h
      type_or_value: '0'
    - item_type: preproc_def
      name: DYNAMIC_VLAN_OPTIONAL
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/hostap/src/ap/ap_config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: DYNAMIC_VLAN_REQUIRED
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/hostap/src/ap/ap_config.h
      type_or_value: '2'
    - item_type: preproc_def
      name: DYNAMIC_VLAN_NAMING_WITHOUT_DEVICE
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/hostap/src/ap/ap_config.h
      type_or_value: '0'
    - item_type: preproc_def
      name: DYNAMIC_VLAN_NAMING_WITH_DEVICE
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/hostap/src/ap/ap_config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: DYNAMIC_VLAN_NAMING_END
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/hostap/src/ap/ap_config.h
      type_or_value: '2'
    - item_type: preproc_def
      name: VLAN_ID_WILDCARD
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/hostap/src/ap/ap_config.h
      type_or_value: '-1'
    - item_type: preproc_def
      name: DVLAN_CLEAN_WLAN_PORT
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/hostap/src/ap/ap_config.h
      type_or_value: '0x8'
    - item_type: preproc_def
      name: PMK_LEN
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/hostap/src/ap/ap_config.h
      type_or_value: '32'
    - item_type: preproc_def
      name: KEYID_LEN
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/hostap/src/ap/ap_config.h
      type_or_value: '32'
    - item_type: preproc_def
      name: MIN_PASSPHRASE_LEN
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/hostap/src/ap/ap_config.h
      type_or_value: '8'
    - item_type: preproc_def
      name: MAX_PASSPHRASE_LEN
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/hostap/src/ap/ap_config.h
      type_or_value: '63'
    - item_type: preproc_def
      name: NUM_TX_QUEUES
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/hostap/src/ap/ap_config.h
      type_or_value: '4'
    - item_type: preproc_def
      name: MAX_ROAMING_CONSORTIUM_LEN
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/hostap/src/ap/ap_config.h
      type_or_value: '15'
    - item_type: preproc_def
      name: MAX_NAI_REALMS
      pos:
        line_end: 224
        line_start: 223
        source_file: /src/hostap/src/ap/ap_config.h
      type_or_value: '10'
    - item_type: preproc_def
      name: MAX_NAI_REALMLEN
      pos:
        line_end: 225
        line_start: 224
        source_file: /src/hostap/src/ap/ap_config.h
      type_or_value: '255'
    - item_type: preproc_def
      name: MAX_NAI_EAP_METHODS
      pos:
        line_end: 226
        line_start: 225
        source_file: /src/hostap/src/ap/ap_config.h
      type_or_value: '5'
    - item_type: preproc_def
      name: MAX_NAI_AUTH_TYPES
      pos:
        line_end: 227
        line_start: 226
        source_file: /src/hostap/src/ap/ap_config.h
      type_or_value: '4'
    - item_type: preproc_def
      name: EXT_CAPA_MAX_LEN
      pos:
        line_end: 279
        line_start: 278
        source_file: /src/hostap/src/ap/ap_config.h
      type_or_value: '15'
    - item_type: preproc_def
      name: P2P_ENABLED
      pos:
        line_end: 550
        line_start: 549
        source_file: /src/hostap/src/ap/ap_config.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: P2P_GROUP_OWNER
      pos:
        line_end: 551
        line_start: 550
        source_file: /src/hostap/src/ap/ap_config.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: P2P_GROUP_FORMATION
      pos:
        line_end: 552
        line_start: 551
        source_file: /src/hostap/src/ap/ap_config.h
      type_or_value: BIT(2)
    - item_type: preproc_def
      name: P2P_MANAGE
      pos:
        line_end: 553
        line_start: 552
        source_file: /src/hostap/src/ap/ap_config.h
      type_or_value: BIT(3)
    - item_type: preproc_def
      name: P2P_ALLOW_CROSS_CONNECTION
      pos:
        line_end: 554
        line_start: 553
        source_file: /src/hostap/src/ap/ap_config.h
      type_or_value: BIT(4)
    - item_type: preproc_def
      name: TDLS_PROHIBIT
      pos:
        line_end: 566
        line_start: 565
        source_file: /src/hostap/src/ap/ap_config.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: TDLS_PROHIBIT_CHAN_SWITCH
      pos:
        line_end: 567
        line_start: 566
        source_file: /src/hostap/src/ap/ap_config.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: MESH_ENABLED
      pos:
        line_end: 731
        line_start: 730
        source_file: /src/hostap/src/ap/ap_config.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: BACKHAUL_BSS
      pos:
        line_end: 813
        line_start: 812
        source_file: /src/hostap/src/ap/ap_config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: FRONTHAUL_BSS
      pos:
        line_end: 814
        line_start: 813
        source_file: /src/hostap/src/ap/ap_config.h
      type_or_value: '2'
    - item_type: preproc_def
      name: PROFILE1_CLIENT_ASSOC_DISALLOW
      pos:
        line_end: 818
        line_start: 817
        source_file: /src/hostap/src/ap/ap_config.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: PROFILE2_CLIENT_ASSOC_DISALLOW
      pos:
        line_end: 820
        line_start: 819
        source_file: /src/hostap/src/ap/ap_config.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: MACSEC_CKN_MAX_LEN
      pos:
        line_end: 927
        line_start: 926
        source_file: /src/hostap/src/ap/ap_config.h
      type_or_value: '32'
    - item_type: preproc_def
      name: MACSEC_CAK_MAX_LEN
      pos:
        line_end: 934
        line_start: 933
        source_file: /src/hostap/src/ap/ap_config.h
      type_or_value: '32'
    - item_type: preproc_def
      name: MKA_PSK_SET_CKN
      pos:
        line_end: 938
        line_start: 937
        source_file: /src/hostap/src/ap/ap_config.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: MKA_PSK_SET_CAK
      pos:
        line_end: 939
        line_start: 938
        source_file: /src/hostap/src/ap/ap_config.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: MKA_PSK_SET
      pos:
        line_end: 940
        line_start: 939
        source_file: /src/hostap/src/ap/ap_config.h
      type_or_value: (MKA_PSK_SET_CKN | MKA_PSK_SET_CAK)
    - item_type: preproc_def
      name: CH_SWITCH_VHT_ENABLED
      pos:
        line_end: 1228
        line_start: 1227
        source_file: /src/hostap/src/ap/ap_config.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: CH_SWITCH_VHT_DISABLED
      pos:
        line_end: 1229
        line_start: 1228
        source_file: /src/hostap/src/ap/ap_config.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: CH_SWITCH_HE_ENABLED
      pos:
        line_end: 1233
        line_start: 1232
        source_file: /src/hostap/src/ap/ap_config.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: CH_SWITCH_HE_DISABLED
      pos:
        line_end: 1234
        line_start: 1233
        source_file: /src/hostap/src/ap/ap_config.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: AIRTIME_MODE_MAX
      pos:
        line_end: 1250
        line_start: 1249
        source_file: /src/hostap/src/ap/ap_config.h
      type_or_value: (__AIRTIME_MODE_MAX - 1)
    - item_type: preproc_def
      name: CH_SWITCH_EHT_ENABLED
      pos:
        line_end: 1273
        line_start: 1272
        source_file: /src/hostap/src/ap/ap_config.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: CH_SWITCH_EHT_DISABLED
      pos:
        line_end: 1274
        line_start: 1273
        source_file: /src/hostap/src/ap/ap_config.h
      type_or_value: BIT(1)
    structs:
    - fields:
      - name: meshid[32]
        type: u8
      - name: meshid_len
        type: u8
      - name: mesh_pp_id
        type: u8
      - name: mesh_pm_id
        type: u8
      - name: mesh_cc_id
        type: u8
      - name: mesh_sp_id
        type: u8
      - name: mesh_auth_id
        type: u8
      - name: '*rsn_ie'
        type: u8
      - name: rsn_ie_len
        type: int
      - name: security
        type: unsigned int
      - name: ieee80211w
        type: enum mfp_options
      - name: ocv
        type: int
      - name: pairwise_cipher
        type: unsigned int
      - name: group_cipher
        type: unsigned int
      - name: mgmt_group_cipher
        type: unsigned int
      - name: dot11MeshMaxRetries
        type: int
      - name: dot11MeshRetryTimeout
        type: int
      - name: dot11MeshConfirmTimeout
        type: int
      - name: dot11MeshHoldingTimeout
        type: int
      - name: mesh_fwding
        type: int
      item_type: struct
      name: mesh_conf
      pos:
        line_end: 60
        line_start: 31
        source_file: /src/hostap/src/ap/ap_config.h
    - fields:
      - name: addr
        type: macaddr
      - name: vlan_id
        type: struct vlan_description
      item_type: struct
      name: mac_acl_entry
      pos:
        line_end: 70
        line_start: 67
        source_file: /src/hostap/src/ap/ap_config.h
    - fields:
      - name: idx
        type: u8
      - name: '*key[NUM_WEP_KEYS]'
        type: u8
      - name: len[NUM_WEP_KEYS]
        type: size_t
      - name: keys_set
        type: int
      - name: default_len
        type: size_t
      item_type: struct
      name: hostapd_wep_keys
      pos:
        line_end: 84
        line_start: 78
        source_file: /src/hostap/src/ap/ap_config.h
    - fields:
      - name: ssid[SSID_MAX_LEN]
        type: u8
      - name: ssid_len
        type: size_t
      - name: short_ssid
        type: u32
      - name: ssid_set
        type: unsigned int
      - name: utf8_ssid
        type: unsigned int
      - name: wpa_passphrase_set
        type: unsigned int
      - name: wpa_psk_set
        type: unsigned int
      - name: vlan[IFNAMSIZ + 1]
        type: char
      - name: security_policy
        type: secpolicy
      - name: '*wpa_psk'
        type: struct hostapd_wpa_psk
      - name: '*wpa_passphrase'
        type: char
      - name: '*wpa_psk_file'
        type: char
      - name: '*pt'
        type: struct sae_pt
      - name: dynamic_vlan
        type: int
      - name: vlan_naming
        type: int
      - name: per_sta_vif
        type: int
      item_type: struct
      name: hostapd_ssid
      pos:
        line_end: 130
        line_start: 97
        source_file: /src/hostap/src/ap/ap_config.h
    - fields:
      - name: '*next'
        type: struct hostapd_vlan
      - name: vlan_id
        type: int
      - name: vlan_desc
        type: struct vlan_description
      - name: ifname[IFNAMSIZ + 1]
        type: char
      - name: bridge[IFNAMSIZ + 1]
        type: char
      - name: configured
        type: int
      - name: dynamic_vlan
        type: int
      item_type: struct
      name: hostapd_vlan
      pos:
        line_end: 148
        line_start: 135
        source_file: /src/hostap/src/ap/ap_config.h
    - fields:
      - name: '*next'
        type: struct hostapd_sta_wpa_psk_short
      - name: is_passphrase
        type: unsigned int
      - name: psk[PMK_LEN]
        type: u8
      - name: passphrase[MAX_PASSPHRASE_LEN + 1]
        type: char
      - name: ref
        type: int
      item_type: struct
      name: hostapd_sta_wpa_psk_short
      pos:
        line_end: 160
        line_start: 154
        source_file: /src/hostap/src/ap/ap_config.h
    - fields:
      - name: '*next'
        type: struct hostapd_wpa_psk
      - name: group
        type: int
      - name: keyid[KEYID_LEN]
        type: char
      - name: wps
        type: int
      - name: psk[PMK_LEN]
        type: u8
      - name: addr[ETH_ALEN]
        type: u8
      - name: p2p_dev_addr[ETH_ALEN]
        type: u8
      - name: vlan_id
        type: int
      item_type: struct
      name: hostapd_wpa_psk
      pos:
        line_end: 171
        line_start: 162
        source_file: /src/hostap/src/ap/ap_config.h
    - fields:
      - name: '*next'
        type: struct hostapd_eap_user
      - name: '*identity'
        type: u8
      - name: identity_len
        type: size_t
      - name: methods[EAP_MAX_METHODS]
        type: "struct {\n\t\tint vendor;\n\t\tu32 method;\n\t}"
      - name: '*password'
        type: u8
      - name: password_len
        type: size_t
      - name: '*salt'
        type: u8
      - name: salt_len
        type: size_t
      - name: phase2
        type: int
      - name: force_version
        type: int
      - name: wildcard_prefix
        type: unsigned int
      - name: password_hash
        type: unsigned int
      - name: macacl
        type: unsigned int
      - name: ttls_auth
        type: int
      - name: '*accept_attr'
        type: struct hostapd_radius_attr
      - name: t_c_timestamp
        type: u32
      item_type: struct
      name: hostapd_eap_user
      pos:
        line_end: 194
        line_start: 173
        source_file: /src/hostap/src/ap/ap_config.h
    - fields:
      - name: type
        type: u8
      - name: '*val'
        type: struct wpabuf
      - name: '*next'
        type: struct hostapd_radius_attr
      item_type: struct
      name: hostapd_radius_attr
      pos:
        line_end: 200
        line_start: 196
        source_file: /src/hostap/src/ap/ap_config.h
    - fields:
      - name: len
        type: u8
      - name: oi[MAX_ROAMING_CONSORTIUM_LEN]
        type: u8
      item_type: struct
      name: hostapd_roaming_consortium
      pos:
        line_end: 209
        line_start: 206
        source_file: /src/hostap/src/ap/ap_config.h
    - fields:
      - name: lang[3]
        type: u8
      - name: name_len
        type: u8
      - name: name[252]
        type: u8
      item_type: struct
      name: hostapd_lang_string
      pos:
        line_end: 215
        line_start: 211
        source_file: /src/hostap/src/ap/ap_config.h
    - fields:
      - name: venue_number
        type: u8
      - name: url_len
        type: u8
      - name: url[254]
        type: u8
      item_type: struct
      name: hostapd_venue_url
      pos:
        line_end: 221
        line_start: 217
        source_file: /src/hostap/src/ap/ap_config.h
    - fields:
      - name: encoding
        type: u8
      - name: realm_buf[MAX_NAI_REALMLEN + 1]
        type: char
      - name: '*realm[MAX_NAI_REALMS]'
        type: char
      - name: eap_method_count
        type: u8
      - name: eap_method[MAX_NAI_EAP_METHODS]
        type: "struct hostapd_nai_realm_eap {\n\t\tu8 eap_method;\n\t\tu8 num_auths;\n\t\tu8
          auth_id[MAX_NAI_AUTH_TYPES];\n\t\tu8 auth_val[MAX_NAI_AUTH_TYPES];\n\t}"
      item_type: struct
      name: hostapd_nai_realm_data
      pos:
        line_end: 238
        line_start: 227
        source_file: /src/hostap/src/ap/ap_config.h
    - fields:
      - name: eap_method
        type: u8
      - name: num_auths
        type: u8
      - name: auth_id[MAX_NAI_AUTH_TYPES]
        type: u8
      - name: auth_val[MAX_NAI_AUTH_TYPES]
        type: u8
      item_type: struct
      name: hostapd_nai_realm_eap
      pos:
        line_end: 237
        line_start: 232
        source_file: /src/hostap/src/ap/ap_config.h
    - fields:
      - name: list
        type: struct dl_list
      - name: infoid
        type: u16
      - name: '*payload'
        type: struct wpabuf
      item_type: struct
      name: anqp_element
      pos:
        line_end: 244
        line_start: 240
        source_file: /src/hostap/src/ap/ap_config.h
    - fields:
      - name: list
        type: struct dl_list
      - name: hash[2]
        type: u8
      - name: realm[]
        type: char
      item_type: struct
      name: fils_realm
      pos:
        line_end: 250
        line_start: 246
        source_file: /src/hostap/src/ap/ap_config.h
    - fields:
      - name: '*next'
        type: struct sae_password_entry
      - name: '*password'
        type: char
      - name: '*identifier'
        type: char
      - name: peer_addr[ETH_ALEN]
        type: u8
      - name: vlan_id
        type: int
      - name: '*pt'
        type: struct sae_pt
      - name: '*pk'
        type: struct sae_pk
      - name: '*success_mac'
        type: u8
      - name: num_success_mac
        type: unsigned int
      - name: '*fail_mac'
        type: u8
      - name: num_fail_mac
        type: unsigned int
      item_type: struct
      name: sae_password_entry
      pos:
        line_end: 264
        line_start: 252
        source_file: /src/hostap/src/ap/ap_config.h
    - fields:
      - name: '*next'
        type: struct dpp_controller_conf
      - name: pkhash[SHA256_MAC_LEN]
        type: u8
      - name: ipaddr
        type: struct hostapd_ip_addr
      item_type: struct
      name: dpp_controller_conf
      pos:
        line_end: 270
        line_start: 266
        source_file: /src/hostap/src/ap/ap_config.h
    - fields:
      - name: '*next'
        type: struct airtime_sta_weight
      - name: weight
        type: unsigned int
      - name: addr[ETH_ALEN]
        type: u8
      item_type: struct
      name: airtime_sta_weight
      pos:
        line_end: 276
        line_start: 272
        source_file: /src/hostap/src/ap/ap_config.h
    - fields:
      - name: iface[IFNAMSIZ + 1]
        type: char
      - name: bridge[IFNAMSIZ + 1]
        type: char
      - name: vlan_bridge[IFNAMSIZ + 1]
        type: char
      - name: wds_bridge[IFNAMSIZ + 1]
        type: char
      - name: bridge_hairpin
        type: int
      - name: logger_syslog_level
        type: enum hostapd_logger_level
      - name: logger_syslog
        type: unsigned int
      - name: logger_stdout
        type: unsigned int
      - name: max_num_sta
        type: int
      - name: rate_type
        type: enum beacon_rate_type
      - name: beacon_rate
        type: unsigned int
      - name: dtim_period
        type: int
      - name: bss_load_update_period
        type: unsigned int
      - name: chan_util_avg_period
        type: unsigned int
      - name: ieee802_1x
        type: int
      - name: eapol_version
        type: int
      - name: eap_server
        type: int
      - name: '*eap_user'
        type: struct hostapd_eap_user
      - name: '*eap_user_sqlite'
        type: char
      - name: '*eap_sim_db'
        type: char
      - name: eap_sim_db_timeout
        type: unsigned int
      - name: eap_server_erp
        type: int
      - name: own_ip_addr
        type: struct hostapd_ip_addr
      - name: '*nas_identifier'
        type: char
      - name: '*radius'
        type: struct hostapd_radius_servers
      - name: radius_require_message_authenticator
        type: int
      - name: acct_interim_interval
        type: int
      - name: radius_request_cui
        type: int
      - name: '*radius_auth_req_attr'
        type: struct hostapd_radius_attr
      - name: '*radius_acct_req_attr'
        type: struct hostapd_radius_attr
      - name: '*radius_req_attr_sqlite'
        type: char
      - name: radius_das_port
        type: int
      - name: radius_das_time_window
        type: unsigned int
      - name: radius_das_require_event_timestamp
        type: int
      - name: radius_das_require_message_authenticator
        type: int
      - name: radius_das_client_addr
        type: struct hostapd_ip_addr
      - name: '*radius_das_shared_secret'
        type: u8
      - name: radius_das_shared_secret_len
        type: size_t
      - name: ssid
        type: struct hostapd_ssid
      - name: '*supported_rates'
        type: int
      - name: '*basic_rates'
        type: int
      - name: '*eap_req_id_text'
        type: char
      - name: eap_req_id_text_len
        type: size_t
      - name: eapol_key_index_workaround
        type: int
      - name: eap_reauth_period
        type: int
      - name: erp_send_reauth_start
        type: int
      - name: '*erp_domain'
        type: char
      - name: macaddr_acl
        type: enum macaddr_acl
      - name: '*accept_mac'
        type: struct mac_acl_entry
      - name: num_accept_mac
        type: int
      - name: '*deny_mac'
        type: struct mac_acl_entry
      - name: num_deny_mac
        type: int
      - name: wds_sta
        type: int
      - name: isolate
        type: int
      - name: start_disabled
        type: int
      - name: auth_algs
        type: int
      - name: wpa
        type: int
      - name: extended_key_id
        type: int
      - name: wpa_key_mgmt
        type: int
      - name: rsn_override_key_mgmt
        type: int
      - name: rsn_override_key_mgmt_2
        type: int
      - name: ieee80211w
        type: enum mfp_options
      - name: rsn_override_mfp
        type: enum mfp_options
      - name: rsn_override_mfp_2
        type: enum mfp_options
      - name: group_mgmt_cipher
        type: int
      - name: beacon_prot
        type: int
      - name: assoc_sa_query_max_timeout
        type: unsigned int
      - name: assoc_sa_query_retry_timeout
        type: int
      - name: wpa_psk_radius
        type: "enum {\n\t\tPSK_RADIUS_IGNORED = 0,\n\t\tPSK_RADIUS_ACCEPTED = 1,\n\t\tPSK_RADIUS_REQUIRED
          = 2,\n\t\tPSK_RADIUS_DURING_4WAY_HS = 3,\n\t}"
      - name: wpa_pairwise
        type: int
      - name: group_cipher
        type: int
      - name: wpa_group
        type: int
      - name: wpa_group_rekey
        type: int
      - name: wpa_group_rekey_set
        type: int
      - name: wpa_strict_rekey
        type: int
      - name: wpa_gmk_rekey
        type: int
      - name: wpa_ptk_rekey
        type: int
      - name: wpa_deny_ptk0_rekey
        type: enum ptk0_rekey_handling
      - name: wpa_group_update_count
        type: u32
      - name: wpa_pairwise_update_count
        type: u32
      - name: wpa_disable_eapol_key_retries
        type: int
      - name: rsn_pairwise
        type: int
      - name: rsn_override_pairwise
        type: int
      - name: rsn_override_pairwise_2
        type: int
      - name: rsn_preauth
        type: int
      - name: '*rsn_preauth_interfaces'
        type: char
      - name: rsn_override_omit_rsnxe
        type: int
      - name: rsn_override_mlo_compat
        type: int
      - name: '*ctrl_interface'
        type: char
      - name: ctrl_interface_gid_set
        type: int
      - name: '*ca_cert'
        type: char
      - name: '*server_cert'
        type: char
      - name: '*server_cert2'
        type: char
      - name: '*private_key'
        type: char
      - name: '*private_key2'
        type: char
      - name: '*private_key_passwd'
        type: char
      - name: '*private_key_passwd2'
        type: char
      - name: '*check_cert_subject'
        type: char
      - name: check_crl
        type: int
      - name: check_crl_strict
        type: int
      - name: crl_reload_interval
        type: unsigned int
      - name: tls_session_lifetime
        type: unsigned int
      - name: tls_flags
        type: unsigned int
      - name: max_auth_rounds
        type: unsigned int
      - name: max_auth_rounds_short
        type: unsigned int
      - name: '*ocsp_stapling_response'
        type: char
      - name: '*ocsp_stapling_response_multi'
        type: char
      - name: '*dh_file'
        type: char
      - name: '*openssl_ciphers'
        type: char
      - name: '*openssl_ecdh_curves'
        type: char
      - name: '*pac_opaque_encr_key'
        type: u8
      - name: '*eap_fast_a_id'
        type: u8
      - name: eap_fast_a_id_len
        type: size_t
      - name: '*eap_fast_a_id_info'
        type: char
      - name: eap_fast_prov
        type: int
      - name: pac_key_lifetime
        type: int
      - name: pac_key_refresh_time
        type: int
      - name: eap_teap_auth
        type: int
      - name: eap_teap_separate_result
        type: int
      - name: eap_teap_id
        type: int
      - name: eap_teap_method_sequence
        type: int
      - name: eap_sim_aka_result_ind
        type: int
      - name: eap_sim_id
        type: int
      - name: '*imsi_privacy_key'
        type: char
      - name: eap_sim_aka_fast_reauth_limit
        type: int
      - name: tnc
        type: int
      - name: fragment_size
        type: int
      - name: pwd_group
        type: u16
      - name: '*radius_server_clients'
        type: char
      - name: radius_server_auth_port
        type: int
      - name: radius_server_acct_port
        type: int
      - name: radius_server_acct_log
        type: int
      - name: radius_server_ipv6
        type: int
      - name: use_pae_group_addr
        type: int
      - name: ap_max_inactivity
        type: int
      - name: bss_max_idle
        type: int
      - name: max_acceptable_idle_period
        type: int
      - name: no_disconnect_on_group_keyerror
        type: bool
      - name: ignore_broadcast_ssid
        type: int
      - name: no_probe_resp_if_max_sta
        type: int
      - name: wmm_enabled
        type: int
      - name: wmm_uapsd
        type: int
      - name: '*vlan'
        type: struct hostapd_vlan
      - name: bssid
        type: macaddr
      - name: max_listen_interval
        type: u16
      - name: disable_pmksa_caching
        type: int
      - name: okc
        type: int
      - name: wps_state
        type: int
      - name: pbc_in_m1
        type: int
      - name: '*server_id'
        type: char
      - name: p2p
        type: int
      - name: disassoc_low_ack
        type: int
      - name: skip_inactivity_poll
        type: int
      - name: tdls
        type: int
      - name: disable_11n
        type: bool
      - name: disable_11ac
        type: bool
      - name: disable_11ax
        type: bool
      - name: disable_11be
        type: bool
      - name: disable_11bn
        type: bool
      - name: time_advertisement
        type: int
      - name: '*time_zone'
        type: char
      - name: wnm_sleep_mode
        type: int
      - name: wnm_sleep_mode_no_keys
        type: int
      - name: bss_transition
        type: int
      - name: interworking
        type: int
      - name: access_network_type
        type: int
      - name: internet
        type: int
      - name: asra
        type: int
      - name: esr
        type: int
      - name: uesa
        type: int
      - name: venue_info_set
        type: int
      - name: venue_group
        type: u8
      - name: venue_type
        type: u8
      - name: hessid[ETH_ALEN]
        type: u8
      - name: roaming_consortium_count
        type: unsigned int
      - name: '*roaming_consortium'
        type: struct hostapd_roaming_consortium
      - name: venue_name_count
        type: unsigned int
      - name: '*venue_name'
        type: struct hostapd_lang_string
      - name: venue_url_count
        type: unsigned int
      - name: '*venue_url'
        type: struct hostapd_venue_url
      - name: '*network_auth_type'
        type: u8
      - name: network_auth_type_len
        type: size_t
      - name: ipaddr_type_availability
        type: u8
      - name: ipaddr_type_configured
        type: u8
      - name: '*anqp_3gpp_cell_net'
        type: u8
      - name: anqp_3gpp_cell_net_len
        type: size_t
      - name: '*domain_name'
        type: u8
      - name: domain_name_len
        type: size_t
      - name: nai_realm_count
        type: unsigned int
      - name: '*nai_realm_data'
        type: struct hostapd_nai_realm_data
      - name: anqp_elem
        type: struct dl_list
      - name: gas_comeback_delay
        type: u16
      - name: gas_frag_limit
        type: size_t
      - name: gas_address3
        type: int
      - name: qos_map_set[16 + 2 * 21]
        type: u8
      - name: qos_map_set_len
        type: unsigned int
      - name: proxy_arp
        type: int
      - name: na_mcast_to_ucast
        type: int
      - name: wps_rf_bands
        type: u8
      - name: '*vendor_elements'
        type: struct wpabuf
      - name: '*assocresp_elements'
        type: struct wpabuf
      - name: anti_clogging_threshold
        type: unsigned int
      - name: sae_sync
        type: unsigned int
      - name: sae_require_mfp
        type: int
      - name: sae_confirm_immediate
        type: int
      - name: sae_pwe
        type: enum sae_pwe
      - name: sae_accept_h2e_without_use
        type: bool
      - name: '*sae_groups'
        type: int
      - name: '*sae_passwords'
        type: struct sae_password_entry
      - name: sae_password_psk
        type: int
      - name: sae_track_password
        type: int
      - name: '*sae_pw_id_key'
        type: struct wpabuf
      - name: sae_pw_id_num
        type: unsigned int
      - name: '*wowlan_triggers'
        type: char
      - name: mesh
        type: int
      - name: mesh_fwding
        type: int
      - name: radio_measurements[RRM_CAPABILITIES_IE_LEN]
        type: u8
      - name: vendor_vht
        type: int
      - name: use_sta_nsts
        type: int
      - name: '*no_probe_resp_if_seen_on'
        type: char
      - name: '*no_auth_if_seen_on'
        type: char
      - name: pbss
        type: int
      - name: ftm_responder
        type: int
      - name: ftm_initiator
        type: int
      - name: multicast_to_unicast
        type: int
      - name: bridge_multicast_to_unicast
        type: int
      - name: broadcast_deauth
        type: int
      - name: notify_mgmt_frames
        type: int
      - name: coloc_intf_reporting
        type: int
      - name: send_probe_response
        type: u8
      - name: transition_disable
        type: u8
      - name: multi_ap
        type: int
      - name: multi_ap_profile
        type: int
      - name: multi_ap_client_disallow
        type: unsigned int
      - name: multi_ap_vlanid
        type: int
      - name: urnm_mfpr_x20
        type: int
      - name: urnm_mfpr
        type: int
      - name: unsol_bcast_probe_resp_interval
        type: unsigned int
      - name: ext_capa_mask[EXT_CAPA_MAX_LEN]
        type: u8
      - name: ext_capa[EXT_CAPA_MAX_LEN]
        type: u8
      - name: rnr
        type: u8
      - name: '*config_id'
        type: char
      - name: ssid_protection
        type: bool
      - name: known_sta_identification
        type: bool
      - name: mbssid_index
        type: int
      - name: spp_amsdu
        type: bool
      - name: gas_max_peers
        type: unsigned int
      item_type: struct
      name: hostapd_bss_config
      pos:
        line_end: 1026
        line_start: 283
        source_file: /src/hostap/src/ap/ap_config.h
    - fields:
      - name: he_su_beamformer
        type: bool
      - name: he_su_beamformee
        type: bool
      - name: he_mu_beamformer
        type: bool
      item_type: struct
      name: he_phy_capabilities_info
      pos:
        line_end: 1035
        line_start: 1031
        source_file: /src/hostap/src/ap/ap_config.h
    - fields:
      - name: he_bss_color
        type: u8
      - name: he_bss_color_disabled
        type: u8
      - name: he_bss_color_partial
        type: u8
      - name: he_default_pe_duration
        type: u8
      - name: he_twt_required
        type: u8
      - name: he_twt_responder
        type: u8
      - name: he_rts_threshold
        type: u16
      - name: he_er_su_disable
        type: u8
      - name: he_basic_mcs_nss_set
        type: u16
      item_type: struct
      name: he_operation
      pos:
        line_end: 1050
        line_start: 1040
        source_file: /src/hostap/src/ap/ap_config.h
    - fields:
      - name: sr_control
        type: u8
      - name: non_srg_obss_pd_max_offset
        type: u8
      - name: srg_obss_pd_min_offset
        type: u8
      - name: srg_obss_pd_max_offset
        type: u8
      - name: srg_bss_color_bitmap[8]
        type: u8
      - name: srg_partial_bssid_bitmap[8]
        type: u8
      item_type: struct
      name: spatial_reuse
      pos:
        line_end: 1062
        line_start: 1055
        source_file: /src/hostap/src/ap/ap_config.h
    - fields:
      - name: su_beamformer
        type: bool
      - name: su_beamformee
        type: bool
      - name: mu_beamformer
        type: bool
      item_type: struct
      name: eht_phy_capabilities_info
      pos:
        line_end: 1071
        line_start: 1067
        source_file: /src/hostap/src/ap/ap_config.h
    - fields:
      - name: '**bss'
        type: struct hostapd_bss_config
      - name: num_bss
        type: size_t
      - name: beacon_int
        type: u16
      - name: rts_threshold
        type: int
      - name: fragm_threshold
        type: int
      - name: op_class
        type: u8
      - name: channel
        type: u8
      - name: enable_edmg
        type: int
      - name: edmg_channel
        type: u8
      - name: acs
        type: u8
      - name: acs_ch_list
        type: struct wpa_freq_range_list
      - name: acs_freq_list
        type: struct wpa_freq_range_list
      - name: acs_freq_list_present
        type: u8
      - name: acs_exclude_dfs
        type: int
      - name: min_tx_power
        type: u8
      - name: hw_mode
        type: enum hostapd_hw_mode
      - name: hw_mode_set
        type: bool
      - name: acs_exclude_6ghz_non_psc
        type: int
      - name: enable_background_radar
        type: int
      - name: preamble
        type: "enum {\n\t\tLONG_PREAMBLE = 0,\n\t\tSHORT_PREAMBLE = 1\n\t}"
      - name: '*driver'
        type: struct wpa_driver_ops
      - name: '*driver_params'
        type: char
      - name: ap_table_max_size
        type: int
      - name: ap_table_expiration_time
        type: int
      - name: track_sta_max_num
        type: unsigned int
      - name: track_sta_max_age
        type: unsigned int
      - name: country[3]
        type: char
      - name: ieee80211d
        type: int
      - name: ieee80211h
        type: int
      - name: local_pwr_constraint
        type: int
      - name: spectrum_mgmt_required
        type: int
      - name: tx_queue[NUM_TX_QUEUES]
        type: struct hostapd_tx_queue_params
      - name: wmm_ac_params[4]
        type: struct hostapd_wmm_ac_params
      - name: ht_op_mode_fixed
        type: int
      - name: ht_capab
        type: u16
      - name: ieee80211n
        type: int
      - name: secondary_channel
        type: int
      - name: no_pri_sec_switch
        type: int
      - name: require_ht
        type: int
      - name: obss_interval
        type: int
      - name: vht_capab
        type: u32
      - name: ieee80211ac
        type: int
      - name: require_vht
        type: int
      - name: vht_oper_chwidth
        type: enum oper_chan_width
      - name: vht_oper_centr_freq_seg0_idx
        type: u8
      - name: vht_oper_centr_freq_seg1_idx
        type: u8
      - name: ht40_plus_minus_allowed
        type: u8
      - name: use_driver_iface_addr
        type: u8
      - name: '*lci'
        type: struct wpabuf
      - name: '*civic'
        type: struct wpabuf
      - name: stationary_ap
        type: int
      - name: ieee80211ax
        type: int
      - name: ch_switch_vht_config
        type: unsigned int
      - name: ch_switch_he_config
        type: unsigned int
      - name: rssi_reject_assoc_rssi
        type: int
      - name: rssi_reject_assoc_timeout
        type: int
      - name: rssi_ignore_probe_request
        type: int
      - name: ieee80211be
        type: int
      - name: ieee80211bn
        type: int
      - name: ch_switch_eht_config
        type: unsigned int
      - name: mbssid
        type: "enum mbssid {\n\t\tMBSSID_DISABLED = 0,\n\t\tMBSSID_ENABLED = 1,\n\t\tENHANCED_MBSSID_ENABLED
          = 2,\n\t}"
      - name: mbssid_max
        type: unsigned int
      - name: ht_vht_twt_responder
        type: bool
      - name: channel_usage
        type: bool
      - name: peer_to_peer_twt
        type: bool
      - name: i2r_lmr_policy
        type: bool
      - name: disable_mcs15_rx
        type: bool
      item_type: struct
      name: hostapd_config
      pos:
        line_end: 1335
        line_start: 1076
        source_file: /src/hostap/src/ap/ap_config.h
    - fields:
      - name: channel
        type: int
      - name: bias
        type: double
      item_type: struct
      name: acs_bias
      pos:
        line_end: 1188
        line_start: 1185
        source_file: /src/hostap/src/ap/ap_config.h
    - fields:
      - name: '*ruleset'
        type: char
      - name: '*id'
        type: char
      item_type: struct
      name: afc_cert_id
      pos:
        line_end: 1306
        line_start: 1303
        source_file: /src/hostap/src/ap/ap_config.h
    - fields:
      - name: longitude
        type: double
      - name: latitude
        type: double
      item_type: struct
      name: afc_linear_polygon
      pos:
        line_end: 1317
        line_start: 1314
        source_file: /src/hostap/src/ap/ap_config.h
    - fields:
      - name: length
        type: double
      - name: angle
        type: double
      item_type: struct
      name: afc_radial_polygon
      pos:
        line_end: 1322
        line_start: 1319
        source_file: /src/hostap/src/ap/ap_config.h
    typedefs:
    - item_type: typedef
      name: macaddr[ETH_ALEN]
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/hostap/src/ap/ap_config.h
      type: u8
    union: []
- function_names: []
  source_file: /src/hostap/src/ap/nan_usd_ap.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - fils_hlp_deinit
  source_file: /src/hostap/src/ap/fils_hlp.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/ap/wpa_auth_glue.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/ap/ctrl_iface_ap.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ap_list_init
  - ap_list_deinit
  - ap_list_timer
  source_file: /src/hostap/src/ap/ap_list.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*next'
        type: struct ap_info
      - name: '*prev'
        type: struct ap_info
      - name: '*hnext'
        type: struct ap_info
      - name: addr[6]
        type: u8
      - name: supported_rates[WLAN_SUPP_RATES_MAX]
        type: u8
      - name: erp
        type: int
      - name: channel
        type: int
      - name: ht_support
        type: int
      - name: last_beacon
        type: struct os_reltime
      item_type: struct
      name: ap_info
      pos:
        line_end: 29
        line_start: 13
        source_file: /src/hostap/src/ap/ap_list.h
    typedefs: []
    union: []
- function_names:
  - wps_for_each
  - hostapd_wps_for_each
  - hostapd_wps_new_psk_cb
  - hostapd_wps_set_ie_cb
  - hostapd_wps_pin_needed_cb
  - wps_stop_registrar
  - hostapd_wps_reg_success_cb
  - hostapd_wps_enrollee_seen_cb
  - hostapd_wps_lookup_pskfile_cb
  - wps_reload_config
  - hostapd_wps_eap_completed
  - hapd_new_ap_event
  - hapd_wps_reconfig_in_memory
  - hapd_wps_cred_cb
  - hostapd_wps_cred_cb
  - hostapd_wps_reenable_ap_pin
  - wps_pwd_auth_fail
  - hostapd_pwd_auth_fail
  - wps_ap_pin_success
  - hostapd_wps_ap_pin_success
  - hostapd_wps_event_pbc_overlap
  - hostapd_wps_event_pbc_timeout
  - hostapd_wps_event_pbc_active
  - hostapd_wps_event_pbc_disable
  - hostapd_wps_event_success
  - hostapd_wps_event_fail
  - hostapd_wps_event_cb
  - hostapd_wps_rf_band_cb
  - hostapd_wps_clear_ies
  - get_uuid_cb
  - get_own_uuid
  - count_interface_cb
  - interface_count
  - hostapd_wps_set_vendor_ext
  - hostapd_wps_set_application_ext
  - hostapd_free_wps
  - hostapd_init_wps
  - hostapd_init_wps_complete
  - hostapd_wps_nfc_clear
  - hostapd_wps_update_multi_ap
  - hostapd_deinit_wps
  - hostapd_update_wps
  - wps_add_pin
  - hostapd_wps_add_pin
  - wps_button_pushed
  - hostapd_wps_button_pushed
  - wps_cancel
  - hostapd_wps_cancel
  - hostapd_wps_probe_req_rx
  - hostapd_rx_req_put_wlan_response
  - hostapd_wps_upnp_init
  - hostapd_wps_upnp_deinit
  - hostapd_wps_get_mib_sta
  - hostapd_wps_ap_pin_timeout
  - hostapd_wps_ap_pin_enable
  - wps_ap_pin_disable
  - hostapd_wps_ap_pin_disable
  - wps_ap_pin_set
  - hostapd_wps_ap_pin_random
  - hostapd_wps_ap_pin_get
  - hostapd_wps_ap_pin_set
  - wps_update_ie
  - hostapd_wps_update_ie
  - hostapd_wps_config_ap
  - wps_add_nfc_password_token
  - hostapd_wps_add_nfc_password_token
  - hostapd_wps_nfc_tag_process
  - hostapd_wps_nfc_tag_read
  - hostapd_wps_nfc_config_token
  - hostapd_wps_nfc_hs_cr
  - hostapd_wps_nfc_report_handover
  - hostapd_wps_nfc_token_gen
  - hostapd_wps_nfc_token_enable
  - hostapd_wps_nfc_token_disable
  source_file: /src/hostap/src/ap/wps_hostapd.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: (*func)(struct hostapd_data *h, void *ctx)
        type: int
      - name: '*ctx'
        type: void
      - name: '*calling_hapd'
        type: struct hostapd_data
      item_type: struct
      name: wps_for_each_data
      pos:
        line_end: 50
        line_start: 46
        source_file: /src/hostap/src/ap/wps_hostapd.c
    - fields:
      - name: '*current_hapd'
        type: struct hostapd_data
      - name: '*uuid_e'
        type: u8
      - name: '*dev_pw'
        type: u8
      - name: dev_pw_len
        type: size_t
      item_type: struct
      name: wps_stop_reg_data
      pos:
        line_end: 217
        line_start: 212
        source_file: /src/hostap/src/ap/wps_hostapd.c
    - fields:
      - name: '*addr'
        type: u8
      - name: '*uuid'
        type: u8
      - name: '*pin'
        type: u8
      - name: pin_len
        type: size_t
      - name: timeout
        type: int
      - name: added
        type: int
      item_type: struct
      name: wps_add_pin_data
      pos:
        line_end: 1523
        line_start: 1516
        source_file: /src/hostap/src/ap/wps_hostapd.c
    - fields:
      - name: '*p2p_dev_addr'
        type: u8
      - name: count
        type: unsigned int
      item_type: struct
      name: wps_button_pushed_ctx
      pos:
        line_end: 1571
        line_start: 1568
        source_file: /src/hostap/src/ap/wps_hostapd.c
    - fields:
      - name: count
        type: unsigned int
      item_type: struct
      name: wps_cancel_ctx
      pos:
        line_end: 1604
        line_start: 1602
        source_file: /src/hostap/src/ap/wps_hostapd.c
    - fields:
      - name: pin_txt[9]
        type: char
      - name: timeout
        type: int
      item_type: struct
      name: wps_ap_pin_data
      pos:
        line_end: 1854
        line_start: 1851
        source_file: /src/hostap/src/ap/wps_hostapd.c
    - fields:
      - name: '*oob_dev_pw'
        type: u8
      - name: oob_dev_pw_len
        type: size_t
      - name: added
        type: int
      item_type: struct
      name: wps_nfc_password_token_data
      pos:
        line_end: 1984
        line_start: 1980
        source_file: /src/hostap/src/ap/wps_hostapd.c
    typedefs: []
    union: []
- function_names:
  - hostapd_for_each_interface
  - hostapd_mbssid_get_tx_bss
  - hostapd_mbssid_get_bss_index
  - hostapd_reconfig_encryption
  - hostapd_reload_bss
  - hostapd_clear_old_bss
  - hostapd_clear_old
  - hostapd_iface_conf_changed
  - hostapd_remove_hapd_iface
  - hostapd_reload_config
  - hostapd_broadcast_key_clear_iface
  - hostapd_broadcast_wep_clear
  - hostapd_broadcast_wep_set
  - hostapd_link_remove_timeout_handler
  - hostapd_link_remove
  - hostapd_free_hapd_data
  - hostapd_mld_move_vlan_list
  - hostapd_bss_link_deinit
  - hostapd_cleanup
  - sta_track_deinit
  - hostapd_cleanup_iface_partial
  - hostapd_cleanup_iface
  - hostapd_clear_wep
  - hostapd_setup_encryption
  - hostapd_flush_old_stations
  - hostapd_bss_deinit_no_free
  - hostapd_validate_bssid_configuration
  - mac_in_conf
  - hostapd_das_nas_mismatch
  - hostapd_das_find_sta
  - hostapd_das_disconnect_pmksa
  - hostapd_das_disconnect
  - hostapd_das_coa
  - db_table_exists
  - db_table_create_radius_attributes
  - hostapd_start_beacon
  - hostapd_bss_radius_init
  - hostapd_setup_bss
  - hostapd_tx_queue_params
  - hostapd_set_acl_list
  - hostapd_set_acl
  - hostapd_set_ctrl_sock_iface
  - start_ctrl_iface_bss
  - start_ctrl_iface
  - hostapd_no_ir_cleanup
  - hostapd_no_ir_channel_list_updated
  - channel_list_update_timeout
  - hostapd_channel_list_updated
  - setup_interface
  - configured_fixed_chan_to_freq
  - hostapd_set_6ghz_sec_chan
  - setup_interface2
  - fst_hostapd_get_bssid_cb
  - fst_hostapd_get_channel_info_cb
  - fst_hostapd_get_hw_modes_cb
  - fst_hostapd_set_ies_cb
  - fst_hostapd_send_action_cb
  - fst_hostapd_get_mb_ie_cb
  - fst_hostapd_update_mb_ie_cb
  - fst_hostapd_get_sta
  - fst_hostapd_get_peer_first
  - fst_hostapd_get_peer_next
  - fst_hostapd_fill_iface_obj
  - hostapd_owe_iface_iter
  - hostapd_owe_trans_get_info
  - hostapd_owe_iface_iter2
  - hostapd_owe_update_trans
  - hostapd_interface_setup_failure_handler
  - hostapd_setup_interface_complete_sync
  - hostapd_setup_interface_complete
  - hostapd_setup_interface
  - hostapd_alloc_bss_data
  - hostapd_bss_deinit
  - hostapd_interface_deinit
  - hostapd_mld_ref_inc
  - hostapd_mld_ref_dec
  - hostapd_interface_free
  - hostapd_alloc_iface
  - hostapd_bss_alloc_link_id
  - hostapd_bss_setup_multi_link
  - hostapd_cleanup_unused_mlds
  - hostapd_init
  - ifname_in_use
  - hostapd_interface_init_bss
  - hostapd_cleanup_driver
  - hostapd_interface_deinit_free
  - hostapd_deinit_driver
  - hostapd_refresh_all_iface_beacons
  - hostapd_enable_iface
  - hostapd_reload_iface
  - hostapd_reload_bss_only
  - hostapd_disable_iface
  - hostapd_iface_alloc
  - hostapd_config_alloc
  - hostapd_data_alloc
  - hostapd_add_iface
  - hostapd_remove_bss
  - hostapd_remove_iface
  - hostapd_new_assoc_sta
  - for_each_mld_link
  - hostapd_state_text
  - hostapd_set_state
  - hostapd_csa_in_progress
  - free_beacon_data
  - hostapd_build_beacon_data
  - hostapd_change_config_freq
  - hostapd_chan_width_from_freq_params
  - hostapd_fill_csa_settings
  - hostapd_cleanup_cs_params
  - hostapd_chan_switch_config
  - hostapd_switch_channel
  - hostapd_force_channel_switch
  - hostapd_switch_channel_fallback
  - hostapd_cleanup_cca_params
  - hostapd_fill_cca_settings
  - hostapd_switch_color_timeout_handler
  - hostapd_is_cca_in_progress
  - hostapd_switch_color
  - hostapd_get_iface
  - hostapd_periodic_iface
  - hostapd_ocv_check_csa_sa_query
  - hostapd_mld_get_link_bss
  - hostapd_is_ml_partner
  - hostapd_get_mld_id
  - hostapd_mld_add_link
  - hostapd_mld_remove_link
  - hostapd_mld_is_first_bss
  - hostapd_mld_get_first_bss
  - hostapd_mld_interface_freed
  - hostapd_get_active_links
  - for_each_mld_link
  - hostapd_get_punct_bitmap
  - hostapd_get_mbssid_bss_by_idx
  - hostapd_acceptable_sta_addr_bss
  - hostapd_acceptable_sta_addr_iface
  - hostapd_acceptable_sta_addr
  - hostapd_get_oper_chan_info_of_bss
  - hostapd_get_oper_chan_width_of_bss
  - hostapd_get_oper_class_of_bss
  source_file: /src/hostap/src/ap/hostapd.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: hostapd_das_coa
      pos:
        line_end: 1317
        line_start: 1316
        source_file: /src/hostap/src/ap/hostapd.c
      type_or_value: 'NULL'
    structs:
    - fields:
      - name: '*addr'
        type: u8
      - name: '*addr_ml'
        type: u8
      - name: mld
        type: bool
      item_type: struct
      name: hostapd_acceptable_sta_add_ctx
      pos:
        line_end: 5483
        line_start: 5479
        source_file: /src/hostap/src/ap/hostapd.c
    typedefs: []
    union: []
- function_names:
  - hostapd_free_hw_features
  - hostapd_get_hw_features
  - hostapd_csa_update_hwmode
  - hostapd_acs_completed
  - hostapd_select_hw_mode
  - hostapd_hw_mode_txt
  - hostapd_hw_get_freq
  - hostapd_check_ht_capab
  - hostapd_check_edmg_capab
  - hostapd_prepare_rates
  - hostapd_stop_setup_timers
  - hostapd_hw_skip_mode
  - hostapd_check_he_6ghz_capab
  - hostapd_determine_mode
  - hostapd_free_multi_hw_info
  - hostapd_set_current_hw_info
  - hostapd_is_usable_chans
  source_file: /src/hostap/src/ap/hw_features.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ap_list_beacon_olbc
  - ap_get_ap
  - ap_ap_list_add
  - ap_ap_list_del
  - ap_ap_hash_add
  - ap_ap_hash_del
  - ap_free_ap
  - hostapd_free_aps
  - ap_ap_add
  - ap_list_process_beacon
  - ap_list_timer
  - ap_list_init
  - ap_list_deinit
  source_file: /src/hostap/src/ap/ap_list.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - hostapd_lci_rep_timeout_handler
  - hostapd_handle_lci_report
  - hostapd_range_rep_timeout_handler
  - hostapd_handle_range_report
  - hostapd_handle_beacon_report
  - hostapd_handle_radio_msmt_report
  - hostapd_parse_location_lci_req_age
  - hostapd_check_lci_age
  - hostapd_neighbor_report_len
  - hostapd_send_nei_report_resp
  - hostapd_handle_nei_report_req
  - hostapd_link_mesr_rep_timeout_handler
  - hostapd_handle_link_mesr_report
  - hostapd_handle_radio_measurement
  - hostapd_send_lci_req
  - hostapd_send_range_req
  - hostapd_clean_rrm
  - hostapd_send_beacon_req
  - hostapd_rrm_beacon_req_tx_status
  - hostapd_send_link_measurement_req
  source_file: /src/hostap/src/ap/rrm.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HOSTAPD_RRM_REQUEST_TIMEOUT
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/hostap/src/ap/rrm.c
      type_or_value: '5'
    structs: []
    typedefs: []
    union: []
- function_names:
  - comeback_token_hash
  - check_comeback_token
  - auth_build_token_req
  source_file: /src/hostap/src/ap/comeback_token.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mode_for_vht_capab
  - hostapd_eid_vht_capabilities
  - hostapd_eid_vht_operation
  - check_valid_vht_mcs
  - copy_sta_vht_capab
  - copy_sta_vht_oper
  - copy_sta_vendor_vht
  - hostapd_eid_vendor_vht
  - set_sta_vht_opmode
  - hostapd_get_vht_capab
  source_file: /src/hostap/src/ap/ieee802_11_vht.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/ap/gas_serv.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ANQP_REQ_CAPABILITY_LIST
      pos:
        line_end: 14
        line_start: 12
        source_file: /src/hostap/src/ap/gas_serv.h
      type_or_value: (1 << (ANQP_CAPABILITY_LIST - ANQP_QUERY_LIST))
    - item_type: preproc_def
      name: ANQP_REQ_VENUE_NAME
      pos:
        line_end: 16
        line_start: 14
        source_file: /src/hostap/src/ap/gas_serv.h
      type_or_value: (1 << (ANQP_VENUE_NAME - ANQP_QUERY_LIST))
    - item_type: preproc_def
      name: ANQP_REQ_EMERGENCY_CALL_NUMBER
      pos:
        line_end: 18
        line_start: 16
        source_file: /src/hostap/src/ap/gas_serv.h
      type_or_value: (1 << (ANQP_EMERGENCY_CALL_NUMBER - ANQP_QUERY_LIST))
    - item_type: preproc_def
      name: ANQP_REQ_NETWORK_AUTH_TYPE
      pos:
        line_end: 20
        line_start: 18
        source_file: /src/hostap/src/ap/gas_serv.h
      type_or_value: (1 << (ANQP_NETWORK_AUTH_TYPE - ANQP_QUERY_LIST))
    - item_type: preproc_def
      name: ANQP_REQ_ROAMING_CONSORTIUM
      pos:
        line_end: 22
        line_start: 20
        source_file: /src/hostap/src/ap/gas_serv.h
      type_or_value: (1 << (ANQP_ROAMING_CONSORTIUM - ANQP_QUERY_LIST))
    - item_type: preproc_def
      name: ANQP_REQ_IP_ADDR_TYPE_AVAILABILITY
      pos:
        line_end: 24
        line_start: 22
        source_file: /src/hostap/src/ap/gas_serv.h
      type_or_value: (1 << (ANQP_IP_ADDR_TYPE_AVAILABILITY - ANQP_QUERY_LIST))
    - item_type: preproc_def
      name: ANQP_REQ_NAI_REALM
      pos:
        line_end: 26
        line_start: 24
        source_file: /src/hostap/src/ap/gas_serv.h
      type_or_value: (1 << (ANQP_NAI_REALM - ANQP_QUERY_LIST))
    - item_type: preproc_def
      name: ANQP_REQ_3GPP_CELLULAR_NETWORK
      pos:
        line_end: 28
        line_start: 26
        source_file: /src/hostap/src/ap/gas_serv.h
      type_or_value: (1 << (ANQP_3GPP_CELLULAR_NETWORK - ANQP_QUERY_LIST))
    - item_type: preproc_def
      name: ANQP_REQ_AP_GEOSPATIAL_LOCATION
      pos:
        line_end: 30
        line_start: 28
        source_file: /src/hostap/src/ap/gas_serv.h
      type_or_value: (1 << (ANQP_AP_GEOSPATIAL_LOCATION - ANQP_QUERY_LIST))
    - item_type: preproc_def
      name: ANQP_REQ_AP_CIVIC_LOCATION
      pos:
        line_end: 32
        line_start: 30
        source_file: /src/hostap/src/ap/gas_serv.h
      type_or_value: (1 << (ANQP_AP_CIVIC_LOCATION - ANQP_QUERY_LIST))
    - item_type: preproc_def
      name: ANQP_REQ_AP_LOCATION_PUBLIC_URI
      pos:
        line_end: 34
        line_start: 32
        source_file: /src/hostap/src/ap/gas_serv.h
      type_or_value: (1 << (ANQP_AP_LOCATION_PUBLIC_URI - ANQP_QUERY_LIST))
    - item_type: preproc_def
      name: ANQP_REQ_DOMAIN_NAME
      pos:
        line_end: 36
        line_start: 34
        source_file: /src/hostap/src/ap/gas_serv.h
      type_or_value: (1 << (ANQP_DOMAIN_NAME - ANQP_QUERY_LIST))
    - item_type: preproc_def
      name: ANQP_REQ_EMERGENCY_ALERT_URI
      pos:
        line_end: 38
        line_start: 36
        source_file: /src/hostap/src/ap/gas_serv.h
      type_or_value: (1 << (ANQP_EMERGENCY_ALERT_URI - ANQP_QUERY_LIST))
    - item_type: preproc_def
      name: ANQP_REQ_TDLS_CAPABILITY
      pos:
        line_end: 40
        line_start: 38
        source_file: /src/hostap/src/ap/gas_serv.h
      type_or_value: (1 << (ANQP_TDLS_CAPABILITY - ANQP_QUERY_LIST))
    - item_type: preproc_def
      name: ANQP_REQ_EMERGENCY_NAI
      pos:
        line_end: 42
        line_start: 40
        source_file: /src/hostap/src/ap/gas_serv.h
      type_or_value: (1 << (ANQP_EMERGENCY_NAI - ANQP_QUERY_LIST))
    - item_type: preproc_def
      name: ANQP_REQ_HS_CAPABILITY_LIST
      pos:
        line_end: 48
        line_start: 46
        source_file: /src/hostap/src/ap/gas_serv.h
      type_or_value: (0x10000 << HS20_STYPE_CAPABILITY_LIST)
    - item_type: preproc_def
      name: ANQP_REQ_OPERATOR_FRIENDLY_NAME
      pos:
        line_end: 50
        line_start: 48
        source_file: /src/hostap/src/ap/gas_serv.h
      type_or_value: (0x10000 << HS20_STYPE_OPERATOR_FRIENDLY_NAME)
    - item_type: preproc_def
      name: ANQP_REQ_WAN_METRICS
      pos:
        line_end: 52
        line_start: 50
        source_file: /src/hostap/src/ap/gas_serv.h
      type_or_value: (0x10000 << HS20_STYPE_WAN_METRICS)
    - item_type: preproc_def
      name: ANQP_REQ_CONNECTION_CAPABILITY
      pos:
        line_end: 54
        line_start: 52
        source_file: /src/hostap/src/ap/gas_serv.h
      type_or_value: (0x10000 << HS20_STYPE_CONNECTION_CAPABILITY)
    - item_type: preproc_def
      name: ANQP_REQ_NAI_HOME_REALM
      pos:
        line_end: 56
        line_start: 54
        source_file: /src/hostap/src/ap/gas_serv.h
      type_or_value: (0x10000 << HS20_STYPE_NAI_HOME_REALM_QUERY)
    - item_type: preproc_def
      name: ANQP_REQ_OPERATING_CLASS
      pos:
        line_end: 58
        line_start: 56
        source_file: /src/hostap/src/ap/gas_serv.h
      type_or_value: (0x10000 << HS20_STYPE_OPERATING_CLASS)
    - item_type: preproc_def
      name: ANQP_REQ_OSU_PROVIDERS_LIST
      pos:
        line_end: 60
        line_start: 58
        source_file: /src/hostap/src/ap/gas_serv.h
      type_or_value: (0x10000 << HS20_STYPE_OSU_PROVIDERS_LIST)
    - item_type: preproc_def
      name: ANQP_REQ_ICON_REQUEST
      pos:
        line_end: 62
        line_start: 60
        source_file: /src/hostap/src/ap/gas_serv.h
      type_or_value: (0x10000 << HS20_STYPE_ICON_REQUEST)
    - item_type: preproc_def
      name: ANQP_REQ_OPERATOR_ICON_METADATA
      pos:
        line_end: 64
        line_start: 62
        source_file: /src/hostap/src/ap/gas_serv.h
      type_or_value: (0x10000 << HS20_STYPE_OPERATOR_ICON_METADATA)
    - item_type: preproc_def
      name: ANQP_REQ_OSU_PROVIDERS_NAI_LIST
      pos:
        line_end: 66
        line_start: 64
        source_file: /src/hostap/src/ap/gas_serv.h
      type_or_value: (0x10000 << HS20_STYPE_OSU_PROVIDERS_NAI_LIST)
    - item_type: preproc_def
      name: ANQP_REQ_MBO_CELL_DATA_CONN_PREF
      pos:
        line_end: 69
        line_start: 67
        source_file: /src/hostap/src/ap/gas_serv.h
      type_or_value: (BIT(29) << MBO_ANQP_SUBTYPE_CELL_CONN_PREF)
    - item_type: preproc_def
      name: GAS_DIALOG_MAX
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/hostap/src/ap/gas_serv.h
      type_or_value: '8 '
    structs:
    - fields:
      - name: valid
        type: u8
      - name: '*sd_resp'
        type: struct wpabuf
      - name: dialog_token
        type: u8
      - name: sd_resp_pos
        type: size_t
      - name: sd_frag_id
        type: u8
      - name: prot
        type: int
      - name: dpp
        type: int
      item_type: struct
      name: gas_dialog_info
      pos:
        line_end: 80
        line_start: 72
        source_file: /src/hostap/src/ap/gas_serv.h
    - fields:
      - name: list
        type: struct dl_list
      - name: addr[ETH_ALEN]
        type: u8
      - name: gas_dialog_next
        type: u8
      - name: gas_dialog[GAS_DIALOG_MAX]
        type: struct gas_dialog_info
      item_type: struct
      name: gas_peer
      pos:
        line_end: 87
        line_start: 82
        source_file: /src/hostap/src/ap/gas_serv.h
    typedefs: []
    union: []
- function_names:
  - acs_init
  - acs_cleanup
  source_file: /src/hostap/src/ap/acs.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ACS_SCAN_RETRY_MAX_COUNT
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/hostap/src/ap/acs.h
      type_or_value: '15'
    - item_type: preproc_def
      name: ACS_SCAN_RETRY_INTERVAL
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/hostap/src/ap/acs.h
      type_or_value: '5'
    structs: []
    typedefs: []
    union: []
- function_names:
  - vlan_rem
  - vlan_add
  - vlan_set_name_type
  source_file: /src/hostap/src/ap/vlan_ioctl.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - hostapd_eid_multi_ap
  - hostapd_supp_rates
  - hostapd_eid_supp_rates
  - hostapd_eid_ext_supp_rates
  - hostapd_eid_rm_enabled_capab
  - hostapd_own_capab_info
  - auth_shared_key
  - send_auth_reply
  - send_8021x_auth_reply
  - handle_auth_ft_finish
  - sae_set_state
  - in_mac_addr_list
  - sae_password_find_pw
  - is_other_sae_password
  - has_sae_success_seen
  - sae_password_mark_success
  - sae_password_track_success
  - sae_password_track_fail
  - sae_password_bind
  - sae_get_password
  - auth_build_sae_commit
  - auth_build_sae_confirm
  - auth_sae_send_commit
  - auth_sae_send_confirm
  - use_anti_clogging
  - sae_check_big_sync
  - sae_proto_instance_disabled
  - auth_sae_retransmit_timer
  - sae_clear_retransmit_timer
  - sae_set_retransmit_timer
  - sae_sme_send_external_auth_status
  - sae_assign_vlan
  - sae_accept_sta
  - sae_sm_step
  - sae_pick_next_group
  - sae_status_success
  - sae_is_group_enabled
  - check_sae_rejected_groups
  - handle_auth_sae
  - auth_sae_init_committed
  - auth_sae_process_commit
  - auth_sae_queue
  - auth_sae_queued_addr
  - wpa_res_to_status_code
  - prepare_802_1x_auth_resp
  - wpa_auth_validate_802_1x_frame
  - ieee80211_send_eap_req
  - handle_auth_802_1x
  - handle_auth_fils
  - prepare_auth_resp_fils
  - handle_auth_fils_finish
  - ieee802_11_finish_fils_auth
  - ieee802_11_allowed_address
  - ieee802_11_set_radius_info
  - pasn_fils_auth_resp
  - pasn_wd_handle_fils
  - hapd_pasn_send_mlme
  - pmksa_cache_search
  - for_each_mld_link
  - eppke_set_key
  - hapd_pasn_get_pt_for_pw_id
  - hapd_initialize_pasn
  - pasn_set_keys_from_cache
  - hapd_pasn_update_params
  - handle_auth_pasn
  - handle_auth
  - hostapd_max_bssid_indicator
  - hostapd_get_aid_word
  - hostapd_get_aid
  - check_ssid
  - check_wmm
  - check_multi_ap
  - copy_supp_rates
  - owe_group_supported
  - owe_process_assoc_req
  - owe_validate_request
  - owe_process_rsn_ie
  - hapd_is_known_sta
  - check_sa_query
  - __check_assoc_ies
  - check_assoc_ies
  - ieee80211_ml_build_assoc_resp
  - ieee80211_ml_process_link
  - hostapd_is_multiple_link_mld
  - for_each_mld_link
  - hostapd_process_assoc_ml_info
  - for_each_mld_link
  - send_deauth
  - add_associated_sta
  - send_assoc_resp
  - owe_assoc_req_process
  - fils_hlp_finish_assoc
  - fils_hlp_timeout
  - handle_mlo_translate
  - handle_assoc
  - hostapd_deauth_sta
  - hostapd_disassoc_sta
  - hostapd_ml_handle_disconnect
  - for_each_mld_link
  - handle_disassoc
  - handle_deauth
  - handle_beacon
  - hostapd_dscp_action
  - hostapd_action_vs
  - robust_action_frame
  - handle_action
  - notify_mgmt_frame
  - handle_auth_cb
  - hostapd_set_wds_encryption
  - ieee80211_ml_link_sta_assoc_cb
  - hostapd_ml_handle_assoc_cb
  - for_each_mld_link
  - for_each_mld_link
  - handle_deauth_cb
  - handle_disassoc_cb
  - handle_action_cb
  - ieee802_11_mgmt_cb
  - ieee802_11_get_mib
  - ieee802_11_get_mib_sta
  - hostapd_tx_status
  - hostapd_client_poll_ok
  - ieee802_11_rx_from_unknown
  - hostapd_add_tpe_info
  - hostapd_eid_txpower_envelope
  - hostapd_eid_wb_channel_switch
  - hostapd_eid_bw_indication
  - hostapd_eid_chsw_wrapper
  - hostapd_eid_nr_db_len
  - hostapd_mbssid_mld_match
  - hostapd_skip_rnr
  - hostapd_rnr_get_bss_info
  - hostapd_eid_rnr_iface_len
  - get_colocation_mode
  - hostapd_eid_rnr_colocation_len
  - hostapd_eid_rnr_mlo_len
  - hostapd_eid_rnr_len
  - hostapd_eid_nr_db
  - hostapd_eid_rnr_bss
  - hostapd_eid_rnr_iface
  - hostapd_eid_rnr_colocation
  - hostapd_eid_rnr_mlo
  - hostapd_eid_rnr
  - mbssid_known_bss
  - hostapd_mbssid_ext_capa
  - hostapd_eid_mbssid_elem_len
  - hostapd_eid_mbssid_len
  - hostapd_eid_mbssid_elem
  - hostapd_eid_mbssid
  source_file: /src/hostap/src/ap/ieee802_11.c
  types:
    enum:
    - enumerators:
      - name: NO_COLOCATED_6GHZ
      - name: COLOCATED_LOWER_BAND
      - name: COLOCATED_6GHZ
      - name: STANDALONE_6GHZ
      item_type: enum
      name: colocation_mode
      pos:
        line_end: 9959
        line_start: 9954
        source_file: /src/hostap/src/ap/ieee802_11.c
    preproc_defs:
    - item_type: preproc_def
      name: eppke_set_key
      pos:
        line_end: 3765
        line_start: 3764
        source_file: /src/hostap/src/ap/ieee802_11.c
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: REG_PSD_MAX_TXPOWER_FOR_DEFAULT_CLIENT
      pos:
        line_end: 9289
        line_start: 9288
        source_file: /src/hostap/src/ap/ieee802_11.c
      type_or_value: '(-1) '
    - item_type: preproc_def
      name: REG_PSD_MAX_TXPOWER_FOR_SUBORDINATE_CLIENT
      pos:
        line_end: 9290
        line_start: 9289
        source_file: /src/hostap/src/ap/ieee802_11.c
      type_or_value: '5    '
    structs:
    - fields:
      - name: start
        type: u8
      - name: end
        type: u8
      item_type: struct
      name: mbssid_ie_profiles
      pos:
        line_end: 9715
        line_start: 9712
        source_file: /src/hostap/src/ap/ieee802_11.c
    typedefs: []
    union: []
- function_names:
  - vlan_compare
  source_file: /src/hostap/src/ap/vlan.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_NUM_TAGGED_VLAN
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/hostap/src/ap/vlan.h
      type_or_value: '32'
    structs:
    - fields:
      - name: notempty
        type: int
      - name: untagged
        type: int
      - name: tagged[MAX_NUM_TAGGED_VLAN]
        type: int
      item_type: struct
      name: vlan_description
      pos:
        line_end: 17
        line_start: 13
        source_file: /src/hostap/src/ap/vlan.h
    typedefs: []
    union: []
- function_names:
  - no_mischief_strncpy
  - get_wps_name
  - ie_to_string
  - retrieve_sta_taxonomy
  - taxonomy_sta_info_probe_req
  - taxonomy_hostapd_sta_info_probe_req
  - taxonomy_sta_info_assoc_req
  source_file: /src/hostap/src/ap/taxonomy.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_EXTCAP
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/hostap/src/ap/taxonomy.c
      type_or_value: '254'
    - item_type: preproc_def
      name: WPS_NAME_LEN
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/hostap/src/ap/taxonomy.c
      type_or_value: '32'
    structs: []
    typedefs: []
    union: []
- function_names:
  - is_chan_disabled
  - chan_range_available
  - is_in_chanlist
  - get_center_freq_6g
  - is_interference_in_chanlist
  - get_allowed_channel_array
  - intf_find_channel_list
  - downgrade_bandwidth
  - hostapd_incumbt_sig_intf_detected
  source_file: /src/hostap/src/ap/interference.c
  types:
    enum:
    - enumerators:
      - name: SEG_PRI20
        value: '0x1'
      - name: SEG_SEC40
        value: '0xC'
      - name: SEG_SEC80_UP
        value: '0x80'
      - name: SEG_SEC160_LOW_UP_UP
        value: '0x0400'
      - name: SEG_SEC160_UP_LOW
        value: '0x4000'
      - name: SEG_SEC20
        value: '0x2'
      - name: SEG_SEC80_LOW
        value: '0x10'
      - name: SEG_SEC80
        value: '0xF0'
      - name: SEG_SEC160_LOW_UP_UP_UP
        value: '0x0800'
      - name: SEG_SEC160_UP
        value: '0x8000'
      - name: SEG_SEC40_LOW
        value: '0x4'
      - name: SEG_SEC80_LOW_UP
        value: '0x20'
      - name: SEG_SEC160_LOW
        value: '0x0100'
      - name: SEG_SEC160_UP_LOW_LOW_LOW
        value: '0x1000'
      - name: SEG_SEC160
        value: '0xFF00'
      - name: SEG_SEC40_UP
        value: '0x8'
      - name: SEG_SEC80_UP_LOW
        value: '0x40'
      - name: SEG_SEC160_LOW_UP
        value: '0x0200'
      - name: SEG_SEC160_UP_LOW_LOW
        value: '0x2000'
      item_type: enum
      name: chan_seg
      pos:
        line_end: 42
        line_start: 22
        source_file: /src/hostap/src/ap/interference.c
    preproc_defs:
    - item_type: preproc_def
      name: BASE_6GHZ_FREQ
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/hostap/src/ap/interference.c
      type_or_value: '5950'
    - item_type: preproc_def
      name: BASE_6GHZ_CH2_FREQ
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/hostap/src/ap/interference.c
      type_or_value: '5935'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ifconfig_helper
  - ifconfig_up
  - iface_exists
  source_file: /src/hostap/src/ap/vlan_ifconfig.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - get_bss_load_update_timeout
  - update_channel_utilization
  - bss_load_update_init
  - bss_load_update_deinit
  source_file: /src/hostap/src/ap/bss_load.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - airtime_policy_new_sta
  - airtime_policy_update_init
  - airtime_policy_update_deinit
  source_file: /src/hostap/src/ap/airtime_policy.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: AIRTIME_DEFAULT_UPDATE_INTERVAL
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/hostap/src/ap/airtime_policy.h
      type_or_value: '200 '
    - item_type: preproc_def
      name: AIRTIME_BACKLOG_EXPIRY_FACTOR
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/hostap/src/ap/airtime_policy.h
      type_or_value: '2500 '
    - item_type: preproc_def
      name: AIRTIME_QUANTUM_MIN
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/hostap/src/ap/airtime_policy.h
      type_or_value: '8 '
    - item_type: preproc_def
      name: AIRTIME_QUANTUM_MAX
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/hostap/src/ap/airtime_policy.h
      type_or_value: '256 '
    - item_type: preproc_def
      name: AIRTIME_QUANTUM_TARGET
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/hostap/src/ap/airtime_policy.h
      type_or_value: '1024 '
    structs: []
    typedefs: []
    union: []
- function_names:
  - accounting_msg
  - accounting_sta_update_stats
  - accounting_interim_update
  - accounting_sta_start
  - accounting_sta_report
  - accounting_sta_interim
  - accounting_sta_stop
  - accounting_sta_get_id
  - accounting_receive
  - accounting_report_state
  - accounting_interim_error_cb
  - accounting_init
  - accounting_deinit
  source_file: /src/hostap/src/ap/accounting.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ACCT_DEFAULT_UPDATE_INTERVAL
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/hostap/src/ap/accounting.c
      type_or_value: '300'
    structs: []
    typedefs: []
    union: []
- function_names:
  - hostapd_nan_de_tx
  - hostapd_nan_de_listen
  - hostapd_nan_de_discovery_result
  - hostapd_nan_de_replied
  - nan_reason_txt
  - hostapd_nan_de_publish_terminated
  - hostapd_nan_de_subscribe_terminated
  - hostapd_nan_de_receive
  - hostapd_nan_usd_init
  - hostapd_nan_usd_deinit
  - hostapd_nan_usd_rx_sdf
  - hostapd_nan_usd_flush
  - hostapd_nan_usd_publish
  - hostapd_nan_usd_cancel_publish
  - hostapd_nan_usd_update_publish
  - hostapd_nan_usd_subscribe
  - hostapd_nan_usd_cancel_subscribe
  - hostapd_nan_usd_transmit
  source_file: /src/hostap/src/ap/nan_usd_ap.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - hostapd_dpp_qr_code
  - hostapd_dpp_nfc_uri
  - hostapd_dpp_nfc_handover_req
  - hostapd_dpp_nfc_handover_sel
  - hostapd_dpp_auth_resp_retry_timeout
  - hostapd_dpp_auth_resp_retry
  - hostapd_dpp_allow_ir
  - hostapd_dpp_pkex_next_channel
  - hostapd_dpp_pkex_clear_code
  - hostapd_dpp_pkex_done
  - hostapd_dpp_pkex_init
  - hostapd_dpp_pkex_retry_timeout
  - hostapd_dpp_pkex_tx_status
  - hostapd_dpp_tx_status
  - hostapd_dpp_reply_wait_timeout
  - hostapd_dpp_auth_conf_wait_timeout
  - hostapd_dpp_set_testing_options
  - hostapd_dpp_init_timeout
  - hostapd_dpp_auth_init_next
  - hostapd_dpp_process_conf_obj
  - hostapd_dpp_auth_init
  - hostapd_dpp_listen
  - hostapd_dpp_listen_stop
  - hostapd_dpp_relay_needs_controller
  - hostapd_dpp_rx_auth_req
  - hostapd_dpp_handle_config_obj
  - hostapd_dpp_handle_key_pkg
  - hostapd_dpp_build_new_key
  - hostapd_dpp_gas_resp_cb
  - hostapd_dpp_start_gas_client
  - hostapd_gas_req_wait
  - hostapd_dpp_auth_success
  - hostapd_dpp_rx_auth_resp
  - hostapd_dpp_rx_auth_conf
  - hostapd_dpp_config_result_wait_timeout
  - hostapd_dpp_conn_status_result_wait_timeout
  - hostapd_dpp_pb_active
  - hostapd_dpp_remove_pb_hash
  - hostapd_dpp_rx_conf_result
  - hostapd_dpp_rx_conn_status_result
  - hostapd_dpp_rx_presence_announcement
  - hostapd_dpp_reconfig_reply_wait_timeout
  - hostapd_dpp_rx_reconfig_announcement
  - hostapd_dpp_rx_reconfig_auth_resp
  - hapd_dpp_connector_available
  - hostapd_dpp_rx_peer_disc_req
  - hostapd_dpp_rx_pkex_exchange_req
  - hostapd_dpp_rx_pkex_exchange_resp
  - hostapd_dpp_rx_pkex_commit_reveal_req
  - hostapd_dpp_rx_pkex_commit_reveal_resp
  - hostapd_dpp_pb_pkex_init
  - hostapd_dpp_rx_pb_presence_announcement
  - hostapd_dpp_rx_priv_peer_intro_query
  - hostapd_dpp_rx_priv_peer_intro_update
  - hostapd_dpp_rx_action
  - hostapd_dpp_gas_req_handler
  - hostapd_dpp_gas_status_handler
  - hostapd_dpp_configurator_sign
  - hostapd_dpp_pkex_add
  - hostapd_dpp_pkex_remove
  - hostapd_dpp_stop
  - hostapd_dpp_relay_tx
  - hostapd_dpp_relay_gas_resp_tx
  - hostapd_dpp_add_controllers
  - hostapd_dpp_add_controller
  - hostapd_dpp_remove_controller
  - hostapd_dpp_init
  - hostapd_dpp_deinit
  - hostapd_dpp_controller_start
  - hostapd_dpp_chirp_timeout
  - hostapd_dpp_chirp_start
  - dpp_get_mode
  - hostapd_dpp_chirp_scan_res_handler
  - hostapd_dpp_chirp_next
  - hostapd_dpp_chirp
  - hostapd_dpp_chirp_stop
  - handle_dpp_remove_bi
  - hostapd_dpp_remove_bi
  - hostapd_dpp_push_button_expire
  - hostapd_dpp_push_button
  - hostapd_dpp_push_button_stop
  - hostapd_dpp_configurator_connectivity
  source_file: /src/hostap/src/ap/dpp_hostapd.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ip_checksum
  - fils_dhcp_request
  - fils_dhcp_handler
  - fils_process_hlp_dhcp
  - fils_process_hlp_udp
  - fils_process_hlp_ip
  - fils_process_hlp_req
  - fils_process_hlp
  - fils_hlp_deinit
  source_file: /src/hostap/src/ap/fils_hlp.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - hostapd_p2p_get_mib_sta
  source_file: /src/hostap/src/ap/p2p_hostapd.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - accounting_sta_get_id
  - accounting_sta_start
  - accounting_sta_stop
  - accounting_init
  - accounting_deinit
  source_file: /src/hostap/src/ap/accounting.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ieee80211_he_ppet_size
  - ieee80211_he_mcs_set_size
  - ieee80211_invalid_he_cap_size
  - hostapd_eid_he_capab
  - hostapd_eid_he_operation
  - hostapd_eid_he_mu_edca_parameter_set
  - hostapd_eid_spatial_reuse
  - hostapd_eid_he_6ghz_band_cap
  - hostapd_get_he_capab
  - check_valid_he_mcs
  - copy_sta_he_capab
  - copy_sta_he_6ghz_capab
  - hostapd_get_he_twt_responder
  - hostapd_eid_cca
  source_file: /src/hostap/src/ap/ieee802_11_he.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - hostapd_drv_send_action_cancel_wait
  - hostapd_drv_set_countermeasures
  - hostapd_drv_set_sta_vlan
  - hostapd_drv_get_inact_sec
  - hostapd_drv_sta_remove
  - hostapd_drv_hapd_send_eapol
  - hostapd_drv_read_sta_data
  - hostapd_drv_sta_clear_stats
  - hostapd_drv_set_acl
  - hostapd_drv_set_ap
  - hostapd_drv_set_radius_acl_auth
  - hostapd_drv_set_radius_acl_expire
  - hostapd_drv_poll_client
  - hostapd_drv_get_survey
  - hostapd_get_country
  - hostapd_drv_get_radio_name
  - hostapd_drv_switch_channel
  - hostapd_drv_switch_color
  - hostapd_drv_status
  - hostapd_drv_br_add_ip_neigh
  - hostapd_drv_br_delete_ip_neigh
  - hostapd_drv_br_port_set_attr
  - hostapd_drv_br_set_net_param
  - hostapd_drv_vendor_cmd
  - hostapd_drv_stop_ap
  - hostapd_drv_channel_info
  - hostapd_drv_send_external_auth_status
  - hostapd_drv_set_band
  - hostapd_drv_driver_cmd
  - hostapd_drv_register_frame
  - hostapd_drv_link_add
  - hostapd_drv_link_sta_remove
  source_file: /src/hostap/src/ap/ap_drv_ops.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/ap/gas_query_ap.h
  types:
    enum:
    - enumerators:
      - name: GAS_QUERY_AP_SUCCESS
      - name: GAS_QUERY_AP_FAILURE
      - name: GAS_QUERY_AP_TIMEOUT
      - name: GAS_QUERY_AP_INTERNAL_ERROR
      - name: GAS_QUERY_AP_PEER_ERROR
      - name: GAS_QUERY_AP_DELETED_AT_DEINIT
      item_type: enum
      name: gas_query_ap_result
      pos:
        line_end: 30
        line_start: 23
        source_file: /src/hostap/src/ap/gas_query_ap.h
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/ap/neighbor_db.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/ap/beacon.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ieee802_11_get_mib
  - ieee802_11_get_mib_sta
  - sae_clear_retransmit_timer
  - hostapd_eid_mbo
  - hostapd_mbo_ie_len
  source_file: /src/hostap/src/ap/ieee802_11.h
  types:
    enum:
    - enumerators:
      - name: LINK_PARSE_ASSOC
      - name: LINK_PARSE_RECONF
      - name: LINK_PARSE_REASSOC
      item_type: enum
      name: link_parse_type
      pos:
        line_end: 35
        line_start: 31
        source_file: /src/hostap/src/ap/ieee802_11.h
    preproc_defs:
    - item_type: preproc_def
      name: LINK_RECONF_GROUP_KDE_MAX_LEN
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/hostap/src/ap/ieee802_11.h
      type_or_value: '255'
    structs:
    - fields:
      - name: list
        type: struct dl_list
      - name: status
        type: u16
      - name: link_id
        type: u8
      - name: local_addr[ETH_ALEN]
        type: u8
      - name: peer_addr[ETH_ALEN]
        type: u8
      - name: sta_prof_len
        type: size_t
      - name: sta_prof[]
        type: u8
      item_type: struct
      name: link_reconf_req_info
      pos:
        line_end: 47
        line_start: 39
        source_file: /src/hostap/src/ap/ieee802_11.h
    - fields:
      - name: sta_mld_addr[ETH_ALEN]
        type: u8
      - name: dialog_token
        type: u8
      - name: links_add_ok
        type: u16
      - name: links_del_ok
        type: u16
      - name: new_valid_links
        type: u16
      - name: del_req
        type: struct dl_list
      - name: add_req
        type: struct dl_list
      item_type: struct
      name: link_reconf_req_list
      pos:
        line_end: 57
        line_start: 49
        source_file: /src/hostap/src/ap/ieee802_11.h
    typedefs: []
    union: []
- function_names:
  - hostapd_wpa_auth_config_update
  - for_each_mld_link
  - hostapd_wpa_auth_conf
  - hostapd_wpa_auth_logger
  - hostapd_wpa_auth_disconnect
  - hostapd_wpa_auth_mic_failure_report
  - hostapd_wpa_auth_psk_failure_report
  - hostapd_wpa_auth_set_eapol
  - hostapd_wpa_auth_get_eapol
  - hostapd_wpa_auth_get_psk
  - hostapd_wpa_auth_get_msk
  - hostapd_wpa_auth_set_key
  - hostapd_wpa_auth_get_seqnum
  - hostapd_wpa_auth_send_eapol
  - hostapd_wpa_auth_get_sta_count
  - hostapd_wpa_auth_for_each_sta
  - wpa_auth_iface_iter
  - hostapd_wpa_auth_for_each_auth
  - hostapd_wpa_auth_for_each_partner_auth
  - for_each_mld_link
  - hostapd_wpa_ft_rrb_rx_later
  - hostapd_wpa_auth_ft_iter
  - hostapd_wpa_auth_send_ether
  - hostapd_wpa_get_oui
  - hostapd_oui_deliver_later
  - hostapd_wpa_auth_oui_iter
  - hostapd_wpa_auth_send_oui
  - hostapd_channel_info
  - hostapd_store_ptksa
  - hostapd_clear_ptksa
  - hostapd_wpa_auth_update_vlan
  - hostapd_get_sta_tx_params
  - hostapd_wpa_auth_send_ft_action
  - hostapd_wpa_auth_add_sta
  - hostapd_wpa_auth_add_sta_ft
  - hostapd_wpa_auth_set_vlan
  - hostapd_wpa_auth_get_vlan
  - hostapd_wpa_auth_set_identity
  - hostapd_wpa_auth_get_identity
  - hostapd_wpa_auth_set_radius_cui
  - hostapd_wpa_auth_get_radius_cui
  - hostapd_wpa_auth_set_session_timeout
  - hostapd_wpa_auth_get_session_timeout
  - hostapd_rrb_receive
  - hostapd_rrb_oui_receive
  - hostapd_wpa_register_ft_oui
  - hostapd_wpa_unregister_ft_oui
  - hostapd_request_radius_psk
  - hostapd_set_ltf_keyseed
  - hostapd_first_sta_seen_mbssid
  - hostapd_wpa_auth_get_ml_key_info
  - for_each_mld_link
  - hostapd_next_primary_auth
  - for_each_mld_link
  - hostapd_wpa_auth_get_drv_flags
  - hostapd_wpa_auth_remove_pmkid
  - hostapd_setup_wpa
  - hostapd_reconfig_wpa
  - hostapd_deinit_wpa
  source_file: /src/hostap/src/ap/wpa_auth_glue.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: (*cb)(struct wpa_authenticator *sm, void *ctx)
        type: int
      - name: '*cb_ctx'
        type: void
      item_type: struct
      name: wpa_auth_iface_iter_data
      pos:
        line_end: 754
        line_start: 751
        source_file: /src/hostap/src/ap/wpa_auth_glue.c
    - fields:
      - name: list
        type: struct dl_list
      - name: addr[ETH_ALEN]
        type: u8
      - name: data_len
        type: size_t
      item_type: struct
      name: wpa_ft_rrb_rx_later_data
      pos:
        line_end: 815
        line_start: 810
        source_file: /src/hostap/src/ap/wpa_auth_glue.c
    - fields:
      - name: '*src_hapd'
        type: struct hostapd_data
      - name: '*dst'
        type: u8
      - name: '*data'
        type: u8
      - name: data_len
        type: size_t
      item_type: struct
      name: wpa_auth_ft_iface_iter_data
      pos:
        line_end: 840
        line_start: 835
        source_file: /src/hostap/src/ap/wpa_auth_glue.c
    - fields:
      - name: list
        type: struct dl_list
      - name: src_addr[ETH_ALEN]
        type: u8
      - name: dst_addr[ETH_ALEN]
        type: u8
      - name: data_len
        type: size_t
      - name: oui_suffix
        type: u8
      item_type: struct
      name: oui_deliver_later_data
      pos:
        line_end: 985
        line_start: 978
        source_file: /src/hostap/src/ap/wpa_auth_glue.c
    - fields:
      - name: '*src_hapd'
        type: struct hostapd_data
      - name: '*dst_addr'
        type: u8
      - name: '*data'
        type: u8
      - name: data_len
        type: size_t
      - name: oui_suffix
        type: u8
      item_type: struct
      name: wpa_auth_oui_iface_iter_data
      pos:
        line_end: 1020
        line_start: 1014
        source_file: /src/hostap/src/ap/wpa_auth_glue.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/ap/tkip_countermeasures.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - for_each_sm_auth
  - wpa_auth_pmf_enabled
  source_file: /src/hostap/src/ap/wpa_auth.h
  types:
    enum:
    - enumerators:
      - name: WPA_IE_OK
      - name: WPA_INVALID_AKMP
      - name: WPA_INVALID_PAIRWISE
      - name: WPA_INVALID_GROUP
      - name: WPA_INVALID_IE
      - name: WPA_NOT_ENABLED
      - name: WPA_ALLOC_FAIL
      - name: WPA_MGMT_FRAME_PROTECTION_VIOLATION
      - name: WPA_INVALID_MGMT_GROUP_CIPHER
      - name: WPA_INVALID_MDIE
      - name: WPA_INVALID_PMKID
      - name: WPA_INVALID_PROTO
      - name: WPA_DENIED_OTHER_REASON
      item_type: enum
      name: wpa_validate_result
      pos:
        line_end: 471
        line_start: 465
        source_file: /src/hostap/src/ap/wpa_auth.h
    - enumerators:
      - name: WPA_AUTH
      - name: WPA_REAUTH
      - name: WPA_DEAUTH
      - name: WPA_DISASSOC
      - name: WPA_ASSOC
      - name: WPA_REAUTH_EAPOL
      - name: WPA_ASSOC_FT
      - name: WPA_ASSOC_FILS
      - name: WPA_DRV_STA_REMOVED
      item_type: enum
      name: wpa_event
      pos:
        line_end: 502
        line_start: 499
        source_file: /src/hostap/src/ap/wpa_auth.h
    - enumerators:
      - name: WPA_AUTH_OCV_OVERRIDE_EAPOL_M3
      - name: WPA_AUTH_OCV_OVERRIDE_FILS_ASSOC
      - name: WPA_AUTH_OCV_OVERRIDE_FT_ASSOC
      - name: WPA_AUTH_OCV_OVERRIDE_EAPOL_G1
      item_type: enum
      name: wpa_auth_ocv_override_frame
      pos:
        line_end: 709
        line_start: 704
        source_file: /src/hostap/src/ap/wpa_auth.h
    preproc_defs:
    - item_type: preproc_def
      name: MAX_OWN_IE_OVERRIDE
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/hostap/src/ap/wpa_auth.h
      type_or_value: '257'
    - item_type: preproc_def
      name: RSN_REMOTE_FRAME_TYPE_FT_RRB
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/hostap/src/ap/wpa_auth.h
      type_or_value: '1'
    - item_type: preproc_def
      name: FT_PACKET_REQUEST
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/hostap/src/ap/wpa_auth.h
      type_or_value: '0'
    - item_type: preproc_def
      name: FT_PACKET_RESPONSE
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/hostap/src/ap/wpa_auth.h
      type_or_value: '1'
    - item_type: preproc_def
      name: FT_PACKET_R0KH_R1KH_PULL
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/hostap/src/ap/wpa_auth.h
      type_or_value: '0x01'
    - item_type: preproc_def
      name: FT_PACKET_R0KH_R1KH_RESP
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/hostap/src/ap/wpa_auth.h
      type_or_value: '0x02'
    - item_type: preproc_def
      name: FT_PACKET_R0KH_R1KH_PUSH
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/hostap/src/ap/wpa_auth.h
      type_or_value: '0x03'
    - item_type: preproc_def
      name: FT_PACKET_R0KH_R1KH_SEQ_REQ
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/hostap/src/ap/wpa_auth.h
      type_or_value: '0x04'
    - item_type: preproc_def
      name: FT_PACKET_R0KH_R1KH_SEQ_RESP
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/hostap/src/ap/wpa_auth.h
      type_or_value: '0x05'
    - item_type: preproc_def
      name: FT_RRB_NONCE_LEN
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/hostap/src/ap/wpa_auth.h
      type_or_value: '16'
    - item_type: preproc_def
      name: FT_RRB_LAST_EMPTY
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/hostap/src/ap/wpa_auth.h
      type_or_value: '0 '
    - item_type: preproc_def
      name: FT_RRB_SEQ
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/hostap/src/ap/wpa_auth.h
      type_or_value: '1 '
    - item_type: preproc_def
      name: FT_RRB_NONCE
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/hostap/src/ap/wpa_auth.h
      type_or_value: '2 '
    - item_type: preproc_def
      name: FT_RRB_TIMESTAMP
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/hostap/src/ap/wpa_auth.h
      type_or_value: '3 '
    - item_type: preproc_def
      name: FT_RRB_R0KH_ID
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/hostap/src/ap/wpa_auth.h
      type_or_value: '4 '
    - item_type: preproc_def
      name: FT_RRB_R1KH_ID
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/hostap/src/ap/wpa_auth.h
      type_or_value: '5 '
    - item_type: preproc_def
      name: FT_RRB_S1KH_ID
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/hostap/src/ap/wpa_auth.h
      type_or_value: '6 '
    - item_type: preproc_def
      name: FT_RRB_PMK_R0_NAME
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/hostap/src/ap/wpa_auth.h
      type_or_value: '7 '
    - item_type: preproc_def
      name: FT_RRB_PMK_R0
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/hostap/src/ap/wpa_auth.h
      type_or_value: '8 '
    - item_type: preproc_def
      name: FT_RRB_PMK_R1_NAME
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/hostap/src/ap/wpa_auth.h
      type_or_value: '9 '
    - item_type: preproc_def
      name: FT_RRB_PMK_R1
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/hostap/src/ap/wpa_auth.h
      type_or_value: '10 '
    - item_type: preproc_def
      name: FT_RRB_PAIRWISE
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/hostap/src/ap/wpa_auth.h
      type_or_value: '11 '
    - item_type: preproc_def
      name: FT_RRB_EXPIRES_IN
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/hostap/src/ap/wpa_auth.h
      type_or_value: '12 '
    - item_type: preproc_def
      name: FT_RRB_VLAN_UNTAGGED
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/hostap/src/ap/wpa_auth.h
      type_or_value: '13 '
    - item_type: preproc_def
      name: FT_RRB_VLAN_TAGGED
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/hostap/src/ap/wpa_auth.h
      type_or_value: '14 '
    - item_type: preproc_def
      name: FT_RRB_IDENTITY
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/hostap/src/ap/wpa_auth.h
      type_or_value: '15'
    - item_type: preproc_def
      name: FT_RRB_RADIUS_CUI
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/hostap/src/ap/wpa_auth.h
      type_or_value: '16'
    - item_type: preproc_def
      name: FT_RRB_SESSION_TIMEOUT
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/hostap/src/ap/wpa_auth.h
      type_or_value: '17 '
    structs:
    - fields:
      - name: frame_type
        type: u8
      - name: packet_type
        type: u8
      - name: action_length
        type: le16
      - name: ap_address[ETH_ALEN]
        type: u8
      item_type: struct
      name: ft_rrb_frame
      pos:
        line_end: 36
        line_start: 27
        source_file: /src/hostap/src/ap/wpa_auth.h
    - fields:
      - name: type
        type: le16
      - name: len
        type: le16
      item_type: struct
      name: ft_rrb_tlv
      pos:
        line_end: 95
        line_start: 91
        source_file: /src/hostap/src/ap/wpa_auth.h
    - fields:
      - name: dom
        type: le32
      - name: seq
        type: le32
      - name: ts
        type: le32
      item_type: struct
      name: ft_rrb_seq
      pos:
        line_end: 101
        line_start: 97
        source_file: /src/hostap/src/ap/wpa_auth.h
    - fields:
      - name: '*next'
        type: struct ft_remote_r0kh
      - name: addr[ETH_ALEN]
        type: u8
      - name: id[FT_R0KH_ID_MAX_LEN]
        type: u8
      - name: id_len
        type: size_t
      - name: key[32]
        type: u8
      - name: '*seq'
        type: struct ft_remote_seq
      item_type: struct
      name: ft_remote_r0kh
      pos:
        line_end: 158
        line_start: 151
        source_file: /src/hostap/src/ap/wpa_auth.h
    - fields:
      - name: '*next'
        type: struct ft_remote_r1kh
      - name: addr[ETH_ALEN]
        type: u8
      - name: id[FT_R1KH_ID_LEN]
        type: u8
      - name: key[32]
        type: u8
      - name: '*seq'
        type: struct ft_remote_seq
      item_type: struct
      name: ft_remote_r1kh
      pos:
        line_end: 167
        line_start: 161
        source_file: /src/hostap/src/ap/wpa_auth.h
    - fields:
      - name: '*msg_ctx'
        type: void
      - name: wpa
        type: int
      - name: extended_key_id
        type: int
      - name: wpa_key_mgmt
        type: int
      - name: rsn_override_key_mgmt
        type: int
      - name: rsn_override_key_mgmt_2
        type: int
      - name: wpa_pairwise
        type: int
      - name: wpa_group
        type: int
      - name: wpa_group_rekey
        type: int
      - name: wpa_strict_rekey
        type: int
      - name: wpa_gmk_rekey
        type: int
      - name: wpa_ptk_rekey
        type: int
      - name: wpa_deny_ptk0_rekey
        type: int
      - name: wpa_group_update_count
        type: u32
      - name: wpa_pairwise_update_count
        type: u32
      - name: wpa_disable_eapol_key_retries
        type: int
      - name: rsn_pairwise
        type: int
      - name: rsn_override_pairwise
        type: int
      - name: rsn_override_pairwise_2
        type: int
      - name: rsn_preauth
        type: int
      - name: eapol_version
        type: int
      - name: wmm_enabled
        type: int
      - name: wmm_uapsd
        type: int
      - name: disable_pmksa_caching
        type: int
      - name: okc
        type: int
      - name: tx_status
        type: int
      - name: ieee80211w
        type: enum mfp_options
      - name: rsn_override_mfp
        type: enum mfp_options
      - name: rsn_override_mfp_2
        type: enum mfp_options
      - name: beacon_prot
        type: int
      - name: group_mgmt_cipher
        type: int
      - name: sae_require_mfp
        type: int
      - name: ssid[SSID_MAX_LEN]
        type: u8
      - name: ssid_len
        type: size_t
      - name: disable_gtk
        type: int
      - name: ap_mlme
        type: int
      - name: oci_freq_override_eapol_m3
        type: unsigned int
      - name: oci_freq_override_eapol_g1
        type: unsigned int
      - name: oci_freq_override_ft_assoc
        type: unsigned int
      - name: oci_freq_override_fils_assoc
        type: unsigned int
      - name: sae_pwe
        type: enum sae_pwe
      - name: sae_pk
        type: bool
      - name: urnm_mfpr_x20
        type: bool
      - name: urnm_mfpr
        type: bool
      - name: secure_ltf
        type: unsigned int
      - name: secure_rtt
        type: unsigned int
      - name: prot_range_neg
        type: unsigned int
      - name: owe_ptk_workaround
        type: int
      - name: transition_disable
        type: u8
      - name: force_kdk_derivation
        type: bool
      - name: radius_psk
        type: bool
      - name: no_disconnect_on_group_keyerror
        type: bool
      - name: '*tx_bss_auth'
        type: struct wpa_authenticator
      - name: ssid_protection
        type: bool
      - name: rsn_override_omit_rsnxe
        type: int
      - name: rsn_override_mlo_compat
        type: int
      - name: spp_amsdu
        type: bool
      - name: sae_pw_id_num
        type: unsigned int
      - name: sae_pw_id_key[32]
        type: u8
      item_type: struct
      name: wpa_auth_config
      pos:
        line_end: 338
        line_start: 170
        source_file: /src/hostap/src/ap/wpa_auth.h
    - fields:
      - name: n_mld_links
        type: unsigned int
      - name: mgmt_frame_prot
        type: bool
      - name: beacon_prot
        type: bool
      - name: links[MAX_NUM_MLD_LINKS]
        type: "struct wpa_auth_ml_link_key_info {\n\t\tu8 link_id;\n\n\t\tu8 gtkidx;\n\t\tu8
          gtk_len;\n\t\tu8 pn[6];\n\t\tconst u8 *gtk;\n\n\t\tu8 igtkidx;\n\t\tu8 igtk_len;\n\t\tconst
          u8 *igtk;\n\t\tu8 ipn[6];\n\n\t\tu8 bigtkidx;\n\t\tconst u8 *bigtk;\n\t\tu8
          bipn[6];\n\t}"
      item_type: struct
      name: wpa_auth_ml_key_info
      pos:
        line_end: 372
        line_start: 350
        source_file: /src/hostap/src/ap/wpa_auth.h
    - fields:
      - name: link_id
        type: u8
      - name: gtkidx
        type: u8
      - name: gtk_len
        type: u8
      - name: pn[6]
        type: u8
      - name: '*gtk'
        type: u8
      - name: igtkidx
        type: u8
      - name: igtk_len
        type: u8
      - name: '*igtk'
        type: u8
      - name: ipn[6]
        type: u8
      - name: bigtkidx
        type: u8
      - name: '*bigtk'
        type: u8
      - name: bipn[6]
        type: u8
      item_type: struct
      name: wpa_auth_ml_link_key_info
      pos:
        line_end: 371
        line_start: 355
        source_file: /src/hostap/src/ap/wpa_auth.h
    - fields:
      - name: "(*logger)(void *ctx, const u8 *addr, logger_level level,\n\t\t       const
          char *txt)"
        type: void
      - name: (*disconnect)(void *ctx, const u8 *addr, u16 reason)
        type: void
      - name: (*mic_failure_report)(void *ctx, const u8 *addr)
        type: int
      - name: (*psk_failure_report)(void *ctx, const u8 *addr)
        type: void
      - name: "(*set_eapol)(void *ctx, const u8 *addr, wpa_eapol_variable var,\n\t\t\t
          \ int value)"
        type: void
      - name: (*get_eapol)(void *ctx, const u8 *addr, wpa_eapol_variable var)
        type: int
      - name: "* (*get_psk)(void *ctx, const u8 *addr, const u8 *p2p_dev_addr,\n\t\t\t
          \     const u8 *prev_psk, size_t *psk_len,\n\t\t\t      int *vlan_id)"
        type: u8
      - name: (*get_msk)(void *ctx, const u8 *addr, u8 *msk, size_t *len)
        type: int
      - name: "(*set_key)(void *ctx, int vlan_id, enum wpa_alg alg,\n\t\t       const
          u8 *addr, int idx, u8 *key, size_t key_len,\n\t\t       enum key_flag key_flag)"
        type: int
      - name: (*get_seqnum)(void *ctx, const u8 *addr, int idx, u8 *seq)
        type: int
      - name: "(*send_eapol)(void *ctx, const u8 *addr, const u8 *data,\n\t\t\t  size_t
          data_len, int encrypt)"
        type: int
      - name: (*get_sta_count)(void *ctx)
        type: int
      - name: "(*for_each_sta)(void *ctx, int (*cb)(struct wpa_state_machine *sm,\n\t\t\t\t\t\t
          void *ctx), void *cb_ctx)"
        type: int
      - name: "(*for_each_auth)(void *ctx, int (*cb)(struct wpa_authenticator *a,\n\t\t\t\t\t\t
          \ void *ctx), void *cb_ctx)"
        type: int
      - name: "(*send_ether)(void *ctx, const u8 *dst, u16 proto, const u8 *data,\n\t\t\t
          \ size_t data_len)"
        type: int
      - name: "(*send_oui)(void *ctx, const u8 *dst, u8 oui_suffix, const u8 *data,\n\t\t\tsize_t
          data_len)"
        type: int
      - name: (*channel_info)(void *ctx, struct wpa_channel_info *ci)
        type: int
      - name: (*update_vlan)(void *ctx, const u8 *addr, int vlan_id)
        type: int
      - name: "(*get_sta_tx_params)(void *ctx, const u8 *addr,\n\t\t\t\t int ap_max_chanwidth,
          int ap_seg1_idx,\n\t\t\t\t int *bandwidth, int *seg1_idx)"
        type: int
      - name: "(*store_ptksa)(void *ctx, const u8 *addr, int cipher,\n\t\t\t    u32
          life_time, const struct wpa_ptk *ptk)"
        type: void
      - name: (*clear_ptksa)(void *ctx, const u8 *addr, int cipher)
        type: void
      - name: "(*request_radius_psk)(void *ctx, const u8 *addr, int key_mgmt,\n\t\t\t\t
          \  const u8 *anonce,\n\t\t\t\t   const u8 *eapol, size_t eapol_len)"
        type: void
      - name: (*get_drv_flags)(void *ctx, u64 *drv_flags, u64 *drv_flags2)
        type: int
      - name: (*remove_pmkid)(void *ctx, const u8 *sta_addr, const u8 *pmkid)
        type: int
      - name: (*first_sta_seen_mbssid)(void *ctx, int vlan_id)
        type: bool
      item_type: struct
      name: wpa_auth_callbacks
      pos:
        line_end: 454
        line_start: 374
        source_file: /src/hostap/src/ap/wpa_auth.h
    typedefs: []
    union: []
- function_names:
  - hostapd_eid_ht_capabilities
  - set_ht_param
  - hostapd_eid_ht_operation
  - hostapd_ht_operation_update
  - is_40_allowed
  - hostapd_2040_coex_action
  - copy_sta_ht_capab
  - ht40_intolerant_add
  - ht40_intolerant_remove
  - update_sta_ht
  - update_sta_no_ht
  - update_ht_state
  - hostapd_get_ht_capab
  - ap_ht2040_timeout
  source_file: /src/hostap/src/ap/ieee802_11_ht.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mlme_auth_alg_str
  - mlme_authenticate_indication
  - mlme_deauthenticate_indication
  - mlme_associate_indication
  - mlme_reassociate_indication
  - mlme_disassociate_indication
  - mlme_michaelmicfailure_indication
  - mlme_deletekeys_request
  source_file: /src/hostap/src/ap/ap_mlme.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/fst/fst_session.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FST_DEFAULT_SESSION_TIMEOUT_TU
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/hostap/src/fst/fst_session.h
      type_or_value: '255 '
    - item_type: preproc_def
      name: FST_FSTS_ID_NOT_FOUND
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/hostap/src/fst/fst_session.h
      type_or_value: ((u32) -1)
    structs: []
    typedefs:
    - item_type: typedef
      name: "(*fst_session_enum_clb)(struct fst_group *g, struct fst_session *s,\n\t\t\t\t
        \    void *ctx)"
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/hostap/src/fst/fst_session.h
      type: void
    union: []
- function_names:
  - SESSION_CONTROL
  - GET_SESSION_CONTROL_TYPE
  - GET_SESSION_CONTROL_SWITCH_INTENT
  source_file: /src/hostap/src/fst/fst_defs.h
  types:
    enum:
    - enumerators:
      - name: SESSION_TYPE_BSS
        value: '0'
      - name: SESSION_TYPE_DLS
        value: '2'
      - name: SESSION_TYPE_TDLS
        value: '3'
      - name: SESSION_TYPE_IBSS
        value: '1'
      - name: SESSION_TYPE_PBSS
        value: '4'
      item_type: enum
      name: session_type
      pos:
        line_end: 21
        line_start: 15
        source_file: /src/hostap/src/fst/fst_defs.h
    preproc_defs:
    - item_type: preproc_def
      name: MB_STA_CHANNEL_ALL
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/hostap/src/fst/fst_defs.h
      type_or_value: '0'
    structs:
    - fields:
      - name: element_id
        type: u8
      - name: length
        type: u8
      - name: fsts_id
        type: le32
      - name: session_control
        type: u8
      - name: new_band_id
        type: u8
      - name: new_band_setup
        type: u8
      - name: new_band_op
        type: u8
      - name: old_band_id
        type: u8
      - name: old_band_setup
        type: u8
      - name: old_band_op
        type: u8
      item_type: struct
      name: session_transition_ie
      pos:
        line_end: 44
        line_start: 33
        source_file: /src/hostap/src/fst/fst_defs.h
    - fields:
      - name: action
        type: u8
      - name: dialog_token
        type: u8
      - name: llt
        type: le32
      - name: stie
        type: struct session_transition_ie
      item_type: struct
      name: fst_setup_req
      pos:
        line_end: 55
        line_start: 46
        source_file: /src/hostap/src/fst/fst_defs.h
    - fields:
      - name: action
        type: u8
      - name: dialog_token
        type: u8
      - name: status_code
        type: u8
      - name: stie
        type: struct session_transition_ie
      item_type: struct
      name: fst_setup_res
      pos:
        line_end: 67
        line_start: 57
        source_file: /src/hostap/src/fst/fst_defs.h
    - fields:
      - name: action
        type: u8
      - name: dialog_token
        type: u8
      - name: fsts_id
        type: le32
      item_type: struct
      name: fst_ack_req
      pos:
        line_end: 73
        line_start: 69
        source_file: /src/hostap/src/fst/fst_defs.h
    - fields:
      - name: action
        type: u8
      - name: dialog_token
        type: u8
      - name: fsts_id
        type: le32
      item_type: struct
      name: fst_ack_res
      pos:
        line_end: 79
        line_start: 75
        source_file: /src/hostap/src/fst/fst_defs.h
    - fields:
      - name: action
        type: u8
      - name: fsts_id
        type: le32
      item_type: struct
      name: fst_tear_down
      pos:
        line_end: 84
        line_start: 81
        source_file: /src/hostap/src/fst/fst_defs.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/fst/fst_ctrl_aux.h
  types:
    enum:
    - enumerators:
      - name: FST_SESSION_STATE_INITIAL
      - name: FST_SESSION_STATE_TRANSITION_CONFIRMED
      - name: FST_SESSION_STATE_TRANSITION_DONE
      - name: FST_SESSION_STATE_SETUP_COMPLETION
      - name: FST_SESSION_STATE_LAST
      item_type: enum
      name: fst_session_state
      pos:
        line_end: 24
        line_start: 18
        source_file: /src/hostap/src/fst/fst_ctrl_aux.h
    - enumerators:
      - name: EVENT_FST_IFACE_STATE_CHANGED
      - name: EVENT_FST_SESSION_STATE_CHANGED
      - name: EVENT_FST_SETUP
      - name: EVENT_FST_ESTABLISHED
      - name: EVENT_PEER_STATE_CHANGED
      item_type: enum
      name: fst_event_type
      pos:
        line_end: 35
        line_start: 26
        source_file: /src/hostap/src/fst/fst_ctrl_aux.h
    - enumerators:
      - name: REASON_TEARDOWN
      - name: REASON_SETUP
      - name: REASON_STT
      - name: REASON_SWITCH
      - name: REASON_REJECT
      - name: REASON_ERROR_PARAMS
      - name: REASON_RESET
      - name: REASON_DETACH_IFACE
      item_type: enum
      name: fst_reason
      pos:
        line_end: 46
        line_start: 37
        source_file: /src/hostap/src/fst/fst_ctrl_aux.h
    - enumerators:
      - name: FST_INITIATOR_UNDEFINED
      - name: FST_INITIATOR_REMOTE
      - name: FST_INITIATOR_LOCAL
      item_type: enum
      name: fst_initiator
      pos:
        line_end: 52
        line_start: 48
        source_file: /src/hostap/src/fst/fst_ctrl_aux.h
    preproc_defs:
    - item_type: preproc_def
      name: FST_INVALID_SESSION_ID
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/hostap/src/fst/fst_ctrl_aux.h
      type_or_value: ((u32) -1)
    - item_type: preproc_def
      name: FST_MAX_GROUP_ID_SIZE
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/hostap/src/fst/fst_ctrl_aux.h
      type_or_value: '32'
    - item_type: preproc_def
      name: FST_MAX_INTERFACE_SIZE
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/hostap/src/fst/fst_ctrl_aux.h
      type_or_value: '32'
    - item_type: preproc_def
      name: FST_NAME_UNKNOWN
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/hostap/src/fst/fst_ctrl_aux.h
      type_or_value: '"UNKNOWN"'
    structs:
    - fields:
      - name: attached
        type: bool
      - name: ifname[FST_MAX_INTERFACE_SIZE]
        type: char
      - name: group_id[FST_MAX_GROUP_ID_SIZE]
        type: char
      item_type: struct
      name: fst_event_extra_iface_state
      pos:
        line_end: 59
        line_start: 55
        source_file: /src/hostap/src/fst/fst_ctrl_aux.h
    - fields:
      - name: connected
        type: bool
      - name: ifname[FST_MAX_INTERFACE_SIZE]
        type: char
      - name: addr[ETH_ALEN]
        type: u8
      item_type: struct
      name: fst_event_extra_peer_state
      pos:
        line_end: 64
        line_start: 60
        source_file: /src/hostap/src/fst/fst_ctrl_aux.h
    - fields:
      - name: old_state
        type: enum fst_session_state
      - name: new_state
        type: enum fst_session_state
      - name: extra
        type: "union fst_session_state_switch_extra {\n\t\t\tstruct {\n\t\t\t\tenum
          fst_reason reason;\n\t\t\t\tu8 reject_code; /* REASON_REJECT */\n\t\t\t\t/*
          REASON_SWITCH,\n\t\t\t\t * REASON_TEARDOWN,\n\t\t\t\t * REASON_REJECT\n\t\t\t\t
          */\n\t\t\t\tenum fst_initiator initiator;\n\t\t\t} to_initial;\n\t\t}"
      item_type: struct
      name: fst_event_extra_session_state
      pos:
        line_end: 79
        line_start: 65
        source_file: /src/hostap/src/fst/fst_ctrl_aux.h
    typedefs: []
    union:
    - fields:
      - name: iface_state
        type: "struct fst_event_extra_iface_state {\n\t\tbool attached;\n\t\tchar
          ifname[FST_MAX_INTERFACE_SIZE];\n\t\tchar group_id[FST_MAX_GROUP_ID_SIZE];\n\t}"
      - name: peer_state
        type: "struct fst_event_extra_peer_state {\n\t\tbool connected;\n\t\tchar
          ifname[FST_MAX_INTERFACE_SIZE];\n\t\tu8 addr[ETH_ALEN];\n\t}"
      - name: session_state
        type: "struct fst_event_extra_session_state {\n\t\tenum fst_session_state
          old_state;\n\t\tenum fst_session_state new_state;\n\t\tunion fst_session_state_switch_extra
          {\n\t\t\tstruct {\n\t\t\t\tenum fst_reason reason;\n\t\t\t\tu8 reject_code;
          /* REASON_REJECT */\n\t\t\t\t/* REASON_SWITCH,\n\t\t\t\t * REASON_TEARDOWN,\n\t\t\t\t
          * REASON_REJECT\n\t\t\t\t */\n\t\t\t\tenum fst_initiator initiator;\n\t\t\t}
          to_initial;\n\t\t} extra;\n\t}"
      item_type: union
      name: fst_event_extra
      pos:
        line_end: 80
        line_start: 54
        source_file: /src/hostap/src/fst/fst_ctrl_aux.h
    - fields:
      - name: to_initial
        type: "struct {\n\t\t\t\tenum fst_reason reason;\n\t\t\t\tu8 reject_code;
          /* REASON_REJECT */\n\t\t\t\t/* REASON_SWITCH,\n\t\t\t\t * REASON_TEARDOWN,\n\t\t\t\t
          * REASON_REJECT\n\t\t\t\t */\n\t\t\t\tenum fst_initiator initiator;\n\t\t\t}"
      item_type: union
      name: fst_session_state_switch_extra
      pos:
        line_end: 78
        line_start: 68
        source_file: /src/hostap/src/fst/fst_ctrl_aux.h
- function_names:
  - fst_dump_mb_ies
  - fst_fill_mb_ie
  - fst_fill_iface_mb_ies
  - fst_group_create_mb_ie
  - foreach_fst_group_iface
  - foreach_fst_group_iface
  - fst_mbie_get_peer_addr
  - fst_mbie_get_peer_addr_for_band
  - fst_group_get_iface_by_name
  - foreach_fst_group_iface
  - fst_group_assign_dialog_token
  - fst_group_assign_fsts_id
  - fst_group_get_peer_other_connection_1
  - foreach_fst_group_iface
  - fst_group_get_peer_other_connection_2
  - foreach_fst_group_iface
  - fst_group_get_peer_other_connection
  - fst_group_create
  - fst_group_attach_iface
  - foreach_fst_group_iface
  - fst_group_detach_iface
  - fst_group_delete
  - fst_group_delete_if_empty
  - fst_group_update_ie
  - foreach_fst_group_iface
  source_file: /src/hostap/src/fst/fst_group.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/fst/fst_ctrl_defs.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FST_CTRL_PVAL_NONE
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/hostap/src/fst/fst_ctrl_defs.h
      type_or_value: '"NONE"'
    - item_type: preproc_def
      name: FST_ATTACH_CMD_PNAME_LLT
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/hostap/src/fst/fst_ctrl_defs.h
      type_or_value: '"llt"      '
    - item_type: preproc_def
      name: FST_ATTACH_CMD_PNAME_PRIORITY
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/hostap/src/fst/fst_ctrl_defs.h
      type_or_value: '"priority" '
    - item_type: preproc_def
      name: FST_CS_PVAL_STATE_INITIAL
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/hostap/src/fst/fst_ctrl_defs.h
      type_or_value: '"INITIAL"'
    - item_type: preproc_def
      name: FST_CS_PVAL_STATE_SETUP_COMPLETION
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/hostap/src/fst/fst_ctrl_defs.h
      type_or_value: '"SETUP_COMPLETION"'
    - item_type: preproc_def
      name: FST_CS_PVAL_STATE_TRANSITION_DONE
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/hostap/src/fst/fst_ctrl_defs.h
      type_or_value: '"TRANSITION_DONE"'
    - item_type: preproc_def
      name: FST_CS_PVAL_STATE_TRANSITION_CONFIRMED
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/hostap/src/fst/fst_ctrl_defs.h
      type_or_value: '"TRANSITION_CONFIRMED"'
    - item_type: preproc_def
      name: FST_CS_PVAL_REASON_TEARDOWN
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/hostap/src/fst/fst_ctrl_defs.h
      type_or_value: '"REASON_TEARDOWN"'
    - item_type: preproc_def
      name: FST_CS_PVAL_REASON_SETUP
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/hostap/src/fst/fst_ctrl_defs.h
      type_or_value: '"REASON_SETUP"'
    - item_type: preproc_def
      name: FST_CS_PVAL_REASON_SWITCH
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/hostap/src/fst/fst_ctrl_defs.h
      type_or_value: '"REASON_SWITCH"'
    - item_type: preproc_def
      name: FST_CS_PVAL_REASON_STT
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/hostap/src/fst/fst_ctrl_defs.h
      type_or_value: '"REASON_STT"'
    - item_type: preproc_def
      name: FST_CS_PVAL_REASON_REJECT
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/hostap/src/fst/fst_ctrl_defs.h
      type_or_value: '"REASON_REJECT"'
    - item_type: preproc_def
      name: FST_CS_PVAL_REASON_ERROR_PARAMS
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/hostap/src/fst/fst_ctrl_defs.h
      type_or_value: '"REASON_ERROR_PARAMS"'
    - item_type: preproc_def
      name: FST_CS_PVAL_REASON_RESET
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/hostap/src/fst/fst_ctrl_defs.h
      type_or_value: '"REASON_RESET"'
    - item_type: preproc_def
      name: FST_CS_PVAL_REASON_DETACH_IFACE
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/hostap/src/fst/fst_ctrl_defs.h
      type_or_value: '"REASON_DETACH_IFACE"'
    - item_type: preproc_def
      name: FST_CS_PVAL_RESPONSE_ACCEPT
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/hostap/src/fst/fst_ctrl_defs.h
      type_or_value: '"ACCEPT"'
    - item_type: preproc_def
      name: FST_CS_PVAL_RESPONSE_REJECT
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/hostap/src/fst/fst_ctrl_defs.h
      type_or_value: '"REJECT"'
    - item_type: preproc_def
      name: FST_CS_PVAL_INITIATOR_LOCAL
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/hostap/src/fst/fst_ctrl_defs.h
      type_or_value: '"LOCAL"'
    - item_type: preproc_def
      name: FST_CS_PVAL_INITIATOR_REMOTE
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/hostap/src/fst/fst_ctrl_defs.h
      type_or_value: '"REMOTE"'
    - item_type: preproc_def
      name: FST_CMD_LIST_GROUPS
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/hostap/src/fst/fst_ctrl_defs.h
      type_or_value: '"list_groups"'
    - item_type: preproc_def
      name: FST_CMD_LIST_IFACES
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/hostap/src/fst/fst_ctrl_defs.h
      type_or_value: '"list_ifaces"'
    - item_type: preproc_def
      name: FST_CMD_IFACE_PEERS
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/hostap/src/fst/fst_ctrl_defs.h
      type_or_value: '"iface_peers"'
    - item_type: preproc_def
      name: FST_CMD_GET_PEER_MBIES
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/hostap/src/fst/fst_ctrl_defs.h
      type_or_value: '"get_peer_mbies"'
    - item_type: preproc_def
      name: FST_CMD_LIST_SESSIONS
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/hostap/src/fst/fst_ctrl_defs.h
      type_or_value: '"list_sessions"'
    - item_type: preproc_def
      name: FST_CMD_SESSION_ADD
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/hostap/src/fst/fst_ctrl_defs.h
      type_or_value: '"session_add"'
    - item_type: preproc_def
      name: FST_CMD_SESSION_REMOVE
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/hostap/src/fst/fst_ctrl_defs.h
      type_or_value: '"session_remove"'
    - item_type: preproc_def
      name: FST_CMD_SESSION_GET
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/hostap/src/fst/fst_ctrl_defs.h
      type_or_value: '"session_get"'
    - item_type: preproc_def
      name: FST_CSG_PNAME_OLD_PEER_ADDR
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/hostap/src/fst/fst_ctrl_defs.h
      type_or_value: '"old_peer_addr" '
    - item_type: preproc_def
      name: FST_CSG_PNAME_NEW_PEER_ADDR
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/hostap/src/fst/fst_ctrl_defs.h
      type_or_value: '"new_peer_addr" '
    - item_type: preproc_def
      name: FST_CSG_PNAME_OLD_IFNAME
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/hostap/src/fst/fst_ctrl_defs.h
      type_or_value: '"old_ifname" '
    - item_type: preproc_def
      name: FST_CSG_PNAME_NEW_IFNAME
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/hostap/src/fst/fst_ctrl_defs.h
      type_or_value: '"new_ifname" '
    - item_type: preproc_def
      name: FST_CSG_PNAME_LLT
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/hostap/src/fst/fst_ctrl_defs.h
      type_or_value: '"llt"        '
    - item_type: preproc_def
      name: FST_CSG_PNAME_STATE
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/hostap/src/fst/fst_ctrl_defs.h
      type_or_value: '"state"      '
    - item_type: preproc_def
      name: FST_CMD_SESSION_SET
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/hostap/src/fst/fst_ctrl_defs.h
      type_or_value: '"session_set"'
    - item_type: preproc_def
      name: FST_CSS_PNAME_OLD_PEER_ADDR
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/hostap/src/fst/fst_ctrl_defs.h
      type_or_value: FST_CSG_PNAME_OLD_PEER_ADDR
    - item_type: preproc_def
      name: FST_CSS_PNAME_NEW_PEER_ADDR
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/hostap/src/fst/fst_ctrl_defs.h
      type_or_value: FST_CSG_PNAME_NEW_PEER_ADDR
    - item_type: preproc_def
      name: FST_CSS_PNAME_OLD_IFNAME
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/hostap/src/fst/fst_ctrl_defs.h
      type_or_value: FST_CSG_PNAME_OLD_IFNAME
    - item_type: preproc_def
      name: FST_CSS_PNAME_NEW_IFNAME
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/hostap/src/fst/fst_ctrl_defs.h
      type_or_value: FST_CSG_PNAME_NEW_IFNAME
    - item_type: preproc_def
      name: FST_CSS_PNAME_LLT
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/hostap/src/fst/fst_ctrl_defs.h
      type_or_value: FST_CSG_PNAME_LLT
    - item_type: preproc_def
      name: FST_CMD_SESSION_INITIATE
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/hostap/src/fst/fst_ctrl_defs.h
      type_or_value: '"session_initiate"'
    - item_type: preproc_def
      name: FST_CMD_SESSION_RESPOND
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/hostap/src/fst/fst_ctrl_defs.h
      type_or_value: '"session_respond"'
    - item_type: preproc_def
      name: FST_CMD_SESSION_TRANSFER
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/hostap/src/fst/fst_ctrl_defs.h
      type_or_value: '"session_transfer"'
    - item_type: preproc_def
      name: FST_CMD_SESSION_TEARDOWN
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/hostap/src/fst/fst_ctrl_defs.h
      type_or_value: '"session_teardown"'
    - item_type: preproc_def
      name: FST_CTR_PVAL_BAD_NEW_BAND
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/hostap/src/fst/fst_ctrl_defs.h
      type_or_value: '"bad_new_band"'
    - item_type: preproc_def
      name: FST_CMD_TEST_REQUEST
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/hostap/src/fst/fst_ctrl_defs.h
      type_or_value: '"test_request"'
    - item_type: preproc_def
      name: FST_CTR_IS_SUPPORTED
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/hostap/src/fst/fst_ctrl_defs.h
      type_or_value: '"is_supported"'
    - item_type: preproc_def
      name: FST_CTR_SEND_SETUP_REQUEST
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/hostap/src/fst/fst_ctrl_defs.h
      type_or_value: '"send_setup_request"'
    - item_type: preproc_def
      name: FST_CTR_SEND_SETUP_RESPONSE
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/hostap/src/fst/fst_ctrl_defs.h
      type_or_value: '"send_setup_response"'
    - item_type: preproc_def
      name: FST_CTR_SEND_ACK_REQUEST
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/hostap/src/fst/fst_ctrl_defs.h
      type_or_value: '"send_ack_request"'
    - item_type: preproc_def
      name: FST_CTR_SEND_ACK_RESPONSE
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/hostap/src/fst/fst_ctrl_defs.h
      type_or_value: '"send_ack_response"'
    - item_type: preproc_def
      name: FST_CTR_SEND_TEAR_DOWN
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/hostap/src/fst/fst_ctrl_defs.h
      type_or_value: '"send_tear_down"'
    - item_type: preproc_def
      name: FST_CTR_GET_FSTS_ID
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/hostap/src/fst/fst_ctrl_defs.h
      type_or_value: '"get_fsts_id"'
    - item_type: preproc_def
      name: FST_CTR_GET_LOCAL_MBIES
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/hostap/src/fst/fst_ctrl_defs.h
      type_or_value: '"get_local_mbies"'
    - item_type: preproc_def
      name: FST_CTRL_EVENT_IFACE
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/hostap/src/fst/fst_ctrl_defs.h
      type_or_value: '"FST-EVENT-IFACE"'
    - item_type: preproc_def
      name: FST_CEI_PNAME_IFNAME
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/hostap/src/fst/fst_ctrl_defs.h
      type_or_value: '"ifname"'
    - item_type: preproc_def
      name: FST_CEI_PNAME_GROUP
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/hostap/src/fst/fst_ctrl_defs.h
      type_or_value: '"group"'
    - item_type: preproc_def
      name: FST_CEI_PNAME_ATTACHED
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/hostap/src/fst/fst_ctrl_defs.h
      type_or_value: '"attached"'
    - item_type: preproc_def
      name: FST_CEI_PNAME_DETACHED
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/hostap/src/fst/fst_ctrl_defs.h
      type_or_value: '"detached"'
    - item_type: preproc_def
      name: FST_CTRL_EVENT_PEER
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/hostap/src/fst/fst_ctrl_defs.h
      type_or_value: '"FST-EVENT-PEER"'
    - item_type: preproc_def
      name: FST_CEP_PNAME_IFNAME
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/hostap/src/fst/fst_ctrl_defs.h
      type_or_value: '"ifname"'
    - item_type: preproc_def
      name: FST_CEP_PNAME_ADDR
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/hostap/src/fst/fst_ctrl_defs.h
      type_or_value: '"peer_addr"'
    - item_type: preproc_def
      name: FST_CEP_PNAME_CONNECTED
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/hostap/src/fst/fst_ctrl_defs.h
      type_or_value: '"connected"'
    - item_type: preproc_def
      name: FST_CEP_PNAME_DISCONNECTED
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/hostap/src/fst/fst_ctrl_defs.h
      type_or_value: '"disconnected"'
    - item_type: preproc_def
      name: FST_CTRL_EVENT_SESSION
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/hostap/src/fst/fst_ctrl_defs.h
      type_or_value: '"FST-EVENT-SESSION"'
    - item_type: preproc_def
      name: FST_CES_PNAME_SESSION_ID
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/hostap/src/fst/fst_ctrl_defs.h
      type_or_value: '"session_id"'
    - item_type: preproc_def
      name: FST_CES_PNAME_EVT_TYPE
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/hostap/src/fst/fst_ctrl_defs.h
      type_or_value: '"event_type"'
    - item_type: preproc_def
      name: FST_PVAL_EVT_TYPE_SESSION_STATE
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/hostap/src/fst/fst_ctrl_defs.h
      type_or_value: '"EVENT_FST_SESSION_STATE"'
    - item_type: preproc_def
      name: FST_CES_PNAME_OLD_STATE
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/hostap/src/fst/fst_ctrl_defs.h
      type_or_value: '"old_state"'
    - item_type: preproc_def
      name: FST_CES_PNAME_NEW_STATE
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/hostap/src/fst/fst_ctrl_defs.h
      type_or_value: '"new_state"'
    - item_type: preproc_def
      name: FST_CES_PNAME_REASON
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/hostap/src/fst/fst_ctrl_defs.h
      type_or_value: '"reason" '
    - item_type: preproc_def
      name: FST_CES_PNAME_REJECT_CODE
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/hostap/src/fst/fst_ctrl_defs.h
      type_or_value: '"reject_code" '
    - item_type: preproc_def
      name: FST_CES_PNAME_INITIATOR
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/hostap/src/fst/fst_ctrl_defs.h
      type_or_value: '"initiator"'
    - item_type: preproc_def
      name: FST_PVAL_EVT_TYPE_ESTABLISHED
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/hostap/src/fst/fst_ctrl_defs.h
      type_or_value: '"EVENT_FST_ESTABLISHED"'
    - item_type: preproc_def
      name: FST_PVAL_EVT_TYPE_SETUP
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/hostap/src/fst/fst_ctrl_defs.h
      type_or_value: '"EVENT_FST_SETUP"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - fst_ctrl_iface_notify_peer_state_change
  - fst_attach
  - foreach_fst_group
  - fst_detach
  - fst_global_init
  - fst_global_deinit
  - fst_global_add_ctrl
  - fst_global_del_ctrl
  - fst_rx_action
  - fst_notify_peer_connected
  - fst_notify_peer_disconnected
  - fst_are_ifaces_aggregated
  - fst_update_mac_addr
  - fst_hw_mode_to_band
  source_file: /src/hostap/src/fst/fst.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - fst_iface_create
  - fst_iface_delete
  - fst_iface_is_connected
  - fst_iface_attach_mbie
  - fst_iface_get_band_id
  source_file: /src/hostap/src/fst/fst_iface.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - fst_get_str_name
  - fst_session_event_type_name
  - fst_reason_name
  - fst_session_state_name
  source_file: /src/hostap/src/fst/fst_ctrl_aux.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - fst_printf
  - fst_printf_group
  - fst_printf_iface
  - foreach_fst_ctrl_call
  source_file: /src/hostap/src/fst/fst_internal.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: ctrl
        type: struct fst_ctrl
      - name: global_ctrls_lentry
        type: struct dl_list
      item_type: struct
      name: fst_ctrl_handle
      pos:
        line_end: 35
        line_start: 32
        source_file: /src/hostap/src/fst/fst_internal.h
    typedefs: []
    union: []
- function_names:
  - fst_ctrl_iface_mb_info
  source_file: /src/hostap/src/fst/fst_ctrl_iface.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - FST_LLT_MS_TO_VAL
  - FST_LLT_VAL_TO_MS
  - fst_global_init
  - fst_global_start
  - fst_global_stop
  - fst_global_deinit
  source_file: /src/hostap/src/fst/fst.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: US_IN_MS
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/hostap/src/fst/fst.h
      type_or_value: '1000'
    - item_type: preproc_def
      name: LLT_UNIT_US
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/hostap/src/fst/fst.h
      type_or_value: '32 '
    - item_type: preproc_def
      name: FST_MAX_LLT_MS
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/hostap/src/fst/fst.h
      type_or_value: (((u32) -1) / 4)
    - item_type: preproc_def
      name: FST_MAX_PRIO_VALUE
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/hostap/src/fst/fst.h
      type_or_value: ((u8) -1)
    - item_type: preproc_def
      name: FST_MAX_GROUP_ID_LEN
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/hostap/src/fst/fst.h
      type_or_value: IFNAMSIZ
    - item_type: preproc_def
      name: FST_DEFAULT_LLT_CFG_VALUE
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/hostap/src/fst/fst.h
      type_or_value: '50'
    structs:
    - fields:
      - name: '*ctx'
        type: void
      - name: '* (*get_bssid)(void *ctx)'
        type: u8
      - name: "(*get_channel_info)(void *ctx, enum hostapd_hw_mode *hw_mode,\n\t\t\t\t
          u8 *channel)"
        type: void
      - name: (*get_hw_modes)(void *ctx, struct hostapd_hw_modes **modes)
        type: int
      - name: (*set_ies)(void *ctx, const struct wpabuf *fst_ies)
        type: void
      - name: (*send_action)(void *ctx, const u8 *addr, struct wpabuf *data)
        type: int
      - name: '* (*get_mb_ie)(void *ctx, const u8 *addr)'
        type: struct wpabuf
      - name: "(*update_mb_ie)(void *ctx, const u8 *addr,\n\t\t\t     const u8 *buf,
          size_t size)"
        type: void
      - name: "* (*get_peer_first)(void *ctx,\n\t\t\t\t     struct fst_get_peer_ctx
          **get_ctx,\n\t\t\t\t     bool mb_only)"
        type: u8
      - name: "* (*get_peer_next)(void *ctx,\n\t\t\t\t    struct fst_get_peer_ctx
          **get_ctx,\n\t\t\t\t    bool mb_only)"
        type: u8
      item_type: struct
      name: fst_wpa_obj
      pos:
        line_end: 133
        line_start: 46
        source_file: /src/hostap/src/fst/fst.h
    - fields:
      - name: (*init)(void)
        type: int
      - name: (*deinit)(void)
        type: void
      - name: (*on_group_created)(struct fst_group *g)
        type: int
      - name: (*on_group_deleted)(struct fst_group *g)
        type: void
      - name: (*on_iface_added)(struct fst_iface *i)
        type: int
      - name: (*on_iface_removed)(struct fst_iface *i)
        type: void
      - name: (*on_session_added)(struct fst_session *s)
        type: int
      - name: (*on_session_removed)(struct fst_session *s)
        type: void
      - name: "(*on_event)(enum fst_event_type event_type, struct fst_iface *i,\n\t\t\t
          struct fst_session *s,\n\t\t\t const union fst_event_extra *extra)"
        type: void
      item_type: struct
      name: fst_ctrl
      pos:
        line_end: 209
        line_start: 154
        source_file: /src/hostap/src/fst/fst.h
    - fields:
      - name: group_id[FST_MAX_GROUP_ID_LEN + 1]
        type: char
      - name: priority
        type: u8
      - name: llt
        type: u32
      item_type: struct
      name: fst_iface_cfg
      pos:
        line_end: 221
        line_start: 217
        source_file: /src/hostap/src/fst/fst.h
    typedefs: []
    union: []
- function_names:
  - foreach_fst_group_iface
  - fst_group_has_ifaces
  - fst_group_first_iface
  - fst_group_get_id
  - foreach_fst_group
  - fst_first_group
  source_file: /src/hostap/src/fst/fst_group.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: group_id[IFNAMSIZ + 1]
        type: char
      - name: ifaces
        type: struct dl_list
      - name: dialog_token
        type: u8
      - name: fsts_id
        type: u32
      - name: global_groups_lentry
        type: struct dl_list
      item_type: struct
      name: fst_group
      pos:
        line_end: 17
        line_start: 11
        source_file: /src/hostap/src/fst/fst_group.h
    typedefs: []
    union: []
- function_names:
  - fst_printf_session
  - fst_printf_siface
  - fst_printf_sframe
  - foreach_fst_session
  - foreach_fst_session_safe
  - fst_session_global_inc_id
  - fst_session_global_init
  - fst_session_global_deinit
  - fst_session_notify_ctrl
  - fst_session_set_state
  - fst_find_free_session_id
  - foreach_fst_session
  - fst_session_timeout_handler
  - fst_session_stt_arm
  - fst_session_stt_disarm
  - fst_session_is_in_transition
  - fst_session_is_in_progress
  - fst_session_is_ready_pending
  - fst_session_is_ready
  - fst_session_is_switch_requested
  - fst_find_session_in_progress
  - foreach_fst_session
  - fst_session_reset_ex
  - fst_session_send_action
  - fst_session_send_tear_down
  - fst_session_handle_setup_request
  - fst_session_handle_setup_response
  - fst_session_handle_tear_down
  - fst_session_handle_ack_request
  - fst_session_handle_ack_response
  - fst_session_create
  - fst_session_set_iface
  - fst_session_set_llt
  - fst_session_set_peer_addr
  - fst_session_initiate_setup
  - fst_session_respond
  - fst_session_initiate_switch
  - fst_session_handle_action
  - fst_session_tear_down_setup
  - fst_session_reset
  - fst_session_delete
  - fst_session_get_group
  - fst_session_get_iface
  - fst_session_get_id
  - fst_session_get_peer_addr
  - fst_session_get_llt
  - fst_session_get_state
  - fst_session_get_by_id
  - foreach_fst_session
  - fst_session_enum
  - foreach_fst_session
  - fst_session_on_action_rx
  - fst_session_set_str_ifname
  - fst_session_set_str_peer_addr
  - fst_session_set_str_llt
  - fst_session_global_on_iface_detached
  - foreach_fst_session
  - fst_session_global_get_first_by_group
  - foreach_fst_session
  - get_group_fill_session
  - (*g)
  - fst_test_req_send_fst_request
  - fst_test_req_send_fst_response
  - fst_test_req_send_ack_request
  - fst_test_req_send_ack_response
  - fst_test_req_send_tear_down
  - fst_test_req_get_fsts_id
  - fst_test_req_get_local_mbies
  source_file: /src/hostap/src/fst/fst_session.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FST_LLT_SWITCH_IMMEDIATELY
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/hostap/src/fst/fst_session.c
      type_or_value: '0'
    - item_type: preproc_def
      name: FST_LLT_MS_DEFAULT
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/hostap/src/fst/fst_session.c
      type_or_value: '50'
    - item_type: preproc_def
      name: FST_ACTION_MAX_SUPPORTED
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/hostap/src/fst/fst_session.c
      type_or_value: FST_ACTION_ON_CHANNEL_TUNNEL
    - item_type: preproc_def
      name: FST_MAX_COMMAND_WORD_NAME_LENGTH
      pos:
        line_end: 1342
        line_start: 1341
        source_file: /src/hostap/src/fst/fst_session.c
      type_or_value: '16'
    structs:
    - fields:
      - name: data
        type: "struct {\n\t\t/* Session configuration that can be zeroed on reset
          */\n\t\tu8 old_peer_addr[ETH_ALEN];\n\t\tu8 new_peer_addr[ETH_ALEN];\n\t\tstruct
          fst_iface *new_iface;\n\t\tstruct fst_iface *old_iface;\n\t\tu32 llt_ms;\n\t\tu8
          pending_setup_req_dlgt;\n\t\tu32 fsts_id; /* FSTS ID, see spec, 8.4.2.147\n\t\t\t
          \     * Session Transition element */\n\t}"
      - name: global_sessions_lentry
        type: struct dl_list
      - name: id
        type: u32
      - name: '*group'
        type: struct fst_group
      - name: state
        type: enum fst_session_state
      - name: stt_armed
        type: bool
      item_type: struct
      name: fst_session
      pos:
        line_end: 69
        line_start: 50
        source_file: /src/hostap/src/fst/fst_session.c
    typedefs: []
    union: []
- function_names:
  - fst_iface_get_group
  - fst_iface_get_name
  - fst_iface_get_addr
  - fst_iface_get_group_id
  - fst_iface_get_priority
  - fst_iface_get_llt
  - fst_iface_get_mbie
  - fst_iface_get_bssid
  - fst_iface_get_channel_info
  - fst_iface_get_hw_modes
  - fst_iface_set_ies
  - fst_iface_send_action
  - fst_iface_get_peer_mb_ie
  - fst_iface_update_mb_ie
  - fst_iface_get_peer_first
  - fst_iface_get_peer_next
  - fst_iface_get_wpa_obj_ctx
  source_file: /src/hostap/src/fst/fst_iface.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*group'
        type: struct fst_group
      - name: iface_obj
        type: struct fst_wpa_obj
      - name: own_addr[ETH_ALEN]
        type: u8
      - name: '*mb_ie'
        type: struct wpabuf
      - name: ifname[IFNAMSIZ + 1]
        type: char
      - name: cfg
        type: struct fst_iface_cfg
      - name: group_lentry
        type: struct dl_list
      item_type: struct
      name: fst_iface
      pos:
        line_end: 25
        line_start: 17
        source_file: /src/hostap/src/fst/fst_iface.h
    typedefs: []
    union: []
- function_names:
  - get_fst_group_by_id
  - foreach_fst_group
  - format_session_state_extra
  - fst_ctrl_iface_notify
  - foreach_fst_group
  - session_get
  - session_set
  - session_add
  - session_remove
  - session_initiate
  - session_respond
  - session_transfer
  - session_teardown
  - test_request
  - list_session_enum_cb
  - list_sessions
  - iface_peers
  - foreach_fst_group_iface
  - get_peer_mbies
  - foreach_fst_group
  - list_ifaces
  - foreach_fst_group_iface
  - list_groups
  - foreach_fst_group
  - band_freq
  - print_band
  - fst_ctrl_iface_on_iface_state_changed
  - fst_ctrl_iface_on_iface_added
  - fst_ctrl_iface_on_iface_removed
  - fst_ctrl_iface_on_event
  - fst_ctrl_iface_mb_info
  - foreach_fst_group
  - foreach_fst_group_iface
  - fst_ctrl_iface_receive
  - fst_read_next_int_param
  - fst_read_next_text_param
  - fst_read_peer_addr
  - fst_parse_attach_command
  - fst_parse_detach_command
  - fst_iface_detach
  - foreach_fst_group
  source_file: /src/hostap/src/fst/fst_ctrl_iface.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*buf'
        type: char
      - name: buflen
        type: size_t
      - name: reply_len
        type: size_t
      item_type: struct
      name: list_sessions_cb_ctx
      pos:
        line_end: 465
        line_start: 461
        source_file: /src/hostap/src/fst/fst_ctrl_iface.c
    - fields:
      - name: '*name'
        type: char
      - name: has_param
        type: unsigned
      - name: (*process)(const char *group_id, char *buf, size_t buflen)
        type: int
      item_type: struct
      name: fst_command
      pos:
        line_end: 769
        line_start: 765
        source_file: /src/hostap/src/fst/fst_ctrl_iface.c
    typedefs: []
    union: []
- function_names:
  - MKA_ALIGN_LENGTH
  - is_ki_equal
  - set_mka_param_body_len
  - get_mka_param_body_len
  - get_mka_param_body_type
  - mi_txt
  - sci_txt
  - algo_agility_txt
  - ieee802_1x_mka_dump_basic_body
  - ieee802_1x_mka_dump_peer_body
  - ieee802_1x_mka_dump_dist_sak_body
  - yes_no
  - ieee802_1x_mka_dump_sak_use_body
  - ieee802_1x_kay_get_participant
  - ieee802_1x_kay_get_principal_participant
  - get_peer_mi
  - dl_list_for_each
  - ieee802_1x_kay_get_potential_peer
  - ieee802_1x_kay_get_live_peer
  - ieee802_1x_kay_is_in_potential_peer
  - ieee802_1x_kay_is_in_live_peer
  - ieee802_1x_kay_get_peer
  - ieee802_1x_kay_get_cipher_suite
  - mka_sci_u64
  - sci_equal
  - ieee802_1x_kay_get_peer_sci
  - ieee802_1x_kay_init_receive_sa
  - ieee802_1x_kay_deinit_receive_sa
  - ieee802_1x_kay_init_receive_sc
  - ieee802_1x_delete_receive_sa
  - ieee802_1x_kay_deinit_receive_sc
  - ieee802_1x_kay_dump_peer
  - ieee802_1x_kay_create_peer
  - ieee802_1x_kay_create_live_peer
  - ieee802_1x_kay_create_potential_peer
  - ieee802_1x_kay_move_live_peer
  - ieee802_1x_mka_basic_body_present
  - ieee802_1x_mka_basic_body_length
  - ieee802_1x_mka_encode_basic_body
  - reset_participant_mi
  - ieee802_1x_mka_decode_basic_body
  - ieee802_1x_mka_live_peer_body_present
  - ieee802_1x_mka_get_live_peer_length
  - ieee802_1x_mka_encode_live_peer_body
  - ieee802_1x_mka_potential_peer_body_present
  - ieee802_1x_mka_get_potential_peer_length
  - ieee802_1x_mka_encode_potential_peer_body
  - ieee802_1x_mka_i_in_peerlist
  - ieee802_1x_mka_decode_live_peer_body
  - ieee802_1x_mka_decode_potential_peer_body
  - ieee802_1x_mka_sak_use_body_present
  - ieee802_1x_mka_get_sak_use_length
  - ieee802_1x_mka_get_lpn
  - ieee802_1x_mka_encode_sak_use_body
  - ieee802_1x_mka_decode_sak_use_body
  - ieee802_1x_mka_dist_sak_body_present
  - ieee802_1x_mka_get_dist_sak_length
  - ieee802_1x_mka_encode_dist_sak_body
  - ieee802_1x_kay_init_data_key
  - ieee802_1x_mka_decode_dist_sak_body
  - ieee802_1x_mka_icv_body_present
  - ieee802_1x_mka_get_icv_length
  - ieee802_1x_mka_encode_icv_body
  - ieee802_1x_mka_decode_icv_body
  - ieee802_1x_mka_decode_dist_cak_body
  - ieee802_1x_mka_decode_kmd_body
  - ieee802_1x_mka_decode_announce_body
  - ieee802_1x_kay_use_data_key
  - ieee802_1x_kay_deinit_data_key
  - ieee802_1x_kay_generate_new_sak
  - compare_priorities
  - ieee802_1x_kay_elect_key_server
  - ieee802_1x_kay_decide_macsec_use
  - ieee802_1x_kay_encode_mkpdu
  - ieee802_1x_participant_send_mkpdu
  - ieee802_1x_delete_transmit_sa
  - ieee802_1x_participant_timer
  - ieee802_1x_kay_init_transmit_sa
  - ieee802_1x_kay_deinit_transmit_sa
  - ieee802_1x_kay_init_transmit_sc
  - ieee802_1x_kay_deinit_transmit_sc
  - ieee802_1x_kay_set_latest_sa_attr
  - ieee802_1x_kay_set_old_sa_attr
  - lookup_txsa_by_an
  - lookup_rxsa_by_an
  - ieee802_1x_kay_create_sas
  - ieee802_1x_kay_delete_sas
  - ieee802_1x_kay_enable_tx_sas
  - ieee802_1x_kay_enable_rx_sas
  - ieee802_1x_kay_enable_new_info
  - ieee802_1x_kay_mkpdu_validity_check
  - ieee802_1x_kay_decode_mkpdu
  - kay_l2_receive
  - ieee802_1x_kay_init
  - ieee802_1x_kay_deinit
  - mode_txt
  - ieee802_1x_kay_create_mka
  - ieee802_1x_kay_delete_mka
  - ieee802_1x_kay_mka_participate
  - ieee802_1x_kay_new_sak
  - ieee802_1x_kay_change_cipher_suite
  - ieee802_1x_kay_get_status
  - true_false
  - activate_control_txt
  - mka_mib_peer
  - dl_list_for_each
  - ieee802_1x_kay_get_mib
  source_file: /src/hostap/src/pae/ieee802_1x_kay.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEFAULT_SA_KEY_LEN
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/hostap/src/pae/ieee802_1x_kay.c
      type_or_value: '16'
    - item_type: preproc_def
      name: DEFAULT_ICV_LEN
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/hostap/src/pae/ieee802_1x_kay.c
      type_or_value: '16'
    - item_type: preproc_def
      name: MAX_ICV_LEN
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/hostap/src/pae/ieee802_1x_kay.c
      type_or_value: '32  '
    - item_type: preproc_def
      name: MAX_MISSING_SAK_USE
      pos:
        line_end: 31
        line_start: 29
        source_file: /src/hostap/src/pae/ieee802_1x_kay.c
      type_or_value: '10  '
    - item_type: preproc_def
      name: PENDING_PN_EXHAUSTION
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/hostap/src/pae/ieee802_1x_kay.c
      type_or_value: '0xC0000000'
    - item_type: preproc_def
      name: MKA_ALGO_AGILITY_2009
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/hostap/src/pae/ieee802_1x_kay.c
      type_or_value: '{ 0x00, 0x80, 0xC2, 0x01 }'
    - item_type: preproc_def
      name: CS_TABLE_SIZE
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/hostap/src/pae/ieee802_1x_kay.c
      type_or_value: (ARRAY_SIZE(cipher_suite_tbl))
    - item_type: preproc_def
      name: DEFAULT_CS_INDEX
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/hostap/src/pae/ieee802_1x_kay.c
      type_or_value: '0'
    - item_type: preproc_def
      name: MKA_ALG_TABLE_SIZE
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/hostap/src/pae/ieee802_1x_kay.c
      type_or_value: (ARRAY_SIZE(mka_alg_tbl))
    structs:
    - fields:
      - name: "(*body_tx)(struct ieee802_1x_mka_participant *participant,\n\t\t       struct
          wpabuf *buf)"
        type: int
      - name: "(*body_rx)(struct ieee802_1x_mka_participant *participant,\n\t\t       const
          u8 *mka_msg, size_t msg_len)"
        type: int
      - name: (*body_length)(struct ieee802_1x_mka_participant *participant)
        type: int
      - name: (*body_present)(struct ieee802_1x_mka_participant *participant)
        type: bool
      item_type: struct
      name: mka_param_body_handler
      pos:
        line_end: 2025
        line_start: 2018
        source_file: /src/hostap/src/pae/ieee802_1x_kay.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/pae/ieee802_1x_kay_i.h
  types:
    enum:
    - enumerators:
      - name: MKA_BASIC_PARAMETER_SET
        value: MKA_VERSION_ID
      - name: MKA_LIVE_PEER_LIST
        value: '1'
      - name: MKA_POTENTIAL_PEER_LIST
        value: '2'
      - name: MKA_SAK_USE
        value: '3'
      - name: MKA_DISTRIBUTED_SAK
        value: '4'
      - name: MKA_DISTRIBUTED_CAK
        value: '5'
      - name: MKA_KMD
        value: '6'
      - name: MKA_ANNOUNCEMENT
        value: '7'
      - name: MKA_ICV_INDICATOR
        value: '255'
      item_type: enum
      name: mka_packet_type
      pos:
        line_end: 28
        line_start: 18
        source_file: /src/hostap/src/pae/ieee802_1x_kay_i.h
    - enumerators:
      - name: DEFAULT
      - name: DISABLED
      - name: ON_OPER_UP
      - name: ALWAYS
      item_type: enum
      name: activate_ctrl
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/hostap/src/pae/ieee802_1x_kay_i.h
    preproc_defs:
    - item_type: preproc_def
      name: MKA_VERSION_ID
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/hostap/src/pae/ieee802_1x_kay_i.h
      type_or_value: '1'
    - item_type: preproc_def
      name: ICV_LEN
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/hostap/src/pae/ieee802_1x_kay_i.h
      type_or_value: '16  '
    - item_type: preproc_def
      name: SAK_WRAPPED_LEN
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/hostap/src/pae/ieee802_1x_kay_i.h
      type_or_value: '24'
    - item_type: preproc_def
      name: DEFAULT_DIS_SAK_BODY_LENGTH
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/hostap/src/pae/ieee802_1x_kay_i.h
      type_or_value: (SAK_WRAPPED_LEN + 4)
    - item_type: preproc_def
      name: MAX_RETRY_CNT
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/hostap/src/pae/ieee802_1x_kay_i.h
      type_or_value: '5'
    - item_type: preproc_def
      name: DEFAULT_MKA_ALG_INDEX
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/hostap/src/pae/ieee802_1x_kay_i.h
      type_or_value: '0'
    - item_type: preproc_def
      name: MKA_HDR_LEN
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/hostap/src/pae/ieee802_1x_kay_i.h
      type_or_value: sizeof(struct ieee802_1x_mka_hdr)
    structs:
    - fields:
      - name: mi[MI_LEN]
        type: u8
      - name: mn
        type: be32
      item_type: struct
      name: ieee802_1x_mka_peer_id
      pos:
        line_end: 41
        line_start: 38
        source_file: /src/hostap/src/pae/ieee802_1x_kay_i.h
    - fields:
      - name: sci
        type: struct ieee802_1x_mka_sci
      - name: mi[MI_LEN]
        type: u8
      - name: mn
        type: u32
      - name: expire
        type: time_t
      - name: is_key_server
        type: bool
      - name: key_server_priority
        type: u8
      - name: macsec_desired
        type: bool
      - name: macsec_capability
        type: enum macsec_cap
      - name: sak_used
        type: bool
      - name: missing_sak_use_count
        type: int
      - name: list
        type: struct dl_list
      item_type: struct
      name: ieee802_1x_kay_peer
      pos:
        line_end: 55
        line_start: 43
        source_file: /src/hostap/src/pae/ieee802_1x_kay_i.h
    - fields:
      - name: id
        type: u64
      - name: name[32]
        type: char
      - name: capable
        type: enum macsec_cap
      - name: sak_len
        type: int
      item_type: struct
      name: macsec_ciphersuite
      pos:
        line_end: 62
        line_start: 57
        source_file: /src/hostap/src/pae/ieee802_1x_kay_i.h
    - fields:
      - name: parameter[4]
        type: u8
      - name: icv_len
        type: size_t
      - name: "(*cak_trfm)(const u8 *msk, size_t msk_bytes, const u8 *mac1,\n\t\t\tconst
          u8 *mac2, u8 *cak, size_t cak_bytes)"
        type: int
      - name: "(*ckn_trfm)(const u8 *msk, size_t msk_bytes, const u8 *mac1,\n\t\t\tconst
          u8 *mac2, const u8 *sid, size_t sid_len, u8 *ckn)"
        type: int
      - name: "(*kek_trfm)(const u8 *cak, size_t cak_bytes,\n\t\t\tconst u8 *ckn,
          size_t ckn_len,\n\t\t\tu8 *kek, size_t kek_bytes)"
        type: int
      - name: "(*ick_trfm)(const u8 *cak, size_t cak_bytes,\n\t\t\tconst u8 *ckn,
          size_t ckn_len,\n\t\t\tu8 *ick, size_t ick_bytes)"
        type: int
      - name: "(*icv_hash)(const u8 *ick, size_t ick_bytes,\n\t\t\tconst u8 *msg,
          size_t msg_len, u8 *icv)"
        type: int
      item_type: struct
      name: mka_alg
      pos:
        line_end: 80
        line_start: 64
        source_file: /src/hostap/src/pae/ieee802_1x_kay_i.h
    - fields:
      - name: ckn
        type: struct mka_key_name
      - name: cak
        type: struct mka_key
      - name: cached
        type: bool
      - name: active
        type: bool
      - name: participant
        type: bool
      - name: retain
        type: bool
      - name: mode
        type: enum mka_created_mode
      - name: activate
        type: enum activate_ctrl { DEFAULT, DISABLED, ON_OPER_UP, ALWAYS }
      - name: principal
        type: bool
      - name: live_peers
        type: struct dl_list
      - name: potential_peers
        type: struct dl_list
      - name: list
        type: struct dl_list
      - name: kek
        type: struct mka_key
      - name: ick
        type: struct mka_key
      - name: lki
        type: struct ieee802_1x_mka_ki
      - name: lan
        type: u8
      - name: ltx
        type: bool
      - name: lrx
        type: bool
      - name: oki
        type: struct ieee802_1x_mka_ki
      - name: oan
        type: u8
      - name: otx
        type: bool
      - name: orx
        type: bool
      - name: is_key_server
        type: bool
      - name: is_obliged_key_server
        type: bool
      - name: can_be_key_server
        type: bool
      - name: is_elected
        type: bool
      - name: sak_list
        type: struct dl_list
      - name: rxsc_list
        type: struct dl_list
      - name: '*txsc'
        type: struct transmit_sc
      - name: mi[MI_LEN]
        type: u8
      - name: mn
        type: u32
      - name: current_peer_id
        type: struct ieee802_1x_mka_peer_id
      - name: current_peer_sci
        type: struct ieee802_1x_mka_sci
      - name: cak_life
        type: time_t
      - name: mka_life
        type: time_t
      - name: to_dist_sak
        type: bool
      - name: to_use_sak
        type: bool
      - name: new_sak
        type: bool
      - name: advised_desired
        type: bool
      - name: advised_capability
        type: enum macsec_cap
      - name: '*new_key'
        type: struct data_key
      - name: retry_count
        type: u32
      - name: '*kay'
        type: struct ieee802_1x_kay
      item_type: struct
      name: ieee802_1x_mka_participant
      pos:
        line_end: 150
        line_start: 85
        source_file: /src/hostap/src/pae/ieee802_1x_kay_i.h
    - fields:
      - name: type
        type: u8
      - name: reserve
        type: u8
      - name: length1
        type: u8
      item_type: struct
      name: ieee802_1x_mka_hdr
      pos:
        line_end: 169
        line_start: 152
        source_file: /src/hostap/src/pae/ieee802_1x_kay_i.h
    - fields:
      - name: version
        type: u8
      - name: priority
        type: u8
      - name: length1
        type: u8
      - name: actor_sci
        type: struct ieee802_1x_mka_sci
      - name: actor_mi[MI_LEN]
        type: u8
      - name: actor_mn
        type: be32
      - name: algo_agility[4]
        type: u8
      - name: ckn[0]
        type: u8
      item_type: struct
      name: ieee802_1x_mka_basic_body
      pos:
        line_end: 216
        line_start: 189
        source_file: /src/hostap/src/pae/ieee802_1x_kay_i.h
    - fields:
      - name: type
        type: u8
      - name: reserve
        type: u8
      - name: length1
        type: u8
      - name: peer[0]
        type: u8
      item_type: struct
      name: ieee802_1x_mka_peer_body
      pos:
        line_end: 244
        line_start: 226
        source_file: /src/hostap/src/pae/ieee802_1x_kay_i.h
    - fields:
      - name: type
        type: u8
      - name: length1
        type: u8
      - name: lsrv_mi[MI_LEN]
        type: u8
      - name: lkn
        type: be32
      - name: llpn
        type: be32
      - name: osrv_mi[MI_LEN]
        type: u8
      - name: okn
        type: be32
      - name: olpn
        type: be32
      item_type: struct
      name: ieee802_1x_mka_sak_use_body
      pos:
        line_end: 319
        line_start: 268
        source_file: /src/hostap/src/pae/ieee802_1x_kay_i.h
    - fields:
      - name: type
        type: u8
      - name: length1
        type: u8
      - name: kn
        type: be32
      - name: sak[0]
        type: u8
      item_type: struct
      name: ieee802_1x_mka_dist_sak_body
      pos:
        line_end: 366
        line_start: 336
        source_file: /src/hostap/src/pae/ieee802_1x_kay_i.h
    - fields:
      - name: type
        type: u8
      - name: reserve
        type: u8
      - name: length1
        type: u8
      - name: cak[24]
        type: u8
      - name: ckn[0]
        type: u8
      item_type: struct
      name: ieee802_1x_mka_dist_cak_body
      pos:
        line_end: 402
        line_start: 381
        source_file: /src/hostap/src/pae/ieee802_1x_kay_i.h
    - fields:
      - name: type
        type: u8
      - name: reserve
        type: u8
      - name: length1
        type: u8
      - name: icv[0]
        type: u8
      item_type: struct
      name: ieee802_1x_mka_icv_body
      pos:
        line_end: 422
        line_start: 404
        source_file: /src/hostap/src/pae/ieee802_1x_kay_i.h
    typedefs: []
    union: []
- function_names:
  - joint_two_mac
  - aes_kdf
  - ieee802_1x_cak_aes_cmac
  - ieee802_1x_ckn_aes_cmac
  - ieee802_1x_kek_aes_cmac
  - ieee802_1x_ick_aes_cmac
  - ieee802_1x_icv_aes_cmac
  - ieee802_1x_sak_aes_cmac
  source_file: /src/hostap/src/pae/ieee802_1x_key.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/pae/ieee802_1x_cp.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/pae/ieee802_1x_key.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - changed_cipher
  - changed_connect
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - SM_STEP
  - ieee802_1x_cp_sm_init
  - ieee802_1x_cp_step_run
  - ieee802_1x_cp_step_cb
  - ieee802_1x_cp_sm_deinit
  - ieee802_1x_cp_connect_pending
  - ieee802_1x_cp_connect_unauthenticated
  - ieee802_1x_cp_connect_authenticated
  - ieee802_1x_cp_connect_secure
  - ieee802_1x_cp_signal_chgdserver
  - ieee802_1x_cp_set_electedself
  - ieee802_1x_cp_set_ciphersuite
  - ieee802_1x_cp_set_offset
  - ieee802_1x_cp_signal_newsak
  - ieee802_1x_cp_set_distributedki
  - ieee802_1x_cp_set_distributedan
  - ieee802_1x_cp_set_usingreceivesas
  - ieee802_1x_cp_set_allreceiving
  - ieee802_1x_cp_set_servertransmitting
  - ieee802_1x_cp_set_usingtransmitas
  - ieee802_1x_cp_sm_step
  - ieee802_1x_cp_retire_when_timeout
  - ieee802_1x_cp_transmit_when_timeout
  source_file: /src/hostap/src/pae/ieee802_1x_cp.c
  types:
    enum:
    - enumerators:
      - name: PENDING
      - name: AUTHENTICATED
      - name: UNAUTHENTICATED
      - name: SECURE
      item_type: enum
      name: connect_type
      pos:
        line_end: 25
        line_start: 25
        source_file: /src/hostap/src/pae/ieee802_1x_cp.c
    - enumerators:
      - name: CP_BEGIN
      - name: CP_ALLOWED
      - name: CP_CHANGE
      - name: CP_INIT
      - name: CP_AUTHENTICATED
      - name: CP_SECURED
      - name: CP_RECEIVE
      - name: CP_RECEIVING
      - name: CP_READY
      - name: CP_TRANSMIT
      - name: CP_TRANSMITTING
      - name: CP_ABANDON
      - name: CP_RETIRE
      item_type: enum
      name: cp_states
      pos:
        line_end: 32
        line_start: 28
        source_file: /src/hostap/src/pae/ieee802_1x_cp.c
    preproc_defs:
    - item_type: preproc_def
      name: STATE_MACHINE_DATA
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/hostap/src/pae/ieee802_1x_cp.c
      type_or_value: struct ieee802_1x_cp_sm
    - item_type: preproc_def
      name: STATE_MACHINE_DEBUG_PREFIX
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/hostap/src/pae/ieee802_1x_cp.c
      type_or_value: '"CP"'
    structs:
    - fields:
      - name: CP_state
        type: "enum cp_states {\n\t\tCP_BEGIN, CP_INIT, CP_CHANGE, CP_ALLOWED, CP_AUTHENTICATED,\n\t\tCP_SECURED,
          CP_RECEIVE, CP_RECEIVING, CP_READY, CP_TRANSMIT,\n\t\tCP_TRANSMITTING, CP_ABANDON,
          CP_RETIRE\n\t}"
      - name: changed
        type: bool
      - name: port_valid
        type: bool
      - name: connect
        type: enum connect_type
      - name: chgd_server
        type: bool
      - name: elected_self
        type: bool
      - name: cipher_offset
        type: enum confidentiality_offset
      - name: cipher_suite
        type: u64
      - name: new_sak
        type: bool
      - name: distributed_ki
        type: struct ieee802_1x_mka_ki
      - name: distributed_an
        type: u8
      - name: using_receive_sas
        type: bool
      - name: all_receiving
        type: bool
      - name: server_transmitting
        type: bool
      - name: using_transmit_sa
        type: bool
      - name: '*lki'
        type: struct ieee802_1x_mka_ki
      - name: lan
        type: u8
      - name: ltx
        type: bool
      - name: lrx
        type: bool
      - name: '*oki'
        type: struct ieee802_1x_mka_ki
      - name: oan
        type: u8
      - name: otx
        type: bool
      - name: orx
        type: bool
      - name: protect_frames
        type: bool
      - name: validate_frames
        type: enum validate_frames
      - name: replay_protect
        type: bool
      - name: replay_window
        type: u32
      - name: current_cipher_suite
        type: u64
      - name: confidentiality_offset
        type: enum confidentiality_offset
      - name: controlled_port_enabled
        type: bool
      - name: port_enabled
        type: bool
      - name: transmit_when
        type: u32
      - name: transmit_delay
        type: u32
      - name: retire_when
        type: u32
      - name: retire_delay
        type: u32
      - name: '*kay'
        type: struct ieee802_1x_kay
      - name: offload
        type: u8
      item_type: struct
      name: ieee802_1x_cp_sm
      pos:
        line_end: 87
        line_start: 27
        source_file: /src/hostap/src/pae/ieee802_1x_cp.c
    typedefs: []
    union: []
- function_names:
  - secy_cp_control_validate_frames
  - secy_cp_control_protect_frames
  - secy_cp_control_encrypt
  - secy_cp_control_replay
  - secy_cp_control_offload
  - secy_cp_control_current_cipher_suite
  - secy_cp_control_confidentiality_offset
  - secy_cp_control_enable_port
  - secy_get_capability
  - secy_get_receive_lowest_pn
  - secy_get_transmit_next_pn
  - secy_set_transmit_next_pn
  - secy_set_receive_lowest_pn
  - secy_create_receive_sc
  - secy_delete_receive_sc
  - secy_create_receive_sa
  - secy_delete_receive_sa
  - secy_enable_receive_sa
  - secy_disable_receive_sa
  - secy_create_transmit_sc
  - secy_delete_transmit_sc
  - secy_create_transmit_sa
  - secy_delete_transmit_sa
  - secy_enable_transmit_sa
  - secy_disable_transmit_sa
  - secy_init_macsec
  - secy_deinit_macsec
  source_file: /src/hostap/src/pae/ieee802_1x_secy_ops.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/pae/ieee802_1x_secy_ops.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/pae/ieee802_1x_kay.h
  types:
    enum:
    - enumerators:
      - name: PSK
      - name: EAP_EXCHANGE
      item_type: enum
      name: mka_created_mode
      pos:
        line_end: 56
        line_start: 53
        source_file: /src/hostap/src/pae/ieee802_1x_kay.h
    preproc_defs:
    - item_type: preproc_def
      name: MI_LEN
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/hostap/src/pae/ieee802_1x_kay.h
      type_or_value: '12  '
    - item_type: preproc_def
      name: MAX_KEY_LEN
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/hostap/src/pae/ieee802_1x_kay.h
      type_or_value: '32  '
    - item_type: preproc_def
      name: MAX_CKN_LEN
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/hostap/src/pae/ieee802_1x_kay.h
      type_or_value: '32  '
    - item_type: preproc_def
      name: MKA_HELLO_TIME
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/hostap/src/pae/ieee802_1x_kay.h
      type_or_value: '2000'
    - item_type: preproc_def
      name: MKA_BOUNDED_HELLO_TIME
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/hostap/src/pae/ieee802_1x_kay.h
      type_or_value: '500'
    - item_type: preproc_def
      name: MKA_LIFE_TIME
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/hostap/src/pae/ieee802_1x_kay.h
      type_or_value: '6000'
    - item_type: preproc_def
      name: MKA_SAK_RETIRE_TIME
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/hostap/src/pae/ieee802_1x_kay.h
      type_or_value: '3000'
    structs:
    - fields:
      - name: mi[MI_LEN]
        type: u8
      - name: kn
        type: u32
      item_type: struct
      name: ieee802_1x_mka_ki
      pos:
        line_end: 36
        line_start: 33
        source_file: /src/hostap/src/pae/ieee802_1x_kay.h
    - fields:
      - name: addr[ETH_ALEN]
        type: u8
      - name: port
        type: be16
      item_type: struct
      name: ieee802_1x_mka_sci
      pos:
        line_end: 41
        line_start: 38
        source_file: /src/hostap/src/pae/ieee802_1x_kay.h
    - fields:
      - name: key[MAX_KEY_LEN]
        type: u8
      - name: len
        type: size_t
      item_type: struct
      name: mka_key
      pos:
        line_end: 46
        line_start: 43
        source_file: /src/hostap/src/pae/ieee802_1x_kay.h
    - fields:
      - name: name[MAX_CKN_LEN]
        type: u8
      - name: len
        type: size_t
      item_type: struct
      name: mka_key_name
      pos:
        line_end: 51
        line_start: 48
        source_file: /src/hostap/src/pae/ieee802_1x_kay.h
    - fields:
      - name: '*key'
        type: u8
      - name: key_len
        type: int
      - name: key_identifier
        type: struct ieee802_1x_mka_ki
      - name: confidentiality_offset
        type: enum confidentiality_offset
      - name: an
        type: u8
      - name: transmits
        type: bool
      - name: receives
        type: bool
      - name: created_time
        type: struct os_time
      - name: next_pn
        type: u32
      - name: rx_latest
        type: bool
      - name: tx_latest
        type: bool
      - name: user
        type: int
      - name: list
        type: struct dl_list
      item_type: struct
      name: data_key
      pos:
        line_end: 76
        line_start: 58
        source_file: /src/hostap/src/pae/ieee802_1x_kay.h
    - fields:
      - name: sci
        type: struct ieee802_1x_mka_sci
      - name: transmitting
        type: bool
      - name: created_time
        type: struct os_time
      - name: encoding_sa
        type: u8
      - name: enciphering_sa
        type: u8
      - name: list
        type: struct dl_list
      - name: sa_list
        type: struct dl_list
      item_type: struct
      name: transmit_sc
      pos:
        line_end: 91
        line_start: 79
        source_file: /src/hostap/src/pae/ieee802_1x_kay.h
    - fields:
      - name: in_use
        type: bool
      - name: next_pn
        type: u32
      - name: created_time
        type: struct os_time
      - name: enable_transmit
        type: bool
      - name: an
        type: u8
      - name: confidentiality
        type: bool
      - name: '*pkey'
        type: struct data_key
      - name: '*sc'
        type: struct transmit_sc
      - name: list
        type: struct dl_list
      item_type: struct
      name: transmit_sa
      pos:
        line_end: 107
        line_start: 94
        source_file: /src/hostap/src/pae/ieee802_1x_kay.h
    - fields:
      - name: sci
        type: struct ieee802_1x_mka_sci
      - name: receiving
        type: bool
      - name: created_time
        type: struct os_time
      - name: list
        type: struct dl_list
      - name: sa_list
        type: struct dl_list
      item_type: struct
      name: receive_sc
      pos:
        line_end: 118
        line_start: 110
        source_file: /src/hostap/src/pae/ieee802_1x_kay.h
    - fields:
      - name: enable_receive
        type: bool
      - name: in_use
        type: bool
      - name: next_pn
        type: u32
      - name: lowest_pn
        type: u32
      - name: an
        type: u8
      - name: created_time
        type: struct os_time
      - name: '*pkey'
        type: struct data_key
      - name: '*sc'
        type: struct receive_sc
      - name: list
        type: struct dl_list
      item_type: struct
      name: receive_sa
      pos:
        line_end: 134
        line_start: 121
        source_file: /src/hostap/src/pae/ieee802_1x_kay.h
    - fields:
      - name: '*ctx'
        type: void
      - name: (*macsec_init)(void *ctx, struct macsec_init_params *params)
        type: int
      - name: (*macsec_deinit)(void *ctx)
        type: int
      - name: (*macsec_get_capability)(void *priv, enum macsec_cap *cap)
        type: int
      - name: (*enable_protect_frames)(void *ctx, bool enabled)
        type: int
      - name: (*enable_encrypt)(void *ctx, bool enabled)
        type: int
      - name: (*set_replay_protect)(void *ctx, bool enabled, u32 window)
        type: int
      - name: (*set_current_cipher_suite)(void *ctx, u64 cs)
        type: int
      - name: (*enable_controlled_port)(void *ctx, bool enabled)
        type: int
      - name: (*get_receive_lowest_pn)(void *ctx, struct receive_sa *sa)
        type: int
      - name: (*get_transmit_next_pn)(void *ctx, struct transmit_sa *sa)
        type: int
      - name: (*set_transmit_next_pn)(void *ctx, struct transmit_sa *sa)
        type: int
      - name: (*set_receive_lowest_pn)(void *ctx, struct receive_sa *sa)
        type: int
      - name: "(*create_receive_sc)(void *ctx, struct receive_sc *sc,\n\t\t\t\t enum
          validate_frames vf,\n\t\t\t\t enum confidentiality_offset co)"
        type: int
      - name: (*delete_receive_sc)(void *ctx, struct receive_sc *sc)
        type: int
      - name: (*create_receive_sa)(void *ctx, struct receive_sa *sa)
        type: int
      - name: (*delete_receive_sa)(void *ctx, struct receive_sa *sa)
        type: int
      - name: (*enable_receive_sa)(void *ctx, struct receive_sa *sa)
        type: int
      - name: (*disable_receive_sa)(void *ctx, struct receive_sa *sa)
        type: int
      - name: "(*create_transmit_sc)(void *ctx, struct transmit_sc *sc,\n\t\t\t\t
          \ enum confidentiality_offset co)"
        type: int
      - name: (*delete_transmit_sc)(void *ctx, struct transmit_sc *sc)
        type: int
      - name: (*create_transmit_sa)(void *ctx, struct transmit_sa *sa)
        type: int
      - name: (*delete_transmit_sa)(void *ctx, struct transmit_sa *sa)
        type: int
      - name: (*enable_transmit_sa)(void *ctx, struct transmit_sa *sa)
        type: int
      - name: (*disable_transmit_sa)(void *ctx, struct transmit_sa *sa)
        type: int
      - name: (*set_offload)(void *ctx, u8 offload)
        type: int
      item_type: struct
      name: ieee802_1x_kay_ctx
      pos:
        line_end: 169
        line_start: 136
        source_file: /src/hostap/src/pae/ieee802_1x_kay.h
    - fields:
      - name: enable
        type: bool
      - name: active
        type: bool
      - name: authenticated
        type: bool
      - name: secured
        type: bool
      - name: failed
        type: bool
      - name: actor_sci
        type: struct ieee802_1x_mka_sci
      - name: actor_priority
        type: u8
      - name: key_server_sci
        type: struct ieee802_1x_mka_sci
      - name: key_server_priority
        type: u8
      - name: macsec_capable
        type: enum macsec_cap
      - name: macsec_desired
        type: bool
      - name: macsec_protect
        type: bool
      - name: macsec_encrypt
        type: bool
      - name: macsec_replay_protect
        type: bool
      - name: macsec_replay_window
        type: u32
      - name: macsec_validate
        type: enum validate_frames
      - name: macsec_confidentiality
        type: enum confidentiality_offset
      - name: mka_hello_time
        type: u32
      - name: ltx_kn
        type: u32
      - name: ltx_an
        type: u8
      - name: lrx_kn
        type: u32
      - name: lrx_an
        type: u8
      - name: otx_kn
        type: u32
      - name: otx_an
        type: u8
      - name: orx_kn
        type: u32
      - name: orx_an
        type: u8
      - name: '*ctx'
        type: struct ieee802_1x_kay_ctx
      - name: is_key_server
        type: bool
      - name: is_obliged_key_server
        type: bool
      - name: include_icv_indicator
        type: bool
      - name: if_name[IFNAMSIZ]
        type: char
      - name: macsec_offload
        type: u8
      - name: macsec_csindex
        type: unsigned int
      - name: mka_algindex
        type: int
      - name: dist_kn
        type: u32
      - name: rcvd_keys
        type: u32
      - name: dist_an
        type: u8
      - name: dist_time
        type: time_t
      - name: mka_version
        type: u8
      - name: algo_agility[4]
        type: u8
      - name: pn_exhaustion
        type: u32
      - name: port_enable
        type: bool
      - name: rx_enable
        type: bool
      - name: tx_enable
        type: bool
      - name: participant_list
        type: struct dl_list
      - name: policy
        type: enum macsec_policy
      - name: '*cp'
        type: struct ieee802_1x_cp_sm
      - name: '*l2_mka'
        type: struct l2_packet_data
      - name: vf
        type: enum validate_frames
      - name: co
        type: enum confidentiality_offset
      item_type: struct
      name: ieee802_1x_kay
      pos:
        line_end: 237
        line_start: 171
        source_file: /src/hostap/src/pae/ieee802_1x_kay.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/p2p/p2p.h
  types:
    enum:
    - enumerators:
      - name: WPS_NOT_READY
      - name: WPS_PIN_DISPLAY
      - name: WPS_PIN_KEYPAD
      - name: WPS_PBC
      - name: WPS_NFC
      - name: WPS_P2PS
      item_type: enum
      name: p2p_wps_method
      pos:
        line_end: 86
        line_start: 83
        source_file: /src/hostap/src/p2p/p2p.h
    - enumerators:
      - name: P2P_SCAN_SOCIAL
      - name: P2P_SCAN_FULL
      - name: P2P_SCAN_SPECIFIC
      - name: P2P_SCAN_SOCIAL_PLUS_ONE
      item_type: enum
      name: p2p_scan_type
      pos:
        line_end: 364
        line_start: 359
        source_file: /src/hostap/src/p2p/p2p.h
    - enumerators:
      - name: P2P_PROV_DISC_SUCCESS
      - name: P2P_PROV_DISC_INFO_UNAVAILABLE
      - name: P2P_PROV_DISC_TIMEOUT_JOIN
      - name: P2P_PROV_DISC_TIMEOUT
      - name: P2P_PROV_DISC_REJECTED
      item_type: enum
      name: p2p_prov_disc_status
      pos:
        line_end: 541
        line_start: 535
        source_file: /src/hostap/src/p2p/p2p.h
    - enumerators:
      - name: P2P_FIND_START_WITH_FULL
      - name: P2P_FIND_ONLY_SOCIAL
      - name: P2P_FIND_PROGRESSIVE
      item_type: enum
      name: p2p_discovery_type
      pos:
        line_end: 1538
        line_start: 1534
        source_file: /src/hostap/src/p2p/p2p.h
    - enumerators:
      - name: P2P_INVITE_ROLE_GO
      - name: P2P_INVITE_ROLE_CLIENT
      - name: P2P_INVITE_ROLE_ACTIVE_GO
      item_type: enum
      name: p2p_invite_role
      pos:
        line_end: 1772
        line_start: 1768
        source_file: /src/hostap/src/p2p/p2p.h
    - enumerators:
      - name: P2P_PREQ_MALFORMED
      - name: P2P_PREQ_NOT_LISTEN
      - name: P2P_PREQ_NOT_P2P
      - name: P2P_PREQ_NOT_PROCESSED
      - name: P2P_PREQ_PROCESSED
      item_type: enum
      name: p2p_probe_req_status
      pos:
        line_end: 1896
        line_start: 1890
        source_file: /src/hostap/src/p2p/p2p.h
    - enumerators:
      - name: P2P_SEND_ACTION_SUCCESS
      - name: P2P_SEND_ACTION_NO_ACK
      - name: P2P_SEND_ACTION_FAILED
      item_type: enum
      name: p2p_send_action_result
      pos:
        line_end: 1977
        line_start: 1973
        source_file: /src/hostap/src/p2p/p2p.h
    preproc_defs:
    - item_type: preproc_def
      name: DEVICE_IDENTITY_KEY_MAX_LEN
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/hostap/src/p2p/p2p.h
      type_or_value: '64'
    - item_type: preproc_def
      name: DEVICE_IDENTITY_KEY_LEN
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/hostap/src/p2p/p2p.h
      type_or_value: '16'
    - item_type: preproc_def
      name: DEVICE_IDENTITY_TAG_LEN
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/hostap/src/p2p/p2p.h
      type_or_value: '8'
    - item_type: preproc_def
      name: DEVICE_IDENTITY_NONCE_LEN
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/hostap/src/p2p/p2p.h
      type_or_value: '8'
    - item_type: preproc_def
      name: DEVICE_MAX_HASH_LEN
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/hostap/src/p2p/p2p.h
      type_or_value: '32'
    - item_type: preproc_def
      name: DIR_STR_LEN
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/hostap/src/p2p/p2p.h
      type_or_value: '3'
    - item_type: preproc_def
      name: DIRA_CIPHER_VERSION_128
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/hostap/src/p2p/p2p.h
      type_or_value: '0'
    - item_type: preproc_def
      name: P2PS_SETUP_NONE
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/hostap/src/p2p/p2p.h
      type_or_value: '0'
    - item_type: preproc_def
      name: P2PS_SETUP_NEW
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/hostap/src/p2p/p2p.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: P2PS_SETUP_CLIENT
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/hostap/src/p2p/p2p.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: P2PS_SETUP_GROUP_OWNER
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/hostap/src/p2p/p2p.h
      type_or_value: BIT(2)
    - item_type: preproc_def
      name: P2PS_WILD_HASH_STR
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/hostap/src/p2p/p2p.h
      type_or_value: '"org.wi-fi.wfds"'
    - item_type: preproc_def
      name: P2PS_HASH_LEN
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/hostap/src/p2p/p2p.h
      type_or_value: '6'
    - item_type: preproc_def
      name: P2P_MAX_QUERY_HASH
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/hostap/src/p2p/p2p.h
      type_or_value: '6'
    - item_type: preproc_def
      name: P2PS_FEATURE_CAPAB_CPT_MAX
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/hostap/src/p2p/p2p.h
      type_or_value: '2'
    - item_type: preproc_def
      name: P2P_MAX_PREF_CHANNELS
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/hostap/src/p2p/p2p.h
      type_or_value: '100'
    - item_type: preproc_def
      name: P2P_MAX_REG_CLASSES
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/hostap/src/p2p/p2p.h
      type_or_value: '20'
    - item_type: preproc_def
      name: P2P_MAX_REG_CLASS_CHANNELS
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/hostap/src/p2p/p2p.h
      type_or_value: '60'
    - item_type: preproc_def
      name: P2P_MAX_CHANNELS
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/hostap/src/p2p/p2p.h
      type_or_value: '50'
    - item_type: preproc_def
      name: P2P_MAX_WPS_VENDOR_EXT
      pos:
        line_end: 367
        line_start: 366
        source_file: /src/hostap/src/p2p/p2p.h
      type_or_value: '10'
    - item_type: preproc_def
      name: P2P_SEC_DEVICE_TYPES
      pos:
        line_end: 638
        line_start: 637
        source_file: /src/hostap/src/p2p/p2p.h
      type_or_value: '5'
    structs:
    - fields:
      - name: reg_class[P2P_MAX_REG_CLASSES]
        type: "struct p2p_reg_class {\n\t\t/**\n\t\t * reg_class - Regulatory class
          (IEEE 802.11-2007, Annex J)\n\t\t */\n\t\tu8 reg_class;\n\n\t\t/**\n\t\t
          * channel - Supported channels\n\t\t */\n\t\tu8 channel[P2P_MAX_REG_CLASS_CHANNELS];\n\n\t\t/**\n\t\t
          * channels - Number of channel entries in use\n\t\t */\n\t\tsize_t channels;\n\t}"
      - name: reg_classes
        type: size_t
      item_type: struct
      name: p2p_channels
      pos:
        line_end: 81
        line_start: 56
        source_file: /src/hostap/src/p2p/p2p.h
    - fields:
      - name: reg_class
        type: u8
      - name: channel[P2P_MAX_REG_CLASS_CHANNELS]
        type: u8
      - name: channels
        type: size_t
      item_type: struct
      name: p2p_reg_class
      pos:
        line_end: 75
        line_start: 60
        source_file: /src/hostap/src/p2p/p2p.h
    - fields:
      - name: status
        type: int
      - name: role_go
        type: int
      - name: freq
        type: int
      - name: ht40
        type: int
      - name: vht
        type: int
      - name: edmg
        type: int
      - name: max_oper_chwidth
        type: u8
      - name: vht_center_freq2
        type: unsigned int
      - name: he
        type: int
      - name: ssid[SSID_MAX_LEN]
        type: u8
      - name: ssid_len
        type: size_t
      - name: psk[32]
        type: u8
      - name: psk_set
        type: int
      - name: passphrase[64]
        type: char
      - name: peer_device_addr[ETH_ALEN]
        type: u8
      - name: peer_interface_addr[ETH_ALEN]
        type: u8
      - name: wps_method
        type: enum p2p_wps_method
      - name: freq_list[P2P_MAX_CHANNELS]
        type: int
      - name: persistent_group
        type: int
      - name: peer_config_timeout
        type: unsigned int
      - name: p2p2
        type: bool
      - name: akmp
        type: int
      - name: cipher
        type: int
      - name: pmkid[PMKID_LEN]
        type: u8
      - name: pmk[PMK_LEN_MAX]
        type: u8
      - name: pmk_len
        type: size_t
      - name: sae_password[100]
        type: char
      item_type: struct
      name: p2p_go_neg_results
      pos:
        line_end: 219
        line_start: 91
        source_file: /src/hostap/src/p2p/p2p.h
    - fields:
      - name: pd_seeker
        type: unsigned int
      - name: status
        type: int
      - name: adv_id
        type: u32
      - name: session_id
        type: u32
      - name: method
        type: u16
      - name: conncap
        type: u8
      - name: role
        type: u8
      - name: session_mac[ETH_ALEN]
        type: u8
      - name: adv_mac[ETH_ALEN]
        type: u8
      - name: cpt_mask
        type: u8
      - name: cpt_priority[P2PS_FEATURE_CAPAB_CPT_MAX + 1]
        type: u8
      - name: force_freq
        type: unsigned int
      - name: pref_freq
        type: unsigned int
      - name: info[0]
        type: char
      item_type: struct
      name: p2ps_provision
      pos:
        line_end: 298
        line_start: 221
        source_file: /src/hostap/src/p2p/p2p.h
    - fields:
      - name: '*next'
        type: struct p2ps_advertisement
      - name: '*svc_info'
        type: char
      - name: id
        type: u32
      - name: config_methods
        type: u16
      - name: state
        type: u8
      - name: auto_accept
        type: u8
      - name: hash[P2PS_HASH_LEN]
        type: u8
      - name: cpt_mask
        type: u8
      - name: cpt_priority[P2PS_FEATURE_CAPAB_CPT_MAX + 1]
        type: u8
      - name: svc_name[0]
        type: char
      item_type: struct
      name: p2ps_advertisement
      pos:
        line_end: 354
        line_start: 300
        source_file: /src/hostap/src/p2p/p2p.h
    - fields:
      - name: pairing_capable
        type: bool
      - name: enable_pairing_setup
        type: bool
      - name: enable_pairing_cache
        type: bool
      - name: bootstrap_methods
        type: u16
      - name: pasn_type
        type: u8
      - name: dik_cipher
        type: int
      - name: dik_data[DEVICE_IDENTITY_KEY_MAX_LEN]
        type: u8
      - name: dik_len
        type: size_t
      item_type: struct
      name: p2p_pairing_config
      pos:
        line_end: 405
        line_start: 371
        source_file: /src/hostap/src/p2p/p2p.h
    - fields:
      - name: p2p_device_addr[ETH_ALEN]
        type: u8
      - name: pri_dev_type[8]
        type: u8
      - name: device_name[WPS_DEV_NAME_MAX_LEN + 1]
        type: char
      - name: manufacturer[WPS_MANUFACTURER_MAX_LEN + 1]
        type: char
      - name: model_name[WPS_MODEL_NAME_MAX_LEN + 1]
        type: char
      - name: model_number[WPS_MODEL_NUMBER_MAX_LEN + 1]
        type: char
      - name: serial_number[WPS_SERIAL_NUMBER_MAX_LEN + 1]
        type: char
      - name: level
        type: int
      - name: config_methods
        type: u16
      - name: dev_capab
        type: u8
      - name: group_capab
        type: u8
      - name: wps_sec_dev_type_list[WPS_SEC_DEV_TYPE_MAX_LEN]
        type: u8
      - name: wps_sec_dev_type_list_len
        type: size_t
      - name: '*wps_vendor_ext[P2P_MAX_WPS_VENDOR_EXT]'
        type: struct wpabuf
      - name: '*wfd_subelems'
        type: struct wpabuf
      - name: '*vendor_elems'
        type: struct wpabuf
      - name: '*p2ps_instance'
        type: struct wpabuf
      - name: pcea_cap_info
        type: u16
      - name: reg_info
        type: u8
      - name: pairing_config
        type: struct p2p_pairing_config
      - name: dik_id
        type: int
      - name: nonce_tag_valid
        type: bool
      - name: nonce[DEVICE_IDENTITY_NONCE_LEN]
        type: u8
      - name: tag[DEVICE_IDENTITY_TAG_LEN]
        type: u8
      item_type: struct
      name: p2p_peer_info
      pos:
        line_end: 533
        line_start: 410
        source_file: /src/hostap/src/p2p/p2p.h
    - fields:
      - name: op_class
        type: u8
      - name: chan
        type: u8
      item_type: struct
      name: p2p_channel
      pos:
        line_end: 546
        line_start: 543
        source_file: /src/hostap/src/p2p/p2p.h
    - fields:
      - name: country[3]
        type: char
      - name: reg_class
        type: u8
      - name: channel
        type: u8
      - name: channel_forced
        type: u8
      - name: op_reg_class
        type: u8
      - name: op_channel
        type: u8
      - name: cfg_op_channel
        type: u8
      - name: channels
        type: struct p2p_channels
      - name: cli_channels
        type: struct p2p_channels
      - name: num_pref_chan
        type: unsigned int
      - name: '*pref_chan'
        type: struct p2p_channel
      - name: p2p_6ghz_disable
        type: bool
      - name: pri_dev_type[8]
        type: u8
      - name: sec_dev_type[P2P_SEC_DEVICE_TYPES][8]
        type: u8
      - name: num_sec_dev_types
        type: size_t
      - name: dev_addr[ETH_ALEN]
        type: u8
      - name: '*dev_name'
        type: char
      - name: '*manufacturer'
        type: char
      - name: '*model_name'
        type: char
      - name: '*model_number'
        type: char
      - name: '*serial_number'
        type: char
      - name: uuid[16]
        type: u8
      - name: config_methods
        type: u16
      - name: concurrent_operations
        type: int
      - name: max_peers
        type: size_t
      - name: p2p_intra_bss
        type: int
      - name: ssid_postfix[SSID_MAX_LEN - 9]
        type: u8
      - name: ssid_postfix_len
        type: size_t
      - name: max_listen
        type: unsigned int
      - name: passphrase_len
        type: unsigned int
      - name: pairing_config
        type: struct p2p_pairing_config
      - name: reg_info
        type: u8
      - name: dfs_owner
        type: bool
      - name: twt_power_mgmt
        type: bool
      - name: comeback_after
        type: u16
      - name: chan_switch_req_enable
        type: bool
      - name: inv_op_class
        type: u8
      - name: inv_op_channel
        type: u8
      - name: '*cb_ctx'
        type: void
      - name: (*debug_print)(void *ctx, int level, const char *msg)
        type: void
      - name: "(*p2p_scan)(void *ctx, enum p2p_scan_type type, int freq,\n\t\t\tunsigned
          int num_req_dev_types,\n\t\t\tconst u8 *req_dev_types, const u8 *dev_id,
          u16 pw_id,\n\t\t\tbool include_6ghz)"
        type: int
      - name: "(*send_probe_resp)(void *ctx, const struct wpabuf *buf,\n\t\t\t       unsigned
          int freq)"
        type: int
      - name: "(*send_action)(void *ctx, unsigned int freq, const u8 *dst,\n\t\t\t
          \  const u8 *src, const u8 *bssid, const u8 *buf,\n\t\t\t   size_t len,
          unsigned int wait_time, int *scheduled)"
        type: int
      - name: (*send_action_done)(void *ctx)
        type: void
      - name: "(*start_listen)(void *ctx, unsigned int freq,\n\t\t\t    unsigned int
          duration,\n\t\t\t    const struct wpabuf *probe_resp_ie)"
        type: int
      - name: (*stop_listen)(void *ctx)
        type: void
      - name: "(*get_noa)(void *ctx, const u8 *interface_addr, u8 *buf,\n\t\t       size_t
          buf_len)"
        type: int
      - name: "(*dev_found)(void *ctx, const u8 *addr,\n\t\t\t  const struct p2p_peer_info
          *info,\n\t\t\t  int new_device)"
        type: void
      - name: (*dev_lost)(void *ctx, const u8 *dev_addr)
        type: void
      - name: (*find_stopped)(void *ctx)
        type: void
      - name: "(*go_neg_req_rx)(void *ctx, const u8 *src, u16 dev_passwd_id,\n\t\t\t
          \     u8 go_intent)"
        type: void
      - name: (*go_neg_completed)(void *ctx, struct p2p_go_neg_results *res)
        type: void
      - name: "(*set_go_security_config)(void *ctx,\n\t\t\t\t       struct p2p_go_neg_results
          *res)"
        type: void
      - name: "(*sd_request)(void *ctx, int freq, const u8 *sa, u8 dialog_token,\n\t\t\t
          \  u16 update_indic, const u8 *tlvs, size_t tlvs_len)"
        type: void
      - name: "(*sd_response)(void *ctx, const u8 *sa, u16 update_indic,\n\t\t\t    const
          u8 *tlvs, size_t tlvs_len)"
        type: void
      - name: "(*prov_disc_req)(void *ctx, const u8 *peer, u16 config_methods,\n\t\t\t
          \     const u8 *dev_addr, const u8 *pri_dev_type,\n\t\t\t      const char
          *dev_name, u16 supp_config_methods,\n\t\t\t      u8 dev_capab, u8 group_capab,\n\t\t\t
          \     const u8 *group_id, size_t group_id_len)"
        type: void
      - name: (*prov_disc_resp)(void *ctx, const u8 *peer, u16 config_methods)
        type: void
      - name: "(*prov_disc_fail)(void *ctx, const u8 *peer,\n\t\t\t       enum p2p_prov_disc_status
          status,\n\t\t\t       u32 adv_id, const u8 *adv_mac,\n\t\t\t       const
          char *deferred_session_resp)"
        type: void
      - name: "(*invitation_process)(void *ctx, const u8 *sa, const u8 *bssid,\n\t\t\t\t
          const u8 *go_dev_addr, const u8 *ssid,\n\t\t\t\t size_t ssid_len, int *go,
          u8 *group_bssid,\n\t\t\t\t int *force_freq, int persistent_group,\n\t\t\t\t
          const struct p2p_channels *channels,\n\t\t\t\t int dev_pw_id, bool p2p2,
          const u8 **new_ssid,\n\t\t\t\t size_t *new_ssid_len)"
        type: u8
      - name: "(*invitation_received)(void *ctx, const u8 *sa, const u8 *bssid,\n\t\t\t\t
          \   const u8 *ssid, size_t ssid_len,\n\t\t\t\t    const u8 *go_dev_addr,
          u8 status,\n\t\t\t\t    int op_freq, const u8 *pmkid, const u8 *pmk,\n\t\t\t\t
          \   size_t pmk_len)"
        type: void
      - name: "(*invitation_result)(void *ctx, int status, const u8 *new_ssid,\n\t\t\t\t
          \ size_t new_ssid_len, const u8 *bssid,\n\t\t\t\t  const struct p2p_channels
          *channels,\n\t\t\t\t  const u8 *addr, int freq, int peer_oper_freq,\n\t\t\t\t
          \ const u8 *pmkid, const u8 *pmk,\n\t\t\t\t  size_t pmk_len, const u8 *go_dev_addr)"
        type: void
      - name: (*go_connected)(void *ctx, const u8 *dev_addr)
        type: int
      - name: "(*presence_resp)(void *ctx, const u8 *src, u8 status,\n\t\t\t      const
          u8 *noa, size_t noa_len)"
        type: void
      - name: (*is_concurrent_session_active)(void *ctx)
        type: int
      - name: (*is_p2p_in_progress)(void *ctx)
        type: int
      - name: "(*get_persistent_group)(void *ctx, const u8 *addr, const u8 *ssid,\n\t\t\t\t
          \   size_t ssid_len, u8 *go_dev_addr,\n\t\t\t\t    u8 *ret_ssid, size_t
          *ret_ssid_len,\n\t\t\t\t    u8 *intended_iface_addr)"
        type: int
      - name: "(*get_go_info)(void *ctx, u8 *intended_addr,\n\t\t\t   u8 *ssid, size_t
          *ssid_len, int *group_iface,\n\t\t\t   unsigned int *freq)"
        type: int
      - name: "(*remove_stale_groups)(void *ctx, const u8 *peer, const u8 *go,\n\t\t\t\t
          \  const u8 *ssid, size_t ssid_len)"
        type: int
      - name: "(*p2ps_prov_complete)(void *ctx, enum p2p_status_code status,\n\t\t\t\t
          \  const u8 *dev,\n\t\t\t\t   const u8 *adv_mac, const u8 *ses_mac,\n\t\t\t\t
          \  const u8 *grp_mac, u32 adv_id, u32 ses_id,\n\t\t\t\t   u8 conncap, int
          passwd_id,\n\t\t\t\t   const u8 *persist_ssid,\n\t\t\t\t   size_t persist_ssid_size,
          int response_done,\n\t\t\t\t   int prov_start, const char *session_info,\n\t\t\t\t
          \  const u8 *feat_cap, size_t feat_cap_len,\n\t\t\t\t   unsigned int freq,
          const u8 *group_ssid,\n\t\t\t\t   size_t group_ssid_len)"
        type: void
      - name: (*prov_disc_resp_cb)(void *ctx)
        type: int
      - name: "(*p2ps_group_capability)(void *ctx, u8 incoming, u8 role,\n\t\t\t\t
          \   unsigned int *force_freq,\n\t\t\t\t    unsigned int *pref_freq)"
        type: u8
      - name: "(*get_pref_freq_list)(void *ctx, int go,\n\t\t\t\t  unsigned int *len,\n\t\t\t\t
          \ struct weighted_pcl *freq_list)"
        type: int
      - name: "(*register_bootstrap_comeback)(void *ctx, const u8 *addr,\n\t\t\t\t\t
          \   u16 comeback_after)"
        type: void
      - name: "(*bootstrap_req_rx)(void *ctx, const u8 *addr,\n\t\t\t\t u16 bootstrap_method)"
        type: void
      - name: "(*bootstrap_rsp_rx)(void *ctx, const u8 *addr,\n\t\t\t\t enum p2p_status_code
          status, int freq,\n\t\t\t\t u16 bootstrap_method)"
        type: void
      - name: "(*validate_dira)(void *ctx, const u8 *peer_addr,\n\t\t\t     const
          u8 *dira_nonce, const u8 *dira_tag)"
        type: int
      - name: (*set_pmksa)(void *ctx, const u8 *peer_addr, int dik_id)
        type: int
      - name: "(*pasn_send_mgmt)(void *ctx, const u8 *data, size_t data_len,\n\t\t\t
          \     int noack, unsigned int freq, unsigned int wait)"
        type: int
      - name: (*prepare_data_element)(void *ctx, const u8 *peer_addr)
        type: int
      - name: (*parse_data_element)(void *ctx, const u8 *data, size_t len)
        type: int
      - name: (*pasn_validate_pmkid)(void *ctx, const u8 *addr, const u8 *pmkid)
        type: int
      - name: (*is_p2p_dfs_chan)(void *ctx, int freq, u8 op_class, u8 chan)
        type: bool
      item_type: struct
      name: p2p_config
      pos:
        line_end: 1445
        line_start: 554
        source_file: /src/hostap/src/p2p/p2p.h
    - fields:
      - name: p2p2
        type: bool
      - name: persistent_group
        type: int
      - name: interface_addr[ETH_ALEN]
        type: u8
      - name: max_clients
        type: unsigned int
      - name: ssid[SSID_MAX_LEN]
        type: u8
      - name: ssid_len
        type: size_t
      - name: freq
        type: int
      - name: ip_addr_alloc
        type: int
      - name: '*cb_ctx'
        type: void
      - name: "(*ie_update)(void *ctx, struct wpabuf *beacon_ies,\n\t\t\t  struct
          wpabuf *proberesp_ies)"
        type: void
      - name: (*idle_update)(void *ctx, int idle)
        type: void
      item_type: struct
      name: p2p_group_config
      pos:
        line_end: 2109
        line_start: 2037
        source_file: /src/hostap/src/p2p/p2p.h
    - fields:
      - name: sel
        type: int
      - name: '*wsc_attr'
        type: u8
      - name: wsc_len
        type: size_t
      - name: '*p2p_attr'
        type: u8
      - name: p2p_len
        type: size_t
      - name: next_step
        type: "enum {\n\t\tNO_ACTION, JOIN_GROUP, AUTH_JOIN, INIT_GO_NEG, RESP_GO_NEG,\n\t\tBOTH_GO,
          PEER_CLIENT\n\t}"
      - name: '*peer'
        type: struct p2p_peer_info
      - name: "oob_dev_pw[WPS_OOB_PUBKEY_HASH_LEN + 2 +\n\t\t      WPS_OOB_DEVICE_PASSWORD_LEN]"
        type: u8
      - name: oob_dev_pw_len
        type: size_t
      - name: go_freq
        type: int
      - name: go_dev_addr[ETH_ALEN]
        type: u8
      - name: go_ssid[SSID_MAX_LEN]
        type: u8
      - name: go_ssid_len
        type: size_t
      item_type: struct
      name: p2p_nfc_params
      pos:
        line_end: 2722
        line_start: 2703
        source_file: /src/hostap/src/p2p/p2p.h
    typedefs: []
    union: []
- function_names:
  - p2p_build_invitation_req
  - p2p_build_invitation_resp
  - p2p_process_invitation_req
  - p2p_handle_invitation_req
  - p2p_process_invitation_resp
  - p2p_start_invitation_connect
  - p2p_invite_send
  - p2p_invitation_req_cb
  - p2p_invitation_resp_cb
  - p2p_invite
  source_file: /src/hostap/src/p2p/p2p_invitation.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - p2p_buf_add_action_hdr
  - p2p_buf_add_public_action_hdr
  - p2p_buf_add_ie_hdr
  - p2p_buf_update_ie_hdr
  - p2p_buf_add_p2p2_ie_hdr
  - p2p_buf_add_capability
  - p2p_buf_add_go_intent
  - p2p_buf_add_listen_channel
  - p2p_buf_add_operating_channel
  - p2p_buf_add_pref_channel_list
  - p2p_buf_add_channel_list
  - p2p_buf_add_status
  - p2p_buf_add_device_info
  - p2p_buf_add_device_id
  - p2p_buf_add_config_timeout
  - p2p_buf_add_intended_addr
  - p2p_buf_add_group_bssid
  - p2p_buf_add_group_id
  - p2p_buf_add_invitation_flags
  - p2p_buf_add_noa_desc
  - p2p_buf_add_noa
  - p2p_buf_add_ext_listen_timing
  - p2p_buf_add_p2p_interface
  - p2p_buf_add_oob_go_neg_channel
  - p2p_buf_add_service_hash
  - p2p_buf_add_usd_service_hash
  - p2p_buf_add_session_info
  - p2p_buf_add_connection_capability
  - p2p_buf_add_advertisement_id
  - p2ps_wildcard_hash
  - p2p_wfa_service_adv
  - p2p_buf_add_service_info
  - p2p_buf_add_service_instance
  - p2p_buf_add_session_id
  - p2p_buf_add_feature_capability
  - p2p_buf_add_persistent_group_info
  - p2p_buf_add_pcea
  - p2p_buf_add_pbma
  - p2p_buf_add_dira
  - p2p_add_wps_string
  - p2p_build_wps_ie
  - p2p_encaps_ie
  source_file: /src/hostap/src/p2p/p2p_build.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - p2p_expire_peers
  - p2p_state_txt
  - p2p_get_state_txt
  - p2p_get_p2ps_adv_list
  - p2p_set_intended_addr
  - p2p_get_provisioning_info
  - p2p_clear_provisioning_info
  - p2p_set_state
  - p2p_set_timeout
  - p2p_clear_timeout
  - p2p_go_neg_failed
  - p2p_listen_in_find
  - p2p_listen
  - p2p_device_clear_reported
  - p2p_get_device
  - p2p_get_device_interface
  - p2p_create_device
  - p2p_copy_client_info
  - p2p_add_group_clients
  - p2p_copy_wps_info
  - p2p_update_peer_6ghz_capab
  - p2p_update_peer_vendor_elems
  - p2p_compare_wfd_info
  - p2p_add_device
  - p2p_device_free
  - p2p_get_next_prog_freq
  - p2p_search
  - p2p_find_timeout
  - p2p_notify_scan_trigger_status
  - p2p_run_after_scan
  - p2p_scan_timeout
  - p2p_free_req_dev_types
  - p2ps_gen_hash
  - p2p_find
  - p2p_stop_find_for_freq
  - p2p_stop_listen_for_freq
  - p2p_stop_listen
  - p2p_stop_find
  - p2p_prepare_channel_pref
  - p2p_prepare_channel_best
  - p2p_prepare_channel
  - p2p_set_dev_persistent
  - p2p_connect
  - p2p_authorize
  - p2p_add_dev_info
  - p2p_build_ssid
  - p2p_go_params
  - p2p_set_go_role
  - p2p_go_complete
  - p2p_rx_p2p_action
  - p2p_rx_action_public
  - p2p_rx_action
  - p2p_go_neg_start
  - p2p_invite_start
  - p2p_add_dev_from_probe_req
  - p2p_add_dev_from_go_neg_req
  - dev_type_match
  - dev_type_list_match
  - p2p_match_dev_type
  - p2p_build_probe_resp_ies
  - p2p_build_probe_resp_buf
  - p2p_service_find_asp
  - p2p_reply_probe
  - p2p_probe_req_rx
  - p2p_assoc_req_ie_wlan_ap
  - p2p_assoc_req_ie
  - p2p_scan_result_text
  - p2p_service_p2ps_id
  - p2p_service_del_asp
  - p2p_service_add_asp
  - p2p_service_flush_asp
  - p2p_parse_dev_addr_in_p2p_ie
  - p2p_parse_dev_addr
  - p2p_clear_go_neg
  - p2p_wps_success_cb
  - p2p_group_formation_failed
  - is_p2p_6ghz_disabled
  - p2p_set_dev_addr
  - p2p_update_dfs_ap_info
  - p2p_pairing_info_deinit
  - p2p_pairing_info_init
  - p2p_init
  - p2p_deinit
  - p2p_flush
  - p2p_unauthorize
  - p2p_set_dev_name
  - p2p_set_manufacturer
  - p2p_set_model_name
  - p2p_set_model_number
  - p2p_set_serial_number
  - p2p_set_config_methods
  - p2p_set_uuid
  - p2p_set_pri_dev_type
  - p2p_set_sec_dev_types
  - p2p_remove_wps_vendor_extensions
  - p2p_add_wps_vendor_extension
  - p2p_set_country
  - p2p_pre_find_operation
  - p2p_continue_find
  - p2p_sd_query_cb
  - p2p_retry_pd
  - p2p_prov_disc_cb
  - p2p_prov_disc_resp_cb
  - p2p_scan_res_handler
  - p2p_scan_res_handled
  - p2p_scan_ie
  - p2p_scan_ie_buf_len
  - p2p_ie_text
  - p2p_go_neg_req_cb
  - p2p_go_neg_resp_cb
  - p2p_go_neg_resp_failure_cb
  - p2p_go_neg_conf_cb
  - p2p_send_action_cb
  - p2p_listen_cb
  - p2p_listen_end
  - p2p_listen_failed
  - p2p_timeout_connect
  - p2p_timeout_connect_listen
  - p2p_timeout_wait_peer_connect
  - p2p_timeout_wait_peer_idle
  - p2p_timeout_sd_during_find
  - p2p_timeout_prov_disc_during_find
  - p2p_timeout_prov_disc_req
  - p2p_timeout_invite
  - p2p_timeout_invite_listen
  - p2p_state_timeout
  - p2p_reject
  - p2p_wps_method_text
  - p2p_go_state_text
  - p2p_get_peer_info
  - p2p_get_peer_info_txt
  - p2p_peer_known
  - p2p_set_client_discoverability
  - p2p_build_presence_req
  - p2p_presence_req
  - p2p_build_presence_resp
  - p2p_process_presence_req
  - p2p_process_presence_resp
  - p2p_ext_listen_timeout
  - p2p_ext_listen
  - p2p_deauth_notif
  - p2p_disassoc_notif
  - p2p_set_managed_oper
  - p2p_set_bootstrapmethods
  - p2p_set_pasn_type
  - p2p_set_comeback_after
  - p2p_set_reg_info
  - p2p_set_twt_power_mgmt
  - p2p_set_chan_switch_req_enable
  - p2p_set_invitation_op_freq
  - p2p_config_get_random_social
  - p2p_set_listen_channel
  - p2p_get_listen_channel
  - p2p_set_ssid_postfix
  - p2p_set_oper_channel
  - p2p_set_pref_chan
  - p2p_set_no_go_freq
  - p2p_get_interface_addr
  - p2p_get_dev_addr
  - p2p_get_dev_identity_key
  - p2p_set_peer_filter
  - p2p_set_cross_connect
  - p2p_get_oper_freq
  - p2p_set_intra_bss_dist
  - p2p_update_channel_list
  - p2p_send_action
  - p2p_set_best_channels
  - p2p_set_own_freq_preference
  - p2p_get_go_neg_peer
  - p2p_get_peer_found
  - p2p_in_progress
  - p2p_set_config_timeout
  - p2p_update_wfd_ie_groups
  - p2p_set_wfd_ie_beacon
  - p2p_set_wfd_ie_probe_req
  - p2p_set_wfd_ie_probe_resp
  - p2p_set_wfd_ie_assoc_req
  - p2p_set_wfd_ie_invitation
  - p2p_set_wfd_ie_prov_disc_req
  - p2p_set_wfd_ie_prov_disc_resp
  - p2p_set_wfd_ie_go_neg
  - p2p_set_wfd_dev_info
  - p2p_set_wfd_r2_dev_info
  - p2p_set_wfd_assoc_bssid
  - p2p_set_wfd_coupled_sink_info
  - p2p_set_disc_int
  - p2p_dbg
  - p2p_info
  - p2p_err
  - p2p_loop_on_known_peers
  - p2p_build_nfc_handover
  - p2p_build_nfc_handover_req
  - p2p_build_nfc_handover_sel
  - p2p_process_nfc_connection_handover
  - p2p_set_authorized_oob_dev_pw_id
  - p2p_set_passphrase_len
  - p2p_set_vendor_elems
  - p2p_go_neg_wait_timeout
  - p2p_set_own_pref_freq_list
  - p2p_set_override_pref_op_chan
  - p2p_build_probe_resp_template
  - p2p_is_peer_6ghz_capab
  - p2p_set_6ghz_dev_capab
  - is_p2p_6ghz_capable
  - p2p_wfd_enabled
  - p2p_peer_wfd_enabled
  - is_p2p_allow_6ghz
  - set_p2p_allow_6ghz
  - p2p_derive_nonce_tag
  - p2p_validate_dira
  - p2p_usd_service_hash
  - p2p_usd_elems
  - p2p_process_usd_elems
  - p2p_get_dik_id
  - p2p_config_sae_password
  - p2p_prepare_pasn_extra_ie
  - p2p_pasn_service_hash
  - p2p_pairing_generate_rsnxe
  - p2p_pairing_set_password
  - p2p_pasn_initialize
  - p2p_get_listen_freq
  - p2p_initiate_pasn_verify
  - p2p_initiate_pasn_auth
  - p2p_pasn_handle_action_wrapper
  - p2p_pasn_add_encrypted_data
  - p2p_prepare_data_element
  - p2p_parse_data_element
  - p2p_validate_custom_pmkid
  - p2p_pasn_pmksa_get_pmk
  - p2p_pasn_validate_and_update_pmkid
  - p2p_pasn_auth_tx_status
  - p2p_handle_pasn_auth
  - p2p_pasn_auth_rx
  - p2p_pasn_pmksa_set_pmk
  - p2p_pasn_store_ptk
  - p2p_pasn_get_ptk
  - p2p_get_dira_info
  source_file: /src/hostap/src/p2p/p2p.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: P2P_SCAN_TIMEOUT
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/hostap/src/p2p/p2p.c
      type_or_value: '35'
    - item_type: preproc_def
      name: P2P_PEER_EXPIRATION_AGE
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/hostap/src/p2p/p2p.c
      type_or_value: '60'
    - item_type: preproc_def
      name: P2P_PAIRING_SSID
      pos:
        line_end: 6393
        line_start: 6392
        source_file: /src/hostap/src/p2p/p2p.c
      type_or_value: '"516F9A020000"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - p2p_copy_filter_devname
  - p2p_parse_attribute
  - p2p_parse_p2p_ie
  - p2p_parse_wps_ie
  - p2p_parse_ies
  - p2p_parse
  - p2p_parse_ies_separate
  - p2p_parse_free
  - p2p_group_info_parse
  - p2p_group_info_text
  - p2p_attr_text
  - p2p_get_cross_connect_disallowed
  - p2p_get_group_capab
  - p2p_get_go_dev_addr
  source_file: /src/hostap/src/p2p/p2p_parse.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - p2p_random
  - p2p_channel_to_freq
  - p2p_freq_to_channel
  - p2p_reg_class_intersect
  - p2p_channels_intersect
  - p2p_op_class_union
  - p2p_channels_union_inplace
  - p2p_channels_union
  - p2p_channels_remove_freqs
  - p2p_channels_includes
  - p2p_channels_includes_freq
  - p2p_supported_freq
  - p2p_supported_freq_go
  - p2p_supported_freq_cli
  - p2p_get_pref_freq
  - p2p_channels_dump
  - p2p_channel_pick_random
  - p2p_channel_select
  - p2p_channel_random_social
  - p2p_channels_to_freqs
  - p2p_copy_channels
  - p2p_remove_6ghz_channels
  - p2p_pref_freq_allowed
  - p2p_check_pref_channel
  - p2p_pref_channel_filter
  - is_dfs_freq_allowed
  - p2p_check_dfs_channel
  - p2p_dfs_channel_filter
  source_file: /src/hostap/src/p2p/p2p_utils.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - p2p_build_wps_ie_config_methods
  - p2ps_add_new_group_info
  - p2ps_add_pd_req_attrs
  - p2p_build_prov_disc_bootstrap_req
  - p2p_build_prov_disc_req
  - p2p_build_prov_disc_bootstrap_resp
  - p2p_build_prov_disc_resp
  - p2ps_setup_p2ps_prov
  - p2ps_own_preferred_cpt
  - p2ps_validate_pd_req
  - P2PS_PD_REQ_CHECK
  - p2p_process_pcea
  - p2p_process_prov_disc_bootstrap_req
  - p2p_process_prov_disc_req
  - p2p_handle_prov_disc_req
  - p2p_validate_p2ps_pd_resp
  - P2PS_PD_RESP_CHECK
  - p2p_process_prov_disc_bootstrap_resp
  - p2p_process_prov_disc_resp
  - p2p_handle_prov_disc_resp
  - p2p_send_prov_disc_req
  - p2p_set_req_bootstrap_method
  - p2p_prov_disc_req
  - p2p_reset_pending_pd
  - p2ps_prov_free
  source_file: /src/hostap/src/p2p/p2p_pd.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_PROV_DISC_REQ_RETRIES
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/hostap/src/p2p/p2p_pd.c
      type_or_value: '120'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/p2p/p2p_i.h
  types:
    enum:
    - enumerators:
      - name: UNKNOWN_GO
      - name: REMOTE_GO
      - name: LOCAL_GO
      item_type: enum
      name: p2p_go_state
      pos:
        line_end: 36
        line_start: 32
        source_file: /src/hostap/src/p2p/p2p_i.h
    - enumerators:
      - name: P2P_ROLE_IDLE
        value: '0'
      - name: P2P_ROLE_PAIRING_INITIATOR
      - name: P2P_ROLE_PAIRING_RESPONDER
      item_type: enum
      name: p2p_role
      pos:
        line_end: 43
        line_start: 39
        source_file: /src/hostap/src/p2p/p2p_i.h
    - enumerators:
      - name: P2P_IDLE
      - name: P2P_GO_NEG
      - name: P2P_CONNECT
      - name: P2P_CONNECT_LISTEN
      - name: P2P_SEARCH
      - name: P2P_LISTEN_ONLY
      - name: P2P_WAIT_PEER_CONNECT
      - name: P2P_WAIT_PEER_IDLE
      - name: P2P_SD_DURING_FIND
      - name: P2P_PROVISIONING
      - name: P2P_INVITE_LISTEN
      - name: P2P_PD_DURING_FIND
      - name: P2P_INVITE
      item_type: enum
      name: p2p_state
      pos:
        line_end: 333
        line_start: 268
        source_file: /src/hostap/src/p2p/p2p_i.h
    - enumerators:
      - name: P2P_NO_PENDING_ACTION
      - name: P2P_PENDING_GO_NEG_RESPONSE
      - name: P2P_PENDING_GO_NEG_REQUEST
      - name: P2P_PENDING_GO_NEG_CONFIRM
      - name: P2P_PENDING_GO_NEG_RESPONSE_FAILURE
      - name: P2P_PENDING_SD
      - name: P2P_PENDING_PD
      - name: P2P_PENDING_PD_RESPONSE
      - name: P2P_PENDING_INVITATION_REQUEST
      - name: P2P_PENDING_INVITATION_RESPONSE
      - name: P2P_PENDING_DEV_DISC_RESPONSE
      - name: P2P_PENDING_GO_DISC_REQ
      - name: P2P_PENDING_DEV_DISC_REQUEST
      item_type: enum
      name: p2p_pending_action_state
      pos:
        line_end: 477
        line_start: 463
        source_file: /src/hostap/src/p2p/p2p_i.h
    - enumerators:
      - name: P2P_AFTER_SCAN_NOTHING
      - name: P2P_AFTER_SCAN_CONNECT
      - name: P2P_AFTER_SCAN_LISTEN
      item_type: enum
      name: p2p_after_scan
      pos:
        line_end: 533
        line_start: 529
        source_file: /src/hostap/src/p2p/p2p_i.h
    preproc_defs:
    - item_type: preproc_def
      name: P2P_GO_NEG_CNF_MAX_RETRY_COUNT
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/hostap/src/p2p/p2p_i.h
      type_or_value: '1'
    - item_type: preproc_def
      name: P2P_DEV_GROUP_CLIENT_RESP_THRESHOLD
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/hostap/src/p2p/p2p_i.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MAX_SVC_ADV_LEN
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/hostap/src/p2p/p2p_i.h
      type_or_value: '600'
    - item_type: preproc_def
      name: MAX_SVC_ADV_IE_LEN
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/hostap/src/p2p/p2p_i.h
      type_or_value: (9 + MAX_SVC_ADV_LEN + (5 * (MAX_SVC_ADV_LEN / 240)))
    - item_type: preproc_def
      name: P2P_DEV_PROBE_REQ_ONLY
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/hostap/src/p2p/p2p_i.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: P2P_DEV_REPORTED
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/hostap/src/p2p/p2p_i.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: P2P_DEV_NOT_YET_READY
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/hostap/src/p2p/p2p_i.h
      type_or_value: BIT(2)
    - item_type: preproc_def
      name: P2P_DEV_PD_PEER_DISPLAY
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/hostap/src/p2p/p2p_i.h
      type_or_value: BIT(5)
    - item_type: preproc_def
      name: P2P_DEV_PD_PEER_KEYPAD
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/hostap/src/p2p/p2p_i.h
      type_or_value: BIT(6)
    - item_type: preproc_def
      name: P2P_DEV_USER_REJECTED
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/hostap/src/p2p/p2p_i.h
      type_or_value: BIT(7)
    - item_type: preproc_def
      name: P2P_DEV_PEER_WAITING_RESPONSE
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/hostap/src/p2p/p2p_i.h
      type_or_value: BIT(8)
    - item_type: preproc_def
      name: P2P_DEV_PREFER_PERSISTENT_GROUP
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/hostap/src/p2p/p2p_i.h
      type_or_value: BIT(9)
    - item_type: preproc_def
      name: P2P_DEV_WAIT_GO_NEG_RESPONSE
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/hostap/src/p2p/p2p_i.h
      type_or_value: BIT(10)
    - item_type: preproc_def
      name: P2P_DEV_WAIT_GO_NEG_CONFIRM
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/hostap/src/p2p/p2p_i.h
      type_or_value: BIT(11)
    - item_type: preproc_def
      name: P2P_DEV_GROUP_CLIENT_ONLY
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/hostap/src/p2p/p2p_i.h
      type_or_value: BIT(12)
    - item_type: preproc_def
      name: P2P_DEV_FORCE_FREQ
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/hostap/src/p2p/p2p_i.h
      type_or_value: BIT(13)
    - item_type: preproc_def
      name: P2P_DEV_PD_FOR_JOIN
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/hostap/src/p2p/p2p_i.h
      type_or_value: BIT(14)
    - item_type: preproc_def
      name: P2P_DEV_REPORTED_ONCE
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/hostap/src/p2p/p2p_i.h
      type_or_value: BIT(15)
    - item_type: preproc_def
      name: P2P_DEV_PREFER_PERSISTENT_RECONN
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/hostap/src/p2p/p2p_i.h
      type_or_value: BIT(16)
    - item_type: preproc_def
      name: P2P_DEV_PD_BEFORE_GO_NEG
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/hostap/src/p2p/p2p_i.h
      type_or_value: BIT(17)
    - item_type: preproc_def
      name: P2P_DEV_NO_PREF_CHAN
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/hostap/src/p2p/p2p_i.h
      type_or_value: BIT(18)
    - item_type: preproc_def
      name: P2P_DEV_WAIT_INV_REQ_ACK
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/hostap/src/p2p/p2p_i.h
      type_or_value: BIT(19)
    - item_type: preproc_def
      name: P2P_DEV_P2PS_REPORTED
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/hostap/src/p2p/p2p_i.h
      type_or_value: BIT(20)
    - item_type: preproc_def
      name: P2P_DEV_PD_PEER_P2PS
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/hostap/src/p2p/p2p_i.h
      type_or_value: BIT(21)
    - item_type: preproc_def
      name: P2P_DEV_LAST_SEEN_AS_GROUP_CLIENT
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/hostap/src/p2p/p2p_i.h
      type_or_value: BIT(22)
    - item_type: preproc_def
      name: P2P_MAX_GROUP_ENTRIES
      pos:
        line_end: 841
        line_start: 840
        source_file: /src/hostap/src/p2p/p2p_i.h
      type_or_value: '50'
    structs:
    - fields:
      - name: bootstrap_method
        type: u16
      - name: status
        type: enum p2p_status_code
      - name: cookie[50]
        type: u8
      - name: cookie_len
        type: size_t
      - name: comeback_after
        type: int
      item_type: struct
      name: p2p_bootstrap_params
      pos:
        line_end: 63
        line_start: 48
        source_file: /src/hostap/src/p2p/p2p_i.h
    - fields:
      - name: list
        type: struct dl_list
      - name: last_seen
        type: struct os_reltime
      - name: listen_freq
        type: int
      - name: oob_go_neg_freq
        type: int
      - name: wps_method
        type: enum p2p_wps_method
      - name: oob_pw_id
        type: u16
      - name: info
        type: struct p2p_peer_info
      - name: interface_addr[ETH_ALEN]
        type: u8
      - name: member_in_go_dev[ETH_ALEN]
        type: u8
      - name: member_in_go_iface[ETH_ALEN]
        type: u8
      - name: go_neg_req_sent
        type: int
      - name: go_state
        type: enum p2p_go_state
      - name: dialog_token
        type: u8
      - name: tie_breaker
        type: u8
      - name: intended_addr[ETH_ALEN]
        type: u8
      - name: country[3]
        type: char
      - name: channels
        type: struct p2p_channels
      - name: oper_freq
        type: int
      - name: oper_ssid[SSID_MAX_LEN]
        type: u8
      - name: oper_ssid_len
        type: size_t
      - name: req_config_methods
        type: u16
      - name: wps_prov_info
        type: u16
      - name: flags
        type: unsigned int
      - name: status
        type: int
      - name: wait_count
        type: unsigned int
      - name: connect_reqs
        type: unsigned int
      - name: invitation_reqs
        type: unsigned int
      - name: sd_reqs
        type: unsigned int
      - name: ext_listen_period
        type: u16
      - name: ext_listen_interval
        type: u16
      - name: go_timeout
        type: u8
      - name: client_timeout
        type: u8
      - name: go_neg_conf_sent
        type: u8
      - name: go_neg_conf_freq
        type: int
      - name: '*go_neg_conf'
        type: struct wpabuf
      - name: sd_pending_bcast_queries
        type: int
      - name: support_6ghz
        type: bool
      - name: p2p2
        type: bool
      - name: req_bootstrap_method
        type: u16
      - name: '*bootstrap_params'
        type: struct p2p_bootstrap_params
      - name: password[100]
        type: char
      - name: '*pasn'
        type: struct pasn_data
      - name: '*action_frame_wrapper'
        type: struct wpabuf
      - name: role
        type: enum p2p_role
      - name: inv_reject
        type: bool
      - name: inv_status
        type: u8
      - name: inv_freq
        type: int
      - name: inv_peer_oper_freq
        type: int
      - name: inv_bssid[ETH_ALEN]
        type: u8
      - name: inv_ssid[SSID_MAX_LEN]
        type: u8
      - name: inv_ssid_len
        type: size_t
      - name: inv_all_channels
        type: bool
      item_type: struct
      name: p2p_device
      pos:
        line_end: 208
        line_start: 68
        source_file: /src/hostap/src/p2p/p2p_i.h
    - fields:
      - name: '*next'
        type: struct p2p_sd_query
      - name: peer[ETH_ALEN]
        type: u8
      - name: for_all_peers
        type: int
      - name: wsd
        type: int
      - name: '*tlvs'
        type: struct wpabuf
      item_type: struct
      name: p2p_sd_query
      pos:
        line_end: 216
        line_start: 210
        source_file: /src/hostap/src/p2p/p2p_i.h
    - fields:
      - name: akmp
        type: int
      - name: cipher_version
        type: int
      - name: expiration
        type: u32
      - name: dik_data[DEVICE_IDENTITY_KEY_MAX_LEN]
        type: u8
      - name: dik_len
        type: size_t
      - name: dira_nonce[DEVICE_IDENTITY_NONCE_LEN]
        type: u8
      - name: dira_nonce_len
        type: size_t
      - name: dira_tag[DEVICE_IDENTITY_TAG_LEN]
        type: u8
      - name: dira_tag_len
        type: size_t
      item_type: struct
      name: p2p_id_key
      pos:
        line_end: 238
        line_start: 219
        source_file: /src/hostap/src/p2p/p2p_i.h
    - fields:
      - name: own_addr[ETH_ALEN]
        type: u8
      - name: enable_pairing_setup
        type: bool
      - name: enable_pairing_cache
        type: bool
      - name: supported_bootstrap
        type: u16
      - name: dev_ik
        type: struct p2p_id_key
      item_type: struct
      name: p2p_pairing_info
      pos:
        line_end: 251
        line_start: 240
        source_file: /src/hostap/src/p2p/p2p_i.h
    - fields:
      - name: '*cfg'
        type: struct p2p_config
      - name: state
        type: "enum p2p_state {\n\t\t/**\n\t\t * P2P_IDLE - Idle\n\t\t */\n\t\tP2P_IDLE,\n\n\t\t/**\n\t\t
          * P2P_SEARCH - Search (Device Discovery)\n\t\t */\n\t\tP2P_SEARCH,\n\n\t\t/**\n\t\t
          * P2P_CONNECT - Trying to start GO Negotiation\n\t\t */\n\t\tP2P_CONNECT,\n\n\t\t/**\n\t\t
          * P2P_CONNECT_LISTEN - Listen during GO Negotiation start\n\t\t */\n\t\tP2P_CONNECT_LISTEN,\n\n\t\t/**\n\t\t
          * P2P_GO_NEG - In GO Negotiation\n\t\t */\n\t\tP2P_GO_NEG,\n\n\t\t/**\n\t\t
          * P2P_LISTEN_ONLY - Listen only\n\t\t */\n\t\tP2P_LISTEN_ONLY,\n\n\t\t/**\n\t\t
          * P2P_WAIT_PEER_CONNECT - Waiting peer in List for GO Neg\n\t\t */\n\t\tP2P_WAIT_PEER_CONNECT,\n\n\t\t/**\n\t\t
          * P2P_WAIT_PEER_IDLE - Waiting peer idle for GO Neg\n\t\t */\n\t\tP2P_WAIT_PEER_IDLE,\n\n\t\t/**\n\t\t
          * P2P_SD_DURING_FIND - Service Discovery during find\n\t\t */\n\t\tP2P_SD_DURING_FIND,\n\n\t\t/**\n\t\t
          * P2P_PROVISIONING - Provisioning (during group formation)\n\t\t */\n\t\tP2P_PROVISIONING,\n\n\t\t/**\n\t\t
          * P2P_PD_DURING_FIND - Provision Discovery during find\n\t\t */\n\t\tP2P_PD_DURING_FIND,\n\n\t\t/**\n\t\t
          * P2P_INVITE - Trying to start Invite\n\t\t */\n\t\tP2P_INVITE,\n\n\t\t/**\n\t\t
          * P2P_INVITE_LISTEN - Listen during Invite\n\t\t */\n\t\tP2P_INVITE_LISTEN,\n\t}"
      - name: min_disc_int
        type: int
      - name: max_disc_int
        type: int
      - name: max_disc_tu
        type: int
      - name: devices
        type: struct dl_list
      - name: '*go_neg_peer'
        type: struct p2p_device
      - name: '*invite_peer'
        type: struct p2p_device
      - name: '*last_p2p_find_oper'
        type: struct p2p_device
      - name: '*invite_go_dev_addr'
        type: u8
      - name: invite_go_dev_addr_buf[ETH_ALEN]
        type: u8
      - name: invite_dev_pw_id
        type: int
      - name: retry_invite_req
        type: unsigned int
      - name: retry_invite_req_sent
        type: unsigned int
      - name: '*sd_peer'
        type: struct p2p_device
      - name: '*sd_query'
        type: struct p2p_sd_query
      - name: num_p2p_sd_queries
        type: int
      - name: sd_query_no_ack[ETH_ALEN]
        type: u8
      - name: intended_addr[ETH_ALEN]
        type: u8
      - name: go_intent
        type: u8
      - name: next_tie_breaker
        type: u8
      - name: ssid[SSID_MAX_LEN]
        type: u8
      - name: ssid_len
        type: size_t
      - name: ssid_set
        type: int
      - name: op_reg_class
        type: u8
      - name: op_channel
        type: u8
      - name: channels
        type: struct p2p_channels
      - name: no_go_freq
        type: struct wpa_freq_range_list
      - name: pending_action_state
        type: "enum p2p_pending_action_state {\n\t\tP2P_NO_PENDING_ACTION,\n\t\tP2P_PENDING_GO_NEG_REQUEST,\n\t\tP2P_PENDING_GO_NEG_RESPONSE,\n\t\tP2P_PENDING_GO_NEG_RESPONSE_FAILURE,\n\t\tP2P_PENDING_GO_NEG_CONFIRM,\n\t\tP2P_PENDING_SD,\n\t\tP2P_PENDING_PD,\n\t\tP2P_PENDING_PD_RESPONSE,\n\t\tP2P_PENDING_INVITATION_REQUEST,\n\t\tP2P_PENDING_INVITATION_RESPONSE,\n\t\tP2P_PENDING_DEV_DISC_REQUEST,\n\t\tP2P_PENDING_DEV_DISC_RESPONSE,\n\t\tP2P_PENDING_GO_DISC_REQ\n\t}"
      - name: pending_listen_freq
        type: unsigned int
      - name: pending_listen_sec
        type: unsigned int
      - name: pending_listen_usec
        type: unsigned int
      - name: pending_listen_wait_drv
        type: bool
      - name: dev_capab
        type: u8
      - name: in_listen
        type: int
      - name: drv_in_listen
        type: int
      - name: '*sd_queries'
        type: struct p2p_sd_query
      - name: srv_update_indic
        type: u16
      - name: '*sd_resp'
        type: struct wpabuf
      - name: sd_resp_addr[ETH_ALEN]
        type: u8
      - name: sd_resp_dialog_token
        type: u8
      - name: sd_resp_pos
        type: size_t
      - name: sd_frag_id
        type: u8
      - name: '*sd_rx_resp'
        type: struct wpabuf
      - name: sd_rx_update_indic
        type: u16
      - name: inv_role
        type: enum p2p_invite_role
      - name: inv_bssid[ETH_ALEN]
        type: u8
      - name: inv_bssid_set
        type: int
      - name: inv_ssid[SSID_MAX_LEN]
        type: u8
      - name: inv_ssid_len
        type: size_t
      - name: inv_sa[ETH_ALEN]
        type: u8
      - name: inv_group_bssid[ETH_ALEN]
        type: u8
      - name: '*inv_group_bssid_ptr'
        type: u8
      - name: inv_go_dev_addr[ETH_ALEN]
        type: u8
      - name: inv_status
        type: u8
      - name: inv_op_freq
        type: int
      - name: inv_persistent
        type: int
      - name: find_type
        type: enum p2p_discovery_type
      - name: find_specified_freq
        type: int
      - name: last_p2p_find_timeout
        type: unsigned int
      - name: last_prog_scan_class
        type: u8
      - name: last_prog_scan_chan
        type: u8
      - name: find_pending_full
        type: unsigned int
      - name: p2p_scan_running
        type: int
      - name: start_after_scan
        type: "enum p2p_after_scan {\n\t\tP2P_AFTER_SCAN_NOTHING,\n\t\tP2P_AFTER_SCAN_LISTEN,\n\t\tP2P_AFTER_SCAN_CONNECT\n\t}"
      - name: after_scan_peer[ETH_ALEN]
        type: u8
      - name: send_action_in_progress
        type: unsigned int
      - name: num_req_dev_types
        type: unsigned int
      - name: '*req_dev_types'
        type: u8
      - name: '*find_dev_id'
        type: u8
      - name: find_dev_id_buf[ETH_ALEN]
        type: u8
      - name: find_start
        type: struct os_reltime
      - name: '**groups'
        type: struct p2p_group
      - name: num_groups
        type: size_t
      - name: '*pending_client_disc_go'
        type: struct p2p_device
      - name: pending_client_disc_addr[ETH_ALEN]
        type: u8
      - name: pending_dev_disc_dialog_token
        type: u8
      - name: pending_dev_disc_addr[ETH_ALEN]
        type: u8
      - name: pending_dev_disc_freq
        type: int
      - name: pending_client_disc_freq
        type: unsigned int
      - name: ext_listen_only
        type: int
      - name: ext_listen_period
        type: unsigned int
      - name: ext_listen_interval
        type: unsigned int
      - name: ext_listen_interval_sec
        type: unsigned int
      - name: ext_listen_interval_usec
        type: unsigned int
      - name: peer_filter[ETH_ALEN]
        type: u8
      - name: cross_connect
        type: int
      - name: best_freq_24
        type: int
      - name: best_freq_5
        type: int
      - name: best_freq_overall
        type: int
      - name: own_freq_preference
        type: int
      - name: '*wps_vendor_ext[P2P_MAX_WPS_VENDOR_EXT]'
        type: struct wpabuf
      - name: user_initiated_pd
        type: u8
      - name: pending_pd_devaddr[ETH_ALEN]
        type: u8
      - name: pd_retries
        type: int
      - name: pd_force_freq
        type: int
      - name: go_timeout
        type: u8
      - name: client_timeout
        type: u8
      - name: search_delay
        type: unsigned int
      - name: in_search_delay
        type: int
      - name: pending_reg_class
        type: u8
      - name: pending_channel
        type: u8
      - name: pending_channel_forced
        type: u8
      - name: '*p2ps_adv_list'
        type: struct p2ps_advertisement
      - name: '*p2ps_prov'
        type: struct p2ps_provision
      - name: wild_card_hash[P2PS_HASH_LEN]
        type: u8
      - name: p2ps_seek
        type: u8
      - name: p2ps_seek_hash[P2P_MAX_QUERY_HASH * P2PS_HASH_LEN]
        type: u8
      - name: p2ps_seek_count
        type: u8
      - name: authorized_oob_dev_pw_id
        type: u16
      - name: '**vendor_elem'
        type: struct wpabuf
      - name: pref_freq_list[P2P_MAX_PREF_CHANNELS]
        type: struct weighted_pcl
      - name: num_pref_freq
        type: unsigned int
      - name: override_pref_op_class
        type: u8
      - name: override_pref_channel
        type: u8
      - name: p2p_6ghz_capable
        type: bool
      - name: include_6ghz
        type: bool
      - name: allow_6ghz
        type: bool
      - name: '*pairing_info'
        type: struct p2p_pairing_info
      - name: '*initiator_pmksa'
        type: struct rsn_pmksa_cache
      - name: '*responder_pmksa'
        type: struct rsn_pmksa_cache
      - name: dik_cipher_version
        type: u8
      - name: peer_dik_data[DEVICE_IDENTITY_KEY_MAX_LEN]
        type: u8
      - name: peer_dik_len
        type: size_t
      - name: peer_dik_lifetime
        type: unsigned int
      - name: dev_sae_password[100]
        type: char
      - name: peer_sae_password[100]
        type: char
      - name: go_role
        type: bool
      - name: usd_service
        type: bool
      - name: p2p_service_hash[P2PS_HASH_LEN]
        type: u8
      - name: dfs_ap_connected
        type: bool
      - name: sta_connected_freq
        type: int
      - name: sta_connected_chan_width
        type: enum chan_width
      item_type: struct
      name: p2p_data
      pos:
        line_end: 716
        line_start: 256
        source_file: /src/hostap/src/p2p/p2p_i.h
    - fields:
      - name: '*p2p_attributes'
        type: struct wpabuf
      - name: '*p2p2_attributes'
        type: struct wpabuf
      - name: '*wps_attributes'
        type: struct wpabuf
      - name: '*wfd_subelems'
        type: struct wpabuf
      - name: dialog_token
        type: u8
      - name: '*capability'
        type: u8
      - name: '*go_intent'
        type: u8
      - name: '*status'
        type: u8
      - name: '*listen_channel'
        type: u8
      - name: '*operating_channel'
        type: u8
      - name: '*channel_list'
        type: u8
      - name: channel_list_len
        type: u8
      - name: '*config_timeout'
        type: u8
      - name: '*intended_addr'
        type: u8
      - name: '*group_bssid'
        type: u8
      - name: '*invitation_flags'
        type: u8
      - name: '*group_info'
        type: u8
      - name: group_info_len
        type: size_t
      - name: '*group_id'
        type: u8
      - name: group_id_len
        type: size_t
      - name: '*device_id'
        type: u8
      - name: '*manageability'
        type: u8
      - name: '*noa'
        type: u8
      - name: noa_len
        type: size_t
      - name: '*ext_listen_timing'
        type: u8
      - name: '*minor_reason_code'
        type: u8
      - name: '*oob_go_neg_channel'
        type: u8
      - name: '*p2p_device_info'
        type: u8
      - name: p2p_device_info_len
        type: size_t
      - name: '*p2p_device_addr'
        type: u8
      - name: '*pri_dev_type'
        type: u8
      - name: num_sec_dev_types
        type: u8
      - name: device_name[WPS_DEV_NAME_MAX_LEN + 1]
        type: char
      - name: config_methods
        type: u16
      - name: dev_password_id
        type: u16
      - name: dev_password_id_present
        type: int
      - name: wps_config_methods
        type: u16
      - name: '*wps_pri_dev_type'
        type: u8
      - name: '*wps_sec_dev_type_list'
        type: u8
      - name: wps_sec_dev_type_list_len
        type: size_t
      - name: '*wps_vendor_ext[P2P_MAX_WPS_VENDOR_EXT]'
        type: u8
      - name: wps_vendor_ext_len[P2P_MAX_WPS_VENDOR_EXT]
        type: size_t
      - name: '*manufacturer'
        type: u8
      - name: manufacturer_len
        type: size_t
      - name: '*model_name'
        type: u8
      - name: model_name_len
        type: size_t
      - name: '*model_number'
        type: u8
      - name: model_number_len
        type: size_t
      - name: '*serial_number'
        type: u8
      - name: serial_number_len
        type: size_t
      - name: '*oob_dev_password'
        type: u8
      - name: oob_dev_password_len
        type: size_t
      - name: '*ds_params'
        type: u8
      - name: '*ssid'
        type: u8
      - name: service_hash_count
        type: u8
      - name: '*service_hash'
        type: u8
      - name: '*session_info'
        type: u8
      - name: session_info_len
        type: size_t
      - name: '*conn_cap'
        type: u8
      - name: '*adv_id'
        type: u8
      - name: '*adv_mac'
        type: u8
      - name: '*adv_service_instance'
        type: u8
      - name: adv_service_instance_len
        type: size_t
      - name: '*session_id'
        type: u8
      - name: '*session_mac'
        type: u8
      - name: '*feature_cap'
        type: u8
      - name: feature_cap_len
        type: size_t
      - name: '*persistent_dev'
        type: u8
      - name: '*persistent_ssid'
        type: u8
      - name: persistent_ssid_len
        type: size_t
      - name: '*pref_freq_list'
        type: u8
      - name: pref_freq_list_len
        type: size_t
      - name: '*pcea_info'
        type: u8
      - name: pcea_info_len
        type: size_t
      - name: '*pbma_info'
        type: u8
      - name: pbma_info_len
        type: size_t
      - name: '*action_frame_wrapper'
        type: u8
      - name: action_frame_wrapper_len
        type: size_t
      - name: '*dira'
        type: u8
      - name: dira_len
        type: size_t
      - name: '*wlan_ap_info'
        type: u8
      - name: wlan_ap_info_len
        type: size_t
      item_type: struct
      name: p2p_message
      pos:
        line_end: 837
        line_start: 721
        source_file: /src/hostap/src/p2p/p2p_i.h
    - fields:
      - name: num_clients
        type: unsigned int
      - name: client[P2P_MAX_GROUP_ENTRIES]
        type: "struct p2p_client_info {\n\t\tconst u8 *p2p_device_addr;\n\t\tconst
          u8 *p2p_interface_addr;\n\t\tu8 dev_capab;\n\t\tu16 config_methods;\n\t\tconst
          u8 *pri_dev_type;\n\t\tu8 num_sec_dev_types;\n\t\tconst u8 *sec_dev_types;\n\t\tconst
          char *dev_name;\n\t\tsize_t dev_name_len;\n\t}"
      item_type: struct
      name: p2p_group_info
      pos:
        line_end: 855
        line_start: 842
        source_file: /src/hostap/src/p2p/p2p_i.h
    - fields:
      - name: '*p2p_device_addr'
        type: u8
      - name: '*p2p_interface_addr'
        type: u8
      - name: dev_capab
        type: u8
      - name: config_methods
        type: u16
      - name: '*pri_dev_type'
        type: u8
      - name: num_sec_dev_types
        type: u8
      - name: '*sec_dev_types'
        type: u8
      - name: '*dev_name'
        type: char
      - name: dev_name_len
        type: size_t
      item_type: struct
      name: p2p_client_info
      pos:
        line_end: 854
        line_start: 844
        source_file: /src/hostap/src/p2p/p2p_i.h
    - fields:
      - name: count_type
        type: u8
      - name: duration
        type: u32
      - name: interval
        type: u32
      - name: start_time
        type: u32
      item_type: struct
      name: p2p_noa_desc
      pos:
        line_end: 904
        line_start: 899
        source_file: /src/hostap/src/p2p/p2p_i.h
    typedefs: []
    union: []
- function_names:
  - p2p_group_init
  - p2p_group_free_member
  - p2p_group_free_members
  - p2p_group_deinit
  - p2p_client_info
  - p2p_group_add_common_ies
  - p2p_group_add_noa
  - p2p_group_encaps_probe_resp
  - p2p_group_build_p2p2_ie
  - p2p_group_build_beacon_ie
  - p2p_group_get_wfd_ie
  - wifi_display_encaps
  - wifi_display_add_dev_info_descr
  - wifi_display_build_go_ie
  - wifi_display_group_update
  - p2p_buf_add_group_info
  - p2p_group_buf_add_id
  - p2p_group_build_probe_resp_ie
  - p2p_group_update_ies
  - p2p_build_client_info
  - p2p_group_remove_member
  - p2p_group_notif_assoc
  - p2p_group_assoc_resp_ie
  - p2p_group_notif_disassoc
  - p2p_match_dev_type_member
  - p2p_group_match_dev_type
  - p2p_group_match_dev_id
  - p2p_group_notif_formation_done
  - p2p_group_notif_noa
  - p2p_group_get_client
  - p2p_group_get_client_interface_addr
  - p2p_group_get_client_iface
  - p2p_group_get_dev_addr
  - p2p_build_go_disc_req
  - p2p_group_go_discover
  - p2p_group_get_interface_addr
  - p2p_group_presence_req
  - p2p_get_group_num_members
  - p2p_client_limit_reached
  - p2p_iterate_group_members
  - p2p_group_is_client_connected
  - p2p_group_is_group_id_match
  - p2p_group_force_beacon_update_ies
  - p2p_group_get_freq
  - p2p_group_get_config
  - p2p_loop_on_all_groups
  - p2p_group_get_common_freqs
  source_file: /src/hostap/src/p2p/p2p_group.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*next'
        type: struct p2p_group_member
      - name: addr[ETH_ALEN]
        type: u8
      - name: dev_addr[ETH_ALEN]
        type: u8
      - name: '*p2p_ie'
        type: struct wpabuf
      - name: '*wfd_ie'
        type: struct wpabuf
      - name: '*client_info'
        type: struct wpabuf
      - name: dev_capab
        type: u8
      item_type: struct
      name: p2p_group_member
      pos:
        line_end: 28
        line_start: 20
        source_file: /src/hostap/src/p2p/p2p_group.c
    - fields:
      - name: '*p2p'
        type: struct p2p_data
      - name: '*cfg'
        type: struct p2p_group_config
      - name: '*members'
        type: struct p2p_group_member
      - name: num_members
        type: unsigned int
      - name: group_formation
        type: int
      - name: beacon_update
        type: int
      - name: '*noa'
        type: struct wpabuf
      - name: '*wfd_ie'
        type: struct wpabuf
      item_type: struct
      name: p2p_group
      pos:
        line_end: 42
        line_start: 33
        source_file: /src/hostap/src/p2p/p2p_group.c
    typedefs: []
    union: []
- function_names:
  - p2p_build_dev_disc_req
  - p2p_dev_disc_req_cb
  - p2p_send_dev_disc_req
  - p2p_build_dev_disc_resp
  - p2p_dev_disc_resp_cb
  - p2p_send_dev_disc_resp
  - p2p_process_dev_disc_req
  - p2p_process_dev_disc_resp
  - p2p_go_disc_req_cb
  - p2p_process_go_disc_req
  source_file: /src/hostap/src/p2p/p2p_dev_disc.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - wfd_wsd_supported
  - p2p_pending_sd_req
  - p2p_decrease_sd_bc_queries
  - p2p_unlink_sd_query
  - p2p_free_sd_query
  - p2p_free_sd_queries
  - p2p_build_sd_query
  - p2p_send_gas_comeback_req
  - p2p_build_sd_response
  - p2p_build_gas_comeback_resp
  - p2p_start_sd
  - p2p_rx_gas_initial_req
  - p2p_sd_response
  - p2p_rx_gas_initial_resp
  - p2p_rx_gas_comeback_req
  - p2p_rx_gas_comeback_resp
  - p2p_sd_request
  - p2p_sd_request_wfd
  - p2p_sd_service_update
  - p2p_sd_cancel_request
  source_file: /src/hostap/src/p2p/p2p_sd.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - p2p_go_det
  - p2p_peer_channels_check
  - p2p_peer_channels
  - p2p_wps_method_pw_id
  - p2p_wps_method_str
  - p2p_build_go_neg_req
  - p2p_connect_send
  - p2p_build_go_neg_resp
  - p2p_reselect_channel
  - p2p_go_select_channel
  - p2p_check_pref_chan_no_recv
  - p2p_check_pref_chan_recv
  - p2p_check_pref_chan
  - p2p_process_go_neg_req
  - p2p_handle_go_neg_req
  - p2p_build_go_neg_conf
  - p2p_process_go_neg_resp
  - p2p_handle_go_neg_resp
  - p2p_handle_go_neg_conf
  source_file: /src/hostap/src/p2p/p2p_go_neg.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/pasn/pasn_common.h
  types:
    enum:
    - enumerators:
      - name: PASN_FILS_STATE_NONE
        value: '0'
      - name: PASN_FILS_STATE_COMPLETE
      - name: PASN_FILS_STATE_PENDING_AS
      item_type: enum
      name: pasn_fils_state
      pos:
        line_end: 30
        line_start: 26
        source_file: /src/hostap/src/pasn/pasn_common.h
    preproc_defs:
    - item_type: preproc_def
      name: MAX_NUM_OF_PASN_GROUPS
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/hostap/src/pasn/pasn_common.h
      type_or_value: '10'
    structs:
    - fields:
      - name: state
        type: u8
      - name: nonce[NONCE_LEN]
        type: u8
      - name: anonce[NONCE_LEN]
        type: u8
      - name: session[FILS_SESSION_LEN]
        type: u8
      - name: erp_pmkid[PMKID_LEN]
        type: u8
      - name: completed
        type: bool
      - name: '*erp_resp'
        type: struct wpabuf
      item_type: struct
      name: pasn_fils
      pos:
        line_end: 40
        line_start: 32
        source_file: /src/hostap/src/pasn/pasn_common.h
    - fields:
      - name: akmp
        type: int
      - name: cipher
        type: int
      - name: own_addr[ETH_ALEN]
        type: u8
      - name: peer_addr[ETH_ALEN]
        type: u8
      - name: bssid[ETH_ALEN]
        type: u8
      - name: '*pmksa'
        type: struct rsn_pmksa_cache
      - name: derive_kdk
        type: bool
      - name: kdk_len
        type: size_t
      - name: '*cb_ctx'
        type: void
      - name: auth_alg
        type: unsigned int
      - name: mld_addr[ETH_ALEN]
        type: u8
      - name: is_ml_peer
        type: bool
      - name: group_cipher
        type: int
      - name: group_mgmt_cipher
        type: int
      - name: rsn_capab
        type: u16
      - name: wpa_key_mgmt
        type: int
      - name: rsn_pairwise
        type: int
      - name: rsnxe_capab
        type: u64
      - name: '*rsnxe_ie'
        type: u8
      - name: custom_pmkid_valid
        type: bool
      - name: custom_pmkid[PMKID_LEN]
        type: u8
      - name: ieee80211w
        type: enum mfp_options
      - name: sae_pw_id_counter
        type: unsigned int
      - name: '*dec_pw_id'
        type: u8
      - name: dec_pw_id_len
        type: size_t
      - name: '*extra_ies'
        type: u8
      - name: extra_ies_len
        type: size_t
      - name: derive_kek
        type: bool
      - name: kek_len
        type: size_t
      - name: group
        type: u16
      - name: rejected_groups[MAX_NUM_OF_PASN_GROUPS]
        type: u16
      - name: rejected_group_idx
        type: unsigned int
      - name: ap_supported_groups[MAX_NUM_OF_PASN_GROUPS]
        type: u16
      - name: ap_supported_group_idx
        type: unsigned int
      - name: secure_ltf
        type: bool
      - name: freq
        type: int
      - name: trans_seq
        type: u8
      - name: status
        type: u8
      - name: pmk_len
        type: size_t
      - name: pmk[PMK_LEN_MAX]
        type: u8
      - name: using_pmksa
        type: bool
      - name: hash_alg
        type: enum rsn_hash_alg
      - name: '*auth1'
        type: struct wpabuf
      - name: '*beacon_rsne_rsnxe'
        type: struct wpabuf
      - name: ptk
        type: struct wpa_ptk
      - name: '*ecdh'
        type: struct crypto_ecdh
      - name: '*comeback'
        type: struct wpabuf
      - name: comeback_after
        type: u16
      - name: '*pmksa_entry'
        type: struct rsn_pmksa_cache_entry
      - name: '*eapol'
        type: struct eapol_sm
      - name: fast_reauth
        type: int
      - name: network_id
        type: int
      - name: '*network_ctx'
        type: void
      - name: wrapped_data_format
        type: u8
      - name: '*secret'
        type: struct wpabuf
      - name: noauth
        type: bool
      - name: disable_pmksa_caching
        type: int
      - name: '*pasn_groups'
        type: int
      - name: use_anti_clogging
        type: int
      - name: '*rsn_ie'
        type: u8
      - name: rsn_ie_len
        type: size_t
      - name: '*comeback_key'
        type: u8
      - name: last_comeback_key_update
        type: struct os_reltime
      - name: comeback_idx
        type: u16
      - name: '*comeback_pending_idx'
        type: u16
      - name: '*frame'
        type: struct wpabuf
      - name: "(*send_mgmt)(void *ctx, const u8 *data, size_t data_len, int noack,\n\t\t\t
          unsigned int freq, unsigned int wait)"
        type: int
      - name: "(*validate_custom_pmkid)(void *ctx, const u8 *addr,\n\t\t\t\t     const
          u8 *pmkid)"
        type: int
      - name: (*prepare_data_element)(void *ctx, const u8 *peer_addr)
        type: int
      - name: (*parse_data_element)(void *ctx, const u8 *data, size_t len)
        type: int
      - name: "*\n\t(*pmksa_cache_search)(void *ctx, const u8 *spa, const u8 *pmkid,\n\t\t\t
          \     bool is_ml)"
        type: struct rsn_pmksa_cache_entry
      item_type: struct
      name: pasn_data
      pos:
        line_end: 240
        line_start: 42
        source_file: /src/hostap/src/pasn/pasn_common.h
    typedefs: []
    union: []
- function_names:
  - pasn_initiator_pmksa_cache_init
  - pasn_initiator_pmksa_cache_deinit
  - pasn_initiator_pmksa_cache_add
  - pasn_initiator_pmksa_cache_remove
  - pasn_initiator_pmksa_cache_get
  - pasn_initiator_pmksa_cache_flush
  - pasn_set_initiator_pmksa
  - wpas_pasn_wd_sae_commit
  - wpas_pasn_wd_sae_rx
  - wpas_pasn_wd_sae_confirm
  - wpas_pasn_fils_build_auth
  - wpas_pasn_wd_fils_auth
  - wpas_pasn_wd_fils_rx
  - wpas_pasn_get_wrapped_data
  - wpas_pasn_get_wrapped_data_format
  - wpas_pasn_add_mle
  - pasn_prepend_auth_alg
  - wpas_pasn_build_auth_1
  - wpas_pasn_build_auth_3
  - wpa_pasn_reset
  - wpas_pasn_set_pmk
  - wpas_pasn_send_auth_1
  - wpas_pasn_start
  - wpa_pasn_verify
  - is_pasn_auth_frame
  - wpas_pasn_store_ap_supported_groups
  - wpas_pasn_validate_supported_groups_rejection
  - wpas_pasn_validate_supported_groups
  - wpas_parse_pasn_frame
  - wpa_pasn_auth_rx
  - wpa_pasn_auth_tx_status
  source_file: /src/hostap/src/pasn/pasn_initiator.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pasn_data_init
  - pasn_data_deinit
  - pasn_register_callbacks
  - pasn_enable_kdk_derivation
  - pasn_disable_kdk_derivation
  - pasn_set_akmp
  - pasn_set_cipher
  - pasn_set_own_addr
  - pasn_set_own_mld_addr
  - pasn_set_peer_addr
  - pasn_set_bssid
  - pasn_set_pt
  - pasn_set_wpa_key_mgmt
  - pasn_set_mfp
  - pasn_set_rsn_pairwise
  - pasn_set_rsnxe_caps
  - pasn_set_rsnxe_ie
  - pasn_set_rsne
  - pasn_set_custom_pmkid
  - pasn_set_extra_ies
  - pasn_set_noauth
  - pasn_get_akmp
  - pasn_get_cipher
  - pasn_get_pmk_len
  - pasn_get_pmk
  - pasn_get_ptk
  - pasn_add_encrypted_data
  - pasn_parse_encrypted_data
  source_file: /src/hostap/src/pasn/pasn_common.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pasn_responder_pmksa_cache_init
  - pasn_responder_pmksa_cache_deinit
  - pasn_responder_pmksa_cache_add
  - pasn_responder_pmksa_cache_get
  - pasn_responder_pmksa_cache_remove
  - pasn_responder_pmksa_cache_flush
  - pasn_set_responder_pmksa
  - pasn_wd_handle_sae_commit
  - pasn_wd_handle_sae_confirm
  - pasn_get_sae_wd
  - pasn_get_fils_wd
  - pasn_get_wrapped_data
  - pasn_derive_keys
  - handle_auth_pasn_comeback
  - handle_auth_pasn_resp
  - pasn_resp_find_pmksa
  - handle_auth_pasn_1
  - handle_auth_pasn_3
  source_file: /src/hostap/src/pasn/pasn_responder.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/eap_common/eap_peap_common.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/eap_common/eap_teap_common.h
  types:
    enum:
    - enumerators:
      - name: TEAP_REQUEST_ACTION_PROCESS_TLV
        value: '1'
      - name: TEAP_REQUEST_ACTION_NEGOTIATE_EAP
        value: '2'
      item_type: enum
      name: teap_request_action
      pos:
        line_end: 92
        line_start: 89
        source_file: /src/hostap/src/eap_common/eap_teap_common.h
    - enumerators:
      - name: TEAP_TLV_AUTHORITY_ID
        value: '1'
      - name: TEAP_TLV_NAK
        value: '4'
      - name: TEAP_TLV_IDENTITY_TYPE
        value: '2'
      - name: TEAP_TLV_ERROR
        value: '5'
      - name: TEAP_TLV_RESULT
        value: '3'
      - name: TEAP_TLV_CHANNEL_BINDING
        value: '6'
      - name: TEAP_TLV_VENDOR_SPECIFIC
        value: '7'
      - name: TEAP_TLV_REQUEST_ACTION
        value: '8'
      - name: TEAP_TLV_EAP_PAYLOAD
        value: '9'
      - name: TEAP_TLV_INTERMEDIATE_RESULT
        value: '10'
      - name: TEAP_TLV_PAC
        value: '11'
      - name: TEAP_TLV_PKCS10
        value: '16'
      - name: TEAP_TLV_CRYPTO_BINDING
        value: '12'
      - name: TEAP_TLV_BASIC_PASSWORD_AUTH_REQ
        value: '13'
      - name: TEAP_TLV_PKCS7
        value: '15'
      - name: TEAP_TLV_BASIC_PASSWORD_AUTH_RESP
        value: '14'
      - name: TEAP_TLV_TRUSTED_SERVER_ROOT
        value: '17'
      item_type: enum
      name: teap_tlv_types
      pos:
        line_end: 146
        line_start: 128
        source_file: /src/hostap/src/eap_common/eap_teap_common.h
    - enumerators:
      - name: TEAP_STATUS_SUCCESS
        value: '1'
      - name: TEAP_STATUS_FAILURE
        value: '2'
      item_type: enum
      name: teap_tlv_result_status
      pos:
        line_end: 151
        line_start: 148
        source_file: /src/hostap/src/eap_common/eap_teap_common.h
    - enumerators:
      - name: TEAP_IDENTITY_TYPE_USER
        value: '1'
      - name: TEAP_IDENTITY_TYPE_MACHINE
        value: '2'
      item_type: enum
      name: teap_identity_types
      pos:
        line_end: 157
        line_start: 154
        source_file: /src/hostap/src/eap_common/eap_teap_common.h
    - enumerators:
      - name: TEAP_ERROR_INNER_METHOD
        value: '1001'
      - name: TEAP_ERROR_USER_ACCOUNT_CRED_UNAVAILABLE
        value: '1005'
      - name: TEAP_ERROR_UNSPEC_AUTHENTICATION_FAILURE
        value: '1003'
      - name: TEAP_ERROR_UNSPEC_AUTHORIZATION_FAILURE
        value: '1004'
      - name: TEAP_ERROR_UNSPEC_AUTH_INFRA_PROBLEM
        value: '1002'
      - name: TEAP_ERROR_USER_ACCOUNT_EXPIRED
        value: '1006'
      - name: TEAP_ERROR_USER_ACCOUNT_LOCKED_TRY_AGAIN_LATER
        value: '1007'
      - name: TEAP_ERROR_USER_ACCOUNT_LOCKED_ADMIN_REQ
        value: '1008'
      - name: TEAP_ERROR_TUNNEL_COMPROMISE_ERROR
        value: '2001'
      - name: TEAP_ERROR_UNEXPECTED_TLVS_EXCHANGED
        value: '2002'
      item_type: enum
      name: teap_error_codes
      pos:
        line_end: 174
        line_start: 163
        source_file: /src/hostap/src/eap_common/eap_teap_common.h
    preproc_defs:
    - item_type: preproc_def
      name: EAP_TEAP_VERSION
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/hostap/src/eap_common/eap_teap_common.h
      type_or_value: '1'
    - item_type: preproc_def
      name: EAP_TEAP_KEY_LEN
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/hostap/src/eap_common/eap_teap_common.h
      type_or_value: '64'
    - item_type: preproc_def
      name: EAP_TEAP_IMCK_LEN
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/hostap/src/eap_common/eap_teap_common.h
      type_or_value: '60'
    - item_type: preproc_def
      name: EAP_TEAP_SIMCK_LEN
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/hostap/src/eap_common/eap_teap_common.h
      type_or_value: '40'
    - item_type: preproc_def
      name: EAP_TEAP_CMK_LEN
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/hostap/src/eap_common/eap_teap_common.h
      type_or_value: '20'
    - item_type: preproc_def
      name: EAP_TEAP_COMPOUND_MAC_LEN
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/hostap/src/eap_common/eap_teap_common.h
      type_or_value: '20'
    - item_type: preproc_def
      name: EAP_TEAP_NONCE_LEN
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/hostap/src/eap_common/eap_teap_common.h
      type_or_value: '32'
    - item_type: preproc_def
      name: TEAP_TLS_EXPORTER_LABEL_SKS
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/hostap/src/eap_common/eap_teap_common.h
      type_or_value: '"EXPORTER: teap session key seed"'
    - item_type: preproc_def
      name: TLS_EXT_PAC_OPAQUE
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/hostap/src/eap_common/eap_teap_common.h
      type_or_value: '35'
    - item_type: preproc_def
      name: PAC_TYPE_PAC_KEY
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/hostap/src/eap_common/eap_teap_common.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PAC_TYPE_PAC_OPAQUE
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/hostap/src/eap_common/eap_teap_common.h
      type_or_value: '2'
    - item_type: preproc_def
      name: PAC_TYPE_CRED_LIFETIME
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/hostap/src/eap_common/eap_teap_common.h
      type_or_value: '3'
    - item_type: preproc_def
      name: PAC_TYPE_A_ID
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/hostap/src/eap_common/eap_teap_common.h
      type_or_value: '4'
    - item_type: preproc_def
      name: PAC_TYPE_I_ID
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/hostap/src/eap_common/eap_teap_common.h
      type_or_value: '5'
    - item_type: preproc_def
      name: PAC_TYPE_A_ID_INFO
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/hostap/src/eap_common/eap_teap_common.h
      type_or_value: '7'
    - item_type: preproc_def
      name: PAC_TYPE_PAC_ACKNOWLEDGEMENT
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/hostap/src/eap_common/eap_teap_common.h
      type_or_value: '8'
    - item_type: preproc_def
      name: PAC_TYPE_PAC_INFO
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/hostap/src/eap_common/eap_teap_common.h
      type_or_value: '9'
    - item_type: preproc_def
      name: PAC_TYPE_PAC_TYPE
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/hostap/src/eap_common/eap_teap_common.h
      type_or_value: '10'
    - item_type: preproc_def
      name: TEAP_CRYPTO_BINDING_SUBTYPE_REQUEST
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/hostap/src/eap_common/eap_teap_common.h
      type_or_value: '0'
    - item_type: preproc_def
      name: TEAP_CRYPTO_BINDING_SUBTYPE_RESPONSE
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/hostap/src/eap_common/eap_teap_common.h
      type_or_value: '1'
    - item_type: preproc_def
      name: TEAP_CRYPTO_BINDING_EMSK_CMAC
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/hostap/src/eap_common/eap_teap_common.h
      type_or_value: '1'
    - item_type: preproc_def
      name: TEAP_CRYPTO_BINDING_MSK_CMAC
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/hostap/src/eap_common/eap_teap_common.h
      type_or_value: '2'
    - item_type: preproc_def
      name: TEAP_CRYPTO_BINDING_EMSK_AND_MSK_CMAC
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/hostap/src/eap_common/eap_teap_common.h
      type_or_value: '3'
    - item_type: preproc_def
      name: EAP_TEAP_PAC_KEY_LEN
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/hostap/src/eap_common/eap_teap_common.h
      type_or_value: '48'
    - item_type: preproc_def
      name: PAC_TYPE_TUNNEL_PAC
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/hostap/src/eap_common/eap_teap_common.h
      type_or_value: '1'
    - item_type: preproc_def
      name: TEAP_TLV_MANDATORY
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/hostap/src/eap_common/eap_teap_common.h
      type_or_value: '0x8000'
    - item_type: preproc_def
      name: TEAP_TLV_TYPE_MASK
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/hostap/src/eap_common/eap_teap_common.h
      type_or_value: '0x3fff'
    structs:
    - fields:
      - name: type
        type: be16
      - name: len
        type: be16
      item_type: struct
      name: pac_attr_hdr
      pos:
        line_end: 46
        line_start: 43
        source_file: /src/hostap/src/eap_common/eap_teap_common.h
    - fields:
      - name: tlv_type
        type: be16
      - name: length
        type: be16
      item_type: struct
      name: teap_tlv_hdr
      pos:
        line_end: 51
        line_start: 48
        source_file: /src/hostap/src/eap_common/eap_teap_common.h
    - fields:
      - name: tlv_type
        type: be16
      - name: length
        type: be16
      - name: status
        type: be16
      item_type: struct
      name: teap_tlv_result
      pos:
        line_end: 59
        line_start: 54
        source_file: /src/hostap/src/eap_common/eap_teap_common.h
    - fields:
      - name: tlv_type
        type: be16
      - name: length
        type: be16
      - name: vendor_id
        type: be32
      - name: nak_type
        type: be16
      item_type: struct
      name: teap_tlv_nak
      pos:
        line_end: 67
        line_start: 61
        source_file: /src/hostap/src/eap_common/eap_teap_common.h
    - fields:
      - name: tlv_type
        type: be16
      - name: length
        type: be16
      - name: reserved
        type: u8
      - name: version
        type: u8
      - name: received_version
        type: u8
      - name: subtype
        type: u8
      - name: nonce[EAP_TEAP_NONCE_LEN]
        type: u8
      - name: emsk_compound_mac[EAP_TEAP_COMPOUND_MAC_LEN]
        type: u8
      - name: msk_compound_mac[EAP_TEAP_COMPOUND_MAC_LEN]
        type: u8
      item_type: struct
      name: teap_tlv_crypto_binding
      pos:
        line_end: 79
        line_start: 69
        source_file: /src/hostap/src/eap_common/eap_teap_common.h
    - fields:
      - name: tlv_type
        type: be16
      - name: length
        type: be16
      - name: status
        type: u8
      - name: action
        type: u8
      item_type: struct
      name: teap_tlv_request_action
      pos:
        line_end: 87
        line_start: 81
        source_file: /src/hostap/src/eap_common/eap_teap_common.h
    - fields:
      - name: tlv_type
        type: be16
      - name: length
        type: be16
      - name: pac_type
        type: be16
      - name: pac_len
        type: be16
      - name: result
        type: be16
      item_type: struct
      name: teap_tlv_pac_ack
      pos:
        line_end: 101
        line_start: 95
        source_file: /src/hostap/src/eap_common/eap_teap_common.h
    - fields:
      - name: type
        type: be16
      - name: length
        type: be16
      - name: pac_type
        type: be16
      item_type: struct
      name: teap_attr_pac_type
      pos:
        line_end: 107
        line_start: 103
        source_file: /src/hostap/src/eap_common/eap_teap_common.h
    - fields:
      - name: '*eap_payload_tlv'
        type: u8
      - name: eap_payload_tlv_len
        type: size_t
      - name: '*crypto_binding'
        type: struct teap_tlv_crypto_binding
      - name: crypto_binding_len
        type: size_t
      - name: iresult
        type: int
      - name: result
        type: int
      - name: '*nak'
        type: u8
      - name: nak_len
        type: size_t
      - name: request_action
        type: u8
      - name: request_action_status
        type: u8
      - name: '*pac'
        type: u8
      - name: pac_len
        type: size_t
      - name: '*basic_auth_req'
        type: u8
      - name: basic_auth_req_len
        type: size_t
      - name: '*basic_auth_resp'
        type: u8
      - name: basic_auth_resp_len
        type: size_t
      - name: error_code
        type: u32
      - name: identity_type
        type: u16
      item_type: struct
      name: eap_teap_tlv_parse
      pos:
        line_end: 198
        line_start: 179
        source_file: /src/hostap/src/eap_common/eap_teap_common.h
    typedefs: []
    union: []
- function_names:
  - EAP_PSK_FLAGS_GET_T
  - EAP_PSK_FLAGS_SET_T
  source_file: /src/hostap/src/eap_common/eap_psk_common.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EAP_PSK_RAND_LEN
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/hostap/src/eap_common/eap_psk_common.h
      type_or_value: '16'
    - item_type: preproc_def
      name: EAP_PSK_MAC_LEN
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/hostap/src/eap_common/eap_psk_common.h
      type_or_value: '16'
    - item_type: preproc_def
      name: EAP_PSK_TEK_LEN
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/hostap/src/eap_common/eap_psk_common.h
      type_or_value: '16'
    - item_type: preproc_def
      name: EAP_PSK_PSK_LEN
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/hostap/src/eap_common/eap_psk_common.h
      type_or_value: '16'
    - item_type: preproc_def
      name: EAP_PSK_AK_LEN
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/hostap/src/eap_common/eap_psk_common.h
      type_or_value: '16'
    - item_type: preproc_def
      name: EAP_PSK_KDK_LEN
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/hostap/src/eap_common/eap_psk_common.h
      type_or_value: '16'
    - item_type: preproc_def
      name: EAP_PSK_R_FLAG_CONT
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/hostap/src/eap_common/eap_psk_common.h
      type_or_value: '1'
    - item_type: preproc_def
      name: EAP_PSK_R_FLAG_DONE_SUCCESS
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/hostap/src/eap_common/eap_psk_common.h
      type_or_value: '2'
    - item_type: preproc_def
      name: EAP_PSK_R_FLAG_DONE_FAILURE
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/hostap/src/eap_common/eap_psk_common.h
      type_or_value: '3'
    - item_type: preproc_def
      name: EAP_PSK_E_FLAG
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/hostap/src/eap_common/eap_psk_common.h
      type_or_value: '0x20'
    structs:
    - fields:
      - name: flags
        type: u8
      - name: rand_s[EAP_PSK_RAND_LEN]
        type: u8
      item_type: struct
      name: eap_psk_hdr_1
      pos:
        line_end: 36
        line_start: 32
        source_file: /src/hostap/src/eap_common/eap_psk_common.h
    - fields:
      - name: flags
        type: u8
      - name: rand_s[EAP_PSK_RAND_LEN]
        type: u8
      - name: rand_p[EAP_PSK_RAND_LEN]
        type: u8
      - name: mac_p[EAP_PSK_MAC_LEN]
        type: u8
      item_type: struct
      name: eap_psk_hdr_2
      pos:
        line_end: 45
        line_start: 39
        source_file: /src/hostap/src/eap_common/eap_psk_common.h
    - fields:
      - name: flags
        type: u8
      - name: rand_s[EAP_PSK_RAND_LEN]
        type: u8
      - name: mac_s[EAP_PSK_MAC_LEN]
        type: u8
      item_type: struct
      name: eap_psk_hdr_3
      pos:
        line_end: 53
        line_start: 48
        source_file: /src/hostap/src/eap_common/eap_psk_common.h
    - fields:
      - name: flags
        type: u8
      - name: rand_s[EAP_PSK_RAND_LEN]
        type: u8
      item_type: struct
      name: eap_psk_hdr_4
      pos:
        line_end: 60
        line_start: 56
        source_file: /src/hostap/src/eap_common/eap_psk_common.h
    typedefs: []
    union: []
- function_names:
  - eap_psk_key_setup
  - eap_psk_derive_keys
  source_file: /src/hostap/src/eap_common/eap_psk_common.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: aes_block_size
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/hostap/src/eap_common/eap_psk_common.c
      type_or_value: '16'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/eap_common/ikev2_common.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IKEV2_NONCE_MIN_LEN
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/hostap/src/eap_common/ikev2_common.h
      type_or_value: '16'
    - item_type: preproc_def
      name: IKEV2_NONCE_MAX_LEN
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/hostap/src/eap_common/ikev2_common.h
      type_or_value: '256'
    - item_type: preproc_def
      name: IKEV2_SPI_LEN
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/hostap/src/eap_common/ikev2_common.h
      type_or_value: '8'
    - item_type: preproc_def
      name: IKEV2_MjVer
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/hostap/src/eap_common/ikev2_common.h
      type_or_value: '2'
    - item_type: preproc_def
      name: IKEV2_MnVer
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/hostap/src/eap_common/ikev2_common.h
      type_or_value: '0'
    - item_type: preproc_def
      name: IKEV2_VERSION
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/hostap/src/eap_common/ikev2_common.h
      type_or_value: (((IKEV2_MjVer) << 4) | (IKEV2_MnVer))
    - item_type: preproc_def
      name: IKEV2_HDR_INITIATOR
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/hostap/src/eap_common/ikev2_common.h
      type_or_value: '0x08'
    - item_type: preproc_def
      name: IKEV2_HDR_VERSION
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/hostap/src/eap_common/ikev2_common.h
      type_or_value: '0x10'
    - item_type: preproc_def
      name: IKEV2_HDR_RESPONSE
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/hostap/src/eap_common/ikev2_common.h
      type_or_value: '0x20'
    - item_type: preproc_def
      name: IKEV2_PAYLOAD_FLAGS_CRITICAL
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/hostap/src/eap_common/ikev2_common.h
      type_or_value: '0x01'
    - item_type: preproc_def
      name: IKEV2_MAX_HASH_LEN
      pos:
        line_end: 250
        line_start: 249
        source_file: /src/hostap/src/eap_common/ikev2_common.h
      type_or_value: '20'
    structs:
    - fields:
      - name: i_spi[IKEV2_SPI_LEN]
        type: u8
      - name: r_spi[IKEV2_SPI_LEN]
        type: u8
      - name: next_payload
        type: u8
      - name: version
        type: u8
      - name: exchange_type
        type: u8
      - name: flags
        type: u8
      - name: message_id[4]
        type: u8
      - name: length[4]
        type: u8
      item_type: struct
      name: ikev2_hdr
      pos:
        line_end: 34
        line_start: 25
        source_file: /src/hostap/src/eap_common/ikev2_common.h
    - fields:
      - name: next_payload
        type: u8
      - name: flags
        type: u8
      - name: payload_length[2]
        type: u8
      item_type: struct
      name: ikev2_payload_hdr
      pos:
        line_end: 40
        line_start: 36
        source_file: /src/hostap/src/eap_common/ikev2_common.h
    - fields:
      - name: type
        type: u8
      - name: reserved
        type: u8
      - name: proposal_length[2]
        type: u8
      - name: proposal_num
        type: u8
      - name: protocol_id
        type: u8
      - name: spi_size
        type: u8
      - name: num_transforms
        type: u8
      item_type: struct
      name: ikev2_proposal
      pos:
        line_end: 52
        line_start: 42
        source_file: /src/hostap/src/eap_common/ikev2_common.h
    - fields:
      - name: type
        type: u8
      - name: reserved
        type: u8
      - name: transform_length[2]
        type: u8
      - name: transform_type
        type: u8
      - name: reserved2
        type: u8
      - name: transform_id[2]
        type: u8
      item_type: struct
      name: ikev2_transform
      pos:
        line_end: 62
        line_start: 54
        source_file: /src/hostap/src/eap_common/ikev2_common.h
    - fields:
      - name: '*SK_d'
        type: u8
      - name: SK_d_len
        type: size_t
      item_type: struct
      name: ikev2_keys
      pos:
        line_end: 241
        line_start: 238
        source_file: /src/hostap/src/eap_common/ikev2_common.h
    - fields:
      - name: id
        type: int
      - name: key_len
        type: size_t
      - name: hash_len
        type: size_t
      item_type: struct
      name: ikev2_integ_alg
      pos:
        line_end: 255
        line_start: 251
        source_file: /src/hostap/src/eap_common/ikev2_common.h
    - fields:
      - name: id
        type: int
      - name: key_len
        type: size_t
      - name: hash_len
        type: size_t
      item_type: struct
      name: ikev2_prf_alg
      pos:
        line_end: 261
        line_start: 257
        source_file: /src/hostap/src/eap_common/ikev2_common.h
    - fields:
      - name: id
        type: int
      - name: key_len
        type: size_t
      - name: block_size
        type: size_t
      item_type: struct
      name: ikev2_encr_alg
      pos:
        line_end: 267
        line_start: 263
        source_file: /src/hostap/src/eap_common/ikev2_common.h
    - fields:
      - name: '*sa'
        type: u8
      - name: sa_len
        type: size_t
      - name: '*ke'
        type: u8
      - name: ke_len
        type: size_t
      - name: '*idi'
        type: u8
      - name: idi_len
        type: size_t
      - name: '*idr'
        type: u8
      - name: idr_len
        type: size_t
      - name: '*cert'
        type: u8
      - name: cert_len
        type: size_t
      - name: '*auth'
        type: u8
      - name: auth_len
        type: size_t
      - name: '*nonce'
        type: u8
      - name: nonce_len
        type: size_t
      - name: '*encrypted'
        type: u8
      - name: encrypted_len
        type: size_t
      - name: encr_next_payload
        type: u8
      - name: '*notification'
        type: u8
      - name: notification_len
        type: size_t
      item_type: struct
      name: ikev2_payloads
      pos:
        line_end: 314
        line_start: 294
        source_file: /src/hostap/src/eap_common/ikev2_common.h
    typedefs: []
    union: []
- function_names:
  - EAP_PWD_GET_LENGTH_BIT
  - EAP_PWD_SET_LENGTH_BIT
  - EAP_PWD_GET_MORE_BIT
  - EAP_PWD_SET_MORE_BIT
  - EAP_PWD_GET_EXCHANGE
  - EAP_PWD_SET_EXCHANGE
  source_file: /src/hostap/src/eap_common/eap_pwd_common.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EAP_PWD_HDR_SIZE
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/hostap/src/eap_common/eap_pwd_common.h
      type_or_value: '1'
    - item_type: preproc_def
      name: EAP_PWD_OPCODE_ID_EXCH
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/hostap/src/eap_common/eap_pwd_common.h
      type_or_value: '1'
    - item_type: preproc_def
      name: EAP_PWD_OPCODE_COMMIT_EXCH
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/hostap/src/eap_common/eap_pwd_common.h
      type_or_value: '2'
    - item_type: preproc_def
      name: EAP_PWD_OPCODE_CONFIRM_EXCH
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/hostap/src/eap_common/eap_pwd_common.h
      type_or_value: '3'
    - item_type: preproc_def
      name: EAP_PWD_DEFAULT_RAND_FUNC
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/hostap/src/eap_common/eap_pwd_common.h
      type_or_value: '1'
    - item_type: preproc_def
      name: EAP_PWD_DEFAULT_PRF
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/hostap/src/eap_common/eap_pwd_common.h
      type_or_value: '1'
    - item_type: preproc_def
      name: EAP_PWD_PREP_NONE
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/hostap/src/eap_common/eap_pwd_common.h
      type_or_value: '0'
    - item_type: preproc_def
      name: EAP_PWD_PREP_MS
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/hostap/src/eap_common/eap_pwd_common.h
      type_or_value: '1'
    - item_type: preproc_def
      name: EAP_PWD_PREP_SSHA1
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/hostap/src/eap_common/eap_pwd_common.h
      type_or_value: '3'
    - item_type: preproc_def
      name: EAP_PWD_PREP_SSHA256
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/hostap/src/eap_common/eap_pwd_common.h
      type_or_value: '4'
    - item_type: preproc_def
      name: EAP_PWD_PREP_SSHA512
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/hostap/src/eap_common/eap_pwd_common.h
      type_or_value: '5'
    structs:
    - fields:
      - name: group_num
        type: u16
      - name: '*group'
        type: struct crypto_ec
      - name: '*pwe'
        type: struct crypto_ec_point
      item_type: struct
      name: group_definition_
      pos:
        line_end: 19
        line_start: 15
        source_file: /src/hostap/src/eap_common/eap_pwd_common.h
    - fields:
      - name: group_num
        type: be16
      - name: random_function
        type: u8
      - name: prf
        type: u8
      - name: token[4]
        type: u8
      - name: prep
        type: u8
      - name: identity[0]
        type: u8
      item_type: struct
      name: eap_pwd_id
      pos:
        line_end: 52
        line_start: 38
        source_file: /src/hostap/src/eap_common/eap_pwd_common.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/eap_common/eap_ikev2_common.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IKEV2_FLAGS_LENGTH_INCLUDED
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/hostap/src/eap_common/eap_ikev2_common.h
      type_or_value: '0x80'
    - item_type: preproc_def
      name: IKEV2_FLAGS_MORE_FRAGMENTS
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/hostap/src/eap_common/eap_ikev2_common.h
      type_or_value: '0x40'
    - item_type: preproc_def
      name: IKEV2_FLAGS_ICV_INCLUDED
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/hostap/src/eap_common/eap_ikev2_common.h
      type_or_value: '0x20'
    - item_type: preproc_def
      name: IKEV2_FRAGMENT_SIZE
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/hostap/src/eap_common/eap_ikev2_common.h
      type_or_value: '1400'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/eap_common/eap_sake_common.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EAP_SAKE_VERSION
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/hostap/src/eap_common/eap_sake_common.h
      type_or_value: '2'
    - item_type: preproc_def
      name: EAP_SAKE_SUBTYPE_CHALLENGE
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/hostap/src/eap_common/eap_sake_common.h
      type_or_value: '1'
    - item_type: preproc_def
      name: EAP_SAKE_SUBTYPE_CONFIRM
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/hostap/src/eap_common/eap_sake_common.h
      type_or_value: '2'
    - item_type: preproc_def
      name: EAP_SAKE_SUBTYPE_AUTH_REJECT
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/hostap/src/eap_common/eap_sake_common.h
      type_or_value: '3'
    - item_type: preproc_def
      name: EAP_SAKE_SUBTYPE_IDENTITY
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/hostap/src/eap_common/eap_sake_common.h
      type_or_value: '4'
    - item_type: preproc_def
      name: EAP_SAKE_AT_RAND_S
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/hostap/src/eap_common/eap_sake_common.h
      type_or_value: '1'
    - item_type: preproc_def
      name: EAP_SAKE_AT_RAND_P
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/hostap/src/eap_common/eap_sake_common.h
      type_or_value: '2'
    - item_type: preproc_def
      name: EAP_SAKE_AT_MIC_S
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/hostap/src/eap_common/eap_sake_common.h
      type_or_value: '3'
    - item_type: preproc_def
      name: EAP_SAKE_AT_MIC_P
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/hostap/src/eap_common/eap_sake_common.h
      type_or_value: '4'
    - item_type: preproc_def
      name: EAP_SAKE_AT_SERVERID
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/hostap/src/eap_common/eap_sake_common.h
      type_or_value: '5'
    - item_type: preproc_def
      name: EAP_SAKE_AT_PEERID
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/hostap/src/eap_common/eap_sake_common.h
      type_or_value: '6'
    - item_type: preproc_def
      name: EAP_SAKE_AT_SPI_S
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/hostap/src/eap_common/eap_sake_common.h
      type_or_value: '7'
    - item_type: preproc_def
      name: EAP_SAKE_AT_SPI_P
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/hostap/src/eap_common/eap_sake_common.h
      type_or_value: '8'
    - item_type: preproc_def
      name: EAP_SAKE_AT_ANY_ID_REQ
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/hostap/src/eap_common/eap_sake_common.h
      type_or_value: '9'
    - item_type: preproc_def
      name: EAP_SAKE_AT_PERM_ID_REQ
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/hostap/src/eap_common/eap_sake_common.h
      type_or_value: '10'
    - item_type: preproc_def
      name: EAP_SAKE_AT_ENCR_DATA
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/hostap/src/eap_common/eap_sake_common.h
      type_or_value: '128'
    - item_type: preproc_def
      name: EAP_SAKE_AT_IV
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/hostap/src/eap_common/eap_sake_common.h
      type_or_value: '129'
    - item_type: preproc_def
      name: EAP_SAKE_AT_PADDING
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/hostap/src/eap_common/eap_sake_common.h
      type_or_value: '130'
    - item_type: preproc_def
      name: EAP_SAKE_AT_NEXT_TMPID
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/hostap/src/eap_common/eap_sake_common.h
      type_or_value: '131'
    - item_type: preproc_def
      name: EAP_SAKE_AT_MSK_LIFE
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/hostap/src/eap_common/eap_sake_common.h
      type_or_value: '132'
    - item_type: preproc_def
      name: EAP_SAKE_RAND_LEN
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/hostap/src/eap_common/eap_sake_common.h
      type_or_value: '16'
    - item_type: preproc_def
      name: EAP_SAKE_MIC_LEN
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/hostap/src/eap_common/eap_sake_common.h
      type_or_value: '16'
    - item_type: preproc_def
      name: EAP_SAKE_ROOT_SECRET_LEN
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/hostap/src/eap_common/eap_sake_common.h
      type_or_value: '16'
    - item_type: preproc_def
      name: EAP_SAKE_SMS_LEN
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/hostap/src/eap_common/eap_sake_common.h
      type_or_value: '16'
    - item_type: preproc_def
      name: EAP_SAKE_TEK_AUTH_LEN
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/hostap/src/eap_common/eap_sake_common.h
      type_or_value: '16'
    - item_type: preproc_def
      name: EAP_SAKE_TEK_CIPHER_LEN
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/hostap/src/eap_common/eap_sake_common.h
      type_or_value: '16'
    - item_type: preproc_def
      name: EAP_SAKE_TEK_LEN
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/hostap/src/eap_common/eap_sake_common.h
      type_or_value: (EAP_SAKE_TEK_AUTH_LEN + EAP_SAKE_TEK_CIPHER_LEN)
    structs:
    - fields:
      - name: version
        type: u8
      - name: session_id
        type: u8
      - name: subtype
        type: u8
      item_type: struct
      name: eap_sake_hdr
      pos:
        line_end: 50
        line_start: 46
        source_file: /src/hostap/src/eap_common/eap_sake_common.h
    - fields:
      - name: '*rand_s'
        type: u8
      - name: '*rand_p'
        type: u8
      - name: '*mic_s'
        type: u8
      - name: '*mic_p'
        type: u8
      - name: '*serverid'
        type: u8
      - name: serverid_len
        type: size_t
      - name: '*peerid'
        type: u8
      - name: peerid_len
        type: size_t
      - name: '*spi_s'
        type: u8
      - name: spi_s_len
        type: size_t
      - name: '*spi_p'
        type: u8
      - name: spi_p_len
        type: size_t
      - name: '*any_id_req'
        type: u8
      - name: '*perm_id_req'
        type: u8
      - name: '*encr_data'
        type: u8
      - name: encr_data_len
        type: size_t
      - name: '*iv'
        type: u8
      - name: iv_len
        type: size_t
      - name: '*next_tmpid'
        type: u8
      - name: next_tmpid_len
        type: size_t
      - name: '*msk_life'
        type: u8
      item_type: struct
      name: eap_sake_parse_attr
      pos:
        line_end: 79
        line_start: 57
        source_file: /src/hostap/src/eap_common/eap_sake_common.h
    typedefs: []
    union: []
- function_names:
  - ikev2_get_integ
  - ikev2_integ_hash
  - ikev2_get_prf
  - ikev2_prf_hash
  - ikev2_prf_plus
  - ikev2_get_encr
  - ikev2_encr_encrypt
  - ikev2_encr_decrypt
  - ikev2_parse_payloads
  - ikev2_derive_auth_data
  - ikev2_decrypt_payload
  - ikev2_update_hdr
  - ikev2_build_encrypted
  - ikev2_keys_set
  - ikev2_free_keys
  - ikev2_derive_sk_keys
  source_file: /src/hostap/src/eap_common/ikev2_common.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NUM_INTEG_ALGS
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/hostap/src/eap_common/ikev2_common.c
      type_or_value: ARRAY_SIZE(ikev2_integ_algs)
    - item_type: preproc_def
      name: NUM_PRF_ALGS
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/hostap/src/eap_common/ikev2_common.c
      type_or_value: ARRAY_SIZE(ikev2_prf_algs)
    - item_type: preproc_def
      name: NUM_ENCR_ALGS
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/hostap/src/eap_common/ikev2_common.c
      type_or_value: ARRAY_SIZE(ikev2_encr_algs)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/eap_common/eap_defs.h
  types:
    enum:
    - enumerators:
      - name: EAP_ERP_TYPE_REAUTH_START
        value: '1'
      - name: EAP_ERP_TYPE_REAUTH
        value: '2'
      item_type: enum
      name: eap_erp_type
      pos:
        line_end: 38
        line_start: 35
        source_file: /src/hostap/src/eap_common/eap_defs.h
    - enumerators:
      - name: EAP_ERP_TLV_KEYNAME_NAI
        value: '1'
      - name: EAP_ERP_TLV_CRYPTOSUITES
        value: '5'
      - name: EAP_ERP_TLV_DOMAIN_NAME
        value: '4'
      - name: EAP_ERP_TV_RMSK_LIFETIME
        value: '3'
      - name: EAP_ERP_TV_RRK_LIFETIME
        value: '2'
      - name: EAP_ERP_TLV_AUTHORIZATION_INDICATION
        value: '6'
      - name: EAP_ERP_TLV_CALLED_STATION_ID
        value: '128'
      - name: EAP_ERP_TLV_CALLING_STATION_ID
        value: '129'
      - name: EAP_ERP_TLV_NAS_IDENTIFIER
        value: '130'
      - name: EAP_ERP_TLV_NAS_IP_ADDRESS
        value: '131'
      - name: EAP_ERP_TLV_NAS_IPV6_ADDRESS
        value: '132'
      item_type: enum
      name: eap_erp_tlv_type
      pos:
        line_end: 53
        line_start: 41
        source_file: /src/hostap/src/eap_common/eap_defs.h
    - enumerators:
      - name: EAP_ERP_CS_HMAC_SHA256_64
        value: '1'
      - name: EAP_ERP_CS_HMAC_SHA256_256
        value: '3'
      - name: EAP_ERP_CS_HMAC_SHA256_128
        value: '2'
      item_type: enum
      name: eap_erp_cryptosuite
      pos:
        line_end: 60
        line_start: 56
        source_file: /src/hostap/src/eap_common/eap_defs.h
    - enumerators:
      - name: EAP_TYPE_OTP
        value: '5'
      - name: EAP_TYPE_MSCHAPV2
        value: '26'
      - name: EAP_TYPE_PAX
        value: '46'
      - name: EAP_TYPE_AKA_PRIME
        value: '50'
      - name: EAP_TYPE_TEAP
        value: '55'
      - name: EAP_TYPE_IDENTITY
        value: '1'
      - name: EAP_TYPE_SIM
        value: '18'
      - name: EAP_TYPE_TLV
        value: '33'
      - name: EAP_TYPE_PSK
        value: '47'
      - name: EAP_TYPE_GPSK
        value: '51'
      - name: EAP_TYPE_NOTIFICATION
        value: '2'
      - name: EAP_TYPE_TTLS
        value: '21'
      - name: EAP_TYPE_EXPANDED
        value: '254'
      - name: EAP_TYPE_NONE
        value: '0'
      - name: EAP_TYPE_MD5
        value: '4'
      - name: EAP_TYPE_GTC
        value: '6'
      - name: EAP_TYPE_TLS
        value: '13'
      - name: EAP_TYPE_AKA
        value: '23'
      - name: EAP_TYPE_TNC
        value: '38'
      - name: EAP_TYPE_SAKE
        value: '48'
      - name: EAP_TYPE_PWD
        value: '52'
      - name: EAP_TYPE_NAK
        value: '3'
      - name: EAP_TYPE_PEAP
        value: '25'
      - name: EAP_TYPE_FAST
        value: '43'
      - name: EAP_TYPE_IKEV2
        value: '49'
      - name: EAP_TYPE_EKE
        value: '53'
      - name: EAP_TYPE_LEAP
        value: '17'
      item_type: enum
      name: eap_type
      pos:
        line_end: 96
        line_start: 66
        source_file: /src/hostap/src/eap_common/eap_defs.h
    preproc_defs:
    - item_type: preproc_def
      name: EAP_VENDOR_UNAUTH_TLS
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/hostap/src/eap_common/eap_defs.h
      type_or_value: EAP_VENDOR_HOSTAP
    - item_type: preproc_def
      name: EAP_VENDOR_TYPE_UNAUTH_TLS
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/hostap/src/eap_common/eap_defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: EAP_VENDOR_WFA_UNAUTH_TLS
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/hostap/src/eap_common/eap_defs.h
      type_or_value: '13'
    - item_type: preproc_def
      name: EAP_MSK_LEN
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/hostap/src/eap_common/eap_defs.h
      type_or_value: '64'
    - item_type: preproc_def
      name: EAP_EMSK_LEN
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/hostap/src/eap_common/eap_defs.h
      type_or_value: '64'
    - item_type: preproc_def
      name: EAP_EMSK_NAME_LEN
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/hostap/src/eap_common/eap_defs.h
      type_or_value: '8'
    - item_type: preproc_def
      name: ERP_MAX_KEY_LEN
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/hostap/src/eap_common/eap_defs.h
      type_or_value: '64'
    structs:
    - fields:
      - name: code
        type: u8
      - name: identifier
        type: u8
      - name: length
        type: be16
      item_type: struct
      name: eap_hdr
      pos:
        line_end: 22
        line_start: 17
        source_file: /src/hostap/src/eap_common/eap_defs.h
    typedefs: []
    union: []
- function_names:
  - eap_sim_prf
  - eap_sim_derive_mk
  - eap_aka_derive_mk
  - eap_sim_derive_keys
  - eap_sim_derive_keys_reauth
  - eap_sim_verify_mac
  - eap_sim_add_mac
  - prf_prime
  - eap_aka_prime_derive_keys
  - eap_aka_prime_derive_keys_reauth
  - eap_sim_verify_mac_sha256
  - eap_sim_add_mac_sha256
  - eap_aka_prime_derive_ck_ik_prime
  - eap_sim_parse_attr
  - eap_sim_parse_encr
  - eap_sim_msg_init
  - eap_sim_msg_finish
  - eap_sim_msg_free
  - eap_sim_msg_add_full
  - eap_sim_msg_add
  - eap_sim_msg_add_mac
  - eap_sim_msg_add_encr_start
  - eap_sim_msg_add_encr_end
  - eap_sim_report_notification
  - get_last_char
  - eap_sim_anonymous_username
  source_file: /src/hostap/src/eap_common/eap_sim_common.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EAP_SIM_INIT_LEN
      pos:
        line_end: 972
        line_start: 971
        source_file: /src/hostap/src/eap_common/eap_sim_common.c
      type_or_value: '128'
    structs:
    - fields:
      - name: '*buf'
        type: struct wpabuf
      - name: mac
        type: size_t
      item_type: struct
      name: eap_sim_msg
      pos:
        line_end: 976
        line_start: 973
        source_file: /src/hostap/src/eap_common/eap_sim_common.c
    typedefs: []
    union: []
- function_names:
  - eap_sake_parse_add_attr
  - eap_sake_parse_attributes
  - eap_sake_kdf
  - eap_sake_derive_keys
  - eap_sake_compute_mic
  - eap_sake_add_attr
  source_file: /src/hostap/src/eap_common/eap_sake_common.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - eap_pwd_h_init
  - eap_pwd_h_update
  - eap_pwd_h_final
  - eap_pwd_kdf
  - get_eap_pwd_group
  - compute_password_element
  - compute_keys
  - eap_pwd_element_coord_ok
  - eap_pwd_get_element
  - eap_pwd_get_scalar
  - eap_pwd_get_rand_mask
  source_file: /src/hostap/src/eap_common/eap_pwd_common.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_ECC_PRIME_LEN
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/hostap/src/eap_common/eap_pwd_common.c
      type_or_value: '66'
    structs: []
    typedefs: []
    union: []
- function_names:
  - eap_ikev2_derive_keymat
  - eap_ikev2_build_frag_ack
  - eap_ikev2_validate_icv
  source_file: /src/hostap/src/eap_common/eap_ikev2_common.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/eap_common/eap_fast_common.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EAP_FAST_VERSION
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/hostap/src/eap_common/eap_fast_common.h
      type_or_value: '1'
    - item_type: preproc_def
      name: EAP_FAST_KEY_LEN
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/hostap/src/eap_common/eap_fast_common.h
      type_or_value: '64'
    - item_type: preproc_def
      name: EAP_FAST_SIMCK_LEN
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/hostap/src/eap_common/eap_fast_common.h
      type_or_value: '40'
    - item_type: preproc_def
      name: EAP_FAST_SKS_LEN
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/hostap/src/eap_common/eap_fast_common.h
      type_or_value: '40'
    - item_type: preproc_def
      name: EAP_FAST_CMK_LEN
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/hostap/src/eap_common/eap_fast_common.h
      type_or_value: '20'
    - item_type: preproc_def
      name: TLS_EXT_PAC_OPAQUE
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/hostap/src/eap_common/eap_fast_common.h
      type_or_value: '35'
    - item_type: preproc_def
      name: PAC_TYPE_PAC_KEY
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/hostap/src/eap_common/eap_fast_common.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PAC_TYPE_PAC_OPAQUE
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/hostap/src/eap_common/eap_fast_common.h
      type_or_value: '2'
    - item_type: preproc_def
      name: PAC_TYPE_CRED_LIFETIME
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/hostap/src/eap_common/eap_fast_common.h
      type_or_value: '3'
    - item_type: preproc_def
      name: PAC_TYPE_A_ID
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/hostap/src/eap_common/eap_fast_common.h
      type_or_value: '4'
    - item_type: preproc_def
      name: PAC_TYPE_I_ID
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/hostap/src/eap_common/eap_fast_common.h
      type_or_value: '5'
    - item_type: preproc_def
      name: PAC_TYPE_A_ID_INFO
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/hostap/src/eap_common/eap_fast_common.h
      type_or_value: '7'
    - item_type: preproc_def
      name: PAC_TYPE_PAC_ACKNOWLEDGEMENT
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/hostap/src/eap_common/eap_fast_common.h
      type_or_value: '8'
    - item_type: preproc_def
      name: PAC_TYPE_PAC_INFO
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/hostap/src/eap_common/eap_fast_common.h
      type_or_value: '9'
    - item_type: preproc_def
      name: PAC_TYPE_PAC_TYPE
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/hostap/src/eap_common/eap_fast_common.h
      type_or_value: '10'
    - item_type: preproc_def
      name: EAP_FAST_PAC_KEY_LEN
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/hostap/src/eap_common/eap_fast_common.h
      type_or_value: '32'
    - item_type: preproc_def
      name: PAC_TYPE_TUNNEL_PAC
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/hostap/src/eap_common/eap_fast_common.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PAC_TYPE_USER_AUTHORIZATION
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/hostap/src/eap_common/eap_fast_common.h
      type_or_value: '3'
    - item_type: preproc_def
      name: PAC_TYPE_MACHINE_AUTHENTICATION
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/hostap/src/eap_common/eap_fast_common.h
      type_or_value: '2'
    structs:
    - fields:
      - name: type
        type: be16
      - name: len
        type: be16
      item_type: struct
      name: pac_tlv_hdr
      pos:
        line_end: 45
        line_start: 42
        source_file: /src/hostap/src/eap_common/eap_fast_common.h
    - fields:
      - name: session_key_seed[EAP_FAST_SKS_LEN]
        type: u8
      - name: server_challenge[16]
        type: u8
      - name: client_challenge[16]
        type: u8
      item_type: struct
      name: eap_fast_key_block_provisioning
      pos:
        line_end: 73
        line_start: 68
        source_file: /src/hostap/src/eap_common/eap_fast_common.h
    - fields:
      - name: '*eap_payload_tlv'
        type: u8
      - name: eap_payload_tlv_len
        type: size_t
      - name: '*crypto_binding'
        type: struct eap_tlv_crypto_binding_tlv
      - name: crypto_binding_len
        type: size_t
      - name: iresult
        type: int
      - name: result
        type: int
      - name: request_action
        type: int
      - name: '*pac'
        type: u8
      - name: pac_len
        type: size_t
      item_type: struct
      name: eap_fast_tlv_parse
      pos:
        line_end: 89
        line_start: 79
        source_file: /src/hostap/src/eap_common/eap_fast_common.h
    typedefs: []
    union: []
- function_names:
  - eap_wsc_build_frag_ack
  source_file: /src/hostap/src/eap_common/eap_wsc_common.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - eap_aka_prime_derive_keys
  - eap_aka_prime_derive_keys_reauth
  - eap_sim_verify_mac_sha256
  source_file: /src/hostap/src/eap_common/eap_sim_common.h
  types:
    enum:
    - enumerators:
      - name: NO_ID_REQ
      - name: ANY_ID
      - name: PERMANENT_ID
      - name: FULLAUTH_ID
      item_type: enum
      name: eap_sim_id_req
      pos:
        line_end: 179
        line_start: 177
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
    preproc_defs:
    - item_type: preproc_def
      name: EAP_SIM_NONCE_S_LEN
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '16'
    - item_type: preproc_def
      name: EAP_SIM_NONCE_MT_LEN
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '16'
    - item_type: preproc_def
      name: EAP_SIM_MAC_LEN
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '16'
    - item_type: preproc_def
      name: EAP_SIM_MK_LEN
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '20'
    - item_type: preproc_def
      name: EAP_SIM_K_AUT_LEN
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '16'
    - item_type: preproc_def
      name: EAP_SIM_K_ENCR_LEN
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '16'
    - item_type: preproc_def
      name: EAP_SIM_KEYING_DATA_LEN
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '64'
    - item_type: preproc_def
      name: EAP_SIM_IV_LEN
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '16'
    - item_type: preproc_def
      name: EAP_SIM_KC_LEN
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '8'
    - item_type: preproc_def
      name: EAP_SIM_SRES_LEN
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '4'
    - item_type: preproc_def
      name: GSM_RAND_LEN
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '16'
    - item_type: preproc_def
      name: EAP_SIM_VERSION
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '1'
    - item_type: preproc_def
      name: EAP_SIM_SUBTYPE_START
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '10'
    - item_type: preproc_def
      name: EAP_SIM_SUBTYPE_CHALLENGE
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '11'
    - item_type: preproc_def
      name: EAP_SIM_SUBTYPE_NOTIFICATION
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '12'
    - item_type: preproc_def
      name: EAP_SIM_SUBTYPE_REAUTHENTICATION
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '13'
    - item_type: preproc_def
      name: EAP_SIM_SUBTYPE_CLIENT_ERROR
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '14'
    - item_type: preproc_def
      name: EAP_SIM_UNABLE_TO_PROCESS_PACKET
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '0'
    - item_type: preproc_def
      name: EAP_SIM_UNSUPPORTED_VERSION
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '1'
    - item_type: preproc_def
      name: EAP_SIM_INSUFFICIENT_NUM_OF_CHAL
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '2'
    - item_type: preproc_def
      name: EAP_SIM_RAND_NOT_FRESH
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '3'
    - item_type: preproc_def
      name: EAP_SIM_MAX_FAST_REAUTHS
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '1000'
    - item_type: preproc_def
      name: EAP_SIM_MAX_CHAL
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '3'
    - item_type: preproc_def
      name: EAP_AKA_SUBTYPE_CHALLENGE
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '1'
    - item_type: preproc_def
      name: EAP_AKA_SUBTYPE_AUTHENTICATION_REJECT
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '2'
    - item_type: preproc_def
      name: EAP_AKA_SUBTYPE_SYNCHRONIZATION_FAILURE
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '4'
    - item_type: preproc_def
      name: EAP_AKA_SUBTYPE_IDENTITY
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '5'
    - item_type: preproc_def
      name: EAP_AKA_SUBTYPE_NOTIFICATION
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '12'
    - item_type: preproc_def
      name: EAP_AKA_SUBTYPE_REAUTHENTICATION
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '13'
    - item_type: preproc_def
      name: EAP_AKA_SUBTYPE_CLIENT_ERROR
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '14'
    - item_type: preproc_def
      name: EAP_AKA_UNABLE_TO_PROCESS_PACKET
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '0'
    - item_type: preproc_def
      name: EAP_AKA_RAND_LEN
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '16'
    - item_type: preproc_def
      name: EAP_AKA_AUTN_LEN
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '16'
    - item_type: preproc_def
      name: EAP_AKA_AUTS_LEN
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '14'
    - item_type: preproc_def
      name: EAP_AKA_RES_MAX_LEN
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '16'
    - item_type: preproc_def
      name: EAP_AKA_IK_LEN
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '16'
    - item_type: preproc_def
      name: EAP_AKA_CK_LEN
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '16'
    - item_type: preproc_def
      name: EAP_AKA_MAX_FAST_REAUTHS
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '1000'
    - item_type: preproc_def
      name: EAP_AKA_MIN_RES_LEN
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '4'
    - item_type: preproc_def
      name: EAP_AKA_MAX_RES_LEN
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '16'
    - item_type: preproc_def
      name: EAP_AKA_CHECKCODE_LEN
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '20'
    - item_type: preproc_def
      name: EAP_AKA_PRIME_K_AUT_LEN
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '32'
    - item_type: preproc_def
      name: EAP_AKA_PRIME_CHECKCODE_LEN
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '32'
    - item_type: preproc_def
      name: EAP_AKA_PRIME_K_RE_LEN
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '32'
    - item_type: preproc_def
      name: EAP_SIM_AT_RAND
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '1'
    - item_type: preproc_def
      name: EAP_SIM_AT_AUTN
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '2 '
    - item_type: preproc_def
      name: EAP_SIM_AT_RES
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '3 '
    - item_type: preproc_def
      name: EAP_SIM_AT_AUTS
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '4 '
    - item_type: preproc_def
      name: EAP_SIM_AT_PADDING
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '6 '
    - item_type: preproc_def
      name: EAP_SIM_AT_NONCE_MT
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '7 '
    - item_type: preproc_def
      name: EAP_SIM_AT_PERMANENT_ID_REQ
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '10'
    - item_type: preproc_def
      name: EAP_SIM_AT_MAC
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '11'
    - item_type: preproc_def
      name: EAP_SIM_AT_NOTIFICATION
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '12'
    - item_type: preproc_def
      name: EAP_SIM_AT_ANY_ID_REQ
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '13'
    - item_type: preproc_def
      name: EAP_SIM_AT_IDENTITY
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '14 '
    - item_type: preproc_def
      name: EAP_SIM_AT_VERSION_LIST
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '15 '
    - item_type: preproc_def
      name: EAP_SIM_AT_SELECTED_VERSION
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '16 '
    - item_type: preproc_def
      name: EAP_SIM_AT_FULLAUTH_ID_REQ
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '17'
    - item_type: preproc_def
      name: EAP_SIM_AT_COUNTER
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '19 '
    - item_type: preproc_def
      name: EAP_SIM_AT_COUNTER_TOO_SMALL
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '20 '
    - item_type: preproc_def
      name: EAP_SIM_AT_NONCE_S
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '21 '
    - item_type: preproc_def
      name: EAP_SIM_AT_CLIENT_ERROR_CODE
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '22 '
    - item_type: preproc_def
      name: EAP_SIM_AT_KDF_INPUT
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '23 '
    - item_type: preproc_def
      name: EAP_SIM_AT_KDF
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '24 '
    - item_type: preproc_def
      name: EAP_SIM_AT_IV
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '129'
    - item_type: preproc_def
      name: EAP_SIM_AT_ENCR_DATA
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '130'
    - item_type: preproc_def
      name: EAP_SIM_AT_NEXT_PSEUDONYM
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '132 '
    - item_type: preproc_def
      name: EAP_SIM_AT_NEXT_REAUTH_ID
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '133 '
    - item_type: preproc_def
      name: EAP_SIM_AT_CHECKCODE
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '134 '
    - item_type: preproc_def
      name: EAP_SIM_AT_RESULT_IND
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '135'
    - item_type: preproc_def
      name: EAP_SIM_AT_BIDDING
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '136'
    - item_type: preproc_def
      name: EAP_SIM_GENERAL_FAILURE_AFTER_AUTH
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '0'
    - item_type: preproc_def
      name: EAP_SIM_TEMPORARILY_DENIED
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '1026'
    - item_type: preproc_def
      name: EAP_SIM_NOT_SUBSCRIBED
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '1031'
    - item_type: preproc_def
      name: EAP_SIM_GENERAL_FAILURE_BEFORE_AUTH
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '16384'
    - item_type: preproc_def
      name: EAP_SIM_SUCCESS
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '32768'
    - item_type: preproc_def
      name: EAP_AKA_PRIME_KDF
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '1'
    - item_type: preproc_def
      name: EAP_AKA_BIDDING_FLAG_D
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '0x8000'
    - item_type: preproc_def
      name: EAP_AKA_PRIME_KDF_MAX
      pos:
        line_end: 199
        line_start: 198
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
      type_or_value: '10'
    structs:
    - fields:
      - name: '*rand'
        type: u8
      - name: '*next_pseudonym'
        type: u8
      - name: '*nonce_mt'
        type: u8
      - name: '*checkcode'
        type: u8
      - name: '*kdf_input'
        type: u8
      - name: '*bidding'
        type: u8
      - name: num_chal
        type: size_t
      - name: next_pseudonym_len
        type: size_t
      - name: res_len_bits
        type: size_t
      - name: checkcode_len
        type: size_t
      - name: kdf_input_len
        type: size_t
      - name: id_req
        type: enum eap_sim_id_req
      - name: notification
        type: int
      - name: counter_too_small
        type: int
      - name: result_ind
        type: int
      - name: kdf[EAP_AKA_PRIME_KDF_MAX]
        type: u16
      - name: kdf_count
        type: size_t
      item_type: struct
      name: eap_sim_attrs
      pos:
        line_end: 201
        line_start: 182
        source_file: /src/hostap/src/eap_common/eap_sim_common.h
    typedefs: []
    union: []
- function_names:
  - eap_pax_kdf
  - eap_pax_mac
  - eap_pax_initial_key_derivation
  source_file: /src/hostap/src/eap_common/eap_pax_common.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - eap_teap_put_tlv_hdr
  - eap_teap_put_tlv
  - eap_teap_put_tlv_buf
  - eap_teap_tlv_eap_payload
  - eap_teap_tls_prf
  - eap_teap_derive_eap_msk
  - eap_teap_derive_eap_emsk
  - eap_teap_derive_imck
  - tls_cipher_suite_match
  - tls_cipher_suite_mac_sha1
  - tls_cipher_suite_mac_sha256
  - tls_cipher_suite_mac_sha384
  - eap_teap_tls_mac
  - eap_teap_compound_mac
  - eap_teap_parse_tlv
  - eap_teap_tlv_type_str
  - eap_teap_tlv_result
  - eap_teap_tlv_error
  - eap_teap_tlv_identity_type
  source_file: /src/hostap/src/eap_common/eap_teap_common.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/eap_common/eap_pax_common.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EAP_PAX_FLAGS_MF
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/hostap/src/eap_common/eap_pax_common.h
      type_or_value: '0x01'
    - item_type: preproc_def
      name: EAP_PAX_FLAGS_CE
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/hostap/src/eap_common/eap_pax_common.h
      type_or_value: '0x02'
    - item_type: preproc_def
      name: EAP_PAX_FLAGS_AI
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/hostap/src/eap_common/eap_pax_common.h
      type_or_value: '0x04'
    - item_type: preproc_def
      name: EAP_PAX_MAC_HMAC_SHA1_128
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/hostap/src/eap_common/eap_pax_common.h
      type_or_value: '0x01'
    - item_type: preproc_def
      name: EAP_PAX_HMAC_SHA256_128
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/hostap/src/eap_common/eap_pax_common.h
      type_or_value: '0x02'
    - item_type: preproc_def
      name: EAP_PAX_DH_GROUP_NONE
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/hostap/src/eap_common/eap_pax_common.h
      type_or_value: '0x00'
    - item_type: preproc_def
      name: EAP_PAX_DH_GROUP_2048_MODP
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/hostap/src/eap_common/eap_pax_common.h
      type_or_value: '0x01'
    - item_type: preproc_def
      name: EAP_PAX_DH_GROUP_3072_MODP
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/hostap/src/eap_common/eap_pax_common.h
      type_or_value: '0x02'
    - item_type: preproc_def
      name: EAP_PAX_DH_GROUP_NIST_ECC_P_256
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/hostap/src/eap_common/eap_pax_common.h
      type_or_value: '0x03'
    - item_type: preproc_def
      name: EAP_PAX_PUBLIC_KEY_NONE
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/hostap/src/eap_common/eap_pax_common.h
      type_or_value: '0x00'
    - item_type: preproc_def
      name: EAP_PAX_PUBLIC_KEY_RSAES_OAEP
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/hostap/src/eap_common/eap_pax_common.h
      type_or_value: '0x01'
    - item_type: preproc_def
      name: EAP_PAX_PUBLIC_KEY_RSA_PKCS1_V1_5
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/hostap/src/eap_common/eap_pax_common.h
      type_or_value: '0x02'
    - item_type: preproc_def
      name: EAP_PAX_PUBLIC_KEY_EL_GAMAL_NIST_ECC
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/hostap/src/eap_common/eap_pax_common.h
      type_or_value: '0x03'
    - item_type: preproc_def
      name: EAP_PAX_ADE_VENDOR_SPECIFIC
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/hostap/src/eap_common/eap_pax_common.h
      type_or_value: '0x01'
    - item_type: preproc_def
      name: EAP_PAX_ADE_CLIENT_CHANNEL_BINDING
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/hostap/src/eap_common/eap_pax_common.h
      type_or_value: '0x02'
    - item_type: preproc_def
      name: EAP_PAX_ADE_SERVER_CHANNEL_BINDING
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/hostap/src/eap_common/eap_pax_common.h
      type_or_value: '0x03'
    - item_type: preproc_def
      name: EAP_PAX_RAND_LEN
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/hostap/src/eap_common/eap_pax_common.h
      type_or_value: '32'
    - item_type: preproc_def
      name: EAP_PAX_MAC_LEN
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/hostap/src/eap_common/eap_pax_common.h
      type_or_value: '16'
    - item_type: preproc_def
      name: EAP_PAX_ICV_LEN
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/hostap/src/eap_common/eap_pax_common.h
      type_or_value: '16'
    - item_type: preproc_def
      name: EAP_PAX_AK_LEN
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/hostap/src/eap_common/eap_pax_common.h
      type_or_value: '16'
    - item_type: preproc_def
      name: EAP_PAX_MK_LEN
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/hostap/src/eap_common/eap_pax_common.h
      type_or_value: '16'
    - item_type: preproc_def
      name: EAP_PAX_CK_LEN
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/hostap/src/eap_common/eap_pax_common.h
      type_or_value: '16'
    - item_type: preproc_def
      name: EAP_PAX_ICK_LEN
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/hostap/src/eap_common/eap_pax_common.h
      type_or_value: '16'
    - item_type: preproc_def
      name: EAP_PAX_MID_LEN
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/hostap/src/eap_common/eap_pax_common.h
      type_or_value: '16'
    structs:
    - fields:
      - name: op_code
        type: u8
      - name: flags
        type: u8
      - name: mac_id
        type: u8
      - name: dh_group_id
        type: u8
      - name: public_key_id
        type: u8
      item_type: struct
      name: eap_pax_hdr
      pos:
        line_end: 22
        line_start: 15
        source_file: /src/hostap/src/eap_common/eap_pax_common.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/eap_common/eap_gpsk_common.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EAP_GPSK_OPCODE_GPSK_1
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/hostap/src/eap_common/eap_gpsk_common.h
      type_or_value: '1'
    - item_type: preproc_def
      name: EAP_GPSK_OPCODE_GPSK_2
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/hostap/src/eap_common/eap_gpsk_common.h
      type_or_value: '2'
    - item_type: preproc_def
      name: EAP_GPSK_OPCODE_GPSK_3
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/hostap/src/eap_common/eap_gpsk_common.h
      type_or_value: '3'
    - item_type: preproc_def
      name: EAP_GPSK_OPCODE_GPSK_4
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/hostap/src/eap_common/eap_gpsk_common.h
      type_or_value: '4'
    - item_type: preproc_def
      name: EAP_GPSK_OPCODE_FAIL
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/hostap/src/eap_common/eap_gpsk_common.h
      type_or_value: '5'
    - item_type: preproc_def
      name: EAP_GPSK_OPCODE_PROTECTED_FAIL
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/hostap/src/eap_common/eap_gpsk_common.h
      type_or_value: '6'
    - item_type: preproc_def
      name: EAP_GPSK_FAIL_PSK_NOT_FOUND
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/hostap/src/eap_common/eap_gpsk_common.h
      type_or_value: '0x00000001'
    - item_type: preproc_def
      name: EAP_GPSK_FAIL_AUTHENTICATION_FAILURE
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/hostap/src/eap_common/eap_gpsk_common.h
      type_or_value: '0x00000002'
    - item_type: preproc_def
      name: EAP_GPSK_FAIL_AUTHORIZATION_FAILURE
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/hostap/src/eap_common/eap_gpsk_common.h
      type_or_value: '0x00000003'
    - item_type: preproc_def
      name: EAP_GPSK_RAND_LEN
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/hostap/src/eap_common/eap_gpsk_common.h
      type_or_value: '32'
    - item_type: preproc_def
      name: EAP_GPSK_MAX_SK_LEN
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/hostap/src/eap_common/eap_gpsk_common.h
      type_or_value: '32'
    - item_type: preproc_def
      name: EAP_GPSK_MAX_PK_LEN
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/hostap/src/eap_common/eap_gpsk_common.h
      type_or_value: '32'
    - item_type: preproc_def
      name: EAP_GPSK_MAX_MIC_LEN
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/hostap/src/eap_common/eap_gpsk_common.h
      type_or_value: '32'
    - item_type: preproc_def
      name: EAP_GPSK_VENDOR_IETF
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/hostap/src/eap_common/eap_gpsk_common.h
      type_or_value: '0x00000000'
    - item_type: preproc_def
      name: EAP_GPSK_CIPHER_RESERVED
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/hostap/src/eap_common/eap_gpsk_common.h
      type_or_value: '0x000000'
    - item_type: preproc_def
      name: EAP_GPSK_CIPHER_AES
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/hostap/src/eap_common/eap_gpsk_common.h
      type_or_value: '0x000001'
    - item_type: preproc_def
      name: EAP_GPSK_CIPHER_SHA256
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/hostap/src/eap_common/eap_gpsk_common.h
      type_or_value: '0x000002'
    structs:
    - fields:
      - name: vendor[4]
        type: u8
      - name: specifier[2]
        type: u8
      item_type: struct
      name: eap_gpsk_csuite
      pos:
        line_end: 41
        line_start: 38
        source_file: /src/hostap/src/eap_common/eap_gpsk_common.h
    typedefs: []
    union: []
- function_names:
  - eap_hdr_len_valid
  - eap_hdr_validate
  - eap_msg_alloc
  - eap_update_len
  - eap_get_id
  - eap_get_type
  - erp_parse_tlvs
  source_file: /src/hostap/src/eap_common/eap_common.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - peap_prfplus
  source_file: /src/hostap/src/eap_common/eap_peap_common.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - chap_md5
  source_file: /src/hostap/src/eap_common/chap.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/eap_common/eap_common.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*keyname'
        type: u8
      - name: '*domain'
        type: u8
      - name: keyname_len
        type: u8
      - name: domain_len
        type: u8
      item_type: struct
      name: erp_tlvs
      pos:
        line_end: 19
        line_start: 13
        source_file: /src/hostap/src/eap_common/eap_common.h
    typedefs: []
    union: []
- function_names:
  - eap_eke_dh_len
  - eap_eke_dhcomp_len
  - eap_eke_dh_group
  - eap_eke_dh_generator
  - eap_eke_pnonce_len
  - eap_eke_pnonce_ps_len
  - eap_eke_prf_len
  - eap_eke_nonce_len
  - eap_eke_auth_len
  - eap_eke_dh_init
  - eap_eke_prf
  - eap_eke_prf_hmac_sha1
  - eap_eke_prf_hmac_sha256
  - eap_eke_prfplus
  - eap_eke_derive_key
  - eap_eke_dhcomp
  - eap_eke_shared_secret
  - eap_eke_derive_ke_ki
  - eap_eke_derive_ka
  - eap_eke_derive_msk
  - eap_eke_mac
  - eap_eke_prot
  - eap_eke_decrypt_prot
  - eap_eke_auth
  - eap_eke_session_init
  - eap_eke_session_clean
  source_file: /src/hostap/src/eap_common/eap_eke_common.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - eap_fast_put_tlv_hdr
  - eap_fast_put_tlv
  - eap_fast_put_tlv_buf
  - eap_fast_tlv_eap_payload
  - eap_fast_derive_master_secret
  - eap_fast_derive_key
  - eap_fast_derive_eap_msk
  - eap_fast_derive_eap_emsk
  - eap_fast_parse_tlv
  source_file: /src/hostap/src/eap_common/eap_fast_common.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TLS_RANDOM_LEN
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/hostap/src/eap_common/eap_fast_common.c
      type_or_value: '32'
    - item_type: preproc_def
      name: TLS_MASTER_SECRET_LEN
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/hostap/src/eap_common/eap_fast_common.c
      type_or_value: '48'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/eap_common/chap.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CHAP_MD5_LEN
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/hostap/src/eap_common/chap.h
      type_or_value: '16'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/eap_common/eap_eke_common.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EAP_EKE_ID
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/hostap/src/eap_common/eap_eke_common.h
      type_or_value: '1'
    - item_type: preproc_def
      name: EAP_EKE_COMMIT
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/hostap/src/eap_common/eap_eke_common.h
      type_or_value: '2'
    - item_type: preproc_def
      name: EAP_EKE_CONFIRM
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/hostap/src/eap_common/eap_eke_common.h
      type_or_value: '3'
    - item_type: preproc_def
      name: EAP_EKE_FAILURE
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/hostap/src/eap_common/eap_eke_common.h
      type_or_value: '4'
    - item_type: preproc_def
      name: EAP_EKE_DHGROUP_EKE_2
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/hostap/src/eap_common/eap_eke_common.h
      type_or_value: '1'
    - item_type: preproc_def
      name: EAP_EKE_DHGROUP_EKE_5
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/hostap/src/eap_common/eap_eke_common.h
      type_or_value: '2'
    - item_type: preproc_def
      name: EAP_EKE_DHGROUP_EKE_14
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/hostap/src/eap_common/eap_eke_common.h
      type_or_value: '3 '
    - item_type: preproc_def
      name: EAP_EKE_DHGROUP_EKE_15
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/hostap/src/eap_common/eap_eke_common.h
      type_or_value: '4'
    - item_type: preproc_def
      name: EAP_EKE_DHGROUP_EKE_16
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/hostap/src/eap_common/eap_eke_common.h
      type_or_value: '5'
    - item_type: preproc_def
      name: EAP_EKE_ENCR_AES128_CBC
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/hostap/src/eap_common/eap_eke_common.h
      type_or_value: '1 '
    - item_type: preproc_def
      name: EAP_EKE_PRF_HMAC_SHA1
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/hostap/src/eap_common/eap_eke_common.h
      type_or_value: '1 '
    - item_type: preproc_def
      name: EAP_EKE_PRF_HMAC_SHA2_256
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/hostap/src/eap_common/eap_eke_common.h
      type_or_value: '2'
    - item_type: preproc_def
      name: EAP_EKE_MAC_HMAC_SHA1
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/hostap/src/eap_common/eap_eke_common.h
      type_or_value: '1 '
    - item_type: preproc_def
      name: EAP_EKE_MAC_HMAC_SHA2_256
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/hostap/src/eap_common/eap_eke_common.h
      type_or_value: '2'
    - item_type: preproc_def
      name: EAP_EKE_ID_OPAQUE
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/hostap/src/eap_common/eap_eke_common.h
      type_or_value: '1'
    - item_type: preproc_def
      name: EAP_EKE_ID_NAI
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/hostap/src/eap_common/eap_eke_common.h
      type_or_value: '2'
    - item_type: preproc_def
      name: EAP_EKE_ID_IPv4
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/hostap/src/eap_common/eap_eke_common.h
      type_or_value: '3'
    - item_type: preproc_def
      name: EAP_EKE_ID_IPv6
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/hostap/src/eap_common/eap_eke_common.h
      type_or_value: '4'
    - item_type: preproc_def
      name: EAP_EKE_ID_FQDN
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/hostap/src/eap_common/eap_eke_common.h
      type_or_value: '5'
    - item_type: preproc_def
      name: EAP_EKE_ID_DN
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/hostap/src/eap_common/eap_eke_common.h
      type_or_value: '6'
    - item_type: preproc_def
      name: EAP_EKE_FAIL_NO_ERROR
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/hostap/src/eap_common/eap_eke_common.h
      type_or_value: '1'
    - item_type: preproc_def
      name: EAP_EKE_FAIL_PROTO_ERROR
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/hostap/src/eap_common/eap_eke_common.h
      type_or_value: '2'
    - item_type: preproc_def
      name: EAP_EKE_FAIL_PASSWD_NOT_FOUND
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/hostap/src/eap_common/eap_eke_common.h
      type_or_value: '3'
    - item_type: preproc_def
      name: EAP_EKE_FAIL_AUTHENTICATION_FAIL
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/hostap/src/eap_common/eap_eke_common.h
      type_or_value: '4'
    - item_type: preproc_def
      name: EAP_EKE_FAIL_AUTHORIZATION_FAIL
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/hostap/src/eap_common/eap_eke_common.h
      type_or_value: '5'
    - item_type: preproc_def
      name: EAP_EKE_FAIL_NO_PROPOSAL_CHOSEN
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/hostap/src/eap_common/eap_eke_common.h
      type_or_value: '6'
    - item_type: preproc_def
      name: EAP_EKE_FAIL_PRIVATE_INTERNAL_ERROR
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/hostap/src/eap_common/eap_eke_common.h
      type_or_value: '0xffffffff'
    - item_type: preproc_def
      name: EAP_EKE_MAX_DH_LEN
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/hostap/src/eap_common/eap_eke_common.h
      type_or_value: '512'
    - item_type: preproc_def
      name: EAP_EKE_MAX_HASH_LEN
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/hostap/src/eap_common/eap_eke_common.h
      type_or_value: '32'
    - item_type: preproc_def
      name: EAP_EKE_MAX_KEY_LEN
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/hostap/src/eap_common/eap_eke_common.h
      type_or_value: '16'
    - item_type: preproc_def
      name: EAP_EKE_MAX_KE_LEN
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/hostap/src/eap_common/eap_eke_common.h
      type_or_value: '16'
    - item_type: preproc_def
      name: EAP_EKE_MAX_KI_LEN
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/hostap/src/eap_common/eap_eke_common.h
      type_or_value: '32'
    - item_type: preproc_def
      name: EAP_EKE_MAX_KA_LEN
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/hostap/src/eap_common/eap_eke_common.h
      type_or_value: '32'
    - item_type: preproc_def
      name: EAP_EKE_MAX_NONCE_LEN
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/hostap/src/eap_common/eap_eke_common.h
      type_or_value: '16'
    structs:
    - fields:
      - name: dhgroup
        type: u8
      - name: encr
        type: u8
      - name: prf
        type: u8
      - name: mac
        type: u8
      - name: shared_secret[EAP_EKE_MAX_HASH_LEN]
        type: u8
      - name: ke[EAP_EKE_MAX_KE_LEN]
        type: u8
      - name: ki[EAP_EKE_MAX_KI_LEN]
        type: u8
      - name: ka[EAP_EKE_MAX_KA_LEN]
        type: u8
      - name: prf_len
        type: int
      - name: nonce_len
        type: int
      - name: auth_len
        type: int
      - name: dhcomp_len
        type: int
      - name: pnonce_len
        type: int
      - name: pnonce_ps_len
        type: int
      item_type: struct
      name: eap_eke_session
      pos:
        line_end: 78
        line_start: 60
        source_file: /src/hostap/src/eap_common/eap_eke_common.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/eap_common/eap_tlv_common.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EAP_TLV_RESULT_TLV
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/hostap/src/eap_common/eap_tlv_common.h
      type_or_value: '3 '
    - item_type: preproc_def
      name: EAP_TLV_NAK_TLV
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/hostap/src/eap_common/eap_tlv_common.h
      type_or_value: '4'
    - item_type: preproc_def
      name: EAP_TLV_ERROR_CODE_TLV
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/hostap/src/eap_common/eap_tlv_common.h
      type_or_value: '5'
    - item_type: preproc_def
      name: EAP_TLV_CONNECTION_BINDING_TLV
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/hostap/src/eap_common/eap_tlv_common.h
      type_or_value: '6'
    - item_type: preproc_def
      name: EAP_TLV_VENDOR_SPECIFIC_TLV
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/hostap/src/eap_common/eap_tlv_common.h
      type_or_value: '7'
    - item_type: preproc_def
      name: EAP_TLV_URI_TLV
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/hostap/src/eap_common/eap_tlv_common.h
      type_or_value: '8'
    - item_type: preproc_def
      name: EAP_TLV_EAP_PAYLOAD_TLV
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/hostap/src/eap_common/eap_tlv_common.h
      type_or_value: '9'
    - item_type: preproc_def
      name: EAP_TLV_INTERMEDIATE_RESULT_TLV
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/hostap/src/eap_common/eap_tlv_common.h
      type_or_value: '10'
    - item_type: preproc_def
      name: EAP_TLV_PAC_TLV
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/hostap/src/eap_common/eap_tlv_common.h
      type_or_value: '11 '
    - item_type: preproc_def
      name: EAP_TLV_CRYPTO_BINDING_TLV
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/hostap/src/eap_common/eap_tlv_common.h
      type_or_value: '12'
    - item_type: preproc_def
      name: EAP_TLV_CALLING_STATION_ID_TLV
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/hostap/src/eap_common/eap_tlv_common.h
      type_or_value: '13'
    - item_type: preproc_def
      name: EAP_TLV_CALLED_STATION_ID_TLV
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/hostap/src/eap_common/eap_tlv_common.h
      type_or_value: '14'
    - item_type: preproc_def
      name: EAP_TLV_NAS_PORT_TYPE_TLV
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/hostap/src/eap_common/eap_tlv_common.h
      type_or_value: '15'
    - item_type: preproc_def
      name: EAP_TLV_SERVER_IDENTIFIER_TLV
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/hostap/src/eap_common/eap_tlv_common.h
      type_or_value: '16'
    - item_type: preproc_def
      name: EAP_TLV_IDENTITY_TYPE_TLV
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/hostap/src/eap_common/eap_tlv_common.h
      type_or_value: '17'
    - item_type: preproc_def
      name: EAP_TLV_SERVER_TRUSTED_ROOT_TLV
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/hostap/src/eap_common/eap_tlv_common.h
      type_or_value: '18'
    - item_type: preproc_def
      name: EAP_TLV_REQUEST_ACTION_TLV
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/hostap/src/eap_common/eap_tlv_common.h
      type_or_value: '19'
    - item_type: preproc_def
      name: EAP_TLV_PKCS7_TLV
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/hostap/src/eap_common/eap_tlv_common.h
      type_or_value: '20'
    - item_type: preproc_def
      name: EAP_TLV_RESULT_SUCCESS
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/hostap/src/eap_common/eap_tlv_common.h
      type_or_value: '1'
    - item_type: preproc_def
      name: EAP_TLV_RESULT_FAILURE
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/hostap/src/eap_common/eap_tlv_common.h
      type_or_value: '2'
    - item_type: preproc_def
      name: EAP_TLV_TYPE_MANDATORY
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/hostap/src/eap_common/eap_tlv_common.h
      type_or_value: '0x8000'
    - item_type: preproc_def
      name: EAP_TLV_TYPE_MASK
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/hostap/src/eap_common/eap_tlv_common.h
      type_or_value: '0x3fff'
    - item_type: preproc_def
      name: EAP_TLV_CRYPTO_BINDING_SUBTYPE_REQUEST
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/hostap/src/eap_common/eap_tlv_common.h
      type_or_value: '0'
    - item_type: preproc_def
      name: EAP_TLV_CRYPTO_BINDING_SUBTYPE_RESPONSE
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/hostap/src/eap_common/eap_tlv_common.h
      type_or_value: '1'
    - item_type: preproc_def
      name: EAP_TLV_ACTION_PROCESS_TLV
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/hostap/src/eap_common/eap_tlv_common.h
      type_or_value: '1'
    - item_type: preproc_def
      name: EAP_TLV_ACTION_NEGOTIATE_EAP
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/hostap/src/eap_common/eap_tlv_common.h
      type_or_value: '2'
    structs:
    - fields:
      - name: tlv_type
        type: be16
      - name: length
        type: be16
      item_type: struct
      name: eap_tlv_hdr
      pos:
        line_end: 44
        line_start: 41
        source_file: /src/hostap/src/eap_common/eap_tlv_common.h
    - fields:
      - name: tlv_type
        type: be16
      - name: length
        type: be16
      - name: vendor_id
        type: be32
      - name: nak_type
        type: be16
      item_type: struct
      name: eap_tlv_nak_tlv
      pos:
        line_end: 51
        line_start: 46
        source_file: /src/hostap/src/eap_common/eap_tlv_common.h
    - fields:
      - name: tlv_type
        type: be16
      - name: length
        type: be16
      - name: status
        type: be16
      item_type: struct
      name: eap_tlv_result_tlv
      pos:
        line_end: 57
        line_start: 53
        source_file: /src/hostap/src/eap_common/eap_tlv_common.h
    - fields:
      - name: tlv_type
        type: be16
      - name: length
        type: be16
      - name: status
        type: be16
      item_type: struct
      name: eap_tlv_intermediate_result_tlv
      pos:
        line_end: 65
        line_start: 60
        source_file: /src/hostap/src/eap_common/eap_tlv_common.h
    - fields:
      - name: tlv_type
        type: be16
      - name: length
        type: be16
      - name: reserved
        type: u8
      - name: version
        type: u8
      - name: received_version
        type: u8
      - name: subtype
        type: u8
      - name: nonce[32]
        type: u8
      - name: compound_mac[20]
        type: u8
      item_type: struct
      name: eap_tlv_crypto_binding_tlv
      pos:
        line_end: 77
        line_start: 68
        source_file: /src/hostap/src/eap_common/eap_tlv_common.h
    - fields:
      - name: tlv_type
        type: be16
      - name: length
        type: be16
      - name: pac_type
        type: be16
      - name: pac_len
        type: be16
      - name: result
        type: be16
      item_type: struct
      name: eap_tlv_pac_ack_tlv
      pos:
        line_end: 85
        line_start: 79
        source_file: /src/hostap/src/eap_common/eap_tlv_common.h
    - fields:
      - name: tlv_type
        type: be16
      - name: length
        type: be16
      - name: action
        type: be16
      item_type: struct
      name: eap_tlv_request_action_tlv
      pos:
        line_end: 92
        line_start: 88
        source_file: /src/hostap/src/eap_common/eap_tlv_common.h
    - fields:
      - name: tlv_type
        type: be16
      - name: length
        type: be16
      - name: pac_type
        type: be16
      item_type: struct
      name: eap_tlv_pac_type_tlv
      pos:
        line_end: 99
        line_start: 95
        source_file: /src/hostap/src/eap_common/eap_tlv_common.h
    typedefs: []
    union: []
- function_names:
  - eap_gpsk_supported_ciphersuite
  - eap_gpsk_gkdf_cmac
  - eap_gpsk_gkdf_sha256
  - eap_gpsk_derive_keys_helper
  - eap_gpsk_derive_keys_aes
  - eap_gpsk_derive_keys_sha256
  - eap_gpsk_derive_keys
  - eap_gpsk_derive_mid_helper
  - eap_gpsk_derive_session_id
  - eap_gpsk_mic_len
  - eap_gpsk_compute_mic_aes
  - eap_gpsk_compute_mic
  source_file: /src/hostap/src/eap_common/eap_gpsk_common.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EAP_GPSK_SK_LEN_AES
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/hostap/src/eap_common/eap_gpsk_common.c
      type_or_value: '16'
    - item_type: preproc_def
      name: EAP_GPSK_PK_LEN_AES
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/hostap/src/eap_common/eap_gpsk_common.c
      type_or_value: '16'
    - item_type: preproc_def
      name: EAP_GPSK_SK_LEN_SHA256
      pos:
        line_end: 230
        line_start: 229
        source_file: /src/hostap/src/eap_common/eap_gpsk_common.c
      type_or_value: SHA256_MAC_LEN
    - item_type: preproc_def
      name: EAP_GPSK_PK_LEN_SHA256
      pos:
        line_end: 231
        line_start: 230
        source_file: /src/hostap/src/eap_common/eap_gpsk_common.c
      type_or_value: SHA256_MAC_LEN
    - item_type: preproc_def
      name: SID_LABEL
      pos:
        line_end: 369
        line_start: 368
        source_file: /src/hostap/src/eap_common/eap_gpsk_common.c
      type_or_value: '"Method ID"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - AVP_PAD
  source_file: /src/hostap/src/eap_common/eap_ttls.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: AVP_FLAGS_VENDOR
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/hostap/src/eap_common/eap_ttls.h
      type_or_value: '0x80'
    - item_type: preproc_def
      name: AVP_FLAGS_MANDATORY
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/hostap/src/eap_common/eap_ttls.h
      type_or_value: '0x40'
    - item_type: preproc_def
      name: RADIUS_ATTR_USER_NAME
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/hostap/src/eap_common/eap_ttls.h
      type_or_value: '1'
    - item_type: preproc_def
      name: RADIUS_ATTR_USER_PASSWORD
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/hostap/src/eap_common/eap_ttls.h
      type_or_value: '2'
    - item_type: preproc_def
      name: RADIUS_ATTR_CHAP_PASSWORD
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/hostap/src/eap_common/eap_ttls.h
      type_or_value: '3'
    - item_type: preproc_def
      name: RADIUS_ATTR_REPLY_MESSAGE
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/hostap/src/eap_common/eap_ttls.h
      type_or_value: '18'
    - item_type: preproc_def
      name: RADIUS_ATTR_CHAP_CHALLENGE
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/hostap/src/eap_common/eap_ttls.h
      type_or_value: '60'
    - item_type: preproc_def
      name: RADIUS_ATTR_EAP_MESSAGE
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/hostap/src/eap_common/eap_ttls.h
      type_or_value: '79'
    - item_type: preproc_def
      name: RADIUS_VENDOR_ID_MICROSOFT
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/hostap/src/eap_common/eap_ttls.h
      type_or_value: '311'
    - item_type: preproc_def
      name: RADIUS_ATTR_MS_CHAP_RESPONSE
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/hostap/src/eap_common/eap_ttls.h
      type_or_value: '1'
    - item_type: preproc_def
      name: RADIUS_ATTR_MS_CHAP_ERROR
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/hostap/src/eap_common/eap_ttls.h
      type_or_value: '2'
    - item_type: preproc_def
      name: RADIUS_ATTR_MS_CHAP_NT_ENC_PW
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/hostap/src/eap_common/eap_ttls.h
      type_or_value: '6'
    - item_type: preproc_def
      name: RADIUS_ATTR_MS_CHAP_CHALLENGE
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/hostap/src/eap_common/eap_ttls.h
      type_or_value: '11'
    - item_type: preproc_def
      name: RADIUS_ATTR_MS_CHAP2_RESPONSE
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/hostap/src/eap_common/eap_ttls.h
      type_or_value: '25'
    - item_type: preproc_def
      name: RADIUS_ATTR_MS_CHAP2_SUCCESS
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/hostap/src/eap_common/eap_ttls.h
      type_or_value: '26'
    - item_type: preproc_def
      name: RADIUS_ATTR_MS_CHAP2_CPW
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/hostap/src/eap_common/eap_ttls.h
      type_or_value: '27'
    - item_type: preproc_def
      name: EAP_TTLS_MSCHAPV2_CHALLENGE_LEN
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/hostap/src/eap_common/eap_ttls.h
      type_or_value: '16'
    - item_type: preproc_def
      name: EAP_TTLS_MSCHAPV2_RESPONSE_LEN
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/hostap/src/eap_common/eap_ttls.h
      type_or_value: '50'
    - item_type: preproc_def
      name: EAP_TTLS_MSCHAP_CHALLENGE_LEN
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/hostap/src/eap_common/eap_ttls.h
      type_or_value: '8'
    - item_type: preproc_def
      name: EAP_TTLS_MSCHAP_RESPONSE_LEN
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/hostap/src/eap_common/eap_ttls.h
      type_or_value: '50'
    - item_type: preproc_def
      name: EAP_TTLS_CHAP_CHALLENGE_LEN
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/hostap/src/eap_common/eap_ttls.h
      type_or_value: '16'
    - item_type: preproc_def
      name: EAP_TTLS_CHAP_PASSWORD_LEN
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/hostap/src/eap_common/eap_ttls.h
      type_or_value: '16'
    structs:
    - fields:
      - name: avp_code
        type: be32
      - name: avp_length
        type: be32
      item_type: struct
      name: ttls_avp
      pos:
        line_end: 17
        line_start: 11
        source_file: /src/hostap/src/eap_common/eap_ttls.h
    - fields:
      - name: avp_code
        type: be32
      - name: avp_length
        type: be32
      - name: vendor_id
        type: be32
      item_type: struct
      name: ttls_avp_vendor
      pos:
        line_end: 25
        line_start: 19
        source_file: /src/hostap/src/eap_common/eap_ttls.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/eap_common/eap_wsc_common.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EAP_VENDOR_TYPE_WSC
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/hostap/src/eap_common/eap_wsc_common.h
      type_or_value: '1'
    - item_type: preproc_def
      name: WSC_FLAGS_MF
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/hostap/src/eap_common/eap_wsc_common.h
      type_or_value: '0x01'
    - item_type: preproc_def
      name: WSC_FLAGS_LF
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/hostap/src/eap_common/eap_wsc_common.h
      type_or_value: '0x02'
    - item_type: preproc_def
      name: WSC_ID_REGISTRAR
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/hostap/src/eap_common/eap_wsc_common.h
      type_or_value: '"WFA-SimpleConfig-Registrar-1-0"'
    - item_type: preproc_def
      name: WSC_ID_REGISTRAR_LEN
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/hostap/src/eap_common/eap_wsc_common.h
      type_or_value: '30'
    - item_type: preproc_def
      name: WSC_ID_ENROLLEE
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/hostap/src/eap_common/eap_wsc_common.h
      type_or_value: '"WFA-SimpleConfig-Enrollee-1-0"'
    - item_type: preproc_def
      name: WSC_ID_ENROLLEE_LEN
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/hostap/src/eap_common/eap_wsc_common.h
      type_or_value: '29'
    - item_type: preproc_def
      name: WSC_FRAGMENT_SIZE
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/hostap/src/eap_common/eap_wsc_common.h
      type_or_value: '1400'
    structs: []
    typedefs: []
    union: []
- function_names:
  - IS_2P4GHZ
  - IS_5GHZ
  - for_each_element
  - for_each_element_id
  - for_each_element_extid
  - for_each_subelement
  - for_each_subelement_id
  - for_each_subelement_extid
  - for_each_element_completed
  source_file: /src/hostap/src/common/ieee802_11_common.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_NOF_MB_IES_SUPPORTED
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/hostap/src/common/ieee802_11_common.h
      type_or_value: '5'
    - item_type: preproc_def
      name: NUM_TX_QUEUES
      pos:
        line_end: 265
        line_start: 264
        source_file: /src/hostap/src/common/ieee802_11_common.h
      type_or_value: '4'
    structs:
    - fields:
      - name: id
        type: u8
      - name: datalen
        type: u8
      - name: data[]
        type: u8
      item_type: struct
      name: element
      pos:
        line_end: 18
        line_start: 14
        source_file: /src/hostap/src/common/ieee802_11_common.h
    - fields:
      - name: ies[MAX_NOF_MB_IES_SUPPORTED]
        type: "struct {\n\t\tconst u8 *ie;\n\t\tu8 ie_len;\n\t}"
      - name: nof_ies
        type: u8
      item_type: struct
      name: mb_ies_info
      pos:
        line_end: 30
        line_start: 24
        source_file: /src/hostap/src/common/ieee802_11_common.h
    - fields:
      - name: capability
        type: u8
      - name: profile
        type: u8
      - name: vlanid
        type: u16
      item_type: struct
      name: multi_ap_params
      pos:
        line_end: 36
        line_start: 32
        source_file: /src/hostap/src/common/ieee802_11_common.h
    - fields:
      - name: show_errors
        type: bool
      - name: stop_at_mic
        type: bool
      - name: '*ssid'
        type: u8
      - name: '*supp_rates'
        type: u8
      - name: '*ds_params'
        type: u8
      - name: '*challenge'
        type: u8
      - name: '*erp_info'
        type: u8
      - name: '*ext_supp_rates'
        type: u8
      - name: '*wpa_ie'
        type: u8
      - name: '*rsn_ie'
        type: u8
      - name: '*rsnxe'
        type: u8
      - name: '*wmm'
        type: u8
      - name: '*wmm_tspec'
        type: u8
      - name: '*wps_ie'
        type: u8
      - name: '*supp_channels'
        type: u8
      - name: '*mdie'
        type: u8
      - name: '*ftie'
        type: u8
      - name: '*timeout_int'
        type: u8
      - name: '*ht_capabilities'
        type: u8
      - name: '*ht_operation'
        type: u8
      - name: '*mesh_config'
        type: u8
      - name: '*mesh_id'
        type: u8
      - name: '*peer_mgmt'
        type: u8
      - name: '*vht_capabilities'
        type: u8
      - name: '*vht_operation'
        type: u8
      - name: '*opmode_notif'
        type: u8
      - name: '*vendor_ht_cap'
        type: u8
      - name: '*vendor_vht'
        type: u8
      - name: '*p2p'
        type: u8
      - name: '*p2p2_ie'
        type: u8
      - name: '*pasn_encrypted_data'
        type: u8
      - name: '*wfd'
        type: u8
      - name: '*link_id'
        type: u8
      - name: '*interworking'
        type: u8
      - name: '*qos_map_set'
        type: u8
      - name: '*hs20'
        type: u8
      - name: '*ext_capab'
        type: u8
      - name: '*bss_max_idle_period'
        type: u8
      - name: '*ssid_list'
        type: u8
      - name: '*mbo'
        type: u8
      - name: '*ampe'
        type: u8
      - name: '*mic'
        type: u8
      - name: '*pref_freq_list'
        type: u8
      - name: '*supp_op_classes'
        type: u8
      - name: '*rrm_enabled'
        type: u8
      - name: '*cag_number'
        type: u8
      - name: '*ap_csn'
        type: u8
      - name: '*fils_indic'
        type: u8
      - name: '*dils'
        type: u8
      - name: '*assoc_delay_info'
        type: u8
      - name: '*fils_req_params'
        type: u8
      - name: '*fils_key_confirm'
        type: u8
      - name: '*fils_session'
        type: u8
      - name: '*fils_hlp'
        type: u8
      - name: '*fils_ip_addr_assign'
        type: u8
      - name: '*key_delivery'
        type: u8
      - name: '*wrapped_data'
        type: u8
      - name: '*fils_pk'
        type: u8
      - name: '*nonce'
        type: u8
      - name: '*owe_dh'
        type: u8
      - name: '*power_capab'
        type: u8
      - name: '*roaming_cons_sel'
        type: u8
      - name: '*password_id'
        type: u8
      - name: '*oci'
        type: u8
      - name: '*multi_ap'
        type: u8
      - name: '*he_capabilities'
        type: u8
      - name: '*he_operation'
        type: u8
      - name: '*short_ssid_list'
        type: u8
      - name: '*he_6ghz_band_cap'
        type: u8
      - name: '*sae_pk'
        type: u8
      - name: '*s1g_capab'
        type: u8
      - name: '*pasn_params'
        type: u8
      - name: '*eht_capabilities'
        type: u8
      - name: '*eht_operation'
        type: u8
      - name: '*basic_mle'
        type: u8
      - name: '*probe_req_mle'
        type: u8
      - name: '*reconf_mle'
        type: u8
      - name: '*tdls_mle'
        type: u8
      - name: '*prior_access_mle'
        type: u8
      - name: '*mbssid_known_bss'
        type: u8
      - name: '*mbssid'
        type: u8
      - name: '*rsne_override'
        type: u8
      - name: '*rsne_override_2'
        type: u8
      - name: '*rsnxe_override'
        type: u8
      - name: '*rsn_selection'
        type: u8
      - name: '*wfa_capab'
        type: u8
      - name: '*proximity_ranging'
        type: u8
      - name: '*akm_suite_selector'
        type: u8
      - name: '*supported_groups'
        type: u8
      - name: '*nan_ie'
        type: u8
      - name: '*uhr_capabilities'
        type: u8
      - name: '*uhr_operation'
        type: u8
      - name: ssid_len
        type: u8
      - name: supp_rates_len
        type: u8
      - name: challenge_len
        type: u8
      - name: ext_supp_rates_len
        type: u8
      - name: wpa_ie_len
        type: u8
      - name: rsn_ie_len
        type: u8
      - name: rsnxe_len
        type: u8
      - name: wmm_len
        type: u8
      - name: wmm_tspec_len
        type: u8
      - name: wps_ie_len
        type: u8
      - name: supp_channels_len
        type: u8
      - name: mdie_len
        type: u8
      - name: ftie_len
        type: u8
      - name: mesh_config_len
        type: u8
      - name: mesh_id_len
        type: u8
      - name: peer_mgmt_len
        type: u8
      - name: vendor_ht_cap_len
        type: u8
      - name: vendor_vht_len
        type: u8
      - name: p2p_len
        type: u8
      - name: p2p2_ie_len
        type: u8
      - name: pasn_encrypted_data_len
        type: u8
      - name: wfd_len
        type: u8
      - name: interworking_len
        type: u8
      - name: qos_map_set_len
        type: u8
      - name: hs20_len
        type: u8
      - name: ext_capab_len
        type: u8
      - name: ssid_list_len
        type: u8
      - name: mbo_len
        type: u8
      - name: ampe_len
        type: u8
      - name: mic_len
        type: u8
      - name: pref_freq_list_len
        type: u8
      - name: supp_op_classes_len
        type: u8
      - name: rrm_enabled_len
        type: u8
      - name: cag_number_len
        type: u8
      - name: fils_indic_len
        type: u8
      - name: dils_len
        type: u8
      - name: fils_req_params_len
        type: u8
      - name: fils_key_confirm_len
        type: u8
      - name: fils_hlp_len
        type: size_t
      - name: fils_ip_addr_assign_len
        type: u8
      - name: key_delivery_len
        type: size_t
      - name: wrapped_data_len
        type: size_t
      - name: fils_pk_len
        type: u8
      - name: nonce_len
        type: u8
      - name: owe_dh_len
        type: u8
      - name: power_capab_len
        type: u8
      - name: roaming_cons_sel_len
        type: u8
      - name: password_id_len
        type: u8
      - name: oci_len
        type: u8
      - name: multi_ap_len
        type: u8
      - name: he_capabilities_len
        type: u8
      - name: he_operation_len
        type: u8
      - name: short_ssid_list_len
        type: u8
      - name: sae_pk_len
        type: u8
      - name: pasn_params_len
        type: u8
      - name: eht_capabilities_len
        type: u8
      - name: eht_operation_len
        type: u8
      - name: basic_mle_len
        type: size_t
      - name: probe_req_mle_len
        type: size_t
      - name: reconf_mle_len
        type: size_t
      - name: tdls_mle_len
        type: size_t
      - name: prior_access_mle_len
        type: size_t
      - name: mbssid_known_bss_len
        type: u8
      - name: mbssid_len
        type: u8
      - name: rsne_override_len
        type: size_t
      - name: rsne_override_2_len
        type: size_t
      - name: rsnxe_override_len
        type: size_t
      - name: rsn_selection_len
        type: size_t
      - name: wfa_capab_len
        type: u8
      - name: proximity_ranging_len
        type: size_t
      - name: akm_suite_selector_len
        type: u8
      - name: supported_groups_len
        type: u8
      - name: nan_len
        type: size_t
      - name: uhr_capabilities_len
        type: u8
      - name: uhr_operation_len
        type: u8
      - name: mb_ies
        type: struct mb_ies_info
      - name: fte_defrag_len
        type: size_t
      - name: num_frag_elems
        type: unsigned int
      item_type: struct
      name: ieee802_11_elems
      pos:
        line_end: 221
        line_start: 39
        source_file: /src/hostap/src/common/ieee802_11_common.h
    - fields:
      - name: cwmin
        type: int
      - name: cwmax
        type: int
      - name: aifs
        type: int
      - name: txop_limit
        type: int
      - name: admission_control_mandatory
        type: int
      item_type: struct
      name: hostapd_wmm_ac_params
      pos:
        line_end: 252
        line_start: 246
        source_file: /src/hostap/src/common/ieee802_11_common.h
    - fields:
      - name: aifs
        type: int
      - name: cwmin
        type: int
      - name: cwmax
        type: int
      - name: burst
        type: int
      item_type: struct
      name: hostapd_tx_queue_params
      pos:
        line_end: 262
        line_start: 257
        source_file: /src/hostap/src/common/ieee802_11_common.h
    - fields:
      - name: mode
        type: enum hostapd_hw_mode
      - name: op_class
        type: u8
      - name: min_chan
        type: u8
      - name: max_chan
        type: u8
      - name: inc
        type: u8
      - name: bw
        type: "enum { BW20, BW40PLUS, BW40MINUS, BW40, BW80, BW2160, BW160, BW80P80,\n\t
          \      BW320, BW4320, BW6480, BW8640}"
      - name: p2p
        type: enum { P2P_SUPP, NO_P2P_SUPP }
      item_type: struct
      name: oper_class_map
      pos:
        line_end: 300
        line_start: 291
        source_file: /src/hostap/src/common/ieee802_11_common.h
    - fields:
      - name: country_op_class
        type: u8
      - name: global_op_class
        type: u8
      item_type: struct
      name: country_op_class
      pos:
        line_end: 319
        line_start: 316
        source_file: /src/hostap/src/common/ieee802_11_common.h
    - fields:
      - name: is_40_supported
        type: bool
      - name: is_160_supported
        type: bool
      - name: is_80p80_supported
        type: bool
      - name: is_320_supported
        type: bool
      item_type: struct
      name: supported_chan_width
      pos:
        line_end: 426
        line_start: 421
        source_file: /src/hostap/src/common/ieee802_11_common.h
    typedefs: []
    union: []
- function_names:
  - WLAN_FC_GET_TYPE
  - WLAN_FC_GET_STYPE
  - WLAN_GET_SEQ_FRAG
  - WLAN_GET_SEQ_SEQ
  - IEEE80211_FC
  - IEEE80211_MIN_ACTION_LEN
  - MB_CTRL_ROLE
  - he_reg_is_indoor
  - he_reg_is_sp
  - RNR_TBTT_INFO_COUNT
  - RNR_TBTT_INFO_COUNT_VAL
  - EHT_PER_STA_RECONF_CTRL_OP_UPDATE_TYPE_VAL
  source_file: /src/hostap/src/common/ieee802_11_defs.h
  types:
    enum:
    - enumerators:
      - name: ACCESS_NETWORK_QUERY_PROTOCOL
        value: '0'
      - name: EMERGENCY_ALERT_SYSTEM
        value: '3'
      - name: MIH_CMD_AND_EVENT_DISCOVERY
        value: '2'
      - name: MIH_INFO_SERVICE
        value: '1'
      - name: REGISTERED_LOCATION_QUERY_PROTO
        value: '4'
      - name: ADV_PROTO_VENDOR_SPECIFIC
        value: '221'
      item_type: enum
      name: adv_proto_id
      pos:
        line_end: 883
        line_start: 876
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - enumerators:
      - name: ANQP_CAPABILITY_LIST
        value: '257'
      - name: ANQP_ROAMING_CONSORTIUM
        value: '261'
      - name: ANQP_AP_GEOSPATIAL_LOCATION
        value: '265'
      - name: ANQP_QUERY_AP_LIST
        value: '273'
      - name: ANQP_EMERGENCY_ALERT_URI
        value: '269'
      - name: ANQP_VENUE_URL
        value: '277'
      - name: ANQP_NETWORK_AUTH_TYPE
        value: '260'
      - name: ANQP_3GPP_CELLULAR_NETWORK
        value: '264'
      - name: ANQP_DOMAIN_NAME
        value: '268'
      - name: ANQP_NEIGHBOR_REPORT
        value: '272'
      - name: ANQP_CAG
        value: '276'
      - name: ANQP_NETWORK_AUTH_TYPE_TIMESTAMP
        value: '280'
      - name: ANQP_QUERY_LIST
        value: '256'
      - name: ANQP_EMERGENCY_CALL_NUMBER
        value: '259'
      - name: ANQP_NAI_REALM
        value: '263'
      - name: ANQP_AP_LOCATION_PUBLIC_URI
        value: '267'
      - name: ANQP_EMERGENCY_NAI
        value: '271'
      - name: ANQP_FILS_REALM_INFO
        value: '275'
      - name: ANQP_LOCAL_CONTENT
        value: '279'
      - name: ANQP_VENUE_NAME
        value: '258'
      - name: ANQP_IP_ADDR_TYPE_AVAILABILITY
        value: '262'
      - name: ANQP_AP_LIST_RESPONSE
        value: '274'
      - name: ANQP_TDLS_CAPABILITY
        value: '270'
      - name: ANQP_AP_CIVIC_LOCATION
        value: '266'
      - name: ANQP_ADVICE_OF_CHARGE
        value: '278'
      - name: ANQP_VENDOR_SPECIFIC
        value: '56797'
      item_type: enum
      name: anqp_info_id
      pos:
        line_end: 913
        line_start: 886
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - enumerators:
      - name: NAI_REALM_EAP_AUTH_EXPANDED_EAP_METHOD
        value: '1'
      - name: NAI_REALM_EAP_AUTH_EXPANDED_INNER_EAP_METHOD
        value: '4'
      - name: NAI_REALM_EAP_AUTH_INNER_AUTH_EAP_METHOD
        value: '3'
      - name: NAI_REALM_EAP_AUTH_NON_EAP_INNER_AUTH
        value: '2'
      - name: NAI_REALM_EAP_AUTH_CRED_TYPE
        value: '5'
      - name: NAI_REALM_EAP_AUTH_TUNNELED_CRED_TYPE
        value: '6'
      - name: NAI_REALM_EAP_AUTH_VENDOR_SPECIFIC
        value: '221'
      item_type: enum
      name: nai_realm_eap_auth_param
      pos:
        line_end: 924
        line_start: 916
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - enumerators:
      - name: NAI_REALM_INNER_NON_EAP_PAP
        value: '1'
      - name: NAI_REALM_INNER_NON_EAP_MSCHAPV2
        value: '4'
      - name: NAI_REALM_INNER_NON_EAP_MSCHAP
        value: '3'
      - name: NAI_REALM_INNER_NON_EAP_CHAP
        value: '2'
      item_type: enum
      name: nai_realm_eap_auth_inner_non_eap
      pos:
        line_end: 931
        line_start: 926
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - enumerators:
      - name: NAI_REALM_CRED_TYPE_SIM
        value: '1'
      - name: NAI_REALM_CRED_TYPE_HARDWARE_TOKEN
        value: '4'
      - name: NAI_REALM_CRED_TYPE_NFC_SECURE_ELEMENT
        value: '3'
      - name: NAI_REALM_CRED_TYPE_USIM
        value: '2'
      - name: NAI_REALM_CRED_TYPE_SOFTOKEN
        value: '5'
      - name: NAI_REALM_CRED_TYPE_CERTIFICATE
        value: '6'
      - name: NAI_REALM_CRED_TYPE_USERNAME_PASSWORD
        value: '7'
      - name: NAI_REALM_CRED_TYPE_NONE
        value: '8'
      - name: NAI_REALM_CRED_TYPE_ANONYMOUS
        value: '9'
      - name: NAI_REALM_CRED_TYPE_VENDOR_SPECIFIC
        value: '10'
      item_type: enum
      name: nai_realm_eap_cred_type
      pos:
        line_end: 944
        line_start: 933
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - enumerators:
      - name: MEASURE_TYPE_BASIC
        value: '0'
      - name: MEASURE_TYPE_CCA
        value: '1'
      - name: MEASURE_TYPE_NOISE_HIST
        value: '4'
      - name: MEASURE_TYPE_CHANNEL_LOAD
        value: '3'
      - name: MEASURE_TYPE_RPI_HIST
        value: '2'
      - name: MEASURE_TYPE_BEACON
        value: '5'
      - name: MEASURE_TYPE_FRAME
        value: '6'
      - name: MEASURE_TYPE_STA_STATISTICS
        value: '7'
      - name: MEASURE_TYPE_LCI
        value: '8'
      - name: MEASURE_TYPE_TRANSMIT_STREAM
        value: '9'
      - name: MEASURE_TYPE_MULTICAST_DIAG
        value: '10'
      - name: MEASURE_TYPE_DIRECTIONAL_MEASURE
        value: '14'
      - name: MEASURE_TYPE_DIRECTIONAL_CHAN_QUALITY
        value: '13'
      - name: MEASURE_TYPE_MEASURE_PAUSE
        value: '255'
      - name: MEASURE_TYPE_FTM_RANGE
        value: '16'
      - name: MEASURE_TYPE_LOCATION_ID
        value: '12'
      - name: MEASURE_TYPE_DIRECTIONAL_STATS
        value: '15'
      - name: MEASURE_TYPE_LOCATION_CIVIC
        value: '11'
      item_type: enum
      name: measure_type
      pos:
        line_end: 982
        line_start: 963
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - enumerators:
      - name: LOCATION_SUBJECT_LOCAL
        value: '0'
      - name: LOCATION_SUBJECT_REMOTE
        value: '1'
      - name: LOCATION_SUBJECT_3RD_PARTY
        value: '2'
      item_type: enum
      name: location_subject
      pos:
        line_end: 989
        line_start: 985
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - enumerators:
      - name: LCI_REQ_SUBELEM_AZIMUTH_REQ
        value: '1'
      - name: LCI_REQ_SUBELEM_MAX_AGE
        value: '4'
      - name: LCI_REQ_SUBELEM_TARGET_MAC_ADDR
        value: '3'
      - name: LCI_REQ_SUBELEM_ORIGINATOR_MAC_ADDR
        value: '2'
      item_type: enum
      name: lci_req_subelem
      pos:
        line_end: 999
        line_start: 994
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - enumerators:
      - name: WMM_AC_BE
        value: '0'
      - name: WMM_AC_VI
        value: '2'
      - name: WMM_AC_VO
        value: '3'
      - name: WMM_AC_BK
        value: '1'
      - name: WMM_AC_NUM
        value: '4'
      item_type: enum
      name: wmm_ac
      pos:
        line_end: 1676
        line_start: 1670
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - enumerators:
      - name: MBO_ATTR_ID_AP_CAPA_IND
        value: '1'
      - name: MBO_ATTR_ID_CELL_DATA_PREF
        value: '5'
      - name: MBO_ATTR_ID_ASSOC_DISALLOW
        value: '4'
      - name: MBO_ATTR_ID_CELL_DATA_CAPA
        value: '3'
      - name: MBO_ATTR_ID_NON_PREF_CHAN_REPORT
        value: '2'
      - name: MBO_ATTR_ID_TRANSITION_REASON
        value: '6'
      - name: MBO_ATTR_ID_TRANSITION_REJECT_REASON
        value: '7'
      - name: MBO_ATTR_ID_ASSOC_RETRY_DELAY
        value: '8'
      - name: OCE_ATTR_ID_CAPA_IND
        value: '101'
      - name: OCE_ATTR_ID_RSSI_BASED_ASSOC_REJECT
        value: '102'
      - name: OCE_ATTR_ID_REDUCED_WAN_METRICS
        value: '103'
      - name: OCE_ATTR_ID_RNR_COMPLETENESS
        value: '104'
      item_type: enum
      name: mbo_attr_id
      pos:
        line_end: 1722
        line_start: 1709
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - enumerators:
      - name: MBO_NON_PREF_CHAN_REASON_UNSPECIFIED
        value: '0'
      - name: MBO_NON_PREF_CHAN_REASON_EXT_INTERFERENCE
        value: '2'
      - name: MBO_NON_PREF_CHAN_REASON_RSSI
        value: '1'
      - name: MBO_NON_PREF_CHAN_REASON_INT_INTERFERENCE
        value: '3'
      item_type: enum
      name: mbo_non_pref_chan_reason
      pos:
        line_end: 1735
        line_start: 1730
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - enumerators:
      - name: MBO_CELL_CAPA_AVAILABLE
        value: '1'
      - name: MBO_CELL_CAPA_NOT_AVAILABLE
        value: '2'
      - name: MBO_CELL_CAPA_NOT_SUPPORTED
        value: '3'
      item_type: enum
      name: mbo_cellular_capa
      pos:
        line_end: 1743
        line_start: 1739
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - enumerators:
      - name: MBO_ASSOC_DISALLOW_REASON_UNSPECIFIED
        value: '1'
      - name: MBO_ASSOC_DISALLOW_REASON_LOW_RSSI
        value: '5'
      - name: MBO_ASSOC_DISALLOW_REASON_AUTH_SERVER_OVERLOAD
        value: '4'
      - name: MBO_ASSOC_DISALLOW_REASON_AIR_INTERFERENCE
        value: '3'
      - name: MBO_ASSOC_DISALLOW_REASON_MAX_STA
        value: '2'
      item_type: enum
      name: mbo_assoc_disallow_reason
      pos:
        line_end: 1753
        line_start: 1747
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - enumerators:
      - name: MBO_CELL_PREF_EXCLUDED
        value: '0'
      - name: MBO_CELL_PREF_USE
        value: '255'
      - name: MBO_CELL_PREF_NO_USE
        value: '1'
      item_type: enum
      name: mbo_cell_pref
      pos:
        line_end: 1761
        line_start: 1757
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - enumerators:
      - name: MBO_TRANSITION_REASON_UNSPECIFIED
        value: '0'
      - name: MBO_TRANSITION_REASON_FRAME_LOSS
        value: '1'
      - name: MBO_TRANSITION_REASON_BANDWIDTH
        value: '3'
      - name: MBO_TRANSITION_REASON_LOAD_BALANCE
        value: '4'
      - name: MBO_TRANSITION_REASON_DELAY
        value: '2'
      - name: MBO_TRANSITION_REASON_RSSI
        value: '5'
      - name: MBO_TRANSITION_REASON_RETRANSMISSIONS
        value: '6'
      - name: MBO_TRANSITION_REASON_INTERFERENCE
        value: '7'
      - name: MBO_TRANSITION_REASON_GRAY_ZONE
        value: '8'
      - name: MBO_TRANSITION_REASON_PREMIUM_AP
        value: '9'
      item_type: enum
      name: mbo_transition_reason
      pos:
        line_end: 1776
        line_start: 1765
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - enumerators:
      - name: MBO_TRANSITION_REJECT_REASON_UNSPECIFIED
        value: '0'
      - name: MBO_TRANSITION_REJECT_REASON_FRAME_LOSS
        value: '1'
      - name: MBO_TRANSITION_REJECT_REASON_DELAY
        value: '2'
      - name: MBO_TRANSITION_REJECT_REASON_RSSI
        value: '4'
      - name: MBO_TRANSITION_REJECT_REASON_QOS_CAPACITY
        value: '3'
      - name: MBO_TRANSITION_REJECT_REASON_INTERFERENCE
        value: '5'
      - name: MBO_TRANSITION_REJECT_REASON_SERVICES
        value: '6'
      item_type: enum
      name: mbo_transition_reject_reason
      pos:
        line_end: 1788
        line_start: 1780
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - enumerators:
      - name: P2P_ATTR_MINOR_REASON_CODE
        value: '1'
      - name: P2P_ATTR_CONFIGURATION_TIMEOUT
        value: '5'
      - name: P2P_ATTR_INTENDED_INTERFACE_ADDR
        value: '9'
      - name: P2P_ATTR_DEVICE_INFO
        value: '13'
      - name: P2P_ATTR_OPERATING_CHANNEL
        value: '17'
      - name: P2P_ATTR_SESSION_INFORMATION_DATA
        value: '22'
      - name: P2P_ATTR_SESSION_ID
        value: '26'
      - name: P2P_ATTR_WLAN_AP_INFORMATION
        value: '30'
      - name: P2P_ATTR_PASSWORD
        value: '34'
      - name: P2P_ATTR_GROUP_OWNER_INTENT
        value: '4'
      - name: P2P_ATTR_EXT_LISTEN_TIMING
        value: '8'
      - name: P2P_ATTR_NOTICE_OF_ABSENCE
        value: '12'
      - name: P2P_ATTR_INTERFACE
        value: '16'
      - name: P2P_ATTR_SERVICE_HASH
        value: '21'
      - name: P2P_ATTR_ADVERTISED_SERVICE
        value: '25'
      - name: P2P_ATTR_CAPABILITY_EXTENSION
        value: '29'
      - name: P2P_ATTR_PAIRING_AND_BOOTSTRAPPING
        value: '33'
      - name: P2P_ATTR_VENDOR_SPECIFIC
        value: '221'
      - name: P2P_ATTR_STATUS
        value: '0'
      - name: P2P_ATTR_DEVICE_ID
        value: '3'
      - name: P2P_ATTR_GROUP_BSSID
        value: '7'
      - name: P2P_ATTR_GROUP_ID
        value: '15'
      - name: P2P_ATTR_CHANNEL_LIST
        value: '11'
      - name: P2P_ATTR_OOB_GO_NEG_CHANNEL
        value: '19'
      - name: P2P_ATTR_ADVERTISEMENT_ID
        value: '24'
      - name: P2P_ATTR_PERSISTENT_GROUP
        value: '28'
      - name: P2P_ATTR_DEVICE_IDENTITY_RESOLUTION
        value: '32'
      - name: P2P_ATTR_CAPABILITY
        value: '2'
      - name: P2P_ATTR_LISTEN_CHANNEL
        value: '6'
      - name: P2P_ATTR_INVITATION_FLAGS
        value: '18'
      - name: P2P_ATTR_GROUP_INFO
        value: '14'
      - name: P2P_ATTR_MANAGEABILITY
        value: '10'
      - name: P2P_ATTR_CONNECTION_CAPABILITY
        value: '23'
      - name: P2P_ATTR_FEATURE_CAPABILITY
        value: '27'
      - name: P2P_ATTR_DEVICE_IDENTITY_KEY
        value: '31'
      - name: P2P_ATTR_ACTION_FRAME_WRAPPER
        value: '35'
      item_type: enum
      name: p2p_attr_id
      pos:
        line_end: 1844
        line_start: 1807
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - enumerators:
      - name: P2P_SC_SUCCESS
        value: '0'
      - name: P2P_SC_FAIL_LIMIT_REACHED
        value: '3'
      - name: P2P_SC_FAIL_INCOMPATIBLE_PARAMS
        value: '2'
      - name: P2P_SC_FAIL_INFO_CURRENTLY_UNAVAILABLE
        value: '1'
      - name: P2P_SC_FAIL_INVALID_PARAMS
        value: '4'
      - name: P2P_SC_FAIL_UNABLE_TO_ACCOMMODATE
        value: '5'
      - name: P2P_SC_FAIL_PREV_PROTOCOL_ERROR
        value: '6'
      - name: P2P_SC_FAIL_NO_COMMON_CHANNELS
        value: '7'
      - name: P2P_SC_FAIL_UNKNOWN_GROUP
        value: '8'
      - name: P2P_SC_FAIL_BOTH_GO_INTENT_15
        value: '9'
      - name: P2P_SC_SUCCESS_DEFERRED
        value: '12'
      - name: P2P_SC_FAIL_REJECTED_BY_USER
        value: '11'
      - name: P2P_SC_FAIL_INCOMPATIBLE_PROV_METHOD
        value: '10'
      - name: P2P_SC_COMEBACK
        value: '13'
      item_type: enum
      name: p2p_status_code
      pos:
        line_end: 1924
        line_start: 1909
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - enumerators:
      - name: P2P_DEVICE_NOT_IN_GROUP
        value: '0x00'
      - name: P2P_GO_IN_A_GROUP
        value: '0x02'
      - name: P2P_CLIENT_IN_A_GROUP
        value: '0x01'
      item_type: enum
      name: p2p_role_indication
      pos:
        line_end: 1930
        line_start: 1926
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - enumerators:
      - name: P2P_NOA
        value: '0'
      - name: P2P_PRESENCE_RESP
        value: '2'
      - name: P2P_PRESENCE_REQ
        value: '1'
      - name: P2P_GO_DISC_REQ
        value: '3'
      item_type: enum
      name: p2p_act_frame_type
      pos:
        line_end: 1941
        line_start: 1936
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - enumerators:
      - name: P2P_GO_NEG_REQ
        value: '0'
      - name: P2P_INVITATION_RESP
        value: '4'
      - name: P2P_INVITATION_REQ
        value: '3'
      - name: P2P_GO_NEG_CONF
        value: '2'
      - name: P2P_GO_NEG_RESP
        value: '1'
      - name: P2P_DEV_DISC_REQ
        value: '5'
      - name: P2P_DEV_DISC_RESP
        value: '6'
      - name: P2P_PROV_DISC_REQ
        value: '7'
      - name: P2P_PROV_DISC_RESP
        value: '8'
      item_type: enum
      name: p2p_action_frame_type
      pos:
        line_end: 1954
        line_start: 1944
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - enumerators:
      - name: P2P_SERV_ALL_SERVICES
        value: '0'
      - name: P2P_SERV_WIFI_DISPLAY
        value: '4'
      - name: P2P_SERV_WS_DISCOVERY
        value: '3'
      - name: P2P_SERV_UPNP
        value: '2'
      - name: P2P_SERV_BONJOUR
        value: '1'
      - name: P2P_SERV_P2PS
        value: '11'
      - name: P2P_SERV_VENDOR_SPECIFIC
        value: '255'
      item_type: enum
      name: p2p_service_protocol_type
      pos:
        line_end: 1964
        line_start: 1956
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - enumerators:
      - name: P2P_SD_SUCCESS
        value: '0'
      - name: P2P_SD_REQUESTED_INFO_NOT_AVAILABLE
        value: '2'
      - name: P2P_SD_PROTO_NOT_AVAILABLE
        value: '1'
      - name: P2P_SD_BAD_REQUEST
        value: '3'
      item_type: enum
      name: p2p_sd_status
      pos:
        line_end: 1971
        line_start: 1966
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - enumerators:
      - name: WFD_SUBELEM_DEVICE_INFO
        value: '0'
      - name: WFD_SUBELEM_3D_VIDEO_FORMATS
        value: '4'
      - name: WFD_SUBELEM_VIDEO_FORMATS
        value: '3'
      - name: WFD_SUBELEM_AUDIO_FORMATS
        value: '2'
      - name: WFD_SUBELEM_ASSOCIATED_BSSID
        value: '1'
      - name: WFD_SUBELEM_CONTENT_PROTECTION
        value: '5'
      - name: WFD_SUBELEM_COUPLED_SINK
        value: '6'
      - name: WFD_SUBELEM_EXT_CAPAB
        value: '7'
      - name: WFD_SUBELEM_LOCAL_IP_ADDRESS
        value: '8'
      - name: WFD_SUBELEM_SESSION_INFO
        value: '9'
      - name: WFD_SUBELEM_R2_DEVICE_INFO
        value: '11'
      - name: WFD_SUBELEM_MAC_INFO
        value: '10'
      item_type: enum
      name: wifi_display_subelem
      pos:
        line_end: 1987
        line_start: 1974
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - enumerators:
      - name: PLINK_OPEN
        value: '1'
      - name: PLINK_CONFIRM
      - name: PLINK_CLOSE
      item_type: enum
      name: plink_action_field
      pos:
        line_end: 2009
        line_start: 2005
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - enumerators:
      - name: WNM_EVENT_REQ
        value: '0'
      - name: WNM_DIAGNOSTIC_REPORT
        value: '3'
      - name: WNM_BSS_TRANS_MGMT_REQ
        value: '7'
      - name: WNM_TFS_NOTIFY
        value: '15'
      - name: WNM_COLLOCATED_INTERFERENCE_REQ
        value: '11'
      - name: WNM_TIM_BROADCAST_RESP
        value: '19'
      - name: WNM_DMS_REQ
        value: '23'
      - name: WNM_DIAGNOSTIC_REQ
        value: '2'
      - name: WNM_BSS_TRANS_MGMT_QUERY
        value: '6'
      - name: WNM_FMS_RESP
        value: '10'
      - name: WNM_TFS_RESP
        value: '14'
      - name: WNM_TIM_BROADCAST_REQ
        value: '18'
      - name: WNM_CHANNEL_USAGE_RESP
        value: '22'
      - name: WNM_NOTIFICATION_REQ
        value: '26'
      - name: WNM_NOTIFICATION_RESP
        value: '27'
      - name: WNM_EVENT_REPORT
        value: '1'
      - name: WNM_LOCATION_CFG_RESP
        value: '5'
      - name: WNM_FMS_REQ
        value: '9'
      - name: WNM_TFS_REQ
        value: '13'
      - name: WNM_SLEEP_MODE_RESP
        value: '17'
      - name: WNM_CHANNEL_USAGE_REQ
        value: '21'
      - name: WNM_TIMING_MEASUREMENT_REQ
        value: '25'
      - name: WNM_LOCATION_CFG_REQ
        value: '4'
      - name: WNM_BSS_TRANS_MGMT_RESP
        value: '8'
      - name: WNM_SLEEP_MODE_REQ
        value: '16'
      - name: WNM_COLLOCATED_INTERFERENCE_REPORT
        value: '12'
      - name: WNM_QOS_TRAFFIC_CAPAB_UPDATE
        value: '20'
      - name: WNM_DMS_RESP
        value: '24'
      item_type: enum
      name: wnm_action
      pos:
        line_end: 2049
        line_start: 2020
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - enumerators:
      - name: WNM_BSS_TM_ACCEPT
        value: '0'
      - name: WNM_BSS_TM_REJECT_UNDESIRED
        value: '4'
      - name: WNM_BSS_TM_REJECT_INSUFFICIENT_CAPABITY
        value: '3'
      - name: WNM_BSS_TM_REJECT_INSUFFICIENT_BEACON
        value: '2'
      - name: WNM_BSS_TM_REJECT_UNSPECIFIED
        value: '1'
      - name: WNM_BSS_TM_REJECT_DELAY_REQUEST
        value: '5'
      - name: WNM_BSS_TM_REJECT_STA_CANDIDATE_LIST_PROVIDED
        value: '6'
      - name: WNM_BSS_TM_REJECT_NO_SUITABLE_CANDIDATES
        value: '7'
      - name: WNM_BSS_TM_REJECT_LEAVING_ESS
        value: '8'
      item_type: enum
      name: bss_trans_mgmt_status_code
      pos:
        line_end: 2070
        line_start: 2060
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - enumerators:
      - name: WNM_TRANSITION_REASON_UNSPECIFIED
        value: '0'
      - name: WNM_TRANSITION_REASON_INSUFFICIENT_QOS
        value: '3'
      - name: WNM_TRANSITION_REASON_DEAUTH_FROM_PREV_AP
        value: '7'
      - name: WNM_TRANSITION_REASON_ROAM_FROM_NON_802_11
        value: '17'
      - name: WNM_TRANSITION_REASON_RX_TOO_MANY_BC_DISASSOC
        value: '13'
      - name: WNM_TRANSITION_REASON_EXCESSIVE_DELAY
        value: '2'
      - name: WNM_TRANSITION_REASON_BETTER_AP_FOUND
        value: '6'
      - name: WNM_TRANSITION_REASON_RX_TOO_MANY_REPLAYS
        value: '10'
      - name: WNM_TRANSITION_REASON_LOW_RSSI
        value: '16'
      - name: WNM_TRANSITION_REASON_EXCEEDED_MAX_RETRANS
        value: '12'
      - name: WNM_TRANSITION_REASON_LEAVING_ESS
        value: '20'
      - name: WNM_TRANSITION_REASON_EXCESSIVE_FRAME_LOSS
        value: '1'
      - name: WNM_TRANSITION_REASON_LOAD_BALANCING
        value: '5'
      - name: WNM_TRANSITION_REASON_AP_FAILED_4WAY_HS
        value: '9'
      - name: WNM_TRANSITION_REASON_PREV_TRANSITION_FAILED
        value: '15'
      - name: WNM_TRANSITION_REASON_RX_TOO_MANY_MIC_FAILURES
        value: '11'
      - name: WNM_TRANSITION_REASON_PREF_TRANSITION_CANDIDATE_LIST
        value: '19'
      - name: WNM_TRANSITION_REASON_FIRST_ESS_ASSOC
        value: '4'
      - name: WNM_TRANSITION_REASON_AP_FAILED_EAP
        value: '8'
      - name: WNM_TRANSITION_REASON_RX_TOO_MANY_BC_DEAUTH
        value: '14'
      - name: WNM_TRANSITION_REASON_TRANSITION_DUE_TO_BTM_REQ
        value: '18'
      item_type: enum
      name: bss_trans_mgmt_reason
      pos:
        line_end: 2097
        line_start: 2075
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - enumerators:
      - name: QOS_ADDTS_REQ
        value: '0'
      - name: QOS_ADDTS_RESP
        value: '1'
      - name: QOS_SCHEDULE
        value: '3'
      - name: QOS_QOS_MAP_CONFIG
        value: '4'
      - name: QOS_DELTS
        value: '2'
      item_type: enum
      name: qos_action
      pos:
        line_end: 2127
        line_start: 2121
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - enumerators:
      - name: WNM_STATUS_SLEEP_ACCEPT
        value: '0'
      - name: WNM_STATUS_SLEEP_EXIT_ACCEPT_GTK_UPDATE
        value: '1'
      - name: WNM_STATUS_DENIED_KEY
        value: '4'
      - name: WNM_STATUS_DENIED_TMP
        value: '3'
      - name: WNM_STATUS_DENIED_ACTION
        value: '2'
      - name: WNM_STATUS_DENIED_OTHER_WNM_SERVICE
        value: '5'
      item_type: enum
      name: wnm_sleep_mode_response_status
      pos:
        line_end: 2168
        line_start: 2161
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - enumerators:
      - name: WNM_SLEEP_SUBELEM_GTK
        value: '0'
      - name: WNM_SLEEP_SUBELEM_BIGTK
        value: '2'
      - name: WNM_SLEEP_SUBELEM_IGTK
        value: '1'
      item_type: enum
      name: wnm_sleep_mode_subelement_id
      pos:
        line_end: 2175
        line_start: 2171
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - enumerators:
      - name: WNM_NOTIF_TYPE_FIRMWARE_UPDATE
        value: '0'
      - name: WNM_NOTIF_TYPE_VENDOR_SPECIFIC
        value: '221'
      - name: WNM_NOTIF_TYPE_BEACON_PROTECTION_FAILURE
        value: '2'
      item_type: enum
      name: wnm_notification_Type
      pos:
        line_end: 2182
        line_start: 2178
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - enumerators:
      - name: WNM_STATUS_SUCCESSFUL
        value: '0'
      - name: WNM_STATUS_REQ_REFUSED
        value: '2'
      - name: WNM_STATUS_REQ_FAILED
        value: '1'
      - name: WNM_STATUS_REQ_INCAPABLE
        value: '3'
      - name: WNM_STATUS_FREQUENT_TRANSITION
        value: '4'
      item_type: enum
      name: wnm_event_report_status
      pos:
        line_end: 2209
        line_start: 2203
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - enumerators:
      - name: WNM_EVENT_TYPE_TRANSITION
        value: '0'
      - name: WNM_EVENT_TYPE_WNM_LOG
        value: '3'
      - name: WNM_EVENT_TYPE_P2P_LINK
        value: '2'
      - name: WNM_EVENT_TYPE_BSS_COLOR_COLLISION
        value: '4'
      - name: WNM_EVENT_TYPE_RSNA
        value: '1'
      - name: WNM_EVENT_TYPE_BSS_COLOR_IN_USE
        value: '5'
      item_type: enum
      name: wnm_event_report_type
      pos:
        line_end: 2218
        line_start: 2211
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - enumerators:
      - name: LOCAL_EIRP
        value: '0'
      - name: LOCAL_EIRP_PSD
        value: '1'
      - name: REGULATORY_CLIENT_EIRP_PSD
        value: '3'
      - name: REGULATORY_CLIENT_EIRP
        value: '2'
      item_type: enum
      name: max_tx_pwr_interpretation
      pos:
        line_end: 2240
        line_start: 2235
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - enumerators:
      - name: REG_DEFAULT_CLIENT
        value: '0'
      - name: REG_SUBORDINATE_CLIENT
        value: '1'
      item_type: enum
      name: reg_6g_client_type
      pos:
        line_end: 2249
        line_start: 2246
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - enumerators:
      - name: BEACON_REPORT_MODE_PASSIVE
        value: '0'
      - name: BEACON_REPORT_MODE_ACTIVE
        value: '1'
      - name: BEACON_REPORT_MODE_TABLE
        value: '2'
      item_type: enum
      name: beacon_report_mode
      pos:
        line_end: 2308
        line_start: 2304
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - enumerators:
      - name: BEACON_REPORT_DETAIL_NONE
        value: '0'
      - name: BEACON_REPORT_DETAIL_REQUESTED_ONLY
        value: '1'
      - name: BEACON_REPORT_DETAIL_ALL_FIELDS_AND_ELEMENTS
        value: '2'
      item_type: enum
      name: beacon_report_detail
      pos:
        line_end: 2332
        line_start: 2323
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - enumerators:
      - name: MB_STA_ROLE_AP
        value: '0'
      - name: MB_STA_ROLE_TDLS_STA
        value: '1'
      - name: MB_STA_ROLE_PCP
        value: '3'
      - name: MB_STA_ROLE_IBSS_STA
        value: '2'
      - name: MB_STA_ROLE_NON_PCP_NON_AP
        value: '4'
      item_type: enum
      name: mb_ctrl_sta_role
      pos:
        line_end: 2409
        line_start: 2403
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - enumerators:
      - name: MB_BAND_ID_WIFI_2_4GHZ
        value: '2'
      - name: MB_BAND_ID_WIFI_5GHZ
        value: '4'
      - name: MB_BAND_ID_WIFI_60GHZ
        value: '5'
      item_type: enum
      name: mb_band_id
      pos:
        line_end: 2420
        line_start: 2416
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - enumerators:
      - name: FST_ACTION_SETUP_REQUEST
        value: '0'
      - name: FST_ACTION_ACK_RESPONSE
        value: '4'
      - name: FST_ACTION_SETUP_RESPONSE
        value: '1'
      - name: FST_ACTION_ACK_REQUEST
        value: '3'
      - name: FST_ACTION_TEAR_DOWN
        value: '2'
      - name: FST_ACTION_ON_CHANNEL_TUNNEL
        value: '5'
      item_type: enum
      name: fst_action
      pos:
        line_end: 2436
        line_start: 2429
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - enumerators:
      - name: PHY_TYPE_UNSPECIFIED
        value: '0'
      - name: PHY_TYPE_ERP
        value: '6'
      - name: PHY_TYPE_HRDSSS
        value: '5'
      - name: PHY_TYPE_OFDM
        value: '4'
      - name: PHY_TYPE_DSSS
        value: '2'
      - name: PHY_TYPE_HT
        value: '7'
      - name: PHY_TYPE_DMG
        value: '8'
      - name: PHY_TYPE_VHT
        value: '9'
      - name: PHY_TYPE_TVHT
        value: '10'
      - name: PHY_TYPE_S1G
        value: '11'
      - name: PHY_TYPE_CDMG
        value: '12'
      - name: PHY_TYPE_CMMG
        value: '13'
      - name: PHY_TYPE_HE
        value: '14'
      item_type: enum
      name: phy_type
      pos:
        line_end: 2453
        line_start: 2439
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - enumerators:
      - name: NR_CHAN_WIDTH_20
        value: '0'
      - name: NR_CHAN_WIDTH_160
        value: '3'
      - name: NR_CHAN_WIDTH_80
        value: '2'
      - name: NR_CHAN_WIDTH_80P80
        value: '4'
      - name: NR_CHAN_WIDTH_40
        value: '1'
      item_type: enum
      name: nr_chan_width
      pos:
        line_end: 2493
        line_start: 2487
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - enumerators:
      - name: HE_REG_INFO_6GHZ_AP_TYPE_INDOOR
        value: '0'
      - name: HE_REG_INFO_6GHZ_AP_TYPE_INDOOR_SP
        value: '4'
      - name: HE_REG_INFO_6GHZ_AP_TYPE_INDOOR_ENABLED
        value: '3'
      - name: HE_REG_INFO_6GHZ_AP_TYPE_VLP
        value: '2'
      - name: HE_REG_INFO_6GHZ_AP_TYPE_SP
        value: '1'
      - name: HE_REG_INFO_6GHZ_AP_TYPE_MAX
        value: HE_REG_INFO_6GHZ_AP_TYPE_INDOOR_SP
      item_type: enum
      name: he_reg_info_6ghz_ap_type
      pos:
        line_end: 2656
        line_start: 2649
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - enumerators:
      - name: EHT_RECONF_TYPE_AP_REMOVAL
        value: '0'
      - name: EHT_RECONF_TYPE_NSTR_STATUS_UPDATE
        value: '4'
      - name: EHT_RECONF_TYPE_OP_PARAM_UPDATE
        value: '1'
      - name: EHT_RECONF_TYPE_DELETE_LINK
        value: '3'
      - name: EHT_RECONF_TYPE_ADD_LINK
        value: '2'
      item_type: enum
      name: ieee80211_eht_reconf_mle_op_type
      pos:
        line_end: 3044
        line_start: 3038
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - enumerators:
      - name: EDMG_CHANNEL_9
        value: '9'
      - name: EDMG_CHANNEL_12
        value: '12'
      - name: EDMG_CHANNEL_11
        value: '11'
      - name: EDMG_CHANNEL_10
        value: '10'
      - name: EDMG_CHANNEL_13
        value: '13'
      item_type: enum
      name: edmg_channel
      pos:
        line_end: 3108
        line_start: 3102
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - enumerators:
      - name: EDMG_BW_CONFIG_4
        value: '4'
      - name: EDMG_BW_CONFIG_5
        value: '5'
      item_type: enum
      name: edmg_bw_config
      pos:
        line_end: 3128
        line_start: 3125
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - enumerators:
      - name: ROBUST_AV_SCS_REQ
        value: '0'
      - name: ROBUST_AV_MSCS_REQ
        value: '4'
      - name: ROBUST_AV_GROUP_MEMBERSHIP_RESP
        value: '3'
      - name: ROBUST_AV_GROUP_MEMBERSHIP_REQ
        value: '2'
      - name: ROBUST_AV_SCS_RESP
        value: '1'
      - name: ROBUST_AV_MSCS_RESP
        value: '5'
      item_type: enum
      name: robust_av_streaming_action
      pos:
        line_end: 3141
        line_start: 3134
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - enumerators:
      - name: SCS_REQ_ADD
        value: '0'
      - name: SCS_REQ_REMOVE
        value: '1'
      - name: SCS_REQ_CHANGE
        value: '2'
      item_type: enum
      name: scs_request_type
      pos:
        line_end: 3147
        line_start: 3143
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - enumerators:
      - name: SCS_DIRECTION_UP
        value: '0'
      - name: SCS_DIRECTION_DIRECT
        value: '2'
      - name: SCS_DIRECTION_DOWN
        value: '1'
      item_type: enum
      name: scs_direction
      pos:
        line_end: 3168
        line_start: 3164
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - enumerators:
      - name: MCSC_SUBELEM_STATUS
        value: '1'
      item_type: enum
      name: mscs_description_subelem
      pos:
        line_end: 3196
        line_start: 3194
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - enumerators:
      - name: QM_ATTR_PORT_RANGE
        value: '1'
      - name: QM_ATTR_DOMAIN_NAME
        value: '4'
      - name: QM_ATTR_TCLAS
        value: '3'
      - name: QM_ATTR_DSCP_POLICY
        value: '2'
      item_type: enum
      name: qm_attr_id
      pos:
        line_end: 3268
        line_start: 3263
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - enumerators:
      - name: DSCP_POLICY_REQ_ADD
        value: '0'
      - name: DSCP_POLICY_REQ_REMOVE
        value: '1'
      item_type: enum
      name: dscp_policy_request_type
      pos:
        line_end: 3274
        line_start: 3271
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - enumerators:
      - name: WFA_CAPA_ATTR_GENERATIONAL_CAPAB
        value: '1'
      - name: WFA_CAPA_ATTR_VENDOR_SPECIFIC
        value: '221'
      item_type: enum
      name: wfa_capa_attr_id
      pos:
        line_end: 3289
        line_start: 3286
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    preproc_defs:
    - item_type: preproc_def
      name: WLAN_FC_PVER
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x0003'
    - item_type: preproc_def
      name: WLAN_FC_TODS
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x0100'
    - item_type: preproc_def
      name: WLAN_FC_FROMDS
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x0200'
    - item_type: preproc_def
      name: WLAN_FC_MOREFRAG
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x0400'
    - item_type: preproc_def
      name: WLAN_FC_RETRY
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x0800'
    - item_type: preproc_def
      name: WLAN_FC_PWRMGT
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x1000'
    - item_type: preproc_def
      name: WLAN_FC_MOREDATA
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x2000'
    - item_type: preproc_def
      name: WLAN_FC_PROTECTED
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x4000'
    - item_type: preproc_def
      name: WLAN_FC_HTC
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x8000'
    - item_type: preproc_def
      name: WLAN_FC_S1G_BEACON_NEXT_TBTT
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x0100'
    - item_type: preproc_def
      name: WLAN_FC_S1G_BEACON_COMP_SSID
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x0200'
    - item_type: preproc_def
      name: WLAN_FC_S1G_BEACON_ANO
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x0400'
    - item_type: preproc_def
      name: WLAN_FC_S1G_BEACON_BSS_BW
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x3800'
    - item_type: preproc_def
      name: WLAN_FC_S1G_BEACON_SECURITY
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x4000'
    - item_type: preproc_def
      name: WLAN_FC_S1G_BEACON_AP_PM
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x8000'
    - item_type: preproc_def
      name: WLAN_INVALID_MGMT_SEQ
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0xFFFF'
    - item_type: preproc_def
      name: WLAN_FC_TYPE_MGMT
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: WLAN_FC_TYPE_CTRL
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: WLAN_FC_TYPE_DATA
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '2'
    - item_type: preproc_def
      name: WLAN_FC_TYPE_EXT
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '3'
    - item_type: preproc_def
      name: WLAN_FC_STYPE_ASSOC_REQ
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: WLAN_FC_STYPE_ASSOC_RESP
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: WLAN_FC_STYPE_REASSOC_REQ
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '2'
    - item_type: preproc_def
      name: WLAN_FC_STYPE_REASSOC_RESP
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '3'
    - item_type: preproc_def
      name: WLAN_FC_STYPE_PROBE_REQ
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '4'
    - item_type: preproc_def
      name: WLAN_FC_STYPE_PROBE_RESP
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '5'
    - item_type: preproc_def
      name: WLAN_FC_STYPE_BEACON
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '8'
    - item_type: preproc_def
      name: WLAN_FC_STYPE_ATIM
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '9'
    - item_type: preproc_def
      name: WLAN_FC_STYPE_DISASSOC
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '10'
    - item_type: preproc_def
      name: WLAN_FC_STYPE_AUTH
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '11'
    - item_type: preproc_def
      name: WLAN_FC_STYPE_DEAUTH
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '12'
    - item_type: preproc_def
      name: WLAN_FC_STYPE_ACTION
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '13'
    - item_type: preproc_def
      name: WLAN_FC_STYPE_ACTION_NO_ACK
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '14'
    - item_type: preproc_def
      name: WLAN_FC_STYPE_PSPOLL
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '10'
    - item_type: preproc_def
      name: WLAN_FC_STYPE_RTS
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '11'
    - item_type: preproc_def
      name: WLAN_FC_STYPE_CTS
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '12'
    - item_type: preproc_def
      name: WLAN_FC_STYPE_ACK
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '13'
    - item_type: preproc_def
      name: WLAN_FC_STYPE_CFEND
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '14'
    - item_type: preproc_def
      name: WLAN_FC_STYPE_CFENDACK
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '15'
    - item_type: preproc_def
      name: WLAN_FC_STYPE_DATA
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: WLAN_FC_STYPE_DATA_CFACK
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: WLAN_FC_STYPE_DATA_CFPOLL
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '2'
    - item_type: preproc_def
      name: WLAN_FC_STYPE_DATA_CFACKPOLL
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '3'
    - item_type: preproc_def
      name: WLAN_FC_STYPE_NULLFUNC
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '4'
    - item_type: preproc_def
      name: WLAN_FC_STYPE_CFACK
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '5'
    - item_type: preproc_def
      name: WLAN_FC_STYPE_CFPOLL
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '6'
    - item_type: preproc_def
      name: WLAN_FC_STYPE_CFACKPOLL
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '7'
    - item_type: preproc_def
      name: WLAN_FC_STYPE_QOS_DATA
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '8'
    - item_type: preproc_def
      name: WLAN_FC_STYPE_QOS_DATA_CFACK
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '9'
    - item_type: preproc_def
      name: WLAN_FC_STYPE_QOS_DATA_CFPOLL
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '10'
    - item_type: preproc_def
      name: WLAN_FC_STYPE_QOS_DATA_CFACKPOLL
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '11'
    - item_type: preproc_def
      name: WLAN_FC_STYPE_QOS_NULL
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '12'
    - item_type: preproc_def
      name: WLAN_FC_STYPE_QOS_CFPOLL
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '14'
    - item_type: preproc_def
      name: WLAN_FC_STYPE_QOS_CFACKPOLL
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '15'
    - item_type: preproc_def
      name: WLAN_FC_STYPE_DMG_BEACON
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: WLAN_FC_STYPE_S1G_BEACON
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: WLAN_AUTH_OPEN
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: WLAN_AUTH_SHARED_KEY
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: WLAN_AUTH_FT
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '2'
    - item_type: preproc_def
      name: WLAN_AUTH_SAE
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '3'
    - item_type: preproc_def
      name: WLAN_AUTH_FILS_SK
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '4'
    - item_type: preproc_def
      name: WLAN_AUTH_FILS_SK_PFS
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '5'
    - item_type: preproc_def
      name: WLAN_AUTH_FILS_PK
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '6'
    - item_type: preproc_def
      name: WLAN_AUTH_PASN
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '7'
    - item_type: preproc_def
      name: WLAN_AUTH_802_1X
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '8'
    - item_type: preproc_def
      name: WLAN_AUTH_EPPKE
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '9'
    - item_type: preproc_def
      name: WLAN_AUTH_LEAP
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '128'
    - item_type: preproc_def
      name: WLAN_AUTH_TR_SEQ_SAE_COMMIT
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: WLAN_AUTH_TR_SEQ_SAE_CONFIRM
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '2'
    - item_type: preproc_def
      name: WLAN_AUTH_TR_SEQ_PASN_AUTH1
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: WLAN_AUTH_TR_SEQ_PASN_AUTH2
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '2'
    - item_type: preproc_def
      name: WLAN_AUTH_TR_SEQ_PASN_AUTH3
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '3'
    - item_type: preproc_def
      name: WLAN_AUTH_CHALLENGE_LEN
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '128'
    - item_type: preproc_def
      name: WLAN_CAPABILITY_ESS
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: WLAN_CAPABILITY_IBSS
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: WLAN_CAPABILITY_PRIVACY
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(4)
    - item_type: preproc_def
      name: WLAN_CAPABILITY_SHORT_PREAMBLE
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(5)
    - item_type: preproc_def
      name: WLAN_CAPABILITY_SPECTRUM_MGMT
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(8)
    - item_type: preproc_def
      name: WLAN_CAPABILITY_QOS
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(9)
    - item_type: preproc_def
      name: WLAN_CAPABILITY_SHORT_SLOT_TIME
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(10)
    - item_type: preproc_def
      name: WLAN_CAPABILITY_APSD
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(11)
    - item_type: preproc_def
      name: WLAN_CAPABILITY_RADIO_MEASUREMENT
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(12)
    - item_type: preproc_def
      name: WLAN_CAPABILITY_EPD
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(13)
    - item_type: preproc_def
      name: WLAN_STATUS_SUCCESS
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: WLAN_STATUS_UNSPECIFIED_FAILURE
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: WLAN_STATUS_TDLS_WAKEUP_ALTERNATE
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '2'
    - item_type: preproc_def
      name: WLAN_STATUS_TDLS_WAKEUP_REJECT
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '3'
    - item_type: preproc_def
      name: WLAN_STATUS_SECURITY_DISABLED
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '5'
    - item_type: preproc_def
      name: WLAN_STATUS_UNACCEPTABLE_LIFETIME
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '6'
    - item_type: preproc_def
      name: WLAN_STATUS_NOT_IN_SAME_BSS
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '7'
    - item_type: preproc_def
      name: WLAN_STATUS_CAPS_UNSUPPORTED
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '10'
    - item_type: preproc_def
      name: WLAN_STATUS_REASSOC_NO_ASSOC
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '11'
    - item_type: preproc_def
      name: WLAN_STATUS_ASSOC_DENIED_UNSPEC
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '12'
    - item_type: preproc_def
      name: WLAN_STATUS_NOT_SUPPORTED_AUTH_ALG
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '13'
    - item_type: preproc_def
      name: WLAN_STATUS_UNKNOWN_AUTH_TRANSACTION
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '14'
    - item_type: preproc_def
      name: WLAN_STATUS_CHALLENGE_FAIL
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '15'
    - item_type: preproc_def
      name: WLAN_STATUS_AUTH_TIMEOUT
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '16'
    - item_type: preproc_def
      name: WLAN_STATUS_AP_UNABLE_TO_HANDLE_NEW_STA
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '17'
    - item_type: preproc_def
      name: WLAN_STATUS_ASSOC_DENIED_RATES
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '18'
    - item_type: preproc_def
      name: WLAN_STATUS_ASSOC_DENIED_NOSHORT
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '19'
    - item_type: preproc_def
      name: WLAN_STATUS_SPEC_MGMT_REQUIRED
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '22'
    - item_type: preproc_def
      name: WLAN_STATUS_PWR_CAPABILITY_NOT_VALID
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '23'
    - item_type: preproc_def
      name: WLAN_STATUS_SUPPORTED_CHANNEL_NOT_VALID
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '24'
    - item_type: preproc_def
      name: WLAN_STATUS_ASSOC_DENIED_NO_SHORT_SLOT_TIME
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '25'
    - item_type: preproc_def
      name: WLAN_STATUS_ASSOC_DENIED_NO_HT
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '27'
    - item_type: preproc_def
      name: WLAN_STATUS_R0KH_UNREACHABLE
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '28'
    - item_type: preproc_def
      name: WLAN_STATUS_ASSOC_DENIED_NO_PCO
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '29'
    - item_type: preproc_def
      name: WLAN_STATUS_ASSOC_REJECTED_TEMPORARILY
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '30'
    - item_type: preproc_def
      name: WLAN_STATUS_ROBUST_MGMT_FRAME_POLICY_VIOLATION
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '31'
    - item_type: preproc_def
      name: WLAN_STATUS_UNSPECIFIED_QOS_FAILURE
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '32'
    - item_type: preproc_def
      name: WLAN_STATUS_DENIED_INSUFFICIENT_BANDWIDTH
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '33'
    - item_type: preproc_def
      name: WLAN_STATUS_DENIED_POOR_CHANNEL_CONDITIONS
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '34'
    - item_type: preproc_def
      name: WLAN_STATUS_DENIED_QOS_NOT_SUPPORTED
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '35'
    - item_type: preproc_def
      name: WLAN_STATUS_REQUEST_DECLINED
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '37'
    - item_type: preproc_def
      name: WLAN_STATUS_INVALID_PARAMETERS
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '38'
    - item_type: preproc_def
      name: WLAN_STATUS_REJECTED_WITH_SUGGESTED_CHANGES
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '39'
    - item_type: preproc_def
      name: WLAN_STATUS_INVALID_ELEMENT
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '40'
    - item_type: preproc_def
      name: WLAN_STATUS_INVALID_GROUP_CIPHER
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '41'
    - item_type: preproc_def
      name: WLAN_STATUS_INVALID_PAIRWISE_CIPHER
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '42'
    - item_type: preproc_def
      name: WLAN_STATUS_INVALID_AKMP
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '43'
    - item_type: preproc_def
      name: WLAN_STATUS_UNSUPPORTED_RSNE_VERSION
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '44'
    - item_type: preproc_def
      name: WLAN_STATUS_INVALID_RSNE_CAPABILITIES
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '45'
    - item_type: preproc_def
      name: WLAN_STATUS_CIPHER_OUT_OF_POLICY
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '46'
    - item_type: preproc_def
      name: WLAN_STATUS_TS_NOT_CREATED
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '47'
    - item_type: preproc_def
      name: WLAN_STATUS_DIRECT_LINK_NOT_ALLOWED
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '48'
    - item_type: preproc_def
      name: WLAN_STATUS_DEST_STA_NOT_PRESENT
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '49'
    - item_type: preproc_def
      name: WLAN_STATUS_DEST_STA_NOT_QOS_STA
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '50'
    - item_type: preproc_def
      name: WLAN_STATUS_ASSOC_DENIED_LISTEN_INT_TOO_LARGE
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '51'
    - item_type: preproc_def
      name: WLAN_STATUS_INVALID_FT_ACTION_FRAME_COUNT
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '52'
    - item_type: preproc_def
      name: WLAN_STATUS_INVALID_PMKID
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '53'
    - item_type: preproc_def
      name: WLAN_STATUS_INVALID_MDE
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '54'
    - item_type: preproc_def
      name: WLAN_STATUS_INVALID_FTE
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '55'
    - item_type: preproc_def
      name: WLAN_STATUS_REQUESTED_TCLAS_NOT_SUPPORTED
      pos:
        line_end: 183
        line_start: 182
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '56'
    - item_type: preproc_def
      name: WLAN_STATUS_INSUFFICIENT_TCLAS_PROCESSING_RESOURCES
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '57'
    - item_type: preproc_def
      name: WLAN_STATUS_TRY_ANOTHER_BSS
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '58'
    - item_type: preproc_def
      name: WLAN_STATUS_GAS_ADV_PROTO_NOT_SUPPORTED
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '59'
    - item_type: preproc_def
      name: WLAN_STATUS_NO_OUTSTANDING_GAS_REQ
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '60'
    - item_type: preproc_def
      name: WLAN_STATUS_GAS_RESP_NOT_RECEIVED
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '61'
    - item_type: preproc_def
      name: WLAN_STATUS_STA_TIMED_OUT_WAITING_FOR_GAS_RESP
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '62'
    - item_type: preproc_def
      name: WLAN_STATUS_GAS_RESP_LARGER_THAN_LIMIT
      pos:
        line_end: 190
        line_start: 189
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '63'
    - item_type: preproc_def
      name: WLAN_STATUS_REQ_REFUSED_HOME
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '64'
    - item_type: preproc_def
      name: WLAN_STATUS_ADV_SRV_UNREACHABLE
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '65'
    - item_type: preproc_def
      name: WLAN_STATUS_REQ_REFUSED_SSPN
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '67'
    - item_type: preproc_def
      name: WLAN_STATUS_REQ_REFUSED_UNAUTH_ACCESS
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '68'
    - item_type: preproc_def
      name: WLAN_STATUS_INVALID_RSNE
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '72'
    - item_type: preproc_def
      name: WLAN_STATUS_U_APSD_COEX_NOT_SUPPORTED
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '73'
    - item_type: preproc_def
      name: WLAN_STATUS_U_APSD_COEX_MODE_NOT_SUPPORTED
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '74'
    - item_type: preproc_def
      name: WLAN_STATUS_BAD_INTERVAL_WITH_U_APSD_COEX
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '75'
    - item_type: preproc_def
      name: WLAN_STATUS_ANTI_CLOGGING_TOKEN_REQ
      pos:
        line_end: 199
        line_start: 198
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '76'
    - item_type: preproc_def
      name: WLAN_STATUS_FINITE_CYCLIC_GROUP_NOT_SUPPORTED
      pos:
        line_end: 200
        line_start: 199
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '77'
    - item_type: preproc_def
      name: WLAN_STATUS_CANNOT_FIND_ALT_TBTT
      pos:
        line_end: 201
        line_start: 200
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '78'
    - item_type: preproc_def
      name: WLAN_STATUS_TRANSMISSION_FAILURE
      pos:
        line_end: 202
        line_start: 201
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '79'
    - item_type: preproc_def
      name: WLAN_STATUS_REQ_TCLAS_NOT_SUPPORTED
      pos:
        line_end: 203
        line_start: 202
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '80'
    - item_type: preproc_def
      name: WLAN_STATUS_TCLAS_RESOURCES_EXCHAUSTED
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '81'
    - item_type: preproc_def
      name: WLAN_STATUS_REJECTED_WITH_SUGGESTED_BSS_TRANSITION
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '82'
    - item_type: preproc_def
      name: WLAN_STATUS_REJECT_WITH_SCHEDULE
      pos:
        line_end: 206
        line_start: 205
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '83'
    - item_type: preproc_def
      name: WLAN_STATUS_REJECT_NO_WAKEUP_SPECIFIED
      pos:
        line_end: 207
        line_start: 206
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '84'
    - item_type: preproc_def
      name: WLAN_STATUS_SUCCESS_POWER_SAVE_MODE
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '85'
    - item_type: preproc_def
      name: WLAN_STATUS_PENDING_ADMITTING_FST_SESSION
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '86'
    - item_type: preproc_def
      name: WLAN_STATUS_PERFORMING_FST_NOW
      pos:
        line_end: 210
        line_start: 209
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '87'
    - item_type: preproc_def
      name: WLAN_STATUS_PENDING_GAP_IN_BA_WINDOW
      pos:
        line_end: 211
        line_start: 210
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '88'
    - item_type: preproc_def
      name: WLAN_STATUS_REJECT_U_PID_SETTING
      pos:
        line_end: 212
        line_start: 211
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '89'
    - item_type: preproc_def
      name: WLAN_STATUS_REFUSED_EXTERNAL_REASON
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '92'
    - item_type: preproc_def
      name: WLAN_STATUS_REFUSED_AP_OUT_OF_MEMORY
      pos:
        line_end: 214
        line_start: 213
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '93'
    - item_type: preproc_def
      name: WLAN_STATUS_REJECTED_EMERGENCY_SERVICE_NOT_SUPPORTED
      pos:
        line_end: 215
        line_start: 214
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '94'
    - item_type: preproc_def
      name: WLAN_STATUS_QUERY_RESP_OUTSTANDING
      pos:
        line_end: 216
        line_start: 215
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '95'
    - item_type: preproc_def
      name: WLAN_STATUS_REJECT_DSE_BAND
      pos:
        line_end: 217
        line_start: 216
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '96'
    - item_type: preproc_def
      name: WLAN_STATUS_TCLAS_PROCESSING_TERMINATED
      pos:
        line_end: 218
        line_start: 217
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '97'
    - item_type: preproc_def
      name: WLAN_STATUS_TS_SCHEDULE_CONFLICT
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '98'
    - item_type: preproc_def
      name: WLAN_STATUS_DENIED_WITH_SUGGESTED_BAND_AND_CHANNEL
      pos:
        line_end: 220
        line_start: 219
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '99'
    - item_type: preproc_def
      name: WLAN_STATUS_MCCAOP_RESERVATION_CONFLICT
      pos:
        line_end: 221
        line_start: 220
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '100'
    - item_type: preproc_def
      name: WLAN_STATUS_MAF_LIMIT_EXCEEDED
      pos:
        line_end: 222
        line_start: 221
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '101'
    - item_type: preproc_def
      name: WLAN_STATUS_MCCA_TRACK_LIMIT_EXCEEDED
      pos:
        line_end: 223
        line_start: 222
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '102'
    - item_type: preproc_def
      name: WLAN_STATUS_DENIED_DUE_TO_SPECTRUM_MANAGEMENT
      pos:
        line_end: 224
        line_start: 223
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '103'
    - item_type: preproc_def
      name: WLAN_STATUS_ASSOC_DENIED_NO_VHT
      pos:
        line_end: 225
        line_start: 224
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '104'
    - item_type: preproc_def
      name: WLAN_STATUS_ENABLEMENT_DENIED
      pos:
        line_end: 226
        line_start: 225
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '105'
    - item_type: preproc_def
      name: WLAN_STATUS_RESTRICTION_FROM_AUTHORIZED_GDB
      pos:
        line_end: 227
        line_start: 226
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '106'
    - item_type: preproc_def
      name: WLAN_STATUS_AUTHORIZATION_DEENABLED
      pos:
        line_end: 228
        line_start: 227
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '107'
    - item_type: preproc_def
      name: WLAN_STATUS_FILS_AUTHENTICATION_FAILURE
      pos:
        line_end: 229
        line_start: 228
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '112'
    - item_type: preproc_def
      name: WLAN_STATUS_UNKNOWN_AUTHENTICATION_SERVER
      pos:
        line_end: 230
        line_start: 229
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '113'
    - item_type: preproc_def
      name: WLAN_STATUS_UNKNOWN_PASSWORD_IDENTIFIER
      pos:
        line_end: 231
        line_start: 230
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '123'
    - item_type: preproc_def
      name: WLAN_STATUS_DENIED_HE_NOT_SUPPORTED
      pos:
        line_end: 232
        line_start: 231
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '124'
    - item_type: preproc_def
      name: WLAN_STATUS_SAE_HASH_TO_ELEMENT
      pos:
        line_end: 233
        line_start: 232
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '126'
    - item_type: preproc_def
      name: WLAN_STATUS_SAE_PK
      pos:
        line_end: 234
        line_start: 233
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '127'
    - item_type: preproc_def
      name: WLAN_STATUS_DENIED_STA_AFF_WITH_MLD_WITH_EXISTING_ASSOC
      pos:
        line_end: 235
        line_start: 234
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '130'
    - item_type: preproc_def
      name: WLAN_STATUS_EPCS_DENIED_UNAUTHORIZED
      pos:
        line_end: 236
        line_start: 235
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '131'
    - item_type: preproc_def
      name: WLAN_STATUS_EPCS_DENIED
      pos:
        line_end: 237
        line_start: 236
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '132'
    - item_type: preproc_def
      name: WLAN_STATUS_DENIED_TID_TO_LINK_MAPPING
      pos:
        line_end: 238
        line_start: 237
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '133'
    - item_type: preproc_def
      name: WLAN_STATUS_PREFERRED_TID_TO_LINK_MAPPING_SUGGESTED
      pos:
        line_end: 239
        line_start: 238
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '134'
    - item_type: preproc_def
      name: WLAN_STATUS_DENIED_EHT_NOT_SUPPORTED
      pos:
        line_end: 240
        line_start: 239
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '135'
    - item_type: preproc_def
      name: WLAN_STATUS_INVALID_PUBLIC_KEY
      pos:
        line_end: 241
        line_start: 240
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '136'
    - item_type: preproc_def
      name: WLAN_STATUS_PASN_BASE_AKMP_FAILED
      pos:
        line_end: 242
        line_start: 241
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '137'
    - item_type: preproc_def
      name: WLAN_STATUS_OCI_MISMATCH
      pos:
        line_end: 243
        line_start: 242
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '138'
    - item_type: preproc_def
      name: WLAN_STATUS_DENIED_TX_LINK_NOT_ACCEPTED
      pos:
        line_end: 244
        line_start: 243
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '139'
    - item_type: preproc_def
      name: WLAN_STATUS_EPCS_DENIED_VERIFICATION_FAILURE
      pos:
        line_end: 245
        line_start: 244
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '140'
    - item_type: preproc_def
      name: WLAN_STATUS_DENIED_OPERATION_PARAMETER_UPDATE
      pos:
        line_end: 246
        line_start: 245
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '141'
    - item_type: preproc_def
      name: WLAN_STATUS_802_1_X_AUTH_FAILED
      pos:
        line_end: 247
        line_start: 246
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '152'
    - item_type: preproc_def
      name: WLAN_STATUS_802_1_X_AUTH_SUCCESS
      pos:
        line_end: 248
        line_start: 247
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '153'
    - item_type: preproc_def
      name: WLAN_STATUS_REJECTED_ST_PREP_MAX_PREP_EXCEEDED
      pos:
        line_end: 249
        line_start: 248
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '154'
    - item_type: preproc_def
      name: WLAN_STATUS_REJECTED_ST_EXEC_EXCEEDED_PREP_TIMEOUT
      pos:
        line_end: 250
        line_start: 249
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '155'
    - item_type: preproc_def
      name: WLAN_STATUS_DENIED_UHR_NOT_SUPPORTED
      pos:
        line_end: 251
        line_start: 250
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '157'
    - item_type: preproc_def
      name: WLAN_STATUS_REJECTED_ST_EXEC_TARGET_NOT_PREPARED
      pos:
        line_end: 252
        line_start: 251
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '158'
    - item_type: preproc_def
      name: WLAN_STATUS_REJECTED_INVALID_SECURITY_PROFILE
      pos:
        line_end: 253
        line_start: 252
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '159'
    - item_type: preproc_def
      name: WLAN_REASON_UNSPECIFIED
      pos:
        line_end: 256
        line_start: 255
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: WLAN_REASON_PREV_AUTH_NOT_VALID
      pos:
        line_end: 257
        line_start: 256
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '2'
    - item_type: preproc_def
      name: WLAN_REASON_DEAUTH_LEAVING
      pos:
        line_end: 258
        line_start: 257
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '3'
    - item_type: preproc_def
      name: WLAN_REASON_DISASSOC_DUE_TO_INACTIVITY
      pos:
        line_end: 259
        line_start: 258
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '4'
    - item_type: preproc_def
      name: WLAN_REASON_DISASSOC_AP_BUSY
      pos:
        line_end: 260
        line_start: 259
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '5'
    - item_type: preproc_def
      name: WLAN_REASON_CLASS2_FRAME_FROM_NONAUTH_STA
      pos:
        line_end: 261
        line_start: 260
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '6'
    - item_type: preproc_def
      name: WLAN_REASON_CLASS3_FRAME_FROM_NONASSOC_STA
      pos:
        line_end: 262
        line_start: 261
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '7'
    - item_type: preproc_def
      name: WLAN_REASON_DISASSOC_STA_HAS_LEFT
      pos:
        line_end: 263
        line_start: 262
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '8'
    - item_type: preproc_def
      name: WLAN_REASON_STA_REQ_ASSOC_WITHOUT_AUTH
      pos:
        line_end: 264
        line_start: 263
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '9'
    - item_type: preproc_def
      name: WLAN_REASON_PWR_CAPABILITY_NOT_VALID
      pos:
        line_end: 265
        line_start: 264
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '10'
    - item_type: preproc_def
      name: WLAN_REASON_SUPPORTED_CHANNEL_NOT_VALID
      pos:
        line_end: 266
        line_start: 265
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '11'
    - item_type: preproc_def
      name: WLAN_REASON_BSS_TRANSITION_DISASSOC
      pos:
        line_end: 267
        line_start: 266
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '12'
    - item_type: preproc_def
      name: WLAN_REASON_INVALID_IE
      pos:
        line_end: 268
        line_start: 267
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '13'
    - item_type: preproc_def
      name: WLAN_REASON_MICHAEL_MIC_FAILURE
      pos:
        line_end: 269
        line_start: 268
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '14'
    - item_type: preproc_def
      name: WLAN_REASON_4WAY_HANDSHAKE_TIMEOUT
      pos:
        line_end: 270
        line_start: 269
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '15'
    - item_type: preproc_def
      name: WLAN_REASON_GROUP_KEY_UPDATE_TIMEOUT
      pos:
        line_end: 271
        line_start: 270
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '16'
    - item_type: preproc_def
      name: WLAN_REASON_IE_IN_4WAY_DIFFERS
      pos:
        line_end: 272
        line_start: 271
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '17'
    - item_type: preproc_def
      name: WLAN_REASON_GROUP_CIPHER_NOT_VALID
      pos:
        line_end: 273
        line_start: 272
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '18'
    - item_type: preproc_def
      name: WLAN_REASON_PAIRWISE_CIPHER_NOT_VALID
      pos:
        line_end: 274
        line_start: 273
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '19'
    - item_type: preproc_def
      name: WLAN_REASON_AKMP_NOT_VALID
      pos:
        line_end: 275
        line_start: 274
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '20'
    - item_type: preproc_def
      name: WLAN_REASON_UNSUPPORTED_RSN_IE_VERSION
      pos:
        line_end: 276
        line_start: 275
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '21'
    - item_type: preproc_def
      name: WLAN_REASON_INVALID_RSN_IE_CAPAB
      pos:
        line_end: 277
        line_start: 276
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '22'
    - item_type: preproc_def
      name: WLAN_REASON_IEEE_802_1X_AUTH_FAILED
      pos:
        line_end: 278
        line_start: 277
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '23'
    - item_type: preproc_def
      name: WLAN_REASON_CIPHER_SUITE_REJECTED
      pos:
        line_end: 279
        line_start: 278
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '24'
    - item_type: preproc_def
      name: WLAN_REASON_TDLS_TEARDOWN_UNREACHABLE
      pos:
        line_end: 280
        line_start: 279
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '25'
    - item_type: preproc_def
      name: WLAN_REASON_TDLS_TEARDOWN_UNSPECIFIED
      pos:
        line_end: 281
        line_start: 280
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '26'
    - item_type: preproc_def
      name: WLAN_REASON_SSP_REQUESTED_DISASSOC
      pos:
        line_end: 282
        line_start: 281
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '27'
    - item_type: preproc_def
      name: WLAN_REASON_NO_SSP_ROAMING_AGREEMENT
      pos:
        line_end: 283
        line_start: 282
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '28'
    - item_type: preproc_def
      name: WLAN_REASON_BAD_CIPHER_OR_AKM
      pos:
        line_end: 284
        line_start: 283
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '29'
    - item_type: preproc_def
      name: WLAN_REASON_NOT_AUTHORIZED_THIS_LOCATION
      pos:
        line_end: 285
        line_start: 284
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '30'
    - item_type: preproc_def
      name: WLAN_REASON_SERVICE_CHANGE_PRECLUDES_TS
      pos:
        line_end: 286
        line_start: 285
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '31'
    - item_type: preproc_def
      name: WLAN_REASON_UNSPECIFIED_QOS_REASON
      pos:
        line_end: 287
        line_start: 286
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '32'
    - item_type: preproc_def
      name: WLAN_REASON_NOT_ENOUGH_BANDWIDTH
      pos:
        line_end: 288
        line_start: 287
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '33'
    - item_type: preproc_def
      name: WLAN_REASON_DISASSOC_LOW_ACK
      pos:
        line_end: 289
        line_start: 288
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '34'
    - item_type: preproc_def
      name: WLAN_REASON_EXCEEDED_TXOP
      pos:
        line_end: 290
        line_start: 289
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '35'
    - item_type: preproc_def
      name: WLAN_REASON_STA_LEAVING
      pos:
        line_end: 291
        line_start: 290
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '36'
    - item_type: preproc_def
      name: WLAN_REASON_END_TS_BA_DLS
      pos:
        line_end: 292
        line_start: 291
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '37'
    - item_type: preproc_def
      name: WLAN_REASON_UNKNOWN_TS_BA
      pos:
        line_end: 293
        line_start: 292
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '38'
    - item_type: preproc_def
      name: WLAN_REASON_TIMEOUT
      pos:
        line_end: 294
        line_start: 293
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '39'
    - item_type: preproc_def
      name: WLAN_REASON_PEERKEY_MISMATCH
      pos:
        line_end: 295
        line_start: 294
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '45'
    - item_type: preproc_def
      name: WLAN_REASON_AUTHORIZED_ACCESS_LIMIT_REACHED
      pos:
        line_end: 296
        line_start: 295
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '46'
    - item_type: preproc_def
      name: WLAN_REASON_EXTERNAL_SERVICE_REQUIREMENTS
      pos:
        line_end: 297
        line_start: 296
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '47'
    - item_type: preproc_def
      name: WLAN_REASON_INVALID_FT_ACTION_FRAME_COUNT
      pos:
        line_end: 298
        line_start: 297
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '48'
    - item_type: preproc_def
      name: WLAN_REASON_INVALID_PMKID
      pos:
        line_end: 299
        line_start: 298
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '49'
    - item_type: preproc_def
      name: WLAN_REASON_INVALID_MDE
      pos:
        line_end: 300
        line_start: 299
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '50'
    - item_type: preproc_def
      name: WLAN_REASON_INVALID_FTE
      pos:
        line_end: 301
        line_start: 300
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '51'
    - item_type: preproc_def
      name: WLAN_REASON_MESH_PEERING_CANCELLED
      pos:
        line_end: 302
        line_start: 301
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '52'
    - item_type: preproc_def
      name: WLAN_REASON_MESH_MAX_PEERS
      pos:
        line_end: 303
        line_start: 302
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '53'
    - item_type: preproc_def
      name: WLAN_REASON_MESH_CONFIG_POLICY_VIOLATION
      pos:
        line_end: 304
        line_start: 303
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '54'
    - item_type: preproc_def
      name: WLAN_REASON_MESH_CLOSE_RCVD
      pos:
        line_end: 305
        line_start: 304
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '55'
    - item_type: preproc_def
      name: WLAN_REASON_MESH_MAX_RETRIES
      pos:
        line_end: 306
        line_start: 305
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '56'
    - item_type: preproc_def
      name: WLAN_REASON_MESH_CONFIRM_TIMEOUT
      pos:
        line_end: 307
        line_start: 306
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '57'
    - item_type: preproc_def
      name: WLAN_REASON_MESH_INVALID_GTK
      pos:
        line_end: 308
        line_start: 307
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '58'
    - item_type: preproc_def
      name: WLAN_REASON_MESH_INCONSISTENT_PARAMS
      pos:
        line_end: 309
        line_start: 308
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '59'
    - item_type: preproc_def
      name: WLAN_REASON_MESH_INVALID_SECURITY_CAP
      pos:
        line_end: 310
        line_start: 309
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '60'
    - item_type: preproc_def
      name: WLAN_REASON_MESH_PATH_ERROR_NO_PROXY_INFO
      pos:
        line_end: 311
        line_start: 310
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '61'
    - item_type: preproc_def
      name: WLAN_REASON_MESH_PATH_ERROR_NO_FORWARDING_INFO
      pos:
        line_end: 312
        line_start: 311
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '62'
    - item_type: preproc_def
      name: WLAN_REASON_MESH_PATH_ERROR_DEST_UNREACHABLE
      pos:
        line_end: 313
        line_start: 312
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '63'
    - item_type: preproc_def
      name: WLAN_REASON_MAC_ADDRESS_ALREADY_EXISTS_IN_MBSS
      pos:
        line_end: 314
        line_start: 313
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '64'
    - item_type: preproc_def
      name: WLAN_REASON_MESH_CHANNEL_SWITCH_REGULATORY_REQ
      pos:
        line_end: 315
        line_start: 314
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '65'
    - item_type: preproc_def
      name: WLAN_REASON_MESH_CHANNEL_SWITCH_UNSPECIFIED
      pos:
        line_end: 316
        line_start: 315
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '66'
    - item_type: preproc_def
      name: WLAN_EID_SSID
      pos:
        line_end: 320
        line_start: 319
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: WLAN_EID_SUPP_RATES
      pos:
        line_end: 321
        line_start: 320
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: WLAN_EID_DS_PARAMS
      pos:
        line_end: 322
        line_start: 321
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '3'
    - item_type: preproc_def
      name: WLAN_EID_CF_PARAMS
      pos:
        line_end: 323
        line_start: 322
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '4'
    - item_type: preproc_def
      name: WLAN_EID_TIM
      pos:
        line_end: 324
        line_start: 323
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '5'
    - item_type: preproc_def
      name: WLAN_EID_IBSS_PARAMS
      pos:
        line_end: 325
        line_start: 324
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '6'
    - item_type: preproc_def
      name: WLAN_EID_COUNTRY
      pos:
        line_end: 326
        line_start: 325
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '7'
    - item_type: preproc_def
      name: WLAN_EID_REQUEST
      pos:
        line_end: 327
        line_start: 326
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '10'
    - item_type: preproc_def
      name: WLAN_EID_BSS_LOAD
      pos:
        line_end: 328
        line_start: 327
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '11'
    - item_type: preproc_def
      name: WLAN_EID_EDCA_PARAM_SET
      pos:
        line_end: 329
        line_start: 328
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '12'
    - item_type: preproc_def
      name: WLAN_EID_TSPEC
      pos:
        line_end: 330
        line_start: 329
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '13'
    - item_type: preproc_def
      name: WLAN_EID_TCLAS
      pos:
        line_end: 331
        line_start: 330
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '14'
    - item_type: preproc_def
      name: WLAN_EID_SCHEDULE
      pos:
        line_end: 332
        line_start: 331
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '15'
    - item_type: preproc_def
      name: WLAN_EID_CHALLENGE
      pos:
        line_end: 333
        line_start: 332
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '16'
    - item_type: preproc_def
      name: WLAN_EID_PWR_CONSTRAINT
      pos:
        line_end: 334
        line_start: 333
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '32'
    - item_type: preproc_def
      name: WLAN_EID_PWR_CAPABILITY
      pos:
        line_end: 335
        line_start: 334
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '33'
    - item_type: preproc_def
      name: WLAN_EID_TPC_REQUEST
      pos:
        line_end: 336
        line_start: 335
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '34'
    - item_type: preproc_def
      name: WLAN_EID_TPC_REPORT
      pos:
        line_end: 337
        line_start: 336
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '35'
    - item_type: preproc_def
      name: WLAN_EID_SUPPORTED_CHANNELS
      pos:
        line_end: 338
        line_start: 337
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '36'
    - item_type: preproc_def
      name: WLAN_EID_CHANNEL_SWITCH
      pos:
        line_end: 339
        line_start: 338
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '37'
    - item_type: preproc_def
      name: WLAN_EID_MEASURE_REQUEST
      pos:
        line_end: 340
        line_start: 339
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '38'
    - item_type: preproc_def
      name: WLAN_EID_MEASURE_REPORT
      pos:
        line_end: 341
        line_start: 340
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '39'
    - item_type: preproc_def
      name: WLAN_EID_QUIET
      pos:
        line_end: 342
        line_start: 341
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '40'
    - item_type: preproc_def
      name: WLAN_EID_IBSS_DFS
      pos:
        line_end: 343
        line_start: 342
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '41'
    - item_type: preproc_def
      name: WLAN_EID_ERP_INFO
      pos:
        line_end: 344
        line_start: 343
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '42'
    - item_type: preproc_def
      name: WLAN_EID_TS_DELAY
      pos:
        line_end: 345
        line_start: 344
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '43'
    - item_type: preproc_def
      name: WLAN_EID_TCLAS_PROCESSING
      pos:
        line_end: 346
        line_start: 345
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '44'
    - item_type: preproc_def
      name: WLAN_EID_HT_CAP
      pos:
        line_end: 347
        line_start: 346
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '45'
    - item_type: preproc_def
      name: WLAN_EID_QOS
      pos:
        line_end: 348
        line_start: 347
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '46'
    - item_type: preproc_def
      name: WLAN_EID_RSN
      pos:
        line_end: 349
        line_start: 348
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '48'
    - item_type: preproc_def
      name: WLAN_EID_EXT_SUPP_RATES
      pos:
        line_end: 350
        line_start: 349
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '50'
    - item_type: preproc_def
      name: WLAN_EID_AP_CHANNEL_REPORT
      pos:
        line_end: 351
        line_start: 350
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '51'
    - item_type: preproc_def
      name: WLAN_EID_NEIGHBOR_REPORT
      pos:
        line_end: 352
        line_start: 351
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '52'
    - item_type: preproc_def
      name: WLAN_EID_RCPI
      pos:
        line_end: 353
        line_start: 352
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '53'
    - item_type: preproc_def
      name: WLAN_EID_MOBILITY_DOMAIN
      pos:
        line_end: 354
        line_start: 353
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '54'
    - item_type: preproc_def
      name: WLAN_EID_FAST_BSS_TRANSITION
      pos:
        line_end: 355
        line_start: 354
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '55'
    - item_type: preproc_def
      name: WLAN_EID_TIMEOUT_INTERVAL
      pos:
        line_end: 356
        line_start: 355
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '56'
    - item_type: preproc_def
      name: WLAN_EID_RIC_DATA
      pos:
        line_end: 357
        line_start: 356
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '57'
    - item_type: preproc_def
      name: WLAN_EID_DSE_REGISTERED_LOCATION
      pos:
        line_end: 358
        line_start: 357
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '58'
    - item_type: preproc_def
      name: WLAN_EID_SUPPORTED_OPERATING_CLASSES
      pos:
        line_end: 359
        line_start: 358
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '59'
    - item_type: preproc_def
      name: WLAN_EID_EXT_CHANSWITCH_ANN
      pos:
        line_end: 360
        line_start: 359
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '60'
    - item_type: preproc_def
      name: WLAN_EID_HT_OPERATION
      pos:
        line_end: 361
        line_start: 360
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '61'
    - item_type: preproc_def
      name: WLAN_EID_SECONDARY_CHANNEL_OFFSET
      pos:
        line_end: 362
        line_start: 361
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '62'
    - item_type: preproc_def
      name: WLAN_EID_BSS_AVERAGE_ACCESS_DELAY
      pos:
        line_end: 363
        line_start: 362
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '63'
    - item_type: preproc_def
      name: WLAN_EID_ANTENNA
      pos:
        line_end: 364
        line_start: 363
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '64'
    - item_type: preproc_def
      name: WLAN_EID_RSNI
      pos:
        line_end: 365
        line_start: 364
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '65'
    - item_type: preproc_def
      name: WLAN_EID_MEASUREMENT_PILOT_TRANSMISSION
      pos:
        line_end: 366
        line_start: 365
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '66'
    - item_type: preproc_def
      name: WLAN_EID_BSS_AVAILABLE_ADM_CAPA
      pos:
        line_end: 367
        line_start: 366
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '67'
    - item_type: preproc_def
      name: WLAN_EID_BSS_AC_ACCESS_DELAY
      pos:
        line_end: 368
        line_start: 367
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '68 '
    - item_type: preproc_def
      name: WLAN_EID_TIME_ADVERTISEMENT
      pos:
        line_end: 369
        line_start: 368
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '69'
    - item_type: preproc_def
      name: WLAN_EID_RRM_ENABLED_CAPABILITIES
      pos:
        line_end: 370
        line_start: 369
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '70'
    - item_type: preproc_def
      name: WLAN_EID_MULTIPLE_BSSID
      pos:
        line_end: 371
        line_start: 370
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '71'
    - item_type: preproc_def
      name: WLAN_EID_20_40_BSS_COEXISTENCE
      pos:
        line_end: 372
        line_start: 371
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '72'
    - item_type: preproc_def
      name: WLAN_EID_20_40_BSS_INTOLERANT
      pos:
        line_end: 373
        line_start: 372
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '73'
    - item_type: preproc_def
      name: WLAN_EID_OVERLAPPING_BSS_SCAN_PARAMS
      pos:
        line_end: 374
        line_start: 373
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '74'
    - item_type: preproc_def
      name: WLAN_EID_RIC_DESCRIPTOR
      pos:
        line_end: 375
        line_start: 374
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '75'
    - item_type: preproc_def
      name: WLAN_EID_MMIE
      pos:
        line_end: 376
        line_start: 375
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '76'
    - item_type: preproc_def
      name: WLAN_EID_EVENT_REQUEST
      pos:
        line_end: 377
        line_start: 376
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '78'
    - item_type: preproc_def
      name: WLAN_EID_EVENT_REPORT
      pos:
        line_end: 378
        line_start: 377
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '79'
    - item_type: preproc_def
      name: WLAN_EID_DIAGNOSTIC_REQUEST
      pos:
        line_end: 379
        line_start: 378
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '80'
    - item_type: preproc_def
      name: WLAN_EID_DIAGNOSTIC_REPORT
      pos:
        line_end: 380
        line_start: 379
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '81'
    - item_type: preproc_def
      name: WLAN_EID_LOCATION_PARAMETERS
      pos:
        line_end: 381
        line_start: 380
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '82'
    - item_type: preproc_def
      name: WLAN_EID_NONTRANSMITTED_BSSID_CAPA
      pos:
        line_end: 382
        line_start: 381
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '83'
    - item_type: preproc_def
      name: WLAN_EID_SSID_LIST
      pos:
        line_end: 383
        line_start: 382
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '84'
    - item_type: preproc_def
      name: WLAN_EID_MULTIPLE_BSSID_INDEX
      pos:
        line_end: 384
        line_start: 383
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '85'
    - item_type: preproc_def
      name: WLAN_EID_FMS_DESCRIPTOR
      pos:
        line_end: 385
        line_start: 384
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '86'
    - item_type: preproc_def
      name: WLAN_EID_FMS_REQUEST
      pos:
        line_end: 386
        line_start: 385
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '87'
    - item_type: preproc_def
      name: WLAN_EID_FMS_RESPONSE
      pos:
        line_end: 387
        line_start: 386
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '88'
    - item_type: preproc_def
      name: WLAN_EID_QOS_TRAFFIC_CAPABILITY
      pos:
        line_end: 388
        line_start: 387
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '89'
    - item_type: preproc_def
      name: WLAN_EID_BSS_MAX_IDLE_PERIOD
      pos:
        line_end: 389
        line_start: 388
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '90'
    - item_type: preproc_def
      name: WLAN_EID_TFS_REQ
      pos:
        line_end: 390
        line_start: 389
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '91'
    - item_type: preproc_def
      name: WLAN_EID_TFS_RESP
      pos:
        line_end: 391
        line_start: 390
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '92'
    - item_type: preproc_def
      name: WLAN_EID_WNMSLEEP
      pos:
        line_end: 392
        line_start: 391
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '93'
    - item_type: preproc_def
      name: WLAN_EID_TIM_BROADCAST_REQUEST
      pos:
        line_end: 393
        line_start: 392
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '94'
    - item_type: preproc_def
      name: WLAN_EID_TIM_BROADCAST_RESPONSE
      pos:
        line_end: 394
        line_start: 393
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '95'
    - item_type: preproc_def
      name: WLAN_EID_COLLOCATED_INTERFERENCE_REPORT
      pos:
        line_end: 395
        line_start: 394
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '96'
    - item_type: preproc_def
      name: WLAN_EID_CHANNEL_USAGE
      pos:
        line_end: 396
        line_start: 395
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '97'
    - item_type: preproc_def
      name: WLAN_EID_TIME_ZONE
      pos:
        line_end: 397
        line_start: 396
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '98'
    - item_type: preproc_def
      name: WLAN_EID_DMS_REQUEST
      pos:
        line_end: 398
        line_start: 397
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '99'
    - item_type: preproc_def
      name: WLAN_EID_DMS_RESPONSE
      pos:
        line_end: 399
        line_start: 398
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '100'
    - item_type: preproc_def
      name: WLAN_EID_LINK_ID
      pos:
        line_end: 400
        line_start: 399
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '101'
    - item_type: preproc_def
      name: WLAN_EID_WAKEUP_SCHEDULE
      pos:
        line_end: 401
        line_start: 400
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '102'
    - item_type: preproc_def
      name: WLAN_EID_CHANNEL_SWITCH_TIMING
      pos:
        line_end: 402
        line_start: 401
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '104'
    - item_type: preproc_def
      name: WLAN_EID_PTI_CONTROL
      pos:
        line_end: 403
        line_start: 402
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '105'
    - item_type: preproc_def
      name: WLAN_EID_TPU_BUFFER_STATUS
      pos:
        line_end: 404
        line_start: 403
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '106'
    - item_type: preproc_def
      name: WLAN_EID_INTERWORKING
      pos:
        line_end: 405
        line_start: 404
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '107'
    - item_type: preproc_def
      name: WLAN_EID_ADV_PROTO
      pos:
        line_end: 406
        line_start: 405
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '108'
    - item_type: preproc_def
      name: WLAN_EID_EXPEDITED_BANDWIDTH_REQ
      pos:
        line_end: 407
        line_start: 406
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '109'
    - item_type: preproc_def
      name: WLAN_EID_QOS_MAP_SET
      pos:
        line_end: 408
        line_start: 407
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '110'
    - item_type: preproc_def
      name: WLAN_EID_ROAMING_CONSORTIUM
      pos:
        line_end: 409
        line_start: 408
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '111'
    - item_type: preproc_def
      name: WLAN_EID_EMERGENCY_ALERT_ID
      pos:
        line_end: 410
        line_start: 409
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '112'
    - item_type: preproc_def
      name: WLAN_EID_MESH_CONFIG
      pos:
        line_end: 411
        line_start: 410
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '113'
    - item_type: preproc_def
      name: WLAN_EID_MESH_ID
      pos:
        line_end: 412
        line_start: 411
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '114'
    - item_type: preproc_def
      name: WLAN_EID_MESH_LINK_METRIC_REPORT
      pos:
        line_end: 413
        line_start: 412
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '115'
    - item_type: preproc_def
      name: WLAN_EID_CONGESTION_NOTIFICATION
      pos:
        line_end: 414
        line_start: 413
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '116'
    - item_type: preproc_def
      name: WLAN_EID_PEER_MGMT
      pos:
        line_end: 415
        line_start: 414
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '117'
    - item_type: preproc_def
      name: WLAN_EID_MESH_CHANNEL_SWITCH_PARAMETERS
      pos:
        line_end: 416
        line_start: 415
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '118'
    - item_type: preproc_def
      name: WLAN_EID_MESH_AWAKE_WINDOW
      pos:
        line_end: 417
        line_start: 416
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '119'
    - item_type: preproc_def
      name: WLAN_EID_BEACON_TIMING
      pos:
        line_end: 418
        line_start: 417
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '120'
    - item_type: preproc_def
      name: WLAN_EID_MCCAOP_SETUP_REQUEST
      pos:
        line_end: 419
        line_start: 418
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '121'
    - item_type: preproc_def
      name: WLAN_EID_MCCAOP_SETUP_REPLY
      pos:
        line_end: 420
        line_start: 419
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '122'
    - item_type: preproc_def
      name: WLAN_EID_MCCAOP_ADVERTISEMENT
      pos:
        line_end: 421
        line_start: 420
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '123'
    - item_type: preproc_def
      name: WLAN_EID_MCCAOP_TEARDOWN
      pos:
        line_end: 422
        line_start: 421
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '124'
    - item_type: preproc_def
      name: WLAN_EID_GANN
      pos:
        line_end: 423
        line_start: 422
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '125'
    - item_type: preproc_def
      name: WLAN_EID_RANN
      pos:
        line_end: 424
        line_start: 423
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '126'
    - item_type: preproc_def
      name: WLAN_EID_EXT_CAPAB
      pos:
        line_end: 425
        line_start: 424
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '127'
    - item_type: preproc_def
      name: WLAN_EID_PREQ
      pos:
        line_end: 426
        line_start: 425
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '130'
    - item_type: preproc_def
      name: WLAN_EID_PREP
      pos:
        line_end: 427
        line_start: 426
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '131'
    - item_type: preproc_def
      name: WLAN_EID_PERR
      pos:
        line_end: 428
        line_start: 427
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '132'
    - item_type: preproc_def
      name: WLAN_EID_PXU
      pos:
        line_end: 429
        line_start: 428
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '137'
    - item_type: preproc_def
      name: WLAN_EID_PXUC
      pos:
        line_end: 430
        line_start: 429
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '138'
    - item_type: preproc_def
      name: WLAN_EID_AMPE
      pos:
        line_end: 431
        line_start: 430
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '139'
    - item_type: preproc_def
      name: WLAN_EID_MIC
      pos:
        line_end: 432
        line_start: 431
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '140'
    - item_type: preproc_def
      name: WLAN_EID_DESTINATION_URI
      pos:
        line_end: 433
        line_start: 432
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '141'
    - item_type: preproc_def
      name: WLAN_EID_U_APSD_COEX
      pos:
        line_end: 434
        line_start: 433
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '142'
    - item_type: preproc_def
      name: WLAN_EID_DMG_WAKEUP_SCHEDULE
      pos:
        line_end: 435
        line_start: 434
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '143'
    - item_type: preproc_def
      name: WLAN_EID_EXTENDED_SCHEDULE
      pos:
        line_end: 436
        line_start: 435
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '144'
    - item_type: preproc_def
      name: WLAN_EID_STA_AVAILABILITY
      pos:
        line_end: 437
        line_start: 436
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '145'
    - item_type: preproc_def
      name: WLAN_EID_DMG_TSPEC
      pos:
        line_end: 438
        line_start: 437
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '146'
    - item_type: preproc_def
      name: WLAN_EID_NEXT_DMG_ATI
      pos:
        line_end: 439
        line_start: 438
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '147'
    - item_type: preproc_def
      name: WLAN_EID_DMG_CAPABILITIES
      pos:
        line_end: 440
        line_start: 439
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '148'
    - item_type: preproc_def
      name: WLAN_EID_DMG_OPERATION
      pos:
        line_end: 441
        line_start: 440
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '151'
    - item_type: preproc_def
      name: WLAN_EID_DMG_BSS_PARAMETER_CHANGE
      pos:
        line_end: 442
        line_start: 441
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '152'
    - item_type: preproc_def
      name: WLAN_EID_DMG_BEAM_REFINEMENT
      pos:
        line_end: 443
        line_start: 442
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '153'
    - item_type: preproc_def
      name: WLAN_EID_CHANNEL_MEASUREMENT_FEEDBACK
      pos:
        line_end: 444
        line_start: 443
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '154'
    - item_type: preproc_def
      name: WLAN_EID_CCKM
      pos:
        line_end: 445
        line_start: 444
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '156'
    - item_type: preproc_def
      name: WLAN_EID_AWAKE_WINDOW
      pos:
        line_end: 446
        line_start: 445
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '157'
    - item_type: preproc_def
      name: WLAN_EID_MULTI_BAND
      pos:
        line_end: 447
        line_start: 446
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '158'
    - item_type: preproc_def
      name: WLAN_EID_ADDBA_EXTENSION
      pos:
        line_end: 448
        line_start: 447
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '159'
    - item_type: preproc_def
      name: WLAN_EID_NEXTPCP_LIST
      pos:
        line_end: 449
        line_start: 448
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '160'
    - item_type: preproc_def
      name: WLAN_EID_PCP_HANDOVER
      pos:
        line_end: 450
        line_start: 449
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '161'
    - item_type: preproc_def
      name: WLAN_EID_DMG_LINK_MARGIN
      pos:
        line_end: 451
        line_start: 450
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '162'
    - item_type: preproc_def
      name: WLAN_EID_SWITCHING_STREAM
      pos:
        line_end: 452
        line_start: 451
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '163'
    - item_type: preproc_def
      name: WLAN_EID_SESSION_TRANSITION
      pos:
        line_end: 453
        line_start: 452
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '164'
    - item_type: preproc_def
      name: WLAN_EID_DYNAMIC_TONE_PAIRING_REPORT
      pos:
        line_end: 454
        line_start: 453
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '165'
    - item_type: preproc_def
      name: WLAN_EID_CLUSTER_REPORT
      pos:
        line_end: 455
        line_start: 454
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '166'
    - item_type: preproc_def
      name: WLAN_EID_REPLAY_CAPABILITIES
      pos:
        line_end: 456
        line_start: 455
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '167'
    - item_type: preproc_def
      name: WLAN_EID_RELAY_TRANSFER_PARAM_SET
      pos:
        line_end: 457
        line_start: 456
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '168'
    - item_type: preproc_def
      name: WLAN_EID_BEAMLINK_MAINTENANCE
      pos:
        line_end: 458
        line_start: 457
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '169'
    - item_type: preproc_def
      name: WLAN_EID_MULTIPLE_MAC_SUBLAYERS
      pos:
        line_end: 459
        line_start: 458
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '170'
    - item_type: preproc_def
      name: WLAN_EID_U_PID
      pos:
        line_end: 460
        line_start: 459
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '171'
    - item_type: preproc_def
      name: WLAN_EID_DMG_LINK_ADAPTATION_ACK
      pos:
        line_end: 461
        line_start: 460
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '172'
    - item_type: preproc_def
      name: WLAN_EID_MCCAOP_ADVERTISEMENT_OVERVIEW
      pos:
        line_end: 462
        line_start: 461
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '174'
    - item_type: preproc_def
      name: WLAN_EID_QUIET_PERIOD_REQUEST
      pos:
        line_end: 463
        line_start: 462
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '175'
    - item_type: preproc_def
      name: WLAN_EID_QUIET_PERIOD_RESPONSE
      pos:
        line_end: 464
        line_start: 463
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '177'
    - item_type: preproc_def
      name: WLAN_EID_QMF_POLICY
      pos:
        line_end: 465
        line_start: 464
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '181'
    - item_type: preproc_def
      name: WLAN_EID_ECAPC_POLICY
      pos:
        line_end: 466
        line_start: 465
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '182'
    - item_type: preproc_def
      name: WLAN_EID_CLUSTER_TIME_OFFSET
      pos:
        line_end: 467
        line_start: 466
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '183'
    - item_type: preproc_def
      name: WLAN_EID_INTRA_ACCESS_CATEGORY_PRIORITY
      pos:
        line_end: 468
        line_start: 467
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '184'
    - item_type: preproc_def
      name: WLAN_EID_SCS_DESCRIPTOR
      pos:
        line_end: 469
        line_start: 468
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '185'
    - item_type: preproc_def
      name: WLAN_EID_QLOAD_REPORT
      pos:
        line_end: 470
        line_start: 469
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '186'
    - item_type: preproc_def
      name: WLAN_EID_HCCA_TXOP_UPDATE_COUNT
      pos:
        line_end: 471
        line_start: 470
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '187'
    - item_type: preproc_def
      name: WLAN_EID_HIGHER_LAYER_STREAM_ID
      pos:
        line_end: 472
        line_start: 471
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '188'
    - item_type: preproc_def
      name: WLAN_EID_GCR_GROUP_ADDRESS
      pos:
        line_end: 473
        line_start: 472
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '189'
    - item_type: preproc_def
      name: WLAN_EID_ANTENNA_SECTOR_ID_PATTERN
      pos:
        line_end: 474
        line_start: 473
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '190'
    - item_type: preproc_def
      name: WLAN_EID_VHT_CAP
      pos:
        line_end: 475
        line_start: 474
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '191'
    - item_type: preproc_def
      name: WLAN_EID_VHT_OPERATION
      pos:
        line_end: 476
        line_start: 475
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '192'
    - item_type: preproc_def
      name: WLAN_EID_EXTENDED_BSS_LOAD
      pos:
        line_end: 477
        line_start: 476
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '193'
    - item_type: preproc_def
      name: WLAN_EID_WIDE_BW_CHSWITCH
      pos:
        line_end: 478
        line_start: 477
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '194'
    - item_type: preproc_def
      name: WLAN_EID_TRANSMIT_POWER_ENVELOPE
      pos:
        line_end: 479
        line_start: 478
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '195'
    - item_type: preproc_def
      name: WLAN_EID_CHANNEL_SWITCH_WRAPPER
      pos:
        line_end: 480
        line_start: 479
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '196'
    - item_type: preproc_def
      name: WLAN_EID_AID
      pos:
        line_end: 481
        line_start: 480
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '197'
    - item_type: preproc_def
      name: WLAN_EID_QUIET_CHANNEL
      pos:
        line_end: 482
        line_start: 481
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '198'
    - item_type: preproc_def
      name: WLAN_EID_OPERATING_MODE_NOTIFICATION
      pos:
        line_end: 483
        line_start: 482
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '199'
    - item_type: preproc_def
      name: WLAN_EID_UPSIM
      pos:
        line_end: 484
        line_start: 483
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '200'
    - item_type: preproc_def
      name: WLAN_EID_REDUCED_NEIGHBOR_REPORT
      pos:
        line_end: 485
        line_start: 484
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '201'
    - item_type: preproc_def
      name: WLAN_EID_TVHT_OPERATION
      pos:
        line_end: 486
        line_start: 485
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '202'
    - item_type: preproc_def
      name: WLAN_EID_DEVICE_LOCATION
      pos:
        line_end: 487
        line_start: 486
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '204'
    - item_type: preproc_def
      name: WLAN_EID_WHITE_SPACE_MAP
      pos:
        line_end: 488
        line_start: 487
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '205'
    - item_type: preproc_def
      name: WLAN_EID_FTM_PARAMETERS
      pos:
        line_end: 489
        line_start: 488
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '206'
    - item_type: preproc_def
      name: WLAN_EID_S1G_BCN_COMPAT
      pos:
        line_end: 490
        line_start: 489
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '213'
    - item_type: preproc_def
      name: WLAN_EID_TWT
      pos:
        line_end: 491
        line_start: 490
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '216'
    - item_type: preproc_def
      name: WLAN_EID_S1G_CAPABILITIES
      pos:
        line_end: 492
        line_start: 491
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '217'
    - item_type: preproc_def
      name: WLAN_EID_VENDOR_SPECIFIC
      pos:
        line_end: 493
        line_start: 492
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '221'
    - item_type: preproc_def
      name: WLAN_EID_S1G_OPERATION
      pos:
        line_end: 494
        line_start: 493
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '232'
    - item_type: preproc_def
      name: WLAN_EID_CAG_NUMBER
      pos:
        line_end: 495
        line_start: 494
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '237'
    - item_type: preproc_def
      name: WLAN_EID_AP_CSN
      pos:
        line_end: 496
        line_start: 495
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '239'
    - item_type: preproc_def
      name: WLAN_EID_FILS_INDICATION
      pos:
        line_end: 497
        line_start: 496
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '240'
    - item_type: preproc_def
      name: WLAN_EID_DILS
      pos:
        line_end: 498
        line_start: 497
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '241'
    - item_type: preproc_def
      name: WLAN_EID_FRAGMENT
      pos:
        line_end: 499
        line_start: 498
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '242'
    - item_type: preproc_def
      name: WLAN_EID_RSNX
      pos:
        line_end: 500
        line_start: 499
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '244'
    - item_type: preproc_def
      name: WLAN_EID_EXTENSION
      pos:
        line_end: 501
        line_start: 500
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '255'
    - item_type: preproc_def
      name: WLAN_EID_EXT_ASSOC_DELAY_INFO
      pos:
        line_end: 504
        line_start: 503
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: WLAN_EID_EXT_FILS_REQ_PARAMS
      pos:
        line_end: 505
        line_start: 504
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '2'
    - item_type: preproc_def
      name: WLAN_EID_EXT_FILS_KEY_CONFIRM
      pos:
        line_end: 506
        line_start: 505
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '3'
    - item_type: preproc_def
      name: WLAN_EID_EXT_FILS_SESSION
      pos:
        line_end: 507
        line_start: 506
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '4'
    - item_type: preproc_def
      name: WLAN_EID_EXT_FILS_HLP_CONTAINER
      pos:
        line_end: 508
        line_start: 507
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '5'
    - item_type: preproc_def
      name: WLAN_EID_EXT_FILS_IP_ADDR_ASSIGN
      pos:
        line_end: 509
        line_start: 508
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '6'
    - item_type: preproc_def
      name: WLAN_EID_EXT_KEY_DELIVERY
      pos:
        line_end: 510
        line_start: 509
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '7'
    - item_type: preproc_def
      name: WLAN_EID_EXT_WRAPPED_DATA
      pos:
        line_end: 511
        line_start: 510
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '8'
    - item_type: preproc_def
      name: WLAN_EID_EXT_FTM_SYNC_INFO
      pos:
        line_end: 512
        line_start: 511
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '9'
    - item_type: preproc_def
      name: WLAN_EID_EXT_EXTENDED_REQUEST
      pos:
        line_end: 513
        line_start: 512
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '10'
    - item_type: preproc_def
      name: WLAN_EID_EXT_ESTIMATED_SERVICE_PARAMS
      pos:
        line_end: 514
        line_start: 513
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '11'
    - item_type: preproc_def
      name: WLAN_EID_EXT_FILS_PUBLIC_KEY
      pos:
        line_end: 515
        line_start: 514
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '12'
    - item_type: preproc_def
      name: WLAN_EID_EXT_NONCE
      pos:
        line_end: 516
        line_start: 515
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '13'
    - item_type: preproc_def
      name: WLAN_EID_EXT_FUTURE_CHANNEL_GUIDANCE
      pos:
        line_end: 517
        line_start: 516
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '14'
    - item_type: preproc_def
      name: WLAN_EID_EXT_OWE_DH_PARAM
      pos:
        line_end: 518
        line_start: 517
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '32'
    - item_type: preproc_def
      name: WLAN_EID_EXT_PASSWORD_IDENTIFIER
      pos:
        line_end: 519
        line_start: 518
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '33'
    - item_type: preproc_def
      name: WLAN_EID_EXT_HE_CAPABILITIES
      pos:
        line_end: 520
        line_start: 519
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '35'
    - item_type: preproc_def
      name: WLAN_EID_EXT_HE_OPERATION
      pos:
        line_end: 521
        line_start: 520
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '36'
    - item_type: preproc_def
      name: WLAN_EID_EXT_HE_MU_EDCA_PARAMS
      pos:
        line_end: 522
        line_start: 521
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '38'
    - item_type: preproc_def
      name: WLAN_EID_EXT_SPATIAL_REUSE
      pos:
        line_end: 523
        line_start: 522
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '39'
    - item_type: preproc_def
      name: WLAN_EID_EXT_COLOR_CHANGE_ANNOUNCEMENT
      pos:
        line_end: 524
        line_start: 523
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '42'
    - item_type: preproc_def
      name: WLAN_EID_EXT_MAX_CHANNEL_SWITCH_TIME
      pos:
        line_end: 525
        line_start: 524
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '52'
    - item_type: preproc_def
      name: WLAN_EID_EXT_OCV_OCI
      pos:
        line_end: 526
        line_start: 525
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '54'
    - item_type: preproc_def
      name: WLAN_EID_EXT_MULTIPLE_BSSID_CONFIGURATION
      pos:
        line_end: 527
        line_start: 526
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '55'
    - item_type: preproc_def
      name: WLAN_EID_EXT_NON_INHERITANCE
      pos:
        line_end: 528
        line_start: 527
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '56'
    - item_type: preproc_def
      name: WLAN_EID_EXT_KNOWN_BSSID
      pos:
        line_end: 529
        line_start: 528
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '57'
    - item_type: preproc_def
      name: WLAN_EID_EXT_SHORT_SSID_LIST
      pos:
        line_end: 530
        line_start: 529
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '58'
    - item_type: preproc_def
      name: WLAN_EID_EXT_HE_6GHZ_BAND_CAP
      pos:
        line_end: 531
        line_start: 530
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '59'
    - item_type: preproc_def
      name: WLAN_EID_EXT_EDMG_CAPABILITIES
      pos:
        line_end: 532
        line_start: 531
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '61'
    - item_type: preproc_def
      name: WLAN_EID_EXT_EDMG_OPERATION
      pos:
        line_end: 533
        line_start: 532
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '62'
    - item_type: preproc_def
      name: WLAN_EID_EXT_MSCS_DESCRIPTOR
      pos:
        line_end: 534
        line_start: 533
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '88'
    - item_type: preproc_def
      name: WLAN_EID_EXT_TCLAS_MASK
      pos:
        line_end: 535
        line_start: 534
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '89'
    - item_type: preproc_def
      name: WLAN_EID_EXT_REJECTED_GROUPS
      pos:
        line_end: 536
        line_start: 535
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '92'
    - item_type: preproc_def
      name: WLAN_EID_EXT_ANTI_CLOGGING_TOKEN
      pos:
        line_end: 537
        line_start: 536
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '93'
    - item_type: preproc_def
      name: WLAN_EID_EXT_PASN_PARAMS
      pos:
        line_end: 538
        line_start: 537
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '100'
    - item_type: preproc_def
      name: WLAN_EID_EXT_EHT_OPERATION
      pos:
        line_end: 539
        line_start: 538
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '106'
    - item_type: preproc_def
      name: WLAN_EID_EXT_MULTI_LINK
      pos:
        line_end: 540
        line_start: 539
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '107'
    - item_type: preproc_def
      name: WLAN_EID_EXT_EHT_CAPABILITIES
      pos:
        line_end: 541
        line_start: 540
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '108'
    - item_type: preproc_def
      name: WLAN_EID_EXT_TID_TO_LINK_MAPPING
      pos:
        line_end: 542
        line_start: 541
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '109'
    - item_type: preproc_def
      name: WLAN_EID_EXT_MULTI_LINK_TRAFFIC_INDICATION
      pos:
        line_end: 543
        line_start: 542
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '110'
    - item_type: preproc_def
      name: WLAN_EID_EXT_QOS_CHARACTERISTICS
      pos:
        line_end: 544
        line_start: 543
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '113'
    - item_type: preproc_def
      name: WLAN_EID_EXT_AKM_SUITE_SELECTOR
      pos:
        line_end: 545
        line_start: 544
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '114'
    - item_type: preproc_def
      name: WLAN_EID_EXT_BANDWIDTH_INDICATION
      pos:
        line_end: 546
        line_start: 545
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '135'
    - item_type: preproc_def
      name: WLAN_EID_EXT_KNOWN_STA_IDENTIFICATION
      pos:
        line_end: 547
        line_start: 546
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '136'
    - item_type: preproc_def
      name: WLAN_EID_EXT_PASN_ENCRYPTED_DATA
      pos:
        line_end: 548
        line_start: 547
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '140'
    - item_type: preproc_def
      name: WLAN_EID_EXT_UHR_OPERATION
      pos:
        line_end: 549
        line_start: 548
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '151'
    - item_type: preproc_def
      name: WLAN_EID_EXT_UHR_CAPABILITIES
      pos:
        line_end: 550
        line_start: 549
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '152'
    - item_type: preproc_def
      name: WLAN_EID_EXT_MAPC
      pos:
        line_end: 551
        line_start: 550
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '153'
    - item_type: preproc_def
      name: WLAN_EID_EXT_SMD_INFO
      pos:
        line_end: 552
        line_start: 551
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '154'
    - item_type: preproc_def
      name: WLAN_EID_EXT_SMD_BSS_TR_PARAMS
      pos:
        line_end: 553
        line_start: 552
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '155'
    - item_type: preproc_def
      name: WLAN_EID_EXT_EXT_CHAN_USAGE
      pos:
        line_end: 554
        line_start: 553
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '156'
    - item_type: preproc_def
      name: WLAN_EID_EXT_UHR_MODE_CHANGE
      pos:
        line_end: 555
        line_start: 554
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '157'
    - item_type: preproc_def
      name: WLAN_EID_EXT_UHR_PARAMS_UPDATE
      pos:
        line_end: 556
        line_start: 555
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '158'
    - item_type: preproc_def
      name: WLAN_EID_EXT_TX_POWER_INDICATION
      pos:
        line_end: 557
        line_start: 556
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '159'
    - item_type: preproc_def
      name: WLAN_EID_EXT_SUPPORTED_GROUPS
      pos:
        line_end: 558
        line_start: 557
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '161'
    - item_type: preproc_def
      name: WLAN_EID_EXT_SECURITY_PROFILE
      pos:
        line_end: 559
        line_start: 558
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '162'
    - item_type: preproc_def
      name: WLAN_EXT_CAPAB_20_40_COEX
      pos:
        line_end: 562
        line_start: 561
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: WLAN_EXT_CAPAB_GLK
      pos:
        line_end: 563
        line_start: 562
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: WLAN_EXT_CAPAB_EXT_CHAN_SWITCH
      pos:
        line_end: 564
        line_start: 563
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '2'
    - item_type: preproc_def
      name: WLAN_EXT_CAPAB_GLK_GCR
      pos:
        line_end: 565
        line_start: 564
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '3'
    - item_type: preproc_def
      name: WLAN_EXT_CAPAB_PSMP
      pos:
        line_end: 566
        line_start: 565
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '4'
    - item_type: preproc_def
      name: WLAN_EXT_CAPAB_S_PSMP
      pos:
        line_end: 568
        line_start: 567
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '6'
    - item_type: preproc_def
      name: WLAN_EXT_CAPAB_EVENT
      pos:
        line_end: 569
        line_start: 568
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '7'
    - item_type: preproc_def
      name: WLAN_EXT_CAPAB_DIAGNOSTICS
      pos:
        line_end: 570
        line_start: 569
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '8'
    - item_type: preproc_def
      name: WLAN_EXT_CAPAB_MULTICAST_DIAGNOSTICS
      pos:
        line_end: 571
        line_start: 570
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '9'
    - item_type: preproc_def
      name: WLAN_EXT_CAPAB_LOCATION_TRACKING
      pos:
        line_end: 572
        line_start: 571
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '10'
    - item_type: preproc_def
      name: WLAN_EXT_CAPAB_FMS
      pos:
        line_end: 573
        line_start: 572
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '11'
    - item_type: preproc_def
      name: WLAN_EXT_CAPAB_PROXY_ARP
      pos:
        line_end: 574
        line_start: 573
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '12'
    - item_type: preproc_def
      name: WLAN_EXT_CAPAB_COLL_INTERF_REP
      pos:
        line_end: 575
        line_start: 574
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '13'
    - item_type: preproc_def
      name: WLAN_EXT_CAPAB_CIVIC_LOCATION
      pos:
        line_end: 576
        line_start: 575
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '14'
    - item_type: preproc_def
      name: WLAN_EXT_CAPAB_GEOSPATIAL_LOCATION
      pos:
        line_end: 577
        line_start: 576
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '15'
    - item_type: preproc_def
      name: WLAN_EXT_CAPAB_TFS
      pos:
        line_end: 578
        line_start: 577
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '16'
    - item_type: preproc_def
      name: WLAN_EXT_CAPAB_WNM_SLEEP_MODE
      pos:
        line_end: 579
        line_start: 578
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '17'
    - item_type: preproc_def
      name: WLAN_EXT_CAPAB_TIM_BROADCAST
      pos:
        line_end: 580
        line_start: 579
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '18'
    - item_type: preproc_def
      name: WLAN_EXT_CAPAB_BSS_TRANSITION
      pos:
        line_end: 581
        line_start: 580
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '19'
    - item_type: preproc_def
      name: WLAN_EXT_CAPAB_QOS_TRAFFIC
      pos:
        line_end: 582
        line_start: 581
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '20'
    - item_type: preproc_def
      name: WLAN_EXT_CAPAB_AC_STA_COUNT
      pos:
        line_end: 583
        line_start: 582
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '21'
    - item_type: preproc_def
      name: WLAN_EXT_CAPAB_MULTIPLE_BSSID
      pos:
        line_end: 584
        line_start: 583
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '22'
    - item_type: preproc_def
      name: WLAN_EXT_CAPAB_TIMING_MEASUREMENT
      pos:
        line_end: 585
        line_start: 584
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '23'
    - item_type: preproc_def
      name: WLAN_EXT_CAPAB_CHANNEL_USAGE
      pos:
        line_end: 586
        line_start: 585
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '24'
    - item_type: preproc_def
      name: WLAN_EXT_CAPAB_SSID_LIST
      pos:
        line_end: 587
        line_start: 586
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '25'
    - item_type: preproc_def
      name: WLAN_EXT_CAPAB_DMS
      pos:
        line_end: 588
        line_start: 587
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '26'
    - item_type: preproc_def
      name: WLAN_EXT_CAPAB_UTF_TSF_OFFSET
      pos:
        line_end: 589
        line_start: 588
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '27'
    - item_type: preproc_def
      name: WLAN_EXT_CAPAB_TPU_BUFFER_STA
      pos:
        line_end: 590
        line_start: 589
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '28'
    - item_type: preproc_def
      name: WLAN_EXT_CAPAB_TDLS_PEER_PSM
      pos:
        line_end: 591
        line_start: 590
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '29'
    - item_type: preproc_def
      name: WLAN_EXT_CAPAB_TDLS_CHANNEL_SWITCH
      pos:
        line_end: 592
        line_start: 591
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '30'
    - item_type: preproc_def
      name: WLAN_EXT_CAPAB_INTERWORKING
      pos:
        line_end: 593
        line_start: 592
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '31'
    - item_type: preproc_def
      name: WLAN_EXT_CAPAB_QOS_MAP
      pos:
        line_end: 594
        line_start: 593
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '32'
    - item_type: preproc_def
      name: WLAN_EXT_CAPAB_EBR
      pos:
        line_end: 595
        line_start: 594
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '33'
    - item_type: preproc_def
      name: WLAN_EXT_CAPAB_SSPN_INTERFACE
      pos:
        line_end: 596
        line_start: 595
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '34'
    - item_type: preproc_def
      name: WLAN_EXT_CAPAB_MSGCF
      pos:
        line_end: 598
        line_start: 597
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '36'
    - item_type: preproc_def
      name: WLAN_EXT_CAPAB_TDLS
      pos:
        line_end: 599
        line_start: 598
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '37'
    - item_type: preproc_def
      name: WLAN_EXT_CAPAB_TDLS_PROHIBITED
      pos:
        line_end: 600
        line_start: 599
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '38'
    - item_type: preproc_def
      name: WLAN_EXT_CAPAB_TDLS_CHANNEL_SWITCH_PROHIBITED
      pos:
        line_end: 601
        line_start: 600
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '39'
    - item_type: preproc_def
      name: WLAN_EXT_CAPAB_REJECT_UNADMITTED_FRAME
      pos:
        line_end: 602
        line_start: 601
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '40'
    - item_type: preproc_def
      name: WLAN_EXT_CAPAB_IDENTIFIER_LOCATION
      pos:
        line_end: 604
        line_start: 603
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '44'
    - item_type: preproc_def
      name: WLAN_EXT_CAPAB_U_APSD_COEX
      pos:
        line_end: 605
        line_start: 604
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '45'
    - item_type: preproc_def
      name: WLAN_EXT_CAPAB_WNM_NOTIFCATION
      pos:
        line_end: 606
        line_start: 605
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '46'
    - item_type: preproc_def
      name: WLAN_EXT_CAPAB_QAB
      pos:
        line_end: 607
        line_start: 606
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '47'
    - item_type: preproc_def
      name: WLAN_EXT_CAPAB_UTF_8_SSID
      pos:
        line_end: 608
        line_start: 607
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '48'
    - item_type: preproc_def
      name: WLAN_EXT_CAPAB_QMF
      pos:
        line_end: 609
        line_start: 608
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '49'
    - item_type: preproc_def
      name: WLAN_EXT_CAPAB_QMF_RECONFIG
      pos:
        line_end: 610
        line_start: 609
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '50'
    - item_type: preproc_def
      name: WLAN_EXT_CAPAB_ROBUST_AV_STREAMING
      pos:
        line_end: 611
        line_start: 610
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '51'
    - item_type: preproc_def
      name: WLAN_EXT_CAPAB_ADVANCED_GCR
      pos:
        line_end: 612
        line_start: 611
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '52'
    - item_type: preproc_def
      name: WLAN_EXT_CAPAB_MESH_GCR
      pos:
        line_end: 613
        line_start: 612
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '53'
    - item_type: preproc_def
      name: WLAN_EXT_CAPAB_SCS
      pos:
        line_end: 614
        line_start: 613
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '54'
    - item_type: preproc_def
      name: WLAN_EXT_CAPAB_QLOAD_REPORT
      pos:
        line_end: 615
        line_start: 614
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '55'
    - item_type: preproc_def
      name: WLAN_EXT_CAPAB_ALT_EDCA
      pos:
        line_end: 616
        line_start: 615
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '56'
    - item_type: preproc_def
      name: WLAN_EXT_CAPAB_UNPROT_TXOP_NEG
      pos:
        line_end: 617
        line_start: 616
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '57'
    - item_type: preproc_def
      name: WLAN_EXT_CAPAB_PROT_TXOP_NEG
      pos:
        line_end: 618
        line_start: 617
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '58'
    - item_type: preproc_def
      name: WLAN_EXT_CAPAB_PROT_QLOAD_REPORT
      pos:
        line_end: 620
        line_start: 619
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '60'
    - item_type: preproc_def
      name: WLAN_EXT_CAPAB_TDLS_WIDER_BW
      pos:
        line_end: 621
        line_start: 620
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '61'
    - item_type: preproc_def
      name: WLAN_EXT_CAPAB_OPMODE_NOTIF
      pos:
        line_end: 622
        line_start: 621
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '62'
    - item_type: preproc_def
      name: WLAN_EXT_CAPAB_CHANNEL_SCHEDULE_MGMT
      pos:
        line_end: 624
        line_start: 623
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '65'
    - item_type: preproc_def
      name: WLAN_EXT_CAPAB_GEODB_INBAND_ENABLING_SIGNAL
      pos:
        line_end: 625
        line_start: 624
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '66'
    - item_type: preproc_def
      name: WLAN_EXT_CAPAB_NETWORK_CHANNEL_CTRL
      pos:
        line_end: 626
        line_start: 625
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '67'
    - item_type: preproc_def
      name: WLAN_EXT_CAPAB_WHITE_SPACE_MAP
      pos:
        line_end: 627
        line_start: 626
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '68'
    - item_type: preproc_def
      name: WLAN_EXT_CAPAB_CHANNEL_AVAIL_QUERY
      pos:
        line_end: 628
        line_start: 627
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '69'
    - item_type: preproc_def
      name: WLAN_EXT_CAPAB_FTM_RESPONDER
      pos:
        line_end: 629
        line_start: 628
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '70'
    - item_type: preproc_def
      name: WLAN_EXT_CAPAB_FTM_INITIATOR
      pos:
        line_end: 630
        line_start: 629
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '71'
    - item_type: preproc_def
      name: WLAN_EXT_CAPAB_FILS
      pos:
        line_end: 631
        line_start: 630
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '72'
    - item_type: preproc_def
      name: WLAN_EXT_CAPAB_EXT_SPECTRUM_MGMT
      pos:
        line_end: 632
        line_start: 631
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '73'
    - item_type: preproc_def
      name: WLAN_EXT_CAPAB_FUTURE_CHANNEL_GUIDANCE
      pos:
        line_end: 633
        line_start: 632
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '74'
    - item_type: preproc_def
      name: WLAN_EXT_CAPAB_PAD
      pos:
        line_end: 634
        line_start: 633
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '75'
    - item_type: preproc_def
      name: WLAN_EXT_CAPAB_COMPLETE_NON_TX_BSSID_PROFILE
      pos:
        line_end: 636
        line_start: 635
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '80'
    - item_type: preproc_def
      name: WLAN_EXT_CAPAB_SAE_PW_ID
      pos:
        line_end: 637
        line_start: 636
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '81'
    - item_type: preproc_def
      name: WLAN_EXT_CAPAB_SAE_PW_ID_EXCLUSIVELY
      pos:
        line_end: 638
        line_start: 637
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '82'
    - item_type: preproc_def
      name: WLAN_EXT_CAPAB_BEACON_PROTECTION
      pos:
        line_end: 639
        line_start: 638
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '84'
    - item_type: preproc_def
      name: WLAN_EXT_CAPAB_MSCS
      pos:
        line_end: 640
        line_start: 639
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '85'
    - item_type: preproc_def
      name: WLAN_EXT_CAPAB_SAE_PK_EXCLUSIVELY
      pos:
        line_end: 641
        line_start: 640
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '88'
    - item_type: preproc_def
      name: WLAN_EXT_CAPAB_KNOWN_STA_IDENTIFICATION
      pos:
        line_end: 642
        line_start: 641
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '102'
    - item_type: preproc_def
      name: WLAN_RSNX_CAPAB_PROTECTED_TWT
      pos:
        line_end: 646
        line_start: 645
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '4'
    - item_type: preproc_def
      name: WLAN_RSNX_CAPAB_SAE_H2E
      pos:
        line_end: 647
        line_start: 646
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '5'
    - item_type: preproc_def
      name: WLAN_RSNX_CAPAB_SAE_PK
      pos:
        line_end: 648
        line_start: 647
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '6'
    - item_type: preproc_def
      name: WLAN_RSNX_CAPAB_SECURE_LTF
      pos:
        line_end: 649
        line_start: 648
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '8'
    - item_type: preproc_def
      name: WLAN_RSNX_CAPAB_SECURE_RTT
      pos:
        line_end: 650
        line_start: 649
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '9'
    - item_type: preproc_def
      name: WLAN_RSNX_CAPAB_URNM_MFPR_X20
      pos:
        line_end: 651
        line_start: 650
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '10'
    - item_type: preproc_def
      name: WLAN_RSNX_CAPAB_SPP_A_MSDU
      pos:
        line_end: 652
        line_start: 651
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '14'
    - item_type: preproc_def
      name: WLAN_RSNX_CAPAB_URNM_MFPR
      pos:
        line_end: 653
        line_start: 652
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '15'
    - item_type: preproc_def
      name: WLAN_RSNX_CAPAB_KEK_IN_PASN
      pos:
        line_end: 654
        line_start: 653
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '18'
    - item_type: preproc_def
      name: WLAN_RSNX_CAPAB_SSID_PROTECTION
      pos:
        line_end: 655
        line_start: 654
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '21'
    - item_type: preproc_def
      name: WLAN_RSNX_CAPAB_ASSOC_FRAME_ENCRYPTION
      pos:
        line_end: 656
        line_start: 655
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '27'
    - item_type: preproc_def
      name: WLAN_RSNX_CAPAB_802_1X_IN_AUTH_FRAMES
      pos:
        line_end: 657
        line_start: 656
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '28'
    - item_type: preproc_def
      name: WLAN_RSNX_CAPAB_PMKSA_CACHING_PRIVACY
      pos:
        line_end: 658
        line_start: 657
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '29'
    - item_type: preproc_def
      name: WLAN_RSNX_CAPAB_SAE_PW_ID_CHANGE
      pos:
        line_end: 659
        line_start: 658
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '34'
    - item_type: preproc_def
      name: WLAN_RSNX_CAPAB_UNAUTH_EPPKE
      pos:
        line_end: 660
        line_start: 659
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '36'
    - item_type: preproc_def
      name: WLAN_MBSSID_SUBELEMENT_NONTRANSMITTED_BSSID_PROFILE
      pos:
        line_end: 663
        line_start: 662
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: WLAN_ACTION_SPECTRUM_MGMT
      pos:
        line_end: 666
        line_start: 665
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: WLAN_ACTION_QOS
      pos:
        line_end: 667
        line_start: 666
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: WLAN_ACTION_DLS
      pos:
        line_end: 668
        line_start: 667
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '2'
    - item_type: preproc_def
      name: WLAN_ACTION_BLOCK_ACK
      pos:
        line_end: 669
        line_start: 668
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '3'
    - item_type: preproc_def
      name: WLAN_ACTION_PUBLIC
      pos:
        line_end: 670
        line_start: 669
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '4'
    - item_type: preproc_def
      name: WLAN_ACTION_RADIO_MEASUREMENT
      pos:
        line_end: 671
        line_start: 670
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '5'
    - item_type: preproc_def
      name: WLAN_ACTION_FT
      pos:
        line_end: 672
        line_start: 671
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '6'
    - item_type: preproc_def
      name: WLAN_ACTION_HT
      pos:
        line_end: 673
        line_start: 672
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '7'
    - item_type: preproc_def
      name: WLAN_ACTION_SA_QUERY
      pos:
        line_end: 674
        line_start: 673
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '8'
    - item_type: preproc_def
      name: WLAN_ACTION_PROTECTED_DUAL
      pos:
        line_end: 675
        line_start: 674
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '9'
    - item_type: preproc_def
      name: WLAN_ACTION_WNM
      pos:
        line_end: 676
        line_start: 675
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '10'
    - item_type: preproc_def
      name: WLAN_ACTION_UNPROTECTED_WNM
      pos:
        line_end: 677
        line_start: 676
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '11'
    - item_type: preproc_def
      name: WLAN_ACTION_TDLS
      pos:
        line_end: 678
        line_start: 677
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '12'
    - item_type: preproc_def
      name: WLAN_ACTION_MESH
      pos:
        line_end: 679
        line_start: 678
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '13'
    - item_type: preproc_def
      name: WLAN_ACTION_MULTIHOP
      pos:
        line_end: 680
        line_start: 679
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '14'
    - item_type: preproc_def
      name: WLAN_ACTION_SELF_PROTECTED
      pos:
        line_end: 681
        line_start: 680
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '15'
    - item_type: preproc_def
      name: WLAN_ACTION_DMG
      pos:
        line_end: 682
        line_start: 681
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '16'
    - item_type: preproc_def
      name: WLAN_ACTION_WMM
      pos:
        line_end: 683
        line_start: 682
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '17 '
    - item_type: preproc_def
      name: WLAN_ACTION_FST
      pos:
        line_end: 684
        line_start: 683
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '18'
    - item_type: preproc_def
      name: WLAN_ACTION_ROBUST_AV_STREAMING
      pos:
        line_end: 685
        line_start: 684
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '19'
    - item_type: preproc_def
      name: WLAN_ACTION_UNPROTECTED_DMG
      pos:
        line_end: 686
        line_start: 685
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '20'
    - item_type: preproc_def
      name: WLAN_ACTION_VHT
      pos:
        line_end: 687
        line_start: 686
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '21'
    - item_type: preproc_def
      name: WLAN_ACTION_UNPROTECTED_S1G
      pos:
        line_end: 688
        line_start: 687
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '22'
    - item_type: preproc_def
      name: WLAN_ACTION_S1G
      pos:
        line_end: 689
        line_start: 688
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '23'
    - item_type: preproc_def
      name: WLAN_ACTION_FLOW_CONTROL
      pos:
        line_end: 690
        line_start: 689
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '24'
    - item_type: preproc_def
      name: WLAN_ACTION_CTRL_RESP_MCS_NEG
      pos:
        line_end: 691
        line_start: 690
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '25'
    - item_type: preproc_def
      name: WLAN_ACTION_FILS
      pos:
        line_end: 692
        line_start: 691
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '26'
    - item_type: preproc_def
      name: WLAN_ACTION_CDMG
      pos:
        line_end: 693
        line_start: 692
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '27'
    - item_type: preproc_def
      name: WLAN_ACTION_CMMG
      pos:
        line_end: 694
        line_start: 693
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '28'
    - item_type: preproc_def
      name: WLAN_ACTION_GLK
      pos:
        line_end: 695
        line_start: 694
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '29'
    - item_type: preproc_def
      name: WLAN_ACTION_HE
      pos:
        line_end: 696
        line_start: 695
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '30'
    - item_type: preproc_def
      name: WLAN_ACTION_PROTECTED_HE
      pos:
        line_end: 697
        line_start: 696
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '31'
    - item_type: preproc_def
      name: WLAN_ACTION_WUR
      pos:
        line_end: 698
        line_start: 697
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '32'
    - item_type: preproc_def
      name: WLAN_ACTION_PROTECTED_FTM
      pos:
        line_end: 699
        line_start: 698
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '34'
    - item_type: preproc_def
      name: WLAN_ACTION_EHT
      pos:
        line_end: 700
        line_start: 699
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '36'
    - item_type: preproc_def
      name: WLAN_ACTION_PROTECTED_EHT
      pos:
        line_end: 701
        line_start: 700
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '37'
    - item_type: preproc_def
      name: WLAN_ACTION_PROTECTED_UHR
      pos:
        line_end: 702
        line_start: 701
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '43'
    - item_type: preproc_def
      name: WLAN_ACTION_VENDOR_SPECIFIC_PROTECTED
      pos:
        line_end: 703
        line_start: 702
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '126'
    - item_type: preproc_def
      name: WLAN_ACTION_VENDOR_SPECIFIC
      pos:
        line_end: 704
        line_start: 703
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '127'
    - item_type: preproc_def
      name: WLAN_PA_20_40_BSS_COEX
      pos:
        line_end: 708
        line_start: 707
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: WLAN_PA_DSE_ENABLEMENT
      pos:
        line_end: 709
        line_start: 708
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: WLAN_PA_DSE_DEENABLEMENT
      pos:
        line_end: 710
        line_start: 709
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '2'
    - item_type: preproc_def
      name: WLAN_PA_DSE_REG_LOCATION_ANNOUNCE
      pos:
        line_end: 711
        line_start: 710
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '3'
    - item_type: preproc_def
      name: WLAN_PA_EXT_CHANNEL_SWITCH_ANNOUNCE
      pos:
        line_end: 712
        line_start: 711
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '4'
    - item_type: preproc_def
      name: WLAN_PA_DSE_MEASUREMENT_REQ
      pos:
        line_end: 713
        line_start: 712
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '5'
    - item_type: preproc_def
      name: WLAN_PA_DSE_MEASUREMENT_RESP
      pos:
        line_end: 714
        line_start: 713
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '6'
    - item_type: preproc_def
      name: WLAN_PA_MEASUREMENT_PILOT
      pos:
        line_end: 715
        line_start: 714
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '7'
    - item_type: preproc_def
      name: WLAN_PA_DSE_POWER_CONSTRAINT
      pos:
        line_end: 716
        line_start: 715
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '8'
    - item_type: preproc_def
      name: WLAN_PA_VENDOR_SPECIFIC
      pos:
        line_end: 717
        line_start: 716
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '9'
    - item_type: preproc_def
      name: WLAN_PA_GAS_INITIAL_REQ
      pos:
        line_end: 718
        line_start: 717
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '10'
    - item_type: preproc_def
      name: WLAN_PA_GAS_INITIAL_RESP
      pos:
        line_end: 719
        line_start: 718
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '11'
    - item_type: preproc_def
      name: WLAN_PA_GAS_COMEBACK_REQ
      pos:
        line_end: 720
        line_start: 719
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '12'
    - item_type: preproc_def
      name: WLAN_PA_GAS_COMEBACK_RESP
      pos:
        line_end: 721
        line_start: 720
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '13'
    - item_type: preproc_def
      name: WLAN_TDLS_DISCOVERY_RESPONSE
      pos:
        line_end: 722
        line_start: 721
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '14'
    - item_type: preproc_def
      name: WLAN_PA_LOCATION_TRACK_NOTIFICATION
      pos:
        line_end: 723
        line_start: 722
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '15'
    - item_type: preproc_def
      name: WLAN_PA_QAB_REQUEST_FRAME
      pos:
        line_end: 724
        line_start: 723
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '16'
    - item_type: preproc_def
      name: WLAN_PA_QAB_RESPONSE_FRAME
      pos:
        line_end: 725
        line_start: 724
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '17'
    - item_type: preproc_def
      name: WLAN_PA_QMF_POLICY
      pos:
        line_end: 726
        line_start: 725
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '18'
    - item_type: preproc_def
      name: WLAN_PA_QMF_POLICY_CHANGE
      pos:
        line_end: 727
        line_start: 726
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '19'
    - item_type: preproc_def
      name: WLAN_PA_QLOAD_REQUEST
      pos:
        line_end: 728
        line_start: 727
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '20'
    - item_type: preproc_def
      name: WLAN_PA_QLOAD_REPORT
      pos:
        line_end: 729
        line_start: 728
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '21'
    - item_type: preproc_def
      name: WLAN_PA_HCCA_TXOP_ADVERTISEMENT
      pos:
        line_end: 730
        line_start: 729
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '22'
    - item_type: preproc_def
      name: WLAN_PA_HCCA_TXOP_RESPONSE
      pos:
        line_end: 731
        line_start: 730
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '23'
    - item_type: preproc_def
      name: WLAN_PA_PUBLIC_KEY
      pos:
        line_end: 732
        line_start: 731
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '24'
    - item_type: preproc_def
      name: WLAN_PA_CHANNEL_AVAILABILITY_QUERY
      pos:
        line_end: 733
        line_start: 732
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '25'
    - item_type: preproc_def
      name: WLAN_PA_CHANNEL_SCHEDULE_MANAGEMENT
      pos:
        line_end: 734
        line_start: 733
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '26'
    - item_type: preproc_def
      name: WLAN_PA_CONTACT_VERIFICATION_SIGNAL
      pos:
        line_end: 735
        line_start: 734
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '27'
    - item_type: preproc_def
      name: WLAN_PA_GDD_ENABLEMENT_REQ
      pos:
        line_end: 736
        line_start: 735
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '28'
    - item_type: preproc_def
      name: WLAN_PA_GDD_ENABLEMENT_RESP
      pos:
        line_end: 737
        line_start: 736
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '29'
    - item_type: preproc_def
      name: WLAN_PA_NETWORK_CHANNEL_CONTROL
      pos:
        line_end: 738
        line_start: 737
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '30'
    - item_type: preproc_def
      name: WLAN_PA_WHITE_SPACE_MAP_ANNOUNCEMENT
      pos:
        line_end: 739
        line_start: 738
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '31'
    - item_type: preproc_def
      name: WLAN_PA_FTM_REQUEST
      pos:
        line_end: 740
        line_start: 739
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '32'
    - item_type: preproc_def
      name: WLAN_PA_FTM
      pos:
        line_end: 741
        line_start: 740
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '33'
    - item_type: preproc_def
      name: WLAN_PA_FILS_DISCOVERY
      pos:
        line_end: 742
        line_start: 741
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '34'
    - item_type: preproc_def
      name: WLAN_PA_LOCATION_MEASUREMENT_REPORT
      pos:
        line_end: 743
        line_start: 742
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '47'
    - item_type: preproc_def
      name: WLAN_HT_ACTION_NOTIFY_CHANWIDTH
      pos:
        line_end: 746
        line_start: 745
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: WLAN_HT_ACTION_SMPS
      pos:
        line_end: 747
        line_start: 746
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: WLAN_HT_ACTION_CSI
      pos:
        line_end: 748
        line_start: 747
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '4'
    - item_type: preproc_def
      name: WLAN_HT_ACTION_NONCOMPRESSED_BF
      pos:
        line_end: 749
        line_start: 748
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '5'
    - item_type: preproc_def
      name: WLAN_HT_ACTION_COMPRESSED_BF
      pos:
        line_end: 750
        line_start: 749
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '6'
    - item_type: preproc_def
      name: WLAN_HT_ACTION_ASEL_IDX_FEEDBACK
      pos:
        line_end: 751
        line_start: 750
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '7'
    - item_type: preproc_def
      name: WLAN_VHT_ACTION_COMPRESSED_BF
      pos:
        line_end: 754
        line_start: 753
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: WLAN_VHT_ACTION_GROUP_ID_MGMT
      pos:
        line_end: 755
        line_start: 754
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: WLAN_VHT_ACTION_OPMODE_NOTIF
      pos:
        line_end: 756
        line_start: 755
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '2'
    - item_type: preproc_def
      name: WLAN_PROT_DSE_ENABLEMENT
      pos:
        line_end: 760
        line_start: 759
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: WLAN_PROT_DSE_DEENABLEMENT
      pos:
        line_end: 761
        line_start: 760
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '2'
    - item_type: preproc_def
      name: WLAN_PROT_EXT_CSA
      pos:
        line_end: 762
        line_start: 761
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '4'
    - item_type: preproc_def
      name: WLAN_PROT_MEASUREMENT_REQ
      pos:
        line_end: 763
        line_start: 762
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '5'
    - item_type: preproc_def
      name: WLAN_PROT_MEASUREMENT_REPORT
      pos:
        line_end: 764
        line_start: 763
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '6'
    - item_type: preproc_def
      name: WLAN_PROT_DSE_POWER_CONSTRAINT
      pos:
        line_end: 765
        line_start: 764
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '8'
    - item_type: preproc_def
      name: WLAN_PROT_VENDOR_SPECIFIC
      pos:
        line_end: 766
        line_start: 765
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '9'
    - item_type: preproc_def
      name: WLAN_PROT_GAS_INITIAL_REQ
      pos:
        line_end: 767
        line_start: 766
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '10'
    - item_type: preproc_def
      name: WLAN_PROT_GAS_INITIAL_RESP
      pos:
        line_end: 768
        line_start: 767
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '11'
    - item_type: preproc_def
      name: WLAN_PROT_GAS_COMEBACK_REQ
      pos:
        line_end: 769
        line_start: 768
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '12'
    - item_type: preproc_def
      name: WLAN_PROT_GAS_COMEBACK_RESP
      pos:
        line_end: 770
        line_start: 769
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '13'
    - item_type: preproc_def
      name: WLAN_PROT_QAB_REQUEST_FRAME
      pos:
        line_end: 771
        line_start: 770
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '16'
    - item_type: preproc_def
      name: WLAN_PROT_QAB_RESPONSE_FRAME
      pos:
        line_end: 772
        line_start: 771
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '17'
    - item_type: preproc_def
      name: WLAN_PROT_QMF_POLICY
      pos:
        line_end: 773
        line_start: 772
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '18'
    - item_type: preproc_def
      name: WLAN_PROT_QMF_POLICY_CHANGE
      pos:
        line_end: 774
        line_start: 773
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '19'
    - item_type: preproc_def
      name: WLAN_PROT_QLOAD_REQUEST
      pos:
        line_end: 775
        line_start: 774
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '20'
    - item_type: preproc_def
      name: WLAN_PROT_QLOAD_REPORT
      pos:
        line_end: 776
        line_start: 775
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '21'
    - item_type: preproc_def
      name: WLAN_PROT_HCCA_TXOP_ADVERTISEMENT
      pos:
        line_end: 777
        line_start: 776
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '22'
    - item_type: preproc_def
      name: WLAN_PROT_HCCA_TXOP_RESPONSE
      pos:
        line_end: 778
        line_start: 777
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '23'
    - item_type: preproc_def
      name: WLAN_PROT_CHANNEL_AVAILABILITY_QUERY
      pos:
        line_end: 779
        line_start: 778
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '25'
    - item_type: preproc_def
      name: WLAN_PROT_CHANNEL_SCHEDULE_MANAGEMENT
      pos:
        line_end: 780
        line_start: 779
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '26'
    - item_type: preproc_def
      name: WLAN_PROT_CONTACT_VERIFICATION_SIGNAL
      pos:
        line_end: 781
        line_start: 780
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '27'
    - item_type: preproc_def
      name: WLAN_PROT_GDD_ENABLEMENT_REQ
      pos:
        line_end: 782
        line_start: 781
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '28'
    - item_type: preproc_def
      name: WLAN_PROT_GDD_ENABLEMENT_RESP
      pos:
        line_end: 783
        line_start: 782
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '29'
    - item_type: preproc_def
      name: WLAN_PROT_NETWORK_CHANNEL_CONTROL
      pos:
        line_end: 784
        line_start: 783
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '30'
    - item_type: preproc_def
      name: WLAN_PROT_WHITE_SPACE_MAP_ANNOUNCEMENT
      pos:
        line_end: 785
        line_start: 784
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '31'
    - item_type: preproc_def
      name: WLAN_SA_QUERY_REQUEST
      pos:
        line_end: 788
        line_start: 787
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: WLAN_SA_QUERY_RESPONSE
      pos:
        line_end: 789
        line_start: 788
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: WLAN_SA_QUERY_TR_ID_LEN
      pos:
        line_end: 791
        line_start: 790
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '2'
    - item_type: preproc_def
      name: WLAN_TDLS_SETUP_REQUEST
      pos:
        line_end: 794
        line_start: 793
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: WLAN_TDLS_SETUP_RESPONSE
      pos:
        line_end: 795
        line_start: 794
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: WLAN_TDLS_SETUP_CONFIRM
      pos:
        line_end: 796
        line_start: 795
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '2'
    - item_type: preproc_def
      name: WLAN_TDLS_TEARDOWN
      pos:
        line_end: 797
        line_start: 796
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '3'
    - item_type: preproc_def
      name: WLAN_TDLS_PEER_TRAFFIC_INDICATION
      pos:
        line_end: 798
        line_start: 797
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '4'
    - item_type: preproc_def
      name: WLAN_TDLS_CHANNEL_SWITCH_REQUEST
      pos:
        line_end: 799
        line_start: 798
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '5'
    - item_type: preproc_def
      name: WLAN_TDLS_CHANNEL_SWITCH_RESPONSE
      pos:
        line_end: 800
        line_start: 799
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '6'
    - item_type: preproc_def
      name: WLAN_TDLS_PEER_PSM_REQUEST
      pos:
        line_end: 801
        line_start: 800
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '7'
    - item_type: preproc_def
      name: WLAN_TDLS_PEER_PSM_RESPONSE
      pos:
        line_end: 802
        line_start: 801
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '8'
    - item_type: preproc_def
      name: WLAN_TDLS_PEER_TRAFFIC_RESPONSE
      pos:
        line_end: 803
        line_start: 802
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '9'
    - item_type: preproc_def
      name: WLAN_TDLS_DISCOVERY_REQUEST
      pos:
        line_end: 804
        line_start: 803
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '10'
    - item_type: preproc_def
      name: WLAN_RRM_RADIO_MEASUREMENT_REQUEST
      pos:
        line_end: 807
        line_start: 806
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: WLAN_RRM_RADIO_MEASUREMENT_REPORT
      pos:
        line_end: 808
        line_start: 807
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: WLAN_RRM_LINK_MEASUREMENT_REQUEST
      pos:
        line_end: 809
        line_start: 808
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '2'
    - item_type: preproc_def
      name: WLAN_RRM_LINK_MEASUREMENT_REPORT
      pos:
        line_end: 810
        line_start: 809
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '3'
    - item_type: preproc_def
      name: WLAN_RRM_NEIGHBOR_REPORT_REQUEST
      pos:
        line_end: 811
        line_start: 810
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '4'
    - item_type: preproc_def
      name: WLAN_RRM_NEIGHBOR_REPORT_RESPONSE
      pos:
        line_end: 812
        line_start: 811
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '5'
    - item_type: preproc_def
      name: WLAN_PROT_FTM_REQUEST
      pos:
        line_end: 815
        line_start: 814
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: WLAN_PROT_FTM
      pos:
        line_end: 816
        line_start: 815
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '2'
    - item_type: preproc_def
      name: WLAN_PROT_FTM_REPORT
      pos:
        line_end: 817
        line_start: 816
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '3'
    - item_type: preproc_def
      name: WLAN_PROT_EHT_T2L_MAPPING_REQUEST
      pos:
        line_end: 820
        line_start: 819
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: WLAN_PROT_EHT_T2L_MAPPING_RESPONSE
      pos:
        line_end: 821
        line_start: 820
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: WLAN_PROT_EHT_T2L_MAPPING_TEARDOWN
      pos:
        line_end: 822
        line_start: 821
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '2'
    - item_type: preproc_def
      name: WLAN_PROT_EHT_EPCS_ENABLE_REQUEST
      pos:
        line_end: 823
        line_start: 822
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '3'
    - item_type: preproc_def
      name: WLAN_PROT_EHT_EPCS_ENABLE_RESPONSE
      pos:
        line_end: 824
        line_start: 823
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '4'
    - item_type: preproc_def
      name: WLAN_PROT_EHT_EPCS_ENABLE_TEARDOWN
      pos:
        line_end: 825
        line_start: 824
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '5'
    - item_type: preproc_def
      name: WLAN_PROT_EHT_EML_OPMODE_NOTIF
      pos:
        line_end: 826
        line_start: 825
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '6'
    - item_type: preproc_def
      name: WLAN_PROT_EHT_LINK_RECOMMENDATION
      pos:
        line_end: 827
        line_start: 826
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '7'
    - item_type: preproc_def
      name: WLAN_PROT_EHT_MLO_UPDATE_REQUEST
      pos:
        line_end: 828
        line_start: 827
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '8'
    - item_type: preproc_def
      name: WLAN_PROT_EHT_MLO_UPDATE_RESPONSE
      pos:
        line_end: 829
        line_start: 828
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '9'
    - item_type: preproc_def
      name: WLAN_PROT_EHT_LINK_RECONFIG_NOTIFY
      pos:
        line_end: 830
        line_start: 829
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '10'
    - item_type: preproc_def
      name: WLAN_PROT_EHT_LINK_RECONFIG_REQUEST
      pos:
        line_end: 831
        line_start: 830
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '11'
    - item_type: preproc_def
      name: WLAN_PROT_EHT_LINK_RECONFIG_RESPONSE
      pos:
        line_end: 832
        line_start: 831
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '12'
    - item_type: preproc_def
      name: WLAN_RRM_CAPS_LINK_MEASUREMENT
      pos:
        line_end: 837
        line_start: 836
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: WLAN_RRM_CAPS_NEIGHBOR_REPORT
      pos:
        line_end: 838
        line_start: 837
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: WLAN_RRM_CAPS_BEACON_REPORT_PASSIVE
      pos:
        line_end: 839
        line_start: 838
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(4)
    - item_type: preproc_def
      name: WLAN_RRM_CAPS_BEACON_REPORT_ACTIVE
      pos:
        line_end: 840
        line_start: 839
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(5)
    - item_type: preproc_def
      name: WLAN_RRM_CAPS_BEACON_REPORT_TABLE
      pos:
        line_end: 841
        line_start: 840
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(6)
    - item_type: preproc_def
      name: WLAN_RRM_CAPS_LCI_MEASUREMENT
      pos:
        line_end: 843
        line_start: 842
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(4)
    - item_type: preproc_def
      name: WLAN_RRM_CAPS_FTM_RANGE_REPORT
      pos:
        line_end: 845
        line_start: 844
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(2)
    - item_type: preproc_def
      name: WLAN_RRM_CAPS_CIVIC_LOCATION_MEASUREMENT
      pos:
        line_end: 846
        line_start: 845
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(3)
    - item_type: preproc_def
      name: WLAN_RRM_RANGE_REQ_MAX_MIN_AP
      pos:
        line_end: 852
        line_start: 851
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '15'
    - item_type: preproc_def
      name: WLAN_TIMEOUT_REASSOC_DEADLINE
      pos:
        line_end: 855
        line_start: 854
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: WLAN_TIMEOUT_KEY_LIFETIME
      pos:
        line_end: 856
        line_start: 855
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '2'
    - item_type: preproc_def
      name: WLAN_TIMEOUT_ASSOC_COMEBACK
      pos:
        line_end: 857
        line_start: 856
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '3'
    - item_type: preproc_def
      name: INTERWORKING_ANO_ACCESS_NETWORK_MASK
      pos:
        line_end: 861
        line_start: 860
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x0f'
    - item_type: preproc_def
      name: INTERWORKING_ANO_INTERNET
      pos:
        line_end: 862
        line_start: 861
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x10'
    - item_type: preproc_def
      name: INTERWORKING_ANO_ASRA
      pos:
        line_end: 863
        line_start: 862
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x20'
    - item_type: preproc_def
      name: INTERWORKING_ANO_ESR
      pos:
        line_end: 864
        line_start: 863
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x40'
    - item_type: preproc_def
      name: INTERWORKING_ANO_UESA
      pos:
        line_end: 865
        line_start: 864
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x80'
    - item_type: preproc_def
      name: INTERWORKING_ANT_PRIVATE
      pos:
        line_end: 867
        line_start: 866
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: INTERWORKING_ANT_PRIVATE_WITH_GUEST
      pos:
        line_end: 868
        line_start: 867
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: INTERWORKING_ANT_CHARGEABLE_PUBLIC
      pos:
        line_end: 869
        line_start: 868
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '2'
    - item_type: preproc_def
      name: INTERWORKING_ANT_FREE_PUBLIC
      pos:
        line_end: 870
        line_start: 869
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '3'
    - item_type: preproc_def
      name: INTERWORKING_ANT_PERSONAL_DEVICE
      pos:
        line_end: 871
        line_start: 870
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '4'
    - item_type: preproc_def
      name: INTERWORKING_ANT_EMERGENCY_SERVICES
      pos:
        line_end: 872
        line_start: 871
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '5'
    - item_type: preproc_def
      name: INTERWORKING_ANT_TEST
      pos:
        line_end: 873
        line_start: 872
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '6'
    - item_type: preproc_def
      name: INTERWORKING_ANT_WILDCARD
      pos:
        line_end: 874
        line_start: 873
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '15'
    - item_type: preproc_def
      name: S1G_ACT_AID_SWITCH_REQUEST
      pos:
        line_end: 948
        line_start: 947
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: S1G_ACT_AID_SWITCH_RESPONSE
      pos:
        line_end: 949
        line_start: 948
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: S1G_ACT_SYNC_CONTROL
      pos:
        line_end: 950
        line_start: 949
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '2'
    - item_type: preproc_def
      name: S1G_ACT_STA_INFO_ANNOUNCE
      pos:
        line_end: 951
        line_start: 950
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '3'
    - item_type: preproc_def
      name: S1G_ACT_EDCA_PARAM_SET
      pos:
        line_end: 952
        line_start: 951
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '4'
    - item_type: preproc_def
      name: S1G_ACT_EL_OPERATION
      pos:
        line_end: 953
        line_start: 952
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '5'
    - item_type: preproc_def
      name: S1G_ACT_TWT_SETUP
      pos:
        line_end: 954
        line_start: 953
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '6'
    - item_type: preproc_def
      name: S1G_ACT_TWT_TEARDOWN
      pos:
        line_end: 955
        line_start: 954
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '7'
    - item_type: preproc_def
      name: S1G_ACT_SECT_GROUP_ID_LIST
      pos:
        line_end: 956
        line_start: 955
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '8'
    - item_type: preproc_def
      name: S1G_ACT_SECT_ID_FEEDBACK
      pos:
        line_end: 957
        line_start: 956
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '9'
    - item_type: preproc_def
      name: S1G_ACT_TWT_INFORMATION
      pos:
        line_end: 958
        line_start: 957
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '11'
    - item_type: preproc_def
      name: NONCE_LEN
      pos:
        line_end: 1002
        line_start: 1001
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '16'
    - item_type: preproc_def
      name: FILS_SESSION_LEN
      pos:
        line_end: 1003
        line_start: 1002
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '8'
    - item_type: preproc_def
      name: FILS_CACHE_ID_LEN
      pos:
        line_end: 1004
        line_start: 1003
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '2'
    - item_type: preproc_def
      name: FILS_MAX_KEY_AUTH_LEN
      pos:
        line_end: 1005
        line_start: 1004
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '48'
    - item_type: preproc_def
      name: IEEE80211_DA_FROMDS
      pos:
        line_end: 1022
        line_start: 1021
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: addr1
    - item_type: preproc_def
      name: IEEE80211_BSSID_FROMDS
      pos:
        line_end: 1023
        line_start: 1022
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: addr2
    - item_type: preproc_def
      name: IEEE80211_SA_FROMDS
      pos:
        line_end: 1024
        line_start: 1023
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: addr3
    - item_type: preproc_def
      name: IEEE80211_HDRLEN
      pos:
        line_end: 1026
        line_start: 1025
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: (sizeof(struct ieee80211_hdr))
    - item_type: preproc_def
      name: IEEE80211_HDRLEN_S1G_BEACON
      pos:
        line_end: 1043
        line_start: 1042
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: (sizeof(struct ieee80211_hdr_s1g_beacon))
    - item_type: preproc_def
      name: IEEE80211_MAX_MMPDU_SIZE
      pos:
        line_end: 1255
        line_start: 1254
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '2304'
    - item_type: preproc_def
      name: IEEE80211_HT_MCS_MASK_LEN
      pos:
        line_end: 1258
        line_start: 1257
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '10'
    - item_type: preproc_def
      name: ERP_INFO_NON_ERP_PRESENT
      pos:
        line_end: 1327
        line_start: 1326
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: ERP_INFO_USE_PROTECTION
      pos:
        line_end: 1328
        line_start: 1327
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: ERP_INFO_BARKER_PREAMBLE_MODE
      pos:
        line_end: 1329
        line_start: 1328
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(2)
    - item_type: preproc_def
      name: OVERLAPPING_BSS_TRANS_DELAY_FACTOR
      pos:
        line_end: 1331
        line_start: 1330
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '5'
    - item_type: preproc_def
      name: HT_CAP_INFO_LDPC_CODING_CAP
      pos:
        line_end: 1334
        line_start: 1333
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u16) BIT(0))
    - item_type: preproc_def
      name: HT_CAP_INFO_SUPP_CHANNEL_WIDTH_SET
      pos:
        line_end: 1335
        line_start: 1334
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u16) BIT(1))
    - item_type: preproc_def
      name: HT_CAP_INFO_SMPS_MASK
      pos:
        line_end: 1336
        line_start: 1335
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u16) (BIT(2) | BIT(3)))
    - item_type: preproc_def
      name: HT_CAP_INFO_SMPS_STATIC
      pos:
        line_end: 1337
        line_start: 1336
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u16) 0)
    - item_type: preproc_def
      name: HT_CAP_INFO_SMPS_DYNAMIC
      pos:
        line_end: 1338
        line_start: 1337
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u16) BIT(2))
    - item_type: preproc_def
      name: HT_CAP_INFO_SMPS_DISABLED
      pos:
        line_end: 1339
        line_start: 1338
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u16) (BIT(2) | BIT(3)))
    - item_type: preproc_def
      name: HT_CAP_INFO_GREEN_FIELD
      pos:
        line_end: 1340
        line_start: 1339
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u16) BIT(4))
    - item_type: preproc_def
      name: HT_CAP_INFO_SHORT_GI20MHZ
      pos:
        line_end: 1341
        line_start: 1340
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u16) BIT(5))
    - item_type: preproc_def
      name: HT_CAP_INFO_SHORT_GI40MHZ
      pos:
        line_end: 1342
        line_start: 1341
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u16) BIT(6))
    - item_type: preproc_def
      name: HT_CAP_INFO_TX_STBC
      pos:
        line_end: 1343
        line_start: 1342
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u16) BIT(7))
    - item_type: preproc_def
      name: HT_CAP_INFO_RX_STBC_MASK
      pos:
        line_end: 1344
        line_start: 1343
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u16) (BIT(8) | BIT(9)))
    - item_type: preproc_def
      name: HT_CAP_INFO_RX_STBC_1
      pos:
        line_end: 1345
        line_start: 1344
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u16) BIT(8))
    - item_type: preproc_def
      name: HT_CAP_INFO_RX_STBC_12
      pos:
        line_end: 1346
        line_start: 1345
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u16) BIT(9))
    - item_type: preproc_def
      name: HT_CAP_INFO_RX_STBC_123
      pos:
        line_end: 1347
        line_start: 1346
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u16) (BIT(8) | BIT(9)))
    - item_type: preproc_def
      name: HT_CAP_INFO_DELAYED_BA
      pos:
        line_end: 1348
        line_start: 1347
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u16) BIT(10))
    - item_type: preproc_def
      name: HT_CAP_INFO_MAX_AMSDU_SIZE
      pos:
        line_end: 1349
        line_start: 1348
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u16) BIT(11))
    - item_type: preproc_def
      name: HT_CAP_INFO_DSSS_CCK40MHZ
      pos:
        line_end: 1350
        line_start: 1349
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u16) BIT(12))
    - item_type: preproc_def
      name: HT_CAP_INFO_40MHZ_INTOLERANT
      pos:
        line_end: 1352
        line_start: 1351
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u16) BIT(14))
    - item_type: preproc_def
      name: HT_CAP_INFO_LSIG_TXOP_PROTECT_SUPPORT
      pos:
        line_end: 1353
        line_start: 1352
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u16) BIT(15))
    - item_type: preproc_def
      name: EXT_HT_CAP_INFO_PCO
      pos:
        line_end: 1356
        line_start: 1355
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u16) BIT(0))
    - item_type: preproc_def
      name: EXT_HT_CAP_INFO_PCO_TRANS_TIME_MASK
      pos:
        line_end: 1357
        line_start: 1356
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u16) (BIT(1) | BIT(2)))
    - item_type: preproc_def
      name: EXT_HT_CAP_INFO_TRANS_TIME_OFFSET
      pos:
        line_end: 1358
        line_start: 1357
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: EXT_HT_CAP_INFO_MCS_FEEDBACK_MASK
      pos:
        line_end: 1360
        line_start: 1359
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u16) (BIT(8) | BIT(9)))
    - item_type: preproc_def
      name: EXT_HT_CAP_INFO_MCS_FEEDBACK_OFFSET
      pos:
        line_end: 1361
        line_start: 1360
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '8'
    - item_type: preproc_def
      name: EXT_HT_CAP_INFO_HTC_SUPPORT
      pos:
        line_end: 1362
        line_start: 1361
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u16) BIT(10))
    - item_type: preproc_def
      name: EXT_HT_CAP_INFO_RD_RESPONDER
      pos:
        line_end: 1363
        line_start: 1362
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u16) BIT(11))
    - item_type: preproc_def
      name: TX_BF_CAP_IMPLICIT_TXBF_RX_CAP
      pos:
        line_end: 1367
        line_start: 1366
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u32) BIT(0))
    - item_type: preproc_def
      name: TX_BF_CAP_RX_STAGGERED_SOUNDING_CAP
      pos:
        line_end: 1368
        line_start: 1367
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u32) BIT(1))
    - item_type: preproc_def
      name: TX_BF_CAP_TX_STAGGERED_SOUNDING_CAP
      pos:
        line_end: 1369
        line_start: 1368
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u32) BIT(2))
    - item_type: preproc_def
      name: TX_BF_CAP_RX_NDP_CAP
      pos:
        line_end: 1370
        line_start: 1369
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u32) BIT(3))
    - item_type: preproc_def
      name: TX_BF_CAP_TX_NDP_CAP
      pos:
        line_end: 1371
        line_start: 1370
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u32) BIT(4))
    - item_type: preproc_def
      name: TX_BF_CAP_IMPLICIT_TX_BF_CAP
      pos:
        line_end: 1372
        line_start: 1371
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u32) BIT(5))
    - item_type: preproc_def
      name: TX_BF_CAP_CALIBRATION_MASK
      pos:
        line_end: 1373
        line_start: 1372
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u32) (BIT(6) | BIT(7))
    - item_type: preproc_def
      name: TX_BF_CAP_CALIB_OFFSET
      pos:
        line_end: 1374
        line_start: 1373
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '6'
    - item_type: preproc_def
      name: TX_BF_CAP_EXPLICIT_CSI_TXBF_CAP
      pos:
        line_end: 1375
        line_start: 1374
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u32) BIT(8))
    - item_type: preproc_def
      name: TX_BF_CAP_EXPLICIT_NONCOMPR_STEERING_CAP
      pos:
        line_end: 1376
        line_start: 1375
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u32) BIT(9))
    - item_type: preproc_def
      name: TX_BF_CAP_EXPLICIT_COMPR_STEERING_CAP
      pos:
        line_end: 1377
        line_start: 1376
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u32) BIT(10))
    - item_type: preproc_def
      name: TX_BF_CAP_EXPLICIT_TX_BF_CSI_FEEDBACK_MASK
      pos:
        line_end: 1378
        line_start: 1377
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u32) (BIT(10) | BIT(11)))
    - item_type: preproc_def
      name: TX_BF_CAP_EXPLICIT_BF_CSI_FEEDBACK_OFFSET
      pos:
        line_end: 1379
        line_start: 1378
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '11'
    - item_type: preproc_def
      name: TX_BF_CAP_EXPLICIT_UNCOMPR_STEERING_MATRIX_FEEDBACK_OFFSET
      pos:
        line_end: 1380
        line_start: 1379
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '13'
    - item_type: preproc_def
      name: TX_BF_CAP_EXPLICIT_COMPRESSED_STEERING_MATRIX_FEEDBACK_OFFSET
      pos:
        line_end: 1381
        line_start: 1380
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '15'
    - item_type: preproc_def
      name: TX_BF_CAP_MINIMAL_GROUPING_OFFSET
      pos:
        line_end: 1382
        line_start: 1381
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '17'
    - item_type: preproc_def
      name: TX_BF_CAP_CSI_NUM_BEAMFORMER_ANT_OFFSET
      pos:
        line_end: 1383
        line_start: 1382
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '19'
    - item_type: preproc_def
      name: TX_BF_CAP_UNCOMPRESSED_STEERING_MATRIX_BEAMFORMER_ANT_OFFSET
      pos:
        line_end: 1384
        line_start: 1383
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '21'
    - item_type: preproc_def
      name: TX_BF_CAP_COMPRESSED_STEERING_MATRIX_BEAMFORMER_ANT_OFFSET
      pos:
        line_end: 1385
        line_start: 1384
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '23'
    - item_type: preproc_def
      name: TX_BF_CAP_SCI_MAX_OF_ROWS_BEANFORMER_SUPPORTED_OFFSET
      pos:
        line_end: 1386
        line_start: 1385
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '25'
    - item_type: preproc_def
      name: TX_BF_CAP_CHANNEL_ESTIMATION_CAP_MASK
      pos:
        line_end: 1387
        line_start: 1386
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u32) (BIT(27) | BIT(28)))
    - item_type: preproc_def
      name: TX_BF_CAP_CHANNEL_ESTIMATION_CAP_OFFSET
      pos:
        line_end: 1388
        line_start: 1387
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '27'
    - item_type: preproc_def
      name: ASEL_CAP_ASEL_CAPABLE
      pos:
        line_end: 1392
        line_start: 1391
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u8) BIT(0))
    - item_type: preproc_def
      name: ASEL_CAP_EXPLICIT_CSI_FEEDBACK_BASED_TX_AS_CAP
      pos:
        line_end: 1393
        line_start: 1392
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u8) BIT(1))
    - item_type: preproc_def
      name: ASEL_CAP_ANT_INDICES_FEEDBACK_BASED_TX_AS_CAP
      pos:
        line_end: 1394
        line_start: 1393
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u8) BIT(2))
    - item_type: preproc_def
      name: ASEL_CAP_EXPLICIT_CSI_FEEDBACK_CAP
      pos:
        line_end: 1395
        line_start: 1394
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u8) BIT(3))
    - item_type: preproc_def
      name: ASEL_CAP_ANT_INDICES_FEEDBACK_CAP
      pos:
        line_end: 1396
        line_start: 1395
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u8) BIT(4))
    - item_type: preproc_def
      name: ASEL_CAP_RX_AS_CAP
      pos:
        line_end: 1397
        line_start: 1396
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u8) BIT(5))
    - item_type: preproc_def
      name: ASEL_CAP_TX_SOUNDING_PPDUS_CAP
      pos:
        line_end: 1398
        line_start: 1397
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u8) BIT(6))
    - item_type: preproc_def
      name: HT_INFO_HT_PARAM_SECONDARY_CHNL_OFF_MASK
      pos:
        line_end: 1402
        line_start: 1401
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u8) BIT(0) | BIT(1))
    - item_type: preproc_def
      name: HT_INFO_HT_PARAM_SECONDARY_CHNL_ABOVE
      pos:
        line_end: 1403
        line_start: 1402
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u8) BIT(0))
    - item_type: preproc_def
      name: HT_INFO_HT_PARAM_SECONDARY_CHNL_BELOW
      pos:
        line_end: 1404
        line_start: 1403
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u8) BIT(0) | BIT(1))
    - item_type: preproc_def
      name: HT_INFO_HT_PARAM_STA_CHNL_WIDTH
      pos:
        line_end: 1405
        line_start: 1404
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u8) BIT(2))
    - item_type: preproc_def
      name: HT_INFO_HT_PARAM_RIFS_MODE
      pos:
        line_end: 1406
        line_start: 1405
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u8) BIT(3))
    - item_type: preproc_def
      name: HT_PROT_NO_PROTECTION
      pos:
        line_end: 1410
        line_start: 1409
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: HT_PROT_NONMEMBER_PROTECTION
      pos:
        line_end: 1411
        line_start: 1410
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HT_PROT_20MHZ_PROTECTION
      pos:
        line_end: 1412
        line_start: 1411
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '2'
    - item_type: preproc_def
      name: HT_PROT_NON_HT_MIXED
      pos:
        line_end: 1413
        line_start: 1412
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '3'
    - item_type: preproc_def
      name: HT_OPER_OP_MODE_HT_PROT_MASK
      pos:
        line_end: 1416
        line_start: 1415
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '((u16) (BIT(0) | BIT(1))) '
    - item_type: preproc_def
      name: HT_OPER_OP_MODE_NON_GF_HT_STAS_PRESENT
      pos:
        line_end: 1417
        line_start: 1416
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '((u16) BIT(2)) '
    - item_type: preproc_def
      name: HT_OPER_OP_MODE_OBSS_NON_HT_STAS_PRESENT
      pos:
        line_end: 1419
        line_start: 1418
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '((u16) BIT(4)) '
    - item_type: preproc_def
      name: HT_OPER_PARAM_DUAL_BEACON
      pos:
        line_end: 1424
        line_start: 1423
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u16) BIT(6))
    - item_type: preproc_def
      name: HT_OPER_PARAM_DUAL_CTS_PROTECTION
      pos:
        line_end: 1425
        line_start: 1424
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u16) BIT(7))
    - item_type: preproc_def
      name: HT_OPER_PARAM_STBC_BEACON
      pos:
        line_end: 1426
        line_start: 1425
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u16) BIT(8))
    - item_type: preproc_def
      name: HT_OPER_PARAM_LSIG_TXOP_PROT_FULL_SUPP
      pos:
        line_end: 1427
        line_start: 1426
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u16) BIT(9))
    - item_type: preproc_def
      name: HT_OPER_PARAM_PCO_ACTIVE
      pos:
        line_end: 1428
        line_start: 1427
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u16) BIT(10))
    - item_type: preproc_def
      name: HT_OPER_PARAM_PCO_PHASE
      pos:
        line_end: 1429
        line_start: 1428
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u16) BIT(11))
    - item_type: preproc_def
      name: BSS_MEMBERSHIP_SELECTOR_UHR_PHY
      pos:
        line_end: 1432
        line_start: 1431
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '120'
    - item_type: preproc_def
      name: BSS_MEMBERSHIP_SELECTOR_EHT_PHY
      pos:
        line_end: 1433
        line_start: 1432
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '121'
    - item_type: preproc_def
      name: BSS_MEMBERSHIP_SELECTOR_HE_PHY
      pos:
        line_end: 1434
        line_start: 1433
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '122'
    - item_type: preproc_def
      name: BSS_MEMBERSHIP_SELECTOR_SAE_H2E_ONLY
      pos:
        line_end: 1435
        line_start: 1434
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '123'
    - item_type: preproc_def
      name: BSS_MEMBERSHIP_SELECTOR_EPD
      pos:
        line_end: 1436
        line_start: 1435
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '124'
    - item_type: preproc_def
      name: BSS_MEMBERSHIP_SELECTOR_GLK
      pos:
        line_end: 1437
        line_start: 1436
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '125'
    - item_type: preproc_def
      name: BSS_MEMBERSHIP_SELECTOR_VHT_PHY
      pos:
        line_end: 1438
        line_start: 1437
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '126'
    - item_type: preproc_def
      name: BSS_MEMBERSHIP_SELECTOR_HT_PHY
      pos:
        line_end: 1439
        line_start: 1438
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '127'
    - item_type: preproc_def
      name: VHT_CAP_MAX_MPDU_LENGTH_7991
      pos:
        line_end: 1442
        line_start: 1441
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u32) BIT(0))
    - item_type: preproc_def
      name: VHT_CAP_MAX_MPDU_LENGTH_11454
      pos:
        line_end: 1443
        line_start: 1442
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u32) BIT(1))
    - item_type: preproc_def
      name: VHT_CAP_MAX_MPDU_LENGTH_MASK
      pos:
        line_end: 1444
        line_start: 1443
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u32) BIT(0) | BIT(1))
    - item_type: preproc_def
      name: VHT_CAP_MAX_MPDU_LENGTH_MASK_SHIFT
      pos:
        line_end: 1445
        line_start: 1444
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VHT_CAP_SUPP_CHAN_WIDTH_160MHZ
      pos:
        line_end: 1446
        line_start: 1445
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u32) BIT(2))
    - item_type: preproc_def
      name: VHT_CAP_SUPP_CHAN_WIDTH_160_80PLUS80MHZ
      pos:
        line_end: 1447
        line_start: 1446
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u32) BIT(3))
    - item_type: preproc_def
      name: VHT_CAP_SUPP_CHAN_WIDTH_MASK
      pos:
        line_end: 1448
        line_start: 1447
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u32) BIT(2) | BIT(3))
    - item_type: preproc_def
      name: VHT_CAP_SUPP_CHAN_WIDTH_MASK_SHIFT
      pos:
        line_end: 1449
        line_start: 1448
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '2'
    - item_type: preproc_def
      name: VHT_CAP_RXLDPC
      pos:
        line_end: 1450
        line_start: 1449
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u32) BIT(4))
    - item_type: preproc_def
      name: VHT_CAP_SHORT_GI_80
      pos:
        line_end: 1451
        line_start: 1450
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u32) BIT(5))
    - item_type: preproc_def
      name: VHT_CAP_SHORT_GI_160
      pos:
        line_end: 1452
        line_start: 1451
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u32) BIT(6))
    - item_type: preproc_def
      name: VHT_CAP_TXSTBC
      pos:
        line_end: 1453
        line_start: 1452
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u32) BIT(7))
    - item_type: preproc_def
      name: VHT_CAP_RXSTBC_1
      pos:
        line_end: 1454
        line_start: 1453
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u32) BIT(8))
    - item_type: preproc_def
      name: VHT_CAP_RXSTBC_2
      pos:
        line_end: 1455
        line_start: 1454
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u32) BIT(9))
    - item_type: preproc_def
      name: VHT_CAP_RXSTBC_3
      pos:
        line_end: 1456
        line_start: 1455
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u32) BIT(8) | BIT(9))
    - item_type: preproc_def
      name: VHT_CAP_RXSTBC_4
      pos:
        line_end: 1457
        line_start: 1456
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u32) BIT(10))
    - item_type: preproc_def
      name: VHT_CAP_RXSTBC_MASK
      pos:
        line_end: 1459
        line_start: 1457
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: "((u32) BIT(8) | BIT(9) | \\\n\t\t\t\t\t\t\t   BIT(10))"
    - item_type: preproc_def
      name: VHT_CAP_RXSTBC_MASK_SHIFT
      pos:
        line_end: 1460
        line_start: 1459
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '8'
    - item_type: preproc_def
      name: VHT_CAP_SU_BEAMFORMER_CAPABLE
      pos:
        line_end: 1461
        line_start: 1460
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u32) BIT(11))
    - item_type: preproc_def
      name: VHT_CAP_SU_BEAMFORMEE_CAPABLE
      pos:
        line_end: 1462
        line_start: 1461
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u32) BIT(12))
    - item_type: preproc_def
      name: VHT_CAP_BEAMFORMEE_STS_MAX
      pos:
        line_end: 1464
        line_start: 1462
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: "((u32) BIT(13) | \\\n\t\t\t\t\t\t\t   BIT(14) | BIT(15))"
    - item_type: preproc_def
      name: VHT_CAP_BEAMFORMEE_STS_MAX_SHIFT
      pos:
        line_end: 1465
        line_start: 1464
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '13'
    - item_type: preproc_def
      name: VHT_CAP_BEAMFORMEE_STS_OFFSET
      pos:
        line_end: 1466
        line_start: 1465
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '13'
    - item_type: preproc_def
      name: VHT_CAP_SOUNDING_DIMENSION_MAX
      pos:
        line_end: 1468
        line_start: 1466
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: "((u32) BIT(16) | \\\n\t\t\t\t\t\t\t   BIT(17) | BIT(18))"
    - item_type: preproc_def
      name: VHT_CAP_SOUNDING_DIMENSION_MAX_SHIFT
      pos:
        line_end: 1469
        line_start: 1468
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '16'
    - item_type: preproc_def
      name: VHT_CAP_SOUNDING_DIMENSION_OFFSET
      pos:
        line_end: 1470
        line_start: 1469
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '16'
    - item_type: preproc_def
      name: VHT_CAP_MU_BEAMFORMER_CAPABLE
      pos:
        line_end: 1471
        line_start: 1470
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u32) BIT(19))
    - item_type: preproc_def
      name: VHT_CAP_MU_BEAMFORMEE_CAPABLE
      pos:
        line_end: 1472
        line_start: 1471
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u32) BIT(20))
    - item_type: preproc_def
      name: VHT_CAP_VHT_TXOP_PS
      pos:
        line_end: 1473
        line_start: 1472
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u32) BIT(21))
    - item_type: preproc_def
      name: VHT_CAP_HTC_VHT
      pos:
        line_end: 1474
        line_start: 1473
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u32) BIT(22))
    - item_type: preproc_def
      name: VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_1
      pos:
        line_end: 1476
        line_start: 1475
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u32) BIT(23))
    - item_type: preproc_def
      name: VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_2
      pos:
        line_end: 1477
        line_start: 1476
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u32) BIT(24))
    - item_type: preproc_def
      name: VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_3
      pos:
        line_end: 1478
        line_start: 1477
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u32) BIT(23) | BIT(24))
    - item_type: preproc_def
      name: VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_4
      pos:
        line_end: 1479
        line_start: 1478
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u32) BIT(25))
    - item_type: preproc_def
      name: VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_5
      pos:
        line_end: 1480
        line_start: 1479
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u32) BIT(23) | BIT(25))
    - item_type: preproc_def
      name: VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_6
      pos:
        line_end: 1481
        line_start: 1480
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u32) BIT(24) | BIT(25))
    - item_type: preproc_def
      name: VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_MAX
      pos:
        line_end: 1483
        line_start: 1481
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: "((u32) BIT(23) | \\\n\t\t\t\t\t\t\t   BIT(24) | BIT(25))"
    - item_type: preproc_def
      name: VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_MAX_SHIFT
      pos:
        line_end: 1484
        line_start: 1483
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '23'
    - item_type: preproc_def
      name: VHT_CAP_VHT_LINK_ADAPTATION_VHT_UNSOL_MFB
      pos:
        line_end: 1485
        line_start: 1484
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u32) BIT(27))
    - item_type: preproc_def
      name: VHT_CAP_VHT_LINK_ADAPTATION_VHT_MRQ_MFB
      pos:
        line_end: 1486
        line_start: 1485
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u32) BIT(26) | BIT(27))
    - item_type: preproc_def
      name: VHT_CAP_RX_ANTENNA_PATTERN
      pos:
        line_end: 1487
        line_start: 1486
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u32) BIT(28))
    - item_type: preproc_def
      name: VHT_CAP_TX_ANTENNA_PATTERN
      pos:
        line_end: 1488
        line_start: 1487
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u32) BIT(29))
    - item_type: preproc_def
      name: VHT_OPMODE_CHANNEL_WIDTH_MASK
      pos:
        line_end: 1490
        line_start: 1489
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u8) BIT(0) | BIT(1))
    - item_type: preproc_def
      name: VHT_OPMODE_CHANNEL_RxNSS_MASK
      pos:
        line_end: 1492
        line_start: 1490
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: "((u8) BIT(4) | BIT(5) | \\\n\t\t\t\t\t\t     BIT(6))"
    - item_type: preproc_def
      name: VHT_OPMODE_NOTIF_RX_NSS_SHIFT
      pos:
        line_end: 1493
        line_start: 1492
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '4'
    - item_type: preproc_def
      name: VHT_RX_NSS_MAX_STREAMS
      pos:
        line_end: 1495
        line_start: 1494
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '8'
    - item_type: preproc_def
      name: VHT_OPMODE_CHANNEL_40MHZ
      pos:
        line_end: 1497
        line_start: 1496
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u8) BIT(0))
    - item_type: preproc_def
      name: VHT_OPMODE_CHANNEL_80MHZ
      pos:
        line_end: 1498
        line_start: 1497
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u8) BIT(1))
    - item_type: preproc_def
      name: VHT_OPMODE_CHANNEL_160MHZ
      pos:
        line_end: 1499
        line_start: 1498
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u8) BIT(1) | BIT(2))
    - item_type: preproc_def
      name: CHANWIDTH_USE_HT
      pos:
        line_end: 1502
        line_start: 1501
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: CHANWIDTH_80MHZ
      pos:
        line_end: 1503
        line_start: 1502
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CHANWIDTH_160MHZ
      pos:
        line_end: 1504
        line_start: 1503
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '2'
    - item_type: preproc_def
      name: CHANWIDTH_80P80MHZ
      pos:
        line_end: 1505
        line_start: 1504
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '3'
    - item_type: preproc_def
      name: HE_NSS_MAX_STREAMS
      pos:
        line_end: 1507
        line_start: 1506
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '8'
    - item_type: preproc_def
      name: OUI_MICROSOFT
      pos:
        line_end: 1510
        line_start: 1508
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x0050f2 '
    - item_type: preproc_def
      name: WPA_IE_VENDOR_TYPE
      pos:
        line_end: 1511
        line_start: 1510
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x0050f201'
    - item_type: preproc_def
      name: WMM_IE_VENDOR_TYPE
      pos:
        line_end: 1512
        line_start: 1511
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x0050f202'
    - item_type: preproc_def
      name: WPS_IE_VENDOR_TYPE
      pos:
        line_end: 1513
        line_start: 1512
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x0050f204'
    - item_type: preproc_def
      name: OUI_WFA
      pos:
        line_end: 1514
        line_start: 1513
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x506f9a'
    - item_type: preproc_def
      name: P2P_IE_VENDOR_TYPE
      pos:
        line_end: 1515
        line_start: 1514
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x506f9a09'
    - item_type: preproc_def
      name: P2P2_IE_VENDOR_TYPE
      pos:
        line_end: 1516
        line_start: 1515
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x506f9a28'
    - item_type: preproc_def
      name: WFD_IE_VENDOR_TYPE
      pos:
        line_end: 1517
        line_start: 1516
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x506f9a0a'
    - item_type: preproc_def
      name: WFD_OUI_TYPE
      pos:
        line_end: 1518
        line_start: 1517
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '10'
    - item_type: preproc_def
      name: HS20_IE_VENDOR_TYPE
      pos:
        line_end: 1519
        line_start: 1518
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x506f9a10'
    - item_type: preproc_def
      name: NAN_IE_VENDOR_TYPE
      pos:
        line_end: 1520
        line_start: 1519
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x506f9a13'
    - item_type: preproc_def
      name: NAN_SDF_VENDOR_TYPE
      pos:
        line_end: 1521
        line_start: 1520
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x506f9a13'
    - item_type: preproc_def
      name: NAN_SDF_OUI_TYPE
      pos:
        line_end: 1522
        line_start: 1521
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x13'
    - item_type: preproc_def
      name: MBO_IE_VENDOR_TYPE
      pos:
        line_end: 1523
        line_start: 1522
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x506f9a16'
    - item_type: preproc_def
      name: NAN_NAF_VENDOR_TYPE
      pos:
        line_end: 1524
        line_start: 1523
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x506f9a18'
    - item_type: preproc_def
      name: NAN_NAF_OUI_TYPE
      pos:
        line_end: 1525
        line_start: 1524
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x18'
    - item_type: preproc_def
      name: MBO_OUI_TYPE
      pos:
        line_end: 1526
        line_start: 1525
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '22'
    - item_type: preproc_def
      name: OWE_IE_VENDOR_TYPE
      pos:
        line_end: 1527
        line_start: 1526
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x506f9a1c'
    - item_type: preproc_def
      name: OWE_OUI_TYPE
      pos:
        line_end: 1528
        line_start: 1527
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '28'
    - item_type: preproc_def
      name: MULTI_AP_OUI_TYPE
      pos:
        line_end: 1529
        line_start: 1528
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x1B'
    - item_type: preproc_def
      name: DPP_CC_IE_VENDOR_TYPE
      pos:
        line_end: 1530
        line_start: 1529
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x506f9a1e'
    - item_type: preproc_def
      name: DPP_CC_OUI_TYPE
      pos:
        line_end: 1531
        line_start: 1530
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x1e'
    - item_type: preproc_def
      name: SAE_PK_IE_VENDOR_TYPE
      pos:
        line_end: 1532
        line_start: 1531
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x506f9a1f'
    - item_type: preproc_def
      name: SAE_PK_OUI_TYPE
      pos:
        line_end: 1533
        line_start: 1532
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x1f'
    - item_type: preproc_def
      name: QM_IE_VENDOR_TYPE
      pos:
        line_end: 1534
        line_start: 1533
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x506f9a22'
    - item_type: preproc_def
      name: QM_IE_OUI_TYPE
      pos:
        line_end: 1535
        line_start: 1534
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x22'
    - item_type: preproc_def
      name: WFA_CAPA_IE_VENDOR_TYPE
      pos:
        line_end: 1536
        line_start: 1535
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x506f9a23'
    - item_type: preproc_def
      name: WFA_CAPA_OUI_TYPE
      pos:
        line_end: 1537
        line_start: 1536
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x23'
    - item_type: preproc_def
      name: WFA_RSNE_OVERRIDE_OUI_TYPE
      pos:
        line_end: 1538
        line_start: 1537
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x29'
    - item_type: preproc_def
      name: WFA_RSNE_OVERRIDE_2_OUI_TYPE
      pos:
        line_end: 1539
        line_start: 1538
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x2a'
    - item_type: preproc_def
      name: WFA_RSNXE_OVERRIDE_OUI_TYPE
      pos:
        line_end: 1540
        line_start: 1539
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x2b'
    - item_type: preproc_def
      name: WFA_RSN_SELECTION_OUI_TYPE
      pos:
        line_end: 1541
        line_start: 1540
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x2c'
    - item_type: preproc_def
      name: RSNE_OVERRIDE_IE_VENDOR_TYPE
      pos:
        line_end: 1542
        line_start: 1541
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x506f9a29'
    - item_type: preproc_def
      name: RSNE_OVERRIDE_2_IE_VENDOR_TYPE
      pos:
        line_end: 1543
        line_start: 1542
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x506f9a2a'
    - item_type: preproc_def
      name: RSNXE_OVERRIDE_IE_VENDOR_TYPE
      pos:
        line_end: 1544
        line_start: 1543
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x506f9a2b'
    - item_type: preproc_def
      name: RSN_SELECTION_IE_VENDOR_TYPE
      pos:
        line_end: 1545
        line_start: 1544
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x506f9a2c'
    - item_type: preproc_def
      name: PR_IE_VENDOR_TYPE
      pos:
        line_end: 1547
        line_start: 1546
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x506f9a2e'
    - item_type: preproc_def
      name: PR_OUI_TYPE
      pos:
        line_end: 1548
        line_start: 1547
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x2e'
    - item_type: preproc_def
      name: MULTI_AP_SUB_ELEM_TYPE
      pos:
        line_end: 1550
        line_start: 1549
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x06'
    - item_type: preproc_def
      name: MULTI_AP_PROFILE_SUB_ELEM_TYPE
      pos:
        line_end: 1551
        line_start: 1550
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x07'
    - item_type: preproc_def
      name: MULTI_AP_VLAN_SUB_ELEM_TYPE
      pos:
        line_end: 1552
        line_start: 1551
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x08'
    - item_type: preproc_def
      name: MULTI_AP_PROFILE2_BACKHAUL_STA_DISALLOWED
      pos:
        line_end: 1554
        line_start: 1553
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(2)
    - item_type: preproc_def
      name: MULTI_AP_PROFILE1_BACKHAUL_STA_DISALLOWED
      pos:
        line_end: 1555
        line_start: 1554
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(3)
    - item_type: preproc_def
      name: MULTI_AP_TEAR_DOWN
      pos:
        line_end: 1556
        line_start: 1555
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(4)
    - item_type: preproc_def
      name: MULTI_AP_FRONTHAUL_BSS
      pos:
        line_end: 1557
        line_start: 1556
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(5)
    - item_type: preproc_def
      name: MULTI_AP_BACKHAUL_BSS
      pos:
        line_end: 1558
        line_start: 1557
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(6)
    - item_type: preproc_def
      name: MULTI_AP_BACKHAUL_STA
      pos:
        line_end: 1559
        line_start: 1558
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(7)
    - item_type: preproc_def
      name: MULTI_AP_PROFILE_1
      pos:
        line_end: 1561
        line_start: 1560
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MULTI_AP_PROFILE_2
      pos:
        line_end: 1562
        line_start: 1561
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '2'
    - item_type: preproc_def
      name: MULTI_AP_PROFILE_MAX
      pos:
        line_end: 1563
        line_start: 1562
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '6'
    - item_type: preproc_def
      name: WMM_OUI_TYPE
      pos:
        line_end: 1565
        line_start: 1564
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '2'
    - item_type: preproc_def
      name: WMM_OUI_SUBTYPE_INFORMATION_ELEMENT
      pos:
        line_end: 1566
        line_start: 1565
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: WMM_OUI_SUBTYPE_PARAMETER_ELEMENT
      pos:
        line_end: 1567
        line_start: 1566
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: WMM_OUI_SUBTYPE_TSPEC_ELEMENT
      pos:
        line_end: 1568
        line_start: 1567
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '2'
    - item_type: preproc_def
      name: WMM_VERSION
      pos:
        line_end: 1569
        line_start: 1568
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: WMM_ACTION_CODE_ADDTS_REQ
      pos:
        line_end: 1571
        line_start: 1570
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: WMM_ACTION_CODE_ADDTS_RESP
      pos:
        line_end: 1572
        line_start: 1571
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: WMM_ACTION_CODE_DELTS
      pos:
        line_end: 1573
        line_start: 1572
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '2'
    - item_type: preproc_def
      name: WMM_ADDTS_STATUS_ADMISSION_ACCEPTED
      pos:
        line_end: 1575
        line_start: 1574
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: WMM_ADDTS_STATUS_INVALID_PARAMETERS
      pos:
        line_end: 1576
        line_start: 1575
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: WMM_ADDTS_STATUS_REFUSED
      pos:
        line_end: 1578
        line_start: 1577
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '3'
    - item_type: preproc_def
      name: WMM_TSPEC_DIRECTION_UPLINK
      pos:
        line_end: 1582
        line_start: 1581
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: WMM_TSPEC_DIRECTION_DOWNLINK
      pos:
        line_end: 1583
        line_start: 1582
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: WMM_TSPEC_DIRECTION_BI_DIRECTIONAL
      pos:
        line_end: 1585
        line_start: 1584
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '3'
    - item_type: preproc_def
      name: WMM_QOSINFO_AP_UAPSD
      pos:
        line_end: 1602
        line_start: 1601
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x80'
    - item_type: preproc_def
      name: WMM_QOSINFO_STA_AC_MASK
      pos:
        line_end: 1604
        line_start: 1603
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x0f'
    - item_type: preproc_def
      name: WMM_QOSINFO_STA_SP_MASK
      pos:
        line_end: 1605
        line_start: 1604
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x03'
    - item_type: preproc_def
      name: WMM_QOSINFO_STA_SP_SHIFT
      pos:
        line_end: 1606
        line_start: 1605
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '5'
    - item_type: preproc_def
      name: WMM_AC_AIFSN_MASK
      pos:
        line_end: 1608
        line_start: 1607
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x0f'
    - item_type: preproc_def
      name: WMM_AC_AIFNS_SHIFT
      pos:
        line_end: 1609
        line_start: 1608
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: WMM_AC_ACM
      pos:
        line_end: 1610
        line_start: 1609
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x10'
    - item_type: preproc_def
      name: WMM_AC_ACI_MASK
      pos:
        line_end: 1611
        line_start: 1610
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x60'
    - item_type: preproc_def
      name: WMM_AC_ACI_SHIFT
      pos:
        line_end: 1612
        line_start: 1611
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '5'
    - item_type: preproc_def
      name: WMM_AC_ECWMIN_MASK
      pos:
        line_end: 1614
        line_start: 1613
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x0f'
    - item_type: preproc_def
      name: WMM_AC_ECWMIN_SHIFT
      pos:
        line_end: 1615
        line_start: 1614
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: WMM_AC_ECWMAX_MASK
      pos:
        line_end: 1616
        line_start: 1615
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0xf0'
    - item_type: preproc_def
      name: WMM_AC_ECWMAX_SHIFT
      pos:
        line_end: 1617
        line_start: 1616
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '4'
    - item_type: preproc_def
      name: HS20_INDICATION_OUI_TYPE
      pos:
        line_end: 1680
        line_start: 1679
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '16'
    - item_type: preproc_def
      name: HS20_ANQP_OUI_TYPE
      pos:
        line_end: 1681
        line_start: 1680
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '17'
    - item_type: preproc_def
      name: HS20_ROAMING_CONS_SEL_OUI_TYPE
      pos:
        line_end: 1682
        line_start: 1681
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '29'
    - item_type: preproc_def
      name: HS20_STYPE_QUERY_LIST
      pos:
        line_end: 1683
        line_start: 1682
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HS20_STYPE_CAPABILITY_LIST
      pos:
        line_end: 1684
        line_start: 1683
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '2'
    - item_type: preproc_def
      name: HS20_STYPE_OPERATOR_FRIENDLY_NAME
      pos:
        line_end: 1685
        line_start: 1684
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '3'
    - item_type: preproc_def
      name: HS20_STYPE_WAN_METRICS
      pos:
        line_end: 1686
        line_start: 1685
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '4'
    - item_type: preproc_def
      name: HS20_STYPE_CONNECTION_CAPABILITY
      pos:
        line_end: 1687
        line_start: 1686
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '5'
    - item_type: preproc_def
      name: HS20_STYPE_NAI_HOME_REALM_QUERY
      pos:
        line_end: 1688
        line_start: 1687
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '6'
    - item_type: preproc_def
      name: HS20_STYPE_OPERATING_CLASS
      pos:
        line_end: 1689
        line_start: 1688
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '7'
    - item_type: preproc_def
      name: HS20_DGAF_DISABLED
      pos:
        line_end: 1691
        line_start: 1690
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x01'
    - item_type: preproc_def
      name: HS20_PPS_MO_ID_PRESENT
      pos:
        line_end: 1692
        line_start: 1691
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x02'
    - item_type: preproc_def
      name: HS20_ANQP_DOMAIN_ID_PRESENT
      pos:
        line_end: 1693
        line_start: 1692
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x04'
    - item_type: preproc_def
      name: HS20_VERSION
      pos:
        line_end: 1695
        line_start: 1694
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x20 '
    - item_type: preproc_def
      name: HS20_WNM_DEAUTH_IMMINENT_NOTICE
      pos:
        line_end: 1699
        line_start: 1698
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: WFA_WNM_NOTIF_SUBELEM_NON_PREF_CHAN_REPORT
      pos:
        line_end: 1700
        line_start: 1699
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '2'
    - item_type: preproc_def
      name: WFA_WNM_NOTIF_SUBELEM_CELL_DATA_CAPA
      pos:
        line_end: 1701
        line_start: 1700
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '3'
    - item_type: preproc_def
      name: HS20_WNM_T_C_ACCEPTANCE
      pos:
        line_end: 1702
        line_start: 1701
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '4'
    - item_type: preproc_def
      name: HS20_DEAUTH_REASON_CODE_BSS
      pos:
        line_end: 1704
        line_start: 1703
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: HS20_DEAUTH_REASON_CODE_ESS
      pos:
        line_end: 1705
        line_start: 1704
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MBO_AP_CAPA_CELL_AWARE
      pos:
        line_end: 1727
        line_start: 1726
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(6)
    - item_type: preproc_def
      name: MBO_ANQP_OUI_TYPE
      pos:
        line_end: 1792
        line_start: 1791
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x12'
    - item_type: preproc_def
      name: MBO_ANQP_SUBTYPE_QUERY_LIST
      pos:
        line_end: 1793
        line_start: 1792
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MBO_ANQP_SUBTYPE_CELL_CONN_PREF
      pos:
        line_end: 1794
        line_start: 1793
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '2'
    - item_type: preproc_def
      name: MAX_MBO_ANQP_SUBTYPE
      pos:
        line_end: 1795
        line_start: 1794
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: MBO_ANQP_SUBTYPE_CELL_CONN_PREF
    - item_type: preproc_def
      name: OCE_RELEASE
      pos:
        line_end: 1798
        line_start: 1797
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: OCE_RELEASE_MASK
      pos:
        line_end: 1799
        line_start: 1798
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: (BIT(0) | BIT(1) | BIT(2))
    - item_type: preproc_def
      name: OCE_IS_STA_CFON
      pos:
        line_end: 1800
        line_start: 1799
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(3)
    - item_type: preproc_def
      name: OCE_IS_NON_OCE_AP_PRESENT
      pos:
        line_end: 1801
        line_start: 1800
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(4)
    - item_type: preproc_def
      name: P2P_OUI_TYPE
      pos:
        line_end: 1805
        line_start: 1804
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '9'
    - item_type: preproc_def
      name: P2P2_OUI_TYPE
      pos:
        line_end: 1806
        line_start: 1805
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x28'
    - item_type: preproc_def
      name: P2P_MAX_GO_INTENT
      pos:
        line_end: 1847
        line_start: 1846
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '15'
    - item_type: preproc_def
      name: P2P_DEV_CAPAB_SERVICE_DISCOVERY
      pos:
        line_end: 1850
        line_start: 1849
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: P2P_DEV_CAPAB_CLIENT_DISCOVERABILITY
      pos:
        line_end: 1851
        line_start: 1850
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: P2P_DEV_CAPAB_CONCURRENT_OPER
      pos:
        line_end: 1852
        line_start: 1851
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(2)
    - item_type: preproc_def
      name: P2P_DEV_CAPAB_INFRA_MANAGED
      pos:
        line_end: 1853
        line_start: 1852
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(3)
    - item_type: preproc_def
      name: P2P_DEV_CAPAB_DEVICE_LIMIT
      pos:
        line_end: 1854
        line_start: 1853
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(4)
    - item_type: preproc_def
      name: P2P_DEV_CAPAB_INVITATION_PROCEDURE
      pos:
        line_end: 1855
        line_start: 1854
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(5)
    - item_type: preproc_def
      name: P2P_DEV_CAPAB_6GHZ_BAND_CAPABLE
      pos:
        line_end: 1856
        line_start: 1855
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(6)
    - item_type: preproc_def
      name: P2P_GROUP_CAPAB_GROUP_OWNER
      pos:
        line_end: 1859
        line_start: 1858
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: P2P_GROUP_CAPAB_PERSISTENT_GROUP
      pos:
        line_end: 1860
        line_start: 1859
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: P2P_GROUP_CAPAB_GROUP_LIMIT
      pos:
        line_end: 1861
        line_start: 1860
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(2)
    - item_type: preproc_def
      name: P2P_GROUP_CAPAB_INTRA_BSS_DIST
      pos:
        line_end: 1862
        line_start: 1861
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(3)
    - item_type: preproc_def
      name: P2P_GROUP_CAPAB_CROSS_CONN
      pos:
        line_end: 1863
        line_start: 1862
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(4)
    - item_type: preproc_def
      name: P2P_GROUP_CAPAB_PERSISTENT_RECONN
      pos:
        line_end: 1864
        line_start: 1863
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(5)
    - item_type: preproc_def
      name: P2P_GROUP_CAPAB_GROUP_FORMATION
      pos:
        line_end: 1865
        line_start: 1864
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(6)
    - item_type: preproc_def
      name: P2P_GROUP_CAPAB_IP_ADDR_ALLOCATION
      pos:
        line_end: 1866
        line_start: 1865
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(7)
    - item_type: preproc_def
      name: P2P_PCEA_LEN_MASK
      pos:
        line_end: 1869
        line_start: 1868
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: (BIT(0) | BIT(1) | BIT(2) | BIT(3))
    - item_type: preproc_def
      name: P2P_PCEA_6GHZ
      pos:
        line_end: 1870
        line_start: 1869
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(4)
    - item_type: preproc_def
      name: P2P_PCEA_REG_INFO
      pos:
        line_end: 1871
        line_start: 1870
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(5)
    - item_type: preproc_def
      name: P2P_PCEA_DFS_OWNER
      pos:
        line_end: 1872
        line_start: 1871
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(6)
    - item_type: preproc_def
      name: P2P_PCEA_CLI_REQ_CS
      pos:
        line_end: 1873
        line_start: 1872
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(7)
    - item_type: preproc_def
      name: P2P_PCEA_PAIRING_CAPABLE
      pos:
        line_end: 1874
        line_start: 1873
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(8)
    - item_type: preproc_def
      name: P2P_PCEA_PAIRING_SETUP_ENABLED
      pos:
        line_end: 1875
        line_start: 1874
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(9)
    - item_type: preproc_def
      name: P2P_PCEA_PMK_CACHING
      pos:
        line_end: 1876
        line_start: 1875
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(10)
    - item_type: preproc_def
      name: P2P_PCEA_PASN_TYPE
      pos:
        line_end: 1877
        line_start: 1876
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(11)
    - item_type: preproc_def
      name: P2P_PCEA_TWT_POWER_MGMT
      pos:
        line_end: 1878
        line_start: 1877
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(12)
    - item_type: preproc_def
      name: P2P_PBMA_OPPORTUNISTIC
      pos:
        line_end: 1881
        line_start: 1880
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: P2P_PBMA_PIN_CODE_DISPLAY
      pos:
        line_end: 1882
        line_start: 1881
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: P2P_PBMA_PASSPHRASE_DISPLAY
      pos:
        line_end: 1883
        line_start: 1882
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(2)
    - item_type: preproc_def
      name: P2P_PBMA_QR_DISPLAY
      pos:
        line_end: 1884
        line_start: 1883
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(3)
    - item_type: preproc_def
      name: P2P_PBMA_NFC_TAG
      pos:
        line_end: 1885
        line_start: 1884
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(4)
    - item_type: preproc_def
      name: P2P_PBMA_PIN_CODE_KEYPAD
      pos:
        line_end: 1886
        line_start: 1885
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(5)
    - item_type: preproc_def
      name: P2P_PBMA_PASSPHRASE_KEYPAD
      pos:
        line_end: 1887
        line_start: 1886
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(6)
    - item_type: preproc_def
      name: P2P_PBMA_QR_SCAN
      pos:
        line_end: 1888
        line_start: 1887
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(7)
    - item_type: preproc_def
      name: P2P_PBMA_NFC_READER
      pos:
        line_end: 1889
        line_start: 1888
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(8)
    - item_type: preproc_def
      name: P2P_PBMA_SERVICE_MANAGED
      pos:
        line_end: 1890
        line_start: 1889
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(14)
    - item_type: preproc_def
      name: P2P_PBMA_HANDSHAKE_SKIP
      pos:
        line_end: 1891
        line_start: 1890
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(15)
    - item_type: preproc_def
      name: P2PS_FEATURE_CAPAB_UDP_TRANSPORT
      pos:
        line_end: 1894
        line_start: 1893
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: P2PS_FEATURE_CAPAB_MAC_TRANSPORT
      pos:
        line_end: 1895
        line_start: 1894
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: P2P_INVITATION_FLAGS_TYPE
      pos:
        line_end: 1903
        line_start: 1902
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: P2P_MAN_DEVICE_MANAGEMENT
      pos:
        line_end: 1906
        line_start: 1905
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: P2P_MAN_CROSS_CONNECTION_PERMITTED
      pos:
        line_end: 1907
        line_start: 1906
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: P2P_MAN_COEXISTENCE_OPTIONAL
      pos:
        line_end: 1908
        line_start: 1907
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(2)
    - item_type: preproc_def
      name: P2P_WILDCARD_SSID
      pos:
        line_end: 1933
        line_start: 1932
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '"DIRECT-"'
    - item_type: preproc_def
      name: P2P_WILDCARD_SSID_LEN
      pos:
        line_end: 1934
        line_start: 1933
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '7'
    - item_type: preproc_def
      name: MESH_SYNC_METHOD_NEIGHBOR_OFFSET
      pos:
        line_end: 1991
        line_start: 1990
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MESH_SYNC_METHOD_VENDOR
      pos:
        line_end: 1992
        line_start: 1991
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '255'
    - item_type: preproc_def
      name: MESH_PATH_PROTOCOL_HWMP
      pos:
        line_end: 1993
        line_start: 1992
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MESH_PATH_PROTOCOL_VENDOR
      pos:
        line_end: 1994
        line_start: 1993
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '255'
    - item_type: preproc_def
      name: MESH_PATH_METRIC_AIRTIME
      pos:
        line_end: 1995
        line_start: 1994
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MESH_PATH_METRIC_VENDOR
      pos:
        line_end: 1996
        line_start: 1995
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '255'
    - item_type: preproc_def
      name: MESH_CAP_ACCEPT_ADDITIONAL_PEER
      pos:
        line_end: 1998
        line_start: 1997
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: MESH_CAP_MCCA_SUPPORTED
      pos:
        line_end: 1999
        line_start: 1998
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: MESH_CAP_MCCA_ENABLED
      pos:
        line_end: 2000
        line_start: 1999
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(2)
    - item_type: preproc_def
      name: MESH_CAP_FORWARDING
      pos:
        line_end: 2001
        line_start: 2000
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(3)
    - item_type: preproc_def
      name: MESH_CAP_MBCA_ENABLED
      pos:
        line_end: 2002
        line_start: 2001
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(4)
    - item_type: preproc_def
      name: MESH_CAP_TBTT_ADJUSTING
      pos:
        line_end: 2003
        line_start: 2002
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(5)
    - item_type: preproc_def
      name: MESH_CAP_MESH_PS_LEVEL
      pos:
        line_end: 2004
        line_start: 2003
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(6)
    - item_type: preproc_def
      name: OUI_BROADCOM
      pos:
        line_end: 2012
        line_start: 2011
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x00904c '
    - item_type: preproc_def
      name: VENDOR_VHT_TYPE
      pos:
        line_end: 2013
        line_start: 2012
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x04'
    - item_type: preproc_def
      name: VENDOR_VHT_SUBTYPE
      pos:
        line_end: 2014
        line_start: 2013
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x08'
    - item_type: preproc_def
      name: VENDOR_VHT_SUBTYPE2
      pos:
        line_end: 2015
        line_start: 2014
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x00'
    - item_type: preproc_def
      name: VENDOR_HT_CAPAB_OUI_TYPE
      pos:
        line_end: 2017
        line_start: 2016
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x33 '
    - item_type: preproc_def
      name: WNM_BSS_TM_REQ_PREF_CAND_LIST_INCLUDED
      pos:
        line_end: 2053
        line_start: 2052
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: WNM_BSS_TM_REQ_ABRIDGED
      pos:
        line_end: 2054
        line_start: 2053
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: WNM_BSS_TM_REQ_DISASSOC_IMMINENT
      pos:
        line_end: 2055
        line_start: 2054
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(2)
    - item_type: preproc_def
      name: WNM_BSS_TM_REQ_BSS_TERMINATION_INCLUDED
      pos:
        line_end: 2056
        line_start: 2055
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(3)
    - item_type: preproc_def
      name: WNM_BSS_TM_REQ_ESS_DISASSOC_IMMINENT
      pos:
        line_end: 2057
        line_start: 2056
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(4)
    - item_type: preproc_def
      name: WNM_BSS_TM_REQ_LINK_REMOVAL_IMMINENT
      pos:
        line_end: 2058
        line_start: 2057
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(5)
    - item_type: preproc_def
      name: WNM_NEIGHBOR_TSF
      pos:
        line_end: 2104
        line_start: 2103
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: WNM_NEIGHBOR_CONDENSED_COUNTRY_STRING
      pos:
        line_end: 2105
        line_start: 2104
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '2'
    - item_type: preproc_def
      name: WNM_NEIGHBOR_BSS_TRANSITION_CANDIDATE
      pos:
        line_end: 2106
        line_start: 2105
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '3'
    - item_type: preproc_def
      name: WNM_NEIGHBOR_BSS_TERMINATION_DURATION
      pos:
        line_end: 2107
        line_start: 2106
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '4'
    - item_type: preproc_def
      name: WNM_NEIGHBOR_BEARING
      pos:
        line_end: 2108
        line_start: 2107
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '5'
    - item_type: preproc_def
      name: WNM_NEIGHBOR_WIDE_BW_CHAN
      pos:
        line_end: 2109
        line_start: 2108
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '6'
    - item_type: preproc_def
      name: WNM_NEIGHBOR_MEASUREMENT_REPORT
      pos:
        line_end: 2110
        line_start: 2109
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '39'
    - item_type: preproc_def
      name: WNM_NEIGHBOR_HT_CAPAB
      pos:
        line_end: 2111
        line_start: 2110
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '45'
    - item_type: preproc_def
      name: WNM_NEIGHBOR_HT_OPER
      pos:
        line_end: 2112
        line_start: 2111
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '61'
    - item_type: preproc_def
      name: WNM_NEIGHBOR_SEC_CHAN_OFFSET
      pos:
        line_end: 2113
        line_start: 2112
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '62'
    - item_type: preproc_def
      name: WNM_NEIGHBOR_MEASUREMENT_PILOT
      pos:
        line_end: 2114
        line_start: 2113
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '66'
    - item_type: preproc_def
      name: WNM_NEIGHBOR_RRM_ENABLED_CAPABILITIES
      pos:
        line_end: 2115
        line_start: 2114
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '70'
    - item_type: preproc_def
      name: WNM_NEIGHBOR_MULTIPLE_BSSID
      pos:
        line_end: 2116
        line_start: 2115
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '71'
    - item_type: preproc_def
      name: WNM_NEIGHBOR_VHT_CAPAB
      pos:
        line_end: 2117
        line_start: 2116
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '191'
    - item_type: preproc_def
      name: WNM_NEIGHBOR_VHT_OPER
      pos:
        line_end: 2118
        line_start: 2117
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '192'
    - item_type: preproc_def
      name: WNM_NEIGHBOR_MULTI_LINK
      pos:
        line_end: 2119
        line_start: 2118
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '201'
    - item_type: preproc_def
      name: WLAN_20_40_BSS_COEX_INFO_REQ
      pos:
        line_end: 2131
        line_start: 2130
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: WLAN_20_40_BSS_COEX_40MHZ_INTOL
      pos:
        line_end: 2132
        line_start: 2131
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: WLAN_20_40_BSS_COEX_20MHZ_WIDTH_REQ
      pos:
        line_end: 2133
        line_start: 2132
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(2)
    - item_type: preproc_def
      name: WLAN_20_40_BSS_COEX_OBSS_EXEMPT_REQ
      pos:
        line_end: 2134
        line_start: 2133
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(3)
    - item_type: preproc_def
      name: WLAN_20_40_BSS_COEX_OBSS_EXEMPT_GRNT
      pos:
        line_end: 2135
        line_start: 2134
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(4)
    - item_type: preproc_def
      name: WNM_SLEEP_MODE_ENTER
      pos:
        line_end: 2159
        line_start: 2158
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: WNM_SLEEP_MODE_EXIT
      pos:
        line_end: 2160
        line_start: 2159
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CHAN_SWITCH_MODE_ALLOW_TX
      pos:
        line_end: 2222
        line_start: 2221
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: CHAN_SWITCH_MODE_BLOCK_TX
      pos:
        line_end: 2223
        line_start: 2222
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: RRM_CAPABILITIES_IE_LEN
      pos:
        line_end: 2252
        line_start: 2251
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '5'
    - item_type: preproc_def
      name: MEASUREMENT_REQUEST_MODE_PARALLEL
      pos:
        line_end: 2284
        line_start: 2283
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: MEASUREMENT_REQUEST_MODE_ENABLE
      pos:
        line_end: 2285
        line_start: 2284
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: MEASUREMENT_REQUEST_MODE_REQUEST
      pos:
        line_end: 2286
        line_start: 2285
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(2)
    - item_type: preproc_def
      name: MEASUREMENT_REQUEST_MODE_REPORT
      pos:
        line_end: 2287
        line_start: 2286
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(3)
    - item_type: preproc_def
      name: MEASUREMENT_REQUEST_MODE_DURATION_MANDATORY
      pos:
        line_end: 2288
        line_start: 2287
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(4)
    - item_type: preproc_def
      name: WLAN_BEACON_REQUEST_SUBELEM_SSID
      pos:
        line_end: 2313
        line_start: 2312
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: WLAN_BEACON_REQUEST_SUBELEM_INFO
      pos:
        line_end: 2314
        line_start: 2313
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '1 '
    - item_type: preproc_def
      name: WLAN_BEACON_REQUEST_SUBELEM_DETAIL
      pos:
        line_end: 2315
        line_start: 2314
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '2 '
    - item_type: preproc_def
      name: WLAN_BEACON_REQUEST_SUBELEM_REQUEST
      pos:
        line_end: 2316
        line_start: 2315
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '10'
    - item_type: preproc_def
      name: WLAN_BEACON_REQUEST_SUBELEM_EXT_REQUEST
      pos:
        line_end: 2317
        line_start: 2316
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '11'
    - item_type: preproc_def
      name: WLAN_BEACON_REQUEST_SUBELEM_AP_CHANNEL
      pos:
        line_end: 2318
        line_start: 2317
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '51 '
    - item_type: preproc_def
      name: WLAN_BEACON_REQUEST_SUBELEM_WIDE_BW_CS
      pos:
        line_end: 2319
        line_start: 2318
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '163'
    - item_type: preproc_def
      name: WLAN_BEACON_REQUEST_SUBELEM_LAST_INDICATION
      pos:
        line_end: 2320
        line_start: 2319
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '164'
    - item_type: preproc_def
      name: WLAN_BEACON_REQUEST_SUBELEM_VENDOR
      pos:
        line_end: 2321
        line_start: 2320
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '221'
    - item_type: preproc_def
      name: MEASUREMENT_REPORT_MODE_ACCEPT
      pos:
        line_end: 2346
        line_start: 2345
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: MEASUREMENT_REPORT_MODE_REJECT_LATE
      pos:
        line_end: 2347
        line_start: 2346
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: MEASUREMENT_REPORT_MODE_REJECT_INCAPABLE
      pos:
        line_end: 2348
        line_start: 2347
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: MEASUREMENT_REPORT_MODE_REJECT_REFUSED
      pos:
        line_end: 2349
        line_start: 2348
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(2)
    - item_type: preproc_def
      name: WLAN_BEACON_REPORT_SUBELEM_FRAME_BODY
      pos:
        line_end: 2369
        line_start: 2368
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: WLAN_BEACON_REPORT_SUBELEM_FRAME_BODY_FRAGMENT_ID
      pos:
        line_end: 2370
        line_start: 2369
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '2'
    - item_type: preproc_def
      name: WLAN_BEACON_REPORT_SUBELEM_WID_BW_CS
      pos:
        line_end: 2371
        line_start: 2370
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '163'
    - item_type: preproc_def
      name: WLAN_BEACON_REPORT_SUBELEM_LAST_INDICATION
      pos:
        line_end: 2372
        line_start: 2371
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '164'
    - item_type: preproc_def
      name: WLAN_BEACON_REPORT_SUBELEM_VENDOR
      pos:
        line_end: 2373
        line_start: 2372
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '221'
    - item_type: preproc_def
      name: REPORTED_FRAME_BODY_SUBELEM_LEN
      pos:
        line_end: 2377
        line_start: 2376
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '4'
    - item_type: preproc_def
      name: REPORTED_FRAME_BODY_MORE_FRAGMENTS
      pos:
        line_end: 2378
        line_start: 2377
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(7)
    - item_type: preproc_def
      name: BEACON_REPORT_LAST_INDICATION_SUBELEM_LEN
      pos:
        line_end: 2381
        line_start: 2380
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '3'
    - item_type: preproc_def
      name: MB_CTRL_ROLE_MASK
      pos:
        line_end: 2412
        line_start: 2411
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: (BIT(0) | BIT(1) | BIT(2))
    - item_type: preproc_def
      name: MB_CTRL_STA_MAC_PRESENT
      pos:
        line_end: 2414
        line_start: 2413
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u8) (BIT(3)))
    - item_type: preproc_def
      name: MB_CTRL_PAIRWISE_CIPHER_SUITE_PRESENT
      pos:
        line_end: 2415
        line_start: 2414
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u8) (BIT(4)))
    - item_type: preproc_def
      name: MB_CONNECTION_CAPABILITY_AP
      pos:
        line_end: 2423
        line_start: 2422
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u8) (BIT(0)))
    - item_type: preproc_def
      name: MB_CONNECTION_CAPABILITY_PCP
      pos:
        line_end: 2424
        line_start: 2423
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u8) (BIT(1)))
    - item_type: preproc_def
      name: MB_CONNECTION_CAPABILITY_DLS
      pos:
        line_end: 2425
        line_start: 2424
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u8) (BIT(2)))
    - item_type: preproc_def
      name: MB_CONNECTION_CAPABILITY_TDLS
      pos:
        line_end: 2426
        line_start: 2425
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u8) (BIT(3)))
    - item_type: preproc_def
      name: MB_CONNECTION_CAPABILITY_IBSS
      pos:
        line_end: 2427
        line_start: 2426
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u8) (BIT(4)))
    - item_type: preproc_def
      name: NEI_REP_BSSID_INFO_AP_NOT_REACH
      pos:
        line_end: 2458
        line_start: 2457
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: NEI_REP_BSSID_INFO_AP_UNKNOWN_REACH
      pos:
        line_end: 2459
        line_start: 2458
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: NEI_REP_BSSID_INFO_AP_REACHABLE
      pos:
        line_end: 2460
        line_start: 2459
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: (BIT(0) | BIT(1))
    - item_type: preproc_def
      name: NEI_REP_BSSID_INFO_SECURITY
      pos:
        line_end: 2461
        line_start: 2460
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(2)
    - item_type: preproc_def
      name: NEI_REP_BSSID_INFO_KEY_SCOPE
      pos:
        line_end: 2462
        line_start: 2461
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(3)
    - item_type: preproc_def
      name: NEI_REP_BSSID_INFO_SPECTRUM_MGMT
      pos:
        line_end: 2463
        line_start: 2462
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(4)
    - item_type: preproc_def
      name: NEI_REP_BSSID_INFO_QOS
      pos:
        line_end: 2464
        line_start: 2463
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(5)
    - item_type: preproc_def
      name: NEI_REP_BSSID_INFO_APSD
      pos:
        line_end: 2465
        line_start: 2464
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(6)
    - item_type: preproc_def
      name: NEI_REP_BSSID_INFO_RM
      pos:
        line_end: 2466
        line_start: 2465
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(7)
    - item_type: preproc_def
      name: NEI_REP_BSSID_INFO_MOBILITY_DOMAIN
      pos:
        line_end: 2469
        line_start: 2468
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(10)
    - item_type: preproc_def
      name: NEI_REP_BSSID_INFO_HT
      pos:
        line_end: 2470
        line_start: 2469
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(11)
    - item_type: preproc_def
      name: NEI_REP_BSSID_INFO_VHT
      pos:
        line_end: 2471
        line_start: 2470
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(12)
    - item_type: preproc_def
      name: NEI_REP_BSSID_INFO_FTM
      pos:
        line_end: 2472
        line_start: 2471
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(13)
    - item_type: preproc_def
      name: NEI_REP_BSSID_INFO_HE
      pos:
        line_end: 2473
        line_start: 2472
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(14)
    - item_type: preproc_def
      name: NEI_REP_BSSID_INFO_ER_BSS
      pos:
        line_end: 2474
        line_start: 2473
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(15)
    - item_type: preproc_def
      name: NEI_REP_BSSID_INFO_COLOCATED_AP
      pos:
        line_end: 2475
        line_start: 2474
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(16)
    - item_type: preproc_def
      name: NEI_REP_BSSID_INFO_UNSOLIC_PROBE_RESP
      pos:
        line_end: 2476
        line_start: 2475
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(17)
    - item_type: preproc_def
      name: NEI_REP_BSSID_INFO_MEMBER_OF_ESS_WITH_COLOC_AP
      pos:
        line_end: 2477
        line_start: 2476
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(18)
    - item_type: preproc_def
      name: NEI_REP_BSSID_INFO_OCT_WITH_REPORTING_AP
      pos:
        line_end: 2478
        line_start: 2477
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(19)
    - item_type: preproc_def
      name: NEI_REP_BSSID_INFO_COLOCATED_WITH_6GHZ
      pos:
        line_end: 2479
        line_start: 2478
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(20)
    - item_type: preproc_def
      name: NEI_REP_BSSID_INFO_EHT
      pos:
        line_end: 2480
        line_start: 2479
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(21)
    - item_type: preproc_def
      name: NEI_REP_BSSID_INFO_DMG_POSITIONING
      pos:
        line_end: 2481
        line_start: 2480
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(22)
    - item_type: preproc_def
      name: IEEE80211_HE_CAPAB_MIN_LEN
      pos:
        line_end: 2510
        line_start: 2509
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: (6 + 11)
    - item_type: preproc_def
      name: HE_6GHZ_OPER_INFO_CTRL_CHAN_WIDTH_MASK
      pos:
        line_end: 2531
        line_start: 2530
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: (BIT(0) | BIT(1))
    - item_type: preproc_def
      name: HE_6GHZ_OPER_INFO_CTRL_DUP_BEACON
      pos:
        line_end: 2532
        line_start: 2531
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(2)
    - item_type: preproc_def
      name: HE_6GHZ_OPER_INFO_CTRL_REG_INFO_MASK
      pos:
        line_end: 2533
        line_start: 2532
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: (BIT(3) | BIT(4) | BIT(5))
    - item_type: preproc_def
      name: HE_6GHZ_OPER_INFO_CTRL_REG_INFO_SHIFT
      pos:
        line_end: 2534
        line_start: 2533
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '3'
    - item_type: preproc_def
      name: HE_6GHZ_BAND_CAP_MIN_MPDU_START
      pos:
        line_end: 2548
        line_start: 2547
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: (BIT(0) | BIT(1) | BIT(2))
    - item_type: preproc_def
      name: HE_6GHZ_BAND_CAP_MAX_AMPDU_LEN_EXP_16K
      pos:
        line_end: 2549
        line_start: 2548
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(3)
    - item_type: preproc_def
      name: HE_6GHZ_BAND_CAP_MAX_AMPDU_LEN_EXP_32K
      pos:
        line_end: 2550
        line_start: 2549
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(4)
    - item_type: preproc_def
      name: HE_6GHZ_BAND_CAP_MAX_AMPDU_LEN_EXP_64K
      pos:
        line_end: 2551
        line_start: 2550
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: (BIT(3) | BIT(4))
    - item_type: preproc_def
      name: HE_6GHZ_BAND_CAP_MAX_AMPDU_LEN_EXP_128K
      pos:
        line_end: 2552
        line_start: 2551
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(5)
    - item_type: preproc_def
      name: HE_6GHZ_BAND_CAP_MAX_AMPDU_LEN_EXP_256K
      pos:
        line_end: 2553
        line_start: 2552
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: (BIT(3) | BIT(5))
    - item_type: preproc_def
      name: HE_6GHZ_BAND_CAP_MAX_AMPDU_LEN_EXP_512K
      pos:
        line_end: 2554
        line_start: 2553
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: (BIT(4) | BIT(5))
    - item_type: preproc_def
      name: HE_6GHZ_BAND_CAP_MAX_AMPDU_LEN_EXP_1024K
      pos:
        line_end: 2555
        line_start: 2554
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: (BIT(3) | BIT(4) | BIT(5))
    - item_type: preproc_def
      name: HE_6GHZ_BAND_CAP_MAX_AMPDU_LEN_EXP_MASK
      pos:
        line_end: 2556
        line_start: 2555
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: (BIT(3) | BIT(4) | BIT(5))
    - item_type: preproc_def
      name: HE_6GHZ_BAND_CAP_MAX_AMPDU_LEN_EXP_SHIFT
      pos:
        line_end: 2557
        line_start: 2556
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '3'
    - item_type: preproc_def
      name: HE_6GHZ_BAND_CAP_MAX_MPDU_LEN_7991
      pos:
        line_end: 2558
        line_start: 2557
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(6)
    - item_type: preproc_def
      name: HE_6GHZ_BAND_CAP_MAX_MPDU_LEN_11454
      pos:
        line_end: 2559
        line_start: 2558
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(7)
    - item_type: preproc_def
      name: HE_6GHZ_BAND_CAP_MAX_MPDU_LEN_MASK
      pos:
        line_end: 2560
        line_start: 2559
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: (BIT(6) | BIT(7))
    - item_type: preproc_def
      name: HE_6GHZ_BAND_CAP_MAX_MPDU_LEN_SHIFT
      pos:
        line_end: 2561
        line_start: 2560
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '6'
    - item_type: preproc_def
      name: HE_6GHZ_BAND_CAP_SMPS_MASK
      pos:
        line_end: 2562
        line_start: 2561
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: (BIT(9) | BIT(10))
    - item_type: preproc_def
      name: HE_6GHZ_BAND_CAP_SMPS_STATIC
      pos:
        line_end: 2563
        line_start: 2562
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: HE_6GHZ_BAND_CAP_SMPS_DYNAMIC
      pos:
        line_end: 2564
        line_start: 2563
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(9)
    - item_type: preproc_def
      name: HE_6GHZ_BAND_CAP_SMPS_DISABLED
      pos:
        line_end: 2565
        line_start: 2564
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: (BIT(9) | BIT(10))
    - item_type: preproc_def
      name: HE_6GHZ_BAND_CAP_RD_RESPONDER
      pos:
        line_end: 2566
        line_start: 2565
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(11)
    - item_type: preproc_def
      name: HE_6GHZ_BAND_CAP_RX_ANTPAT_CONS
      pos:
        line_end: 2567
        line_start: 2566
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(12)
    - item_type: preproc_def
      name: HE_6GHZ_BAND_CAP_TX_ANTPAT_CONS
      pos:
        line_end: 2568
        line_start: 2567
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(13)
    - item_type: preproc_def
      name: HE_CAPABILITIES_ELEM_MIN_LEN
      pos:
        line_end: 2585
        line_start: 2584
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '21'
    - item_type: preproc_def
      name: HE_MACCAP_TWT_RESPONDER
      pos:
        line_end: 2589
        line_start: 2588
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u8) BIT(2))
    - item_type: preproc_def
      name: HE_PHYCAP_CHANNEL_WIDTH_SET_IDX
      pos:
        line_end: 2591
        line_start: 2590
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: HE_PHYCAP_CHANNEL_WIDTH_MASK
      pos:
        line_end: 2593
        line_start: 2591
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: "((u8) (BIT(1) | BIT(2) | \\\n\t\t\t\t\t\t      BIT(3) | BIT(4)))"
    - item_type: preproc_def
      name: HE_PHYCAP_CHANNEL_WIDTH_SET_40MHZ_IN_2G
      pos:
        line_end: 2594
        line_start: 2593
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u8) BIT(1))
    - item_type: preproc_def
      name: HE_PHYCAP_CHANNEL_WIDTH_SET_40MHZ_80MHZ_IN_5G
      pos:
        line_end: 2595
        line_start: 2594
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u8) BIT(2))
    - item_type: preproc_def
      name: HE_PHYCAP_CHANNEL_WIDTH_SET_160MHZ_IN_5G
      pos:
        line_end: 2596
        line_start: 2595
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u8) BIT(3))
    - item_type: preproc_def
      name: HE_PHYCAP_CHANNEL_WIDTH_SET_80PLUS80MHZ_IN_5G
      pos:
        line_end: 2597
        line_start: 2596
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u8) BIT(4))
    - item_type: preproc_def
      name: HE_PHYCAP_SU_BEAMFORMER_CAPAB_IDX
      pos:
        line_end: 2599
        line_start: 2598
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '3'
    - item_type: preproc_def
      name: HE_PHYCAP_SU_BEAMFORMER_CAPAB
      pos:
        line_end: 2600
        line_start: 2599
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u8) BIT(7))
    - item_type: preproc_def
      name: HE_PHYCAP_SU_BEAMFORMEE_CAPAB_IDX
      pos:
        line_end: 2601
        line_start: 2600
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '4'
    - item_type: preproc_def
      name: HE_PHYCAP_SU_BEAMFORMEE_CAPAB
      pos:
        line_end: 2602
        line_start: 2601
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u8) BIT(0))
    - item_type: preproc_def
      name: HE_PHYCAP_MU_BEAMFORMER_CAPAB_IDX
      pos:
        line_end: 2603
        line_start: 2602
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '4'
    - item_type: preproc_def
      name: HE_PHYCAP_MU_BEAMFORMER_CAPAB
      pos:
        line_end: 2604
        line_start: 2603
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u8) BIT(1))
    - item_type: preproc_def
      name: HE_PHYCAP_PPE_THRESHOLD_PRESENT_IDX
      pos:
        line_end: 2606
        line_start: 2605
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '6'
    - item_type: preproc_def
      name: HE_PHYCAP_PPE_THRESHOLD_PRESENT
      pos:
        line_end: 2607
        line_start: 2606
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u8) BIT(7))
    - item_type: preproc_def
      name: HE_PPE_THRES_RU_INDEX_BITMASK_MASK
      pos:
        line_end: 2610
        line_start: 2609
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0xf'
    - item_type: preproc_def
      name: HE_PPE_THRES_RU_INDEX_BITMASK_SHIFT
      pos:
        line_end: 2611
        line_start: 2610
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '3'
    - item_type: preproc_def
      name: HE_PPE_THRES_NSS_MASK
      pos:
        line_end: 2612
        line_start: 2611
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x7'
    - item_type: preproc_def
      name: HE_OPERATION_DFLT_PE_DURATION_MASK
      pos:
        line_end: 2617
        line_start: 2615
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: "((u32) (BIT(0) | BIT(1) | \\\n\t\t\t\t\t\t\tBIT(2)))"
    - item_type: preproc_def
      name: HE_OPERATION_DFLT_PE_DURATION_OFFSET
      pos:
        line_end: 2618
        line_start: 2617
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: HE_OPERATION_TWT_REQUIRED
      pos:
        line_end: 2619
        line_start: 2618
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u32) BIT(3))
    - item_type: preproc_def
      name: HE_OPERATION_RTS_THRESHOLD_MASK
      pos:
        line_end: 2624
        line_start: 2619
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: "((u32) (BIT(4) | BIT(5) | \\\n\t\t\t\t\t\tBIT(6) | BIT(7) |
        \\\n\t\t\t\t\t\tBIT(8) | BIT(9) | \\\n\t\t\t\t\t\tBIT(10) | BIT(11) | \\\n\t\t\t\t\t\tBIT(12)
        | BIT(13)))"
    - item_type: preproc_def
      name: HE_OPERATION_RTS_THRESHOLD_OFFSET
      pos:
        line_end: 2625
        line_start: 2624
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '4'
    - item_type: preproc_def
      name: HE_OPERATION_VHT_OPER_INFO
      pos:
        line_end: 2626
        line_start: 2625
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u32) BIT(14))
    - item_type: preproc_def
      name: HE_OPERATION_COHOSTED_BSS
      pos:
        line_end: 2627
        line_start: 2626
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u32) BIT(15))
    - item_type: preproc_def
      name: HE_OPERATION_ER_SU_DISABLE
      pos:
        line_end: 2628
        line_start: 2627
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u32) BIT(16))
    - item_type: preproc_def
      name: HE_OPERATION_6GHZ_OPER_INFO
      pos:
        line_end: 2629
        line_start: 2628
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u32) BIT(17))
    - item_type: preproc_def
      name: HE_OPERATION_BSS_COLOR_MASK
      pos:
        line_end: 2632
        line_start: 2629
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: "((u32) (BIT(24) | BIT(25) | \\\n\t\t\t\t\t\t\tBIT(26) | BIT(27)
        | \\\n\t\t\t\t\t\t\tBIT(28) | BIT(29)))"
    - item_type: preproc_def
      name: HE_OPERATION_BSS_COLOR_PARTIAL
      pos:
        line_end: 2633
        line_start: 2632
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u32) BIT(30))
    - item_type: preproc_def
      name: HE_OPERATION_BSS_COLOR_DISABLED
      pos:
        line_end: 2634
        line_start: 2633
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u32) BIT(31))
    - item_type: preproc_def
      name: HE_OPERATION_BSS_COLOR_OFFSET
      pos:
        line_end: 2635
        line_start: 2634
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '24'
    - item_type: preproc_def
      name: HE_OPERATION_BSS_COLOR_MAX
      pos:
        line_end: 2636
        line_start: 2635
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '64'
    - item_type: preproc_def
      name: HE_OPERATION_ELEM_MIN_LEN
      pos:
        line_end: 2639
        line_start: 2638
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '6'
    - item_type: preproc_def
      name: HE_OPERATION_VHT_OPER_INFO_LEN
      pos:
        line_end: 2640
        line_start: 2639
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '3'
    - item_type: preproc_def
      name: HE_OPERATION_COHOSTED_BSSID_INDICATOR_LEN
      pos:
        line_end: 2641
        line_start: 2640
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HE_OPERATION_6GHZ_OPER_INFO_LEN
      pos:
        line_end: 2642
        line_start: 2641
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '5'
    - item_type: preproc_def
      name: SPATIAL_REUSE_SRP_DISALLOWED
      pos:
        line_end: 2672
        line_start: 2671
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: SPATIAL_REUSE_NON_SRG_OBSS_PD_SR_DISALLOWED
      pos:
        line_end: 2673
        line_start: 2672
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: SPATIAL_REUSE_NON_SRG_OFFSET_PRESENT
      pos:
        line_end: 2674
        line_start: 2673
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(2)
    - item_type: preproc_def
      name: SPATIAL_REUSE_SRG_INFORMATION_PRESENT
      pos:
        line_end: 2675
        line_start: 2674
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(3)
    - item_type: preproc_def
      name: SPATIAL_REUSE_HESIGA_SR_VAL15_ALLOWED
      pos:
        line_end: 2676
        line_start: 2675
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(4)
    - item_type: preproc_def
      name: HE_MU_AC_PARAM_ACI_IDX
      pos:
        line_end: 2688
        line_start: 2687
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: HE_MU_AC_PARAM_AIFSN
      pos:
        line_end: 2689
        line_start: 2688
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u8) (BIT(0) | BIT(1) | BIT(2) | BIT(3)))
    - item_type: preproc_def
      name: HE_MU_AC_PARAM_ACM
      pos:
        line_end: 2690
        line_start: 2689
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u8) BIT(4))
    - item_type: preproc_def
      name: HE_MU_AC_PARAM_ACI
      pos:
        line_end: 2691
        line_start: 2690
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u8) (BIT(5) | BIT(6)))
    - item_type: preproc_def
      name: HE_MU_AC_PARAM_ECW_IDX
      pos:
        line_end: 2695
        line_start: 2694
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HE_MU_AC_PARAM_ECWMIN
      pos:
        line_end: 2696
        line_start: 2695
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u8) (BIT(0) | BIT(1) | BIT(2) | BIT(3)))
    - item_type: preproc_def
      name: HE_MU_AC_PARAM_ECWMAX
      pos:
        line_end: 2697
        line_start: 2696
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u8) (BIT(4) | BIT(5) | BIT(6) | BIT(7)))
    - item_type: preproc_def
      name: HE_MU_AC_PARAM_TIMER_IDX
      pos:
        line_end: 2700
        line_start: 2699
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '2'
    - item_type: preproc_def
      name: HE_QOS_INFO_EDCA_PARAM_SET_COUNT
      pos:
        line_end: 2704
        line_start: 2702
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: "((u8) (BIT(0) | BIT(1) | \\\n\t\t\t\t\t\tBIT(2) | BIT(3)))"
    - item_type: preproc_def
      name: HE_QOS_INFO_Q_ACK
      pos:
        line_end: 2705
        line_start: 2704
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u8) (BIT(4)))
    - item_type: preproc_def
      name: HE_QOS_INFO_QUEUE_REQUEST
      pos:
        line_end: 2706
        line_start: 2705
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u8) (BIT(5)))
    - item_type: preproc_def
      name: HE_QOS_INFO_TXOP_REQUEST
      pos:
        line_end: 2707
        line_start: 2706
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u8) (BIT(6)))
    - item_type: preproc_def
      name: HE_QOS_INFO_MORE_DATA_ACK
      pos:
        line_end: 2709
        line_start: 2708
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u8) (BIT(7)))
    - item_type: preproc_def
      name: RNR_HEADER_LEN
      pos:
        line_end: 2715
        line_start: 2714
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '2'
    - item_type: preproc_def
      name: RNR_TBTT_HEADER_LEN
      pos:
        line_end: 2716
        line_start: 2715
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '4'
    - item_type: preproc_def
      name: RNR_TBTT_INFO_HDR_TYPE_MSK
      pos:
        line_end: 2717
        line_start: 2716
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x03'
    - item_type: preproc_def
      name: RNR_TBTT_INFO_HDR_FILTERED_AP
      pos:
        line_end: 2718
        line_start: 2717
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x04'
    - item_type: preproc_def
      name: RNR_TBTT_INFO_HDR_CNT_MSK
      pos:
        line_end: 2719
        line_start: 2718
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0xf0'
    - item_type: preproc_def
      name: RNR_TBTT_INFO_COUNT_MAX
      pos:
        line_end: 2721
        line_start: 2720
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '16'
    - item_type: preproc_def
      name: RNR_TBTT_INFO_LEN
      pos:
        line_end: 2723
        line_start: 2722
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '13'
    - item_type: preproc_def
      name: RNR_TBTT_INFO_MLD_LEN
      pos:
        line_end: 2724
        line_start: 2723
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '16'
    - item_type: preproc_def
      name: RNR_NEIGHBOR_AP_OFFSET_UNKNOWN
      pos:
        line_end: 2725
        line_start: 2724
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '255'
    - item_type: preproc_def
      name: RNR_BSS_PARAM_OCT_RECOMMENDED
      pos:
        line_end: 2727
        line_start: 2726
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: RNR_BSS_PARAM_SAME_SSID
      pos:
        line_end: 2728
        line_start: 2727
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: RNR_BSS_PARAM_MULTIPLE_BSSID
      pos:
        line_end: 2729
        line_start: 2728
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(2)
    - item_type: preproc_def
      name: RNR_BSS_PARAM_TRANSMITTED_BSSID
      pos:
        line_end: 2730
        line_start: 2729
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(3)
    - item_type: preproc_def
      name: RNR_BSS_PARAM_MEMBER_CO_LOCATED_ESS
      pos:
        line_end: 2731
        line_start: 2730
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(4)
    - item_type: preproc_def
      name: RNR_BSS_PARAM_UNSOLIC_PROBE_RESP_ACTIVE
      pos:
        line_end: 2732
        line_start: 2731
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(5)
    - item_type: preproc_def
      name: RNR_BSS_PARAM_CO_LOCATED
      pos:
        line_end: 2733
        line_start: 2732
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(6)
    - item_type: preproc_def
      name: RNR_20_MHZ_PSD_MAX_TXPOWER
      pos:
        line_end: 2736
        line_start: 2735
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '127'
    - item_type: preproc_def
      name: RNR_TBTT_INFO_MLD_PARAM2_ALL_UPDATE_INC
      pos:
        line_end: 2743
        line_start: 2742
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x10'
    - item_type: preproc_def
      name: RNR_TBTT_INFO_MLD_PARAM2_LINK_DISABLED
      pos:
        line_end: 2745
        line_start: 2744
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x20'
    - item_type: preproc_def
      name: EHT_OPERATION_ELEM_MIN_LEN
      pos:
        line_end: 2748
        line_start: 2747
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '5'
    - item_type: preproc_def
      name: EHT_OPER_INFO_PRESENT
      pos:
        line_end: 2751
        line_start: 2750
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: EHT_OPER_DISABLED_SUBCHAN_BITMAP_PRESENT
      pos:
        line_end: 2752
        line_start: 2751
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: EHT_OPER_DEFAULT_PE_DURATION
      pos:
        line_end: 2753
        line_start: 2752
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(2)
    - item_type: preproc_def
      name: EHT_OPER_GROUP_ADDR_BU_INDICATION_LIMIT
      pos:
        line_end: 2754
        line_start: 2753
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(3)
    - item_type: preproc_def
      name: EHT_OPER_GROUP_ADDR_BU_INDICATION_EXPONENT
      pos:
        line_end: 2755
        line_start: 2754
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: (BIT(4) | BIT(5))
    - item_type: preproc_def
      name: EHT_OPER_MCS15_DISABLE
      pos:
        line_end: 2756
        line_start: 2755
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(6)
    - item_type: preproc_def
      name: EHT_OPER_DISABLED_SUBCHAN_BITMAP_SIZE
      pos:
        line_end: 2757
        line_start: 2756
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '2'
    - item_type: preproc_def
      name: EHT_OPER_CHANNEL_WIDTH_MASK
      pos:
        line_end: 2761
        line_start: 2760
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x7'
    - item_type: preproc_def
      name: EHT_OPER_CHANNEL_WIDTH_20MHZ
      pos:
        line_end: 2762
        line_start: 2761
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: EHT_OPER_CHANNEL_WIDTH_40MHZ
      pos:
        line_end: 2763
        line_start: 2762
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: EHT_OPER_CHANNEL_WIDTH_80MHZ
      pos:
        line_end: 2764
        line_start: 2763
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '2'
    - item_type: preproc_def
      name: EHT_OPER_CHANNEL_WIDTH_160MHZ
      pos:
        line_end: 2765
        line_start: 2764
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '3'
    - item_type: preproc_def
      name: EHT_OPER_CHANNEL_WIDTH_320MHZ
      pos:
        line_end: 2766
        line_start: 2765
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '4'
    - item_type: preproc_def
      name: EHT_OPER_INFO_MIN_LEN
      pos:
        line_end: 2769
        line_start: 2768
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '3'
    - item_type: preproc_def
      name: EHT_CAPABILITIES_ELEM_MIN_LEN
      pos:
        line_end: 2786
        line_start: 2785
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '11'
    - item_type: preproc_def
      name: EHT_MACCAP_EPCS_PRIO
      pos:
        line_end: 2789
        line_start: 2788
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: EHT_MACCAP_OM_CONTROL
      pos:
        line_end: 2790
        line_start: 2789
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: EHT_MACCAP_TRIGGERED_TXOP_MODE1
      pos:
        line_end: 2791
        line_start: 2790
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(2)
    - item_type: preproc_def
      name: EHT_MACCAP_TRIGGERED_TXOP_MODE2
      pos:
        line_end: 2792
        line_start: 2791
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(3)
    - item_type: preproc_def
      name: EHT_MACCAP_RESTRICTED_TWT
      pos:
        line_end: 2793
        line_start: 2792
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(4)
    - item_type: preproc_def
      name: EHT_MACCAP_SCS_TRAFFIC_DESC
      pos:
        line_end: 2794
        line_start: 2793
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(5)
    - item_type: preproc_def
      name: EHT_MACCAP_MAX_MPDU_LEN_MASK
      pos:
        line_end: 2795
        line_start: 2794
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: (BIT(6) | BIT(7))
    - item_type: preproc_def
      name: EHT_MACCAP_MAX_MPDU_LEN_3895
      pos:
        line_end: 2796
        line_start: 2795
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: EHT_MACCAP_MAX_MPDU_LEN_7991
      pos:
        line_end: 2797
        line_start: 2796
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(6)
    - item_type: preproc_def
      name: EHT_MACCAP_MAX_MPDU_LEN_11454
      pos:
        line_end: 2798
        line_start: 2797
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(7)
    - item_type: preproc_def
      name: EHT_MACCAP_MAX_AMPDU_LEN_EXP_EXT
      pos:
        line_end: 2799
        line_start: 2798
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(8)
    - item_type: preproc_def
      name: EHT_PHY_CAPAB_LEN
      pos:
        line_end: 2803
        line_start: 2802
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '9'
    - item_type: preproc_def
      name: EHT_PHYCAP_320MHZ_IN_6GHZ_SUPPORT_IDX
      pos:
        line_end: 2805
        line_start: 2804
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: EHT_PHYCAP_320MHZ_IN_6GHZ_SUPPORT_MASK
      pos:
        line_end: 2806
        line_start: 2805
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u8) BIT(1))
    - item_type: preproc_def
      name: EHT_PHYCAP_SU_BEAMFORMER_IDX
      pos:
        line_end: 2808
        line_start: 2807
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: EHT_PHYCAP_SU_BEAMFORMER
      pos:
        line_end: 2809
        line_start: 2808
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u8) BIT(5))
    - item_type: preproc_def
      name: EHT_PHYCAP_SU_BEAMFORMEE_IDX
      pos:
        line_end: 2810
        line_start: 2809
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: EHT_PHYCAP_SU_BEAMFORMEE
      pos:
        line_end: 2811
        line_start: 2810
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u8) BIT(6))
    - item_type: preproc_def
      name: EHT_PHYCAP_PPE_THRESHOLD_PRESENT_IDX
      pos:
        line_end: 2813
        line_start: 2812
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '5'
    - item_type: preproc_def
      name: EHT_PHYCAP_PPE_THRESHOLD_PRESENT
      pos:
        line_end: 2814
        line_start: 2813
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u8) BIT(3))
    - item_type: preproc_def
      name: EHT_PHYCAP_MU_BEAMFORMER_IDX
      pos:
        line_end: 2816
        line_start: 2815
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '7'
    - item_type: preproc_def
      name: EHT_PHYCAP_MU_BEAMFORMER_80MHZ
      pos:
        line_end: 2817
        line_start: 2816
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u8) BIT(4))
    - item_type: preproc_def
      name: EHT_PHYCAP_MU_BEAMFORMER_160MHZ
      pos:
        line_end: 2818
        line_start: 2817
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u8) BIT(5))
    - item_type: preproc_def
      name: EHT_PHYCAP_MU_BEAMFORMER_320MHZ
      pos:
        line_end: 2819
        line_start: 2818
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u8) BIT(6))
    - item_type: preproc_def
      name: EHT_PHYCAP_MU_BEAMFORMER_MASK
      pos:
        line_end: 2822
        line_start: 2819
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: "(EHT_PHYCAP_MU_BEAMFORMER_80MHZ | \\\n\t\t\t\t\t EHT_PHYCAP_MU_BEAMFORMER_160MHZ
        | \\\n\t\t\t\t\t EHT_PHYCAP_MU_BEAMFORMER_320MHZ)"
    - item_type: preproc_def
      name: EHT_PHYCAP_MCS_NSS_LEN_20MHZ_ONLY
      pos:
        line_end: 2825
        line_start: 2824
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '4'
    - item_type: preproc_def
      name: EHT_PHYCAP_MCS_NSS_LEN_20MHZ_PLUS
      pos:
        line_end: 2826
        line_start: 2825
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '3'
    - item_type: preproc_def
      name: EHT_MCS_NSS_CAPAB_LEN
      pos:
        line_end: 2828
        line_start: 2827
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '9'
    - item_type: preproc_def
      name: EHT_PPE_THRESH_CAPAB_LEN
      pos:
        line_end: 2835
        line_start: 2834
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '62'
    - item_type: preproc_def
      name: EHT_PPE_THRES_NSS_SHIFT
      pos:
        line_end: 2838
        line_start: 2837
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: EHT_PPE_THRES_NSS_MASK
      pos:
        line_end: 2840
        line_start: 2838
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: "((u8) (BIT(0) | BIT(1) | \\\n\t\t\t\t\t\t       BIT(2) | BIT(3)))"
    - item_type: preproc_def
      name: EHT_PPE_THRES_RU_INDEX_SHIFT
      pos:
        line_end: 2841
        line_start: 2840
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '4'
    - item_type: preproc_def
      name: EHT_PPE_THRES_RU_INDEX_MASK
      pos:
        line_end: 2844
        line_start: 2841
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: "((u16) (BIT(4) | BIT(5) | \\\n\t\t\t\t\t\t\tBIT(6) | BIT(7)
        | \\\n\t\t\t\t\t\t\tBIT(8)))"
    - item_type: preproc_def
      name: EHT_NSS_MAX_STREAMS
      pos:
        line_end: 2846
        line_start: 2845
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '8'
    - item_type: preproc_def
      name: IEEE80211_EHT_CAPAB_MIN_LEN
      pos:
        line_end: 2858
        line_start: 2857
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: (2 + 9)
    - item_type: preproc_def
      name: MULTI_LINK_CONTROL_TYPE_MASK
      pos:
        line_end: 2863
        line_start: 2862
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x07'
    - item_type: preproc_def
      name: MULTI_LINK_CONTROL_LEN
      pos:
        line_end: 2864
        line_start: 2863
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '2'
    - item_type: preproc_def
      name: MULTI_LINK_CONTROL_TYPE_BASIC
      pos:
        line_end: 2867
        line_start: 2866
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: MULTI_LINK_CONTROL_TYPE_PROBE_REQ
      pos:
        line_end: 2868
        line_start: 2867
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MULTI_LINK_CONTROL_TYPE_RECONF
      pos:
        line_end: 2869
        line_start: 2868
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '2'
    - item_type: preproc_def
      name: MULTI_LINK_CONTROL_TYPE_TDLS
      pos:
        line_end: 2870
        line_start: 2869
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '3'
    - item_type: preproc_def
      name: MULTI_LINK_CONTROL_TYPE_PRIOR_ACCESS
      pos:
        line_end: 2871
        line_start: 2870
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '4'
    - item_type: preproc_def
      name: MULTI_LINK_SUB_ELEM_ID_PER_STA_PROFILE
      pos:
        line_end: 2877
        line_start: 2876
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: MULTI_LINK_SUB_ELEM_ID_VENDOR
      pos:
        line_end: 2878
        line_start: 2877
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '221'
    - item_type: preproc_def
      name: MULTI_LINK_SUB_ELEM_ID_FRAGMENT
      pos:
        line_end: 2879
        line_start: 2878
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '254'
    - item_type: preproc_def
      name: BASIC_MULTI_LINK_CTRL_PRES_LINK_ID
      pos:
        line_end: 2884
        line_start: 2883
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x0010'
    - item_type: preproc_def
      name: BASIC_MULTI_LINK_CTRL_PRES_BSS_PARAM_CH_COUNT
      pos:
        line_end: 2885
        line_start: 2884
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x0020'
    - item_type: preproc_def
      name: BASIC_MULTI_LINK_CTRL_PRES_MSD_INFO
      pos:
        line_end: 2886
        line_start: 2885
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x0040'
    - item_type: preproc_def
      name: BASIC_MULTI_LINK_CTRL_PRES_EML_CAPA
      pos:
        line_end: 2887
        line_start: 2886
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x0080'
    - item_type: preproc_def
      name: BASIC_MULTI_LINK_CTRL_PRES_MLD_CAPA
      pos:
        line_end: 2888
        line_start: 2887
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x0100'
    - item_type: preproc_def
      name: BASIC_MULTI_LINK_CTRL_PRES_AP_MLD_ID
      pos:
        line_end: 2889
        line_start: 2888
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x0200'
    - item_type: preproc_def
      name: BASIC_MULTI_LINK_CTRL_PRES_EXT_MLD_CAP
      pos:
        line_end: 2890
        line_start: 2889
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x0400'
    - item_type: preproc_def
      name: BASIC_MULTI_LINK_CTRL_PRES_ENH_CRIT_UPD
      pos:
        line_end: 2891
        line_start: 2890
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x0800'
    - item_type: preproc_def
      name: BASIC_MLE_STA_CTRL_LEN
      pos:
        line_end: 2898
        line_start: 2897
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '2'
    - item_type: preproc_def
      name: BASIC_MLE_STA_CTRL_LINK_ID_MASK
      pos:
        line_end: 2899
        line_start: 2898
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x000F'
    - item_type: preproc_def
      name: BASIC_MLE_STA_CTRL_COMPLETE_PROFILE
      pos:
        line_end: 2900
        line_start: 2899
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x0010'
    - item_type: preproc_def
      name: BASIC_MLE_STA_CTRL_PRES_STA_MAC
      pos:
        line_end: 2901
        line_start: 2900
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x0020'
    - item_type: preproc_def
      name: BASIC_MLE_STA_CTRL_PRES_BEACON_INT
      pos:
        line_end: 2902
        line_start: 2901
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x0040'
    - item_type: preproc_def
      name: BASIC_MLE_STA_CTRL_PRES_TSF_OFFSET
      pos:
        line_end: 2903
        line_start: 2902
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x0080'
    - item_type: preproc_def
      name: BASIC_MLE_STA_CTRL_PRES_DTIM_INFO
      pos:
        line_end: 2904
        line_start: 2903
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x0100'
    - item_type: preproc_def
      name: BASIC_MLE_STA_CTRL_PRES_NSTR_LINK_PAIR
      pos:
        line_end: 2905
        line_start: 2904
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x0200'
    - item_type: preproc_def
      name: BASIC_MLE_STA_CTRL_NSTR_BITMAP
      pos:
        line_end: 2906
        line_start: 2905
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x0400'
    - item_type: preproc_def
      name: BASIC_MLE_STA_CTRL_PRES_BSS_PARAM_COUNT
      pos:
        line_end: 2907
        line_start: 2906
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x0800'
    - item_type: preproc_def
      name: BASIC_MLE_STA_CTRL_PRES_ENH_CRIT_UPD
      pos:
        line_end: 2908
        line_start: 2907
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x1000'
    - item_type: preproc_def
      name: BASIC_MLE_STA_PROF_STA_MAC_IDX
      pos:
        line_end: 2910
        line_start: 2909
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '3'
    - item_type: preproc_def
      name: EHT_ML_EML_CAPA_LEN
      pos:
        line_end: 2934
        line_start: 2933
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '2'
    - item_type: preproc_def
      name: EHT_ML_LINK_ID_LEN
      pos:
        line_end: 2937
        line_start: 2936
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: EHT_ML_LINK_ID_MSK
      pos:
        line_end: 2939
        line_start: 2938
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x0f'
    - item_type: preproc_def
      name: EHT_ML_MEDIUM_SYNC_DELAY_DURATION
      pos:
        line_end: 2941
        line_start: 2940
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x00ff'
    - item_type: preproc_def
      name: EHT_ML_MEDIUM_SYNC_DELAY_OFDM_ED_TH
      pos:
        line_end: 2942
        line_start: 2941
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x0f00'
    - item_type: preproc_def
      name: EHT_ML_MEDIUM_SYNC_DELAY_MAX_TXOP
      pos:
        line_end: 2943
        line_start: 2942
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0xf000'
    - item_type: preproc_def
      name: EHT_ML_EML_CAPA_EMLSR_SUPP
      pos:
        line_end: 2945
        line_start: 2944
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x0001'
    - item_type: preproc_def
      name: EHT_ML_EML_CAPA_EMLSR_PADDING_DELAY_MASK
      pos:
        line_end: 2946
        line_start: 2945
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x000e'
    - item_type: preproc_def
      name: EHT_ML_EML_CAPA_EMLSR_TRANS_DELAY_MASK
      pos:
        line_end: 2947
        line_start: 2946
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x0070'
    - item_type: preproc_def
      name: EHT_ML_EML_CAPA_EMLMR_SUPP
      pos:
        line_end: 2948
        line_start: 2947
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x0080'
    - item_type: preproc_def
      name: EHT_ML_EML_CAPA_TRANSITION_TIMEOUT_MASK
      pos:
        line_end: 2949
        line_start: 2948
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x7800'
    - item_type: preproc_def
      name: EHT_ML_EML_CAPA_RESERVED
      pos:
        line_end: 2950
        line_start: 2949
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x8700'
    - item_type: preproc_def
      name: EHT_ML_MLD_CAPA_MAX_NUM_SIM_LINKS_MASK
      pos:
        line_end: 2952
        line_start: 2951
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x000f'
    - item_type: preproc_def
      name: EHT_ML_MLD_CAPA_SRS_SUPP
      pos:
        line_end: 2953
        line_start: 2952
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x0010'
    - item_type: preproc_def
      name: EHT_ML_MLD_CAPA_TID_TO_LINK_MAP_ALL_TO_ALL
      pos:
        line_end: 2954
        line_start: 2953
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x0020'
    - item_type: preproc_def
      name: EHT_ML_MLD_CAPA_TID_TO_LINK_MAP_ALL_TO_ONE
      pos:
        line_end: 2955
        line_start: 2954
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x0040'
    - item_type: preproc_def
      name: EHT_ML_MLD_CAPA_TID_TO_LINK_MAP_NEG_SUPP_MSK
      pos:
        line_end: 2956
        line_start: 2955
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x0060'
    - item_type: preproc_def
      name: EHT_ML_MLD_CAPA_AP_MLD_TYPE_IND_MASK
      pos:
        line_end: 2957
        line_start: 2956
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x0080'
    - item_type: preproc_def
      name: EHT_ML_MLD_CAPA_FREQ_SEP_FOR_STR_MASK
      pos:
        line_end: 2958
        line_start: 2957
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x0f80'
    - item_type: preproc_def
      name: EHT_ML_MLD_CAPA_AAR_SUPP
      pos:
        line_end: 2959
        line_start: 2958
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x1000'
    - item_type: preproc_def
      name: EHT_ML_MLD_CAPA_LINK_RECONF_OP_SUPPORT
      pos:
        line_end: 2960
        line_start: 2959
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x2000'
    - item_type: preproc_def
      name: EHT_ML_MLD_CAPA_ALIGNED_TWT_SUPPORT
      pos:
        line_end: 2961
        line_start: 2960
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x4000'
    - item_type: preproc_def
      name: EHT_ML_MLD_CAPA_RESERVED
      pos:
        line_end: 2962
        line_start: 2961
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x8000'
    - item_type: preproc_def
      name: EHT_ML_EXT_MLD_CAPA_OP_PARAM_UPDATE
      pos:
        line_end: 2964
        line_start: 2963
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x0001'
    - item_type: preproc_def
      name: EHT_ML_EXT_MLD_CAPA_OP_RECO_MAX_LINKS_MASK
      pos:
        line_end: 2965
        line_start: 2964
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x001e'
    - item_type: preproc_def
      name: EHT_ML_EXT_MLD_CAPA_NSTR_UPDATE
      pos:
        line_end: 2966
        line_start: 2965
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x0020'
    - item_type: preproc_def
      name: EHT_ML_EXT_MLD_CAPA_EMLSR_ENA_ONE_LINK
      pos:
        line_end: 2967
        line_start: 2966
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x0040'
    - item_type: preproc_def
      name: EHT_ML_EXT_MLD_CAPA_BTM_MLD_RECO_MULTI_AP
      pos:
        line_end: 2968
        line_start: 2967
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x0080'
    - item_type: preproc_def
      name: EHT_ML_PRES_BM_PROBE_REQ_AP_MLD_ID
      pos:
        line_end: 2985
        line_start: 2984
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x0010'
    - item_type: preproc_def
      name: EHT_ML_PRES_BM_PROBE_REQ_MLD_MAC_ADDR
      pos:
        line_end: 2986
        line_start: 2985
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x0020'
    - item_type: preproc_def
      name: RECONF_MULTI_LINK_CTRL_PRES_MLD_MAC_ADDR
      pos:
        line_end: 3003
        line_start: 3002
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x0001'
    - item_type: preproc_def
      name: RECONF_MULTI_LINK_CTRL_PRES_EML_CAPA
      pos:
        line_end: 3004
        line_start: 3003
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x0002'
    - item_type: preproc_def
      name: RECONF_MULTI_LINK_CTRL_PRES_MLD_CAPA
      pos:
        line_end: 3005
        line_start: 3004
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x0004'
    - item_type: preproc_def
      name: RECONF_MULTI_LINK_CTRL_PRES_EXT_MLD_CAP
      pos:
        line_end: 3006
        line_start: 3005
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x0008'
    - item_type: preproc_def
      name: EHT_PER_STA_RECONF_CTRL_LINK_ID_MSK
      pos:
        line_end: 3008
        line_start: 3007
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x000f'
    - item_type: preproc_def
      name: EHT_PER_STA_RECONF_CTRL_COMPLETE_PROFILE
      pos:
        line_end: 3009
        line_start: 3008
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x0010'
    - item_type: preproc_def
      name: EHT_PER_STA_RECONF_CTRL_MAC_ADDR
      pos:
        line_end: 3010
        line_start: 3009
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x0020'
    - item_type: preproc_def
      name: EHT_PER_STA_RECONF_CTRL_AP_REMOVAL_TIMER
      pos:
        line_end: 3011
        line_start: 3010
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x0040'
    - item_type: preproc_def
      name: EHT_PER_STA_RECONF_CTRL_OP_UPDATE_TYPE_MSK
      pos:
        line_end: 3012
        line_start: 3011
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x0780'
    - item_type: preproc_def
      name: EHT_PER_STA_RECONF_CTRL_OP_PARAMS
      pos:
        line_end: 3013
        line_start: 3012
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x0800'
    - item_type: preproc_def
      name: EHT_PER_STA_RECONF_CTRL_NSTR_BITMAP_SIZE
      pos:
        line_end: 3014
        line_start: 3013
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x1000'
    - item_type: preproc_def
      name: EHT_PER_STA_RECONF_CTRL_NSTR_INDICATION
      pos:
        line_end: 3015
        line_start: 3014
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x2000'
    - item_type: preproc_def
      name: BW_IND_CHANNEL_WIDTH_20MHZ
      pos:
        line_end: 3084
        line_start: 3083
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: EHT_OPER_CHANNEL_WIDTH_20MHZ
    - item_type: preproc_def
      name: BW_IND_CHANNEL_WIDTH_40MHZ
      pos:
        line_end: 3085
        line_start: 3084
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: EHT_OPER_CHANNEL_WIDTH_40MHZ
    - item_type: preproc_def
      name: BW_IND_CHANNEL_WIDTH_80MHZ
      pos:
        line_end: 3086
        line_start: 3085
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: EHT_OPER_CHANNEL_WIDTH_80MHZ
    - item_type: preproc_def
      name: BW_IND_CHANNEL_WIDTH_160MHZ
      pos:
        line_end: 3087
        line_start: 3086
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: EHT_OPER_CHANNEL_WIDTH_160MHZ
    - item_type: preproc_def
      name: BW_IND_CHANNEL_WIDTH_320MHZ
      pos:
        line_end: 3088
        line_start: 3087
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: EHT_OPER_CHANNEL_WIDTH_320MHZ
    - item_type: preproc_def
      name: BW_IND_PARAMETER_DISABLED_SUBCHAN_BITMAP_PRESENT
      pos:
        line_end: 3096
        line_start: 3095
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: EDMG_BSS_OPERATING_CHANNELS_OFFSET
      pos:
        line_end: 3099
        line_start: 3098
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '6'
    - item_type: preproc_def
      name: EDMG_OPERATING_CHANNEL_WIDTH_OFFSET
      pos:
        line_end: 3100
        line_start: 3099
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '7'
    - item_type: preproc_def
      name: EDMG_CHANNEL_9_SUBCHANNELS
      pos:
        line_end: 3112
        line_start: 3111
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '(BIT(0) | BIT(1)) '
    - item_type: preproc_def
      name: EDMG_CHANNEL_10_SUBCHANNELS
      pos:
        line_end: 3113
        line_start: 3112
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '(BIT(1) | BIT(2)) '
    - item_type: preproc_def
      name: EDMG_CHANNEL_11_SUBCHANNELS
      pos:
        line_end: 3114
        line_start: 3113
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '(BIT(2) | BIT(3)) '
    - item_type: preproc_def
      name: EDMG_CHANNEL_12_SUBCHANNELS
      pos:
        line_end: 3115
        line_start: 3114
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '(BIT(3) | BIT(4)) '
    - item_type: preproc_def
      name: EDMG_CHANNEL_13_SUBCHANNELS
      pos:
        line_end: 3116
        line_start: 3115
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '(BIT(4) | BIT(5)) '
    - item_type: preproc_def
      name: DPP_OUI_TYPE
      pos:
        line_end: 3132
        line_start: 3131
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x1A'
    - item_type: preproc_def
      name: EHT_TID_TO_LINK_MAP_DIRECTION_DOWN
      pos:
        line_end: 3152
        line_start: 3151
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: EHT_TID_TO_LINK_MAP_DIRECTION_UP
      pos:
        line_end: 3153
        line_start: 3152
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: EHT_TID_TO_LINK_MAP_DIRECTION_BOTH
      pos:
        line_end: 3154
        line_start: 3153
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '2'
    - item_type: preproc_def
      name: EHT_TID_TO_LINK_MAP_DIRECTION_MSK
      pos:
        line_end: 3155
        line_start: 3154
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x03'
    - item_type: preproc_def
      name: EHT_TID_TO_LINK_MAP_DEFAULT
      pos:
        line_end: 3156
        line_start: 3155
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x04'
    - item_type: preproc_def
      name: EHT_TID_TO_LINK_MAP_SWITCH_TIME_PRESENT
      pos:
        line_end: 3157
        line_start: 3156
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x08'
    - item_type: preproc_def
      name: EHT_TID_TO_LINK_MAP_EXPECT_DUR_PRESENT
      pos:
        line_end: 3158
        line_start: 3157
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x10'
    - item_type: preproc_def
      name: EHT_TID_TO_LINK_MAP_LINK_MAPPING_SIZE
      pos:
        line_end: 3159
        line_start: 3158
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x20'
    - item_type: preproc_def
      name: EHT_QOS_CONTROL_INFO_DIRECTION_OFFSET
      pos:
        line_end: 3175
        line_start: 3174
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: EHT_QOS_CONTROL_INFO_TID_OFFSET
      pos:
        line_end: 3176
        line_start: 3175
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '2'
    - item_type: preproc_def
      name: EHT_QOS_CONTROL_INFO_USER_PRIORITY_OFFSET
      pos:
        line_end: 3177
        line_start: 3176
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '6'
    - item_type: preproc_def
      name: EHT_QOS_CONTROL_INFO_PRESENCE_MASK_OFFSET
      pos:
        line_end: 3178
        line_start: 3177
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '9'
    - item_type: preproc_def
      name: EHT_QOS_CONTROL_INFO_LINK_ID_OFFSET
      pos:
        line_end: 3179
        line_start: 3178
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '25'
    - item_type: preproc_def
      name: SCS_QOS_BIT_MAX_MSDU_SIZE
      pos:
        line_end: 3185
        line_start: 3184
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u16) BIT(0))
    - item_type: preproc_def
      name: SCS_QOS_BIT_SERVICE_START_TIME
      pos:
        line_end: 3186
        line_start: 3185
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u16) BIT(1))
    - item_type: preproc_def
      name: SCS_QOS_BIT_SERVICE_START_TIME_LINKID
      pos:
        line_end: 3187
        line_start: 3186
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u16) BIT(2))
    - item_type: preproc_def
      name: SCS_QOS_BIT_MEAN_DATA_RATE
      pos:
        line_end: 3188
        line_start: 3187
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u16) BIT(3))
    - item_type: preproc_def
      name: SCS_QOS_BIT_DELAYED_BOUNDED_BURST_SIZE
      pos:
        line_end: 3189
        line_start: 3188
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u16) BIT(4))
    - item_type: preproc_def
      name: SCS_QOS_BIT_MSDU_LIFETIME
      pos:
        line_end: 3190
        line_start: 3189
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u16) BIT(5))
    - item_type: preproc_def
      name: SCS_QOS_BIT_MSDU_DELIVERY_INFO
      pos:
        line_end: 3191
        line_start: 3190
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u16) BIT(6))
    - item_type: preproc_def
      name: SCS_QOS_BIT_MEDIUM_TIME
      pos:
        line_end: 3192
        line_start: 3191
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u16) BIT(7))
    - item_type: preproc_def
      name: FD_FRAME_CTL_CAP_PRESENT
      pos:
        line_end: 3203
        line_start: 3202
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u16) BIT(5))
    - item_type: preproc_def
      name: FD_FRAME_CTL_SHORT_SSID_PRESENT
      pos:
        line_end: 3204
        line_start: 3203
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u16) BIT(6))
    - item_type: preproc_def
      name: FD_FRAME_CTL_AP_CSN_PRESENT
      pos:
        line_end: 3205
        line_start: 3204
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u16) BIT(7))
    - item_type: preproc_def
      name: FD_FRAME_CTL_ANO_PRESENT
      pos:
        line_end: 3206
        line_start: 3205
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u16) BIT(8))
    - item_type: preproc_def
      name: FD_FRAME_CTL_FREQ_SEG1_PRESENT
      pos:
        line_end: 3207
        line_start: 3206
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u16) BIT(9))
    - item_type: preproc_def
      name: FD_FRAME_CTL_PRI_CHAN_PRESENT
      pos:
        line_end: 3208
        line_start: 3207
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u16) BIT(10))
    - item_type: preproc_def
      name: FD_FRAME_CTL_RSN_INFO_PRESENT
      pos:
        line_end: 3209
        line_start: 3208
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u16) BIT(11))
    - item_type: preproc_def
      name: FD_FRAME_CTL_LENGTH_PRESENT
      pos:
        line_end: 3210
        line_start: 3209
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u16) BIT(12))
    - item_type: preproc_def
      name: FD_FRAME_CTL_MD_PRESENT
      pos:
        line_end: 3211
        line_start: 3210
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: ((u16) BIT(13))
    - item_type: preproc_def
      name: FD_CAP_ESS
      pos:
        line_end: 3217
        line_start: 3216
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: FD_CAP_PRIVACY
      pos:
        line_end: 3218
        line_start: 3217
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: FD_CAP_MULTI_BSSID_PRESENT
      pos:
        line_end: 3219
        line_start: 3218
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(9)
    - item_type: preproc_def
      name: FD_CAP_BSS_CHWIDTH_20
      pos:
        line_end: 3221
        line_start: 3220
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: FD_CAP_BSS_CHWIDTH_40
      pos:
        line_end: 3222
        line_start: 3221
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: FD_CAP_BSS_CHWIDTH_80
      pos:
        line_end: 3223
        line_start: 3222
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '2'
    - item_type: preproc_def
      name: FD_CAP_BSS_CHWIDTH_160_80_80
      pos:
        line_end: 3224
        line_start: 3223
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '3'
    - item_type: preproc_def
      name: FD_CAP_BSS_CHWIDTH_320
      pos:
        line_end: 3225
        line_start: 3224
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '4'
    - item_type: preproc_def
      name: FD_CAP_BSS_CHWIDTH_SHIFT
      pos:
        line_end: 3226
        line_start: 3225
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '2'
    - item_type: preproc_def
      name: FD_CAP_NSS_1
      pos:
        line_end: 3228
        line_start: 3227
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: FD_CAP_NSS_2
      pos:
        line_end: 3229
        line_start: 3228
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: FD_CAP_NSS_3
      pos:
        line_end: 3230
        line_start: 3229
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '2'
    - item_type: preproc_def
      name: FD_CAP_NSS_4
      pos:
        line_end: 3231
        line_start: 3230
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '3'
    - item_type: preproc_def
      name: FD_CAP_NSS_5_8
      pos:
        line_end: 3232
        line_start: 3231
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '4'
    - item_type: preproc_def
      name: FD_CAP_NSS_SHIFT
      pos:
        line_end: 3233
        line_start: 3232
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '5'
    - item_type: preproc_def
      name: FD_CAP_PHY_INDEX_HR_DSSS
      pos:
        line_end: 3235
        line_start: 3234
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: FD_CAP_PHY_INDEX_ERP_OFDM
      pos:
        line_end: 3236
        line_start: 3235
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: FD_CAP_PHY_INDEX_HT
      pos:
        line_end: 3237
        line_start: 3236
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '2'
    - item_type: preproc_def
      name: FD_CAP_PHY_INDEX_VHT
      pos:
        line_end: 3238
        line_start: 3237
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '3'
    - item_type: preproc_def
      name: FD_CAP_PHY_INDEX_HE
      pos:
        line_end: 3239
        line_start: 3238
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '4 '
    - item_type: preproc_def
      name: FD_CAP_PHY_INDEX_EHT
      pos:
        line_end: 3240
        line_start: 3239
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '5 '
    - item_type: preproc_def
      name: FD_CAP_PHY_INDEX_SHIFT
      pos:
        line_end: 3241
        line_start: 3240
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '10'
    - item_type: preproc_def
      name: FD_MAX_INTERVAL_6GHZ
      pos:
        line_end: 3246
        line_start: 3245
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '20 '
    - item_type: preproc_def
      name: DOT11BSS_COLOR_COLLISION_AP_PERIOD
      pos:
        line_end: 3252
        line_start: 3251
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '50'
    - item_type: preproc_def
      name: QM_ACTION_VENDOR_TYPE
      pos:
        line_end: 3255
        line_start: 3254
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x506f9a1a'
    - item_type: preproc_def
      name: QM_ACTION_OUI_TYPE
      pos:
        line_end: 3256
        line_start: 3255
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x1a'
    - item_type: preproc_def
      name: QM_DSCP_POLICY_QUERY
      pos:
        line_end: 3259
        line_start: 3258
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: QM_DSCP_POLICY_REQ
      pos:
        line_end: 3260
        line_start: 3259
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: QM_DSCP_POLICY_RESP
      pos:
        line_end: 3261
        line_start: 3260
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '2'
    - item_type: preproc_def
      name: DSCP_POLICY_CTRL_MORE
      pos:
        line_end: 3278
        line_start: 3277
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: DSCP_POLICY_CTRL_RESET
      pos:
        line_end: 3279
        line_start: 3278
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: WFA_CAPA_QM_DSCP_POLICY
      pos:
        line_end: 3282
        line_start: 3281
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: WFA_CAPA_QM_UNSOLIC_DSCP
      pos:
        line_end: 3283
        line_start: 3282
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: WFA_CAPA_QM_NON_EHT_SCS_TRAFFIC_DESC
      pos:
        line_end: 3284
        line_start: 3283
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: BIT(2)
    - item_type: preproc_def
      name: WFA_CAPAB_VENDOR_TYPE
      pos:
        line_end: 3293
        line_start: 3292
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x506f9a1b'
    - item_type: preproc_def
      name: IEEE80211_UHR_MAC_CAP1_DBE_SUPP
      pos:
        line_end: 3314
        line_start: 3313
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x04'
    - item_type: preproc_def
      name: IEEE80211_UHR_DBE_CAP_MAX_BW_MASK
      pos:
        line_end: 3318
        line_start: 3317
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x07'
    - item_type: preproc_def
      name: IEEE80211_UHR_DBE_CAP_MAX_BW_40MHZ
      pos:
        line_end: 3319
        line_start: 3318
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: IEEE80211_UHR_DBE_CAP_MAX_BW_80MHZ
      pos:
        line_end: 3320
        line_start: 3319
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '2'
    - item_type: preproc_def
      name: IEEE80211_UHR_DBE_CAP_MAX_BW_160MHZ
      pos:
        line_end: 3321
        line_start: 3320
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '3'
    - item_type: preproc_def
      name: IEEE80211_UHR_DBE_CAP_MAX_BW_320MHZ
      pos:
        line_end: 3322
        line_start: 3321
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '4'
    - item_type: preproc_def
      name: UHR_OPER_CTRL_DPS_ENA
      pos:
        line_end: 3334
        line_start: 3333
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x0001'
    - item_type: preproc_def
      name: UHR_OPER_CTRL_NPCA_ENA
      pos:
        line_end: 3335
        line_start: 3334
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x0002'
    - item_type: preproc_def
      name: UHR_OPER_CTRL_P_EDCA_ENA
      pos:
        line_end: 3336
        line_start: 3335
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x0004'
    - item_type: preproc_def
      name: UHR_OPER_CTRL_DBE_ENA
      pos:
        line_end: 3337
        line_start: 3336
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x0008'
    - item_type: preproc_def
      name: UHR_OPER_CTRL_DBE_BW_SHIFT
      pos:
        line_end: 3338
        line_start: 3337
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '4'
    - item_type: preproc_def
      name: UHR_OPER_CTRL_DBE_BW_MASK
      pos:
        line_end: 3339
        line_start: 3338
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x0070'
    - item_type: preproc_def
      name: UHR_OPER_CTRL_DUO_OP_PARAMS_PRES
      pos:
        line_end: 3340
        line_start: 3339
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x0080'
    - item_type: preproc_def
      name: UHR_OPER_CTRL_DPS_OP_PARAMS_PRES
      pos:
        line_end: 3341
        line_start: 3340
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x0100'
    - item_type: preproc_def
      name: UHR_OPER_CTRL_NPCA_OP_PARAMS_PRES
      pos:
        line_end: 3342
        line_start: 3341
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x0200'
    - item_type: preproc_def
      name: UHR_OPER_CTRL_P_EDCA_OP_PARAMS_PRES
      pos:
        line_end: 3343
        line_start: 3342
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x0400'
    - item_type: preproc_def
      name: UHR_OPER_CTRL_DPE_OP_PARAMS_PRES
      pos:
        line_end: 3344
        line_start: 3343
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x0800'
    - item_type: preproc_def
      name: IEEE80211_UHR_OPER_DBE_BW_40_MHZ
      pos:
        line_end: 3356
        line_start: 3355
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: IEEE80211_UHR_OPER_DBE_BW_80_MHZ
      pos:
        line_end: 3357
        line_start: 3356
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '2'
    - item_type: preproc_def
      name: IEEE80211_UHR_OPER_DBE_BW_160_MHZ
      pos:
        line_end: 3358
        line_start: 3357
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '3'
    - item_type: preproc_def
      name: IEEE80211_UHR_OPER_DBE_BW_320_1_MHZ
      pos:
        line_end: 3359
        line_start: 3358
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '4'
    - item_type: preproc_def
      name: IEEE80211_UHR_OPER_DBE_BW_320_2_MHZ
      pos:
        line_end: 3360
        line_start: 3359
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '5'
    - item_type: preproc_def
      name: IEEE80211_UHR_OPER_DBE_DIS_SUBCH_BMAP_PRES
      pos:
        line_end: 3361
        line_start: 3360
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x8'
    - item_type: preproc_def
      name: IEEE80211_UHR_OPER_MAX_SIZE
      pos:
        line_end: 3365
        line_start: 3363
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: (sizeof(struct ieee80211_uhr_operation) + 1 + 4 + 6 + 3 + 3)
    - item_type: preproc_def
      name: UHR_OPER_PARAMS_NPCA_PRI_CHAN_OFFS
      pos:
        line_end: 3368
        line_start: 3367
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x0000000F'
    - item_type: preproc_def
      name: UHR_OPER_PARAMS_NPCA_NPCA_MIN_DUR_THRESH
      pos:
        line_end: 3369
        line_start: 3368
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x000000F0'
    - item_type: preproc_def
      name: UHR_OPER_PARAMS_NPCA_NPCA_SWITCH_DELAY
      pos:
        line_end: 3370
        line_start: 3369
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x00003F00'
    - item_type: preproc_def
      name: UHR_OPER_PARAMS_NPCA_NPCA_SWITCH_BACK_DELAY
      pos:
        line_end: 3371
        line_start: 3370
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x000FC000'
    - item_type: preproc_def
      name: UHR_OPER_PARAMS_NPCA_INIT_NPCA_QRSC
      pos:
        line_end: 3372
        line_start: 3371
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x00300000'
    - item_type: preproc_def
      name: UHR_OPER_PARAMS_NPCA_MOPLEN_NPCA
      pos:
        line_end: 3373
        line_start: 3372
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x00400000'
    - item_type: preproc_def
      name: UHR_OPER_PARAMS_NPCA_DIS_SUBCH_BITMAP_PRES
      pos:
        line_end: 3374
        line_start: 3373
        source_file: /src/hostap/src/common/ieee802_11_defs.h
      type_or_value: '0x00800000'
    structs:
    - fields:
      - name: frame_control
        type: le16
      - name: duration_id
        type: le16
      - name: addr1[6]
        type: u8
      - name: addr2[6]
        type: u8
      - name: addr3[6]
        type: u8
      - name: seq_ctrl
        type: le16
      item_type: struct
      name: ieee80211_hdr
      pos:
        line_end: 1019
        line_start: 1010
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - fields:
      - name: frame_control
        type: le16
      - name: duration_id
        type: le16
      - name: sa[6]
        type: u8
      - name: timestamp[4]
        type: u8
      - name: change_seq[1]
        type: u8
      item_type: struct
      name: ieee80211_hdr_s1g_beacon
      pos:
        line_end: 1040
        line_start: 1027
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - fields:
      - name: frame_control
        type: le16
      - name: duration
        type: le16
      - name: da[6]
        type: u8
      - name: sa[6]
        type: u8
      - name: bssid[6]
        type: u8
      - name: seq_ctrl
        type: le16
      - name: u
        type: "union {\n\t\tstruct {\n\t\t\tle16 auth_alg;\n\t\t\tle16 auth_transaction;\n\t\t\tle16
          status_code;\n\t\t\t/* possibly followed by Challenge text */\n\t\t\tu8
          variable[];\n\t\t} STRUCT_PACKED auth;\n\t\tstruct {\n\t\t\tle16 reason_code;\n\t\t\tu8
          variable[];\n\t\t} STRUCT_PACKED deauth;\n\t\tstruct {\n\t\t\tle16 capab_info;\n\t\t\tle16
          listen_interval;\n\t\t\t/* followed by SSID and Supported rates */\n\t\t\tu8
          variable[];\n\t\t} STRUCT_PACKED assoc_req;\n\t\tstruct {\n\t\t\tle16 capab_info;\n\t\t\tle16
          status_code;\n\t\t\tle16 aid;\n\t\t\t/* followed by Supported rates */\n\t\t\tu8
          variable[];\n\t\t} STRUCT_PACKED assoc_resp, reassoc_resp;\n\t\tstruct {\n\t\t\tle16
          capab_info;\n\t\t\tle16 listen_interval;\n\t\t\tu8 current_ap[6];\n\t\t\t/*
          followed by SSID and Supported rates */\n\t\t\tu8 variable[];\n\t\t} STRUCT_PACKED
          reassoc_req;\n\t\tstruct {\n\t\t\tle16 reason_code;\n\t\t\tu8 variable[];\n\t\t}
          STRUCT_PACKED disassoc;\n\t\tstruct {\n\t\t\tu8 timestamp[8];\n\t\t\tle16
          beacon_int;\n\t\t\tle16 capab_info;\n\t\t\t/* followed by some of SSID,
          Supported rates,\n\t\t\t * FH Params, DS Params, CF Params, IBSS Params,
          TIM */\n\t\t\tu8 variable[];\n\t\t} STRUCT_PACKED beacon;\n\t\t/* probe_req:
          only variable items: SSID, Supported rates */\n\t\tstruct {\n\t\t\tu8 timestamp[8];\n\t\t\tle16
          beacon_int;\n\t\t\tle16 capab_info;\n\t\t\t/* followed by some of SSID,
          Supported rates,\n\t\t\t * FH Params, DS Params, CF Params, IBSS Params
          */\n\t\t\tu8 variable[];\n\t\t} STRUCT_PACKED probe_resp;\n\t\tstruct {\n\t\t\tu8
          category;\n\t\t\tunion {\n\t\t\t\tstruct {\n\t\t\t\t\tu8 action_code;\n\t\t\t\t\tu8
          dialog_token;\n\t\t\t\t\tu8 status_code;\n\t\t\t\t\tu8 variable[];\n\t\t\t\t}
          STRUCT_PACKED wmm_action;\n\t\t\t\tstruct{\n\t\t\t\t\tu8 action_code;\n\t\t\t\t\tu8
          element_id;\n\t\t\t\t\tu8 length;\n\t\t\t\t\tu8 switch_mode;\n\t\t\t\t\tu8
          new_chan;\n\t\t\t\t\tu8 switch_count;\n\t\t\t\t} STRUCT_PACKED chan_switch;\n\t\t\t\tstruct
          {\n\t\t\t\t\tu8 action;\n\t\t\t\t\tu8 sta_addr[ETH_ALEN];\n\t\t\t\t\tu8
          target_ap_addr[ETH_ALEN];\n\t\t\t\t\tu8 variable[]; /* FT Request */\n\t\t\t\t}
          STRUCT_PACKED ft_action_req;\n\t\t\t\tstruct {\n\t\t\t\t\tu8 action;\n\t\t\t\t\tu8
          sta_addr[ETH_ALEN];\n\t\t\t\t\tu8 target_ap_addr[ETH_ALEN];\n\t\t\t\t\tle16
          status_code;\n\t\t\t\t\tu8 variable[]; /* FT Request */\n\t\t\t\t} STRUCT_PACKED
          ft_action_resp;\n\t\t\t\tstruct {\n\t\t\t\t\tu8 action;\n\t\t\t\t\tu8 trans_id[WLAN_SA_QUERY_TR_ID_LEN];\n\t\t\t\t\tu8
          variable[]; /* OCI element */\n\t\t\t\t} STRUCT_PACKED sa_query_req;\n\t\t\t\tstruct
          {\n\t\t\t\t\tu8 action; /* */\n\t\t\t\t\tu8 trans_id[WLAN_SA_QUERY_TR_ID_LEN];\n\t\t\t\t\tu8
          variable[]; /* OCI element */\n\t\t\t\t} STRUCT_PACKED sa_query_resp;\n\t\t\t\tstruct
          {\n\t\t\t\t\tu8 action;\n\t\t\t\t\tu8 dialogtoken;\n\t\t\t\t\tu8 variable[];\n\t\t\t\t}
          STRUCT_PACKED wnm_sleep_req;\n\t\t\t\tstruct {\n\t\t\t\t\tu8 action;\n\t\t\t\t\tu8
          dialogtoken;\n\t\t\t\t\tle16 keydata_len;\n\t\t\t\t\tu8 variable[];\n\t\t\t\t}
          STRUCT_PACKED wnm_sleep_resp;\n\t\t\t\tstruct {\n\t\t\t\t\tu8 action;\n\t\t\t\t\tu8
          variable[];\n\t\t\t\t} STRUCT_PACKED public_action;\n\t\t\t\tstruct {\n\t\t\t\t\tu8
          action; /* 9 */\n\t\t\t\t\tu8 oui[3];\n\t\t\t\t\t/* Vendor-specific content
          */\n\t\t\t\t\tu8 variable[];\n\t\t\t\t} STRUCT_PACKED vs_public_action;\n\t\t\t\tstruct
          {\n\t\t\t\t\tu8 action; /* 7 */\n\t\t\t\t\tu8 dialog_token;\n\t\t\t\t\tu8
          req_mode;\n\t\t\t\t\tle16 disassoc_timer;\n\t\t\t\t\tu8 validity_interval;\n\t\t\t\t\t/*
          BSS Termination Duration (optional),\n\t\t\t\t\t * Session Information URL
          (optional),\n\t\t\t\t\t * BSS Transition Candidate List\n\t\t\t\t\t * Entries
          */\n\t\t\t\t\tu8 variable[];\n\t\t\t\t} STRUCT_PACKED bss_tm_req;\n\t\t\t\tstruct
          {\n\t\t\t\t\tu8 action; /* 8 */\n\t\t\t\t\tu8 dialog_token;\n\t\t\t\t\tu8
          status_code;\n\t\t\t\t\tu8 bss_termination_delay;\n\t\t\t\t\t/* Target BSSID
          (optional),\n\t\t\t\t\t * BSS Transition Candidate List\n\t\t\t\t\t * Entries
          (optional) */\n\t\t\t\t\tu8 variable[];\n\t\t\t\t} STRUCT_PACKED bss_tm_resp;\n\t\t\t\tstruct
          {\n\t\t\t\t\tu8 action; /* 6 */\n\t\t\t\t\tu8 dialog_token;\n\t\t\t\t\tu8
          query_reason;\n\t\t\t\t\t/* BSS Transition Candidate List\n\t\t\t\t\t *
          Entries (optional) */\n\t\t\t\t\tu8 variable[];\n\t\t\t\t} STRUCT_PACKED
          bss_tm_query;\n\t\t\t\tstruct {\n\t\t\t\t\tu8 action; /* 11 */\n\t\t\t\t\tu8
          dialog_token;\n\t\t\t\t\tu8 req_info;\n\t\t\t\t} STRUCT_PACKED coloc_intf_req;\n\t\t\t\tstruct
          {\n\t\t\t\t\tu8 action; /* 12 */\n\t\t\t\t\tu8 dialog_token;\n\t\t\t\t\tu8
          variable[];\n\t\t\t\t} STRUCT_PACKED coloc_intf_report;\n\t\t\t\tstruct
          {\n\t\t\t\t\tu8 action; /* 15 */\n\t\t\t\t\tu8 variable[];\n\t\t\t\t} STRUCT_PACKED
          slf_prot_action;\n\t\t\t\tstruct {\n\t\t\t\t\tu8 action;\n\t\t\t\t\tu8 variable[];\n\t\t\t\t}
          STRUCT_PACKED fst_action;\n\t\t\t\tstruct {\n\t\t\t\t\tu8 action;\n\t\t\t\t\tu8
          dialog_token;\n\t\t\t\t\tu8 variable[];\n\t\t\t\t} STRUCT_PACKED rrm;\n\t\t\t\tstruct
          {\n\t\t\t\t\tu8 action; /* Protected EHT - 11 */\n\t\t\t\t\tu8 dialog_token;\n\t\t\t\t\t/*
          Reconfiguration Multi-Link element,\n\t\t\t\t\t* OCI element (optional)
          */\n\t\t\t\t\tu8 variable[];\n\t\t\t\t} STRUCT_PACKED link_reconf_req;\n\t\t\t\tstruct
          {\n\t\t\t\t\tu8 action; /* Protected EHT - 12 */\n\t\t\t\t\tu8 dialog_token;\n\t\t\t\t\tu8
          count;\n\t\t\t\t\t/* Reconfiguration status list,\n\t\t\t\t\t * Group Key
          Data (optional),\n\t\t\t\t\t * OCI element (optional),\n\t\t\t\t\t * Basic
          Multi-Link element (optional) */\n\t\t\t\t\tu8 variable[];\n\t\t\t\t} STRUCT_PACKED
          link_reconf_resp;\n\t\t\t\tstruct {\n\t\t\t\t\tu8 action;\n\t\t\t\t\tu8
          oui[3];\n\t\t\t\t\tu8 oui_type;\n\t\t\t\t\tu8 subtype;\n\t\t\t\t\tu8 variable[0];\n\t\t\t\t}
          STRUCT_PACKED naf;\n\t\t\t} u;\n\t\t} STRUCT_PACKED action;\n\t}"
      item_type: struct
      name: ieee80211_mgmt
      pos:
        line_end: 1247
        line_start: 1046
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - fields:
      - name: ht_capabilities_info
        type: le16
      - name: a_mpdu_params
        type: u8
      - name: supported_mcs_set[16]
        type: u8
      - name: ht_extended_capabilities
        type: le16
      - name: tx_bf_capability_info
        type: le32
      - name: asel_capabilities
        type: u8
      item_type: struct
      name: ieee80211_ht_capabilities
      pos:
        line_end: 1269
        line_start: 1260
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - fields:
      - name: primary_chan
        type: u8
      - name: ht_param
        type: u8
      - name: operation_mode
        type: le16
      - name: param
        type: le16
      - name: basic_mcs_set[16]
        type: u8
      item_type: struct
      name: ieee80211_ht_operation
      pos:
        line_end: 1280
        line_start: 1273
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - fields:
      - name: scan_passive_dwell
        type: le16
      - name: scan_active_dwell
        type: le16
      - name: width_trigger_scan_interval
        type: le16
      - name: scan_passive_total_per_channel
        type: le16
      - name: scan_active_total_per_channel
        type: le16
      - name: channel_transition_delay_factor
        type: le16
      - name: scan_activity_threshold
        type: le16
      item_type: struct
      name: ieee80211_obss_scan_parameters
      pos:
        line_end: 1291
        line_start: 1283
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - fields:
      - name: vht_capabilities_info
        type: le32
      - name: vht_supported_mcs_set
        type: "struct {\n\t\tle16 rx_map;\n\t\tle16 rx_highest;\n\t\tle16 tx_map;\n\t\tle16
          tx_highest;\n\t}"
      item_type: struct
      name: ieee80211_vht_capabilities
      pos:
        line_end: 1302
        line_start: 1294
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - fields:
      - name: vht_op_info_chwidth
        type: u8
      - name: vht_op_info_chan_center_freq_seg0_idx
        type: u8
      - name: vht_op_info_chan_center_freq_seg1_idx
        type: u8
      - name: vht_basic_mcs_set
        type: le16
      item_type: struct
      name: ieee80211_vht_operation
      pos:
        line_end: 1309
        line_start: 1304
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - fields:
      - name: selected_pairwise_suite[4]
        type: u8
      - name: local_nonce[32]
        type: u8
      - name: peer_nonce[32]
        type: u8
      item_type: struct
      name: ieee80211_ampe_ie
      pos:
        line_end: 1323
        line_start: 1311
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - fields:
      - name: oui[3]
        type: u8
      - name: oui_type
        type: u8
      - name: oui_subtype
        type: u8
      - name: version
        type: u8
      - name: qos_info
        type: u8
      item_type: struct
      name: wmm_information_element
      pos:
        line_end: 1599
        line_start: 1590
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - fields:
      - name: aci_aifsn
        type: u8
      - name: cw
        type: u8
      - name: txop_limit
        type: le16
      item_type: struct
      name: wmm_ac_parameter
      pos:
        line_end: 1622
        line_start: 1618
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - fields:
      - name: oui[3]
        type: u8
      - name: oui_type
        type: u8
      - name: oui_subtype
        type: u8
      - name: version
        type: u8
      - name: qos_info
        type: u8
      - name: reserved
        type: u8
      - name: ac[4]
        type: struct wmm_ac_parameter
      item_type: struct
      name: wmm_parameter_element
      pos:
        line_end: 1639
        line_start: 1628
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - fields:
      - name: eid
        type: u8
      - name: length
        type: u8
      - name: oui[3]
        type: u8
      - name: oui_type
        type: u8
      - name: oui_subtype
        type: u8
      - name: version
        type: u8
      - name: ts_info[3]
        type: u8
      - name: nominal_msdu_size
        type: le16
      - name: maximum_msdu_size
        type: le16
      - name: minimum_service_interval
        type: le32
      - name: maximum_service_interval
        type: le32
      - name: inactivity_interval
        type: le32
      - name: suspension_interval
        type: le32
      - name: service_start_time
        type: le32
      - name: minimum_data_rate
        type: le32
      - name: mean_data_rate
        type: le32
      - name: peak_data_rate
        type: le32
      - name: maximum_burst_size
        type: le32
      - name: delay_bound
        type: le32
      - name: minimum_phy_rate
        type: le32
      - name: surplus_bandwidth_allowance
        type: le16
      - name: medium_time
        type: le16
      item_type: struct
      name: wmm_tspec_element
      pos:
        line_end: 1666
        line_start: 1642
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - fields:
      - name: cpt
        type: u8
      - name: reserved
        type: u8
      item_type: struct
      name: p2ps_feature_capab
      pos:
        line_end: 1899
        line_start: 1896
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - fields:
      - name: element_id
        type: u8
      - name: length
        type: u8
      - name: coex_param
        type: u8
      item_type: struct
      name: ieee80211_2040_bss_coex_ie
      pos:
        line_end: 2140
        line_start: 2136
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - fields:
      - name: element_id
        type: u8
      - name: length
        type: u8
      - name: op_class
        type: u8
      - name: variable[0]
        type: u8
      item_type: struct
      name: ieee80211_2040_intol_chan_report
      pos:
        line_end: 2147
        line_start: 2142
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - fields:
      - name: eid
        type: u8
      - name: len
        type: u8
      - name: action_type
        type: u8
      - name: status
        type: u8
      - name: intval
        type: le16
      item_type: struct
      name: wnm_sleep_element
      pos:
        line_end: 2156
        line_start: 2150
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - fields:
      - name: eid
        type: u8
      - name: len
        type: u8
      - name: token
        type: u8
      - name: type
        type: u8
      - name: status
        type: u8
      - name: u
        type: "union {\n\t\tstruct {\n\t\t\tu8 tsf[8]; /* Event TSF */\n\t\t\tu8 color_bitmap[8];
          /* Event Report field */\n\t\t} STRUCT_PACKED bss_color_collision;\n\t\tstruct
          {\n\t\t\tu8 tsf[8]; /* Event TSF */\n\t\t\tu8 color; /* Event Report field
          */\n\t\t} STRUCT_PACKED bss_color_in_use;\n\t}"
      item_type: struct
      name: wnm_event_report_element
      pos:
        line_end: 2201
        line_start: 2184
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - fields:
      - name: eid
        type: u8
      - name: len
        type: u8
      - name: tx_power
        type: u8
      - name: link_margin
        type: u8
      item_type: struct
      name: tpc_report
      pos:
        line_end: 2229
        line_start: 2224
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - fields:
      - name: dialog_token
        type: u8
      - name: tx_power
        type: s8
      - name: max_tp
        type: s8
      - name: variable[0]
        type: u8
      item_type: struct
      name: rrm_link_measurement_request
      pos:
        line_end: 2259
        line_start: 2254
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - fields:
      - name: dialog_token
        type: u8
      - name: tpc
        type: struct tpc_report
      - name: rx_ant_id
        type: u8
      - name: tx_ant_id
        type: u8
      - name: rcpi
        type: u8
      - name: rsni
        type: u8
      - name: variable[0]
        type: u8
      item_type: struct
      name: rrm_link_measurement_report
      pos:
        line_end: 2270
        line_start: 2262
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - fields:
      - name: eid
        type: u8
      - name: len
        type: u8
      - name: token
        type: u8
      - name: mode
        type: u8
      - name: type
        type: u8
      - name: variable[0]
        type: u8
      item_type: struct
      name: rrm_measurement_request_element
      pos:
        line_end: 2280
        line_start: 2273
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - fields:
      - name: oper_class
        type: u8
      - name: channel
        type: u8
      - name: rand_interval
        type: le16
      - name: duration
        type: le16
      - name: mode
        type: u8
      - name: bssid[ETH_ALEN]
        type: u8
      - name: variable[0]
        type: u8
      item_type: struct
      name: rrm_measurement_beacon_request
      pos:
        line_end: 2298
        line_start: 2290
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - fields:
      - name: eid
        type: u8
      - name: len
        type: u8
      - name: token
        type: u8
      - name: mode
        type: u8
      - name: type
        type: u8
      - name: variable[0]
        type: u8
      item_type: struct
      name: rrm_measurement_report_element
      pos:
        line_end: 2342
        line_start: 2335
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - fields:
      - name: op_class
        type: u8
      - name: channel
        type: u8
      - name: start_time
        type: le64
      - name: duration
        type: le16
      - name: report_info
        type: u8
      - name: rcpi
        type: u8
      - name: rsni
        type: u8
      - name: bssid[ETH_ALEN]
        type: u8
      - name: antenna_id
        type: u8
      - name: parent_tsf
        type: le32
      - name: variable[0]
        type: u8
      item_type: struct
      name: rrm_measurement_beacon_report
      pos:
        line_end: 2364
        line_start: 2351
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - fields:
      - name: eid
        type: u8
      - name: len
        type: u8
      - name: mb_ctrl
        type: u8
      - name: band_id
        type: u8
      - name: op_class
        type: u8
      - name: chan
        type: u8
      - name: bssid[ETH_ALEN]
        type: u8
      - name: beacon_int
        type: le16
      - name: tsf_offs[8]
        type: u8
      - name: mb_connection_capability
        type: u8
      - name: fst_session_tmout
        type: u8
      - name: variable[0]
        type: u8
      item_type: struct
      name: multi_band_ie
      pos:
        line_end: 2401
        line_start: 2383
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - fields:
      - name: he_mac_capab_info[6]
        type: u8
      - name: he_phy_capab_info[11]
        type: u8
      - name: he_basic_supported_mcs_set
        type: "struct {\n\t\tle16 rx_map; /* Rx HE-MCS Map <= 80 MHz */\n\t\tle16
          tx_map; /* Tx HE-MCS Map <= 80 MHz */\n\t\t/* Followed by 0, 4, or 8 octets
          of optional Rx/Tx HE-MCS maps\n\t\t * for 160 MHz and 80+80 MHz. These are
          included in the\n\t\t * optional[] below. */\n\t}"
      - name: optional[33]
        type: u8
      item_type: struct
      name: ieee80211_he_capabilities
      pos:
        line_end: 2508
        line_start: 2495
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - fields:
      - name: he_oper_params
        type: le32
      - name: he_mcs_nss_set
        type: le16
      item_type: struct
      name: ieee80211_he_operation
      pos:
        line_end: 2518
        line_start: 2511
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - fields:
      - name: primary_chan
        type: u8
      - name: control
        type: u8
      - name: chan_center_freq_seg0
        type: u8
      - name: chan_center_freq_seg1
        type: u8
      - name: min_rate
        type: u8
      item_type: struct
      name: ieee80211_he_6ghz_oper_info
      pos:
        line_end: 2527
        line_start: 2521
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - fields:
      - name: capab
        type: le16
      item_type: struct
      name: ieee80211_he_6ghz_band_cap
      pos:
        line_end: 2545
        line_start: 2536
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - fields:
      - name: sr_ctrl
        type: u8
      - name: params[19]
        type: u8
      item_type: struct
      name: ieee80211_spatial_reuse
      pos:
        line_end: 2582
        line_start: 2572
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - fields:
      - name: he_qos_info
        type: u8
      - name: he_mu_ac_be_param[3]
        type: u8
      - name: he_mu_ac_bk_param[3]
        type: u8
      - name: he_mu_ac_vi_param[3]
        type: u8
      - name: he_mu_ac_vo_param[3]
        type: u8
      item_type: struct
      name: ieee80211_he_mu_edca_parameter_set
      pos:
        line_end: 2683
        line_start: 2677
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - fields:
      - name: control
        type: u8
      - name: ccfs0
        type: u8
      - name: ccfs1
        type: u8
      - name: disabled_chan_bitmap
        type: le16
      item_type: struct
      name: ieee80211_eht_oper_info
      pos:
        line_end: 2775
        line_start: 2770
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - fields:
      - name: oper_params
        type: u8
      - name: basic_eht_mcs_nss_set[4]
        type: u8
      - name: oper_info
        type: struct ieee80211_eht_oper_info
      item_type: struct
      name: ieee80211_eht_operation
      pos:
        line_end: 2782
        line_start: 2778
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - fields:
      - name: mac_cap
        type: le16
      - name: phy_cap[EHT_PHY_CAPAB_LEN]
        type: u8
      - name: optional[EHT_MCS_NSS_CAPAB_LEN + EHT_PPE_THRESH_CAPAB_LEN]
        type: u8
      item_type: struct
      name: ieee80211_eht_capabilities
      pos:
        line_end: 2855
        line_start: 2848
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - fields:
      - name: len
        type: u8
      - name: mld_addr[ETH_ALEN]
        type: u8
      - name: variable[]
        type: u8
      item_type: struct
      name: eht_ml_basic_common_info
      pos:
        line_end: 2930
        line_start: 2913
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - fields:
      - name: sta_control
        type: le16
      - name: variable[]
        type: u8
      item_type: struct
      name: ieee80211_eht_per_sta_profile
      pos:
        line_end: 2976
        line_start: 2971
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - fields:
      - name: len
        type: u8
      - name: variable[]
        type: u8
      item_type: struct
      name: eht_ml_probe_req_common_info
      pos:
        line_end: 2998
        line_start: 2987
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - fields:
      - name: len
        type: u8
      - name: variable[]
        type: u8
      item_type: struct
      name: eht_ml_reconf_common_info
      pos:
        line_end: 3033
        line_start: 3020
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - fields:
      - name: len
        type: u8
      - name: variable[]
        type: u8
      item_type: struct
      name: eht_ml_reconf_sta_info
      pos:
        line_end: 3059
        line_start: 3048
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - fields:
      - name: ml_control
        type: le16
      - name: variable[]
        type: u8
      item_type: struct
      name: ieee80211_eht_ml
      pos:
        line_end: 3068
        line_start: 3063
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - fields:
      - name: control
        type: u8
      - name: ccfs0
        type: u8
      - name: ccfs1
        type: u8
      - name: disabled_chan_bitmap
        type: le16
      item_type: struct
      name: ieee80211_bw_ind_info
      pos:
        line_end: 3079
        line_start: 3074
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - fields:
      - name: bw_ind_params
        type: u8
      - name: bw_ind_info
        type: struct ieee80211_bw_ind_info
      item_type: struct
      name: ieee80211_bw_ind_element
      pos:
        line_end: 3093
        line_start: 3090
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - fields:
      - name: tbtt_info_hdr
        type: u8
      - name: tbtt_info_len
        type: u8
      - name: op_class
        type: u8
      - name: channel
        type: u8
      - name: data[0]
        type: u8
      item_type: struct
      name: ieee80211_neighbor_ap_info
      pos:
        line_end: 3302
        line_start: 3294
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - fields:
      - name: element_id
        type: u8
      - name: length
        type: u8
      - name: compat_info
        type: le16
      - name: beacon_interval
        type: le16
      - name: tsf_completion
        type: le32
      item_type: struct
      name: ieee80211_s1g_beacon_compat
      pos:
        line_end: 3311
        line_start: 3305
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - fields:
      - name: mac[6]
        type: u8
      - name: phy[5]
        type: u8
      item_type: struct
      name: ieee80211_uhr_capabilities
      pos:
        line_end: 3330
        line_start: 3324
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    - fields:
      - name: oper_ctrl
        type: le16
      - name: basic_uhr_mcs_nss_set[4]
        type: u8
      item_type: struct
      name: ieee80211_uhr_operation
      pos:
        line_end: 3350
        line_start: 3346
        source_file: /src/hostap/src/common/ieee802_11_defs.h
    typedefs: []
    union: []
- function_names:
  - proc_coord_get_peer
  - proc_coord_add_peer
  - proc_coord_remove_req
  - proc_coord_remove_peer
  - proc_coord_expire_requests
  - proc_coord_cancel_wait
  - proc_coord_set_req_expire_timer
  - proc_coord_get_request
  - proc_coord_send_msg
  - proc_coord_rx_starting
  - proc_coord_rx_stopping
  - proc_coord_rx_ping
  - proc_coord_receive
  - proc_coord_send_starting
  - proc_coord_send_stopping
  - proc_coord_cb_ping
  - proc_coord_update_peers_from_dir
  - proc_coord_update_peers
  - proc_coord_init
  - proc_coord_deinit
  - proc_coord_register_handler
  - proc_coord_unregister_handler
  - proc_coord_send_event
  - proc_coord_send_request
  - proc_coord_send_response
  source_file: /src/hostap/src/common/proc_coord.c
  types:
    enum:
    - enumerators:
      - name: PROC_COORD_PEER_WAITING
      - name: PROC_COORD_PEER_ACTIVE
      - name: PROC_COORD_PEER_TIMED_OUT
      item_type: enum
      name: proc_coord_peer_state
      pos:
        line_end: 29
        line_start: 25
        source_file: /src/hostap/src/common/proc_coord.c
    preproc_defs: []
    structs:
    - fields:
      - name: msg_type
        type: u32
      - name: cmd
        type: u32
      - name: seq
        type: u32
      item_type: struct
      name: proc_coord_msg_header
      pos:
        line_end: 23
        line_start: 19
        source_file: /src/hostap/src/common/proc_coord.c
    - fields:
      - name: list
        type: struct dl_list
      - name: pid
        type: pid_t
      - name: state
        type: enum proc_coord_peer_state
      - name: last_rx
        type: struct os_reltime
      item_type: struct
      name: proc_coord_peer
      pos:
        line_end: 36
        line_start: 31
        source_file: /src/hostap/src/common/proc_coord.c
    - fields:
      - name: list
        type: struct dl_list
      - name: '*peer'
        type: struct proc_coord_peer
      - name: cmd
        type: enum proc_coord_commands
      - name: seq
        type: u32
      - name: cb
        type: proc_coord_response_cb
      - name: '*cb_ctx'
        type: void
      - name: timeout
        type: struct os_reltime
      item_type: struct
      name: proc_coord_pending_request
      pos:
        line_end: 46
        line_start: 38
        source_file: /src/hostap/src/common/proc_coord.c
    - fields:
      - name: list
        type: struct dl_list
      - name: cb
        type: proc_coord_cb
      - name: '*cb_ctx'
        type: void
      item_type: struct
      name: proc_coord_handler
      pos:
        line_end: 52
        line_start: 48
        source_file: /src/hostap/src/common/proc_coord.c
    - fields:
      - name: pid
        type: pid_t
      - name: '*dir'
        type: char
      - name: '*own_sock'
        type: char
      - name: sock
        type: int
      - name: next_seq
        type: u32
      - name: handlers
        type: struct dl_list
      - name: peers
        type: struct dl_list
      - name: requests
        type: struct dl_list
      item_type: struct
      name: proc_coord
      pos:
        line_end: 63
        line_start: 54
        source_file: /src/hostap/src/common/proc_coord.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/common/ieee802_1x_defs.h
  types:
    enum:
    - enumerators:
      - name: SHOULD_SECURE
      - name: DO_NOT_SECURE
      - name: SHOULD_ENCRYPT
      item_type: enum
      name: macsec_policy
      pos:
        line_end: 35
        line_start: 17
        source_file: /src/hostap/src/common/ieee802_1x_defs.h
    - enumerators:
      - name: MACSEC_CAP_NOT_IMPLEMENTED
      - name: MACSEC_CAP_INTEGRITY
      - name: MACSEC_CAP_INTEG_AND_CONF
      - name: MACSEC_CAP_INTEG_AND_CONF_0_30_50
      item_type: enum
      name: macsec_cap
      pos:
        line_end: 62
        line_start: 39
        source_file: /src/hostap/src/common/ieee802_1x_defs.h
    - enumerators:
      - name: Disabled
      - name: Strict
      - name: Checked
      item_type: enum
      name: validate_frames
      pos:
        line_end: 68
        line_start: 64
        source_file: /src/hostap/src/common/ieee802_1x_defs.h
    - enumerators:
      - name: CONFIDENTIALITY_NONE
        value: '0'
      - name: CONFIDENTIALITY_OFFSET_50
        value: '3'
      - name: CONFIDENTIALITY_OFFSET_0
        value: '1'
      - name: CONFIDENTIALITY_OFFSET_30
        value: '2'
      item_type: enum
      name: confidentiality_offset
      pos:
        line_end: 76
        line_start: 71
        source_file: /src/hostap/src/common/ieee802_1x_defs.h
    preproc_defs:
    - item_type: preproc_def
      name: CS_ID_LEN
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/hostap/src/common/ieee802_1x_defs.h
      type_or_value: '8'
    - item_type: preproc_def
      name: CS_ID_GCM_AES_128
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/hostap/src/common/ieee802_1x_defs.h
      type_or_value: 0x0080020001000001ULL
    - item_type: preproc_def
      name: CS_NAME_GCM_AES_128
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/hostap/src/common/ieee802_1x_defs.h
      type_or_value: '"GCM-AES-128"'
    - item_type: preproc_def
      name: CS_ID_GCM_AES_256
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/hostap/src/common/ieee802_1x_defs.h
      type_or_value: 0x0080c20001000002ULL
    - item_type: preproc_def
      name: CS_NAME_GCM_AES_256
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/hostap/src/common/ieee802_1x_defs.h
      type_or_value: '"GCM-AES-256"'
    - item_type: preproc_def
      name: DEFAULT_PRIO_INFRA_PORT
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/hostap/src/common/ieee802_1x_defs.h
      type_or_value: '0x10'
    - item_type: preproc_def
      name: DEFAULT_PRIO_PRIMRAY_AP
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/hostap/src/common/ieee802_1x_defs.h
      type_or_value: '0x30'
    - item_type: preproc_def
      name: DEFAULT_PRIO_SECONDARY_AP
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/hostap/src/common/ieee802_1x_defs.h
      type_or_value: '0x50'
    - item_type: preproc_def
      name: DEFAULT_PRIO_GROUP_CA_MEMBER
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/hostap/src/common/ieee802_1x_defs.h
      type_or_value: '0x70'
    - item_type: preproc_def
      name: DEFAULT_PRIO_NOT_KEY_SERVER
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/hostap/src/common/ieee802_1x_defs.h
      type_or_value: '0xFF'
    structs: []
    typedefs: []
    union: []
- function_names:
  - dpp_auth_fail
  - dpp_alloc_msg
  - dpp_get_attr
  - dpp_get_attr_next
  - dpp_check_attrs
  - dpp_bootstrap_info_free
  - dpp_bootstrap_type_txt
  - dpp_uri_valid_info
  - dpp_clone_uri
  - dpp_parse_uri_chan_list
  - dpp_parse_uri_mac
  - dpp_parse_uri_info
  - dpp_parse_uri_version
  - dpp_parse_uri_pk
  - dpp_parse_uri_supported_curves
  - dpp_parse_uri_host
  - dpp_parse_uri
  - dpp_build_attr_status
  - dpp_build_attr_r_bootstrap_key_hash
  - dpp_channel_ok_init
  - freq_included
  - freq_to_start
  - dpp_channel_intersect
  - dpp_channel_local_list
  - dpp_prepare_channel_list
  - dpp_gen_uri
  - dpp_alloc_auth
  - dpp_write_adv_proto
  - dpp_write_gas_query
  - dpp_build_conf_req
  - dpp_build_conf_req_helper
  - bin_str_eq
  - dpp_configuration_alloc
  - dpp_akm_psk
  - dpp_akm_sae
  - dpp_akm_legacy
  - dpp_akm_dpp
  - dpp_akm_ver2
  - dpp_configuration_valid
  - dpp_configuration_free
  - dpp_configuration_parse_helper
  - dpp_configuration_parse
  - dpp_configurator_get_id
  - dpp_set_configurator
  - dpp_auth_deinit
  - dpp_build_conf_start
  - dpp_build_jwk
  - dpp_build_legacy_cred_params
  - dpp_netrole_str
  - dpp_supports_curve
  - dpp_build_conf_obj_legacy
  - dpp_get_peer_bi_id
  - dpp_build_conf_obj
  - dpp_conf_req_rx
  - dpp_parse_cred_legacy
  - dpp_parse_jwk
  - dpp_key_expired
  - dpp_parse_connector
  - dpp_copy_csign
  - dpp_copy_ppkey
  - dpp_copy_netaccesskey
  - dpp_parse_cred_dpp
  - dpp_parse_cred_dot1x
  - dpp_akm_str
  - dpp_akm_selector_str
  - dpp_akm_from_str
  - dpp_parse_conf_obj
  - dpp_get_csr_attrs
  - dpp_conf_resp_rx
  - dpp_conf_result_rx
  - dpp_build_conf_result
  - valid_channel_list
  - dpp_conn_status_result_rx
  - dpp_build_conn_status
  - dpp_build_conn_status_result
  - dpp_configurator_free
  - dpp_configurator_get_key
  - dpp_configurator_gen_kid
  - dpp_keygen_configurator
  - dpp_configurator_own_config
  - dpp_compatible_netrole
  - dpp_connector_compatible_group
  - dpp_connector_match_groups
  - dpp_parse_own_connector
  - dpp_peer_intro
  - dpp_peer_intro_deinit
  - dpp_get_connector_version
  - dpp_next_id
  - dpp_bootstrap_del
  - dpp_add_qr_code
  - dpp_add_nfc_uri
  - dpp_parse_supported_curves_list
  - dpp_bootstrap_gen
  - dpp_bootstrap_get_id
  - dpp_bootstrap_remove
  - dpp_bootstrap_get_uri
  - dpp_bootstrap_info
  - dpp_bootstrap_set
  - dpp_bootstrap_find_pair
  - dpp_bootstrap_find_chirp
  - dpp_nfc_update_bi_channel
  - dpp_nfc_update_bi_key
  - dpp_nfc_update_bi
  - dpp_next_configurator_id
  - dpp_configurator_add
  - dpp_configurator_set
  - dpp_configurator_del
  - dpp_configurator_remove
  - dpp_configurator_get_key_id
  - dpp_configurator_from_backup
  - dpp_configurator_find_kid
  - dpp_global_init
  - dpp_global_clear
  - dpp_global_deinit
  - dpp_notify_auth_success
  - dpp_build_presence_announcement
  - dpp_notify_chirp_received
  - dpp_build_pb_announcement
  - dpp_build_pb_announcement_resp
  source_file: /src/hostap/src/common/dpp.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ptksa_cache_free_entry
  - ptksa_cache_expire
  - ptksa_cache_set_expiration
  - ptksa_cache_init
  - ptksa_cache_deinit
  - ptksa_cache_get
  - ptksa_cache_list
  - ptksa_cache_flush
  - ptksa_cache_add
  - ptksa_cache_init
  - ptksa_cache_deinit
  - ptksa_cache_get
  - ptksa_cache_list
  - ptksa_cache_add
  - ptksa_cache_flush
  source_file: /src/hostap/src/common/ptksa_cache.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PTKSA_CACHE_MAX_ENTRIES
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/hostap/src/common/ptksa_cache.c
      type_or_value: '16'
    structs:
    - fields:
      - name: ptksa
        type: struct dl_list
      - name: n_ptksa
        type: unsigned int
      item_type: struct
      name: ptksa_cache
      pos:
        line_end: 19
        line_start: 16
        source_file: /src/hostap/src/common/ptksa_cache.c
    typedefs: []
    union: []
- function_names:
  - wpa_open_ctrl
  - wpa_command
  - wpa_command_resp
  - open_wpa_mon
  - get_wpa_cli_event2
  - get_wpa_cli_event
  - get_wpa_status
  - wait_ip_addr
  - add_network
  - set_network
  - set_network_quoted
  - add_cred
  - set_cred
  - set_cred_quoted
  source_file: /src/hostap/src/common/wpa_helpers.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/common/tnc.h
  types:
    enum:
    - enumerators:
      - name: TNC_IMV_ACTION_RECOMMENDATION_ALLOW
      - name: TNC_IMV_ACTION_RECOMMENDATION_NO_RECOMMENDATION
      - name: TNC_IMV_ACTION_RECOMMENDATION_NO_ACCESS
      - name: TNC_IMV_ACTION_RECOMMENDATION_ISOLATE
      item_type: enum
      name: IMV_Action_Recommendation
      pos:
        line_end: 109
        line_start: 104
        source_file: /src/hostap/src/common/tnc.h
    - enumerators:
      - name: TNC_IMV_EVALUATION_RESULT_COMPLIANT
      - name: TNC_IMV_EVALUATION_RESULT_NONCOMPLIANT_MAJOR
      - name: TNC_IMV_EVALUATION_RESULT_ERROR
      - name: TNC_IMV_EVALUATION_RESULT_NONCOMPLIANT_MINOR
      - name: TNC_IMV_EVALUATION_RESULT_DONT_KNOW
      item_type: enum
      name: IMV_Evaluation_Result
      pos:
        line_end: 118
        line_start: 112
        source_file: /src/hostap/src/common/tnc.h
    preproc_defs:
    - item_type: preproc_def
      name: TNC_IFIMV_VERSION_1
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/hostap/src/common/tnc.h
      type_or_value: '1'
    - item_type: preproc_def
      name: TNC_IFIMC_VERSION_1
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/hostap/src/common/tnc.h
      type_or_value: '1'
    - item_type: preproc_def
      name: TNC_RESULT_SUCCESS
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/hostap/src/common/tnc.h
      type_or_value: '0'
    - item_type: preproc_def
      name: TNC_RESULT_NOT_INITIALIZED
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/hostap/src/common/tnc.h
      type_or_value: '1'
    - item_type: preproc_def
      name: TNC_RESULT_ALREADY_INITIALIZED
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/hostap/src/common/tnc.h
      type_or_value: '2'
    - item_type: preproc_def
      name: TNC_RESULT_NO_COMMON_VERSION
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/hostap/src/common/tnc.h
      type_or_value: '3'
    - item_type: preproc_def
      name: TNC_RESULT_CANT_RETRY
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/hostap/src/common/tnc.h
      type_or_value: '4'
    - item_type: preproc_def
      name: TNC_RESULT_WONT_RETRY
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/hostap/src/common/tnc.h
      type_or_value: '5'
    - item_type: preproc_def
      name: TNC_RESULT_INVALID_PARAMETER
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/hostap/src/common/tnc.h
      type_or_value: '6'
    - item_type: preproc_def
      name: TNC_RESULT_CANT_RESPOND
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/hostap/src/common/tnc.h
      type_or_value: '7'
    - item_type: preproc_def
      name: TNC_RESULT_ILLEGAL_OPERATION
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/hostap/src/common/tnc.h
      type_or_value: '8'
    - item_type: preproc_def
      name: TNC_RESULT_OTHER
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/hostap/src/common/tnc.h
      type_or_value: '9'
    - item_type: preproc_def
      name: TNC_RESULT_FATAL
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/hostap/src/common/tnc.h
      type_or_value: '10'
    - item_type: preproc_def
      name: TNC_CONNECTION_STATE_CREATE
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/hostap/src/common/tnc.h
      type_or_value: '0'
    - item_type: preproc_def
      name: TNC_CONNECTION_STATE_HANDSHAKE
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/hostap/src/common/tnc.h
      type_or_value: '1'
    - item_type: preproc_def
      name: TNC_CONNECTION_STATE_ACCESS_ALLOWED
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/hostap/src/common/tnc.h
      type_or_value: '2'
    - item_type: preproc_def
      name: TNC_CONNECTION_STATE_ACCESS_ISOLATED
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/hostap/src/common/tnc.h
      type_or_value: '3'
    - item_type: preproc_def
      name: TNC_CONNECTION_STATE_ACCESS_NONE
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/hostap/src/common/tnc.h
      type_or_value: '4'
    - item_type: preproc_def
      name: TNC_CONNECTION_STATE_DELETE
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/hostap/src/common/tnc.h
      type_or_value: '5'
    - item_type: preproc_def
      name: TNC_VENDORID_ANY
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/hostap/src/common/tnc.h
      type_or_value: ((TNC_VendorID) 0xffffff)
    - item_type: preproc_def
      name: TNC_SUBTYPE_ANY
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/hostap/src/common/tnc.h
      type_or_value: ((TNC_Subtype) 0xff)
    - item_type: preproc_def
      name: TNC_TNCCS_RECOMMENDATION
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/hostap/src/common/tnc.h
      type_or_value: '0x00000001'
    - item_type: preproc_def
      name: TNC_TNCCS_ERROR
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/hostap/src/common/tnc.h
      type_or_value: '0x00000002'
    - item_type: preproc_def
      name: TNC_TNCCS_PREFERREDLANGUAGE
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/hostap/src/common/tnc.h
      type_or_value: '0x00000003'
    - item_type: preproc_def
      name: TNC_TNCCS_REASONSTRINGS
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/hostap/src/common/tnc.h
      type_or_value: '0x00000004'
    structs: []
    typedefs:
    - item_type: typedef
      name: TNC_UInt32
      pos:
        line_end: 11
        line_start: 11
        source_file: /src/hostap/src/common/tnc.h
      type: unsigned long
    - item_type: typedef
      name: '*TNC_BufferReference'
      pos:
        line_end: 12
        line_start: 12
        source_file: /src/hostap/src/common/tnc.h
      type: unsigned char
    - item_type: typedef
      name: TNC_IMVID
      pos:
        line_end: 14
        line_start: 14
        source_file: /src/hostap/src/common/tnc.h
      type: TNC_UInt32
    - item_type: typedef
      name: TNC_IMCID
      pos:
        line_end: 15
        line_start: 15
        source_file: /src/hostap/src/common/tnc.h
      type: TNC_UInt32
    - item_type: typedef
      name: TNC_ConnectionID
      pos:
        line_end: 16
        line_start: 16
        source_file: /src/hostap/src/common/tnc.h
      type: TNC_UInt32
    - item_type: typedef
      name: TNC_ConnectionState
      pos:
        line_end: 17
        line_start: 17
        source_file: /src/hostap/src/common/tnc.h
      type: TNC_UInt32
    - item_type: typedef
      name: TNC_RetryReason
      pos:
        line_end: 18
        line_start: 18
        source_file: /src/hostap/src/common/tnc.h
      type: TNC_UInt32
    - item_type: typedef
      name: TNC_IMV_Action_Recommendation
      pos:
        line_end: 19
        line_start: 19
        source_file: /src/hostap/src/common/tnc.h
      type: TNC_UInt32
    - item_type: typedef
      name: TNC_IMV_Evaluation_Result
      pos:
        line_end: 20
        line_start: 20
        source_file: /src/hostap/src/common/tnc.h
      type: TNC_UInt32
    - item_type: typedef
      name: TNC_MessageType
      pos:
        line_end: 21
        line_start: 21
        source_file: /src/hostap/src/common/tnc.h
      type: TNC_UInt32
    - item_type: typedef
      name: '*TNC_MessageTypeList'
      pos:
        line_end: 22
        line_start: 22
        source_file: /src/hostap/src/common/tnc.h
      type: TNC_MessageType
    - item_type: typedef
      name: TNC_VendorID
      pos:
        line_end: 23
        line_start: 23
        source_file: /src/hostap/src/common/tnc.h
      type: TNC_UInt32
    - item_type: typedef
      name: TNC_Subtype
      pos:
        line_end: 24
        line_start: 24
        source_file: /src/hostap/src/common/tnc.h
      type: TNC_UInt32
    - item_type: typedef
      name: TNC_MessageSubtype
      pos:
        line_end: 25
        line_start: 25
        source_file: /src/hostap/src/common/tnc.h
      type: TNC_UInt32
    - item_type: typedef
      name: TNC_Version
      pos:
        line_end: 26
        line_start: 26
        source_file: /src/hostap/src/common/tnc.h
      type: TNC_UInt32
    - item_type: typedef
      name: TNC_Result
      pos:
        line_end: 27
        line_start: 27
        source_file: /src/hostap/src/common/tnc.h
      type: TNC_UInt32
    - item_type: typedef
      name: TNC_AttributeID
      pos:
        line_end: 28
        line_start: 28
        source_file: /src/hostap/src/common/tnc.h
      type: TNC_UInt32
    - item_type: typedef
      name: "(*TNC_TNCS_BindFunctionPointer)(\n\tTNC_IMVID imvID,\n\tchar *functionName,\n\tvoid
        **pOutfunctionPointer)"
      pos:
        line_end: 33
        line_start: 30
        source_file: /src/hostap/src/common/tnc.h
      type: TNC_Result
    - item_type: typedef
      name: "(*TNC_TNCS_ReportMessageTypesPointer)(\n\tTNC_IMVID imvID,\n\tTNC_MessageTypeList
        supportedTypes,\n\tTNC_UInt32 typeCount)"
      pos:
        line_end: 37
        line_start: 34
        source_file: /src/hostap/src/common/tnc.h
      type: TNC_Result
    - item_type: typedef
      name: "(*TNC_TNCS_SendMessagePointer)(\n\tTNC_IMVID imvID,\n\tTNC_ConnectionID
        connectionID,\n\tTNC_BufferReference message,\n\tTNC_UInt32 messageLength,\n\tTNC_MessageType
        messageType)"
      pos:
        line_end: 43
        line_start: 38
        source_file: /src/hostap/src/common/tnc.h
      type: TNC_Result
    - item_type: typedef
      name: "(*TNC_TNCS_RequestHandshakeRetryPointer)(\n\tTNC_IMVID imvID,\n\tTNC_ConnectionID
        connectionID,\n\tTNC_RetryReason reason)"
      pos:
        line_end: 47
        line_start: 44
        source_file: /src/hostap/src/common/tnc.h
      type: TNC_Result
    - item_type: typedef
      name: "(*TNC_TNCS_ProvideRecommendationPointer)(\n\tTNC_IMVID imvID,\n\tTNC_ConnectionID
        connectionID,\n\tTNC_IMV_Action_Recommendation recommendation,\n\tTNC_IMV_Evaluation_Result
        evaluation)"
      pos:
        line_end: 52
        line_start: 48
        source_file: /src/hostap/src/common/tnc.h
      type: TNC_Result
    - item_type: typedef
      name: "(*TNC_TNCC_BindFunctionPointer)(\n\tTNC_IMCID imcID,\n\tchar *functionName,\n\tvoid
        **pOutfunctionPointer)"
      pos:
        line_end: 56
        line_start: 53
        source_file: /src/hostap/src/common/tnc.h
      type: TNC_Result
    - item_type: typedef
      name: "(*TNC_TNCC_SendMessagePointer)(\n\tTNC_IMCID imcID,\n\tTNC_ConnectionID
        connectionID,\n\tTNC_BufferReference message,\n\tTNC_UInt32 messageLength,\n\tTNC_MessageType
        messageType)"
      pos:
        line_end: 62
        line_start: 57
        source_file: /src/hostap/src/common/tnc.h
      type: TNC_Result
    - item_type: typedef
      name: "(*TNC_TNCC_ReportMessageTypesPointer)(\n\tTNC_IMCID imcID,\n\tTNC_MessageTypeList
        supportedTypes,\n\tTNC_UInt32 typeCount)"
      pos:
        line_end: 66
        line_start: 63
        source_file: /src/hostap/src/common/tnc.h
      type: TNC_Result
    - item_type: typedef
      name: "(*TNC_TNCC_RequestHandshakeRetryPointer)(\n\tTNC_IMCID imcID,\n\tTNC_ConnectionID
        connectionID,\n\tTNC_RetryReason reason)"
      pos:
        line_end: 70
        line_start: 67
        source_file: /src/hostap/src/common/tnc.h
      type: TNC_Result
    union: []
- function_names:
  - ieee802_11_parse_vendor_specific
  - ieee802_11_parse_mle
  - ieee802_11_fragments_length
  - for_each_element
  - ieee802_11_parse_extension
  - __ieee802_11_parse_elems
  - for_each_element
  - ieee802_11_parse_elems
  - ieee802_11_parse_elems_ctrl
  - ieee802_11_elems_clear_ids
  - ieee802_11_elems_clear_ext_ids
  - ieee802_11_parse_link_profile
  - ieee802_11_parse_link_assoc_req
  - ieee802_11_parse_link_assoc_resp
  - ieee802_11_ie_count
  - ieee802_11_vendor_ie_concat
  - for_each_element_id
  - for_each_element_id
  - get_hdr_bssid
  - hostapd_config_wmm_ac
  - hostapd_config_read_int10
  - valid_cw
  - hostapd_config_tx_queue
  - ieee80211_freq_to_chan
  - ieee80211_freq_to_channel_ext
  - ieee80211_chaninfo_to_channel
  - country_match
  - ieee80211_chan_to_freq_us
  - ieee80211_chan_to_freq_eu
  - ieee80211_chan_to_freq_jp
  - ieee80211_chan_to_freq_cn
  - ieee80211_chan_to_freq_global
  - ieee80211_chan_to_freq
  - ieee80211_is_dfs
  - is_dfs_global_op_class
  - is_80plus_op_class
  - is_11b
  - supp_rates_11b_only
  - fc2str
  - C2S
  - reason2str
  - R2S
  - status2str
  - S2S
  - mb_ies_info_by_ies
  - for_each_element_id
  - mb_ies_by_info
  - ieee80211_phy_type_by_freq
  - ieee80211_get_phy_type
  - get_ie
  - get_ie_ext
  - get_vendor_ie
  - for_each_element_id
  - mbo_add_ie
  - check_multi_ap_ie
  - for_each_element
  - add_multi_ap_ie
  - global_op_class_from_country_array
  - country_to_global_op_class
  - get_oper_class
  - oper_class_bw_to_int
  - is_24ghz_freq
  - is_5ghz_freq
  - center_idx_to_bw_6ghz
  - is_6ghz_freq
  - is_6ghz_op_class
  - is_6ghz_psc_frequency
  - get_6ghz_sec_channel
  - is_same_band
  - ieee802_11_parse_candidate_list
  - ieee802_11_ext_capab
  - ieee802_11_rsnx_capab_len
  - ieee802_11_rsnx_capab
  - hostapd_encode_edmg_chan
  - ieee802_edmg_is_allowed
  - op_class_to_bandwidth
  - op_class_to_ch_width
  - chwidth_freq2_to_ch_width
  - chan_width_to_oper_chwidth
  - ieee802_11_defrag
  - ieee802_11_defrag_mle_subelem
  - get_ml_ie
  - for_each_element_extid
  - get_basic_mle_mld_addr
  - get_basic_mle_eml_capa
  - get_basic_mle_link_id
  - parse_ht_mcs_set_for_max_nss
  - parse_mcs_map_for_max_nss
  - get_max_nss_capability
  - get_supported_channel_width
  - get_vht_operation_channel_width
  - get_6ghz_operation_channel_width
  - get_he_operation_channel_width
  - get_eht_operation_channel_width
  - get_operation_channel_width
  - get_sta_operation_chan_width
  - op_class_idx_to_chan_vht
  - op_class_idx_to_chan
  - op_class_chan_to_idx_vht
  - op_class_chan_to_idx
  - get_center_freq_80mhz
  - get_center_freq_160mhz
  - ieee80211_get_center_freq
  source_file: /src/hostap/src/common/ieee802_11_common.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/common/dhcp.h
  types:
    enum:
    - enumerators:
      - name: DHCP_OPT_ROUTER
        value: '3'
      - name: DHCP_OPT_FORWARD
        value: '19'
      - name: DHCP_OPT_ARP_TIMEOUT
        value: '35'
      - name: DHCP_OPT_DISPLAY_MANAGER
        value: '49'
      - name: DHCP_OPT_NIS_V3_SERVERS
        value: '65'
      - name: DHCP_OPT_CLIENT_FQDN
        value: '81'
      - name: DHCP_OPT_GEOCONF_CIVIC
        value: '99'
      - name: DHCP_OPT_V_I_VENDOR_CLASS
        value: '124'
      - name: DHCP_OPT_QUERY_START_TIME
        value: '154'
      - name: DHCP_OPT_HOSTNAME
        value: '12'
      - name: DHCP_OPT_BROADCAST_ADDRESS
        value: '28'
      - name: DHCP_OPT_IRC_SERVER
        value: '74'
      - name: DHCP_OPT_NETBIOS_NAME_SERVER
        value: '44'
      - name: DHCP_OPT_RENEWAL_TIME
        value: '58'
      - name: DHCP_OPT_CLIENT_LAST_TRANSACTION_TIME
        value: '91'
      - name: DHCP_OPT_NAME_SERVICE_SEARCH
        value: '117'
      - name: DHCP_OPT_GEOLOC
        value: '144'
      - name: DHCP_OPT_REBOOT_TIME
        value: '211'
      - name: DHCP_OPT_BOOT_FILE_NAME
        value: '67'
      - name: DHCP_OPT_IP_ADDRESS_LEASE_TIME
        value: '51'
      - name: DHCP_OPT_NAME_SERVER
        value: '5'
      - name: DHCP_OPT_POLICY_FILTER
        value: '21'
      - name: DHCP_OPT_TCP_DEFAULT_TTL
        value: '37'
      - name: DHCP_OPT_ISNS
        value: '83'
      - name: DHCP_OPT_TCODE
        value: '101'
      - name: DHCP_OPT_PANA_AGENT
        value: '136'
      - name: DHCP_OPT_STATE
        value: '156'
      - name: DHCP_OPT_VENDOR_CLASS_ID
        value: '60'
      - name: DHCP_OPT_STDA_SERVER
        value: '76'
      - name: DHCP_OPT_MERIT_DUMP_FILE
        value: '14'
      - name: DHCP_OPT_MASK_SUPPLIER
        value: '30'
      - name: DHCP_OPT_CLIENT_SYSYEM
        value: '93'
      - name: DHCP_OPT_DOMAIN_SEARCH
        value: '119'
      - name: DHCP_OPT_RDNSS_SELECTION
        value: '146'
      - name: DHCP_OPT_V4_ACCESS_DOMAIN
        value: '213'
      - name: DHCP_OPT_DOMAIN_NAME
        value: '15'
      - name: DHCP_OPT_ROUTER_DISCOVERY
        value: '31'
      - name: DHCP_OPT_CLIENT_ID
        value: '61'
      - name: DHCP_OPT_USER_CLASS
        value: '77'
      - name: DHCP_OPT_CLIENT_NDI
        value: '94'
      - name: DHCP_OPT_SIP_SERVERS_DCP
        value: '120'
      - name: DHCP_OPT_TFTP_SERVER_ADDRESS
        value: '150'
      - name: DHCP_OPT_SUBNET_ALLOCATION
        value: '220'
      - name: DHCP_OPT_QUOTES_SERVER
        value: '8'
      - name: DHCP_OPT_MTU_TIMEOUT
        value: '24'
      - name: DHCP_OPT_NIS_DOMAIN
        value: '40'
      - name: DHCP_OPT_POP3_SERVER
        value: '70'
      - name: DHCP_OPT_SERVER_ID
        value: '54'
      - name: DHCP_OPT_NDS_CONTEXT
        value: '87'
      - name: DHCP_OPT_URL
        value: '114'
      - name: DHCP_OPT_IPV4_ADDRESS_MOS
        value: '139'
      - name: DHCP_OPT_V4_PORTPARAMS
        value: '159'
      - name: DHCP_OPT_NETWARE_IP_OPTION
        value: '63'
      - name: DHCP_OPT_NETBIOS_SCOPE
        value: '47'
      - name: DHCP_OPT_SUBNET_MASK
        value: '1'
      - name: DHCP_OPT_ROOT_PATH
        value: '17'
      - name: DHCP_OPT_STATIC_ROUTE
        value: '33'
      - name: DHCP_OPT_SERVICE_SCOPE
        value: '79'
      - name: DHCP_OPT_UUID_GUID
        value: '97'
      - name: DHCP_OPT_CCC
        value: '122'
      - name: DHCP_OPT_BASE_TIME
        value: '152'
      - name: DHCP_OPT_WWW_SERVER
        value: '72'
      - name: DHCP_OPT_IMPRESS_SERVER
        value: '10'
      - name: DHCP_OPT_MTU_INTERFACE
        value: '26'
      - name: DHCP_OPT_NTP_SERVERS
        value: '42'
      - name: DHCP_OPT_MESSAGE
        value: '56'
      - name: DHCP_OPT_BCMCS_CONTROLLER_IPV4_ADDRESS
        value: '89'
      - name: DHCP_OPT_SIP_UA_CONF
        value: '141'
      - name: DHCP_OPT_CONF_FILE
        value: '209'
      - name: DHCP_OPT_PAD
        value: '0'
      - name: DHCP_OPT_RLP_SERVER
        value: '11'
      - name: DHCP_OPT_ALL_SUBNETS_LOCAL
        value: '27'
      - name: DHCP_OPT_FINGER_SERVER
        value: '73'
      - name: DHCP_OPT_VENDOR_SPECIFIC
        value: '43'
      - name: DHCP_OPT_MAX_MESSAGE_SIZE
        value: '57'
      - name: DHCP_OPT_AUTHENTICATION
        value: '90'
      - name: DHCP_OPT_AUTO_CONFIG
        value: '116'
      - name: DHCP_OPT_IPV4_ADDRESS_ANDSF
        value: '142'
      - name: DHCP_OPT_PATH_PREFIX
        value: '210'
      - name: DHCP_OPT_TFTP_SERVER_NAME
        value: '66'
      - name: DHCP_OPT_REQUESTED_IP_ADDRESS
        value: '50'
      - name: DHCP_OPT_TIME_SERVER
        value: '4'
      - name: DHCP_OPT_SRC_RTE
        value: '20'
      - name: DHCP_OPT_ETHERNET
        value: '36'
      - name: DHCP_OPT_RELAY_AGENT_INFO
        value: '82'
      - name: DHCP_OPT_PCODE
        value: '100'
      - name: DHCP_OPT_V_I_VENDOR_SPECIFIC_INFO
        value: '125'
      - name: DHCP_OPT_QUERY_END_TIME
        value: '155'
      - name: DHCP_OPT_STREETTALK_SERVER
        value: '75'
      - name: DHCP_OPT_BOOT_FILE_SIZE
        value: '13'
      - name: DHCP_OPT_MASK_DISCOVERY
        value: '29'
      - name: DHCP_OPT_NETBIOS_DISTRIBUTION_SERVER
        value: '45'
      - name: DHCP_OPT_REBINDING_TIME
        value: '59'
      - name: DHCP_OPT_ASSOCIATED_IP
        value: '92'
      - name: DHCP_OPT_SUBNET_SELECTION
        value: '118'
      - name: DHCP_OPT_FORCERENEW_NONCE_CAPABLE
        value: '145'
      - name: DHCP_OPT_6RD
        value: '212'
      - name: DHCP_OPT_OVERLOAD
        value: '52'
      - name: DHCP_OPT_DOMAIN_NAME_SERVER
        value: '6'
      - name: DHCP_OPT_MAX_DG_ASSEMBLY
        value: '22'
      - name: DHCP_OPT_TCP_KEEPALIVE_INTERVAL
        value: '38'
      - name: DHCP_OPT_HOME_AGENT_ADDRESSES
        value: '68'
      - name: DHCP_OPT_NDS_SERVERS
        value: '85'
      - name: DHCP_OPT_NETINFO_ADDRESS
        value: '112'
      - name: DHCP_OPT_V4_LOST
        value: '137'
      - name: DHCP_OPT_DATA_SOURCE
        value: '157'
      - name: DHCP_OPT_LOG_SERVER
        value: '7'
      - name: DHCP_OPT_DEFAULT_IP_TTL
        value: '23'
      - name: DHCP_OPT_SMTP_SERVER
        value: '69'
      - name: DHCP_OPT_TCP_KEEPALIVE_GARBAGE
        value: '39'
      - name: DHCP_OPT_MSG_TYPE
        value: '53'
      - name: DHCP_OPT_NDS_TREE_NAME
        value: '86'
      - name: DHCP_OPT_NETINFO_TAG
        value: '113'
      - name: DHCP_OPT_CAPWAP_AC_V4
        value: '138'
      - name: DHCP_OPT_V4_PCP_SERVER
        value: '158'
      - name: DHCP_OPT_SWAP_SERVER
        value: '16'
      - name: DHCP_OPT_ROUTER_SOLICITATION_ADDRESS
        value: '32'
      - name: DHCP_OPT_NETWARE_IP_DOMAIN
        value: '62'
      - name: DHCP_OPT_NETBIOS_NODE_TYPE
        value: '46'
      - name: DHCP_OPT_DIRECTORY_AGENT
        value: '78'
      - name: DHCP_OPT_LDAP
        value: '95'
      - name: DHCP_OPT_CLASSLESS_STATIC_ROUTE
        value: '121'
      - name: DHCP_OPT_STATUS_CODE
        value: '151'
      - name: DHCP_OPT_VSS
        value: '221'
      - name: DHCP_OPT_LPR_SERVER
        value: '9'
      - name: DHCP_OPT_MTU_PLATEAU
        value: '25'
      - name: DHCP_OPT_NIS_SERVERS
        value: '41'
      - name: DHCP_OPT_PARAMETER_REQ_LIST
        value: '55'
      - name: DHCP_OPT_NNTP_SERVER
        value: '71'
      - name: DHCP_OPT_BCMCS_CONTROLLER_DOMAIN_NAME_LIST
        value: '88'
      - name: DHCP_OPT_IPV4_FQDN_MOS
        value: '140'
      - name: DHCP_OPT_CAPTIVE_PORTAL
        value: '160'
      - name: DHCP_OPT_END
        value: '255'
      - name: DHCP_OPT_FONT_SERVER
        value: '48'
      - name: DHCP_OPT_TIME_OFFSET
        value: '2'
      - name: DHCP_OPT_EXTENSION_PATH
        value: '18'
      - name: DHCP_OPT_TRAILERS
        value: '34'
      - name: DHCP_OPT_NIS_V3_DOMAIN
        value: '64'
      - name: DHCP_OPT_RAPID_COMMIT
        value: '80'
      - name: DHCP_OPT_USER_AUTH
        value: '98'
      - name: DHCP_OPT_GEOCONF
        value: '123'
      - name: DHCP_OPT_START_TIME_OF_STATE
        value: '153'
      item_type: enum
      name: dhcp_options
      pos:
        line_end: 209
        line_start: 66
        source_file: /src/hostap/src/common/dhcp.h
    - enumerators:
      - name: DHCPDISCOVER
        value: '1'
      - name: DHCPOFFER
        value: '2'
      - name: DHCPREQUEST
        value: '3'
      - name: DHCPDECLINE
        value: '4'
      - name: DHCPACK
        value: '5'
      - name: DHCPNAK
        value: '6'
      - name: DHCPRELEASE
        value: '7'
      - name: DHCPINFORM
        value: '8'
      - name: DHCPFORCERENEW
        value: '9'
      - name: DHCPLEASEQUERY
        value: '10'
      - name: DHCPLEASEUNASSIGNED
        value: '11'
      - name: DHCPBULKLEASEQUERY
        value: '14'
      - name: DHCPTLS
        value: '18'
      - name: DHCPLEASEQUERYSTATUS
        value: '17'
      - name: DHCPLEASEACTIVE
        value: '13'
      - name: DHCPACTIVELEASEQUERY
        value: '16'
      - name: DHCPLEASEUNKNOWN
        value: '12'
      - name: DHCPLEASEQUERYDONE
        value: '15'
      item_type: enum
      name: dhcp_message_types
      pos:
        line_end: 230
        line_start: 211
        source_file: /src/hostap/src/common/dhcp.h
    - enumerators:
      - name: DHCP_RELAY_OPT_SUBSCRIBE_ID
        value: '6'
      - name: DHCP_RELAY_OPT_RELAY_AGENT_FLAGS
        value: '10'
      - name: DHCP_RELAY_OPT_ACCESS_NETWORK_NAME
        value: '14'
      - name: DHCP_RELAY_OPT_OPERATOR_REALM
        value: '18'
      - name: DHCP_RELAY_OPT_AGENT_REMOTE_ID
        value: '2'
      - name: DHCP_RELAY_OPT_RADIUS_ATTRIBUTES
        value: '7'
      - name: DHCP_RELAY_OPT_SERVER_ID_OVERRIDE
        value: '11'
      - name: DHCP_RELAY_OPT_DHCPV4_VIRTUAL_SUBNET_SELECTION
        value: '151'
      - name: DHCP_RELAY_OPT_ACCESS_POINT_NAME
        value: '15'
      - name: DHCP_RELAY_OPT_DOCSIS_DEVICE_CLASS
        value: '4'
      - name: DHCP_RELAY_OPT_AUTHENTICATION
        value: '8'
      - name: DHCP_RELAY_OPT_DHCPV4_VIRTUAL_SUBNET_SELECTION_CONTROL
        value: '152'
      - name: DHCP_RELAY_OPT_ACCESS_POINT_BSSID
        value: '16'
      - name: DHCP_RELAY_OPT_RELAY_AGENT_ID
        value: '12'
      - name: DHCP_RELAY_OPT_AGENT_CIRCUIT_ID
        value: '1'
      - name: DHCP_RELAY_OPT_LINK_SELECTION
        value: '5'
      - name: DHCP_RELAY_OPT_VEDOR_SPECIFIC
        value: '9'
      - name: DHCP_RELAY_OPT_OPERATOR_ID
        value: '17'
      - name: DHCP_RELAY_OPT_ACCESS_TECHNOLOGY_TYPE
        value: '13'
      item_type: enum
      name: dhcp_relay_agent_suboptions
      pos:
        line_end: 252
        line_start: 232
        source_file: /src/hostap/src/common/dhcp.h
    - enumerators:
      - name: ACCESS_TECHNOLOGY_VIRTUAL
        value: '1'
      - name: ACCESS_TECHNOLOGY_PPP
        value: '2'
      - name: ACCESS_TECHNOLOGY_ETHERNET
        value: '3'
      - name: ACCESS_TECHNOLOGY_WLAN
        value: '4'
      - name: ACCESS_TECHNOLOGY_WIMAX
        value: '5'
      item_type: enum
      name: access_technology_types
      pos:
        line_end: 260
        line_start: 254
        source_file: /src/hostap/src/common/dhcp.h
    preproc_defs:
    - item_type: preproc_def
      name: __FAVOR_BSD
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/hostap/src/common/dhcp.h
      type_or_value: '1'
    - item_type: preproc_def
      name: DHCP_SERVER_PORT
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/hostap/src/common/dhcp.h
      type_or_value: '67'
    - item_type: preproc_def
      name: DHCP_CLIENT_PORT
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/hostap/src/common/dhcp.h
      type_or_value: '68'
    - item_type: preproc_def
      name: DHCP_MAGIC
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/hostap/src/common/dhcp.h
      type_or_value: '0x63825363'
    structs:
    - fields:
      - name: op
        type: u8
      - name: htype
        type: u8
      - name: hlen
        type: u8
      - name: hops
        type: u8
      - name: xid
        type: be32
      - name: secs
        type: be16
      - name: flags
        type: be16
      - name: client_ip
        type: be32
      - name: your_ip
        type: be32
      - name: server_ip
        type: be32
      - name: relay_ip
        type: be32
      - name: hw_addr[16]
        type: u8
      - name: serv_name[64]
        type: u8
      - name: boot_file[128]
        type: u8
      item_type: struct
      name: dhcp_data
      pos:
        line_end: 38
        line_start: 23
        source_file: /src/hostap/src/common/dhcp.h
    - fields:
      - name: iph
        type: struct ip
      - name: udph
        type: struct udphdr
      - name: op
        type: u8
      - name: htype
        type: u8
      - name: hlen
        type: u8
      - name: hops
        type: u8
      - name: xid
        type: be32
      - name: secs
        type: be16
      - name: flags
        type: be16
      - name: client_ip
        type: be32
      - name: your_ip
        type: be32
      - name: server_ip
        type: be32
      - name: relay_ip
        type: be32
      - name: hw_addr[16]
        type: u8
      - name: serv_name[64]
        type: u8
      - name: boot_file[128]
        type: u8
      - name: exten[312]
        type: u8
      item_type: struct
      name: bootp_pkt
      pos:
        line_end: 58
        line_start: 40
        source_file: /src/hostap/src/common/dhcp.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/common/version.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VERSION_STR_POSTFIX
      pos:
        line_end: 5
        line_start: 4
        source_file: /src/hostap/src/common/version.h
      type_or_value: '""'
    - item_type: preproc_def
      name: GIT_VERSION_STR_POSTFIX
      pos:
        line_end: 9
        line_start: 8
        source_file: /src/hostap/src/common/version.h
      type_or_value: '""'
    - item_type: preproc_def
      name: VERSION_STR
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/hostap/src/common/version.h
      type_or_value: '"2.13-devel" VERSION_STR_POSTFIX GIT_VERSION_STR_POSTFIX'
    structs: []
    typedefs: []
    union: []
- function_names:
  - BIT
  source_file: /src/hostap/src/common/wpa_ctrl.h
  types:
    enum:
    - enumerators:
      - name: VENDOR_ELEM_PROBE_REQ_P2P
        value: '0'
      - name: VENDOR_ELEM_PROBE_RESP_P2P_GO
        value: '2'
      - name: VENDOR_ELEM_BEACON_P2P_GO
        value: '3'
      - name: VENDOR_ELEM_PROBE_RESP_P2P
        value: '1'
      - name: VENDOR_ELEM_P2P_PD_REQ
        value: '4'
      - name: VENDOR_ELEM_P2P_PD_RESP
        value: '5'
      - name: VENDOR_ELEM_P2P_GO_NEG_REQ
        value: '6'
      - name: VENDOR_ELEM_P2P_GO_NEG_RESP
        value: '7'
      - name: VENDOR_ELEM_P2P_GO_NEG_CONF
        value: '8'
      - name: VENDOR_ELEM_P2P_INV_REQ
        value: '9'
      - name: VENDOR_ELEM_P2P_INV_RESP
        value: '10'
      - name: VENDOR_ELEM_P2P_ASSOC_REQ
        value: '11'
      - name: VENDOR_ELEM_PROBE_REQ
        value: '14'
      - name: NUM_VENDOR_ELEM_FRAMES
      - name: VENDOR_ELEM_ASSOC_REQ
        value: '13'
      - name: VENDOR_ELEM_P2P_ASSOC_RESP
        value: '12'
      item_type: enum
      name: wpa_vendor_elem_frame
      pos:
        line_end: 580
        line_start: 563
        source_file: /src/hostap/src/common/wpa_ctrl.h
    preproc_defs:
    - item_type: preproc_def
      name: WPA_CTRL_IFACE_LINK_NAME
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"link"'
    - item_type: preproc_def
      name: WPA_CTRL_REQ
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"CTRL-REQ-"'
    - item_type: preproc_def
      name: WPA_CTRL_RSP
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"CTRL-RSP-"'
    - item_type: preproc_def
      name: WPA_EVENT_CONNECTED
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"CTRL-EVENT-CONNECTED "'
    - item_type: preproc_def
      name: WPA_EVENT_DISCONNECTED
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"CTRL-EVENT-DISCONNECTED "'
    - item_type: preproc_def
      name: WPA_EVENT_ASSOC_REJECT
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"CTRL-EVENT-ASSOC-REJECT "'
    - item_type: preproc_def
      name: WPA_EVENT_AUTH_REJECT
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"CTRL-EVENT-AUTH-REJECT "'
    - item_type: preproc_def
      name: WPA_EVENT_TERMINATING
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"CTRL-EVENT-TERMINATING "'
    - item_type: preproc_def
      name: WPA_EVENT_PASSWORD_CHANGED
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"CTRL-EVENT-PASSWORD-CHANGED "'
    - item_type: preproc_def
      name: WPA_EVENT_EAP_NOTIFICATION
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"CTRL-EVENT-EAP-NOTIFICATION "'
    - item_type: preproc_def
      name: WPA_EVENT_EAP_STARTED
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"CTRL-EVENT-EAP-STARTED "'
    - item_type: preproc_def
      name: WPA_EVENT_EAP_PROPOSED_METHOD
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"CTRL-EVENT-EAP-PROPOSED-METHOD "'
    - item_type: preproc_def
      name: WPA_EVENT_EAP_METHOD
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"CTRL-EVENT-EAP-METHOD "'
    - item_type: preproc_def
      name: WPA_EVENT_EAP_PEER_CERT
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"CTRL-EVENT-EAP-PEER-CERT "'
    - item_type: preproc_def
      name: WPA_EVENT_EAP_PEER_ALT
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"CTRL-EVENT-EAP-PEER-ALT "'
    - item_type: preproc_def
      name: WPA_EVENT_EAP_TLS_CERT_ERROR
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"CTRL-EVENT-EAP-TLS-CERT-ERROR "'
    - item_type: preproc_def
      name: WPA_EVENT_EAP_STATUS
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"CTRL-EVENT-EAP-STATUS "'
    - item_type: preproc_def
      name: WPA_EVENT_EAP_RETRANSMIT
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"CTRL-EVENT-EAP-RETRANSMIT "'
    - item_type: preproc_def
      name: WPA_EVENT_EAP_RETRANSMIT2
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"CTRL-EVENT-EAP-RETRANSMIT2 "'
    - item_type: preproc_def
      name: WPA_EVENT_EAP_SUCCESS
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"CTRL-EVENT-EAP-SUCCESS "'
    - item_type: preproc_def
      name: WPA_EVENT_EAP_SUCCESS2
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"CTRL-EVENT-EAP-SUCCESS2 "'
    - item_type: preproc_def
      name: WPA_EVENT_EAP_FAILURE
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"CTRL-EVENT-EAP-FAILURE "'
    - item_type: preproc_def
      name: WPA_EVENT_EAP_FAILURE2
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"CTRL-EVENT-EAP-FAILURE2 "'
    - item_type: preproc_def
      name: WPA_EVENT_EAP_TIMEOUT_FAILURE
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"CTRL-EVENT-EAP-TIMEOUT-FAILURE "'
    - item_type: preproc_def
      name: WPA_EVENT_EAP_TIMEOUT_FAILURE2
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"CTRL-EVENT-EAP-TIMEOUT-FAILURE2 "'
    - item_type: preproc_def
      name: WPA_EVENT_EAP_ERROR_CODE
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"EAP-ERROR-CODE "'
    - item_type: preproc_def
      name: WPA_EVENT_TEMP_DISABLED
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"CTRL-EVENT-SSID-TEMP-DISABLED "'
    - item_type: preproc_def
      name: WPA_EVENT_REENABLED
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"CTRL-EVENT-SSID-REENABLED "'
    - item_type: preproc_def
      name: WPA_EVENT_SCAN_STARTED
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"CTRL-EVENT-SCAN-STARTED "'
    - item_type: preproc_def
      name: WPA_EVENT_SCAN_RESULTS
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"CTRL-EVENT-SCAN-RESULTS "'
    - item_type: preproc_def
      name: WPA_EVENT_SCAN_FAILED
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"CTRL-EVENT-SCAN-FAILED "'
    - item_type: preproc_def
      name: WPA_EVENT_STATE_CHANGE
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"CTRL-EVENT-STATE-CHANGE "'
    - item_type: preproc_def
      name: WPA_EVENT_BSS_ADDED
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"CTRL-EVENT-BSS-ADDED "'
    - item_type: preproc_def
      name: WPA_EVENT_BSS_REMOVED
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"CTRL-EVENT-BSS-REMOVED "'
    - item_type: preproc_def
      name: WPA_EVENT_NETWORK_NOT_FOUND
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"CTRL-EVENT-NETWORK-NOT-FOUND "'
    - item_type: preproc_def
      name: WPA_EVENT_SIGNAL_CHANGE
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"CTRL-EVENT-SIGNAL-CHANGE "'
    - item_type: preproc_def
      name: WPA_EVENT_BEACON_LOSS
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"CTRL-EVENT-BEACON-LOSS "'
    - item_type: preproc_def
      name: WPA_EVENT_REGDOM_CHANGE
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"CTRL-EVENT-REGDOM-CHANGE "'
    - item_type: preproc_def
      name: WPA_EVENT_REGDOM_BEACON_HINT
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"CTRL-EVENT-REGDOM-BEACON-HINT "'
    - item_type: preproc_def
      name: WPA_EVENT_CHANNEL_SWITCH_STARTED
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"CTRL-EVENT-STARTED-CHANNEL-SWITCH "'
    - item_type: preproc_def
      name: WPA_EVENT_CHANNEL_SWITCH
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"CTRL-EVENT-CHANNEL-SWITCH "'
    - item_type: preproc_def
      name: WPA_EVENT_LINK_CHANNEL_SWITCH_STARTED
      pos:
        line_end: 103
        line_start: 101
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"CTRL-EVENT-STARTED-LINK-CHANNEL-SWITCH "'
    - item_type: preproc_def
      name: WPA_EVENT_LINK_CHANNEL_SWITCH
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"CTRL-EVENT-LINK-CHANNEL-SWITCH "'
    - item_type: preproc_def
      name: WPA_EVENT_SAE_UNKNOWN_PASSWORD_IDENTIFIER
      pos:
        line_end: 110
        line_start: 108
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"CTRL-EVENT-SAE-UNKNOWN-PASSWORD-IDENTIFIER "'
    - item_type: preproc_def
      name: WPA_EVENT_UNPROT_BEACON
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"CTRL-EVENT-UNPROT-BEACON "'
    - item_type: preproc_def
      name: WPA_EVENT_DO_ROAM
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"CTRL-EVENT-DO-ROAM "'
    - item_type: preproc_def
      name: WPA_EVENT_SKIP_ROAM
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"CTRL-EVENT-SKIP-ROAM "'
    - item_type: preproc_def
      name: WPA_EVENT_T2LM_UPDATE
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"CTRL-EVENT-T2LM-UPDATE "'
    - item_type: preproc_def
      name: WPA_EVENT_LINK_RECONFIG
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"CTRL-EVENT-LINK-RECONFIG "'
    - item_type: preproc_def
      name: WPA_EVENT_LINK_STA_REMOVED
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"CTRL-EVENT-LINK-STA-REMOVED "'
    - item_type: preproc_def
      name: WPA_EVENT_LINK_STA_ADDED
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"CTRL-EVENT-LINK-STA-ADDED "'
    - item_type: preproc_def
      name: WPA_EVENT_SUBNET_STATUS_UPDATE
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"CTRL-EVENT-SUBNET-STATUS-UPDATE "'
    - item_type: preproc_def
      name: IBSS_RSN_COMPLETED
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"IBSS-RSN-COMPLETED "'
    - item_type: preproc_def
      name: WPA_EVENT_FREQ_CONFLICT
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"CTRL-EVENT-FREQ-CONFLICT "'
    - item_type: preproc_def
      name: WPA_EVENT_AVOID_FREQ
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"CTRL-EVENT-AVOID-FREQ "'
    - item_type: preproc_def
      name: WPA_EVENT_NETWORK_ADDED
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"CTRL-EVENT-NETWORK-ADDED "'
    - item_type: preproc_def
      name: WPA_EVENT_NETWORK_REMOVED
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"CTRL-EVENT-NETWORK-REMOVED "'
    - item_type: preproc_def
      name: WPA_EVENT_MSCS_RESULT
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"CTRL-EVENT-MSCS-RESULT "'
    - item_type: preproc_def
      name: WPS_EVENT_OVERLAP
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"WPS-OVERLAP-DETECTED "'
    - item_type: preproc_def
      name: WPS_EVENT_AP_AVAILABLE_PBC
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"WPS-AP-AVAILABLE-PBC "'
    - item_type: preproc_def
      name: WPS_EVENT_AP_AVAILABLE_AUTH
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"WPS-AP-AVAILABLE-AUTH "'
    - item_type: preproc_def
      name: WPS_EVENT_AP_AVAILABLE_PIN
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"WPS-AP-AVAILABLE-PIN "'
    - item_type: preproc_def
      name: WPS_EVENT_AP_AVAILABLE
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"WPS-AP-AVAILABLE "'
    - item_type: preproc_def
      name: WPS_EVENT_CRED_RECEIVED
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"WPS-CRED-RECEIVED "'
    - item_type: preproc_def
      name: WPS_EVENT_M2D
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"WPS-M2D "'
    - item_type: preproc_def
      name: WPS_EVENT_FAIL
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"WPS-FAIL "'
    - item_type: preproc_def
      name: WPS_EVENT_SUCCESS
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"WPS-SUCCESS "'
    - item_type: preproc_def
      name: WPS_EVENT_TIMEOUT
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"WPS-TIMEOUT "'
    - item_type: preproc_def
      name: WPS_EVENT_ACTIVE
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"WPS-PBC-ACTIVE "'
    - item_type: preproc_def
      name: WPS_EVENT_DISABLE
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"WPS-PBC-DISABLE "'
    - item_type: preproc_def
      name: WPS_EVENT_ENROLLEE_SEEN
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"WPS-ENROLLEE-SEEN "'
    - item_type: preproc_def
      name: WPS_EVENT_OPEN_NETWORK
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"WPS-OPEN-NETWORK "'
    - item_type: preproc_def
      name: WPA_EVENT_SCS_RESULT
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"CTRL-EVENT-SCS-RESULT "'
    - item_type: preproc_def
      name: WPA_EVENT_DSCP_POLICY
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"CTRL-EVENT-DSCP-POLICY "'
    - item_type: preproc_def
      name: WPS_EVENT_ER_AP_ADD
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"WPS-ER-AP-ADD "'
    - item_type: preproc_def
      name: WPS_EVENT_ER_AP_REMOVE
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"WPS-ER-AP-REMOVE "'
    - item_type: preproc_def
      name: WPS_EVENT_ER_ENROLLEE_ADD
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"WPS-ER-ENROLLEE-ADD "'
    - item_type: preproc_def
      name: WPS_EVENT_ER_ENROLLEE_REMOVE
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"WPS-ER-ENROLLEE-REMOVE "'
    - item_type: preproc_def
      name: WPS_EVENT_ER_AP_SETTINGS
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"WPS-ER-AP-SETTINGS "'
    - item_type: preproc_def
      name: WPS_EVENT_ER_SET_SEL_REG
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"WPS-ER-AP-SET-SEL-REG "'
    - item_type: preproc_def
      name: DPP_EVENT_AUTH_SUCCESS
      pos:
        line_end: 199
        line_start: 198
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"DPP-AUTH-SUCCESS "'
    - item_type: preproc_def
      name: DPP_EVENT_AUTH_INIT_FAILED
      pos:
        line_end: 200
        line_start: 199
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"DPP-AUTH-INIT-FAILED "'
    - item_type: preproc_def
      name: DPP_EVENT_NOT_COMPATIBLE
      pos:
        line_end: 201
        line_start: 200
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"DPP-NOT-COMPATIBLE "'
    - item_type: preproc_def
      name: DPP_EVENT_RESPONSE_PENDING
      pos:
        line_end: 202
        line_start: 201
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"DPP-RESPONSE-PENDING "'
    - item_type: preproc_def
      name: DPP_EVENT_SCAN_PEER_QR_CODE
      pos:
        line_end: 203
        line_start: 202
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"DPP-SCAN-PEER-QR-CODE "'
    - item_type: preproc_def
      name: DPP_EVENT_AUTH_DIRECTION
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"DPP-AUTH-DIRECTION "'
    - item_type: preproc_def
      name: DPP_EVENT_CONF_RECEIVED
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"DPP-CONF-RECEIVED "'
    - item_type: preproc_def
      name: DPP_EVENT_CONF_SENT
      pos:
        line_end: 206
        line_start: 205
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"DPP-CONF-SENT "'
    - item_type: preproc_def
      name: DPP_EVENT_CONF_FAILED
      pos:
        line_end: 207
        line_start: 206
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"DPP-CONF-FAILED "'
    - item_type: preproc_def
      name: DPP_EVENT_CONN_STATUS_RESULT
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"DPP-CONN-STATUS-RESULT "'
    - item_type: preproc_def
      name: DPP_EVENT_CONFOBJ_AKM
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"DPP-CONFOBJ-AKM "'
    - item_type: preproc_def
      name: DPP_EVENT_CONFOBJ_SSID
      pos:
        line_end: 210
        line_start: 209
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"DPP-CONFOBJ-SSID "'
    - item_type: preproc_def
      name: DPP_EVENT_CONFOBJ_SSID_CHARSET
      pos:
        line_end: 211
        line_start: 210
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"DPP-CONFOBJ-SSID-CHARSET "'
    - item_type: preproc_def
      name: DPP_EVENT_CONFOBJ_PASS
      pos:
        line_end: 212
        line_start: 211
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"DPP-CONFOBJ-PASS "'
    - item_type: preproc_def
      name: DPP_EVENT_CONFOBJ_IDPASS
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"DPP-CONFOBJ-IDPASS "'
    - item_type: preproc_def
      name: DPP_EVENT_CONFOBJ_PSK
      pos:
        line_end: 214
        line_start: 213
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"DPP-CONFOBJ-PSK "'
    - item_type: preproc_def
      name: DPP_EVENT_CONNECTOR
      pos:
        line_end: 215
        line_start: 214
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"DPP-CONNECTOR "'
    - item_type: preproc_def
      name: DPP_EVENT_C_SIGN_KEY
      pos:
        line_end: 216
        line_start: 215
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"DPP-C-SIGN-KEY "'
    - item_type: preproc_def
      name: DPP_EVENT_PP_KEY
      pos:
        line_end: 217
        line_start: 216
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"DPP-PP-KEY "'
    - item_type: preproc_def
      name: DPP_EVENT_NET_ACCESS_KEY
      pos:
        line_end: 218
        line_start: 217
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"DPP-NET-ACCESS-KEY "'
    - item_type: preproc_def
      name: DPP_EVENT_SERVER_NAME
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"DPP-SERVER-NAME "'
    - item_type: preproc_def
      name: DPP_EVENT_CERTBAG
      pos:
        line_end: 220
        line_start: 219
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"DPP-CERTBAG "'
    - item_type: preproc_def
      name: DPP_EVENT_CACERT
      pos:
        line_end: 221
        line_start: 220
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"DPP-CACERT "'
    - item_type: preproc_def
      name: DPP_EVENT_MISSING_CONNECTOR
      pos:
        line_end: 222
        line_start: 221
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"DPP-MISSING-CONNECTOR "'
    - item_type: preproc_def
      name: DPP_EVENT_NETWORK_ID
      pos:
        line_end: 223
        line_start: 222
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"DPP-NETWORK-ID "'
    - item_type: preproc_def
      name: DPP_EVENT_CONFIGURATOR_ID
      pos:
        line_end: 224
        line_start: 223
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"DPP-CONFIGURATOR-ID "'
    - item_type: preproc_def
      name: DPP_EVENT_RX
      pos:
        line_end: 225
        line_start: 224
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"DPP-RX "'
    - item_type: preproc_def
      name: DPP_EVENT_TX
      pos:
        line_end: 226
        line_start: 225
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"DPP-TX "'
    - item_type: preproc_def
      name: DPP_EVENT_TX_STATUS
      pos:
        line_end: 227
        line_start: 226
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"DPP-TX-STATUS "'
    - item_type: preproc_def
      name: DPP_EVENT_FAIL
      pos:
        line_end: 228
        line_start: 227
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"DPP-FAIL "'
    - item_type: preproc_def
      name: DPP_EVENT_PKEX_T_LIMIT
      pos:
        line_end: 229
        line_start: 228
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"DPP-PKEX-T-LIMIT "'
    - item_type: preproc_def
      name: DPP_EVENT_INTRO
      pos:
        line_end: 230
        line_start: 229
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"DPP-INTRO "'
    - item_type: preproc_def
      name: DPP_EVENT_CONF_REQ_RX
      pos:
        line_end: 231
        line_start: 230
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"DPP-CONF-REQ-RX "'
    - item_type: preproc_def
      name: DPP_EVENT_CHIRP_STOPPED
      pos:
        line_end: 232
        line_start: 231
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"DPP-CHIRP-STOPPED "'
    - item_type: preproc_def
      name: DPP_EVENT_MUD_URL
      pos:
        line_end: 233
        line_start: 232
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"DPP-MUD-URL "'
    - item_type: preproc_def
      name: DPP_EVENT_BAND_SUPPORT
      pos:
        line_end: 234
        line_start: 233
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"DPP-BAND-SUPPORT "'
    - item_type: preproc_def
      name: DPP_EVENT_ENROLLEE_CAPABILITY
      pos:
        line_end: 235
        line_start: 234
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"DPP-ENROLLEE-CAPABILITY "'
    - item_type: preproc_def
      name: DPP_EVENT_CSR
      pos:
        line_end: 236
        line_start: 235
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"DPP-CSR "'
    - item_type: preproc_def
      name: DPP_EVENT_CHIRP_RX
      pos:
        line_end: 237
        line_start: 236
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"DPP-CHIRP-RX "'
    - item_type: preproc_def
      name: DPP_EVENT_CONF_NEEDED
      pos:
        line_end: 238
        line_start: 237
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"DPP-CONF-NEEDED "'
    - item_type: preproc_def
      name: DPP_EVENT_PB_STATUS
      pos:
        line_end: 239
        line_start: 238
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"DPP-PB-STATUS "'
    - item_type: preproc_def
      name: DPP_EVENT_PB_RESULT
      pos:
        line_end: 240
        line_start: 239
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"DPP-PB-RESULT "'
    - item_type: preproc_def
      name: DPP_EVENT_RELAY_NEEDS_CONTROLLER
      pos:
        line_end: 241
        line_start: 240
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"DPP-RELAY-NEEDS-CONTROLLER "'
    - item_type: preproc_def
      name: NAN_DISCOVERY_RESULT
      pos:
        line_end: 244
        line_start: 243
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"NAN-DISCOVERY-RESULT "'
    - item_type: preproc_def
      name: NAN_REPLIED
      pos:
        line_end: 245
        line_start: 244
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"NAN-REPLIED "'
    - item_type: preproc_def
      name: NAN_PUBLISH_TERMINATED
      pos:
        line_end: 246
        line_start: 245
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"NAN-PUBLISH-TERMINATED "'
    - item_type: preproc_def
      name: NAN_SUBSCRIBE_TERMINATED
      pos:
        line_end: 247
        line_start: 246
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"NAN-SUBSCRIBE-TERMINATED "'
    - item_type: preproc_def
      name: NAN_RECEIVE
      pos:
        line_end: 248
        line_start: 247
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"NAN-RECEIVE "'
    - item_type: preproc_def
      name: NAN_TRANSMIT_STATUS
      pos:
        line_end: 249
        line_start: 248
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"NAN-TRANSMIT-STATUS "'
    - item_type: preproc_def
      name: NAN_CLUSTER_JOIN
      pos:
        line_end: 250
        line_start: 249
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"NAN-CLUSTER-JOIN "'
    - item_type: preproc_def
      name: NAN_NDP_REQUEST
      pos:
        line_end: 251
        line_start: 250
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"NAN-NDP-REQUEST "'
    - item_type: preproc_def
      name: NAN_NDP_COUNTER_REQUEST
      pos:
        line_end: 252
        line_start: 251
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"NAN-NDP-COUNTER-REQUEST "'
    - item_type: preproc_def
      name: NAN_NDP_CONNECTED
      pos:
        line_end: 253
        line_start: 252
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"NAN-NDP-CONNECTED "'
    - item_type: preproc_def
      name: NAN_NDP_DISCONNECTED
      pos:
        line_end: 254
        line_start: 253
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"NAN-NDP-DISCONNECTED "'
    - item_type: preproc_def
      name: NAN_BOOTSTRAP_REQUEST
      pos:
        line_end: 255
        line_start: 254
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"NAN-BOOTSTRAP-REQUEST "'
    - item_type: preproc_def
      name: NAN_BOOTSTRAP_SUCCESS
      pos:
        line_end: 256
        line_start: 255
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"NAN-BOOTSTRAP-SUCCESS "'
    - item_type: preproc_def
      name: NAN_BOOTSTRAP_FAILURE
      pos:
        line_end: 257
        line_start: 256
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"NAN-BOOTSTRAP-FAILURE "'
    - item_type: preproc_def
      name: NAN_NIK_RECEIVED
      pos:
        line_end: 258
        line_start: 257
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"NAN-NIK-RECEIVED "'
    - item_type: preproc_def
      name: NAN_PAIRING_REQUEST
      pos:
        line_end: 259
        line_start: 258
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"NAN-PAIRING-REQUEST "'
    - item_type: preproc_def
      name: NAN_PEER_SCHEDULE_CHANGED
      pos:
        line_end: 260
        line_start: 259
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"NAN-PEER-SCHEDULE-CHANGED "'
    - item_type: preproc_def
      name: NAN_SCHEDULE_UPDATE_DONE
      pos:
        line_end: 261
        line_start: 260
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"NAN-SCHEDULE-UPDATE-DONE "'
    - item_type: preproc_def
      name: NAN_PAIRING_STATUS
      pos:
        line_end: 267
        line_start: 266
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"NAN-PAIRING-STATUS "'
    - item_type: preproc_def
      name: NAN_CHAN_EVACUATION
      pos:
        line_end: 272
        line_start: 271
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"NAN-CHAN-EVACUATION "'
    - item_type: preproc_def
      name: NAN_STOPPED
      pos:
        line_end: 273
        line_start: 272
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"NAN-STOPPED "'
    - item_type: preproc_def
      name: MESH_GROUP_STARTED
      pos:
        line_end: 276
        line_start: 275
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"MESH-GROUP-STARTED "'
    - item_type: preproc_def
      name: MESH_GROUP_REMOVED
      pos:
        line_end: 277
        line_start: 276
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"MESH-GROUP-REMOVED "'
    - item_type: preproc_def
      name: MESH_PEER_CONNECTED
      pos:
        line_end: 278
        line_start: 277
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"MESH-PEER-CONNECTED "'
    - item_type: preproc_def
      name: MESH_PEER_DISCONNECTED
      pos:
        line_end: 279
        line_start: 278
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"MESH-PEER-DISCONNECTED "'
    - item_type: preproc_def
      name: MESH_SAE_AUTH_FAILURE
      pos:
        line_end: 281
        line_start: 280
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"MESH-SAE-AUTH-FAILURE "'
    - item_type: preproc_def
      name: MESH_SAE_AUTH_BLOCKED
      pos:
        line_end: 282
        line_start: 281
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"MESH-SAE-AUTH-BLOCKED "'
    - item_type: preproc_def
      name: WMM_AC_EVENT_TSPEC_ADDED
      pos:
        line_end: 285
        line_start: 284
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"TSPEC-ADDED "'
    - item_type: preproc_def
      name: WMM_AC_EVENT_TSPEC_REMOVED
      pos:
        line_end: 286
        line_start: 285
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"TSPEC-REMOVED "'
    - item_type: preproc_def
      name: WMM_AC_EVENT_TSPEC_REQ_FAILED
      pos:
        line_end: 287
        line_start: 286
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"TSPEC-REQ-FAILED "'
    - item_type: preproc_def
      name: P2P_EVENT_DEVICE_FOUND
      pos:
        line_end: 290
        line_start: 289
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"P2P-DEVICE-FOUND "'
    - item_type: preproc_def
      name: P2P_EVENT_DEVICE_LOST
      pos:
        line_end: 293
        line_start: 292
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"P2P-DEVICE-LOST "'
    - item_type: preproc_def
      name: P2P_EVENT_GO_NEG_REQUEST
      pos:
        line_end: 297
        line_start: 296
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"P2P-GO-NEG-REQUEST "'
    - item_type: preproc_def
      name: P2P_EVENT_GO_NEG_SUCCESS
      pos:
        line_end: 298
        line_start: 297
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"P2P-GO-NEG-SUCCESS "'
    - item_type: preproc_def
      name: P2P_EVENT_GO_NEG_FAILURE
      pos:
        line_end: 299
        line_start: 298
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"P2P-GO-NEG-FAILURE "'
    - item_type: preproc_def
      name: P2P_EVENT_GROUP_FORMATION_SUCCESS
      pos:
        line_end: 300
        line_start: 299
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"P2P-GROUP-FORMATION-SUCCESS "'
    - item_type: preproc_def
      name: P2P_EVENT_GROUP_FORMATION_FAILURE
      pos:
        line_end: 301
        line_start: 300
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"P2P-GROUP-FORMATION-FAILURE "'
    - item_type: preproc_def
      name: P2P_EVENT_GROUP_STARTED
      pos:
        line_end: 302
        line_start: 301
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"P2P-GROUP-STARTED "'
    - item_type: preproc_def
      name: P2P_EVENT_GROUP_REMOVED
      pos:
        line_end: 303
        line_start: 302
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"P2P-GROUP-REMOVED "'
    - item_type: preproc_def
      name: P2P_EVENT_CROSS_CONNECT_ENABLE
      pos:
        line_end: 304
        line_start: 303
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"P2P-CROSS-CONNECT-ENABLE "'
    - item_type: preproc_def
      name: P2P_EVENT_CROSS_CONNECT_DISABLE
      pos:
        line_end: 305
        line_start: 304
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"P2P-CROSS-CONNECT-DISABLE "'
    - item_type: preproc_def
      name: P2P_EVENT_PROV_DISC_SHOW_PIN
      pos:
        line_end: 307
        line_start: 306
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"P2P-PROV-DISC-SHOW-PIN "'
    - item_type: preproc_def
      name: P2P_EVENT_PROV_DISC_ENTER_PIN
      pos:
        line_end: 309
        line_start: 308
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"P2P-PROV-DISC-ENTER-PIN "'
    - item_type: preproc_def
      name: P2P_EVENT_PROV_DISC_PBC_REQ
      pos:
        line_end: 311
        line_start: 310
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"P2P-PROV-DISC-PBC-REQ "'
    - item_type: preproc_def
      name: P2P_EVENT_PROV_DISC_PBC_RESP
      pos:
        line_end: 313
        line_start: 312
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"P2P-PROV-DISC-PBC-RESP "'
    - item_type: preproc_def
      name: P2P_EVENT_PROV_DISC_FAILURE
      pos:
        line_end: 315
        line_start: 314
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"P2P-PROV-DISC-FAILURE"'
    - item_type: preproc_def
      name: P2P_EVENT_SERV_DISC_REQ
      pos:
        line_end: 317
        line_start: 316
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"P2P-SERV-DISC-REQ "'
    - item_type: preproc_def
      name: P2P_EVENT_SERV_DISC_RESP
      pos:
        line_end: 319
        line_start: 318
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"P2P-SERV-DISC-RESP "'
    - item_type: preproc_def
      name: P2P_EVENT_SERV_ASP_RESP
      pos:
        line_end: 320
        line_start: 319
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"P2P-SERV-ASP-RESP "'
    - item_type: preproc_def
      name: P2P_EVENT_INVITATION_RECEIVED
      pos:
        line_end: 321
        line_start: 320
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"P2P-INVITATION-RECEIVED "'
    - item_type: preproc_def
      name: P2P_EVENT_INVITATION_RESULT
      pos:
        line_end: 322
        line_start: 321
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"P2P-INVITATION-RESULT "'
    - item_type: preproc_def
      name: P2P_EVENT_INVITATION_ACCEPTED
      pos:
        line_end: 323
        line_start: 322
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"P2P-INVITATION-ACCEPTED "'
    - item_type: preproc_def
      name: P2P_EVENT_FIND_STOPPED
      pos:
        line_end: 324
        line_start: 323
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"P2P-FIND-STOPPED "'
    - item_type: preproc_def
      name: P2P_EVENT_PERSISTENT_PSK_FAIL
      pos:
        line_end: 325
        line_start: 324
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"P2P-PERSISTENT-PSK-FAIL id="'
    - item_type: preproc_def
      name: P2P_EVENT_PRESENCE_RESPONSE
      pos:
        line_end: 326
        line_start: 325
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"P2P-PRESENCE-RESPONSE "'
    - item_type: preproc_def
      name: P2P_EVENT_NFC_BOTH_GO
      pos:
        line_end: 327
        line_start: 326
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"P2P-NFC-BOTH-GO "'
    - item_type: preproc_def
      name: P2P_EVENT_NFC_PEER_CLIENT
      pos:
        line_end: 328
        line_start: 327
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"P2P-NFC-PEER-CLIENT "'
    - item_type: preproc_def
      name: P2P_EVENT_NFC_WHILE_CLIENT
      pos:
        line_end: 329
        line_start: 328
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"P2P-NFC-WHILE-CLIENT "'
    - item_type: preproc_def
      name: P2P_EVENT_FALLBACK_TO_GO_NEG
      pos:
        line_end: 330
        line_start: 329
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"P2P-FALLBACK-TO-GO-NEG "'
    - item_type: preproc_def
      name: P2P_EVENT_FALLBACK_TO_GO_NEG_ENABLED
      pos:
        line_end: 331
        line_start: 330
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"P2P-FALLBACK-TO-GO-NEG-ENABLED "'
    - item_type: preproc_def
      name: ESS_DISASSOC_IMMINENT
      pos:
        line_end: 334
        line_start: 333
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"ESS-DISASSOC-IMMINENT "'
    - item_type: preproc_def
      name: P2P_EVENT_REMOVE_AND_REFORM_GROUP
      pos:
        line_end: 335
        line_start: 334
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"P2P-REMOVE-AND-REFORM-GROUP "'
    - item_type: preproc_def
      name: P2P_EVENT_P2PS_PROVISION_START
      pos:
        line_end: 337
        line_start: 336
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"P2PS-PROV-START "'
    - item_type: preproc_def
      name: P2P_EVENT_P2PS_PROVISION_DONE
      pos:
        line_end: 338
        line_start: 337
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"P2PS-PROV-DONE "'
    - item_type: preproc_def
      name: P2P_EVENT_BOOTSTRAP_REQUEST
      pos:
        line_end: 340
        line_start: 339
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"P2P-BOOTSTRAP-REQUEST "'
    - item_type: preproc_def
      name: P2P_EVENT_BOOTSTRAP_SUCCESS
      pos:
        line_end: 341
        line_start: 340
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"P2P-BOOTSTRAP-SUCCESS "'
    - item_type: preproc_def
      name: P2P_EVENT_BOOTSTRAP_FAILURE
      pos:
        line_end: 342
        line_start: 341
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"P2P-BOOTSTRAP-FAILURE "'
    - item_type: preproc_def
      name: INTERWORKING_AP
      pos:
        line_end: 344
        line_start: 343
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"INTERWORKING-AP "'
    - item_type: preproc_def
      name: INTERWORKING_EXCLUDED
      pos:
        line_end: 345
        line_start: 344
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"INTERWORKING-BLACKLISTED "'
    - item_type: preproc_def
      name: INTERWORKING_NO_MATCH
      pos:
        line_end: 346
        line_start: 345
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"INTERWORKING-NO-MATCH "'
    - item_type: preproc_def
      name: INTERWORKING_ALREADY_CONNECTED
      pos:
        line_end: 347
        line_start: 346
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"INTERWORKING-ALREADY-CONNECTED "'
    - item_type: preproc_def
      name: INTERWORKING_SELECTED
      pos:
        line_end: 348
        line_start: 347
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"INTERWORKING-SELECTED "'
    - item_type: preproc_def
      name: CRED_ADDED
      pos:
        line_end: 351
        line_start: 350
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"CRED-ADDED "'
    - item_type: preproc_def
      name: CRED_MODIFIED
      pos:
        line_end: 353
        line_start: 352
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"CRED-MODIFIED "'
    - item_type: preproc_def
      name: CRED_REMOVED
      pos:
        line_end: 355
        line_start: 354
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"CRED-REMOVED "'
    - item_type: preproc_def
      name: GAS_RESPONSE_INFO
      pos:
        line_end: 357
        line_start: 356
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"GAS-RESPONSE-INFO "'
    - item_type: preproc_def
      name: GAS_QUERY_START
      pos:
        line_end: 359
        line_start: 358
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"GAS-QUERY-START "'
    - item_type: preproc_def
      name: GAS_QUERY_DONE
      pos:
        line_end: 361
        line_start: 360
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"GAS-QUERY-DONE "'
    - item_type: preproc_def
      name: ANQP_QUERY_DONE
      pos:
        line_end: 364
        line_start: 363
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"ANQP-QUERY-DONE "'
    - item_type: preproc_def
      name: RX_ANQP
      pos:
        line_end: 366
        line_start: 365
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"RX-ANQP "'
    - item_type: preproc_def
      name: RX_HS20_ANQP
      pos:
        line_end: 367
        line_start: 366
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"RX-HS20-ANQP "'
    - item_type: preproc_def
      name: RX_HS20_ANQP_ICON
      pos:
        line_end: 368
        line_start: 367
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"RX-HS20-ANQP-ICON "'
    - item_type: preproc_def
      name: RX_HS20_ICON
      pos:
        line_end: 369
        line_start: 368
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"RX-HS20-ICON "'
    - item_type: preproc_def
      name: RX_MBO_ANQP
      pos:
        line_end: 370
        line_start: 369
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"RX-MBO-ANQP "'
    - item_type: preproc_def
      name: RX_VENUE_URL
      pos:
        line_end: 373
        line_start: 372
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"RX-VENUE-URL "'
    - item_type: preproc_def
      name: HS20_DEAUTH_IMMINENT_NOTICE
      pos:
        line_end: 375
        line_start: 374
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"HS20-DEAUTH-IMMINENT-NOTICE "'
    - item_type: preproc_def
      name: HS20_T_C_ACCEPTANCE
      pos:
        line_end: 376
        line_start: 375
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"HS20-T-C-ACCEPTANCE "'
    - item_type: preproc_def
      name: EXT_RADIO_WORK_START
      pos:
        line_end: 378
        line_start: 377
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"EXT-RADIO-WORK-START "'
    - item_type: preproc_def
      name: EXT_RADIO_WORK_TIMEOUT
      pos:
        line_end: 379
        line_start: 378
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"EXT-RADIO-WORK-TIMEOUT "'
    - item_type: preproc_def
      name: RRM_EVENT_NEIGHBOR_REP_RXED
      pos:
        line_end: 381
        line_start: 380
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"RRM-NEIGHBOR-REP-RECEIVED "'
    - item_type: preproc_def
      name: RRM_EVENT_NEIGHBOR_REP_FAILED
      pos:
        line_end: 382
        line_start: 381
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"RRM-NEIGHBOR-REP-REQUEST-FAILED "'
    - item_type: preproc_def
      name: WPS_EVENT_PIN_NEEDED
      pos:
        line_end: 385
        line_start: 384
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"WPS-PIN-NEEDED "'
    - item_type: preproc_def
      name: WPS_EVENT_NEW_AP_SETTINGS
      pos:
        line_end: 386
        line_start: 385
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"WPS-NEW-AP-SETTINGS "'
    - item_type: preproc_def
      name: WPS_EVENT_REG_SUCCESS
      pos:
        line_end: 387
        line_start: 386
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"WPS-REG-SUCCESS "'
    - item_type: preproc_def
      name: WPS_EVENT_AP_SETUP_LOCKED
      pos:
        line_end: 388
        line_start: 387
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"WPS-AP-SETUP-LOCKED "'
    - item_type: preproc_def
      name: WPS_EVENT_AP_SETUP_UNLOCKED
      pos:
        line_end: 389
        line_start: 388
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"WPS-AP-SETUP-UNLOCKED "'
    - item_type: preproc_def
      name: WPS_EVENT_AP_PIN_ENABLED
      pos:
        line_end: 390
        line_start: 389
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"WPS-AP-PIN-ENABLED "'
    - item_type: preproc_def
      name: WPS_EVENT_AP_PIN_DISABLED
      pos:
        line_end: 391
        line_start: 390
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"WPS-AP-PIN-DISABLED "'
    - item_type: preproc_def
      name: WPS_EVENT_PIN_ACTIVE
      pos:
        line_end: 392
        line_start: 391
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"WPS-PIN-ACTIVE "'
    - item_type: preproc_def
      name: WPS_EVENT_CANCEL
      pos:
        line_end: 393
        line_start: 392
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"WPS-CANCEL "'
    - item_type: preproc_def
      name: AP_STA_CONNECTED
      pos:
        line_end: 394
        line_start: 393
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"AP-STA-CONNECTED "'
    - item_type: preproc_def
      name: AP_STA_DISCONNECTED
      pos:
        line_end: 395
        line_start: 394
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"AP-STA-DISCONNECTED "'
    - item_type: preproc_def
      name: AP_STA_POSSIBLE_PSK_MISMATCH
      pos:
        line_end: 396
        line_start: 395
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"AP-STA-POSSIBLE-PSK-MISMATCH "'
    - item_type: preproc_def
      name: AP_STA_POLL_OK
      pos:
        line_end: 397
        line_start: 396
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"AP-STA-POLL-OK "'
    - item_type: preproc_def
      name: AP_REJECTED_MAX_STA
      pos:
        line_end: 399
        line_start: 398
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"AP-REJECTED-MAX-STA "'
    - item_type: preproc_def
      name: AP_REJECTED_BLOCKED_STA
      pos:
        line_end: 400
        line_start: 399
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"AP-REJECTED-BLOCKED-STA "'
    - item_type: preproc_def
      name: HS20_T_C_FILTERING_ADD
      pos:
        line_end: 402
        line_start: 401
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"HS20-T-C-FILTERING-ADD "'
    - item_type: preproc_def
      name: HS20_T_C_FILTERING_REMOVE
      pos:
        line_end: 403
        line_start: 402
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"HS20-T-C-FILTERING-REMOVE "'
    - item_type: preproc_def
      name: AP_EVENT_ENABLED
      pos:
        line_end: 405
        line_start: 404
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"AP-ENABLED "'
    - item_type: preproc_def
      name: AP_EVENT_DISABLED
      pos:
        line_end: 406
        line_start: 405
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"AP-DISABLED "'
    - item_type: preproc_def
      name: AP_EVENT_NO_IR
      pos:
        line_end: 407
        line_start: 406
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"AP-NO_IR"'
    - item_type: preproc_def
      name: INTERFACE_ENABLED
      pos:
        line_end: 409
        line_start: 408
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"INTERFACE-ENABLED "'
    - item_type: preproc_def
      name: INTERFACE_DISABLED
      pos:
        line_end: 410
        line_start: 409
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"INTERFACE-DISABLED "'
    - item_type: preproc_def
      name: ACS_EVENT_STARTED
      pos:
        line_end: 412
        line_start: 411
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"ACS-STARTED "'
    - item_type: preproc_def
      name: ACS_EVENT_COMPLETED
      pos:
        line_end: 413
        line_start: 412
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"ACS-COMPLETED "'
    - item_type: preproc_def
      name: ACS_EVENT_FAILED
      pos:
        line_end: 414
        line_start: 413
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"ACS-FAILED "'
    - item_type: preproc_def
      name: DFS_EVENT_RADAR_DETECTED
      pos:
        line_end: 416
        line_start: 415
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"DFS-RADAR-DETECTED "'
    - item_type: preproc_def
      name: DFS_EVENT_NEW_CHANNEL
      pos:
        line_end: 417
        line_start: 416
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"DFS-NEW-CHANNEL "'
    - item_type: preproc_def
      name: DFS_EVENT_CAC_START
      pos:
        line_end: 418
        line_start: 417
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"DFS-CAC-START "'
    - item_type: preproc_def
      name: DFS_EVENT_CAC_COMPLETED
      pos:
        line_end: 419
        line_start: 418
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"DFS-CAC-COMPLETED "'
    - item_type: preproc_def
      name: DFS_EVENT_NOP_FINISHED
      pos:
        line_end: 420
        line_start: 419
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"DFS-NOP-FINISHED "'
    - item_type: preproc_def
      name: DFS_EVENT_PRE_CAC_EXPIRED
      pos:
        line_end: 421
        line_start: 420
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"DFS-PRE-CAC-EXPIRED "'
    - item_type: preproc_def
      name: AP_CSA_FINISHED
      pos:
        line_end: 423
        line_start: 422
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"AP-CSA-FINISHED "'
    - item_type: preproc_def
      name: P2P_EVENT_LISTEN_OFFLOAD_STOP
      pos:
        line_end: 425
        line_start: 424
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"P2P-LISTEN-OFFLOAD-STOPPED "'
    - item_type: preproc_def
      name: P2P_LISTEN_OFFLOAD_STOP_REASON
      pos:
        line_end: 426
        line_start: 425
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"P2P-LISTEN-OFFLOAD-STOP-REASON "'
    - item_type: preproc_def
      name: BSS_TM_QUERY
      pos:
        line_end: 429
        line_start: 428
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"BSS-TM-QUERY "'
    - item_type: preproc_def
      name: BSS_TM_RESP
      pos:
        line_end: 432
        line_start: 431
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"BSS-TM-RESP "'
    - item_type: preproc_def
      name: COLOC_INTF_REQ
      pos:
        line_end: 436
        line_start: 435
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"COLOC-INTF-REQ "'
    - item_type: preproc_def
      name: COLOC_INTF_REPORT
      pos:
        line_end: 439
        line_start: 438
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"COLOC-INTF-REPORT "'
    - item_type: preproc_def
      name: MBO_CELL_PREFERENCE
      pos:
        line_end: 442
        line_start: 441
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"MBO-CELL-PREFERENCE "'
    - item_type: preproc_def
      name: MBO_TRANSITION_REASON
      pos:
        line_end: 445
        line_start: 444
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"MBO-TRANSITION-REASON "'
    - item_type: preproc_def
      name: BEACON_REQ_TX_STATUS
      pos:
        line_end: 448
        line_start: 447
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"BEACON-REQ-TX-STATUS "'
    - item_type: preproc_def
      name: BEACON_RESP_RX
      pos:
        line_end: 450
        line_start: 449
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"BEACON-RESP-RX "'
    - item_type: preproc_def
      name: LINK_MSR_RESP_RX
      pos:
        line_end: 453
        line_start: 452
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"LINK-MSR-RESP-RX "'
    - item_type: preproc_def
      name: PMKSA_CACHE_ADDED
      pos:
        line_end: 456
        line_start: 455
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"PMKSA-CACHE-ADDED "'
    - item_type: preproc_def
      name: PMKSA_CACHE_REMOVED
      pos:
        line_end: 458
        line_start: 457
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"PMKSA-CACHE-REMOVED "'
    - item_type: preproc_def
      name: FILS_HLP_RX
      pos:
        line_end: 462
        line_start: 461
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"FILS-HLP-RX "'
    - item_type: preproc_def
      name: RX_PROBE_REQUEST
      pos:
        line_end: 466
        line_start: 465
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"RX-PROBE-REQUEST "'
    - item_type: preproc_def
      name: STA_OPMODE_MAX_BW_CHANGED
      pos:
        line_end: 469
        line_start: 468
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"STA-OPMODE-MAX-BW-CHANGED "'
    - item_type: preproc_def
      name: STA_OPMODE_SMPS_MODE_CHANGED
      pos:
        line_end: 470
        line_start: 469
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"STA-OPMODE-SMPS-MODE-CHANGED "'
    - item_type: preproc_def
      name: STA_OPMODE_N_SS_CHANGED
      pos:
        line_end: 471
        line_start: 470
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"STA-OPMODE-N_SS-CHANGED "'
    - item_type: preproc_def
      name: WDS_STA_INTERFACE_ADDED
      pos:
        line_end: 474
        line_start: 473
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"WDS-STA-INTERFACE-ADDED "'
    - item_type: preproc_def
      name: WDS_STA_INTERFACE_REMOVED
      pos:
        line_end: 475
        line_start: 474
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"WDS-STA-INTERFACE-REMOVED "'
    - item_type: preproc_def
      name: TRANSITION_DISABLE
      pos:
        line_end: 478
        line_start: 477
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"TRANSITION-DISABLE "'
    - item_type: preproc_def
      name: OCV_FAILURE
      pos:
        line_end: 482
        line_start: 481
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"OCV-FAILURE "'
    - item_type: preproc_def
      name: AP_MGMT_FRAME_RECEIVED
      pos:
        line_end: 485
        line_start: 484
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"AP-MGMT-FRAME-RECEIVED "'
    - item_type: preproc_def
      name: WFA_GEN_CAPAB_RX
      pos:
        line_end: 490
        line_start: 489
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"WFA-GEN-CAPAB "'
    - item_type: preproc_def
      name: PASN_AUTH_STATUS
      pos:
        line_end: 497
        line_start: 496
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"PASN-AUTH-STATUS "'
    - item_type: preproc_def
      name: PR_PASN_NEGOTIATION_STARTED
      pos:
        line_end: 502
        line_start: 501
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"PR-PASN-NEGOTIATION-STARTED "'
    - item_type: preproc_def
      name: PR_PASN_RESULT
      pos:
        line_end: 507
        line_start: 506
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"PR-PASN-RESULT "'
    - item_type: preproc_def
      name: PR_RANGING_TERMINATED
      pos:
        line_end: 508
        line_start: 507
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"PR-RANGING-TERMINATED "'
    - item_type: preproc_def
      name: PR_RANGING_PARAMS
      pos:
        line_end: 511
        line_start: 510
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"PR-RANGING-PARAMS "'
    - item_type: preproc_def
      name: PR_EVENT_PEER_MEASUREMENT
      pos:
        line_end: 514
        line_start: 513
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"PR-PEER-MEASUREMENT "'
    - item_type: preproc_def
      name: PR_EVENT_RANGING_COMPLETE
      pos:
        line_end: 517
        line_start: 516
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"PR-RANGING-COMPLETE "'
    - item_type: preproc_def
      name: PR_PEER_FOUND
      pos:
        line_end: 525
        line_start: 524
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"PR-PEER-FOUND "'
    - item_type: preproc_def
      name: AFC_EVENT_RECEIVED
      pos:
        line_end: 527
        line_start: 526
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"AFC-EVENT-RECEIVED "'
    - item_type: preproc_def
      name: AFC_EVENT_COMPLETE
      pos:
        line_end: 528
        line_start: 527
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '"AFC-EVENT-COMPLETE "'
    - item_type: preproc_def
      name: WPA_BSS_MASK_ALL
      pos:
        line_end: 532
        line_start: 531
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '0xFFFDFFFF'
    - item_type: preproc_def
      name: WPA_BSS_MASK_ID
      pos:
        line_end: 533
        line_start: 532
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: WPA_BSS_MASK_BSSID
      pos:
        line_end: 534
        line_start: 533
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: WPA_BSS_MASK_FREQ
      pos:
        line_end: 535
        line_start: 534
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: BIT(2)
    - item_type: preproc_def
      name: WPA_BSS_MASK_BEACON_INT
      pos:
        line_end: 536
        line_start: 535
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: BIT(3)
    - item_type: preproc_def
      name: WPA_BSS_MASK_CAPABILITIES
      pos:
        line_end: 537
        line_start: 536
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: BIT(4)
    - item_type: preproc_def
      name: WPA_BSS_MASK_QUAL
      pos:
        line_end: 538
        line_start: 537
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: BIT(5)
    - item_type: preproc_def
      name: WPA_BSS_MASK_NOISE
      pos:
        line_end: 539
        line_start: 538
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: BIT(6)
    - item_type: preproc_def
      name: WPA_BSS_MASK_LEVEL
      pos:
        line_end: 540
        line_start: 539
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: BIT(7)
    - item_type: preproc_def
      name: WPA_BSS_MASK_TSF
      pos:
        line_end: 541
        line_start: 540
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: BIT(8)
    - item_type: preproc_def
      name: WPA_BSS_MASK_AGE
      pos:
        line_end: 542
        line_start: 541
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: BIT(9)
    - item_type: preproc_def
      name: WPA_BSS_MASK_IE
      pos:
        line_end: 543
        line_start: 542
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: BIT(10)
    - item_type: preproc_def
      name: WPA_BSS_MASK_FLAGS
      pos:
        line_end: 544
        line_start: 543
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: BIT(11)
    - item_type: preproc_def
      name: WPA_BSS_MASK_SSID
      pos:
        line_end: 545
        line_start: 544
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: BIT(12)
    - item_type: preproc_def
      name: WPA_BSS_MASK_WPS_SCAN
      pos:
        line_end: 546
        line_start: 545
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: BIT(13)
    - item_type: preproc_def
      name: WPA_BSS_MASK_P2P_SCAN
      pos:
        line_end: 547
        line_start: 546
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: BIT(14)
    - item_type: preproc_def
      name: WPA_BSS_MASK_INTERNETW
      pos:
        line_end: 548
        line_start: 547
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: BIT(15)
    - item_type: preproc_def
      name: WPA_BSS_MASK_WIFI_DISPLAY
      pos:
        line_end: 549
        line_start: 548
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: BIT(16)
    - item_type: preproc_def
      name: WPA_BSS_MASK_DELIM
      pos:
        line_end: 550
        line_start: 549
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: BIT(17)
    - item_type: preproc_def
      name: WPA_BSS_MASK_MESH_SCAN
      pos:
        line_end: 551
        line_start: 550
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: BIT(18)
    - item_type: preproc_def
      name: WPA_BSS_MASK_SNR
      pos:
        line_end: 552
        line_start: 551
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: BIT(19)
    - item_type: preproc_def
      name: WPA_BSS_MASK_EST_THROUGHPUT
      pos:
        line_end: 553
        line_start: 552
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: BIT(20)
    - item_type: preproc_def
      name: WPA_BSS_MASK_FST
      pos:
        line_end: 554
        line_start: 553
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: BIT(21)
    - item_type: preproc_def
      name: WPA_BSS_MASK_UPDATE_IDX
      pos:
        line_end: 555
        line_start: 554
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: BIT(22)
    - item_type: preproc_def
      name: WPA_BSS_MASK_BEACON_IE
      pos:
        line_end: 556
        line_start: 555
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: BIT(23)
    - item_type: preproc_def
      name: WPA_BSS_MASK_FILS_INDICATION
      pos:
        line_end: 557
        line_start: 556
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: BIT(24)
    - item_type: preproc_def
      name: WPA_BSS_MASK_RNR
      pos:
        line_end: 558
        line_start: 557
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: BIT(25)
    - item_type: preproc_def
      name: WPA_BSS_MASK_ML
      pos:
        line_end: 559
        line_start: 558
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: BIT(26)
    - item_type: preproc_def
      name: WPA_BSS_MASK_AP_MLD_ADDR
      pos:
        line_end: 560
        line_start: 559
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: BIT(27)
    - item_type: preproc_def
      name: WPA_CTRL_IFACE_PORT
      pos:
        line_end: 736
        line_start: 735
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '9877'
    - item_type: preproc_def
      name: WPA_CTRL_IFACE_PORT_LIMIT
      pos:
        line_end: 737
        line_start: 736
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '50 '
    - item_type: preproc_def
      name: WPA_GLOBAL_CTRL_IFACE_PORT
      pos:
        line_end: 738
        line_start: 737
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '9878'
    - item_type: preproc_def
      name: WPA_GLOBAL_CTRL_IFACE_PORT_LIMIT
      pos:
        line_end: 739
        line_start: 738
        source_file: /src/hostap/src/common/wpa_ctrl.h
      type_or_value: '20 '
    structs: []
    typedefs: []
    union: []
- function_names:
  - cli_txt_list_free
  - cli_txt_list_flush
  - cli_txt_list_get
  - dl_list_for_each
  - cli_txt_list_del
  - cli_txt_list_del_addr
  - cli_txt_list_del_word
  - cli_txt_list_add
  - cli_txt_list_add_addr
  - cli_txt_list_add_word
  - cli_txt_list_array
  - dl_list_for_each
  - get_cmd_arg_num
  - write_cmd
  - tokenize_cmd
  source_file: /src/hostap/src/common/cli.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/common/linux_bridge.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SIOCBRADDBR
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/hostap/src/common/linux_bridge.h
      type_or_value: '0x89a0'
    - item_type: preproc_def
      name: SIOCBRDELBR
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/hostap/src/common/linux_bridge.h
      type_or_value: '0x89a1'
    - item_type: preproc_def
      name: SIOCBRADDIF
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/hostap/src/common/linux_bridge.h
      type_or_value: '0x89a2'
    - item_type: preproc_def
      name: SIOCBRDELIF
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/hostap/src/common/linux_bridge.h
      type_or_value: '0x89a3'
    - item_type: preproc_def
      name: BRCTL_GET_VERSION
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/hostap/src/common/linux_bridge.h
      type_or_value: '0'
    - item_type: preproc_def
      name: BRCTL_GET_BRIDGES
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/hostap/src/common/linux_bridge.h
      type_or_value: '1'
    - item_type: preproc_def
      name: BRCTL_ADD_BRIDGE
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/hostap/src/common/linux_bridge.h
      type_or_value: '2'
    - item_type: preproc_def
      name: BRCTL_DEL_BRIDGE
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/hostap/src/common/linux_bridge.h
      type_or_value: '3'
    - item_type: preproc_def
      name: BRCTL_ADD_IF
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/hostap/src/common/linux_bridge.h
      type_or_value: '4'
    - item_type: preproc_def
      name: BRCTL_DEL_IF
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/hostap/src/common/linux_bridge.h
      type_or_value: '5'
    - item_type: preproc_def
      name: BRCTL_GET_BRIDGE_INFO
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/hostap/src/common/linux_bridge.h
      type_or_value: '6'
    - item_type: preproc_def
      name: BRCTL_GET_PORT_LIST
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/hostap/src/common/linux_bridge.h
      type_or_value: '7'
    - item_type: preproc_def
      name: BRCTL_SET_BRIDGE_FORWARD_DELAY
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/hostap/src/common/linux_bridge.h
      type_or_value: '8'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/common/linux_vlan.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SIOCSIFVLAN
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/hostap/src/common/linux_vlan.h
      type_or_value: '0x8983'
    - item_type: preproc_def
      name: ADD_VLAN_CMD
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/hostap/src/common/linux_vlan.h
      type_or_value: '0'
    - item_type: preproc_def
      name: DEL_VLAN_CMD
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/hostap/src/common/linux_vlan.h
      type_or_value: '1'
    - item_type: preproc_def
      name: SET_VLAN_INGRESS_PRIORITY_CMD
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/hostap/src/common/linux_vlan.h
      type_or_value: '2'
    - item_type: preproc_def
      name: SET_VLAN_EGRESS_PRIORITY_CMD
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/hostap/src/common/linux_vlan.h
      type_or_value: '3'
    - item_type: preproc_def
      name: GET_VLAN_INGRESS_PRIORITY_CMD
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/hostap/src/common/linux_vlan.h
      type_or_value: '4'
    - item_type: preproc_def
      name: GET_VLAN_EGRESS_PRIORITY_CMD
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/hostap/src/common/linux_vlan.h
      type_or_value: '5'
    - item_type: preproc_def
      name: SET_VLAN_NAME_TYPE_CMD
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/hostap/src/common/linux_vlan.h
      type_or_value: '6'
    - item_type: preproc_def
      name: SET_VLAN_FLAG_CMD
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/hostap/src/common/linux_vlan.h
      type_or_value: '7'
    - item_type: preproc_def
      name: GET_VLAN_REALDEV_NAME_CMD
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/hostap/src/common/linux_vlan.h
      type_or_value: '8'
    - item_type: preproc_def
      name: GET_VLAN_VID_CMD
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/hostap/src/common/linux_vlan.h
      type_or_value: '9'
    - item_type: preproc_def
      name: VLAN_NAME_TYPE_PLUS_VID
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/hostap/src/common/linux_vlan.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VLAN_NAME_TYPE_RAW_PLUS_VID
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/hostap/src/common/linux_vlan.h
      type_or_value: '1'
    - item_type: preproc_def
      name: VLAN_NAME_TYPE_PLUS_VID_NO_PAD
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/hostap/src/common/linux_vlan.h
      type_or_value: '2'
    - item_type: preproc_def
      name: VLAN_NAME_TYPE_RAW_PLUS_VID_NO_PAD
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/hostap/src/common/linux_vlan.h
      type_or_value: '3'
    structs:
    - fields:
      - name: cmd
        type: int
      - name: device1[24]
        type: char
      - name: u
        type: "union {\n\t\tchar device2[24];\n\t\tint VID;\n\t\tunsigned int skb_priority;\n\t\tunsigned
          int name_type;\n\t\tunsigned int bind_type;\n\t\tunsigned int flag;\n\t}"
      - name: vlan_qos
        type: short
      item_type: struct
      name: vlan_ioctl_args
      pos:
        line_end: 49
        line_start: 35
        source_file: /src/hostap/src/common/linux_vlan.h
    typedefs: []
    union: []
- function_names:
  - dpp_connection_free
  - dpp_connection_remove
  - dpp_relay_add_controller
  - dpp_relay_controller_get
  - dpp_relay_controller_get_ctx
  - dpp_relay_controller_get_addr
  - dpp_controller_gas_done
  - dpp_tcp_send
  - dpp_tcp_send_msg
  - dpp_controller_start_gas_client
  - dpp_controller_auth_success
  - dpp_conn_tx_ready
  - dpp_ipaddr_to_sockaddr
  - dpp_relay_conn_timeout
  - dpp_relay_new_conn
  - dpp_tcp_encaps
  - dpp_relay_tx
  - dpp_relay_match_ctrl
  - dpp_relay_rx_action
  - dpp_relay_find_conn
  - dpp_relay_rx_gas_req
  - dpp_relay_controller_available
  - dpp_controller_free
  - dpp_controller_rx_auth_req
  - dpp_controller_rx_auth_resp
  - dpp_controller_rx_auth_conf
  - dpp_controller_conn_status_result_wait_timeout
  - dpp_controller_rx_conf_result
  - dpp_controller_rx_conn_status_result
  - dpp_controller_rx_presence_announcement
  - dpp_controller_rx_reconfig_announcement
  - dpp_controller_rx_reconfig_auth_resp
  - dpp_controller_rx_pkex_exchange_req
  - dpp_controller_rx_pkex_exchange_resp
  - dpp_controller_rx_pkex_commit_reveal_req
  - dpp_controller_rx_pkex_commit_reveal_resp
  - dpp_controller_rx_action
  - dpp_tcp_send_comeback_delay
  - dpp_tcp_send_gas_resp
  - dpp_controller_rx_gas_req
  - dpp_controller_rx_gas_comeback_req
  - dpp_tcp_build_csr
  - dpp_tcp_build_new_key
  - dpp_tcp_rx_gas_resp
  - dpp_tcp_gas_query_comeback
  - dpp_rx_gas_resp
  - dpp_controller_rx
  - dpp_controller_tcp_cb
  - dpp_tcp_pkex_init
  - dpp_tcp_auth_start
  - dpp_tcp_init
  - dpp_tcp_auth
  - dpp_controller_start
  - dpp_controller_set_params
  - dpp_controller_stop
  - dpp_controller_stop_for_ctx
  - dpp_tcp_peer_id_match
  - dpp_tcp_get_auth
  - dpp_controller_get_auth
  - dpp_controller_new_qr_code
  - dpp_controller_pkex_add
  - dpp_controller_is_own_pkex_req
  - dpp_tcp_init_flush
  - dpp_relay_controller_free
  - dpp_relay_flush_controllers
  - dpp_relay_remove_controller
  - dpp_relay_tcp_cb
  - dpp_relay_listen
  - dpp_relay_stop_listen
  - dpp_tcp_conn_status_requested
  - dpp_tcp_send_conn_status_msg
  - dpp_tcp_send_conn_status
  source_file: /src/hostap/src/common/dpp_tcp.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: list
        type: struct dl_list
      - name: '*ctrl'
        type: struct dpp_controller
      - name: '*relay'
        type: struct dpp_relay_controller
      - name: '*global'
        type: struct dpp_global
      - name: '*pkex'
        type: struct dpp_pkex
      - name: '*auth'
        type: struct dpp_authentication
      - name: '*msg_ctx'
        type: void
      - name: '*cb_ctx'
        type: void
      - name: (*process_conf_obj)(void *ctx, struct dpp_authentication *auth)
        type: int
      - name: (*pkex_done)(void *ctx, void *conn, struct dpp_bootstrap_info *bi)
        type: int
      - name: (*tcp_msg_sent)(void *ctx, struct dpp_authentication *auth)
        type: bool
      - name: sock
        type: int
      - name: mac_addr[ETH_ALEN]
        type: u8
      - name: freq
        type: unsigned int
      - name: msg_len[4]
        type: u8
      - name: msg_len_octets
        type: size_t
      - name: '*msg'
        type: struct wpabuf
      - name: '*msg_out'
        type: struct wpabuf
      - name: msg_out_pos
        type: size_t
      - name: read_eloop
        type: unsigned int
      - name: write_eloop
        type: unsigned int
      - name: on_tcp_tx_complete_gas_done
        type: unsigned int
      - name: on_tcp_tx_complete_remove
        type: unsigned int
      - name: on_tcp_tx_complete_auth_ok
        type: unsigned int
      - name: gas_comeback_in_progress
        type: unsigned int
      - name: gas_dialog_token
        type: u8
      - name: '*name'
        type: char
      - name: '*mud_url'
        type: char
      - name: '*extra_conf_req_name'
        type: char
      - name: '*extra_conf_req_value'
        type: char
      - name: netrole
        type: enum dpp_netrole
      item_type: struct
      name: dpp_connection
      pos:
        line_end: 54
        line_start: 22
        source_file: /src/hostap/src/common/dpp_tcp.c
    - fields:
      - name: list
        type: struct dl_list
      - name: '*global'
        type: struct dpp_global
      - name: pkhash[SHA256_MAC_LEN]
        type: u8
      - name: ipaddr
        type: struct hostapd_ip_addr
      - name: '*msg_ctx'
        type: void
      - name: '*cb_ctx'
        type: void
      - name: "(*tx)(void *ctx, const u8 *addr, unsigned int freq, const u8 *msg,\n\t\t
          \  size_t len)"
        type: void
      - name: "(*gas_resp_tx)(void *ctx, const u8 *addr, u8 dialog_token,\n\t\t\t
          \   int prot, struct wpabuf *buf)"
        type: void
      - name: conn
        type: struct dl_list
      item_type: struct
      name: dpp_relay_controller
      pos:
        line_end: 69
        line_start: 57
        source_file: /src/hostap/src/common/dpp_tcp.c
    - fields:
      - name: '*global'
        type: struct dpp_global
      - name: allowed_roles
        type: u8
      - name: qr_mutual
        type: int
      - name: sock
        type: int
      - name: conn
        type: struct dl_list
      - name: '*configurator_params'
        type: char
      - name: netrole
        type: enum dpp_netrole
      - name: '*pkex_bi'
        type: struct dpp_bootstrap_info
      - name: '*pkex_code'
        type: char
      - name: '*pkex_identifier'
        type: char
      - name: '*msg_ctx'
        type: void
      - name: '*cb_ctx'
        type: void
      - name: (*process_conf_obj)(void *ctx, struct dpp_authentication *auth)
        type: int
      - name: (*tcp_msg_sent)(void *ctx, struct dpp_authentication *auth)
        type: bool
      item_type: struct
      name: dpp_controller
      pos:
        line_end: 87
        line_start: 72
        source_file: /src/hostap/src/common/dpp_tcp.c
    typedefs: []
    union: []
- function_names:
  - sae_pk_valid_password
  source_file: /src/hostap/src/common/sae.h
  types:
    enum:
    - enumerators:
      - name: SAE_NOTHING
      - name: SAE_COMMITTED
      - name: SAE_ACCEPTED
      - name: SAE_CONFIRMED
      item_type: enum
      name: sae_state
      pos:
        line_end: 114
        line_start: 112
        source_file: /src/hostap/src/common/sae.h
    preproc_defs:
    - item_type: preproc_def
      name: SAE_KCK_LEN
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/hostap/src/common/sae.h
      type_or_value: '32'
    - item_type: preproc_def
      name: SAE_PMK_LEN
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/hostap/src/common/sae.h
      type_or_value: '32'
    - item_type: preproc_def
      name: SAE_PMK_LEN_MAX
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/hostap/src/common/sae.h
      type_or_value: '64'
    - item_type: preproc_def
      name: SAE_PMKID_LEN
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/hostap/src/common/sae.h
      type_or_value: '16'
    - item_type: preproc_def
      name: SAE_MAX_PRIME_LEN
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/hostap/src/common/sae.h
      type_or_value: '512'
    - item_type: preproc_def
      name: SAE_MAX_ECC_PRIME_LEN
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/hostap/src/common/sae.h
      type_or_value: '66'
    - item_type: preproc_def
      name: SAE_MAX_HASH_LEN
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/hostap/src/common/sae.h
      type_or_value: '64'
    - item_type: preproc_def
      name: SAE_COMMIT_MAX_LEN
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/hostap/src/common/sae.h
      type_or_value: (2 + 3 * SAE_MAX_PRIME_LEN + 255)
    - item_type: preproc_def
      name: SAE_CONFIRM_MAX_LEN
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/hostap/src/common/sae.h
      type_or_value: ((2 + SAE_MAX_HASH_LEN) + 1500)
    - item_type: preproc_def
      name: SAE_CONFIRM_MAX_LEN
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/hostap/src/common/sae.h
      type_or_value: (2 + SAE_MAX_HASH_LEN)
    - item_type: preproc_def
      name: SAE_PK_M_LEN
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/hostap/src/common/sae.h
      type_or_value: '16'
    - item_type: preproc_def
      name: SAE_SILENTLY_DISCARD
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/hostap/src/common/sae.h
      type_or_value: '65535'
    structs:
    - fields:
      - name: '*m'
        type: struct wpabuf
      - name: '*key'
        type: struct crypto_ec_key
      - name: group
        type: int
      - name: '*pubkey'
        type: struct wpabuf
      item_type: struct
      name: sae_pk
      pos:
        line_end: 37
        line_start: 29
        source_file: /src/hostap/src/common/sae.h
    - fields:
      - name: kck[SAE_MAX_HASH_LEN]
        type: u8
      - name: kck_len
        type: size_t
      - name: '*own_commit_scalar'
        type: struct crypto_bignum
      - name: '*own_commit_element_ffc'
        type: struct crypto_bignum
      - name: '*own_commit_element_ecc'
        type: struct crypto_ec_point
      - name: '*peer_commit_element_ffc'
        type: struct crypto_bignum
      - name: '*peer_commit_element_ecc'
        type: struct crypto_ec_point
      - name: '*pwe_ecc'
        type: struct crypto_ec_point
      - name: '*pwe_ffc'
        type: struct crypto_bignum
      - name: '*sae_rand'
        type: struct crypto_bignum
      - name: '*ec'
        type: struct crypto_ec
      - name: prime_len
        type: int
      - name: order_len
        type: int
      - name: '*dh'
        type: struct dh_group
      - name: '*prime'
        type: struct crypto_bignum
      - name: '*order'
        type: struct crypto_bignum
      - name: '*prime_buf'
        type: struct crypto_bignum
      - name: '*order_buf'
        type: struct crypto_bignum
      - name: '*anti_clogging_token'
        type: struct wpabuf
      - name: '*pw_id'
        type: u8
      - name: pw_id_len
        type: size_t
      - name: '*parsed_pw_id'
        type: u8
      - name: parsed_pw_id_len
        type: size_t
      - name: '*dec_pw_id'
        type: char
      - name: dec_pw_id_len
        type: size_t
      - name: pw_id_counter
        type: unsigned int
      - name: vlan_id
        type: int
      - name: bssid[ETH_ALEN]
        type: u8
      - name: '*own_rejected_groups'
        type: struct wpabuf
      - name: '*peer_rejected_groups'
        type: struct wpabuf
      - name: own_addr_higher
        type: unsigned int
      - name: try_other_password
        type: unsigned int
      - name: disabled_until
        type: struct os_reltime
      - name: '*used_pw'
        type: void
      item_type: struct
      name: sae_temporary_data
      pos:
        line_end: 95
        line_start: 40
        source_file: /src/hostap/src/common/sae.h
    - fields:
      - name: '*next'
        type: struct sae_pt
      - name: group
        type: int
      - name: '*ec'
        type: struct crypto_ec
      - name: '*ecc_pt'
        type: struct crypto_ec_point
      - name: '*dh'
        type: struct dh_group
      - name: '*ffc_pt'
        type: struct crypto_bignum
      - name: '*password_id'
        type: struct wpabuf
      item_type: struct
      name: sae_pt
      pos:
        line_end: 110
        line_start: 97
        source_file: /src/hostap/src/common/sae.h
    - fields:
      - name: state
        type: enum sae_state
      - name: send_confirm
        type: u16
      - name: pmk[SAE_PMK_LEN_MAX]
        type: u8
      - name: pmk_len
        type: size_t
      - name: akmp
        type: int
      - name: own_akm_suite_selector
        type: u32
      - name: peer_akm_suite_selector
        type: u32
      - name: pmkid[SAE_PMKID_LEN]
        type: u8
      - name: '*peer_commit_scalar'
        type: struct crypto_bignum
      - name: '*peer_commit_scalar_accepted'
        type: struct crypto_bignum
      - name: group
        type: int
      - name: sync
        type: unsigned int
      - name: rc
        type: u16
      - name: h2e
        type: unsigned int
      - name: pk
        type: unsigned int
      - name: no_pw_id
        type: unsigned int
      - name: '*tmp'
        type: struct sae_temporary_data
      item_type: struct
      name: sae_data
      pos:
        line_end: 134
        line_start: 116
        source_file: /src/hostap/src/common/sae.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/common/cli.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: max_args
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/hostap/src/common/cli.h
      type_or_value: '10'
    structs:
    - fields:
      - name: list
        type: struct dl_list
      - name: '*txt'
        type: char
      item_type: struct
      name: cli_txt_entry
      pos:
        line_end: 19
        line_start: 16
        source_file: /src/hostap/src/common/cli.h
    typedefs: []
    union: []
- function_names:
  - ieee802_11_parse_tests
  - rsn_ie_parse_tests
  - gas_tests
  - sae_tests
  - sae_pk_tests
  - pasn_test_pasn_auth
  - pasn_test_no_pasn_auth
  - pasn_tests
  - common_module_tests
  source_file: /src/hostap/src/common/common_module_tests.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*data'
        type: u8
      - name: len
        type: size_t
      - name: result
        type: ParseRes
      - name: count
        type: int
      item_type: struct
      name: ieee802_11_parse_test_data
      pos:
        line_end: 26
        line_start: 21
        source_file: /src/hostap/src/common/common_module_tests.c
    - fields:
      - name: '*data'
        type: u8
      - name: len
        type: size_t
      - name: result
        type: int
      item_type: struct
      name: rsn_ie_parse_test_data
      pos:
        line_end: 152
        line_start: 148
        source_file: /src/hostap/src/common/common_module_tests.c
    - fields:
      - name: '*pw'
        type: char
      - name: '*val'
        type: u8
      item_type: struct
      name: "valid[] = {\n\t\t{ \"a2bc-de3f-ghim\", (u8 *) \"\\x06\\x82\\x21\\x93\\x65\\x31\\xd0\\xc0\"
        },\n\t\t{ \"aaaa-aaaa-aaaj\", (u8 *) \"\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x90\"
        },\n\t\t{ \"7777-7777-777f\", (u8 *) \"\\xff\\xff\\xff\\xff\\xff\\xff\\xfe\\x50\"
        },\n\t\t{ NULL, NULL }\n\t}"
      pos:
        line_end: 526
        line_start: 523
        source_file: /src/hostap/src/common/common_module_tests.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/common/hw_features_common.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: mode
        type: enum hostapd_hw_mode
      - name: freq
        type: int
      - name: channel
        type: int
      - name: oper_chwidth
        type: enum oper_chan_width
      - name: edmg
        type: "struct {\n\t\tint enabled;\n\t\tu8 channel;\n\t}"
      - name: ht
        type: "struct {\n\t\tint enabled;\n\t\tint sec_channel_offset;\n\t}"
      - name: center_segment0
        type: int
      - name: center_segment1
        type: int
      - name: vht
        type: "struct {\n\t\tint enabled;\n\t\tu32 caps;\n\t}"
      - name: he
        type: "struct {\n\t\tint enabled;\n\t\tconst struct he_capabilities *cap;\n\t}"
      - name: eht
        type: "struct {\n\t\tint enabled;\n\t\tconst struct eht_capabilities *cap;\n\t\tu16
          punct_bitmap;\n\t}"
      - name: uhr
        type: "struct {\n\t\tbool enabled;\n\t\tconst struct uhr_capabilities *cap;\n\t\tu8
          dbe_bandwidth;\n\t\tu16 dbe_punct_bitmap;\n\t}"
      item_type: struct
      name: hostapd_channel_info
      pos:
        line_end: 86
        line_start: 41
        source_file: /src/hostap/src/common/hw_features_common.h
    typedefs: []
    union: []
- function_names:
  - wpa_key_mgmt_wpa_ieee8021x
  - wpa_key_mgmt_wpa_psk_no_sae
  - wpa_key_mgmt_wpa_psk
  - wpa_key_mgmt_ft
  - wpa_key_mgmt_only_ft
  - wpa_key_mgmt_ft_psk
  - wpa_key_mgmt_sae
  - wpa_key_mgmt_sae_ext_key
  - wpa_key_mgmt_only_sae
  - wpa_key_mgmt_only_sae_ext_key
  - wpa_key_mgmt_fils
  - wpa_key_mgmt_sha256
  - wpa_key_mgmt_sha384
  - wpa_key_mgmt_suite_b
  - wpa_key_mgmt_wpa
  - wpa_key_mgmt_wpa_any
  - wpa_key_mgmt_cckm
  - wpa_key_mgmt_cross_akm
  - wpa_key_mgmt_eppke
  - wpa_key_mgmt_enhanced_open
  - wpa_key_mgmt_only_enhanced_open
  - wpa_auth_alg_fils
  - wpa_auth_alg_eppke
  - wpa_alg_bip
  - check_key_flag
  - USEC_TO_TU
  - TU_TO_USEC
  source_file: /src/hostap/src/common/defs.h
  types:
    enum:
    - enumerators:
      - name: WPA_ALG_NONE
      - name: WPA_ALG_WEP
      - name: WPA_ALG_TKIP
      - name: WPA_ALG_CCMP
      - name: WPA_ALG_BIP_CMAC_128
      - name: WPA_ALG_GCMP
      - name: WPA_ALG_SMS4
      - name: WPA_ALG_KRK
      - name: WPA_ALG_GCMP_256
      - name: WPA_ALG_CCMP_256
      - name: WPA_ALG_BIP_GMAC_128
      - name: WPA_ALG_BIP_CMAC_256
      - name: WPA_ALG_BIP_GMAC_256
      item_type: enum
      name: wpa_alg
      pos:
        line_end: 266
        line_start: 252
        source_file: /src/hostap/src/common/defs.h
    - enumerators:
      - name: WPA_DISCONNECTED
      - name: WPA_INTERFACE_DISABLED
      - name: WPA_AUTHENTICATING
      - name: WPA_SCANNING
      - name: WPA_INACTIVE
      - name: WPA_ASSOCIATING
      - name: WPA_ASSOCIATED
      - name: WPA_4WAY_HANDSHAKE
      - name: WPA_GROUP_HANDSHAKE
      - name: WPA_COMPLETED
      item_type: enum
      name: wpa_states
      pos:
        line_end: 391
        line_start: 286
        source_file: /src/hostap/src/common/defs.h
    - enumerators:
      - name: NO_MGMT_FRAME_PROTECTION
        value: '0'
      - name: MGMT_FRAME_PROTECTION_OPTIONAL
        value: '1'
      - name: MGMT_FRAME_PROTECTION_REQUIRED
        value: '2'
      item_type: enum
      name: mfp_options
      pos:
        line_end: 409
        line_start: 405
        source_file: /src/hostap/src/common/defs.h
    - enumerators:
      - name: HOSTAPD_MODE_IEEE80211B
      - name: HOSTAPD_MODE_IEEE80211G
      - name: HOSTAPD_MODE_IEEE80211A
      - name: HOSTAPD_MODE_IEEE80211AD
      - name: HOSTAPD_MODE_IEEE80211ANY
      - name: NUM_HOSTAPD_MODES
      item_type: enum
      name: hostapd_hw_mode
      pos:
        line_end: 422
        line_start: 415
        source_file: /src/hostap/src/common/defs.h
    - enumerators:
      - name: WPA_CTRL_REQ_UNKNOWN
      - name: WPA_CTRL_REQ_EAP_NEW_PASSWORD
      - name: WPA_CTRL_REQ_EAP_PASSWORD
      - name: WPA_CTRL_REQ_EAP_PIN
      - name: WPA_CTRL_REQ_EAP_IDENTITY
      - name: WPA_CTRL_REQ_EAP_OTP
      - name: WPA_CTRL_REQ_EAP_PASSPHRASE
      - name: WPA_CTRL_REQ_SIM
      - name: WPA_CTRL_REQ_PSK_PASSPHRASE
      - name: WPA_CTRL_REQ_EXT_CERT_CHECK
      - name: NUM_WPA_CTRL_REQS
      item_type: enum
      name: wpa_ctrl_req_type
      pos:
        line_end: 439
        line_start: 427
        source_file: /src/hostap/src/common/defs.h
    - enumerators:
      - name: PLINK_IDLE
        value: '1'
      - name: PLINK_OPN_SNT
      - name: PLINK_OPN_RCVD
      - name: PLINK_CNF_RCVD
      - name: PLINK_ESTAB
      - name: PLINK_HOLDING
      - name: PLINK_BLOCKED
      item_type: enum
      name: mesh_plink_state
      pos:
        line_end: 452
        line_start: 444
        source_file: /src/hostap/src/common/defs.h
    - enumerators:
      - name: WPA_SETBAND_AUTO
        value: '0'
      - name: WPA_SETBAND_5G
        value: BIT(0)
      - name: WPA_SETBAND_2G
        value: BIT(1)
      - name: WPA_SETBAND_6G
        value: BIT(2)
      item_type: enum
      name: set_band
      pos:
        line_end: 459
        line_start: 454
        source_file: /src/hostap/src/common/defs.h
    - enumerators:
      - name: BAND_2_4_GHZ
        value: BIT(0)
      - name: BAND_60_GHZ
        value: BIT(2)
      - name: BAND_5_GHZ
        value: BIT(1)
      item_type: enum
      name: wpa_radio_work_band
      pos:
        line_end: 465
        line_start: 461
        source_file: /src/hostap/src/common/defs.h
    - enumerators:
      - name: BEACON_RATE_LEGACY
      - name: BEACON_RATE_HT
      - name: BEACON_RATE_VHT
      - name: BEACON_RATE_HE
      item_type: enum
      name: beacon_rate_type
      pos:
        line_end: 472
        line_start: 467
        source_file: /src/hostap/src/common/defs.h
    - enumerators:
      - name: SIM_STATE_ERROR
      item_type: enum
      name: eap_proxy_sim_state
      pos:
        line_end: 476
        line_start: 474
        source_file: /src/hostap/src/common/defs.h
    - enumerators:
      - name: CHAN_WIDTH_20_NOHT
      - name: CHAN_WIDTH_80P80
      - name: CHAN_WIDTH_20
      - name: CHAN_WIDTH_40
      - name: CHAN_WIDTH_80
      - name: CHAN_WIDTH_160
      - name: CHAN_WIDTH_2160
      - name: CHAN_WIDTH_4320
      - name: CHAN_WIDTH_6480
      - name: CHAN_WIDTH_8640
      - name: CHAN_WIDTH_320
      - name: CHAN_WIDTH_UNKNOWN
      item_type: enum
      name: chan_width
      pos:
        line_end: 496
        line_start: 483
        source_file: /src/hostap/src/common/defs.h
    - enumerators:
      - name: CONF_OPER_CHWIDTH_USE_HT
        value: '0'
      - name: CONF_OPER_CHWIDTH_80MHZ
        value: '1'
      - name: CONF_OPER_CHWIDTH_160MHZ
        value: '2'
      - name: CONF_OPER_CHWIDTH_80P80MHZ
        value: '3'
      - name: CONF_OPER_CHWIDTH_2160MHZ
      - name: CONF_OPER_CHWIDTH_4320MHZ
      - name: CONF_OPER_CHWIDTH_6480MHZ
      - name: CONF_OPER_CHWIDTH_8640MHZ
      - name: CONF_OPER_CHWIDTH_40MHZ_6GHZ
      - name: CONF_OPER_CHWIDTH_320MHZ
      item_type: enum
      name: oper_chan_width
      pos:
        line_end: 512
        line_start: 501
        source_file: /src/hostap/src/common/defs.h
    - enumerators:
      - name: KEY_FLAG_GROUP
        value: BIT(4)
      - name: KEY_FLAG_RX
        value: BIT(2)
      - name: KEY_FLAG_PMK
        value: BIT(6)
      - name: KEY_FLAG_GROUP_RX_TX_DEFAULT
        value: "KEY_FLAG_GROUP_RX_TX |\n\t\t\t\t\t  KEY_FLAG_DEFAULT"
      - name: KEY_FLAG_PAIRWISE_RX
        value: KEY_FLAG_PAIRWISE | KEY_FLAG_RX
      - name: KEY_FLAG_PMK_MASK
        value: KEY_FLAG_PMK
      - name: KEY_FLAG_RX_TX
        value: KEY_FLAG_RX | KEY_FLAG_TX
      - name: KEY_FLAG_GROUP_RX_TX
        value: KEY_FLAG_GROUP | KEY_FLAG_RX_TX
      - name: KEY_FLAG_GROUP_RX
        value: KEY_FLAG_GROUP | KEY_FLAG_RX
      - name: KEY_FLAG_PAIRWISE_MASK
        value: "KEY_FLAG_PAIRWISE_RX_TX_MODIFY |\n\t\t\t\t\t  KEY_FLAG_NEXT"
      - name: KEY_FLAG_PAIRWISE_RX_TX
        value: KEY_FLAG_PAIRWISE | KEY_FLAG_RX_TX
      - name: KEY_FLAG_DEFAULT
        value: BIT(1)
      - name: KEY_FLAG_TX
        value: BIT(3)
      - name: KEY_FLAG_PAIRWISE
        value: BIT(5)
      - name: KEY_FLAG_NEXT
        value: BIT(7)
      - name: KEY_FLAG_PAIRWISE_NEXT
        value: KEY_FLAG_PAIRWISE_RX | KEY_FLAG_NEXT
      - name: KEY_FLAG_GROUP_TX_DEFAULT
        value: "KEY_FLAG_GROUP | KEY_FLAG_TX |\n\t\t\t\t\t  KEY_FLAG_DEFAULT"
      - name: KEY_FLAG_MODIFY
        value: BIT(0)
      - name: KEY_FLAG_PAIRWISE_RX_TX_MODIFY
        value: "KEY_FLAG_PAIRWISE_RX_TX |\n\t\t\t\t\t  KEY_FLAG_MODIFY"
      - name: KEY_FLAG_GROUP_MASK
        value: KEY_FLAG_GROUP_RX_TX_DEFAULT
      item_type: enum
      name: key_flag
      pos:
        line_end: 541
        line_start: 514
        source_file: /src/hostap/src/common/defs.h
    - enumerators:
      - name: PTK0_REKEY_ALLOW_ALWAYS
      - name: PTK0_REKEY_ALLOW_NEVER
      - name: PTK0_REKEY_ALLOW_LOCAL_OK
      item_type: enum
      name: ptk0_rekey_handling
      pos:
        line_end: 558
        line_start: 554
        source_file: /src/hostap/src/common/defs.h
    - enumerators:
      - name: FRAME_ENCRYPTION_UNKNOWN
        value: '-1'
      - name: FRAME_ENCRYPTED
        value: '1'
      - name: FRAME_NOT_ENCRYPTED
        value: '0'
      item_type: enum
      name: frame_encryption
      pos:
        line_end: 564
        line_start: 560
        source_file: /src/hostap/src/common/defs.h
    - enumerators:
      - name: SAE_PWE_HUNT_AND_PECK
        value: '0'
      - name: SAE_PWE_FORCE_HUNT_AND_PECK
        value: '3'
      - name: SAE_PWE_NOT_SET
        value: '4'
      - name: SAE_PWE_BOTH
        value: '2'
      - name: SAE_PWE_HASH_TO_ELEMENT
        value: '1'
      item_type: enum
      name: sae_pwe
      pos:
        line_end: 574
        line_start: 568
        source_file: /src/hostap/src/common/defs.h
    - enumerators:
      - name: WPA_P2P_MODE_WFD_R1
        value: '0'
      - name: WPA_P2P_MODE_WFD_R2
        value: '1'
      - name: WPA_P2P_MODE_WFD_PCC
        value: '2'
      item_type: enum
      name: wpa_p2p_mode
      pos:
        line_end: 580
        line_start: 576
        source_file: /src/hostap/src/common/defs.h
    preproc_defs:
    - item_type: preproc_def
      name: WPA_CIPHER_NONE
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/hostap/src/common/defs.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: WPA_CIPHER_WEP40
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/hostap/src/common/defs.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: WPA_CIPHER_WEP104
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/hostap/src/common/defs.h
      type_or_value: BIT(2)
    - item_type: preproc_def
      name: WPA_CIPHER_TKIP
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/hostap/src/common/defs.h
      type_or_value: BIT(3)
    - item_type: preproc_def
      name: WPA_CIPHER_CCMP
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/hostap/src/common/defs.h
      type_or_value: BIT(4)
    - item_type: preproc_def
      name: WPA_CIPHER_AES_128_CMAC
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/hostap/src/common/defs.h
      type_or_value: BIT(5)
    - item_type: preproc_def
      name: WPA_CIPHER_GCMP
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/hostap/src/common/defs.h
      type_or_value: BIT(6)
    - item_type: preproc_def
      name: WPA_CIPHER_SMS4
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/hostap/src/common/defs.h
      type_or_value: BIT(7)
    - item_type: preproc_def
      name: WPA_CIPHER_GCMP_256
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/hostap/src/common/defs.h
      type_or_value: BIT(8)
    - item_type: preproc_def
      name: WPA_CIPHER_CCMP_256
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/hostap/src/common/defs.h
      type_or_value: BIT(9)
    - item_type: preproc_def
      name: WPA_CIPHER_BIP_GMAC_128
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/hostap/src/common/defs.h
      type_or_value: BIT(11)
    - item_type: preproc_def
      name: WPA_CIPHER_BIP_GMAC_256
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/hostap/src/common/defs.h
      type_or_value: BIT(12)
    - item_type: preproc_def
      name: WPA_CIPHER_BIP_CMAC_256
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/hostap/src/common/defs.h
      type_or_value: BIT(13)
    - item_type: preproc_def
      name: WPA_CIPHER_GTK_NOT_USED
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/hostap/src/common/defs.h
      type_or_value: BIT(14)
    - item_type: preproc_def
      name: WPA_KEY_MGMT_IEEE8021X
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/hostap/src/common/defs.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: WPA_KEY_MGMT_PSK
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/hostap/src/common/defs.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: WPA_KEY_MGMT_NONE
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/hostap/src/common/defs.h
      type_or_value: BIT(2)
    - item_type: preproc_def
      name: WPA_KEY_MGMT_IEEE8021X_NO_WPA
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/hostap/src/common/defs.h
      type_or_value: BIT(3)
    - item_type: preproc_def
      name: WPA_KEY_MGMT_WPA_NONE
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/hostap/src/common/defs.h
      type_or_value: BIT(4)
    - item_type: preproc_def
      name: WPA_KEY_MGMT_FT_IEEE8021X
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/hostap/src/common/defs.h
      type_or_value: BIT(5)
    - item_type: preproc_def
      name: WPA_KEY_MGMT_FT_PSK
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/hostap/src/common/defs.h
      type_or_value: BIT(6)
    - item_type: preproc_def
      name: WPA_KEY_MGMT_IEEE8021X_SHA256
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/hostap/src/common/defs.h
      type_or_value: BIT(7)
    - item_type: preproc_def
      name: WPA_KEY_MGMT_PSK_SHA256
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/hostap/src/common/defs.h
      type_or_value: BIT(8)
    - item_type: preproc_def
      name: WPA_KEY_MGMT_WPS
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/hostap/src/common/defs.h
      type_or_value: BIT(9)
    - item_type: preproc_def
      name: WPA_KEY_MGMT_SAE
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/hostap/src/common/defs.h
      type_or_value: BIT(10)
    - item_type: preproc_def
      name: WPA_KEY_MGMT_FT_SAE
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/hostap/src/common/defs.h
      type_or_value: BIT(11)
    - item_type: preproc_def
      name: WPA_KEY_MGMT_WAPI_PSK
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/hostap/src/common/defs.h
      type_or_value: BIT(12)
    - item_type: preproc_def
      name: WPA_KEY_MGMT_WAPI_CERT
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/hostap/src/common/defs.h
      type_or_value: BIT(13)
    - item_type: preproc_def
      name: WPA_KEY_MGMT_CCKM
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/hostap/src/common/defs.h
      type_or_value: BIT(14)
    - item_type: preproc_def
      name: WPA_KEY_MGMT_IEEE8021X_SUITE_B
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/hostap/src/common/defs.h
      type_or_value: BIT(16)
    - item_type: preproc_def
      name: WPA_KEY_MGMT_IEEE8021X_SUITE_B_192
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/hostap/src/common/defs.h
      type_or_value: BIT(17)
    - item_type: preproc_def
      name: WPA_KEY_MGMT_FILS_SHA256
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/hostap/src/common/defs.h
      type_or_value: BIT(18)
    - item_type: preproc_def
      name: WPA_KEY_MGMT_FILS_SHA384
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/hostap/src/common/defs.h
      type_or_value: BIT(19)
    - item_type: preproc_def
      name: WPA_KEY_MGMT_FT_FILS_SHA256
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/hostap/src/common/defs.h
      type_or_value: BIT(20)
    - item_type: preproc_def
      name: WPA_KEY_MGMT_FT_FILS_SHA384
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/hostap/src/common/defs.h
      type_or_value: BIT(21)
    - item_type: preproc_def
      name: WPA_KEY_MGMT_OWE
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/hostap/src/common/defs.h
      type_or_value: BIT(22)
    - item_type: preproc_def
      name: WPA_KEY_MGMT_DPP
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/hostap/src/common/defs.h
      type_or_value: BIT(23)
    - item_type: preproc_def
      name: WPA_KEY_MGMT_FT_IEEE8021X_SHA384
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/hostap/src/common/defs.h
      type_or_value: BIT(24)
    - item_type: preproc_def
      name: WPA_KEY_MGMT_PASN
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/hostap/src/common/defs.h
      type_or_value: BIT(25)
    - item_type: preproc_def
      name: WPA_KEY_MGMT_SAE_EXT_KEY
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/hostap/src/common/defs.h
      type_or_value: BIT(26)
    - item_type: preproc_def
      name: WPA_KEY_MGMT_FT_SAE_EXT_KEY
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/hostap/src/common/defs.h
      type_or_value: BIT(27)
    - item_type: preproc_def
      name: WPA_KEY_MGMT_IEEE8021X_SHA384
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/hostap/src/common/defs.h
      type_or_value: BIT(28)
    - item_type: preproc_def
      name: WPA_KEY_MGMT_EPPKE
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/hostap/src/common/defs.h
      type_or_value: BIT(29)
    - item_type: preproc_def
      name: WPA_KEY_MGMT_FT
      pos:
        line_end: 64
        line_start: 57
        source_file: /src/hostap/src/common/defs.h
      type_or_value: "(WPA_KEY_MGMT_FT_PSK | \\\n\t\t\t WPA_KEY_MGMT_FT_IEEE8021X
        | \\\n\t\t\t WPA_KEY_MGMT_FT_IEEE8021X_SHA384 | \\\n\t\t\t WPA_KEY_MGMT_FT_SAE
        | \\\n\t\t\t WPA_KEY_MGMT_FT_SAE_EXT_KEY | \\\n\t\t\t WPA_KEY_MGMT_FT_FILS_SHA256
        | \\\n\t\t\t WPA_KEY_MGMT_FT_FILS_SHA384)"
    - item_type: preproc_def
      name: WPA_PROTO_WPA
      pos:
        line_end: 229
        line_start: 228
        source_file: /src/hostap/src/common/defs.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: WPA_PROTO_RSN
      pos:
        line_end: 230
        line_start: 229
        source_file: /src/hostap/src/common/defs.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: WPA_PROTO_WAPI
      pos:
        line_end: 231
        line_start: 230
        source_file: /src/hostap/src/common/defs.h
      type_or_value: BIT(2)
    - item_type: preproc_def
      name: WPA_AUTH_ALG_OPEN
      pos:
        line_end: 233
        line_start: 232
        source_file: /src/hostap/src/common/defs.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: WPA_AUTH_ALG_SHARED
      pos:
        line_end: 234
        line_start: 233
        source_file: /src/hostap/src/common/defs.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: WPA_AUTH_ALG_LEAP
      pos:
        line_end: 235
        line_start: 234
        source_file: /src/hostap/src/common/defs.h
      type_or_value: BIT(2)
    - item_type: preproc_def
      name: WPA_AUTH_ALG_FT
      pos:
        line_end: 236
        line_start: 235
        source_file: /src/hostap/src/common/defs.h
      type_or_value: BIT(3)
    - item_type: preproc_def
      name: WPA_AUTH_ALG_SAE
      pos:
        line_end: 237
        line_start: 236
        source_file: /src/hostap/src/common/defs.h
      type_or_value: BIT(4)
    - item_type: preproc_def
      name: WPA_AUTH_ALG_FILS
      pos:
        line_end: 238
        line_start: 237
        source_file: /src/hostap/src/common/defs.h
      type_or_value: BIT(5)
    - item_type: preproc_def
      name: WPA_AUTH_ALG_FILS_SK_PFS
      pos:
        line_end: 239
        line_start: 238
        source_file: /src/hostap/src/common/defs.h
      type_or_value: BIT(6)
    - item_type: preproc_def
      name: WPA_AUTH_ALG_EPPKE
      pos:
        line_end: 240
        line_start: 239
        source_file: /src/hostap/src/common/defs.h
      type_or_value: BIT(7)
    - item_type: preproc_def
      name: WPA_AUTH_ALG_802_1X
      pos:
        line_end: 241
        line_start: 240
        source_file: /src/hostap/src/common/defs.h
      type_or_value: BIT(8)
    - item_type: preproc_def
      name: MLME_SETPROTECTION_PROTECT_TYPE_NONE
      pos:
        line_end: 394
        line_start: 393
        source_file: /src/hostap/src/common/defs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: MLME_SETPROTECTION_PROTECT_TYPE_RX
      pos:
        line_end: 395
        line_start: 394
        source_file: /src/hostap/src/common/defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MLME_SETPROTECTION_PROTECT_TYPE_TX
      pos:
        line_end: 396
        line_start: 395
        source_file: /src/hostap/src/common/defs.h
      type_or_value: '2'
    - item_type: preproc_def
      name: MLME_SETPROTECTION_PROTECT_TYPE_RX_TX
      pos:
        line_end: 397
        line_start: 396
        source_file: /src/hostap/src/common/defs.h
      type_or_value: '3'
    - item_type: preproc_def
      name: MLME_SETPROTECTION_KEY_TYPE_GROUP
      pos:
        line_end: 399
        line_start: 398
        source_file: /src/hostap/src/common/defs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: MLME_SETPROTECTION_KEY_TYPE_PAIRWISE
      pos:
        line_end: 400
        line_start: 399
        source_file: /src/hostap/src/common/defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MGMT_FRAME_PROTECTION_DEFAULT
      pos:
        line_end: 411
        line_start: 410
        source_file: /src/hostap/src/common/defs.h
      type_or_value: '3'
    - item_type: preproc_def
      name: EAP_MAX_METHODS
      pos:
        line_end: 443
        line_start: 442
        source_file: /src/hostap/src/common/defs.h
      type_or_value: '8'
    - item_type: preproc_def
      name: OCE_STA
      pos:
        line_end: 479
        line_start: 478
        source_file: /src/hostap/src/common/defs.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: OCE_STA_CFON
      pos:
        line_end: 480
        line_start: 479
        source_file: /src/hostap/src/common/defs.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: OCE_AP
      pos:
        line_end: 481
        line_start: 480
        source_file: /src/hostap/src/common/defs.h
      type_or_value: BIT(2)
    - item_type: preproc_def
      name: MAX_NUM_MLD_LINKS
      pos:
        line_end: 567
        line_start: 566
        source_file: /src/hostap/src/common/defs.h
      type_or_value: '15'
    - item_type: preproc_def
      name: USEC_80211_TU
      pos:
        line_end: 583
        line_start: 582
        source_file: /src/hostap/src/common/defs.h
      type_or_value: '1024'
    structs: []
    typedefs: []
    union: []
- function_names:
  - sae_set_group
  - sae_clear_temp_data
  - sae_clear_data
  - sae_pwd_seed_key
  - sae_test_pwd_seed_ecc
  - sae_test_pwd_seed_ffc
  - sae_derive_pwe_ecc
  - sae_derive_pwe_ffc
  - hkdf_extract
  - hkdf_expand
  - sswu_curve_param
  - debug_print_bignum
  - sswu
  - sae_pwd_seed
  - sae_ecc_prime_len_2_hash_len
  - sae_derive_pt_ecc
  - sae_ffc_prime_len_2_hash_len
  - sae_derive_pt_ffc
  - sae_derive_pt_group
  - sae_derive_pt
  - sae_max_min_addr
  - sae_derive_pwe_from_pt_ecc
  - sae_derive_pwe_from_pt_ffc
  - sae_deinit_pt
  - sae_derive_commit_element_ecc
  - sae_derive_commit_element_ffc
  - sae_derive_commit
  - sae_prepare_commit
  - sae_prepare_commit_pt
  - sae_derive_k_ecc
  - sae_derive_k_ffc
  - sae_kdf_hash
  - sae_derive_keys
  - sae_process_commit
  - sae_write_commit
  - sae_group_allowed
  - sae_is_password_id_elem
  - sae_is_rejected_groups_elem
  - sae_is_token_container_elem
  - sae_is_akm_suite_selector_elem
  - sae_parse_commit_token
  - sae_parse_token_container
  - sae_parse_commit_scalar
  - sae_parse_commit_element_ecc
  - sae_parse_commit_element_ffc
  - sae_parse_commit_element
  - sae_parse_password_identifier
  - sae_parse_rejected_groups
  - sae_parse_akm_suite_selector
  - sae_parse_commit
  - sae_cn_confirm
  - sae_cn_confirm_ecc
  - sae_cn_confirm_ffc
  - sae_write_confirm
  - sae_check_confirm
  - sae_state_txt
  source_file: /src/hostap/src/common/sae.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - gas_server_response_timeout
  - gas_server_free_response
  - gas_server_send_resp
  - gas_server_rx_initial_req
  - gas_server_handle_rx_comeback_req
  - gas_server_rx_comeback_req
  - gas_server_rx
  - gas_server_handle_tx_status
  - gas_server_tx_status
  - gas_server_set_resp
  - gas_server_set_comeback_delay
  - gas_server_response_sent
  - gas_server_init
  - gas_server_deinit
  - gas_server_register
  source_file: /src/hostap/src/common/gas_server.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_ADV_PROTO_ID_LEN
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/hostap/src/common/gas_server.c
      type_or_value: '10'
    - item_type: preproc_def
      name: GAS_QUERY_TIMEOUT
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/hostap/src/common/gas_server.c
      type_or_value: '60'
    structs:
    - fields:
      - name: list
        type: struct dl_list
      - name: adv_proto_id[MAX_ADV_PROTO_ID_LEN]
        type: u8
      - name: adv_proto_id_len
        type: u8
      - name: "* (*req_cb)(void *ctx, void *resp_ctx, const u8 *sa,\n\t\t\t\t  const
          u8 *query, size_t query_len,\n\t\t\t\t  int *comeback_delay)"
        type: struct wpabuf
      - name: (*status_cb)(void *ctx, struct wpabuf *resp, int ok)
        type: void
      - name: '*ctx'
        type: void
      - name: '*gas'
        type: struct gas_server
      item_type: struct
      name: gas_server_handler
      pos:
        line_end: 33
        line_start: 23
        source_file: /src/hostap/src/common/gas_server.c
    - fields:
      - name: list
        type: struct dl_list
      - name: offset
        type: size_t
      - name: frag_id
        type: u8
      - name: '*resp'
        type: struct wpabuf
      - name: freq
        type: int
      - name: dst[ETH_ALEN]
        type: u8
      - name: dialog_token
        type: u8
      - name: '*handler'
        type: struct gas_server_handler
      - name: comeback_delay
        type: u16
      - name: initial_resp_sent
        type: bool
      - name: timeout_extended
        type: bool
      item_type: struct
      name: gas_server_response
      pos:
        line_end: 47
        line_start: 35
        source_file: /src/hostap/src/common/gas_server.c
    - fields:
      - name: handlers
        type: struct dl_list
      - name: responses
        type: struct dl_list
      - name: "(*tx)(void *ctx, int freq, const u8 *da, struct wpabuf *resp,\n\t\t
          \  unsigned int wait_time)"
        type: void
      - name: '*ctx'
        type: void
      item_type: struct
      name: gas_server
      pos:
        line_end: 55
        line_start: 49
        source_file: /src/hostap/src/common/gas_server.c
    typedefs: []
    union: []
- function_names:
  - dragonfly_suitable_group
  - dragonfly_min_pwe_loop_iter
  - dragonfly_get_random_qr_qnr
  - dragonfly_get_rand_1_to_p_1
  - dragonfly_is_quadratic_residue_blind
  - dragonfly_get_rand_2_to_r_1
  - dragonfly_generate_scalar
  - dragonfly_sqrt
  source_file: /src/hostap/src/common/dragonfly.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/common/wpa_helpers.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RSN_SELECTOR
  - RSN_SELECTOR_PUT
  - RSN_SELECTOR_GET
  - rsn_pmkid_suite_b
  - rsn_pmkid_suite_b_192
  - wpa_supplicant_parse_ies
  source_file: /src/hostap/src/common/wpa_common.h
  types:
    enum:
    - enumerators:
      - name: RSN_HASH_NOT_SPECIFIED
      - name: RSN_HASH_SHA1
      - name: RSN_HASH_SHA512
      - name: RSN_HASH_SHA256
      - name: RSN_HASH_SHA384
      item_type: enum
      name: rsn_hash_alg
      pos:
        line_end: 37
        line_start: 31
        source_file: /src/hostap/src/common/wpa_common.h
    - enumerators:
      - name: FTE_MIC_LEN_16
        value: '0'
      - name: FTE_MIC_LEN_32
        value: '2'
      - name: FTE_MIC_LEN_24
        value: '1'
      item_type: enum
      name: ft_mic_len_subfield
      pos:
        line_end: 212
        line_start: 208
        source_file: /src/hostap/src/common/wpa_common.h
    - enumerators:
      - name: RSN_SELECTION_RSNE
        value: '0'
      - name: RSN_SELECTION_RSNE_OVERRIDE
        value: '1'
      - name: RSN_SELECTION_RSNE_OVERRIDE_2
        value: '2'
      item_type: enum
      name: rsn_selection_variant
      pos:
        line_end: 676
        line_start: 672
        source_file: /src/hostap/src/common/wpa_common.h
    preproc_defs:
    - item_type: preproc_def
      name: PMKID_LEN
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '16'
    - item_type: preproc_def
      name: PMK_LEN
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '32'
    - item_type: preproc_def
      name: PMK_LEN_SUITE_B_192
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '48'
    - item_type: preproc_def
      name: PMK_LEN_MAX
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '64'
    - item_type: preproc_def
      name: WPA_REPLAY_COUNTER_LEN
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '8'
    - item_type: preproc_def
      name: RSN_PN_LEN
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '6'
    - item_type: preproc_def
      name: WPA_NONCE_LEN
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '32'
    - item_type: preproc_def
      name: WPA_KEY_RSC_LEN
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '8'
    - item_type: preproc_def
      name: WPA_GMK_LEN
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '32'
    - item_type: preproc_def
      name: WPA_GTK_MAX_LEN
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '32'
    - item_type: preproc_def
      name: WPA_PASN_PMK_LEN
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '32'
    - item_type: preproc_def
      name: WPA_PASN_MAX_MIC_LEN
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '32'
    - item_type: preproc_def
      name: WPA_MAX_RSNXE_LEN
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '4'
    - item_type: preproc_def
      name: WPA_1X_MAX_MIC_LEN
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '32'
    - item_type: preproc_def
      name: OWE_DH_GROUP
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '19'
    - item_type: preproc_def
      name: WPA_ALLOWED_PAIRWISE_CIPHERS
      pos:
        line_end: 43
        line_start: 40
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '(WPA_CIPHER_CCMP | WPA_CIPHER_GCMP | WPA_CIPHER_NONE | \

        WPA_CIPHER_GCMP_256 | WPA_CIPHER_CCMP_256)'
    - item_type: preproc_def
      name: WPA_ALLOWED_GROUP_CIPHERS
      pos:
        line_end: 47
        line_start: 43
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '(WPA_CIPHER_CCMP | WPA_CIPHER_GCMP | \

        WPA_CIPHER_GCMP_256 | WPA_CIPHER_CCMP_256 | \

        WPA_CIPHER_GTK_NOT_USED)'
    - item_type: preproc_def
      name: WPA_ALLOWED_PAIRWISE_CIPHERS
      pos:
        line_end: 51
        line_start: 48
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '(WPA_CIPHER_CCMP | WPA_CIPHER_GCMP | WPA_CIPHER_TKIP | WPA_CIPHER_NONE
        | \

        WPA_CIPHER_GCMP_256 | WPA_CIPHER_CCMP_256)'
    - item_type: preproc_def
      name: WPA_ALLOWED_GROUP_CIPHERS
      pos:
        line_end: 55
        line_start: 51
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '(WPA_CIPHER_CCMP | WPA_CIPHER_GCMP | WPA_CIPHER_TKIP | \

        WPA_CIPHER_GCMP_256 | WPA_CIPHER_CCMP_256 | \

        WPA_CIPHER_GTK_NOT_USED)'
    - item_type: preproc_def
      name: WPA_ALLOWED_GROUP_MGMT_CIPHERS
      pos:
        line_end: 59
        line_start: 56
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '(WPA_CIPHER_AES_128_CMAC | WPA_CIPHER_BIP_GMAC_128 | WPA_CIPHER_BIP_GMAC_256
        | \

        WPA_CIPHER_BIP_CMAC_256)'
    - item_type: preproc_def
      name: WPA_SELECTOR_LEN
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '4'
    - item_type: preproc_def
      name: WPA_VERSION
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '1'
    - item_type: preproc_def
      name: RSN_SELECTOR_LEN
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '4'
    - item_type: preproc_def
      name: RSN_VERSION
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '1'
    - item_type: preproc_def
      name: WPA_AUTH_KEY_MGMT_NONE
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: RSN_SELECTOR(0x00, 0x50, 0xf2, 0)
    - item_type: preproc_def
      name: WPA_AUTH_KEY_MGMT_UNSPEC_802_1X
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: RSN_SELECTOR(0x00, 0x50, 0xf2, 1)
    - item_type: preproc_def
      name: WPA_AUTH_KEY_MGMT_PSK_OVER_802_1X
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: RSN_SELECTOR(0x00, 0x50, 0xf2, 2)
    - item_type: preproc_def
      name: WPA_AUTH_KEY_MGMT_CCKM
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: RSN_SELECTOR(0x00, 0x40, 0x96, 0)
    - item_type: preproc_def
      name: WPA_CIPHER_SUITE_NONE
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: RSN_SELECTOR(0x00, 0x50, 0xf2, 0)
    - item_type: preproc_def
      name: WPA_CIPHER_SUITE_TKIP
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: RSN_SELECTOR(0x00, 0x50, 0xf2, 2)
    - item_type: preproc_def
      name: WPA_CIPHER_SUITE_CCMP
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: RSN_SELECTOR(0x00, 0x50, 0xf2, 4)
    - item_type: preproc_def
      name: RSN_AUTH_KEY_MGMT_UNSPEC_802_1X
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: RSN_SELECTOR(0x00, 0x0f, 0xac, 1)
    - item_type: preproc_def
      name: RSN_AUTH_KEY_MGMT_PSK_OVER_802_1X
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: RSN_SELECTOR(0x00, 0x0f, 0xac, 2)
    - item_type: preproc_def
      name: RSN_AUTH_KEY_MGMT_FT_802_1X
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: RSN_SELECTOR(0x00, 0x0f, 0xac, 3)
    - item_type: preproc_def
      name: RSN_AUTH_KEY_MGMT_FT_PSK
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: RSN_SELECTOR(0x00, 0x0f, 0xac, 4)
    - item_type: preproc_def
      name: RSN_AUTH_KEY_MGMT_802_1X_SHA256
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: RSN_SELECTOR(0x00, 0x0f, 0xac, 5)
    - item_type: preproc_def
      name: RSN_AUTH_KEY_MGMT_PSK_SHA256
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: RSN_SELECTOR(0x00, 0x0f, 0xac, 6)
    - item_type: preproc_def
      name: RSN_AUTH_KEY_MGMT_TPK_HANDSHAKE
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: RSN_SELECTOR(0x00, 0x0f, 0xac, 7)
    - item_type: preproc_def
      name: RSN_AUTH_KEY_MGMT_SAE
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: RSN_SELECTOR(0x00, 0x0f, 0xac, 8)
    - item_type: preproc_def
      name: RSN_AUTH_KEY_MGMT_FT_SAE
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: RSN_SELECTOR(0x00, 0x0f, 0xac, 9)
    - item_type: preproc_def
      name: RSN_AUTH_KEY_MGMT_802_1X_SUITE_B
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: RSN_SELECTOR(0x00, 0x0f, 0xac, 11)
    - item_type: preproc_def
      name: RSN_AUTH_KEY_MGMT_802_1X_SUITE_B_192
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: RSN_SELECTOR(0x00, 0x0f, 0xac, 12)
    - item_type: preproc_def
      name: RSN_AUTH_KEY_MGMT_FT_802_1X_SHA384
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: RSN_SELECTOR(0x00, 0x0f, 0xac, 13)
    - item_type: preproc_def
      name: RSN_AUTH_KEY_MGMT_FILS_SHA256
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: RSN_SELECTOR(0x00, 0x0f, 0xac, 14)
    - item_type: preproc_def
      name: RSN_AUTH_KEY_MGMT_FILS_SHA384
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: RSN_SELECTOR(0x00, 0x0f, 0xac, 15)
    - item_type: preproc_def
      name: RSN_AUTH_KEY_MGMT_FT_FILS_SHA256
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: RSN_SELECTOR(0x00, 0x0f, 0xac, 16)
    - item_type: preproc_def
      name: RSN_AUTH_KEY_MGMT_FT_FILS_SHA384
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: RSN_SELECTOR(0x00, 0x0f, 0xac, 17)
    - item_type: preproc_def
      name: RSN_AUTH_KEY_MGMT_OWE
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: RSN_SELECTOR(0x00, 0x0f, 0xac, 18)
    - item_type: preproc_def
      name: RSN_AUTH_KEY_MGMT_FT_PSK_SHA384
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: RSN_SELECTOR(0x00, 0x0f, 0xac, 19)
    - item_type: preproc_def
      name: RSN_AUTH_KEY_MGMT_PSK_SHA384
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: RSN_SELECTOR(0x00, 0x0f, 0xac, 20)
    - item_type: preproc_def
      name: RSN_AUTH_KEY_MGMT_PASN
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: RSN_SELECTOR(0x00, 0x0f, 0xac, 21)
    - item_type: preproc_def
      name: RSN_AUTH_KEY_MGMT_FT_802_1X_SHA384_UNRESTRICTED
      pos:
        line_end: 100
        line_start: 98
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: RSN_SELECTOR(0x00, 0x0f, 0xac, 22)
    - item_type: preproc_def
      name: RSN_AUTH_KEY_MGMT_802_1X_SHA384
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: RSN_SELECTOR(0x00, 0x0f, 0xac, 23)
    - item_type: preproc_def
      name: RSN_AUTH_KEY_MGMT_SAE_EXT_KEY
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: RSN_SELECTOR(0x00, 0x0f, 0xac, 24)
    - item_type: preproc_def
      name: RSN_AUTH_KEY_MGMT_FT_SAE_EXT_KEY
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: RSN_SELECTOR(0x00, 0x0f, 0xac, 25)
    - item_type: preproc_def
      name: RSN_AUTH_KEY_MGMT_EPPKE
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: RSN_SELECTOR(0x00, 0x0f, 0xac, 29)
    - item_type: preproc_def
      name: RSN_AUTH_KEY_MGMT_CCKM
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: RSN_SELECTOR(0x00, 0x40, 0x96, 0x00)
    - item_type: preproc_def
      name: RSN_AUTH_KEY_MGMT_DPP
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: RSN_SELECTOR(0x50, 0x6f, 0x9a, 0x02)
    - item_type: preproc_def
      name: RSN_CIPHER_SUITE_NONE
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: RSN_SELECTOR(0x00, 0x0f, 0xac, 0)
    - item_type: preproc_def
      name: RSN_CIPHER_SUITE_WEP40
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: RSN_SELECTOR(0x00, 0x0f, 0xac, 1)
    - item_type: preproc_def
      name: RSN_CIPHER_SUITE_TKIP
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: RSN_SELECTOR(0x00, 0x0f, 0xac, 2)
    - item_type: preproc_def
      name: RSN_CIPHER_SUITE_WRAP
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: RSN_SELECTOR(0x00, 0x0f, 0xac, 3)
    - item_type: preproc_def
      name: RSN_CIPHER_SUITE_CCMP
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: RSN_SELECTOR(0x00, 0x0f, 0xac, 4)
    - item_type: preproc_def
      name: RSN_CIPHER_SUITE_WEP104
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: RSN_SELECTOR(0x00, 0x0f, 0xac, 5)
    - item_type: preproc_def
      name: RSN_CIPHER_SUITE_AES_128_CMAC
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: RSN_SELECTOR(0x00, 0x0f, 0xac, 6)
    - item_type: preproc_def
      name: RSN_CIPHER_SUITE_NO_GROUP_ADDRESSED
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: RSN_SELECTOR(0x00, 0x0f, 0xac, 7)
    - item_type: preproc_def
      name: RSN_CIPHER_SUITE_GCMP
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: RSN_SELECTOR(0x00, 0x0f, 0xac, 8)
    - item_type: preproc_def
      name: RSN_CIPHER_SUITE_GCMP_256
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: RSN_SELECTOR(0x00, 0x0f, 0xac, 9)
    - item_type: preproc_def
      name: RSN_CIPHER_SUITE_CCMP_256
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: RSN_SELECTOR(0x00, 0x0f, 0xac, 10)
    - item_type: preproc_def
      name: RSN_CIPHER_SUITE_BIP_GMAC_128
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: RSN_SELECTOR(0x00, 0x0f, 0xac, 11)
    - item_type: preproc_def
      name: RSN_CIPHER_SUITE_BIP_GMAC_256
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: RSN_SELECTOR(0x00, 0x0f, 0xac, 12)
    - item_type: preproc_def
      name: RSN_CIPHER_SUITE_BIP_CMAC_256
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: RSN_SELECTOR(0x00, 0x0f, 0xac, 13)
    - item_type: preproc_def
      name: RSN_CIPHER_SUITE_SMS4
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: RSN_SELECTOR(0x00, 0x14, 0x72, 1)
    - item_type: preproc_def
      name: RSN_CIPHER_SUITE_CKIP
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: RSN_SELECTOR(0x00, 0x40, 0x96, 0)
    - item_type: preproc_def
      name: RSN_CIPHER_SUITE_CKIP_CMIC
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: RSN_SELECTOR(0x00, 0x40, 0x96, 1)
    - item_type: preproc_def
      name: RSN_CIPHER_SUITE_CMIC
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: RSN_SELECTOR(0x00, 0x40, 0x96, 2)
    - item_type: preproc_def
      name: RSN_CIPHER_SUITE_KRK
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: RSN_SELECTOR(0x00, 0x40, 0x96, 255)
    - item_type: preproc_def
      name: RSN_KEY_DATA_GROUPKEY
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: RSN_SELECTOR(0x00, 0x0f, 0xac, 1)
    - item_type: preproc_def
      name: RSN_KEY_DATA_STAKEY
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: RSN_SELECTOR(0x00, 0x0f, 0xac, 2)
    - item_type: preproc_def
      name: RSN_KEY_DATA_MAC_ADDR
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: RSN_SELECTOR(0x00, 0x0f, 0xac, 3)
    - item_type: preproc_def
      name: RSN_KEY_DATA_PMKID
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: RSN_SELECTOR(0x00, 0x0f, 0xac, 4)
    - item_type: preproc_def
      name: RSN_KEY_DATA_IGTK
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: RSN_SELECTOR(0x00, 0x0f, 0xac, 9)
    - item_type: preproc_def
      name: RSN_KEY_DATA_KEYID
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: RSN_SELECTOR(0x00, 0x0f, 0xac, 10)
    - item_type: preproc_def
      name: RSN_KEY_DATA_MULTIBAND_GTK
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: RSN_SELECTOR(0x00, 0x0f, 0xac, 11)
    - item_type: preproc_def
      name: RSN_KEY_DATA_MULTIBAND_KEYID
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: RSN_SELECTOR(0x00, 0x0f, 0xac, 12)
    - item_type: preproc_def
      name: RSN_KEY_DATA_OCI
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: RSN_SELECTOR(0x00, 0x0f, 0xac, 13)
    - item_type: preproc_def
      name: RSN_KEY_DATA_BIGTK
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: RSN_SELECTOR(0x00, 0x0f, 0xac, 14)
    - item_type: preproc_def
      name: RSN_KEY_DATA_MLO_GTK
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: RSN_SELECTOR(0x00, 0x0f, 0xac, 16)
    - item_type: preproc_def
      name: RSN_KEY_DATA_MLO_IGTK
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: RSN_SELECTOR(0x00, 0x0f, 0xac, 17)
    - item_type: preproc_def
      name: RSN_KEY_DATA_MLO_BIGTK
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: RSN_SELECTOR(0x00, 0x0f, 0xac, 18)
    - item_type: preproc_def
      name: RSN_KEY_DATA_MLO_LINK
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: RSN_SELECTOR(0x00, 0x0f, 0xac, 19)
    - item_type: preproc_def
      name: RSN_KEY_DATA_SAE_PW_IDS
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: RSN_SELECTOR(0x00, 0x0f, 0xac, 25)
    - item_type: preproc_def
      name: WFA_KEY_DATA_IP_ADDR_REQ
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: RSN_SELECTOR(0x50, 0x6f, 0x9a, 4)
    - item_type: preproc_def
      name: WFA_KEY_DATA_IP_ADDR_ALLOC
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: RSN_SELECTOR(0x50, 0x6f, 0x9a, 5)
    - item_type: preproc_def
      name: WFA_KEY_DATA_TRANSITION_DISABLE
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: RSN_SELECTOR(0x50, 0x6f, 0x9a, 0x20)
    - item_type: preproc_def
      name: WFA_KEY_DATA_DPP
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: RSN_SELECTOR(0x50, 0x6f, 0x9a, 0x21)
    - item_type: preproc_def
      name: WFA_KEY_DATA_RSN_OVERRIDE_LINK
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: RSN_SELECTOR(0x50, 0x6f, 0x9a, 0x2d)
    - item_type: preproc_def
      name: WPA_OUI_TYPE
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: RSN_SELECTOR(0x00, 0x50, 0xf2, 1)
    - item_type: preproc_def
      name: RSN_NUM_REPLAY_COUNTERS_1
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '0'
    - item_type: preproc_def
      name: RSN_NUM_REPLAY_COUNTERS_2
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '1'
    - item_type: preproc_def
      name: RSN_NUM_REPLAY_COUNTERS_4
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '2'
    - item_type: preproc_def
      name: RSN_NUM_REPLAY_COUNTERS_16
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '3'
    - item_type: preproc_def
      name: WPA_IGTK_LEN
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '16'
    - item_type: preproc_def
      name: WPA_IGTK_MAX_LEN
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '32'
    - item_type: preproc_def
      name: WPA_BIGTK_LEN
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '16'
    - item_type: preproc_def
      name: WPA_BIGTK_MAX_LEN
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '32'
    - item_type: preproc_def
      name: WPA_CAPABILITY_PREAUTH
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: WPA_CAPABILITY_NO_PAIRWISE
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: WPA_CAPABILITY_MFPR
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: BIT(6)
    - item_type: preproc_def
      name: WPA_CAPABILITY_MFPC
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: BIT(7)
    - item_type: preproc_def
      name: WPA_CAPABILITY_PEERKEY_ENABLED
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: BIT(9)
    - item_type: preproc_def
      name: WPA_CAPABILITY_SPP_A_MSDU_CAPABLE
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: BIT(10)
    - item_type: preproc_def
      name: WPA_CAPABILITY_SPP_A_MSDU_REQUIRED
      pos:
        line_end: 190
        line_start: 189
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: BIT(11)
    - item_type: preproc_def
      name: WPA_CAPABILITY_PBAC
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: BIT(12)
    - item_type: preproc_def
      name: WPA_CAPABILITY_EXT_KEY_ID_FOR_UNICAST
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: BIT(13)
    - item_type: preproc_def
      name: WPA_CAPABILITY_OCVC
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: BIT(14)
    - item_type: preproc_def
      name: MOBILITY_DOMAIN_ID_LEN
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '2'
    - item_type: preproc_def
      name: FT_R0KH_ID_MAX_LEN
      pos:
        line_end: 199
        line_start: 198
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '48'
    - item_type: preproc_def
      name: FT_R1KH_ID_LEN
      pos:
        line_end: 200
        line_start: 199
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '6'
    - item_type: preproc_def
      name: WPA_PMK_NAME_LEN
      pos:
        line_end: 201
        line_start: 200
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '16'
    - item_type: preproc_def
      name: FTE_MIC_CTRL_RSNXE_USED
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: FTE_MIC_CTRL_MIC_LEN_MASK
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: (BIT(1) | BIT(2) | BIT(3))
    - item_type: preproc_def
      name: FTE_MIC_CTRL_MIC_LEN_SHIFT
      pos:
        line_end: 206
        line_start: 205
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '1'
    - item_type: preproc_def
      name: WPA_KEY_INFO_TYPE_MASK
      pos:
        line_end: 217
        line_start: 216
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: ((u16) (BIT(0) | BIT(1) | BIT(2)))
    - item_type: preproc_def
      name: WPA_KEY_INFO_TYPE_AKM_DEFINED
      pos:
        line_end: 218
        line_start: 217
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '0'
    - item_type: preproc_def
      name: WPA_KEY_INFO_TYPE_HMAC_MD5_RC4
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: WPA_KEY_INFO_TYPE_HMAC_SHA1_AES
      pos:
        line_end: 220
        line_start: 219
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: WPA_KEY_INFO_TYPE_AES_128_CMAC
      pos:
        line_end: 221
        line_start: 220
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '3'
    - item_type: preproc_def
      name: WPA_KEY_INFO_KEY_TYPE
      pos:
        line_end: 222
        line_start: 221
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: 'BIT(3) '
    - item_type: preproc_def
      name: WPA_KEY_INFO_KEY_INDEX_MASK
      pos:
        line_end: 224
        line_start: 223
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: (BIT(4) | BIT(5))
    - item_type: preproc_def
      name: WPA_KEY_INFO_KEY_INDEX_SHIFT
      pos:
        line_end: 225
        line_start: 224
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '4'
    - item_type: preproc_def
      name: WPA_KEY_INFO_INSTALL
      pos:
        line_end: 226
        line_start: 225
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: 'BIT(6) '
    - item_type: preproc_def
      name: WPA_KEY_INFO_TXRX
      pos:
        line_end: 227
        line_start: 226
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: 'BIT(6) '
    - item_type: preproc_def
      name: WPA_KEY_INFO_ACK
      pos:
        line_end: 228
        line_start: 227
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: BIT(7)
    - item_type: preproc_def
      name: WPA_KEY_INFO_MIC
      pos:
        line_end: 229
        line_start: 228
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: BIT(8)
    - item_type: preproc_def
      name: WPA_KEY_INFO_SECURE
      pos:
        line_end: 230
        line_start: 229
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: BIT(9)
    - item_type: preproc_def
      name: WPA_KEY_INFO_ERROR
      pos:
        line_end: 231
        line_start: 230
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: BIT(10)
    - item_type: preproc_def
      name: WPA_KEY_INFO_REQUEST
      pos:
        line_end: 232
        line_start: 231
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: BIT(11)
    - item_type: preproc_def
      name: WPA_KEY_INFO_ENCR_KEY_DATA
      pos:
        line_end: 233
        line_start: 232
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: 'BIT(12) '
    - item_type: preproc_def
      name: WPA_KEY_INFO_SMK_MESSAGE
      pos:
        line_end: 234
        line_start: 233
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: BIT(13)
    - item_type: preproc_def
      name: WPA_EAPOL_KEY_MIC_MAX_LEN
      pos:
        line_end: 252
        line_start: 251
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '32'
    - item_type: preproc_def
      name: WPA_KCK_MAX_LEN
      pos:
        line_end: 253
        line_start: 252
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '32'
    - item_type: preproc_def
      name: WPA_KEK_MAX_LEN
      pos:
        line_end: 254
        line_start: 253
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '64'
    - item_type: preproc_def
      name: WPA_TK_MAX_LEN
      pos:
        line_end: 255
        line_start: 254
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '32'
    - item_type: preproc_def
      name: WPA_KDK_MAX_LEN
      pos:
        line_end: 256
        line_start: 255
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '32'
    - item_type: preproc_def
      name: FILS_ICK_MAX_LEN
      pos:
        line_end: 257
        line_start: 256
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '48'
    - item_type: preproc_def
      name: FILS_FT_MAX_LEN
      pos:
        line_end: 258
        line_start: 257
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '48'
    - item_type: preproc_def
      name: WPA_PASN_KCK_LEN
      pos:
        line_end: 259
        line_start: 258
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '32'
    - item_type: preproc_def
      name: WPA_LTF_KEYSEED_MAX_LEN
      pos:
        line_end: 260
        line_start: 259
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '48'
    - item_type: preproc_def
      name: KDE_HDR_LEN
      pos:
        line_end: 356
        line_start: 355
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: (1 + 1 + RSN_SELECTOR_LEN)
    - item_type: preproc_def
      name: WPA_GTK_KDE_PREFIX_LEN
      pos:
        line_end: 363
        line_start: 362
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '2'
    - item_type: preproc_def
      name: WPA_IGTK_KDE_PREFIX_LEN
      pos:
        line_end: 370
        line_start: 369
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: (2 + RSN_PN_LEN)
    - item_type: preproc_def
      name: WPA_BIGTK_KDE_PREFIX_LEN
      pos:
        line_end: 377
        line_start: 376
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: (2 + RSN_PN_LEN)
    - item_type: preproc_def
      name: RSN_MLO_GTK_KDE_PREFIX_LENGTH
      pos:
        line_end: 384
        line_start: 383
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: (1 + RSN_PN_LEN)
    - item_type: preproc_def
      name: RSN_MLO_GTK_KDE_PREFIX0_KEY_ID_MASK
      pos:
        line_end: 385
        line_start: 384
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '0x03'
    - item_type: preproc_def
      name: RSN_MLO_GTK_KDE_PREFIX0_TX
      pos:
        line_end: 386
        line_start: 385
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '0x04'
    - item_type: preproc_def
      name: RSN_MLO_GTK_KDE_PREFIX0_LINK_ID_SHIFT
      pos:
        line_end: 387
        line_start: 386
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '4'
    - item_type: preproc_def
      name: RSN_MLO_GTK_KDE_PREFIX0_LINK_ID_MASK
      pos:
        line_end: 388
        line_start: 387
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '0xF0'
    - item_type: preproc_def
      name: RSN_MLO_IGTK_KDE_PREFIX_LENGTH
      pos:
        line_end: 390
        line_start: 389
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: (2 + RSN_PN_LEN + 1)
    - item_type: preproc_def
      name: RSN_MLO_IGTK_KDE_PREFIX8_LINK_ID_SHIFT
      pos:
        line_end: 391
        line_start: 390
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '4'
    - item_type: preproc_def
      name: RSN_MLO_IGTK_KDE_PREFIX8_LINK_ID_MASK
      pos:
        line_end: 392
        line_start: 391
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '0xF0'
    - item_type: preproc_def
      name: RSN_MLO_BIGTK_KDE_PREFIX_LENGTH
      pos:
        line_end: 400
        line_start: 399
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: (2 + RSN_PN_LEN + 1)
    - item_type: preproc_def
      name: RSN_MLO_BIGTK_KDE_PREFIX8_LINK_ID_SHIFT
      pos:
        line_end: 401
        line_start: 400
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '4'
    - item_type: preproc_def
      name: RSN_MLO_BIGTK_KDE_PREFIX8_LINK_ID_MASK
      pos:
        line_end: 402
        line_start: 401
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '0xF0'
    - item_type: preproc_def
      name: RSN_MLO_LINK_KDE_FIXED_LENGTH
      pos:
        line_end: 410
        line_start: 409
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: (1 + ETH_ALEN)
    - item_type: preproc_def
      name: RSN_MLO_LINK_KDE_LINK_INFO_INDEX
      pos:
        line_end: 411
        line_start: 410
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '0'
    - item_type: preproc_def
      name: RSN_MLO_LINK_KDE_LI_LINK_ID_SHIFT
      pos:
        line_end: 412
        line_start: 411
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '0'
    - item_type: preproc_def
      name: RSN_MLO_LINK_KDE_LI_LINK_ID_MASK
      pos:
        line_end: 413
        line_start: 412
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '0x0F'
    - item_type: preproc_def
      name: RSN_MLO_LINK_KDE_LI_RSNE_INFO
      pos:
        line_end: 414
        line_start: 413
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '0x10'
    - item_type: preproc_def
      name: RSN_MLO_LINK_KDE_LI_RSNXE_INFO
      pos:
        line_end: 415
        line_start: 414
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '0x20'
    - item_type: preproc_def
      name: RSN_MLO_LINK_KDE_LINK_MAC_INDEX
      pos:
        line_end: 416
        line_start: 415
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '1'
    - item_type: preproc_def
      name: RSN_FT_CAPAB_FT_OVER_DS
      pos:
        line_end: 423
        line_start: 422
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: RSN_FT_CAPAB_FT_RESOURCE_REQ_SUPP
      pos:
        line_end: 424
        line_start: 423
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: FTIE_SUBELEM_R1KH_ID
      pos:
        line_end: 450
        line_start: 449
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '1'
    - item_type: preproc_def
      name: FTIE_SUBELEM_GTK
      pos:
        line_end: 451
        line_start: 450
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '2'
    - item_type: preproc_def
      name: FTIE_SUBELEM_R0KH_ID
      pos:
        line_end: 452
        line_start: 451
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '3'
    - item_type: preproc_def
      name: FTIE_SUBELEM_IGTK
      pos:
        line_end: 453
        line_start: 452
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '4'
    - item_type: preproc_def
      name: FTIE_SUBELEM_OCI
      pos:
        line_end: 454
        line_start: 453
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '5'
    - item_type: preproc_def
      name: FTIE_SUBELEM_BIGTK
      pos:
        line_end: 455
        line_start: 454
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '6'
    - item_type: preproc_def
      name: FTIE_SUBELEM_MLO_GTK
      pos:
        line_end: 456
        line_start: 455
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '8'
    - item_type: preproc_def
      name: FTIE_SUBELEM_MLO_IGTK
      pos:
        line_end: 457
        line_start: 456
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '9'
    - item_type: preproc_def
      name: FTIE_SUBELEM_MLO_BIGTK
      pos:
        line_end: 458
        line_start: 457
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '10'
    - item_type: preproc_def
      name: TRANSITION_DISABLE_WPA3_PERSONAL
      pos:
        line_end: 468
        line_start: 467
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: TRANSITION_DISABLE_SAE_PK
      pos:
        line_end: 469
        line_start: 468
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: TRANSITION_DISABLE_WPA3_ENTERPRISE
      pos:
        line_end: 470
        line_start: 469
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: BIT(2)
    - item_type: preproc_def
      name: TRANSITION_DISABLE_ENHANCED_OPEN
      pos:
        line_end: 471
        line_start: 470
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: BIT(3)
    - item_type: preproc_def
      name: DPP_KDE_PFS_ALLOWED
      pos:
        line_end: 474
        line_start: 473
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: DPP_KDE_PFS_REQUIRED
      pos:
        line_end: 475
        line_start: 474
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: WPA_PASN_CTRL_COMEBACK_INFO_PRESENT
      pos:
        line_end: 641
        line_start: 640
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: WPA_PASN_CTRL_GROUP_AND_KEY_PRESENT
      pos:
        line_end: 642
        line_start: 641
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: WPA_PASN_WRAPPED_DATA_NO
      pos:
        line_end: 644
        line_start: 643
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '0'
    - item_type: preproc_def
      name: WPA_PASN_WRAPPED_DATA_FT
      pos:
        line_end: 645
        line_start: 644
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '1'
    - item_type: preproc_def
      name: WPA_PASN_WRAPPED_DATA_FILS_SK
      pos:
        line_end: 646
        line_start: 645
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '2'
    - item_type: preproc_def
      name: WPA_PASN_WRAPPED_DATA_SAE
      pos:
        line_end: 647
        line_start: 646
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '3'
    - item_type: preproc_def
      name: WPA_PASN_PUBKEY_COMPRESSED_0
      pos:
        line_end: 668
        line_start: 667
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '0x02'
    - item_type: preproc_def
      name: WPA_PASN_PUBKEY_COMPRESSED_1
      pos:
        line_end: 669
        line_start: 668
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '0x03'
    - item_type: preproc_def
      name: WPA_PASN_PUBKEY_UNCOMPRESSED
      pos:
        line_end: 670
        line_start: 669
        source_file: /src/hostap/src/common/wpa_common.h
      type_or_value: '0x04'
    structs:
    - fields:
      - name: type
        type: u8
      - name: key_info[2]
        type: u8
      - name: key_length[2]
        type: u8
      - name: replay_counter[WPA_REPLAY_COUNTER_LEN]
        type: u8
      - name: key_nonce[WPA_NONCE_LEN]
        type: u8
      - name: key_iv[16]
        type: u8
      - name: key_rsc[WPA_KEY_RSC_LEN]
        type: u8
      - name: key_id[8]
        type: u8
      item_type: struct
      name: wpa_eapol_key
      pos:
        line_end: 249
        line_start: 236
        source_file: /src/hostap/src/common/wpa_common.h
    - fields:
      - name: kck[WPA_KCK_MAX_LEN]
        type: u8
      - name: kek[WPA_KEK_MAX_LEN]
        type: u8
      - name: tk[WPA_TK_MAX_LEN]
        type: u8
      - name: kck2[WPA_KCK_MAX_LEN]
        type: u8
      - name: kek2[WPA_KEK_MAX_LEN]
        type: u8
      - name: kdk[WPA_KDK_MAX_LEN]
        type: u8
      - name: ltf_keyseed[WPA_LTF_KEYSEED_MAX_LEN]
        type: u8
      - name: kck_len
        type: size_t
      - name: kek_len
        type: size_t
      - name: tk_len
        type: size_t
      - name: kck2_len
        type: size_t
      - name: kek2_len
        type: size_t
      - name: kdk_len
        type: size_t
      - name: ptk_len
        type: size_t
      - name: ltf_keyseed_len
        type: size_t
      - name: hash_alg
        type: enum rsn_hash_alg
      - name: installed
        type: int
      - name: installed_rx
        type: bool
      item_type: struct
      name: wpa_ptk
      pos:
        line_end: 285
        line_start: 265
        source_file: /src/hostap/src/common/wpa_common.h
    - fields:
      - name: gtk[WPA_GTK_MAX_LEN]
        type: u8
      - name: gtk_len
        type: size_t
      item_type: struct
      name: wpa_gtk
      pos:
        line_end: 290
        line_start: 287
        source_file: /src/hostap/src/common/wpa_common.h
    - fields:
      - name: igtk[WPA_IGTK_MAX_LEN]
        type: u8
      - name: igtk_len
        type: size_t
      item_type: struct
      name: wpa_igtk
      pos:
        line_end: 295
        line_start: 292
        source_file: /src/hostap/src/common/wpa_common.h
    - fields:
      - name: bigtk[WPA_BIGTK_MAX_LEN]
        type: u8
      - name: bigtk_len
        type: size_t
      item_type: struct
      name: wpa_bigtk
      pos:
        line_end: 300
        line_start: 297
        source_file: /src/hostap/src/common/wpa_common.h
    - fields:
      - name: elem_id
        type: u8
      - name: len
        type: u8
      - name: oui[4]
        type: u8
      - name: version[2]
        type: u8
      item_type: struct
      name: wpa_ie_hdr
      pos:
        line_end: 321
        line_start: 316
        source_file: /src/hostap/src/common/wpa_common.h
    - fields:
      - name: elem_id
        type: u8
      - name: len
        type: u8
      - name: version[2]
        type: u8
      item_type: struct
      name: rsn_ie_hdr
      pos:
        line_end: 352
        line_start: 348
        source_file: /src/hostap/src/common/wpa_common.h
    - fields:
      - name: mui
        type: be16
      - name: error_type
        type: be16
      item_type: struct
      name: rsn_error_kde
      pos:
        line_end: 360
        line_start: 357
        source_file: /src/hostap/src/common/wpa_common.h
    - fields:
      - name: keyid
        type: u8
      - name: reserved
        type: u8
      - name: gtk[WPA_GTK_MAX_LEN]
        type: u8
      item_type: struct
      name: wpa_gtk_kde
      pos:
        line_end: 367
        line_start: 363
        source_file: /src/hostap/src/common/wpa_common.h
    - fields:
      - name: keyid[2]
        type: u8
      - name: pn[RSN_PN_LEN]
        type: u8
      - name: igtk[WPA_IGTK_MAX_LEN]
        type: u8
      item_type: struct
      name: wpa_igtk_kde
      pos:
        line_end: 374
        line_start: 370
        source_file: /src/hostap/src/common/wpa_common.h
    - fields:
      - name: keyid[2]
        type: u8
      - name: pn[RSN_PN_LEN]
        type: u8
      - name: bigtk[WPA_BIGTK_MAX_LEN]
        type: u8
      item_type: struct
      name: wpa_bigtk_kde
      pos:
        line_end: 381
        line_start: 377
        source_file: /src/hostap/src/common/wpa_common.h
    - fields:
      - name: keyid[2]
        type: u8
      - name: pn[RSN_PN_LEN]
        type: u8
      - name: prefix8
        type: u8
      - name: igtk[WPA_IGTK_MAX_LEN]
        type: u8
      item_type: struct
      name: rsn_mlo_igtk_kde
      pos:
        line_end: 397
        line_start: 392
        source_file: /src/hostap/src/common/wpa_common.h
    - fields:
      - name: keyid[2]
        type: u8
      - name: pn[RSN_PN_LEN]
        type: u8
      - name: prefix8
        type: u8
      - name: bigtk[WPA_BIGTK_MAX_LEN]
        type: u8
      item_type: struct
      name: rsn_mlo_bigtk_kde
      pos:
        line_end: 407
        line_start: 402
        source_file: /src/hostap/src/common/wpa_common.h
    - fields:
      - name: mobility_domain[MOBILITY_DOMAIN_ID_LEN]
        type: u8
      - name: ft_capab
        type: u8
      item_type: struct
      name: rsn_mdie
      pos:
        line_end: 420
        line_start: 417
        source_file: /src/hostap/src/common/wpa_common.h
    - fields:
      - name: mic_control[2]
        type: u8
      - name: mic[16]
        type: u8
      - name: anonce[WPA_NONCE_LEN]
        type: u8
      - name: snonce[WPA_NONCE_LEN]
        type: u8
      item_type: struct
      name: rsn_ftie
      pos:
        line_end: 431
        line_start: 425
        source_file: /src/hostap/src/common/wpa_common.h
    - fields:
      - name: mic_control[2]
        type: u8
      - name: mic[24]
        type: u8
      - name: anonce[WPA_NONCE_LEN]
        type: u8
      - name: snonce[WPA_NONCE_LEN]
        type: u8
      item_type: struct
      name: rsn_ftie_sha384
      pos:
        line_end: 439
        line_start: 433
        source_file: /src/hostap/src/common/wpa_common.h
    - fields:
      - name: mic_control[2]
        type: u8
      - name: mic[32]
        type: u8
      - name: anonce[WPA_NONCE_LEN]
        type: u8
      - name: snonce[WPA_NONCE_LEN]
        type: u8
      item_type: struct
      name: rsn_ftie_sha512
      pos:
        line_end: 447
        line_start: 441
        source_file: /src/hostap/src/common/wpa_common.h
    - fields:
      - name: id
        type: u8
      - name: descr_count
        type: u8
      - name: status_code
        type: le16
      item_type: struct
      name: rsn_rdie
      pos:
        line_end: 463
        line_start: 459
        source_file: /src/hostap/src/common/wpa_common.h
    - fields:
      - name: proto
        type: int
      - name: pairwise_cipher
        type: int
      - name: has_pairwise
        type: int
      - name: group_cipher
        type: int
      - name: has_group
        type: int
      - name: key_mgmt
        type: int
      - name: capabilities
        type: int
      - name: num_pmkid
        type: size_t
      - name: '*pmkid'
        type: u8
      - name: mgmt_group_cipher
        type: int
      item_type: struct
      name: wpa_ie_data
      pos:
        line_end: 546
        line_start: 535
        source_file: /src/hostap/src/common/wpa_common.h
    - fields:
      - name: '*mdie'
        type: u8
      - name: mdie_len
        type: size_t
      - name: '*ftie'
        type: u8
      - name: ftie_len
        type: size_t
      - name: '*r1kh_id'
        type: u8
      - name: '*gtk'
        type: u8
      - name: gtk_len
        type: size_t
      - name: '*r0kh_id'
        type: u8
      - name: r0kh_id_len
        type: size_t
      - name: '*fte_anonce'
        type: u8
      - name: '*fte_snonce'
        type: u8
      - name: fte_rsnxe_used
        type: bool
      - name: fte_elem_count
        type: unsigned int
      - name: '*fte_mic'
        type: u8
      - name: fte_mic_len
        type: size_t
      - name: '*rsn'
        type: u8
      - name: rsn_len
        type: size_t
      - name: rsn_capab
        type: u16
      - name: '*rsn_pmkid'
        type: u8
      - name: '*tie'
        type: u8
      - name: tie_len
        type: size_t
      - name: '*igtk'
        type: u8
      - name: igtk_len
        type: size_t
      - name: '*bigtk'
        type: u8
      - name: bigtk_len
        type: size_t
      - name: '*ric'
        type: u8
      - name: ric_len
        type: size_t
      - name: key_mgmt
        type: int
      - name: pairwise_cipher
        type: int
      - name: '*rsnxe'
        type: u8
      - name: rsnxe_len
        type: size_t
      - name: valid_mlo_gtks
        type: u16
      - name: '*mlo_gtk[MAX_NUM_MLD_LINKS]'
        type: u8
      - name: mlo_gtk_len[MAX_NUM_MLD_LINKS]
        type: size_t
      - name: valid_mlo_igtks
        type: u16
      - name: '*mlo_igtk[MAX_NUM_MLD_LINKS]'
        type: u8
      - name: mlo_igtk_len[MAX_NUM_MLD_LINKS]
        type: size_t
      - name: valid_mlo_bigtks
        type: u16
      - name: '*mlo_bigtk[MAX_NUM_MLD_LINKS]'
        type: u8
      - name: mlo_bigtk_len[MAX_NUM_MLD_LINKS]
        type: size_t
      - name: '*fte_buf'
        type: struct wpabuf
      item_type: struct
      name: wpa_ft_ies
      pos:
        line_end: 637
        line_start: 590
        source_file: /src/hostap/src/common/wpa_common.h
    - fields:
      - name: id
        type: u8
      - name: len
        type: u8
      - name: id_ext
        type: u8
      - name: control
        type: u8
      - name: wrapped_data_format
        type: u8
      item_type: struct
      name: pasn_parameter_ie
      pos:
        line_end: 654
        line_start: 648
        source_file: /src/hostap/src/common/wpa_common.h
    - fields:
      - name: wrapped_data_format
        type: u8
      - name: after
        type: u16
      - name: comeback_len
        type: u8
      - name: '*comeback'
        type: u8
      - name: group
        type: u16
      - name: pubkey_len
        type: u8
      - name: '*pubkey'
        type: u8
      item_type: struct
      name: wpa_pasn_params_data
      pos:
        line_end: 664
        line_start: 656
        source_file: /src/hostap/src/common/wpa_common.h
    - fields:
      - name: '*wpa_ie'
        type: u8
      - name: wpa_ie_len
        type: size_t
      - name: '*rsn_ie'
        type: u8
      - name: rsn_ie_len
        type: size_t
      - name: '*pmkid'
        type: u8
      - name: '*key_id'
        type: u8
      - name: '*gtk'
        type: u8
      - name: gtk_len
        type: size_t
      - name: '*mac_addr'
        type: u8
      - name: '*igtk'
        type: u8
      - name: igtk_len
        type: size_t
      - name: '*bigtk'
        type: u8
      - name: bigtk_len
        type: size_t
      - name: '*sae_pw_ids'
        type: u8
      - name: sae_pw_ids_len
        type: size_t
      - name: '*mdie'
        type: u8
      - name: mdie_len
        type: size_t
      - name: '*ftie'
        type: u8
      - name: ftie_len
        type: size_t
      - name: '*ip_addr_req'
        type: u8
      - name: '*ip_addr_alloc'
        type: u8
      - name: '*transition_disable'
        type: u8
      - name: transition_disable_len
        type: size_t
      - name: '*dpp_kde'
        type: u8
      - name: dpp_kde_len
        type: size_t
      - name: '*oci'
        type: u8
      - name: oci_len
        type: size_t
      - name: '*osen'
        type: u8
      - name: osen_len
        type: size_t
      - name: '*rsnxe'
        type: u8
      - name: rsnxe_len
        type: size_t
      - name: '*reassoc_deadline'
        type: u8
      - name: '*key_lifetime'
        type: u8
      - name: '*lnkid'
        type: u8
      - name: lnkid_len
        type: size_t
      - name: '*ext_capab'
        type: u8
      - name: ext_capab_len
        type: size_t
      - name: '*supp_rates'
        type: u8
      - name: supp_rates_len
        type: size_t
      - name: '*ext_supp_rates'
        type: u8
      - name: ext_supp_rates_len
        type: size_t
      - name: '*ht_capabilities'
        type: u8
      - name: '*vht_capabilities'
        type: u8
      - name: '*he_capabilities'
        type: u8
      - name: he_capab_len
        type: size_t
      - name: '*he_6ghz_capabilities'
        type: u8
      - name: '*eht_capabilities'
        type: u8
      - name: eht_capab_len
        type: size_t
      - name: '*supp_channels'
        type: u8
      - name: supp_channels_len
        type: size_t
      - name: '*supp_oper_classes'
        type: u8
      - name: supp_oper_classes_len
        type: size_t
      - name: '*ssid'
        type: u8
      - name: ssid_len
        type: size_t
      - name: qosinfo
        type: u8
      - name: aid
        type: u16
      - name: '*wmm'
        type: u8
      - name: wmm_len
        type: size_t
      - name: '*rsn_selection'
        type: u8
      - name: rsn_selection_len
        type: size_t
      - name: '*rsne_override'
        type: u8
      - name: rsne_override_len
        type: size_t
      - name: '*rsne_override_2'
        type: u8
      - name: rsne_override_2_len
        type: size_t
      - name: '*rsnxe_override'
        type: u8
      - name: rsnxe_override_len
        type: size_t
      - name: '*nan_nik'
        type: u8
      - name: nan_nik_len
        type: size_t
      - name: '*nan_key_lifetime'
        type: u8
      - name: nan_key_lifetime_len
        type: size_t
      - name: valid_mlo_gtks
        type: u16
      - name: '*mlo_gtk[MAX_NUM_MLD_LINKS]'
        type: u8
      - name: mlo_gtk_len[MAX_NUM_MLD_LINKS]
        type: size_t
      - name: valid_mlo_igtks
        type: u16
      - name: '*mlo_igtk[MAX_NUM_MLD_LINKS]'
        type: u8
      - name: mlo_igtk_len[MAX_NUM_MLD_LINKS]
        type: size_t
      - name: valid_mlo_bigtks
        type: u16
      - name: '*mlo_bigtk[MAX_NUM_MLD_LINKS]'
        type: u8
      - name: mlo_bigtk_len[MAX_NUM_MLD_LINKS]
        type: size_t
      - name: valid_mlo_links
        type: u16
      - name: '*mlo_link[MAX_NUM_MLD_LINKS]'
        type: u8
      - name: mlo_link_len[MAX_NUM_MLD_LINKS]
        type: size_t
      - name: '*rsn_override_link[MAX_NUM_MLD_LINKS]'
        type: u8
      - name: rsn_override_link_len[MAX_NUM_MLD_LINKS]
        type: size_t
      item_type: struct
      name: wpa_eapol_ie_parse
      pos:
        line_end: 768
        line_start: 683
        source_file: /src/hostap/src/common/wpa_common.h
    typedefs: []
    union: []
- function_names:
  - sockaddr_compare
  - sockaddr_print
  - ctrl_set_events
  - ctrl_iface_attach
  - dl_list_for_each
  - ctrl_iface_detach
  - dl_list_for_each
  - ctrl_iface_level
  - dl_list_for_each
  source_file: /src/hostap/src/common/ctrl_iface_common.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dpp_build_attr_csign_key_hash
  - dpp_build_reconfig_announcement
  - dpp_reconfig_build_req
  - dpp_configurator_build_own_connector
  - dpp_reconfig_init
  - dpp_reconfig_build_resp
  - dpp_reconfig_auth_req_rx
  - dpp_reconfig_build_conf
  - dpp_reconfig_auth_resp_rx
  - dpp_reconfig_auth_conf_rx
  source_file: /src/hostap/src/common/dpp_reconfig.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - nan_de_is_nan_network_id
  - nan_de_is_p2p_network_id
  - nan_de_init
  - nan_de_service_free
  - nan_de_service_deinit
  - nan_de_flush_tracked_tx
  - nan_de_clear_pending
  - nan_de_track_tx_digest
  - nan_de_add_tracked_tx
  - nan_de_tx_status_match
  - nan_de_flush
  - nan_de_pause_state
  - nan_de_unpause_state
  - nan_de_alloc_sdf
  - nan_de_tx
  - nan_buf_add_npba
  - nan_de_tx_sdf
  - nan_de_time_to_next_chan_change
  - nan_de_set_publish_times
  - nan_de_check_chan_change
  - nan_de_tx_multicast
  - nan_de_add_srv
  - nan_de_del_srv
  - nan_de_srv_expired
  - nan_de_next_multicast
  - nan_de_srv_time_to_next
  - nan_de_start_new_publish_state
  - nan_de_listen_duration
  - nan_de_timer
  - nan_de_run_timer
  - nan_de_deinit
  - nan_de_listen_started
  - nan_de_listen_ended
  - nan_de_update_nmi
  - nan_de_tx_status
  - nan_de_tx_wait_ended
  - nan_de_get_attr
  - nan_de_get_sdea
  - nan_de_parse_csia
  - nan_de_parse_scia
  - nan_de_process_elem_container
  - nan_de_parse_dcea
  - nan_de_get_advertise_pbm
  - nan_de_filter_match
  - nan_de_rx_publish
  - nan_de_rx_subscribe
  - nan_de_rx_follow_up
  - nan_check_bloom_filter
  - nan_srf_match
  - nan_de_rx_sda
  - nan_de_rx_sdf
  - nan_de_get_handle
  - nan_de_derive_service_id
  - nan_de_get_service_id
  - nan_de_publish
  - nan_de_cancel_publish
  - nan_de_update_publish
  - nan_de_unpause_publish
  - bloom_filter_add
  - nan_build_bloom_filter
  - nan_de_subscribe
  - nan_de_cancel_subscribe
  - nan_de_transmit
  - nan_de_stop_listen
  - nan_de_config
  - nan_de_dw_trigger
  - nan_de_set_cluster_id
  - nan_de_is_valid_instance_id
  - nan_de_get_service_bootstrap_methods
  - nan_de_service_supports_csid
  - nan_de_service_type2str
  - nan_de_get_status
  - nan_de_set_tx_mcast_follow_up_prot
  source_file: /src/hostap/src/common/nan_de.c
  types:
    enum:
    - enumerators:
      - name: NAN_DE_PUBLISH
      - name: NAN_DE_SUBSCRIBE
      item_type: enum
      name: nan_de_service_type
      pos:
        line_end: 27
        line_start: 24
        source_file: /src/hostap/src/common/nan_de.c
    - enumerators:
      - name: NAN_DE_FLUSH_TRACKED_TX_FLUSH_ALL
      - name: NAN_DE_FLUSH_TRACKED_TX_WAIT_EXPIRED
      item_type: enum
      name: nan_de_flush_tracked_tx_reason
      pos:
        line_end: 119
        line_start: 116
        source_file: /src/hostap/src/common/nan_de.c
    preproc_defs:
    - item_type: preproc_def
      name: NAN_DE_N_MIN
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/hostap/src/common/nan_de.c
      type_or_value: '5'
    - item_type: preproc_def
      name: NAN_DE_N_MAX
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/hostap/src/common/nan_de.c
      type_or_value: '10'
    - item_type: preproc_def
      name: NAN_DE_RSSI_CLOSE_PROXIMITY
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/hostap/src/common/nan_de.c
      type_or_value: '(-70) '
    structs:
    - fields:
      - name: id
        type: int
      - name: type
        type: enum nan_de_service_type
      - name: '*service_name'
        type: char
      - name: service_id[NAN_SERVICE_ID_LEN]
        type: u8
      - name: publish
        type: struct nan_publish_params
      - name: subscribe
        type: struct nan_subscribe_params
      - name: srv_proto_type
        type: enum nan_service_protocol_type
      - name: '*ssi'
        type: struct wpabuf
      - name: '*elems'
        type: struct wpabuf
      - name: time_started
        type: struct os_reltime
      - name: end_time
        type: struct os_reltime
      - name: last_multicast
        type: struct os_reltime
      - name: first_discovered
        type: struct os_reltime
      - name: needs_fsd
        type: bool
      - name: freq
        type: unsigned int
      - name: default_freq
        type: unsigned int
      - name: '*freq_list'
        type: int
      - name: a3[ETH_ALEN]
        type: u8
      - name: a3_set
        type: bool
      - name: forced_addr[ETH_ALEN]
        type: u8
      - name: forced_addr_set
        type: bool
      - name: pause_state_end
        type: struct os_reltime
      - name: sel_peer_id
        type: u8
      - name: sel_peer_addr[ETH_ALEN]
        type: u8
      - name: in_multi_chan
        type: bool
      - name: first_multi_chan
        type: bool
      - name: multi_chan_idx
        type: int
      - name: next_publish_state
        type: struct os_reltime
      - name: next_publish_chan
        type: struct os_reltime
      - name: next_publish_duration
        type: unsigned int
      - name: is_p2p
        type: bool
      - name: is_pr
        type: bool
      - name: listen_stopped
        type: bool
      - name: sync
        type: bool
      - name: '*matching_filter_tx'
        type: struct wpabuf
      - name: '*matching_filter_rx'
        type: struct wpabuf
      - name: srf_include
        type: bool
      - name: srf_type_bloom_filter
        type: bool
      - name: srf_bf_idx
        type: u8
      - name: '*srf'
        type: struct wpabuf
      - name: close_proximity
        type: bool
      - name: gtk_required
        type: bool
      - name: data_path
        type: bool
      - name: security_required
        type: bool
      - name: pbm
        type: u16
      - name: '*cipher_suites_list'
        type: int
      - name: security_capab
        type: u8
      - name: pmkid_list
        type: struct dl_list
      item_type: struct
      name: nan_de_service
      pos:
        line_end: 101
        line_start: 35
        source_file: /src/hostap/src/common/nan_de.c
    - fields:
      - name: list
        type: struct dl_list
      - name: dst[ETH_ALEN]
        type: u8
      - name: cookie
        type: u32
      - name: digest[SHA256_MAC_LEN]
        type: u8
      - name: with_wait
        type: bool
      item_type: struct
      name: nan_de_tracked_tx
      pos:
        line_end: 114
        line_start: 108
        source_file: /src/hostap/src/common/nan_de.c
    - fields:
      - name: nmi[ETH_ALEN]
        type: u8
      - name: cluster_id[ETH_ALEN]
        type: u8
      - name: cluster_id_set
        type: bool
      - name: offload
        type: bool
      - name: ap
        type: bool
      - name: max_listen
        type: unsigned int
      - name: cb
        type: struct nan_callbacks
      - name: '*service[NAN_DE_MAX_SERVICE]'
        type: struct nan_de_service
      - name: num_service
        type: unsigned int
      - name: next_handle
        type: int
      - name: ext_listen_freq
        type: unsigned int
      - name: listen_freq
        type: unsigned int
      - name: tx_wait_status_freq
        type: unsigned int
      - name: tx_wait_end_freq
        type: unsigned int
      - name: cfg
        type: struct nan_de_cfg
      - name: suspend_cycle_start
        type: struct os_reltime
      - name: dw_freq
        type: int
      - name: rssi_threshold
        type: int
      - name: tracked_tx
        type: struct dl_list
      item_type: struct
      name: nan_de
      pos:
        line_end: 163
        line_start: 121
        source_file: /src/hostap/src/common/nan_de.c
    typedefs: []
    union: []
- function_names:
  - ocv_derive_all_parameters
  - ocv_insert_oci
  - ocv_insert_oci_kde
  - ocv_insert_extended_oci
  - ocv_verify_tx_params
  source_file: /src/hostap/src/common/ocv.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/common/nan_de.h
  types:
    enum:
    - enumerators:
      - name: NAN_DE_REASON_TIMEOUT
      - name: NAN_DE_REASON_USER_REQUEST
      - name: NAN_DE_REASON_FAILURE
      item_type: enum
      name: nan_de_reason
      pos:
        line_end: 24
        line_start: 20
        source_file: /src/hostap/src/common/nan_de.h
    preproc_defs:
    - item_type: preproc_def
      name: NAN_DE_MAX_SERVICE
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/hostap/src/common/nan_de.h
      type_or_value: '20'
    structs:
    - fields:
      - name: subscribe_id
        type: int
      - name: srv_proto_type
        type: enum nan_service_protocol_type
      - name: '*ssi'
        type: u8
      - name: ssi_len
        type: size_t
      - name: peer_publish_id
        type: int
      - name: '*peer_addr'
        type: u8
      - name: fsd
        type: bool
      - name: fsd_gas
        type: bool
      - name: data_path
        type: bool
      - name: security_required
        type: bool
      - name: '*pmkid_list'
        type: u8
      - name: pmkid_count
        type: unsigned int
      - name: '*cipher_suites'
        type: u8
      - name: n_cipher_suites
        type: unsigned int
      - name: pairing_setup_supp
        type: bool
      - name: npk_nik_caching_supp
        type: bool
      - name: pbm
        type: u16
      item_type: struct
      name: nan_discovery_result
      pos:
        line_end: 44
        line_start: 26
        source_file: /src/hostap/src/common/nan_de.h
    - fields:
      - name: '*ctx'
        type: void
      - name: "(*tx)(void *ctx, unsigned int freq, unsigned int wait_time,\n\t\t  const
          u8 *dst, const u8 *src, const u8 *bssid,\n\t\t  const struct wpabuf *buf)"
        type: int
      - name: "(*listen)(void *ctx, unsigned int freq, unsigned int duration,\n\t\t
          \     const u8 *forced_addr)"
        type: int
      - name: (*discovery_result)(void *ctx, struct nan_discovery_result *res)
        type: void
      - name: "(*replied)(void *ctx, int publish_id, const u8 *peer_addr,\n\t\t\tint
          peer_subscribe_id,\n\t\t\tenum nan_service_protocol_type srv_proto_type,\n\t\t\tconst
          u8 *ssi, size_t ssi_len)"
        type: void
      - name: "(*publish_terminated)(void *ctx, int publish_id,\n\t\t\t\t    enum
          nan_de_reason reason)"
        type: void
      - name: "(*subscribe_terminated)(void *ctx, int subscribe_id,\n\t\t\t\t     enum
          nan_de_reason reason)"
        type: void
      - name: (*offload_cancel_publish)(void *ctx, int publish_id)
        type: void
      - name: (*offload_cancel_subscribe)(void *ctx, int subscribe_id)
        type: void
      - name: "(*receive)(void *ctx, int id, int peer_instance_id,\n\t\t\tconst u8
          *ssi, size_t ssi_len,\n\t\t\tconst u8 *peer_addr,\n\t\t\tconst u8 *buf,
          size_t len)"
        type: void
      - name: "(*process_p2p_usd_elems)(void *ctx, const u8 *buf,\n\t\t\t\t      u16
          buf_len, const u8 *peer_addr,\n\t\t\t\t      unsigned int freq)"
        type: void
      - name: "(*process_pr_usd_elems)(void *ctx, const u8 *buf,\n\t\t\t\t     u16
          buf_len, const u8 *peer_addr,\n\t\t\t\t     unsigned int freq)"
        type: void
      - name: (*add_extra_attrs)(void *ctx, struct wpabuf *buf)
        type: void
      - name: (*is_peer_paired)(void *ctx, const u8 *addr)
        type: bool
      - name: (*transmit_req_status)(void *ctx, u32 cookie, bool ack)
        type: void
      item_type: struct
      name: nan_callbacks
      pos:
        line_end: 87
        line_start: 46
        source_file: /src/hostap/src/common/nan_de.h
    - fields:
      - name: unsolicited
        type: bool
      - name: solicited
        type: bool
      - name: solicited_multicast
        type: bool
      - name: ttl
        type: unsigned int
      - name: disable_events
        type: bool
      - name: fsd
        type: bool
      - name: fsd_gas
        type: bool
      - name: freq
        type: unsigned int
      - name: '*freq_list'
        type: int
      - name: announcement_period
        type: unsigned int
      - name: proximity_ranging
        type: bool
      - name: sync
        type: bool
      - name: '*match_filter_tx'
        type: char
      - name: '*match_filter_rx'
        type: char
      - name: close_proximity
        type: bool
      - name: '*forced_addr'
        type: u8
      - name: pbm
        type: u16
      - name: '*cipher_suites_list'
        type: int
      - name: security_capab
        type: u8
      - name: '*nd_pmk'
        type: u8
      - name: gtk_required
        type: bool
      - name: data_path
        type: bool
      - name: security_required
        type: bool
      item_type: struct
      name: nan_publish_params
      pos:
        line_end: 187
        line_start: 112
        source_file: /src/hostap/src/common/nan_de.h
    - fields:
      - name: active
        type: bool
      - name: ttl
        type: unsigned int
      - name: freq
        type: unsigned int
      - name: '*freq_list'
        type: int
      - name: query_period
        type: unsigned int
      - name: proximity_ranging
        type: bool
      - name: sync
        type: bool
      - name: '*match_filter_tx'
        type: char
      - name: '*match_filter_rx'
        type: char
      - name: srf_include
        type: bool
      - name: '*srf_mac_list'
        type: char
      - name: srf_bf_len
        type: u8
      - name: srf_bf_idx
        type: u8
      - name: close_proximity
        type: bool
      - name: '*forced_addr'
        type: u8
      - name: pbm
        type: u16
      - name: gtk_required
        type: bool
      item_type: struct
      name: nan_subscribe_params
      pos:
        line_end: 264
        line_start: 204
        source_file: /src/hostap/src/common/nan_de.h
    - fields:
      - name: n_min
        type: u32
      - name: suspend
        type: u32
      item_type: struct
      name: nan_de_cfg
      pos:
        line_end: 301
        line_start: 293
        source_file: /src/hostap/src/common/nan_de.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/common/proximity_ranging.h
  types:
    enum:
    - enumerators:
      - name: PR_SESSION_END_TIMEOUT
        value: '0'
      - name: PR_SESSION_END_PEER_COMPLETE
        value: '2'
      - name: PR_SESSION_END_NEG_FAILED
        value: '3'
      - name: PR_SESSION_END_USER_ABORT
        value: '1'
      item_type: enum
      name: pr_session_end_reason
      pos:
        line_end: 58
        line_start: 53
        source_file: /src/hostap/src/common/proximity_ranging.h
    - enumerators:
      - name: PR_ROLE_IDLE
        value: '0'
      - name: PR_ROLE_PASN_INITIATOR
      - name: PR_ROLE_PASN_RESPONDER
      item_type: enum
      name: pr_pasn_role
      pos:
        line_end: 64
        line_start: 60
        source_file: /src/hostap/src/common/proximity_ranging.h
    - enumerators:
      - name: EDCA_FORMAT_AND_BW_VHT20
        value: '10'
      - name: EDCA_FORMAT_AND_BW_VHT40
        value: '12'
      - name: EDCA_FORMAT_AND_BW_VHT80
        value: '13'
      - name: EDCA_FORMAT_AND_BW_HT40
        value: '11'
      - name: EDCA_FORMAT_AND_BW_VHT80P80
        value: '14'
      - name: EDCA_FORMAT_AND_BW_VHT160_DUAL_LO
        value: '15'
      - name: EDCA_FORMAT_AND_BW_VHT160_SINGLE_LO
        value: '16'
      - name: EDCA_FORMAT_AND_BW_INVALID
      item_type: enum
      name: edca_format_and_bw_value
      pos:
        line_end: 113
        line_start: 104
        source_file: /src/hostap/src/common/proximity_ranging.h
    - enumerators:
      - name: NTB_FORMAT_AND_BW_HE20
        value: '0'
      - name: NTB_FORMAT_AND_BW_HE40
        value: '1'
      - name: NTB_FORMAT_AND_BW_HE160_DUAL_LO
        value: '4'
      - name: NTB_FORMAT_AND_BW_HE80P80
        value: '3'
      - name: NTB_FORMAT_AND_BW_HE80
        value: '2'
      - name: NTB_FORMAT_AND_BW_HE160_SINGLE_LO
        value: '5'
      - name: NTB_FORMAT_AND_BW_INVALID
      item_type: enum
      name: ntb_format_and_bw_value
      pos:
        line_end: 130
        line_start: 122
        source_file: /src/hostap/src/common/proximity_ranging.h
    - enumerators:
      - name: PR_ATTR_STATUS
        value: '0'
      - name: PR_ATTR_NTB_CAPABILITY
        value: '3'
      - name: PR_ATTR_OPERATION_MODE
        value: '4'
      - name: PR_ATTR_RANGING_CAPABILITY
        value: '1'
      - name: PR_ATTR_EDCA_CAPABILITY
        value: '2'
      - name: PR_ATTR_WLAN_AP_INFO
        value: '5'
      - name: PR_ATTR_DEVICE_IDENTITY_RESOLUTION
        value: '6'
      - name: PR_ATTR_VENDOR_SPECIFIC
        value: '221'
      item_type: enum
      name: pr_attr_id
      pos:
        line_end: 238
        line_start: 229
        source_file: /src/hostap/src/common/proximity_ranging.h
    preproc_defs:
    - item_type: preproc_def
      name: DEVICE_IDENTITY_KEY_LEN
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/hostap/src/common/proximity_ranging.h
      type_or_value: '16'
    - item_type: preproc_def
      name: DEVICE_IDENTITY_TAG_LEN
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/hostap/src/common/proximity_ranging.h
      type_or_value: '8'
    - item_type: preproc_def
      name: DEVICE_IDENTITY_NONCE_LEN
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/hostap/src/common/proximity_ranging.h
      type_or_value: '8'
    - item_type: preproc_def
      name: DIR_STR_LEN
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/hostap/src/common/proximity_ranging.h
      type_or_value: '3'
    - item_type: preproc_def
      name: DEVICE_MAX_HASH_LEN
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/hostap/src/common/proximity_ranging.h
      type_or_value: '32'
    - item_type: preproc_def
      name: DIRA_CIPHER_VERSION_128
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/hostap/src/common/proximity_ranging.h
      type_or_value: '0'
    - item_type: preproc_def
      name: PR_MAX_OP_CLASSES
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/hostap/src/common/proximity_ranging.h
      type_or_value: '30'
    - item_type: preproc_def
      name: PR_MAX_OP_CLASS_CHANNELS
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/hostap/src/common/proximity_ranging.h
      type_or_value: '60'
    - item_type: preproc_def
      name: PR_MAX_PEER
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/hostap/src/common/proximity_ranging.h
      type_or_value: '100'
    - item_type: preproc_def
      name: PR_NEGOTIATION_SUCCESS
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/hostap/src/common/proximity_ranging.h
      type_or_value: '0'
    - item_type: preproc_def
      name: PR_NEGOTIATION_UPDATE
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/hostap/src/common/proximity_ranging.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PR_NEGOTIATION_FAIL
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/hostap/src/common/proximity_ranging.h
      type_or_value: '2'
    - item_type: preproc_def
      name: EDCA_FORMAT_AND_BW
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/hostap/src/common/proximity_ranging.h
      type_or_value: '0'
    - item_type: preproc_def
      name: EDCA_MAX_TX_ANTENNA
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/hostap/src/common/proximity_ranging.h
      type_or_value: '4'
    - item_type: preproc_def
      name: EDCA_MAX_RX_ANTENNA
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/hostap/src/common/proximity_ranging.h
      type_or_value: '7'
    - item_type: preproc_def
      name: EDCA_FORMAT_AND_BW_MASK
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/hostap/src/common/proximity_ranging.h
      type_or_value: '0x000F'
    - item_type: preproc_def
      name: EDCA_MAX_TX_ANTENNA_MASK
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/hostap/src/common/proximity_ranging.h
      type_or_value: '0x0007'
    - item_type: preproc_def
      name: EDCA_MAX_RX_ANTENNA_MASK
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/hostap/src/common/proximity_ranging.h
      type_or_value: '0x0007'
    - item_type: preproc_def
      name: NTB_FORMAT_AND_BW
      pos:
        line_end: 183
        line_start: 182
        source_file: /src/hostap/src/common/proximity_ranging.h
      type_or_value: '0'
    - item_type: preproc_def
      name: MAX_TX_LTF_REPETATIONS
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/hostap/src/common/proximity_ranging.h
      type_or_value: '3'
    - item_type: preproc_def
      name: MAX_RX_LTF_REPETATIONS
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/hostap/src/common/proximity_ranging.h
      type_or_value: '6'
    - item_type: preproc_def
      name: MAX_RX_LTF_TOTAL
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/hostap/src/common/proximity_ranging.h
      type_or_value: '9'
    - item_type: preproc_def
      name: MAX_TX_LTF_TOTAL
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/hostap/src/common/proximity_ranging.h
      type_or_value: '11'
    - item_type: preproc_def
      name: MAX_RX_STS_LE_80
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/hostap/src/common/proximity_ranging.h
      type_or_value: '13'
    - item_type: preproc_def
      name: MAX_RX_STS_GT_80
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/hostap/src/common/proximity_ranging.h
      type_or_value: '16'
    - item_type: preproc_def
      name: MAX_TX_STS_LE_80
      pos:
        line_end: 190
        line_start: 189
        source_file: /src/hostap/src/common/proximity_ranging.h
      type_or_value: '19'
    - item_type: preproc_def
      name: MAX_TX_STS_GT_80
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/hostap/src/common/proximity_ranging.h
      type_or_value: '22'
    - item_type: preproc_def
      name: NTB_FORMAT_AND_BW_MASK
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/hostap/src/common/proximity_ranging.h
      type_or_value: '0x00000007'
    - item_type: preproc_def
      name: MAX_TX_LTF_REPETATIONS_MASK
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/hostap/src/common/proximity_ranging.h
      type_or_value: '0x00000007'
    - item_type: preproc_def
      name: MAX_RX_LTF_REPETATIONS_MASK
      pos:
        line_end: 199
        line_start: 198
        source_file: /src/hostap/src/common/proximity_ranging.h
      type_or_value: '0x00000007'
    - item_type: preproc_def
      name: MAX_RX_LTF_TOTAL_MASK
      pos:
        line_end: 202
        line_start: 201
        source_file: /src/hostap/src/common/proximity_ranging.h
      type_or_value: '0x00000003'
    - item_type: preproc_def
      name: MAX_TX_LTF_TOTAL_MASK
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/hostap/src/common/proximity_ranging.h
      type_or_value: '0x00000003'
    - item_type: preproc_def
      name: MAX_RX_STS_LE_80_MASK
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/hostap/src/common/proximity_ranging.h
      type_or_value: '0x00000007'
    - item_type: preproc_def
      name: MAX_RX_STS_GT_80_MASK
      pos:
        line_end: 211
        line_start: 210
        source_file: /src/hostap/src/common/proximity_ranging.h
      type_or_value: '0x00000007'
    - item_type: preproc_def
      name: MAX_TX_STS_LE_80_MASK
      pos:
        line_end: 214
        line_start: 213
        source_file: /src/hostap/src/common/proximity_ranging.h
      type_or_value: '0x00000007'
    - item_type: preproc_def
      name: MAX_TX_STS_GT_80_MASK
      pos:
        line_end: 217
        line_start: 216
        source_file: /src/hostap/src/common/proximity_ranging.h
      type_or_value: '0x00000007'
    - item_type: preproc_def
      name: PR_EDCA_BASED_RANGING
      pos:
        line_end: 246
        line_start: 245
        source_file: /src/hostap/src/common/proximity_ranging.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: PR_NTB_SECURE_LTF_BASED_RANGING
      pos:
        line_end: 247
        line_start: 246
        source_file: /src/hostap/src/common/proximity_ranging.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: PR_NTB_OPEN_BASED_RANGING
      pos:
        line_end: 248
        line_start: 247
        source_file: /src/hostap/src/common/proximity_ranging.h
      type_or_value: BIT(2)
    - item_type: preproc_def
      name: PR_ISTA_SUPPORT
      pos:
        line_end: 255
        line_start: 254
        source_file: /src/hostap/src/common/proximity_ranging.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: PR_RSTA_SUPPORT
      pos:
        line_end: 256
        line_start: 255
        source_file: /src/hostap/src/common/proximity_ranging.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: PR_PASN_DH19_UNAUTH
      pos:
        line_end: 263
        line_start: 262
        source_file: /src/hostap/src/common/proximity_ranging.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: PR_PASN_DH19_AUTH
      pos:
        line_end: 264
        line_start: 263
        source_file: /src/hostap/src/common/proximity_ranging.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: PR_PASN_DH20_UNAUTH
      pos:
        line_end: 265
        line_start: 264
        source_file: /src/hostap/src/common/proximity_ranging.h
      type_or_value: BIT(2)
    - item_type: preproc_def
      name: PR_PASN_DH20_AUTH
      pos:
        line_end: 266
        line_start: 265
        source_file: /src/hostap/src/common/proximity_ranging.h
      type_or_value: BIT(3)
    - item_type: preproc_def
      name: PR_PASN_AUTH_MODE_PASN
      pos:
        line_end: 269
        line_start: 268
        source_file: /src/hostap/src/common/proximity_ranging.h
      type_or_value: '0'
    - item_type: preproc_def
      name: PR_PASN_AUTH_MODE_SAE
      pos:
        line_end: 270
        line_start: 269
        source_file: /src/hostap/src/common/proximity_ranging.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PR_PASN_AUTH_MODE_PMK
      pos:
        line_end: 271
        line_start: 270
        source_file: /src/hostap/src/common/proximity_ranging.h
      type_or_value: '2'
    - item_type: preproc_def
      name: PR_DISCOVERY_TYPE_USD
      pos:
        line_end: 274
        line_start: 273
        source_file: /src/hostap/src/common/proximity_ranging.h
      type_or_value: '0'
    - item_type: preproc_def
      name: PR_DISCOVERY_TYPE_OOB
      pos:
        line_end: 275
        line_start: 274
        source_file: /src/hostap/src/common/proximity_ranging.h
      type_or_value: '1'
    structs:
    - fields:
      - name: op_class[PR_MAX_OP_CLASSES]
        type: "struct pr_op_class {\n\t\t/**\n\t\t * op_class - Operating class\n\t\t
          */\n\t\tu8 op_class;\n\n\t\t/**\n\t\t * channel - Supported channels\n\t\t
          */\n\t\tu8 channel[PR_MAX_OP_CLASS_CHANNELS];\n\n\t\t/**\n\t\t * channels
          - Number of channel entries in use\n\t\t */\n\t\tsize_t channels;\n\t}"
      - name: op_classes
        type: size_t
      item_type: struct
      name: pr_channels
      pos:
        line_end: 94
        line_start: 69
        source_file: /src/hostap/src/common/proximity_ranging.h
    - fields:
      - name: op_class
        type: u8
      - name: channel[PR_MAX_OP_CLASS_CHANNELS]
        type: u8
      - name: channels
        type: size_t
      item_type: struct
      name: pr_op_class
      pos:
        line_end: 88
        line_start: 73
        source_file: /src/hostap/src/common/proximity_ranging.h
    - fields:
      - name: pasn_type
        type: u8
      - name: device_name[WPS_DEV_NAME_MAX_LEN + 1]
        type: char
      - name: edca_support
        type: bool
      - name: ntb_support
        type: bool
      - name: secure_he_ltf
        type: bool
      - name: support_6ghz
        type: bool
      item_type: struct
      name: pr_capabilities
      pos:
        line_end: 144
        line_start: 132
        source_file: /src/hostap/src/common/proximity_ranging.h
    - fields:
      - name: ista_support
        type: bool
      - name: rsta_support
        type: bool
      - name: edca_hw_caps
        type: u16
      - name: country[3]
        type: char
      - name: channels
        type: struct pr_channels
      item_type: struct
      name: edca_capabilities
      pos:
        line_end: 168
        line_start: 146
        source_file: /src/hostap/src/common/proximity_ranging.h
    - fields:
      - name: ista_support
        type: bool
      - name: rsta_support
        type: bool
      - name: secure_he_ltf
        type: bool
      - name: ntb_hw_caps
        type: u32
      - name: country[3]
        type: char
      - name: channels
        type: struct pr_channels
      item_type: struct
      name: ntb_capabilities
      pos:
        line_end: 222
        line_start: 170
        source_file: /src/hostap/src/common/proximity_ranging.h
    - fields:
      - name: action
        type: "enum {\n\t\tPR_PASN_AND_RANGING,\n\t\tPR_STOP_RANGING,\n\t}"
      - name: peer_addr[ETH_ALEN]
        type: u8
      - name: ranging_type
        type: u8
      - name: ranging_role
        type: u8
      - name: pr_pasn_status
        type: u8
      - name: auth_mode
        type: u8
      - name: freq
        type: int
      - name: ranging_timeout
        type: u32
      - name: src_addr[ETH_ALEN]
        type: u8
      - name: pasn_role
        type: enum pr_pasn_role
      - name: burst_period
        type: u16
      - name: num_bursts_exp
        type: u8
      - name: ftms_per_burst
        type: u8
      - name: ftmr_retries
        type: u8
      - name: burst_duration
        type: u8
      - name: min_time_between_measurements
        type: u32
      - name: max_time_between_measurements
        type: u32
      - name: availability_window
        type: u8
      - name: nominal_time
        type: u32
      - name: request_lci
        type: bool
      - name: request_civicloc
        type: bool
      - name: lmr_feedback
        type: bool
      - name: ingress_threshold
        type: u64
      - name: egress_threshold
        type: u64
      - name: pr_suppress_results
        type: bool
      - name: continuous_ranging_session_time
        type: u32
      - name: forced_pr_freq
        type: int
      - name: ranging_op_class
        type: u8
      - name: channel_width
        type: u16
      - name: format_bw
        type: u8
      - name: center_freq1
        type: u32
      - name: center_freq2
        type: u32
      - name: cookie
        type: u64
      - name: password[100]
        type: char
      - name: password_valid
        type: bool
      - name: pmk[PMK_LEN_MAX]
        type: u8
      - name: pmk_len
        type: size_t
      item_type: struct
      name: pr_pasn_ranging_params
      pos:
        line_end: 378
        line_start: 280
        source_file: /src/hostap/src/common/proximity_ranging.h
    - fields:
      - name: list
        type: struct dl_list
      - name: dik[DEVICE_IDENTITY_KEY_LEN]
        type: u8
      - name: password[100]
        type: char
      - name: password_valid
        type: bool
      - name: pmk[PMK_LEN_MAX]
        type: u8
      - name: pmk_len
        type: size_t
      - name: pmk_valid
        type: bool
      item_type: struct
      name: pr_dev_ik
      pos:
        line_end: 388
        line_start: 380
        source_file: /src/hostap/src/common/proximity_ranging.h
    - fields:
      - name: list
        type: struct dl_list
      - name: last_seen
        type: struct os_reltime
      - name: listen_freq
        type: int
      - name: pr_device_addr[ETH_ALEN]
        type: u8
      - name: pr_caps
        type: struct pr_capabilities
      - name: edca_caps
        type: struct edca_capabilities
      - name: ntb_caps
        type: struct ntb_capabilities
      - name: password[100]
        type: char
      - name: password_valid
        type: bool
      - name: pmk[PMK_LEN_MAX]
        type: u8
      - name: pmk_len
        type: size_t
      - name: pmk_valid
        type: bool
      - name: dik[DEVICE_IDENTITY_KEY_LEN]
        type: u8
      - name: dik_valid
        type: bool
      - name: ranging_role
        type: u8
      - name: protocol_type
        type: u8
      - name: final_op_class
        type: u8
      - name: final_op_channel
        type: u8
      - name: discovery_type
        type: u8
      item_type: struct
      name: pr_device
      pos:
        line_end: 439
        line_start: 393
        source_file: /src/hostap/src/common/proximity_ranging.h
    - fields:
      - name: '*pr_attributes'
        type: struct wpabuf
      - name: pr_device_addr[ETH_ALEN]
        type: u8
      - name: '*pr_capability'
        type: u8
      - name: pr_capability_len
        type: size_t
      - name: '*edca_capability'
        type: u8
      - name: edca_capability_len
        type: size_t
      - name: '*ntb_capability'
        type: u8
      - name: ntb_capability_len
        type: size_t
      - name: '*dira'
        type: u8
      - name: dira_len
        type: size_t
      - name: '*status_ie'
        type: u8
      - name: status_ie_len
        type: size_t
      - name: '*op_mode'
        type: u8
      - name: op_mode_len
        type: size_t
      item_type: struct
      name: pr_message
      pos:
        line_end: 467
        line_start: 445
        source_file: /src/hostap/src/common/proximity_ranging.h
    - fields:
      - name: pasn_type
        type: u8
      - name: preferred_ranging_role
        type: int
      - name: country[3]
        type: char
      - name: dev_addr[ETH_ALEN]
        type: u8
      - name: '*dev_name'
        type: char
      - name: edca_ista_support
        type: bool
      - name: edca_rsta_support
        type: bool
      - name: edca_format_and_bw
        type: u8
      - name: edca_min_ranging_interval
        type: u32
      - name: max_tx_antenna
        type: u8
      - name: max_rx_antenna
        type: u8
      - name: edca_channels
        type: struct pr_channels
      - name: ntb_ista_support
        type: bool
      - name: ntb_rsta_support
        type: bool
      - name: concurrent_ista_rsta
        type: bool
      - name: pmsr_max_peers
        type: u32
      - name: pr_max_peer_ista_role
        type: u32
      - name: pr_max_peer_rsta_role
        type: u32
      - name: max_ftms_per_burst
        type: u8
      - name: secure_he_ltf
        type: bool
      - name: max_tx_ltf_repetations
        type: u8
      - name: max_rx_ltf_repetations
        type: u8
      - name: max_tx_ltf_total
        type: u8
      - name: max_rx_ltf_total
        type: u8
      - name: max_rx_sts_le_80
        type: u8
      - name: max_rx_sts_gt_80
        type: u8
      - name: max_tx_sts_le_80
        type: u8
      - name: max_tx_sts_gt_80
        type: u8
      - name: pd_preamble_bitmap
        type: u32
      - name: pd_format_bw_bitmap
        type: u32
      - name: ntb_format_and_bw
        type: u8
      - name: ntb_min_ranging_interval
        type: u32
      - name: ntb_channels
        type: struct pr_channels
      - name: support_6ghz
        type: bool
      - name: dik_cipher
        type: int
      - name: dik_data[DEVICE_IDENTITY_KEY_LEN]
        type: u8
      - name: dik_len
        type: size_t
      - name: expiration
        type: int
      - name: global_password[100]
        type: char
      - name: global_password_valid
        type: bool
      - name: '*cb_ctx'
        type: void
      - name: "(*pasn_send_mgmt)(void *ctx, const u8 *data, size_t data_len,\n\t\t\t
          \     int noack, unsigned int freq, unsigned int wait)"
        type: int
      - name: "(*negotiation_started)(void *ctx, const u8 *peer_addr, u8 role,\n\t\t\t\t
          \   u8 protocol_type)"
        type: void
      - name: "(*pasn_result)(void *ctx, u8 role, u8 protocol_type, u8 op_class,\n\t\t\t
          \   u8 op_channel, const char *country)"
        type: void
      - name: "(*set_keys)(void *ctx, const u8 *own_addr, const u8 *peer_addr,\n\t\t\tint
          cipher, int akmp, struct wpa_ptk *ptk)"
        type: int
      - name: (*clear_keys)(void *ctx, const u8 *own_addr, const u8 *peer_addr)
        type: void
      - name: "(*get_ranging_params)(void *ctx, const u8 *dev_addr,\n\t\t\t\t   const
          u8 *peer_addr, u8 ranging_role,\n\t\t\t\t   u8 protocol_type, u8 op_class,
          u8 op_channel,\n\t\t\t\t   u8 self_format_bw, u8 peer_format_bw)"
        type: void
      - name: (*device_found)(void *ctx, const struct pr_device *dev)
        type: void
      item_type: struct
      name: pr_config
      pos:
        line_end: 606
        line_start: 470
        source_file: /src/hostap/src/common/proximity_ranging.h
    - fields:
      - name: '*cfg'
        type: struct pr_config
      - name: devices
        type: struct dl_list
      - name: dev_iks
        type: struct dl_list
      - name: '*initiator_pmksa'
        type: struct rsn_pmksa_cache
      - name: '*responder_pmksa'
        type: struct rsn_pmksa_cache
      - name: '*pr_pasn_params'
        type: struct pr_pasn_ranging_params
      - name: ranging_final_received
        type: bool
      item_type: struct
      name: pr_data
      pos:
        line_end: 631
        line_start: 608
        source_file: /src/hostap/src/common/proximity_ranging.h
    - fields:
      - name: cipher_version
        type: int
      - name: nonce[DEVICE_IDENTITY_NONCE_LEN]
        type: u8
      - name: nonce_len
        type: size_t
      - name: tag[DEVICE_IDENTITY_TAG_LEN]
        type: u8
      - name: tag_len
        type: size_t
      item_type: struct
      name: pr_dira
      pos:
        line_end: 645
        line_start: 634
        source_file: /src/hostap/src/common/proximity_ranging.h
    - fields:
      - name: protocol_type
        type: u8
      - name: role
        type: u8
      - name: country[3]
        type: char
      - name: channels
        type: struct pr_channels
      item_type: struct
      name: operation_mode
      pos:
        line_end: 657
        line_start: 647
        source_file: /src/hostap/src/common/proximity_ranging.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/common/eapol_common.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EAPOL_VERSION
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/hostap/src/common/eapol_common.h
      type_or_value: '3'
    - item_type: preproc_def
      name: EAPOL_VERSION
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/hostap/src/common/eapol_common.h
      type_or_value: '2'
    - item_type: preproc_def
      name: IEEE8021X_REPLAY_COUNTER_LEN
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/hostap/src/common/eapol_common.h
      type_or_value: '8'
    - item_type: preproc_def
      name: IEEE8021X_KEY_SIGN_LEN
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/hostap/src/common/eapol_common.h
      type_or_value: '16'
    - item_type: preproc_def
      name: IEEE8021X_KEY_IV_LEN
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/hostap/src/common/eapol_common.h
      type_or_value: '16'
    - item_type: preproc_def
      name: IEEE8021X_KEY_INDEX_FLAG
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/hostap/src/common/eapol_common.h
      type_or_value: '0x80'
    - item_type: preproc_def
      name: IEEE8021X_KEY_INDEX_MASK
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/hostap/src/common/eapol_common.h
      type_or_value: '0x03'
    structs:
    - fields:
      - name: version
        type: u8
      - name: type
        type: u8
      - name: length
        type: be16
      item_type: struct
      name: ieee802_1x_hdr
      pos:
        line_end: 22
        line_start: 17
        source_file: /src/hostap/src/common/eapol_common.h
    - fields:
      - name: dest[ETH_ALEN]
        type: u8
      - name: src[ETH_ALEN]
        type: u8
      - name: ethertype
        type: be16
      item_type: struct
      name: ieee8023_hdr
      pos:
        line_end: 28
        line_start: 24
        source_file: /src/hostap/src/common/eapol_common.h
    - fields:
      - name: type
        type: u8
      - name: key_length[2]
        type: u8
      - name: replay_counter[IEEE8021X_REPLAY_COUNTER_LEN]
        type: u8
      - name: key_iv[IEEE8021X_KEY_IV_LEN]
        type: u8
      - name: key_index
        type: u8
      - name: key_signature[IEEE8021X_KEY_SIGN_LEN]
        type: u8
      item_type: struct
      name: ieee802_1x_eapol_key
      pos:
        line_end: 85
        line_start: 63
        source_file: /src/hostap/src/common/eapol_common.h
    typedefs: []
    union: []
- function_names:
  - NAN_CS_IS_128
  - NAN_CS_IS_256
  - NAN_CS_IS_VALID_NDP
  - NAN_CS_IS_PASN
  source_file: /src/hostap/src/common/nan_defs.h
  types:
    enum:
    - enumerators:
      - name: NAN_SUBTYPE_INVALID
        value: '0'
      - name: NAN_SUBTYPE_RANGING_RESPONSE
        value: '2'
      - name: NAN_SUBTYPE_RANGING_REQUEST
        value: '1'
      - name: NAN_SUBTYPE_RANGING_REPORT
        value: '4'
      - name: NAN_SUBTYPE_RANGING_TERMINATION
        value: '3'
      - name: NAN_SUBTYPE_DATA_PATH_REQUEST
        value: '5'
      - name: NAN_SUBTYPE_DATA_PATH_RESPONSE
        value: '6'
      - name: NAN_SUBTYPE_DATA_PATH_CONFIRM
        value: '7'
      - name: NAN_SUBTYPE_DATA_PATH_KEY_INSTALL
        value: '8'
      - name: NAN_SUBTYPE_DATA_PATH_TERMINATION
        value: '9'
      - name: NAN_SUBTYPE_SCHEDULE_CONFIRM
        value: '12'
      - name: NAN_SUBTYPE_SCHEDULE_RESPONSE
        value: '11'
      - name: NAN_SUBTYPE_SCHEDULE_UPDATE_NOTIF
        value: '13'
      - name: NAN_SUBTYPE_SCHEDULE_REQUEST
        value: '10'
      item_type: enum
      name: nan_subtype
      pos:
        line_end: 28
        line_start: 13
        source_file: /src/hostap/src/common/nan_defs.h
    - enumerators:
      - name: NAN_ATTR_CONN_CAPA
        value: '0x04'
      - name: NAN_ATTR_WLAN_INFRA
        value: '0x05'
      - name: NAN_ATTR_FURTHER_NAN_SD
        value: '0x09'
      - name: NAN_ATTR_CLUSTER_DISCOVERY
        value: '0x0D'
      - name: NAN_ATTR_NDP
        value: '0x10'
      - name: NAN_ATTR_NDL_QOS
        value: '0x15'
      - name: NAN_ATTR_FTM_RANGING_REPORT
        value: '0x1C'
      - name: NAN_ATTR_EXT_IBSS
        value: '0x20'
      - name: NAN_ATTR_SUBSC_SERVICE_ID_LIST
        value: '0x28'
      - name: NAN_ATTR_VENDOR_SPECIFIC
        value: '0xDD'
      - name: NAN_ATTR_MASTER_INDICATION
        value: '0x00'
      - name: NAN_ATTR_SDA
        value: '0x03'
      - name: NAN_ATTR_MESH
        value: '0x08'
      - name: NAN_ATTR_RANGING
        value: '0x0C'
      - name: NAN_ATTR_NDL
        value: '0x14'
      - name: NAN_ATTR_RANGING_SETUP
        value: '0x1B'
      - name: NAN_ATTR_EXT_P2P_OPER
        value: '0x1F'
      - name: NAN_ATTR_SCIA
        value: '0x23'
      - name: NAN_ATTR_PUBLIC_AVAILABILITY
        value: '0x27'
      - name: NAN_ATTR_NIRA
        value: '0x2B'
      - name: NAN_ATTR_TPEA
        value: '0x2E'
      - name: NAN_ATTR_NAN_ATTR_SERVICE_ID_LIST
        value: '0x02'
      - name: NAN_ATTR_IBSS
        value: '0x07'
      - name: NAN_ATTR_DEVICE_CAPABILITY
        value: '0x0F'
      - name: NAN_ATTR_NDC
        value: '0x13'
      - name: NAN_ATTR_COUNTRY_CODE
        value: '0x0B'
      - name: NAN_ATTR_RANGING_INFO
        value: '0x1A'
      - name: NAN_ATTR_EXT_WLAN_INFRA
        value: '0x1E'
      - name: NAN_ATTR_CSIA
        value: '0x22'
      - name: NAN_ATTR_DCEA
        value: '0x2A'
      - name: NAN_ATTR_NPBA
        value: '0x2C'
      - name: NAN_ATTR_CLUSTER
        value: '0x01'
      - name: NAN_ATTR_P2P_OPER
        value: '0x06'
      - name: NAN_ATTR_SDEA
        value: '0x0E'
      - name: NAN_ATTR_NAN_AVAILABILITY
        value: '0x12'
      - name: NAN_ATTR_FURTHER_AVAIL_MAP
        value: '0x0A'
      - name: NAN_ATTR_UNALIGNED_SCHEDULE
        value: '0x17'
      - name: NAN_ATTR_ELEM_CONTAINER
        value: '0x1D'
      - name: NAN_ATTR_EXT_MESH
        value: '0x21'
      - name: NAN_ATTR_SHARED_KEY_DESCR
        value: '0x24'
      - name: NAN_ATTR_NDP_EXT
        value: '0x29'
      - name: NAN_ATTR_S3
        value: '0x2D'
      item_type: enum
      name: nan_attr_id
      pos:
        line_end: 73
        line_start: 30
        source_file: /src/hostap/src/common/nan_defs.h
    - enumerators:
      - name: NAN_REASON_RESERVED
        value: '0'
      - name: NAN_REASON_FTM_PARAMETERS_INCAPABLE
        value: '4'
      - name: NAN_REASON_UNSPECIFIED_REASON
        value: '1'
      - name: NAN_REASON_INVALID_PARAMETERS
        value: '3'
      - name: NAN_REASON_RESOURCE_LIMITATION
        value: '2'
      - name: NAN_REASON_NO_MOVEMENT
        value: '5'
      - name: NAN_REASON_INVALID_AVAILABILITY
        value: '6'
      - name: NAN_REASON_IMMUTABLE_UNACCEPTABLE
        value: '7'
      - name: NAN_REASON_SECURITY_POLICY
        value: '8'
      - name: NAN_REASON_QOS_UNACCEPTABLE
        value: '9'
      - name: NAN_REASON_NDP_REJECTED
        value: '10'
      - name: NAN_REASON_PAIR_BOOTSTRAP_REJECTED
        value: '13'
      - name: NAN_REASON_RANGING_SCHED_NOT_ACCEPT
        value: '12'
      - name: NAN_REASON_NDL_UNACCEPTABLE
        value: '11'
      item_type: enum
      name: nan_reason
      pos:
        line_end: 91
        line_start: 76
        source_file: /src/hostap/src/common/nan_defs.h
    - enumerators:
      - name: NAN_SRV_CTRL_PUBLISH
        value: '0'
      - name: NAN_SRV_CTRL_SUBSCRIBE
        value: '1'
      - name: NAN_SRV_CTRL_FOLLOW_UP
        value: '2'
      item_type: enum
      name: nan_service_control_type
      pos:
        line_end: 107
        line_start: 103
        source_file: /src/hostap/src/common/nan_defs.h
    - enumerators:
      - name: NAN_SRV_PROTO_BONJOUR
        value: '1'
      - name: NAN_SRV_PROTO_CSA_MATTER
        value: '3'
      - name: NAN_SRV_PROTO_GENERIC
        value: '2'
      item_type: enum
      name: nan_service_protocol_type
      pos:
        line_end: 127
        line_start: 123
        source_file: /src/hostap/src/common/nan_defs.h
    - enumerators:
      - name: NAN_PBA_TYPE_ADVERTISE
        value: '0'
      - name: NAN_PBA_TYPE_RESPONSE
        value: '2'
      - name: NAN_PBA_TYPE_REQUEST
        value: '1'
      item_type: enum
      name: nan_pba_type
      pos:
        line_end: 148
        line_start: 144
        source_file: /src/hostap/src/common/nan_defs.h
    - enumerators:
      - name: NAN_PBA_STATUS_ACCEPTED
        value: '0'
      - name: NAN_PBA_STATUS_REJECTED
        value: '1'
      - name: NAN_PBA_STATUS_COMEBACK
        value: '2'
      item_type: enum
      name: nan_pba_status
      pos:
        line_end: 154
        line_start: 150
        source_file: /src/hostap/src/common/nan_defs.h
    - enumerators:
      - name: NAN_PBA_METHOD_OPPORTUNISTIC
        value: BIT(0)
      - name: NAN_PBA_METHOD_PIN_DISPLAY
        value: BIT(1)
      - name: NAN_PBA_METHOD_PASSPHRASE_DISPLAY
        value: BIT(2)
      - name: NAN_PBA_METHOD_QR_DISPLAY
        value: BIT(3)
      - name: NAN_PBA_METHOD_NFC_TAG
        value: BIT(4)
      - name: NAN_PBA_METHOD_PIN_KEYPAD
        value: BIT(5)
      - name: NAN_PBA_METHOD_PASSPHRASE_KEYPAD
        value: BIT(6)
      - name: NAN_PBA_METHOD_QR_SCAN
        value: BIT(7)
      - name: NAN_PBA_METHOD_NFC_READER
        value: BIT(8)
      - name: NAN_PBA_METHOD_SERVICE_MANAGED
        value: BIT(14)
      - name: NAN_PBA_METHOD_HANDSHAKE_SKIPPED
        value: BIT(15)
      item_type: enum
      name: nan_pairing_bootstrapping_method
      pos:
        line_end: 168
        line_start: 156
        source_file: /src/hostap/src/common/nan_defs.h
    - enumerators:
      - name: NAN_NDP_TYPE_REQUEST
        value: '0'
      - name: NAN_NDP_TYPE_TERMINATE
        value: '4'
      - name: NAN_NDP_TYPE_RESPONSE
        value: '1'
      - name: NAN_NDP_TYPE_SECURITY_INSTALL
        value: '3'
      - name: NAN_NDP_TYPE_CONFIRM
        value: '2'
      item_type: enum
      name: nan_ndp_type
      pos:
        line_end: 247
        line_start: 241
        source_file: /src/hostap/src/common/nan_defs.h
    - enumerators:
      - name: NAN_NDP_STATUS_CONTINUED
        value: '0'
      - name: NAN_NDP_STATUS_ACCEPTED
        value: '1'
      - name: NAN_NDP_STATUS_REJECTED
        value: '2'
      item_type: enum
      name: nan_ndp_status
      pos:
        line_end: 254
        line_start: 250
        source_file: /src/hostap/src/common/nan_defs.h
    - enumerators:
      - name: NAN_NDPE_TLV_IPV6_LINK_LOCAL
        value: '0'
      - name: NAN_NDPE_TLV_SRV_INFO
        value: '1'
      item_type: enum
      name: nan_ndpe_tlv_type
      pos:
        line_end: 288
        line_start: 285
        source_file: /src/hostap/src/common/nan_defs.h
    - enumerators:
      - name: NAN_BAND_ENTRY_SUB_1G
        value: '1'
      - name: NAN_BAND_ENTRY_2G
        value: '2'
      - name: NAN_BAND_ENTRY_6G
        value: '7'
      - name: NAN_BAND_ENTRY_5G
        value: '4'
      item_type: enum
      name: nan_band_entry
      pos:
        line_end: 334
        line_start: 329
        source_file: /src/hostap/src/common/nan_defs.h
    - enumerators:
      - name: NAN_NDL_TYPE_REQUEST
        value: '0'
      - name: NAN_NDL_TYPE_RESPONSE
        value: '1'
      - name: NAN_NDL_TYPE_CONFIRM
        value: '2'
      item_type: enum
      name: nan_ndl_type
      pos:
        line_end: 479
        line_start: 475
        source_file: /src/hostap/src/common/nan_defs.h
    - enumerators:
      - name: NAN_NDL_STATUS_CONTINUED
        value: '0'
      - name: NAN_NDL_STATUS_REJECTED
        value: '2'
      - name: NAN_NDL_STATUS_ACCEPTED
        value: '1'
      item_type: enum
      name: nan_ndl_status
      pos:
        line_end: 485
        line_start: 481
        source_file: /src/hostap/src/common/nan_defs.h
    - enumerators:
      - name: NAN_CS_NONE
        value: '0'
      - name: NAN_CS_PK_2WDH_128
        value: '3'
      - name: NAN_CS_SK_GCM_256
        value: '2'
      - name: NAN_CS_PK_2WDH_256
        value: '4'
      - name: NAN_CS_SK_CCM_128
        value: '1'
      - name: NAN_CS_GTK_CCMP_128
        value: '5'
      - name: NAN_CS_GTK_GCMP_256
        value: '6'
      - name: NAN_CS_PK_PASN_128
        value: '7'
      - name: NAN_CS_PK_PASN_256
        value: '8'
      - name: NAN_CS_MAX
      item_type: enum
      name: nan_cipher_suite_id
      pos:
        line_end: 549
        line_start: 537
        source_file: /src/hostap/src/common/nan_defs.h
    - enumerators:
      - name: NAN_SEC_CTX_TYPE_ND_PMKID
        value: '1'
      item_type: enum
      name: nan_sec_ctx_type
      pos:
        line_end: 586
        line_start: 584
        source_file: /src/hostap/src/common/nan_defs.h
    preproc_defs:
    - item_type: preproc_def
      name: NAN_SRV_CTRL_TYPE_MASK
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: (BIT(0) | BIT(1))
    - item_type: preproc_def
      name: NAN_SRV_CTRL_MATCHING_FILTER
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: BIT(2)
    - item_type: preproc_def
      name: NAN_SRV_CTRL_RESP_FILTER
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: BIT(3)
    - item_type: preproc_def
      name: NAN_SRV_CTRL_SRV_INFO
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: BIT(4)
    - item_type: preproc_def
      name: NAN_SRV_CTRL_DISCOVERY_RANGE_LIMITED
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: BIT(5)
    - item_type: preproc_def
      name: NAN_SRV_CTRL_BINDING_BITMAP
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: BIT(6)
    - item_type: preproc_def
      name: NAN_SDEA_CTRL_FSD_REQ
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: NAN_SDEA_CTRL_FSD_GAS
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: NAN_SDEA_CTRL_DATA_PATH_REQ
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: BIT(2)
    - item_type: preproc_def
      name: NAN_SDEA_CTRL_DATA_PATH_TYPE
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: BIT(3)
    - item_type: preproc_def
      name: NAN_SDEA_CTRL_QOS_REQ
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: BIT(5)
    - item_type: preproc_def
      name: NAN_SDEA_CTRL_SECURITY_REQ
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: BIT(6)
    - item_type: preproc_def
      name: NAN_SDEA_CTRL_RANGING_REQ
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: BIT(7)
    - item_type: preproc_def
      name: NAN_SDEA_CTRL_RANGE_LIMIT
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: BIT(8)
    - item_type: preproc_def
      name: NAN_SDEA_CTRL_SRV_UPD_INDIC
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: BIT(9)
    - item_type: preproc_def
      name: NAN_SDEA_CTRL_GTK_REQ
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: BIT(10)
    - item_type: preproc_def
      name: NAN_SRF_CTRL_BF
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: NAN_SRF_CTRL_INCLUDE
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: NAN_SRF_CTRL_BF_IDX_MSK
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: (BIT(0) | BIT(1))
    - item_type: preproc_def
      name: NAN_SRF_CTRL_BF_IDX_POS
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: '2'
    - item_type: preproc_def
      name: NAN_PBA_TYPE_MASK
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: '0xf'
    - item_type: preproc_def
      name: NAN_PBA_STATUS_MASK
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: '0xf'
    - item_type: preproc_def
      name: NAN_PBA_STATUS_POS
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: '4'
    - item_type: preproc_def
      name: NAN_ATTR_HDR_LEN
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: '3'
    - item_type: preproc_def
      name: NAN_SERVICE_ID_LEN
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: '6'
    - item_type: preproc_def
      name: NAN_USD_DEFAULT_FREQ
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: '2437'
    - item_type: preproc_def
      name: NAN_DEV_CAPA_MAP_ID_DONT_APPLY_ALL
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: NAN_DEV_CAPA_MAP_ID_POS
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: NAN_DEV_CAPA_MAP_ID_MASK
      pos:
        line_end: 181
        line_start: 179
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: "(BIT(1) | BIT(2) | BIT(3) \\\n\t\t\t\t\t   BIT(4))"
    - item_type: preproc_def
      name: NAN_DEV_CAPA_SBAND_SUB_1G
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: NAN_DEV_CAPA_SBAND_2G
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: BIT(2)
    - item_type: preproc_def
      name: NAN_DEV_CAPA_SBAND_5G
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: BIT(4)
    - item_type: preproc_def
      name: NAN_DEV_CAPA_SBAND_6G
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: BIT(7)
    - item_type: preproc_def
      name: NAN_CDW_INFO_2G_POS
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: NAN_CDW_INFO_2G_MASK
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: (BIT(0) | BIT(1) | BIT(2))
    - item_type: preproc_def
      name: NAN_CDW_INFO_5G_POS
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: '3'
    - item_type: preproc_def
      name: NAN_CDW_INFO_5G_MASK
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: (BIT(3) | BIT(4) | BIT(5))
    - item_type: preproc_def
      name: NAN_CDW_INFO_2G_OVERRIDE_POS
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: '6'
    - item_type: preproc_def
      name: NAN_CDW_INFO_2G_OVERRIDE_MASK
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: (BIT(6) | BIT(7) | BIT(8) | BIT(9))
    - item_type: preproc_def
      name: NAN_CDW_INFO_5G_OVERRIDE_POS
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: '10'
    - item_type: preproc_def
      name: NAN_CDW_INFO_5G_OVERRIDE_MASK
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: (BIT(10) | BIT(11) | BIT(12) | BIT(13))
    - item_type: preproc_def
      name: NAN_DEV_CAPA_OP_MODE_PHY_MODE
      pos:
        line_end: 201
        line_start: 200
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: (BIT(0) | BIT(4))
    - item_type: preproc_def
      name: NAN_DEV_CAPA_OP_MODE_PHY_MODE_VHT
      pos:
        line_end: 202
        line_start: 201
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: NAN_DEV_CAPA_OP_MODE_HE_VHT_80P80
      pos:
        line_end: 203
        line_start: 202
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: NAN_DEV_CAPA_OP_MODE_HE_VHT_160
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: BIT(2)
    - item_type: preproc_def
      name: NAN_DEV_CAPA_OP_MODE_PHY_MODE_HE
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: BIT(4)
    - item_type: preproc_def
      name: NAN_DEV_CAPA_TX_ANT_POS
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: NAN_DEV_CAPA_TX_ANT_MASK
      pos:
        line_end: 210
        line_start: 209
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: '0x0f'
    - item_type: preproc_def
      name: NAN_DEV_CAPA_RX_ANT_POS
      pos:
        line_end: 211
        line_start: 210
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: '4'
    - item_type: preproc_def
      name: NAN_DEV_CAPA_RX_ANT_MASK
      pos:
        line_end: 212
        line_start: 211
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: '0xf0'
    - item_type: preproc_def
      name: NAN_DEV_CAPA_DFS_MASTER
      pos:
        line_end: 216
        line_start: 215
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: NAN_DEV_CAPA_EXT_KEY_ID
      pos:
        line_end: 217
        line_start: 216
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: NAN_DEV_CAPA_SIM_NDP_RX
      pos:
        line_end: 218
        line_start: 217
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: BIT(2)
    - item_type: preproc_def
      name: NAN_DEV_CAPA_NDPE_ATTR_SUPP
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: BIT(3)
    - item_type: preproc_def
      name: NAN_DEV_CAPA_S3
      pos:
        line_end: 220
        line_start: 219
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: BIT(4)
    - item_type: preproc_def
      name: NAN_NDP_TYPE_POS
      pos:
        line_end: 236
        line_start: 235
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: NAN_NDP_TYPE_MASK
      pos:
        line_end: 237
        line_start: 236
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: (BIT(0) | BIT(1) | BIT(2) | BIT(3))
    - item_type: preproc_def
      name: NAN_NDP_STATUS_POS
      pos:
        line_end: 238
        line_start: 237
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: '4'
    - item_type: preproc_def
      name: NAN_NDP_STATUS_MASK
      pos:
        line_end: 239
        line_start: 238
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: (BIT(4) | BIT(5) | BIT(6) | BIT(7))
    - item_type: preproc_def
      name: NAN_NDP_CTRL_CONFIRM_REQUIRED
      pos:
        line_end: 262
        line_start: 261
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: NAN_NDP_CTRL_SECURITY_PRESENT
      pos:
        line_end: 263
        line_start: 262
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: BIT(2)
    - item_type: preproc_def
      name: NAN_NDP_CTRL_PUBLISH_ID_PRESENT
      pos:
        line_end: 264
        line_start: 263
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: BIT(3)
    - item_type: preproc_def
      name: NAN_NDP_CTRL_RESPONDER_NDI_PRESENT
      pos:
        line_end: 265
        line_start: 264
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: BIT(4)
    - item_type: preproc_def
      name: NAN_NDP_CTRL_SPEC_INFO_PRESENT
      pos:
        line_end: 267
        line_start: 266
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: BIT(5)
    - item_type: preproc_def
      name: NAN_NDPE_CTRL_GTK_REQUIRED
      pos:
        line_end: 268
        line_start: 267
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: BIT(5)
    - item_type: preproc_def
      name: NAN_NDPE_TLV_IPV6_LINK_LOCAL_LEN
      pos:
        line_end: 291
        line_start: 290
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: '8'
    - item_type: preproc_def
      name: NAN_TIME_BM_CTRL_BIT_DURATION_POS
      pos:
        line_end: 295
        line_start: 294
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: NAN_TIME_BM_CTRL_BIT_DURATION_MASK
      pos:
        line_end: 296
        line_start: 295
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: (BIT(0) | BIT(1) | BIT(2))
    - item_type: preproc_def
      name: NAN_TIME_BM_CTRL_BIT_DURATION_16_TU
      pos:
        line_end: 297
        line_start: 296
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: NAN_TIME_BM_CTRL_BIT_DURATION_32_TU
      pos:
        line_end: 298
        line_start: 297
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: NAN_TIME_BM_CTRL_BIT_DURATION_64_TU
      pos:
        line_end: 299
        line_start: 298
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: '2'
    - item_type: preproc_def
      name: NAN_TIME_BM_CTRL_BIT_DURATION_128_TU
      pos:
        line_end: 300
        line_start: 299
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: '3'
    - item_type: preproc_def
      name: NAN_TIME_BM_CTRL_PERIOD_POS
      pos:
        line_end: 302
        line_start: 301
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: '3'
    - item_type: preproc_def
      name: NAN_TIME_BM_CTRL_PERIOD_MASK
      pos:
        line_end: 303
        line_start: 302
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: (BIT(3) | BIT(4) | BIT(5))
    - item_type: preproc_def
      name: NAN_TIME_BM_CTRL_PERIOD_NONE
      pos:
        line_end: 304
        line_start: 303
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: NAN_TIME_BM_CTRL_START_OFFSET_POS
      pos:
        line_end: 306
        line_start: 305
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: '6'
    - item_type: preproc_def
      name: NAN_TIME_BM_CTRL_START_OFFSET_MASK
      pos:
        line_end: 309
        line_start: 306
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: "(BIT(6) | BIT(7) | BIT(8) |  \\\n\t\t\t\t\t    BIT(9) | BIT(10)
        | BIT(11) | \\\n\t\t\t\t\t    BIT(12) | BIT(13) | BIT(14))"
    - item_type: preproc_def
      name: NAN_AVAIL_ENTRY_CTRL_TYPE_COMMITTED
      pos:
        line_end: 313
        line_start: 312
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: NAN_AVAIL_ENTRY_CTRL_TYPE_POTENTIAL
      pos:
        line_end: 314
        line_start: 313
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: NAN_AVAIL_ENTRY_CTRL_TYPE_COND
      pos:
        line_end: 315
        line_start: 314
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: BIT(2)
    - item_type: preproc_def
      name: NAN_AVAIL_ENTRY_CTRL_TYPE_MASK
      pos:
        line_end: 316
        line_start: 315
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: (BIT(0) | BIT(1) | BIT(2))
    - item_type: preproc_def
      name: NAN_AVAIL_ENTRY_CTRL_USAGE_PREF_POS
      pos:
        line_end: 318
        line_start: 317
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: '3'
    - item_type: preproc_def
      name: NAN_AVAIL_ENTRY_CTRL_USAGE_PREF_MASK
      pos:
        line_end: 319
        line_start: 318
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: (BIT(3) | BIT(4))
    - item_type: preproc_def
      name: NAN_AVAIL_ENTRY_CTRL_UTIL_UNKNOWN
      pos:
        line_end: 320
        line_start: 319
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: '7'
    - item_type: preproc_def
      name: NAN_AVAIL_ENTRY_CTRL_UTIL_MAX
      pos:
        line_end: 321
        line_start: 320
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: '5'
    - item_type: preproc_def
      name: NAN_AVAIL_ENTRY_CTRL_UTIL_POS
      pos:
        line_end: 322
        line_start: 321
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: '5'
    - item_type: preproc_def
      name: NAN_AVAIL_ENTRY_CTRL_UTIL_MASK
      pos:
        line_end: 323
        line_start: 322
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: (BIT(5) | BIT(6) | BIT(7))
    - item_type: preproc_def
      name: NAN_AVAIL_ENTRY_CTRL_RX_NSS_POS
      pos:
        line_end: 324
        line_start: 323
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: '8'
    - item_type: preproc_def
      name: NAN_AVAIL_ENTRY_CTRL_RX_NSS_MASK
      pos:
        line_end: 326
        line_start: 324
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: "(BIT(8) | BIT(9) | BIT(10) | \\\n\t\t\t\t\t       BIT(11))"
    - item_type: preproc_def
      name: NAN_AVAIL_ENTRY_CTRL_TBM_PRESENT
      pos:
        line_end: 327
        line_start: 326
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: BIT(12)
    - item_type: preproc_def
      name: NAN_CHAN_ENTRY_MIN_LEN
      pos:
        line_end: 352
        line_start: 351
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: '4'
    - item_type: preproc_def
      name: NAN_CHAN_ENTRY_80P80_LEN
      pos:
        line_end: 353
        line_start: 352
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: '6'
    - item_type: preproc_def
      name: NAN_BAND_CHAN_CTRL_TYPE
      pos:
        line_end: 357
        line_start: 356
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: NAN_BAND_CHAN_CTRL_NON_CONT_BW
      pos:
        line_end: 358
        line_start: 357
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: NAN_BAND_CHAN_CTRL_NUM_ENTRIES_POS
      pos:
        line_end: 359
        line_start: 358
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: '4'
    - item_type: preproc_def
      name: NAN_BAND_CHAN_CTRL_NUM_ENTRIES_MASK
      pos:
        line_end: 360
        line_start: 359
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: (BIT(4) | BIT(5) | BIT(6) | BIT(7))
    - item_type: preproc_def
      name: MIN_AVAIL_ENTRY_LEN
      pos:
        line_end: 380
        line_start: 379
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: '2'
    - item_type: preproc_def
      name: NAN_AVAIL_CTRL_MAP_ID_POS
      pos:
        line_end: 392
        line_start: 391
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: NAN_AVAIL_CTRL_MAP_ID_MASK
      pos:
        line_end: 393
        line_start: 392
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: '0xf'
    - item_type: preproc_def
      name: NAN_AVAIL_CTRL_COMMITTED_CHANGED
      pos:
        line_end: 394
        line_start: 393
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: BIT(4)
    - item_type: preproc_def
      name: NAN_AVAIL_CTRL_POTENTIAL_CHANGED
      pos:
        line_end: 395
        line_start: 394
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: BIT(5)
    - item_type: preproc_def
      name: NAN_AVAIL_CTRL_PUB_AVAIL_ATTR_CHANGED
      pos:
        line_end: 396
        line_start: 395
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: BIT(6)
    - item_type: preproc_def
      name: NAN_AVAIL_CTRL_NDC_ATTR_CHANGED
      pos:
        line_end: 397
        line_start: 396
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: BIT(7)
    - item_type: preproc_def
      name: NAN_UNALIGNED_SCHED_CTRL_SCHED_ID_MASK
      pos:
        line_end: 413
        line_start: 411
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: "(BIT(0) | BIT(1) | BIT(2) | \\\n\t\t\t\t\t\tBIT(3))"
    - item_type: preproc_def
      name: NAN_ULW_OVERWRITE_ALL
      pos:
        line_end: 416
        line_start: 415
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: NAN_ULW_OVERWRITE_MAP_ID_POS
      pos:
        line_end: 417
        line_start: 416
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: NAN_ULW_OVERWRITE_MAP_ID_MASK
      pos:
        line_end: 418
        line_start: 417
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: (BIT(1) | BIT(2) | BIT(3) | BIT(4))
    - item_type: preproc_def
      name: NAN_ULW_CTRL_TYPE_POS
      pos:
        line_end: 421
        line_start: 420
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: NAN_ULW_CTRL_TYPE_MASK
      pos:
        line_end: 422
        line_start: 421
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: (BIT(0) | BIT(1))
    - item_type: preproc_def
      name: NAN_ULW_CTRL_TYPE_BAND_ID
      pos:
        line_end: 423
        line_start: 422
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: NAN_ULW_CTRL_TYPE_CHAN_ENTRY
      pos:
        line_end: 424
        line_start: 423
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: NAN_ULW_CTRL_TYPE_CHAN_ENTRY_WITH_AUX
      pos:
        line_end: 425
        line_start: 424
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: '2'
    - item_type: preproc_def
      name: NAN_ULW_CTRL_CHAN_AVAIL
      pos:
        line_end: 426
        line_start: 425
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: BIT(2)
    - item_type: preproc_def
      name: NAN_ULW_CTRL_RX_NSS_POS
      pos:
        line_end: 427
        line_start: 426
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: '3'
    - item_type: preproc_def
      name: NAN_ULW_CTRL_RX_NSS_MASK
      pos:
        line_end: 428
        line_start: 427
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: (BIT(3) | BIT(4) | BIT(5) | BIT(6))
    - item_type: preproc_def
      name: NAN_SCHED_ENTRY_MAP_MASK
      pos:
        line_end: 447
        line_start: 446
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: (BIT(0) | BIT(1) | BIT(2) | BIT(3))
    - item_type: preproc_def
      name: NAN_NDC_CTRL_SELECTED
      pos:
        line_end: 460
        line_start: 459
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: NAN_NDL_TYPE_POS
      pos:
        line_end: 471
        line_start: 470
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: NAN_NDL_TYPE_MASK
      pos:
        line_end: 472
        line_start: 471
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: (BIT(0) | BIT(1) | BIT(2) | BIT(3))
    - item_type: preproc_def
      name: NAN_NDL_STATUS_POS
      pos:
        line_end: 473
        line_start: 472
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: '4'
    - item_type: preproc_def
      name: NAN_NDL_STATUS_MASK
      pos:
        line_end: 474
        line_start: 473
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: (BIT(4) | BIT(5) | BIT(6) | BIT(7))
    - item_type: preproc_def
      name: NAN_NDL_CTRL_PEER_ID_PRESENT
      pos:
        line_end: 489
        line_start: 488
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: NAN_NDL_CTRL_IMMUT_SCHED_PRESENT
      pos:
        line_end: 490
        line_start: 489
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: NAN_NDL_CTRL_NDC_ATTR_PRESENT
      pos:
        line_end: 491
        line_start: 490
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: BIT(2)
    - item_type: preproc_def
      name: NAN_NDL_CTRL_NDL_QOS_ATTR_PRESENT
      pos:
        line_end: 492
        line_start: 491
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: BIT(3)
    - item_type: preproc_def
      name: NAN_NDL_CTRL_MAX_IDLE_PERIOD_PRESENT
      pos:
        line_end: 493
        line_start: 492
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: BIT(4)
    - item_type: preproc_def
      name: NAN_NDL_CTRL_NDL_TYPE
      pos:
        line_end: 494
        line_start: 493
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: BIT(5)
    - item_type: preproc_def
      name: NAN_NDL_CTRL_NDL_SETUP_REASON_POS
      pos:
        line_end: 495
        line_start: 494
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: '6'
    - item_type: preproc_def
      name: NAN_NDL_CTRL_NDL_SETUP_REASON_MASK
      pos:
        line_end: 496
        line_start: 495
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: (BIT(6) | BIT(7))
    - item_type: preproc_def
      name: NAN_NDL_CTRL_NDL_SETUP_REASON_NDP
      pos:
        line_end: 498
        line_start: 497
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: '0x0'
    - item_type: preproc_def
      name: NAN_NDL_CTRL_NDL_SETUP_REASON_FSD_GAS
      pos:
        line_end: 499
        line_start: 498
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: '0x1'
    - item_type: preproc_def
      name: NAN_ELEMENT_CONTAINER_MAP_ID_VALID_POS
      pos:
        line_end: 513
        line_start: 512
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: NAN_ELEMENT_CONTAINER_MAP_ID_VALID_MASK
      pos:
        line_end: 514
        line_start: 513
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: NAN_ELEMENT_CONTAINER_MAP_ID_POS
      pos:
        line_end: 515
        line_start: 514
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: NAN_ELEMENT_CONTAINER_MAP_ID_MASK
      pos:
        line_end: 517
        line_start: 515
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: "(BIT(1) | BIT(2) | BIT(3) |\\\n\t\t\t\t\t\t BIT(4))"
    - item_type: preproc_def
      name: NAN_QOS_MIN_SLOTS_NO_PREF
      pos:
        line_end: 530
        line_start: 529
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: NAN_QOS_MAX_LATENCY_NO_PREF
      pos:
        line_end: 531
        line_start: 530
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: '0xffff'
    - item_type: preproc_def
      name: NAN_AUTH_TOKEN_LEN
      pos:
        line_end: 533
        line_start: 532
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: '16'
    - item_type: preproc_def
      name: NAN_KEY_MIC_LEN
      pos:
        line_end: 534
        line_start: 533
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: '16'
    - item_type: preproc_def
      name: NAN_KEY_MIC_24_LEN
      pos:
        line_end: 535
        line_start: 534
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: '24'
    - item_type: preproc_def
      name: NAN_CS_INFO_CAPA_16_ND_TKSA_REPLAY_COUNTERS
      pos:
        line_end: 569
        line_start: 568
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: NAN_CS_INFO_CAPA_GTK_SUPP_POS
      pos:
        line_end: 570
        line_start: 569
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: NAN_CS_INFO_CAPA_GTK_SUPP_MASK
      pos:
        line_end: 571
        line_start: 570
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: (BIT(1) | BIT(2))
    - item_type: preproc_def
      name: NAN_CS_INFO_CAPA_GTK_SUPP_NONE
      pos:
        line_end: 572
        line_start: 571
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: NAN_CS_INFO_CAPA_GTK_SUPP_NO_BIGTK
      pos:
        line_end: 573
        line_start: 572
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: NAN_CS_INFO_CAPA_GTK_SUPP_ALL
      pos:
        line_end: 574
        line_start: 573
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: '2'
    - item_type: preproc_def
      name: NAN_CS_INFO_CAPA_16_REPLAY_COUNTERS
      pos:
        line_end: 575
        line_start: 574
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: BIT(3)
    - item_type: preproc_def
      name: NAN_CS_INFO_CAPA_IGTK_USE_NCS_BIP_GMAC_256
      pos:
        line_end: 576
        line_start: 575
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: BIT(4)
    - item_type: preproc_def
      name: NAN_KEY_DESC
      pos:
        line_end: 597
        line_start: 596
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: '2'
    - item_type: preproc_def
      name: NAN_DEV_CAPA_EXT_INFO_0_REG_VALID
      pos:
        line_end: 612
        line_start: 611
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: NAN_DEV_CAPA_EXT_INFO_0_AP_TYPE_POS
      pos:
        line_end: 613
        line_start: 612
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: NAN_DEV_CAPA_EXT_INFO_0_AP_TYPE_MASK
      pos:
        line_end: 614
        line_start: 613
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: (BIT(1) | BIT(2) | BIT(3))
    - item_type: preproc_def
      name: NAN_DEV_CAPA_EXT_INFO_INDOOR_AP
      pos:
        line_end: 615
        line_start: 614
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: NAN_DEV_CAPA_EXT_INFO_SP_AP
      pos:
        line_end: 616
        line_start: 615
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: NAN_DEV_CAPA_EXT_INFO_VLP_AP
      pos:
        line_end: 617
        line_start: 616
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: '2'
    - item_type: preproc_def
      name: NAN_DEV_CAPA_EXT_INFO_INDOOR_ENABLED_AP
      pos:
        line_end: 618
        line_start: 617
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: '3'
    - item_type: preproc_def
      name: NAN_DEV_CAPA_EXT_INFO_INDOOR_SP_AP
      pos:
        line_end: 619
        line_start: 618
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: '4'
    - item_type: preproc_def
      name: NAN_DEV_CAPA_EXT_INFO_1_PAIRING_SETUP
      pos:
        line_end: 621
        line_start: 620
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: NAN_DEV_CAPA_EXT_INFO_1_NPK_NIK_CACHING
      pos:
        line_end: 622
        line_start: 621
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: NAN_NIRA_NONCE_LEN
      pos:
        line_end: 626
        line_start: 625
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: '8'
    - item_type: preproc_def
      name: NAN_NIRA_TAG_LEN
      pos:
        line_end: 627
        line_start: 626
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: '8'
    - item_type: preproc_def
      name: NAN_NIRA_STR
      pos:
        line_end: 628
        line_start: 627
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: '"NIR"'
    - item_type: preproc_def
      name: NAN_NIRA_STR_LEN
      pos:
        line_end: 629
        line_start: 628
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: '3'
    - item_type: preproc_def
      name: NAN_NIRA_CIPHER_VER_128
      pos:
        line_end: 630
        line_start: 629
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: NAN_NIK_LEN
      pos:
        line_end: 631
        line_start: 630
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: '16'
    - item_type: preproc_def
      name: NAN_PASN_SSID
      pos:
        line_end: 633
        line_start: 632
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: '"516F9A010000"'
    - item_type: preproc_def
      name: NAN_KEY_DATA_NIK
      pos:
        line_end: 636
        line_start: 635
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: RSN_SELECTOR(0x50, 0x6f, 0x9a, 36)
    - item_type: preproc_def
      name: NAN_KEY_DATA_LIFETIME
      pos:
        line_end: 637
        line_start: 636
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: RSN_SELECTOR(0x50, 0x6f, 0x9a, 37)
    - item_type: preproc_def
      name: NAN_KEY_LIFETIME_GTK
      pos:
        line_end: 650
        line_start: 649
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: NAN_KEY_LIFETIME_IGTK
      pos:
        line_end: 651
        line_start: 650
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: NAN_KEY_LIFETIME_BIGTK
      pos:
        line_end: 652
        line_start: 651
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: BIT(2)
    - item_type: preproc_def
      name: NAN_KEY_LIFETIME_NIK
      pos:
        line_end: 653
        line_start: 652
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: BIT(3)
    - item_type: preproc_def
      name: NAN_KEY_LIFETIME_ND_TK
      pos:
        line_end: 654
        line_start: 653
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: BIT(4)
    - item_type: preproc_def
      name: NAN_KEY_LIFETIME_NM_TK
      pos:
        line_end: 655
        line_start: 654
        source_file: /src/hostap/src/common/nan_defs.h
      type_or_value: BIT(5)
    structs:
    - fields:
      - name: map_id
        type: u8
      - name: cdw_info
        type: le16
      - name: supported_bands
        type: u8
      - name: op_mode
        type: u8
      - name: ant
        type: u8
      - name: channel_switch_time
        type: le16
      - name: capa
        type: u8
      item_type: struct
      name: nan_device_capa
      pos:
        line_end: 231
        line_start: 223
        source_file: /src/hostap/src/common/nan_defs.h
    - fields:
      - name: dialog_token
        type: u8
      - name: type_and_status
        type: u8
      - name: reason_code
        type: u8
      - name: initiator_ndi[ETH_ALEN]
        type: u8
      - name: ndp_id
        type: u8
      - name: ndp_ctrl
        type: u8
      - name: optional[0]
        type: u8
      item_type: struct
      name: ieee80211_ndp
      pos:
        line_end: 282
        line_start: 272
        source_file: /src/hostap/src/common/nan_defs.h
    - fields:
      - name: op_class
        type: u8
      - name: chan_bitmap
        type: le16
      - name: pri_chan_bitmap
        type: u8
      - name: aux_chan_bitmap
        type: le16
      item_type: struct
      name: nan_chan_entry
      pos:
        line_end: 347
        line_start: 338
        source_file: /src/hostap/src/common/nan_defs.h
    - fields:
      - name: ctrl
        type: u8
      - name: entries[0]
        type: u8
      item_type: struct
      name: nan_band_chan_list
      pos:
        line_end: 364
        line_start: 361
        source_file: /src/hostap/src/common/nan_defs.h
    - fields:
      - name: len
        type: le16
      - name: ctrl
        type: le16
      - name: optional[0]
        type: u8
      item_type: struct
      name: nan_avail_ent
      pos:
        line_end: 377
        line_start: 369
        source_file: /src/hostap/src/common/nan_defs.h
    - fields:
      - name: ctrl
        type: le16
      - name: len
        type: u8
      - name: bitmap[0]
        type: u8
      item_type: struct
      name: nan_tbm
      pos:
        line_end: 387
        line_start: 383
        source_file: /src/hostap/src/common/nan_defs.h
    - fields:
      - name: seq_id
        type: u8
      - name: ctrl
        type: le16
      - name: optional[0]
        type: u8
      item_type: struct
      name: nan_avail
      pos:
        line_end: 406
        line_start: 400
        source_file: /src/hostap/src/common/nan_defs.h
    - fields:
      - name: sched_id
        type: u8
      - name: seq_id
        type: u8
      - name: start_time
        type: le32
      - name: duration
        type: le32
      - name: period
        type: le32
      - name: count_down
        type: u8
      - name: ulw_overwrite
        type: u8
      - name: optional[0]
        type: u8
      item_type: struct
      name: nan_unaligned_sched
      pos:
        line_end: 444
        line_start: 432
        source_file: /src/hostap/src/common/nan_defs.h
    - fields:
      - name: map_id
        type: u8
      - name: control
        type: le16
      - name: len
        type: u8
      - name: bm[0]
        type: u8
      item_type: struct
      name: nan_sched_entry
      pos:
        line_end: 455
        line_start: 450
        source_file: /src/hostap/src/common/nan_defs.h
    - fields:
      - name: ndc_id[ETH_ALEN]
        type: u8
      - name: ctrl
        type: u8
      - name: sched_entries[0]
        type: u8
      item_type: struct
      name: ieee80211_ndc
      pos:
        line_end: 467
        line_start: 463
        source_file: /src/hostap/src/common/nan_defs.h
    - fields:
      - name: dialog_token
        type: u8
      - name: type_and_status
        type: u8
      - name: reason_code
        type: u8
      - name: ctrl
        type: u8
      - name: optional[0]
        type: u8
      item_type: struct
      name: ieee80211_ndl
      pos:
        line_end: 509
        line_start: 501
        source_file: /src/hostap/src/common/nan_defs.h
    - fields:
      - name: map_id
        type: u8
      - name: variable[0]
        type: u8
      item_type: struct
      name: ieee80211_elemc
      pos:
        line_end: 521
        line_start: 518
        source_file: /src/hostap/src/common/nan_defs.h
    - fields:
      - name: min_slots
        type: u8
      - name: max_latency
        type: le16
      item_type: struct
      name: ieee80211_nan_qos
      pos:
        line_end: 527
        line_start: 524
        source_file: /src/hostap/src/common/nan_defs.h
    - fields:
      - name: csid
        type: u8
      - name: instance_id
        type: u8
      item_type: struct
      name: nan_cipher_suite
      pos:
        line_end: 564
        line_start: 561
        source_file: /src/hostap/src/common/nan_defs.h
    - fields:
      - name: capab
        type: u8
      - name: cs[0]
        type: u8
      item_type: struct
      name: nan_cipher_suite_info
      pos:
        line_end: 580
        line_start: 577
        source_file: /src/hostap/src/common/nan_defs.h
    - fields:
      - name: len
        type: le16
      - name: scid
        type: u8
      - name: instance_id
        type: u8
      - name: ctxt[0]
        type: u8
      item_type: struct
      name: nan_sec_ctxt
      pos:
        line_end: 593
        line_start: 588
        source_file: /src/hostap/src/common/nan_defs.h
    - fields:
      - name: publish_id
        type: u8
      - name: key[0]
        type: u8
      item_type: struct
      name: nan_shared_key
      pos:
        line_end: 608
        line_start: 600
        source_file: /src/hostap/src/common/nan_defs.h
    - fields:
      - name: cipher_ver
        type: u8
      - name: nik[NAN_NIK_LEN]
        type: u8
      item_type: struct
      name: nan_nik_kde
      pos:
        line_end: 646
        line_start: 643
        source_file: /src/hostap/src/common/nan_defs.h
    - fields:
      - name: key_bitmap
        type: le16
      - name: lifetime_sec
        type: be32
      item_type: struct
      name: nan_key_lifetime_kde
      pos:
        line_end: 660
        line_start: 657
        source_file: /src/hostap/src/common/nan_defs.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/common/ctrl_iface_common.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: WPA_EVENT_RX_PROBE_REQUEST
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/hostap/src/common/ctrl_iface_common.h
      type_or_value: BIT(0)
    structs:
    - fields:
      - name: list
        type: struct dl_list
      - name: addr
        type: struct sockaddr_storage
      - name: addrlen
        type: socklen_t
      - name: debug_level
        type: int
      - name: errors
        type: int
      - name: events
        type: u32
      item_type: struct
      name: wpa_ctrl_dst
      pos:
        line_end: 29
        line_start: 22
        source_file: /src/hostap/src/common/ctrl_iface_common.h
    typedefs: []
    union: []
- function_names:
  - valid_country_ch
  - pr_device_free
  - pr_get_device
  - pr_create_device
  - pr_init
  - pr_deinit_dev_iks
  - pr_flush
  - pr_deinit
  - pr_set_dev_addr
  - pr_clear_dev_iks
  - pr_add_dev_ik
  - pr_set_peer_credentials
  - pr_encaps_elem
  - pr_get_ranging_capabilities
  - pr_get_edca_capabilities
  - pr_get_ntb_capabilities
  - pr_derive_dira
  - pr_validate_dira
  - pr_copy_channels
  - pr_op_class_intersect
  - pr_channels_intersect
  - pr_buf_add_channel_list
  - pr_buf_add_ranging_capa_info
  - pr_buf_add_edca_capa_info
  - pr_buf_add_ntb_capa_info
  - pr_buf_add_dira
  - pr_prepare_usd_elems
  - pr_parse_attribute
  - pr_parse_proximity_ranging_element
  - pr_parse_free
  - pr_parse_elements
  - pr_process_channels
  - pr_process_ranging_capabilities
  - pr_process_edca_capabilities
  - pr_process_ntb_capabilities
  - pr_process_usd_elems
  - pr_ensure_oob_peer
  - pr_eq_ranging_capa_params
  - pr_eq_edca_params
  - pr_eq_ntb_params
  - pr_buf_add_operation_mode
  - pr_buf_add_ranging_neg_status
  - pr_process_op_mode
  - pr_choose_best_channel
  - pr_pasn_get_best_op_mode
  - pr_pasn_get_final_op_mode
  - pr_prepare_pasn_pr_elem
  - pr_pasn_generate_rsnxe
  - pr_pasn_set_password
  - pr_pasn_initialize
  - pr_validate_pasn_request
  - pr_initiate_pasn_auth
  - pr_pasn_auth_tx_status
  - pr_pasn_auth_retransmit
  - pr_process_pasn_ranging_wrapper
  - pr_process_pasn_ranging_wrapper_result
  - pr_pasn_handle_auth_1
  - pr_pasn_handle_auth_2
  - pr_pasn_handle_auth_3
  - pr_pasn_auth_rx
  source_file: /src/hostap/src/common/proximity_ranging.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PR_PASN_SSID
      pos:
        line_end: 1759
        line_start: 1758
        source_file: /src/hostap/src/common/proximity_ranging.c
      type_or_value: '"516F9A010000"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - BIT
  source_file: /src/hostap/src/common/qca-vendor.h
  types:
    enum:
    - enumerators:
      - name: QCA_RADIOTAP_VID_WLANTEST
        value: '0'
      item_type: enum
      name: qca_radiotap_vendor_ids
      pos:
        line_end: 31
        line_start: 29
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_NL80211_VENDOR_SUBCMD_LL_STATS_RADIO_RESULTS
        value: '17'
      - name: QCA_NL80211_VENDOR_SUBCMD_GSCAN_RESET_SIGNIFICANT_CHANGE
        value: '33'
      - name: QCA_NL80211_VENDOR_SUBCMD_KEY_MGMT_ROAM_AUTH
        value: '51'
      - name: QCA_NL80211_VENDOR_SUBCMD_WIFI_LOGGER_MEMORY_DUMP
        value: '63'
      - name: QCA_NL80211_VENDOR_SUBCMD_SET_PROBABLE_OPER_CHANNEL
        value: '104'
      - name: QCA_NL80211_VENDOR_SUBCMD_LOC_GET_CAPA
        value: '128'
      - name: QCA_NL80211_VENDOR_SUBCMD_DMG_RF_GET_SECTOR_CFG
        value: '139'
      - name: QCA_NL80211_VENDOR_SUBCMD_PEER_CFR_CAPTURE_CFG
        value: '173'
      - name: QCA_NL80211_VENDOR_SUBCMD_GET_SUPPORTED_AKMS
        value: '176'
      - name: QCA_NL80211_VENDOR_SUBCMD_GETBAND
        value: '192'
      - name: QCA_NL80211_VENDOR_SUBCMD_SCS_RULE_CONFIG
        value: '218'
      - name: QCA_NL80211_VENDOR_SUBCMD_TID_TO_LINK_MAP
        value: '229'
      - name: QCA_NL80211_VENDOR_SUBCMD_P2P_SET_NOA
        value: '261'
      - name: QCA_NL80211_VENDOR_SUBCMD_OEM_DATA
        value: '182'
      - name: QCA_NL80211_VENDOR_SUBCMD_FLOW_STATS
        value: '245'
      - name: QCA_NL80211_VENDOR_SUBCMD_AVOID_FREQUENCY_EXT
        value: '183'
      - name: QCA_NL80211_VENDOR_SUBCMD_PNO_SET_PASSPOINT_LIST
        value: '70'
      - name: QCA_NL80211_VENDOR_SUBCMD_AVOID_FREQUENCY
        value: '10'
      - name: QCA_NL80211_VENDOR_SUBCMD_GSCAN_GET_CACHED_RESULTS
        value: '24'
      - name: QCA_NL80211_VENDOR_SUBCMD_NO_DFS_FLAG
        value: '40'
      - name: QCA_NL80211_VENDOR_SUBCMD_OCB_STOP_TIMING_ADVERT
        value: '95'
      - name: QCA_NL80211_VENDOR_SUBCMD_OFFLOADED_PACKETS
        value: '79'
      - name: QCA_NL80211_VENDOR_SUBCMD_FTM_ABORT_SESSION
        value: '130'
      - name: QCA_NL80211_VENDOR_SUBCMD_DMG_RF_GET_SELECTED_SECTOR
        value: '141'
      - name: QCA_NL80211_VENDOR_SUBCMD_SPECTRAL_SCAN_STOP
        value: '155'
      - name: QCA_NL80211_VENDOR_SUBCMD_SET_QDEPTH_THRESH
        value: '166'
      - name: QCA_NL80211_VENDOR_SUBCMD_GET_COEX_STATS
        value: '267'
      - name: QCA_NL80211_VENDOR_SUBCMD_USD
        value: '249'
      - name: QCA_NL80211_VENDOR_SUBCMD_TX_LATENCY
        value: '233'
      - name: QCA_NL80211_VENDOR_SUBCMD_IPA_RING_STATS
        value: '272'
      - name: QCA_NL80211_VENDOR_SUBCMD_GSCAN_SET_SSID_HOTLIST
        value: '65'
      - name: QCA_NL80211_VENDOR_SUBCMD_LL_STATS_PEERS_RESULTS
        value: '19'
      - name: QCA_NL80211_VENDOR_SUBCMD_TDLS_DISABLE
        value: '35'
      - name: QCA_NL80211_VENDOR_SUBCMD_DO_ACS
        value: '54'
      - name: QCA_NL80211_VENDOR_SUBCMD_GET_LOGGER_FEATURE_SET
        value: '76'
      - name: QCA_NL80211_VENDOR_SUBCMD_TRIGGER_SCAN
        value: '106'
      - name: QCA_NL80211_VENDOR_SUBCMD_NUD_STATS_GET
        value: '150'
      - name: QCA_NL80211_VENDOR_SUBCMD_THROUGHPUT_CHANGE_EVENT
        value: '174'
      - name: QCA_NL80211_VENDOR_SUBCMD_PEER_STATS_CACHE_FLUSH
        value: '178'
      - name: QCA_NL80211_VENDOR_SUBCMD_UPDATE_SSID
        value: '194'
      - name: QCA_NL80211_VENDOR_SUBCMD_COAP_OFFLOAD
        value: '217'
      - name: QCA_NL80211_VENDOR_SUBCMD_CONCURRENT_POLICY
        value: '197'
      - name: QCA_NL80211_VENDOR_SUBCMD_DAR
        value: '265'
      - name: QCA_NL80211_VENDOR_SUBCMD_HW_BLOCKED_CHANS
        value: '280'
      - name: QCA_NL80211_VENDOR_SUBCMD_CLASSIFIED_FLOW_REPORT
        value: '248'
      - name: QCA_NL80211_VENDOR_SUBCMD_NDP
        value: '81'
      - name: QCA_NL80211_VENDOR_SUBCMD_GET_CONCURRENCY_MATRIX
        value: '42'
      - name: QCA_NL80211_VENDOR_SUBCMD_DFS_OFFLOAD_CAC_STARTED
        value: '56'
      - name: QCA_NL80211_VENDOR_SUBCMD_NAN
        value: '12'
      - name: QCA_NL80211_VENDOR_SUBCMD_GSCAN_FULL_SCAN_RESULT
        value: '26'
      - name: QCA_NL80211_VENDOR_SUBCMD_PNO_NETWORK_FOUND
        value: '72'
      - name: QCA_NL80211_VENDOR_SUBCMD_DCC_GET_STATS
        value: '97'
      - name: QCA_NL80211_VENDOR_SUBCMD_FTM_SESSION_DONE
        value: '132'
      - name: QCA_NL80211_VENDOR_SUBCMD_CONFIGURE_TDLS
        value: '143'
      - name: QCA_NL80211_VENDOR_SUBCMD_HANG
        value: '157'
      - name: QCA_NL80211_VENDOR_SUBCMD_GET_MONITOR_MODE
        value: '225'
      - name: QCA_NL80211_VENDOR_SUBCMD_LINK_RECONFIG
        value: '230'
      - name: QCA_NL80211_VENDOR_SUBCMD_ADJUST_TX_POWER
        value: '241'
      - name: QCA_NL80211_VENDOR_SUBCMD_DRIVER_DISCONNECT_REASON
        value: '189'
      - name: QCA_NL80211_VENDOR_SUBCMD_SR
        value: '220'
      - name: QCA_NL80211_VENDOR_SUBCMD_PERIODIC_PROBE_RSP_CFG
        value: '257'
      - name: QCA_NL80211_VENDOR_SUBCMD_ADD_STA_NODE
        value: '184'
      - name: QCA_NL80211_VENDOR_SUBCMD_SDWF_DEV_OPS
        value: '236'
      - name: QCA_NL80211_VENDOR_SUBCMD_STATS_EXT
        value: '13'
      - name: QCA_NL80211_VENDOR_SUBCMD_GSCAN_SET_BSSID_HOTLIST
        value: '29'
      - name: QCA_NL80211_VENDOR_SUBCMD_DFS_OFFLOAD_CAC_NOP_FINISHED
        value: '59'
      - name: QCA_NL80211_VENDOR_SUBCMD_GET_BUS_SIZE
        value: '84'
      - name: QCA_NL80211_VENDOR_SUBCMD_DCC_STATS_EVENT
        value: '100'
      - name: QCA_NL80211_VENDOR_SUBCMD_ACS_POLICY
        value: '116'
      - name: QCA_NL80211_VENDOR_SUBCMD_SAP_CONDITIONAL_CHAN_SWITCH
        value: '124'
      - name: QCA_NL80211_VENDOR_SUBCMD_AOA_ABORT_MEAS
        value: '135'
      - name: QCA_NL80211_VENDOR_SUBCMD_SET_SAR_LIMITS
        value: '146'
      - name: QCA_NL80211_VENDOR_SUBCMD_SPECTRAL_SCAN_GET_CAP_INFO
        value: '160'
      - name: QCA_NL80211_VENDOR_SUBCMD_GET_RADAR_HISTORY
        value: '199'
      - name: QCA_NL80211_VENDOR_SUBCMD_SET_P2P_MODE
        value: '251'
      - name: QCA_NL80211_VENDOR_SUBCMD_GSCAN_START
        value: '20'
      - name: QCA_NL80211_VENDOR_SUBCMD_TDLS_GET_STATUS
        value: '36'
      - name: QCA_NL80211_VENDOR_SUBCMD_GET_RING_DATA
        value: '77'
      - name: QCA_NL80211_VENDOR_SUBCMD_GSCAN_RESET_SSID_HOTLIST
        value: '66'
      - name: QCA_NL80211_VENDOR_SUBCMD_SCAN_DONE
        value: '107'
      - name: QCA_NL80211_VENDOR_SUBCMD_TSF
        value: '119'
      - name: QCA_NL80211_VENDOR_SUBCMD_FETCH_BSS_TRANSITION_STATUS
        value: '151'
      - name: QCA_NL80211_VENDOR_SUBCMD_MPTA_HELPER_CONFIG
        value: '179'
      - name: QCA_NL80211_VENDOR_SUBCMD_WIFI_FW_STATS
        value: '195'
      - name: QCA_NL80211_VENDOR_SUBCMD_AFC_RESPONSE
        value: '223'
      - name: QCA_NL80211_VENDOR_SUBCMD_CONNECT_EXT
        value: '250'
      - name: QCA_NL80211_VENDOR_SUBCMD_SDWF_PHY_OPS
        value: '235'
      - name: QCA_NL80211_VENDOR_SUBCMD_DRIVER_READY
        value: '214'
      - name: QCA_NL80211_VENDOR_SUBCMD_USABLE_CHANNELS
        value: '198'
      - name: QCA_NL80211_VENDOR_SUBCMD_LL_STATS_GET
        value: '15'
      - name: QCA_NL80211_VENDOR_SUBCMD_GSCAN_SIGNIFICANT_CHANGE
        value: '31'
      - name: QCA_NL80211_VENDOR_SUBCMD_DATA_OFFLOAD
        value: '91'
      - name: QCA_NL80211_VENDOR_SUBCMD_GET_WIFI_INFO
        value: '61'
      - name: QCA_NL80211_VENDOR_SUBCMD_GW_PARAM_CONFIG
        value: '102'
      - name: QCA_NL80211_VENDOR_SUBCMD_GET_HW_CAPABILITY
        value: '126'
      - name: QCA_NL80211_VENDOR_SUBCMD_ENCRYPTION_TEST
        value: '137'
      - name: QCA_NL80211_VENDOR_SUBCMD_CHIP_PWRSAVE_FAILURE
        value: '148'
      - name: QCA_NL80211_VENDOR_SUBCMD_PEER_FLUSH_PENDING
        value: '162'
      - name: QCA_NL80211_VENDOR_SUBCMD_THERMAL_EVENT
        value: '168'
      - name: QCA_NL80211_VENDOR_SUBCMD_SPECTRAL_SCAN_COMPLETE
        value: '242'
      - name: QCA_NL80211_VENDOR_SUBCMD_ROAM_STATS
        value: '226'
      - name: QCA_NL80211_VENDOR_SUBCMD_MLO_LINK_STATE
        value: '227'
      - name: QCA_NL80211_VENDOR_SUBCMD_SECURE_RANGING_CONTEXT
        value: '216'
      - name: QCA_NL80211_VENDOR_SUBCMD_TAS
        value: '279'
      - name: QCA_NL80211_VENDOR_SUBCMD_RX_MCS_MAP_CONFIG
        value: '259'
      - name: QCA_NL80211_VENDOR_SUBCMD_ASYNC_GET_STATION
        value: '243'
      - name: QCA_NL80211_VENDOR_SUBCMD_GSCAN_HOTLIST_SSID_LOST
        value: '68'
      - name: QCA_NL80211_VENDOR_SUBCMD_GSCAN_GET_VALID_CHANNELS
        value: '22'
      - name: QCA_NL80211_VENDOR_SUBCMD_GET_SUPPORTED_FEATURES
        value: '38'
      - name: QCA_NL80211_VENDOR_SUBCMD_OCB_SET_UTC_TIME
        value: '93'
      - name: QCA_NL80211_VENDOR_SUBCMD_SET_TXPOWER_SCALE
        value: '109'
      - name: QCA_NL80211_VENDOR_SUBCMD_P2P_LISTEN_OFFLOAD_START
        value: '122'
      - name: QCA_NL80211_VENDOR_SUBCMD_BRP_SET_ANT_LIMIT
        value: '153'
      - name: QCA_NL80211_VENDOR_SUBCMD_GET_SAR_LIMITS
        value: '164'
      - name: QCA_NL80211_VENDOR_SUBCMD_BSS_FILTER
        value: '170'
      - name: QCA_NL80211_VENDOR_SUBCMD_INTEROP_ISSUES_AP
        value: '181'
      - name: QCA_NL80211_VENDOR_SUBCMD_MDNS_OFFLOAD
        value: '200'
      - name: QCA_NL80211_VENDOR_SUBCMD_WLAN_TELEMETRY_WDEV
        value: '263'
      - name: QCA_NL80211_VENDOR_SUBCMD_ATF_OFFLOAD_OPS
        value: '268'
      - name: QCA_NL80211_VENDOR_SUBCMD_CHAN_USAGE_REQ
        value: '252'
      - name: QCA_NL80211_VENDOR_SUBCMD_GET_RADIO_COMBINATION_MATRIX
        value: '213'
      - name: QCA_NL80211_VENDOR_SUBCMD_CONFIG_TSPEC
        value: '190'
      - name: QCA_NL80211_VENDOR_SUBCMD_CLASSIFIED_FLOW_STATUS
        value: '258'
      - name: QCA_NL80211_VENDOR_SUBCMD_ASYNC_STATS_POLICY
        value: '247'
      - name: QCA_NL80211_VENDOR_SUBCMD_TDLS_DISC_RSP_EXT
        value: '231'
      - name: QCA_NL80211_VENDOR_SUBCMD_DFS_CAPABILITY
        value: '11'
      - name: QCA_NL80211_VENDOR_SUBCMD_GSCAN_SCAN_RESULTS_AVAILABLE
        value: '25'
      - name: QCA_NL80211_VENDOR_SUBCMD_GSCAN_HOTLIST_AP_LOST
        value: '41'
      - name: QCA_NL80211_VENDOR_SUBCMD_OCB_GET_TSF_TIMER
        value: '96'
      - name: QCA_NL80211_VENDOR_SUBCMD_MONITOR_RSSI
        value: '80'
      - name: QCA_NL80211_VENDOR_SUBCMD_PNO_RESET_PASSPOINT_LIST
        value: '71'
      - name: QCA_NL80211_VENDOR_SUBCMD_GET_FEATURES
        value: '55'
      - name: QCA_NL80211_VENDOR_SUBCMD_FTM_MEAS_RESULT
        value: '131'
      - name: QCA_NL80211_VENDOR_SUBCMD_DMG_RF_SET_SELECTED_SECTOR
        value: '142'
      - name: QCA_NL80211_VENDOR_SUBCMD_ACTIVE_TOS
        value: '156'
      - name: QCA_NL80211_VENDOR_SUBCMD_CRYPTO_TEST
        value: '281'
      - name: QCA_NL80211_VENDOR_SUBCMD_NAN_EXT
        value: '171'
      - name: QCA_NL80211_VENDOR_SUBCMD_WLAN_TELEMETRY_WIPHY
        value: '262'
      - name: QCA_NL80211_VENDOR_SUBCMD_ROAM_SCAN_EVENT
        value: '172'
      - name: QCA_NL80211_VENDOR_SUBCMD_FLOW_CLASSIFY_RESULT
        value: '246'
      - name: QCA_NL80211_VENDOR_SUBCMD_LL_STATS_CLR
        value: '16'
      - name: QCA_NL80211_VENDOR_SUBCMD_GSCAN_SET_SIGNIFICANT_CHANGE
        value: '32'
      - name: QCA_NL80211_VENDOR_SUBCMD_WIFI_LOGGER_START
        value: '62'
      - name: QCA_NL80211_VENDOR_SUBCMD_GET_PREFERRED_FREQ_LIST
        value: '103'
      - name: QCA_NL80211_VENDOR_SUBCMD_LL_STATS_EXT
        value: '127'
      - name: QCA_NL80211_VENDOR_SUBCMD_GET_CHAIN_RSSI
        value: '138'
      - name: QCA_NL80211_VENDOR_SUBCMD_NUD_STATS_SET
        value: '149'
      - name: QCA_NL80211_VENDOR_SUBCMD_WIFI_TEST_CONFIGURATION
        value: '169'
      - name: QCA_NL80211_VENDOR_SUBCMD_COEX_CONFIG
        value: '175'
      - name: QCA_NL80211_VENDOR_SUBCMD_CONFIG_TWT
        value: '191'
      - name: QCA_NL80211_VENDOR_SUBCMD_AP_SUSPEND
        value: '244'
      - name: QCA_NL80211_VENDOR_SUBCMD_FLOW_POLICY
        value: '239'
      - name: QCA_NL80211_VENDOR_SUBCMD_EXTERNAL_AUTH
        value: '273'
      - name: QCA_NL80211_VENDOR_SUBCMD_CONNECTED_CHANNEL_STATS
        value: '228'
      - name: QCA_NL80211_VENDOR_SUBCMD_ROAM_EVENTS
        value: '203'
      - name: QCA_NL80211_VENDOR_SUBCMD_GET_SAR_LIMITS_EVENT
        value: '187'
      - name: QCA_NL80211_VENDOR_SUBCMD_IQ_DATA_INFERENCE
        value: '260'
      - name: QCA_NL80211_VENDOR_SUBCMD_ND_OFFLOAD
        value: '82'
      - name: QCA_NL80211_VENDOR_SUBCMD_DFS_OFFLOAD_CAC_FINISHED
        value: '57'
      - name: QCA_NL80211_VENDOR_SUBCMD_TEST
        value: '1'
      - name: QCA_NL80211_VENDOR_SUBCMD_GSCAN_SCAN_EVENT
        value: '27'
      - name: QCA_NL80211_VENDOR_SUBCMD_KEY_MGMT_SET_KEY
        value: '50'
      - name: QCA_NL80211_VENDOR_SUBCMD_PNO_PASSPOINT_NETWORK_FOUND
        value: '73'
      - name: QCA_NL80211_VENDOR_SUBCMD_DCC_CLEAR_STATS
        value: '98'
      - name: QCA_NL80211_VENDOR_SUBCMD_FTM_CFG_RESPONDER
        value: '133'
      - name: QCA_NL80211_VENDOR_SUBCMD_GET_HE_CAPABILITIES
        value: '144'
      - name: QCA_NL80211_VENDOR_SUBCMD_SPECTRAL_SCAN_GET_CONFIG
        value: '158'
      - name: QCA_NL80211_VENDOR_SUBCMD_BTC_CHAIN_MODE
        value: '185'
      - name: QCA_NL80211_VENDOR_SUBCMD_AUDIO_TRANSPORT_SWITCH
        value: '232'
      - name: QCA_NL80211_VENDOR_SUBCMD_REGULATORY_TPC_INFO
        value: '237'
      - name: QCA_NL80211_VENDOR_SUBCMD_MBSSID_TX_VDEV_STATUS
        value: '196'
      - name: QCA_NL80211_VENDOR_SUBCMD_LINK_STATE_CHANGE
        value: '264'
      - name: QCA_NL80211_VENDOR_SUBCMD_N79_COEX
        value: '275'
      - name: QCA_NL80211_VENDOR_SUBCMD_FEATURE_CONFIG
        value: '266'
      - name: QCA_NL80211_VENDOR_SUBCMD_MLO_PEER_PRIM_NETDEV_EVENT
        value: '221'
      - name: QCA_NL80211_VENDOR_SUBCMD_ROAM
        value: '64'
      - name: QCA_NL80211_VENDOR_SUBCMD_APFIND
        value: '52'
      - name: QCA_NL80211_VENDOR_SUBCMD_ROAMING
        value: '9'
      - name: QCA_NL80211_VENDOR_SUBCMD_LL_STATS_IFACE_RESULTS
        value: '18'
      - name: QCA_NL80211_VENDOR_SUBCMD_TDLS_ENABLE
        value: '34'
      - name: QCA_NL80211_VENDOR_SUBCMD_GET_WIFI_CONFIGURATION
        value: '75'
      - name: QCA_NL80211_VENDOR_SUBCMD_SETBAND
        value: '105'
      - name: QCA_NL80211_VENDOR_SUBCMD_GET_FW_STATE
        value: '177'
      - name: QCA_NL80211_VENDOR_SUBCMD_MEDIUM_ASSESS
        value: '193'
      - name: QCA_NL80211_VENDOR_SUBCMD_MCC_QUOTA
        value: '205'
      - name: QCA_NL80211_VENDOR_SUBCMD_GVP_OPERATION
        value: '274'
      - name: QCA_NL80211_VENDOR_SUBCMD_TDLS_STATS
        value: '277'
      - name: QCA_NL80211_VENDOR_SUBCMD_WOW
        value: '282'
      - name: QCA_NL80211_VENDOR_SUBCMD_SET_MONITOR_MODE
        value: '202'
      - name: QCA_NL80211_VENDOR_SUBCMD_DCS_CONFIG
        value: '269'
      - name: QCA_NL80211_VENDOR_SUBCMD_GET_FW_SCAN_REPORT
        value: '253'
      - name: QCA_NL80211_VENDOR_SUBCMD_GSCAN_STOP
        value: '21'
      - name: QCA_NL80211_VENDOR_SUBCMD_TDLS_STATE
        value: '37'
      - name: QCA_NL80211_VENDOR_SUBCMD_OCB_SET_CONFIG
        value: '92'
      - name: QCA_NL80211_VENDOR_SUBCMD_TDLS_GET_CAPABILITIES
        value: '78'
      - name: QCA_NL80211_VENDOR_SUBCMD_GSCAN_HOTLIST_SSID_FOUND
        value: '67'
      - name: QCA_NL80211_VENDOR_SUBCMD_OTA_TEST
        value: '108'
      - name: QCA_NL80211_VENDOR_SUBCMD_WISA
        value: '120'
      - name: QCA_NL80211_VENDOR_SUBCMD_SET_TRACE_LEVEL
        value: '152'
      - name: QCA_NL80211_VENDOR_SUBCMD_GET_RROP_INFO
        value: '163'
      - name: QCA_NL80211_VENDOR_SUBCMD_BEACON_REPORTING
        value: '180'
      - name: QCA_NL80211_VENDOR_SUBCMD_UPDATE_STA_INFO
        value: '188'
      - name: QCA_NL80211_VENDOR_SUBCMD_RATEMASK_CONFIG
        value: '204'
      - name: QCA_NL80211_VENDOR_SUBCMD_PASN
        value: '215'
      - name: QCA_NL80211_VENDOR_SUBCMD_TDLS_EVENT
        value: '276'
      - name: QCA_NL80211_VENDOR_SUBCMD_DISASSOC_PEER
        value: '240'
      - name: QCA_NL80211_VENDOR_SUBCMD_DOZED_AP
        value: '224'
      - name: QCA_NL80211_VENDOR_SUBCMD_PACKET_FILTER
        value: '83'
      - name: QCA_NL80211_VENDOR_SUBCMD_GSCAN_HOTLIST_AP_FOUND
        value: '28'
      - name: QCA_NL80211_VENDOR_SUBCMD_DFS_OFFLOAD_CAC_ABORTED
        value: '58'
      - name: QCA_NL80211_VENDOR_SUBCMD_SET_WIFI_CONFIGURATION
        value: '74'
      - name: QCA_NL80211_VENDOR_SUBCMD_DCC_UPDATE_NDL
        value: '99'
      - name: QCA_NL80211_VENDOR_SUBCMD_P2P_LISTEN_OFFLOAD_STOP
        value: '123'
      - name: QCA_NL80211_VENDOR_SUBCMD_AOA_MEAS
        value: '134'
      - name: QCA_NL80211_VENDOR_SUBCMD_ABORT_SCAN
        value: '145'
      - name: QCA_NL80211_VENDOR_SUBCMD_SPECTRAL_SCAN_GET_DIAG_STATS
        value: '159'
      - name: QCA_NL80211_VENDOR_SUBCMD_SPECTRAL_SCAN_GET_STATUS
        value: '161'
      - name: QCA_NL80211_VENDOR_SUBCMD_AFC_EVENT
        value: '222'
      - name: QCA_NL80211_VENDOR_SUBCMD_GET_STA_INFO
        value: '186'
      - name: QCA_NL80211_VENDOR_SUBCMD_WLAN_HOST_TXRX_STATS
        value: '271'
      - name: QCA_NL80211_VENDOR_SUBCMD_FW_PAGE_FAULT_REPORT
        value: '238'
      - name: QCA_NL80211_VENDOR_SUBCMD_PNO_SET_LIST
        value: '69'
      - name: QCA_NL80211_VENDOR_SUBCMD_GSCAN_GET_CAPABILITIES
        value: '23'
      - name: QCA_NL80211_VENDOR_SUBCMD_SCANNING_MAC_OUI
        value: '39'
      - name: QCA_NL80211_VENDOR_SUBCMD_OCB_START_TIMING_ADVERT
        value: '94'
      - name: QCA_NL80211_VENDOR_SUBCMD_SET_TXPOWER_DECR_DB
        value: '115'
      - name: QCA_NL80211_VENDOR_SUBCMD_FTM_START_SESSION
        value: '129'
      - name: QCA_NL80211_VENDOR_SUBCMD_DMG_RF_SET_SECTOR_CFG
        value: '140'
      - name: QCA_NL80211_VENDOR_SUBCMD_SPECTRAL_SCAN_START
        value: '154'
      - name: QCA_NL80211_VENDOR_SUBCMD_WLAN_MAC_INFO
        value: '165'
      - name: QCA_NL80211_VENDOR_SUBCMD_THERMAL_CMD
        value: '167'
      - name: QCA_NL80211_VENDOR_SUBCMD_PRI_LINK_MIGRATE
        value: '256'
      - name: QCA_NL80211_VENDOR_SUBCMD_TDLS_REPORTING_CONFIG
        value: '278'
      - name: QCA_NL80211_VENDOR_SUBCMD_QSH_GET_STATS
        value: '270'
      - name: QCA_NL80211_VENDOR_SUBCMD_IDLE_SHUTDOWN
        value: '254'
      - name: QCA_NL80211_VENDOR_SUBCMD_GET_WAKE_REASON_STATS
        value: '85'
      - name: QCA_NL80211_VENDOR_SUBCMD_UNSPEC
        value: '0'
      - name: QCA_NL80211_VENDOR_SUBCMD_LL_STATS_SET
        value: '14'
      - name: QCA_NL80211_VENDOR_SUBCMD_GSCAN_RESET_BSSID_HOTLIST
        value: '30'
      - name: QCA_NL80211_VENDOR_SUBCMD_DFS_OFFLOAD_RADAR_DETECTED
        value: '60'
      - name: QCA_NL80211_VENDOR_SUBCMD_LINK_PROPERTIES
        value: '101'
      - name: QCA_NL80211_VENDOR_SUBCMD_SET_SAP_CONFIG
        value: '118'
      - name: QCA_NL80211_VENDOR_SUBCMD_GPIO_CONFIG_COMMAND
        value: '125'
      - name: QCA_NL80211_VENDOR_SUBCMD_AOA_MEAS_RESULT
        value: '136'
      - name: QCA_NL80211_VENDOR_SUBCMD_EXTERNAL_ACS
        value: '147'
      - name: QCA_NL80211_VENDOR_SUBCMD_GET_SAR_CAPABILITY
        value: '219'
      item_type: enum
      name: qca_nl80211_vendor_subcmds
      pos:
        line_end: 1897
        line_start: 1632
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_DFS
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_STATS_EXT
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_ROAMING_POLICY
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_MAX_CONCURRENT_CHANNELS_2_4_BAND
        value: '10'
      - name: QCA_WLAN_VENDOR_ATTR_SETBAND_VALUE
        value: '12'
      - name: QCA_WLAN_VENDOR_ATTR_FTM_MEAS_PEERS
        value: '16'
      - name: QCA_WLAN_VENDOR_ATTR_FTM_RESPONDER_ENABLE
        value: '18'
      - name: QCA_WLAN_VENDOR_ATTR_FTM_SESSION_COOKIE
        value: '14'
      - name: QCA_WLAN_VENDOR_ATTR_FTM_LCR
        value: '20'
      - name: QCA_WLAN_VENDOR_ATTR_FTM_INITIAL_TOKEN
        value: '22'
      - name: QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_CFG
        value: '33'
      - name: QCA_WLAN_VENDOR_ATTR_TSF
        value: '29'
      - name: QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_TYPE
        value: '31'
      - name: QCA_WLAN_VENDOR_ATTR_FEATURE_FLAGS
        value: '7'
      - name: QCA_WLAN_VENDOR_ATTR_BTM_MBO_TRANSITION_REASON
        value: '36'
      - name: QCA_WLAN_VENDOR_ATTR_BRP_ANT_LIMIT_MODE
        value: '38'
      - name: QCA_WLAN_VENDOR_ATTR_ANTENNA_INFO
        value: '40'
      - name: QCA_WLAN_VENDOR_ATTR_FW_STATE
        value: '42'
      - name: QCA_WLAN_VENDOR_ATTR_CHAIN_INDEX
        value: '26'
      - name: QCA_WLAN_VENDOR_ATTR_MLO_CAPABILITY_MAX_ASSOCIATION_COUNT
        value: '44'
      - name: QCA_WLAN_VENDOR_ATTR_ANT_SWITCH_COUNT
        value: '46'
      - name: QCA_WLAN_VENDOR_ATTR_ANT_RSSI
        value: '48'
      - name: QCA_WLAN_VENDOR_ATTR_FREQ
        value: '28'
      - name: QCA_WLAN_VENDOR_ATTR_LOC_ANTENNA_ARRAY_MASK
        value: '24'
      - name: QCA_WLAN_VENDOR_ATTR_RX_AGGREGATION_STATS_HOLES_INFO
        value: '35'
      - name: QCA_WLAN_VENDOR_ATTR_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_IFINDEX
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_NAN
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_MAC_ADDR
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_CONCURRENCY_CAPA
        value: '9'
      - name: QCA_WLAN_VENDOR_ATTR_MAX_CONCURRENT_CHANNELS_5_0_BAND
        value: '11'
      - name: QCA_WLAN_VENDOR_ATTR_FTM_MEAS_PEER_RESULTS
        value: '17'
      - name: QCA_WLAN_VENDOR_ATTR_PAD
        value: '13'
      - name: QCA_WLAN_VENDOR_ATTR_LOC_CAPA
        value: '15'
      - name: QCA_WLAN_VENDOR_ATTR_FTM_LCI
        value: '19'
      - name: QCA_WLAN_VENDOR_ATTR_LOC_SESSION_STATUS
        value: '21'
      - name: QCA_WLAN_VENDOR_ATTR_AOA_TYPE
        value: '23'
      - name: QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_INDEX
        value: '30'
      - name: QCA_WLAN_VENDOR_ATTR_TEST
        value: '8'
      - name: QCA_WLAN_VENDOR_ATTR_BTM_CANDIDATE_INFO
        value: '37'
      - name: QCA_WLAN_VENDOR_ATTR_BRP_ANT_NUM_LIMIT
        value: '39'
      - name: QCA_WLAN_VENDOR_ATTR_CHAIN_RSSI
        value: '27'
      - name: QCA_WLAN_VENDOR_ATTR_CHAIN_EVM
        value: '41'
      - name: QCA_WLAN_VENDOR_ATTR_SETBAND_MASK
        value: '43'
      - name: QCA_WLAN_VENDOR_ATTR_MLO_CAPABILITY_MAX_STR_LINK_COUNT
        value: '45'
      - name: QCA_WLAN_VENDOR_ATTR_ANT_DURATION
        value: '47'
      - name: QCA_WLAN_VENDOR_ATTR_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_MAX
        value: QCA_WLAN_VENDOR_ATTR_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_DMG_RF_MODULE_MASK
        value: '32'
      - name: QCA_WLAN_VENDOR_ATTR_RX_AGGREGATION_STATS_HOLES_NUM
        value: '34'
      - name: QCA_WLAN_VENDOR_ATTR_AOA_MEAS_RESULT
        value: '25'
      item_type: enum
      name: qca_wlan_vendor_attr
      pos:
        line_end: 2151
        line_start: 1905
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_ROAMING_NOT_ALLOWED
      - name: QCA_ROAMING_ALLOWED_WITHIN_ESS
      - name: QCA_ROAMING_MODE_AGGRESSIVE
      item_type: enum
      name: qca_roaming_policy
      pos:
        line_end: 2170
        line_start: 2166
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_ROAM_REASON_UNKNOWN
      - name: QCA_ROAM_REASON_BEACON_MISS
      - name: QCA_ROAM_REASON_PER
      - name: QCA_ROAM_REASON_BETTER_RSSI
      - name: QCA_ROAM_REASON_POOR_RSSI
      - name: QCA_ROAM_REASON_CONGESTION
      - name: QCA_ROAM_REASON_USER_TRIGGER
      - name: QCA_ROAM_REASON_BTM
      - name: QCA_ROAM_REASON_BSS_LOAD
      - name: QCA_ROAM_REASON_WTC
      - name: QCA_ROAM_REASON_BACKGROUND_SCAN
      - name: QCA_ROAM_REASON_BT_ACTIVITY
      - name: QCA_ROAM_REASON_IDLE
      - name: QCA_ROAM_REASON_STA_KICKOUT
      - name: QCA_ROAM_REASON_DISCONNECTION
      - name: QCA_ROAM_REASON_PERIODIC_TIMER
      item_type: enum
      name: qca_roam_reason
      pos:
        line_end: 2243
        line_start: 2226
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_RESP_IE
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_PTK_KEK
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_PMKID
        value: '12'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_REASON
        value: '14'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_ASSOC_ENCRYPTED
        value: '16'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_RETAIN_CONNECTION
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_MAX
        value: QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_REQ_IE
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_PTK_KCK
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_KEY_REPLAY_CTR
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_STATUS
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_AP_KDE_INFO
        value: '17'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_FILS_ERP_NEXT_SEQ_NUM
        value: '13'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_MLO_LINKS
        value: '15'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_PMK
        value: '11'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_BSSID
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_AUTHORIZED
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_SUBNET_STATUS
      item_type: enum
      name: qca_wlan_vendor_attr_roam_auth
      pos:
        line_end: 2316
        line_start: 2245
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_P2P_LISTEN_OFFLOAD_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_P2P_LISTEN_OFFLOAD_PERIOD
      - name: QCA_WLAN_VENDOR_ATTR_P2P_LISTEN_OFFLOAD_COUNT
      - name: QCA_WLAN_VENDOR_ATTR_P2P_LISTEN_OFFLOAD_INTERVAL
      - name: QCA_WLAN_VENDOR_ATTR_P2P_LISTEN_OFFLOAD_CHANNEL
      - name: QCA_WLAN_VENDOR_ATTR_P2P_LISTEN_OFFLOAD_DEVICE_TYPES
      - name: QCA_WLAN_VENDOR_ATTR_P2P_LISTEN_OFFLOAD_VENDOR_IE
      - name: QCA_WLAN_VENDOR_ATTR_P2P_LISTEN_OFFLOAD_CTRL_FLAG
      - name: QCA_WLAN_VENDOR_ATTR_P2P_LISTEN_OFFLOAD_STOP_REASON
      - name: QCA_WLAN_VENDOR_ATTR_P2P_LISTEN_OFFLOAD_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_P2P_LISTEN_OFFLOAD_MAX
        value: QCA_WLAN_VENDOR_ATTR_P2P_LISTEN_OFFLOAD_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_p2p_listen_offload
      pos:
        line_end: 2353
        line_start: 2318
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_ACS_CHANNEL_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_ACS_HW_MODE
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_ACS_CHWIDTH
        value: '7'
      - name: QCA_WLAN_VENDOR_ATTR_ACS_FREQ_LIST
        value: '11'
      - name: QCA_WLAN_VENDOR_ATTR_ACS_VHT_SEG1_CENTER_FREQUENCY
        value: '15'
      - name: QCA_WLAN_VENDOR_ATTR_ACS_EHT_ENABLED
        value: '19'
      - name: QCA_WLAN_VENDOR_ATTR_ACS_LINK_ID
        value: '21'
      - name: QCA_WLAN_VENDOR_ATTR_ACS_SECONDARY_CHANNEL
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_ACS_VHT_ENABLED
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_ACS_VHT_SEG1_CENTER_CHANNEL
        value: '10'
      - name: QCA_WLAN_VENDOR_ATTR_ACS_PUNCTURE_BITMAP
        value: '18'
      - name: QCA_WLAN_VENDOR_ATTR_ACS_VHT_SEG0_CENTER_FREQUENCY
        value: '14'
      - name: QCA_WLAN_VENDOR_ATTR_ACS_MAX
        value: QCA_WLAN_VENDOR_ATTR_ACS_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_ACS_PRIMARY_CHANNEL
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_ACS_HT40_ENABLED
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_ACS_VHT_SEG0_CENTER_CHANNEL
        value: '9'
      - name: QCA_WLAN_VENDOR_ATTR_ACS_SECONDARY_FREQUENCY
        value: '13'
      - name: QCA_WLAN_VENDOR_ATTR_ACS_EDMG_CHANNEL
        value: '17'
      - name: QCA_WLAN_VENDOR_ATTR_ACS_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_ACS_HT_ENABLED
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_ACS_CH_LIST
        value: '8'
      - name: QCA_WLAN_VENDOR_ATTR_ACS_EDMG_ENABLED
        value: '16'
      - name: QCA_WLAN_VENDOR_ATTR_ACS_PRIMARY_FREQUENCY
        value: '12'
      - name: QCA_WLAN_VENDOR_ATTR_ACS_LAST_SCAN_AGEOUT_TIME
        value: '20'
      - name: QCA_WLAN_VENDOR_ATTR_ACS_EXCLUDE_6GHZ_NON_PSC_PRIMARY
        value: '22'
      item_type: enum
      name: qca_wlan_vendor_attr_acs_offload
      pos:
        line_end: 2547
        line_start: 2518
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_ACS_MODE_IEEE80211B
      - name: QCA_ACS_MODE_IEEE80211ANY
      - name: QCA_ACS_MODE_IEEE80211A
      - name: QCA_ACS_MODE_IEEE80211G
      - name: QCA_ACS_MODE_IEEE80211AD
      - name: QCA_ACS_MODE_IEEE80211AX
      item_type: enum
      name: qca_wlan_vendor_acs_hw_mode
      pos:
        line_end: 2567
        line_start: 2560
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_FEATURE_SUPPORT_HW_MODE_ANY
        value: '1'
      - name: QCA_WLAN_VENDOR_FEATURE_OCE_AP
        value: '5'
      - name: QCA_WLAN_VENDOR_FEATURE_11AX
        value: '9'
      - name: QCA_WLAN_VENDOR_FEATURE_CONCURRENT_BAND_SESSIONS
        value: '13'
      - name: QCA_WLAN_VENDOR_FEATURE_SECURE_LTF_AP
        value: '17'
      - name: QCA_WLAN_VENDOR_FEATURE_PROT_RANGE_NEGO_AND_MEASURE_AP
        value: '21'
      - name: QCA_WLAN_VENDOR_FEATURE_RSN_OVERRIDE_STA
        value: '25'
      - name: QCA_WLAN_VENDOR_FEATURE_PCC_MODE
        value: '29'
      - name: QCA_WLAN_VENDOR_FEATURE_SUPPORT_STA_DFS_CH_SCC_P2P
        value: '33'
      - name: QCA_WLAN_VENDOR_FEATURE_SUPPORT_PMKSA_CACHING_PRIVACY
        value: '37'
      - name: QCA_WLAN_VENDOR_FEATURE_OCE_STA
        value: '4'
      - name: QCA_WLAN_VENDOR_FEATURE_TWT
        value: '8'
      - name: QCA_WLAN_VENDOR_FEATURE_ADAPTIVE_11R
        value: '12'
      - name: QCA_WLAN_VENDOR_FEATURE_SECURE_LTF_STA
        value: '16'
      - name: QCA_WLAN_VENDOR_FEATURE_PROT_RANGE_NEGO_AND_MEASURE_STA
        value: '20'
      - name: QCA_WLAN_VENDOR_FEATURE_HT_VHT_TWT_RESPONDER
        value: '24'
      - name: QCA_WLAN_VENDOR_FEATURE_P2P_V2
        value: '28'
      - name: QCA_WLAN_VENDOR_FEATURE_SUPPORT_STA_INDOOR_CH_SCC
        value: '32'
      - name: QCA_WLAN_VENDOR_FEATURE_SUPPORT_P2P_GC_KEEP_AWAKE_DURING_ONE_SHOT_NOA
        value: '36'
      - name: QCA_WLAN_VENDOR_FEATURE_KEY_MGMT_OFFLOAD
        value: '0'
      - name: QCA_WLAN_VENDOR_FEATURE_P2P_LISTEN_OFFLOAD
        value: '3'
      - name: QCA_WLAN_VENDOR_FEATURE_SELF_MANAGED_REGULATORY
        value: '7'
      - name: QCA_WLAN_VENDOR_FEATURE_THERMAL_CONFIG
        value: '11'
      - name: QCA_WLAN_VENDOR_FEATURE_USE_ADD_DEL_VIRTUAL_INTF_FOR_NDI
        value: '15'
      - name: QCA_WLAN_VENDOR_FEATURE_SECURE_RTT_AP
        value: '19'
      - name: QCA_WLAN_VENDOR_FEATURE_ENHANCED_AUDIO_EXPERIENCE_OVER_WLAN
        value: '23'
      - name: QCA_WLAN_VENDOR_FEATURE_ACS_PREFER_6GHZ_PSC
        value: '27'
      - name: QCA_WLAN_VENDOR_FEATURE_SUPPORT_USER_SCENARIO_TO_DSI_MAPPING
        value: '31'
      - name: QCA_WLAN_VENDOR_FEATURE_SUPPORT_P2P_GO_CANCEL_ONE_SHOT_NOA
        value: '35'
      - name: QCA_WLAN_VENDOR_FEATURE_LATENCY_BASED_OPM
        value: '39'
      - name: QCA_WLAN_VENDOR_FEATURE_OFFCHANNEL_SIMULTANEOUS
        value: '2'
      - name: QCA_WLAN_VENDOR_FEATURE_OCE_STA_CFON
        value: '6'
      - name: QCA_WLAN_VENDOR_FEATURE_6GHZ_SUPPORT
        value: '10'
      - name: QCA_WLAN_VENDOR_FEATURE_SECURE_RTT_STA
        value: '18'
      - name: QCA_WLAN_VENDOR_FEATURE_TWT_ASYNC_SUPPORT
        value: '14'
      - name: QCA_WLAN_VENDOR_FEATURE_AP_ALLOWED_FREQ_LIST
        value: '22'
      - name: QCA_WLAN_VENDOR_FEATURE_NAN_USD_OFFLOAD
        value: '26'
      - name: QCA_WLAN_VENDOR_FEATURE_SUPPORT_TX_POWER_LIMIT
        value: '30'
      - name: QCA_WLAN_VENDOR_FEATURE_SUPPORT_P2P_ASSISTED_DFS
        value: '34'
      - name: QCA_WLAN_VENDOR_FEATURE_OKC_PMKID_IN_ASSOC
        value: '38'
      - name: NUM_QCA_WLAN_VENDOR_FEATURES
      item_type: enum
      name: qca_wlan_vendor_features
      pos:
        line_end: 2811
        line_start: 2769
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_DATA_OFFLOAD_IND_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_DATA_OFFLOAD_IND_PROTOCOL
      - name: QCA_WLAN_VENDOR_ATTR_DATA_OFFLOAD_IND_SESSION
      - name: QCA_WLAN_VENDOR_ATTR_DATA_OFFLOAD_IND_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_DATA_OFFLOAD_IND_EVENT
      - name: QCA_WLAN_VENDOR_ATTR_DATA_OFFLOAD_IND_MAX
        value: QCA_WLAN_VENDOR_ATTR_DATA_OFFLOAD_IND_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_data_offload_ind
      pos:
        line_end: 2833
        line_start: 2823
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_OCB_SET_CONFIG_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_OCB_SET_CONFIG_SCHEDULE_ARRAY
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_OCB_SET_CONFIG_SCHEDULE_SIZE
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_OCB_SET_CONFIG_CHANNEL_COUNT
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_OCB_SET_CONFIG_CHANNEL_ARRAY
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_OCB_SET_CONFIG_NDL_CHANNEL_ARRAY
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_OCB_SET_CONFIG_NDL_ACTIVE_STATE_ARRAY
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_OCB_SET_CONFIG_FLAGS
        value: '7'
      - name: QCA_WLAN_VENDOR_ATTR_OCB_SET_CONFIG_DEF_TX_PARAM
        value: '8'
      - name: QCA_WLAN_VENDOR_ATTR_OCB_SET_CONFIG_TA_MAX_DURATION
        value: '9'
      - name: QCA_WLAN_VENDOR_ATTR_OCB_SET_CONFIG_MAX
        value: QCA_WLAN_VENDOR_ATTR_OCB_SET_CONFIG_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_OCB_SET_CONFIG_AFTER_LAST
      item_type: enum
      name: qca_wlan_vendor_attr_ocb_set_config
      pos:
        line_end: 2871
        line_start: 2857
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_OCB_SET_UTC_TIME_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_OCB_SET_UTC_TIME_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_OCB_SET_UTC_TIME_ERROR
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_OCB_SET_UTC_TIME_VALUE
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_OCB_SET_UTC_TIME_MAX
        value: QCA_WLAN_VENDOR_ATTR_OCB_SET_UTC_TIME_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_ocb_set_utc_time
      pos:
        line_end: 2889
        line_start: 2882
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_OCB_START_TIMING_ADVERT_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_OCB_START_TIMING_ADVERT_REPEAT_RATE
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_OCB_START_TIMING_ADVERT_CHANNEL_FREQ
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_OCB_START_TIMING_ADVERT_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_OCB_START_TIMING_ADVERT_MAX
        value: QCA_WLAN_VENDOR_ATTR_OCB_START_TIMING_ADVERT_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_ocb_start_timing_advert
      pos:
        line_end: 2907
        line_start: 2900
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_OCB_STOP_TIMING_ADVERT_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_OCB_STOP_TIMING_ADVERT_MAX
        value: QCA_WLAN_VENDOR_ATTR_OCB_STOP_TIMING_ADVERT_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_OCB_STOP_TIMING_ADVERT_CHANNEL_FREQ
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_OCB_STOP_TIMING_ADVERT_AFTER_LAST
      item_type: enum
      name: qca_wlan_vendor_attr_ocb_stop_timing_advert
      pos:
        line_end: 2922
        line_start: 2916
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_OCB_GET_TSF_RESP_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_OCB_GET_TSF_RESP_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_OCB_GET_TSF_RESP_TIMER_LOW
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_OCB_GET_TSF_RESP_MAX
        value: QCA_WLAN_VENDOR_ATTR_OCB_GET_TSF_RESP_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_OCB_GET_TSF_RESP_TIMER_HIGH
        value: '1'
      item_type: enum
      name: qca_wlan_vendor_attr_ocb_get_tsf_resp
      pos:
        line_end: 2939
        line_start: 2932
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_GET_PREFERRED_FREQ_LIST_INVALID
      - name: QCA_WLAN_VENDOR_ATTR_GET_PREFERRED_FREQ_LIST_WEIGHED_PCL
      - name: QCA_WLAN_VENDOR_ATTR_GET_PREFERRED_FREQ_LIST
      - name: QCA_WLAN_VENDOR_ATTR_GET_PREFERRED_FREQ_LIST_IFACE_TYPE
      - name: QCA_WLAN_VENDOR_ATTR_GET_PREFERRED_FREQ_LIST_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_GET_PREFERRED_FREQ_LIST_MAX
        value: QCA_WLAN_VENDOR_ATTR_GET_PREFERRED_FREQ_LIST_AFTER_LAST - 1
      item_type: enum
      name: qca_vendor_attr_get_preferred_freq_list
      pos:
        line_end: 2963
        line_start: 2941
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_PROBABLE_OPER_CHANNEL_INVALID
      - name: QCA_WLAN_VENDOR_ATTR_PROBABLE_OPER_CHANNEL_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_PROBABLE_OPER_CHANNEL_FREQ
      - name: QCA_WLAN_VENDOR_ATTR_PROBABLE_OPER_CHANNEL_IFACE_TYPE
      - name: QCA_WLAN_VENDOR_ATTR_PROBABLE_OPER_CHANNEL_MAX
        value: QCA_WLAN_VENDOR_ATTR_PROBABLE_OPER_CHANNEL_AFTER_LAST - 1
      item_type: enum
      name: qca_vendor_attr_probable_oper_channel
      pos:
        line_end: 2977
        line_start: 2965
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_IFACE_TYPE_STA
      - name: QCA_IFACE_TYPE_P2P_CLIENT
      - name: QCA_IFACE_TYPE_AP
      - name: QCA_IFACE_TYPE_IBSS
      - name: QCA_IFACE_TYPE_P2P_GO
      - name: QCA_IFACE_TYPE_TDLS
      item_type: enum
      name: qca_iface_type
      pos:
        line_end: 2986
        line_start: 2979
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_SETBAND_AUTO
        value: '0'
      - name: QCA_SETBAND_6G
        value: BIT(2)
      - name: QCA_SETBAND_2G
        value: BIT(1)
      - name: QCA_SETBAND_5G
        value: BIT(0)
      item_type: enum
      name: qca_set_band
      pos:
        line_end: 2993
        line_start: 2988
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_ACCESS_POLICY_ACCEPT_UNLESS_LISTED
      - name: QCA_ACCESS_POLICY_DENY_UNLESS_LISTED
      item_type: enum
      name: qca_access_policy
      pos:
        line_end: 3012
        line_start: 3009
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_TSF_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_TSF_SYNC_INTERVAL
      - name: QCA_WLAN_VENDOR_ATTR_TSF_CMD
      - name: QCA_WLAN_VENDOR_ATTR_TSF_SOC_TIMER_VALUE
      - name: QCA_WLAN_VENDOR_ATTR_TSF_TIMER_VALUE
      - name: QCA_WLAN_VENDOR_ATTR_TSF_PAD
      - name: QCA_WLAN_VENDOR_ATTR_TSF_FLAGS
      - name: QCA_WLAN_VENDOR_ATTR_TSF_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_TSF_MAX
        value: QCA_WLAN_VENDOR_ATTR_TSF_AFTER_LAST - 1
      item_type: enum
      name: qca_vendor_attr_tsf_cmd
      pos:
        line_end: 3049
        line_start: 3038
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_TSF_CAPTURE
      - name: QCA_TSF_SYNC_GET
      - name: QCA_TSF_GET
      - name: QCA_TSF_AUTO_REPORT_DISABLE
      - name: QCA_TSF_AUTO_REPORT_ENABLE
      - name: QCA_TSF_SYNC_START
      - name: QCA_TSF_SYNC_STOP
      - name: QCA_TSF_SYNC_GET_CSA_TIMESTAMP
      item_type: enum
      name: qca_tsf_cmd
      pos:
        line_end: 3090
        line_start: 3081
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_TSF_GPIO_TOGGLE_HIGH
        value: BIT(0)
      - name: QCA_TSF_GPIO_TOGGLE_LOW
        value: BIT(1)
      item_type: enum
      name: qca_tsf_flags
      pos:
        line_end: 3102
        line_start: 3099
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_WISA_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_WISA_MAX
        value: QCA_WLAN_VENDOR_ATTR_WISA_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_WISA_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_WISA_MODE
      item_type: enum
      name: qca_vendor_attr_wisa_cmd
      pos:
        line_end: 3115
        line_start: 3109
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_VENDOR_ELEM_P2P_PREF_CHAN_LIST
        value: '0'
      - name: QCA_VENDOR_ELEM_RAPS
        value: '3'
      - name: QCA_VENDOR_ELEM_HE_OPER
        value: '2'
      - name: QCA_VENDOR_ELEM_HE_CAPAB
        value: '1'
      - name: QCA_VENDOR_ELEM_MU_EDCA_PARAMS
        value: '4'
      - name: QCA_VENDOR_ELEM_BSS_COLOR_CHANGE
        value: '5'
      - name: QCA_VENDOR_ELEM_ALLPLAY
        value: '6'
      item_type: enum
      name: qca_vendor_element_id
      pos:
        line_end: 3192
        line_start: 3184
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_SCAN_PRIORITY_VERY_LOW
        value: '0'
      - name: QCA_WLAN_VENDOR_SCAN_PRIORITY_LOW
        value: '1'
      - name: QCA_WLAN_VENDOR_SCAN_PRIORITY_HIGH
        value: '3'
      - name: QCA_WLAN_VENDOR_SCAN_PRIORITY_MEDIUM
        value: '2'
      - name: QCA_WLAN_VENDOR_SCAN_PRIORITY_VERY_HIGH
        value: '4'
      item_type: enum
      name: qca_wlan_vendor_scan_priority
      pos:
        line_end: 3209
        line_start: 3203
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_SCAN_FREQUENCIES
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_SCAN_FLAGS
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_SCAN_STATUS
        value: '8'
      - name: QCA_WLAN_VENDOR_ATTR_SCAN_DWELL_TIME
        value: '12'
      - name: QCA_WLAN_VENDOR_ATTR_SCAN_SKIP_CHANNEL_RECENCY_PERIOD
        value: '16'
      - name: QCA_WLAN_VENDOR_ATTR_SCAN_IE
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_SCAN_TX_NO_CCK_RATE
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_SCAN_BSSID
        value: '11'
      - name: QCA_WLAN_VENDOR_ATTR_SCAN_LINK_ID
        value: '15'
      - name: QCA_WLAN_VENDOR_ATTR_SCAN_SUPP_RATES
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_SCAN_MAC_MASK
        value: '10'
      - name: QCA_WLAN_VENDOR_ATTR_SCAN_PAD
        value: '14'
      - name: QCA_WLAN_VENDOR_ATTR_SCAN_INVALID_PARAM
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_SCAN_SSIDS
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_SCAN_COOKIE
        value: '7'
      - name: QCA_WLAN_VENDOR_ATTR_SCAN_MAC
        value: '9'
      - name: QCA_WLAN_VENDOR_ATTR_SCAN_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_SCAN_MAX
        value: QCA_WLAN_VENDOR_ATTR_SCAN_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_SCAN_PRIORITY
        value: '13'
      item_type: enum
      name: qca_wlan_vendor_attr_scan
      pos:
        line_end: 3272
        line_start: 3251
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: VENDOR_SCAN_STATUS_NEW_RESULTS
      - name: VENDOR_SCAN_STATUS_MAX
      - name: VENDOR_SCAN_STATUS_ABORTED
      item_type: enum
      name: scan_status
      pos:
        line_end: 3286
        line_start: 3282
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_OTA_TEST_INVALID
      - name: QCA_WLAN_VENDOR_ATTR_OTA_TEST_ENABLE
      - name: QCA_WLAN_VENDOR_ATTR_OTA_TEST_MAX
        value: QCA_WLAN_VENDOR_ATTR_OTA_TEST_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_OTA_TEST_AFTER_LAST
      item_type: enum
      name: qca_vendor_attr_ota_test
      pos:
        line_end: 3301
        line_start: 3293
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_TXPOWER_SCALE_INVALID
      - name: QCA_WLAN_VENDOR_ATTR_TXPOWER_SCALE_MAX
        value: QCA_WLAN_VENDOR_ATTR_TXPOWER_SCALE_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_TXPOWER_SCALE_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_TXPOWER_SCALE
      item_type: enum
      name: qca_vendor_attr_txpower_scale
      pos:
        line_end: 3316
        line_start: 3308
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_TXPOWER_DECR_DB_INVALID
      - name: QCA_WLAN_VENDOR_ATTR_TXPOWER_DECR_DB
      - name: QCA_WLAN_VENDOR_ATTR_TXPOWER_DECR_DB_MAX
        value: QCA_WLAN_VENDOR_ATTR_TXPOWER_DECR_DB_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_TXPOWER_DECR_DB_AFTER_LAST
      item_type: enum
      name: qca_vendor_attr_txpower_decr_db
      pos:
        line_end: 3333
        line_start: 3323
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_ANI_LEVEL
        value: '76'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_2X_LDPC_TX
        value: '147'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_QCA_PEER
        value: '106'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_UDP_QOS_UPGRADE_FOR_BE_BK
        value: '84'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_AP_ALLOWED_FREQ_LIST
        value: '91'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_RX_NSS_5GHZ
        value: '113'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_RX_REORDER_TIMEOUT_VOICE
        value: '31'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_SCAN_ENABLE
        value: '51'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_CHANNEL_AVOIDANCE_IND
        value: '7'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_TX_FAIL_COUNT
        value: '15'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_LDPC
        value: '67'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_ANI_SETTING
        value: '75'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_BEACON_MISS_THRESHOLD_5
        value: '38'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_ELNA_BYPASS
        value: '59'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_ACCESS_POLICY_IE_LIST
        value: '23'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_ANT_DIV_SNR_DIFF
        value: '43'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_CONCURRENT_STA_PRIMARY
        value: '79'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_DFS_NO_WAIT_SUPPORT
        value: '131'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_EHT_MLO_MODE
        value: '90'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_ALLOW_PEER_PROTOCOL_INDOOR_CH_STA_SCC
        value: '142'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_DFS_OWNER_DISABLE
        value: '123'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_OPM_ITO
        value: '101'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_TX_NSS_5GHZ
        value: '112'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_MAX
        value: QCA_WLAN_VENDOR_ATTR_CONFIG_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_ANT_DIV_PROBE_PERIOD
        value: '41'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_PHY_MODE
        value: '62'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_IGNORE_ASSOC_DISALLOWED
        value: '26'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_ANT_DIV_DATA_SNR_WEIGHT
        value: '46'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_NSS
        value: '70'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_STATS_AVG_FACTOR
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_NON_AGG_RETRY
        value: '10'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_GENERIC_VALUE
        value: '18'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_RX_REORDER_TIMEOUT_BACKGROUND
        value: '34'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_DISABLE_FILS
        value: '54'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_RX_NSS
        value: '78'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_QSH_SCAN_CTRL
        value: '141'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_P2P_GO_BEACON_INTERVAL
        value: '122'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_ANT_DIV_PROBE_COUNT_WLAN
        value: '124'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_MLO_LINKS
        value: '100'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_BTM_SUPPORT
        value: '107'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_BEAMFORMER_PERIODIC_SOUNDING
        value: '85'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_NUM_RX_CHAINS_2GHZ
        value: '115'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_EMLSR_MODE_SWITCH
        value: '93'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_OPM_LATENCY_TOLERANCE
        value: '134'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_RX_STBC
        value: '69'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_DYNAMIC_DTIM
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_RX_MPDU_AGGREGATION
        value: '9'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_GENERIC_COMMAND
        value: '17'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_RX_REORDER_TIMEOUT_BESTEFFORT
        value: '33'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_PENALIZE_AFTER_NCONS_BEACON_MISS_BTC
        value: '53'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_PROPAGATION_ABS_DELAY
        value: '40'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_ROAM_REASON
        value: '61'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_QPOWER
        value: '25'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_ANT_DIV_MGMT_SNR_WEIGHT
        value: '45'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_NUM_RX_CHAINS_5GHZ
        value: '117'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_ANT_DIV_PROBE_COUNT_BT
        value: '125'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_DYNAMIC_VLAN
        value: '144'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_OPM_LEVEL
        value: '133'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_PEER_AMPDU_CNT
        value: '103'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_NUM_TX_CHAINS_2GHZ
        value: '114'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_ARP_NS_OFFLOAD
        value: '81'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_GENERIC_LENGTH
        value: '20'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_DYNAMIC_BW
        value: '64'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_UDP_QOS_UPGRADE
        value: '72'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_ANT_DIV_CHAIN
        value: '28'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_LISTEN_INTERVAL
        value: '48'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_FINE_TIME_MEASUREMENT
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_MGMT_RETRY
        value: '12'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_RX_BLOCKSIZE_PEER_MAC
        value: QCA_WLAN_VENDOR_ATTR_CONFIG_PEER_MAC
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_RSN_IE
        value: '56'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_FT_OVER_DS
        value: '80'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_REDUCED_POWER_SCAN_MODE
        value: '109'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_ESP_PARAMS
        value: '143'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_ANT_DIV_SWITCH_WLAN_RSSI_DIFF
        value: '128'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_EHT_EML_CAPABILITY
        value: '87'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_AMSDU_ADDR_CHECK_VALIDATION
        value: '136'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_UL_MU_CONFIG
        value: '95'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_ALLOW_3ADDR_MC
        value: '145'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_OPM_SPEC_WAKE_INTERVAL
        value: '102'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_OPTIMIZED_POWER_MANAGEMENT
        value: '71'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_GUARD_TIME
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_AGG_RETRY
        value: '11'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_GENERIC_DATA
        value: '19'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_PEER_MAC
        value: '35'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_LATENCY_LEVEL
        value: '55'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_ANT_DIV_STAY_PERIOD
        value: '42'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_CHANNEL_WIDTH
        value: '63'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_ANT_DIV_ENA
        value: '27'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_ANT_DIV_ACK_SNR_WEIGHT
        value: '47'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_EHT_MLO_ACTIVE_LINKS
        value: '92'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_WFC_STATE
        value: '86'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_TX_CHAIN_MASK_5GHZ
        value: '138'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_CRYPTO_TEST_MODE_ENABLE
        value: '149'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_CONSECUTIVE_TX_NO_ACK_THRESHOLD
        value: '119'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_EPCS_CAPABILITY
        value: '97'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_KEEP_ALIVE_INTERVAL
        value: '108'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_DBAM
        value: '83'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_CTS_CHANNEL_WIDTH
        value: '94'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_AUX_LISTEN
        value: '146'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_ANT_DIV_PROBE_BT_RSSI_THRESHOLD
        value: '127'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_COEX_TRAFFIC_SHAPING_MODE
        value: '105'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_NUM_TX_CHAINS_5GHZ
        value: '116'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_TX_POWER_LIMIT_ENABLE
        value: '135'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_ACCESS_POLICY
        value: '22'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_RX_MSDU_AGGREGATION
        value: '66'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_NUM_RX_CHAINS
        value: '74'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_ANT_DIV_SELFTEST_INTVL
        value: '30'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_LRO
        value: '50'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_PENALIZE_AFTER_NCONS_BEACON_MISS
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_PROPAGATION_DELAY
        value: '14'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_BEACON_MISS_THRESHOLD_24
        value: '37'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_DISCONNECT_IES
        value: '58'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_AUDIO_DATA_PATH
        value: '82'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_RX_NSS_2GHZ
        value: '111'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_SETUP_LINK_RECONFIG_SUPPORT
        value: '130'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_EHT_MLO_MAX_NUM_LINKS
        value: '89'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_CONSECUTIVE_TX_NO_ACK_DURATION
        value: '118'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_CHAN_WIDTH_UPDATE_TYPE
        value: '96'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_ANT_DIV_PROBE_WLAN_RSSI_THRESHOLD
        value: '126'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_TTLM_NEGOTIATION_SUPPORT
        value: '104'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_NUM_TX_CHAINS
        value: '73'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_ANT_DIV_SELFTEST
        value: '29'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_RESTRICT_OFFCHANNEL
        value: '49'
      - name: QCA_WLAN_VENDOR_ATTR_CONF_TX_RATE
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_CTRL_RETRY
        value: '13'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_RX_BLOCKSIZE_WINLIMIT
        value: '36'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_GTX
        value: '57'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_GENERIC_FLAGS
        value: '21'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_TX_MSDU_AGGREGATION
        value: '65'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_TX_NSS
        value: '77'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_EHT_MLO_MAX_SIMULTANEOUS_LINKS
        value: '88'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_MLO_LINK_ID
        value: '99'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_TX_NSS_2GHZ
        value: '110'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_FOLLOW_AP_PREFERENCE_FOR_CNDS_SELECT
        value: '121'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_ALLOW_STA_DFS_CH_SCC_P2P
        value: '140'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_ANT_DIV_SWITCH_BT_RSSI_DIFF
        value: '129'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_2X_LDPC_RX
        value: '148'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_TX_CHAIN_MASK_2GHZ
        value: '137'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_TX_STBC
        value: '68'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_IFINDEX
        value: '24'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_ANT_DIV_PROBE_DWELL_TIME
        value: '44'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_RX_REORDER_TIMEOUT_VIDEO
        value: '32'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_TOTAL_BEACON_MISS_COUNT
        value: '52'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_SUB20_CHAN_WIDTH
        value: '39'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_TX_MPDU_AGGREGATION
        value: '8'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_SCAN_DEFAULT_IES
        value: '16'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_BEACON_REPORT_FAIL
        value: '60'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_INTF_OFFLOAD_TYPE
        value: '120'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_EHT_EMLSR_LINKS
        value: '132'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_ALLOW_STA_INDOOR_CH_SCC
        value: '139'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_EPCS_FUNCTION
        value: '98'
      item_type: enum
      name: qca_wlan_vendor_attr_config
      pos:
        line_end: 4550
        line_start: 3339
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_UL_MU_SUSPEND
        value: '0'
      - name: QCA_UL_MU_ENABLE
        value: '1'
      item_type: enum
      name: qca_ul_mu_config
      pos:
        line_end: 4568
        line_start: 4565
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_DBAM_DISABLE
        value: '0'
      - name: QCA_DBAM_ENABLE
        value: '1'
      - name: QCA_DBAM_FORCE_ENABLE
        value: '2'
      item_type: enum
      name: qca_dbam_config
      pos:
        line_end: 4581
        line_start: 4577
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_ANI_SETTING_AUTO
        value: '0'
      - name: QCA_WLAN_ANI_SETTING_FIXED
        value: '1'
      item_type: enum
      name: qca_wlan_ani_setting
      pos:
        line_end: 4591
        line_start: 4588
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_SAP_CONFIG_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_SAP_CONFIG_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_SAP_CONFIG_FREQUENCY
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_SAP_MANDATORY_FREQUENCY_LIST
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_SAP_CONFIG_CHANNEL
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_SAP_CONFIG_MAX
        value: QCA_WLAN_VENDOR_ATTR_SAP_CONFIG_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_sap_config
      pos:
        line_end: 4624
        line_start: 4608
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_SAP_CONDITIONAL_CHAN_SWITCH_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_SAP_CONDITIONAL_CHAN_SWITCH_STATUS
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_SAP_CONDITIONAL_CHAN_SWITCH_FREQ_LIST
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_SAP_CONDITIONAL_CHAN_SWITCH_MAX
        value: QCA_WLAN_VENDOR_ATTR_SAP_CONDITIONAL_CHAN_SWITCH_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_SAP_CONDITIONAL_CHAN_SWITCH_AFTER_LAST
      item_type: enum
      name: qca_wlan_vendor_attr_sap_conditional_chan_switch
      pos:
        line_end: 4644
        line_start: 4630
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_GPIO_PARAM_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_GPIO_PARAM_PULL_TYPE
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_GPIO_PARAM_COMMAND
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_GPIO_PARAM_VALUE
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_GPIO_PARAM_PINNUM
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_GPIO_PARAM_INTR_MODE
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_GPIO_PARAM_DIR
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_GPIO_PARAM_MUX_CONFIG
        value: '7'
      - name: QCA_WLAN_VENDOR_ATTR_GPIO_PARAM_DRIVE
        value: '8'
      - name: QCA_WLAN_VENDOR_ATTR_GPIO_PARAM_INTERNAL_CONFIG
        value: '9'
      - name: QCA_WLAN_VENDOR_ATTR_GPIO_PARAM_MAX
        value: QCA_WLAN_VENDOR_ATTR_GPIO_PARAM_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_GPIO_PARAM_LAST
      item_type: enum
      name: qca_wlan_gpio_attr
      pos:
        line_end: 4734
        line_start: 4709
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_GPIO_CONFIG
        value: '0'
      - name: QCA_WLAN_VENDOR_GPIO_OUTPUT
        value: '1'
      item_type: enum
      name: qca_gpio_cmd_type
      pos:
        line_end: 4744
        line_start: 4741
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_GPIO_PULL_NONE
        value: '0'
      - name: QCA_WLAN_GPIO_PULL_DOWN
        value: '2'
      - name: QCA_WLAN_GPIO_PULL_UP
        value: '1'
      - name: QCA_WLAN_GPIO_PULL_MAX
      item_type: enum
      name: qca_gpio_pull_type
      pos:
        line_end: 4757
        line_start: 4752
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_GPIO_INPUT
        value: '0'
      - name: QCA_WLAN_GPIO_OUTPUT
        value: '1'
      - name: QCA_WLAN_GPIO_DIR_MAX
      item_type: enum
      name: qca_gpio_direction
      pos:
        line_end: 4769
        line_start: 4765
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_GPIO_LEVEL_LOW
        value: '0'
      - name: QCA_WLAN_GPIO_LEVEL_MAX
      - name: QCA_WLAN_GPIO_LEVEL_HIGH
        value: '1'
      item_type: enum
      name: qca_gpio_value
      pos:
        line_end: 4781
        line_start: 4777
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_GPIO_INTMODE_DISABLE
        value: '0'
      - name: QCA_WLAN_GPIO_INTMODE_FALLING_EDGE
        value: '2'
      - name: QCA_WLAN_GPIO_INTMODE_RISING_EDGE
        value: '1'
      - name: QCA_WLAN_GPIO_INTMODE_LEVEL_LOW
        value: '4'
      - name: QCA_WLAN_GPIO_INTMODE_BOTH_EDGE
        value: '3'
      - name: QCA_WLAN_GPIO_INTMODE_LEVEL_HIGH
        value: '5'
      - name: QCA_WLAN_GPIO_INTMODE_MAX
      item_type: enum
      name: qca_gpio_interrupt_mode
      pos:
        line_end: 4801
        line_start: 4793
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_GPIO_DRIVE_2MA
        value: '0'
      - name: QCA_WLAN_GPIO_DRIVE_10MA
        value: '4'
      - name: QCA_WLAN_GPIO_DRIVE_8MA
        value: '3'
      - name: QCA_WLAN_GPIO_DRIVE_4MA
        value: '1'
      - name: QCA_WLAN_GPIO_DRIVE_6MA
        value: '2'
      - name: QCA_WLAN_GPIO_DRIVE_12MA
        value: '5'
      - name: QCA_WLAN_GPIO_DRIVE_14MA
        value: '6'
      - name: QCA_WLAN_GPIO_DRIVE_16MA
        value: '7'
      - name: QCA_WLAN_GPIO_DRIVE_MAX
      item_type: enum
      name: qca_gpio_drive
      pos:
        line_end: 4825
        line_start: 4815
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_QDEPTH_THRESH_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_QDEPTH_THRESH_UPDATE_MASK
      - name: QCA_WLAN_VENDOR_ATTR_QDEPTH_THRESH_VALUE
      - name: QCA_WLAN_VENDOR_ATTR_QDEPTH_THRESH_TID
      - name: QCA_WLAN_VENDOR_ATTR_QDEPTH_THRESH_MAC_ADDR
      - name: QCA_WLAN_VENDOR_ATTR_QDEPTH_THRESH_LAST
      - name: QCA_WLAN_VENDOR_ATTR_QDEPTH_THRESH_MAX
        value: QCA_WLAN_VENDOR_ATTR_QDEPTH_THRESH_LAST - 1
      item_type: enum
      name: qca_wlan_set_qdepth_thresh_attr
      pos:
        line_end: 4855
        line_start: 4834
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_ACS_DFS_MODE_NONE
        value: '0'
      - name: QCA_ACS_DFS_MODE_DISABLE
        value: '2'
      - name: QCA_ACS_DFS_MODE_ENABLE
        value: '1'
      - name: QCA_ACS_DFS_MODE_DEPRIORITIZE
        value: '3'
      item_type: enum
      name: qca_acs_dfs_mode
      pos:
        line_end: 4871
        line_start: 4866
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_ACS_MODE_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_ACS_CHANNEL_HINT
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_ACS_DFS_MODE
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_ACS_DFS_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_ACS_FREQUENCY_HINT
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_ACS_DFS_MAX
        value: QCA_WLAN_VENDOR_ATTR_ACS_DFS_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_acs_config
      pos:
        line_end: 4903
        line_start: 4894
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_HW_CAPABILITY_INVALID
      - name: QCA_WLAN_VENDOR_ATTR_HW_CAPABILITY_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_HW_CAPABILITY_MAX
        value: QCA_WLAN_VENDOR_ATTR_HW_CAPABILITY_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_GET_HW_CAPABILITY
      - name: QCA_WLAN_VENDOR_ATTR_ANTENNA_ISOLATION
      item_type: enum
      name: qca_wlan_vendor_attr_get_hw_capability
      pos:
        line_end: 4931
        line_start: 4908
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_TID
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_PEER_PS_STATE
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_GLOBAL
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_SIGNAL_BITMAP
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_PEER_ID
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_PEER
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_TX_PPDU
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_TX_RETRY
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_TX_SUCC_MCS_NUM
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_TX_FAIL_MCS
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_RX_MPDU_DISCARD
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_PEER_PS_DURATION
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_RX_MPDU_RETRY
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_TX_TIME
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_MEASUREMENT_TIME
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_RX_AGGR_NUM
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_MAX
        value: QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_IN_BSS_TIME
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_CFG_PERIOD
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_TX_STATUS
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_IFACE_ID
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_CCA_BSS_BITMAP
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_CCA_BSS
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_TX_MPDU
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_TX_DROP_BYTES
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_TX_AGGR_NUM
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_TX_SUCC_MCS
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_RX_MPDU
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_RX_MPDU_DUP
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_TX_BAD
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_IFACE_RSSI_BEACON
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_PEER_ANT_NUM
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_RX_MPDU_BYTES
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_NO_AVAIL
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_PEER_PS_TIMES
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_PEER_PS_CHG
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_NUM_MSDU
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_EVENT_MODE
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_CHANNEL_NUM
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_RX_BITMAP
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_TX_DROP
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_TX_NO_BACK
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_TX_AGGR
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_TX_DELAY
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_RX_PPDU
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_RX_MCS
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_ANT_NF
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_IFACE_SNR_BEACON
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_RX_AGGR
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_IDLE_TIME
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_OUT_BSS_TIME
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_RX_BAD
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_CFG_THRESHOLD
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_PEER_MAC_ADDRESS
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_PEER_NUM
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_TX_BITMAP
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_TX_MSDU
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_TX_BYTES
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_TX_NO_ACK
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_TX_FAIL_MCS_NUM
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_DELAY_ARRAY_SIZE
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_RX_TIME
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_PAD
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_PEER_SIGNAL
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_RX_PPDU_BYTES
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_RX_PROBE_REQ
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_RX_BUSY
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_RX_MGMT
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_ANT_SNR
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_REPORT_TIME
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_RX_MPDU_LOST
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_LAST
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_RX_MCS_NUM
      item_type: enum
      name: qca_wlan_vendor_attr_ll_stats_ext
      pos:
        line_end: 5185
        line_start: 5086
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_LOC_CAPA_INVALID
      - name: QCA_WLAN_VENDOR_ATTR_FTM_CAPA_MAX_NUM_SESSIONS
      - name: QCA_WLAN_VENDOR_ATTR_LOC_CAPA_FLAGS
      - name: QCA_WLAN_VENDOR_ATTR_FTM_CAPA_MAX_NUM_BURSTS_EXP
      - name: QCA_WLAN_VENDOR_ATTR_FTM_CAPA_MAX_NUM_PEERS
      - name: QCA_WLAN_VENDOR_ATTR_FTM_CAPA_MAX_MEAS_PER_BURST
      - name: QCA_WLAN_VENDOR_ATTR_AOA_CAPA_SUPPORTED_TYPES
      - name: QCA_WLAN_VENDOR_ATTR_LOC_CAPA_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_LOC_CAPA_MAX
        value: QCA_WLAN_VENDOR_ATTR_LOC_CAPA_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_loc_capa
      pos:
        line_end: 5223
        line_start: 5211
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_LOC_CAPA_FLAG_FTM_RESPONDER
        value: 1 << 0
      - name: QCA_WLAN_VENDOR_ATTR_LOC_CAPA_FLAG_FTM_INITIATOR
        value: 1 << 1
      - name: QCA_WLAN_VENDOR_ATTR_LOC_CAPA_FLAG_AOA
        value: 1 << 3
      - name: QCA_WLAN_VENDOR_ATTR_LOC_CAPA_FLAG_AOA_IN_FTM
        value: 1 << 4
      - name: QCA_WLAN_VENDOR_ATTR_LOC_CAPA_FLAG_ASAP
        value: 1 << 2
      item_type: enum
      name: qca_wlan_vendor_attr_loc_capa_flags
      pos:
        line_end: 5248
        line_start: 5242
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_FTM_PEER_INVALID
      - name: QCA_WLAN_VENDOR_ATTR_FTM_PEER_SECURE_TOKEN_ID
      - name: QCA_WLAN_VENDOR_ATTR_FTM_PEER_MAC_ADDR
      - name: QCA_WLAN_VENDOR_ATTR_FTM_PEER_MEAS_FLAGS
      - name: QCA_WLAN_VENDOR_ATTR_FTM_PEER_MEAS_PARAMS
      - name: QCA_WLAN_VENDOR_ATTR_FTM_PEER_AOA_BURST_PERIOD
      - name: QCA_WLAN_VENDOR_ATTR_FTM_PEER_FREQ
      - name: QCA_WLAN_VENDOR_ATTR_FTM_PEER_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_FTM_PEER_MAX
        value: QCA_WLAN_VENDOR_ATTR_FTM_PEER_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_ftm_peer_info
      pos:
        line_end: 5283
        line_start: 5271
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_FTM_PEER_MEAS_FLAG_ASAP
        value: 1 << 0
      - name: QCA_WLAN_VENDOR_ATTR_FTM_PEER_MEAS_FLAG_SECURE
        value: 1 << 3
      - name: QCA_WLAN_VENDOR_ATTR_FTM_PEER_MEAS_FLAG_LCI
        value: 1 << 1
      - name: QCA_WLAN_VENDOR_ATTR_FTM_PEER_MEAS_FLAG_LCR
        value: 1 << 2
      item_type: enum
      name: qca_wlan_vendor_attr_ftm_peer_meas_flags
      pos:
        line_end: 5308
        line_start: 5303
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_FTM_PARAM_INVALID
      - name: QCA_WLAN_VENDOR_ATTR_FTM_PARAM_MEAS_PER_BURST
      - name: QCA_WLAN_VENDOR_ATTR_FTM_PARAM_BURST_DURATION
      - name: QCA_WLAN_VENDOR_ATTR_FTM_PARAM_NUM_BURSTS_EXP
      - name: QCA_WLAN_VENDOR_ATTR_FTM_PARAM_BURST_PERIOD
      - name: QCA_WLAN_VENDOR_ATTR_FTM_PARAM_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_FTM_PARAM_MAX
        value: QCA_WLAN_VENDOR_ATTR_FTM_PARAM_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_ftm_meas_param
      pos:
        line_end: 5333
        line_start: 5323
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_FTM_PEER_RES_INVALID
      - name: QCA_WLAN_VENDOR_ATTR_FTM_PEER_RES_MAC_ADDR
      - name: QCA_WLAN_VENDOR_ATTR_FTM_PEER_RES_FLAGS
      - name: QCA_WLAN_VENDOR_ATTR_FTM_PEER_RES_STATUS
      - name: QCA_WLAN_VENDOR_ATTR_FTM_PEER_RES_VALUE_SECONDS
      - name: QCA_WLAN_VENDOR_ATTR_FTM_PEER_RES_LCI
      - name: QCA_WLAN_VENDOR_ATTR_FTM_PEER_RES_LCR
      - name: QCA_WLAN_VENDOR_ATTR_FTM_PEER_RES_MEAS_PARAMS
      - name: QCA_WLAN_VENDOR_ATTR_FTM_PEER_RES_AOA_MEAS
      - name: QCA_WLAN_VENDOR_ATTR_FTM_PEER_RES_MEAS
      - name: QCA_WLAN_VENDOR_ATTR_FTM_PEER_RES_MAX
        value: QCA_WLAN_VENDOR_ATTR_FTM_PEER_RES_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_FTM_PEER_RES_AFTER_LAST
      item_type: enum
      name: qca_wlan_vendor_attr_ftm_peer_result
      pos:
        line_end: 5379
        line_start: 5364
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_FTM_PEER_RES_STATUS_OK
      - name: QCA_WLAN_VENDOR_ATTR_FTM_PEER_RES_STATUS_FAILED
      - name: QCA_WLAN_VENDOR_ATTR_FTM_PEER_RES_STATUS_INCAPABLE
      - name: QCA_WLAN_VENDOR_ATTR_FTM_PEER_RES_STATUS_INVALID
      item_type: enum
      name: qca_wlan_vendor_attr_ftm_peer_result_status
      pos:
        line_end: 5403
        line_start: 5398
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_FTM_PEER_RES_FLAG_DONE
        value: 1 << 0
      item_type: enum
      name: qca_wlan_vendor_attr_ftm_peer_result_flags
      pos:
        line_end: 5415
        line_start: 5413
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_LOC_SESSION_STATUS_OK
      - name: QCA_WLAN_VENDOR_ATTR_LOC_SESSION_STATUS_FAILED
      - name: QCA_WLAN_VENDOR_ATTR_LOC_SESSION_STATUS_INVALID
      - name: QCA_WLAN_VENDOR_ATTR_LOC_SESSION_STATUS_ABORTED
      item_type: enum
      name: qca_vendor_attr_loc_session_status
      pos:
        line_end: 5434
        line_start: 5429
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_FTM_MEAS_INVALID
      - name: QCA_WLAN_VENDOR_ATTR_FTM_MEAS_T1
      - name: QCA_WLAN_VENDOR_ATTR_FTM_MEAS_T3
      - name: QCA_WLAN_VENDOR_ATTR_FTM_MEAS_T2
      - name: QCA_WLAN_VENDOR_ATTR_FTM_MEAS_T4
      - name: QCA_WLAN_VENDOR_ATTR_FTM_MEAS_RSSI
      - name: QCA_WLAN_VENDOR_ATTR_FTM_MEAS_TOD_ERR
      - name: QCA_WLAN_VENDOR_ATTR_FTM_MEAS_TOA_ERR
      - name: QCA_WLAN_VENDOR_ATTR_FTM_MEAS_INITIATOR_TOD_ERR
      - name: QCA_WLAN_VENDOR_ATTR_FTM_MEAS_INITIATOR_TOA_ERR
      - name: QCA_WLAN_VENDOR_ATTR_FTM_MEAS_MAX
        value: QCA_WLAN_VENDOR_ATTR_FTM_MEAS_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_FTM_MEAS_PAD
      - name: QCA_WLAN_VENDOR_ATTR_FTM_MEAS_AFTER_LAST
      item_type: enum
      name: qca_wlan_vendor_attr_ftm_meas
      pos:
        line_end: 5485
        line_start: 5469
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_AOA_TYPE_TOP_CIR_PHASE
      - name: QCA_WLAN_VENDOR_ATTR_AOA_TYPE_MAX
      - name: QCA_WLAN_VENDOR_ATTR_AOA_TYPE_TOP_CIR_PHASE_AMP
      item_type: enum
      name: qca_wlan_vendor_attr_aoa_type
      pos:
        line_end: 5499
        line_start: 5495
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_ENCRYPTION_TEST_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_ENCRYPTION_TEST_CIPHER
      - name: QCA_WLAN_VENDOR_ATTR_ENCRYPTION_TEST_NEEDS_DECRYPTION
      - name: QCA_WLAN_VENDOR_ATTR_ENCRYPTION_TEST_TK
      - name: QCA_WLAN_VENDOR_ATTR_ENCRYPTION_TEST_KEYID
      - name: QCA_WLAN_VENDOR_ATTR_ENCRYPTION_TEST_PN
      - name: QCA_WLAN_VENDOR_ATTR_ENCRYPTION_TEST_DATA
      - name: QCA_WLAN_VENDOR_ATTR_ENCRYPTION_TEST_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_ENCRYPTION_TEST_MAX
        value: QCA_WLAN_VENDOR_ATTR_ENCRYPTION_TEST_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_encryption_test
      pos:
        line_end: 5537
        line_start: 5524
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_TYPE_RX
      - name: QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_TYPE_TX
      - name: QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_TYPE_MAX
      item_type: enum
      name: qca_wlan_vendor_attr_dmg_rf_sector_type
      pos:
        line_end: 5550
        line_start: 5546
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_FW_STATE_ERROR
      - name: QCA_WLAN_VENDOR_ATTR_FW_STATE_ACTIVE
      - name: QCA_WLAN_VENDOR_ATTR_FW_STATE_MAX
      item_type: enum
      name: qca_wlan_vendor_attr_fw_state
      pos:
        line_end: 5562
        line_start: 5558
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_BRP_ANT_LIMIT_MODE_DISABLE
      - name: QCA_WLAN_VENDOR_ATTR_BRP_ANT_LIMIT_MODE_MAX
      - name: QCA_WLAN_VENDOR_ATTR_BRP_ANT_LIMIT_MODE_FORCE
      - name: QCA_WLAN_VENDOR_ATTR_BRP_ANT_LIMIT_MODE_EFFECTIVE
      item_type: enum
      name: qca_wlan_vendor_attr_brp_ant_limit_mode
      pos:
        line_end: 5580
        line_start: 5575
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_CFG_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_CFG_MODULE_INDEX
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_CFG_ETYPE0
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_CFG_ETYPE2
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_CFG_ETYPE1
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_CFG_PSH_HI
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_CFG_PSH_LO
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_CFG_DTYPE_X16
        value: '7'
      - name: QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_CFG_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_CFG_MAX
        value: QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_CFG_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_dmg_rf_sector_cfg
      pos:
        line_end: 5625
        line_start: 5611
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_SET_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_SET_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_SET_MAX
        value: QCA_WLAN_VENDOR_ATTR_LL_STATS_SET_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_SET_CONFIG_AGGRESSIVE_STATS_GATHERING
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_SET_CONFIG_MPDU_SIZE_THRESHOLD
        value: '1'
      item_type: enum
      name: qca_wlan_vendor_attr_ll_stats_set
      pos:
        line_end: 5636
        line_start: 5627
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_LL_STATS_CLR_REQ_BITMAP_RADIO
        value: BIT(0)
      - name: QCA_WLAN_LL_STATS_CLR_REQ_BITMAP_RADIO_CHANNELS
        value: BIT(2)
      - name: QCA_WLAN_LL_STATS_CLR_REQ_BITMAP_RADIO_SCAN
        value: BIT(3)
      - name: QCA_WLAN_LL_STATS_CLR_REQ_BITMAP_IFACE
        value: BIT(4)
      - name: QCA_WLAN_LL_STATS_CLR_REQ_BITMAP_RADIO_CCA
        value: BIT(1)
      - name: QCA_WLAN_LL_STATS_CLR_REQ_BITMAP_IFACE_TXRATE
        value: BIT(5)
      - name: QCA_WLAN_LL_STATS_CLR_REQ_BITMAP_IFACE_AC
        value: BIT(6)
      - name: QCA_WLAN_LL_STATS_CLR_REQ_BITMAP_IFACE_CONTENTION
        value: BIT(7)
      - name: QCA_WLAN_LL_STATS_CLR_REQ_BITMAP_IFACE_ALL_PEER
        value: BIT(8)
      - name: QCA_WLAN_LL_STATS_CLR_REQ_BITMAP_IFACE_PER_PEER
        value: BIT(9)
      item_type: enum
      name: qca_wlan_ll_stats_clr_req_bitmap
      pos:
        line_end: 5681
        line_start: 5670
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_CLR_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_CLR_CONFIG_STOP_RSP
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_CLR_CONFIG_RSP_MASK
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_CLR_CONFIG_STOP_REQ
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_CLR_CONFIG_REQ_MASK
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_CLR_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_CLR_MAX
        value: QCA_WLAN_VENDOR_ATTR_LL_STATS_CLR_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_ll_stats_clr
      pos:
        line_end: 5704
        line_start: 5683
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_LL_STATS_GET_REQ_BITMAP_RADIO
        value: BIT(0)
      - name: QCA_WLAN_LL_STATS_GET_REQ_BITMAP_IFACE
        value: BIT(1)
      - name: QCA_WLAN_LL_STATS_GET_REQ_BITMAP_ALL_PEER
        value: BIT(2)
      - name: QCA_WLAN_LL_STATS_GET_REQ_BITMAP_PER_PEER
        value: BIT(3)
      item_type: enum
      name: qca_wlan_ll_stats_get_req_bitmap
      pos:
        line_end: 5723
        line_start: 5718
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_GET_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_GET_MAX
        value: QCA_WLAN_VENDOR_ATTR_LL_STATS_GET_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_GET_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_GET_CONFIG_REQ_MASK
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_GET_CONFIG_REQ_ID
        value: '1'
      item_type: enum
      name: qca_wlan_vendor_attr_ll_stats_get
      pos:
        line_end: 5741
        line_start: 5725
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_MGMT_ACTION_TX
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_INFO_CAPABILITIES
        value: '13'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_ON_TIME_SCAN
        value: '53'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_CHANNEL_INFO_CENTER_FREQ
        value: '61'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_PEER_INFO_NUM_RATES
        value: '37'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_MPDU_LOST
        value: '45'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_TX_MCAST
        value: '21'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_CONTENTION_TIME_MIN
        value: '29'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_RESULTS_MORE_DATA
        value: '71'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_RTS_SUCC_CNT
        value: '79'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_CHANNEL_TX_TIME
        value: '84'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_MLO_LINK_ID
        value: '92'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_SNR
        value: '100'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_TX_AMPDU
        value: '24'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_CHANNEL_ON_TIME
        value: '64'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_RETRIES_LONG
        value: '48'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_RSSI_ACK
        value: '8'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_INFO_AP_COUNTRY_STR
        value: '16'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_ON_TIME_ROAM_SCAN
        value: '56'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_CONTENTION_NUM_SAMPLES
        value: '32'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_BW
        value: '40'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_LEAKY_AP_AVG_NUM_FRAMES_LEAKED
        value: '74'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_PPDU_FAIL_CNT
        value: '82'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_INFO_TS_DUTY_CYCLE
        value: '87'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_TX_SUCC_MSDU_CNT
        value: '95'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_MAX
        value: QCA_WLAN_VENDOR_ATTR_LL_STATS_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_RSSI_DATA
        value: '7'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_INFO_BSSID
        value: '15'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_ON_TIME_GSCAN
        value: '55'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_CONTENTION_TIME_AVG
        value: '31'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_NSS
        value: '39'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_RX_AMPDU
        value: '23'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_CHANNEL_INFO_CENTER_FREQ1
        value: '63'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_RETRIES_SHORT
        value: '47'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_LEAKY_AP_DETECTED
        value: '73'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_PPDU_SUCC_CNT
        value: '81'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_CHANNEL_LOAD_PERCENTAGE
        value: '86'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_TX_RETRY_MSDU_CNT
        value: '94'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_NUM_RADIOS
        value: '66'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_BIT_RATE
        value: '42'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_ON_TIME
        value: '50'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_RETRIES
        value: '26'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_BEACON_RX
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_AC
        value: '18'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_INFO_MAC_ADDR
        value: '10'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_PEER_INFO_TYPE
        value: '34'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_ON_TIME_HS20
        value: '58'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_PEER_INFO
        value: '68'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_TYPE
        value: '76'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_TIM_BEACON_ERR
        value: '89'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_TX_DRIVER_DROP_MSDU_CNT
        value: '97'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_RESULTS_REQ_ID
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_INFO_MODE
        value: '9'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_INFO_COUNTRY_STR
        value: '17'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_ON_TIME_PNO_SCAN
        value: '57'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_NUM_PEERS
        value: '33'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_MCS_INDEX
        value: '41'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_MPDU_LOST
        value: '25'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_CHANNEL_CCA_BUSY_TIME
        value: '65'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_ID
        value: '49'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_CH_INFO
        value: '67'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_LEAKY_AP_GUARD_TIME
        value: '75'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_PENDING_MSDU
        value: '83'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_TIM_BEACON
        value: '88'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_TX_FW_DROP_MSDU_CNT
        value: '96'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_RX_MPDU
        value: '44'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_RX_TIME
        value: '52'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_RETRIES_LONG
        value: '28'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_MGMT_ACTION_RX
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_INFO_ROAMING
        value: '12'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_PEER_INFO_CAPABILITIES
        value: '36'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_RX_MPDU
        value: '20'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_CHANNEL_INFO_WIDTH
        value: '60'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_INFO
        value: '70'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_TX_TIME_PER_LEVEL
        value: '78'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_PAD
        value: '91'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_RX_DRIVER_MPDU_CNT
        value: '99'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_MGMT_RX
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_INFO_STATE
        value: '11'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_TX_MPDU
        value: '19'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_PEER_INFO_MAC_ADDRESS
        value: '35'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_NUM_CHANNELS
        value: '59'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_TX_MPDU
        value: '43'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_TX_TIME
        value: '51'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_RETRIES_SHORT
        value: '27'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_PEER_INFO_RATE_INFO
        value: '69'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_NUM_TX_LEVELS
        value: '77'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_NF_CAL_VAL
        value: '90'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_RX_DRIVER_MSDU_CNT
        value: '98'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_RETRIES
        value: '46'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_RX_MCAST
        value: '22'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_CONTENTION_TIME_MAX
        value: '30'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_RSSI_MGMT
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_INFO_SSID
        value: '14'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_ON_TIME_NBD
        value: '54'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_CHANNEL_INFO_CENTER_FREQ0
        value: '62'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_PREAMBLE
        value: '38'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_AVERAGE_TSF_OFFSET
        value: '72'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_RTS_FAIL_CNT
        value: '80'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_CHANNEL_RX_TIME
        value: '85'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_MLO_LINK
        value: '93'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_AFTER_LAST
      item_type: enum
      name: qca_wlan_vendor_attr_ll_stats_results
      pos:
        line_end: 6276
        line_start: 5743
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_NL80211_VENDOR_SUBCMD_LL_STATS_TYPE_INVALID
        value: '0'
      - name: QCA_NL80211_VENDOR_SUBCMD_LL_STATS_TYPE_AFTER_LAST
      - name: QCA_NL80211_VENDOR_SUBCMD_LL_STATS_TYPE_PEERS
        value: '3'
      - name: QCA_NL80211_VENDOR_SUBCMD_LL_STATS_TYPE_RADIO
        value: '1'
      - name: QCA_NL80211_VENDOR_SUBCMD_LL_STATS_TYPE_IFACE
        value: '2'
      - name: QCA_NL80211_VENDOR_SUBCMD_LL_STATS_TYPE_MAX
        value: QCA_NL80211_VENDOR_SUBCMD_LL_STATS_TYPE_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_ll_stats_type
      pos:
        line_end: 6288
        line_start: 6278
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_SNR_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_SNR_UPPER_BOUND
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_SNR_LOWER_BOUND
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_SNR_STEP
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_SNR_MEAS_DUR_US
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_SNR_BIN_COUNT
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_SNR_BIN_DATA
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_SNR_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_LL_STATS_SNR_MAX
        value: QCA_WLAN_VENDOR_ATTR_LL_STATS_SNR_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_ll_stats_snr
      pos:
        line_end: 6346
        line_start: 6333
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_TRIGGER_MODE
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_TX_THRESHOLD
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_TX_STATS_PERIOD
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_DISCOVERY_PERIOD
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_MAX_DISCOVERY_ATTEMPT
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_IDLE_TIMEOUT
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_IDLE_PACKET_THRESHOLD
        value: '7'
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_SETUP_RSSI_THRESHOLD
        value: '8'
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_TEARDOWN_RSSI_THRESHOLD
        value: '9'
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_MAX
        value: QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_tdls_configuration
      pos:
        line_end: 6397
        line_start: 6379
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_TDLS_TRIGGER_MODE_EXPLICIT
        value: 1 << 0
      - name: QCA_WLAN_VENDOR_TDLS_TRIGGER_MODE_IMPLICIT
        value: 1 << 1
      - name: QCA_WLAN_VENDOR_TDLS_TRIGGER_MODE_EXTERNAL
        value: 1 << 2
      item_type: enum
      name: qca_wlan_vendor_tdls_trigger_mode
      pos:
        line_end: 6434
        line_start: 6430
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SELECT_BDF0
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SELECT_BDF2
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SELECT_BDF1
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SELECT_BDF4
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SELECT_BDF3
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SELECT_NONE
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SELECT_USER
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SELECT_V2_0
        value: '7'
      - name: QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SELECT_V3_0
        value: '8'
      - name: QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SELECT_V4_0
        value: '9'
      - name: QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SELECT_V5_0
        value: '10'
      item_type: enum
      name: qca_vendor_attr_sar_limits_selections
      pos:
        line_end: 6480
        line_start: 6468
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_POWER_SCENARIO_VOICE_CALL
        value: '0'
      - name: QCA_WLAN_POWER_SCENARIO_ON_BODY_CELL_OFF
        value: '3'
      - name: QCA_WLAN_POWER_SCENARIO_ON_HEAD_HOTSPOT_MMW
        value: '7'
      - name: QCA_WLAN_POWER_SCENARIO_ON_BODY_HOTSPOT_MMW
        value: '11'
      - name: QCA_WLAN_POWER_SCENARIO_ON_HEAD_HOTSPOT_UNFOLDED
        value: '15'
      - name: QCA_WLAN_POWER_SCENARIO_ON_BODY_CELL_ON_UNFOLDED
        value: '19'
      - name: QCA_WLAN_POWER_SCENARIO_ON_BODY_HOTSPOT_MMW_UNFOLDED
        value: '23'
      - name: QCA_WLAN_POWER_SCENARIO_ON_BODY_BT_UNFOLDED_CAP
        value: '27'
      - name: QCA_WLAN_POWER_SCENARIO_ON_BODY_BT_CAP
        value: '31'
      - name: QCA_WLAN_POWER_SCENARIO_ON_HEAD_CELL_ON
        value: '2'
      - name: QCA_WLAN_POWER_SCENARIO_ON_HEAD_HOTSPOT
        value: '6'
      - name: QCA_WLAN_POWER_SCENARIO_ON_BODY_BT_UNFOLDED
        value: '18'
      - name: QCA_WLAN_POWER_SCENARIO_ON_HEAD_CELL_ON_UNFOLDED
        value: '14'
      - name: QCA_WLAN_POWER_SCENARIO_ON_BODY_HOTSPOT_BT
        value: '10'
      - name: QCA_WLAN_POWER_SCENARIO_ON_BODY_HOTSPOT_BT_UNFOLDED
        value: '22'
      - name: QCA_WLAN_POWER_SCENARIO_ON_BODY_CELL_OFF_UNFOLDED_CAP
        value: '26'
      - name: QCA_WLAN_POWER_SCENARIO_ON_BODY_CELL_OFF_CAP
        value: '30'
      - name: QCA_WLAN_POWER_SCENARIO_ON_HEAD_CELL_OFF
        value: '1'
      - name: QCA_WLAN_POWER_SCENARIO_ON_BODY_BT
        value: '5'
      - name: QCA_WLAN_POWER_SCENARIO_ON_BODY_HOTSPOT
        value: '9'
      - name: QCA_WLAN_POWER_SCENARIO_ON_BODY_CELL_OFF_UNFOLDED
        value: '17'
      - name: QCA_WLAN_POWER_SCENARIO_ON_HEAD_CELL_OFF_UNFOLDED
        value: '13'
      - name: QCA_WLAN_POWER_SCENARIO_ON_BODY_HOTSPOT_UNFOLDED
        value: '21'
      - name: QCA_WLAN_POWER_SCENARIO_ON_BODY_REAR_CAMERA
        value: '25'
      - name: QCA_WLAN_POWER_SCENARIO_ON_BODY_CELL_ON_BT_UNFOLDED_CAP
        value: '29'
      - name: QCA_WLAN_POWER_SCENARIO_ON_BODY_CELL_ON_BT_CAP
        value: '33'
      - name: QCA_WLAN_POWER_SCENARIO_ON_BODY_CELL_ON
        value: '4'
      - name: QCA_WLAN_POWER_SCENARIO_ON_BODY_CELL_ON_BT
        value: '8'
      - name: QCA_WLAN_POWER_SCENARIO_ON_HEAD_HOTSPOT_MMW_UNFOLDED
        value: '16'
      - name: QCA_WLAN_POWER_SCENARIO_ON_BODY_HOTSPOT_BT_MMW
        value: '12'
      - name: QCA_WLAN_POWER_SCENARIO_ON_BODY_CELL_ON_BT_UNFOLDED
        value: '20'
      - name: QCA_WLAN_POWER_SCENARIO_ON_BODY_HOTSPOT_BT_MMW_UNFOLDED
        value: '24'
      - name: QCA_WLAN_POWER_SCENARIO_ON_BODY_CELL_ON_UNFOLDED_CAP
        value: '28'
      - name: QCA_WLAN_POWER_SCENARIO_ON_BODY_CELL_ON_CAP
        value: '32'
      item_type: enum
      name: qca_wlan_power_scenario
      pos:
        line_end: 6668
        line_start: 6633
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SPEC_MODULATION_CCK
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SPEC_MODULATION_OFDM
        value: '1'
      item_type: enum
      name: qca_vendor_attr_sar_limits_spec_modulations
      pos:
        line_end: 6688
        line_start: 6685
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SAR_ENABLE
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SPEC
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_NUM_SPECS
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SPEC_BAND
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SPEC_CHAIN
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SPEC_MODULATION
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SPEC_POWER_LIMIT
        value: '7'
      - name: QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SPEC_POWER_LIMIT_INDEX
        value: '8'
      - name: QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SPEC_USER_SCENARIO
        value: '9'
      - name: QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_MAX
        value: QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_AFTER_LAST - 1
      item_type: enum
      name: qca_vendor_attr_sar_limits
      pos:
        line_end: 6775
        line_start: 6760
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_INFO_GET_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_INFO_RADIO_INDEX
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_INFO_FIRMWARE_VERSION
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_INFO_GET_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_INFO_DRIVER_VERSION
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_INFO_GET_MAX
        value: QCA_WLAN_VENDOR_ATTR_WIFI_INFO_GET_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_get_wifi_info
      pos:
        line_end: 6807
        line_start: 6797
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_LOGGER_START_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_LOGGER_START_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_LOGGER_FLAGS
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_LOGGER_RING_ID
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_LOGGER_VERBOSE_LEVEL
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_LOGGER_START_GET_MAX
        value: QCA_WLAN_VENDOR_ATTR_WIFI_LOGGER_START_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_wifi_logger_start
      pos:
        line_end: 6823
        line_start: 6813
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_LOGGER_RESULTS_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_LOGGER_RESULTS_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_LOGGER_RESULTS_MEMDUMP_SIZE
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_LOGGER_RESULTS_REQUEST_ID
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_LOGGER_RESULTS_MAX
        value: QCA_WLAN_VENDOR_ATTR_LOGGER_RESULTS_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_logger_results
      pos:
        line_end: 6842
        line_start: 6825
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_PREFERRED_SCAN_FREQ_LIST
        value: '1'
      - name: QCA_SPECIFIC_SCAN_FREQ_LIST
        value: '2'
      item_type: enum
      name: qca_scan_freq_list_type
      pos:
        line_end: 6858
        line_start: 6855
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_ATTR_ROAM_CONTROL_SCAN_FREQ_LIST
        value: '1'
      - name: QCA_ATTR_ROAM_CONTROL_SCAN_FREQ_LIST_SCHEME_AFTER_LAST
      - name: QCA_ATTR_ROAM_CONTROL_SCAN_FREQ_LIST_TYPE
        value: '2'
      - name: QCA_ATTR_ROAM_CONTROL_SCAN_FREQ_LIST_SCHEME_MAX
        value: QCA_ATTR_ROAM_CONTROL_SCAN_FREQ_LIST_SCHEME_AFTER_LAST - 1
      item_type: enum
      name: qca_vendor_attr_scan_freq_list_scheme
      pos:
        line_end: 6878
        line_start: 6870
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_ROAM_SCAN_SCHEME_NO_SCAN
        value: '0'
      - name: QCA_ROAM_SCAN_SCHEME_DEFAULT
        value: '4'
      - name: QCA_ROAM_SCAN_SCHEME_PARTIAL_SCAN
        value: '1'
      - name: QCA_ROAM_SCAN_SCHEME_FULL_SCAN
        value: '2'
      - name: QCA_ROAM_SCAN_SCHEME_NEIGHBOR_REPORT_SCAN
        value: '3'
      item_type: enum
      name: qca_roam_scan_scheme
      pos:
        line_end: 6912
        line_start: 6906
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_ROAM_TRIGGER_REASON_PER
        value: 1 << 0
      - name: QCA_ROAM_TRIGGER_REASON_PERIODIC
        value: 1 << 4
      - name: QCA_ROAM_TRIGGER_REASON_POOR_RSSI
        value: 1 << 2
      - name: QCA_ROAM_TRIGGER_REASON_BETTER_RSSI
        value: 1 << 3
      - name: QCA_ROAM_TRIGGER_REASON_BEACON_MISS
        value: 1 << 1
      - name: QCA_ROAM_TRIGGER_REASON_DENSE
        value: 1 << 5
      - name: QCA_ROAM_TRIGGER_REASON_BTM
        value: 1 << 6
      - name: QCA_ROAM_TRIGGER_REASON_BSS_LOAD
        value: 1 << 7
      - name: QCA_ROAM_TRIGGER_REASON_USER_TRIGGER
        value: 1 << 8
      - name: QCA_ROAM_TRIGGER_REASON_DEAUTH
        value: 1 << 9
      - name: QCA_ROAM_TRIGGER_REASON_IDLE
        value: 1 << 10
      - name: QCA_ROAM_TRIGGER_REASON_EXTERNAL_SCAN
        value: 1 << 12
      - name: QCA_ROAM_TRIGGER_REASON_BT_ACTIVITY
        value: 1 << 14
      - name: QCA_ROAM_TRIGGER_REASON_WTC
        value: 1 << 13
      - name: QCA_ROAM_TRIGGER_REASON_TX_FAILURES
        value: 1 << 11
      item_type: enum
      name: qca_vendor_roam_triggers
      pos:
        line_end: 6976
        line_start: 6960
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_ROAM_FAIL_REASON_SCAN_NOT_ALLOWED
        value: '1'
      - name: QCA_ROAM_FAIL_REASON_AUTH_SEND
        value: '5'
      - name: QCA_ROAM_FAIL_REASON_REASSOC_RECV
        value: '9'
      - name: QCA_ROAM_FAIL_REASON_AUTH_INTERNAL_DROP
        value: '13'
      - name: QCA_ROAM_FAIL_REASON_EAPOL_M2_SEND
        value: '17'
      - name: QCA_ROAM_FAIL_REASON_EAPOL_M4_SEND
        value: '21'
      - name: QCA_ROAM_FAIL_REASON_DISCONNECT
        value: '25'
      - name: QCA_ROAM_FAIL_REASON_SAE_PREAUTH_FAIL
        value: '29'
      - name: QCA_ROAM_FAIL_REASON_HOST
        value: '4'
      - name: QCA_ROAM_FAIL_REASON_REASSOC_SEND
        value: '8'
      - name: QCA_ROAM_FAIL_REASON_AUTH_NO_ACK
        value: '12'
      - name: QCA_ROAM_FAIL_REASON_EAPOL_M1_TIMEOUT
        value: '16'
      - name: QCA_ROAM_FAIL_REASON_EAPOL_M3_TIMEOUT
        value: '20'
      - name: QCA_ROAM_FAIL_REASON_NO_SCAN_FOR_FINAL_BEACON_MISS
        value: '24'
      - name: QCA_ROAM_FAIL_REASON_SAE_PREAUTH_TIMEOUT
        value: '28'
      - name: QCA_ROAM_FAIL_REASON_NONE
        value: '0'
      - name: QCA_ROAM_FAIL_REASON_NO_CAND_AP_FOUND
        value: '3'
      - name: QCA_ROAM_FAIL_REASON_NO_AUTH_RESP
        value: '7'
      - name: QCA_ROAM_FAIL_REASON_SCAN_FAIL
        value: '11'
      - name: QCA_ROAM_FAIL_REASON_REASSOC_INTERNAL_DROP
        value: '15'
      - name: QCA_ROAM_FAIL_REASON_EAPOL_M2_NO_ACK
        value: '19'
      - name: QCA_ROAM_FAIL_REASON_EAPOL_M4_NO_ACK
        value: '23'
      - name: QCA_ROAM_FAIL_REASON_SAE_INVALID_PMKID
        value: '27'
      - name: QCA_ROAM_FAIL_REASON_NO_AP_FOUND
        value: '2'
      - name: QCA_ROAM_FAIL_REASON_AUTH_RECV
        value: '6'
      - name: QCA_ROAM_FAIL_REASON_NO_REASSOC_RESP
        value: '10'
      - name: QCA_ROAM_FAIL_REASON_EAPOL_M2_INTERNAL_DROP
        value: '18'
      - name: QCA_ROAM_FAIL_REASON_REASSOC_NO_ACK
        value: '14'
      - name: QCA_ROAM_FAIL_REASON_EAPOL_M4_INTERNAL_DROP
        value: '22'
      - name: QCA_ROAM_FAIL_REASON_RESUME_ABORT
        value: '26'
      - name: QCA_ROAM_FAIL_REASON_CURR_AP_STILL_OK
        value: '30'
      item_type: enum
      name: qca_vendor_roam_fail_reasons
      pos:
        line_end: 7069
        line_start: 7037
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_ROAM_INVOKE_STATUS_NONE
        value: '0'
      - name: QCA_ROAM_INVOKE_STATUS_ROAM_DISALLOW
        value: '4'
      - name: QCA_ROAM_INVOKE_STATUS_AP_SSID_LENGTH_INVALID
        value: '3'
      - name: QCA_ROAM_INVOKE_STATUS_IFACE_INVALID
        value: '1'
      - name: QCA_ROAM_INVOKE_STATUS_OFFLOAD_DISABLE
        value: '2'
      - name: QCA_ROAM_INVOKE_STATUS_NON_ROAMABLE_AP
        value: '5'
      - name: QCA_ROAM_INVOKE_STATUS_ROAM_INTERNAL_FAIL
        value: '6'
      - name: QCA_ROAM_INVOKE_STATUS_DISALLOW
        value: '7'
      - name: QCA_ROAM_INVOKE_STATUS_SCAN_FAIL
        value: '8'
      - name: QCA_ROAM_INVOKE_STATUS_START_ROAM_FAIL
        value: '9'
      - name: QCA_ROAM_INVOKE_STATUS_INVALID_PARAMS
        value: '10'
      - name: QCA_ROAM_INVOKE_STATUS_NO_CAND_AP
        value: '11'
      - name: QCA_ROAM_INVOKE_STATUS_ROAM_FAIL
        value: '12'
      item_type: enum
      name: qca_vendor_roam_invoke_fail_reasons
      pos:
        line_end: 7112
        line_start: 7097
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_ATTR_ROAM_CAND_SEL_CRITERIA_SCORE_RSSI
        value: '1'
      - name: QCA_ATTR_ROAM_CAND_SEL_CRITERIA_RATE
        value: '2'
      - name: QCA_ATTR_ROAM_CAND_SEL_CRITERIA_SCORE_BAND
        value: '4'
      - name: QCA_ATTR_ROAM_CAND_SEL_CRITERIA_SCORE_BW
        value: '3'
      - name: QCA_ATTR_ROAM_CAND_SEL_CRITERIA_SCORE_NSS
        value: '5'
      - name: QCA_ATTR_ROAM_CAND_SEL_CRITERIA_SCORE_CHAN_CONGESTION
        value: '6'
      - name: QCA_ATTR_ROAM_CAND_SEL_CRITERIA_SCORE_BEAMFORMING
        value: '7'
      - name: QCA_ATTR_ROAM_CAND_SEL_CRITERIA_SCORE_OCE_WAN
        value: '8'
      - name: QCA_ATTR_ROAM_CAND_SEL_CRITERIA_RATE_AFTER_LAST
      - name: QCA_ATTR_ROAM_CAND_SEL_CRITERIA_RATE_MAX
        value: QCA_ATTR_ROAM_CAND_SEL_CRITERIA_RATE_AFTER_LAST - 1
      item_type: enum
      name: qca_vendor_attr_roam_candidate_selection_criteria
      pos:
        line_end: 7165
        line_start: 7151
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_ATTR_ROAM_CONTROL_SCAN_PERIOD
        value: '5'
      - name: QCA_ATTR_ROAM_CONTROL_SCAN_SCHEME
        value: '9'
      - name: QCA_ATTR_ROAM_CONTROL_BAND_MASK
        value: '17'
      - name: QCA_ATTR_ROAM_CONTROL_SCAN_SCHEME_TRIGGERS
        value: '13'
      - name: QCA_ATTR_ROAM_CONTROL_MAXIMUM_AWAY_TIME
        value: '21'
      - name: QCA_ATTR_ROAM_CONTROL_HO_DELAY_FOR_RX
        value: '25'
      - name: QCA_ATTR_ROAM_CONTROL_CANDIDATE_ROAM_RSSI_DIFF
        value: '29'
      - name: QCA_ATTR_ROAM_CONTROL_CANDIDATE_SCORE_WEIGHTAGE_5GHZ
        value: '33'
      - name: QCA_ATTR_ROAM_CONTROL_PERIODIC_ROAM_SCAN_INTERVAL
        value: '37'
      - name: QCA_ATTR_ROAM_CONTROL_SCAN_SCHEME_VALID_UNTIL_DISCONNECTION
        value: '41'
      - name: QCA_ATTR_ROAM_CONTROL_AFTER_LAST
      - name: QCA_ATTR_ROAM_CONTROL_MAX
        value: QCA_ATTR_ROAM_CONTROL_AFTER_LAST - 1
      - name: QCA_ATTR_ROAM_CONTROL_ENABLE
        value: '1'
      - name: QCA_ATTR_ROAM_CONTROL_FREQ_LIST_SCHEME
        value: '4'
      - name: QCA_ATTR_ROAM_CONTROL_SELECTION_CRITERIA
        value: '8'
      - name: QCA_ATTR_ROAM_CONTROL_USER_REASON
        value: '12'
      - name: QCA_ATTR_ROAM_CONTROL_CANDIDATE_RSSI_THRESHOLD_6GHZ
        value: '16'
      - name: QCA_ATTR_ROAM_CONTROL_HOME_CHANNEL_TIME
        value: '20'
      - name: QCA_ATTR_ROAM_CONTROL_LINKSPEED_THRESHOLD
        value: '24'
      - name: QCA_ATTR_ROAM_CONTROL_CONNECTED_LOW_RSSI_THRESHOLD
        value: '28'
      - name: QCA_ATTR_ROAM_CONTROL_CANDIDATE_SCORE_WEIGHTAGE_2P4GHZ
        value: '32'
      - name: QCA_ATTR_ROAM_CONTROL_CONNECTED_LOW_RSSI_THRESHOLD_DECREMENT
        value: '36'
      - name: QCA_ATTR_ROAM_CONTROL_CLEAR_ALL
        value: '3'
      - name: QCA_ATTR_ROAM_CONTROL_TRIGGERS
        value: '7'
      - name: QCA_ATTR_ROAM_CONTROL_CANDIDATE_RSSI_THRESHOLD_5GHZ
        value: '15'
      - name: QCA_ATTR_ROAM_CONTROL_CANDIDATE_RSSI_THRESHOLD
        value: '11'
      - name: QCA_ATTR_ROAM_CONTROL_PASSIVE_CH_DWELL_TIME
        value: '19'
      - name: QCA_ATTR_ROAM_CONTROL_SCAN_6G_NON_PSC_DWELL_TIME
        value: '23'
      - name: QCA_ATTR_ROAM_CONTROL_FULL_SCAN_6GHZ_ONLY_ON_PRIOR_DISCOVERY
        value: '27'
      - name: QCA_ATTR_ROAM_CONTROL_CONNECTED_HIGH_RSSI_OFFSET
        value: '31'
      - name: QCA_ATTR_ROAM_CONTROL_CANDIDATE_SCORE_THRESHOLD_PERCENTAGE
        value: '35'
      - name: QCA_ATTR_ROAM_CONTROL_CONNECTED_BSS_RECONNECT_DISALLOW_PERIOD
        value: '39'
      - name: QCA_ATTR_ROAM_CONTROL_PER_BAND_LOW_RSSI_THRESHOLDS
        value: '40'
      - name: QCA_ATTR_ROAM_CONTROL_STATUS
        value: '2'
      - name: QCA_ATTR_ROAM_CONTROL_FULL_SCAN_PERIOD
        value: '6'
      - name: QCA_ATTR_ROAM_CONTROL_CONNECTED_RSSI_THRESHOLD
        value: '10'
      - name: QCA_ATTR_ROAM_CONTROL_CANDIDATE_RSSI_THRESHOLD_2P4GHZ
        value: '14'
      - name: QCA_ATTR_ROAM_CONTROL_ACTIVE_CH_DWELL_TIME
        value: '18'
      - name: QCA_ATTR_ROAM_CONTROL_SCAN_6G_PSC_DWELL_TIME
        value: '22'
      - name: QCA_ATTR_ROAM_CONTROL_FULL_SCAN_NO_REUSE_PARTIAL_SCAN_FREQ
        value: '26'
      - name: QCA_ATTR_ROAM_CONTROL_6GHZ_CANDIDATE_ROAM_RSSI_DIFF
        value: '30'
      - name: QCA_ATTR_ROAM_CONTROL_CANDIDATE_SCORE_WEIGHTAGE_6GHZ
        value: '34'
      - name: QCA_ATTR_ROAM_CONTROL_CANDIDATE_SCORE_MIN_DELTA_THRESHOLD
        value: '38'
      item_type: enum
      name: qca_vendor_attr_roam_control
      pos:
        line_end: 7618
        line_start: 7571
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_SET_BSSID_PARAMS
        value: '18'
      - name: QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_A_BAND_MAX_BOOST
        value: '10'
      - name: QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_SET_BSSID_PARAMS_HINT
        value: '21'
      - name: QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_ALLOW_LIST_SSID_NUM_NETWORKS
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_A_BAND_BOOST_THRESHOLD
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_A_BAND_PENALTY_FACTOR
        value: '9'
      - name: QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_SET_LAZY_ROAM_ENABLE
        value: '13'
      - name: QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_SET_LAZY_ROAM_RSSI_MODIFIER
        value: '17'
      - name: QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_SET_BSSID_PREFS
        value: '14'
      - name: QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_SET_BSSID_PARAMS_BSSID
        value: '20'
      - name: QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_MAX
        value: QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_ROAMING_REQ_ID
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_ALLOW_LIST_SSID
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_A_BAND_BOOST_FACTOR
        value: '8'
      - name: QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_ALERT_ROAM_RSSI_TRIGGER
        value: '12'
      - name: QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_SET_LAZY_ROAM_BSSID
        value: '16'
      - name: QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_SET_BSSID_PARAMS_NUM_BSSID
        value: '19'
      - name: QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_CONTROL
        value: '22'
      - name: QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_ALLOW_LIST_SSID_LIST
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_ROAMING_SUBCMD
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_A_BAND_PENALTY_THRESHOLD
        value: '7'
      - name: QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_SET_LAZY_ROAM_NUM_BSSID
        value: '15'
      - name: QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_LAZY_ROAM_HISTERESYS
        value: '11'
      item_type: enum
      name: qca_wlan_vendor_attr_roaming_config_params
      pos:
        line_end: 7758
        line_start: 7716
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ROAMING_SUBCMD_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ROAMING_SUBCMD_SET_GSCAN_ROAM_PARAMS
        value: '2'
      - name: QCA_WLAN_VENDOR_ROAMING_SUBCMD_SSID_ALLOW_LIST
        value: '1'
      - name: QCA_WLAN_VENDOR_ROAMING_SUBCMD_SET_BSSID_PREFS
        value: '4'
      - name: QCA_WLAN_VENDOR_ROAMING_SUBCMD_SET_LAZY_ROAM
        value: '3'
      - name: QCA_WLAN_VENDOR_ROAMING_SUBCMD_SET_BSSID_PARAMS
        value: '5'
      - name: QCA_WLAN_VENDOR_ROAMING_SUBCMD_SET_DENYLIST_BSSID
        value: '6'
      - name: QCA_WLAN_VENDOR_ROAMING_SUBCMD_CONTROL_SET
        value: '7'
      - name: QCA_WLAN_VENDOR_ROAMING_SUBCMD_CONTROL_GET
        value: '8'
      - name: QCA_WLAN_VENDOR_ROAMING_SUBCMD_CONTROL_CLEAR
        value: '9'
      item_type: enum
      name: qca_wlan_vendor_roaming_subcmd
      pos:
        line_end: 7826
        line_start: 7815
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_GET_VALID_CHANNELS_CONFIG_PARAM_MAX_CHANNELS
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_SUBCMD_CONFIG_PARAM_REQUEST_ID
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_CHANNEL_SPEC_DWELL_TIME
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_CHANNEL_SPEC_CLASS
        value: '7'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_BUCKET_SPEC_BAND
        value: '9'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_BUCKET_SPEC_REPORT_EVENTS
        value: '11'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_SCAN_CMD_PARAMS_NUM_BUCKETS
        value: '17'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_CHANNEL_SPEC
        value: '13'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_SCAN_CMD_PARAMS_MAX_AP_PER_SCAN
        value: '15'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_GET_CACHED_SCAN_RESULTS_CONFIG_PARAM_FLUSH
        value: '19'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_AP_THRESHOLD_PARAM_BSSID
        value: '21'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_AP_THRESHOLD_PARAM_RSSI_HIGH
        value: '23'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_BUCKET_SPEC_MAX_PERIOD
        value: '32'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_BUCKET_SPEC_STEP_COUNT
        value: '34'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_SIGNIFICANT_CHANGE_PARAMS_NUM_AP
        value: '30'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_SSID_THRESHOLD_PARAM_RSSI_LOW
        value: '41'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_SIGNIFICANT_CHANGE_PARAMS_RSSI_SAMPLE_SIZE
        value: '27'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_SSID_THRESHOLD_PARAM
        value: '38'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_CONFIGURATION_FLAGS
        value: '43'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_BSSID_HOTLIST_PARAMS_NUM_AP
        value: '25'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_SSID_HOTLIST_PARAMS_LOST_SSID_SAMPLE_SIZE
        value: '36'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_SUBCMD_CONFIG_PARAM_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_GET_VALID_CHANNELS_CONFIG_PARAM_WIFI_BAND
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_CHANNEL_SPEC_CHANNEL
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_CHANNEL_SPEC_PASSIVE
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_BUCKET_SPEC_INDEX
        value: '8'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_SCAN_CMD_PARAMS_REPORT_THRESHOLD_PERCENT
        value: '16'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_BUCKET_SPEC
        value: '18'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_BUCKET_SPEC_NUM_CHANNEL_SPECS
        value: '12'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_SCAN_CMD_PARAMS_BASE_PERIOD
        value: '14'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_BUCKET_SPEC_PERIOD
        value: '10'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_AP_THRESHOLD_PARAM_RSSI_LOW
        value: '22'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_BUCKET_SPEC_BASE
        value: '33'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_SUBCMD_CONFIG_PARAM_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_SIGNIFICANT_CHANGE_PARAMS_MIN_BREACHING
        value: '29'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_SSID_THRESHOLD_PARAM_BAND
        value: '40'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_BSSID_HOTLIST_PARAMS_LOST_AP_SAMPLE_SIZE
        value: '31'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_SSID_THRESHOLD_PARAM_RSSI_HIGH
        value: '42'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_GET_CACHED_SCAN_RESULTS_CONFIG_PARAM_MAX
        value: '20'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_SSID_HOTLIST_PARAMS_NUM_SSID
        value: '37'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_SSID_THRESHOLD_PARAM_SSID
        value: '39'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_SIGNIFICANT_CHANGE_PARAMS_LOST_AP_SAMPLE_SIZE
        value: '28'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_SCAN_CMD_PARAMS_REPORT_THRESHOLD_NUM_SCANS
        value: '35'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_SUBCMD_CONFIG_PARAM_MAX
        value: QCA_WLAN_VENDOR_ATTR_GSCAN_SUBCMD_CONFIG_PARAM_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_AP_THRESHOLD_PARAM_CHANNEL
        value: '24'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_AP_THRESHOLD_PARAM
        value: '26'
      item_type: enum
      name: qca_wlan_vendor_attr_gscan_config_params
      pos:
        line_end: 7995
        line_start: 7834
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_CACHED_RESULTS_SCAN_ID
        value: '34'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_MAX_NUM_DENYLISTED_BSSID
        value: '46'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_MAX
        value: QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_SIGNIFICANT_CHANGE_RESULT_NUM_RSSI
        value: '31'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_CAPABILITIES_MAX_NUM_EPNO_NETS
        value: '42'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_SCAN_EVENT_TYPE
        value: '27'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_PNO_RESULTS_PASSPOINT_MATCH_ID
        value: '38'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_SIGNIFICANT_CHANGE_RESULT_BSSID
        value: '29'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_PNO_RESULTS_PASSPOINT_MATCH_ANQP
        value: '40'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_REQUEST_ID
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_NUM_CHANNELS
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_CAPABILITIES_MAX_SCAN_CACHE_SIZE
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_CAPABILITIES_MAX_AP_CACHE_PER_SCAN
        value: '7'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_CAPABILITIES_MAX_SCAN_REPORTING_THRESHOLD
        value: '9'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_SCAN_RESULT_TIME_STAMP
        value: '15'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_SCAN_RESULT_BSSID
        value: '17'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_CAPABILITIES_MAX_SIGNIFICANT_WIFI_CHANGE_APS
        value: '11'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_NUM_RESULTS_AVAILABLE
        value: '13'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_CACHED_RESULTS_FLAGS
        value: '35'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_PNO_RESULTS_PASSPOINT_MATCH_RESULT_LIST
        value: '37'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_SCAN_RESULT_MORE_DATA
        value: '26'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_CACHED_RESULTS_LIST
        value: '33'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_CAPABILITIES_MAX_NUM_ALLOWLISTED_SSID
        value: '44'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_SCAN_RESULT_BEACON_PERIOD
        value: '22'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_SCAN_RESULT_IE_LENGTH
        value: '24'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_PAD
        value: '47'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_CAPABILITIES_MAX_HOTLIST_SSIDS
        value: '41'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_SCAN_RESULT_RSSI
        value: '19'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_SIGNIFICANT_CHANGE_RESULT_CHANNEL
        value: '30'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_SCAN_RESULT_RTT_SD
        value: '21'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_SIGNIFICANT_CHANGE_RESULT_RSSI_LIST
        value: '32'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_SCAN_EVENT_STATUS
        value: '28'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_PNO_RESULTS_PASSPOINT_MATCH_ANQP_LEN
        value: '39'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_STATUS
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_CHANNELS
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_CAPABILITIES_MAX_SCAN_BUCKETS
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_CAPABILITIES_MAX_RSSI_SAMPLE_SIZE
        value: '8'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_LIST
        value: '14'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_SCAN_RESULT_CHANNEL
        value: '18'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_SCAN_RESULT_SSID
        value: '16'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_CAPABILITIES_MAX_HOTLIST_BSSIDS
        value: '10'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_CAPABILITIES_MAX_BSSID_HISTORY_ENTRIES
        value: '12'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_SCAN_RESULT_RTT
        value: '20'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_SCAN_RESULT_IE_DATA
        value: '25'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_PNO_RESULTS_PASSPOINT_NETWORK_FOUND_NUM_MATCHES
        value: '36'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_CAPABILITIES_MAX_NUM_EPNO_NETS_BY_SSID
        value: '43'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_BUCKETS_SCANNED
        value: '45'
      - name: QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_SCAN_RESULT_CAPABILITY
        value: '23'
      item_type: enum
      name: qca_wlan_vendor_attr_gscan_results
      pos:
        line_end: 8212
        line_start: 7997
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_PNO_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_PNO_PASSPOINT_NETWORK_PARAM_REALM
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_PNO_PASSPOINT_LIST_PARAM_NETWORK_ARRAY
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_PNO_PASSPOINT_NETWORK_PARAM_ROAM_PLMN
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_PNO_SET_LIST_PARAM_EPNO_NETWORKS_LIST
        value: '8'
      - name: QCA_WLAN_VENDOR_ATTR_PNO_SET_LIST_PARAM_EPNO_CHANNEL_LIST
        value: '14'
      - name: QCA_WLAN_VENDOR_ATTR_EPNO_MIN5GHZ_RSSI
        value: '16'
      - name: QCA_WLAN_VENDOR_ATTR_PNO_SET_LIST_PARAM_EPNO_NETWORK_RSSI_THRESHOLD
        value: '10'
      - name: QCA_WLAN_VENDOR_ATTR_PNO_SET_LIST_PARAM_EPNO_NETWORK_AUTH_BIT
        value: '12'
      - name: QCA_WLAN_VENDOR_ATTR_EPNO_SAME_NETWORK_BONUS
        value: '20'
      - name: QCA_WLAN_VENDOR_ATTR_EPNO_CURRENT_CONNECTION_BONUS
        value: '19'
      - name: QCA_WLAN_VENDOR_ATTR_PNO_CONFIG_REQUEST_ID
        value: '23'
      - name: QCA_WLAN_VENDOR_ATTR_PNO_PASSPOINT_NETWORK_PARAM_ID
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_PNO_PASSPOINT_LIST_PARAM_NUM
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_PNO_PASSPOINT_NETWORK_PARAM_ROAM_CNSRTM_ID
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_PNO_SET_LIST_PARAM_NUM_NETWORKS
        value: '7'
      - name: QCA_WLAN_VENDOR_ATTR_PNO_SET_LIST_PARAM_EPNO_NETWORK_SSID
        value: '9'
      - name: QCA_WLAN_VENDOR_ATTR_PNO_SET_LIST_PARAM_EPNO_TYPE
        value: '13'
      - name: QCA_WLAN_VENDOR_ATTR_PNO_SET_LIST_PARAM_EPNO_SCAN_INTERVAL
        value: '15'
      - name: QCA_WLAN_VENDOR_ATTR_EPNO_INITIAL_SCORE_MAX
        value: '18'
      - name: QCA_WLAN_VENDOR_ATTR_PNO_SET_LIST_PARAM_EPNO_NETWORK_FLAGS
        value: '11'
      - name: QCA_WLAN_VENDOR_ATTR_EPNO_BAND5GHZ_BONUS
        value: '22'
      - name: QCA_WLAN_VENDOR_ATTR_EPNO_MIN24GHZ_RSSI
        value: '17'
      - name: QCA_WLAN_VENDOR_ATTR_EPNO_SECURE_BONUS
        value: '21'
      - name: QCA_WLAN_VENDOR_ATTR_PNO_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_PNO_MAX
        value: QCA_WLAN_VENDOR_ATTR_PNO_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_pno_config_params
      pos:
        line_end: 8296
        line_start: 8220
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ACS_SELECT_REASON_INIT
      - name: QCA_WLAN_VENDOR_ACS_SELECT_REASON_80211_INTERFERENCE
      - name: QCA_WLAN_VENDOR_ACS_SELECT_REASON_GENERIC_INTERFERENCE
      - name: QCA_WLAN_VENDOR_ACS_SELECT_REASON_LTE_COEX
      - name: QCA_WLAN_VENDOR_ACS_SELECT_REASON_DFS
      - name: QCA_WLAN_VENDOR_ACS_SELECT_REASON_CW_INTERFERENCE
      - name: QCA_WLAN_VENDOR_ACS_SELECT_REASON_MWO_INTERFERENCE
      - name: QCA_WLAN_VENDOR_ACS_SELECT_REASON_FHSS_INTERFERENCE
      - name: QCA_WLAN_VENDOR_ACS_SELECT_REASON_NON_80211_FHSS_INTERFERENCE
      - name: QCA_WLAN_VENDOR_ACS_SELECT_REASON_WB_INTERFERENCE
      - name: QCA_WLAN_VENDOR_ACS_SELECT_REASON_AFC_TRIGGER
      - name: QCA_WLAN_VENDOR_ACS_SELECT_REASON_JAMMER_INTERFERENCE
      - name: QCA_WLAN_VENDOR_ACS_SELECT_REASON_NON_80211_WB_INTERFERENCE
      item_type: enum
      name: qca_wlan_vendor_acs_select_reason
      pos:
        line_end: 8351
        line_start: 8304
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_POLICY_PCL_PREFERRED
      - name: QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_POLICY_PCL_MANDATORY
      item_type: enum
      name: qca_wlan_vendor_attr_external_acs_policy
      pos:
        line_end: 8369
        line_start: 8366
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_HT40INTOLMARK
        value: 1 << 24
      - name: QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_BLOCKED
        value: 1 << 25
      - name: QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_HALF
        value: 1 << 14
      - name: QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_VHT80
        value: 1 << 23
      - name: QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_VHT80_80
        value: 1 << 27
      - name: QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_HT20
        value: 1 << 16
      - name: QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_HT40PLUS
        value: 1 << 17
      - name: QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_QUARTER
        value: 1 << 15
      - name: QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_VHT160
        value: 1 << 26
      - name: QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_HT40INTOL
        value: 1 << 19
      - name: QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_HT40MINUS
        value: 1 << 18
      - name: QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_HE40MINUS
        value: 1 << 30
      - name: QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_HE20
        value: 1 << 28
      - name: QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_HE40PLUS
        value: 1 << 29
      - name: QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_TURBO
        value: 1 << 4
      - name: QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_2GHZ
        value: 1 << 7
      - name: QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_CCK
        value: 1 << 5
      - name: QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_5GHZ
        value: 1 << 8
      - name: QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_OFDM
        value: 1 << 6
      - name: QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_PASSIVE
        value: 1 << 9
      - name: QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_DYN
        value: 1 << 10
      - name: QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_GFSK
        value: 1 << 11
      - name: QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_RADAR
        value: 1 << 12
      - name: QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_STURBO
        value: 1 << 13
      - name: QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_VHT40MINUS
        value: 1 << 22
      - name: QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_HE40INTOL
        value: 1U << 31
      - name: QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_VHT20
        value: 1 << 20
      - name: QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_VHT40PLUS
        value: 1 << 21
      item_type: enum
      name: qca_wlan_vendor_channel_prop_flags
      pos:
        line_end: 8434
        line_start: 8375
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_HE40INTOLMARK
        value: 1 << 0
      - name: QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_HE80
        value: 1 << 1
      - name: QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_HE80_80
        value: 1 << 3
      - name: QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_HE160
        value: 1 << 2
      item_type: enum
      name: qca_wlan_vendor_channel_prop_flags_2
      pos:
        line_end: 8450
        line_start: 8441
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_EXT_RADAR_FOUND
        value: 1 << 0
      - name: QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_EXT_DFS_CFREQ2
        value: 1 << 2
      - name: QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_EXT_11D_EXCLUDED
        value: 1 << 4
      - name: QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_EXT_DFS
        value: 1 << 1
      - name: QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_EXT_DFS_CLEAR
        value: 1 << 3
      - name: QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_EXT_CSA_RECEIVED
        value: 1 << 5
      - name: QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_EXT_DISALLOW_ADHOC
        value: 1 << 6
      - name: QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_EXT_DISALLOW_HOSTAP
        value: 1 << 7
      - name: QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_EXT_HISTORY_RADAR
        value: 1 << 8
      - name: QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_EXT_CAC_VALID
        value: 1 << 9
      item_type: enum
      name: qca_wlan_vendor_channel_prop_flags_ext
      pos:
        line_end: 8478
        line_start: 8457
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_INFO_ATTR_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_INFO_ATTR_FLAG_EXT
        value: '2'
      - name: QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_INFO_ATTR_MAX_REG_POWER
        value: '4'
      - name: QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_INFO_ATTR_MIN_POWER
        value: '6'
      - name: QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_INFO_ATTR_ANTENNA_GAIN
        value: '8'
      - name: QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_INFO_ATTR_SUPP_POWER_MODES
        value: '14'
      - name: QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_INFO_ATTR_FREQ_SEG_0
        value: '12'
      - name: QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_INFO_ATTR_FREQ_OVERLAP_SEG_1
        value: '16'
      - name: QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_INFO_ATTR_FREQ_SEG_1
        value: '13'
      - name: QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_INFO_ATTR_VHT_SEG_1
        value: '10'
      - name: QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_INFO_ATTR_MAX
        value: QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_INFO_ATTR_LAST - 1
      - name: QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_INFO_ATTR_FLAGS
        value: '1'
      - name: QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_INFO_ATTR_FREQ
        value: '3'
      - name: QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_INFO_ATTR_MAX_POWER
        value: '5'
      - name: QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_INFO_ATTR_REG_CLASS_ID
        value: '7'
      - name: QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_INFO_ATTR_VHT_SEG_0
        value: '9'
      - name: QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_INFO_ATTR_FLAGS_2
        value: '11'
      - name: QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_INFO_ATTR_FREQ_VHT_SEG_0
        value: QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_INFO_ATTR_FREQ_SEG_0
      - name: QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_POWER_INFO_ATTR
        value: '15'
      - name: QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_INFO_ATTR_FREQ_VHT_SEG_1
        value: QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_INFO_ATTR_FREQ_SEG_1
      - name: QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_INFO_ATTR_LAST
      item_type: enum
      name: qca_wlan_vendor_external_acs_event_chan_info_attr
      pos:
        line_end: 8637
        line_start: 8486
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_EXTERNAL_ACS_CHAN_LOW_POWER
        value: '0'
      - name: QCA_WLAN_VENDOR_EXTERNAL_ACS_CHAN_STANDARD_POWER
        value: '1'
      - name: QCA_WLAN_VENDOR_EXTERNAL_ACS_CHAN_VERY_LOW_POWER
        value: '2'
      item_type: enum
      name: qca_wlan_vendor_external_acs_chan_power_level
      pos:
        line_end: 8652
        line_start: 8648
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_POWER_INFO_ATTR_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_POWER_INFO_ATTR_LAST
      - name: QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_POWER_INFO_ATTR_POWER_VALUE
        value: '3'
      - name: QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_POWER_INFO_ATTR_PSD_FLAG
        value: '2'
      - name: QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_POWER_INFO_ATTR_POWER_MODE
        value: '1'
      - name: QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_POWER_INFO_ATTR_MAX
        value: QCA_WLAN_VENDOR_EXTERNAL_ACS_EVENT_CHAN_POWER_INFO_ATTR_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_external_acs_event_chan_power_info_attr
      pos:
        line_end: 8687
        line_start: 8660
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_PCL_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_PCL_WEIGHT
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_PCL_CHANNEL
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_PCL_FLAG
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_PCL_FREQ
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_PCL_LAST
      - name: QCA_WLAN_VENDOR_ATTR_PCL_MAX
        value: QCA_WLAN_VENDOR_ATTR_PCL_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_pcl
      pos:
        line_end: 8717
        line_start: 8695
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_EVENT_REASON
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_EVENT_IS_OFFLOAD_ENABLED
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_EVENT_AP_UP
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_EVENT_CHAN_WIDTH
        value: '7'
      - name: QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_EVENT_PHY_MODE
        value: '9'
      - name: QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_EVENT_PCL
        value: '11'
      - name: QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_EVENT_POLICY
        value: '13'
      - name: QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_EVENT_LINK_ID
        value: '16'
      - name: QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_EVENT_RROPAVAIL_INFO
        value: '14'
      - name: QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_EVENT_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_EVENT_IS_SPECTRAL_SUPPORTED
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_EVENT_ADD_CHAN_STATS_SUPPORT
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_EVENT_SAP_MODE
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_EVENT_BAND
        value: '8'
      - name: QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_EVENT_CHAN_INFO
        value: '12'
      - name: QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_EVENT_FREQ_LIST
        value: '10'
      - name: QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_EVENT_LAST
      - name: QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_EVENT_MAX
        value: QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_EVENT_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_EVENT_AFC_CAPABILITY
        value: '15'
      item_type: enum
      name: qca_wlan_vendor_attr_external_acs_event
      pos:
        line_end: 8792
        line_start: 8724
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_CHANNEL_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_CHANNEL_PRIMARY
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_CHANNEL_REASON
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_CHANNEL_BAND
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_CHANNEL_LIST
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_CHANNEL_SECONDARY
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_CHANNEL_CENTER_SEG0
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_CHANNEL_CENTER_SEG1
        value: '7'
      - name: QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_CHANNEL_WIDTH
        value: '8'
      - name: QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_FREQUENCY_LIST
        value: '9'
      - name: QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_FREQUENCY_PRIMARY
        value: '10'
      - name: QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_FREQUENCY_SECONDARY
        value: '11'
      - name: QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_PUNCTURE_BITMAP
        value: '14'
      - name: QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_FREQUENCY_CENTER_SEG0
        value: '12'
      - name: QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_CHANNEL_MAX
        value: QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_CHANNEL_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_LINK_ID
        value: '15'
      - name: QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_FREQUENCY_CENTER_SEG1
        value: '13'
      - name: QCA_WLAN_VENDOR_ATTR_EXTERNAL_ACS_CHANNEL_LAST
      item_type: enum
      name: qca_wlan_vendor_attr_external_acs_channels
      pos:
        line_end: 8939
        line_start: 8898
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_CHIP_POWER_SAVE_FAILURE_REASON_PROTOCOL
        value: '0'
      - name: QCA_CHIP_POWER_SAVE_FAILURE_REASON_HARDWARE
        value: '1'
      item_type: enum
      name: qca_chip_power_save_failure_reason
      pos:
        line_end: 8949
        line_start: 8941
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_ATTR_CHIP_POWER_SAVE_FAILURE_INVALID
        value: '0'
      - name: QCA_ATTR_CHIP_POWER_SAVE_FAILURE_LAST
      - name: QCA_ATTR_CHIP_POWER_SAVE_FAILURE_REASON
        value: '1'
      - name: QCA_ATTR_CHIP_POWER_SAVE_FAILURE_MAX
        value: QCA_ATTR_CHIP_POWER_SAVE_FAILURE_LAST - 1
      item_type: enum
      name: qca_attr_chip_power_save_failure
      pos:
        line_end: 8968
        line_start: 8956
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_NUD_STATS_DATA_ARP
        value: 1 << 0
      - name: QCA_WLAN_VENDOR_NUD_STATS_DATA_DNS
        value: 1 << 1
      - name: QCA_WLAN_VENDOR_NUD_STATS_DATA_TCP_HANDSHAKE
        value: 1 << 2
      - name: QCA_WLAN_VENDOR_NUD_STATS_DATA_ICMPV6
        value: 1 << 4
      - name: QCA_WLAN_VENDOR_NUD_STATS_DATA_ICMPV4
        value: 1 << 3
      - name: QCA_WLAN_VENDOR_NUD_STATS_DATA_TCP_SYN
        value: 1 << 5
      - name: QCA_WLAN_VENDOR_NUD_STATS_DATA_TCP_SYN_ACK
        value: 1 << 6
      - name: QCA_WLAN_VENDOR_NUD_STATS_DATA_TCP_ACK
        value: 1 << 7
      item_type: enum
      name: qca_wlan_vendor_nud_stats_data_pkt_flags
      pos:
        line_end: 8986
        line_start: 8974
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_ATTR_NUD_STATS_DATA_PKT_INFO_INVALID
        value: '0'
      - name: QCA_ATTR_NUD_STATS_DATA_PKT_INFO_TYPE
        value: '1'
      - name: QCA_ATTR_NUD_STATS_DATA_PKT_INFO_DEST_PORT
        value: '4'
      - name: QCA_ATTR_NUD_STATS_DATA_PKT_INFO_SRC_PORT
        value: '3'
      - name: QCA_ATTR_NUD_STATS_DATA_PKT_INFO_DNS_DOMAIN_NAME
        value: '2'
      - name: QCA_ATTR_NUD_STATS_DATA_PKT_INFO_DEST_IPV4
        value: '5'
      - name: QCA_ATTR_NUD_STATS_DATA_PKT_INFO_DEST_IPV6
        value: '6'
      - name: QCA_ATTR_NUD_STATS_DATA_PKT_INFO_LAST
      - name: QCA_ATTR_NUD_STATS_DATA_PKT_INFO_MAX
        value: QCA_ATTR_NUD_STATS_DATA_PKT_INFO_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_nud_stats_set_data_pkt_info
      pos:
        line_end: 9021
        line_start: 8988
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_ATTR_NUD_STATS_SET_INVALID
        value: '0'
      - name: QCA_ATTR_NUD_STATS_SET_LAST
      - name: QCA_ATTR_NUD_STATS_SET_DATA_PKT_INFO
        value: '3'
      - name: QCA_ATTR_NUD_STATS_SET_START
        value: '1'
      - name: QCA_ATTR_NUD_STATS_GW_IPV4
        value: '2'
      - name: QCA_ATTR_NUD_STATS_SET_MAX
        value: QCA_ATTR_NUD_STATS_SET_LAST - 1
      item_type: enum
      name: qca_attr_nud_stats_set
      pos:
        line_end: 9049
        line_start: 9028
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_ATTR_NUD_DATA_STATS_INVALID
        value: '0'
      - name: QCA_ATTR_NUD_STATS_PKT_DEST_PORT
        value: '4'
      - name: QCA_ATTR_NUD_STATS_PKT_TYPE
        value: '1'
      - name: QCA_ATTR_NUD_STATS_PKT_SRC_PORT
        value: '3'
      - name: QCA_ATTR_NUD_STATS_PKT_DNS_DOMAIN_NAME
        value: '2'
      - name: QCA_ATTR_NUD_STATS_PKT_DEST_IPV4
        value: '5'
      - name: QCA_ATTR_NUD_STATS_PKT_DEST_IPV6
        value: '6'
      - name: QCA_ATTR_NUD_STATS_PKT_REQ_COUNT_FROM_NETDEV
        value: '7'
      - name: QCA_ATTR_NUD_STATS_PKT_REQ_COUNT_TO_LOWER_MAC
        value: '8'
      - name: QCA_ATTR_NUD_STATS_PKT_REQ_RX_COUNT_BY_LOWER_MAC
        value: '9'
      - name: QCA_ATTR_NUD_STATS_PKT_RSP_COUNT_TO_NETDEV
        value: '13'
      - name: QCA_ATTR_NUD_DATA_STATS_MAX
        value: QCA_ATTR_NUD_DATA_STATS_LAST - 1
      - name: QCA_ATTR_NUD_DATA_STATS_LAST
      - name: QCA_ATTR_NUD_STATS_PKT_RSP_COUNT_OUT_OF_ORDER_DROP
        value: '14'
      - name: QCA_ATTR_NUD_STATS_PKT_RSP_RX_COUNT_BY_LOWER_MAC
        value: '11'
      - name: QCA_ATTR_NUD_STATS_PKT_REQ_COUNT_TX_SUCCESS
        value: '10'
      - name: QCA_ATTR_NUD_STATS_PKT_RSP_RX_COUNT_BY_UPPER_MAC
        value: '12'
      item_type: enum
      name: qca_attr_nud_data_stats
      pos:
        line_end: 9101
        line_start: 9051
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_ATTR_NUD_STATS_GET_INVALID
        value: '0'
      - name: QCA_ATTR_NUD_STATS_ARP_REQ_COUNT_FROM_NETDEV
        value: '1'
      - name: QCA_ATTR_NUD_STATS_ARP_REQ_COUNT_TX_SUCCESS
        value: '4'
      - name: QCA_ATTR_NUD_STATS_ARP_REQ_RX_COUNT_BY_LOWER_MAC
        value: '3'
      - name: QCA_ATTR_NUD_STATS_ARP_REQ_COUNT_TO_LOWER_MAC
        value: '2'
      - name: QCA_ATTR_NUD_STATS_ARP_RSP_RX_COUNT_BY_LOWER_MAC
        value: '5'
      - name: QCA_ATTR_NUD_STATS_ARP_RSP_RX_COUNT_BY_UPPER_MAC
        value: '6'
      - name: QCA_ATTR_NUD_STATS_ARP_RSP_COUNT_TO_NETDEV
        value: '7'
      - name: QCA_ATTR_NUD_STATS_ARP_RSP_COUNT_OUT_OF_ORDER_DROP
        value: '8'
      - name: QCA_ATTR_NUD_STATS_AP_LINK_ACTIVE
        value: '9'
      - name: QCA_ATTR_NUD_STATS_GET_MAX
        value: QCA_ATTR_NUD_STATS_GET_LAST - 1
      - name: QCA_ATTR_NUD_STATS_IS_DAD
        value: '10'
      - name: QCA_ATTR_NUD_STATS_GET_LAST
      - name: QCA_ATTR_NUD_STATS_DATA_PKT_STATS
        value: '11'
      item_type: enum
      name: qca_attr_nud_stats_get
      pos:
        line_end: 9144
        line_start: 9108
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_STATUS_ACCEPT
        value: '0'
      - name: QCA_STATUS_REJECT_INSUFFICIENT_QOS_CAPACITY
        value: '3'
      - name: QCA_STATUS_REJECT_EXCESSIVE_DELAY_EXPECTED
        value: '2'
      - name: QCA_STATUS_REJECT_LOW_RSSI
        value: '4'
      - name: QCA_STATUS_REJECT_EXCESSIVE_FRAME_LOSS_EXPECTED
        value: '1'
      - name: QCA_STATUS_REJECT_HIGH_INTERFERENCE
        value: '5'
      - name: QCA_STATUS_REJECT_UNKNOWN
        value: '6'
      item_type: enum
      name: qca_wlan_btm_candidate_status
      pos:
        line_end: 9154
        line_start: 9146
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_BTM_CANDIDATE_INFO_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_BTM_CANDIDATE_INFO_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_BTM_CANDIDATE_INFO_MAX
        value: QCA_WLAN_VENDOR_ATTR_BTM_CANDIDATE_INFO_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_BTM_CANDIDATE_INFO_STATUS
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_BTM_CANDIDATE_INFO_BSSID
        value: '1'
      item_type: enum
      name: qca_wlan_vendor_attr_btm_candidate_info
      pos:
        line_end: 9174
        line_start: 9156
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_ATTR_TRACE_LEVEL_INVALID
        value: '0'
      - name: QCA_ATTR_TRACE_LEVEL_MASK
        value: '3'
      - name: QCA_ATTR_TRACE_LEVEL_MODULE
        value: '2'
      - name: QCA_ATTR_TRACE_LEVEL_PARAM
        value: '1'
      - name: QCA_ATTR_TRACE_LEVEL_AFTER_LAST
      - name: QCA_ATTR_TRACE_LEVEL_MAX
        value: QCA_ATTR_TRACE_LEVEL_AFTER_LAST - 1
      item_type: enum
      name: qca_attr_trace_level
      pos:
        line_end: 9196
        line_start: 9176
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_HE_CAPABILITIES_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_PHY_CAPAB
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_HE_SUPPORTED
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_HE_MCS
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_MAC_CAPAB
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_NUM_SS
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_RU_IDX_MASK
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_PPE_THRESHOLD
        value: '7'
      - name: QCA_WLAN_VENDOR_ATTR_HE_CAPABILITIES_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_HE_CAPABILITIES_MAX
        value: QCA_WLAN_VENDOR_ATTR_HE_CAPABILITIES_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_get_he_capabilities
      pos:
        line_end: 9224
        line_start: 9201
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_CONFIG_SCAN_COUNT
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_CONFIG_FFT_SIZE
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_CONFIG_PRIORITY
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_CONFIG_RESTART_ENA
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_CONFIG_INIT_DELAY
        value: '8'
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_CONFIG_RSSI_RPT_MODE
        value: '12'
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_CONFIG_PWR_FORMAT
        value: '14'
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_CONFIG_STR_BIN_THR
        value: '10'
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_CONFIG_CHN_MASK
        value: '18'
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_CONFIG_BIN_SCALE
        value: '16'
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_CONFIG_FREQUENCY_2
        value: '29'
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_CONFIG_DMA_RING_DEBUG
        value: '27'
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_CONFIG_FREQUENCY
        value: '24'
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_CONFIG_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_CONFIG_FFT_PERIOD
        value: '20'
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_CONFIG_FFT_RECAPTURE
        value: '31'
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_CONFIG_DEBUG_LEVEL
        value: '22'
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_DATA_TRANSPORT_MODE
        value: '33'
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_CONFIG_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_CONFIG_SCAN_PERIOD
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_CONFIG_GC_ENA
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_CONFIG_NOISE_FLOOR_REF
        value: '7'
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_CONFIG_NB_TONE_THR
        value: '9'
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_CONFIG_RSSI_THR
        value: '13'
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_CONFIG_RPT_MODE
        value: '15'
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_CONFIG_DBM_ADJ
        value: '17'
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_CONFIG_WB_RPT_MODE
        value: '11'
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_COOKIE
        value: '19'
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_CONFIG_DMA_BUFFER_DEBUG
        value: '28'
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_CONFIG_BANDWIDTH
        value: '30'
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_ERROR_CODE
        value: '26'
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_CONFIG_MAX
        value: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_CONFIG_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_COMPLETION_TIMEOUT
        value: '34'
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_REQUEST_TYPE
        value: '23'
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_MODE
        value: '25'
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_CONFIG_SHORT_REPORT
        value: '21'
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_CONFIG_PAD
        value: '32'
      item_type: enum
      name: qca_wlan_vendor_attr_spectral_scan
      pos:
        line_end: 9426
        line_start: 9229
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_DIAG_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_DIAG_NOSEC80_SFFT
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_DIAG_VHTSEG1ID_MISMATCH
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_DIAG_SEC80_SFFT_INSUFFLEN
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_DIAG_SIG_MISMATCH
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_DIAG_VHTSEG2ID_MISMATCH
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_DIAG_PAD
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_DIAG_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_DIAG_MAX
        value: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_DIAG_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_spectral_diag_stats
      pos:
        line_end: 9460
        line_start: 9432
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_CAP_PHYDIAG
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_CAP_SPECTRAL
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_CAP_HW_GEN
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_CAP_LOW_LEVEL_OFFSET
        value: '7'
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_CAP_RSSI_THR
        value: '9'
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_CAP_AGILE_SPECTRAL_80_80
        value: '13'
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_CAP_NUM_DETECTORS_40_MHZ
        value: '15'
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_CAP_NUM_DETECTORS_160_MHZ
        value: '17'
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_CAP_AGILE_SPECTRAL
        value: '11'
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_CAP_AGILE_SPECTRAL_320
        value: '19'
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_CAP_NUM_DETECTORS_320_MHZ
        value: '20'
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_CAP_MAX
        value: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_CAP_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_CAP_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_CAP_ADVANCED_SPECTRAL
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_CAP_RADAR
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_CAP_FORMULA_ID
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_CAP_HIGH_LEVEL_OFFSET
        value: '8'
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_CAP_NUM_DETECTORS_80P80_MHZ
        value: '18'
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_CAP_NUM_DETECTORS_20_MHZ
        value: '14'
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_CAP_NUM_DETECTORS_80_MHZ
        value: '16'
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_CAP_DEFAULT_AGC_MAX_GAIN
        value: '10'
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_CAP_AGILE_SPECTRAL_160
        value: '12'
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_CAP_AFTER_LAST
      item_type: enum
      name: qca_wlan_vendor_attr_spectral_cap
      pos:
        line_end: 9546
        line_start: 9466
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_STATUS_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_STATUS_IS_ENABLED
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_STATUS_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_STATUS_IS_ACTIVE
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_STATUS_MODE
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_STATUS_MAX
        value: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_STATUS_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_spectral_scan_status
      pos:
        line_end: 9569
        line_start: 9552
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_REQUEST_TYPE_SCAN_AND_CONFIG
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_REQUEST_TYPE_SCAN
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_REQUEST_TYPE_CONFIG
      item_type: enum
      name: qca_wlan_vendor_attr_spectral_scan_request_type
      pos:
        line_end: 9587
        line_start: 9583
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_SPECTRAL_SCAN_MODE_NORMAL
        value: '0'
      - name: QCA_WLAN_VENDOR_SPECTRAL_SCAN_MODE_AGILE
        value: '1'
      item_type: enum
      name: qca_wlan_vendor_spectral_scan_mode
      pos:
        line_end: 9604
        line_start: 9601
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_SPECTRAL_SCAN_ERR_PARAM_UNSUPPORTED
        value: '0'
      - name: QCA_WLAN_VENDOR_SPECTRAL_SCAN_ERR_PARAM_NOT_INITIALIZED
        value: '3'
      - name: QCA_WLAN_VENDOR_SPECTRAL_SCAN_ERR_PARAM_INVALID_VALUE
        value: '2'
      - name: QCA_WLAN_VENDOR_SPECTRAL_SCAN_ERR_MODE_UNSUPPORTED
        value: '1'
      item_type: enum
      name: qca_wlan_vendor_spectral_scan_error_code
      pos:
        line_end: 9624
        line_start: 9619
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_SPECTRAL_SCAN_CAP_HW_GEN_1
        value: '0'
      - name: QCA_WLAN_VENDOR_SPECTRAL_SCAN_CAP_HW_GEN_2
        value: '1'
      - name: QCA_WLAN_VENDOR_SPECTRAL_SCAN_CAP_HW_GEN_3
        value: '2'
      item_type: enum
      name: qca_wlan_vendor_spectral_scan_cap_hw_gen
      pos:
        line_end: 9639
        line_start: 9635
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_TOS_BK
        value: '0'
      - name: QCA_WLAN_VENDOR_TOS_VO
        value: '3'
      - name: QCA_WLAN_VENDOR_TOS_VI
        value: '2'
      - name: QCA_WLAN_VENDOR_TOS_BE
        value: '1'
      item_type: enum
      name: qca_wlan_vendor_tos
      pos:
        line_end: 9646
        line_start: 9641
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_ACTIVE_TOS_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_ACTIVE_TOS_START
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_ACTIVE_TOS
        value: '1'
      item_type: enum
      name: qca_wlan_vendor_attr_active_tos
      pos:
        line_end: 9660
        line_start: 9652
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_HANG_REASON_UNSPECIFIED
        value: '0'
      - name: QCA_WLAN_HANG_SCAN_REQ_EXPIRED
        value: '4'
      - name: QCA_WLAN_HANG_PEER_DELETION_TIMEDOUT
        value: '2'
      - name: QCA_WLAN_HANG_GET_MSG_BUFF_FAILURE
        value: '6'
      - name: QCA_WLAN_HANG_SUSPEND_TIMEOUT
        value: '8'
      - name: QCA_WLAN_HANG_DXE_FAILURE
        value: '12'
      - name: QCA_WLAN_HANG_VDEV_START_RESPONSE_TIMED_OUT
        value: '18'
      - name: QCA_WLAN_HANG_AP_STA_CONNECT_REQ_TIMEOUT
        value: '14'
      - name: QCA_WLAN_HANG_MAC_HW_MODE_CHANGE_TIMEOUT
        value: '16'
      - name: QCA_WLAN_HANG_TRANSMISSIONS_TIMEOUT
        value: '10'
      - name: QCA_WLAN_HANG_VDEV_PEER_DELETE_ALL_RESPONSE_TIMED_OUT
        value: '22'
      - name: QCA_WLAN_HANG_REG_WRITE_FAILURE
        value: '24'
      - name: QCA_WLAN_HANG_SELF_PEER_DEL_FAIL
        value: '33'
      - name: QCA_WLAN_HANG_FLUSH_LOGS
        value: '35'
      - name: QCA_WLAN_HANG_VDEV_STOP_RESPONSE_TIMED_OUT
        value: '20'
      - name: QCA_WLAN_HANG_TX_DESC_LEAK
        value: '31'
      - name: QCA_WLAN_HANG_RX_MSDU_BUF_RCVD_IN_ERR_RING
        value: '28'
      - name: QCA_WLAN_HANG_BUS_FAILURE
        value: '26'
      - name: QCA_WLAN_HANG_VDEV_UNIFIED_CONNECT_RESP_TIMEOUT
        value: '37'
      - name: QCA_WLAN_HANG_PEER_UNMAP_TIMEDOUT
        value: '3'
      - name: QCA_WLAN_HANG_RX_HASH_NO_ENTRY_FOUND
        value: '1'
      - name: QCA_WLAN_HANG_SCAN_ATTEMPT_FAILURES
        value: '5'
      - name: QCA_WLAN_HANG_ACTIVE_LIST_TIMEOUT
        value: '7'
      - name: QCA_WLAN_HANG_RESUME_TIMEOUT
        value: '9'
      - name: QCA_WLAN_HANG_MAC_HW_MODE_CONFIG_TIMEOUT
        value: '17'
      - name: QCA_WLAN_HANG_WMI_EXCEED_MAX_PENDING_CMDS
        value: '13'
      - name: QCA_WLAN_HANG_STA_AP_CONNECT_REQ_TIMEOUT
        value: '15'
      - name: QCA_WLAN_HANG_TX_COMPLETE_TIMEOUT
        value: '11'
      - name: QCA_WLAN_HANG_VDEV_RESTART_RESPONSE_TIMED_OUT
        value: '19'
      - name: QCA_WLAN_HANG_WMI_BUF_SEQUENCE_MISMATCH
        value: '23'
      - name: QCA_WLAN_HANG_DEL_SELF_STA_FAIL
        value: '34'
      - name: QCA_WLAN_HANG_STATS_REQ_TIMEOUT
        value: '30'
      - name: QCA_WLAN_HANG_SCHED_TIMEOUT
        value: '32'
      - name: QCA_WLAN_HANG_VDEV_DELETE_RESPONSE_TIMED_OUT
        value: '21'
      - name: QCA_WLAN_HANG_VDEV_UNIFIED_DISCONNECT_RESP_TIMEOUT
        value: '38'
      - name: QCA_WLAN_HANG_VDEV_SM_OUT_OF_SYNC
        value: '29'
      - name: QCA_WLAN_HANG_HOST_WAKEUP_REASON_PAGE_FAULT
        value: '36'
      - name: QCA_WLAN_HANG_SUSPEND_NO_CREDIT
        value: '25'
      - name: QCA_WLAN_HANG_TASKLET_CREDIT_LATENCY_DETECT
        value: '27'
      item_type: enum
      name: qca_wlan_vendor_hang_reason
      pos:
        line_end: 9766
        line_start: 9662
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_HANG_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_HANG_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_HANG_MAX
        value: QCA_WLAN_VENDOR_ATTR_HANG_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_HANG_REASON_DATA
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_HANG_REASON
        value: '1'
      item_type: enum
      name: qca_wlan_vendor_attr_hang
      pos:
        line_end: 9788
        line_start: 9772
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_FLUSH_PENDING_POLICY_NONE
        value: '0'
      - name: QCA_WLAN_VENDOR_FLUSH_PENDING_POLICY_IMMEDIATE
        value: '1'
      - name: QCA_WLAN_VENDOR_FLUSH_PENDING_POLICY_TWT_SP_END
        value: '2'
      item_type: enum
      name: qca_wlan_vendor_flush_pending_policy
      pos:
        line_end: 9810
        line_start: 9806
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_FLUSH_PENDING_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_PEER_ADDR
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_FLUSH_PENDING_POLICY
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_TID_MASK
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_AC
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_FLUSH_PENDING_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_FLUSH_PENDING_MAX
        value: QCA_WLAN_VENDOR_ATTR_FLUSH_PENDING_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_flush_pending
      pos:
        line_end: 9844
        line_start: 9833
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_SPECTRAL_SCAN_CAP_NO_SCALING
        value: '0'
      - name: QCA_WLAN_VENDOR_SPECTRAL_SCAN_CAP_AGC_GAIN_RSSI_CORR_BASED
        value: '1'
      item_type: enum
      name: qca_wlan_vendor_spectral_scan_cap_formula_id
      pos:
        line_end: 9858
        line_start: 9855
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_RROPAVAIL_INFO_UNAVAILABLE
      - name: QCA_WLAN_VENDOR_ATTR_RROPAVAIL_INFO_VSCAN_END
      - name: QCA_WLAN_VENDOR_ATTR_RROPAVAIL_INFO_EXTERNAL_ACS_START
      item_type: enum
      name: qca_wlan_vendor_attr_rropavail_info
      pos:
        line_end: 9882
        line_start: 9867
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_RROP_INFO_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_RROP_INFO_MAX
        value: QCA_WLAN_VENDOR_ATTR_RROP_INFO_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_RROP_INFO_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_RROP_INFO_RTPL
        value: '1'
      item_type: enum
      name: qca_wlan_vendor_attr_rrop_info
      pos:
        line_end: 9903
        line_start: 9892
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_RTPLINST_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_RTPLINST_TXPOWER_RANGE
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_RTPLINST_TXPOWER_THROUGHPUT
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_RTPLINST_PRIMARY
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_RTPLINST_PRIMARY_FREQUENCY
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_RTPLINST_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_RTPLINST_MAX
        value: QCA_WLAN_VENDOR_ATTR_RTPLINST_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_rtplinst
      pos:
        line_end: 9939
        line_start: 9916
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_LATENCY_LEVEL_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_LATENCY_LEVEL_LOW
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_LATENCY_LEVEL_MODERATE
        value: QCA_WLAN_VENDOR_ATTR_CONFIG_LATENCY_LEVEL_XR
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_LATENCY_LEVEL_XR
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_LATENCY_LEVEL_NORMAL
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_LATENCY_LEVEL_ULTRALOW
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_LATENCY_LEVEL_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_LATENCY_LEVEL_MAX
        value: QCA_WLAN_VENDOR_ATTR_CONFIG_LATENCY_LEVEL_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_config_latency_level
      pos:
        line_end: 9979
        line_start: 9965
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_MAC_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_MAC_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_MAC_INFO
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_MAC_MAX
        value: QCA_WLAN_VENDOR_ATTR_MAC_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_mac
      pos:
        line_end: 9997
        line_start: 9985
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_MAC_IFACE_INFO_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_MAC_IFACE_INFO_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_MAC_IFACE_INFO_FREQ
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_MAC_IFACE_INFO_MAX
        value: QCA_WLAN_VENDOR_ATTR_MAC_IFACE_INFO_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_MAC_IFACE_INFO_IFINDEX
        value: '1'
      item_type: enum
      name: qca_wlan_vendor_attr_mac_iface_info
      pos:
        line_end: 10015
        line_start: 10004
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_MAC_INFO_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_MAC_INFO_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_MAC_IFACE_INFO
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_MAC_INFO_BAND
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_MAC_INFO_MAC_ID
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_MAC_INFO_MAX
        value: QCA_WLAN_VENDOR_ATTR_MAC_INFO_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_mac_info
      pos:
        line_end: 10040
        line_start: 10022
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_LOGGER_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_LOGGER_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_LOGGER_SUPPORTED
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_LOGGER_MAX
        value: QCA_WLAN_VENDOR_ATTR_LOGGER_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_get_logger_features
      pos:
        line_end: 10054
        line_start: 10046
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: WIFI_LOGGER_MEMORY_DUMP_FEATURE
        value: (1 << (0))
      - name: WIFI_LOGGER_POWER_EVENT_FEATURE
        value: (1 << (3))
      - name: WIFI_LOGGER_CONNECT_EVENT_FEATURE
        value: (1 << (2))
      - name: WIFI_LOGGER_PER_PACKET_TX_RX_STATUS_FEATURE
        value: (1 << (1))
      - name: WIFI_LOGGER_WAKE_LOCK_FEATURE
        value: (1 << (4))
      - name: WIFI_LOGGER_VERBOSE_FEATURE
        value: (1 << (5))
      - name: WIFI_LOGGER_WATCHDOG_TIMER_FEATURE
        value: (1 << (6))
      - name: WIFI_LOGGER_DRIVER_DUMP_FEATURE
        value: (1 << (7))
      - name: WIFI_LOGGER_PACKET_FATE_FEATURE
        value: (1 << (8))
      item_type: enum
      name: wifi_logger_supported_features
      pos:
        line_end: 10069
        line_start: 10059
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: WIFI_TDLS_SUPPORT
        value: (1 << (0))
      - name: WIFI_TDLS_EXTERNAL_CONTROL_SUPPORT
        value: (1 << (1))
      - name: WIFI_TDLS_WIDER_BW_SUPPORT
        value: (1 << (3))
      - name: WIFI_TDLS_OFFCHANNEL_SUPPORT
        value: (1 << (2))
      item_type: enum
      name: qca_wlan_tdls_caps_features_supported
      pos:
        line_end: 10084
        line_start: 10075
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_GET_CAPS_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_GET_CAPS_MAX
        value: QCA_WLAN_VENDOR_ATTR_TDLS_GET_CAPS_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_GET_CAPS_MAX_CONC_SESSIONS
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_GET_CAPS_FEATURES_SUPPORTED
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_GET_CAPS_AFTER_LAST
      item_type: enum
      name: qca_wlan_vendor_attr_tdls_get_capabilities
      pos:
        line_end: 10104
        line_start: 10090
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_OFFLOADED_PACKETS_SENDING_CONTROL_INVALID
        value: '0'
      - name: QCA_WLAN_OFFLOADED_PACKETS_SENDING_STOP
      - name: QCA_WLAN_OFFLOADED_PACKETS_SENDING_START
      item_type: enum
      name: qca_wlan_offloaded_packets_sending_control
      pos:
        line_end: 10115
        line_start: 10111
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_OFFLOADED_PACKETS_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_OFFLOADED_PACKETS_REQUEST_ID
      - name: QCA_WLAN_VENDOR_ATTR_OFFLOADED_PACKETS_SENDING_CONTROL
      - name: QCA_WLAN_VENDOR_ATTR_OFFLOADED_PACKETS_SRC_MAC_ADDR
      - name: QCA_WLAN_VENDOR_ATTR_OFFLOADED_PACKETS_IP_PACKET_DATA
      - name: QCA_WLAN_VENDOR_ATTR_OFFLOADED_PACKETS_DST_MAC_ADDR
      - name: QCA_WLAN_VENDOR_ATTR_OFFLOADED_PACKETS_PERIOD
      - name: QCA_WLAN_VENDOR_ATTR_OFFLOADED_PACKETS_ETHER_PROTO_TYPE
      - name: QCA_WLAN_VENDOR_ATTR_OFFLOADED_PACKETS_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_OFFLOADED_PACKETS_MAX
        value: QCA_WLAN_VENDOR_ATTR_OFFLOADED_PACKETS_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_offloaded_packets
      pos:
        line_end: 10147
        line_start: 10121
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_RSSI_MONITORING_CONTROL_INVALID
        value: '0'
      - name: QCA_WLAN_RSSI_MONITORING_START
      - name: QCA_WLAN_RSSI_MONITORING_STOP
      item_type: enum
      name: qca_wlan_rssi_monitoring_control
      pos:
        line_end: 10157
        line_start: 10153
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_RSSI_MONITORING_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_RSSI_MONITORING_REQUEST_ID
      - name: QCA_WLAN_VENDOR_ATTR_RSSI_MONITORING_CONTROL
      - name: QCA_WLAN_VENDOR_ATTR_RSSI_MONITORING_MAX_RSSI
      - name: QCA_WLAN_VENDOR_ATTR_RSSI_MONITORING_MIN_RSSI
      - name: QCA_WLAN_VENDOR_ATTR_RSSI_MONITORING_CUR_BSSID
      - name: QCA_WLAN_VENDOR_ATTR_RSSI_MONITORING_CUR_RSSI
      - name: QCA_WLAN_VENDOR_ATTR_RSSI_MONITORING_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_RSSI_MONITORING_MAX
        value: QCA_WLAN_VENDOR_ATTR_RSSI_MONITORING_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_rssi_monitoring
      pos:
        line_end: 10185
        line_start: 10163
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_NDP_TRANSPORT_PORT
        value: '28'
      - name: QCA_WLAN_VENDOR_ATTR_NDP_CHANNEL_WIDTH
      - name: QCA_WLAN_VENDOR_ATTR_NDP_PARAMS_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_NDP_SERVICE_NAME
      - name: QCA_WLAN_VENDOR_ATTR_NDP_CSIA_CAPABILITIES
        value: '32'
      - name: QCA_WLAN_VENDOR_ATTR_NDP_NSS
      - name: QCA_WLAN_VENDOR_ATTR_NDP_MAX_LATENCY_MS
        value: '34'
      - name: QCA_WLAN_VENDOR_ATTR_NDP_SERVICE_INSTANCE_ID
      - name: QCA_WLAN_VENDOR_ATTR_NDP_SUBCMD
      - name: QCA_WLAN_VENDOR_ATTR_NDP_PEER_DISCOVERY_MAC_ADDR
      - name: QCA_WLAN_VENDOR_ATTR_NDP_CONFIG_SECURITY
      - name: QCA_WLAN_VENDOR_ATTR_NDP_APP_INFO
      - name: QCA_WLAN_VENDOR_ATTR_NDP_NDI_MAC_ADDR
      - name: QCA_WLAN_VENDOR_ATTR_NDP_DRV_RETURN_VALUE
      - name: QCA_WLAN_VENDOR_ATTR_NDP_INSTANCE_ID_ARRAY
      - name: QCA_WLAN_VENDOR_ATTR_NDP_CSID
      - name: QCA_WLAN_VENDOR_ATTR_NDP_SCID
      - name: QCA_WLAN_VENDOR_ATTR_NDP_TRANSPORT_PROTOCOL
        value: '29'
      - name: QCA_WLAN_VENDOR_ATTR_NDP_SERVICE_ID
        value: '31'
      - name: QCA_WLAN_VENDOR_ATTR_NDP_PASSPHRASE
      - name: QCA_WLAN_VENDOR_ATTR_NDP_IPV6_ADDR
        value: '27'
      - name: QCA_WLAN_VENDOR_ATTR_NDP_PARAMS_MAX
        value: QCA_WLAN_VENDOR_ATTR_NDP_PARAMS_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_NDP_TPUT
        value: '35'
      - name: QCA_WLAN_VENDOR_ATTR_NDP_NUM_CHANNELS
      - name: QCA_WLAN_VENDOR_ATTR_NDP_CHANNEL_INFO
      - name: QCA_WLAN_VENDOR_ATTR_NDP_SCHEDULE_UPDATE_REASON
      - name: QCA_WLAN_VENDOR_ATTR_NDP_GTK_REQUIRED
        value: '33'
      - name: QCA_WLAN_VENDOR_ATTR_NDP_PARAM_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_NDP_CHANNEL
      - name: QCA_WLAN_VENDOR_ATTR_NDP_TRANSACTION_ID
      - name: QCA_WLAN_VENDOR_ATTR_NDP_IFACE_STR
      - name: QCA_WLAN_VENDOR_ATTR_NDP_CONFIG_QOS
      - name: QCA_WLAN_VENDOR_ATTR_NDP_RESPONSE_CODE
      - name: QCA_WLAN_VENDOR_ATTR_NDP_INSTANCE_ID
      - name: QCA_WLAN_VENDOR_ATTR_NDP_DRV_RESPONSE_STATUS_TYPE
      - name: QCA_WLAN_VENDOR_ATTR_NDP_CHANNEL_CONFIG
      - name: QCA_WLAN_VENDOR_ATTR_NDP_PMK
      - name: QCA_WLAN_VENDOR_ATTR_PEER_NDPE_SUPPORT
        value: '30'
      item_type: enum
      name: qca_wlan_vendor_attr_ndp_params
      pos:
        line_end: 10341
        line_start: 10191
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_NDP_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_NDP_INTERFACE_DELETE
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_NDP_INITIATOR_REQUEST
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_NDP_INTERFACE_CREATE
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_NDP_INITIATOR_RESPONSE
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_NDP_RESPONDER_REQUEST
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_NDP_RESPONDER_RESPONSE
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_NDP_END_REQUEST
        value: '7'
      - name: QCA_WLAN_VENDOR_ATTR_NDP_END_RESPONSE
        value: '8'
      - name: QCA_WLAN_VENDOR_ATTR_NDP_REQUEST_IND
        value: '9'
      - name: QCA_WLAN_VENDOR_ATTR_NDP_CONFIRM_IND
        value: '10'
      - name: QCA_WLAN_VENDOR_ATTR_NDP_END_IND
        value: '11'
      - name: QCA_WLAN_VENDOR_NDP_SUB_CMD_UPDATE_CONFIG
        value: '13'
      - name: QCA_WLAN_VENDOR_ATTR_NDP_SCHEDULE_UPDATE_IND
        value: '12'
      item_type: enum
      name: qca_wlan_ndp_sub_cmd
      pos:
        line_end: 10391
        line_start: 10343
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_ND_OFFLOAD_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_ND_OFFLOAD_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_ND_OFFLOAD_FLAG
      - name: QCA_WLAN_VENDOR_ATTR_ND_OFFLOAD_MAX
        value: QCA_WLAN_VENDOR_ATTR_ND_OFFLOAD_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_nd_offload
      pos:
        line_end: 10405
        line_start: 10397
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_SET_PACKET_FILTER
        value: '1'
      - name: QCA_WLAN_READ_PACKET_FILTER
        value: '4'
      - name: QCA_WLAN_WRITE_PACKET_FILTER
        value: '3'
      - name: QCA_WLAN_GET_PACKET_FILTER
        value: '2'
      - name: QCA_WLAN_ENABLE_PACKET_FILTER
        value: '5'
      - name: QCA_WLAN_DISABLE_PACKET_FILTER
        value: '6'
      item_type: enum
      name: packet_filter_sub_cmd
      pos:
        line_end: 10435
        line_start: 10410
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_PACKET_FILTER_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_PACKET_FILTER_SUB_CMD
      - name: QCA_WLAN_VENDOR_ATTR_PACKET_FILTER_SIZE
      - name: QCA_WLAN_VENDOR_ATTR_PACKET_FILTER_ID
      - name: QCA_WLAN_VENDOR_ATTR_PACKET_FILTER_VERSION
      - name: QCA_WLAN_VENDOR_ATTR_PACKET_FILTER_CURRENT_OFFSET
      - name: QCA_WLAN_VENDOR_ATTR_PACKET_FILTER_PROGRAM
      - name: QCA_WLAN_VENDOR_ATTR_PACKET_FILTER_PROG_LENGTH
        value: '7'
      - name: QCA_WLAN_VENDOR_ATTR_PACKET_FILTER_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_PACKET_FILTER_MAX
        value: QCA_WLAN_VENDOR_ATTR_PACKET_FILTER_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_packet_filter
      pos:
        line_end: 10467
        line_start: 10441
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_DRV_INFO_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_DRV_INFO_BUS_SIZE
      - name: QCA_WLAN_VENDOR_ATTR_DRV_INFO_MAX
        value: QCA_WLAN_VENDOR_ATTR_DRV_INFO_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_DRV_INFO_AFTER_LAST
      item_type: enum
      name: qca_wlan_vendor_drv_info
      pos:
        line_end: 10483
        line_start: 10473
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_WAKE_STATS_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_WAKE_STATS_CMD_EVENT_WAKE_CNT_PTR
      - name: QCA_WLAN_VENDOR_ATTR_WAKE_STATS_TOTAL_DRIVER_FW_LOCAL_WAKE
      - name: QCA_WLAN_VENDOR_ATTR_WAKE_STATS_DRIVER_FW_LOCAL_WAKE_CNT_SZ
      - name: QCA_WLAN_VENDOR_ATTR_WAKE_STATS_RX_UNICAST_CNT
      - name: QCA_WLAN_VENDOR_ATTR_WAKE_STATS_ICMP6_PKT
      - name: QCA_WLAN_VENDOR_ATTR_WAKE_STATS_ICMP6_NA
      - name: QCA_WLAN_VENDOR_ATTR_WAKE_STATS_OTHER_RX_MULTICAST_CNT
      - name: QCA_WLAN_VENDOR_ATTR_WAKE_STATS_RX_BROADCAST_CNT
      - name: QCA_WLAN_VENDOR_ATTR_WAKE_STATS_ICMP4_RX_MULTICAST_CNT
      - name: QCA_WLAN_VENDOR_GET_WAKE_STATS_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_WAKE_STATS_LOW_RSSI_CNT
      - name: QCA_WLAN_VENDOR_ATTR_WAKE_STATS_PNO_COMPLETE_CNT
      - name: QCA_WLAN_VENDOR_GET_WAKE_STATS_MAX
        value: QCA_WLAN_VENDOR_GET_WAKE_STATS_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_WAKE_STATS_TOTAL_CMD_EVENT_WAKE
      - name: QCA_WLAN_VENDOR_ATTR_WAKE_STATS_CMD_EVENT_WAKE_CNT_SZ
      - name: QCA_WLAN_VENDOR_ATTR_WAKE_STATS_DRIVER_FW_LOCAL_WAKE_CNT_PTR
      - name: QCA_WLAN_VENDOR_ATTR_WAKE_STATS_TOTAL_RX_DATA_WAKE
      - name: QCA_WLAN_VENDOR_ATTR_WAKE_STATS_RX_MULTICAST_CNT
      - name: QCA_WLAN_VENDOR_ATTR_WAKE_STATS_ICMP6_RA
      - name: QCA_WLAN_VENDOR_ATTR_WAKE_STATS_ICMP6_NS
      - name: QCA_WLAN_VENDOR_ATTR_WAKE_STATS_ICMP6_RX_MULTICAST_CNT
      - name: QCA_WLAN_VENDOR_ATTR_WAKE_STATS_ICMP_PKT
      - name: QCA_WLAN_VENDOR_ATTR_WAKE_STATS_RSSI_BREACH_CNT
      - name: QCA_WLAN_VENDOR_ATTR_WAKE_STATS_PNO_MATCH_CNT
      - name: QCA_WLAN_VENDOR_ATTR_WAKE_STATS_GSCAN_CNT
      item_type: enum
      name: qca_wlan_vendor_attr_wake_stats
      pos:
        line_end: 10542
        line_start: 10489
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_THERMAL_LEVEL_NONE
        value: '0'
      - name: QCA_WLAN_VENDOR_THERMAL_LEVEL_LIGHT
        value: '1'
      - name: QCA_WLAN_VENDOR_THERMAL_LEVEL_SEVERE
        value: '3'
      - name: QCA_WLAN_VENDOR_THERMAL_LEVEL_MODERATE
        value: '2'
      - name: QCA_WLAN_VENDOR_THERMAL_LEVEL_CRITICAL
        value: '4'
      - name: QCA_WLAN_VENDOR_THERMAL_LEVEL_EMERGENCY
        value: '5'
      item_type: enum
      name: qca_wlan_vendor_thermal_level
      pos:
        line_end: 10566
        line_start: 10559
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_THERMAL_CMD_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_THERMAL_COMPLETION_WINDOW
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_THERMAL_LEVEL
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_THERMAL_CMD_VALUE
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_THERMAL_STATS
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_THERMAL_CMD_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_THERMAL_CMD_MAX
        value: QCA_WLAN_VENDOR_ATTR_THERMAL_CMD_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_thermal_cmd
      pos:
        line_end: 10611
        line_start: 10573
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_THERMAL_CMD_TYPE_GET_PARAMS
      - name: QCA_WLAN_VENDOR_ATTR_THERMAL_CMD_TYPE_GET_TEMPERATURE
      - name: QCA_WLAN_VENDOR_ATTR_THERMAL_CMD_TYPE_RESUME
      - name: QCA_WLAN_VENDOR_ATTR_THERMAL_CMD_TYPE_SUSPEND
      - name: QCA_WLAN_VENDOR_ATTR_THERMAL_CMD_TYPE_SET_LEVEL
      - name: QCA_WLAN_VENDOR_ATTR_THERMAL_CMD_TYPE_GET_LEVEL
      - name: QCA_WLAN_VENDOR_ATTR_THERMAL_CMD_TYPE_GET_THERMAL_STATS
      - name: QCA_WLAN_VENDOR_ATTR_THERMAL_CMD_TYPE_CLEAR_THERMAL_STATS
      item_type: enum
      name: qca_wlan_vendor_attr_thermal_cmd_type
      pos:
        line_end: 10651
        line_start: 10642
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_THERMAL_GET_TEMPERATURE_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_THERMAL_GET_TEMPERATURE_DATA
      - name: QCA_WLAN_VENDOR_ATTR_THERMAL_GET_TEMPERATURE_MAX
        value: QCA_WLAN_VENDOR_ATTR_THERMAL_GET_TEMPERATURE_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_THERMAL_GET_TEMPERATURE_AFTER_LAST
      item_type: enum
      name: qca_wlan_vendor_attr_thermal_get_temperature
      pos:
        line_end: 10671
        line_start: 10660
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_GET_THERMAL_PARAMS_RSP_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_GET_THERMAL_PARAMS_RSP_SHUTDOWN_AUTO_EN
      - name: QCA_WLAN_VENDOR_ATTR_GET_THERMAL_PARAMS_RSP_SHUTDOWN_EN
      - name: QCA_WLAN_VENDOR_ATTR_GET_THERMAL_PARAMS_RSP_WARNING_THRESH
      - name: QCA_WLAN_VENDOR_ATTR_GET_THERMAL_PARAMS_RSP_RESUME_THRESH
      - name: QCA_WLAN_VENDOR_ATTR_GET_THERMAL_PARAMS_RSP_SUSPEND_THRESH
      - name: QCA_WLAN_VENDOR_ATTR_GET_THERMAL_PARAMS_RSP_SAMPLE_RATE
      - name: QCA_WLAN_VENDOR_ATTR_GET_THERMAL_PARAMS_RSP_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_GET_THERMAL_PARAMS_RSP_MAX
        value: QCA_WLAN_VENDOR_ATTR_GET_THERMAL_PARAMS_RSP_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_get_thermal_params_rsp
      pos:
        line_end: 10715
        line_start: 10679
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_THERMAL_EVENT_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_THERMAL_EVENT_LEVEL
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_THERMAL_EVENT_RESUME_COMPLETE
      - name: QCA_WLAN_VENDOR_ATTR_THERMAL_EVENT_TEMPERATURE
      - name: QCA_WLAN_VENDOR_ATTR_THERMAL_EVENT_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_THERMAL_EVENT_MAX
        value: QCA_WLAN_VENDOR_ATTR_THERMAL_EVENT_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_thermal_event
      pos:
        line_end: 10743
        line_start: 10723
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_THERMAL_STATS_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_THERMAL_STATS_MIN_TEMPERATURE
      - name: QCA_WLAN_VENDOR_ATTR_THERMAL_STATS_DWELL_TIME
      - name: QCA_WLAN_VENDOR_ATTR_THERMAL_STATS_MAX_TEMPERATURE
      - name: QCA_WLAN_VENDOR_ATTR_THERMAL_STATS_TEMP_LEVEL_COUNTER
      - name: QCA_WLAN_VENDOR_ATTR_THERMAL_STATS_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_THERMAL_STATS_MAX
        value: QCA_WLAN_VENDOR_ATTR_THERMAL_STATS_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_thermal_stats
      pos:
        line_end: 10772
        line_start: 10761
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: HE_FRAG_DISABLE
      - name: HE_FRAG_LEVEL1
      - name: HE_FRAG_LEVEL3
      - name: HE_FRAG_LEVEL2
      item_type: enum
      name: he_fragmentation_val
      pos:
        line_end: 10805
        line_start: 10800
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: HE_80_MCS0_7
        value: '0'
      - name: HE_160_MCS0_9
        value: '5'
      - name: HE_80_MCS0_9
        value: '1'
      - name: HE_80_MCS0_11
        value: '2'
      - name: HE_160_MCS0_7
        value: '4'
      - name: HE_160_MCS0_11
        value: '6'
      - name: HE_80P80_MCS0_7
        value: '8'
      - name: HE_80P80_MCS0_9
        value: '9'
      - name: HE_80P80_MCS0_11
        value: '10'
      item_type: enum
      name: he_mcs_config
      pos:
        line_end: 10845
        line_start: 10835
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_ADD_BA
        value: '1'
      - name: QCA_WLAN_DELETE_BA
        value: '2'
      item_type: enum
      name: qca_wlan_ba_session_config
      pos:
        line_end: 10858
        line_start: 10855
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_AC_BE
        value: '0'
      - name: QCA_WLAN_AC_VO
        value: '3'
      - name: QCA_WLAN_AC_VI
        value: '2'
      - name: QCA_WLAN_AC_BK
        value: '1'
      - name: QCA_WLAN_AC_ALL
        value: '4'
      item_type: enum
      name: qca_wlan_ac_type
      pos:
        line_end: 10877
        line_start: 10871
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_HE_LTF_AUTO
        value: '0'
      - name: QCA_WLAN_HE_LTF_4X
        value: '3'
      - name: QCA_WLAN_HE_LTF_2X
        value: '2'
      - name: QCA_WLAN_HE_LTF_1X
        value: '1'
      item_type: enum
      name: qca_wlan_he_ltf_cfg
      pos:
        line_end: 10895
        line_start: 10890
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_HE_NO_ADDITIONAL_PROCESS_TIME
        value: '0'
      - name: QCA_WLAN_HE_8US_OF_PROCESS_TIME
        value: '1'
      - name: QCA_WLAN_HE_16US_OF_PROCESS_TIME
        value: '2'
      item_type: enum
      name: qca_wlan_he_mac_padding_dur
      pos:
        line_end: 10913
        line_start: 10909
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_HE_OM_CTRL_BW_20M
        value: '0'
      - name: QCA_WLAN_HE_OM_CTRL_BW_80M
        value: '2'
      - name: QCA_WLAN_HE_OM_CTRL_BW_40M
        value: '1'
      - name: QCA_WLAN_HE_OM_CTRL_BW_160M
        value: '3'
      item_type: enum
      name: qca_wlan_he_om_ctrl_ch_bw
      pos:
        line_end: 10930
        line_start: 10925
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_KEEP_ALIVE_DEFAULT
        value: '0'
      - name: QCA_WLAN_KEEP_ALIVE_MGMT
        value: '2'
      - name: QCA_WLAN_KEEP_ALIVE_DATA
        value: '1'
      item_type: enum
      name: qca_wlan_keep_alive_data_type
      pos:
        line_end: 10945
        line_start: 10941
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: EHT_MCS0_7
        value: '0'
      - name: EHT_MCS0_13
        value: '3'
      - name: EHT_MCS0_11
        value: '2'
      - name: EHT_MCS0_9
        value: '1'
      item_type: enum
      name: eht_mcs_config
      pos:
        line_end: 10964
        line_start: 10959
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_EHT_MODE_INVALID
        value: '0'
      - name: QCA_WLAN_EHT_MLSR
        value: '1'
      - name: QCA_WLAN_EHT_NON_STR_MLMR
        value: '3'
      - name: QCA_WLAN_EHT_EMLSR
        value: '2'
      - name: QCA_WLAN_EHT_STR_MLMR
        value: '4'
      item_type: enum
      name: qca_wlan_eht_mlo_mode
      pos:
        line_end: 10982
        line_start: 10976
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_EMLSR_MODE_ENTER
        value: '0'
      - name: QCA_WLAN_EMLSR_MODE_EXIT
        value: '1'
      item_type: enum
      name: qca_wlan_emlsr_mode
      pos:
        line_end: 10992
        line_start: 10989
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_TTLM_DISABLE
        value: '0'
      - name: QCA_WLAN_TTLM_SAME_DIFF_LINK_SET
        value: '2'
      - name: QCA_WLAN_TTLM_SAME_LINK_SET
        value: '1'
      item_type: enum
      name: qca_wlan_ttlm_negotiation_support
      pos:
        line_end: 11007
        line_start: 11003
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_COEX_TRAFFIC_SHAPING_MODE_DISABLE
        value: '0'
      - name: QCA_COEX_TRAFFIC_SHAPING_MODE_ENABLE
        value: '1'
      item_type: enum
      name: qca_coex_traffic_shaping_mode
      pos:
        line_end: 11017
        line_start: 11014
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_HE_OMI_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_HE_OMI_TX_NSTS
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_HE_OMI_CH_BW
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_HE_OMI_RX_NSS
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_HE_OMI_ULMU_DISABLE
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_HE_OMI_ULMU_DATA_DISABLE
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_EHT_OMI_RX_NSS_EXTN
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_EHT_OMI_CH_BW_EXTN
        value: '7'
      - name: QCA_WLAN_VENDOR_ATTR_EHT_OMI_TX_NSS_EXTN
        value: '8'
      - name: QCA_WLAN_VENDOR_ATTR_OMI_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_OMI_MAX
        value: QCA_WLAN_VENDOR_ATTR_OMI_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_omi_tx
      pos:
        line_end: 11082
        line_start: 11067
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_PHY_MODE_11B
        value: '4'
      - name: QCA_WLAN_VENDOR_PHY_MODE_11NG_HT40PLUS
        value: '8'
      - name: QCA_WLAN_VENDOR_PHY_MODE_11AC_VHT40PLUS
        value: '16'
      - name: QCA_WLAN_VENDOR_PHY_MODE_11NA_HT40PLUS
        value: '12'
      - name: QCA_WLAN_VENDOR_PHY_MODE_11AC_VHT80P80
        value: '20'
      - name: QCA_WLAN_VENDOR_PHY_MODE_11AX_HE80
        value: '26'
      - name: QCA_WLAN_VENDOR_PHY_MODE_11BE_EHT40
        value: '30'
      - name: QCA_WLAN_VENDOR_PHY_MODE_11BE_EHT80P80
        value: '34'
      - name: QCA_WLAN_VENDOR_PHY_MODE_AUTO
        value: '0'
      - name: QCA_WLAN_VENDOR_PHY_MODE_11A
        value: '3'
      - name: QCA_WLAN_VENDOR_PHY_MODE_11NG_HT20
        value: '7'
      - name: QCA_WLAN_VENDOR_PHY_MODE_11NA_HT20
        value: '11'
      - name: QCA_WLAN_VENDOR_PHY_MODE_11AC_VHT20
        value: '15'
      - name: QCA_WLAN_VENDOR_PHY_MODE_11AC_VHT80
        value: '19'
      - name: QCA_WLAN_VENDOR_PHY_MODE_11AX_HE40
        value: '23'
      - name: QCA_WLAN_VENDOR_PHY_MODE_11AX_HE40MINUS
        value: '25'
      - name: QCA_WLAN_VENDOR_PHY_MODE_11BE_EHT20
        value: '29'
      - name: QCA_WLAN_VENDOR_PHY_MODE_11BE_EHT80
        value: '33'
      - name: QCA_WLAN_VENDOR_PHY_MODE_5G_AUTO
        value: '2'
      - name: QCA_WLAN_VENDOR_PHY_MODE_11AGN
        value: '6'
      - name: QCA_WLAN_VENDOR_PHY_MODE_11NG_HT40
        value: '10'
      - name: QCA_WLAN_VENDOR_PHY_MODE_11AC_VHT40
        value: '18'
      - name: QCA_WLAN_VENDOR_PHY_MODE_11NA_HT40
        value: '14'
      - name: QCA_WLAN_VENDOR_PHY_MODE_11AX_HE20
        value: '22'
      - name: QCA_WLAN_VENDOR_PHY_MODE_11AX_HE40PLUS
        value: '24'
      - name: QCA_WLAN_VENDOR_PHY_MODE_11AX_HE160
        value: '28'
      - name: QCA_WLAN_VENDOR_PHY_MODE_11BE_EHT40MINUS
        value: '32'
      - name: QCA_WLAN_VENDOR_PHY_MODE_11BE_EHT320
        value: '36'
      - name: QCA_WLAN_VENDOR_PHY_MODE_2G_AUTO
        value: '1'
      - name: QCA_WLAN_VENDOR_PHY_MODE_11G
        value: '5'
      - name: QCA_WLAN_VENDOR_PHY_MODE_11NG_HT40MINUS
        value: '9'
      - name: QCA_WLAN_VENDOR_PHY_MODE_11AC_VHT40MINUS
        value: '17'
      - name: QCA_WLAN_VENDOR_PHY_MODE_11NA_HT40MINUS
        value: '13'
      - name: QCA_WLAN_VENDOR_PHY_MODE_11AC_VHT160
        value: '21'
      - name: QCA_WLAN_VENDOR_PHY_MODE_11AX_HE80P80
        value: '27'
      - name: QCA_WLAN_VENDOR_PHY_MODE_11BE_EHT40PLUS
        value: '31'
      - name: QCA_WLAN_VENDOR_PHY_MODE_11BE_EHT160
        value: '35'
      item_type: enum
      name: qca_wlan_vendor_phy_mode
      pos:
        line_end: 11174
        line_start: 11136
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_ADDBA_BUFF_SIZE
        value: '8'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_HE_MU_EDCA_AIFSN
        value: '16'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_HE_ACTION_TX_TB_PPDU
        value: '32'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_FT_REASSOCREQ_RSNXE_USED
        value: '40'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_TWT_TERMINATE
        value: '24'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_RX_CTRL_FRAME_TO_MBSS
        value: '56'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_DISABLE_DATA_MGMT_RSP_TX
        value: '48'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_FORCE_MLO_POWER_SAVE_BCN_PERIOD
        value: '69'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_EHT_EXTRA_LTF
        value: '77'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_MAX
        value: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_IGNORE_SA_QUERY_TIMEOUT
        value: '43'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_SET_EHT_TESTBED_DEFAULTS
        value: '64'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_6GHZ_SECURITY_TEST_MODE
        value: '51'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_MLD_ID_ML_PROBE_REQ
        value: '72'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_HE_OM_CTRL_BW
        value: '27'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_SEND_ADDBA_REQ
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_NO_ACK_AC
        value: '11'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_HE_MU_EDCA_TIMER
        value: '19'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_ENABLE_2G_VHT
        value: '35'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_BEAMFORMER_PERIODIC_SOUNDING
        value: '59'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_ACCEPT_ADDBA_REQ
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_HE_MU_EDCA_ECWMAX
        value: '18'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_ENABLE_NO_ACK
        value: '10'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_HE_HTC_HE_SUPP
        value: '34'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_11BE_EMLSR_MODE
        value: '58'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_OCI_OVERRIDE
        value: '42'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_EXCLUDE_STA_PROF_IN_PROBE_REQ
        value: '63'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_IGNORE_H2E_RSNXE
        value: '50'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_EHT_MLO_LINK_POWER_SAVE
        value: '71'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_TWT_RESUME
        value: '26'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_BTM_REQ_RESP
        value: '79'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_FULL_BW_UL_MU_MIMO
        value: '45'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_EHT_TB_SOUNDING_FB_RL
        value: '66'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_OVERRIDE_MU_EDCA
        value: '21'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_HE_OM_CTRL_UL_MU_DISABLE
        value: '29'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_HE_MCS
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_ENABLE_TX_BEAMFORMEE
        value: '13'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_KEEP_ALIVE_FRAME_TYPE
        value: '53'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_DISABLE_CHAN_SWITCH_INITIATION
        value: '74'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_EHT_BEAMFORMEE_SS_160MHZ
        value: '61'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_HE_TWT_REQ_SUPPORT
        value: '37'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_SET_UHR_TESTBED_DEFAULTS
        value: '85'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_HE_FRAGMENTATION
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_HE_LTF
        value: '12'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_SET_HE_TESTBED_DEFAULTS
        value: '36'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_HE_MAC_PADDING_DUR
        value: '20'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_EHT_BEAMFORMEE_SS_80MHZ
        value: '60'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_FILS_DISCOVERY_FRAMES_TX
        value: '44'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_EHT_MCS
        value: '65'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_ER_SU_PPDU_TYPE
        value: '52'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_EHT_SCS_TRAFFIC_SUPPORT
        value: '73'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_HE_OM_CTRL_NSS
        value: '28'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_EHT_BTM_RECOMM_MULTI_AP_SUPPORT
        value: '81'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_RU_242_TONE_TX
        value: '47'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_EMLSR_PADDING_DELAY
        value: '68'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_TWT_SETUP
        value: '23'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_HE_TX_SUPPDU
        value: '31'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_ADD_DEL_BA_SESSION
        value: '7'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_HE_MU_EDCA_AC
        value: '15'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_BSS_MAX_IDLE_PERIOD_ENABLE
        value: '55'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_EHT_TRIG_SU_BFORMING_FEEDBACK
        value: '76'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_DISASSOC_TX
        value: '39'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_UHR_MCS
        value: '84'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_EHT_RTWT_SUPPORT
        value: '80'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_WEP_TKIP_IN_HE
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_HE_TX_BEAMFORMEE_NSTS
        value: '14'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_USE_BSSID_IN_PROBE_REQ_RA
        value: '54'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_RSNE_ADD_RANDOM_PMKIDS
        value: '75'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_EHT_BEAMFORMEE_SS_320MHZ
        value: '62'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_PMF_PROTECTION
        value: '38'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_BSS_MAX_IDLE_PERIOD
        value: '46'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_EHT_OM_CTRL_SUPPORT
        value: '67'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_HE_OM_CTRL_SUPP
        value: '22'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_CLEAR_HE_OM_CTRL_CONFIG
        value: '30'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_20MHZ_ONLY_STA
        value: '83'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_TWT_SUSPEND
        value: '25'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_PUNCTURED_PREAMBLE_RX
        value: '49'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_WMM_ENABLE
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_BA_TID
        value: '9'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_HE_MU_EDCA_ECWMIN
        value: '17'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_BCAST_TWT_SUPPORT
        value: '57'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_EHT_MLO_STR_TX
        value: '70'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_OMI_TX
        value: '33'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_IGNORE_CSA
        value: '41'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_BTM_REQ_REJECT
        value: '78'
      - name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_EHT_SET_MLE_RESERVED_FIELDS
        value: '82'
      item_type: enum
      name: qca_wlan_vendor_attr_wifi_test_config
      pos:
        line_end: 11888
        line_start: 11179
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_TWT_SET
        value: '0'
      - name: QCA_WLAN_TWT_GET
        value: '1'
      - name: QCA_WLAN_TWT_SUSPEND
        value: '3'
      - name: QCA_WLAN_TWT_TERMINATE
        value: '2'
      - name: QCA_WLAN_TWT_RESUME
        value: '4'
      - name: QCA_WLAN_TWT_NUDGE
        value: '5'
      - name: QCA_WLAN_TWT_GET_STATS
        value: '6'
      - name: QCA_WLAN_TWT_CLEAR_STATS
        value: '7'
      - name: QCA_WLAN_TWT_GET_CAPABILITIES
        value: '8'
      - name: QCA_WLAN_TWT_SETUP_READY_NOTIFY
        value: '9'
      - name: QCA_WLAN_TWT_EARLY_TERMINATION_IND
        value: '12'
      - name: QCA_WLAN_TWT_SET_PARAM
        value: '10'
      - name: QCA_WLAN_TWT_NOTIFY
        value: '11'
      item_type: enum
      name: qca_wlan_twt_operation
      pos:
        line_end: 11986
        line_start: 11972
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_TWT_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_TWT_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_TWT_NOTIFY_STATUS
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_TWT_OPERATION
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_TWT_PARAMS
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_TWT_MAX
        value: QCA_WLAN_VENDOR_ATTR_CONFIG_TWT_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_config_twt
      pos:
        line_end: 12019
        line_start: 12009
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_BSS_FILTER_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_BSS_FILTER_TYPE
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_BSS_FILTER_STA_STATS
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_BSS_FILTER_MAC_ADDR
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_BSS_FILTER_ACTION
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_BSS_FILTER_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_BSS_FILTER_MAX
        value: QCA_WLAN_VENDOR_ATTR_BSS_FILTER_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_bss_filter
      pos:
        line_end: 12064
        line_start: 12037
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_BSS_FILTER_TYPE_BSSID
      - name: QCA_WLAN_VENDOR_BSS_FILTER_TYPE_STA
      item_type: enum
      name: qca_wlan_vendor_bss_filter_type
      pos:
        line_end: 12077
        line_start: 12074
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_BSS_FILTER_ACTION_ADD
      - name: QCA_WLAN_VENDOR_BSS_FILTER_ACTION_GET
      - name: QCA_WLAN_VENDOR_BSS_FILTER_ACTION_DEL
      item_type: enum
      name: qca_wlan_vendor_bss_filter_action
      pos:
        line_end: 12092
        line_start: 12088
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_BSS_FILTER_STA_STATS_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_BSS_FILTER_STA_STATS_PAD
        value: '4'
      - name: QCA_WLAN_VENDOR_BSS_FILTER_STA_STATS_MAC
        value: '1'
      - name: QCA_WLAN_VENDOR_BSS_FILTER_STA_STATS_RSSI
        value: '2'
      - name: QCA_WLAN_VENDOR_BSS_FILTER_STA_STATS_RSSI_TS
        value: '3'
      - name: QCA_WLAN_VENDOR_BSS_FILTER_STA_STATS_AFTER_LAST
      - name: QCA_WLAN_VENDOR_BSS_FILTER_STA_STATS_MAX
        value: QCA_WLAN_VENDOR_BSS_FILTER_STA_STATS_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_bss_filter_sta_stats
      pos:
        line_end: 12121
        line_start: 12110
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_NAN_EXT_SUBCMD_TYPE_ENABLE_REQ
        value: '1'
      - name: QCA_WLAN_NAN_EXT_SUBCMD_TYPE_DISABLE_REQ
        value: '2'
      item_type: enum
      name: qca_wlan_nan_ext_subcmd_type
      pos:
        line_end: 12132
        line_start: 12127
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_NAN_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_NAN_DISC_5GHZ_BAND_FREQ
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_NAN_CMD_DATA
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_NAN_DISC_24GHZ_BAND_FREQ
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_NAN_SUBCMD_TYPE
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_NAN_PARAMS_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_NAN_PARAMS_MAX
        value: QCA_WLAN_VENDOR_ATTR_NAN_PARAMS_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_nan_params
      pos:
        line_end: 12169
        line_start: 12138
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_TWT_SETUP_STATE_NOT_ESTABLISHED
        value: '0'
      - name: QCA_WLAN_TWT_SETUP_STATE_SUSPEND
        value: '2'
      - name: QCA_WLAN_TWT_SETUP_STATE_ACTIVE
        value: '1'
      item_type: enum
      name: qca_wlan_twt_setup_state
      pos:
        line_end: 12182
        line_start: 12178
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_TWT_SESSION_NOT_SUSPENDABLE
        value: '0'
      - name: QCA_WLAN_TWT_SESSION_SUSPENDABLE
        value: '1'
      item_type: enum
      name: qca_wlan_twt_session_suspendable
      pos:
        line_end: 12194
        line_start: 12191
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_TWT_SESSION_NOT_UPDATABLE
        value: '0'
      - name: QCA_WLAN_TWT_SESSION_UPDATABLE
        value: '1'
      item_type: enum
      name: qca_wlan_twt_session_updatable
      pos:
        line_end: 12206
        line_start: 12203
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_TWT_SESSION_NOT_IMPLICIT
        value: '0'
      - name: QCA_WLAN_TWT_SESSION_IMPLICIT
        value: '1'
      item_type: enum
      name: qca_wlan_twt_session_implicit
      pos:
        line_end: 12218
        line_start: 12215
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_TWT_SETUP_BCAST
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_TWT_SETUP_FLOW_ID
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_TWT_SETUP_WAKE_DURATION
        value: '9'
      - name: QCA_WLAN_VENDOR_ATTR_TWT_SETUP_MIN_WAKE_INTVL
        value: '16'
      - name: QCA_WLAN_VENDOR_ATTR_TWT_SETUP_RESP_TYPE
        value: '12'
      - name: QCA_WLAN_VENDOR_ATTR_TWT_SETUP_STATE
        value: '20'
      - name: QCA_WLAN_VENDOR_ATTR_TWT_SETUP_BCAST_PERSISTENCE
        value: '24'
      - name: QCA_WLAN_VENDOR_ATTR_TWT_SETUP_SUSPENDABLE
        value: '28'
      - name: QCA_WLAN_VENDOR_ATTR_TWT_SETUP_IMPLICIT
        value: '32'
      - name: QCA_WLAN_VENDOR_ATTR_TWT_SETUP_FLOW_TYPE
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_TWT_SETUP_WAKE_TIME
        value: '8'
      - name: QCA_WLAN_VENDOR_ATTR_TWT_SETUP_MAC_ADDR
        value: '15'
      - name: QCA_WLAN_VENDOR_ATTR_TWT_SETUP_MAX_WAKE_DURATION
        value: '19'
      - name: QCA_WLAN_VENDOR_ATTR_TWT_SETUP_BCAST_RECOMMENDATION
        value: '23'
      - name: QCA_WLAN_VENDOR_ATTR_TWT_SETUP_PAD
        value: '27'
      - name: QCA_WLAN_VENDOR_ATTR_TWT_SETUP_UPDATABLE
        value: '31'
      - name: QCA_WLAN_VENDOR_ATTR_TWT_SETUP_MAX
        value: QCA_WLAN_VENDOR_ATTR_TWT_SETUP_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_TWT_SETUP_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_TWT_SETUP_TRIGGER
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_TWT_SETUP_PROTECTION
        value: '7'
      - name: QCA_WLAN_VENDOR_ATTR_TWT_SETUP_STATUS
        value: '11'
      - name: QCA_WLAN_VENDOR_ATTR_TWT_SETUP_MIN_WAKE_DURATION
        value: '18'
      - name: QCA_WLAN_VENDOR_ATTR_TWT_SETUP_TWT_INFO_ENABLED
        value: '14'
      - name: QCA_WLAN_VENDOR_ATTR_TWT_SETUP_BCAST_ID
        value: '22'
      - name: QCA_WLAN_VENDOR_ATTR_TWT_SETUP_ANNOUNCE_TIMEOUT
        value: '26'
      - name: QCA_WLAN_VENDOR_ATTR_TWT_SETUP_RTWT_UPLINK_TID_BITMAP
        value: '30'
      - name: QCA_WLAN_VENDOR_ATTR_TWT_SETUP_REQ_TYPE
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_TWT_SETUP_WAKE_INTVL_EXP
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_TWT_SETUP_MAX_WAKE_INTVL
        value: '17'
      - name: QCA_WLAN_VENDOR_ATTR_TWT_SETUP_WAKE_TIME_TSF
        value: '13'
      - name: QCA_WLAN_VENDOR_ATTR_TWT_SETUP_WAKE_INTVL_MANTISSA
        value: '10'
      - name: QCA_WLAN_VENDOR_ATTR_TWT_SETUP_WAKE_INTVL2_MANTISSA
        value: '21'
      - name: QCA_WLAN_VENDOR_ATTR_TWT_SETUP_RESPONDER_PM_MODE
        value: '25'
      - name: QCA_WLAN_VENDOR_ATTR_TWT_SETUP_RTWT_DOWNLINK_TID_BITMAP
        value: '29'
      - name: QCA_WLAN_VENDOR_ATTR_TWT_SETUP_AFTER_LAST
      item_type: enum
      name: qca_wlan_vendor_attr_twt_setup
      pos:
        line_end: 12529
        line_start: 12483
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_TWT_STATUS_USED_DIALOG_ID
        value: '2'
      - name: QCA_WLAN_VENDOR_TWT_STATUS_INVALID_PARAM
        value: '6'
      - name: QCA_WLAN_VENDOR_TWT_STATUS_IE_INVALID
        value: '14'
      - name: QCA_WLAN_VENDOR_TWT_STATUS_NO_RESPONSE
        value: '10'
      - name: QCA_WLAN_VENDOR_TWT_STATUS_SCC_MCC_CONCURRENCY_TERMINATE
        value: '18'
      - name: QCA_WLAN_VENDOR_TWT_STATUS_POWER_SAVE_EXIT_TERMINATE
        value: '22'
      - name: QCA_WLAN_VENDOR_TWT_STATUS_TWT_ALREADY_RESUMED
        value: '26'
      - name: QCA_WLAN_VENDOR_TWT_STATUS_MLO_LINK_INACTIVE
        value: '30'
      - name: QCA_WLAN_VENDOR_TWT_STATUS_TWT_NOT_ENABLED
        value: '1'
      - name: QCA_WLAN_VENDOR_TWT_STATUS_NOT_SUSPENDED
        value: '5'
      - name: QCA_WLAN_VENDOR_TWT_STATUS_NO_ACK
        value: '9'
      - name: QCA_WLAN_VENDOR_TWT_STATUS_ROAM_INITIATED_TERMINATE
        value: '17'
      - name: QCA_WLAN_VENDOR_TWT_STATUS_ALREADY_SUSPENDED
        value: '13'
      - name: QCA_WLAN_VENDOR_TWT_STATUS_SCAN_IN_PROGRESS
        value: '21'
      - name: QCA_WLAN_VENDOR_TWT_STATUS_MULTIPLE_LINKS_ACTIVE_TERMINATE
        value: '25'
      - name: QCA_WLAN_VENDOR_TWT_STATUS_CHAN_SWITCH_24GHZ
        value: '29'
      - name: QCA_WLAN_VENDOR_TWT_STATUS_SESSION_NOT_EXIST
        value: '4'
      - name: QCA_WLAN_VENDOR_TWT_STATUS_NO_RESOURCE
        value: '8'
      - name: QCA_WLAN_VENDOR_TWT_STATUS_UNKNOWN_ERROR
        value: '12'
      - name: QCA_WLAN_VENDOR_TWT_STATUS_PEER_INITIATED_TERMINATE
        value: '16'
      - name: QCA_WLAN_VENDOR_TWT_STATUS_CHANNEL_SWITCH_IN_PROGRESS
        value: '20'
      - name: QCA_WLAN_VENDOR_TWT_STATUS_TWT_NOT_REQUIRED
        value: '24'
      - name: QCA_WLAN_VENDOR_TWT_STATUS_TIMEOUT
        value: '28'
      - name: QCA_WLAN_VENDOR_TWT_STATUS_OK
        value: '0'
      - name: QCA_WLAN_VENDOR_TWT_STATUS_SESSION_BUSY
        value: '3'
      - name: QCA_WLAN_VENDOR_TWT_STATUS_NOT_READY
        value: '7'
      - name: QCA_WLAN_VENDOR_TWT_STATUS_DENIED
        value: '11'
      - name: QCA_WLAN_VENDOR_TWT_STATUS_PARAMS_NOT_IN_RANGE
        value: '15'
      - name: QCA_WLAN_VENDOR_TWT_STATUS_ROAMING_IN_PROGRESS
        value: '19'
      - name: QCA_WLAN_VENDOR_TWT_STATUS_TWT_REQUIRED
        value: '23'
      - name: QCA_WLAN_VENDOR_TWT_STATUS_PEER_REJECTED
        value: '27'
      item_type: enum
      name: qca_wlan_vendor_twt_status
      pos:
        line_end: 12630
        line_start: 12598
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_TWT_RESUME_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_TWT_RESUME_NEXT_TWT_SIZE
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_TWT_RESUME_NEXT2_TWT
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_TWT_RESUME_NEXT_TWT
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_TWT_RESUME_FLOW_ID
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_TWT_RESUME_MAC_ADDR
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_TWT_RESUME_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_TWT_RESUME_MAX
        value: QCA_WLAN_VENDOR_ATTR_TWT_RESUME_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_twt_resume
      pos:
        line_end: 12679
        line_start: 12667
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_TWT_NUDGE_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_TWT_NUDGE_NEXT_TWT_SIZE
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_TWT_NUDGE_WAKE_TIME
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_TWT_NUDGE_MAC_ADDR
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_TWT_NUDGE_FLOW_ID
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_TWT_NUDGE_WAKE_TIME_TSF
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_TWT_NUDGE_SP_START_OFFSET
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_TWT_NUDGE_PAD
        value: '7'
      - name: QCA_WLAN_VENDOR_ATTR_TWT_NUDGE_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_TWT_NUDGE_MAX
        value: QCA_WLAN_VENDOR_ATTR_TWT_NUDGE_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_twt_nudge
      pos:
        line_end: 12739
        line_start: 12725
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_TWT_STATS_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_TWT_STATS_FLOW_ID
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_TWT_STATS_AVG_WAKE_DURATION
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_TWT_STATS_MAC_ADDR
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_TWT_STATS_SESSION_WAKE_DURATION
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_TWT_STATS_NUM_SP_ITERATIONS
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_TWT_STATS_MIN_WAKE_DURATION
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_TWT_STATS_MAX_WAKE_DURATION
        value: '7'
      - name: QCA_WLAN_VENDOR_ATTR_TWT_STATS_AVERAGE_TX_MPDU
        value: '8'
      - name: QCA_WLAN_VENDOR_ATTR_TWT_STATS_AVERAGE_RX_MPDU
        value: '9'
      - name: QCA_WLAN_VENDOR_ATTR_TWT_STATS_STATUS
        value: '12'
      - name: QCA_WLAN_VENDOR_ATTR_TWT_STATS_MAX
        value: QCA_WLAN_VENDOR_ATTR_TWT_STATS_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_TWT_STATS_AVG_EOSP_DUR_US
        value: '13'
      - name: QCA_WLAN_VENDOR_ATTR_TWT_STATS_EOSP_COUNT
        value: '14'
      - name: QCA_WLAN_VENDOR_ATTR_TWT_STATS_AVERAGE_TX_PACKET_SIZE
        value: '10'
      - name: QCA_WLAN_VENDOR_ATTR_TWT_STATS_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_TWT_STATS_AVERAGE_RX_PACKET_SIZE
        value: '11'
      item_type: enum
      name: qca_wlan_vendor_attr_twt_stats
      pos:
        line_end: 12844
        line_start: 12823
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_TWT_CAPA_REQUESTOR
        value: BIT(0)
      - name: QCA_WLAN_TWT_CAPA_BROADCAST
        value: BIT(2)
      - name: QCA_WLAN_TWT_CAPA_FLEXIBLE
        value: BIT(3)
      - name: QCA_WLAN_TWT_CAPA_REQUIRED
        value: BIT(4)
      - name: QCA_WLAN_TWT_CAPA_RESPONDER
        value: BIT(1)
      item_type: enum
      name: qca_wlan_twt_capa
      pos:
        line_end: 12879
        line_start: 12873
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_TWT_CAPABILITIES_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_TWT_CAPABILITIES_MIN_WAKE_INTVL
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_TWT_CAPABILITIES_MAC_ADDR
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_TWT_CAPABILITIES_SELF
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_TWT_CAPABILITIES_PEER
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_TWT_CAPABILITIES_MAX_WAKE_INTVL
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_TWT_CAPABILITIES_MIN_WAKE_DURATION
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_TWT_CAPABILITIES_MAX_WAKE_DURATION
        value: '7'
      - name: QCA_WLAN_VENDOR_ATTR_TWT_CAPABILITIES_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_TWT_CAPABILITIES_MAX
        value: QCA_WLAN_VENDOR_ATTR_TWT_CAPABILITIES_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_twt_capability
      pos:
        line_end: 12923
        line_start: 12909
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_TWT_SET_PARAM_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_TWT_SET_PARAM_UNAVAILABILITY_MODE
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_TWT_SET_PARAM_AP_AC_VALUE
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_TWT_SET_PARAM_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_TWT_SET_PARAM_MAX
        value: QCA_WLAN_VENDOR_ATTR_TWT_SET_PARAM_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_twt_set_param
      pos:
        line_end: 12952
        line_start: 12943
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_TWT_RESP_ALTERNATE
        value: '1'
      - name: QCA_WLAN_VENDOR_TWT_RESP_ACCEPT
        value: '4'
      - name: QCA_WLAN_VENDOR_TWT_RESP_REJECT
        value: '3'
      - name: QCA_WLAN_VENDOR_TWT_RESP_DICTATE
        value: '2'
      item_type: enum
      name: qca_wlan_vendor_twt_setup_resp_type
      pos:
        line_end: 12974
        line_start: 12969
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_TWT_SETUP_REQUEST
        value: '1'
      - name: QCA_WLAN_VENDOR_TWT_SETUP_DEMAND
        value: '3'
      - name: QCA_WLAN_VENDOR_TWT_SETUP_SUGGEST
        value: '2'
      - name: QCA_WLAN_VENDOR_TWT_SETUP_ACCEPT_TWT
        value: '5'
      - name: QCA_WLAN_VENDOR_TWT_SETUP_TWT_GROUPING
        value: '4'
      - name: QCA_WLAN_VENDOR_TWT_SETUP_ALTERNATE_TWT
        value: '6'
      - name: QCA_WLAN_VENDOR_TWT_SETUP_DICTATE_TWT
        value: '7'
      - name: QCA_WLAN_VENDOR_TWT_SETUP_REJECT_TWT
        value: '8'
      item_type: enum
      name: qca_wlan_vendor_twt_setup_req_type
      pos:
        line_end: 13011
        line_start: 13002
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_TWT_EARLY_TERM_FLOW_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_TWT_EARLY_TERM_PEER_MAC_ADDR
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_TWT_EARLY_TERM_FLOW_ID
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_TWT_EARLY_TERM_FLOW_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_TWT_EARLY_TERM_FLOW_MAX
        value: QCA_WLAN_VENDOR_ATTR_TWT_EARLY_TERM_FLOW_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_twt_early_termination_ind
      pos:
        line_end: 13038
        line_start: 13029
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_ROAM_SCAN_TRIGGER_EVENT
        value: '0'
      - name: QCA_WLAN_ROAM_SCAN_STOP_EVENT
        value: '1'
      item_type: enum
      name: qca_wlan_roam_scan_event_type
      pos:
        line_end: 13051
        line_start: 13048
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_ROAM_SCAN_TRIGGER_REASON_LOW_RSSI
        value: '0'
      - name: QCA_WLAN_ROAM_SCAN_TRIGGER_REASON_HIGH_PER
        value: '1'
      item_type: enum
      name: qca_wlan_roam_scan_trigger_reason
      pos:
        line_end: 13064
        line_start: 13061
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_SCAN_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_SCAN_EVENT_TYPE
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_SCAN_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_SCAN_TRIGGER_REASON
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_SCAN_MAX
        value: QCA_WLAN_VENDOR_ATTR_ROAM_SCAN_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_roam_scan
      pos:
        line_end: 13089
        line_start: 13072
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_CFR_DATA_RELAY_FS
        value: '0'
      - name: QCA_WLAN_VENDOR_CFR_DATA_NETLINK_EVENTS
        value: '1'
      item_type: enum
      name: qca_wlan_vendor_cfr_data_transport_modes
      pos:
        line_end: 13105
        line_start: 13102
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_CFR_METHOD_QOS_NULL
        value: '0'
      - name: QCA_WLAN_VENDOR_CFR_QOS_NULL_WITH_PHASE
        value: '1'
      - name: QCA_WLAN_VENDOR_CFR_PROBE_RESPONSE
        value: '2'
      item_type: enum
      name: qca_wlan_vendor_cfr_method
      pos:
        line_end: 13120
        line_start: 13116
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_CFR_DIRECT_FTM
        value: '0'
      - name: QCA_WLAN_VENDOR_CFR_TA_RA
        value: '3'
      - name: QCA_WLAN_VENDOR_CFR_DIRECT_NDPA_NDP
        value: '2'
      - name: QCA_WLAN_VENDOR_CFR_ALL_PACKET
        value: '4'
      - name: QCA_WLAN_VENDOR_CFR_ALL_FTM_ACK
        value: '1'
      - name: QCA_WLAN_VENDOR_CFR_NDPA_NDP_ALL
        value: '5'
      item_type: enum
      name: qca_wlan_vendor_cfr_capture_type
      pos:
        line_end: 13147
        line_start: 13140
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_CFR_LTF_TYPE_HT
        value: '0'
      - name: QCA_WLAN_VENDOR_CFR_LTF_TYPE_VHT
        value: '1'
      - name: QCA_WLAN_VENDOR_CFR_LTF_TYPE_LEGACY
        value: '4'
      - name: QCA_WLAN_VENDOR_CFR_LTF_TYPE_EHT
        value: '3'
      - name: QCA_WLAN_VENDOR_CFR_LTF_TYPE_HE
        value: '2'
      item_type: enum
      name: qca_wlan_vendor_cfr_ltf_type
      pos:
        line_end: 13164
        line_start: 13158
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_CHIP_ID_WCN3680B
        value: '0'
      - name: QCA_WLAN_VENDOR_CHIP_ID_WCN3910
        value: '1'
      - name: QCA_WLAN_VENDOR_CHIP_ID_WCN3988
        value: '3'
      - name: QCA_WLAN_VENDOR_CHIP_ID_WCN3991
        value: '4'
      - name: QCA_WLAN_VENDOR_CHIP_ID_WCN3950
        value: '2'
      - name: QCA_WLAN_VENDOR_CHIP_ID_WCN3998
        value: '5'
      - name: QCA_WLAN_VENDOR_CHIP_ID_QCA639x
        value: '6'
      - name: QCA_WLAN_VENDOR_CHIP_ID_WCN685x
        value: '7'
      - name: QCA_WLAN_VENDOR_CHIP_ID_WCN6750
        value: '8'
      - name: QCA_WLAN_VENDOR_CHIP_ID_WCN785x
        value: '9'
      - name: QCA_WLAN_VENDOR_CHIP_ID_WCN7750
        value: '10'
      - name: QCA_WLAN_VENDOR_CHIP_ID_WCN7950
        value: '11'
      - name: QCA_WLAN_VENDOR_CHIP_ID_WCN8850
        value: '14'
      - name: QCA_WLAN_VENDOR_CHIP_ID_WCN7880
        value: '12'
      - name: QCA_WLAN_VENDOR_CHIP_ID_WCN7881
        value: '13'
      item_type: enum
      name: qca_wlan_vendor_chip_id
      pos:
        line_end: 13185
        line_start: 13169
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_CFR_STOP_REASON_UNSPEC
        value: '0'
      - name: QCA_WLAN_VENDOR_CFR_STOP_REASON_CONCURRENCY
        value: '4'
      - name: QCA_WLAN_VENDOR_CFR_STOP_REASON_COMPLETED
        value: '1'
      - name: QCA_WLAN_VENDOR_CFR_STOP_REASON_PEER_UNAVAILABLE
        value: '3'
      - name: QCA_WLAN_VENDOR_CFR_STOP_REASON_USER_ABORTED
        value: '2'
      - name: QCA_WLAN_VENDOR_CFR_STOP_REASON_ROAMING
        value: '5'
      - name: QCA_WLAN_VENDOR_CFR_STOP_REASON_FW_ERROR
        value: '6'
      - name: QCA_WLAN_VENDOR_CFR_STOP_REASON_CHANNEL_SWITCHED
        value: '7'
      - name: QCA_WLAN_VENDOR_CFR_STOP_REASON_LINK_SWITCHED
        value: '8'
      - name: QCA_WLAN_VENDOR_CFR_STOP_REASON_LINK_RECONFIG
        value: '9'
      - name: QCA_WLAN_VENDOR_CFR_STOP_REASON_RECOVERY
        value: '10'
      item_type: enum
      name: qca_wlan_vendor_cfr_stop_reason
      pos:
        line_end: 13233
        line_start: 13221
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_PEER_CFR_PERIODICITY
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_PEER_CFR_ENABLE_GROUP_BITMAP
        value: '8'
      - name: QCA_WLAN_VENDOR_ATTR_PEER_CFR_UL_MU_MASK
        value: '12'
      - name: QCA_WLAN_VENDOR_ATTR_PEER_CFR_GROUP_NUMBER
        value: '16'
      - name: QCA_WLAN_VENDOR_ATTR_PEER_CFR_GROUP_RA_MASK
        value: '20'
      - name: QCA_WLAN_VENDOR_ATTR_PEER_CFR_GROUP_CTRL_FILTER
        value: '24'
      - name: QCA_WLAN_VENDOR_ATTR_PEER_CFR_RESP_DATA
        value: '28'
      - name: QCA_WLAN_VENDOR_ATTR_PEER_CFR_FRAME_SUBTYPE
        value: '32'
      - name: QCA_WLAN_VENDOR_ATTR_PEER_CFR_TIMESTAMP_US
        value: '36'
      - name: QCA_WLAN_VENDOR_ATTR_PEER_CFR_RX_ANTENNA_AGC
        value: '40'
      - name: QCA_WLAN_VENDOR_ATTR_PEER_CFR_CHIP_ID
        value: '43'
      - name: QCA_WLAN_VENDOR_ATTR_PEER_CFR_RESP_DATA_OFFSET
        value: '52'
      - name: QCA_WLAN_VENDOR_ATTR_PEER_CFR_CAPTURE_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_PEER_CFR_BANDWIDTH
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_PEER_CFR_VERSION
        value: '7'
      - name: QCA_WLAN_VENDOR_ATTR_PEER_CFR_CAPTURE_TYPE
        value: '11'
      - name: QCA_WLAN_VENDOR_ATTR_PEER_CFR_GROUP_ENTRY
        value: '15'
      - name: QCA_WLAN_VENDOR_ATTR_PEER_CFR_GROUP_TA_MASK
        value: '19'
      - name: QCA_WLAN_VENDOR_ATTR_PEER_CFR_GROUP_MGMT_FILTER
        value: '23'
      - name: QCA_WLAN_VENDOR_ATTR_PEER_CFR_DATA_RECEIVER_PID
        value: '27'
      - name: QCA_WLAN_VENDOR_ATTR_PEER_CFR_FRAME_TYPE
        value: '31'
      - name: QCA_WLAN_VENDOR_ATTR_PEER_CFR_DATA_FORMAT_VERSION
        value: '35'
      - name: QCA_WLAN_VENDOR_ATTR_PEER_CFR_NUM_SPATIAL_STREAMS
        value: '47'
      - name: QCA_WLAN_VENDOR_ATTR_PEER_CFR_FIXED_AGC
        value: '49'
      - name: QCA_WLAN_VENDOR_ATTR_PEER_CFR_STOP_REASON
        value: '48'
      - name: QCA_WLAN_VENDOR_ATTR_PEER_CFR_FRAME_SEQUENCE_NUMBER
        value: '42'
      - name: QCA_WLAN_VENDOR_ATTR_PEER_CFR_ENABLE
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_PERIODIC_CFR_CAPTURE_ENABLE
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_PEER_CFR_GROUP_RA
        value: '18'
      - name: QCA_WLAN_VENDOR_ATTR_PEER_CFR_GROUP_TABLE
        value: '14'
      - name: QCA_WLAN_VENDOR_ATTR_PEER_CFR_INTERVAL
        value: '10'
      - name: QCA_WLAN_VENDOR_ATTR_PEER_CFR_GROUP_BW
        value: '22'
      - name: QCA_WLAN_VENDOR_ATTR_PEER_CFR_DATA_TRANSPORT_MODE
        value: '26'
      - name: QCA_WLAN_VENDOR_ATTR_PEER_CFR_FREQ
        value: '30'
      - name: QCA_WLAN_VENDOR_ATTR_PEER_CFR_DATA_FORMAT_OUI
        value: '34'
      - name: QCA_WLAN_VENDOR_ATTR_PEER_CFR_RX_ANTENNA_INDEX
        value: '38'
      - name: QCA_WLAN_VENDOR_ATTR_PEER_CFR_RESP_DATA_TOTAL_LEN
        value: '51'
      - name: QCA_WLAN_VENDOR_ATTR_PEER_CFR_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_PEER_CFR_IS_LAST_REPORT
        value: '41'
      - name: QCA_WLAN_VENDOR_ATTR_PEER_CFR_CSI_LTF_TYPE
        value: '46'
      - name: QCA_WLAN_VENDOR_ATTR_CFR_PEER_MAC_ADDR
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_PEER_CFR_METHOD
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_PEER_CFR_DURATION
        value: '9'
      - name: QCA_WLAN_VENDOR_ATTR_PEER_CFR_GROUP_TA
        value: '17'
      - name: QCA_WLAN_VENDOR_ATTR_PEER_CFR_FREEZE_TLV_DELAY_COUNT
        value: '13'
      - name: QCA_WLAN_VENDOR_ATTR_PEER_CFR_GROUP_NSS
        value: '21'
      - name: QCA_WLAN_VENDOR_ATTR_PEER_CFR_GROUP_DATA_FILTER
        value: '25'
      - name: QCA_WLAN_VENDOR_ATTR_PEER_CFR_PAD
        value: '29'
      - name: QCA_WLAN_VENDOR_ATTR_PEER_CFR_REPORT_INTERVAL
        value: '33'
      - name: QCA_WLAN_VENDOR_ATTR_PEER_CFR_RX_ANTENNA_INFO
        value: '37'
      - name: QCA_WLAN_VENDOR_ATTR_PEER_CFR_RX_ANTENNA_RSSI
        value: '39'
      - name: QCA_WLAN_VENDOR_ATTR_PEER_CFR_CAPTURE_TSF
        value: '44'
      - name: QCA_WLAN_VENDOR_ATTR_PEER_CFR_REPORT_ONLY_LAST_FRAME
        value: '50'
      - name: QCA_WLAN_VENDOR_ATTR_PEER_CFR_RESP_DATA_IS_LAST_FRAG
        value: '53'
      - name: QCA_WLAN_VENDOR_ATTR_PEER_CFR_MAX
        value: QCA_WLAN_VENDOR_ATTR_PEER_CFR_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_PEER_CFR_CFO
        value: '45'
      item_type: enum
      name: qca_wlan_vendor_peer_cfr_capture_attr
      pos:
        line_end: 13597
        line_start: 13537
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_THROUGHPUT_LEVEL_LOW
        value: '0'
      - name: QCA_WLAN_THROUGHPUT_LEVEL_MEDIUM
        value: '1'
      - name: QCA_WLAN_THROUGHPUT_LEVEL_HIGH
        value: '2'
      item_type: enum
      name: qca_wlan_throughput_level
      pos:
        line_end: 13617
        line_start: 13613
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_THROUGHPUT_CHANGE_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_THROUGHPUT_CHANGE_THROUGHPUT_LEVEL
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_THROUGHPUT_CHANGE_TCP_LIMIT_OUTPUT_BYTES
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_THROUGHPUT_CHANGE_DIRECTION
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_THROUGHPUT_CHANGE_TCP_ADV_WIN_SCALE
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_THROUGHPUT_CHANGE_TCP_DELACK_SEG
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_THROUGHPUT_CHANGE_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_THROUGHPUT_CHANGE_MAX
        value: QCA_WLAN_VENDOR_ATTR_THROUGHPUT_CHANGE_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_throughput_change
      pos:
        line_end: 13657
        line_start: 13625
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WIFI_STA_CLASS_3_MGMT
        value: '2'
      - name: QCA_WIFI_SAP_CONNECTION
        value: '6'
      - name: QCA_WIFI_CASE_MAX
        value: '31'
      - name: QCA_ZB_HIGH
        value: '65'
      - name: QCA_BT_SCO
        value: '34'
      - name: QCA_WIFI_STA_CONNECTION
        value: '1'
      - name: QCA_WIFI_SAP_DISCOVERY
        value: '5'
      - name: QCA_WIFI_SAP_ALL
        value: '9'
      - name: QCA_BT_BLE
        value: '33'
      - name: QCA_WIFI_STA_ALL
        value: '4'
      - name: QCA_WIFI_SAP_DATA
        value: '8'
      - name: QCA_ZB_LOW
        value: '64'
      - name: QCA_WIFI_STA_DISCOVERY
        value: '0'
      - name: QCA_WIFI_STA_DATA
        value: '3'
      - name: QCA_WIFI_SAP_CLASS_3_MGMT
        value: '7'
      - name: QCA_BT_CASE_MAX
        value: '63'
      - name: QCA_COEX_CONFIG_PROFILE_DEFAULT_VALUE
        value: '255'
      - name: QCA_BT_A2DP
        value: '32'
      - name: QCA_ZB_CASE_MAX
        value: '95'
      item_type: enum
      name: qca_coex_config_profiles
      pos:
        line_end: 13707
        line_start: 13683
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_COEX_CONFIG_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_COEX_CONFIG_THREE_WAY_COEX_RESET
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_COEX_CONFIG_THREE_WAY_COEX_START
        value: '2'
      item_type: enum
      name: qca_vendor_attr_coex_config_types
      pos:
        line_end: 13724
        line_start: 13720
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_VENDOR_ATTR_COEX_CONFIG_INVALID
        value: '0'
      - name: QCA_VENDOR_ATTR_COEX_CONFIG_AFTER_LAST
      - name: QCA_VENDOR_ATTR_COEX_CONFIG_PROFILES
        value: '1'
      - name: QCA_VENDOR_ATTR_COEX_CONFIG_MAX
        value: QCA_VENDOR_ATTR_COEX_CONFIG_AFTER_LAST - 1
      item_type: enum
      name: qca_vendor_attr_coex_config
      pos:
        line_end: 13752
        line_start: 13744
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_VENDOR_ATTR_COEX_CONFIG_THREE_WAY_INVALID
        value: '0'
      - name: QCA_VENDOR_ATTR_COEX_CONFIG_THREE_WAY_PRIORITY_2
        value: '3'
      - name: QCA_VENDOR_ATTR_COEX_CONFIG_THREE_WAY_PRIORITY_1
        value: '2'
      - name: QCA_VENDOR_ATTR_COEX_CONFIG_THREE_WAY_PRIORITY_3
        value: '4'
      - name: QCA_VENDOR_ATTR_COEX_CONFIG_THREE_WAY_CONFIG_TYPE
        value: '1'
      - name: QCA_VENDOR_ATTR_COEX_CONFIG_THREE_WAY_PRIORITY_4
        value: '5'
      - name: QCA_VENDOR_ATTR_COEX_CONFIG_THREE_WAY_AFTER_LAST
      - name: QCA_VENDOR_ATTR_COEX_CONFIG_THREE_WAY_MAX
        value: QCA_VENDOR_ATTR_COEX_CONFIG_THREE_WAY_AFTER_LAST - 1
      item_type: enum
      name: qca_vendor_attr_coex_config_three_way
      pos:
        line_end: 13825
        line_start: 13813
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_LINK_PROPERTIES_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_LINK_PROPERTIES_MAC_ADDR
        value: '4'
      - name: QCA_VENDOR_ATTR_LINK_PROPERTIES_MAX
        value: QCA_VENDOR_ATTR_LINK_PROPERTIES_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_LINK_PROPERTIES_STA_FLAGS
        value: '5'
      - name: QCA_VENDOR_ATTR_LINK_PROPERTIES_AFTER_LAST
      item_type: enum
      name: qca_wlan_vendor_attr_link_properties
      pos:
        line_end: 13847
        line_start: 13837
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_PEER_STATS_CACHE_TYPE_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_PEER_RX_RATE_STATS
      - name: QCA_WLAN_VENDOR_ATTR_PEER_TX_RATE_STATS
      - name: QCA_WLAN_VENDOR_ATTR_PEER_TX_SOJOURN_STATS
      item_type: enum
      name: qca_vendor_attr_peer_stats_cache_type
      pos:
        line_end: 13866
        line_start: 13860
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_PEER_STATS_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_PEER_STATS_CACHE_DATA
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_PEER_STATS_CACHE_PEER_MAC
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_PEER_STATS_CACHE_PEER_COOKIE
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_PEER_STATS_CACHE_TYPE
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_PEER_STATS_CACHE_PAD
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_PEER_STATS_CACHE_LAST
      - name: QCA_WLAN_VENDOR_ATTR_PEER_STATS_CACHE_MAX
        value: QCA_WLAN_VENDOR_ATTR_PEER_STATS_CACHE_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_peer_stats_cache_params
      pos:
        line_end: 13900
        line_start: 13887
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: ZIGBEE_IDLE
        value: '0'
      - name: ZIGBEE_WAIT_JOIN
        value: '2'
      - name: ZIGBEE_FORM_NETWORK
        value: '1'
      - name: ZIGBEE_NETWORK_UP
        value: '4'
      - name: ZIGBEE_JOIN
        value: '3'
      - name: ZIGBEE_HMI
        value: '5'
      item_type: enum
      name: qca_mpta_helper_attr_zigbee_state
      pos:
        line_end: 13921
        line_start: 13914
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_MPTA_HELPER_VENDOR_ATTR_INVALID
        value: '0'
      - name: QCA_MPTA_HELPER_VENDOR_ATTR_MON_WLAN_DURATION
        value: '4'
      - name: QCA_MPTA_HELPER_VENDOR_ATTR_INT_NON_WLAN_DURATION
        value: '3'
      - name: QCA_MPTA_HELPER_VENDOR_ATTR_ZIGBEE_STATE
        value: '1'
      - name: QCA_MPTA_HELPER_VENDOR_ATTR_INT_WLAN_DURATION
        value: '2'
      - name: QCA_MPTA_HELPER_VENDOR_ATTR_MON_NON_WLAN_DURATION
        value: '5'
      - name: QCA_MPTA_HELPER_VENDOR_ATTR_INT_OCS_DURATION
        value: '6'
      - name: QCA_MPTA_HELPER_VENDOR_ATTR_MON_OCS_DURATION
        value: '7'
      - name: QCA_MPTA_HELPER_VENDOR_ATTR_ZIGBEE_CHAN
        value: '8'
      - name: QCA_MPTA_HELPER_VENDOR_ATTR_WLAN_MUTE_DURATION
        value: '9'
      - name: QCA_MPTA_HELPER_VENDOR_ATTR_MAX
        value: QCA_MPTA_HELPER_VENDOR_ATTR_AFTER_LAST - 1
      - name: QCA_MPTA_HELPER_VENDOR_ATTR_AFTER_LAST
      item_type: enum
      name: qca_mpta_helper_vendor_attr
      pos:
        line_end: 13990
        line_start: 13927
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_BEACON_REPORTING_OP_START
        value: '0'
      - name: QCA_WLAN_VENDOR_BEACON_REPORTING_OP_BEACON_INFO
        value: '2'
      - name: QCA_WLAN_VENDOR_BEACON_REPORTING_OP_STOP
        value: '1'
      - name: QCA_WLAN_VENDOR_BEACON_REPORTING_OP_PAUSE
        value: '3'
      item_type: enum
      name: qca_wlan_vendor_beacon_reporting_op_types
      pos:
        line_end: 14011
        line_start: 14006
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_BEACON_REPORTING_PAUSE_REASON_UNSPECIFIED
        value: '0'
      - name: QCA_WLAN_VENDOR_BEACON_REPORTING_PAUSE_REASON_DISCONNECTED
        value: '2'
      - name: QCA_WLAN_VENDOR_BEACON_REPORTING_PAUSE_REASON_SCAN_STARTED
        value: '1'
      item_type: enum
      name: qca_wlan_vendor_beacon_reporting_pause_reasons
      pos:
        line_end: 14036
        line_start: 14032
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_BEACON_REPORTING_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_BEACON_REPORTING_PERIOD
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_BEACON_REPORTING_ACTIVE_REPORTING
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_BEACON_REPORTING_OP_TYPE
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_BEACON_REPORTING_SSID
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_BEACON_REPORTING_BSSID
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_BEACON_REPORTING_FREQ
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_BEACON_REPORTING_BI
        value: '7'
      - name: QCA_WLAN_VENDOR_ATTR_BEACON_REPORTING_TSF
        value: '8'
      - name: QCA_WLAN_VENDOR_ATTR_BEACON_REPORTING_BOOTTIME_WHEN_RECEIVED
        value: '9'
      - name: QCA_WLAN_VENDOR_ATTR_BEACON_REPORTING_DO_NOT_RESUME
        value: '13'
      - name: QCA_WLAN_VENDOR_ATTR_BEACON_REPORTING_IES
        value: '10'
      - name: QCA_WLAN_VENDOR_ATTR_BEACON_REPORTING_PAD
        value: '14'
      - name: QCA_WLAN_VENDOR_ATTR_BEACON_REPORTING_LAST
      - name: QCA_WLAN_VENDOR_ATTR_BEACON_REPORTING_MAX
        value: QCA_WLAN_VENDOR_ATTR_BEACON_REPORTING_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_BEACON_REPORTING_PAUSE_REASON
        value: '11'
      - name: QCA_WLAN_VENDOR_ATTR_BEACON_REPORTING_AUTO_RESUMES
        value: '12'
      item_type: enum
      name: qca_wlan_vendor_attr_beacon_reporting_params
      pos:
        line_end: 14180
        line_start: 14042
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_VENDOR_INTEROP_ISSUES_AP_INVALID
        value: '0'
      - name: QCA_VENDOR_INTEROP_ISSUES_AP_ON_STA_PS
        value: '1'
      item_type: enum
      name: qca_vendor_interop_issues_ap_type
      pos:
        line_end: 14193
        line_start: 14190
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_INTEROP_ISSUES_AP_INVALID
      - name: QCA_WLAN_VENDOR_ATTR_INTEROP_ISSUES_AP_LIST
      - name: QCA_WLAN_VENDOR_ATTR_INTEROP_ISSUES_AP_BSSID
      - name: QCA_WLAN_VENDOR_ATTR_INTEROP_ISSUES_AP_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_INTEROP_ISSUES_AP_TYPE
      - name: QCA_WLAN_VENDOR_ATTR_INTEROP_ISSUES_AP_MAX
        value: QCA_WLAN_VENDOR_ATTR_INTEROP_ISSUES_AP_AFTER_LAST - 1
      item_type: enum
      name: qca_vendor_attr_interop_issues_ap
      pos:
        line_end: 14222
        line_start: 14213
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_VENDOR_OEM_DEVICE_VIRTUAL
        value: '0'
      - name: QCA_VENDOR_OEM_DEVICE_PHYSICAL
        value: '1'
      item_type: enum
      name: qca_vendor_oem_device_type
      pos:
        line_end: 14237
        line_start: 14234
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_OEM_DATA_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_OEM_DEVICE_INFO
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_OEM_DATA_CMD_DATA
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_OEM_DATA_PARAMS_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_OEM_DATA_RESPONSE_EXPECTED
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_OEM_DATA_PARAMS_MAX
        value: QCA_WLAN_VENDOR_ATTR_OEM_DATA_PARAMS_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_oem_data_params
      pos:
        line_end: 14274
        line_start: 14264
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_AVOID_FREQUENCY_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_AVOID_FREQUENCY_RANGE
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_AVOID_FREQUENCY_END
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_AVOID_FREQUENCY_START
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_AVOID_FREQUENCY_POWER_CAP_DBM
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_AVOID_FREQUENCY_IFACES_BITMASK
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_AVOID_FREQUENCY_IFINDEX
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_AVOID_FREQUENCY_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_AVOID_FREQUENCY_MAX
        value: QCA_WLAN_VENDOR_ATTR_AVOID_FREQUENCY_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_avoid_frequency_ext
      pos:
        line_end: 14337
        line_start: 14325
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_ADD_STA_NODE_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_ADD_STA_NODE_AUTH_ALGO
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_ADD_STA_NODE_LINK_ID
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_ADD_STA_NODE_MAC_ADDR
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_ADD_STA_NODE_IS_ML
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_ADD_STA_NODE_PARAM_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_ADD_STA_NODE_PARAM_MAX
        value: QCA_WLAN_VENDOR_ATTR_ADD_STA_NODE_PARAM_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_add_sta_node_params
      pos:
        line_end: 14368
        line_start: 14343
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_BTC_CHAIN_SHARED
        value: '0'
      - name: QCA_BTC_CHAIN_SEPARATED_FDD
        value: '2'
      - name: QCA_BTC_CHAIN_SEPARATED_HYBRID
        value: '1'
      - name: QCA_BTC_CHAIN_DBAM
        value: '3'
      item_type: enum
      name: qca_btc_chain_mode
      pos:
        line_end: 14390
        line_start: 14385
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_VENDOR_ATTR_BTC_CHAIN_MODE_INVALID
        value: '0'
      - name: QCA_VENDOR_ATTR_BTC_CHAIN_MODE_MAX
        value: QCA_VENDOR_ATTR_BTC_CHAIN_MODE_LAST - 1
      - name: QCA_VENDOR_ATTR_BTC_CHAIN_MODE_RESTART
        value: '2'
      - name: QCA_VENDOR_ATTR_BTC_CHAIN_MODE
        value: '1'
      - name: QCA_VENDOR_ATTR_BTC_CHAIN_MODE_LAST
      item_type: enum
      name: qca_vendor_attr_btc_chain_mode
      pos:
        line_end: 14417
        line_start: 14408
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_BTC_POLICY_FREE_FRUN
        value: '0'
      - name: QCA_BTC_POLICY_NO_COEX
        value: '2'
      - name: QCA_BTC_POLICY_OCS
        value: '1'
      - name: QCA_BTC_POLICY_INVALID
        value: '255'
      item_type: enum
      name: qca_btc_policy
      pos:
        line_end: 14442
        line_start: 14437
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_COEX_POLICY_NO_COEX
        value: '0'
      - name: QCA_COEX_POLICY_COEX
        value: '1'
      - name: QCA_COEX_POLICY_INVALID
        value: '255'
      item_type: enum
      name: qca_coex_policy_type
      pos:
        line_end: 14460
        line_start: 14456
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_COEX_STATS_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_COEX_BTC_POLICY
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_COEX_PDEV_ID
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_COEX_MWS_POLICY
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_COEX_STATS_ARRAY_INDEX
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_COEX_UWB_POLICY
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_COEX_MONITORING_PERIOD
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_COEX_OCS_ACTIVE_PERCENT
        value: '7'
      - name: QCA_WLAN_VENDOR_ATTR_COEX_OCS_NON_WLAN_PERCENT
        value: '8'
      - name: QCA_WLAN_VENDOR_ATTR_COEX_STATS_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_COEX_STATS_MAX
        value: QCA_WLAN_VENDOR_ATTR_COEX_STATS_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_coex_stats
      pos:
        line_end: 14510
        line_start: 14495
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_VENDOR_WLAN_STA_FLAG_AMPDU
        value: BIT(0)
      - name: QCA_VENDOR_WLAN_STA_FLAG_RX_STBC
        value: BIT(2)
      - name: QCA_VENDOR_WLAN_STA_FLAG_TX_STBC
        value: BIT(1)
      item_type: enum
      name: qca_vendor_wlan_sta_flags
      pos:
        line_end: 14525
        line_start: 14521
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_VENDOR_WLAN_STA_GI_800_NS
        value: '0'
      - name: QCA_VENDOR_WLAN_STA_GI_400_NS
        value: '1'
      - name: QCA_VENDOR_WLAN_STA_GI_3200_NS
        value: '3'
      - name: QCA_VENDOR_WLAN_STA_GI_1600_NS
        value: '2'
      item_type: enum
      name: qca_vendor_wlan_sta_guard_interval
      pos:
        line_end: 14539
        line_start: 14534
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_GUARD_INTERVAL
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_TX_RETRY_EXHAUSTED
        value: '7'
      - name: QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_TX_RTS_RETRY_FAIL_COUNT
        value: '15'
      - name: QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_TX_PROBE_REQ_BMISS_COUNT
        value: '11'
      - name: QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_RX_FRAMES_INVALID_DELIMITER_COUNT
        value: '19'
      - name: QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_RX_BEACON_COUNT
        value: '23'
      - name: QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_TARGET_POWER_24G_1MBPS
        value: '27'
      - name: QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_TARGET_POWER_5G_MCS0
        value: '31'
      - name: QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_ANI_LEVEL
        value: '35'
      - name: QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_BIP_MIC_ERROR_COUNT
        value: '39'
      - name: QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_ROAM_TRIGGER_REASON
        value: '47'
      - name: QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_TX_CHAINS
        value: '64'
      - name: QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_RX_CHAINS
        value: '65'
      - name: QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_ROAM_FAIL_REASON
        value: '48'
      - name: QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_BEACON_MISS_STAT
        value: '59'
      - name: QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_FLAGS
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_TX_RETRY_SUCCEED
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_TARGET_TX_RETRY_EXHAUSTED
        value: '10'
      - name: QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_TX_RTS_COUNT
        value: '14'
      - name: QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_RX_FRAMES_GOOD_PLCP_COUNT
        value: '18'
      - name: QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_RX_BLOCKACK_COUNT
        value: '22'
      - name: QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_RX_DATA_BC_MC_DROP_COUNT
        value: '26'
      - name: QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_TARGET_POWER_5G_6MBPS
        value: '30'
      - name: QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_LATEST_TX_POWER
        value: '34'
      - name: QCA_WLAN_VENDOR_ATTR_GET_STA_DRIVER_DISCONNECT_REASON
        value: '38'
      - name: QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_TSF_OUT_OF_SYNC_COUNT
        value: '46'
      - name: QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_CONNECT_FAIL_REASON_CODE
        value: '43'
      - name: QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_BW_PKT_COUNT
        value: '57'
      - name: QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_CCA_STAT
        value: '58'
      - name: QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_PER_MCS_RX_PACKETS
        value: '52'
      - name: QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_RX_NSS
        value: '63'
      - name: QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_MAC
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_RX_BC_MC_COUNT
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_TARGET_TX_RETRY
        value: '9'
      - name: QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_TX_DATA_AGGREGATED_COUNT
        value: '17'
      - name: QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_TARGET_TX_ALL_COUNT
        value: '13'
      - name: QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_RX_ACKS_GOOD_FCS_COUNT
        value: '21'
      - name: QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_RX_UCAST_DATA_GOOD_FCS_COUNT
        value: '25'
      - name: QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_TARGET_POWER_24G_MCS0
        value: '29'
      - name: QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_MAX_TX_POWER
        value: '33'
      - name: QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_PROBE_RESP_IES
        value: '37'
      - name: QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_BEACON_REPLAY_COUNT
        value: '42'
      - name: QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_MCS_PKT_COUNT
        value: '56'
      - name: QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_MLO_LINK_ID
        value: '61'
      - name: QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_UPLINK_DELAY
        value: '50'
      - name: QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_TX_NSS
        value: '62'
      - name: QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_PER_MCS_TX_PACKETS
        value: '51'
      - name: QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_LATEST_RIX
        value: '45'
      - name: QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_RX_RETRY_COUNT
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_TARGET_TX_TOTAL
        value: '8'
      - name: QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_TX_DATA_NON_AGGREGATED_COUNT
        value: '16'
      - name: QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_RX_PROBE_RESP_BMISS_COUNT
        value: '12'
      - name: QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_RX_FRAMES_CRC_FAIL_COUNT
        value: '20'
      - name: QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_RX_OTHER_BEACON_COUNT
        value: '24'
      - name: QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_TARGET_POWER_24G_6MBPS
        value: '28'
      - name: QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_RX_HW_BUFFERS_OVERFLOW_COUNT
        value: '32'
      - name: QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_BEACON_IES
        value: '36'
      - name: QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_BIP_REPLAY_COUNT
        value: '40'
      - name: QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_ROAM_INVOKE_FAIL_REASON
        value: '49'
      - name: QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_MLO_LINKS
        value: '60'
      - name: QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_UPLINK_DELAY_JITTER
        value: '54'
      - name: QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_MAX
        value: QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_LATEST_TX_RATE
        value: '44'
      - name: QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_BEACON_MIC_ERROR_COUNT
        value: '41'
      - name: QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_NSS_PKT_COUNT
        value: '55'
      - name: QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_PAD
        value: '53'
      item_type: enum
      name: qca_wlan_vendor_attr_get_sta_info
      pos:
        line_end: 14979
        line_start: 14907
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_UPDATE_STA_INFO_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_UPDATE_STA_INFO_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_UPDATE_STA_INFO_CONNECT_CHANNELS
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_UPDATE_STA_INFO_MAX
        value: QCA_WLAN_VENDOR_ATTR_UPDATE_STA_INFO_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_update_sta_info
      pos:
        line_end: 15002
        line_start: 14994
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_DISCONNECT_REASON_UNSPECIFIED
        value: '0'
      - name: QCA_DISCONNECT_REASON_GATEWAY_REACHABILITY_FAILURE
        value: '3'
      - name: QCA_DISCONNECT_REASON_DEVICE_RECOVERY
        value: '7'
      - name: QCA_DISCONNECT_REASON_PEER_XRETRY_FAIL
        value: '11'
      - name: QCA_DISCONNECT_REASON_CHANNEL_SWITCH_FAILURE
        value: '15'
      - name: QCA_DISCONNECT_REASON_HOST_TRIGGERED_LINK_DELETE
        value: '19'
      - name: QCA_DISCONNECT_REASON_EXTERNAL_ROAM_FAILURE
        value: '2'
      - name: QCA_DISCONNECT_REASON_OPER_CHANNEL_USER_DISABLED
        value: '6'
      - name: QCA_DISCONNECT_REASON_BEACON_MISS_FAILURE
        value: '14'
      - name: QCA_DISCONNECT_REASON_FW_TRIGGERED_LINK_SWITCH
        value: '18'
      - name: QCA_DISCONNECT_REASON_IFACE_DOWN
        value: '10'
      - name: QCA_DISCONNECT_REASON_INTERNAL_ROAM_FAILURE
        value: '1'
      - name: QCA_DISCONNECT_REASON_OPER_CHANNEL_DISABLED_INDOOR
        value: '5'
      - name: QCA_DISCONNECT_REASON_OPER_CHANNEL_BAND_CHANGE
        value: '9'
      - name: QCA_DISCONNECT_REASON_SA_QUERY_TIMEOUT
        value: '13'
      - name: QCA_DISCONNECT_REASON_KEY_FAIL_TO_INSTALL
        value: '17'
      - name: QCA_DISCONNECT_REASON_UNSUPPORTED_CHANNEL_CSA
        value: '4'
      - name: QCA_DISCONNECT_REASON_KEY_TIMEOUT
        value: '8'
      - name: QCA_DISCONNECT_REASON_PEER_INACTIVITY
        value: '12'
      - name: QCA_DISCONNECT_REASON_USER_TRIGGERED
        value: '16'
      - name: QCA_DISCONNECT_REASON_HOST_OCI_MISMATCH
        value: '20'
      item_type: enum
      name: qca_disconnect_reason_codes
      pos:
        line_end: 15101
        line_start: 15079
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_DRIVER_DISCONNECT_REASON_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_DRIVER_DISCONNECT_REASON_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_DRIVER_DISCONNECT_REASCON_CODE
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_DRIVER_DISCONNECT_REASON_MAX
        value: QCA_WLAN_VENDOR_ATTR_DRIVER_DISCONNECT_REASON_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_driver_disconnect_reason
      pos:
        line_end: 15120
        line_start: 15112
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_TSPEC_ADD
        value: '0'
      - name: QCA_WLAN_TSPEC_DEL
        value: '1'
      - name: QCA_WLAN_TSPEC_GET
        value: '2'
      item_type: enum
      name: qca_wlan_tspec_operation
      pos:
        line_end: 15131
        line_start: 15127
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_TSPEC_DIRECTION_UPLINK
        value: '0'
      - name: QCA_WLAN_TSPEC_DIRECTION_DIRECT
        value: '2'
      - name: QCA_WLAN_TSPEC_DIRECTION_DOWNLINK
        value: '1'
      - name: QCA_WLAN_TSPEC_DIRECTION_BOTH
        value: '3'
      item_type: enum
      name: qca_wlan_tspec_direction
      pos:
        line_end: 15144
        line_start: 15139
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_TSPEC_NORMAL_ACK
        value: '0'
      - name: QCA_WLAN_TSPEC_BLOCK_ACK
        value: '3'
      - name: QCA_WLAN_TSPEC_NO_ACK
        value: '1'
      item_type: enum
      name: qca_wlan_tspec_ack_policy
      pos:
        line_end: 15157
        line_start: 15152
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_TSPEC_APSD
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_TSPEC_MAXIMUM_MSDU_SIZE
        value: '8'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_TSPEC_BURST_SIZE
        value: '16'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_TSPEC_SUSPENSION_INTERVAL
        value: '12'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_TSPEC_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_TSPEC_DIRECTION
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_TSPEC_NOMINAL_MSDU_SIZE
        value: '7'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_TSPEC_INACTIVITY_INTERVAL
        value: '11'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_TSPEC_PEAK_DATA_RATE
        value: '15'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_TSPEC_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_TSPEC_MAX
        value: QCA_WLAN_VENDOR_ATTR_CONFIG_TSPEC_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_TSPEC_TSID
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_TSPEC_ACK_POLICY
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_TSPEC_MAX_SERVICE_INTERVAL
        value: '10'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_TSPEC_SURPLUS_BANDWIDTH_ALLOWANCE
        value: '18'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_TSPEC_MEAN_DATA_RATE
        value: '14'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_TSPEC_OPERATION
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_TSPEC_USER_PRIORITY
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_TSPEC_MIN_SERVICE_INTERVAL
        value: '9'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_TSPEC_MINIMUM_PHY_RATE
        value: '17'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_TSPEC_MINIMUM_DATA_RATE
        value: '13'
      item_type: enum
      name: qca_wlan_vendor_attr_config_tspec
      pos:
        line_end: 15288
        line_start: 15263
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_OCI_OVERRIDE_FRAME_SA_QUERY_REQ
        value: '1'
      - name: QCA_WLAN_VENDOR_OCI_OVERRIDE_FRAME_FT_REASSOC_REQ
        value: '3'
      - name: QCA_WLAN_VENDOR_OCI_OVERRIDE_FRAME_SA_QUERY_RESP
        value: '2'
      - name: QCA_WLAN_VENDOR_OCI_OVERRIDE_FRAME_FILS_REASSOC_REQ
        value: '4'
      item_type: enum
      name: qca_wlan_vendor_oci_override_frame_type
      pos:
        line_end: 15304
        line_start: 15299
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_OCI_OVERRIDE_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_OCI_OVERRIDE_MAX
        value: QCA_WLAN_VENDOR_ATTR_OCI_OVERRIDE_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_OCI_OVERRIDE_FREQUENCY
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_OCI_OVERRIDE_FRAME_TYPE
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_OCI_OVERRIDE_AFTER_LAST
      item_type: enum
      name: qca_wlan_vendor_attr_oci_override
      pos:
        line_end: 15328
        line_start: 15319
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_MEDIUM_ASSESS_CCA
        value: '0'
      - name: QCA_WLAN_MEDIUM_ASSESS_CONGESTION_REPORT
        value: '1'
      item_type: enum
      name: qca_wlan_medium_assess_type
      pos:
        line_end: 15338
        line_start: 15335
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_MEDIUM_ASSESS_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_MEDIUM_ASSESS_PERIOD
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_MEDIUM_ASSESS_TYPE
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_MEDIUM_ASSESS_IDLE_COUNT
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_MEDIUM_ASSESS_TOTAL_CYCLE_COUNT
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_MEDIUM_ASSESS_IBSS_RX_COUNT
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_MEDIUM_ASSESS_OBSS_RX_COUNT
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_MEDIUM_ASSESS_MAX_IBSS_RSSI
        value: '7'
      - name: QCA_WLAN_VENDOR_ATTR_MEDIUM_ASSESS_MIN_IBSS_RSSI
        value: '8'
      - name: QCA_WLAN_VENDOR_ATTR_MEDIUM_ASSESS_CONGESTION_REPORT_ENABLE
        value: '9'
      - name: QCA_WLAN_VENDOR_ATTR_MEDIUM_ASSESS_CONGESTION_REPORT_INTERVAL
        value: '11'
      - name: QCA_WLAN_VENDOR_ATTR_MEDIUM_ASSESS_CONGESTION_PERCENTAGE
        value: '12'
      - name: QCA_WLAN_VENDOR_ATTR_MEDIUM_ASSESS_CONGESTION_REPORT_THRESHOLD
        value: '10'
      - name: QCA_WLAN_VENDOR_ATTR_MEDIUM_ASSESS_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_MEDIUM_ASSESS_MAX
        value: QCA_WLAN_VENDOR_ATTR_MEDIUM_ASSESS_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_medium_assess
      pos:
        line_end: 15421
        line_start: 15400
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_MBSSID_TX_VDEV_STATUS_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_MBSSID_TX_VDEV_EVENT
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_MBSSID_TX_VDEV_STATUS_VAL
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_MBSSID_TX_VDEV_GROUP_INFO
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_MBSSID_TX_VDEV_GROUP_ID
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_MBSSID_TX_VDEV_STATUS_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_MBSSID_TX_VDEV_STATUS_MAX
        value: QCA_WLAN_VENDOR_ATTR_MBSSID_TX_VDEV_STATUS_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_mbssid_tx_vdev_status
      pos:
        line_end: 15455
        line_start: 15444
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_MBSSID_TX_VDEV_GROUP_INFO_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_MBSSID_TX_VDEV_GROUP_INFO_STATUS
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_MBSSID_TX_VDEV_GROUP_INFO_IF_INDEX
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_MBSSID_TX_VDEV_GROUP_INFO_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_MBSSID_TX_VDEV_GROUP_INFO_MAX
        value: QCA_WLAN_VENDOR_ATTR_MBSSID_TX_VDEV_GROUP_INFO - 1
      item_type: enum
      name: qca_wlan_vendor_attr_mbssid_tx_vdev_group_info
      pos:
        line_end: 15476
        line_start: 15468
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_CONCURRENT_STA_POLICY_PREFER_PRIMARY
        value: '0'
      - name: QCA_WLAN_CONCURRENT_STA_POLICY_UNBIASED
        value: '1'
      item_type: enum
      name: qca_wlan_concurrent_sta_policy_config
      pos:
        line_end: 15509
        line_start: 15506
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_CONCURRENT_AP_POLICY_UNSPECIFIED
        value: '0'
      - name: QCA_WLAN_CONCURRENT_AP_POLICY_GAMING_AUDIO
        value: '1'
      - name: QCA_WLAN_CONCURRENT_AP_POLICY_XR
        value: '3'
      - name: QCA_WLAN_CONCURRENT_AP_POLICY_LOSSLESS_AUDIO_STREAMING
        value: '2'
      item_type: enum
      name: qca_wlan_concurrent_ap_policy_config
      pos:
        line_end: 15535
        line_start: 15530
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_CONCURRENT_POLICY_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_CONCURRENT_POLICY_MAX
        value: QCA_WLAN_VENDOR_ATTR_CONCURRENT_POLICY_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_CONCURRENT_POLICY_AP_CONFIG
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_CONCURRENT_POLICY_STA_CONFIG
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_CONCURRENT_POLICY_AFTER_LAST
      item_type: enum
      name: qca_wlan_vendor_attr_concurrent_policy
      pos:
        line_end: 15559
        line_start: 15549
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_STA_CONNECT_FAIL_REASON_NO_BSS_FOUND
        value: '1'
      - name: QCA_STA_CONNECT_FAIL_REASON_AUTH_TX_FAIL
        value: '2'
      - name: QCA_STA_CONNECT_FAIL_REASON_AUTH_NO_RESP_RECEIVED
        value: '4'
      - name: QCA_STA_CONNECT_FAIL_REASON_AUTH_NO_ACK_RECEIVED
        value: '3'
      - name: QCA_STA_CONNECT_FAIL_REASON_ASSOC_REQ_TX_FAIL
        value: '5'
      - name: QCA_STA_CONNECT_FAIL_REASON_ASSOC_NO_ACK_RECEIVED
        value: '6'
      - name: QCA_STA_CONNECT_FAIL_REASON_ASSOC_NO_RESP_RECEIVED
        value: '7'
      item_type: enum
      name: qca_sta_connect_fail_reason_codes
      pos:
        line_end: 15598
        line_start: 15590
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_FILTER_CELLULAR_COEX
        value: '0'
      - name: QCA_WLAN_VENDOR_FILTER_WLAN_CONCURRENCY
        value: '1'
      item_type: enum
      name: qca_wlan_vendor_usable_channels_filter
      pos:
        line_end: 15616
        line_start: 15613
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_CHAN_INFO_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_CHAN_INFO_BANDWIDTH
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_CHAN_INFO_SEG1_FREQ
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_CHAN_INFO_PRIMARY_FREQ
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_CHAN_INFO_SEG0_FREQ
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_CHAN_INFO_IFACE_MODE_MASK
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_CHAN_INFO_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_CHAN_INFO_MAX
        value: QCA_WLAN_VENDOR_ATTR_CHAN_INFO_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_chan_info
      pos:
        line_end: 15658
        line_start: 15646
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_USABLE_CHANNELS_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_USABLE_CHANNELS_IFACE_MODE_MASK
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_USABLE_CHANNELS_FILTER_MASK
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_USABLE_CHANNELS_CHAN_INFO
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_USABLE_CHANNELS_BAND_MASK
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_USABLE_CHANNELS_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_USABLE_CHANNELS_MAX
        value: QCA_WLAN_VENDOR_ATTR_USABLE_CHANNELS_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_usable_channels
      pos:
        line_end: 15701
        line_start: 15690
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_RADAR_HISTORY_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_RADAR_HISTORY_ENTRIES
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_RADAR_HISTORY_TIMESTAMP
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_RADAR_HISTORY_FREQ
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_RADAR_HISTORY_DETECTED
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_RADAR_HISTORY_PAD
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_RADAR_HISTORY_LAST
      - name: QCA_WLAN_VENDOR_ATTR_RADAR_HISTORY_MAX
        value: QCA_WLAN_VENDOR_ATTR_RADAR_HISTORY_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_radar_history
      pos:
        line_end: 15736
        line_start: 15723
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_MCC_QUOTA_TYPE_CLEAR
        value: '0'
      - name: QCA_WLAN_VENDOR_MCC_QUOTA_TYPE_DYNAMIC
        value: '2'
      - name: QCA_WLAN_VENDOR_MCC_QUOTA_TYPE_FIXED
        value: '1'
      - name: QCA_WLAN_VENDOR_MCC_QUOTA_TYPE_LOW_LATENCY
        value: '3'
      item_type: enum
      name: qca_wlan_vendor_mcc_quota_type
      pos:
        line_end: 15759
        line_start: 15754
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_MCC_QUOTA_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_MCC_QUOTA_CHAN_FREQ
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_MCC_QUOTA_ENTRIES
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_MCC_QUOTA_TYPE
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_MCC_QUOTA_CHAN_TIME_PERCENTAGE
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_MCC_QUOTA_IFINDEX
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_MCC_QUOTA_LOW_LATENCY_MODE_ENABLE
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_MCC_QUOTA_LAST
      - name: QCA_WLAN_VENDOR_ATTR_MCC_QUOTA_MAX
        value: QCA_WLAN_VENDOR_ATTR_MCC_QUOTA_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_mcc_quota
      pos:
        line_end: 15818
        line_start: 15805
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_ROAM_STATS_INVOKE_REASON_UNDEFINED
        value: '0'
      - name: QCA_WLAN_ROAM_STATS_INVOKE_REASON_NUD_FAILURE
        value: '1'
      - name: QCA_WLAN_ROAM_STATS_INVOKE_REASON_USER_SPACE
        value: '2'
      item_type: enum
      name: qca_wlan_roam_stats_invoke_reason
      pos:
        line_end: 15836
        line_start: 15832
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_ROAM_STATS_KICKOUT_REASON_UNSPECIFIED
        value: '0'
      - name: QCA_WLAN_ROAM_STATS_KICKOUT_REASON_IBSS_DISCONNECT
        value: '3'
      - name: QCA_WLAN_ROAM_STATS_KICKOUT_REASON_INACTIVITY
        value: '2'
      - name: QCA_WLAN_ROAM_STATS_KICKOUT_REASON_TDLS_DISCONNECT
        value: '4'
      - name: QCA_WLAN_ROAM_STATS_KICKOUT_REASON_XRETRY
        value: '1'
      - name: QCA_WLAN_ROAM_STATS_KICKOUT_REASON_SA_QUERY_TIMEOUT
        value: '5'
      - name: QCA_WLAN_ROAM_STATS_KICKOUT_REASON_ROAMING_EVENT
        value: '6'
      item_type: enum
      name: qca_wlan_roam_stats_tx_failures_reason
      pos:
        line_end: 15866
        line_start: 15858
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_ROAM_STATS_ABORT_UNSPECIFIED
        value: '0'
      - name: QCA_WLAN_ROAM_STATS_ABORT_BG_RSSI_ABOVE_THRESHOLD
        value: '4'
      - name: QCA_WLAN_ROAM_STATS_ABORT_LOWRSSI_LINK_SPEED_GOOD
        value: '2'
      - name: QCA_WLAN_ROAM_STATS_ABORT_LOWRSSI_DATA_RSSI_HIGH
        value: '1'
      - name: QCA_WLAN_ROAM_STATS_ABORT_BG_DATA_RSSI_HIGH
        value: '3'
      item_type: enum
      name: qca_wlan_roam_stats_abort_reason
      pos:
        line_end: 15889
        line_start: 15883
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_ROAM_STATS_SCAN_TYPE_PARTIAL
        value: '0'
      - name: QCA_WLAN_ROAM_STATS_SCAN_TYPE_HIGHER_BAND_5GHZ_6GHZ
        value: '3'
      - name: QCA_WLAN_ROAM_STATS_SCAN_TYPE_NO_SCAN
        value: '2'
      - name: QCA_WLAN_ROAM_STATS_SCAN_TYPE_HIGHER_BAND_6GHZ
        value: '4'
      - name: QCA_WLAN_ROAM_STATS_SCAN_TYPE_FULL
        value: '1'
      item_type: enum
      name: qca_wlan_roam_stats_scan_type
      pos:
        line_end: 15911
        line_start: 15905
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_ROAM_STATS_DWELL_TYPE_UNSPECIFIED
        value: '0'
      - name: QCA_WLAN_ROAM_STATS_DWELL_TYPE_PASSIVE
        value: '2'
      - name: QCA_WLAN_ROAM_STATS_DWELL_TYPE_ACTIVE
        value: '1'
      item_type: enum
      name: qca_wlan_roam_stats_scan_dwell_type
      pos:
        line_end: 15927
        line_start: 15923
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_STATS_SCAN_CHANNEL_FREQ
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_STATS_SCAN_INFO_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_STATS_MAX_DWELL_TIME
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_STATS_SCAN_INFO_FRAME_MAX
        value: QCA_WLAN_VENDOR_ATTR_ROAM_STATS_SCAN_INFO_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_STATS_SCAN_DWELL_TYPE
        value: '2'
      item_type: enum
      name: qca_wlan_vendor_attr_roam_stats_scan_chan_info
      pos:
        line_end: 15951
        line_start: 15933
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_ROAM_STATS_FRAME_SUBTYPE_AUTH_RESP
        value: '1'
      - name: QCA_WLAN_ROAM_STATS_FRAME_SUBTYPE_EAPOL_M3
        value: '5'
      - name: QCA_WLAN_ROAM_STATS_FRAME_SUBTYPE_EAPOL_M1
        value: '3'
      - name: QCA_WLAN_ROAM_STATS_FRAME_SUBTYPE_REASSOC_RESP
        value: '2'
      - name: QCA_WLAN_ROAM_STATS_FRAME_SUBTYPE_EAPOL_M2
        value: '4'
      - name: QCA_WLAN_ROAM_STATS_FRAME_SUBTYPE_EAPOL_M4
        value: '6'
      - name: QCA_WLAN_ROAM_STATS_FRAME_SUBTYPE_EAPOL_GTK_M1
        value: '7'
      - name: QCA_WLAN_ROAM_STATS_FRAME_SUBTYPE_EAPOL_GTK_M2
        value: '8'
      - name: QCA_WLAN_ROAM_STATS_FRAME_SUBTYPE_AUTH_REQ
        value: '9'
      - name: QCA_WLAN_ROAM_STATS_FRAME_SUBTYPE_REASSOC_REQ
        value: '10'
      item_type: enum
      name: qca_wlan_roam_stats_frame_subtype
      pos:
        line_end: 15979
        line_start: 15968
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_ROAM_STATS_FRAME_STATUS_SUCCESS
        value: '0'
      - name: QCA_WLAN_ROAM_STATS_FRAME_STATUS_FAIL
        value: '1'
      item_type: enum
      name: qca_wlan_roam_stats_frame_status
      pos:
        line_end: 16001
        line_start: 15998
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_STATS_FRAME_SUBTYPE
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_STATS_FRAME_BSSID
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_STATS_FRAME_STATUS
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_STATS_FRAME_TIMESTAMP
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_STATS_FRAME_PAD
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_STATS_FRAME_INFO_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_STATS_FRAME_INFO_MAX
        value: QCA_WLAN_VENDOR_ATTR_ROAM_STATS_FRAME_INFO_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_roam_stats_frame_info
      pos:
        line_end: 16037
        line_start: 16007
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_STATS_DATA_RSSI_THRESHOLD
        value: '36'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_STATS_ROAMED_BSSID
        value: '47'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_STATS_BSS_CU_LOAD
        value: '25'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_STATS_DISCONNECTION_REASON
        value: '27'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_STATS_ORIGINAL_BSSID
        value: '45'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_STATS_BTM_MBO_ASSOC_RETRY_TIMEOUT
        value: '23'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_STATS_ABORT_REASON
        value: '34'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_STATS_PER_TXRATE_THRESHOLD_PERCENT
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_STATS_TRIGGER_REASON
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_STATS_CONSECUTIVE_BMISS_CNT
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_STATS_POOR_RSSI_CURRENT_RSSI
        value: '8'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_STATS_POOR_RSSI_RX_LINKSPEED_STATUS
        value: '10'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_STATS_CONGESTION_TX_TPUT
        value: '14'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_STATS_USER_TRIGGER_INVOKE_REASON
        value: '16'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_STATS_BETTER_RSSI_HIGH_RSSI_THRESHOLD
        value: '12'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_STATS_BTM_DISASSOC_IMMINENT_TIME
        value: '18'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_STATS_BTM_CANDIDATE_LIST_CNT
        value: '20'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_STATS_BACKGROUND_SCAN_DATA_RSSI_THRESH
        value: '31'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_STATS_TOTAL_SCAN_TIME
        value: '42'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_STATS_SCAN_TYPE
        value: '38'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_STATS_FAIL_REASON
        value: '40'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_STATS_BACKGROUND_SCAN_CURRENT_RSSI
        value: '29'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_STATS_MAX
        value: QCA_WLAN_VENDOR_ATTR_ROAM_STATS_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_STATS_CANDIDATE_BSSID
        value: '46'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_STATS_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_STATS_DISCONNECTION_TYPE
        value: '26'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_STATS_DATA_RX_LINKSPEED_STATUS
        value: '37'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_STATS_PAD
        value: '44'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_STATS_BTM_BSS_TERMINATION_TIMEOUT
        value: '22'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_STATS_TX_FAILURES_REASON
        value: '33'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_STATS_BTM_REQ_DIALOG_TOKEN
        value: '24'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_STATS_DATA_RSSI
        value: '35'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_STATS_ROAM_TRIGGER_TIMESTAMP
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_STATS_FINAL_BMISS_CNT
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_STATS_PER_RXRATE_THRESHOLD_PERCENT
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_STATS_BMISS_QOS_NULL_SUCCESS
        value: '7'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_STATS_POOR_RSSI_ROAM_RSSI_THRESHOLD
        value: '9'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_STATS_CONGESTION_ROAMABLE_CNT
        value: '15'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_STATS_BETTER_RSSI_CURRENT_RSSI
        value: '11'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_STATS_CONGESTION_RX_TPUT
        value: '13'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_STATS_BTM_REQUEST_MODE
        value: '17'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_STATS_BTM_VALID_INTERNAL
        value: '19'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_STATS_BACKGROUND_SCAN_DATA_RSSI
        value: '30'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_STATS_TX_FAILURES_THRESHOLD
        value: '32'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_STATS_SCAN_CHAN_INFO
        value: '41'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_STATS_FRAME_INFO
        value: '43'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_STATS_BTM_RESPONSE_STATUS_CODE
        value: '21'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_STATS_PERIODIC_TIMER_MS
        value: '28'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_STATS_ROAM_STATUS
        value: '39'
      item_type: enum
      name: qca_wlan_vendor_attr_roam_stats_info
      pos:
        line_end: 16280
        line_start: 16043
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_STATS_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_CACHED_STATS_MAX
        value: QCA_WLAN_VENDOR_ATTR_ROAM_CACHED_STATS_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_STATS_INFO
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_CACHED_STATS_AFTER_LAST
      item_type: enum
      name: qca_wlan_vendor_attr_roam_cached_stats
      pos:
        line_end: 16299
        line_start: 16288
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_SUPPORTED_RADIO_CFG_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_SUPPORTED_RADIO_CFG_ANTENNA
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_SUPPORTED_RADIO_CFG_BAND
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_SUPPORTED_RADIO_CFG_MAX
        value: QCA_WLAN_VENDOR_ATTR_SUPPORTED_RADIO_CFG_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_SUPPORTED_RADIO_CFG_LAST
      item_type: enum
      name: qca_wlan_vendor_attr_supported_radio_cfg
      pos:
        line_end: 16320
        line_start: 16311
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_RADIO_COMBINATIONS_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_RADIO_COMBINATIONS_LAST
      - name: QCA_WLAN_VENDOR_ATTR_RADIO_COMBINATIONS_MAX
        value: QCA_WLAN_VENDOR_ATTR_RADIO_COMBINATIONS_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_RADIO_COMBINATIONS_CFGS
        value: '1'
      item_type: enum
      name: qca_wlan_vendor_attr_radio_combination
      pos:
        line_end: 16344
        line_start: 16336
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_RADIO_MATRIX_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_RADIO_MATRIX_MAX
        value: QCA_WLAN_VENDOR_ATTR_RADIO_MATRIX_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_RADIO_MATRIX_SUPPORTED_CFGS
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_RADIO_MATRIX_LAST
      item_type: enum
      name: qca_wlan_vendor_attr_radio_combination_matrix
      pos:
        line_end: 16375
        line_start: 16367
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_MDNS_OFFLOAD_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_MDNS_OFFLOAD_TABLE
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_MDNS_OFFLOAD_ENABLE
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_MDNS_OFFLOAD_FQDN
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_MDNS_OFFLOAD_ENTRY
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_MDNS_OFFLOAD_ANSWER_RESOURCE_RECORDS_COUNT
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_MDNS_OFFLOAD_ANSWER_PAYLOAD
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_MDNS_OFFLOAD_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_MDNS_OFFLOAD_MAX
        value: QCA_WLAN_VENDOR_ATTR_MDNS_OFFLOAD_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_mdns_offload
      pos:
        line_end: 16430
        line_start: 16417
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_MONITOR_DATA_FRAME_TYPE_ALL
        value: BIT(0)
      - name: QCA_WLAN_VENDOR_MONITOR_DATA_FRAME_TYPE_DHCPV4
        value: BIT(2)
      - name: QCA_WLAN_VENDOR_MONITOR_DATA_FRAME_TYPE_DHCPV6
        value: BIT(3)
      - name: QCA_WLAN_VENDOR_MONITOR_DATA_FRAME_TYPE_ARP
        value: BIT(1)
      - name: QCA_WLAN_VENDOR_MONITOR_DATA_FRAME_TYPE_EAPOL
        value: BIT(4)
      - name: QCA_WLAN_VENDOR_MONITOR_DATA_FRAME_TYPE_DNSV4
        value: BIT(5)
      - name: QCA_WLAN_VENDOR_MONITOR_DATA_FRAME_TYPE_DNSV6
        value: BIT(6)
      - name: QCA_WLAN_VENDOR_MONITOR_DATA_FRAME_TYPE_TCP_SYN
        value: BIT(7)
      - name: QCA_WLAN_VENDOR_MONITOR_DATA_FRAME_TYPE_TCP_SYNACK
        value: BIT(8)
      - name: QCA_WLAN_VENDOR_MONITOR_DATA_FRAME_TYPE_TCP_FIN
        value: BIT(9)
      - name: QCA_WLAN_VENDOR_MONITOR_DATA_FRAME_TYPE_ICMPV6
        value: BIT(14)
      - name: QCA_WLAN_VENDOR_MONITOR_DATA_FRAME_TYPE_ICMPV4
        value: BIT(13)
      - name: QCA_WLAN_VENDOR_MONITOR_DATA_FRAME_TYPE_SIP
        value: BIT(16)
      - name: QCA_WLAN_VENDOR_MONITOR_DATA_FRAME_TYPE_TCP_ACK
        value: BIT(11)
      - name: QCA_WLAN_VENDOR_MONITOR_DATA_FRAME_TYPE_TCP_FINACK
        value: BIT(10)
      - name: QCA_WLAN_VENDOR_MONITOR_DATA_FRAME_QOS_NULL
        value: BIT(17)
      - name: QCA_WLAN_VENDOR_MONITOR_DATA_FRAME_TYPE_RTP
        value: BIT(15)
      - name: QCA_WLAN_VENDOR_MONITOR_DATA_FRAME_TYPE_TCP_RST
        value: BIT(12)
      item_type: enum
      name: qca_wlan_vendor_monitor_data_frame_type
      pos:
        line_end: 16457
        line_start: 16436
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_MONITOR_MGMT_FRAME_TYPE_ALL
        value: BIT(0)
      - name: QCA_WLAN_VENDOR_MONITOR_MGMT_CONNECT_SCAN_BEACON
        value: BIT(3)
      - name: QCA_WLAN_VENDOR_MONITOR_MGMT_NO_BEACON
        value: BIT(1)
      - name: QCA_WLAN_VENDOR_MONITOR_MGMT_CONNECT_BEACON
        value: BIT(2)
      item_type: enum
      name: qca_wlan_vendor_monitor_mgmt_frame_type
      pos:
        line_end: 16478
        line_start: 16471
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_MONITOR_CTRL_FRAME_TYPE_ALL
        value: BIT(0)
      - name: QCA_WLAN_VENDOR_MONITOR_CTRL_TRIGGER_FRAME
        value: BIT(1)
      item_type: enum
      name: qca_wlan_vendor_monitor_ctrl_frame_type
      pos:
        line_end: 16491
        line_start: 16486
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_MONITOR_OPERATING_TYPE_LPC
        value: '0'
      - name: QCA_WLAN_VENDOR_MONITOR_OPERATING_TYPE_OCC
        value: '1'
      item_type: enum
      name: qca_wlan_vendor_monitor_operating_type
      pos:
        line_end: 16507
        line_start: 16504
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_SET_MONITOR_MODE_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_SET_MONITOR_MODE_MGMT_RX_FRAME_TYPE
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_SET_MONITOR_MODE_DATA_RX_FRAME_TYPE
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_SET_MONITOR_MODE_DATA_TX_FRAME_TYPE
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_SET_MONITOR_MODE_MGMT_TX_FRAME_TYPE
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_SET_MONITOR_MODE_CTRL_TX_FRAME_TYPE
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_SET_MONITOR_MODE_CTRL_RX_FRAME_TYPE
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_SET_MONITOR_MODE_CONNECTED_BEACON_INTERVAL
        value: '7'
      - name: QCA_WLAN_VENDOR_ATTR_SET_MONITOR_MODE_OPERATING_TYPE
        value: '8'
      - name: QCA_WLAN_VENDOR_ATTR_SET_MONITOR_MODE_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_SET_MONITOR_MODE_MAX
        value: QCA_WLAN_VENDOR_ATTR_SET_MONITOR_MODE_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_set_monitor_mode
      pos:
        line_end: 16567
        line_start: 16552
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ROAM_SCAN_STATE_START
        value: BIT(0)
      - name: QCA_WLAN_VENDOR_ROAM_SCAN_STATE_END
        value: BIT(1)
      item_type: enum
      name: qca_wlan_vendor_roam_scan_state
      pos:
        line_end: 16579
        line_start: 16576
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ROAM_EVENT_TRIGGER_REASON
        value: BIT(0)
      - name: QCA_WLAN_VENDOR_ROAM_EVENT_ROAM_SCAN_STATE
        value: BIT(3)
      - name: QCA_WLAN_VENDOR_ROAM_EVENT_FAIL_REASON
        value: BIT(1)
      - name: QCA_WLAN_VENDOR_ROAM_EVENT_INVOKE_FAIL_REASON
        value: BIT(2)
      item_type: enum
      name: qca_wlan_vendor_roam_event_type
      pos:
        line_end: 16613
        line_start: 16608
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_EVENTS_CANDIDATE_INFO_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_EVENTS_CANDIDATE_INFO_BSSID
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_EVENTS_CANDIDATE_INFO_FAIL_REASON
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_EVENTS_CANDIDATE_INFO_RSSI
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_EVENTS_CANDIDATE_INFO_FREQ
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_EVENTS_CANDIDATE_INFO_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_EVENTS_CANDIDATE_INFO_MAX
        value: QCA_WLAN_VENDOR_ATTR_ROAM_EVENTS_CANDIDATE_INFO_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_roam_events_candidate_info
      pos:
        line_end: 16645
        line_start: 16634
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_EVENTS_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_EVENTS_TRIGGER_REASON
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_EVENTS_CONFIGURE
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_EVENTS_TYPE
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_EVENTS_SUSPEND_STATE
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_EVENTS_INVOKE_FAIL_REASON
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_EVENTS_CANDIDATE_INFO
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_EVENTS_ROAM_SCAN_STATE
        value: '7'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_EVENTS_ROAM_SCAN_FREQ_LIST
        value: '8'
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_EVENTS_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_ROAM_EVENTS_MAX
        value: QCA_WLAN_VENDOR_ATTR_ROAM_EVENTS_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_roam_events
      pos:
        line_end: 16720
        line_start: 16705
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_RATEMASK_PARAMS_TYPE_CCK_OFDM
        value: '0'
      - name: QCA_WLAN_RATEMASK_PARAMS_TYPE_HE
        value: '3'
      - name: QCA_WLAN_RATEMASK_PARAMS_TYPE_VHT
        value: '2'
      - name: QCA_WLAN_RATEMASK_PARAMS_TYPE_EHT
        value: '4'
      - name: QCA_WLAN_RATEMASK_PARAMS_TYPE_HT
        value: '1'
      - name: QCA_WLAN_RATEMASK_PARAMS_TYPE_UHR
        value: '5'
      item_type: enum
      name: qca_wlan_ratemask_params_type
      pos:
        line_end: 16739
        line_start: 16732
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_RATEMASK_PARAMS_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_RATEMASK_PARAMS_LINK_ID
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_RATEMASK_PARAMS_LIST
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_RATEMASK_PARAMS_BITMAP
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_RATEMASK_PARAMS_TYPE
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_RATEMASK_PARAMS_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_RATEMASK_PARAMS_MAX
        value: QCA_WLAN_VENDOR_ATTR_RATEMASK_PARAMS_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_ratemask_params
      pos:
        line_end: 16807
        line_start: 16796
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_RX_MCS_MAP_PARAMS_PHY_TYPE_VHT
        value: '0'
      - name: QCA_WLAN_RX_MCS_MAP_PARAMS_PHY_TYPE_HE
        value: '1'
      - name: QCA_WLAN_RX_MCS_MAP_PARAMS_PHY_TYPE_EHT
        value: '2'
      item_type: enum
      name: qca_wlan_rx_mcs_map_params_phy_type
      pos:
        line_end: 16820
        line_start: 16816
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_RX_MCS_MAP_PARAMS_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_RX_MCS_MAP_PARAMS_BITMAP
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_RX_MCS_MAP_PARAMS_PHY_TYPE
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_RX_MCS_MAP_PARAMS_LIST
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_RX_MCS_MAP_PARAMS_LINK_ID
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_RX_MCS_MAP_PARAMS_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_RX_MCS_MAP_PARAMS_MAX
        value: QCA_WLAN_VENDOR_ATTR_RX_MCS_MAP_PARAMS_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_rx_mcs_map_params
      pos:
        line_end: 16906
        line_start: 16895
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_AUDIO_DATA_PATH_VIA_HOST_PROCESSOR
        value: '0'
      - name: QCA_WLAN_AUDIO_DATA_PATH_VIA_LOW_POWER_DSP
        value: '1'
      item_type: enum
      name: qca_wlan_audio_data_path
      pos:
        line_end: 16920
        line_start: 16917
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_PASN_ACTION_AUTH
      - name: QCA_WLAN_VENDOR_PASN_ACTION_DELETE_SECURE_RANGING_CONTEXT
      item_type: enum
      name: qca_wlan_vendor_pasn_action
      pos:
        line_end: 16938
        line_start: 16935
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_PASN_PEER_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_PASN_PEER_LTF_KEYSEED_REQUIRED
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_PASN_PEER_MAC_ADDR
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_PASN_PEER_SRC_ADDR
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_PASN_PEER_STATUS_SUCCESS
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_PASN_PEER_AKM
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_PASN_PEER_CIPHER
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_PASN_PEER_PASSWORD
        value: '7'
      - name: QCA_WLAN_VENDOR_ATTR_PASN_PEER_PMKID
        value: '8'
      - name: QCA_WLAN_VENDOR_ATTR_PASN_PEER_COMEBACK_AFTER
        value: '9'
      - name: QCA_WLAN_VENDOR_ATTR_PASN_PEER_COOKIE
        value: '10'
      - name: QCA_WLAN_VENDOR_ATTR_PASN_PEER_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_PASN_PEER_MAX
        value: QCA_WLAN_VENDOR_ATTR_PASN_PEER_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_pasn_peer
      pos:
        line_end: 17038
        line_start: 17021
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_PASN_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_PASN_LINK_ID
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_PASN_PEERS
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_PASN_ACTION
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_PASN_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_PASN_MAX
        value: QCA_WLAN_VENDOR_ATTR_PASN_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_pasn
      pos:
        line_end: 17064
        line_start: 17054
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_SECURE_RANGING_CTX_ACTION_ADD
      - name: QCA_WLAN_VENDOR_SECURE_RANGING_CTX_ACTION_DELETE
      item_type: enum
      name: qca_wlan_vendor_secure_ranging_ctx_action
      pos:
        line_end: 17079
        line_start: 17076
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_SHA_256
      - name: QCA_WLAN_VENDOR_SHA_384
      item_type: enum
      name: qca_wlan_vendor_sha_type
      pos:
        line_end: 17091
        line_start: 17088
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_SECURE_RANGING_CTX_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_SECURE_RANGING_CTX_SHA_TYPE
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_SECURE_RANGING_CTX_ACTION
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_SECURE_RANGING_CTX_PEER_MAC_ADDR
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_SECURE_RANGING_CTX_SRC_ADDR
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_SECURE_RANGING_CTX_TK
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_SECURE_RANGING_CTX_CIPHER
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_SECURE_RANGING_CTX_LTF_KEYSEED
        value: '7'
      - name: QCA_WLAN_VENDOR_ATTR_SECURE_RANGING_CTX_LINK_ID
        value: '8'
      - name: QCA_WLAN_VENDOR_ATTR_SECURE_RANGING_CTX_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_SECURE_RANGING_CTX_MAX
        value: QCA_WLAN_VENDOR_ATTR_SECURE_RANGING_CTX_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_secure_ranging_ctx
      pos:
        line_end: 17136
        line_start: 17121
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_COAP_OFFLOAD_FILTER_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_COAP_OFFLOAD_FILTER_DEST_IPV6
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_COAP_OFFLOAD_FILTER_DEST_IPV4_IS_BC
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_COAP_OFFLOAD_FILTER_DEST_PORT
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_COAP_OFFLOAD_FILTER_DEST_IPV4
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_COAP_OFFLOAD_FILTER_MATCH_OFFSET
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_COAP_OFFLOAD_FILTER_MATCH_DATA
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_COAP_OFFLOAD_FILTER_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_COAP_OFFLOAD_FILTER_MAX
        value: QCA_WLAN_VENDOR_ATTR_COAP_OFFLOAD_FILTER_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_coap_offload_filter
      pos:
        line_end: 17196
        line_start: 17183
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_COAP_OFFLOAD_REPLY_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_COAP_OFFLOAD_REPLY_SRC_IPV4
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_COAP_OFFLOAD_REPLY_FILTER
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_COAP_OFFLOAD_REPLY_SRC_IPV6
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_COAP_OFFLOAD_REPLY_MSG
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_COAP_OFFLOAD_REPLY_CACHE_EXPTIME
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_COAP_OFFLOAD_REPLY_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_COAP_OFFLOAD_REPLY_MAX
        value: QCA_WLAN_VENDOR_ATTR_COAP_OFFLOAD_REPLY_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_coap_offload_reply
      pos:
        line_end: 17252
        line_start: 17240
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_COAP_OFFLOAD_TX_IPV4_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_COAP_OFFLOAD_TX_IPV4_SRC_PORT
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_COAP_OFFLOAD_TX_IPV4_SRC_ADDR
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_COAP_OFFLOAD_TX_IPV4_DEST_IS_BC
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_COAP_OFFLOAD_TX_IPV4_DEST_ADDR
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_COAP_OFFLOAD_TX_IPV4_DEST_PORT
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_COAP_OFFLOAD_TX_IPV4_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_COAP_OFFLOAD_TX_IPV4_MAX
        value: QCA_WLAN_VENDOR_ATTR_COAP_OFFLOAD_TX_IPV4_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_coap_offload_tx_ipv4
      pos:
        line_end: 17294
        line_start: 17282
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_COAP_OFFLOAD_TX_IPV6_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_COAP_OFFLOAD_TX_IPV6_DEST_PORT
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_COAP_OFFLOAD_TX_IPV6_SRC_PORT
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_COAP_OFFLOAD_TX_IPV6_SRC_ADDR
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_COAP_OFFLOAD_TX_IPV6_DEST_ADDR
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_COAP_OFFLOAD_TX_IPV6_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_COAP_OFFLOAD_TX_IPV6_MAX
        value: QCA_WLAN_VENDOR_ATTR_COAP_OFFLOAD_TX_IPV6_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_coap_offload_tx_ipv6
      pos:
        line_end: 17329
        line_start: 17318
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_COAP_OFFLOAD_PERIODIC_TX_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_COAP_OFFLOAD_PERIODIC_TX_IPV6
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_COAP_OFFLOAD_PERIODIC_TX_MSG
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_COAP_OFFLOAD_PERIODIC_TX_IPV4
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_COAP_OFFLOAD_PERIODIC_TX_PERIOD
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_COAP_OFFLOAD_PERIODIC_TX_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_COAP_OFFLOAD_PERIODIC_TX_MAX
        value: QCA_WLAN_VENDOR_ATTR_COAP_OFFLOAD_PERIODIC_TX_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_coap_offload_periodic_tx
      pos:
        line_end: 17373
        line_start: 17362
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_COAP_OFFLOAD_CACHE_INFO_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_COAP_OFFLOAD_CACHE_INFO_SRC_IPV4
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_COAP_OFFLOAD_CACHE_INFO_MSG
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_COAP_OFFLOAD_CACHE_INFO_TS
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_COAP_OFFLOAD_CACHE_INFO_SRC_IPV6
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_COAP_OFFLOAD_CACHE_INFO_PAD
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_COAP_OFFLOAD_CACHE_INFO_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_COAP_OFFLOAD_CACHE_INFO_MAX
        value: QCA_WLAN_VENDOR_ATTR_COAP_OFFLOAD_CACHE_INFO_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_coap_offload_cache_info
      pos:
        line_end: 17421
        line_start: 17409
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_COAP_OFFLOAD_ACTION_REPLY_ENABLE
        value: '0'
      - name: QCA_WLAN_VENDOR_COAP_OFFLOAD_ACTION_CACHE_GET
        value: '4'
      - name: QCA_WLAN_VENDOR_COAP_OFFLOAD_ACTION_PERIODIC_TX_DISABLE
        value: '3'
      - name: QCA_WLAN_VENDOR_COAP_OFFLOAD_ACTION_REPLY_DISABLE
        value: '1'
      - name: QCA_WLAN_VENDOR_COAP_OFFLOAD_ACTION_PERIODIC_TX_ENABLE
        value: '2'
      item_type: enum
      name: qca_wlan_vendor_coap_offload_action
      pos:
        line_end: 17479
        line_start: 17473
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_COAP_OFFLOAD_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_COAP_OFFLOAD_ACTION
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_COAP_OFFLOAD_REPLY
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_COAP_OFFLOAD_REQ_ID
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_COAP_OFFLOAD_PERIODIC_TX
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_COAP_OFFLOAD_CACHES
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_COAP_OFFLOAD_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_COAP_OFFLOAD_MAX
        value: QCA_WLAN_VENDOR_ATTR_COAP_OFFLOAD_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_coap_offload
      pos:
        line_end: 17537
        line_start: 17525
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_SCS_RULE_CONFIG_CLASSIFIER_TYPE
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_SCS_RULE_CONFIG_TCLAS4_SRC_IPV6_ADDR
        value: '8'
      - name: QCA_WLAN_VENDOR_ATTR_SCS_RULE_CONFIG_TCLAS10_FILTER_VALUE
        value: '18'
      - name: QCA_WLAN_VENDOR_ATTR_SCS_RULE_CONFIG_TCLAS4_DSCP
        value: '12'
      - name: QCA_WLAN_VENDOR_ATTR_SCS_RULE_CONFIG_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_SCS_RULE_CONFIG_MAX
        value: QCA_WLAN_VENDOR_ATTR_SCS_RULE_CONFIG_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_SCS_RULE_CONFIG_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_SCS_RULE_CONFIG_OUTPUT_TID
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_SCS_RULE_CONFIG_TCLAS4_DST_IPV4_ADDR
        value: '7'
      - name: QCA_WLAN_VENDOR_ATTR_SCS_RULE_CONFIG_TCLAS10_PROTOCOL_INSTANCE
        value: '15'
      - name: QCA_WLAN_VENDOR_ATTR_SCS_RULE_CONFIG_TCLAS10_FILTER_MASK
        value: '17'
      - name: QCA_WLAN_VENDOR_ATTR_SCS_RULE_CONFIG_TCLAS4_DST_PORT
        value: '11'
      - name: QCA_WLAN_VENDOR_ATTR_SCS_RULE_CONFIG_NETDEV_IF_INDEX
        value: '21'
      - name: QCA_WLAN_VENDOR_ATTR_SCS_RULE_CONFIG_REQUEST_TYPE
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_SCS_RULE_CONFIG_TCLAS4_SRC_IPV4_ADDR
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_SCS_RULE_CONFIG_TCLAS4_FLOW_LABEL
        value: '14'
      - name: QCA_WLAN_VENDOR_ATTR_SCS_RULE_CONFIG_TCLAS10_NEXT_HEADER
        value: '16'
      - name: QCA_WLAN_VENDOR_ATTR_SCS_RULE_CONFIG_TCLAS4_SRC_PORT
        value: '10'
      - name: QCA_WLAN_VENDOR_ATTR_SCS_RULE_CONFIG_DST_MAC_ADDR
        value: '20'
      - name: QCA_WLAN_VENDOR_ATTR_SCS_RULE_CONFIG_RULE_ID
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_SCS_RULE_CONFIG_TCLAS4_VERSION
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_SCS_RULE_CONFIG_TCLAS4_DST_IPV6_ADDR
        value: '9'
      - name: QCA_WLAN_VENDOR_ATTR_SCS_RULE_CONFIG_TCLAS4_NEXT_HEADER
        value: '13'
      - name: QCA_WLAN_VENDOR_ATTR_SCS_RULE_CONFIG_SERVICE_CLASS_ID
        value: '19'
      item_type: enum
      name: qca_wlan_vendor_attr_scs_rule_config
      pos:
        line_end: 17681
        line_start: 17653
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_MLO_LINK_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_MLO_LINK_MAC_ADDR
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_MLO_LINK_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_MLO_LINK_ID
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_MLO_LINK_BSSID
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_MLO_LINK_MAX
        value: QCA_WLAN_VENDOR_ATTR_MLO_LINK_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_mlo_links
      pos:
        line_end: 17701
        line_start: 17691
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_SAR_VERSION_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_SAR_VERSION_3
        value: '3'
      - name: QCA_WLAN_VENDOR_SAR_VERSION_2
        value: '2'
      - name: QCA_WLAN_VENDOR_SAR_VERSION_1
        value: '1'
      - name: QCA_WLAN_VENDOR_SAR_VERSION_4
        value: '4'
      - name: QCA_WLAN_VENDOR_SAR_VERSION_5
        value: '5'
      item_type: enum
      name: qca_wlan_vendor_sar_version
      pos:
        line_end: 17739
        line_start: 17732
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_SAR_CTL_GROUP_STATE_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_SAR_CTL_GROUP_STATE_DISABLED
        value: '2'
      - name: QCA_WLAN_VENDOR_SAR_CTL_GROUP_STATE_ENABLED
        value: '1'
      item_type: enum
      name: qca_wlan_vendor_sar_ctl_group_state
      pos:
        line_end: 17756
        line_start: 17752
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_SAR_CAPABILITY_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_SAR_CAPABILITY_VERSION
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_SAR_CAPABILITY_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_SAR_CAPABILITY_CTL_GROUP_STATE
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_SAR_CAPABILITY_MAX
        value: QCA_WLAN_VENDOR_ATTR_SAR_CAPABILITY_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_sar_capability
      pos:
        line_end: 17785
        line_start: 17776
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_SR_STATS_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_SR_STATS_NON_SRG_TX_PPDU_SUCCESS_COUNT
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_SR_STATS_NON_SRG_TX_PPDU_TRIED_COUNT
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_SR_STATS_SRG_TX_OPPORTUNITIES_COUNT
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_SR_STATS_NON_SRG_TX_OPPORTUNITIES_COUNT
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_SR_STATS_SRG_TX_PPDU_TRIED_COUNT
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_SR_STATS_SRG_TX_PPDU_SUCCESS_COUNT
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_SR_STATS_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_SR_STATS_MAX
        value: QCA_WLAN_VENDOR_ATTR_SR_STATS_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_sr_stats
      pos:
        line_end: 17832
        line_start: 17819
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_SR_REASON_CODE_ROAMING
        value: '0'
      - name: QCA_WLAN_SR_REASON_CODE_CONCURRENCY
        value: '1'
      - name: QCA_WLAN_SR_REASON_CODE_BCN_IE_CHANGE
        value: '2'
      item_type: enum
      name: qca_wlan_sr_reason_code
      pos:
        line_end: 17851
        line_start: 17847
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_SR_OPERATION_SR_ENABLE
        value: '0'
      - name: QCA_WLAN_SR_OPERATION_SR_SUSPEND
        value: '2'
      - name: QCA_WLAN_SR_OPERATION_SR_DISABLE
        value: '1'
      - name: QCA_WLAN_SR_OPERATION_PSR_AND_NON_SRG_OBSS_PD_PROHIBIT
        value: '4'
      - name: QCA_WLAN_SR_OPERATION_SR_RESUME
        value: '3'
      - name: QCA_WLAN_SR_OPERATION_PSR_AND_NON_SRG_OBSS_PD_ALLOW
        value: '5'
      - name: QCA_WLAN_SR_OPERATION_GET_STATS
        value: '6'
      - name: QCA_WLAN_SR_OPERATION_CLEAR_STATS
        value: '7'
      - name: QCA_WLAN_SR_OPERATION_GET_PARAMS
        value: '8'
      - name: QCA_WLAN_SR_OPERATION_UPDATE_PARAMS
        value: '9'
      item_type: enum
      name: qca_wlan_sr_operation
      pos:
        line_end: 17928
        line_start: 17917
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_SR_PARAMS_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_SR_PARAMS_SRG_OBSS_PD_MIN_OFFSET
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_SR_PARAMS_NON_SRG_OBSS_PD_DISALLOW
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_SR_PARAMS_HESIGA_VAL15_ENABLE
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_SR_PARAMS_SRG_OBSS_PD_MAX_OFFSET
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_SR_PARAMS_NON_SRG_OBSS_PD_MAX_OFFSET
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_SR_PARAMS_SRG_PD_THRESHOLD
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_SR_PARAMS_NON_SRG_PD_THRESHOLD
        value: '7'
      - name: QCA_WLAN_VENDOR_ATTR_SR_PARAMS_REASON_CODE
        value: '8'
      - name: QCA_WLAN_VENDOR_ATTR_SR_PARAMS_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_SR_PARAMS_MAX
        value: QCA_WLAN_VENDOR_ATTR_SR_PARAMS_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_sr_params
      pos:
        line_end: 18003
        line_start: 17988
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_SR_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_SR_PARAMS
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_SR_OPERATION
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_SR_MLO_LINKS
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_SR_STATS
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_SR_MLO_LINK_ID
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_SR_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_SR_MAX
        value: QCA_WLAN_VENDOR_ATTR_SR_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_sr
      pos:
        line_end: 18066
        line_start: 18054
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_MLO_PEER_PRIM_NETDEV_EVENT_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_MLO_PEER_PRIM_NETDEV_EVENT_MACADDR
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_MLO_PEER_PRIM_NETDEV_EVENT_PRIM_IFINDEX
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_MLO_PEER_PRIM_NETDEV_EVENT_MLD_MAC_ADDR
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_MLO_PEER_PRIM_NETDEV_EVENT_MLD_IFINDEX
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_MLO_PEER_PRIM_NETDEV_EVENT_NUM_LINKS
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_MLO_PEER_PRIM_NETDEV_EVENT_LINK_INFO
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_MLO_PEER_PRIM_NETDEV_EVENT_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_MLO_PEER_PRIM_NETDEV_EVENT_MAX
        value: QCA_WLAN_VENDOR_ATTR_MLO_PEER_PRIM_NETDEV_EVENT_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_mlo_peer_prim_netdev_event
      pos:
        line_end: 18103
        line_start: 18090
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_MLO_LINK_INFO_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_MLO_LINK_INFO_MAX
        value: QCA_WLAN_VENDOR_ATTR_MLO_LINK_INFO_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_MLO_LINK_INFO_IFINDEX
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_MLO_LINK_INFO_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_MLO_LINK_INFO_MACADDR
        value: '2'
      item_type: enum
      name: qca_wlan_vendor_attr_mlo_link_info
      pos:
        line_end: 18124
        line_start: 18115
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_AFC_FREQ_PSD_INFO_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_AFC_FREQ_PSD_INFO_RANGE_START
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_AFC_FREQ_PSD_INFO_PSD
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_AFC_FREQ_PSD_INFO_RANGE_END
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_AFC_FREQ_PSD_INFO_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_AFC_FREQ_PSD_INFO_MAX
        value: QCA_WLAN_VENDOR_ATTR_AFC_FREQ_PSD_INFO_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_afc_freq_psd_info
      pos:
        line_end: 18170
        line_start: 18161
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_AFC_CHAN_EIRP_INFO_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_AFC_CHAN_EIRP_INFO_MAX
        value: QCA_WLAN_VENDOR_ATTR_AFC_CHAN_EIRP_INFO_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_AFC_CHAN_EIRP_INFO_CHAN_NUM
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_AFC_CHAN_EIRP_INFO_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_AFC_CHAN_EIRP_INFO_EIRP
        value: '2'
      item_type: enum
      name: qca_wlan_vendor_attr_afc_chan_eirp_info
      pos:
        line_end: 18208
        line_start: 18200
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_AFC_OPCLASS_INFO_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_AFC_OPCLASS_INFO_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_AFC_OPCLASS_INFO_CHAN_LIST
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_AFC_OPCLASS_INFO_OPCLASS
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_AFC_OPCLASS_INFO_MAX
        value: QCA_WLAN_VENDOR_ATTR_AFC_OPCLASS_INFO_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_afc_opclass_info
      pos:
        line_end: 18281
        line_start: 18273
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_AFC_EVENT_TYPE_EXPIRY
        value: '0'
      - name: QCA_WLAN_VENDOR_AFC_EVENT_TYPE_PAYLOAD_RESET
        value: '2'
      - name: QCA_WLAN_VENDOR_AFC_EVENT_TYPE_POWER_UPDATE_COMPLETE
        value: '1'
      item_type: enum
      name: qca_wlan_vendor_afc_event_type
      pos:
        line_end: 18307
        line_start: 18303
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_AFC_AP_DEPLOYMENT_TYPE_UNKNOWN
        value: '0'
      - name: QCA_WLAN_VENDOR_AFC_AP_DEPLOYMENT_TYPE_OUTDOOR
        value: '2'
      - name: QCA_WLAN_VENDOR_AFC_AP_DEPLOYMENT_TYPE_INDOOR
        value: '1'
      item_type: enum
      name: qca_wlan_vendor_afc_ap_deployment_type
      pos:
        line_end: 18328
        line_start: 18324
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_AFC_EVT_STATUS_CODE_SUCCESS
        value: '0'
      - name: QCA_WLAN_VENDOR_AFC_EVT_STATUS_CODE_TIMEOUT
        value: '1'
      - name: QCA_WLAN_VENDOR_AFC_EVT_STATUS_CODE_LOCAL_ERROR
        value: '3'
      - name: QCA_WLAN_VENDOR_AFC_EVT_STATUS_CODE_PARSING_ERROR
        value: '2'
      item_type: enum
      name: qca_wlan_vendor_afc_evt_status_code
      pos:
        line_end: 18355
        line_start: 18350
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_AFC_EVENT_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_AFC_EVENT_TYPE
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_AFC_EVENT_REQ_ID
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_AFC_EVENT_AP_DEPLOYMENT
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_AFC_EVENT_AFC_WFA_VERSION
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_AFC_EVENT_MIN_DES_POWER
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_AFC_EVENT_STATUS_CODE
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_AFC_EVENT_SERVER_RESP_CODE
        value: '7'
      - name: QCA_WLAN_VENDOR_ATTR_AFC_EVENT_EXP_DATE
        value: '8'
      - name: QCA_WLAN_VENDOR_ATTR_AFC_EVENT_EXP_TIME
        value: '9'
      - name: QCA_WLAN_VENDOR_ATTR_AFC_EVENT_FREQ_RANGE_LIST
        value: '10'
      - name: QCA_WLAN_VENDOR_ATTR_AFC_EVENT_MAX
        value: QCA_WLAN_VENDOR_ATTR_AFC_EVENT_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_AFC_EVENT_OPCLASS_CHAN_LIST
        value: '11'
      - name: QCA_WLAN_VENDOR_ATTR_AFC_EVENT_AFTER_LAST
      item_type: enum
      name: qca_wlan_vendor_attr_afc_event
      pos:
        line_end: 18469
        line_start: 18452
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_AFC_RESP_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_AFC_RESP_EXP_DATE
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_AFC_RESP_TIME_TO_LIVE
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_AFC_RESP_DATA
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_AFC_RESP_REQ_ID
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_AFC_RESP_EXP_TIME
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_AFC_RESP_AFC_SERVER_RESP_CODE
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_AFC_RESP_FREQ_PSD_INFO
        value: '7'
      - name: QCA_WLAN_VENDOR_ATTR_AFC_RESP_OPCLASS_CHAN_EIRP_INFO
        value: '8'
      - name: QCA_WLAN_VENDOR_ATTR_AFC_RESP_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_AFC_RESP_MAX
        value: QCA_WLAN_VENDOR_ATTR_AFC_RESP_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_afc_response
      pos:
        line_end: 18542
        line_start: 18528
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_DOZED_AP_DISABLE
        value: '0'
      - name: QCA_WLAN_DOZED_AP_ENABLE
        value: '1'
      item_type: enum
      name: qca_wlan_dozed_ap_state
      pos:
        line_end: 18555
        line_start: 18552
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_DOZED_AP_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_DOZED_AP_BI_MULTIPLIER
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_DOZED_AP_COOKIE
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_DOZED_AP_STATE
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_DOZED_AP_NEXT_TSF
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_DOZED_AP_PAD
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_DOZED_AP_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_DOZED_AP_MAX
        value: QCA_WLAN_VENDOR_ATTR_DOZED_AP_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_dozed_ap
      pos:
        line_end: 18596
        line_start: 18584
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_MONITOR_MODE_NO_CAPTURE_RUNNING
        value: '0'
      - name: QCA_WLAN_VENDOR_MONITOR_MODE_CAPTURE_RUNNING
        value: '1'
      item_type: enum
      name: qca_wlan_vendor_monitor_mode_status
      pos:
        line_end: 18610
        line_start: 18607
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_GET_MONITOR_MODE_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_GET_MONITOR_MODE_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_GET_MONITOR_MODE_STATUS
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_GET_MONITOR_MODE_MAX
        value: QCA_WLAN_VENDOR_ATTR_GET_MONITOR_MODE_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_get_monitor_mode
      pos:
        line_end: 18631
        line_start: 18623
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_LINK_STATE_OP_GET
        value: '0'
      - name: QCA_WLAN_VENDOR_LINK_STATE_OP_SET
        value: '1'
      item_type: enum
      name: qca_wlan_vendor_link_state_op_types
      pos:
        line_end: 18644
        line_start: 18641
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_LINK_STATE_CONTROL_MODE_DEFAULT
        value: '0'
      - name: QCA_WLAN_VENDOR_LINK_STATE_CONTROL_MODE_MIXED
        value: '2'
      - name: QCA_WLAN_VENDOR_LINK_STATE_CONTROL_MODE_USER
        value: '1'
      item_type: enum
      name: qca_wlan_vendor_link_state_control_modes
      pos:
        line_end: 18664
        line_start: 18660
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_LINK_STATE_OPERATION_MODE_DEFAULT
        value: '0'
      - name: QCA_WLAN_VENDOR_LINK_STATE_OPERATION_MODE_HIGH_THROUGHPUT
        value: '2'
      - name: QCA_WLAN_VENDOR_LINK_STATE_OPERATION_MODE_LOW_LATENCY
        value: '1'
      - name: QCA_WLAN_VENDOR_LINK_STATE_OPERATION_MODE_LOW_POWER
        value: '3'
      item_type: enum
      name: qca_wlan_vendor_link_state_operation_modes
      pos:
        line_end: 18689
        line_start: 18684
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_LINK_STATE_INACTIVE
        value: '0'
      - name: QCA_WLAN_VENDOR_LINK_STATE_ACTIVE
        value: '1'
      item_type: enum
      name: qca_wlan_vendor_link_state
      pos:
        line_end: 18706
        line_start: 18703
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_LINK_STATE_CONFIG_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_LINK_STATE_CONFIG_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_LINK_STATE_CONFIG_STATE
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_LINK_STATE_CONFIG_MAX
        value: QCA_WLAN_VENDOR_ATTR_LINK_STATE_CONFIG_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_LINK_STATE_CONFIG_LINK_ID
        value: '1'
      item_type: enum
      name: qca_wlan_vendor_attr_link_state_config
      pos:
        line_end: 18727
        line_start: 18718
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_LINK_STATE_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_LINK_STATE_MIXED_MODE_ACTIVE_NUM_LINKS
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_LINK_STATE_OP_TYPE
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_LINK_STATE_CONTROL_MODE
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_LINK_STATE_CONFIG
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_LINK_STATE_OPERATION_MODE
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_LINK_STATE_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_LINK_STATE_MAX
        value: QCA_WLAN_VENDOR_ATTR_LINK_STATE_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_mlo_link_state
      pos:
        line_end: 18785
        line_start: 18773
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_LINK_TID_MAP_STATUS_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_LINK_TID_MAP_STATUS_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_LINK_TID_MAP_STATUS_UPLINK
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_LINK_TID_MAP_STATUS_MAX
        value: QCA_WLAN_VENDOR_ATTR_LINK_TID_MAP_STATUS_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_LINK_TID_MAP_STATUS_DOWNLINK
        value: '2'
      item_type: enum
      name: qca_wlan_vendor_attr_tid_link_map_status
      pos:
        line_end: 18814
        line_start: 18805
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_TID_TO_LINK_MAP_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_TID_TO_LINK_MAP_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_TID_TO_LINK_MAP_MAX
        value: QCA_WLAN_VENDOR_ATTR_TID_TO_LINK_MAP_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_TID_TO_LINK_MAP_STATUS
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_TID_TO_LINK_MAP_AP_MLD_ADDR
        value: '1'
      item_type: enum
      name: qca_wlan_vendor_attr_tid_to_link_map
      pos:
        line_end: 18841
        line_start: 18832
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_LINK_RECONFIG_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_LINK_RECONFIG_MAX
        value: QCA_WLAN_VENDOR_ATTR_LINK_RECONFIG_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_LINK_RECONFIG_REMOVED_LINKS
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_LINK_RECONFIG_AP_MLD_ADDR
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_LINK_RECONFIG_AFTER_LAST
      item_type: enum
      name: qca_wlan_vendor_attr_link_reconfig
      pos:
        line_end: 18862
        line_start: 18853
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_DISC_RSP_EXT_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_DISC_RSP_EXT_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_DISC_RSP_EXT_TX_LINK
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_DISC_RSP_EXT_MAX
        value: QCA_WLAN_VENDOR_ATTR_TDLS_DISC_RSP_EXT_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_tdls_disc_rsp_ext
      pos:
        line_end: 18880
        line_start: 18872
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_TDLS_STATE_DISABLED
        value: '1'
      - name: QCA_WLAN_VENDOR_TDLS_STATE_ESTABLISHED
        value: '3'
      - name: QCA_WLAN_VENDOR_TDLS_STATE_ESTABLISHED_OFF_CHANNEL
        value: '4'
      - name: QCA_WLAN_VENDOR_TDLS_STATE_DROPPED
        value: '5'
      - name: QCA_WLAN_VENDOR_TDLS_STATE_ENABLED
        value: '2'
      - name: QCA_WLAN_VENDOR_TDLS_STATE_FAILED
        value: '6'
      item_type: enum
      name: qca_wlan_vendor_tdls_state
      pos:
        line_end: 18909
        line_start: 18902
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_TDLS_REASON_SUCCESS
        value: '0'
      - name: QCA_WLAN_TDLS_REASON_NOT_BENEFICIAL
        value: '-4'
      - name: QCA_WLAN_TDLS_REASON_NOT_SUPPORTED
        value: '-2'
      - name: QCA_WLAN_TDLS_REASON_UNSPECIFIED
        value: '-1'
      - name: QCA_WLAN_TDLS_REASON_UNSUPPORTED_BAND
        value: '-3'
      - name: QCA_WLAN_TDLS_REASON_DROPPED_BY_REMOTE
        value: '-5'
      item_type: enum
      name: qca_wlan_vendor_tdls_reason
      pos:
        line_end: 18936
        line_start: 18929
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_ENABLE_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_ENABLE_MAC_ADDR
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_ENABLE_GLOBAL_OPERATING_CLASS
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_ENABLE_CHANNEL
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_ENABLE_MAX_LATENCY_MS
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_ENABLE_MIN_BANDWIDTH_KBPS
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_ENABLE_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_ENABLE_MAX
        value: QCA_WLAN_VENDOR_ATTR_TDLS_ENABLE_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_tdls_enable
      pos:
        line_end: 18978
        line_start: 18966
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_DISABLE_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_DISABLE_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_DISABLE_MAC_ADDR
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_DISABLE_MAX
        value: QCA_WLAN_VENDOR_ATTR_TDLS_DISABLE_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_tdls_disable
      pos:
        line_end: 18995
        line_start: 18987
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_GET_STATUS_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_GET_STATUS_REASON
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_GET_STATUS_STATE
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_GET_STATUS_CHANNEL
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_GET_STATUS_MAC_ADDR
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_GET_STATUS_GLOBAL_OPERATING_CLASS
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_GET_STATUS_NUM_SESSIONS
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_GET_STATUS_AVAILABLE
        value: '7'
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_GET_STATUS_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_GET_STATUS_MAX
        value: QCA_WLAN_VENDOR_ATTR_TDLS_GET_STATUS_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_tdls_get_status
      pos:
        line_end: 19051
        line_start: 19037
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_STATE_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_STATE_NEW_STATE
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_STATE_MAC_ADDR
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_STATE_CHANNEL
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_STATE_REASON
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_STATE_GLOBAL_OPERATING_CLASS
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_STATE_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_STATE_MAX
        value: QCA_WLAN_VENDOR_ATTR_TDLS_STATE_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_tdls_state
      pos:
        line_end: 19086
        line_start: 19074
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_OPM_MODE_DISABLE
        value: '0'
      - name: QCA_WLAN_VENDOR_OPM_MODE_ENABLE
        value: '1'
      - name: QCA_WLAN_VENDOR_OPM_MODE_LATENCY_BASED
        value: '3'
      - name: QCA_WLAN_VENDOR_OPM_MODE_USER_DEFINED
        value: '2'
      item_type: enum
      name: qca_wlan_vendor_opm_mode
      pos:
        line_end: 19109
        line_start: 19104
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_TX_LATENCY_TYPE_DRIVER
        value: '0'
      - name: QCA_WLAN_VENDOR_TX_LATENCY_TYPE_HW
        value: '2'
      - name: QCA_WLAN_VENDOR_TX_LATENCY_TYPE_RING
        value: '1'
      - name: QCA_WLAN_VENDOR_TX_LATENCY_TYPE_CCA
        value: '3'
      item_type: enum
      name: qca_wlan_vendor_tx_latency_type
      pos:
        line_end: 19137
        line_start: 19132
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_TX_LATENCY_BUCKET_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_TX_LATENCY_BUCKET_GRANULARITY
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_TX_LATENCY_BUCKET_AVERAGE
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_TX_LATENCY_BUCKET_DISTRIBUTION
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_TX_LATENCY_BUCKET_TYPE
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_TX_LATENCY_BUCKET_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_TX_LATENCY_BUCKET_MAX
        value: QCA_WLAN_VENDOR_ATTR_TX_LATENCY_BUCKET_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_tx_latency_bucket
      pos:
        line_end: 19186
        line_start: 19175
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_TX_LATENCY_LINK_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_TX_LATENCY_LINK_MAC_REMOTE
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_TX_LATENCY_LINK_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_TX_LATENCY_LINK_STAT_BUCKETS
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_TX_LATENCY_LINK_MAX
        value: QCA_WLAN_VENDOR_ATTR_TX_LATENCY_LINK_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_tx_latency_link
      pos:
        line_end: 19215
        line_start: 19206
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_TX_LATENCY_ACTION_DISABLE
        value: '0'
      - name: QCA_WLAN_VENDOR_TX_LATENCY_ACTION_GET
        value: '2'
      - name: QCA_WLAN_VENDOR_TX_LATENCY_ACTION_ENABLE
        value: '1'
      item_type: enum
      name: qca_wlan_vendor_tx_latency_action
      pos:
        line_end: 19235
        line_start: 19231
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_TX_LATENCY_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_TX_LATENCY_PERIODIC_REPORT
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_TX_LATENCY_ACTION
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_TX_LATENCY_BUCKETS
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_TX_LATENCY_PERIOD
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_TX_LATENCY_LINKS
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_TX_LATENCY_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_TX_LATENCY_MAX
        value: QCA_WLAN_VENDOR_ATTR_TX_LATENCY_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_tx_latency
      pos:
        line_end: 19362
        line_start: 19350
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_CHAN_WIDTH_UPDATE_TYPE_TX_RX
        value: '0'
      - name: QCA_CHAN_WIDTH_UPDATE_TYPE_TX_ONLY
        value: '1'
      - name: QCA_CHAN_WIDTH_UPDATE_TYPE_TX_RX_EXT
        value: '2'
      item_type: enum
      name: qca_chan_width_update_type
      pos:
        line_end: 19398
        line_start: 19394
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_TPC_PWR_LEVEL_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_TPC_PWR_LEVEL_MAX
        value: QCA_WLAN_VENDOR_ATTR_TPC_PWR_LEVEL_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_TPC_PWR_LEVEL_TX_POWER
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_TPC_PWR_LEVEL_FREQUENCY
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_TPC_PWR_LEVEL_AFTER_LAST
      item_type: enum
      name: qca_wlan_vendor_attr_tpc_pwr_level
      pos:
        line_end: 19425
        line_start: 19416
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_TPC_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_TPC_PSD_POWER
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_TPC_BSSID
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_TPC_POWER_TYPE_6GHZ
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_TPC_EIRP_POWER
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_TPC_AP_CONSTRAINT_POWER
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_TPC_PWR_LEVEL
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_TPC_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_TPC_MAX
        value: QCA_WLAN_VENDOR_ATTR_TPC_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_tpc
      pos:
        line_end: 19469
        line_start: 19456
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_TPC_LINKS_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_TPC_LINKS_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_TPC_LINKS
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_TPC_LINKS_MAX
        value: QCA_WLAN_VENDOR_ATTR_TPC_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_tpc_links
      pos:
        line_end: 19490
        line_start: 19482
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_EMLSR_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_EMLSR_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_EMLSR_LINKS_BITMAP
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_EMLSR_MAX
        value: QCA_WLAN_VENDOR_ATTR_EMLSR_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_EMLSR_OPERATION
        value: '1'
      item_type: enum
      name: qca_wlan_vendor_attr_emlsr_info
      pos:
        line_end: 19514
        line_start: 19505
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_GVP_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_GVP_AVOID_FREQ_END
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_GVP_AVOID_FREQ_START
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_GVP_POWER_LIMIT
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_GVP_EZ_ENTER
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_GVP_OPER_START
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_GVP_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_GVP_MAX
        value: QCA_WLAN_VENDOR_ATTR_GVP_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_gvp_info
      pos:
        line_end: 19558
        line_start: 19546
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_FW_PAGE_FAULT_REPORT_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_FW_PAGE_FAULT_REPORT_LAST
      - name: QCA_WLAN_VENDOR_ATTR_FW_PAGE_FAULT_REPORT_DATA
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_FW_PAGE_FAULT_REPORT_MAX
        value: QCA_WLAN_VENDOR_ATTR_FW_PAGE_FAULT_REPORT_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_fw_page_fault_report
      pos:
        line_end: 19577
        line_start: 19569
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_BTM_SUPPORT_DEFAULT
        value: '0'
      - name: QCA_WLAN_BTM_SUPPORT_DISABLE
        value: '1'
      item_type: enum
      name: qca_wlan_btm_support
      pos:
        line_end: 19597
        line_start: 19594
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_DATA_RATE_TYPE_LEGACY
        value: '0'
      - name: QCA_WLAN_VENDOR_DATA_RATE_TYPE_MCS
        value: '1'
      item_type: enum
      name: qca_wlan_vendor_data_rate_type
      pos:
        line_end: 19612
        line_start: 19609
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_ADJUST_TX_POWER_RATE_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_ADJUST_TX_POWER_RATE_VALUE
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_ADJUST_TX_POWER_CONFIG_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_ADJUST_TX_POWER_RATE_TYPE
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_ADJUST_TX_POWER_RATE_POWER_VALUE
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_ADJUST_TX_POWER_CONFIG_MAX
        value: QCA_WLAN_VENDOR_ATTR_ADJUST_TX_POWER_CONFIG_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_adjust_tx_power_rate
      pos:
        line_end: 19651
        line_start: 19641
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_ADJUST_TX_POWER_CHAIN_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_ADJUST_TX_POWER_CHAIN_MAX
        value: QCA_WLAN_VENDOR_ATTR_ADJUST_TX_POWER_CHAIN_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_ADJUST_TX_POWER_CHAIN_RATE_CONFIG
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_ADJUST_TX_POWER_CHAIN_INDEX
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_ADJUST_TX_POWER_CHAIN_AFTER_LAST
      item_type: enum
      name: qca_wlan_vendor_attr_adjust_tx_power_chain_config
      pos:
        line_end: 19675
        line_start: 19666
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_ADJUST_TX_POWER_BAND_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_ADJUST_TX_POWER_BAND_MAX
        value: QCA_WLAN_VENDOR_ATTR_ADJUST_TX_POWER_BAND_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_ADJUST_TX_POWER_BAND_CHAIN_CONFIG
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_ADJUST_TX_POWER_BAND_INDEX
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_ADJUST_TX_POWER_BAND_AFTER_LAST
      item_type: enum
      name: qca_wlan_vendor_attr_adjust_tx_power_band_config
      pos:
        line_end: 19701
        line_start: 19692
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_ADJUST_TX_POWER_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_ADJUST_TX_POWER_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_ADJUST_TX_POWER_BAND_CONFIG
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_ADJUST_TX_POWER_MAX
        value: QCA_WLAN_VENDOR_ATTR_ADJUST_TX_POWER_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_adjust_tx_power
      pos:
        line_end: 19720
        line_start: 19712
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_SPECTRAL_DATA_TRANSPORT_NETLINK
        value: '0'
      - name: QCA_WLAN_VENDOR_SPECTRAL_DATA_TRANSPORT_RELAY
        value: '1'
      item_type: enum
      name: qca_wlan_vendor_spectral_data_transport_mode
      pos:
        line_end: 19734
        line_start: 19731
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_SPECTRAL_SCAN_COMPLETE_STATUS_SUCCESSFUL
        value: '0'
      - name: QCA_WLAN_VENDOR_SPECTRAL_SCAN_COMPLETE_STATUS_TIMEOUT
        value: '1'
      item_type: enum
      name: qca_wlan_vendor_spectral_scan_complete_status
      pos:
        line_end: 19749
        line_start: 19746
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_COMPLETE_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_COMPLETE_RECEIVED_SAMPLES
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_COMPLETE_MAX
        value: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_COMPLETE_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_COMPLETE_STATUS
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_COMPLETE_AFTER_LAST
      item_type: enum
      name: qca_wlan_vendor_attr_spectral_scan_complete
      pos:
        line_end: 19773
        line_start: 19765
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_ASYNC_GET_STATION_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_ASYNC_GET_STATION_MAX
        value: QCA_WLAN_VENDOR_ATTR_ASYNC_GET_STATION_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_ASYNC_GET_STATION_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_ASYNC_GET_STATION_CONFIG
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_ASYNC_GET_STATION_RESPONSE
        value: '2'
      item_type: enum
      name: qca_wlan_vendor_async_get_station_attr
      pos:
        line_end: 19798
        line_start: 19790
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_AP_SUSPEND_STATE_DISABLE
        value: '0'
      - name: QCA_WLAN_VENDOR_AP_SUSPEND_STATE_ENABLE
        value: '1'
      item_type: enum
      name: qca_wlan_vendor_ap_suspend_state
      pos:
        line_end: 19817
        line_start: 19814
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_AP_SUSPEND_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_AP_SUSPEND_STATE
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_AP_SUSPEND_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_AP_SUSPEND_MAX
        value: QCA_WLAN_VENDOR_ATTR_AP_SUSPEND_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_ap_suspend
      pos:
        line_end: 19832
        line_start: 19825
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_TRAFFIC_TYPE_STREAMING
        value: '0'
      - name: QCA_TRAFFIC_TYPE_GAMING
        value: '1'
      - name: QCA_TRAFFIC_TYPE_VIDEO_CALL
        value: '3'
      - name: QCA_TRAFFIC_TYPE_VOICE_CALL
        value: '2'
      - name: QCA_TRAFFIC_TYPE_SCREEN_SHARE
        value: '4'
      - name: QCA_TRAFFIC_TYPE_UNKNOWN
        value: '5'
      - name: QCA_TRAFFIC_TYPE_INVALID
        value: '6'
      - name: QCA_TRAFFIC_TYPE_BROWSING
        value: '7'
      - name: QCA_TRAFFIC_TYPE_APERIODIC_BURSTS
        value: '8'
      - name: QCA_TRAFFIC_TYPE_LIVESTREAM
        value: '9'
      item_type: enum
      name: qca_traffic_type
      pos:
        line_end: 19858
        line_start: 19847
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_FLOW_TUPLE_PROTO_UDP
        value: '0'
      - name: QCA_WLAN_VENDOR_FLOW_TUPLE_PROTO_TCP
        value: '1'
      item_type: enum
      name: qca_wlan_vendor_flow_tuple_proto
      pos:
        line_end: 19871
        line_start: 19868
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_FLOW_TUPLE_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_FLOW_TUPLE_IPV4_SRC_ADDR
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_FLOW_TUPLE_IPV6_SRC_ADDR
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_FLOW_TUPLE_IPV4_DST_ADDR
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_FLOW_TUPLE_IPV6_DST_ADDR
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_FLOW_TUPLE_SRC_PORT
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_FLOW_TUPLE_DST_PORT
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_FLOW_TUPLE_PROTOCOL
        value: '7'
      - name: QCA_WLAN_VENDOR_ATTR_FLOW_TUPLE_LAST
      - name: QCA_WLAN_VENDOR_ATTR_FLOW_TUPLE_MAX
        value: QCA_WLAN_VENDOR_ATTR_FLOW_TUPLE_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_flow_tuple
      pos:
        line_end: 19919
        line_start: 19905
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_TXRX_STATS_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_TXRX_STATS_PKT_SIZE_MIN
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_TXRX_STATS_NUM_PKTS
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_TXRX_STATS_NUM_BYTES
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_TXRX_STATS_PKT_SIZE_MAX
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_TXRX_STATS_PKT_IAT_MIN
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_TXRX_STATS_PKT_IAT_MAX
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_TXRX_STATS_PKT_IAT_SUM
        value: '7'
      - name: QCA_WLAN_VENDOR_ATTR_TXRX_STATS_LAST
      - name: QCA_WLAN_VENDOR_ATTR_TXRX_STATS_MAX
        value: QCA_WLAN_VENDOR_ATTR_TXRX_STATS_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_txrx_stats
      pos:
        line_end: 19967
        line_start: 19953
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_TXRX_SAMPLES_WINDOWS_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_TXRX_SAMPLES_WINDOWS_DL_STATS
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_TXRX_SAMPLES_WINDOWS_UL_STATS
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_TXRX_SAMPLES_WINDOWS_LAST
      - name: QCA_WLAN_VENDOR_ATTR_TXRX_SAMPLES_WINDOWS_WINDOW_SIZE
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_TXRX_SAMPLES_WINDOWS_MAX
        value: QCA_WLAN_VENDOR_ATTR_TXRX_SAMPLES_WINDOWS_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_txrx_samples_windows
      pos:
        line_end: 19994
        line_start: 19984
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_TXRX_SAMPLES_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_TXRX_SAMPLES_MAX
        value: QCA_WLAN_VENDOR_ATTR_TXRX_SAMPLES_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_TXRX_SAMPLES_WINDOWS
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_TXRX_SAMPLES_LAST
      item_type: enum
      name: qca_wlan_vendor_attr_txrx_samples
      pos:
        line_end: 20013
        line_start: 20005
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_BURST_STATS_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_BURST_STATS_BURST_SIZE_MIN
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_BURST_STATS_BURST_DURATION_MAX
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_BURST_STATS_BURST_DURATION_MIN
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_BURST_STATS_BURST_DURATION_SUM
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_BURST_STATS_BURST_SIZE_MAX
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_BURST_STATS_BURST_SIZE_SUM
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_BURST_STATS_BURST_COUNT
        value: '7'
      - name: QCA_WLAN_VENDOR_ATTR_BURST_STATS_LAST
      - name: QCA_WLAN_VENDOR_ATTR_BURST_STATS_MAX
        value: QCA_WLAN_VENDOR_ATTR_BURST_STATS_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_burst_stats
      pos:
        line_end: 20060
        line_start: 20046
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_BURST_SAMPLES_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_BURST_SAMPLES_UL_BURST_STATS
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_BURST_SAMPLES_TXRX_STATS
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_BURST_SAMPLES_LAST
      - name: QCA_WLAN_VENDOR_ATTR_BURST_SAMPLES_DL_BURST_STATS
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_BURST_SAMPLES_MAX
        value: QCA_WLAN_VENDOR_ATTR_BURST_SAMPLES_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_burst_sample
      pos:
        line_end: 20089
        line_start: 20079
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_FLOW_STATS_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_FLOW_STATS_TXRX_SAMPLES
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_FLOW_STATS_TRAFFIC_TYPE
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_FLOW_STATS_BURST_SAMPLES
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_FLOW_STATS_FLOW_TUPLE
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_FLOW_STATS_LAST
      - name: QCA_WLAN_VENDOR_ATTR_FLOW_STATS_MAX
        value: QCA_WLAN_VENDOR_ATTR_FLOW_STATS_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_flow_stats
      pos:
        line_end: 20130
        line_start: 20119
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_FLOW_CLASSIFY_RESULT_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_FLOW_CLASSIFY_RESULT_UL_TID
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_FLOW_CLASSIFY_RESULT_TRAFFIC_TYPE
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_FLOW_CLASSIFY_RESULT_INSIGHTS
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_FLOW_CLASSIFY_RESULT_FLOW_TUPLE
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_FLOW_CLASSIFY_RESULT_LAST
      - name: QCA_WLAN_VENDOR_ATTR_FLOW_CLASSIFY_RESULT_MAX
        value: QCA_WLAN_VENDOR_ATTR_FLOW_CLASSIFY_RESULT_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_flow_classify_result
      pos:
        line_end: 20165
        line_start: 20154
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_CLASSIFY_INSIGHTS_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_CLASSIFY_INSIGHTS_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_CLASSIFY_INSIGHTS_PROBABILITY
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_CLASSIFY_INSIGHTS_PROBABLE_TRAFFIC_TYPE
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_CLASSIFY_INSIGHTS_MAX
        value: QCA_WLAN_VENDOR_ATTR_CLASSIFY_INSIGHTS_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_classify_insights
      pos:
        line_end: 20188
        line_start: 20179
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_ASYNC_STATS_TYPE_POWERSAVE
        value: '0'
      - name: QCA_ASYNC_STATS_TYPE_CLASSIFIED_FLOW_STATS
        value: '2'
      - name: QCA_ASYNC_STATS_TYPE_FLOW_STATS
        value: '1'
      item_type: enum
      name: qca_async_stats_type
      pos:
        line_end: 20205
        line_start: 20201
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_ASYNC_STATS_ACTION_START
        value: '0'
      - name: QCA_ASYNC_STATS_ACTION_STOP
        value: '1'
      item_type: enum
      name: qca_async_stats_action
      pos:
        line_end: 20219
        line_start: 20216
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_ASYNC_STATS_POLICY_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_ASYNC_STATS_POLICY_ACTION
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_ASYNC_STATS_POLICY_STATS_TYPE
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_ASYNC_STATS_POLICY_LAST
      - name: QCA_WLAN_VENDOR_ATTR_ASYNC_STATS_POLICY_STATS_PERIODICITY
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_ASYNC_STATS_POLICY_MAX
        value: QCA_WLAN_VENDOR_ATTR_ASYNC_STATS_POLICY_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_async_stats_policy
      pos:
        line_end: 20248
        line_start: 20238
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_NSS_PKT_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_NSS_PKT_TX_PACKET_COUNT
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_NSS_PKT_RX_PACKET_COUNT
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_NSS_PKT_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_NSS_PKT_NSS_VALUE
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_NSS_PKT_MAX
        value: QCA_WLAN_VENDOR_ATTR_NSS_PKT_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_nss_pkt
      pos:
        line_end: 20274
        line_start: 20265
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_MCS_PKT_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_MCS_PKT_PAD
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_MCS_PKT_MCS_INDEX
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_MCS_PKT_RX_PACKET_COUNT
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_MCS_PKT_TX_PACKET_COUNT
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_MCS_PKT_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_MCS_PKT_MAX
        value: QCA_WLAN_VENDOR_ATTR_MCS_PKT_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_mcs_pkt
      pos:
        line_end: 20304
        line_start: 20294
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_BW_PKT_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_BW_PKT_RX_PACKET_COUNT
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_BW_PKT_TX_PACKET_COUNT
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_BW_PKT_PAD
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_BW_PKT_BW_CHAN_WIDTH
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_BW_PKT_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_BW_PKT_MAX
        value: QCA_WLAN_VENDOR_ATTR_BW_PKT_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_bw_pkt
      pos:
        line_end: 20335
        line_start: 20325
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_INTF_OFFLOAD_TYPE_NONE
        value: '0'
      - name: QCA_WLAN_INTF_OFFLOAD_TYPE_SFE
        value: '1'
      - name: QCA_WLAN_INTF_OFFLOAD_TYPE_PPE_DS
        value: '3'
      - name: QCA_WLAN_INTF_OFFLOAD_TYPE_ACTIVE_VP
        value: '2'
      item_type: enum
      name: qca_wlan_intf_offload_type
      pos:
        line_end: 20383
        line_start: 20378
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_USD_OP_TYPE_FLUSH
        value: '0'
      - name: QCA_WLAN_VENDOR_USD_OP_TYPE_PUBLISH
        value: '1'
      - name: QCA_WLAN_VENDOR_USD_OP_TYPE_UPDATE_PUBLISH
        value: '3'
      - name: QCA_WLAN_VENDOR_USD_OP_TYPE_SUBSCRIBE
        value: '2'
      - name: QCA_WLAN_VENDOR_USD_OP_TYPE_CANCEL_PUBLISH
        value: '4'
      - name: QCA_WLAN_VENDOR_USD_OP_TYPE_CANCEL_SUBSCRIBE
        value: '5'
      item_type: enum
      name: qca_wlan_vendor_attr_an_usd_op_type
      pos:
        line_end: 20418
        line_start: 20411
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_USD_SERVICE_PROTOCOL_TYPE_BONJOUR
        value: '1'
      - name: QCA_WLAN_VENDOR_USD_SERVICE_PROTOCOL_TYPE_CSA_MATTER
        value: '3'
      - name: QCA_WLAN_VENDOR_USD_SERVICE_PROTOCOL_TYPE_GENERIC
        value: '2'
      item_type: enum
      name: qca_wlan_vendor_attr_usd_service_protocol_type
      pos:
        line_end: 20437
        line_start: 20433
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_USD_CHAN_CONFIG_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_USD_CHAN_CONFIG_FREQ_LIST
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_USD_CHAN_CONFIG_DEFAULT_FREQ
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_USD_CHAN_CONFIG_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_USD_CHAN_CONFIG_MAX
        value: QCA_WLAN_VENDOR_ATTR_USD_CHAN_CONFIG_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_usd_chan_config
      pos:
        line_end: 20457
        line_start: 20449
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_USD_STATUS_SUCCESS
      - name: QCA_WLAN_VENDOR_ATTR_USD_STATUS_FAILED
      item_type: enum
      name: qca_wlan_vendor_attr_usd_status
      pos:
        line_end: 20468
        line_start: 20465
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_USD_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_USD_SRC_ADDR
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_USD_INSTANCE_ID
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_USD_OP_TYPE
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_USD_SERVICE_ID
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_USD_SERVICE_PROTOCOL_TYPE
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_USD_SSI
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_USD_CHAN_CONFIG
        value: '7'
      - name: QCA_WLAN_VENDOR_ATTR_USD_ELEMENT_CONTAINER
        value: '8'
      - name: QCA_WLAN_VENDOR_ATTR_USD_TTL
        value: '9'
      - name: QCA_WLAN_VENDOR_ATTR_USD_STATUS
        value: '10'
      - name: QCA_WLAN_VENDOR_ATTR_USD_MAX
        value: QCA_WLAN_VENDOR_ATTR_USD_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_USD_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_USD_NETWORK_ID
        value: '11'
      item_type: enum
      name: qca_wlan_vendor_attr_usd
      pos:
        line_end: 20547
        line_start: 20530
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_AUDIO_TRANSPORT_SWITCH_TYPE_NON_WLAN
        value: '0'
      - name: QCA_WLAN_AUDIO_TRANSPORT_SWITCH_TYPE_WLAN
        value: '1'
      item_type: enum
      name: qca_wlan_audio_transport_switch_type
      pos:
        line_end: 20562
        line_start: 20559
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_AUDIO_TRANSPORT_SWITCH_STATUS_REJECTED
        value: '0'
      - name: QCA_WLAN_AUDIO_TRANSPORT_SWITCH_STATUS_COMPLETED
        value: '1'
      item_type: enum
      name: qca_wlan_audio_transport_switch_status
      pos:
        line_end: 20584
        line_start: 20581
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_AUDIO_TRANSPORT_SWITCH_REASON_TERMINATING
        value: '0'
      item_type: enum
      name: qca_wlan_audio_transport_switch_reason
      pos:
        line_end: 20600
        line_start: 20598
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_AUDIO_TRANSPORT_SWITCH_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_AUDIO_TRANSPORT_SWITCH_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_AUDIO_TRANSPORT_SWITCH_STATUS
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_AUDIO_TRANSPORT_SWITCH_TYPE
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_AUDIO_TRANSPORT_SWITCH_REASON
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_AUDIO_TRANSPORT_SWITCH_MAX
        value: QCA_WLAN_VENDOR_ATTR_AUDIO_TRANSPORT_SWITCH_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_audio_transport_switch
      pos:
        line_end: 20633
        line_start: 20623
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_CONNECT_EXT_FEATURE_RSNO
        value: '0'
      - name: QCA_CONNECT_EXT_FEATURE_EXT_AUTH_EPPKE
        value: '1'
      - name: QCA_CONNECT_EXT_FEATURE_OKC_PMKID_IN_ASSOC
        value: '3'
      - name: QCA_CONNECT_EXT_FEATURE_EXT_AUTH_8021X
        value: '2'
      - name: NUM_QCA_CONNECT_EXT_FEATURES
      item_type: enum
      name: qca_wlan_connect_ext_features
      pos:
        line_end: 20674
        line_start: 20668
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_CONNECT_EXT_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_CONNECT_EXT_ALLOWED_BSSIDS
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_CONNECT_EXT_FEATURES
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_CONNECT_EXT_MAX
        value: QCA_WLAN_VENDOR_ATTR_CONNECT_EXT_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_CONNECT_EXT_AFTER_LAST
      item_type: enum
      name: qca_wlan_vendor_attr_connect_ext
      pos:
        line_end: 20696
        line_start: 20688
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_P2P_MODE_WFD_R1
        value: '0'
      - name: QCA_P2P_MODE_WFD_R2
        value: '1'
      - name: QCA_P2P_MODE_WFD_PCC
        value: '2'
      item_type: enum
      name: qca_wlan_vendor_p2p_mode
      pos:
        line_end: 20711
        line_start: 20707
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_SET_P2P_MODE_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_SET_P2P_MODE_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_SET_P2P_MODE_CONFIG
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_SET_P2P_MODE_MAX
        value: QCA_WLAN_VENDOR_ATTR_SET_P2P_MODE_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_set_p2p_mode
      pos:
        line_end: 20731
        line_start: 20724
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_CHAN_USAGE_REQ_CHAN_LIST_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_CHAN_USAGE_REQ_CHAN_LIST_MAX
        value: QCA_WLAN_VENDOR_ATTR_CHAN_USAGE_REQ_CHAN_LIST_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_CHAN_USAGE_REQ_CHAN_LIST_OP_CLASS
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_CHAN_USAGE_REQ_CHAN_LIST_CHAN
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_CHAN_USAGE_REQ_CHAN_LIST_AFTER_LAST
      item_type: enum
      name: qca_wlan_vendor_attr_chan_usage_req_chan_list
      pos:
        line_end: 20750
        line_start: 20742
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_CHAN_USAGE_MODE_UNAVAILABILITY_INDICATION
        value: '3'
      - name: QCA_CHAN_USAGE_MODE_CHANNEL_SWITCH_REQ
        value: '4'
      item_type: enum
      name: qca_wlan_vendor_attr_chan_usage_req_mode
      pos:
        line_end: 20766
        line_start: 20763
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_CHAN_USAGE_REQ_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_CHAN_USAGE_REQ_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_CHAN_USAGE_REQ_MODE
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_CHAN_USAGE_REQ_UNAVAILABILITY_CONFIG_PARAMS
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_CHAN_USAGE_REQ_CHAN_LIST
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_CHAN_USAGE_REQ_MAX
        value: QCA_WLAN_VENDOR_ATTR_CHAN_USAGE_REQ_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_chan_usage_req
      pos:
        line_end: 20811
        line_start: 20802
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_FW_SCAN_BSS_HT_OPS
        value: '0'
      - name: QCA_WLAN_FW_SCAN_BSS_EHT_OPS
        value: '3'
      - name: QCA_WLAN_FW_SCAN_BSS_HE_OPS
        value: '2'
      - name: QCA_WLAN_FW_SCAN_BSS_FTM_RESPONDER
        value: '4'
      - name: QCA_WLAN_FW_SCAN_BSS_VHT_OPS
        value: '1'
      - name: NUM_QCA_WLAN_FW_SCAN_BSS_FLAGS
      item_type: enum
      name: qca_wlan_fw_scan_bss_flags
      pos:
        line_end: 20848
        line_start: 20840
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_FW_SCAN_BSS_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_FW_SCAN_BSS_RSSI
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_FW_SCAN_BSS_BSSID
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_FW_SCAN_BSS_MS_AGO
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_FW_SCAN_BSS_SSID
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_FW_SCAN_BSS_CAPABILITY
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_FW_SCAN_BSS_FLAGS
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_FW_SCAN_BSS_PRIMARY_FREQ
        value: '7'
      - name: QCA_WLAN_VENDOR_ATTR_FW_SCAN_BSS_CHAN_WIDTH
        value: '8'
      - name: QCA_WLAN_VENDOR_ATTR_FW_SCAN_BSS_CENTER_FREQ1
        value: '9'
      - name: QCA_WLAN_VENDOR_ATTR_FW_SCAN_BSS_MAX
        value: QCA_WLAN_VENDOR_ATTR_FW_SCAN_BSS_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_FW_SCAN_BSS_CENTER_FREQ2
        value: '10'
      - name: QCA_WLAN_VENDOR_ATTR_FW_SCAN_BSS_AFTER_LAST
      item_type: enum
      name: qca_wlan_vendor_attr_fw_scan_bss
      pos:
        line_end: 20908
        line_start: 20892
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_FW_SCAN_REPORT_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_FW_SCAN_REPORT_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_FW_SCAN_REPORT_BSS_LIST
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_FW_SCAN_REPORT_TIMESTAMP
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_FW_SCAN_REPORT_FREQ_LIST
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_FW_SCAN_REPORT_MAX
        value: QCA_WLAN_VENDOR_ATTR_FW_SCAN_REPORT_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_fw_scan_report
      pos:
        line_end: 20938
        line_start: 20929
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_IDLE_SHUTDOWN_STARTED
        value: '0'
      - name: QCA_WLAN_IDLE_SHUTDOWN_COMPLETED
        value: '1'
      item_type: enum
      name: qca_wlan_idle_shutdown_status
      pos:
        line_end: 20951
        line_start: 20948
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_IDLE_SHUTDOWN_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_IDLE_SHUTDOWN_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_IDLE_SHUTDOWN_STATUS
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_IDLE_SHUTDOWN_MAX
        value: QCA_WLAN_VENDOR_ATTR_IDLE_SHUTDOWN_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_idle_shutdown
      pos:
        line_end: 20968
        line_start: 20961
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_PRI_LINK_MIGR_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_PRI_LINK_MIGR_CURRENT_PRI_LINK_ID
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_PRI_LINK_MIGR_MLD_MAC_ADDR
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_PRI_LINK_MIGR_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_PRI_LINK_MIGR_NEW_PRI_LINK_ID
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_PRI_LINK_MIGR_MAX
        value: QCA_WLAN_VENDOR_ATTR_PRI_LINK_MIGR_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_pri_link_migrate
      pos:
        line_end: 21000
        line_start: 20990
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_BTM_REQ_RESP_DEFAULT
        value: '0'
      - name: QCA_WLAN_BTM_REQ_RESP_REASSOC_FRAME
        value: '3'
      - name: QCA_WLAN_BTM_REQ_RESP_TTLM_FRAME
        value: '2'
      - name: QCA_WLAN_BTM_REQ_RESP_RECONFIG_FRAME
        value: '1'
      item_type: enum
      name: qca_wlan_vendor_btm_req_resp_type
      pos:
        line_end: 21017
        line_start: 21012
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_RECONFIG_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_RECONFIG_ADD_LINKS_BITMASK
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_RECONFIG_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_RECONFIG_DELETE_LINKS_BITMASK
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_RECONFIG_MAX
        value: QCA_WLAN_VENDOR_ATTR_RECONFIG_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_reconfig_frame_info
      pos:
        line_end: 21037
        line_start: 21029
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_BTM_REQ_RESP_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_BTM_REQ_RESP_TTLM_MAP
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_BTM_REQ_RESP_RECONFIG_FRAME_INFO
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_BTM_REQ_RESP_TYPE
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_BTM_REQ_RESP_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_BTM_REQ_RESP_MAX
        value: QCA_WLAN_VENDOR_ATTR_BTM_REQ_RESP_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_btm_req_resp
      pos:
        line_end: 21072
        line_start: 21063
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_PROBE_RSP_CFG_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_PROBE_RSP_CFG_PERIOD
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_PROBE_RSP_CFG_PEER_MAC_ADDR
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_PROBE_RESP_CFG_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_PROBE_RSP_CFG_COUNT
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_PROBE_RESP_CFG_MAX
        value: QCA_WLAN_VENDOR_ATTR_PROBE_RESP_CFG_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_periodic_probe_rsp_cfg
      pos:
        line_end: 21108
        line_start: 21099
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_FLOW_STATUS_UPDATE_PAUSE
        value: '0'
      - name: QCA_FLOW_STATUS_UPDATE_DELETE
        value: '2'
      - name: QCA_FLOW_STATUS_UPDATE_RESUME
        value: '1'
      item_type: enum
      name: qca_flow_status_update_type
      pos:
        line_end: 21121
        line_start: 21117
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_FLOW_STATUS_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_FLOW_STATUS_LAST
      - name: QCA_WLAN_VENDOR_ATTR_FLOW_STATUS_UPDATE_TYPE
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_FLOW_STATUS_TUPLE
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_FLOW_STATUS_TRAFFIC_TYPE
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_FLOW_STATUS_MAX
        value: QCA_WLAN_VENDOR_ATTR_FLOW_STATUS_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_flow_status
      pos:
        line_end: 21149
        line_start: 21139
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_IQ_DATA_INFERENCE_BW
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_IQ_DATA_INFERENCE_MCS
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_IQ_DATA_INFERENCE_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_IQ_DATA_INFERENCE_COOKIE
        value: '14'
      - name: QCA_WLAN_VENDOR_ATTR_IQ_DATA_INFERENCE_MASK_MARGIN
        value: '10'
      - name: QCA_WLAN_VENDOR_ATTR_IQ_DATA_INFERENCE_MAX
        value: QCA_WLAN_VENDOR_ATTR_IQ_DATA_INFERENCE_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_IQ_DATA_INFERENCE_CMD_TYPE
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_IQ_DATA_INFERENCE_CENTER_FREQ_2
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_IQ_DATA_INFERENCE_EVM
        value: '9'
      - name: QCA_WLAN_VENDOR_ATTR_IQ_DATA_INFERENCE_STATUS
        value: '13'
      - name: QCA_WLAN_VENDOR_ATTR_IQ_DATA_INFERENCE_TX_CHAIN_IDX
        value: '17'
      - name: QCA_WLAN_VENDOR_ATTR_IQ_DATA_INFERENCE_CENTER_FREQ_1
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_IQ_DATA_INFERENCE_STAGE
        value: '8'
      - name: QCA_WLAN_VENDOR_ATTR_IQ_DATA_INFERENCE_TX_POWER
        value: '16'
      - name: QCA_WLAN_VENDOR_ATTR_IQ_DATA_INFERENCE_SAMPLE_SIZE
        value: '12'
      - name: QCA_WLAN_VENDOR_ATTR_IQ_DATA_INFERENCE_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_IQ_DATA_INFERENCE_CHANNEL_FREQ
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_IQ_DATA_INFERENCE_TEMPERATURE
        value: '7'
      - name: QCA_WLAN_VENDOR_ATTR_IQ_DATA_INFERENCE_PHY_MODE
        value: '11'
      - name: QCA_WLAN_VENDOR_ATTR_IQ_DATA_INFERENCE_PAD
        value: '15'
      item_type: enum
      name: qca_wlan_vendor_attr_iq_data_inference
      pos:
        line_end: 21269
        line_start: 21245
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_IQ_INFERENCE_CMD_APP_START
        value: '0'
      - name: QCA_WLAN_VENDOR_IQ_INFERENCE_CMD_APP_STOP
        value: '1'
      - name: QCA_WLAN_VENDOR_IQ_INFERENCE_CMD_FAILURE
        value: '3'
      - name: QCA_WLAN_VENDOR_IQ_INFERENCE_CMD_RESULT
        value: '2'
      item_type: enum
      name: qca_wlan_vendor_iq_inference_cmd_type
      pos:
        line_end: 21293
        line_start: 21288
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_IQ_INFERENCE_STAGE_FIRST_PASS
        value: '0'
      - name: QCA_WLAN_VENDOR_IQ_INFERENCE_STAGE_SECOND_PASS
        value: '1'
      - name: QCA_WLAN_VENDOR_IQ_INFERENCE_STAGE_FOURTH_PASS
        value: '3'
      - name: QCA_WLAN_VENDOR_IQ_INFERENCE_STAGE_THIRD_PASS
        value: '2'
      item_type: enum
      name: qca_wlan_vendor_iq_inference_stage
      pos:
        line_end: 21315
        line_start: 21310
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_IQ_INFERENCE_STATUS_START_INFERENCE
        value: '0'
      - name: QCA_WLAN_VENDOR_IQ_INFERENCE_STATUS_COMPLETE
        value: '2'
      - name: QCA_WLAN_VENDOR_IQ_INFERENCE_STATUS_ABORT
        value: '1'
      item_type: enum
      name: qca_wlan_vendor_iq_inference_status
      pos:
        line_end: 21335
        line_start: 21331
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_P2P_SET_NOA_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_P2P_SET_NOA_INTERVAL
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_P2P_SET_NOA_START
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_P2P_SET_NOA_COUNT
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_P2P_SET_NOA_DURATION
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_P2P_SET_GO_CANCEL_ONE_SHOT_NOA
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_P2P_SET_GC_KEEP_AWAKE_DURING_ONE_SHOT_NOA
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_P2P_SET_NOA_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_P2P_SET_NOA_MAX
        value: QCA_WLAN_VENDOR_ATTR_P2P_SET_NOA_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_p2p_set_noa
      pos:
        line_end: 21430
        line_start: 21417
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_WLAN_TELEMETRY_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_WLAN_TELEMETRY_FEATURE
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_WLAN_TELEMETRY_OBJECT
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_WLAN_TELEMETRY_REQUEST_ID
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_WLAN_TELEMETRY_STA_MAC
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_WLAN_TELEMETRY_LINK_ID
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_WLAN_TELEMETRY_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_WLAN_TELEMETRY_MAX
        value: QCA_WLAN_VENDOR_ATTR_WLAN_TELEMETRY_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_wlan_telemetry
      pos:
        line_end: 21476
        line_start: 21465
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_WLAN_TELEMETRY_OBJ_STA
        value: '1'
      - name: QCA_WLAN_VENDOR_WLAN_TELEMETRY_OBJ_DEVICE
        value: '4'
      - name: QCA_WLAN_VENDOR_WLAN_TELEMETRY_OBJ_RADIO
        value: '3'
      - name: QCA_WLAN_VENDOR_WLAN_TELEMETRY_OBJ_VDEV
        value: '2'
      item_type: enum
      name: qca_wlan_vendor_wlan_telemetry_obj_type
      pos:
        line_end: 21505
        line_start: 21500
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_WLAN_TELEMETRY_FEAT_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_WLAN_TELEMETRY_FEAT_RX
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_WLAN_TELEMETRY_FEAT_TX
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_WLAN_TELEMETRY_FEAT_MAX
        value: QCA_WLAN_VENDOR_ATTR_WLAN_TELEMETRY_FEAT_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_WLAN_TELEMETRY_FEAT_AFTER_LAST
      item_type: enum
      name: qca_wlan_vendor_attr_wlan_telemetry_feat_type
      pos:
        line_end: 21528
        line_start: 21520
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_WLAN_TELEMETRY_EVENT_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_WLAN_TELEMETRY_EVENT_OBJECT
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_WLAN_TELEMETRY_EVENT_REQUEST_ID
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_WLAN_TELEMETRY_EVENT_LINK_ID
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_WLAN_TELEMETRY_EVENT_RX_STATS
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_WLAN_TELEMETRY_EVENT_TX_STATS
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_WLAN_TELEMETRY_EVENT_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_WLAN_TELEMETRY_EVENT_MAX
        value: QCA_WLAN_VENDOR_ATTR_WLAN_TELEMETRY_EVENT_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_wlan_telemetry_event_reply
      pos:
        line_end: 21573
        line_start: 21562
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_WLAN_TELEMETRY_RX_STATS_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_WLAN_TELEMETRY_RX_STATS_REO_ERR_EVENT
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_WLAN_TELEMETRY_RX_STATS_REO_SW_DROP_RSN
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_WLAN_TELEMETRY_RX_STATS_RXDMA_ERR_EVENT
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_WLAN_TELEMETRY_RX_STATS_WBM_SW_DROP_RSN
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_WLAN_TELEMETRY_RX_STATS_PER_PKT_STATS
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_WLAN_TELEMETRY_RX_STATS_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_WLAN_TELEMETRY_RX_STATS_MAX
        value: QCA_WLAN_VENDOR_ATTR_WLAN_TELEMETRY_RX_STATS_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_wlan_telemetry_rx_stats_types
      pos:
        line_end: 21627
        line_start: 21616
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_TX_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_TX_COMP_ERR
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_TX_INGRESS_STATS
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_TX_PER_PKT_STATS
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_TX_STATS_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_TX_STATS_MAX
        value: QCA_WLAN_VENDOR_ATTR_TELEMETRY_TX_STATS_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_telemetry_tx_stats_types
      pos:
        line_end: 21673
        line_start: 21664
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_TCL_RING_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_TCL_RING_3
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_TCL_RING_0
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_TCL_RING_2
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_TCL_RING_1
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_TCL_RING_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_TCL_RING_MAX
        value: QCA_WLAN_VENDOR_ATTR_TELEMETRY_TCL_RING_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_telemetry_tcl_ring_attr
      pos:
        line_end: 21710
        line_start: 21700
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_REO_RING_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_REO_RING_1
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_REO_RING_0
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_REO_RING_3
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_REO_RING_2
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_REO_RING_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_REO_RING_MAX
        value: QCA_WLAN_VENDOR_ATTR_TELEMETRY_REO_RING_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_telemetry_reo_ring_attr
      pos:
        line_end: 21747
        line_start: 21737
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_RXDMA_ERR_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_RXDMA_ERR_FCS
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_RXDMA_ERR_MSDU_LEN
        value: '7'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_RXDMA_AMSDU_FRAGMENT
        value: '15'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_RXDMA_ERR_SA_TIMEOUT
        value: '11'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_RXDMA_ERR_GCAST_AMSDU_OR_WDS
        value: '19'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_RXDMA_ERR_MAX
        value: QCA_WLAN_VENDOR_ATTR_TELEMETRY_RXDMA_ERR_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_RXDMA_ERR_MPDU_LENGTH
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_RXDMA_ERR_UNENCRYPTED
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_RXDMA_ERR_AMSDU_PARSE
        value: '10'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_RXDMA_ERR_FLUSH_REQUEST
        value: '14'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_RXDMA_ERR_UNAUTH_WDS
        value: '18'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_RXDMA_ERR_OVERFLOW
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_RXDMA_ERR_TKIP_MIC
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_RXDMA_ERR_WIFI_PARSE
        value: '9'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_RXDMA_ERR_AMSDU_ADDR_MISMATCH
        value: '17'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_RXDMA_ERR_FLOW_TIMEOUT
        value: '13'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_RXDMA_ERR_DECRYPT
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_RXDMA_ERR_MSDU_LIMIT
        value: '8'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_RXDMA_MULTICAST_ECHO
        value: '16'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_RXDMA_ERR_DA_TIMEOUT
        value: '12'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_RXDMA_ERR_AFTER_LAST
      item_type: enum
      name: qca_wlan_vendor_attr_wlan_telemetry_rxdma_error_types
      pos:
        line_end: 21839
        line_start: 21814
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_REO_ERR_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_REO_ERR_QUEUE_DESC_INVALID
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_REO_ERR_NON_BA_DUPLICATE
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_REO_ERR_QUEUE_DESC_ADDR_0
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_REO_ERR_AMPDU_IN_NON_BA
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_REO_ERR_BA_DUPLICATE
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_REO_ERR_REGULAR_FRAME_2K_JUMP
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_REO_ERR_BAR_FRAME_2K_JUMP
        value: '7'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_REO_ERR_REGULAR_FRAME_OOR
        value: '8'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_REO_ERR_BAR_FRAME_OOR
        value: '9'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_REO_ERR_PN_CHECK_FAILED
        value: '12'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_REO_ERR_2K_ERROR_HANDLING_FLAG_SET
        value: '13'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_REO_ERR_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_REO_ERR_MAX
        value: QCA_WLAN_VENDOR_ATTR_TELEMETRY_REO_ERR_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_REO_ERR_PN_ERROR_HANDLING_FLAG_SET
        value: '14'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_REO_ERR_BAR_FRAME_NO_BA_SESSION
        value: '10'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_REO_ERR_QUEUE_DESC_BLOCKED_SET
        value: '15'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_REO_ERR_BAR_FRAME_SN_EQUALS_SSN
        value: '11'
      item_type: enum
      name: qca_wlan_vendor_attr_wlan_telemetry_reo_error_types
      pos:
        line_end: 21923
        line_start: 21902
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_WBM_DROP_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_WBM_DROP_DESC_ERR
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_WBM_DROP_INVAL_COOKIE
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_WBM_DROP_PROC_NA_PTNR_DP
        value: '9'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_WBM_DROP_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_WBM_DROP_SCATTER_GATHER
        value: '13'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_WBM_DROP_DESC_PARSE_ERR
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_WBM_DROP_PTNR_DP_NA
        value: '8'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_WBM_DROP_CAC_RUNNING
        value: '12'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_WBM_DROP_MAX
        value: QCA_WLAN_VENDOR_ATTR_TELEMETRY_WBM_DROP_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_WBM_DROP_RXDMA_GENERIC
        value: '16'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_WBM_DROP_INVAL_PEER_ID
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_WBM_DROP_INVAL_HW_ID
        value: '7'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_WBM_DROP_REO_GENERIC
        value: '15'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_WBM_DROP_NULL_AR
        value: '11'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_WBM_DROP_CK_ERR
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_WBM_DROP_INVAL_PUSH_RSN
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_WBM_DROP_NULL_PDEV
        value: '10'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_WBM_DROP_INVAL_NWIFI_HLEN
        value: '14'
      item_type: enum
      name: qca_wlan_vendor_attr_telemetry_rx_wbm_sw_drop_reason
      pos:
        line_end: 22003
        line_start: 21981
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_REO_DROP_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_REO_DROP_DESC_ERR
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_REO_DROP_CK_ERR
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_REO_DROP_MISC
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_REO_DROP_REPLENISH
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_REO_DROP_PTNR_DP_NA
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_REO_DROP_PDEV_NA
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_REO_DROP_LAST_MSDU_NA
        value: '7'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_REO_DROP_NWIFI_HLEN_INVAL
        value: '8'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_REO_DROP_INVAL_MSDU_LEN
        value: '9'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_REO_DROP_MPDU
        value: '11'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_REO_DROP_MAX
        value: QCA_WLAN_VENDOR_ATTR_TELEMETRY_REO_DROP_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_REO_DROP_PPDU
        value: '12'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_REO_DROP_INVAL_PEER
        value: '13'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_REO_DROP_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_REO_DROP_MSDU_COAL_FAIL
        value: '10'
      item_type: enum
      name: qca_wlan_vendor_attr_telemetry_reo_sw_drop_reason
      pos:
        line_end: 22074
        line_start: 22055
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_PPKT_RX_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_PPKT_RX_TO_STK
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_PPKT_RX_FROM_REO
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_PPKT_RX_MCAST
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_PPKT_RX_TO_STK_FAST
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_PPKT_RX_UCAST
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_PPKT_RX_NON_AMSDU
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_PPKT_RX_MSDU_IN_AMSDU
        value: '7'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_PPKT_RX_MPDU_RETRY
        value: '8'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_PPKT_STATS_RX_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_PPKT_STATS_RX_MAX
        value: QCA_WLAN_VENDOR_ATTR_TELEMETRY_PPKT_STATS_RX_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_telemetry_per_pkt_stats_rx_types
      pos:
        line_end: 22128
        line_start: 22113
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_TXCOMP_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_TXCOMP_INVAL_PDEV
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_TXCOMP_INVAL_DESC
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_TXCOMP_MISC
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_TXCOMP_INVAL_VIF
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_TXCOMP_INVAL_PEER
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_TXCOMP_INVAL_LINK_PEER
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_TXCOMP_DESC_INUSE
        value: '7'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_TXCOMP_ERR_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_TXCOMP_ERR_MAX
        value: QCA_WLAN_VENDOR_ATTR_TELEMETRY_TXCOMP_ERR_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_telemetry_tx_comp_err_types
      pos:
        line_end: 22173
        line_start: 22160
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_TELEMETRY_ATTR_PKTINFO_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_TELEMETRY_ATTR_PKTINFO_MAX
        value: QCA_WLAN_VENDOR_TELEMETRY_ATTR_PKTINFO_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_TELEMETRY_ATTR_PKTINFO_AFTER_LAST
      - name: QCA_WLAN_VENDOR_TELEMETRY_ATTR_PKTINFO_BYTES
        value: '2'
      - name: QCA_WLAN_VENDOR_TELEMETRY_ATTR_PKTINFO_PKTS
        value: '1'
      item_type: enum
      name: qca_wlan_vendor_attr_telemetry_pktinfo
      pos:
        line_end: 22193
        line_start: 22185
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_ING_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_ING_PKT_TO_HW
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_ING_ENCAP_TYPE
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_ING_PKT_FROM_STK
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_ING_PKT_TO_HW_FAST
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_ING_ENCRYPT_TYPE
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_ING_DESC_TYPE
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_ING_DROP_TYPE
        value: '7'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_ING_MCAST
        value: '8'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_ING_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_ING_MAX
        value: QCA_WLAN_VENDOR_ATTR_TELEMETRY_ING_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_telemetry_ingress_stats
      pos:
        line_end: 22251
        line_start: 22237
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_ENCAP_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_ENCAP_ETH
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_ENCAP_NWIFI
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_ENCAP_RAW
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_ENCAP_802_3
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_ENCAP_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_ENCAP_MAX
        value: QCA_WLAN_VENDOR_ATTR_TELEMETRY_ENCAP_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_telemetry_ingress_encap_type
      pos:
        line_end: 22279
        line_start: 22269
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_ENC_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_ENC_WAPI
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_ENC_TKIP_MIC
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_ENC_CCMP_128
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_ENC_TKIP_NO_MIC
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_ENC_OPEN
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_ENC_CCMP_256
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_ENC_GCMP_128
        value: '7'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_ENC_GCMP_256
        value: '8'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_ENC_WAPI_GCM_SM4
        value: '9'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_ENC_MAX
        value: QCA_WLAN_VENDOR_ATTR_TELEMETRY_ENC_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_ENC_AFTER_LAST
      item_type: enum
      name: qca_wlan_vendor_attr_telemetry_ingress_encrypt_type
      pos:
        line_end: 22327
        line_start: 22312
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_DESC_TYPE_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_DESC_TYPE_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_DESC_TYPE_EXT_DESC
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_DESC_TYPE_MAX
        value: QCA_WLAN_VENDOR_ATTR_TELEMETRY_DESC_TYPE_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_DESC_TYPE_BUF
        value: '1'
      item_type: enum
      name: qca_wlan_vendor_attr_telemetry_ingress_desc_type
      pos:
        line_end: 22347
        line_start: 22339
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_ENQ_VIF_TYPE_MON
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_ENQ_MAX_TX_LIMIT
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_ENQ_INV_PEER
        value: '8'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_ENQ_ENCAP_RAW
        value: '12'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_ENQ_HTT_MDATA_ERR
        value: '16'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_ENQ_INV_PDEV_FAST
        value: '20'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_ENQ_ARSTA_NA
        value: '24'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_ENQ_ERR_MAX
        value: QCA_WLAN_VENDOR_ATTR_TELEMETRY_ENQ_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_ENQ_MISC
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_ENQ_MGMT_FRAME
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_ENQ_INV_PDEV
        value: '7'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_ENQ_EXT_DESC_NA
        value: '15'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_ENQ_SW_DESC_NA
        value: '11'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_ENQ_INV_ARVIF_FAST
        value: '19'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_ENQ_BRIDGE_VDEV
        value: '23'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_ENQ_INV_ARVIF
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_ENQ_NON_DATA_FRAME
        value: '10'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_ENQ_TCL_DESC_RETRY
        value: '18'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_ENQ_DMA_ERR
        value: '14'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_ENQ_INV_ENCAP_FAST
        value: '22'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_ENQ_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_ENQ_INV_LINK
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_ENQ_CACHE_FLUSH
        value: '9'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_ENQ_TCL_DESC_NA
        value: '17'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_ENQ_ENCAP_802_3
        value: '13'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_ENQ_MAX_TXLIMIT_FAST
        value: '21'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_ENQ_AFTER_LAST
      item_type: enum
      name: qca_wlan_vendor_attr_telemetry_ingress_enqueue_error_types
      pos:
        line_end: 22465
        line_start: 22435
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_PPKT_TX_COMP_PKT
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_PPKT_TX_TQM_REL_RSN
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_PPKT_TX_MULTI_RETRY_CNT
        value: '9'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_PPKT_TX_INVAL_LINK_ID
        value: '13'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_PPKT_TX_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_PPKT_TX_MAX
        value: QCA_WLAN_VENDOR_ATTR_TELEMETRY_PPKT_TX_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_PPKT_TX_WBM_REL_RSN
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_PPKT_TX_TOTAL_MSDU_RETRY
        value: '8'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_PPKT_TX_NON_AMSDU_CNT
        value: '12'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_PPKT_TX_BCAST
        value: '16'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_PPKT_TX_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_PPKT_TX_FAILED
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_PPKT_TX_RETRY_COUNT
        value: '7'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_PPKT_TX_AMSDU_CNT
        value: '11'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_PPKT_TX_UCAST
        value: '15'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_PPKT_TX_SUCCESS
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_PPKT_TX_REL_SRC_NOT_TQM
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_PPKT_TX_OFDMA
        value: '10'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_PPKT_TX_MCAST
        value: '14'
      item_type: enum
      name: qca_wlan_vendor_attr_telemetry_per_pkt_tx_stats
      pos:
        line_end: 22556
        line_start: 22533
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_HTT_TXCOMP_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_HTT_TXCOMP_REINJ
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_HTT_TXCOMP_TTL
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_HTT_TXCOMP_OK
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_HTT_TXCOMP_DROP
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_HTT_TXCOMP_INSPECT
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_HTT_TXCOMP_MEC_NOTIFY
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_HTT_TXCOMP_VDEVID_MISMATCH
        value: '7'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_HTT_TXCOMP_STATUS_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_HTT_TXCOMP_STATUS_MAX
        value: QCA_WLAN_VENDOR_ATTR_TELEMETRY_HTT_TXCOMP_STATUS_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_telemetry_htt_tx_comp_status
      pos:
        line_end: 22604
        line_start: 22590
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_TQM_REL_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_TQM_REL_CMD_REM_MPDU
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_TQM_REL_FRAME_ACKED
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_TQM_REL_CMD_REM_TX
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_TQM_REL_CMD_REM_NOTX
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_TQM_REL_CMD_REM_AGED
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_TQM_REL_CMD_REM_RSN1
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_TQM_REL_CMD_REM_RSN2
        value: '7'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_TQM_REL_CMD_REM_RSN3
        value: '8'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_TQM_REL_CMD_QUE_DISABLE
        value: '9'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_TQM_REL_CMD_TILL_NONMATCH
        value: '10'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_TQM_REL_DROP_OR_INVAL_MSDU
        value: '13'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_TQM_REL_MAX
        value: QCA_WLAN_VENDOR_ATTR_TELEMETRY_TQM_REL_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_TQM_REL_MCAST_DROP
        value: '14'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_TQM_REL_VDEV_MISMATCH
        value: '15'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_TQM_REL_DROP_THRESHOLD
        value: '11'
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_TQM_REL_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_TELEMETRY_TQM_REL_DROP_LINK_DESC_NA
        value: '12'
      item_type: enum
      name: qca_wlan_vendor_attr_telemetry_tqm_rel_reason_types
      pos:
        line_end: 22686
        line_start: 22664
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_STATE_CHANGE_REASON_VDEV_UP
        value: '0'
      - name: QCA_WLAN_VENDOR_STATE_CHANGE_REASON_CAPACITY
        value: '4'
      - name: QCA_WLAN_VENDOR_STATE_CHANGE_REASON_LOW_QUALITY
        value: '3'
      - name: QCA_WLAN_VENDOR_STATE_CHANGE_REASON_LOW_RSSI
        value: '1'
      - name: QCA_WLAN_VENDOR_STATE_CHANGE_REASON_BMISS
        value: '2'
      - name: QCA_WLAN_VENDOR_STATE_CHANGE_REASON_ULL_MODE
        value: '5'
      - name: QCA_WLAN_VENDOR_STATE_CHANGE_REASON_T2LM
        value: '6'
      - name: QCA_WLAN_VENDOR_STATE_CHANGE_REASON_FORCED
        value: '7'
      - name: QCA_WLAN_VENDOR_STATE_CHANGE_REASON_BT_STATUS
        value: '8'
      - name: QCA_WLAN_VENDOR_STATE_CHANGE_REASON_UNKNOWN
        value: '9'
      - name: QCA_WLAN_VENDOR_STATE_CHANGE_REASON_USER_LINK_SWITCH
        value: '10'
      item_type: enum
      name: qca_wlan_vendor_link_state_change_reason
      pos:
        line_end: 22732
        line_start: 22720
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_LINK_STATE_CHANGE_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_LINK_STATE_CHANGE_INACTIVE_LINK_BITMAP
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_LINK_STATE_CHANGE_ACTIVE_LINK_BITMAP
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_LINK_STATE_CHANGE_PEER_MLD_MAC
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_LINK_STATE_CHANGE_REASON
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_LINK_STATE_CHANGE_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_LINK_STATE_CHANGE_MAX
        value: QCA_WLAN_VENDOR_ATTR_LINK_STATE_CHANGE_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_link_state_change
      pos:
        line_end: 22765
        line_start: 22755
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_DAR_LATENCY_REPORT_HISTOGRAM
        value: '0'
      - name: QCA_WLAN_DAR_LATENCY_REPORT_PERCENTILE
        value: '1'
      - name: QCA_WLAN_DAR_LATENCY_REPORT_NO_PREF
        value: '2'
      item_type: enum
      name: qca_wlan_dar_latency_report
      pos:
        line_end: 22787
        line_start: 22783
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_DAR_REPORT_GRANULARITY_TID
        value: '0'
      - name: QCA_WLAN_DAR_REPORT_GRANULARITY_AGGREGATED_AC
        value: '2'
      - name: QCA_WLAN_DAR_REPORT_GRANULARITY_AC
        value: '1'
      item_type: enum
      name: qca_wlan_dar_report_granularity
      pos:
        line_end: 22811
        line_start: 22807
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_DAR_LINK_GRANULARITY_DEVICE_LEVEL
        value: '0'
      - name: QCA_WLAN_DAR_LINK_GRANULARITY_PER_LINK
        value: '1'
      item_type: enum
      name: qca_wlan_dar_link_granularity
      pos:
        line_end: 22833
        line_start: 22830
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_DAR_STATS_LATENCY_ATTR_INVALID
        value: '0'
      - name: QCA_WLAN_DAR_STATS_LATENCY_ATTR_REPORT_GRANULARITY
        value: '2'
      - name: QCA_WLAN_DAR_STATS_LATENCY_ATTR_REPORT_TYPE
        value: '1'
      - name: QCA_WLAN_DAR_STATS_LATENCY_ATTR_THRESHOLDS
        value: '4'
      - name: QCA_WLAN_DAR_STATS_LATENCY_ATTR_LINK_GRANULARITY
        value: '3'
      - name: QCA_WLAN_DAR_STATS_LATENCY_ATTR_AFTER_LAST
      - name: QCA_WLAN_DAR_STATS_LATENCY_ATTR_MAX
        value: QCA_WLAN_DAR_STATS_LATENCY_ATTR_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_dar_stats_latency_attr
      pos:
        line_end: 22871
        line_start: 22860
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_DAR_RADIO_COUNTERS_TRANSMIT_POWER_FIELD
        value: BIT(0)
      - name: QCA_WLAN_DAR_RADIO_COUNTERS_FCS_FAILURE_FIELD
        value: BIT(4)
      - name: QCA_WLAN_DAR_RADIO_COUNTERS_RTS_STATISTICS_FIELD
        value: BIT(3)
      - name: QCA_WLAN_DAR_RADIO_COUNTERS_MPDU_COUNT_STATISTICS_FIELD
        value: BIT(2)
      - name: QCA_WLAN_DAR_RADIO_COUNTERS_OBSERVED_CU_FRACTION_FIELD
        value: BIT(1)
      - name: QCA_WLAN_DAR_RADIO_COUNTERS_THRESHOLD_FIELDS_PRESENT
        value: BIT(5)
      item_type: enum
      name: qca_wlan_dar_radio_counter_fields
      pos:
        line_end: 22904
        line_start: 22897
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_DAR_OBSERVED_CU_FRACTIONAL_ATTR_INVALID
        value: '0'
      - name: QCA_WLAN_DAR_OBSERVED_CU_FRACTIONAL_ATTR_AFTER_LAST
      - name: QCA_WLAN_DAR_OBSERVED_CU_FRACTIONAL_ATTR_MAX
        value: QCA_WLAN_DAR_OBSERVED_CU_FRACTIONAL_ATTR_AFTER_LAST - 1
      - name: QCA_WLAN_DAR_OBSERVED_CU_FRACTIONAL_ATTR_THRESHOLDS
        value: '2'
      - name: QCA_WLAN_DAR_OBSERVED_CU_FRACTIONAL_ATTR_LINK_GRANULARITY
        value: '1'
      item_type: enum
      name: qca_wlan_dar_observed_cu_fractional_fields_attr
      pos:
        line_end: 22929
        line_start: 22920
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_DAR_MPDU_COUNT_STATS_ATTR_INVALID
        value: '0'
      - name: QCA_WLAN_DAR_MPDU_COUNT_STATS_ATTR_LINK_GRANULARITY
        value: '2'
      - name: QCA_WLAN_DAR_MPDU_COUNT_STATS_ATTR_REPORT_GRANULARITY
        value: '1'
      - name: QCA_WLAN_DAR_MPDU_COUNT_STATS_AFTER_LAST
      - name: QCA_WLAN_DAR_MPDU_COUNT_STATS_ATTR_THRESHOLDS
        value: '3'
      - name: QCA_WLAN_DAR_MPDU_COUNT_STATS_MAX
        value: QCA_WLAN_DAR_MPDU_COUNT_STATS_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_dar_mpdu_count_stats_field_attr
      pos:
        line_end: 22962
        line_start: 22952
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_DAR_FCS_FAILURE_ATTR_INVALID
        value: '0'
      - name: QCA_WLAN_DAR_FCS_FAILURE_ATTR_LINK_GRANULARITY
        value: '1'
      - name: QCA_WLAN_DAR_FCS_FAILURE_ATTR_AFTER_LAST
      - name: QCA_WLAN_DAR_FCS_FAILURE_ATTR_MAX
        value: QCA_WLAN_DAR_FCS_FAILURE_ATTR_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_dar_fcs_failure_fields_attr
      pos:
        line_end: 22981
        line_start: 22973
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_DAR_RTS_STATS_ATTR_INVALID
        value: '0'
      - name: QCA_WLAN_DAR_RTS_STATS_ATTR_AFTER_LAST
      - name: QCA_WLAN_DAR_RTS_STATS_ATTR_THRESHOLDS
        value: '3'
      - name: QCA_WLAN_DAR_RTS_STATS_ATTR_REPORT_GRANULARITY
        value: '1'
      - name: QCA_WLAN_DAR_RTS_STATS_ATTR_LINK_GRANULARITY
        value: '2'
      - name: QCA_WLAN_DAR_RTS_STATS_ATTR_MAX
        value: QCA_WLAN_DAR_RTS_STATS_ATTR_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_dar_rts_stats_field_attr
      pos:
        line_end: 23014
        line_start: 23004
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_DAR_RADIO_COUNTERS_ATTR_INVALID
        value: '0'
      - name: QCA_WLAN_DAR_RADIO_COUNTERS_ATTR_OBSERVED_CU_FRACTIONAL
        value: '2'
      - name: QCA_WLAN_DAR_RADIO_COUNTERS_ATTR_RTS_STATS
        value: '4'
      - name: QCA_WLAN_DAR_RADIO_COUNTERS_ATTR_PRESENCE_BITMAP
        value: '1'
      - name: QCA_WLAN_DAR_RADIO_COUNTERS_ATTR_MPDU_COUNT_STATS
        value: '3'
      - name: QCA_WLAN_DAR_RADIO_COUNTERS_ATTR_FCS_FAILURE
        value: '5'
      - name: QCA_WLAN_DAR_RADIO_COUNTERS_ATTR_AFTER_LAST
      - name: QCA_WLAN_DAR_RADIO_COUNTERS_ATTR_MAX
        value: QCA_WLAN_DAR_RADIO_COUNTERS_ATTR_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_dar_radio_counters_attr
      pos:
        line_end: 23073
        line_start: 23061
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_DAR_TUPLE_CODES_ATTR_INVALID
        value: '0'
      - name: QCA_WLAN_DAR_TUPLE_CODES_ATTR_AFTER_LAST
      - name: QCA_WLAN_DAR_TUPLE_CODES_ATTR_SUBCATEGORY_CODE
        value: '2'
      - name: QCA_WLAN_DAR_TUPLE_CODES_ATTR_MAX
        value: QCA_WLAN_DAR_TUPLE_CODES_ATTR_AFTER_LAST - 1
      - name: QCA_WLAN_DAR_TUPLE_CODES_ATTR_CATEGORY_CODE
        value: '1'
      item_type: enum
      name: qca_wlan_dar_tuple_codes_attr
      pos:
        line_end: 23098
        line_start: 23089
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_DAR_CONTROL_PLANE_EVENTS_ATTR_INVALID
        value: '0'
      - name: QCA_WLAN_DAR_CONTROL_PLANE_EVENTS_ATTR_AFTER_LAST
      - name: QCA_WLAN_DAR_CONTROL_PLANE_EVENTS_ATTR_MAX
        value: QCA_WLAN_DAR_CONTROL_PLANE_EVENTS_ATTR_AFTER_LAST - 1
      - name: QCA_WLAN_DAR_CONTROL_PLANE_EVENTS_ATTR_TUPLE_CODES
        value: '2'
      - name: QCA_WLAN_DAR_CONTROL_PLANE_EVENTS_ATTR_EVENT_COUNT
        value: '1'
      item_type: enum
      name: qca_wlan_dar_control_plane_events_attr
      pos:
        line_end: 23121
        line_start: 23112
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_DAR_STATS_TYPE_LATENCY
        value: BIT(0)
      - name: QCA_WLAN_DAR_STATS_TYPE_CONTROL_PLANE
        value: BIT(2)
      - name: QCA_WLAN_DAR_STATS_TYPE_RADIO_COUNTERS
        value: BIT(1)
      item_type: enum
      name: qca_wlan_dar_stats_types
      pos:
        line_end: 23141
        line_start: 23137
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_DAR_REPORT_PERIODIC
        value: '0'
      - name: QCA_WLAN_DAR_REPORT_TRIGGERED
        value: '2'
      - name: QCA_WLAN_DAR_REPORT_ON_DEMAND
        value: '1'
      item_type: enum
      name: qca_wlan_dar_report_method
      pos:
        line_end: 23159
        line_start: 23155
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_DAR_OP_TYPE_REQUEST_ADD
        value: '0'
      - name: QCA_WLAN_DAR_OP_TYPE_REQUEST_REMOVE
        value: '1'
      - name: QCA_WLAN_DAR_OP_TYPE_RESPONSE_TERMINATE
        value: '2'
      item_type: enum
      name: qca_wlan_dar_op_type
      pos:
        line_end: 23179
        line_start: 23175
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_DAR_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_DAR_STATS_BITMAP
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_DAR_OP_TYPE
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_DAR_MEASUREMENT_DURATION
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_DAR_REPORT_METHOD
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_DAR_MEASUREMENTS
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_DAR_STATS_LATENCY_CONFIG
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_DAR_RADIO_COUNTERS_CONFIG
        value: '7'
      - name: QCA_WLAN_VENDOR_ATTR_DAR_CONTROL_PLANE_EVENTS_CONFIG
        value: '8'
      - name: QCA_WLAN_VENDOR_ATTR_DAR_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_DAR_MAX
        value: QCA_WLAN_VENDOR_ATTR_DAR_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_dar
      pos:
        line_end: 23240
        line_start: 23225
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_FEATURE_CONFIG_CAPABILITY_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_FEATURE_CONFIG_CAPABILITY_HE
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_FEATURE_CONFIG_CAPABILITY_VHT
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_FEATURE_CONFIG_CAPABILITY_NSS_MASK
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_FEATURE_CONFIG_CAPABILITY_HT
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_FEATURE_CONFIG_CAPABILITY_EHT
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_FEATURE_CONFIG_CAPABILITY_BAND_MASK
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_FEATURE_CONFIG_CAPABILITY_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_FEATURE_CONFIG_CAPABILITY_MAX
        value: QCA_WLAN_VENDOR_ATTR_FEATURE_CONFIG_CAPABILITY_AFTER_LAST - 1
      item_type: enum
      name: qca_vendor_attr_feature_config_capability
      pos:
        line_end: 23281
        line_start: 23268
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_FEATURE_CONFIG_DATA_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_FEATURE_CONFIG_DATA_VENDOR_DATA
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_FEATURE_CONFIG_DATA_VENDOR_OUI
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_FEATURE_CONFIG_DATA_BSSID
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_FEATURE_CONFIG_DATA_VENDOR_DATA_MASK
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_FEATURE_CONFIG_DATA_BSSID_MASK
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_FEATURE_CONFIG_DATA_CAPABILITY
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_FEATURE_CONFIG_DATA_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_FEATURE_CONFIG_DATA_MAX
        value: QCA_WLAN_VENDOR_ATTR_FEATURE_CONFIG_DATA_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_feature_config_data
      pos:
        line_end: 23343
        line_start: 23330
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_FEATURE_CONFIG_ACTION_ENABLE_DSMPS
        value: '0'
      - name: QCA_WLAN_VENDOR_FEATURE_CONFIG_ACTION_ADAPTIVE_DSMPS_BY_RSSI
        value: '2'
      - name: QCA_WLAN_VENDOR_FEATURE_CONFIG_ACTION_DISABLE_DSMPS
        value: '1'
      - name: QCA_WLAN_VENDOR_FEATURE_CONFIG_ACTION_DISALLOW_NSS_GT_2
        value: '4'
      - name: QCA_WLAN_VENDOR_FEATURE_CONFIG_ACTION_ALLOW_NSS_GT_2
        value: '3'
      - name: QCA_WLAN_VENDOR_FEATURE_CONFIG_ACTION_UL_TX_BEAMFORMER_ENABLE
        value: '5'
      - name: QCA_WLAN_VENDOR_FEATURE_CONFIG_ACTION_UL_TX_BEAMFORMER_DISABLE
        value: '6'
      item_type: enum
      name: qca_wlan_vendor_feature_config_action
      pos:
        line_end: 23506
        line_start: 23498
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_FEATURE_CONFIG_DATA_ADD
        value: '0'
      - name: QCA_WLAN_VENDOR_FEATURE_CONFIG_DATA_CLEAR
        value: '1'
      item_type: enum
      name: qca_wlan_vendor_feature_config_data_op
      pos:
        line_end: 23530
        line_start: 23527
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_FEATURE_CONFIG_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_FEATURE_CONFIG_DATA_LIST
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_FEATURE_CONFIG_DATA_OP
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_FEATURE_CONFIG_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_FEATURE_CONFIG_ACTION
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_FEATURE_CONFIG_MAX
        value: QCA_WLAN_VENDOR_ATTR_FEATURE_CONFIG_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_feature_config
      pos:
        line_end: 23577
        line_start: 23567
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_ATF_OFFLOAD_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_ATF_OFFLOAD_ENABLED
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_ATF_OFFLOAD_RADIO_INDEX
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_ATF_OFFLOAD_WMM_AC_CONFIG
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_ATF_OFFLOAD_SSID_GROUP_CONFIG
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_ATF_OFFLOAD_PEER_CONFIG
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_ATF_OFFLOAD_STATS_ENABLED
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_ATF_OFFLOAD_STRICT_SCHEDULING_ENABLED
        value: '7'
      - name: QCA_WLAN_VENDOR_ATTR_ATF_OFFLOAD_VO_DEDICATED_TIME_CONFIG
        value: '8'
      - name: QCA_WLAN_VENDOR_ATTR_ATF_OFFLOAD_VI_DEDICATED_TIME_CONFIG
        value: '9'
      - name: QCA_WLAN_VENDOR_ATTR_ATF_OFFLOAD_MAX
        value: QCA_WLAN_VENDOR_ATTR_ATF_OFFLOAD_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_ATF_OFFLOAD_SSID_SCHED_POLICY
        value: '10'
      - name: QCA_WLAN_VENDOR_ATTR_ATF_OFFLOAD_AFTER_LAST
      item_type: enum
      name: qca_wlan_vendor_attr_atf_offload_ops
      pos:
        line_end: 23659
        line_start: 23642
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_ATF_OFFLOAD_SSID_GROUP_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_ATF_OFFLOAD_SSID_GROUP_AIRTIME_CONFIGURED
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_ATF_OFFLOAD_SSID_GROUP_INDEX
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_ATF_OFFLOAD_SSID_GROUP_UNCONFIGURED_PEERS
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_ATF_OFFLOAD_SSID_GROUP_POLICY
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_ATF_OFFLOAD_SSID_GROUP_CONFIGURED_PEERS
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_ATF_OFFLOAD_SSID_GROUP_UNCONFIGURED_PEERS_AIRTIME
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_ATF_OFFLOAD_SSID_GROUP_LAST
      - name: QCA_WLAN_VENDOR_ATTR_ATF_OFFLOAD_SSID_GROUP_MAX
        value: QCA_WLAN_VENDOR_ATTR_ATF_OFFLOAD_SSID_GROUP_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_atf_offload_ssid_group_config
      pos:
        line_end: 23713
        line_start: 23700
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_ATF_OFFLOAD_NUM_WMM_AC_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_ATF_OFFLOAD_WMM_AC_BE_AIRTIME
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_ATF_OFFLOAD_WMM_AC_GROUP_INDEX
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_ATF_OFFLOAD_WMM_AC_VI_AIRTIME
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_ATF_OFFLOAD_WMM_AC_BK_AIRTIME
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_ATF_OFFLOAD_WMM_AC_VO_AIRTIME
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_ATF_OFFLOAD_NUM_WMM_AC_LAST
      - name: QCA_WLAN_VENDOR_ATTR_ATF_OFFLOAD_NUM_WMM_AC_MAX
        value: QCA_WLAN_VENDOR_ATTR_ATF_OFFLOAD_NUM_WMM_AC_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_atf_offload_wmm_ac_config
      pos:
        line_end: 23756
        line_start: 23744
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_ATF_OFFLOAD_PEER_CONFIG_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_ATF_OFFLOAD_PEER_CONFIG_LAST
      - name: QCA_WLAN_VENDOR_ATTR_ATF_OFFLOAD_PEER_CONFIG_FULL_UPDATE
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_ATF_OFFLOAD_PEER_CONFIG_PAYLOAD
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_ATF_OFFLOAD_PEER_CONFIG_MORE
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_ATF_OFFLOAD_PEER_CONFIG_MAX
        value: QCA_WLAN_VENDOR_ATTR_ATF_OFFLOAD_PEER_CONFIG_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_atf_offload_peer_config
      pos:
        line_end: 23791
        line_start: 23781
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_ATF_OFFLOAD_PEER_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_ATF_OFFLOAD_PEER_AIRTIME
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_ATF_OFFLOAD_PEER_MAC
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_ATF_OFFLOAD_PEER_CONFIGURED
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_ATF_OFFLOAD_PEER_GROUP_INDEX
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_ATF_OFFLOAD_PEER_MAX
      - name: QCA_WLAN_VENDOR_ATTR_ATF_OFFLOAD_PEER_LAST
        value: QCA_WLAN_VENDOR_ATTR_ATF_OFFLOAD_PEER_MAX - 1
      item_type: enum
      name: qca_wlan_vendor_attr_atf_offload_peer
      pos:
        line_end: 23825
        line_start: 23814
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_ATF_OFFLOAD_SSID_SCHED_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_ATF_OFFLOAD_SSID_SCHED_MAX
        value: QCA_WLAN_VENDOR_ATTR_ATF_OFFLOAD_SSID_SCHED_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_ATF_OFFLOAD_SSID_SCHEDULING
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_ATF_OFFLOAD_SSID_SCHED_LINK_ID
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_ATF_OFFLOAD_SSID_SCHED_LAST
      item_type: enum
      name: qca_wlan_vendor_attr_atf_offload_ssid_scheduling_policy
      pos:
        line_end: 23851
        line_start: 23842
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_CCA_STAT_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_CCA_STAT_ON_TIME
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_CCA_STAT_LINK_ID
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_CCA_STAT_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_CCA_STAT_BUSY_TIME
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_CCA_STAT_MAX
        value: QCA_WLAN_VENDOR_ATTR_CCA_STAT_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_cca_stat
      pos:
        line_end: 23881
        line_start: 23872
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_BEACON_MISS_STAT_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_BEACON_MISS_STAT_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_BEACON_MISS_STAT_MAX
        value: QCA_WLAN_VENDOR_ATTR_BEACON_MISS_STAT_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_BEACON_MISS_STAT_DATA
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_BEACON_MISS_STAT_LINK_ID
        value: '1'
      item_type: enum
      name: qca_wlan_vendor_attr_beacon_miss_stat
      pos:
        line_end: 23909
        line_start: 23901
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_DCS_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_DCS_INTERFERENCE_DETECTION_THRESHOLD
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_DCS_ENABLE
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_DCS_LINK_ID
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_DCS_CMD_TYPE
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_DCS_PHY_ERR_PENALTY
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_DCS_PHY_ERR_THRESHOLD
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_DCS_RADAR_ERR_THRESHOLD
        value: '7'
      - name: QCA_WLAN_VENDOR_ATTR_DCS_TX_ERR_THRESHOLD
        value: '8'
      - name: QCA_WLAN_VENDOR_ATTR_DCS_INTERFERENCE_DETECTION_WINDOW
        value: '9'
      - name: QCA_WLAN_VENDOR_ATTR_DCS_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_DCS_MAX
        value: QCA_WLAN_VENDOR_ATTR_DCS_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_DCS_COCHANNEL_INTERFERENCE_THRESHOLD
        value: '10'
      - name: QCA_WLAN_VENDOR_ATTR_DCS_MAX_CU
        value: '11'
      item_type: enum
      name: qca_wlan_vendor_attr_dcs
      pos:
        line_end: 23994
        line_start: 23976
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_QSH_STATS_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_QSH_STATS_SCAN_COUNT
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_QSH_STATS_MAX
        value: QCA_WLAN_VENDOR_ATTR_QSH_STATS_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_QSH_STATS_AFTER_LAST
      item_type: enum
      name: qca_wlan_vendor_attr_qsh_stats
      pos:
        line_end: 24012
        line_start: 24004
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_HOST_TXRX_STATS_PARAM_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_HOST_TXRX_STATS_PARAM_TX_DROPPED
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_HOST_TXRX_STATS_PARAM_RX_DROPPED
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_HOST_TXRX_STATS_PARAM_TX_PKTS
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_HOST_TXRX_STATS_PARAM_RX_PKTS
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_HOST_TXRX_STATS_PARAM_IPA_EXCEPTION_RX_DROPPED
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_HOST_TXRX_STATS_PARAM_PAD
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_HOST_TXRX_STATS_PARAM_LAST
      - name: QCA_WLAN_VENDOR_ATTR_HOST_TXRX_STATS_PARAM_MAX
        value: QCA_WLAN_VENDOR_ATTR_HOST_TXRX_STATS_PARAM_LAST - 1
      item_type: enum
      name: qca_wlan_host_txrx_stats_attr
      pos:
        line_end: 24051
        line_start: 24039
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_ESP_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_ESP_PPDU_DUR_BE
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_ESP_AIRTIME_BE
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_ESP_ENABLE
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_ESP_BA_WINDOW_BE
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_ESP_AIRTIME_BK
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_ESP_PPDU_DUR_BK
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_ESP_BA_WINDOW_BK
        value: '7'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_ESP_AIRTIME_VI
        value: '8'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_ESP_PPDU_DUR_VI
        value: '9'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_ESP_PPDU_DUR_VO
        value: '12'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_ESP_BA_WINDOW_VO
        value: '13'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_ESP_MAX
        value: QCA_WLAN_VENDOR_ATTR_CONFIG_ESP_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_ESP_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_ESP_BA_WINDOW_VI
        value: '10'
      - name: QCA_WLAN_VENDOR_ATTR_CONFIG_ESP_AIRTIME_VO
        value: '11'
      item_type: enum
      name: qca_wlan_vendor_attr_config_esp_param
      pos:
        line_end: 24115
        line_start: 24095
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_IPA_RING_STATS_PARAM_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_IPA_RING_STATS_PARAM_TP_IDX
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_IPA_RING_STATS_PARAM_HP_IDX
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_IPA_RING_STATS_PARAM_FREE_ENTRIES
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_IPA_RING_STATS_PARAM_RING_ID
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_IPA_RING_STATS_PARAM_RING_ENTRIES
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_IPA_RING_STATS_PARAM_LAST
      - name: QCA_WLAN_VENDOR_ATTR_IPA_RING_STATS_PARAM_MAX
        value: QCA_WLAN_VENDOR_ATTR_IPA_RING_STATS_PARAM_LAST - 1
      item_type: enum
      name: qca_wlan_ipa_ring_stats_attr
      pos:
        line_end: 24155
        line_start: 24144
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_IPA_RING_STATS_ID_REO
        value: '0'
      - name: QCA_WLAN_VENDOR_IPA_RING_STATS_ID_TCL
        value: '1'
      - name: QCA_WLAN_VENDOR_IPA_RING_STATS_ID_MAX
      item_type: enum
      name: qca_ipa_ring_stats_id
      pos:
        line_end: 24171
        line_start: 24166
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_EXTERNAL_AUTH_START
        value: '0'
      - name: QCA_WLAN_VENDOR_EXTERNAL_AUTH_ABORT
        value: '1'
      item_type: enum
      name: qca_wlan_vendor_external_auth_action
      pos:
        line_end: 24185
        line_start: 24182
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_EXTERNAL_AUTH_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_EXTERNAL_AUTH_AP_MLD_ADDR
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_EXTERNAL_AUTH_BSSID
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_EXTERNAL_AUTH_SSID
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_EXTERNAL_AUTH_ACTION
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_EXTERNAL_AUTH_ALGO
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_EXTERNAL_AUTH_AKM
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_EXTERNAL_AUTH_PAIRWISE_CIPHER
        value: '7'
      - name: QCA_WLAN_VENDOR_ATTR_EXTERNAL_AUTH_GROUP_CIPHER
        value: '8'
      - name: QCA_WLAN_VENDOR_ATTR_EXTERNAL_AUTH_GROUP_MGMT_CIPHER
        value: '9'
      - name: QCA_WLAN_VENDOR_ATTR_EXTERNAL_AUTH_PMKID
        value: '11'
      - name: QCA_WLAN_VENDOR_ATTR_EXTERNAL_AUTH_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_EXTERNAL_AUTH_RSN_CAPAB
        value: '12'
      - name: QCA_WLAN_VENDOR_ATTR_EXTERNAL_AUTH_RSNXE_DATA
        value: '13'
      - name: QCA_WLAN_VENDOR_ATTR_EXTERNAL_AUTH_MAX
        value: QCA_WLAN_VENDOR_ATTR_EXTERNAL_AUTH_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_EXTERNAL_AUTH_PTK_KCK
        value: '14'
      - name: QCA_WLAN_VENDOR_ATTR_EXTERNAL_AUTH_STATUS_CODE
        value: '10'
      item_type: enum
      name: qca_wlan_vendor_attr_external_auth
      pos:
        line_end: 24299
        line_start: 24278
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_N79_COEX_OP_SET
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_N79_COEX_OP_GET
        value: '1'
      item_type: enum
      name: qca_wlan_vendor_attr_n79_coex_op
      pos:
        line_end: 24311
        line_start: 24308
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_N79_COEX_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_N79_COEX_CONFIG_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_N79_COEX_OP_TYPE
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_N79_COEX_CONFIG_MAX
        value: QCA_WLAN_VENDOR_ATTR_N79_COEX_CONFIG_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_N79_COEX_STATE
        value: '2'
      item_type: enum
      name: qca_wlan_vendor_attr_n79_coex
      pos:
        line_end: 24335
        line_start: 24326
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_TDLS_CONFIG_STOP
        value: '0'
      - name: QCA_WLAN_TDLS_CONFIG_SEND
        value: '1'
      item_type: enum
      name: qca_wlan_tdls_config
      pos:
        line_end: 24351
        line_start: 24348
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_EVENT_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_EVENT_MAX
        value: QCA_WLAN_VENDOR_ATTR_TDLS_EVENT_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_EVENT_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_EVENT_ENTRIES
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_EVENT_CONFIG
        value: '1'
      item_type: enum
      name: qca_wlan_vendor_attr_tdls_event
      pos:
        line_end: 24375
        line_start: 24366
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_EVENT_ENTRY_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_EVENT_ENTRY_TYPE
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_EVENT_ENTRY_LOCAL_MAC_ADDR
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_EVENT_ENTRY_PEER_MAC_ADDR
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_EVENT_ENTRY_SUBTYPE
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_EVENT_ENTRY_SUCCESS
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_EVENT_ENTRY_ROLE
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_EVENT_ENTRY_OP_FREQ
        value: '7'
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_EVENT_ENTRY_OFFCHAN_FREQ
        value: '8'
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_EVENT_ENTRY_RSSI
        value: '9'
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_EVENT_ENTRY_TIMESTAMP
        value: '11'
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_EVENT_ENTRY_MAX
        value: QCA_WLAN_VENDOR_ATTR_TDLS_EVENT_ENTRY_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_EVENT_ENTRY_REASON_CODE
        value: '12'
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_EVENT_ENTRY_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_EVENT_ENTRY_LINK_ID
        value: '10'
      item_type: enum
      name: qca_wlan_vendor_attr_tdls_event_entry
      pos:
        line_end: 24479
        line_start: 24460
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_TDLS_EVENT_TYPE_INITIATE_TDLS
        value: '0'
      - name: QCA_WLAN_TDLS_EVENT_TYPE_CHANNEL_CHANGE
        value: '4'
      - name: QCA_WLAN_TDLS_EVENT_TYPE_SETUP
        value: '2'
      - name: QCA_WLAN_TDLS_EVENT_TYPE_DISCOVERY
        value: '1'
      - name: QCA_WLAN_TDLS_EVENT_TYPE_TEARDOWN
        value: '3'
      item_type: enum
      name: qca_wlan_tdls_event_type
      pos:
        line_end: 24511
        line_start: 24505
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_TDLS_EVENT_SUBTYPE_REQUEST
        value: '0'
      - name: QCA_WLAN_TDLS_EVENT_SUBTYPE_CONFIRM
        value: '2'
      - name: QCA_WLAN_TDLS_EVENT_SUBTYPE_RESPONSE
        value: '1'
      item_type: enum
      name: qca_wlan_tdls_event_subtype
      pos:
        line_end: 24533
        line_start: 24529
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_TDLS_EVENT_ROLE_SENDER
        value: '0'
      - name: QCA_WLAN_TDLS_EVENT_ROLE_RECEIVER
        value: '1'
      item_type: enum
      name: qca_wlan_tdls_event_role
      pos:
        line_end: 24545
        line_start: 24542
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_TDLS_EVENT_REASON_CODE_PEER_UNREACHABLE
        value: '0'
      - name: QCA_WLAN_TDLS_EVENT_REASON_CODE_INSUFFICIENT_TRAFFIC
        value: '2'
      - name: QCA_WLAN_TDLS_EVENT_REASON_CODE_TEARDOWN_UNSPECIFIED
        value: '1'
      - name: QCA_WLAN_TDLS_EVENT_REASON_CODE_ROAMED
        value: '4'
      - name: QCA_WLAN_TDLS_EVENT_REASON_CODE_NO_TRAFFIC
        value: '3'
      - name: QCA_WLAN_TDLS_EVENT_REASON_CODE_CONCURRENT_OP_SAME_BAND
        value: '5'
      - name: QCA_WLAN_TDLS_EVENT_REASON_CODE_CONCURRENT_OP_DIFF_BAND
        value: '6'
      - name: QCA_WLAN_TDLS_EVENT_REASON_CODE_BT_COEX
        value: '7'
      - name: QCA_WLAN_TDLS_EVENT_REASON_CODE_BSS_CHANNEL_SWITCH
        value: '8'
      - name: QCA_WLAN_TDLS_EVENT_REASON_CODE_DEAUTHENTICATED_LEAVING
        value: '9'
      - name: QCA_WLAN_TDLS_EVENT_REASON_CODE_USER_INITIATED_CH_SWITCH
        value: '10'
      - name: QCA_WLAN_TDLS_EVENT_REASON_CODE_PEER_INITIATED_CH_SWITCH
        value: '11'
      item_type: enum
      name: qca_wlan_tdls_event_reason_code
      pos:
        line_end: 24589
        line_start: 24576
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_STATS_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_STATS_MAX
        value: QCA_WLAN_VENDOR_ATTR_TDLS_STATS_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_STATS_ENTRIES
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_STATS_CONFIG
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_STATS_AFTER_LAST
      item_type: enum
      name: qca_wlan_vendor_attr_tdls_stats
      pos:
        line_end: 24613
        line_start: 24604
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_STATS_ENTRY_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_STATS_ENTRY_PEER_MAC_ADDR
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_STATS_ENTRY_LOCAL_MAC_ADDR
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_STATS_ENTRY_RX_DATA_RATE
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_STATS_ENTRY_TX_DATA_RATE
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_STATS_ENTRY_TX_MPDUS
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_STATS_ENTRY_TX_FAILURES
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_STATS_ENTRY_RX_MPDUS
        value: '7'
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_STATS_ENTRY_MCS_PKT_COUNT
        value: '8'
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_STATS_ENTRY_RX_FAILURES
        value: '9'
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_STATS_ENTRY_OP_FREQ
        value: '11'
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_STATS_ENTRY_TIMESTAMP
        value: '13'
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_STATS_ENTRY_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_STATS_ENTRY_MAX
        value: QCA_WLAN_VENDOR_ATTR_TDLS_STATS_ENTRY_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_STATS_ENTRY_OFFCHAN_FREQ
        value: '12'
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_STATS_ENTRY_LINK_ID
        value: '10'
      item_type: enum
      name: qca_wlan_vendor_attr_tdls_stats_entry
      pos:
        line_end: 24699
        line_start: 24679
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_REPORTING_CONFIG_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_REPORTING_CONFIG_MAX
        value: QCA_WLAN_VENDOR_ATTR_TDLS_REPORTING_CONFIG_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_REPORTING_CONFIG_EVENTS
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_REPORTING_CONFIG_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_TDLS_REPORTING_CONFIG_STATS
        value: '2'
      item_type: enum
      name: qca_wlan_vendor_attr_tdls_reporting_config
      pos:
        line_end: 24724
        line_start: 24715
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_TAS_MODE_NONE
        value: '0'
      - name: QCA_WLAN_TAS_MODE_INCREASE
        value: '1'
      - name: QCA_WLAN_TAS_MODE_DECREASE
        value: '2'
      item_type: enum
      name: qca_wlan_tas_mode
      pos:
        line_end: 24740
        line_start: 24736
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_TAS_OPERATION_SET_MODE
        value: '0'
      - name: QCA_WLAN_TAS_OPERATION_GET_PLIMIT
        value: '2'
      - name: QCA_WLAN_TAS_OPERATION_GET_METRICS
        value: '1'
      item_type: enum
      name: qca_wlan_tas_operation
      pos:
        line_end: 24761
        line_start: 24757
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_TAS_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_TAS_BAND_ENTRIES
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_TAS_OPERATION
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_TAS_METRICS_TIME_WINDOW
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_TAS_MODE_VALUE
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_TAS_PLIMIT_SCENARIO
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_TAS_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_TAS_MAX
        value: QCA_WLAN_VENDOR_ATTR_TAS_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_tas
      pos:
        line_end: 24813
        line_start: 24801
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_TAS_BAND_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_TAS_BAND_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_TAS_BAND_MAX
        value: QCA_WLAN_VENDOR_ATTR_TAS_BAND_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_TAS_BAND_ANTENNA_LIST
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_TAS_BAND_INDEX
        value: '1'
      item_type: enum
      name: qca_wlan_vendor_attr_tas_band
      pos:
        line_end: 24836
        line_start: 24827
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_TAS_ANTENNA_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_TAS_ANTENNA_MAX
        value: QCA_WLAN_VENDOR_ATTR_TAS_ANTENNA_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_TAS_ANTENNA_TX_POWER_LEVEL_INFO
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_TAS_ANTENNA_INDEX
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_TAS_ANTENNA_AFTER_LAST
      item_type: enum
      name: qca_wlan_vendor_attr_tas_antenna
      pos:
        line_end: 24864
        line_start: 24855
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_TAS_TX_POWER_LEVEL_INFO_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_TAS_TX_POWER_LEVEL_INFO_LIMIT_DBM
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_TAS_TX_POWER_LEVEL_INFO_LEVEL
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_TAS_TX_POWER_LEVEL_INFO_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_TAS_TX_POWER_LEVEL_INFO_MAX
        value: QCA_WLAN_VENDOR_ATTR_TAS_TX_POWER_LEVEL_INFO_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_tas_tx_power_level_info
      pos:
        line_end: 24889
        line_start: 24880
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_TX_POWER_LEVEL_UNSUPPORTED
        value: '0'
      - name: QCA_WLAN_TX_POWER_LEVEL_LOW
        value: '1'
      - name: QCA_WLAN_TX_POWER_LEVEL_HIGH
        value: '3'
      - name: QCA_WLAN_TX_POWER_LEVEL_EXTRA_HIGH
        value: '4'
      - name: QCA_WLAN_TX_POWER_LEVEL_MEDIUM
        value: '2'
      item_type: enum
      name: qca_wlan_tx_power_level
      pos:
        line_end: 24909
        line_start: 24903
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_HW_BLOCKED_CHANS_FB_CHAN_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_HW_BLOCKED_CHANS_FB_CHAN_BW
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_HW_BLOCKED_CHANS_FB_CHAN_PRI20_BITMAP
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_HW_BLOCKED_CHANS_FB_CHAN_CENTER_FREQ
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_HW_BLOCKED_CHANS_FB_CHAN_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_HW_BLOCKED_CHANS_FB_CHAN_MAX
        value: QCA_WLAN_VENDOR_ATTR_HW_BLOCKED_CHANS_FB_CHAN_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_hw_blocked_chans_fb_chan
      pos:
        line_end: 24947
        line_start: 24937
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_HW_BLOCKED_CHANS_PC_CHAN_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_HW_BLOCKED_CHANS_PC_CHAN_CENTER_FREQ
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_HW_BLOCKED_CHANS_PC_CHAN_BW
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_HW_BLOCKED_CHANS_PC_CHAN_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_HW_BLOCKED_CHANS_PC_CHAN_PUNC_PATTERN_BITMAP
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_HW_BLOCKED_CHANS_PC_CHAN_MAX
        value: QCA_WLAN_VENDOR_ATTR_HW_BLOCKED_CHANS_PC_CHAN_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_hw_blocked_chans_pc_chan
      pos:
        line_end: 24994
        line_start: 24984
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_HW_BLOCKED_CHANS_PWR_MODE_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_HW_BLOCKED_CHANS_PWR_MODE_ID
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_HW_BLOCKED_CHANS_PWR_MODE_PC_CHAN_LIST
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_HW_BLOCKED_CHANS_PWR_MODE_FB_CHAN_LIST
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_HW_BLOCKED_CHANS_PWR_MODE_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_HW_BLOCKED_CHANS_PWR_MODE_MAX
        value: QCA_WLAN_VENDOR_ATTR_HW_BLOCKED_CHANS_PWR_MODE_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_hw_blocked_chans_pwr_mode
      pos:
        line_end: 25024
        line_start: 25014
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_HW_BLOCKED_CHANS_BAND_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_HW_BLOCKED_CHANS_BAND_FB_CHAN_LIST
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_HW_BLOCKED_CHANS_BAND_ID
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_HW_BLOCKED_CHANS_BAND_PWR_MODE_LIST
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_HW_BLOCKED_CHANS_BAND_PC_CHAN_LIST
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_HW_BLOCKED_CHANS_BAND_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_HW_BLOCKED_CHANS_BAND_MAX
        value: QCA_WLAN_VENDOR_ATTR_HW_BLOCKED_CHANS_BAND_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_hw_blocked_chans_band
      pos:
        line_end: 25054
        line_start: 25043
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_HW_BLOCKED_CHANS_RADIO_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_HW_BLOCKED_CHANS_RADIO_BAND_LIST
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_HW_BLOCKED_CHANS_RADIO_RADIO_INDEX
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_HW_BLOCKED_CHANS_RADIO_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_HW_BLOCKED_CHANS_RADIO_MAX
        value: QCA_WLAN_VENDOR_ATTR_HW_BLOCKED_CHANS_RADIO_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_hw_blocked_chans_radio
      pos:
        line_end: 25077
        line_start: 25068
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_HW_BLOCKED_CHANS_RESP_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_HW_BLOCKED_CHANS_RESP_MAX
        value: QCA_WLAN_VENDOR_ATTR_HW_BLOCKED_CHANS_RESP_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_HW_BLOCKED_CHANS_RESP_RADIO_LIST
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_HW_BLOCKED_CHANS_RESP_AFTER_LAST
      item_type: enum
      name: qca_wlan_vendor_attr_hw_blocked_chans_resp
      pos:
        line_end: 25097
        line_start: 25089
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_HW_BLOCKED_CHANS_REQ_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_HW_BLOCKED_CHANS_REQ_MAX
        value: QCA_WLAN_VENDOR_ATTR_HW_BLOCKED_CHANS_REQ_AFTER_LAST - 1
      - name: QCA_WLAN_VENDOR_ATTR_HW_BLOCKED_CHANS_REQ_RADIO_INDEX
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_HW_BLOCKED_CHANS_REQ_AFTER_LAST
      item_type: enum
      name: qca_wlan_vendor_attr_hw_blocked_chans_req
      pos:
        line_end: 25116
        line_start: 25108
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_CRYPTO_TEST_MODE_AES_CCM
      - name: QCA_WLAN_VENDOR_CRYPTO_TEST_MODE_AES_GCM
      item_type: enum
      name: qca_wlan_vendor_crypto_test_mode
      pos:
        line_end: 25129
        line_start: 25126
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_CRYPTO_TEST_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_CRYPTO_TEST_MODE
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_CRYPTO_TEST_DECRYPT
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_CRYPTO_TEST_NONCE
        value: '4'
      - name: QCA_WLAN_VENDOR_ATTR_CRYPTO_TEST_KEY
        value: '3'
      - name: QCA_WLAN_VENDOR_ATTR_CRYPTO_TEST_TAG
        value: '5'
      - name: QCA_WLAN_VENDOR_ATTR_CRYPTO_TEST_AAD
        value: '6'
      - name: QCA_WLAN_VENDOR_ATTR_CRYPTO_TEST_PAYLOAD
        value: '7'
      - name: QCA_WLAN_VENDOR_ATTR_CRYPTO_TEST_COOKIE
        value: '8'
      - name: QCA_WLAN_VENDOR_ATTR_CRYPTO_TEST_FRAG_IDX
        value: '9'
      - name: QCA_WLAN_VENDOR_ATTR_CRYPTO_TEST_MORE_BIT
        value: '10'
      - name: QCA_WLAN_VENDOR_ATTR_CRYPTO_TEST_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_CRYPTO_TEST_MAX
        value: QCA_WLAN_VENDOR_ATTR_CRYPTO_TEST_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_crypto_test
      pos:
        line_end: 25227
        line_start: 25210
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_WOW_OPERATION_PRE_SUSPEND
        value: '0'
      - name: QCA_WLAN_WOW_OPERATION_POST_RESUME
        value: '1'
      item_type: enum
      name: qca_wlan_wow_operation
      pos:
        line_end: 25241
        line_start: 25238
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_WOW_STATUS_SUCCESS
        value: '0'
      - name: QCA_WLAN_WOW_STATUS_FAILURE
        value: '1'
      item_type: enum
      name: qca_wlan_wow_status
      pos:
        line_end: 25253
        line_start: 25250
        source_file: /src/hostap/src/common/qca-vendor.h
    - enumerators:
      - name: QCA_WLAN_VENDOR_ATTR_WOW_INVALID
        value: '0'
      - name: QCA_WLAN_VENDOR_ATTR_WOW_STATUS
        value: '2'
      - name: QCA_WLAN_VENDOR_ATTR_WOW_OPERATION
        value: '1'
      - name: QCA_WLAN_VENDOR_ATTR_WOW_AFTER_LAST
      - name: QCA_WLAN_VENDOR_ATTR_WOW_MAX
        value: QCA_WLAN_VENDOR_ATTR_WOW_AFTER_LAST - 1
      item_type: enum
      name: qca_wlan_vendor_attr_wow
      pos:
        line_end: 25276
        line_start: 25267
        source_file: /src/hostap/src/common/qca-vendor.h
    preproc_defs:
    - item_type: preproc_def
      name: OUI_QCA
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/hostap/src/common/qca-vendor.h
      type_or_value: '0x001374'
    - item_type: preproc_def
      name: QCA_NL80211_VENDOR_SUBCMD_CONCURRENT_MULTI_STA_POLICY
      pos:
        line_end: 1904
        line_start: 1902
        source_file: /src/hostap/src/common/qca-vendor.h
      type_or_value: QCA_NL80211_VENDOR_SUBCMD_CONCURRENT_POLICY
    - item_type: preproc_def
      name: QCA_WLAN_VENDOR_ATTR_DISCONNECT_IES
      pos:
        line_end: 4557
        line_start: 4555
        source_file: /src/hostap/src/common/qca-vendor.h
      type_or_value: QCA_WLAN_VENDOR_ATTR_CONFIG_DISCONNECT_IES
    - item_type: preproc_def
      name: QCA_WLAN_VENDOR_ATTR_BEACON_REPORT_FAIL
      pos:
        line_end: 4559
        line_start: 4557
        source_file: /src/hostap/src/common/qca-vendor.h
      type_or_value: QCA_WLAN_VENDOR_ATTR_CONFIG_BEACON_REPORT_FAIL
    - item_type: preproc_def
      name: QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_WHITE_LIST_SSID_NUM_NETWORKS
      pos:
        line_end: 7763
        line_start: 7761
        source_file: /src/hostap/src/common/qca-vendor.h
      type_or_value: QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_ALLOW_LIST_SSID_NUM_NETWORKS
    - item_type: preproc_def
      name: QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_WHITE_LIST_SSID_LIST
      pos:
        line_end: 7765
        line_start: 7763
        source_file: /src/hostap/src/common/qca-vendor.h
      type_or_value: QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_ALLOW_LIST_SSID_LIST
    - item_type: preproc_def
      name: QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_WHITE_LIST_SSID
      pos:
        line_end: 7767
        line_start: 7765
        source_file: /src/hostap/src/common/qca-vendor.h
      type_or_value: QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_ALLOW_LIST_SSID
    - item_type: preproc_def
      name: QCA_WLAN_VENDOR_ROAMING_SUBCMD_SSID_WHITE_LIST
      pos:
        line_end: 7831
        line_start: 7829
        source_file: /src/hostap/src/common/qca-vendor.h
      type_or_value: QCA_WLAN_VENDOR_ROAMING_SUBCMD_SSID_ALLOW_LIST
    - item_type: preproc_def
      name: QCA_WLAN_VENDOR_ROAMING_SUBCMD_SET_BLACKLIST_BSSID
      pos:
        line_end: 7833
        line_start: 7831
        source_file: /src/hostap/src/common/qca-vendor.h
      type_or_value: QCA_WLAN_VENDOR_ROAMING_SUBCMD_SET_DENYLIST_BSSID
    - item_type: preproc_def
      name: QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_CAPABILITIES_MAX_NUM_WHITELISTED_SSID
      pos:
        line_end: 8217
        line_start: 8215
        source_file: /src/hostap/src/common/qca-vendor.h
      type_or_value: QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_CAPABILITIES_MAX_NUM_ALLOWLISTED_SSID
    - item_type: preproc_def
      name: QCA_WLAN_VENDOR_ATTR_GSCAN_MAX_NUM_BLACKLISTED_BSSID
      pos:
        line_end: 8219
        line_start: 8217
        source_file: /src/hostap/src/common/qca-vendor.h
      type_or_value: QCA_WLAN_VENDOR_ATTR_GSCAN_MAX_NUM_DENYLISTED_BSSID
    - item_type: preproc_def
      name: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_HE_OMI_TX
      pos:
        line_end: 11087
        line_start: 11085
        source_file: /src/hostap/src/common/qca-vendor.h
      type_or_value: QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_OMI_TX
    - item_type: preproc_def
      name: qca_wlan_vendor_attr_he_omi_tx
      pos:
        line_end: 11089
        line_start: 11087
        source_file: /src/hostap/src/common/qca-vendor.h
      type_or_value: qca_wlan_vendor_attr_omi_tx
    - item_type: preproc_def
      name: QCA_WLAN_VENDOR_ATTR_HE_OMI_AFTER_LAST
      pos:
        line_end: 11091
        line_start: 11089
        source_file: /src/hostap/src/common/qca-vendor.h
      type_or_value: QCA_WLAN_VENDOR_ATTR_OMI_AFTER_LAST
    - item_type: preproc_def
      name: QCA_WLAN_VENDOR_ATTR_HE_OMI_MAX
      pos:
        line_end: 11093
        line_start: 11091
        source_file: /src/hostap/src/common/qca-vendor.h
      type_or_value: QCA_WLAN_VENDOR_ATTR_OMI_MAX
    - item_type: preproc_def
      name: QCA_BTC_CHAIN_SEPARATED
      pos:
        line_end: 14394
        line_start: 14393
        source_file: /src/hostap/src/common/qca-vendor.h
      type_or_value: QCA_BTC_CHAIN_SEPARATED_HYBRID
    - item_type: preproc_def
      name: QCA_WLAN_VENDOR_ATTR_CONCURRENT_STA_POLICY_CONFIG
      pos:
        line_end: 15567
        line_start: 15565
        source_file: /src/hostap/src/common/qca-vendor.h
      type_or_value: QCA_WLAN_VENDOR_ATTR_CONCURRENT_POLICY_STA_CONFIG
    - item_type: preproc_def
      name: QCA_WLAN_VENDOR_ATTR_CONCURRENT_STA_POLICY_MAX
      pos:
        line_end: 15569
        line_start: 15567
        source_file: /src/hostap/src/common/qca-vendor.h
      type_or_value: QCA_WLAN_VENDOR_ATTR_CONCURRENT_POLICY_MAX
    - item_type: preproc_def
      name: qca_wlan_vendor_attr_concurrent_sta_policy
      pos:
        line_end: 15571
        line_start: 15569
        source_file: /src/hostap/src/common/qca-vendor.h
      type_or_value: qca_wlan_vendor_attr_concurrent_policy
    - item_type: preproc_def
      name: QCA_WLAN_ROAM_STATS_FRAME_SUBTYPE_PREAUTH
      pos:
        line_end: 15986
        line_start: 15984
        source_file: /src/hostap/src/common/qca-vendor.h
      type_or_value: QCA_WLAN_ROAM_STATS_FRAME_SUBTYPE_AUTH_RESP
    - item_type: preproc_def
      name: QCA_WLAN_ROAM_STATS_FRAME_SUBTYPE_REASSOC
      pos:
        line_end: 15988
        line_start: 15986
        source_file: /src/hostap/src/common/qca-vendor.h
      type_or_value: QCA_WLAN_ROAM_STATS_FRAME_SUBTYPE_REASSOC_RESP
    structs: []
    typedefs: []
    union: []
- function_names:
  - wpa_kck_len
  - wpa_kck2_len
  - wpa_kek_len
  - wpa_kek2_len
  - rsn_mic_len_hash
  - wpa_mic_len
  - rsn_cipher_suite_to_wpa_cipher
  - rsn_key_mgmt_to_wpa_akm
  - wpa_use_akm_defined
  - wpa_use_cmac
  - wpa_use_aes_key_wrap
  - rsn_eapol_key_mic_hash
  - wpa_eapol_key_mic
  - wpa_pmk_to_ptk
  - fils_rmsk_to_pmk
  - fils_pmkid_erp
  - fils_pmk_to_ptk
  - fils_key_auth_sk
  - wpa_ft_mic
  - wpa_ft_parse_ftie
  - wpa_ft_parse_fte
  - wpa_ft_parse_ies
  - wpa_ft_parse_ies_free
  - pasn_use_sha384
  - pasn_select_hash_alg
  - pasn_pmk_to_ptk
  - pasn_mic_len
  - wpa_ltf_keyseed
  - wpa_auth_802_1x_pmk_to_ptk
  - wpa_auth_8021x_mic
  - pasn_mic
  - pasn_auth_frame_hash
  - rsn_selector_to_bitfield
  - rsn_key_mgmt_to_bitfield
  - wpa_cipher_valid_group
  - wpa_cipher_valid_mgmt_group
  - wpa_parse_wpa_ie_rsn
  - wpa_selector_to_bitfield
  - wpa_key_mgmt_to_bitfield
  - wpa_parse_wpa_ie_wpa
  - wpa_default_rsn_cipher
  - wpa_derive_pmk_r0
  - wpa_derive_pmk_r1_name
  - wpa_derive_pmk_r1
  - wpa_pmk_r1_to_ptk
  - rsn_pmkid
  - rsn_pmkid_suite_b
  - rsn_pmkid_suite_b_192
  - rsn_pmkid_privacy
  - wpa_cipher_txt
  - wpa_key_mgmt_txt
  - wpa_akm_to_suite
  - wpa_compare_rsn_ie
  - wpa_compare_rsne_params
  - wpa_insert_pmkid
  - wpa_cipher_key_len
  - wpa_cipher_rsc_len
  - wpa_cipher_to_alg
  - wpa_cipher_valid_pairwise
  - wpa_cipher_to_suite
  - rsn_cipher_put_suites
  - wpa_cipher_put_suites
  - wpa_pick_pairwise_cipher
  - wpa_pick_group_cipher
  - wpa_parse_cipher
  - wpa_write_ciphers
  - wpa_select_ap_group_cipher
  - fils_domain_name_hash
  - wpa_parse_vendor_specific
  - wpa_parse_generic
  - wpa_parse_kde_ies
  - wpa_pasn_build_auth_header
  - wpa_pasn_add_rsne
  - wpa_pasn_add_parameter_ie
  - wpa_pasn_add_wrapped_data
  - wpa_pasn_validate_rsne
  - wpa_pasn_parse_parameter_ie
  - wpa_pasn_add_rsnxe
  - wpa_pasn_add_extra_ies
  - rsn_set_snonce_cookie
  - rsn_is_snonce_cookie
  - wpa_add_supported_groups
  source_file: /src/hostap/src/common/wpa_common.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_Z_LEN
      pos:
        line_end: 513
        line_start: 512
        source_file: /src/hostap/src/common/wpa_common.c
      type_or_value: '66 '
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/common/qca-vendor-attr.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: start_freq
        type: u32
      - name: end_freq
        type: u32
      item_type: struct
      name: qca_avoid_freq_range
      pos:
        line_end: 20
        line_start: 17
        source_file: /src/hostap/src/common/qca-vendor-attr.h
    - fields:
      - name: count
        type: u32
      - name: range[0]
        type: struct qca_avoid_freq_range
      item_type: struct
      name: qca_avoid_freq_list
      pos:
        line_end: 25
        line_start: 22
        source_file: /src/hostap/src/common/qca-vendor-attr.h
    typedefs: []
    union: []
- function_names:
  - hw_get_channel_chan
  - hw_mode_get_channel
  - hw_get_channel_freq
  - hw_get_freq
  - hw_get_chan
  - allowed_ht40_channel_pair
  - get_pri_sec_chan
  - check_40mhz_5g
  - check_20mhz_bss
  - check_40mhz_2g4
  - punct_update_legacy_bw_80
  - punct_update_legacy_bw_160
  - punct_update_legacy_bw_320
  - punct_update_legacy_bw
  - hostapd_set_freq_dbe
  - hostapd_set_freq_params
  - set_disable_ht40
  - _ieee80211ac_cap_check
  - ieee80211ac_cap_check_max
  - ieee80211ac_cap_check
  - VHT_CAP_CHECK
  - VHT_CAP_CHECK_MAX
  - num_chan_to_bw
  - chan_bw_allowed
  - chan_pri_allowed
  - is_punct_bitmap_valid
  - chan_in_current_hw_info
  source_file: /src/hostap/src/common/hw_features_common.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - wpa_ctrl_open
  - wpa_ctrl_open2
  - wpa_ctrl_close
  - wpa_ctrl_cleanup
  - wpa_ctrl_cleanup
  - wpa_ctrl_open
  - wpa_ctrl_get_remote_ifname
  - wpa_ctrl_close
  - wpa_ctrl_request
  - wpa_ctrl_attach_helper
  - wpa_ctrl_attach
  - wpa_ctrl_detach
  - wpa_ctrl_recv
  - wpa_ctrl_pending
  - wpa_ctrl_get_fd
  - wpa_ctrl_open
  - wpa_ctrl_close
  - wpa_ctrl_request
  - wpa_ctrl_recv
  - wpa_ctrl_pending
  - wpa_ctrl_get_fd
  source_file: /src/hostap/src/common/wpa_ctrl.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CONFIG_CTRL_IFACE_CLIENT_DIR
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/hostap/src/common/wpa_ctrl.c
      type_or_value: '"/tmp"'
    - item_type: preproc_def
      name: CONFIG_CTRL_IFACE_CLIENT_PREFIX
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/hostap/src/common/wpa_ctrl.c
      type_or_value: '"wpa_ctrl_"'
    - item_type: preproc_def
      name: WPA_CTRL_MAX_PS_NAME
      pos:
        line_end: 460
        line_start: 459
        source_file: /src/hostap/src/common/wpa_ctrl.c
      type_or_value: '100'
    - item_type: preproc_def
      name: WPA_SUPPLICANT_NAMED_PIPE
      pos:
        line_end: 659
        line_start: 658
        source_file: /src/hostap/src/common/wpa_ctrl.c
      type_or_value: '"WpaSupplicant"'
    - item_type: preproc_def
      name: NAMED_PIPE_PREFIX
      pos:
        line_end: 661
        line_start: 660
        source_file: /src/hostap/src/common/wpa_ctrl.c
      type_or_value: TEXT("\\\\.\\pipe\\") TEXT(WPA_SUPPLICANT_NAMED_PIPE)
    structs:
    - fields: []
      item_type: struct
      name: wpa_ctrl
      pos:
        line_end: 74
        line_start: 52
        source_file: /src/hostap/src/common/wpa_ctrl.c
    typedefs: []
    union: []
- function_names:
  - d_permute
  - d_invert
  - d_check_char
  - sae_pk_valid_password
  - add_char
  - sae_pk_base32_encode
  - sae_pk_base32_decode
  - sae_pk_get_be19
  - sae_pk_buf_shift_left_19
  - sae_pk_buf_shift_left_1
  - sae_pk_set_password
  - sae_group_2_hash_len
  - sae_deinit_pk
  - sae_parse_pk
  - sae_hash
  - sae_pk_hash_sig_data
  - sae_write_confirm_pk
  - sae_pk_valid_fingerprint
  - sae_check_confirm_pk
  source_file: /src/hostap/src/common/sae_pk.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dpp_build_attr_i_bootstrap_key_hash
  - dpp_auth_success
  - dpp_auth_build_resp_ok
  - dpp_auth_build_resp_status
  - dpp_auth_req_rx
  - dpp_notify_new_qr_code
  - dpp_auth_build_conf
  - dpp_autogen_bootstrap_key
  - dpp_auth_init
  - dpp_auth_resp_rx_status
  - dpp_auth_resp_rx
  - dpp_auth_conf_rx_failure
  - dpp_auth_conf_rx
  source_file: /src/hostap/src/common/dpp_auth.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DPP_AUTH_RESP_CLEAR_LEN
      pos:
        line_end: 246
        line_start: 244
        source_file: /src/hostap/src/common/dpp_auth.c
      type_or_value: "2 * (4 + DPP_MAX_NONCE_LEN) + 4 + 1 + \\\n\t\t4 + 4 + DPP_MAX_HASH_LEN
        + AES_BLOCK_SIZE"
    structs: []
    typedefs: []
    union: []
- function_names:
  - gas_build_req
  - gas_build_initial_req
  - gas_build_comeback_req
  - gas_build_resp
  - gas_build_initial_resp
  - gas_build_comeback_resp
  - gas_add_adv_proto_anqp
  - gas_anqp_build_initial_req
  - gas_anqp_build_initial_resp
  - gas_anqp_build_initial_resp_buf
  - gas_anqp_build_comeback_resp
  - gas_anqp_build_comeback_resp_buf
  - gas_anqp_set_len
  - gas_anqp_add_element
  - gas_anqp_set_element_len
  source_file: /src/hostap/src/common/gas.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/common/dpp.h
  types:
    enum:
    - enumerators:
      - name: DPP_PA_AUTHENTICATION_RESP
        value: '1'
      - name: DPP_PA_PKEX_V1_EXCHANGE_REQ
        value: '7'
      - name: DPP_PA_PKEX_COMMIT_REVEAL_REQ
        value: '9'
      - name: DPP_PA_PRESENCE_ANNOUNCEMENT
        value: '13'
      - name: DPP_PA_RECONFIG_AUTH_CONF
        value: '17'
      - name: DPP_PA_PRIV_PEER_INTRO_QUERY
        value: '21'
      - name: DPP_PA_AUTHENTICATION_CONF
        value: '2'
      - name: DPP_PA_PKEX_COMMIT_REVEAL_RESP
        value: '10'
      - name: DPP_PA_PKEX_EXCHANGE_REQ
        value: '18'
      - name: DPP_PA_RECONFIG_ANNOUNCEMENT
        value: '14'
      - name: DPP_PA_PRIV_PEER_INTRO_NOTIFY
        value: '22'
      - name: DPP_PA_AUTHENTICATION_REQ
        value: '0'
      - name: DPP_PA_PEER_DISCOVERY_REQ
        value: '5'
      - name: DPP_PA_CONFIGURATION_RESULT
        value: '11'
      - name: DPP_PA_RECONFIG_AUTH_REQ
        value: '15'
      - name: DPP_PA_PB_PRESENCE_ANNOUNCEMENT
        value: '19'
      - name: DPP_PA_PRIV_PEER_INTRO_UPDATE
        value: '23'
      - name: DPP_PA_PEER_DISCOVERY_RESP
        value: '6'
      - name: DPP_PA_PKEX_EXCHANGE_RESP
        value: '8'
      - name: DPP_PA_CONNECTION_STATUS_RESULT
        value: '12'
      - name: DPP_PA_RECONFIG_AUTH_RESP
        value: '16'
      - name: DPP_PA_PB_PRESENCE_ANNOUNCEMENT_RESP
        value: '20'
      item_type: enum
      name: dpp_public_action_frame_type
      pos:
        line_end: 63
        line_start: 40
        source_file: /src/hostap/src/common/dpp.h
    - enumerators:
      - name: DPP_ATTR_WRAPPED_DATA
        value: '0x1004'
      - name: DPP_ATTR_R_CAPABILITIES
        value: '0x1008'
      - name: DPP_ATTR_CONFIG_OBJ
        value: '0x100C'
      - name: DPP_ATTR_OWN_NET_NK_HASH
        value: '0x1011'
      - name: DPP_ATTR_CODE_IDENTIFIER
        value: '0x1015'
      - name: DPP_ATTR_PROTOCOL_VERSION
        value: '0x1019'
      - name: DPP_ATTR_RECONFIG_FLAGS
        value: '0x101D'
      - name: DPP_ATTR_E_PRIME_ID
        value: '0x1021'
      - name: DPP_ATTR_I_BOOTSTRAP_KEY_HASH
        value: '0x1001'
      - name: DPP_ATTR_I_NONCE
        value: '0x1005'
      - name: DPP_ATTR_R_PROTOCOL_KEY
        value: '0x1009'
      - name: DPP_ATTR_CONNECTOR
        value: '0x100D'
      - name: DPP_ATTR_FINITE_CYCLIC_GROUP
        value: '0x1012'
      - name: DPP_ATTR_TRANSACTION_ID
        value: '0x1016'
      - name: DPP_ATTR_ENVELOPED_DATA
        value: '0x101A'
      - name: DPP_ATTR_C_SIGN_KEY_HASH
        value: '0x101E'
      - name: DPP_ATTR_CONFIGURATOR_NONCE
        value: '0x1022'
      - name: DPP_ATTR_R_BOOTSTRAP_KEY_HASH
        value: '0x1002'
      - name: DPP_ATTR_I_CAPABILITIES
        value: '0x1006'
      - name: DPP_ATTR_ENCRYPTED_KEY
        value: '0x1013'
      - name: DPP_ATTR_I_AUTH_TAG
        value: '0x100A'
      - name: DPP_ATTR_CONFIG_ATTR_OBJ
        value: '0x100E'
      - name: DPP_ATTR_BOOTSTRAP_INFO
        value: '0x1017'
      - name: DPP_ATTR_SEND_CONN_STATUS
        value: '0x101B'
      - name: DPP_ATTR_CSR_ATTR_REQ
        value: '0x101F'
      - name: DPP_ATTR_STATUS
        value: '0x1000'
      - name: DPP_ATTR_I_PROTOCOL_KEY
        value: '0x1003'
      - name: DPP_ATTR_R_NONCE
        value: '0x1007'
      - name: DPP_ATTR_R_AUTH_TAG
        value: '0x100B'
      - name: DPP_ATTR_BOOTSTRAP_KEY
        value: '0x100F'
      - name: DPP_ATTR_ENROLLEE_NONCE
        value: '0x1014'
      - name: DPP_ATTR_CHANNEL
        value: '0x1018'
      - name: DPP_ATTR_CONN_STATUS
        value: '0x101C'
      - name: DPP_ATTR_A_NONCE
        value: '0x1020'
      item_type: enum
      name: dpp_attribute_id
      pos:
        line_end: 100
        line_start: 65
        source_file: /src/hostap/src/common/dpp.h
    - enumerators:
      - name: DPP_STATUS_OK
        value: '0'
      - name: DPP_STATUS_BAD_GROUP
        value: '4'
      - name: DPP_STATUS_NOT_COMPATIBLE
        value: '1'
      - name: DPP_STATUS_AUTH_FAILURE
        value: '2'
      - name: DPP_STATUS_UNWRAP_FAILURE
        value: '3'
      - name: DPP_STATUS_CONFIGURE_FAILURE
        value: '5'
      - name: DPP_STATUS_RESPONSE_PENDING
        value: '6'
      - name: DPP_STATUS_INVALID_CONNECTOR
        value: '7'
      - name: DPP_STATUS_NO_MATCH
        value: '8'
      - name: DPP_STATUS_CONFIG_REJECTED
        value: '9'
      - name: DPP_STATUS_CONFIGURE_PENDING
        value: '11'
      - name: DPP_STATUS_CSR_NEEDED
        value: '12'
      - name: DPP_STATUS_CSR_BAD
        value: '13'
      - name: DPP_STATUS_NO_AP
        value: '10'
      - name: DPP_STATUS_NEW_KEY_NEEDED
        value: '14'
      item_type: enum
      name: dpp_status_error
      pos:
        line_end: 118
        line_start: 102
        source_file: /src/hostap/src/common/dpp.h
    - enumerators:
      - name: DPP_CONFIG_REUSEKEY
        value: '0'
      - name: DPP_CONFIG_REPLACEKEY
        value: '1'
      item_type: enum
      name: dpp_connector_key
      pos:
        line_end: 124
        line_start: 121
        source_file: /src/hostap/src/common/dpp.h
    - enumerators:
      - name: DPP_BOOTSTRAP_QR_CODE
      - name: DPP_BOOTSTRAP_PKEX
      - name: DPP_BOOTSTRAP_NFC_URI
      item_type: enum
      name: dpp_bootstrap_type
      pos:
        line_end: 154
        line_start: 150
        source_file: /src/hostap/src/common/dpp.h
    - enumerators:
      - name: DPP_BOOTSTRAP_CURVE_P_256
        value: '0'
      - name: DPP_BOOTSTRAP_CURVE_P_384
        value: '1'
      - name: DPP_BOOTSTRAP_CURVE_P_521
        value: '2'
      - name: DPP_BOOTSTRAP_CURVE_BP_256
        value: '3'
      - name: DPP_BOOTSTRAP_CURVE_BP_384
        value: '4'
      - name: DPP_BOOTSTRAP_CURVE_BP_512
        value: '5'
      item_type: enum
      name: dpp_bootstrap_supported_curves
      pos:
        line_end: 163
        line_start: 156
        source_file: /src/hostap/src/common/dpp.h
    - enumerators:
      - name: PKEX_VER_AUTO
      - name: PKEX_VER_ONLY_2
      - name: PKEX_VER_ONLY_1
      item_type: enum
      name: dpp_pkex_ver
      pos:
        line_end: 202
        line_start: 198
        source_file: /src/hostap/src/common/dpp.h
    - enumerators:
      - name: DPP_AKM_UNKNOWN
      - name: DPP_AKM_DPP
      - name: DPP_AKM_PSK
      - name: DPP_AKM_SAE
      - name: DPP_AKM_PSK_SAE
      - name: DPP_AKM_SAE_DPP
      - name: DPP_AKM_PSK_SAE_DPP
      - name: DPP_AKM_DOT1X
      item_type: enum
      name: dpp_akm
      pos:
        line_end: 242
        line_start: 233
        source_file: /src/hostap/src/common/dpp.h
    - enumerators:
      - name: DPP_NETROLE_STA
      - name: DPP_NETROLE_AP
      - name: DPP_NETROLE_CONFIGURATOR
      item_type: enum
      name: dpp_netrole
      pos:
        line_end: 248
        line_start: 244
        source_file: /src/hostap/src/common/dpp.h
    - enumerators:
      - name: DPP_TEST_AFTER_WRAPPED_DATA_CONF_REQ
        value: '6'
      - name: DPP_TEST_NO_R_NONCE_AUTH_RESP
        value: '20'
      - name: DPP_TEST_NO_STATUS_PKEX_EXCHANGE_RESP
        value: '36'
      - name: DPP_TEST_INVALID_R_BOOTSTRAP_KEY_HASH_AUTH_REQ
        value: '68'
      - name: DPP_TEST_NO_CONFIG_ATTR_OBJ_CONF_REQ
        value: '52'
      - name: DPP_TEST_INVALID_TRANSACTION_ID_PEER_DISC_REQ
        value: '82'
      - name: DPP_TEST_INVALID_R_BOOTSTRAP_KEY_HASH_PB_REQ
        value: '98'
      - name: DPP_TEST_INVALID_ENCRYPTED_KEY_PKEX_EXCHANGE_RESP
        value: '45'
      - name: DPP_TEST_NO_WRAPPED_DATA_AUTH_REQ
        value: '15'
      - name: DPP_TEST_NO_WRAPPED_DATA_AUTH_CONF
        value: '29'
      - name: DPP_TEST_NO_CONNECTOR_PEER_DISC_REQ
        value: '61'
      - name: DPP_TEST_INVALID_STATUS_AUTH_CONF
        value: '75'
      - name: DPP_TEST_REJECT_CONFIG
        value: '91'
      - name: DPP_TEST_NO_E_NONCE_CONF_RESP
        value: '54'
      - name: DPP_TEST_INVALID_R_BOOTSTRAP_KEY_HASH_AUTH_RESP
        value: '70'
      - name: DPP_TEST_ZERO_I_CAPAB
        value: '8'
      - name: DPP_TEST_NO_R_CAPAB_AUTH_RESP
        value: '22'
      - name: DPP_TEST_NO_BOOTSTRAP_KEY_PKEX_CR_REQ
        value: '38'
      - name: DPP_TEST_STOP_AT_PKEX_EXCHANGE_RESP
        value: '84'
      - name: DPP_TEST_INVALID_R_BOOTSTRAP_KEY_HASH_PB_RESP
        value: '100'
      - name: DPP_TEST_AFTER_WRAPPED_DATA_AUTH_REQ
        value: '1'
      - name: DPP_TEST_NO_R_BOOTSTRAP_KEY_HASH_AUTH_RESP
        value: '17'
      - name: DPP_TEST_INCOMPATIBLE_R_CAPAB_AUTH_RESP
        value: '31'
      - name: DPP_TEST_INVALID_BOOTSTRAP_KEY_PKEX_CR_REQ
        value: '47'
      - name: DPP_TEST_NO_STATUS_PEER_DISC_RESP
        value: '63'
      - name: DPP_TEST_INVALID_TRANSACTION_ID_PEER_DISC_RESP
        value: '77'
      - name: DPP_TEST_NO_PROTOCOL_VERSION_PEER_DISC_RESP
        value: '93'
      - name: DPP_TEST_NO_R_BOOTSTRAP_KEY_HASH_AUTH_REQ
        value: '10'
      - name: DPP_TEST_NO_WRAPPED_DATA_AUTH_RESP
        value: '24'
      - name: DPP_TEST_NO_WRAPPED_DATA_PKEX_CR_REQ
        value: '40'
      - name: DPP_TEST_NO_STATUS_CONF_RESP
        value: '56'
      - name: DPP_TEST_INVALID_R_BOOTSTRAP_KEY_HASH_AUTH_CONF
        value: '72'
      - name: DPP_TEST_STOP_AT_PKEX_CR_RESP
        value: '86'
      - name: DPP_TEST_AFTER_WRAPPED_DATA_AUTH_CONF
        value: '3'
      - name: DPP_TEST_I_AUTH_MISMATCH_AUTH_CONF
        value: '33'
      - name: DPP_TEST_I_AUTH_TAG_MISMATCH_PKEX_CR_REQ
        value: '49'
      - name: DPP_TEST_AUTH_RESP_IN_PLACE_OF_CONF
        value: '65'
      - name: DPP_TEST_INVALID_CONNECTOR_PEER_DISC_RESP
        value: '79'
      - name: DPP_TEST_INVALID_PROTOCOL_VERSION_PEER_DISC_RESP
        value: '95'
      - name: DPP_TEST_NO_R_AUTH_TAG_PKEX_CR_RESP
        value: '42'
      - name: DPP_TEST_INVALID_STATUS_CONF_RESP
        value: '58'
      - name: DPP_TEST_INVALID_STATUS_AUTH_RESP
        value: '74'
      - name: DPP_TEST_NO_I_PROTO_KEY_AUTH_REQ
        value: '12'
      - name: DPP_TEST_NO_R_BOOTSTRAP_KEY_HASH_AUTH_CONF
        value: '26'
      - name: DPP_TEST_STOP_AT_AUTH_RESP
        value: '88'
      - name: DPP_TEST_NO_E_NONCE_CONF_REQ
        value: '51'
      - name: DPP_TEST_INVALID_R_PROTO_KEY_AUTH_RESP
        value: '67'
      - name: DPP_TEST_AFTER_WRAPPED_DATA_PKEX_CR_RESP
        value: '5'
      - name: DPP_TEST_NO_R_PROTO_KEY_AUTH_RESP
        value: '19'
      - name: DPP_TEST_NO_ENCRYPTED_KEY_PKEX_EXCHANGE_REQ
        value: '35'
      - name: DPP_TEST_INVALID_I_NONCE_AUTH_REQ
        value: '81'
      - name: DPP_TEST_NO_PROTOCOL_VERSION_RECONFIG_AUTH_REQ
        value: '97'
      - name: DPP_TEST_NO_I_CAPAB_AUTH_REQ
        value: '14'
      - name: DPP_TEST_NO_I_AUTH_AUTH_CONF
        value: '28'
      - name: DPP_TEST_INVALID_ENCRYPTED_KEY_PKEX_EXCHANGE_REQ
        value: '44'
      - name: DPP_TEST_NO_TRANSACTION_ID_PEER_DISC_REQ
        value: '60'
      - name: DPP_TEST_STOP_AT_CONF_REQ
        value: '90'
      - name: DPP_TEST_AFTER_WRAPPED_DATA_CONF_RESP
        value: '7'
      - name: DPP_TEST_NO_I_NONCE_AUTH_RESP
        value: '21'
      - name: DPP_TEST_NO_ENCRYPTED_KEY_PKEX_EXCHANGE_RESP
        value: '37'
      - name: DPP_TEST_NO_WRAPPED_DATA_CONF_REQ
        value: '53'
      - name: DPP_TEST_INVALID_I_BOOTSTRAP_KEY_HASH_AUTH_REQ
        value: '69'
      - name: DPP_TEST_INVALID_E_NONCE_CONF_REQ
        value: '83'
      - name: DPP_TEST_INVALID_I_BOOTSTRAP_KEY_HASH_PB_RESP
        value: '99'
      - name: DPP_TEST_INVALID_STATUS_PKEX_EXCHANGE_RESP
        value: '46'
      - name: DPP_TEST_NO_STATUS_AUTH_RESP
        value: '16'
      - name: DPP_TEST_I_NONCE_MISMATCH_AUTH_RESP
        value: '30'
      - name: DPP_TEST_NO_TRANSACTION_ID_PEER_DISC_RESP
        value: '62'
      - name: DPP_TEST_INVALID_CONFIG_ATTR_OBJ_CONF_REQ
        value: '76'
      - name: DPP_TEST_NO_PROTOCOL_VERSION_PEER_DISC_REQ
        value: '92'
      - name: DPP_TEST_NO_I_AUTH_TAG_PKEX_CR_REQ
        value: '39'
      - name: DPP_TEST_NO_CONFIG_OBJ_CONF_RESP
        value: '55'
      - name: DPP_TEST_INVALID_I_BOOTSTRAP_KEY_HASH_AUTH_RESP
        value: '71'
      - name: DPP_TEST_ZERO_R_CAPAB
        value: '9'
      - name: DPP_TEST_NO_R_AUTH_AUTH_RESP
        value: '23'
      - name: DPP_TEST_STOP_AT_PKEX_CR_REQ
        value: '85'
      - name: DPP_TEST_AFTER_WRAPPED_DATA_AUTH_RESP
        value: '2'
      - name: DPP_TEST_NO_I_BOOTSTRAP_KEY_HASH_AUTH_RESP
        value: '18'
      - name: DPP_TEST_R_AUTH_MISMATCH_AUTH_RESP
        value: '32'
      - name: DPP_TEST_INVALID_BOOTSTRAP_KEY_PKEX_CR_RESP
        value: '48'
      - name: DPP_TEST_NO_CONNECTOR_PEER_DISC_RESP
        value: '64'
      - name: DPP_TEST_INVALID_STATUS_PEER_DISC_RESP
        value: '78'
      - name: DPP_TEST_INVALID_PROTOCOL_VERSION_PEER_DISC_REQ
        value: '94'
      - name: DPP_TEST_INVALID_I_BOOTSTRAP_KEY_HASH_AUTH_CONF
        value: '73'
      - name: DPP_TEST_DISABLED
        value: '0'
      - name: DPP_TEST_NO_I_BOOTSTRAP_KEY_HASH_AUTH_REQ
        value: '11'
      - name: DPP_TEST_NO_STATUS_AUTH_CONF
        value: '25'
      - name: DPP_TEST_NO_BOOTSTRAP_KEY_PKEX_CR_RESP
        value: '41'
      - name: DPP_TEST_NO_WRAPPED_DATA_CONF_RESP
        value: '57'
      - name: DPP_TEST_STOP_AT_AUTH_REQ
        value: '87'
      - name: DPP_TEST_AFTER_WRAPPED_DATA_PKEX_CR_REQ
        value: '4'
      - name: DPP_TEST_NO_FINITE_CYCLIC_GROUP_PKEX_EXCHANGE_REQ
        value: '34'
      - name: DPP_TEST_R_AUTH_TAG_MISMATCH_PKEX_CR_RESP
        value: '50'
      - name: DPP_TEST_INVALID_I_PROTO_KEY_AUTH_REQ
        value: '66'
      - name: DPP_TEST_INVALID_CONNECTOR_PEER_DISC_REQ
        value: '80'
      - name: DPP_TEST_INVALID_PROTOCOL_VERSION_RECONFIG_AUTH_REQ
        value: '96'
      - name: DPP_TEST_NO_WRAPPED_DATA_PKEX_CR_RESP
        value: '43'
      - name: DPP_TEST_E_NONCE_MISMATCH_CONF_RESP
        value: '59'
      - name: DPP_TEST_NO_I_NONCE_AUTH_REQ
        value: '13'
      - name: DPP_TEST_NO_I_BOOTSTRAP_KEY_HASH_AUTH_CONF
        value: '27'
      - name: DPP_TEST_STOP_AT_AUTH_CONF
        value: '89'
      item_type: enum
      name: dpp_test_behavior
      pos:
        line_end: 570
        line_start: 468
        source_file: /src/hostap/src/common/dpp.h
    preproc_defs:
    - item_type: preproc_def
      name: DPP_VERSION
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/hostap/src/common/dpp.h
      type_or_value: (dpp_version_override)
    - item_type: preproc_def
      name: DPP_VERSION
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/hostap/src/common/dpp.h
      type_or_value: '3'
    - item_type: preproc_def
      name: DPP_VERSION
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/hostap/src/common/dpp.h
      type_or_value: '2'
    - item_type: preproc_def
      name: DPP_VERSION
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/hostap/src/common/dpp.h
      type_or_value: '1'
    - item_type: preproc_def
      name: DPP_HDR_LEN
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/hostap/src/common/dpp.h
      type_or_value: '(4 + 2) '
    - item_type: preproc_def
      name: DPP_TCP_PORT
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/hostap/src/common/dpp.h
      type_or_value: '8908'
    - item_type: preproc_def
      name: DPP_CAPAB_ENROLLEE
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/hostap/src/common/dpp.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: DPP_CAPAB_CONFIGURATOR
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/hostap/src/common/dpp.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: DPP_CAPAB_ROLE_MASK
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/hostap/src/common/dpp.h
      type_or_value: (BIT(0) | BIT(1))
    - item_type: preproc_def
      name: DPP_BOOTSTRAP_MAX_FREQ
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/hostap/src/common/dpp.h
      type_or_value: '30'
    - item_type: preproc_def
      name: DPP_MAX_NONCE_LEN
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/hostap/src/common/dpp.h
      type_or_value: '32'
    - item_type: preproc_def
      name: DPP_MAX_HASH_LEN
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/hostap/src/common/dpp.h
      type_or_value: '64'
    - item_type: preproc_def
      name: DPP_MAX_SHARED_SECRET_LEN
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/hostap/src/common/dpp.h
      type_or_value: '66'
    - item_type: preproc_def
      name: DPP_CP_LEN
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/hostap/src/common/dpp.h
      type_or_value: '64'
    - item_type: preproc_def
      name: DPP_ENROLLEE_CAPAB_SAE_PW_ID
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/hostap/src/common/dpp.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: PKEX_COUNTER_T_LIMIT
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/hostap/src/common/dpp.h
      type_or_value: '5'
    - item_type: preproc_def
      name: DPP_MAX_CONF_OBJ
      pos:
        line_end: 283
        line_start: 282
        source_file: /src/hostap/src/common/dpp.h
      type_or_value: '10'
    - item_type: preproc_def
      name: DPP_PB_INFO_COUNT
      pos:
        line_end: 461
        line_start: 460
        source_file: /src/hostap/src/common/dpp.h
      type_or_value: '2'
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: hash_len
        type: size_t
      - name: aes_siv_key_len
        type: size_t
      - name: nonce_len
        type: size_t
      - name: prime_len
        type: size_t
      - name: '*jwk_crv'
        type: char
      - name: ike_group
        type: u16
      - name: '*jws_alg'
        type: char
      item_type: struct
      name: dpp_curve_params
      pos:
        line_end: 148
        line_start: 139
        source_file: /src/hostap/src/common/dpp.h
    - fields:
      - name: list
        type: struct dl_list
      - name: id
        type: unsigned int
      - name: type
        type: enum dpp_bootstrap_type
      - name: '*uri'
        type: char
      - name: mac_addr[ETH_ALEN]
        type: u8
      - name: '*chan'
        type: char
      - name: '*info'
        type: char
      - name: '*host'
        type: struct hostapd_ip_addr
      - name: port
        type: unsigned int
      - name: '*pk'
        type: char
      - name: freq[DPP_BOOTSTRAP_MAX_FREQ]
        type: unsigned int
      - name: num_freq
        type: unsigned int
      - name: channels_listed
        type: bool
      - name: version
        type: u8
      - name: supported_curves
        type: u8
      - name: own
        type: int
      - name: '*pubkey'
        type: struct crypto_ec_key
      - name: pubkey_hash[SHA256_MAC_LEN]
        type: u8
      - name: pubkey_hash_chirp[SHA256_MAC_LEN]
        type: u8
      - name: '*curve'
        type: struct dpp_curve_params
      - name: pkex_t
        type: unsigned int
      - name: nfc_negotiated
        type: int
      - name: '*configurator_params'
        type: char
      - name: peer_pubkey_hash[SHA256_MAC_LEN]
        type: u8
      item_type: struct
      name: dpp_bootstrap_info
      pos:
        line_end: 194
        line_start: 165
        source_file: /src/hostap/src/common/dpp.h
    - fields:
      - name: '*msg_ctx'
        type: void
      - name: initiator
        type: unsigned int
      - name: exchange_done
        type: unsigned int
      - name: failed
        type: unsigned int
      - name: v2
        type: unsigned int
      - name: forced_ver
        type: unsigned int
      - name: '*own_bi'
        type: struct dpp_bootstrap_info
      - name: own_mac[ETH_ALEN]
        type: u8
      - name: peer_mac[ETH_ALEN]
        type: u8
      - name: '*identifier'
        type: char
      - name: '*code'
        type: char
      - name: code_len
        type: size_t
      - name: '*x'
        type: struct crypto_ec_key
      - name: '*y'
        type: struct crypto_ec_key
      - name: Mx[DPP_MAX_SHARED_SECRET_LEN]
        type: u8
      - name: Nx[DPP_MAX_SHARED_SECRET_LEN]
        type: u8
      - name: z[DPP_MAX_HASH_LEN]
        type: u8
      - name: '*peer_bootstrap_key'
        type: struct crypto_ec_key
      - name: '*exchange_req'
        type: struct wpabuf
      - name: '*exchange_resp'
        type: struct wpabuf
      - name: t
        type: unsigned int
      - name: exch_req_wait_time
        type: unsigned int
      - name: exch_req_tries
        type: unsigned int
      - name: freq
        type: unsigned int
      - name: peer_version
        type: u8
      - name: '*enc_key'
        type: struct wpabuf
      item_type: struct
      name: dpp_pkex
      pos:
        line_end: 231
        line_start: 204
        source_file: /src/hostap/src/common/dpp.h
    - fields:
      - name: ssid[32]
        type: u8
      - name: ssid_len
        type: size_t
      - name: ssid_charset
        type: int
      - name: akm
        type: enum dpp_akm
      - name: netrole
        type: enum dpp_netrole
      - name: netaccesskey_expiry
        type: os_time_t
      - name: '*group_id'
        type: char
      - name: '*passphrase'
        type: char
      - name: '*idpass'
        type: char
      - name: psk[32]
        type: u8
      - name: psk_set
        type: int
      - name: '*csrattrs'
        type: char
      - name: '*extra_name'
        type: char
      - name: '*extra_value'
        type: char
      item_type: struct
      name: dpp_configuration
      pos:
        line_end: 272
        line_start: 250
        source_file: /src/hostap/src/common/dpp.h
    - fields:
      - name: '*next'
        type: struct dpp_asymmetric_key
      - name: '*csign'
        type: struct crypto_ec_key
      - name: '*pp_key'
        type: struct crypto_ec_key
      - name: '*config_template'
        type: char
      - name: '*connector_template'
        type: char
      item_type: struct
      name: dpp_asymmetric_key
      pos:
        line_end: 280
        line_start: 274
        source_file: /src/hostap/src/common/dpp.h
    - fields:
      - name: '*global'
        type: struct dpp_global
      - name: '*msg_ctx'
        type: void
      - name: peer_version
        type: u8
      - name: '*curve'
        type: struct dpp_curve_params
      - name: '*new_curve'
        type: struct dpp_curve_params
      - name: '*peer_bi'
        type: struct dpp_bootstrap_info
      - name: '*own_bi'
        type: struct dpp_bootstrap_info
      - name: '*tmp_own_bi'
        type: struct dpp_bootstrap_info
      - name: '*tmp_peer_bi'
        type: struct dpp_bootstrap_info
      - name: waiting_pubkey_hash[SHA256_MAC_LEN]
        type: u8
      - name: response_pending
        type: int
      - name: reconfig
        type: int
      - name: reconfig_connector_key
        type: enum dpp_connector_key
      - name: auth_resp_status
        type: enum dpp_status_error
      - name: conf_resp_status
        type: enum dpp_status_error
      - name: force_conf_resp_status
        type: enum dpp_status_error
      - name: peer_mac_addr[ETH_ALEN]
        type: u8
      - name: i_nonce[DPP_MAX_NONCE_LEN]
        type: u8
      - name: r_nonce[DPP_MAX_NONCE_LEN]
        type: u8
      - name: e_nonce[DPP_MAX_NONCE_LEN]
        type: u8
      - name: c_nonce[DPP_MAX_NONCE_LEN]
        type: u8
      - name: i_capab
        type: u8
      - name: r_capab
        type: u8
      - name: e_netrole
        type: enum dpp_netrole
      - name: '*own_protocol_key'
        type: struct crypto_ec_key
      - name: '*peer_protocol_key'
        type: struct crypto_ec_key
      - name: '*reconfig_old_protocol_key'
        type: struct crypto_ec_key
      - name: '*req_msg'
        type: struct wpabuf
      - name: '*resp_msg'
        type: struct wpabuf
      - name: '*reconfig_req_msg'
        type: struct wpabuf
      - name: '*reconfig_resp_msg'
        type: struct wpabuf
      - name: freq[DPP_BOOTSTRAP_MAX_FREQ]
        type: unsigned int
      - name: num_freq
        type: unsigned int
      - name: curr_freq
        type: unsigned int
      - name: neg_freq
        type: unsigned int
      - name: num_freq_iters
        type: unsigned int
      - name: secret_len
        type: size_t
      - name: Mx[DPP_MAX_SHARED_SECRET_LEN]
        type: u8
      - name: Mx_len
        type: size_t
      - name: Nx[DPP_MAX_SHARED_SECRET_LEN]
        type: u8
      - name: Nx_len
        type: size_t
      - name: Lx[DPP_MAX_SHARED_SECRET_LEN]
        type: u8
      - name: Lx_len
        type: size_t
      - name: k1[DPP_MAX_HASH_LEN]
        type: u8
      - name: k2[DPP_MAX_HASH_LEN]
        type: u8
      - name: ke[DPP_MAX_HASH_LEN]
        type: u8
      - name: bk[DPP_MAX_HASH_LEN]
        type: u8
      - name: initiator
        type: int
      - name: waiting_auth_resp
        type: int
      - name: waiting_auth_conf
        type: int
      - name: auth_req_ack
        type: int
      - name: auth_resp_tries
        type: unsigned int
      - name: allowed_roles
        type: u8
      - name: configurator
        type: int
      - name: remove_on_tx_status
        type: int
      - name: connect_on_tx_status
        type: int
      - name: waiting_conf_result
        type: int
      - name: waiting_conn_status_result
        type: int
      - name: auth_success
        type: int
      - name: reconfig_success
        type: bool
      - name: '*conf_req'
        type: struct wpabuf
      - name: '*conf_resp'
        type: struct wpabuf
      - name: '*conf_resp_tcp'
        type: struct wpabuf
      - name: '*conf_ap'
        type: struct dpp_configuration
      - name: '*conf2_ap'
        type: struct dpp_configuration
      - name: '*conf_sta'
        type: struct dpp_configuration
      - name: '*conf2_sta'
        type: struct dpp_configuration
      - name: provision_configurator
        type: int
      - name: '*conf'
        type: struct dpp_configurator
      - name: conf_obj[DPP_MAX_CONF_OBJ]
        type: "struct dpp_config_obj {\n\t\tchar *connector; /* received signedConnector
          */\n\t\tu8 ssid[SSID_MAX_LEN];\n\t\tu8 ssid_len;\n\t\tint ssid_charset;\n\t\tchar
          passphrase[64];\n#ifdef CONFIG_DPP3\n\t\tchar password_id[64];\n#endif /*
          CONFIG_DPP3 */\n\t\tu8 psk[PMK_LEN];\n\t\tint psk_set;\n\t\tenum dpp_akm
          akm;\n\t\tstruct wpabuf *c_sign_key;\n\t\tstruct wpabuf *certbag;\n\t\tstruct
          wpabuf *certs;\n\t\tstruct wpabuf *cacert;\n\t\tchar *server_name;\n\t\tstruct
          wpabuf *pp_key;\n\t}"
      - name: num_conf_obj
        type: unsigned int
      - name: '*conf_key_pkg'
        type: struct dpp_asymmetric_key
      - name: '*net_access_key'
        type: struct wpabuf
      - name: net_access_key_expiry
        type: os_time_t
      - name: send_conn_status
        type: int
      - name: conn_status_requested
        type: int
      - name: akm_use_selector
        type: int
      - name: configurator_set
        type: int
      - name: transaction_id
        type: u8
      - name: '*csrattrs'
        type: u8
      - name: csrattrs_len
        type: size_t
      - name: waiting_csr
        type: bool
      - name: '*csr'
        type: struct wpabuf
      - name: '*priv_key'
        type: struct wpabuf
      - name: waiting_cert
        type: bool
      - name: '*trusted_eap_server_name'
        type: char
      - name: '*cacert'
        type: struct wpabuf
      - name: '*certbag'
        type: struct wpabuf
      - name: waiting_new_key
        type: bool
      - name: new_key_received
        type: bool
      - name: '*config_resp_ctx'
        type: void
      - name: '*gas_server_ctx'
        type: void
      - name: use_config_query
        type: bool
      - name: waiting_config
        type: bool
      - name: '*e_name'
        type: char
      - name: '*e_mud_url'
        type: char
      - name: '*e_band_support'
        type: int
      - name: enrollee_capabilities
        type: unsigned int
      item_type: struct
      name: dpp_authentication
      pos:
        line_end: 409
        line_start: 284
        source_file: /src/hostap/src/common/dpp.h
    - fields:
      - name: '*connector'
        type: char
      - name: ssid[SSID_MAX_LEN]
        type: u8
      - name: ssid_len
        type: u8
      - name: ssid_charset
        type: int
      - name: passphrase[64]
        type: char
      - name: psk[PMK_LEN]
        type: u8
      - name: psk_set
        type: int
      - name: akm
        type: enum dpp_akm
      - name: '*c_sign_key'
        type: struct wpabuf
      - name: '*certbag'
        type: struct wpabuf
      - name: '*certs'
        type: struct wpabuf
      - name: '*cacert'
        type: struct wpabuf
      - name: '*server_name'
        type: char
      - name: '*pp_key'
        type: struct wpabuf
      item_type: struct
      name: dpp_config_obj
      pos:
        line_end: 374
        line_start: 356
        source_file: /src/hostap/src/common/dpp.h
    - fields:
      - name: list
        type: struct dl_list
      - name: id
        type: unsigned int
      - name: own
        type: int
      - name: '*csign'
        type: struct crypto_ec_key
      - name: kid_hash[SHA256_MAC_LEN]
        type: u8
      - name: '*kid'
        type: char
      - name: '*curve'
        type: struct dpp_curve_params
      - name: '*net_access_key_curve'
        type: struct dpp_curve_params
      - name: '*connector'
        type: char
      - name: '*connector_key'
        type: struct crypto_ec_key
      - name: '*pp_key'
        type: struct crypto_ec_key
      item_type: struct
      name: dpp_configurator
      pos:
        line_end: 423
        line_start: 411
        source_file: /src/hostap/src/common/dpp.h
    - fields:
      - name: pmkid[PMKID_LEN]
        type: u8
      - name: pmk[PMK_LEN_MAX]
        type: u8
      - name: pmk_len
        type: size_t
      - name: peer_version
        type: int
      - name: '*peer_key'
        type: struct crypto_ec_key
      - name: kem_id
        type: enum hpke_kem_id
      - name: kdf_id
        type: enum hpke_kdf_id
      - name: aead_id
        type: enum hpke_aead_id
      item_type: struct
      name: dpp_introduction
      pos:
        line_end: 434
        line_start: 425
        source_file: /src/hostap/src/common/dpp.h
    - fields:
      - name: '*ipaddr'
        type: struct hostapd_ip_addr
      - name: '*pkhash'
        type: u8
      - name: '*msg_ctx'
        type: void
      - name: '*cb_ctx'
        type: void
      - name: "(*tx)(void *ctx, const u8 *addr, unsigned int freq, const u8 *msg,\n\t\t
          \  size_t len)"
        type: void
      - name: "(*gas_resp_tx)(void *ctx, const u8 *addr, u8 dialog_token, int prot,\n\t\t\t
          \   struct wpabuf *buf)"
        type: void
      item_type: struct
      name: dpp_relay_config
      pos:
        line_end: 446
        line_start: 436
        source_file: /src/hostap/src/common/dpp.h
    - fields:
      - name: '*configurator_params'
        type: char
      - name: tcp_port
        type: int
      - name: allowed_roles
        type: u8
      - name: qr_mutual
        type: int
      - name: netrole
        type: enum dpp_netrole
      - name: '*msg_ctx'
        type: void
      - name: '*cb_ctx'
        type: void
      - name: (*process_conf_obj)(void *ctx, struct dpp_authentication *auth)
        type: int
      - name: (*tcp_msg_sent)(void *ctx, struct dpp_authentication *auth)
        type: bool
      item_type: struct
      name: dpp_controller_config
      pos:
        line_end: 458
        line_start: 448
        source_file: /src/hostap/src/common/dpp.h
    - fields:
      - name: hash[SHA256_MAC_LEN]
        type: u8
      - name: rx_time
        type: struct os_reltime
      item_type: struct
      name: dpp_pb_info
      pos:
        line_end: 465
        line_start: 462
        source_file: /src/hostap/src/common/dpp.h
    - fields:
      - name: '*ecdh'
        type: struct crypto_ecdh
      - name: '*curve'
        type: struct dpp_curve_params
      - name: '*ie'
        type: struct wpabuf
      - name: '*secret'
        type: struct wpabuf
      item_type: struct
      name: dpp_pfs
      pos:
        line_end: 711
        line_start: 706
        source_file: /src/hostap/src/common/dpp.h
    - fields:
      - name: '*cb_ctx'
        type: void
      - name: (*remove_bi)(void *ctx, struct dpp_bootstrap_info *bi)
        type: void
      item_type: struct
      name: dpp_global_config
      pos:
        line_end: 825
        line_start: 822
        source_file: /src/hostap/src/common/dpp.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/common/ocv.h
  types:
    enum:
    - enumerators:
      - name: OCI_SUCCESS
      - name: OCI_INVALID_LENGTH
      - name: OCI_PARSE_ERROR
      - name: OCI_NOT_FOUND
      - name: OCI_PRIMARY_FREQ_MISMATCH
      - name: OCI_CHANNEL_WIDTH_MISMATCH
      - name: OCI_SECONDARY_FREQ_MISMATCH
      - name: OCI_SEG_1_INDEX_MISMATCH
      item_type: enum
      name: oci_verify_result
      pos:
        line_end: 33
        line_start: 29
        source_file: /src/hostap/src/common/ocv.h
    preproc_defs:
    - item_type: preproc_def
      name: OCV_OCI_LEN
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/hostap/src/common/ocv.h
      type_or_value: '3'
    - item_type: preproc_def
      name: OCV_OCI_EXTENDED_LEN
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/hostap/src/common/ocv.h
      type_or_value: (3 + OCV_OCI_LEN)
    - item_type: preproc_def
      name: OCV_OCI_KDE_LEN
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/hostap/src/common/ocv.h
      type_or_value: (2 + RSN_SELECTOR_LEN + OCV_OCI_LEN)
    structs:
    - fields:
      - name: op_class
        type: u8
      - name: channel
        type: u8
      - name: seg1_idx
        type: u8
      - name: freq
        type: int
      - name: sec_channel
        type: int
      - name: chanwidth
        type: int
      item_type: struct
      name: oci_info
      pos:
        line_end: 23
        line_start: 13
        source_file: /src/hostap/src/common/ocv.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/common/privsep_commands.h
  types:
    enum:
    - enumerators:
      - name: PRIVSEP_CMD_REGISTER
      - name: PRIVSEP_CMD_UNREGISTER
      - name: PRIVSEP_CMD_SCAN
      - name: PRIVSEP_CMD_GET_SCAN_RESULTS
      - name: PRIVSEP_CMD_ASSOCIATE
      - name: PRIVSEP_CMD_GET_BSSID
      - name: PRIVSEP_CMD_GET_SSID
      - name: PRIVSEP_CMD_SET_KEY
      - name: PRIVSEP_CMD_GET_CAPA
      - name: PRIVSEP_CMD_L2_REGISTER
      - name: PRIVSEP_CMD_L2_UNREGISTER
      - name: PRIVSEP_CMD_SET_COUNTRY
      - name: PRIVSEP_CMD_L2_SEND
      - name: PRIVSEP_CMD_AUTHENTICATE
      - name: PRIVSEP_CMD_L2_NOTIFY_AUTH_START
      item_type: enum
      name: privsep_cmd
      pos:
        line_end: 30
        line_start: 14
        source_file: /src/hostap/src/common/privsep_commands.h
    - enumerators:
      - name: PRIVSEP_EVENT_SCAN_RESULTS
      - name: PRIVSEP_EVENT_ASSOCINFO
      - name: PRIVSEP_EVENT_MICHAEL_MIC_FAILURE
      - name: PRIVSEP_EVENT_ASSOC
      - name: PRIVSEP_EVENT_DISASSOC
      - name: PRIVSEP_EVENT_INTERFACE_STATUS
      - name: PRIVSEP_EVENT_PMKID_CANDIDATE
      - name: PRIVSEP_EVENT_FT_RESPONSE
      - name: PRIVSEP_EVENT_RX_EAPOL
      - name: PRIVSEP_EVENT_SCAN_STARTED
      - name: PRIVSEP_EVENT_AUTH
      item_type: enum
      name: privsep_event
      pos:
        line_end: 99
        line_start: 87
        source_file: /src/hostap/src/common/privsep_commands.h
    preproc_defs:
    - item_type: preproc_def
      name: PRIVSEP_MAX_SCAN_FREQS
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/hostap/src/common/privsep_commands.h
      type_or_value: '50'
    structs:
    - fields:
      - name: num_ssids
        type: unsigned int
      - name: ssids[WPAS_MAX_SCAN_SSIDS][32]
        type: u8
      - name: ssid_lens[WPAS_MAX_SCAN_SSIDS]
        type: u8
      - name: num_freqs
        type: unsigned int
      - name: freqs[PRIVSEP_MAX_SCAN_FREQS]
        type: u16
      item_type: struct
      name: privsep_cmd_scan
      pos:
        line_end: 40
        line_start: 34
        source_file: /src/hostap/src/common/privsep_commands.h
    - fields:
      - name: freq
        type: int
      - name: bssid[ETH_ALEN]
        type: u8
      - name: ssid[SSID_MAX_LEN]
        type: u8
      - name: ssid_len
        type: size_t
      - name: auth_alg
        type: int
      - name: ie_len
        type: size_t
      - name: wep_key[4][16]
        type: u8
      - name: wep_key_len[4]
        type: size_t
      - name: wep_tx_keyidx
        type: int
      - name: local_state_change
        type: int
      - name: p2p
        type: int
      - name: auth_data_len
        type: size_t
      item_type: struct
      name: privsep_cmd_authenticate
      pos:
        line_end: 57
        line_start: 42
        source_file: /src/hostap/src/common/privsep_commands.h
    - fields:
      - name: bssid[ETH_ALEN]
        type: u8
      - name: ssid[SSID_MAX_LEN]
        type: u8
      - name: ssid_len
        type: size_t
      - name: hwmode
        type: int
      - name: freq
        type: int
      - name: channel
        type: int
      - name: pairwise_suite
        type: int
      - name: group_suite
        type: int
      - name: key_mgmt_suite
        type: int
      - name: auth_alg
        type: int
      - name: mode
        type: int
      - name: wpa_ie_len
        type: size_t
      item_type: struct
      name: privsep_cmd_associate
      pos:
        line_end: 73
        line_start: 59
        source_file: /src/hostap/src/common/privsep_commands.h
    - fields:
      - name: alg
        type: int
      - name: addr[ETH_ALEN]
        type: u8
      - name: key_idx
        type: int
      - name: set_tx
        type: int
      - name: seq[8]
        type: u8
      - name: seq_len
        type: size_t
      - name: key[32]
        type: u8
      - name: key_len
        type: size_t
      - name: key_flag
        type: enum key_flag
      item_type: struct
      name: privsep_cmd_set_key
      pos:
        line_end: 85
        line_start: 75
        source_file: /src/hostap/src/common/privsep_commands.h
    - fields:
      - name: peer[ETH_ALEN]
        type: u8
      - name: bssid[ETH_ALEN]
        type: u8
      - name: auth_type
        type: u16
      - name: auth_transaction
        type: u16
      - name: status_code
        type: u16
      - name: ies_len
        type: size_t
      item_type: struct
      name: privsep_event_auth
      pos:
        line_end: 109
        line_start: 101
        source_file: /src/hostap/src/common/privsep_commands.h
    typedefs: []
    union: []
- function_names:
  - dpp_free_asymmetric_key
  - dpp_build_conf_params
  - dpp_build_attribute
  - dpp_build_key_alg
  - dpp_build_key_pkg
  - dpp_build_pbkdf2_alg_id
  - dpp_build_pw_recipient_info
  - dpp_build_recipient_info
  - dpp_build_enc_cont_info
  - dpp_gen_random
  - dpp_build_enveloped_data
  - dpp_parse_recipient_infos
  - dpp_parse_encrypted_content_info
  - dpp_parse_enveloped_data
  - dpp_parse_one_asymmetric_key
  - dpp_parse_dpp_asymmetric_key_package
  - dpp_conf_resp_env_data
  source_file: /src/hostap/src/common/dpp_backup.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*enc_cont'
        type: u8
      - name: enc_cont_len
        type: size_t
      - name: '*enc_key'
        type: u8
      - name: enc_key_len
        type: size_t
      - name: '*salt'
        type: u8
      - name: pbkdf2_key_len
        type: size_t
      - name: prf_hash_len
        type: size_t
      item_type: struct
      name: dpp_enveloped_data
      pos:
        line_end: 532
        line_start: 524
        source_file: /src/hostap/src/common/dpp_backup.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/common/gas.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dpp_get_curve_name
  - dpp_get_curve_jwk_crv
  - dpp_get_curve_ike_group
  - dpp_debug_print_key
  - dpp_hash_vector
  - dpp_hkdf_expand
  - dpp_hmac_vector
  - dpp_hmac
  - dpp_pbkdf2_f
  - dpp_pbkdf2
  - dpp_set_pubkey_point
  - dpp_get_pubkey_hash
  - dpp_gen_keypair
  - dpp_set_keypair
  - dpp_bootstrap_key_hash
  - dpp_keygen
  - dpp_derive_k1
  - dpp_derive_k2
  - dpp_derive_bk_ke
  - dpp_ecdh
  - dpp_bi_pubkey_hash
  - dpp_get_subject_public_key
  - dpp_parse_jws_prot_hdr
  - dpp_check_pubkey_match
  - dpp_process_signed_connector
  - dpp_check_signed_connector
  - dpp_gen_r_auth
  - dpp_gen_i_auth
  - dpp_auth_derive_l_responder
  - dpp_auth_derive_l_initiator
  - dpp_derive_pmk
  - dpp_derive_pmkid
  - dpp_pkex_get_role_elem
  - dpp_pkex_derive_Qi
  - dpp_pkex_derive_Qr
  - dpp_pkex_derive_z
  - dpp_reconfig_derive_ke_responder
  - dpp_reconfig_derive_ke_initiator
  - dpp_build_jws_prot_hdr
  - dpp_build_conn_signature
  - dpp_sign_connector
  - dpp_pfs_init
  - dpp_pfs_process
  - dpp_pfs_free
  - dpp_build_csr
  - dpp_validate_csr
  - dpp_gen_reconfig_id
  - dpp_update_reconfig_id
  - dpp_free_reconfig_id
  - dpp_decrypt_e_id
  - dpp_derive_auth_i
  - dpp_hpke_suite
  - dpp_test_gen_invalid_key
  - dpp_corrupt_connector_signature
  source_file: /src/hostap/src/common/dpp_crypto.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - gas_server_deinit
  source_file: /src/hostap/src/common/gas_server.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dpp_pkex_build_exchange_req
  - dpp_pkex_fail
  - dpp_pkex_init
  - dpp_pkex_build_exchange_resp
  - dpp_pkex_identifier_match
  - dpp_pkex_rx_exchange_req
  - dpp_pkex_build_commit_reveal_req
  - dpp_pkex_rx_exchange_resp
  - dpp_pkex_build_commit_reveal_resp
  - dpp_pkex_rx_commit_reveal_req
  - dpp_pkex_rx_commit_reveal_resp
  - dpp_pkex_finish
  - dpp_pkex_free
  source_file: /src/hostap/src/common/dpp_pkex.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/common/ptksa_cache.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: list
        type: struct dl_list
      - name: ptk
        type: struct wpa_ptk
      - name: expiration
        type: os_time_t
      - name: cipher
        type: u32
      - name: addr[ETH_ALEN]
        type: u8
      - name: own_addr[ETH_ALEN]
        type: u8
      - name: (*cb)(struct ptksa_cache_entry *e)
        type: void
      - name: '*ctx'
        type: void
      - name: akmp
        type: u32
      - name: auth_alg
        type: u16
      item_type: struct
      name: ptksa_cache_entry
      pos:
        line_end: 30
        line_start: 19
        source_file: /src/hostap/src/common/ptksa_cache.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/common/brcm_vendor.h
  types:
    enum:
    - enumerators:
      - name: BRCM_VENDOR_SCMD_UNSPEC
        value: '0'
      - name: BRCM_VENDOR_SCMD_BCM_STR
        value: '2'
      - name: BRCM_VENDOR_SCMD_PRIV_STR
        value: '1'
      - name: BRCM_VENDOR_SCMD_BCM_PSK
        value: '3'
      - name: BRCM_VENDOR_SCMD_SET_PMK
        value: '4'
      - name: BRCM_VENDOR_SCMD_GET_FEATURES
        value: '5'
      - name: BRCM_VENDOR_SCMD_SET_MAC
        value: '6'
      - name: BRCM_VENDOR_SCMD_SET_CONNECT_PARAMS
        value: '7'
      - name: BRCM_VENDOR_SCMD_SET_START_AP_PARAMS
        value: '8'
      - name: BRCM_VENDOR_SCMD_ACS
        value: '9'
      - name: BRCM_VENDOR_SCMD_MAX
        value: '10'
      item_type: enum
      name: brcm_nl80211_vendor_subcmds
      pos:
        line_end: 65
        line_start: 53
        source_file: /src/hostap/src/common/brcm_vendor.h
    - enumerators:
      - name: BRCM_VENDOR_EVENT_UNSPEC
        value: '0'
      - name: GOOGLE_GSCAN_GEOFENCE_FOUND_EVENT
        value: '3'
      - name: GOOGLE_SCAN_COMPLETE_EVENT
        value: '7'
      - name: GOOGLE_NAN_EVENT_ENABLED
        value: '15'
      - name: GOOGLE_FW_DUMP_EVENT
        value: '11'
      - name: GOOGLE_NAN_EVENT_SUBSCRIBE_TERMINATED
        value: '20'
      - name: GOOGLE_NAN_EVENT_DATA_REQUEST
        value: '24'
      - name: GOOGLE_NAN_EVENT_SDF
        value: '28'
      - name: GOOGLE_ROAM_EVENT_START
        value: '32'
      - name: BRCM_VENDOR_EVENT_PORT_AUTHORIZED
        value: '36'
      - name: GOOGLE_GSCAN_SIGNIFICANT_EVENT
        value: '2'
      - name: GOOGLE_RTT_COMPLETE_EVENT
        value: '6'
      - name: GOOGLE_DEBUG_RING_EVENT
        value: '10'
      - name: GOOGLE_NAN_EVENT_SUBSCRIBE_MATCH
        value: '17'
      - name: GOOGLE_MKEEP_ALIVE_EVENT
        value: '14'
      - name: GOOGLE_NAN_EVENT_PUBLISH_TERMINATED
        value: '19'
      - name: GOOGLE_NAN_EVENT_TRANSMIT_FOLLOWUP_IND
        value: '23'
      - name: GOOGLE_NAN_EVENT_BEACON
        value: '27'
      - name: GOOGLE_NAN_EVENT_UNKNOWN
        value: '31'
      - name: BRCM_VENDOR_EVENT_BEACON_RECV
        value: '35'
      - name: BRCM_VENDOR_EVENT_WIPS
        value: '39'
      - name: BRCM_VENDOR_EVENT_ACS
        value: '42'
      - name: BRCM_VENDOR_EVENT_PRIV_STR
        value: '1'
      - name: GOOGLE_SCAN_FULL_RESULTS_EVENT
        value: '5'
      - name: GOOGLE_SCAN_EPNO_EVENT
        value: '9'
      - name: GOOGLE_RSSI_MONITOR_EVENT
        value: '13'
      - name: GOOGLE_NAN_EVENT_DISABLED
        value: '16'
      - name: GOOGLE_NAN_EVENT_REPLIED
        value: '18'
      - name: GOOGLE_NAN_EVENT_FOLLOWUP
        value: '22'
      - name: GOOGLE_NAN_EVENT_DATA_END
        value: '26'
      - name: GOOGLE_NAN_EVENT_SUBSCRIBE_UNMATCH
        value: '30'
      - name: BRCM_VENDOR_EVENT_SAE_KEY
        value: '34'
      - name: BRCM_VENDOR_EVENT_CU
        value: '38'
      - name: GOOGLE_GSCAN_BATCH_SCAN_EVENT
        value: '4'
      - name: GOOGLE_GSCAN_GEOFENCE_LOST_EVENT
        value: '8'
      - name: GOOGLE_PNO_HOTSPOT_FOUND_EVENT
        value: '12'
      - name: GOOGLE_NAN_EVENT_DE_EVENT
        value: '21'
      - name: GOOGLE_NAN_EVENT_DATA_CONFIRMATION
        value: '25'
      - name: GOOGLE_NAN_EVENT_TCA
        value: '29'
      - name: BRCM_VENDOR_EVENT_HANGED
        value: '33'
      - name: GOOGLE_FILE_DUMP_EVENT
        value: '37'
      - name: BRCM_VENDOR_EVENT_RCC_INFO
        value: '41'
      - name: BRCM_VENDOR_EVENT_LAST
      - name: NAN_ASYNC_RESPONSE_DISABLED
        value: '40'
      item_type: enum
      name: brcm_nl80211_vendor_events
      pos:
        line_end: 126
        line_start: 74
        source_file: /src/hostap/src/common/brcm_vendor.h
    - enumerators:
      - name: BRCM_SAE_KEY_ATTR_BSSID
      - name: BRCM_SAE_KEY_ATTR_PMKID
      - name: BRCM_SAE_KEY_ATTR_PMK
      item_type: enum
      name: wifi_sae_key_attr
      pos:
        line_end: 133
        line_start: 129
        source_file: /src/hostap/src/common/brcm_vendor.h
    - enumerators:
      - name: BRCM_VENDOR_ATTR_ACS_CHANNEL_INVALID
        value: '0'
      - name: BRCM_VENDOR_ATTR_ACS_VHT_SEG1_CENTER_CHANNEL
      - name: BRCM_VENDOR_ATTR_ACS_VHT_SEG0_CENTER_CHANNEL
      - name: BRCM_VENDOR_ATTR_ACS_SECONDARY_FREQ
      - name: BRCM_VENDOR_ATTR_ACS_PRIMARY_FREQ
      - name: BRCM_VENDOR_ATTR_ACS_HW_MODE
      - name: BRCM_VENDOR_ATTR_ACS_HT_ENABLED
      - name: BRCM_VENDOR_ATTR_ACS_HT40_ENABLED
      - name: BRCM_VENDOR_ATTR_ACS_VHT_ENABLED
      - name: BRCM_VENDOR_ATTR_ACS_CHWIDTH
      - name: BRCM_VENDOR_ATTR_ACS_LAST
      - name: BRCM_VENDOR_ATTR_ACS_FREQ_LIST
      - name: BRCM_VENDOR_ATTR_ACS_CH_LIST
      item_type: enum
      name: wl_vendor_attr_acs_offload
      pos:
        line_end: 152
        line_start: 136
        source_file: /src/hostap/src/common/brcm_vendor.h
    preproc_defs:
    - item_type: preproc_def
      name: OUI_BRCM
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/hostap/src/common/brcm_vendor.h
      type_or_value: '0x001018'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/common/dragonfly.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DRAGONFLY_MAX_ECC_PRIME_LEN
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/hostap/src/common/dragonfly.h
      type_or_value: '66'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/common/dpp_i.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*msg_ctx'
        type: void
      - name: bootstrap
        type: struct dl_list
      - name: configurator
        type: struct dl_list
      item_type: struct
      name: dpp_global
      pos:
        line_end: 36
        line_start: 15
        source_file: /src/hostap/src/common/dpp_i.h
    - fields:
      - name: '*payload'
        type: unsigned char
      - name: payload_len
        type: size_t
      item_type: struct
      name: dpp_signed_connector_info
      pos:
        line_end: 74
        line_start: 71
        source_file: /src/hostap/src/common/dpp_i.h
    - fields:
      - name: '*ec'
        type: struct crypto_ec
      - name: '*e_id'
        type: struct crypto_ec_point
      - name: '*csign'
        type: struct crypto_ec_key
      - name: '*a_nonce'
        type: struct crypto_ec_key
      - name: '*e_prime_id'
        type: struct crypto_ec_key
      - name: '*pp_key'
        type: struct crypto_ec_key
      item_type: struct
      name: dpp_reconfig_id
      pos:
        line_end: 157
        line_start: 150
        source_file: /src/hostap/src/common/dpp_i.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/common/proc_coord.h
  types:
    enum:
    - enumerators:
      - name: PROC_COORD_MSG_REQUEST
        value: '0'
      - name: PROC_COORD_MSG_EVENT
        value: '2'
      - name: PROC_COORD_MSG_RESPONSE
        value: '1'
      item_type: enum
      name: proc_coord_message_types
      pos:
        line_end: 17
        line_start: 13
        source_file: /src/hostap/src/common/proc_coord.h
    - enumerators:
      - name: PROC_COORD_CMD_STARTING
        value: '0'
      - name: PROC_COORD_CMD_STOPPING
        value: '1'
      - name: PROC_COORD_CMD_PING
        value: '2'
      - name: PROC_COORD_CMD_TEST
        value: '3'
      item_type: enum
      name: proc_coord_commands
      pos:
        line_end: 24
        line_start: 19
        source_file: /src/hostap/src/common/proc_coord.h
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: "(*proc_coord_cb)(void *ctx, int src,\n\t\t\t      enum proc_coord_message_types
        msg_type,\n\t\t\t      enum proc_coord_commands cmd,\n\t\t\t      u32 seq,
        const struct wpabuf *msg)"
      pos:
        line_end: 44
        line_start: 41
        source_file: /src/hostap/src/common/proc_coord.h
      type: bool
    - item_type: typedef
      name: "(*proc_coord_response_cb)(void *ctx, int pid,\n\t\t\t\t       const struct
        wpabuf *msg)"
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/hostap/src/common/proc_coord.h
      type: void
    union: []
- function_names: []
  source_file: /src/hostap/src/wps/wps_upnp.h
  types:
    enum:
    - enumerators:
      - name: UPNP_WPS_WLANEVENT_TYPE_PROBE
        value: '1'
      - name: UPNP_WPS_WLANEVENT_TYPE_EAP
        value: '2'
      item_type: enum
      name: upnp_wps_wlanevent_type
      pos:
        line_end: 27
        line_start: 24
        source_file: /src/hostap/src/wps/wps_upnp.h
    preproc_defs: []
    structs:
    - fields:
      - name: list
        type: struct dl_list
      - name: '*wps'
        type: struct wps_data
      item_type: struct
      name: upnp_wps_peer
      pos:
        line_end: 22
        line_start: 19
        source_file: /src/hostap/src/wps/wps_upnp.h
    - fields:
      - name: "(*rx_req_put_wlan_response)(\n\t\tvoid *priv, enum upnp_wps_wlanevent_type
          ev_type,\n\t\tconst u8 *mac_addr, const struct wpabuf *msg,\n\t\tenum wps_msg_type
          msg_type)"
        type: int
      - name: '*ap_pin'
        type: char
      item_type: struct
      name: upnp_wps_device_ctx
      pos:
        line_end: 36
        line_start: 29
        source_file: /src/hostap/src/wps/wps_upnp.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/wps/wps_attr_parse.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_CRED_COUNT
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/hostap/src/wps/wps_attr_parse.h
      type_or_value: '10'
    - item_type: preproc_def
      name: MAX_REQ_DEV_TYPE_COUNT
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/hostap/src/wps/wps_attr_parse.h
      type_or_value: '10'
    structs:
    - fields:
      - name: '*version'
        type: u8
      - name: '*version2'
        type: u8
      - name: '*msg_type'
        type: u8
      - name: '*enrollee_nonce'
        type: u8
      - name: '*registrar_nonce'
        type: u8
      - name: '*uuid_r'
        type: u8
      - name: '*uuid_e'
        type: u8
      - name: '*auth_type_flags'
        type: u8
      - name: '*encr_type_flags'
        type: u8
      - name: '*conn_type_flags'
        type: u8
      - name: '*config_methods'
        type: u8
      - name: '*sel_reg_config_methods'
        type: u8
      - name: '*primary_dev_type'
        type: u8
      - name: '*rf_bands'
        type: u8
      - name: '*assoc_state'
        type: u8
      - name: '*config_error'
        type: u8
      - name: '*dev_password_id'
        type: u8
      - name: '*os_version'
        type: u8
      - name: '*wps_state'
        type: u8
      - name: '*authenticator'
        type: u8
      - name: '*r_hash1'
        type: u8
      - name: '*r_hash2'
        type: u8
      - name: '*e_hash1'
        type: u8
      - name: '*e_hash2'
        type: u8
      - name: '*r_snonce1'
        type: u8
      - name: '*r_snonce2'
        type: u8
      - name: '*e_snonce1'
        type: u8
      - name: '*e_snonce2'
        type: u8
      - name: '*key_wrap_auth'
        type: u8
      - name: '*auth_type'
        type: u8
      - name: '*encr_type'
        type: u8
      - name: '*network_idx'
        type: u8
      - name: '*network_key_idx'
        type: u8
      - name: '*mac_addr'
        type: u8
      - name: '*selected_registrar'
        type: u8
      - name: '*request_type'
        type: u8
      - name: '*response_type'
        type: u8
      - name: '*ap_setup_locked'
        type: u8
      - name: '*settings_delay_time'
        type: u8
      - name: '*network_key_shareable'
        type: u8
      - name: '*request_to_enroll'
        type: u8
      - name: '*ap_channel'
        type: u8
      - name: '*registrar_configuration_methods'
        type: u8
      - name: '*manufacturer'
        type: u8
      - name: '*model_name'
        type: u8
      - name: '*model_number'
        type: u8
      - name: '*serial_number'
        type: u8
      - name: '*dev_name'
        type: u8
      - name: '*public_key'
        type: u8
      - name: '*encr_settings'
        type: u8
      - name: '*ssid'
        type: u8
      - name: '*network_key'
        type: u8
      - name: '*authorized_macs'
        type: u8
      - name: '*sec_dev_type_list'
        type: u8
      - name: '*oob_dev_password'
        type: u8
      - name: manufacturer_len
        type: u16
      - name: model_name_len
        type: u16
      - name: model_number_len
        type: u16
      - name: serial_number_len
        type: u16
      - name: dev_name_len
        type: u16
      - name: public_key_len
        type: u16
      - name: encr_settings_len
        type: u16
      - name: ssid_len
        type: u16
      - name: network_key_len
        type: u16
      - name: authorized_macs_len
        type: u16
      - name: sec_dev_type_list_len
        type: u16
      - name: oob_dev_password_len
        type: u16
      - name: num_cred
        type: unsigned int
      - name: num_req_dev_type
        type: unsigned int
      - name: num_vendor_ext
        type: unsigned int
      - name: cred_len[MAX_CRED_COUNT]
        type: u16
      - name: vendor_ext_len[MAX_WPS_PARSE_VENDOR_EXT]
        type: u16
      - name: '*cred[MAX_CRED_COUNT]'
        type: u8
      - name: '*req_dev_type[MAX_REQ_DEV_TYPE_COUNT]'
        type: u8
      - name: '*vendor_ext[MAX_WPS_PARSE_VENDOR_EXT]'
        type: u8
      - name: multi_ap_ext
        type: u8
      item_type: struct
      name: wps_parse_attr
      pos:
        line_end: 100
        line_start: 13
        source_file: /src/hostap/src/wps/wps_attr_parse.h
    typedefs: []
    union: []
- function_names:
  - format_date
  - uuid_make
  - subscr_addr_delete
  - subscr_addr_free_all
  - local_network_addr
  - subscr_addr_add_url
  - subscr_addr_list_create
  - wpabuf_put_property
  - upnp_wps_device_send_event
  - subscription_destroy
  - subscription_list_age
  - subscription_find
  - build_fake_wsc_ack
  - subscription_first_event
  - subscription_start
  - subscription_renew
  - upnp_wps_device_send_wlan_event
  - eth_get
  - get_netif_info
  - upnp_wps_free_msearchreply
  - upnp_wps_free_subscriptions
  - dl_list_for_each_safe
  - upnp_wps_device_stop
  - upnp_wps_device_start
  - upnp_wps_get_iface
  - upnp_wps_device_deinit
  - upnp_wps_device_init
  - upnp_wps_subscribers
  - upnp_wps_set_ap_pin
  source_file: /src/hostap/src/wps/wps_upnp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NO_DOMAIN_NAME_RESOLUTION
      pos:
        line_end: 200
        line_start: 199
        source_file: /src/hostap/src/wps/wps_upnp.c
      type_or_value: '1  '
    - item_type: preproc_def
      name: MAX_SUBSCRIPTIONS
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/hostap/src/wps/wps_upnp.c
      type_or_value: '4    '
    - item_type: preproc_def
      name: MAX_ADDR_PER_SUBSCRIPTION
      pos:
        line_end: 210
        line_start: 209
        source_file: /src/hostap/src/wps/wps_upnp.c
      type_or_value: '8'
    - item_type: preproc_def
      name: MAX_EVENTS_PER_SEC
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/hostap/src/wps/wps_upnp.c
      type_or_value: '5'
    structs: []
    typedefs: []
    union: []
- function_names:
  - wps_init
  - wps_deinit
  - wps_process_msg
  - wps_get_msg
  - wps_is_selected_pbc_registrar
  - is_selected_pin_registrar
  - wps_is_selected_pin_registrar
  - wps_is_addr_authorized
  - wps_ap_priority_compar
  - wps_get_uuid_e
  - wps_is_20
  - wps_build_assoc_req_ie
  - wps_build_assoc_resp_ie
  - wps_build_probe_req_ie
  - wps_free_pending_msgs
  - wps_attr_text
  - wps_ei_str
  source_file: /src/hostap/src/wps/wps.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - wps_build_wps_state
  - wps_build_e_hash
  - wps_build_e_snonce1
  - wps_build_e_snonce2
  - wps_build_m1
  - wps_build_m3
  - wps_build_m5
  - wps_build_cred_ssid
  - wps_build_cred_auth_type
  - wps_build_cred_encr_type
  - wps_build_cred_network_key
  - wps_build_cred_mac_addr
  - wps_build_ap_settings
  - wps_build_m7
  - wps_build_wsc_done
  - wps_enrollee_get_msg
  - wps_process_registrar_nonce
  - wps_process_enrollee_nonce
  - wps_process_uuid_r
  - wps_process_pubkey
  - wps_process_r_hash1
  - wps_process_r_hash2
  - wps_process_r_snonce1
  - wps_process_r_snonce2
  - wps_process_cred_e
  - wps_process_creds
  - wps_process_ap_settings_e
  - wps_process_dev_pw_id
  - wps_process_m2
  - wps_process_m2d
  - wps_process_m4
  - wps_process_m6
  - wps_process_m8
  - wps_process_wsc_msg
  - wps_process_wsc_ack
  - wps_process_wsc_nack
  - wps_enrollee_process_msg
  source_file: /src/hostap/src/wps/wps_enrollee.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/wps/wps_er.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: list
        type: struct dl_list
      - name: '*ap'
        type: struct wps_er_ap
      - name: addr[ETH_ALEN]
        type: u8
      - name: config_methods
        type: u16
      - name: uuid[WPS_UUID_LEN]
        type: u8
      - name: pri_dev_type[8]
        type: u8
      - name: dev_passwd_id
        type: u16
      - name: m1_received
        type: int
      - name: '*manufacturer'
        type: char
      - name: '*model_name'
        type: char
      - name: '*model_number'
        type: char
      - name: '*serial_number'
        type: char
      - name: '*dev_name'
        type: char
      - name: '*wps'
        type: struct wps_data
      - name: '*http'
        type: struct http_client
      - name: '*cred'
        type: struct wps_credential
      item_type: struct
      name: wps_er_sta
      pos:
        line_end: 30
        line_start: 13
        source_file: /src/hostap/src/wps/wps_er.h
    - fields:
      - name: list
        type: struct dl_list
      - name: '*er'
        type: struct wps_er
      - name: sta
        type: struct dl_list
      - name: addr
        type: struct in_addr
      - name: '*location'
        type: char
      - name: '*http'
        type: struct http_client
      - name: '*wps'
        type: struct wps_data
      - name: uuid[WPS_UUID_LEN]
        type: u8
      - name: pri_dev_type[8]
        type: u8
      - name: wps_state
        type: u8
      - name: mac_addr[ETH_ALEN]
        type: u8
      - name: '*friendly_name'
        type: char
      - name: '*manufacturer'
        type: char
      - name: '*manufacturer_url'
        type: char
      - name: '*model_description'
        type: char
      - name: '*model_name'
        type: char
      - name: '*model_number'
        type: char
      - name: '*model_url'
        type: char
      - name: '*serial_number'
        type: char
      - name: '*udn'
        type: char
      - name: '*upc'
        type: char
      - name: '*scpd_url'
        type: char
      - name: '*control_url'
        type: char
      - name: '*event_sub_url'
        type: char
      - name: subscribed
        type: int
      - name: sid[WPS_UUID_LEN]
        type: u8
      - name: id
        type: unsigned int
      - name: '*ap_settings'
        type: struct wps_credential
      - name: (*m1_handler)(struct wps_er_ap *ap, struct wpabuf *m1)
        type: void
      item_type: struct
      name: wps_er_ap
      pos:
        line_end: 67
        line_start: 32
        source_file: /src/hostap/src/wps/wps_er.h
    - fields:
      - name: list
        type: struct dl_list
      - name: uuid[WPS_UUID_LEN]
        type: u8
      - name: ap_settings
        type: struct wps_credential
      item_type: struct
      name: wps_er_ap_settings
      pos:
        line_end: 73
        line_start: 69
        source_file: /src/hostap/src/wps/wps_er.h
    - fields:
      - name: '*wps'
        type: struct wps_context
      - name: ifname[17]
        type: char
      - name: forced_ifname
        type: int
      - name: mac_addr[ETH_ALEN]
        type: u8
      - name: '*ip_addr_text'
        type: char
      - name: ip_addr
        type: unsigned
      - name: multicast_sd
        type: int
      - name: ssdp_sd
        type: int
      - name: ap
        type: struct dl_list
      - name: ap_unsubscribing
        type: struct dl_list
      - name: ap_settings
        type: struct dl_list
      - name: '*http_srv'
        type: struct http_server
      - name: http_port
        type: int
      - name: next_ap_id
        type: unsigned int
      - name: event_id
        type: unsigned int
      - name: deinitializing
        type: int
      - name: (*deinit_done_cb)(void *ctx)
        type: void
      - name: '*deinit_done_ctx'
        type: void
      - name: filter_addr
        type: struct in_addr
      - name: skip_set_sel_reg
        type: int
      - name: '*set_sel_reg_uuid_filter'
        type: u8
      item_type: struct
      name: wps_er
      pos:
        line_end: 97
        line_start: 75
        source_file: /src/hostap/src/wps/wps_er.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/wps/http.h
  types:
    enum:
    - enumerators:
      - name: HTTP_OK
        value: '200'
      - name: UPNP_INVALID_ARGS
        value: '402'
      - name: HTTP_NOT_FOUND
        value: '404'
      - name: UPNP_INVALID_ACTION
        value: '401'
      - name: HTTP_BAD_REQUEST
        value: '400'
      - name: HTTP_PRECONDITION_FAILED
        value: '412'
      - name: HTTP_INTERNAL_SERVER_ERROR
        value: '500'
      - name: HTTP_UNIMPLEMENTED
        value: '501'
      - name: UPNP_ACTION_FAILED
        value: '501'
      - name: UPNP_ARG_VALUE_INVALID
        value: '600'
      - name: UPNP_ARG_VALUE_OUT_OF_RANGE
        value: '601'
      - name: UPNP_OUT_OF_MEMORY
        value: '603'
      item_type: enum
      name: http_reply_code
      pos:
        line_end: 26
        line_start: 13
        source_file: /src/hostap/src/wps/http.h
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - wps_build_manufacturer
  - wps_build_model_name
  - wps_build_model_number
  - wps_build_serial_number
  - wps_build_primary_dev_type
  - wps_build_secondary_dev_type
  - wps_build_req_dev_type
  - wps_build_dev_name
  - wps_build_device_attrs
  - wps_build_os_version
  - wps_build_vendor_ext_m1
  - wps_build_rf_bands
  - wps_build_vendor_ext
  - wps_build_application_ext
  - wps_process_manufacturer
  - wps_process_model_name
  - wps_process_model_number
  - wps_process_serial_number
  - wps_process_dev_name
  - wps_process_primary_dev_type
  - wps_process_device_attrs
  - wps_process_os_version
  - wps_process_vendor_ext_m1
  - wps_process_rf_bands
  - wps_device_data_free
  source_file: /src/hostap/src/wps/wps_dev_attr.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - wps_kdf
  - wps_derive_keys
  - wps_derive_psk
  - wps_decrypt_encr_settings
  - wps_pin_checksum
  - wps_pin_valid
  - wps_generate_pin
  - wps_pin_str_valid
  - wps_fail_event
  - wps_success_event
  - wps_pwd_auth_fail_event
  - wps_pbc_overlap_event
  - wps_pbc_timeout_event
  - wps_pbc_active_event
  - wps_pbc_disable_event
  - wps_get_oob_cred
  - wps_build_nfc_pw_token
  - wps_oob_use_cred
  - wps_dev_type_str2bin
  - wps_dev_type_bin2str
  - uuid_gen_mac_addr
  - wps_config_methods_str2bin
  - wps_build_wsc_ack
  - wps_build_wsc_nack
  - wps_nfc_token_build
  - wps_nfc_gen_dh
  - wps_nfc_token_gen
  - wps_build_nfc_handover_req
  - wps_build_ssid
  - wps_build_ap_freq
  - wps_build_nfc_handover_sel
  - wps_build_nfc_handover_req_p2p
  - wps_build_nfc_handover_sel_p2p
  source_file: /src/hostap/src/wps/wps_common.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndef_parse_record
  - ndef_parse_records
  - ndef_build_record
  - wifi_filter
  - ndef_parse_wifi
  - ndef_build_wifi
  - p2p_filter
  - ndef_parse_p2p
  - ndef_build_p2p
  source_file: /src/hostap/src/wps/ndef.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FLAG_MESSAGE_BEGIN
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/hostap/src/wps/ndef.c
      type_or_value: (1 << 7)
    - item_type: preproc_def
      name: FLAG_MESSAGE_END
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/hostap/src/wps/ndef.c
      type_or_value: (1 << 6)
    - item_type: preproc_def
      name: FLAG_CHUNK
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/hostap/src/wps/ndef.c
      type_or_value: (1 << 5)
    - item_type: preproc_def
      name: FLAG_SHORT_RECORD
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/hostap/src/wps/ndef.c
      type_or_value: (1 << 4)
    - item_type: preproc_def
      name: FLAG_ID_LENGTH_PRESENT
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/hostap/src/wps/ndef.c
      type_or_value: (1 << 3)
    - item_type: preproc_def
      name: FLAG_TNF_NFC_FORUM
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/hostap/src/wps/ndef.c
      type_or_value: (0x01)
    - item_type: preproc_def
      name: FLAG_TNF_RFC2046
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/hostap/src/wps/ndef.c
      type_or_value: (0x02)
    structs:
    - fields:
      - name: '*type'
        type: u8
      - name: '*id'
        type: u8
      - name: '*payload'
        type: u8
      - name: type_length
        type: u8
      - name: id_length
        type: u8
      - name: payload_length
        type: u32
      - name: total_length
        type: u32
      item_type: struct
      name: ndef_record
      pos:
        line_end: 29
        line_start: 21
        source_file: /src/hostap/src/wps/ndef.c
    typedefs: []
    union: []
- function_names:
  - wps_remove_nfc_pw_token
  - wps_free_nfc_pw_tokens
  - dl_list_for_each_safe
  - wps_get_nfc_pw_token
  - dl_list_for_each
  - wps_free_nfc_pw_tokens
  - wps_free_pin
  - wps_remove_pin
  - wps_free_pins
  - wps_free_pbc_sessions
  - wps_registrar_add_authorized_mac
  - wps_registrar_remove_authorized_mac
  - wps_free_devices
  - wps_device_get
  - wps_device_clone_data
  - WPS_STRDUP
  - wps_device_store
  - wps_registrar_add_pbc_session
  - wps_registrar_remove_pbc_session
  - wps_registrar_pbc_overlap
  - wps_build_wps_state
  - wps_registrar_free_pending_m2
  - wps_build_ap_setup_locked
  - wps_build_selected_registrar
  - wps_build_sel_reg_dev_password_id
  - wps_build_sel_pbc_reg_uuid_e
  - wps_set_pushbutton
  - wps_build_sel_reg_config_methods
  - wps_build_probe_config_methods
  - wps_build_config_methods_r
  - wps_authorized_macs
  - wps_registrar_init
  - wps_registrar_flush
  - wps_registrar_deinit
  - wps_registrar_invalidate_unused
  - wps_registrar_add_pin
  - wps_registrar_remove_pin
  - wps_registrar_expire_pins
  - wps_registrar_invalidate_wildcard_pin
  - wps_registrar_invalidate_pin
  - wps_registrar_get_pin
  - wps_registrar_unlock_pin
  - wps_registrar_stop_pbc
  - wps_registrar_pbc_timeout
  - wps_registrar_button_pushed
  - wps_registrar_pbc_completed
  - wps_registrar_pin_completed
  - wps_registrar_complete
  - wps_registrar_wps_cancel
  - wps_registrar_probe_req_rx
  - wps_cb_new_psk
  - wps_cb_pin_needed
  - wps_cb_reg_success
  - wps_cb_set_ie
  - wps_cb_set_sel_reg
  - wps_cp_lookup_pskfile
  - wps_set_ie
  - wps_get_dev_password
  - wps_build_uuid_r
  - wps_build_r_hash
  - wps_build_r_snonce1
  - wps_build_r_snonce2
  - wps_build_cred_network_idx
  - wps_build_cred_ssid
  - wps_build_cred_auth_type
  - wps_build_cred_encr_type
  - wps_build_cred_network_key
  - wps_build_credential
  - wps_build_credential_wrap
  - wps_build_cred
  - wps_build_ap_settings
  - wps_build_ap_cred
  - wps_build_m2
  - wps_build_m2d
  - wps_build_m4
  - wps_build_m6
  - wps_build_m8
  - wps_registrar_get_msg
  - wps_process_enrollee_nonce
  - wps_process_registrar_nonce
  - wps_process_uuid_e
  - wps_process_dev_password_id
  - wps_process_e_hash1
  - wps_process_e_hash2
  - wps_process_e_snonce1
  - wps_process_e_snonce2
  - wps_process_mac_addr
  - wps_process_pubkey
  - wps_process_auth_type_flags
  - wps_process_encr_type_flags
  - wps_process_conn_type_flags
  - wps_process_config_methods
  - wps_process_wps_state
  - wps_process_assoc_state
  - wps_process_config_error
  - wps_registrar_p2p_dev_addr_match
  - wps_registrar_skip_overlap
  - wps_process_m1
  - wps_process_m3
  - wps_process_m5
  - wps_sta_cred_cb
  - wps_cred_update
  - wps_process_ap_settings_r
  - wps_process_m7
  - wps_process_wsc_msg
  - wps_process_wsc_ack
  - wps_process_wsc_nack
  - wps_process_wsc_done
  - wps_registrar_process_msg
  - wps_registrar_update_ie
  - wps_registrar_set_selected_timeout
  - wps_registrar_sel_reg_add
  - wps_registrar_sel_reg_union
  - wps_registrar_selected_registrar_changed
  - wps_registrar_get_info
  - wps_registrar_config_ap
  - wps_registrar_update_multi_ap
  - wps_registrar_add_nfc_pw_token
  - wps_registrar_add_nfc_password_token
  - wps_registrar_remove_nfc_pw_token
  source_file: /src/hostap/src/wps/wps_registrar.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PIN_LOCKED
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/hostap/src/wps/wps_registrar.c
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: PIN_EXPIRES
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/hostap/src/wps/wps_registrar.c
      type_or_value: BIT(1)
    structs:
    - fields:
      - name: list
        type: struct dl_list
      - name: pubkey_hash[WPS_OOB_PUBKEY_HASH_LEN]
        type: u8
      - name: peer_pk_hash_known
        type: unsigned int
      - name: pw_id
        type: u16
      - name: dev_pw[WPS_OOB_DEVICE_PASSWORD_LEN * 2 + 1]
        type: u8
      - name: dev_pw_len
        type: size_t
      - name: pk_hash_provided_oob
        type: int
      item_type: struct
      name: wps_nfc_pw_token
      pos:
        line_end: 39
        line_start: 31
        source_file: /src/hostap/src/wps/wps_registrar.c
    - fields:
      - name: list
        type: struct dl_list
      - name: uuid[WPS_UUID_LEN]
        type: u8
      - name: wildcard_uuid
        type: int
      - name: '*pin'
        type: u8
      - name: pin_len
        type: size_t
      - name: flags
        type: int
      - name: expiration
        type: struct os_reltime
      - name: enrollee_addr[ETH_ALEN]
        type: u8
      item_type: struct
      name: wps_uuid_pin
      pos:
        line_end: 89
        line_start: 78
        source_file: /src/hostap/src/wps/wps_registrar.c
    - fields:
      - name: '*next'
        type: struct wps_pbc_session
      - name: addr[ETH_ALEN]
        type: u8
      - name: uuid_e[WPS_UUID_LEN]
        type: u8
      - name: timestamp
        type: struct os_reltime
      item_type: struct
      name: wps_pbc_session
      pos:
        line_end: 119
        line_start: 114
        source_file: /src/hostap/src/wps/wps_registrar.c
    - fields:
      - name: '*next'
        type: struct wps_registrar_device
      - name: dev
        type: struct wps_device_data
      - name: uuid[WPS_UUID_LEN]
        type: u8
      item_type: struct
      name: wps_registrar_device
      pos:
        line_end: 138
        line_start: 134
        source_file: /src/hostap/src/wps/wps_registrar.c
    - fields:
      - name: '*wps'
        type: struct wps_context
      - name: pbc
        type: int
      - name: selected_registrar
        type: int
      - name: "(*new_psk_cb)(void *ctx, const u8 *mac_addr, const u8 *p2p_dev_addr,\n\t\t\t
          \ const u8 *psk, size_t psk_len)"
        type: int
      - name: "(*set_ie_cb)(void *ctx, struct wpabuf *beacon_ie,\n\t\t\t struct wpabuf
          *probe_resp_ie)"
        type: int
      - name: "(*pin_needed_cb)(void *ctx, const u8 *uuid_e,\n\t\t\t      const struct
          wps_device_data *dev)"
        type: void
      - name: "(*reg_success_cb)(void *ctx, const u8 *mac_addr,\n\t\t\t       const
          u8 *uuid_e, const u8 *dev_pw,\n\t\t\t       size_t dev_pw_len)"
        type: void
      - name: "(*set_sel_reg_cb)(void *ctx, int sel_reg, u16 dev_passwd_id,\n\t\t\t
          \      u16 sel_reg_config_methods)"
        type: void
      - name: "(*enrollee_seen_cb)(void *ctx, const u8 *addr, const u8 *uuid_e,\n\t\t\t\t
          const u8 *pri_dev_type, u16 config_methods,\n\t\t\t\t u16 dev_password_id,
          u8 request_type,\n\t\t\t\t const char *dev_name)"
        type: void
      - name: (*lookup_pskfile_cb)(void *ctx, const u8 *mac_addr, const u8 **psk)
        type: int
      - name: '*cb_ctx'
        type: void
      - name: pins
        type: struct dl_list
      - name: nfc_pw_tokens
        type: struct dl_list
      - name: '*pbc_sessions'
        type: struct wps_pbc_session
      - name: skip_cred_build
        type: int
      - name: '*extra_cred'
        type: struct wpabuf
      - name: disable_auto_conf
        type: int
      - name: sel_reg_union
        type: int
      - name: sel_reg_dev_password_id_override
        type: int
      - name: sel_reg_config_methods_override
        type: int
      - name: dualband
        type: int
      - name: force_per_enrollee_psk
        type: int
      - name: '*devices'
        type: struct wps_registrar_device
      - name: force_pbc_overlap
        type: int
      - name: authorized_macs[WPS_MAX_AUTHORIZED_MACS][ETH_ALEN]
        type: u8
      - name: authorized_macs_union[WPS_MAX_AUTHORIZED_MACS][ETH_ALEN]
        type: u8
      - name: p2p_dev_addr[ETH_ALEN]
        type: u8
      - name: pbc_ignore_uuid[WPS_UUID_LEN]
        type: u8
      - name: multi_ap_backhaul_ssid[SSID_MAX_LEN]
        type: u8
      - name: multi_ap_backhaul_ssid_len
        type: size_t
      - name: '*multi_ap_backhaul_network_key'
        type: u8
      - name: multi_ap_backhaul_network_key_len
        type: size_t
      item_type: struct
      name: wps_registrar
      pos:
        line_end: 222
        line_start: 141
        source_file: /src/hostap/src/wps/wps_registrar.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/wps/wps_defs.h
  types:
    enum:
    - enumerators:
      - name: ATTR_CONFIG_METHODS
        value: '0x1008'
      - name: ATTR_ENROLLEE_NONCE
        value: '0x101a'
      - name: ATTR_OOB_DEVICE_PASSWORD
        value: '0x102c'
      - name: ATTR_X509_CERT
        value: '0x104c'
      - name: ATTR_RESPONSE_TYPE
        value: '0x103b'
      - name: ATTR_802_1X_ENABLED
        value: '0x1062'
      - name: ATTR_EXTENSIBILITY_TEST
        value: '0x10fa'
      - name: ATTR_SSID
        value: '0x1045'
      - name: ATTR_DEV_NAME
        value: '0x1011'
      - name: ATTR_MODEL_NAME
        value: '0x1023'
      - name: ATTR_SECONDARY_DEV_TYPE_LIST
        value: '0x1055'
      - name: ATTR_AUTH_TYPE_FLAGS
        value: '0x1004'
      - name: ATTR_E_SNONCE2
        value: '0x1017'
      - name: ATTR_NEW_DEVICE_NAME
        value: '0x1029'
      - name: ATTR_REGISTRAR_NONCE
        value: '0x1039'
      - name: ATTR_VERSION
        value: '0x104a'
      - name: ATTR_IV
        value: '0x1060'
      - name: ATTR_SELECTED_REGISTRAR_CONFIG_METHODS
        value: '0x1053'
      - name: ATTR_REBOOT
        value: '0x1034'
      - name: ATTR_SERIAL_NUMBER
        value: '0x1042'
      - name: ATTR_ENCR_TYPE
        value: '0x100f'
      - name: ATTR_MANUFACTURER
        value: '0x1021'
      - name: ATTR_ASSOC_STATE
        value: '0x1002'
      - name: ATTR_E_HASH2
        value: '0x1015'
      - name: ATTR_NETWORK_KEY
        value: '0x1027'
      - name: ATTR_UUID_R
        value: '0x1048'
      - name: ATTR_REGISTRAR_LIST
        value: '0x1037'
      - name: ATTR_APPLICATION_EXT
        value: '0x1058'
      - name: ATTR_KEY_LIFETIME
        value: '0x1051'
      - name: ATTR_CONN_TYPE_FLAGS
        value: '0x100d'
      - name: ATTR_KEY_ID
        value: '0x101f'
      - name: ATTR_PUBLIC_KEY
        value: '0x1032'
      - name: ATTR_R_SNONCE2
        value: '0x1040'
      - name: ATTR_DEV_PASSWORD_ID
        value: '0x1012'
      - name: ATTR_MODEL_NUMBER
        value: '0x1024'
      - name: ATTR_TOTAL_NETWORKS
        value: '0x1046'
      - name: ATTR_PORTABLE_DEV
        value: '0x1056'
      - name: ATTR_PUBKEY_HASH
        value: '0x104f'
      - name: ATTR_R_HASH2
        value: '0x103e'
      - name: ATTR_CONFIRM_URL6
        value: '0x100b'
      - name: ATTR_IDENTITY_PROOF
        value: '0x101d'
      - name: ATTR_PSK_CURRENT
        value: '0x1030'
      - name: ATTR_REQUESTED_DEV_TYPE
        value: '0x106a'
      - name: ATTR_ENCR_TYPE_FLAGS
        value: '0x1010'
      - name: ATTR_MSG_TYPE
        value: '0x1022'
      - name: ATTR_PRIMARY_DEV_TYPE
        value: '0x1054'
      - name: ATTR_REGISTRAR_CURRENT
        value: '0x1035'
      - name: ATTR_WPS_STATE
        value: '0x1044'
      - name: ATTR_CONFIG_ERROR
        value: '0x1009'
      - name: ATTR_FEATURE_ID
        value: '0x101b'
      - name: ATTR_OS_VERSION
        value: '0x102d'
      - name: ATTR_RF_BANDS
        value: '0x103c'
      - name: ATTR_EAP_IDENTITY
        value: '0x104d'
      - name: ATTR_APPSESSIONKEY
        value: '0x1063'
      - name: ATTR_PERMITTED_CFG_METHODS
        value: '0x1052'
      - name: ATTR_RADIO_ENABLE
        value: '0x1033'
      - name: ATTR_SELECTED_REGISTRAR
        value: '0x1041'
      - name: ATTR_AP_CHANNEL
        value: '0x1001'
      - name: ATTR_CRED
        value: '0x100e'
      - name: ATTR_MAC_ADDR
        value: '0x1020'
      - name: ATTR_X509_CERT_REQ
        value: '0x104b'
      - name: ATTR_REQUEST_TYPE
        value: '0x103a'
      - name: ATTR_AUTHENTICATOR
        value: '0x1005'
      - name: ATTR_ENCR_SETTINGS
        value: '0x1018'
      - name: ATTR_NEW_PASSWORD
        value: '0x102a'
      - name: ATTR_KEY_PROVIDED_AUTO
        value: '0x1061'
      - name: ATTR_CONN_TYPE
        value: '0x100c'
      - name: ATTR_KEY_WRAP_AUTH
        value: '0x101e'
      - name: ATTR_PSK_MAX
        value: '0x1031'
      - name: ATTR_R_SNONCE1
        value: '0x103f'
      - name: ATTR_REKEY_KEY
        value: '0x1050'
      - name: ATTR_AUTH_TYPE
        value: '0x1003'
      - name: ATTR_E_SNONCE1
        value: '0x1016'
      - name: ATTR_NETWORK_KEY_INDEX
        value: '0x1028'
      - name: ATTR_REGISTRAR_MAX
        value: '0x1038'
      - name: ATTR_VENDOR_EXT
        value: '0x1049'
      - name: ATTR_EAP_TYPE
        value: '0x1059'
      - name: ATTR_R_HASH1
        value: '0x103d'
      - name: ATTR_MSG_COUNTER
        value: '0x104e'
      - name: ATTR_POWER_LEVEL
        value: '0x102f'
      - name: ATTR_CONFIRM_URL4
        value: '0x100a'
      - name: ATTR_IDENTITY
        value: '0x101c'
      - name: ATTR_WEPTRANSMITKEY
        value: '0x1064'
      - name: ATTR_E_HASH1
        value: '0x1014'
      - name: ATTR_NETWORK_INDEX
        value: '0x1026'
      - name: ATTR_UUID_E
        value: '0x1047'
      - name: ATTR_REGISTRAR_ESTABLISHED
        value: '0x1036'
      - name: ATTR_AP_SETUP_LOCKED
        value: '0x1057'
      item_type: enum
      name: wps_attribute
      pos:
        line_end: 143
        line_start: 54
        source_file: /src/hostap/src/wps/wps_defs.h
    - enumerators:
      - name: DEV_PW_DEFAULT
        value: '0x0000'
      - name: DEV_PW_USER_SPECIFIED
        value: '0x0001'
      - name: DEV_PW_MACHINE_SPECIFIED
        value: '0x0002'
      - name: DEV_PW_PUSHBUTTON
        value: '0x0004'
      - name: DEV_PW_REKEY
        value: '0x0003'
      - name: DEV_PW_REGISTRAR_SPECIFIED
        value: '0x0005'
      - name: DEV_PW_NFC_CONNECTION_HANDOVER
        value: '0x0007'
      - name: DEV_PW_P2PS_DEFAULT
        value: '0x0008'
      item_type: enum
      name: wps_dev_password_id
      pos:
        line_end: 168
        line_start: 159
        source_file: /src/hostap/src/wps/wps_defs.h
    - enumerators:
      - name: WPS_Beacon
        value: '0x01'
      - name: WPS_ProbeResponse
        value: '0x03'
      - name: WPS_M1
        value: '0x04'
      - name: WPS_M2
        value: '0x05'
      - name: WPS_ProbeRequest
        value: '0x02'
      - name: WPS_M2D
        value: '0x06'
      - name: WPS_M3
        value: '0x07'
      - name: WPS_M4
        value: '0x08'
      - name: WPS_M5
        value: '0x09'
      - name: WPS_M6
        value: '0x0a'
      - name: WPS_M7
        value: '0x0b'
      - name: WPS_WSC_NACK
        value: '0x0e'
      - name: WPS_WSC_ACK
        value: '0x0d'
      - name: WPS_M8
        value: '0x0c'
      - name: WPS_WSC_DONE
        value: '0x0f'
      item_type: enum
      name: wps_msg_type
      pos:
        line_end: 187
        line_start: 171
        source_file: /src/hostap/src/wps/wps_defs.h
    - enumerators:
      - name: WPS_CFG_DECRYPTION_CRC_FAILURE
        value: '2'
      - name: WPS_CFG_NETWORK_AUTH_FAILURE
        value: '6'
      - name: WPS_CFG_DEV_PASSWORD_AUTH_FAILURE
        value: '18'
      - name: WPS_CFG_DEVICE_BUSY
        value: '14'
      - name: WPS_CFG_IP_ADDR_CONFLICT
        value: '10'
      - name: WPS_CFG_PUBLIC_KEY_HASH_MISMATCH
        value: '20'
      - name: WPS_CFG_NO_ERROR
        value: '0'
      - name: WPS_CFG_24_CHAN_NOT_SUPPORTED
        value: '3'
      - name: WPS_CFG_NETWORK_ASSOC_FAILURE
        value: '7'
      - name: WPS_CFG_SETUP_LOCKED
        value: '15'
      - name: WPS_CFG_NO_CONN_TO_REGISTRAR
        value: '11'
      - name: WPS_CFG_60G_CHAN_NOT_SUPPORTED
        value: '19'
      - name: WPS_CFG_50_CHAN_NOT_SUPPORTED
        value: '4'
      - name: WPS_CFG_NO_DHCP_RESPONSE
        value: '8'
      - name: WPS_CFG_MULTIPLE_PBC_DETECTED
        value: '12'
      - name: WPS_CFG_MSG_TIMEOUT
        value: '16'
      - name: WPS_CFG_OOB_IFACE_READ_ERROR
        value: '1'
      - name: WPS_CFG_SIGNAL_TOO_WEAK
        value: '5'
      - name: WPS_CFG_FAILED_DHCP_CONFIG
        value: '9'
      - name: WPS_CFG_ROGUE_SUSPECTED
        value: '13'
      - name: WPS_CFG_REG_SESS_TIMEOUT
        value: '17'
      item_type: enum
      name: wps_config_error
      pos:
        line_end: 230
        line_start: 208
        source_file: /src/hostap/src/wps/wps_defs.h
    - enumerators:
      - name: WPS_EI_NO_ERROR
      - name: WPS_EI_AUTH_FAILURE
      - name: WPS_EI_SECURITY_TKIP_ONLY_PROHIBITED
      - name: WPS_EI_SECURITY_WEP_PROHIBITED
      - name: NUM_WPS_EI_VALUES
      item_type: enum
      name: wps_error_indication
      pos:
        line_end: 239
        line_start: 233
        source_file: /src/hostap/src/wps/wps_defs.h
    - enumerators:
      - name: WPS_STATE_NOT_CONFIGURED
        value: '1'
      - name: WPS_STATE_CONFIGURED
        value: '2'
      item_type: enum
      name: wps_state
      pos:
        line_end: 270
        line_start: 267
        source_file: /src/hostap/src/wps/wps_defs.h
    - enumerators:
      - name: WPS_ASSOC_NOT_ASSOC
        value: '0'
      - name: WPS_ASSOC_CONN_SUCCESS
        value: '1'
      - name: WPS_ASSOC_CFG_FAILURE
        value: '2'
      - name: WPS_ASSOC_FAILURE
        value: '3'
      - name: WPS_ASSOC_IP_FAILURE
        value: '4'
      item_type: enum
      name: wps_assoc_state
      pos:
        line_end: 279
        line_start: 273
        source_file: /src/hostap/src/wps/wps_defs.h
    - enumerators:
      - name: WPS_DEV_COMPUTER
        value: '1'
      - name: WPS_DEV_STORAGE
        value: '5'
      - name: WPS_DEV_PRINTER
        value: '3'
      - name: WPS_DEV_CAMERA
        value: '4'
      - name: WPS_DEV_INPUT
        value: '2'
      - name: WPS_DEV_NETWORK_INFRA
        value: '6'
      - name: WPS_DEV_DISPLAY
        value: '7'
      - name: WPS_DEV_MULTIMEDIA
        value: '8'
      - name: WPS_DEV_GAMING
        value: '9'
      - name: WPS_DEV_PHONE
        value: '10'
      - name: WPS_DEV_AUDIO
        value: '11'
      item_type: enum
      name: wps_dev_categ
      pos:
        line_end: 296
        line_start: 284
        source_file: /src/hostap/src/wps/wps_defs.h
    - enumerators:
      - name: WPS_DEV_COMPUTER_NOTEBOOK
        value: '5'
      - name: WPS_DEV_COMPUTER_TABLET
        value: '9'
      - name: WPS_DEV_INPUT_BIOMETRIC_READER
        value: '8'
      - name: WPS_DEV_INPUT_TRACKBALL
        value: '4'
      - name: WPS_DEV_PRINTER_FAX
        value: '3'
      - name: WPS_DEV_CAMERA_VIDEO
        value: '2'
      - name: WPS_DEV_NETWORK_INFRA_AP
        value: '1'
      - name: WPS_DEV_NETWORK_INFRA_BRIDGE
        value: '5'
      - name: WPS_DEV_DISPLAY_MONITOR
        value: '4'
      - name: WPS_DEV_MULTIMEDIA_SET_TOP_BOX
        value: '4'
      - name: WPS_DEV_GAMING_GAME_CONSOLE
        value: '4'
      - name: WPS_DEV_PHONE_SINGLE_MODE
        value: '2'
      - name: WPS_DEV_PHONE_SP_DUAL_MODE
        value: '5'
      - name: WPS_DEV_MULTIMEDIA_MEDIA_SERVER
        value: '5'
      - name: WPS_DEV_AUDIO_PMP
        value: '3'
      - name: WPS_DEV_AUDIO_MICROPHONE
        value: '6'
      - name: WPS_DEV_COMPUTER_SERVER
        value: '2'
      - name: WPS_DEV_COMPUTER_DESKTOP
        value: '6'
      - name: WPS_DEV_INPUT_KEYBOARD
        value: '1'
      - name: WPS_DEV_INPUT_BARCODE_READER
        value: '9'
      - name: WPS_DEV_INPUT_GAMING
        value: '5'
      - name: WPS_DEV_PRINTER_COPIER
        value: '4'
      - name: WPS_DEV_CAMERA_WEB
        value: '3'
      - name: WPS_DEV_NETWORK_INFRA_ROUTER
        value: '2'
      - name: WPS_DEV_DISPLAY_TV
        value: '1'
      - name: WPS_DEV_MULTIMEDIA_DAR
        value: '1'
      - name: WPS_DEV_GAMING_PORTABLE_DEVICE
        value: '5'
      - name: WPS_DEV_PHONE_DUAL_MODE
        value: '3'
      - name: WPS_DEV_MULTIMEDIA_MCX
        value: '3'
      - name: WPS_DEV_AUDIO_TUNER_RECV
        value: '1'
      - name: WPS_DEV_MULTIMEDIA_PORTABLE_VIDEO_PLAYER
        value: '6'
      - name: WPS_DEV_AUDIO_HEADSET
        value: '4'
      - name: WPS_DEV_AUDIO_HOME_THEATRE
        value: '7'
      - name: WPS_DEV_COMPUTER_MEDIA_CENTER
        value: '3'
      - name: WPS_DEV_COMPUTER_MID
        value: '7'
      - name: WPS_DEV_INPUT_REMOTE
        value: '6'
      - name: WPS_DEV_PRINTER_PRINTER
        value: '1'
      - name: WPS_DEV_INPUT_MOUSE
        value: '2'
      - name: WPS_DEV_PRINTER_ALL_IN_ONE
        value: '5'
      - name: WPS_DEV_CAMERA_SECURITY
        value: '4'
      - name: WPS_DEV_NETWORK_INFRA_SWITCH
        value: '3'
      - name: WPS_DEV_DISPLAY_PICTURE_FRAME
        value: '2'
      - name: WPS_DEV_MULTIMEDIA_PVR
        value: '2'
      - name: WPS_DEV_GAMING_XBOX
        value: '1'
      - name: WPS_DEV_AUDIO_HEADPHONES
        value: '5'
      - name: WPS_DEV_GAMING_XBOX360
        value: '2'
      - name: WPS_DEV_COMPUTER_PC
        value: '1'
      - name: WPS_DEV_COMPUTER_ULTRA_MOBILE
        value: '4'
      - name: WPS_DEV_COMPUTER_NETBOOK
        value: '8'
      - name: WPS_DEV_INPUT_JOYSTICK
        value: '3'
      - name: WPS_DEV_INPUT_TOUCHSCREEN
        value: '7'
      - name: WPS_DEV_PRINTER_SCANNER
        value: '2'
      - name: WPS_DEV_CAMERA_DIGITAL_STILL_CAMERA
        value: '1'
      - name: WPS_DEV_STORAGE_NAS
        value: '1'
      - name: WPS_DEV_NETWORK_INFRA_GATEWAY
        value: '4'
      - name: WPS_DEV_DISPLAY_PROJECTOR
        value: '3'
      - name: WPS_DEV_GAMING_PLAYSTATION
        value: '3'
      - name: WPS_DEV_PHONE_WINDOWS_MOBILE
        value: '1'
      - name: WPS_DEV_AUDIO_SPEAKERS
        value: '2'
      - name: WPS_DEV_PHONE_SP_SINGLE_MODE
        value: '4'
      item_type: enum
      name: wps_dev_subcateg
      pos:
        line_end: 359
        line_start: 298
        source_file: /src/hostap/src/wps/wps_defs.h
    - enumerators:
      - name: WPS_REQ_ENROLLEE_INFO
        value: '0'
      - name: WPS_REQ_ENROLLEE
        value: '1'
      - name: WPS_REQ_REGISTRAR
        value: '2'
      - name: WPS_REQ_WLAN_MANAGER_REGISTRAR
        value: '3'
      item_type: enum
      name: wps_request_type
      pos:
        line_end: 368
        line_start: 363
        source_file: /src/hostap/src/wps/wps_defs.h
    - enumerators:
      - name: WPS_RESP_ENROLLEE_INFO
        value: '0'
      - name: WPS_RESP_AP
        value: '3'
      - name: WPS_RESP_ENROLLEE
        value: '1'
      - name: WPS_RESP_REGISTRAR
        value: '2'
      item_type: enum
      name: wps_response_type
      pos:
        line_end: 376
        line_start: 371
        source_file: /src/hostap/src/wps/wps_defs.h
    preproc_defs:
    - item_type: preproc_def
      name: WPS_VERSION
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/hostap/src/wps/wps_defs.h
      type_or_value: wps_version_number
    - item_type: preproc_def
      name: WPS_VERSION
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/hostap/src/wps/wps_defs.h
      type_or_value: '0x20'
    - item_type: preproc_def
      name: WPS_DH_GROUP
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/hostap/src/wps/wps_defs.h
      type_or_value: '5'
    - item_type: preproc_def
      name: WPS_UUID_LEN
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/hostap/src/wps/wps_defs.h
      type_or_value: '16'
    - item_type: preproc_def
      name: WPS_NONCE_LEN
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/hostap/src/wps/wps_defs.h
      type_or_value: '16'
    - item_type: preproc_def
      name: WPS_AUTHENTICATOR_LEN
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/hostap/src/wps/wps_defs.h
      type_or_value: '8'
    - item_type: preproc_def
      name: WPS_AUTHKEY_LEN
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/hostap/src/wps/wps_defs.h
      type_or_value: '32'
    - item_type: preproc_def
      name: WPS_KEYWRAPKEY_LEN
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/hostap/src/wps/wps_defs.h
      type_or_value: '16'
    - item_type: preproc_def
      name: WPS_EMSK_LEN
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/hostap/src/wps/wps_defs.h
      type_or_value: '32'
    - item_type: preproc_def
      name: WPS_PSK_LEN
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/hostap/src/wps/wps_defs.h
      type_or_value: '16'
    - item_type: preproc_def
      name: WPS_SECRET_NONCE_LEN
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/hostap/src/wps/wps_defs.h
      type_or_value: '16'
    - item_type: preproc_def
      name: WPS_HASH_LEN
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/hostap/src/wps/wps_defs.h
      type_or_value: '32'
    - item_type: preproc_def
      name: WPS_KWA_LEN
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/hostap/src/wps/wps_defs.h
      type_or_value: '8'
    - item_type: preproc_def
      name: WPS_MGMTAUTHKEY_LEN
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/hostap/src/wps/wps_defs.h
      type_or_value: '32'
    - item_type: preproc_def
      name: WPS_MGMTENCKEY_LEN
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/hostap/src/wps/wps_defs.h
      type_or_value: '16'
    - item_type: preproc_def
      name: WPS_MGMT_KEY_ID_LEN
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/hostap/src/wps/wps_defs.h
      type_or_value: '16'
    - item_type: preproc_def
      name: WPS_OOB_DEVICE_PASSWORD_MIN_LEN
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/hostap/src/wps/wps_defs.h
      type_or_value: '16'
    - item_type: preproc_def
      name: WPS_OOB_DEVICE_PASSWORD_LEN
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/hostap/src/wps/wps_defs.h
      type_or_value: '32'
    - item_type: preproc_def
      name: WPS_OOB_PUBKEY_HASH_LEN
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/hostap/src/wps/wps_defs.h
      type_or_value: '20'
    - item_type: preproc_def
      name: WPS_DEV_NAME_MAX_LEN
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/hostap/src/wps/wps_defs.h
      type_or_value: '32'
    - item_type: preproc_def
      name: WPS_MANUFACTURER_MAX_LEN
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/hostap/src/wps/wps_defs.h
      type_or_value: '64'
    - item_type: preproc_def
      name: WPS_MODEL_NAME_MAX_LEN
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/hostap/src/wps/wps_defs.h
      type_or_value: '32'
    - item_type: preproc_def
      name: WPS_MODEL_NUMBER_MAX_LEN
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/hostap/src/wps/wps_defs.h
      type_or_value: '32'
    - item_type: preproc_def
      name: WPS_SERIAL_NUMBER_MAX_LEN
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/hostap/src/wps/wps_defs.h
      type_or_value: '32'
    - item_type: preproc_def
      name: WPS_VENDOR_ID_WFA
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/hostap/src/wps/wps_defs.h
      type_or_value: '14122'
    - item_type: preproc_def
      name: WPS_AUTH_OPEN
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/hostap/src/wps/wps_defs.h
      type_or_value: '0x0001'
    - item_type: preproc_def
      name: WPS_AUTH_WPAPSK
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/hostap/src/wps/wps_defs.h
      type_or_value: '0x0002'
    - item_type: preproc_def
      name: WPS_AUTH_SHARED
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/hostap/src/wps/wps_defs.h
      type_or_value: '0x0004 '
    - item_type: preproc_def
      name: WPS_AUTH_WPA
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/hostap/src/wps/wps_defs.h
      type_or_value: '0x0008'
    - item_type: preproc_def
      name: WPS_AUTH_WPA2
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/hostap/src/wps/wps_defs.h
      type_or_value: '0x0010'
    - item_type: preproc_def
      name: WPS_AUTH_WPA2PSK
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/hostap/src/wps/wps_defs.h
      type_or_value: '0x0020'
    - item_type: preproc_def
      name: WPS_AUTH_TYPES
      pos:
        line_end: 198
        line_start: 196
        source_file: /src/hostap/src/wps/wps_defs.h
      type_or_value: "(WPS_AUTH_OPEN | WPS_AUTH_WPAPSK | WPS_AUTH_SHARED | \\\n\t\t\tWPS_AUTH_WPA
        | WPS_AUTH_WPA2 | WPS_AUTH_WPA2PSK)"
    - item_type: preproc_def
      name: WPS_ENCR_NONE
      pos:
        line_end: 201
        line_start: 200
        source_file: /src/hostap/src/wps/wps_defs.h
      type_or_value: '0x0001'
    - item_type: preproc_def
      name: WPS_ENCR_WEP
      pos:
        line_end: 202
        line_start: 201
        source_file: /src/hostap/src/wps/wps_defs.h
      type_or_value: '0x0002 '
    - item_type: preproc_def
      name: WPS_ENCR_TKIP
      pos:
        line_end: 203
        line_start: 202
        source_file: /src/hostap/src/wps/wps_defs.h
      type_or_value: '0x0004'
    - item_type: preproc_def
      name: WPS_ENCR_AES
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/hostap/src/wps/wps_defs.h
      type_or_value: '0x0008'
    - item_type: preproc_def
      name: WPS_ENCR_TYPES
      pos:
        line_end: 206
        line_start: 204
        source_file: /src/hostap/src/wps/wps_defs.h
      type_or_value: "(WPS_ENCR_NONE | WPS_ENCR_WEP | WPS_ENCR_TKIP | \\\n\t\t\tWPS_ENCR_AES)"
    - item_type: preproc_def
      name: WPS_RF_24GHZ
      pos:
        line_end: 243
        line_start: 242
        source_file: /src/hostap/src/wps/wps_defs.h
      type_or_value: '0x01'
    - item_type: preproc_def
      name: WPS_RF_50GHZ
      pos:
        line_end: 244
        line_start: 243
        source_file: /src/hostap/src/wps/wps_defs.h
      type_or_value: '0x02'
    - item_type: preproc_def
      name: WPS_RF_60GHZ
      pos:
        line_end: 245
        line_start: 244
        source_file: /src/hostap/src/wps/wps_defs.h
      type_or_value: '0x04'
    - item_type: preproc_def
      name: WPS_CONFIG_USBA
      pos:
        line_end: 248
        line_start: 247
        source_file: /src/hostap/src/wps/wps_defs.h
      type_or_value: '0x0001'
    - item_type: preproc_def
      name: WPS_CONFIG_ETHERNET
      pos:
        line_end: 249
        line_start: 248
        source_file: /src/hostap/src/wps/wps_defs.h
      type_or_value: '0x0002'
    - item_type: preproc_def
      name: WPS_CONFIG_LABEL
      pos:
        line_end: 250
        line_start: 249
        source_file: /src/hostap/src/wps/wps_defs.h
      type_or_value: '0x0004'
    - item_type: preproc_def
      name: WPS_CONFIG_DISPLAY
      pos:
        line_end: 251
        line_start: 250
        source_file: /src/hostap/src/wps/wps_defs.h
      type_or_value: '0x0008'
    - item_type: preproc_def
      name: WPS_CONFIG_EXT_NFC_TOKEN
      pos:
        line_end: 252
        line_start: 251
        source_file: /src/hostap/src/wps/wps_defs.h
      type_or_value: '0x0010'
    - item_type: preproc_def
      name: WPS_CONFIG_INT_NFC_TOKEN
      pos:
        line_end: 253
        line_start: 252
        source_file: /src/hostap/src/wps/wps_defs.h
      type_or_value: '0x0020'
    - item_type: preproc_def
      name: WPS_CONFIG_NFC_INTERFACE
      pos:
        line_end: 254
        line_start: 253
        source_file: /src/hostap/src/wps/wps_defs.h
      type_or_value: '0x0040'
    - item_type: preproc_def
      name: WPS_CONFIG_PUSHBUTTON
      pos:
        line_end: 255
        line_start: 254
        source_file: /src/hostap/src/wps/wps_defs.h
      type_or_value: '0x0080'
    - item_type: preproc_def
      name: WPS_CONFIG_KEYPAD
      pos:
        line_end: 256
        line_start: 255
        source_file: /src/hostap/src/wps/wps_defs.h
      type_or_value: '0x0100'
    - item_type: preproc_def
      name: WPS_CONFIG_VIRT_PUSHBUTTON
      pos:
        line_end: 257
        line_start: 256
        source_file: /src/hostap/src/wps/wps_defs.h
      type_or_value: '0x0280'
    - item_type: preproc_def
      name: WPS_CONFIG_PHY_PUSHBUTTON
      pos:
        line_end: 258
        line_start: 257
        source_file: /src/hostap/src/wps/wps_defs.h
      type_or_value: '0x0480'
    - item_type: preproc_def
      name: WPS_CONFIG_P2PS
      pos:
        line_end: 259
        line_start: 258
        source_file: /src/hostap/src/wps/wps_defs.h
      type_or_value: '0x1000'
    - item_type: preproc_def
      name: WPS_CONFIG_VIRT_DISPLAY
      pos:
        line_end: 260
        line_start: 259
        source_file: /src/hostap/src/wps/wps_defs.h
      type_or_value: '0x2008'
    - item_type: preproc_def
      name: WPS_CONFIG_PHY_DISPLAY
      pos:
        line_end: 261
        line_start: 260
        source_file: /src/hostap/src/wps/wps_defs.h
      type_or_value: '0x4008'
    - item_type: preproc_def
      name: WPS_CONN_ESS
      pos:
        line_end: 264
        line_start: 263
        source_file: /src/hostap/src/wps/wps_defs.h
      type_or_value: '0x01'
    - item_type: preproc_def
      name: WPS_CONN_IBSS
      pos:
        line_end: 265
        line_start: 264
        source_file: /src/hostap/src/wps/wps_defs.h
      type_or_value: '0x02'
    - item_type: preproc_def
      name: WPS_DEV_OUI_WFA
      pos:
        line_end: 283
        line_start: 282
        source_file: /src/hostap/src/wps/wps_defs.h
      type_or_value: '0x0050f204'
    - item_type: preproc_def
      name: WPS_PBC_WALK_TIME
      pos:
        line_end: 380
        line_start: 379
        source_file: /src/hostap/src/wps/wps_defs.h
      type_or_value: '120'
    - item_type: preproc_def
      name: WPS_MAX_AUTHORIZED_MACS
      pos:
        line_end: 382
        line_start: 381
        source_file: /src/hostap/src/wps/wps_defs.h
      type_or_value: '5'
    structs: []
    typedefs: []
    union: []
- function_names:
  - wps_attr_parse_tests
  - wps_module_tests
  source_file: /src/hostap/src/wps/wps_module_tests.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*data'
        type: char
      - name: result
        type: int
      - name: extra
        type: int
      item_type: struct
      name: wps_attr_parse_test
      pos:
        line_end: 18
        line_start: 14
        source_file: /src/hostap/src/wps/wps_module_tests.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/wps/wps_dev_attr.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - wps_validate_version
  - wps_validate_version2
  - wps_validate_request_type
  - wps_validate_response_type
  - valid_config_methods
  - wps_validate_config_methods
  - wps_validate_ap_config_methods
  - wps_validate_uuid_e
  - wps_validate_uuid_r
  - wps_validate_primary_dev_type
  - wps_validate_rf_bands
  - wps_validate_assoc_state
  - wps_validate_config_error
  - wps_validate_dev_password_id
  - wps_validate_manufacturer
  - wps_validate_model_name
  - wps_validate_model_number
  - wps_validate_serial_number
  - wps_validate_dev_name
  - wps_validate_request_to_enroll
  - wps_validate_req_dev_type
  - wps_validate_wps_state
  - wps_validate_ap_setup_locked
  - wps_validate_selected_registrar
  - wps_validate_sel_reg_config_methods
  - wps_validate_authorized_macs
  - wps_validate_msg_type
  - wps_validate_mac_addr
  - wps_validate_enrollee_nonce
  - wps_validate_registrar_nonce
  - wps_validate_public_key
  - num_bits_set
  - wps_validate_auth_type_flags
  - wps_validate_auth_type
  - wps_validate_encr_type_flags
  - wps_validate_encr_type
  - wps_validate_conn_type_flags
  - wps_validate_os_version
  - wps_validate_authenticator
  - wps_validate_e_hash1
  - wps_validate_e_hash2
  - wps_validate_r_hash1
  - wps_validate_r_hash2
  - wps_validate_encr_settings
  - wps_validate_settings_delay_time
  - wps_validate_r_snonce1
  - wps_validate_r_snonce2
  - wps_validate_e_snonce1
  - wps_validate_e_snonce2
  - wps_validate_key_wrap_auth
  - wps_validate_ssid
  - wps_validate_network_key_index
  - wps_validate_network_idx
  - wps_validate_network_key
  - wps_validate_network_key_shareable
  - wps_validate_cred
  - wps_validate_credential
  - wps_validate_beacon
  - wps_validate_beacon_probe_resp
  - wps_validate_probe_req
  - wps_validate_assoc_req
  - wps_validate_assoc_resp
  - wps_validate_m1
  - wps_validate_m2
  - wps_validate_m2d
  - wps_validate_m3
  - wps_validate_m4
  - wps_validate_m4_encr
  - wps_validate_m5
  - wps_validate_m5_encr
  - wps_validate_m6
  - wps_validate_m6_encr
  - wps_validate_m7
  - wps_validate_m7_encr
  - wps_validate_m8
  - wps_validate_m8_encr
  - wps_validate_wsc_ack
  - wps_validate_wsc_nack
  - wps_validate_wsc_done
  - wps_validate_upnp_set_selected_registrar
  source_file: /src/hostap/src/wps/wps_validate.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - word_eq
  - httpread_destroy
  - httpread_timeout_handler
  - httpread_hdr_option_analyze
  - httpread_hdr_analyze
  - httpread_read_handler
  - httpread_create
  - httpread_hdr_type_get
  - httpread_uri_get
  - httpread_reply_code_get
  - httpread_length_get
  - httpread_data_get
  - httpread_hdr_get
  - httpread_hdr_line_get
  source_file: /src/hostap/src/wps/httpread.c
  types:
    enum:
    - enumerators:
      - name: trailer_line_begin
        value: '0'
      - name: trailer_nonempty
      - name: trailer_nonempty_cr
      - name: trailer_empty_cr
      item_type: enum
      name: trailer_state
      pos:
        line_end: 89
        line_start: 84
        source_file: /src/hostap/src/wps/httpread.c
    preproc_defs:
    - item_type: preproc_def
      name: HTTPREAD_READBUF_SIZE
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/hostap/src/wps/httpread.c
      type_or_value: '1024      '
    - item_type: preproc_def
      name: HTTPREAD_HEADER_MAX_SIZE
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/hostap/src/wps/httpread.c
      type_or_value: '4096   '
    - item_type: preproc_def
      name: HTTPREAD_BODYBUF_DELTA
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/hostap/src/wps/httpread.c
      type_or_value: '4096     '
    structs:
    - fields:
      - name: sd
        type: int
      - name: "(*cb)(struct httpread *handle, void *cookie,\n\t\t    enum httpread_event
          e)"
        type: void
      - name: '*cookie'
        type: void
      - name: max_bytes
        type: int
      - name: timeout_seconds
        type: int
      - name: got_hdr
        type: int
      - name: hdr[HTTPREAD_HEADER_MAX_SIZE+1]
        type: char
      - name: hdr_nbytes
        type: int
      - name: hdr_type
        type: enum httpread_hdr_type
      - name: version
        type: int
      - name: reply_code
        type: int
      - name: got_content_length
        type: int
      - name: content_length
        type: int
      - name: chunked
        type: int
      - name: '*uri'
        type: char
      - name: got_body
        type: int
      - name: '*body'
        type: char
      - name: body_nbytes
        type: int
      - name: body_alloc_nbytes
        type: int
      - name: got_file
        type: int
      - name: in_chunk_data
        type: int
      - name: chunk_start
        type: int
      - name: chunk_size
        type: int
      - name: in_trailer
        type: int
      - name: trailer_state
        type: "enum trailer_state {\n\t\ttrailer_line_begin = 0,\n\t\ttrailer_empty_cr,
          \      /* empty line + CR */\n\t\ttrailer_nonempty,\n\t\ttrailer_nonempty_cr,\n\t}"
      item_type: struct
      name: httpread
      pos:
        line_end: 90
        line_start: 49
        source_file: /src/hostap/src/wps/httpread.c
    typedefs: []
    union: []
- function_names:
  - http_client_timeout
  - http_client_got_response
  - http_client_tx_ready
  - http_client_addr
  - http_client_url_parse
  - http_client_url
  - http_client_free
  - http_client_get_body
  - http_client_get_hdr_line
  - http_link_update
  source_file: /src/hostap/src/wps/http_client.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HTTP_CLIENT_TIMEOUT_SEC
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/hostap/src/wps/http_client.c
      type_or_value: '30'
    structs:
    - fields:
      - name: dst
        type: struct sockaddr_in
      - name: sd
        type: int
      - name: '*req'
        type: struct wpabuf
      - name: req_pos
        type: size_t
      - name: max_response
        type: size_t
      - name: "(*cb)(void *ctx, struct http_client *c,\n\t\t   enum http_client_event
          event)"
        type: void
      - name: '*cb_ctx'
        type: void
      - name: '*hread'
        type: struct httpread
      - name: body
        type: struct wpabuf
      item_type: struct
      name: http_client
      pos:
        line_end: 32
        line_start: 20
        source_file: /src/hostap/src/wps/http_client.c
    typedefs: []
    union: []
- function_names:
  - wps_process_authenticator
  - wps_process_key_wrap_auth
  - wps_process_cred_network_idx
  - wps_process_cred_ssid
  - wps_process_cred_auth_type
  - wps_process_cred_encr_type
  - wps_process_cred_network_key_idx
  - wps_process_cred_network_key
  - wps_process_cred_mac_addr
  - wps_workaround_cred_key
  - wps_process_cred
  - wps_process_ap_settings
  source_file: /src/hostap/src/wps/wps_attr_process.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/wps/http_client.h
  types:
    enum:
    - enumerators:
      - name: HTTP_CLIENT_FAILED
      - name: HTTP_CLIENT_OK
      - name: HTTP_CLIENT_TIMEOUT
      - name: HTTP_CLIENT_INVALID_REPLY
      item_type: enum
      name: http_client_event
      pos:
        line_end: 18
        line_start: 13
        source_file: /src/hostap/src/wps/http_client.h
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/wps/http_server.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - token_eq
  - token_length
  - word_separation_length
  - line_length
  - next_advertisement
  - advertisement_state_machine_stop
  - advertisement_state_machine_handler
  - advertisement_state_machine_start
  - msearchreply_state_machine_stop
  - msearchreply_state_machine_handler
  - msearchreply_state_machine_start
  - ssdp_parse_msearch
  - ssdp_listener_stop
  - ssdp_listener_handler
  - ssdp_listener_open
  - ssdp_listener_start
  - add_ssdp_network
  - ssdp_open_multicast_sock
  - ssdp_open_multicast
  source_file: /src/hostap/src/wps/wps_upnp_ssdp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: UPNP_CACHE_SEC
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/hostap/src/wps/wps_upnp_ssdp.c
      type_or_value: '(UPNP_CACHE_SEC_MIN + 1) '
    - item_type: preproc_def
      name: UPNP_CACHE_SEC_MIN
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/hostap/src/wps/wps_upnp_ssdp.c
      type_or_value: '1800 '
    - item_type: preproc_def
      name: UPNP_ADVERTISE_REPEAT
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/hostap/src/wps/wps_upnp_ssdp.c
      type_or_value: '2 '
    - item_type: preproc_def
      name: MAX_MSEARCH
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/hostap/src/wps/wps_upnp_ssdp.c
      type_or_value: '20          '
    - item_type: preproc_def
      name: SSDP_TARGET
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/hostap/src/wps/wps_upnp_ssdp.c
      type_or_value: '"239.0.0.0"'
    - item_type: preproc_def
      name: SSDP_NETMASK
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/hostap/src/wps/wps_upnp_ssdp.c
      type_or_value: '"255.0.0.0"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - xml_next_tag
  - xml_data_encode
  - xml_add_tagged_data
  - xml_get_first_item
  - xml_get_base64_item
  source_file: /src/hostap/src/wps/upnp_xml.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - wps_validate_beacon
  - wps_validate_beacon_probe_resp
  - wps_validate_probe_req
  - wps_validate_assoc_req
  - wps_validate_assoc_resp
  - wps_validate_m1
  - wps_validate_m2
  - wps_validate_m2d
  - wps_validate_m3
  - wps_validate_m4
  - wps_validate_m4_encr
  - wps_validate_m5
  - wps_validate_m5_encr
  - wps_validate_m6
  - wps_validate_m6_encr
  - wps_validate_m7
  - wps_validate_m7_encr
  - wps_validate_m8
  - wps_validate_m8_encr
  - wps_validate_wsc_ack
  - wps_validate_wsc_nack
  - wps_validate_wsc_done
  - wps_validate_upnp_set_selected_registrar
  source_file: /src/hostap/src/wps/wps.h
  types:
    enum:
    - enumerators:
      - name: WSC_UPnP
        value: '0'
      - name: WSC_ACK
        value: '0x02'
      - name: WSC_NACK
        value: '0x03'
      - name: WSC_Start
        value: '0x01'
      - name: WSC_MSG
        value: '0x04'
      - name: WSC_Done
        value: '0x05'
      - name: WSC_FRAG_ACK
        value: '0x06'
      item_type: enum
      name: wsc_op_code
      pos:
        line_end: 25
        line_start: 17
        source_file: /src/hostap/src/wps/wps.h
    - enumerators:
      - name: WPS_DONE
      - name: WPS_FAILURE
      - name: WPS_PENDING
      - name: WPS_CONTINUE
      item_type: enum
      name: wps_process_res
      pos:
        line_end: 232
        line_start: 211
        source_file: /src/hostap/src/wps/wps.h
    - enumerators:
      - name: WPS_EV_M2D
      - name: WPS_EV_PWD_AUTH_FAIL
      - name: WPS_EV_PBC_OVERLAP
      - name: WPS_EV_SUCCESS
      - name: WPS_EV_FAIL
      - name: WPS_EV_PBC_TIMEOUT
      - name: WPS_EV_PBC_ACTIVE
      - name: WPS_EV_PBC_DISABLE
      - name: WPS_EV_ER_AP_ADD
      - name: WPS_EV_ER_AP_REMOVE
      - name: WPS_EV_ER_ENROLLEE_REMOVE
      - name: WPS_EV_ER_AP_SETTINGS
      - name: WPS_EV_ER_ENROLLEE_ADD
      - name: WPS_EV_AP_PIN_SUCCESS
      - name: WPS_EV_ER_SET_SELECTED_REGISTRAR
      item_type: enum
      name: wps_event
      pos:
        line_end: 525
        line_start: 450
        source_file: /src/hostap/src/wps/wps.h
    preproc_defs:
    - item_type: preproc_def
      name: WPS_DEV_TYPE_LEN
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/hostap/src/wps/wps.h
      type_or_value: '8'
    - item_type: preproc_def
      name: WPS_DEV_TYPE_BUFSIZE
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/hostap/src/wps/wps.h
      type_or_value: '21'
    - item_type: preproc_def
      name: WPS_SEC_DEV_TYPE_MAX_LEN
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/hostap/src/wps/wps.h
      type_or_value: '128'
    - item_type: preproc_def
      name: MAX_WPS_VENDOR_EXTENSIONS
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/hostap/src/wps/wps.h
      type_or_value: '10'
    - item_type: preproc_def
      name: WPS_MAX_VENDOR_EXT_LEN
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/hostap/src/wps/wps.h
      type_or_value: '1024'
    - item_type: preproc_def
      name: MAX_WPS_PARSE_VENDOR_EXT
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/hostap/src/wps/wps.h
      type_or_value: '10'
    - item_type: preproc_def
      name: WPS_SEC_DEVICE_TYPES
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/hostap/src/wps/wps.h
      type_or_value: '5'
    structs:
    - fields:
      - name: ssid[SSID_MAX_LEN]
        type: u8
      - name: ssid_len
        type: size_t
      - name: auth_type
        type: u16
      - name: encr_type
        type: u16
      - name: key_idx
        type: u8
      - name: key[64]
        type: u8
      - name: key_len
        type: size_t
      - name: mac_addr[ETH_ALEN]
        type: u8
      - name: '*cred_attr'
        type: u8
      - name: cred_attr_len
        type: size_t
      item_type: struct
      name: wps_credential
      pos:
        line_end: 57
        line_start: 46
        source_file: /src/hostap/src/wps/wps.h
    - fields:
      - name: mac_addr[ETH_ALEN]
        type: u8
      - name: '*device_name'
        type: char
      - name: '*manufacturer'
        type: char
      - name: '*model_name'
        type: char
      - name: '*model_number'
        type: char
      - name: '*serial_number'
        type: char
      - name: pri_dev_type[WPS_DEV_TYPE_LEN]
        type: u8
      - name: sec_dev_type[WPS_SEC_DEVICE_TYPES][WPS_DEV_TYPE_LEN]
        type: u8
      - name: num_sec_dev_types
        type: u8
      - name: os_version
        type: u32
      - name: rf_bands
        type: u8
      - name: config_methods
        type: u16
      - name: '*vendor_ext_m1'
        type: struct wpabuf
      - name: '*vendor_ext[MAX_WPS_VENDOR_EXTENSIONS]'
        type: struct wpabuf
      - name: '*application_ext'
        type: struct wpabuf
      - name: p2p
        type: int
      - name: multi_ap_ext
        type: u8
      item_type: struct
      name: wps_device_data
      pos:
        line_end: 104
        line_start: 84
        source_file: /src/hostap/src/wps/wps.h
    - fields:
      - name: '*wps'
        type: struct wps_context
      - name: registrar
        type: int
      - name: '*pin'
        type: u8
      - name: pin_len
        type: size_t
      - name: pbc
        type: int
      - name: '*assoc_wps_ie'
        type: struct wpabuf
      - name: '*new_ap_settings'
        type: struct wps_credential
      - name: '*peer_addr'
        type: u8
      - name: use_psk_key
        type: int
      - name: dev_pw_id
        type: u16
      - name: '*p2p_dev_addr'
        type: u8
      - name: pbc_in_m1
        type: int
      - name: '*peer_pubkey_hash'
        type: u8
      - name: multi_ap_backhaul_sta
        type: int
      - name: multi_ap_profile
        type: int
      item_type: struct
      name: wps_config
      pos:
        line_end: 202
        line_start: 109
        source_file: /src/hostap/src/wps/wps.h
    - fields:
      - name: "(*new_psk_cb)(void *ctx, const u8 *mac_addr, const u8 *p2p_dev_addr,\n\t\t\t
          \ const u8 *psk, size_t psk_len)"
        type: int
      - name: "(*set_ie_cb)(void *ctx, struct wpabuf *beacon_ie,\n\t\t\t struct wpabuf
          *probe_resp_ie)"
        type: int
      - name: "(*pin_needed_cb)(void *ctx, const u8 *uuid_e,\n\t\t\t      const struct
          wps_device_data *dev)"
        type: void
      - name: "(*reg_success_cb)(void *ctx, const u8 *mac_addr,\n\t\t\t       const
          u8 *uuid_e, const u8 *dev_pw,\n\t\t\t       size_t dev_pw_len)"
        type: void
      - name: "(*set_sel_reg_cb)(void *ctx, int sel_reg, u16 dev_passwd_id,\n\t\t\t
          \      u16 sel_reg_config_methods)"
        type: void
      - name: "(*enrollee_seen_cb)(void *ctx, const u8 *addr, const u8 *uuid_e,\n\t\t\t\t
          const u8 *pri_dev_type, u16 config_methods,\n\t\t\t\t u16 dev_password_id,
          u8 request_type,\n\t\t\t\t const char *dev_name)"
        type: void
      - name: (*lookup_pskfile_cb)(void *ctx, const u8 *mac_addr, const u8 **psk)
        type: int
      - name: '*cb_ctx'
        type: void
      - name: skip_cred_build
        type: int
      - name: '*extra_cred'
        type: u8
      - name: extra_cred_len
        type: size_t
      - name: disable_auto_conf
        type: int
      - name: dualband
        type: int
      - name: force_per_enrollee_psk
        type: int
      - name: '*multi_ap_backhaul_ssid'
        type: u8
      - name: multi_ap_backhaul_ssid_len
        type: size_t
      - name: '*multi_ap_backhaul_network_key'
        type: u8
      - name: multi_ap_backhaul_network_key_len
        type: size_t
      item_type: struct
      name: wps_registrar_config
      pos:
        line_end: 444
        line_start: 260
        source_file: /src/hostap/src/wps/wps.h
    - fields:
      - name: config_methods
        type: u16
      - name: '*manufacturer'
        type: u8
      - name: manufacturer_len
        type: size_t
      - name: '*model_name'
        type: u8
      - name: model_name_len
        type: size_t
      - name: '*model_number'
        type: u8
      - name: model_number_len
        type: size_t
      - name: '*serial_number'
        type: u8
      - name: serial_number_len
        type: size_t
      - name: '*dev_name'
        type: u8
      - name: dev_name_len
        type: size_t
      - name: '*primary_dev_type'
        type: u8
      - name: config_error
        type: u16
      - name: dev_password_id
        type: u16
      item_type: struct
      name: wps_event_m2d
      pos:
        line_end: 549
        line_start: 534
        source_file: /src/hostap/src/wps/wps.h
    - fields:
      - name: msg
        type: int
      - name: config_error
        type: u16
      - name: error_indication
        type: u16
      - name: peer_macaddr[ETH_ALEN]
        type: u8
      item_type: struct
      name: wps_event_fail
      pos:
        line_end: 560
        line_start: 555
        source_file: /src/hostap/src/wps/wps.h
    - fields:
      - name: peer_macaddr[ETH_ALEN]
        type: u8
      item_type: struct
      name: wps_event_success
      pos:
        line_end: 564
        line_start: 562
        source_file: /src/hostap/src/wps/wps.h
    - fields:
      - name: enrollee
        type: int
      - name: part
        type: int
      - name: peer_macaddr[ETH_ALEN]
        type: u8
      item_type: struct
      name: wps_event_pwd_auth_fail
      pos:
        line_end: 570
        line_start: 566
        source_file: /src/hostap/src/wps/wps.h
    - fields:
      - name: '*uuid'
        type: u8
      - name: '*mac_addr'
        type: u8
      - name: '*friendly_name'
        type: char
      - name: '*manufacturer'
        type: char
      - name: '*manufacturer_url'
        type: char
      - name: '*model_description'
        type: char
      - name: '*model_name'
        type: char
      - name: '*model_number'
        type: char
      - name: '*model_url'
        type: char
      - name: '*serial_number'
        type: char
      - name: '*upc'
        type: char
      - name: '*pri_dev_type'
        type: u8
      - name: wps_state
        type: u8
      item_type: struct
      name: wps_event_er_ap
      pos:
        line_end: 586
        line_start: 572
        source_file: /src/hostap/src/wps/wps.h
    - fields:
      - name: '*uuid'
        type: u8
      - name: '*mac_addr'
        type: u8
      - name: m1_received
        type: int
      - name: config_methods
        type: u16
      - name: dev_passwd_id
        type: u16
      - name: '*pri_dev_type'
        type: u8
      - name: '*dev_name'
        type: char
      - name: '*manufacturer'
        type: char
      - name: '*model_name'
        type: char
      - name: '*model_number'
        type: char
      - name: '*serial_number'
        type: char
      item_type: struct
      name: wps_event_er_enrollee
      pos:
        line_end: 600
        line_start: 588
        source_file: /src/hostap/src/wps/wps.h
    - fields:
      - name: '*uuid'
        type: u8
      - name: '*cred'
        type: struct wps_credential
      item_type: struct
      name: wps_event_er_ap_settings
      pos:
        line_end: 605
        line_start: 602
        source_file: /src/hostap/src/wps/wps.h
    - fields:
      - name: '*uuid'
        type: u8
      - name: sel_reg
        type: int
      - name: dev_passwd_id
        type: u16
      - name: sel_reg_config_methods
        type: u16
      - name: state
        type: "enum {\n\t\t\tWPS_ER_SET_SEL_REG_START,\n\t\t\tWPS_ER_SET_SEL_REG_DONE,\n\t\t\tWPS_ER_SET_SEL_REG_FAILED\n\t\t}"
      item_type: struct
      name: wps_event_er_set_selected_registrar
      pos:
        line_end: 617
        line_start: 607
        source_file: /src/hostap/src/wps/wps.h
    - fields:
      - name: '*next'
        type: struct upnp_pending_message
      - name: addr[ETH_ALEN]
        type: u8
      - name: '*msg'
        type: struct wpabuf
      - name: type
        type: enum wps_msg_type
      item_type: struct
      name: upnp_pending_message
      pos:
        line_end: 632
        line_start: 627
        source_file: /src/hostap/src/wps/wps.h
    - fields:
      - name: ap
        type: int
      - name: '*registrar'
        type: struct wps_registrar
      - name: wps_state
        type: enum wps_state
      - name: ap_setup_locked
        type: int
      - name: uuid[16]
        type: u8
      - name: ssid[SSID_MAX_LEN]
        type: u8
      - name: ssid_len
        type: size_t
      - name: dev
        type: struct wps_device_data
      - name: '*dh_ctx'
        type: void
      - name: '*dh_privkey'
        type: struct wpabuf
      - name: '*dh_pubkey'
        type: struct wpabuf
      - name: config_methods
        type: u16
      - name: encr_types
        type: u16
      - name: encr_types_rsn
        type: u16
      - name: encr_types_wpa
        type: u16
      - name: auth_types
        type: u16
      - name: ap_encr_type
        type: u16
      - name: ap_auth_type
        type: u16
      - name: '*network_key'
        type: u8
      - name: network_key_len
        type: size_t
      - name: psk[32]
        type: u8
      - name: psk_set
        type: int
      - name: '*ap_settings'
        type: u8
      - name: ap_settings_len
        type: size_t
      - name: '*friendly_name'
        type: char
      - name: '*manufacturer_url'
        type: char
      - name: '*model_description'
        type: char
      - name: '*model_url'
        type: char
      - name: '*upc'
        type: char
      - name: (*cred_cb)(void *ctx, const struct wps_credential *cred)
        type: int
      - name: "(*event_cb)(void *ctx, enum wps_event event,\n\t\t\t union wps_event_data
          *data)"
        type: void
      - name: (*rf_band_cb)(void *ctx)
        type: int
      - name: '*cb_ctx'
        type: void
      - name: '*wps_upnp'
        type: struct upnp_wps_device_sm
      - name: '*upnp_msgs'
        type: struct upnp_pending_message
      - name: ap_nfc_dev_pw_id
        type: u16
      - name: '*ap_nfc_dh_pubkey'
        type: struct wpabuf
      - name: '*ap_nfc_dh_privkey'
        type: struct wpabuf
      - name: '*ap_nfc_dev_pw'
        type: struct wpabuf
      - name: use_passphrase
        type: bool
      item_type: struct
      name: wps_context
      pos:
        line_end: 852
        line_start: 640
        source_file: /src/hostap/src/wps/wps.h
    typedefs: []
    union:
    - fields:
      - name: m2d
        type: "struct wps_event_m2d {\n\t\tu16 config_methods;\n\t\tconst u8 *manufacturer;\n\t\tsize_t
          manufacturer_len;\n\t\tconst u8 *model_name;\n\t\tsize_t model_name_len;\n\t\tconst
          u8 *model_number;\n\t\tsize_t model_number_len;\n\t\tconst u8 *serial_number;\n\t\tsize_t
          serial_number_len;\n\t\tconst u8 *dev_name;\n\t\tsize_t dev_name_len;\n\t\tconst
          u8 *primary_dev_type; /* 8 octets */\n\t\tu16 config_error;\n\t\tu16 dev_password_id;\n\t}"
      - name: fail
        type: "struct wps_event_fail {\n\t\tint msg;\n\t\tu16 config_error;\n\t\tu16
          error_indication;\n\t\tu8 peer_macaddr[ETH_ALEN];\n\t}"
      - name: success
        type: "struct wps_event_success {\n\t\tu8 peer_macaddr[ETH_ALEN];\n\t}"
      - name: pwd_auth_fail
        type: "struct wps_event_pwd_auth_fail {\n\t\tint enrollee;\n\t\tint part;\n\t\tu8
          peer_macaddr[ETH_ALEN];\n\t}"
      - name: ap
        type: "struct wps_event_er_ap {\n\t\tconst u8 *uuid;\n\t\tconst u8 *mac_addr;\n\t\tconst
          char *friendly_name;\n\t\tconst char *manufacturer;\n\t\tconst char *manufacturer_url;\n\t\tconst
          char *model_description;\n\t\tconst char *model_name;\n\t\tconst char *model_number;\n\t\tconst
          char *model_url;\n\t\tconst char *serial_number;\n\t\tconst char *upc;\n\t\tconst
          u8 *pri_dev_type;\n\t\tu8 wps_state;\n\t}"
      - name: enrollee
        type: "struct wps_event_er_enrollee {\n\t\tconst u8 *uuid;\n\t\tconst u8 *mac_addr;\n\t\tint
          m1_received;\n\t\tu16 config_methods;\n\t\tu16 dev_passwd_id;\n\t\tconst
          u8 *pri_dev_type;\n\t\tconst char *dev_name;\n\t\tconst char *manufacturer;\n\t\tconst
          char *model_name;\n\t\tconst char *model_number;\n\t\tconst char *serial_number;\n\t}"
      - name: ap_settings
        type: "struct wps_event_er_ap_settings {\n\t\tconst u8 *uuid;\n\t\tconst struct
          wps_credential *cred;\n\t}"
      - name: set_sel_reg
        type: "struct wps_event_er_set_selected_registrar {\n\t\tconst u8 *uuid;\n\t\tint
          sel_reg;\n\t\tu16 dev_passwd_id;\n\t\tu16 sel_reg_config_methods;\n\t\tenum
          {\n\t\t\tWPS_ER_SET_SEL_REG_START,\n\t\t\tWPS_ER_SET_SEL_REG_DONE,\n\t\t\tWPS_ER_SET_SEL_REG_FAILED\n\t\t}
          state;\n\t}"
      item_type: union
      name: wps_event_data
      pos:
        line_end: 618
        line_start: 530
        source_file: /src/hostap/src/wps/wps.h
- function_names: []
  source_file: /src/hostap/src/wps/wps_i.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*wps'
        type: struct wps_context
      - name: registrar
        type: int
      - name: er
        type: int
      - name: state
        type: "enum {\n\t\t/* Enrollee states */\n\t\tSEND_M1, RECV_M2, SEND_M3, RECV_M4,
          SEND_M5, RECV_M6, SEND_M7,\n\t\tRECV_M8, RECEIVED_M2D, WPS_MSG_DONE, RECV_ACK,
          WPS_FINISHED,\n\t\tSEND_WSC_NACK,\n\n\t\t/* Registrar states */\n\t\tRECV_M1,
          SEND_M2, RECV_M3, SEND_M4, RECV_M5, SEND_M6,\n\t\tRECV_M7, SEND_M8, RECV_DONE,
          SEND_M2D, RECV_M2D_ACK\n\t}"
      - name: uuid_e[WPS_UUID_LEN]
        type: u8
      - name: uuid_r[WPS_UUID_LEN]
        type: u8
      - name: mac_addr_e[ETH_ALEN]
        type: u8
      - name: nonce_e[WPS_NONCE_LEN]
        type: u8
      - name: nonce_r[WPS_NONCE_LEN]
        type: u8
      - name: psk1[WPS_PSK_LEN]
        type: u8
      - name: psk2[WPS_PSK_LEN]
        type: u8
      - name: snonce[2 * WPS_SECRET_NONCE_LEN]
        type: u8
      - name: peer_hash1[WPS_HASH_LEN]
        type: u8
      - name: peer_hash2[WPS_HASH_LEN]
        type: u8
      - name: '*dh_privkey'
        type: struct wpabuf
      - name: '*dh_pubkey_e'
        type: struct wpabuf
      - name: '*dh_pubkey_r'
        type: struct wpabuf
      - name: authkey[WPS_AUTHKEY_LEN]
        type: u8
      - name: keywrapkey[WPS_KEYWRAPKEY_LEN]
        type: u8
      - name: emsk[WPS_EMSK_LEN]
        type: u8
      - name: '*last_msg'
        type: struct wpabuf
      - name: '*dev_password'
        type: u8
      - name: dev_password_len
        type: size_t
      - name: dev_pw_id
        type: u16
      - name: pbc
        type: int
      - name: '*alt_dev_password'
        type: u8
      - name: alt_dev_password_len
        type: size_t
      - name: alt_dev_pw_id
        type: u16
      - name: peer_pubkey_hash[WPS_OOB_PUBKEY_HASH_LEN]
        type: u8
      - name: peer_pubkey_hash_set
        type: int
      - name: request_type
        type: u8
      - name: encr_type
        type: u16
      - name: auth_type
        type: u16
      - name: '*new_psk'
        type: u8
      - name: new_psk_len
        type: size_t
      - name: wps_pin_revealed
        type: int
      - name: cred
        type: struct wps_credential
      - name: peer_dev
        type: struct wps_device_data
      - name: config_error
        type: u16
      - name: error_indication
        type: u16
      - name: ext_reg
        type: int
      - name: int_reg
        type: int
      - name: '*new_ap_settings'
        type: struct wps_credential
      - name: '*dh_ctx'
        type: void
      - name: (*ap_settings_cb)(void *ctx, const struct wps_credential *cred)
        type: void
      - name: '*ap_settings_cb_ctx'
        type: void
      - name: '*use_cred'
        type: struct wps_credential
      - name: use_psk_key
        type: int
      - name: p2p_dev_addr[ETH_ALEN]
        type: u8
      - name: pbc_in_m1
        type: int
      - name: '*nfc_pw_token'
        type: struct wps_nfc_pw_token
      - name: multi_ap_backhaul_sta
        type: int
      - name: multi_ap_profile
        type: int
      item_type: struct
      name: wps_data
      pos:
        line_end: 130
        line_start: 22
        source_file: /src/hostap/src/wps/wps_i.h
    typedefs: []
    union: []
- function_names:
  - wps_set_vendor_ext_wfa_subelem
  - wps_parse_vendor_ext_wfa
  - wps_parse_vendor_ext
  - wps_set_attr
  - wps_parse_msg
  source_file: /src/hostap/src/wps/wps_attr_parse.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - upnp_er_set_selected_timeout
  - upnp_er_set_selected_registrar
  - upnp_er_remove_notification
  source_file: /src/hostap/src/wps/wps_upnp_ap.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - format_wps_device_xml
  - http_put_reply_code
  - http_put_date
  - http_put_empty
  - web_connection_parse_get
  - wps_upnp_peer_del
  - web_process_get_device_info
  - web_process_put_message
  - web_process_put_wlan_response
  - find_er_addr
  - find_er
  - web_process_set_selected_registrar
  - web_connection_send_reply
  - web_get_action
  - web_connection_parse_post
  - web_connection_parse_subscribe
  - web_connection_parse_unsubscribe
  - web_connection_unimplemented
  - web_connection_check_data
  - web_listener_stop
  - web_listener_start
  source_file: /src/hostap/src/wps/wps_upnp_web.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: WEB_CONNECTION_TIMEOUT_SEC
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/hostap/src/wps/wps_upnp_web.c
      type_or_value: '30   '
    - item_type: preproc_def
      name: WEB_CONNECTION_MAX_READ
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/hostap/src/wps/wps_upnp_web.c
      type_or_value: '8000    '
    - item_type: preproc_def
      name: MAX_WEB_CONNECTIONS
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/hostap/src/wps/wps_upnp_web.c
      type_or_value: '10          '
    structs: []
    typedefs: []
    union: []
- function_names:
  - wps_er_sta_event
  - wps_er_sta_get
  - wps_er_sta_free
  - wps_er_sta_remove_all
  - wps_er_ap_get
  - wps_er_ap_get_id
  - wps_er_ap_event
  - wps_er_ap_free
  - wps_er_ap_unsubscribed
  - wps_er_http_unsubscribe_cb
  - wps_er_ap_unsubscribe
  - wps_er_ap_get_settings
  - wps_er_ap_cache_settings
  - wps_er_ap_use_cached_settings
  - wps_er_ap_remove_entry
  - wps_er_ap_timeout
  - wps_er_get_sid
  - wps_er_http_subscribe_cb
  - wps_er_subscribe
  - wps_er_ap_get_m1
  - wps_er_get_device_info
  - wps_er_find_wfadevice
  - wps_er_parse_device_description
  - wps_er_http_dev_desc_cb
  - wps_er_ap_add
  - wps_er_ap_remove
  - wps_er_ap_remove_all
  - http_put_date
  - wps_er_http_resp_not_found
  - wps_er_http_resp_ok
  - wps_er_sta_timeout
  - wps_er_add_sta_data
  - wps_er_process_wlanevent_probe_req
  - wps_er_http_put_wlan_response_cb
  - wps_er_soap_hdr
  - wps_er_soap_end
  - wps_er_sta_send_msg
  - wps_er_sta_process
  - wps_er_sta_start
  - wps_er_process_wlanevent_eap
  - wps_er_process_wlanevent
  - wps_er_http_event
  - wps_er_http_notify
  - wps_er_http_req
  - wps_er_init
  - wps_er_refresh
  - wps_er_deinit_finish
  - wps_er_deinit
  - wps_er_http_set_sel_reg_cb
  - wps_er_send_set_sel_reg
  - wps_er_build_selected_registrar
  - wps_er_build_dev_password_id
  - wps_er_build_sel_reg_config_methods
  - wps_er_build_uuid_r
  - wps_er_set_sel_reg
  - wps_er_pbc
  - wps_er_ap_settings_cb
  - wps_er_get_sta_uuid
  - wps_er_http_put_message_cb
  - wps_er_ap_put_message
  - wps_er_ap_process
  - wps_er_ap_learn_m1
  - wps_er_ap_learn
  - wps_er_http_get_dev_info_cb
  - wps_er_send_get_device_info
  - wps_er_learn
  - wps_er_set_config
  - wps_er_ap_config_m1
  - wps_er_config
  - wps_er_config_token_from_cred
  - wps_er_nfc_config_token
  - wps_er_nfc_handover_sel
  source_file: /src/hostap/src/wps/wps_er.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - http_request_cb
  - http_request_init
  - http_request_deinit
  - http_request_free_all
  - http_request_send
  - http_request_send_and_deinit
  - http_request_get_type
  - http_request_get_uri
  - http_request_get_hdr
  - http_request_get_data
  - http_request_get_hdr_line
  - http_request_get_cli_addr
  - http_server_cb
  - http_server_init
  - http_server_deinit
  - http_server_get_port
  source_file: /src/hostap/src/wps/http_server.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HTTP_SERVER_TIMEOUT
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/hostap/src/wps/http_server.c
      type_or_value: '30'
    - item_type: preproc_def
      name: HTTP_SERVER_MAX_REQ_LEN
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/hostap/src/wps/http_server.c
      type_or_value: '8000'
    - item_type: preproc_def
      name: HTTP_SERVER_MAX_CONNECTIONS
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/hostap/src/wps/http_server.c
      type_or_value: '10'
    structs:
    - fields:
      - name: '*next'
        type: struct http_request
      - name: '*srv'
        type: struct http_server
      - name: fd
        type: int
      - name: cli
        type: struct sockaddr_in
      - name: '*hread'
        type: struct httpread
      item_type: struct
      name: http_request
      pos:
        line_end: 26
        line_start: 20
        source_file: /src/hostap/src/wps/http_server.c
    - fields:
      - name: (*cb)(void *ctx, struct http_request *req)
        type: void
      - name: '*cb_ctx'
        type: void
      - name: fd
        type: int
      - name: port
        type: int
      - name: '*requests'
        type: struct http_request
      - name: request_count
        type: unsigned int
      item_type: struct
      name: http_server
      pos:
        line_end: 37
        line_start: 28
        source_file: /src/hostap/src/wps/http_server.c
    typedefs: []
    union: []
- function_names:
  - wps_build_public_key
  - wps_build_req_type
  - wps_build_resp_type
  - wps_build_config_methods
  - wps_build_uuid_e
  - wps_build_dev_password_id
  - wps_build_config_error
  - wps_build_authenticator
  - wps_build_version
  - wps_build_wfa_ext
  - wps_build_msg_type
  - wps_build_enrollee_nonce
  - wps_build_registrar_nonce
  - wps_build_auth_type_flags
  - wps_build_encr_type_flags
  - wps_build_conn_type_flags
  - wps_build_assoc_state
  - wps_build_key_wrap_auth
  - wps_build_encr_settings
  - wps_build_oob_dev_pw
  - wps_ie_encapsulate
  - wps_build_mac_addr
  - wps_build_rf_bands_attr
  - wps_build_ap_channel
  source_file: /src/hostap/src/wps/wps_attr_build.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - event_clean
  - event_delete
  - event_dequeue
  - wps_upnp_event_delete_all
  - event_retry
  - event_build_message
  - event_addr_failure
  - event_http_cb
  - event_send_start
  - event_send_all_later_handler
  - wps_upnp_event_send_all_later
  - wps_upnp_event_send_stop_all
  - wps_upnp_event_add
  source_file: /src/hostap/src/wps/wps_upnp_event.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_EVENTS_QUEUED
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/hostap/src/wps/wps_upnp_event.c
      type_or_value: '20   '
    - item_type: preproc_def
      name: MAX_FAILURES
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/hostap/src/wps/wps_upnp_event.c
      type_or_value: '10 '
    - item_type: preproc_def
      name: EVENT_DELAY_SECONDS
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/hostap/src/wps/wps_upnp_event.c
      type_or_value: '0'
    - item_type: preproc_def
      name: EVENT_DELAY_MSEC
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/hostap/src/wps/wps_upnp_event.c
      type_or_value: '0'
    structs:
    - fields:
      - name: list
        type: struct dl_list
      - name: '*s'
        type: struct subscription
      - name: subscriber_sequence
        type: unsigned
      - name: retry
        type: unsigned int
      - name: '*addr'
        type: struct subscr_addr
      - name: '*data'
        type: struct wpabuf
      - name: '*http_event'
        type: struct http_client
      item_type: struct
      name: wps_event_
      pos:
        line_end: 55
        line_start: 47
        source_file: /src/hostap/src/wps/wps_upnp_event.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/wps/httpread.h
  types:
    enum:
    - enumerators:
      - name: HTTPREAD_EVENT_FILE_READY
        value: '1'
      - name: HTTPREAD_EVENT_TIMEOUT
        value: '2'
      - name: HTTPREAD_EVENT_ERROR
        value: '3'
      item_type: enum
      name: httpread_event
      pos:
        line_end: 17
        line_start: 13
        source_file: /src/hostap/src/wps/httpread.h
    - enumerators:
      - name: HTTPREAD_HDR_TYPE_UNKNOWN
        value: '0'
      - name: HTTPREAD_HDR_TYPE_HEAD
        value: '3'
      - name: HTTPREAD_HDR_TYPE_POST
        value: '4'
      - name: HTTPREAD_HDR_TYPE_REPLY
        value: '1'
      - name: HTTPREAD_HDR_TYPE_GET
        value: '2'
      - name: HTTPREAD_HDR_TYPE_PUT
        value: '5'
      - name: HTTPREAD_HDR_TYPE_DELETE
        value: '6'
      - name: HTTPREAD_HDR_TYPE_TRACE
        value: '7'
      - name: HTTPREAD_HDR_TYPE_CONNECT
        value: '8'
      - name: HTTPREAD_HDR_TYPE_NOTIFY
        value: '9'
      - name: HTTPREAD_HDR_TYPE_UNSUBSCRIBE
        value: '13'
      - name: HTTPREAD_HDR_TYPE_M_POST
        value: '11'
      - name: HTTPREAD_HDR_TYPE_M_SEARCH
        value: '10'
      - name: HTTPREAD_N_HDR_TYPES
      - name: HTTPREAD_HDR_TYPE_SUBSCRIBE
        value: '12'
      item_type: enum
      name: httpread_hdr_type
      pos:
        line_end: 40
        line_start: 23
        source_file: /src/hostap/src/wps/httpread.h
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/wps/upnp_xml.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/wps/wps_upnp_i.h
  types:
    enum:
    - enumerators:
      - name: ADVERTISE_UP
        value: '0'
      - name: ADVERTISE_DOWN
        value: '1'
      - name: MSEARCH_REPLY
        value: '2'
      item_type: enum
      name: advertisement_type_enum
      pos:
        line_end: 41
        line_start: 37
        source_file: /src/hostap/src/wps/wps_upnp_i.h
    preproc_defs:
    - item_type: preproc_def
      name: UPNP_MULTICAST_ADDRESS
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/hostap/src/wps/wps_upnp_i.h
      type_or_value: '"239.255.255.250" '
    - item_type: preproc_def
      name: UPNP_MULTICAST_PORT
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/hostap/src/wps/wps_upnp_i.h
      type_or_value: '1900 '
    - item_type: preproc_def
      name: UPNP_SUBSCRIBE_SEC_MIN
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/hostap/src/wps/wps_upnp_i.h
      type_or_value: '1800'
    - item_type: preproc_def
      name: UPNP_SUBSCRIBE_SEC
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/hostap/src/wps/wps_upnp_i.h
      type_or_value: (UPNP_SUBSCRIBE_SEC_MIN + 1)
    - item_type: preproc_def
      name: UPNP_WPS_DEVICE_XML_FILE
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/hostap/src/wps/wps_upnp_i.h
      type_or_value: '"wps_device.xml"'
    - item_type: preproc_def
      name: UPNP_WPS_SCPD_XML_FILE
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/hostap/src/wps/wps_upnp_i.h
      type_or_value: '"wps_scpd.xml"'
    - item_type: preproc_def
      name: UPNP_WPS_DEVICE_CONTROL_FILE
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/hostap/src/wps/wps_upnp_i.h
      type_or_value: '"wps_control"'
    - item_type: preproc_def
      name: UPNP_WPS_DEVICE_EVENT_FILE
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/hostap/src/wps/wps_upnp_i.h
      type_or_value: '"wps_event"'
    - item_type: preproc_def
      name: MULTICAST_MAX_READ
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/hostap/src/wps/wps_upnp_i.h
      type_or_value: '1600 '
    structs:
    - fields:
      - name: list
        type: struct dl_list
      - name: type
        type: enum advertisement_type_enum
      - name: state
        type: int
      - name: nerrors
        type: int
      - name: client
        type: struct sockaddr_in
      item_type: struct
      name: advertisement_state_machine
      pos:
        line_end: 56
        line_start: 50
        source_file: /src/hostap/src/wps/wps_upnp_i.h
    - fields:
      - name: list
        type: struct dl_list
      - name: '*domain_and_port'
        type: char
      - name: '*path'
        type: char
      - name: saddr
        type: struct sockaddr_in
      - name: num_failures
        type: unsigned
      item_type: struct
      name: subscr_addr
      pos:
        line_end: 70
        line_start: 64
        source_file: /src/hostap/src/wps/wps_upnp_i.h
    - fields:
      - name: list
        type: struct dl_list
      - name: '*sm'
        type: struct upnp_wps_device_sm
      - name: timeout_time
        type: time_t
      - name: next_subscriber_sequence
        type: unsigned
      - name: uuid[UUID_LEN]
        type: u8
      - name: addr_list
        type: struct dl_list
      - name: event_queue
        type: struct dl_list
      - name: '*current_event'
        type: struct wps_event_
      - name: last_event_failed
        type: int
      - name: selected_registrar
        type: u8
      - name: dev_password_id
        type: u16
      - name: config_methods
        type: u16
      - name: authorized_macs[WPS_MAX_AUTHORIZED_MACS][ETH_ALEN]
        type: u8
      - name: '*reg'
        type: struct wps_registrar
      item_type: struct
      name: subscription
      pos:
        line_end: 102
        line_start: 78
        source_file: /src/hostap/src/wps/wps_upnp_i.h
    - fields:
      - name: list
        type: struct dl_list
      - name: '*ctx'
        type: struct upnp_wps_device_ctx
      - name: '*wps'
        type: struct wps_context
      - name: '*priv'
        type: void
      - name: peers
        type: struct dl_list
      item_type: struct
      name: upnp_wps_device_interface
      pos:
        line_end: 112
        line_start: 105
        source_file: /src/hostap/src/wps/wps_upnp_i.h
    - fields:
      - name: interfaces
        type: struct dl_list
      - name: '*root_dir'
        type: char
      - name: '*desc_url'
        type: char
      - name: started
        type: int
      - name: mac_addr[ETH_ALEN]
        type: u8
      - name: '*ip_addr_text'
        type: char
      - name: ip_addr
        type: unsigned
      - name: netmask
        type: struct in_addr
      - name: multicast_sd
        type: int
      - name: ssdp_sd
        type: int
      - name: ssdp_sd_registered
        type: int
      - name: advertise_count
        type: unsigned
      - name: advertisement
        type: struct advertisement_state_machine
      - name: msearch_replies
        type: struct dl_list
      - name: web_port
        type: int
      - name: '*web_srv'
        type: struct http_server
      - name: subscriptions
        type: struct dl_list
      - name: event_send_all_queued
        type: int
      - name: '*wlanevent'
        type: char
      - name: wlanevent_type
        type: enum upnp_wps_wlanevent_type
      - name: last_event_sec
        type: os_time_t
      - name: num_events_in_sec
        type: unsigned int
      item_type: struct
      name: upnp_wps_device_sm
      pos:
        line_end: 148
        line_start: 122
        source_file: /src/hostap/src/wps/wps_upnp_i.h
    typedefs: []
    union: []
- function_names:
  - wps_er_ssdp_rx
  - wps_er_send_ssdp_msearch
  - wps_er_ssdp_init
  - wps_er_ssdp_deinit
  source_file: /src/hostap/src/wps/wps_er_ssdp.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - eapol_port_timers_tick
  - eapol_sm_confirm_auth
  - eapol_enable_timer_tick
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - SM_STEP
  - SM_STATE
  - SM_STATE
  - SM_STEP
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - SM_STATE
  - SM_STEP
  - eapol_sm_txLogoff
  - eapol_sm_txStart
  - eapol_sm_processKey
  - eapol_sm_getSuppRsp
  - eapol_sm_txSuppRsp
  - eapol_sm_abortSupp
  - eapol_sm_step_timeout
  - eapol_sm_set_port_authorized
  - eapol_sm_set_port_unauthorized
  - eapol_sm_step
  - eapol_supp_pae_state
  - eapol_supp_be_state
  - eapol_port_status
  - eapol_port_control
  - eapol_sm_configure
  - eapol_sm_get_method_name
  - eapol_sm_get_status
  - eapol_sm_get_mib
  - eapol_sm_rx_eapol
  - eapol_sm_notify_tx_eapol_key
  - eapol_sm_notify_portEnabled
  - eapol_sm_notify_portValid
  - eapol_sm_notify_eap_success
  - eapol_sm_notify_eap_fail
  - eapol_sm_notify_config
  - eapol_sm_get_key
  - eapol_sm_get_session_id
  - eapol_sm_notify_logoff
  - eapol_sm_notify_cached
  - eapol_sm_notify_pmkid_attempt
  - eapol_sm_abort_cached
  - eapol_sm_register_scard_ctx
  - eapol_sm_notify_portControl
  - eapol_sm_notify_ctrl_attached
  - eapol_sm_notify_ctrl_response
  - eapol_sm_request_reauth
  - eapol_sm_notify_lower_layer_success
  - eapol_sm_invalidate_cached_session
  - eapol_sm_get_config
  - eapol_sm_get_eapReqData
  - eapol_sm_get_bool
  - eapol_sm_set_bool
  - eapol_sm_get_int
  - eapol_sm_set_int
  - eapol_sm_set_config_blob
  - eapol_sm_get_config_blob
  - eapol_sm_notify_pending
  - eapol_sm_eap_param_needed
  - eapol_sm_notify_cert
  - eapol_sm_notify_status
  - eapol_sm_notify_eap_error
  - eapol_sm_eap_proxy_cb
  - eapol_sm_eap_proxy_notify_sim_status
  - eapol_sm_set_anon_id
  - eapol_sm_init
  - eapol_sm_deinit
  - eapol_sm_set_ext_pw_ctx
  - eapol_sm_failed
  - eapol_sm_get_eap_proxy_imsi
  - eapol_sm_erp_flush
  - eapol_sm_build_erp_reauth_start
  - eapol_sm_process_erp_finish
  - eapol_sm_update_erp_next_seq_num
  - eapol_sm_get_erp_info
  - eapol_sm_set_eap_over_auth_frame
  - eapol_sm_get_eap_over_auth_frame
  - eapol_sm_get_eapol_pdu
  - eapol_sm_get_success
  - eapol_sm_get_failure
  source_file: /src/hostap/src/eapol_supp/eapol_supp_sm.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STATE_MACHINE_DATA
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/hostap/src/eapol_supp/eapol_supp_sm.c
      type_or_value: struct eapol_sm
    - item_type: preproc_def
      name: STATE_MACHINE_DEBUG_PREFIX
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/hostap/src/eapol_supp/eapol_supp_sm.c
      type_or_value: '"EAPOL"'
    - item_type: preproc_def
      name: IEEE8021X_ENCR_KEY_LEN
      pos:
        line_end: 700
        line_start: 699
        source_file: /src/hostap/src/eapol_supp/eapol_supp_sm.c
      type_or_value: '32'
    - item_type: preproc_def
      name: IEEE8021X_SIGN_KEY_LEN
      pos:
        line_end: 701
        line_start: 700
        source_file: /src/hostap/src/eapol_supp/eapol_supp_sm.c
      type_or_value: '32'
    - item_type: preproc_def
      name: eapol_sm_eap_param_needed
      pos:
        line_end: 2056
        line_start: 2055
        source_file: /src/hostap/src/eapol_supp/eapol_supp_sm.c
      type_or_value: 'NULL'
    structs:
    - fields:
      - name: authWhile
        type: unsigned int
      - name: heldWhile
        type: unsigned int
      - name: startWhen
        type: unsigned int
      - name: idleWhile
        type: unsigned int
      - name: timer_tick_enabled
        type: int
      - name: eapFail
        type: bool
      - name: eapolEap
        type: bool
      - name: eapSuccess
        type: bool
      - name: initialize
        type: bool
      - name: keyDone
        type: bool
      - name: keyRun
        type: bool
      - name: portControl
        type: PortControl
      - name: portEnabled
        type: bool
      - name: suppPortStatus
        type: PortStatus
      - name: portValid
        type: bool
      - name: suppAbort
        type: bool
      - name: suppFail
        type: bool
      - name: suppStart
        type: bool
      - name: suppSuccess
        type: bool
      - name: suppTimeout
        type: bool
      - name: SUPP_PAE_state
        type: "enum {\n\t\tSUPP_PAE_UNKNOWN = 0,\n\t\tSUPP_PAE_DISCONNECTED = 1,\n\t\tSUPP_PAE_LOGOFF
          = 2,\n\t\tSUPP_PAE_CONNECTING = 3,\n\t\tSUPP_PAE_AUTHENTICATING = 4,\n\t\tSUPP_PAE_AUTHENTICATED
          = 5,\n\t\t/* unused(6) */\n\t\tSUPP_PAE_HELD = 7,\n\t\tSUPP_PAE_RESTART
          = 8,\n\t\tSUPP_PAE_S_FORCE_AUTH = 9,\n\t\tSUPP_PAE_S_FORCE_UNAUTH = 10\n\t}"
      - name: userLogoff
        type: bool
      - name: logoffSent
        type: bool
      - name: startCount
        type: unsigned int
      - name: eapRestart
        type: bool
      - name: sPortMode
        type: PortControl
      - name: heldPeriod
        type: unsigned int
      - name: startPeriod
        type: unsigned int
      - name: maxStart
        type: unsigned int
      - name: KEY_RX_state
        type: "enum {\n\t\tKEY_RX_UNKNOWN = 0,\n\t\tKEY_RX_NO_KEY_RECEIVE, KEY_RX_KEY_RECEIVE\n\t}"
      - name: rxKey
        type: bool
      - name: SUPP_BE_state
        type: "enum {\n\t\tSUPP_BE_UNKNOWN = 0,\n\t\tSUPP_BE_INITIALIZE = 1,\n\t\tSUPP_BE_IDLE
          = 2,\n\t\tSUPP_BE_REQUEST = 3,\n\t\tSUPP_BE_RECEIVE = 4,\n\t\tSUPP_BE_RESPONSE
          = 5,\n\t\tSUPP_BE_FAIL = 6,\n\t\tSUPP_BE_TIMEOUT = 7,\n\t\tSUPP_BE_SUCCESS
          = 8\n\t}"
      - name: eapNoResp
        type: bool
      - name: eapReq
        type: bool
      - name: eapResp
        type: bool
      - name: authPeriod
        type: unsigned int
      - name: dot1xSuppEapolFramesRx
        type: unsigned int
      - name: dot1xSuppEapolFramesTx
        type: unsigned int
      - name: dot1xSuppEapolStartFramesTx
        type: unsigned int
      - name: dot1xSuppEapolLogoffFramesTx
        type: unsigned int
      - name: dot1xSuppEapolRespFramesTx
        type: unsigned int
      - name: dot1xSuppEapolReqIdFramesRx
        type: unsigned int
      - name: dot1xSuppEapolReqFramesRx
        type: unsigned int
      - name: dot1xSuppInvalidEapolFramesRx
        type: unsigned int
      - name: dot1xSuppEapLengthErrorFramesRx
        type: unsigned int
      - name: dot1xSuppLastEapolFrameVersion
        type: unsigned int
      - name: dot1xSuppLastEapolFrameSource[6]
        type: unsigned char
      - name: changed
        type: bool
      - name: '*eap'
        type: struct eap_sm
      - name: '*config'
        type: struct eap_peer_config
      - name: initial_req
        type: bool
      - name: '*last_rx_key'
        type: u8
      - name: last_rx_key_len
        type: size_t
      - name: '*eapReqData'
        type: struct wpabuf
      - name: altAccept
        type: bool
      - name: altReject
        type: bool
      - name: eapTriggerStart
        type: bool
      - name: replay_counter_valid
        type: bool
      - name: last_replay_counter[16]
        type: u8
      - name: conf
        type: struct eapol_config
      - name: '*ctx'
        type: struct eapol_ctx
      - name: cb_status
        type: enum { EAPOL_CB_IN_PROGRESS = 0, EAPOL_CB_SUCCESS, EAPOL_CB_FAILURE
          }
      - name: cached_pmk
        type: bool
      - name: unicast_key_received
        type: bool
      - name: force_authorized_update
        type: bool
      item_type: struct
      name: eapol_sm
      pos:
        line_end: 153
        line_start: 31
        source_file: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    - fields:
      - name: encr_key[IEEE8021X_ENCR_KEY_LEN]
        type: u8
      - name: sign_key[IEEE8021X_SIGN_KEY_LEN]
        type: u8
      item_type: struct
      name: eap_key_data
      pos:
        line_end: 705
        line_start: 702
        source_file: /src/hostap/src/eapol_supp/eapol_supp_sm.c
    typedefs: []
    union: []
- function_names:
  - eapol_sm_init
  - eapol_sm_deinit
  - eapol_sm_step
  - eapol_sm_get_status
  - eapol_sm_get_mib
  - eapol_sm_configure
  - eapol_sm_rx_eapol
  - eapol_sm_notify_tx_eapol_key
  - eapol_sm_notify_portEnabled
  - eapol_sm_notify_portValid
  - eapol_sm_notify_eap_success
  - eapol_sm_notify_eap_fail
  - eapol_sm_notify_config
  - eapol_sm_get_key
  - eapol_sm_get_session_id
  - eapol_sm_notify_logoff
  - eapol_sm_notify_cached
  - eapol_sm_notify_pmkid_attempt
  - eapol_sm_register_scard_ctx
  - eapol_sm_notify_portControl
  - eapol_sm_notify_ctrl_attached
  - eapol_sm_notify_ctrl_response
  - eapol_sm_request_reauth
  - eapol_sm_notify_lower_layer_success
  - eapol_sm_invalidate_cached_session
  - eapol_sm_get_method_name
  - eapol_sm_set_ext_pw_ctx
  - eapol_sm_failed
  - eapol_sm_erp_flush
  - eapol_sm_build_erp_reauth_start
  - eapol_sm_process_erp_finish
  - eapol_sm_update_erp_next_seq_num
  - eapol_sm_get_erp_info
  source_file: /src/hostap/src/eapol_supp/eapol_supp_sm.h
  types:
    enum:
    - enumerators:
      - name: EAPOL_SUPP_RESULT_FAILURE
      - name: EAPOL_SUPP_RESULT_EXPECTED_FAILURE
      - name: EAPOL_SUPP_RESULT_SUCCESS
      item_type: enum
      name: eapol_supp_result
      pos:
        line_end: 78
        line_start: 74
        source_file: /src/hostap/src/eapol_supp/eapol_supp_sm.h
    preproc_defs:
    - item_type: preproc_def
      name: EAPOL_REQUIRE_KEY_UNICAST
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/hostap/src/eapol_supp/eapol_supp_sm.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: EAPOL_REQUIRE_KEY_BROADCAST
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/hostap/src/eapol_supp/eapol_supp_sm.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: EAPOL_LOCAL_WPS_IN_USE
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/hostap/src/eapol_supp/eapol_supp_sm.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: EAPOL_PEER_IS_WPS20_AP
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/hostap/src/eapol_supp/eapol_supp_sm.h
      type_or_value: BIT(1)
    structs:
    - fields:
      - name: accept_802_1x_keys
        type: int
      - name: required_keys
        type: int
      - name: fast_reauth
        type: int
      - name: workaround
        type: unsigned int
      - name: eap_disabled
        type: int
      - name: external_sim
        type: int
      - name: wps
        type: int
      item_type: struct
      name: eapol_config
      pos:
        line_end: 69
        line_start: 21
        source_file: /src/hostap/src/eapol_supp/eapol_supp_sm.h
    - fields:
      - name: '*ctx'
        type: void
      - name: preauth
        type: int
      - name: "(*cb)(struct eapol_sm *eapol, enum eapol_supp_result result,\n\t\t
          \  void *ctx)"
        type: void
      - name: '*cb_ctx'
        type: void
      - name: '*msg_ctx'
        type: void
      - name: '*scard_ctx'
        type: void
      - name: '*eapol_send_ctx'
        type: void
      - name: (*eapol_done_cb)(void *ctx)
        type: void
      - name: (*eapol_send)(void *ctx, int type, const u8 *buf, size_t len)
        type: int
      - name: "(*set_wep_key)(void *ctx, int unicast, int keyidx,\n\t\t\t   const
          u8 *key, size_t keylen)"
        type: int
      - name: (*set_config_blob)(void *ctx, struct wpa_config_blob *blob)
        type: void
      - name: "* (*get_config_blob)(void *ctx,\n\t\t\t\t\t\t\t  const char *name)"
        type: struct wpa_config_blob
      - name: (*aborted_cached)(void *ctx)
        type: void
      - name: '*openssl_ciphers'
        type: char
      - name: '*wps'
        type: struct wps_context
      - name: "(*eap_param_needed)(void *ctx, enum wpa_ctrl_req_type field,\n\t\t\t\t
          const char *txt)"
        type: void
      - name: (*port_cb)(void *ctx, int authorized)
        type: void
      - name: "(*cert_cb)(void *ctx, struct tls_cert_data *cert,\n\t\t\tconst char
          *cert_hash)"
        type: void
      - name: cert_in_cb
        type: int
      - name: "(*status_cb)(void *ctx, const char *status,\n\t\t\t  const char *parameter)"
        type: void
      - name: (*eap_error_cb)(void *ctx, int error_code)
        type: void
      - name: (*set_anon_id)(void *ctx, const u8 *id, size_t len)
        type: void
      - name: (*confirm_auth_cb)(void *ctx)
        type: int
      - name: (*encryption_required)(void *ctx)
        type: bool
      item_type: struct
      name: eapol_ctx
      pos:
        line_end: 322
        line_start: 83
        source_file: /src/hostap/src/eapol_supp/eapol_supp_sm.h
    typedefs: []
    union: []
- function_names:
  - l2_packet_get_own_addr
  - l2_packet_init_libdnet
  - l2_packet_send
  - l2_packet_receive
  - l2_packet_receive_cb
  - l2_packet_receive_timeout
  - l2_packet_init_libpcap
  - l2_packet_init
  - l2_packet_init_bridge
  - l2_packet_deinit
  - l2_packet_get_ip_addr
  - l2_packet_notify_auth_start
  - l2_packet_set_packet_filter
  source_file: /src/hostap/src/l2_packet/l2_packet_pcap.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*pcap'
        type: pcap_t
      - name: ifname[100]
        type: char
      - name: own_addr[ETH_ALEN]
        type: u8
      - name: "(*rx_callback)(void *ctx, const u8 *src_addr,\n\t\t\t    const u8 *buf,
          size_t len)"
        type: void
      - name: '*rx_callback_ctx'
        type: void
      - name: l2_hdr
        type: int
      item_type: struct
      name: l2_packet_data
      pos:
        line_end: 39
        line_start: 25
        source_file: /src/hostap/src/l2_packet/l2_packet_pcap.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/l2_packet/l2_packet.h
  types:
    enum:
    - enumerators:
      - name: L2_PACKET_FILTER_DHCP
      - name: L2_PACKET_FILTER_NDISC
      - name: L2_PACKET_FILTER_PKTTYPE
      item_type: enum
      name: l2_packet_filter_type
      pos:
        line_end: 45
        line_start: 41
        source_file: /src/hostap/src/l2_packet/l2_packet.h
    preproc_defs: []
    structs:
    - fields:
      - name: h_dest[ETH_ALEN]
        type: u8
      - name: h_source[ETH_ALEN]
        type: u8
      - name: h_proto
        type: be16
      item_type: struct
      name: l2_ethhdr
      pos:
        line_end: 35
        line_start: 31
        source_file: /src/hostap/src/l2_packet/l2_packet.h
    typedefs: []
    union: []
- function_names:
  - l2_packet_get_own_addr
  - l2_packet_send
  - l2_packet_receive
  - l2_packet_receive_br
  - l2_packet_init
  - l2_packet_init_bridge
  - l2_packet_deinit
  - l2_packet_get_ip_addr
  - l2_packet_notify_auth_start
  - l2_packet_set_packet_filter
  source_file: /src/hostap/src/l2_packet/l2_packet_linux.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: fd
        type: int
      - name: ifname[IFNAMSIZ + 1]
        type: char
      - name: ifindex
        type: int
      - name: own_addr[ETH_ALEN]
        type: u8
      - name: "(*rx_callback)(void *ctx, const u8 *src_addr,\n\t\t\t    const u8 *buf,
          size_t len)"
        type: void
      - name: '*rx_callback_ctx'
        type: void
      - name: l2_hdr
        type: int
      item_type: struct
      name: l2_packet_data
      pos:
        line_end: 40
        line_start: 21
        source_file: /src/hostap/src/l2_packet/l2_packet_linux.c
    typedefs: []
    union: []
- function_names:
  - _NDISUIO_CTL_CODE
  - l2_packet_get_own_addr
  - l2_packet_send
  - l2_packet_rx_thread_try_read
  - l2_packet_rx_thread
  - l2_ndisuio_start_read
  - l2_packet_callback
  - l2_packet_rx_event
  - l2_ndisuio_set_ether_type
  - l2_packet_init
  - l2_packet_init_bridge
  - l2_packet_deinit
  - l2_packet_get_ip_addr
  - l2_packet_notify_auth_start
  - l2_packet_set_packet_filter
  source_file: /src/hostap/src/l2_packet/l2_packet_ndis.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FSCTL_NDISUIO_BASE
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/hostap/src/l2_packet/l2_packet_ndis.c
      type_or_value: FILE_DEVICE_NETWORK
    - item_type: preproc_def
      name: IOCTL_NDISUIO_SET_ETHER_TYPE
      pos:
        line_end: 38
        line_start: 35
        source_file: /src/hostap/src/l2_packet/l2_packet_ndis.c
      type_or_value: "_NDISUIO_CTL_CODE(0x202, METHOD_BUFFERED, \\\n\t\t\t  FILE_READ_ACCESS
        | FILE_WRITE_ACCESS)"
    structs:
    - fields:
      - name: refcount
        type: int
      - name: first_proto
        type: unsigned short
      - name: '*l2[2]'
        type: struct l2_packet_data
      item_type: struct
      name: l2_packet_ndisuio_global
      pos:
        line_end: 62
        line_start: 52
        source_file: /src/hostap/src/l2_packet/l2_packet_ndis.c
    - fields:
      - name: ifname[100]
        type: char
      - name: own_addr[ETH_ALEN]
        type: u8
      - name: "(*rx_callback)(void *ctx, const u8 *src_addr,\n\t\t\t    const u8 *buf,
          size_t len)"
        type: void
      - name: '*rx_callback_ctx'
        type: void
      - name: l2_hdr
        type: int
      - name: rx_avail
        type: HANDLE
      - name: rx_buf[1514]
        type: u8
      - name: rx_written
        type: DWORD
      item_type: struct
      name: l2_packet_data
      pos:
        line_end: 80
        line_start: 66
        source_file: /src/hostap/src/l2_packet/l2_packet_ndis.c
    typedefs: []
    union: []
- function_names:
  - l2_packet_get_own_addr
  - l2_packet_send
  - l2_packet_receive
  - l2_packet_init
  - l2_packet_init_bridge
  - l2_packet_deinit
  - l2_packet_get_ip_addr
  - l2_packet_notify_auth_start
  - l2_packet_set_packet_filter
  source_file: /src/hostap/src/l2_packet/l2_packet_none.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: ifname[17]
        type: char
      - name: own_addr[ETH_ALEN]
        type: u8
      - name: "(*rx_callback)(void *ctx, const u8 *src_addr,\n\t\t\t    const u8 *buf,
          size_t len)"
        type: void
      - name: '*rx_callback_ctx'
        type: void
      - name: l2_hdr
        type: int
      - name: fd
        type: int
      item_type: struct
      name: l2_packet_data
      pos:
        line_end: 26
        line_start: 17
        source_file: /src/hostap/src/l2_packet/l2_packet_none.c
    typedefs: []
    union: []
- function_names:
  - l2_packet_get_own_addr
  - l2_packet_send
  - l2_packet_receive
  - l2_packet_init_libpcap
  - eth_get
  - l2_packet_init
  - l2_packet_init_bridge
  - l2_packet_deinit
  - l2_packet_get_ip_addr
  - l2_packet_notify_auth_start
  - l2_packet_set_packet_filter
  source_file: /src/hostap/src/l2_packet/l2_packet_freebsd.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ETHER_VLAN_ENCAP_LEN
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/hostap/src/l2_packet/l2_packet_freebsd.c
      type_or_value: '4'
    structs:
    - fields:
      - name: '*pcap'
        type: pcap_t
      - name: ifname[100]
        type: char
      - name: own_addr[ETH_ALEN]
        type: u8
      - name: "(*rx_callback)(void *ctx, const u8 *src_addr,\n\t\t\t    const u8 *buf,
          size_t len)"
        type: void
      - name: '*rx_callback_ctx'
        type: void
      - name: l2_hdr
        type: int
      item_type: struct
      name: l2_packet_data
      pos:
        line_end: 48
        line_start: 39
        source_file: /src/hostap/src/l2_packet/l2_packet_freebsd.c
    typedefs: []
    union: []
- function_names:
  - l2_packet_get_own_addr
  - l2_packet_send
  - l2_packet_receive_cb
  - l2_packet_receive_thread
  - l2_packet_rx_event
  - l2_packet_init_libpcap
  - l2_packet_init
  - l2_packet_init_bridge
  - l2_packet_deinit_timeout
  - l2_packet_deinit
  - l2_packet_get_ip_addr
  - l2_packet_notify_auth_start
  source_file: /src/hostap/src/l2_packet/l2_packet_winpcap.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*pcap'
        type: pcap_t
      - name: num_fast_poll
        type: unsigned int
      - name: ifname[100]
        type: char
      - name: own_addr[ETH_ALEN]
        type: u8
      - name: "(*rx_callback)(void *ctx, const u8 *src_addr,\n\t\t\t    const u8 *buf,
          size_t len)"
        type: void
      - name: '*rx_callback_ctx'
        type: void
      - name: l2_hdr
        type: int
      - name: running
        type: int
      - name: rx_avail
        type: HANDLE
      - name: '*rx_buf'
        type: u8
      - name: rx_len
        type: size_t
      - name: rx_no_wait
        type: size_t
      item_type: struct
      name: l2_packet_data
      pos:
        line_end: 61
        line_start: 46
        source_file: /src/hostap/src/l2_packet/l2_packet_winpcap.c
    typedefs: []
    union: []
- function_names:
  - wpa_priv_cmd
  - l2_packet_get_own_addr
  - l2_packet_send
  - l2_packet_receive
  - l2_packet_init
  - l2_packet_init_bridge
  - l2_packet_deinit
  - l2_packet_get_ip_addr
  - l2_packet_notify_auth_start
  - l2_packet_set_packet_filter
  source_file: /src/hostap/src/l2_packet/l2_packet_privsep.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: fd
        type: int
      - name: "(*rx_callback)(void *ctx, const u8 *src_addr,\n\t\t\t    const u8 *buf,
          size_t len)"
        type: void
      - name: '*rx_callback_ctx'
        type: void
      - name: own_addr[ETH_ALEN]
        type: u8
      - name: '*own_socket_path'
        type: char
      - name: priv_addr
        type: struct sockaddr_un
      item_type: struct
      name: l2_packet_data
      pos:
        line_end: 25
        line_start: 17
        source_file: /src/hostap/src/l2_packet/l2_packet_privsep.c
    typedefs: []
    union: []
- function_names:
  - BstrAlloc
  - BstrFree
  - STDMETHODCALLTYPE::call_IWbemServices_ExecQuery
  - STDMETHODCALLTYPE::call_IWbemServices_ExecNotificationQueryAsync
  - STDMETHODCALLTYPE::call_IWbemLocator_ConnectServer
  - ndis_events_constructor
  - ndis_events_destructor
  - STDMETHODCALLTYPE::ndis_events_query_interface
  - STDMETHODCALLTYPE::ndis_events_add_ref
  - STDMETHODCALLTYPE::ndis_events_release
  - ndis_events_send_event
  - ndis_events_media_connect
  - ndis_events_media_disconnect
  - ndis_events_media_specific
  - ndis_events_adapter_arrival
  - ndis_events_adapter_removal
  - STDMETHODCALLTYPE::ndis_events_indicate
  - STDMETHODCALLTYPE::ndis_events_set_status
  - notification_query
  - register_async_notification
  - ndis_events_deinit
  - ndis_events_use_desc
  - ndis_events_get_adapter
  - ndis_events_init
  source_file: /src/hostap/src/drivers/ndis_events.c
  types:
    enum:
    - enumerators:
      - name: EVENT_CONNECT
      - name: EVENT_ADAPTER_REMOVAL
      - name: EVENT_DISCONNECT
      - name: EVENT_MEDIA_SPECIFIC
      - name: EVENT_ADAPTER_ARRIVAL
      item_type: enum
      name: event_types
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/hostap/src/drivers/ndis_events.c
    preproc_defs:
    - item_type: preproc_def
      name: _WIN32_WINNT
      pos:
        line_end: 9
        line_start: 8
        source_file: /src/hostap/src/drivers/ndis_events.c
      type_or_value: '0x0400'
    - item_type: preproc_def
      name: MAX_QUERY_LEN
      pos:
        line_end: 489
        line_start: 488
        source_file: /src/hostap/src/drivers/ndis_events.c
      type_or_value: '256'
    structs:
    - fields:
      - name: sink
        type: IWbemObjectSink
      - name: sink_vtbl
        type: IWbemObjectSinkVtbl
      - name: '*pSvc'
        type: IWbemServices
      - name: '*pLoc'
        type: IWbemLocator
      - name: read_pipe
        type: HANDLE
      - name: ref
        type: UINT
      - name: terminating
        type: int
      - name: '*ifname'
        type: char
      - name: '*adapter_desc'
        type: WCHAR
      item_type: struct
      name: ndis_events_data
      pos:
        line_end: 35
        line_start: 23
        source_file: /src/hostap/src/drivers/ndis_events.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/drivers/drivers.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - wpa_driver_wext_set_auth_param
  - wpa_driver_wext_get_bssid
  - wpa_driver_wext_set_bssid
  - wpa_driver_wext_get_ssid
  - wpa_driver_wext_set_ssid
  - wpa_driver_wext_set_freq
  - wpa_driver_wext_event_wireless_custom
  - wpa_driver_wext_event_wireless_michaelmicfailure
  - wpa_driver_wext_event_wireless_pmkidcand
  - wpa_driver_wext_event_wireless_assocreqie
  - wpa_driver_wext_event_wireless_assocrespie
  - wpa_driver_wext_event_assoc_ies
  - wpa_driver_wext_event_wireless
  - wpa_driver_wext_event_link
  - wpa_driver_wext_own_ifname
  - wpa_driver_wext_own_ifindex
  - wpa_driver_wext_event_rtm_newlink
  - wpa_driver_wext_event_rtm_dellink
  - wpa_driver_wext_rfkill_blocked
  - wpa_driver_wext_rfkill_unblocked
  - wext_get_phy_name
  - wpa_driver_wext_init
  - wpa_driver_wext_send_rfkill
  - wpa_driver_wext_finish_drv_init
  - wpa_driver_wext_deinit
  - wpa_driver_wext_scan_timeout
  - wpa_driver_wext_scan
  - wpa_driver_wext_giwscan
  - wext_get_scan_mode
  - wext_get_scan_ssid
  - wext_get_scan_freq
  - wext_get_scan_qual
  - wext_get_scan_encode
  - wext_get_scan_rate
  - wext_get_scan_iwevgenie
  - wext_get_scan_custom
  - wext_19_iw_point
  - wpa_driver_wext_add_scan_entry
  - wpa_driver_wext_get_scan_results
  - wpa_driver_wext_get_range
  - wpa_driver_wext_set_psk
  - wpa_driver_wext_set_key_ext
  - wpa_driver_wext_set_key
  - wpa_driver_wext_set_countermeasures
  - wpa_driver_wext_set_drop_unencrypted
  - wpa_driver_wext_mlme
  - wpa_driver_wext_disconnect
  - wpa_driver_wext_deauthenticate
  - wpa_driver_wext_set_gen_ie
  - wpa_driver_wext_cipher2wext
  - wpa_driver_wext_keymgmt2wext
  - wpa_driver_wext_auth_alg_fallback
  - wpa_driver_wext_associate
  - wpa_driver_wext_set_auth_alg
  - wpa_driver_wext_set_mode
  - wpa_driver_wext_pmksa
  - wpa_driver_wext_add_pmkid
  - wpa_driver_wext_remove_pmkid
  - wpa_driver_wext_flush_pmkid
  - wpa_driver_wext_get_capa
  - wpa_driver_wext_alternative_ifindex
  - wpa_driver_wext_set_operstate
  - wpa_driver_wext_get_version
  - wext_get_radio_name
  - wpa_driver_wext_signal_poll
  - wpa_driver_wext_status
  source_file: /src/hostap/src/drivers/driver_wext.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: res
        type: struct wpa_scan_res
      - name: '*ie'
        type: u8
      - name: ie_len
        type: size_t
      - name: ssid[SSID_MAX_LEN]
        type: u8
      - name: ssid_len
        type: size_t
      - name: maxrate
        type: int
      item_type: struct
      name: wext_scan_data
      pos:
        line_end: 1105
        line_start: 1098
        source_file: /src/hostap/src/drivers/driver_wext.c
    typedefs: []
    union: []
- function_names:
  - get_noise_for_scan_results
  - nl80211_get_noise_for_scan_results
  - nl80211_abort_scan
  - nl80211_abort_vendor_scan
  - wpa_driver_nl80211_scan_timeout
  - nl80211_scan_common
  - wpa_driver_nl80211_scan
  - nl80211_sched_scan_add_scan_plans
  - wpa_driver_nl80211_sched_scan
  - wpa_driver_nl80211_stop_sched_scan
  - nl80211_scan_filtered
  - nl80211_parse_bss_info
  - bss_info_handler
  - clear_state_mismatch
  - nl80211_check_bss_status
  - wpa_driver_nl80211_check_bss_status
  - nl80211_update_scan_res_noise
  - nl80211_get_scan_results
  - wpa_driver_nl80211_get_scan_results
  - nl80211_dump_scan_handler
  - nl80211_dump_scan
  - wpa_driver_nl80211_abort_scan
  - scan_cookie_handler
  - wpa_driver_nl80211_vendor_scan
  - nl80211_set_default_scan_ies
  source_file: /src/hostap/src/drivers/driver_nl80211_scan.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_NL80211_NOISE_FREQS
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/hostap/src/drivers/driver_nl80211_scan.c
      type_or_value: '100'
    - item_type: preproc_def
      name: CLOCK_BOOTTIME
      pos:
        line_end: 864
        line_start: 863
        source_file: /src/hostap/src/drivers/driver_nl80211_scan.c
      type_or_value: '7'
    structs:
    - fields:
      - name: freq[MAX_NL80211_NOISE_FREQS]
        type: u32
      - name: noise[MAX_NL80211_NOISE_FREQS]
        type: s8
      - name: count
        type: unsigned int
      item_type: struct
      name: nl80211_noise_info
      pos:
        line_end: 29
        line_start: 25
        source_file: /src/hostap/src/drivers/driver_nl80211_scan.c
    - fields:
      - name: '*drv'
        type: struct wpa_driver_nl80211_data
      - name: '*res'
        type: struct wpa_scan_results
      - name: '*bssid'
        type: u8
      item_type: struct
      name: nl80211_bss_info_arg
      pos:
        line_end: 911
        line_start: 907
        source_file: /src/hostap/src/drivers/driver_nl80211_scan.c
    - fields:
      - name: '*drv'
        type: struct wpa_driver_nl80211_data
      - name: idx
        type: int
      item_type: struct
      name: nl80211_dump_scan_ctx
      pos:
        line_end: 1097
        line_start: 1094
        source_file: /src/hostap/src/drivers/driver_nl80211_scan.c
    typedefs: []
    union: []
- function_names:
  - add_monitor_filter
  - nl80211_remove_monitor_interface
  - nl80211_create_monitor_interface
  - _nl80211_send_monitor
  - nl80211_send_monitor
  source_file: /src/hostap/src/drivers/driver_nl80211_monitor.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - nl_socket_set_nonblocking
  - nl_create_handle
  - nl_destroy_handles
  - nl80211_register_eloop_read
  - nl80211_destroy_eloop_handle
  - convert2width
  - is_ap_interface
  - is_sta_interface
  - is_p2p_net_interface
  - nl80211_is_netdev_iftype
  - get_bss_ifindex
  - is_mesh_interface
  - nl80211_mark_disconnected
  - ack_handler
  - ack_handler_cookie
  - finish_handler
  - error_handler
  - nla_for_each_nested
  - no_seq_check
  - nl80211_nlmsg_clear
  - send_event_marker
  - nl80211_remove_pending_event
  - nl80211_deliver_pending_events
  - nl80211_reply_hook
  - send_and_recv_glb
  - nl80211_put_control_port
  - family_handler
  - nla_for_each_nested
  - nl_get_multicast_id
  - nl80211_cmd
  - nl80211_set_iface_id
  - nl80211_cmd_msg
  - nl80211_ifindex_msg_build
  - nl80211_ifindex_msg
  - nl80211_drv_msg
  - nl80211_bss_msg
  - netdev_info_handler
  - nl80211_get_wiphy_index
  - nl80211_get_ifmode
  - nl80211_get_macaddr
  - nl80211_get_4addr
  - nl80211_register_beacons
  - nl80211_recv_beacons
  - process_beacon_event
  - nl80211_get_wiphy_data_ap
  - nl80211_put_wiphy_data_ap
  - nl80211_get_ifindex
  - wpa_driver_nl80211_get_bssid
  - wpa_driver_nl80211_get_ssid
  - get_mlo_info
  - nla_for_each_nested
  - nl80211_get_sta_mlo_info
  - get_sta_mlo_interface_info
  - wpa_driver_nl80211_event_newlink
  - wpa_driver_nl80211_event_dellink
  - wpa_driver_nl80211_own_ifname
  - wpa_driver_nl80211_own_ifindex
  - nl80211_find_bss
  - nl80211_refresh_mac
  - wpa_driver_nl80211_event_rtm_newlink
  - wpa_driver_nl80211_event_rtm_dellink
  - nl80211_get_assoc_freq_handler
  - nl80211_get_assoc_ssid
  - nl80211_get_assoc_freq
  - nl80211_get_assoc_bssid
  - get_link_noise
  - nl80211_get_link_noise
  - get_channel_info
  - nl80211_channel_info
  - wpa_driver_nl80211_event_receive
  - wpa_driver_nl80211_set_country
  - nl80211_get_country
  - wpa_driver_nl80211_get_country
  - wpa_driver_nl80211_init_nl_global
  - nl80211_check_global
  - wpa_driver_nl80211_rfkill_blocked
  - wpa_driver_nl80211_rfkill_unblocked
  - wpa_driver_nl80211_handle_eapol_tx_status
  - nl80211_init_connect_handle
  - nl80211_init_bss
  - nl80211_destroy_bss
  - wpa_driver_nl80211_drv_init_rfkill
  - wpa_driver_nl80211_drv_init
  - wpa_driver_nl80211_init
  - nl80211_register_frame
  - nl80211_alloc_mgmt_handle
  - nl80211_mgmt_handle_register_eloop
  - nl80211_register_action_frame2
  - nl80211_register_action_frame
  - nl80211_mgmt_subscribe_nan
  - nl80211_mgmt_subscribe_non_ap
  - nl80211_mgmt_subscribe_mesh
  - nl80211_register_spurious_class3
  - nl80211_action_subscribe_ap
  - nl80211_mgmt_subscribe_ap
  - nl80211_mgmt_subscribe_ap_dev_sme
  - nl80211_mgmt_unsubscribe
  - wpa_driver_nl80211_send_rfkill
  - nl80211_del_non_netdev
  - nl80211_set_p2pdev
  - nl80211_set_pr_dev
  - nl80211_nan_stop
  - nl80211_set_nandev
  - i802_set_iface_flags
  - qca_vendor_test_cmd_handler
  - qca_vendor_test
  - nl80211_set_p2p_mode
  - wpa_driver_nl80211_finish_drv_init
  - wpa_driver_nl80211_del_beacon
  - wpa_driver_nl80211_del_beacon_all
  - wpa_driver_nl80211_deinit
  - wpa_alg_to_cipher_suite
  - wpa_cipher_to_cipher_suite
  - wpa_cipher_to_cipher_suites
  - wpa_key_mgmt_to_suites
  - __AKM
  - wpa_ver_supported
  - issue_key_mgmt_set_key
  - nl80211_set_pmk
  - wpa_driver_nl80211_set_key
  - nl_add_key
  - nl80211_set_conn_keys
  - wpa_driver_nl80211_mlme
  - wpa_driver_nl80211_disconnect
  - wpa_driver_nl80211_deauthenticate
  - nl80211_copy_auth_params
  - nl80211_unmask_11b_rates
  - get_nl_auth_type
  - nl80211_put_bss_membership_selectors
  - wpa_driver_nl80211_authenticate
  - wpa_driver_nl80211_authenticate_retry
  - nl80211_get_link
  - nl80211_get_link_id_from_link
  - nl80211_link_set_freq
  - nl80211_get_link_freq
  - wpa_driver_nl80211_send_mlme
  - nl80211_put_basic_rates
  - nl80211_set_bss
  - wpa_driver_nl80211_set_acl
  - nl80211_put_beacon_int
  - nl80211_put_dtim_period
  - nl80211_set_mesh_config
  - nl80211_put_beacon_rate
  - nl80211_set_multicast_to_unicast
  - nl80211_put_sae_pwe
  - nl80211_fils_discovery
  - nl80211_unsol_bcast_probe_resp
  - nl80211_mbssid
  - qca_set_allowed_ap_freqs
  - nl80211_bw_to_nl
  - nl80211_put_freq_params
  - wpa_driver_nl80211_set_ap
  - nl80211_set_channel
  - sta_flags_nl80211
  - sta_plink_state_nl80211
  - wpa_driver_nl80211_sta_add
  - rtnl_neigh_delete_fdb_entry
  - rtnl_neigh_add_fdb_entry
  - wpa_driver_nl80211_sta_remove
  - nl80211_remove_iface
  - nl80211_iftype_str
  - nl80211_create_iface_once
  - nl80211_use_existing_iface
  - nl80211_create_iface
  - nl80211_setup_ap
  - nl80211_teardown_ap
  - nl80211_tx_control_port
  - nl80211_send_eapol_data
  - wpa_driver_nl80211_hapd_send_eapol
  - wpa_driver_nl80211_sta_set_flags
  - driver_nl80211_sta_set_airtime_weight
  - wpa_driver_nl80211_ap
  - nl80211_leave_ibss
  - nl80211_ht_vht_overrides
  - wpa_driver_nl80211_ibss
  - nl80211_put_fils_connect_params
  - num_bits_set
  - nl80211_connect_common
  - connect_ext_feature_set
  - nl80211_connect_ext
  - wpa_driver_nl80211_try_connect
  - wpa_driver_nl80211_connect
  - wpa_driver_nl80211_associate
  - nl80211_set_mode
  - wpa_driver_nl80211_set_mode_impl
  - nl80211_restore_ap_mode
  - wpa_driver_nl80211_set_mode
  - wpa_driver_nl80211_set_mode_ibss
  - wpa_driver_nl80211_get_capa
  - wpa_driver_nl80211_set_operstate
  - wpa_driver_nl80211_set_supp_port
  - i802_set_freq
  - min_int
  - get_key_handler
  - i802_get_seqnum
  - i802_set_rts
  - i802_set_frag
  - i802_flush
  - get_sta_tid_stats
  - nla_for_each_nested
  - get_sta_handler
  - nl80211_get_link_signal
  - i802_read_sta_data
  - i802_set_tx_queue_params
  - i802_set_sta_vlan
  - i802_get_inact_sec
  - i802_sta_clear_stats
  - i802_sta_deauth
  - i802_sta_disassoc
  - dump_ifidx
  - add_ifidx
  - del_ifidx
  - nl80211_has_ifidx
  - i802_set_wds_sta
  - handle_eapol
  - i802_check_bridge
  - i802_init
  - i802_deinit
  - wpa_driver_nl80211_if_type
  - nl80211_addr_in_use
  - nl80211_vif_addr
  - nl80211_wdev_handler
  - wpa_driver_nl80211_if_add
  - wpa_driver_nl80211_if_remove
  - cookie_handler
  - nl80211_send_frame_cmd
  - wpa_driver_nl80211_send_action
  - nl80211_frame_wait_cancel
  - wpa_driver_nl80211_send_action_cancel_wait
  - nl80211_put_any_link_id
  - wpa_driver_nl80211_remain_on_channel
  - wpa_driver_nl80211_cancel_remain_on_channel
  - wpa_driver_nl80211_probe_req_report
  - nl80211_disable_11b_rates
  - nl80211_update_active_links
  - nl80211_remove_link
  - nl80211_remove_links
  - wpa_driver_nl80211_deinit_ap
  - wpa_driver_nl80211_stop_ap
  - wpa_driver_nl80211_deinit_p2p_cli
  - wpa_driver_nl80211_resume
  - nl80211_signal_monitor
  - get_channel_width
  - nl80211_get_channel_width
  - nl80211_signal_poll
  - get_links_noise
  - nl80211_get_links_noise
  - get_links_channel_width
  - nla_for_each_nested
  - nl80211_get_links_channel_width
  - nl80211_mlo_signal_poll
  - nl80211_set_param
  - nl80211_global_init
  - nl80211_global_deinit
  - nl80211_get_radio_name
  - nl80211_pmkid
  - nl80211_add_pmkid
  - nl80211_remove_pmkid
  - nl80211_flush_pmkid
  - clean_survey_results
  - add_survey
  - check_survey_ok
  - survey_handler
  - wpa_driver_nl80211_get_survey
  - nl80211_set_rekey_info
  - nl80211_send_null_frame
  - nl80211_poll_client
  - nl80211_set_power_save
  - nl80211_set_p2p_powersave
  - nl80211_start_radar_detection
  - nl80211_add_peer_capab
  - nl80211_tdls_set_discovery_resp_link
  - nl80211_send_tdls_mgmt
  - nl80211_tdls_oper
  - nl80211_tdls_enable_channel_switch
  - nl80211_tdls_disable_channel_switch
  - driver_nl80211_set_key
  - driver_nl80211_scan2
  - driver_nl80211_deauthenticate
  - driver_nl80211_authenticate
  - driver_nl80211_deinit
  - driver_nl80211_if_remove
  - driver_nl80211_link_remove
  - nl80211_is_drv_shared
  - driver_nl80211_send_mlme
  - driver_nl80211_sta_remove
  - driver_nl80211_set_sta_vlan
  - driver_nl80211_read_sta_data
  - driver_nl80211_send_action
  - driver_nl80211_probe_req_report
  - wpa_driver_nl80211_update_ft_ies
  - nl80211_update_dh_ie
  - wpa_driver_nl80211_get_macaddr
  - scan_state_str
  - wpa_driver_nl80211_status
  - set_beacon_data
  - nl80211_switch_channel
  - nl80211_switch_color
  - nl80211_add_ts
  - nl80211_del_ts
  - cmd_reply_handler
  - vendor_reply_handler
  - nla_for_each_nested
  - is_cmd_with_nested_attrs
  - nl80211_vendor_cmd
  - nl80211_set_qos_map
  - get_wowlan_handler
  - nl80211_get_wowlan
  - nl80211_set_wowlan
  - nl80211_roaming
  - nl80211_disable_fils
  - nl80211_set_bssid_tmp_disallow
  - nl80211_add_sta_node
  - nl80211_set_mac_addr
  - wpa_driver_nl80211_init_mesh
  - nl80211_put_mesh_id
  - nl80211_put_mesh_config
  - nl80211_join_mesh
  - wpa_driver_nl80211_join_mesh
  - wpa_driver_nl80211_leave_mesh
  - nl80211_probe_mesh_link
  - wpa_driver_br_add_ip_neigh
  - wpa_driver_br_delete_ip_neigh
  - linux_write_system_file
  - drv_br_port_attr_str
  - wpa_driver_br_port_set_attr
  - drv_br_net_param_str
  - wpa_driver_br_set_net_param
  - hw_mode_to_qca_acs
  - add_acs_ch_list
  - add_freq_list
  - nl80211_qca_do_acs
  - nl80211_set_band
  - get_pcl_attr_values
  - preferred_freq_info_handler
  - nla_for_each_nested
  - nl80211_get_pref_freq_list
  - nl80211_set_prob_oper_freq
  - nl80211_p2p_lo_start
  - nl80211_p2p_lo_stop
  - nl80211_set_tdls_mode
  - nl80211_mbo_reject_reason_mapping
  - nl80211_parse_btm_candidate_info
  - nl80211_get_bss_transition_status_handler
  - nla_for_each_nested
  - qca_get_bss_transition_status
  - nl80211_ignore_assoc_disallow
  - nl80211_send_pasn_resp
  - wpa_ltf_keyseed_len_to_sha_type
  - nl80211_set_secure_ranging_ctx
  - nl80211_nan_flush
  - nl80211_nan_publish
  - nl80211_nan_cancel_publish
  - nl80211_nan_update_publish
  - nl80211_nan_subscribe
  - nl80211_nan_cancel_subscribe
  - wpa_driver_do_broadcom_acs
  - nl80211_do_acs
  - nl80211_get_bss_transition_status
  - nl80211_write_to_file
  - nl80211_configure_data_frame_filters
  - nl80211_get_ext_capab
  - nl80211_get_mld_capab
  - nl80211_update_connection_params
  - nl80211_send_external_auth_status
  - nl80211_set_4addr_mode
  - nl80211_dpp_listen
  - nl80211_link_add
  - wpa_driver_nl80211_link_sta_remove
  - wpa_driver_get_wiphy_name_handler
  - wpa_driver_get_phyname
  - wpa_driver_nl80211_name_match
  - wpa_driver_nl80211_can_share_drv
  - nl80211_send_link_reconfig_request
  - testing_nl80211_register_frame
  - testing_nl80211_radio_disable
  - wpa_driver_get_multi_hw_info
  - nl80211_nan_config
  - wpa_driver_nl80211_nan_start
  - wpa_driver_nl80211_nan_change_config
  - wpa_driver_nl80211_nan_stop
  - wpa_driver_nl80211_nan_set_channel
  - wpa_driver_nl80211_nan_set_slots
  - wpa_driver_nl80211_nan_set_schedule
  - wpa_driver_nl80211_nan_config_schedule
  - wpa_driver_nl80211_nan_config_peer_schedule
  - nl80211_pd_start
  - nl80211_pd_stop
  - get_pr_preamble
  - nl80211_start_peer_measurement
  - nl80211_stop_peer_measurement
  source_file: /src/hostap/src/drivers/driver_nl80211.c
  types:
    enum:
    - enumerators:
      - name: NLMSGERR_ATTR_UNUSED
      - name: __NLMSGERR_ATTR_MAX
      - name: NLMSGERR_ATTR_OFFS
      - name: NLMSGERR_ATTR_MSG
      - name: NLMSGERR_ATTR_COOKIE
      - name: NLMSGERR_ATTR_MAX
        value: __NLMSGERR_ATTR_MAX - 1
      item_type: enum
      name: nlmsgerr_attrs
      pos:
        line_end: 60
        line_start: 52
        source_file: /src/hostap/src/drivers/driver_nl80211.c
    preproc_defs:
    - item_type: preproc_def
      name: NETLINK_CAP_ACK
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/hostap/src/drivers/driver_nl80211.c
      type_or_value: '10'
    - item_type: preproc_def
      name: NETLINK_EXT_ACK
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/hostap/src/drivers/driver_nl80211.c
      type_or_value: '11'
    - item_type: preproc_def
      name: NLM_F_CAPPED
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/hostap/src/drivers/driver_nl80211.c
      type_or_value: '0x100'
    - item_type: preproc_def
      name: NLM_F_ACK_TLVS
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/hostap/src/drivers/driver_nl80211.c
      type_or_value: '0x200'
    - item_type: preproc_def
      name: SOL_NETLINK
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/hostap/src/drivers/driver_nl80211.c
      type_or_value: '270'
    - item_type: preproc_def
      name: ELOOP_SOCKET_INVALID
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/hostap/src/drivers/driver_nl80211.c
      type_or_value: (intptr_t) 0x8888888888888889ULL
    - item_type: preproc_def
      name: ELOOP_SOCKET_INVALID
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/hostap/src/drivers/driver_nl80211.c
      type_or_value: (intptr_t) 0x88888889ULL
    - item_type: preproc_def
      name: IFIDX_ANY
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/hostap/src/drivers/driver_nl80211.c
      type_or_value: '-1'
    - item_type: preproc_def
      name: NAN_SDF_ACTION
      pos:
        line_end: 2771
        line_start: 2770
        source_file: /src/hostap/src/drivers/driver_nl80211.c
      type_or_value: ((const u8 *) "\x04\x09\x50\x6f\x9a\x13")
    - item_type: preproc_def
      name: NAN_PROTECTED_SDF_ACTION
      pos:
        line_end: 2772
        line_start: 2771
        source_file: /src/hostap/src/drivers/driver_nl80211.c
      type_or_value: ((const u8 *) "\x09\x09\x50\x6f\x9a\x13")
    - item_type: preproc_def
      name: NAN_NAF_ACTION
      pos:
        line_end: 2773
        line_start: 2772
        source_file: /src/hostap/src/drivers/driver_nl80211.c
      type_or_value: ((const u8 *) "\x04\x09\x50\x6f\x9a\x18")
    - item_type: preproc_def
      name: NAN_PROTECTED_NAF_ACTION
      pos:
        line_end: 2774
        line_start: 2773
        source_file: /src/hostap/src/drivers/driver_nl80211.c
      type_or_value: ((const u8 *) "\x09\x09\x50\x6f\x9a\x18")
    - item_type: preproc_def
      name: WPA_SUPPLICANT_CLIENT_ID
      pos:
        line_end: 12930
        line_start: 12929
        source_file: /src/hostap/src/drivers/driver_nl80211.c
      type_or_value: '1'
    structs:
    - fields:
      - name: '*err'
        type: int
      - name: '*ext_data'
        type: void
      item_type: struct
      name: nl80211_ack_ext_arg
      pos:
        line_end: 314
        line_start: 311
        source_file: /src/hostap/src/drivers/driver_nl80211.c
    - fields:
      - name: err
        type: int
      - name: '*orig_msg'
        type: struct nl_msg
      - name: '*err_info'
        type: struct nl80211_err_info
      - name: '*drv'
        type: struct wpa_driver_nl80211_data
      item_type: struct
      name: nl80211_ack_err_args
      pos:
        line_end: 359
        line_start: 354
        source_file: /src/hostap/src/drivers/driver_nl80211.c
    - fields:
      - name: list
        type: struct dl_list
      - name: '*msg'
        type: struct nl_msg
      - name: (*handler)(struct nl_msg *, void *)
        type: int
      - name: '*data'
        type: void
      item_type: struct
      name: nl80211_pending_event
      pos:
        line_end: 520
        line_start: 514
        source_file: /src/hostap/src/drivers/driver_nl80211.c
    - fields:
      - name: '*group'
        type: char
      - name: id
        type: int
      item_type: struct
      name: family_data
      pos:
        line_end: 769
        line_start: 766
        source_file: /src/hostap/src/drivers/driver_nl80211.c
    - fields:
      - name: wiphy_idx
        type: int
      - name: nlmode
        type: enum nl80211_iftype
      - name: '*macaddr'
        type: u8
      - name: use_4addr
        type: u8
      - name: wdev_id
        type: u64
      - name: wdev_id_set
        type: bool
      item_type: struct
      name: wiphy_idx_data
      pos:
        line_end: 911
        line_start: 904
        source_file: /src/hostap/src/drivers/driver_nl80211.c
    - fields:
      - name: '*drv'
        type: struct wpa_driver_nl80211_data
      - name: assoc_freq
        type: unsigned int
      - name: ibss_freq
        type: unsigned int
      - name: assoc_bssid[ETH_ALEN]
        type: u8
      - name: assoc_ssid[SSID_MAX_LEN]
        type: u8
      - name: assoc_ssid_len
        type: u8
      - name: bssid[MAX_NUM_MLD_LINKS][ETH_ALEN]
        type: u8
      - name: freq[MAX_NUM_MLD_LINKS]
        type: unsigned int
      item_type: struct
      name: nl80211_get_assoc_freq_arg
      pos:
        line_end: 1738
        line_start: 1729
        source_file: /src/hostap/src/drivers/driver_nl80211.c
    - fields:
      - name: wdev_id
        type: u64
      - name: wdev_id_set
        type: int
      - name: macaddr[ETH_ALEN]
        type: u8
      item_type: struct
      name: wdev_info
      pos:
        line_end: 9701
        line_start: 9697
        source_file: /src/hostap/src/drivers/driver_nl80211.c
    - fields:
      - name: hdr
        type: struct ieee80211_hdr
      - name: qos_ctl
        type: u16
      item_type: struct
      name: STRUCT_PACKED
      pos:
        line_end: 11401
        line_start: 11398
        source_file: /src/hostap/src/drivers/driver_nl80211.c
    - fields:
      - name: num
        type: unsigned int
      - name: '*freq_list'
        type: struct weighted_pcl
      item_type: struct
      name: nl80211_pcl
      pos:
        line_end: 13748
        line_start: 13745
        source_file: /src/hostap/src/drivers/driver_nl80211.c
    typedefs: []
    union: []
- function_names:
  - linux_set_iface_flags
  - linux_iface_up
  - linux_get_ifhwaddr
  - linux_set_ifhwaddr
  - linux_br_add
  - linux_br_del
  - linux_br_add_if
  - linux_br_del_if
  - linux_br_get
  - linux_master_get
  source_file: /src/hostap/src/drivers/linux_ioctl.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/drivers/nl80211_copy.h
  types:
    enum:
    - enumerators:
      - name: NL80211_CMD_UNSPEC
      - name: NL80211_CMD_SET_INTERFACE
      - name: NL80211_CMD_STOP_AP
      - name: NL80211_CMD_SET_MESH_CONFIG
      - name: NL80211_CMD_DISASSOCIATE
      - name: NL80211_CMD_LEAVE_MESH
      - name: NL80211_CMD_CANCEL_REMAIN_ON_CHANNEL
      - name: NL80211_CMD_UNEXPECTED_FRAME
      - name: NL80211_CMD_CRIT_PROTOCOL_STOP
      - name: NL80211_CMD_START_NAN
      - name: NL80211_CMD_COLOR_CHANGE_REQUEST
      - name: NL80211_CMD_SET_HW_TIMESTAMP
      - name: NL80211_CMD_SET_WIPHY
      - name: NL80211_CMD_DEL_INTERFACE
      - name: NL80211_CMD_DEL_STATION
      - name: NL80211_CMD_GET_REG
      - name: NL80211_CMD_ACTION_TX_STATUS
        value: NL80211_CMD_FRAME_TX_STATUS
      - name: NL80211_CMD_ROAM
      - name: NL80211_CMD_SET_WOWLAN
      - name: NL80211_CMD_STOP_P2P_DEVICE
      - name: NL80211_CMD_DEL_TX_TS
      - name: NL80211_CMD_UPDATE_CONNECT_PARAMS
      - name: NL80211_CMD_NAN_SET_PEER_SCHED
      - name: NL80211_CMD_PROBE_MESH_LINK
      - name: NL80211_CMD_UNPROT_DISASSOCIATE
      - name: NL80211_CMD_GET_STATION
      - name: NL80211_CMD_REG_BEACON_HINT
      - name: NL80211_CMD_REGISTER_FRAME
      - name: NL80211_CMD_REGISTER_BEACONS
      - name: NL80211_CMD_SET_COALESCE
      - name: NL80211_CMD_ADD_NAN_FUNCTION
      - name: NL80211_CMD_PEER_MEASUREMENT_START
      - name: NL80211_CMD_ASSOC_COMEBACK
      - name: NL80211_CMD_ASSOC_MLO_RECONF
      - name: NL80211_CMD_STOP_PD
      - name: NL80211_CMD_SET_WIPHY_NETNS
      - name: NL80211_CMD_GET_POWER_SAVE
      - name: NL80211_CMD_SET_KEY
      - name: NL80211_CMD_SET_MPATH
      - name: NL80211_CMD_TRIGGER_SCAN
      - name: NL80211_CMD_STOP_SCHED_SCAN
      - name: NL80211_CMD_SET_MCAST_RATE
      - name: NL80211_CMD_JOIN_OCB
      - name: NL80211_CMD_DEL_PMK
      - name: NL80211_CMD_UNPROT_BEACON
      - name: NL80211_CMD_INCUMBENT_SIGNAL_DETECT
      - name: NL80211_CMD_FRAME
      - name: NL80211_CMD_LEAVE_IBSS
      - name: NL80211_CMD_SET_NOACK_MAP
      - name: NL80211_CMD_VENDOR
      - name: NL80211_CMD_CHANGE_NAN_CONFIG
      - name: NL80211_CMD_PEER_MEASUREMENT_COMPLETE
      - name: NL80211_CMD_REMOVE_LINK
      - name: NL80211_CMD_NAN_CHANNEL_EVAC
      - name: NL80211_CMD_NOTIFY_CQM
      - name: NL80211_CMD_NEW_SURVEY_RESULTS
      - name: NL80211_CMD_DEL_KEY
      - name: NL80211_CMD_DEL_MPATH
      - name: NL80211_CMD_SCAN_ABORTED
      - name: NL80211_CMD_SCHED_SCAN_STOPPED
      - name: NL80211_CMD_RADAR_DETECT
      - name: NL80211_CMD_CH_SWITCH_STARTED_NOTIFY
      - name: NL80211_CMD_RELOAD_REGDB
      - name: NL80211_CMD_SET_SAR_SPECS
      - name: NL80211_CMD_EPCS_CFG
      - name: NL80211_CMD_FRAME_TX_STATUS
      - name: NL80211_CMD_GET_WIPHY
      - name: NL80211_CMD_NEW_INTERFACE
      - name: NL80211_CMD_NEW_STATION
      - name: NL80211_CMD_CONNECT
      - name: NL80211_CMD_GET_WOWLAN
      - name: NL80211_CMD_START_P2P_DEVICE
      - name: NL80211_CMD_ADD_TX_TS
      - name: NL80211_CMD_SET_MULTICAST_TO_UNICAST
      - name: NL80211_CMD_UPDATE_OWE_INFO
      - name: NL80211_CMD_MODIFY_LINK_STA
      - name: NL80211_CMD_DEL_PMKSA
      - name: NL80211_CMD_NEW_WIPHY
      - name: NL80211_CMD_SET_BEACON
      - name: NL80211_CMD_SET_REG
      - name: NL80211_CMD_AUTHENTICATE
      - name: NL80211_CMD_SET_WDS_PEER
      - name: NL80211_CMD_PMKSA_CANDIDATE
      - name: NL80211_CMD_UPDATE_FT_IES
      - name: NL80211_CMD_TDLS_CANCEL_CHANNEL_SWITCH
      - name: NL80211_CMD_STA_OPMODE_CHANGED
      - name: NL80211_CMD_NAN_SET_LOCAL_SCHED
      - name: NL80211_CMD_GET_KEY
      - name: NL80211_CMD_GET_MPATH
      - name: NL80211_CMD_GET_SCAN
      - name: NL80211_CMD_SET_POWER_SAVE
      - name: NL80211_CMD_DISCONNECT
      - name: NL80211_CMD_START_SCHED_SCAN
      - name: NL80211_CMD_CONN_FAILED
      - name: NL80211_CMD_GET_MPP
      - name: NL80211_CMD_SET_PMK
      - name: NL80211_CMD_SET_TID_CONFIG
      - name: NL80211_CMD_NAN_ULW_UPDATE
      - name: NL80211_CMD_LINKS_REMOVED
      - name: NL80211_CMD_DEAUTHENTICATE
      - name: NL80211_CMD_GET_INTERFACE
      - name: NL80211_CMD_NEW_BEACON
        value: NL80211_CMD_START_AP
      - name: NL80211_CMD_GET_MESH_CONFIG
      - name: NL80211_CMD_JOIN_MESH
      - name: NL80211_CMD_REMAIN_ON_CHANNEL
      - name: NL80211_CMD_TDLS_MGMT
      - name: NL80211_CMD_CRIT_PROTOCOL_START
      - name: NL80211_CMD_ABORT_SCAN
      - name: NL80211_CMD_COLOR_CHANGE_ABORTED
      - name: NL80211_CMD_NAN_NEXT_DW_NOTIFICATION
      - name: NL80211_CMD_GET_SURVEY
      - name: NL80211_CMD_SET_CQM
      - name: NL80211_CMD_NEW_KEY
      - name: NL80211_CMD_NEW_MPATH
      - name: NL80211_CMD_NEW_SCAN_RESULTS
      - name: NL80211_CMD_SCHED_SCAN_RESULTS
      - name: NL80211_CMD_SET_MAC_ACL
      - name: NL80211_CMD_LEAVE_OCB
      - name: NL80211_CMD_PORT_AUTHORIZED
      - name: NL80211_CMD_CONTROL_PORT_FRAME_TX_STATUS
      - name: NL80211_CMD_COLOR_CHANGE_COMPLETED
      - name: __NL80211_CMD_AFTER_LAST
      - name: NL80211_CMD_UNPROT_DEAUTHENTICATE
      - name: NL80211_CMD_DEL_BEACON
        value: NL80211_CMD_STOP_AP
      - name: NL80211_CMD_MICHAEL_MIC_FAILURE
      - name: NL80211_CMD_SET_TX_BITRATE_MASK
      - name: NL80211_CMD_PROBE_CLIENT
      - name: NL80211_CMD_GET_COALESCE
      - name: NL80211_CMD_STOP_NAN
      - name: NL80211_CMD_GET_FTM_RESPONDER_STATS
      - name: NL80211_CMD_SET_FILS_AAD
      - name: NL80211_CMD_NAN_SCHED_UPDATE_DONE
      - name: NL80211_CMD_SET_TID_TO_LINK_MAPPING
      - name: NL80211_CMD_GET_BEACON
      - name: NL80211_CMD_SET_BSS
      - name: NL80211_CMD_REG_CHANGE
      - name: NL80211_CMD_SET_CHANNEL
      - name: NL80211_CMD_SET_PMKSA
      - name: NL80211_CMD_SET_REKEY_OFFLOAD
      - name: NL80211_CMD_GET_PROTOCOL_FEATURES
      - name: NL80211_CMD_TDLS_CHANNEL_SWITCH
      - name: NL80211_CMD_EXTERNAL_AUTH
      - name: NL80211_CMD_OBSS_COLOR_COLLISION
      - name: NL80211_CMD_SET_MGMT_EXTRA_IE
      - name: NL80211_CMD_NAN_CLUSTER_JOINED
      - name: NL80211_CMD_SET_STATION
      - name: NL80211_CMD_JOIN_IBSS
      - name: NL80211_CMD_REGISTER_ACTION
        value: NL80211_CMD_REGISTER_FRAME
      - name: NL80211_CMD_NEW_PEER_CANDIDATE
      - name: NL80211_CMD_UNEXPECTED_4ADDR_FRAME
      - name: NL80211_CMD_CHANNEL_SWITCH
      - name: NL80211_CMD_DEL_NAN_FUNCTION
      - name: NL80211_CMD_PEER_MEASUREMENT_RESULT
      - name: NL80211_CMD_ADD_LINK
      - name: NL80211_CMD_REMOVE_LINK_STA
      - name: NL80211_CMD_FLUSH_PMKSA
      - name: NL80211_CMD_ASSOCIATE
      - name: NL80211_CMD_DEL_WIPHY
      - name: NL80211_CMD_START_AP
      - name: NL80211_CMD_REQ_SET_REG
      - name: NL80211_CMD_FRAME_WAIT_CANCEL
      - name: NL80211_CMD_TDLS_OPER
      - name: NL80211_CMD_FT_EVENT
      - name: NL80211_CMD_WIPHY_REG_CHANGE
      - name: NL80211_CMD_COLOR_CHANGE_STARTED
      - name: NL80211_CMD_CONTROL_PORT_FRAME
      - name: NL80211_CMD_ACTION
        value: NL80211_CMD_FRAME
      - name: NL80211_CMD_TESTMODE
      - name: NL80211_CMD_CH_SWITCH_NOTIFY
      - name: NL80211_CMD_SET_QOS_MAP
      - name: NL80211_CMD_NAN_MATCH
      - name: NL80211_CMD_NOTIFY_RADAR
      - name: NL80211_CMD_ADD_LINK_STA
      - name: NL80211_CMD_START_PD
      - name: NL80211_CMD_MAX
        value: __NL80211_CMD_AFTER_LAST - 1
      item_type: enum
      name: nl80211_commands
      pos:
        line_end: 1710
        line_start: 1430
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_ATTR_BSS_CTS_PROT
      - name: NL80211_ATTR_PMKID
      - name: NL80211_ATTR_SCHED_SCAN_MULTI
      - name: NL80211_ATTR_P2P_OPPPS
      - name: NL80211_ATTR_VIF_RADIO_MASK
      - name: NL80211_ATTR_MESH_CONFIG
      - name: NL80211_ATTR_ACK
      - name: NL80211_ATTR_CH_SWITCH_BLOCK_TX
      - name: NL80211_ATTR_EXT_CAPA_MASK
      - name: NL80211_ATTR_NSS
      - name: NL80211_ATTR_S1G_SHORT_BEACON
      - name: NL80211_ATTR_NAN_RX_NSS
      - name: NL80211_ATTR_CIPHER_SUITES
      - name: NL80211_ATTR_DISCONNECTED_BY_AP
      - name: NL80211_ATTR_BEACON_HEAD
      - name: NL80211_ATTR_NOACK_MAP
      - name: NL80211_ATTR_NAN_MATCH
      - name: NL80211_ATTR_BSS_SELECT
      - name: NL80211_ATTR_TX_HW_TIMESTAMP
      - name: NL80211_ATTR_TIMEOUT_REASON
      - name: NL80211_ATTR_KEY_DATA
      - name: NL80211_ATTR_STA_INFO
      - name: NL80211_ATTR_WIPHY_RTS_THRESHOLD
      - name: NL80211_ATTR_RESP_IE
      - name: NL80211_ATTR_AUTH_DATA
      - name: NL80211_ATTR_SCAN_START_TIME_TSF_BSSID
      - name: NL80211_ATTR_MLO_LINK_DISABLED
      - name: NL80211_ATTR_COLOR_CHANGE_ELEMS
      - name: NL80211_ATTR_SOFTWARE_IFTYPES
      - name: NL80211_ATTR_TX_NO_CCK_RATE
      - name: NL80211_ATTR_CENTER_FREQ1_OFFSET
      - name: NL80211_ATTR_SMPS_MODE
      - name: NL80211_ATTR_SUPPORTED_COMMANDS
      - name: NL80211_ATTR_DONT_WAIT_FOR_ACK
      - name: NL80211_ATTR_SCHED_SCAN_DELAY
      - name: NL80211_ATTR_MLO_LINKS
      - name: NL80211_ATTR_SAE_PASSWORD
      - name: NL80211_ATTR_MCAST_RATE
      - name: NL80211_ATTR_QOS_MAP
      - name: NL80211_ATTR_SAE_PWE
      - name: NL80211_ATTR_IFTYPE_AKM_SUITES
      - name: NL80211_ATTR_UNSPEC
      - name: NL80211_ATTR_WIPHY_ANTENNA_AVAIL_RX
      - name: NL80211_ATTR_IE_ASSOC_RESP
      - name: NL80211_ATTR_MAX_CSA_COUNTERS
      - name: NL80211_ATTR_ACK_SIGNAL
      - name: NL80211_ATTR_CSA_IES
      - name: NL80211_ATTR_BSS_BASIC_RATES
      - name: NL80211_ATTR_PS_STATE
      - name: NL80211_ATTR_STA_CAPABILITY
      - name: NL80211_ATTR_BSS_PARAM
      - name: NL80211_ATTR_NAN_AVAIL_BLOB
      - name: NL80211_ATTR_FTM_RESPONDER
      - name: NL80211_ATTR_MAX_NUM_SCAN_SSIDS
      - name: NL80211_ATTR_RX_FRAME_TYPES
      - name: NL80211_ATTR_SUPPORT_5_MHZ
      - name: NL80211_ATTR_IE_RIC
      - name: NL80211_ATTR_DISABLE_UHR
      - name: NL80211_ATTR_NAN_MAX_CHAN_SWITCH_TIME
      - name: NL80211_ATTR_MEASUREMENT_DURATION
      - name: NL80211_ATTR_KEY_IDX
      - name: NL80211_ATTR_WIPHY_BANDS
      - name: NL80211_ATTR_TIMED_OUT
      - name: NL80211_ATTR_PREV_BSSID
      - name: NL80211_ATTR_VHT_CAPABILITY
      - name: NL80211_ATTR_FILS_ERP_USERNAME
      - name: NL80211_ATTR_BSS_DUMP_INCLUDE_USE_DATA
      - name: NL80211_ATTR_SCHED_SCAN_MAX_REQS
      - name: NL80211_ATTR_BSS_SHORT_PREAMBLE
      - name: NL80211_ATTR_MAX_NUM_PMKIDS
      - name: NL80211_ATTR_LOCAL_MESH_POWER_MODE
      - name: NL80211_ATTR_SUPPORTED_SELECTORS
      - name: NL80211_ATTR_REG_INDOOR
      - name: NL80211_ATTR_FRAME
      - name: NL80211_ATTR_FEATURE_FLAGS
      - name: NL80211_ATTR_MLO_LINK_ID
      - name: NL80211_ATTR_STA_SUPPORT_P2P_PS
      - name: NL80211_ATTR_INACTIVITY_TIMEOUT
      - name: NL80211_ATTR_WIPHY
      - name: NL80211_ATTR_BEACON_TAIL
      - name: NL80211_ATTR_FREQ_BEFORE
      - name: NL80211_ATTR_STATUS_CODE
      - name: NL80211_ATTR_FILS_KEK
      - name: NL80211_ATTR_RX_HW_TIMESTAMP
      - name: NL80211_ATTR_RECONNECT_REQUESTED
      - name: NL80211_ATTR_TID_CONFIG
      - name: NL80211_ATTR_SUPPORT_MESH_AUTH
      - name: NL80211_ATTR_STA_WME
      - name: NL80211_ATTR_TDLS_INITIATOR
      - name: NL80211_ATTR_OPER_CLASS
      - name: NL80211_ATTR_MBSSID_CONFIG
      - name: NL80211_ATTR_SCAN_FREQ_KHZ
      - name: NL80211_ATTR_REKEY_DATA
      - name: NL80211_ATTR_TDLS_ACTION
      - name: NL80211_ATTR_MAX
        value: __NL80211_ATTR_AFTER_LAST - 1
      - name: NL80211_ATTR_BEACON_INTERVAL
      - name: NL80211_ATTR_KEY_TYPE
      - name: NL80211_ATTR_TESTDATA
      - name: NL80211_ATTR_DISABLE_HT
      - name: NL80211_ATTR_SCHED_SCAN_PLANS
      - name: NL80211_ATTR_BANDS
      - name: NL80211_ATTR_EML_CAPABILITY
      - name: NL80211_ATTR_IFTYPE
      - name: NL80211_ATTR_STA_SUPPORTED_RATES
      - name: NL80211_ATTR_WIPHY_RETRY_LONG
      - name: NL80211_ATTR_AKM_SUITES
      - name: NL80211_ATTR_USER_REG_HINT_TYPE
      - name: NL80211_ATTR_SCHED_SCAN_RELATIVE_RSSI
      - name: NL80211_ATTR_MU_MIMO_FOLLOW_MAC_ADDR
      - name: NL80211_ATTR_HW_TIMESTAMP_ENABLED
      - name: NL80211_ATTR_USER_PRIO
      - name: NL80211_ATTR_SCHED_SCAN_INTERVAL
      - name: NL80211_ATTR_MAX_MATCH_SETS
      - name: NL80211_ATTR_COLOR_CHANGE_COUNT
      - name: NL80211_ATTR_RECEIVE_MULTICAST
      - name: NL80211_ATTR_REG_INITIATOR
      - name: NL80211_ATTR_TDLS_EXTERNAL_SETUP
      - name: NL80211_ATTR_SURVEY_RADIO_STATS
      - name: NL80211_ATTR_EHT_CAPABILITY
      - name: NL80211_ATTR_WIPHY_ANTENNA_TX
      - name: NL80211_ATTR_STA_TX_POWER_SETTING
      - name: NL80211_ATTR_VENDOR_DATA
      - name: __NL80211_ATTR_AFTER_LAST
      - name: NL80211_ATTR_SOCKET_OWNER
      - name: NL80211_ATTR_MESH_SETUP
      - name: NL80211_ATTR_HIDDEN_SSID
      - name: NL80211_ATTR_S1G_CAPABILITY
      - name: NL80211_ATTR_VLAN_ID
      - name: NL80211_ATTR_EXT_CAPA
      - name: NL80211_ATTR_REG_RULES
      - name: NL80211_ATTR_FRAME_MATCH
      - name: NL80211_ATTR_EXTERNAL_AUTH_SUPPORT
      - name: NL80211_ATTR_CH_SWITCH_COUNT
      - name: NL80211_ATTR_S1G_LONG_BEACON_PERIOD
      - name: NL80211_ATTR_NAN_TIME_SLOTS
      - name: NL80211_ATTR_VHT_CAPABILITY_MASK
      - name: NL80211_ATTR_MGMT_SUBTYPE
      - name: NL80211_ATTR_WIPHY_TX_POWER_LEVEL
      - name: NL80211_ATTR_TXQ_QUANTUM
      - name: NL80211_ATTR_STA_SUPPORTED_OPER_CLASSES
      - name: NL80211_ATTR_EPP_PEER
      - name: NL80211_ATTR_NAN_COMMITTED_DW
      - name: NL80211_ATTR_SCHED_SCAN_RSSI_ADJUST
      - name: NL80211_ATTR_MAC
      - name: NL80211_ATTR_STA_VLAN
      - name: NL80211_ATTR_WIPHY_FRAG_THRESHOLD
      - name: NL80211_ATTR_REQ_IE
      - name: NL80211_ATTR_CONN_FAILED_REASON
      - name: NL80211_ATTR_SCAN_START_TIME_TSF
      - name: NL80211_ATTR_EMA_RNR_ELEMS
      - name: NL80211_ATTR_PMK
      - name: NL80211_ATTR_MPATH_INFO
      - name: NL80211_ATTR_SURVEY_INFO
      - name: NL80211_ATTR_P2P_CTWINDOW
      - name: NL80211_ATTR_WIPHY_INTERFACE_COMBINATIONS
      - name: NL80211_ATTR_NETNS_FD
      - name: NL80211_ATTR_REG_TYPE
      - name: NL80211_ATTR_DEVICE_AP_SME
      - name: NL80211_ATTR_DISABLE_EHT
      - name: NUM_NL80211_ATTR
        value: __NL80211_ATTR_AFTER_LAST
      - name: NL80211_ATTR_NAN_FUNC
      - name: NL80211_ATTR_PBSS
      - name: NL80211_ATTR_MAX_SCAN_IE_LEN
      - name: NL80211_ATTR_PRIVACY
      - name: NL80211_ATTR_DTIM_PERIOD
      - name: NL80211_ATTR_HT_CAPABILITY_MASK
      - name: NL80211_ATTR_MLD_CAPA_AND_OPS
      - name: NL80211_ATTR_CSA_C_OFFSETS_TX
      - name: NL80211_ATTR_S1G_CAPABILITY_MASK
      - name: NL80211_ATTR_WIPHY_ANTENNA_AVAIL_TX
      - name: NL80211_ATTR_IE_PROBE_RESP
      - name: NL80211_ATTR_HE_BSS_COLOR
      - name: NL80211_ATTR_WIPHY_FREQ_OFFSET
      - name: NL80211_ATTR_ADMITTED_TIME
      - name: NL80211_ATTR_INTERFACE_COMBINATIONS
      - name: NL80211_ATTR_PMKSA_CANDIDATE
      - name: NL80211_ATTR_COLOR_CHANGE_COLOR
      - name: NL80211_ATTR_HANDLE_DFS
      - name: NL80211_ATTR_HE_CAPABILITY
      - name: NL80211_ATTR_IE
      - name: NL80211_ATTR_TX_FRAME_TYPES
      - name: NL80211_ATTR_MDID
      - name: NL80211_ATTR_UHR_CAPABILITY
      - name: NL80211_ATTR_NAN_SEQ_ID
      - name: NL80211_ATTR_VENDOR_EVENTS
      - name: NL80211_ATTR_STA_TX_POWER
      - name: NL80211_ATTR_WIPHY_ANTENNA_RX
      - name: NL80211_ATTR_WOWLAN_TRIGGERS
      - name: NL80211_ATTR_ROAM_SUPPORT
      - name: NL80211_ATTR_DISABLE_HE
      - name: NL80211_ATTR_WIPHY_DYN_ACK
      - name: NL80211_ATTR_PMK_LIFETIME
      - name: NL80211_ATTR_MAX_SCHED_SCAN_IE_LEN
      - name: NL80211_ATTR_TDLS_OPERATION
      - name: NL80211_ATTR_FILS_DISCOVERY
      - name: NL80211_ATTR_WIPHY_SELF_MANAGED_REG
      - name: NL80211_ATTR_RADAR_BACKGROUND
      - name: NL80211_ATTR_PEER_MEASUREMENTS
      - name: NL80211_ATTR_GENERATION
      - name: NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT
      - name: NL80211_ATTR_VENDOR_ID
      - name: NL80211_ATTR_PEER_AID
      - name: NL80211_ATTR_NAN_CHANNEL
      - name: NL80211_ATTR_NPCA_PRIMARY_FREQ
      - name: NL80211_ATTR_KEY_DEFAULT_TYPES
      - name: NL80211_ATTR_WIPHY_EDMG_CHANNELS
      - name: NL80211_ATTR_MAX_AP_ASSOC_STA
      - name: NL80211_ATTR_SUPPORTED_IFTYPES
      - name: NL80211_ATTR_WIPHY_COVERAGE_CLASS
      - name: NL80211_ATTR_MAC_ACL_MAX
      - name: NL80211_ATTR_PORT_AUTHORIZED
      - name: NL80211_ATTR_EXT_MLD_CAPA_AND_OPS
      - name: NL80211_ATTR_TXQ_LIMIT
      - name: NL80211_ATTR_WIPHY_CHANNEL_TYPE
      - name: NL80211_ATTR_AP_ISOLATE
      - name: NL80211_ATTR_RXMGMT_FLAGS
      - name: NL80211_ATTR_SPLIT_WIPHY_DUMP
      - name: NL80211_ATTR_NAN_CAPABILITIES
      - name: NL80211_ATTR_NAN_NMI_MAC
      - name: NL80211_ATTR_MU_MIMO_GROUP_DATA
      - name: NL80211_ATTR_WIPHY_RETRY_SHORT
      - name: NL80211_ATTR_WPA_VERSIONS
      - name: NL80211_ATTR_IFNAME
      - name: NL80211_ATTR_STA_LISTEN_INTERVAL
      - name: NL80211_ATTR_WDEV
      - name: NL80211_ATTR_BSSID
      - name: NL80211_ATTR_MAX_HW_TIMESTAMP_PEERS
      - name: NL80211_ATTR_FILS_ERP_RRK
      - name: NL80211_ATTR_NAN_MASTER_PREF
      - name: NL80211_ATTR_CONTROL_PORT
      - name: NL80211_ATTR_KEY_DEFAULT
      - name: NL80211_ATTR_STA_PLINK_ACTION
      - name: NL80211_ATTR_PID
      - name: NL80211_ATTR_CENTER_FREQ1
      - name: NL80211_ATTR_ASSOC_SPP_AMSDU
      - name: NL80211_ATTR_SCAN_SUPP_RATES
      - name: NL80211_ATTR_TDLS_SUPPORT
      - name: NL80211_ATTR_UNSOL_BCAST_PROBE_RESP
      - name: NL80211_ATTR_EXT_FEATURES
      - name: NL80211_ATTR_AP_SETTINGS_FLAGS
      - name: NL80211_ATTR_MAX_SCAN_PLAN_ITERATIONS
      - name: NL80211_ATTR_REASON_CODE
      - name: NL80211_ATTR_DFS_REGION
      - name: NL80211_ATTR_MAX_NUM_AKM_SUITES
      - name: NL80211_ATTR_WIPHY_EDMG_BW_CONFIG
      - name: NL80211_ATTR_MAX_REMAIN_ON_CHANNEL_DURATION
      - name: NL80211_ATTR_TDLS_PEER_CAPABILITY
      - name: NL80211_ATTR_TSID
      - name: NL80211_ATTR_OBSS_COLOR_BITMAP
      - name: NL80211_ATTR_PMK_REAUTH_THRESHOLD
      - name: NL80211_ATTR_WOWLAN_TRIGGERS_SUPPORTED
      - name: NL80211_ATTR_SCHED_SCAN_MATCH
      - name: NL80211_ATTR_TXQ_MEMORY_LIMIT
      - name: NL80211_ATTR_STA_SUPPORTED_CHANNELS
      - name: NL80211_ATTR_KEY_DEFAULT_MGMT
      - name: NL80211_ATTR_WIPHY_TX_POWER_SETTING
      - name: NL80211_ATTR_DISABLE_VHT
      - name: NL80211_ATTR_S1G_PRIMARY_2MHZ
      - name: NL80211_ATTR_NAN_ULW
      - name: NL80211_ATTR_COALESCE_RULE
      - name: NL80211_ATTR_AIRTIME_WEIGHT
      - name: NL80211_ATTR_BSS
      - name: NL80211_ATTR_SUPPORT_IBSS_RSN
      - name: NL80211_ATTR_VENDOR_SUBCMD
      - name: NL80211_ATTR_NAN_CHANNEL_ENTRY
      - name: NL80211_ATTR_NPCA_PUNCT_BITMAP
      - name: NL80211_ATTR_FILS_CACHE_ID
      - name: NL80211_ATTR_MPATH_NEXT_HOP
      - name: NL80211_ATTR_4ADDR
      - name: NL80211_ATTR_CENTER_FREQ2
      - name: NL80211_ATTR_WIPHY_RADIOS
      - name: NL80211_ATTR_RADAR_EVENT
      - name: NL80211_ATTR_EXTERNAL_AUTH_ACTION
      - name: NL80211_ATTR_REG_ALPHA2
      - name: NL80211_ATTR_TX_RATES
      - name: NL80211_ATTR_WIPHY_RADIO_INDEX
      - name: NL80211_ATTR_SCAN_FREQUENCIES
      - name: NL80211_ATTR_FRAME_TYPE
      - name: NL80211_ATTR_CRIT_PROT_ID
      - name: NL80211_ATTR_FTM_RESPONDER_STATS
      - name: NL80211_ATTR_SUPPORT_10_MHZ
      - name: NL80211_ATTR_INCUMBENT_SIGNAL_INTERFERENCE_BITMAP
      - name: NL80211_ATTR_NAN_PEER_MAPS
      - name: NL80211_ATTR_MAC_HINT
      - name: NL80211_ATTR_OFFCHANNEL_TX_OK
      - name: NL80211_ATTR_TWT_RESPONDER
      - name: NL80211_ATTR_BSS_SHORT_SLOT_TIME
      - name: NL80211_ATTR_DURATION
      - name: NL80211_ATTR_WANT_1X_4WAY_HS
      - name: NL80211_ATTR_ACL_POLICY
      - name: NL80211_ATTR_MLO_RECONF_REM_LINKS
      - name: NL80211_ATTR_STA_EXT_CAPABILITY
      - name: NL80211_ATTR_WIPHY_TXQ_PARAMS
      - name: NL80211_ATTR_CQM
      - name: NL80211_ATTR_CONTROL_PORT_OVER_NL80211
      - name: NL80211_ATTR_CNTDWN_OFFS_BEACON
      - name: NL80211_ATTR_NAN_CONFIG
      - name: NL80211_ATTR_NAN_SCHED_DEFERRED
      - name: NL80211_ATTR_FILS_NONCES
      - name: NL80211_ATTR_WIPHY_NAME
      - name: NL80211_ATTR_STA_AID
      - name: NL80211_ATTR_FREQ_AFTER
      - name: NL80211_ATTR_CIPHER_SUITES_PAIRWISE
      - name: NL80211_ATTR_RX_SIGNAL_DBM
      - name: NL80211_ATTR_PAD
      - name: NL80211_ATTR_TD_BITMAP
      - name: NL80211_ATTR_SCAN_FLAGS
      - name: NL80211_ATTR_KEY_CIPHER
      - name: NL80211_ATTR_MNTR_FLAGS
      - name: NL80211_ATTR_USE_MFP
      - name: NL80211_ATTR_KEY
      - name: NL80211_ATTR_FILS_ERP_REALM
      - name: NL80211_ATTR_MEASUREMENT_DURATION_MANDATORY
      - name: NL80211_ATTR_MLO_TTLM_DLINK
      - name: NL80211_ATTR_MAC_MASK
      - name: NL80211_ATTR_MAX_NUM_SCHED_SCAN_SSIDS
      - name: NL80211_ATTR_TDLS_DIALOG_TOKEN
      - name: NL80211_ATTR_HE_6GHZ_CAPABILITY
      - name: NL80211_ATTR_MBSSID_ELEMS
      - name: NL80211_ATTR_SSID
      - name: NL80211_ATTR_MAX_NUM_SCHED_SCAN_PLANS
      - name: NL80211_ATTR_PROBE_RESP_OFFLOAD
      - name: NL80211_ATTR_MLD_ADDR
      - name: NL80211_ATTR_WIPHY_FREQ_HINT
      - name: NL80211_ATTR_BSS_HT_OPMODE
      - name: NL80211_ATTR_HE_OBSS_PD
      - name: NL80211_ATTR_CONTROL_PORT_NO_PREAUTH
      - name: NL80211_ATTR_USE_RRM
      - name: NL80211_ATTR_STA_PLINK_STATE
      - name: NL80211_ATTR_SUPPORT_AP_UAPSD
      - name: NL80211_ATTR_SAR_SPEC
      - name: NL80211_ATTR_CNTDWN_OFFS_PRESP
      - name: NL80211_ATTR_PROTOCOL_FEATURES
      - name: NL80211_ATTR_WIPHY_FREQ
      - name: NL80211_ATTR_LOCAL_STATE_CHANGE
      - name: NL80211_ATTR_TXQ_STATS
      - name: NL80211_ATTR_NAN_NEW_CLUSTER
      - name: NL80211_ATTR_NAN_SCHED_UPDATE_SUCCESS
      - name: NL80211_ATTR_OPMODE_NOTIF
      - name: NL80211_ATTR_MAX_CRIT_PROT_DURATION
      - name: NL80211_ATTR_SCAN_SSIDS
      - name: NL80211_ATTR_CONTROL_PORT_ETHERTYPE
      - name: NL80211_ATTR_TIMEOUT
      - name: NL80211_ATTR_UHR_OPERATION
      - name: NL80211_ATTR_ASSOC_ENCRYPTED
      - name: NL80211_ATTR_CHANNEL_WIDTH
      - name: NL80211_ATTR_FILS_ERP_NEXT_SEQ_NUM
      - name: NL80211_ATTR_KEY_SEQ
      - name: NL80211_ATTR_MESH_ID
      - name: NL80211_ATTR_STA_FLAGS2
      - name: NL80211_ATTR_KEYS
      - name: NL80211_ATTR_MESH_PEER_AID
      - name: NL80211_ATTR_MLO_TTLM_ULINK
      - name: NL80211_ATTR_MAC_ADDRS
      - name: NL80211_ATTR_PMKR0_NAME
      - name: NL80211_ATTR_HT_CAPABILITY
      - name: NL80211_ATTR_COOKIE
      - name: NL80211_ATTR_EPCS
      - name: NL80211_ATTR_MAX_SCAN_PLAN_INTERVAL
      - name: NL80211_ATTR_AUTH_TYPE
      - name: NL80211_ATTR_PROBE_RESP
      - name: NL80211_ATTR_MLO_SUPPORT
      - name: NL80211_ATTR_MULTICAST_TO_UNICAST_ENABLED
      - name: NL80211_ATTR_IFTYPE_EXT_CAPA
      - name: NL80211_ATTR_IFINDEX
      - name: NL80211_ATTR_STA_FLAGS
      - name: NL80211_ATTR_FREQ_FIXED
      - name: NL80211_ATTR_CIPHER_SUITE_GROUP
      - name: NL80211_ATTR_BG_SCAN_PERIOD
      - name: NL80211_ATTR_PUNCT_BITMAP
      item_type: enum
      name: nl80211_attrs
      pos:
        line_end: 3770
        line_start: 3171
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_IFTYPE_UNSPECIFIED
      - name: NL80211_IFTYPE_STATION
      - name: NL80211_IFTYPE_AP_VLAN
      - name: NL80211_IFTYPE_ADHOC
      - name: NL80211_IFTYPE_AP
      - name: NL80211_IFTYPE_WDS
      - name: NL80211_IFTYPE_MONITOR
      - name: NL80211_IFTYPE_MESH_POINT
      - name: NL80211_IFTYPE_P2P_CLIENT
      - name: NL80211_IFTYPE_P2P_GO
      - name: NL80211_IFTYPE_NAN
      - name: NL80211_IFTYPE_NAN_DATA
      - name: NL80211_IFTYPE_P2P_DEVICE
      - name: NL80211_IFTYPE_MAX
        value: NUM_NL80211_IFTYPES - 1
      - name: NL80211_IFTYPE_PD
      - name: NL80211_IFTYPE_OCB
      - name: NUM_NL80211_IFTYPES
      item_type: enum
      name: nl80211_iftype
      pos:
        line_end: 3890
        line_start: 3870
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: __NL80211_STA_FLAG_INVALID
      - name: NL80211_STA_FLAG_AUTHORIZED
      - name: NL80211_STA_FLAG_WME
      - name: NL80211_STA_FLAG_SHORT_PREAMBLE
      - name: NL80211_STA_FLAG_MFP
      - name: NL80211_STA_FLAG_AUTHENTICATED
      - name: NL80211_STA_FLAG_TDLS_PEER
      - name: NL80211_STA_FLAG_ASSOCIATED
      - name: NL80211_STA_FLAG_SPP_AMSDU
      - name: __NL80211_STA_FLAG_AFTER_LAST
      - name: NL80211_STA_FLAG_MAX
        value: __NL80211_STA_FLAG_AFTER_LAST - 1
      item_type: enum
      name: nl80211_sta_flags
      pos:
        line_end: 3931
        line_start: 3917
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_P2P_PS_UNSUPPORTED
        value: '0'
      - name: NL80211_P2P_PS_SUPPORTED
      - name: NUM_NL80211_P2P_PS_STATUS
      item_type: enum
      name: nl80211_sta_p2p_ps_status
      pos:
        line_end: 3945
        line_start: 3940
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_RATE_INFO_HE_GI_0_8
      - name: NL80211_RATE_INFO_HE_GI_3_2
      - name: NL80211_RATE_INFO_HE_GI_1_6
      item_type: enum
      name: nl80211_he_gi
      pos:
        line_end: 3971
        line_start: 3967
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_RATE_INFO_HE_1XLTF
      - name: NL80211_RATE_INFO_HE_4XLTF
      - name: NL80211_RATE_INFO_HE_2XLTF
      item_type: enum
      name: nl80211_he_ltf
      pos:
        line_end: 3983
        line_start: 3979
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_RATE_INFO_HE_RU_ALLOC_26
      - name: NL80211_RATE_INFO_HE_RU_ALLOC_484
      - name: NL80211_RATE_INFO_HE_RU_ALLOC_242
      - name: NL80211_RATE_INFO_HE_RU_ALLOC_52
      - name: NL80211_RATE_INFO_HE_RU_ALLOC_106
      - name: NL80211_RATE_INFO_HE_RU_ALLOC_996
      - name: NL80211_RATE_INFO_HE_RU_ALLOC_2x996
      item_type: enum
      name: nl80211_he_ru_alloc
      pos:
        line_end: 4003
        line_start: 3995
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_RATE_INFO_EHT_GI_0_8
      - name: NL80211_RATE_INFO_EHT_GI_1_6
      - name: NL80211_RATE_INFO_EHT_GI_3_2
      item_type: enum
      name: nl80211_eht_gi
      pos:
        line_end: 4015
        line_start: 4011
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_RATE_INFO_EHT_1XLTF
      - name: NL80211_RATE_INFO_EHT_6XLTF
      - name: NL80211_RATE_INFO_EHT_4XLTF
      - name: NL80211_RATE_INFO_EHT_2XLTF
      - name: NL80211_RATE_INFO_EHT_8XLTF
      item_type: enum
      name: nl80211_eht_ltf
      pos:
        line_end: 4031
        line_start: 4025
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_RATE_INFO_EHT_RU_ALLOC_26
      - name: NL80211_RATE_INFO_EHT_RU_ALLOC_106
      - name: NL80211_RATE_INFO_EHT_RU_ALLOC_52P26
      - name: NL80211_RATE_INFO_EHT_RU_ALLOC_106P26
      - name: NL80211_RATE_INFO_EHT_RU_ALLOC_52
      - name: NL80211_RATE_INFO_EHT_RU_ALLOC_242
      - name: NL80211_RATE_INFO_EHT_RU_ALLOC_484
      - name: NL80211_RATE_INFO_EHT_RU_ALLOC_484P242
      - name: NL80211_RATE_INFO_EHT_RU_ALLOC_996
      - name: NL80211_RATE_INFO_EHT_RU_ALLOC_996P484
      - name: NL80211_RATE_INFO_EHT_RU_ALLOC_2x996
      - name: NL80211_RATE_INFO_EHT_RU_ALLOC_4x996
      - name: NL80211_RATE_INFO_EHT_RU_ALLOC_2x996P484
      - name: NL80211_RATE_INFO_EHT_RU_ALLOC_3x996
      - name: NL80211_RATE_INFO_EHT_RU_ALLOC_996P484P242
      - name: NL80211_RATE_INFO_EHT_RU_ALLOC_3x996P484
      item_type: enum
      name: nl80211_eht_ru_alloc
      pos:
        line_end: 4069
        line_start: 4052
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_RATE_INFO_40_MHZ_WIDTH
      - name: NL80211_RATE_INFO_BITRATE
      - name: NL80211_RATE_INFO_VHT_NSS
      - name: NL80211_RATE_INFO_10_MHZ_WIDTH
      - name: NL80211_RATE_INFO_HE_GI
      - name: NL80211_RATE_INFO_EHT_MCS
      - name: NL80211_RATE_INFO_S1G_MCS
      - name: NL80211_RATE_INFO_4_MHZ_WIDTH
      - name: NL80211_RATE_INFO_UHR_ELR
      - name: NL80211_RATE_INFO_VHT_MCS
      - name: NL80211_RATE_INFO_160_MHZ_WIDTH
      - name: NL80211_RATE_INFO_HE_NSS
      - name: NL80211_RATE_INFO_320_MHZ_WIDTH
      - name: NL80211_RATE_INFO_EHT_RU_ALLOC
      - name: NL80211_RATE_INFO_2_MHZ_WIDTH
      - name: NL80211_RATE_INFO_UHR_MCS
      - name: __NL80211_RATE_INFO_INVALID
      - name: NL80211_RATE_INFO_BITRATE32
      - name: NL80211_RATE_INFO_80P80_MHZ_WIDTH
      - name: NL80211_RATE_INFO_HE_MCS
      - name: NL80211_RATE_INFO_HE_RU_ALLOC
      - name: NL80211_RATE_INFO_EHT_GI
      - name: NL80211_RATE_INFO_1_MHZ_WIDTH
      - name: NL80211_RATE_INFO_16_MHZ_WIDTH
      - name: __NL80211_RATE_INFO_AFTER_LAST
      - name: NL80211_RATE_INFO_MAX
        value: __NL80211_RATE_INFO_AFTER_LAST - 1
      - name: NL80211_RATE_INFO_MCS
      - name: NL80211_RATE_INFO_SHORT_GI
      - name: NL80211_RATE_INFO_80_MHZ_WIDTH
      - name: NL80211_RATE_INFO_5_MHZ_WIDTH
      - name: NL80211_RATE_INFO_HE_DCM
      - name: NL80211_RATE_INFO_EHT_NSS
      - name: NL80211_RATE_INFO_S1G_NSS
      - name: NL80211_RATE_INFO_8_MHZ_WIDTH
      - name: NL80211_RATE_INFO_UHR_IM
      item_type: enum
      name: nl80211_rate_info
      pos:
        line_end: 4170
        line_start: 4132
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: __NL80211_STA_BSS_PARAM_INVALID
      - name: NL80211_STA_BSS_PARAM_SHORT_PREAMBLE
      - name: NL80211_STA_BSS_PARAM_DTIM_PERIOD
      - name: NL80211_STA_BSS_PARAM_CTS_PROT
      - name: NL80211_STA_BSS_PARAM_SHORT_SLOT_TIME
      - name: NL80211_STA_BSS_PARAM_BEACON_INTERVAL
      - name: __NL80211_STA_BSS_PARAM_AFTER_LAST
      - name: NL80211_STA_BSS_PARAM_MAX
        value: __NL80211_STA_BSS_PARAM_AFTER_LAST - 1
      item_type: enum
      name: nl80211_sta_bss_param
      pos:
        line_end: 4200
        line_start: 4189
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_STA_INFO_RX_BYTES
      - name: NL80211_STA_INFO_PLINK_STATE
      - name: NL80211_STA_INFO_CONNECTED_TIME
      - name: NL80211_STA_INFO_TX_PACKETS
      - name: NL80211_STA_INFO_RX_BITRATE
      - name: NL80211_STA_INFO_LOCAL_PM
      - name: NL80211_STA_INFO_TX_BYTES64
      - name: NL80211_STA_INFO_RX_DROP_MISC
      - name: NL80211_STA_INFO_RX_DURATION
      - name: NL80211_STA_INFO_RX_MPDUS
      - name: NL80211_STA_INFO_AIRTIME_WEIGHT
      - name: NL80211_STA_INFO_AIRTIME_LINK_METRIC
      - name: NL80211_STA_INFO_INACTIVE_TIME
      - name: NL80211_STA_INFO_PLID
      - name: NL80211_STA_INFO_RX_PACKETS
      - name: NL80211_STA_INFO_SIGNAL_AVG
      - name: NL80211_STA_INFO_T_OFFSET
      - name: NL80211_STA_INFO_RX_BYTES64
      - name: NL80211_STA_INFO_EXPECTED_THROUGHPUT
      - name: NL80211_STA_INFO_TID_STATS
      - name: NL80211_STA_INFO_ACK_SIGNAL_AVG
      - name: NL80211_STA_INFO_TX_DURATION
      - name: __NL80211_STA_INFO_AFTER_LAST
      - name: NL80211_STA_INFO_LLID
      - name: NL80211_STA_INFO_TX_BITRATE
      - name: NL80211_STA_INFO_TX_FAILED
      - name: NL80211_STA_INFO_BEACON_LOSS
      - name: NL80211_STA_INFO_NONPEER_PM
      - name: NL80211_STA_INFO_CHAIN_SIGNAL_AVG
      - name: NL80211_STA_INFO_BEACON_SIGNAL_AVG
      - name: NL80211_STA_INFO_ACK_SIGNAL
      - name: NL80211_STA_INFO_CONNECTED_TO_GATE
      - name: NL80211_STA_INFO_ASSOC_AT_BOOTTIME
      - name: NL80211_STA_INFO_CONNECTED_TO_AS
      - name: NL80211_STA_INFO_FCS_ERROR_COUNT
      - name: __NL80211_STA_INFO_INVALID
      - name: NL80211_STA_INFO_TX_BYTES
      - name: NL80211_STA_INFO_SIGNAL
      - name: NL80211_STA_INFO_TX_RETRIES
      - name: NL80211_STA_INFO_BSS_PARAM
      - name: NL80211_STA_INFO_STA_FLAGS
      - name: NL80211_STA_INFO_PEER_PM
      - name: NL80211_STA_INFO_CHAIN_SIGNAL
      - name: NL80211_STA_INFO_BEACON_RX
      - name: NL80211_STA_INFO_PAD
      - name: NL80211_STA_INFO_MAX
        value: __NL80211_STA_INFO_AFTER_LAST - 1
      item_type: enum
      name: nl80211_sta_info
      pos:
        line_end: 4334
        line_start: 4285
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: __NL80211_TID_STATS_INVALID
      - name: NL80211_TID_STATS_RX_MSDU
      - name: NL80211_TID_STATS_TX_MSDU_FAILED
      - name: NL80211_TID_STATS_TX_MSDU_RETRIES
      - name: NL80211_TID_STATS_TX_MSDU
      - name: NL80211_TID_STATS_PAD
      - name: NL80211_TID_STATS_TXQ_STATS
      - name: NUM_NL80211_TID_STATS
      - name: NL80211_TID_STATS_MAX
        value: NUM_NL80211_TID_STATS - 1
      item_type: enum
      name: nl80211_tid_stats
      pos:
        line_end: 4367
        line_start: 4355
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: __NL80211_TXQ_STATS_INVALID
      - name: NL80211_TXQ_STATS_FLOWS
      - name: NL80211_TXQ_STATS_BACKLOG_PACKETS
      - name: NL80211_TXQ_STATS_DROPS
      - name: NL80211_TXQ_STATS_BACKLOG_BYTES
      - name: NL80211_TXQ_STATS_ECN_MARKS
      - name: NL80211_TXQ_STATS_OVERLIMIT
      - name: NL80211_TXQ_STATS_OVERMEMORY
      - name: NL80211_TXQ_STATS_COLLISIONS
      - name: NL80211_TXQ_STATS_TX_BYTES
      - name: NUM_NL80211_TXQ_STATS
      - name: NL80211_TXQ_STATS_MAX
        value: NUM_NL80211_TXQ_STATS - 1
      - name: NL80211_TXQ_STATS_TX_PACKETS
      - name: NL80211_TXQ_STATS_MAX_FLOWS
      item_type: enum
      name: nl80211_txq_stats
      pos:
        line_end: 4405
        line_start: 4388
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_MPATH_FLAG_ACTIVE
        value: 1<<0
      - name: NL80211_MPATH_FLAG_RESOLVED
        value: 1<<4
      - name: NL80211_MPATH_FLAG_FIXED
        value: 1<<3
      - name: NL80211_MPATH_FLAG_SN_VALID
        value: 1<<2
      - name: NL80211_MPATH_FLAG_RESOLVING
        value: 1<<1
      item_type: enum
      name: nl80211_mpath_flags
      pos:
        line_end: 4422
        line_start: 4416
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: __NL80211_MPATH_INFO_INVALID
      - name: NL80211_MPATH_INFO_FRAME_QLEN
      - name: NL80211_MPATH_INFO_EXPTIME
      - name: NL80211_MPATH_INFO_METRIC
      - name: NL80211_MPATH_INFO_SN
      - name: NL80211_MPATH_INFO_FLAGS
      - name: NL80211_MPATH_INFO_DISCOVERY_TIMEOUT
      - name: NL80211_MPATH_INFO_DISCOVERY_RETRIES
      - name: NL80211_MPATH_INFO_HOP_COUNT
      - name: NL80211_MPATH_INFO_PATH_CHANGE
      - name: __NL80211_MPATH_INFO_AFTER_LAST
      - name: NL80211_MPATH_INFO_MAX
        value: __NL80211_MPATH_INFO_AFTER_LAST - 1
      item_type: enum
      name: nl80211_mpath_info
      pos:
        line_end: 4460
        line_start: 4445
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: __NL80211_BAND_IFTYPE_ATTR_INVALID
      - name: NL80211_BAND_IFTYPE_ATTR_HE_CAP_MAC
      - name: NL80211_BAND_IFTYPE_ATTR_IFTYPES
      - name: NL80211_BAND_IFTYPE_ATTR_HE_CAP_MCS_SET
      - name: NL80211_BAND_IFTYPE_ATTR_HE_CAP_PHY
      - name: NL80211_BAND_IFTYPE_ATTR_HE_CAP_PPE
      - name: NL80211_BAND_IFTYPE_ATTR_HE_6GHZ_CAPA
      - name: NL80211_BAND_IFTYPE_ATTR_VENDOR_ELEMS
      - name: NL80211_BAND_IFTYPE_ATTR_EHT_CAP_MAC
      - name: NL80211_BAND_IFTYPE_ATTR_EHT_CAP_PHY
      - name: NL80211_BAND_IFTYPE_ATTR_UHR_CAP_MAC
      - name: NL80211_BAND_IFTYPE_ATTR_UHR_CAP_PHY
      - name: NL80211_BAND_IFTYPE_ATTR_MAX
        value: __NL80211_BAND_IFTYPE_ATTR_AFTER_LAST - 1
      - name: NL80211_BAND_IFTYPE_ATTR_EHT_CAP_MCS_SET
      - name: __NL80211_BAND_IFTYPE_ATTR_AFTER_LAST
      - name: NL80211_BAND_IFTYPE_ATTR_EHT_CAP_PPE
      item_type: enum
      name: nl80211_band_iftype_attr
      pos:
        line_end: 4515
        line_start: 4495
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: __NL80211_BAND_ATTR_INVALID
      - name: NL80211_BAND_ATTR_HT_CAPA
      - name: NL80211_BAND_ATTR_RATES
      - name: NL80211_BAND_ATTR_FREQS
      - name: NL80211_BAND_ATTR_HT_MCS_SET
      - name: NL80211_BAND_ATTR_HT_AMPDU_FACTOR
      - name: NL80211_BAND_ATTR_HT_AMPDU_DENSITY
      - name: NL80211_BAND_ATTR_VHT_MCS_SET
      - name: NL80211_BAND_ATTR_VHT_CAPA
      - name: NL80211_BAND_ATTR_IFTYPE_DATA
      - name: NL80211_BAND_ATTR_EDMG_CHANNELS
      - name: __NL80211_BAND_ATTR_AFTER_LAST
      - name: NL80211_BAND_ATTR_EDMG_BW_CONFIG
      - name: NL80211_BAND_ATTR_MAX
        value: __NL80211_BAND_ATTR_AFTER_LAST - 1
      - name: NL80211_BAND_ATTR_S1G_CAPA
      - name: NL80211_BAND_ATTR_S1G_MCS_NSS_SET
      item_type: enum
      name: nl80211_band_attr
      pos:
        line_end: 4570
        line_start: 4547
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: __NL80211_NAN_PHY_CAP_ATTR_INVALID
      - name: NL80211_NAN_PHY_CAP_ATTR_HT_CAPA
      - name: NL80211_NAN_PHY_CAP_ATTR_HT_MCS_SET
      - name: NL80211_NAN_PHY_CAP_ATTR_HT_AMPDU_FACTOR
      - name: NL80211_NAN_PHY_CAP_ATTR_HT_AMPDU_DENSITY
      - name: NL80211_NAN_PHY_CAP_ATTR_VHT_MCS_SET
      - name: NL80211_NAN_PHY_CAP_ATTR_VHT_CAPA
      - name: NL80211_NAN_PHY_CAP_ATTR_HE_MAC
      - name: NL80211_NAN_PHY_CAP_ATTR_HE_PHY
      - name: NL80211_NAN_PHY_CAP_ATTR_HE_MCS_SET
      - name: __NL80211_NAN_PHY_CAP_ATTR_AFTER_LAST
      - name: NL80211_NAN_PHY_CAP_ATTR_MAX
        value: __NL80211_NAN_PHY_CAP_ATTR_AFTER_LAST - 1
      - name: NL80211_NAN_PHY_CAP_ATTR_HE_PPE
      item_type: enum
      name: nl80211_nan_phy_cap_attr
      pos:
        line_end: 4612
        line_start: 4590
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: __NL80211_WMMR_INVALID
      - name: NL80211_WMMR_AIFSN
      - name: NL80211_WMMR_CW_MAX
      - name: NL80211_WMMR_CW_MIN
      - name: NL80211_WMMR_TXOP
      - name: __NL80211_WMMR_LAST
      - name: NL80211_WMMR_MAX
        value: __NL80211_WMMR_LAST - 1
      item_type: enum
      name: nl80211_wmm_rule
      pos:
        line_end: 4635
        line_start: 4625
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: __NL80211_FREQUENCY_ATTR_NO_IBSS
      - name: NL80211_FREQUENCY_ATTR_DFS_TIME
      - name: NL80211_FREQUENCY_ATTR_NO_160MHZ
      - name: NL80211_FREQUENCY_ATTR_NO_20MHZ
      - name: NL80211_FREQUENCY_ATTR_OFFSET
      - name: NL80211_FREQUENCY_ATTR_8MHZ
      - name: NL80211_FREQUENCY_ATTR_PSD
      - name: NL80211_FREQUENCY_ATTR_CAN_MONITOR
      - name: NL80211_FREQUENCY_ATTR_NO_8MHZ
      - name: NL80211_FREQUENCY_ATTR_CAC_START_TIME
      - name: NL80211_FREQUENCY_ATTR_PAD
      - name: __NL80211_FREQUENCY_ATTR_INVALID
      - name: NL80211_FREQUENCY_ATTR_NO_IR
      - name: NL80211_FREQUENCY_ATTR_DFS_STATE
      - name: NL80211_FREQUENCY_ATTR_NO_80MHZ
      - name: NL80211_FREQUENCY_ATTR_IR_CONCURRENT
      - name: NL80211_FREQUENCY_ATTR_NO_HE
      - name: NL80211_FREQUENCY_ATTR_4MHZ
      - name: NL80211_FREQUENCY_ATTR_NO_EHT
      - name: NL80211_FREQUENCY_ATTR_NO_6GHZ_AFC_CLIENT
      - name: NL80211_FREQUENCY_ATTR_NO_4MHZ
      - name: NL80211_FREQUENCY_ATTR_MAX
        value: __NL80211_FREQUENCY_ATTR_AFTER_LAST - 1
      - name: NL80211_FREQUENCY_ATTR_DISABLED
      - name: NL80211_FREQUENCY_ATTR_MAX_TX_POWER
      - name: NL80211_FREQUENCY_ATTR_NO_HT40_PLUS
      - name: NL80211_FREQUENCY_ATTR_INDOOR_ONLY
      - name: NL80211_FREQUENCY_ATTR_WMM
      - name: NL80211_FREQUENCY_ATTR_2MHZ
      - name: NL80211_FREQUENCY_ATTR_NO_320MHZ
      - name: NL80211_FREQUENCY_ATTR_NO_6GHZ_VLP_CLIENT
      - name: NL80211_FREQUENCY_ATTR_ALLOW_20MHZ_ACTIVITY
      - name: NL80211_FREQUENCY_ATTR_S1G_NO_PRIMARY
      - name: __NL80211_FREQUENCY_ATTR_AFTER_LAST
      - name: NL80211_FREQUENCY_ATTR_NO_UHR
      - name: NL80211_FREQUENCY_ATTR_FREQ
      - name: NL80211_FREQUENCY_ATTR_RADAR
      - name: NL80211_FREQUENCY_ATTR_NO_HT40_MINUS
      - name: NL80211_FREQUENCY_ATTR_DFS_CAC_TIME
      - name: NL80211_FREQUENCY_ATTR_NO_10MHZ
      - name: NL80211_FREQUENCY_ATTR_1MHZ
      - name: NL80211_FREQUENCY_ATTR_16MHZ
      - name: NL80211_FREQUENCY_ATTR_DFS_CONCURRENT
      - name: NL80211_FREQUENCY_ATTR_ALLOW_6GHZ_VLP_AP
      - name: NL80211_FREQUENCY_ATTR_NO_16MHZ
      item_type: enum
      name: nl80211_frequency_attr
      pos:
        line_end: 4795
        line_start: 4748
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: __NL80211_BITRATE_ATTR_INVALID
      - name: NL80211_BITRATE_ATTR_MAX
        value: __NL80211_BITRATE_ATTR_AFTER_LAST - 1
      - name: NL80211_BITRATE_ATTR_2GHZ_SHORTPREAMBLE
      - name: NL80211_BITRATE_ATTR_RATE
      - name: __NL80211_BITRATE_ATTR_AFTER_LAST
      item_type: enum
      name: nl80211_bitrate_attr
      pos:
        line_end: 4826
        line_start: 4818
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_REGDOM_SET_BY_CORE
      - name: NL80211_REGDOM_SET_BY_COUNTRY_IE
      - name: NL80211_REGDOM_SET_BY_DRIVER
      - name: NL80211_REGDOM_SET_BY_USER
      item_type: enum
      name: nl80211_reg_initiator
      pos:
        line_end: 4849
        line_start: 4844
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_REGDOM_TYPE_COUNTRY
      - name: NL80211_REGDOM_TYPE_INTERSECTION
      - name: NL80211_REGDOM_TYPE_WORLD
      - name: NL80211_REGDOM_TYPE_CUSTOM_WORLD
      item_type: enum
      name: nl80211_reg_type
      pos:
        line_end: 4872
        line_start: 4867
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: __NL80211_REG_RULE_ATTR_INVALID
      - name: NL80211_ATTR_FREQ_RANGE_START
      - name: NL80211_ATTR_REG_RULE_FLAGS
      - name: NL80211_ATTR_FREQ_RANGE_MAX_BW
      - name: NL80211_ATTR_FREQ_RANGE_END
      - name: NL80211_ATTR_POWER_RULE_MAX_ANT_GAIN
      - name: NL80211_ATTR_POWER_RULE_MAX_EIRP
      - name: NL80211_ATTR_DFS_CAC_TIME
      - name: NL80211_ATTR_POWER_RULE_PSD
      - name: __NL80211_REG_RULE_ATTR_AFTER_LAST
      - name: NL80211_REG_RULE_ATTR_MAX
        value: __NL80211_REG_RULE_ATTR_AFTER_LAST - 1
      item_type: enum
      name: nl80211_reg_rule_attr
      pos:
        line_end: 4919
        line_start: 4901
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: __NL80211_SCHED_SCAN_MATCH_ATTR_INVALID
      - name: NL80211_SCHED_SCAN_MATCH_ATTR_RSSI_ADJUST
      - name: NL80211_SCHED_SCAN_MATCH_ATTR_RELATIVE_RSSI
      - name: NL80211_SCHED_SCAN_MATCH_ATTR_RSSI
      - name: NL80211_SCHED_SCAN_MATCH_ATTR_SSID
      - name: NL80211_SCHED_SCAN_MATCH_ATTR_BSSID
      - name: NL80211_SCHED_SCAN_MATCH_PER_BAND_RSSI
      - name: __NL80211_SCHED_SCAN_MATCH_ATTR_AFTER_LAST
      - name: NL80211_SCHED_SCAN_MATCH_ATTR_MAX
        value: __NL80211_SCHED_SCAN_MATCH_ATTR_AFTER_LAST - 1
      item_type: enum
      name: nl80211_sched_scan_match_attr
      pos:
        line_end: 4963
        line_start: 4949
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_RRF_NO_INDOOR
        value: 1 << 2
      - name: NL80211_RRF_PTMP_ONLY
        value: 1 << 6
      - name: NL80211_RRF_NO_320MHZ
        value: 1 << 18
      - name: NL80211_RRF_NO_HT40PLUS
        value: 1 << 14
      - name: NL80211_RRF_NO_6GHZ_VLP_CLIENT
        value: 1 << 22
      - name: NL80211_RRF_NO_UHR
        value: 1 << 26
      - name: NL80211_RRF_NO_OUTDOOR
        value: 1 << 3
      - name: NL80211_RRF_NO_IR
        value: 1 << 7
      - name: NL80211_RRF_NO_80MHZ
        value: 1 << 15
      - name: NL80211_RRF_NO_EHT
        value: 1 << 19
      - name: NL80211_RRF_NO_6GHZ_AFC_CLIENT
        value: 1 << 23
      - name: NL80211_RRF_DFS
        value: 1 << 4
      - name: __NL80211_RRF_NO_IBSS
        value: 1 << 8
      - name: NL80211_RRF_PSD
        value: 1 << 20
      - name: NL80211_RRF_NO_160MHZ
        value: 1 << 16
      - name: NL80211_RRF_IR_CONCURRENT
        value: 1 << 12
      - name: NL80211_RRF_ALLOW_6GHZ_VLP_AP
        value: 1 << 24
      - name: NL80211_RRF_NO_OFDM
        value: 1 << 0
      - name: NL80211_RRF_NO_CCK
        value: 1 << 1
      - name: NL80211_RRF_PTP_ONLY
        value: 1 << 5
      - name: NL80211_RRF_AUTO_BW
        value: 1 << 11
      - name: NL80211_RRF_NO_HT40MINUS
        value: 1 << 13
      - name: NL80211_RRF_NO_HE
        value: 1 << 17
      - name: NL80211_RRF_DFS_CONCURRENT
        value: 1 << 21
      - name: NL80211_RRF_ALLOW_20MHZ_ACTIVITY
        value: 1 << 25
      item_type: enum
      name: nl80211_reg_rule_flags
      pos:
        line_end: 5032
        line_start: 5006
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_DFS_UNSET
        value: '0'
      - name: NL80211_DFS_JP
        value: '3'
      - name: NL80211_DFS_ETSI
        value: '2'
      - name: NL80211_DFS_FCC
        value: '1'
      item_type: enum
      name: nl80211_dfs_regions
      pos:
        line_end: 5059
        line_start: 5054
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_USER_REG_HINT_USER
        value: '0'
      - name: NL80211_USER_REG_HINT_INDOOR
        value: '2'
      - name: NL80211_USER_REG_HINT_CELL_BASE
        value: '1'
      item_type: enum
      name: nl80211_user_reg_hint_type
      pos:
        line_end: 5082
        line_start: 5078
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: __NL80211_SURVEY_INFO_INVALID
      - name: NL80211_SURVEY_INFO_FREQUENCY
      - name: NL80211_SURVEY_INFO_IN_USE
      - name: NL80211_SURVEY_INFO_NOISE
      - name: NL80211_SURVEY_INFO_TIME
      - name: NL80211_SURVEY_INFO_TIME_BUSY
      - name: NL80211_SURVEY_INFO_TIME_EXT_BUSY
      - name: NL80211_SURVEY_INFO_TIME_RX
      - name: NL80211_SURVEY_INFO_TIME_TX
      - name: NL80211_SURVEY_INFO_TIME_SCAN
      - name: NL80211_SURVEY_INFO_FREQUENCY_OFFSET
      - name: __NL80211_SURVEY_INFO_AFTER_LAST
      - name: NL80211_SURVEY_INFO_MAX
        value: __NL80211_SURVEY_INFO_AFTER_LAST - 1
      - name: NL80211_SURVEY_INFO_PAD
      - name: NL80211_SURVEY_INFO_TIME_BSS_RX
      item_type: enum
      name: nl80211_survey_info
      pos:
        line_end: 5132
        line_start: 5114
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: __NL80211_MNTR_FLAG_INVALID
      - name: NL80211_MNTR_FLAG_CONTROL
      - name: NL80211_MNTR_FLAG_PLCPFAIL
      - name: NL80211_MNTR_FLAG_OTHER_BSS
      - name: NL80211_MNTR_FLAG_FCSFAIL
      - name: NL80211_MNTR_FLAG_COOK_FRAMES
      - name: NL80211_MNTR_FLAG_ACTIVE
      - name: NL80211_MNTR_FLAG_SKIP_TX
      - name: __NL80211_MNTR_FLAG_AFTER_LAST
      - name: NL80211_MNTR_FLAG_MAX
        value: __NL80211_MNTR_FLAG_AFTER_LAST - 1
      item_type: enum
      name: nl80211_mntr_flags
      pos:
        line_end: 5174
        line_start: 5161
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_MESH_POWER_UNKNOWN
      - name: __NL80211_MESH_POWER_AFTER_LAST
      - name: NL80211_MESH_POWER_DEEP_SLEEP
      - name: NL80211_MESH_POWER_ACTIVE
      - name: NL80211_MESH_POWER_LIGHT_SLEEP
      - name: NL80211_MESH_POWER_MAX
        value: __NL80211_MESH_POWER_AFTER_LAST - 1
      item_type: enum
      name: nl80211_mesh_power_mode
      pos:
        line_end: 5202
        line_start: 5194
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_MESHCONF_MAX_PEER_LINKS
      - name: NL80211_MESHCONF_HWMP_MAX_PREQ_RETRIES
      - name: NL80211_MESHCONF_HWMP_PREQ_MIN_INTERVAL
      - name: NL80211_MESHCONF_HWMP_RANN_INTERVAL
      - name: NL80211_MESHCONF_RSSI_THRESHOLD
      - name: NL80211_MESHCONF_HWMP_ROOT_INTERVAL
      - name: NL80211_MESHCONF_PLINK_TIMEOUT
      - name: __NL80211_MESHCONF_ATTR_AFTER_LAST
      - name: __NL80211_MESHCONF_INVALID
      - name: NL80211_MESHCONF_HOLDING_TIMEOUT
      - name: NL80211_MESHCONF_AUTO_OPEN_PLINKS
      - name: NL80211_MESHCONF_HWMP_ACTIVE_PATH_TIMEOUT
      - name: NL80211_MESHCONF_ELEMENT_TTL
      - name: NL80211_MESHCONF_FORWARDING
      - name: NL80211_MESHCONF_HWMP_PATH_TO_ROOT_TIMEOUT
      - name: NL80211_MESHCONF_AWAKE_WINDOW
      - name: NL80211_MESHCONF_CONNECTED_TO_AS
      - name: NL80211_MESHCONF_ATTR_MAX
        value: __NL80211_MESHCONF_ATTR_AFTER_LAST - 1
      - name: NL80211_MESHCONF_CONFIRM_TIMEOUT
      - name: NL80211_MESHCONF_TTL
      - name: NL80211_MESHCONF_MIN_DISCOVERY_TIMEOUT
      - name: NL80211_MESHCONF_HWMP_ROOTMODE
      - name: NL80211_MESHCONF_HWMP_PERR_MIN_INTERVAL
      - name: NL80211_MESHCONF_HT_OPMODE
      - name: NL80211_MESHCONF_POWER_MODE
      - name: NL80211_MESHCONF_NOLEARN
      - name: NL80211_MESHCONF_RETRY_TIMEOUT
      - name: NL80211_MESHCONF_MAX_RETRIES
      - name: NL80211_MESHCONF_PATH_REFRESH_TIME
      - name: NL80211_MESHCONF_GATE_ANNOUNCEMENTS
      - name: NL80211_MESHCONF_HWMP_NET_DIAM_TRVS_TIME
      - name: NL80211_MESHCONF_SYNC_OFFSET_MAX_NEIGHBOR
      - name: NL80211_MESHCONF_HWMP_CONFIRMATION_INTERVAL
      - name: NL80211_MESHCONF_CONNECTED_TO_GATE
      item_type: enum
      name: nl80211_meshconf_params
      pos:
        line_end: 5364
        line_start: 5327
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: __NL80211_MESH_SETUP_INVALID
      - name: NL80211_MESH_SETUP_IE
      - name: NL80211_MESH_SETUP_ENABLE_VENDOR_METRIC
      - name: NL80211_MESH_SETUP_USERSPACE_AUTH
      - name: NL80211_MESH_SETUP_ENABLE_VENDOR_PATH_SEL
      - name: NL80211_MESH_SETUP_USERSPACE_AMPE
      - name: NL80211_MESH_SETUP_ENABLE_VENDOR_SYNC
      - name: NL80211_MESH_SETUP_USERSPACE_MPM
      - name: NL80211_MESH_SETUP_AUTH_PROTOCOL
      - name: __NL80211_MESH_SETUP_ATTR_AFTER_LAST
      - name: NL80211_MESH_SETUP_ATTR_MAX
        value: __NL80211_MESH_SETUP_ATTR_AFTER_LAST - 1
      item_type: enum
      name: nl80211_mesh_setup_params
      pos:
        line_end: 5429
        line_start: 5415
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: __NL80211_TXQ_ATTR_INVALID
      - name: NL80211_TXQ_ATTR_CWMIN
      - name: NL80211_TXQ_ATTR_TXOP
      - name: NL80211_TXQ_ATTR_CWMAX
      - name: NL80211_TXQ_ATTR_AC
      - name: NL80211_TXQ_ATTR_AIFS
      - name: __NL80211_TXQ_ATTR_AFTER_LAST
      - name: NL80211_TXQ_ATTR_MAX
        value: __NL80211_TXQ_ATTR_AFTER_LAST - 1
      item_type: enum
      name: nl80211_txq_attr
      pos:
        line_end: 5456
        line_start: 5445
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_AC_VO
      - name: NL80211_NUM_ACS
      - name: NL80211_AC_BE
      - name: NL80211_AC_VI
      - name: NL80211_AC_BK
      item_type: enum
      name: nl80211_ac
      pos:
        line_end: 5464
        line_start: 5458
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_CHAN_NO_HT
      - name: NL80211_CHAN_HT40PLUS
      - name: NL80211_CHAN_HT20
      - name: NL80211_CHAN_HT40MINUS
      item_type: enum
      name: nl80211_channel_type
      pos:
        line_end: 5487
        line_start: 5482
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_KEY_RX_TX
      - name: NL80211_KEY_SET_TX
      - name: NL80211_KEY_NO_TX
      item_type: enum
      name: nl80211_key_mode
      pos:
        line_end: 5508
        line_start: 5504
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_CHAN_WIDTH_20_NOHT
      - name: NL80211_CHAN_WIDTH_80P80
      - name: NL80211_CHAN_WIDTH_40
      - name: NL80211_CHAN_WIDTH_20
      - name: NL80211_CHAN_WIDTH_80
      - name: NL80211_CHAN_WIDTH_160
      - name: NL80211_CHAN_WIDTH_5
      - name: NL80211_CHAN_WIDTH_10
      - name: NL80211_CHAN_WIDTH_1
      - name: NL80211_CHAN_WIDTH_2
      - name: NL80211_CHAN_WIDTH_4
      - name: NL80211_CHAN_WIDTH_320
      - name: NL80211_CHAN_WIDTH_8
      - name: NL80211_CHAN_WIDTH_16
      item_type: enum
      name: nl80211_chan_width
      pos:
        line_end: 5551
        line_start: 5536
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_BSS_CHAN_WIDTH_20
      - name: NL80211_BSS_CHAN_WIDTH_10
      - name: NL80211_BSS_CHAN_WIDTH_1
      - name: NL80211_BSS_CHAN_WIDTH_5
      - name: NL80211_BSS_CHAN_WIDTH_2
      item_type: enum
      name: nl80211_bss_scan_width
      pos:
        line_end: 5570
        line_start: 5564
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_BSS_USE_FOR_NORMAL
        value: 1 << 0
      - name: NL80211_BSS_USE_FOR_MLD_LINK
        value: 1 << 1
      item_type: enum
      name: nl80211_bss_use_for
      pos:
        line_end: 5584
        line_start: 5581
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_BSS_CANNOT_USE_NSTR_NONPRIMARY
        value: 1 << 0
      - name: NL80211_BSS_CANNOT_USE_6GHZ_PWR_MISMATCH
        value: 1 << 1
      item_type: enum
      name: nl80211_bss_cannot_use_reasons
      pos:
        line_end: 5597
        line_start: 5594
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: __NL80211_BSS_INVALID
      - name: NL80211_BSS_TSF
      - name: NL80211_BSS_CAPABILITY
      - name: NL80211_BSS_STATUS
      - name: NL80211_BSS_BEACON_TSF
      - name: NL80211_BSS_PARENT_TSF
      - name: NL80211_BSS_MLO_LINK_ID
      - name: __NL80211_BSS_AFTER_LAST
      - name: NL80211_BSS_MAX
        value: __NL80211_BSS_AFTER_LAST - 1
      - name: NL80211_BSS_FREQUENCY
      - name: NL80211_BSS_BEACON_INTERVAL
      - name: NL80211_BSS_SIGNAL_UNSPEC
      - name: NL80211_BSS_PAD
      - name: NL80211_BSS_CHAN_WIDTH
      - name: NL80211_BSS_FREQUENCY_OFFSET
      - name: NL80211_BSS_CANNOT_USE_REASONS
      - name: NL80211_BSS_BSSID
      - name: NL80211_BSS_SIGNAL_MBM
      - name: NL80211_BSS_BEACON_IES
      - name: NL80211_BSS_LAST_SEEN_BOOTTIME
      - name: NL80211_BSS_CHAIN_SIGNAL
      - name: NL80211_BSS_USE_FOR
      - name: NL80211_BSS_INFORMATION_ELEMENTS
      - name: NL80211_BSS_SEEN_MS_AGO
      - name: NL80211_BSS_PRESP_DATA
      - name: NL80211_BSS_PARENT_BSSID
      - name: NL80211_BSS_MLD_ADDR
      item_type: enum
      name: nl80211_bss
      pos:
        line_end: 5695
        line_start: 5665
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_BSS_STATUS_AUTHENTICATED
      - name: NL80211_BSS_STATUS_IBSS_JOINED
      - name: NL80211_BSS_STATUS_ASSOCIATED
      item_type: enum
      name: nl80211_bss_status
      pos:
        line_end: 5713
        line_start: 5709
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_AUTHTYPE_OPEN_SYSTEM
      - name: NL80211_AUTHTYPE_FT
      - name: NL80211_AUTHTYPE_SHARED_KEY
      - name: NL80211_AUTHTYPE_SAE
      - name: NL80211_AUTHTYPE_NETWORK_EAP
      - name: NL80211_AUTHTYPE_FILS_SK
      - name: NL80211_AUTHTYPE_FILS_SK_PFS
      - name: NL80211_AUTHTYPE_FILS_PK
      - name: NL80211_AUTHTYPE_EPPKE
      - name: NL80211_AUTHTYPE_IEEE8021X
      - name: __NL80211_AUTHTYPE_NUM
      - name: NL80211_AUTHTYPE_MAX
        value: __NL80211_AUTHTYPE_NUM - 1
      - name: NL80211_AUTHTYPE_AUTOMATIC
      item_type: enum
      name: nl80211_auth_type
      pos:
        line_end: 5751
        line_start: 5735
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_KEYTYPE_GROUP
      - name: NL80211_KEYTYPE_PEERKEY
      - name: NL80211_KEYTYPE_PAIRWISE
      - name: NUM_NL80211_KEYTYPES
      item_type: enum
      name: nl80211_key_type
      pos:
        line_end: 5766
        line_start: 5760
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_MFP_NO
      - name: NL80211_MFP_OPTIONAL
      - name: NL80211_MFP_REQUIRED
      item_type: enum
      name: nl80211_mfp
      pos:
        line_end: 5778
        line_start: 5774
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_WPA_VERSION_1
        value: 1 << 0
      - name: NL80211_WPA_VERSION_2
        value: 1 << 1
      - name: NL80211_WPA_VERSION_3
        value: 1 << 2
      item_type: enum
      name: nl80211_wpa_versions
      pos:
        line_end: 5784
        line_start: 5780
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: __NL80211_KEY_DEFAULT_TYPE_INVALID
      - name: NUM_NL80211_KEY_DEFAULT_TYPES
      - name: NL80211_KEY_DEFAULT_TYPE_UNICAST
      - name: NL80211_KEY_DEFAULT_TYPE_MULTICAST
      item_type: enum
      name: nl80211_key_default_types
      pos:
        line_end: 5801
        line_start: 5795
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: __NL80211_KEY_INVALID
      - name: NL80211_KEY_DATA
      - name: NL80211_KEY_CIPHER
      - name: NL80211_KEY_IDX
      - name: NL80211_KEY_SEQ
      - name: NL80211_KEY_DEFAULT
      - name: NL80211_KEY_DEFAULT_MGMT
      - name: NL80211_KEY_TYPE
      - name: NL80211_KEY_DEFAULT_TYPES
      - name: NL80211_KEY_MODE
      - name: NL80211_KEY_LTF_SEED
      - name: __NL80211_KEY_AFTER_LAST
      - name: NL80211_KEY_MAX
        value: __NL80211_KEY_AFTER_LAST - 1
      - name: NL80211_KEY_DEFAULT_BEACON
      item_type: enum
      name: nl80211_key_attributes
      pos:
        line_end: 5858
        line_start: 5841
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: __NL80211_TXRATE_INVALID
      - name: NL80211_TXRATE_HT
      - name: NL80211_TXRATE_LEGACY
      - name: NL80211_TXRATE_GI
      - name: NL80211_TXRATE_VHT
      - name: NL80211_TXRATE_HE
      - name: NL80211_TXRATE_HE_GI
      - name: NL80211_TXRATE_HE_LTF
      - name: NL80211_TXRATE_EHT
      - name: NL80211_TXRATE_EHT_GI
      - name: __NL80211_TXRATE_AFTER_LAST
      - name: NL80211_TXRATE_MAX
        value: __NL80211_TXRATE_AFTER_LAST - 1
      - name: NL80211_TXRATE_EHT_LTF
      item_type: enum
      name: nl80211_tx_rate_attributes
      pos:
        line_end: 5899
        line_start: 5883
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_TXRATE_DEFAULT_GI
      - name: NL80211_TXRATE_FORCE_SGI
      - name: NL80211_TXRATE_FORCE_LGI
      item_type: enum
      name: nl80211_txrate_gi
      pos:
        line_end: 5925
        line_start: 5921
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_BAND_2GHZ
      - name: NL80211_BAND_S1GHZ
      - name: NL80211_BAND_60GHZ
      - name: NL80211_BAND_5GHZ
      - name: NL80211_BAND_6GHZ
      - name: NL80211_BAND_LC
      - name: NUM_NL80211_BANDS
      item_type: enum
      name: nl80211_band
      pos:
        line_end: 5956
        line_start: 5947
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_PS_DISABLED
      - name: NL80211_PS_ENABLED
      item_type: enum
      name: nl80211_ps_state
      pos:
        line_end: 5966
        line_start: 5963
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: __NL80211_ATTR_CQM_INVALID
      - name: NL80211_ATTR_CQM_PKT_LOSS_EVENT
      - name: NL80211_ATTR_CQM_RSSI_HYST
      - name: NL80211_ATTR_CQM_RSSI_THOLD
      - name: NL80211_ATTR_CQM_RSSI_THRESHOLD_EVENT
      - name: NL80211_ATTR_CQM_TXE_RATE
      - name: NL80211_ATTR_CQM_TXE_PKTS
      - name: NL80211_ATTR_CQM_TXE_INTVL
      - name: NL80211_ATTR_CQM_BEACON_LOSS_EVENT
      - name: NL80211_ATTR_CQM_RSSI_LEVEL
      - name: __NL80211_ATTR_CQM_AFTER_LAST
      - name: NL80211_ATTR_CQM_MAX
        value: __NL80211_ATTR_CQM_AFTER_LAST - 1
      item_type: enum
      name: nl80211_attr_cqm
      pos:
        line_end: 6016
        line_start: 6001
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_CQM_RSSI_THRESHOLD_EVENT_LOW
      - name: NL80211_CQM_RSSI_THRESHOLD_EVENT_HIGH
      - name: NL80211_CQM_RSSI_BEACON_LOSS_EVENT
      item_type: enum
      name: nl80211_cqm_rssi_threshold_event
      pos:
        line_end: 6030
        line_start: 6026
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_TX_POWER_AUTOMATIC
      - name: NL80211_TX_POWER_FIXED
      - name: NL80211_TX_POWER_LIMITED
      item_type: enum
      name: nl80211_tx_power_setting
      pos:
        line_end: 6043
        line_start: 6039
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_TID_CONFIG_ENABLE
      - name: NL80211_TID_CONFIG_DISABLE
      item_type: enum
      name: nl80211_tid_config
      pos:
        line_end: 6053
        line_start: 6050
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_TX_RATE_AUTOMATIC
      - name: NL80211_TX_RATE_FIXED
      - name: NL80211_TX_RATE_LIMITED
      item_type: enum
      name: nl80211_tx_rate_setting
      pos:
        line_end: 6064
        line_start: 6060
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: __NL80211_TID_CONFIG_ATTR_INVALID
      - name: NL80211_TID_CONFIG_ATTR_PEER_SUPP
      - name: NL80211_TID_CONFIG_ATTR_PAD
      - name: NL80211_TID_CONFIG_ATTR_OVERRIDE
      - name: NL80211_TID_CONFIG_ATTR_VIF_SUPP
      - name: NL80211_TID_CONFIG_ATTR_TIDS
      - name: NL80211_TID_CONFIG_ATTR_NOACK
      - name: NL80211_TID_CONFIG_ATTR_RETRY_SHORT
      - name: NL80211_TID_CONFIG_ATTR_RETRY_LONG
      - name: NL80211_TID_CONFIG_ATTR_AMPDU_CTRL
      - name: NL80211_TID_CONFIG_ATTR_TX_RATE_TYPE
      - name: NL80211_TID_CONFIG_ATTR_TX_RATE
      - name: NL80211_TID_CONFIG_ATTR_RTSCTS_CTRL
      - name: NL80211_TID_CONFIG_ATTR_MAX
        value: __NL80211_TID_CONFIG_ATTR_AFTER_LAST - 1
      - name: __NL80211_TID_CONFIG_ATTR_AFTER_LAST
      - name: NL80211_TID_CONFIG_ATTR_AMSDU_CTRL
      item_type: enum
      name: nl80211_tid_config_attr
      pos:
        line_end: 6129
        line_start: 6110
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: __NL80211_PKTPAT_INVALID
      - name: NL80211_PKTPAT_MASK
      - name: NL80211_PKTPAT_OFFSET
      - name: NL80211_PKTPAT_PATTERN
      - name: NUM_NL80211_PKTPAT
      - name: MAX_NL80211_PKTPAT
        value: NUM_NL80211_PKTPAT - 1
      item_type: enum
      name: nl80211_packet_pattern_attr
      pos:
        line_end: 6160
        line_start: 6152
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_WOWLAN_TRIG_PKT_PATTERN
      - name: NL80211_WOWLAN_TRIG_4WAY_HANDSHAKE
      - name: NL80211_WOWLAN_TRIG_WAKEUP_PKT_8023
      - name: NL80211_WOWLAN_TRIG_WAKEUP_TCP_CONNLOST
      - name: NL80211_WOWLAN_TRIG_UNPROTECTED_DEAUTH_DISASSOC
      - name: MAX_NL80211_WOWLAN_TRIG
        value: NUM_NL80211_WOWLAN_TRIG - 1
      - name: __NL80211_WOWLAN_TRIG_INVALID
      - name: NL80211_WOWLAN_TRIG_MAGIC_PKT
      - name: NL80211_WOWLAN_TRIG_EAP_IDENT_REQUEST
      - name: NL80211_WOWLAN_TRIG_WAKEUP_PKT_80211_LEN
      - name: NL80211_WOWLAN_TRIG_WAKEUP_TCP_MATCH
      - name: NL80211_WOWLAN_TRIG_NET_DETECT_RESULTS
      - name: NL80211_WOWLAN_TRIG_DISCONNECT
      - name: NL80211_WOWLAN_TRIG_GTK_REKEY_FAILURE
      - name: NL80211_WOWLAN_TRIG_WAKEUP_PKT_80211
      - name: NL80211_WOWLAN_TRIG_TCP_CONNECTION
      - name: NL80211_WOWLAN_TRIG_NET_DETECT
      - name: NL80211_WOWLAN_TRIG_ANY
      - name: NL80211_WOWLAN_TRIG_GTK_REKEY_SUPPORTED
      - name: NL80211_WOWLAN_TRIG_RFKILL_RELEASE
      - name: NL80211_WOWLAN_TRIG_WAKEUP_PKT_8023_LEN
      - name: NL80211_WOWLAN_TRIG_WAKEUP_TCP_NOMORETOKENS
      - name: NUM_NL80211_WOWLAN_TRIG
      item_type: enum
      name: nl80211_wowlan_triggers
      pos:
        line_end: 6308
        line_start: 6282
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: __NL80211_WOWLAN_TCP_INVALID
      - name: NL80211_WOWLAN_TCP_SRC_PORT
      - name: NL80211_WOWLAN_TCP_DST_IPV4
      - name: NL80211_WOWLAN_TCP_SRC_IPV4
      - name: NL80211_WOWLAN_TCP_DST_MAC
      - name: NL80211_WOWLAN_TCP_DST_PORT
      - name: NL80211_WOWLAN_TCP_DATA_PAYLOAD
      - name: NL80211_WOWLAN_TCP_DATA_PAYLOAD_SEQ
      - name: NL80211_WOWLAN_TCP_DATA_PAYLOAD_TOKEN
      - name: NL80211_WOWLAN_TCP_DATA_INTERVAL
      - name: MAX_NL80211_WOWLAN_TCP
        value: NUM_NL80211_WOWLAN_TCP - 1
      - name: NL80211_WOWLAN_TCP_WAKE_PAYLOAD
      - name: NL80211_WOWLAN_TCP_WAKE_MASK
      - name: NUM_NL80211_WOWLAN_TCP
      item_type: enum
      name: nl80211_wowlan_tcp_attrs
      pos:
        line_end: 6418
        line_start: 6401
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: __NL80211_COALESCE_RULE_INVALID
      - name: NL80211_ATTR_COALESCE_RULE_DELAY
      - name: NL80211_ATTR_COALESCE_RULE_PKT_PATTERN
      - name: NUM_NL80211_ATTR_COALESCE_RULE
      - name: NL80211_ATTR_COALESCE_RULE_CONDITION
      - name: NL80211_ATTR_COALESCE_RULE_MAX
        value: NUM_NL80211_ATTR_COALESCE_RULE - 1
      item_type: enum
      name: nl80211_attr_coalesce_rule
      pos:
        line_end: 6455
        line_start: 6446
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_COALESCE_CONDITION_MATCH
      - name: NL80211_COALESCE_CONDITION_NO_MATCH
      item_type: enum
      name: nl80211_coalesce_condition
      pos:
        line_end: 6467
        line_start: 6464
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_IFACE_LIMIT_UNSPEC
      - name: NL80211_IFACE_LIMIT_MAX
      - name: NUM_NL80211_IFACE_LIMIT
      - name: NL80211_IFACE_LIMIT_TYPES
      - name: MAX_NL80211_IFACE_LIMIT
        value: NUM_NL80211_IFACE_LIMIT - 1
      item_type: enum
      name: nl80211_iface_limit_attrs
      pos:
        line_end: 6487
        line_start: 6479
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_IFACE_COMB_UNSPEC
      - name: NL80211_IFACE_COMB_LIMITS
      - name: NL80211_IFACE_COMB_STA_AP_BI_MATCH
      - name: NL80211_IFACE_COMB_MAXNUM
      - name: NL80211_IFACE_COMB_NUM_CHANNELS
      - name: NL80211_IFACE_COMB_RADAR_DETECT_WIDTHS
      - name: NL80211_IFACE_COMB_RADAR_DETECT_REGIONS
      - name: NL80211_IFACE_COMB_BI_MIN_GCD
      - name: NUM_NL80211_IFACE_COMB
      - name: MAX_NL80211_IFACE_COMB
        value: NUM_NL80211_IFACE_COMB - 1
      item_type: enum
      name: nl80211_if_combination_attrs
      pos:
        line_end: 6551
        line_start: 6538
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_PLINK_LISTEN
      - name: NL80211_PLINK_CNF_RCVD
      - name: NL80211_PLINK_OPN_RCVD
      - name: NL80211_PLINK_ESTAB
      - name: NL80211_PLINK_OPN_SNT
      - name: NL80211_PLINK_HOLDING
      - name: NL80211_PLINK_BLOCKED
      - name: NUM_NL80211_PLINK_STATES
      - name: MAX_NL80211_PLINK_STATES
        value: NUM_NL80211_PLINK_STATES - 1
      item_type: enum
      name: nl80211_plink_state
      pos:
        line_end: 6584
        line_start: 6572
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_PLINK_ACTION_NO_ACTION
      - name: NL80211_PLINK_ACTION_BLOCK
      - name: NL80211_PLINK_ACTION_OPEN
      - name: NUM_NL80211_PLINK_ACTIONS
      item_type: enum
      name: nl80211_plink_action
      pos:
        line_end: 6600
        line_start: 6594
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: __NL80211_REKEY_DATA_INVALID
      - name: NL80211_REKEY_DATA_AKM
      - name: NL80211_REKEY_DATA_REPLAY_CTR
      - name: NL80211_REKEY_DATA_KEK
      - name: NL80211_REKEY_DATA_KCK
      - name: NUM_NL80211_REKEY_DATA
      - name: MAX_NL80211_REKEY_DATA
        value: NUM_NL80211_REKEY_DATA - 1
      item_type: enum
      name: nl80211_rekey_data
      pos:
        line_end: 6630
        line_start: 6620
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_HIDDEN_SSID_NOT_IN_USE
      - name: NL80211_HIDDEN_SSID_ZERO_LEN
      - name: NL80211_HIDDEN_SSID_ZERO_CONTENTS
      item_type: enum
      name: nl80211_hidden_ssid
      pos:
        line_end: 6645
        line_start: 6641
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: __NL80211_STA_WME_INVALID
      - name: NL80211_STA_WME_UAPSD_QUEUES
      - name: NL80211_STA_WME_MAX
        value: __NL80211_STA_WME_AFTER_LAST - 1
      - name: NL80211_STA_WME_MAX_SP
      - name: __NL80211_STA_WME_AFTER_LAST
      item_type: enum
      name: nl80211_sta_wme_attr
      pos:
        line_end: 6665
        line_start: 6657
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: __NL80211_PMKSA_CANDIDATE_INVALID
      - name: NUM_NL80211_PMKSA_CANDIDATE
      - name: NL80211_PMKSA_CANDIDATE_BSSID
      - name: NL80211_PMKSA_CANDIDATE_INDEX
      - name: NL80211_PMKSA_CANDIDATE_PREAUTH
      - name: MAX_NL80211_PMKSA_CANDIDATE
        value: NUM_NL80211_PMKSA_CANDIDATE - 1
      item_type: enum
      name: nl80211_pmksa_candidate_attr
      pos:
        line_end: 6688
        line_start: 6679
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_TDLS_DISCOVERY_REQ
      - name: NL80211_TDLS_DISABLE_LINK
      - name: NL80211_TDLS_ENABLE_LINK
      - name: NL80211_TDLS_SETUP
      - name: NL80211_TDLS_TEARDOWN
      item_type: enum
      name: nl80211_tdls_operation
      pos:
        line_end: 6704
        line_start: 6698
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_AP_SME_SA_QUERY_OFFLOAD
        value: 1 << 0
      item_type: enum
      name: nl80211_ap_sme_features
      pos:
        line_end: 6714
        line_start: 6712
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_FEATURE_INACTIVITY_TIMER
        value: 1 << 2
      - name: NL80211_FEATURE_LOW_PRIORITY_SCAN
        value: 1 << 6
      - name: NL80211_FEATURE_NEED_OBSS_SCAN
        value: 1 << 10
      - name: NL80211_FEATURE_USERSPACE_MPM
        value: 1 << 16
      - name: NL80211_FEATURE_WFA_TPC_IE_IN_PROBES
        value: 1 << 20
      - name: NL80211_FEATURE_STATIC_SMPS
        value: 1 << 24
      - name: NL80211_FEATURE_SUPPORTS_WMM_ADMISSION
        value: 1 << 26
      - name: NL80211_FEATURE_SCHED_SCAN_RANDOM_MAC_ADDR
        value: 1 << 30
      - name: NL80211_FEATURE_CELL_BASE_REG_HINTS
        value: 1 << 3
      - name: NL80211_FEATURE_SCAN_FLUSH
        value: 1 << 7
      - name: NL80211_FEATURE_ACTIVE_MONITOR
        value: 1 << 17
      - name: NL80211_FEATURE_P2P_GO_CTWIN
        value: 1 << 11
      - name: NL80211_FEATURE_QUIET
        value: 1 << 21
      - name: NL80211_FEATURE_MAC_ON_CREATE
        value: 1 << 27
      - name: NL80211_FEATURE_ND_RANDOM_MAC_ADDR
        value: 1U << 31
      - name: NL80211_FEATURE_P2P_DEVICE_NEEDS_CHANNEL
        value: 1 << 4
      - name: NL80211_FEATURE_AP_SCAN
        value: 1 << 8
      - name: NL80211_FEATURE_P2P_GO_OPPPS
        value: 1 << 12
      - name: NL80211_FEATURE_AP_MODE_CHAN_WIDTH_CHANGE
        value: 1 << 18
      - name: NL80211_FEATURE_TX_POWER_INSERTION
        value: 1 << 22
      - name: NL80211_FEATURE_TDLS_CHANNEL_SWITCH
        value: 1 << 28
      - name: NL80211_FEATURE_SK_TX_STATUS
        value: 1 << 0
      - name: NL80211_FEATURE_HT_IBSS
        value: 1 << 1
      - name: NL80211_FEATURE_SAE
        value: 1 << 5
      - name: NL80211_FEATURE_VIF_TXPOWER
        value: 1 << 9
      - name: NL80211_FEATURE_FULL_AP_CLIENT_STATE
        value: 1 << 15
      - name: NL80211_FEATURE_ADVERTISE_CHAN_LIMITS
        value: 1 << 14
      - name: NL80211_FEATURE_DS_PARAM_SET_IE_IN_PROBES
        value: 1 << 19
      - name: NL80211_FEATURE_ACKTO_ESTIMATION
        value: 1 << 23
      - name: NL80211_FEATURE_DYNAMIC_SMPS
        value: 1 << 25
      - name: NL80211_FEATURE_SCAN_RANDOM_MAC_ADDR
        value: 1 << 29
      item_type: enum
      name: nl80211_feature_flags
      pos:
        line_end: 6842
        line_start: 6809
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_EXT_FEATURE_FILS_SK_OFFLOAD
      - name: NL80211_EXT_FEATURE_OWE_OFFLOAD
      - name: NL80211_EXT_FEATURE_OPERATING_CHANNEL_VALIDATION
      - name: NL80211_EXT_FEATURE_SET_SCAN_DWELL
      - name: NL80211_EXT_FEATURE_MFP_OPTIONAL
      - name: NL80211_EXT_FEATURE_CAN_REPLACE_PTK0
      - name: NL80211_EXT_FEATURE_CONTROL_PORT_NO_PREAUTH
      - name: NL80211_EXT_FEATURE_SECURE_RTT
      - name: NL80211_EXT_FEATURE_IEEE8021X_AUTH
      - name: NL80211_EXT_FEATURE_DFS_CONCURRENT
      - name: NL80211_EXT_FEATURE_4WAY_HANDSHAKE_STA_1X
      - name: NL80211_EXT_FEATURE_STA_TX_PWR
      - name: NL80211_EXT_FEATURE_SAE_OFFLOAD_AP
      - name: MAX_NL80211_EXT_FEATURES
        value: NUM_NL80211_EXT_FEATURES - 1
      - name: NL80211_EXT_FEATURE_SET_KEY_LTF_SEED
      - name: NL80211_EXT_FEATURE_BSS_COLOR
      - name: NL80211_EXT_FEATURE_BEACON_RATE_HT
      - name: NL80211_EXT_FEATURE_LOW_POWER_SCAN
      - name: NL80211_EXT_FEATURE_AIRTIME_FAIRNESS
      - name: NL80211_EXT_FEATURE_MU_MIMO_AIR_SNIFFER
      - name: NL80211_EXT_FEATURE_ACCEPT_BCAST_PROBE_RESP
      - name: NL80211_EXT_FEATURE_TXQS
      - name: NL80211_EXT_FEATURE_VLAN_OFFLOAD
      - name: NL80211_EXT_FEATURE_UNSOL_BCAST_PROBE_RESP
      - name: NL80211_EXT_FEATURE_BEACON_RATE_EHT
      - name: NL80211_EXT_FEATURE_FILS_STA
      - name: NL80211_EXT_FEATURE_DFS_OFFLOAD
      - name: NL80211_EXT_FEATURE_SCHED_SCAN_BAND_SPECIFIC_RSSI_THOLD
      - name: NL80211_EXT_FEATURE_RADAR_BACKGROUND
      - name: NL80211_EXT_FEATURE_DEL_IBSS_STA
      - name: NL80211_EXT_FEATURE_SECURE_LTF
      - name: NL80211_EXT_FEATURE_BSS_PARENT_TSF
      - name: NL80211_EXT_FEATURE_OCE_PROBE_REQ_DEFERRAL_SUPPRESSION
      - name: NL80211_EXT_FEATURE_SCAN_MIN_PREQ_CONTENT
      - name: NL80211_EXT_FEATURE_ASSOC_FRAME_ENCRYPTION
      - name: NL80211_EXT_FEATURE_BEACON_PROTECTION
      - name: NL80211_EXT_FEATURE_BEACON_PROTECTION_CLIENT
      - name: NL80211_EXT_FEATURE_PUNCT
      - name: NL80211_EXT_FEATURE_VHT_IBSS
      - name: NL80211_EXT_FEATURE_MGMT_TX_RANDOM_TA_CONNECTED
      - name: NL80211_EXT_FEATURE_ACK_SIGNAL_SUPPORT
      - name: NL80211_EXT_FEATURE_BEACON_RATE_LEGACY
      - name: NL80211_EXT_FEATURE_LOW_SPAN_SCAN
      - name: NL80211_EXT_FEATURE_ENABLE_FTM_RESPONDER
      - name: NL80211_EXT_FEATURE_PROTECTED_TWT
      - name: NL80211_EXT_FEATURE_PROT_RANGE_NEGO_AND_MEASURE
      - name: NL80211_EXT_FEATURE_ROC_ADDR_FILTER
      - name: NL80211_EXT_FEATURE_AUTH_AND_DEAUTH_RANDOM_TA
      - name: NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211_TX_STATUS
      - name: NL80211_EXT_FEATURE_CQM_RSSI_LIST
      - name: NUM_NL80211_EXT_FEATURES
      - name: NL80211_EXT_FEATURE_FILS_CRYPTO_OFFLOAD
      - name: NL80211_EXT_FEATURE_BEACON_RATE_VHT
      - name: NL80211_EXT_FEATURE_HIGH_ACCURACY_SCAN
      - name: NL80211_EXT_FEATURE_AP_PMKSA_CACHING
      - name: NL80211_EXT_FEATURE_4WAY_HANDSHAKE_AP_PSK
      - name: NL80211_EXT_FEATURE_4WAY_HANDSHAKE_STA_PSK
      - name: NL80211_EXT_FEATURE_OWE_OFFLOAD_AP
      - name: NL80211_EXT_FEATURE_MGMT_TX_RANDOM_TA
      - name: NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211
      - name: NL80211_EXT_FEATURE_EXT_KEY_ID
      - name: NL80211_EXT_FEATURE_POWERED_ADDR_CHANGE
      - name: NL80211_EXT_FEATURE_MULTICAST_REGISTRATIONS
      - name: NL80211_EXT_FEATURE_RRM
      - name: NL80211_EXT_FEATURE_FILS_MAX_CHANNEL_TIME
      - name: NL80211_EXT_FEATURE_SAE_OFFLOAD
      - name: NL80211_EXT_FEATURE_SPP_AMSDU_SUPPORT
      - name: NL80211_EXT_FEATURE_FILS_DISCOVERY
      - name: NL80211_EXT_FEATURE_SCAN_FREQ_KHZ
      - name: NL80211_EXT_FEATURE_SECURE_NAN
      - name: NL80211_EXT_FEATURE_SCHED_SCAN_RELATIVE_RSSI
      - name: NL80211_EXT_FEATURE_DATA_ACK_SIGNAL_SUPPORT
        value: NL80211_EXT_FEATURE_ACK_SIGNAL_SUPPORT
      - name: NL80211_EXT_FEATURE_EPPKE
      - name: NL80211_EXT_FEATURE_SCAN_START_TIME
      - name: NL80211_EXT_FEATURE_OCE_PROBE_REQ_HIGH_TX_RATE
      - name: NL80211_EXT_FEATURE_SCAN_RANDOM_SN
      - name: NL80211_EXT_FEATURE_AQL
      - name: NL80211_EXT_FEATURE_BEACON_RATE_HE
      item_type: enum
      name: nl80211_ext_feature_index
      pos:
        line_end: 7172
        line_start: 7090
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_PROBE_RESP_OFFLOAD_SUPPORT_WPS
        value: 1<<0
      - name: NL80211_PROBE_RESP_OFFLOAD_SUPPORT_80211U
        value: 1<<3
      - name: NL80211_PROBE_RESP_OFFLOAD_SUPPORT_WPS2
        value: 1<<1
      - name: NL80211_PROBE_RESP_OFFLOAD_SUPPORT_P2P
        value: 1<<2
      item_type: enum
      name: nl80211_probe_resp_offload_support_attr
      pos:
        line_end: 7193
        line_start: 7188
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_CONN_FAIL_MAX_CLIENTS
      - name: NL80211_CONN_FAIL_BLOCKED_CLIENT
      item_type: enum
      name: nl80211_connect_failed_reason
      pos:
        line_end: 7204
        line_start: 7201
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_TIMEOUT_UNSPECIFIED
      - name: NL80211_TIMEOUT_SCAN
      - name: NL80211_TIMEOUT_ASSOC
      - name: NL80211_TIMEOUT_AUTH
      item_type: enum
      name: nl80211_timeout_reason
      pos:
        line_end: 7219
        line_start: 7214
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_SCAN_FLAG_LOW_PRIORITY
        value: 1<<0
      - name: NL80211_SCAN_FLAG_FLUSH
        value: 1<<1
      - name: NL80211_SCAN_FLAG_AP
        value: 1<<2
      - name: NL80211_SCAN_FLAG_FILS_MAX_CHANNEL_TIME
        value: 1<<4
      - name: NL80211_SCAN_FLAG_RANDOM_ADDR
        value: 1<<3
      - name: NL80211_SCAN_FLAG_ACCEPT_BCAST_PROBE_RESP
        value: 1<<5
      - name: NL80211_SCAN_FLAG_OCE_PROBE_REQ_HIGH_TX_RATE
        value: 1<<6
      - name: NL80211_SCAN_FLAG_OCE_PROBE_REQ_DEFERRAL_SUPPRESSION
        value: 1<<7
      - name: NL80211_SCAN_FLAG_LOW_SPAN
        value: 1<<8
      - name: NL80211_SCAN_FLAG_LOW_POWER
        value: 1<<9
      - name: NL80211_SCAN_FLAG_HIGH_ACCURACY
        value: 1<<10
      - name: NL80211_SCAN_FLAG_MIN_PREQ_CONTENT
        value: 1<<12
      - name: NL80211_SCAN_FLAG_COLOCATED_6GHZ
        value: 1<<14
      - name: NL80211_SCAN_FLAG_FREQ_KHZ
        value: 1<<13
      - name: NL80211_SCAN_FLAG_RANDOM_SN
        value: 1<<11
      item_type: enum
      name: nl80211_scan_flags
      pos:
        line_end: 7309
        line_start: 7293
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_ACL_POLICY_ACCEPT_UNLESS_LISTED
      - name: NL80211_ACL_POLICY_DENY_UNLESS_LISTED
      item_type: enum
      name: nl80211_acl_policy
      pos:
        line_end: 7327
        line_start: 7324
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_SMPS_OFF
      - name: NL80211_SMPS_MAX
        value: __NL80211_SMPS_AFTER_LAST - 1
      - name: __NL80211_SMPS_AFTER_LAST
      - name: NL80211_SMPS_STATIC
      - name: NL80211_SMPS_DYNAMIC
      item_type: enum
      name: nl80211_smps_mode
      pos:
        line_end: 7348
        line_start: 7341
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_RADAR_DETECTED
      - name: NL80211_RADAR_CAC_FINISHED
      - name: NL80211_RADAR_NOP_FINISHED
      - name: NL80211_RADAR_CAC_ABORTED
      - name: NL80211_RADAR_PRE_CAC_EXPIRED
      - name: NL80211_RADAR_CAC_STARTED
      item_type: enum
      name: nl80211_radar_event
      pos:
        line_end: 7378
        line_start: 7371
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_DFS_USABLE
      - name: NL80211_DFS_UNAVAILABLE
      - name: NL80211_DFS_AVAILABLE
      item_type: enum
      name: nl80211_dfs_state
      pos:
        line_end: 7395
        line_start: 7391
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_PROTOCOL_FEATURE_SPLIT_WIPHY_DUMP
        value: 1 << 0
      item_type: enum
      name: nl80211_protocol_features
      pos:
        line_end: 7407
        line_start: 7405
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_CRIT_PROTO_UNSPEC
      - name: NL80211_CRIT_PROTO_DHCP
      - name: NL80211_CRIT_PROTO_APIPA
      - name: NL80211_CRIT_PROTO_EAPOL
      - name: NUM_NL80211_CRIT_PROTO
      item_type: enum
      name: nl80211_crit_proto_id
      pos:
        line_end: 7425
        line_start: 7418
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_RXMGMT_FLAG_ANSWERED
        value: 1 << 0
      - name: NL80211_RXMGMT_FLAG_EXTERNAL_AUTH
        value: 1 << 1
      item_type: enum
      name: nl80211_rxmgmt_flags
      pos:
        line_end: 7444
        line_start: 7441
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_TDLS_PEER_HT
        value: 1<<0
      - name: NL80211_TDLS_PEER_HE
        value: 1<<3
      - name: NL80211_TDLS_PEER_WMM
        value: 1<<2
      - name: NL80211_TDLS_PEER_VHT
        value: 1<<1
      item_type: enum
      name: nl80211_tdls_peer_capability
      pos:
        line_end: 7482
        line_start: 7477
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: __NL80211_SCHED_SCAN_PLAN_INVALID
      - name: __NL80211_SCHED_SCAN_PLAN_AFTER_LAST
      - name: NL80211_SCHED_SCAN_PLAN_ITERATIONS
      - name: NL80211_SCHED_SCAN_PLAN_MAX
        value: __NL80211_SCHED_SCAN_PLAN_AFTER_LAST - 1
      - name: NL80211_SCHED_SCAN_PLAN_INTERVAL
      item_type: enum
      name: nl80211_sched_scan_plan
      pos:
        line_end: 7506
        line_start: 7497
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: __NL80211_BSS_SELECT_ATTR_INVALID
      - name: __NL80211_BSS_SELECT_ATTR_AFTER_LAST
      - name: NL80211_BSS_SELECT_ATTR_RSSI_ADJUST
      - name: NL80211_BSS_SELECT_ATTR_RSSI
      - name: NL80211_BSS_SELECT_ATTR_BAND_PREF
      - name: NL80211_BSS_SELECT_ATTR_MAX
        value: __NL80211_BSS_SELECT_ATTR_AFTER_LAST - 1
      item_type: enum
      name: nl80211_bss_select_attr
      pos:
        line_end: 7551
        line_start: 7542
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_NAN_FUNC_PUBLISH
      - name: __NL80211_NAN_FUNC_TYPE_AFTER_LAST
      - name: NL80211_NAN_FUNC_FOLLOW_UP
      - name: NL80211_NAN_FUNC_MAX_TYPE
        value: __NL80211_NAN_FUNC_TYPE_AFTER_LAST - 1
      - name: NL80211_NAN_FUNC_SUBSCRIBE
      item_type: enum
      name: nl80211_nan_function_type
      pos:
        line_end: 7572
        line_start: 7564
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_NAN_SOLICITED_PUBLISH
        value: 1 << 0
      - name: NL80211_NAN_UNSOLICITED_PUBLISH
        value: 1 << 1
      item_type: enum
      name: nl80211_nan_publish_type
      pos:
        line_end: 7585
        line_start: 7582
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_NAN_FUNC_TERM_REASON_USER_REQUEST
      - name: NL80211_NAN_FUNC_TERM_REASON_TTL_EXPIRED
      - name: NL80211_NAN_FUNC_TERM_REASON_ERROR
      item_type: enum
      name: nl80211_nan_func_term_reason
      pos:
        line_end: 7600
        line_start: 7596
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: __NL80211_NAN_FUNC_INVALID
      - name: NL80211_NAN_FUNC_PUBLISH_TYPE
      - name: NL80211_NAN_FUNC_FOLLOW_UP_REQ_ID
      - name: NL80211_NAN_FUNC_INSTANCE_ID
      - name: NL80211_NAN_FUNC_ATTR_MAX
        value: NUM_NL80211_NAN_FUNC_ATTR - 1
      - name: NL80211_NAN_FUNC_SERVICE_INFO
      - name: NL80211_NAN_FUNC_SERVICE_ID
      - name: NL80211_NAN_FUNC_FOLLOW_UP_ID
      - name: NL80211_NAN_FUNC_TTL
      - name: NL80211_NAN_FUNC_TX_MATCH_FILTER
      - name: NL80211_NAN_FUNC_TYPE
      - name: NL80211_NAN_FUNC_SUBSCRIBE_ACTIVE
      - name: NL80211_NAN_FUNC_CLOSE_RANGE
      - name: NL80211_NAN_FUNC_RX_MATCH_FILTER
      - name: NUM_NL80211_NAN_FUNC_ATTR
      - name: NL80211_NAN_FUNC_PUBLISH_BCAST
      - name: NL80211_NAN_FUNC_FOLLOW_UP_DEST
      - name: NL80211_NAN_FUNC_SRF
      - name: NL80211_NAN_FUNC_TERM_REASON
      item_type: enum
      name: nl80211_nan_func_attributes
      pos:
        line_end: 7670
        line_start: 7648
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: __NL80211_NAN_SRF_INVALID
      - name: NL80211_NAN_SRF_INCLUDE
      - name: NL80211_NAN_SRF_BF_IDX
      - name: NL80211_NAN_SRF_BF
      - name: NL80211_NAN_SRF_MAC_ADDRS
      - name: NUM_NL80211_NAN_SRF_ATTR
      - name: NL80211_NAN_SRF_ATTR_MAX
        value: NUM_NL80211_NAN_SRF_ATTR - 1
      item_type: enum
      name: nl80211_nan_srf_attributes
      pos:
        line_end: 7697
        line_start: 7687
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: __NL80211_NAN_MATCH_INVALID
      - name: NL80211_NAN_MATCH_ATTR_MAX
        value: NUM_NL80211_NAN_MATCH_ATTR - 1
      - name: NL80211_NAN_MATCH_FUNC_LOCAL
      - name: NUM_NL80211_NAN_MATCH_ATTR
      - name: NL80211_NAN_MATCH_FUNC_PEER
      item_type: enum
      name: nl80211_nan_match_attributes
      pos:
        line_end: 7720
        line_start: 7712
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: __NL80211_NAN_BAND_CONF_INVALID
      - name: NL80211_NAN_BAND_CONF_BAND
      - name: NL80211_NAN_BAND_CONF_RSSI_MIDDLE
      - name: NL80211_NAN_BAND_CONF_RSSI_CLOSE
      - name: NL80211_NAN_BAND_CONF_FREQ
      - name: NL80211_NAN_BAND_CONF_WAKE_DW
      - name: NL80211_NAN_BAND_CONF_DISABLE_SCAN
      - name: NUM_NL80211_NAN_BAND_CONF_ATTR
      - name: NL80211_NAN_BAND_CONF_ATTR_MAX
        value: NUM_NL80211_NAN_BAND_CONF_ATTR - 1
      item_type: enum
      name: nl80211_nan_band_conf_attributes
      pos:
        line_end: 7771
        line_start: 7759
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: __NL80211_NAN_CONF_INVALID
      - name: NL80211_NAN_CONF_BAND_CONFIGS
      - name: NL80211_NAN_CONF_EXTRA_ATTRS
      - name: NL80211_NAN_CONF_CLUSTER_ID
      - name: NL80211_NAN_CONF_VENDOR_ELEMS
      - name: NL80211_NAN_CONF_SCAN_PERIOD
      - name: NL80211_NAN_CONF_SCAN_DWELL_TIME
      - name: NL80211_NAN_CONF_DISCOVERY_BEACON_INTERVAL
      - name: NL80211_NAN_CONF_NOTIFY_DW
      - name: NUM_NL80211_NAN_CONF_ATTR
      - name: NL80211_NAN_CONF_ATTR_MAX
        value: NUM_NL80211_NAN_CONF_ATTR - 1
      item_type: enum
      name: nl80211_nan_conf_attributes
      pos:
        line_end: 7821
        line_start: 7807
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_EXTERNAL_AUTH_START
      - name: NL80211_EXTERNAL_AUTH_ABORT
      item_type: enum
      name: nl80211_external_auth_action
      pos:
        line_end: 7832
        line_start: 7829
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: __NL80211_FTM_RESP_ATTR_INVALID
      - name: NL80211_FTM_RESP_ATTR_ENABLED
      - name: NL80211_FTM_RESP_ATTR_CIVICLOC
      - name: NL80211_FTM_RESP_ATTR_LCI
      - name: __NL80211_FTM_RESP_ATTR_LAST
      - name: NL80211_FTM_RESP_ATTR_MAX
        value: __NL80211_FTM_RESP_ATTR_LAST - 1
      item_type: enum
      name: nl80211_ftm_responder_attributes
      pos:
        line_end: 7858
        line_start: 7848
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: __NL80211_FTM_STATS_INVALID
      - name: NL80211_FTM_STATS_PARTIAL_NUM
      - name: NL80211_FTM_STATS_SUCCESS_NUM
      - name: NL80211_FTM_STATS_ASAP_NUM
      - name: NL80211_FTM_STATS_FAILED_NUM
      - name: NL80211_FTM_STATS_NON_ASAP_NUM
      - name: NL80211_FTM_STATS_TOTAL_DURATION_MSEC
      - name: NL80211_FTM_STATS_UNKNOWN_TRIGGERS_NUM
      - name: NL80211_FTM_STATS_RESCHEDULE_REQUESTS_NUM
      - name: NL80211_FTM_STATS_OUT_OF_WINDOW_TRIGGERS_NUM
      - name: __NL80211_FTM_STATS_AFTER_LAST
      - name: NL80211_FTM_STATS_MAX
        value: __NL80211_FTM_STATS_AFTER_LAST - 1
      - name: NL80211_FTM_STATS_PAD
      item_type: enum
      name: nl80211_ftm_responder_stats
      pos:
        line_end: 7904
        line_start: 7888
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_PREAMBLE_LEGACY
      - name: NL80211_PREAMBLE_VHT
      - name: NL80211_PREAMBLE_HT
      - name: NL80211_PREAMBLE_HE
      - name: NL80211_PREAMBLE_DMG
      item_type: enum
      name: nl80211_preamble
      pos:
        line_end: 7920
        line_start: 7914
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_PMSR_TYPE_INVALID
      - name: NL80211_PMSR_TYPE_MAX
        value: NUM_NL80211_PMSR_TYPES - 1
      - name: NL80211_PMSR_TYPE_FTM
      - name: NUM_NL80211_PMSR_TYPES
      item_type: enum
      name: nl80211_peer_measurement_type
      pos:
        line_end: 7939
        line_start: 7932
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_PMSR_STATUS_SUCCESS
      - name: NL80211_PMSR_STATUS_FAILURE
      - name: NL80211_PMSR_STATUS_TIMEOUT
      - name: NL80211_PMSR_STATUS_REFUSED
      item_type: enum
      name: nl80211_peer_measurement_status
      pos:
        line_end: 7954
        line_start: 7949
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: __NL80211_PMSR_REQ_ATTR_INVALID
      - name: NL80211_PMSR_REQ_ATTR_DATA
      - name: NUM_NL80211_PMSR_REQ_ATTRS
      - name: NL80211_PMSR_REQ_ATTR_GET_AP_TSF
      - name: NL80211_PMSR_REQ_ATTR_MAX
        value: NUM_NL80211_PMSR_REQ_ATTRS - 1
      item_type: enum
      name: nl80211_peer_measurement_req
      pos:
        line_end: 7978
        line_start: 7969
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: __NL80211_PMSR_RESP_ATTR_INVALID
      - name: NL80211_PMSR_RESP_ATTR_DATA
      - name: NL80211_PMSR_RESP_ATTR_HOST_TIME
      - name: NL80211_PMSR_RESP_ATTR_STATUS
      - name: NL80211_PMSR_RESP_ATTR_AP_TSF
      - name: NL80211_PMSR_RESP_ATTR_FINAL
      - name: NL80211_PMSR_RESP_ATTR_PAD
      - name: NUM_NL80211_PMSR_RESP_ATTRS
      - name: NL80211_PMSR_RESP_ATTR_MAX
        value: NUM_NL80211_PMSR_RESP_ATTRS - 1
      item_type: enum
      name: nl80211_peer_measurement_resp
      pos:
        line_end: 8018
        line_start: 8005
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_PMSR_FTM_REQ_TYPE_INFRA
      - name: NL80211_PMSR_FTM_REQ_TYPE_PD
      - name: NL80211_PMSR_FTM_REQ_TYPE_MAX
        value: NUM_NL80211_PMSR_FTM_REQ_TYPE - 1
      - name: NUM_NL80211_PMSR_FTM_REQ_TYPE
      item_type: enum
      name: nl80211_peer_measurement_ftm_req_type
      pos:
        line_end: 8038
        line_start: 8031
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: __NL80211_PMSR_PEER_ATTR_INVALID
      - name: NL80211_PMSR_PEER_ATTR_RESP
      - name: NL80211_PMSR_PEER_ATTR_CHAN
      - name: NL80211_PMSR_PEER_ATTR_ADDR
      - name: NL80211_PMSR_PEER_ATTR_REQ
      - name: NL80211_PMSR_PEER_ATTR_REQ_TYPE
      - name: NUM_NL80211_PMSR_PEER_ATTRS
      - name: NL80211_PMSR_PEER_ATTR_MAX
        value: NUM_NL80211_PMSR_PEER_ATTRS - 1
      item_type: enum
      name: nl80211_peer_measurement_peer_attrs
      pos:
        line_end: 8072
        line_start: 8060
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: __NL80211_PMSR_ATTR_INVALID
      - name: NL80211_PMSR_ATTR_TYPE_CAPA
      - name: NL80211_PMSR_ATTR_MAX_PEERS
      - name: NL80211_PMSR_ATTR_REPORT_AP_TSF
      - name: NL80211_PMSR_ATTR_RANDOMIZE_MAC_ADDR
      - name: NL80211_PMSR_ATTR_PEERS
      - name: NL80211_PMSR_ATTR_MAX_PEER_ISTA_ROLE
      - name: NL80211_PMSR_ATTR_MAX_PEER_RSTA_ROLE
      - name: NUM_NL80211_PMSR_ATTR
      - name: NL80211_PMSR_ATTR_MAX
        value: NUM_NL80211_PMSR_ATTR - 1
      item_type: enum
      name: nl80211_peer_measurement_attrs
      pos:
        line_end: 8124
        line_start: 8110
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_PMSR_FTM_CAPA_ATTR_REQ_CIVICLOC
      - name: NL80211_PMSR_FTM_CAPA_ATTR_BANDWIDTHS
      - name: NL80211_PMSR_FTM_CAPA_ATTR_NON_TRIGGER_BASED
      - name: NL80211_PMSR_FTM_CAPA_ATTR_MAX_TX_STS
      - name: NL80211_PMSR_FTM_CAPA_ATTR_RSTA_SUPPORT
      - name: NL80211_PMSR_FTM_CAPA_ATTR_SUPPORT_TB
      - name: NL80211_PMSR_FTM_CAPA_ATTR_MAX_NUM_TX_ANTENNAS
      - name: NL80211_PMSR_FTM_CAPA_ATTR_PD_PREAMBLES
      - name: __NL80211_PMSR_FTM_CAPA_ATTR_INVALID
      - name: NL80211_PMSR_FTM_CAPA_ATTR_REQ_LCI
      - name: NL80211_PMSR_FTM_CAPA_ATTR_TRIGGER_BASED
      - name: NL80211_PMSR_FTM_CAPA_ATTR_MAX_RX_LTF_REP
      - name: NL80211_PMSR_FTM_CAPA_ATTR_MAX_TOTAL_LTF_RX
      - name: NL80211_PMSR_FTM_CAPA_ATTR_SUPPORT_NTB
      - name: NL80211_PMSR_FTM_CAPA_ATTR_CONCURRENT_ISTA_RSTA_SUPPORT
      - name: NL80211_PMSR_FTM_CAPA_ATTR_MIN_INTERVAL_NTB
      - name: NL80211_PMSR_FTM_CAPA_ATTR_NON_ASAP
      - name: NL80211_PMSR_FTM_CAPA_ATTR_MAX_FTMS_PER_BURST
      - name: NL80211_PMSR_FTM_CAPA_ATTR_MAX_TX_LTF_REP
      - name: NL80211_PMSR_FTM_CAPA_ATTR_MAX_TOTAL_LTF_TX
      - name: NL80211_PMSR_FTM_CAPA_ATTR_RSTA_CAPS
      - name: NL80211_PMSR_FTM_CAPA_ATTR_TYPE_CAPS
      - name: NL80211_PMSR_FTM_CAPA_ATTR_MIN_INTERVAL_EDCA
      - name: NUM_NL80211_PMSR_FTM_CAPA_ATTR
      - name: NL80211_PMSR_FTM_CAPA_ATTR_MAX
        value: NUM_NL80211_PMSR_FTM_CAPA_ATTR - 1
      - name: NL80211_PMSR_FTM_CAPA_ATTR_ASAP
      - name: NL80211_PMSR_FTM_CAPA_ATTR_PREAMBLES
      - name: NL80211_PMSR_FTM_CAPA_ATTR_MAX_BURSTS_EXPONENT
      - name: NL80211_PMSR_FTM_CAPA_ATTR_MAX_RX_STS
      - name: NL80211_PMSR_FTM_CAPA_ATTR_6GHZ_SUPPORT
      - name: NL80211_PMSR_FTM_CAPA_ATTR_ISTA_CAPS
      - name: NL80211_PMSR_FTM_CAPA_ATTR_SUPPORT_EDCA
      - name: NL80211_PMSR_FTM_CAPA_ATTR_MAX_NUM_RX_ANTENNAS
      - name: NL80211_PMSR_FTM_CAPA_ATTR_PD_BANDWIDTHS
      item_type: enum
      name: nl80211_peer_measurement_ftm_capa
      pos:
        line_end: 8268
        line_start: 8230
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: __NL80211_PMSR_FTM_TYPE_CAPA_ATTR_INVALID
      - name: NL80211_PMSR_FTM_TYPE_CAPA_ATTR_INFRA_SUPPORT
      - name: NUM_NL80211_PMSR_FTM_TYPE_CAPA_ATTR
      - name: NL80211_PMSR_FTM_TYPE_CAPA_ATTR_PD_SUPPORT
      - name: NL80211_PMSR_FTM_TYPE_CAPA_ATTR_MAX
        value: NUM_NL80211_PMSR_FTM_TYPE_CAPA_ATTR - 1
      item_type: enum
      name: nl80211_peer_measurement_ftm_type_capa
      pos:
        line_end: 8295
        line_start: 8286
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_PMSR_FTM_REQ_ATTR_ASAP
      - name: NL80211_PMSR_FTM_REQ_ATTR_BURST_DURATION
      - name: NL80211_PMSR_FTM_REQ_ATTR_REQUEST_CIVICLOC
      - name: NL80211_PMSR_FTM_REQ_ATTR_BSS_COLOR
      - name: NL80211_PMSR_FTM_REQ_ATTR_NOMINAL_TIME
      - name: NL80211_PMSR_FTM_REQ_ATTR_INGRESS
      - name: NL80211_PMSR_FTM_REQ_ATTR_PD_SUPPRESS_RESULTS
      - name: NL80211_PMSR_FTM_REQ_ATTR_MAX
        value: NUM_NL80211_PMSR_FTM_REQ_ATTR - 1
      - name: NL80211_PMSR_FTM_REQ_ATTR_BURST_PERIOD
      - name: NL80211_PMSR_FTM_REQ_ATTR_REQUEST_LCI
      - name: NL80211_PMSR_FTM_REQ_ATTR_LMR_FEEDBACK
      - name: NL80211_PMSR_FTM_REQ_ATTR_MAX_TIME_BETWEEN_MEASUREMENTS
      - name: NL80211_PMSR_FTM_REQ_ATTR_PAD
      - name: __NL80211_PMSR_FTM_REQ_ATTR_INVALID
      - name: NL80211_PMSR_FTM_REQ_ATTR_NUM_BURSTS_EXP
      - name: NL80211_PMSR_FTM_REQ_ATTR_NUM_FTMR_RETRIES
      - name: NL80211_PMSR_FTM_REQ_ATTR_NON_TRIGGER_BASED
      - name: NL80211_PMSR_FTM_REQ_ATTR_MIN_TIME_BETWEEN_MEASUREMENTS
      - name: NL80211_PMSR_FTM_REQ_ATTR_NUM_MEASUREMENTS
      - name: NL80211_PMSR_FTM_REQ_ATTR_PREAMBLE
      - name: NL80211_PMSR_FTM_REQ_ATTR_FTMS_PER_BURST
      - name: NL80211_PMSR_FTM_REQ_ATTR_RSTA
      - name: NL80211_PMSR_FTM_REQ_ATTR_AW_DURATION
      - name: NL80211_PMSR_FTM_REQ_ATTR_TRIGGER_BASED
      - name: NL80211_PMSR_FTM_REQ_ATTR_EGRESS
      - name: NUM_NL80211_PMSR_FTM_REQ_ATTR
      item_type: enum
      name: nl80211_peer_measurement_ftm_req
      pos:
        line_end: 8431
        line_start: 8401
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_PMSR_FTM_FAILURE_UNSPECIFIED
      - name: NL80211_PMSR_FTM_FAILURE_REJECTED
      - name: NL80211_PMSR_FTM_FAILURE_NO_RESPONSE
      - name: NL80211_PMSR_FTM_FAILURE_PEER_NOT_CAPABLE
      - name: NL80211_PMSR_FTM_FAILURE_WRONG_CHANNEL
      - name: NL80211_PMSR_FTM_FAILURE_INVALID_TIMESTAMP
      - name: NL80211_PMSR_FTM_FAILURE_PEER_BUSY
      - name: NL80211_PMSR_FTM_FAILURE_BAD_CHANGED_PARAMS
      item_type: enum
      name: nl80211_peer_measurement_ftm_failure_reasons
      pos:
        line_end: 8458
        line_start: 8449
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_PMSR_FTM_RESP_ATTR_NUM_FTMR_SUCCESSES
      - name: NL80211_PMSR_FTM_RESP_ATTR_FTMS_PER_BURST
      - name: NL80211_PMSR_FTM_RESP_ATTR_RX_RATE
      - name: NL80211_PMSR_FTM_RESP_ATTR_DIST_AVG
      - name: NL80211_PMSR_FTM_RESP_ATTR_CIVICLOC
      - name: NL80211_PMSR_FTM_RESP_ATTR_RX_LTF_REPETITION_COUNT
      - name: NL80211_PMSR_FTM_RESP_ATTR_NUM_RX_SPATIAL_STREAMS
      - name: NL80211_PMSR_FTM_RESP_ATTR_PREAMBLE
      - name: __NL80211_PMSR_FTM_RESP_ATTR_INVALID
      - name: NL80211_PMSR_FTM_RESP_ATTR_NUM_FTMR_ATTEMPTS
      - name: NL80211_PMSR_FTM_RESP_ATTR_BURST_DURATION
      - name: NL80211_PMSR_FTM_RESP_ATTR_TX_RATE
      - name: NL80211_PMSR_FTM_RESP_ATTR_RTT_SPREAD
      - name: NL80211_PMSR_FTM_RESP_ATTR_LCI
      - name: NL80211_PMSR_FTM_RESP_ATTR_TX_LTF_REPETITION_COUNT
      - name: NL80211_PMSR_FTM_RESP_ATTR_NUM_TX_SPATIAL_STREAMS
      - name: NL80211_PMSR_FTM_RESP_ATTR_CHANNEL_WIDTH
      - name: NL80211_PMSR_FTM_RESP_ATTR_MAX
        value: NUM_NL80211_PMSR_FTM_RESP_ATTR - 1
      - name: NL80211_PMSR_FTM_RESP_ATTR_BURST_INDEX
      - name: NL80211_PMSR_FTM_RESP_ATTR_NUM_BURSTS_EXP
      - name: NL80211_PMSR_FTM_RESP_ATTR_RSSI_SPREAD
      - name: NL80211_PMSR_FTM_RESP_ATTR_RTT_VARIANCE
      - name: NL80211_PMSR_FTM_RESP_ATTR_DIST_SPREAD
      - name: NL80211_PMSR_FTM_RESP_ATTR_BURST_PERIOD
      - name: NL80211_PMSR_FTM_RESP_ATTR_MIN_TIME_BETWEEN_MEASUREMENTS
      - name: NL80211_PMSR_FTM_RESP_ATTR_AVAILABILITY_WINDOW
      - name: NUM_NL80211_PMSR_FTM_RESP_ATTR
      - name: NL80211_PMSR_FTM_RESP_ATTR_FAIL_REASON
      - name: NL80211_PMSR_FTM_RESP_ATTR_BUSY_RETRY_TIME
      - name: NL80211_PMSR_FTM_RESP_ATTR_RSSI_AVG
      - name: NL80211_PMSR_FTM_RESP_ATTR_RTT_AVG
      - name: NL80211_PMSR_FTM_RESP_ATTR_DIST_VARIANCE
      - name: NL80211_PMSR_FTM_RESP_ATTR_PAD
      - name: NL80211_PMSR_FTM_RESP_ATTR_MAX_TIME_BETWEEN_MEASUREMENTS
      - name: NL80211_PMSR_FTM_RESP_ATTR_NOMINAL_TIME
      - name: NL80211_PMSR_FTM_RESP_ATTR_IS_DELAYED_LMR
      item_type: enum
      name: nl80211_peer_measurement_ftm_resp
      pos:
        line_end: 8584
        line_start: 8544
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: __NL80211_HE_OBSS_PD_ATTR_INVALID
      - name: NL80211_HE_OBSS_PD_ATTR_MAX_OFFSET
      - name: NL80211_HE_OBSS_PD_ATTR_BSS_COLOR_BITMAP
      - name: NL80211_HE_OBSS_PD_ATTR_MIN_OFFSET
      - name: NL80211_HE_OBSS_PD_ATTR_NON_SRG_MAX_OFFSET
      - name: NL80211_HE_OBSS_PD_ATTR_PARTIAL_BSSID_BITMAP
      - name: NL80211_HE_OBSS_PD_ATTR_SR_CTRL
      - name: __NL80211_HE_OBSS_PD_ATTR_LAST
      - name: NL80211_HE_OBSS_PD_ATTR_MAX
        value: __NL80211_HE_OBSS_PD_ATTR_LAST - 1
      item_type: enum
      name: nl80211_obss_pd_attributes
      pos:
        line_end: 8616
        line_start: 8603
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: __NL80211_HE_BSS_COLOR_ATTR_INVALID
      - name: NL80211_HE_BSS_COLOR_ATTR_COLOR
      - name: NL80211_HE_BSS_COLOR_ATTR_PARTIAL
      - name: NL80211_HE_BSS_COLOR_ATTR_DISABLED
      - name: __NL80211_HE_BSS_COLOR_ATTR_LAST
      - name: NL80211_HE_BSS_COLOR_ATTR_MAX
        value: __NL80211_HE_BSS_COLOR_ATTR_LAST - 1
      item_type: enum
      name: nl80211_bss_color_attributes
      pos:
        line_end: 8639
        line_start: 8629
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: __NL80211_IFTYPE_AKM_ATTR_INVALID
      - name: NL80211_IFTYPE_AKM_ATTR_SUITES
      - name: NL80211_IFTYPE_AKM_ATTR_IFTYPES
      - name: __NL80211_IFTYPE_AKM_ATTR_LAST
      - name: NL80211_IFTYPE_AKM_ATTR_MAX
        value: __NL80211_IFTYPE_AKM_ATTR_LAST - 1
      item_type: enum
      name: nl80211_iftype_akm_attributes
      pos:
        line_end: 8663
        line_start: 8654
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: __NL80211_FILS_DISCOVERY_ATTR_INVALID
      - name: __NL80211_FILS_DISCOVERY_ATTR_LAST
      - name: NL80211_FILS_DISCOVERY_ATTR_TMPL
      - name: NL80211_FILS_DISCOVERY_ATTR_INT_MIN
      - name: NL80211_FILS_DISCOVERY_ATTR_INT_MAX
      - name: NL80211_FILS_DISCOVERY_ATTR_MAX
        value: __NL80211_FILS_DISCOVERY_ATTR_LAST - 1
      item_type: enum
      name: nl80211_fils_discovery_attributes
      pos:
        line_end: 8691
        line_start: 8681
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: __NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_INVALID
      - name: __NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_LAST
      - name: NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_TMPL
      - name: NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_MAX
        value: __NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_LAST - 1
      - name: NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_INT
      item_type: enum
      name: nl80211_unsol_bcast_probe_resp_attributes
      pos:
        line_end: 8725
        line_start: 8715
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_SAE_PWE_UNSPECIFIED
      - name: NL80211_SAE_PWE_BOTH
      - name: NL80211_SAE_PWE_HASH_TO_ELEMENT
      - name: NL80211_SAE_PWE_HUNT_AND_PECK
      item_type: enum
      name: nl80211_sae_pwe_mechanism
      pos:
        line_end: 8744
        line_start: 8739
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_SAR_TYPE_POWER
      - name: NUM_NL80211_SAR_TYPE
      item_type: enum
      name: nl80211_sar_type
      pos:
        line_end: 8760
        line_start: 8753
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: __NL80211_SAR_ATTR_INVALID
      - name: NL80211_SAR_ATTR_TYPE
      - name: NL80211_SAR_ATTR_MAX
        value: __NL80211_SAR_ATTR_LAST - 1
      - name: __NL80211_SAR_ATTR_LAST
      - name: NL80211_SAR_ATTR_SPECS
      item_type: enum
      name: nl80211_sar_attrs
      pos:
        line_end: 8793
        line_start: 8785
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: __NL80211_SAR_ATTR_SPECS_INVALID
      - name: NL80211_SAR_ATTR_SPECS_START_FREQ
      - name: NL80211_SAR_ATTR_SPECS_RANGE_INDEX
      - name: NL80211_SAR_ATTR_SPECS_END_FREQ
      - name: NL80211_SAR_ATTR_SPECS_POWER
      - name: __NL80211_SAR_ATTR_SPECS_LAST
      - name: NL80211_SAR_ATTR_SPECS_MAX
        value: __NL80211_SAR_ATTR_SPECS_LAST - 1
      item_type: enum
      name: nl80211_sar_specs_attrs
      pos:
        line_end: 8840
        line_start: 8830
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: __NL80211_MBSSID_CONFIG_ATTR_INVALID
      - name: NL80211_MBSSID_CONFIG_ATTR_MAX_EMA_PROFILE_PERIODICITY
      - name: NL80211_MBSSID_CONFIG_ATTR_MAX_INTERFACES
      - name: NL80211_MBSSID_CONFIG_ATTR_TX_IFINDEX
      - name: NL80211_MBSSID_CONFIG_ATTR_INDEX
      - name: NL80211_MBSSID_CONFIG_ATTR_EMA
      - name: NL80211_MBSSID_CONFIG_ATTR_TX_LINK_ID
      - name: __NL80211_MBSSID_CONFIG_ATTR_LAST
      - name: NL80211_MBSSID_CONFIG_ATTR_MAX
        value: __NL80211_MBSSID_CONFIG_ATTR_LAST - 1
      item_type: enum
      name: nl80211_mbssid_config_attributes
      pos:
        line_end: 8902
        line_start: 8889
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: NL80211_AP_SETTINGS_EXTERNAL_AUTH_SUPPORT
        value: 1 << 0
      - name: NL80211_AP_SETTINGS_SA_QUERY_OFFLOAD_SUPPORT
        value: 1 << 1
      item_type: enum
      name: nl80211_ap_settings_flags
      pos:
        line_end: 8918
        line_start: 8915
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: __NL80211_WIPHY_RADIO_ATTR_INVALID
      - name: NL80211_WIPHY_RADIO_ATTR_FREQ_RANGE
      - name: NL80211_WIPHY_RADIO_ATTR_INDEX
      - name: NL80211_WIPHY_RADIO_ATTR_ANTENNA_MASK
      - name: NL80211_WIPHY_RADIO_ATTR_INTERFACE_COMBINATION
      - name: NL80211_WIPHY_RADIO_ATTR_RTS_THRESHOLD
      - name: __NL80211_WIPHY_RADIO_ATTR_LAST
      - name: NL80211_WIPHY_RADIO_ATTR_MAX
        value: __NL80211_WIPHY_RADIO_ATTR_LAST - 1
      item_type: enum
      name: nl80211_wiphy_radio_attrs
      pos:
        line_end: 8950
        line_start: 8938
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: __NL80211_WIPHY_RADIO_FREQ_ATTR_INVALID
      - name: NL80211_WIPHY_RADIO_FREQ_ATTR_MAX
        value: __NL80211_WIPHY_RADIO_FREQ_ATTR_LAST - 1
      - name: NL80211_WIPHY_RADIO_FREQ_ATTR_START
      - name: __NL80211_WIPHY_RADIO_FREQ_ATTR_LAST
      - name: NL80211_WIPHY_RADIO_FREQ_ATTR_END
      item_type: enum
      name: nl80211_wiphy_radio_freq_range
      pos:
        line_end: 8973
        line_start: 8965
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: __NL80211_S1G_SHORT_BEACON_ATTR_INVALID
      - name: __NL80211_S1G_SHORT_BEACON_ATTR_LAST
      - name: NL80211_S1G_SHORT_BEACON_ATTR_MAX
        value: __NL80211_S1G_SHORT_BEACON_ATTR_LAST - 1
      - name: NL80211_S1G_SHORT_BEACON_ATTR_TAIL
      - name: NL80211_S1G_SHORT_BEACON_ATTR_HEAD
      item_type: enum
      name: nl80211_s1g_short_beacon_attrs
      pos:
        line_end: 8996
        line_start: 8986
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: __NL80211_NAN_CAPABILITIES_INVALID
      - name: NL80211_NAN_CAPA_NUM_ANTENNAS
      - name: NL80211_NAN_CAPA_USERSPACE_DE
      - name: NL80211_NAN_CAPA_CONFIGURABLE_SYNC
      - name: NL80211_NAN_CAPA_OP_MODE
      - name: NL80211_NAN_CAPA_MAX_CHANNEL_SWITCH_TIME
      - name: NL80211_NAN_CAPA_CAPABILITIES
      - name: NL80211_NAN_CAPA_PHY
      - name: __NL80211_NAN_CAPABILITIES_LAST
      - name: NL80211_NAN_CAPABILITIES_MAX
        value: __NL80211_NAN_CAPABILITIES_LAST - 1
      item_type: enum
      name: nl80211_nan_capabilities
      pos:
        line_end: 9049
        line_start: 9036
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - enumerators:
      - name: __NL80211_NAN_PEER_MAP_ATTR_INVALID
      - name: __NL80211_NAN_PEER_MAP_ATTR_LAST
      - name: NL80211_NAN_PEER_MAP_ATTR_TIME_SLOTS
      - name: NL80211_NAN_PEER_MAP_ATTR_MAX
        value: __NL80211_NAN_PEER_MAP_ATTR_LAST - 1
      - name: NL80211_NAN_PEER_MAP_ATTR_MAP_ID
      item_type: enum
      name: nl80211_nan_peer_map_attrs
      pos:
        line_end: 9075
        line_start: 9066
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    preproc_defs:
    - item_type: preproc_def
      name: NL80211_GENL_NAME
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: '"nl80211"'
    - item_type: preproc_def
      name: NL80211_MULTICAST_GROUP_CONFIG
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: '"config"'
    - item_type: preproc_def
      name: NL80211_MULTICAST_GROUP_SCAN
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: '"scan"'
    - item_type: preproc_def
      name: NL80211_MULTICAST_GROUP_REG
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: '"regulatory"'
    - item_type: preproc_def
      name: NL80211_MULTICAST_GROUP_MLME
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: '"mlme"'
    - item_type: preproc_def
      name: NL80211_MULTICAST_GROUP_VENDOR
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: '"vendor"'
    - item_type: preproc_def
      name: NL80211_MULTICAST_GROUP_NAN
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: '"nan"'
    - item_type: preproc_def
      name: NL80211_MULTICAST_GROUP_TESTMODE
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: '"testmode"'
    - item_type: preproc_def
      name: NL80211_EDMG_BW_CONFIG_MIN
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: '4'
    - item_type: preproc_def
      name: NL80211_EDMG_BW_CONFIG_MAX
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: '15'
    - item_type: preproc_def
      name: NL80211_EDMG_CHANNELS_MIN
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: '1'
    - item_type: preproc_def
      name: NL80211_EDMG_CHANNELS_MAX
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: '0x3c '
    - item_type: preproc_def
      name: NL80211_CMD_SET_BSS
      pos:
        line_end: 1717
        line_start: 1716
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: NL80211_CMD_SET_BSS
    - item_type: preproc_def
      name: NL80211_CMD_SET_MGMT_EXTRA_IE
      pos:
        line_end: 1718
        line_start: 1717
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: NL80211_CMD_SET_MGMT_EXTRA_IE
    - item_type: preproc_def
      name: NL80211_CMD_REG_CHANGE
      pos:
        line_end: 1719
        line_start: 1718
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: NL80211_CMD_REG_CHANGE
    - item_type: preproc_def
      name: NL80211_CMD_AUTHENTICATE
      pos:
        line_end: 1720
        line_start: 1719
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: NL80211_CMD_AUTHENTICATE
    - item_type: preproc_def
      name: NL80211_CMD_ASSOCIATE
      pos:
        line_end: 1721
        line_start: 1720
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: NL80211_CMD_ASSOCIATE
    - item_type: preproc_def
      name: NL80211_CMD_DEAUTHENTICATE
      pos:
        line_end: 1722
        line_start: 1721
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: NL80211_CMD_DEAUTHENTICATE
    - item_type: preproc_def
      name: NL80211_CMD_DISASSOCIATE
      pos:
        line_end: 1723
        line_start: 1722
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: NL80211_CMD_DISASSOCIATE
    - item_type: preproc_def
      name: NL80211_CMD_REG_BEACON_HINT
      pos:
        line_end: 1724
        line_start: 1723
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: NL80211_CMD_REG_BEACON_HINT
    - item_type: preproc_def
      name: NL80211_ATTR_FEATURE_FLAGS
      pos:
        line_end: 1726
        line_start: 1725
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: NL80211_ATTR_FEATURE_FLAGS
    - item_type: preproc_def
      name: NL80211_CMD_GET_MESH_PARAMS
      pos:
        line_end: 1729
        line_start: 1728
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: NL80211_CMD_GET_MESH_CONFIG
    - item_type: preproc_def
      name: NL80211_CMD_SET_MESH_PARAMS
      pos:
        line_end: 1730
        line_start: 1729
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: NL80211_CMD_SET_MESH_CONFIG
    - item_type: preproc_def
      name: NL80211_MESH_SETUP_VENDOR_PATH_SEL_IE
      pos:
        line_end: 1731
        line_start: 1730
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: NL80211_MESH_SETUP_IE
    - item_type: preproc_def
      name: NL80211_ATTR_SCAN_GENERATION
      pos:
        line_end: 3774
        line_start: 3773
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: NL80211_ATTR_GENERATION
    - item_type: preproc_def
      name: NL80211_ATTR_MESH_PARAMS
      pos:
        line_end: 3775
        line_start: 3774
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: NL80211_ATTR_MESH_CONFIG
    - item_type: preproc_def
      name: NL80211_ATTR_IFACE_SOCKET_OWNER
      pos:
        line_end: 3776
        line_start: 3775
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: NL80211_ATTR_SOCKET_OWNER
    - item_type: preproc_def
      name: NL80211_ATTR_SAE_DATA
      pos:
        line_end: 3777
        line_start: 3776
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: NL80211_ATTR_AUTH_DATA
    - item_type: preproc_def
      name: NL80211_ATTR_CSA_C_OFF_BEACON
      pos:
        line_end: 3778
        line_start: 3777
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: NL80211_ATTR_CNTDWN_OFFS_BEACON
    - item_type: preproc_def
      name: NL80211_ATTR_CSA_C_OFF_PRESP
      pos:
        line_end: 3779
        line_start: 3778
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: NL80211_ATTR_CNTDWN_OFFS_PRESP
    - item_type: preproc_def
      name: NL80211_ATTR_ASSOC_MLD_EXT_CAPA_OPS
      pos:
        line_end: 3780
        line_start: 3779
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: NL80211_ATTR_EXT_MLD_CAPA_AND_OPS
    - item_type: preproc_def
      name: NL80211_CMD_CONNECT
      pos:
        line_end: 3786
        line_start: 3785
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: NL80211_CMD_CONNECT
    - item_type: preproc_def
      name: NL80211_ATTR_HT_CAPABILITY
      pos:
        line_end: 3787
        line_start: 3786
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: NL80211_ATTR_HT_CAPABILITY
    - item_type: preproc_def
      name: NL80211_ATTR_BSS_BASIC_RATES
      pos:
        line_end: 3788
        line_start: 3787
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: NL80211_ATTR_BSS_BASIC_RATES
    - item_type: preproc_def
      name: NL80211_ATTR_WIPHY_TXQ_PARAMS
      pos:
        line_end: 3789
        line_start: 3788
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: NL80211_ATTR_WIPHY_TXQ_PARAMS
    - item_type: preproc_def
      name: NL80211_ATTR_WIPHY_FREQ
      pos:
        line_end: 3790
        line_start: 3789
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: NL80211_ATTR_WIPHY_FREQ
    - item_type: preproc_def
      name: NL80211_ATTR_WIPHY_CHANNEL_TYPE
      pos:
        line_end: 3791
        line_start: 3790
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: NL80211_ATTR_WIPHY_CHANNEL_TYPE
    - item_type: preproc_def
      name: NL80211_ATTR_MGMT_SUBTYPE
      pos:
        line_end: 3792
        line_start: 3791
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: NL80211_ATTR_MGMT_SUBTYPE
    - item_type: preproc_def
      name: NL80211_ATTR_IE
      pos:
        line_end: 3793
        line_start: 3792
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: NL80211_ATTR_IE
    - item_type: preproc_def
      name: NL80211_ATTR_REG_INITIATOR
      pos:
        line_end: 3794
        line_start: 3793
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: NL80211_ATTR_REG_INITIATOR
    - item_type: preproc_def
      name: NL80211_ATTR_REG_TYPE
      pos:
        line_end: 3795
        line_start: 3794
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: NL80211_ATTR_REG_TYPE
    - item_type: preproc_def
      name: NL80211_ATTR_FRAME
      pos:
        line_end: 3796
        line_start: 3795
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: NL80211_ATTR_FRAME
    - item_type: preproc_def
      name: NL80211_ATTR_SSID
      pos:
        line_end: 3797
        line_start: 3796
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: NL80211_ATTR_SSID
    - item_type: preproc_def
      name: NL80211_ATTR_AUTH_TYPE
      pos:
        line_end: 3798
        line_start: 3797
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: NL80211_ATTR_AUTH_TYPE
    - item_type: preproc_def
      name: NL80211_ATTR_REASON_CODE
      pos:
        line_end: 3799
        line_start: 3798
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: NL80211_ATTR_REASON_CODE
    - item_type: preproc_def
      name: NL80211_ATTR_CIPHER_SUITES_PAIRWISE
      pos:
        line_end: 3800
        line_start: 3799
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: NL80211_ATTR_CIPHER_SUITES_PAIRWISE
    - item_type: preproc_def
      name: NL80211_ATTR_CIPHER_SUITE_GROUP
      pos:
        line_end: 3801
        line_start: 3800
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: NL80211_ATTR_CIPHER_SUITE_GROUP
    - item_type: preproc_def
      name: NL80211_ATTR_WPA_VERSIONS
      pos:
        line_end: 3802
        line_start: 3801
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: NL80211_ATTR_WPA_VERSIONS
    - item_type: preproc_def
      name: NL80211_ATTR_AKM_SUITES
      pos:
        line_end: 3803
        line_start: 3802
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: NL80211_ATTR_AKM_SUITES
    - item_type: preproc_def
      name: NL80211_ATTR_KEY
      pos:
        line_end: 3804
        line_start: 3803
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: NL80211_ATTR_KEY
    - item_type: preproc_def
      name: NL80211_ATTR_KEYS
      pos:
        line_end: 3805
        line_start: 3804
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: NL80211_ATTR_KEYS
    - item_type: preproc_def
      name: NL80211_ATTR_FEATURE_FLAGS
      pos:
        line_end: 3806
        line_start: 3805
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: NL80211_ATTR_FEATURE_FLAGS
    - item_type: preproc_def
      name: NL80211_WIPHY_NAME_MAXLEN
      pos:
        line_end: 3808
        line_start: 3807
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: '64'
    - item_type: preproc_def
      name: NL80211_MAX_SUPP_RATES
      pos:
        line_end: 3810
        line_start: 3809
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: '32'
    - item_type: preproc_def
      name: NL80211_MAX_SUPP_SELECTORS
      pos:
        line_end: 3811
        line_start: 3810
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: '128'
    - item_type: preproc_def
      name: NL80211_MAX_SUPP_HT_RATES
      pos:
        line_end: 3812
        line_start: 3811
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: '77'
    - item_type: preproc_def
      name: NL80211_MAX_SUPP_REG_RULES
      pos:
        line_end: 3813
        line_start: 3812
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: '128'
    - item_type: preproc_def
      name: NL80211_TKIP_DATA_OFFSET_ENCR_KEY
      pos:
        line_end: 3814
        line_start: 3813
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: '0'
    - item_type: preproc_def
      name: NL80211_TKIP_DATA_OFFSET_TX_MIC_KEY
      pos:
        line_end: 3815
        line_start: 3814
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: '16'
    - item_type: preproc_def
      name: NL80211_TKIP_DATA_OFFSET_RX_MIC_KEY
      pos:
        line_end: 3816
        line_start: 3815
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: '24'
    - item_type: preproc_def
      name: NL80211_HT_CAPABILITY_LEN
      pos:
        line_end: 3817
        line_start: 3816
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: '26'
    - item_type: preproc_def
      name: NL80211_VHT_CAPABILITY_LEN
      pos:
        line_end: 3818
        line_start: 3817
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: '12'
    - item_type: preproc_def
      name: NL80211_HE_MIN_CAPABILITY_LEN
      pos:
        line_end: 3819
        line_start: 3818
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: '16'
    - item_type: preproc_def
      name: NL80211_HE_MAX_CAPABILITY_LEN
      pos:
        line_end: 3820
        line_start: 3819
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: '54'
    - item_type: preproc_def
      name: NL80211_MAX_NR_CIPHER_SUITES
      pos:
        line_end: 3821
        line_start: 3820
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: '5'
    - item_type: preproc_def
      name: NL80211_MAX_NR_AKM_SUITES
      pos:
        line_end: 3827
        line_start: 3826
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: '2'
    - item_type: preproc_def
      name: NL80211_EHT_MIN_CAPABILITY_LEN
      pos:
        line_end: 3828
        line_start: 3827
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: '13'
    - item_type: preproc_def
      name: NL80211_EHT_MAX_CAPABILITY_LEN
      pos:
        line_end: 3829
        line_start: 3828
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: '51'
    - item_type: preproc_def
      name: NL80211_MIN_REMAIN_ON_CHANNEL_TIME
      pos:
        line_end: 3831
        line_start: 3830
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: '10'
    - item_type: preproc_def
      name: NL80211_SCAN_RSSI_THOLD_OFF
      pos:
        line_end: 3834
        line_start: 3833
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: '-300'
    - item_type: preproc_def
      name: NL80211_CQM_TXE_MAX_INTVL
      pos:
        line_end: 3836
        line_start: 3835
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: '1800'
    - item_type: preproc_def
      name: NL80211_STA_FLAG_MAX_OLD_API
      pos:
        line_end: 3948
        line_start: 3947
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: NL80211_STA_FLAG_TDLS_PEER
    - item_type: preproc_def
      name: NL80211_STA_INFO_DATA_ACK_SIGNAL_AVG
      pos:
        line_end: 4338
        line_start: 4337
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: NL80211_STA_INFO_ACK_SIGNAL_AVG
    - item_type: preproc_def
      name: NL80211_BAND_ATTR_HT_CAPA
      pos:
        line_end: 4573
        line_start: 4572
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: NL80211_BAND_ATTR_HT_CAPA
    - item_type: preproc_def
      name: NL80211_FREQUENCY_ATTR_MAX_TX_POWER
      pos:
        line_end: 4798
        line_start: 4797
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: NL80211_FREQUENCY_ATTR_MAX_TX_POWER
    - item_type: preproc_def
      name: NL80211_FREQUENCY_ATTR_PASSIVE_SCAN
      pos:
        line_end: 4799
        line_start: 4798
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: NL80211_FREQUENCY_ATTR_NO_IR
    - item_type: preproc_def
      name: NL80211_FREQUENCY_ATTR_NO_IBSS
      pos:
        line_end: 4800
        line_start: 4799
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: NL80211_FREQUENCY_ATTR_NO_IR
    - item_type: preproc_def
      name: NL80211_FREQUENCY_ATTR_NO_IR
      pos:
        line_end: 4801
        line_start: 4800
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: NL80211_FREQUENCY_ATTR_NO_IR
    - item_type: preproc_def
      name: NL80211_FREQUENCY_ATTR_GO_CONCURRENT
      pos:
        line_end: 4803
        line_start: 4801
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: NL80211_FREQUENCY_ATTR_IR_CONCURRENT
    - item_type: preproc_def
      name: NL80211_FREQUENCY_ATTR_NO_UHB_VLP_CLIENT
      pos:
        line_end: 4805
        line_start: 4803
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: NL80211_FREQUENCY_ATTR_NO_6GHZ_VLP_CLIENT
    - item_type: preproc_def
      name: NL80211_FREQUENCY_ATTR_NO_UHB_AFC_CLIENT
      pos:
        line_end: 4807
        line_start: 4805
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: NL80211_FREQUENCY_ATTR_NO_6GHZ_AFC_CLIENT
    - item_type: preproc_def
      name: NL80211_ATTR_SCHED_SCAN_MATCH_SSID
      pos:
        line_end: 4967
        line_start: 4966
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: NL80211_SCHED_SCAN_MATCH_ATTR_SSID
    - item_type: preproc_def
      name: NL80211_RRF_PASSIVE_SCAN
      pos:
        line_end: 5035
        line_start: 5034
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: NL80211_RRF_NO_IR
    - item_type: preproc_def
      name: NL80211_RRF_NO_IBSS
      pos:
        line_end: 5036
        line_start: 5035
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: NL80211_RRF_NO_IR
    - item_type: preproc_def
      name: NL80211_RRF_NO_IR
      pos:
        line_end: 5037
        line_start: 5036
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: NL80211_RRF_NO_IR
    - item_type: preproc_def
      name: NL80211_RRF_NO_HT40
      pos:
        line_end: 5039
        line_start: 5037
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: "(NL80211_RRF_NO_HT40MINUS |\\\n\t\t\t\t\t NL80211_RRF_NO_HT40PLUS)"
    - item_type: preproc_def
      name: NL80211_RRF_GO_CONCURRENT
      pos:
        line_end: 5040
        line_start: 5039
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: NL80211_RRF_IR_CONCURRENT
    - item_type: preproc_def
      name: NL80211_RRF_NO_UHB_VLP_CLIENT
      pos:
        line_end: 5041
        line_start: 5040
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: NL80211_RRF_NO_6GHZ_VLP_CLIENT
    - item_type: preproc_def
      name: NL80211_RRF_NO_UHB_AFC_CLIENT
      pos:
        line_end: 5042
        line_start: 5041
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: NL80211_RRF_NO_6GHZ_AFC_CLIENT
    - item_type: preproc_def
      name: NL80211_RRF_NO_IR_ALL
      pos:
        line_end: 5045
        line_start: 5044
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: (NL80211_RRF_NO_IR | __NL80211_RRF_NO_IBSS)
    - item_type: preproc_def
      name: NL80211_SURVEY_INFO_CHANNEL_TIME
      pos:
        line_end: 5136
        line_start: 5135
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: NL80211_SURVEY_INFO_TIME
    - item_type: preproc_def
      name: NL80211_SURVEY_INFO_CHANNEL_TIME_BUSY
      pos:
        line_end: 5137
        line_start: 5136
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: NL80211_SURVEY_INFO_TIME_BUSY
    - item_type: preproc_def
      name: NL80211_SURVEY_INFO_CHANNEL_TIME_EXT_BUSY
      pos:
        line_end: 5138
        line_start: 5137
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: NL80211_SURVEY_INFO_TIME_EXT_BUSY
    - item_type: preproc_def
      name: NL80211_SURVEY_INFO_CHANNEL_TIME_RX
      pos:
        line_end: 5139
        line_start: 5138
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: NL80211_SURVEY_INFO_TIME_RX
    - item_type: preproc_def
      name: NL80211_SURVEY_INFO_CHANNEL_TIME_TX
      pos:
        line_end: 5140
        line_start: 5139
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: NL80211_SURVEY_INFO_TIME_TX
    - item_type: preproc_def
      name: NL80211_TXQ_ATTR_QUEUE
      pos:
        line_end: 5468
        line_start: 5467
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: NL80211_TXQ_ATTR_AC
    - item_type: preproc_def
      name: NL80211_TXQ_Q_VO
      pos:
        line_end: 5469
        line_start: 5468
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: NL80211_AC_VO
    - item_type: preproc_def
      name: NL80211_TXQ_Q_VI
      pos:
        line_end: 5470
        line_start: 5469
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: NL80211_AC_VI
    - item_type: preproc_def
      name: NL80211_TXQ_Q_BE
      pos:
        line_end: 5471
        line_start: 5470
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: NL80211_AC_BE
    - item_type: preproc_def
      name: NL80211_TXQ_Q_BK
      pos:
        line_end: 5472
        line_start: 5471
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: NL80211_AC_BK
    - item_type: preproc_def
      name: NL80211_BSS_CANNOT_USE_UHB_PWR_MISMATCH
      pos:
        line_end: 5601
        line_start: 5599
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: NL80211_BSS_CANNOT_USE_6GHZ_PWR_MISMATCH
    - item_type: preproc_def
      name: NL80211_TXRATE_MCS
      pos:
        line_end: 5902
        line_start: 5901
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: NL80211_TXRATE_HT
    - item_type: preproc_def
      name: NL80211_VHT_NSS_MAX
      pos:
        line_end: 5903
        line_start: 5902
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: '8'
    - item_type: preproc_def
      name: NL80211_HE_NSS_MAX
      pos:
        line_end: 5913
        line_start: 5912
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: '8'
    - item_type: preproc_def
      name: NL80211_EHT_NSS_MAX
      pos:
        line_end: 5928
        line_start: 5927
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: '16'
    - item_type: preproc_def
      name: __NL80211_WOWLAN_PKTPAT_INVALID
      pos:
        line_end: 6184
        line_start: 6183
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: __NL80211_PKTPAT_INVALID
    - item_type: preproc_def
      name: NL80211_WOWLAN_PKTPAT_MASK
      pos:
        line_end: 6185
        line_start: 6184
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: NL80211_PKTPAT_MASK
    - item_type: preproc_def
      name: NL80211_WOWLAN_PKTPAT_PATTERN
      pos:
        line_end: 6186
        line_start: 6185
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: NL80211_PKTPAT_PATTERN
    - item_type: preproc_def
      name: NL80211_WOWLAN_PKTPAT_OFFSET
      pos:
        line_end: 6187
        line_start: 6186
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: NL80211_PKTPAT_OFFSET
    - item_type: preproc_def
      name: NUM_NL80211_WOWLAN_PKTPAT
      pos:
        line_end: 6188
        line_start: 6187
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: NUM_NL80211_PKTPAT
    - item_type: preproc_def
      name: MAX_NL80211_WOWLAN_PKTPAT
      pos:
        line_end: 6189
        line_start: 6188
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: MAX_NL80211_PKTPAT
    - item_type: preproc_def
      name: nl80211_wowlan_pattern_support
      pos:
        line_end: 6190
        line_start: 6189
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: nl80211_pattern_support
    - item_type: preproc_def
      name: NL80211_KCK_LEN
      pos:
        line_end: 6604
        line_start: 6603
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: '16'
    - item_type: preproc_def
      name: NL80211_KEK_LEN
      pos:
        line_end: 6605
        line_start: 6604
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: '16'
    - item_type: preproc_def
      name: NL80211_KCK_EXT_LEN
      pos:
        line_end: 6606
        line_start: 6605
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: '24'
    - item_type: preproc_def
      name: NL80211_KEK_EXT_LEN
      pos:
        line_end: 6607
        line_start: 6606
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: '32'
    - item_type: preproc_def
      name: NL80211_KCK_EXT_LEN_32
      pos:
        line_end: 6608
        line_start: 6607
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: '32'
    - item_type: preproc_def
      name: NL80211_REPLAY_CTR_LEN
      pos:
        line_end: 6609
        line_start: 6608
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: '8'
    - item_type: preproc_def
      name: NL80211_CRIT_PROTO_MAX_DURATION
      pos:
        line_end: 7429
        line_start: 7428
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: '5000 '
    - item_type: preproc_def
      name: NL80211_VENDOR_ID_IS_LINUX
      pos:
        line_end: 7452
        line_start: 7451
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: '0x80000000'
    - item_type: preproc_def
      name: NL80211_NAN_FUNC_SERVICE_ID_LEN
      pos:
        line_end: 7603
        line_start: 7602
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: '6'
    - item_type: preproc_def
      name: NL80211_NAN_FUNC_SERVICE_SPEC_INFO_MAX_LEN
      pos:
        line_end: 7604
        line_start: 7603
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: '0xff'
    - item_type: preproc_def
      name: NL80211_NAN_FUNC_SRF_MAX_LEN
      pos:
        line_end: 7605
        line_start: 7604
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: '0xff'
    - item_type: preproc_def
      name: NL80211_FILS_DISCOVERY_TMPL_MIN_LEN
      pos:
        line_end: 8698
        line_start: 8697
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: '42'
    - item_type: preproc_def
      name: NL80211_NAN_SCHED_NOT_AVAIL_SLOT
      pos:
        line_end: 9078
        line_start: 9077
        source_file: /src/hostap/src/drivers/nl80211_copy.h
      type_or_value: '0xff'
    structs:
    - fields:
      - name: mask
        type: __u32
      - name: set
        type: __u32
      item_type: struct
      name: nl80211_sta_flag_update
      pos:
        line_end: 3959
        line_start: 3956
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - fields:
      - name: mcs[NL80211_VHT_NSS_MAX]
        type: __u16
      item_type: struct
      name: nl80211_txrate_vht
      pos:
        line_end: 5910
        line_start: 5908
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - fields:
      - name: mcs[NL80211_HE_NSS_MAX]
        type: __u16
      item_type: struct
      name: nl80211_txrate_he
      pos:
        line_end: 5919
        line_start: 5917
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - fields:
      - name: mcs[NL80211_EHT_NSS_MAX]
        type: __u16
      item_type: struct
      name: nl80211_txrate_eht
      pos:
        line_end: 5934
        line_start: 5932
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - fields:
      - name: max_patterns
        type: __u32
      - name: min_pattern_len
        type: __u32
      - name: max_pattern_len
        type: __u32
      - name: max_pkt_offset
        type: __u32
      item_type: struct
      name: nl80211_pattern_support
      pos:
        line_end: 6180
        line_start: 6175
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - fields:
      - name: start
        type: __u32
      item_type: struct
      name: nl80211_wowlan_tcp_data_seq
      pos:
        line_end: 6345
        line_start: 6343
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - fields:
      - name: offset
        type: __u32
      - name: token_stream[]
        type: __u8
      item_type: struct
      name: nl80211_wowlan_tcp_data_token
      pos:
        line_end: 6357
        line_start: 6354
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - fields:
      - name: min_len
        type: __u32
      item_type: struct
      name: nl80211_wowlan_tcp_data_token_feature
      pos:
        line_end: 6367
        line_start: 6365
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - fields:
      - name: max_rules
        type: __u32
      - name: pat
        type: struct nl80211_pattern_support
      - name: max_delay
        type: __u32
      item_type: struct
      name: nl80211_coalesce_rule_support
      pos:
        line_end: 6433
        line_start: 6429
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - fields:
      - name: vendor_id
        type: __u32
      - name: subcmd
        type: __u32
      item_type: struct
      name: nl80211_vendor_cmd_info
      pos:
        line_end: 7464
        line_start: 7461
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    - fields:
      - name: band
        type: __u8
      - name: delta
        type: __s8
      item_type: struct
      name: nl80211_bss_select_rssi_adjust
      pos:
        line_end: 7518
        line_start: 7515
        source_file: /src/hostap/src/drivers/nl80211_copy.h
    typedefs: []
    union: []
- function_names:
  - wpa_priv_reg_cmd
  - wpa_priv_cmd
  - wpa_driver_privsep_scan
  - wpa_driver_privsep_get_scan_results2
  - wpa_driver_privsep_set_key
  - wpa_driver_privsep_authenticate
  - wpa_driver_privsep_associate
  - wpa_driver_privsep_get_bssid
  - wpa_driver_privsep_get_ssid
  - wpa_driver_privsep_deauthenticate
  - wpa_driver_privsep_event_auth
  - wpa_driver_privsep_event_assoc
  - wpa_driver_privsep_event_interface_status
  - wpa_driver_privsep_event_michael_mic_failure
  - wpa_driver_privsep_event_pmkid_candidate
  - wpa_driver_privsep_event_ft_response
  - wpa_driver_privsep_event_rx_eapol
  - wpa_driver_privsep_receive
  - wpa_driver_privsep_init
  - wpa_driver_privsep_deinit
  - wpa_driver_privsep_set_param
  - wpa_driver_privsep_get_capa
  - wpa_driver_privsep_get_mac_addr
  - wpa_driver_privsep_set_country
  source_file: /src/hostap/src/drivers/driver_privsep.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*ctx'
        type: void
      - name: own_addr[ETH_ALEN]
        type: u8
      - name: priv_socket
        type: int
      - name: '*own_socket_path'
        type: char
      - name: cmd_socket
        type: int
      - name: '*own_cmd_path'
        type: char
      - name: priv_addr
        type: struct sockaddr_un
      - name: ifname[16]
        type: char
      item_type: struct
      name: wpa_driver_privsep_data
      pos:
        line_end: 26
        line_start: 17
        source_file: /src/hostap/src/drivers/driver_privsep.c
    typedefs: []
    union: []
- function_names:
  - wpa_scan_results_free
  - event_to_string
  - E2S
  - channel_width_to_string
  - channel_width_to_int
  - ht_supported
  - vht_supported
  - he_supported
  - eht_supported
  - uhr_supported
  - wpa_check_wowlan_trigger
  - wpa_get_wowlan_triggers
  - CHECK_TRIGGER
  - driver_flag_to_string
  - DF2S
  - driver_flag2_to_string
  - DF2S
  source_file: /src/hostap/src/drivers/driver_common.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/drivers/linux_ioctl.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - bsd_get_drvindex
  - bsd_get_drvname
  - bsd_set80211
  - bsd_get80211
  - get80211var
  - set80211var
  - set80211param
  - bsd_get_ssid
  - bsd_set_ssid
  - bsd_get_if_media
  - bsd_set_if_media
  - bsd_set_mediaopt
  - bsd_del_key
  - bsd_send_mlme_param
  - bsd_get_iface_flags
  - bsd_set_key
  - bsd_configure_wpa
  - bsd_set_ieee8021x
  - bsd_new_sta
  - bsd_send_eapol
  - bsd_set_freq
  - bsd_set_opt_ie
  - bsd_route_overflow
  - bsd_wireless_event_receive
  - ether_sprintf
  - bsd_set_privacy
  - bsd_get_seqnum
  - bsd_flush
  - bsd_read_sta_driver_data
  - bsd_sta_deauth
  - bsd_sta_disassoc
  - handle_read
  - bsd_init
  - bsd_deinit
  - bsd_set_sta_authorized
  - get80211param
  - wpa_driver_bsd_get_bssid
  - wpa_driver_bsd_get_ssid
  - wpa_driver_bsd_set_wpa_ie
  - wpa_driver_bsd_set_wpa_internal
  - wpa_driver_bsd_set_wpa
  - wpa_driver_bsd_set_countermeasures
  - wpa_driver_bsd_set_drop_unencrypted
  - wpa_driver_bsd_deauthenticate
  - wpa_driver_bsd_set_auth_alg
  - handle_read
  - wpa_driver_bsd_associate
  - wpa_driver_bsd_scan
  - wpa_driver_bsd_add_scan_entry
  - wpa_driver_bsd_get_scan_results2
  - wpa_driver_bsd_capa
  - get80211opmode
  - wpa_driver_bsd_init
  - GETPARAM
  - wpa_driver_bsd_deinit
  - wpa_driver_bsd_get_capa
  - bsd_global_init
  - bsd_global_deinit
  source_file: /src/hostap/src/drivers/driver_bsd.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IEEE80211_CIPHER_WEP
      pos:
        line_end: 1466
        line_start: 1465
        source_file: /src/hostap/src/drivers/driver_bsd.c
      type_or_value: '0'
    - item_type: preproc_def
      name: IEEE80211_CIPHER_TKIP
      pos:
        line_end: 1467
        line_start: 1466
        source_file: /src/hostap/src/drivers/driver_bsd.c
      type_or_value: '1'
    - item_type: preproc_def
      name: IEEE80211_CIPHER_AES_CCM
      pos:
        line_end: 1468
        line_start: 1467
        source_file: /src/hostap/src/drivers/driver_bsd.c
      type_or_value: '3'
    - item_type: preproc_def
      name: IEEE80211_CRYPTO_WEP
      pos:
        line_end: 1469
        line_start: 1468
        source_file: /src/hostap/src/drivers/driver_bsd.c
      type_or_value: (1<<IEEE80211_CIPHER_WEP)
    - item_type: preproc_def
      name: IEEE80211_CRYPTO_TKIP
      pos:
        line_end: 1470
        line_start: 1469
        source_file: /src/hostap/src/drivers/driver_bsd.c
      type_or_value: (1<<IEEE80211_CIPHER_TKIP)
    - item_type: preproc_def
      name: IEEE80211_CRYPTO_AES_CCM
      pos:
        line_end: 1471
        line_start: 1470
        source_file: /src/hostap/src/drivers/driver_bsd.c
      type_or_value: (1<<IEEE80211_CIPHER_AES_CCM)
    - item_type: preproc_def
      name: IEEE80211_C_HOSTAP
      pos:
        line_end: 1472
        line_start: 1471
        source_file: /src/hostap/src/drivers/driver_bsd.c
      type_or_value: '0x00000400      '
    - item_type: preproc_def
      name: IEEE80211_C_WPA1
      pos:
        line_end: 1473
        line_start: 1472
        source_file: /src/hostap/src/drivers/driver_bsd.c
      type_or_value: '0x00800000      '
    - item_type: preproc_def
      name: IEEE80211_C_WPA2
      pos:
        line_end: 1474
        line_start: 1473
        source_file: /src/hostap/src/drivers/driver_bsd.c
      type_or_value: '0x01000000      '
    structs:
    - fields:
      - name: '*ctx'
        type: void
      - name: sock
        type: int
      - name: route
        type: int
      - name: ifaces
        type: struct dl_list
      item_type: struct
      name: bsd_driver_global
      pos:
        line_end: 55
        line_start: 50
        source_file: /src/hostap/src/drivers/driver_bsd.c
    - fields:
      - name: list
        type: struct dl_list
      - name: '*global'
        type: struct bsd_driver_global
      - name: '*ctx'
        type: void
      - name: '*sock_xmit'
        type: struct l2_packet_data
      - name: ifname[IFNAMSIZ+1]
        type: char
      - name: flags
        type: int
      - name: ifindex
        type: unsigned int
      - name: if_removed
        type: int
      - name: capa
        type: struct wpa_driver_capa
      - name: is_ap
        type: int
      - name: prev_roaming
        type: int
      - name: prev_privacy
        type: int
      - name: prev_wpa
        type: int
      - name: opmode
        type: enum ieee80211_opmode
      item_type: struct
      name: bsd_driver_data
      pos:
        line_end: 73
        line_start: 57
        source_file: /src/hostap/src/drivers/driver_bsd.c
    typedefs: []
    union: []
- function_names:
  - driver_wired_get_ifflags
  - driver_wired_set_ifflags
  - driver_wired_multi
  - wired_multicast_membership
  - driver_wired_get_ssid
  - driver_wired_get_bssid
  - driver_wired_get_capa
  - driver_wired_get_ifstatus
  - driver_wired_init_common
  - driver_wired_deinit_common
  source_file: /src/hostap/src/drivers/driver_wired_common.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - if_mii
  - wpa_driver_roboswitch_addr_be16
  - wpa_driver_roboswitch_mdio_read
  - wpa_driver_roboswitch_mdio_write
  - wpa_driver_roboswitch_reg
  - wpa_driver_roboswitch_read
  - wpa_driver_roboswitch_write
  - wpa_driver_roboswitch_receive
  - wpa_driver_roboswitch_get_ssid
  - wpa_driver_roboswitch_get_bssid
  - wpa_driver_roboswitch_get_capa
  - wpa_driver_roboswitch_set_param
  - wpa_driver_roboswitch_get_ifname
  - wpa_driver_roboswitch_join
  - wpa_driver_roboswitch_leave
  - wpa_driver_roboswitch_init
  - wpa_driver_roboswitch_deinit
  source_file: /src/hostap/src/drivers/driver_roboswitch.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ROBO_PHY_ADDR
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/hostap/src/drivers/driver_roboswitch.c
      type_or_value: "0x1e\t"
    - item_type: preproc_def
      name: ROBO_MII_PAGE
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/hostap/src/drivers/driver_roboswitch.c
      type_or_value: "0x10\t"
    - item_type: preproc_def
      name: ROBO_MII_ADDR
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/hostap/src/drivers/driver_roboswitch.c
      type_or_value: "0x11\t"
    - item_type: preproc_def
      name: ROBO_MII_DATA_OFFSET
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/hostap/src/drivers/driver_roboswitch.c
      type_or_value: "0x18\t"
    - item_type: preproc_def
      name: ROBO_MII_PAGE_ENABLE
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/hostap/src/drivers/driver_roboswitch.c
      type_or_value: "0x01\t"
    - item_type: preproc_def
      name: ROBO_MII_ADDR_WRITE
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/hostap/src/drivers/driver_roboswitch.c
      type_or_value: "0x01\t"
    - item_type: preproc_def
      name: ROBO_MII_ADDR_READ
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/hostap/src/drivers/driver_roboswitch.c
      type_or_value: "0x02\t"
    - item_type: preproc_def
      name: ROBO_MII_DATA_MAX
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/hostap/src/drivers/driver_roboswitch.c
      type_or_value: "4\t"
    - item_type: preproc_def
      name: ROBO_MII_RETRY_MAX
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/hostap/src/drivers/driver_roboswitch.c
      type_or_value: "10\t"
    - item_type: preproc_def
      name: ROBO_ARLCTRL_PAGE
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/hostap/src/drivers/driver_roboswitch.c
      type_or_value: "0x04\t"
    - item_type: preproc_def
      name: ROBO_VLAN_PAGE
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/hostap/src/drivers/driver_roboswitch.c
      type_or_value: "0x34\t"
    - item_type: preproc_def
      name: ROBO_ARLCTRL_CONF
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/hostap/src/drivers/driver_roboswitch.c
      type_or_value: "0x00\t"
    - item_type: preproc_def
      name: ROBO_ARLCTRL_ADDR_1
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/hostap/src/drivers/driver_roboswitch.c
      type_or_value: "0x10\t"
    - item_type: preproc_def
      name: ROBO_ARLCTRL_VEC_1
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/hostap/src/drivers/driver_roboswitch.c
      type_or_value: "0x16\t"
    - item_type: preproc_def
      name: ROBO_ARLCTRL_ADDR_2
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/hostap/src/drivers/driver_roboswitch.c
      type_or_value: "0x20\t"
    - item_type: preproc_def
      name: ROBO_ARLCTRL_VEC_2
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/hostap/src/drivers/driver_roboswitch.c
      type_or_value: "0x26\t"
    - item_type: preproc_def
      name: ROBO_VLAN_ACCESS
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/hostap/src/drivers/driver_roboswitch.c
      type_or_value: "0x08\t"
    - item_type: preproc_def
      name: ROBO_VLAN_ACCESS_5350
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/hostap/src/drivers/driver_roboswitch.c
      type_or_value: "0x06\t"
    - item_type: preproc_def
      name: ROBO_VLAN_READ
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/hostap/src/drivers/driver_roboswitch.c
      type_or_value: "0x0c\t"
    - item_type: preproc_def
      name: ROBO_VLAN_MAX
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/hostap/src/drivers/driver_roboswitch.c
      type_or_value: "0xff\t"
    structs:
    - fields:
      - name: '*ctx'
        type: void
      - name: '*l2'
        type: struct l2_packet_data
      - name: ifname[IFNAMSIZ + 1]
        type: char
      - name: own_addr[ETH_ALEN]
        type: u8
      - name: ifr
        type: struct ifreq
      - name: fd
        type: int
      - name: ports
        type: u16
      item_type: struct
      name: wpa_driver_roboswitch_data
      pos:
        line_end: 62
        line_start: 54
        source_file: /src/hostap/src/drivers/driver_roboswitch.c
    typedefs: []
    union: []
- function_names:
  - _NDISUIO_CTL_CODE
  - ndis_get_oid
  - ndis_set_oid
  - ndis_set_auth_mode
  - ndis_get_auth_mode
  - ndis_set_encr_status
  - ndis_get_encr_status
  - wpa_driver_ndis_get_bssid
  - wpa_driver_ndis_get_ssid
  - wpa_driver_ndis_set_ssid
  - wpa_driver_ndis_radio_off
  - wpa_driver_ndis_disconnect
  - wpa_driver_ndis_deauthenticate
  - wpa_driver_ndis_scan_timeout
  - wpa_driver_ndis_scan_native80211
  - wpa_driver_ndis_scan
  - wpa_scan_get_ie
  - wpa_driver_ndis_add_scan_ssid
  - wpa_driver_ndis_get_scan_results
  - wpa_driver_ndis_remove_key
  - wpa_driver_ndis_add_wep
  - wpa_driver_ndis_set_key
  - wpa_driver_ndis_set_key_wrapper
  - wpa_driver_ndis_associate
  - wpa_driver_ndis_set_pmkid
  - wpa_driver_ndis_add_pmkid
  - wpa_driver_ndis_remove_pmkid
  - wpa_driver_ndis_flush_pmkid
  - wpa_driver_ndis_get_associnfo
  - wpa_driver_ndis_poll_timeout
  - wpa_driver_ndis_poll
  - wpa_driver_ndis_event_connect
  - wpa_driver_ndis_event_disconnect
  - wpa_driver_ndis_event_auth
  - wpa_driver_ndis_event_pmkid
  - wpa_driver_ndis_event_media_specific
  - wpa_driver_ndis_event_adapter_arrival
  - wpa_driver_ndis_event_adapter_removal
  - wpa_driver_ndis_get_wpa_capability
  - wpa_driver_ndis_get_capability
  - wpa_driver_ndis_get_capa
  - wpa_driver_ndis_get_ifname
  - wpa_driver_ndis_get_mac_addr
  - ndisuio_notification_receive
  - ndisuio_notification_deinit
  - wpa_driver_ndis_get_names
  - wpa_driver_ndis_rebind_adapter
  - wpa_driver_ndis_set_wzc
  - wpa_driver_ndis_set_wzc
  - driver_ndis_get_ndisuio_handle
  - wpa_driver_ndis_adapter_init
  - wpa_driver_ndis_adapter_open
  - wpa_driver_ndis_adapter_close
  - ndis_add_multicast
  - wpa_driver_ndis_init
  - wpa_driver_ndis_deinit
  - wpa_driver_ndis_get_interfaces
  - driver_ndis_init_ops
  source_file: /src/hostap/src/drivers/driver_ndis.c
  types:
    enum:
    - enumerators:
      - name: Ndis802_11FH
      - name: Ndis802_11NetworkTypeMax
      - name: Ndis802_11DS
      - name: Ndis802_11OFDM5
      - name: Ndis802_11OFDM24
      item_type: enum
      name: NDIS_802_11_NETWORK_TYPE
      pos:
        line_end: 98
        line_start: 92
        source_file: /src/hostap/src/drivers/driver_ndis.c
    - enumerators:
      - name: Ndis802_11IBSS
      - name: Ndis802_11Infrastructure
      - name: Ndis802_11AutoUnknown
      - name: Ndis802_11InfrastructureMax
      item_type: enum
      name: NDIS_802_11_NETWORK_INFRASTRUCTURE
      pos:
        line_end: 120
        line_start: 115
        source_file: /src/hostap/src/drivers/driver_ndis.c
    - enumerators:
      - name: Ndis802_11AuthModeOpen
      - name: Ndis802_11AuthModeWPAPSK
      - name: Ndis802_11AuthModeWPA
      - name: Ndis802_11AuthModeShared
      - name: Ndis802_11AuthModeAutoSwitch
      - name: Ndis802_11AuthModeWPANone
      - name: Ndis802_11AuthModeWPA2
      - name: Ndis802_11AuthModeWPA2PSK
      - name: Ndis802_11AuthModeMax
      item_type: enum
      name: NDIS_802_11_AUTHENTICATION_MODE
      pos:
        line_end: 132
        line_start: 122
        source_file: /src/hostap/src/drivers/driver_ndis.c
    - enumerators:
      - name: Ndis802_11WEPEnabled
      - name: Ndis802_11WEPDisabled
      - name: Ndis802_11EncryptionDisabled
        value: Ndis802_11WEPDisabled
      - name: Ndis802_11WEPKeyAbsent
      - name: Ndis802_11Encryption1Enabled
        value: Ndis802_11WEPEnabled
      - name: Ndis802_11Encryption1KeyAbsent
        value: Ndis802_11WEPKeyAbsent
      - name: Ndis802_11WEPNotSupported
      - name: Ndis802_11EncryptionNotSupported
        value: Ndis802_11WEPNotSupported
      - name: Ndis802_11Encryption2Enabled
      - name: Ndis802_11Encryption2KeyAbsent
      - name: Ndis802_11Encryption3KeyAbsent
      - name: Ndis802_11Encryption3Enabled
      item_type: enum
      name: NDIS_802_11_WEP_STATUS
      pos:
        line_end: 147
        line_start: 134
        source_file: /src/hostap/src/drivers/driver_ndis.c
    - enumerators:
      - name: Ndis802_11PrivFilterAcceptAll
      - name: Ndis802_11PrivFilter8021xWEP
      item_type: enum
      name: NDIS_802_11_PRIVACY_FILTER
      pos:
        line_end: 152
        line_start: 149
        source_file: /src/hostap/src/drivers/driver_ndis.c
    - enumerators:
      - name: Ndis802_11StatusType_Authentication
      - name: Ndis802_11StatusTypeMax
      - name: Ndis802_11StatusType_PMKID_CandidateList
        value: '2'
      item_type: enum
      name: NDIS_802_11_STATUS_TYPE
      pos:
        line_end: 263
        line_start: 259
        source_file: /src/hostap/src/drivers/driver_ndis.c
    - enumerators:
      - name: dot11_BSS_type_infrastructure
        value: '1'
      - name: dot11_BSS_type_independent
        value: '2'
      - name: dot11_BSS_type_any
        value: '3'
      item_type: enum
      name: _DOT11_BSS_TYPE
      pos:
        line_end: 360
        line_start: 356
        source_file: /src/hostap/src/drivers/driver_ndis.c
    - enumerators:
      - name: dot11_scan_type_active
        value: '1'
      - name: dot11_scan_type_forced
        value: '0x80000000'
      - name: dot11_scan_type_passive
        value: '2'
      - name: dot11_scan_type_auto
        value: '3'
      item_type: enum
      name: _DOT11_SCAN_TYPE
      pos:
        line_end: 370
        line_start: 365
        source_file: /src/hostap/src/drivers/driver_ndis.c
    preproc_defs:
    - item_type: preproc_def
      name: OID_802_11_BSSID
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/hostap/src/drivers/driver_ndis.c
      type_or_value: '0x0d010101'
    - item_type: preproc_def
      name: OID_802_11_SSID
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/hostap/src/drivers/driver_ndis.c
      type_or_value: '0x0d010102'
    - item_type: preproc_def
      name: OID_802_11_INFRASTRUCTURE_MODE
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/hostap/src/drivers/driver_ndis.c
      type_or_value: '0x0d010108'
    - item_type: preproc_def
      name: OID_802_11_ADD_WEP
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/hostap/src/drivers/driver_ndis.c
      type_or_value: '0x0D010113'
    - item_type: preproc_def
      name: OID_802_11_REMOVE_WEP
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/hostap/src/drivers/driver_ndis.c
      type_or_value: '0x0D010114'
    - item_type: preproc_def
      name: OID_802_11_DISASSOCIATE
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/hostap/src/drivers/driver_ndis.c
      type_or_value: '0x0D010115'
    - item_type: preproc_def
      name: OID_802_11_BSSID_LIST
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/hostap/src/drivers/driver_ndis.c
      type_or_value: '0x0d010217'
    - item_type: preproc_def
      name: OID_802_11_AUTHENTICATION_MODE
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/hostap/src/drivers/driver_ndis.c
      type_or_value: '0x0d010118'
    - item_type: preproc_def
      name: OID_802_11_PRIVACY_FILTER
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/hostap/src/drivers/driver_ndis.c
      type_or_value: '0x0d010119'
    - item_type: preproc_def
      name: OID_802_11_BSSID_LIST_SCAN
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/hostap/src/drivers/driver_ndis.c
      type_or_value: '0x0d01011A'
    - item_type: preproc_def
      name: OID_802_11_WEP_STATUS
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/hostap/src/drivers/driver_ndis.c
      type_or_value: '0x0d01011B'
    - item_type: preproc_def
      name: OID_802_11_ENCRYPTION_STATUS
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/hostap/src/drivers/driver_ndis.c
      type_or_value: OID_802_11_WEP_STATUS
    - item_type: preproc_def
      name: OID_802_11_ADD_KEY
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/hostap/src/drivers/driver_ndis.c
      type_or_value: '0x0d01011D'
    - item_type: preproc_def
      name: OID_802_11_REMOVE_KEY
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/hostap/src/drivers/driver_ndis.c
      type_or_value: '0x0d01011E'
    - item_type: preproc_def
      name: OID_802_11_ASSOCIATION_INFORMATION
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/hostap/src/drivers/driver_ndis.c
      type_or_value: '0x0d01011F'
    - item_type: preproc_def
      name: OID_802_11_TEST
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/hostap/src/drivers/driver_ndis.c
      type_or_value: '0x0d010120'
    - item_type: preproc_def
      name: OID_802_11_CAPABILITY
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/hostap/src/drivers/driver_ndis.c
      type_or_value: '0x0d010122'
    - item_type: preproc_def
      name: OID_802_11_PMKID
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/hostap/src/drivers/driver_ndis.c
      type_or_value: '0x0d010123'
    - item_type: preproc_def
      name: NDIS_802_11_LENGTH_SSID
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/hostap/src/drivers/driver_ndis.c
      type_or_value: '32'
    - item_type: preproc_def
      name: NDIS_802_11_LENGTH_RATES
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/hostap/src/drivers/driver_ndis.c
      type_or_value: '8'
    - item_type: preproc_def
      name: NDIS_802_11_LENGTH_RATES_EX
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/hostap/src/drivers/driver_ndis.c
      type_or_value: '16'
    - item_type: preproc_def
      name: NDIS_802_11_PMKID_CANDIDATE_PREAUTH_ENABLED
      pos:
        line_end: 275
        line_start: 274
        source_file: /src/hostap/src/drivers/driver_ndis.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: NDIS_802_11_AUTH_REQUEST_REAUTH
      pos:
        line_end: 289
        line_start: 288
        source_file: /src/hostap/src/drivers/driver_ndis.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: NDIS_802_11_AUTH_REQUEST_KEYUPDATE
      pos:
        line_end: 290
        line_start: 289
        source_file: /src/hostap/src/drivers/driver_ndis.c
      type_or_value: '0x02'
    - item_type: preproc_def
      name: NDIS_802_11_AUTH_REQUEST_PAIRWISE_ERROR
      pos:
        line_end: 291
        line_start: 290
        source_file: /src/hostap/src/drivers/driver_ndis.c
      type_or_value: '0x06'
    - item_type: preproc_def
      name: NDIS_802_11_AUTH_REQUEST_GROUP_ERROR
      pos:
        line_end: 292
        line_start: 291
        source_file: /src/hostap/src/drivers/driver_ndis.c
      type_or_value: '0x0E'
    - item_type: preproc_def
      name: OID_802_11_CAPABILITY
      pos:
        line_end: 300
        line_start: 299
        source_file: /src/hostap/src/drivers/driver_ndis.c
      type_or_value: '0x0d010122'
    - item_type: preproc_def
      name: OID_802_11_PMKID
      pos:
        line_end: 301
        line_start: 300
        source_file: /src/hostap/src/drivers/driver_ndis.c
      type_or_value: '0x0d010123'
    - item_type: preproc_def
      name: Ndis802_11AuthModeWPA2
      pos:
        line_end: 303
        line_start: 302
        source_file: /src/hostap/src/drivers/driver_ndis.c
      type_or_value: '6'
    - item_type: preproc_def
      name: Ndis802_11AuthModeWPA2PSK
      pos:
        line_end: 304
        line_start: 303
        source_file: /src/hostap/src/drivers/driver_ndis.c
      type_or_value: '7'
    - item_type: preproc_def
      name: Ndis802_11StatusType_PMKID_CandidateList
      pos:
        line_end: 306
        line_start: 305
        source_file: /src/hostap/src/drivers/driver_ndis.c
      type_or_value: '2'
    - item_type: preproc_def
      name: NDIS_802_11_PMKID_CANDIDATE_PREAUTH_ENABLED
      pos:
        line_end: 340
        line_start: 339
        source_file: /src/hostap/src/drivers/driver_ndis.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: OID_DOT11_NDIS_START
      pos:
        line_end: 353
        line_start: 352
        source_file: /src/hostap/src/drivers/driver_ndis.c
      type_or_value: '0x0D010300'
    - item_type: preproc_def
      name: OID_DOT11_CURRENT_OPERATION_MODE
      pos:
        line_end: 354
        line_start: 353
        source_file: /src/hostap/src/drivers/driver_ndis.c
      type_or_value: (OID_DOT11_NDIS_START + 8)
    - item_type: preproc_def
      name: OID_DOT11_SCAN_REQUEST
      pos:
        line_end: 355
        line_start: 354
        source_file: /src/hostap/src/drivers/driver_ndis.c
      type_or_value: (OID_DOT11_NDIS_START + 11)
    - item_type: preproc_def
      name: FSCTL_NDISUIO_BASE
      pos:
        line_end: 398
        line_start: 397
        source_file: /src/hostap/src/drivers/driver_ndis.c
      type_or_value: FILE_DEVICE_NETWORK
    - item_type: preproc_def
      name: IOCTL_NDISUIO_OPEN_DEVICE
      pos:
        line_end: 405
        line_start: 402
        source_file: /src/hostap/src/drivers/driver_ndis.c
      type_or_value: "_NDISUIO_CTL_CODE(0x200, METHOD_BUFFERED, \\\n\t\t\t  FILE_READ_ACCESS
        | FILE_WRITE_ACCESS)"
    - item_type: preproc_def
      name: IOCTL_NDISUIO_QUERY_OID_VALUE
      pos:
        line_end: 409
        line_start: 406
        source_file: /src/hostap/src/drivers/driver_ndis.c
      type_or_value: "_NDISUIO_CTL_CODE(0x201, METHOD_BUFFERED, \\\n\t\t\t  FILE_READ_ACCESS
        | FILE_WRITE_ACCESS)"
    - item_type: preproc_def
      name: IOCTL_NDISUIO_SET_OID_VALUE
      pos:
        line_end: 413
        line_start: 410
        source_file: /src/hostap/src/drivers/driver_ndis.c
      type_or_value: "_NDISUIO_CTL_CODE(0x205, METHOD_BUFFERED, \\\n\t\t\t  FILE_READ_ACCESS
        | FILE_WRITE_ACCESS)"
    - item_type: preproc_def
      name: IOCTL_NDISUIO_SET_ETHER_TYPE
      pos:
        line_end: 417
        line_start: 414
        source_file: /src/hostap/src/drivers/driver_ndis.c
      type_or_value: "_NDISUIO_CTL_CODE(0x202, METHOD_BUFFERED, \\\n\t\t\t  FILE_READ_ACCESS
        | FILE_WRITE_ACCESS)"
    - item_type: preproc_def
      name: IOCTL_NDISUIO_QUERY_BINDING
      pos:
        line_end: 421
        line_start: 418
        source_file: /src/hostap/src/drivers/driver_ndis.c
      type_or_value: "_NDISUIO_CTL_CODE(0x203, METHOD_BUFFERED, \\\n\t\t\t  FILE_READ_ACCESS
        | FILE_WRITE_ACCESS)"
    - item_type: preproc_def
      name: IOCTL_NDISUIO_BIND_WAIT
      pos:
        line_end: 425
        line_start: 422
        source_file: /src/hostap/src/drivers/driver_ndis.c
      type_or_value: "_NDISUIO_CTL_CODE(0x204, METHOD_BUFFERED, \\\n\t\t\t  FILE_READ_ACCESS
        | FILE_WRITE_ACCESS)"
    - item_type: preproc_def
      name: NDISUIO_MSG_SIZE
      pos:
        line_end: 1874
        line_start: 1873
        source_file: /src/hostap/src/drivers/driver_ndis.c
      type_or_value: (sizeof(NDISUIO_DEVICE_NOTIFICATION) + 512)
    - item_type: preproc_def
      name: MAX_ADAPTERS
      pos:
        line_end: 2138
        line_start: 2137
        source_file: /src/hostap/src/drivers/driver_ndis.c
      type_or_value: '32'
    - item_type: preproc_def
      name: INTF_ALL
      pos:
        line_end: 2356
        line_start: 2355
        source_file: /src/hostap/src/drivers/driver_ndis.c
      type_or_value: '0xffffffff'
    - item_type: preproc_def
      name: INTF_ALL_FLAGS
      pos:
        line_end: 2357
        line_start: 2356
        source_file: /src/hostap/src/drivers/driver_ndis.c
      type_or_value: '0x0000ffff'
    - item_type: preproc_def
      name: INTF_CTLFLAGS
      pos:
        line_end: 2358
        line_start: 2357
        source_file: /src/hostap/src/drivers/driver_ndis.c
      type_or_value: '0x00000010'
    - item_type: preproc_def
      name: INTFCTL_ENABLED
      pos:
        line_end: 2359
        line_start: 2358
        source_file: /src/hostap/src/drivers/driver_ndis.c
      type_or_value: '0x8000'
    - item_type: preproc_def
      name: WZC_DRIVER
      pos:
        line_end: 2417
        line_start: 2416
        source_file: /src/hostap/src/drivers/driver_ndis.c
      type_or_value: TEXT("Drivers\\BuiltIn\\ZeroConfig")
    - item_type: preproc_def
      name: NDISUIO_DEVICE_NAME
      pos:
        line_end: 2700
        line_start: 2699
        source_file: /src/hostap/src/drivers/driver_ndis.c
      type_or_value: TEXT("\\\\.\\\\Ndisuio")
    - item_type: preproc_def
      name: MAX_NDIS_DEVICE_NAME_LEN
      pos:
        line_end: 2737
        line_start: 2736
        source_file: /src/hostap/src/drivers/driver_ndis.c
      type_or_value: '256'
    structs:
    - fields:
      - name: SsidLength
        type: ULONG
      - name: Ssid[NDIS_802_11_LENGTH_SSID]
        type: UCHAR
      item_type: struct
      name: NDIS_802_11_SSID
      pos:
        line_end: 88
        line_start: 85
        source_file: /src/hostap/src/drivers/driver_ndis.c
    - fields:
      - name: Length
        type: ULONG
      - name: HopPattern
        type: ULONG
      - name: HopSet
        type: ULONG
      - name: DwellTime
        type: ULONG
      item_type: struct
      name: NDIS_802_11_CONFIGURATION_FH
      pos:
        line_end: 105
        line_start: 100
        source_file: /src/hostap/src/drivers/driver_ndis.c
    - fields:
      - name: Length
        type: ULONG
      - name: BeaconPeriod
        type: ULONG
      - name: ATIMWindow
        type: ULONG
      - name: DSConfig
        type: ULONG
      - name: FHConfig
        type: NDIS_802_11_CONFIGURATION_FH
      item_type: struct
      name: NDIS_802_11_CONFIGURATION
      pos:
        line_end: 113
        line_start: 107
        source_file: /src/hostap/src/drivers/driver_ndis.c
    - fields:
      - name: Length
        type: ULONG
      - name: MacAddress
        type: NDIS_802_11_MAC_ADDRESS
      - name: Reserved[2]
        type: UCHAR
      - name: Ssid
        type: NDIS_802_11_SSID
      - name: Privacy
        type: ULONG
      - name: Rssi
        type: NDIS_802_11_RSSI
      - name: NetworkTypeInUse
        type: NDIS_802_11_NETWORK_TYPE
      - name: Configuration
        type: NDIS_802_11_CONFIGURATION
      - name: InfrastructureMode
        type: NDIS_802_11_NETWORK_INFRASTRUCTURE
      - name: SupportedRates
        type: NDIS_802_11_RATES_EX
      - name: IELength
        type: ULONG
      - name: IEs[1]
        type: UCHAR
      item_type: struct
      name: NDIS_WLAN_BSSID_EX
      pos:
        line_end: 170
        line_start: 157
        source_file: /src/hostap/src/drivers/driver_ndis.c
    - fields:
      - name: NumberOfItems
        type: ULONG
      - name: Bssid[1]
        type: NDIS_WLAN_BSSID_EX
      item_type: struct
      name: NDIS_802_11_BSSID_LIST_EX
      pos:
        line_end: 175
        line_start: 172
        source_file: /src/hostap/src/drivers/driver_ndis.c
    - fields:
      - name: Timestamp[8]
        type: UCHAR
      - name: BeaconInterval
        type: USHORT
      - name: Capabilities
        type: USHORT
      item_type: struct
      name: NDIS_802_11_FIXED_IEs
      pos:
        line_end: 181
        line_start: 177
        source_file: /src/hostap/src/drivers/driver_ndis.c
    - fields:
      - name: Length
        type: ULONG
      - name: KeyIndex
        type: ULONG
      - name: KeyLength
        type: ULONG
      - name: KeyMaterial[1]
        type: UCHAR
      item_type: struct
      name: NDIS_802_11_WEP
      pos:
        line_end: 188
        line_start: 183
        source_file: /src/hostap/src/drivers/driver_ndis.c
    - fields:
      - name: Length
        type: ULONG
      - name: KeyIndex
        type: ULONG
      - name: KeyLength
        type: ULONG
      - name: BSSID
        type: NDIS_802_11_MAC_ADDRESS
      - name: KeyRSC
        type: NDIS_802_11_KEY_RSC
      - name: KeyMaterial[1]
        type: UCHAR
      item_type: struct
      name: NDIS_802_11_KEY
      pos:
        line_end: 200
        line_start: 193
        source_file: /src/hostap/src/drivers/driver_ndis.c
    - fields:
      - name: Length
        type: ULONG
      - name: KeyIndex
        type: ULONG
      - name: BSSID
        type: NDIS_802_11_MAC_ADDRESS
      item_type: struct
      name: NDIS_802_11_REMOVE_KEY
      pos:
        line_end: 206
        line_start: 202
        source_file: /src/hostap/src/drivers/driver_ndis.c
    - fields:
      - name: Capabilities
        type: USHORT
      - name: ListenInterval
        type: USHORT
      - name: CurrentAPAddress
        type: NDIS_802_11_MAC_ADDRESS
      item_type: struct
      name: NDIS_802_11_AI_REQFI
      pos:
        line_end: 212
        line_start: 208
        source_file: /src/hostap/src/drivers/driver_ndis.c
    - fields:
      - name: Capabilities
        type: USHORT
      - name: StatusCode
        type: USHORT
      - name: AssociationId
        type: USHORT
      item_type: struct
      name: NDIS_802_11_AI_RESFI
      pos:
        line_end: 218
        line_start: 214
        source_file: /src/hostap/src/drivers/driver_ndis.c
    - fields:
      - name: Length
        type: ULONG
      - name: AvailableRequestFixedIEs
        type: USHORT
      - name: RequestFixedIEs
        type: NDIS_802_11_AI_REQFI
      - name: RequestIELength
        type: ULONG
      - name: OffsetRequestIEs
        type: ULONG
      - name: AvailableResponseFixedIEs
        type: USHORT
      - name: ResponseFixedIEs
        type: NDIS_802_11_AI_RESFI
      - name: ResponseIELength
        type: ULONG
      - name: OffsetResponseIEs
        type: ULONG
      item_type: struct
      name: NDIS_802_11_ASSOCIATION_INFORMATION
      pos:
        line_end: 230
        line_start: 220
        source_file: /src/hostap/src/drivers/driver_ndis.c
    - fields:
      - name: AuthModeSupported
        type: NDIS_802_11_AUTHENTICATION_MODE
      - name: EncryptStatusSupported
        type: NDIS_802_11_ENCRYPTION_STATUS
      item_type: struct
      name: NDIS_802_11_AUTHENTICATION_ENCRYPTION
      pos:
        line_end: 235
        line_start: 232
        source_file: /src/hostap/src/drivers/driver_ndis.c
    - fields:
      - name: Length
        type: ULONG
      - name: Version
        type: ULONG
      - name: NoOfPMKIDs
        type: ULONG
      - name: NoOfAuthEncryptPairsSupported
        type: ULONG
      - name: AuthenticationEncryptionSupported[1]
        type: NDIS_802_11_AUTHENTICATION_ENCRYPTION
      item_type: struct
      name: NDIS_802_11_CAPABILITY
      pos:
        line_end: 244
        line_start: 237
        source_file: /src/hostap/src/drivers/driver_ndis.c
    - fields:
      - name: BSSID
        type: NDIS_802_11_MAC_ADDRESS
      - name: PMKID
        type: NDIS_802_11_PMKID_VALUE
      item_type: struct
      name: BSSID_INFO
      pos:
        line_end: 251
        line_start: 248
        source_file: /src/hostap/src/drivers/driver_ndis.c
    - fields:
      - name: Length
        type: ULONG
      - name: BSSIDInfoCount
        type: ULONG
      - name: BSSIDInfo[1]
        type: BSSID_INFO
      item_type: struct
      name: NDIS_802_11_PMKID
      pos:
        line_end: 257
        line_start: 253
        source_file: /src/hostap/src/drivers/driver_ndis.c
    - fields:
      - name: StatusType
        type: NDIS_802_11_STATUS_TYPE
      item_type: struct
      name: NDIS_802_11_STATUS_INDICATION
      pos:
        line_end: 267
        line_start: 265
        source_file: /src/hostap/src/drivers/driver_ndis.c
    - fields:
      - name: BSSID
        type: NDIS_802_11_MAC_ADDRESS
      - name: Flags
        type: ULONG
      item_type: struct
      name: PMKID_CANDIDATE
      pos:
        line_end: 272
        line_start: 269
        source_file: /src/hostap/src/drivers/driver_ndis.c
    - fields:
      - name: Version
        type: ULONG
      - name: NumCandidates
        type: ULONG
      - name: CandidateList[1]
        type: PMKID_CANDIDATE
      item_type: struct
      name: NDIS_802_11_PMKID_CANDIDATE_LIST
      pos:
        line_end: 280
        line_start: 276
        source_file: /src/hostap/src/drivers/driver_ndis.c
    - fields:
      - name: Length
        type: ULONG
      - name: Bssid
        type: NDIS_802_11_MAC_ADDRESS
      - name: Flags
        type: ULONG
      item_type: struct
      name: NDIS_802_11_AUTHENTICATION_REQUEST
      pos:
        line_end: 286
        line_start: 282
        source_file: /src/hostap/src/drivers/driver_ndis.c
    - fields:
      - name: AuthModeSupported
        type: NDIS_802_11_AUTHENTICATION_MODE
      - name: EncryptStatusSupported
        type: NDIS_802_11_ENCRYPTION_STATUS
      item_type: struct
      name: NDIS_802_11_AUTHENTICATION_ENCRYPTION
      pos:
        line_end: 310
        line_start: 307
        source_file: /src/hostap/src/drivers/driver_ndis.c
    - fields:
      - name: Length
        type: ULONG
      - name: Version
        type: ULONG
      - name: NoOfPMKIDs
        type: ULONG
      - name: NoOfAuthEncryptPairsSupported
        type: ULONG
      - name: AuthenticationEncryptionSupported[1]
        type: NDIS_802_11_AUTHENTICATION_ENCRYPTION
      item_type: struct
      name: NDIS_802_11_CAPABILITY
      pos:
        line_end: 319
        line_start: 312
        source_file: /src/hostap/src/drivers/driver_ndis.c
    - fields:
      - name: BSSID
        type: NDIS_802_11_MAC_ADDRESS
      - name: PMKID
        type: NDIS_802_11_PMKID_VALUE
      item_type: struct
      name: BSSID_INFO
      pos:
        line_end: 326
        line_start: 323
        source_file: /src/hostap/src/drivers/driver_ndis.c
    - fields:
      - name: Length
        type: ULONG
      - name: BSSIDInfoCount
        type: ULONG
      - name: BSSIDInfo[1]
        type: BSSID_INFO
      item_type: struct
      name: NDIS_802_11_PMKID
      pos:
        line_end: 332
        line_start: 328
        source_file: /src/hostap/src/drivers/driver_ndis.c
    - fields:
      - name: BSSID
        type: NDIS_802_11_MAC_ADDRESS
      - name: Flags
        type: ULONG
      item_type: struct
      name: PMKID_CANDIDATE
      pos:
        line_end: 337
        line_start: 334
        source_file: /src/hostap/src/drivers/driver_ndis.c
    - fields:
      - name: Version
        type: ULONG
      - name: NumCandidates
        type: ULONG
      - name: CandidateList[1]
        type: PMKID_CANDIDATE
      item_type: struct
      name: NDIS_802_11_PMKID_CANDIDATE_LIST
      pos:
        line_end: 345
        line_start: 341
        source_file: /src/hostap/src/drivers/driver_ndis.c
    - fields:
      - name: dot11BSSType
        type: DOT11_BSS_TYPE
      - name: dot11BSSID
        type: DOT11_MAC_ADDRESS
      - name: dot11ScanType
        type: DOT11_SCAN_TYPE
      - name: bRestrictedScan
        type: BOOLEAN
      - name: udot11SSIDsOffset
        type: ULONG
      - name: uNumOfdot11SSIDs
        type: ULONG
      - name: bUseRequestIE
        type: BOOLEAN
      - name: uRequestIDsOffset
        type: ULONG
      - name: uNumOfRequestIDs
        type: ULONG
      - name: uPhyTypeInfosOffset
        type: ULONG
      - name: uNumOfPhyTypeInfos
        type: ULONG
      - name: uIEsOffset
        type: ULONG
      - name: uIEsLength
        type: ULONG
      - name: ucBuffer[1]
        type: UCHAR
      item_type: struct
      name: _DOT11_SCAN_REQUEST_V2
      pos:
        line_end: 387
        line_start: 372
        source_file: /src/hostap/src/drivers/driver_ndis.c
    - fields:
      - name: Oid
        type: NDIS_OID
      - name: Data[sizeof(ULONG)]
        type: UCHAR
      item_type: struct
      name: _NDISUIO_QUERY_OID
      pos:
        line_end: 430
        line_start: 426
        source_file: /src/hostap/src/drivers/driver_ndis.c
    - fields:
      - name: Oid
        type: NDIS_OID
      - name: Data[sizeof(ULONG)]
        type: UCHAR
      item_type: struct
      name: _NDISUIO_SET_OID
      pos:
        line_end: 436
        line_start: 432
        source_file: /src/hostap/src/drivers/driver_ndis.c
    - fields:
      - name: BindingIndex
        type: ULONG
      - name: DeviceNameOffset
        type: ULONG
      - name: DeviceNameLength
        type: ULONG
      - name: DeviceDescrOffset
        type: ULONG
      - name: DeviceDescrLength
        type: ULONG
      item_type: struct
      name: _NDISUIO_QUERY_BINDING
      pos:
        line_end: 445
        line_start: 438
        source_file: /src/hostap/src/drivers/driver_ndis.c
    - fields:
      - name: wszGuid
        type: LPWSTR
      item_type: struct
      name: INTF_KEY_ENTRY
      pos:
        line_end: 2315
        line_start: 2313
        source_file: /src/hostap/src/drivers/driver_ndis.c
    - fields:
      - name: dwNumIntfs
        type: DWORD
      - name: pIntfs
        type: PINTF_KEY_ENTRY
      item_type: struct
      name: INTFS_KEY_TABLE
      pos:
        line_end: 2320
        line_start: 2317
        source_file: /src/hostap/src/drivers/driver_ndis.c
    - fields:
      - name: dwDataLen
        type: DWORD
      - name: pData
        type: LPBYTE
      item_type: struct
      name: RAW_DATA
      pos:
        line_end: 2325
        line_start: 2322
        source_file: /src/hostap/src/drivers/driver_ndis.c
    - fields:
      - name: wszGuid
        type: LPWSTR
      - name: wszDescr
        type: LPWSTR
      - name: ulMediaState
        type: ULONG
      - name: ulMediaType
        type: ULONG
      - name: ulPhysicalMediaType
        type: ULONG
      - name: nInfraMode
        type: INT
      - name: nAuthMode
        type: INT
      - name: nWepStatus
        type: INT
      - name: dwCtlFlags
        type: DWORD
      - name: dwCapabilities
        type: DWORD
      - name: rdSSID
        type: RAW_DATA
      - name: rdBSSID
        type: RAW_DATA
      - name: rdBSSIDList
        type: RAW_DATA
      - name: rdStSSIDList
        type: RAW_DATA
      - name: rdCtrlData
        type: RAW_DATA
      - name: nWPAMCastCipher
        type: DWORD
      - name: later_additions[100]
        type: u8
      item_type: struct
      name: INTF_ENTRY
      pos:
        line_end: 2353
        line_start: 2327
        source_file: /src/hostap/src/drivers/driver_ndis.c
    typedefs:
    - item_type: typedef
      name: NDIS_802_11_MAC_ADDRESS[6]
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/hostap/src/drivers/driver_ndis.c
      type: UCHAR
    - item_type: typedef
      name: NDIS_802_11_RSSI
      pos:
        line_end: 90
        line_start: 90
        source_file: /src/hostap/src/drivers/driver_ndis.c
      type: LONG
    - item_type: typedef
      name: NDIS_802_11_RATES[NDIS_802_11_LENGTH_RATES]
      pos:
        line_end: 154
        line_start: 154
        source_file: /src/hostap/src/drivers/driver_ndis.c
      type: UCHAR
    - item_type: typedef
      name: NDIS_802_11_RATES_EX[NDIS_802_11_LENGTH_RATES_EX]
      pos:
        line_end: 155
        line_start: 155
        source_file: /src/hostap/src/drivers/driver_ndis.c
      type: UCHAR
    - item_type: typedef
      name: NDIS_802_11_KEY_INDEX
      pos:
        line_end: 190
        line_start: 190
        source_file: /src/hostap/src/drivers/driver_ndis.c
      type: ULONG
    - item_type: typedef
      name: NDIS_802_11_KEY_RSC
      pos:
        line_end: 191
        line_start: 191
        source_file: /src/hostap/src/drivers/driver_ndis.c
      type: ULONGLONG
    - item_type: typedef
      name: NDIS_802_11_PMKID_VALUE[16]
      pos:
        line_end: 246
        line_start: 246
        source_file: /src/hostap/src/drivers/driver_ndis.c
      type: UCHAR
    - item_type: typedef
      name: NDIS_802_11_PMKID_VALUE[16]
      pos:
        line_end: 321
        line_start: 321
        source_file: /src/hostap/src/drivers/driver_ndis.c
      type: UCHAR
    - item_type: typedef
      name: DOT11_MAC_ADDRESS[6]
      pos:
        line_end: 362
        line_start: 362
        source_file: /src/hostap/src/drivers/driver_ndis.c
      type: UCHAR
    - item_type: typedef
      name: '* PDOT11_MAC_ADDRESS'
      pos:
        line_end: 363
        line_start: 363
        source_file: /src/hostap/src/drivers/driver_ndis.c
      type: DOT11_MAC_ADDRESS
    - item_type: typedef
      name: NDIS_OID
      pos:
        line_end: 394
        line_start: 394
        source_file: /src/hostap/src/drivers/driver_ndis.c
      type: ULONG
    union: []
- function_names: []
  source_file: /src/hostap/src/drivers/netlink.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*ctx'
        type: void
      - name: "(*newlink_cb)(void *ctx, struct ifinfomsg *ifi, u8 *buf,\n\t\t\t   size_t
          len)"
        type: void
      - name: "(*dellink_cb)(void *ctx, struct ifinfomsg *ifi, u8 *buf,\n\t\t\t   size_t
          len)"
        type: void
      item_type: struct
      name: netlink_config
      pos:
        line_end: 20
        line_start: 14
        source_file: /src/hostap/src/drivers/netlink.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/drivers/linux_defines.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SO_WIFI_STATUS
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/hostap/src/drivers/linux_defines.h
      type_or_value: '0x0025'
    - item_type: preproc_def
      name: SO_WIFI_STATUS
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/hostap/src/drivers/linux_defines.h
      type_or_value: '0x4022'
    - item_type: preproc_def
      name: SO_WIFI_STATUS
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/hostap/src/drivers/linux_defines.h
      type_or_value: '41'
    - item_type: preproc_def
      name: SCM_WIFI_STATUS
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/hostap/src/drivers/linux_defines.h
      type_or_value: SO_WIFI_STATUS
    - item_type: preproc_def
      name: SO_EE_ORIGIN_TXSTATUS
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/hostap/src/drivers/linux_defines.h
      type_or_value: '4'
    - item_type: preproc_def
      name: PACKET_TX_TIMESTAMP
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/hostap/src/drivers/linux_defines.h
      type_or_value: '16'
    - item_type: preproc_def
      name: IFF_LOWER_UP
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/hostap/src/drivers/linux_defines.h
      type_or_value: '0x10000         '
    - item_type: preproc_def
      name: IFF_DORMANT
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/hostap/src/drivers/linux_defines.h
      type_or_value: '0x20000         '
    - item_type: preproc_def
      name: IF_OPER_DORMANT
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/hostap/src/drivers/linux_defines.h
      type_or_value: '5'
    - item_type: preproc_def
      name: IF_OPER_UP
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/hostap/src/drivers/linux_defines.h
      type_or_value: '6'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/drivers/linux_wext.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IW_ENCODE_ALG_PMK
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/hostap/src/drivers/linux_wext.h
      type_or_value: '4'
    - item_type: preproc_def
      name: IW_ENC_CAPA_4WAY_HANDSHAKE
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/hostap/src/drivers/linux_wext.h
      type_or_value: '0x00000010'
    structs: []
    typedefs:
    - item_type: typedef
      name: __u32
      pos:
        line_end: 23
        line_start: 23
        source_file: /src/hostap/src/drivers/linux_wext.h
      type: uint32_t
    - item_type: typedef
      name: __s32
      pos:
        line_end: 24
        line_start: 24
        source_file: /src/hostap/src/drivers/linux_wext.h
      type: int32_t
    - item_type: typedef
      name: __u16
      pos:
        line_end: 25
        line_start: 25
        source_file: /src/hostap/src/drivers/linux_wext.h
      type: uint16_t
    - item_type: typedef
      name: __s16
      pos:
        line_end: 26
        line_start: 26
        source_file: /src/hostap/src/drivers/linux_wext.h
      type: int16_t
    - item_type: typedef
      name: __u8
      pos:
        line_end: 27
        line_start: 27
        source_file: /src/hostap/src/drivers/linux_wext.h
      type: uint8_t
    union: []
- function_names: []
  source_file: /src/hostap/src/drivers/driver_wext.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*ctx'
        type: void
      - name: '*netlink'
        type: struct netlink_data
      - name: ioctl_sock
        type: int
      - name: mlme_sock
        type: int
      - name: ifname[IFNAMSIZ + 1]
        type: char
      - name: phyname[32]
        type: char
      - name: ifindex
        type: int
      - name: ifindex2
        type: int
      - name: if_removed
        type: int
      - name: if_disabled
        type: int
      - name: '*rfkill'
        type: struct rfkill_data
      - name: '*assoc_req_ies'
        type: u8
      - name: assoc_req_ies_len
        type: size_t
      - name: '*assoc_resp_ies'
        type: u8
      - name: assoc_resp_ies_len
        type: size_t
      - name: capa
        type: struct wpa_driver_capa
      - name: has_capability
        type: int
      - name: we_version_compiled
        type: int
      - name: use_crypt
        type: int
      - name: auth_alg_fallback
        type: int
      - name: operstate
        type: int
      - name: mlmedev[IFNAMSIZ + 1]
        type: char
      - name: scan_complete_events
        type: int
      - name: cfg80211
        type: int
      - name: max_level
        type: u8
      - name: ignore_next_disconnect
        type: bool
      item_type: struct
      name: wpa_driver_wext_data
      pos:
        line_end: 48
        line_start: 13
        source_file: /src/hostap/src/drivers/driver_wext.h
    typedefs: []
    union: []
- function_names:
  - netlink_receive_link
  - netlink_receive
  - netlink_init
  - netlink_deinit
  - linkmode_str
  - operstate_str
  - netlink_send_oper_ifla
  source_file: /src/hostap/src/drivers/netlink.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*cfg'
        type: struct netlink_config
      - name: sock
        type: int
      item_type: struct
      name: netlink_data
      pos:
        line_end: 19
        line_start: 16
        source_file: /src/hostap/src/drivers/netlink.c
    - fields:
      - name: hdr
        type: struct nlmsghdr
      - name: ifinfo
        type: struct ifinfomsg
      - name: opts[16]
        type: char
      item_type: struct
      name: req
      pos:
        line_end: 177
        line_start: 173
        source_file: /src/hostap/src/drivers/netlink.c
    typedefs: []
    union: []
- function_names:
  - wpa_driver_openbsd_get_ssid
  - wpa_driver_openbsd_get_bssid
  - wpa_driver_openbsd_get_capa
  - wpa_driver_openbsd_set_key
  - wpa_driver_openbsd_init
  - wpa_driver_openbsd_deinit
  source_file: /src/hostap/src/drivers/driver_openbsd.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: ifname[IFNAMSIZ + 1]
        type: char
      - name: '*ctx'
        type: void
      - name: sock
        type: int
      item_type: struct
      name: openbsd_driver_data
      pos:
        line_end: 24
        line_start: 19
        source_file: /src/hostap/src/drivers/driver_openbsd.c
    typedefs: []
    union: []
- function_names:
  - rfkill_receive
  - rfkill_init
  - rfkill_deinit
  - rfkill_is_blocked
  source_file: /src/hostap/src/drivers/rfkill.c
  types:
    enum:
    - enumerators:
      - name: RFKILL_OP_ADD
        value: '0'
      - name: RFKILL_OP_CHANGE
      - name: RFKILL_OP_DEL
      - name: RFKILL_OP_CHANGE_ALL
      item_type: enum
      name: rfkill_operation
      pos:
        line_end: 31
        line_start: 26
        source_file: /src/hostap/src/drivers/rfkill.c
    - enumerators:
      - name: RFKILL_TYPE_ALL
        value: '0'
      - name: RFKILL_TYPE_WIMAX
      - name: RFKILL_TYPE_BLUETOOTH
      - name: RFKILL_TYPE_WLAN
      - name: RFKILL_TYPE_UWB
      - name: RFKILL_TYPE_WWAN
      - name: RFKILL_TYPE_GPS
      - name: RFKILL_TYPE_FM
      - name: NUM_RFKILL_TYPES
      item_type: enum
      name: rfkill_type
      pos:
        line_end: 43
        line_start: 33
        source_file: /src/hostap/src/drivers/rfkill.c
    preproc_defs:
    - item_type: preproc_def
      name: RFKILL_EVENT_SIZE_V1
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/hostap/src/drivers/rfkill.c
      type_or_value: '8'
    structs:
    - fields:
      - name: idx
        type: u32
      - name: type
        type: u8
      - name: op
        type: u8
      - name: soft
        type: u8
      - name: hard
        type: u8
      item_type: struct
      name: rfkill_event
      pos:
        line_end: 24
        line_start: 18
        source_file: /src/hostap/src/drivers/rfkill.c
    - fields:
      - name: '*cfg'
        type: struct rfkill_config
      - name: fd
        type: int
      - name: blocked
        type: int
      - name: idx
        type: uint32_t
      item_type: struct
      name: rfkill_data
      pos:
        line_end: 51
        line_start: 46
        source_file: /src/hostap/src/drivers/rfkill.c
    typedefs: []
    union: []
- function_names:
  - none_driver_hapd_init
  - none_driver_hapd_deinit
  - none_driver_init
  - none_driver_deinit
  source_file: /src/hostap/src/drivers/driver_none.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*hapd'
        type: struct hostapd_data
      - name: '*ctx'
        type: void
      item_type: struct
      name: none_driver_data
      pos:
        line_end: 17
        line_start: 14
        source_file: /src/hostap/src/drivers/driver_none.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/drivers/android_drv.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: WPA_EVENT_DRIVER_STATE
      pos:
        line_end: 11
        line_start: 10
        source_file: /src/hostap/src/drivers/android_drv.h
      type_or_value: '"CTRL-EVENT-DRIVER-STATE "'
    - item_type: preproc_def
      name: MAX_SSID_LEN
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/hostap/src/drivers/android_drv.h
      type_or_value: '32'
    - item_type: preproc_def
      name: MAX_DRV_CMD_SIZE
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/hostap/src/drivers/android_drv.h
      type_or_value: '248'
    - item_type: preproc_def
      name: DRV_NUMBER_SEQUENTIAL_ERRORS
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/hostap/src/drivers/android_drv.h
      type_or_value: '4'
    - item_type: preproc_def
      name: WEXT_PNOSETUP_HEADER
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/hostap/src/drivers/android_drv.h
      type_or_value: '"PNOSETUP "'
    - item_type: preproc_def
      name: WEXT_PNOSETUP_HEADER_SIZE
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/hostap/src/drivers/android_drv.h
      type_or_value: '9'
    - item_type: preproc_def
      name: WEXT_PNO_TLV_PREFIX
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/hostap/src/drivers/android_drv.h
      type_or_value: '''S'''
    - item_type: preproc_def
      name: WEXT_PNO_TLV_VERSION
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/hostap/src/drivers/android_drv.h
      type_or_value: '''1'''
    - item_type: preproc_def
      name: WEXT_PNO_TLV_SUBVERSION
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/hostap/src/drivers/android_drv.h
      type_or_value: '''2'''
    - item_type: preproc_def
      name: WEXT_PNO_TLV_RESERVED
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/hostap/src/drivers/android_drv.h
      type_or_value: '''0'''
    - item_type: preproc_def
      name: WEXT_PNO_VERSION_SIZE
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/hostap/src/drivers/android_drv.h
      type_or_value: '4'
    - item_type: preproc_def
      name: WEXT_PNO_AMOUNT
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/hostap/src/drivers/android_drv.h
      type_or_value: '16'
    - item_type: preproc_def
      name: WEXT_PNO_SSID_SECTION
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/hostap/src/drivers/android_drv.h
      type_or_value: '''S'''
    - item_type: preproc_def
      name: WEXT_PNO_SSID_HEADER_SIZE
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/hostap/src/drivers/android_drv.h
      type_or_value: '2'
    - item_type: preproc_def
      name: WEXT_PNO_SCAN_INTERVAL_SECTION
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/hostap/src/drivers/android_drv.h
      type_or_value: '''T'''
    - item_type: preproc_def
      name: WEXT_PNO_SCAN_INTERVAL_LENGTH
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/hostap/src/drivers/android_drv.h
      type_or_value: '2'
    - item_type: preproc_def
      name: WEXT_PNO_SCAN_INTERVAL
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/hostap/src/drivers/android_drv.h
      type_or_value: '30'
    - item_type: preproc_def
      name: WEXT_PNO_SCAN_INTERVAL_SIZE
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/hostap/src/drivers/android_drv.h
      type_or_value: (1 + WEXT_PNO_SCAN_INTERVAL_LENGTH)
    - item_type: preproc_def
      name: WEXT_PNO_REPEAT_SECTION
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/hostap/src/drivers/android_drv.h
      type_or_value: '''R'''
    - item_type: preproc_def
      name: WEXT_PNO_REPEAT_LENGTH
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/hostap/src/drivers/android_drv.h
      type_or_value: '1'
    - item_type: preproc_def
      name: WEXT_PNO_REPEAT
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/hostap/src/drivers/android_drv.h
      type_or_value: '4'
    - item_type: preproc_def
      name: WEXT_PNO_REPEAT_SIZE
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/hostap/src/drivers/android_drv.h
      type_or_value: (1 + WEXT_PNO_REPEAT_LENGTH)
    - item_type: preproc_def
      name: WEXT_PNO_MAX_REPEAT_SECTION
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/hostap/src/drivers/android_drv.h
      type_or_value: '''M'''
    - item_type: preproc_def
      name: WEXT_PNO_MAX_REPEAT_LENGTH
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/hostap/src/drivers/android_drv.h
      type_or_value: '1'
    - item_type: preproc_def
      name: WEXT_PNO_MAX_REPEAT
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/hostap/src/drivers/android_drv.h
      type_or_value: '3'
    - item_type: preproc_def
      name: WEXT_PNO_MAX_REPEAT_SIZE
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/hostap/src/drivers/android_drv.h
      type_or_value: (1 + WEXT_PNO_MAX_REPEAT_LENGTH)
    - item_type: preproc_def
      name: WEXT_PNO_NONSSID_SECTIONS_SIZE
      pos:
        line_end: 48
        line_start: 46
        source_file: /src/hostap/src/drivers/android_drv.h
      type_or_value: (WEXT_PNO_SCAN_INTERVAL_SIZE + WEXT_PNO_REPEAT_SIZE + WEXT_PNO_MAX_REPEAT_SIZE)
    - item_type: preproc_def
      name: WEXT_PNO_MAX_COMMAND_SIZE
      pos:
        line_end: 54
        line_start: 50
        source_file: /src/hostap/src/drivers/android_drv.h
      type_or_value: "(WEXT_PNOSETUP_HEADER_SIZE + WEXT_PNO_VERSION_SIZE \\\n\t +
        WEXT_PNO_AMOUNT * (WEXT_PNO_SSID_HEADER_SIZE + MAX_SSID_LEN) \\\n\t + WEXT_PNO_NONSSID_SECTIONS_SIZE
        + 1)"
    structs: []
    typedefs: []
    union: []
- function_names:
  - protocol_feature_handler
  - get_nl80211_protocol_features
  - probe_resp_offload_support
  - wiphy_info_supported_iftypes
  - nla_for_each_nested
  - wiphy_info_iface_comb_process
  - nla_for_each_nested
  - nla_for_each_nested
  - wiphy_info_iface_comb
  - nla_for_each_nested
  - wiphy_info_supp_cmds
  - nla_for_each_nested
  - get_akm_suites_info
  - get_iface_akm_suites_info
  - nla_for_each_nested
  - wiphy_info_iftype_akm_suites
  - wiphy_info_akm_suites
  - wiphy_info_cipher_suites
  - wiphy_info_max_roc
  - wiphy_info_tdls
  - ext_feature_isset
  - wiphy_info_ext_feature_flags
  - wiphy_info_feature_flags
  - wiphy_info_probe_resp_offload
  - wiphy_info_wowlan_triggers
  - wiphy_info_extended_capab
  - nla_for_each_nested
  - wiphy_info_mbssid
  - wiphy_info_nan_capa_handler
  - nl80211_to_pd_bw_bitmap
  - nl80211_to_pd_preamble_bitmap
  - pmsr_type_ftm_handler
  - wiphy_info_pmsr_type_capa
  - nla_for_each_nested
  - wiphy_info_pmsr_capa
  - wiphy_info_handler
  - nla_for_each_nested
  - nla_for_each_nested
  - wpa_driver_nl80211_get_info
  - dfs_info_handler
  - qca_nl80211_check_dfs_capa
  - features_info_handler
  - check_feature
  - qca_nl80211_get_features
  - wpa_driver_nl80211_capa
  - phy_info_ht_capa
  - phy_info_vht_capa
  - phy_info_edmg_capa
  - cw2ecw
  - phy_info_freq
  - nla_for_each_nested
  - phy_info_freqs
  - nla_for_each_nested
  - nla_for_each_nested
  - phy_info_rates
  - nla_for_each_nested
  - nla_for_each_nested
  - phy_info_iftype_copy
  - phy_info_iftype
  - phy_info_band
  - nla_for_each_nested
  - phy_info_handler
  - nla_for_each_nested
  - wpa_driver_nl80211_postprocess_modes
  - nl80211_set_ht40_mode
  - nl80211_set_ht40_mode_sec
  - nl80211_reg_rule_max_eirp
  - nl80211_reg_rule_ht40
  - nl80211_reg_rule_sec
  - nl80211_set_vht_mode
  - nl80211_reg_rule_vht
  - nl80211_set_6ghz_mode
  - nl80211_reg_rule_6ghz
  - nl80211_set_dfs_domain
  - dfs_domain_name
  - nl80211_get_reg
  - nla_for_each_nested
  - nla_for_each_nested
  - nla_for_each_nested
  - nla_for_each_nested
  - nl80211_set_regulatory_flags
  - modestr
  - nl80211_dump_chan_list
  - nl80211_get_hw_feature_data
  - phy_multi_hw_info_parse
  - phy_multi_hw_info_handler
  - nla_for_each_nested
  - nla_for_each_nested
  - nl80211_get_multi_hw_info
  source_file: /src/hostap/src/drivers/driver_nl80211_capa.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*drv'
        type: struct wpa_driver_nl80211_data
      - name: '*capa'
        type: struct wpa_driver_capa
      - name: num_multichan_concurrent
        type: unsigned int
      - name: num_multichan_concurrent_nan
        type: unsigned int
      - name: error
        type: unsigned int
      - name: device_ap_sme
        type: unsigned int
      - name: poll_command_supported
        type: unsigned int
      - name: data_tx_status
        type: unsigned int
      - name: auth_supported
        type: unsigned int
      - name: connect_supported
        type: unsigned int
      - name: p2p_go_supported
        type: unsigned int
      - name: p2p_client_supported
        type: unsigned int
      - name: p2p_go_ctwindow_supported
        type: unsigned int
      - name: p2p_concurrent
        type: unsigned int
      - name: channel_switch_supported
        type: unsigned int
      - name: set_qos_map_supported
        type: unsigned int
      - name: have_low_prio_scan
        type: unsigned int
      - name: wmm_ac_supported
        type: unsigned int
      - name: mac_addr_rand_scan_supported
        type: unsigned int
      - name: mac_addr_rand_sched_scan_supported
        type: unsigned int
      - name: update_ft_ies_supported
        type: unsigned int
      - name: has_key_mgmt
        type: unsigned int
      - name: has_key_mgmt_iftype
        type: unsigned int
      - name: support_ap_scan
        type: unsigned int
      - name: nan_supported
        type: unsigned int
      - name: nan_ndp_supported
        type: unsigned int
      - name: nan_phy_capabilities_valid
        type: unsigned int
      item_type: struct
      name: wiphy_info_data
      pos:
        line_end: 91
        line_start: 60
        source_file: /src/hostap/src/drivers/driver_nl80211_capa.c
    - fields:
      - name: '*flags'
        type: u8
      - name: flags_len
        type: size_t
      - name: '*capa'
        type: struct wpa_driver_capa
      item_type: struct
      name: features_info
      pos:
        line_end: 1792
        line_start: 1788
        source_file: /src/hostap/src/drivers/driver_nl80211_capa.c
    - fields:
      - name: '*num_modes'
        type: u16
      - name: '*modes'
        type: struct hostapd_hw_modes
      - name: last_mode
        type: int
      - name: failed
        type: int
      - name: dfs_domain
        type: u8
      - name: alpha2[3]
        type: char
      item_type: struct
      name: phy_info_arg
      pos:
        line_end: 2102
        line_start: 2095
        source_file: /src/hostap/src/drivers/driver_nl80211_capa.c
    - fields:
      - name: failed
        type: bool
      - name: '*num_multi_hws'
        type: unsigned int
      - name: '*multi_hws'
        type: struct hostapd_multi_hw_info
      item_type: struct
      name: phy_multi_hw_info_arg
      pos:
        line_end: 3307
        line_start: 3303
        source_file: /src/hostap/src/drivers/driver_nl80211_capa.c
    typedefs: []
    union: []
- function_names:
  - wpa_driver_ndis_event_process
  - wpa_driver_ndis_event_pipe_cb
  source_file: /src/hostap/src/drivers/driver_ndis_.c
  types:
    enum:
    - enumerators:
      - name: EVENT_CONNECT
      - name: EVENT_ADAPTER_REMOVAL
      - name: EVENT_ADAPTER_ARRIVAL
      - name: EVENT_MEDIA_SPECIFIC
      - name: EVENT_DISCONNECT
      item_type: enum
      name: event_types
      pos:
        line_end: 31
        line_start: 29
        source_file: /src/hostap/src/drivers/driver_ndis_.c
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: '* LPADAPTER'
      pos:
        line_end: 17
        line_start: 17
        source_file: /src/hostap/src/drivers/driver_ndis_.c
      type: _ADAPTER
    union: []
- function_names:
  - NLMSG_ALIGN
  - NLMSG_LENGTH
  - NLMSG_SPACE
  - NLMSG_DATA
  - NLMSG_NEXT
  - NLMSG_OK
  - NLMSG_PAYLOAD
  - RTA_ALIGN
  - RTA_OK
  - RTA_NEXT
  - RTA_LENGTH
  - RTA_SPACE
  - RTA_DATA
  - RTA_PAYLOAD
  source_file: /src/hostap/src/drivers/priv_netlink.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IFF_LOWER_UP
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/hostap/src/drivers/priv_netlink.h
      type_or_value: '0x10000         '
    - item_type: preproc_def
      name: IFF_DORMANT
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/hostap/src/drivers/priv_netlink.h
      type_or_value: '0x20000         '
    - item_type: preproc_def
      name: IFLA_IFNAME
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/hostap/src/drivers/priv_netlink.h
      type_or_value: '3'
    - item_type: preproc_def
      name: IFLA_WIRELESS
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/hostap/src/drivers/priv_netlink.h
      type_or_value: '11'
    - item_type: preproc_def
      name: IFLA_OPERSTATE
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/hostap/src/drivers/priv_netlink.h
      type_or_value: '16'
    - item_type: preproc_def
      name: IFLA_LINKMODE
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/hostap/src/drivers/priv_netlink.h
      type_or_value: '17'
    - item_type: preproc_def
      name: IF_OPER_DORMANT
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/hostap/src/drivers/priv_netlink.h
      type_or_value: '5'
    - item_type: preproc_def
      name: IF_OPER_UP
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/hostap/src/drivers/priv_netlink.h
      type_or_value: '6'
    - item_type: preproc_def
      name: NLM_F_REQUEST
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/hostap/src/drivers/priv_netlink.h
      type_or_value: '1'
    - item_type: preproc_def
      name: NETLINK_ROUTE
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/hostap/src/drivers/priv_netlink.h
      type_or_value: '0'
    - item_type: preproc_def
      name: RTMGRP_LINK
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/hostap/src/drivers/priv_netlink.h
      type_or_value: '1'
    - item_type: preproc_def
      name: RTM_BASE
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/hostap/src/drivers/priv_netlink.h
      type_or_value: '0x10'
    - item_type: preproc_def
      name: RTM_NEWLINK
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/hostap/src/drivers/priv_netlink.h
      type_or_value: (RTM_BASE + 0)
    - item_type: preproc_def
      name: RTM_DELLINK
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/hostap/src/drivers/priv_netlink.h
      type_or_value: (RTM_BASE + 1)
    - item_type: preproc_def
      name: RTM_SETLINK
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/hostap/src/drivers/priv_netlink.h
      type_or_value: (RTM_BASE + 3)
    - item_type: preproc_def
      name: NLMSG_ALIGNTO
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/hostap/src/drivers/priv_netlink.h
      type_or_value: '4'
    - item_type: preproc_def
      name: NLMSG_HDRLEN
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/hostap/src/drivers/priv_netlink.h
      type_or_value: ((int) NLMSG_ALIGN(sizeof(struct nlmsghdr)))
    - item_type: preproc_def
      name: RTA_ALIGNTO
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/hostap/src/drivers/priv_netlink.h
      type_or_value: '4'
    structs:
    - fields:
      - name: nl_family
        type: sa_family_t
      - name: nl_pad
        type: unsigned short
      - name: nl_pid
        type: u32
      - name: nl_groups
        type: u32
      item_type: struct
      name: sockaddr_nl
      pos:
        line_end: 81
        line_start: 75
        source_file: /src/hostap/src/drivers/priv_netlink.h
    - fields:
      - name: nlmsg_len
        type: u32
      - name: nlmsg_type
        type: u16
      - name: nlmsg_flags
        type: u16
      - name: nlmsg_seq
        type: u32
      - name: nlmsg_pid
        type: u32
      item_type: struct
      name: nlmsghdr
      pos:
        line_end: 90
        line_start: 83
        source_file: /src/hostap/src/drivers/priv_netlink.h
    - fields:
      - name: ifi_family
        type: unsigned char
      - name: __ifi_pad
        type: unsigned char
      - name: ifi_type
        type: unsigned short
      - name: ifi_index
        type: int
      - name: ifi_flags
        type: unsigned
      - name: ifi_change
        type: unsigned
      item_type: struct
      name: ifinfomsg
      pos:
        line_end: 100
        line_start: 92
        source_file: /src/hostap/src/drivers/priv_netlink.h
    - fields:
      - name: rta_len
        type: unsigned short
      - name: rta_type
        type: unsigned short
      item_type: struct
      name: rtattr
      pos:
        line_end: 106
        line_start: 102
        source_file: /src/hostap/src/drivers/priv_netlink.h
    typedefs: []
    union: []
- function_names:
  - FULL_AP_CLIENT_STATE_SUPP
  - drv_event_assoc
  - drv_event_disassoc
  - drv_event_eapol_rx
  - drv_event_eapol_rx2
  source_file: /src/hostap/src/drivers/driver.h
  types:
    enum:
    - enumerators:
      - name: HOSTAPD_CHAN_WIDTH_10
        value: BIT(0)
      - name: HOSTAPD_CHAN_WIDTH_40M
        value: BIT(3)
      - name: HOSTAPD_CHAN_WIDTH_40P
        value: BIT(2)
      - name: HOSTAPD_CHAN_WIDTH_20
        value: BIT(1)
      - name: HOSTAPD_CHAN_WIDTH_80
        value: BIT(4)
      - name: HOSTAPD_CHAN_WIDTH_160
        value: BIT(5)
      - name: HOSTAPD_CHAN_WIDTH_320
        value: BIT(6)
      item_type: enum
      name: hostapd_chan_width_attr
      pos:
        line_end: 65
        line_start: 57
        source_file: /src/hostap/src/drivers/driver.h
    - enumerators:
      - name: REGDOM_SET_BY_CORE
      - name: REGDOM_BEACON_HINT
      - name: REGDOM_SET_BY_COUNTRY_IE
      - name: REGDOM_SET_BY_DRIVER
      - name: REGDOM_SET_BY_USER
      item_type: enum
      name: reg_change_initiator
      pos:
        line_end: 87
        line_start: 81
        source_file: /src/hostap/src/drivers/driver.h
    - enumerators:
      - name: REGDOM_TYPE_UNKNOWN
      - name: REGDOM_TYPE_INTERSECTION
      - name: REGDOM_TYPE_WORLD
      - name: REGDOM_TYPE_CUSTOM_WORLD
      - name: REGDOM_TYPE_COUNTRY
      item_type: enum
      name: reg_type
      pos:
        line_end: 98
        line_start: 92
        source_file: /src/hostap/src/drivers/driver.h
    - enumerators:
      - name: IEEE80211_MODE_INFRA
        value: '0'
      - name: IEEE80211_MODE_AP
        value: '2'
      - name: IEEE80211_MODE_MESH
        value: '5'
      - name: IEEE80211_MODE_IBSS
        value: '1'
      - name: IEEE80211_MODE_NUM
      item_type: enum
      name: ieee80211_op_mode
      pos:
        line_end: 240
        line_start: 232
        source_file: /src/hostap/src/drivers/driver.h
    - enumerators:
      - name: WPS_MODE_NONE
      - name: WPS_MODE_OPEN
      - name: WPS_MODE_PRIVACY
      item_type: enum
      name: wps_mode
      pos:
        line_end: 837
        line_start: 822
        source_file: /src/hostap/src/drivers/driver.h
    - enumerators:
      - name: NO_SSID_HIDING
      - name: HIDDEN_SSID_ZERO_LEN
      - name: HIDDEN_SSID_ZERO_CONTENTS
      item_type: enum
      name: hide_ssid
      pos:
        line_end: 1477
        line_start: 1473
        source_file: /src/hostap/src/drivers/driver.h
    - enumerators:
      - name: CH_SW_STARTED
      - name: CH_SW_FINISHED
      item_type: enum
      name: ch_switch_state
      pos:
        line_end: 1482
        line_start: 1479
        source_file: /src/hostap/src/drivers/driver.h
    - enumerators:
      - name: WPA_IF_STATION
      - name: WPA_IF_P2P_GO
      - name: WPA_IF_AP_BSS
      - name: WPA_IF_P2P_CLIENT
      - name: WPA_IF_AP_VLAN
      - name: WPA_IF_P2P_GROUP
      - name: WPA_IF_P2P_DEVICE
      - name: WPA_IF_MESH
      - name: WPA_IF_TDLS
      - name: WPA_IF_IBSS
      - name: WPA_IF_NAN_DATA
      - name: WPA_IF_NAN
      - name: WPA_IF_MAX
      - name: WPA_IF_PD
      item_type: enum
      name: wpa_driver_if_type
      pos:
        line_end: 2237
        line_start: 2162
        source_file: /src/hostap/src/drivers/driver.h
    - enumerators:
      - name: GUARD_INTERVAL_0_4
        value: '1'
      - name: GUARD_INTERVAL_3_2
        value: '4'
      - name: GUARD_INTERVAL_1_6
        value: '3'
      - name: GUARD_INTERVAL_0_8
        value: '2'
      item_type: enum
      name: guard_interval
      pos:
        line_end: 2793
        line_start: 2788
        source_file: /src/hostap/src/drivers/driver.h
    - enumerators:
      - name: TDLS_DISCOVERY_REQ
      - name: TDLS_TEARDOWN
      - name: TDLS_ENABLE_LINK
      - name: TDLS_DISABLE_LINK
      - name: TDLS_SETUP
      - name: TDLS_ENABLE
      - name: TDLS_DISABLE
      item_type: enum
      name: tdls_oper
      pos:
        line_end: 2962
        line_start: 2954
        source_file: /src/hostap/src/drivers/driver.h
    - enumerators:
      - name: WNM_SLEEP_ENTER_CONFIRM
      - name: WNM_SLEEP_EXIT_FAIL
      - name: WNM_SLEEP_TFS_REQ_IE_ADD
      - name: WNM_SLEEP_ENTER_FAIL
      - name: WNM_SLEEP_EXIT_CONFIRM
      - name: WNM_SLEEP_TFS_REQ_IE_NONE
      - name: WNM_SLEEP_TFS_REQ_IE_SET
      - name: WNM_SLEEP_TFS_RESP_IE_ADD
      - name: WNM_SLEEP_TFS_RESP_IE_NONE
      - name: WNM_SLEEP_TFS_RESP_IE_SET
      - name: WNM_SLEEP_TFS_IE_DEL
      item_type: enum
      name: wnm_oper
      pos:
        line_end: 2979
        line_start: 2964
        source_file: /src/hostap/src/drivers/driver.h
    - enumerators:
      - name: SMPS_AUTOMATIC
      - name: SMPS_STATIC
      - name: SMPS_OFF
      - name: SMPS_DYNAMIC
      - name: SMPS_INVALID
      item_type: enum
      name: smps_mode
      pos:
        line_end: 2990
        line_start: 2982
        source_file: /src/hostap/src/drivers/driver.h
    - enumerators:
      - name: TDLS_PEER_HT
        value: BIT(0)
      - name: TDLS_PEER_HE
        value: BIT(3)
      - name: TDLS_PEER_WMM
        value: BIT(2)
      - name: TDLS_PEER_VHT
        value: BIT(1)
      item_type: enum
      name: tdls_peer_capability
      pos:
        line_end: 3151
        line_start: 3146
        source_file: /src/hostap/src/drivers/driver.h
    - enumerators:
      - name: WMM_PARAMS_UAPSD_QUEUES_INFO
        value: BIT(0)
      item_type: enum
      name: wmm_params_valid_info
      pos:
        line_end: 3156
        line_start: 3154
        source_file: /src/hostap/src/drivers/driver.h
    - enumerators:
      - name: DRV_BR_PORT_ATTR_PROXYARP
      - name: DRV_BR_PORT_ATTR_MCAST2UCAST
      - name: DRV_BR_PORT_ATTR_HAIRPIN_MODE
      item_type: enum
      name: drv_br_port_attr
      pos:
        line_end: 3182
        line_start: 3178
        source_file: /src/hostap/src/drivers/driver.h
    - enumerators:
      - name: DRV_BR_NET_PARAM_GARP_ACCEPT
      - name: DRV_BR_MULTICAST_SNOOPING
      item_type: enum
      name: drv_br_net_param
      pos:
        line_end: 3187
        line_start: 3184
        source_file: /src/hostap/src/drivers/driver.h
    - enumerators:
      - name: WPA_DRV_UPDATE_ASSOC_IES
        value: BIT(0)
      - name: WPA_DRV_UPDATE_FILS_ERP_INFO
        value: BIT(1)
      - name: WPA_DRV_UPDATE_AUTH_TYPE
        value: BIT(2)
      item_type: enum
      name: wpa_drv_update_connect_params_mask
      pos:
        line_end: 3250
        line_start: 3246
        source_file: /src/hostap/src/drivers/driver.h
    - enumerators:
      - name: PASN_STATUS_SUCCESS
        value: '0'
      - name: PASN_STATUS_FAILURE
        value: '1'
      item_type: enum
      name: pasn_status
      pos:
        line_end: 3311
        line_start: 3308
        source_file: /src/hostap/src/drivers/driver.h
    - enumerators:
      - name: NESTED_ATTR_NOT_USED
        value: '0'
      - name: NESTED_ATTR_UNSPECIFIED
        value: '2'
      - name: NESTED_ATTR_USED
        value: '1'
      item_type: enum
      name: nested_attr
      pos:
        line_end: 3408
        line_start: 3404
        source_file: /src/hostap/src/drivers/driver.h
    - enumerators:
      - name: EVENT_TDLS
      - name: EVENT_WPS_BUTTON_PUSHED
      - name: EVENT_CANCEL_REMAIN_ON_CHANNEL
      - name: EVENT_INTERFACE_UNAVAILABLE
      - name: EVENT_LINK_CH_SWITCH
      - name: EVENT_DFS_CAC_ABORTED
      - name: EVENT_DRIVER_CLIENT_POLL_OK
      - name: EVENT_INCUMBT_SIG_INTF_DETECTED
      - name: EVENT_P2P_LO_STOP
      - name: EVENT_UPDATE_DH
      - name: EVENT_STATION_OPMODE_CHANGED
      - name: EVENT_IBSS_PEER_LOST
      - name: EVENT_SETUP_LINK_RECONFIG
      - name: EVENT_ASSOCINFO
      - name: EVENT_ASSOC_REJECT
      - name: EVENT_NEW_PEER_CANDIDATE
      - name: EVENT_INTERFACE_ENABLED
      - name: EVENT_CCA_ABORTED_NOTIFY
      - name: EVENT_CONNECT_FAILED_REASON
      - name: EVENT_PEER_MEASUREMENT_COMPLETE
      - name: EVENT_INTERFACE_STATUS
      - name: EVENT_AUTH_TIMED_OUT
      - name: EVENT_ACS_CHANNEL_SELECTED
      - name: EVENT_INTERFACE_DISABLED
      - name: EVENT_CCA_NOTIFY
      - name: EVENT_DFS_RADAR_DETECTED
      - name: EVENT_INTERFACE_MAC_CHANGED
      - name: EVENT_DRIVER_GTK_REKEY
      - name: EVENT_NAN_CLUSTER_JOIN
      - name: EVENT_CH_SWITCH_STARTED
      - name: EVENT_EXTERNAL_AUTH
      - name: EVENT_UNPROT_DISASSOC
      - name: EVENT_MICHAEL_MIC_FAILURE
      - name: EVENT_RX_MGMT
      - name: EVENT_AUTH
      - name: EVENT_LINK_RECONFIG
      - name: EVENT_SCAN_STARTED
      - name: EVENT_EAPOL_RX
      - name: EVENT_BSS_COLOR_COLLISION
      - name: EVENT_NAN_ULW_UPDATE
      - name: EVENT_SCAN_RESULTS
      - name: EVENT_DEAUTH
      - name: EVENT_AVOID_FREQUENCIES
      - name: EVENT_SIGNAL_CHANGE
      - name: EVENT_CCA_STARTED_NOTIFY
      - name: EVENT_WNM
      - name: EVENT_PORT_AUTHORIZED
      - name: EVENT_STATION_LOW_ACK
      - name: EVENT_MLD_INTERFACE_FREED
      - name: EVENT_PEER_MEASUREMENT_RESULT
      - name: EVENT_NAN_CHAN_EVACUATION
      - name: EVENT_EAPOL_TX_STATUS
      - name: EVENT_BEACON_LOSS
      - name: EVENT_BEST_CHANNEL
      - name: EVENT_ASSOC
      - name: EVENT_FT_RESPONSE
      - name: EVENT_TX_STATUS
      - name: EVENT_LINK_CH_SWITCH_STARTED
      - name: EVENT_DFS_NOP_FINISHED
      - name: EVENT_RX_PROBE_REQ
      - name: EVENT_UNPROT_BEACON
      - name: EVENT_DISASSOC
      - name: EVENT_IBSS_RSN_START
      - name: EVENT_RX_FROM_UNKNOWN
      - name: EVENT_TID_LINK_MAP
      - name: EVENT_SURVEY
      - name: EVENT_NEW_STA
      - name: EVENT_TX_WAIT_EXPIRE
      - name: EVENT_CH_SWITCH
      - name: EVENT_DFS_PRE_CAC_EXPIRED
      - name: EVENT_UNPROT_DEAUTH
      - name: EVENT_NAN_SCHED_UPDATE_DONE
      - name: EVENT_WDS_STA_INTERFACE_STATUS
      - name: EVENT_SCHED_SCAN_STOPPED
      - name: EVENT_NAN_NEXT_DW
      - name: EVENT_DFS_CAC_STARTED
      - name: EVENT_PMKID_CANDIDATE
      - name: EVENT_ASSOC_TIMED_OUT
      - name: EVENT_CHANNEL_LIST_CHANGED
      - name: EVENT_PASN_AUTH
      - name: EVENT_DFS_CAC_FINISHED
      - name: EVENT_REMAIN_ON_CHANNEL
      item_type: enum
      name: wpa_event_type
      pos:
        line_end: 6715
        line_start: 6012
        source_file: /src/hostap/src/drivers/driver.h
    - enumerators:
      - name: STA_CONNECT_FAIL_REASON_UNSPECIFIED
        value: '0'
      - name: STA_CONNECT_FAIL_REASON_AUTH_NO_ACK_RECEIVED
        value: '3'
      - name: STA_CONNECT_FAIL_REASON_NO_BSS_FOUND
        value: '1'
      - name: STA_CONNECT_FAIL_REASON_AUTH_NO_RESP_RECEIVED
        value: '4'
      - name: STA_CONNECT_FAIL_REASON_AUTH_TX_FAIL
        value: '2'
      - name: STA_CONNECT_FAIL_REASON_ASSOC_REQ_TX_FAIL
        value: '5'
      - name: STA_CONNECT_FAIL_REASON_ASSOC_NO_ACK_RECEIVED
        value: '6'
      - name: STA_CONNECT_FAIL_REASON_ASSOC_NO_RESP_RECEIVED
        value: '7'
      item_type: enum
      name: sta_connect_fail_reason_codes
      pos:
        line_end: 6778
        line_start: 6769
        source_file: /src/hostap/src/drivers/driver.h
    preproc_defs:
    - item_type: preproc_def
      name: WPA_SUPPLICANT_DRIVER_VERSION
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '4'
    - item_type: preproc_def
      name: HOSTAPD_CHAN_DISABLED
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000001'
    - item_type: preproc_def
      name: HOSTAPD_CHAN_NO_IR
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000002'
    - item_type: preproc_def
      name: HOSTAPD_CHAN_RADAR
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000008'
    - item_type: preproc_def
      name: HOSTAPD_CHAN_HT40PLUS
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000010'
    - item_type: preproc_def
      name: HOSTAPD_CHAN_HT40MINUS
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000020'
    - item_type: preproc_def
      name: HOSTAPD_CHAN_HT40
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000040'
    - item_type: preproc_def
      name: HOSTAPD_CHAN_SURVEY_LIST_INITIALIZED
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000080'
    - item_type: preproc_def
      name: HOSTAPD_CHAN_DFS_UNKNOWN
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000000'
    - item_type: preproc_def
      name: HOSTAPD_CHAN_DFS_USABLE
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000100'
    - item_type: preproc_def
      name: HOSTAPD_CHAN_DFS_UNAVAILABLE
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000200'
    - item_type: preproc_def
      name: HOSTAPD_CHAN_DFS_AVAILABLE
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000300'
    - item_type: preproc_def
      name: HOSTAPD_CHAN_DFS_MASK
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000300'
    - item_type: preproc_def
      name: HOSTAPD_CHAN_VHT_80MHZ_SUBCHANNEL
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000800'
    - item_type: preproc_def
      name: HOSTAPD_CHAN_VHT_160MHZ_SUBCHANNEL
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00001000'
    - item_type: preproc_def
      name: HOSTAPD_CHAN_EHT_320MHZ_SUBCHANNEL
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00002000'
    - item_type: preproc_def
      name: HOSTAPD_CHAN_INDOOR_ONLY
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00010000'
    - item_type: preproc_def
      name: HOSTAPD_CHAN_GO_CONCURRENT
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00020000'
    - item_type: preproc_def
      name: HOSTAPD_CHAN_AUTO_BW
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00040000'
    - item_type: preproc_def
      name: WPA_DATA_FRAME_FILTER_FLAG_ARP
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: WPA_DATA_FRAME_FILTER_FLAG_NA
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: WPA_DATA_FRAME_FILTER_FLAG_GTK
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: BIT(2)
    - item_type: preproc_def
      name: HOSTAPD_DFS_REGION_FCC
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HOSTAPD_DFS_REGION_ETSI
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '2'
    - item_type: preproc_def
      name: HOSTAPD_DFS_REGION_JP
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '3'
    - item_type: preproc_def
      name: HE_MAC_CAPAB_0
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0'
    - item_type: preproc_def
      name: HE_MAX_MAC_CAPAB_SIZE
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '6'
    - item_type: preproc_def
      name: HE_MAX_PHY_CAPAB_SIZE
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '11'
    - item_type: preproc_def
      name: HE_MAX_MCS_CAPAB_SIZE
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '12'
    - item_type: preproc_def
      name: HE_MAX_PPET_CAPAB_SIZE
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '25'
    - item_type: preproc_def
      name: HOSTAPD_MODE_FLAG_HT_INFO_KNOWN
      pos:
        line_end: 227
        line_start: 226
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: HOSTAPD_MODE_FLAG_VHT_INFO_KNOWN
      pos:
        line_end: 228
        line_start: 227
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: HOSTAPD_MODE_FLAG_HE_INFO_KNOWN
      pos:
        line_end: 229
        line_start: 228
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: BIT(2)
    - item_type: preproc_def
      name: HOSTAPD_MODE_FLAG_EHT_INFO_KNOWN
      pos:
        line_end: 230
        line_start: 229
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: BIT(3)
    - item_type: preproc_def
      name: IEEE80211_CAP_ESS
      pos:
        line_end: 366
        line_start: 365
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x0001'
    - item_type: preproc_def
      name: IEEE80211_CAP_IBSS
      pos:
        line_end: 367
        line_start: 366
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x0002'
    - item_type: preproc_def
      name: IEEE80211_CAP_PRIVACY
      pos:
        line_end: 368
        line_start: 367
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x0010'
    - item_type: preproc_def
      name: IEEE80211_CAP_RRM
      pos:
        line_end: 369
        line_start: 368
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x1000'
    - item_type: preproc_def
      name: IEEE80211_CAP_DMG_MASK
      pos:
        line_end: 373
        line_start: 372
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x0003'
    - item_type: preproc_def
      name: IEEE80211_CAP_DMG_IBSS
      pos:
        line_end: 374
        line_start: 373
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x0001 '
    - item_type: preproc_def
      name: IEEE80211_CAP_DMG_PBSS
      pos:
        line_end: 375
        line_start: 374
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x0002 '
    - item_type: preproc_def
      name: IEEE80211_CAP_DMG_AP
      pos:
        line_end: 376
        line_start: 375
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x0003 '
    - item_type: preproc_def
      name: WPA_SCAN_QUAL_INVALID
      pos:
        line_end: 378
        line_start: 377
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: WPA_SCAN_NOISE_INVALID
      pos:
        line_end: 379
        line_start: 378
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: WPA_SCAN_LEVEL_INVALID
      pos:
        line_end: 380
        line_start: 379
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: BIT(2)
    - item_type: preproc_def
      name: WPA_SCAN_LEVEL_DBM
      pos:
        line_end: 381
        line_start: 380
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: BIT(3)
    - item_type: preproc_def
      name: WPA_SCAN_ASSOCIATED
      pos:
        line_end: 382
        line_start: 381
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: BIT(5)
    - item_type: preproc_def
      name: WPAS_MAX_SCAN_SSIDS
      pos:
        line_end: 477
        line_start: 476
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '16'
    - item_type: preproc_def
      name: WPA_DRIVER_MESH_CONF_FLAG_AUTO_PLINKS
      pos:
        line_end: 1977
        line_start: 1976
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000001'
    - item_type: preproc_def
      name: WPA_DRIVER_MESH_CONF_FLAG_PEER_LINK_TIMEOUT
      pos:
        line_end: 1978
        line_start: 1977
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000002'
    - item_type: preproc_def
      name: WPA_DRIVER_MESH_CONF_FLAG_MAX_PEER_LINKS
      pos:
        line_end: 1979
        line_start: 1978
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000004'
    - item_type: preproc_def
      name: WPA_DRIVER_MESH_CONF_FLAG_HT_OP_MODE
      pos:
        line_end: 1980
        line_start: 1979
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000008'
    - item_type: preproc_def
      name: WPA_DRIVER_MESH_CONF_FLAG_RSSI_THRESHOLD
      pos:
        line_end: 1981
        line_start: 1980
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000010'
    - item_type: preproc_def
      name: WPA_DRIVER_MESH_CONF_FLAG_FORWARDING
      pos:
        line_end: 1982
        line_start: 1981
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000020'
    - item_type: preproc_def
      name: WPA_DRIVER_MESH_FLAG_USER_MPM
      pos:
        line_end: 2006
        line_start: 2005
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000001'
    - item_type: preproc_def
      name: WPA_DRIVER_MESH_FLAG_DRIVER_MPM
      pos:
        line_end: 2007
        line_start: 2006
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000002'
    - item_type: preproc_def
      name: WPA_DRIVER_MESH_FLAG_SAE_AUTH
      pos:
        line_end: 2008
        line_start: 2007
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000004'
    - item_type: preproc_def
      name: WPA_DRIVER_MESH_FLAG_AMPE
      pos:
        line_end: 2009
        line_start: 2008
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000008'
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_NAN_SUPPORT_DUAL_BAND
      pos:
        line_end: 2282
        line_start: 2281
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000001'
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_NAN_SUPPORT_SYNC_CONFIG
      pos:
        line_end: 2284
        line_start: 2283
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000002'
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_NAN_SUPPORT_USERSPACE_DE
      pos:
        line_end: 2286
        line_start: 2285
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000004'
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_NAN_SUPPORT_NDP
      pos:
        line_end: 2288
        line_start: 2287
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000008'
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_NAN_SUPPORT_BEACON_PROT
      pos:
        line_end: 2290
        line_start: 2289
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000010'
    - item_type: preproc_def
      name: WPA_PR_CHAN_WIDTH_20
      pos:
        line_end: 2314
        line_start: 2313
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0'
    - item_type: preproc_def
      name: WPA_PR_CHAN_WIDTH_40
      pos:
        line_end: 2315
        line_start: 2314
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '1'
    - item_type: preproc_def
      name: WPA_PR_CHAN_WIDTH_80
      pos:
        line_end: 2316
        line_start: 2315
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '2'
    - item_type: preproc_def
      name: WPA_PR_CHAN_WIDTH_80P80
      pos:
        line_end: 2317
        line_start: 2316
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '3'
    - item_type: preproc_def
      name: WPA_PR_CHAN_WIDTH_160
      pos:
        line_end: 2318
        line_start: 2317
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '4'
    - item_type: preproc_def
      name: WPA_PR_PREAMBLE_HT
      pos:
        line_end: 2321
        line_start: 2320
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0'
    - item_type: preproc_def
      name: WPA_PR_PREAMBLE_VHT
      pos:
        line_end: 2322
        line_start: 2321
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '1'
    - item_type: preproc_def
      name: WPA_PR_PREAMBLE_HE
      pos:
        line_end: 2323
        line_start: 2322
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '2'
    - item_type: preproc_def
      name: WPA_DRIVER_CAPA_KEY_MGMT_WPA
      pos:
        line_end: 2329
        line_start: 2328
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000001'
    - item_type: preproc_def
      name: WPA_DRIVER_CAPA_KEY_MGMT_WPA2
      pos:
        line_end: 2330
        line_start: 2329
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000002'
    - item_type: preproc_def
      name: WPA_DRIVER_CAPA_KEY_MGMT_WPA_PSK
      pos:
        line_end: 2331
        line_start: 2330
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000004'
    - item_type: preproc_def
      name: WPA_DRIVER_CAPA_KEY_MGMT_WPA2_PSK
      pos:
        line_end: 2332
        line_start: 2331
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000008'
    - item_type: preproc_def
      name: WPA_DRIVER_CAPA_KEY_MGMT_WPA_NONE
      pos:
        line_end: 2333
        line_start: 2332
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000010'
    - item_type: preproc_def
      name: WPA_DRIVER_CAPA_KEY_MGMT_FT
      pos:
        line_end: 2334
        line_start: 2333
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000020'
    - item_type: preproc_def
      name: WPA_DRIVER_CAPA_KEY_MGMT_FT_PSK
      pos:
        line_end: 2335
        line_start: 2334
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000040'
    - item_type: preproc_def
      name: WPA_DRIVER_CAPA_KEY_MGMT_WAPI_PSK
      pos:
        line_end: 2336
        line_start: 2335
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000080'
    - item_type: preproc_def
      name: WPA_DRIVER_CAPA_KEY_MGMT_SUITE_B
      pos:
        line_end: 2337
        line_start: 2336
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000100'
    - item_type: preproc_def
      name: WPA_DRIVER_CAPA_KEY_MGMT_SUITE_B_192
      pos:
        line_end: 2338
        line_start: 2337
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000200'
    - item_type: preproc_def
      name: WPA_DRIVER_CAPA_KEY_MGMT_OWE
      pos:
        line_end: 2339
        line_start: 2338
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000400'
    - item_type: preproc_def
      name: WPA_DRIVER_CAPA_KEY_MGMT_DPP
      pos:
        line_end: 2340
        line_start: 2339
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000800'
    - item_type: preproc_def
      name: WPA_DRIVER_CAPA_KEY_MGMT_FILS_SHA256
      pos:
        line_end: 2341
        line_start: 2340
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00001000'
    - item_type: preproc_def
      name: WPA_DRIVER_CAPA_KEY_MGMT_FILS_SHA384
      pos:
        line_end: 2342
        line_start: 2341
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00002000'
    - item_type: preproc_def
      name: WPA_DRIVER_CAPA_KEY_MGMT_FT_FILS_SHA256
      pos:
        line_end: 2343
        line_start: 2342
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00004000'
    - item_type: preproc_def
      name: WPA_DRIVER_CAPA_KEY_MGMT_FT_FILS_SHA384
      pos:
        line_end: 2344
        line_start: 2343
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00008000'
    - item_type: preproc_def
      name: WPA_DRIVER_CAPA_KEY_MGMT_SAE
      pos:
        line_end: 2345
        line_start: 2344
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00010000'
    - item_type: preproc_def
      name: WPA_DRIVER_CAPA_KEY_MGMT_802_1X_SHA256
      pos:
        line_end: 2346
        line_start: 2345
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00020000'
    - item_type: preproc_def
      name: WPA_DRIVER_CAPA_KEY_MGMT_PSK_SHA256
      pos:
        line_end: 2347
        line_start: 2346
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00040000'
    - item_type: preproc_def
      name: WPA_DRIVER_CAPA_KEY_MGMT_TPK_HANDSHAKE
      pos:
        line_end: 2348
        line_start: 2347
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00080000'
    - item_type: preproc_def
      name: WPA_DRIVER_CAPA_KEY_MGMT_FT_SAE
      pos:
        line_end: 2349
        line_start: 2348
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00100000'
    - item_type: preproc_def
      name: WPA_DRIVER_CAPA_KEY_MGMT_FT_802_1X_SHA384
      pos:
        line_end: 2350
        line_start: 2349
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00200000'
    - item_type: preproc_def
      name: WPA_DRIVER_CAPA_KEY_MGMT_CCKM
      pos:
        line_end: 2351
        line_start: 2350
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00400000'
    - item_type: preproc_def
      name: WPA_DRIVER_CAPA_KEY_MGMT_SAE_EXT_KEY
      pos:
        line_end: 2352
        line_start: 2351
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x01000000'
    - item_type: preproc_def
      name: WPA_DRIVER_CAPA_KEY_MGMT_FT_SAE_EXT_KEY
      pos:
        line_end: 2353
        line_start: 2352
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x02000000'
    - item_type: preproc_def
      name: WPA_DRIVER_CAPA_ENC_WEP40
      pos:
        line_end: 2358
        line_start: 2357
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000001'
    - item_type: preproc_def
      name: WPA_DRIVER_CAPA_ENC_WEP104
      pos:
        line_end: 2359
        line_start: 2358
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000002'
    - item_type: preproc_def
      name: WPA_DRIVER_CAPA_ENC_TKIP
      pos:
        line_end: 2360
        line_start: 2359
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000004'
    - item_type: preproc_def
      name: WPA_DRIVER_CAPA_ENC_CCMP
      pos:
        line_end: 2361
        line_start: 2360
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000008'
    - item_type: preproc_def
      name: WPA_DRIVER_CAPA_ENC_WEP128
      pos:
        line_end: 2362
        line_start: 2361
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000010'
    - item_type: preproc_def
      name: WPA_DRIVER_CAPA_ENC_GCMP
      pos:
        line_end: 2363
        line_start: 2362
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000020'
    - item_type: preproc_def
      name: WPA_DRIVER_CAPA_ENC_GCMP_256
      pos:
        line_end: 2364
        line_start: 2363
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000040'
    - item_type: preproc_def
      name: WPA_DRIVER_CAPA_ENC_CCMP_256
      pos:
        line_end: 2365
        line_start: 2364
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000080'
    - item_type: preproc_def
      name: WPA_DRIVER_CAPA_ENC_BIP
      pos:
        line_end: 2366
        line_start: 2365
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000100'
    - item_type: preproc_def
      name: WPA_DRIVER_CAPA_ENC_BIP_GMAC_128
      pos:
        line_end: 2367
        line_start: 2366
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000200'
    - item_type: preproc_def
      name: WPA_DRIVER_CAPA_ENC_BIP_GMAC_256
      pos:
        line_end: 2368
        line_start: 2367
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000400'
    - item_type: preproc_def
      name: WPA_DRIVER_CAPA_ENC_BIP_CMAC_256
      pos:
        line_end: 2369
        line_start: 2368
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000800'
    - item_type: preproc_def
      name: WPA_DRIVER_CAPA_ENC_GTK_NOT_USED
      pos:
        line_end: 2370
        line_start: 2369
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00001000'
    - item_type: preproc_def
      name: WPA_DRIVER_AUTH_OPEN
      pos:
        line_end: 2374
        line_start: 2373
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000001'
    - item_type: preproc_def
      name: WPA_DRIVER_AUTH_SHARED
      pos:
        line_end: 2375
        line_start: 2374
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000002'
    - item_type: preproc_def
      name: WPA_DRIVER_AUTH_LEAP
      pos:
        line_end: 2376
        line_start: 2375
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000004'
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_DRIVER_IE
      pos:
        line_end: 2381
        line_start: 2380
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000001'
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_SET_KEYS_AFTER_ASSOC
      pos:
        line_end: 2383
        line_start: 2382
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000002'
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_DFS_OFFLOAD
      pos:
        line_end: 2385
        line_start: 2384
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000004'
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_4WAY_HANDSHAKE_8021X
      pos:
        line_end: 2388
        line_start: 2387
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000008'
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_WIRED
      pos:
        line_end: 2390
        line_start: 2389
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000010'
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_SME
      pos:
        line_end: 2393
        line_start: 2392
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000020'
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_AP
      pos:
        line_end: 2395
        line_start: 2394
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000040'
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_SET_KEYS_AFTER_ASSOC_DONE
      pos:
        line_end: 2397
        line_start: 2396
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000080'
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_HT_2040_COEX
      pos:
        line_end: 2399
        line_start: 2398
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000100'
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_P2P_CONCURRENT
      pos:
        line_end: 2401
        line_start: 2400
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000200'
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_P2P_DEDICATED_INTERFACE
      pos:
        line_end: 2406
        line_start: 2405
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000400'
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_P2P_CAPABLE
      pos:
        line_end: 2408
        line_start: 2407
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000800'
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_AP_TEARDOWN_SUPPORT
      pos:
        line_end: 2410
        line_start: 2409
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00001000'
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_P2P_MGMT_AND_NON_P2P
      pos:
        line_end: 2416
        line_start: 2415
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00002000'
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_VALID_ERROR_CODES
      pos:
        line_end: 2422
        line_start: 2421
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00004000'
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_OFFCHANNEL_TX
      pos:
        line_end: 2424
        line_start: 2423
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00008000'
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_EAPOL_TX_STATUS
      pos:
        line_end: 2426
        line_start: 2425
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00010000'
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_DEAUTH_TX_STATUS
      pos:
        line_end: 2428
        line_start: 2427
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00020000'
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_BSS_SELECTION
      pos:
        line_end: 2430
        line_start: 2429
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00040000'
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_TDLS_SUPPORT
      pos:
        line_end: 2432
        line_start: 2431
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00080000'
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_TDLS_EXTERNAL_SETUP
      pos:
        line_end: 2434
        line_start: 2433
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00100000'
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_PROBE_RESP_OFFLOAD
      pos:
        line_end: 2436
        line_start: 2435
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00200000'
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_AP_UAPSD
      pos:
        line_end: 2438
        line_start: 2437
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00400000'
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_INACTIVITY_TIMER
      pos:
        line_end: 2440
        line_start: 2439
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00800000'
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_AP_MLME
      pos:
        line_end: 2442
        line_start: 2441
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x01000000'
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_SAE
      pos:
        line_end: 2444
        line_start: 2443
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x02000000'
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_OBSS_SCAN
      pos:
        line_end: 2446
        line_start: 2445
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x04000000'
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_IBSS
      pos:
        line_end: 2448
        line_start: 2447
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x08000000'
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_RADAR
      pos:
        line_end: 2450
        line_start: 2449
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x10000000'
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_DEDICATED_P2P_DEVICE
      pos:
        line_end: 2452
        line_start: 2451
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x20000000'
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_QOS_MAPPING
      pos:
        line_end: 2454
        line_start: 2453
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x40000000'
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_AP_CSA
      pos:
        line_end: 2456
        line_start: 2455
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x80000000'
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_MESH
      pos:
        line_end: 2458
        line_start: 2457
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: 0x0000000100000000ULL
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_ACS_OFFLOAD
      pos:
        line_end: 2460
        line_start: 2459
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: 0x0000000200000000ULL
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_KEY_MGMT_OFFLOAD
      pos:
        line_end: 2462
        line_start: 2461
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: 0x0000000400000000ULL
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_TDLS_CHANNEL_SWITCH
      pos:
        line_end: 2464
        line_start: 2463
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: 0x0000000800000000ULL
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_HT_IBSS
      pos:
        line_end: 2466
        line_start: 2465
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: 0x0000001000000000ULL
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_VHT_IBSS
      pos:
        line_end: 2468
        line_start: 2467
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: 0x0000002000000000ULL
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_SUPPORT_HW_MODE_ANY
      pos:
        line_end: 2470
        line_start: 2469
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: 0x0000004000000000ULL
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_OFFCHANNEL_SIMULTANEOUS
      pos:
        line_end: 2472
        line_start: 2471
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: 0x0000008000000000ULL
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_FULL_AP_CLIENT_STATE
      pos:
        line_end: 2474
        line_start: 2473
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: 0x0000010000000000ULL
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_P2P_LISTEN_OFFLOAD
      pos:
        line_end: 2476
        line_start: 2475
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: 0x0000020000000000ULL
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_SUPPORT_FILS
      pos:
        line_end: 2478
        line_start: 2477
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: 0x0000040000000000ULL
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_BEACON_RATE_LEGACY
      pos:
        line_end: 2480
        line_start: 2479
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: 0x0000080000000000ULL
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_BEACON_RATE_HT
      pos:
        line_end: 2482
        line_start: 2481
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: 0x0000100000000000ULL
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_BEACON_RATE_VHT
      pos:
        line_end: 2484
        line_start: 2483
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: 0x0000200000000000ULL
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_MGMT_TX_RANDOM_TA
      pos:
        line_end: 2486
        line_start: 2485
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: 0x0000400000000000ULL
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_MGMT_TX_RANDOM_TA_CONNECTED
      pos:
        line_end: 2488
        line_start: 2487
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: 0x0000800000000000ULL
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_SCHED_SCAN_RELATIVE_RSSI
      pos:
        line_end: 2490
        line_start: 2489
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: 0x0001000000000000ULL
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_HE_CAPABILITIES
      pos:
        line_end: 2492
        line_start: 2491
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: 0x0002000000000000ULL
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_FILS_SK_OFFLOAD
      pos:
        line_end: 2494
        line_start: 2493
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: 0x0004000000000000ULL
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_OCE_STA
      pos:
        line_end: 2496
        line_start: 2495
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: 0x0008000000000000ULL
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_OCE_AP
      pos:
        line_end: 2498
        line_start: 2497
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: 0x0010000000000000ULL
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_OCE_STA_CFON
      pos:
        line_end: 2505
        line_start: 2504
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: 0x0020000000000000ULL
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_MFP_OPTIONAL
      pos:
        line_end: 2507
        line_start: 2506
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: 0x0040000000000000ULL
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_SELF_MANAGED_REGULATORY
      pos:
        line_end: 2509
        line_start: 2508
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: 0x0080000000000000ULL
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_FTM_RESPONDER
      pos:
        line_end: 2511
        line_start: 2510
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: 0x0100000000000000ULL
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_4WAY_HANDSHAKE_PSK
      pos:
        line_end: 2513
        line_start: 2512
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: 0x0200000000000000ULL
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_CONTROL_PORT
      pos:
        line_end: 2515
        line_start: 2514
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: 0x0400000000000000ULL
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_VLAN_OFFLOAD
      pos:
        line_end: 2517
        line_start: 2516
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: 0x0800000000000000ULL
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_UPDATE_FT_IES
      pos:
        line_end: 2519
        line_start: 2518
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: 0x1000000000000000ULL
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_SAFE_PTK0_REKEYS
      pos:
        line_end: 2521
        line_start: 2520
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: 0x2000000000000000ULL
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_BEACON_PROTECTION
      pos:
        line_end: 2523
        line_start: 2522
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: 0x4000000000000000ULL
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_EXTENDED_KEY_ID
      pos:
        line_end: 2525
        line_start: 2524
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: 0x8000000000000000ULL
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS2_CONTROL_PORT_RX
      pos:
        line_end: 2529
        line_start: 2528
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: 0x0000000000000001ULL
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS2_CONTROL_PORT_TX_STATUS
      pos:
        line_end: 2531
        line_start: 2530
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: 0x0000000000000002ULL
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS2_SEC_LTF_AP
      pos:
        line_end: 2533
        line_start: 2532
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: 0x0000000000000004ULL
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS2_SEC_RTT_AP
      pos:
        line_end: 2535
        line_start: 2534
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: 0x0000000000000008ULL
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS2_PROT_RANGE_NEG_AP
      pos:
        line_end: 2540
        line_start: 2539
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: 0x0000000000000010ULL
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS2_BEACON_RATE_HE
      pos:
        line_end: 2542
        line_start: 2541
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: 0x0000000000000020ULL
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS2_BEACON_PROTECTION_CLIENT
      pos:
        line_end: 2544
        line_start: 2543
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: 0x0000000000000040ULL
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS2_OCV
      pos:
        line_end: 2546
        line_start: 2545
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: 0x0000000000000080ULL
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS2_AP_SME
      pos:
        line_end: 2548
        line_start: 2547
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: 0x0000000000000100ULL
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS2_SA_QUERY_OFFLOAD_AP
      pos:
        line_end: 2550
        line_start: 2549
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: 0x0000000000000200ULL
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS2_RADAR_BACKGROUND
      pos:
        line_end: 2552
        line_start: 2551
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: 0x0000000000000400ULL
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS2_SEC_LTF_STA
      pos:
        line_end: 2554
        line_start: 2553
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: 0x0000000000000800ULL
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS2_SEC_RTT_STA
      pos:
        line_end: 2556
        line_start: 2555
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: 0x0000000000001000ULL
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS2_PROT_RANGE_NEG_STA
      pos:
        line_end: 2561
        line_start: 2560
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: 0x0000000000002000ULL
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS2_MLO
      pos:
        line_end: 2563
        line_start: 2562
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: 0x0000000000004000ULL
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS2_SCAN_MIN_PREQ
      pos:
        line_end: 2565
        line_start: 2564
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: 0x0000000000008000ULL
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS2_SAE_OFFLOAD_STA
      pos:
        line_end: 2567
        line_start: 2566
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: 0x0000000000010000ULL
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS2_4WAY_HANDSHAKE_AP_PSK
      pos:
        line_end: 2569
        line_start: 2568
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: 0x0000000000020000ULL
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS2_OWE_OFFLOAD_STA
      pos:
        line_end: 2571
        line_start: 2570
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: 0x0000000000040000ULL
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS2_OWE_OFFLOAD_AP
      pos:
        line_end: 2573
        line_start: 2572
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: 0x0000000000080000ULL
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS2_SAE_OFFLOAD_AP
      pos:
        line_end: 2575
        line_start: 2574
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: 0x0000000000100000ULL
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS2_HT_VHT_TWT_RESPONDER
      pos:
        line_end: 2577
        line_start: 2576
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: 0x0000000000200000ULL
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS2_RSN_OVERRIDE_STA
      pos:
        line_end: 2579
        line_start: 2578
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: 0x0000000000400000ULL
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS2_NAN_USD_OFFLOAD
      pos:
        line_end: 2581
        line_start: 2580
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: 0x0000000000800000ULL
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS2_SPP_AMSDU
      pos:
        line_end: 2583
        line_start: 2582
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: 0x0000000001000000ULL
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS2_P2P_FEATURE_V2
      pos:
        line_end: 2585
        line_start: 2584
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: 0x0000000002000000ULL
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS2_P2P_FEATURE_PCC_MODE
      pos:
        line_end: 2587
        line_start: 2586
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: 0x0000000004000000ULL
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS2_AP_CHANWIDTH_CHANGE
      pos:
        line_end: 2589
        line_start: 2588
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: 0x0000000008000000ULL
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS2_FTM_INITIATOR
      pos:
        line_end: 2591
        line_start: 2590
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: 0x0000000010000000ULL
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS2_NON_TRIGGER_BASED_RESPONDER
      pos:
        line_end: 2593
        line_start: 2592
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: 0x0000000020000000ULL
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS2_NON_TRIGGER_BASED_INITIATOR
      pos:
        line_end: 2595
        line_start: 2594
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: 0x0000000040000000ULL
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS2_SUPPORT_NAN
      pos:
        line_end: 2597
        line_start: 2596
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: 0x0000000080000000ULL
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS2_P2P_ASSISTED_DFS
      pos:
        line_end: 2599
        line_start: 2598
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: 0x0000000100000000ULL
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS2_ASSOCIATION_FRAME_ENCRYPTION
      pos:
        line_end: 2601
        line_start: 2600
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: 0x0000000200000000ULL
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS2_EPPKE
      pos:
        line_end: 2603
        line_start: 2602
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: 0x0000000400000000ULL
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS2_802_1X_AUTH
      pos:
        line_end: 2605
        line_start: 2604
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: 0x0000000800000000ULL
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS2_PMKSA_PRIVACY
      pos:
        line_end: 2607
        line_start: 2606
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: 0x0000001000000000ULL
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS2_ROC_ADDR_FILTER
      pos:
        line_end: 2609
        line_start: 2608
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: 0x0000002000000000ULL
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS2_OKC_PMKID_IN_ASSOC
      pos:
        line_end: 2611
        line_start: 2610
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: 0x0000004000000000ULL
    - item_type: preproc_def
      name: WPA_DRIVER_PROBE_RESP_OFFLOAD_WPS
      pos:
        line_end: 2659
        line_start: 2658
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000001'
    - item_type: preproc_def
      name: WPA_DRIVER_PROBE_RESP_OFFLOAD_WPS2
      pos:
        line_end: 2661
        line_start: 2660
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000002'
    - item_type: preproc_def
      name: WPA_DRIVER_PROBE_RESP_OFFLOAD_P2P
      pos:
        line_end: 2663
        line_start: 2662
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000004'
    - item_type: preproc_def
      name: WPA_DRIVER_PROBE_RESP_OFFLOAD_INTERWORKING
      pos:
        line_end: 2665
        line_start: 2664
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000008'
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_DS_PARAM_SET_IE_IN_PROBES
      pos:
        line_end: 2687
        line_start: 2686
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000001'
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_WFA_TPC_IE_IN_PROBES
      pos:
        line_end: 2689
        line_start: 2688
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000002'
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_QUIET
      pos:
        line_end: 2691
        line_start: 2690
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000004'
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_TX_POWER_INSERTION
      pos:
        line_end: 2701
        line_start: 2700
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000008'
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_SUPPORT_RRM
      pos:
        line_end: 2706
        line_start: 2705
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000010'
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_SUPPORT_SET_SCAN_DWELL
      pos:
        line_end: 2709
        line_start: 2708
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000020'
    - item_type: preproc_def
      name: WPA_DRIVER_FLAGS_SUPPORT_BEACON_REPORT
      pos:
        line_end: 2711
        line_start: 2710
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '0x00000040'
    - item_type: preproc_def
      name: STA_DRV_DATA_TX_MCS
      pos:
        line_end: 2796
        line_start: 2795
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: STA_DRV_DATA_RX_MCS
      pos:
        line_end: 2797
        line_start: 2796
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: STA_DRV_DATA_TX_VHT_MCS
      pos:
        line_end: 2798
        line_start: 2797
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: BIT(2)
    - item_type: preproc_def
      name: STA_DRV_DATA_RX_VHT_MCS
      pos:
        line_end: 2799
        line_start: 2798
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: BIT(3)
    - item_type: preproc_def
      name: STA_DRV_DATA_TX_VHT_NSS
      pos:
        line_end: 2800
        line_start: 2799
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: BIT(4)
    - item_type: preproc_def
      name: STA_DRV_DATA_RX_VHT_NSS
      pos:
        line_end: 2801
        line_start: 2800
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: BIT(5)
    - item_type: preproc_def
      name: STA_DRV_DATA_TX_SHORT_GI
      pos:
        line_end: 2802
        line_start: 2801
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: BIT(6)
    - item_type: preproc_def
      name: STA_DRV_DATA_RX_SHORT_GI
      pos:
        line_end: 2803
        line_start: 2802
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: BIT(7)
    - item_type: preproc_def
      name: STA_DRV_DATA_LAST_ACK_RSSI
      pos:
        line_end: 2804
        line_start: 2803
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: BIT(8)
    - item_type: preproc_def
      name: STA_DRV_DATA_CONN_TIME
      pos:
        line_end: 2805
        line_start: 2804
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: BIT(9)
    - item_type: preproc_def
      name: STA_DRV_DATA_TX_HE_MCS
      pos:
        line_end: 2806
        line_start: 2805
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: BIT(10)
    - item_type: preproc_def
      name: STA_DRV_DATA_RX_HE_MCS
      pos:
        line_end: 2807
        line_start: 2806
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: BIT(11)
    - item_type: preproc_def
      name: STA_DRV_DATA_TX_HE_NSS
      pos:
        line_end: 2808
        line_start: 2807
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: BIT(12)
    - item_type: preproc_def
      name: STA_DRV_DATA_RX_HE_NSS
      pos:
        line_end: 2809
        line_start: 2808
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: BIT(13)
    - item_type: preproc_def
      name: STA_DRV_DATA_TX_HE_DCM
      pos:
        line_end: 2810
        line_start: 2809
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: BIT(14)
    - item_type: preproc_def
      name: STA_DRV_DATA_RX_HE_DCM
      pos:
        line_end: 2811
        line_start: 2810
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: BIT(15)
    - item_type: preproc_def
      name: STA_DRV_DATA_TX_HE_GI
      pos:
        line_end: 2812
        line_start: 2811
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: BIT(16)
    - item_type: preproc_def
      name: STA_DRV_DATA_RX_HE_GI
      pos:
        line_end: 2813
        line_start: 2812
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: BIT(17)
    - item_type: preproc_def
      name: WPA_STA_AUTHORIZED
      pos:
        line_end: 2946
        line_start: 2945
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: WPA_STA_WMM
      pos:
        line_end: 2947
        line_start: 2946
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: WPA_STA_SHORT_PREAMBLE
      pos:
        line_end: 2948
        line_start: 2947
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: BIT(2)
    - item_type: preproc_def
      name: WPA_STA_MFP
      pos:
        line_end: 2949
        line_start: 2948
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: BIT(3)
    - item_type: preproc_def
      name: WPA_STA_TDLS_PEER
      pos:
        line_end: 2950
        line_start: 2949
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: BIT(4)
    - item_type: preproc_def
      name: WPA_STA_AUTHENTICATED
      pos:
        line_end: 2951
        line_start: 2950
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: BIT(5)
    - item_type: preproc_def
      name: WPA_STA_ASSOCIATED
      pos:
        line_end: 2952
        line_start: 2951
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: BIT(6)
    - item_type: preproc_def
      name: WPA_STA_SPP_AMSDU
      pos:
        line_end: 2953
        line_start: 2952
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: BIT(7)
    - item_type: preproc_def
      name: WPA_INVALID_NOISE
      pos:
        line_end: 2993
        line_start: 2992
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '9999'
    - item_type: preproc_def
      name: WPAS_MAX_PASN_PEERS
      pos:
        line_end: 3307
        line_start: 3306
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '10'
    - item_type: preproc_def
      name: WEIGHTED_PCL_GO
      pos:
        line_end: 3414
        line_start: 3413
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: WEIGHTED_PCL_CLI
      pos:
        line_end: 3416
        line_start: 3415
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: WEIGHTED_PCL_MUST_CONSIDER
      pos:
        line_end: 3418
        line_start: 3417
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: BIT(2)
    - item_type: preproc_def
      name: WEIGHTED_PCL_EXCLUDE
      pos:
        line_end: 3420
        line_start: 3419
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: BIT(3)
    - item_type: preproc_def
      name: MAX_NUM_NAN_SCHEDULE_CHANNELS
      pos:
        line_end: 3500
        line_start: 3499
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '4'
    - item_type: preproc_def
      name: MAX_NUM_NAN_MAPS
      pos:
        line_end: 3502
        line_start: 3501
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: '2'
    - item_type: preproc_def
      name: SURVEY_HAS_NF
      pos:
        line_end: 6746
        line_start: 6745
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: SURVEY_HAS_CHAN_TIME
      pos:
        line_end: 6747
        line_start: 6746
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: BIT(1)
    - item_type: preproc_def
      name: SURVEY_HAS_CHAN_TIME_BUSY
      pos:
        line_end: 6748
        line_start: 6747
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: BIT(2)
    - item_type: preproc_def
      name: SURVEY_HAS_CHAN_TIME_RX
      pos:
        line_end: 6749
        line_start: 6748
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: BIT(3)
    - item_type: preproc_def
      name: SURVEY_HAS_CHAN_TIME_TX
      pos:
        line_end: 6750
        line_start: 6749
        source_file: /src/hostap/src/drivers/driver.h
      type_or_value: BIT(4)
    structs:
    - fields:
      - name: min_cwmin
        type: int
      - name: min_cwmax
        type: int
      - name: min_aifs
        type: int
      - name: max_txop
        type: int
      item_type: struct
      name: hostapd_wmm_rule
      pos:
        line_end: 112
        line_start: 107
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: chan
        type: short
      - name: freq
        type: int
      - name: flag
        type: int
      - name: allowed_bw
        type: u32
      - name: max_tx_power
        type: u8
      - name: survey_list
        type: struct dl_list
      - name: min_nf
        type: s8
      - name: dfs_cac_ms
        type: unsigned int
      - name: wmm_rules_valid
        type: int
      - name: wmm_rules[WMM_AC_NUM]
        type: struct hostapd_wmm_rule
      - name: punct_bitmap
        type: u16
      item_type: struct
      name: hostapd_channel_data
      pos:
        line_end: 190
        line_start: 117
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: he_supported
        type: u8
      - name: phy_cap[HE_MAX_PHY_CAPAB_SIZE]
        type: u8
      - name: mac_cap[HE_MAX_MAC_CAPAB_SIZE]
        type: u8
      - name: mcs[HE_MAX_MCS_CAPAB_SIZE]
        type: u8
      - name: ppet[HE_MAX_PPET_CAPAB_SIZE]
        type: u8
      - name: he_6ghz_capa
        type: u16
      item_type: struct
      name: he_capabilities
      pos:
        line_end: 208
        line_start: 201
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: eht_supported
        type: bool
      - name: mac_cap
        type: u16
      - name: phy_cap[EHT_PHY_CAPAB_LEN]
        type: u8
      - name: mcs[EHT_MCS_NSS_CAPAB_LEN]
        type: u8
      - name: ppet[EHT_PPE_THRESH_CAPAB_LEN]
        type: u8
      item_type: struct
      name: eht_capabilities
      pos:
        line_end: 217
        line_start: 211
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: uhr_supported
        type: bool
      - name: mac[6]
        type: u8
      - name: phy[5]
        type: u8
      item_type: struct
      name: uhr_capabilities
      pos:
        line_end: 224
        line_start: 220
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: channels
        type: u8
      - name: bw_config
        type: enum edmg_bw_config
      item_type: struct
      name: ieee80211_edmg_config
      pos:
        line_end: 258
        line_start: 255
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: mode
        type: enum hostapd_hw_mode
      - name: is_6ghz
        type: bool
      - name: num_channels
        type: int
      - name: '*channels'
        type: struct hostapd_channel_data
      - name: num_rates
        type: int
      - name: '*rates'
        type: int
      - name: ht_capab
        type: u16
      - name: mcs_set[16]
        type: u8
      - name: a_mpdu_params
        type: u8
      - name: vht_capab
        type: u32
      - name: vht_mcs_set[8]
        type: u8
      - name: flags
        type: unsigned int
      - name: he_capab[IEEE80211_MODE_NUM]
        type: struct he_capabilities
      - name: edmg
        type: struct ieee80211_edmg_config
      - name: eht_capab[IEEE80211_MODE_NUM]
        type: struct eht_capabilities
      - name: uhr_capab[IEEE80211_MODE_NUM]
        type: struct uhr_capabilities
      item_type: struct
      name: hostapd_hw_modes
      pos:
        line_end: 341
        line_start: 263
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: hw_idx
        type: u8
      - name: start_freq
        type: int
      - name: end_freq
        type: int
      item_type: struct
      name: hostapd_multi_hw_info
      pos:
        line_end: 362
        line_start: 347
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: flags
        type: unsigned int
      - name: bssid[ETH_ALEN]
        type: u8
      - name: freq
        type: int
      - name: max_cw
        type: enum chan_width
      - name: beacon_int
        type: u16
      - name: caps
        type: u16
      - name: qual
        type: int
      - name: noise
        type: int
      - name: level
        type: int
      - name: tsf
        type: u64
      - name: age
        type: unsigned int
      - name: est_throughput
        type: unsigned int
      - name: snr
        type: int
      - name: parent_tsf
        type: u64
      - name: tsf_bssid[ETH_ALEN]
        type: u8
      - name: beacon_newer
        type: bool
      - name: mlo_tput_accumulated
        type: bool
      - name: ie_len
        type: size_t
      - name: beacon_ie_len
        type: size_t
      item_type: struct
      name: wpa_scan_res
      pos:
        line_end: 445
        line_start: 424
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: '**res'
        type: struct wpa_scan_res
      - name: num
        type: size_t
      - name: fetch_time
        type: struct os_reltime
      item_type: struct
      name: wpa_scan_results
      pos:
        line_end: 457
        line_start: 453
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: '*next'
        type: struct wpa_interface_info
      - name: '*ifname'
        type: char
      - name: '*desc'
        type: char
      - name: '*drv_name'
        type: char
      item_type: struct
      name: wpa_interface_info
      pos:
        line_end: 474
        line_start: 469
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: '*ssid'
        type: u8
      - name: ssid_len
        type: size_t
      item_type: struct
      name: wpa_driver_scan_ssid
      pos:
        line_end: 488
        line_start: 485
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: downlink
        type: u8
      - name: uplink
        type: u8
      item_type: struct
      name: t2lm_mapping
      pos:
        line_end: 500
        line_start: 490
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: ssids[WPAS_MAX_SCAN_SSIDS]
        type: struct wpa_driver_scan_ssid
      - name: num_ssids
        type: size_t
      - name: '*extra_ies'
        type: u8
      - name: extra_ies_len
        type: size_t
      - name: '*freqs'
        type: int
      - name: '*filter_ssids'
        type: "struct wpa_driver_scan_filter {\n\t\tu8 ssid[SSID_MAX_LEN];\n\t\tsize_t
          ssid_len;\n\t}"
      - name: num_filter_ssids
        type: size_t
      - name: filter_rssi
        type: s32
      - name: p2p_probe
        type: unsigned int
      - name: only_new_results
        type: unsigned int
      - name: low_priority
        type: unsigned int
      - name: mac_addr_rand
        type: unsigned int
      - name: '*mac_addr'
        type: u8
      - name: '*mac_addr_mask'
        type: u8
      - name: '*sched_scan_plans'
        type: "struct sched_scan_plan {\n\t\t u32 interval; /* In seconds */\n\t\t
          u32 iterations; /* Zero to run infinitely */\n\t }"
      - name: sched_scan_plans_num
        type: unsigned int
      - name: sched_scan_start_delay
        type: u32
      - name: '*bssid'
        type: u8
      - name: scan_cookie
        type: u64
      - name: duration
        type: u16
      - name: duration_mandatory
        type: unsigned int
      - name: relative_rssi_set
        type: unsigned int
      - name: relative_rssi
        type: s8
      - name: relative_adjust_band
        type: enum set_band
      - name: relative_adjust_rssi
        type: s8
      - name: oce_scan
        type: unsigned int
      - name: p2p_include_6ghz
        type: unsigned int
      - name: non_coloc_6ghz
        type: unsigned int
      - name: min_probe_req_content
        type: unsigned int
      - name: link_id
        type: s8
      item_type: struct
      name: wpa_driver_scan_params
      pos:
        line_end: 765
        line_start: 506
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: ssid[SSID_MAX_LEN]
        type: u8
      - name: ssid_len
        type: size_t
      item_type: struct
      name: wpa_driver_scan_filter
      pos:
        line_end: 552
        line_start: 549
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: interval
        type: u32
      - name: iterations
        type: u32
      item_type: struct
      name: sched_scan_plan
      pos:
        line_end: 630
        line_start: 627
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: freq
        type: int
      - name: '*bssid'
        type: u8
      - name: '*ssid'
        type: u8
      - name: ssid_len
        type: size_t
      - name: auth_alg
        type: int
      - name: '*ie'
        type: u8
      - name: ie_len
        type: size_t
      - name: '*wep_key[4]'
        type: u8
      - name: wep_key_len[4]
        type: size_t
      - name: wep_tx_keyidx
        type: int
      - name: local_state_change
        type: int
      - name: p2p
        type: int
      - name: '*auth_data'
        type: u8
      - name: auth_data_len
        type: size_t
      - name: mld
        type: bool
      - name: mld_link_id
        type: u8
      - name: '*ap_mld_addr'
        type: u8
      item_type: struct
      name: wpa_driver_auth_params
      pos:
        line_end: 817
        line_start: 771
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: mode
        type: enum hostapd_hw_mode
      - name: freq
        type: int
      - name: channel
        type: int
      - name: ht_enabled
        type: int
      - name: sec_channel_offset
        type: int
      - name: vht_enabled
        type: int
      - name: he_enabled
        type: int
      - name: center_freq1
        type: int
      - name: center_freq2
        type: int
      - name: bandwidth
        type: int
      - name: edmg
        type: struct ieee80211_edmg_config
      - name: radar_background
        type: bool
      - name: eht_enabled
        type: bool
      - name: punct_bitmap
        type: u16
      - name: link_id
        type: int
      item_type: struct
      name: hostapd_freq_params
      pos:
        line_end: 929
        line_start: 842
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: '*own_addr'
        type: u8
      - name: '*addr'
        type: u8
      - name: seq
        type: u16
      - name: status
        type: u16
      - name: '*ie'
        type: u8
      - name: len
        type: size_t
      - name: fils_auth
        type: int
      - name: fils_anonce[WPA_NONCE_LEN]
        type: u8
      - name: fils_snonce[WPA_NONCE_LEN]
        type: u8
      - name: fils_kek[WPA_KEK_MAX_LEN]
        type: u8
      - name: fils_kek_len
        type: size_t
      item_type: struct
      name: wpa_driver_sta_auth_params
      pos:
        line_end: 991
        line_start: 935
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: '*mld_addr'
        type: u8
      - name: valid_links
        type: u16
      - name: assoc_link_id
        type: u8
      - name: mld_links[MAX_NUM_MLD_LINKS]
        type: "struct {\n\t\tint freq;\n\t\tconst u8 *bssid;\n\t\tconst u8 *ies;\n\t\tsize_t
          ies_len;\n\t\tint error;\n\t\tbool disabled;\n\t}"
      item_type: struct
      name: wpa_driver_mld_params
      pos:
        line_end: 1025
        line_start: 993
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: '*bssid'
        type: u8
      - name: '*bssid_hint'
        type: u8
      - name: '*ssid'
        type: u8
      - name: ssid_len
        type: size_t
      - name: freq
        type: struct hostapd_freq_params
      - name: freq_hint
        type: int
      - name: bg_scan_period
        type: int
      - name: beacon_int
        type: int
      - name: '*wpa_ie'
        type: u8
      - name: wpa_ie_len
        type: size_t
      - name: wpa_proto
        type: unsigned int
      - name: pairwise_suite
        type: unsigned int
      - name: group_suite
        type: unsigned int
      - name: mgmt_group_suite
        type: unsigned int
      - name: key_mgmt_suite
        type: unsigned int
      - name: allowed_key_mgmts
        type: unsigned int
      - name: auth_alg
        type: int
      - name: mode
        type: int
      - name: '*wep_key[4]'
        type: u8
      - name: wep_key_len[4]
        type: size_t
      - name: wep_tx_keyidx
        type: int
      - name: mgmt_frame_protection
        type: enum mfp_options
      - name: '*passphrase'
        type: char
      - name: '*psk'
        type: u8
      - name: '*sae_password'
        type: char
      - name: '*sae_password_id'
        type: char
      - name: drop_unencrypted
        type: int
      - name: '*prev_bssid'
        type: u8
      - name: wps
        type: enum wps_mode
      - name: p2p
        type: int
      - name: uapsd
        type: int
      - name: fixed_bssid
        type: int
      - name: fixed_freq
        type: int
      - name: disable_ht
        type: int
      - name: '*htcaps'
        type: u8
      - name: '*htcaps_mask'
        type: u8
      - name: req_key_mgmt_offload
        type: int
      - name: req_handshake_offload
        type: int
      - name: rrm_used
        type: int
      - name: pbss
        type: int
      - name: '*fils_kek'
        type: u8
      - name: fils_kek_len
        type: size_t
      - name: '*fils_nonces'
        type: u8
      - name: fils_nonces_len
        type: size_t
      - name: '*fils_erp_username'
        type: u8
      - name: fils_erp_username_len
        type: size_t
      - name: '*fils_erp_realm'
        type: u8
      - name: fils_erp_realm_len
        type: size_t
      - name: fils_erp_next_seq_num
        type: u16
      - name: '*fils_erp_rrk'
        type: u8
      - name: fils_erp_rrk_len
        type: size_t
      - name: sae_pwe
        type: enum sae_pwe
      - name: disable_eht
        type: int
      - name: disable_uhr
        type: bool
      - name: mld_params
        type: struct wpa_driver_mld_params
      - name: rsn_overriding
        type: bool
      - name: spp_amsdu
        type: bool
      - name: '*bssid_filter'
        type: u8
      - name: bssid_filter_count
        type: unsigned int
      - name: p2p_mode
        type: enum wpa_p2p_mode
      - name: eppke_supported
        type: bool
      - name: ieee8021x_auth_supported
        type: bool
      - name: okc_pmkid_in_assoc
        type: bool
      item_type: struct
      name: wpa_driver_associate_params
      pos:
        line_end: 1471
        line_start: 1031
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: any
        type: u8
      - name: disconnect
        type: u8
      - name: magic_pkt
        type: u8
      - name: gtk_rekey_failure
        type: u8
      - name: eap_identity_req
        type: u8
      - name: four_way_handshake
        type: u8
      - name: rfkill_release
        type: u8
      item_type: struct
      name: wowlan_triggers
      pos:
        line_end: 1492
        line_start: 1484
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: unsol_bcast_probe_resp_interval
        type: unsigned int
      - name: '*unsol_bcast_probe_resp_tmpl'
        type: u8
      - name: unsol_bcast_probe_resp_tmpl_len
        type: size_t
      item_type: struct
      name: unsol_bcast_probe_resp
      pos:
        line_end: 1509
        line_start: 1494
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: '*mbssid_tx_iface'
        type: char
      - name: mbssid_tx_iface_linkid
        type: int
      - name: mbssid_index
        type: unsigned int
      - name: '*mbssid_elem'
        type: u8
      - name: mbssid_elem_len
        type: size_t
      - name: mbssid_elem_count
        type: u8
      - name: '**mbssid_elem_offset'
        type: u8
      - name: ema
        type: bool
      - name: '*rnr_elem'
        type: u8
      - name: rnr_elem_len
        type: size_t
      - name: rnr_elem_count
        type: u8
      - name: '**rnr_elem_offset'
        type: u8
      item_type: struct
      name: mbssid_data
      pos:
        line_end: 1575
        line_start: 1511
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: '*head'
        type: u8
      - name: head_len
        type: size_t
      - name: '*tail'
        type: u8
      - name: tail_len
        type: size_t
      - name: dtim_period
        type: int
      - name: beacon_int
        type: int
      - name: '*basic_rates'
        type: int
      - name: beacon_rate
        type: unsigned int
      - name: rate_type
        type: enum beacon_rate_type
      - name: '*proberesp'
        type: u8
      - name: proberesp_len
        type: size_t
      - name: '*ssid'
        type: u8
      - name: ssid_len
        type: size_t
      - name: hide_ssid
        type: enum hide_ssid
      - name: pairwise_ciphers
        type: unsigned int
      - name: group_cipher
        type: unsigned int
      - name: key_mgmt_suites
        type: unsigned int
      - name: auth_algs
        type: unsigned int
      - name: wpa_version
        type: unsigned int
      - name: privacy
        type: int
      - name: '*beacon_ies'
        type: struct wpabuf
      - name: '*proberesp_ies'
        type: struct wpabuf
      - name: '*assocresp_ies'
        type: struct wpabuf
      - name: isolate
        type: int
      - name: cts_protect
        type: int
      - name: preamble
        type: int
      - name: short_slot_time
        type: int
      - name: ht_opmode
        type: int
      - name: interworking
        type: int
      - name: '*hessid'
        type: u8
      - name: access_network_type
        type: u8
      - name: ap_max_inactivity
        type: int
      - name: p2p_go_ctwindow
        type: u8
      - name: disable_dgaf
        type: int
      - name: '*freq'
        type: struct hostapd_freq_params
      - name: reenable
        type: int
      - name: pbss
        type: int
      - name: multicast_to_unicast
        type: int
      - name: ftm_responder
        type: int
      - name: '*lci'
        type: struct wpabuf
      - name: '*civic'
        type: struct wpabuf
      - name: he_spr_ctrl
        type: u8
      - name: he_spr_non_srg_obss_pd_max_offset
        type: u8
      - name: he_spr_srg_obss_pd_min_offset
        type: u8
      - name: he_spr_srg_obss_pd_max_offset
        type: u8
      - name: he_spr_bss_color_bitmap[8]
        type: u8
      - name: he_spr_partial_bssid_bitmap[8]
        type: u8
      - name: he_bss_color_disabled
        type: int
      - name: he_bss_color_partial
        type: int
      - name: he_bss_color
        type: int
      - name: twt_responder
        type: int
      - name: sae_pwe
        type: enum sae_pwe
      - name: fd_min_int
        type: u32
      - name: fd_max_int
        type: u32
      - name: '*fd_frame_tmpl'
        type: u8
      - name: fd_frame_tmpl_len
        type: size_t
      - name: mbssid
        type: struct mbssid_data
      - name: punct_bitmap
        type: u16
      - name: ubpr
        type: struct unsol_bcast_probe_resp
      - name: '*allowed_freqs'
        type: int
      - name: mld_ap
        type: bool
      - name: mld_link_id
        type: u8
      - name: psk[PMK_LEN]
        type: u8
      - name: psk_len
        type: size_t
      - name: '*sae_password'
        type: char
      - name: '*uhr_oper'
        type: u8
      item_type: struct
      name: wpa_driver_ap_params
      pos:
        line_end: 1973
        line_start: 1577
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: flags
        type: unsigned int
      - name: auto_plinks
        type: int
      - name: peer_link_timeout
        type: int
      - name: max_peer_links
        type: int
      - name: rssi_threshold
        type: int
      - name: forwarding
        type: int
      - name: ht_opmode
        type: u16
      item_type: struct
      name: wpa_driver_mesh_bss_params
      pos:
        line_end: 1993
        line_start: 1975
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: '*meshid'
        type: u8
      - name: meshid_len
        type: int
      - name: '*basic_rates'
        type: int
      - name: '*ies'
        type: u8
      - name: ie_len
        type: int
      - name: freq
        type: struct hostapd_freq_params
      - name: beacon_int
        type: int
      - name: dtim_period
        type: int
      - name: conf
        type: struct wpa_driver_mesh_bss_params
      - name: flags
        type: unsigned int
      - name: handle_dfs
        type: bool
      item_type: struct
      name: wpa_driver_mesh_join_params
      pos:
        line_end: 2011
        line_start: 1995
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: '*ifname'
        type: char
      - name: '*own_addr'
        type: u8
      - name: alg
        type: enum wpa_alg
      - name: '*addr'
        type: u8
      - name: key_idx
        type: int
      - name: set_tx
        type: int
      - name: '*seq'
        type: u8
      - name: seq_len
        type: size_t
      - name: '*key'
        type: u8
      - name: key_len
        type: size_t
      - name: vlan_id
        type: int
      - name: key_flag
        type: enum key_flag
      - name: link_id
        type: int
      - name: ltf_keyseed_len
        type: u8
      - name: '*ltf_keyseed'
        type: u8
      item_type: struct
      name: wpa_driver_set_key_params
      pos:
        line_end: 2160
        line_start: 2013
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: drv_flags
        type: u32
      - name: num_radios
        type: u8
      - name: sched_chans
        type: u8
      - name: slot_duration
        type: u8
      - name: schedule_period
        type: u16
      - name: max_channel_switch_time
        type: u16
      - name: num_antennas
        type: u8
      - name: op_modes
        type: u8
      - name: dev_capa
        type: u8
      - name: ht_capab
        type: u16
      - name: ht_mcs_set[16]
        type: u8
      - name: ht_ampdu_params
        type: u8
      - name: vht_capab
        type: u32
      - name: vht_mcs_set[8]
        type: u8
      - name: vht_valid
        type: bool
      - name: he_capab
        type: struct he_capabilities
      - name: he_valid
        type: bool
      item_type: struct
      name: nan_capa
      pos:
        line_end: 2310
        line_start: 2279
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: key_mgmt
        type: unsigned int
      - name: key_mgmt_iftype[WPA_IF_MAX]
        type: unsigned int
      - name: enc
        type: unsigned int
      - name: auth
        type: unsigned int
      - name: flags
        type: u64
      - name: flags2
        type: u64
      - name: wmm_ac_supported
        type: unsigned int
      - name: mac_addr_rand_scan_supported
        type: unsigned int
      - name: mac_addr_rand_sched_scan_supported
        type: unsigned int
      - name: max_scan_ssids
        type: int
      - name: max_sched_scan_ssids
        type: int
      - name: max_sched_scan_plans
        type: unsigned int
      - name: max_sched_scan_plan_interval
        type: u32
      - name: max_sched_scan_plan_iterations
        type: u32
      - name: sched_scan_supported
        type: int
      - name: max_match_sets
        type: int
      - name: max_remain_on_chan
        type: unsigned int
      - name: max_stations
        type: unsigned int
      - name: probe_resp_offloads
        type: unsigned int
      - name: max_acl_mac_addrs
        type: unsigned int
      - name: num_multichan_concurrent
        type: unsigned int
      - name: '*extended_capa'
        type: u8
      - name: extended_capa_len
        type: unsigned int
      - name: wowlan_triggers
        type: struct wowlan_triggers
      - name: rrm_flags
        type: u32
      - name: conc_capab
        type: unsigned int
      - name: max_conc_chan_2_4
        type: unsigned int
      - name: max_conc_chan_5_0
        type: unsigned int
      - name: max_csa_counters
        type: u16
      - name: max_num_akms
        type: unsigned int
      - name: mbssid_max_interfaces
        type: unsigned int
      - name: ema_max_periodicity
        type: unsigned int
      - name: max_probe_req_ie_len
        type: size_t
      - name: max_tx_antenna
        type: u8
      - name: max_rx_antenna
        type: u8
      - name: edca_min_ranging_interval
        type: u32
      - name: max_tx_ltf_repetations
        type: u8
      - name: max_rx_ltf_repetations
        type: u8
      - name: max_tx_ltf_total
        type: u8
      - name: max_rx_ltf_total
        type: u8
      - name: max_rx_sts_le_80
        type: u8
      - name: max_rx_sts_gt_80
        type: u8
      - name: max_tx_sts_le_80
        type: u8
      - name: max_tx_sts_gt_80
        type: u8
      - name: ntb_min_ranging_interval
        type: u32
      - name: pmsr_max_peers
        type: u32
      - name: max_ftms_per_burst
        type: u8
      - name: concurrent_ista_rsta
        type: bool
      - name: support_6ghz
        type: bool
      - name: asap_support
        type: bool
      - name: pd_preambles
        type: u32
      - name: pd_bandwidths
        type: u32
      - name: ista
        type: "struct {\n\t\tbool support_ntb;\n\t\tbool support_tb;\n\t\tbool support_edca;\n\t\tu32
          max_peers;\n\t}"
      - name: rsta
        type: "struct {\n\t\tbool support_ntb;\n\t\tbool support_tb;\n\t\tbool support_edca;\n\t\tu32
          max_peers;\n\t}"
      - name: ranging_type
        type: "struct {\n\t\tbool infra_support;\n\t\tbool pd_support;\n\t}"
      item_type: struct
      name: wpa_driver_capa
      pos:
        line_end: 2783
        line_start: 2327
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: rx_packets
        type: unsigned long
      - name: rx_bytes
        type: unsigned long long
      - name: rx_airtime
        type: unsigned long long
      - name: beacons_count
        type: unsigned long long
      - name: bytes_64bit
        type: int
      - name: current_tx_rate
        type: unsigned long
      - name: current_rx_rate
        type: unsigned long
      - name: inactive_msec
        type: unsigned long
      - name: connected_sec
        type: unsigned long
      - name: flags
        type: unsigned long
      - name: num_ps_buf_frames
        type: unsigned long
      - name: tx_retry_failed
        type: unsigned long
      - name: tx_retry_count
        type: unsigned long
      - name: last_ack_rssi
        type: s8
      - name: backlog_packets
        type: unsigned long
      - name: backlog_bytes
        type: unsigned long
      - name: fcs_error_count
        type: unsigned long
      - name: beacon_loss_count
        type: unsigned long
      - name: expected_throughput
        type: unsigned long
      - name: rx_drop_misc
        type: unsigned long
      - name: rx_mpdus
        type: unsigned long
      - name: signal
        type: int
      - name: rx_hemcs
        type: u8
      - name: tx_hemcs
        type: u8
      - name: rx_vhtmcs
        type: u8
      - name: tx_vhtmcs
        type: u8
      - name: rx_mcs
        type: u8
      - name: tx_mcs
        type: u8
      - name: rx_he_nss
        type: u8
      - name: tx_he_nss
        type: u8
      - name: rx_vht_nss
        type: u8
      - name: tx_vht_nss
        type: u8
      - name: avg_signal
        type: s8
      - name: avg_beacon_signal
        type: s8
      - name: avg_ack_signal
        type: s8
      - name: rx_guard_interval
        type: enum guard_interval
      - name: rx_dcm
        type: u8
      item_type: struct
      name: hostap_sta_driver_data
      pos:
        line_end: 2852
        line_start: 2814
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: '*addr'
        type: u8
      - name: aid
        type: u16
      - name: capability
        type: u16
      - name: '*supp_rates'
        type: u8
      - name: supp_rates_len
        type: size_t
      - name: listen_interval
        type: u16
      - name: '*ht_capabilities'
        type: struct ieee80211_ht_capabilities
      - name: '*vht_capabilities'
        type: struct ieee80211_vht_capabilities
      - name: vht_opmode_enabled
        type: int
      - name: vht_opmode
        type: u8
      - name: '*he_capab'
        type: struct ieee80211_he_capabilities
      - name: he_capab_len
        type: size_t
      - name: '*he_6ghz_capab'
        type: struct ieee80211_he_6ghz_band_cap
      - name: '*eht_capab'
        type: struct ieee80211_eht_capabilities
      - name: eht_capab_len
        type: size_t
      - name: flags
        type: u32
      - name: flags_mask
        type: u32
      - name: set
        type: int
      - name: qosinfo
        type: u8
      - name: '*ext_capab'
        type: u8
      - name: ext_capab_len
        type: size_t
      - name: '*supp_channels'
        type: u8
      - name: supp_channels_len
        type: size_t
      - name: '*supp_oper_classes'
        type: u8
      - name: supp_oper_classes_len
        type: size_t
      - name: support_p2p_ps
        type: int
      - name: mld_link_sta
        type: bool
      - name: mld_link_id
        type: s8
      - name: '*mld_link_addr'
        type: u8
      - name: eml_cap
        type: u16
      - name: '*uhr_capab'
        type: struct ieee80211_uhr_capabilities
      - name: uhr_capab_len
        type: size_t
      item_type: struct
      name: hostapd_sta_add_params
      pos:
        line_end: 2905
        line_start: 2854
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: addr[ETH_ALEN]
        type: u8
      item_type: struct
      name: mac_address
      pos:
        line_end: 2909
        line_start: 2907
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: acl_policy
        type: u8
      - name: num_mac_acl
        type: unsigned int
      - name: mac_acl[0]
        type: struct mac_address
      item_type: struct
      name: hostapd_acl_params
      pos:
        line_end: 2915
        line_start: 2911
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: '*global_priv'
        type: void
      - name: '*bssid'
        type: u8
      - name: '*ifname'
        type: char
      - name: '*driver_params'
        type: char
      - name: use_pae_group_addr
        type: int
      - name: '**bridge'
        type: char
      - name: num_bridge
        type: size_t
      - name: '*own_addr'
        type: u8
      item_type: struct
      name: wpa_init_params
      pos:
        line_end: 2927
        line_start: 2917
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: '*ifname'
        type: char
      - name: enabled
        type: int
      - name: wpa
        type: int
      - name: ieee802_1x
        type: int
      - name: wpa_group
        type: int
      - name: wpa_pairwise
        type: int
      - name: wpa_key_mgmt
        type: int
      - name: rsn_preauth
        type: int
      - name: ieee80211w
        type: enum mfp_options
      item_type: struct
      name: wpa_bss_params
      pos:
        line_end: 2943
        line_start: 2930
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: frequency
        type: u32
      - name: above_threshold
        type: int
      - name: data
        type: struct hostap_sta_driver_data
      - name: current_noise
        type: int
      - name: chanwidth
        type: enum chan_width
      - name: center_frq1
        type: int
      - name: center_frq2
        type: int
      item_type: struct
      name: wpa_signal_info
      pos:
        line_end: 3013
        line_start: 3005
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: valid_links
        type: u16
      - name: links[MAX_NUM_MLD_LINKS]
        type: struct wpa_signal_info
      item_type: struct
      name: wpa_mlo_signal_info
      pos:
        line_end: 3018
        line_start: 3015
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: add_links
        type: u16
      - name: add_link_bssid[MAX_NUM_MLD_LINKS][ETH_ALEN]
        type: u8
      - name: add_link_freq[MAX_NUM_MLD_LINKS]
        type: int
      - name: delete_links
        type: u16
      item_type: struct
      name: wpa_mlo_reconfig_info
      pos:
        line_end: 3034
        line_start: 3029
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: frequency
        type: u32
      - name: chanwidth
        type: enum chan_width
      - name: sec_channel
        type: int
      - name: center_frq1
        type: int
      - name: center_frq2
        type: int
      - name: seg1_idx
        type: u8
      item_type: struct
      name: wpa_channel_info
      pos:
        line_end: 3054
        line_start: 3047
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: '*head'
        type: u8
      - name: '*beacon_ies'
        type: u8
      - name: '*proberesp_ies'
        type: u8
      - name: '*assocresp_ies'
        type: u8
      - name: '*probe_resp'
        type: u8
      - name: head_len
        type: size_t
      - name: beacon_ies_len
        type: size_t
      - name: proberesp_ies_len
        type: size_t
      - name: assocresp_ies_len
        type: size_t
      - name: probe_resp_len
        type: size_t
      - name: mbssid
        type: struct mbssid_data
      item_type: struct
      name: beacon_data
      pos:
        line_end: 3088
        line_start: 3074
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: cs_count
        type: u8
      - name: block_tx
        type: u8
      - name: freq_params
        type: struct hostapd_freq_params
      - name: beacon_csa
        type: struct beacon_data
      - name: beacon_after
        type: struct beacon_data
      - name: counter_offset_beacon[2]
        type: u16
      - name: counter_offset_presp[2]
        type: u16
      - name: link_id
        type: int
      - name: ubpr
        type: struct unsol_bcast_probe_resp
      item_type: struct
      name: csa_settings
      pos:
        line_end: 3116
        line_start: 3102
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: cca_count
        type: u8
      - name: cca_color
        type: u8
      - name: beacon_cca
        type: struct beacon_data
      - name: beacon_after
        type: struct beacon_data
      - name: counter_offset_beacon
        type: u16
      - name: counter_offset_presp
        type: u16
      - name: ubpr
        type: struct unsol_bcast_probe_resp
      - name: link_id
        type: int
      item_type: struct
      name: cca_settings
      pos:
        line_end: 3143
        line_start: 3130
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: info_bitmap
        type: u8
      - name: uapsd_queues
        type: u8
      item_type: struct
      name: wmm_params
      pos:
        line_end: 3168
        line_start: 3165
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: always_include_sci
        type: bool
      - name: use_es
        type: bool
      - name: use_scb
        type: bool
      item_type: struct
      name: macsec_init_params
      pos:
        line_end: 3175
        line_start: 3171
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: hw_mode
        type: enum hostapd_hw_mode
      - name: ht_enabled
        type: int
      - name: ht40_enabled
        type: int
      - name: vht_enabled
        type: int
      - name: ch_width
        type: u16
      - name: '*freq_list'
        type: int
      - name: edmg_enabled
        type: int
      - name: eht_enabled
        type: bool
      - name: link_id
        type: int
      item_type: struct
      name: drv_acs_params
      pos:
        line_end: 3216
        line_start: 3189
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: mbo_transition_reason
        type: u8
      - name: n_candidates
        type: u8
      - name: '*bssid'
        type: u8
      item_type: struct
      name: wpa_bss_trans_info
      pos:
        line_end: 3222
        line_start: 3218
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: num
        type: u8
      - name: '*candidates'
        type: "struct candidate_list {\n\t\tu8 bssid[ETH_ALEN];\n\t\tu8 is_accept;\n\t\tu32
          reject_reason;\n\t}"
      item_type: struct
      name: wpa_bss_candidate_info
      pos:
        line_end: 3231
        line_start: 3224
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: bssid[ETH_ALEN]
        type: u8
      - name: is_accept
        type: u8
      - name: reject_reason
        type: u32
      item_type: struct
      name: candidate_list
      pos:
        line_end: 3230
        line_start: 3226
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: '*bssid'
        type: u8
      - name: '*ssid'
        type: u8
      - name: ssid_len
        type: size_t
      - name: '*fils_cache_id'
        type: u8
      - name: '*pmkid'
        type: u8
      - name: '*pmk'
        type: u8
      - name: pmk_len
        type: size_t
      - name: pmk_lifetime
        type: u32
      - name: pmk_reauth_threshold
        type: u8
      item_type: struct
      name: wpa_pmkid_params
      pos:
        line_end: 3243
        line_start: 3233
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: action
        type: "enum {\n\t\tEXT_AUTH_START,\n\t\tEXT_AUTH_ABORT,\n\t}"
      - name: '*bssid'
        type: u8
      - name: '*ssid'
        type: u8
      - name: ssid_len
        type: size_t
      - name: key_mgmt_suite
        type: unsigned int
      - name: status
        type: u16
      - name: '*pmkid'
        type: u8
      - name: '*mld_addr'
        type: u8
      - name: auth_alg
        type: unsigned int
      - name: pairwise_cipher
        type: int
      - name: group_cipher
        type: int
      - name: group_mgmt_cipher
        type: int
      - name: rsn_capab
        type: u16
      - name: '*rsnxe_data'
        type: u8
      - name: rsnxe_data_len
        type: size_t
      - name: '*kck'
        type: u8
      - name: kck_len
        type: size_t
      item_type: struct
      name: external_auth
      pos:
        line_end: 3304
        line_start: 3282
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: own_addr[ETH_ALEN]
        type: u8
      - name: peer_addr[ETH_ALEN]
        type: u8
      - name: network_id
        type: int
      - name: akmp
        type: int
      - name: cipher
        type: int
      - name: group
        type: int
      - name: temporary_network
        type: bool
      - name: '*password'
        type: char
      - name: comeback_len
        type: size_t
      - name: '*comeback'
        type: u8
      - name: comeback_after
        type: u16
      - name: ltf_keyseed_required
        type: bool
      - name: status
        type: enum pasn_status
      item_type: struct
      name: pasn_peer
      pos:
        line_end: 3358
        line_start: 3344
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: action
        type: "enum {\n\t\tPASN_ACTION_AUTH,\n\t\tPASN_ACTION_DELETE_SECURE_RANGING_CONTEXT,\n\t}"
      - name: num_peers
        type: unsigned int
      - name: peer[WPAS_MAX_PASN_PEERS]
        type: struct pasn_peer
      item_type: struct
      name: pasn_auth
      pos:
        line_end: 3377
        line_start: 3370
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: action
        type: u32
      - name: '*own_addr'
        type: u8
      - name: '*peer_addr'
        type: u8
      - name: cipher
        type: u32
      - name: tk_len
        type: u8
      - name: '*tk'
        type: u8
      - name: ltf_keyseed_len
        type: u8
      - name: '*ltf_keyseed'
        type: u8
      item_type: struct
      name: secure_ranging_params
      pos:
        line_end: 3401
        line_start: 3392
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: freq
        type: u32
      - name: weight
        type: u8
      - name: flag
        type: u32
      item_type: struct
      name: weighted_pcl
      pos:
        line_end: 3426
        line_start: 3422
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: default_map
        type: bool
      - name: req_links
        type: u16
      - name: valid_links
        type: u16
      - name: assoc_link_id
        type: u8
      - name: ap_mld_addr[ETH_ALEN]
        type: u8
      - name: links[MAX_NUM_MLD_LINKS]
        type: "struct {\n\t\tu8 addr[ETH_ALEN];\n\t\tu8 bssid[ETH_ALEN];\n\t\tunsigned
          int freq;\n\t\tstruct t2lm_mapping t2lmap;\n\t}"
      item_type: struct
      name: driver_sta_mlo_info
      pos:
        line_end: 3440
        line_start: 3428
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: frequency
        type: u16
      - name: rssi_close
        type: s8
      - name: rssi_middle
        type: s8
      - name: awake_dw_interval
        type: u8
      - name: disable_scan
        type: bool
      item_type: struct
      name: nan_band_config
      pos:
        line_end: 3459
        line_start: 3453
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: master_pref
        type: u8
      - name: dual_band
        type: u8
      - name: enable_dw_notif
        type: bool
      - name: cluster_id[ETH_ALEN]
        type: u8
      - name: scan_period
        type: u16
      - name: scan_dwell_time
        type: u16
      - name: discovery_beacon_interval
        type: u8
      - name: low_band_cfg
        type: struct nan_band_config
      - name: high_band_cfg
        type: struct nan_band_config
      - name: '*extra_nan_attrs'
        type: u8
      - name: extra_nan_attrs_len
        type: size_t
      - name: '*vendor_elems'
        type: u8
      - name: vendor_elems_len
        type: size_t
      item_type: struct
      name: nan_cluster_config
      pos:
        line_end: 3493
        line_start: 3478
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: deferred
        type: bool
      - name: num_channels
        type: u8
      - name: channels[MAX_NUM_NAN_SCHEDULE_CHANNELS]
        type: "struct nan_schedule_channel {\n\t\tint freq;\n\t\tint center_freq1;\n\t\tint
          center_freq2;\n\t\tint bandwidth;\n\t\tstruct wpabuf *time_bitmap;\n\t\tu8
          rx_nss;\n\n\t\tu8 chan_entry[6];\n\t}"
      - name: '*avail_attr'
        type: struct wpabuf
      item_type: struct
      name: nan_schedule_config
      pos:
        line_end: 3548
        line_start: 3513
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: freq
        type: int
      - name: center_freq1
        type: int
      - name: center_freq2
        type: int
      - name: bandwidth
        type: int
      - name: '*time_bitmap'
        type: struct wpabuf
      - name: rx_nss
        type: u8
      - name: chan_entry[6]
        type: u8
      item_type: struct
      name: nan_schedule_channel
      pos:
        line_end: 3545
        line_start: 3536
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: n_maps
        type: u8
      - name: maps[MAX_NUM_NAN_MAPS]
        type: "struct nan_schedule_map {\n\t\tu8 map_id;\n\t\tstruct nan_schedule_config
          sched;\n\t}"
      item_type: struct
      name: nan_peer_schedule_config
      pos:
        line_end: 3569
        line_start: 3556
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: map_id
        type: u8
      - name: sched
        type: struct nan_schedule_config
      item_type: struct
      name: nan_schedule_map
      pos:
        line_end: 3568
        line_start: 3565
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: '*name'
        type: char
      - name: '*desc'
        type: char
      - name: (*get_bssid)(void *priv, u8 *bssid)
        type: int
      - name: (*get_ssid)(void *priv, u8 *ssid)
        type: int
      - name: (*set_key)(void *priv, struct wpa_driver_set_key_params *params)
        type: int
      - name: '* (*init)(void *ctx, const char *ifname)'
        type: void
      - name: (*deinit)(void *priv)
        type: void
      - name: (*set_param)(void *priv, const char *param)
        type: int
      - name: (*set_countermeasures)(void *priv, int enabled)
        type: int
      - name: (*deauthenticate)(void *priv, const u8 *addr, u16 reason_code)
        type: int
      - name: "(*associate)(void *priv,\n\t\t\t struct wpa_driver_associate_params
          *params)"
        type: int
      - name: (*add_pmkid)(void *priv, struct wpa_pmkid_params *params)
        type: int
      - name: (*remove_pmkid)(void *priv, struct wpa_pmkid_params *params)
        type: int
      - name: (*flush_pmkid)(void *priv)
        type: int
      - name: (*get_capa)(void *priv, struct wpa_driver_capa *capa)
        type: int
      - name: (*poll)(void *priv)
        type: void
      - name: (*get_ifindex)(void *priv)
        type: unsigned int
      - name: '* (*get_ifname)(void *priv)'
        type: char
      - name: '* (*get_mac_addr)(void *priv)'
        type: u8
      - name: (*set_operstate)(void *priv, int state)
        type: int
      - name: "(*mlme_setprotection)(void *priv, const u8 *addr, int protect_type,\n\t\t\t\t
          \ int key_type)"
        type: int
      - name: "* (*get_hw_feature_data)(void *priv,\n\t\t\t\t\t\t\t u16 *num_modes,\n\t\t\t\t\t\t\t
          u16 *flags, u8 *dfs,\n\t\t\t\t\t\t\t char *alpha2,\n\t\t\t\t\t\t\t size_t
          alpha2_len)"
        type: struct hostapd_hw_modes
      - name: "(*send_mlme)(void *priv, const u8 *data, size_t data_len,\n\t\t\t int
          noack, unsigned int freq, const u16 *csa_offs,\n\t\t\t size_t csa_offs_len,
          int no_encrypt,\n\t\t\t unsigned int wait, int link_id)"
        type: int
      - name: "(*update_ft_ies)(void *priv, const u8 *md, const u8 *ies,\n\t\t\t     size_t
          ies_len)"
        type: int
      - name: "* (*get_scan_results)(void *priv,\n\t\t\t\t\t\t      const u8 *bssid)"
        type: struct wpa_scan_results
      - name: '* (*get_scan_results2)(void *priv)'
        type: struct wpa_scan_results
      - name: (*set_country)(void *priv, const char *alpha2)
        type: int
      - name: (*get_country)(void *priv, char *alpha2)
        type: int
      - name: '* (*global_init)(void *ctx)'
        type: void
      - name: (*global_deinit)(void *priv)
        type: void
      - name: "* (*init2)(void *ctx, const char *ifname, void *global_priv,\n\t\t\tenum
          wpa_p2p_mode p2p_mode)"
        type: void
      - name: '* (*get_interfaces)(void *global_priv)'
        type: struct wpa_interface_info
      - name: (*scan2)(void *priv, struct wpa_driver_scan_params *params)
        type: int
      - name: "(*authenticate)(void *priv,\n\t\t\t    struct wpa_driver_auth_params
          *params)"
        type: int
      - name: (*set_ap)(void *priv, struct wpa_driver_ap_params *params)
        type: int
      - name: (*set_acl)(void *priv, struct hostapd_acl_params *params)
        type: int
      - name: "* (*hapd_init)(struct hostapd_data *hapd,\n\t\t\t    struct wpa_init_params
          *params)"
        type: void
      - name: (*hapd_deinit)(void *priv)
        type: void
      - name: (*set_ieee8021x)(void *priv, struct wpa_bss_params *params)
        type: int
      - name: (*set_privacy)(void *priv, int enabled)
        type: int
      - name: "(*get_seqnum)(const char *ifname, void *priv, const u8 *addr,\n\t\t\t
          \ int idx, int link_id, u8 *seq)"
        type: int
      - name: (*flush)(void *priv, int link_id)
        type: int
      - name: (*set_generic_elem)(void *priv, const u8 *elem, size_t elem_len)
        type: int
      - name: "(*read_sta_data)(void *priv, struct hostap_sta_driver_data *data,\n\t\t\t
          \    const u8 *addr)"
        type: int
      - name: "(*tx_control_port)(void *priv, const u8 *dest,\n\t\t\t       u16 proto,
          const u8 *buf, size_t len,\n\t\t\t       int no_encrypt, int link_id)"
        type: int
      - name: "(*hapd_send_eapol)(void *priv, const u8 *addr, const u8 *data,\n\t\t\t
          \      size_t data_len, int encrypt,\n\t\t\t       const u8 *own_addr, u32
          flags, int link_id)"
        type: int
      - name: "(*sta_deauth)(void *priv, const u8 *own_addr, const u8 *addr,\n\t\t\t
          \ u16 reason, int link_id)"
        type: int
      - name: "(*sta_disassoc)(void *priv, const u8 *own_addr, const u8 *addr,\n\t\t\t
          \   u16 reason, int link_id)"
        type: int
      - name: (*sta_remove)(void *priv, const u8 *addr)
        type: int
      - name: (*hapd_get_ssid)(void *priv, u8 *buf, int len)
        type: int
      - name: (*hapd_set_ssid)(void *priv, const u8 *buf, int len)
        type: int
      - name: (*hapd_set_countermeasures)(void *priv, int enabled)
        type: int
      - name: (*sta_add)(void *priv, struct hostapd_sta_add_params *params)
        type: int
      - name: (*get_inact_sec)(void *priv, const u8 *addr)
        type: int
      - name: (*sta_clear_stats)(void *priv, const u8 *addr)
        type: int
      - name: (*set_freq)(void *priv, struct hostapd_freq_params *freq)
        type: int
      - name: (*set_rts)(void *priv, int rts)
        type: int
      - name: (*set_frag)(void *priv, int frag)
        type: int
      - name: "(*sta_set_flags)(void *priv, const u8 *addr,\n\t\t\t     unsigned int
          total_flags, unsigned int flags_or,\n\t\t\t     unsigned int flags_and)"
        type: int
      - name: "(*sta_set_airtime_weight)(void *priv, const u8 *addr,\n\t\t\t\t      unsigned
          int weight)"
        type: int
      - name: "(*set_tx_queue_params)(void *priv, int queue, int aifs, int cw_min,\n\t\t\t\t
          \  int cw_max, int burst_time, int link_id)"
        type: int
      - name: "(*if_add)(void *priv, enum wpa_driver_if_type type,\n\t\t      const
          char *ifname, const u8 *addr, void *bss_ctx,\n\t\t      void **drv_priv,
          char *force_ifname, u8 *if_addr,\n\t\t      const char *bridge, int use_existing,
          int setup_ap)"
        type: int
      - name: "(*if_remove)(void *priv, enum wpa_driver_if_type type,\n\t\t\t const
          char *ifname)"
        type: int
      - name: "(*set_sta_vlan)(void *priv, const u8 *addr, const char *ifname,\n\t\t\t
          \   int vlan_id, int link_id)"
        type: int
      - name: "(*set_radius_acl_auth)(void *priv, const u8 *mac, int accepted,\n\t\t\t\t
          \  u32 session_timeout)"
        type: int
      - name: (*set_radius_acl_expire)(void *priv, const u8 *mac)
        type: int
      - name: "(*set_ap_wps_ie)(void *priv, const struct wpabuf *beacon,\n\t\t\t     const
          struct wpabuf *proberesp,\n\t\t\t     const struct wpabuf *assocresp)"
        type: int
      - name: (*set_supp_port)(void *priv, int authorized)
        type: int
      - name: "(*set_wds_sta)(void *priv, const u8 *addr, int aid, int val,\n\t\t\t
          \  const char *bridge_ifname, char *ifname_wds)"
        type: int
      - name: "(*send_action)(void *priv, unsigned int freq, unsigned int wait,\n\t\t\t
          \  const u8 *dst, const u8 *src, const u8 *bssid,\n\t\t\t   const u8 *data,
          size_t data_len, int no_cck,\n\t\t\t   int link_id)"
        type: int
      - name: (*send_action_cancel_wait)(void *priv)
        type: void
      - name: "(*remain_on_channel)(void *priv, unsigned int freq,\n\t\t\t\t unsigned
          int duration, const u8 *filter_addr)"
        type: int
      - name: (*cancel_remain_on_channel)(void *priv)
        type: int
      - name: (*probe_req_report)(void *priv, int report)
        type: int
      - name: (*deinit_ap)(void *priv)
        type: int
      - name: (*deinit_p2p_cli)(void *priv)
        type: int
      - name: (*suspend)(void *priv)
        type: void
      - name: (*resume)(void *priv)
        type: void
      - name: (*signal_monitor)(void *priv, int threshold, int hysteresis)
        type: int
      - name: (*get_noa)(void *priv, u8 *buf, size_t buf_len)
        type: int
      - name: (*set_noa)(void *priv, u8 count, int start, int duration)
        type: int
      - name: "(*set_p2p_powersave)(void *priv, int legacy_ps, int opp_ps,\n\t\t\t\t
          int ctwindow)"
        type: int
      - name: (*ampdu)(void *priv, int ampdu)
        type: int
      - name: '* (*get_radio_name)(void *priv)'
        type: char
      - name: "(*send_tdls_mgmt)(void *priv, const u8 *dst, u8 action_code,\n\t\t\t
          \     u8 dialog_token, u16 status_code, u32 peer_capab,\n\t\t\t      int
          initiator, const u8 *buf, size_t len,\n\t\t\t      int link_id)"
        type: int
      - name: (*tdls_oper)(void *priv, enum tdls_oper oper, const u8 *peer)
        type: int
      - name: "(*wnm_oper)(void *priv, enum wnm_oper oper, const u8 *peer,\n\t\t\tu8
          *buf, u16 *buf_len)"
        type: int
      - name: "(*set_qos_map)(void *priv, const u8 *qos_map_set,\n\t\t\t   u8 qos_map_set_len)"
        type: int
      - name: "(*br_add_ip_neigh)(void *priv, u8 version, const u8 *ipaddr,\n\t\t\t
          \      int prefixlen, const u8 *addr)"
        type: int
      - name: (*br_delete_ip_neigh)(void *priv, u8 version, const u8 *ipaddr)
        type: int
      - name: "(*br_port_set_attr)(void *priv, enum drv_br_port_attr attr,\n\t\t\t\tunsigned
          int val)"
        type: int
      - name: "(*br_set_net_param)(void *priv, enum drv_br_net_param param,\n\t\t\t\tunsigned
          int val)"
        type: int
      - name: (*get_wowlan)(void *priv)
        type: int
      - name: (*set_wowlan)(void *priv, const struct wowlan_triggers *triggers)
        type: int
      - name: (*signal_poll)(void *priv, struct wpa_signal_info *signal_info)
        type: int
      - name: "(*mlo_signal_poll)(void *priv,\n\t\t\t       struct wpa_mlo_signal_info
          *mlo_signal_info)"
        type: int
      - name: "(*setup_link_reconfig)(void *priv,\n\t\t\t\t   struct wpa_mlo_reconfig_info
          *info)"
        type: int
      - name: (*channel_info)(void *priv, struct wpa_channel_info *channel_info)
        type: int
      - name: "(*vendor_cmd)(void *priv, unsigned int vendor_id,\n\t\t\t  unsigned
          int subcmd, const u8 *data, size_t data_len,\n\t\t\t  enum nested_attr nested_attr_flag,\n\t\t\t
          \ struct wpabuf *buf)"
        type: int
      - name: "(*set_rekey_info)(void *priv, const u8 *kek, size_t kek_len,\n\t\t\t
          \      const u8 *kck, size_t kck_len,\n\t\t\t       const u8 *replay_ctr)"
        type: void
      - name: "(*sta_assoc)(void *priv, const u8 *own_addr, const u8 *addr,\n\t\t\t
          \ int reassoc, u16 status, const u8 *ie, size_t len)"
        type: int
      - name: "(*sta_auth)(void *priv,\n\t\t\t struct wpa_driver_sta_auth_params *params)"
        type: int
      - name: (*add_sta_node)(void *priv, const u8 *addr, u16 auth_alg)
        type: int
      - name: (*sched_scan)(void *priv, struct wpa_driver_scan_params *params)
        type: int
      - name: (*stop_sched_scan)(void *priv)
        type: int
      - name: "(*poll_client)(void *priv, const u8 *own_addr,\n\t\t\t    const u8
          *addr, int qos)"
        type: void
      - name: (*radio_disable)(void *priv, int disabled)
        type: int
      - name: (*switch_channel)(void *priv, struct csa_settings *settings)
        type: int
      - name: (*switch_color)(void *priv, struct cca_settings *settings)
        type: int
      - name: "(*add_tx_ts)(void *priv, u8 tsid, const u8 *addr, u8 user_prio,\n\t\t\t
          u16 admitted_time)"
        type: int
      - name: (*del_tx_ts)(void *priv, u8 tsid, const u8 *addr)
        type: int
      - name: "(*tdls_enable_channel_switch)(\n\t\tvoid *priv, const u8 *addr, u8
          oper_class,\n\t\tconst struct hostapd_freq_params *params)"
        type: int
      - name: (*tdls_disable_channel_switch)(void *priv, const u8 *addr)
        type: int
      - name: (*start_dfs_cac)(void *priv, struct hostapd_freq_params *freq)
        type: int
      - name: (*stop_ap)(void *priv, int link_id)
        type: int
      - name: (*get_survey)(void *priv, unsigned int freq)
        type: int
      - name: (*status)(void *priv, char *buf, size_t buflen)
        type: int
      - name: (*roaming)(void *priv, int allowed, const u8 *bssid)
        type: int
      - name: (*disable_fils)(void *priv, int disable)
        type: int
      - name: (*set_mac_addr)(void *priv, const u8 *addr)
        type: int
      - name: (*init_mesh)(void *priv)
        type: int
      - name: "(*join_mesh)(void *priv,\n\t\t\t struct wpa_driver_mesh_join_params
          *params)"
        type: int
      - name: (*leave_mesh)(void *priv)
        type: int
      - name: "(*probe_mesh_link)(void *priv, const u8 *addr, const u8 *eth,\n\t\t\t
          \      size_t len)"
        type: int
      - name: (*do_acs)(void *priv, struct drv_acs_params *params)
        type: int
      - name: (*set_band)(void *priv, u32 band_mask)
        type: int
      - name: "(*get_pref_freq_list)(void *priv, enum wpa_driver_if_type if_type,\n\t\t\t\t
          \ unsigned int *num,\n\t\t\t\t  struct weighted_pcl *freq_list)"
        type: int
      - name: (*set_prob_oper_freq)(void *priv, unsigned int freq)
        type: int
      - name: (*abort_scan)(void *priv, u64 scan_cookie)
        type: int
      - name: (*configure_data_frame_filters)(void *priv, u32 filter_flags)
        type: int
      - name: "(*get_ext_capab)(void *priv, enum wpa_driver_if_type type,\n\t\t\t
          \    const u8 **ext_capab, const u8 **ext_capab_mask,\n\t\t\t     unsigned
          int *ext_capab_len)"
        type: int
      - name: "(*get_mld_capab)(void *priv, enum wpa_driver_if_type type,\n\t\t\t
          \    u16 *eml_capa, u16 *mld_capa_and_ops)"
        type: int
      - name: "(*p2p_lo_start)(void *priv, unsigned int freq,\n\t\t\t    unsigned
          int period, unsigned int interval,\n\t\t\t    unsigned int count,\n\t\t\t
          \   const u8 *device_types, size_t dev_types_len,\n\t\t\t    const u8 *ies,
          size_t ies_len)"
        type: int
      - name: (*p2p_lo_stop)(void *priv)
        type: int
      - name: (*set_default_scan_ies)(void *priv, const u8 *ies, size_t ies_len)
        type: int
      - name: (*set_tdls_mode)(void *priv, int tdls_external_control)
        type: int
      - name: "*\n\t(*get_bss_transition_status)(void *priv,\n\t\t\t\t     struct
          wpa_bss_trans_info *params)"
        type: struct wpa_bss_candidate_info
      - name: (*ignore_assoc_disallow)(void *priv, int ignore_disallow)
        type: int
      - name: "(*set_bssid_tmp_disallow)(void *priv, unsigned int num_bssid,\n\t\t\t\t
          \     const u8 *bssid)"
        type: int
      - name: "(*update_connect_params)(\n\t\tvoid *priv, struct wpa_driver_associate_params
          *params,\n\t\tenum wpa_drv_update_connect_params_mask mask)"
        type: int
      - name: "(*send_external_auth_status)(void *priv,\n\t\t\t\t\t struct external_auth
          *params)"
        type: int
      - name: (*set_4addr_mode)(void *priv, const char *bridge_ifname, int val)
        type: int
      - name: "(*update_dh_ie)(void *priv, const u8 *peer_mac, u16 reason_code,\n\t\t\t
          \   const u8 *ie, size_t ie_len)"
        type: int
      - name: (*dpp_listen)(void *priv, bool enable)
        type: int
      - name: "(*set_secure_ranging_ctx)(void *priv,\n\t\t\t\t      struct secure_ranging_params
          *params)"
        type: int
      - name: (*send_pasn_resp)(void *priv, struct pasn_auth *params)
        type: int
      - name: "(*get_sta_mlo_info)(void *priv,\n\t\t\t\tstruct driver_sta_mlo_info
          *mlo_info)"
        type: int
      - name: (*link_add)(void *priv, u8 link_id, const u8 *addr, void *bss_ctx)
        type: int
      - name: "(*link_remove)(void *priv, enum wpa_driver_if_type type,\n\t\t\t   const
          char *ifname, u8 link_id)"
        type: int
      - name: (*is_drv_shared)(void *priv, int link_id)
        type: bool
      - name: (*link_sta_remove)(void *priv, u8 link_id, const u8 *addr)
        type: int
      - name: (*nan_flush)(void *priv)
        type: int
      - name: "(*nan_publish)(void *priv, const u8 *src, int publish_id,\n\t\t\t   const
          char *service_name, const u8 *service_id,\n\t\t\t   enum nan_service_protocol_type
          srv_proto_type,\n\t\t\t   const struct wpabuf *ssi, const struct wpabuf
          *elems,\n\t\t\t   struct nan_publish_params *params,\n\t\t\t   const u8
          *network_id)"
        type: int
      - name: (*nan_cancel_publish)(void *priv, int publish_id)
        type: int
      - name: "(*nan_update_publish)(void *priv, int publish_id,\n\t\t\t\t  const
          struct wpabuf *ssi)"
        type: int
      - name: "(*nan_subscribe)(void *priv, const u8 *src, int subscribe_id,\n\t\t\t
          \    const char *service_name, const u8 *service_id,\n\t\t\t     enum nan_service_protocol_type
          srv_proto_type,\n\t\t\t     const struct wpabuf *ssi,\n\t\t\t     const
          struct wpabuf *elems,\n\t\t\t     struct nan_subscribe_params *params,\n\t\t\t
          \    const u8 *network_id)"
        type: int
      - name: (*nan_cancel_subscribe)(void *priv, int subscribe_id)
        type: int
      - name: "(*can_share_drv)(void *ctx, struct wpa_init_params *params,\n\t\t\t
          \     void **hapd)"
        type: bool
      - name: "*\n\t(*get_multi_hw_info)(void *priv, unsigned int *num_multi_hws)"
        type: struct hostapd_multi_hw_info
      item_type: struct
      name: wpa_driver_ops
      pos:
        line_end: 6007
        line_start: 3578
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: ifidx
        type: u32
      - name: freq
        type: unsigned int
      - name: nf
        type: s8
      - name: channel_time
        type: u64
      - name: channel_time_busy
        type: u64
      - name: channel_time_rx
        type: u64
      - name: channel_time_tx
        type: u64
      - name: filled
        type: unsigned int
      - name: list
        type: struct dl_list
      item_type: struct
      name: freq_survey
      pos:
        line_end: 6743
        line_start: 6733
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: reassoc
        type: int
      - name: '*req_ies'
        type: u8
      - name: req_ies_len
        type: size_t
      - name: '*resp_ies'
        type: u8
      - name: resp_ies_len
        type: size_t
      - name: '*resp_frame'
        type: u8
      - name: resp_frame_len
        type: size_t
      - name: '*beacon_ies'
        type: u8
      - name: beacon_ies_len
        type: size_t
      - name: freq
        type: unsigned int
      - name: wmm_params
        type: struct wmm_params
      - name: '*addr'
        type: u8
      - name: authorized
        type: int
      - name: '*key_replay_ctr'
        type: u8
      - name: key_replay_ctr_len
        type: size_t
      - name: '*ptk_kck'
        type: u8
      - name: ptk_kck_len
        type: size_t
      - name: '*ptk_kek'
        type: u8
      - name: ptk_kek_len
        type: size_t
      - name: subnet_status
        type: u8
      - name: fils_erp_next_seq_num
        type: u16
      - name: '*fils_pmk'
        type: u8
      - name: fils_pmk_len
        type: size_t
      - name: '*fils_pmkid'
        type: u8
      - name: '*link_addr'
        type: u8
      - name: assoc_link_id
        type: int
      - name: assoc_encrypted
        type: bool
      item_type: struct
      name: assoc_info
      pos:
        line_end: 6984
        line_start: 6792
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: '*addr'
        type: u8
      - name: reason_code
        type: u16
      - name: '*ie'
        type: u8
      - name: ie_len
        type: size_t
      - name: locally_generated
        type: int
      item_type: struct
      name: disassoc_info
      pos:
        line_end: 7015
        line_start: 6989
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: '*addr'
        type: u8
      - name: reason_code
        type: u16
      - name: '*ie'
        type: u8
      - name: ie_len
        type: size_t
      - name: locally_generated
        type: int
      item_type: struct
      name: deauth_info
      pos:
        line_end: 7046
        line_start: 7020
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: unicast
        type: int
      - name: '*src'
        type: u8
      item_type: struct
      name: michael_mic_failure
      pos:
        line_end: 7054
        line_start: 7051
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: ifindex
        type: unsigned int
      - name: ifname[100]
        type: char
      - name: ievent
        type: "enum {\n\t\t\tEVENT_INTERFACE_ADDED, EVENT_INTERFACE_REMOVED\n\t\t}"
      item_type: struct
      name: interface_status
      pos:
        line_end: 7065
        line_start: 7059
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: bssid[ETH_ALEN]
        type: u8
      - name: index
        type: int
      - name: preauth
        type: int
      item_type: struct
      name: pmkid_candidate
      pos:
        line_end: 7077
        line_start: 7070
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: peer[ETH_ALEN]
        type: u8
      - name: oper
        type: "enum {\n\t\t\tTDLS_REQUEST_SETUP,\n\t\t\tTDLS_REQUEST_TEARDOWN,\n\t\t\tTDLS_REQUEST_DISCOVER,\n\t\t}"
      - name: reason_code
        type: u16
      item_type: struct
      name: tdls
      pos:
        line_end: 7090
        line_start: 7082
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: addr[ETH_ALEN]
        type: u8
      - name: oper
        type: "enum {\n\t\t\tWNM_OPER_SLEEP,\n\t\t}"
      - name: sleep_action
        type: "enum {\n\t\t\tWNM_SLEEP_ENTER,\n\t\t\tWNM_SLEEP_EXIT\n\t\t}"
      - name: sleep_intval
        type: int
      - name: reason_code
        type: u16
      - name: '*buf'
        type: u8
      - name: buf_len
        type: u16
      item_type: struct
      name: wnm
      pos:
        line_end: 7108
        line_start: 7095
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: '*ies'
        type: u8
      - name: ies_len
        type: size_t
      - name: ft_action
        type: int
      - name: target_ap[ETH_ALEN]
        type: u8
      - name: '*ric_ies'
        type: u8
      - name: ric_ies_len
        type: size_t
      item_type: struct
      name: ft_ies
      pos:
        line_end: 7128
        line_start: 7119
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: peer[ETH_ALEN]
        type: u8
      item_type: struct
      name: ibss_rsn_start
      pos:
        line_end: 7135
        line_start: 7133
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: peer[ETH_ALEN]
        type: u8
      - name: bssid[ETH_ALEN]
        type: u8
      - name: auth_type
        type: u16
      - name: auth_transaction
        type: u16
      - name: status_code
        type: u16
      - name: '*ies'
        type: u8
      - name: ies_len
        type: size_t
      - name: '*frame_body'
        type: u8
      - name: frame_body_len
        type: size_t
      item_type: struct
      name: auth_info
      pos:
        line_end: 7150
        line_start: 7140
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: '*bssid'
        type: u8
      - name: '*resp_ies'
        type: u8
      - name: resp_ies_len
        type: size_t
      - name: status_code
        type: u16
      - name: timed_out
        type: int
      - name: '*timeout_reason'
        type: char
      - name: fils_erp_next_seq_num
        type: u16
      - name: reason_code
        type: enum sta_connect_fail_reason_codes
      item_type: struct
      name: assoc_reject
      pos:
        line_end: 7205
        line_start: 7155
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: addr[ETH_ALEN]
        type: u8
      item_type: struct
      name: timeout_event
      pos:
        line_end: 7209
        line_start: 7207
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: type
        type: u16
      - name: stype
        type: u16
      - name: '*dst'
        type: u8
      - name: '*data'
        type: u8
      - name: data_len
        type: size_t
      - name: ack
        type: int
      - name: link_id
        type: int
      item_type: struct
      name: tx_status
      pos:
        line_end: 7222
        line_start: 7214
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: '*bssid'
        type: u8
      - name: '*addr'
        type: u8
      - name: wds
        type: int
      - name: link_id
        type: int
      item_type: struct
      name: rx_from_unknown
      pos:
        line_end: 7232
        line_start: 7227
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: '*frame'
        type: u8
      - name: frame_len
        type: size_t
      - name: datarate
        type: u32
      - name: '*drv_priv'
        type: void
      - name: '*ctx'
        type: void
      - name: freq
        type: int
      - name: ssi_signal
        type: int
      - name: link_id
        type: int
      item_type: struct
      name: rx_mgmt
      pos:
        line_end: 7274
        line_start: 7237
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: freq
        type: unsigned int
      - name: duration
        type: unsigned int
      item_type: struct
      name: remain_on_channel
      pos:
        line_end: 7291
        line_start: 7281
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: aborted
        type: int
      - name: '*freqs'
        type: int
      - name: num_freqs
        type: size_t
      - name: ssids[WPAS_MAX_SCAN_SSIDS]
        type: struct wpa_driver_scan_ssid
      - name: num_ssids
        type: size_t
      - name: external_scan
        type: int
      - name: nl_scan_event
        type: int
      - name: scan_start_tsf
        type: u64
      - name: scan_start_tsf_bssid[ETH_ALEN]
        type: u8
      - name: scan_cookie
        type: u64
      item_type: struct
      name: scan_info
      pos:
        line_end: 7323
        line_start: 7312
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: '*sa'
        type: u8
      - name: '*da'
        type: u8
      - name: '*bssid'
        type: u8
      - name: '*ie'
        type: u8
      - name: ie_len
        type: size_t
      - name: ssi_signal
        type: int
      item_type: struct
      name: rx_probe_req
      pos:
        line_end: 7360
        line_start: 7328
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: '*addr'
        type: u8
      item_type: struct
      name: new_sta
      pos:
        line_end: 7367
        line_start: 7365
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: '*src'
        type: u8
      - name: '*data'
        type: u8
      - name: data_len
        type: size_t
      - name: encrypted
        type: enum frame_encryption
      - name: link_id
        type: int
      item_type: struct
      name: eapol_rx
      pos:
        line_end: 7378
        line_start: 7372
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: freq_24
        type: int
      - name: freq_5
        type: int
      - name: freq_overall
        type: int
      item_type: struct
      name: best_channel
      pos:
        line_end: 7397
        line_start: 7393
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: '*sa'
        type: u8
      - name: '*da'
        type: u8
      - name: reason_code
        type: u16
      item_type: struct
      name: unprot_deauth
      pos:
        line_end: 7403
        line_start: 7399
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: '*sa'
        type: u8
      - name: '*da'
        type: u8
      - name: reason_code
        type: u16
      item_type: struct
      name: unprot_disassoc
      pos:
        line_end: 7409
        line_start: 7405
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: addr[ETH_ALEN]
        type: u8
      - name: num_packets
        type: u32
      item_type: struct
      name: low_ack
      pos:
        line_end: 7420
        line_start: 7417
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: peer[ETH_ALEN]
        type: u8
      item_type: struct
      name: ibss_peer_lost
      pos:
        line_end: 7427
        line_start: 7425
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: '*bssid'
        type: u8
      - name: '*replay_ctr'
        type: u8
      item_type: struct
      name: driver_gtk_rekey
      pos:
        line_end: 7435
        line_start: 7432
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: addr[ETH_ALEN]
        type: u8
      item_type: struct
      name: client_poll
      pos:
        line_end: 7443
        line_start: 7441
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: '*dst'
        type: u8
      - name: '*data'
        type: u8
      - name: data_len
        type: int
      - name: ack
        type: int
      - name: link_id
        type: int
      item_type: struct
      name: eapol_tx_status
      pos:
        line_end: 7462
        line_start: 7456
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: freq
        type: int
      - name: ht_enabled
        type: int
      - name: ch_offset
        type: int
      - name: ch_width
        type: enum chan_width
      - name: cf1
        type: int
      - name: cf2
        type: int
      - name: link_id
        type: int
      - name: punct_bitmap
        type: u16
      item_type: struct
      name: ch_switch
      pos:
        line_end: 7484
        line_start: 7475
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: addr[ETH_ALEN]
        type: u8
      - name: code
        type: "enum {\n\t\t\tMAX_CLIENT_REACHED,\n\t\t\tBLOCKED_CLIENT\n\t\t}"
      item_type: struct
      name: connect_failed_reason
      pos:
        line_end: 7497
        line_start: 7491
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: freq
        type: int
      - name: ht_enabled
        type: int
      - name: chan_offset
        type: int
      - name: chan_width
        type: enum chan_width
      - name: cf1
        type: int
      - name: cf2
        type: int
      - name: link_id
        type: int
      item_type: struct
      name: dfs_event
      pos:
        line_end: 7512
        line_start: 7504
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: freq_filter
        type: unsigned int
      - name: survey_list
        type: struct dl_list
      item_type: struct
      name: survey_results
      pos:
        line_end: 7523
        line_start: 7520
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: initiator
        type: enum reg_change_initiator
      - name: type
        type: enum reg_type
      - name: alpha2[3]
        type: char
      - name: beacon_hint_before
        type: "struct frequency_attrs {\n\t\t\tunsigned int freq;\n\t\t\tunsigned
          int max_tx_power;\n\t\t\tbool disabled;\n\t\t\tbool no_ir;\n\t\t\tbool radar;\n\t\t}"
      item_type: struct
      name: channel_list_changed
      pos:
        line_end: 7546
        line_start: 7535
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: freq
        type: unsigned int
      - name: max_tx_power
        type: unsigned int
      - name: disabled
        type: bool
      - name: no_ir
        type: bool
      - name: radar
        type: bool
      item_type: struct
      name: frequency_attrs
      pos:
        line_end: 7545
        line_start: 7539
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: '*peer'
        type: u8
      - name: '*ies'
        type: u8
      - name: ie_len
        type: size_t
      item_type: struct
      name: mesh_peer
      pos:
        line_end: 7568
        line_start: 7564
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: pri_freq
        type: unsigned int
      - name: sec_freq
        type: unsigned int
      - name: edmg_channel
        type: u8
      - name: vht_seg0_center_ch
        type: u8
      - name: vht_seg1_center_ch
        type: u8
      - name: ch_width
        type: u16
      - name: hw_mode
        type: enum hostapd_hw_mode
      - name: puncture_bitmap
        type: u16
      - name: link_id
        type: int
      item_type: struct
      name: acs_selected_channels
      pos:
        line_end: 7602
        line_start: 7592
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: reason_code
        type: "enum {\n\t\t\tP2P_LO_STOPPED_REASON_COMPLETE = 0,\n\t\t\tP2P_LO_STOPPED_REASON_RECV_STOP_CMD,\n\t\t\tP2P_LO_STOPPED_REASON_INVALID_PARAM,\n\t\t\tP2P_LO_STOPPED_REASON_NOT_SUPPORTED,\n\t\t}"
      item_type: struct
      name: p2p_lo_stop
      pos:
        line_end: 7623
        line_start: 7616
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: '*addr'
        type: u8
      - name: smps_mode
        type: enum smps_mode
      - name: chan_width
        type: enum chan_width
      - name: rx_nss
        type: u8
      item_type: struct
      name: sta_opmode
      pos:
        line_end: 7642
        line_start: 7637
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: '*sta_addr'
        type: u8
      - name: '*ifname'
        type: char
      - name: istatus
        type: "enum {\n\t\t\tINTERFACE_ADDED,\n\t\t\tINTERFACE_REMOVED\n\t\t}"
      item_type: struct
      name: wds_sta_interface
      pos:
        line_end: 7654
        line_start: 7647
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: '*peer'
        type: u8
      - name: '*ie'
        type: u8
      - name: ie_len
        type: size_t
      - name: assoc_link_id
        type: int
      - name: '*link_addr'
        type: u8
      item_type: struct
      name: update_dh
      pos:
        line_end: 7665
        line_start: 7659
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: '*sa'
        type: u8
      item_type: struct
      name: unprot_beacon
      pos:
        line_end: 7672
        line_start: 7670
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: bitmap
        type: u64
      - name: link_id
        type: int
      item_type: struct
      name: bss_color_collision
      pos:
        line_end: 7680
        line_start: 7677
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: '*td_bitmap'
        type: u8
      - name: td_bitmap_len
        type: size_t
      - name: '*sta_addr'
        type: u8
      item_type: struct
      name: port_authorized
      pos:
        line_end: 7702
        line_start: 7698
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: default_map
        type: bool
      - name: valid_links
        type: u8
      - name: t2lmap[MAX_NUM_MLD_LINKS]
        type: struct t2lm_mapping
      item_type: struct
      name: tid_link_map_info
      pos:
        line_end: 7711
        line_start: 7707
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: added_links
        type: u16
      - name: count
        type: u8
      - name: '*status_list'
        type: u8
      - name: '*resp_ie'
        type: u8
      - name: resp_ie_len
        type: size_t
      item_type: struct
      name: reconfig_info
      pos:
        line_end: 7722
        line_start: 7716
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: '*bssid'
        type: u8
      - name: new_cluster
        type: bool
      item_type: struct
      name: nan_cluster_join_info
      pos:
        line_end: 7727
        line_start: 7724
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: freq
        type: int
      item_type: struct
      name: nan_next_dw_info
      pos:
        line_end: 7731
        line_start: 7729
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: freq
        type: int
      - name: chan_width
        type: enum chan_width
      - name: cf1
        type: int
      - name: cf2
        type: int
      - name: chan_bw_interference_bitmap
        type: u32
      - name: link_id
        type: int
      item_type: struct
      name: incumbt_sig_intf_event
      pos:
        line_end: 7743
        line_start: 7736
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: success
        type: bool
      item_type: struct
      name: nan_sched_update_done_info
      pos:
        line_end: 7751
        line_start: 7749
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: '*ulw'
        type: u8
      - name: ulw_len
        type: size_t
      item_type: struct
      name: nan_ulw_update_info
      pos:
        line_end: 7764
        line_start: 7761
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: freq
        type: int
      item_type: struct
      name: nan_chan_evacuation_info
      pos:
        line_end: 7772
        line_start: 7770
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: addr[ETH_ALEN]
        type: u8
      - name: status
        type: u32
      - name: host_time
        type: u64
      - name: ap_tsf
        type: u64
      - name: final
        type: bool
      - name: cookie
        type: u64
      - name: ftm
        type: "struct peer_measurement_ftm_result {\n\t\t\tbool fail;\n\t\t\tu32 fail_reason;\n\t\t\tu32
          burst_index;\n\t\t\tu32 num_ftmr_attempts;\n\t\t\tu32 num_ftmr_successes;\n\t\t\tu32
          busy_retry_time;\n\t\t\tu32 num_bursts_exp;\n\t\t\tu32 burst_duration;\n\t\t\tu32
          ftms_per_burst;\n\t\t\ts32 rssi_avg;\n\t\t\ts32 rssi_spread;\n\t\t\ts64
          rtt_avg;\n\t\t\tu64 rtt_variance;\n\t\t\tu64 rtt_spread;\n\t\t\ts64 dist_avg;\n\t\t\tu64
          dist_variance;\n\t\t\tu64 dist_spread;\n\t\t\tconst u8 *lci;\n\t\t\tsize_t
          lci_len;\n\t\t\tconst u8 *civicloc;\n\t\t\tsize_t civicloc_len;\n\t\t\t/*
          Additional FTM parameters */\n\t\t\tu32 burst_period;\n\t\t\tu32 tx_ltf_repetition_count;\n\t\t\tu32
          rx_ltf_repetition_count;\n\t\t\tu32 max_time_between_measurements;\n\t\t\tu32
          min_time_between_measurements;\n\t\t\tu32 num_tx_spatial_streams;\n\t\t\tu32
          num_rx_spatial_streams;\n\t\t\tu32 nominal_time;\n\t\t\tu8 availability_window;\n\t\t\tu32
          band_width;\n\t\t\tu32 preamble;\n\t\t\tbool is_delayed_lmr;\n\t\t\t/* Flag
          indicating if FTM data is present */\n\t\t\tbool has_data;\n\t\t}"
      item_type: struct
      name: peer_measurement_result
      pos:
        line_end: 7829
        line_start: 7778
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: fail
        type: bool
      - name: fail_reason
        type: u32
      - name: burst_index
        type: u32
      - name: num_ftmr_attempts
        type: u32
      - name: num_ftmr_successes
        type: u32
      - name: busy_retry_time
        type: u32
      - name: num_bursts_exp
        type: u32
      - name: burst_duration
        type: u32
      - name: ftms_per_burst
        type: u32
      - name: rssi_avg
        type: s32
      - name: rssi_spread
        type: s32
      - name: rtt_avg
        type: s64
      - name: rtt_variance
        type: u64
      - name: rtt_spread
        type: u64
      - name: dist_avg
        type: s64
      - name: dist_variance
        type: u64
      - name: dist_spread
        type: u64
      - name: '*lci'
        type: u8
      - name: lci_len
        type: size_t
      - name: '*civicloc'
        type: u8
      - name: civicloc_len
        type: size_t
      - name: burst_period
        type: u32
      - name: tx_ltf_repetition_count
        type: u32
      - name: rx_ltf_repetition_count
        type: u32
      - name: max_time_between_measurements
        type: u32
      - name: min_time_between_measurements
        type: u32
      - name: num_tx_spatial_streams
        type: u32
      - name: num_rx_spatial_streams
        type: u32
      - name: nominal_time
        type: u32
      - name: availability_window
        type: u8
      - name: band_width
        type: u32
      - name: preamble
        type: u32
      - name: is_delayed_lmr
        type: bool
      - name: has_data
        type: bool
      item_type: struct
      name: peer_measurement_ftm_result
      pos:
        line_end: 7827
        line_start: 7790
        source_file: /src/hostap/src/drivers/driver.h
    - fields:
      - name: cookie
        type: u64
      item_type: struct
      name: peer_measurement_complete
      pos:
        line_end: 7837
        line_start: 7835
        source_file: /src/hostap/src/drivers/driver.h
    typedefs: []
    union:
    - fields:
      - name: assoc_info
        type: "struct assoc_info {\n\t\t/**\n\t\t * reassoc - Flag to indicate association
          or reassociation\n\t\t */\n\t\tint reassoc;\n\n\t\t/**\n\t\t * req_ies -
          (Re)Association Request IEs\n\t\t *\n\t\t * If the driver generates WPA/RSN
          IE, this event data must be\n\t\t * returned for WPA handshake to have needed
          information. If\n\t\t * wpa_supplicant-generated WPA/RSN IE is used, this\n\t\t
          * information event is optional.\n\t\t *\n\t\t * This should start with
          the first IE (fixed fields before IEs\n\t\t * are not included).\n\t\t */\n\t\tconst
          u8 *req_ies;\n\n\t\t/**\n\t\t * req_ies_len - Length of req_ies in bytes\n\t\t
          */\n\t\tsize_t req_ies_len;\n\n\t\t/**\n\t\t * resp_ies - (Re)Association
          Response IEs\n\t\t *\n\t\t * Optional association data from the driver.
          This data is not\n\t\t * required WPA, but may be useful for some protocols
          and as\n\t\t * such, should be reported if this is available to the driver\n\t\t
          * interface.\n\t\t *\n\t\t * This should start with the first IE (fixed
          fields before IEs\n\t\t * are not included).\n\t\t */\n\t\tconst u8 *resp_ies;\n\n\t\t/**\n\t\t
          * resp_ies_len - Length of resp_ies in bytes\n\t\t */\n\t\tsize_t resp_ies_len;\n\n\t\t/**\n\t\t
          * resp_frame - (Re)Association Response frame\n\t\t */\n\t\tconst u8 *resp_frame;\n\n\t\t/**\n\t\t
          * resp_frame_len - (Re)Association Response frame length\n\t\t */\n\t\tsize_t
          resp_frame_len;\n\n\t\t/**\n\t\t * beacon_ies - Beacon or Probe Response
          IEs\n\t\t *\n\t\t * Optional Beacon/ProbeResp data: IEs included in Beacon
          or\n\t\t * Probe Response frames from the current AP (i.e., the one\n\t\t
          * that the client just associated with). This information is\n\t\t * used
          to update WPA/RSN IE for the AP. If this field is not\n\t\t * set, the results
          from previous scan will be used. If no\n\t\t * data for the new AP is found,
          scan results will be requested\n\t\t * again (without scan request). At
          this point, the driver is\n\t\t * expected to provide WPA/RSN IE for the
          AP (if WPA/WPA2 is\n\t\t * used).\n\t\t *\n\t\t * This should start with
          the first IE (fixed fields before IEs\n\t\t * are not included).\n\t\t */\n\t\tconst
          u8 *beacon_ies;\n\n\t\t/**\n\t\t * beacon_ies_len - Length of beacon_ies
          */\n\t\tsize_t beacon_ies_len;\n\n\t\t/**\n\t\t * freq - Frequency of the
          operational channel in MHz\n\t\t */\n\t\tunsigned int freq;\n\n\t\t/**\n\t\t
          * wmm_params - WMM parameters used in this association.\n\t\t */\n\t\tstruct
          wmm_params wmm_params;\n\n\t\t/**\n\t\t * addr - Station address (for AP
          mode)\n\t\t */\n\t\tconst u8 *addr;\n\n\t\t/**\n\t\t * The following is
          the key management offload information\n\t\t * @authorized\n\t\t * @key_replay_ctr\n\t\t
          * @key_replay_ctr_len\n\t\t * @ptk_kck\n\t\t * @ptk_kek_len\n\t\t * @ptk_kek\n\t\t
          * @ptk_kek_len\n\t\t */\n\n\t\t/**\n\t\t * authorized - Status of key management
          offload,\n\t\t * 1 = successful\n\t\t */\n\t\tint authorized;\n\n\t\t/**\n\t\t
          * key_replay_ctr - Key replay counter value last used\n\t\t * in a valid
          EAPOL-Key frame\n\t\t */\n\t\tconst u8 *key_replay_ctr;\n\n\t\t/**\n\t\t
          * key_replay_ctr_len - The length of key_replay_ctr\n\t\t */\n\t\tsize_t
          key_replay_ctr_len;\n\n\t\t/**\n\t\t * ptk_kck - The derived PTK KCK\n\t\t
          */\n\t\tconst u8 *ptk_kck;\n\n\t\t/**\n\t\t * ptk_kek_len - The length of
          ptk_kck\n\t\t */\n\t\tsize_t ptk_kck_len;\n\n\t\t/**\n\t\t * ptk_kek - The
          derived PTK KEK\n\t\t * This is used in key management offload and also
          in FILS SK\n\t\t * offload.\n\t\t */\n\t\tconst u8 *ptk_kek;\n\n\t\t/**\n\t\t
          * ptk_kek_len - The length of ptk_kek\n\t\t */\n\t\tsize_t ptk_kek_len;\n\n\t\t/**\n\t\t
          * subnet_status - The subnet status:\n\t\t * 0 = unknown, 1 = unchanged,
          2 = changed\n\t\t */\n\t\tu8 subnet_status;\n\n\t\t/**\n\t\t * The following
          information is used in FILS SK offload\n\t\t * @fils_erp_next_seq_num\n\t\t
          * @fils_pmk\n\t\t * @fils_pmk_len\n\t\t * @fils_pmkid\n\t\t */\n\n\t\t/**\n\t\t
          * fils_erp_next_seq_num - The next sequence number to use in\n\t\t * FILS
          ERP messages\n\t\t */\n\t\tu16 fils_erp_next_seq_num;\n\n\t\t/**\n\t\t *
          fils_pmk - A new PMK if generated in case of FILS\n\t\t * authentication\n\t\t
          */\n\t\tconst u8 *fils_pmk;\n\n\t\t/**\n\t\t * fils_pmk_len - Length of
          fils_pmk\n\t\t */\n\t\tsize_t fils_pmk_len;\n\n\t\t/**\n\t\t * fils_pmkid
          - PMKID used or generated in FILS authentication\n\t\t */\n\t\tconst u8
          *fils_pmkid;\n\n\t\t/**\n\t\t * link_addr - Link address of the STA\n\t\t
          */\n\t\tconst u8 *link_addr;\n\n\t\t/**\n\t\t * assoc_link_id - Association
          link id of the MLO association or\n\t\t *\t-1 if MLO is not used\n\t\t */\n\t\tint
          assoc_link_id;\n\n\t\t/**\n\t\t * assoc_encrypted - Indicate that the (Re)Association\n\t\t
          * Request/Response frames are transmitted encrypted over the\n\t\t * air.\n\t\t
          */\n\t\tbool assoc_encrypted;\n\t}"
      - name: disassoc_info
        type: "struct disassoc_info {\n\t\t/**\n\t\t * addr - Station address (for
          AP mode)\n\t\t */\n\t\tconst u8 *addr;\n\n\t\t/**\n\t\t * reason_code -
          Reason Code (host byte order) used in\n\t\t *\tDeauthentication frame\n\t\t
          */\n\t\tu16 reason_code;\n\n\t\t/**\n\t\t * ie - Optional IE(s) in Disassociation
          frame\n\t\t */\n\t\tconst u8 *ie;\n\n\t\t/**\n\t\t * ie_len - Length of
          ie buffer in octets\n\t\t */\n\t\tsize_t ie_len;\n\n\t\t/**\n\t\t * locally_generated
          - Whether the frame was locally generated\n\t\t */\n\t\tint locally_generated;\n\t}"
      - name: deauth_info
        type: "struct deauth_info {\n\t\t/**\n\t\t * addr - Station address (for AP
          mode)\n\t\t */\n\t\tconst u8 *addr;\n\n\t\t/**\n\t\t * reason_code - Reason
          Code (host byte order) used in\n\t\t *\tDeauthentication frame\n\t\t */\n\t\tu16
          reason_code;\n\n\t\t/**\n\t\t * ie - Optional IE(s) in Deauthentication
          frame\n\t\t */\n\t\tconst u8 *ie;\n\n\t\t/**\n\t\t * ie_len - Length of
          ie buffer in octets\n\t\t */\n\t\tsize_t ie_len;\n\n\t\t/**\n\t\t * locally_generated
          - Whether the frame was locally generated\n\t\t */\n\t\tint locally_generated;\n\t}"
      - name: michael_mic_failure
        type: "struct michael_mic_failure {\n\t\tint unicast;\n\t\tconst u8 *src;\n\t}"
      - name: interface_status
        type: "struct interface_status {\n\t\tunsigned int ifindex;\n\t\tchar ifname[100];\n\t\tenum
          {\n\t\t\tEVENT_INTERFACE_ADDED, EVENT_INTERFACE_REMOVED\n\t\t} ievent;\n\t}"
      - name: pmkid_candidate
        type: "struct pmkid_candidate {\n\t\t/** BSSID of the PMKID candidate */\n\t\tu8
          bssid[ETH_ALEN];\n\t\t/** Smaller the index, higher the priority */\n\t\tint
          index;\n\t\t/** Whether RSN IE includes pre-authenticate flag */\n\t\tint
          preauth;\n\t}"
      - name: tdls
        type: "struct tdls {\n\t\tu8 peer[ETH_ALEN];\n\t\tenum {\n\t\t\tTDLS_REQUEST_SETUP,\n\t\t\tTDLS_REQUEST_TEARDOWN,\n\t\t\tTDLS_REQUEST_DISCOVER,\n\t\t}
          oper;\n\t\tu16 reason_code; /* for teardown */\n\t}"
      - name: wnm
        type: "struct wnm {\n\t\tu8 addr[ETH_ALEN];\n\t\tenum {\n\t\t\tWNM_OPER_SLEEP,\n\t\t}
          oper;\n\t\tenum {\n\t\t\tWNM_SLEEP_ENTER,\n\t\t\tWNM_SLEEP_EXIT\n\t\t} sleep_action;\n\t\tint
          sleep_intval;\n\t\tu16 reason_code;\n\t\tu8 *buf;\n\t\tu16 buf_len;\n\t}"
      - name: ft_ies
        type: "struct ft_ies {\n\t\tconst u8 *ies;\n\t\tsize_t ies_len;\n\t\tint ft_action;\n\t\tu8
          target_ap[ETH_ALEN];\n\t\t/** Optional IE(s), e.g., WMM TSPEC(s), for RIC-Request
          */\n\t\tconst u8 *ric_ies;\n\t\t/** Length of ric_ies buffer in octets */\n\t\tsize_t
          ric_ies_len;\n\t}"
      - name: ibss_rsn_start
        type: "struct ibss_rsn_start {\n\t\tu8 peer[ETH_ALEN];\n\t}"
      - name: auth
        type: "struct auth_info {\n\t\tu8 peer[ETH_ALEN];\n\t\tu8 bssid[ETH_ALEN];\n\t\tu16
          auth_type;\n\t\tu16 auth_transaction;\n\t\tu16 status_code;\n\t\tconst u8
          *ies;\n\t\tsize_t ies_len;\n\t\tconst u8 *frame_body;\n\t\tsize_t frame_body_len;\n\t}"
      - name: assoc_reject
        type: "struct assoc_reject {\n\t\t/**\n\t\t * bssid - BSSID of the AP that
          rejected association\n\t\t */\n\t\tconst u8 *bssid;\n\n\t\t/**\n\t\t * resp_ies
          - (Re)Association Response IEs\n\t\t *\n\t\t * Optional association data
          from the driver. This data is not\n\t\t * required WPA, but may be useful
          for some protocols and as\n\t\t * such, should be reported if this is available
          to the driver\n\t\t * interface.\n\t\t *\n\t\t * This should start with
          the first IE (fixed fields before IEs\n\t\t * are not included).\n\t\t */\n\t\tconst
          u8 *resp_ies;\n\n\t\t/**\n\t\t * resp_ies_len - Length of resp_ies in bytes\n\t\t
          */\n\t\tsize_t resp_ies_len;\n\n\t\t/**\n\t\t * status_code - Status Code
          from (Re)association Response\n\t\t */\n\t\tu16 status_code;\n\n\t\t/**\n\t\t
          * timed_out - Whether failure is due to timeout (etc.) rather\n\t\t * than
          explicit rejection response from the AP.\n\t\t */\n\t\tint timed_out;\n\n\t\t/**\n\t\t
          * timeout_reason - Reason for the timeout\n\t\t */\n\t\tconst char *timeout_reason;\n\n\t\t/**\n\t\t
          * fils_erp_next_seq_num - The next sequence number to use in\n\t\t * FILS
          ERP messages\n\t\t */\n\t\tu16 fils_erp_next_seq_num;\n\n\t\t/**\n\t\t *
          reason_code - Connection failure reason code from the driver\n\t\t */\n\t\tenum
          sta_connect_fail_reason_codes reason_code;\n\t}"
      - name: timeout_event
        type: "struct timeout_event {\n\t\tu8 addr[ETH_ALEN];\n\t}"
      - name: tx_status
        type: "struct tx_status {\n\t\tu16 type;\n\t\tu16 stype;\n\t\tconst u8 *dst;\n\t\tconst
          u8 *data;\n\t\tsize_t data_len;\n\t\tint ack;\n\t\tint link_id;\n\t}"
      - name: rx_from_unknown
        type: "struct rx_from_unknown {\n\t\tconst u8 *bssid;\n\t\tconst u8 *addr;\n\t\tint
          wds;\n\t\tint link_id;\n\t}"
      - name: rx_mgmt
        type: "struct rx_mgmt {\n\t\tconst u8 *frame;\n\t\tsize_t frame_len;\n\t\tu32
          datarate;\n\n\t\t/**\n\t\t * drv_priv - Pointer to store driver private
          BSS information\n\t\t *\n\t\t * If not set to NULL, this is used for comparison
          with\n\t\t * hostapd_data->drv_priv to determine which BSS should process\n\t\t
          * the frame.\n\t\t */\n\t\tvoid *drv_priv;\n\n\t\t/**\n\t\t * ctx - Pointer
          to store ctx of private BSS information\n\t\t *\n\t\t * If not set to NULL,
          this is used for forwarding the packet\n\t\t * to right link BSS of ML BSS.\n\t\t
          */\n\t\tvoid *ctx;\n\n\t\t/**\n\t\t * freq - Frequency (in MHz) on which
          the frame was received\n\t\t */\n\t\tint freq;\n\n\t\t/**\n\t\t * ssi_signal
          - Signal strength in dBm (or 0 if not available)\n\t\t */\n\t\tint ssi_signal;\n\n\t\t/**\n\t\t
          * link_id - MLO link on which the frame was received or -1 for\n\t\t * non
          MLD.\n\t\t */\n\t\tint link_id;\n\t}"
      - name: remain_on_channel
        type: "struct remain_on_channel {\n\t\t/**\n\t\t * freq - Channel frequency
          in MHz\n\t\t */\n\t\tunsigned int freq;\n\n\t\t/**\n\t\t * duration - Duration
          to remain on the channel in milliseconds\n\t\t */\n\t\tunsigned int duration;\n\t}"
      - name: scan_info
        type: "struct scan_info {\n\t\tint aborted;\n\t\tconst int *freqs;\n\t\tsize_t
          num_freqs;\n\t\tstruct wpa_driver_scan_ssid ssids[WPAS_MAX_SCAN_SSIDS];\n\t\tsize_t
          num_ssids;\n\t\tint external_scan;\n\t\tint nl_scan_event;\n\t\tu64 scan_start_tsf;\n\t\tu8
          scan_start_tsf_bssid[ETH_ALEN];\n\t\tu64 scan_cookie;\n\t}"
      - name: rx_probe_req
        type: "struct rx_probe_req {\n\t\t/**\n\t\t * sa - Source address of the received
          Probe Request frame\n\t\t */\n\t\tconst u8 *sa;\n\n\t\t/**\n\t\t * da -
          Destination address of the received Probe Request frame\n\t\t *\tor %NULL
          if not available\n\t\t */\n\t\tconst u8 *da;\n\n\t\t/**\n\t\t * bssid -
          BSSID of the received Probe Request frame or %NULL\n\t\t *\tif not available\n\t\t
          */\n\t\tconst u8 *bssid;\n\n\t\t/**\n\t\t * ie - IEs from the Probe Request
          body\n\t\t */\n\t\tconst u8 *ie;\n\n\t\t/**\n\t\t * ie_len - Length of ie
          buffer in octets\n\t\t */\n\t\tsize_t ie_len;\n\n\t\t/**\n\t\t * signal
          - signal strength in dBm (or 0 if not available)\n\t\t */\n\t\tint ssi_signal;\n\t}"
      - name: new_sta
        type: "struct new_sta {\n\t\tconst u8 *addr;\n\t}"
      - name: eapol_rx
        type: "struct eapol_rx {\n\t\tconst u8 *src;\n\t\tconst u8 *data;\n\t\tsize_t
          data_len;\n\t\tenum frame_encryption encrypted;\n\t\tint link_id;\n\t}"
      - name: signal_change
        type: struct wpa_signal_info
      - name: best_chan
        type: "struct best_channel {\n\t\tint freq_24;\n\t\tint freq_5;\n\t\tint freq_overall;\n\t}"
      - name: unprot_deauth
        type: "struct unprot_deauth {\n\t\tconst u8 *sa;\n\t\tconst u8 *da;\n\t\tu16
          reason_code;\n\t}"
      - name: unprot_disassoc
        type: "struct unprot_disassoc {\n\t\tconst u8 *sa;\n\t\tconst u8 *da;\n\t\tu16
          reason_code;\n\t}"
      - name: low_ack
        type: "struct low_ack {\n\t\tu8 addr[ETH_ALEN];\n\t\tu32 num_packets;\n\t}"
      - name: ibss_peer_lost
        type: "struct ibss_peer_lost {\n\t\tu8 peer[ETH_ALEN];\n\t}"
      - name: driver_gtk_rekey
        type: "struct driver_gtk_rekey {\n\t\tconst u8 *bssid;\n\t\tconst u8 *replay_ctr;\n\t}"
      - name: client_poll
        type: "struct client_poll {\n\t\tu8 addr[ETH_ALEN];\n\t}"
      - name: eapol_tx_status
        type: "struct eapol_tx_status {\n\t\tconst u8 *dst;\n\t\tconst u8 *data;\n\t\tint
          data_len;\n\t\tint ack;\n\t\tint link_id;\n\t}"
      - name: ch_switch
        type: "struct ch_switch {\n\t\tint freq;\n\t\tint ht_enabled;\n\t\tint ch_offset;\n\t\tenum
          chan_width ch_width;\n\t\tint cf1;\n\t\tint cf2;\n\t\tint link_id;\n\t\tu16
          punct_bitmap;\n\t}"
      - name: connect_failed_reason
        type: "struct connect_failed_reason {\n\t\tu8 addr[ETH_ALEN];\n\t\tenum {\n\t\t\tMAX_CLIENT_REACHED,\n\t\t\tBLOCKED_CLIENT\n\t\t}
          code;\n\t}"
      - name: dfs_event
        type: "struct dfs_event {\n\t\tint freq;\n\t\tint ht_enabled;\n\t\tint chan_offset;\n\t\tenum
          chan_width chan_width;\n\t\tint cf1;\n\t\tint cf2;\n\t\tint link_id;\n\t}"
      - name: survey_results
        type: "struct survey_results {\n\t\tunsigned int freq_filter;\n\t\tstruct
          dl_list survey_list; /* struct freq_survey */\n\t}"
      - name: channel_list_changed
        type: "struct channel_list_changed {\n\t\tenum reg_change_initiator initiator;\n\t\tenum
          reg_type type;\n\t\tchar alpha2[3];\n\t\tstruct frequency_attrs {\n\t\t\tunsigned
          int freq;\n\t\t\tunsigned int max_tx_power;\n\t\t\tbool disabled;\n\t\t\tbool
          no_ir;\n\t\t\tbool radar;\n\t\t} beacon_hint_before, beacon_hint_after;\n\t}"
      - name: freq_range
        type: struct wpa_freq_range_list
      - name: mesh_peer
        type: "struct mesh_peer {\n\t\tconst u8 *peer;\n\t\tconst u8 *ies;\n\t\tsize_t
          ie_len;\n\t}"
      - name: acs_selected_channels
        type: "struct acs_selected_channels {\n\t\tunsigned int pri_freq;\n\t\tunsigned
          int sec_freq;\n\t\tu8 edmg_channel;\n\t\tu8 vht_seg0_center_ch;\n\t\tu8
          vht_seg1_center_ch;\n\t\tu16 ch_width;\n\t\tenum hostapd_hw_mode hw_mode;\n\t\tu16
          puncture_bitmap;\n\t\tint link_id;\n\t}"
      - name: p2p_lo_stop
        type: "struct p2p_lo_stop {\n\t\tenum {\n\t\t\tP2P_LO_STOPPED_REASON_COMPLETE
          = 0,\n\t\t\tP2P_LO_STOPPED_REASON_RECV_STOP_CMD,\n\t\t\tP2P_LO_STOPPED_REASON_INVALID_PARAM,\n\t\t\tP2P_LO_STOPPED_REASON_NOT_SUPPORTED,\n\t\t}
          reason_code;\n\t}"
      - name: external_auth
        type: struct external_auth
      - name: sta_opmode
        type: "struct sta_opmode {\n\t\tconst u8 *addr;\n\t\tenum smps_mode smps_mode;\n\t\tenum
          chan_width chan_width;\n\t\tu8 rx_nss;\n\t}"
      - name: wds_sta_interface
        type: "struct wds_sta_interface {\n\t\tconst u8 *sta_addr;\n\t\tconst char
          *ifname;\n\t\tenum {\n\t\t\tINTERFACE_ADDED,\n\t\t\tINTERFACE_REMOVED\n\t\t}
          istatus;\n\t}"
      - name: update_dh
        type: "struct update_dh {\n\t\tconst u8 *peer;\n\t\tconst u8 *ie;\n\t\tsize_t
          ie_len;\n\t\tint assoc_link_id;\n\t\tconst u8 *link_addr;\n\t}"
      - name: unprot_beacon
        type: "struct unprot_beacon {\n\t\tconst u8 *sa;\n\t}"
      - name: bss_color_collision
        type: "struct bss_color_collision {\n\t\tu64 bitmap;\n\t\tint link_id;\n\t}"
      - name: pasn_auth
        type: struct pasn_auth
      - name: port_authorized
        type: "struct port_authorized {\n\t\tconst u8 *td_bitmap;\n\t\tsize_t td_bitmap_len;\n\t\tconst
          u8 *sta_addr;\n\t}"
      - name: t2l_map_info
        type: "struct tid_link_map_info {\n\t\tbool default_map;\n\t\tu8 valid_links;\n\t\tstruct
          t2lm_mapping t2lmap[MAX_NUM_MLD_LINKS];\n\t}"
      - name: reconfig_info
        type: "struct reconfig_info {\n\t\tu16 added_links;\n\t\tu8 count;\n\t\tconst
          u8 *status_list;\n\t\tconst u8 *resp_ie; /* Starting from Group Key Data
          */\n\t\tsize_t resp_ie_len;\n\t}"
      - name: nan_cluster_join_info
        type: "struct nan_cluster_join_info {\n\t\tconst u8 *bssid;\n\t\tbool new_cluster;\n\t}"
      - name: nan_next_dw_info
        type: "struct nan_next_dw_info {\n\t\tint freq;\n\t}"
      - name: incumbt_sig_intf_event
        type: "struct incumbt_sig_intf_event {\n\t\tint freq;\n\t\tenum chan_width
          chan_width;\n\t\tint cf1;\n\t\tint cf2;\n\t\tu32 chan_bw_interference_bitmap;\n\t\tint
          link_id;\n\t}"
      - name: nan_sched_update_done_info
        type: "struct nan_sched_update_done_info {\n\t\tbool success;\n\t}"
      - name: nan_ulw_update_info
        type: "struct nan_ulw_update_info {\n\t\tconst u8 *ulw;\n\t\tsize_t ulw_len;\n\t}"
      - name: nan_chan_evacuation_info
        type: "struct nan_chan_evacuation_info {\n\t\tint freq;\n\t}"
      - name: peer_measurement_result
        type: "struct peer_measurement_result {\n\t\tu8 addr[ETH_ALEN];\n\t\tu32 status;\n\t\tu64
          host_time;\n\t\tu64 ap_tsf;\n\t\tbool final;\n\t\tu64 cookie;\n\n\t\t/**\n\t\t
          * struct peer_measurement_ftm_result -\n\t\t * FTM-specific measurement
          results\n\t\t */\n\t\tstruct peer_measurement_ftm_result {\n\t\t\tbool fail;\n\t\t\tu32
          fail_reason;\n\t\t\tu32 burst_index;\n\t\t\tu32 num_ftmr_attempts;\n\t\t\tu32
          num_ftmr_successes;\n\t\t\tu32 busy_retry_time;\n\t\t\tu32 num_bursts_exp;\n\t\t\tu32
          burst_duration;\n\t\t\tu32 ftms_per_burst;\n\t\t\ts32 rssi_avg;\n\t\t\ts32
          rssi_spread;\n\t\t\ts64 rtt_avg;\n\t\t\tu64 rtt_variance;\n\t\t\tu64 rtt_spread;\n\t\t\ts64
          dist_avg;\n\t\t\tu64 dist_variance;\n\t\t\tu64 dist_spread;\n\t\t\tconst
          u8 *lci;\n\t\t\tsize_t lci_len;\n\t\t\tconst u8 *civicloc;\n\t\t\tsize_t
          civicloc_len;\n\t\t\t/* Additional FTM parameters */\n\t\t\tu32 burst_period;\n\t\t\tu32
          tx_ltf_repetition_count;\n\t\t\tu32 rx_ltf_repetition_count;\n\t\t\tu32
          max_time_between_measurements;\n\t\t\tu32 min_time_between_measurements;\n\t\t\tu32
          num_tx_spatial_streams;\n\t\t\tu32 num_rx_spatial_streams;\n\t\t\tu32 nominal_time;\n\t\t\tu8
          availability_window;\n\t\t\tu32 band_width;\n\t\t\tu32 preamble;\n\t\t\tbool
          is_delayed_lmr;\n\t\t\t/* Flag indicating if FTM data is present */\n\t\t\tbool
          has_data;\n\t\t} ftm;\n\n\t}"
      - name: peer_measurement_complete
        type: "struct peer_measurement_complete {\n\t\tu64 cookie;\n\t}"
      item_type: union
      name: wpa_event_data
      pos:
        line_end: 7838
        line_start: 6783
        source_file: /src/hostap/src/drivers/driver.h
- function_names:
  - nl80211_command_to_string
  - C2S
  - mlme_event_auth
  - nl80211_parse_wmm_params
  - mlme_event_assoc
  - qca_drv_connect_fail_reason_code_handler
  - drv_get_connect_fail_reason_code
  - convert_connect_fail_reason_codes
  - qca_nl80211_link_reconfig_event
  - nl80211_parse_qca_vendor_mlo_link_info
  - nla_for_each_nested
  - nl80211_parse_mlo_link_info
  - nla_for_each_nested
  - nl80211_get_basic_mle_links_info
  - nl80211_update_rejected_links_info
  - nl80211_get_assoc_link_id
  - nl80211_parse_mlo_info
  - qca_nl80211_tid_to_link_map_event
  - nla_for_each_nested
  - mlme_event_link_removal
  - nla_for_each_nested
  - mlme_event_connect
  - mlme_event_disconnect
  - calculate_chan_offset
  - mlme_event_ch_switch
  - mlme_timeout_event
  - mlme_event_mgmt
  - find_send_frame_cookie
  - mlme_event_mgmt_tx_status
  - mlme_event_deauth_disassoc
  - mlme_event_unprot_disconnect
  - mlme_event_unprot_beacon
  - mlme_event_link_addition
  - nl80211_get_link_id_by_freq
  - mlme_event
  - mlme_event_michael_mic_failure
  - mlme_event_join_ibss
  - mlme_event_remain_on_channel
  - mlme_event_ft_event
  - mlme_event_dh_event
  - send_scan_event
  - nla_for_each_nested
  - nla_for_each_nested
  - nl80211_cqm_event
  - nl80211_new_peer_candidate
  - nl80211_new_station_event
  - nl80211_del_station_event
  - nl80211_rekey_offload_event
  - nl80211_pmksa_candidate_event
  - nl80211_client_probe_event
  - nl80211_tdls_oper_event
  - nl80211_stop_ap
  - nl80211_connect_failed_event
  - nl80211_process_radar_event
  - nl80211_radar_event
  - nl80211_spurious_frame
  - qca_nl80211_avoid_freq
  - get_qca_hw_mode
  - chan_to_freq
  - qca_nl80211_acs_select_ch
  - qca_nl80211_key_mgmt_auth
  - qca_nl80211_key_mgmt_auth_handler
  - qca_nl80211_dfs_offload_radar_event
  - qca_nl80211_scan_trigger_event
  - send_vendor_scan_event
  - nla_for_each_nested
  - nla_for_each_nested
  - qca_nl80211_scan_done_event
  - qca_nl80211_p2p_lo_stop_event
  - qca_nl80211_pasn_auth
  - nla_for_each_nested
  - get_auth_algo
  - qca_nl80211_external_auth
  - nl80211_vendor_event_qca
  - brcm_nl80211_acs_select_ch
  - nl80211_vendor_event_brcm
  - nl80211_vendor_event
  - nl80211_reg_change_event
  - nl80211_parse_freq_attrs
  - nl80211_reg_beacon_hint_event
  - nl80211_external_auth
  - nl80211_port_authorized
  - nl80211_sta_opmode_change_event
  - nl80211_control_port_frame
  - nl80211_control_port_frame_tx_status
  - nl80211_frame_wait_cancel
  - nl80211_assoc_comeback
  - nl80211_parse_peer_ftm_result
  - nl80211_peer_measurement_complete_event
  - nl80211_peer_measurement_result_event
  - nla_for_each_nested
  - nl80211_obss_color_event
  - nl80211_nan_cluster_joined_event
  - nl80211_nan_next_dw_event
  - nl80211_nan_sched_update_done_event
  - nl80211_nan_ulw_update_event
  - nl80211_nan_channel_evacuate_event
  - nl80211_nan_del_interface_event
  - nl80211_incumbt_sig_intf_event
  - do_process_drv_event
  - nl80211_bss_in_drv
  - nl80211_drv_in_list
  - nl80211_get_event_bss
  - process_global_event
  - process_bss_event
  source_file: /src/hostap/src/drivers/driver_nl80211_event.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BASIC_ML_IE_COMMON_INFO_LINK_ID_IDX
      pos:
        line_end: 757
        line_start: 756
        source_file: /src/hostap/src/drivers/driver_nl80211_event.c
      type_or_value: '(2 + '
    - item_type: preproc_def
      name: MAX_REPORT_FREQS
      pos:
        line_end: 2192
        line_start: 2191
        source_file: /src/hostap/src/drivers/driver_nl80211_event.c
      type_or_value: '110'
    structs:
    - fields:
      - name: non_assoc_links
        type: u16
      - name: addr[MAX_NUM_MLD_LINKS][ETH_ALEN]
        type: u8
      item_type: struct
      name: links_info
      pos:
        line_end: 600
        line_start: 596
        source_file: /src/hostap/src/drivers/driver_nl80211_event.c
    typedefs: []
    union: []
- function_names:
  - msg_prepare
  - nla_put_rxsc_config
  - init_genl_ctx
  - try_commit
  - macsec_drv_wpa_deinit
  - macsec_check_macsec
  - macsec_drv_wpa_init
  - macsec_drv_macsec_init
  - macsec_drv_macsec_deinit
  - macsec_drv_get_capability
  - macsec_drv_enable_protect_frames
  - macsec_drv_enable_encrypt
  - macsec_drv_set_replay_protect
  - macsec_drv_set_offload
  - macsec_drv_set_current_cipher_suite
  - macsec_drv_enable_controlled_port
  - dump_callback
  - nla_for_each_nested
  - nla_for_each_nested
  - nla_for_each_nested
  - nl_send_recv
  - do_dump
  - macsec_drv_get_receive_lowest_pn
  - macsec_drv_set_receive_lowest_pn
  - macsec_drv_get_transmit_next_pn
  - macsec_drv_set_transmit_next_pn
  - SCI2STR
  - macsec_drv_create_receive_sc
  - macsec_drv_delete_receive_sc
  - macsec_drv_create_receive_sa
  - macsec_drv_delete_receive_sa
  - set_active_rx_sa
  - macsec_drv_enable_receive_sa
  - macsec_drv_disable_receive_sa
  - lookup_sc
  - macsec_drv_create_transmit_sc
  - macsec_drv_delete_transmit_sc
  - macsec_drv_create_transmit_sa
  - macsec_drv_delete_transmit_sa
  - set_active_tx_sa
  - macsec_drv_enable_transmit_sa
  - macsec_drv_disable_transmit_sa
  - macsec_drv_status
  - macsec_drv_handle_data
  - macsec_drv_handle_read
  - macsec_drv_init_sockets
  - macsec_drv_hapd_init
  - macsec_drv_hapd_deinit
  - macsec_drv_send_eapol
  source_file: /src/hostap/src/drivers/driver_macsec_linux.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DRV_PREFIX
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/hostap/src/drivers/driver_macsec_linux.c
      type_or_value: '"macsec_linux: "'
    - item_type: preproc_def
      name: UNUSED_SCI
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/hostap/src/drivers/driver_macsec_linux.c
      type_or_value: '0xffffffffffffffff'
    - item_type: preproc_def
      name: SCISTR
      pos:
        line_end: 861
        line_start: 860
        source_file: /src/hostap/src/drivers/driver_macsec_linux.c
      type_or_value: MACSTR "::%hx"
    structs:
    - fields:
      - name: '*drv'
        type: struct macsec_drv_data
      - name: '*pn'
        type: u32
      - name: ifindex
        type: int
      - name: txsa
        type: u8
      - name: rxsa
        type: u8
      - name: rxsci
        type: u64
      item_type: struct
      name: cb_arg
      pos:
        line_end: 47
        line_start: 40
        source_file: /src/hostap/src/drivers/driver_macsec_linux.c
    - fields:
      - name: '*sk'
        type: struct nl_sock
      - name: macsec_genl_id
        type: int
      - name: cb_arg
        type: struct cb_arg
      item_type: struct
      name: macsec_genl_ctx
      pos:
        line_end: 53
        line_start: 49
        source_file: /src/hostap/src/drivers/driver_macsec_linux.c
    - fields:
      - name: common
        type: struct driver_wired_common_data
      - name: '*link'
        type: struct rtnl_link
      - name: '*link_cache'
        type: struct nl_cache
      - name: '*sk'
        type: struct nl_sock
      - name: ctx
        type: struct macsec_genl_ctx
      - name: ifname[IFNAMSIZ + 1]
        type: char
      - name: ifi
        type: int
      - name: parent_ifi
        type: int
      - name: use_pae_group_addr
        type: int
      - name: created_link
        type: bool
      - name: controlled_port_enabled
        type: bool
      - name: controlled_port_enabled_set
        type: bool
      - name: protect_frames
        type: bool
      - name: protect_frames_set
        type: bool
      - name: encrypt
        type: bool
      - name: encrypt_set
        type: bool
      - name: replay_protect
        type: bool
      - name: replay_protect_set
        type: bool
      - name: replay_window
        type: u32
      - name: encoding_sa
        type: u8
      - name: encoding_sa_set
        type: bool
      - name: cipher_suite
        type: u64
      - name: cipher_suite_set
        type: bool
      item_type: struct
      name: macsec_drv_data
      pos:
        line_end: 93
        line_start: 55
        source_file: /src/hostap/src/drivers/driver_macsec_linux.c
    typedefs: []
    union: []
- function_names:
  - __macsec_drv_init
  - __macsec_drv_deinit
  - macsec_qca_handle_data
  - macsec_qca_handle_read
  - macsec_qca_init_sockets
  - macsec_qca_secy_id_get
  - macsec_qca_init
  - macsec_qca_deinit
  - macsec_qca_hapd_init
  - macsec_qca_hapd_deinit
  - macsec_qca_send_eapol
  - macsec_qca_macsec_init
  - macsec_qca_macsec_deinit
  - macsec_qca_get_capability
  - macsec_qca_enable_protect_frames
  - macsec_qca_set_replay_protect
  - macsec_qca_cs_type_get
  - macsec_qca_set_current_cipher_suite
  - macsec_qca_enable_controlled_port
  - macsec_qca_lookup_channel
  - macsec_qca_register_channel
  - macsec_qca_lookup_receive_channel
  - macsec_qca_register_receive_channel
  - macsec_qca_lookup_transmit_channel
  - macsec_qca_register_transmit_channel
  - macsec_qca_get_receive_lowest_pn
  - macsec_qca_get_transmit_next_pn
  - macsec_qca_set_transmit_next_pn
  - macsec_qca_get_available_receive_sc
  - macsec_qca_create_receive_sc
  - macsec_qca_delete_receive_sc
  - macsec_qca_create_receive_sa
  - macsec_qca_enable_receive_sa
  - macsec_qca_disable_receive_sa
  - macsec_qca_get_available_transmit_sc
  - macsec_qca_create_transmit_sc
  - macsec_qca_delete_transmit_sc
  - macsec_qca_create_transmit_sa
  - macsec_qca_enable_transmit_sa
  - macsec_qca_disable_transmit_sa
  source_file: /src/hostap/src/drivers/driver_macsec_qca.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAXSC
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/hostap/src/drivers/driver_macsec_qca.c
      type_or_value: '16'
    - item_type: preproc_def
      name: SAK_128_LEN
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/hostap/src/drivers/driver_macsec_qca.c
      type_or_value: '16'
    - item_type: preproc_def
      name: SAK_256_LEN
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/hostap/src/drivers/driver_macsec_qca.c
      type_or_value: '32'
    - item_type: preproc_def
      name: TCI_ES
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/hostap/src/drivers/driver_macsec_qca.c
      type_or_value: '0x40'
    - item_type: preproc_def
      name: TCI_SC
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/hostap/src/drivers/driver_macsec_qca.c
      type_or_value: '0x20'
    - item_type: preproc_def
      name: TCI_SCB
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/hostap/src/drivers/driver_macsec_qca.c
      type_or_value: '0x10'
    - item_type: preproc_def
      name: TCI_E
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/hostap/src/drivers/driver_macsec_qca.c
      type_or_value: '0x08'
    - item_type: preproc_def
      name: TCI_C
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/hostap/src/drivers/driver_macsec_qca.c
      type_or_value: '0x04'
    structs:
    - fields:
      - name: sci
        type: struct ieee802_1x_mka_sci
      item_type: struct
      name: channel_map
      pos:
        line_end: 63
        line_start: 61
        source_file: /src/hostap/src/drivers/driver_macsec_qca.c
    - fields:
      - name: common
        type: struct driver_wired_common_data
      - name: use_pae_group_addr
        type: int
      - name: secy_id
        type: u32
      - name: always_include_sci
        type: bool
      - name: use_es
        type: bool
      - name: use_scb
        type: bool
      - name: protect_frames
        type: bool
      - name: replay_protect
        type: bool
      - name: replay_window
        type: u32
      - name: receive_channel_map[MAXSC]
        type: struct channel_map
      - name: transmit_channel_map[MAXSC]
        type: struct channel_map
      item_type: struct
      name: macsec_qca_data
      pos:
        line_end: 81
        line_start: 65
        source_file: /src/hostap/src/drivers/driver_macsec_qca.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/drivers/rfkill.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*ctx'
        type: void
      - name: ifname[IFNAMSIZ]
        type: char
      - name: (*blocked_cb)(void *ctx)
        type: void
      - name: (*unblocked_cb)(void *ctx)
        type: void
      item_type: struct
      name: rfkill_config
      pos:
        line_end: 18
        line_start: 13
        source_file: /src/hostap/src/drivers/rfkill.h
    typedefs: []
    union: []
- function_names:
  - handle_data
  - handle_read
  - handle_dhcp
  - wired_init_sockets
  - wired_send_eapol
  - wired_driver_hapd_init
  - wired_driver_hapd_deinit
  - wpa_driver_wired_init
  - wpa_driver_wired_deinit
  source_file: /src/hostap/src/drivers/driver_wired.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: dest[6]
        type: u8
      - name: src[6]
        type: u8
      - name: ethertype
        type: u16
      item_type: struct
      name: ieee8023_hdr
      pos:
        line_end: 39
        line_start: 35
        source_file: /src/hostap/src/drivers/driver_wired.c
    - fields:
      - name: common
        type: struct driver_wired_common_data
      - name: dhcp_sock
        type: int
      - name: use_pae_group_addr
        type: int
      item_type: struct
      name: wpa_driver_wired_data
      pos:
        line_end: 51
        line_start: 46
        source_file: /src/hostap/src/drivers/driver_wired.c
    - fields:
      - name: op
        type: u_int8_t
      - name: htype
        type: u_int8_t
      - name: hlen
        type: u_int8_t
      - name: hops
        type: u_int8_t
      - name: xid
        type: u_int32_t
      - name: secs
        type: u_int16_t
      - name: flags
        type: u_int16_t
      - name: ciaddr
        type: u_int32_t
      - name: yiaddr
        type: u_int32_t
      - name: siaddr
        type: u_int32_t
      - name: giaddr
        type: u_int32_t
      - name: chaddr[16]
        type: u_int8_t
      - name: sname[64]
        type: u_int8_t
      - name: file[128]
        type: u_int8_t
      - name: cookie
        type: u_int32_t
      - name: options[308]
        type: u_int8_t
      item_type: struct
      name: dhcp_message
      pos:
        line_end: 75
        line_start: 58
        source_file: /src/hostap/src/drivers/driver_wired.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/drivers/driver_wired_common.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: ifname[IFNAMSIZ + 1]
        type: char
      - name: '*ctx'
        type: void
      - name: sock
        type: int
      - name: pf_sock
        type: int
      - name: membership
        type: int
      item_type: struct
      name: driver_wired_common_data
      pos:
        line_end: 19
        line_start: 12
        source_file: /src/hostap/src/drivers/driver_wired_common.h
    typedefs: []
    union: []
- function_names:
  - nla_nest_start
  - send_and_recv
  - send_and_recv_cmd
  - send_and_recv_resp
  - nl80211_link_valid
  - nl80211_attr_supported
  source_file: /src/hostap/src/drivers/driver_nl80211.h
  types:
    enum:
    - enumerators:
      - name: NO_SCAN
      - name: SCAN_REQUESTED
      - name: SCAN_COMPLETED
      - name: SCAN_ABORTED
      - name: SCAN_STARTED
      - name: SCHED_SCAN_STARTED
      - name: SCHED_SCAN_STOPPED
      - name: SCHED_SCAN_RESULTS
      item_type: enum
      name: scan_states
      pos:
        line_end: 164
        line_start: 160
        source_file: /src/hostap/src/drivers/driver_nl80211.h
    preproc_defs:
    - item_type: preproc_def
      name: NL80211_DRV_LINK_ID_NA
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/hostap/src/drivers/driver_nl80211.h
      type_or_value: (-1)
    - item_type: preproc_def
      name: MAX_SEND_FRAME_COOKIES
      pos:
        line_end: 234
        line_start: 233
        source_file: /src/hostap/src/drivers/driver_nl80211.h
      type_or_value: '20'
    structs:
    - fields:
      - name: '*ctx'
        type: void
      - name: interfaces
        type: struct dl_list
      - name: if_add_ifindex
        type: int
      - name: if_add_wdevid
        type: u64
      - name: if_add_wdevid_set
        type: int
      - name: '*netlink'
        type: struct netlink_data
      - name: '*nl_cb'
        type: struct nl_cb
      - name: '*nl'
        type: struct nl_sock
      - name: nl80211_id
        type: int
      - name: nl80211_maxattr
        type: unsigned int
      - name: nlctrl_id
        type: int
      - name: ioctl_sock
        type: int
      - name: '*nl_event'
        type: struct nl_sock
      - name: sync_reply_handling
        type: bool
      - name: reply_seq
        type: u32
      - name: (*reply_handler)(struct nl_msg *, void *)
        type: int
      - name: '*reply_data'
        type: void
      - name: pending_events
        type: struct dl_list
      - name: delivering_pending_events
        type: bool
      item_type: struct
      name: nl80211_global
      pos:
        line_end: 60
        line_start: 26
        source_file: /src/hostap/src/drivers/driver_nl80211.h
    - fields:
      - name: list
        type: struct dl_list
      - name: bsss
        type: struct dl_list
      - name: drvs
        type: struct dl_list
      - name: '*nl_beacons'
        type: struct nl_sock
      - name: '*nl_cb'
        type: struct nl_cb
      - name: wiphy_idx
        type: int
      item_type: struct
      name: nl80211_wiphy_data
      pos:
        line_end: 71
        line_start: 62
        source_file: /src/hostap/src/drivers/driver_nl80211.h
    - fields:
      - name: beacon_set
        type: unsigned int
      - name: freq
        type: int
      - name: bandwidth
        type: int
      - name: addr[ETH_ALEN]
        type: u8
      - name: '*ctx'
        type: void
      item_type: struct
      name: i802_link
      pos:
        line_end: 82
        line_start: 75
        source_file: /src/hostap/src/drivers/driver_nl80211.h
    - fields:
      - name: '*drv'
        type: struct wpa_driver_nl80211_data
      - name: '*next'
        type: struct i802_bss
      - name: valid_links
        type: u16
      - name: active_links
        type: u16
      - name: links[MAX_NUM_MLD_LINKS]
        type: struct i802_link
      - name: '*flink'
        type: struct i802_link
      - name: ifindex
        type: int
      - name: ignore_if_down_event
        type: int
      - name: br_ifindex
        type: int
      - name: if_removed
        type: int
      - name: if_disabled
        type: int
      - name: wdev_id
        type: u64
      - name: ifname[IFNAMSIZ + 1]
        type: char
      - name: brname[IFNAMSIZ]
        type: char
      - name: added_if_into_bridge
        type: unsigned int
      - name: already_in_bridge
        type: unsigned int
      - name: added_bridge
        type: unsigned int
      - name: in_deinit
        type: unsigned int
      - name: wdev_id_set
        type: unsigned int
      - name: added_if
        type: unsigned int
      - name: static_ap
        type: unsigned int
      - name: addr[ETH_ALEN]
        type: u8
      - name: prev_addr[ETH_ALEN]
        type: u8
      - name: if_dynamic
        type: int
      - name: operstate
        type: int
      - name: '*ctx'
        type: void
      - name: '*nl_preq'
        type: struct nl_sock
      - name: '*nl_cb'
        type: struct nl_cb
      - name: '*wiphy_data'
        type: struct nl80211_wiphy_data
      - name: wiphy_list
        type: struct dl_list
      - name: rand_addr[ETH_ALEN]
        type: u8
      - name: start_iface_up
        type: unsigned int
      item_type: struct
      name: i802_bss
      pos:
        line_end: 126
        line_start: 84
        source_file: /src/hostap/src/drivers/driver_nl80211.h
    - fields:
      - name: ifindex
        type: int
      - name: reason
        type: int
      item_type: struct
      name: drv_nl80211_if_info
      pos:
        line_end: 132
        line_start: 128
        source_file: /src/hostap/src/drivers/driver_nl80211.h
    - fields:
      - name: '*global'
        type: struct nl80211_global
      - name: list
        type: struct dl_list
      - name: wiphy_list
        type: struct dl_list
      - name: phyname[32]
        type: char
      - name: wiphy_idx
        type: unsigned int
      - name: perm_addr[ETH_ALEN]
        type: u8
      - name: '*ctx'
        type: void
      - name: ifindex
        type: int
      - name: '*rfkill'
        type: struct rfkill_data
      - name: capa
        type: struct wpa_driver_capa
      - name: '*extended_capa'
        type: u8
      - name: extended_capa_len
        type: unsigned int
      - name: iface_capa[NL80211_IFTYPE_MAX]
        type: "struct drv_nl80211_iface_capa {\n\t\tenum nl80211_iftype iftype;\n\t\tu8
          *ext_capa, *ext_capa_mask;\n\t\tunsigned int ext_capa_len;\n\t\tu16 eml_capa;\n\t\tu16
          mld_capa_and_ops;\n\t}"
      - name: num_iface_capa
        type: unsigned int
      - name: unique_drv_id
        type: unsigned int
      - name: has_capability
        type: int
      - name: has_driver_key_mgmt
        type: int
      - name: scan_complete_events
        type: int
      - name: scan_state
        type: "enum scan_states {\n\t\tNO_SCAN, SCAN_REQUESTED, SCAN_STARTED, SCAN_COMPLETED,\n\t\tSCAN_ABORTED,
          SCHED_SCAN_STARTED, SCHED_SCAN_STOPPED,\n\t\tSCHED_SCAN_RESULTS\n\t}"
      - name: auth_bssid[ETH_ALEN]
        type: u8
      - name: auth_attempt_bssid[ETH_ALEN]
        type: u8
      - name: bssid[ETH_ALEN]
        type: u8
      - name: prev_bssid[ETH_ALEN]
        type: u8
      - name: associated
        type: int
      - name: sta_mlo_info
        type: struct driver_sta_mlo_info
      - name: ssid[SSID_MAX_LEN]
        type: u8
      - name: ssid_len
        type: size_t
      - name: nlmode
        type: enum nl80211_iftype
      - name: ap_scan_as_station
        type: enum nl80211_iftype
      - name: assoc_freq
        type: unsigned int
      - name: disabled_11b_rates
        type: unsigned int
      - name: pending_remain_on_chan
        type: unsigned int
      - name: in_interface_list
        type: unsigned int
      - name: device_ap_sme
        type: unsigned int
      - name: poll_command_supported
        type: unsigned int
      - name: data_tx_status
        type: unsigned int
      - name: scan_for_auth
        type: unsigned int
      - name: retry_auth
        type: unsigned int
      - name: hostapd
        type: unsigned int
      - name: start_mode_sta
        type: unsigned int
      - name: test_use_roc_tx
        type: unsigned int
      - name: ignore_deauth_event
        type: unsigned int
      - name: vendor_cmd_test_avail
        type: unsigned int
      - name: roaming_vendor_cmd_avail
        type: unsigned int
      - name: dfs_vendor_cmd_avail
        type: unsigned int
      - name: have_low_prio_scan
        type: unsigned int
      - name: force_connect_cmd
        type: unsigned int
      - name: addr_changed
        type: unsigned int
      - name: get_features_vendor_cmd_avail
        type: unsigned int
      - name: set_rekey_offload
        type: unsigned int
      - name: p2p_go_ctwindow_supported
        type: unsigned int
      - name: setband_vendor_cmd_avail
        type: unsigned int
      - name: get_pref_freq_list
        type: unsigned int
      - name: set_prob_oper_freq
        type: unsigned int
      - name: scan_vendor_cmd_avail
        type: unsigned int
      - name: connect_reassoc
        type: unsigned int
      - name: set_wifi_conf_vendor_cmd_avail
        type: unsigned int
      - name: fetch_bss_trans_status
        type: unsigned int
      - name: roam_vendor_cmd_avail
        type: unsigned int
      - name: add_sta_node_vendor_cmd_avail
        type: unsigned int
      - name: control_port_ap
        type: unsigned int
      - name: multicast_registrations
        type: unsigned int
      - name: no_rrm
        type: unsigned int
      - name: get_sta_info_vendor_cmd_avail
        type: unsigned int
      - name: fils_discovery
        type: unsigned int
      - name: unsol_bcast_probe_resp
        type: unsigned int
      - name: qca_do_acs
        type: unsigned int
      - name: brcm_do_acs
        type: unsigned int
      - name: uses_6ghz
        type: unsigned int
      - name: uses_s1g
        type: unsigned int
      - name: secure_ranging_ctx_vendor_cmd_avail
        type: unsigned int
      - name: puncturing
        type: unsigned int
      - name: qca_ap_allowed_freqs
        type: unsigned int
      - name: connect_ext_vendor_cmd_avail
        type: unsigned int
      - name: support_ap_scan
        type: unsigned int
      - name: extra_bss_membership_selectors[8]
        type: u8
      - name: ignore_next_local_disconnect
        type: u32
      - name: ignore_next_local_deauth
        type: u32
      - name: vendor_scan_cookie
        type: u64
      - name: remain_on_chan_cookie
        type: u64
      - name: send_frame_cookie
        type: u64
      - name: send_frame_link_id
        type: int
      - name: send_frame_cookies[MAX_SEND_FRAME_COOKIES]
        type: u64
      - name: num_send_frame_cookies
        type: unsigned int
      - name: eapol_tx_cookie
        type: u64
      - name: eapol_tx_link_id
        type: int
      - name: last_mgmt_freq
        type: unsigned int
      - name: '*filter_ssids'
        type: struct wpa_driver_scan_filter
      - name: num_filter_ssids
        type: size_t
      - name: '*first_bss'
        type: struct i802_bss
      - name: eapol_tx_sock
        type: int
      - name: eapol_sock
        type: int
      - name: '*rtnl_sk'
        type: struct nl_sock
      - name: default_if_indices[16]
        type: struct drv_nl80211_if_info
      - name: '*if_indices'
        type: struct drv_nl80211_if_info
      - name: num_if_indices
        type: int
      - name: auth_freq
        type: int
      - name: auth_bssid_[ETH_ALEN]
        type: u8
      - name: auth_ssid[SSID_MAX_LEN]
        type: u8
      - name: auth_ssid_len
        type: size_t
      - name: auth_alg
        type: int
      - name: '*auth_ie'
        type: u8
      - name: auth_ie_len
        type: size_t
      - name: '*auth_data'
        type: u8
      - name: auth_data_len
        type: size_t
      - name: auth_wep_key[4][16]
        type: u8
      - name: auth_wep_key_len[4]
        type: size_t
      - name: auth_wep_tx_keyidx
        type: int
      - name: auth_local_state_change
        type: int
      - name: auth_p2p
        type: int
      - name: auth_mld
        type: bool
      - name: auth_mld_link_id
        type: u8
      - name: auth_ap_mld_addr[ETH_ALEN]
        type: u8
      - name: last_scan_cmd
        type: int
      item_type: struct
      name: wpa_driver_nl80211_data
      pos:
        line_end: 298
        line_start: 134
        source_file: /src/hostap/src/drivers/driver_nl80211.h
    - fields:
      - name: iftype
        type: enum nl80211_iftype
      - name: '*ext_capa'
        type: u8
      - name: ext_capa_len
        type: unsigned int
      - name: eml_capa
        type: u16
      - name: mld_capa_and_ops
        type: u16
      item_type: struct
      name: drv_nl80211_iface_capa
      pos:
        line_end: 153
        line_start: 147
        source_file: /src/hostap/src/drivers/driver_nl80211.h
    - fields:
      - name: link_id
        type: int
      item_type: struct
      name: nl80211_err_info
      pos:
        line_end: 302
        line_start: 300
        source_file: /src/hostap/src/drivers/driver_nl80211.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/drivers/driver_ndis.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*next'
        type: struct ndis_pmkid_entry
      - name: bssid[ETH_ALEN]
        type: u8
      - name: pmkid[16]
        type: u8
      item_type: struct
      name: ndis_pmkid_entry
      pos:
        line_end: 23
        line_start: 19
        source_file: /src/hostap/src/drivers/driver_ndis.h
    - fields:
      - name: '*ctx'
        type: void
      - name: ifname[100]
        type: char
      - name: own_addr[ETH_ALEN]
        type: u8
      - name: bssid[ETH_ALEN]
        type: u8
      - name: has_capability
        type: int
      - name: no_of_pmkid
        type: int
      - name: radio_enabled
        type: int
      - name: capa
        type: struct wpa_driver_capa
      - name: '*pmkid'
        type: struct ndis_pmkid_entry
      - name: '*adapter_desc'
        type: char
      - name: wired
        type: int
      - name: native80211
        type: int
      - name: mode
        type: int
      - name: wzc_disabled
        type: int
      - name: oid_bssid_set
        type: int
      item_type: struct
      name: wpa_driver_ndis_data
      pos:
        line_end: 56
        line_start: 25
        source_file: /src/hostap/src/drivers/driver_ndis.h
    typedefs: []
    union: []
- function_names:
  - wpa_driver_send_hang_msg
  - android_priv_cmd
  - android_pno_start
  - android_pno_stop
  - wpa_driver_set_p2p_noa
  - wpa_driver_get_p2p_noa
  - wpa_driver_set_p2p_ps
  - wpa_driver_set_ap_wps_p2p_ie
  - android_nl_socket_set_nonblocking
  source_file: /src/hostap/src/drivers/driver_nl80211_android.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*buf'
        type: char
      - name: used_len
        type: int
      - name: total_len
        type: int
      item_type: struct
      name: android_wifi_priv_cmd
      pos:
        line_end: 27
        line_start: 23
        source_file: /src/hostap/src/drivers/driver_nl80211_android.c
    typedefs: []
    union: []
- function_names:
  - DL_LIST_HEAD_INIT
  - dl_list_init
  - dl_list_add
  - dl_list_add_tail
  - dl_list_del
  - dl_list_empty
  - dl_list_len
  - offsetof
  - dl_list_entry
  - dl_list_first
  - dl_list_last
  - dl_list_for_each
  - dl_list_for_each_safe
  - dl_list_for_each_reverse
  - DEFINE_DL_LIST
  source_file: /src/hostap/src/utils/list.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*next'
        type: struct dl_list
      - name: '*prev'
        type: struct dl_list
      item_type: struct
      name: dl_list
      pos:
        line_end: 17
        line_start: 14
        source_file: /src/hostap/src/utils/list.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/utils/config.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/utils/radiotap.h
  types:
    enum:
    - enumerators:
      - name: IEEE80211_RADIOTAP_FHSS
        value: '4'
      - name: IEEE80211_RADIOTAP_TX_ATTENUATION
        value: '8'
      - name: IEEE80211_RADIOTAP_DB_ANTSIGNAL
        value: '12'
      - name: IEEE80211_RADIOTAP_RTS_RETRIES
        value: '16'
      - name: IEEE80211_RADIOTAP_TIMESTAMP
        value: '22'
      - name: IEEE80211_RADIOTAP_EXT
        value: '31'
      - name: IEEE80211_RADIOTAP_TSFT
        value: '0'
      - name: IEEE80211_RADIOTAP_CHANNEL
        value: '3'
      - name: IEEE80211_RADIOTAP_LOCK_QUALITY
        value: '7'
      - name: IEEE80211_RADIOTAP_ANTENNA
        value: '11'
      - name: IEEE80211_RADIOTAP_TX_FLAGS
        value: '15'
      - name: IEEE80211_RADIOTAP_VHT
        value: '21'
      - name: IEEE80211_RADIOTAP_VENDOR_NAMESPACE
        value: '30'
      - name: IEEE80211_RADIOTAP_RATE
        value: '2'
      - name: IEEE80211_RADIOTAP_DBM_ANTNOISE
        value: '6'
      - name: IEEE80211_RADIOTAP_MCS
        value: '19'
      - name: IEEE80211_RADIOTAP_DBM_TX_POWER
        value: '10'
      - name: IEEE80211_RADIOTAP_RX_FLAGS
        value: '14'
      - name: IEEE80211_RADIOTAP_AMPDU_STATUS
        value: '20'
      - name: IEEE80211_RADIOTAP_FLAGS
        value: '1'
      - name: IEEE80211_RADIOTAP_DBM_ANTSIGNAL
        value: '5'
      - name: IEEE80211_RADIOTAP_DB_TX_ATTENUATION
        value: '9'
      - name: IEEE80211_RADIOTAP_DB_ANTNOISE
        value: '13'
      - name: IEEE80211_RADIOTAP_DATA_RETRIES
        value: '17'
      - name: IEEE80211_RADIOTAP_RADIOTAP_NAMESPACE
        value: '29'
      item_type: enum
      name: ieee80211_radiotap_presence
      pos:
        line_end: 76
        line_start: 47
        source_file: /src/hostap/src/utils/radiotap.h
    - enumerators:
      - name: IEEE80211_RADIOTAP_F_CFP
        value: '0x01'
      - name: IEEE80211_RADIOTAP_F_FCS
        value: '0x10'
      - name: IEEE80211_RADIOTAP_F_FRAG
        value: '0x08'
      - name: IEEE80211_RADIOTAP_F_WEP
        value: '0x04'
      - name: IEEE80211_RADIOTAP_F_SHORTPRE
        value: '0x02'
      - name: IEEE80211_RADIOTAP_F_DATAPAD
        value: '0x20'
      - name: IEEE80211_RADIOTAP_F_BADFCS
        value: '0x40'
      item_type: enum
      name: ieee80211_radiotap_flags
      pos:
        line_end: 87
        line_start: 79
        source_file: /src/hostap/src/utils/radiotap.h
    - enumerators:
      - name: IEEE80211_CHAN_CCK
        value: '0x0020'
      - name: IEEE80211_CHAN_2GHZ
        value: '0x0080'
      - name: IEEE80211_CHAN_OFDM
        value: '0x0040'
      - name: IEEE80211_CHAN_5GHZ
        value: '0x0100'
      - name: IEEE80211_CHAN_DYN
        value: '0x0400'
      - name: IEEE80211_CHAN_HALF
        value: '0x4000'
      - name: IEEE80211_CHAN_QUARTER
        value: '0x8000'
      item_type: enum
      name: ieee80211_radiotap_channel_flags
      pos:
        line_end: 98
        line_start: 90
        source_file: /src/hostap/src/utils/radiotap.h
    - enumerators:
      - name: IEEE80211_RADIOTAP_F_RX_BADPLCP
        value: '0x0002'
      item_type: enum
      name: ieee80211_radiotap_rx_flags
      pos:
        line_end: 103
        line_start: 101
        source_file: /src/hostap/src/utils/radiotap.h
    - enumerators:
      - name: IEEE80211_RADIOTAP_F_TX_FAIL
        value: '0x0001'
      - name: IEEE80211_RADIOTAP_F_TX_NOACK
        value: '0x0008'
      - name: IEEE80211_RADIOTAP_F_TX_RTS
        value: '0x0004'
      - name: IEEE80211_RADIOTAP_F_TX_CTS
        value: '0x0002'
      item_type: enum
      name: ieee80211_radiotap_tx_flags
      pos:
        line_end: 111
        line_start: 106
        source_file: /src/hostap/src/utils/radiotap.h
    - enumerators:
      - name: IEEE80211_RADIOTAP_MCS_HAVE_BW
        value: '0x01'
      - name: IEEE80211_RADIOTAP_MCS_HAVE_FEC
        value: '0x10'
      - name: IEEE80211_RADIOTAP_MCS_HAVE_FMT
        value: '0x08'
      - name: IEEE80211_RADIOTAP_MCS_HAVE_GI
        value: '0x04'
      - name: IEEE80211_RADIOTAP_MCS_HAVE_MCS
        value: '0x02'
      - name: IEEE80211_RADIOTAP_MCS_HAVE_STBC
        value: '0x20'
      item_type: enum
      name: ieee80211_radiotap_mcs_have
      pos:
        line_end: 121
        line_start: 114
        source_file: /src/hostap/src/utils/radiotap.h
    - enumerators:
      - name: IEEE80211_RADIOTAP_MCS_BW_MASK
        value: '0x03'
      - name: IEEE80211_RADIOTAP_MCS_BW_20U
        value: '3'
      - name: IEEE80211_RADIOTAP_MCS_BW_20
        value: '0'
      - name: IEEE80211_RADIOTAP_MCS_BW_20L
        value: '2'
      - name: IEEE80211_RADIOTAP_MCS_BW_40
        value: '1'
      - name: IEEE80211_RADIOTAP_MCS_SGI
        value: '0x04'
      - name: IEEE80211_RADIOTAP_MCS_FMT_GF
        value: '0x08'
      - name: IEEE80211_RADIOTAP_MCS_FEC_LDPC
        value: '0x10'
      - name: IEEE80211_RADIOTAP_MCS_STBC_MASK
        value: '0x60'
      - name: IEEE80211_RADIOTAP_MCS_STBC_1
        value: '1'
      - name: IEEE80211_RADIOTAP_MCS_STBC_2
        value: '2'
      - name: IEEE80211_RADIOTAP_MCS_STBC_SHIFT
        value: '5'
      - name: IEEE80211_RADIOTAP_MCS_STBC_3
        value: '3'
      item_type: enum
      name: ieee80211_radiotap_mcs_flags
      pos:
        line_end: 138
        line_start: 123
        source_file: /src/hostap/src/utils/radiotap.h
    - enumerators:
      - name: IEEE80211_RADIOTAP_AMPDU_REPORT_ZEROLEN
        value: '0x0001'
      - name: IEEE80211_RADIOTAP_AMPDU_LAST_KNOWN
        value: '0x0004'
      - name: IEEE80211_RADIOTAP_AMPDU_IS_ZEROLEN
        value: '0x0002'
      - name: IEEE80211_RADIOTAP_AMPDU_IS_LAST
        value: '0x0008'
      - name: IEEE80211_RADIOTAP_AMPDU_DELIM_CRC_ERR
        value: '0x0010'
      - name: IEEE80211_RADIOTAP_AMPDU_DELIM_CRC_KNOWN
        value: '0x0020'
      item_type: enum
      name: ieee80211_radiotap_ampdu_flags
      pos:
        line_end: 148
        line_start: 141
        source_file: /src/hostap/src/utils/radiotap.h
    - enumerators:
      - name: IEEE80211_RADIOTAP_VHT_KNOWN_STBC
        value: '0x0001'
      - name: IEEE80211_RADIOTAP_VHT_KNOWN_LDPC_EXTRA_OFDM_SYM
        value: '0x0010'
      - name: IEEE80211_RADIOTAP_VHT_KNOWN_SGI_NSYM_DIS
        value: '0x0008'
      - name: IEEE80211_RADIOTAP_VHT_KNOWN_GI
        value: '0x0004'
      - name: IEEE80211_RADIOTAP_VHT_KNOWN_TXOP_PS_NA
        value: '0x0002'
      - name: IEEE80211_RADIOTAP_VHT_KNOWN_BEAMFORMED
        value: '0x0020'
      - name: IEEE80211_RADIOTAP_VHT_KNOWN_BANDWIDTH
        value: '0x0040'
      - name: IEEE80211_RADIOTAP_VHT_KNOWN_GROUP_ID
        value: '0x0080'
      - name: IEEE80211_RADIOTAP_VHT_KNOWN_PARTIAL_AID
        value: '0x0100'
      item_type: enum
      name: ieee80211_radiotap_vht_known
      pos:
        line_end: 161
        line_start: 151
        source_file: /src/hostap/src/utils/radiotap.h
    - enumerators:
      - name: IEEE80211_RADIOTAP_VHT_FLAG_STBC
        value: '0x01'
      - name: IEEE80211_RADIOTAP_VHT_FLAG_LDPC_EXTRA_OFDM_SYM
        value: '0x10'
      - name: IEEE80211_RADIOTAP_VHT_FLAG_SGI_NSYM_M10_9
        value: '0x08'
      - name: IEEE80211_RADIOTAP_VHT_FLAG_SGI
        value: '0x04'
      - name: IEEE80211_RADIOTAP_VHT_FLAG_TXOP_PS_NA
        value: '0x02'
      - name: IEEE80211_RADIOTAP_VHT_FLAG_BEAMFORMED
        value: '0x20'
      item_type: enum
      name: ieee80211_radiotap_vht_flags
      pos:
        line_end: 170
        line_start: 163
        source_file: /src/hostap/src/utils/radiotap.h
    - enumerators:
      - name: IEEE80211_RADIOTAP_CODING_LDPC_USER0
        value: '0x01'
      - name: IEEE80211_RADIOTAP_CODING_LDPC_USER3
        value: '0x08'
      - name: IEEE80211_RADIOTAP_CODING_LDPC_USER2
        value: '0x04'
      - name: IEEE80211_RADIOTAP_CODING_LDPC_USER1
        value: '0x02'
      item_type: enum
      name: ieee80211_radiotap_vht_coding
      pos:
        line_end: 177
        line_start: 172
        source_file: /src/hostap/src/utils/radiotap.h
    - enumerators:
      - name: IEEE80211_RADIOTAP_TIMESTAMP_UNIT_MASK
        value: '0x000F'
      - name: IEEE80211_RADIOTAP_TIMESTAMP_UNIT_MS
        value: '0x0000'
      - name: IEEE80211_RADIOTAP_TIMESTAMP_UNIT_US
        value: '0x0001'
      - name: IEEE80211_RADIOTAP_TIMESTAMP_SPOS_MASK
        value: '0x00F0'
      - name: IEEE80211_RADIOTAP_TIMESTAMP_UNIT_NS
        value: '0x0003'
      - name: IEEE80211_RADIOTAP_TIMESTAMP_SPOS_BEGIN_MDPU
        value: '0x0000'
      - name: IEEE80211_RADIOTAP_TIMESTAMP_SPOS_PLCP_SIG_ACQ
        value: '0x0010'
      - name: IEEE80211_RADIOTAP_TIMESTAMP_SPOS_EO_PPDU
        value: '0x0020'
      - name: IEEE80211_RADIOTAP_TIMESTAMP_SPOS_EO_MPDU
        value: '0x0030'
      - name: IEEE80211_RADIOTAP_TIMESTAMP_SPOS_UNKNOWN
        value: '0x00F0'
      item_type: enum
      name: ieee80211_radiotap_timestamp_unit_spos
      pos:
        line_end: 191
        line_start: 180
        source_file: /src/hostap/src/utils/radiotap.h
    - enumerators:
      - name: IEEE80211_RADIOTAP_TIMESTAMP_FLAG_64BIT
        value: '0x00'
      - name: IEEE80211_RADIOTAP_TIMESTAMP_FLAG_32BIT
        value: '0x01'
      - name: IEEE80211_RADIOTAP_TIMESTAMP_FLAG_ACCURACY
        value: '0x02'
      item_type: enum
      name: ieee80211_radiotap_timestamp_flags
      pos:
        line_end: 197
        line_start: 193
        source_file: /src/hostap/src/utils/radiotap.h
    preproc_defs:
    - item_type: preproc_def
      name: PKTHDR_RADIOTAP_VERSION
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/hostap/src/utils/radiotap.h
      type_or_value: '0'
    structs:
    - fields:
      - name: it_version
        type: uint8_t
      - name: it_pad
        type: uint8_t
      - name: it_len
        type: le16
      - name: it_present
        type: le32
      item_type: struct
      name: ieee80211_radiotap_header
      pos:
        line_end: 41
        line_start: 21
        source_file: /src/hostap/src/utils/radiotap.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/utils/uuid.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: UUID_LEN
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/hostap/src/utils/uuid.h
      type_or_value: '16'
    structs: []
    typedefs: []
    union: []
- function_names:
  - os_time_before
  - os_time_sub
  - os_reltime_before
  - os_reltime_sub
  - os_reltime_age
  - os_reltime_expired
  - os_reltime_add_ms
  - os_reltime_in_ms
  - os_reltime_initialized
  - os_calloc
  - os_malloc
  - os_realloc
  - os_free
  - os_strdup
  - os_strdup
  - os_memcpy
  - os_memmove
  - os_memset
  - os_memcmp
  - os_strlen
  - os_strcasecmp
  - os_strcasecmp
  - os_strncasecmp
  - os_strncasecmp
  - os_strchr
  - os_strcmp
  - os_strncmp
  - os_strrchr
  - os_strstr
  - os_snprintf_error
  - os_realloc_array
  - os_remove_in_array
  - TEST_FAIL
  - TEST_FAIL_TAG
  - testing_test_fail
  - testing_set_fail_pattern
  - testing_get_fail_pattern
  source_file: /src/hostap/src/utils/os.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: os_snprintf
      pos:
        line_end: 570
        line_start: 569
        source_file: /src/hostap/src/utils/os.h
      type_or_value: _snprintf
    - item_type: preproc_def
      name: os_snprintf
      pos:
        line_end: 572
        line_start: 571
        source_file: /src/hostap/src/utils/os.h
      type_or_value: snprintf
    - item_type: preproc_def
      name: malloc
      pos:
        line_end: 660
        line_start: 659
        source_file: /src/hostap/src/utils/os.h
      type_or_value: OS_DO_NOT_USE_malloc
    - item_type: preproc_def
      name: realloc
      pos:
        line_end: 661
        line_start: 660
        source_file: /src/hostap/src/utils/os.h
      type_or_value: OS_DO_NOT_USE_realloc
    - item_type: preproc_def
      name: free
      pos:
        line_end: 662
        line_start: 661
        source_file: /src/hostap/src/utils/os.h
      type_or_value: OS_DO_NOT_USE_free
    - item_type: preproc_def
      name: memcpy
      pos:
        line_end: 663
        line_start: 662
        source_file: /src/hostap/src/utils/os.h
      type_or_value: OS_DO_NOT_USE_memcpy
    - item_type: preproc_def
      name: memmove
      pos:
        line_end: 664
        line_start: 663
        source_file: /src/hostap/src/utils/os.h
      type_or_value: OS_DO_NOT_USE_memmove
    - item_type: preproc_def
      name: memset
      pos:
        line_end: 665
        line_start: 664
        source_file: /src/hostap/src/utils/os.h
      type_or_value: OS_DO_NOT_USE_memset
    - item_type: preproc_def
      name: memcmp
      pos:
        line_end: 666
        line_start: 665
        source_file: /src/hostap/src/utils/os.h
      type_or_value: OS_DO_NOT_USE_memcmp
    - item_type: preproc_def
      name: strdup
      pos:
        line_end: 668
        line_start: 667
        source_file: /src/hostap/src/utils/os.h
      type_or_value: OS_DO_NOT_USE_strdup
    - item_type: preproc_def
      name: strlen
      pos:
        line_end: 669
        line_start: 668
        source_file: /src/hostap/src/utils/os.h
      type_or_value: OS_DO_NOT_USE_strlen
    - item_type: preproc_def
      name: strcasecmp
      pos:
        line_end: 670
        line_start: 669
        source_file: /src/hostap/src/utils/os.h
      type_or_value: OS_DO_NOT_USE_strcasecmp
    - item_type: preproc_def
      name: strncasecmp
      pos:
        line_end: 671
        line_start: 670
        source_file: /src/hostap/src/utils/os.h
      type_or_value: OS_DO_NOT_USE_strncasecmp
    - item_type: preproc_def
      name: strchr
      pos:
        line_end: 673
        line_start: 672
        source_file: /src/hostap/src/utils/os.h
      type_or_value: OS_DO_NOT_USE_strchr
    - item_type: preproc_def
      name: strcmp
      pos:
        line_end: 675
        line_start: 674
        source_file: /src/hostap/src/utils/os.h
      type_or_value: OS_DO_NOT_USE_strcmp
    - item_type: preproc_def
      name: strncmp
      pos:
        line_end: 677
        line_start: 676
        source_file: /src/hostap/src/utils/os.h
      type_or_value: OS_DO_NOT_USE_strncmp
    - item_type: preproc_def
      name: strncpy
      pos:
        line_end: 679
        line_start: 678
        source_file: /src/hostap/src/utils/os.h
      type_or_value: OS_DO_NOT_USE_strncpy
    - item_type: preproc_def
      name: strrchr
      pos:
        line_end: 680
        line_start: 679
        source_file: /src/hostap/src/utils/os.h
      type_or_value: OS_DO_NOT_USE_strrchr
    - item_type: preproc_def
      name: strstr
      pos:
        line_end: 681
        line_start: 680
        source_file: /src/hostap/src/utils/os.h
      type_or_value: OS_DO_NOT_USE_strstr
    - item_type: preproc_def
      name: snprintf
      pos:
        line_end: 683
        line_start: 682
        source_file: /src/hostap/src/utils/os.h
      type_or_value: OS_DO_NOT_USE_snprintf
    - item_type: preproc_def
      name: strcpy
      pos:
        line_end: 685
        line_start: 684
        source_file: /src/hostap/src/utils/os.h
      type_or_value: OS_DO_NOT_USE_strcpy
    structs:
    - fields:
      - name: sec
        type: os_time_t
      - name: usec
        type: os_time_t
      item_type: struct
      name: os_time
      pos:
        line_end: 23
        line_start: 20
        source_file: /src/hostap/src/utils/os.h
    - fields:
      - name: sec
        type: os_time_t
      - name: usec
        type: os_time_t
      item_type: struct
      name: os_reltime
      pos:
        line_end: 28
        line_start: 25
        source_file: /src/hostap/src/utils/os.h
    - fields:
      - name: sec
        type: int
      - name: min
        type: int
      - name: hour
        type: int
      - name: day
        type: int
      - name: month
        type: int
      - name: year
        type: int
      item_type: struct
      name: os_tm
      pos:
        line_end: 161
        line_start: 154
        source_file: /src/hostap/src/utils/os.h
    typedefs:
    - item_type: typedef
      name: os_time_t
      pos:
        line_end: 11
        line_start: 11
        source_file: /src/hostap/src/utils/os.h
      type: long
    union: []
- function_names: []
  source_file: /src/hostap/src/utils/ext_password_i.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: '* (*init)(const char *params)'
        type: void
      - name: (*deinit)(void *ctx)
        type: void
      - name: '* (*get)(void *ctx, const char *name)'
        type: struct wpabuf
      item_type: struct
      name: ext_password_backend
      pos:
        line_end: 18
        line_start: 13
        source_file: /src/hostap/src/utils/ext_password_i.h
    typedefs: []
    union: []
- function_names:
  - bitfield_alloc
  - bitfield_alloc_data
  - bitfield_dup
  - bitfield_free
  - bitfield_set
  - bitfield_clear
  - bitfield_is_set
  - first_zero
  - bitfield_get_first_zero
  - bitfield_union_in_place
  - bitfield_union
  - bitfield_intersect_in_place
  - bitfield_is_subset
  - bitfield_size
  - bitfield_intersects
  - bitfield_dump
  source_file: /src/hostap/src/utils/bitfield.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*bits'
        type: u8
      - name: max_bits
        type: size_t
      item_type: struct
      name: bitfield
      pos:
        line_end: 17
        line_start: 14
        source_file: /src/hostap/src/utils/bitfield.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/utils/json.h
  types:
    enum:
    - enumerators:
      - name: JSON_VALUE
      - name: JSON_STRING
      - name: JSON_NUMBER
      - name: JSON_ARRAY
      - name: JSON_OBJECT
      - name: JSON_DOUBLE
      - name: JSON_BOOLEAN
      - name: JSON_NULL
      item_type: enum
      name: json_type
      pos:
        line_end: 21
        line_start: 12
        source_file: /src/hostap/src/utils/json.h
    - enumerators:
      - name: JSON_EMPTY
      - name: JSON_COMPLETED
      - name: JSON_WAITING_VALUE
      - name: JSON_STARTED
      item_type: enum
      name: json_parsing_state
      pos:
        line_end: 27
        line_start: 22
        source_file: /src/hostap/src/utils/json.h
    preproc_defs: []
    structs:
    - fields:
      - name: type
        type: "enum json_type {\n\t\tJSON_VALUE,\n\t\tJSON_OBJECT,\n\t\tJSON_ARRAY,\n\t\tJSON_STRING,\n\t\tJSON_NUMBER,\n\t\tJSON_DOUBLE,\n\t\tJSON_BOOLEAN,\n\t\tJSON_NULL,\n\t}"
      - name: state
        type: "enum json_parsing_state {\n\t\tJSON_EMPTY,\n\t\tJSON_STARTED,\n\t\tJSON_WAITING_VALUE,\n\t\tJSON_COMPLETED,\n\t}"
      - name: '*name'
        type: char
      - name: '*string'
        type: char
      - name: number
        type: int
      - name: dnumber
        type: double
      - name: '*parent'
        type: struct json_token
      item_type: struct
      name: json_token
      pos:
        line_end: 33
        line_start: 11
        source_file: /src/hostap/src/utils/json.h
    typedefs: []
    union: []
- function_names:
  - hostapd_ip_txt
  - hostapd_parse_ip_addr
  - hostapd_ip_equal
  source_file: /src/hostap/src/utils/ip_addr.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - printf_encode_decode_tests
  - bitfield_tests
  - int_array_tests
  - ext_password_tests
  - trace_tests
  - base64_tests
  - common_tests
  - os_tests
  - wpabuf_tests
  - ip_addr_tests
  - eloop_test_read_2
  - eloop_test_read_2_wrong
  - reopen_pipefd2
  - eloop_test_read_1
  - eloop_test_cb
  - eloop_test_timeout
  - eloop_tests_start
  - eloop_tests_run
  - eloop_tests
  - json_tests
  - const_time_tests
  - utils_module_tests
  source_file: /src/hostap/src/utils/utils_module_tests.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*data'
        type: u8
      - name: len
        type: size_t
      - name: '*encoded'
        type: char
      item_type: struct
      name: printf_test_data
      pos:
        line_end: 27
        line_start: 23
        source_file: /src/hostap/src/utils/utils_module_tests.c
    - fields:
      - name: magic
        type: unsigned int
      - name: close_in_timeout
        type: int
      - name: pipefd1[2]
        type: int
      - name: pipefd2[2]
        type: int
      item_type: struct
      name: test_eloop
      pos:
        line_end: 676
        line_start: 671
        source_file: /src/hostap/src/utils/utils_module_tests.c
    - fields:
      - name: '*json'
        type: char
      - name: '*tree'
        type: char
      item_type: struct
      name: json_test_data
      pos:
        line_end: 920
        line_start: 917
        source_file: /src/hostap/src/utils/utils_module_tests.c
    - fields:
      - name: val
        type: unsigned int
      - name: expected
        type: unsigned int
      item_type: struct
      name: const_time_fill_msb_test
      pos:
        line_end: 1021
        line_start: 1018
        source_file: /src/hostap/src/utils/utils_module_tests.c
    - fields:
      - name: val
        type: unsigned int
      - name: expected
        type: unsigned int
      item_type: struct
      name: const_time_is_zero_test
      pos:
        line_end: 1032
        line_start: 1029
        source_file: /src/hostap/src/utils/utils_module_tests.c
    - fields:
      - name: a
        type: unsigned int
      - name: b
        type: unsigned int
      - name: expected
        type: unsigned int
      - name: expected_u8
        type: unsigned int
      item_type: struct
      name: const_time_eq_test
      pos:
        line_end: 1045
        line_start: 1040
        source_file: /src/hostap/src/utils/utils_module_tests.c
    - fields:
      - name: '*a'
        type: u8
      - name: '*b'
        type: u8
      - name: len
        type: size_t
      - name: expected
        type: unsigned int
      item_type: struct
      name: const_time_eq_bin_test
      pos:
        line_end: 1058
        line_start: 1053
        source_file: /src/hostap/src/utils/utils_module_tests.c
    - fields:
      - name: mask
        type: unsigned int
      - name: true_val
        type: unsigned int
      - name: false_val
        type: unsigned int
      - name: expected
        type: unsigned int
      item_type: struct
      name: const_time_select_test
      pos:
        line_end: 1075
        line_start: 1070
        source_file: /src/hostap/src/utils/utils_module_tests.c
    - fields:
      - name: mask
        type: unsigned int
      - name: true_val
        type: int
      - name: false_val
        type: int
      - name: expected
        type: int
      item_type: struct
      name: const_time_select_int_test
      pos:
        line_end: 1092
        line_start: 1087
        source_file: /src/hostap/src/utils/utils_module_tests.c
    - fields:
      - name: mask
        type: u8
      - name: true_val
        type: u8
      - name: false_val
        type: u8
      - name: expected
        type: u8
      item_type: struct
      name: const_time_select_u8_test
      pos:
        line_end: 1107
        line_start: 1102
        source_file: /src/hostap/src/utils/utils_module_tests.c
    - fields:
      - name: mask
        type: u8
      - name: true_val
        type: s8
      - name: false_val
        type: s8
      - name: expected
        type: s8
      item_type: struct
      name: const_time_select_s8_test
      pos:
        line_end: 1122
        line_start: 1117
        source_file: /src/hostap/src/utils/utils_module_tests.c
    - fields:
      - name: mask
        type: u8
      - name: '*true_val'
        type: u8
      - name: '*false_val'
        type: u8
      - name: len
        type: size_t
      - name: '*expected'
        type: u8
      item_type: struct
      name: const_time_select_bin_test
      pos:
        line_end: 1136
        line_start: 1130
        source_file: /src/hostap/src/utils/utils_module_tests.c
    - fields:
      - name: '*a'
        type: char
      - name: '*b'
        type: char
      - name: len
        type: size_t
      - name: expected
        type: int
      item_type: struct
      name: const_time_memcmp_test
      pos:
        line_end: 1147
        line_start: 1142
        source_file: /src/hostap/src/utils/utils_module_tests.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/utils/radiotap_iter.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: field
        type: uint8_t
      - name: align
        type: uint8_t
      item_type: struct
      name: radiotap_override
      pos:
        line_end: 13
        line_start: 10
        source_file: /src/hostap/src/utils/radiotap_iter.h
    - fields:
      - name: align
        type: uint8_t
      item_type: struct
      name: radiotap_align_size
      pos:
        line_end: 17
        line_start: 15
        source_file: /src/hostap/src/utils/radiotap_iter.h
    - fields:
      - name: '*align_size'
        type: struct radiotap_align_size
      - name: n_bits
        type: int
      - name: oui
        type: uint32_t
      - name: subns
        type: uint8_t
      item_type: struct
      name: ieee80211_radiotap_namespace
      pos:
        line_end: 24
        line_start: 19
        source_file: /src/hostap/src/utils/radiotap_iter.h
    - fields:
      - name: '*ns'
        type: struct ieee80211_radiotap_namespace
      - name: n_ns
        type: int
      item_type: struct
      name: ieee80211_radiotap_vendor_namespaces
      pos:
        line_end: 29
        line_start: 26
        source_file: /src/hostap/src/utils/radiotap_iter.h
    - fields:
      - name: '*_rtheader'
        type: struct ieee80211_radiotap_header
      - name: '*_vns'
        type: struct ieee80211_radiotap_vendor_namespaces
      - name: '*current_namespace'
        type: struct ieee80211_radiotap_namespace
      - name: '*_arg'
        type: unsigned char
      - name: '*_next_bitmap'
        type: le32
      - name: '*this_arg'
        type: unsigned char
      - name: this_arg_index
        type: int
      - name: this_arg_size
        type: int
      - name: is_radiotap_ns
        type: int
      - name: _max_length
        type: int
      - name: _arg_index
        type: int
      - name: _bitmap_shifter
        type: uint32_t
      - name: _reset_on_ext
        type: int
      item_type: struct
      name: ieee80211_radiotap_iterator
      pos:
        line_end: 85
        line_start: 63
        source_file: /src/hostap/src/utils/radiotap_iter.h
    typedefs: []
    union: []
- function_names:
  - uuid_str2bin
  - uuid_bin2str
  - is_nil_uuid
  - uuid_random
  source_file: /src/hostap/src/utils/uuid.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - eloop_init
  - eloop_prepare_handles
  - eloop_register_read_sock
  - eloop_unregister_read_sock
  - eloop_register_event
  - eloop_unregister_event
  - eloop_register_timeout
  - eloop_remove_timeout
  - eloop_cancel_timeout
  - eloop_cancel_timeout_one
  - eloop_is_timeout_registered
  - eloop_deplete_timeout
  - eloop_replenish_timeout
  - eloop_handle_signal
  - eloop_process_pending_signals
  - eloop_register_signal
  - eloop_handle_console_ctrl
  - eloop_register_signal_terminate
  - eloop_register_signal_reconfig
  - eloop_run
  - eloop_terminate
  - eloop_destroy
  - eloop_terminated
  - eloop_wait_for_read_sock
  - eloop_sock_requeue
  source_file: /src/hostap/src/utils/eloop_win.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: sock
        type: int
      - name: '*eloop_data'
        type: void
      - name: '*user_data'
        type: void
      - name: handler
        type: eloop_sock_handler
      - name: event
        type: WSAEVENT
      item_type: struct
      name: eloop_sock
      pos:
        line_end: 22
        line_start: 16
        source_file: /src/hostap/src/utils/eloop_win.c
    - fields:
      - name: '*eloop_data'
        type: void
      - name: '*user_data'
        type: void
      - name: handler
        type: eloop_event_handler
      - name: event
        type: HANDLE
      item_type: struct
      name: eloop_event
      pos:
        line_end: 29
        line_start: 24
        source_file: /src/hostap/src/utils/eloop_win.c
    - fields:
      - name: list
        type: struct dl_list
      - name: time
        type: struct os_reltime
      - name: '*eloop_data'
        type: void
      - name: '*user_data'
        type: void
      - name: handler
        type: eloop_timeout_handler
      item_type: struct
      name: eloop_timeout
      pos:
        line_end: 37
        line_start: 31
        source_file: /src/hostap/src/utils/eloop_win.c
    - fields:
      - name: sig
        type: int
      - name: '*user_data'
        type: void
      - name: handler
        type: eloop_signal_handler
      - name: signaled
        type: int
      item_type: struct
      name: eloop_signal
      pos:
        line_end: 44
        line_start: 39
        source_file: /src/hostap/src/utils/eloop_win.c
    - fields:
      - name: max_sock
        type: int
      - name: reader_count
        type: size_t
      - name: '*readers'
        type: struct eloop_sock
      - name: event_count
        type: size_t
      - name: '*events'
        type: struct eloop_event
      - name: timeout
        type: struct dl_list
      - name: signal_count
        type: size_t
      - name: '*signals'
        type: struct eloop_signal
      - name: signaled
        type: int
      - name: pending_terminate
        type: int
      - name: terminate
        type: int
      - name: reader_table_changed
        type: int
      - name: term_signal
        type: struct eloop_signal
      - name: term_event
        type: HANDLE
      - name: '*handles'
        type: HANDLE
      - name: num_handles
        type: size_t
      item_type: struct
      name: eloop_data
      pos:
        line_end: 69
        line_start: 46
        source_file: /src/hostap/src/utils/eloop_win.c
    typedefs: []
    union: []
- function_names:
  - ext_password_test_init
  - ext_password_test_deinit
  - ext_password_test_get
  source_file: /src/hostap/src/utils/ext_password_test.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*params'
        type: char
      item_type: struct
      name: ext_password_test_data
      pos:
        line_end: 16
        line_start: 14
        source_file: /src/hostap/src/utils/ext_password_test.c
    typedefs: []
    union: []
- function_names:
  - hex2num
  - hex2byte
  - hwaddr_parse
  - hwaddr_aton
  - hwaddr_masked_aton
  - hwaddr_compact_aton
  - hwaddr_aton2
  - hexstr2bin
  - hwaddr_mask_txt
  - inc_byte_array
  - buf_shift_right
  - wpa_get_ntp_timestamp
  - wpa_scnprintf
  - wpa_snprintf_hex_sep
  - _wpa_snprintf_hex
  - wpa_snprintf_hex
  - wpa_snprintf_hex_uppercase
  - perror
  - getopt
  - wpa_unicode2ascii_inplace
  - wpa_strdup_tchar
  - printf_encode
  - printf_decode
  - wpa_ssid_txt
  - __hide_aliasing_typecast
  - wpa_config_parse_string
  - is_hex
  - has_ctrl_char
  - has_newline
  - merge_byte_arrays
  - dup_binstr
  - freq_range_list_parse
  - freq_range_list_includes
  - freq_range_list_str
  - int_array_len
  - int_array_concat
  - freq_cmp
  - int_array_sort_unique
  - int_array_add_unique
  - int_array_includes
  - int_array_equal
  - int_array_dup
  - str_clear_free
  - bin_clear_free
  - random_mac_addr
  - random_mac_addr_keep_oui
  - cstr_token
  - str_token
  - utf8_unescape
  - utf8_escape
  - is_ctrl_char
  - ssid_parse
  - str_starts
  - rssi_to_rcpi
  - get_param
  - forced_memzero
  source_file: /src/hostap/src/utils/common.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/utils/module_tests.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - json_escape_string
  - json_parse_string
  - json_get_number_len
  - json_parse_double
  - json_parse_number
  - json_check_tree_state
  - json_alloc_token
  - json_parse
  - json_free
  - json_get_member
  - json_get_member_base64url
  - json_get_member_base64
  - json_type_str
  - json_print_token
  - json_print_tree
  - json_add_int
  - json_add_double
  - json_add_string
  - json_add_string_escape
  - json_add_base64url
  - json_add_base64
  - json_start_object
  - json_end_object
  - json_start_array
  - json_end_array
  - json_value_sep
  source_file: /src/hostap/src/utils/json.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: JSON_MAX_DEPTH
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/hostap/src/utils/json.c
      type_or_value: '10'
    - item_type: preproc_def
      name: JSON_MAX_TOKENS
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/hostap/src/utils/json.c
      type_or_value: '500'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ext_password_file_init
  - ext_password_file_deinit
  - ext_password_file_get
  source_file: /src/hostap/src/utils/ext_password_file.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*path'
        type: char
      item_type: struct
      name: ext_password_file_data
      pos:
        line_end: 19
        line_start: 17
        source_file: /src/hostap/src/utils/ext_password_file.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/utils/includes.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - browser_timeout
  - http_req
  - hs20_web_browser
  source_file: /src/hostap/src/utils/browser-wpadebug.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: success
        type: int
      item_type: struct
      name: browser_data
      pos:
        line_end: 18
        line_start: 16
        source_file: /src/hostap/src/utils/browser-wpadebug.c
    typedefs: []
    union: []
- function_names:
  - wpabuf_get_trace
  - wpabuf_overflow
  - wpabuf_resize
  - wpabuf_alloc
  - wpabuf_alloc_ext_data
  - wpabuf_alloc_copy
  - wpabuf_dup
  - wpabuf_free
  - wpabuf_clear_free
  - wpabuf_put
  - wpabuf_concat
  - wpabuf_zeropad
  - wpabuf_printf
  - wpabuf_parse_bin
  - wpabuf_array_alloc
  - wpabuf_array_free
  - wpabuf_array_add
  - wpabuf_array_remove
  source_file: /src/hostap/src/utils/wpabuf.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: WPABUF_MAGIC
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/hostap/src/utils/wpabuf.c
      type_or_value: '0x51a974e3'
    structs:
    - fields:
      - name: magic
        type: unsigned int
      item_type: struct
      name: wpabuf_trace
      pos:
        line_end: 19
        line_start: 17
        source_file: /src/hostap/src/utils/wpabuf.c
    typedefs: []
    union: []
- function_names:
  - os_sleep
  - os_get_time
  - os_get_reltime
  - os_mktime
  - os_gmtime
  - os_daemon
  - os_daemonize
  - os_daemonize_terminate
  - os_get_random
  - os_random
  - os_rel2abs_path
  - os_program_init
  - os_program_deinit
  - os_setenv
  - os_unsetenv
  - os_readfile
  - os_file_exists
  - os_fdatasync
  - os_zalloc
  - os_strlcpy
  - os_memcmp_const
  - os_memdup
  - testing_test_fail
  - testing_set_fail_pattern
  - testing_get_fail_pattern
  - os_malloc
  - os_realloc
  - os_free
  - os_zalloc
  - os_strdup
  - os_exec
  source_file: /src/hostap/src/utils/os_unix.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ALLOC_MAGIC
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/hostap/src/utils/os_unix.c
      type_or_value: '0xa84ef1b2'
    - item_type: preproc_def
      name: FREED_MAGIC
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/hostap/src/utils/os_unix.c
      type_or_value: '0x67fd487a'
    - item_type: preproc_def
      name: os_daemon
      pos:
        line_end: 245
        line_start: 244
        source_file: /src/hostap/src/utils/os_unix.c
      type_or_value: daemon
    - item_type: preproc_def
      name: MAX_ARG
      pos:
        line_end: 861
        line_start: 860
        source_file: /src/hostap/src/utils/os_unix.c
      type_or_value: '30'
    structs:
    - fields:
      - name: fail_after
        type: unsigned int
      - name: pattern[256]
        type: char
      - name: uses_tag
        type: bool
      item_type: struct
      name: wpa_trace_test_fail
      pos:
        line_end: 568
        line_start: 564
        source_file: /src/hostap/src/utils/os_unix.c
    typedefs: []
    union: []
- function_names:
  - mingw_load_symbols
  - LOADSYM
  - mingw_unload_symbols
  - mingw_load_symbols
  - mingw_unload_symbols
  - scard_parse_fsp_templ
  - scard_pin_needed
  - scard_get_aid
  - scard_init
  - scard_set_pin
  - scard_deinit
  - scard_transmit
  - _scard_select_file
  - scard_select_file
  - scard_get_record_len
  - scard_read_record
  - scard_read_file
  - scard_verify_pin
  - scard_get_pin_retry_counter
  - scard_get_imsi
  - scard_get_mnc_len
  - scard_gsm_auth
  - scard_umts_auth
  - scard_supports_umts
  source_file: /src/hostap/src/utils/pcsc_funcs.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SIM_CMD_SELECT
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/hostap/src/utils/pcsc_funcs.c
      type_or_value: 0xa0, 0xa4, 0x00, 0x00, 0x02
    - item_type: preproc_def
      name: SIM_CMD_RUN_GSM_ALG
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/hostap/src/utils/pcsc_funcs.c
      type_or_value: 0xa0, 0x88, 0x00, 0x00, 0x10
    - item_type: preproc_def
      name: SIM_CMD_GET_RESPONSE
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/hostap/src/utils/pcsc_funcs.c
      type_or_value: 0xa0, 0xc0, 0x00, 0x00
    - item_type: preproc_def
      name: SIM_CMD_READ_BIN
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/hostap/src/utils/pcsc_funcs.c
      type_or_value: 0xa0, 0xb0, 0x00, 0x00
    - item_type: preproc_def
      name: SIM_CMD_READ_RECORD
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/hostap/src/utils/pcsc_funcs.c
      type_or_value: 0xa0, 0xb2, 0x00, 0x00
    - item_type: preproc_def
      name: SIM_CMD_VERIFY_CHV1
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/hostap/src/utils/pcsc_funcs.c
      type_or_value: 0xa0, 0x20, 0x00, 0x01, 0x08
    - item_type: preproc_def
      name: USIM_CLA
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/hostap/src/utils/pcsc_funcs.c
      type_or_value: '0x00'
    - item_type: preproc_def
      name: USIM_CMD_RUN_UMTS_ALG
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/hostap/src/utils/pcsc_funcs.c
      type_or_value: 0x00, 0x88, 0x00, 0x81, 0x22
    - item_type: preproc_def
      name: USIM_CMD_GET_RESPONSE
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/hostap/src/utils/pcsc_funcs.c
      type_or_value: 0x00, 0xc0, 0x00, 0x00
    - item_type: preproc_def
      name: SIM_RECORD_MODE_ABSOLUTE
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/hostap/src/utils/pcsc_funcs.c
      type_or_value: '0x04'
    - item_type: preproc_def
      name: USIM_FSP_TEMPL_TAG
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/hostap/src/utils/pcsc_funcs.c
      type_or_value: '0x62'
    - item_type: preproc_def
      name: USIM_TLV_FILE_DESC
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/hostap/src/utils/pcsc_funcs.c
      type_or_value: '0x82'
    - item_type: preproc_def
      name: USIM_TLV_FILE_ID
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/hostap/src/utils/pcsc_funcs.c
      type_or_value: '0x83'
    - item_type: preproc_def
      name: USIM_TLV_DF_NAME
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/hostap/src/utils/pcsc_funcs.c
      type_or_value: '0x84'
    - item_type: preproc_def
      name: USIM_TLV_PROPR_INFO
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/hostap/src/utils/pcsc_funcs.c
      type_or_value: '0xA5'
    - item_type: preproc_def
      name: USIM_TLV_LIFE_CYCLE_STATUS
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/hostap/src/utils/pcsc_funcs.c
      type_or_value: '0x8A'
    - item_type: preproc_def
      name: USIM_TLV_FILE_SIZE
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/hostap/src/utils/pcsc_funcs.c
      type_or_value: '0x80'
    - item_type: preproc_def
      name: USIM_TLV_TOTAL_FILE_SIZE
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/hostap/src/utils/pcsc_funcs.c
      type_or_value: '0x81'
    - item_type: preproc_def
      name: USIM_TLV_PIN_STATUS_TEMPLATE
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/hostap/src/utils/pcsc_funcs.c
      type_or_value: '0xC6'
    - item_type: preproc_def
      name: USIM_TLV_SHORT_FILE_ID
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/hostap/src/utils/pcsc_funcs.c
      type_or_value: '0x88'
    - item_type: preproc_def
      name: USIM_TLV_SECURITY_ATTR_8B
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/hostap/src/utils/pcsc_funcs.c
      type_or_value: '0x8B'
    - item_type: preproc_def
      name: USIM_TLV_SECURITY_ATTR_8C
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/hostap/src/utils/pcsc_funcs.c
      type_or_value: '0x8C'
    - item_type: preproc_def
      name: USIM_TLV_SECURITY_ATTR_AB
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/hostap/src/utils/pcsc_funcs.c
      type_or_value: '0xAB'
    - item_type: preproc_def
      name: USIM_PS_DO_TAG
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/hostap/src/utils/pcsc_funcs.c
      type_or_value: '0x90'
    - item_type: preproc_def
      name: AKA_RAND_LEN
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/hostap/src/utils/pcsc_funcs.c
      type_or_value: '16'
    - item_type: preproc_def
      name: AKA_AUTN_LEN
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/hostap/src/utils/pcsc_funcs.c
      type_or_value: '16'
    - item_type: preproc_def
      name: AKA_AUTS_LEN
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/hostap/src/utils/pcsc_funcs.c
      type_or_value: '14'
    - item_type: preproc_def
      name: RES_MAX_LEN
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/hostap/src/utils/pcsc_funcs.c
      type_or_value: '16'
    - item_type: preproc_def
      name: IK_LEN
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/hostap/src/utils/pcsc_funcs.c
      type_or_value: '16'
    - item_type: preproc_def
      name: CK_LEN
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/hostap/src/utils/pcsc_funcs.c
      type_or_value: '16'
    - item_type: preproc_def
      name: SCARD_FILE_MF
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/hostap/src/utils/pcsc_funcs.c
      type_or_value: '0x3F00'
    - item_type: preproc_def
      name: SCARD_FILE_GSM_DF
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/hostap/src/utils/pcsc_funcs.c
      type_or_value: '0x7F20'
    - item_type: preproc_def
      name: SCARD_FILE_UMTS_DF
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/hostap/src/utils/pcsc_funcs.c
      type_or_value: '0x7F50'
    - item_type: preproc_def
      name: SCARD_FILE_GSM_EF_IMSI
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/hostap/src/utils/pcsc_funcs.c
      type_or_value: '0x6F07'
    - item_type: preproc_def
      name: SCARD_FILE_GSM_EF_AD
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/hostap/src/utils/pcsc_funcs.c
      type_or_value: '0x6FAD'
    - item_type: preproc_def
      name: SCARD_FILE_EF_DIR
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/hostap/src/utils/pcsc_funcs.c
      type_or_value: '0x2F00'
    - item_type: preproc_def
      name: SCARD_FILE_EF_ICCID
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/hostap/src/utils/pcsc_funcs.c
      type_or_value: '0x2FE2'
    - item_type: preproc_def
      name: SCARD_FILE_EF_CK
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/hostap/src/utils/pcsc_funcs.c
      type_or_value: '0x6FE1'
    - item_type: preproc_def
      name: SCARD_FILE_EF_IK
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/hostap/src/utils/pcsc_funcs.c
      type_or_value: '0x6FE2'
    - item_type: preproc_def
      name: SCARD_CHV1_OFFSET
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/hostap/src/utils/pcsc_funcs.c
      type_or_value: '13'
    - item_type: preproc_def
      name: SCARD_CHV1_FLAG
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/hostap/src/utils/pcsc_funcs.c
      type_or_value: '0x80'
    - item_type: preproc_def
      name: SCARD_PCI_T0
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/hostap/src/utils/pcsc_funcs.c
      type_or_value: (dll_g_rgSCardT0Pci)
    - item_type: preproc_def
      name: SCARD_PCI_T1
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/hostap/src/utils/pcsc_funcs.c
      type_or_value: (dll_g_rgSCardT1Pci)
    - item_type: preproc_def
      name: SCardEstablishContext
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/hostap/src/utils/pcsc_funcs.c
      type_or_value: dll_SCardEstablishContext
    - item_type: preproc_def
      name: SCardReleaseContext
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/hostap/src/utils/pcsc_funcs.c
      type_or_value: dll_SCardReleaseContext
    - item_type: preproc_def
      name: SCardListReaders
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/hostap/src/utils/pcsc_funcs.c
      type_or_value: dll_SCardListReadersA
    - item_type: preproc_def
      name: SCardConnect
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/hostap/src/utils/pcsc_funcs.c
      type_or_value: dll_SCardConnectA
    - item_type: preproc_def
      name: SCardDisconnect
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/hostap/src/utils/pcsc_funcs.c
      type_or_value: dll_SCardDisconnect
    - item_type: preproc_def
      name: SCardTransmit
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/hostap/src/utils/pcsc_funcs.c
      type_or_value: dll_SCardTransmit
    - item_type: preproc_def
      name: SCardBeginTransaction
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/hostap/src/utils/pcsc_funcs.c
      type_or_value: dll_SCardBeginTransaction
    - item_type: preproc_def
      name: SCardEndTransaction
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/hostap/src/utils/pcsc_funcs.c
      type_or_value: dll_SCardEndTransaction
    structs:
    - fields:
      - name: ctx
        type: SCARDCONTEXT
      - name: card
        type: SCARDHANDLE
      - name: sim_type
        type: sim_types
      - name: pin1_required
        type: int
      item_type: struct
      name: scard_data
      pos:
        line_end: 123
        line_start: 113
        source_file: /src/hostap/src/utils/pcsc_funcs.c
    - fields:
      - name: appl_template_tag
        type: unsigned char
      - name: appl_template_len
        type: unsigned char
      - name: appl_id_tag
        type: unsigned char
      - name: aid_len
        type: unsigned char
      - name: rid[5]
        type: unsigned char
      - name: appl_code[2]
        type: unsigned char
      item_type: struct
      name: efdir
      pos:
        line_end: 411
        line_start: 404
        source_file: /src/hostap/src/utils/pcsc_funcs.c
    typedefs: []
    union: []
- function_names:
  - ieee80211_radiotap_iterator_init
  - find_ns
  - find_override
  - ieee80211_radiotap_iterator_next
  source_file: /src/hostap/src/utils/radiotap.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - edit_clear_line
  - move_start
  - move_end
  - move_left
  - move_right
  - move_word_left
  - move_word_right
  - delete_left
  - delete_current
  - delete_word
  - clear_left
  - clear_right
  - history_add
  - history_use
  - history_prev
  - history_next
  - history_read
  - history_write
  - history_debug_dump
  - insert_char
  - process_cmd
  - free_completions
  - filter_strings
  - common_len
  - max_common_length
  - cmp_str
  - complete
  - show_esc_buf
  - esc_seq_to_key1_no
  - esc_seq_to_key1_shift
  - esc_seq_to_key1_alt
  - esc_seq_to_key1_alt_shift
  - esc_seq_to_key1_ctrl
  - esc_seq_to_key1
  - esc_seq_to_key2
  - esc_seq_to_key
  - edit_read_key
  - search_find
  - search_redraw
  - search_start
  - search_clear
  - search_stop
  - search_cancel
  - search_backspace
  - search_next
  - search_char
  - search_key
  - edit_read_char
  - edit_init
  - edit_deinit
  - edit_redraw
  source_file: /src/hostap/src/utils/edit.c
  types:
    enum:
    - enumerators:
      - name: EDIT_KEY_UP
      - name: EDIT_KEY_TAB
      - name: EDIT_KEY_ENTER
      - name: EDIT_KEY_F5
      - name: EDIT_KEY_HOME
      - name: EDIT_KEY_F1
      - name: EDIT_KEY_F9
      - name: EDIT_KEY_CTRL_UP
      - name: EDIT_KEY_CTRL_A
      - name: EDIT_KEY_CTRL_H
      - name: EDIT_KEY_CTRL_U
      - name: EDIT_KEY_ALT_UP
      - name: EDIT_KEY_ALT_LEFT
      - name: EDIT_KEY_CTRL_P
      - name: EDIT_KEY_DOWN
      - name: EDIT_KEY_BACKSPACE
      - name: EDIT_KEY_END
      - name: EDIT_KEY_F2
      - name: EDIT_KEY_F6
      - name: EDIT_KEY_F10
      - name: EDIT_KEY_CTRL_DOWN
      - name: EDIT_KEY_CTRL_B
      - name: EDIT_KEY_CTRL_E
      - name: EDIT_KEY_CTRL_J
      - name: EDIT_KEY_SHIFT_UP
      - name: EDIT_KEY_ALT_SHIFT_RIGHT
      - name: EDIT_KEY_SHIFT_LEFT
      - name: EDIT_KEY_CTRL_R
      - name: EDIT_KEY_ALT_DOWN
      - name: EDIT_KEY_EOF
      - name: EDIT_KEY_CTRL_V
      - name: EDIT_KEY_NONE
        value: '256'
      - name: EDIT_KEY_RIGHT
      - name: EDIT_KEY_INSERT
      - name: EDIT_KEY_PAGE_UP
      - name: EDIT_KEY_F3
      - name: EDIT_KEY_F7
      - name: EDIT_KEY_F11
      - name: EDIT_KEY_CTRL_RIGHT
      - name: EDIT_KEY_CTRL_D
      - name: EDIT_KEY_CTRL_F
      - name: EDIT_KEY_CTRL_N
      - name: EDIT_KEY_ALT_SHIFT_LEFT
      - name: EDIT_KEY_ALT_RIGHT
      - name: EDIT_KEY_CTRL_W
      - name: EDIT_KEY_ALT_SHIFT_UP
      - name: EDIT_KEY_SHIFT_DOWN
      - name: EDIT_KEY_LEFT
      - name: EDIT_KEY_DELETE
      - name: EDIT_KEY_PAGE_DOWN
      - name: EDIT_KEY_F4
      - name: EDIT_KEY_F8
      - name: EDIT_KEY_F12
      - name: EDIT_KEY_CTRL_LEFT
      - name: EDIT_KEY_CTRL_G
      - name: EDIT_KEY_CTRL_K
      - name: EDIT_KEY_CTRL_L
      - name: EDIT_KEY_CTRL_O
      - name: EDIT_KEY_CTRL_T
      - name: EDIT_KEY_ALT_SHIFT_DOWN
      - name: EDIT_KEY_SHIFT_RIGHT
      item_type: enum
      name: edit_key_code
      pos:
        line_end: 550
        line_start: 488
        source_file: /src/hostap/src/utils/edit.c
    preproc_defs:
    - item_type: preproc_def
      name: CMD_BUF_LEN
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/hostap/src/utils/edit.c
      type_or_value: '4096'
    - item_type: preproc_def
      name: HISTORY_MAX
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/hostap/src/utils/edit.c
      type_or_value: '100'
    - item_type: preproc_def
      name: CLEAR_END_LINE
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/hostap/src/utils/edit.c
      type_or_value: '"\e[K"'
    structs:
    - fields:
      - name: list
        type: struct dl_list
      - name: str[1]
        type: char
      item_type: struct
      name: edit_history
      pos:
        line_end: 29
        line_start: 26
        source_file: /src/hostap/src/utils/edit.c
    typedefs: []
    union: []
- function_names:
  - xml_node_for_each_child
  - xml_node_for_each_sibling
  - xml_node_for_each_check
  source_file: /src/hostap/src/utils/xml-utils.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: xml_node_t
      pos:
        line_end: 12
        line_start: 12
        source_file: /src/hostap/src/utils/xml-utils.h
      type: xml_node
    - item_type: typedef
      name: xml_namespace_t
      pos:
        line_end: 13
        line_start: 13
        source_file: /src/hostap/src/utils/xml-utils.h
      type: xml_namespace_foo
    union: []
- function_names:
  - SM_STATE
  - SM_ENTRY
  - SM_ENTRY_M
  - SM_ENTRY_MA
  - SM_ENTER
  - SM_ENTER_GLOBAL
  - SM_STEP
  - SM_STEP_RUN
  source_file: /src/hostap/src/utils/state_machine.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/utils/crc32.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - browser_timeout
  - http_req
  - hs20_web_browser
  source_file: /src/hostap/src/utils/browser-android.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: success
        type: int
      item_type: struct
      name: browser_data
      pos:
        line_end: 18
        line_start: 16
        source_file: /src/hostap/src/utils/browser-android.c
    typedefs: []
    union: []
- function_names:
  - os_sleep
  - os_get_time
  - os_get_reltime
  - os_mktime
  - os_gmtime
  - os_daemonize
  - os_daemonize_terminate
  - os_get_random
  - os_random
  - os_rel2abs_path
  - os_program_init
  - os_program_deinit
  - os_setenv
  - os_unsetenv
  - os_readfile
  - os_fdatasync
  - os_zalloc
  - os_malloc
  - os_realloc
  - os_free
  - os_memcpy
  - os_memmove
  - os_memset
  - os_memcmp
  - os_strdup
  - os_strlen
  - os_strcasecmp
  - os_strncasecmp
  - os_strchr
  - os_strrchr
  - os_strcmp
  - os_strncmp
  - os_strlcpy
  - os_memcmp_const
  - os_strstr
  - os_snprintf
  - os_exec
  source_file: /src/hostap/src/utils/os_internal.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - base64_gen_encode
  - base64_gen_decode
  - base64_encode
  - base64_encode_no_lf
  - base64_url_encode
  - base64_decode
  - base64_url_decode
  source_file: /src/hostap/src/utils/base64.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BASE64_PAD
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/hostap/src/utils/base64.c
      type_or_value: BIT(0)
    - item_type: preproc_def
      name: BASE64_LF
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/hostap/src/utils/base64.c
      type_or_value: BIT(1)
    structs: []
    typedefs: []
    union: []
- function_names:
  - ieee80211_crc32
  source_file: /src/hostap/src/utils/crc32.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - eloop_sigsegv_handler
  - eloop_trace_sock_add_ref
  - eloop_trace_sock_remove_ref
  - eloop_trace_sock_add_ref
  - eloop_trace_sock_remove_ref
  - eloop_init
  - eloop_sock_queue
  - event_type_kevent_filter
  - eloop_sock_queue
  - eloop_sock_table_add_sock
  - eloop_sock_table_remove_sock
  - find_pollfd
  - eloop_sock_table_set_fds
  - eloop_sock_table_dispatch_table
  - eloop_sock_table_dispatch
  - eloop_sock_table_set_fds
  - eloop_sock_table_dispatch
  - eloop_sock_table_dispatch
  - eloop_sock_table_dispatch
  - eloop_sock_table_requeue
  - eloop_sock_requeue
  - eloop_sock_table_destroy
  - eloop_register_read_sock
  - eloop_unregister_read_sock
  - eloop_get_sock_table
  - eloop_register_sock
  - eloop_unregister_sock
  - eloop_register_timeout
  - eloop_remove_timeout
  - eloop_cancel_timeout
  - eloop_cancel_timeout_one
  - eloop_is_timeout_registered
  - eloop_deplete_timeout
  - eloop_replenish_timeout
  - eloop_handle_alarm
  - eloop_handle_signal
  - eloop_process_pending_signals
  - eloop_register_signal
  - eloop_register_signal_terminate
  - eloop_register_signal_reconfig
  - eloop_run
  - eloop_terminate
  - eloop_destroy
  - eloop_terminated
  - eloop_wait_for_read_sock
  source_file: /src/hostap/src/utils/eloop.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: sig
        type: int
      - name: '*user_data'
        type: void
      - name: handler
        type: eloop_signal_handler
      - name: signaled
        type: int
      item_type: struct
      name: eloop_signal
      pos:
        line_end: 67
        line_start: 62
        source_file: /src/hostap/src/utils/eloop.c
    - fields:
      - name: count
        type: size_t
      - name: '*table'
        type: struct eloop_sock
      - name: type
        type: eloop_event_type
      - name: changed
        type: int
      item_type: struct
      name: eloop_sock_table
      pos:
        line_end: 74
        line_start: 69
        source_file: /src/hostap/src/utils/eloop.c
    - fields:
      - name: max_sock
        type: int
      - name: count
        type: size_t
      - name: readers
        type: struct eloop_sock_table
      - name: writers
        type: struct eloop_sock_table
      - name: exceptions
        type: struct eloop_sock_table
      - name: timeout
        type: struct dl_list
      - name: signal_count
        type: size_t
      - name: '*signals'
        type: struct eloop_signal
      - name: signaled
        type: int
      - name: pending_terminate
        type: int
      - name: terminate
        type: int
      item_type: struct
      name: eloop_data
      pos:
        line_end: 112
        line_start: 76
        source_file: /src/hostap/src/utils/eloop.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/utils/ip_addr.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: af
        type: int
      - name: u
        type: "union {\n\t\tstruct in_addr v4;\n#ifdef CONFIG_IPV6\n\t\tstruct in6_addr
          v6;\n#endif /* CONFIG_IPV6 */\n\t\tu8 max_len[16];\n\t}"
      item_type: struct
      name: hostapd_ip_addr
      pos:
        line_end: 20
        line_start: 11
        source_file: /src/hostap/src/utils/ip_addr.h
    typedefs: []
    union: []
- function_names:
  - browser_timeout
  - http_req
  - hs20_web_browser
  source_file: /src/hostap/src/utils/browser-system.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: success
        type: int
      item_type: struct
      name: browser_data
      pos:
        line_end: 18
        line_start: 16
        source_file: /src/hostap/src/utils/browser-system.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/utils/eloop.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ELOOP_ALL_CTX
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/hostap/src/utils/eloop.h
      type_or_value: (void *) -1
    structs: []
    typedefs:
    - item_type: typedef
      name: (*eloop_sock_handler)(int sock, void *eloop_ctx, void *sock_ctx)
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/hostap/src/utils/eloop.h
      type: void
    - item_type: typedef
      name: (*eloop_event_handler)(void *eloop_ctx, void *user_ctx)
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/hostap/src/utils/eloop.h
      type: void
    - item_type: typedef
      name: (*eloop_timeout_handler)(void *eloop_ctx, void *user_ctx)
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/hostap/src/utils/eloop.h
      type: void
    - item_type: typedef
      name: (*eloop_signal_handler)(int sig, void *signal_ctx)
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/hostap/src/utils/eloop.h
      type: void
    union: []
- function_names: []
  source_file: /src/hostap/src/utils/edit.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - wpa_debug_print_timestamp
  - wpa_printf
  - wpa_debug_open_file
  - wpa_debug_close_file
  - wpa_debug_setup_stdout
  - wpa_debug_stop_log
  - wpa_dbg
  - wpa_hexdump
  - wpa_hexdump_buf
  - wpa_hexdump_key
  - wpa_hexdump_buf_key
  - wpa_hexdump_ascii
  - wpa_hexdump_ascii_buf
  - wpa_hexdump_ascii_key
  - wpa_debug_reopen_file
  - wpa_hexdump_buf
  - wpa_hexdump_buf_key
  - wpa_hexdump_ascii_buf
  - wpa_dbg
  - wpa_msg
  - wpa_msg_ctrl
  - wpa_msg_global
  - wpa_msg_global_ctrl
  - wpa_msg_no_global
  - wpa_msg_global_only
  - wpa_msg_register_cb
  - wpa_msg_register_ifname_cb
  - hostapd_logger
  - hostapd_logger_register_cb
  - wpa_debug_open_syslog
  - wpa_debug_close_syslog
  - wpa_debug_open_linux_tracing
  - wpa_debug_close_linux_tracing
  - WPA_ASSERT
  - WPA_ASSERT
  source_file: /src/hostap/src/utils/wpa_debug.h
  types:
    enum:
    - enumerators:
      - name: WPA_MSG_PER_INTERFACE
      - name: WPA_MSG_GLOBAL
      - name: WPA_MSG_NO_GLOBAL
      - name: WPA_MSG_ONLY_GLOBAL
      item_type: enum
      name: wpa_msg_type
      pos:
        line_end: 304
        line_start: 299
        source_file: /src/hostap/src/utils/wpa_debug.h
    - enumerators:
      - name: HOSTAPD_LEVEL_DEBUG_VERBOSE
        value: '0'
      - name: HOSTAPD_LEVEL_DEBUG
        value: '1'
      - name: HOSTAPD_LEVEL_NOTICE
        value: '3'
      - name: HOSTAPD_LEVEL_INFO
        value: '2'
      - name: HOSTAPD_LEVEL_WARNING
        value: '4'
      item_type: enum
      name: hostapd_logger_level
      pos:
        line_end: 351
        line_start: 345
        source_file: /src/hostap/src/utils/wpa_debug.h
    preproc_defs:
    - item_type: preproc_def
      name: HOSTAPD_MODULE_IEEE80211
      pos:
        line_end: 339
        line_start: 338
        source_file: /src/hostap/src/utils/wpa_debug.h
      type_or_value: '0x00000001'
    - item_type: preproc_def
      name: HOSTAPD_MODULE_IEEE8021X
      pos:
        line_end: 340
        line_start: 339
        source_file: /src/hostap/src/utils/wpa_debug.h
      type_or_value: '0x00000002'
    - item_type: preproc_def
      name: HOSTAPD_MODULE_RADIUS
      pos:
        line_end: 341
        line_start: 340
        source_file: /src/hostap/src/utils/wpa_debug.h
      type_or_value: '0x00000004'
    - item_type: preproc_def
      name: HOSTAPD_MODULE_WPA
      pos:
        line_end: 342
        line_start: 341
        source_file: /src/hostap/src/utils/wpa_debug.h
      type_or_value: '0x00000008'
    - item_type: preproc_def
      name: HOSTAPD_MODULE_DRIVER
      pos:
        line_end: 343
        line_start: 342
        source_file: /src/hostap/src/utils/wpa_debug.h
      type_or_value: '0x00000010'
    - item_type: preproc_def
      name: HOSTAPD_MODULE_MLME
      pos:
        line_end: 344
        line_start: 343
        source_file: /src/hostap/src/utils/wpa_debug.h
      type_or_value: '0x00000040'
    structs: []
    typedefs:
    - item_type: typedef
      name: "(*wpa_msg_cb_func)(void *ctx, int level, enum wpa_msg_type type,\n\t\t\t\tconst
        char *txt, size_t len)"
      pos:
        line_end: 307
        line_start: 306
        source_file: /src/hostap/src/utils/wpa_debug.h
      type: void
    - item_type: typedef
      name: '* (*wpa_msg_get_ifname_func)(void *ctx)'
      pos:
        line_end: 315
        line_start: 315
        source_file: /src/hostap/src/utils/wpa_debug.h
      type: char
    - item_type: typedef
      name: "(*hostapd_logger_cb_func)(void *ctx, const u8 *addr,\n\t\t\t\t       unsigned
        int module, int level,\n\t\t\t\t       const char *txt, size_t len)"
      pos:
        line_end: 329
        line_start: 327
        source_file: /src/hostap/src/utils/wpa_debug.h
      type: void
    union: []
- function_names:
  - bswap_16
  - bswap_32
  - wpa_swap_16
  - wpa_swap_32
  - le_to_host16
  - host_to_le16
  - be_to_host16
  - host_to_be16
  - le_to_host32
  - host_to_le32
  - be_to_host32
  - host_to_be32
  - host_to_le64
  - le_to_host16
  - host_to_le16
  - be_to_host16
  - host_to_be16
  - le_to_host32
  - host_to_le32
  - be_to_host32
  - host_to_be32
  - le_to_host64
  - host_to_le64
  - be_to_host64
  - host_to_be64
  - le_to_host16
  - host_to_le16
  - be_to_host16
  - host_to_be16
  - le_to_host32
  - host_to_le32
  - be_to_host32
  - host_to_be32
  - le_to_host64
  - host_to_le64
  - be_to_host64
  - host_to_be64
  - WPA_GET_BE16
  - WPA_PUT_BE16
  - WPA_GET_LE16
  - WPA_PUT_LE16
  - WPA_GET_BE24
  - WPA_PUT_BE24
  - WPA_GET_LE24
  - WPA_PUT_LE24
  - WPA_GET_BE32
  - WPA_PUT_BE32
  - WPA_GET_LE32
  - WPA_PUT_LE32
  - WPA_GET_LE48
  - WPA_PUT_LE48
  - WPA_GET_BE64
  - WPA_PUT_BE64
  - WPA_GET_LE64
  - WPA_PUT_LE64
  - PRINTF_FORMAT
  - bswap_16
  - bswap_32
  - MAC2STR
  - BIT
  - BIT_ULL
  - BITS
  - MIN
  - MAX
  - wpa_unicode2ascii_inplace
  - wpa_strdup_tchar
  - is_zero_ether_addr
  - is_broadcast_ether_addr
  - is_multicast_ether_addr
  - ether_addr_equal
  - ARRAY_SIZE
  - for_each_link
  - for_each_link_default
  - aliasing_hide_typecast
  - WPA_MEM_DEFINED
  - WPA_MEM_DEFINED
  source_file: /src/hostap/src/utils/common.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: __BYTE_ORDER
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/hostap/src/utils/common.h
      type_or_value: _BYTE_ORDER
    - item_type: preproc_def
      name: __LITTLE_ENDIAN
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/hostap/src/utils/common.h
      type_or_value: _LITTLE_ENDIAN
    - item_type: preproc_def
      name: __BIG_ENDIAN
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/hostap/src/utils/common.h
      type_or_value: _BIG_ENDIAN
    - item_type: preproc_def
      name: bswap_16
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/hostap/src/utils/common.h
      type_or_value: swap16
    - item_type: preproc_def
      name: bswap_32
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/hostap/src/utils/common.h
      type_or_value: swap32
    - item_type: preproc_def
      name: bswap_64
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/hostap/src/utils/common.h
      type_or_value: swap64
    - item_type: preproc_def
      name: bswap_16
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/hostap/src/utils/common.h
      type_or_value: bswap16
    - item_type: preproc_def
      name: bswap_32
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/hostap/src/utils/common.h
      type_or_value: bswap32
    - item_type: preproc_def
      name: bswap_64
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/hostap/src/utils/common.h
      type_or_value: bswap64
    - item_type: preproc_def
      name: __BYTE_ORDER
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/hostap/src/utils/common.h
      type_or_value: _BYTE_ORDER
    - item_type: preproc_def
      name: __LITTLE_ENDIAN
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/hostap/src/utils/common.h
      type_or_value: _LITTLE_ENDIAN
    - item_type: preproc_def
      name: __BIG_ENDIAN
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/hostap/src/utils/common.h
      type_or_value: _BIG_ENDIAN
    - item_type: preproc_def
      name: __BYTE_ORDER
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/hostap/src/utils/common.h
      type_or_value: BYTE_ORDER
    - item_type: preproc_def
      name: __LITTLE_ENDIAN
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/hostap/src/utils/common.h
      type_or_value: LITTLE_ENDIAN
    - item_type: preproc_def
      name: __BIG_ENDIAN
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/hostap/src/utils/common.h
      type_or_value: BIG_ENDIAN
    - item_type: preproc_def
      name: bswap_16
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/hostap/src/utils/common.h
      type_or_value: CPU_swap_u16
    - item_type: preproc_def
      name: bswap_32
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/hostap/src/utils/common.h
      type_or_value: CPU_swap_u32
    - item_type: preproc_def
      name: MSG_DONTWAIT
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/hostap/src/utils/common.h
      type_or_value: '0 '
    - item_type: preproc_def
      name: inline
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/hostap/src/utils/common.h
      type_or_value: __inline
    - item_type: preproc_def
      name: vsnprintf
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/hostap/src/utils/common.h
      type_or_value: _vsnprintf
    - item_type: preproc_def
      name: close
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/hostap/src/utils/common.h
      type_or_value: closesocket
    - item_type: preproc_def
      name: __LITTLE_ENDIAN
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/hostap/src/utils/common.h
      type_or_value: '1234'
    - item_type: preproc_def
      name: __BIG_ENDIAN
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/hostap/src/utils/common.h
      type_or_value: '4321'
    - item_type: preproc_def
      name: __BYTE_ORDER
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/hostap/src/utils/common.h
      type_or_value: __BIG_ENDIAN
    - item_type: preproc_def
      name: ETH_ALEN
      pos:
        line_end: 344
        line_start: 343
        source_file: /src/hostap/src/utils/common.h
      type_or_value: '6'
    - item_type: preproc_def
      name: ETH_HLEN
      pos:
        line_end: 347
        line_start: 346
        source_file: /src/hostap/src/utils/common.h
      type_or_value: '14'
    - item_type: preproc_def
      name: IFNAMSIZ
      pos:
        line_end: 350
        line_start: 349
        source_file: /src/hostap/src/utils/common.h
      type_or_value: '16'
    - item_type: preproc_def
      name: ETH_P_ALL
      pos:
        line_end: 353
        line_start: 352
        source_file: /src/hostap/src/utils/common.h
      type_or_value: '0x0003'
    - item_type: preproc_def
      name: ETH_P_IP
      pos:
        line_end: 356
        line_start: 355
        source_file: /src/hostap/src/utils/common.h
      type_or_value: '0x0800'
    - item_type: preproc_def
      name: ETH_P_80211_ENCAP
      pos:
        line_end: 359
        line_start: 358
        source_file: /src/hostap/src/utils/common.h
      type_or_value: '0x890d '
    - item_type: preproc_def
      name: ETH_P_PAE
      pos:
        line_end: 362
        line_start: 361
        source_file: /src/hostap/src/utils/common.h
      type_or_value: '0x888E '
    - item_type: preproc_def
      name: ETH_P_EAPOL
      pos:
        line_end: 365
        line_start: 364
        source_file: /src/hostap/src/utils/common.h
      type_or_value: ETH_P_PAE
    - item_type: preproc_def
      name: ETH_P_RSN_PREAUTH
      pos:
        line_end: 368
        line_start: 367
        source_file: /src/hostap/src/utils/common.h
      type_or_value: '0x88c7'
    - item_type: preproc_def
      name: ETH_P_RRB
      pos:
        line_end: 371
        line_start: 370
        source_file: /src/hostap/src/utils/common.h
      type_or_value: '0x890D'
    - item_type: preproc_def
      name: ETH_P_OUI
      pos:
        line_end: 374
        line_start: 373
        source_file: /src/hostap/src/utils/common.h
      type_or_value: '0x88B7'
    - item_type: preproc_def
      name: ETH_P_8021Q
      pos:
        line_end: 377
        line_start: 376
        source_file: /src/hostap/src/utils/common.h
      type_or_value: '0x8100'
    - item_type: preproc_def
      name: STRUCT_PACKED
      pos:
        line_end: 383
        line_start: 382
        source_file: /src/hostap/src/utils/common.h
      type_or_value: __attribute__ ((packed))
    - item_type: preproc_def
      name: inline
      pos:
        line_end: 418
        line_start: 417
        source_file: /src/hostap/src/utils/common.h
      type_or_value: __inline
    - item_type: preproc_def
      name: __func__
      pos:
        line_end: 422
        line_start: 421
        source_file: /src/hostap/src/utils/common.h
      type_or_value: '"__func__ not defined"'
    - item_type: preproc_def
      name: MSG_DONTWAIT
      pos:
        line_end: 437
        line_start: 436
        source_file: /src/hostap/src/utils/common.h
      type_or_value: '0'
    - item_type: preproc_def
      name: MACSTR
      pos:
        line_end: 448
        line_start: 447
        source_file: /src/hostap/src/utils/common.h
      type_or_value: '"%02x:%02x:%02x:%02x:%02x:%02x"'
    - item_type: preproc_def
      name: COMPACT_MACSTR
      pos:
        line_end: 454
        line_start: 453
        source_file: /src/hostap/src/utils/common.h
      type_or_value: '"%02x%02x%02x%02x%02x%02x"'
    - item_type: preproc_def
      name: __force
      pos:
        line_end: 479
        line_start: 478
        source_file: /src/hostap/src/utils/common.h
      type_or_value: __attribute__((force))
    - item_type: preproc_def
      name: __bitwise
      pos:
        line_end: 481
        line_start: 480
        source_file: /src/hostap/src/utils/common.h
      type_or_value: __attribute__((bitwise))
    - item_type: preproc_def
      name: __must_check
      pos:
        line_end: 497
        line_start: 496
        source_file: /src/hostap/src/utils/common.h
      type_or_value: __attribute__((__warn_unused_result__))
    - item_type: preproc_def
      name: __maybe_unused
      pos:
        line_end: 505
        line_start: 504
        source_file: /src/hostap/src/utils/common.h
      type_or_value: __attribute__((unused))
    - item_type: preproc_def
      name: SSID_MAX_LEN
      pos:
        line_end: 511
        line_start: 510
        source_file: /src/hostap/src/utils/common.h
      type_or_value: '32'
    - item_type: preproc_def
      name: broadcast_ether_addr
      pos:
        line_end: 581
        line_start: 580
        source_file: /src/hostap/src/utils/common.h
      type_or_value: (const u8 *) "\xff\xff\xff\xff\xff\xff"
    structs:
    - fields:
      - name: ssid[SSID_MAX_LEN]
        type: u8
      - name: ssid_len
        type: size_t
      item_type: struct
      name: wpa_ssid_value
      pos:
        line_end: 515
        line_start: 512
        source_file: /src/hostap/src/utils/common.h
    - fields:
      - name: '*range'
        type: "struct wpa_freq_range {\n\t\tunsigned int min;\n\t\tunsigned int max;\n\t}"
      - name: num
        type: unsigned int
      item_type: struct
      name: wpa_freq_range_list
      pos:
        line_end: 591
        line_start: 585
        source_file: /src/hostap/src/utils/common.h
    - fields:
      - name: min
        type: unsigned int
      - name: max
        type: unsigned int
      item_type: struct
      name: wpa_freq_range
      pos:
        line_end: 589
        line_start: 586
        source_file: /src/hostap/src/utils/common.h
    typedefs:
    - item_type: typedef
      name: socklen_t
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/hostap/src/utils/common.h
      type: int
    - item_type: typedef
      name: u64
      pos:
        line_end: 88
        line_start: 88
        source_file: /src/hostap/src/utils/common.h
      type: UINT64
    - item_type: typedef
      name: u32
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/hostap/src/utils/common.h
      type: UINT32
    - item_type: typedef
      name: u16
      pos:
        line_end: 90
        line_start: 90
        source_file: /src/hostap/src/utils/common.h
      type: UINT16
    - item_type: typedef
      name: u8
      pos:
        line_end: 91
        line_start: 91
        source_file: /src/hostap/src/utils/common.h
      type: UINT8
    - item_type: typedef
      name: s64
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/hostap/src/utils/common.h
      type: INT64
    - item_type: typedef
      name: s32
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/hostap/src/utils/common.h
      type: INT32
    - item_type: typedef
      name: s16
      pos:
        line_end: 94
        line_start: 94
        source_file: /src/hostap/src/utils/common.h
      type: INT16
    - item_type: typedef
      name: s8
      pos:
        line_end: 95
        line_start: 95
        source_file: /src/hostap/src/utils/common.h
      type: INT8
    - item_type: typedef
      name: u64
      pos:
        line_end: 100
        line_start: 100
        source_file: /src/hostap/src/utils/common.h
      type: unsigned long long
    - item_type: typedef
      name: u32
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/hostap/src/utils/common.h
      type: UINT32
    - item_type: typedef
      name: u16
      pos:
        line_end: 102
        line_start: 102
        source_file: /src/hostap/src/utils/common.h
      type: UINT16
    - item_type: typedef
      name: u8
      pos:
        line_end: 103
        line_start: 103
        source_file: /src/hostap/src/utils/common.h
      type: UINT8
    - item_type: typedef
      name: s64
      pos:
        line_end: 104
        line_start: 104
        source_file: /src/hostap/src/utils/common.h
      type: long long
    - item_type: typedef
      name: s32
      pos:
        line_end: 105
        line_start: 105
        source_file: /src/hostap/src/utils/common.h
      type: INT32
    - item_type: typedef
      name: s16
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/hostap/src/utils/common.h
      type: INT16
    - item_type: typedef
      name: s8
      pos:
        line_end: 107
        line_start: 107
        source_file: /src/hostap/src/utils/common.h
      type: INT8
    - item_type: typedef
      name: u64
      pos:
        line_end: 117
        line_start: 117
        source_file: /src/hostap/src/utils/common.h
      type: uint64_t
    - item_type: typedef
      name: u32
      pos:
        line_end: 118
        line_start: 118
        source_file: /src/hostap/src/utils/common.h
      type: uint32_t
    - item_type: typedef
      name: u16
      pos:
        line_end: 119
        line_start: 119
        source_file: /src/hostap/src/utils/common.h
      type: uint16_t
    - item_type: typedef
      name: u8
      pos:
        line_end: 120
        line_start: 120
        source_file: /src/hostap/src/utils/common.h
      type: uint8_t
    - item_type: typedef
      name: s64
      pos:
        line_end: 121
        line_start: 121
        source_file: /src/hostap/src/utils/common.h
      type: int64_t
    - item_type: typedef
      name: s32
      pos:
        line_end: 122
        line_start: 122
        source_file: /src/hostap/src/utils/common.h
      type: int32_t
    - item_type: typedef
      name: s16
      pos:
        line_end: 123
        line_start: 123
        source_file: /src/hostap/src/utils/common.h
      type: int16_t
    - item_type: typedef
      name: s8
      pos:
        line_end: 124
        line_start: 124
        source_file: /src/hostap/src/utils/common.h
      type: int8_t
    - item_type: typedef
      name: socklen_t
      pos:
        line_end: 409
        line_start: 409
        source_file: /src/hostap/src/utils/common.h
      type: int
    - item_type: typedef
      name: __bitwise
      pos:
        line_end: 487
        line_start: 487
        source_file: /src/hostap/src/utils/common.h
      type: u16
    - item_type: typedef
      name: __bitwise
      pos:
        line_end: 488
        line_start: 488
        source_file: /src/hostap/src/utils/common.h
      type: u16
    - item_type: typedef
      name: __bitwise
      pos:
        line_end: 489
        line_start: 489
        source_file: /src/hostap/src/utils/common.h
      type: u32
    - item_type: typedef
      name: __bitwise
      pos:
        line_end: 490
        line_start: 490
        source_file: /src/hostap/src/utils/common.h
      type: u32
    - item_type: typedef
      name: __bitwise
      pos:
        line_end: 491
        line_start: 491
        source_file: /src/hostap/src/utils/common.h
      type: u64
    - item_type: typedef
      name: __bitwise
      pos:
        line_end: 492
        line_start: 492
        source_file: /src/hostap/src/utils/common.h
      type: u64
    union: []
- function_names:
  - clear_curl
  - debug_dump
  - curl_cb_debug
  - curl_cb_write
  - debug_dump_cert
  - curl_cb_ssl_verify
  - ocsp_debug_print_resp
  - tls_show_errors
  - ocsp_resp_cb
  - curl_patch_ssl_new
  - curl_cb_ssl
  - setup_curl_post
  - free_curl_buf
  - http_init_ctx
  - http_ocsp_set
  - http_deinit_ctx
  - http_download_file
  - http_post
  - http_get_err
  source_file: /src/hostap/src/utils/http_curl.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*ctx'
        type: void
      - name: '*xml'
        type: struct xml_node_ctx
      - name: '*curl'
        type: CURL
      - name: '*curl_hdr'
        type: struct curl_slist
      - name: '*svc_address'
        type: char
      - name: '*curl_buf'
        type: char
      - name: curl_buf_len
        type: size_t
      - name: ocsp
        type: "enum {\n\t\tNO_OCSP, OPTIONAL_OCSP, MANDATORY_OCSP\n\t}"
      - name: '*peer_cert'
        type: X509
      - name: '*peer_issuer'
        type: X509
      - name: '*peer_issuer_issuer'
        type: X509
      - name: '*last_err'
        type: char
      - name: '*url'
        type: char
      item_type: struct
      name: http_ctx
      pos:
        line_end: 51
        line_start: 33
        source_file: /src/hostap/src/utils/http_curl.c
    typedefs: []
    union: []
- function_names:
  - get_node_uri_iter
  - xml_node_for_each_sibling
  - get_node_uri
  - get_node_iter
  - xml_node_for_each_child
  - get_node
  - get_child_node
  - xml_node_for_each_child
  - node_from_file
  - node_to_file
  - get_val
  - add_path
  - node_to_tnds
  - xml_node_for_each_child
  - add_ddfname
  - mo_to_tnds
  - get_first_child_node
  - xml_node_for_each_child
  - get_node_text
  - add_mo_node
  - tnds_to_mo_iter
  - xml_node_for_each_sibling
  - tnds_to_mo
  source_file: /src/hostap/src/utils/xml-utils.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/utils/bitfield.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - const_time_fill_msb
  - const_time_is_zero
  - const_time_eq
  - const_time_eq_u8
  - const_time_eq_bin
  - const_time_select
  - const_time_select_int
  - const_time_select_u8
  - const_time_select_s8
  - const_time_select_bin
  - const_time_memcmp
  source_file: /src/hostap/src/utils/const_time.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NO_UBSAN_UINT_OVERFLOW
      pos:
        line_end: 20
        line_start: 18
        source_file: /src/hostap/src/utils/const_time.h
      type_or_value: __attribute__((no_sanitize("unsigned-integer-overflow")))
    structs: []
    typedefs: []
    union: []
- function_names:
  - xml_node_free
  - xml_node_from_buf
  - xml_node_get_localname
  - xml_node_to_str
  - xml_node_create_root
  - xml_node_create
  - xml_node_create_text
  - xml_node_create_text_ns
  - xml_node_set_text
  - xml_node_first_child
  - xml_node_next_sibling
  - xml_node_is_element
  - xml_node_get_text
  - xml_node_get_text_free
  - xml_node_get_base64_text
  - xml_node_init_ctx
  - xml_node_deinit_ctx
  source_file: /src/hostap/src/utils/xml_libxml2.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*ctx'
        type: void
      item_type: struct
      name: xml_node_ctx
      pos:
        line_end: 20
        line_start: 18
        source_file: /src/hostap/src/utils/xml_libxml2.c
    typedefs: []
    union: []
- function_names:
  - get_unaligned_le16
  - get_unaligned_le32
  source_file: /src/hostap/src/utils/platform.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - readline_free_completions
  - readline_completion_func
  - readline_completion
  - edit_read_char
  - trunc_nl
  - readline_cmd_handler
  - edit_init
  - edit_deinit
  - edit_clear_line
  - edit_redraw
  source_file: /src/hostap/src/utils/edit_readline.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - os_sleep
  - os_get_time
  - os_get_reltime
  - os_mktime
  - os_gmtime
  - os_daemonize
  - os_daemonize_terminate
  - os_get_random
  - os_random
  - os_rel2abs_path
  - os_program_init
  - os_program_deinit
  - os_setenv
  - os_unsetenv
  - os_readfile
  - os_fdatasync
  - os_zalloc
  - os_memdup
  - os_malloc
  - os_realloc
  - os_free
  - os_memcpy
  - os_memmove
  - os_memset
  - os_memcmp
  - os_strdup
  - os_strlen
  - os_strcasecmp
  - os_strncasecmp
  - os_strchr
  - os_strrchr
  - os_strcmp
  - os_strncmp
  - os_strlcpy
  - os_memcmp_const
  - os_strstr
  - os_snprintf
  - os_exec
  source_file: /src/hostap/src/utils/os_none.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/utils/http-utils.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - newline_terminated
  - skip_line_end
  - wpa_config_get_line
  source_file: /src/hostap/src/utils/config.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - wpabuf_size
  - wpabuf_len
  - wpabuf_tailroom
  - wpabuf_cmp
  - wpabuf_head
  - wpabuf_head_u8
  - wpabuf_mhead
  - wpabuf_mhead_u8
  - wpabuf_put_u8
  - wpabuf_put_le16
  - wpabuf_put_le24
  - wpabuf_put_le32
  - wpabuf_put_le64
  - wpabuf_put_be16
  - wpabuf_put_be24
  - wpabuf_put_be32
  - wpabuf_put_be64
  - wpabuf_put_data
  - wpabuf_put_buf
  - wpabuf_set
  - wpabuf_put_str
  source_file: /src/hostap/src/utils/wpabuf.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: WPABUF_FLAG_EXT_DATA
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/hostap/src/utils/wpabuf.h
      type_or_value: BIT(0)
    structs:
    - fields:
      - name: size
        type: size_t
      - name: used
        type: size_t
      - name: '*buf'
        type: u8
      - name: flags
        type: unsigned int
      item_type: struct
      name: wpabuf
      pos:
        line_end: 25
        line_start: 19
        source_file: /src/hostap/src/utils/wpabuf.h
    - fields:
      - name: num
        type: unsigned int
      - name: '**buf'
        type: struct wpabuf
      item_type: struct
      name: wpabuf_array
      pos:
        line_end: 200
        line_start: 197
        source_file: /src/hostap/src/utils/wpabuf.h
    typedefs: []
    union: []
- function_names:
  - wpa_to_android_level
  - wpa_debug_print_timestamp
  - wpa_debug_open_syslog
  - wpa_debug_close_syslog
  - syslog_priority
  - wpa_debug_open_linux_tracing
  - wpa_debug_close_linux_tracing
  - wpa_printf
  - _wpa_hexdump
  - wpa_hexdump
  - wpa_hexdump_key
  - _wpa_hexdump_ascii
  - wpa_hexdump_ascii
  - wpa_hexdump_ascii_key
  - wpa_debug_reopen_file
  - wpa_debug_open_file
  - wpa_debug_stop_log
  - wpa_debug_close_file
  - wpa_debug_setup_stdout
  - wpa_msg_register_cb
  - wpa_msg_register_ifname_cb
  - wpa_msg
  - wpa_msg_ctrl
  - wpa_msg_global
  - wpa_msg_global_ctrl
  - wpa_msg_no_global
  - wpa_msg_global_only
  - hostapd_logger_register_cb
  - hostapd_logger
  - debug_level_str
  - str_to_debug_level
  source_file: /src/hostap/src/utils/wpa_debug.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: WPAS_TRACE_PFX
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/hostap/src/utils/wpa_debug.c
      type_or_value: '"wpas <%d>: "'
    - item_type: preproc_def
      name: ANDROID_LOG_NAME
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/hostap/src/utils/wpa_debug.c
      type_or_value: '"wpa_supplicant"'
    - item_type: preproc_def
      name: LOG_HOSTAPD
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/hostap/src/utils/wpa_debug.c
      type_or_value: LOG_DAEMON
    structs: []
    typedefs: []
    union: []
- function_names:
  - ext_password_init
  - ext_password_deinit
  - ext_password_get
  - ext_password_free
  source_file: /src/hostap/src/utils/ext_password.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - os_sleep
  - os_get_time
  - os_get_reltime
  - os_mktime
  - os_gmtime
  - os_daemonize
  - os_daemonize_terminate
  - os_get_random
  - os_random
  - os_rel2abs_path
  - os_program_init
  - os_program_deinit
  - os_setenv
  - os_unsetenv
  - os_readfile
  - os_fdatasync
  - os_zalloc
  - os_strlcpy
  - os_memcmp_const
  - os_exec
  - os_memdup
  source_file: /src/hostap/src/utils/os_win32.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EPOCHFILETIME
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/hostap/src/utils/os_win32.c
      type_or_value: (116444736000000000ULL)
    structs: []
    typedefs: []
    union: []
- function_names:
  - edit_read_char
  - edit_init
  - edit_deinit
  - edit_clear_line
  - edit_redraw
  source_file: /src/hostap/src/utils/edit_simple.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CMD_BUF_LEN
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/hostap/src/utils/edit_simple.c
      type_or_value: '4096'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/utils/build_config.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/utils/base64.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - scard_init
  - scard_deinit
  - scard_set_pin
  - scard_get_imsi
  - scard_get_mnc_len
  - scard_gsm_auth
  - scard_umts_auth
  - scard_get_pin_retry_counter
  - scard_supports_umts
  source_file: /src/hostap/src/utils/pcsc_funcs.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - WPA_TRACE_REF
  - wpa_trace_dump
  - wpa_trace_record
  - wpa_trace_add_ref
  - wpa_trace_remove_ref
  - wpa_trace_dump
  - wpa_trace_record
  - wpa_trace_show
  - wpa_trace_add_ref
  - wpa_trace_remove_ref
  - wpa_trace_check_ref
  - wpa_trace_set_context
  - wpa_trace_dump_funcname
  source_file: /src/hostap/src/utils/trace.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: WPA_TRACE_LEN
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/hostap/src/utils/trace.h
      type_or_value: '16'
    - item_type: preproc_def
      name: WPA_TRACE_INFO
      pos:
        line_end: 24
        line_start: 20
        source_file: /src/hostap/src/utils/trace.h
      type_or_value: "void *btrace[WPA_TRACE_LEN];\t\\\n\tint btrace_num;\t\t\t\\\n\tconst
        char *btrace_ctx;"
    structs: []
    typedefs: []
    union: []
- function_names:
  - hs20_web_browser
  source_file: /src/hostap/src/utils/browser.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - callback
  - get_prg_fname
  - open_bfd
  - read_syms
  - bfd_get_section_vma
  - find_addr_sect
  - wpa_trace_bfd_addr
  - wpa_trace_bfd_addr2func
  - wpa_trace_bfd_init
  - wpa_trace_dump_funcname
  - wpa_trace_calling_func
  - wpa_trace_bfd_init
  - wpa_trace_bfd_addr
  - wpa_trace_bfd_addr2func
  - wpa_trace_dump_func
  - wpa_trace_show
  - wpa_trace_add_ref_func
  - wpa_trace_check_ref
  - wpa_trace_deinit
  - wpa_trace_set_context
  source_file: /src/hostap/src/utils/trace.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DMGL_PARAMS
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/hostap/src/utils/trace.c
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: DMGL_ANSI
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/hostap/src/utils/trace.c
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: bfd_get_section_size
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/hostap/src/utils/trace.c
      type_or_value: bfd_section_size
    structs:
    - fields:
      - name: pc
        type: bfd_vma
      - name: found
        type: bfd_boolean
      - name: '*filename'
        type: char
      - name: '*function'
        type: char
      - name: line
        type: unsigned int
      item_type: struct
      name: bfd_data
      pos:
        line_end: 148
        line_start: 142
        source_file: /src/hostap/src/utils/trace.c
    - fields: []
      item_type: struct
      name: info
      pos:
        line_end: 394
        line_start: 392
        source_file: /src/hostap/src/utils/trace.c
    - fields:
      - name: list
        type: struct dl_list
      - name: ctx[]
        type: char
      item_type: struct
      name: btrace_ctx_entry
      pos:
        line_end: 441
        line_start: 438
        source_file: /src/hostap/src/utils/trace.c
    typedefs: []
    union: []
- function_names:
  - win_cb_destroy
  - browser_update_title
  - process_request_starting_uri
  - view_cb_notify_estimated_load_progress
  - view_cb_resource_load_starting
  - view_cb_decide_policy
  - view_cb_mouse_target_changed
  - view_cb_notify_title
  - view_cb_notify_progress
  - view_cb_notify_load_status
  - view_cb_resource_request_starting
  - view_cb_mime_type_policy_decision
  - view_cb_download_requested
  - view_cb_hovering_over_link
  - view_cb_title_changed
  - hs20_web_browser
  source_file: /src/hostap/src/utils/browser.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*win'
        type: GtkWidget
      - name: '*view'
        type: WebKitWebView
      - name: success
        type: int
      - name: progress
        type: int
      - name: '*hover_link'
        type: char
      - name: '*title'
        type: char
      - name: gtk_main_started
        type: int
      - name: quit_gtk_main
        type: int
      item_type: struct
      name: browser_context
      pos:
        line_end: 28
        line_start: 19
        source_file: /src/hostap/src/utils/browser.c
    typedefs: []
    union: []
- function_names:
  - ext_password_init
  - ext_password_deinit
  - ext_password_get
  - ext_password_alloc
  - ext_password_free
  source_file: /src/hostap/src/utils/ext_password.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*backend'
        type: struct ext_password_backend
      - name: '*priv'
        type: void
      item_type: struct
      name: ext_password_data
      pos:
        line_end: 31
        line_start: 28
        source_file: /src/hostap/src/utils/ext_password.c
    typedefs: []
    union: []
- function_names:
  - RADIUS_DEBUG
  - RADIUS_ERROR
  - RADIUS_DUMP
  - RADIUS_DUMP_ASCII
  - srv_log
  - radius_server_get_client
  - radius_server_get_session
  - radius_server_session_free
  - radius_server_session_remove
  - radius_server_session_remove_timeout
  - radius_server_session_timeout
  - radius_server_new_session
  - radius_server_testing_options_tls
  - radius_server_testing_options
  - radius_server_erp_find_key
  - radius_server_get_new_session
  - radius_srv_hs20_t_c_pending
  - radius_server_add_session
  - db_update_last_msk
  - radius_server_encapsulate_eap
  - radius_server_macacl
  - radius_server_reject
  - radius_server_hs20_t_c_check
  - radius_server_request
  - radius_server_receive_disconnect_resp
  - radius_server_receive_coa_resp
  - radius_server_receive_auth
  - radius_server_receive_acct
  - radius_server_disable_pmtu_discovery
  - radius_server_open_socket
  - radius_server_open_socket6
  - radius_server_free_sessions
  - radius_server_free_clients
  - radius_server_read_clients
  - radius_server_init
  - radius_server_erp_flush
  - radius_server_deinit
  - radius_server_get_mib
  - radius_server_get_eap_user
  - radius_server_get_eap_req_id_text
  - radius_server_log_msg
  - radius_server_get_erp_domain
  - radius_server_erp_get_key
  - radius_server_erp_add_key
  - radius_server_eap_pending_cb
  - get_db_session_fields
  - free_db_session_fields
  - radius_server_dac_request
  source_file: /src/hostap/src/radius/radius_server.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RADIUS_SESSION_TIMEOUT
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/hostap/src/radius/radius_server.c
      type_or_value: '60'
    - item_type: preproc_def
      name: RADIUS_SESSION_MAINTAIN
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/hostap/src/radius/radius_server.c
      type_or_value: '5'
    - item_type: preproc_def
      name: RADIUS_MAX_SESSION
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/hostap/src/radius/radius_server.c
      type_or_value: '1000'
    structs:
    - fields:
      - name: access_requests
        type: u32
      - name: invalid_requests
        type: u32
      - name: dup_access_requests
        type: u32
      - name: access_accepts
        type: u32
      - name: access_rejects
        type: u32
      - name: access_challenges
        type: u32
      - name: malformed_access_requests
        type: u32
      - name: bad_authenticators
        type: u32
      - name: packets_dropped
        type: u32
      - name: unknown_types
        type: u32
      - name: acct_requests
        type: u32
      - name: invalid_acct_requests
        type: u32
      - name: acct_responses
        type: u32
      - name: malformed_acct_requests
        type: u32
      - name: acct_bad_authenticators
        type: u32
      - name: unknown_acct_types
        type: u32
      item_type: struct
      name: radius_server_counters
      pos:
        line_end: 63
        line_start: 45
        source_file: /src/hostap/src/radius/radius_server.c
    - fields:
      - name: '*next'
        type: struct radius_session
      - name: '*client'
        type: struct radius_client
      - name: '*server'
        type: struct radius_server_data
      - name: sess_id
        type: unsigned int
      - name: '*eap'
        type: struct eap_sm
      - name: '*eap_if'
        type: struct eap_eapol_interface
      - name: '*username'
        type: char
      - name: '*nas_ip'
        type: char
      - name: mac_addr[ETH_ALEN]
        type: u8
      - name: '*last_msg'
        type: struct radius_msg
      - name: '*last_from_addr'
        type: char
      - name: last_from_port
        type: int
      - name: last_from
        type: struct sockaddr_storage
      - name: last_fromlen
        type: socklen_t
      - name: last_identifier
        type: u8
      - name: '*last_reply'
        type: struct radius_msg
      - name: last_authenticator[16]
        type: u8
      - name: macacl
        type: unsigned int
      - name: t_c_filtering
        type: unsigned int
      - name: '*accept_attr'
        type: struct hostapd_radius_attr
      - name: t_c_timestamp
        type: u32
      item_type: struct
      name: radius_session
      pos:
        line_end: 94
        line_start: 68
        source_file: /src/hostap/src/radius/radius_server.c
    - fields:
      - name: '*next'
        type: struct radius_client
      - name: addr
        type: struct in_addr
      - name: mask
        type: struct in_addr
      - name: '*shared_secret'
        type: char
      - name: shared_secret_len
        type: int
      - name: '*sessions'
        type: struct radius_session
      - name: counters
        type: struct radius_server_counters
      - name: next_dac_identifier
        type: u8
      - name: '*pending_dac_coa_req'
        type: struct radius_msg
      - name: pending_dac_coa_id
        type: u8
      - name: pending_dac_coa_addr[ETH_ALEN]
        type: u8
      - name: '*pending_dac_disconnect_req'
        type: struct radius_msg
      - name: pending_dac_disconnect_id
        type: u8
      - name: pending_dac_disconnect_addr[ETH_ALEN]
        type: u8
      item_type: struct
      name: radius_client
      pos:
        line_end: 119
        line_start: 99
        source_file: /src/hostap/src/radius/radius_server.c
    - fields:
      - name: auth_sock
        type: int
      - name: acct_sock
        type: int
      - name: '*clients'
        type: struct radius_client
      - name: next_sess_id
        type: unsigned int
      - name: '*conf_ctx'
        type: void
      - name: num_sess
        type: int
      - name: '*erp_domain'
        type: char
      - name: erp_keys
        type: struct dl_list
      - name: ipv6
        type: int
      - name: start_time
        type: struct os_reltime
      - name: counters
        type: struct radius_server_counters
      - name: "(*get_eap_user)(void *ctx, const u8 *identity, size_t identity_len,\n\t\t\t
          \   int phase2, struct eap_user *user)"
        type: int
      - name: (*acct_req_cb)(void *ctx, struct radius_msg *msg, u32 status_type)
        type: int
      - name: '*eap_req_id_text'
        type: char
      - name: eap_req_id_text_len
        type: size_t
      - name: '*t_c_server_url'
        type: char
      - name: '*eap_cfg'
        type: struct eap_config
      item_type: struct
      name: radius_server_data
      pos:
        line_end: 245
        line_start: 124
        source_file: /src/hostap/src/radius/radius_server.c
    - fields:
      - name: '*identity'
        type: char
      - name: '*nas'
        type: char
      - name: hs20_t_c_filtering
        type: int
      - name: waiting_coa_ack
        type: int
      - name: coa_ack_received
        type: int
      item_type: struct
      name: db_session_fields
      pos:
        line_end: 2470
        line_start: 2464
        source_file: /src/hostap/src/radius/radius_server.c
    typedefs: []
    union:
    - fields:
      - name: ss
        type: struct sockaddr_storage
      - name: sin
        type: struct sockaddr_in
      item_type: union
      name: from
      pos:
        line_end: 1485
        line_start: 1479
        source_file: /src/hostap/src/radius/radius_server.c
    - fields:
      - name: ss
        type: struct sockaddr_storage
      - name: sin
        type: struct sockaddr_in
      item_type: union
      name: from
      pos:
        line_end: 1615
        line_start: 1609
        source_file: /src/hostap/src/radius/radius_server.c
- function_names: []
  source_file: /src/hostap/src/radius/radius_server.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: auth_port
        type: int
      - name: acct_port
        type: int
      - name: '*client_file'
        type: char
      - name: '*sqlite_file'
        type: char
      - name: '*conf_ctx'
        type: void
      - name: '*erp_domain'
        type: char
      - name: ipv6
        type: int
      - name: "(*get_eap_user)(void *ctx, const u8 *identity, size_t identity_len,\n\t\t\t
          \   int phase2, struct eap_user *user)"
        type: int
      - name: (*acct_req_cb)(void *ctx, struct radius_msg *msg, u32 status_type)
        type: int
      - name: '*eap_req_id_text'
        type: char
      - name: eap_req_id_text_len
        type: size_t
      - name: '*t_c_server_url'
        type: char
      - name: '*eap_cfg'
        type: struct eap_config
      item_type: struct
      name: radius_server_conf
      pos:
        line_end: 124
        line_start: 18
        source_file: /src/hostap/src/radius/radius_server.h
    typedefs: []
    union: []
- function_names:
  - radius_msg_get_hdr
  - radius_msg_get_buf
  - radius_get_attr_hdr
  - radius_msg_set_hdr
  - radius_msg_initialize
  - radius_msg_new
  - radius_msg_free
  - radius_code_string
  - radius_get_attr_type
  - radius_is_long_ext_type
  - radius_is_ext_type
  - radius_msg_dump_attr
  - radius_msg_dump
  - radius_msg_add_msg_auth
  - radius_msg_auth_pos
  - radius_msg_finish
  - radius_msg_finish_srv
  - radius_msg_finish_das_resp
  - radius_msg_finish_acct
  - radius_msg_finish_acct_resp
  - radius_msg_verify_acct_req
  - radius_msg_verify_das_req
  - radius_msg_add_attr_to_array
  - radius_msg_add_attr
  - radius_msg_parse
  - radius_msg_add_eap
  - radius_msg_get_eap
  - radius_msg_verify_msg_auth
  - radius_msg_verify
  - radius_msg_copy_attr
  - radius_msg_make_authenticator
  - radius_msg_get_vendor_attr
  - decrypt_ms_key
  - encrypt_ms_key
  - radius_msg_get_ms_keys
  - radius_msg_get_cisco_keys
  - radius_msg_add_mppe_keys
  - radius_msg_add_wfa
  - radius_msg_add_ext_vs
  - radius_user_password_hide
  - radius_msg_add_attr_user_password
  - radius_msg_get_attr
  - radius_msg_get_attr_ptr
  - radius_msg_count_attr
  - cmp_int
  - radius_msg_get_vlanid
  - radius_msg_get_tunnel_password
  - radius_free_class
  - radius_copy_class
  - radius_msg_find_unlisted_attr
  - radius_gen_session_id
  source_file: /src/hostap/src/radius/radius.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RADIUS_ATTRS
      pos:
        line_end: 286
        line_start: 285
        source_file: /src/hostap/src/radius/radius.c
      type_or_value: ARRAY_SIZE(radius_attrs)
    structs:
    - fields:
      - name: '*buf'
        type: struct wpabuf
      - name: '*hdr'
        type: struct radius_hdr
      - name: '*attr_pos'
        type: size_t
      - name: attr_size
        type: size_t
      - name: attr_used
        type: size_t
      item_type: struct
      name: radius_msg
      pos:
        line_end: 48
        line_start: 20
        source_file: /src/hostap/src/radius/radius.c
    - fields:
      - name: type
        type: u16
      - name: '*name'
        type: char
      - name: data_type
        type: "enum {\n\t\tRADIUS_ATTR_UNDIST, RADIUS_ATTR_TEXT, RADIUS_ATTR_IP,\n\t\tRADIUS_ATTR_HEXDUMP,
          RADIUS_ATTR_INT32, RADIUS_ATTR_IPV6\n\t}"
      item_type: struct
      name: radius_attr_type
      pos:
        line_end: 168
        line_start: 160
        source_file: /src/hostap/src/radius/radius.c
    - fields:
      - name: tag_used
        type: int
      - name: type
        type: int
      - name: medium_type
        type: int
      - name: vlanid
        type: int
      item_type: struct
      name: radius_tunnel_attrs
      pos:
        line_end: 1651
        line_start: 1646
        source_file: /src/hostap/src/radius/radius.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/hostap/src/radius/radius_das.h
  types:
    enum:
    - enumerators:
      - name: RADIUS_DAS_SUCCESS
      - name: RADIUS_DAS_NAS_MISMATCH
      - name: RADIUS_DAS_SESSION_NOT_FOUND
      - name: RADIUS_DAS_MULTI_SESSION_MATCH
      - name: RADIUS_DAS_COA_FAILED
      item_type: enum
      name: radius_das_res
      pos:
        line_end: 19
        line_start: 13
        source_file: /src/hostap/src/radius/radius_das.h
    preproc_defs: []
    structs:
    - fields:
      - name: '*nas_ip_addr'
        type: u8
      - name: '*nas_identifier'
        type: u8
      - name: nas_identifier_len
        type: size_t
      - name: '*nas_ipv6_addr'
        type: u8
      - name: '*sta_addr'
        type: u8
      - name: '*user_name'
        type: u8
      - name: user_name_len
        type: size_t
      - name: '*acct_session_id'
        type: u8
      - name: acct_session_id_len
        type: size_t
      - name: '*acct_multi_session_id'
        type: u8
      - name: acct_multi_session_id_len
        type: size_t
      - name: '*cui'
        type: u8
      - name: cui_len
        type: size_t
      - name: '*hs20_t_c_filtering'
        type: u8
      item_type: struct
      name: radius_das_attrs
      pos:
        line_end: 41
        line_start: 21
        source_file: /src/hostap/src/radius/radius_das.h
    - fields:
      - name: port
        type: int
      - name: '*shared_secret'
        type: u8
      - name: shared_secret_len
        type: size_t
      - name: '*client_addr'
        type: struct hostapd_ip_addr
      - name: time_window
        type: unsigned int
      - name: require_event_timestamp
        type: int
      - name: require_message_authenticator
        type: int
      - name: '*ctx'
        type: void
      - name: "(*disconnect)(void *ctx,\n\t\t\t\t\t  struct radius_das_attrs *attr)"
        type: enum radius_das_res
      - name: (*coa)(void *ctx, struct radius_das_attrs *attr)
        type: enum radius_das_res
      item_type: struct
      name: radius_das_conf
      pos:
        line_end: 55
        line_start: 43
        source_file: /src/hostap/src/radius/radius_das.h
    typedefs: []
    union: []
- function_names:
  - radius_msg_add_attr_int32
  - radius_msg_get_attr_int32
  source_file: /src/hostap/src/radius/radius.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RADIUS_MAX_ATTR_LEN
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/hostap/src/radius/radius.h
      type_or_value: (255 - sizeof(struct radius_attr_hdr))
    - item_type: preproc_def
      name: RADIUS_MAX_EXT_ATTR_LEN
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/hostap/src/radius/radius.h
      type_or_value: (255 - sizeof(struct radius_attr_hdr_ext))
    - item_type: preproc_def
      name: RADIUS_SERVICE_TYPE_FRAMED
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/hostap/src/radius/radius.h
      type_or_value: '2'
    - item_type: preproc_def
      name: RADIUS_TERMINATION_ACTION_DEFAULT
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/hostap/src/radius/radius.h
      type_or_value: '0'
    - item_type: preproc_def
      name: RADIUS_TERMINATION_ACTION_RADIUS_REQUEST
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/hostap/src/radius/radius.h
      type_or_value: '1'
    - item_type: preproc_def
      name: RADIUS_NAS_PORT_TYPE_IEEE_802_11
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/hostap/src/radius/radius.h
      type_or_value: '19'
    - item_type: preproc_def
      name: RADIUS_ACCT_STATUS_TYPE_START
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/hostap/src/radius/radius.h
      type_or_value: '1'
    - item_type: preproc_def
      name: RADIUS_ACCT_STATUS_TYPE_STOP
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/hostap/src/radius/radius.h
      type_or_value: '2'
    - item_type: preproc_def
      name: RADIUS_ACCT_STATUS_TYPE_INTERIM_UPDATE
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/hostap/src/radius/radius.h
      type_or_value: '3'
    - item_type: preproc_def
      name: RADIUS_ACCT_STATUS_TYPE_ACCOUNTING_ON
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/hostap/src/radius/radius.h
      type_or_value: '7'
    - item_type: preproc_def
      name: RADIUS_ACCT_STATUS_TYPE_ACCOUNTING_OFF
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/hostap/src/radius/radius.h
      type_or_value: '8'
    - item_type: preproc_def
      name: RADIUS_ACCT_AUTHENTIC_RADIUS
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/hostap/src/radius/radius.h
      type_or_value: '1'
    - item_type: preproc_def
      name: RADIUS_ACCT_AUTHENTIC_LOCAL
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/hostap/src/radius/radius.h
      type_or_value: '2'
    - item_type: preproc_def
      name: RADIUS_ACCT_AUTHENTIC_REMOTE
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/hostap/src/radius/radius.h
      type_or_value: '3'
    - item_type: preproc_def
      name: RADIUS_ACCT_TERMINATE_CAUSE_USER_REQUEST
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/hostap/src/radius/radius.h
      type_or_value: '1'
    - item_type: preproc_def
      name: RADIUS_ACCT_TERMINATE_CAUSE_LOST_CARRIER
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/hostap/src/radius/radius.h
      type_or_value: '2'
    - item_type: preproc_def
      name: RADIUS_ACCT_TERMINATE_CAUSE_LOST_SERVICE
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/hostap/src/radius/radius.h
      type_or_value: '3'
    - item_type: preproc_def
      name: RADIUS_ACCT_TERMINATE_CAUSE_IDLE_TIMEOUT
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/hostap/src/radius/radius.h
      type_or_value: '4'
    - item_type: preproc_def
      name: RADIUS_ACCT_TERMINATE_CAUSE_SESSION_TIMEOUT
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/hostap/src/radius/radius.h
      type_or_value: '5'
    - item_type: preproc_def
      name: RADIUS_ACCT_TERMINATE_CAUSE_ADMIN_RESET
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/hostap/src/radius/radius.h
      type_or_value: '6'
    - item_type: preproc_def
      name: RADIUS_ACCT_TERMINATE_CAUSE_ADMIN_REBOOT
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/hostap/src/radius/radius.h
      type_or_value: '7'
    - item_type: preproc_def
      name: RADIUS_ACCT_TERMINATE_CAUSE_PORT_ERROR
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/hostap/src/radius/radius.h
      type_or_value: '8'
    - item_type: preproc_def
      name: RADIUS_ACCT_TERMINATE_CAUSE_NAS_ERROR
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/hostap/src/radius/radius.h
      type_or_value: '9'
    - item_type: preproc_def
      name: RADIUS_ACCT_TERMINATE_CAUSE_NAS_REQUEST
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/hostap/src/radius/radius.h
      type_or_value: '10'
    - item_type: preproc_def
      name: RADIUS_ACCT_TERMINATE_CAUSE_NAS_REBOOT
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/hostap/src/radius/radius.h
      type_or_value: '11'
    - item_type: preproc_def
      name: RADIUS_ACCT_TERMINATE_CAUSE_PORT_UNNEEDED
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/hostap/src/radius/radius.h
      type_or_value: '12'
    - item_type: preproc_def
      name: RADIUS_ACCT_TERMINATE_CAUSE_PORT_PREEMPTED
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/hostap/src/radius/radius.h
      type_or_value: '13'
    - item_type: preproc_def
      name: RADIUS_ACCT_TERMINATE_CAUSE_PORT_SUSPENDED
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/hostap/src/radius/radius.h
      type_or_value: '14'
    - item_type: preproc_def
      name: RADIUS_ACCT_TERMINATE_CAUSE_SERVICE_UNAVAILABLE
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/hostap/src/radius/radius.h
      type_or_value: '15'
    - item_type: preproc_def
      name: RADIUS_ACCT_TERMINATE_CAUSE_CALLBACK
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/hostap/src/radius/radius.h
      type_or_value: '16'
    - item_type: preproc_def
      name: RADIUS_ACCT_TERMINATE_CAUSE_USER_ERROR
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/hostap/src/radius/radius.h
      type_or_value: '17'
    - item_type: preproc_def
      name: RADIUS_ACCT_TERMINATE_CAUSE_HOST_REQUEST
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/hostap/src/radius/radius.h
      type_or_value: '18'
    - item_type: preproc_def
      name: RADIUS_TUNNEL_TAGS
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/hostap/src/radius/radius.h
      type_or_value: '32'
    - item_type: preproc_def
      name: RADIUS_TUNNEL_TYPE_PPTP
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/hostap/src/radius/radius.h
      type_or_value: '1'
    - item_type: preproc_def
      name: RADIUS_TUNNEL_TYPE_L2TP
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/hostap/src/radius/radius.h
      type_or_value: '3'
    - item_type: preproc_def
      name: RADIUS_TUNNEL_TYPE_IPIP
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/hostap/src/radius/radius.h
      type_or_value: '7'
    - item_type: preproc_def
      name: RADIUS_TUNNEL_TYPE_GRE
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/hostap/src/radius/radius.h
      type_or_value: '10'
    - item_type: preproc_def
      name: RADIUS_TUNNEL_TYPE_VLAN
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/hostap/src/radius/radius.h
      type_or_value: '13'
    - item_type: preproc_def
      name: RADIUS_TUNNEL_MEDIUM_TYPE_IPV4
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/hostap/src/radius/radius.h
      type_or_value: '1'
    - item_type: preproc_def
      name: RADIUS_TUNNEL_MEDIUM_TYPE_IPV6
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/hostap/src/radius/radius.h
      type_or_value: '2'
    - item_type: preproc_def
      name: RADIUS_TUNNEL_MEDIUM_TYPE_802
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/hostap/src/radius/radius.h
      type_or_value: '6'
    - item_type: preproc_def
      name: RADIUS_VENDOR_ID_CISCO
      pos:
        line_end: 202
        line_start: 201
        source_file: /src/hostap/src/radius/radius.h
      type_or_value: '9'
    - item_type: preproc_def
      name: RADIUS_CISCO_AV_PAIR
      pos:
        line_end: 203
        line_start: 202
        source_file: /src/hostap/src/radius/radius.h
      type_or_value: '1'
    - item_type: preproc_def
      name: RADIUS_VENDOR_ID_MICROSOFT
      pos:
        line_end: 206
        line_start: 205
        source_file: /src/hostap/src/radius/radius.h
      type_or_value: '311'
    - item_type: preproc_def
      name: RADIUS_VENDOR_ID_FREERADIUS
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/hostap/src/radius/radius.h
      type_or_value: '11344'
    - item_type: preproc_def
      name: RADIUS_VENDOR_ID_WFA
      pos:
        line_end: 221
        line_start: 220
        source_file: /src/hostap/src/radius/radius.h
      type_or_value: '40808'
    - item_type: preproc_def
      name: RADIUS_DEFAULT_MSG_SIZE
      pos:
        line_end: 250
        line_start: 249
        source_file: /src/hostap/src/radius/radius.h
      type_or_value: '1024'
    - item_type: preproc_def
      name: RADIUS_DEFAULT_ATTR_COUNT
      pos:
        line_end: 253
        line_start: 252
        source_file: /src/hostap/src/radius/radius.h
      type_or_value: '16'
    - item_type: preproc_def
      name: RADIUS_MAX_MSG_LEN
      pos:
        line_end: 257
        line_start: 256
        source_file: /src/hostap/src/radius/radius.h
      type_or_value: '4096'
    - item_type: preproc_def
      name: RADIUS_802_1X_ADDR_FORMAT
      pos:
        line_end: 261
        line_start: 260
        source_file: /src/hostap/src/radius/radius.h
      type_or_value: '"%02X-%02X-%02X-%02X-%02X-%02X"'
    - item_type: preproc_def
      name: RADIUS_ADDR_FORMAT
      pos:
        line_end: 263
        line_start: 262
        source_file: /src/hostap/src/radius/radius.h
      type_or_value: '"%02x%02x%02x%02x%02x%02x"'
    structs:
    - fields:
      - name: code
        type: u8
      - name: identifier
        type: u8
      - name: length
        type: be16
      - name: authenticator[16]
        type: u8
      item_type: struct
      name: radius_hdr
      pos:
        line_end: 23
        line_start: 17
        source_file: /src/hostap/src/radius/radius.h
    - fields:
      - name: type
        type: u8
      - name: length
        type: u8
      item_type: struct
      name: radius_attr_hdr
      pos:
        line_end: 46
        line_start: 42
        source_file: /src/hostap/src/radius/radius.h
    - fields:
      - name: type
        type: u8
      - name: length
        type: u8
      - name: ext_type
        type: u8
      item_type: struct
      name: radius_attr_hdr_ext
      pos:
        line_end: 53
        line_start: 48
        source_file: /src/hostap/src/radius/radius.h
    - fields:
      - name: vendor_type
        type: u8
      - name: vendor_length
        type: u8
      item_type: struct
      name: radius_attr_vendor
      pos:
        line_end: 199
        line_start: 196
        source_file: /src/hostap/src/radius/radius.h
    - fields:
      - name: '*send'
        type: u8
      - name: send_len
        type: size_t
      - name: '*recv'
        type: u8
      - name: recv_len
        type: size_t
      item_type: struct
      name: radius_ms_mppe_keys
      pos:
        line_end: 243
        line_start: 238
        source_file: /src/hostap/src/radius/radius.h
    - fields:
      - name: '*data'
        type: u8
      - name: len
        type: size_t
      item_type: struct
      name: radius_attr_data
      pos:
        line_end: 357
        line_start: 354
        source_file: /src/hostap/src/radius/radius.h
    - fields:
      - name: '*attr'
        type: struct radius_attr_data
      - name: count
        type: size_t
      item_type: struct
      name: radius_class_data
      pos:
        line_end: 362
        line_start: 359
        source_file: /src/hostap/src/radius/radius.h
    typedefs: []
    union: []
- function_names:
  - radius_das_disconnect
  - radius_das_coa
  - radius_das_receive
  - radius_das_open_socket
  - radius_das_init
  - radius_das_deinit
  source_file: /src/hostap/src/radius/radius_das.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: sock
        type: int
      - name: '*shared_secret'
        type: u8
      - name: shared_secret_len
        type: size_t
      - name: client_addr
        type: struct hostapd_ip_addr
      - name: time_window
        type: unsigned int
      - name: require_event_timestamp
        type: int
      - name: require_message_authenticator
        type: int
      - name: '*ctx'
        type: void
      - name: "(*disconnect)(void *ctx,\n\t\t\t\t\t  struct radius_das_attrs *attr)"
        type: enum radius_das_res
      - name: (*coa)(void *ctx, struct radius_das_attrs *attr)
        type: enum radius_das_res
      item_type: struct
      name: radius_das_data
      pos:
        line_end: 30
        line_start: 18
        source_file: /src/hostap/src/radius/radius_das.c
    typedefs: []
    union:
    - fields:
      - name: ss
        type: struct sockaddr_storage
      - name: sin
        type: struct sockaddr_in
      item_type: union
      name: from
      pos:
        line_end: 400
        line_start: 394
        source_file: /src/hostap/src/radius/radius_das.c
- function_names: []
  source_file: /src/hostap/src/radius/radius_client.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: addr
        type: struct hostapd_ip_addr
      - name: port
        type: int
      - name: tls
        type: bool
      - name: '*shared_secret'
        type: u8
      - name: shared_secret_len
        type: size_t
      - name: '*ca_cert'
        type: char
      - name: '*client_cert'
        type: char
      - name: '*private_key'
        type: char
      - name: '*private_key_passwd'
        type: char
      - name: index
        type: int
      - name: round_trip_time
        type: int
      - name: requests
        type: u32
      - name: retransmissions
        type: u32
      - name: access_accepts
        type: u32
      - name: access_rejects
        type: u32
      - name: access_challenges
        type: u32
      - name: responses
        type: u32
      - name: malformed_responses
        type: u32
      - name: bad_authenticators
        type: u32
      - name: timeouts
        type: u32
      - name: unknown_types
        type: u32
      - name: packets_dropped
        type: u32
      item_type: struct
      name: hostapd_radius_server
      pos:
        line_end: 139
        line_start: 26
        source_file: /src/hostap/src/radius/radius_client.h
    - fields:
      - name: '*auth_servers'
        type: struct hostapd_radius_server
      - name: num_auth_servers
        type: int
      - name: '*auth_server'
        type: struct hostapd_radius_server
      - name: '*acct_servers'
        type: struct hostapd_radius_server
      - name: num_acct_servers
        type: int
      - name: '*acct_server'
        type: struct hostapd_radius_server
      - name: retry_primary_interval
        type: int
      - name: msg_dumps
        type: int
      - name: client_addr
        type: struct hostapd_ip_addr
      - name: force_client_addr
        type: int
      - name: '*force_client_dev'
        type: char
      item_type: struct
      name: hostapd_radius_servers
      pos:
        line_end: 206
        line_start: 144
        source_file: /src/hostap/src/radius/radius_client.h
    typedefs: []
    union: []
- function_names:
  - radius_client_msg_free
  - radius_client_register
  - radius_client_set_interim_error_cb
  - radius_client_handle_send_error
  - radius_client_retransmit
  - radius_client_timer
  - radius_client_auth_failover
  - radius_client_acct_failover
  - radius_client_update_timeout
  - radius_client_list_add
  - radius_client_disable_pmtu_discovery
  - radius_close_auth_socket
  - radius_close_acct_socket
  - radius_client_send
  - radius_client_close_tcp
  - radius_client_process_tls_handshake
  - radius_client_receive
  - radius_client_write_ready
  - radius_client_get_id
  - radius_client_flush
  - radius_client_update_acct_msgs
  - radius_change_server
  - radius_retry_primary_timer
  - radius_client_init_auth
  - radius_client_init_acct
  - radius_tls_event_cb
  - radius_client_init
  - radius_client_deinit
  - radius_client_flush_auth
  - radius_client_dump_auth_server
  - radius_client_dump_acct_server
  - radius_client_get_mib
  - radius_client_reconfig
  source_file: /src/hostap/src/radius/radius_client.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RADIUS_CLIENT_FIRST_WAIT
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/hostap/src/radius/radius_client.c
      type_or_value: '3'
    - item_type: preproc_def
      name: RADIUS_CLIENT_MAX_WAIT
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/hostap/src/radius/radius_client.c
      type_or_value: '120'
    - item_type: preproc_def
      name: RADIUS_CLIENT_MAX_FAILOVER
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/hostap/src/radius/radius_client.c
      type_or_value: '3'
    - item_type: preproc_def
      name: RADIUS_CLIENT_MAX_ENTRIES
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/hostap/src/radius/radius_client.c
      type_or_value: '30'
    - item_type: preproc_def
      name: RADIUS_CLIENT_NUM_FAILOVER
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/hostap/src/radius/radius_client.c
      type_or_value: '4'
    structs:
    - fields:
      - name: "(*handler)(struct radius_msg *msg,\n\t\t\t\t  struct radius_msg *req,\n\t\t\t\t
          \ const u8 *shared_secret,\n\t\t\t\t  size_t shared_secret_len,\n\t\t\t\t
          \ void *data)"
        type: RadiusRxResult
      - name: '*data'
        type: void
      item_type: struct
      name: radius_rx_handler
      pos:
        line_end: 77
        line_start: 63
        source_file: /src/hostap/src/radius/radius_client.c
    - fields:
      - name: addr[ETH_ALEN]
        type: u8
      - name: '*msg'
        type: struct radius_msg
      - name: msg_type
        type: RadiusType
      - name: first_try
        type: os_time_t
      - name: next_try
        type: os_time_t
      - name: attempts
        type: int
      - name: accu_attempts
        type: int
      - name: next_wait
        type: int
      - name: last_attempt
        type: struct os_reltime
      - name: '*shared_secret'
        type: u8
      - name: shared_secret_len
        type: size_t
      - name: '*next'
        type: struct radius_msg_list
      item_type: struct
      name: radius_msg_list
      pos:
        line_end: 150
        line_start: 86
        source_file: /src/hostap/src/radius/radius_client.c
    - fields:
      - name: '*ctx'
        type: void
      - name: '*conf'
        type: struct hostapd_radius_servers
      - name: auth_sock
        type: int
      - name: auth_tls
        type: bool
      - name: auth_tls_ready
        type: bool
      - name: acct_sock
        type: int
      - name: acct_tls
        type: bool
      - name: acct_tls_ready
        type: bool
      - name: '*auth_handlers'
        type: struct radius_rx_handler
      - name: num_auth_handlers
        type: size_t
      - name: '*acct_handlers'
        type: struct radius_rx_handler
      - name: num_acct_handlers
        type: size_t
      - name: '*msgs'
        type: struct radius_msg_list
      - name: num_msgs
        type: size_t
      - name: next_radius_identifier
        type: u8
      - name: (*interim_error_cb)(const u8 *addr, void *ctx)
        type: void
      - name: '*interim_error_cb_ctx'
        type: void
      item_type: struct
      name: radius_client_data
      pos:
        line_end: 252
        line_start: 161
        source_file: /src/hostap/src/radius/radius_client.c
    typedefs: []
    union: []
- function_names:
  - afcd_curl_cb_write
  - afcd_send_request
  - handle_term
  - usage
  - afcd_server_run
  - main
  source_file: /src/hostap/afc/afcd.c
  types:
    enum:
    - enumerators:
      - name: AFCD_TLS12
        value: '0'
      - name: AFCD_TLS12_MTLS
      - name: AFCD_TLS13_MTLS
      - name: AFCD_TLS13
      item_type: enum
      name: afcd_tls_mode
      pos:
        line_end: 35
        line_start: 30
        source_file: /src/hostap/afc/afcd.c
    preproc_defs:
    - item_type: preproc_def
      name: CURL_TIMEOUT
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/hostap/afc/afcd.c
      type_or_value: '60'
    - item_type: preproc_def
      name: AFCD_SOCK
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/hostap/afc/afcd.c
      type_or_value: '"afcd.sock"'
    - item_type: preproc_def
      name: BUFSIZE
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/hostap/afc/afcd.c
      type_or_value: '8192'
    structs:
    - fields:
      - name: '*buf'
        type: char
      - name: buf_len
        type: size_t
      item_type: struct
      name: curl_ctx
      pos:
        line_end: 21
        line_start: 18
        source_file: /src/hostap/afc/afcd.c
    typedefs: []
    union: []
- function_names:
  - peer_get_config
  - peer_get_bool
  - peer_set_bool
  - peer_get_int
  - peer_set_int
  - peer_get_eapReqData
  - peer_set_config_blob
  - peer_get_config_blob
  - peer_notify_pending
  - eap_peer_register_methods
  - eap_example_peer_init
  - eap_example_peer_deinit
  - eap_example_peer_step
  - eap_example_peer_rx
  source_file: /src/hostap/eap_example/eap_example_peer.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: eapSuccess
        type: bool
      - name: eapRestart
        type: bool
      - name: eapFail
        type: bool
      - name: eapResp
        type: bool
      - name: eapNoResp
        type: bool
      - name: eapReq
        type: bool
      - name: portEnabled
        type: bool
      - name: altAccept
        type: bool
      - name: altReject
        type: bool
      - name: eapTriggerStart
        type: bool
      - name: '*eapReqData'
        type: struct wpabuf
      - name: idleWhile
        type: unsigned int
      - name: eap_config
        type: struct eap_peer_config
      - name: '*eap'
        type: struct eap_sm
      item_type: struct
      name: eap_peer_ctx
      pos:
        line_end: 37
        line_start: 19
        source_file: /src/hostap/eap_example/eap_example_peer.c
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/hostap/eap_example/eap_example.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - server_get_eap_user
  - server_get_eap_req_id_text
  - eap_example_server_init_tls
  - eap_server_register_methods
  - eap_example_server_init
  - eap_example_server_deinit
  - eap_example_server_step
  - eap_example_server_rx
  source_file: /src/hostap/eap_example/eap_example_server.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*eap_if'
        type: struct eap_eapol_interface
      - name: '*eap'
        type: struct eap_sm
      - name: '*tls_ctx'
        type: void
      item_type: struct
      name: eap_server_ctx
      pos:
        line_end: 23
        line_start: 19
        source_file: /src/hostap/eap_example/eap_example_server.c
    typedefs: []
    union: []
- function_names:
  - hostapd_logger_cb
  - receive_auth
  - start_example
  - main
  source_file: /src/hostap/radius_example/radius_example.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*radius'
        type: struct radius_client_data
      - name: conf
        type: struct hostapd_radius_servers
      - name: radius_identifier
        type: u8
      - name: own_ip_addr
        type: struct in_addr
      item_type: struct
      name: radius_ctx
      pos:
        line_end: 20
        line_start: 15
        source_file: /src/hostap/radius_example/radius_example.c
    typedefs: []
    union: []
